commit 167b49ea0098932405d1a940c216c7819dfa24b5 Author: 严争鸣 Date: Mon Dec 9 14:44:52 2024 +0800 feat:1 diff --git a/ prettier.config.js b/ prettier.config.js new file mode 100644 index 000000000..d0855993b --- /dev/null +++ b/ prettier.config.js @@ -0,0 +1,5 @@ +// prettier.config.js +module.exports = { + plugins: [require('prettier-plugin-tailwindcss')], + tailwindConfig: './tailwind.config.js', +} \ No newline at end of file diff --git a/.env.development b/.env.development new file mode 100644 index 000000000..5b7ececed --- /dev/null +++ b/.env.development @@ -0,0 +1,6 @@ + +# base api +VITE_APP_BASE_API = '/api' + +# test base api +VITE_APP_BASE_API_TEST = '/api-test' \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 000000000..ceb44dfdc --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,240 @@ +/* eslint-env node */ +require("@rushstack/eslint-patch/modern-module-resolution"); + +module.exports = { + root: true, + extends: [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/eslint-config-typescript", + "@vue/eslint-config-prettier", + "plugin:prettier/recommended", + ], + parserOptions: { + ecmaVersion: "latest", + }, + rules: { + // 'prettier/prettier': 'warn', + "prettier/prettier": "warn", + /** vue相关 **/ + "vue/html-self-closing": 0, + // 单行允许有的attr数量 + "vue/max-attributes-per-line": [ + 1, + { + singleline: 10, + multiline: 3 + }, + ], + // 关闭子组件必须换行 + "vue/singleline-html-element-content-newline": "off", + "vue/multiline-html-element-content-newline": "off", + "vue/component-name-in-template-casing": [ + 2, + "kebab-case", + { + registeredComponentsOnly: false, + ignores: [], + }, + ], + // 组件名称强制为Pascal case + "vue/name-property-casing": [2, "PascalCase"], + // 对于v-html指令,开启警告 + "vue/no-v-html": 1, + "vue/attributes-order": 0, + "vue/mustache-interpolation-spacing": 0, + "vue/no-unused-components": 1, + /** 变量申明相关 **/ + // 变量申明要求使用 let 或 const 而不是 var + "no-var": 2, + // 不允许在块中function、var的申明 + "no-inner-declarations": [2, "both"], + // 变量不强制为camelcase + camelcase: 0, + // 构造函数首字母必须大写 + "new-cap": [ + 2, + { + newIsCap: true, + capIsNew: false, + }, + ], + // 尽量不要出现变量及函数参数定义了不使用的情况 + "no-unused-vars": [ + 1, + { + vars: "all", + args: "none", + }, + ], + // 禁止在变量定义之前使用它们 + "no-use-before-define": 0, // 不检测该类型 + // 要求所有的 var 声明出现在它们所在的作用域顶部,同时应尽量不要使用var申明变量,用let, const代替 + "vars-on-top": 2, + "no-constant-condition": 1, + + /** 编码风格相关 **/ + // 不强制结尾分号,为保证代码风格一致性,建议统一不使用分号,但应注意不要混淆多行表达式 + semi: 0, + // 代码缩进为2个空格 + indent: [ + 1, + 2, + { + SwitchCase: 1, + }, + ], + // 箭头函数的箭头前后应该有空格 + "arrow-spacing": [ + 2, + { + before: true, + after: true, + }, + ], + // 花括号风格采用one true brace style + "brace-style": [ + 2, + "1tbs", + { + allowSingleLine: true, + }, + ], + // 禁止空格和 tab 的混合缩进 + "no-mixed-spaces-and-tabs": 2, + // 最大的连续空行限制为2行 + "no-multiple-empty-lines": [ + 2, + { + max: 2, + }, + ], + // 不强制在对象和数组字面量中使用一致的拖尾逗号,但所有的风格应尽量保持统一 + "comma-dangle": 0, + // 逗号后需要跟空格 + "comma-spacing": [ + 2, + { + before: false, + after: true, + }, + ], + // 允许在字符串和注释以外用一些不规则的空格,但是整体风格应尽量保持统一 + "no-irregular-whitespace": 0, + // 逗号应该在语句后面 + "comma-style": [2, "last"], + // 强制所有控制语句花括号不能省略 + curly: [2, "all"], + // 要求 switch 语句中必须有 default 分支,或者有 // no default 注释 + "default-case": 2, + // 禁止switch的case语句不break、return等结尾,若有意为之,请添加 // no break 类似注释语句 + "no-fallthrough": [ + 2, + { + commentPattern: "no[\\s\\w]*break", + }, + ], + // 不允许使用带标签的break,continue等语句 + "no-labels": 2, + // 换行符应该在成员表达式中的点之前 + "dot-location": [2, "property"], + // 对象属性访问不强制使用点操作符,如 foo["bar"] + "dot-notation": 0, + // 除null外,对比时强制要求使用 === 和 !== + eqeqeq: [ + 1, + "always", + { + null: "ignore", + }, + ], + // 禁止在函数标识符和其调用之间有空格 + "func-call-spacing": [2, "never"], + // JSX 属性值强制使用双引号 + "jsx-quotes": [2, "prefer-double"], + // 对象字面量属性冒号前不能有空格,冒号后必须跟空格 + "key-spacing": [ + 2, + { + beforeColon: false, + afterColon: true, + }, + ], + // if else for 等关键字前后必须跟空格 + "keyword-spacing": [ + 2, + { + before: true, + after: true, + }, + ], + // 强制 getter 和 setter 在对象中成对出现 + "accessor-pairs": 2, + // 不应该使用构造函数来构造新Array数组 + "no-array-constructor": 2, + // 尽量不要使用arguments.caller和arguments.callee + "no-caller": 1, + // 不得对变量使用delete + "no-delete-var": 2, + // 禁止重复模块导入 + "no-duplicate-imports": 2, + // 出现空函数告警,如果确实需要,函数体中可以加上注释 + "no-empty-function": 1, + // 禁止使用空解构模式,如 const {a: {}} = foo; + "no-empty-pattern": 2, + // 禁止使用 eval() + "no-eval": 2, + // 禁止使用类似 eval() 的方法,如 setTimeout("alert('Hi!');", 100) + "no-implied-eval": 2, + // 禁止对 Function 对象使用 new 操作符,原因与eval相同 + "no-new-func": 2, + // 禁用 with 语句 + "no-with": 2, + // 允许强制转换变量为boolean类型,如 !!bar,但是很多情况没有必要 + "no-extra-boolean-cast": 0, + // 禁止数字字面量中使用前导和末尾小数点,如 .5, 2., -.7等 + "no-floating-decimal": 2, + // 禁止使用 __iterator__ 属性 + "no-iterator": 2, + // 不允许使用 new require表达式 + "no-new-require": 2, + // 禁止对 __dirname 和 __filename 进行字符串连接,应该用path.join等方法代替 + "no-path-concat": 2, + // 关闭禁止直接调用 Object.prototypes 的内置属性规则 + "no-prototype-builtins": 0, + // 不允许字符串文字中的八进制转义序列,如 "abc \234" + "no-octal-escape": 2, + // 不允许使用 __proto__ 属性,应该用Object.getPrototypeOf和Object.setPrototypeOf方法代替 + "no-proto": 2, + // 不允许在return语句中使用赋值运算符,如 return foo = bar + 2; + "no-return-assign": [2, "always"], + // 尽量不要在常规字符串中出现模板字面量占位符语法 + "no-template-curly-in-string": 1, + // 尽量不要在 return、throw、continue 和 break 语句后出现不可达代码 + "no-unreachable": 1, + // 尽量少地在对象中使用不必要的计算属性 + "no-useless-computed-key": 1, + // 尽量不要使用没有意义的构造函数,如空的构造函数 + "no-useless-constructor": 1, + // 尽量不要使用没必要的字符转义 + "no-useless-escape": 1, + // 如果对象的属性位于同一行上,则不允许围绕点或在开头括号之前留出空白 + "no-whitespace-before-property": 2, + // 使用 symbol 时必须有描述 + "symbol-description": 2, + // 不限制使用console,但是在生成环境应该尽量删除 + "no-console": 0, + // 不允许在生产环境的代码中有alert、confirm 和 prompt + "no-alert": process.env.NODE_ENV === "production" ? 2 : 0, + // 不允许在生产环境的代码中有debugger + "no-debugger": process.env.NODE_ENV === "production" ? 2 : 0, + + // 禁止解析闭合标签 x-invalid-end-tag 报错 + "no-parsing-error": [ + 2, + { + "x-invalid-end-tag": false, + }, + ], + }, +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..38adffa64 --- /dev/null +++ b/.gitignore @@ -0,0 +1,28 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 000000000..7e6d8fd0e --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,23 @@ +{ + "printWidth": 80, + "useTabs": false, + "tabWidth": 2, + "proseWrap": "preserve", + "endOfLine": "auto", + "semi": false, + "singleQuote": true, + "quoteProps": "as-needed", + "jsxSingleQuote": false, + "trailingComma": "es5", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "arrowParens": "avoid", + "overrides": [ + { + "files": "*.scss", + "options": { + "semi": true + } + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 000000000..c608d6845 --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +# TS可视化 + + + +## Getting started + +To make it easy for you to get started with GitLab, here's a list of recommended next steps. + +Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! + +## Add your files + +- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files +- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: + +``` +cd existing_repo +git remote add origin http://yhm.ink/ddtj/ts.git +git branch -M main +git push -uf origin main +``` + +## Integrate with your tools + +- [ ] [Set up project integrations](http://yhm.ink/ddtj/ts/-/settings/integrations) + +## Collaborate with your team + +- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) +- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) +- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) +- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) +- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) + +## Test and Deploy + +Use the built-in continuous integration in GitLab. + +- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) +- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) +- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) +- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) +- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) + +*** + +# Editing this README + +When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template. + +## Suggestions for a good README + +Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. + +## Name +Choose a self-explaining name for your project. + +## Description +Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. + +## Badges +On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. + +## Visuals +Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. + +## Installation +Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. + +## Usage +Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. + +## Support +Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. + +## Roadmap +If you have ideas for releases in the future, it is a good idea to list them in the README. + +## Contributing +State if you are open to contributions and what your requirements are for accepting them. + +For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. + +You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. + +## Authors and acknowledgment +Show your appreciation to those who have contributed to the project. + +## License +For open source projects, say how it is licensed. + +## Project status +If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. diff --git a/auto-imports.d.ts b/auto-imports.d.ts new file mode 100644 index 000000000..3ccf8c702 --- /dev/null +++ b/auto-imports.d.ts @@ -0,0 +1,60 @@ +// Generated by 'unplugin-auto-import' +export {} +declare global { + const EffectScope: typeof import('vue')['EffectScope'] + const computed: typeof import('vue')['computed'] + const createApp: typeof import('vue')['createApp'] + const customRef: typeof import('vue')['customRef'] + const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] + const defineComponent: typeof import('vue')['defineComponent'] + const effectScope: typeof import('vue')['effectScope'] + const getCurrentInstance: typeof import('vue')['getCurrentInstance'] + const getCurrentScope: typeof import('vue')['getCurrentScope'] + const h: typeof import('vue')['h'] + const inject: typeof import('vue')['inject'] + const isProxy: typeof import('vue')['isProxy'] + const isReactive: typeof import('vue')['isReactive'] + const isReadonly: typeof import('vue')['isReadonly'] + const isRef: typeof import('vue')['isRef'] + const markRaw: typeof import('vue')['markRaw'] + const nextTick: typeof import('vue')['nextTick'] + const onActivated: typeof import('vue')['onActivated'] + const onBeforeMount: typeof import('vue')['onBeforeMount'] + const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] + const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] + const onDeactivated: typeof import('vue')['onDeactivated'] + const onErrorCaptured: typeof import('vue')['onErrorCaptured'] + const onMounted: typeof import('vue')['onMounted'] + const onRenderTracked: typeof import('vue')['onRenderTracked'] + const onRenderTriggered: typeof import('vue')['onRenderTriggered'] + const onScopeDispose: typeof import('vue')['onScopeDispose'] + const onServerPrefetch: typeof import('vue')['onServerPrefetch'] + const onUnmounted: typeof import('vue')['onUnmounted'] + const onUpdated: typeof import('vue')['onUpdated'] + const provide: typeof import('vue')['provide'] + const reactive: typeof import('vue')['reactive'] + const readonly: typeof import('vue')['readonly'] + const ref: typeof import('vue')['ref'] + const resolveComponent: typeof import('vue')['resolveComponent'] + const resolveDirective: typeof import('vue')['resolveDirective'] + const shallowReactive: typeof import('vue')['shallowReactive'] + const shallowReadonly: typeof import('vue')['shallowReadonly'] + const shallowRef: typeof import('vue')['shallowRef'] + const toRaw: typeof import('vue')['toRaw'] + const toRef: typeof import('vue')['toRef'] + const toRefs: typeof import('vue')['toRefs'] + const triggerRef: typeof import('vue')['triggerRef'] + const unref: typeof import('vue')['unref'] + const useAttrs: typeof import('vue')['useAttrs'] + const useCssModule: typeof import('vue')['useCssModule'] + const useCssVars: typeof import('vue')['useCssVars'] + const useDialog: typeof import('naive-ui')['useDialog'] + const useLoadingBar: typeof import('naive-ui')['useLoadingBar'] + const useMessage: typeof import('naive-ui')['useMessage'] + const useNotification: typeof import('naive-ui')['useNotification'] + const useSlots: typeof import('vue')['useSlots'] + const watch: typeof import('vue')['watch'] + const watchEffect: typeof import('vue')['watchEffect'] + const watchPostEffect: typeof import('vue')['watchPostEffect'] + const watchSyncEffect: typeof import('vue')['watchSyncEffect'] +} diff --git a/components.d.ts b/components.d.ts new file mode 100644 index 000000000..7e5af8c4f --- /dev/null +++ b/components.d.ts @@ -0,0 +1,77 @@ +// generated by unplugin-vue-components +// We suggest you to commit this file into source control +// Read more: https://github.com/vuejs/core/pull/3399 +import '@vue/runtime-core' + +export {} + +declare module '@vue/runtime-core' { + export interface GlobalComponents { + AboutView: typeof import('./src/components/AboutView.vue')['default'] + Collapse: typeof import('./src/components/Collapse/index.vue')['default'] + copy: typeof import('./src/components/Message copy/index.vue')['default'] + HelloWorld: typeof import('./src/components/HelloWorld.vue')['default'] + HomeView: typeof import('./src/components/HomeView.vue')['default'] + IconCommunity: typeof import('./src/components/icons/IconCommunity.vue')['default'] + IconDocumentation: typeof import('./src/components/icons/IconDocumentation.vue')['default'] + IconEcosystem: typeof import('./src/components/icons/IconEcosystem.vue')['default'] + IconSupport: typeof import('./src/components/icons/IconSupport.vue')['default'] + IconTooling: typeof import('./src/components/icons/IconTooling.vue')['default'] + Index1: typeof import('./src/components/Panel/index1.vue')['default'] + Index2: typeof import('./src/components/Panel/index2.vue')['default'] + Index3: typeof import('./src/components/Panel/index3.vue')['default'] + List: typeof import('./src/components/List/index.vue')['default'] + Message: typeof import('./src/components/Message/index.vue')['default'] + Modal: typeof import('./src/components/Modal/index.vue')['default'] + Nav: typeof import('./src/components/Nav/index.vue')['default'] + NButton: typeof import('naive-ui')['NButton'] + NButtonGroup: typeof import('naive-ui')['NButtonGroup'] + NCheckbox: typeof import('naive-ui')['NCheckbox'] + NCheckboxGroup: typeof import('naive-ui')['NCheckboxGroup'] + NCollapse: typeof import('naive-ui')['NCollapse'] + NCollapseItem: typeof import('naive-ui')['NCollapseItem'] + NColorPicker: typeof import('naive-ui')['NColorPicker'] + NConfigProvider: typeof import('naive-ui')['NConfigProvider'] + NDataTable: typeof import('naive-ui')['NDataTable'] + NDatePicker: typeof import('naive-ui')['NDatePicker'] + NDivider: typeof import('naive-ui')['NDivider'] + NEllipsi: typeof import('naive-ui')['NEllipsi'] + NEllipsis: typeof import('naive-ui')['NEllipsis'] + NEmpty: typeof import('naive-ui')['NEmpty'] + NForm: typeof import('naive-ui')['NForm'] + NFormItem: typeof import('naive-ui')['NFormItem'] + NGi: typeof import('naive-ui')['NGi'] + NGrid: typeof import('naive-ui')['NGrid'] + NIcon: typeof import('naive-ui')['NIcon'] + NIconWrapper: typeof import('naive-ui')['NIconWrapper'] + NImage: typeof import('naive-ui')['NImage'] + NImageGroup: typeof import('naive-ui')['NImageGroup'] + NInput: typeof import('naive-ui')['NInput'] + NInputGroup: typeof import('naive-ui')['NInputGroup'] + NInputNumber: typeof import('naive-ui')['NInputNumber'] + NMessageProvider: typeof import('naive-ui')['NMessageProvider'] + NModal: typeof import('naive-ui')['NModal'] + NNotificationProvider: typeof import('naive-ui')['NNotificationProvider'] + Notification: typeof import('./src/components/Notification/index.vue')['default'] + NRadio: typeof import('naive-ui')['NRadio'] + NRadioButton: typeof import('naive-ui')['NRadioButton'] + NRadioGroup: typeof import('naive-ui')['NRadioGroup'] + NScrollbar: typeof import('naive-ui')['NScrollbar'] + NScroller: typeof import('naive-ui')['NScroller'] + NSelect: typeof import('naive-ui')['NSelect'] + NSlider: typeof import('naive-ui')['NSlider'] + NSpace: typeof import('naive-ui')['NSpace'] + NSwitch: typeof import('naive-ui')['NSwitch'] + NTabPane: typeof import('naive-ui')['NTabPane'] + NTabs: typeof import('naive-ui')['NTabs'] + NTree: typeof import('naive-ui')['NTree'] + Page: typeof import('./src/components/Page/index.vue')['default'] + Panel: typeof import('./src/components/Panel/index.vue')['default'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + Tabs: typeof import('./src/components/Tabs/index.vue')['default'] + TheWelcome: typeof import('./src/components/TheWelcome.vue')['default'] + Tree: typeof import('./src/components/Tree/index.vue')['default'] + WelcomeItem: typeof import('./src/components/WelcomeItem.vue')['default'] + } +} diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/index.html b/index.html new file mode 100644 index 000000000..f367bc45d --- /dev/null +++ b/index.html @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + Vite App + + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..2ca1246fa --- /dev/null +++ b/package-lock.json @@ -0,0 +1,18716 @@ +{ + "name": "page_customize", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "page_customize", + "version": "0.0.0", + "dependencies": { + "@cesium-extends/drawer": "^1.3.6", + "@cesium-extends/heat": "^1.0.3", + "@cesium-extends/subscriber": "^1.1.0", + "@turf/turf": "^7.1.0", + "@vueuse/core": "^9.9.0", + "@wenrenfangge/cesium-draw": "^1.0.4", + "axios": "^1.2.1", + "cesium": "^1.123.0", + "chroma-js": "^3.1.2", + "dayjs": "^1.11.13", + "echarts": "^5.5.1", + "lodash": "^4.17.21", + "normalize.css": "^8.0.1", + "pinia": "^2.0.28", + "satellite.js": "^5.0.0", + "seemly": "^0.3.9", + "v-viewer": "^3.0.21", + "viewerjs": "^1.11.7", + "vue": "^3.2.45", + "vue-draggable-plus": "^0.5.6", + "vue-router": "^4.1.6", + "vue3-seamless-scroll": "^2.0.1", + "wkt-parser-helper": "^4.2.0" + }, + "devDependencies": { + "@rushstack/eslint-patch": "^1.1.4", + "@types/node": "^18.11.12", + "@vicons/ionicons5": "^0.12.0", + "@vicons/tabler": "^0.12.0", + "@vitejs/plugin-legacy": "^4.0.1", + "@vitejs/plugin-vue": "^4.0.0", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^11.0.0", + "@vue/tsconfig": "^0.1.3", + "autoprefixer": "^10.4.13", + "eslint": "^8.22.0", + "eslint-plugin-vue": "^9.3.0", + "naive-ui": "^2.34.3", + "npm-run-all": "^4.1.5", + "postcss": "^8.4.21", + "prettier": "^2.8.4", + "prettier-plugin-tailwindcss": "^0.2.3", + "sass": "^1.57.1", + "tailwindcss": "^3.2.7", + "typescript": "~4.7.4", + "unplugin-auto-import": "^0.12.1", + "unplugin-vue-components": "^0.22.12", + "vite": "^4.0.0", + "vite-plugin-windicss": "^1.8.10", + "vue-tsc": "^1.0.12" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", + "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.0", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", + "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz", + "integrity": "sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.0.tgz", + "integrity": "sha512-eD/JQ21IG2i1FraJnTMbUarAUkA7G988ofehG5MDCRXaUU91rEBJuCeSoou2Sk1y4RbLYXzqEg1QLwEmRU4qcQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", + "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", + "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", + "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", + "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.0.tgz", + "integrity": "sha512-Xdt2P1H4LKTO8ApPfnO1KmzYMFpp7D/EinoXzLYN/cHcBNrVCAkAtGUcXnHXrl/VGktureU6fkQrHSBE2URfoA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.0", + "@babel/types": "^7.21.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@cesium-extends/common": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@cesium-extends/common/-/common-1.0.1.tgz", + "integrity": "sha512-EGML9rQDnZcUfCwYUUP5ctYtMWTIVoDShOTSSvl5yW9vVt/buy81YzUkjfAL2oFMJfZpKr16HYlAJCz3nnsPKw==", + "license": "MIT", + "peerDependencies": { + "cesium": "*" + } + }, + "node_modules/@cesium-extends/drawer": { + "version": "1.3.6", + "resolved": "https://registry.npmmirror.com/@cesium-extends/drawer/-/drawer-1.3.6.tgz", + "integrity": "sha512-FiOXGr+bsnHIsj2AGL3rtKe+FvinDbj9nNubW1rpOVi3IH7J6vaMay1B3cDX9Rq5/3wic/P8KYxwjFh+BSBR8w==", + "license": "MIT", + "dependencies": { + "@cesium-extends/common": "^1.0.1", + "@cesium-extends/subscriber": "^1.0.1", + "@cesium-extends/tooltip": "^1.2.1" + }, + "peerDependencies": { + "cesium": "*" + } + }, + "node_modules/@cesium-extends/heat": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@cesium-extends/heat/-/heat-1.0.3.tgz", + "integrity": "sha512-NCjlaXyP6CST4J+m23GkLWXZC7me+/6EvZQ3WD/4aUZyZyCX0wQFHiODRWjOp503WRIdCOkBGl4GXO3T4AXndA==", + "license": "MIT", + "dependencies": { + "@mars3d/heatmap.js": "^2.0.7" + }, + "peerDependencies": { + "cesium": "*" + } + }, + "node_modules/@cesium-extends/subscriber": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@cesium-extends/subscriber/-/subscriber-1.1.0.tgz", + "integrity": "sha512-yz9wSV76FZtkKUEL2u8zea7iZFWSvdpUVDDdGFQM6nWIfEkoFDTVOM5Ur4icGiOSEmCgv0QsMNpgytjVOqKU+w==", + "license": "MIT", + "peerDependencies": { + "cesium": "*" + } + }, + "node_modules/@cesium-extends/tooltip": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@cesium-extends/tooltip/-/tooltip-1.2.2.tgz", + "integrity": "sha512-RhCjbmol+K2cs7JBbRk6A3cOjNQYm4y5LIGch0UgQ8Zyu+Q8DBpQwOjY8E7oZNMm6vMwJi+Pzv8jmOqfge82nA==", + "license": "MIT", + "dependencies": { + "@cesium-extends/common": "^1.0.1" + }, + "peerDependencies": { + "cesium": "*" + } + }, + "node_modules/@cesium/engine": { + "version": "12.0.0", + "resolved": "https://registry.npmmirror.com/@cesium/engine/-/engine-12.0.0.tgz", + "integrity": "sha512-eC61e0mnHXbvmjyFA0v7ocjDvaEzkvKd6xX6PSnA8r61vFq1XbozREK+zDRsyKZhg8MW+oBZBFIWFVLHV3G7mw==", + "license": "Apache-2.0", + "dependencies": { + "@tweenjs/tween.js": "^25.0.0", + "@zip.js/zip.js": "^2.7.34", + "autolinker": "^4.0.0", + "bitmap-sdf": "^1.0.3", + "dompurify": "^3.0.2", + "draco3d": "^1.5.1", + "earcut": "^3.0.0", + "grapheme-splitter": "^1.0.4", + "jsep": "^1.3.8", + "kdbush": "^4.0.1", + "ktx-parse": "^0.7.0", + "lerc": "^2.0.0", + "mersenne-twister": "^1.1.0", + "meshoptimizer": "^0.22.0", + "pako": "^2.0.4", + "protobufjs": "^7.1.0", + "rbush": "3.0.1", + "topojson-client": "^3.1.0", + "urijs": "^1.19.7" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@cesium/engine/node_modules/earcut": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/earcut/-/earcut-3.0.0.tgz", + "integrity": "sha512-41Fs7Q/PLq1SDbqjsgcY7GA42T0jvaCNGXgGtsNdvg+Yv8eIu06bxv4/PoREkZ9nMDNwnUSG9OFB9+yv8eKhDg==", + "license": "ISC" + }, + "node_modules/@cesium/widgets": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/@cesium/widgets/-/widgets-9.0.0.tgz", + "integrity": "sha512-Av0aGPUEOjTohZlNWmqb4TicWuTqp1YigO93XQkarW5Q++yjdhn/m123gwviV6YsD0FFQ/JyeftvszZAGZHdsw==", + "license": "Apache-2.0", + "dependencies": { + "@cesium/engine": "^12.0.0", + "nosleep.js": "^0.12.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@css-render/plugin-bem": { + "version": "0.15.14", + "resolved": "https://registry.npmmirror.com/@css-render/plugin-bem/-/plugin-bem-0.15.14.tgz", + "integrity": "sha512-QK513CJ7yEQxm/P3EwsI+d+ha8kSOcjGvD6SevM41neEMxdULE+18iuQK6tEChAWMOQNQPLG/Rw3Khb69r5neg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "css-render": "~0.15.14" + } + }, + "node_modules/@css-render/vue3-ssr": { + "version": "0.15.14", + "resolved": "https://registry.npmmirror.com/@css-render/vue3-ssr/-/vue3-ssr-0.15.14.tgz", + "integrity": "sha512-//8027GSbxE9n3QlD73xFY6z4ZbHbvrOVB7AO6hsmrEzGbg+h2A09HboUyDgu+xsmj7JnvJD39Irt+2D0+iV8g==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.11" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.11.tgz", + "integrity": "sha512-j2xsG1OETgCe+OBA54DG5vLuGjmMZtQvyxt+rTw2aYK/RqjcG/F+UDdj43uoUOv8lSRC3lM4XpKLOVZfY/82yA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.11.tgz", + "integrity": "sha512-CPwhZd15PasQSlkFuZv1st37xvuBeklztfb9y2GZWLQu59zcMIDkZVSEz/TTIxzt811+eJfblg5HhP49iVVDWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.11.tgz", + "integrity": "sha512-vbFn+0JXX6FkKq+0sNeA6aF2QhuOt9ZkBl+DSyqKIF+Ms58lUOhbqSwberKWQDm0udgOp3d/LhOFTYmpvmlZmA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.11.tgz", + "integrity": "sha512-1tqsIG6AySZ9njT8V2ddH1F/J01zX+0obPCpP0uD9TMIUlAA5WUF/+abFlnIsNY4jACcbN/13NUbLRWE9bayjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.11.tgz", + "integrity": "sha512-Gqx2/nYqnK46dwEDPGv3SwLqgLIZQJ7m2xNoNRzO50VZPvoCWSUqDaoirrZZf7uVfl+fxHoZBcdQJx2gOdxffQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.11.tgz", + "integrity": "sha512-58FTdlgIQ3ZxFtGphjbIBmo7kfDhQih/PlfAnKraAcCDZOYXWcRFmHJtW+EVg32IIxuEAqhLAzCgrqpm5o8Wlw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.11.tgz", + "integrity": "sha512-L7hr6VnpqZzYEDVQeaViz1QnmfFRCRm3zVtljbYi/CU6InKs6tda1J3pAvqVsbNpbGMA9AvyiyBrgjJAFCawVg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.11.tgz", + "integrity": "sha512-Mk6TZij71alyS0FGuKEKYjTZGjUw2uXi07V/AiGZW1b5grTfGx6lpsbQdystgDJqju99Osq2Ix+C7WteSnwrHg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.11.tgz", + "integrity": "sha512-OKU0ajh9Xu7Pd1MlSq8Xqj5SJEV+4yVnALydPTDrrmTyvU72P8mTRJgZMilHw7H+Jqc0utryjNOwlJ/+fOkwGw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.11.tgz", + "integrity": "sha512-pr1/tdDfgQQ9hp2IskSKMuwkx2X4jR7iHLbqEmmj/lPLKeoa6AUulnglGY4y0OPo+0eAYd6DzWp7ve3KI4lOCA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.11.tgz", + "integrity": "sha512-2MCYdDBh9R+R1xuBFiApgkbp/tW1uV+aVeefKYqWSEk3o6MHzWo1FxEGA4dSnC+kThSBOMVpCV9z4/DPouA3bQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.11.tgz", + "integrity": "sha512-IyotdnRg0J8F9FKttYe3cy/M9ZJ5W/Gm6whH08sbXMxRVKs/TyyoqFIA8oT1MzR+si6GLlRpcF7JbUnOXssjPA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.11.tgz", + "integrity": "sha512-NUMtxvb0j41UL8yf8VnTMNbCQxKqIPmF0Wf/N44UrxpKE8iCNmWT95Wt98Ivr2ebHdz+V3kptlgBuZNYcJLI6g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.11.tgz", + "integrity": "sha512-03/B26az/JezvVkgck+lhauP13t6RqzCQgnrkBCBrXXpX+2r02DfSU43BEhpErJrsrDA8GXSE/rvsfbGCX6OvA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.11.tgz", + "integrity": "sha512-Xs2tRB0fgly4XfC4FMv1Fd699AMEH8BClp36mzqRuVzm/285XIJaK5cPEZ9cLLn9ukNHdvvSX/83u5uS1BCd8g==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.11.tgz", + "integrity": "sha512-CiNialxsjJllrG3ggzOKzSaqQK/De/Mv4g/3r7jxLt01GLerPh0Q3TVTndFG9VfOrR1PdN7Fz5AOV3bE6Isd1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.11.tgz", + "integrity": "sha512-PiljZi6QZ3Pz0pL8rfJqPln8F/a3mEJwh2vhBb1kDYLniLufo9/7AInb/ZyhvgR7FxUQluUYyz64owPomgaLJA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.11.tgz", + "integrity": "sha512-Nyk8aJM+w6NoS4RGQJ0ybb516jEIbEVlLvhRIdpCssUuqKU0lr9lJPHnFY2QqyoVaJkd6VxaHOBU/v/ieuiENQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.11.tgz", + "integrity": "sha512-shxBLdNJecr7KxuyZQ19idBU8x7Mq7m+N5Fj8ROWMWQbDdjSjlBPxz7EZJIxSh7FUgSMKl7qSCCVaczXrta4MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.11.tgz", + "integrity": "sha512-vyTbfoEBn7cGXK8writbsB+G2wyRoOA+EbTNQ9cu5lyLU65sfWetCaL8T7mX338AN8tTbCYl6ce5YRKTonpA3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.11.tgz", + "integrity": "sha512-ATGCGc52LNqakUE9i54RzFC4lm70UTcTW721AFGjQotc6uCg7sf7QeRd05wD5tLBFafHdMSZv4rsU/Nh7LT/rQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.11.tgz", + "integrity": "sha512-7NcClJIctrO3iRu5CCqwdSBePm8bL2Iu1DYsuOnxuYJ+a1Kv3Wn3MzNdJIrUPLi1yADVwRliRUU/jtMC/tJnJA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", + "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.8", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.12", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.12.tgz", + "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.8", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", + "license": "MIT" + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@mars3d/heatmap.js": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@mars3d/heatmap.js/-/heatmap.js-2.0.7.tgz", + "integrity": "sha512-cIXF6XF761d0ZS0XB43UlNvvXZrHj9VIJv4H6da2AiGS/R1gUs7KvSeu0XEEztiG4FdoeLrwIjIV0yZYDwIDZg==", + "license": "ISC" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "license": "BSD-3-Clause" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==", + "dev": true + }, + "node_modules/@turf/along": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/along/-/along-7.1.0.tgz", + "integrity": "sha512-WLgBZJ/B6CcASF6WL7M+COtHlVP0hBrMbrtKyF7KBlicwRuijJZXDtEQA5oLgr+k1b2HqGN+UqH2A0/E719enQ==", + "license": "MIT", + "dependencies": { + "@turf/bearing": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/along/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/angle": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/angle/-/angle-7.1.0.tgz", + "integrity": "sha512-YMHEV/YrARsWgWoQuXEWrQMsvB8z67nTMw2eiLZ883V7jwkhWQGvCW6W+/mGgsWQdHppjCZNcKryryhD2GRWVA==", + "license": "MIT", + "dependencies": { + "@turf/bearing": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/angle/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/area": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/area/-/area-7.1.0.tgz", + "integrity": "sha512-w91FEe02/mQfMPRX2pXua48scFuKJ2dSVMF2XmJ6+BJfFiCPxp95I3+Org8+ZsYv93CDNKbf0oLNEPnuQdgs2g==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/area/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/bbox": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bbox/-/bbox-7.1.0.tgz", + "integrity": "sha512-PdWPz9tW86PD78vSZj2fiRaB8JhUHy6piSa/QXb83lucxPK+HTAdzlDQMTKj5okRCU8Ox/25IR2ep9T8NdopRA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/bbox-clip": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bbox-clip/-/bbox-clip-7.1.0.tgz", + "integrity": "sha512-PhZubKCzF/afwStUzODqOJluiCbCw244lCtVhXA9F+Pgkhvk8KvbFdgpPquOZ45OwuktrchSB28BrBkSBiadHw==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/bbox-clip/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/bbox-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bbox-polygon/-/bbox-polygon-7.1.0.tgz", + "integrity": "sha512-fvZB09ErCZOVlWVDop836hmpKaGUmfXnR9naMhS73A/8nn4M3hELbQtMv2R8gXj7UakXCuxS/i9erdpDFZ2O+g==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/bbox-polygon/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/bbox/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/bearing": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bearing/-/bearing-7.1.0.tgz", + "integrity": "sha512-X5lackrZ6FW+YhgjWxwVFRgWD1j4xm4t5VvE6EE6v/1PVaHQ5OCjf6u1oaLx5LSG+gaHUhjTlAHrn9MYPFaeTA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/bearing/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/bezier-spline": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bezier-spline/-/bezier-spline-7.1.0.tgz", + "integrity": "sha512-bhBY70bcVYJEosuW7B/TFtnE5rmPTTpxmJvljhGC0eyM84oNVv7apDBuseb5KdlTOOBIvdD9nIE4qV8lmplp6w==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/bezier-spline/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-clockwise": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-clockwise/-/boolean-clockwise-7.1.0.tgz", + "integrity": "sha512-H5DYno+gHwZx+VaiC8DUBZXZQlxYecdSvqCfCACWi1uMsKvlht/O+xy65hz2P57lk2smlcV+1ETFVxJlEZduYg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-clockwise/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-concave": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-concave/-/boolean-concave-7.1.0.tgz", + "integrity": "sha512-IFCN25DI+hvngxIsv4+MPuRJQRl/Lz/xnZgpH82leCn4Jqn5wW7KqKFMz7G4GoKK+93cK5/6ioAxY7hVWBXxJw==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-concave/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-contains": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-contains/-/boolean-contains-7.1.0.tgz", + "integrity": "sha512-ldy4j1/RVChYTYjEb4wWaE/JyF1jA87WpsB4eVLic6OcAYJGs7POF1kfKbcdkJJiRBmhI3CXNA+u+m9y4Z/j3g==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-contains/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-crosses": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-crosses/-/boolean-crosses-7.1.0.tgz", + "integrity": "sha512-LK8UM3AENycuGinLCDaL0QSznGMnD0XsjFDGnY4KehshiL5Zd8ZsPyKmHOPygUJT9DWeH69iLx459lOc+5Vj2w==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/polygon-to-line": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-crosses/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-disjoint": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-disjoint/-/boolean-disjoint-7.1.0.tgz", + "integrity": "sha512-JapOG03kOCoGeYMWgTQjEifhr1nUoK4Os2cX0iC5X9kvZF4qCHeruX8/rffBQDx7PDKQKusSTXq8B1ISFi0hOw==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/polygon-to-line": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-disjoint/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-equal": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-equal/-/boolean-equal-7.1.0.tgz", + "integrity": "sha512-deghtFMApc7fNsdXtZdgYR4gsU+TVfowcv666nrvZbPPsXL6NTYGBhDFmYXsJ8gPTCGT9uT0WXppdgT8diWOxA==", + "license": "MIT", + "dependencies": { + "@turf/clean-coords": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "geojson-equality-ts": "^1.0.2", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-equal/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-intersects": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-intersects/-/boolean-intersects-7.1.0.tgz", + "integrity": "sha512-gpksWbb0RT+Z3nfqRfoACY3KEFyv2BPaxJ3L76PH67DhHZviq3Nfg85KYbpuhS64FSm+9tXe4IaKn6EjbHo20g==", + "license": "MIT", + "dependencies": { + "@turf/boolean-disjoint": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-intersects/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-overlap": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-overlap/-/boolean-overlap-7.1.0.tgz", + "integrity": "sha512-mJRN0X8JiPm8eDZk5sLvIrsP03A2GId6ijx4VgSE1AvHwV6qB561KlUbWxga2AScocIfv/y/qd2OCs+/TQSZcg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/line-overlap": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "geojson-equality-ts": "^1.0.2", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-overlap/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-parallel": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-parallel/-/boolean-parallel-7.1.0.tgz", + "integrity": "sha512-tA84Oux0X91CxUc6c/lZph5W9wUZGNT4fxFOg5Gp1IMTSwtxSYL1LMvKsr/VmMnwdOUkNcqAgU06+t4wBLtDfg==", + "license": "MIT", + "dependencies": { + "@turf/clean-coords": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/line-segment": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-parallel/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-point-in-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-7.1.0.tgz", + "integrity": "sha512-mprVsyIQ+ijWTZwbnO4Jhxu94ZW2M2CheqLiRTsGJy0Ooay9v6Av5/Nl3/Gst7ZVXxPqMeMaFYkSzcTc87AKew==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "point-in-polygon-hao": "^1.1.0", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-point-in-polygon/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-point-on-line": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-point-on-line/-/boolean-point-on-line-7.1.0.tgz", + "integrity": "sha512-Kd83EjeTyY4kVMAhcW3Lb8aChwh24BUIhmpE9Or8M+ETNsFGzn9M7qtIySJHLRzKAL3letvWSKXKQPuK1AhAzg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-point-on-line/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-touches": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-touches/-/boolean-touches-7.1.0.tgz", + "integrity": "sha512-qN4LCs3RfVtNAAdn5GpsUFBqoZyAaK9UzSnGSh67GP9sy5M8MEHwM/HAJ5zGWJqQADrczI3U6BRWGLcGfGSz3Q==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-touches/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-valid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-valid/-/boolean-valid-7.1.0.tgz", + "integrity": "sha512-zq1QCfQEyn+piHlvxxDifjmsJn2xl53i4mnKFYdMQI/i09XiX+Fi/MVM3i2hf3D5AsEPsud8Tk7C7rWNCm4nVw==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-crosses": "^7.1.0", + "@turf/boolean-disjoint": "^7.1.0", + "@turf/boolean-overlap": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@types/geojson": "^7946.0.10", + "geojson-polygon-self-intersections": "^1.2.1", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-valid/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/boolean-within": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-within/-/boolean-within-7.1.0.tgz", + "integrity": "sha512-pgXgKCzYHssADQ1nClB1Q9aWI/dE1elm2jy3B5X59XdoFXKrKDZA+gCHYOYgp2NGO/txzVfl3UKvnxIj54Fa4w==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-within/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/buffer": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/buffer/-/buffer-7.1.0.tgz", + "integrity": "sha512-QM3JiCMYA19k5ouO8wJtvICX3Y8XntxVpDfHSKhFFidZcCkMTR2PWWOpwS6EoL3t75rSKw/FOLIPLZGtIu963w==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/center": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/jsts": "^2.7.1", + "@turf/meta": "^7.1.0", + "@turf/projection": "^7.1.0", + "@types/geojson": "^7946.0.10", + "d3-geo": "1.7.1" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/center": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/center/-/center-7.1.0.tgz", + "integrity": "sha512-p9AvBMwNZmRg65kU27cGKHAUQnEcdz8Y7f/i5DvaMfm4e8zmawr+hzPKXaUpUfiTyLs8Xt2W9vlOmNGyH+6X3w==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/center-mean": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/center-mean/-/center-mean-7.1.0.tgz", + "integrity": "sha512-NQZB1LUVsyAD+p0+D4huzX2XVnfVx1yEEI9EX602THmi+g+nkge4SK9OMV11ov/Tv8JJ6aVNVPo/cy1vm/LCIQ==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/center-mean/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/center-median": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/center-median/-/center-median-7.1.0.tgz", + "integrity": "sha512-jx4/Ql5+v41Cd0J/gseNCUbLTzWUT2LUaiXn8eFWDrvmEgqHIx7KJcGcJd5HzV+9zJwng4AXxyh5NMvUR0NjwA==", + "license": "MIT", + "dependencies": { + "@turf/center-mean": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/center-median/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/center-of-mass": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/center-of-mass/-/center-of-mass-7.1.0.tgz", + "integrity": "sha512-j38oBlj7LBoCjZbrIo8EoHVGhk7UQmMLQ1fe8ZPAF9pd05XEL1qxyHKZKdQ/deGISiaEhXCyfLNrKAHAuy25RA==", + "license": "MIT", + "dependencies": { + "@turf/centroid": "^7.1.0", + "@turf/convex": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/center-of-mass/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/center/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/centroid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/centroid/-/centroid-7.1.0.tgz", + "integrity": "sha512-1Y1b2l+ZB1CZ+ITjUCsGqC4/tSjwm/R4OUfDztVqyyCq/VvezkLmTNqvXTGXgfP0GXkpv68iCfxF5M7QdM5pJQ==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/centroid/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/circle": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/circle/-/circle-7.1.0.tgz", + "integrity": "sha512-6qhF1drjwH0Dg3ZB9om1JkWTJfAqBcbtIrAj5UPlrAeHP87hGoCO2ZEsFEAL9Q18vntpivT89Uho/nqQUjJhYw==", + "license": "MIT", + "dependencies": { + "@turf/destination": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/circle/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/clean-coords": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clean-coords/-/clean-coords-7.1.0.tgz", + "integrity": "sha512-q1U8UbRVL5cRdwOlNjD8mad8pWjFGe0s4ihg1pSiVNq7i47WASJ3k20yZiUFvuAkyNjV0rZ/A7Jd7WzjcierFg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/clean-coords/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/clone": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clone/-/clone-7.1.0.tgz", + "integrity": "sha512-5R9qeWvL7FDdBIbEemd0eCzOStr09oburDvJ1hRiPCFX6rPgzcZBQ0gDmZzoF4AFcNLb5IwknbLZjVLaUGWtFA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/clone/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/clusters": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clusters/-/clusters-7.1.0.tgz", + "integrity": "sha512-7CY3Ai+5V6q2O9/IgqLpJQrmrTy7aUJjTW1iRan8Tz3WixvxyJHeS3iyRy8Oc0046chQIaHLtyTgKVt2QdsPSA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/clusters-dbscan": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clusters-dbscan/-/clusters-dbscan-7.1.0.tgz", + "integrity": "sha512-BmrBTOEaKN5FIED6b3yb3V3ejfK0A2Q3pT9/ji3mcRLJiBaRGeiN5V6gtGXe7PeMYdoqhHykU5Ye2uUtREWRdQ==", + "license": "MIT", + "dependencies": { + "@turf/clone": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "rbush": "^3.0.1", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/clusters-dbscan/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/clusters-kmeans": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clusters-kmeans/-/clusters-kmeans-7.1.0.tgz", + "integrity": "sha512-M8cCqR6iE1jDSUF/UU9QdPUFrobZS2fo59TfF1IRHZ2G1EjbcK4GzZcUfmQS6DZraGudYutpMYIuNdm1dPMqdQ==", + "license": "MIT", + "dependencies": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "skmeans": "0.9.7", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/clusters-kmeans/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/clusters/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/collect": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/collect/-/collect-7.1.0.tgz", + "integrity": "sha512-6indMWLiKeBh4AsioNeFeFnO0k9U5CBsWAFEje6tOEFI4c+P7LF9mNA9z91H8KkrhegR9XNO5Vm2rmdY63aYXw==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "rbush": "^3.0.1", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/collect/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/combine": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/combine/-/combine-7.1.0.tgz", + "integrity": "sha512-Xl7bGKKjgzIq2T/IemS6qnIykyuxU6cMxKtz+qLeWJGoNww/BllwxXePSV+dWRPXZTFFj96KIhBXAW0aUjAQKQ==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/combine/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/concave": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/concave/-/concave-7.1.0.tgz", + "integrity": "sha512-aSid53gYRee4Tjc4pfeI3KI+RoBUnL/hRMilxIPduagTgZZS+cvvk01OQWBKm5UTVfHRGuy0XIqnK8y9RFinDQ==", + "license": "MIT", + "dependencies": { + "@turf/clone": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/tin": "^7.1.0", + "@types/geojson": "^7946.0.10", + "topojson-client": "3.x", + "topojson-server": "3.x", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/concave/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/convex": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/convex/-/convex-7.1.0.tgz", + "integrity": "sha512-w9fUMZYE36bLrEWEj7L7aVMCB7NBtr2o8G+avRvUIwF4DPqbtcjlcZE9EEBfq44uYdn+/Pke6Iq42T/zyD/cpg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "concaveman": "^1.2.1", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/convex/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/destination": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/destination/-/destination-7.1.0.tgz", + "integrity": "sha512-97XuvB0iaAiMg86hrnZ529WwP44TQAA9mmI5PMlchACiA4LFrEtWjjDzvO6234coieoqhrw6dZYcJvd5O2PwrQ==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/destination/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/difference": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/difference/-/difference-7.1.0.tgz", + "integrity": "sha512-+JVzdskICQ8ULKQ9CpWUM5kBvoXxN4CO78Ez/Ki3/7NXl7+HM/nb12B0OyM8hkJchpb8TsOi0YwyJiKMqEpTBA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/difference/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/dissolve": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/dissolve/-/dissolve-7.1.0.tgz", + "integrity": "sha512-fyOnCSYVUZ8SF9kt9ROnQYlkJTE0hpWSoWwbMZQCAR7oVZVPiuPq7eIbzTP+k5jzEAnofsqoGs5qVDTjHcWMiw==", + "license": "MIT", + "dependencies": { + "@turf/flatten": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/dissolve/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/distance": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/distance/-/distance-7.1.0.tgz", + "integrity": "sha512-hhNHhxCHB3ddzAGCNY4BtE29OZh+DAJPvUapQz+wOjISnlwvMcwLKvslgHWSYF536QDVe/93FEU2q67+CsZTPA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/distance-weight": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/distance-weight/-/distance-weight-7.1.0.tgz", + "integrity": "sha512-8m6s4y8Yyt6r3itf44yAJjXC+62UkrkhOpskIfaE0lHcBcvZz9wjboHoBf3bS4l/42E4StcanbFZdjOpODAdZw==", + "license": "MIT", + "dependencies": { + "@turf/centroid": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/distance-weight/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/distance/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/ellipse": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/ellipse/-/ellipse-7.1.0.tgz", + "integrity": "sha512-AfOahUmStDExWGPg8ZWxxkgom+fdJs7Mn9DzZH+fV/uZ+je1bLQpbPCUu9/ev6u/HhbYGl4VAL/CeQzjOyy6LQ==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@turf/transform-rotate": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/ellipse/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/envelope": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/envelope/-/envelope-7.1.0.tgz", + "integrity": "sha512-WeLQse9wuxsxhzSqrJA6Ha7rLWnLKgdKY9cfxmJKHSpgqcJyNk60m7+T3UpI/nkGwpfbpeyB3EGC1EWPbxiDUg==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/envelope/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/explode": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/explode/-/explode-7.1.0.tgz", + "integrity": "sha512-To+GUbU6HtcHZ8S0w/dw1EbdQIOCXALTr6Ug5/IFg8hIBMJelDpVr3Smwy8uqhDRFinY2eprBwQnDPcd10eCqA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/explode/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/flatten": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/flatten/-/flatten-7.1.0.tgz", + "integrity": "sha512-Kb23pqEarcLsdBqnQcK0qTrSMiWNTVb9tOFrNlZc66DIhDLAdpOKG4eqk00CMoUzWTixlnawDgJRqcStRrR4WA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/flatten/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/flip": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/flip/-/flip-7.1.0.tgz", + "integrity": "sha512-vac73W8WblzzNFanzWYLBzWDIcqc5xczOrtEO07RDEiKEI3Heo0471Jed3v9W506uuOX6/HAiCjXbRjTLjiLfw==", + "license": "MIT", + "dependencies": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/flip/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/geojson-rbush": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/geojson-rbush/-/geojson-rbush-7.1.0.tgz", + "integrity": "sha512-j1C7Ohlxa1z644bNOpgibcFGaDLgLXGLOzwF1tfQaP5y7E4PJQUXL0DWIgNb3Ke7gZC05LPHM25a5TRReUfFBQ==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "rbush": "^3.0.1" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/great-circle": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/great-circle/-/great-circle-7.1.0.tgz", + "integrity": "sha512-92q5fqUp5oW+FYekUIrUVR5PZBWbOV6NHKHPIiNahiPvtkpZItbbjoO+tGn5+2i8mxZP9FGOthayJe4V0a1xkg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/helpers/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/hex-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/hex-grid/-/hex-grid-7.1.0.tgz", + "integrity": "sha512-I+Apx0smOPkMzaS5HHL44YOxSkSUvrz+wtSIETsDFWWLT2xKNkaaEcYU5MkgSoEfQsj082M7EkOIIpocXlA3kg==", + "license": "MIT", + "dependencies": { + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/intersect": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/hex-grid/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/interpolate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/interpolate/-/interpolate-7.1.0.tgz", + "integrity": "sha512-VWec1OW9gHZLPS3yYkUXAHKMGQuYO4aqh8WCltT7Ym4efrKqkSOE5T+mBqO68QgcL8nY4kiNa8lxwXd0SfXDSA==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/hex-grid": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/point-grid": "^7.1.0", + "@turf/square-grid": "^7.1.0", + "@turf/triangle-grid": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/intersect": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/intersect/-/intersect-7.1.0.tgz", + "integrity": "sha512-T0VhI6yhptX9EoMsuuBETyqV+edyq31SUC8bfuM6kdJ5WwJ0EvUfQoC+3bhMtCOn60lHawrUuGBgW+vCO8KGMg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/intersect/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/invariant": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/invariant/-/invariant-7.1.0.tgz", + "integrity": "sha512-OCLNqkItBYIP1nE9lJGuIUatWGtQ4rhBKAyTfFu0z8npVzGEYzvguEeof8/6LkKmTTEHW53tCjoEhSSzdRh08Q==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/invariant/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/isobands": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/isobands/-/isobands-7.1.0.tgz", + "integrity": "sha512-iMLTOP/K5C05AttF4N1WeV+KrY4O5VWW/abO0N86XCWh1OeqmIUgqIBKEmhDzttAqC0UK2YrUfj0lI1Ez1fYZQ==", + "license": "MIT", + "dependencies": { + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/explode": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "marchingsquares": "^1.3.3", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/isobands/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/isolines": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/isolines/-/isolines-7.1.0.tgz", + "integrity": "sha512-V6QTHXBT5ZsL3s9ZVBJgHYtz3gCFKqNnQLysNE02LE0fVVqaSao3sFrcpghmdDxf0hBCDK8lZVvyRGO6o32LHQ==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "marchingsquares": "^1.3.3", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/isolines/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/jsts": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/@turf/jsts/-/jsts-2.7.1.tgz", + "integrity": "sha512-+nwOKme/aUprsxnLSfr2LylV6eL6T1Tuln+4Hl92uwZ8FrmjDRCH5Bi1LJNVfWCiYgk8+5K+t2zDphWNTsIFDA==", + "license": "(EDL-1.0 OR EPL-1.0)", + "dependencies": { + "jsts": "2.7.1" + } + }, + "node_modules/@turf/kinks": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/kinks/-/kinks-7.1.0.tgz", + "integrity": "sha512-KKLYUsyJPU17fODwA81mhHzFYGQYocdbk9NxDPCcdRHvxzM8t95lptkGx/2k/9rXBs1DK7NmyzI4m7zDO0DK7g==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/kinks/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/length": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/length/-/length-7.1.0.tgz", + "integrity": "sha512-wUJj9WLKEudG1ngNao2ZwD+Dt6UkvWIbubuJ6lR6FndFDL3iezFhNGy0IXS+0xH9kXi2apiTnM9Vk5+i8BTEvQ==", + "license": "MIT", + "dependencies": { + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/length/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/line-arc": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-arc/-/line-arc-7.1.0.tgz", + "integrity": "sha512-9/bM34PozTyJ5FXXPAzl/j0RpcTImgMFJZ0WhH0pZZEZRum6P0rJnENt2E2qI441zeozQ9H6X5DCiJogDmRUEw==", + "license": "MIT", + "dependencies": { + "@turf/circle": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-arc/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/line-chunk": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-chunk/-/line-chunk-7.1.0.tgz", + "integrity": "sha512-1lIUfqAQvCWAuUNC2ip8UYmM5kDltXOidLPW45Ee1OAIKYGBeFNtjwnxc0mQ40tnfTXclTYLDdOOP9LShspT9w==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/length": "^7.1.0", + "@turf/line-slice-along": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-intersect": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-intersect/-/line-intersect-7.1.0.tgz", + "integrity": "sha512-JI3dvOsAoCqd4vUJ134FIzgcC42QpC/tBs+b4OJoxWmwDek3REv4qGaZY6wCg9X4hFSlCKFcnhMIQQZ/n720Qg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "sweepline-intersections": "^1.5.0", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-intersect/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/line-offset": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-offset/-/line-offset-7.1.0.tgz", + "integrity": "sha512-pz6irzhiQlJurU7DoXada6k3ei7PzY+VpsE/Wotm0D2KEAnoxqum2WK0rqqrhKPHKn+xpUGsHN9W/6K+qtmaHg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-overlap": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-overlap/-/line-overlap-7.1.0.tgz", + "integrity": "sha512-BdHuEoFAtqvVw3LkjCdivG035nfuwZuxji2ijst+mkmDnlv7uwSBudJqcDGjU6up2r8P1mXChS4im4xjUz+lwg==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/geojson-rbush": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-segment": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/nearest-point-on-line": "^7.1.0", + "@types/geojson": "^7946.0.10", + "fast-deep-equal": "^3.1.3", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-overlap/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/line-segment": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-segment/-/line-segment-7.1.0.tgz", + "integrity": "sha512-9rgIIH6ZzC3IiWxDQtKsq+j6eu8fRinMkJeusfI9HqOTm4vO02Ll4F/FigjOMOO/6X3TJ+Pqe3gS99TUaBINkw==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-segment/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/line-slice": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-slice/-/line-slice-7.1.0.tgz", + "integrity": "sha512-44xcjgMQxTa7tTAZlSD3t1cFjHi5SCfAqjg1ONv45EYKsQSonPaxD7LGzCbU5pR2RJjx3R7QRJx2G88hnGcXjQ==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/nearest-point-on-line": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-slice-along": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-slice-along/-/line-slice-along-7.1.0.tgz", + "integrity": "sha512-UwfnFORZnu4xdnuRXiQM3ODa8f9Q0FBjQF/XHNsPEI/xxmnwgQj3MZiULbAeHUbtU/7psTC7gEjfE3Lf0tcKQw==", + "license": "MIT", + "dependencies": { + "@turf/bearing": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-split": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-split/-/line-split-7.1.0.tgz", + "integrity": "sha512-QqUAmtlrnEu75cpLOmpEuiYU63BeVwpSKOBllBbu5gkP+7H/WBM/9fh7J0VgHNFHzqZCKiu8v4158k+CZr0QAg==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/geojson-rbush": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/line-segment": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/nearest-point-on-line": "^7.1.0", + "@turf/square": "^7.1.0", + "@turf/truncate": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-to-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-to-polygon/-/line-to-polygon-7.1.0.tgz", + "integrity": "sha512-n/IWBRbo+l4XDTz4sfQsQm5bU9xex8KrthK397jQasd7a9PiOKGon9Z1t/lddTJhND6ajVyJ3hl+eZMtpQaghQ==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-to-polygon/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/mask": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/mask/-/mask-7.1.0.tgz", + "integrity": "sha512-d+u3IIiRhe17TDfP/+UMn9qRlJYPJpK7sj6WorsssluGi0yIG/Z24uWpcLskWKSI8NNgkIbDrp+GIYkJi2t7SA==", + "license": "MIT", + "dependencies": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/mask/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/meta": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/meta/-/meta-7.1.0.tgz", + "integrity": "sha512-ZgGpWWiKz797Fe8lfRj7HKCkGR+nSJ/5aKXMyofCvLSc2PuYJs/qyyifDPWjASQQCzseJ7AlF2Pc/XQ/3XkkuA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/midpoint": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/midpoint/-/midpoint-7.1.0.tgz", + "integrity": "sha512-uiUU9TwRZOCeiTUn8+7oE6MJUvclfq+n6KQ5VCMTZXiRUJjPu7nDLpBle1t2WSv7/w7O0kSQ4FfKXh0gHnkJOw==", + "license": "MIT", + "dependencies": { + "@turf/bearing": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/midpoint/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/moran-index": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/moran-index/-/moran-index-7.1.0.tgz", + "integrity": "sha512-xsvAr3IRF/C6PlRMoN/ANrRx6c3QFUJgBCIVfI7re+Lkdprrzgw1HZA48ZjP4F91xbhgA1scnRgQdHFi2vO2SA==", + "license": "MIT", + "dependencies": { + "@turf/distance-weight": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/moran-index/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/nearest-neighbor-analysis": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-neighbor-analysis/-/nearest-neighbor-analysis-7.1.0.tgz", + "integrity": "sha512-FAhT8/op3DuvqH0XFhv055JhYq/FC4aaIxEZ4hj8c7W6sYhUHAQgdRZ0tJ1RLe5/h+eXhCTbQ+DFfnfv3klu8g==", + "license": "MIT", + "dependencies": { + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/nearest-point": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/nearest-neighbor-analysis/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/nearest-point": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-point/-/nearest-point-7.1.0.tgz", + "integrity": "sha512-VyInmhqfVWp+jE7sCK95o46qc4tDjAgzbRfRjr+rTgfFS1Sndyy1PdwyNn6TjBFDxiM6e+mjMEeGPjb1smJlEg==", + "license": "MIT", + "dependencies": { + "@turf/clone": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/nearest-point-on-line": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-point-on-line/-/nearest-point-on-line-7.1.0.tgz", + "integrity": "sha512-aTjAOm7ab0tl5JoxGYRx/J/IbRL1DY1ZCIYQDMEQjK5gOllhclgeBC0wDXDkEZFGaVftjw0W2RtE2I0jX7RG4A==", + "license": "MIT", + "dependencies": { + "@turf/bearing": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/nearest-point-on-line/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/nearest-point-to-line": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-point-to-line/-/nearest-point-to-line-7.1.0.tgz", + "integrity": "sha512-rY2F/iY4S6U8H0hIoOI25xMWYEiKywxeTvTvn5GP8KCu+2oemfZROWa7n2+hQDRwO2/uaegrGEpxO7zlFarvzg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/point-to-line-distance": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/nearest-point-to-line/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/nearest-point/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/planepoint": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/planepoint/-/planepoint-7.1.0.tgz", + "integrity": "sha512-hFORBkCd7Q0kNUzLqksT4XglLgTQF9tCjG+dbnZ1VehpZu+w+vlHdoW/mY7XCX3Kj1ObiyzVmXffmVYgwXwF6Q==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/planepoint/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/point-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/point-grid/-/point-grid-7.1.0.tgz", + "integrity": "sha512-ihuuUcWuCu4Z1+34UYCM5NGsU2DJaB4uE8cS3jDQoUqlc+8ii2ng8kcGEtTwVn0HdPsoKA7bgvSZcisJO0v6Ww==", + "license": "MIT", + "dependencies": { + "@turf/boolean-within": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/point-grid/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/point-on-feature": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/point-on-feature/-/point-on-feature-7.1.0.tgz", + "integrity": "sha512-lOO5J9I0diuGbN+r6jViEKRH3qfymsBvv25b7U0MuP8g/YC19ncUXZ86dmKfJx1++Rb485DS9h0nFvPmJpaOdg==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/center": "^7.1.0", + "@turf/explode": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/nearest-point": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/point-on-feature/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/point-to-line-distance": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/point-to-line-distance/-/point-to-line-distance-7.1.0.tgz", + "integrity": "sha512-Ps9eTOCaiNgxDaSNQux0wAcSLcrI0y0zYFaD9HnVm+yCMRliQXneFti2XXotS+gR7TpgnLRAAzyx4VzJMSN2tw==", + "license": "MIT", + "dependencies": { + "@turf/bearing": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/projection": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@turf/rhumb-distance": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/point-to-line-distance/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/points-within-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/points-within-polygon/-/points-within-polygon-7.1.0.tgz", + "integrity": "sha512-SzqeD9Gcp11rEya+rCVMy6IPuYMrphNEkCiQ39W6ec9hsaqKlruqmtudKhhckMGVLVUUBCQAu5f55yjcDfVW2w==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/points-within-polygon/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/polygon-smooth": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/polygon-smooth/-/polygon-smooth-7.1.0.tgz", + "integrity": "sha512-mTlmg4XUP5rKgCP/73N91owkAXIc3t1ZKLuwsJGQM1/Op48T3rJmDwVR/WZIMnVlxl5tFbssWCCB3blj4ivx9g==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/polygon-smooth/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/polygon-tangents": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/polygon-tangents/-/polygon-tangents-7.1.0.tgz", + "integrity": "sha512-ffBgHXtkrpgkNs8E6s9sVLSKG4lPGH3WBk294FNKBt9NS+rbhNCv8yTuOMeP0bOm/WizaCq/SUtVryJpUSoI/g==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-within": "^7.1.0", + "@turf/explode": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/nearest-point": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/polygon-tangents/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/polygon-to-line": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/polygon-to-line/-/polygon-to-line-7.1.0.tgz", + "integrity": "sha512-FBlfyBWNQZCTVGqlJH7LR2VXmvj8AydxrA8zegqek/5oPGtQDeUgIppKmvmuNClqbglhv59QtCUVaDK4bOuCTA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/polygon-to-line/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/polygonize": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/polygonize/-/polygonize-7.1.0.tgz", + "integrity": "sha512-FBjxnOzO29MbE7MWnMPHHYtOo93cQopT5pXhkuPyoKgcTUCntR1+iVFpl5YFbMkYup0j5Oexjo/pbY38lVSZGw==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/envelope": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/polygonize/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/projection": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/projection/-/projection-7.1.0.tgz", + "integrity": "sha512-3wHluMoOvXnTe7dfi0kcluTyLNG5MwGsSsK5OA98vkkLH6a1xvItn8e9GcesuT07oB2km/bgefxYEIvjQG5JCA==", + "license": "MIT", + "dependencies": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/projection/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/quadrat-analysis": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/quadrat-analysis/-/quadrat-analysis-7.1.0.tgz", + "integrity": "sha512-4O5h9PyWgpqYXja9O+kzr+qk5MUz0IkJqPtt5oWWX5s4jRcLNqiEUf+zi/GDBQkVV8jH3S5klT5CLrF1fxK3hQ==", + "license": "MIT", + "dependencies": { + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/point-grid": "^7.1.0", + "@turf/random": "^7.1.0", + "@turf/square-grid": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/quadrat-analysis/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/random": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/random/-/random-7.1.0.tgz", + "integrity": "sha512-22mXv8ejDMUWkz8DSMMqdZb0s7a0ISJzXt6T9cHovfT//vsotzkVH+5PDxJQjvmigKMnpaUgobHmQss23tAwEQ==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/random/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/rectangle-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rectangle-grid/-/rectangle-grid-7.1.0.tgz", + "integrity": "sha512-4d2AuDj4LfMMJxNHbds5yX1oFR3mIVAB5D7mx6pFB0e+YkQW0mE2dUWhDTFGJZM+n45yqbNQ5hg19bmiXv94ug==", + "license": "MIT", + "dependencies": { + "@turf/boolean-intersects": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/rectangle-grid/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/rewind": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rewind/-/rewind-7.1.0.tgz", + "integrity": "sha512-zX0KDZpeiH89m1vYLTEJdDL6mFyoAsCxcG0P94mXO7/JXWf0AaxzA9MkNnA/d2QYX0G4ioCMjZ5cD6nXb8SXzw==", + "license": "MIT", + "dependencies": { + "@turf/boolean-clockwise": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/rewind/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/rhumb-bearing": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rhumb-bearing/-/rhumb-bearing-7.1.0.tgz", + "integrity": "sha512-ESZt70eOljHVnQMFKIdiu8LIHuQlpZgzh2nqSfV40BrYjsjI/sBKeK+sp2cBWk88nsSDlriPuMTNh4f50Jqpkw==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/rhumb-bearing/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/rhumb-destination": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rhumb-destination/-/rhumb-destination-7.1.0.tgz", + "integrity": "sha512-WA2TeO3qrv5ZrzNihtTLLYu8X4kd12WEC6JKElm99XhgLao1/4ao2SJUi43l88HqwbrnNiq4TueGQ6tYpXGU7A==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/rhumb-destination/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/rhumb-distance": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rhumb-distance/-/rhumb-distance-7.1.0.tgz", + "integrity": "sha512-fR1V+yC4E1tnbdThomosiLcv0PQOwbfLSPM8rSWuxbMcJtffsncWxyJ0+N1F5juuHbcdaYhlduX8ri5I0ZCejw==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/rhumb-distance/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/sample": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/sample/-/sample-7.1.0.tgz", + "integrity": "sha512-9Iq/Ankr4+sgBoh4FpuVVvoW+AA10eej3FS89Zu79SFdCqUIdT7T42Nn3MlSVj4jMyA1oXyT2HIAlNWkwgLw6Q==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/sample/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/sector": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/sector/-/sector-7.1.0.tgz", + "integrity": "sha512-2FI2rg//eXpa/l+WJtFfvHaf1NJ7ie2MoJ+RH5dKANtrfoof1Ed+y9dXSyuhem2tp/Srq2GhrjaSofFN5/g5vA==", + "license": "MIT", + "dependencies": { + "@turf/circle": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-arc": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/sector/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/shortest-path": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/shortest-path/-/shortest-path-7.1.0.tgz", + "integrity": "sha512-1UmFhS5zHNacLv5rszoFOXq02BGov1oJvjlDatXsSWAd+Z7tqxpDc8D+41edrXy0ZB0Yxsy6WPNagM6hG9PRaA==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/clean-coords": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/transform-scale": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/shortest-path/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/simplify": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/simplify/-/simplify-7.1.0.tgz", + "integrity": "sha512-JypymaoiSiFzGHwEoUkK0OPW1KQSnH3hEsEW3UIRS+apzltJ4HdFovYjsfqQgGZJZ+NJ9+dv7h8pgGLYuqcBUQ==", + "license": "MIT", + "dependencies": { + "@turf/clean-coords": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/simplify/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/square": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/square/-/square-7.1.0.tgz", + "integrity": "sha512-ANuA+WXZheGTLW6Veq0i+/B2S4KMhEHAixDv9gQEb9e6FTyqTJVwrqP4CHI3OzA3DZ/ytFf+NTKVofetO/BBQg==", + "license": "MIT", + "dependencies": { + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/square-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/square-grid/-/square-grid-7.1.0.tgz", + "integrity": "sha512-JyhsALULVRlkh8htdTi9aXaXFSUv6wRNbeFbqyGJKKlA5eF+AYmyWdI/BlFGQN27xtbtMPeAuLmj+8jaB2omGw==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/rectangle-grid": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/square-grid/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/square/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/standard-deviational-ellipse": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/standard-deviational-ellipse/-/standard-deviational-ellipse-7.1.0.tgz", + "integrity": "sha512-JqvQFH/witHh+3XgPC1Qk4+3G8w8WQta2NTJjnGinOgFulH+7RD4DcxCT+XXtCHoeq8IvL9VPJRX3ciaW5nSCg==", + "license": "MIT", + "dependencies": { + "@turf/center-mean": "^7.1.0", + "@turf/ellipse": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/points-within-polygon": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/standard-deviational-ellipse/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/tag": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/tag/-/tag-7.1.0.tgz", + "integrity": "sha512-cD8TC++DnNmdI1B/apTf3nj2zRNY6SoLRliB8K76OB+70Kev8tOf4ZVgAqOd0u+Hpdg/T6l7dO7fyJ6UouE7jA==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/tag/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/tesselate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/tesselate/-/tesselate-7.1.0.tgz", + "integrity": "sha512-E/Z94Mx6kUjvQVbEcSuM9MbEo2dkOczRe4ZzjhFlLgJh1dCkfRgwYLH49mb2CcfG/me1arxoCgmtG+qgm7LrCg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "earcut": "^2.2.4", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/tesselate/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/tin": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/tin/-/tin-7.1.0.tgz", + "integrity": "sha512-h8Bdm0IYN6OpKHM8lBRWGxkJnZcxL0KYecf8U6pa6DCEYsEXuEExMTvYSD2OmqIsL5ml8P6RjwgyI+dZeE0O9A==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/tin/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/transform-rotate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/transform-rotate/-/transform-rotate-7.1.0.tgz", + "integrity": "sha512-Vp7VBZ6DqaPV8mkwSycksBFRLqSj3y16zg+uEPSCsXUjbFtw9DOLcyH2F5vMpnC2bOpS9NOB4hebhJRwBwAPWQ==", + "license": "MIT", + "dependencies": { + "@turf/centroid": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@turf/rhumb-distance": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/transform-rotate/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/transform-scale": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/transform-scale/-/transform-scale-7.1.0.tgz", + "integrity": "sha512-m5fLnh3JqrWSv0sAC8Aieet/fr5IZND8BFaE9LakMidtNaJqOIPOyVmUoklcrGn6eK6MX+66rRPn+5a1pahlLQ==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "^7.1.0", + "@turf/center": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@turf/rhumb-distance": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/transform-scale/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/transform-translate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/transform-translate/-/transform-translate-7.1.0.tgz", + "integrity": "sha512-XA6Oh7VqUDrieY9m9/OF4XpBTd8qlfVGi3ObywojCqtHaHKLK3aXwTBZ276i0QKmZqOQA+2jFa9NhgF/TgBDrw==", + "license": "MIT", + "dependencies": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/transform-translate/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/triangle-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/triangle-grid/-/triangle-grid-7.1.0.tgz", + "integrity": "sha512-hrPyRAuX5PKu7txmc/11VPKrlJDR+JGzd+eijupKTspNLR4n2sqZUx8UXqSxZ/1nq06ScTyjIfGQJVzlRS8BTg==", + "license": "MIT", + "dependencies": { + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/intersect": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/triangle-grid/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/truncate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/truncate/-/truncate-7.1.0.tgz", + "integrity": "sha512-rrF3AML9PGZw2i5wmt53ESI+Ln9cZyCXgJ7QrEvkT8NbE4OFgmw6p8/1xT8+VEWFSpD4gHz+hmM+5FaFxXvtNg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/truncate/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/turf": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/turf/-/turf-7.1.0.tgz", + "integrity": "sha512-7NA6tAjbu9oIvIfpRO5AdPrZbFTlUFU02HVA7sLJM9jFeNIZovW09QuDo23uoS2z5l94SXV1GgKKxN5wo7prCw==", + "license": "MIT", + "dependencies": { + "@turf/along": "^7.1.0", + "@turf/angle": "^7.1.0", + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/bbox-clip": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/bearing": "^7.1.0", + "@turf/bezier-spline": "^7.1.0", + "@turf/boolean-clockwise": "^7.1.0", + "@turf/boolean-concave": "^7.1.0", + "@turf/boolean-contains": "^7.1.0", + "@turf/boolean-crosses": "^7.1.0", + "@turf/boolean-disjoint": "^7.1.0", + "@turf/boolean-equal": "^7.1.0", + "@turf/boolean-intersects": "^7.1.0", + "@turf/boolean-overlap": "^7.1.0", + "@turf/boolean-parallel": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/boolean-touches": "^7.1.0", + "@turf/boolean-valid": "^7.1.0", + "@turf/boolean-within": "^7.1.0", + "@turf/buffer": "^7.1.0", + "@turf/center": "^7.1.0", + "@turf/center-mean": "^7.1.0", + "@turf/center-median": "^7.1.0", + "@turf/center-of-mass": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/circle": "^7.1.0", + "@turf/clean-coords": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/clusters": "^7.1.0", + "@turf/clusters-dbscan": "^7.1.0", + "@turf/clusters-kmeans": "^7.1.0", + "@turf/collect": "^7.1.0", + "@turf/combine": "^7.1.0", + "@turf/concave": "^7.1.0", + "@turf/convex": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/difference": "^7.1.0", + "@turf/dissolve": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/distance-weight": "^7.1.0", + "@turf/ellipse": "^7.1.0", + "@turf/envelope": "^7.1.0", + "@turf/explode": "^7.1.0", + "@turf/flatten": "^7.1.0", + "@turf/flip": "^7.1.0", + "@turf/geojson-rbush": "^7.1.0", + "@turf/great-circle": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/hex-grid": "^7.1.0", + "@turf/interpolate": "^7.1.0", + "@turf/intersect": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/isobands": "^7.1.0", + "@turf/isolines": "^7.1.0", + "@turf/kinks": "^7.1.0", + "@turf/length": "^7.1.0", + "@turf/line-arc": "^7.1.0", + "@turf/line-chunk": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/line-offset": "^7.1.0", + "@turf/line-overlap": "^7.1.0", + "@turf/line-segment": "^7.1.0", + "@turf/line-slice": "^7.1.0", + "@turf/line-slice-along": "^7.1.0", + "@turf/line-split": "^7.1.0", + "@turf/line-to-polygon": "^7.1.0", + "@turf/mask": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/midpoint": "^7.1.0", + "@turf/moran-index": "^7.1.0", + "@turf/nearest-neighbor-analysis": "^7.1.0", + "@turf/nearest-point": "^7.1.0", + "@turf/nearest-point-on-line": "^7.1.0", + "@turf/nearest-point-to-line": "^7.1.0", + "@turf/planepoint": "^7.1.0", + "@turf/point-grid": "^7.1.0", + "@turf/point-on-feature": "^7.1.0", + "@turf/point-to-line-distance": "^7.1.0", + "@turf/points-within-polygon": "^7.1.0", + "@turf/polygon-smooth": "^7.1.0", + "@turf/polygon-tangents": "^7.1.0", + "@turf/polygon-to-line": "^7.1.0", + "@turf/polygonize": "^7.1.0", + "@turf/projection": "^7.1.0", + "@turf/quadrat-analysis": "^7.1.0", + "@turf/random": "^7.1.0", + "@turf/rectangle-grid": "^7.1.0", + "@turf/rewind": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@turf/rhumb-distance": "^7.1.0", + "@turf/sample": "^7.1.0", + "@turf/sector": "^7.1.0", + "@turf/shortest-path": "^7.1.0", + "@turf/simplify": "^7.1.0", + "@turf/square": "^7.1.0", + "@turf/square-grid": "^7.1.0", + "@turf/standard-deviational-ellipse": "^7.1.0", + "@turf/tag": "^7.1.0", + "@turf/tesselate": "^7.1.0", + "@turf/tin": "^7.1.0", + "@turf/transform-rotate": "^7.1.0", + "@turf/transform-scale": "^7.1.0", + "@turf/transform-translate": "^7.1.0", + "@turf/triangle-grid": "^7.1.0", + "@turf/truncate": "^7.1.0", + "@turf/union": "^7.1.0", + "@turf/unkink-polygon": "^7.1.0", + "@turf/voronoi": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/turf/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/union": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/union/-/union-7.1.0.tgz", + "integrity": "sha512-7VI8jONdBg9qmbfNlLQycPr93l5aU9HGMgWI9M6pb4ERuU2+p8KgffCgs2NyMtP2HxPrKSybzj31g7bnbEKofQ==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/union/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/unkink-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/unkink-polygon/-/unkink-polygon-7.1.0.tgz", + "integrity": "sha512-pqkirni2aLpRA1ELFIuJz+mkjYyJQX8Ar6BflSu1b0ajY/CTrcDxbIv1x8UfvbybLzdJc4Gxzg5mo4cEtSwtaQ==", + "license": "MIT", + "dependencies": { + "@turf/area": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "rbush": "^3.0.1", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/unkink-polygon/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@turf/voronoi": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/voronoi/-/voronoi-7.1.0.tgz", + "integrity": "sha512-xUvzPDG6GaqEekgxd+pjeMKJXOYJ3eFIqUHbTe/ISKzzv3f2cFGiR2VH7ZGXri8d4ozzCQbUQ27ilHPPLf5+xw==", + "license": "MIT", + "dependencies": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/d3-voronoi": "^1.1.12", + "@types/geojson": "^7946.0.10", + "d3-voronoi": "1.1.2", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/voronoi/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@tweenjs/tween.js": { + "version": "25.0.0", + "resolved": "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-25.0.0.tgz", + "integrity": "sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A==", + "license": "MIT" + }, + "node_modules/@types/d3-voronoi": { + "version": "1.1.12", + "resolved": "https://registry.npmmirror.com/@types/d3-voronoi/-/d3-voronoi-1.1.12.tgz", + "integrity": "sha512-DauBl25PKZZ0WVJr42a6CNvI6efsdzofl9sajqZr2Gf5Gu733WkDdUGiPkUHXiUvYGzNNlFQde2wdZdfQPG+yw==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true + }, + "node_modules/@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmmirror.com/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==", + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/katex": { + "version": "0.16.7", + "resolved": "https://registry.npmmirror.com/@types/katex/-/katex-0.16.7.tgz", + "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.13", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "node_modules/@types/sortablejs": { + "version": "1.15.8", + "resolved": "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.8.tgz", + "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==", + "license": "MIT" + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.1.tgz", + "integrity": "sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/type-utils": "5.47.1", + "@typescript-eslint/utils": "5.47.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.47.1.tgz", + "integrity": "sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/typescript-estree": "5.47.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.47.1.tgz", + "integrity": "sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/visitor-keys": "5.47.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.47.1.tgz", + "integrity": "sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.47.1", + "@typescript-eslint/utils": "5.47.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.47.1.tgz", + "integrity": "sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.1.tgz", + "integrity": "sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/visitor-keys": "5.47.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.47.1.tgz", + "integrity": "sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/typescript-estree": "5.47.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.1.tgz", + "integrity": "sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.47.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vicons/ionicons5": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@vicons/ionicons5/-/ionicons5-0.12.0.tgz", + "integrity": "sha512-Iy1EUVRpX0WWxeu1VIReR1zsZLMc4fqpt223czR+Rpnrwu7pt46nbnC2ycO7ItI/uqDLJxnbcMC7FujKs9IfFA==", + "dev": true + }, + "node_modules/@vicons/tabler": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@vicons/tabler/-/tabler-0.12.0.tgz", + "integrity": "sha512-3+wUFuxb7e8OzZ8Wryct1pzfA2vyoF4lwW98O9s27ZrfCGaJGNmqG+q8A7vQ92Mf+COCgxpK+rhNPTtTvaU6qw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-legacy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-4.0.1.tgz", + "integrity": "sha512-/ZV63NagI1c9TB5E4ijGmycY//fNm/2L02nsnXXxACwYaF9W+/OyVlgIW24jYUIS+g0yQRtn+N5hzBc8RLNhGA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.12", + "@babel/preset-env": "^7.20.2", + "browserslist": "^4.21.4", + "core-js": "^3.27.2", + "magic-string": "^0.27.0", + "regenerator-runtime": "^0.13.11", + "systemjs": "^6.13.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "terser": "^5.4.0", + "vite": "^4.0.0" + } + }, + "node_modules/@vitejs/plugin-legacy/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz", + "integrity": "sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.0.18.tgz", + "integrity": "sha512-PFrqAksKhiuAqNV4fefoMilX+JutVq0Z3iM14xjLvWPv68fs2dLedwU84GiHfSPTMmRiPCJ2HhH2rz4qNY42lA==", + "dev": true, + "dependencies": { + "@volar/source-map": "1.0.18", + "@vue/reactivity": "^3.2.45", + "muggle-string": "^0.1.0" + } + }, + "node_modules/@volar/source-map": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.0.18.tgz", + "integrity": "sha512-D8AcjrT2ukG5XiZhtSQBhcvL1TTlWOebCqS//Z/hGLGQZjpZHWaKD4OyDzKDzM0U9EtOuDh9rttnabCHDPvY2Q==", + "dev": true, + "dependencies": { + "muggle-string": "^0.1.0" + } + }, + "node_modules/@volar/typescript": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.0.18.tgz", + "integrity": "sha512-xpH1Ij+PKtbIKEEYU2bF0llBRmu+ojjm/UA1WHNpi/dvsFWTIZcPniuqYEpPc32Zq/f8OPk98HbM2Oj5eue+vA==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.0.18" + } + }, + "node_modules/@volar/vue-language-core": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.0.18.tgz", + "integrity": "sha512-1yJcXYz9SdQUYoKWPbnr1SgMsBGXH29hS8W47p46P8Mm+5mmDdR/GFQw2+Zo5kAIS8vtLstlowI1Okoy7HFzIQ==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.0.18", + "@volar/source-map": "1.0.18", + "@vue/compiler-dom": "^3.2.45", + "@vue/compiler-sfc": "^3.2.45", + "@vue/reactivity": "^3.2.45", + "@vue/shared": "^3.2.45", + "minimatch": "^5.1.1", + "vue-template-compiler": "^2.7.14" + } + }, + "node_modules/@volar/vue-language-core/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@volar/vue-language-core/node_modules/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@volar/vue-typescript": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.0.18.tgz", + "integrity": "sha512-pfi2/vTLgAPeRNgWzPFFv14YoLc3MnPMVKxl17ZLHStFgROUWQetTN+44FUWVYIl820MesMsyRv4kAIak0XGIQ==", + "dev": true, + "dependencies": { + "@volar/typescript": "1.0.18", + "@volar/vue-language-core": "1.0.18" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.12.tgz", + "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.12", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz", + "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.12", + "@vue/shared": "3.5.12" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz", + "integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.12", + "@vue/compiler-dom": "3.5.12", + "@vue/compiler-ssr": "3.5.12", + "@vue/shared": "3.5.12", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.47", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz", + "integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.12", + "@vue/shared": "3.5.12" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz", + "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==" + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz", + "integrity": "sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==", + "dev": true, + "dependencies": { + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0" + }, + "peerDependencies": { + "eslint": ">= 7.28.0", + "prettier": ">= 2.0.0" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.2.tgz", + "integrity": "sha512-EiKud1NqlWmSapBFkeSrE994qpKx7/27uCGnhdqzllYDpQZroyX/O6bwjEpeuyKamvLbsGdO6PMR2faIf+zFnw==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "vue-eslint-parser": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0", + "eslint-plugin-vue": "^9.0.0", + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.12.tgz", + "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.12" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.12.tgz", + "integrity": "sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.12", + "@vue/shared": "3.5.12" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz", + "integrity": "sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.12", + "@vue/runtime-core": "3.5.12", + "@vue/shared": "3.5.12", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.12.tgz", + "integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.12", + "@vue/shared": "3.5.12" + }, + "peerDependencies": { + "vue": "3.5.12" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.12.tgz", + "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.1.3.tgz", + "integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==", + "dev": true, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@vueuse/core": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.9.0.tgz", + "integrity": "sha512-JdDb7TrE0imZnwBhMF4+0PCJqGD3AxzH8S2sfk54P0rqvklK+EAtAR/mPb1HwV/JPujQFQJhghQ190Yq03YpVw==", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.9.0", + "@vueuse/shared": "9.9.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.9.0.tgz", + "integrity": "sha512-pgxsUJv/d7IjKpLeB6TthggEsaBwM3ffc5jPrr5TmxAm/fup0mGR5VTzrdA/PSx85tpb+CIvP92D+55qBNc8ag==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.9.0.tgz", + "integrity": "sha512-+D0XFwHG0T+uaIbCSlROBwm1wzs71B7n3KyDOxnvfEMMHDOzl09rYKwaE2AENmYwYPXfHPbSBRDD2gBVHbvTcg==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@wenrenfangge/cesium-draw": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/@wenrenfangge/cesium-draw/-/cesium-draw-1.0.4.tgz", + "integrity": "sha512-miAvsn3j3mHqsQ4FkHqTjRHCqCIsSt+qQRb1YiejFvdHSnyXpzBuQlgkSdjcRjqmYHYpvNh2vAySmyt8TMHzOg==", + "license": "MIT", + "dependencies": { + "@turf/turf": "^7.1.0", + "cesium": "^1.122.0", + "element-plus": "^2.8.6" + } + }, + "node_modules/@windicss/config": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/@windicss/config/-/config-1.8.10.tgz", + "integrity": "sha512-O9SsC110b1Ik3YYa4Ck/0TWuCo7YFfA9KDrwD5sAeqscT5COIGK1HszdCT3oh0MJFej2wNrvpfyW9h6yQaW6PA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "jiti": "^1.16.0", + "windicss": "^3.5.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@windicss/plugin-utils": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-1.8.10.tgz", + "integrity": "sha512-Phqk5OW1w+Mv+ry6t7BzAeDq3aMhbI94gR49j9vQCufFfDGCHndhhjtMK0sBv+NPJUsIAIh6qayb1iwBCXUGrw==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.2", + "@windicss/config": "1.8.10", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "magic-string": "^0.27.0", + "micromatch": "^4.0.5", + "windicss": "^3.5.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@windicss/plugin-utils/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@zip.js/zip.js": { + "version": "2.7.53", + "resolved": "https://registry.npmmirror.com/@zip.js/zip.js/-/zip.js-2.7.53.tgz", + "integrity": "sha512-G6Bl5wN9EXXVaTUIox71vIX5Z454zEBe+akKpV4m1tUboIctT5h7ID3QXCJd/Lfy2rSvmkTmZIucf1jGRR4f5A==", + "license": "BSD-3-Clause", + "engines": { + "bun": ">=0.7.0", + "deno": ">=1.0.0", + "node": ">=16.5.0" + } + }, + "node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/autolinker": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/autolinker/-/autolinker-4.0.0.tgz", + "integrity": "sha512-fl5Kh6BmEEZx+IWBfEirnRUU5+cOiV0OK7PEt0RBKvJMJ8GaRseIOeDU3FKf4j3CE5HVefcjHmhYPOcaVt0bZw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/autolinker/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", + "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bitmap-sdf": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz", + "integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==", + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001457", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz", + "integrity": "sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/cesium": { + "version": "1.123.0", + "resolved": "https://registry.npmmirror.com/cesium/-/cesium-1.123.0.tgz", + "integrity": "sha512-CTwhv9T4Als2NkJPNEDAE88vFybmhc0cySH4SlmaHUJAmXB11lOxOyosSWz14XlvvVEv+t7y19q/+LrUvmtJwQ==", + "license": "Apache-2.0", + "workspaces": [ + "packages/engine", + "packages/widgets" + ], + "dependencies": { + "@cesium/engine": "^12.0.0", + "@cesium/widgets": "^9.0.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chroma-js": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/chroma-js/-/chroma-js-3.1.2.tgz", + "integrity": "sha512-IJnETTalXbsLx1eKEgx19d5L6SRM7cH4vINw/99p/M11HCuXGRWL+6YmCm7FWFGIo6dtWuQoQi1dc5yQ7ESIHg==", + "license": "(BSD-3-Clause AND Apache-2.0)" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.5.2", + "resolved": "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.5.2.tgz", + "integrity": "sha512-H6xsIBfQ94aESBG8jGHXQ7i5AEpy5ZeVaLDOisDICiTCKpqEfr34/KmTrspKQNoLKNu9gTkovlpQcUi630AKiQ==", + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" + } + }, + "node_modules/concaveman": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/concaveman/-/concaveman-1.2.1.tgz", + "integrity": "sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw==", + "license": "ISC", + "dependencies": { + "point-in-polygon": "^1.1.0", + "rbush": "^3.0.1", + "robust-predicates": "^2.0.4", + "tinyqueue": "^2.0.3" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.28.0.tgz", + "integrity": "sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.28.0.tgz", + "integrity": "sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-render": { + "version": "0.15.14", + "resolved": "https://registry.npmmirror.com/css-render/-/css-render-0.15.14.tgz", + "integrity": "sha512-9nF4PdUle+5ta4W5SyZdLCCmFd37uVimSjg1evcTqKJCyvCEEj12WKzOSBNak6r4im4J4iYXKH1OWpUV5LBYFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emotion/hash": "~0.8.0", + "csstype": "~3.0.5" + } + }, + "node_modules/css-render/node_modules/csstype": { + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.0.11.tgz", + "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-geo": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/d3-geo/-/d3-geo-1.7.1.tgz", + "integrity": "sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1" + } + }, + "node_modules/d3-voronoi": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz", + "integrity": "sha512-RhGS1u2vavcO7ay7ZNAPo4xeDh/VYeGof3x5ZLJBQgYhLegxr3s5IykvWmJ94FTU6mcbtp4sloqZ54mP6R4Utw==", + "license": "BSD-3-Clause" + }, + "node_modules/date-fns": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/date-fns/-/date-fns-3.6.0.tgz", + "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/date-fns-tz": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/date-fns-tz/-/date-fns-tz-3.2.0.tgz", + "integrity": "sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "date-fns": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dompurify": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.1.7.tgz", + "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==", + "license": "(MPL-2.0 OR Apache-2.0)" + }, + "node_modules/draco3d": { + "version": "1.5.7", + "resolved": "https://registry.npmmirror.com/draco3d/-/draco3d-1.5.7.tgz", + "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==", + "license": "Apache-2.0" + }, + "node_modules/earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "license": "ISC" + }, + "node_modules/echarts": { + "version": "5.5.1", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz", + "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.0" + } + }, + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.304", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.304.tgz", + "integrity": "sha512-6c8M+ojPgDIXN2NyfGn8oHASXYnayj+gSEnGeLMKb9zjsySeVB/j7KkNAAG9yDcv8gNlhvFg5REa1N/kQU6pgA==", + "dev": true + }, + "node_modules/element-plus": { + "version": "2.8.7", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.8.7.tgz", + "integrity": "sha512-oGQyFRufFOgjd872tZc+T4xQAYLlX4hj6d3ixeY13L4fFNUuc1N49JHAqJGPda0tdx3qCnjceZoh1kqqj2+tXQ==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", + "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.11.tgz", + "integrity": "sha512-Al0hhRUz/cCDvDp9VZp1L500HZZQ/HLjgTnQTmnW97+PoLmw+PuvB3e19JHYZtWnrxoh3qYrN/0tiRIbrE2oVQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.11", + "@esbuild/android-arm64": "0.16.11", + "@esbuild/android-x64": "0.16.11", + "@esbuild/darwin-arm64": "0.16.11", + "@esbuild/darwin-x64": "0.16.11", + "@esbuild/freebsd-arm64": "0.16.11", + "@esbuild/freebsd-x64": "0.16.11", + "@esbuild/linux-arm": "0.16.11", + "@esbuild/linux-arm64": "0.16.11", + "@esbuild/linux-ia32": "0.16.11", + "@esbuild/linux-loong64": "0.16.11", + "@esbuild/linux-mips64el": "0.16.11", + "@esbuild/linux-ppc64": "0.16.11", + "@esbuild/linux-riscv64": "0.16.11", + "@esbuild/linux-s390x": "0.16.11", + "@esbuild/linux-x64": "0.16.11", + "@esbuild/netbsd-x64": "0.16.11", + "@esbuild/openbsd-x64": "0.16.11", + "@esbuild/sunos-x64": "0.16.11", + "@esbuild/win32-arm64": "0.16.11", + "@esbuild/win32-ia32": "0.16.11", + "@esbuild/win32-x64": "0.16.11" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", + "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.4.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.8.0.tgz", + "integrity": "sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==", + "dev": true, + "dependencies": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^9.0.1", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/evtd": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/evtd/-/evtd-0.2.4.tgz", + "integrity": "sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/geojson-equality-ts": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/geojson-equality-ts/-/geojson-equality-ts-1.0.2.tgz", + "integrity": "sha512-h3Ryq+0mCSN/7yLs0eDgrZhvc9af23o/QuC4aTiuuzP/MRCtd6mf5rLsLRY44jX0RPUfM8c4GqERQmlUxPGPoQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "^7946.0.14" + } + }, + "node_modules/geojson-polygon-self-intersections": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/geojson-polygon-self-intersections/-/geojson-polygon-self-intersections-1.2.1.tgz", + "integrity": "sha512-/QM1b5u2d172qQVO//9CGRa49jEmclKEsYOQmWP9ooEjj63tBM51m2805xsbxkzlEELQ2REgTf700gUhhlegxA==", + "license": "MIT", + "dependencies": { + "rbush": "^2.0.1" + } + }, + "node_modules/geojson-polygon-self-intersections/node_modules/quickselect": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-1.1.1.tgz", + "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==", + "license": "ISC" + }, + "node_modules/geojson-polygon-self-intersections/node_modules/rbush": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/rbush/-/rbush-2.0.2.tgz", + "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==", + "license": "MIT", + "dependencies": { + "quickselect": "^1.0.1" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jiti": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.16.0.tgz", + "integrity": "sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsep": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/jsep/-/jsep-1.4.0.tgz", + "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/jsts": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/jsts/-/jsts-2.7.1.tgz", + "integrity": "sha512-x2wSZHEBK20CY+Wy+BPE7MrFQHW6sIsdaGUMEqmGAio+3gFzQaBYPwLRonUfQf9Ak8pBieqj9tUofX1+WtAEIg==", + "license": "(EDL-1.0 OR EPL-1.0)", + "engines": { + "node": ">= 12" + } + }, + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "license": "ISC" + }, + "node_modules/kolorist": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.6.0.tgz", + "integrity": "sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==", + "dev": true + }, + "node_modules/ktx-parse": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/ktx-parse/-/ktx-parse-0.7.1.tgz", + "integrity": "sha512-FeA3g56ksdFNwjXJJsc1CCc7co+AJYDp6ipIp878zZ2bU8kWROatLYf39TQEd4/XRSUvBXovQ8gaVKWPXsCLEQ==", + "license": "MIT" + }, + "node_modules/lerc": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/lerc/-/lerc-2.0.0.tgz", + "integrity": "sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg==", + "license": "Apache-2.0" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/local-pkg": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz", + "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmmirror.com/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "license": "Apache-2.0" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.30.12", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.12.tgz", + "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/marchingsquares": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/marchingsquares/-/marchingsquares-1.3.3.tgz", + "integrity": "sha512-gz6nNQoVK7Lkh2pZulrT4qd4347S/toG9RXH2pyzhLgkL5mLkBoqgv4EvAGXcV0ikDW72n/OQb3Xe8bGagQZCg==", + "license": "AGPL-3.0" + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mersenne-twister": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz", + "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==", + "license": "MIT" + }, + "node_modules/meshoptimizer": { + "version": "0.22.0", + "resolved": "https://registry.npmmirror.com/meshoptimizer/-/meshoptimizer-0.22.0.tgz", + "integrity": "sha512-IebiK79sqIy+E4EgOr+CAw+Ke8hAspXKzBd0JdgEmPHiAwmvEj2S4h1rfvo+o/BnfEYd/jAOg5IeeIjzlzSnDg==", + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mlly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.0.0.tgz", + "integrity": "sha512-QL108Hwt+u9bXdWgOI0dhzZfACovn5Aen4Xvc8Jasd9ouRH4NjnrXEiyP3nVvJo91zPlYjVRckta0Nt2zfoR6g==", + "dev": true, + "dependencies": { + "acorn": "^8.8.1", + "pathe": "^1.0.0", + "pkg-types": "^1.0.0", + "ufo": "^1.0.0" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/muggle-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.1.0.tgz", + "integrity": "sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==", + "dev": true + }, + "node_modules/naive-ui": { + "version": "2.40.1", + "resolved": "https://registry.npmmirror.com/naive-ui/-/naive-ui-2.40.1.tgz", + "integrity": "sha512-3NkL+vLRQZKQxCHXa+7xiD6oM74OrQELaehDkGYRYpr6kjT+JJB+Z7h+5LC70gn8VkbgCAETv0+uRWF+6MLlgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@css-render/plugin-bem": "^0.15.14", + "@css-render/vue3-ssr": "^0.15.14", + "@types/katex": "^0.16.2", + "@types/lodash": "^4.14.198", + "@types/lodash-es": "^4.17.9", + "async-validator": "^4.2.5", + "css-render": "^0.15.14", + "csstype": "^3.1.3", + "date-fns": "^3.6.0", + "date-fns-tz": "^3.1.3", + "evtd": "^0.2.4", + "highlight.js": "^11.8.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "seemly": "^0.3.8", + "treemate": "^0.3.11", + "vdirs": "^0.1.8", + "vooks": "^0.2.12", + "vueuc": "^0.4.63" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" + }, + "node_modules/nosleep.js": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/nosleep.js/-/nosleep.js-0.12.0.tgz", + "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==", + "license": "MIT" + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/npm-run-all/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/npm-run-all/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/npm-run-all/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/npm-run-all/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-run-all/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.0.0.tgz", + "integrity": "sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pinia": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.28.tgz", + "integrity": "sha512-YClq9DkqCblq9rlyUual7ezMu/iICWdBtfJrDt4oWU9Zxpijyz7xB2xTwx57DaBQ96UGvvTMORzALr+iO5PVMw==", + "dependencies": { + "@vue/devtools-api": "^6.4.5", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz", + "integrity": "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.0.0", + "pathe": "^1.0.0" + } + }, + "node_modules/point-in-polygon": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz", + "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==", + "license": "MIT" + }, + "node_modules/point-in-polygon-hao": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/point-in-polygon-hao/-/point-in-polygon-hao-1.1.0.tgz", + "integrity": "sha512-3hTIM2j/v9Lio+wOyur3kckD4NxruZhpowUbEgmyikW+a2Kppjtu1eN+AhnMQtoHW46zld88JiYWv6fxpsDrTQ==", + "license": "MIT" + }, + "node_modules/polygon-clipping": { + "version": "0.15.7", + "resolved": "https://registry.npmmirror.com/polygon-clipping/-/polygon-clipping-0.15.7.tgz", + "integrity": "sha512-nhfdr83ECBg6xtqOAJab1tbksbBAOMUltN60bU+llHVOL0e5Onm1WpAXXWXVB39L8AJFssoIhEVuy/S90MmotA==", + "license": "MIT", + "dependencies": { + "robust-predicates": "^3.0.2", + "splaytree": "^3.1.0" + } + }, + "node_modules/polygon-clipping/node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "license": "Unlicense" + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", + "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.3.tgz", + "integrity": "sha512-s2N5Dh7Ao5KTV1mao5ZBnn8EKtUcDPJEkGViZIjI0Ij9TTI5zgTz4IHOxW33jOdjHKa8CSjM88scelUiC5TNRQ==", + "dev": true, + "engines": { + "node": ">=12.17.0" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-php": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@shufo/prettier-plugin-blade": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "prettier": ">=2.2.0", + "prettier-plugin-astro": "*", + "prettier-plugin-css-order": "*", + "prettier-plugin-import-sort": "*", + "prettier-plugin-jsdoc": "*", + "prettier-plugin-organize-attributes": "*", + "prettier-plugin-organize-imports": "*", + "prettier-plugin-style-order": "*", + "prettier-plugin-svelte": "*", + "prettier-plugin-twig-melody": "*" + }, + "peerDependenciesMeta": { + "@ianvs/prettier-plugin-sort-imports": { + "optional": true + }, + "@prettier/plugin-php": { + "optional": true + }, + "@prettier/plugin-pug": { + "optional": true + }, + "@shopify/prettier-plugin-liquid": { + "optional": true + }, + "@shufo/prettier-plugin-blade": { + "optional": true + }, + "@trivago/prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + }, + "prettier-plugin-css-order": { + "optional": true + }, + "prettier-plugin-import-sort": { + "optional": true + }, + "prettier-plugin-jsdoc": { + "optional": true + }, + "prettier-plugin-organize-attributes": { + "optional": true + }, + "prettier-plugin-organize-imports": { + "optional": true + }, + "prettier-plugin-style-order": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + }, + "prettier-plugin-twig-melody": { + "optional": true + } + } + }, + "node_modules/process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==", + "license": "MIT" + }, + "node_modules/protobufjs": { + "version": "7.4.0", + "resolved": "https://registry.npmmirror.com/protobufjs/-/protobufjs-7.4.0.tgz", + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "license": "ISC" + }, + "node_modules/rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "license": "MIT", + "dependencies": { + "quickselect": "^2.0.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.1.tgz", + "integrity": "sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/robust-predicates": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-2.0.4.tgz", + "integrity": "sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg==", + "license": "Unlicense" + }, + "node_modules/rollup": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.8.1.tgz", + "integrity": "sha512-4yh9eMW7byOroYcN8DlF9P/2jCpu6txVIHjEqquQVSx7DI0RgyCCN3tjrcy4ra6yVtV336aLBB3v2AarYAxePQ==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sass": { + "version": "1.57.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", + "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/satellite.js": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/satellite.js/-/satellite.js-5.0.0.tgz", + "integrity": "sha512-ie3yiJ2LJAJIhVUKdYhgp7V0btXKAMImDjRnuaNfJGl8rjwP2HwVIh4HLFcpiXYEiYwXc5fqh5+yZqCe6KIwWw==", + "license": "MIT" + }, + "node_modules/scule": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", + "dev": true + }, + "node_modules/seemly": { + "version": "0.3.9", + "resolved": "https://registry.npmmirror.com/seemly/-/seemly-0.3.9.tgz", + "integrity": "sha512-bMLcaEqhIViiPbaumjLN8t1y+JpD/N8SiyYOyp0i0W6RgdyLWboIsUWAbZojF//JyerxPZR5Tgda+x3Pdne75A==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/skmeans": { + "version": "0.9.7", + "resolved": "https://registry.npmmirror.com/skmeans/-/skmeans-0.9.7.tgz", + "integrity": "sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg==", + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/splaytree": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/splaytree/-/splaytree-3.1.2.tgz", + "integrity": "sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A==", + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT" + }, + "node_modules/string.prototype.padend": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", + "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.0.tgz", + "integrity": "sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==", + "dev": true, + "dependencies": { + "acorn": "^8.8.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sweepline-intersections": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/sweepline-intersections/-/sweepline-intersections-1.5.0.tgz", + "integrity": "sha512-AoVmx72QHpKtItPu72TzFL+kcYjd67BPLDoR0LarIk+xyaRg+pDTMFXndIEvZf9xEKnJv6JdhgRMnocoG0D3AQ==", + "license": "MIT", + "dependencies": { + "tinyqueue": "^2.0.0" + } + }, + "node_modules/systemjs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.13.0.tgz", + "integrity": "sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==", + "dev": true + }, + "node_modules/tailwindcss": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", + "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", + "dev": true, + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.0.9", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/terser": { + "version": "5.16.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.4.tgz", + "integrity": "sha512-5yEGuZ3DZradbogeYQ1NaGz7rXVBDWujWlx1PT8efXO6Txn+eWbfKqB2bTDVmFXmePFkoLU6XI8UektMIEA0ug==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "license": "MIT", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "license": "ISC" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "license": "ISC", + "dependencies": { + "commander": "2" + }, + "bin": { + "topo2geo": "bin/topo2geo", + "topomerge": "bin/topomerge", + "topoquantize": "bin/topoquantize" + } + }, + "node_modules/topojson-server": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/topojson-server/-/topojson-server-3.0.1.tgz", + "integrity": "sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==", + "license": "ISC", + "dependencies": { + "commander": "2" + }, + "bin": { + "geo2topo": "bin/geo2topo" + } + }, + "node_modules/treemate": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/treemate/-/treemate-0.3.11.tgz", + "integrity": "sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==", + "dev": true + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.7.tgz", + "integrity": "sha512-ueeb9YybpjhivjbHP2LdFDAjbS948fGEPj+ACAMs4xCMmh72OCOMQWBQKlaN4ZNQ04yfLSDLSx1tGRIoWimObQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ufo": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz", + "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==", + "dev": true + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unimport": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-1.1.0.tgz", + "integrity": "sha512-dSufi3POQWUVAMU6DxXu39U0cWzz5m3FtQBUbgDJTkCpeRfyiYhDg+BOz6UPKfDPtEhkbshV8JoMV3I8i/mQ+A==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "mlly": "^1.0.0", + "pathe": "^1.0.0", + "pkg-types": "^1.0.1", + "scule": "^1.0.0", + "strip-literal": "^1.0.0", + "unplugin": "^1.0.1" + } + }, + "node_modules/unimport/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/unplugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz", + "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==", + "dev": true, + "dependencies": { + "acorn": "^8.8.1", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "node_modules/unplugin-auto-import": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.12.1.tgz", + "integrity": "sha512-J/3ZORq5YGKG+8D5vLLOgqaHNK77izlVN07mQ752yRLqBNDbJiwPRSnUwwYqH5N6rDay1SqnJCHaUdbJ9QMI2w==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "unimport": "^1.0.2", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-auto-import/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/unplugin-vue-components": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.12.tgz", + "integrity": "sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "minimatch": "^5.1.1", + "resolve": "^1.22.1", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@babel/parser": "^7.15.8", + "vue": "2 || 3" + }, + "peerDependenciesMeta": { + "@babel/parser": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-components/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/unplugin-vue-components/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/unplugin-vue-components/node_modules/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmmirror.com/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==", + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/v-viewer": { + "version": "3.0.21", + "resolved": "https://registry.npmmirror.com/v-viewer/-/v-viewer-3.0.21.tgz", + "integrity": "sha512-FyorVqtWiv9LvDG36XEh8HDv8TAcVnMn0+s4b9yKUdBriAZNlYJvgyhGnhyBH/w9yK1PlLVyhorKEj26B6JK1Q==", + "license": "MIT", + "dependencies": { + "lodash-es": "^4.17.21", + "viewerjs": "^1.11.6" + }, + "peerDependencies": { + "viewerjs": "^1.11.0", + "vue": "^3.0.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vdirs": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/vdirs/-/vdirs-0.1.8.tgz", + "integrity": "sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "evtd": "^0.2.2" + }, + "peerDependencies": { + "vue": "^3.0.11" + } + }, + "node_modules/viewerjs": { + "version": "1.11.7", + "resolved": "https://registry.npmmirror.com/viewerjs/-/viewerjs-1.11.7.tgz", + "integrity": "sha512-0JuVqOmL5v1jmEAlG5EBDR3XquxY8DWFQbFMprOXgaBB0F7Q/X9xWdEaQc59D8xzwkdUgXEMSSknTpriq95igg==", + "license": "MIT" + }, + "node_modules/vite": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.3.tgz", + "integrity": "sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==", + "dev": true, + "dependencies": { + "esbuild": "^0.16.3", + "postcss": "^8.4.20", + "resolve": "^1.22.1", + "rollup": "^3.7.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-windicss": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-1.8.10.tgz", + "integrity": "sha512-scywsuzo46lcTBohspmF0WiwhWEte6p+OUVrX4yr7VMRvLHMHVfLtJReyD5pppjijG7YOwVsZn7XBWWZtF658Q==", + "dev": true, + "dependencies": { + "@windicss/plugin-utils": "1.8.10", + "debug": "^4.3.4", + "kolorist": "^1.6.0", + "windicss": "^3.5.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.0.1 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/vooks": { + "version": "0.2.12", + "resolved": "https://registry.npmmirror.com/vooks/-/vooks-0.2.12.tgz", + "integrity": "sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "evtd": "^0.2.2" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.12.tgz", + "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.12", + "@vue/compiler-sfc": "3.5.12", + "@vue/runtime-dom": "3.5.12", + "@vue/server-renderer": "3.5.12", + "@vue/shared": "3.5.12" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-draggable-plus": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/vue-draggable-plus/-/vue-draggable-plus-0.5.6.tgz", + "integrity": "sha512-RMt8YuoB534GH2LD2M60KxHDPtfjfl2C9mH3YSEsfcZBclcoRs5RyrLiEKhUM0QCAQG2T/c3ktHujzxxomqfIw==", + "license": "MIT", + "dependencies": { + "@types/sortablejs": "^1.15.8" + }, + "peerDependencies": { + "@types/sortablejs": "^1.15.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz", + "integrity": "sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/vue-router": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz", + "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", + "dependencies": { + "@vue/devtools-api": "^6.4.5" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.0.18.tgz", + "integrity": "sha512-JFLAz3Xh/iyTnMGdlfG3TuvcaJyFcqyELpLv50jyvOYLAS2+WHzac0IB73FQ37HmGm/4IWMkQZS5r/9FKSejQQ==", + "dev": true, + "dependencies": { + "@volar/vue-language-core": "1.0.18", + "@volar/vue-typescript": "1.0.18" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/vue3-seamless-scroll": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/vue3-seamless-scroll/-/vue3-seamless-scroll-2.0.1.tgz", + "integrity": "sha512-mI3BaDU3pjcPUhVSw3/xNKdfPBDABTi/OdZaZqKysx4cSdNfGRbVvGNDzzptBbJ5S7imv5T55l6x/SqgnxKreg==", + "license": "MIT", + "dependencies": { + "throttle-debounce": "5.0.0" + } + }, + "node_modules/vueuc": { + "version": "0.4.64", + "resolved": "https://registry.npmmirror.com/vueuc/-/vueuc-0.4.64.tgz", + "integrity": "sha512-wlJQj7fIwKK2pOEoOq4Aro8JdPOGpX8aWQhV8YkTW9OgWD2uj2O8ANzvSsIGjx7LTOc7QbS7sXdxHi6XvRnHPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@css-render/vue3-ssr": "^0.15.10", + "@juggle/resize-observer": "^3.3.1", + "css-render": "^0.15.10", + "evtd": "^0.2.4", + "seemly": "^0.3.6", + "vdirs": "^0.1.4", + "vooks": "^0.2.4" + }, + "peerDependencies": { + "vue": "^3.0.11" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "dev": true + }, + "node_modules/wellknown": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/wellknown/-/wellknown-0.5.0.tgz", + "integrity": "sha512-za5vTLuPF9nmrVOovYQwNEWE/PwJCM+yHMAj4xN1WWUvtq9OElsvKiPL0CR9rO8xhrYqL7NpI7IknqR8r6eYOg==", + "license": "BSD", + "dependencies": { + "concat-stream": "~1.5.0", + "minimist": "~1.2.0" + }, + "bin": { + "wellknown": "cli.js" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/windicss": { + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/windicss/-/windicss-3.5.6.tgz", + "integrity": "sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==", + "dev": true, + "bin": { + "windicss": "cli/index.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/wkt-parser-helper": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/wkt-parser-helper/-/wkt-parser-helper-4.2.0.tgz", + "integrity": "sha512-SZTisr66IQ19KVAvXjsix3cmyqZ/WG3W3QOgdtOelPFvUMlhoh5AmCmqmXiN9agbWROPBdo6baCT6/7YAYoZZg==", + "license": "MIT", + "dependencies": { + "wellknown": "^0.5.0" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zrender": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz", + "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + }, + "node_modules/zrender/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@antfu/utils": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", + "dev": true + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true + }, + "@babel/core": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", + "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.0", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", + "dev": true, + "requires": { + "@babel/types": "^7.21.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", + "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz", + "integrity": "sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.0.tgz", + "integrity": "sha512-eD/JQ21IG2i1FraJnTMbUarAUkA7G988ofehG5MDCRXaUU91rEBJuCeSoou2Sk1y4RbLYXzqEg1QLwEmRU4qcQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==" + }, + "@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==" + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "requires": { + "@babel/types": "^7.26.0" + } + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", + "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", + "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", + "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", + "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.0.tgz", + "integrity": "sha512-Xdt2P1H4LKTO8ApPfnO1KmzYMFpp7D/EinoXzLYN/cHcBNrVCAkAtGUcXnHXrl/VGktureU6fkQrHSBE2URfoA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.0", + "@babel/types": "^7.21.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "requires": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + } + }, + "@cesium-extends/common": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@cesium-extends/common/-/common-1.0.1.tgz", + "integrity": "sha512-EGML9rQDnZcUfCwYUUP5ctYtMWTIVoDShOTSSvl5yW9vVt/buy81YzUkjfAL2oFMJfZpKr16HYlAJCz3nnsPKw==", + "requires": {} + }, + "@cesium-extends/drawer": { + "version": "1.3.6", + "resolved": "https://registry.npmmirror.com/@cesium-extends/drawer/-/drawer-1.3.6.tgz", + "integrity": "sha512-FiOXGr+bsnHIsj2AGL3rtKe+FvinDbj9nNubW1rpOVi3IH7J6vaMay1B3cDX9Rq5/3wic/P8KYxwjFh+BSBR8w==", + "requires": { + "@cesium-extends/common": "^1.0.1", + "@cesium-extends/subscriber": "^1.0.1", + "@cesium-extends/tooltip": "^1.2.1" + } + }, + "@cesium-extends/heat": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@cesium-extends/heat/-/heat-1.0.3.tgz", + "integrity": "sha512-NCjlaXyP6CST4J+m23GkLWXZC7me+/6EvZQ3WD/4aUZyZyCX0wQFHiODRWjOp503WRIdCOkBGl4GXO3T4AXndA==", + "requires": { + "@mars3d/heatmap.js": "^2.0.7" + } + }, + "@cesium-extends/subscriber": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@cesium-extends/subscriber/-/subscriber-1.1.0.tgz", + "integrity": "sha512-yz9wSV76FZtkKUEL2u8zea7iZFWSvdpUVDDdGFQM6nWIfEkoFDTVOM5Ur4icGiOSEmCgv0QsMNpgytjVOqKU+w==", + "requires": {} + }, + "@cesium-extends/tooltip": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@cesium-extends/tooltip/-/tooltip-1.2.2.tgz", + "integrity": "sha512-RhCjbmol+K2cs7JBbRk6A3cOjNQYm4y5LIGch0UgQ8Zyu+Q8DBpQwOjY8E7oZNMm6vMwJi+Pzv8jmOqfge82nA==", + "requires": { + "@cesium-extends/common": "^1.0.1" + } + }, + "@cesium/engine": { + "version": "12.0.0", + "resolved": "https://registry.npmmirror.com/@cesium/engine/-/engine-12.0.0.tgz", + "integrity": "sha512-eC61e0mnHXbvmjyFA0v7ocjDvaEzkvKd6xX6PSnA8r61vFq1XbozREK+zDRsyKZhg8MW+oBZBFIWFVLHV3G7mw==", + "requires": { + "@tweenjs/tween.js": "^25.0.0", + "@zip.js/zip.js": "^2.7.34", + "autolinker": "^4.0.0", + "bitmap-sdf": "^1.0.3", + "dompurify": "^3.0.2", + "draco3d": "^1.5.1", + "earcut": "^3.0.0", + "grapheme-splitter": "^1.0.4", + "jsep": "^1.3.8", + "kdbush": "^4.0.1", + "ktx-parse": "^0.7.0", + "lerc": "^2.0.0", + "mersenne-twister": "^1.1.0", + "meshoptimizer": "^0.22.0", + "pako": "^2.0.4", + "protobufjs": "^7.1.0", + "rbush": "3.0.1", + "topojson-client": "^3.1.0", + "urijs": "^1.19.7" + }, + "dependencies": { + "earcut": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/earcut/-/earcut-3.0.0.tgz", + "integrity": "sha512-41Fs7Q/PLq1SDbqjsgcY7GA42T0jvaCNGXgGtsNdvg+Yv8eIu06bxv4/PoREkZ9nMDNwnUSG9OFB9+yv8eKhDg==" + } + } + }, + "@cesium/widgets": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/@cesium/widgets/-/widgets-9.0.0.tgz", + "integrity": "sha512-Av0aGPUEOjTohZlNWmqb4TicWuTqp1YigO93XQkarW5Q++yjdhn/m123gwviV6YsD0FFQ/JyeftvszZAGZHdsw==", + "requires": { + "@cesium/engine": "^12.0.0", + "nosleep.js": "^0.12.0" + } + }, + "@css-render/plugin-bem": { + "version": "0.15.14", + "resolved": "https://registry.npmmirror.com/@css-render/plugin-bem/-/plugin-bem-0.15.14.tgz", + "integrity": "sha512-QK513CJ7yEQxm/P3EwsI+d+ha8kSOcjGvD6SevM41neEMxdULE+18iuQK6tEChAWMOQNQPLG/Rw3Khb69r5neg==", + "dev": true, + "requires": {} + }, + "@css-render/vue3-ssr": { + "version": "0.15.14", + "resolved": "https://registry.npmmirror.com/@css-render/vue3-ssr/-/vue3-ssr-0.15.14.tgz", + "integrity": "sha512-//8027GSbxE9n3QlD73xFY6z4ZbHbvrOVB7AO6hsmrEzGbg+h2A09HboUyDgu+xsmj7JnvJD39Irt+2D0+iV8g==", + "dev": true, + "requires": {} + }, + "@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" + }, + "@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "requires": {} + }, + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "dev": true + }, + "@esbuild/android-arm": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.11.tgz", + "integrity": "sha512-j2xsG1OETgCe+OBA54DG5vLuGjmMZtQvyxt+rTw2aYK/RqjcG/F+UDdj43uoUOv8lSRC3lM4XpKLOVZfY/82yA==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.11.tgz", + "integrity": "sha512-CPwhZd15PasQSlkFuZv1st37xvuBeklztfb9y2GZWLQu59zcMIDkZVSEz/TTIxzt811+eJfblg5HhP49iVVDWQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.11.tgz", + "integrity": "sha512-vbFn+0JXX6FkKq+0sNeA6aF2QhuOt9ZkBl+DSyqKIF+Ms58lUOhbqSwberKWQDm0udgOp3d/LhOFTYmpvmlZmA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.11.tgz", + "integrity": "sha512-1tqsIG6AySZ9njT8V2ddH1F/J01zX+0obPCpP0uD9TMIUlAA5WUF/+abFlnIsNY4jACcbN/13NUbLRWE9bayjw==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.11.tgz", + "integrity": "sha512-Gqx2/nYqnK46dwEDPGv3SwLqgLIZQJ7m2xNoNRzO50VZPvoCWSUqDaoirrZZf7uVfl+fxHoZBcdQJx2gOdxffQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.11.tgz", + "integrity": "sha512-58FTdlgIQ3ZxFtGphjbIBmo7kfDhQih/PlfAnKraAcCDZOYXWcRFmHJtW+EVg32IIxuEAqhLAzCgrqpm5o8Wlw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.11.tgz", + "integrity": "sha512-L7hr6VnpqZzYEDVQeaViz1QnmfFRCRm3zVtljbYi/CU6InKs6tda1J3pAvqVsbNpbGMA9AvyiyBrgjJAFCawVg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.11.tgz", + "integrity": "sha512-Mk6TZij71alyS0FGuKEKYjTZGjUw2uXi07V/AiGZW1b5grTfGx6lpsbQdystgDJqju99Osq2Ix+C7WteSnwrHg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.11.tgz", + "integrity": "sha512-OKU0ajh9Xu7Pd1MlSq8Xqj5SJEV+4yVnALydPTDrrmTyvU72P8mTRJgZMilHw7H+Jqc0utryjNOwlJ/+fOkwGw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.11.tgz", + "integrity": "sha512-pr1/tdDfgQQ9hp2IskSKMuwkx2X4jR7iHLbqEmmj/lPLKeoa6AUulnglGY4y0OPo+0eAYd6DzWp7ve3KI4lOCA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.11.tgz", + "integrity": "sha512-2MCYdDBh9R+R1xuBFiApgkbp/tW1uV+aVeefKYqWSEk3o6MHzWo1FxEGA4dSnC+kThSBOMVpCV9z4/DPouA3bQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.11.tgz", + "integrity": "sha512-IyotdnRg0J8F9FKttYe3cy/M9ZJ5W/Gm6whH08sbXMxRVKs/TyyoqFIA8oT1MzR+si6GLlRpcF7JbUnOXssjPA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.11.tgz", + "integrity": "sha512-NUMtxvb0j41UL8yf8VnTMNbCQxKqIPmF0Wf/N44UrxpKE8iCNmWT95Wt98Ivr2ebHdz+V3kptlgBuZNYcJLI6g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.11.tgz", + "integrity": "sha512-03/B26az/JezvVkgck+lhauP13t6RqzCQgnrkBCBrXXpX+2r02DfSU43BEhpErJrsrDA8GXSE/rvsfbGCX6OvA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.11.tgz", + "integrity": "sha512-Xs2tRB0fgly4XfC4FMv1Fd699AMEH8BClp36mzqRuVzm/285XIJaK5cPEZ9cLLn9ukNHdvvSX/83u5uS1BCd8g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.11.tgz", + "integrity": "sha512-CiNialxsjJllrG3ggzOKzSaqQK/De/Mv4g/3r7jxLt01GLerPh0Q3TVTndFG9VfOrR1PdN7Fz5AOV3bE6Isd1Q==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.11.tgz", + "integrity": "sha512-PiljZi6QZ3Pz0pL8rfJqPln8F/a3mEJwh2vhBb1kDYLniLufo9/7AInb/ZyhvgR7FxUQluUYyz64owPomgaLJA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.11.tgz", + "integrity": "sha512-Nyk8aJM+w6NoS4RGQJ0ybb516jEIbEVlLvhRIdpCssUuqKU0lr9lJPHnFY2QqyoVaJkd6VxaHOBU/v/ieuiENQ==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.11.tgz", + "integrity": "sha512-shxBLdNJecr7KxuyZQ19idBU8x7Mq7m+N5Fj8ROWMWQbDdjSjlBPxz7EZJIxSh7FUgSMKl7qSCCVaczXrta4MQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.11.tgz", + "integrity": "sha512-vyTbfoEBn7cGXK8writbsB+G2wyRoOA+EbTNQ9cu5lyLU65sfWetCaL8T7mX338AN8tTbCYl6ce5YRKTonpA3w==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.11.tgz", + "integrity": "sha512-ATGCGc52LNqakUE9i54RzFC4lm70UTcTW721AFGjQotc6uCg7sf7QeRd05wD5tLBFafHdMSZv4rsU/Nh7LT/rQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.11.tgz", + "integrity": "sha512-7NcClJIctrO3iRu5CCqwdSBePm8bL2Iu1DYsuOnxuYJ+a1Kv3Wn3MzNdJIrUPLi1yADVwRliRUU/jtMC/tJnJA==", + "dev": true, + "optional": true + }, + "@eslint/eslintrc": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", + "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@floating-ui/core": { + "version": "1.6.8", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "requires": { + "@floating-ui/utils": "^0.2.8" + } + }, + "@floating-ui/dom": { + "version": "1.6.12", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.12.tgz", + "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", + "requires": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" + } + }, + "@floating-ui/utils": { + "version": "0.2.8", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==" + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", + "dev": true + }, + "@mars3d/heatmap.js": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@mars3d/heatmap.js/-/heatmap.js-2.0.7.tgz", + "integrity": "sha512-cIXF6XF761d0ZS0XB43UlNvvXZrHj9VIJv4H6da2AiGS/R1gUs7KvSeu0XEEztiG4FdoeLrwIjIV0yZYDwIDZg==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@popperjs/core": { + "version": "npm:@sxzz/popperjs-es@2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@rushstack/eslint-patch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==", + "dev": true + }, + "@turf/along": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/along/-/along-7.1.0.tgz", + "integrity": "sha512-WLgBZJ/B6CcASF6WL7M+COtHlVP0hBrMbrtKyF7KBlicwRuijJZXDtEQA5oLgr+k1b2HqGN+UqH2A0/E719enQ==", + "requires": { + "@turf/bearing": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/angle": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/angle/-/angle-7.1.0.tgz", + "integrity": "sha512-YMHEV/YrARsWgWoQuXEWrQMsvB8z67nTMw2eiLZ883V7jwkhWQGvCW6W+/mGgsWQdHppjCZNcKryryhD2GRWVA==", + "requires": { + "@turf/bearing": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/area": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/area/-/area-7.1.0.tgz", + "integrity": "sha512-w91FEe02/mQfMPRX2pXua48scFuKJ2dSVMF2XmJ6+BJfFiCPxp95I3+Org8+ZsYv93CDNKbf0oLNEPnuQdgs2g==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/bbox": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bbox/-/bbox-7.1.0.tgz", + "integrity": "sha512-PdWPz9tW86PD78vSZj2fiRaB8JhUHy6piSa/QXb83lucxPK+HTAdzlDQMTKj5okRCU8Ox/25IR2ep9T8NdopRA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/bbox-clip": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bbox-clip/-/bbox-clip-7.1.0.tgz", + "integrity": "sha512-PhZubKCzF/afwStUzODqOJluiCbCw244lCtVhXA9F+Pgkhvk8KvbFdgpPquOZ45OwuktrchSB28BrBkSBiadHw==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/bbox-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bbox-polygon/-/bbox-polygon-7.1.0.tgz", + "integrity": "sha512-fvZB09ErCZOVlWVDop836hmpKaGUmfXnR9naMhS73A/8nn4M3hELbQtMv2R8gXj7UakXCuxS/i9erdpDFZ2O+g==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/bearing": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bearing/-/bearing-7.1.0.tgz", + "integrity": "sha512-X5lackrZ6FW+YhgjWxwVFRgWD1j4xm4t5VvE6EE6v/1PVaHQ5OCjf6u1oaLx5LSG+gaHUhjTlAHrn9MYPFaeTA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/bezier-spline": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/bezier-spline/-/bezier-spline-7.1.0.tgz", + "integrity": "sha512-bhBY70bcVYJEosuW7B/TFtnE5rmPTTpxmJvljhGC0eyM84oNVv7apDBuseb5KdlTOOBIvdD9nIE4qV8lmplp6w==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-clockwise": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-clockwise/-/boolean-clockwise-7.1.0.tgz", + "integrity": "sha512-H5DYno+gHwZx+VaiC8DUBZXZQlxYecdSvqCfCACWi1uMsKvlht/O+xy65hz2P57lk2smlcV+1ETFVxJlEZduYg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-concave": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-concave/-/boolean-concave-7.1.0.tgz", + "integrity": "sha512-IFCN25DI+hvngxIsv4+MPuRJQRl/Lz/xnZgpH82leCn4Jqn5wW7KqKFMz7G4GoKK+93cK5/6ioAxY7hVWBXxJw==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-contains": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-contains/-/boolean-contains-7.1.0.tgz", + "integrity": "sha512-ldy4j1/RVChYTYjEb4wWaE/JyF1jA87WpsB4eVLic6OcAYJGs7POF1kfKbcdkJJiRBmhI3CXNA+u+m9y4Z/j3g==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-crosses": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-crosses/-/boolean-crosses-7.1.0.tgz", + "integrity": "sha512-LK8UM3AENycuGinLCDaL0QSznGMnD0XsjFDGnY4KehshiL5Zd8ZsPyKmHOPygUJT9DWeH69iLx459lOc+5Vj2w==", + "requires": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/polygon-to-line": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-disjoint": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-disjoint/-/boolean-disjoint-7.1.0.tgz", + "integrity": "sha512-JapOG03kOCoGeYMWgTQjEifhr1nUoK4Os2cX0iC5X9kvZF4qCHeruX8/rffBQDx7PDKQKusSTXq8B1ISFi0hOw==", + "requires": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/polygon-to-line": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-equal": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-equal/-/boolean-equal-7.1.0.tgz", + "integrity": "sha512-deghtFMApc7fNsdXtZdgYR4gsU+TVfowcv666nrvZbPPsXL6NTYGBhDFmYXsJ8gPTCGT9uT0WXppdgT8diWOxA==", + "requires": { + "@turf/clean-coords": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "geojson-equality-ts": "^1.0.2", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-intersects": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-intersects/-/boolean-intersects-7.1.0.tgz", + "integrity": "sha512-gpksWbb0RT+Z3nfqRfoACY3KEFyv2BPaxJ3L76PH67DhHZviq3Nfg85KYbpuhS64FSm+9tXe4IaKn6EjbHo20g==", + "requires": { + "@turf/boolean-disjoint": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-overlap": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-overlap/-/boolean-overlap-7.1.0.tgz", + "integrity": "sha512-mJRN0X8JiPm8eDZk5sLvIrsP03A2GId6ijx4VgSE1AvHwV6qB561KlUbWxga2AScocIfv/y/qd2OCs+/TQSZcg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/line-overlap": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "geojson-equality-ts": "^1.0.2", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-parallel": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-parallel/-/boolean-parallel-7.1.0.tgz", + "integrity": "sha512-tA84Oux0X91CxUc6c/lZph5W9wUZGNT4fxFOg5Gp1IMTSwtxSYL1LMvKsr/VmMnwdOUkNcqAgU06+t4wBLtDfg==", + "requires": { + "@turf/clean-coords": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/line-segment": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-point-in-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-7.1.0.tgz", + "integrity": "sha512-mprVsyIQ+ijWTZwbnO4Jhxu94ZW2M2CheqLiRTsGJy0Ooay9v6Av5/Nl3/Gst7ZVXxPqMeMaFYkSzcTc87AKew==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "point-in-polygon-hao": "^1.1.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-point-on-line": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-point-on-line/-/boolean-point-on-line-7.1.0.tgz", + "integrity": "sha512-Kd83EjeTyY4kVMAhcW3Lb8aChwh24BUIhmpE9Or8M+ETNsFGzn9M7qtIySJHLRzKAL3letvWSKXKQPuK1AhAzg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-touches": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-touches/-/boolean-touches-7.1.0.tgz", + "integrity": "sha512-qN4LCs3RfVtNAAdn5GpsUFBqoZyAaK9UzSnGSh67GP9sy5M8MEHwM/HAJ5zGWJqQADrczI3U6BRWGLcGfGSz3Q==", + "requires": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-valid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-valid/-/boolean-valid-7.1.0.tgz", + "integrity": "sha512-zq1QCfQEyn+piHlvxxDifjmsJn2xl53i4mnKFYdMQI/i09XiX+Fi/MVM3i2hf3D5AsEPsud8Tk7C7rWNCm4nVw==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-crosses": "^7.1.0", + "@turf/boolean-disjoint": "^7.1.0", + "@turf/boolean-overlap": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@types/geojson": "^7946.0.10", + "geojson-polygon-self-intersections": "^1.2.1", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/boolean-within": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/boolean-within/-/boolean-within-7.1.0.tgz", + "integrity": "sha512-pgXgKCzYHssADQ1nClB1Q9aWI/dE1elm2jy3B5X59XdoFXKrKDZA+gCHYOYgp2NGO/txzVfl3UKvnxIj54Fa4w==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/buffer": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/buffer/-/buffer-7.1.0.tgz", + "integrity": "sha512-QM3JiCMYA19k5ouO8wJtvICX3Y8XntxVpDfHSKhFFidZcCkMTR2PWWOpwS6EoL3t75rSKw/FOLIPLZGtIu963w==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/center": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/jsts": "^2.7.1", + "@turf/meta": "^7.1.0", + "@turf/projection": "^7.1.0", + "@types/geojson": "^7946.0.10", + "d3-geo": "1.7.1" + } + }, + "@turf/center": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/center/-/center-7.1.0.tgz", + "integrity": "sha512-p9AvBMwNZmRg65kU27cGKHAUQnEcdz8Y7f/i5DvaMfm4e8zmawr+hzPKXaUpUfiTyLs8Xt2W9vlOmNGyH+6X3w==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/center-mean": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/center-mean/-/center-mean-7.1.0.tgz", + "integrity": "sha512-NQZB1LUVsyAD+p0+D4huzX2XVnfVx1yEEI9EX602THmi+g+nkge4SK9OMV11ov/Tv8JJ6aVNVPo/cy1vm/LCIQ==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/center-median": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/center-median/-/center-median-7.1.0.tgz", + "integrity": "sha512-jx4/Ql5+v41Cd0J/gseNCUbLTzWUT2LUaiXn8eFWDrvmEgqHIx7KJcGcJd5HzV+9zJwng4AXxyh5NMvUR0NjwA==", + "requires": { + "@turf/center-mean": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/center-of-mass": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/center-of-mass/-/center-of-mass-7.1.0.tgz", + "integrity": "sha512-j38oBlj7LBoCjZbrIo8EoHVGhk7UQmMLQ1fe8ZPAF9pd05XEL1qxyHKZKdQ/deGISiaEhXCyfLNrKAHAuy25RA==", + "requires": { + "@turf/centroid": "^7.1.0", + "@turf/convex": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/centroid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/centroid/-/centroid-7.1.0.tgz", + "integrity": "sha512-1Y1b2l+ZB1CZ+ITjUCsGqC4/tSjwm/R4OUfDztVqyyCq/VvezkLmTNqvXTGXgfP0GXkpv68iCfxF5M7QdM5pJQ==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/circle": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/circle/-/circle-7.1.0.tgz", + "integrity": "sha512-6qhF1drjwH0Dg3ZB9om1JkWTJfAqBcbtIrAj5UPlrAeHP87hGoCO2ZEsFEAL9Q18vntpivT89Uho/nqQUjJhYw==", + "requires": { + "@turf/destination": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/clean-coords": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clean-coords/-/clean-coords-7.1.0.tgz", + "integrity": "sha512-q1U8UbRVL5cRdwOlNjD8mad8pWjFGe0s4ihg1pSiVNq7i47WASJ3k20yZiUFvuAkyNjV0rZ/A7Jd7WzjcierFg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/clone": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clone/-/clone-7.1.0.tgz", + "integrity": "sha512-5R9qeWvL7FDdBIbEemd0eCzOStr09oburDvJ1hRiPCFX6rPgzcZBQ0gDmZzoF4AFcNLb5IwknbLZjVLaUGWtFA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/clusters": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clusters/-/clusters-7.1.0.tgz", + "integrity": "sha512-7CY3Ai+5V6q2O9/IgqLpJQrmrTy7aUJjTW1iRan8Tz3WixvxyJHeS3iyRy8Oc0046chQIaHLtyTgKVt2QdsPSA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/clusters-dbscan": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clusters-dbscan/-/clusters-dbscan-7.1.0.tgz", + "integrity": "sha512-BmrBTOEaKN5FIED6b3yb3V3ejfK0A2Q3pT9/ji3mcRLJiBaRGeiN5V6gtGXe7PeMYdoqhHykU5Ye2uUtREWRdQ==", + "requires": { + "@turf/clone": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "rbush": "^3.0.1", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/clusters-kmeans": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/clusters-kmeans/-/clusters-kmeans-7.1.0.tgz", + "integrity": "sha512-M8cCqR6iE1jDSUF/UU9QdPUFrobZS2fo59TfF1IRHZ2G1EjbcK4GzZcUfmQS6DZraGudYutpMYIuNdm1dPMqdQ==", + "requires": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "skmeans": "0.9.7", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/collect": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/collect/-/collect-7.1.0.tgz", + "integrity": "sha512-6indMWLiKeBh4AsioNeFeFnO0k9U5CBsWAFEje6tOEFI4c+P7LF9mNA9z91H8KkrhegR9XNO5Vm2rmdY63aYXw==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "rbush": "^3.0.1", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/combine": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/combine/-/combine-7.1.0.tgz", + "integrity": "sha512-Xl7bGKKjgzIq2T/IemS6qnIykyuxU6cMxKtz+qLeWJGoNww/BllwxXePSV+dWRPXZTFFj96KIhBXAW0aUjAQKQ==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/concave": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/concave/-/concave-7.1.0.tgz", + "integrity": "sha512-aSid53gYRee4Tjc4pfeI3KI+RoBUnL/hRMilxIPduagTgZZS+cvvk01OQWBKm5UTVfHRGuy0XIqnK8y9RFinDQ==", + "requires": { + "@turf/clone": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/tin": "^7.1.0", + "@types/geojson": "^7946.0.10", + "topojson-client": "3.x", + "topojson-server": "3.x", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/convex": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/convex/-/convex-7.1.0.tgz", + "integrity": "sha512-w9fUMZYE36bLrEWEj7L7aVMCB7NBtr2o8G+avRvUIwF4DPqbtcjlcZE9EEBfq44uYdn+/Pke6Iq42T/zyD/cpg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "concaveman": "^1.2.1", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/destination": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/destination/-/destination-7.1.0.tgz", + "integrity": "sha512-97XuvB0iaAiMg86hrnZ529WwP44TQAA9mmI5PMlchACiA4LFrEtWjjDzvO6234coieoqhrw6dZYcJvd5O2PwrQ==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/difference": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/difference/-/difference-7.1.0.tgz", + "integrity": "sha512-+JVzdskICQ8ULKQ9CpWUM5kBvoXxN4CO78Ez/Ki3/7NXl7+HM/nb12B0OyM8hkJchpb8TsOi0YwyJiKMqEpTBA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/dissolve": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/dissolve/-/dissolve-7.1.0.tgz", + "integrity": "sha512-fyOnCSYVUZ8SF9kt9ROnQYlkJTE0hpWSoWwbMZQCAR7oVZVPiuPq7eIbzTP+k5jzEAnofsqoGs5qVDTjHcWMiw==", + "requires": { + "@turf/flatten": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/distance": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/distance/-/distance-7.1.0.tgz", + "integrity": "sha512-hhNHhxCHB3ddzAGCNY4BtE29OZh+DAJPvUapQz+wOjISnlwvMcwLKvslgHWSYF536QDVe/93FEU2q67+CsZTPA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/distance-weight": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/distance-weight/-/distance-weight-7.1.0.tgz", + "integrity": "sha512-8m6s4y8Yyt6r3itf44yAJjXC+62UkrkhOpskIfaE0lHcBcvZz9wjboHoBf3bS4l/42E4StcanbFZdjOpODAdZw==", + "requires": { + "@turf/centroid": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/ellipse": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/ellipse/-/ellipse-7.1.0.tgz", + "integrity": "sha512-AfOahUmStDExWGPg8ZWxxkgom+fdJs7Mn9DzZH+fV/uZ+je1bLQpbPCUu9/ev6u/HhbYGl4VAL/CeQzjOyy6LQ==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@turf/transform-rotate": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/envelope": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/envelope/-/envelope-7.1.0.tgz", + "integrity": "sha512-WeLQse9wuxsxhzSqrJA6Ha7rLWnLKgdKY9cfxmJKHSpgqcJyNk60m7+T3UpI/nkGwpfbpeyB3EGC1EWPbxiDUg==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/explode": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/explode/-/explode-7.1.0.tgz", + "integrity": "sha512-To+GUbU6HtcHZ8S0w/dw1EbdQIOCXALTr6Ug5/IFg8hIBMJelDpVr3Smwy8uqhDRFinY2eprBwQnDPcd10eCqA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/flatten": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/flatten/-/flatten-7.1.0.tgz", + "integrity": "sha512-Kb23pqEarcLsdBqnQcK0qTrSMiWNTVb9tOFrNlZc66DIhDLAdpOKG4eqk00CMoUzWTixlnawDgJRqcStRrR4WA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/flip": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/flip/-/flip-7.1.0.tgz", + "integrity": "sha512-vac73W8WblzzNFanzWYLBzWDIcqc5xczOrtEO07RDEiKEI3Heo0471Jed3v9W506uuOX6/HAiCjXbRjTLjiLfw==", + "requires": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/geojson-rbush": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/geojson-rbush/-/geojson-rbush-7.1.0.tgz", + "integrity": "sha512-j1C7Ohlxa1z644bNOpgibcFGaDLgLXGLOzwF1tfQaP5y7E4PJQUXL0DWIgNb3Ke7gZC05LPHM25a5TRReUfFBQ==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "rbush": "^3.0.1" + } + }, + "@turf/great-circle": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/great-circle/-/great-circle-7.1.0.tgz", + "integrity": "sha512-92q5fqUp5oW+FYekUIrUVR5PZBWbOV6NHKHPIiNahiPvtkpZItbbjoO+tGn5+2i8mxZP9FGOthayJe4V0a1xkg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10" + } + }, + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/hex-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/hex-grid/-/hex-grid-7.1.0.tgz", + "integrity": "sha512-I+Apx0smOPkMzaS5HHL44YOxSkSUvrz+wtSIETsDFWWLT2xKNkaaEcYU5MkgSoEfQsj082M7EkOIIpocXlA3kg==", + "requires": { + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/intersect": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/interpolate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/interpolate/-/interpolate-7.1.0.tgz", + "integrity": "sha512-VWec1OW9gHZLPS3yYkUXAHKMGQuYO4aqh8WCltT7Ym4efrKqkSOE5T+mBqO68QgcL8nY4kiNa8lxwXd0SfXDSA==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/hex-grid": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/point-grid": "^7.1.0", + "@turf/square-grid": "^7.1.0", + "@turf/triangle-grid": "^7.1.0", + "@types/geojson": "^7946.0.10" + } + }, + "@turf/intersect": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/intersect/-/intersect-7.1.0.tgz", + "integrity": "sha512-T0VhI6yhptX9EoMsuuBETyqV+edyq31SUC8bfuM6kdJ5WwJ0EvUfQoC+3bhMtCOn60lHawrUuGBgW+vCO8KGMg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/invariant": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/invariant/-/invariant-7.1.0.tgz", + "integrity": "sha512-OCLNqkItBYIP1nE9lJGuIUatWGtQ4rhBKAyTfFu0z8npVzGEYzvguEeof8/6LkKmTTEHW53tCjoEhSSzdRh08Q==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/isobands": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/isobands/-/isobands-7.1.0.tgz", + "integrity": "sha512-iMLTOP/K5C05AttF4N1WeV+KrY4O5VWW/abO0N86XCWh1OeqmIUgqIBKEmhDzttAqC0UK2YrUfj0lI1Ez1fYZQ==", + "requires": { + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/explode": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "marchingsquares": "^1.3.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/isolines": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/isolines/-/isolines-7.1.0.tgz", + "integrity": "sha512-V6QTHXBT5ZsL3s9ZVBJgHYtz3gCFKqNnQLysNE02LE0fVVqaSao3sFrcpghmdDxf0hBCDK8lZVvyRGO6o32LHQ==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "marchingsquares": "^1.3.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/jsts": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/@turf/jsts/-/jsts-2.7.1.tgz", + "integrity": "sha512-+nwOKme/aUprsxnLSfr2LylV6eL6T1Tuln+4Hl92uwZ8FrmjDRCH5Bi1LJNVfWCiYgk8+5K+t2zDphWNTsIFDA==", + "requires": { + "jsts": "2.7.1" + } + }, + "@turf/kinks": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/kinks/-/kinks-7.1.0.tgz", + "integrity": "sha512-KKLYUsyJPU17fODwA81mhHzFYGQYocdbk9NxDPCcdRHvxzM8t95lptkGx/2k/9rXBs1DK7NmyzI4m7zDO0DK7g==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/length": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/length/-/length-7.1.0.tgz", + "integrity": "sha512-wUJj9WLKEudG1ngNao2ZwD+Dt6UkvWIbubuJ6lR6FndFDL3iezFhNGy0IXS+0xH9kXi2apiTnM9Vk5+i8BTEvQ==", + "requires": { + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/line-arc": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-arc/-/line-arc-7.1.0.tgz", + "integrity": "sha512-9/bM34PozTyJ5FXXPAzl/j0RpcTImgMFJZ0WhH0pZZEZRum6P0rJnENt2E2qI441zeozQ9H6X5DCiJogDmRUEw==", + "requires": { + "@turf/circle": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/line-chunk": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-chunk/-/line-chunk-7.1.0.tgz", + "integrity": "sha512-1lIUfqAQvCWAuUNC2ip8UYmM5kDltXOidLPW45Ee1OAIKYGBeFNtjwnxc0mQ40tnfTXclTYLDdOOP9LShspT9w==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/length": "^7.1.0", + "@turf/line-slice-along": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10" + } + }, + "@turf/line-intersect": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-intersect/-/line-intersect-7.1.0.tgz", + "integrity": "sha512-JI3dvOsAoCqd4vUJ134FIzgcC42QpC/tBs+b4OJoxWmwDek3REv4qGaZY6wCg9X4hFSlCKFcnhMIQQZ/n720Qg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "sweepline-intersections": "^1.5.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/line-offset": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-offset/-/line-offset-7.1.0.tgz", + "integrity": "sha512-pz6irzhiQlJurU7DoXada6k3ei7PzY+VpsE/Wotm0D2KEAnoxqum2WK0rqqrhKPHKn+xpUGsHN9W/6K+qtmaHg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10" + } + }, + "@turf/line-overlap": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-overlap/-/line-overlap-7.1.0.tgz", + "integrity": "sha512-BdHuEoFAtqvVw3LkjCdivG035nfuwZuxji2ijst+mkmDnlv7uwSBudJqcDGjU6up2r8P1mXChS4im4xjUz+lwg==", + "requires": { + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/geojson-rbush": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-segment": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/nearest-point-on-line": "^7.1.0", + "@types/geojson": "^7946.0.10", + "fast-deep-equal": "^3.1.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/line-segment": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-segment/-/line-segment-7.1.0.tgz", + "integrity": "sha512-9rgIIH6ZzC3IiWxDQtKsq+j6eu8fRinMkJeusfI9HqOTm4vO02Ll4F/FigjOMOO/6X3TJ+Pqe3gS99TUaBINkw==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/line-slice": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-slice/-/line-slice-7.1.0.tgz", + "integrity": "sha512-44xcjgMQxTa7tTAZlSD3t1cFjHi5SCfAqjg1ONv45EYKsQSonPaxD7LGzCbU5pR2RJjx3R7QRJx2G88hnGcXjQ==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/nearest-point-on-line": "^7.1.0", + "@types/geojson": "^7946.0.10" + } + }, + "@turf/line-slice-along": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-slice-along/-/line-slice-along-7.1.0.tgz", + "integrity": "sha512-UwfnFORZnu4xdnuRXiQM3ODa8f9Q0FBjQF/XHNsPEI/xxmnwgQj3MZiULbAeHUbtU/7psTC7gEjfE3Lf0tcKQw==", + "requires": { + "@turf/bearing": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10" + } + }, + "@turf/line-split": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-split/-/line-split-7.1.0.tgz", + "integrity": "sha512-QqUAmtlrnEu75cpLOmpEuiYU63BeVwpSKOBllBbu5gkP+7H/WBM/9fh7J0VgHNFHzqZCKiu8v4158k+CZr0QAg==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/geojson-rbush": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/line-segment": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/nearest-point-on-line": "^7.1.0", + "@turf/square": "^7.1.0", + "@turf/truncate": "^7.1.0", + "@types/geojson": "^7946.0.10" + } + }, + "@turf/line-to-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/line-to-polygon/-/line-to-polygon-7.1.0.tgz", + "integrity": "sha512-n/IWBRbo+l4XDTz4sfQsQm5bU9xex8KrthK397jQasd7a9PiOKGon9Z1t/lddTJhND6ajVyJ3hl+eZMtpQaghQ==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/mask": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/mask/-/mask-7.1.0.tgz", + "integrity": "sha512-d+u3IIiRhe17TDfP/+UMn9qRlJYPJpK7sj6WorsssluGi0yIG/Z24uWpcLskWKSI8NNgkIbDrp+GIYkJi2t7SA==", + "requires": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/meta": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/meta/-/meta-7.1.0.tgz", + "integrity": "sha512-ZgGpWWiKz797Fe8lfRj7HKCkGR+nSJ/5aKXMyofCvLSc2PuYJs/qyyifDPWjASQQCzseJ7AlF2Pc/XQ/3XkkuA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10" + } + }, + "@turf/midpoint": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/midpoint/-/midpoint-7.1.0.tgz", + "integrity": "sha512-uiUU9TwRZOCeiTUn8+7oE6MJUvclfq+n6KQ5VCMTZXiRUJjPu7nDLpBle1t2WSv7/w7O0kSQ4FfKXh0gHnkJOw==", + "requires": { + "@turf/bearing": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/moran-index": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/moran-index/-/moran-index-7.1.0.tgz", + "integrity": "sha512-xsvAr3IRF/C6PlRMoN/ANrRx6c3QFUJgBCIVfI7re+Lkdprrzgw1HZA48ZjP4F91xbhgA1scnRgQdHFi2vO2SA==", + "requires": { + "@turf/distance-weight": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/nearest-neighbor-analysis": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-neighbor-analysis/-/nearest-neighbor-analysis-7.1.0.tgz", + "integrity": "sha512-FAhT8/op3DuvqH0XFhv055JhYq/FC4aaIxEZ4hj8c7W6sYhUHAQgdRZ0tJ1RLe5/h+eXhCTbQ+DFfnfv3klu8g==", + "requires": { + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/nearest-point": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/nearest-point": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-point/-/nearest-point-7.1.0.tgz", + "integrity": "sha512-VyInmhqfVWp+jE7sCK95o46qc4tDjAgzbRfRjr+rTgfFS1Sndyy1PdwyNn6TjBFDxiM6e+mjMEeGPjb1smJlEg==", + "requires": { + "@turf/clone": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/nearest-point-on-line": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-point-on-line/-/nearest-point-on-line-7.1.0.tgz", + "integrity": "sha512-aTjAOm7ab0tl5JoxGYRx/J/IbRL1DY1ZCIYQDMEQjK5gOllhclgeBC0wDXDkEZFGaVftjw0W2RtE2I0jX7RG4A==", + "requires": { + "@turf/bearing": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/nearest-point-to-line": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/nearest-point-to-line/-/nearest-point-to-line-7.1.0.tgz", + "integrity": "sha512-rY2F/iY4S6U8H0hIoOI25xMWYEiKywxeTvTvn5GP8KCu+2oemfZROWa7n2+hQDRwO2/uaegrGEpxO7zlFarvzg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/point-to-line-distance": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/planepoint": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/planepoint/-/planepoint-7.1.0.tgz", + "integrity": "sha512-hFORBkCd7Q0kNUzLqksT4XglLgTQF9tCjG+dbnZ1VehpZu+w+vlHdoW/mY7XCX3Kj1ObiyzVmXffmVYgwXwF6Q==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/point-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/point-grid/-/point-grid-7.1.0.tgz", + "integrity": "sha512-ihuuUcWuCu4Z1+34UYCM5NGsU2DJaB4uE8cS3jDQoUqlc+8ii2ng8kcGEtTwVn0HdPsoKA7bgvSZcisJO0v6Ww==", + "requires": { + "@turf/boolean-within": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/point-on-feature": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/point-on-feature/-/point-on-feature-7.1.0.tgz", + "integrity": "sha512-lOO5J9I0diuGbN+r6jViEKRH3qfymsBvv25b7U0MuP8g/YC19ncUXZ86dmKfJx1++Rb485DS9h0nFvPmJpaOdg==", + "requires": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/center": "^7.1.0", + "@turf/explode": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/nearest-point": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/point-to-line-distance": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/point-to-line-distance/-/point-to-line-distance-7.1.0.tgz", + "integrity": "sha512-Ps9eTOCaiNgxDaSNQux0wAcSLcrI0y0zYFaD9HnVm+yCMRliQXneFti2XXotS+gR7TpgnLRAAzyx4VzJMSN2tw==", + "requires": { + "@turf/bearing": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/projection": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@turf/rhumb-distance": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/points-within-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/points-within-polygon/-/points-within-polygon-7.1.0.tgz", + "integrity": "sha512-SzqeD9Gcp11rEya+rCVMy6IPuYMrphNEkCiQ39W6ec9hsaqKlruqmtudKhhckMGVLVUUBCQAu5f55yjcDfVW2w==", + "requires": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/polygon-smooth": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/polygon-smooth/-/polygon-smooth-7.1.0.tgz", + "integrity": "sha512-mTlmg4XUP5rKgCP/73N91owkAXIc3t1ZKLuwsJGQM1/Op48T3rJmDwVR/WZIMnVlxl5tFbssWCCB3blj4ivx9g==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/polygon-tangents": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/polygon-tangents/-/polygon-tangents-7.1.0.tgz", + "integrity": "sha512-ffBgHXtkrpgkNs8E6s9sVLSKG4lPGH3WBk294FNKBt9NS+rbhNCv8yTuOMeP0bOm/WizaCq/SUtVryJpUSoI/g==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/boolean-within": "^7.1.0", + "@turf/explode": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/nearest-point": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/polygon-to-line": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/polygon-to-line/-/polygon-to-line-7.1.0.tgz", + "integrity": "sha512-FBlfyBWNQZCTVGqlJH7LR2VXmvj8AydxrA8zegqek/5oPGtQDeUgIppKmvmuNClqbglhv59QtCUVaDK4bOuCTA==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/polygonize": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/polygonize/-/polygonize-7.1.0.tgz", + "integrity": "sha512-FBjxnOzO29MbE7MWnMPHHYtOo93cQopT5pXhkuPyoKgcTUCntR1+iVFpl5YFbMkYup0j5Oexjo/pbY38lVSZGw==", + "requires": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/envelope": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/projection": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/projection/-/projection-7.1.0.tgz", + "integrity": "sha512-3wHluMoOvXnTe7dfi0kcluTyLNG5MwGsSsK5OA98vkkLH6a1xvItn8e9GcesuT07oB2km/bgefxYEIvjQG5JCA==", + "requires": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/quadrat-analysis": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/quadrat-analysis/-/quadrat-analysis-7.1.0.tgz", + "integrity": "sha512-4O5h9PyWgpqYXja9O+kzr+qk5MUz0IkJqPtt5oWWX5s4jRcLNqiEUf+zi/GDBQkVV8jH3S5klT5CLrF1fxK3hQ==", + "requires": { + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/point-grid": "^7.1.0", + "@turf/random": "^7.1.0", + "@turf/square-grid": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/random": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/random/-/random-7.1.0.tgz", + "integrity": "sha512-22mXv8ejDMUWkz8DSMMqdZb0s7a0ISJzXt6T9cHovfT//vsotzkVH+5PDxJQjvmigKMnpaUgobHmQss23tAwEQ==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/rectangle-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rectangle-grid/-/rectangle-grid-7.1.0.tgz", + "integrity": "sha512-4d2AuDj4LfMMJxNHbds5yX1oFR3mIVAB5D7mx6pFB0e+YkQW0mE2dUWhDTFGJZM+n45yqbNQ5hg19bmiXv94ug==", + "requires": { + "@turf/boolean-intersects": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/rewind": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rewind/-/rewind-7.1.0.tgz", + "integrity": "sha512-zX0KDZpeiH89m1vYLTEJdDL6mFyoAsCxcG0P94mXO7/JXWf0AaxzA9MkNnA/d2QYX0G4ioCMjZ5cD6nXb8SXzw==", + "requires": { + "@turf/boolean-clockwise": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/rhumb-bearing": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rhumb-bearing/-/rhumb-bearing-7.1.0.tgz", + "integrity": "sha512-ESZt70eOljHVnQMFKIdiu8LIHuQlpZgzh2nqSfV40BrYjsjI/sBKeK+sp2cBWk88nsSDlriPuMTNh4f50Jqpkw==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/rhumb-destination": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rhumb-destination/-/rhumb-destination-7.1.0.tgz", + "integrity": "sha512-WA2TeO3qrv5ZrzNihtTLLYu8X4kd12WEC6JKElm99XhgLao1/4ao2SJUi43l88HqwbrnNiq4TueGQ6tYpXGU7A==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/rhumb-distance": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/rhumb-distance/-/rhumb-distance-7.1.0.tgz", + "integrity": "sha512-fR1V+yC4E1tnbdThomosiLcv0PQOwbfLSPM8rSWuxbMcJtffsncWxyJ0+N1F5juuHbcdaYhlduX8ri5I0ZCejw==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/sample": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/sample/-/sample-7.1.0.tgz", + "integrity": "sha512-9Iq/Ankr4+sgBoh4FpuVVvoW+AA10eej3FS89Zu79SFdCqUIdT7T42Nn3MlSVj4jMyA1oXyT2HIAlNWkwgLw6Q==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/sector": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/sector/-/sector-7.1.0.tgz", + "integrity": "sha512-2FI2rg//eXpa/l+WJtFfvHaf1NJ7ie2MoJ+RH5dKANtrfoof1Ed+y9dXSyuhem2tp/Srq2GhrjaSofFN5/g5vA==", + "requires": { + "@turf/circle": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/line-arc": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/shortest-path": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/shortest-path/-/shortest-path-7.1.0.tgz", + "integrity": "sha512-1UmFhS5zHNacLv5rszoFOXq02BGov1oJvjlDatXsSWAd+Z7tqxpDc8D+41edrXy0ZB0Yxsy6WPNagM6hG9PRaA==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/clean-coords": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/transform-scale": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/simplify": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/simplify/-/simplify-7.1.0.tgz", + "integrity": "sha512-JypymaoiSiFzGHwEoUkK0OPW1KQSnH3hEsEW3UIRS+apzltJ4HdFovYjsfqQgGZJZ+NJ9+dv7h8pgGLYuqcBUQ==", + "requires": { + "@turf/clean-coords": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/square": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/square/-/square-7.1.0.tgz", + "integrity": "sha512-ANuA+WXZheGTLW6Veq0i+/B2S4KMhEHAixDv9gQEb9e6FTyqTJVwrqP4CHI3OzA3DZ/ytFf+NTKVofetO/BBQg==", + "requires": { + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/square-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/square-grid/-/square-grid-7.1.0.tgz", + "integrity": "sha512-JyhsALULVRlkh8htdTi9aXaXFSUv6wRNbeFbqyGJKKlA5eF+AYmyWdI/BlFGQN27xtbtMPeAuLmj+8jaB2omGw==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/rectangle-grid": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/standard-deviational-ellipse": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/standard-deviational-ellipse/-/standard-deviational-ellipse-7.1.0.tgz", + "integrity": "sha512-JqvQFH/witHh+3XgPC1Qk4+3G8w8WQta2NTJjnGinOgFulH+7RD4DcxCT+XXtCHoeq8IvL9VPJRX3ciaW5nSCg==", + "requires": { + "@turf/center-mean": "^7.1.0", + "@turf/ellipse": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/points-within-polygon": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/tag": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/tag/-/tag-7.1.0.tgz", + "integrity": "sha512-cD8TC++DnNmdI1B/apTf3nj2zRNY6SoLRliB8K76OB+70Kev8tOf4ZVgAqOd0u+Hpdg/T6l7dO7fyJ6UouE7jA==", + "requires": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/tesselate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/tesselate/-/tesselate-7.1.0.tgz", + "integrity": "sha512-E/Z94Mx6kUjvQVbEcSuM9MbEo2dkOczRe4ZzjhFlLgJh1dCkfRgwYLH49mb2CcfG/me1arxoCgmtG+qgm7LrCg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "earcut": "^2.2.4", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/tin": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/tin/-/tin-7.1.0.tgz", + "integrity": "sha512-h8Bdm0IYN6OpKHM8lBRWGxkJnZcxL0KYecf8U6pa6DCEYsEXuEExMTvYSD2OmqIsL5ml8P6RjwgyI+dZeE0O9A==", + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/transform-rotate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/transform-rotate/-/transform-rotate-7.1.0.tgz", + "integrity": "sha512-Vp7VBZ6DqaPV8mkwSycksBFRLqSj3y16zg+uEPSCsXUjbFtw9DOLcyH2F5vMpnC2bOpS9NOB4hebhJRwBwAPWQ==", + "requires": { + "@turf/centroid": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@turf/rhumb-distance": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/transform-scale": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/transform-scale/-/transform-scale-7.1.0.tgz", + "integrity": "sha512-m5fLnh3JqrWSv0sAC8Aieet/fr5IZND8BFaE9LakMidtNaJqOIPOyVmUoklcrGn6eK6MX+66rRPn+5a1pahlLQ==", + "requires": { + "@turf/bbox": "^7.1.0", + "@turf/center": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@turf/rhumb-distance": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/transform-translate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/transform-translate/-/transform-translate-7.1.0.tgz", + "integrity": "sha512-XA6Oh7VqUDrieY9m9/OF4XpBTd8qlfVGi3ObywojCqtHaHKLK3aXwTBZ276i0QKmZqOQA+2jFa9NhgF/TgBDrw==", + "requires": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/triangle-grid": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/triangle-grid/-/triangle-grid-7.1.0.tgz", + "integrity": "sha512-hrPyRAuX5PKu7txmc/11VPKrlJDR+JGzd+eijupKTspNLR4n2sqZUx8UXqSxZ/1nq06ScTyjIfGQJVzlRS8BTg==", + "requires": { + "@turf/distance": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/intersect": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/truncate": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/truncate/-/truncate-7.1.0.tgz", + "integrity": "sha512-rrF3AML9PGZw2i5wmt53ESI+Ln9cZyCXgJ7QrEvkT8NbE4OFgmw6p8/1xT8+VEWFSpD4gHz+hmM+5FaFxXvtNg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/turf": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/turf/-/turf-7.1.0.tgz", + "integrity": "sha512-7NA6tAjbu9oIvIfpRO5AdPrZbFTlUFU02HVA7sLJM9jFeNIZovW09QuDo23uoS2z5l94SXV1GgKKxN5wo7prCw==", + "requires": { + "@turf/along": "^7.1.0", + "@turf/angle": "^7.1.0", + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/bbox-clip": "^7.1.0", + "@turf/bbox-polygon": "^7.1.0", + "@turf/bearing": "^7.1.0", + "@turf/bezier-spline": "^7.1.0", + "@turf/boolean-clockwise": "^7.1.0", + "@turf/boolean-concave": "^7.1.0", + "@turf/boolean-contains": "^7.1.0", + "@turf/boolean-crosses": "^7.1.0", + "@turf/boolean-disjoint": "^7.1.0", + "@turf/boolean-equal": "^7.1.0", + "@turf/boolean-intersects": "^7.1.0", + "@turf/boolean-overlap": "^7.1.0", + "@turf/boolean-parallel": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/boolean-point-on-line": "^7.1.0", + "@turf/boolean-touches": "^7.1.0", + "@turf/boolean-valid": "^7.1.0", + "@turf/boolean-within": "^7.1.0", + "@turf/buffer": "^7.1.0", + "@turf/center": "^7.1.0", + "@turf/center-mean": "^7.1.0", + "@turf/center-median": "^7.1.0", + "@turf/center-of-mass": "^7.1.0", + "@turf/centroid": "^7.1.0", + "@turf/circle": "^7.1.0", + "@turf/clean-coords": "^7.1.0", + "@turf/clone": "^7.1.0", + "@turf/clusters": "^7.1.0", + "@turf/clusters-dbscan": "^7.1.0", + "@turf/clusters-kmeans": "^7.1.0", + "@turf/collect": "^7.1.0", + "@turf/combine": "^7.1.0", + "@turf/concave": "^7.1.0", + "@turf/convex": "^7.1.0", + "@turf/destination": "^7.1.0", + "@turf/difference": "^7.1.0", + "@turf/dissolve": "^7.1.0", + "@turf/distance": "^7.1.0", + "@turf/distance-weight": "^7.1.0", + "@turf/ellipse": "^7.1.0", + "@turf/envelope": "^7.1.0", + "@turf/explode": "^7.1.0", + "@turf/flatten": "^7.1.0", + "@turf/flip": "^7.1.0", + "@turf/geojson-rbush": "^7.1.0", + "@turf/great-circle": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/hex-grid": "^7.1.0", + "@turf/interpolate": "^7.1.0", + "@turf/intersect": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@turf/isobands": "^7.1.0", + "@turf/isolines": "^7.1.0", + "@turf/kinks": "^7.1.0", + "@turf/length": "^7.1.0", + "@turf/line-arc": "^7.1.0", + "@turf/line-chunk": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/line-offset": "^7.1.0", + "@turf/line-overlap": "^7.1.0", + "@turf/line-segment": "^7.1.0", + "@turf/line-slice": "^7.1.0", + "@turf/line-slice-along": "^7.1.0", + "@turf/line-split": "^7.1.0", + "@turf/line-to-polygon": "^7.1.0", + "@turf/mask": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/midpoint": "^7.1.0", + "@turf/moran-index": "^7.1.0", + "@turf/nearest-neighbor-analysis": "^7.1.0", + "@turf/nearest-point": "^7.1.0", + "@turf/nearest-point-on-line": "^7.1.0", + "@turf/nearest-point-to-line": "^7.1.0", + "@turf/planepoint": "^7.1.0", + "@turf/point-grid": "^7.1.0", + "@turf/point-on-feature": "^7.1.0", + "@turf/point-to-line-distance": "^7.1.0", + "@turf/points-within-polygon": "^7.1.0", + "@turf/polygon-smooth": "^7.1.0", + "@turf/polygon-tangents": "^7.1.0", + "@turf/polygon-to-line": "^7.1.0", + "@turf/polygonize": "^7.1.0", + "@turf/projection": "^7.1.0", + "@turf/quadrat-analysis": "^7.1.0", + "@turf/random": "^7.1.0", + "@turf/rectangle-grid": "^7.1.0", + "@turf/rewind": "^7.1.0", + "@turf/rhumb-bearing": "^7.1.0", + "@turf/rhumb-destination": "^7.1.0", + "@turf/rhumb-distance": "^7.1.0", + "@turf/sample": "^7.1.0", + "@turf/sector": "^7.1.0", + "@turf/shortest-path": "^7.1.0", + "@turf/simplify": "^7.1.0", + "@turf/square": "^7.1.0", + "@turf/square-grid": "^7.1.0", + "@turf/standard-deviational-ellipse": "^7.1.0", + "@turf/tag": "^7.1.0", + "@turf/tesselate": "^7.1.0", + "@turf/tin": "^7.1.0", + "@turf/transform-rotate": "^7.1.0", + "@turf/transform-scale": "^7.1.0", + "@turf/transform-translate": "^7.1.0", + "@turf/triangle-grid": "^7.1.0", + "@turf/truncate": "^7.1.0", + "@turf/union": "^7.1.0", + "@turf/unkink-polygon": "^7.1.0", + "@turf/voronoi": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/union": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/union/-/union-7.1.0.tgz", + "integrity": "sha512-7VI8jONdBg9qmbfNlLQycPr93l5aU9HGMgWI9M6pb4ERuU2+p8KgffCgs2NyMtP2HxPrKSybzj31g7bnbEKofQ==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "polygon-clipping": "^0.15.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/unkink-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/unkink-polygon/-/unkink-polygon-7.1.0.tgz", + "integrity": "sha512-pqkirni2aLpRA1ELFIuJz+mkjYyJQX8Ar6BflSu1b0ajY/CTrcDxbIv1x8UfvbybLzdJc4Gxzg5mo4cEtSwtaQ==", + "requires": { + "@turf/area": "^7.1.0", + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "rbush": "^3.0.1", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@turf/voronoi": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@turf/voronoi/-/voronoi-7.1.0.tgz", + "integrity": "sha512-xUvzPDG6GaqEekgxd+pjeMKJXOYJ3eFIqUHbTe/ISKzzv3f2cFGiR2VH7ZGXri8d4ozzCQbUQ27ilHPPLf5+xw==", + "requires": { + "@turf/clone": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/d3-voronoi": "^1.1.12", + "@types/geojson": "^7946.0.10", + "d3-voronoi": "1.1.2", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "@tweenjs/tween.js": { + "version": "25.0.0", + "resolved": "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-25.0.0.tgz", + "integrity": "sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A==" + }, + "@types/d3-voronoi": { + "version": "1.1.12", + "resolved": "https://registry.npmmirror.com/@types/d3-voronoi/-/d3-voronoi-1.1.12.tgz", + "integrity": "sha512-DauBl25PKZZ0WVJr42a6CNvI6efsdzofl9sajqZr2Gf5Gu733WkDdUGiPkUHXiUvYGzNNlFQde2wdZdfQPG+yw==" + }, + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true + }, + "@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmmirror.com/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/katex": { + "version": "0.16.7", + "resolved": "https://registry.npmmirror.com/@types/katex/-/katex-0.16.7.tgz", + "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.17.13", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==" + }, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@types/sortablejs": { + "version": "1.15.8", + "resolved": "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.8.tgz", + "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==" + }, + "@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.1.tgz", + "integrity": "sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/type-utils": "5.47.1", + "@typescript-eslint/utils": "5.47.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.47.1.tgz", + "integrity": "sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/typescript-estree": "5.47.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.47.1.tgz", + "integrity": "sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/visitor-keys": "5.47.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.47.1.tgz", + "integrity": "sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.47.1", + "@typescript-eslint/utils": "5.47.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.47.1.tgz", + "integrity": "sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.1.tgz", + "integrity": "sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/visitor-keys": "5.47.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.47.1.tgz", + "integrity": "sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/typescript-estree": "5.47.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.1.tgz", + "integrity": "sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.47.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@vicons/ionicons5": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@vicons/ionicons5/-/ionicons5-0.12.0.tgz", + "integrity": "sha512-Iy1EUVRpX0WWxeu1VIReR1zsZLMc4fqpt223czR+Rpnrwu7pt46nbnC2ycO7ItI/uqDLJxnbcMC7FujKs9IfFA==", + "dev": true + }, + "@vicons/tabler": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@vicons/tabler/-/tabler-0.12.0.tgz", + "integrity": "sha512-3+wUFuxb7e8OzZ8Wryct1pzfA2vyoF4lwW98O9s27ZrfCGaJGNmqG+q8A7vQ92Mf+COCgxpK+rhNPTtTvaU6qw==", + "dev": true + }, + "@vitejs/plugin-legacy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-4.0.1.tgz", + "integrity": "sha512-/ZV63NagI1c9TB5E4ijGmycY//fNm/2L02nsnXXxACwYaF9W+/OyVlgIW24jYUIS+g0yQRtn+N5hzBc8RLNhGA==", + "dev": true, + "requires": { + "@babel/core": "^7.20.12", + "@babel/preset-env": "^7.20.2", + "browserslist": "^4.21.4", + "core-js": "^3.27.2", + "magic-string": "^0.27.0", + "regenerator-runtime": "^0.13.11", + "systemjs": "^6.13.0" + }, + "dependencies": { + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + } + } + }, + "@vitejs/plugin-vue": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz", + "integrity": "sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==", + "dev": true, + "requires": {} + }, + "@volar/language-core": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.0.18.tgz", + "integrity": "sha512-PFrqAksKhiuAqNV4fefoMilX+JutVq0Z3iM14xjLvWPv68fs2dLedwU84GiHfSPTMmRiPCJ2HhH2rz4qNY42lA==", + "dev": true, + "requires": { + "@volar/source-map": "1.0.18", + "@vue/reactivity": "^3.2.45", + "muggle-string": "^0.1.0" + } + }, + "@volar/source-map": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.0.18.tgz", + "integrity": "sha512-D8AcjrT2ukG5XiZhtSQBhcvL1TTlWOebCqS//Z/hGLGQZjpZHWaKD4OyDzKDzM0U9EtOuDh9rttnabCHDPvY2Q==", + "dev": true, + "requires": { + "muggle-string": "^0.1.0" + } + }, + "@volar/typescript": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.0.18.tgz", + "integrity": "sha512-xpH1Ij+PKtbIKEEYU2bF0llBRmu+ojjm/UA1WHNpi/dvsFWTIZcPniuqYEpPc32Zq/f8OPk98HbM2Oj5eue+vA==", + "dev": true, + "requires": { + "@volar/language-core": "1.0.18" + } + }, + "@volar/vue-language-core": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.0.18.tgz", + "integrity": "sha512-1yJcXYz9SdQUYoKWPbnr1SgMsBGXH29hS8W47p46P8Mm+5mmDdR/GFQw2+Zo5kAIS8vtLstlowI1Okoy7HFzIQ==", + "dev": true, + "requires": { + "@volar/language-core": "1.0.18", + "@volar/source-map": "1.0.18", + "@vue/compiler-dom": "^3.2.45", + "@vue/compiler-sfc": "^3.2.45", + "@vue/reactivity": "^3.2.45", + "@vue/shared": "^3.2.45", + "minimatch": "^5.1.1", + "vue-template-compiler": "^2.7.14" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@volar/vue-typescript": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.0.18.tgz", + "integrity": "sha512-pfi2/vTLgAPeRNgWzPFFv14YoLc3MnPMVKxl17ZLHStFgROUWQetTN+44FUWVYIl820MesMsyRv4kAIak0XGIQ==", + "dev": true, + "requires": { + "@volar/typescript": "1.0.18", + "@volar/vue-language-core": "1.0.18" + } + }, + "@vue/compiler-core": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.12.tgz", + "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", + "requires": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.12", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "@vue/compiler-dom": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz", + "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==", + "requires": { + "@vue/compiler-core": "3.5.12", + "@vue/shared": "3.5.12" + } + }, + "@vue/compiler-sfc": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz", + "integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==", + "requires": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.12", + "@vue/compiler-dom": "3.5.12", + "@vue/compiler-ssr": "3.5.12", + "@vue/shared": "3.5.12", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.47", + "source-map-js": "^1.2.0" + } + }, + "@vue/compiler-ssr": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz", + "integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==", + "requires": { + "@vue/compiler-dom": "3.5.12", + "@vue/shared": "3.5.12" + } + }, + "@vue/devtools-api": { + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz", + "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==" + }, + "@vue/eslint-config-prettier": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz", + "integrity": "sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==", + "dev": true, + "requires": { + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0" + } + }, + "@vue/eslint-config-typescript": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.2.tgz", + "integrity": "sha512-EiKud1NqlWmSapBFkeSrE994qpKx7/27uCGnhdqzllYDpQZroyX/O6bwjEpeuyKamvLbsGdO6PMR2faIf+zFnw==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "vue-eslint-parser": "^9.0.0" + } + }, + "@vue/reactivity": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.12.tgz", + "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==", + "requires": { + "@vue/shared": "3.5.12" + } + }, + "@vue/runtime-core": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.12.tgz", + "integrity": "sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==", + "requires": { + "@vue/reactivity": "3.5.12", + "@vue/shared": "3.5.12" + } + }, + "@vue/runtime-dom": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz", + "integrity": "sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==", + "requires": { + "@vue/reactivity": "3.5.12", + "@vue/runtime-core": "3.5.12", + "@vue/shared": "3.5.12", + "csstype": "^3.1.3" + } + }, + "@vue/server-renderer": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.12.tgz", + "integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==", + "requires": { + "@vue/compiler-ssr": "3.5.12", + "@vue/shared": "3.5.12" + } + }, + "@vue/shared": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.12.tgz", + "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==" + }, + "@vue/tsconfig": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.1.3.tgz", + "integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==", + "dev": true, + "requires": {} + }, + "@vueuse/core": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.9.0.tgz", + "integrity": "sha512-JdDb7TrE0imZnwBhMF4+0PCJqGD3AxzH8S2sfk54P0rqvklK+EAtAR/mPb1HwV/JPujQFQJhghQ190Yq03YpVw==", + "requires": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.9.0", + "@vueuse/shared": "9.9.0", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + } + } + }, + "@vueuse/metadata": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.9.0.tgz", + "integrity": "sha512-pgxsUJv/d7IjKpLeB6TthggEsaBwM3ffc5jPrr5TmxAm/fup0mGR5VTzrdA/PSx85tpb+CIvP92D+55qBNc8ag==" + }, + "@vueuse/shared": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.9.0.tgz", + "integrity": "sha512-+D0XFwHG0T+uaIbCSlROBwm1wzs71B7n3KyDOxnvfEMMHDOzl09rYKwaE2AENmYwYPXfHPbSBRDD2gBVHbvTcg==", + "requires": { + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + } + } + }, + "@wenrenfangge/cesium-draw": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/@wenrenfangge/cesium-draw/-/cesium-draw-1.0.4.tgz", + "integrity": "sha512-miAvsn3j3mHqsQ4FkHqTjRHCqCIsSt+qQRb1YiejFvdHSnyXpzBuQlgkSdjcRjqmYHYpvNh2vAySmyt8TMHzOg==", + "requires": { + "@turf/turf": "^7.1.0", + "cesium": "^1.122.0", + "element-plus": "^2.8.6" + } + }, + "@windicss/config": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/@windicss/config/-/config-1.8.10.tgz", + "integrity": "sha512-O9SsC110b1Ik3YYa4Ck/0TWuCo7YFfA9KDrwD5sAeqscT5COIGK1HszdCT3oh0MJFej2wNrvpfyW9h6yQaW6PA==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "jiti": "^1.16.0", + "windicss": "^3.5.6" + } + }, + "@windicss/plugin-utils": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-1.8.10.tgz", + "integrity": "sha512-Phqk5OW1w+Mv+ry6t7BzAeDq3aMhbI94gR49j9vQCufFfDGCHndhhjtMK0sBv+NPJUsIAIh6qayb1iwBCXUGrw==", + "dev": true, + "requires": { + "@antfu/utils": "^0.7.2", + "@windicss/config": "1.8.10", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "magic-string": "^0.27.0", + "micromatch": "^4.0.5", + "windicss": "^3.5.6" + }, + "dependencies": { + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + } + } + }, + "@zip.js/zip.js": { + "version": "2.7.53", + "resolved": "https://registry.npmmirror.com/@zip.js/zip.js/-/zip.js-2.7.53.tgz", + "integrity": "sha512-G6Bl5wN9EXXVaTUIox71vIX5Z454zEBe+akKpV4m1tUboIctT5h7ID3QXCJd/Lfy2rSvmkTmZIucf1jGRR4f5A==" + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "autolinker": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/autolinker/-/autolinker-4.0.0.tgz", + "integrity": "sha512-fl5Kh6BmEEZx+IWBfEirnRUU5+cOiV0OK7PEt0RBKvJMJ8GaRseIOeDU3FKf4j3CE5HVefcjHmhYPOcaVt0bZw==", + "requires": { + "tslib": "^2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + } + } + }, + "autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axios": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", + "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bitmap-sdf": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz", + "integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==" + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001457", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz", + "integrity": "sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==", + "dev": true + }, + "cesium": { + "version": "1.123.0", + "resolved": "https://registry.npmmirror.com/cesium/-/cesium-1.123.0.tgz", + "integrity": "sha512-CTwhv9T4Als2NkJPNEDAE88vFybmhc0cySH4SlmaHUJAmXB11lOxOyosSWz14XlvvVEv+t7y19q/+LrUvmtJwQ==", + "requires": { + "@cesium/engine": "^12.0.0", + "@cesium/widgets": "^9.0.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chroma-js": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/chroma-js/-/chroma-js-3.1.2.tgz", + "integrity": "sha512-IJnETTalXbsLx1eKEgx19d5L6SRM7cH4vINw/99p/M11HCuXGRWL+6YmCm7FWFGIo6dtWuQoQi1dc5yQ7ESIHg==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-stream": { + "version": "1.5.2", + "resolved": "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.5.2.tgz", + "integrity": "sha512-H6xsIBfQ94aESBG8jGHXQ7i5AEpy5ZeVaLDOisDICiTCKpqEfr34/KmTrspKQNoLKNu9gTkovlpQcUi630AKiQ==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" + } + }, + "concaveman": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/concaveman/-/concaveman-1.2.1.tgz", + "integrity": "sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw==", + "requires": { + "point-in-polygon": "^1.1.0", + "rbush": "^3.0.1", + "robust-predicates": "^2.0.4", + "tinyqueue": "^2.0.3" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "core-js": { + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.28.0.tgz", + "integrity": "sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw==", + "dev": true + }, + "core-js-compat": { + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.28.0.tgz", + "integrity": "sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg==", + "dev": true, + "requires": { + "browserslist": "^4.21.5" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-render": { + "version": "0.15.14", + "resolved": "https://registry.npmmirror.com/css-render/-/css-render-0.15.14.tgz", + "integrity": "sha512-9nF4PdUle+5ta4W5SyZdLCCmFd37uVimSjg1evcTqKJCyvCEEj12WKzOSBNak6r4im4J4iYXKH1OWpUV5LBYFg==", + "dev": true, + "requires": { + "@emotion/hash": "~0.8.0", + "csstype": "~3.0.5" + }, + "dependencies": { + "csstype": { + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.0.11.tgz", + "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==", + "dev": true + } + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + }, + "d3-geo": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/d3-geo/-/d3-geo-1.7.1.tgz", + "integrity": "sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==", + "requires": { + "d3-array": "1" + } + }, + "d3-voronoi": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz", + "integrity": "sha512-RhGS1u2vavcO7ay7ZNAPo4xeDh/VYeGof3x5ZLJBQgYhLegxr3s5IykvWmJ94FTU6mcbtp4sloqZ54mP6R4Utw==" + }, + "date-fns": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/date-fns/-/date-fns-3.6.0.tgz", + "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "dev": true + }, + "date-fns-tz": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/date-fns-tz/-/date-fns-tz-3.2.0.tgz", + "integrity": "sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==", + "dev": true, + "requires": {} + }, + "dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dompurify": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.1.7.tgz", + "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==" + }, + "draco3d": { + "version": "1.5.7", + "resolved": "https://registry.npmmirror.com/draco3d/-/draco3d-1.5.7.tgz", + "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==" + }, + "earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" + }, + "echarts": { + "version": "5.5.1", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz", + "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.6.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } + }, + "electron-to-chromium": { + "version": "1.4.304", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.304.tgz", + "integrity": "sha512-6c8M+ojPgDIXN2NyfGn8oHASXYnayj+gSEnGeLMKb9zjsySeVB/j7KkNAAG9yDcv8gNlhvFg5REa1N/kQU6pgA==", + "dev": true + }, + "element-plus": { + "version": "2.8.7", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.8.7.tgz", + "integrity": "sha512-oGQyFRufFOgjd872tZc+T4xQAYLlX4hj6d3ixeY13L4fFNUuc1N49JHAqJGPda0tdx3qCnjceZoh1kqqj2+tXQ==", + "requires": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", + "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.11.tgz", + "integrity": "sha512-Al0hhRUz/cCDvDp9VZp1L500HZZQ/HLjgTnQTmnW97+PoLmw+PuvB3e19JHYZtWnrxoh3qYrN/0tiRIbrE2oVQ==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.16.11", + "@esbuild/android-arm64": "0.16.11", + "@esbuild/android-x64": "0.16.11", + "@esbuild/darwin-arm64": "0.16.11", + "@esbuild/darwin-x64": "0.16.11", + "@esbuild/freebsd-arm64": "0.16.11", + "@esbuild/freebsd-x64": "0.16.11", + "@esbuild/linux-arm": "0.16.11", + "@esbuild/linux-arm64": "0.16.11", + "@esbuild/linux-ia32": "0.16.11", + "@esbuild/linux-loong64": "0.16.11", + "@esbuild/linux-mips64el": "0.16.11", + "@esbuild/linux-ppc64": "0.16.11", + "@esbuild/linux-riscv64": "0.16.11", + "@esbuild/linux-s390x": "0.16.11", + "@esbuild/linux-x64": "0.16.11", + "@esbuild/netbsd-x64": "0.16.11", + "@esbuild/openbsd-x64": "0.16.11", + "@esbuild/sunos-x64": "0.16.11", + "@esbuild/win32-arm64": "0.16.11", + "@esbuild/win32-ia32": "0.16.11", + "@esbuild/win32-x64": "0.16.11" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", + "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.4.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-vue": { + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.8.0.tgz", + "integrity": "sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==", + "dev": true, + "requires": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^9.0.1", + "xml-name-validator": "^4.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "evtd": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/evtd/-/evtd-0.2.4.tgz", + "integrity": "sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "geojson-equality-ts": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/geojson-equality-ts/-/geojson-equality-ts-1.0.2.tgz", + "integrity": "sha512-h3Ryq+0mCSN/7yLs0eDgrZhvc9af23o/QuC4aTiuuzP/MRCtd6mf5rLsLRY44jX0RPUfM8c4GqERQmlUxPGPoQ==", + "requires": { + "@types/geojson": "^7946.0.14" + } + }, + "geojson-polygon-self-intersections": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/geojson-polygon-self-intersections/-/geojson-polygon-self-intersections-1.2.1.tgz", + "integrity": "sha512-/QM1b5u2d172qQVO//9CGRa49jEmclKEsYOQmWP9ooEjj63tBM51m2805xsbxkzlEELQ2REgTf700gUhhlegxA==", + "requires": { + "rbush": "^2.0.1" + }, + "dependencies": { + "quickselect": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-1.1.1.tgz", + "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==" + }, + "rbush": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/rbush/-/rbush-2.0.2.tgz", + "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==", + "requires": { + "quickselect": "^1.0.1" + } + } + } + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "jiti": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.16.0.tgz", + "integrity": "sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==", + "dev": true + }, + "js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsep": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/jsep/-/jsep-1.4.0.tgz", + "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "jsts": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/jsts/-/jsts-2.7.1.tgz", + "integrity": "sha512-x2wSZHEBK20CY+Wy+BPE7MrFQHW6sIsdaGUMEqmGAio+3gFzQaBYPwLRonUfQf9Ak8pBieqj9tUofX1+WtAEIg==" + }, + "kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==" + }, + "kolorist": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.6.0.tgz", + "integrity": "sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==", + "dev": true + }, + "ktx-parse": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/ktx-parse/-/ktx-parse-0.7.1.tgz", + "integrity": "sha512-FeA3g56ksdFNwjXJJsc1CCc7co+AJYDp6ipIp878zZ2bU8kWROatLYf39TQEd4/XRSUvBXovQ8gaVKWPXsCLEQ==" + }, + "lerc": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/lerc/-/lerc-2.0.0.tgz", + "integrity": "sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "local-pkg": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz", + "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "requires": {} + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "long": { + "version": "5.2.3", + "resolved": "https://registry.npmmirror.com/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.30.12", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.12.tgz", + "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + } + } + }, + "marchingsquares": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/marchingsquares/-/marchingsquares-1.3.3.tgz", + "integrity": "sha512-gz6nNQoVK7Lkh2pZulrT4qd4347S/toG9RXH2pyzhLgkL5mLkBoqgv4EvAGXcV0ikDW72n/OQb3Xe8bGagQZCg==" + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "mersenne-twister": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz", + "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==" + }, + "meshoptimizer": { + "version": "0.22.0", + "resolved": "https://registry.npmmirror.com/meshoptimizer/-/meshoptimizer-0.22.0.tgz", + "integrity": "sha512-IebiK79sqIy+E4EgOr+CAw+Ke8hAspXKzBd0JdgEmPHiAwmvEj2S4h1rfvo+o/BnfEYd/jAOg5IeeIjzlzSnDg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mlly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.0.0.tgz", + "integrity": "sha512-QL108Hwt+u9bXdWgOI0dhzZfACovn5Aen4Xvc8Jasd9ouRH4NjnrXEiyP3nVvJo91zPlYjVRckta0Nt2zfoR6g==", + "dev": true, + "requires": { + "acorn": "^8.8.1", + "pathe": "^1.0.0", + "pkg-types": "^1.0.0", + "ufo": "^1.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "muggle-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.1.0.tgz", + "integrity": "sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==", + "dev": true + }, + "naive-ui": { + "version": "2.40.1", + "resolved": "https://registry.npmmirror.com/naive-ui/-/naive-ui-2.40.1.tgz", + "integrity": "sha512-3NkL+vLRQZKQxCHXa+7xiD6oM74OrQELaehDkGYRYpr6kjT+JJB+Z7h+5LC70gn8VkbgCAETv0+uRWF+6MLlgQ==", + "dev": true, + "requires": { + "@css-render/plugin-bem": "^0.15.14", + "@css-render/vue3-ssr": "^0.15.14", + "@types/katex": "^0.16.2", + "@types/lodash": "^4.14.198", + "@types/lodash-es": "^4.17.9", + "async-validator": "^4.2.5", + "css-render": "^0.15.14", + "csstype": "^3.1.3", + "date-fns": "^3.6.0", + "date-fns-tz": "^3.1.3", + "evtd": "^0.2.4", + "highlight.js": "^11.8.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "seemly": "^0.3.8", + "treemate": "^0.3.11", + "vdirs": "^0.1.8", + "vooks": "^0.2.12", + "vueuc": "^0.4.63" + } + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" + }, + "nosleep.js": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/nosleep.js/-/nosleep.js-0.12.0.tgz", + "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==" + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "pako": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pathe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.0.0.tgz", + "integrity": "sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==", + "dev": true + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "pinia": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.28.tgz", + "integrity": "sha512-YClq9DkqCblq9rlyUual7ezMu/iICWdBtfJrDt4oWU9Zxpijyz7xB2xTwx57DaBQ96UGvvTMORzALr+iO5PVMw==", + "requires": { + "@vue/devtools-api": "^6.4.5", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + } + } + }, + "pkg-types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz", + "integrity": "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==", + "dev": true, + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.0.0", + "pathe": "^1.0.0" + } + }, + "point-in-polygon": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz", + "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==" + }, + "point-in-polygon-hao": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/point-in-polygon-hao/-/point-in-polygon-hao-1.1.0.tgz", + "integrity": "sha512-3hTIM2j/v9Lio+wOyur3kckD4NxruZhpowUbEgmyikW+a2Kppjtu1eN+AhnMQtoHW46zld88JiYWv6fxpsDrTQ==" + }, + "polygon-clipping": { + "version": "0.15.7", + "resolved": "https://registry.npmmirror.com/polygon-clipping/-/polygon-clipping-0.15.7.tgz", + "integrity": "sha512-nhfdr83ECBg6xtqOAJab1tbksbBAOMUltN60bU+llHVOL0e5Onm1WpAXXWXVB39L8AJFssoIhEVuy/S90MmotA==", + "requires": { + "robust-predicates": "^3.0.2", + "splaytree": "^3.1.0" + }, + "dependencies": { + "robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" + } + } + }, + "postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", + "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "prettier-plugin-tailwindcss": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.3.tgz", + "integrity": "sha512-s2N5Dh7Ao5KTV1mao5ZBnn8EKtUcDPJEkGViZIjI0Ij9TTI5zgTz4IHOxW33jOdjHKa8CSjM88scelUiC5TNRQ==", + "dev": true, + "requires": {} + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==" + }, + "protobufjs": { + "version": "7.4.0", + "resolved": "https://registry.npmmirror.com/protobufjs/-/protobufjs-7.4.0.tgz", + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" + }, + "rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "requires": { + "quickselect": "^2.0.0" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "regexpu-core": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.1.tgz", + "integrity": "sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==", + "dev": true, + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "robust-predicates": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-2.0.4.tgz", + "integrity": "sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg==" + }, + "rollup": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.8.1.tgz", + "integrity": "sha512-4yh9eMW7byOroYcN8DlF9P/2jCpu6txVIHjEqquQVSx7DI0RgyCCN3tjrcy4ra6yVtV336aLBB3v2AarYAxePQ==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "sass": { + "version": "1.57.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", + "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "satellite.js": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/satellite.js/-/satellite.js-5.0.0.tgz", + "integrity": "sha512-ie3yiJ2LJAJIhVUKdYhgp7V0btXKAMImDjRnuaNfJGl8rjwP2HwVIh4HLFcpiXYEiYwXc5fqh5+yZqCe6KIwWw==" + }, + "scule": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", + "dev": true + }, + "seemly": { + "version": "0.3.9", + "resolved": "https://registry.npmmirror.com/seemly/-/seemly-0.3.9.tgz", + "integrity": "sha512-bMLcaEqhIViiPbaumjLN8t1y+JpD/N8SiyYOyp0i0W6RgdyLWboIsUWAbZojF//JyerxPZR5Tgda+x3Pdne75A==" + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "skmeans": { + "version": "0.9.7", + "resolved": "https://registry.npmmirror.com/skmeans/-/skmeans-0.9.7.tgz", + "integrity": "sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "peer": true + }, + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "splaytree": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/splaytree/-/splaytree-3.1.2.tgz", + "integrity": "sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A==" + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "string.prototype.padend": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", + "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "strip-literal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.0.tgz", + "integrity": "sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==", + "dev": true, + "requires": { + "acorn": "^8.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "sweepline-intersections": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/sweepline-intersections/-/sweepline-intersections-1.5.0.tgz", + "integrity": "sha512-AoVmx72QHpKtItPu72TzFL+kcYjd67BPLDoR0LarIk+xyaRg+pDTMFXndIEvZf9xEKnJv6JdhgRMnocoG0D3AQ==", + "requires": { + "tinyqueue": "^2.0.0" + } + }, + "systemjs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.13.0.tgz", + "integrity": "sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==", + "dev": true + }, + "tailwindcss": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", + "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.0.9", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + } + }, + "terser": { + "version": "5.16.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.4.tgz", + "integrity": "sha512-5yEGuZ3DZradbogeYQ1NaGz7rXVBDWujWlx1PT8efXO6Txn+eWbfKqB2bTDVmFXmePFkoLU6XI8UektMIEA0ug==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==" + }, + "tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "requires": { + "commander": "2" + } + }, + "topojson-server": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/topojson-server/-/topojson-server-3.0.1.tgz", + "integrity": "sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==", + "requires": { + "commander": "2" + } + }, + "treemate": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/treemate/-/treemate-0.3.11.tgz", + "integrity": "sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typedarray": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.7.tgz", + "integrity": "sha512-ueeb9YybpjhivjbHP2LdFDAjbS948fGEPj+ACAMs4xCMmh72OCOMQWBQKlaN4ZNQ04yfLSDLSx1tGRIoWimObQ==" + }, + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "devOptional": true + }, + "ufo": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz", + "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "unimport": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-1.1.0.tgz", + "integrity": "sha512-dSufi3POQWUVAMU6DxXu39U0cWzz5m3FtQBUbgDJTkCpeRfyiYhDg+BOz6UPKfDPtEhkbshV8JoMV3I8i/mQ+A==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "mlly": "^1.0.0", + "pathe": "^1.0.0", + "pkg-types": "^1.0.1", + "scule": "^1.0.0", + "strip-literal": "^1.0.0", + "unplugin": "^1.0.1" + }, + "dependencies": { + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + } + } + }, + "unplugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz", + "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==", + "dev": true, + "requires": { + "acorn": "^8.8.1", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "unplugin-auto-import": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.12.1.tgz", + "integrity": "sha512-J/3ZORq5YGKG+8D5vLLOgqaHNK77izlVN07mQ752yRLqBNDbJiwPRSnUwwYqH5N6rDay1SqnJCHaUdbJ9QMI2w==", + "dev": true, + "requires": { + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "unimport": "^1.0.2", + "unplugin": "^1.0.1" + }, + "dependencies": { + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + } + } + }, + "unplugin-vue-components": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.12.tgz", + "integrity": "sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA==", + "dev": true, + "requires": { + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "minimatch": "^5.1.1", + "resolve": "^1.22.1", + "unplugin": "^1.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmmirror.com/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "v-viewer": { + "version": "3.0.21", + "resolved": "https://registry.npmmirror.com/v-viewer/-/v-viewer-3.0.21.tgz", + "integrity": "sha512-FyorVqtWiv9LvDG36XEh8HDv8TAcVnMn0+s4b9yKUdBriAZNlYJvgyhGnhyBH/w9yK1PlLVyhorKEj26B6JK1Q==", + "requires": { + "lodash-es": "^4.17.21", + "viewerjs": "^1.11.6" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vdirs": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/vdirs/-/vdirs-0.1.8.tgz", + "integrity": "sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==", + "dev": true, + "requires": { + "evtd": "^0.2.2" + } + }, + "viewerjs": { + "version": "1.11.7", + "resolved": "https://registry.npmmirror.com/viewerjs/-/viewerjs-1.11.7.tgz", + "integrity": "sha512-0JuVqOmL5v1jmEAlG5EBDR3XquxY8DWFQbFMprOXgaBB0F7Q/X9xWdEaQc59D8xzwkdUgXEMSSknTpriq95igg==" + }, + "vite": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.3.tgz", + "integrity": "sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==", + "dev": true, + "requires": { + "esbuild": "^0.16.3", + "fsevents": "~2.3.2", + "postcss": "^8.4.20", + "resolve": "^1.22.1", + "rollup": "^3.7.0" + } + }, + "vite-plugin-windicss": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-1.8.10.tgz", + "integrity": "sha512-scywsuzo46lcTBohspmF0WiwhWEte6p+OUVrX4yr7VMRvLHMHVfLtJReyD5pppjijG7YOwVsZn7XBWWZtF658Q==", + "dev": true, + "requires": { + "@windicss/plugin-utils": "1.8.10", + "debug": "^4.3.4", + "kolorist": "^1.6.0", + "windicss": "^3.5.6" + } + }, + "vooks": { + "version": "0.2.12", + "resolved": "https://registry.npmmirror.com/vooks/-/vooks-0.2.12.tgz", + "integrity": "sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==", + "dev": true, + "requires": { + "evtd": "^0.2.2" + } + }, + "vue": { + "version": "3.5.12", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.12.tgz", + "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==", + "requires": { + "@vue/compiler-dom": "3.5.12", + "@vue/compiler-sfc": "3.5.12", + "@vue/runtime-dom": "3.5.12", + "@vue/server-renderer": "3.5.12", + "@vue/shared": "3.5.12" + } + }, + "vue-draggable-plus": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/vue-draggable-plus/-/vue-draggable-plus-0.5.6.tgz", + "integrity": "sha512-RMt8YuoB534GH2LD2M60KxHDPtfjfl2C9mH3YSEsfcZBclcoRs5RyrLiEKhUM0QCAQG2T/c3ktHujzxxomqfIw==", + "requires": { + "@types/sortablejs": "^1.15.8" + } + }, + "vue-eslint-parser": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz", + "integrity": "sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "dependencies": { + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "vue-router": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz", + "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", + "requires": { + "@vue/devtools-api": "^6.4.5" + } + }, + "vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "vue-tsc": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.0.18.tgz", + "integrity": "sha512-JFLAz3Xh/iyTnMGdlfG3TuvcaJyFcqyELpLv50jyvOYLAS2+WHzac0IB73FQ37HmGm/4IWMkQZS5r/9FKSejQQ==", + "dev": true, + "requires": { + "@volar/vue-language-core": "1.0.18", + "@volar/vue-typescript": "1.0.18" + } + }, + "vue3-seamless-scroll": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/vue3-seamless-scroll/-/vue3-seamless-scroll-2.0.1.tgz", + "integrity": "sha512-mI3BaDU3pjcPUhVSw3/xNKdfPBDABTi/OdZaZqKysx4cSdNfGRbVvGNDzzptBbJ5S7imv5T55l6x/SqgnxKreg==", + "requires": { + "throttle-debounce": "5.0.0" + } + }, + "vueuc": { + "version": "0.4.64", + "resolved": "https://registry.npmmirror.com/vueuc/-/vueuc-0.4.64.tgz", + "integrity": "sha512-wlJQj7fIwKK2pOEoOq4Aro8JdPOGpX8aWQhV8YkTW9OgWD2uj2O8ANzvSsIGjx7LTOc7QbS7sXdxHi6XvRnHPA==", + "dev": true, + "requires": { + "@css-render/vue3-ssr": "^0.15.10", + "@juggle/resize-observer": "^3.3.1", + "css-render": "^0.15.10", + "evtd": "^0.2.4", + "seemly": "^0.3.6", + "vdirs": "^0.1.4", + "vooks": "^0.2.4" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "dev": true + }, + "wellknown": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/wellknown/-/wellknown-0.5.0.tgz", + "integrity": "sha512-za5vTLuPF9nmrVOovYQwNEWE/PwJCM+yHMAj4xN1WWUvtq9OElsvKiPL0CR9rO8xhrYqL7NpI7IknqR8r6eYOg==", + "requires": { + "concat-stream": "~1.5.0", + "minimist": "~1.2.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "windicss": { + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/windicss/-/windicss-3.5.6.tgz", + "integrity": "sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==", + "dev": true + }, + "wkt-parser-helper": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/wkt-parser-helper/-/wkt-parser-helper-4.2.0.tgz", + "integrity": "sha512-SZTisr66IQ19KVAvXjsix3cmyqZ/WG3W3QOgdtOelPFvUMlhoh5AmCmqmXiN9agbWROPBdo6baCT6/7YAYoZZg==", + "requires": { + "wellknown": "^0.5.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zrender": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz", + "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==", + "requires": { + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..e0709be3b --- /dev/null +++ b/package.json @@ -0,0 +1,65 @@ +{ + "name": "page_customize", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "run-p type-check build-only", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --noEmit", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" + }, + "dependencies": { + "@cesium-extends/drawer": "^1.3.6", + "@cesium-extends/heat": "^1.0.3", + "@cesium-extends/subscriber": "^1.1.0", + "@turf/turf": "^7.1.0", + "@vueuse/core": "^9.9.0", + "@wenrenfangge/cesium-draw": "^1.0.4", + "axios": "^1.2.1", + "cesium": "^1.123.0", + "chroma-js": "^3.1.2", + "dayjs": "^1.11.13", + "echarts": "^5.5.1", + "lodash": "^4.17.21", + "normalize.css": "^8.0.1", + "pinia": "^2.0.28", + "satellite.js": "^5.0.0", + "seemly": "^0.3.9", + "v-viewer": "^3.0.21", + "viewerjs": "^1.11.7", + "vue": "^3.2.45", + "vue-draggable-plus": "^0.5.6", + "vue-router": "^4.1.6", + "vue3-seamless-scroll": "^2.0.1", + "wkt-parser-helper": "^4.2.0" + }, + "devDependencies": { + "@rushstack/eslint-patch": "^1.1.4", + "@types/node": "^18.11.12", + "@vicons/ionicons5": "^0.12.0", + "@vicons/tabler": "^0.12.0", + "@vitejs/plugin-legacy": "^4.0.1", + "@vitejs/plugin-vue": "^4.0.0", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^11.0.0", + "@vue/tsconfig": "^0.1.3", + "autoprefixer": "^10.4.13", + "eslint": "^8.22.0", + "eslint-plugin-vue": "^9.3.0", + "naive-ui": "^2.34.3", + "npm-run-all": "^4.1.5", + "postcss": "^8.4.21", + "prettier": "^2.8.4", + "prettier-plugin-tailwindcss": "^0.2.3", + "sass": "^1.57.1", + "tailwindcss": "^3.2.7", + "typescript": "~4.7.4", + "unplugin-auto-import": "^0.12.1", + "unplugin-vue-components": "^0.22.12", + "vite": "^4.0.0", + "vite-plugin-windicss": "^1.8.10", + "vue-tsc": "^1.0.12" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 000000000..33ad091d2 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/GV/GEOVIS.d.ts b/public/GV/GEOVIS.d.ts new file mode 100644 index 000000000..ae47fa102 --- /dev/null +++ b/public/GV/GEOVIS.d.ts @@ -0,0 +1,25661 @@ +declare module GV { class Subject {} +/** + * @类型 外部使用类 + * @描述 空降选址分析 + * @see 空降选址分析 + */ + class AirborneAnalysis { + private viewer; + private polygon; + private labelArr; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * polygonColor 面颜色 + * textColor 文字颜色 + * depthTest 地球深度检测 + */ + open(data: any, polygonColor?: string, textColor?: string, depthTest?: boolean): void; + /** + * 关闭分析 + */ + close(): void; + /** + * 获取空降选址个数 + */ + getAirBorne(): number; +} + +/** + * @类型 外部使用类 + * @描述 用于在特定情况下进行分析的工具 + */ + class Analysis { + private _viewer; + private _layerSplit; + private _viewshedAnalyze; + private _heightAnalyze; + private _groundClip; + private _floodAnalysis; + private _profileAnalysis; + private _measureDistance; + private _measureArea; + private _hideAnalysis; + private _intervisibilityAnalysis; + private _pathAnalysis; + private _polygonVisiableAnalysis; + private _slopeAnalysis; + private _skylineAnalyze; + private _bufferAnalysis; + private _headFloodAnalysis; + private _shadowAnalysis; + private _watchHouseAnalysis; + private _contourAnalysis; + private _directAimAnalysis; + private _inDirectAimAnalysis; + private _airborneAnalysis; + private _groundClippingAnalysis; + private _nuclearProtectionAnalysis; + private _morphologicAnalysis; + constructor(viewer: GeoCanvas); + private _init; + /** + * 卷帘工具 + */ + readonly layerSplit: LayerSplit; + /** + * @see 通视分析工具 + */ + readonly viewshedAnalyze: ViewshedAnalyze; + /** + * 通视分析工具 + */ + readonly heightAnalyze: HeightAnalyze; + readonly groundClip: GroundClipping; + /** + * 淹没分析 + */ + readonly floodAnalysis: FloodAnalysis; + /** + * 剖面分析 + */ + readonly profileAnalysis: ProfileAnalysis; + /** + * 测距 + */ + readonly measureDistance: MeasureDistance; + /** + * 测面 + */ + readonly measureArea: MeasureArea; + /** + * 遮蔽分析 + */ + readonly hideAnalysis: HideAnalysis; + /** + * 点点通视 + */ + readonly intervisibilityAnalysis: IntervisibilityAnalysis; + /** + * 路径分析 + */ + readonly pathAnalysis: PathAnalysis; + /** + * 点面通视 + */ + readonly polygonVisiableAnalysis: PolygonVisiableAnalysis; + /** + * 坡度坡向分析 + */ + readonly slopeAnalysis: SlopeAnalysis; + /** + * 天际线分析 + */ + readonly SkylineAnalyze: SkylineAnalyze; + /** + * 缓冲区分析 + */ + readonly bufferAnalysis: BufferAnalysis; + /** + * 淹没分析(服务端计算) + */ + readonly headFloodAnalysis: HeadFloodAnalysis; + /** + * 阴影分析 + */ + readonly shadowAnalysis: ShadowAnalysis; + /** + * 观察所分析 + * @readonly + */ + readonly watchHouseAnalysis: WatchHouseAnalysis; + /** + * 等高线提取 + */ + readonly contourAnalysis: ContourAnalysis; + /** + * 直瞄分析 + */ + readonly directAimAnalysis: DirectAimAnalysis; + /** + * 间瞄分析 + */ + readonly inDirectAimAnalysis: InDirectAimAnalysis; + /** + * 空降选址分析 + */ + readonly airborneAnalysis: AirborneAnalysis; + /** + * 挖填方分析 + */ + readonly groundClippingAnalysis: GroundClippingAnalysis; + /** + * 核防护 + */ + readonly nuclearProtectionAnalysis: NuclearProtectionAnalysis; + /** + * 地貌分析类型 + */ + readonly morphologicAnalysis: MorphologicAnalysis; +} + + class AnalysisUtil { + /** + * 创建纹理 + * @param width + * @param height + * @param color + */ + static createImage(width: number, height: number, color: Array): string; + static createPolyline(data: Array>, lineWidth?: number, color?: string): any; + static createPolygon(data: Array>, color?: string, imageSrc?: string): Cesium.GroundPrimitive; + static createTextPoint(pos: GeoPoint, text: string, textColor?: string): Cesium.Entity; + static createRectangle(rect: Cesium.Rectangle, src: string): Cesium.Entity; + static createPoint(pos: GeoPoint, color?: string): Cesium.Entity; + static createLine(posArr: Array, color?: string, lineWidth?: number): Cesium.Entity; + static createEllipse(dis: number, position: GeoPoint, src: string): Cesium.Entity; +} + +/** + * @类型 外部使用类 + * @描述 缓冲区分析 + * @see 缓冲区分析 + */ + class BufferAnalysis { + private viewer; + private dataSource; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * depthTest 地形深度检测 + * color 颜色 + */ + open(data: any, depthTest?: boolean, color?: string): void; + /** + * 关闭分析 + */ + close(): void; +} + +/** + * @类型 外部使用类 + * @描述 等高线提取 + * @see 等高线提取 + */ + class ContourAnalysis { + private viewer; + private primitive; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * color 线颜色 + * lineWidth 线宽 + */ + open(data: any, color?: string, lineWidth?: number): void; + /** + * 关闭分析 + */ + close(): void; +} + +/** + * @类型 外部使用类 + * @描述 直瞄分析 + * @see 直瞄分析 + */ + class DirectAimAnalysis { + private viewer; + private rectangle; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * rangeOutColor 射程外代表色 + * invisibleColor 不通视代表色 + * unbeatColor 通视,不可打击 + * beatColor 可打击代表色 + * depthTest 地球深度检测 + */ + open(data: any, rangeOutColor?: string, invisibleColor?: string, unbeatColor?: string, beatColor?: string, depthTest?: boolean): void; + /** + * 关闭分析 + */ + close(): void; +} + +/** + * @类型 内部使用类 + * @描述 洪水分析,为 Analysis 分析类所调用 + * @see 淹没分析 + */ + class FloodAnalysis { + private _viewer; + private _handler; + private _polygon; + private _flag; + private _point; + private _label; + private _rect; + private _clampToGround; + private _area; + private _labelItem; + constructor(viewer: any); + /** + * 开启淹没分析 + * @param unit 量算单元 + * @param color 量算颜色 + */ + open(opt: FloodAnalysisOpt): void; + /** + * 淹没基准点选取 + * @param data + * @param color + */ + private _selectBsaePoint; + private _calcDistance; + /** + * 关闭淹没分析 + */ + close(): void; +} +/** + * 洪水分析参数规范 + */ + class FloodAnalysisOpt { + /** + * 是否贴地 + */ + clampToGround: true; + /** + * 线型颜色 + */ + color: ColorStyle; + /** + * 量算单元 + */ + unit: string; + /** + * 线型宽度 + */ + width: number; + /** + * 文字对象参数 + */ + labelGraphicOpt?: LabelGraphicOpt; + /** + * 回调函数 + */ + finshCallback?: Function; +} + +/** + * 挖地 + */ + class GroundClipping { + /** + * 地理画布 + */ + viewer: GeoCanvas; + /** + * 挖坑对象 + */ + private terrainClipPlan; + private _path; + /** + * 挖地路径(经纬高) + */ + path: Array; + private _height; + /** + * 高度 + */ + height: number; + /** + * 构造函数 + * @param viewer 地理画布 + */ + constructor(viewer: any); + /** + * 初始化挖地 + * @param path 路径数据 + * @param height 挖坑深度 + * @param wallImg 坑壁图片 + * @param bottomImg 坑底图片 + */ + add(path: Array, height?: number): void; + /** + * 获取挖坑路径数据 + * @param path 挖坑路径 + */ + private getPositionsData; + /** + * 每次设置属性之后需要刷新 + */ + private updateData; + /** + * 清除 + */ + clear(): void; +} + +/** + * @类型 外部使用类 + * @描述 填挖方分析 + * @see 填挖方分析 + */ + class GroundClippingAnalysis { + private viewer; + private entityArr; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * wafangLevel 高度 + * pointList 矩形区域左上,右下两点 + */ + open(data: any, wafangLevel: number, pointList: Array): void; + /** + * 删除 + */ + close(): void; + /** + * 计算两点间距离 + */ + private getFlatternDistance; +} + +/** + * @类型 外部使用类 + * @描述 淹没分析 + * @see 缓冲区分析 + */ + class HeadFloodAnalysis { + private viewer; + private rectangle; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * depthTest 地形深度检测 + * floodColor 淹没颜色 + * noFloodColor 未淹没颜色 + */ + open(data: any, depthTest?: boolean, floodColor?: string, noFloodColor?: string): void; + /** + * 关闭分析 + */ + close(): void; + private createMap; +} + +/** + * @类型 内部使用类 + * @描述 控高分析,为 Analysis 分析类所调用 + * @see 控高分析 + */ + class HeightAnalyze { + viewer: any; + config: any; + _layer: any; + _points: any[]; + /** + * 通视分析构造函数 + * @method constructor + * @param viewer Cesium.Viewer 对象 + * + */ + constructor(viewer: any); + color: any; + /** + * @method height + * 高度值 + * + * 示例代码 + * ``` + * var heightAnalyze = viewer.analysis.heightAnalyze; + * heightAnalyze.height = 400; + * heightAnalyze.open(); + * ``` + * + */ + height: number; + /** + * 坐标点 + * @method setPolygon + * @param points 经纬度点坐标,格式:[经度,纬度,高度] + * 示例代码 + * ``` + * var heightAnalyze = viewer.analysis.heightAnalyze; + * heightAnalyze.height = 400; + * heightAnalyze.setPolygon([ + * 109.0349381448271,34.31717633782572,386.9231637517154,109.03900961665003, + * 34.321847375754345,397.67154065059685, + * 109.03346632153671,34.326639657406226,395.4792360496345, + * 109.03144059631933,34.32489928901451,390.96019381390937, + * 109.0311066948082,34.323485025163286,388.67673695624234, + * 109.03229719685534,34.31991103654269,385.82666822350035, + * 109.03358048811168,34.31842706237503,386.4791369856086, + * 109.03433018158603,34.31771892610954,387.5863231772101 + * ]); + * heightAnalyze.open(); + * ``` + * + */ + setPolygon(points: Array): void; + /** + * 开始分析 + * @method open + * @return + */ + open(): void; + /** + * 结束视域分析 + * @method close + */ + close(): void; + private updateLayer; + private creategeometry; +} + +/** + * 遮蔽分析 + */ + class HideAnalysis { + private viewer; + private entity; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * center 位置 + * dis 距离 + * depthTest 地形深度检测 + * hideColor 遮蔽颜色 + * noHideColor 不遮蔽颜色 + */ + open(data: any, center: GeoPoint, dis: number, depthTest?: boolean, hideColor?: string, noHideColor?: string): void; + /** + * 删除 + */ + close(): void; +} + +/** + * @类型 外部使用类 + * @描述 间瞄分析 + * @see 间瞄分析 + */ + class InDirectAimAnalysis { + private viewer; + private rectangle; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * unbeatColor 不可打击颜色 + * beatColor 可打击颜色 + * depthTest 地球深度检测 + */ + open(data: any, unbeatColor?: string, beatColor?: string, depthTest?: boolean): void; + /** + * 关闭分析 + */ + close(): void; +} + +/** + * 点点通视 + */ + class IntervisibilityAnalysis { + private viewer; + private lineGreen; + private lineRed; + private dirLine; + private point; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * posArr [起点,终点] + * lineWidth 线宽 + * depthTest 地形深度检测 + * visableColor 通视线颜色 + * invisableColor 不通视颜色 + * obstructPointColor 障碍点颜色 + */ + open(data: any, posArr: Array, depthTest?: boolean, lineWidth?: number, visableColor?: string, invisableColor?: string, obstructPointColor?: string): void; + /** + * 存在障碍点 + */ + private createObstructPrimitive; + /** + * 通视情况 + */ + private createDirPrimitive; + /** + * 关闭分析 + */ + close(): void; +} + +/** + * 卷帘功能 + */ + class LayerSplit { + private _layer; + private _viewer; + private _type; + private _handler; + /** + * 构造函数 + * @param viewer 卷帘视口 + * @param layer 卷帘图层 + * @param type 卷帘方式 + * @param style 卷帘样式 + */ + constructor(viewer: GeoCanvas); + private _getType; + private _formatCss; + private _main; + /** + * 开启卷帘 + * @param {Cesium.ImageryLayer} layer + * @param {string} type 卷帘类型['left','right','up','bottom'] + * @param {string} barColor 卷帘条带颜色 + * @param {number} barWidth 卷帘条带宽度 + */ + open(layer: Cesium.ImageryLayer, type?: string, barColor?: string, barWidth?: number): void; + /** + * 关闭卷帘 + */ + close(): void; +} + +/** + * 侧面 + */ + class MeasureArea { + private _viewer; + private _area; + private _clampToGround; + private _ploygon; + private _labelItem; + constructor(viewer: Cesium.Viewer); + /** + * 开启测面 + * @param clampToGround 是否计算贴地 + * @param unit 量算单位 meter kilometer + * @param color 量算面颜色 + * @param labelGraphicOpt 文字对象参数 + * @param finshCallback 回调函数 + */ + open(areaOpt: MeasureAreaOpt): void; + private _calcDistance; + /** + * 关闭测面 + */ + close(): void; +} + class MeasureAreaOpt { + /** + * 是否计算贴地 + */ + clampToGround: boolean; + /** + * 线是否贴地 + */ + polygonClamp: boolean; + /** + * 量算单位 meter kilometer + */ + unit: string; + /** + * 量算线颜色 + */ + color: string; + /** + * 文字对象参数 + */ + labelGraphicOpt?: LabelGraphicOpt; + /** + * 回调函数 + */ + finshCallback?: Function; +} + +/** + * 测距 + */ + class MeasureDistance { + private _viewer; + private _distance; + private _clampToGround; + private _polyline; + private _labelItem; + constructor(viewer: Cesium.Viewer); + /** + * 开启测距 + * @param disopt 测距参数 + */ + open(disopt: MeasureDistanceOpt): void; + private _calcDistance; + /** + * 关闭测距 + */ + close(): void; +} + class MeasureDistanceOpt { + /** + * 是否计算贴地 + */ + clampToGround: boolean; + /** + * 线是否贴地 + */ + lineClamp: boolean; + /** + * 量算单位 meter kilometer + */ + unit: string; + /** + * 量算线颜色 + */ + color: string; + /** + * 文字对象参数 + */ + labelGraphicOpt?: LabelGraphicOpt; + /** + * 回调函数 + */ + finshCallback?: Function; +} + +/** + * @类型 外部使用类 + * @描述 地貌分析 + * @see 地貌分析 + */ + class MorphologicAnalysis { + private viewer; + private entitiyArr; + private primitiveArr; + constructor(viewer: GeoCanvas); + /** + * 开始分析 + * @param data 后端返回数据 即response.data + * @param radioModel 分析模式 + * @param position 分析范围 + * @param lineColor 线颜色 + * @param textColor 文字颜色 + * @param depthTest 深度检测 + */ + open(data: any, radioModel: MorphologicModelEnum, position?: Array, lineColor?: string, textColor?: string, depthTest?: boolean): void; + /** + * 关闭分析 + */ + close(): void; +} +/** + * 分析类型 + */ + enum MorphologicModelEnum { + /**山顶点 */ + 'MountainTop' = 1, + /**鞍部点 */ + 'Saddlepoint' = 2, + /**山脚线 */ + 'Bottomline' = 3, + /**山谷线 */ + 'Valleyline' = 4, + /**山脊线 */ + 'Ridgeline' = 5, + /**地貌类型 */ + 'TerrainType' = 6 +} + +/** + * @类型 外部使用类 + * @描述 核防护分析 + * @see 核防护分析 + */ + class NuclearProtectionAnalysis { + private viewer; + private entity; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * depthTest 地形深度检测 + */ + open(data: any, depthTest?: boolean): void; + /** + * 删除 + */ + close(): void; +} + +/** + * 路径分析 + */ + class PathAnalysis { + /** + * 视图对象 + */ + private viewer; + private pathArr; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * depthTest 地形深度检测 + * lineWidth 线宽 + * color 线颜色 + */ + open(data: any, depthTest?: boolean, lineWidth?: number, color?: string): void; + /** + * 结束分析 + */ + close(): void; +} + +/** + * 点面通视 + */ + class PolygonVisiableAnalysis { + private viewer; + private entity; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * depthTest 地形深度检测 + * visiableColor 可视颜色 + * invisibleColor 不可视颜色 + */ + open(data: any, depthTest?: boolean, visiableColor?: string, invisibleColor?: string): void; + /** + * 删除 + */ + close(): void; +} + +/** + * 剖面分析 + */ + class ProfileAnalysis { + private _viewer; + private _measureDistance; + constructor(viewer: any); + /** + * 开启剖面分析 + * @param callback 回调函数 + */ + open(callback: Function): void; + /** + * 关闭剖面分析 + */ + close(): void; +} + +/** + * @author zhuwz + * @desc 3DTiles 选择工具 + */ + class SelectionTool { + private _tileet; + private _selectionColor; + constructor(tileet: Cesium.Cesium3DTileset); + /** + * 选中对象颜色设置 + */ + selectionColor: Cesium.Color; + /** + * 选择对象 + * @param propertyName 属性字段 + * @param propertyValus 属性值 + */ + select(propertyName: string, propertyValus: Array): void; + /** + * 清空选择集 + * + */ + clear(): void; +} + +/** + * @类型 外部使用类 + * @描述 阴影分析 + * @see 阴影分析 + */ + class ShadowAnalysis { + private viewer; + private rectangle; + constructor(viewer: GeoCanvas); + /** + * 关闭分析 + */ + close(): void; + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * depthTest 地球深度检测 + */ + open(data: any, depthTest?: boolean): void; + private createMap; +} + +/** + * @类型 内部使用类 + * @描述 天际线,为 Analysis 分析类所调用 + * @see 天际线 + */ + class SkylineAnalyze { + private _skylinePostProcess; + private _viewer; + private _psLayer; + constructor(viewer: any); + /** + * 开启天际线分析 + * @param opt 天际线分析设置 + */ + open(opt: SkylineOption): void; + /** + * 关闭天际线分析 + */ + close(): void; +} + class SkylineOption { + /** + * 线型宽度 + */ + width: number; + strokeType: Cesium.Cartesian3; + bjColor: Cesium.Color; + color: Cesium.Color; + strokeDistance: number; +} + class SkylinePostProcess extends Cesium.PostProcessStage { + constructor(camera: Cesium.Camera, opts: SkylineOption); +} + +/** + * 坡度坡向分析 + * 说明:根据数据分为9级,颜色设置如下: + * level_1:rgba(45,136,4,1.0), + * level_2:rgba(75,153,4,1.0), + * level_3:rgba(111,169,4,1.0), + * level_4:rgba(154,188,4,1.0), + * level_5:rgba(204,206,4,1.0), + * level_6:rgba(204,155,4,1.0), + * level_7:rgba(204,104,4,1.0), + * level_8:rgba(204,53,4,1.0), + * level_9:rgba(204,2,4,1.0) + */ + class SlopeAnalysis { + private viewer; + private rectangle; + constructor(viewer: GeoCanvas); + /** + * 数据返回成功后开始分析 + * data 后端返回数据 即response.data + * depthTest 地球深度检测 + */ + open(data: any, depthTest?: boolean): void; + /** + * 创建UV + * @param res + */ + private createMap; + /** + * 结束分析 + */ + close(): void; +} + + class TerrainClipPlane { + viewer: GeoCanvas; + bottomSurface: any; + wellWall: any; + private options; + private _positions; + private _height; + height: number; + wallImg: String; + bottomImg: String; + private splitNum; + private excavateMinHeight; + private wellData; + private _show; + show: any; + constructor(t: any, i: any); + updateData(e: any): void; + private _prepareWell; + private _createWell; + private _getMinHeight; + private _ellipsoidToLonLat; + private _createWellWall; + private _createBottomSurface; + private _switchExcavate; + private _updateExcavateDepth; + /** + * 清除 + */ + clear(): void; +} + +/** + * 通视分析 + */ + class ViewshedAnalyze { + viewer: any; + config: any; + defaultOption: any; + /** + * 通视分析构造函数 + * @method constructor + * @param viewer Cesium.Viewer 对象 + * + */ + constructor(viewer: Cesium.Viewer); + VisibleColor: any; + InVisibleColor: any; + /** + * 是否显示视距 + * + */ + showDistance: any; + /** + * 开始视域分析 + * @method start + * + */ + open(): void; + /** + * 结束视域分析 + * @method stop + * + */ + close(): void; + _initialiseHandlers(): void; + _addEntity(pos: any): void; + _calculatePose(pickingPos: any): void; + _createViewShad(pos: any): void; + _getUIShader(self: any, fs: any, shadowMap: any, castShadows: any, isTerrain: any, hasTerrainNormal: any): any; + _updateLightDirection(): void; + _creatFrustum(): void; + _pickPosition(winPosition: any): any; + _getViewShadGeometry(frustumGeometry: any): any; +} + + class ViewShedPrimitive { + viewer: any; + cameraPosition: any; + _horizontalAngle: any; + viewPosition: any; + _verticalAngle: any; + _visibleAreaColor: any; + _hiddenAreaColor: any; + _alpha: any; + _distance: any; + _frustum: any; + calback: any; + frustumQuaternion: any; + _handler: any; + radar: any; + viewShadowMap: any; + pCamera: any; + postProcess: any; + constructor(viewer: any, option: any); + readonly config: { + cameraPosition: any; + viewPosition: any; + horizontalAngle: number; + verticalAngle: number; + visibleAreaColor: Cesium.Color; + hiddenAreaColor: Cesium.Color; + alpha: number; + distance: number; + frustum: boolean; + }; + getCurrentMousePosition(e: any, t: any, testParms: any): any; + validate(e: any, t: any): boolean; + _bindMourseEvent(): void; + _unbindMourseEvent(): void; + _addToScene(): void; + _createShadowMap(cPosition: any, vPosition: any): void; + getFrustumQuaternion(position: any, viewPosition: any): Cesium.HeadingPitchRoll; + _addPostProcess(): void; + removeRadar(): void; + resetRadar(): void; + addRadar(position: any, hpr: any): void; + update(e: any): void; + destroy(): void; + horizontalAngle: any; + verticalAngle: any; + distance: any; + visibleAreaColor: any; + hiddenAreaColor: any; + alpha: any; +} + +/** + * @类型 外部使用类 + * @描述 观察所分析 + * @see 观察所分析 + */ + class WatchHouseAnalysis { + private viewer; + private rectangle; + private watchEntity; + private iconEntityArr; + constructor(viewer: GeoCanvas); + /** + * 开始分析 + * @param data 后端返回数据 即response.data + */ + open(data: any): void; + /** + * 关闭分析 + */ + close(): void; + /** + * 显示观察所范围 + * @param data 后端返回数据 即response.data + */ + openVisiblity(data: any): Promise; +} + +/** + * @类型 需要创建的虚拟类一般由内部类继承 + * @描述 事件分发类可以实现事件的注册监、注销监听、事件激活等方法 + */ + class Event { + protected _events: any; + protected _firingCount: any; + /** + * 添加对象的事件监听方法(事件对象基础方法) + * @param type 监听事件类型 + * @param fn 监听回调函数 + * @param context 上下文 + * ``` + * 示例代码: + * const fun = function(info) { + * console.log('监听事件'); + * console.log(info); + * } + * event.on('add', fun); //监听添加事件 + * ``` + */ + on(type: string, fn: Function, context?: any): this; + /** + * 监听 + * @param type + * @param fn + * @param context + */ + private _on; + /** + * 移除对象的事件监听方法(事件对象基础方法) + * @param type 要删除的监听事件类型 + * @param fn 要删除的监听回调函数,为空时清空所有回调函数 + * @param context 上下文 + * @return + * ``` + * 代码示例: + * event.off('add',fun); + * ``` + */ + off(type: string, fn: Function, context?: any): void; + /** + * 事件移除 + * @param type + * @param fn + * @param context + */ + private _off; + /** + * 激活对象的某个监听事件,可以附件数据,并可以传递给父对象(事件对象基础方法) + * @method fire + * @param type 事件名称 + * @param data 监听时(on)收到的数据 + * @return + * ``` + * 示例代码: + * const info = {} //监听时(on)收到的数据 + * event.fire('add',info); + * ``` + */ + fire(type: string, data: any): this; + /** + * 查询是否有指定类型的监听器(事件对象基础方法) + * @param type 事件类型 + * @returns + * ``` + * 示例代码: + * const hasListens = event.listens('add'); + * ``` + */ + listens(type: string): boolean; +} + + class Item { + protected _name: string; + protected _id: any; + /** + * 对象名称不需要修改 + * ``` + * 示例代码 + * item.name = 'itemName' + * ``` + */ + name: string; + /** + * 对象id不允许用修改全局唯一初始化传入或自动生成 + * ``` + * 示例代码: + * let id = item.id; + * ``` + */ + readonly id: any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(json: object): void; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + initItem(options: any): any; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行remove方法添加时被调用 + */ + destroyItem(): void; +} + + class Layer extends Event { + protected _itemList: Array; + constructor(); + /** + * 添加对象 + * @param item + */ + add(item: Item): Item; + /** + * 删除对象 + * @param + */ + remove(itemid: string): Item; + /** + * 根据id获得对象 + * @param itemid 对象id + */ + getItemById(itemid: string): Item; + /** + * 根据name获得对象 + * @param itemName 对象名称 + */ + getItemByName(itemName: string): Item; + toJson(): any[]; + /** + * 解析json + * @param json 解析 + */ + parseJson(json: any): void; + getItemList(): Item[]; +} + + class Register { + _registerList: Map>; + constructor(); + /** + * 注册Item + * @param type 注册类型 + * @param itemConstructor 注册对象 + */ + REGISTER(type: ItemBaseTypeE, itemConstructor: any): void; + /** + * 根据类型获取构造器 + * @param type 类别 + * @param itemType item类型 + */ + GET_CONSTRUCTOR(type: ItemBaseTypeE, itemType: string): any; + GET_REGISTER_LIST(): Map>; +} + enum ItemBaseTypeE { + /** + * 影像基类 + */ + ImageItem = "ImageItem", + /** + * 矢量基类 + */ + vectorItem = "vectorItem", + /** + * 三维模型基类 + */ + modelItem = "modelItem", + /** + * 几何体基类 + */ + GraphicItem = "GraphicItem", + /** + * 高效绘制基类 + */ + EfficentItem = "EfficentItem", + /** + * 瓦片基类 + */ + TileItem = "TileItem", + /** + * 动作基类 + */ + ActionItem = "ActionItem" +} + const gRegister: Register; + + class ArrayHelper { + static Remove(array: T[], t: T): void; + static moveItem(array: T[], index1: any, index2: any): T[]; +} + + class DeComItemBase { + name: string; + comType: DeComType; + data: any; + param: any; + customElement: any; + instance: any; + option: any; + editable: boolean; + private _visible; + visible: boolean; + close(): void; + hide(): void; + onclosed: Subject; + onloaded: Subject; +} + class DeCustomItem extends DeComItemBase { + /** + * @param {string} customElementName + */ + constructor(element: any, option?: DeWindowOption, editable?: boolean); +} + enum DeComType { + angular = 0, + customWindowElement = 1, + customElement = 2 +} + class DeWindowOption { + isFullScreen?: boolean; + width?: string; + height?: string; + left?: string; + top?: string; + right?: string; + bottom?: string; + headerVisible?: boolean; + title?: string; + zIndex?: number; + iconClass?: string; +} + + abstract class DePluginBase { + /** + * 搜索,搜索插件内部数据,用于系统综合搜索功能 + * @param {string} name 关键字 + * @returns Promise + */ + search?(name: string): Promise; + /** + * 初始化 + * @param {} viewer 框架传入的 球对象 + */ + abstract init(viewer: any): any; + /** + * 显示插件,包括界面和球上元素 + * @param {} data? + */ + abstract show(data?: any): any; + /** + * 隐藏插件页面,保留球上元素 + */ + abstract hide(): any; + /** + * 关闭插件,同时删除插件关联的球上元素 + */ + abstract close(): any; + /** + * 销毁插件 + */ + abstract dispose(): any; + /** + * 获取当前展示数据的序列化对象,用于系统快照 + */ + abstract getDisplayCondition(): any; + /** + * 设置显示数据序列化,用于快照 + * @param {any} param 数据 + * @param {boolean} onlyName 用于 综合搜索,综合搜索对插件数据的关键字进行搜索,从综合搜索结果跳转到插件时使用此参数清空其他筛选条件 + */ + abstract setDisplayCondition(param: any, onlyName: boolean): any; + onViewerMouseInput(mousevent: any, eventtype: any): void; +} + +/** + * 插件属性 + */ + class DePluginAttribute { + constructor(name: string, pluginConstructor: Function, icon?: string, isSearch?: boolean, iconFont?: any, position?: any); + /** + * 名称 + */ + name: string; + /** + * 图标 + */ + icon: string; + /** + * + */ + iconFont: string; + pluginConstructor: any; + instance?: DePluginBase; + state?: PluginState; + isSearch: boolean; + position: string; + geovisEntry?: string; +} + enum PluginState { + show = 0, + hide = 1, + close = 2 +} + +/** + * 插件管理类 + * 对继承自{@link Tool} 与 {@link Widget}的类进行管理 + */ + class DePluginManager extends Event { + _viewer: any; + Tools: DePluginAttribute[]; + Widgets: DePluginAttribute[]; + CurrentTool: DePluginAttribute; + leftTools: DePluginAttribute[]; + rightWidgets: DePluginAttribute[]; + bottomTools: DePluginAttribute[]; + bottomWidgets: DePluginAttribute[]; + constructor(viewer: any); + registerTool(plugin: DePluginAttribute): void; + registerWidget(plugin: DePluginAttribute): void; + showTool(tool: DePluginAttribute): void; + changeTool(tool: DePluginAttribute): void; + closeTool(tool: DePluginAttribute | DePluginBase): void; + hideTool(tool: DePluginAttribute | DePluginBase): void; + createInstance(attribute: DePluginAttribute): void; + showWidget(widget: DePluginAttribute): void; + closeWidget(widget: DePluginAttribute | DePluginBase): boolean; + closeToolWidget(plugin: DePluginAttribute | DePluginBase): void; + private getPluginAttribute; +} + + class DePluginViewManager { + static instance: DePluginViewManager; + comArray: DeComItemBase[]; + constructor(viewer: any, toolContainer: any, onCanvasChange: any); + private _originCanvas; + private _viewer; + private _toolContainer; + private _onCanvasChange; + resetMouseBaseElement(): void; + setMouseBaseElement(element: any): void; + private customElementShow; + microAppShow(url: any, option: DeWindowOption, param: any, editable?: boolean): DeCustomItem; + iframeElementShow(url: any, option: DeWindowOption, editable?: boolean, id?: string): DeComItemBase; + iframeWindowElementShow(url: any, option: DeWindowOption, editable?: boolean, id?: string): DeComItemBase; + createIframeWindow(url: string, option: DeWindowOption, id?: string): { + element: HTMLDivElement; + iframe: HTMLIFrameElement; + closeElement: HTMLElement; + }; + createIframe(url: string, name?: string): HTMLIFrameElement; + close(item: DeComItemBase): void; +} + + class SinlgleDePlugin extends DePluginBase { + private viewer; + private view; + constructor(entry: string); + init(viewer: any): void; + show(data?: any): void; + hide(): void; + close(): void; + dispose(): void; + getDisplayCondition(): void; + setDisplayCondition(param: any, onlyName: boolean): void; + geovisEntry: string; +} + +/** + * 建筑物效果 + */ + class BuildingMesh { + private appearance; + /**基准高度 */ + private standardHeight; + private viewer; + /**水平高度 */ + private minHeight; + private color; + /** + * 初始化 + * @param viewer + * @param data 多边形数据 + * @param standardHeight 基准高度 + * @param color 基本颜色 + */ + constructor(viewer: Cesium.Viewer, data: Array>, standardHeight?: number, color?: string); + /** + * 创建多边形几何体集合 + * @param polygonList + */ + private createGeometry; + private createAppearance; + private getMS; + private getVs; + private getFs; +} + + class CustomTilesetShader { + private vertex; + private fragment; + constructor(tileset: any, options?: any); + static SCAN: { + fragmentShader: string; + vertexShader: string; + }; + static cached: Map; +} + +/** + * 圆柱几何体 + */ + class CylinderGeometry { + topRadius: number; + bottomRadius: number; + position: GeoPoint; + height: number; + slice: number; + constructor(options: any); + createGeometry(): Cesium.Geometry; + getModelMatrix(): Cesium.Matrix4; + private createVertex; + /** + * 创建attribute + * @param topPosArr 顶面顶点数据 + * @param bottomPosArr 底面顶点数据 + */ + private createGeometeryAttribute; + /** + * 创建网格体 + * @param postionsTemp 顶点数据 + * @param stsTemp 纹理数据 + */ + private createGrometry; +} + +/** + * 防御罩效果 + */ + class DefenseEllipsoid { + private color; + private radius; + private position; + private viewer; + private appearance; + private primitive; + private time; + constructor(viewer: Cesium.Viewer, position: GeoPoint, radius?: number, color?: string); + /** + * 创建primitive + */ + private createPrimitive; + private ellipsoidMs; + private getVs; + private getFs; +} + +/** + * 圆形警示波 + */ + class DiffusionCircles { + private geometry; + private appearance; + private primitive; + private _viewer; + private _position; + private _radius; + private _height; + private _color; + private _inner; + /** + * 初始化 + * @param viewer + * @param position 位置 + * @param radius 半径 + * @param height 离地面高度 + * @param color 颜色 + * @param inner 是否为内部圆形 + */ + constructor(viewer: Cesium.Viewer, position?: GeoPoint, radius?: number, height?: number, color?: string, inner?: boolean); + /** + * 添加动画 + */ + private startAnimate; + /** + * 初始化方法 + */ + init(): void; + /** + * 创建几何体 + */ + private createGeometry; + /** + * 创建材质 + */ + private createAppearance; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 内部圆形波着色器代码段 + */ + private getInnerSource; + /** + * 外部圆形波着色器代码段 + */ + private getOuterSource; + /** + * 移除 + */ + clear(): void; +} + + class FlowLine { + private viewer; + lineAppearance: Cesium.PolylineMaterialAppearance; + constructor(viewer: Cesium.Viewer, options: FlowLineOpt); + private create; + private createLineAppearance; + private getFlowLineSource; + private createInstance; + /** + * 计算贝塞尔曲线点信息 + */ + private generateCurve; +} + class FlowLineOpt { + startPoint: any; + endPoints: Array; +} + +/** + * 管道 + */ + class FlowTube { + private viewer; + private appearance; + private options; + constructor(viewer: Cesium.Viewer, options: FlowTubeOpt); + private createPrimitive; + private createGeometry; + /** + * 创建材质 + */ + private createAppearance; + private getSource; +} +/** + * 流动管道参数类 + */ + class FlowTubeOpt { + /**路径 */ + path: Array; + /**管道分段数 */ + tubularSegments: number; + /**管道半径 */ + radius: number; + /** 管道横截面分段数目*/ + radialSegments: number; +} + +/** + * 平面雾 + */ + class FogPlane { + private viewer; + private posArr; + private clampToGroud; + private primitive; + /** + * 初始化 + * @param viewer 地球容器 + * @param posArr 位置数组 + * @param clampToGroud 是否贴地 + */ + constructor(viewer: GeoCanvas, posArr: Array, clampToGroud?: boolean); + private createPrimitive; + private createApperance; + private getMs; + /** + * 删除 + */ + clear(): void; +} + +/** + * 动态标记点 + */ + class MarkPoint { + private _radius; + private _height; + private viewer; + _position: GeoPoint; + _color: string; + private partTwoMaterial; + private partFourMaterial; + private partTwoScale; + private partTwoMesh; + private primitiveCollection; + constructor(opt: MarkPointOpt); + /** + * 帧回调监听方法 + */ + private listenerFun; + /** + * 创建第一部分 + */ + private createPartOne; + private createPartOneImage; + private getPartOneMs; + /** + * 创建第二部分 + */ + private createPartTwo; + private createPartTwoImage; + private getPartTwoMs; + /** + * 添加第三部分 + */ + private createPartThree; + private getPartThreeMs; + private createPartFour; + private getPartFourMs; + /** + * 清除 + */ + clear(): void; +} +/** + * 动态标记点参数类 + */ + class MarkPointOpt { + /** + * 场景 + */ + viewer: Cesium.Viewer; + /** + * 位置 + */ + position: GeoPoint; + /** + * 颜色 + */ + color: string; + /** + * 半径 + */ + radius: number; + /** + * 高度 + */ + height: number; +} + +/** + * A 3D model based on glTF, the runtime asset format for WebGL, OpenGL ES, and OpenGL. + *

+ * Cesium includes support for geometry and materials, glTF animations, and glTF skinning. + * In addition, individual glTF nodes are pickable with {@link Scene#pick} and animatable + * with {@link Model#getNode}. glTF cameras and lights are not currently supported. + *

+ *

+ * An external glTF asset is created with {@link (Model as any).fromGltf}. glTF JSON can also be + * created at runtime and passed to this constructor function. In either case, the + * {@link Model#readyPromise} is resolved when the model is ready to render, i.e., + * when the external binary, image, and shader files are downloaded and the WebGL + * resources are created. + *

+ *

+ * Cesium supports glTF assets with the following extensions: + *

    + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Khronos/KHR_binary_glTF/README.md|KHR_binary_glTF (glTF 1.0)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Khronos/KHR_materials_common/README.md|KHR_materials_common (glTF 1.0)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Vendor/WEB3D_quantized_attributes/README.md|WEB3D_quantized_attributes (glTF 1.0)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/AGI_articulations/README.md|AGI_articulations} + *
  • + * {@link https://github.com/KhronosGroup/glTF/pull/1302|KHR_blend (draft)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md|KHR_draco_mesh_compression} + *
  • + * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness/README.md|KHR_materials_pbrSpecularGlossiness} + *
  • + * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit/README.md|KHR_materials_unlit} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_techniques_webgl/README.md|KHR_techniques_webgl} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_transform/README.md|KHR_texture_transform} + *
  • + *
+ *

+ *

+ * For high-precision rendering, Cesium supports the {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Vendor/CESIUM_RTC/README.md|CESIUM_RTC} extension, which introduces the + * CESIUM_RTC_MODELVIEW parameter semantic that says the node is in WGS84 coordinates translated + * relative to a local origin. + *

+ * + * @alias Model + * @constructor + * + * @param {Object} [options] Object with the following properties: + * @param {Object|ArrayBuffer|Uint8Array} [options.gltf] A glTF JSON object, or a binary glTF buffer. + * @param {Resource|String} [options.basePath=''] The base path that paths in the glTF JSON are relative to. + * @param {Boolean} [options.show=true] Determines if the model primitive will be shown. + * @param {Matrix4} [options.modelMatrix=Matrix4.IDENTITY] The 4x4 transformation matrix that transforms the model from model to world coordinates. + * @param {Number} [options.scale=1.0] A uniform scale applied to this model. + * @param {Number} [options.minimumPixelSize=0.0] The approximate minimum pixel size of the model regardless of zoom. + * @param {Number} [options.maximumScale] The maximum scale size of a model. An upper limit for minimumPixelSize. + * @param {Object} [options.id] A user-defined object to return when the model is picked with {@link Scene#pick}. + * @param {Boolean} [options.allowPicking=true] When true, each glTF mesh and primitive is pickable with {@link Scene#pick}. + * @param {Boolean} [options.incrementallyLoadTextures=true] Determine if textures may continue to stream in after the model is loaded. + * @param {Boolean} [options.asynchronous=true] Determines if model WebGL resource creation will be spread out over several frames or block until completion once all glTF files are loaded. + * @param {Boolean} [options.clampAnimations=true] Determines if the model's animations should hold a pose over frames where no keyframes are specified. + * @param {ShadowMode} [options.shadows=ShadowMode.ENABLED] Determines whether the model casts or receives shadows from light sources. + * @param {Boolean} [options.debugShowBoundingVolume=false] For debugging only. Draws the bounding sphere for each draw command in the model. + * @param {Boolean} [options.debugWireframe=false] For debugging only. Draws the model in wireframe. + * @param {HeightReference} [options.heightReference=HeightReference.NONE] Determines how the model is drawn relative to terrain. + * @param {Scene} [options.scene] Must be passed in for models that use the height reference property. + * @param {DistanceDisplayCondition} [options.distanceDisplayCondition] The condition specifying at what distance from the camera that this model will be displayed. + * @param {Color} [options.color=Color.WHITE] A color that blends with the model's rendered color. + * @param {ColorBlendMode} [options.colorBlendMode=ColorBlendMode.HIGHLIGHT] Defines how the color blends with the model. + * @param {Number} [options.colorBlendAmount=0.5] Value used to determine the color strength when the colorBlendMode is MIX. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two. + * @param {Color} [options.silhouetteColor=Color.RED] The silhouette color. If more than 256 models have silhouettes enabled, there is a small chance that overlapping models will have minor artifacts. + * @param {Number} [options.silhouetteSize=0.0] The size of the silhouette in pixels. + * @param {ClippingPlaneCollection} [options.clippingPlanes] The {@link ClippingPlaneCollection} used to selectively disable rendering the model. + * @param {Boolean} [options.dequantizeInShader=true] Determines if a {@link https://github.com/google/draco|Draco} encoded model is dequantized on the GPU. This decreases total memory usage for encoded models. + * @param {Cartesian2} [options.imageBasedLightingFactor=Cartesian2(1.0, 1.0)] Scales diffuse and specular image-based lighting from the earth, sky, atmosphere and star skybox. + * @param {Cartesian3} [options.lightColor] The light color when shading the model. When undefined the scene's light color is used instead. + * @param {Number} [options.luminanceAtZenith=0.2] The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map. + * @param {Cartesian3[]} [options.sphericalHarmonicCoefficients] The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. + * @param {String} [options.specularEnvironmentMaps] A URL to a KTX file that contains a cube map of the specular lighting and the convoluted specular mipmaps. + * @param {Credit|String} [options.credit] A credit for the data source, which is displayed on the canvas. + * @param {Boolean} [options.backFaceCulling=true] Whether to cull back-facing geometry. When true, back face culling is determined by the material's doubleSided property; when false, back face culling is disabled. Back faces are not culled if {@link Model#color} is translucent or {@link Model#silhouetteSize} is greater than 0.0. + * + * @see (Model as any).fromGltf + * + * @demo {@link https://sandcastle.cesium.com/index.html?src=3D%20Models.html|Cesium Sandcastle Models Demo} + */ + function Model(options: any): void; + +/** + * OD线 + */ + class ODLine { + viewer: Cesium.Viewer; + lineAppearance: Cesium.PolylineMaterialAppearance; + width: number; + /** + * 初始化 + * @param viewer + * @param data 线数据 + * @param width 线宽 + */ + constructor(viewer: Cesium.Viewer, data: Array>, width?: number); + private createLineGeometry; + private createLineAppearance; + private getPolylineMs; +} + +/** + * 圆柱几何体 + */ + class ParticleCylinderGeometry { + topRadius: number; + bottomRadius: number; + position: GeoPoint; + height: number; + slice: number; + constructor(options: any); + createGeometry(): Cesium.Geometry; + getModelMatrix(): Cesium.Matrix4; + private createVertex; + /** + * 创建attribute + * @param topPosArr 顶面顶点数据 + * @param bottomPosArr 底面顶点数据 + */ + private createGeometeryAttribute; + /** + * 创建网格体 + * @param postionsTemp 顶点数据 + * @param stsTemp 纹理数据 + */ + private createGrometry; +} + +/** + * 底座效果2 + * 底部圆环+截圆锥体粒子效果 + */ +interface ParticleOrbitingConeCircle { + radius: number; + height: number; +} +interface ParticleOrbitingConeParticle { + topRadius: number; + bottomRadius: number; + height: number; +} + class ParticleOrbitingCone { + position: GeoPoint; + color: string; + circles: Array; + particleOpt: ParticleOrbitingConeParticle; + private viewer; + private particleAppearance; + constructor(viewer: Cesium.Viewer, options: ParticleOrbitingConeOpt); + /**创建底部圆环 */ + private addCircles; + private createCirclesImage; + /**创建椎体 */ + private createCone; + /**绘制椎体图片 */ + private createConeImage; + /** + * 添加粒子特效 + */ + private addParticleEffect; + /**粒子特效着色器片段 */ + private getParticleSource; +} + class ParticleOrbitingConeOpt { + position: GeoPoint; + color: string; + circles: Array; + particle: ParticleOrbitingConeParticle; +} + +/** + * 旋转四棱锥 + */ + class Pentahedron { + private appearance; + private primitive; + private _viewer; + private _position; + private _topRadius; + private _bottomRadius; + private _height; + private _color; + private _slice; + private _speed; + private _angle; + /** + * 初始化 + * @param _viewer + * @param position 位置 + * @param topRadius 顶面半径 + * @param bottomRadius 地面半径 + * @param height 离地面高度 + * @param color 颜色 + * @param slice 切割份数 + * @param speed 旋转速度 + */ + constructor(_viewer: Cesium.Viewer, position?: GeoPoint, topRadius?: number, bottomRadius?: number, height?: number, color?: string, slice?: number, speed?: number); + /** + * 帧回调 + */ + listenerFun: () => void; + /** + * 初始化方法 + */ + private init; + /** + * 创建材质 + */ + private createAppearance; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 创建几何体 + */ + private createGeometry; + /** + * 设置 modelMatrix + */ + private createMatrix; + /**着色器代码段 */ + private getSource; + /** + * 移除 + */ + clear(): void; + /** + * 获取颜色 + * @returns + */ + /** + * 设置颜色 + * @param value 颜色 + */ + color: string; + /** + * 获取位置信息 + * @returns + */ + /** + * 设置位置信息 + * @param value 位置 + */ + position: GeoPoint; +} + + class RotatingPentahedron { + private options; + private boxLength; + private angle; + private viewer; + private appearance; + private primitive; + constructor(viewer: Cesium.Viewer, options: RotatingPentahedronOpt); + /** + * 创建四棱锥并添加进场景 + */ + private createPrimitive; + private createGeometry; + /** + * 四棱锥定点信息&纹理 + */ + private createAttributes; + private createMatrix; + private createAppearance; + private listenerFunc; +} + class RotatingPentahedronOpt { + position: GeoPoint; + color: string; +} + +/** + * 动态光柱 + */ + class SpreadCylinder { + private dataItem; + private appearance; + private viewer; + private updateAttribute; + private primitive; + constructor(viewer: Cesium.Viewer, dataItem: SpreadCylinderOpt); + /** + * 创建圆柱并添加进场景 + */ + private createPrimitive; + /** + * 创建贴图 + */ + private createImage; + /** + * 创建着色器代码段 + */ + private getCylinderMS; + private listenerFun; +} +/** + * 动态圆柱参数类 + */ + class SpreadCylinderOpt { + /**顶面半径 */ + topRadius: number; + /**底面半径 */ + bottomRadius: number; + /**圆柱位置 以底面圆心为中心 */ + position: GeoPoint; + /**圆柱高度 */ + height: number; + /**切分份数 */ + slice: number; + /**圆柱颜色 */ + color: string; +} + +/** + * 扩散线 + */ + class SpreadLine { + private polygonAppearance; + private polygonGeometry; + private polygonPrimitive; + private _viewer; + private _color; + private _position; + private _radius; + /** + * 初始化 + * @param viewer + * @param radius 半径 + * @param color 颜色 + * @param position 位置 + */ + constructor(viewer: Cesium.Viewer, position?: GeoPoint, radius?: number, color?: string); + /** + * 帧回调 + */ + private listenerFun; + /** + * 初始化方法 + */ + private init; + /** + * 创建网格体 + */ + private createGeometry; + /** + * 创建材质 + */ + private createAppearence; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 片源着色器方法 + */ + private getSource; + /** + * 移除 + */ + clear(): void; + /** + * 获取颜色 + * @returns + */ + /** + * 设置颜色 + * @param value 颜色 + */ + color: string; + /** + * 获取位置信息 + * @returns + */ + /** + * 设置位置信息 + * @param value 位置 + */ + position: GeoPoint; + /** + * 获取半径 + * @returns + */ + /** + * 设置半径 + * @param value 半径 + */ + radius: number; +} + +/** + * 截圆锥体(Truncated cone) + 旋转底座圆环 + */ + class TruncatedCone { + private viewer; + private options; + private partTowAppearance; + constructor(viewer: Cesium.Viewer, options: TruncatedConeOpt); + private createPartOne; + private createPartOneImage; + private createPartTwo; + private createPartTwoImage; + private createPartThree; + private createPartThreeImage; + private getPartThreeSource; +} +/** + * 旋转底座参数类 + */ + class TruncatedConeOpt { + /**底部圆环中心坐标 */ + circleCenter: GeoPoint; + /**主体颜色 */ + color: string; + /**底部双圆环半径 */ + circleRadius: number; + /**底部虚线圆半径 */ + dottedCircleRadius: number; + /**外截圆锥体顶部半径 */ + outerTopRadius: number; + /**外截圆锥体底部半径 */ + outerBottomRadius: number; + /**外截圆锥体高度 */ + outerHeight: number; + /**内截圆锥体顶部半径 */ + innerTopRadius: number; + /**内截圆锥体底部半径 */ + innerBottomRadius: number; + /**内截圆锥体高度 */ + innerHeight: number; +} + + class BaseCreator extends Event { + protected _viewer: Cesium.Viewer; + protected _father: CreatorManager; + private _handler; + private _controlPointSet; + constructor(viewer: Cesium.Viewer, father: CreatorManager); + /** handler单例 */ + protected getHandler(): Cesium.ScreenSpaceEventHandler; + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; + protected setCtrPoint(point: GeoPoint, text?: string): void; + protected addCtrPoint(point: GeoPoint, text?: string): void; + protected clearCtrPint(): void; + protected createFinish(item: GraphicItem): void; + protected createItem(item: GraphicItem): void; + clear(): void; +} + + class CircularCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; +} + + class CreatorManager extends Event { + private _viewer; + private _creatorList; + private _currentCreator; + private _controlPointSet; + private _graphicLayer; + constructor(viewer: Cesium.Viewer, graphicLayer: GraphicLayer); + /** + * 获取控制点集对象 + */ + readonly controlPointSet: ControlPointSet; + /** + * 根据类型获取创建器 + */ + private _getCreatorByType; + setCursor(cursor: any): void; + /** + * 开启创建 + * @param itemOpt 对象属性 + * @param group 要添加的组 + * @param finishCallback 创建结束回调函数 + */ + create(itemOpt: any, group: GraphicGroup, finishCallback: any): GraphicItem; + /** + * 终止创建 + */ + stopCreate(): void; +} + + class CylinderDynamicCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): CylinderDynamicGraphic; +} + + class EllipseCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; +} + + class LabelBillboardCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; +} + + class LabelRectCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; +} + + class PointCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; +} + + class PolylineCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; +} + + class RectangleCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; +} + + class RectangleLineCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; + private getCoordinates; +} + + class ScreenTextCreator extends BaseCreator { + constructor(viewer: Cesium.Viewer, father: CreatorManager); + create(itemOpt: any, group: GraphicGroup, finishCallback?: any): GraphicItem; +} + +/** +*@ignore +*/ + class BaseEditor extends Event { + protected _viewer: Cesium.Viewer; + protected _father: EditorManager; + protected _editItem: GraphicItem; + private _handler; + protected _controlPointSet: ControlPointSet; + protected _screenEditor: ScreenEditor; + constructor(viewer: Cesium.Viewer, father: EditorManager); + setEditorOwnerElement(element: Element): void; + /** handler单例 */ + protected getHandler(): Cesium.ScreenSpaceEventHandler; + /** + * 设置编辑对象由子类实现 + * @param item + */ + setEditItem(item: GraphicItem): void; + protected clearCtrPint(): void; + protected addCtrPoint(position: GeoPoint): void; + protected createItem(item: GraphicItem): void; + protected setCtrlActive(item: GraphicItem, val: boolean): void; + clear(): void; + getPositions(): Array; + /** + * 设置根据坐标获取活动id + * @param x + * @param y + */ + getActiveIndex(x: any, y: any): any; + private _screenPixel; + protected _getLengthByMouse(diff: any, heightCoeficient?: number): number; + /** + * 取消活动控制点选择 + */ + cancelActive(index: any): void; + /** + * 获取被编辑对象是否贴地 + * @param item + */ + isClamp(item: GraphicItem): boolean; + updateCtrlPts(editItem: GraphicItem): void; +} + +/** +*@ignore +*/ + class CircularEditor extends BaseEditor { + private _geoPoints; + /** + * 计算圆半径控制点 + * @param center 圆心坐标 + * @param r 圆半径 + */ + private getRadiusCtrlPoint; + private build; + setEditItem(item: GraphicItem): void; + updateCtrlPts(editItem: GraphicItem): void; + getPositions(): GeoPoint[]; +} + +/** +*@ignore +*/ + class CylinderDynamicEditor extends BaseEditor { + setEditItem(item: CylinderDynamicGraphic): void; + getPositions(): any[]; +} + +/** + *@ignore + */ + class EditorManager extends Event { + private _isCreating; + private _isEditting; + private _viewer; + private _editItem; + private _controlPointSet; + private _currentEditor; + private _itemChangeListenerFun; + private _editorClickListenerFun; + private _editorMouseLeftUpFun; + private _editorOwnerElement; + private _wholeEditor; + private _handler; + _graphicLayer: GraphicLayer; + constructor(viewer: Cesium.Viewer, graphicLayer: GraphicLayer); + /** + * 是否是创建状态 + */ + isCreating: boolean; + readonly isEditting: boolean; + /** + * 事件句柄 + */ + getHandler(): Cesium.ScreenSpaceEventHandler; + /** + * 编辑开启 + */ + open(): void; + /** + * 编辑关闭 + */ + close(): void; + /** + * 获取控制点集对象 + */ + readonly controlPointSet: ControlPointSet; + private getEditorByType; + setCursor(cursor: any): void; + /** + * 设置编辑对象 + */ + setEditItem(item: GraphicItem): void; + /** + * 设置编辑器按钮所在的dom + */ + setEditorOwnerElement(element: Element): void; + /** + * 图形修改监听器 + */ + setItemRealTimeChangeListener(fun: Function): void; + /** + * 删除图形修改监听器 + */ + removeItemRealTimeChangeListener(): void; + /** + * 设置点击监听器 + */ + setEditorClickListener(fun: any): void; + /** + * 删除点击监听器 + */ + removeEditorClickListener(): void; + /** + * 设置鼠标左键弹起时的监听器 + */ + setEditorMouseLeftUpListener(fun: Function): void; + /** + * 删除鼠标左键弹起时的监听器 + */ + removeEditorMouseLeftUpListener(): void; + /** + * 获取编辑对象 + */ + getEditItem(): GraphicItem; + /** + * @description: 打开屏幕文本框的编辑状态 + * @param {ScreenTextGraphic} graphic + * @return {*} + */ + openScreenTextEdit(graphic: ScreenTextGraphic): void; + private _openScreenTextsEdit; + private _closeScreenTextEdit; + private _openScreenTextEdit; +} + +/** +*@ignore +*/ + class EllipseEditor extends BaseEditor { + private _geoPoints; + /** + * 计算圆半径控制点 + * @param center 圆心坐标 + * @param r 圆半径 + * @param angle 角度值(0度为正北方向,90度为正东方向,180度为正南方向,270度为正西方向) + */ + private getRadiusCtrlPoint; + private build; + setEditItem(item: GraphicItem): void; + updateCtrlPts(editItem: GraphicItem): void; + getPositions(): GeoPoint[]; +} + +/** +*@ignore +*/ + class FlagEditor extends BaseEditor { + constructor(viewer: Cesium.Viewer, father: EditorManager); + initScreenEditor(): void; + setEditItem(item: GraphicItem): void; + clear(): void; +} + +/** +*@ignore +*/ + class LabelBillboardEditor extends BaseEditor { + private startMove; + constructor(viewer: Cesium.Viewer, father: EditorManager); + initScreenEditor(): void; + setEditItem(item: GraphicItem): void; + clear(): void; +} + +/** +*@ignore +*/ + class LabelRectEditor extends BaseEditor { + constructor(viewer: Cesium.Viewer, father: EditorManager); + initScreenEditor(): void; + setEditItem(item: GraphicItem): void; + clear(): void; +} + +/** +*@ignore +*/ + class LineEditor extends BaseEditor { + protected _picker: Picking; + constructor(viewer: Cesium.Viewer, father: EditorManager); + /** + * 获取插入顶点的位置 + * @param p0 + * @param editItem + */ + private getInsertIndex; + setEditItem(editItem: GraphicItem): void; + clear(): void; + getPositions(): any; + updateCtrlPts(editItem: GraphicItem): void; +} + +/** +*@ignore +*/ + class ObliqueEditor extends BaseEditor { + constructor(viewer: Cesium.Viewer, father: EditorManager); + initScreenEditor(): void; + setEditItem(item: any): void; + clear(): void; +} + +/** +*@ignore +*/ + class PointEditor extends BaseEditor { + setEditItem(editItem: GraphicItem): void; + getPositions(): Array; + updateCtrlPts(editItem: GraphicItem): void; +} + + class PolygonEditor extends LineEditor { + setEditItem(editItem: GraphicItem): void; + getPositions(): any; + private getHeightEditVisible; + updateCtrlPts(editItem: GraphicItem): void; +} + +/** +*@ignore +*/ + class RectangleEditor extends BaseEditor { + setEditItem(item: GraphicItem): void; + updateCtrlPts(editItem: GraphicItem): void; + getPositions(): any; +} + +/** +*@ignore +*/ + class ScreenEditor { + private _operatorContainer; + private _viewer; + private _operators; + private _isOpen; + private _divContainer; + getCenterCallback: any; + ctrlPtsUpdateCallback: any; + moveDivContainer: () => void; + mousemove: (event: any) => void; + mouseup: (event: any) => void; + constructor(viewer: Cesium.Viewer); + /**获取地理画布(即按钮容器div的父容器) */ + private getOwnerElement; + setOwnerElement(element: Element): void; + /** + * 设置按钮属性 + */ + setOperators(operators: Array): void; + /** + * 设置回调函数(函数作用:获取标绘中心点,屏幕坐标) + */ + centerCallback: Function; + /** + * 设置回调函数(函数作用:更新所有的控制点) + */ + updateCtrlPtsCallback: Function; + /** + * 开启操作 + */ + open(): void; + /** + * 关闭操作 + */ + close(): void; + /** + * 清除 + */ + _clear(): void; + /** + * 初始化面板 + */ + private _createOperators; +} + class Operator { + Image: string; + ToolTip: string; + Operator: Function; + CanOperator?: Function; + htmlElement?: HTMLElement; +} + + class ScreenTextEditor extends BaseEditor { + setEditItem(editItem: GraphicItem): void; + clear(): void; + protected getHandler(): any; + protected clearCtrPint(): void; + protected addCtrPoint(): void; + protected createItem(item: GraphicItem): void; + protected controlPointList(): any[]; + protected setCtrlActive(item: GraphicItem, val: boolean): void; + getPositions(): any[]; + getActiveIndex(x: any, y: any): number; + protected _getLengthByMouse(diff: any, heightCoeficient?: number): number; + cancelActive(index: any): void; + isClamp(item: GraphicItem): boolean; + updateCtrlPts(editItem: GraphicItem): void; +} + +/** +*@ignore +*/ + class WholeEditor { + private _viewer; + private _editItem; + private _screenEditor; + constructor(viewer: Cesium.Viewer); + initScreenEditor(): void; + setEditorOwnerElement(element: Element): void; + /**通过设置所编辑的标绘对象来激活当前编辑器 */ + setEditItem(item: GraphicItem): void; + /** + * 设置回调函数(函数作用:更新所有的控制点) + */ + updateCtrlPtsCallback: Function; + clear(): void; + /** + * 根据屏幕移动修改heading + * @param start + * @param end + */ + rotateByHeading(start: Cesium.Cartesian2, end: Cesium.Cartesian2): void; + /** + * 根据屏幕移动修改Pich + * @param start + * @param end + */ + rotateByPitch(start: Cesium.Cartesian2, end: Cesium.Cartesian2): void; + /** + * 根据屏幕移动修改Roll + * @param start + * @param end + */ + rotateByRoll(start: Cesium.Cartesian2, end: Cesium.Cartesian2): void; + /** + * 水平移动 + * @param start + * @param end + */ + movePosition(start: any, end: any): void; + private _screenPixel; + private _getLengthByMouse; + /** + * 垂直移动 + * @param start + * @param end + */ + moveHeight(start: any, end: any): void; + /** + * 放大缩小 + * @param start + * @param end + */ + moveScale(start: any, end: any): void; +} + +/** +*@ignore +*/ + class BaseControlPoint { + protected _group: GraphicGroup; + protected _index: number; + protected _position: GeoPoint; + protected _text: string; + protected _showText: boolean; + protected _isFormat: boolean; + protected _viewer: any; + constructor(viewer: Cesium.Viewer, group: GraphicGroup, position: GeoPoint, index: number, text?: string); + /** + * 初始化控制点 + */ + init(position: GeoPoint): void; + /** + * 设置索引 + * @param index + */ + setIndex(index: number): void; + /** + * 设置控制点是否可见 + * @param b + */ + setVisible(b: boolean): void; + /** + * 获取文本标签是否可见 + */ + getLabelVisible(): boolean; + /** + * 设置文本标签是否可见 + * @param b + */ + setLabelVisible(b: boolean): void; + /** + * 设置标签文本是否格式化为度分秒格式 + * @param b + */ + setLabelFormat(b: boolean): void; + /** + * 更新位置和文本 + * @param position 位置 + * @param text 文本 + */ + setPosition(position: GeoPoint, text?: string): void; + getPosition(): GeoPoint; + clear(): void; +} + +/** +*@ignore +*/ + class ControlPoint extends BaseControlPoint { + private _graphics; + private _decimal; + private _labelText; + static highlightColor: string; + static normalColor: string; + static removeColor: string; + constructor(viewer: Cesium.Viewer, group: GraphicGroup, position: GeoPoint, index: number, text: string); + /** + *@ignore + * 初始化控制点 + */ + init(position: GeoPoint): void; + private buildPositionText; + private buildPositionText_DegreeMinutesSecond; + /** + * 设置索引 + * @param index + */ + setIndex(index: number): void; + /** + * 设置控制点是否可见 + * @param b + */ + setVisible(b: boolean): void; + /** + * 设置文本标签是否可见 + * @param b + */ + setLabelVisible(b: boolean): void; + /** + * 设置标签文本是否格式化为度分秒格式 + * @param b + */ + setLabelFormat(b: boolean): void; + /** + * 更新位置和文本 + * @param position 位置 + * @param text 文本 + */ + setPosition(position: GeoPoint, text?: string): void; + /** + * 设置编辑工具的颜色 + * @param item 编辑工具对象 + * @param val 是否处于激活状态(编辑工具被鼠标点中激活) + */ + static setCtrlActive(item: GraphicItem, val: boolean): void; + /** + * 设置关键点控高billboard的显隐 + * @param bool + */ + setHeightEditVisible(bool: boolean): void; + /** + * 设置关键点删除billboard的显隐 + * @param bool + */ + setRemoveEditVisible(bool: boolean): void; + clear(): void; +} + +/** +*@ignore +*/ + class ControlPointSet { + private _viewer; + private _pointConstructor; + private _pointList; + private _validPtNum; + private _labelVisible; + private _labelFormat; + private _group; + _graphicLayer: GraphicLayer; + constructor(viewer: Cesium.Viewer, graphicLayer: GraphicLayer); + /** + * 设置控制点模板 + * @param value + */ + setPointConstructor(value: BaseControlPoint): void; + /** + * 添加控制点 + * @param point + * @param text 显示的文本 + */ + add(point: GeoPoint, text?: string): void; + /** + * 设置最后一个点的位置(若没有点,则添加一个点) + */ + setPosition(point: GeoPoint, text?: string): void; + /** + * 修改指定索引点的位置 + */ + updatePosition(point: GeoPoint, index: number, text?: string): void; + /** + * 获取控制点列表 + */ + getList(): BaseControlPoint[]; + /** + * 获取有效顶点数 + */ + getValidPtNum(): number; + /** + * 设置控制点状态 + * @param val + */ + setCtrlActive(item: any, val: any): void; + /** + * 设置关键点控高billboard的显隐 + * @param b 是否可见 + * @param index 大于0表示设置指定索引点,小于0表示设置所有点 + */ + setHeightEditVisible(b: boolean, index?: number): void; + /** + * 设置指定索引点的 + * @param b 是否可见 + * @param index 大于0表示设置指定索引点,小于0表示设置所有点 + */ + setRemoveEditVisible(b: boolean, index?: number): void; + /** + * 设置文本标签是否显示 + * @param b + */ + setLabelVisible(b: boolean): void; + /** + * 设置文本标签经纬度的显示是否格式化为度分秒格式 + * @param b + */ + setLabelFormat(b: boolean): void; + clear(): void; + updateCtrPositions(positions: Array): void; +} + + let gv: { + Version: string; + Item: typeof Item; + Layer: typeof Layer; + Event: typeof Event; + GeoCanvas: typeof GeoCanvas; + Calculate: typeof Calculate; + Check: typeof Check; + GeoPoint: typeof GeoPoint; + ViewPoint: typeof ViewPoint; + Util: typeof Util; + LayerManager: typeof LayerManager; + SceneOptions: typeof SceneOptions; + WeatherEnmu: typeof WeatherEnmu; + LevelCodeEnum: typeof LevelCodeEnum; + HeightReferenceEnum: typeof HeightReferenceEnum; + PluginManager: typeof PluginManager; + GraphicLayer: typeof GraphicLayer; + SatelliteLayer: typeof SatelliteLayer; + ImageLayer: typeof ImageLayer; + TargetLayer: typeof TargetLayer; + TargetItem: typeof TargetItem; + TargetState: typeof TargetState; + TargetStyle: typeof TargetStyle; + TargetHistory: typeof TargetHistory; + TileLayer: typeof TileLayer; + SpaceDebris: typeof SpaceDebris; + SpaceDebrisOpt: typeof SpaceDebrisOpt; + Windy: typeof Windy; + Cluster: typeof Cluster; + ClusterOpt: typeof ClusterOpt; + Canvas2Image: typeof Canvas2Image; + HeatMap: typeof HeatMap; + HeatMapOpt: typeof HeatMapOpt; + MapV: typeof MapV; + MapVOpt: typeof MapVOpt; + MassiveLines: typeof MassiveLines; + MassiveLinesOpt: typeof MassiveLinesOpt; + MassivePoints: typeof MassivePoints; + PointOption: typeof PointOption; + PointStyle: typeof PointStyle; + MassivePolygons: typeof MassivePolygons; + MassivePolygonOpt: typeof MassivePolygonOpt; + PlaceNameTile: typeof PlaceNameTile; + PlaceNameTileOpt: typeof PlaceNameTileOpt; + JQPlaceNameTile: typeof JQPlaceNameTile; + PlaceFontStyle: typeof PlaceFontStyle; + PolygonTileOpt: typeof PolygonTileOpt; + PolygonTile: typeof PolygonTile; + IconTile: typeof IconTile; + IconTileOpt: typeof IconTileOpt; + ObliqueTile: typeof ObliqueTile; + TileScaleImageProvider: any; + LineTile: typeof LineTile; + LineTileOpt: typeof LineTileOpt; + VectorTileItem: typeof VectorTileItem; + VectorTileItemOpt: typeof VectorTileItemOpt; + Satellite: typeof Satellite; + SatelliteOpt: typeof SatelliteOpt; + StatelliteEnum: typeof StatelliteEnum; + SatelliteOrbitType: typeof SatelliteOrbitType; + SatelliteComponents: typeof SatelliteComponents; + PointGraphic: typeof PointGraphic; + CylinderDynamicGraphic: typeof CylinderDynamicGraphic; + CylinderDynamicGraphicOpt: typeof CylinderDynamicGraphicOpt; + SectorGraphic: typeof SectorGraphic; + SectorGraphicOpt: typeof SectorGraphicOpt; + WeatherGraphic: typeof WeatherGraphic; + WeatherGraphicOpt: typeof WeatherGraphicOpt; + WaterGraphic: typeof WaterGraphic; + WaterGraphicOpt: typeof WaterGraphicOpt; + PolylineGraphic: typeof PolylineGraphic; + PolylineGraphicOpt: typeof PolylineGraphicOpt; + ColorStyle: typeof ColorStyle; + ArrowStyle: typeof ArrowStyle; + OutlineStyle: typeof OutlineStyle; + DashStyle: typeof DashStyle; + GlowStyle: typeof GlowStyle; + DynamicStyle: typeof DynamicStyle; + TextureStyle: typeof TextureStyle; + DynamicIconEnum: typeof DynamicIconEnum; + TextureIconEnum: typeof TextureIconEnum; + PolylineStyleEnum: typeof PolylineStyleEnum; + BezierLineGraphic: typeof BezierLineGraphic; + BezierLineGraphicOpt: typeof BezierLineGraphicOpt; + ParabolaLineGraphic: typeof ParabolaLineGraphic; + ParabolaLineGraphicOpt: typeof ParabolaLineGraphicOpt; + ArcTypeEnum: typeof ArcTypeEnum; + BubbleGraphic: typeof BubbleGraphic; + BubbleGraphicOpt: typeof BubbleGraphicOpt; + BubbleTypeEnum: typeof BubbleTypeEnum; + LabelGraphic: typeof LabelGraphic; + LabelGraphicOpt: typeof LabelGraphicOpt; + ModelGraphic: typeof ModelGraphic; + ModelGraphicOpt: typeof ModelGraphicOpt; + BillboardGraphic: typeof BillboardGraphic; + BillboardGraphicOpt: typeof BillboardGraphicOpt; + ScanGraphic: typeof ScanGraphic; + ScanGraphicOpt: typeof ScanGraphicOpt; + SensorGraphic: typeof SensorGraphic; + SensorGraphicOpt: typeof SensorGraphicOpt; + SpreadGraphic: typeof SpreadGraphic; + SpreadGraphicOpt: typeof SpreadGraphicOpt; + EllipseGraphic: typeof EllipseGraphic; + EllipseGraphicOpt: typeof EllipseGraphicOpt; + RectangleGraphic: typeof RectangleGraphic; + RectangleGraphicOpt: typeof RectangleGraphicOpt; + EllipsoidGraphic: typeof EllipsoidGraphic; + EllipsoidGraphicOpt: typeof EllipsoidGraphicOpt; + SphereGraphic: typeof SphereGraphic; + SphereGraphicOpt: typeof SphereGraphicOpt; + WallGraphic: typeof WallGraphic; + WallGraphicOpt: typeof WallGraphicOpt; + PipelineManager: typeof PipelineManager; + PipelineGraphic: typeof PipelineGraphic; + PipelineStripGraphic: typeof PipelineStripGraphic; + PipelineGraphicOpt: typeof PipelineGraphicOpt; + PipelineTurnGraphic: typeof PipelineTurnGraphic; + PipelineTurnGraphicOpt: typeof PipelineTurnGraphicOpt; + PipeTurnTwoGraphic: typeof PipeTurnTwoGraphic; + PipeTurnThreeGraphic: typeof PipeTurnThreeGraphic; + VolumePolylineGraphic: typeof VolumePolylineGraphic; + VolumePolylineGraphicOpt: typeof VolumePolylineGraphicOpt; + CylinderGraphic: typeof CylinderGraphic; + CylinderGraphicOpt: typeof CylinderGraphicOpt; + RadarGraphic: typeof RadarGraphic; + RadarGraphicOpt: typeof RadarGraphicOpt; + DynamicRippleGraphicOpt: typeof DynamicRippleGraphicOpt; + DynamicRippleGraphic: typeof DynamicRippleGraphic; + GraphicGroup: typeof GraphicGroup; + PolygonGraphic: typeof PolygonGraphic; + PolygonGraphicOpt: typeof PolygonGraphicOpt; + FlagGraphic: typeof FlagGraphic; + FlagGraphicOpt: typeof FlagGraphicOpt; + PluginView: typeof PluginView; + Tool: typeof Tool; + Widget: typeof Widget; + PopoverGraphic: typeof PopoverGraphic; + PopoverGraphicOpt: typeof PopoverGraphicOpt; + JBLineGraphic: typeof JBLineGraphic; + JBLineGraphicOpt: typeof JBLineGraphicOpt; + JBPointGraphic: typeof JBPointGraphic; + JBPointGraphicOpt: typeof JBPointGraphicOpt; + JBRenderModeEnum: typeof JBRenderModeEnum; + CircularGraphic: typeof CircularGraphic; + CircularGraphicOpt: typeof CircularGraphicOpt; + Path: typeof Path; + PathManager: typeof PathManager; + TriangleMeshGraphicOpt: typeof TriangleMeshGraphicOpt; + TriangleMeshGraphic: typeof TriangleMeshGraphic; + TerrainLayerCollection: typeof TerrainLayerCollection; + TerrainItem: typeof TerrainItem; + iCenter: typeof iCenter; + Analysis: typeof Analysis; + Camera: typeof Camera; + MeasureAreaOpt: typeof MeasureAreaOpt; + MeasureDistanceOpt: typeof MeasureDistanceOpt; + FloodAnalysisOpt: typeof FloodAnalysisOpt; + CustomLabelGraphic: typeof CustomLabelGraphic; + CustomLabelGraphicOpt: typeof CustomLabelGraphicOpt; + IntervisibilityAnalysis: typeof IntervisibilityAnalysis; + HideAnalysis: typeof HideAnalysis; + PathAnalysis: typeof PathAnalysis; + PolygonVisiableAnalysis: typeof PolygonVisiableAnalysis; + SlopeAnalysis: typeof SlopeAnalysis; + SkylineAnalyze: typeof SkylineAnalyze; + SkylineOption: typeof SkylineOption; + PlaceNameService: typeof PlaceNameService; + BufferAnalysis: typeof BufferAnalysis; + LabelBillboardGraphic: typeof LabelBillboardGraphic; + LabelBillboardGraphicOpt: typeof LabelBillboardGraphicOpt; + LabelRectGraphic: typeof LabelRectGraphic; + LabelRectGraphicOpt: typeof LabelRectGraphicOpt; + BackLineMode: typeof BackLineMode; + DePluginManager: typeof DePluginManager; + DePluginViewManager: typeof DePluginViewManager; + BilTerrainProvider: any; + TMSTerrainProvider: typeof TMSTerrainProvider; + BaiduImageryProvider: typeof BaiduImageryProvider; + GVDocument: typeof GVDocument; + DashBoardGraphic: typeof DashBoardGraphic; + DashGraphicOpt: typeof DashGraphicOpt; + BindedCylinderGraphic: typeof BindedCylinderGraphic; + BindedCylinderOpt: typeof BindedCylinderOpt; + GradientSectorGraphic: typeof GradientSectorGraphic; + GradientSectorGraphicOpt: typeof GradientSectorGraphicOpt; + CompoundImage: typeof CompoundImage; + HDVImageOption: typeof HDVImageOption; + MapSheet: typeof MapSheet; + MapBox: typeof MapBox; + MapBoxOpt: typeof MapBoxOpt; + StaticMapBox: typeof StaticMapBox; + StaticMapBoxOpt: typeof StaticMapBoxOpt; + PathPlanning: typeof PathPlanning; + PathPlanningOpt: typeof PathPlanningOpt; + ObliqueGraphic: typeof ObliqueGraphic; + ObliqueGraphicOpt: typeof ObliqueGraphicOpt; + GeoVector3: typeof GeoVector3; + ViewShedPrimitive: typeof ViewShedPrimitive; + PbfImageryProvider: any; + createMapBoxStyle: any; + ArcGisImagery: typeof ArcGisImagery; + ArcGisImageryOpt: typeof ArcGisImageryOpt; + BingImagery: typeof BingImagery; + BingImageryOpt: typeof BingImageryOpt; + OSMImagery: typeof OSMImagery; + OSMImageryOpt: typeof OSMImageryOpt; + UrlTemplateImagery: typeof UrlTemplateImagery; + UrlTemplateImageryOpt: typeof UrlTemplateImageryOpt; + WMSImagery: typeof WMSImagery; + WMSImageryOpt: typeof WMSImageryOpt; + WMTSImagery: typeof WMTSImagery; + WMTSImageryOpt: typeof WMTSImageryOpt; + KMLLayer: typeof KMLLayer; + KMLLayerOpt: typeof KMLLayerOpt; + GeoJsonLayer: typeof GeoJsonLayer; + GeoJsonLayerOpt: typeof GeoJsonLayerOpt; + Cesium3DTileLayer: typeof Cesium3DTileLayer; + Cesium3DTileLayerOpt: typeof Cesium3DTileLayerOpt; + BuildingMesh: typeof BuildingMesh; + ODLine: typeof ODLine; + SpreadCylinder: typeof SpreadCylinder; + SpreadCylinderOpt: typeof SpreadCylinderOpt; + DefenseEllipsoid: typeof DefenseEllipsoid; + CustomTilesetShader: typeof CustomTilesetShader; + SpecularReflection: typeof SpecularReflection; + RotatingPentahedron: typeof RotatingPentahedron; + FlowLine: typeof FlowLine; + CylinderGeometry: typeof CylinderGeometry; + FlowTube: typeof FlowTube; + FlowTubeOpt: typeof FlowTubeOpt; + DiffusionCircles: typeof DiffusionCircles; + Pentahedron: typeof Pentahedron; + TruncatedCone: typeof TruncatedCone; + ParticleOrbitingCone: typeof ParticleOrbitingCone; + EarthTheme: typeof EarthTheme; + SkyboxTheme: typeof SkyboxTheme; + ActionLayer: typeof ActionLayer; + PathAction: typeof PathAction; + CameraAction: typeof CameraAction; + VisibleAction: typeof VisibleAction; + FlickerAction: typeof FlickerAction; + FadeOutAction: typeof FadeOutAction; + ScaleAction: typeof ScaleAction; + IconGraphicOpt: typeof IconGraphicOpt; + CircleIconGraphic: typeof CircleIconGraphic; + WaveIconGraphic: typeof WaveIconGraphic; + WarnIconGraphic: typeof WarnIconGraphic; + WaterFaceGraphicOpt: typeof WaterFaceGraphicOpt; + WaterFaceGraphic: typeof WaterFaceGraphic; + AttractPointGraphic: typeof AttractPointGraphic; + AttractPointGraphicOpt: typeof AttractPointGraphicOpt; + TruncatedConeGraphic: typeof TruncatedConeGraphic; + TruncatedConeGraphicOpt: typeof TruncatedConeGraphicOpt; + TruncatedConeParticleGraphic: typeof TruncatedConeParticleGraphic; + TruncatedConeParticleGraphicOpt: typeof TruncatedConeParticleGraphicOpt; + SpreadCircleGraphic: typeof SpreadCircleGraphic; + SpreadCircleGraphicOpt: typeof SpreadCircleGraphicOpt; + SpreadCircleLineGraphic: typeof SpreadCircleLineGraphic; + SpreadCircleLineGraphicOpt: typeof SpreadCircleLineGraphicOpt; + SpreadCircleLineEnum: typeof SpreadCircleLineEnum; + SpreadCircleClampGraphic: typeof SpreadCircleClampGraphic; + SpreadCircleRampGraphic: typeof SpreadCircleRampGraphic; + SpreadCircleRampGraphicOpt: typeof SpreadCircleRampGraphicOpt; + SpreadCircleRingGraphic: typeof SpreadCircleRingGraphic; + SpreadCircleRingGraphicOpt: typeof SpreadCircleRingGraphicOpt; + SpreadCircleRingEnum: typeof SpreadCircleRingEnum; + FlowWallGraphic: typeof FlowWallGraphic; + FlowWallGraphicOpt: typeof FlowWallGraphicOpt; + DirEnum: typeof DirEnum; + GeoSotLayer: typeof GeoSotLayer; + GroundClippingAnalysis: typeof GroundClippingAnalysis; + NuclearProtectionAnalysis: typeof NuclearProtectionAnalysis; + MorphologicAnalysis: typeof MorphologicAnalysis; + MorphologicModelEnum: typeof MorphologicModelEnum; + SelectionTool: typeof SelectionTool; + BlastGraphic: typeof BlastGraphic; + BlastGraphicOpt: typeof BlastGraphicOpt; + FireGraphic: typeof FireGraphic; + FireGraphicOpt: typeof FireGraphicOpt; + FireGraphicEnum: typeof FireGraphicEnum; + ColorTable: typeof ColorTable; + CloundLayer: typeof CloundLayer; + ScreenTextGraphic: typeof ScreenTextGraphic; + ScreenTextGraphicOpt: typeof ScreenTextGraphicOpt; + FirstPersonControl: typeof FirstPersonControl; + FogPlane: typeof FogPlane; + BDTileLayer: typeof BDTileLayer; +}; + + + + let gv: { + Version: string; + Item: typeof Item; + Layer: typeof Layer; + Event: typeof Event; + GeoCanvas: typeof GeoCanvas; + Calculate: typeof Calculate; + Check: typeof Check; + GeoPoint: typeof GeoPoint; + ViewPoint: typeof ViewPoint; + Util: typeof Util; + LayerManager: typeof LayerManager; + SceneOptions: typeof SceneOptions; + WeatherEnmu: typeof WeatherEnmu; + LevelCodeEnum: typeof LevelCodeEnum; + HeightReferenceEnum: typeof HeightReferenceEnum; + PluginManager: typeof PluginManager; + GraphicLayer: typeof GraphicLayer; + ImageLayer: typeof ImageLayer; + TileLayer: typeof TileLayer; + SpaceDebris: typeof SpaceDebris; + SpaceDebrisOpt: typeof SpaceDebrisOpt; + Windy: typeof Windy; + Cluster: typeof Cluster; + ClusterOpt: typeof ClusterOpt; + Canvas2Image: typeof Canvas2Image; + HeatMap: typeof HeatMap; + HeatMapOpt: typeof HeatMapOpt; + MapV: typeof MapV; + MapVOpt: typeof MapVOpt; + MassiveLines: typeof MassiveLines; + MassiveLinesOpt: typeof MassiveLinesOpt; + MassivePoints: typeof MassivePoints; + PointOption: typeof PointOption; + PointStyle: typeof PointStyle; + MassivePolygons: typeof MassivePolygons; + MassivePolygonOpt: typeof MassivePolygonOpt; + PlaceNameTile: typeof PlaceNameTile; + PlaceNameTileOpt: typeof PlaceNameTileOpt; + JQPlaceNameTile: typeof JQPlaceNameTile; + PlaceFontStyle: typeof PlaceFontStyle; + PolygonTileOpt: typeof PolygonTileOpt; + PolygonTile: typeof PolygonTile; + IconTile: typeof IconTile; + IconTileOpt: typeof IconTileOpt; + ObliqueTile: typeof ObliqueTile; + TileScaleImageProvider: any; + LineTile: typeof LineTile; + LineTileOpt: typeof LineTileOpt; + VectorTileItem: typeof VectorTileItem; + VectorTileItemOpt: typeof VectorTileItemOpt; + PointGraphic: typeof PointGraphic; + CylinderDynamicGraphic: typeof CylinderDynamicGraphic; + CylinderDynamicGraphicOpt: typeof CylinderDynamicGraphicOpt; + SectorGraphic: typeof SectorGraphic; + SectorGraphicOpt: typeof SectorGraphicOpt; + WeatherGraphic: typeof WeatherGraphic; + WeatherGraphicOpt: typeof WeatherGraphicOpt; + WaterGraphic: typeof WaterGraphic; + WaterGraphicOpt: typeof WaterGraphicOpt; + PolylineGraphic: typeof PolylineGraphic; + PolylineGraphicOpt: typeof PolylineGraphicOpt; + ColorStyle: typeof ColorStyle; + ArrowStyle: typeof ArrowStyle; + OutlineStyle: typeof OutlineStyle; + DashStyle: typeof DashStyle; + GlowStyle: typeof GlowStyle; + DynamicStyle: typeof DynamicStyle; + TextureStyle: typeof TextureStyle; + DynamicIconEnum: typeof DynamicIconEnum; + TextureIconEnum: typeof TextureIconEnum; + PolylineStyleEnum: typeof PolylineStyleEnum; + BezierLineGraphic: typeof BezierLineGraphic; + BezierLineGraphicOpt: typeof BezierLineGraphicOpt; + ParabolaLineGraphic: typeof ParabolaLineGraphic; + ParabolaLineGraphicOpt: typeof ParabolaLineGraphicOpt; + ArcTypeEnum: typeof ArcTypeEnum; + BubbleGraphic: typeof BubbleGraphic; + BubbleGraphicOpt: typeof BubbleGraphicOpt; + BubbleTypeEnum: typeof BubbleTypeEnum; + LabelGraphic: typeof LabelGraphic; + LabelGraphicOpt: typeof LabelGraphicOpt; + ModelGraphic: typeof ModelGraphic; + ModelGraphicOpt: typeof ModelGraphicOpt; + BillboardGraphic: typeof BillboardGraphic; + BillboardGraphicOpt: typeof BillboardGraphicOpt; + ScanGraphic: typeof ScanGraphic; + ScanGraphicOpt: typeof ScanGraphicOpt; + SensorGraphic: typeof SensorGraphic; + SensorGraphicOpt: typeof SensorGraphicOpt; + SpreadGraphic: typeof SpreadGraphic; + SpreadGraphicOpt: typeof SpreadGraphicOpt; + EllipseGraphic: typeof EllipseGraphic; + EllipseGraphicOpt: typeof EllipseGraphicOpt; + RectangleGraphic: typeof RectangleGraphic; + RectangleGraphicOpt: typeof RectangleGraphicOpt; + EllipsoidGraphic: typeof EllipsoidGraphic; + EllipsoidGraphicOpt: typeof EllipsoidGraphicOpt; + SphereGraphic: typeof SphereGraphic; + SphereGraphicOpt: typeof SphereGraphicOpt; + WallGraphic: typeof WallGraphic; + WallGraphicOpt: typeof WallGraphicOpt; + PipelineGraphic: typeof PipelineGraphic; + PipelineGraphicOpt: typeof PipelineGraphicOpt; + VolumePolylineGraphic: typeof VolumePolylineGraphic; + VolumePolylineGraphicOpt: typeof VolumePolylineGraphicOpt; + CylinderGraphic: typeof CylinderGraphic; + CylinderGraphicOpt: typeof CylinderGraphicOpt; + RadarGraphic: typeof RadarGraphic; + RadarGraphicOpt: typeof RadarGraphicOpt; + DynamicRippleGraphicOpt: typeof DynamicRippleGraphicOpt; + DynamicRippleGraphic: typeof DynamicRippleGraphic; + GraphicGroup: typeof GraphicGroup; + PolygonGraphic: typeof PolygonGraphic; + PolygonGraphicOpt: typeof PolygonGraphicOpt; + FlagGraphic: typeof FlagGraphic; + FlagGraphicOpt: typeof FlagGraphicOpt; + PluginView: typeof PluginView; + Tool: typeof Tool; + Widget: typeof Widget; + PopoverGraphic: typeof PopoverGraphic; + PopoverGraphicOpt: typeof PopoverGraphicOpt; + CircularGraphic: typeof CircularGraphic; + CircularGraphicOpt: typeof CircularGraphicOpt; + Path: typeof Path; + PathManager: typeof PathManager; + TriangleMeshGraphicOpt: typeof TriangleMeshGraphicOpt; + TriangleMeshGraphic: typeof TriangleMeshGraphic; + TerrainLayerCollection: typeof TerrainLayerCollection; + TerrainItem: typeof TerrainItem; + iCenter: typeof iCenter; + Camera: typeof Camera; + CustomLabelGraphic: typeof CustomLabelGraphic; + CustomLabelGraphicOpt: typeof CustomLabelGraphicOpt; + PlaceNameService: typeof PlaceNameService; + LabelBillboardGraphic: typeof LabelBillboardGraphic; + LabelBillboardGraphicOpt: typeof LabelBillboardGraphicOpt; + LabelRectGraphic: typeof LabelRectGraphic; + LabelRectGraphicOpt: typeof LabelRectGraphicOpt; + DePluginManager: typeof DePluginManager; + DePluginViewManager: typeof DePluginViewManager; + BilTerrainProvider: any; + TMSTerrainProvider: typeof TMSTerrainProvider; + BaiduImageryProvider: typeof BaiduImageryProvider; + GVDocument: typeof GVDocument; + DashBoardGraphic: typeof DashBoardGraphic; + DashGraphicOpt: typeof DashGraphicOpt; + BindedCylinderGraphic: typeof BindedCylinderGraphic; + BindedCylinderOpt: typeof BindedCylinderOpt; + GradientSectorGraphic: typeof GradientSectorGraphic; + GradientSectorGraphicOpt: typeof GradientSectorGraphicOpt; + CompoundImage: typeof CompoundImage; + HDVImageOption: typeof HDVImageOption; + MapSheet: typeof MapSheet; + MapBox: typeof MapBox; + MapBoxOpt: typeof MapBoxOpt; + StaticMapBox: typeof StaticMapBox; + StaticMapBoxOpt: typeof StaticMapBoxOpt; + PathPlanning: typeof PathPlanning; + PathPlanningOpt: typeof PathPlanningOpt; + ObliqueGraphic: typeof ObliqueGraphic; + ObliqueGraphicOpt: typeof ObliqueGraphicOpt; + GeoVector3: typeof GeoVector3; + PbfImageryProvider: any; + createMapBoxStyle: any; + ArcGisImagery: typeof ArcGisImagery; + ArcGisImageryOpt: typeof ArcGisImageryOpt; + BingImagery: typeof BingImagery; + BingImageryOpt: typeof BingImageryOpt; + OSMImagery: typeof OSMImagery; + OSMImageryOpt: typeof OSMImageryOpt; + UrlTemplateImagery: typeof UrlTemplateImagery; + UrlTemplateImageryOpt: typeof UrlTemplateImageryOpt; + WMSImagery: typeof WMSImagery; + WMSImageryOpt: typeof WMSImageryOpt; + WMTSImagery: typeof WMTSImagery; + WMTSImageryOpt: typeof WMTSImageryOpt; + KMLLayer: typeof KMLLayer; + KMLLayerOpt: typeof KMLLayerOpt; + GeoJsonLayer: typeof GeoJsonLayer; + GeoJsonLayerOpt: typeof GeoJsonLayerOpt; + Cesium3DTileLayer: typeof Cesium3DTileLayer; + Cesium3DTileLayerOpt: typeof Cesium3DTileLayerOpt; + BuildingMesh: typeof BuildingMesh; + ODLine: typeof ODLine; + SpreadCylinder: typeof SpreadCylinder; + SpreadCylinderOpt: typeof SpreadCylinderOpt; + DefenseEllipsoid: typeof DefenseEllipsoid; + CustomTilesetShader: typeof CustomTilesetShader; + SpecularReflection: typeof SpecularReflection; + RotatingPentahedron: typeof RotatingPentahedron; + FlowLine: typeof FlowLine; + CylinderGeometry: typeof CylinderGeometry; + FlowTube: typeof FlowTube; + FlowTubeOpt: typeof FlowTubeOpt; + DiffusionCircles: typeof DiffusionCircles; + Pentahedron: typeof Pentahedron; + TruncatedCone: typeof TruncatedCone; + ParticleOrbitingCone: typeof ParticleOrbitingCone; + EarthTheme: typeof EarthTheme; + SkyboxTheme: typeof SkyboxTheme; + ActionLayer: typeof ActionLayer; + PathAction: typeof PathAction; + CameraAction: typeof CameraAction; + VisibleAction: typeof VisibleAction; + FlickerAction: typeof FlickerAction; + FadeOutAction: typeof FadeOutAction; + ScaleAction: typeof ScaleAction; + IconGraphicOpt: typeof IconGraphicOpt; + CircleIconGraphic: typeof CircleIconGraphic; + WaveIconGraphic: typeof WaveIconGraphic; + WarnIconGraphic: typeof WarnIconGraphic; + WaterFaceGraphicOpt: typeof WaterFaceGraphicOpt; + WaterFaceGraphic: typeof WaterFaceGraphic; + AttractPointGraphic: typeof AttractPointGraphic; + AttractPointGraphicOpt: typeof AttractPointGraphicOpt; + TruncatedConeGraphic: typeof TruncatedConeGraphic; + TruncatedConeGraphicOpt: typeof TruncatedConeGraphicOpt; + TruncatedConeParticleGraphic: typeof TruncatedConeParticleGraphic; + TruncatedConeParticleGraphicOpt: typeof TruncatedConeParticleGraphicOpt; + SpreadCircleGraphic: typeof SpreadCircleGraphic; + SpreadCircleGraphicOpt: typeof SpreadCircleGraphicOpt; + SpreadCircleLineGraphic: typeof SpreadCircleLineGraphic; + SpreadCircleLineGraphicOpt: typeof SpreadCircleLineGraphicOpt; + SpreadCircleLineEnum: typeof SpreadCircleLineEnum; + SpreadCircleClampGraphic: typeof SpreadCircleClampGraphic; + SpreadCircleRampGraphic: typeof SpreadCircleRampGraphic; + SpreadCircleRampGraphicOpt: typeof SpreadCircleRampGraphicOpt; + SpreadCircleRingGraphic: typeof SpreadCircleRingGraphic; + SpreadCircleRingGraphicOpt: typeof SpreadCircleRingGraphicOpt; + SpreadCircleRingEnum: typeof SpreadCircleRingEnum; + FlowWallGraphic: typeof FlowWallGraphic; + FlowWallGraphicOpt: typeof FlowWallGraphicOpt; + DirEnum: typeof DirEnum; + GeoSotLayer: typeof GeoSotLayer; + GroundClippingAnalysis: typeof GroundClippingAnalysis; + NuclearProtectionAnalysis: typeof NuclearProtectionAnalysis; + MorphologicAnalysis: typeof MorphologicAnalysis; + MorphologicModelEnum: typeof MorphologicModelEnum; + SelectionTool: typeof SelectionTool; + BlastGraphic: typeof BlastGraphic; + BlastGraphicOpt: typeof BlastGraphicOpt; + FireGraphic: typeof FireGraphic; + FireGraphicOpt: typeof FireGraphicOpt; + FireGraphicEnum: typeof FireGraphicEnum; + ColorTable: typeof ColorTable; + CloundLayer: typeof CloundLayer; + ScreenTextGraphic: typeof ScreenTextGraphic; + ScreenTextGraphicOpt: typeof ScreenTextGraphicOpt; + FirstPersonControl: typeof FirstPersonControl; +}; + + +/// +/** + * 二进制数据处理类 + */ + class BinaryParser { + constructor(); + static toBinary(data: Object): Buffer; + static fromBinary(result: ArrayBuffer): any; +} + +/** + * 相机配置类 + */ + class CameraOption { + private _viewer; + constructor(viewer: Cesium.Viewer); + toJson(): any; + parseJson(config: any): void; + static defaultOption(): any; +} + + class GVDocument { + private _LayerManager; + private _viewer; + private _cameraOption; + constructor(viewer: GeoCanvas); + create(): void; + toJson(): any; + /** + * 解析json + * @param json 解析 + */ + parseJson(json: any): void; +} + +/** + * 场景数据类 + */ + class SceneData { + constructor(); + static getDefaultScene(): any; +} + +/** + * @类别 需要创建,new iCenter()
+ * @描述 提供iCenter产品中图层管理相关的操作
+ */ + class iCenter { + private _placeName; + private _userInfo; + private _viewer; + private _url; + private _username; + private _password; + private _icenterToken; + /** + * 初始化 + * @param {GeoCanvas} viewer + * @param {string} url 连接的icenter环境地址 + * @param {string} username 用户名 + * @param {string} password 密码 + * ``` + * 示例代码 + * const icenter = new GV.iCenter(viewer, 'http://icenter.geovis.online', 'admin', 'icenter'); + * ``` + */ + constructor(viewer: GeoCanvas, url: String, username: String, password: String); + /** + * 用户类 + */ + readonly userInfo: UserInfo; + /** + * 地名类 + */ + readonly placeName: PlaceName; + private _loginIcenter; + /** + * 获取基础影像图层 + * @param {number} page 当前页数 + * @param {number} pageSize 每页的条目数 + * @return + * ``` + * 示例代码: + * icenter.getBaseImageLayers(1, 10).then(res => { + * res = { + * data: [{ + * layerName: '中国', + * gridSet: 'EPSG:4326', + * mimeType: 'PNG', + * ...... + * }, ......], + * total: 100, + * } + * }).catch(e => { + * console.log(e) + * }); + * ``` + */ + getBaseImageLayers(page: number, pageSize: number): Promise; + /** + * 获取影像图层 + * @param {number} page 当前页数 + * @param {number} pageSize 每页的条目数 + * ``` + * 示例代码: + * icenter.getImageLayers(1, 10).then(res => { + * console.log(res) + * }).catch(e => { + * console.log(e) + * }); + * 返回值: + * 与基础影像返回值类似 + * ``` + */ + getImageLayers(page: number, pageSize: number): Promise; + /** + * 获取矢量图层 + * @param {number} page 当前页数 + * @param {number} pageSize 每页的条目数 + * ``` + * 示例代码: + * icenter.getVectorLayers(1, 10).then(res => { + * console.log(res) + * }).catch(e => { + * console.log(e) + * }); + * 返回值: + * 与基础影像返回值类似 + * ``` + */ + getVectorLayers(page: number, pageSize: number): Promise; + /** + * 获取地形图层 + * @param {number} page 当前页数 + * @param {number} pageSize 每页的条目数 + * ``` + * 示例代码: + * icenter.getTerrainLayers(1, 10).then(res => { + * console.log(res) + * }).catch(e => { + * console.log(e) + * }); + * 返回值: + * 与基础影像返回值类似 + * ``` + */ + getTerrainLayers(page: number, pageSize: number): Promise; + /** + * 获取时序影像图层 + * @param {number} page 当前页数 + * @param {number} pageSize 每页的条目数 + * ``` + * 示例代码: + * icenter.getTimeImageLayers(1, 10).then(res => { + * console.log(res) + * }).catch(e => { + * console.log(e) + * }); + * 返回值: + * 与基础影像返回值类似 + * ``` + */ + getTimeImageLayers(page: number, pageSize: number): Promise; + /** + * 获取倾斜摄影图层 + * @param {number} page 当前页数 + * @param {number} pageSize 每页的条目数 + * ``` + * 示例代码: + * icenter.getTiltPhotoLayers(1, 10).then(res => { + * console.log(res) + * }).catch(e => { + * console.log(e) + * }); + * 返回值: + * 与基础影像返回值类似 + * ``` + */ + getTiltPhotoLayers(page: number, pageSize: number): Promise; + /** + * 获取实时数据服务图层列表 + * @param {number} page 当前页数 + * @param {number} pageSize 每页的条目数 + * ``` + * 示例代码: + * icenter.getRealTimeLayers(1, 10).then(res => { + * console.log(res) + * }).catch(e => { + * console.log(e) + * }); + * ``` + */ + getRealTimeLayers(page: number, pageSize: number): Promise; + /** + * 获取实时数据服务聚合类数据 + * @param {string} sourceId 数据源ID + * @param {number} minLon 最小经度 + * @param {number} maxLon 最大经度 + * @param {number} minLat 最小纬度 + * @param {number} maxLat 最大纬度 + * @param {number} level 层级 + * ``` + * 示例代码: + * icenter.getClusterRealTimeData('1', 139, 39, 140, 40, 10).then(res => { + * console.log(res) + * }).catch(e => { + * console.log(e) + * }); + * ``` + */ + getClusterRealTimeData(sourceId: any, minLon: any, maxLon: any, minLat: any, maxLat: any, level: any): Promise; + /** + * 获取实时数据服务目标类数据 + * @param {string} sourceId 数据源ID + * @param {number} minLon 最小经度 + * @param {number} maxLon 最大经度 + * @param {number} minLat 最小纬度 + * @param {number} maxLat 最大纬度 + * ``` + * 示例代码: + * icenter.getTargetRealTimeData('1', 139, 39, 140, 40).then(res => { + * console.log(res) + * }).catch(e => { + * console.log(e) + * }); + * ``` + */ + getTargetRealTimeData(sourceId: any, minLon: any, maxLon: any, minLat: any, maxLat: any): Promise; + /** + * 创建基础影像图层 + * @param {object} options 图层列表返回值中的单个图层对象 + * ``` + * 示例代码: + * const provider = icenter.createBaseImageLayer({layerName: 'google-PNG-4326', gridSet: 'EPSG:4326', mimeType: 'image/png', ......}); + * 加载返回值的方法如下: + * const layer = viewer.imageryLayers.addImageryProvider(provider); + * viewer.zoomTo(layer) + * ``` + */ + createBaseImageLayer(options: { + layerName: string; + mimeType: string; + gridSet: string; + workspace: string; + minX: number; + minY: number; + maxX: number; + maxY: number; + }): Cesium.WebMapTileServiceImageryProvider; + /** + * 创建影像图层 + * @param {object} options 图层列表返回值中的单个图层对象 + * ``` + * 示例代码: + * const provider = icenter.createImageLayer({layerName: 'pick-PNG-4326', gridSet: 'EPSG:4326', mimeType: 'image/png', ......}); + * 加载返回值的方法如下: + * const layer = viewer.imageryLayers.addImageryProvider(provider); + * viewer.zoomTo(layer) + * ``` + */ + createImageLayer(options: { + layerName: string; + mimeType: string; + gridSet: string; + workspace: string; + minX: number; + minY: number; + maxX: number; + maxY: number; + }): Cesium.WebMapTileServiceImageryProvider; + /** + * 创建矢量图层 + * @param {object} options 图层列表返回值中的单个图层对象 + * ``` + * 示例代码: + * const vector = icenter.createVectorLayer({layerName: 'icenter:国界线-PNG-4326', ......}); + * 加载返回值的方法如下: + * viewer.tileLayer.add(vector); + * ``` + */ + createVectorLayer(options: { + layerName: string; + workspace: string; + minX: number; + minY: number; + maxX: number; + maxY: number; + }): LineTile; + /** + * 创建地形图层 + * @param {object} options 图层列表返回值中的单个图层对象 + * ``` + * 示例代码: + * const provider = icenter.createTerrainLayer({layerName: 'taiwanDEM-TERRAIN-4326', minX: 119.9995833, minY: 19.9995838, maxX: 125.0004167, maxY: 25.0004171, ......}); + * 加载返回值的方法如下: + * viewer.terrainProvider = provider; + * ``` + */ + createTerrainLayer(options: { + layerName: string; + minX: number; + minY: number; + maxX: number; + maxY: number; + }): Cesium.CesiumTerrainProvider; + /** + * 创建倾斜摄影图层 + * @param {object} options 图层列表返回值中的单个图层对象 + * ``` + * 示例代码: + * const tiltPhoto = icenter.createTiltPhotoLayer({layerName: 100, ......}); + * 加载返回值的方法如下: + * tiltPhoto.readyPromise.then((tileset) => { + * viewer.scene.primitives.add(tileset); + * viewer.flyTo(tileset); + * }); + * ``` + */ + createTiltPhotoLayer(options: { + layerName: string; + }): Cesium.Cesium3DTileset; +} + + class PlaceName { + private _viewer; + private _url; + private _username; + private _password; + private _icenterToken; + /** + * 初始化 + * @param {GeoCanvas} viewer + * @param {string} url 连接的icenter环境地址 + * @param {string} username 用户名 + * @param {string} password 密码 + * ``` + * 示例代码 + * const icenter = new GV.iCenter(viewer, 'http://icenter.geovis.online', 'admin', 'icenter'); + * icenter.placeName + * ``` + */ + constructor(viewer: GeoCanvas, url: String, username: String, password: String); + private _loginIcenter; + private _altitudeMap; + /** + * 获取模糊匹配的地名列表 + * @param {String} placeName 地名 + * ``` + * 示例代码: + * icenter.placeName.queryPlaceNameList('北京').then(res => { + * res = [{ + * DMMC: '北京', + * WZ: 'POINT(116.400975 39.903325)', + * DMDZ: '中华人民共和国', + * ...... + * }, ......] + * }); + * ``` + */ + queryPlaceNameList(placeName: string): Promise; + /** + * 获取单个地名的位置信息 + * @param {Object} options 地名列表返回的单个地名数据对象 + * ``` + * 示例代码: + * icenter.placeName.getPlaceNameLocation(options); + * 返回值 + * { lon: 119, lat: 39, height: 10 } + * ``` + */ + getPlaceNameLocation(options: any): { + lon: any; + lat: any; + height: number; + }; + /** + * 获取全球的国家列表 + * ``` + * 示例代码: + * icenter.placeName.getWorldTree(); + * 返回值: + * [{ + * name: '中国', + * }, ......] + * ``` + */ + getWorldTree(): Promise; + /** + * 获取全国的省市县列表 + * ``` + * 示例代码: + * icenter.placeName.getProvinceCityCountyTree(); + * 返回值: + * [{ + * code: 2121212, + * name: '北京', + * children: [], + * }, ......] + * ``` + */ + getProvinceCityCountyTree(): Promise; + /** + * 获取单个国家的范围数据 + * @param {string} name 国家名称 + * ``` + * 示例代码: + * icenter.placeName.getCountryArea('中国'); + * 返回值: + * MULTIPOLYGON (((110.88 19.99))) + * ``` + */ + getCountryArea(name: string): Promise; + /** + * 获取省市县的范围数据 + * @param {object} options 省市县列表返回值中的单个数据对象 + * ``` + * 示例代码: + * icenter.placeName.getProvinceCityCountyArea({code: 110000, ......}); + * 返回值: + * MULTIPOLYGON (((110.88 19.99))) + * ``` + */ + getProvinceCityCountyArea(options: any): Promise; + /** + * 创建地名服务 + * ``` + * 示例代码: + * const placeNameTile = icenter.placeName.createPlaceName(); + * viewer.tileLayer.add(placeNameTile); + * ``` + */ + createPlaceName(): PlaceNameTile; +} + + class UserInfo { + private _url; + private _username; + private _password; + private _icenterToken; + /** + * 初始化 + * @param {string} url 连接的icenter环境地址 + * @param {string} username 用户名 + * @param {string} password 密码 + * ``` + * 示例代码 + * const icenter = new GV.iCenter('http://icenter.geovis.online', 'admin', 'icenter'); + * icenter.userInfo + * ``` + */ + constructor(url: String, username: String, password: String); + private _loginIcenter; + /** + * 获取用户信息 + * ``` + * 示例代码: + * icenter.userInfo.getUserInfo(); + * ``` + */ + getUserInfo(): Promise; + /** + * 获取用户token + * ``` + * 示例代码: + * icenter.userInfo.getUserToken(); + * ``` + */ + getUserToken(): Promise; +} + + const PathGroupName = "ActionPathLayer"; +/** + * 根据标绘图形获取可使用的动作 + * @param graphic + */ + function getAvailableAction(graphic: GraphicItem): any[]; + + class ActionGroup extends Item { + private _itemCollection; + private _startTime; + private _endTime; + private _viewer; + private _baseTime; + constructor(viewer: GeoCanvas); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + readonly length: number; + readonly rTimeBound: number[]; + readonly actionCollection: ActionItem[]; + setBaseTime(baseTime: Cesium.JulianDate): void; + addAction(item: ActionItem): void; + delActionInGroup(item: ActionItem): void; + delAction(item: ActionItem): void; + delActionById(itemId: string): void; + getActionById(itemId: string): ActionItem; + isContainActionId(itemId: string): boolean; + clear(): void; + moveUp(item: ActionItem): void; + moveDown(item: ActionItem): void; + calcTimeBound(): void; + calcRTimeBound(notCalcItem?: ActionItem): number[]; + updateStartTimeByRST(rStartTime: number): JulianDate; + updateEndTimeByRET(rEndTime: number): JulianDate; + reCalcEndTimeByRET(notCalcItem: ActionItem, rEndTime: number): JulianDate; + reCalcStartTimeByRST(notCalcItem: ActionItem, rStartTime: number): JulianDate; + recordInitState(isAuto?: boolean): void; + pauseInExecute(): void; + continueAfterPause(): void; + stopInExecute(): void; + recoverInitState(): void; + listenerFun(currentTime: JulianDate, multiplier: number): void; + toJson(): { + actions: any[]; + }; + parseJson(jsonData: any): ActionItem[]; + private getPathLayer; + checkGraphicStorageChange(): number; + reBindGraphicById(): void; + beforeStartInit(clock: Cesium.Clock): void; + private _toStringByDate; + private _getGraphics; + private _getRelativeGraphics; + _getGraphicById(group: GraphicGroup, id: string): any; + private _getGraphicIndex; + private _getGraphicByIndex; +} +/** + * 动画执行状态 + */ + enum ActionStateEnum { + /** + * 未开始 + */ + NotStart = "notstart", + /** + * 正在运行 + */ + Start = "start", + /** + * 暂停 + */ + Pause = "pause", + /** + * 停止 + */ + Stop = "stop", + /** + * 重新运行 + */ + ReStart = "restart" +} + + class ActionItem extends Item { + protected _startTime: Cesium.JulianDate; + protected _endTime: Cesium.JulianDate; + protected _rStartTime: number; + protected _rEndTime: number; + protected _isDone: boolean; + protected _isFirstDone: boolean; + protected _initState: any; + protected _actionGroup: ActionGroup; + protected _viewer: GeoCanvas; + protected _properties: Object; + constructor(); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + viewer: GeoCanvas; + rStartTime: number; + rEndTime: number; + startTime: Cesium.JulianDate; + endTime: Cesium.JulianDate; + isDone: boolean; + isFirstDone: boolean; + actionGroup: ActionGroup; + properties: Object; + /** + * @description: 时间轴每帧执行的方法 + * @param {Cesium} currentTime 当前时间 + * @param {Cesium} baseTime 基础时间 + * @param {number} multiplier 播放速率 + * @return {*} + */ + timelineFun(currentTime: Cesium.JulianDate, baseTime: Cesium.JulianDate, multiplier: number): void; + recordInitState(): void; + recoverInitState(): void; + pauseEvent(): void; + stopEvent(): void; + continueEvent(): void; +} + + class CameraAction extends ActionItem { + private _cameraOpt; + constructor(cameraActionOpt: CameraActionOpt); + rEndTime: number; + actionOpt: CameraActionOpt; + cameraOpt: any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + timelineFun(currentTime: Cesium.JulianDate, baseTime: any, multiplier: any): void; + toJson(): { + name: string; + type: string; + option: { + startTime: number; + cameraOpt: any; + }; + properties: Object; + }; +} + class CameraActionOpt { + startTime: number; + endTime: number; + cameraOpt: any; +} + + class FadeOutAction extends ActionItem { + private _graphic; + private _startTrans; + private _endTrans; + private _initColor; + private _totalTime; + private _intervalFun; + private _trans; + private _isMaterial; + private _timer; + private _materialGraphicTypes; + constructor(fadeOutActionOpt: FadeOutActionOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 开始透明度 + */ + startTrans: number; + /** + * 结束透明度 + */ + endTrans: number; + graphic: GraphicItem; + rStartTime: number; + rEndTime: number; + readonly actionOpt: FadeOutActionOpt; + ationOpt: FadeOutActionOpt; + timelineFun(currentTime: Cesium.JulianDate): void; + private _parseColor; + private _createInterval; + private _clearInterval; + private _isChangeColorByMaterial; + pauseEvent(): void; + stopEvent(): void; + continueEvent(): void; + recordInitState(): void; + /** + * @ignore + * @描述: 恢复初始状态 + */ + recoverInitState(): void; + toJson(): { + name: string; + type: string; + option: { + startTime: number; + endTime: number; + startTrans: number; + endTrans: number; + graphic: object; + }; + properties: Object; + }; +} + class FadeOutActionOpt { + /** + * 动作开始时间(相对时间) + */ + startTime: number; + /** + * 动作结束时间(相对时间) + */ + endTime: number; + /** + * 绑定的标绘图形 + */ + graphic: GraphicItem; + /** + * 开始不透明度 取值[0,1] + */ + startTrans?: number; + /** + * 最终不透明度 取值[0,1] + */ + endTrans?: number; +} + + class FlickerAction extends ActionItem { + private _frequency; + private _f; + private _graphic; + constructor(flickerOpt: FlickerActionOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + graphic: GraphicItem; + actionOpt: FlickerActionOpt; + frequency: number; + timelineFun(currentTime: Cesium.JulianDate, baseTime: Cesium.JulianDate): void; + recordInitState(): void; + recoverInitState(): void; + stopEvent(): void; + toJson(): { + name: string; + type: string; + option: { + startTime: number; + endTime: number; + graphic: object; + frequency: number; + }; + properties: Object; + }; +} +interface FlickerActionOpt { + startTime: number; + endTime: number; + graphic: GraphicItem; + frequency: number; +} + +/** + * @类别 需要用户创建的类 + * @描述 提供路径回调函数 + */ + class PathAction extends ActionItem { + private _graphic; + private _path; + private _posProperty; + private _relativePosParam; + private _moveCallback; + private _isMultiNodesGraphic; + private _isNeedIntervalSingleNodeGraphic; + private _MultiNodesGraphicTypes; + private _needIntervalSingleNodeTypes; + private _intervalFun; + private _multiPosGraphicTrans; + private _specialGraphicOpt; + constructor(pathActionOpt: PathActionOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + pathActionOpt: PathActionOpt; + moveCallback: Function; + rStartTime: number; + rEndTime: number; + graphic: GraphicItem; + /** + * @description: 获取路径标绘对象,设置路径标绘对象 + * ``` + * 示例代码 + * actionObj.pathGraphic = path // 注:内部对path进行拷贝,actionObj.pathGraphic在设置后产生一个新的标绘对象,设置后的actionObj.pathGraphic != path + * viewer.graphicLayer.setEditItem(actionObj.pathGraphic); + * ``` + */ + pathGraphic: BezierLineGraphic | PolylineGraphic; + removePathGraphic(viewer: GeoCanvas): GraphicItem | GraphicGroup; + static getPathGraphicGroup(viewer: any): any; + initPositions(): void; + timelineFun(currentTime: Cesium.JulianDate): void; + pauseEvent(): void; + stopEvent(): void; + continueEvent(): void; + private _doMoveAction; + private _createInterval; + private _clearInterval; + private _isMultiNodes; + private _isNeedIntervalSingleNode; + private _getPathPos; + recordInitState(): void; + recoverInitState(): void; + toJson(): { + name: string; + type: string; + option: { + startTime: number; + endTime: number; + graphic: object; + path: object; + }; + properties: Object; + }; +} + class PathActionOpt { + graphic: GraphicItem; + startTime: number; + endTime: number; + path: BezierLineGraphic | PolylineGraphic; + relativePosParam?: { + x: number; + y: number; + z: number; + heading: number; + pitch: number; + roll: number; + }; + moveCallback?: Function; +} + + class ScaleAction extends ActionItem { + private _graphic; + private _factor; + private _initSize; + private _totalTime; + private _intervalFun; + private _isNeedIntervalType; + private _needIntervalTypes; + private _progress; + constructor(scaleActionOpt: ScaleActionOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + timelineFun(currentTime: Cesium.JulianDate): void; + pauseEvent(): void; + stopEvent(): void; + continueEvent(): void; + private _createInterval; + private _clearInterval; + private _isNeedInterval; + actionOpt: ScaleActionOpt; + graphic: GraphicItem; + factor: number; + rStartTime: number; + rEndTime: number; + private _getInitPixelSize; + private _changePixelSize; + recordInitState(): void; + recoverInitState(): void; + toJson(): { + name: string; + type: string; + option: { + startTime: number; + endTime: number; + graphic: object; + factor: number; + }; + properties: Object; + }; +} +interface ScaleActionOpt { + startTime: number; + endTime: number; + graphic: GraphicItem; + factor: number; +} + + class VisibleAction extends ActionItem { + _graphic: any; + _visible: boolean; + constructor(visibleActionOpt: VisibleActionOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + graphic: GraphicItem; + actionOpt: VisibleActionOpt; + visible: boolean; + timelineFun(currentTime: Cesium.JulianDate): void; + recordInitState(): void; + recoverInitState(): void; + toJson(): { + name: string; + type: string; + option: { + startTime: number; + graphic: any; + visible: boolean; + }; + properties: Object; + }; +} +interface VisibleActionOpt { + startTime: number; + graphic: GraphicItem; + visible: boolean; +} + + class ActionLayer { + private _state; + private _groupCollection; + private _baseTime; + private _tickListener; + private _clock; + private _multiplier; + private _viewer; + private _initCamera; + private _stopCallBack; + private _startCallBack; + private _pauseCallBack; + private _runningCB; + private _groupChangedCB; + private _isLoop; + private _currentGroupIndex; + private _groupTimeLengths; + /** + * @description: + * @param {GeoCanvas} viewer + * @param {Cesium} baseTime + * ``` + * 示例代码 + * const baseTime = new Date() + * const actionLayer = new GV.ActionLayer(viewer, baseTime) + * ``` + */ + constructor(viewer: GeoCanvas | any, baseTime?: Cesium.JulianDate | Date | String); + /** + * @description: 获取viewer + */ + readonly viewer: GeoCanvas; + /** + * @description: 是否重复播放 + */ + /** + * @description: 设置是否重复播放 + * @param {boolean} isLoop 是否重复播放 + * @return {*} + */ + isLoop: boolean; + /** + * @description: 获取动作组集合 + */ + readonly groupCollection: ActionGroup[]; + /** + * @description: 获取播放速度 + */ + /** + * @description: 设置播放速度 + * @param {number} speed 传入播放速度 + */ + speed: number; + /** + * @description: 获取动画图层中动作组的数量 + */ + readonly length: number; + /** + * @description: 获取动画图层中所有动作的个数 + */ + readonly actionsNum: number; + /** + * @description: 在动画图层中添加动作 + * @param {ActionItem} item 添加的动作对象 + * @param {ActionGroup} actionGroup 将添加至某动作组对象或动作组ID + * @return {*} + */ + addAction(item: ActionItem, actionGroup?: ActionGroup | string): void; + /** + * @description: 从动画图层中删除动作 + * @param {ActionItem} item 删除的动作对象 + * @param {ActionGroup} actionGroup 从某动作组中删除 + * @return {*} + */ + delAction(item: ActionItem, actionGroup?: ActionGroup): void; + /** + * @description: 将动作对象移动至其他动作组 + * @param {*} action 移动的动作对象 + * @param {*} group 移动至某动作组 + * @return {*} + */ + moveAction(action: any, group: any): void; + /** + * @description: 根据动作对象ID删除 + * @param {string} actionId 动作对象ID + * @param {ActionGroup} actionGroup 从某动作组中删除 + * @return {*} + */ + delActionById(actionId: string, actionGroup?: ActionGroup): void; + /** + * @description: 从动画图层中删除动作组 + * @param {ActionGroup} actionGroup 将要被删除的动作组 + * @return {*} + */ + delActionGroup(actionGroup: ActionGroup): void; + /** + * @description: 从动画图层中根据动作组ID删除组 + * @param {string} actionGroupById + * @return {*} + */ + delActionGroupById(actionGroupById: string): void; + /** + * @description: 创建一个新组并添加至动画图层中 + * @param {*} + * @return {ActionGroup} + */ + createGroup(): ActionGroup; + /** + * @description: 添加动作组 + * @param {ActionGroup} actionGroup + * @return {*} + */ + addActionGroup(actionGroup: ActionGroup): void; + /** + * @description: 根据动作对象ID获取动作对象 + * @param {string} actionId 动作对象ID + * @param {ActionGroup} actionGroup 动作组 + * @return {*} + */ + getActionById(actionId: string, actionGroup?: ActionGroup): ActionItem; + /** + * @description: 根据动作组ID获取动作组 + * @param {string} actionGroupId + * @return {*} + */ + getGroupById(actionGroupId: string): ActionGroup; + /** + * @description: 根据动作ID获取动作组 + * @param {string} actionId + * @return {*} + */ + getGroupByActionId(actionId: string): ActionGroup; + /** + * @description: 清空动画图层 + * @param {*} + * @return {*} + */ + clear(): void; + /** + * @description: 将动作对象在动作组中上移|将动作组在动画图层中上移 + * @param {ActionItem} item + * @return {*} + */ + moveUp(item: ActionItem | ActionGroup): void; + /** + * @description: 将动作对象在动作组中下移|将动作组在动画图层中下移 + * @param {ActionItem} item + * @return {*} + */ + moveDown(item: ActionItem | ActionGroup): void; + /** + * @description: 设置基础时间 + * @param {*} + * @return {*} + */ + setBaseTime(baseTime: Cesium.JulianDate | Date | String, isSetAllActionGroup?: boolean): void; + /** + * @description: 获取基础时间 + * @param {*} + * @return {*} + */ + getBaseTime(): Date; + /** + * @description: 获取动画图层的相对时间范围 + * @param {*} + * @return {*} + */ + readonly rTimeBound: number[]; + /** + * @description: 获取动画图层播放的总时长 + * @param {*} + * @return {*} + */ + getTimeLength(): number; + /** + * @description: 根据ID重新绑定标绘对象,防止标绘对象内存地址改变 + * @param {*} + * @return {*} + */ + reBindGraphicById(): void; + private _getGroupTimeLengths; + private _calcRTimeBound; + /** + * @description: 开始播放动画 + * @param {boolean} isAuto + * @return {*} + */ + start(isAuto?: boolean): void; + /** + * @description: 暂停动画 + * @param {*} + * @return {*} + */ + pause(): void; + /** + * @description: 重新开始 + * @param {*} + * @return {*} + */ + reStart(): void; + /** + * @description: 停止播放 + * @param {*} + * @return {*} + */ + stop(): void; + /** + * @description: 复位动画图层 + * @param {*} + * @return {*} + */ + reSet(): void; + /** + * @description: 设置动画的初始视角 + * @ignore + */ + setInitCamera(cameraOpt: any): void; + /** + * @description: 设置开始时回调函数 + * @param {Function} startCallBack + * @return {*} + */ + onStart: () => void; + /** + * @description: 设置暂停时回调函数 + * @param {Function} pauseCallBack + * @return {*} + */ + onPause: () => void; + /** + * @description: 设置运行时回调函数(输出当前动作组的当前相对时间(秒)、动画图层中所有动作组的当前相对时间(秒)、绝对时间) + * @param {function} runningCB + * @return {*} + */ + onRunning: (rCurrentTime: number, totalRCurrentTime: number, currentTime: Cesium.JulianDate) => void; + /** + * @description: 设置运行时回调函数(该属性即将删除,使用onRunning) + * @param {Function} runningCB + * @return {*} + */ + runningCB: (rCurrentTime: number, totalRCurrentTime: number, currentTime: Cesium.JulianDate) => void; + /** + * @description: 开始播放后,分组切换时触发的回调函数 + * @param {Function} groupChangedCB + * @return {*} + */ + groupChangedCB: () => void; + /** + * @description: 获取该标绘可以使用的动作类型 + * @param {GraphicItem} graphic 标绘图形 + * @return {Array} 返回一个动作类型数组 + */ + getAvailableAction(graphic: GraphicItem): any[]; + /** + * @description: 设置结束时回调函数 + * @param {Function} stopCallBack + * @return {*} + */ + onStop: () => void; + /** + * @description: 将动画图层转换为json + * @param {boolean} isSaveGraphics + * @return {*} + */ + toJson(isSaveGraphics?: boolean): { + baseTime: string; + actionGroups: any[]; + graphics: object; + } | { + baseTime: string; + actionGroups: any[]; + graphics?: undefined; + }; + /** + * @description: 解析动画图层json数据 + * @param {any} json + * @return {*} 返回动画图层中动作组的集合 + */ + parseJson(json: any): ActionGroup[]; + private _recordInitState; + private _beforeStartInit; + private _listenerFun; + private _clockStopFun; + private _getNextGroupIndex; + private _removeTickListener; + private _toStringByDate; +} +/** + * 动画执行状态 + */ + enum ActionStateEnum { + /** + * 未开始 + */ + NotStart = "notstart", + /** + * 正在运行 + */ + Start = "start", + /** + * 暂停 + */ + Pause = "pause", + /** + * 停止 + */ + Stop = "stop", + /** + * 重新运行 + */ + ReStart = "restart" +} + + class CloundLayer { + private _viewer; + private scene; + private _config; + private _baseHeight; + private _brightnessShift; + private brightnessShift_; + private skyBoxshow_; + private _cloundCount; + private _maxCloundCount; + private _show; + private _rectangle; + private _option; + private _cloundColor; + private _modelCollection; + private _billboardCollection; + private _types; + constructor(viewer: Cesium.Viewer, option: any); + clamp(a: any, b: any, c: any): any; + _createClound(): void; + _initAtmosphere(): void; + _resetAtmosphere(): void; + show: boolean; + density: number; + rectangle: object; + destory(): void; +} + +/** + * 初始化示例 + * @param option 引人注目点 + * ``` + * 示例代码: + * let opt = new GV.AttractPointGraphicOpt(); + * opt.position = new GV.GeoPoint(112, 26); + * opt.radius = 50; + * opt.height = 300; + * let obj = new GV.AttractPointGraphic(opt); + * viewer.graphicLayer.add(obj); + * + * ``` + */ + class AttractPointGraphic extends GraphicPositionItem { + constructor(opt: any); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 半径 + */ + radius: any; + /** + * 高度 + */ + height: any; + /** + * 颜色 + */ + color: any; +} + class AttractPointGraphicOpt extends GraphicPositionItemOpt { + /** + * 底面半径 + */ + radius: number; + /** + * 高度 + */ + height: number; + /** + * 颜色 + */ + color: string; +} + +/** + * @类型 外部使用类 + * @描述 贝塞尔曲线 + * @see 贝塞尔曲线 + */ + class BezierLineGraphic extends GraphicItem { + protected _opt: BezierLineGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option + * ``` + * let bezierLine = new GV.BezierLineGraphic({ + * positions:[new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000), new GV.GeoPoint(100,100,200000)], //设置坐标 + * lineStyle: new GV.ColorStyle({color: '#ffff00'}), //设置颜色 + * width: 3, //设置宽度 + * }); + * viewer.graphicLayer.add(bezierLine); //添加到场景 + * ``` + */ + constructor(option: BezierLineGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * @name: 获取所有节点的坐标 + * @msg: + * @param {*} + * @return {*} + */ + readonly allPositions: any[]; + /** + * 位置(只有前两个点位有效) + * ``` + * 示例代码 + * parabolaLine.positions = [new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)] + * ``` + */ + positions: any; + /** + * 线宽 (单位:像素) (范围: >0 && <100) + * ``` + * 示例代码 + * parabolaLine.width = 10 + * ``` + */ + width: number; + /** + * 只读属性贝塞尔曲线贴地 + */ + readonly clampToGround: true; + /** + * 点集数,抛物线细分插值数 (范围:>0 && <1000) + * ``` + * parabolaLine.step = 50 + * ``` + */ + step: number; + /** + * 是否支持动态点修改(支持模式可能会对效率有点影响与当前加载数据量有关) + */ + dirty: boolean; + /** + * 线条样式 + * 线条支持测样式参考 + * @return + * ``` + * 示例代码: + * parabolaLine.lineStyle = new GV.DynamicStyle({//设置动态样式 + * color: '#ffff00', //颜色 + * icon: GV.DynamicIconEnum.Attack, //样式图表 + * duration:800 //周期 + * }) + * ``` + */ + lineStyle: ColorStyle | ArrowStyle | OutlineStyle | DashStyle | GlowStyle | DynamicStyle; + /** + *@ignore + */ + getInterpolationCallback(value: any): GeoPoint[]; + color: string; +} +/** + * 数据约束及默认值 + */ + class BezierLineGraphicOpt extends GraphicItemOpt { + /** + * 点集数量 + */ + step?: number; + /** + * 线条样式 + * 线条支持测样式参考 + */ + lineStyle: ColorStyle | ArrowStyle | OutlineStyle | DashStyle | GlowStyle | DynamicStyle; + /** + * 关键点信息 + */ + positions: Array; + /** + * 线型宽度 + */ + width: number; + /** + * 是否动态更新(脏检查) + */ + dirty: boolean; +} + +/** + * @类型 外部使用类 + * @描述 图标绘制对象 + * @see 图标 + */ + class BillboardGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: BillboardGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let billboardGraphicOpt = new GV.BillboardGraphicOpt(); + * billboardGraphicOpt.position = [83, 33, 500000]; + * let billboardGraphic = new GV.BillboardGraphic(billboardGraphicOpt); + * 或者 + * let billboardGraphic = new GV.BillboardGraphic({...}); + * ``` + */ + constructor(option: BillboardGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 图片 + */ + image: any; + /** + * 缩放大小 + */ + scale: any; + /** + * 水平对齐方式: 'left' 左对齐; 'center' 居中; 'right' 右对齐; + */ + horizontalOrigin: any; + /** + * 垂直对齐方式 : 'baseline'基线对齐; 'bottom' 底部对齐; 'center' 中间对齐; 'top' 顶部对齐 + */ + verticalOrigin: any; + /** + * 视角偏移[x,y,z] 空间坐标值 单位为米 + */ + eyeOffset: any; + /** + * 像素偏移 [x,y] x:相对中心点屏幕横向偏移; y:相对中心点屏幕纵向偏移; 单位像素值 + */ + pixelOffset: any; + /** + *沿视角方向旋转角度,单位弧度值 + */ + rotation: any; + /** + * 宽度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + width: any; + /** + * 高度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + height: any; + /** + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + color: any; + scaleByDistance: any; + /** + * 大小是否以米为单位 + */ + sizeInMeters: any; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference: any; + disableDepthTestDistance: any; +} + class BillboardGraphicOpt extends GraphicPositionItemOpt { + /** + * 图片路径 + */ + image: String; + /** + * 缩放大小 + */ + scale?: number; + /** + * 水平对齐 : 'left' 左对齐; 'center' 居中; 'right' 右对齐; + */ + horizontalOrigin?: String; + /** + * 垂直对齐 : 'baseline'基线对齐; 'bottom' 底部对齐; 'center' 中间对齐; 'top' 顶部对齐 + */ + verticalOrigin?: String; + /** + * 视角偏移[x,y,z] 空间坐标值 单位为米 + */ + eyeOffset?: Array; + /** + * 像素偏移 [x,y] x:相对中心点屏幕横向偏移; y:相对中心点屏幕纵向偏移; 单位像素值 + */ + pixelOffset?: Array; + /** + * 沿视角方向旋转角度,单位弧度值 + */ + rotation?: number; + /** + * 宽度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + width: number; + /** + * 高度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + height: number; + /** + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + color?: String; + scaleByDistance?: Array; + /** + * 大小是否以米为单位 + */ + sizeInMeters?: Boolean; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + disableDepthTestDistance?: number; +} + +/** + * @类型 外部使用类 + * @描述 圆锥的操作 + * @see 圆锥旋转 + */ + class BindedCylinderGraphic extends GraphicPositionItem { + protected _opt: BindedCylinderOpt; + /** + * 初始化示例 + * @param option 圆锥沿当前位置与任一点构成的向量旋转 + * ``` + * 示例代码: + * let bindedCylinder = new GV.BindedCylinderGraphic(); + * viewer.graphicLayer.add(bindedCylinder); + * + * ``` + */ + constructor(option: BindedCylinderOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取圆锥颜色 + * @returns + */ + /** + * 设置圆锥颜色 + * @param value 颜色 + */ + color: string; + /** + * 获取开合角 + * @returns + */ + /** + * 设置开合角 + * @param value 开合角 + */ + angle: number; + /** + * 按指定旋转轴和旋转角度进行旋转 + * @param nextPosition 旋转轴的下一点位置(即当前点position与下一点nextPosition组成的直线作为旋转轴) + * @param horizontalAngle 水平旋转角 + * @param verticalAngle 垂直旋转角 + */ + rotate(nextPosition: GeoPoint, horizontalAngle: number, verticalAngle: number): void; + /** + * 获取下一点位置 + * @returns + */ + readonly nextPosition: GeoPoint; + /** + * 获取水平旋转角 + * @returns + */ + readonly horizontalAngle: number; + /** + * 获取垂直旋转角 + * @returns + */ + readonly verticalAngle: number; +} +/** + * 数据约束及默认值 + */ + class BindedCylinderOpt extends GraphicPositionItemOpt { + /**圆锥位置,以圆锥顶部为中心 */ + /**圆锥开合角 */ + angle: number; + /**下一点位置 */ + nextPosition: GeoPoint; + /**圆锥颜色 */ + color: string; + /**水平旋转角 */ + horizontalAngle: number; + /**垂直旋转角 */ + verticalAngle: number; +} + +/** + * @类型 外部使用类 + * @描述 点几何体绘制对象 + * @see + */ + class BlastGraphic extends GraphicPositionItem { + protected _opt: BlastGraphicOpt; + /** + * 初始化示例 + * @param option 点几何体构造方法 + * ``` + * 示例代码 + * let point = new GV.PointGraphic({position:new GV.GeoPoint(10,10)}); + * viewer.graphicLayer.add(point); + * ``` + */ + constructor(option: BlastGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 开始颜色 + */ + startColor: any; + /** + * 结束颜色 + */ + endColor: any; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; +} +/** + * 数据约束及默认值 + */ + class BlastGraphicOpt extends GraphicPositionItemOpt { + /** + * 开始颜色 CssColor + */ + startColor?: string; + /** + * 结束颜色 CssColor + */ + endColor?: string; +} + +/** + * @类型 外部使用类 + * @描述 标牌绘制对象 + * @see 标牌 + */ + class BubbleGraphic extends GraphicItem { + protected _opt: BubbleGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option 标牌构造方法 + * * ``` + * 示例代码 + * let bubbleGraphicOpt = new GV.BubbleGraphicOpt(); + * bubbleGraphicOpt.bindObject = new GV.GeoPoint(80, 40); + * let bubble = new GV.BubbleGraphic(bubbleGraphicOpt); + * graphicLayer.add(bubble); + * ``` + */ + constructor(option: BubbleGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 获取标牌类型 + */ + bubbleType: BubbleTypeEnum; + /** + * 获取标牌面板初始时位置偏移像素 + */ + panelOffset: { + x: number; + y: number; + }; + /** + * deprecated 获取或设置绑定对象(目前支持GeoPoint对象) + */ + bindObject: any; + /** + * position 转入至 bindObject + */ + position: GeoPoint; + /** + * 获取标牌面板DOM,标牌展示效果使用获取的 DOM 进行自定义修改 + */ + readonly panelDom: any; + /** + * 获取标牌线DOM,相关样式使用获取的 DOM 进行修改 + */ + readonly lineDom: any; + /** + * 获取或设置是否开启标牌拖拽 + */ + panelDrag: boolean; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; +} +/** + * 标牌数据约束及默认值 + */ + class BubbleGraphicOpt extends GraphicItemOpt { + /** + * 标牌面板初始时位置偏移像素 + * 如果bubbleType为BubbleTypeEnum.FollowBubble则此参数为标牌面板相对于幕布位置 + * 如果bubbleType为BubbleTypeEnum.FixedBubble则此参数为标牌面板相对于锚点位置 + */ + panelOffset: { + x: number; + y: number; + }; + /** + * 是否开启面板拖拽 + */ + panelDrag: boolean; + /** + * 绑定对象 + */ + bindObject: any; + /** + * 锚点坐标,设置时将自动设置为 bindObject 对象 + */ + position: GeoPoint; + /** + * Bubble类型 + */ + bubbleType: BubbleTypeEnum; + visible: boolean; +} +/** + * 标牌类型枚举 + */ + enum BubbleTypeEnum { + FixedBubble = "fixedBubble", + FollowBubble = "followBubble" +} + +/** + * @类型 外部使用类 + * @描述 贴地圆、贴地扇形几何体 + * @see 圆柱 + */ + class CircularGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: CircularGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * //绘制圆 + * let circularGraphic = new GV.CircularGraphic({ + * color: 'rgba(255,255,0, 0.5)', + * position: new GV.GeoPoint(0, 0, 2000), + * radius: 100000, //半径 + * clampToGround: true //贴地 + * }); + * viewer.graphicLayer.add(circularGraphic); //添加到场景 + * + * //绘制扇形 + * let sector = new GV.CircularGraphic({ + * color: 'rgba(255,0,0, 0.5)', + * position: new GV.GeoPoint(0, 5, 2000), + * radius: 100000, //半径 + * clampToGround: false, //不贴地 + * startAngle: 20, //起始角 + * endAngle: 100 //终止角 + * }); + * viewer.graphicLayer.add(sector); //添加到场景 + * ``` + */ + constructor(option: CircularGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 半径 + */ + radius: any; + /** + *起始角(单位:角度) + */ + startAngle: any; + /** + * 终止角(单位:角度) + */ + endAngle: any; + /** + * 颜色 + */ + color: any; + /** + * 是否贴合地形 + */ + clampToGround: any; + /** + * 点集用于扇形,越大扇形越光滑 + */ + step: any; +} +/** + * 数据约束及默认值 + */ + class CircularGraphicOpt extends GraphicPositionItemOpt { + /** + * 是否贴地 + */ + clampToGround: boolean; + /** + * 半径(单位m) + */ + radius?: number; + /** + *起始角(单位:角度) + */ + startAngle?: number; + /** + * 终止角(单位:角度) + */ + endAngle?: number; + /** + * 颜色 + */ + color?: string; + /** + * 点集用于扇形,点集越大扇形越光滑 + */ + step?: number; +} + +/** + * @类型 外部使用类 + * @描述 文本POI绘制对象 + * @see 文本 + */ + class CustomLabelGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: CustomLabelGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * var customLabelGraphicOpt = new GV.CustomLabelGraphicOpt(); + * customLabelGraphicOpt.position = new GV.GeoPoint(0, 0); + * customLabelGraphicOpt.width = 100; + * customLabelGraphicOpt.height = 100; + * customLabelGraphicOpt.text = '星图'; + * customLabelGraphicOpt.backgroundColor = 'rgba(0,0,255,1.0)'; + * var customLabelGraphic = new GV.CustomLabelGraphic(customLabelGraphicOpt); + * viewer.graphicLayer.add(customLabelGraphic); + * ``` + */ + constructor(option: CustomLabelGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 文字 + */ + text: any; + /** + * 缩放大小 + */ + scale: any; + /** + * 宽度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + width: any; + /** + * 高度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + height: any; + /** + * 背景颜色 + */ + backgroundColor: any; + /** + * 垂直对齐方式 : 'baseline'基线对齐; 'bottom' 底部对齐; 'center' 中间对齐; 'top' 顶部对齐 + */ + verticalOrigin: any; + /** + * @ignore + */ + readonly clampToGround: boolean; + /** + * 设置显示范围 示例[near, far] + * label.distanceDisplayCondition = [0,1000000] + */ + distanceDisplayCondition: Array; + getEditor(viewer: Cesium.Viewer, editorMgr: EditorManager): PointEditor; +} + class CustomLabelGraphicOpt extends GraphicPositionItemOpt { + /** + * 文字内容 + */ + text?: string; + /** + * 缩放大小 + */ + scale?: number; + /** + * 宽度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + width?: number; + /** + * 高度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + height?: number; + /** + * 背景颜色 + */ + backgroundColor?: string; + /** + * 垂直对齐 : 'baseline'基线对齐; 'bottom' 底部对齐; 'center' 中间对齐; 'top' 顶部对齐 + */ + verticalOrigin?: String; + /** + * 显示范围 示例[near, far] 物体在near和far的相机距离之间显示; near和far的单位为米; + */ + distanceDisplayCondition?: Array; +} + +/** + * @类型 外部使用类 + * @描述 动态圆柱几何体 + * @see 动态圆柱 + */ + class CylinderDynamicGraphic extends GraphicItem { + protected _opt: CylinderDynamicGraphicOpt; + protected _type: string; + protected _renderCylinder: any; + protected _bindTop: GraphicItem; + protected _bindBottom: GraphicItem; + /** + * 初始化示例 + * @param option 动态圆柱几何体 + * ``` + * 示例代码: + * let cylinderDynamicGraphicOpt=new GV.CylinderDynamicGraphicOpt(); + * let cylinder = new GV.CylinderDynamicGraphic(cylinderDynamicGraphicOpt); + * viewer.graphicLayer.add(cylinder); + * ``` + */ + constructor(option: CylinderDynamicGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 获取最大控制点数量(编辑中的PolylineCreator使用,为无限大时可以省略) + */ + getMaxCtrlPosNum(): number; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 绑定顶端标绘 + * * @param v 被绑定的标绘对象(注意:对象必须实现position属性GeoPoint类型) + * + * */ + /** + * 获取顶端绑定的标绘对象 + * @returns + */ + topBind: GraphicItem; + /** + * 绑定底端标绘 + * * @param v 被绑定的标绘对象(注意:对象必须实现position属性GeoPoint类型) + * + * */ + /** + * 获取底端绑定的标绘对象 + * @returns + */ + bottomBind: GraphicItem; + /** + * 圆柱顶面位置 + * @param value 顶面位置 + * + * */ + /** + * 获取顶面位置 + * @returns + */ + topPosition: GeoPoint; + /** + * 圆柱底面位置 + * @param value 底面位置 + */ + /** + * 获取底面位置 + * @returns + */ + bottomPosition: GeoPoint; + /** + * 设置圆柱顶面半径 + * @param value 顶面半径 + */ + /** + * 获取顶面半径 + * @returns + */ + topRadius: number; + /** + * 设置圆柱底面半径 + * @param value 底面半径 + */ + /** + * 获取底面半径 + * @returns + */ + bottomRadius: number; + /** + * 设置速度 + * @param value 速度 范围 1-5 + */ + /** + * 获取速度 + * @returns + * + */ + speed: number; + /** + * 设置条纹颜色 + * @param value 条纹颜色 + */ + /** + * 获取条纹颜色 + * @returns + */ + evenConeColor: string; + /** + * 设置条纹颜色 + * @param value 条纹颜色 + */ + /** + * 获取条纹颜色 + * @returns + */ + oddConeColor: string; + /** + * 设置切分份数 + * @param value 切分份数 + */ + /** + * 获取切分份数 + * @returns + */ + slice: number; + /**设置条纹间距 */ + /**获取条纹间距 */ + space: number; + positions: Array; + /** + * 获取中心点 + */ + getCenterPosition(): GeoPoint; + movePosition(offsetLon: any, offsetLat: any, offsetAlt: any): void; + parseJson(option: any): void; + bindToJson(doc: any[]): void; +} +/** + * 数据约束及默认值 + */ + class CylinderDynamicGraphicOpt extends GraphicItemOpt { + /**圆柱顶面位置 */ + topPosition?: GeoPoint; + /**圆柱底面位置 */ + bottomPosition?: GeoPoint; + /** + * 圆柱顶面半径 + */ + topRadius?: number; + /** + * 圆柱底面半径 + * */ + bottomRadius?: number; + /** + * 速度 范围1-5 + */ + speed?: number; + /** + * 条纹颜色 + */ + evenConeColor?: string; + /** + * 条纹颜色 + */ + oddConeColor?: string; + /**相邻两个条纹之间的间距 */ + space?: number; + /** + * 切分份数 + */ + slice?: number; +} + +/** + * @类型 外部使用类 + * @描述 圆柱几何体 + * @see 圆柱 + */ + class CylinderGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: CylinderGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let CylinderGraphic = new GV.CylinderGraphic({...}); + * ``` + */ + constructor(option: CylinderGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 高度参考 + */ + heightReference: any; + /** + * 长度 + */ + length: any; + /** + * 顶部半径 + */ + topRadius: any; + /** + * 底部半径 + */ + bottomRadius: any; + /** + * 偏航 + */ + heading: any; + /** + * 俯仰 + */ + pitch: any; + /** + * 翻转 + */ + roll: any; + /** + * 是否填充 + */ + fill: any; + /** + * 填充颜色 + */ + color: any; + /** + * 是否填充 + */ + outline: any; + /** + * 颜色 + */ + outlineColor: any; + /** + * 轮廓宽度 + */ + outlineWidth: any; + /** + * 沿轮廓周边绘制的垂直线数 + */ + numberOfVerticalLines: any; + /** + * 周长的边数 + */ + slices: any; + /** + * 是否投射或接收来自每个光源的阴影 + */ + shadows: any; +} +/** + * 数据约束及默认值 + */ + class CylinderGraphicOpt extends GraphicPositionItemOpt { + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + /** + * 圆柱长度 + */ + length: number; + /** + * 圆柱顶部的半径 + */ + topRadius: number; + /** + * 圆柱体底部的半径 + */ + bottomRadius: number; + /** + * 偏航角围绕负z轴旋转 + */ + heading?: number; + /** + * 俯仰角绕负y轴旋转 + */ + pitch?: number; + /** + * 翻转角绕正x轴旋转 + */ + roll?: number; + /** + * 是否填充提供的材质 + */ + fill?: Boolean; + /** + * 填充材质 + */ + color?: String; + /** + * 是否轮廓 + */ + outline?: Boolean; + /** + * 轮廓颜色 + */ + outlineColor?: String; + /** + * 轮廓宽度 + */ + outlineWidth?: number; + /** + * 沿轮廓周边绘制的垂直线数 + */ + numberOfVerticalLines?: number; + /** + * 圆柱周长的边数 + */ + slices?: number; + /** + * 是否投射或接收来自每个光源的阴影: 'cast_only' 仅投射阴影; 'disabled' 不会投射或接收阴影; 'enabled' 投射和接收阴影; 'receive_only' 仅接收阴影; + */ + shadows?: Boolean; +} + +/** + * @类型 外部使用类 + * @描述 仪表盘效果 + * @see 仪表盘 + */ + class DashBoardGraphic extends GraphicPositionItem { + protected _opt: DashGraphicOpt; + /** + * 初始化示例 + * @param option 仪表盘 + * ``` + * 示例代码: + * let opt = new GV.DashGraphicOpt(); + * opt.dashColor = 'rgba(255.0, 0.0, 0.0, 1)'; + * opt.position = new GV.GeoPoint(80, 31.85, 0); + * opt.radius = 1500; + * let dashScan = new GV.DashBoardGraphic(opt); + * viewer.graphicLayer.add(dashScan); + * + * ``` + */ + constructor(option: DashGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取旋转角度 + * @returns + */ + /** + * 设置旋转角度 + * @param value 角度 + */ + angle: number; + /** + * 获取颜色 + * @returns + */ + /** + * 设置颜色 + * @param value 颜色 + */ + dashColor: string; + /** + * 获取半径 + * @returns + */ + /** + * 设置半径 + * @param value 半径 + */ + radius: number; + /** + * 获取贴地状态(只读) + */ + readonly clampToGround: boolean; +} +/** + * 数据约束及默认值 + */ + class DashGraphicOpt extends GraphicPositionItemOpt { + /**颜色 */ + dashColor?: string; + /**半径 */ + radius?: number; + /**旋转角度 */ + angle: number; +} + +/** + * @类型 外部使用类 + * @描述 动态波纹 + * @see 动态波纹 + */ + class DynamicRippleGraphic extends GraphicPositionItem { + protected _opt: DynamicRippleGraphicOpt; + /** + * 初始化示例 + * @param option 动态波纹 + * ``` + * 示例代码: + * let opt = new GV.DynamicRippleGraphicOpt(); + * opt.position = new GV.GeoPoint(80, 30, 200000); + * let test = new GV.DynamicRippleGraphic(opt); + * viewer.graphicLayer.add(test); + * + * ``` + */ + constructor(option: DynamicRippleGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 设置半径 + * @param value 半径 + */ + /** + * 获取半径 + * @returns + */ + radius: number; + /** + * 设置颜色 + * @param value 颜色 + */ + /** + * 获取颜色 + * @returns + */ + color: string; + /** + * 轮廓线是否开启 + * @param value 标志位 + */ + /** + * 获取轮廓线是否开启 + * @returns + */ + outline: boolean; + /** + * 设置轮廓线颜色 + * @param value 轮廓线颜色 + */ + /** + * 获取轮廓线颜色 + * @returns + */ + outlineColor: string; +} +/** + * 数据约束及默认值 + */ + class DynamicRippleGraphicOpt extends GraphicPositionItemOpt { + /**半径 */ + radius?: number; + /**颜色 */ + color?: string; + /**轮廓线是否开启 */ + outline?: boolean; + /**轮廓线颜色 */ + outlineColor?: string; +} + +/** + * @类型 外部使用类 + * @描述 椭圆几何体 + * @see 椭圆 + */ + class EllipseGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: EllipseGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let ellipseGraphic = new GV.EllipseGraphic({...}); + * ``` + */ + constructor(option: EllipseGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 短半轴 + */ + semiMinorAxis: any; + /** + * 长半轴 + */ + semiMajorAxis: any; + /** + * 高度参考 + */ + heightReference: any; + /** + * 挤压面相对于椭球面的高度 + */ + extrudedHeight: any; + /** + * extrudedHeight相对于什么 + */ + extrudedHeightReference: any; + /** + * 是否填充 + */ + fill: any; + /** + * 材质 + */ + color: any; + /** + * 是否显示轮廓线(如果显示廓线固定宽度为1像素) + */ + outline: any; + /** + * 颜色 + */ + outlineColor: any; + /** + * 沿轮廓周边绘制的垂直线数 + */ + numberOfVerticalLines: any; + /** + * 沿视角方向旋转角度,单位弧度值 + */ + rotation: any; + /** + * 从北向逆时针旋转椭圆纹理 + */ + stRotation: any; + /** + * 椭圆上点之间的角距离:'radians_per_degree' 弧度数 + */ + granularity: any; + /** + * 是否投射或接收来自每个光源的阴影 + */ + shadows: any; +} +/** + * 数据约束及默认值 + */ + class EllipseGraphicOpt extends GraphicPositionItemOpt { + /** + * 长半轴 + */ + semiMajorAxis: number; + /** + * 短半轴 + */ + semiMinorAxis: number; + /** + * 椭圆相对于椭球面的高度 + */ + height?: number; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + /** + * 椭圆的挤压面相对于椭球面的高度 + */ + extrudedHeight?: number; + /** + * extrudedHeight的相对参考:'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + extrudedHeightReference?: String; + /** + * 是否填充提供的材质 + */ + fill?: Boolean; + /** + * 填充材质 + */ + color?: String; + /** + * 是否轮廓轮(如果显示廓线固定宽度为1像素) + */ + outline?: Boolean; + /** + * 轮廓颜色 + */ + outlineColor?: String; + /** + * 沿轮廓周边绘制的垂直线数 + */ + numberOfVerticalLines?: number; + /** + * 沿视角方向旋转角度,单位弧度值 + */ + rotation?: number; + /** + * 从北向逆时针旋转椭圆纹理 + */ + stRotation?: number; + /** + * 椭圆上点之间的角距离:弧度数 degrees_per_radian: 180.0 / Math.PI; epsilon1: 0.1; epsilon2: 0.01; epsilon3: 0.001 + */ + granularity?: string; + /** + * 是否投射或接收来自每个光源的阴影: 'cast_only' 仅投射阴影; 'disabled' 不会投射或接收阴影; 'enabled' 投射和接收阴影; 'receive_only' 仅接收阴影; + */ + shadows?: String; +} + +/** + * @类型 外部使用类 + * @描述 椭球体 + * @see 椭球体 + */ + class EllipsoidGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: EllipsoidGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let ellipsoidGraphic = new GV.EllipsoidGraphic({...}); + * ``` + */ + constructor(option: EllipsoidGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 高度参考 + */ + heightReference: any; + /** + * 半径 + */ + radii: any; + /** + * 是否填充 + */ + fill: any; + /** + * 材质 + */ + color: any; + /** + * 是否显示轮廓线(如果显示廓线固定宽度为1像素) + */ + outline: any; + /** + * 颜色 + */ + outlineColor: any; + /** + * 每个轮廓环的样本数,确定曲率的粒度 + */ + subdivisions: any; + /** + * 堆栈数 + */ + stackPartitions: any; + /** + * 径向切片数 + */ + slicePartitions: any; + /** + * 是否投射或接收来自每个光源的阴影 + */ + shadows: any; +} +/** + * 数据约束及默认值 + */ + class EllipsoidGraphicOpt extends GraphicPositionItemOpt { + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + /** + * 半径 示例[x, y, z] + */ + radii?: Array; + /** + * 是否填充提供的材质 + */ + fill?: Boolean; + /** + * 填充材质 + */ + color?: String; + /** + * 是否轮廓(如果显示廓线固定宽度为1像素) + */ + outline?: Boolean; + /** + * 轮廓颜色 + */ + outlineColor?: String; + /** + * 每个轮廓环的样本数,确定曲率的粒度 + */ + subdivisions?: number; + /** + * 堆栈数 + */ + stackPartitions?: number; + /** + * 径向切片数 + */ + slicePartitions?: number; + /** + * 是否投射或接收来自每个光源的阴影: 'cast_only' 仅投射阴影; 'disabled' 不会投射或接收阴影; 'enabled' 投射和接收阴影; 'receive_only' 仅接收阴影; + */ + shadows?: String; +} + +/** + * @类型 外部使用类 + * @描述 点几何体绘制对象 + * @see + */ + class FireGraphic extends GraphicPositionItem { + protected _opt: FireGraphicOpt; + /** + * 初始化示例 + * @param option 点几何体构造方法 + * ``` + * 示例代码 + * let point = new GV.PointGraphic({position:new GV.GeoPoint(10,10)}); + * viewer.graphicLayer.add(point); + * ``` + */ + constructor(option: FireGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 开始颜色 + */ + startColor: any; + /** + * 结束颜色 + */ + endColor: any; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 形态 + * item.renderType = GV.FireGraphicEnum.FIRE + */ + renderType: string; +} +/** + * 数据约束及默认值 + */ + class FireGraphicOpt extends GraphicPositionItemOpt { + /** + * 开始颜色 CssColor + */ + startColor?: string; + /** + * 结束颜色 CssColor + */ + endColor?: string; + /** + * 形态 FireGraphicEnum.FIRE / FireGraphicEnum.SMKOE + */ + renderType?: string; +} +/** + * 例子类型 + */ + enum FireGraphicEnum { + /** + * 火焰形态 + */ + FIRE = "fire", + /** + * 烟雾形态 + */ + SMOKE = "smoke" +} + + class FirePrimitive { + private polygonHierarchy; + private modelMatrix; + show: any; + geometry: any; + vertexArray: any; + command: any; + time: any; + shaderProgram: any; + height: any; + constructor(options?: {}); + createVertexArray(context: any): any; + createCommand(context: any): any; + createTexture(context: any, width: any, height: any, source: any, pixelFormat?: number, pixelDatatype?: any): any; + update(frameState: any): void; + isDestroyed(): boolean; + destroy(): void; +} + +/** + * @类型 外部使用类 + * @描述 旗子形状的绘制对象 + * @see 编辑旗帜 + */ + class FlagGraphic extends GraphicItem { + /** + * 标绘参数 + */ + protected _opt: FlagGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let flagGraphic= new GV.FlagGraphic({ + * position: new GV.GeoPoint(0,0,10), + * text: '这是个旗子', + * lineWidth: 3, + * color: '#ff0000' + * }) + * viewer.graphicLayer.add(flagGraphic); + * ``` + */ + constructor(option: FlagGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 位置 + */ + position: any; + /** + * 文字 + */ + text: string; + /** + * 缩放大小 + */ + scale: number; + /** + * 拐点相对锚点像素偏移 + * 第一个值为沿x方向偏移 + * 第二个值为沿y方向偏移 + * ` + * 示例代码 + * flagGraphic.inflectionOffset = [10,10] + * ` + */ + inflectionOffset: Array; + /** + * 旗杆高度 单位像素 + */ + flagpoleHeight: number; + /** + * 线宽 + */ + lineWidth: number; + /** + * 字体大小 + */ + textSize: number; + /** + * 文字颜色 css颜色 + */ + textColor: string; + /** + * 旗面颜色 + */ + fillColor: string; + /** + * 线框颜色 + */ + color: string; + /** + * 获取canvas相关信息 + */ + getCanvasInfo(): any; + /** + * @ignore + */ + readonly clampToGround: boolean; +} + class FlagGraphicOpt extends GraphicItemOpt { + /** + * 位置 lon为经度, lat 为纬度, alt为高度 + * ``` + * 示例代码 + * let position = new GV.GeoPoint(-80.0, 34.0, 0.0) + * ``` + */ + position: GeoPoint; + /** + * 文字内容 + */ + text: string; + /** + * 缩放大小 + */ + scale?: number; + /** + * 拐点相对锚点像素偏移 + * 第一个值为沿x方向偏移 + * 第二个值为沿y方向偏移 + */ + inflectionOffset?: Array; + /** + * 旗杆高度 单位像素 + */ + flagpoleHeight?: number; + /** + * 字体大小 + */ + textSize?: number; + /** + * 文字颜色 css字符串 + */ + textColor?: string; + /** + * 旗面颜色 + */ + fillColor?: string; + /** + * 线框颜色 + */ + color?: string; + /** + * 线宽 + */ + lineWidth?: number; +} + +/** + * @类型 外部使用类 + * @描述 流动墙体的绘制对象 + * @see 流动墙体 + */ + class FlowWallGraphic extends GraphicItem { + /** + * 标绘参数 + */ + protected _opt: FlowWallGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + */ + constructor(option: FlowWallGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 位置数组 + */ + positions: Array; + /** + * 重复次数 + */ + repeat: Cesium.Cartesian2; + /** + * 纹理URL + */ + image: string; + /** + * 速度 + * 说明:范围1-10 + */ + speed: number; + /** + * 流动方向 + */ + flowDir: DirEnum; + /** + * 高度数组 + */ + maximumHeights: any; + /** + * 底部数组 + */ + minimumHeights: any; +} +/** + * 流动墙体参数类 + */ + class FlowWallGraphicOpt { + /** + * 位置数组 + */ + positions: Array; + /** + * 重复次数 + */ + repeat: Cesium.Cartesian2; + /** + * 纹理URL + */ + image: string; + /** + * 速度 + */ + speed: number; + /** + * 流动方向 + */ + flowDir: DirEnum; + /** + * 指定用于墙顶的高度数组,而不是每个位置的高度.[100000, 200000, 100000, 200000, 100000, 200000 ...] + */ + maximumHeights: Array; + /** + * 指定要用于墙的底部而不是地球表面的高度数组.[0, 100000, 0, 100000, 0, 100000, 0,...] + */ + minimumHeights: Array; +} +/** + * 流动方向枚举 + */ + enum DirEnum { + /** + * 垂直 + */ + 'vertical' = 1, + /** + * 水平 + */ + 'horizontal' = 0 +} + +/** + * @类型 外部使用类 + * @描述 渐变扇形 + * @see 渐变扇形 + */ + class GradientSectorGraphic extends GraphicItem { + protected _opt: GradientSectorGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option 渐变扇形 + * ``` + * 示例代码: + * let gradientSectorGraphic=new GV.GradientSectorGraphic(); + * let sector = new GV.GradientSectorGraphic(GradientSectorGraphicOpt); + * viewer.graphicLayer.add(sector); + * ``` + */ + constructor(option: GradientSectorGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * @ignore + * @描述 重写该方法用于屏蔽文档中显示该类的继承方法 + */ + getCenterPosition(): void; + /** + * @ignore + * @描述 重写该方法用于屏蔽文档中显示该类的继承方法 + */ + movePosition(): void; + /** + * 设置扇形顶点位置 + * @param value 扇形顶点位置 + */ + /** + * 获取扇形顶点位置 + * @returns + */ + topPosition: GeoPoint; + /** + * 设置扇形底点位置 + * @param value 扇形底点位置 + */ + /** + * 获取扇形底点位置 + * @returns + */ + bottomPosition: GeoPoint; + /** + * 获取扇形位置,返回底点位置 + * @returns + */ + /** + * 设置扇形位置 + */ + position: GeoPoint; + /** + * 设置扇形开合角度 + * @param value 扇形开合角度 + */ + /** + * 获取扇形开合角度 + * @returns + */ + fov: number; + /** + * 设置颜色 + * @param value 条纹颜色 + */ + /** + * 获取颜色 + * @returns + */ + color: string; + /** + * 获取旋转角度 + * @returns + */ + /** + * 设置旋转角度 + * @param value 旋转角度 + */ + rotation: number; +} +/** + * 数据约束及默认值 + */ + class GradientSectorGraphicOpt extends GraphicItemOpt { + /**顶点位置 */ + topPosition?: GeoPoint; + /**底点位置 */ + bottomPosition?: GeoPoint; + /** + * 开合角度 + */ + fov?: number; + /** + * 颜色 + */ + color?: string; + rotation?: number; +} + +/** + * @类型 外部使用类 + * @描述 绘制数据对象组对象提供了绘制数据对象的组管理 + * @see 示例组 + */ + class GraphicGroup extends Event { + protected _type: string; + private _name; + private _id; + private _itemList; + protected _father: GraphicGroup; + private _visible; + private _extendInfo; + private _renderVisible; + private _root; + private _clusterComputeFun; + private _clusterComputeMoveEndFun; + private _blockCompute; + private graphicClusterGroup; + private clusterWorker; + private _viewer; + private _range; + private _svg; + private _svgMap; + constructor(jsonObj?: any); + /** + * 类型 + */ + static readonly type: string; + /** + * 对象名称不需要修改 + * ``` + * 示例代码 + * item.name = 'itemName' + * ``` + */ + name: string; + readonly id: any; + /** + * 获取父节点 + */ + readonly father: GraphicGroup; + /** + * @注意 内部使用无需外部调用 + * @描述 重新计算渲染显隐值 + */ + updateVisible(): void; + /** + * 设置整组显隐 + */ + visible: boolean; + /** + * 获取整组真实显隐 + */ + readonly renderVisible: any; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: any): void; + /** + * @注意 外部无需调用 + * @描述 在父类执行remove方法添加时被调用 + */ + destroy(): void; + /** + * 清除所有子节点 + */ + clear(): void; + readonly children: Array; + extendInfo: any; + /** + * 添加对象 + * @param item + */ + add(item: GraphicItem | GraphicGroup): GraphicItem | GraphicGroup; + /** + * 根据配置添加图形绘制对象 + * @param jsonObj + */ + addByJson(jsonObj: any): any; + removeById(itemId: string): GraphicItem | GraphicGroup; + /** + * 删除元素 + * @param + */ + remove(removeItem: GraphicItem | GraphicGroup): GraphicItem | GraphicGroup; + /** + * 根据id获得对象 + * @param itemID 对象id + */ + getById(itemID: string): any; + /** + * 根据name获得对象 + * @param itemName 对象名称 + */ + getByName(itemName: string): Array; + /** + * 导出json数据 + */ + toJson(): { + type: string; + id: any; + name: string; + extendInfo: any; + children: any[]; + }; + bindToJson(doc: any[]): void; + /** + * @注意 外部无需调用 + * @描述 解析json方法,在父类根据json对象创建节点时调用 + */ + parseJson(json: any): this; + /** + * @注意 外部无需调用 + * @描述 解析json方法,在父类根据json对象建立节点之间绑定关系时调用 + */ + parseBind(json: any): void; + /** + *通过json添加子数据(V1.1.2暂时不对外暴露此接口) + */ + /** + * 获取graphicLayer + */ + getRoot(): any; + /** + * 开启当前组聚合状态,当前仅聚合同一类型的标绘且仅有 position 的坐标属性 + * @param viewer 当前球视图对象 + * @param range 聚合范围像素 + */ + openCluster(viewer: GeoCanvas, range: number): Promise; + /** + * 关闭聚合状态,所有聚合标绘的初始状态 + * @param viewer 当前球视图对象 + */ + closeCluster(viewer: GeoCanvas): void; + /** + * @ignore + * 初始化聚合算法 + */ + initClusterCompute(viewer: any, range: any): Promise; + /** + * @ignore + * 动态新建 svg 返回 + */ + setClusterSvg(text: any, color: any): string; +} + + class GraphicItem extends Item { + private _renderVisible; + private _father; + protected _getRenderObj: any; + protected _type: any; + protected _opt: any; + protected _event: Event; + protected _isEditing: boolean; + constructor(opt: any); + protected update(): void; + /** + * @param callback 回调函数 + * @描述 为属性更新事件添加回调函数 + * 例如:item.onUpdateAttribute(test) + * @注意 上例 test 为命名函数,也可以添加命名函数 + */ + onUpdateAttribute(callback: any): void; + /** + * @param callback 回调函数 + * @描述 解除属性更新事件添加额回调函数 + * 例如:item.offUpdateAttribute(test) + * 注意:上例 test 为命名函数,将解除 onUpdateAttribute + * 绑定的 test 函数,如果需要解除绑定的匿名函数,callback 为空即可 + */ + offUpdateAttribute(callback: any): void; + protected updateAttribute(propName: any): void; + getRenderObject(): any; + /** + * @注意 内部使用无需外部调用 + * @描述 重新计算渲染显隐值 + */ + updateVisible(): void; + /** + * 对象名称不需要修改 + * ``` + * 示例代码 + * item.name = 'itemName' + * ``` + */ + name: string; + /** + * 对象id为对象的唯一标识(每个对象的id不允许重复); + * 由对象初始化时自动生成 ; + * 对象初始化完成后不允许再次对id进行修改 + * ``` + * 示例代码: + * let id = item.id;//获取对象id + * ``` + */ + readonly id: any; + /** + * 扩展信息用户可以将自己的数据储存到该参数中支持序列化反序列化 + */ + extendInfo: any; + /** + * 显隐控制 + */ + visible: boolean; + /** + * 真实显隐 + */ + readonly renderVisible: boolean; + /** + * 父节点 + */ + readonly father: GraphicGroup; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 判断标绘对象是否贴地 + * @param item + */ + static isClamp(item: GraphicItem): boolean; + /** + * 是否贴地 + */ + readonly clampToGround: boolean; + /** + * 编辑状态控制 + */ + isEditing: boolean; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + bindToJson(doc: any[]): void; + /** + * 解析json对象 + */ + parseJson(option: any): void; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): any; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行remove方法添加时被调用 + */ + destroy(): void; + /** + * 获取对象的编辑器,子类可以重写它来指定自身使用的编辑器。 + * 返回编辑器对象,例如:return new LineEditor(viewer, editorMgr); + */ + getEditor(viewer: Cesium.Viewer, editorMgr: EditorManager): any; + /** + * 获取中心点 + * Bubble 类无效 + */ + getCenterPosition(): any; + /** + * 设置控制点 + * Bubble 类无效 + */ + movePosition(offsetLon?: number, offsetLat?: number, offsetAlt?: number): void; + /** + * 复制图形 + * 返回一个新的图形对象 + */ + clone(): GraphicItem; +} + class GraphicItemOpt { + /** + * 名称 + */ + name?: string; + /** + * 显隐控制 + */ + visible?: boolean; + /** + * 扩展数据信息 + */ + extendInfo?: any; + /** + * 是否是编辑状态 + */ + isEditing?: boolean; +} +/** + * 高度参照 + */ + enum HeightReferenceEnum { + /** + * 完全贴合地面 + */ + ClampToGround, + /** + * 高度与地形无关 + */ + None, + /** + * 真实高度=地形高度+高度值 + */ + RelativeToGround +} + +/** + * 点标绘虚基类,提供点标绘的位置属性及位置绑定属性 + * 子类:PointGraphic、ModelGraphic、BillboardGraphic、BindedCylinderGraphic、CircularGraphic、 + * 子类:CustomLabelGraphic、CylinderGraphic、SphereGraphic、LabelGraphic、LabelRectGraphic、DynamicRippleGraphic、 + * 子类:PopoverGraphic、ScanGraphic、SensorGraphic、DashBoardGraphic、SpreadGraphic、EllipseGraphic、EllipsoidGraphic、 + * 子类:RadarGraphic、SpreadCircleGraphic + */ + class GraphicPositionItem extends GraphicItem { + constructor(opt: any); + /** + * 设置位置 + * @return + * ``` + * 示例代码 + * item.position = new GV.GeoPoint(10,10,10); + * ``` + */ + position: GeoPoint; + /** + * 绑定的点标绘对象 + */ + bindObject: GraphicPositionItem; + bindToJson(doc: any[]): void; +} + class GraphicPositionItemOpt extends GraphicItemOpt { + /** + * 位置 + */ + position: GeoPoint; + /** + * 绑定的点标绘对象 + */ + bindObject?: GraphicPositionItem; +} + + class BaseIconGraphic extends GraphicPositionItem { + entity: any; + protected _opt: IconGraphicOpt; + /** + * 点图标特效基类 + * @param {IconGraphicOpt} options + */ + constructor(options: IconGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 颜色 + * ``` + * circleIcon.color=Cesium.Color.RED; + * ``` + */ + color: string; + /** + * 半径 + */ + radius: number; + /** + * 圈的个数 + * ``` + * //示例 + * iconGraphic.numberOfLines=3; + * ``` + */ + numberOfLines: number; + /** + * 周期,单位:秒 + * ``` + * //示例 + * iconGraphic.duration=3000; + * ``` + */ + duration: number; + /** + * 贴图纹理 + * ``` + * //示例 + * iconGraphic.image='./images/test.png'; + * ``` + */ + image: String; + /** + * 是否贴地 + */ + readonly clampToGround: boolean; +} + class IconGraphicOpt extends GraphicPositionItemOpt { + /** + * 半径 + */ + radius: number; + /** + * 圆圈个数 + */ + numberOfLines: number; + /** + * 颜色 + */ + color: string; + /** + * 周期 + */ + duration: number; + /** + * 纹理贴图 + */ + image: String; + /** + * 发光强度 + */ + gradient: number; +} + +/** + * @类型 外部使用类 + * @描述 圆形点特效 + * @see 点特效 + */ + class CircleIconGraphic extends BaseIconGraphic { + /** + * 构造函数 + * @param {IconGraphicOpt} options 参数 + * ``` + * const circleOpt = new GV.IconGraphicOpt(); + * circleOpt.center = new GV.GeoPoint(lon, lat); + * circleOpt.radius = 1000; + * circleOpt.numberOfLines = 4; + * circleOpt.color = Cesium.Color.AQUA; + * circleOpt.duration = 2000; + * circleOpt.gradient = 16; + * const circleIcon = new GV.CircleIconGraphic(circleOpt); + * viewer.graphicLayer.add(circleIcon); + * ``` + */ + constructor(options: IconGraphicOpt); + getType(): string; + static readonly type: string; +} + +/** + * @类型 外部使用类 + * @描述 警告点特效 + * @see 点特效 + */ + class WarnIconGraphic extends BaseIconGraphic { + _centerColor: string; + /** + * 构造函数 + * @param {IconGraphicOpt} options 参数 + * ``` + * const warnOpt = new GV.IconGraphicOpt(); + * warnOpt.center = new GV.GeoPoint(lon + 0.03, lat); + * warnOpt.radius = 1000; + * warnOpt.numberOfLines = 3; + * warnOpt.color = 'gold'; + * warnOpt.centerColor = 'red'; + * warnOpt.duration = 3000; + * warnOpt.gradient = 6; + * warnOpt.image = '../images/叹号.png' + * const warn = new GV.WarnIconGraphic(warnOpt) + * viewer.graphicLayer.add(warn); + * ``` + */ + constructor(options: IconGraphicOpt); + getType(): string; + static readonly type: string; + /** + * 发光强度 + */ + gradient: number; + /** + * 中心颜色 + */ + centerColor: string; +} + +/** + * @类型 外部使用类 + * @描述 波纹点特效 + * @see 点特效 + */ + class WaveIconGraphic extends BaseIconGraphic { + _gradient: Number; + /** + * 构造函数 + * @param {IconGraphicOpt} options 参数 + * ``` + * const waveOpt = new GV.IconGraphicOpt(); + * waveOpt.center = new GV.GeoPoint(lon + 0.01, lat + 0.02, 0); + * waveOpt.radius = 1000; + * waveOpt.numberOfLines = 3; + * waveOpt.color = Cesium.Color.AQUA; + * waveOpt.duration = 3000; + * waveOpt.gradient = 6; + * waveOpt.image = '../images/叹号.png' + * const wave = new GV.WaveIconGraphic(waveOpt) + * viewer.graphicLayer.add(wave) + * ``` + */ + constructor(options: IconGraphicOpt); + /** + * 发光强度 + */ + gradient: Number; + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; +} + +/** + * @类型 外部使用类 + * @描述 基础线 + * @see 标绘点、线 + */ + class JBLineGraphic extends GraphicItem { + protected _opt: JBLineGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option + * @return + * ``` + * 示例代码: + * let jbLine = new GV.JBLineGraphic({ + * positions:[new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)], //设置坐标 + * }); + * viewer.graphicLayer.add(jbLine); //添加到场景 + * ``` + */ + constructor(option: JBLineGraphicOpt); + /** + * 军标码 + */ + code: string; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 位置 + * ``` + * 示例代码 + * jbLine.positions = [new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)] + * ``` + */ + positions: Array; + /** + * 线宽 + */ + lineWidth: number; + /** + * 是否支持动态点修改(支持模式可能会对效率有点影响与当前加载数据量有关) + */ + dirty: boolean; + /** + * 设置高度 + */ + /** + * 获取高度 + */ + height: number; + /** + * 拉高网格体展示 + */ + /** + * 获取厚度 + */ + supplementFlag: boolean; + /** + * 设置线颜色 + */ + /** + * 获取线颜色 + */ + lineColor: string; + /**********适应之前所修改 begin*/ + /** + * 设置线颜色 + */ + /** + * 获取线颜色 + */ + color: string; + /**********适应之前所修改 end*/ + /** + * 设置渲染模式 + */ + /** + * 获取渲染模式 + */ + renderMode: JBRenderModeEnum; + /** + * 是否填充 + */ + /** + * 是否填充 + */ + fillFlag: boolean; + /** + * 设置起点填充颜色 + */ + /** + * 获取起点填充颜色 + */ + fillStartColor: string; + /** + * 设置终点填充颜色 + */ + /** + * 获取终点填充颜色 + */ + fillEndColor: string; + /** + * 设置渐变偏角 + */ + /** + * 获取渐变偏角 + */ + fillAngle: number; + /** + * 设置拉伸网格体颜色 + */ + /** + * 获取拉伸网格体颜色 + */ + supplementColor: string; + /** + * 当一些特殊情况时,会有点重叠,此时该参数将用于闭合判断, false 为处理一些特殊线不会闭合的情况 + */ + isUnique: boolean; + /** + * @ignore + */ + readonly clampToGround: boolean; +} +/** + * 折线数据约束及默认值 + */ + class JBLineGraphicOpt extends GraphicItemOpt { + /** + * 军标码 + */ + code: string; + /** + * 关键点信息 + */ + positions: Array; + /** + * 线宽度 + */ + lineWidth?: number; + /** + * 线的颜色 + */ + lineColor?: string; + /**注:lineColor与color一致 */ + /**线的颜色 */ + color?: string; + /** + * 是否动态更新(脏检查) + */ + dirty: boolean; + /** + * 距离底面高度 + */ + height: number; + /** + * 拉高网格体展示 + */ + supplementFlag: boolean; + /** + * 绘制形态 'raster'或 'vector' + */ + renderMode: JBRenderModeEnum; + /**是否填充 */ + fillFlag: boolean; + /**起点填充颜色 */ + fillStartColor: string; + /**终点填充颜色 */ + fillEndColor: string; + /**渐变偏角 */ + fillAngle: number; + /**拉伸网格体颜色 */ + supplementColor: string; + /**是否非闭合 */ + isUnique: boolean; +} + +/** + * @类型 外部使用类 + * @描述 军标点 + * @see JB点 + */ + class JBPointGraphic extends GraphicItem { + protected _opt: JBPointGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option + * @return + * ``` + * 示例代码: + * let group = new GV.GraphicGroup(); + * viewer.graphicLayer.add(group); + * let point = new GV.JBPointGraphic({ + * code: '10-200-0',//军标码 + * position:new GV.GeoPoint(i,j,0),//位置点 + * size:0.5,//大小, + * color: '#ffff00' + * }); + * group.add(point); + * ``` + */ + constructor(option: JBPointGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 位置 + * ``` + * 示例代码 + * jbPoint.position = new GV.GeoPoint(0,0,200000); + * ``` + */ + position: GeoPoint; + /** + * 军标码,仅在渲染初始化前修改有效 + */ + code: string; + /** + * 军标线颜色 + */ + color: string; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 旋转 + */ + rotation: number; + /** + * 尺寸 + */ + size: number; + /** + * 描边颜色,默认 #F66 + */ + strokeColor: string; + /** + * 描边宽度,0 为不显示描边,默认:0 + */ + strokeWidth: number; + /** + * 注记位置信息 + */ + renderMode: JBRenderModeEnum; + /** + * 图标偏移量设置 + * ``` + * 示例代码 + * point.imageOffset={'x':50,'y':50} + * ``` + */ + imageOffset: { + x: number; + y: number; + }; + /** + * 注记位置信息 + */ + textOffset: { + x: number; + y: number; + }; + /** + * 注记内容 + */ + text: string; + /** + * 注记字体 + */ + textFont: string; + /** + * 注记颜色 + */ + textColor: string; + /** + * 注记字体大小 + */ + textSize: number; + /** + * 注记背景色 + */ + textBackgroundColor: string; + /** + * 注记缩放 + */ + textScale: number; + /** + * 高度,仅 RASTER 下有效 + */ + height: number; + /** + * 挤压高度 + */ + vectorExtrudedHeight: number; + /** + * 填充 + * @ignore + */ + /** + * @ignore + */ + fillColor: string; + /** + * @ignore + */ + readonly clampToGround: boolean; + /** + * @ignore + */ + pixelOffset: Cesium.Cartesian2; + /** + * 旗标文字(仅旗标有效) + */ + flagText: string; + /** + * 旗标大小(仅旗标有效) + */ + flagTextSize: number; + /** + * 旗标文字间距(仅短字符有效) + */ + flagTextSpace: number; + /** + * 旗标文字格式 + */ + flagTextFont: string; + /** + * 旗标文字颜色(仅旗标有效) + */ + flagTextColor: string; + /** + * 旗标背景颜色(仅旗标有效) + */ + flagTextBgColor: string; + /** + * 是否显示拖线 + */ + trailLineShow: any; + /** + * 拖线的样式,GV.ColorStyle,GV.DashStyle,GV.OutlineStyle + */ + trailLineColor: any; + /** + * 拖线的宽度 + */ + trailLineWidth: any; + /** + * 拖线的宽度 + */ + enableTrailDrag: any; + /** + * 旗标内衬线宽度 + */ + flagInnerStrokeWidth: any; + /** + * 旗标内衬线颜色 + */ + flagInnerStrokeColor: any; +} +/** + * 点标数据约束及默认值 + */ + class JBPointGraphicOpt extends GraphicItemOpt { + /** + * 军标码 + */ + code: string; + /** + * 关键点信息 + */ + position: GeoPoint; + /** + * 填充颜色 + */ + color?: string; + /** + * 大小 + */ + size?: number; + /** + * 旋转 + */ + rotation?: number; + /** + * 是否动态更新(脏检查) + */ + dirty: boolean; + /** + * 描边颜色,默认 #F66 + */ + strokeColor?: string; + /** + * 描边宽度,0 为不显示描边 + */ + strokeWidth?: number; + /** + * 绘制形式 + */ + renderMode?: JBRenderModeEnum; + /** + * 注记位置点 + */ + textOffset?: { + x: number; + y: number; + }; + /** + * 图片位置点 + */ + imageOffset?: { + x: number; + y: number; + }; + /** + * 注记内容 + */ + text?: string; + /** + * 注记字体 + */ + textFont?: string; + /** + * 注记字体大小 + */ + textSize?: number; + /** + * 注记颜色 + */ + textColor?: string; + /** + * 注记背景颜色 + */ + textBackgroundColor?: string; + /** + * 文字缩放 + */ + textScale?: number; + /** + * 高度,仅 RASTER 有效 + */ + height?: number; + /** + * 挤压高度 + */ + vectorExtrudedHeight?: number; + /** + * 填充色 + * @ignore + */ + fillColor?: string; + /** + * 旗标文字(仅旗标有效) + */ + flagText?: string; + /** + * 旗标大小(仅旗标有效) + */ + flagTextSize?: number; + /** + * 旗标文字间距(短字符有效) + */ + flagTextSpace?: number; + /** + * 旗标文字格式 + */ + flagTextFont?: string; + /** + * 旗标文字颜色(仅旗标有效) + */ + flagTextColor?: string; + /** + * 旗标背景颜色(仅旗标有效) + */ + flagTextBgColor?: string; + /** + * 是否开启拖线(锚点为改参数设置为 true 时的位置) + */ + trailLineShow: boolean; + /** + * 拖线的颜色 + */ + trailLineColor?: string; + /** + * 拖线的宽度 + */ + trailLineWidth: number; + /** + * 是否开启拖动效果,仅在 trailLineShow 为true时有效 + */ + enableTrailDrag: boolean; + /** + * 旗标内衬线宽度 + */ + flagInnerStrokeWidth: number; + /** + * 旗标内衬线颜色 + */ + flagInnerStrokeColor: string; +} + enum JBRenderModeEnum { + /** + * 矢量模式,当前仅支持 JBLineGraphic + */ + VECTOR = "VECTOR", + /** + * 栅格,当前支持 JBLineGraphic 与 JBPointGraphic + */ + RASTER = "RASTER", + /** + * billboard,当前仅支持 JBPointGraphic + */ + BILLBOARD = "BILLBOARD" +} + +/** + * @类型 外部使用类 + * @描述 图标绘制对象 + * @see 标签 + */ + class LabelBillboardGraphic extends GraphicItem { + /** + * 标绘参数 + */ + protected _opt: LabelBillboardGraphicOpt; + /** + * 图标标绘类型 + */ + protected _type: string; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let label = new GV.LabelBillboardGraphic({ + * position: new GV.GeoPoint(-80.0, 34.0, 0.0), + * moveX: 0, + * moveY: -100 + * }); + * viewer.graphicLayer.add(label); + * ``` + */ + constructor(option: LabelBillboardGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 更新画布 + * @param move 文本矩形框中心与锚点位置的相对距离 + */ + updateCanvas(move: any): void; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 位置 + */ + position: any; + /** + * 图片 + */ + /** + * 缩放大小 + */ + scale: any; + /** + * 视角偏移[x,y,z] 空间坐标值 单位为米 + */ + eyeOffset: any; + /** + * 像素偏移 [x,y] x:相对中心点屏幕横向偏移; y:相对中心点屏幕纵向偏移; 单位像素值 + */ + /** + *沿视角方向旋转角度,单位弧度值 + */ + rotation: any; + /** + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + color: any; + scaleByDistance: any; + /** + * 大小是否以米为单位 + */ + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference: any; + /** + * 画布宽度 + */ + canvasWidth: any; + /** + * 画布高度 + */ + /** + * 文本矩形框中心与锚点位置的相对距离X + */ + moveX: any; + /** + * 文本矩形框中心与锚点位置的相对距离Y + */ + moveY: any; + /** + * 文本 + */ + text: any; + /** + * 字体大小 + */ + fontSize: any; + /** + * 行间距 + */ + lineHeight: any; + /** + * 顶部或底部箭头开口左顶点距离中心位置 + */ + topbottomOpenningLeft: any; + /** + * 顶部或底部箭头开口右顶点距离中心位置 + */ + topbottomOpenningRight: any; + /** + * 左部或右部箭头开口上顶点距离中心位置 + */ + leftrightOpenningTop: any; + /** + * 左部或右部箭头开口下顶点距离中心位置 + */ + leftrightOpenningBottom: any; + /** + * 字体颜色 + */ + fontColor: any; + /** + * 显示范围 示例[near, far] 物体在near和far的相机距离之间显示; near和far的单位为米; 实例:[10,100] + */ + distanceDisplayCondition: Array; +} + class LabelBillboardGraphicOpt extends GraphicItemOpt { + /** + * 位置 lon为经度, lat 为纬度, alt + * ``` + * 示例代码 + * let position = new GV.GeoPoint(-80.0, 34.0, 0.0) + * ``` + */ + position: GeoPoint; + /** + * 缩放大小 + */ + scale?: number; + /** + * 视角偏移[x,y,z] 空间坐标值 单位为米 + */ + eyeOffset?: Array; + /** + * 像素偏移 [x,y] x:相对中心点屏幕横向偏移; y:相对中心点屏幕纵向偏移; 单位像素值 + */ + /** + * 沿视角方向旋转角度,单位弧度值 + */ + rotation?: number; + /** + * 颜色'#ff0000' + */ + color?: string; + scaleByDistance?: Array; + /** + * 大小是否以米为单位 + */ + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + /** + * 显示范围 示例[near, far] 物体在near和far的相机距离之间显示; near和far的单位为米; 实例:[10,100] + */ + distanceDisplayCondition?: Array; + /** + * 画布宽度 + */ + canvasWidth?: number; + /** + * 画布高度 + */ + /** + * 文本矩形框中心与锚点位置的相对距离X + */ + moveX?: number; + /** + * 文本矩形框中心与锚点位置的相对距离Y + */ + moveY?: number; + /** + * 文本 + */ + text?: string; + /** + * 字号 + */ + fontSize?: number; + /** + * 字体颜色 + */ + fontColor?: string; + /** + * 行间距 + */ + lineHeight?: number; + /** + * 顶部或底部箭头开口左顶点距离中心位置 + */ + topbottomOpenningLeft?: number; + /** + * 顶部或底部箭头开口右顶点距离中心位置 + */ + topbottomOpenningRight?: number; + /** + * 左部或右部箭头开口上顶点距离中心位置 + */ + leftrightOpenningTop?: number; + /** + * 左部或右部箭头开口下顶点距离中心位置 + */ + leftrightOpenningBottom?: number; +} + +/** + * @类型 外部使用类 + * @描述 文本绘制对象 + * @see 文本 + */ + class LabelGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: LabelGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let labelGraphicOpt = new GV.LabelGraphicOpt(); + * labelGraphicOpt.position = [83, 33, 500000]; + * let labelGraphic = new GV.LabelGraphic(labelGraphicOpt); + * 或者 + * let labelGraphic = new GV.LabelGraphic({...}); + * ``` + */ + constructor(option: LabelGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 文字 + */ + text: any; + /** + * 缩放大小 + */ + scale: any; + /** + * 水平对齐 : 'left' 左对齐; 'center' 居中; 'right' 右对齐; + */ + horizontalOrigin: any; + /** + * 垂直对齐 : 'baseline'基线对齐; 'bottom' 底部对齐; 'center' 中间对齐; 'top' 顶部对齐 + */ + verticalOrigin: any; + /** + * 视角偏移 + */ + eyeOffset: any; + /** + * 像素偏移 + */ + pixelOffset: any; + /** + * 轮廓线宽度 + */ + outlineWidth: any; + /** + * 字体 + */ + font: any; + /** + * 样式 + */ + style: any; + /** + * 填充颜色 + */ + fillColor: any; + /** + * 轮廓颜色 + */ + outlineColor: any; + /** + * 背景颜色 + */ + backgroundColor: any; + /** + * 根据距离计算缩放大小 + */ + scaleByDistance: any; + /** + * 根据距离计算像素偏移 + */ + pixelOffsetScaleByDistance: any; + /** + * 是否显示背景 + */ + showBackground: any; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference: any; + /** + * 根据距离变更透明度 + */ + translucencyByDistance: any; + /** + * 是否深度检测 + */ + isDepthTest: boolean; + /** + * 设置显示范围 示例[near, far] + * label.distanceDisplayCondition = [0,1000000] + */ + distanceDisplayCondition: Array; +} + class LabelGraphicOpt extends GraphicPositionItemOpt { + /** + * 文字内容 + */ + text: String; + /** + * 缩放大小 + */ + scale?: number; + /** + * 水平对齐 : 'left' 左对齐; 'center' 居中; 'right' 右对齐; + */ + horizontalOrigin?: String; + /** + * 垂直对齐 : 'baseline'基线对齐; 'bottom' 底部对齐; 'center' 中间对齐; 'top' 顶部对齐 + */ + verticalOrigin?: String; + /** + * 视角偏移[x,y,z] 空间坐标值 单位为米 + */ + eyeOffset?: Array; + /** + * 像素偏移 [x,y] x:相对中心点屏幕横向偏移; y:相对中心点屏幕纵向偏移; 单位像素值 + */ + pixelOffset?: Array; + /** + * 指定轮廓线宽度 + */ + outlineWidth?: number; + /** + * css字体设置: 字体大小 字体名称 + */ + font?: String; + /** + * 指定文字样式 :'fill' 只有填充,fill_and_outline 包含填充轮廓, outline 只有轮廓 + */ + style?: String; + /** + * 填充颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + fillColor?: String; + /** + * 轮廓颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + outlineColor?: String; + /** + * 背景颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + backgroundColor?: String; + /** + * 根据距离视点范围和放大率范围计算放大倍数 + */ + scaleByDistance?: Array; + /** + * 根据距离视点范围和放大率范围计算像素偏移 + */ + pixelOffsetScaleByDistance?: Array; + /** + * 是否展示背景 + */ + showBackground?: Boolean; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + /** + * 根据距离变更透明度 + */ + translucencyByDistance?: number; + /** + * 是否深度检测 + */ + isDepthTest?: boolean; + /** + * 显示范围 示例[near, far] 物体在near和far的相机距离之间显示; near和far的单位为米; + * 示例代码:labelGraphic.distanceDisplayCondition = [0,5000000] + */ + distanceDisplayCondition?: Array; +} + +/** + * @类型 外部使用类 + * @描述 图标绘制对象 + * @see 标签 + */ + class LabelRectGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: LabelRectGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let labelRect = new GV.LabelRectGraphic({ + * position: new GV.GeoPoint(-80.0, 34.0, 0.0), + * text:"我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本" + * }); + * viewer.graphicLayer.add(labelRect); + * ``` + */ + constructor(option: LabelRectGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 更新画布 + * @param move 文本矩形框中心与锚点位置的相对距离 + */ + updateCanvas(): void; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 缩放大小 + */ + scale: any; + /** + * 视角偏移[x,y,z] 空间坐标值 单位为米 + */ + eyeOffset: any; + /** + *沿视角方向旋转角度,单位弧度值 + */ + rotation: any; + /** + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + color: any; + /** + * 大小是否以米为单位 + */ + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference: any; + /** + * 画布宽度 + */ + canvasWidth: any; + /** + * 文本 + */ + text: any; + /** + * 字体 + */ + font: any; + /** + * 字体大小 + */ + fontSize: any; + /** + * 字体颜色 + */ + fontColor: any; + /** + * 加粗 + */ + bold: any; + /** + * 行间距 + */ + lineHeight: any; + /** + * 显示范围 示例[near, far] 物体在near和far的相机距离之间显示; near和far的单位为米; 实例:[10,100] + */ + distanceDisplayCondition: any; + getEditor(viewer: Cesium.Viewer, editorMgr: EditorManager): PointEditor; +} + class LabelRectGraphicOpt extends GraphicPositionItemOpt { + /** + * 缩放大小 + */ + scale?: number; + /** + * 视角偏移[x,y,z] 空间坐标值 单位为米 + */ + eyeOffset?: Array; + /** + * 像素偏移 [x,y] x:相对中心点屏幕横向偏移; y:相对中心点屏幕纵向偏移; 单位像素值 + */ + /** + * 沿视角方向旋转角度,单位弧度值 + */ + rotation?: number; + /** + * 颜色'#ff0000' + */ + color?: string; + /** + * 大小是否以米为单位 + */ + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + /** + * 显示范围 示例[near, far] 物体在near和far的相机距离之间显示; near和far的单位为米; 实例:[10,100] + */ + distanceDisplayCondition?: Array; + /** + * 画布宽度 + */ + canvasWidth?: number; + /** + * 文本 + */ + text?: string; + /** + * 字体 + */ + font?: string; + /** + * 字号 + */ + fontSize?: number; + /** + * 字体颜色 + */ + fontColor?: string; + /** + * 文字加粗 + */ + bold?: boolean; + /** + * 行间距 + */ + lineHeight?: number; +} + +/** + * @类型 外部使用类 + * @描述 模型绘制对象 + * @see 模型 + */ + class ModelGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: ModelGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let modelGraphicOpt = new GV.ModelGraphicOpt(); + * modelGraphicOpt.position = [83, 33, 500000]; + * let modelGraphic = new GV.ModelGraphic(ModelGraphicOpt); + * 或者 + * let modelGraphic = new GV.ModelGraphic({...}); + * ``` + */ + constructor(option: ModelGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 模型地址路径 + */ + url: any; + /** + * 缩放大小 + */ + scale: any; + /** + * 偏航 + */ + heading: any; + /** + * 俯仰 + */ + pitch: any; + /** + * 翻转 + */ + roll: any; + /** + * 像素大小 + */ + minimumPixelSize: any; + /** + * 缩放上界 + */ + maximumScale: any; + /** + * 动画 + */ + runAnimations: any; + /** + * 最后帧是否静止 + */ + clampAnimations: any; + /** + * 模型轮廓颜色 + */ + silhouetteColor: any; + /** + * 轮廓大小 + */ + silhouetteSize: any; + /** + * 颜色 + */ + color: any; + /** + * 高度按照相对于什么 + */ + heightReference: any; +} +/** + * 模型标绘参数类 + */ + class ModelGraphicOpt extends GraphicPositionItemOpt { + /** + * 模型路径 + */ + url: String; + /** + * 缩放大小 + */ + scale?: number; + /** + * 偏航角围绕负z轴旋转 + */ + heading?: number; + /** + * 俯仰角绕负y轴旋转 + */ + pitch?: number; + /** + * 翻转角绕正x轴旋转 + */ + roll?: number; + /** + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + color?: String; + /** + * 指定模型的近似最小像素大小,与缩放无关 + */ + minimumPixelSize: number; + /** + * 模型的最大比例尺寸。minimumPixelSize的上限 + */ + maximumScale?: number; + /** + * 指定是否应该启动模型中指定的glTF动画。 + */ + runAnimations?: Boolean; + /** + * 指定glTF动画是否应保留最后一个没有关键帧的持续时间姿势 + */ + clampAnimations?: Boolean; + /** + * 模型轮廓颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + silhouetteColor?: String; + /** + * 指定轮廓的大小(以像素为单位)。 + */ + silhouetteSize?: number; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; +} + +/** + * @类型 外部使用类 + * @描述 3dTiles模型规范对象,用此规范对象可对 3dtiles 进行位置、角度的编辑以及序列化保存 + * @see 3Dtiles 模型 + */ + class ObliqueGraphic extends GraphicItem { + /** + * 标绘参数 + */ + protected _opt: ObliqueGraphicOpt; + /** + * 图标标绘类型 + */ + protected _type: string; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let obliqueGraphicOpt = new GV.ObliqueGraphicOpt(); + * obliqueGraphicOpt.url = qxmoUrl; + * let tileset = new GV.ObliqueGraphic(obliqueGraphicOpt); + * 或者 + * let tileset = new GV.ObliqueGraphic({ + * url: qxmoUrl + * ... + * }) + * ``` + */ + constructor(option: ObliqueGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取中心点 + */ + getCenterPosition(): GeoPoint; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 移动位置 + */ + movePosition(offsetLon: any, offsetLat: any, offsetAlt: any): void; + /** + * 3dtiles模型地址路径 + */ + url: any; + /** + * 缩放大小 + */ + scale: any; + /** + * 偏移位置 + */ + offset: any; + /** + * 旋转角度 + */ + rotate: any; + /** + * @ignore + * 颜色 + */ + /** + * @ignore + */ + color: any; + /** + * 是否正在编辑 + */ + isEditing: any; + /** + * @ignore + */ + readonly clampToGround: boolean; +} +/** + * 模型标绘参数类 + */ + class ObliqueGraphicOpt extends GraphicItemOpt { + /** + * 倾斜摄影路径 + */ + url: string; + /** + * @ignore + * 缩放大小 + */ + scale?: number; + /** + * 偏移坐标 [x,y,z] + */ + offset?: Array; + /** + * 旋转角度 [x,y,z] 轴 + */ + rotate?: Array; + /** + * @ignore + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)',空则默认颜色 + */ + color?: string; + /** + * 是否正在编辑 + */ + isEditing?: boolean; +} + +/** + * @类型 外部使用类 + * @描述 抛物线 + * @see 动态线 + */ + class ParabolaLineGraphic extends GraphicItem { + protected _opt: ParabolaLineGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option + * ``` + * 示例代码: + * let parabolaLine = new GV.ParabolaLineGraphic({ + * positions:[new GV.GeoPoint(80,10,20000), new GV.GeoPoint(110,0,200000)], + * lineStyle: new GV.DynamicStyle({ + * color: '#00FF99', + * icon: GV.DynamicIconEnum.Arrow, + * duration:1000 + * }), + * width:5, //线宽 + * factor: 50000, + * step: 50 + * }); + * graphicLayer.add(parabolaLine) + * ``` + */ + constructor(option: ParabolaLineGraphic); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取最大控制点数量(编辑中的PolylineCreator使用,为无限大时可以省略) + */ + getMaxCtrlPosNum(): number; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 位置(只有前两个点位有效) + * ``` + * 示例代码 + * parabolaLine.positions = [new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)] + * ``` + */ + positions: any; + readonly interpolation: boolean; + /** + * 线宽 (单位:像素) (范围: >0 && <100) + * ``` + * 示例代码 + * parabolaLine.width = 10 + * ``` + */ + width: number; + /** + * 曲率(曲线的高度)(单位:米)(范围: >0 && <10000000) + * ``` + * 示例代码 + * parabolaLine.factor = 50000 + * ``` + */ + factor: number; + /** + * 点集数,抛物线细分插值数 (范围:>0 && <1000) + * ``` + * parabolaLine.step = 50 + * ``` + */ + step: number; + readonly clampToGround: boolean; + /** + * 是否支持动态点修改(支持模式可能会对效率有点影响与当前加载数据量有关) + */ + dirty: boolean; + /** + * 线条样式 + * 线条支持测样式参考 + * @return + * ``` + * 示例代码: + * parabolaLine.lineStyle = new GV.DynamicStyle({//设置动态样式 + * color: '#ffff00', //颜色 + * icon: GV.DynamicIconEnum.Attack, //样式图表 + * duration:800 //周期 + * }) + * ``` + */ + lineStyle: ColorStyle | ArrowStyle | OutlineStyle | DashStyle | GlowStyle | DynamicStyle; + color: string; + /** + * @注意 程序内部调用 + * + * 获取插值回调函数 + * @param value + */ + getInterpolationCallback(value: any): any[]; +} +/** + * 抛物线数据约束及默认值 + */ + class ParabolaLineGraphicOpt extends GraphicItemOpt { + /** + * 线条样式 + * 线条支持测样式参考 + */ + lineStyle?: ColorStyle | ArrowStyle | OutlineStyle | DashStyle | GlowStyle | DynamicStyle; + /** + * 曲率 + */ + factor?: number; + /** + * 点集数量 + */ + step?: number; + /** + * 抛物线坐标前两位有效 + */ + positions?: Array; + /** + * 线宽 + */ + width?: number; + /** + * 是否动态更新(脏检查) + */ + dirty: boolean; + /** + * 是否贴地 + */ + clampToGround?: boolean; + /** + * 是否内部插值,true为只接受两个控制点 ,内部插值 ,否则不插值,可接受多控制点 + */ + interpolation?: boolean; +} + + class PipelineBaseGraphic extends GraphicItem { + protected _opt: PipelineBaseGraphicOpt; + protected _rectangle: Cesium.Rectangle; + constructor(option: PipelineBaseGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + PipeType(): PipeType; + getCenterLine(): any; + /** + * 更新绘制 + */ + updateRender(): void; + /** + * 地理外包矩形(注意:为方便计算,经纬度为角度值,而非弧度) + */ + readonly bounding: Cesium.Rectangle; + image: any; + color: any; + showOutline: any; + outlineColor: any; + /** + * 更新自身的外包矩形 + * @param geoPoints 顶点坐标 + */ + protected updateBounding(geoPoints: Array): void; +} + class PipelineBaseGraphicOpt extends GraphicItemOpt { + /** + * 纹理贴图 + */ + image?: string; + /** + * 管道颜色(后续考虑使用纹理) + */ + color?: string; + /** + * 显示轮廓线 + */ + showOutline?: boolean; + /** + * 轮廓线颜色 + */ + outlineColor?: string; +} + enum PipeType { + PipeBase = 1, + PipelineStripGraphic = 2, + PipelineTurnGraphic = 3, + PipeTurnTwoGraphic = 4, + PipeTurnThreeGraphic = 5, + PipelineGraphic = 100 +} + +/** + * @类型 外部使用类 + * @描述 管道线 + * @see 标绘管道线 + */ + class PipelineGraphic extends PipelineBaseGraphic { + protected _opt: PipelineGraphicOpt; + protected _renderPara: { + lineSeg: Array; + cornerSeg: Array; + centerPts: Array; + }; + protected _type: string; + /** + * 初始化示例 + * @param option + * @return + * ``` + * 示例代码: + * let polyline = new GV.PipelineGraphic({ + * positions:[new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)], //设置坐标 + * radius: 10 //管道半径 + * }); + * viewer.graphicLayer.add(polyline); //添加到场景 + * ``` + */ + constructor(option: PipelineGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + PipeType(): PipeType; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 位置 + * ``` + * 示例代码 + * polyline.positions = [new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)] + * ``` + */ + positions: Array; + radius: any; + shape: any; + /** + * 将连续线拆分成两个部分:直线段部分(pts)和拐点段部分(corners) + * @param cornerRadius 拐弯处的圆角半径(默认为管道直径) + */ + protected updateRenderPara(cornerRadius?: number): void; + /** + * 获取渲染所需参数 + * 返回object对象: + * { + * lineSeg:Array, //直线段部分顶点 + * cornerSeg:Array, //拐弯部分顶点 + * centerPts:Array //中心线顶点 + * } + */ + getRenderPara(): { + lineSeg: Cesium.Cartesian3[]; + cornerSeg: object[]; + centerPts: Cesium.Cartesian3[]; + }; + getCenterLine(): any[]; +} + enum SectionShape { + Circle = "circle", + Rect = "rect", + RoundRect = "roundRect" +} + class PipelineGraphicOpt extends PipelineBaseGraphicOpt { + /** + * 关键点信息 + */ + positions: Array; + /** + * 管道半径 + */ + radius: number; + /** + * 截面形状 + */ + shape: SectionShape; +} + + class PipelineStripGraphic extends PipelineBaseGraphic { + private _headTopoNode; + private _tailTopoNode; + protected _opt: PipelineGraphicOpt; + protected _renderPara: { + geos: Array; + pts: Array; + types: Array; + }; + protected _type: string; + /** + * 初始化示例 + * @param option + * @return + * ``` + * 示例代码: + * let polyline = new GV.PipelineStripGraphic({ + * positions:[new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)], //设置坐标 + * radius: 10 //管道半径 + * }); + * viewer.graphicLayer.add(polyline); //添加到场景 + * ``` + */ + constructor(option: PipelineGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + PipeType(): PipeType; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 位置 + * ``` + * 示例代码 + * polyline.positions = [new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)] + * ``` + */ + positions: Array; + radius: any; + shape: any; + /** + * 头部拓扑节点 + */ + headTopoNode: any; + /** + * 尾部拓扑节点 + */ + tailTopoNode: any; + /** + * 将连续线拆分成两个部分:直线段部分(pts)和拐点段部分(corners) + * @param cornerRadius 拐弯处的圆角半径(默认为管道直径) + */ + private updateRenderPara; + /** + * 获取不受拓扑绘制影响的原始顶点 + */ + getPositions(): any[]; + /** + * 获取渲染所需参数,即中心线参数 + * { + * geos:Array, //中心线地理坐标 + * pts:Array, //中心线世界坐标 + * types:Array //中心线类型(true表示直线段;false表示曲线段) + * } + */ + getRenderParas(): { + geos: GeoPoint[]; + pts: Cesium.Cartesian3[]; + types: boolean[]; + }; + getCenterLine(): any[]; + updateRender(): void; +} + + class PipelineTurnGraphic extends PipelineBaseGraphic { + protected _opt: PipelineTurnGraphicOpt; + constructor(option: PipelineTurnGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + PipeType(): PipeType; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + position: GeoPoint; + center: GeoPoint; + radius: any; + shape: any; + directions: Array; + protected updateRenderPara(cornerRadius?: number): void; +} + class PipelineTurnGraphicOpt extends PipelineBaseGraphicOpt { + /** + * 拐弯中心点 + */ + center: GeoPoint; + /** + * 管道半径 + */ + radius: number; + /** + * 截面形状 + */ + shape: SectionShape; + /** + * 各方向线段终点,指的是存在于PipelineStripGraphic中的线段顶点 + */ + directions: Array; +} + + class PipeTurnThreeGraphic extends PipelineTurnGraphic { + protected _opt: PipelineTurnGraphicOpt; + /** + * index:PipelineStripGraphic对象在列表中的索引 + * angle:与下一段相邻线的夹角(经纬网夹角,非准确夹角) + * pt:线段终点 + * centerPts:插值后的完整中心线 + * centerTypes:线段类型(true表示直线段;false表示曲线段),长度(线段数)比centerPts(顶点数)少1 + */ + protected _turnArray: Array<{ + index: number; + angle: number; + pt: GeoPoint; + centerPts: Array; + centerTypes: Array; + }>; + constructor(option: PipelineTurnGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + PipeType(): PipeType; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + protected updateRenderPara(cornerRadius?: number): void; + /** + * 获取渲染所需参数,即弯曲线参数数组 + * 返回object{index: number, angle:number, pt:GeoPoint, centerPts:Array, centerTypes: Array对象的数组 + * 每个object对象包含了某条线段与其逆时针方向的相邻线段的拐弯参数,具体参数含义如下: + * index:当前线段载体(PipelineStripGraphic对象)在列表中的索引 + * angle:与相邻线的夹角(经纬网夹角,非准确夹角) + * pt:当前线段的终点 + * centerPts:插值后的完整中心线 + * centerTypes:线段类型(true表示直线段;false表示曲线段),长度(线段数)比centerPts(顶点数)少1 + */ + getTurnArray(): { + index: number; + angle: number; + pt: GeoPoint; + centerPts: Cesium.Cartesian3[]; + centerTypes: boolean[]; + }[]; +} + + class PipeTurnTwoGraphic extends PipelineTurnGraphic { + protected _opt: PipelineTurnGraphicOpt; + protected _centerPts: Array; + constructor(option: PipelineTurnGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + PipeType(): PipeType; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + protected updateRenderPara(cornerRadius?: number): void; + /** + * 获取渲染所需参数,即中心线 + */ + getCenterPts(): Cesium.Cartesian3[]; +} + +/** + * @类型 外部使用类 + * @描述 点几何体绘制对象 + * @see + */ + class PointGraphic extends GraphicPositionItem { + protected _opt: PointGraphicOpt; + /** + * 初始化示例 + * @param option 点几何体构造方法 + * ``` + * 示例代码 + * let point = new GV.PointGraphic({position:new GV.GeoPoint(10,10)}); + * viewer.graphicLayer.add(point); + * ``` + */ + constructor(option: PointGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 大小(单位:像素) (范围: >0 && <100) + */ + pixelSize: number; + /** + * 颜色 + */ + color: any; + /** + * 外边框颜色 + */ + outlineColor: any; + /** + * 外边框宽度 + */ + outlineWidth: any; + /** + * 高度按照相对于什么 + */ + heightReference: any; + /** + * 根据距离计算缩放大小 + */ + scaleByDistance: any; + /** + * 是否深度检测 + */ + isDepthTest: boolean; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; +} +/** + * 数据约束及默认值 + */ + class PointGraphicOpt extends GraphicPositionItemOpt { + /** + * 点的大小, (单位:像素) (范围: >0 && <500) + */ + pixelSize?: number; + /** + * 颜色 CssColor + */ + color?: string; + /** + * 外边框颜色宽度,(单位:像素) (范围: >0 && <500) + */ + outlineWidth?: number; + /** + * 外边框颜色 CssColor + */ + outlineColor?: string; + /** + * 根据距离视点范围和放大率范围计算放大倍数 + */ + scaleByDistance?: Array; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: string; + /** + * 是否深度检测 + */ + isDepthTest?: boolean; +} + +/** + * @类型 外部使用类 + * @描述 基础面 + * @see 基础面 + */ + class PolygonGraphic extends GraphicItem { + protected _opt: PolygonGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option + * @return + * ``` + * 示例代码: + * let polygon = new GV.PolygonGraphic({ + * positions:[new GV.GeoPoint(0,10), new GV.GeoPoint(0,20),new GV.GeoPoint(10,20),new GV.GeoPoint(10,0)] //设置坐标 + * holes:[[GV.GeoPoint(3,13), GV.GeoPoint(7,13), GV.GeoPoint(5,18)]] //带一个洞 + * }); + * viewer.graphicLayer.add(polygon); //添加到场景 + * ``` + */ + constructor(option: PolygonGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取最少控制点数量(编辑中的PolylineCreator使用,为2时可以省略) + */ + getMinCtrlPosNum(): number; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 位置 + */ + positions: any; + holes: any; + /** + * 相对于椭球面的高度(clampToGround为true时无效) + */ + height: any; + /** + * 挤压面相对于椭球面的高度(clampToGround为true时无效) + */ + extrudedHeight: any; + /** + * 是否使用提供的材质填充多边形 + */ + fill: any; + /** + * 填充色 + */ + color: any; + /** + * 多边形是否有边框 + */ + outline: any; + /** + * 边框色 + */ + outlineColor: any; + /** + * 轮廓宽度 + */ + outlineWidth: any; + /** + * @只读 只有初始化是可以设置该属性(clampToGround为true时无效) + * @描述 指定是否使用每个点的高度,一般需要把 extrudedHeight 参数设置为0 + * ``` + * 参考示例 + * let polygon = new GV.PolygonGraphic({ + * positions:[new GV.GeoPoint(0,10,5000), new GV.GeoPoint(0,20,200000),new GV.GeoPoint(10,20,300000),new GV.GeoPoint(10,0,200000)], //设置坐标 + * extrudedHeight : 0, + * perPositionHeight : true + * }); + * viewer.graphicLayer.add(polygon); //添加到场景 + * ``` + */ + readonly perPositionHeight: boolean; + /** + * 挤压时打开顶部(clampToGround为true时无效) + * ``` + * 示例代码 + * let polygon = new GV.PolygonGraphic({ + * positions:[new GV.GeoPoint(0,10, 100000), new GV.GeoPoint(0,20, 100000),new GV.GeoPoint(10,20, 100000),new GV.GeoPoint(10,0, 100000)], //设置坐标 + * clampToGround : false, + * extrudedHeight : 500000.0, + * closeTop : false, + * closeBottom : false + * }); + * viewer.graphicLayer.add(polygon); //添加到场景 + * ``` + */ + closeTop: any; + /** + * 挤压时打开底部(clampToGround为true时无效) + */ + closeBottom: any; + /** + * 是否贴地注意在贴地模式下 + * height、extrudedHeight、perPositionHeight、closeTop、closeBottom参数无效 + */ + clampToGround: boolean; + /** + * 是否支持动态点修改(支持模式可能会对效率有点影响与当前加载数据量有关) + */ + dirty: boolean; + movePosition(offsetLon?: number, offsetLat?: number, offsetAlt?: number): void; + /** + * 设置材质为影像播放,需要有 video 承载的 dom 元素 + */ + videoElement: HTMLVideoElement; + /** + * 设置材质为影像播放,需要有 video 承载的 dom 元素 + */ + stRotation: number; + /** + * video 是否绑定 viewer clock 时钟 + */ + bindClock: boolean; + /** + * 材质方向重复 [x,y] x 方向重复数,y方向重复数 + */ + repeat: Array; +} +/** + * 多边形面数据约束及默认值 + */ + class PolygonGraphicOpt extends GraphicItemOpt { + clampToGround?: boolean; + /** + * 多边形顶点 + */ + positions: Array; + /** + * 带洞多边形的洞形顶点数组,数组长度表示带洞的个数 + */ + holes?: Array>; + /** + * 高度 + */ + height?: number; + /** + * 多边形的凸出面相对于椭球面的高度 + */ + extrudedHeight?: number; + /** + * 是否填充 + */ + fill?: boolean; + /** + * 填充色 + */ + color?: string; + /** + * 是否有外边框 + */ + outline?: boolean; + /** + * 外边框颜色 + */ + outlineColor?: string; + /** + * 外边框线宽度 + */ + outlineWidth?: number; + /** + * 是否使用每个位置的高度 + */ + perPositionHeight?: boolean; + /** + * 是否关闭多边形顶部 + */ + closeTop?: boolean; + /** + * 是否关闭多边形底部 + */ + closeBottom?: boolean; + /** + * 是否动态更新(脏检查) + */ + dirty?: boolean; + /** + * 影像dom + */ + videoElement?: HTMLVideoElement; + /** + * 材质方向,以正北方向开始计算,单位度数 + */ + stRotation?: number; + /** + * 是否绑定时钟 + */ + bindClock?: boolean; + /** + * 视频块重复 [x,y] x 方向重复,y方向重复 + */ + repeat?: Array; +} + +/** + * @类型 外部使用类 + * @描述 基础线 + * @see 标绘点、线 + */ + class PolylineGraphic extends GraphicItem { + protected _opt: PolylineGraphicOpt; + protected _type: string; + private _interpolationCallback; + /** + * 初始化示例 + * @param option + * @return + * ``` + * 示例代码: + * let polyline = new GV.PolylineGraphic({ + * positions:[new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)], //设置坐标 + * lineStyle: new GV.ColorStyle({color: '#ffff00'}), //设置颜色 + * width: 3, //设置宽度 + * clampToGround: true //设置贴地 + * }); + * viewer.graphicLayer.add(polyline); //添加到场景 + * ``` + */ + constructor(option: PolylineGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 位置 + * ``` + * 示例代码 + * polyline.positions = [new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)] + * ``` + */ + positions: Array; + /** + * 弧线类型 + * ``` + * 示例代码 + * polyline.arcType = GV.ArcTypeEnum.Geodesic + * ``` + */ + arcType: ArcTypeEnum; + /** + * 是否贴地(注意当弧线类型参数为GV.ArcTypeEnum.None时贴地无效) + * ``` + * 示例代码 + * polyline.clampToGround = true; + * ``` + */ + clampToGround: boolean; + /** + * 线宽 (单位:像素) (范围: >0 && <100) + * ``` + * 示例代码 + * polyline.width = 10 + * ``` + */ + width: number; + /** + * 是否支持动态点修改(支持模式可能会对效率有点影响与当前加载数据量有关) + */ + dirty: boolean; + /** + * 线条样式 + * 线条支持测样式参考 + * @return + * ``` + * 示例代码: + * polyline.lineStyle = new GV.DynamicStyle({//设置动态样式 + * color: '#ffff00', //颜色 + * icon: GV.DynamicIconEnum.Attack, //样式图表 + * duration:800 //周期 + * }) + * ``` + */ + lineStyle: ColorStyle | ArrowStyle | OutlineStyle | DashStyle | GlowStyle | DynamicStyle | TextureStyle; + color: string; + /** + * 设置插值回调函数 + * @param callback + * @return + * ``` + * 代码示例 + * polyline.setInterpolationCallback((value)=>{ + * return Calculate.getBezier(value) //根据当前点数据value生成贝塞尔点数据 + * }) + * ``` + */ + setInterpolationCallback(callback: any): void; + /** + * 获取插值回调函数(程序内部调用) + * @param value + */ + getInterpolationCallback(value: Array): Array | Array; +} +/** + * 折线数据约束及默认值 + */ + class PolylineGraphicOpt extends GraphicItemOpt { + /** + * 线条样式 + * 线条支持测样式参考 + */ + lineStyle: ColorStyle | ArrowStyle | OutlineStyle | DashStyle | GlowStyle | DynamicStyle | TextureStyle; + /** + * 关键点信息 + */ + positions: Array; + /** + * 弧线类型 + */ + arcType?: ArcTypeEnum; + /** + * 是否贴地 + */ + clampToGround?: boolean; + /** + * 线型宽度 + */ + width: number; + /** + * 是否动态更新(脏检查) + */ + dirty: boolean; +} + enum ArcTypeEnum { + /** + * 测地线 + */ + Geodesic, + /** + * 空(该模式下的线为纯直线) + */ + None, + /** + * 恒向线 + */ + Rhumb +} + +/** + * @类型 外部使用类 + * @描述 气泡标签绘制对象 + * @see 气泡标签 + */ + class PopoverGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: PopoverGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let popoverGraphic = new GV.PopoverGraphic({ + * position: new GV.GeoPoint(-75.59777, 40.03883, 100), + * text: "中科星图中科星图中科星图中科星图中科星图中科星图中科星图中科星图", + * shapeType: "pebbles", + * scale: 1.0,// 0.5 + * horizontalOrigin: 'left', + * verticalOrigin: 'bottom', + * textTopMargin:'20px', + * textRightMargin:'31px', + * textLeftMargin:'31px' + * }); + * ``` + */ + constructor(option: PopoverGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取渲染对象 + */ + getRenderObject(): any; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 更新标签 注:在创建完成标签后,如果需要更改属性需要手动调用该方法 + */ + updatePopoverCanvas(): void; + /** + * 底图形状 + */ + shapeType: any; + /** + * 线颜色 + */ + lineColor: any; + /** + * 线宽 + */ + lineWidth: any; + /** + * 线型 + */ + lineType: any; + /** + * 文本 + */ + text: any; + /** + * 是否填充 + */ + enableFill: any; + /** + * 填充色 + */ + fillColor: any; + /** + * 标签字体 + */ + labelFont: any; + /** + * 左部留空 + */ + textLeftMargin: any; + /** + * 右部留空 + */ + textRightMargin: any; + /** + * 顶部留空 + */ + textTopMargin: any; + /** + * 底部留空 + */ + textBottomMargin: any; + /** + * 文本对齐方式 + */ + textAlign: any; + /** + * 标签字体颜色 red 红色 black 黑色 注:HTML style 颜色属性 + */ + labelFontColor: any; + /** + * 标签字体大小 + */ + labelFontSize: any; + /** + * 缩放大小 + */ + scale: any; + /** + * 水平对齐方式: 'left' 左对齐; 'center' 居中; 'right' 右对齐; + */ + horizontalOrigin: any; + /** + * 垂直对齐方式 : 'baseline'基线对齐; 'bottom' 底部对齐; 'center' 中间对齐; 'top' 顶部对齐 + */ + verticalOrigin: any; + /** + * 视角偏移[x,y,z] 空间坐标值 单位为米 + */ + eyeOffset: any; + /** + * 像素偏移 [x,y] x:相对中心点屏幕横向偏移; y:相对中心点屏幕纵向偏移; 单位像素值 + */ + pixelOffset: any; + /** + *沿视角方向旋转角度,单位弧度值 + */ + rotation: any; + /** + * 宽度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + width: any; + /** + * 高度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + height: any; + /** + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + color: any; + /** + * 大小是否以米为单位 + */ + sizeInMeters: any; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference: any; +} + class PopoverGraphicOpt extends GraphicPositionItemOpt { + /** + * 缩放大小 + */ + scale?: number; + /** + * 水平对齐 : 'left' 左对齐; 'center' 居中; 'right' 右对齐; + */ + horizontalOrigin?: String; + /** + * 垂直对齐 : 'baseline'基线对齐; 'bottom' 底部对齐; 'center' 中间对齐; 'top' 顶部对齐 + */ + verticalOrigin?: String; + /** + * 视角偏移[x,y,z] 空间坐标值 单位为米 + */ + eyeOffset?: Array; + /** + * 像素偏移 [x,y] x:相对中心点屏幕横向偏移; y:相对中心点屏幕纵向偏移; 单位像素值 + */ + pixelOffset?: Array; + /** + * 沿视角方向旋转角度,单位弧度值 + */ + rotation?: number; + /** + * 宽度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + width: number; + /** + * 高度: 默认以像素为单位,当sizeInMeters参数为true是单位为米; 最小值大于0 + */ + height: number; + /** + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + color?: String; + /** + * 大小是否以米为单位 + */ + sizeInMeters?: Boolean; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + /** + * 底图类型 pebbles 鹅卵石风格 pebblesrect 鹅卵石方形风格 roundedrectangle 圆角矩形风格 ellipse 椭圆风格 + */ + shapeType?: String; + /** + * 线颜色 + */ + lineColor?: String; + /** + * 线宽 + */ + lineWidth?: String; + /** + * 线型 line 直线 point 点 dottedLine 虚线 dottedAndPointLine 虚线加点 + */ + lineType?: String; + /** + * 是否填充 + */ + enableFill?: boolean; + /** + * 填充色 + */ + fillColor?: String; + /** + * 标签内容 + */ + text?: String; + /** + * 标签字体 Microsoft YaHei 微软雅黑 NSimSun 新宋体 KaiTi 楷体 等 + */ + labelFont?: String; + /** + * 标签字体颜色 red 红色 black 黑色 注:HTML style 颜色属性 + */ + labelFontColor?: String; + /** + * 标签字体大小 + */ + labelFontSize?: String; + /** + * 左部留空 + */ + textLeftMargin?: String; + /** + * 右部留空 + */ + textRightMargin?: String; + /** + * 顶部留空 + */ + textTopMargin?: String; + /** + * 底部留空 + */ + textBottomMargin?: String; + /** + * 文本对齐方式 center left right + */ + textAlign?: String; +} + +/** + * @类型 外部使用类 + * @描述 雷达扫描波 + * @see 雷达扫描波 + */ + class RadarGraphic extends GraphicPositionItem { + /** + * 初始化示例 + * @param option 雷达扫描波 + * ``` + * 示例代码: + * let opt = new GV.RadarGraphicOpt(); + * opt.position = new GV.GeoPoint(114, 32); + * let obj1 = new GV.RadarGraphic(opt); + * viewer.graphicLayer.add(obj1); + * + * ``` + */ + constructor(option: RadarGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 设置外部颜色 + * @param value 外部颜色 + */ + /** + * 获取外部颜色 + * @returns + */ + outerColor: string; + /** + * 设置外部透明度 + * @param value 外部透明度 + */ + /** + * 获取外部透明度 + * @returns + */ + outerAlpha: number; + /** + * 设置内锥颜色 + * @param value 内锥颜色 + */ + /** + * 获取内锥颜色 + * @returns + */ + innerColor: string; + /** + * 设置内锥透明度 + * @param value 内锥透明度 + */ + /** + * 获取内锥透明度 + * @returns + */ + innerAlhpa: number; + /** + * 设置线条颜色 + * @param value 线条颜色 + */ + /** + * 获取线条颜色 + * @returns + */ + lineColor: string; + /** + * 设置水平起始角度,取值范围小于endAngle - scanAngle - 1 + * @param value 水平起始角度 + */ + /** + * 获取水平起始角度 + * @returns + */ + startAngle: number; + /** + * 设置水平终止角,取值范围大于startAngle + scanAngle + 1 + * @param value 水平终止角 + */ + /** + * 获取水平终止角 + * @returns + */ + endAngle: number; + /** + * 设置垂直起始角,取值范围小于垂直终止角 + * @param value 垂直起始角 + */ + /** + * 获取垂直起始角 + * @returns + */ + vStartAngle: number; + /** + * 设置垂直终止角,取值范围大于垂直起始角 + * @param value 垂直终止角 + */ + /** + * 获取垂直终止角 + * @returns + */ + vEndAngle: number; + /** + * 设置扫面半径,单位米 + * @param value 扫面半径 + */ + /** + * 获取扫面半径 + * @returns + */ + radius: number; + /** + * 设置扫描角度,取值范围必须小于endAngle - startAngle - 1 + * @param value 扫描角度 + */ + /** + * 获取扫描角度 + * @returns + */ + scanAngle: number; + /** + * 设置扫描颜色 + * @param value 扫描颜色 + */ + /** + * 获取扫描颜色 + * @returns + */ + scanColor: string; + /** + * 是否往复扫描 + * @param value 标志位 + */ + /** + * 获取标志位 + * @returns + */ + scanReserve: boolean; + /** + * 设置扫描速度,单位:度/秒 + * @param value 扫描速度 + */ + /** + * 获取扫描速度 + * @returns + */ + scanSpeed: number; + /** + * 是否显示扫描 + * @param value 是否显示 + */ + /** + * 获取扫描显隐 + * @returns + */ + showScan: boolean; + /** + * 是否显示轮廓线 + * @param value 是否显示 + */ + /** + * 获取外轮廓线显隐 + * @returns + */ + showLine: boolean; + /** + * 是否显示外轮廓 + * @param value 是否显示 + */ + /** + * 获取外轮廓显隐 + * @returns + */ + showTriangle: boolean; + readonly fillScan: any; +} +/** + * 数据约束及默认值 + */ + class RadarGraphicOpt extends GraphicPositionItemOpt { + /** + * 外部颜色 + */ + outerColor?: string; + /** + * 外部透明度 + */ + outerAlpha?: number; + /** + * 内锥颜色 + */ + innerColor?: string; + /** + * 内锥透明度 + */ + innerAlhpa?: number; + /** + * 水平起始角度 + */ + startAngle?: number; + /** + * 水平终止角 + */ + endAngle?: number; + /** + * 垂直起始角 + */ + vStartAngle?: number; + /** + * 垂直终止角 + */ + vEndAngle?: number; + /** + * 扫面半径,单位米 + */ + radius?: number; + /** + * 扫描角度 + */ + scanAngle?: number; + /** + * 扫描颜色 + */ + scanColor?: string; + /** + * 往复扫描 + */ + scanReserve?: boolean; + /** + * 扫描速度,一秒转多少度,越大转越快 + */ + scanSpeed?: number; + /** + * 是否显示扫描 + */ + showScan?: boolean; + /** + * 线条颜色 + */ + lineColor?: string; + /** + * 是否显示外轮廓线 + */ + showLine?: boolean; + /** + * 是否显示外轮廓 + */ + showTriangle?: boolean; + /** + * 是否填充扫描 + */ + fillScan?: boolean; +} + +/** + * @类型 外部使用类 + * @描述 矩形几何体 + * @see 矩形 + */ + class RectangleGraphic extends GraphicItem { + /** + * 标绘参数 + */ + protected _opt: RectangleGraphicOpt; + /** + * 图标标绘类型 + */ + protected _type: string; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let rectangleGraphic = new GV.RectangleGraphic({...}); + * ``` + */ + constructor(option: RectangleGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 区域坐标 + */ + coordinates: any; + /** + * 区域坐标 + */ + positions: any; + /** + * 高度 + */ + height: any; + /** + * 矩形相对于椭球面的高度 + */ + heightReference: any; + /** + * 挤压面相对于椭球面的高度 + */ + extrudedHeight: any; + /** + * 挤压面的相对参考:'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + extrudedHeightReference: any; + /** + * 是否填充 + */ + fill: any; + /** + * 颜色 + */ + color: any; + image: any; + readonly transparent: Boolean; + /** + * 是否显示轮廓 + */ + outline: any; + /** + * 颜色 + */ + outlineColor: any; + /** + * 是否投射或接收来自每个光源的阴影: 'cast_only' 仅投射阴影; 'disabled' 不会投射或接收阴影; 'enabled' 投射和接收阴影; 'receive_only' 仅接收阴影; + */ + shadows: any; + movePosition(offsetLon?: number, offsetLat?: number, offsetAlt?: number): void; +} +/** + * 数据约束及默认值 + */ + class RectangleGraphicOpt extends GraphicItemOpt { + /** + * 二维区域坐标 示例[west, south, east, north] west为最西经度, south 为最南纬度, east为最东经度, north为最北纬度;(即将废弃此接口) + */ + coordinates: Array; + /** + * 二维区域对角坐标点 + */ + positions: Array; + /** + * 高度: 默认以像素为单位 + */ + height?: number; + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + /** + * 矩形的挤压面相对于椭球面的高度 + */ + extrudedHeight?: number; + /** + * extrudedHeight的相对参考:'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + extrudedHeightReference?: String; + /** + * 是否填充提供的材质 + */ + fill?: Boolean; + /** + * 填充颜色 + */ + color?: String; + /** + * 填充图片 + */ + image?: String; + /** + * 图片是否透明,仅在 image 有效时有用,默认 false + */ + transparent?: Boolean; + /** + * 是否轮廓 + */ + outline?: Boolean; + /** + * 轮廓颜色 + */ + outlineColor?: String; + /** + * 是否投射或接收来自每个光源的阴影: 'cast_only' 仅投射阴影; 'disabled' 不会投射或接收阴影; 'enabled' 投射和接收阴影; 'receive_only' 仅接收阴影; + */ + shadows?: String; +} + +/** + * @类型 外部使用类 + * @描述 扫描波 + * @see 扫描波 + */ + class ScanGraphic extends GraphicPositionItem { + protected _opt: ScanGraphicOpt; + /** + * 初始化示例 + * @param option 扫描波 + * ``` + * 示例代码: + * let opt = new GV.ScanGraphicOpt(); + * opt.scanColor = 'rgba(255.0, 0.0, 0.0, 1)'; + * opt.position = new GV.GeoPoint(80, 31.85, 0); + * opt.radius = 1500; + * radarScan = new GV.ScanGraphic(opt); + * viewer.graphicLayer.add(radarScan); + * + * ``` + */ + constructor(option: ScanGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取扫描板颜色 + * @returns + */ + /** + * 设置扫描板颜色 + * @param value 颜色 + */ + scanColor: string; + /** + * 获取扫描波边框线颜色 + * @returns + */ + /** + * 设置扫描波边框线颜色 + * @param value 颜色 + */ + scanLineColor: string; + /** + * 获取扫描半径 + * @returns + */ + /** + * 设置扫描半径 + * @param value 扫描半径 + */ + radius: number; + /** + * 获取速度 + * @returns + */ + /** + * 设置速度 + * @param val + */ + speed: number; + /** + * 获取线宽 + * @returns + */ + /** + * 获取线宽 + * @param val 中心点位置 + */ + lineWidth: number; + readonly clampToGround: true; +} +/** + * 数据约束及默认值 + */ + class ScanGraphicOpt extends GraphicPositionItemOpt { + /**扫描板颜色 */ + scanColor?: string; + /**扫描波边框线颜色 */ + scanLineColor?: string; + /**扫描半径 */ + radius?: number; + /**扫描速度 范围 >0&&<=5 */ + speed?: number; + /**扫描波边框线宽度 */ + lineWidth?: number; +} + + class ScreenTextGraphic extends GraphicItem { + protected _opt: ScreenTextGraphicOpt; + constructor(option: ScreenTextGraphicOpt); + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 显示/隐藏 + */ + visible: boolean; + /** + * 屏幕坐标 + */ + position: [number, number]; + /** + * 宽度 + */ + width: number; + /** + * 高度 + */ + height: number; + /** + * 字体颜色 + */ + fontColor: string; + /** + * 边框颜色 + */ + outlineColor: string; + /** + * 边框样式 + */ + outlineStyle: string; + /** + * 边框宽度 + */ + outlineWidth: number; + /** + * 字体大小 + */ + fontSize: number; + /** + * 字体样式 + */ + fontFamily: string; + /** + * 字体粗细 + */ + fontWeight: number; + /** + * 文本位置 + */ + textAlign: string; + /** + * 背景图显示/隐藏 + */ + isShowBackgroundImg: boolean; + /** + * 背景颜色 + */ + backgroundColor: string; + /** + * 背景图片地址 + */ + backgroundImgUrl: string; + /** + * 背景图片大小 + */ + backgroundImgSize: string | [number, number]; + /** + * 背景图片位置 + */ + backgroundImgPos: string; + /** + * 背景图片是否重复 + */ + backgroundImgRepeat: string; + /** + * 左侧边距 + */ + paddingLeft: number; + /** + * 右侧边距 + */ + paddingRight: number; + /** + * 顶部边距 + */ + paddingTop: number; + /** + * 底部边距 + */ + paddingBottom: number; + /** + * 行距 + */ + lineHeight: number; + /** + * 层级 + */ + zIndex: number; + /** + * 文本 + */ + text: string; + toJson(): { + type: string; + id: any; + name: string; + extendInfo: any; + }; + parseJson(option: any): void; +} + class ScreenTextGraphicOpt extends GraphicItemOpt { + position?: [number, number]; + width?: number; + height?: number; + backgroundColor?: string; + outlineWidth?: number; + outlineColor?: string; + outlineStyle?: string; + fontSize?: number; + fontColor?: string; + fontFamily?: string; + fontWeight?: number; + textAlign?: string; + isShowBackgroundImg?: boolean; + backgroundImgUrl?: string; + backgroundImgSize?: string | [number, number]; + backgroundImgPos?: string; + backgroundImgRepeat?: string; + paddingLeft?: number; + paddingRight?: number; + paddingTop?: number; + paddingBottom?: number; + lineHeight?: number; + zIndex?: number; + text?: string; +} + +/** + * @类型 外部使用类 + * @描述 动态扇形几何体 + * @see 扇形动态波 + */ + class SectorGraphic extends GraphicItem { + protected _opt: SectorGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option 动态扇形几何体 + * ``` + * 示例代码: + * let sectorGraphicOpt=new GV.SectorGraphicOpt(); + * let sector = new GV.SectorGraphic(sectorGraphicOpt); + * viewer.graphicLayer.add(sector); + * ``` + */ + constructor(option: SectorGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + positions: Array; + /** + * 设置扇形顶点位置 + * @param value 扇形顶点位置 + */ + /** + * 获取扇形顶点位置 + * @returns + */ + topPosition: GeoPoint; + /** + * 设置扇形底点位置 + * @param value 扇形底点位置 + */ + /** + * 获取扇形底点位置 + * @returns + */ + bottomPosition: GeoPoint; + /** + * 获取扇形位置,返回底点位置 + * @returns + */ + /** + * 设置扇形位置 + */ + position: GeoPoint; + /** + * 设置扇形开合角度 + * @param value 扇形开合角度 + */ + /** + * 获取扇形开合角度 + * @returns + */ + fov: number; + /** + * 设置速度 + * @param value 速度 范围1-5 + */ + /** + * 获取速度 + * @returns + */ + speed: number; + /** + * 设置条纹颜色 + * @param value 条纹颜色 + */ + /** + * 获取条纹颜色 + * @returns + */ + evenConeColor: string; + /** + * 设置条纹颜色 + * @param value 条纹颜色 + */ + /** + * 获取条纹颜色 + * @returns + */ + oddConeColor: string; + /** + * 获取旋转角度 + * @returns + */ + /** + * 设置旋转角度 + * @param value 旋转角度 + */ + rotation: number; + /** + * @ignore + * 获取最大控制点数量(编辑中的PolylineCreator使用,为无限大时可以省略) + */ + getMaxCtrlPosNum(): number; +} +/** + * 数据约束及默认值 + */ + class SectorGraphicOpt extends GraphicItemOpt { + /**顶点位置 */ + topPosition?: GeoPoint; + /**底点位置 */ + bottomPosition?: GeoPoint; + /** + * 开合角度 + */ + fov?: number; + /** + * 速度 范围1-5 + */ + speed?: number; + /** + * 条纹颜色 + */ + evenConeColor?: string; + /** + * 条纹颜色 + */ + oddConeColor?: string; + rotation?: number; +} + +/** + * @类型 外部使用类 + * @描述 传感器 + * @see 传感器半径 + */ + class SensorGraphic extends GraphicPositionItem { + protected _opt: SensorGraphicOpt; + /** + * 初始化示例 + * @param option 传感器 + * ``` + * 示例代码: + * let opt = new GV.SensorGraphicOpt(); + * opt.color = 'rgba(255,255,255,0.1)'; + * opt.position = new GV.GeoPoint(0, 0, 0); + * let sensor = new GV.SensorGraphic(opt); + * viewer.graphicLayer.add(sensor); + * + * ``` + */ + constructor(option: SensorGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 设置传感器的半径 + * @param 传感器半径 + */ + /** + * 获取传感器的半径 + * @returns + */ + radius: number; + /** + * 设置传感器颜色 + * @param value 传感器颜色 + */ + /** + * 获取传感器颜色 + * @returns + */ + color: string; + /** + * 设置线的颜色 + */ + /** + * 获取线的颜色 + * @returns + */ + lineColor: string; + /** + * 获取水平半角 + * @returns + */ + readonly xHalfAngle: number; + /** + * 获取垂直半角 + * @returns + */ + readonly yHalfAngle: number; + /** + * 设置扫描面颜色 + * @param value 扫描面颜色 + */ + /** + * 获取扫描面颜色 + * @returns + */ + scanPlaneColor: any; + /** + * 获取扫描面显隐 + * @returns + */ + readonly showScanPlane: boolean; + /** + * 设置扫描面速率 + * @param value 扫描面速率 + */ + /** + * 获取扫描面速率 + * @returns + */ + scanPlaneRate: any; + readonly clampToGround: true; +} +/** + * 数据约束及默认值 + */ + class SensorGraphicOpt extends GraphicPositionItemOpt { + /**半径 */ + radius?: number; + /**扫描速率 */ + scanPlaneRate?: number; + /**是否显示扫描面 */ + showScanPlane?: boolean; + /**水平半角 */ + xHalfAngle?: number; + /**垂直半角 */ + yHalfAngle?: number; + /**扫描面颜色 */ + scanPlaneColor?: string; + /**颜色 */ + color?: string; + /**线颜色 */ + lineColor?: string; +} + +/** + * @类型 外部使用类 + * @描述 球几何体 + * @see + */ + class SphereGraphic extends GraphicPositionItem { + /** + * 标绘参数 + */ + protected _opt: SphereGraphicOpt; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let sphereGraphic = new GV.SphereGraphic({...}); + * ``` + */ + constructor(option: SphereGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 高度参考 + */ + heightReference: any; + /** + * 半径 + */ + radius: any; + /** + * 是否填充 + */ + fill: any; + /** + * 材质 + */ + color: any; + /** + * 是否绘制轮廓线 + */ + outline: any; + /** + * 轮廓线颜色 + */ + outlineColor: any; + /** + * 轮廓线宽度 + */ + outlineWidth: any; + /** + * 每个轮廓环的样本数,确定曲率的粒度 + */ + subdivisions: any; + /** + * 堆栈数 + */ + stackPartitions: any; + /** + * 径向切片数 + */ + slicePartitions: any; +} +/** + * 数据约束及默认值 + */ + class SphereGraphicOpt extends GraphicPositionItemOpt { + /** + * 高度参照: 'clamp_to_ground' 完全贴合地面; 'none' 高度与地形无关; 'relative_to_ground' 真实高度=地形高度+高度值 + */ + heightReference?: String; + /** + * 半径 示例[x, y, z] + */ + radius?: number; + /** + * 是否填充提供的材质 + */ + fill?: Boolean; + /** + * 填充材质 + */ + color?: String; + /** + * 是否轮廓 + */ + outline?: Boolean; + /** + * 轮廓颜色 + */ + outlineColor?: String; + /** + * 轮廓宽度 + */ + outlineWidth?: number; + /** + * 每个轮廓环的样本数,确定曲率的粒度 + */ + subdivisions?: number; + /** + * 堆栈数 + */ + stackPartitions?: number; + /** + * 径向切片数 + */ + slicePartitions?: number; +} + +/** + * 各类扩散圆的基类 + * 子类:SpreadCircleLineGraphic + * 子类:SpreadCircleClampGraphic + * 子类:SpreadCircleRampGraphic + * 子类:SpreadCircleRingGraphic + */ + class SpreadCircleGraphic extends GraphicPositionItem { + constructor(opt: any); + /** + * 颜色 + */ + color: string; + /** + * 周期 + */ + duration: number; + /** + * 大小 + */ + radius: number; +} +/** + * 各类扩散圆共性参数类 + */ + class SpreadCircleGraphicOpt extends GraphicPositionItemOpt { + /** + * 颜色 + */ + color: string; + /** + * 时延 单位秒 + */ + duration: number; + /** + * 半径 单位:米 + * 说明:视图为2D视图时,此参数无效,只能通过缩放调整大小 + */ + radius: number; +} + +/** + * @类型 外部使用类 + * @描述 动态条纹线 + * @see 条纹扩散 + */ + class SpreadCircleLineGraphic extends SpreadCircleGraphic { + /** + * 参数类 + */ + protected _opt: SpreadCircleLineGraphicOpt; + /** + * 初始化示例 + * @param option + * ``` + * 示例代码: + * let circleLine = new GV.SpreadCircleLineGraphic({ + * color: 'rgba(255.0, 255.0, 0.0, 1)', + * position: new GV.GeoPoint(120.9484503004, 24.0156814236), + * duration: 2, + * radius: 1200 + * }); + * viewer.graphicLayer.add(circleLine) + * ``` + */ + constructor(opt: SpreadCircleGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 是否贴地 + */ + readonly clampToGround: boolean; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 渲染类型(不同类型采样的片元着色器不一样) + */ + renderType: SpreadCircleLineEnum; +} + class SpreadCircleLineGraphicOpt extends SpreadCircleGraphicOpt { + /** + * 渲染类型(不同类型采样的片元着色器不一样) + */ + renderType: SpreadCircleLineEnum; +} + enum SpreadCircleLineEnum { + 'Multiple' = 0, + 'Single' = 1 +} +/** + * @类型 外部使用类 + * @描述 贴地扩散圆 + * @see 贴地扩散圆 + */ + class SpreadCircleClampGraphic extends SpreadCircleGraphic { + /** + * 图标标绘类型 + */ + protected _type: string; + /** + * 参数类 + */ + protected _opt: SpreadCircleGraphicOpt; + /** + * 初始化示例 + * @param option + * ``` + * 示例代码: + * let circleLine = new GV.SpreadCircleClampGraphic({ + * color: 'rgba(255.0, 255.0, 0.0, 1)', + * position: new GV.GeoPoint(120.9484503004, 24.0156814236), + * duration: 2, + * radius: 1200 + * }); + * viewer.graphicLayer.add(circleLine) + * ``` + */ + constructor(opt: SpreadCircleGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 是否贴地 + */ + readonly clampToGround: boolean; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; +} +/** + * @类型 外部使用类 + * @描述 渐变扩散圆 + * @see 渐变扩散圆 + */ + class SpreadCircleRampGraphic extends SpreadCircleGraphic { + /** + * 图标标绘类型 + */ + protected _type: string; + /** + * 参数类 + */ + protected _opt: SpreadCircleRampGraphicOpt; + /** + * 初始化示例 + * @param option + * ``` + * 示例代码: + * let circleLine = new GV.SpreadCircleRampGraphic({ + * color: 'rgba(255.0, 255.0, 0.0, 1)', + * position: new GV.GeoPoint(120.9484503004, 24.0156814236), + * duration: 2, + * radius: 1200 + * }); + * viewer.graphicLayer.add(circleLine) + * ``` + */ + constructor(opt: SpreadCircleRampGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 是否贴地 + */ + readonly clampToGround: boolean; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 线颜色 + */ + lineColor: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; +} + class SpreadCircleRampGraphicOpt extends SpreadCircleGraphicOpt { + /** + * 线颜色 + */ + lineColor: string; +} +/** + * @类型 外部使用类 + * @描述 扩散圆 + * @see 扩散圆 + */ + class SpreadCircleRingGraphic extends SpreadCircleGraphic { + /** + * 参数类 + */ + protected _opt: SpreadCircleRingGraphicOpt; + /** + * 初始化示例 + * @param option + * ``` + * 示例代码: + * let circleLine = new GV.SpreadCircleRingGraphic({ + * color: 'rgba(252, 0, 32)', + * position: new GV.GeoPoint(120.9484503004, 24.0156814236), + * height: 10, + * radius: 220, + * count: 1, + * speed: 10.0 + * }); + * viewer.graphicLayer.add(circleLine) + * ``` + */ + constructor(opt: SpreadCircleRingGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 高度 + */ + height: number; + /** + * 圆环数量 + */ + count: number; + /** + * 扩散速度 + */ + speed: number; + /** + * 渲染类型(不同类型采样的片元着色器不一样) + */ + renderType: SpreadCircleRingEnum; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; +} + class SpreadCircleRingGraphicOpt extends SpreadCircleGraphicOpt { + /** + * 渲染类型(不同类型采样的片元着色器不一样) + */ + renderType: SpreadCircleRingEnum; + /** + * 高度 + */ + height: number; + /** + * 圆环数量 + */ + count: number; + /** + * 扩散速度 + */ + speed: number; +} + enum SpreadCircleRingEnum { + 'Solid' = 0, + 'Ramp' = 1, + 'Strip' = 2 +} + +/** + * @类型 外部使用类 + * @描述 扩散波 + * @see 扩散波 + */ + class SpreadGraphic extends GraphicPositionItem { + protected _opt: SpreadGraphicOpt; + /** + * 初始化示例 + * @param option 扩散波 + * ``` + * 示例代码: + * let opt = new GV.SpreadGraphicOpt(); + * opt.scanColor = 'rgba(255.0, 0.0, 0.0, 1)'; + * opt.position = new GV.GeoPoint(80, 31.85, 0); + * opt.radius = 1500; + * circleScan = new GV.SpreadGraphic(opt); + * viewer.graphicLayer.add(circleScan); + * + * ``` + */ + constructor(option: SpreadGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 是否贴地 + */ + readonly clampToGround: boolean; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取扩散颜色 + * @returns + */ + /** + * 设置扩散颜色 + * @param value 颜色 + */ + spreadColor: string; + /** + * 获取扩散半径 + * @returns + */ + /** + * 设置扩散半径 + * @param value 扫描半径 + */ + radius: number; + /** + * 获取扩散速度 + * @returns + */ + /** + * 设置扩散速度 + * @param value 范围 1-10 + */ + speed: number; +} +/** + * 数据约束及默认值 + */ + class SpreadGraphicOpt extends GraphicPositionItemOpt { + /**扫描颜色 */ + spreadColor?: string; + /**扩散半径 */ + radius?: number; + /**扩散速度 范围 1-10 */ + speed?: number; +} + +/** + * @类型 外部使用类 + * @描述 三角网 + * @see 空间网 + */ + class TriangleMeshGraphic extends GraphicItem { + protected _opt: TriangleMeshGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option + * ``` + * let urlArr = ['test10.json', 'test15.json']; + * let draw = []; + * for (let i = 0; i < urlArr.length; i++) { + * fetch('../data/radar/' + urlArr[i]) + * .then(function (response) { + * return response.json(); + * }) + * .then(data => { + * let opt = new GV.TriangleMeshGraphicOpt(); + * opt.color = '#00CED1'; + * opt.dataSource = { points: data.points, indices: data.indices }; + * let TMesh = new GV.TriangleMeshGraphic(opt); + * let obj = viewer.graphicLayer.add(TMesh) + * draw.push(obj); + * }); + * } + * ``` + */ + constructor(option: TriangleMeshGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 数据源: + * points 为[经度,纬度,高...]点集数组 或者 url + * 例: + * points = [102,33,5000,116,39,54411] + */ + dataSource: any; + /** + * 颜色 + * 默认值:'#00CED1' + * ``` + * 示例代码: + * Tmesh.color = '#fff' + * ``` + */ + color: any; +} +/** + * 数据约束及默认值 + */ + class TriangleMeshGraphicOpt extends GraphicItemOpt { + /** + * 数据源: + * dataSource = { + * points: [102,33,5000,116,39,54411...], + * indices:[0,2,3,5...] + * } + * points 为[经度,纬度,高...]点集数组 + * indices 为点的索引 + */ + dataSource: { + points: Array; + indices: Array; + }; + /** + * 颜色 + * 默认值:'#00CED1' + */ + color?: string; +} + +/** + * @类型 外部使用类 + * @描述 截圆锥体 + * @see 截圆锥体 + */ + class TruncatedConeGraphic extends GraphicPositionItem { + protected _opt: TruncatedConeGraphicOpt; + /** + * 初始化示例 + * @param option 截圆锥体 + * ``` + * 示例代码: + * let opt = new GV.TruncatedConeGraphicOpt(); + * opt.position = new GV.GeoPoint(80, 31.85, 0); + * opt.color = 'rgba(72,155,176,0.8)'; + * truncatedCone = new GV.TruncatedConeGraphic(opt); + * viewer.graphicLayer.add(truncatedCone); + * + * ``` + */ + constructor(option: TruncatedConeGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 是否贴地 + */ + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 颜色 + */ + color: string; + /** + * 底部内圆半径(即旋转动态圆) + */ + innerRadius: number; + /** + * 底部外圆半径(即静止双环圆) + */ + outerRadius: number; + /** + * 内锥顶部半径 + */ + innerTopRadius: number; + /** + * 内锥底部半径 + */ + innerBottomRadius: number; + /** + * 外锥高度 + */ + innerHeight: number; + /** + * 外锥顶部半径 + */ + outerTopRadius: number; + /** + * 外锥底部半径 + */ + outerBottomRadius: number; + /** + * 外锥高度 + */ + outerHeight: number; +} + class TruncatedConeGraphicOpt extends GraphicPositionItemOpt { + /** + * 颜色 + */ + color: string; + /** + * 底部内圆半径(即旋转动态圆) + */ + innerRadius: number; + /** + * 底部外圆半径(即静止双环圆) + */ + outerRadius: number; + /** + * 内锥顶部半径 + */ + innerTopRadius: number; + /** + * 内锥底部半径 + */ + innerBottomRadius: number; + /** + * 内锥高度 + */ + innerHeight: number; + /** + * 外锥顶部半径 + */ + outerTopRadius: number; + /** + * 外锥底部半径 + */ + outerBottomRadius: number; + /** + * 外锥高度 + */ + outerHeight: number; +} + +/** + * @类型 外部使用类 + * @描述 截圆锥体粒子特效标绘 + * @see 截圆锥粒子标绘 + */ + class TruncatedConeParticleGraphic extends GraphicPositionItem { + protected _opt: TruncatedConeParticleGraphicOpt; + /** + * 初始化示例 + * @param option 截圆锥体粒子特效标绘 + * ``` + * 示例代码: + * let opt = new GV.TruncatedConeParticleGraphicOpt(); + * opt.position = new GV.GeoPoint(80, 31.85, 0); + * opt.color = 'rgba(72,155,176,0.8)'; + * + * truncatedCone = new GV.TruncatedConeParticleGraphic(opt); + * viewer.graphicLayer.add(truncatedCone); + * + * ``` + */ + constructor(option: TruncatedConeParticleGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 是否贴地 + */ + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 颜色 + */ + color: string; + /** + * 基底圆半径数组(按照从上到下的顺序排列) + */ + radiusArray: Array; + /** + * 基底圆之间的高度差 + */ + deltaHeight: number; + /** + * 锥顶圆半径 + */ + topRadius: number; + /** + * 锥底圆半径 + */ + bottomRadius: number; + /** + * 锥体高度 + */ + height: number; +} + class TruncatedConeParticleGraphicOpt extends GraphicPositionItemOpt { + /** + * 颜色 + */ + color: string; + /** + * 基底圆半径数组(按照从上到下的顺序排列) + */ + radiusArray: Array; + /** + * 基底圆之间的高度差 + */ + deltaHeight: number; + /** + * 锥顶圆半径 + */ + topRadius: number; + /** + * 锥底圆半径 + */ + bottomRadius: number; + /** + * 锥体高度 + */ + height: number; +} + +/** + * @类型 外部使用类 + * @描述 管道线几何体 + * @see 管道 + */ + class VolumePolylineGraphic extends GraphicItem { + /** + * 标绘参数 + */ + protected _opt: VolumePolylineGraphicOpt; + /** + * 管道标绘类型 + */ + protected _type: string; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let volumePolylineGraphic = new GV.VolumePolylineGraphic({...}); + * ``` + */ + constructor(option: VolumePolylineGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 位置 + */ + positions: any; + /** + * 形状 + */ + shape: any; + /** + * 拐角类型 + */ + cornerType: any; + /** + * 填充 + */ + fill: any; + /** + * 颜色 + */ + color: any; + /** + * 轮廓 + */ + outline: any; + outlineColor: any; + outlineWidth: any; +} +/** + * 数据约束及默认值 + */ + class VolumePolylineGraphicOpt extends GraphicItemOpt { + /** + * 位置 lon为经度, lat 为纬度, alt为高度 + * ``` + * 示例代码 + * GV.GeoPoint.unpackArray([ + * [-80.0, 34.0, 0.0], + * [-80.0, 40.0, 100000.0], + * [-84.0, 40.0, 0.0] + * ]) + * ``` + */ + positions: Array; + /** + * 定义要挤出的形状的位置数组 + * ``` + * 示例代码 + * GV.GeoPoint.unpackArray([ + * [-50000, -50000], + * [50000, -50000], + * [50000, 50000], + * [-50000, 50000] + * ]) + * ``` + */ + shape: Array; + /** + * 指定角落样式 : 'beveled' 拐角被修剪; 'mitered' 拐角点是相邻边的交点; 'rounded' 角落边缘光滑 + */ + cornerType?: String; + /** + * 指定是否进行填充 : true or false + */ + fill?: Boolean; + /** + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + color?: String; + /** + * 指定是否显示轮廓 : true or false + */ + outline?: Boolean; + /** + * 轮廓颜色: 参考颜色示例'#ff0000'或'rgba(255,0,0,1)' + */ + outlineColor?: String; + /** + * 指定轮廓线宽度 + */ + outlineWidth?: number; +} + +/** + * @类型 外部使用类 + * @描述 墙几何体 + * @see + */ + class WallGraphic extends GraphicItem { + /** + * 标绘参数 + */ + protected _opt: WallGraphicOpt; + /** + * 墙标绘类型 + */ + protected _type: string; + /** + * 构造函数 + * @param option 参数对象 + * ``` + * 示例代码 + * let wallGraphic = new GV.WallGraphic({...}); + * ``` + */ + constructor(option: WallGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 位置 + */ + positions: any; + /** + * 高度数组 + */ + maximumHeights: any; + /** + * 底部数组 + */ + minimumHeights: any; + /** + * 填充 + */ + fill: any; + /** + * 颜色 + */ + color: any; + /** + * 是否显示轮廓 + */ + outline: any; + outlineColor: any; + outlineWidth: any; +} +/** + * 数据约束及默认值 + */ + class WallGraphicOpt extends GraphicItemOpt { + /** + * 位置 lon为经度, lat 为纬度, alt为高度 + * ``` + * 示例代码 + * GV.GeoPoint.unpackArray([ + * [-115.0, 34.0], + * [-112.5, 34.0], + * [-110.0, 34.0], + * [-107.5, 34.0], + * [-105.0, 34.0], + * [-102.5, 34.0], + * [-100.0, 34.0], + * [-97.5, 34.0], + * [-95.0, 34.0], + * [-92.5, 34.0], + * [-90.0, 34.0] + * ]) + * ``` + */ + positions: Array; + /** + * 指定用于墙顶的高度数组,而不是每个位置的高度.[100000, 200000, 100000, 200000, 100000, 200000 ...] + */ + maximumHeights: Array; + /** + * 指定要用于墙的底部而不是地球表面的高度数组.[0, 100000, 0, 100000, 0, 100000, 0,...] + */ + minimumHeights: Array; + /** + * 指定是否进行填充 : true or false + */ + fill?: Boolean; + /** + * 颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + color?: String; + /** + * 指定是否显示轮廓 : true or false + */ + outline?: Boolean; + /** + * 轮廓颜色: 参考颜色示例'#ff0000'或'rgba(1,0,0,1)' + */ + outlineColor?: String; + /** + * 指定轮廓线宽度 + */ + outlineWidth?: number; +} + +/** + * @类型 外部使用类 + * @描述 水面模拟 + * @see 水面模拟 + */ + class WaterFaceGraphic extends GraphicItem { + protected _opt: WaterFaceGraphicOpt; + protected _type: string; + /** + * 构造函数 + * @param {WaterFaceGraphicOpt} options 参数对象 + * ``` + * //示例 + * const polygon=new Cesium.PolygonGeometry( + * Cesium.Cartesian3.fromDegreesArray([100,30,110,30,110,40,100,40]) + * ) + * const waterOpt=new GV.WaterFaceGraphicOpt(); + * waterOpt.waterPolygon=polygon; + * waterOpt.waterColor=Cesium.Color.BLUE; + * const water = new GV.WaterFaceGraphic(opt) + viewer.graphicLayer.add(water); + * ``` + */ + constructor(options: WaterFaceGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 所有item的基类方法,外部无需调用 + * 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 水面颜色 + * @example + * water.waterColor=Cesium.Color.BLUE; + */ + waterColor: Cesium.Color; + /** + * 波纹大小 + */ + waveWidth: Number; + /** + * 流动方向,单位:度 + */ + flowDirection: Number; + /** + * 流动速度 + */ + flowSpeed: Number; + readonly normalTexture: String; + /** + * 定义了水面范围 + * @readonly + */ + readonly waterPolygon: Cesium.PolygonGeometry; +} + class WaterFaceGraphicOpt extends GraphicItemOpt { + /** + * 水面颜色 + */ + waterColor: Cesium.Color; + /** + * 波纹大小 + */ + waveWidth: Number; + /** + * 水流方向,单位:度 + */ + flowDirection: Number; + /** + * 水流速度 + */ + flowSpeed: Number; + /** + * 法线贴图 + */ + normalTexture: String; + /** + * 水面范围 + */ + waterPolygon: Cesium.PolygonGeometry; +} + +/** + * @类型 外部使用类 + * @描述 水面效果 + * @see 水面效果 + */ + class WaterGraphic extends GraphicItem { + protected _opt: WaterGraphicOpt; + protected _type: string; + /** + * 初始化示例 + * @param option 水面效果 + * ``` + * 示例代码: + * var position = [0, 0,0, 40.0,40, 40.0,40, 0]; + * var holes = [[5, 5, 6, 5, 6, 6, 5, 6],[15, 15, 15, 25, 25, 25, 25, 15]]; + * let waterOpt = new GV.WaterGraphicOpt(); + * waterOpt.pointsList = position; + * waterOpt.holes = holes; + * let water = new GV.WaterGraphic(waterOpt); + * viewer.graphicLayer.add(water); + * ``` + */ + constructor(option: WaterGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取流动频率 + * @returns + */ + /** + * 设置流动频率 + * @param value 流动频率 + */ + frequency: number; + /** + * 获取水面底色 + * @returns + */ + /** + * 设置水面底色 + * @param val 水面底色 示例:'#177BD9'或'rgba(100, 0.3, 0.6,1)' + */ + baseWaterColor: string; + /** + * 获取流动速度 + * @returns + */ + /** + * 设置流动速度 + * @param val 流动速度 + */ + animationSpeed: number; + /** + * 获取振幅 + * @returns + */ + /** + * 设置振幅 + * @param val 振幅 + */ + amplitude: number; + /** + * 获取高光强度 + * @returns + */ + /** + * 设置高光强度 + * @param val 高光强度 + */ + specularIntensity: number; + /** + * 获取挖洞数据 + * @returns + */ + readonly holes: number[][]; + /** + * 获取顶点数据 + * @returns + */ + readonly pointsList: number[]; + readonly mode: string; +} +/** + * 数据约束及默认值 + */ + class WaterGraphicOpt extends GraphicItemOpt { + /** + * 水面顶点数据 + */ + pointsList: Array; + /** + * 挖洞数据 + */ + holes?: Array>; + /** + * 流动频率 + */ + frequency?: number; + /** + * 流动速度 + */ + animationSpeed?: number; + /** + * 流动振幅 + */ + amplitude?: number; + /** + * 高光强度 + */ + specularIntensity?: number; + /** + * 水面底色 + */ + baseWaterColor?: string; + /** + * 水面底色 + */ + mode?: string; +} + +/** + * @类型 外部使用类 + * @描述 雨、雪模拟 + * @see 雨、雪模拟 + */ + class WeatherGraphic extends GraphicItem { + protected _opt: WeatherGraphicOpt; + /** + * 初始化示例 + * @param option 雨、雪模拟 + * ``` + * 示例代码: + * let weatherGraphicOpt = new GV.WeatherGraphicOpt(); + * weatherGraphicOpt.position = new GV.GeoPoint(110.20, 34.55, 3000); + * weatherGraphicOpt.range = 20000; + * weatherGraphicOpt.weatherType = 'rain'; + * var weatherGraphic = new GV.WeatherGraphic(weatherGraphicOpt); + * viewer.graphicLayer.add(weatherGraphic); + * + * ``` + */ + constructor(option: WeatherGraphicOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + init(father: GraphicGroup): void; + /** + * 获取天气类型 + * @returns + */ + /** + * 设置天气类型 + * @param value 天气类型 + */ + weatherType: string; + /** + * 获取位置 + * @returns + */ + /** + * 设置位置 + * @param value 位置 + */ + position: GeoPoint; + /** + * 获取范围 + * @returns + */ + /** + * 设置范围 + * @param value 范围 + */ + range: number; +} +/** + * 数据约束及默认值 + */ + class WeatherGraphicOpt extends GraphicItemOpt { + /**天气类型 rain 或 snow*/ + weatherType: string; + /**位置 */ + position: GeoPoint; + /**影响范围 */ + range: number; +} + +/// +/** + * @类别 无需创建,初始化球时自动创建并且与球对应的类
+ * @描述 几何绘制对象总入口,提供了绘制添加,查询,选取等能力 + */ + class GraphicLayer extends Event { + _viewer: Cesium.Viewer; + private _dataRoot; + private _ignoreRoot; + private _renderRoot; + private _creatorManager; + private _editorManager; + private _pipelineManager; + constructor(viewer: Cesium.Viewer); + private _initCreatorManager; + /** + * @description: 标绘创建时与鼠标的偏移量 + * @param {number} x 沿x轴偏移的像素值或百分比,如果是数字则按像素处理 + * @param {number} y 沿y轴偏移的像素值或百分比,如果是数字则按像素处理 + * @return {*} + */ + setViewOffset(x: number | string, y: number | string): void; + /** + * 内部渲染对象使用 + */ + getRenderRoot(): { + entityRoot: Cesium.EntityCollection; + primitiveRoot: Cesium.PrimitiveCollection; + postProcessStages: any; + billboardCollection: Cesium.BillboardCollection; + labelCollection: Cesium.LabelCollection; + htmlItemCollection: HtmlItemCollection; + }; + editOpen(): void; + editClose(): void; + readonly isEditting: boolean; + /** + * 开启创建 + * @param itemOpt 创建对象参数 + * @param group 要加入的组节点 + */ + create(itemOpt: any, group?: GraphicGroup, finishCallback?: any): GraphicItem; + /** + * 设置创建器/编辑器是否显示文本标签 + * @param vis 是否显示 + */ + setEditorLabelVisible(vis: boolean): void; + /** + * 设置创建器/编辑器文本标签是否将经纬度格式化为度分秒格式 + * @param b 是否格式化(true:格式化度分秒) + */ + setEditorLabelFormat(b: boolean): void; + /** + * 设置编辑管理器 + */ + getEditorManager(): EditorManager; + /** + * 设置编辑对象 + */ + setEditItem(item: GraphicItem): void; + /** + * 获取编辑对象 + */ + getEditItem(): GraphicItem; + /** + * 设置编辑器按钮所在的dom + */ + setEditorElement(element: Element): void; + /** + * 监听编辑对象实时变化 + */ + onEditItemRealTimeChange(fun: any): void; + /** + * 取消监听编辑对象实时变化 + */ + offEditItemRealTimeChange(): void; + /** + * 监听编辑对象变化 + */ + onEditItemChange(fun: any): Function; + /** + * 取消监听编辑对象变化 + */ + offEditItemChange(fun: any): void; + /** + * 监听编辑器点击事件 + */ + onEditorClick(fun: any): void; + /** + * 取消编辑器点击事件 + */ + offEditorClick(): void; + /** + * 获取数据根节点 + */ + getRoot(): GraphicGroup; + /** + * 获取忽略根节点(该节点不会随整个场景反序列化) + */ + getIgnoreRoot(): GraphicGroup; + /** + * 获取管道管理单例类 + */ + getPipelineManager(): PipelineManager; + /** + * 添加一个新节点 + * @param node 绘制数据对象或组对象 + * @returns + * ``` + * 示例代码 + * //添加绘制数据对象 + * let obj = new GV.CylinderDynamicGraphic({ + * topPosition: new GV.GeoPoint(0,0,200000), + * bottomPosition: new GV.GeoPoint(0,0,0) + * }) + * viewer.graphicLayer.add(obj); + * + * //添加组对象并在组对象中添加标绘 + * let group = new GV.GraphicGroup(); + * viewer.graphicLayer.add(group); + * + * let polyline = new GV.PolylineGraphic({ + * positions:[new GV.GeoPoint(0,0,200000), new GV.GeoPoint(100,0,200000)], + * lineStyle: new GV.ColorStyle({color: '#ffff00'}), + * width: 3, + * }); + * group.add(polyline); + * ``` + */ + add(node: GraphicGroup | GraphicItem): GraphicGroup | GraphicItem; + addByJson(json: any): any; + /** + * 导出json数据 + */ + toJson(): object; + /** + * 导入json数据 + */ + fromJson(json: object): GraphicGroup; + /** + * 移除一个节点 + * @param node 绘制数据对象或组对象 + * @return + * ``` + * 示例代码 + * viewer.graphicLayer.remove(node) + * ``` + */ + remove(node: GraphicGroup | GraphicItem): GraphicGroup | GraphicItem; + /** + * 清除所对象 + */ + clear(): void; + /** + * 根据ID获取对象 + * @param id + * @return + */ + getById(id: string): any; + /** + * 根据ID获取对象 + * @param id + * @return + */ + getIgnoreById(id: string): any; + /** + * 根据名称获取对象 + * + * @param name + * @return + */ + getNodeByName(name: string): (GraphicItem | GraphicGroup)[]; + private _pickObjGetId; + /** + * 拾取对象 返回plot对象 + * @param {Function} callback 回调函数 + */ + pickRect(x: number, y: number, width: number, height: number): Array; + /** + * 根据屏幕坐标获取绘制对象数组 + * @param x + * @param y + */ + pickByCoordinate2(x: number, y: number): Array; + /** + * 根据屏幕坐标获取最上层绘制对象 + * @param x 屏幕坐标x + * @param y 屏幕坐标y + * @return + */ + pickByCoordinate(x: number, y: number): GraphicItem; + /** + * 根据屏幕坐标获取最上层绘制对象 + * @param x 屏幕坐标x + * @param y 屏幕坐标y + * @return + */ + pickIgnoreByCoordinate(x: number, y: number): GraphicItem; + /** + * 计算多个求交结果 + */ + /** + * + * @param x + * @param y + * @param type ''|Ignore对数据根节点求交 + */ + private _pickByCoordinate2; + private _pickByCoordinate; + private _pickSpecialGraphic; + /** + * 获取多边形内的标绘对象(目前仅支持单一坐标标绘) + * @param positions 多边形位置点 + * @return 标会对象数组 + * @see 获取区域内标绘对象 + */ + getItemsInPolygon(positions: Array): Array; +} + +/// + class AttractPointRender extends RenderPositionObject { + private _appearance1; + private _appearance2; + private _appearance3; + private _appearance4; + private _primitive1; + private _primitive2; + private _primitive3; + private _primitive4; + private _buildGeometry; + private partTwoScale; + private offset; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + /** + * 更新回调 + */ + protected dataUpdate(): void; + readonly renderType: RenderTypeEnum; + private createPartOneImage; + private getPartOneMs; + private createPartTwoImage; + private getPartTwoMs; + private getPartThreeMs; + private getPartFourMs; + getModelMatrix(): Cesium.Matrix4; + protected getOffsetModelMatrix(): Cesium.Matrix4; + private createAppearance; + private createPrimitive; + update(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class BindedCylinder extends RenderPositionObject { + private _appearance; + private _circleData; + private _matrix; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + readonly renderType: RenderTypeEnum; + update(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /**计算单位圆周坐标值 */ + private calculateCircleData; + /** + * 创建Appearance + */ + private createAppearance; + /** + * 创建几何体 + * @param height + * @param angle + */ + private createGeometry; + /** + * 创建vao需要数据 + * @param topPosArr + * @param bottomPosArr + * @param slice + */ + private createGeometeryAttribute; + /** + * 创建Primitive + * @param postionsTemp + * @param stsTemp + */ + private createPrimitive; + /** + * 更新旋转矩阵 + */ + private createModelMatrix; +} + + class BlastRender extends RenderPositionObject { + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + computeModelMatrix(position: any): any; + computeEmitterModelMatrix(): Cesium.Matrix4; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; +} + +/** + * 标牌 + */ + class Bubble extends RenderObject { + _container: HTMLDivElement; + _rootNode: HTMLDivElement; + _parentNode: HTMLDivElement; + _panelNode: HTMLDivElement; + _lineNode: HTMLDivElement; + _renderVisible: boolean; + _anchorOffset: { + x: number; + y: number; + }; + _panelOffset: { + x: number; + y: number; + }; + _diagonalPanelOffset: { + x: number; + y: number; + }; + private _isMouseDown; + private _downX; + private _downY; + private _bottomX; + private _bottomY; + private _bubbleEvent; + private _fnDown; + private _fnUp; + private _fnMove; + private _fnStart; + private _fnTMove; + private _fnEnd; + /** + * 初始化 + */ + init(): void; + /** + * 清除 + */ + clear(): void; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; + /** + * 更新全部属性 + */ + update(): void; + /** + * 判断坐标点是否可见(支持二三维) + * @param point 坐标点 + * @param viewer 球 + */ + pointIsVisible(point: GeoPoint, viewer: Cesium.Viewer): boolean; + /** + * 渲染前回调函数 + */ + private _preRender; + /** + * 根据锚点屏幕坐标绘制 + * @param offsetX + * @param offsetY + */ + private _updateDiv; + private _getDiagonalPanelOffset; + /** + * 更新线 + * @param object + * @param bindNode + * @returns 点在第几象限 + */ + private _updateLinePosition; + /** + * 设置moveDiv的位置 防止位置超出范围 + * @param x 相对于父容器的x坐标 + * @param y 相对于父容器的y坐标 + */ + _updatePanelPosition(x: any, y: any): void; + /** + * 控制显隐 + * @param visible + */ + private _showDiv; + /** + * 初始化dom元素 + */ + private _initDom; + /** + * 创建DOM方法 + */ + private _createDom; + /** + * + * @param val + */ + private _getDivOffsetOfBody; + /** + * 获取DOM + */ + private _getDom; + private _mouseDown; + private _mouseMove; + private _mouseUp; + private _touchStart; + private _touchMove; + private _touchEnd; + /** + * 移除DOM元素 + * @param _element + */ + private _removeElement; + /** + * 事件绑定 + */ + private _bindEvent; + /** + * 事件移除 + */ + private _removeEvent; +} + +/** + * 图标渲染对象 + */ + class CesiumBillboard extends RenderPositionObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + private _dealResProps; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 圆柱圆锥渲染对象 + */ + class CesiumCylinder extends RenderPositionObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + private _getOrientation; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 渲染对象 + */ + class CesiumEllipse extends RenderPositionObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 椭球体渲染对象 + */ + class CesiumEllipsoid extends RenderPositionObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 标签渲染对象 + */ + class CesiumLabel extends RenderPositionObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 图标渲染对象 + */ + class CesiumLabelBillboard extends RenderObject { + readonly renderType: RenderTypeEnum; + private _root; + /** + * 初始化 + */ + init(): void; + /** + * 创建画布并初始化画布内容 + */ + private createCanvas; + /** + * 更新画布 + * @param move 文本矩形框中心的屏幕坐标 + */ + updateCanvas(move: any): HTMLCanvasElement; + /** + * 文本适配 + * @param ctx + * @param content + * @param drawX + * @param drawY + * @param textOpt + */ + textPrewrap(ctx: any, content: any, drawX: any, drawY: any, textOpt: any): void; + /** + * 清除 + */ + clear(): void; + /** + * 更新全部属性 + */ + update(): void; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 图标渲染对象 + */ + class CesiumLabelRect extends RenderPositionObject { + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + private updateCanvas; + /** + * 更新全部属性 + */ + update(): void; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 标签渲染对象 + */ + class CesiumModel extends RenderPositionObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + private getOrientation; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + private _dealResProps; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 标签渲染对象 + */ + class CesiumOblique extends RenderObject { + /** + * @ignore + */ + private _originTransform; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; + clear(): void; + /** + * @ignore + */ + private updateOffset; + /** + * @ignore + */ + private updateRotate; +} + + class CesiumPoint extends RenderPositionObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + update(): void; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; +} + + class CesiumPolygon extends RenderObject { + _positions: any[]; + private _originProps; + private _resProps; + private _synchronizer; + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + update(): void; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + getRenderPositions(): any[]; + getRenderHoles(): any[]; +} + + class CesiumPolyline extends RenderObject { + _positions: any[]; + private _originProps; + private _resProps; + private _cameraChange; + private _length; + readonly renderType: RenderTypeEnum; + static _onSceneModeChange: any; + static _parabolaLines: any[]; + /** + * 初始化方法 + */ + init(): void; + private addCameraListener; + private removeCameraListener; + /** + * 计算并且更新纹理重复次数 + */ + private updateTextureTimes; + private calculateLength; + update(): void; + getRenderPositions(): any[]; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + +/** + * 气泡标签渲染对象 + */ + class CesiumPopover extends RenderPositionObject { + readonly renderType: RenderTypeEnum; + private billboardCanvas; + private flag; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + updateCanvas(): void; + private updateCanvasCallBack; + /** + * 创建html标签 + * @param shapeType 形状 + * @param text 文字 + */ + private createHTMLElement; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 图标渲染对象 + */ + class CesiumRectangle extends RenderObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * + */ + private getCoordinates; + calcCoordinates(data: any): Cesium.Rectangle; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 图标渲染对象 + */ + class CesiumSphere extends RenderPositionObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 图标渲染对象 + */ + class CesiumVolumePolyline extends RenderObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + starPositions(arms: any, rOuter: any, rInner: any): any[]; + /** + * 初始化 + */ + init(): void; + getShape(value: any): any[]; + private getCornerType; + /** + * 更新全部属性 + */ + update(): void; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 图标渲染对象 + */ + class CesiumWall extends RenderObject { + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + + class CircularRender extends RenderPositionObject { + private _appearance; + readonly renderType: RenderTypeEnum; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + update(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /** + * 设置材质 + */ + private createMaterial; + /** + * 绘制图形 + */ + private createPrimitive; +} + +/** + * 文字标签渲染对象 + */ + class CustomLabelRender extends RenderPositionObject { + private _originProps; + private _resProps; + private pinBuilder; + private image; + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + /** + * 更新全部属性 + */ + update(): void; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + private _dealResProps; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class CylinderSensor extends RenderObject { + private _circleData; + private _currentOffset; + private _distance; + private _geometry; + private _appearance; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + listenerFun: () => void; + private calculateRepeat; + update(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /**计算单位圆周坐标值 */ + private calculateCircleData; + /** + * 获得世界坐标系下位置 + */ + private createVertex; + /** + * 创建attribute + * @param topPosArr 顶面顶点数据 + * @param bottomPosArr 底面顶点数据 + */ + private createGeometeryAttribute; + /** + * 创建网格体 + * @param postionsTemp 顶点数据 + * @param stsTemp 纹理数据 + */ + private createGrometry; + private getTopPosition; + private getBottomPosition; + /** + * 创建材质 + */ + private createMaterial; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 创建变换矩阵 + */ + private createGeometryMatrix; + clear(): void; +} + +/** + * 仪表盘效果 + */ + class DashBoardEffect extends RenderPositionObject { + private polygonAppearance; + private polygonGeometry; + private polygonPrimitive; + private angle; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + /** + * 创建网格体 + */ + private createGeometry; + /** + * 创建材质 + */ + private createAppearence; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 片源着色器方法 + */ + private getMS; + private createGeometryMatrix; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class DynamicRippleEffect extends RenderPositionObject { + dataOptions: any; + private _originProps; + private _resProps; + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + /** + * 初始化方法 + */ + init(): void; + private _dealResProps; + /** + * + * 编辑状态改变,属性赋值方式改变 + */ + updateAttributeForEditing(): void; + private _updateAllProp; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class FireRender extends RenderPositionObject { + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + getSrcByType(): string; + computeModelMatrix(position: any): any; + computeEmitterModelMatrix(): Cesium.Matrix4; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; +} + + class Flag extends RenderObject { + _state: string; + _canvasInfo: { + canvas: Element; + canvasWidth: number; + canvasHeight: number; + offsetAnchor: [number, number]; + offsetInflection: [number, number]; + flagpoleLeftTop: [number, number]; + flagpoleRightTop: [number, number]; + flagpoleLeftBottom: [number, number]; + flagpoleRightBottom: [number, number]; + }; + _root: any; + readonly renderType: RenderTypeEnum; + getCanvasInfo(): { + canvas: Element; + canvasWidth: number; + canvasHeight: number; + offsetAnchor: [number, number]; + offsetInflection: [number, number]; + flagpoleLeftTop: [number, number]; + flagpoleRightTop: [number, number]; + flagpoleLeftBottom: [number, number]; + flagpoleRightBottom: [number, number]; + }; + private createCanvas; + private _createCanvas; + private _calculatedLabelSize; + private _calculatedcanvasCoordinates; + /** + * 初始化方法 + */ + init(): void; + update(): void; + updateCanvas(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class FlowWallRender extends RenderObject { + private appearance; + private speed; + readonly renderType: RenderTypeEnum; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + /** + * 创建材质 + */ + private createMaterial; + private getSource; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class GradientSector extends RenderObject { + private _geometry; + private _appearance; + private _radius; + private _sliceUnit; + readonly renderType: RenderTypeEnum; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + update(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /** + * 创建attribute + */ + private createGeometeryAttribute; + /** + * 创建网格体 + * @param postionsTemp 顶点数据 + * @param stsTemp 纹理数据 + */ + private createGrometry; + /** + * 创建材质 + */ + private createMaterial; + /** + * 片源着色器方法 + */ + private getMS; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 创建变换矩阵 + */ + private createGeometryMatrix; + clear(): void; +} + + class HtmlElementDrag { + private dragElement; + private container; + private dragX; + private dragY; + private mouseDownX; + private mouseDownY; + private isMouseDown; + private _mouseDownCallback; + private _mouseMoveCallback; + private _mouseUpCallback; + constructor(); + onMouseDown(e: MouseEvent, dragElement: HTMLElement, container: HTMLElement): void; + mouseDownCallback: (e: MouseEvent) => void; + mouseMoveCallback: (e: MouseEvent, dragX: number, dragY: number) => void; + mouseUpCallback: (e: MouseEvent) => void; + onMouseMove(e: any): void; + onMouseUp(e: any): void; + static getPosition(element: HTMLElement): [number, number]; + static getElementSize(element: HTMLElement): [number, number]; +} + + class HtmlItem { + protected _id: string; + protected _name: string; + protected _element: HTMLElement; + protected _container: HTMLElement; + constructor(container: HTMLElement, element?: HTMLElement | HtmlItemOpt); + getType(): string; + static readonly type: string; + id: string; + name: string; + element: HTMLElement; + protected initElement(elementOpt?: HTMLElement | HtmlItemOpt): void; +} + class HtmlItemOpt { + type: string; + name?: string; + width?: number; + height?: number; +} + +class HtmlItemCollection { + private _id; + private _name; + private _htmlCollection; + private _htmlContainer; + private _container; + private _viewer; + constructor(viewer: GeoCanvas | Cesium.Viewer); + readonly id: string; + readonly values: HtmlItem[]; + name: string; + readonly container: HTMLElement; + /** + * 初始化 + */ + init(): void; + /** + * 添加 + */ + add(item: any): HtmlItem; + /** + * 删除 + */ + remove(htmlItem: HtmlItem): void; + /** + * 清空 + */ + removeAll(): void; + /** + * 根据id删除 + */ + removeById(id: string): void; + /** + * 根据id获取对象 + */ + getById(id: string): HtmlItem; + /** + * 是否包含该对象 + */ + contains(htmlItem: any): boolean; + private insertCssSheet; +} + + class ScreenTextItem extends HtmlItem { + private _childElement; + private _dragElement; + private _childElementMargin; + private _isEditting; + private _parentContainer; + private _onMouseDown; + private _onMouseChangeSize; + private _onMouseChangePos; + private _onTextChange; + constructor(container: HTMLElement, element?: HTMLElement | ScreenTextItemOpt); + getType(): string; + static readonly type: string; + readonly isEditting: boolean; + childElement: HTMLElement; + readonly text: string; + protected initElement(elementOpt?: HTMLElement | ScreenTextItemOpt): void; + setTop(value: number): void; + setLeft(value: number): void; + setWidth(value: number): void; + setHeight(value: number): void; + setMargin(value: number): void; + setProperty(propertyName: any, value: any): void; + setSelectState(isOpen: any): void; + onMouseDown: (e?: MouseEvent) => void; + onMouseChangeSize: (e: MouseEvent, dragX: number, dragY: number) => void; + onMouseChangePos: (e: MouseEvent, dragX: number, dragY: number) => void; + onTextChange: (e: KeyboardEvent, content: string) => void; + openEdit(): void; + closeEdit(): void; + private _initDragElement; +} + class ScreenTextItemOpt extends HtmlItemOpt { + type: string; + name?: string; + left?: number; + top?: number; + width?: number; + height?: number; + color?: string; + borderColor?: string; + borderStyle?: string; + borderWidth?: number; + backgroundColor?: string; + fontSize?: number; + fontFamily?: string; + fontWeight?: number; + textAlign?: string; + backgroundImage?: string; + backgroundSize?: string; + backgroundPosition?: string; + paddingLeft?: number; + paddingRight?: number; + paddingTop?: number; + paddingBottom?: number; + lineHeight?: number; + zIndex?: number; + text?: string; + position: string; + display: string; + backgroundRepeat?: string; +} + + class Icon { + protected _position: Cesium.Cartesian3; + protected _radius: Number; + protected _numberOfLines: Number; + protected _color: any; + protected _duration: Number; + protected _image: any; + protected entity: any; + protected viewer: any; + protected options: any; + constructor(options?: {}); + color: any; + position: Cesium.Cartesian3; + radius: Number; + numberOfLines: Number; + duration: Number; + image: any; + updateMaterial(type: any, value: any): void; + createEntity(): void; + addTo(viewer: any): void; + exists(): boolean; + remove(): void; + zoomTo(): void; +} + + class Icon2 extends Icon { + constructor(options?: {}); + createEntity(): Cesium.Entity; +} + + class CircleIconRender extends CircleRender { + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 获取材质的片元着色器 + */ + protected getMaterialFS(): string; + /** + * 创建材质对象 + */ + protected getMaterial(): Cesium.Material; +} + + class CircleRender extends RenderPositionObject { + private _buildGeometry; + private _time; + protected _appearance: Cesium.Appearance; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 获取类型 + * @readonly + * @type {RenderTypeEnum} + */ + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + /** + * 帧回调 + */ + protected dataUpdate(): void; + /** + * 获取材质的片元着色器 + */ + protected getMaterialFS(): string; + /** + * 创建材质对象,子类可以重写 + */ + protected getMaterial(): any; + /** + * 创建Appearence + */ + protected createAppearence(): void; + private getFS; + private getVS; + protected getMatrix(): Cesium.Matrix4; + protected createPolygonGeometry(): any; + /** + * 创建primitive + */ + protected createPrimitive(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; +} + + class IconMaterialProperty { + protected _image: any; + protected _duration: any; + protected _color: any; + protected _numberOfLines: Number; + definitionChanged: any; + protected _time: any; + constructor(options?: {}); + image: any; + duration: any; + numberOfLines: Number; + color: any; + isConstant(): Boolean; + translucent(): boolean; + equals(other: any): boolean; + getValue(time: any, result?: {}): {}; +} + + class Icon6 extends Icon { + private _gradient; + private _centerColor; + constructor(options?: {}); + gradient: any; + centerColor: any; + /** + * @override + */ + radius: number; + createEntity(): Cesium.Entity; +} + + class WarnIconRender extends CircleRender { + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 获取材质的片元着色器 + */ + protected getMaterialFS(): string; + /** + * 创建材质对象,子类可以重写 + */ + protected getMaterial(): Cesium.Material; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; +} + + class Icon8 extends Icon { + private _gradient; + constructor(options?: {}); + gradient: any; + createEntity(): Cesium.Entity; +} + + class WaveIconRender extends CircleRender { + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 获取材质的片元着色器 + */ + protected getMaterialFS(): string; + /** + * 创建材质对象,子类可以重写 + */ + protected getMaterial(): Cesium.Material; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; +} + + class IconRender extends RenderPositionObject { + readonly renderType: RenderTypeEnum; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + init(): void; + update(): void; + updateAttribute(attrName: any): void; + clear(): void; +} + + class JBLineRender extends RenderObject { + /**数据源 */ + result: any[]; + /**线 */ + linePrimitive: Cesium.Primitive; + /**填充网格体 */ + fillPrimitive: Cesium.Primitive; + /**拉高网格体 */ + supplementPrimitive: Cesium.Primitive; + /**线的材质 */ + lineAppearance: Cesium.PolylineMaterialAppearance; + /**填充网格体材质 */ + fillAppearance: Cesium.Appearance; + /**拉高网格体材质 */ + supplementAppearance: Cesium.Appearance; + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + /** + * 创建JB线 + */ + private create; + /** + * 数组去重 + * @param arr + */ + private unique; + /** + * 对数据添加高度信息 + */ + private addHeight; + /** + * 创建线 + */ + private createLine; + /** + * 创建矢量填充 + */ + private createFill; + /** + * 创建拉高网格体 + */ + private createSupplement; + /** + * 创建填充纹理图 + */ + private getColorRamp; + /** + * 获取数据 + */ + private getData; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; +} + + class JBPointRender extends RenderObject { + _positions: any[]; + _svgStr: any; + ent: any; + _image: string; + _appearance: Cesium.MaterialAppearance; + _label: any; + _rectangleInstance: any; + _labelCollect: any; + _objE: HTMLDivElement; + svgCode: string; + billboard: any; + _vectorPrimitiveCollection: any[]; + flagCode: any[]; + private svgHelper; + private trailLineStartPosition; + private trailLineStartGeoPosition; + private trailLineEndPosition; + private billboardCollection; + private originImgWidth; + private originImgHeight; + readonly renderType: RenderTypeEnum; + /** + * 时刻更新连接线 + * @ignore + */ + /** + * 初始化方法 + */ + init(): void; + /** + * 绘制billboard + * @param data + */ + renderByBillboard(data: any): void; + /** + * @ignore + * 获取拖线的 canvas + */ + private updateTrailLineCanvas; + /** + * @ignore + * 获取图标拖线正确连接点 + */ + private getTrailEndPoint; + /** + * 栅格方式渲染 + * @param data + */ + renderByGrid(data: any): void; + /** + * 创建Appearence + */ + createAppearence(): Cesium.PerInstanceColorAppearance; + /** + * 矢量形式渲染 + * @param data + */ + renderByVector(data: any): void; + /** + * 通过军标码加载 + * @param data + */ + JBLoad(data: any): void; + /** + * 分析threejs svgLoader解析后的svg数据 + * @param shape + * @param data + */ + analysis(shape: any, data: any): void; + /** + * + * @param holesRes 多边形边框 + * @param height 整体高度 + * @param extrudedHeight 挤压高度 + * @param color 边框色 + * @param holes 洞 + * @param holesColor 洞的颜色 + */ + createVector(holesRes: any, height: any, extrudedHeight: any, color: any, holes?: any, holesColor?: any): void; + /** + * 计算点标洞口位置信息 + * @param holes + * @param position + */ + calcholes(holes: any, position: any): any; + update(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + updateHole(holes: any, color: any): any; + modifySvg(code: any, color: any, strokeWidth: any, strokeColor: any, callback: any): void; + parseDom(arg: any): NodeListOf; + getSVG(): string; + SVG(svg: any): string; + clear(): void; + /** + * @ignore + * 根据特殊标绘计算应该有的偏移 + * PS:参考标准 JB 需求表 + */ + getCurrectOffset(): number[]; +} + + class Corner { + pos: Cesium.Cartesian3; + center: Cesium.Cartesian3; + radius: number; + pre: Cesium.Cartesian3; + nxt: Cesium.Cartesian3; + circleNum: number; + constructor(opt: any); +} + class CirclePipeCornerGeometry extends PipelineGeometry { + private _corners; + /** + * 构建圆管转角的顶点、纹理、法线属性数据 + * ● center + * /┊ + * // ┊radius + * / / ┊ + * pre \/___┊ + * pos nxt + * @param cornerArray 圆管转角的数组 + * @param radius 圆管的半径 + */ + constructor(cornerArray: Array, radius: number, shape: SectionShape); + protected building(): void; + getCorners(): Corner[]; + getLineIndices(): any[]; + getTriangleIndices(): any[]; +} + + class CirclePipelineGeometry extends PipelineGeometry { + private _pts; + /** + * 构建圆管的顶点、纹理、法线属性数据 + * @param pts 顶点成对出现,即pts是由线段组成,数组长度是偶数 + * @param radius 圆管的半径 + */ + constructor(pts: Array, radius: number, shape: SectionShape); + protected building(): void; + getLineIndices(): any[]; + getTriangleIndices(): any[]; +} + + class PipelineBaseRender extends RenderObject { + protected _primitiveLines: Cesium.Primitive; + protected _lineApp: Cesium.MaterialAppearance; + protected _polyApp: Cesium.MaterialAppearance; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + readonly renderType: RenderTypeEnum; + /** + * 初始化 + */ + init(): void; + clear(): void; + /** + * 创建线对象的appearance + * @param c + */ + protected createLineAppearance(c: Cesium.Color): any; + /** + * 创建面对象的appearance + * @param c + * @param image + */ + protected createPolyAppearance(c: Cesium.Color, image: string): any; + /** + * 片源着色器方法 + */ + private getMS1; + /** + * 片源着色器方法 + */ + private getMS2; + /** + * 根据提供的数据构建geometry对象 + * @param vertexs 顶点数据 + * @param nors 法线数据 + * @param sts 纹理数据 + * @param inds 索引数据 + * @param type 图形类型(Cesium.PrimitiveType.LINES、Cesium.PrimitiveType.TRIANGLES) + */ + protected createGeometry(vertexs: any, nors: any, sts: any, inds: any, type: any): Cesium.Geometry; + protected createLineGeometry(): any[]; + protected createTriangleGeometry(): any[]; + protected createPrimitiveLine(): void; + protected createPrimitive(): void; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + + class Corner { + pos: Cesium.Cartesian3; + center: Cesium.Cartesian3; + radius: number; + pre: Cesium.Cartesian3; + nxt: Cesium.Cartesian3; + arc: Array; + circleNum: number; + constructor(opt: any); +} + class PipelineCornerGeometry extends PipelineGeometry { + private _corners; + /** + * 构建圆管转角的顶点、纹理、法线属性数据 + * ● center + * /┊ + * // ┊radius + * / / ┊ + * pre \/___┊ + * pos nxt + * @param cornerArray 圆管转角的数组 + * @param radius 圆管的半径 + */ + constructor(cornerArray: Array, radius: number, shape: SectionShape); + protected building(): void; + getCorners(): Corner[]; + getLineIndices(): any[]; + getTriangleIndices(): any[]; +} + + class PipelineGeometry { + protected _radius: number; + protected _shape: SectionShape; + protected _shapePtsNum: number; + protected _vertex: Array; + protected _texture: Array; + protected _normals: Array; + constructor(radius: number, shape: SectionShape); + protected building(): void; + /** + * 矩阵(preMatrix)叠加另一个矩阵(一个从向量v(0, -1, 0)旋转到向量dir方向的矩阵) ------注意:某些特殊情况下还需要优化 + * @param preMatrix + * @param dir + */ + protected getRotateMatrix(preMatrix: any, dir: any): any; + radius: number; + getVertex(): Cesium.Cartesian3[]; + getTexture(): Cesium.Cartesian2[]; + getNormal(): Cesium.Cartesian3[]; + getShapePtsNum(): number; + getLineIndices(): any; + getTriangleIndices(): any; + createLineGeometry(): Cesium.Geometry; + createTriangleGeometry(): Cesium.Geometry; +} + +/// +/** + * 管道线渲染对象 + */ + class PipelineRender extends PipelineBaseRender { + private _circlePts; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化 + */ + init(): void; + private getAngle; + private getStartAngle; + protected createLineGeometry(): any[]; + protected createLineGeometry_(): Cesium.Geometry[]; + private combineVertex; + protected createTriangleGeometry(): any[]; + protected createTriangleGeometry_(): Cesium.Geometry[]; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + + class PipelineSegGeometry extends PipelineGeometry { + private _pts; + /** + * 构建直线段管的顶点、纹理、法线属性数据 + * @param pts 顶点成对出现,即pts是由线段组成,数组长度是偶数 + * @param radius 管的半径 + */ + constructor(pts: Array, radius: number, shape: SectionShape); + protected building(): void; + getLineIndices(): any[]; + getTriangleIndices(): any[]; +} + + class PipelineStripGeometry extends PipelineGeometry { + /** 渲染所需的中心线参数 + * { + * geos:Array, //中心线地理坐标 + * pts:Array, //中心线世界坐标 + * types:Array //中心线类型(true表示直线段;false表示曲线段) + * } + */ + private _paras; + private _shapeNum; + /** + * 构建连续线管的顶点、纹理、法线属性数据 + * @param pts 连续线段的顶点 + * @param radius 管的半径 + */ + constructor(para: { + geos: Array; + pts: Array; + types: Array; + }, radius: number, shape: SectionShape); + protected building(): void; + getLineIndices(): any[]; + getTriangleIndices(): any[]; +} + +/** + * 管道线渲染对象 + */ + class PipelineStripRender extends PipelineBaseRender { + protected _geometry: PipelineStripGeometry; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化 + */ + init(): void; + private buildGeometry; + protected createLineGeometry(): any[]; + protected createTriangleGeometry(): any[]; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + + class PipelineTurnGeometry extends PipelineGeometry { + private _pts; + /** + * 构建两线拐弯处的顶点、纹理、法线属性数据 + * @param pts 连续线段的顶点 + * @param radius 管的半径 + */ + constructor(pts: Array, radius: number, shape: SectionShape); + protected building(): void; + getLineIndices(): any[]; + getTriangleIndices(): any[]; +} + + class PipelineTurnPartGeometry extends PipelineGeometry { + private _pts; + private _types; + private _shapeNum; + protected _topAttributes: { + vertex: Array; + texture: Array; + normals: Array; + types: Array; + }; + protected _bottomAttributes: { + vertex: Array; + texture: Array; + normals: Array; + types: Array; + }; + /** + * 构建两线拐弯内侧面的顶点、纹理、法线属性数据 + * @param pts 连续线段的顶点 + * @param radius 管的半径 + */ + constructor(pts: Array, types: Array, radius: number, shape: SectionShape); + protected building(): void; + getLineIndices(): any[]; + getTriangleIndices(): any[]; + getTopAttributes(): { + vertex: Cesium.Cartesian3[]; + texture: Cesium.Cartesian2[]; + normals: Cesium.Cartesian3[]; + types: boolean[]; + }; + getBottomAttributes(): { + vertex: Cesium.Cartesian3[]; + texture: Cesium.Cartesian2[]; + normals: Cesium.Cartesian3[]; + types: boolean[]; + }; +} + + class PipeMath { + /** + * 获取单位圆顶点(结果顶点中的z分量表示纹理偏移量) + * @param span 等分角度 + */ + static getCircle(span?: number): any[]; + /** + * 获取单位半圆顶点(结果顶点中的z分量表示纹理偏移量) + * @param span 等分角度 + */ + static getCirclePart(span?: number): any[]; + /** + * 获取单位矩形(外接圆半径为1.0,结果顶点中的z分量表示纹理偏移量) + */ + static getRect(): any[]; + /** + * 获取单位半矩形(外接圆半径为1.0,结果顶点中的z分量表示纹理偏移量) + */ + static getRectPart(): any[]; + /** + * 获取2d单位圆角矩形(外接圆半径为1.0,结果顶点中的z分量表示纹理偏移量) + * @param roundAngle 圆角的角度 + */ + static getRoundRect(roundAngle?: number): any[]; + /** + * 获取2d单位半个圆角矩形(外接圆半径为1.0,结果顶点中的z分量表示纹理偏移量) + * @param roundAngle 圆角的角度 + */ + static getRoundRectPart(roundAngle?: number): any[]; + /** + * 获取2d单位圆弧顶点 + * @param beginAngle 起始角度 + * @param allAngle 圆弧总角度 + * @param span 等分角度 + */ + static getPartCircle2D(beginAngle: number, allAngle?: number, span?: number): any[]; + static getShapePts(shape: SectionShape): any; + static getShapePartPts(shape: SectionShape): any; + /** + * 计算向量a朝向量b方向旋转angle角度的旋转矩阵 + * @param a 向量a + * @param b 向量b + * @param angle 旋转角度(不设置时,默认为a与b之间的夹角,是角度值而非弧度值) + */ + static getRotateMatrix(a: Cesium.Cartesian3, b: Cesium.Cartesian3, angle?: number): Cesium.Matrix3; + /** + * 根据拐弯圆心和前后切点,计算拐弯曲线,返回Array + * @param preTangency 前切点 + * @param pt 拐弯顶点 + * @param nxtTangency 后切点 + * @param center 拐弯圆心点 + */ + static getCornerCenterLine(preTangency: Cesium.Cartesian3, pt: Cesium.Cartesian3, nxtTangency: Cesium.Cartesian3, center: Cesium.Cartesian3): any[]; + /** + * 计算圆角参数,即计算圆角圆心、前向切点、后向切点三参数 + * @param pre 拐弯起始点 + * @param pos 拐弯点 + * @param nxt 拐弯结束点 + * @param r 圆角半径 + */ + static getRoundParas(pre: Cesium.Cartesian3, pos: Cesium.Cartesian3, nxt: Cesium.Cartesian3, r: number): { + center: Cesium.Cartesian3; + preTangency: Cesium.Cartesian3; + nxtTangency: Cesium.Cartesian3; + }; + /** + * 判断两个矩形是否有交集 + * @param rect 比较的矩形 + * @param other 被比较的矩形 + * @return true:有相交; false:不相交 + */ + static isRectIntersect(rect: Cesium.Rectangle, other: Cesium.Rectangle): boolean; + /** + * 判断线段p1p2与线段p3p4共线的14种情况(仅供isLineIntersect函数使用) + * @param v 向量:p3p4 + * @param a 向量:p3p1 + * @param b 向量:p3p2 + */ + private static sameLine2; + /** + * 判断线段p1p2与线段p3p4共线的14种情况(仅供isLineIntersect函数使用) + * @param v 向量:p1p2 + * @param a 向量:p1p3 + * @param b 向量:p1p4 + */ + private static sameLine1; + /** + * 判断两条直线段是否相交 + * @param p1 直线段1起始点 + * @param p2 直线段1终止点 + * @param p3 直线段2起始点 + * @param p4 直线段2终止点 + * @return 0:不相交;1:相交于中间点;2:p1与p3重合;3:p2与p3重合;4:p1与p4重合;5:p2与p4重合; + * 6:交点p3在p1p2线上;7:交点p4在p1p2线上;8:交点p1在p3p4线上;9:交点p2在p3p4线上; + * 10:共线(14种情况) + */ + static isLineIntersect(p1: GeoPoint, p2: GeoPoint, p3: GeoPoint, p4: GeoPoint): 0 | 2 | 1 | 3 | 10 | 7 | 6 | 5 | 4 | 8 | 9; + /** + * 求线段p1p2与线段p3p4的交点(前提条件是,两条线段必须相交) + * @param p1 线段p1p2的起始点 + * @param p2 线段p1p2的终止点 + * @param p3 线段p3p4的起始点 + * @param p4 线段p3p4的终止点 + */ + static getLineIntersect(p1: GeoPoint, p2: GeoPoint, p3: GeoPoint, p4: GeoPoint): GeoPoint; + /** + * 判断两个地理坐标是否相等 + * @param pt + * @param other + */ + static isEqual(pt: GeoPoint, other: GeoPoint): boolean; + /** + * 判断线段p1p2与线段p3p4是否平行 + * @param p1 + * @param p2 + * @param p3 + * @param p4 + * @return true:表示平行;false:表示不平行 + */ + static isParallel(p1: GeoPoint, p2: GeoPoint, p3: GeoPoint, p4: GeoPoint): boolean; +} + +/** + * 管道两线拐弯部分渲染对象 + */ + class PipeTurnThreeRender extends PipelineBaseRender { + private _creatorArray; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化 + */ + init(): void; + private isRight; + private isLeft; + private getAngle; + /** + * 获取顶点数据,纹理数据,法线数据,返回顶点索引数组 + * @param attributeArr + * @param vertexs 顶点数据 + * @param nors 法线数据 + * @param sts 纹理数据 + * @return 返回一个数组(长度为拐弯个数*2),数组中的每个元素是一个object对象 + * { + * indexArr:Array, //半个拐弯顶点索引 + * hasArc: boolean //拐弯线段中是否包含曲线段 + * } + */ + private getAttributes; + private buildLineIndexByArray; + private buildTriangleIndexByArray; + /** + * 根据拐弯顶点索引以及顶点数据,计算线段索引数据 + * @param partIndexArr 拐弯顶点索引数组(数组中的每个元素为半个拐弯顶点索引数组) + * @param vertexs 顶点数据 + */ + private getLineIndexArray; + /** + * 根据拐弯顶点索引以及顶点数据,计算三角面的索引数据 + * @param partIndexArr 拐弯顶点索引数组(数组中的每个元素为半个拐弯顶点索引数组) + * @param vertexs 顶点数据 + * @param isLine 是否为三角面的线段索引,默认为false,表示为三角面索引 + */ + private getIndexArray; + private createGeometryCreator; + protected createLineGeometry(): any[]; + protected createTriangleGeometry(): any[]; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + +/** + * 管道两线拐弯部分渲染对象 + */ + class PipeTurnTwoRender extends PipelineBaseRender { + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化 + */ + init(): void; + protected createLineGeometry(): any[]; + protected createTriangleGeometry(): any[]; + /** + * 更新属性 + * @param attrName 属性名 + */ + updateAttribute(attrName: any): void; +} + + class GxPrimitivePolyline { + private vertexShader; + private fragmentShader; + private viewer; + private positionArr; + private colorArr; + private indiceArr; + /** + * 通过参数组成的Geomerty + */ + geometry: Cesium.Geometry; + /** + * 三角网Appearance + */ + appearance: Cesium.Appearance; + /** + * 构造函数 + * @param viewer 球 + * @param Cartesians 位置数组,三个点构成一个面 + * @param Colors 颜色数组,长度必须为Cartesians的4倍[1][1][1][0],4位为一个顶点的颜色 + */ + constructor(viewer: Cesium.Viewer, Cartesians: Array, Colors: Array); + private CreateGeometry; + private CreateAppearence; + private getVS; + private getFS; +} + +/** + * 三角网绘制 + */ + class GxPrimitiveTriangles { + private vertexShader; + private fragmentShader; + private viewer; + private positionArr; + private colorArr; + private indiceArr; + /** + * 通过参数组成的Geomerty + */ + geometry: Cesium.Geometry; + /** + * 三角网Appearance + */ + appearance: Cesium.Appearance; + /** + * 构造函数 + * @param viewer 球 + * @param Cartesians 位置数组,三个点构成一个面 + * @param Colors 颜色数组,长度必须为Cartesians的4倍[1][1][1][0],4位为一个顶点的颜色 + */ + constructor(viewer: Cesium.Viewer, Cartesians: Array, Colors: Array); + private CreateGeometry; + private CreateAppearence; + private getVS; + private getFS; +} + + class RadarNodeRender extends RenderPositionObject { + private _sphereVertex; + private _sphereTriangle; + private _sphereLines; + private _sphereCone; + private _scanPlane; + private _primitiveOut; + private _primitiveLine; + private _primitiveCone; + private _primitiveScan; + private _primitiveScanLine; + private _posMatrix; + private _lastTime; + private _rotateAngle; + private _isReserve; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + readonly renderType: RenderTypeEnum; + init(): void; + /** + * 更新回调 + */ + protected dataUpdate(): void; + /** + * 计算Geometry,只有控制角度和半径发生改变时才需要调用此函数重新计算 + */ + private createGeometry; + /** + * 创建Primitive,只有颜色和位置发生改变时才需要调用此函数重新创建 + */ + private createPrimitive; + /** + * 绘制外罩面 + */ + private createOutPrimitive; + /** + * 绘制外罩线 + */ + private createLinePrimitive; + /** + * 绘制内锥及侧面 + */ + private createConePrimitive; + /** + * 绘制扫描板 + */ + private createScanPrimitive; + private getModelMatrix; + private getScanModelMatrix; + /** + * 属性更新 + * @param attrName + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class RadarRender extends RenderObject { + private primitivePolyline; + private primitiveTriangles; + private scanPrimitivePolyline; + private scanPrimitiveTriangles; + isPrimitive: boolean; + private radarOption; + private _position; + private angle; + private isReserve; + private lastTime; + readonly renderType: RenderTypeEnum; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化 + */ + init(): void; + listenerFun: () => void; + position: GeoPoint; + private create; + private createScan; + private originalMatrix; + private updateModelMatrix; + private createPrimitive; + /** + * 更新外观,在修改属性之后 + */ + update(): void; + /** + * 属性更新 + * @param attrName + */ + updateAttribute(attrName: any): void; + /** + * 清除 + */ + clear(): void; +} + + class ScanPlane { + geometry: Cesium.Geometry; + geometryLines: Cesium.Geometry; + appearance: Cesium.Appearance; + appearanceLines: Cesium.Appearance; + private positions; + private colors; + private indices; + private _obj; + constructor(obj: SphereVertex); + createAppearance(c: Cesium.Color): any; + /** + * 片源着色器方法 + */ + private getMS; + private createLineAppearance; + private getFS; + private getVS; + createGeometry(fileScan: boolean): void; + createLineGeometry_1(): void; + createLineGeometry(c: Cesium.Color): void; +} + + class SphereCone { + geometry: Cesium.Geometry; + appearance: Cesium.Appearance; + private _obj; + constructor(obj: SphereVertex); + createAppearance(c: Cesium.Color): any; + /** + * 片源着色器方法 + */ + private getMS; + createGeometry(): void; +} + + class SphereLines { + geometry: Cesium.Geometry; + appearance: Cesium.Appearance; + private _obj; + constructor(obj: SphereVertex); + createAppearance(c: Cesium.Color): any; + /** + * 片源着色器方法 + */ + private getMS; + createGeometry(): void; +} + + class SphereTriangles { + geometry: Cesium.Geometry; + appearance: Cesium.Appearance; + private _obj; + constructor(obj: SphereVertex); + createAppearance(c: Cesium.Color): any; + /** + * 片源着色器方法 + */ + private getMS; + createGeometry(): void; +} + + class SphereVertex { + private _radius; + private _horStart; + private _horEnd; + private _verStart; + private _verEnd; + private _thick; + private _slice; + private _pts; + private _texs; + private _normals; + private _hNum; + private _vNum; + private _ptsScan; + private _texScan; + private _norScan; + private _hNumScan; + private _offset; + constructor(radius: number, horStart: number, horEnd: number, verStart: number, verEnd: number, thick: number); + setParas(radius: number, horStart: number, horEnd: number, verStart: number, verEnd: number, thick: number): void; + offset: Cesium.Cartesian3; + /** + * 计算所有的顶点及纹理坐标 + */ + private calculateVertexAndTextures; + /** + * 获取顶点坐标数组,顶点个数为:(horizonNumber + 1) * (verticalNumber + 1) + */ + readonly vertexs: any[]; + /** + * 获取纹理坐标数组 + */ + readonly textures: any[]; + /** + * 获取法线向量数组 + */ + readonly normals: any[]; + /** + * 获取横向分段数量 + */ + readonly horizonNumber: number; + /** + * 获取纵向分段数量 + */ + readonly verticalNumber: number; + /** + * 获取扫描板顶点坐标数组 + */ + readonly vertexScan: any[]; + /** + * 获取扫描板纹理坐标数组 + */ + readonly textureScan: any[]; + /** + * 获取扫描板法线向量数组 + */ + readonly normalScan: any[]; + /** + * 获取扫描板横向分段数量 + */ + readonly horizonNumberScan: number; +} + +/** + * 标绘渲染对象虚方法 + */ + class RenderObject { + _renderObj: any; + _dataItem: GraphicItem; + _renderRoot: any; + _viewer: Cesium.Viewer; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + readonly renderType: RenderTypeEnum; + readonly renderObj: any; + /** + * 初始化方法 + */ + init(): void; + /** + * 清理 + */ + clear(): void; + /** + * 整体更新 + */ + update(framestate: any): void; + /** + * 属性更新(为提高效率) + */ + updateAttribute(attrName: string): void; +} + enum RenderTypeEnum { + Entity = "entity", + Primitive = "Primitive", + PostProcess = "PostProcess", + Lable = "Lable", + Billboard = "Billboard", + DrawCombination = "DrawCombination", + HtmlItem = "html" +} + +/** + * 点标绘的绘制虚基类,提供更新回调机制处理位置绑定 + */ + class RenderPositionObject extends RenderObject { + protected _listener: Function; + protected _needClock: boolean; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 添加更新回调,自动执行dataUpdate成员函数执行更新(当位置绑定对象时,会自动添加此回调) + * @param b 当位置绑定关系取消时,是否继续保持此回调,执行dataUpdate成员函数 + */ + addUpdateCallback(b?: boolean): void; + removeUpdateCallback(): void; + /** + * 更新回调(实现位置绑定) + */ + protected dataUpdate(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: string): void; + clear(): void; +} + +/** + * 渲染工具对象 + */ + class RenderUtils { + constructor(); + static getPositions(value: Array): any[]; + static getRadii(value: any): Cesium.Cartesian3; + static getRectangleDegress(value: any): Cesium.Rectangle; + static getImage(value: any, transparent?: Boolean): Cesium.ImageMaterialProperty; + static getClassificationType(value: any): any; + static getShadows(value: any): any; + static getGranularity(value: any): number; + static getColor(value: any): Cesium.Color; + static getDynamicColor(value: String): Cesium.CallbackProperty; + static getDynamicValue(value: any): Cesium.CallbackProperty; + static getPosition(value: GeoPoint): Cesium.Cartesian3; + static getNearFarScalar(value: any): Cesium.NearFarScalar; + static getDynamicNearFarScalar(value: any): Cesium.CallbackProperty; + static getDistanceDisplayCondition(value: any): Cesium.DistanceDisplayCondition; + static getDynamicDistanceDisplayCondition(value: any): Cesium.CallbackProperty; + static getCartesian2(value: any): Cesium.Cartesian2; + static getVerticalOrigin(str: any): any; + /** + * 水平对齐方式 + */ + static getHorizontalOrigin(str: any): any; + static getHeightReference(str: any): any; + static getStyle(value: any): number; + static getPositionDegrees(value: any): Cesium.Cartesian3; + static getCartesian3(value: any): Cesium.Cartesian3; + static getOrientation(position: any, hpr: any): any; + static getHpr(heading: any, pitch: any, roll: any): Cesium.HeadingPitchRoll; + static getHeading(value: any): number; +} + + class ScanEffect extends RenderPositionObject { + private polygonAppearance; + private polylineAppearance; + private polygonGeometry; + private polylineGeometry; + private polygonPrimitive; + private polylinePrimitive; + private angle; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + protected dataUpdate(): void; + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + /** + * 创建网格体 + */ + private createGeometry; + /** + * 创建材质 + */ + private createAppearence; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 片源着色器方法 + */ + private getMS; + private createGeometryMatrix; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class ScreenTextRender extends RenderObject { + private _originProps; + private _resProps; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + readonly renderType: RenderTypeEnum; + init(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + private _dealResProps; + getHtmlText(): any; + updateAttributeForEditing(): void; + private _updateAllProp; +} + + class SectorSensor extends RenderObject { + private _geometry; + private _appearance; + private _radius; + readonly renderType: RenderTypeEnum; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + listenerFun: () => void; + update(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /** + * 创建attribute + */ + private createGeometeryAttribute; + /** + * 创建网格体 + * @param postionsTemp 顶点数据 + * @param stsTemp 纹理数据 + */ + private createGrometry; + /** + * 创建材质 + */ + private createMaterial; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 创建变换矩阵 + */ + private createGeometryMatrix; + clear(): void; +} + + class SensorRender extends RenderPositionObject { + dataOptions: any; + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; + update(): void; +} + + class SpreadCircleClampRender extends SpreadCircleRender { + private _animation; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + protected clampToGround(): boolean; + protected onViewChanged(): void; + protected dataUpdate(): void; + /** + * 动画函数 + */ + private animate; + /** + * 获取材质片元着色器 + */ + protected getMaterialFS(): string; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /** + * 删除 + */ + clear(): void; +} + + class SpreadCircleLineRender extends SpreadCircleRender { + private _renderType; + private _animation; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + protected clampToGround(): boolean; + protected onViewChanged(): void; + protected dataUpdate(): void; + /** + * 动画函数 + */ + private animate; + /** + * 材质片元着色器 + */ + protected getMaterialFS(): any; + protected getMultipleFs(): string; + protected getSingleFs(): string; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /** + * 删除 + */ + clear(): void; +} + + class SpreadCircleRampRender extends SpreadCircleRender { + private _animation; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + protected clampToGround(): boolean; + protected onViewChanged(): void; + protected dataUpdate(): void; + /** + * 动画函数 + */ + private animate; + protected getMaterial(): Cesium.Material; + /** + * 获取片源着色器 + */ + protected getMaterialFS(): string; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /** + * 删除 + */ + clear(): void; +} + +/** + * 各类扩散圆的绘制虚基类 + * 子类:SpreadCircleLineRender + * 子类:SpreadCircleClampRender + * 子类:SpreadCircleRampRender + * 子类:SpreadCircleRingRender + */ + class SpreadCircleRender extends RenderPositionObject { + protected _duration: number; + private _buildGeometry; + private _viewChange; + protected _offset: Cesium.Cartesian3; + protected _appearance: Cesium.Appearance; + protected _groundPrimitive: Cesium.GroundPrimitive; + protected _primitive: Cesium.Primitive; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + protected onViewChanged(): void; + /** + * 获取类型 + * @readonly + * @type {RenderTypeEnum} + */ + readonly renderType: RenderTypeEnum; + protected clampToGround(): boolean; + /** + * 获取材质的片元着色器,若子类不重写getMaterial函数,则子类需要实现此函数 + */ + protected getMaterialFS(): string; + /** + * 创建材质对象,子类可以重写 + */ + protected getMaterial(): Cesium.Material; + /** + * 创建Appearence + */ + protected createAppearence(): void; + private getFS; + private getVS; + protected getMatrix(): Cesium.Matrix4; + protected createGeometry3D(): Cesium.Geometry; + protected createPolygonGeometry(): any; + /** + * 创建二维视图下几何体 + */ + protected createGeometry2D(): Cesium.Geometry; + /** + * 创建primitive + */ + protected createPrimitive(clamp: boolean): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /** + * 删除 + */ + clear(): void; +} + + class SpreadCircleRingRender extends SpreadCircleRender { + private _renderType; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 初始化方法 + */ + init(): void; + protected onViewChanged(): void; + /** + * 帧回调 + */ + protected dataUpdate(): void; + protected getMaterial(): Cesium.Material; + /** + * 着色器代码段 + */ + private getSolidFs; + /** + * 获取片源着色器 + */ + protected getRampFs(): string; + /** + * 着色器代码段 + */ + private getStripFs; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /** + * 删除 + */ + clear(): void; +} + + class SpreadEffect extends RenderPositionObject { + /**位置 */ + private position; + /**半径 */ + private radius; + /**颜色 */ + private spreadColor; + /**网格体 */ + private spreadGeometry; + /**材质 */ + private spreadAppearance; + private scale; + private speed; + readonly renderType: RenderTypeEnum; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + protected dataUpdate(): void; + /** + * 初始化方法 + */ + init(): void; + /** + * 创建网格体 + */ + private createGeometry; + private createGeometryMatrix; + /** + * 创建材质 + */ + private createAppearence; + /** + * 片源着色器方法 + */ + private getMS; + /** + * 创建primitive + */ + private createPrimitive; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class TriangleMesh extends RenderObject { + _indices: number[]; + readonly renderType: RenderTypeEnum; + _triPrimitive: any; + _viewer: any; + _points: Array; + _color: string; + init(): void; + create(): void; + formatData(): { + points: number[]; + indices: number[]; + colors: Float32Array; + }; + /** + * + * @param {*} inputs // minX,minY,maxX,maxY,png[string/url] + * @param {*} callback // instance obj + */ + draw_triangles(inputs: any, callback: any): void; + getVS(): string; + getFS(): string; + createAppearance(): Cesium.Appearance; + clear(): void; + update(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; +} + + class TruncatedConeParticleRender extends RenderPositionObject { + private _appearance1; + private _appearance2; + private _appearance3; + private _buildGeometry; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 获取类型 + * @readonly + * @type {RenderTypeEnum} + */ + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + private createCirclesImage; + private createConeImage; + protected createAppearence(): void; + protected createPrimitive(): void; + private createParticleGeometry; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class TruncatedConeRender extends RenderPositionObject { + private _appearance1; + private _appearance2; + private _appearance3; + private _buildGeometry; + constructor(item: GraphicItem, renderRoot: GraphicLayer); + /** + * 获取类型 + * @readonly + * @type {RenderTypeEnum} + */ + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + protected dataUpdate(): void; + private createPartOneImage; + private createPartTwoImage; + private createPartThreeImage; + protected createAppearence(): void; + protected createPrimitive(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; +} + + class WaterEffect extends RenderObject { + private _fragmentShader; + private _appearance; + private _geometry; + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + /** + * 修改片源着色器 + * @return {string} 片源着色器 + */ + private fSWaterFace; + /** + * 创建材质 + * @returns 材质 + */ + private createAppearence; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + clear(): void; + /** + * 法向量图 + * @return {string} 图片资源 + */ + private normalMap; +} + + class WaterFace extends RenderObject { + _pointsToCartographic: any; + _waterColor: any; + _refractColor: any; + _reflectColor: any; + _waveWidth: any; + _flowDirection: any; + _flowSpeed: any; + _normalTexture: any; + _m_startTime: any; + _reflectCamera: any; + _reflectPassState: any; + _initialized: Boolean; + _drawCommand: any; + _visible: Boolean; + _waterPolygon: any; + _zFactor: any; + _lonMin: any; + _latMin: any; + _waterCenterPos: any; + m_spNormalTexture: any; + _fScale: any; + invWorldViewMatrix: any; + modelMatrix: any; + modelViewMatrix: any; + modeiViewProjection: any; + _fElapse: any; + _frameTime: any; + _flowAngle: any; + _uniformMap: any; + _waterGeometry: any; + constructor(options: WaterFaceItem, renderRoot?: GraphicLayer); + init(): void; + updateAttribute(key: any): void; + readonly renderType: RenderTypeEnum; + waterPolygon: any; + waterColor: any; + flowSpeed: any; + flowDirection: any; + waveWidth: any; + visible: Boolean; + computeBoundingRectangle(): void; + initialize(framestate: any): void; + update(frameState: any): void; + updateReflectTexture(frameState: any): void; + renderColorTexture(frameState: any, passState: any, camera: any): void; + destroy(): void; +} + + class WeatherParticle extends RenderObject { + private _rainVelocity; + private _snowVelocity; + private _weatherType; + readonly renderType: RenderTypeEnum; + /** + * 初始化方法 + */ + init(): void; + /** + * 属性更新 + */ + updateAttribute(attrName: any): void; + /** + * 创建粒子系统 + * @returns + */ + private createParticle; + /** + * 创建雪的发生器矩阵 + */ + private computeEmitterMatrix; + /** + * 更新函数 + * @param {any} 粒子对象 + */ + private updateParticle; + clear(): void; +} + +/** + * @注意 用户不需要示例化 + * @描述 线样式基类 + */ + class BaseLineStyle { + protected _material: any; + /** + *@注意 内部实现使用 + *序列化 + */ + toJson(): void; + /** + * @注意 内部实现使用 + */ + getMaterial(): any; +} +/** + * @注意 内部使用 + * @描述 线样式构造器 + */ + class LineStyle { + static createStyle(opt: any): ColorStyle | ArrowStyle | OutlineStyle | DashStyle | GlowStyle | DynamicStyle | TextureStyle; +} +/** + * 颜色样式 + */ + class ColorStyle extends BaseLineStyle { + private _color; + constructor(any: any); + /** + * 颜色 + */ + color: any; + /** + * @注意 + */ + getMaterial(): any; + toJson(): { + type: PolylineStyleEnum; + color: string; + }; +} +/** + * 箭头 + */ + class ArrowStyle extends BaseLineStyle { + private _color; + constructor(any: any); + /** + * 颜色 + */ + color: any; + /** + *@注意 内部实现使用 + *序列化 + */ + toJson(): { + type: PolylineStyleEnum; + color: string; + }; +} +/** + * 外边框线 + */ + class OutlineStyle extends BaseLineStyle { + private _color; + private _outlineWidth; + private _outlineColor; + constructor(any: any); + /** + * 颜色 + */ + color: string; + /** + * 外边框宽度 + */ + outlineWidth: number; + /** + * 外边框颜色 + */ + outlineColor: string; + /** + *@注意 内部实现使用 + *序列化 + */ + toJson(): { + type: PolylineStyleEnum; + color: string; + outlineColor: string; + outlineWidth: number; + }; +} +/** + * 虚线 + */ + class DashStyle extends BaseLineStyle { + private _color; + private _gapColor; + private _dashLength; + private _dashPattern; + constructor(any: any); + /** + * 颜色 + */ + color: string; + /** + * 中间颜色 + */ + gapColor: string; + /** + * pixel中的虚线模式的长度 + */ + dashLength: number; + /** + * 短划线16位模式 + */ + dashPattern: number; + /** + *@注意 内部实现使用 + *序列化 + */ + toJson(): { + type: PolylineStyleEnum; + color: string; + gapColor: string; + dashPattern: number; + dashLength: number; + }; +} +/** + * 发光线 + */ + class GlowStyle extends BaseLineStyle { + private _color; + private _glowPower; + private _taperPower; + constructor(any: any); + /** + * 颜色值 + */ + color: string; + /** + * 发光强度占总线宽的百分比 + */ + glowPower: number; + /** + * 指定逐渐减小效果的强度,以总线长度的百分比表示。如果为1.0或更高,则不使用锥度效果。 + */ + taperPower: number; + /** + *@注意 内部实现使用 + *序列化 + */ + toJson(): { + type: PolylineStyleEnum; + color: string; + taperPower: number; + glowPower: number; + }; +} +/** + * 动态线 + */ + class DynamicStyle extends BaseLineStyle { + private _icon; + private _color; + private _duration; + private _update; + constructor(any: any); + private _updateMaterial; + /** + *@注意 内部实现使用 + *序列化 + */ + setUpdate(value: any): void; + /** + * 动态线的图案 + */ + icon: DynamicIconEnum; + /** + * 颜色 + */ + color: string; + /** + * 跟新周期(渲染多少次执行一次渲染) + */ + duration: number; + /** + *@注意 内部实现使用 + *序列化 + */ + toJson(): { + type: PolylineStyleEnum; + icon: DynamicIconEnum; + color: string; + duration: number; + }; +} + class TextureStyle extends BaseLineStyle { + private _icon; + private _color; + private _revert; + private _dynamic; + private _speed; + private _update; + constructor(any: any); + private _updateMaterial; + /** + *@注意 内部实现使用 + *序列化 + */ + setUpdate(value: any): void; + /** + * 线的图案 + */ + icon: TextureIconEnum; + /** + * 纹理是否动态偏移(流动效果,默认:false) + */ + dynamic: boolean; + /** + * 纹理偏移速度(流动效果独有,默认:1.0) + */ + speed: number; + /** + * 颜色 + */ + color: string; + /** + *@注意 内部实现使用 + *序列化 + */ + toJson(): { + type: PolylineStyleEnum; + icon: TextureIconEnum; + color: string; + }; +} +/** + * 动态线图案枚举 + */ + enum DynamicIconEnum { + Arrow = "arrow", + Pulse = "pulse", + Trail = "trail", + Attack = "attack" +} +/** + * 纹理线图片枚举 + */ + enum TextureIconEnum { + /** + * 铁丝网 + */ + WireNetting = "WireNetting", + /** + * 铁栅栏 + */ + IronBar = "IronBar", + /** + * 脉冲线 + */ + LinkPulse = "LinkPulse" +} +/** + * 线样式枚举 + */ + enum PolylineStyleEnum { + /** + * 颜色 + */ + Color = "Color", + /** + * 箭头 + */ + Arrow = "PolylineArrow", + /** + * 虚线 + */ + Dash = "PolylineDash", + /** + * 发光线 + */ + Glow = "PolylineGlow", + /** + * 边框线 + */ + Outline = "PolylineOutline", + /** + * 动态线 + */ + Dynamic = "Dynamic", + /** + * 纹理线,线条由图片自适应重复贴图 + */ + Texture = "Texture" +} + + class PipelineManager extends Layer { + protected _viewer: Cesium.Viewer; + protected _graphicLayer: GraphicLayer; + protected _itemList: Array; + protected _topoList: Array; + protected _idNum: number; + protected _cameraControl: FirstPersonControl; + constructor(viewer: Cesium.Viewer, layer: GraphicLayer); + private deleteGraphicLine; + private searchTopoNode; + private updateTopoNode; + private copyLine; + private processBreakupByPoint; + private processBreakup; + private processHead; + private processTail; + /** + * 两条管道计算拓扑关系 + * @param item + * @param ohter + */ + private building; + /** + * 针对单条管道构建与之相关的拓扑关系 + * @param item 构建拓扑的管道 + */ + buildTopologySingle(item: PipelineStripGraphic): void; + /** + * 所有管道构建拓扑关系 + * @param needClear 是否清除已有的拓扑关系(默认:false), true:表示在原有的拓扑关系上更新/新增 + */ + buildTopology(needClear?: boolean): void; + /** + * 清除所有拓扑关系 + */ + clearTopology(): void; + /** + * 更新绘制所有拓扑节点 + */ + updatePipeTurnGraphic(): void; + flyToPipeline(line: PipelineStripGraphic): void; + exitFly(): void; +} + +/** + * 拓扑节点类 + */ + class TopologyNode { + protected _graphicLayer: GraphicLayer; + protected _id: any; + protected _geo: GeoPoint; + protected _position: Cesium.Cartesian3; + protected _lines: Array; + protected _isHeads: Array; + protected _graphic: PipelineTurnGraphic; + constructor(id: number, layer: GraphicLayer, pt: GeoPoint); + readonly id: any; + readonly geo: GeoPoint; + readonly pos: Cesium.Cartesian3; + readonly graphic: PipelineTurnGraphic; + getTopoLines(): PipelineStripGraphic[]; + getIsHeads(): boolean[]; + /** + * 判断拓扑节点是否包含(连结)此线条 + * @param item 被判断的线条 + */ + has(item: PipelineStripGraphic): boolean; + /** + * 线段添加拓扑关系 + * @param item 被添加拓扑关系的线段对象 + * @param isHead 是否为线段首点(false表示尾点) + */ + addTopoLine(item: PipelineStripGraphic, isHead: boolean): void; + /** + * 线段移除拓扑关系 + * @param item 被移除拓扑关系的线段对象 + * @param isHead 是否为线段首点(false表示尾点) + */ + removeTopoLine(item: PipelineStripGraphic, isHead: boolean): void; + /** + * 恢复线段顶点数据(因拓扑节点绘制导致的线段顶点内缩) + * @param item 被恢复的线段对象 + * @param isHead 是否为线段首点(false表示尾点) + */ + recovery(item: PipelineStripGraphic, isHead: boolean): void; + /** + * 清除拓扑节点的绘制 + */ + clear(): void; + /** + * 创建或者更新拓扑点部位的绘制渲染 + */ + createOrUpdateGraphic(): void; + private createTurnTwo; + private updateTurnTwo; + private createTurnThree; + private updateTurnThree; +} + +/** + * UrlTemplate影像 + */ + class ArcGisImagery extends ImageryItem { + private _renderObj; + private _imageLayer; + private _option; + protected _type: string; + constructor(option: ArcGisImageryOpt); + /** + * 获取类型 + */ + getType(): string; + static readonly type: string; + initItem(imageLayer: ImageLayer): void; + destroyItem(): void; + getRenderObject(): Cesium.ImageryLayer; + parseOption(option: any): void; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(option: any): void; +} + class ArcGisImageryOpt { + /** + * 影像路径 + */ + url: string; +} + +/** + * @类型 Cesium扩展类 + * @描述 百度地图数据驱动类 + * @see 示例 + */ + class BaiduImageryProvider { + private _errorEvent; + private _tileWidth; + private _tileHeight; + private _maximumLevel; + private _minimumLevel; + private _tilingScheme; + private _rectangle; + private _tileDiscardPolicy; + private _credit; + private _readyPromise; + private _resource; + constructor(options: any); + private readonly url; + private readonly proxy; + private readonly tileWidth; + private readonly tileHeight; + private readonly maximumLevel; + private readonly minimumLevel; + private readonly tilingScheme; + private readonly tileDiscardPolicy; + private readonly rectangle; + private readonly errorEvent; + private readonly ready; + private readonly readyPromise; + private readonly credit; + private requestImage; +} + +/** + * UrlTemplate影像 + */ + class BingImagery extends ImageryItem { + private _renderObj; + private _imageLayer; + private _option; + private _type; + constructor(option: BingImageryOpt); + /** + * 获取类型 + */ + getType(): string; + static readonly type: string; + initItem(imageLayer: ImageLayer): void; + destroyItem(): void; + getRenderObject(): Cesium.ImageryLayer; + parseOption(option: any): void; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(option: any): void; +} + class BingImageryOpt { + /** + * 影像路径 + */ + url: string; + /** + * 影像路径 + */ + key: string; +} + + class ImageLayer extends Layer { + _viewer: Cesium.Viewer; + _renderItemList: any[]; + constructor(viewer: Cesium.Viewer); + /** + * 添加对象 + * @param item + */ + add(item: Item): Item; + /** + * 删除对象 + * @param + */ + remove(itemid: string): Item; + /** + * 下降一层如果当前是最底层将不再下降 + * @param image 需要操作的影像对象 + */ + lower(image: ImageryItem): void; + /** + * 降至最底层 + * @param image 需要操作的影像对象 + */ + lowerToBottom(image: ImageryItem): void; + /** + * 上升一层 + * @param image 需要操作的影像对象 + */ + raise(image: ImageryItem): void; + /** + * 上升到最顶层 + * @param image 需要操作的影像对象 + */ + raiseToTop(image: ImageryItem): void; + /** + * 解析json + * @param json 解析 + */ + parseJson(json: any): void; + getItemList(): Item[]; + /** + * 获取渲染对象 + */ + getRenderObject(): Cesium.ImageryLayerCollection; + getRenderItemById(id: string): any; +} +/** + * 投影方式 + */ + enum TilingSchemeE { + /** + * web墨卡托投影 + */ + WebMercator = 1, + /** + * Wgs84投影 + */ + Geographic = 2 +} +/** + * 投影方式 + */ + class TilingSchemeParse { + static getTilingScheme(e: TilingSchemeE): Cesium.TilingScheme; +} + + class ImageryItem extends Item { + getRenderObject(): Cesium.ImageryLayer; +} + +/** + * OSM影像 + */ + class OSMImagery extends ImageryItem { + private _renderObj; + private _imageLayer; + private _option; + private _type; + constructor(option: OSMImageryOpt); + /** + * 获取类型 + */ + getType(): string; + static readonly type: string; + initItem(imageLayer: ImageLayer): void; + destroyItem(): void; + getRenderObject(): Cesium.ImageryLayer; + parseOption(option: any): void; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(option: any): void; +} + class OSMImageryOpt { + /** + * 影像路径 + */ + url: string; + /** + * 最大层级 + */ + maximumLevel: number; +} + +/** + * UrlTemplate影像 + */ + class UrlTemplateImagery extends ImageryItem { + private _renderObj; + private _imageLayer; + private _option; + private _type; + constructor(option: UrlTemplateImageryOpt); + /** + * 获取类型 + */ + getType(): string; + static readonly type: string; + initItem(imageLayer: ImageLayer): void; + destroyItem(): void; + getRenderObject(): Cesium.ImageryLayer; + parseOption(option: any): void; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(option: any): void; +} + class UrlTemplateImageryOpt { + /** + * 影像路径 + */ + url: string; + /** + * 影像投影方式 + */ + tilingScheme: TilingSchemeE; + /** + * 最大层级 + */ + maximumLevel: number; +} + +/** + * UrlTemplate影像 + */ + class WMSImagery extends ImageryItem { + private _renderObj; + private _imageLayer; + private _option; + private _type; + constructor(option: WMSImageryOpt); + /** + * 获取类型 + */ + getType(): string; + static readonly type: string; + initItem(imageLayer: ImageLayer): void; + destroyItem(): void; + getRenderObject(): Cesium.ImageryLayer; + parseOption(option: any): void; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(option: any): void; +} + class WMSImageryOpt { + /** + * 影像路径 + */ + url: string; + /** + * 影像图层 + */ + layer: string; + /** + * 影像投影方式 + */ + tilingScheme: TilingSchemeE; + /** + * 样式 + */ + style: string; + /** + * 影像格式 + */ + format: string; + /** + * 影像变换 + */ + tileMatrixSetID: string; +} + +/** + * UrlTemplate影像 + */ + class WMTSImagery extends ImageryItem { + private _renderObj; + private _imageLayer; + private _option; + private _type; + constructor(option: WMTSImageryOpt); + /** + * 获取类型 + */ + getType(): string; + static readonly type: string; + initItem(imageLayer: ImageLayer): void; + private _parseUrl; + destroyItem(): void; + getRenderObject(): Cesium.ImageryLayer; + parseOption(option: any): void; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(option: any): void; +} + class WMTSImageryOpt { + /** + * 影像路径 + */ + url: string; + /** + * 影像图层 + */ + layer: string; + /** + * 影像投影方式 + */ + tilingScheme: TilingSchemeE; + /** + * 样式 + */ + style: string; + /** + * 影像格式 + */ + format: string; + /** + * 影像变换 + */ + tileMatrixSetID: "EPSG:4326"; +} + +/** + * 图层管理 + */ + class LayerManager { + private _graphicLayer; + private _ImageLayer; + private _vectorLayer; + private _modelLayer; + private _massiveLayer; + private _targetLayer; + private _terrainLayers; + private _satelliteLayer; + private _tileLayer; + private _actionLayer; + private _viewer; + constructor(viewer: Cesium.Viewer); + init(): void; + toJson(): { + graphicLayer: object; + imageLayer: any[]; + vectorLayer: any[]; + modelLayer: any[]; + actionLayer: { + baseTime: string; + actionGroups: any[]; + graphics: object; + } | { + baseTime: string; + actionGroups: any[]; + graphics?: undefined; + }; + }; + /** + * 解析json + * @param json 解析 + */ + parseJson(json: any): void; + /** + * 标绘图层 + */ + readonly graphicLayer: GraphicLayer; + /** + * 影像图层 + */ + readonly imageLayer: ImageLayer; + /** + * kml kmz geojson矢量图层 + */ + readonly vectorLayer: VectorLayer; + /** + * 3dtiles 图层 + */ + readonly modelLayer: ModelLayer; + /** + * 高效绘制图层 + */ + readonly massiveLayer: MassiveLayer; + /** + * 目标图层 + */ + readonly targetLayer: TargetLayer; + /** + * 地形图层 + */ + readonly terrainLayers: TerrainLayerCollection; + /** + * 卫星图层 + */ + readonly satelliteLayer: SatelliteLayer; + /** + * 瓦片图层 + */ + readonly tileLayer: TileLayer; + /** + * 动画图层 + */ + readonly actionLayer: ActionLayer; +} + +/** + * @类别 需要用户创建的类
+ * @描述 聚合点
+ * @see 聚合点 + */ + class Cluster extends Item { + private _customDataSource; + private _viewer; + private _options; + private _dataSource; + private _customStyleListener; + private _customStyleEnable; + /** + * 是否开启自定义样式 + * ``` + * 示例代码: + * cluster.addToEarth().then(()=>{ + * // 设置参数 + * cluster.customStyleEnable = true; + * }) + * ``` + */ + customStyleEnable: boolean; + private _pixelRange; + /** + * 设置像素范围 + * ``` + * 示例代码: + * cluster.addToEarth().then(()=>{ + * // 设置参数 + * cluster.pixelRange = 20; + * }) + * ``` + */ + pixelRange: number; + private _minimumClusterSize; + /** + * 最小聚合数量 + * ``` + * 示例代码: + * cluster.addToEarth().then(()=>{ + * // 设置参数 + * cluster.minimumClusterSize = 30; + * }) + * ``` + */ + minimumClusterSize: number; + private _enable; + /** + * 是否开启聚合 + * ``` + * 示例代码: + * cluster.addToEarth().then(()=>{ + * // 设置参数 + * cluster.enable = true; + * }) + * ``` + */ + enable: boolean; + /** + * 聚合点构造函数 + * @param options 聚合点参数对象 + * ``` + * 示例代码 + * var clusterOpt = new GV.ClusterOpt(); + * clusterOpt.name = "cluster"; + * clusterOpt.pixelRange = 10; + * clusterOpt.minimumClusterSize = 5; + * clusterOpt.enable = true; + * clusterOpt.customStyleEnable = true; + * clusterOpt.setImage = setImage; + * var cluster = new GV.Cluster(clusterOpt); + * ``` + */ + constructor(options: ClusterOpt); + /** + * 初始化聚合点 + * @param viewer 地理画布 + */ + initItem(viewer: GeoCanvas): void; + /** + * 销毁聚合点 + */ + destroyItem(): void; + /** + * 序列化 + */ + toJson(): object; + /** + * 反序列化 + */ + parseJson(): void; + /** + * 添加实体 + * @param {Cesium.Entity} entity + */ + addPoint(entity: any): void; + /** + * 将点集合添加到球上,异步方法 + */ + addToEarth(): Promise; + private _customStyleOpen; + private _resetStyle; + private _cluster; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; +} +/** + * 聚合类参数 + */ + class ClusterOpt { + /** + * 名称 + */ + name: string; + /** + * id + */ + id: string; + /** + * 像素范围,点之间的距离到达此像素大小时 进行聚合 + */ + pixelRange: number; + /** + * 最小聚合数量 + */ + minimumClusterSize: number; + /** + * 开启聚合 + */ + enable: boolean; + /** + * 开启自定义 样式 + */ + customStyleEnable: boolean; + /** + * 设置聚合图标(该方法有两个参数:size 聚合点数量,billboard 聚合标牌) + */ + setImage: Function; +} + +/** + * @类别 需要用户创建的类
+ * @描述 热力图
+ * @see 热力图 + */ + class HeatMap { + private _viewer; + private _heatMapOption; + private _heatMapLayer; + private _zoomLevel; + private _zoomRadius; + private _zAxisHeight; + private _heatMapParams; + private _moveEnd; + private _radiusRate; + private _rejustHeight; + constructor(heatOpt: HeatMapOpt); + private _calcBound; + private _formatPoints; + private _updateFllowCamera; + /** + * 初始化 + * @param viewer + */ + initItem(viewer: GeoCanvas): void; + /** + * 获取热力图参数信息 + */ + getHeatMapOpt(): any; + /** + *设置精细层级时的热力点半径,用来调整在高层级时半径过小或者过大的问题 + */ + setRadiusRate(val: number): void; + /** + *设置精细层级时高度 + */ + setRejustHeight(val: number): void; + /** + * 热力图更新 + * @param opt + */ + update(opt: HeatMapOpt): void; + /** + * 创建热力图 + * @param opt + */ + private _create; + /** + * 销毁热力图 + */ + destroyItem(): void; +} +/** + * @类别 需要用户创建的类
+ * @描述 热力图参数类
+ * @see 热力图 + */ + class HeatMapOpt { + /** + * 热力点数据集
+ * 参数格式:[{经度:数字,纬度:数字,此位置上的数据值:数字}...]
+ * 如:{lon:80,lat:40,value:90} + */ + points: any; + /** + * 每个数据点将具有的半径
+ * 默认值:10
+ * 范围:>0 && <=100 + */ + radius: number; + /** + * 数据集下限 + */ + limitMin: number; + /** + * 数据集上限 + */ + limitMax: number; + /** + * 表示渐变的对象(语法:数字字符串[0,1]:颜色字符串)
+ * 如:{ 0.25: "rgb(0,0,255)", 0.55: "rgb(0,255,0)", 0.85: "yellow", 1.0: "rgb(255,0,0)" } + */ + gradient: object; + /** + * 热图中最高值的最大不透明度。(如果设置了不透明度,将被覆盖)
+ * 范围:>=0 && <=1 + */ + opacity: number; + /** + * 将应用于所有数据点的模糊因子。模糊因子越高,渐变越平滑
+ * 范围:>=0 && <= 1 + */ + blur: number; + constructor(points: any, radius: number, limitMin: number, limitMax: number, gradient?: object, opacity?: number, blur?: number); +} + +/** + * @类别 需要用户创建的类
+ * @描述 MapV复合可视化,搭建了球和MapV之间的桥梁,具体MapV应用请参见MapV官网(https://mapv.baidu.com/)
+ * @see 蜂巢网格 + * @see 迁徙图 + * @see 微博点 + * @see 数据链路 + * @see 方形网格 + */ + class MapV extends Item { + protected _MapV: any; + protected _viewer: any; + private _show; + private _MapVOptions; + /** + * 圆柱标绘类型 + */ + protected _type: string; + constructor(mapvOpt: MapVOpt); + show: boolean; + /** + * 初始化mapv + * @param viewer + */ + initItem(viewer: GeoCanvas): void; + /** + * 销毁mapv + */ + destroyItem(): void; + /** + * 获取mapv参数 + */ + getMapVOpt(): MapVOpt; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * @ignore + */ + toJson(): object; + /** + * mpv更新 + * @param mapvOpt + */ + update(mapvOpt: MapVOpt): void; + /** + * 通过数据创建Mapv + * @param options + */ + create(options: MapVOpt): any; + /** + * 创建数据集 + * @public + * @param [data] 包含初始数据的可选数组 + */ + createDataSet(data: any): any; + private _initMapv; + private _DataSetAdd; + private _DataSetReset; + private _DataSetGet; + private _DataSetSet; + private _DataSetClear; + private _DataSetRemove; + private _DataSetUpdate; + private _DataSetTransferCoordinate; + private _DataSetinitGeometry; + private _DataSetGetMax; + private _DataSetGetSum; + private _DataSetGetMin; + private _DataSetUnique; + /** + * 获取 + * @param data + */ + private _getDataSet; + /** + * 根据弧线的坐标节点数组 + * @param data + */ + private _getCurvePoints; + /** + * 获取城市中心坐标点 + * @param name + */ + private _getCenterByCityName; + /** + * 根据城市名获取省份 + * @param name + */ + private _getProvinceNameByCityName; + utilCurve: { + getPoints: (data: any) => any; + }; + utilCityCenter: { + getCenterByCityName: (name: any) => any; + getProvinceNameByCityName: (name: any) => any; + }; + geojson: { + getDataSet: (data: any) => any; + }; + /** + * 数据集操作方法 + */ + DataSet: { + add: (data: any, senderId: any) => any; + Reset: () => any; + get: (args: any) => any; + set: (args: any) => any; + clear: (args: any) => any; + remove: (args: any) => any; + update: (args: any, condition: any) => any; + transferCoordinate: (data: any, transferFn: any, fromColumn: any, toColumnName: any) => any; + initGeometry: (transferFn: any) => any; + getMax: (columnName: any) => any; + getSum: (columnName: any) => any; + getMin: (columnName: any) => any; + getUnique: (columnName: any) => any; + }; +} +/** + * @类别 需要用户创建的类
+ * @描述 MapV参数类
+ * @see 蜂巢网格 + * @see 迁徙图 + * @see 微博点 + * @see 数据链路 + * @see 方形网格 + */ + class MapVOpt { + /** + * mapv 数据 + */ + data: number[]; + /** + * mapv参数 + */ + options: any; + constructor(data?: Array, options?: any); +} + + class MassiveLayer extends Layer { + private _viewer; + constructor(viewer: Cesium.Viewer); + /** + * 添加对象 + * @param item + */ + add(item: Item): Item; + /** + * 删除对象 + * @param + */ + remove(value: string | Item): Item; + /** + * 解析json + * @param json 解析 + */ + parseJson(json: any): void; +} + +/** + * @类别 Cesium扩展类
+ * @描述 批量绘制线类 + * @see ../../../examples/gallery/editor.html#efficientLines + */ + class MassiveLines extends Item { + /**视图对象 */ + private _viewer; + /**线的Primitive对象 */ + private _linePrimitive; + /**材质对象 */ + private _apprence; + /**纹理图片路径 */ + private _lineTexTure; + /**流动线颜色 */ + private _animateColor; + /**线的主体颜色 */ + private _lineColor; + /**线的数据 */ + private _lineData; + /**线的Instance对象数组 */ + private _lineInstances; + /**流动速度 */ + private _speed; + /**线的宽度 */ + private _lineWidth; + /**Item编号 */ + protected _id: string; + /** + * 初始化方法 + * @param options 参数类 + * @returns + * ``` + * 示例代码 + * let data = [[90, 0, 2000000, 90, 30, 2000000]]; + * let massiveLinesOpt = new GV.MassiveLinesOpt(data); + * let massiveLines = new GV.MassiveLines(massiveLinesOpt); + * + * ``` + */ + constructor(options: MassiveLinesOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 获取运动点颜色 + * @return {string} + * + */ + readonly sportColor: string; + /** + * 设置运动线颜色 + * @param {string} val 运动线颜色 + * ``` + * 示例代码 + * massiveLines.sportColor='#ffffff' + * ``` + */ + animateColor: string; + /** + * 获取线的颜色 + * @return {string} + */ + /** + * 设置线的颜色 + * @param {string} val 线颜色 + * ``` + * 示例代码 + * massiveLines.sportColor='#ffffff' + * ``` + */ + lineColor: string; + /** + * 获取运动速度 + * @return {number} + */ + /** + * 设置运动速度 + * @param {number} val 运动速度 + * ``` + * 示例代码 + * massiveLines.speed=1.0 + * ``` + */ + speed: number; + /** + * 获取纹理图片 + * @return {string} + */ + /** + * 设置纹理图片 + * @param {string} val 图片名称 + */ + lineTexture: string; + /** + * 初始化 + * @param {BatchLineOptions} options 参数类 + */ + initItem(viewer: GeoCanvas): void; + /** + * 创建线的实例 + */ + private createLineInstance; + /** + * 创建材质 + */ + private createMaterial; + /** + * 片源着色器方法 + */ + private getMS; + /** + * 画线 + */ + private drawLines; + /** + * 删除线 + */ + destroyItem(): void; + /** + * Event函数 + */ + private listenerFun; +} +/** + * 批量绘制线参数类 + */ + class MassiveLinesOpt { + /**已插值的线数据*/ + lineData: Array>; + /**流动速度 */ + speed?: number; + /**纹理URL*/ + lineTexTure?: string; + /**流动线颜色*/ + animateColor?: string; + /**线的主体颜色 */ + lineColor?: string; + /**线的宽度 */ + lineWidth?: number; + constructor(lineData: Array>, speed?: number, lineTexTure?: string, animateColor?: string, lineColor?: string, lineWidth?: number); +} + +/** + * @类别 Cesium扩展类
+ * @描述 批次绘制点类 + * @see 批次绘制点 + */ + class MassivePoints extends Item { + /**视图对象*/ + private _viewer; + /**点样式划分 */ + private _colors; + /**点大小 */ + private _pointSizes; + /**Primitive对象 */ + private _primitive; + /**材质对象 */ + private _appearance; + /**点数据 */ + private _data; + /**点颜色数组 */ + private _pointColors; + /**点位置数组 */ + private _pointPositions; + /**Item Id */ + protected _id: string; + /** + * 初始化方法 + * @param data 点数据 + * @param colors 颜色数据 + * @returns + * ``` + * 示例代码 + * let colors=[]; + * colors.push(new GV.PointStyle(1000, 0.4, 0.9, 0.2, 0.4)); + * let pointData=[]; + * pointData.push(new GV.PointOption(90, 0, 1000)) + * let massivePoints = new GV.MassivePoints(pointData,colors); + * + * ``` + */ + constructor(data: Array, colors: Array); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 初始化实体 + * @param {GeoCanvas} 视图对象 + */ + initItem(viewer: GeoCanvas): void; + /** + * 删除实体 + */ + destroyItem(): void; + /** + * 初始化数据 + */ + private resolveData; + /** + * 创建网格体 + * @return {Cesium.Geometry} 网格体 + */ + private createGeometry; + /** + * 创建材质信息 + * @param {string} fs 片源着色器 + * @param {string} vs 顶点着色器 + * @return {Cesium.Appearance} 材质信息 + */ + private createAppearence; + /** + * 顶点着色器 + * @return {string} 顶点着色器 + */ + private getVS; + /** + * 片源着色器 + * @return {string} 片源着色器 + */ + private getFS; + /** + * 获取某一级别下点的颜色 + * @param {number} 级别 + * @return {Array} 颜色数组 + */ + private getColor; + /** + * 获取某一级别下点的大小 + * @param {number} 级别 + * @return {number} 大小 + */ + private getPointSize; + /** + * 更新数据源 + * @param {Array} data 数据源 + * + * ``` + * 示例代码 + * let pointData=[]; + * pointData.push(new GV.PointOption(10, 0, 1000)); + * massivePoints.data=pointData; + * + * ``` + */ + data: Array; +} +/**批量绘制点参数 */ + class PointOption { + /**点经度 */ + lon: number; + /**点纬度 */ + lat: number; + /**代表当前点个数 */ + count: number; + constructor(lon: number, lat: number, count: number); +} +/**点样式设定 */ + class PointStyle { + /**点个数级别 */ + level: number; + /**点颜色r通道 */ + r: number; + /**点颜色g通道*/ + g: number; + /**点颜色b通道 */ + b: number; + /**点颜色a通道 */ + a: number; + constructor(level: number, r: number, g: number, b: number, a: number); +} + +/** + * @类别 Cesium扩展类
+ * @描述 批量绘制面类 + * @see 批次绘制面 + */ + class MassivePolygons { + private _viewer; + private _dataSource; + private _instances; + private _heightFlag; + private _primitive; + protected _id: string; + /** + * 初始化 + * @param {Array} dataSource 顶点数据 + * @param {boolean} heightFlag 顶点数据中是否有高度信息 + * ``` + * 示例代码 + * let dataSource=[]; + * dataSource.push(new GV.MassivePolygonOpt([0, 0, 10, 0, 10, 10, 0, 10])); + * let massivePolygons=new GV.MassivePolygons(dataSource); + * ``` + */ + constructor(dataSource: Array, heightFlag?: boolean); + /** + * 创建实例对象 + */ + private createInstances; + /** + * 创建材质信息 + * @return {Cesium.PerInstanceColorAppearance} 材质信息 + */ + private createAppearence; + /** + * 创建Primitive + */ + private createPrimitive; + /** + * 创建实体 + * @param {GeoCanvas} viewer 视图对象 + */ + initItem(viewer: GeoCanvas): void; + /** + * 移除操作 + */ + destroyItem(): void; + /** + * 修改被选中物体颜色 + * @param id 面的id值 + * @param color 修改的颜色 + */ + changePickedColor(id: string, color?: string): void; +} +/** + * 批量绘制面 + * @param {Array} positions 面数据 + * @param {string} color 颜色 + */ + class MassivePolygonOpt { + /**面的顶点数据 */ + positions: Array; + /**面的颜色 */ + color: string; + /**面的ID值 */ + id: string; + constructor(positions: Array, id?: string, color?: string); +} + +/** + * @类别 需要用户创建的类
+ * @描述 空间碎片
+ * @see 空间碎片 + */ + class SpaceDebris extends Item { + private root; + private workerArray; + private derbrisList; + private debrisMap; + private viewer; + private spaceDebrisOpts; + /** + * 空间碎片构造函数 + * @param spaceDebrisOpts 空间碎片数组对象 + * ``` + * 示例代码 + * fetch("../data/satellite.json").then(r => { + * r.json().then(data => { + * var spaceDebrisData = []; + * var length = data.length; + * for (var i = 0; i < length; i++) { + * var item = data[i]; + * var opt = new GV.SpaceDebrisOpt(); + * opt.name = item.name; + * opt.tle1 = item.tle1; + * opt.tle2 = item.tle2 + * spaceDebrisData.push(opt); + * } + * var spaceDebris = new GV.SpaceDebris(spaceDebrisData); + * viewer.layerManager.massiveLayer.add(spaceDebris); + * spaceDebris.show(); + * }) + * }) + * ``` + */ + constructor(spaceDebrisOpts: Array); + /** + * 初始化空间碎片 + * @param viewer 地理画布 + */ + initItem(viewer: GeoCanvas): void; + /** + * 销毁空间碎片 + */ + destroyItem(): void; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 序列化 + */ + toJson(): object; + /** + * 反序列化 + */ + parseJson(): void; + /** + * 多线程work脚本URL + */ + private workerUrl; + /** + * 显示空间碎片 + */ + show(): void; + private addDebrisItem; +} +/** + * 空间碎片构造参数类,卫星数据json格式需要正确 + */ + class SpaceDebrisOpt { + /** + * 名称 + */ + name: string; + /** + * 卫星数据数组1 + */ + tle1: string; + /** + * 卫星数据数组2 + */ + tle2: string; +} + +/** + * 空间碎片内部使用类 + */ + class SpaceDebrisItem { + _currentTime: Date; + _sampleProperty: Cesium.SampledPositionProperty; + _currentPosition: any; + point: Cesium.PointPrimitive; + tle1: string; + tle2: string; + worker: Worker; + id: number; + currentTime: Date; +} + +/** + * @类别 需要用户创建的类
+ * @描述 风场
+ * @see 风场 + */ + class Windy extends Item { + private _primitives; + private SPEED_RATE; + private PARTICLES_NUMBER; + private MAX_AGE; + private BRIGHTEN; + private cesiumViewer; + private windData; + private windField; + private particles; + private lines; + private windDataObj; + /** + * 风场构造函数 + * @param data 风场数据 + * ``` + * 示例代码 + * fetch("../data/windData.json").then(r => { + * r.json().then(data => { + * let windy = new GV.Windy(data); + * viewer.layerManager.massiveLayer.add(windy); + * // viewer.layerManager.massiveLayer.remove(windy.id); + * }) + * }) + * ``` + */ + constructor(data: Array); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 初始化风场 + * @param viewer 地理画布 + */ + initItem(viewer: GeoCanvas): void; + /** + * 销毁风场 + */ + destroyItem(): void; + private initWindyData; + private _init; + private createField; + private animate; + private _parseWindJson; + private removeLines; + private _map; + private _createLineInstance; + private _drawLines; + private randomParticle; +} + +/** + * 三维模型Layer图层 + */ + class Cesium3DTileLayer extends ModelItem { + private _renderObj; + private _modelLayer; + private _option; + private _type; + constructor(option: Cesium3DTileLayerOpt); + /** + * 获取类型 + */ + getType(): string; + static readonly type: string; + initItem(modelLayer: ModelLayer): void; + destroyItem(): void; + getRenderObject(): Cesium.Primitive; + parseOption(option: any): void; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(option: any): void; +} + class Cesium3DTileLayerOpt { + /** + * kml路径 + */ + url: string; +} + + class ModelItem extends Item { + getRenderObject(): Cesium.Primitive; +} + + class ModelLayer extends Layer { + _viewer: Cesium.Viewer; + _renderItemList: any[]; + constructor(viewer: Cesium.Viewer); + /** + * 添加对象 + * @param item + */ + add(item: Item): Item; + /** + * 删除对象 + * @param + */ + remove(itemid: string): Item; + /** + * 解析json + * @param json 解析 + */ + parseJson(json: any): void; + getItemList(): Item[]; + /** + * 获取渲染对象 + */ + getRenderObject(): Cesium.PrimitiveCollection; + getRenderItemById(id: string): any; +} + + class ConicSensor { + private satellitePos; + private _angle; + private _primitive; + private slice; + private _coverColor; + private _conicOpt; + private _swingAngle; + private _primitiveCollection; + constructor(primitiveCollection: Cesium.PrimitiveCollection, conicOpt: ConicOpt); + /** + * 获取圆锥primitive + * @return {Cesium.Primitive} + */ + readonly conic: Cesium.Primitive; + /** + * 设置位置 + * @memberof ConicSensor + */ + /** + * 获取位置 + * @return {GeoPoint} + */ + position: GeoPoint; + /** + * 获取卫星罩类型 + * @return {string} + */ + readonly type: string; + /** + * 设置卫星罩颜色 + * @memberof ConicSensor + */ + coverColor: string; + /** + * 设置圆锥罩开合角 + * @memberof ReactangularSensor + */ + /** + * 获取圆锥罩开合角(单位:角度值) + */ + angle: number; + destroy(): void; + /** + * 设置侧摆角 + * 说明:侧摆角范围0-45度 + * @memberof ConicSensor + */ + swingAngle: number; + /** + * 创建顶点数据 + * @param height + * @param angle + */ + private createVertex; + /** + * 创建vao需要数据 + * @param topPosArr + * @param bottomPosArr + * @param slice + */ + private createGeometeryAttribute; + /** + * 创建Primitive + * @param ptsTemp + * @param stsTemp + */ + private createPrimitive; + private getMS; + updateMatrix(position: Cesium.Cartesian3): void; +} + + class GeoVector3 { + constructor(x: number, y: number, z: number, time: Date, speed: Cesium.Cartesian3); + x: number; + y: number; + z: number; + time: Date; + speed: Cesium.Cartesian3; +} + + class ReactangularSensor { + /**卫星位置 */ + private satellitePos; + /**水平开合角 */ + private _xAngle; + /**垂直开合角 */ + private _zAngle; + private primitive; + private scanPlanePrimitive; + private scanAngle; + private _coverColor; + private _scanColor; + private _rectangularOpt; + private _swingAngle; + private _scanShow; + private _primitiveCollection; + constructor(primitiveCollection: Cesium.PrimitiveCollection, rectangularOpt: RectangularOpt); + /** + * 获取渲染对象 + * @return {Array} + */ + readonly rectangle: Array; + destroy(): void; + /** + * 更新位置 + */ + /** + * 获取位置 + * @return {GeoPoint} + */ + position: GeoPoint; + /** + * 获取水平开合角 + * @return {number} + */ + /** + * 设置棱锥罩水平开合角 + * @memberof ReactangularSensor + */ + xAngle: number; + /** + * 获取垂直开合角 + * @return {number} + */ + /** + * 设置棱锥罩垂直开合角 + * @memberof ReactangularSensor + */ + zAngle: number; + /** + * 获取类型 + * @return {string} + */ + readonly type: string; + /** + * 设置侧摆角 + * 说明:侧摆角范围-45-45度 + * @memberof ConicSensor + */ + swingAngle: number; + /** + * 设置卫星罩颜色 + * @memberof ConicSensor + */ + coverColor: string; + /** + * 设置扫描版颜色 + * @memberof ReactangularSensor + */ + scanColor: string; + /** + * 设置扫描版显隐 + * @memberof ReactangularSensor + */ + /** + * 获取扫描版显隐 + * @type {boolean} + * @memberof ReactangularSensor + */ + scanShow: boolean; + /** + * 更新姿态 + * @param position + */ + updateMatrix(position: Cesium.Cartesian3): void; + /** + * 获取垂直路线的旋转矩阵(局部XY平面的旋转矩阵) + * @param position 下一点位置 + */ + private getRotationMatrix; + /** + * 获取世界坐标系下变换矩阵 + */ + private getWorldMatrix; + /** + * 创建primitive + */ + private createPrimitive; + private getMS; + /** + * 创建扫描板 + */ + private createScanPlane; +} + +/** + * @类别 需手动创建,然后添加到卫星图层类中
+ * @描述 卫星类,提供了更改卫星的属性接口
+ * @see ../../../examples/gallery/editor.html#satelliteShow + */ + class Satellite extends Item { + private _sampleProperty; + private _sampleSpeedProperty; + protected _name: string; + protected _id: any; + /**卫星罩类型 */ + private _type; + private _viewer; + /**卫星entity的Map */ + private _entitiesMap; + /**轨道数据 */ + private _orbitPositions; + /**当前时间 */ + private _currentTime; + /**当前位置 地球坐标系*/ + private _currentPosition; + /**卫星两根数 */ + private _tle; + /**卫星周期 单位:分钟*/ + private _priod; + /**卫星罩对象 */ + private _satelliteSensor; + private _sensorOpt; + private sateMinPixelSize; + private _clock; + private _localOrbitData; + private _opt; + /**同步轨道卫星位置 */ + private _synchronousPosition; + /**同步轨道卫星传感器列表 */ + private _synchronousSensorMap; + private _viewChange; + /** + * 初始化 + * @param options 卫星属性类 + * @returns + * ``` + * 示例代码: + * let sateOpt = new GV.SatelliteOpt( + * `GF-1 + * 1 39766U 14029A 19051.88312325 -.00000394 00000-0 -45830-4 0 9997 + * 2 39766 97.9206 150.4086 0001551 85.1013 275.0382 14.79467694256344`); + * let satellite = new GV.Satellite(sateOpt); + * viewer.satelliteLayer.add(satellite); + * + * ``` + */ + constructor(options: SatelliteOpt); + /** + * 启用卫星属性 + * @param {string} componentName 属性名称 + * ``` + * 示例代码: + * satellite.enableComponent(SatelliteComponents.Orbit); + * + * ``` + */ + enableComponent(componentName: string): void; + /** + * 禁用卫星属性 + * @param {string} componentName 属性名称 + * ``` + * 示例代码: + * satellite.disableComponent(SatelliteComponents.Orbit); + * + * ``` + */ + disableComponent(componentName: string): void; + /** + * 增加同步卫星传感器(即地面覆盖多边形范围) + * @param key 传感器名称 + * @param points 多边形顶点 + * ``` + * 示例代码: + * satellite.addSynchronousSensor('传感器1',[ + * new GV.GeoPoint(120.9340158474,24.0177786452), + * new GV.GeoPoint(120.9395350817,24.0222973323), + * new GV.GeoPoint(120.9427083183, 24.004776336675963), + * new GV.GeoPoint(120.9350803555,24.0139574843) + * ]); + * ``` + */ + addSynchronousSensor(key: string, points: GeoPoint[], color?: string): void; + /** + * 移除同步卫星的传感器 + * @param key 传感器名称 + */ + removeSynchronousSensor(key: string): void; + /** + * 获取卫星传感器锥罩对象 + * @param key 传感器名称(只针对同步卫星多传感器) + */ + getSensor(key?: string): any; + /**根据与摄像机距离判断创建图标还是模型 */ + private createSatImageOrModel; + /** + * 创建卫星图标 + */ + private createSatImage; + /** + * 创建卫星模型 + */ + private createSatModel; + /** + * 创建Label + */ + private createLabel; + /** + * 创建轨道 + */ + private createOrbit; + private getMS; + /** + * 创建圆锥波 + */ + private createCone; + /** + * 创建棱锥波 + */ + private createSquareCone; + /** + * 创建地面扫描 + */ + private createGroundTrack; + private calculateRecPosition; + private calculateCirPosition; + /** + * 设置一个轨道周期的数据,更新轨道绘制 + */ + positions: Array; + /**设置卫星当前时间,更新卫星图标/模型/文字的位置,以及卫星的姿态 */ + private time; + /** + * 同步卫星位置 + */ + synchronousPosition: GeoPoint; + /** + * 获取id + * @readonly + * @memberof Satellite + * + */ + readonly id: string; + /** + * 初始化 + * @param viewer 视图对象 + */ + initItem(viewer: Cesium.Viewer): any; + protected calculatePositions3D(t: any, tle1: any, tle2: any): void; + protected calculatePositions2D(t: any, tle1: any, tle2: any): void; + protected onViewChanged(): void; + isPicked(graphic: any): boolean; + /** + * 监听更新函数 + * @param event + * @param tle1 + * @param tle2 + * @param priod + */ + private listenerFun; + /** + * 判断是否变轨 + */ + private changeRail; + /** + * 移除卫星 + */ + destroyItem(): void; + /** + * 设置卫星轨道颜色 + * @param val 卫星轨道颜色 + * ``` + * 示例代码: + * satellite.orbitColor='#ffffff'; + * ``` + * + */ + orbitColor: string; + /** + * 设置卫星文本文字颜色 + * @param val 卫星文本文字颜色 + * ``` + * 示例代码: + * satellite.textColor='#ffff00'; + * ``` + * + */ + textColor: string; + /** + * 设置卫星地面覆盖颜色 + * @param val 卫星地面覆盖颜色 + * ``` + * 示例代码: + * satellite.groundTrackColor='#ffffff'; + * ``` + * + */ + groundTrackColor: string; + /** + * 获取卫星名称 + * @return {String} 卫星名称 + * ``` + * 示例代码: + * let name=satellite.name; + * ``` + * + */ + readonly name: string; + /** + * 获取卫星是否是同步卫星 + * @return {boolean} + * ``` + * 示例代码: + * let isSyn = satellite.synchronous; + * ``` + * + */ + readonly synchronous: boolean; + /** + * 获取周期(单位:分钟) + * @readonly + * @type {number} + * @memberof Satellite + */ + readonly priod: number; + /** + * 获取当前位置 + * @return {GeoPoint} 当前位置 + */ + readonly position: GeoPoint; + /** + * 获取卫星罩对象(只针对低轨卫星) + * @return {any} 卫星罩对象 + */ + readonly satelliteSensor: any; + /** + * 获取卫星当前时刻的速度(单位:Km/s) + * @type {number} + */ + readonly speed: number; + /** + * 获取卫星推演的速度倍率 + */ + /** + * 设置卫星推演的速度倍率 + */ + multiplier: number; + /** + * 设置当前时间 + * @memberof Satellite + */ + /** + * 获取当前时间 + * @type {Date} + * @memberof Satellite + */ + currentTime: Date; + /** + * 设置新轨道 + * @param localOrbitData 轨道数据 + */ + setLocalOrbitData(localOrbitData: Array): void; + /** + * 获取卫星在某一时间的位置 + * @readonly + * @memberof Satellite + */ + getPos(time: Date): GeoPoint; + /** + * 设置卫星时钟multiplier + * @param number 数值越大运动越快,默认为1 + */ + clockMultiplier(value: number): void; + /** + * 获取文字绘制对象 + */ + getLabelGraphic(): Cesium.LabelGraphics; + movePlay(flag: boolean): void; +} + class SatelliteOpt { + /**卫星两根数 */ + tle: string; + /**轨道类型 */ + orbitType?: SatelliteOrbitType; + /**轨道颜色 */ + orbitColor?: string; + /**文本标签颜色 */ + textColor?: string; + /**扫描锥颜色 */ + coverColor?: string; + /**扫描带颜色 */ + groundTrackColor?: string; + /**卫星罩类型 */ + type?: StatelliteEnum; + /**卫星图标路径 */ + imageUrl?: String; + /**轨道线宽度 */ + orbitWidth?: number; + /**卫星模型url */ + modelUrl?: string; + /**卫星模型占屏幕最小像素 */ + sateMinPixelSize?: number; + /**本地轨道数据*/ + localOrbitData: Array; + /**当前卫星时间 */ + currentTime: Date; + /**是否为同步轨道卫星 */ + synchronous: boolean; + /**同步卫星位置 */ + synchronousPosition: GeoPoint; + constructor(tle: string, currentTime: Date, orbitType?: SatelliteOrbitType, orbitColor?: string, synchronous?: boolean, groundTrackColor?: string, type?: StatelliteEnum, orbitWidth?: number, imageUrl?: string, modelUrl?: string, sateMinPixelSize?: number, synchronousPosition?: GeoPoint, localOrbitData?: Array); +} + enum SatelliteOrbitType { + /**闭合圆轨道 */ + 'Eci' = 1, + /**非闭合圆轨道 */ + 'Ecf' = 2 +} +/** + * 卫星罩类型枚举 + */ + enum StatelliteEnum { + /**圆锥罩 */ + 'conic' = 1, + /**棱锥罩 */ + 'square' = 2, + /**不规则多边形锥罩(同步卫星) */ + 'sync' = 3 +} +/** + * 棱锥罩属性 + */ + class RectangularOpt { + /**水平开合角 */ + xAngle: number; + /**垂直开合角 */ + zAngle: number; + /**棱锥罩颜色 */ + coverColor: string; + /**棱锥罩位置 */ + rectangularPos: GeoPoint; + /**扫描版颜色 */ + scanColor: string; + /**侧摆角 范围0-45度*/ + swingAngle: number; +} +/** + * 圆锥罩属性 + */ + class ConicOpt { + /**圆锥罩开合角 */ + conicAngle: number; + /**圆锥罩颜色 */ + coverColor: string; + /**圆锥罩位置 */ + conicPos: GeoPoint; + /**侧摆角 范围0-45度*/ + swingAngle: number; +} + class SynchronousOpt { + /**同步卫星位置 */ + position: GeoPoint; + /**覆盖范围顶点坐标 */ + covers: GeoPoint[]; + /**锥罩颜色 */ + coverColor?: string; +} + + class SatelliteComponents { + /** + * 卫星图标 + * + */ + static readonly SatImage: string; + /** + * 卫星名称标注 + * + */ + static readonly Label: string; + /** + * 卫星轨道 + * + */ + static readonly Orbit: string; + /** + * 地面扫面线 + * + */ + static readonly GroundTrack: string; + /** + * 卫星波束 + * + */ + static readonly Sensor: string; +} + +/** + * @类别 需手动创建
+ * @描述 提供卫星管理相关功能
+ * @see ../../../examples/gallery/editor.html#satalliteVis + */ + class SatelliteLayer extends Layer { + viewer: Cesium.Viewer; + constructor(viewer: Cesium.Viewer); + /** + * 获取所有卫星名称 + * @return {Array} 卫星名称 + * + */ + readonly satelliteNames: Array; + /** + * 添加对象 + * @param item + */ + add(item: Item): Item; + /** + * 根据卫星名称获取卫星 + * @param {string} 卫星名称 + */ + getSatellite(name: string): Item; + /** + * 根据屏幕坐标获取卫星对象 + * @param {number} 屏幕坐标x + * @param {number} 屏幕坐标y + * @return {Satellite} 卫星对象 + */ + pickSatellite(x: number, y: number): Satellite; + /** + * 删除对象 + * @param + */ + remove(value: string | Satellite): Satellite; + /** + * 解析json + * @param json 解析 + */ + parseJson(json: any): void; + /** + * 清除所有卫星 + */ + clear(): void; +} + + class SynchronousSensor { + private _opt; + private _primitiveCollection; + private _primitive; + private _groundPrimitive; + constructor(primitiveCollection: Cesium.PrimitiveCollection, opt: SynchronousOpt); + visible: boolean; + position: GeoPoint; + coverColor: any; + readonly primitive: Cesium.Primitive; + /**传感器覆盖范围(多边形 顶点)*/ + readonly covers: GeoPoint[]; + /**更新计算几何体 */ + update(): void; + private createPrimitive; + private getMS; + private createGroundPrimitive; + destroy(): void; +} + + class TargetFlame { + _target: any; + _init: boolean; + particleSystem: any; + emitterModelMatrix: Cesium.Matrix4; + translation: Cesium.Cartesian3; + rotation: Cesium.Quaternion; + hpr: Cesium.HeadingPitchRoll; + trs: Cesium.TranslationRotationScale; + _show: boolean; + _earth: any; + /** + * TargetItem 构造函数 + * @param id 目标对象的id + * @param lon 目标对象的经度 + * @param lat 目标对象的纬度 + * @param alt 目标对象的高度 + * @param smoothTrack 是否需要平滑 + * ``` + * 示例代码 + * let item = new GV.TargetItem('gb324244234sdf432',113.654,36.542.6921,true) + * ``` + */ + constructor(target: any); + applyGravity(p: any, dt: any): void; + init(): void; + /** + *飞机尾焰是否显示 + * @method showTrack + * + * ``` + * 示例代码 + * var show = targetItem.flame.show; + * targetItem.flame.show = true ; + * ``` + */ + show: boolean; + updateFlame(): void; + computeEmitterModelMatrix(): Cesium.Matrix4; + dispose(): void; +} + + enum TargetState { + Retain = 0, + Add = 1, + Update = 2, + Remove = 3, + None = 4 +} + + class TimePositions { + _init: boolean; + _positionList: Array; + _positionIndex: number; + _sampleCount: number; + _sampleIndex: number; + _speed: number; + _cacheSize: number; + _positionScratch: Cesium.Cartesian3; + _target: any; + /** + * TargetItem 构造函数 + * @param id 目标对象的id + * @param lon 目标对象的经度 + * @param lat 目标对象的纬度 + * @param alt 目标对象的高度 + * @param smoothTrack 是否需要平滑 + * ``` + * 示例代码 + * let item = new GV.TargetItem('gb324244234sdf432',113.654,36.542.6921,true) + * ``` + */ + constructor(target: any); + /** + * 获取点个数 + * @method count + * + * ``` + * 示例代码 + * + * ``` + */ + readonly count: number; + /** + * 添加位置点 + * @method addSample + * @param position 位置 + * + * ``` + * 示例代码 + * ``` + */ + addSample(position: TimePosition): void; + getMoveAmount(sPos: any, ePos: any): Cesium.Cartesian3; + getNearestIndex(time: any): number; + /** + * 获取历史轨迹点 + * @method getHistoryPoints + * + * ``` + * ``` + */ + getHistoryPoints(): Array; + /** + * 获取未飞行的点 + * @method getPreservePoints + * + * ``` + * ``` + */ + getPreservePoints(): Array; + /** + * 获取位置 + * @method getPosition + * + * ``` + * 示例代码 + * targetItem.getPosition(new Date()); + * ``` + */ + getPosition(time: any): Cesium.Cartesian3; + refreshList(): void; + /** + * 目标的速度 + * @method speed + * + * ``` + * 示例代码 + * var speed = targetItem.speed ; + * ``` + */ + speed: number; +} + class TimePosition { + /**点位置 */ + position: Cesium.Cartesian3; + /**时间点 */ + time: number; + /**移动向量 */ + timeSpan: number; + xSpan: number; + ySpan: number; + zSpan: number; + /**标记点是否是历史点 */ + isHistory: boolean; + /**点索引号 */ + index: number; +} + + + class WarningTargets { + private earth; + itemList: Map; + graphicLayer: any; + constructor(viewer: GeoCanvas); + /** + * 目标告警个数 + * @method count + */ + readonly count: number; + /** + * 添加目标告警 + * @method addItem + * @param item 目标对象 + */ + addItem(item: TargetItem): void; + /** + * 移除目标告警 + * @method removeItem + * @param item 目标对象 + */ + removeItem(item: TargetItem): void; + /** + * 更新目标告警 + * @method updatePosition + * @param item 目标对象 + */ + updatePosition(item: TargetItem): void; + /** + * 清空目标告警 + * @method removeAll + * + */ + removeAll(): void; +} + +/** + * @类型 外部使用类 + * @描述 目标历史回放类 + * @see 目标历史轨迹回放 + */ + class TargetHistory { + private _historyDataSource; + private _dsName; + private _viewer; + private _entities; + private _trackLineColor; + private _trackLineWidth; + private _trackPointColor; + private _trackPointSize; + private _smoothTrack; + private _pathList; + private _computeAngle; + private _timePositionList; + /** + * TargetHistory 构造函数 + * @param viewer viewer对象 + * ``` + * 示例代码 + * var targetHistory = new GV.TargetHistory(viewer); + * ``` + */ + constructor(viewer: any); + /** + * @ignore + */ + _timePosition2sample(timePostion: Array): (any[] | Cesium.SampledPositionProperty)[]; + addTargetHistoryEx(target: TargetItem, timePostion: Array): void; + addEntitys(target: TargetItem): any[]; + computeHeading(v1: any, v2: any): any; + /** + * 添加目标运动轨迹 + * @method addTargetHistory + * + * ``` + * 示例代码 + * var itemTypecode = TargetHistory.addTargetHistory(target,[[113,36,500,1574906965962]]) ; + * + * + * ``` + */ + addTargetHistory(target: TargetItem, timePostion: Array): void; + /** + * 移除所有历史轨迹线 + * @method removeAll + * + * ``` + * 示例代码 + * TargetHistory.removeAll() ; + * + * + * ``` + */ + removeAll(): void; + /** + * 根据id删除轨迹线 + * @method removeByID + * + * ``` + * 示例代码 + * TargetHistory.removeByID('dfs') ; + * + * + * ``` + */ + removeByID(id: any): void; + /** + * 设置时间区间 + * @method setTimeSection + * + * ``` + * 示例代码 + * var itemTypecode = TargetHistory.setTimeSection(1574906965962,1574906969962) ; + * + * @returns {Boolean} 是否设置成功 + * ``` + */ + setTimeSection(start: number, end: number): boolean; + /** + * 运行速度 + * @method speed + * + * ``` + * 示例代码 + * var speed = TargetHistory.speed; + * TargetHistory.speed = 1.5; + * + * + * ``` + */ + speed: number; + /** + * 角度是否自动沿线 + * @method computeAngle + * + * ``` + * 示例代码 + * var computeAngle = TargetHistory.computeAngle; + * TargetHistory.computeAngle = false; + * + * + * ``` + */ + computeAngle: boolean; + /** + * 是否开启动画 + * @method animate + * + * ``` + * 示例代码 + * var animate = TargetHistory.animate; + * TargetHistory.animate = true; + * + * + * ``` + */ + animate: boolean; + /** + * 轨迹线是否显示 + * @method show + * + * ``` + * 示例代码 + * var show = targetHistory.show; + * targetHistory.show; = false ; + * ``` + */ + show: boolean; + /** + * 获取设置轨迹线颜色 + * @method lineColor + * + * ``` + * 示例代码 + * var color = targetHistory.lineColor; + * targetHistory.lineColor= Cesium.Color.fromRandom() ; + * ``` + */ + lineColor: Cesium.Color; + /** + * 获取设置轨迹线宽度 + * @method lineWidth + * + * ``` + * 示例代码 + * var width = targetHistory.lineWidth; + * targetHistory.lineWidth = 10 ; + * ``` + */ + lineWidth: number; + /** + * 获取设置轨迹点颜色 + * @method pointColor + * + * ``` + * 示例代码 + * var pointColor = targetHistory.pointColor; + * targetHistory.pointColor = Cesium.Color.fromRandom() ; + * ``` + */ + pointColor: Cesium.Color; + /** + * 获取设置轨迹点的大小 + * @method pointSize + * + * ``` + * 示例代码 + * var size = targetHistory.pointSize; + * targetHistory.pointSize = 10 ; + * ``` + */ + pointSize: number; +} + +/** + * @类型 外部使用类 + * @描述 目标类 + * @see ts中的目标,既可用于动MB,也可用于静MB + */ + class TargetItem extends Item { + _model: any; + _label: any; + _point: any; + _billbord: any; + protected _canvasLine: any; + protected _lineBillboard: any; + protected _data: any; + _position: Cesium.Cartesian3; + _geoPoint: GeoPoint; + protected _flag: TargetState; + protected _pedding: boolean; + _style: TargetStyle; + _timePosition: TimePositions; + protected _angle: number; + _parentLayer: any; + _init: boolean; + protected _type: string; + _smoothTrack: boolean; + protected _inview: boolean; + protected _timeArray: any[]; + _bUseIconColor: boolean; + protected _time: string; + protected _speed: number; + protected _show: boolean; + protected _isSelected: boolean; + protected _showLabel: boolean; + _labelInit: boolean; + _linkLine: any; + protected _showLink: boolean; + protected _showModel: boolean; + protected _modelInit: boolean; + protected _backwardPath: any; + protected _forewardPath: any; + protected _flame: any; + protected _userHPR: any; + protected _color: any; + protected _modelColor: any; + protected _textColor: any; + protected _outlineColor: string; + protected _outlineWidth: number; + protected _itemtype: string; + protected _depthTest: boolean; + protected _partners: Map; + /** + * TargetItem 构造函数 + * @param id 目标对象的id + * @param lon 目标对象的经度 + * @param lat 目标对象的纬度 + * @param alt 目标对象的高度 + * @param smoothTrack 是否需要平滑 + * ``` + * 示例代码 + * let item = new GV.TargetItem('gb324244234sdf432',113.654,36.542.6921,true) + * ``` + */ + constructor(id: string, lon: number, lat: number, alt: number, smoothTrack?: boolean, showTrackLine?: boolean); + readonly timePositionList: TimePosition[]; + /** + * 获取类型 + */ + getType(): string; + readonly forewardPath: TargetPath; + readonly backwardPath: TargetPath; + readonly flame: TargetFlame; + showLabel: boolean; + showModel: boolean; + /** + * 目标的类型编码 + * @method styleCode + * + * ``` + * 示例代码 + * var itemTypecode = targetItem.styleCode ; + * ``` + */ + styleCode: string; + /** + * 目标的类型编码 + * @method pointCacheSize + * @default 500 + * + * ``` + * 示例代码 + * targetItem.pointCacheSize = 1000 ; + * ``` + */ + pointCacheSize: number; + /** + * 目标的类型编码 + * @method flag + * + * ``` + * 示例代码 + * var flag = targetItem.flag; + * ``` + */ + flag: TargetState; + /** + * 获取目标当前位置 + * + * ``` + * 示例代码 + * var position = targetItem.getPosition(); + * ``` + */ + getPosition(): Cesium.Cartesian3; + /** + * 目标图标层是否能设置颜色 + * @method flag + * + * ``` + * 示例代码 + * targetItem.useIconColor=false; + * ``` + */ + useIconColor: boolean; + /** + * 目标是否显示 + * @method flag + * + * ``` + * 示例代码 + * var show = targetItem.show; + * ``` + */ + show: boolean; + /** + * 是否需要平滑目标 + * @method smoothTrack + * + * ``` + * 示例代码 + * var flag = targetItem.smoothTrack = true; + * ``` + */ + smoothTrack: boolean; + /** + * 目标的样式 + * @method style + * + * ``` + * 示例代码 + * var style = targetItem.style; + * ``` + */ + style: TargetStyle; + /** + * 目标位置更新 + * @method updatePosition + * @param lon 经度 + * @param lat 纬度 + * @param alt 高度 + * @param delay 延迟时间,单位秒 + * + * ``` + * 示例代码 + * targetItem.updatePosition(113.254,36.254,10000); + * targetItem.updatePosition(113.254,36.254,10000,10); + * ``` + */ + updatePosition(lon: number, lat: number, alt: number, delay?: number): void; + getColor(): any; + /** + * 目标的名称 + * @method name + * + * ``` + * 示例代码 + * targetItem.name="RED"; + * ``` + */ + name: string; + /** + * 目标颜色,css颜色值 + * @method color + * + * ``` + * 示例代码 + * targetItem.color="RED"; + * targetItem.color="#FF0000"; + * ``` + */ + color: string; + /** + * 目标文字颜色,css颜色值 + * @method textColor + * + * ``` + * 示例代码 + * targetItem.textColor="RED"; + * targetItem.textColor="#FF0000"; + * ``` + */ + textColor: string; + /** + * 目标轮廓颜色,css颜色值 + * @method outlineColor + * + * ``` + * 示例代码 + * targetItem.outlineColor="RED"; + * targetItem.outlineColor="#FF0000"; + * ``` + */ + outlineColor: string; + /** + * 文字轮廓大小 + * @method outlineColor + * + * ``` + * 示例代码 + * targetItem.outlineWidth=2; + * ``` + */ + outlineWidth: number; + /** + * 目标是否开启深度测试,开启后将会始终显示在屏幕最上层,否则会被遮挡 + * @method depthTest + * + * ``` + * 示例代码 + * targetItem.depthTest=false; + * targetItem.outlineColor="#FF0000"; + * ``` + */ + depthTest: boolean; + /** + * 目标模型颜色,css颜色值 + * @method color + * + * ``` + * 示例代码 + * targetItem.modelColor="RED"; + * targetItem.modelColor="#FF0000"; + * ``` + */ + modelColor: string; + /** + * 目标大小 + * @method iconSize + * + * ``` + * 示例代码 + * targetItem.iconSize=24; + * ``` + */ + iconSize: number; + /** + * 图表宽度 + * @method iconWidth + * + * ``` + * 示例代码 + * targetItem.iconWidth=24; + * ``` + */ + iconWidth: number; + /** + * 图表高度 + * @method iconHeight + * + * ``` + * 示例代码 + * targetItem.iconHeight=24; + * ``` + */ + iconHeight: number; + /** + * 图标地址 + * @method iconUrl + * + * ``` + * 示例代码 + * targetItem.iconUrl='./test.png'; + * ``` + */ + iconUrl: string; + /** + * 目标文字背景颜色 + * @method fontbgColor + * + * ``` + * 示例代码 + * targetItem.fontbgColor='red'; + * ``` + */ + fontbgColor: string; + /** + * 是否显示目标文字背景颜色 + * @method showFontbgColor + * + * ``` + * 示例代码 + * targetItem.showFontbgColor = true; + * ``` + */ + showFontbgColor: boolean; + /** + * 目标是否选中 + * @method isSelected + * + * ``` + * 示例代码 + * targetItem.isSelected = true; + * ``` + */ + isSelected: boolean; + /** + * 目标引线显隐看欧诺个只 + * @method showLink + * + * ``` + * 示例代码 + * targetItem.showLink = true; + * ``` + */ + showLink: boolean; + /** + * 目标角度 + * @method angle + * + * ``` + * 示例代码 + * targetItem.angle=105; + * ``` + */ + angle: number; + /** + * 获取或设置目标的HeadingPitchRoll信息 + * @method flag + * + * ``` + * 示例代码 + * var hpr = targetItem.modelHPR; + * ``` + */ + modelHPR: any; + /** + * 目标的时间 + * @method time + * + * ``` + * 示例代码 + * var time = targetItem.time ; + * ``` + */ + time: string; + /** + * 目标的速度 + * @method speed + * + * ``` + * 示例代码 + * var speed = targetItem.speed ; + * ``` + */ + speed: number; + /**************************伴飞对象接口************************ */ + /** + * 添加伴飞对象 + * @method addPartner + * @param partner 伴飞对象,标会对象 + * @returns + * + * ``` + */ + addPartner(partner: any): any; + /** + * 删除伴飞对象 + * @method removePartner + * @param partner 伴飞对象 + * @returns + * + * ``` + */ + removePartner(partner: any): any; + /** + * 清空伴飞对象 + * @method removeAllPartner + * @returns + * + * ``` + */ + clearPartner(): void; + /** + * 伴飞对象集合 + * @method partnerList + * @returns + */ + readonly partnerList: Map; +} + class TrackLineOption { + /**轨迹点个数 */ + points: Array; + /**轨迹线颜色 */ + color: Cesium.Color; + /**轨迹线宽度 */ + width: number; + /**轨迹点个数 */ + count: number; + /**轨迹线是否可见 */ + show: boolean; +} + +/** + * @类型 外部使用类 + * @描述 目标管理类 + * @see 目标的管理操作和高效绘制 + */ + class TargetLayer extends Layer { + private earth; + private renderOption; + private rootcollection; + private rootPointcollection; + private pointcollection; + private labelcollection; + private billbordcollection; + private modelcollection; + private trackLinecollection; + private trackPointcollection; + private targetCollection; + private defaultStyle; + private _show; + private _smoothTrack; + private targetdataSource; + private _gid; + private _ennableDrag; + private interplatePosition; + private showModel; + private displayCondition; + private anchorLine; + private linkLines; + layerConfig: Map; + moveAmount: Cesium.Cartesian3; + positionScratch: Cesium.Cartesian3; + warningTargets: WarningTargets; + private _needUpdate; + private _linkLineWidth; + private _linkLineColor; + private _highlightSelection; + private _selectionColor; + private _brefresh; + private _canvasCache; + private _graphicGroup; + constructor(viewer: Cesium.Viewer); + readonly graphicGroup: any; + private _getUnderGoundExtent; + private _getCurrentExtent; + /** + * @ignore + */ + private _pointInView; + /** + * @ignore + */ + private _renderTarget; + /** + * @ignore + */ + private _getPoint; + /** + * @ignore + */ + private _getLable; + /** + * @ignore + */ + private _getBillboard; + /** + * @ignore + */ + private _getModel; + /** + * @ignore + */ + private _getLinkLine; + private _addTarget; + private addTrack; + /** + * @ignore + */ + private initMouseEvt; + private updateLineCanvas; + private loadLinklines; + /** + * @ignore + *更新目标对象 + */ + private _addORUpdateTarget; + private getStyleByCode; + private setTargetStyle; + private updateLinkStyle; + /** + * 根据屏幕坐标,点选态势元素 + * @method pick + * @param x 坐标x + * @param y 坐标y + * @param clearSelection 是否清空选择集 + */ + pick(x: number, y: number, clearSelection?: boolean): any; + /** + * 根据屏幕区域选择 + * @param x 坐标x + * @param y 坐标y + * @param width 宽度 + * @param height 高度 + */ + pickRect(x: number, y: number, width: number, height: number): any[]; + /** + * 保存图层样式配置信息 + * @method saveStyleConfig + * @return {Object} 图层样式配置信息 + */ + saveStyleConfig(): Object; + /** + * 加载图层样式配置信息 + * @method loadStyleConfig + * @param config 图层样式配置信息 + */ + loadStyleConfig(config: any): void; + /** + * 是否高亮选中的目标 + */ + highlightSelection: boolean; + /** + * 目标选中颜色,只有highlightSelected 为true时 该属性生效 + */ + selectionColor: string; + /** + * 获取所有选中的目标对象 + */ + getSelection(): any[]; + /** + *清空所有选中的目标集合 + */ + clearSelection(): void; + /** + *反选目标对象 + */ + reverseSelection(): void; + /** + *全选目标对象 + */ + selectAll(): void; + /** + * 目标是否需要平滑 + */ + smoothTrack: boolean; + /** + * 获取目标列表 + */ + getItemList(): any[]; + /** + * 获取图层的id + * @method id + * @readonly + * @return + */ + readonly id: string; + /** + * 获取图层的名称 + * @method name + * @readonly + * @return + */ + readonly name: string; + /** + * 是否允许拖拽 + * @method ennableDrag + */ + ennableDrag: boolean; + /** + * 引线宽度 + * @method linkLineWidth + */ + linkLineWidth: number; + /** + * 引线颜色 + * @method linkLineColor + */ + linkLineColor: string; + /** + * 判断目标是否存在 + * @method isExist + * @param itemid 目标对象的ID + * @return + */ + isExist(itemid: string): boolean; + /** + * 目标图层的显隐 + * @method show + * + * ``` + * 示例代码 + * targetLayer.show=false; + * ``` + */ + show: boolean; + /** + * 添加目标对象 + * @method add + * @param item 目标对象 + * @return + * + * ``` + * 示例代码 + * var tTarget = new GV.TargetItem("targetData.id",113.454,36.45,10000,0); + * targetLayer.add(tTarget); + * + * ``` + */ + add(item: TargetItem): TargetItem; + /** + * 通过id获取目标对象 + * @method getItemById + * @param itemid 目标对象的id + * @return + * + * ``` + * 示例代码 + * targetLayer.getItemById("targetData.id"); + * + * ``` + */ + getItemById(itemid: string): any; + /** + * 通过删除目标对象 + * @method remove + * @param itemid 目标对象的id + * @return + * + * ``` + * 示例代码 + * targetLayer.remove("targetData.id"); + * + * ``` + */ + remove(value: string | TargetItem): TargetItem; + /** + * 清空目标对象 + * @method removeAll + * @return {Boolean} + * + * ``` + * 示例代码 + * targetLayer.removeAll(); + * + * ``` + */ + removeAll(): boolean; + private refresh; + /** + * 销毁对象 + */ + private destroy; +} + +/** + * @类型 外部使用类 + * @描述 目标轨迹类 + * @see ts中的目标的各类轨迹绘制 + */ + class TargetPath { + private _target; + private _init; + private _trackLine; + private _trackPoints; + private _showTrack; + private _trackLineColor; + private _trackLineWidth; + private _trackPointColor; + private _trackPointSize; + private _trackPositionCount; + private _trackPositions; + private _trackInit; + private _trackLineType; + private _mtype; + private _backLineMode; + private _modeChange; + /** + * TargetPath 构造函数 + * @param target 目标对象 + * ``` + * 示例代码 + * let itempath = new GV.TargetPath(target,) + * ``` + */ + constructor(target: TargetItem, pType: any); + /** + *@ignore + */ + trackInit: boolean; + /** + *@ignore + */ + trackLine: any; + /** + *@ignore + */ + readonly mtype: PathType; + /** + * 目标的轨迹点 + * @method trackPositions + * + * ``` + * 示例代码 + * var itemTypecode = targetItem.trackPositions ; + * ``` + */ + readonly trackPositions: any[]; + /** + * 轨迹是否显示 + * @method show + * + * ``` + * 示例代码 + * var show = targetPath.show; + * targetPath.show = false ; + * ``` + */ + show: boolean; + /** + * 获取设置轨迹线颜色 + * @method trackLineColor + * + * ``` + * 示例代码 + * var color = targetPath.trackLineColor; + * targetPath.trackLineColor = Cesium.Color.fromRandom() ; + * ``` + */ + trackLineColor: Cesium.Color; + /** + * 获取设置轨迹线保留点个数 + * @method trackLineCount + * + * ``` + * 示例代码 + * var count = targetPath.trackPositionCount; + * targetPath.trackPositionCount = 10 ; + * ``` + */ + trackPositionCount: number; + /** + * 获取设置轨迹线宽度 + * @method trackLineWidth + * + * ``` + * 示例代码 + * var width = targetPath.trackLineWidth; + * targetPath.trackLineWidth = 10 ; + * ``` + */ + trackLineWidth: number; + /** + * 获取设置轨迹点颜色 + * @method trackPointColor + * + * ``` + * 示例代码 + * var width = targetPath.trackPointColor; + * targetPath.trackLineWidth = 10 ; + * ``` + */ + trackPointColor: Cesium.Color; + /** + * 获取设置轨迹点的大小 + * @method trackPointSize + * + * ``` + * 示例代码 + * var size = targetPath.trackPointSize; + * targetPath.trackLineWidth = 10 ; + * ``` + */ + trackPointSize: number; + updateTrackPoint(): void; + /** + * 获取目标轨迹点 + * @method getTrackPoint + * + * ``` + * 示例代码 + * var point = targetPath.getTrackPoint(1) ; + * ``` + */ + getTrackPoint(index: any): any; + /** + * 获取目标轨迹点 + * @method trackLineType + * + * ``` + * 示例代码 + * var trackLineType = targetPath.trackLineType ; + * ``` + */ + trackLineType: string; + /** + * 获取设置历史轨迹线模式 + * @method foreLineMode + * + * ``` + * 示例代码 + * var foreLineMode = targetPath.foreLineMode; + * ``` + */ + foreLineMode: BackLineMode; + updatePosition(position: Cesium.Cartesian3): void; + getTagPositions(): any[]; + /** + * @ignore + */ + render(curentPosition: any): void; +} + class PathType { + /**未飞行轨迹 */ + static backward: string; + /**历史轨迹 */ + static foreward: string; +} +/** + * 历史轨迹线材质模式 + */ + class BackLineMode { + /**渐变模式 */ + static ramp: string; + /**全色模式 */ + static full: string; +} + +/** + * @类型 外部使用类 + * @描述 目标样式类 + */ + class TargetStyle { + private _color; + private _pointSize; + private _pointLineWidth; + private _pointLineColor; + private _pointDisplayCondition; + private _fontSize; + private _fontColor; + private _font; + private _fontbgColor; + private _showFontbgColor; + private _labelDisplayCondition; + private _labelLineColor; + private _iconUrl; + private _iconSize; + private _iconDisplayCondition; + private _modelUrl; + private _modelDisplayCondition; + private _modelMaximumScale; + private _modelMinimumPixelSize; + private _labeloffsetx; + private _labeloffsety; + private _trackLineWidth; + private _trackLineColor; + private _selectedColor; + private _showBackground; + _iconHeight: number; + _iconWidth: number; + constructor(); + /** + * 目标的默认样式 + * @method DefaultStyle + * @readonly + * @return + */ + static DefaultStyle(): TargetStyle; + /** + * 目标的对象的颜色 + * @method color + * @return + */ + color: string; + /** + * 是否显示背景颜色 + * @method showBackground + * @return + */ + showBackground: boolean; + /** + * 选中的目标的颜色 + * @method selectedColor + * @return + */ + selectedColor: string; + /** + * 目标点的大小 + * @method pointSize + * @return + */ + pointSize: number; + /** + * 点描边宽度 + */ + pointLineWidth: number; + /** + * 点描边颜色 + */ + pointLineColor: string; + /** + * 点可视范围 + */ + pointDisplayCondition: Cesium.DistanceDisplayCondition; + /** + * 字体大小 + */ + fontSize: number; + /** + * 字体颜色 + */ + fontColor: string; + /** + * 字体 + */ + font: string; + /** + * 字体背景颜色 + */ + fontbgColor: string; + /** + * 是否显示字体背景颜色 + */ + showFontbgColor: boolean; + /** + * 标牌可视范围 + */ + labelDisplayCondition: Cesium.DistanceDisplayCondition; + /** + * 标牌连线线宽 + */ + labelLineColor: string; + /** + * 图标路径,使用白色图片 + */ + iconUrl: string; + /** + * 图标大小 + */ + iconSize: number; + iconDisplayCondition: Cesium.DistanceDisplayCondition; + /** + * 模型路径 + */ + modelUrl: string; + /** + * 模型可见范围 + */ + modelDisplayCondition: Cesium.DistanceDisplayCondition; + /** + * 模型最大缩放比例 + */ + modelMaximumScale: number; + /** + * 模型最小显示像素 + */ + modelMinimumPixelSize: number; + /** + * 轨迹线宽度 + */ + trackLineWidth: number; + /** + * 轨迹线颜色 + */ + trackLineColor: string; + /** + * 标牌x轴偏移 + */ + labeloffsetx: number; + /** + * 标牌y轴偏移 + */ + labeloffsety: number; + /** + * 将样式保存为json + * @method toJson + * + */ + static toJson(style: any): Object; + /** + * 加载样式 + * @method fromJson + * @param style 样式对象 + * + */ + static fromJson(style: any): TargetStyle; +} + + abstract class ComTerrainProvider { + protected _heightmapWidth: number; + protected _heightmapStructure: any; + protected _ellipsoid: any; + protected _errorEvent: Cesium.Event; + protected _credit: Cesium.Credit; + protected _tileCredits: any[]; + protected _availability: any; + protected _readyPromise: any; + protected _lastResource: any; + protected _layerJsonResource: any; + protected _metadataError: any; + protected _layers: any[]; + protected _attribution: string; + protected _overallAvailability: any[]; + protected _overallMaxZoom: any; + protected _tilingScheme: any; + protected _scheme: any; + protected _levelZeroMaximumGeometricError: any; + protected _hasMetadata: boolean; + protected _hasWaterMask: boolean; + protected _requestWaterMask: any; + protected _hasVertexNormals: boolean; + protected _requestVertexNormals: any; + protected _requestMetadata: any; + protected _ready: boolean; + constructor(opt: any); + private parseMetadataSuccess; + protected metadataSuccess(data: any): void; + private parseMetadataFailure; + protected metadataFailure(data: any): void; + protected requestLayerJson(): void; + private getAvailabilityTile; + protected checkLayer(provider: any, x: any, y: any, level: any, layer: any, topLayer: any): { + result: boolean; + promise?: undefined; + } | { + result: boolean; + promise: any; + }; + protected getRequestHeader(extensionsList: any): { + Accept: string; + }; + protected createQuantizedMeshTerrainData(provider: any, buffer: any, level: any, x: any, y: any, layer: any): any; + protected createHeightmapTerrainData(provider: any, buffer: any, level: any, x: any, y: any): any; + requestTileGeometry(x: any, y: any, level: any, request: any): any; + protected requestTile(provider: any, x: any, y: any, level: any, layerToUse: any, request: any): any; + getTileDataAvailable(x: any, y: any, level: any): boolean; + /** + * Gets the maximum geometric error allowed in a tile at a given level. + * + * @param {Number} level The tile level for which to get the maximum geometric error. + * @returns {Number} The maximum geometric error. + */ + getLevelMaximumGeometricError(level: any): number; + /** + * Gets an event that is raised when the terrain provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + * @memberof CesiumTerrainProvider.prototype + * @type {Event} + */ + readonly errorEvent: Cesium.Event; + /** + * Gets the credit to display when this terrain provider is active. Typically this is used to credit + * the source of the terrain. This function should not be called before {@link CesiumTerrainProvider#ready} returns true. + * @memberof CesiumTerrainProvider.prototype + * @type {Credit} + */ + readonly credit: Cesium.Credit; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link CesiumTerrainProvider#ready} returns true. + * @memberof CesiumTerrainProvider.prototype + * @type {GeographicTilingScheme} + */ + readonly tilingScheme: any; + /** + * Gets a value indicating whether or not the provider is ready for use. + * @memberof CesiumTerrainProvider.prototype + * @type {Boolean} + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + * @memberof CesiumTerrainProvider.prototype + * @type {Promise.} + * @readonly + */ + readonly readyPromise: any; + /** + * Gets a value indicating whether or not the provider includes a water mask. The water mask + * indicates which areas of the globe are water rather than land, so they can be rendered + * as a reflective surface with animated waves. This function should not be + * called before {@link CesiumTerrainProvider#ready} returns true. + * @memberof CesiumTerrainProvider.prototype + * @type {Boolean} + * @exception {DeveloperError} This property must not be called before {@link CesiumTerrainProvider#ready} + */ + readonly hasWaterMask: any; + /** + * Gets a value indicating whether or not the requested tiles include vertex normals. + * This function should not be called before {@link CesiumTerrainProvider#ready} returns true. + * @memberof CesiumTerrainProvider.prototype + * @type {Boolean} + * @exception {DeveloperError} This property must not be called before {@link CesiumTerrainProvider#ready} + */ + readonly hasVertexNormals: any; + /** + * Gets a value indicating whether or not the requested tiles include metadata. + * This function should not be called before {@link CesiumTerrainProvider#ready} returns true. + * @memberof CesiumTerrainProvider.prototype + * @type {Boolean} + * @exception {DeveloperError} This property must not be called before {@link CesiumTerrainProvider#ready} + */ + readonly hasMetadata: any; + /** + * Boolean flag that indicates if the client should request vertex normals from the server. + * Vertex normals data is appended to the standard tile mesh data only if the client requests the vertex normals and + * if the server provides vertex normals. + * @memberof CesiumTerrainProvider.prototype + * @type {Boolean} + */ + readonly requestVertexNormals: any; + /** + * Boolean flag that indicates if the client should request a watermask from the server. + * Watermask data is appended to the standard tile mesh data only if the client requests the watermask and + * if the server provides a watermask. + * @memberof CesiumTerrainProvider.prototype + * @type {Boolean} + */ + readonly requestWaterMask: any; + /** + * Boolean flag that indicates if the client should request metadata from the server. + * Metadata is appended to the standard tile mesh data only if the client requests the metadata and + * if the server provides a metadata. + * @memberof CesiumTerrainProvider.prototype + * @type {Boolean} + */ + readonly requestMetadata: any; + /** + * Gets an object that can be used to determine availability of terrain from this provider, such as + * at points and in rectangles. This function should not be called before + * {@link CesiumTerrainProvider#ready} returns true. This property may be undefined if availability + * information is not available. Note that this reflects tiles that are known to be available currently. + * Additional tiles may be discovered to be available in the future, e.g. if availability information + * exists deeper in the tree rather than it all being discoverable at the root. However, a tile that + * is available now will not become unavailable in the future. + * @memberof CesiumTerrainProvider.prototype + * @type {TileAvailability} + */ + readonly availability: any; +} + class LayerInfo { + resource: any; + version: any; + isHeightmap: any; + tileUrlTemplates: any; + availability: any; + hasVertexNormals: any; + hasWaterMask: any; + hasMetadata: any; + availabilityLevels: any; + availabilityTilesLoaded: any; + littleEndianExtensionSize: any; + availabilityPromiseCache: any; + constructor(layer: any); +} + +/** + * @类型 外部使用类 + * @描述 地形子项 + * @see 示例 + */ + class TerrainItem extends Item { + private _show; + private _index; + private _terrainProvider; + protected _type: string; + constructor(terrainProvider: any, option: any); + /** + * 地形图层的显隐 + * @method show + * + * ``` + * 示例代码 + * terrainLayer.show=false; + * ``` + */ + show: boolean; + readonly terrainProvider: any; + /** + * 地形图层的顺序 + * @method index + * + * ``` + * 示例代码 + * terrainLayer.index=10; + * ``` + */ + index: number; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + toJson(): object; + /** + * 解析json对象 + */ + parseJson(json: object): void; + /** + * 销毁对象 + */ + private destroy; +} + +/** + * @类型 外部使用类 + * @描述 多地形管理 + * @see 示例 + */ + class TerrainLayerCollection extends Layer { + private earth; + private _terrainLayers; + private _show; + private _baseProvider; + constructor(viewer: Cesium.Viewer); + /** + * @ignore + */ + _initBaseTerrain(): void; + /** + * @ignore + */ + _getTerrainData(x: any, y: any, level: any, request: any): any; + /** + * @ignore + */ + _reloadTerain(): void; + /** + * 地形图层的显隐 + * @method show + * + * ``` + * 示例代码 + * terrainLayer.show=false; + * ``` + */ + show: boolean; + /** + * 添加地形图层 + * @method add + * @param item 地形图层对象 + * @return + * + * ``` + * 示例代码 + * var terrainItem = new GV.createWorldTerrain(); + * terrainLayer.add(terrainItem); + * + * ``` + */ + add(item: any): TerrainItem; + /** + * 根据id获得对象 + * @param itemid 对象id + */ + getItemById(itemid: string): TerrainItem; + /** + * 根据name获得对象 + * @param itemName 对象名称 + */ + getItemByName(itemName: string): any; + /** + * 通过删除地形图层对象 + * @method remove + * @param itemid 图层对象的id + * @return + * + * ``` + * 示例代码 + * terrainLayer.remove("id"); + * + * ``` + */ + remove(itemid: string): any; + /** + * 清空地形图层对象 + * @method removeAll + * @return {Boolean} + * + * ``` + * 示例代码 + * terrainLayer.removeAll(); + * + * ``` + */ + removeAll(): void; + /** + * 销毁对象 + */ + private destroy; +} + + class TMSTerrainProvider extends ComTerrainProvider { + private _tileSets; + private _width; + private _height; + private _dataFormat; + private _dataExtension; + constructor(opt: any); + protected xmlSuccess(xmlDoc: any): void; + protected xmlFailure(data: any): void; + protected requestLayerXml(): void; + private getLevelUrl; + protected requestTile(provider: any, x: any, y: any, level: any, layerToUse: any, request: any): any; + /** + * 将请求到的瓦片数据转化为高程buffer + * @param image 瓦片数据 + * @param heightBuffer 高程buffer + */ + protected getImagePixels(image: any, heightBuffer: any): void; + /** + * 当前瓦片获得最右边列的高程值,即右边邻接瓦片的最左边一列高程。 + * @param tileBuffer 右边邻接瓦片 + * @param heightBuffer 当前瓦片 + */ + private getRightPixels; + /** + * 当前瓦片获得最下边行的高程值,即下边邻接瓦片的最顶端一行高程。 + * @param tileBuffer 下边邻接瓦片 + * @param heightBuffer 当前瓦片 + */ + private getBottomPixels; + /** + * 当前瓦片获得最右下角点的高程值,即右下对角瓦片的最左上角点。 + * @param tileBuffer 右下角邻接瓦片 + * @param heightBuffer 当前瓦片 + */ + private getRightBottomPixel; + protected requestTileBuffer(url: any, version: any, level: any, x: any, y: any, query: any, headers: any, request: any): any; + private getPixelIndex; + /** + * 构建QuantizedMesh地形瓦片 + * @param provider + * @param buffer + * @param level + * @param x + * @param y + * @param layer + */ + protected createQuantizedMeshTerrainData__(provider: any, buffer: any, level: any, x: any, y: any): any; + private createHeightmap; + /** + * 获取瓦片是否可获得,返回值:true(表示可获得); false(表示不可获得); undefined(表示provider不支持这个瓦片) + * @param x + * @param y + * @param level + */ + getTileDataAvailable(x: any, y: any, level: any): boolean; +} + +/** + * @类别 需手动创建,然后添加到矢量图层类中
+ * @描述 北斗网格瓦片图层 + * @see 北斗网格瓦片图层 + */ + class BDTileLayer extends Item { + protected _name: any; + protected _changed: Cesium.Event; + protected _error: Cesium.Event; + protected _loading: Cesium.Event; + protected _isLoading: boolean; + protected _scene: any; + protected _loaded: boolean; + protected _tileReplacementQueue: any; + protected _tileCacheSize: any; + protected _renderTiles: Cesium.AssociativeArray; + protected _maxLevel: any; + protected _showLevel: any; + protected _deleteTileSetEvent: Cesium.Event; + protected _pickEvent: Cesium.Event; + protected _geographicTilingScheme: Cesium.GeographicTilingScheme; + protected _maxmemory: any; + protected _url: any; + protected _show: boolean; + protected _viewer: GeoCanvas; + protected _id: string; + /** + * 初始化 + * @param {string} url 服务地址 + * @param {number} showLevel 网格显示层级 (范围:>=0 && <=22) + * @returns + * ``` + * 示例: + * let gridLayer = new GV.BDTileLayer(urlService, 9); + * viewer.tileLayer.add(gridLayer); + * ``` + */ + constructor(url: string, showLevel?: number); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 初始化 + * @param {GeoCanvas} viewer 视图信息 + */ + initItem(viewer: GeoCanvas): void; + /** + * 移除 + */ + destroyItem(): void; + name: any; + private show; + private findTileFromCache; + private tilesetDeletechange; + private processTile; + getTileExtent(tile: any): { + xmin: number; + xmax: number; + ymin: number; + ymax: number; + }; + private buildTileUrl; + private getRenderTileKeys; + private update; + private destroy; +} + +/** + * @类型 GeoSotLayer网格图层 + * @描述 国家标准网格码 + * @see 军用图幅 + */ + class GeoSotLayer { + private viewer; + private labels; + private colseRangeLabels; + private _visible; + private primitive; + private _url; + private _removeEnd; + private _entity; + private _currenInfo; + private _enablePick; + private _currentGrid; + private _queryUrl; + private _currentLevel; + private _is3D; + private _primitive3D; + private _gridColor; + private _fillColor; + private _isClip; + private _clipExt; + private _clipEntity; + constructor(viewer: Cesium.Viewer, url: string); + private pickEvent; + /** + * 设置显隐 + * @memberof MapSheet + */ + visible: boolean; + /** + * 设置拾取 + * @memberof MapSheet + */ + enablePick: boolean; + /** + * 设置拾取Url + * @memberof MapSheet + */ + queryUrl: boolean; + /** + * 移除 + */ + private remove; + /** + * 移除 + */ + private addExtent; + /** + * 添加线、label进入场景 + * @param data + */ + private getData; + /** + * 添加线、label进入场景 + * @param data + */ + private updatePrimitive; + /** + * 添加线、label进入场景 + * @param data + */ + private updatePrimitive3D; + setClipRange(xmin: any, ymin: any, xmax: any, ymax: any, bottom?: number, top?: number): void; + clearClipRange(): void; + destroy(): void; +} + +/** + * @类别 需手动创建,然后添加到矢量图层类中
+ * @描述 矢量图标类 + * @see 矢量图标 + */ + class IconTile extends Item { + protected _imageUrl: string; + protected _scale: number; + protected _provider: WMTSVectorProvider; + protected _name: any; + protected _tileCacheSize: any; + protected _renderTiles: any; + protected _pickInstance: any; + protected _pickTile: any; + protected _tileReplacementQueue: any; + protected _entityCluster: Cesium.EntityCluster; + protected _entityCollection: Cesium.EntityCollection; + protected _pickEvent: Cesium.Event; + protected _loading: Cesium.Event; + protected _error: Cesium.Event; + protected _changed: Cesium.Event; + protected _isLoading: boolean; + protected _isPick: any; + protected _maxLevel: any; + protected _minLevel: any; + protected _loaded: boolean; + protected _pickPrimitive: Cesium.ScreenSpaceEventHandler; + protected _oldInstance: any; + protected _scene: any; + private _viewer; + protected _pickedColor: string; + protected _id: string; + /** + * 初始化 + * @param options 参数类 + * @returns + * ``` + * 示例: + * let iconTileOpt = new GV.IconTileOpt(urlService, layer); + * let iconTile = new GV.IconTile(iconTileOpt); + * viewer.tileLayer.add(iconTile); + * ``` + */ + constructor(options: IconTileOpt); + /** + * 初始化 + * @param {GeoCanvas} 视图对象 + */ + initItem(viewer: GeoCanvas): void; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 添加点击回调 + * @param {Function} callback 回调方法 + * ``` + * 示例: + * iconTile.onPick = onPickChanged; + * function onPickChanged(instance) { + * console.log(instance); + * } + * ``` + */ + onPick: Function; + /** + * 移除 + */ + destroyItem(): void; + /** + * 获取名称 + * @memberof IconTileDataSource + */ + /** + * 设置名称 + * @memberof IconTileDataSource + */ + name: any; + /** + * 获取计时器 + * @memberof IconTileDataSource + */ + private readonly clock; + /** + * 获取集合器 + * @memberof IconTileDataSource + */ + private readonly entities; + /** + * 获取加载状态 + * @memberof IconTileDataSource + */ + private readonly isLoading; + /** + * 获取改变事件 + * @memberof IconTileDataSource + */ + private readonly changedEvent; + /** + * 获取点击事件 + * @memberof IconTileDataSource + */ + private readonly pickEvent; + /** + * 获取错误事件 + * @memberof IconTileDataSource + */ + private readonly errorEvent; + /** + * 获取加载事件 + * @memberof IconTileDataSource + */ + private readonly loadingEvent; + /** + * 获取显示状态 + * @memberof IconTileDataSource + */ + /** + * 设置显示状态 + * @memberof IconTileDataSource + */ + private show; + /** + * 获取群集 + * @memberof IconTileDataSource + */ + /** + * 设置群集 + * @memberof IconTileDataSource + */ + private clustering; + /** + * @private 查找当前渲染队列是否有当前瓦片 + * @memberof IconTileDataSource + */ + private findTileFromCache; + /** + * @private 查找当前渲染队列是否有当前瓦片 + * @memberof IconTileDataSource + */ + private handleParentAndChildren; + /** + * @private 创建广告牌 + * @memberof IconTileDataSource + */ + private createBill; + /** + * @private 加载数据 + * @memberof IconTileDataSource + */ + private processBill; + /** + * @private 加载数据 + * @memberof IconTileDataSource + */ + private processFeature; + /** + * @private 加载数据 + * @memberof IconTileDataSource + */ + private loadBillData; + /** + * @private 为瓦片添加数据 + * @memberof IconTileDataSource + */ + private processTile; + /** + * @private 生成瓦片唯一Key值 + * @memberof IconTileDataSource + */ + private getRenderTileKeys; + /** + * @private 更新函数 + * @memberof IconTileDataSource + */ + private update; + /** + * @private 销毁 + * @memberof IconTileDataSource + */ + private destroy; +} +/** + * 图标矢量参数 +* 该方法是和icenter配合的特定功能,url当前对外呈现的是wmts的方式接入,不支持其他方式如wms等 + */ + class IconTileOpt { + /**服务地址 */ + url: string; + /**图层信息 */ + layer: string; + /**图标路径 */ + imageUrl: string; + /**数据显示最小层级 (范围:>=0 && <=22)*/ + minLevel: number; + /**数据显示最大层级 (范围:>=0 && <=22)*/ + maxLevel: number; + /**是否开启选中功能 */ + isPick: boolean; + /**被选中颜色 */ + pickedColor: string; + /**图标缩放系数 (范围:>=0 && <=10)*/ + scale: number; + constructor(url: string, layer: string, imageUrl?: string, minLevel?: number, maxLevel?: number, isPick?: boolean, pickedColor?: string, scale?: number); +} + + class GxGeoRegion { + MinX: any; + MaxX: any; + MinY: any; + MaxY: any; + MinLon: any; + MaxLon: any; + MinLat: any; + MaxLat: any; + readonly CenterX: number; + readonly CenterY: number; + readonly XSpan: number; + readonly YSpan: number; + readonly CenterLon: number; + readonly CenterLat: number; +} + + class JPlaceNameTile { + static CurrentLV: number; + static CurrentPlaceName: Placename[]; + LayerStyles: Map; + private viewer; + private labelCollection; + private billboardcollection; + rootcollection: Cesium.PrimitiveCollection; + InitViewer(viewer: Cesium.Viewer): void; + show: boolean; + load(data: Array, clear: boolean): void; + static borderColor: string; + static getPlaceLabelParam(bm: number): [number, string, string]; +} + + class LayerStyle { + FontName: string; + FontSize: number; + FontColor: number; + FontBolderColor: number; + ImageDisplay: boolean; + ImageString: string; + FontA: number; + FontR: number; + FontG: number; + FontB: number; + BorderA: number; + BorderR: number; + BorderG: number; + BorderB: number; +} + + class Placename { + DMBS: number; + DMCJBM: number; + DMMC: string; + WZ: string; + MS: string; + DLBM: number; + DMMCCD: number; + DMJP: string; + DMQP: string; + DMBM: string; + BDY: string; + YWMC: string; + DMDZ: string; + DMGC: number; + LV: number; + readonly LocStr: string; +} + +/** + * J地名服务对接 + * 说明:此接口主要对J地名服务对接 + */ + class PlaceNameService { + private baseurl; + private collection; + private LayerStyles; + private viewer; + private _visible; + /** + * 设置显隐 + * @param value 显隐标志位 + */ + /** + * 设置显隐 + */ + visible: boolean; + /** + * 初始化 + * @param viewer 视图对象 + * @param url 服务地址 + */ + constructor(viewer: Cesium.Viewer, url?: string); + private initPlaceNameStyle; + /** + * 显示 + */ + private showPlaceName; + private oldgeocoord; + private onCameraChange; + private readonly DegreeToRadians; + private GetTileList; + private CaculateTile; + private getJSON; + private getCurrentExtent; +} + + class QRTile { + Level: any; + Row: any; + Col: any; + constructor(level: any, row: any, col: any); + addPreZero(num: number): string; + Code(): string; +} + + class ViewerSceen { + xmin: number; + ymin: number; + xmax: number; + ymax: number; + height: number; +} + +/** + * @类别 需手动创建,然后添加到矢量图层类中
+ * @描述 矢量地名类 + * @see 矢量地名 + */ + class JQPlaceNameTile extends Item { + protected _name: any; + protected _changed: Cesium.Event; + protected _error: Cesium.Event; + protected _isLoading: boolean; + protected _loading: Cesium.Event; + protected _entityCluster: Cesium.EntityCluster; + protected _entityCollection: Cesium.EntityCollection; + protected _url: any; + protected _scene: any; + private _viewer; + protected _tileReplacementQueue: any; + protected _tileCacheSize: any; + protected _renderTiles: Cesium.AssociativeArray; + protected _clusterDirty: number; + protected _table: Map; + protected _styleTable: any; + protected _currentTiles: any[]; + protected _id: string; + protected _tilingScheme: any; + protected _placeNameImagery: any; + protected _timer: any; + /** + * 初始化 + * @param options 参数类 + * @returns + * ``` + * 示例: + * let PlaceNameTileOpt = new GV.JQPlaceNameTileOpt(urlService); + * let placeNameTile = new GV.JQPlaceNameTile(PlaceNameTileOpt); + * viewer.tileLayer.add(placeNameTile); + * ``` + */ + constructor(options: JQPlaceNameTileOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 初始化 + * @param {GeoCanvas} 视图对象 + */ + initItem(viewer: GeoCanvas): void; + /** + * 删除 + */ + destroyItem(): void; + private createLevelMap; + private createDefaultStyles; + /** + * 显示或隐藏图层. + * @memberof PlaceTileDataSource.prototype + * @type {Boolean} + */ + private show; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + * + * @memberof PlaceTileDataSource.prototype + * @type {EntityCluster} + */ + private clustering; + private createTileKey; + private processTile; + private update; + private doUpdate; + private getX; + private getY; + private cluster; + private destroy; +} +/** + * 文字矢量参数类 + */ + class JQPlaceNameTileOpt { + /**服务地址 */ + url: string; + /**投影方式 */ + tilingScheme: Cesium.WebMercatorTilingScheme; + /**级别映射 */ + table: Map>; + /**样式 */ + styles: Map>; + constructor(url: string, table?: Map>, styles?: Map>); +} +/** + * 文字样式 + */ + class JQPlaceFontStyle { + /**字体、大小 */ + font: string; + /**字体颜色 */ + fillColor: string; + /**外边框颜色 */ + outlineColor: string; + /**外边框宽度 */ + outlineWidth: number; + constructor(font?: string, fillColor?: string, outlineColor?: string, outlineWidth?: number); +} + class PlacenameWrraper { + constructor(options: any); + static getPlaceList(arrayBuffer: any): any[]; +} +/** + *@ignore + */ + class placeNameImageryProvider { + _tilingScheme: Cesium.WebMercatorTilingScheme; + _tileWidth: number; + _tileHeight: number; + _readyPromise: any; + _maximumLevel: number; + _minimumLevel: number; + _requestImage: any; + constructor(options: any); + readonly tileWidth: number; + readonly tileHeight: number; + readonly maximumLevel: number; + readonly minimumLevel: number; + readonly tilingScheme: Cesium.WebMercatorTilingScheme; + readonly rectangle: Cesium.Rectangle; + readonly ready: boolean; + readonly readyPromise: any; + readonly hasAlphaChannel: boolean; + requestImage: any; +} + +/** + * @类别 需手动创建,然后添加到矢量图层类中
+ * @描述 矢量线 + * @see 矢量线 + */ + class LineTile extends Item { + protected _id: string; + protected _name: any; + protected _changed: any; + protected _error: any; + protected _isLoading: boolean; + protected _loading: any; + protected _entityCollection: any; + protected _entityCluster: any; + protected _scene: any; + protected _provider: any; + protected _loaded: boolean; + protected _options: any; + protected _tileReplacementQueue: any; + protected _tileCacheSize: any; + protected _minLevel: any; + protected _renderTiles: any; + protected _maxLevel: any; + protected _pickEvent: any; + protected _oldTile: any; + protected _isBuilding: any; + protected _pickShow: any; + protected _pickType: any; + protected _pickPrimitive: any; + protected _viewer: GeoCanvas; + /** + * 初始化 + * @param options 参数类 + * @returns + * ``` + * 示例: + * let lineTileOpt = new GV.LineTileOpt(urlService, layer); + * let lineTile = new GV.LineTile(lineTileOpt); + * viewer.tileLayer.add(lineTile); + * ``` + */ + constructor(options: LineTileOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + private coordinatesArrayToCartesianArray; + private createLineString; + private processLineString; + private processMultiLineString; + private createPolygon; + private processPolygon; + private processMultiPolygon; + private processFeature; + private processFeatureCollection; + private defaultCrsFunction; + /** + * 初始化 + * @param {GeoCanvas} viewer 视图信息 + */ + initItem(viewer: GeoCanvas): void; + /** + * 删除 + */ + destroyItem(): void; + /** + * 添加点击回调 + * @param {Function} callback 回调 + */ + onPick: Function; + /** + * Gets an object that maps the name of a crs to a callback function which takes a GeoJSON coordinate + * and transforms it into a WGS84 Earth-fixed Cartesian. Older versions of GeoJSON which + * supported the EPSG type can be added to this list as well, by specifying the complete EPSG name, + * for example 'EPSG:4326'. + * @memberof GeoJsonDataSource + * @type {Object} + */ + private readonly crsNames; + /** + * Gets or sets a human-readable name for this instance. + * @memberof VectorTileDataSource.prototype + * @type {String} + */ + name: any; + private readonly clock; + /** + * Gets the collection of {@link Entity} instances. + * @memberof VectorTileDataSource.prototype + * @type {EntityCollection} + */ + private readonly entities; + /** + * Gets a value indicating if the data source is currently loading data. + * @memberof VectorTileDataSource.prototype + * @type {Boolean} + */ + private readonly isLoading; + /** + * Gets an event that will be raised when the underlying data changes. + * @memberof GeoJsonDataSource.prototype + * @type {Event} + */ + private readonly changedEvent; + /** + * Gets an event that will be raised when pick rendered object. + * @memberof VectorTileDataSource.prototype + * @type {Event} + */ + private readonly pickEvent; + /** + * Gets an event that will be raised if an error is encountered during processing. + * @memberof VectorTileDataSource.prototype + * @type {Event} + */ + private readonly errorEvent; + /** + * Gets an event that will be raised when the data source either starts or stops loading. + * @memberof VectorTileDataSource.prototype + * @type {Event} + */ + private readonly loadingEvent; + /** + * Gets whether or not this data source should be displayed. + * @memberof VectorTileDataSource.prototype + * @type {Boolean} + */ + private show; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + * + * @memberof VectorTileDataSource.prototype + * @type {EntityCluster} + */ + private clustering; + private pickAllTileProperty; + private findTileFromCache; + private findParentAndChildren; + private handleParentAndChildren; + private processTile; + private getRenderTileKeys; + private update; + private destroy; +} +/** + * 参数类 + * 该方法是和icenter配合的特定功能,url当前对外呈现的是wmts的方式接入,不支持其他方式如wms等 + */ + class LineTileOpt { + /**服务地址 */ + url: string; + /**图层信息 */ + layer: string; + /**wmts中对应的节点下面的属性信息 */ + tilematrixset: string; + /**格式 'application/json;type=geojson'或者'application/x-protobuf;type=mapbox-vector'*/ + format: string; + /**线颜色 */ + lineColor: string; + /**线宽 */ + strokeWidth: Number; + /**显示的最小层级 (范围:>=0 && <=22)*/ + minLevel: number; + /**显示的最大层级 (范围:>=0 && <=22)*/ + maxLevel: number; + /**是否选中 */ + isPick: boolean; + /**选中颜色 */ + pickedColor: string; + constructor(url: string, layer: string, lineColor?: string, strokeWidth?: number, minLevel?: number, maxLevel?: number, isPick?: boolean, pickedColor?: string); +} + +/** + * @类别 需手动创建,然后添加到矢量图层类中
+ * @描述 大规模倾斜摄影 + * @see 大规模倾斜摄影 + */ + class ObliqueTile extends Item { + protected _name: any; + protected _changed: Cesium.Event; + protected _error: Cesium.Event; + protected _loading: Cesium.Event; + protected _isLoading: boolean; + protected _entityCollection: Cesium.EntityCollection; + protected _entityCluster: Cesium.EntityCluster; + protected _scene: any; + protected _loaded: boolean; + protected _tileReplacementQueue: any; + protected _tileCacheSize: any; + protected _renderTiles: Cesium.AssociativeArray; + protected _maxLevel: any; + protected _showLevel: any; + protected _deleteTileSetEvent: Cesium.Event; + protected _pickEvent: Cesium.Event; + protected _vectorLevel: any; + protected _maximumScreenSpaceError: any; + protected _maxmemory: any; + protected _url: any; + protected _bArea: any; + protected _minX: any; + protected _minY: any; + protected _maxX: any; + protected _maxY: any; + protected _viewer: GeoCanvas; + protected _id: string; + /** + * 初始化 + * @param {string} url 服务地址 + * @param {number} vectorLevel 倾斜摄影根节点所在层级 (范围:>=0 && <=22) + * @param {number} showLevel 层级显示基数 (范围:>=0 && <=22) + * @param {number} maxscreenerror 倾斜分辨率 (范围:>4 && <=512) + * @param {number} maxmemory 启用显存 (范围:>256 && <=2048) + * @returns + * ``` + * 示例: + * let oblique = new GV.ObliqueTile(urlService, 13, 16,128,1024); + * viewer.tileLayer.add(oblique); + * ``` + */ + constructor(url: string, vectorLevel?: number, showLevel?: number, maxscreenerror?: number, maxmemory?: number); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 初始化 + * @param {GeoCanvas} viewer 视图信息 + */ + initItem(viewer: GeoCanvas): void; + /** + * 移除 + */ + destroyItem(): void; + /** + * Gets an object that maps the name of a crs to a callback function which takes a GeoJSON coordinate + * and transforms it into a WGS84 Earth-fixed Cartesian. Older versions of GeoJSON which + * supported the EPSG type can be added to this list as well, by specifying the complete EPSG name, + * for example 'EPSG:4326'. + * @memberof GeoJsonDataSource + * @type {Object} + */ + private readonly crsNames; + /** + * Gets an object that maps the href property of a crs link to a callback function + * which takes the crs properties object and returns a Promise that resolves + * to a function that takes a GeoJSON coordinate and transforms it into a WGS84 Earth-fixed Cartesian. + * Items in this object take precedence over those defined in crsLinkHrefs, assuming + * the link has a type specified. + * @memberof GeoJsonDataSource + * @type {Object} + */ + private readonly crsLinkHrefs; + /** + * Gets an object that maps the type property of a crs link to a callback function + * which takes the crs properties object and returns a Promise that resolves + * to a function that takes a GeoJSON coordinate and transforms it into a WGS84 Earth-fixed Cartesian. + * Items in crsLinkHrefs take precedence over this object. + * @memberof GeoJsonDataSource + * @type {Object} + */ + private readonly crsLinkTypes; + /** + * Gets or sets a human-readable name for this instance. + * @memberof ObliqueTileDataSource.prototype + * @type {String} + */ + name: any; + private readonly clock; + /** + * Gets the collection of {@link Entity} instances. + * @memberof ObliqueTileDataSource.prototype + * @type {EntityCollection} + */ + private readonly entities; + /** + * Gets a value indicating if the data source is currently loading data. + * @memberof ObliqueTileDataSource.prototype + * @type {Boolean} + */ + private readonly isLoading; + /** + * Gets an event that will be raised when the underlying data changes. + * @memberof GeoJsonDataSource.prototype + * @type {Event} + */ + private readonly changedEvent; + /** + * Gets an event that will be raised when pick rendered object. + * @memberof ObliqueTileDataSource.prototype + * @type {Event} + */ + private readonly pickEvent; + /** + * Gets an event that will be raised if an error is encountered during processing. + * @memberof ObliqueTileDataSource.prototype + * @type {Event} + */ + private readonly errorEvent; + /** + * Gets an event that will be raised when the data source either starts or stops loading. + * @memberof ObliqueTileDataSource.prototype + * @type {Event} + */ + private readonly loadingEvent; + /** + * Gets whether or not this data source should be displayed. + * @memberof ObliqueTileDataSource.prototype + * @type {Boolean} + */ + private show; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + * + * @memberof ObliqueTileDataSource.prototype + * @type {EntityCluster} + */ + private clustering; + private findTileFromCache; + private tilesetDeletechange; + private getParentKey; + private processTile; + private getRenderTileKeys; + private update; + private destroy; +} + +/** + * @类别 Cesium扩展类
+ * @描述 矢量地名类 + * @see 矢量地名 + */ + class PlaceNameTile extends Item { + protected _name: any; + protected _changed: Cesium.Event; + protected _error: Cesium.Event; + protected _isLoading: boolean; + protected _loading: Cesium.Event; + protected _entityCluster: Cesium.EntityCluster; + protected _entityCollection: Cesium.EntityCollection; + protected _url: any; + protected _scene: any; + private _viewer; + protected _tileReplacementQueue: any; + protected _tileCacheSize: any; + protected _renderTiles: Cesium.AssociativeArray; + protected _clusterDirty: number; + protected _table: Map; + protected _styleTable: any; + protected _id: string; + /** + * 初始化 + * @param options 参数类 + * @returns + * ``` + * 示例: + * let PlaceNameTileOpt = new GV.PlaceNameTileOpt(urlService); + * let placeNameTile = new GV.PlaceNameTile(PlaceNameTileOpt); + * viewer.tileLayer.add(placeNameTile); + * ``` + */ + constructor(options: PlaceNameTileOpt); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 初始化 + * @param {GeoCanvas} 视图对象 + */ + initItem(viewer: GeoCanvas): void; + /** + * 删除 + */ + destroyItem(): void; + private createLevelMap; + private createDefaultStyles; + /** + * Gets or sets a human-readable name for this instance. + * @memberof PlaceTileDataSource.prototype + * @type {String} + */ + private readonly clock; + /** + * Gets the collection of {@link Entity} instances. + * @memberof PlaceTileDataSource.prototype + * @type {EntityCollection} + */ + private readonly entities; + /** + * Gets a value indicating if the data source is currently loading data. + * @memberof PlaceTileDataSource.prototype + * @type {Boolean} + */ + private readonly isLoading; + /** + * Gets an event that will be raised when the underlying data changes. + * @memberof PlaceTileDataSource.prototype + * @type {Event} + */ + private readonly changedEvent; + /** + * Gets an event that will be raised if an error is encountered during processing. + * @memberof PlaceTileDataSource.prototype + * @type {Event} + */ + private readonly errorEvent; + /** + * Gets an event that will be raised when the data source either starts or stops loading. + * @memberof PlaceTileDataSource.prototype + * @type {Event} + */ + private readonly loadingEvent; + /** + * Gets whether or not this data source should be displayed. + * @memberof PlaceTileDataSource.prototype + * @type {Boolean} + */ + private show; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + * + * @memberof PlaceTileDataSource.prototype + * @type {EntityCluster} + */ + private clustering; + private createTileKey; + private getSubTileKeys; + private getTiles; + private calculateTiles; + private getGeoCode; + private processTile; + private _control; + doOriginTiles(): void; + doPlaceTiles(): void; + doCreateTiles(): void; + doRequestTile(tile: any): any; + doAnalysis(tile: any): void; + doRender(tile: any): void; + doProcess(): void; + private _clusterCount; + private update; + private getX; + private getY; + private cluster; + private destroy; +} +/** + * 矢量地名参数类 + */ + class PlaceNameTileOpt { + /**服务地址 */ + url: string; + /**级别映射 */ + table: Map>; + /**样式 */ + styles: Map>; + constructor(url: string, table?: Map>, styles?: Map>); +} +/** + * 文字样式 + */ + class PlaceFontStyle { + /**字体、大小 */ + font: string; + /**字体颜色 */ + fillColor: string; + /**外边框颜色 */ + outlineColor: string; + /**外边框宽度 */ + outlineWidth: number; + constructor(font?: string, fillColor?: string, outlineColor?: string, outlineWidth?: number); +} + +/** + * @类别 需手动创建,然后添加到矢量图层类中
+ * @描述 矢量面类 + * @see 矢量白模 + */ + class PolygonTile extends Item { + protected _scene: any; + private _viewer; + protected _provider: any; + protected _name: any; + protected _tileCacheSize: any; + protected _color: any; + protected _isPick: any; + protected _pickedColor: any; + protected _minLevel: any; + protected _maxLevel: any; + protected _pickInstance: any; + protected _pickTile: any; + protected _pickPrimitive: any; + protected _changed: Cesium.Event; + protected _error: Cesium.Event; + protected _loading: Cesium.Event; + protected _isLoading: boolean; + protected _entityCluster: Cesium.EntityCluster; + protected _entityCollection: Cesium.EntityCollection; + protected _loaded: boolean; + protected _tileReplacementQueue: any; + protected _renderTiles: Cesium.AssociativeArray; + protected _pickEvent: Cesium.Event; + protected _outColor: any; + protected _oldInstance: any; + protected _id: string; + private _isExtruded; + private _extrudedHeight; + /** + * 初始化 + * @param options 参数类 + * @returns + * ``` + * 示例: + * let polygonTileTileOpt = new GV.PolygonTileTileOpt(urlService, layer); + * polygonTileTileOpt.color = '#ffffff'; + * let polygonTile = new GV.PolygonTile(polygonTileTileOpt); + * viewer.tileLayer.add(polygonTile); + * ``` + */ + constructor(options: PolygonTileOpt, name?: string); + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * 初始化 + * @param {GeoCanvas} 视图对象 + */ + initItem(viewer: GeoCanvas): void; + /** + * 移除 + */ + destroyItem(): void; + /** + *添加回掉监听 + * @param {Function} callback 回调 + */ + onPick: Function; + /** + * 获取名称 + * @memberof ModelTileDataSource + */ + /** + * 更改名称 + * @memberof ModelTileDataSource + */ + name: any; + /** + * 获取计时器 + * @memberof ModelTileDataSource + */ + private readonly clock; + /** + * 获取集合器 + * @memberof ModelTileDataSource + */ + private readonly entities; + /** + * 获取加载状态 + * @memberof ModelTileDataSource + */ + private readonly isLoading; + /** + * 获取更改事件 + * @memberof ModelTileDataSource + */ + private readonly changedEvent; + /** + * 获取点击事件 + * @memberof ModelTileDataSource + */ + private readonly pickEvent; + /** + * 获取错误事件 + * @memberof ModelTileDataSource + */ + private readonly errorEvent; + /** + * 获取加载事件 + * @memberof ModelTileDataSource + */ + private readonly loadingEvent; + /** + * 获取是否显示 + * @memberof ModelTileDataSource + */ + /** + * 更改显示 + * @memberof ModelTileDataSource + */ + private show; + /** + * 获取群集 + * @memberof ModelTileDataSource + */ + /** + * 设置群集 + * @memberof ModelTileDataSource + */ + private clustering; + /** + * @private 查找当前渲染队列是否有当前瓦片 + * @memberof ModelTileDataSource + */ + private findTileFromCache; + /** + * @private 查找父节点与子节点 + * @memberof ModelTileDataSource + */ + private handleParentAndChildren; + /** + * @private 创建白模实体 + * @memberof ModelTileDataSource + */ + private createModel; + /** + * @private 加载数据 + * @memberof ModelTileDataSource + */ + private processModel; + /** + * @private 加载数据 + * @memberof ModelTileDataSource + */ + private processFeature; + /** + * @private 加载数据 + * @memberof ModelTileDataSource + */ + private loadModelData; + /** + * @private 为瓦片添加数据 + * @memberof ModelTileDataSource + */ + private processTile; + /** + * @private 生成瓦片唯一Key值 + * @memberof ModelTileDataSource + */ + private getRenderTileKeys; + /** + * @private 更新函数 + * @memberof ModelTileDataSource + */ + private update; + /** + * @private 销毁 + * @memberof ModelTileDataSource + */ + private destroy; +} +/** + * 面矢量参数类 + * 该方法是和icenter配合的特定功能,url当前对外呈现的是wmts的方式接入,不支持其他方式如wms等 + */ + class PolygonTileOpt { + /**服务地址 */ + url: string; + /**图层信息 */ + layer: string; + /**面颜色 */ + color: string; + /**显示最小层级 (范围:>=0 && <=22)*/ + minLevel: number; + /**显示最大层级 (范围:>=0 && <=22)*/ + maxLevel: number; + /**是否选中 */ + isPick: boolean; + /**是否拉伸 */ + isExtruded: boolean; + /**选中后颜色 */ + pickedColor: string; + /**拉伸高度 */ + extrudedHeight: number; + constructor(url: string, layer: string, color?: string, minLevel?: number, maxLevel?: number, isPick?: boolean, isExtruded?: boolean, pickedColor?: string, extrudedHeight?: number); +} + + class TileLayer extends Layer { + _viewer: Cesium.Viewer; + constructor(viewer: Cesium.Viewer); + /** + * 添加对象 + * @param item + */ + add(item: Item): Item; + /** + * 删除对象 + * @param + */ + remove(value: string | Item): Item; + /** + * 解析json + * @param json 解析 + */ + parseJson(json: any): void; +} + + class TMSVectorProvider { + protected _url: any; + protected _format: any; + protected _minLevel: any; + protected _maxLevel: any; + protected _tilingScheme: any; + constructor(options: any); + readonly minLevel: any; + readonly maxLevel: any; + requestVectorTile(level: any, x: any, y: any, success: any, failure: any): any; + requestPromise(level: any, x: any, y: any): any; +} + + class VectorTile { + private _level; + private _x; + private _y; + private _prepare; + private _visible; + private _removeCount; + private _eligibleForUnloading; + private _replacementPrevious; + private _replacementNext; + private _type; + private _instances; + private _primitive; + private _opt; + onload: Function; + constructor(level: number, x: number, y: number, opt: object); + readonly level: number; + readonly x: number; + readonly y: number; + readonly key: string; + readonly type: string; + primitive: any; + prepare: boolean; + visible: boolean; + removeCount: number; + eligibleForUnloading: boolean; + replacementPrevious: any; + replacementNext: any; + isEqual(level: number, x: number, y: number): boolean; + isKeyEqual(key: string): boolean; + private coordinatesArrayToCartesianArray; + private createLineString; + private createPolygon; + createGeometry(feature: any): void; + createPrimitive(): any; + destroy(): void; + freeResources(): void; + pick(id: any): any; + resetOriginColor(): void; +} + + class VectorTileItem extends Item { + protected _viewer: Cesium.Viewer; + protected _id: string; + protected _opt: VectorTileItemOpt; + protected _resource: any; + protected _tags: any; + protected _renderTiles: any; + protected _eventHandler: any; + protected _pickEvent: any; + protected _pickTile: VectorTile; + protected _entityCollection: any; + protected _cluster: any; + protected _changed: any; + protected _primitives: any; + protected _groundPrimitives: any; + constructor(opt: VectorTileItemOpt); + combineQueryParameters(q1: any, q2: any): Object; + resetResource(url: any): void; + /** + * 获取类型 + */ + getType(): string; + /** + * 获取当前对象类型(给类型为只读属性) + */ + static readonly type: string; + /** + * Gets the collection of {@link Entity} instances. + * @memberof VectorTileDataSource.prototype + * @type {EntityCollection} + */ + readonly entities: any; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + * + * @memberof VectorTileDataSource.prototype + * @type {EntityCluster} + */ + private clustering; + private readonly changedEvent; + readonly minLevel: number; + readonly maxLevel: number; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行add方法添加时被调用 + */ + initItem(viewer: Cesium.Viewer): any; + /** + * @注意 所有item的基类方法,外部无需调用 + * @描述 初始化方法,在父类执行remove方法添加时被调用 + */ + destroyItem(): void; + private destroy; + private _control; + /** + * 根据瓦块切分方式,获取当前显示的瓦块编号。目前已知的瓦片切分方式为: + * GeographicTilingScheme和WebMercatorTilingScheme两种方式,第一种方式为地球默认的。 + */ + doOriginTiles(): void; + doConvertTiles(): void; + doCreateTiles(): void; + doRequest(tile: any): any; + doAnalysis(tile: any): void; + doCreateGeometry(tile: any): void; + doCreatePrimitive(tile: any): void; + doProcessTiles(): void; + update(time: any): boolean; + /** + * 添加点击回调 + * @param {Function} callback 回调 + */ + onPick: Function; +} + class VectorTileItemOpt { + providerType: string; + url: string; + layer?: string; + tilematrixset?: string; + format?: string; + minLevel?: number; + maxLevel?: number; + tilingScheme?: any; + lineWidth?: number; + lineColor?: string; + fillColor?: string; + pickColor?: string; + constructor(type?: string); +} + + class WMTSVectorProvider { + protected _url: any; + protected _layer: any; + protected _format: any; + protected _tilematrixset: any; + protected _style: any; + protected _version: any; + protected _minLevel: any; + protected _maxLevel: any; + constructor(options: any); + readonly minLevel: any; + readonly maxLevel: any; + requestVectorTile(level: any, x: any, y: any, success: any, failure: any): any; + requestPromise(level: any, x: any, y: any): any; +} + +/** + * KMLLayer图层 + */ + class GeoJsonLayer extends VectorItem { + private _renderObj; + private _vectorLayer; + private _option; + private _type; + constructor(option: GeoJsonLayerOpt); + /** + * 获取类型 + */ + getType(): string; + static readonly type: string; + initItem(geojsonlayer: VectorLayer): void; + destroyItem(): void; + getRenderObject(): Cesium.DataSource; + parseOption(option: any): void; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(option: any): void; +} + class GeoJsonLayerOpt { + /** + * geojson路径 + */ + url: string; + stroke: Cesium.Color; + fill: Cesium.Color; + strokeWidth: number; +} + +/** + * KMLLayer图层 + */ + class KMLLayer extends VectorItem { + private _renderObj; + private _vectorLayer; + private _option; + private _type; + constructor(option: KMLLayerOpt); + /** + * 获取类型 + */ + getType(): string; + static readonly type: string; + initItem(kmllayer: VectorLayer): void; + destroyItem(): void; + getRenderObject(): Cesium.DataSource; + parseOption(option: any): void; + /** + * 当前对象序列化成json数据 + * ``` + * 代码示例: + * const obj = item.toJson(); + * ``` + */ + toJson(): object; + /** + * 解析json对象 + */ + parseJson(option: any): void; +} + class KMLLayerOpt { + /** + * kml路径 + */ + url: string; +} + + class VectorItem extends Item { + constructor(); + getRenderObject(): Cesium.DataSource; +} + + class VectorLayer extends Layer { + _viewer: Cesium.Viewer; + _renderItemList: any[]; + constructor(viewer: Cesium.Viewer); + /** + * 添加对象 + * @param item + */ + add(item: Item): Item; + /** + * 删除对象 + * @param + */ + remove(itemid: string | Item): Item; + /** + * 解析json + * @param json 解析 + */ + parseJson(json: any): void; + getItemList(): Item[]; + /** + * 获取渲染对象 + */ + getRenderObject(): Cesium.DataSourceCollection; + getRenderItemById(id: string): any; +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 Building参数类
+ */ + class BuildingOpt { + /** + * 数据文件URL(当前仅支持ShapeFile文件格式) + */ + url: string; + /** + * 数据加载成功回调 + */ + onLoad: Function; + /** + * 数据加载失败回调 + */ + onError: Function; +} +/** + * @类型 外部使用类 + * @描述 建筑物 + * @see 智慧城市 + */ + class Building { + /** + * @readonly + * 参数对象 + */ + private readonly buildingOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "Building"; + /** + * @readonly + * 数据文件路径 + */ + readonly url: string; + /** + * @readonly + * 数据加载成功回调 + */ + readonly onLoad: string; + /** + * @readonly + * 数据加载失败回调 + */ + readonly onError: string; + /** + * 构造函数 + * @param buildingOpt 参数对象 + * ``` + * 示例代码 + * let building = new GV.Building({ + * url: "./3d/assets/shpdata/building.shp", + * onLoad: () => { + * console.log("建筑物加载完成"); + * // 删除建筑物 + * // localSceneManager.remove(building); + * }, + * onError: () => { + * console.error("建筑物加载失败"); + * } + * }); + * localSceneManager.add(building); + * ``` + */ + constructor(buildingOpt: BuildingOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 FlyLine参数类
+ */ + class FlyLineOpt { + /** + * 数据文件URL(当前仅支持ShapeFile文件格式) + */ + url: string; + /** + * 数据加载成功回调 + */ + onLoad: Function; + /** + * 数据加载失败回调 + */ + onError: Function; +} +/** + * @类型 外部使用类 + * @描述 交通线 + * @see 智慧城市 + */ + class FlyLine { + /** + * @readonly + * 参数对象 + */ + private readonly flyLineOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "FlyLine"; + /** + * @readonly + * 数据文件路径 + */ + readonly url: string; + /** + * @readonly + * 数据加载成功回调 + */ + readonly onLoad: string; + /** + * @readonly + * 数据加载失败回调 + */ + readonly onError: string; + /** + * 构造函数 + * @param flyLineOpt 参数对象 + * ``` + * 示例代码 + * let flyLine = new GV.FlyLine({ + * url: "./3d/assets/shpdata/road.shp", + * onLoad: () => { + * console.log("交通线加载完成"); + * // 删除建筑物 + * // localSceneManager.remove(flyLine); + * }, + * onError: () => { + * console.error("交通线加载失败"); + * } + * }); + * localSceneManager.add(flyLine); + * ``` + */ + constructor(flyLineOpt: FlyLineOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 Grass参数类
+ */ + class GrassOpt { + /** + * 纹理图片URL + */ + url: string; + /** + * 路径 + */ + path: Array; +} +/** + * @类型 外部使用类 + * @描述 草地 + * @see 智慧城市 + */ + class Grass { + /** + * @readonly + * 参数对象 + */ + private readonly grassOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "Grass"; + /** + * @readonly + * 纹理图片URL + */ + readonly url: string; + /** + * @readonly + * 路径 + */ + readonly path: Array; + /** + * 构造函数 + * @param grassOpt 参数对象 + * ``` + * 示例代码 + * let grass = new GV.Grass({ + * url: '3d/models/grasslight-big.jpg', + * path: [116.511605918892, 39.89511659484216, + * 116.51340673914781, 39.89603267315914, + * 116.513045850042, 39.8928623748469, + * 116.50992528493731, 39.893017145617556, + * 116.50987253858077, 39.896225794700904] + * }); + * localSceneManager.add(grass); + * ``` + */ + constructor(grassOpt: GrassOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 Lake参数类
+ */ + class LakeOpt { + /** + * 路径 + */ + path: Array; +} +/** + * @类型 外部使用类 + * @描述 湖泊 + * @see 智慧城市 + */ + class Lake { + /** + * @readonly + * 参数对象 + */ + private readonly lakeOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "Lake"; + /** + * @readonly + * 路径 + */ + readonly path: Array; + /** + * 构造函数 + * @param lakeOpt 参数对象 + * ``` + * 示例代码 + * let lake = new GV.Lake({ + * path: [116.46394483232434, 39.92116198177896, + * 116.47100428927826, 39.920750253307425, + * 116.47100465291112, 39.91530110288575, + * 116.46448546148142, 39.9165185653711] + * }); + * localSceneManager.add(lake); + * ``` + */ + constructor(lakeOpt: LakeOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 ArcFlyLine参数类
+ */ + class ArcFlyLineOpt { + /** + * 位置1 + */ + point1: Array; + /** + * 位置2 + */ + point2: Array; + /** + * 高度 + */ + height?: Number; +} +/** + * @类型 外部使用类 + * @描述 弧线 + * @see 智慧城市 + */ + class ArcFlyLine { + /** + * @readonly + * 参数对象 + */ + readonly arcFlyLineOpt: ArcFlyLineOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "ArcFlyLine"; + /** + * @readonly + * 位置1 + */ + readonly point1: Array; + /** + * @readonly + * 位置2 + */ + readonly point2: Array; + /** + * @readonly + * 高度 + */ + readonly height?: Number; + /** + * 构造函数 + * @param arcFlyLineOpt 参数对象 + * ``` + * 示例代码 + * let arcFlyLine = new GV.ArcFlyLine({ + * point1: [116.51371956748655, 39.896977168243296], + * point2: [116.51303281179823, 39.8846319497709], + * height: 2000 + * }); + * localSceneManager.add(arcFlyLine); + * ``` + */ + constructor(arcFlyLineOpt: ArcFlyLineOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 Cone参数类
+ */ + class ConeOpt { + /** + * 光锥位置 + */ + position: Array; +} +/** + * @类型 外部使用类 + * @描述 光锥 + * @see 智慧城市 + */ + class Cone { + /** + * @readonly + * 参数对象 + */ + readonly coneOpt: ConeOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "Cone"; + /** + * @readonly + * 光锥位置 + */ + readonly position: Array; + /** + * 构造函数 + * @param coneOpt 参数对象 + * ``` + * 示例代码 + * let coneOpt = new GV.Cone({ + * position: [116.51076048913382, 39.90802960257902] + * }); + * localSceneManager.add(coneOpt); + * ``` + */ + constructor(coneOpt: ConeOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 DiffusionCircle参数类
+ */ + class DiffusionCircleOpt { + /** + * 位置 + */ + position: Array; + /** + * 半径 + */ + radius?: Number; +} +/** + * @类型 外部使用类 + * @描述 警示波 + * @see 智慧城市 + */ + class DiffusionCircle { + /** + * @readonly + * 参数对象 + */ + readonly diffusionCircleOpt: DiffusionCircleOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "DiffusionCircle"; + /** + * @readonly + * 位置 + */ + readonly position: Array; + /** + * @readonly + * 半径 + */ + readonly radius?: Number; + /** + * 构造函数 + * @param diffusionCircleOpt 参数对象 + * ``` + * 示例代码 + * let diffusionCircle = new GV.DiffusionCircle({ + * position: [116.50338122228361, 39.90305240890057] + * }); + * localSceneManager.add(diffusionCircle); + * ``` + */ + constructor(diffusionCircleOpt: DiffusionCircleOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 Instructions参数类
+ */ + class InstructionsOpt { + /** + * 路径 + */ + path: Array; + /** + * 高度 + */ + height?: Number; +} +/** + * @类型 外部使用类 + * @描述 动态标识 + * @see 智慧城市 + */ + class Instructions { + /** + * @readonly + * 参数对象 + */ + readonly instructionsOpt: InstructionsOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "Instructions"; + /** + * @readonly + * 路径 + */ + readonly path: Array; + /** + * @readonly + * 高度 + */ + readonly height?: Number; + /** + * 构造函数 + * @param instructionsOpt 参数对象 + * ``` + * 示例代码 + * let instructions = new GV.Instructions({ + * path: [116.48383039748049, 39.89778212327162, + * 116.48387968022607, 39.90346024265005, + * 116.48425004693271, 39.90496962851058, + * 116.48541803370951, 39.905568214747916, + * 116.48736908028644, 39.90625677748452, + * 116.4901205676712, 39.906519972554705, + * 116.49207414308337, 39.90645163809704, + * 116.4953625014651, 39.90645165387379], + * height: 300 + * }); + * localSceneManager.add(instructions); + * ``` + */ + constructor(instructionsOpt: InstructionsOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 Panel参数类
+ */ + class PanelOpt { + /** + * 面板类型 'sprite' 默认值 标志板类型 'object' 普通三维对象 + */ + panelType?: String; + /** + * div对象 + */ + divElement: Element; + /** + * 位置 + */ + position: Array; + /** + * 弧线最高点距离地面高度 + */ + height?: Number; + /** + * 锚点 + */ + anchor?: Array; +} +/** + * @类型 外部使用类 + * @描述 3D面板 + * @see 智慧城市 + */ + class Panel { + /** + * @readonly + * 面板类型 'sprite' 默认值 标志板类型 'object' 普通三维对象 + */ + readonly panelType?: String; + /** + * @readonly + * 参数对象 + */ + readonly panelOpt: PanelOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "Panel"; + /** + * @readonly + * div对象 + */ + readonly divElement: Element; + /** + * @readonly + * 位置 + */ + readonly position: Array; + /** + * @readonly + * 弧线最高点距离地面高度 + */ + readonly height?: Number; + /** + * @readonly + * 锚点 + */ + readonly anchor?: Array; + /** + * 构造函数 + * @param panelOpt 参数对象 + * ``` + * 示例代码 + * var element = document.createElement('div'); + * element.className = 'element'; + * element.style.backgroundColor = 'rgba(0,127,127,' + (Math.random() * 0.5 + 0.25) + ')'; + * var number = document.createElement('div'); + * number.className = 'number'; + * number.textContent = 'geovis'; + * element.appendChild(number); + + * var symbol = document.createElement('div'); + * symbol.className = 'symbol'; + * symbol.textContent = '中科星图'; + * element.appendChild(symbol); + + * var logo = document.createElement('div'); + * logo.className = 'logo'; + * logo.textContent = '该公司属于软件行业和地理信息产业,为国家重点支持和鼓励发展的行业,是新一代信息技术重要方向.'; + * element.appendChild(logo); + + * var details = document.createElement('div'); + * details.className = 'details'; + * details.innerHTML = '北京.顺义'; + * element.appendChild(details); + + * let panel = new GV.Panel({ + * position: [116.509553191, 39.903305825500055], + * height: 300, + * divElement: element + * }); + * localSceneManager.add(panel); + * ``` + */ + constructor(panelOpt: PanelOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 Particles参数类
+ */ + class ParticlesOpt { + /** + * 名称 fire 火焰 rain 雨水 snow 雪花 + */ + name: String; + /** + * 粒子位置 + */ + positions: Array; + /** + * 粒子高度 + */ + height?: Number; +} +/** + * @类型 外部使用类 + * @描述 粒子,注:每个场景只可添加一种粒子 + * @see 智慧城市 + */ + class Particles { + /** + * @readonly + * 参数对象 + */ + readonly particlesOpt: ParticlesOpt; + /** + * @readonly + * 名称 fire 火焰 rain 雨水 snow 雪花 + */ + readonly name: String; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "Particles"; + /** + * @readonly + * 粒子位置 + */ + readonly positions: Array; + /** + * @readonly + * 粒子高度 + */ + readonly height?: Number; + /** + * 构造函数 + * @param particlesOpt 参数对象 + * ``` + * 示例代码 + * let fire = new GV.Particles( + * { + * name: "fire", + * position: [116.48994770868715, 39.90351968042573], + * height: 500, + * } + * ); + * localSceneManager.add(fire); + * ``` + */ + constructor(particlesOpt: ParticlesOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 POI参数类
+ */ + class POIOpt { + /** + * 纹理URL + */ + url: string; + /** + * 精灵点位置 + */ + positions: Array; + /** + * 精灵大小 + */ + size?: Array; + /** + * 锚点 + */ + anchor?: Array; +} +/** + * @类型 外部使用类 + * @描述 精灵 + * @see 智慧城市 + */ + class POI { + /** + * @readonly + * 参数对象 + */ + readonly spriteOpt: POIOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "POI"; + /** + * @readonly + * 纹理URL + */ + readonly url: string; + /** + * @readonly + * 精灵点位置 + */ + readonly positions: Array; + /** + * @readonly + * 精灵大小 + */ + readonly size?: Array; + /** + * @readonly + * 锚点 + */ + readonly anchor?: Array; + /** + * 构造函数 + * @param spriteOpt 参数对象 + * ``` + * 示例代码 + * let pos = []; + * for (let i = 0; i < 30; i++) { + * pos.push(116.509553191 - Math.random() / 40, 39.903305825500055 - Math.random() / 40); + * } + * let sprite = new GV.Sprite({ + * positions: pos, + * url: "./3d/models/icon.png" + * }); + * localSceneManager.add(sprite); + * ``` + */ + constructor(spriteOpt: POIOpt); +} + +/** + * @类别 ThreeJS扩展类
+ * @描述 Sprite参数类
+ */ + class SpriteOpt { + /** + * 纹理URL + */ + url: string; + /** + * 精灵点位置 + */ + positions: Array; + /** + * 精灵大小 + */ + size?: Number; +} +/** + * @类型 外部使用类 + * @描述 精灵 + * @see 智慧城市 + */ + class Sprite { + /** + * @readonly + * 参数对象 + */ + readonly spriteOpt: SpriteOpt; + /** + * @readonly + * id属性为只读 + */ + readonly id: any; + /** + * @readonly + * 类型属性为只读 + */ + readonly type = "Sprite"; + /** + * @readonly + * 纹理URL + */ + readonly url: string; + /** + * @readonly + * 精灵点位置 + */ + readonly positions: Array; + /** + * @readonly + * 精灵大小 + */ + readonly size?: Number; + /** + * 构造函数 + * @param spriteOpt 参数对象 + * ``` + * 示例代码 + * let pos = []; + * for (let i = 0; i < 30; i++) { + * pos.push(116.509553191 - Math.random() / 40, 39.903305825500055 - Math.random() / 40); + * } + * let sprite = new GV.Sprite({ + * positions: pos, + * url: "./3d/models/icon.png" + * }); + * localSceneManager.add(sprite); + * ``` + */ + constructor(spriteOpt: SpriteOpt); +} + + var THREE: any; +/** + * @类型 外部使用类 + * @描述 局部场景管理器 + * @see 智慧城市 + */ + class LocalSceneManager extends THREE.EventDispatcher { + /** + * 画布GeoCanvas + */ + private viewer; + /** + * Three管理器 + */ + private threeManager; + /** + * 构造函数 + * @param viewer 画布GeoCanvas + * @param bloomDebug 是否打开Bloom调试面板 + * @param stats 是否打开性能面板 + * @param bloomParams Bloom参数 exposure 曝光度 默认1.7 bloomStrength 辉光强度 默认1.2 bloomThreshold 辉光阈值 默认0 bloomRadius 辉光范围 默认1.0 + * ``` + * 示例代码 + * let localSceneManager = new GV.LocalSceneManager(this.viewer); + * ``` + */ + constructor(viewer: any, bloomDebug?: Boolean, stats?: Boolean, bloomParams?: any); + /** + * 添加 + * @param param 参数对象 + * ``` + * 示例代码 + * let localSceneManager = new GV.LocalSceneManager(this.viewer); + * localSceneManager.add(object); + * 注:object可以是Building/FlyLine/Grass/Lake/ArcFlyLine/DiffusionCircle/Instructions/Panel/Sprite实例,具体参照示例 + * ``` + */ + add(param: any): void; + /** + * 删除 + * @param param 参数对象 + * ``` + * 示例代码 + * let localSceneManager = new GV.LocalSceneManager(this.viewer); + * localSceneManager.remove(object) + * 注:object可以是Building/FlyLine/Grass/Lake/ArcFlyLine/DiffusionCircle/Instructions/Panel/Sprite实例,具体参照示例 + * ``` + */ + remove(param: any): void; + /** + * 帧循环 + */ + private animate; + /** + * 帧回调 + */ + private render; +} + +/** + * Cesium适配器 + */ + class CesiumThreeUtil { + /** + * 创建ThreeJS画布div + */ + static createThreeDiv(viewer: any): Element; + /** + * 转换坐标系 + */ + static convertCoordinateSystem(): void; +} + +/** + * 属性装饰器 + * @param params 参数对象 + */ + function Property(target: any, propertyKey: string): void; + + +/** + * 作者:董波 + * 部门:数字地球研究院 + * 邮箱:dongb@geovis.com + * 日期:2019-3-18 + */ +/** + * (抽象类)插件基类 {@link Tool} 与 {@link Widget} 继承自该类 + */ + class PluginBase { + _active: boolean; + _type: any; + _name: any; + _path: any; + /** + * @param {Object} optins 插件初始配置对象 + * @param {PluginManager} pluginManager 插件对应的插件管理对象 + */ + constructor(optins: any, pluginManager: any); + /** + * 获取状态 + * @type {boolean} + * @readonly + */ + readonly active: boolean; + /** + * 工具还是挂件 + * @type {stirng} + * @readonly + */ + readonly type: any; + /** + * 获得插件名(注册时的名字) + * @type {string} + * @readonly + */ + readonly name: any; + /** + * 获取插件包的原始路径 + */ + readonly path: any; + /** + * 开启插件时调用 + */ + init(): void; + /** + * 关闭插件时调用 + */ + close(): void; + /** + * 获取数据 + */ + getPluginData(): void; + /** + * 设置数据 + */ + setPluginData(data: any): void; + /** + * 获取相对路径 + * @param {string} file + */ + formatURL(file: any): any; + _init(): void; + _close(): void; +} + +/** + * 作者:董波 + * 部门:数字地球研究院 + * 邮箱:dongb@geovis.com + * 日期:2019-3-18 + */ +/** + * 插件管理类 + * 对继承自{@link Tool} 与 {@link Widget}的类进行管理 + */ + class PluginManager extends Event { + _plugins: Map; + _currentTool: any; + _pluginInitOptins: any; + constructor(pluginInitOptins: any); + /** + * 添加插件到插件管理对象 + * @param {string} name 要添加的插件名称 + * @return {plugin} 返回插件对象 + */ + addPlugin(name: any): any; + /** + * 删除插件到插件管理对象 + * @param {string | Plugin} plugin 要删除的插件的名称或对象 + */ + removePlugin(plugin: any): void; + /** + * 切换工具 + * @param {string | Tool} tool 要切换的插件的名称或对象 + */ + setCurrentTool(tool: any): void; + /** + * 彻底关闭清除工具 + */ + closeTool(tool: any): void; + /** + * 清空全部工具状态 + */ + closeAllTool(): void; + /** + * 开启插件 + * @param {widget | string} 挂件名称或挂件对象 + */ + usingWidget(widget: any): any; + /** + * 开启插件 + * @param {widget | string} 挂件名称或挂件对象 + */ + unusingWidget(widget: any): any; + /** + * 获取所有插件 + * @return {[Plugin]} + */ + getAllPlugin(): any[]; + /** + * 获取所有工具 + * @return {[Tool]} + */ + getAllTools(): any[]; + /** + * 获取所有工具 + * @return {[Tool]} + */ + getAllWidgets(): any[]; + /** + * 获取所有工具 + * @return {[Tool]} + */ + getAllUsingWidgets(): any[]; + /** + * 获取所有工具 + * @return {[Tool]} + */ + getCurrentTool(): any; +} + +/** + * 插件工厂提供插件注册与销毁 + */ + class PluginsFactory { + _pluginMap: Map; + constructor(); + /** + * 根据插件配置文件路径注册插件 + * @param {options|string} pluginOptions 插件配置 + * @param {string} pluginOptions.name 插件注册名 + * @param {string} pluginOptions.path 插件路径 + * @param {string} pluginOptions.js 插件类名 + */ + registerPlugin(pluginOptions: any): any; + /** + * 根据配置文件注册插件 + */ + _registerPlugin(options: any): any; + /** + * 同步动态添加script + * @param {String} path 插件路径 + */ + _appendScript(path: any): boolean; + /** + * 根据配置获取插件原始路径 + * @param {string|object} pluginOptions + */ + _getPluginPath(pluginOptions: any): any; + /** + * 注销插件 + * @param {String} name 主要插件名称 + */ + destroyPlugin(name: any): void; + /** + * 创建插件对象(插件管理对象内部使用) + * @param {String} name 插件名称 + * @param {Object} options 插件初始化参数 + * @param {pluginManager} PluginManager 要创建的插件的插件管理对象 + * @return {PluginBase} 插件对象 + */ + createPlugin(name: any, options: any, pluginManager: any): any; +} + let pluginsFactory: PluginsFactory; + +/** + * 作者:梁帆 + * 日期:2019-04-09 + */ +/** + * 插件主题 + */ + class PluginThemeManager { + _themeStyle: {}; + constructor(); + /** + * 设置所有样式 + */ + themeStyle: any; + createStyle(styleParam: any, doc: any): void; + createAllStyle(styleParam: any): void; + /** + * 插入新样式 + * @param {document} doc + * @param {object} styleParam + */ + generateDocStyle(doc: any): void; + _generateDocStyle(doc: any, styleParam: any): void; + _getThemeStyle(styleParam: any): {}; + _getStyleCss(tempStyle: any): string; + toCssStyle(str: any): any; + colorRgb(col: any): string; +} + let pluginThemeManager: PluginThemeManager; + +/** + * 作者:董波 + * 部门:数字地球研究院 + * 邮箱:dongb@geovis.com + * 日期:2019-3-18 + */ +/** + * 插件界面工厂提供提供插件界面加载卸载功能 + */ + class PluginView { + _container: any; + _url: any; + _viewStyle: any; + state: string; + _instance: HTMLIFrameElement; + containerDiv: HTMLDivElement; + /** + * 创建iframe插件视图 + * @param {object} options + * @param {Element} options.container 插件界面的父界面 + * @param {String} options.url 插件的html路径 + * @param {object} [options.viewStyle=undefined] 插件区域配置当使用默认配置时覆盖整个父界面 + * @param {options} [options.viewStyle.width] 插件的宽度 + * @param {options} [options.viewStyle.height] 插件高度 + * @param {options} [options.viewStyle.left] 插件左边距 + * @param {options} [options.viewStyle.top] 插件上边距 + * @param {options} [options.viewStyle.right] 插件右边距 + * @param {options} [options.viewStyle.bottom] 插件下边距 + * @return {PluginView} + */ + constructor(options: any); + /** + * 获取界面实例 + * @return {element} + */ + readonly instance: HTMLIFrameElement; + /** + * 显示页面 + */ + show(): void; + /** + * 隐藏页面 + */ + hide(): void; + /** + * 关闭页面 + */ + close(): void; + /** + * 设置相机监听事件div + * @param {viewer} viewer 三维球对象 + * @param {element} div 要替换的标签对象 + */ + setMouseBaseElement(viewer: any, div: any): void; + /** + * 恢复相机监听div + * @param {Viewer} viewer + */ + resetMouseBaseElement(viewer: any): void; + _createIframe(url: any): HTMLIFrameElement; + _createDiv(options: any): HTMLDivElement; + _setStylePro(element: any, options: any): void; +} + +/** + * 作者:董波 + * 部门:数字地球研究院 + * 邮箱:dongb@geovis.com + * 日期:2019-3-18 + */ +/** + * (工具类基类)需要用户继承该类实现自己的类。 + * 由{@link PluginManager}统一管理. + * 继承工具的类之间是相互互斥的(一次只能开启一个工具) + * @augments PluginBase + */ + class Tool extends PluginBase { + _isHide: boolean; + /** + * @param {PluginManager} prents + * @param {Object} optins + */ + constructor(prents: any, optins: any); + /** + * 界面关闭且数据可用时为true + * @type {boolean} + * @readonly + */ + readonly isHide: boolean; + /** + * 工具开启时为非隐藏状态 + */ + _init(): void; + /** + * 隐藏界面和清除交互逻辑 + */ + _hide(): void; + hide(): any; + /** + * 完全关闭工具 + */ + _close(): void; +} + +/** + * 作者:董波 + * 部门:数字地球研究院 + * 邮箱:dongb@geovis.com + * 日期:2019-3-18 + */ +/** + * (挂件类基类)需要用户继承该类实现自己的类。 + * 由{@link PluginManager}统一管理. + * 继承挂件的类之间是不互斥的(多了个挂件可以同时开启) + * @augments PluginBase + */ + class Widget extends PluginBase { + /** + * @param {PluginManager} prents + * @param {Object} optins + */ + constructor(prents: any, optins: any); +} + + +/** + * 作者:张耀元 + * 日期:2020-08-05 + */ +/** + * DQG网格计算行内网格经差 + * @param n 行号 + */ + function log2_d(n: number): number; +/** + * 计算球心到相机视点在地球上投影点的距离 + * @param camera + * @returns {number} 球面上点到圆心的距离 + */ + function computeRadius(camera: any): number; +/** + * 判断初始四个大格网是否在视窗体内(是否可见) + * @param zeroTile 要判断的格网 + * @param cameraInfo 场景中的相机相关信息 + */ + function zeroTileVisible(zeroTile: TriangleTile | QuadTile, cameraInfo: any): boolean; +/** + * 判断四边形格网是否在视窗体内(是否可见) + * @param {QuadTile} quadTile 要判断的格网 + * @param {any} cameraInfo 场景中的相机相关信息 + */ + function isQuadTileVisible(quadTile: QuadTile, cameraInfo: any): boolean; +/** + * 判断网格是否与矩形框相交或包含 + * @param tile 网格 + * @param rect 矩形框 + */ + function isRectContainTile(tile: TriangleTile | QuadTile, rect: any): boolean; +/** + * 经纬度转DQG编码的行列号 + * @param lon 经度 + * @param lat 纬度 + * @param level 网格层级 + * @return obj 包含行列号 + */ + function lonLatToRowCol(lon: number, lat: number, level: number): any; +/** + * 经纬度和高程转DQG编码的行列高 + * @param lon 经度 + * @param lat 纬度 + * @param alt 海拔 + * @param level 网格层级 + * @param relativeHeight 网格单元高度(可选,默认值为10019000 >> level) + * @param height 网格单元底部高度(可选, 默认值为0.1) + * @return obj 包含行列高 + */ + function lonLatAltToRowColHei(lon: number, lat: number, alt: number, level: number, relativeHeight?: number, height?: number): any; +/** + * 行列号转经纬度 + * @param row 行号 + * @param col 列号 + * @param level 层级 + */ + function rowColToLonLat(row: number, col: number, level: number): any; +/** + * 绘制格网轮廓线 + * @param {*} cameraInfo 相机相关信息 + * @param {*} tileList 格网列表 + * @param {*} outlineInstances 格网几何信息 + */ + function outlineInstance(cameraInfo: any, tileList: any, outlineInstances: any): Cesium.Primitive; +/** +* 创建格网面片(或网格体) +* @param {*} cameraInfo 相机相关信息 +* @param {*} tileList 格网列表 +* @param {*} surfaceInstances 格网几何信息 +*/ + function surfaceInstance(cameraInfo: any, tileList: any, surfaceInstances: any): Cesium.Primitive; +/** + * 显示网格编码 + * @param {*} cameraInfo 相机相关信息 + * @param {*} tileList 格网列表 + * @param {*} outlineInstances 格网几何信息 + */ + function labelInstance(tileList: any, labelInstances: any): void; +/** + * 四边形网格 + */ + class QuadTile { + private _code; + private _preCode; + private _level; + private _west; + private _south; + private _east; + private _north; + private _bHeight; + private _tHeight; + private _cenLon; + private _cenLat; + private _center; + private _LTChild; + private _RTChild; + private _LBChild; + private _RBChild; + private _LMChild; + private _BMChild; + private _RMChild; + private _TMChild; + private _MMChild; + private _row; + private _col; + boundingBox: any; + intersection: any; + changeColor: boolean; + constructor(options: any); + code: any; + level: any; + west: any; + south: any; + east: any; + north: any; + bHeight: any; + tHeight: any; + cenLon: any; + cenLat: any; + readonly center: any; + LTChild: any; + RTChild: any; + LBChild: any; + RBChild: any; + readonly row: number; + readonly col: number; + a: number; + /** + * 更新格网的信息(二维单尺度DQG网格) + * @param {*} tileList 存储格网的队列 + * @param {*} cameraInfo 存储相机的相关信息 + */ + update(tileList: any[], cameraInfo: any): void; + initUpdate(tileList: Array, level: number, scale: number, cameraInfo: any, condition: number): void; + /** + * 更新格网的信息(二维单尺度DQG网格) + * @param {*} tileList 存储格网的队列 + * @param {*} cameraInfo 存储相机的相关信息 + */ + DQGUpdate(tileList: Array, cameraInfo: any): void; + /** + * 更新格网的信息(二维单尺度DQG网格) + * @param {*} tileList 存储格网的队列 + * @param {*} cameraInfo 存储相机的相关信息 + */ + staticUpdate(tileList: Array, cameraInfo: any, rect: any): void; + /** + * 计算子格网 + */ + computeChildren(): void; + /** + * 计算子格网 + */ + computeNineChildren(): void; + /** + * 计算子格网 + */ + computeDQGChildren(): void; + /** + * 计算子格网 + */ + computeCustomChildren(code: string, level: number, west: number, south: number, east: number, north: number, cenLon: number, cenLat: number): void; + /** + * 销毁格网 + */ + destory(): void; +} +/** + * 三角形网格(只有在绘制DQG网格时才会用到) + */ + class TriangleTile { + private _code; + private _oct; + private _level; + private _west; + private _south; + private _east; + private _north; + private _bHeight; + private _tHeight; + private _cenLon; + private _cenLat; + private _center; + private _LTChild; + private _RTChild; + private _LBChild; + private _RBChild; + private _row; + private _col; + boundingBox: any; + intersection: any; + changeColor: boolean; + constructor(options: any); + code: any; + level: any; + west: any; + south: any; + east: any; + north: any; + bHeight: any; + tHeight: any; + cenLon: any; + cenLat: any; + readonly center: any; + LTChild: any; + RTChild: any; + LBChild: any; + RBChild: any; + readonly row: number; + readonly col: number; + /** + * 更新格网的信息(二维单尺度DQG网格) + * @param {*} tileList 存储格网的队列 + * @param {*} cameraInfo 存储相机的相关信息 + */ + update(tileList: Array, cameraInfo: any): void; + /** + * 更新静态格网的信息 + * @param {*} tileList 存储格网的队列 + * @param {*} cameraInfo 存储相机的相关信息 + */ + staticUpdate(tileList: Array, cameraInfo: any, rect: any): void; + /** + * 计算子格网 + */ + computeChildren(): void; + /** + * 计算DQG子格网 + */ + computeDQGChildren(): void; + /** + * 销毁格网 + */ + destory(): void; +} + + class Fog { + near: any; + far: any; + nearFog: any; + farFog: any; + viewer: Cesium.Viewer; + private value; + color: any; + constructor(viewer: Cesium.Viewer, options?: Object); + remove(): void; + enabled: Boolean; + static fragmentShader: String; +} + +/** + * 全球海洋特效 + * (创建GeoCanvas时自动在SceneOptions类进行实例化, + * 具体使用方法参见SceneOptions类说明) + */ + class GlobalWater { + private viewer; + private worldRectangle; + constructor(viewer: Cesium.Viewer); + /** + * 显示全球海洋 + */ + showGlobalWater(): void; + /** + * 关闭全球海洋 + */ + closeGlobalWater(): void; + /** + * 波纹数 value>0,默认 10000 + */ + frequency: Number; + /** + * 播放速度 value>0 默认 0.01 + */ + animationSpeed: Number; + /** + * 颜色深度 value>0 默认 1.0 + */ + amplitude: Number; +} + +/** + * 经纬网 + */ + class Graticule { + private layer; + private viewer; + constructor(viewer: Cesium.Viewer); + /** + * 显示 + */ + show(): void; + /** + * 隐藏 + */ + remove(): void; + /** + * 线颜色(css 样式) + */ + color: string; + /** + * 线宽度 + */ + width: number; + /** + * 字体格式 + */ + textFont: string; + /** + * 字体颜色(css 样式) + */ + textColor: string; + /** + * 字体轮廓颜色(css 样式) + */ + textOutlineColor: string; +} + + class GraticuleLayer { + private _visible; + private _opt; + private _scene; + private _ellipsoid; + private _polylines; + private _groundPrimitive; + private _labels; + private _extent; + private _levels; + private _sexagesimal; + constructor(opt: GraticuleLayerOpt, viewer: Cesium.Viewer); + listenerFun: () => void; + private decToSex; + private gridPrecision; + /**将经度值限制到-PI到PI之间 */ + private normalize; + private getNearestLongitude; + private getNearestLatitude; + /**获取相机视角范围 */ + private getExtent; + private makeLabel; + /**绘制网格和文字 */ + private drawGrid; + private getMS; + /**获取线颜色 */ + /**设置线颜色 */ + color: Cesium.Color; + /**获取线宽 */ + /**设置线宽 */ + width: number; + /**获取文字字体样式 */ + /**设置文字字体样式 */ + textFont: string; + /**获取文字颜色 */ + /**设置文字颜色 */ + textColor: Cesium.Color; + /**获取文字轮廓颜色 */ + /**设置文字轮廓颜色 */ + textOutlineColor: Cesium.Color; + /**获取经纬网是否显示状态 */ + isVisible(): Boolean; + /**设置经纬网显示/隐藏 */ + setVisible(show: Boolean): void; +} + class GraticuleLayerOpt { + color: Cesium.Color; + width: number; + textFont: string; + textColor: Cesium.Color; + textOutlineColor: Cesium.Color; + constructor(color?: string, w?: number, textFont?: string, textColor?: string); +} + +/** + * 作者:张耀元 + * 日期:2020-08-05 + */ +/** + * @类型 网格类 + * @描述 三维DQG网格 + * @see 三维网格 + */ + class MapBox { + private viewer; + private timeID; + private destroyFlag; + private _visible; + private outlinePrimitive; + private surfacePrimitive; + private _outlineColor; + private _height; + private _extrudedHeight; + private _relativeHeight; + private _subdivFactor; + private _name; + private _changed; + private _error; + private _entityCollection; + private _entityCluster; + private _isLoading; + private _loading; + /** + * + * @param viewer GeoCanvas + * @param options 参数对象 + * ``` + * 示例代码 + * let viewer = new GV.GeoCanvas('GEOVISContainer'); + * // 创建静态网格 + * let mapBox = new GV.MapBox({ subdivFactor: 3, outlineColor: 'rgb(100, 100, 100)', relativeHeight: 20000000, height: 1000000 }); + * ``` + */ + constructor(viewer: GeoCanvas, options?: MapBoxOpt); + /** + * 获取外边框颜色 + */ + readonly outlineColor: string; + /** + * 获取网格底面相对于椭球面高度 + */ + readonly height: number; + /** + * 获取网格单元体自身高度 + */ + readonly relativeHeight: number; + /** + * 获取网格单元体挤压面距离椭球面高度 + */ + readonly extrudedHeight: number; + /** + * 获取网格细分阈值 + */ + readonly subdivFactor: number; + /**继承DataSource属性begin */ + private name; + private readonly clock; + private readonly entities; + private readonly isLoading; + private readonly changedEvent; + private readonly errorEvent; + private readonly loadingEvent; + private show; + private clustering; + /**继承DataSource属性end */ + /** + * 设置显隐 + * @memberof MapSheet + */ + visible: boolean; + /** + * 移除 + */ + private remove; + /** + * 重新设置网格参数(包括高度、颜色和细分阈值) + * @param options 参数对象 + */ + reSet(options: MapBoxOpt): void; + /** + * 设置网格边框颜色 + * @param outlineColor 网格边框颜色 + */ + setOutlineColor(outlineColor?: string): void; + /** + * 设置网格底面和相对高度 + * @param height 设置网格底面距离椭球面高度 + * @param relativeHeight 设置网格高度 + */ + setHeight(height: number): void; + /** + * 设置网格底面和相对高度 + * @param height 设置网格底面距离椭球面高度 + * @param relativeHeight 设置网格高度 + */ + setRelativeHeight(relativeHeight: number): void; + /** + * 设置网格底面和相对高度 + * @param height 设置网格底面距离椭球面高度 + * @param relativeHeight 设置网格高度 + */ + setExtrudedHeight(extrudedHeight: number): void; + /** + * 设置网格细分阈值 + * @param subdivFactor 细分阈值 + */ + setSubdivFactor(subdivFactor: number): void; + /** + * 回到默认设置状态 + */ + backToDefault(): void; + /** + * DQG网格运行入口(初始化) + * @param tileList 挂载要绘制的网格 + * @param cameraInfo 显示时挂载的与相机有关的信息 + */ + private initialDQGUpdate; + /** + * 网格更新函数 + * @param time + */ + private DQGUpdate; + /** + * 更新函数 + * @param time + */ + private update; + private destroy; +} + class MapBoxOpt { + /** 网格线框颜色 */ + outlineColor: string; + /** 网格单元体自身的高度(等于extrudedHeight - height) */ + relativeHeight?: number; + /** 网格单元底面距椭球面高度 */ + height?: number; + /** 网格单元挤压面距离椭球面的高度 */ + extrudedHeight?: number; + /** 细分阈值 */ + subdivFactor: number; +} + +/** + * @类型 军用图幅 + * @描述 1991年制订了新的《国家基本比例尺地形图分幅和编号》(GB/T 13989-92 )的国家标准 + * @see 军用图幅 + */ + class MapSheet { + private gridPrimitive; + private gridScale; + private scale; + private viewer; + private labels; + private labelInfo; + private colseRangeLabels; + private _visible; + private LatCharArray; + private latDArray; + private lonDArray; + private primitive; + private closeRangePrimitive; + private range; + private tileKeys; + private timeID; + private destroyFlag; + private _gridVisable; + private _mapSheetVisable; + private _name; + private _changed; + private _error; + private _entityCollection; + private _entityCluster; + private _isLoading; + private _loading; + constructor(viewer: Cesium.Viewer); + /**继承DataSource属性begin */ + private name; + private readonly clock; + private readonly entities; + private readonly isLoading; + private readonly changedEvent; + private readonly errorEvent; + private readonly loadingEvent; + private show; + private clustering; + /**继承DataSource属性end */ + /** + * 设置显隐 + * @memberof MapSheet + */ + visible: boolean; + gridVisible: boolean; + mapSheetVisible: boolean; + /** + * 移除 + */ + private remove; + /** + * 根据经纬度获得编码 + * @param lat 纬度 + * @param lon 经度 + * @param scaleID 比例尺编号 + * 说明:不传scaleID时,默认为当前视口下比例尺编号 + */ + getSheetNumber(lon: number, lat: number, scaleID: LevelCodeEnum): string; + /** + * 根据军标码计算图幅范围 + * @param sheetNumber 军标码 + * @param scaleID 比例尺编号 + * 说明:不传scaleID时,默认为当前视口下比例尺编号 + */ + getSheetRange(sheetNumber: string, scaleID: LevelCodeEnum): { + south: any; + east: number; + north: any; + west: number; + }; + /** + * 判断军标码与比例尺是否一致 + * @param sheetNumber + * @param scaleID + */ + private checkSheetToScale; + /** + * 划分地图 + */ + private splitMap; + /** + * 添加线、label进入场景 + * @param data + */ + private createPrimitive; + /** + * 单独label进入场景 + * @param data + */ + private createLabel; + /** + * 根据层级行列号计算瓦片范围 + */ + private getRectangle; + /** + * 递归法运行入口(初始化) + * @param tileList 挂载要绘制的网格 + * @param level 比例尺层级(网格层级) + * @param scale 1:100万比例尺用到的剖分层级 + * @param cameraInfo 显示时挂载的与相机有关的信息 + */ + private initialCloseRangeUpdate; + /** + * 局部场景下启用递归法进行图幅编码绘制和展示 + */ + private closeRangeUpdate; + /** + * 添加方里网 + * @param westGrid + * @param northGrid + * @param eastGrid + * @param southGrid + */ + private addGridPrimitive; + /** + * 更新函数 + * @param time + */ + private update; + destroy(): void; +} + +/** + * 作者:张耀元 + * 日期:2020-08-21 + */ +/** + * @类型 路径规划 + * @描述 基于网格的路径规划。由三部分组成,依次是空间依赖的背景网格(由StaticMapBox生成);表示不可达区域的网格;表示规划路径的网格。 + * 其中,PathPlanningOpt中的属性比如网格底面高度(height)、网格相对高度(relativeHeight)、起止点颜色等都是对不可达区域和规划路径 + * 等所在网格的属性赋值。设置空间依赖的背景网格需要专门调用this.staticMapBox()来进行创建和初始化,一般紧接着pathPlanning的初始化。 + * @see 路径规划 + */ + class PathPlanning { + private viewer; + /** 表示不可达地区的网格 */ + private inaccesPrimitive; + /** 表示后来自己添加的不可达地区网格 */ + private additionInaccesPrimitive; + /** 表示轨迹的网格 */ + private gridPathPrimitive; + /** 表示起始位置的网格 */ + private startPosPrimitive; + /** 表示终止位置的网格 */ + private endPosPrimitive; + private minLon; + private minLat; + private maxLon; + private maxLat; + private minAlt; + private maxAlt; + private startRow; + private startCol; + private endRow; + private endCol; + private startHei; + private endHei; + private inaccesGridArray; + /** 背景网格,轨迹网格的一切均发生在背景网格之内 */ + private staticMapBox; + private additionalInaccess; + private level; + private _height; + private _relativeHeight; + /** 轨迹颜色 */ + private _pathArrColor; + /** 不可达区域颜色 */ + private _inaccesColor; + /** 起点颜色 */ + private _strPosColor; + /** 终点颜色 */ + private _endPosColor; + /** 是否是三维路径规划(默认值为false) */ + private _is3DPathPlanning; + /** 背景网格选项,为整个场景提供网格背景和网格环境,应跟在pathPlanning之后初始化 */ + private backgroundGridsOpt; + /** 不可达区域 */ + inaccesRegions: Array; + /** 经纬度转网格行列号 */ + lonLatToRowCol: any; + /** 经纬度和高程转为行列高 */ + lonLatAltToRowColHei: any; + /** 行列号转经纬度 */ + rowColToLonLat: any; + /** 每个不可达区域数组对应的底面高度(minALt)和顶部高度(maxAlt),是个二维数组 */ + inaccesRegionsAltArray: Array; + /** + * + * @param viewer GeoCanvas + * @param options 参数对象 + * ``` + * 示例代码 + * let viewer = new GV.GeoCanvas('GEOVISContainer'); + * // 添加GeoPoint点围成的不可达区域(第一层不可达区域) + * let inaccesRegion1 = [ + * new GV.GeoPoint(111.44, 17.28), + * new GV.GeoPoint(113.0, 18.03), + * new GV.GeoPoint(113.8, 16.97), + * new GV.GeoPoint(113.75, 16.48) + * ] + * // 第二层不可达区域(叠在第一层上面,范围比第一层小) + * let inaccesRegion2 = [ + * new GV.GeoPoint(111.94, 17.0), + * new GV.GeoPoint(112.5, 17.53), + * new GV.GeoPoint(113.3, 16.47), + * new GV.GeoPoint(113.25, 16.08) + * ] + * // 初始化路径规划场景 + * let pathPlanning = new GV.PathPlanning(viewer, { inaccesRegions: [inaccesRegion1, inaccesRegion2], inaccesRegionsAltArray: [[500, 7500], [7500, 14500]], level: 10, height: 400, relativeHeight: 7000 }); + * // 创建底图网格 + * pathPlanning.setBackgroundGrids({ west: 108.5, south: 14.5, east: 116.5, north: 18.7, level: 10, heightLevel: 2, height: 400, relativeHeight: 7000, outlineColor: 'rgb(150, 150, 150)', color: 'rgba(100, 100, 100, 0.1)', isDrawEachGrid: false }); + * ``` + */ + constructor(viewer: GeoCanvas, options: PathPlanningOpt); + /** 设置路径网格颜色 */ + /** 获取路径网格颜色 */ + pathArrColor: string; + /** 设置不可达区域网格颜色 */ + /** 获取不可达区域网格颜色 */ + inaccesColor: string; + /** 设置起点网格颜色 */ + /** 获取起点网格颜色 */ + strPosColor: string; + /** 设置终点网格颜色 */ + /** 获取终点网格颜色 */ + endPosColor: string; + /** 设置网格单元高度 */ + /** 获取网格单元高度 */ + relativeHeight: number; + /** 设置是否是三维路径规划 */ + /** 获取是否是三维路径规划 */ + is3DPathPlanning: boolean; + /** + * 根据选取的起始点和终止点进行路径规划 + * @param startPosX 起点行号 + * @param startPosY 起点列号 + * @param startPosZ 起点高度层号 + * @param endPosX 终点行号 + * @param endPosY 终点列号 + * @param endPosZ 终点高度层号 + * @param inaccesGridArray 不可达区域网格集 + */ + private dynamicPlanning; + /** + * 选择起点(输入表示起点所在网格的经纬度和高程) + * @param lon 经度 + * @param lat 纬度 + * @param alt 海拔(可选,默认为网格最底面高度) + */ + selectStartGrid(lon: number, lat: number, alt?: number): void; + /** + * 选择起点(输入表示起点网格的行列号) + * @param row 行号 + * @param col 列号 + * @param hei 层号(或者高度号,最底层为0,默认值为0) + */ + setStartGrid(row: number, col: number, hei?: number): void; + /** + * 选择终点(输入表示终点所在网格的经纬度和高程) + * @param lon 经度 + * @param lat 纬度 + * @param alt 海拔(可选,默认为网格最底面高度) + */ + selectEndGrid(lon: number, lat: number, alt?: number): void; + /** + * 选择终点(输入表示终点网格的行列号) + * @param row 行号 + * @param col 列号 + * @param hei 层号(或者高度号,最底层为0,默认值为0) + */ + setEndGrid(row: number, col: number, hei?: number): void; + /** + * 添加单个不可达区域网格。根据输入点的经纬度和海拔来计算。 + * @param lon 要添加不可达位置的经度 + * @param lat 要添加不可达位置的纬度 + * @param alt 要添加不可达位置的高度(可选,默认为网格最底面高度) + */ + addInaccesGrid(lon: number, lat: number, alt?: number): void; + /** 绘制路径 */ + drawPath(): void; + /** + * 绘制不可达区域 + * 说明:根据初始化时输入的不可达区域以及后面添加的不可达数据进行筛选,得到相应的网格,并进行可视化表达 + */ + drawInaccesGrid(): void; + /** + * 设置背景网格 + * pathPlanning创建后调用,因为如果想使路径规划生效,第一步必须先设置背景网格 + */ + setBackgroundGrids(options: StaticMapBoxOpt): void; + /** + * 更新函数 + */ + update(): void; + /** + * 创建不可达区域 + * @param inaccesRegion 以GeoPoint点围成的不可达区域 + * 说明: 返回创建后的不可达区域的一个索引 + */ + createInaccesRegion(inaccesRegion: Array): any; + /** + * 清空路径 + */ + clearPath(): void; + /** + * 清空不可达区域网格 + */ + clearInaccesGrid(): void; + /** + * 清除路径网格和不可达区域网格,作用等同于destroy函数 + */ + clearAll(): void; + /** 清空 */ + destory(): void; +} +/** 路径规划选项 */ + class PathPlanningOpt { + /** 不可达区域 */ + inaccesRegions: Array; + /** 层级 */ + level?: number; + /** 底面相对于椭球面高度 */ + height?: number; + /** 单个网格的相对高度 */ + relativeHeight?: number; + /** 是否是3维路径规划 */ + is3DPathPlanning?: boolean; + /** 路径颜色 */ + pathArrColor?: string; + /** 不可达区域颜色 */ + inaccesColor?: string; + /** 起点位置颜色 */ + strPosColor?: string; + /** 终点位置颜色 */ + endPosColor?: string; + /** + * 每一个不可达区域对应一个底面高度和顶部高度数组,整体是个二维数组 + * 如[[不可达区域1对应的的值:minAlt, maxAlt], [不可达区域2对应的高度值:minAlt, maxAlt],...] + */ + inaccesRegionsAltArray?: Array; +} + + class Rain { + angle: any; + speed: any; + private viewer; + private value; + /** + * + * @param viewer + * @param options 具有以下属性 + * @param {Number} [options.angle=-15] 雨滴与地面法线的夹角,单位度 + * @param {Number} [options.speed=240] 雨滴降落的速度 + */ + constructor(viewer: Cesium.Viewer, options?: any); + remove(): void; + enabled: Boolean; + static fragmentShader: String; +} + +/** + * 场景配置类枚举 + */ + enum WeatherEnmu { + /** + * 关闭天气 + */ + None = 0, + /** + * 开启雨 + */ + Rain = 1, + /** + * 开启雪 + */ + Snow = 2, + /** + * 开启雾 + */ + Fog = 3 +} +/** + * 各级比例尺编号 + */ + enum LevelCodeEnum { + /** + * 1:100万比例尺 + */ + LevelCodeZero = 0, + /** + * 1:50万比例尺 + */ + LevelCodeOne = 1, + /** + * 1:25万比例尺 + */ + LevelCodeTwo = 2, + /** + * 1:10万比例尺 + */ + LevelCodeThree = 3, + /** + * 1:5万比例尺 + */ + LevelCodeFour = 4, + /** + * 1:2.5万比例尺 + */ + LevelCodeFive = 5, + /** + * 1:1万比例尺 + */ + LevelCodeSix = 6 +} +/** + * @类别 无需创建,初始化球时自动创建并且与球对应的类
+ * @描述 场景配置类:管理 雨,雪,经纬网
+ * @see 经纬网 + * @see 雨雪 + * ``` + * 示例代码: + * var viewer = new GV.GeoCanvas('GEOVISContainer', { + * sceneOptions:{ + * graticule:true, + * weather:GV.WeatherEnmu.Rain + * } + * }); + * ``` + */ + class SceneOptions { + /** + * 地理画布 + */ + private viewer; + /** + * 天气 + */ + private sky; + /** + * 经纬网 + */ + private jingwei; + private _graticule; + /** + * 太阳产生阴影 + */ + private _shadowFlag; + /** + * 图幅编码 + */ + private _mapSheet; + private _tufu; + /** + * 三维网格 + */ + private _mapBox; + /** + * 静态三维网格 + */ + private _staticMapBox; + /** + * 全球海洋 + */ + private _globalWater; + private _globalWaterVisible; + /** + * 设置或获取控制经纬网字段 + * ``` + * 示例代码: + * viewer.sceneOptions.graticule = true + * ``` + */ + graticule: Boolean; + private _weather; + shadowFlag: boolean; + /** + * 设置或获取控制天气字段 + * ``` + * 示例代码: + * viewer.sceneOptions.weather = WeatherEnmu.Rain + * ``` + */ + weather: WeatherEnmu; + /** + * 国际图幅编码 + */ + readonly mapSheet: MapSheet; + /** + * 三维网格 + */ + readonly mapBox: MapBox; + /** + * 静态三维网格 + */ + readonly staticMapBox: StaticMapBox; + /** + * 全球海洋特效 + */ + globalWater: boolean; + readonly globalWaterObj: GlobalWater; + /** + * 获取地图投影 + * ``` + * 示例代码: + * let projection = viewer.sceneOptions.mapProjection; + * ``` + */ + readonly mapProjection: string; + /** + * 创建场景配置类 + * @param viewer 地理画布 + * @param options 场景配置对象 + */ + constructor(viewer: GeoCanvas, options: Object); +} + + class Snow { + alpha: any; + speed: any; + private viewer; + private value; + /** + * + * @param viewer + * @param options 具有以下属性 + * @param {Number} [options.alpha=0.6] 雪在地面的累积程度,0表示地面没有雪,1表示地面完全被雪覆盖 + * @param {Number} [options.speed=240] 雪花降落的速度 + */ + constructor(viewer: Cesium.Viewer, options?: any); + remove(): void; + enabled: Boolean; + static fragmentShader: String; +} + +/** + * 作者:张耀元 + * 日期:2020-08-05 + */ +/** + * @类型 网格类 + * @描述 静态三维DQG网格 + * @see 静态三维网格 + */ + class StaticMapBox { + private viewer; + private _visible; + private outlinePrimitive; + private surfacePrimitive; + private timeID; + private destroyFlag; + private isDraw; + /** 实体西边框经度 */ + private _west; + /** 实体南边框纬度 */ + private _south; + /** 实体东边框经度 */ + private _east; + /** 实体北边框纬度 */ + private _north; + /** 实体网格剖分层级,相当于细分阈值 */ + private _level; + /** 实体网格相对椭球面的高度 */ + private _height; + /** 实体网格挤压面相对于椭球面的高度 */ + private _extrudedHeight; + /** 实体网格单元自身的高度 */ + private _relativeHeight; + /** 实体网格径向(高度维)上网格层级或数量 */ + private _heightLevel; + /** 实体网格外边框颜色 */ + private _outlineColor; + /** 实体网格体颜色 */ + private _color; + /** 实体网格是否单独绘制每个网格体,默认false, 若为true可能会影响绘制效率 */ + private _isDrawEachGrid; + /** 所有要展现出来的网格 */ + resultTileList: Array; + private _name; + private _changed; + private _error; + private _entityCollection; + private _entityCluster; + private _isLoading; + private _loading; + /** + * + * @param viewer GeoCanvas + * @param options 参数对象 + * ``` + * 示例代码 + * let viewer = new GV.GeoCanvas('GEOVISContainer'); + * // 创建静态网格 + * let staticMapBox = new GV.StaticMapBox({ west: 108.5, south: 14.5, east: 116.5, north: 18.7, level: 10, heightLevel: 2, height: 400, relativeHeight: 7000, outlineColor: 'rgb(150, 150, 150)', color: 'rgba(100, 100, 100, 0.1)', isDrawEachGrid: false }); + * ``` + */ + constructor(viewer: GeoCanvas, options?: StaticMapBoxOpt); + /** + * 获取网格西边框经度 + */ + readonly west: number; + /** + * 获取网格南边框纬度 + */ + readonly south: number; + /** + * 获取网格东边框经度 + */ + readonly east: number; + /** + * 获取网格北边框纬度 + */ + readonly north: number; + /** + * 获取网格剖分层级 + */ + readonly level: number; + /** + * 获取网格单元距离椭球面的高度 + */ + readonly height: number; + /** + * 获取网格单元体自身高度 + */ + readonly relativeHeight: number; + /** + * 获取网格单元体挤压面距离椭球面的高度 + */ + readonly extrudedHeight: number; + /** + * 获取网格径向(高度维)上网格层级或数量 + */ + readonly heightLevel: number; + /** + * 获取网格实体颜色 + */ + readonly color: string; + /** + * 获取网格边框颜色 + */ + readonly outlineColor: string; + isDrawEachGrid: any; + /**继承DataSource属性begin */ + private name; + private readonly clock; + private readonly entities; + private readonly isLoading; + private readonly changedEvent; + private readonly errorEvent; + private readonly loadingEvent; + private show; + private clustering; + /**继承DataSource属性end */ + /** + * 设置显隐 + * @memberof StaticMapBox + */ + visible: boolean; + /** + * 移除 + */ + private remove; + /** + * 重新设置所有静态网格参数(包括范围、高度、颜色和层级) + * @param options 参数对象 + */ + reSet(options: StaticMapBoxOpt): void; + /** + * 设置实体框范围 + * @param west 实体西边框经度,默认为0 + * @param south 实体南边框纬度,默认为0 + * @param east 实体东边框经度,默认为0 + * @param north 实体北边框纬度,默认为0 + * @param level 网格实体剖分层次,默认值为3(层次越高,网格越密) + * @param heightLevel 径向(高度维)网格数量 + */ + setRange(west: number, south: number, east: number, north: number, heightLevel?: number, level?: number): void; + /**设置网格剖分层次 */ + setLevel(level: number): void; + /**设置网格径向(高度维)剖分层次 */ + setHeightLevel(heightLevel: number): void; + /** + * 设置网格单元体自身高度 + * @param relativeHeight 网格单元高度 + */ + setRelativeHeight(relativeHeight: number): void; + /** + * 设置网格单元底面与椭球面的高度 + * @param height 网格单元底面高度 + * 说明:网格单元顶部高度extrudedHeight可以直接赋值也可由height + relativeHeight求得 + */ + setHeight(height: number): void; + /** + * 设置网格单元挤压面(顶面)与椭球面的高度 + * @param extrudedHeight 网格单元底面高度 + * 说明:网格单元顶部高度extrudedHeight可以直接赋值也可由height + relativeHeight求得 + */ + setExtrudedHeight(extrudedHeight: number): void; + /** + * 设置网格单元边框颜色 + * @param outlineColor 网格边框颜色 + */ + setOutlineColor(outlineColor: string): void; + /** + * 设置网格单元体颜色 + * @param color 网格实体颜色 + */ + setColor(color: string): void; + /** + * 回到默认设置状态 + */ + backToDefault(): void; + /** + * DQG网格初始化 + * @param tileList 挂载要绘制的网格 + * @param cameraInfo 显示时挂载的与相机有关的信息 + * @param rect 要绘制网格的矩形框范围 + */ + private initialstaticTileUpdate; + /** + * 静态三维网格运行入口 + */ + private staticTileUpdate; + /** + * 更新函数 + * @param time + */ + private update; + /** 销毁函数 */ + destroy(): void; +} + class StaticMapBoxOpt { + /** 矩形西边框经度 */ + west: number; + /** 矩形南边框经度 */ + south: number; + /** 矩形东边框经度 */ + east: number; + /** 矩形北边框经度 */ + north: number; + /** 要剖分的网格层级 */ + level?: number; + /** 网格单元体自身的高度(等于extrudedHeight - height) */ + relativeHeight?: number; + /** 网格单元底面距椭球面高度 */ + height?: number; + /** 网格单元挤压面距离椭球面的高度 */ + extrudedHeight?: number; + /** 径向(高度维)上的网格层级 */ + heightLevel?: number; + /** 网格边框颜色 */ + outlineColor?: string; + /** 网格体颜色 */ + color?: string; + /** 实体网格是否单独绘制每个网格体,默认false, 若为true可能会影响绘制效率 */ + isDrawEachGrid?: boolean; +} + +/** + * 天气-雨雪 + * (创建GeoCanvas时自动在SceneOptions类进行实例化, + * 具体使用方法参见SceneOptions类说明) + */ + class Weather { + private viewer; + fog: Fog; + rain: Rain; + snow: Snow; + constructor(viewer: Cesium.Viewer); + /** + * 雨雪显示高度 + */ + displayHeight: number; + private calculateCamera; + private _rain; + private _snow; + /** + * 显示雨 + */ + showRain(): void; + /** + * 关闭雨 + */ + closeRain(): void; + private getRainShader; + /** + * 显示雪 + */ + showSnow(): void; + /** + * 关闭雪 + */ + closeSnow(): void; + private getSnowShader; + /** + * 显示雾 + */ + showFog(): void; + /** + * 关闭雾 + */ + closeFog(): void; +} + + class GM26400 { + /** + * 解决控制点跨越180度经度问题 + * @param controlPoints + */ + static modifyControlPoints(controlPoints: Array): void; + static distance(p1: GeoPoint, p2: GeoPoint): number; + static getAngle(p1: GeoPoint, p2: GeoPoint): number; + /** + * 计算X符号 + * @param p X中心点 + * @param angle 旋转角(单位:弧度) + * @param symbol_len + * @param results + */ + static getXCoords(p: GeoPoint, angle: number, symbol_len: number, results?: Array): Array; + /** + * 计算箭头 + * @param p 箭头尾点 + * @param angle 箭头朝向角(单位:弧度) + * @param length 箭头长度 + * @param dir + * @param results + */ + static getArraw(p: GeoPoint, angle: number, length: number, dir: boolean, results?: Array): Array; + static toVertice_Alg1(pts: Array, numArray: Array): Array | undefined; + static toVertice_Alg2(pts: Array, numArray: Array): Array | undefined; + static toVertice_Alg3(pts: Array, numArray: Array): Array | undefined; + static toVertice_Alg4(pts: Array, numArray: Array): Array | undefined; + static toVertice_Alg5(pts: Array, numArray: Array): Array | undefined; + static toVertice_Alg6(pts: Array, numArray: Array): Array | undefined; + static toVertice_Alg7(pts: Array, numArray: Array): Array | undefined; + /** + * @param code 军标码 + * @param positions 控制点集 + */ + static getPositionsByCode(code: string, positions: Array): any; +} + +/// + class BuildGeometry { + private _slice; + private _circlePts; + constructor(); + /** + * 构建单位圆 + * @param slice 被切分的份数 + */ + private buildCircle; + /** + * 计算并且获取单位圆的顶点数组 + * @param slice 单位圆被切分的份数(默认值为60) + */ + getCircleVertex(slice?: number): Cartesian2[]; + /** + * 获取单位圆被切分的份数 + */ + getSlice(): number; + /** + * 创建由Triangle构建的圆geometry对象,一般用于非贴地圆形几何体对象,其primitive中可设置modelMatrix参数 + * @param r 半径 + * @param offsetPos 顶点偏移量(防止包含原点的Triangle绘制不出来,默认值为不偏移) + * @param slice 圆被切分的份数(默认值为60) + */ + createCircleGeometry_Triangles(r: number, offsetPos?: Cesium.Cartesian3, slice?: number): Cesium.Geometry; + /** + * 创建由Triangle构建的圆geometry对象(2D显示专用) + * @param center 圆心点 + * @param r 半径 + * @param slice 圆被切分的份数(默认值为60) + */ + createCircleGeometry2D_Triangles(center: GeoPoint, r: number, slice?: number): Cesium.Geometry; + /** + * 创建圆的多边形geometry对象,一般用于贴地圆形对象的绘制 + * @param r 半径 + * @param m 圆心点位置的变换矩阵(作用是将圆变换到相应的地理位置) + * @param offsetPos 顶点偏移量(防止包含原点的Triangle绘制不出来,默认值为不偏移) + * @param slice 圆被切分的份数(默认值为60) + */ + createCircleGeometry_Polygon(r: number, m: Cesium.Matrix4, offsetPos?: Cesium.Cartesian3, slice?: number): any; + /** + * 创建截圆锥体(上下半径相等时为圆柱体)geometry对象,中心点为底面圆心点 + * @param topRadius 顶部圆半径 + * @param bottomRadius 底部圆半径 + * @param height 高度 + * @param slice 圆被切分的份数(默认值为60) + * @param useNormals 是否计算法线(默认值为true,即计算法线) + */ + createTruncatedConeGeometry(topRadius: number, bottomRadius: number, height: number, slice?: number, useNormals?: boolean): Cesium.Geometry; +} + +/** + * @类别 无需创建,初始化球时自动创建并且与球对应的类
+ * @描述 通用计算类
+ * @see 距离面积计算 + * @see 曲线点集计算 + * + */ + class Calculate { + /** + * 解决控制点跨越180度经度问题,将经度转换为都大于0的值,或者都转换为都小于0的值。 + */ + static modifyControlPoints(controlPoints: Array, result?: Array): GeoPoint[]; + /** + * 将两个坐标系下的位置和姿态叠加,计算叠加后的变换矩阵,最终将变换矩阵转换为经纬高和姿态。 + * 第一个参数是经纬高+三姿态(滚动角、偏航角和俯仰角),WGS84椭球体坐标系 + * 第二个参数是XYZ+三姿态(滚动角、偏航角和俯仰角),局部坐标系 + * 返回object对象{position,heading,pitch,roll} + * ``` + * 示例代码: + * let parent = { + * position: new GV.GeoPoint(114, 32, 10000), + * roll: 5, + * heading: 60, + * pitch: -40 + * }; + * let child = { + * x: 0.5, + * y: -0.2, + * z: -0.8, + * roll: -5, + * heading: 30, + * pitch: 0 + * }; + * let res = Calculate.calculateMatrix(parent, child); + * //将计算的结果应用到cylinderGraphic标绘对象 + * cylinderGraphic.position = res.position; + * cylinderGraphic.heading = res.heading; + * cylinderGraphic.pitch = res.pitch; + * cylinderGraphic.roll = res.roll; + * ``` + */ + static calculateMatrix(parentGesture: any, childGesture: any): { + position: GeoPoint; + heading: number; + pitch: number; + roll: number; + }; + /** + * 将变换矩阵转换为椭球体坐标系下的位置与姿态。 + * 返回object对象{position,heading,pitch,roll} + * ``` + * 示例代码: + * + * ``` + */ + static matrixToHdr(uMMatrix: Cesium.Matrix4): { + position: GeoPoint; + heading: number; + pitch: number; + roll: number; + }; + private static _surfaceDistance; + private static _getAngle; + private static _getBearing; + /** + * 获取点集的空间面积 + * @param geoPoints 点集信息 + * @return + * ``` + * 示例代码: + * let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}] + * let result = GV.Calculate.spaceArea(geoPoints); + * ``` + */ + static spaceArea(geoPoints: Array): number; + /** + * 根据给定的经纬度点坐标,以及距离和方向,计算目标点经纬度 + * @param pt 经纬度点坐标 + * @param distance 距离(单位:米) + * @param bearing 方向值(单位:角度,0度为正北方向,90度为正东方向) + * @return 目标点 + * ``` + * 示例代码: + * let geoPoint = new GeoPoint(120, 26); + * let result = GV.Calculate.rhumbDestination(geoPoint, 3000, 90); + * ``` + */ + static rhumbDestination(pt: GeoPoint, distance: number, bearing: number, options?: { + units: string; + }): GeoPoint; + /** + * 获取点集的贴地面积 + * @param geoPoints 点集信息 + * @return + * ``` + * 示例代码: + * let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}] + * let result = GV.Calculate.groundArea(geoPoints); + * ``` + */ + static groundArea(geoPoints: Array): number; + /** + * 获取点集的贴地距离 + * @param geoPoints 点集信息 + * @param viewer + * @return + * ``` + * 示例代码: + * let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}] + * let result = GV.Calculate.groundDistance(geoPoints); + * ``` + */ + static groundDistance(geoPoints: Array, viewer: Cesium.Viewer): number; + /** + * 获取点集的空间距离 + * @param geoPoints 点集信息 + * @return + * ``` + * 示例代码: + * let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}] + * let result = GV.Calculate.spaceDistance(geoPoints); + * ``` + */ + static spaceDistance(geoPoints: Array): number; + /** + * 获取二次贝塞尔曲线点集坐标 + * @param geoPoints 控制点集信息 + * @param step 点集数量 默认值:100 范围:>=2 && <= 100 + * @return + * ``` + * 示例代码: + * let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}] + * let result = GV.Calculate.getBezier(geoPoints); + * ``` + */ + static getBezier(geoPoints: Array, step?: number): Array; + /** + * 获取抛物线点集坐标 + * @param fromPoint 起始点 + * @param toPoint 终止点 + * @param factor 曲率(抛物线高度)范围:>=1000 && <= 10000000 + * @param step 点集数量 默认值:100 范围:>=2 && <= 100 + * ``` + * 示例代码: + * let result = GV.Calculate.getParabola({lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},50000); + * ``` + */ + static getParabola(fromPoint: GeoPoint, toPoint: GeoPoint, factor: number, step?: number): any[]; + /** + * 判断经纬度点是否在多边形区域内 + * @param point 被判断点 + * @param polygon 多边形区域位置数组 + * @returns + * @see 模拟场景 + */ + static pointInPolygon(point: GeoPoint, polygon: Array): boolean; + /** + * 判断经纬度点是否在圆形区域内 + * @param point 被判断点 + * @param centerPoint 圆心位置点 + * @param radius 圆半径,单位:米 + * @returns + * @see 模拟场景 + */ + static pointInCircle(point: GeoPoint, centerPoint: GeoPoint, radius: number): boolean; + /** + * 判断点是否在直线段上 + * @param point + * @param lineStart 线段起始点 + * @param lineEnd 线段终止点 + * @returns true:在线段上;false:不在线段上 + */ + static pointOnLine(point: GeoPoint, lineStart: GeoPoint, lineEnd: GeoPoint): boolean; + /** + * 获取椭圆点集 + * @param center 中心坐标 + * @param xSemiAxis 长轴 单位:米 + * @param ySemiAxis 短轴 单位:米 + * @param steps 点集数量,取值范围应大于等于4,即至少5个点才能构成椭圆 + * @returns + * @see 多边形交并差 + */ + static getEllipsePositions(center: GeoPoint, xSemiAxis: number, ySemiAxis: number, steps?: number): GeoPoint[]; + /** + * 获取圆形点集 + * @param center 圆心坐标 + * @param radius 圆半径 单位:米 + * @param steps 点集数量 + * @returns + * @see 多边形交并差 + */ + static getCirclePositions(center: GeoPoint, radius: number, steps?: number): GeoPoint[]; + /** + * 计算给定半径和中心点的圆的扇形,位于(顺时针)startAngle和endAngle之间;0方位为中心点以北,顺时针正。 + * @param center 圆心坐标 + * @param radius 圆半径 单位:米 + * @param startAngle 起始角度 + * @param endAngle 终止角度 + * @param steps 整个圆的等分数量,默认为64 + * @returns + */ + static getSectorPositions(center: GeoPoint, radius: number, startAngle?: number, endAngle?: number, steps?: number): GeoPoint[]; + /** + * 获取两个多边形相交区域 + * @param polygon1 多边形点集 + * @param polygon2 多边形点集 + * @returns 多边形的交集或者undefined(没有相交) + * @see 多边形交并差 + */ + static getIntersect(polygon1: Array, polygon2: Array): Array; + /** + * 合并两个多边形区域 + * @param polygon1 多边形点集 + * @param polygon2 多边形点集 + * @returns object对象,格式为{type: 'Polygon', geometry: [[GeoPoint,GeoPoint,...], [GeoPoint,GeoPoint,...], ...]}; + * type属性为'Polygon'表示普通多边形/带洞多边形(geometry的数值长度大于1);type属性为'MultiPolygon'表示有多个多边形 + * @see 多边形交并差 + */ + static getUnion(polygon1: Array, polygon2: Array): { + type: string; + geometry: {}; + }; + /** + * 获取第一个多边形和第二个多边形作差的点集 + * @param polygon1 多边形点集 + * @param polygon2 多边形点集 + * @returns 多边形的差集或者undefined + * @see 多边形交并差 + */ + static getDiffer(polygon1: Array, polygon2: Array): Array; + /** + * 计算两个点的方位角 + * @param point1 位置点 + * @param point2 位置点 + * @return 返回方位角 + */ + static getAngle(point1: GeoPoint, point2: GeoPoint): number; + /** + * 计算两个点的屏幕方位角度 + * @param point1 {x:10,y:10} + * @param point2 {x:20,y:20} + */ + static getScreenAngle(point1: { + x: number; + y: number; + }, point2: { + x: number; + y: number; + }): number; + /** + * 水平面剔除判断 + * @param point 位置点 + * @param viewer + */ + static pointInEarthSide(point: GeoPoint, viewer: GeoCanvas): boolean; + /** + * 获取面中心点,首尾需重合,至少需要4个点 + * @param posArr 位置点,如:[[0.0, 0.0],[20.0, 10.0],[0.0, 33.0],[0.0, 0.0]] + */ + static centerOfMass(posArr: Array>): GeoPoint; + /** + * 多个多边形求并集,多个多边形合到一块,条件不满足则为独立的,返回一个数组 + * @param allPolygon 所有多边形的集合点 + * @param resPolygon 所有多边形的集合点 + * @return resArray Array + */ + static getUnions(originAllPolygon: any, resPolygon?: any): void; +} + +/** + * @类别 无需创建,初始化球时自动创建并且与球对应的类
+ * @描述 Canvas转换成各种图片工具库
+ * @see 场景转换图片 + */ + class Canvas2Image { + private static support; + private static downloadMime; + private static scaleCanvas; + private static getDataURL; + private static saveFile; + private static genImage; + private static fixType; + private static encodeData; + private static getImageData; + private static makeURI; + /** + * create bitmap image + * 按照规则生成图片响应头和响应体 + */ + private static genBitmapImage; + /** + * saveAsImage + * @param canvasElement + * @param {String} image type + * @param {Number} [optional] png width + * @param {Number} [optional] png height + */ + private static saveAsImage; + private static convertToImage; + /** + * 保存为png格式 + * @param canvas dom元素 + * @param {number} width 保存的宽度 + * @param {number} height 保存的高度 + * ``` + * 示例代码: + * const ratio = viewer.canvas.width / viewer.canvas.height; + * const img = GV.Canvas2Image.saveAsPNG(viewer.canvas, 400, 400 / ratio) + * ``` + */ + static saveAsPNG(canvas: Element, width: number, height: number): void; + /** + * 保存为jpeg格式 + * @param canvas dom元素 + * @param {number} width 保存的宽度 + * @param {number} height 保存的高度 + * ``` + * 示例代码: + * const ratio = viewer.canvas.width / viewer.canvas.height; + * const img = GV.Canvas2Image.saveAsJPEG(viewer.canvas, 400, 400 / ratio) + * ``` + */ + static saveAsJPEG(canvas: Element, width: number, height: number): void; + /** + * 保存为gif格式 + * @param canvas dom元素 + * @param {number} width 保存的宽度 + * @param {number} height 保存的高度 + * ``` + * 示例代码: + * const ratio = viewer.canvas.width / viewer.canvas.height; + * const img = GV.Canvas2Image.saveAsGIF(viewer.canvas, 400, 400 / ratio) + * ``` + */ + static saveAsGIF(canvas: Element, width: number, height: number): void; + /** + * 保存为bmp格式 + * @param canvas dom元素 + * @param {number} width 保存的宽度 + * @param {number} height 保存的高度 + * ``` + * 示例代码: + * const ratio = viewer.canvas.width / viewer.canvas.height; + * const img = GV.Canvas2Image.saveAsBMP(viewer.canvas, 400, 400 / ratio) + * ``` + */ + static saveAsBMP(canvas: Element, width: number, height: number): void; + /** + * 转换成png格式 + * @param canvas dom元素 + * @param {number} width 转换后的宽度 + * @param {number} height 转换后的高度 + * @return base64数据 + * ``` + * 示例代码: + * const ratio = viewer.canvas.width / viewer.canvas.height; + * const img = GV.Canvas2Image.convertToPNG(viewer.canvas, 400, 400 / ratio) + * ``` + */ + static convertToPNG(canvas: Element, width: number, height: number): string; + /** + * 转换成jpeg格式 + * @param canvas dom元素 + * @param {number} width 转换后的宽度 + * @param {number} height 转换后的高度 + * @return base64数据 + * ``` + * 示例代码: + * const ratio = viewer.canvas.width / viewer.canvas.height; + * const img = GV.Canvas2Image.convertToJPEG(viewer.canvas, 400, 400 / ratio) + * ``` + */ + static convertToJPEG(canvas: Element, width: number, height: number): string; + /** + * 转换成gif格式 + * @param canvas dom元素 + * @param {number} width 转换后的宽度 + * @param {number} height 转换后的高度 + * @return base64数据 + * ``` + * 示例代码: + * const ratio = viewer.canvas.width / viewer.canvas.height; + * const img = GV.Canvas2Image.convertToGIF(viewer.canvas, 400, 400 / ratio) + * ``` + */ + static convertToGIF(canvas: Element, width: number, height: number): string; + /** + * 转换成bmp格式 + * @param canvas dom元素 + * @param {number} width 转换后的宽度 + * @param {number} height 转换后的高度 + * @return base64数据 + * ``` + * 示例代码: + * const ratio = viewer.canvas.width / viewer.canvas.height; + * const img = GV.Canvas2Image.convertToBMP(viewer.canvas, 400, 400 / ratio) + * ``` + */ + static convertToBMP(canvas: Element, width: number, height: number): string; + /** + * 转换成svg格式 + * @param canvas dom元素 + * @return 转换后的svg字符串 + * ``` + * 示例代码: + * const svgStr = GV.Canvas2Image.convertToSvg(viewer.canvas) + * ``` + */ + static convertToSvg(canvas: HTMLCanvasElement): string; + /** + * 通过地址下载图片 + * @param src 资源路径 + * @param fileName 文件名字如(局部高清影像.jpeg) + */ + static downloadImg(src: string, fileName: string): void; +} + +/** + * @类别 无需创建,初始化球时自动创建并且与球对应的类
+ * @描述 通用检测类
+ */ + class Check { + /** + * 检查参数是否为布尔值 + * @param value 被检测对象 + * @return 返回值true or false + * ``` + * 示例代码: + * let res = GV.Check.isBoolean(false); + * ``` + */ + static isBoolean(value: any): boolean; + /** + * 检查参数是否为json对象 + * @param value 被检测对象 + * @return 返回值true or false + */ + static isJson(value: any): boolean; + /** + * 判定是否为字符串 + * @param value 被检测对象 + * @return 返回值true or false + */ + static isString(value: any): boolean; + /** + * 判定是否为数值 + * @param value 被检测对象 + * @return 返回值true or false + */ + static isNumber(value: any): boolean; + /** + * 判定参数是否为数组 + * @param value 被检测对象 + * @return 返回值true or false + */ + static isArray(value: any): boolean; + /** + * 判断字符串是否为十六进制颜色。 + * @param value 被检测对象 + * @return 返回值true or false + */ + static isCssColor(value: any): boolean; +} + +/** + * @类别 颜色配置表类 + * @描述 提供颜色渐变色带生成 + */ + class ColorTable { + static colorRgb(sColor: any): any; + static colorHex(rgb: any): any; + /** + * @name: 获取颜色带 + * @msg: 暂仅支持hex颜色格式 + * @param {startColor} String 开始颜色hex格式 + * @param {endColor} String 结束颜色hex格式 + * @param {step} Number 几个阶级(几步) + * @return Array + */ + static getColorRamp(startColor: String, endColor: String, step: number): Array; + /** + * @name: rgb颜色转换 + * @param {color} String rgb格式 + * @return String + */ + static colorRGBtoHex(color: any): String; +} + +/** + * @类别 外部使用类 + * @描述 高清制图工具 + * @see 高清制图 + */ + class CompoundImage { + /** + * 捕捉深度:范围 2或3 + */ + private static _level; + /** + * 目标制图 dpi + */ + private static _dpi; + /** + * @ignore + * 记录需要临时改变的标绘 + * */ + private static _originItem; + /** + * @ignore + * 球的对象 + * */ + private static viewer; + /** + * @ignore + * 制图时的捕捉方法 + * */ + private static _doCaptcher; + /** + * @ignore + * 高清制图的 base64 结果未处理压缩的资源 + * */ + private static _originSrc; + /** + * @ignore + * 选择起始位置所形成的地理经纬坐标 + */ + private static _selectGeoPoint; + /** + * @ignore + * 高清制图的 base64 结果 + * */ + private static _resSrc; + /** + * @ignore + * 是否正在制图中 + * */ + private static _isDoingCaptcher; + /** + * @ignore + * 自动截图时的计时器 + * */ + private static _autoTimer; + /** + * @ignore + * 自动截图时每次等待的时间 + */ + private static _delay; + /** + * @ignore + * 本静态工具类的 Promise 的 resolve 方法,reject 方法 + */ + private static resolve; + private static reject; + /** + * @ignore + * @param hdvImageOpt + * 出图的结果数据包 + */ + private static hdvImgData; + /** + * 开始进行高清截图 + * @param hdvImageOpt 参数选项 + * @描述 传入参数选项后将进行自动截图并合成,返回对象为 Promise,最终结果为处理后的 base64,任意时刻仅能同时执行1个任务 + * 示例代码: + * ``` + * let imgPromise = GV.CompoundImage.createHDVImage({ + * viewer: viewer, + startPoint: [10,10] + endPoint:[100, 100] + * }) + * if(imgPromise){ + * imgPromise + * .then(img => { + // img 为 base64 结果 + }).catch(()=>{ + alert('异常中断或停止制图~') + }) + * } + * ``` + */ + static createHDVImage(hdvImageOpt: HDVImageOption): Promise; + /** + * @描述 制图工具进入制图状态,两点确定一个矩形范围,开始截取范围内的高清图片并合成,输入屏幕坐标后进行范围检测,此过程消耗时间较长,只为解决标绘的比例问题;调用该方法后如需自动模式请调用 autoCaptcher 方法选择传入延迟参数,如需自定义进行捕捉动作则调用 next 方法。当捕捉完毕高清合成后自动调用回调函数返回结果 + * @param startX 起始屏幕 x 坐标 + * @param startY 起始屏幕 y 坐标 + * @param endX 终点屏幕 x 坐标 + * @param endY 终点屏幕 y 坐标 + * ``` + * 示例代码: + * compond.start(10,50,100,200,(imgSrc)=>{ + * // imgSrc 取到高清制图结果的 base64 + * console.log(imgSrc) + * }) + * ``` + */ + private static start; + /** + * @ignore + * @param { + * src: Array, 图片资源,必选 + * width: number, 容器宽度,必选 + * height: number, 容器高度,必填 + * picWidth: number, 图片高度,必填 + * picHeight: number,图片宽度,选填 + * } options + * @param {Function} callback 回调函数,传入的参数是合成后的 img base64 + * + * @notes : 根据提供的资源融合成一个大的图片 + */ + private static _pictureFuse; + /** + * @描述 在制图状态开启时:非自动捕捉情况下,调用该方法进行下一个动作的捕获 + */ + private static next; + /** + * @描述 进行自动捕捉截图 + * @param delay 捕捉截图下一次的延迟时间 + */ + private static autoCaptcher; + /** + * @描述 结束当前截图状态 + */ + static stop(): void; + /** + * @ignore + * @描述 恢复部分标绘状态 + */ + private static _recoverItem; +} +/** + * 高清制图的导出数据包 + */ + class HDVImageData { + /** + * 处理结果后的目标图 base64 + */ + image: string; + /** + * 原合成后的图片结果 + */ + originImg: string; + /** + * 目标图的宽 + */ + width: number; + /** + * 目标图的高 + */ + height: number; + /** + * 目标图的 dpi + */ + dpi: number; + /** + * 矩形区域的西经南纬东经北纬 + */ + rectangle: Array; + /** + * 矩形区域的起始经纬度 + */ + selectGeoPoint: Array; +} + class HDVImageOption { + /** + * 目标画布 + */ + viewer: GeoCanvas; + /** + * 起始屏幕坐标 [x,y] -> [0,0] + */ + startPoint: Array; + /** + * 终点屏幕坐标 [x,y] -> [0,0] + */ + endPoint: Array; + /** + * 截图深度,范围内横向截取 2^n 数,默认 2 + */ + level?: number; + /** + * 用于根据实际框选的尺寸获取最终目标 dpi 对应的像素,默认 96 + */ + dpi?: number; + /** + * 每拍摄时将等待下一次的时间 ms + */ + delay?: number; +} + + class encryptUtil { + static Decrypt(word: any): any; + static Encrypt(word: any): any; + static IsValidDate(str: any): boolean; +} + +/** + * 第一人称控制器 + */ + class FirstPersonControl { + private startTime; + private endTime; + private currentTime; + private pathArr; + private viewer; + private samplePtProperty; + private handler; + private mousePosition; + private startMousePosition; + private mouseFlag; + private duration; + private dtTime; + /** + * 初始化 + * @param viewer + * @param path 路径点 + * @param duration 时长 单位分 + */ + constructor(viewer: Cesium.Viewer, path: Array, duration?: number); + /** + * 初始化 + */ + private init; + /** + * 计算摄像机初始位置及参数 + * 说明:为防止camera.flyTo等异步方法造成计算摄像机初始姿态错误,异步方法结束后可执行此方法更新 + */ + calculateCamera(): void; + /** + * 键盘、鼠标控制摄像机 + */ + private controlCamera; + private getFlagForKeyCode; + /** + * 更新 + */ + private update; + /** + * 清除控件,清除后视角飞回{lon:104, lat:33, alt:15139621}地区 + */ + clear(): void; +} + +/** + * @类别 需要用户创建的类 + * @描述 GeoPoint经纬度坐标对象
+ * 提供了经纬度坐标系和各种坐标系之间的相互转换 + */ + class GeoPoint { + /** + * 经度 + */ + lon: number; + /** + * 维度 + */ + lat: number; + /** + * 高度 + */ + alt?: number; + constructor(lon: number, lat: number, alt?: number); + toJson(): number[]; + add(p: GeoPoint): void; + subtract(p: GeoPoint): void; + multiply(v: number): void; + normalize(): void; + static add(p1: GeoPoint, p2: GeoPoint, res?: GeoPoint): GeoPoint; + static subtract(p1: GeoPoint, p2: GeoPoint, res?: GeoPoint): GeoPoint; + static multiply(p: GeoPoint, v: number, res?: GeoPoint): GeoPoint; + private static _transformlat; + private static _transformlng; + /** + * Cartesian3坐标转GeoPoint(经纬度)坐标 + * @param Cart3Point + * @return + * ``` + * 示例代码: + * let geoPoint = GV.GeoPoint.fromCartesian3(new Cesium.Cartesian3(8065, 3650, 150000)) + * ``` + */ + static fromCartesian3(Cart3Point: Cesium.Cartesian3): GeoPoint; + /** + * GeoPoint(经纬度)坐标转Cartesian3坐标 + * @param geoPoint + * @return + * ``` + * 示例代码: + * let cart3 = GV.GeoPoint.toCartesian3({lon:80,lat:40,alt:50000}) + * ``` + */ + static toCartesian3(geoPoint: GeoPoint): Cesium.Cartesian3; + /** + * 墨卡托坐标转GeoPoint(经纬度)坐标 + * @param x + * @param y + * @return + * ``` + * 示例代码: + * let geoPoint = GV.GeoPoint.fromMercator(8905559.263461886, 4865942.279503175) + * ``` + */ + static fromMercator(x: number, y: number): GeoPoint; + /** + * GeoPoint(经纬度)坐标转墨卡托坐标 + * @param geoPoint + * @return + * ``` + * 示例代码: + * let mct = GV.GeoPoint.toMercator({lon:80,lat:40,alt:50000}) + * ``` + */ + static toMercator(geoPoint: GeoPoint): object; + /** + * 屏幕坐标转GeoPoint(经纬度)坐标(注:屏幕坐标范围必须在地球显示范围内) + * @param x 屏幕x轴坐标 + * @param y 屏幕y轴坐标 + * @param viewer + * @return + * ``` + * 示例代码: + * let mct = GV.GeoPoint.fromScreen(50,40,viewer) + * ``` + */ + static fromScreen(x: number, y: number, viewer: Cesium.Viewer): GeoPoint; + /** + * GeoPoint(经纬度)坐标转屏幕坐标 + * @param geoPoint + * @param viewer + * @return + * ``` + * 示例代码: + * let cart2 = GV.GeoPoint.toScreen({lon:8,lat:40,alt:5000},viewer) + * ``` + */ + static toScreen(geoPoint: GeoPoint, viewer: Cesium.Viewer): Cesium.Cartesian2; + /** + * 火星坐标转GeoPoint(经纬度)坐标 + * @param gcjPoint {x:y:} + * @return + * ``` + * 示例代码: + * let geoPoint =  GV.GeoPoint.fromGCJ02({x:8.013949658676198, y:39.99879386130122}) + * ``` + */ + static fromGCJ02(gcjPoint: any): GeoPoint; + /** + * GeoPoint(经纬度)坐标转火星坐标 + * @param geoPoint + * @return + * ``` + * 示例代码: + * let gcj = GV.GeoPoint.toGCJ02({lon:8,lat:40,alt:5000}); + * ``` + */ + static toGCJ02(geoPoint: GeoPoint): object; + /** + * geoPoint转换成数组 + * @param geoPoint 点信息 + * @return + * ``` + * 示例代码: + * let res = GV.GeoPoint.pack({lon:8,lat:40,alt:5000}) + * ``` + */ + static pack(geoPoint: GeoPoint): Array; + /** + * 数组转换成geoPoint + * @param arr 数组信息 + * @return + * ``` + * 示例代码: + * let res = GV.GeoPoint.unpack([50,45,1555]) + * ``` + */ + static unpack(arr: any): GeoPoint; + /** + * 批量geoPoint转换成数组 + * @param geoPoints 点数组信息 + * @return + * ``` + * 示例代码: + * let res = GV.GeoPoint.packArray([{lon:8,lat:40,alt:5000},{lon:45,lat:30,alt:55}]) + * ``` + */ + static packArray(geoPoints: Array): Array>; + /** + * 批量数组转换成geoPoint + * @param arr 数组信息 + * @return + * ``` + * 示例代码: + * let res = GV.GeoPoint.unpackArray([[50,45,1555],[22,54,4545]]) + * ``` + */ + static unpackArray(arr: any): Array; + /** + * 判断经纬坐标点是否相等 + * @param point1 + * @param point2 + */ + static isEqual(point1: GeoPoint, point2: GeoPoint): boolean; + /** + * 判断经纬坐标数组是否相等 + * @param arr1 + * @param arr2 + */ + static isEqualArr(arr1: Array, arr2: Array): boolean; + /** + * 深度复制 + */ + static clone(point: GeoPoint, res?: GeoPoint): GeoPoint; + /** + * 度转度分秒 + * @param value + */ + private static _formatDegree; + /** + * 度分秒转度数 + * @param value + */ + private static _degreeConvertBack; + /** + * 度转换度分秒 + * @param point + */ + static formatDegree(point: GeoPoint): FormatGeoPoint; + static degreeConvertBack(value: FormatGeoPoint): GeoPoint; +} +/** + * 度分秒形势表示坐标 + */ + class FormatGeoPoint { + /** + * 经度 + */ + lon: { + direction: string /**方位 west 或 east*/; + degrees: number /**度 */; + minutes: number /**分 */; + seconds: number; /**秒 */ + }; + /** + * 纬度 + */ + lat: { + direction: string /**方位 south 或 north*/; + degrees: number /**度 */; + minutes: number /**分 */; + seconds: number; /**秒 */ + }; +} +/** + * 创建标绘的偏移量,x/y的值为偏移的像素值或百分比,如果是数字则按像素处理 + */ + let ViewOffset: { + x: number | string; + y: number | string; +}; +/** + * @ignore + * @description: 获取偏移后的坐标 + * @param {number} pos 位置像素 + * @param {string} axis 坐标轴 "x"、"y" + * @return {number} 位置像素 + */ + function getOffsetedPosition(pos: number, axis: string): number; + +/** + * @类别 需要用户创建的类 + * @描述 提供路径回调函数 + */ + class Path { + private _id; + private _callback; + private _pathPositions; + private _startTime; + private posProperty; + private _endTime; + private _onStop; + private _doneStopAction; + private _actions; + private _viewer; + private _pathManager; + constructor(viewer: Cesium.Viewer | GeoCanvas, startTime?: Cesium.JulianDate); + readonly id: string; + /** + * @name: 设置开始时间 + * @msg: + * @param {JulianDate} startTime + * @return {*} + */ + startTime: Cesium.JulianDate; + readonly endTime: Cesium.JulianDate; + /** + * 设置关键点 + */ + pathPositions: Array<{ + point: GeoPoint; + time: number; + }>; + pathManager: PathManager; + /** + * 动画结束事件 + * 说明:当动画结束时要执行的回调函数,一个动画只会调用一次结束动作 + */ + onStop: any; + private _init; + pathFun: (currentTime: any) => void; + /** + * @name: 绑定相机 + * @msg: + * @param {*} + * @return {*} + */ + bindCamera(action: Action["cameraMove"]): void; + /** + * @name: 绑定图形 + * @msg: + * @param {*} graphic // 绑定的图形对象 + * @param {*} relativePosParam // 相对位置参数 + * @param {*} action // 绑定的图形对象所要执行的动作 + */ + bindGraphic(graphic: any, relativePosParam: RelativePosParam, action: Action): void; + private _addAction; + private _doAction; + /** + * @name: 动态改变像素 + * @msg: + * @param {*} action 动作对象 + * @param {*} pixelSizeParam 图形的像素参数 + * @return {*} + */ + private _changePixelSize; + /** + * @name: 修改透明度 + * @msg: 暂仅支持rgba颜色格式 + * @param {*} action 动作对象 + * @param {*} diluteParam 图形的透明度参数 + * @return {*} + */ + private _changeTransparent; + /** + * @name: 解析rgb字符串 + * @msg: + * @param {*} + * @return {*} + */ + private _parseRGB; + /** + * 设置回调函数 + */ + callback: Function; +} +/** + * @name: 相对位置 + */ + interface RelativePosParam { + x: number; + y: number; + z: number; + heading: number; + pitch: number; + roll: number; +} +/** + * @name: 动作 + */ + interface Action { + cameraMove?: { + startTime?: number; + endTime?: number; + operation?: string; + isTrack?: boolean; + relativePosParam?: any; + callback?: Function; + }[]; + pixelSize?: { + startTime?: number; + endTime?: number; + graphic?: any; + operation?: string; + factor?: number; + }[]; + visible?: { + startTime?: number; + endTime?: number; + graphic?: any; + operation?: string; + frequency?: number; + }[]; + dilute?: { + startTime?: number; + endTime?: number; + graphic?: any; + operation?: string; + factor?: number; + }[]; + move?: { + startTime?: number; + endTime?: number; + graphic?: any; + operation?: string; + relativePosParam?: any; + moveCallback?: Function; + }[]; +} + + class PathManager { + private _state; + private _pathCollection; + private _startTime; + private _endTime; + private _tickListener; + private _clock; + private _multiplier; + private _viewer; + private _stopCallBack; + private _startCallBack; + private _pauseCallBack; + private _runCallBack; + constructor(viewer: any); + speed: number; + addPath(path: Path): void; + delPath(path: Path): void; + clearPaths(): void; + start(): void; + pause(): void; + reStart(): void; + stop(): void; + setStartCallBack(startCallBack: any): void; + setPauseCallBack(pauseCallBack: any): void; + setRunCallBack(runCallBack: any): void; + setStopCallBack(stopCallBack: any): void; + private _listenerFun; + private _removeTickListener; + calcTimeBound(): void; +} +/** + * 动画执行状态 + */ + enum PathsStateEnum { + /** + * 未开始 + */ + NotStart = "notstart", + /** + * 正在运行 + */ + Start = "start", + /** + * 暂停 + */ + Pause = "pause", + /** + * 停止 + */ + Stop = "stop", + /** + * 重新运行 + */ + ReStart = "restart" +} + enum PathModeEnum { + /** + * 重复 + */ + Loop = "loop", + /** + * 一次 + */ + Single = "single" +} + + class Picking { + private _viewer; + private scratchPerspectiveFrustum; + private scratchPerspectiveOffCenterFrustum; + private scratchOrthographicFrustum; + private scratchOrthographicOffCenterFrustum; + private scratchPerspPickingFrustum; + private scratchOrthoPickingFrustum; + private scratchOrthoDirection; + constructor(viewer: Cesium.Viewer); + getPickOrthographicCullingVolume(scene: any, drawingBufferPosition: any, width: any, height: any, viewport: any): any; + getPickPerspectiveCullingVolume(scene: any, drawingBufferPosition: any, width: any, height: any, viewport: any): Cesium.CullingVolume; + getPickCullingVolume(scene: any, drawingBufferPosition: any, width: any, height: any, viewport: any): any; + renderTranslucentDepthForPick(scene: any, drawingBufferPosition: any): void; + /** + * 根据屏幕坐标拾取世界坐标(对开启深度测试的标绘对象有效,对关闭深度测试的标绘对象无效,本接口返回undefined值) + * @param x + * @param y + */ + pickCoordinate(x: number, y: number): any; + /** + * 根据屏幕坐标拾取地理坐标,即经纬高坐标(对开启深度测试的标绘对象有效,对关闭深度测试的标绘对象无效,本接口返回undefined值) + * @param x + * @param y + */ + pickGeoPoint(x: number, y: number): GeoPoint; +} + +/** + * @private + */ + class DateHelper { + static toggleTime(date: Date): string; + static toggleTimeIso(date: Date): string; + static addDate(date: Date, days: any): string; + static getFormatDate(arg: any): string; + static getStrNow(): string; + static getStr(date: Date): string; + private static getTodayZeroDate; + private static getTodayMaxDate; + static getTodayStartStr(): string; + static getTodayEndStr(): string; + static getTomorrowStartStr(): string; + static getTomorrowEndStr(): string; + static getWeekStartStr(): string; + static getWeekEndStr(): string; + static getMonthStartStr(): string; + static getMonthEndStr(): string; + static getYearStartStr(): string; + static getYearEndStr(): string; + static getDate15(): Date; + static getDate60(): Date; + static getDate120(): Date; + static addSecond(data: Date, ss: number): Date; + static addMinutes(data: Date, MM: number): Date; +} + +/** + * 算法类 + */ +class GxMath { + /** + * 计算两个点的方位角 + * @param x1 + * @param y1 + * @param x2 + * @param y2 + * @return 返回方位角 + */ + static calculateAngle(x1: any, y1: any, x2: any, y2: any): number; + /** + * 根据卫星根数,计算获得卫星周期(单位:分钟) + * @param tle1 卫星根数1,例如:'1 25544U 98067A 13149.87225694 .00009369 00000-0 16828-3 0 9031' + * @param tle2 卫星根数2,例如:'2 25544 051.6485 199.1576 0010128 012.7275 352.5669 15.50581403831869' + */ + static calculatePeriod(tle1: string, tle2: string): number; + /** + * 计算一个周期内的卫星ECI坐标(闭合的圆) + * @param beginTime 起始时间 + * @param tle1 卫星根数1,例如:'1 25544U 98067A 13149.87225694 .00009369 00000-0 16828-3 0 9031' + * @param tle2 卫星根数2,例如:'2 25544 051.6485 199.1576 0010128 012.7275 352.5669 15.50581403831869' + * @param period 时长(单位:分钟),默认值为一个周期时长 + * @param cnt 采样点个数 + */ + static calculateOrbitEci(beginTime: Date, tle1: string, tle2: string, period?: number, cnt?: number): Array; + /** + * 获取卫星在某一时间点的Eci位置 + * @param t 时间 + * @param tle1 卫星根数1,例如:'1 25544U 98067A 13149.87225694 .00009369 00000-0 16828-3 0 9031' + * @param tle2 卫星根数2,例如:'2 25544 051.6485 199.1576 0010128 012.7275 352.5669 15.50581403831869' + */ + static getEciPosition(t: Date, tle1: string, tle2: string): Cesium.Cartesian3; + /** + * 计算一个周期内的卫星ECF坐标(非闭合的圆) + * @param beginTime 起始时间 + * @param tle1 卫星根数1,例如:'1 25544U 98067A 13149.87225694 .00009369 00000-0 16828-3 0 9031' + * @param tle2 卫星根数2,例如:'2 25544 051.6485 199.1576 0010128 012.7275 352.5669 15.50581403831869' + * @param period 时长(单位:分钟),默认值为一个周期时长 + * @param cnt 采样点个数 + */ + static calculateOrbitEcf(beginTime: Date, tle1: string, tle2: string, period?: number, cnt?: number): Array; + /** + * 获取卫星在某一时间点的Ecf位置 + * @param t 时间 + * @param tle1 卫星根数1,例如:'1 25544U 98067A 13149.87225694 .00009369 00000-0 16828-3 0 9031' + * @param tle2 卫星根数2,例如:'2 25544 051.6485 199.1576 0010128 012.7275 352.5669 15.50581403831869' + */ + static getEcfPosition(t: Date, tle1: string, tle2: string): Cesium.Cartesian3; + /** + * 计算一个周期内的卫星地理坐标(经纬高) + * @param beginTime 起始时间 + * @param tle1 卫星根数1,例如:'1 25544U 98067A 13149.87225694 .00009369 00000-0 16828-3 0 9031' + * @param tle2 卫星根数2,例如:'2 25544 051.6485 199.1576 0010128 012.7275 352.5669 15.50581403831869' + * @param period 时长(单位:分钟),默认值为一个周期时长 + * @param cnt 采样点个数 + */ + static calculateOrbitGeodetic(beginTime: Date, tle1: string, tle2: string, period?: number, cnt?: number): Array; + /** + * 获取卫星在某一时间点的地理位置 + * @param t 时间 + * @param tle1 卫星根数1,例如:'1 25544U 98067A 13149.87225694 .00009369 00000-0 16828-3 0 9031' + * @param tle2 卫星根数2,例如:'2 25544 051.6485 199.1576 0010128 012.7275 352.5669 15.50581403831869' + */ + static getGeoPosition(t: Date, tle1: string, tle2: string): GeoPoint; + /** + * 根据笛卡尔坐标换算经度 + * @param cartesian3 + * @param viewer + */ + static getLongitudeByCartesian3(cartesian3: Cesium.Cartesian3, viewer: Cesium.Viewer): number; + /** + * 根据笛卡尔坐标换算维度 + */ + static getLatitudeByCartesian3(cartesian3: Cesium.Cartesian3, viewer: Cesium.Viewer): number; + /** + * 根据笛卡儿直角坐标算高度 + */ + static getHeightByCartesian3(cartesian3: Cesium.Cartesian3, viewer: Cesium.Viewer): number; + /** + * 根据设置高度返回笛卡尔坐标 + * @param cartesian3 + * @param height + */ + static getHeightdefineByXYZ(cartesian3: Cesium.Cartesian3, height: number, viewer: Cesium.Viewer): Cesium.Cartesian3; + /** + * 转换屏幕坐标(来自于鼠标的各种event)为地理坐标 + * @param {screen position from mouse} screenPos + * @private + */ + static screen2lonlat(screenPos: any, viewer: any): number[]; + /** + * 转换地理坐标到cesium cartesian + * @param {地理坐标} lonlat + * @param {高度值} height + * @private + */ + static lonlat2Cartesian(lonlat: any, height?: number): Cesium.Cartesian3; + /** + * + * @private + */ + static lonlathei2Cartesian(lonlathei: any): Cesium.Cartesian3; + /** + * + * @private + */ + static cartesian2lonlat(cartesian: any): number[]; + /** + * + * @private + */ + static screen2Cartesian(screenPos: any, height: number, viewer: any): Cesium.Cartesian3; + /** + * @param {* java script date} date + * @Return iso8601 date string like 2012-04-30T12:00:00Z + * @private + */ + static dateToString(date: any): string; + /** + * 将date日期转换为Julian日期对象,如果date为空,则获取当前时间 + * @param {JulianDate} date + * @private + */ + static julianDate(date?: any): Cesium.JulianDate; + /** + * @private + * @param cart1 + * @param cart2 + */ + static distance(cart1: any, cart2: any): number; + /** + * + * @private + */ + static cartesian2turfPoint(cartesian: any): any; + /** + * + * @private + */ + static turfGeometry2Cartesians(g: any, height?: number): any; + /** + * + * @private + */ + static deleteEnts(ents: any, viewer: any): void; +} + + class SpecularReflection { + private viewer; + private value; + constructor(viewer: Cesium.Viewer); + remove(): void; + add(): void; + destroy(): void; + enabled: Boolean; + static fragmentShader: string; +} + + class StatusCheck { + static licTimer: any; + static licDom: any; + private static getData; + static start(): Promise; + private static iekey; + static checkFalse(): void; + private static createDom; + static startWebSocket(timeout?: number): Promise; + static isDecodeSuccess(key: any): boolean; +} + + class EarthTheme { + /** + * @name: 获取底图主题 + * @msg: + * @param {string} url xyz瓦片地址 + * @return {*} + */ + static getTheme(url?: string): Cesium.UrlTemplateImageryProvider; +} + class SkyboxTheme { + /** + * @name: 获取天空盒子 + * @msg: 天空盒子命名规则PositiveX、NegativeX、PositiveY、NegativeY、PositiveZ、NegativeZ,如果为高清图则加上hd_前缀 + * @param {string} url 天空盒子基础路径 + * @param {boolean} isHD 是否为高清图 + * @param {string} format + * @return {*} + */ + static getSkyBox(url?: string, isHD?: boolean, format?: string): Cesium.SkyBox; +} + +/** + * @类别 无需创建,初始化球时自动创建并且与球对应的类 + * @描述 通用基础方法集 + */ + class Util { + /** + * 传入相对于GEOVIS.web.js的相对路径获得完整资源路径 + * @param url 相对与GEOVIS.web.js路径 + * @return 完整路径 + * ``` + * 示例代码: + * let url = GV.Util.formatUrlByBaseJs('./data.png') + * ``` + */ + static formatUrlByBaseJs(url: string): string; + private static getBaseUrlFromGEOVISScript; + /** + * 生成唯一的随机id + * @return + */ + static createGuid(): string; + /** + * 返回默认参数 + * @param a + * @param b + */ + static defaultValue(a: any, b: any): any; + /** + * 路径拼接根据原始路径及原始路径的相对路径获得完整路径 + * @param originPath 原始路径 + * @param file 原始路径的相对路径 + */ + static formatURLByCustom(originPath: string, file: string): string; + /** + * 路径拼接获得当前html的原始路径与相对路径拼接获得完整路径 + * @param file 相对于html的相对路径 + */ + static formatURL(file: string): string; + /** + * 同步获取text + * @param path + */ + static syncGetText(path: any): string; + /** + * 同步获取json数据 + */ + static syncGetJson(path: any): any; + static formatURL2(originPath: any, file: any): any; + /** + * 将html标签转成canvas + * @param container html容器 + * @param option 配置 + * @param callback 反馈 + */ + static html2canvas(container: any, option: any, callback?: any): void; + /** + * 将EPSG:3857坐标转换为EPSG:4326坐标系下坐标 + * @param x + * @param y + */ + static epsg3857To4326(x: any, y: any): any; + /** + * 将EPSG:4326坐标转换为EPSG:3857坐标系下坐标 + * @param lon 经度(degree) + * @param lat 维度(degree) + */ + static epsg4326To3857(lon: any, lat: any): any; + /** + * 根据地理编码获取范围 + * @param {Number} x The tile X coordinate. + * @param {Number} y The tile Y coordinate. + * @param {Number} level The tile level. + * @returns {Cesium.Rectangle} the area Cartographic position + */ + static getRectangleFromcode(level: any, x: any, y: any): Cesium.Rectangle; + /** + * 根据地理编码获取范围 + * @param viewer + * @param {Cartesian} mousePos The screen positon + * @returns {object} the area Cartographic position + * { + "level": 5, + "x": 2, + "y": x, + "resolution":"9公里" + + } + */ + static getCodeFromScreenPosition(viewer: any, mousePos: any): { + "level": number; + "x": number; + "y": number; + "resolution": any; + }; + /** + * 前置整数 + */ + static PrefixInteger(num: any, n: any): string; + /** + * 计算某地理坐标一定距离和角度的地理坐标 + * @param {number} lon The geoposition of longitude,in degreee + * @param {number} lat The geoposition of latitude,in degreee + * @param {number} height + * @param {number} dis The distance to the geoposition + * @param {number} angel The angle to the north,in degreee + * @returns {object} the new geoposition ,in degree + * { + "lon": 120.0, + "lat": 30.0 + } + */ + static calculateNewGeoposition(viewer: any, lon: any, lat: any, height: any, dis: any, angel: any): { + "lon": number; + "lat": number; + }; + /** + * @描述 将高清制图画到球上 + * @param viewer 目标的球 + * @param src 上球图片的资源 + * @param rectangle 可选,为上球的矩形范围 [西经,南纬,东经,北纬],如果资源为高清导出的图片,无需填写。 + * @returns 返回结果为 Promise 对象,成功结果为 ImageryProvider 图层 + */ + static drawImgToEarth(viewer: any, src: string, rectangle?: Array): Promise; + private static _drawOriginImgToEarth; + /** + * @描述 获取两点与地形的交点 + * @param viewer 目标的球 + * @param fromPosition 起点 + * @param toPosition 终点 + * @returns 返回结果为相交点,如果没有相交点,返回undefined + */ + static intersectionWithTerrain(viewer: Cesium.Viewer, fromPosition: Cesium.Cartesian3, toPosition: Cesium.Cartesian3): Cesium.Cartesian3; + /** + * 判断坐标点是否可见(支持二三维) + * @param point 坐标点 + * @param viewer 球 + * @return boolean 可见为 true + */ + static pointIsVisible(point: GeoPoint, viewer: Cesium.Viewer): boolean; + /** + * 计算数值保留指定小数位的对应精度值 + * @param v 数值 + * @param decimal 小数位数 + */ + static getPrecision(v: number, decimal?: number): number; + /** + * 将请求的PBF ArrayBuffer 代码解析成GeoJSON数组数据 + * @param data PBF ArrayBuffer 类型 + */ + static getGeoJSONFromPbf(data: any, level: any, x: any, y: any): any; + /** + * GET方式获取地址 + * @param url 服务地址 + * @param data 数据 + */ + static get(url: string): Promise; + /** + * POST方式获取地址 + * @param url 服务地址 + * @param data 数据 + */ + static post(url: string, data: object): Promise; + /** + *@ignore + */ + private static getCGCSArea; + /** + * 根据全国20个子版块的欧拉矢量模型计算基于CGCS2000的每年改正数 + * * @param viewer 球 + * @param lon {number} 经度 + * @param lat {number} 纬度 + * @returns {object} 返回每年修正后的笛卡尔坐标改正量,单位:米 + * { + "dx": 0.03, + "dy": 0.01, + "dz": 0.01 + + } + */ + static toCGCS000(viewer: Cesium.Viewer, lon: number, lat: number): { + "dx": number; + "dy": number; + "dz": number; + }; + /** + * 判断多边形是否为凸多边形 + * @param posArray 多边形数组 + * @returns {number} 返回值:1为凸多边形, -1为凹多边形,0为其他 + */ + static isConvex(posArray: Array): 0 | 1 | -1; + /** + * @ignore + * 聚合算法 + */ + static clustering: any; +} + +/** + * @类别 需要用户创建的类 + * @描述 视角点 + */ + class ViewPoint { + /** + * 经度 + */ + lon: number; + /** + * 纬度 + */ + lat: number; + /** + * 高度 + */ + alt: number; + /** + * 顺/逆时针旋转角度 范围: >=0 && <=360 (如果为负值会转换成相对应的正向角度数,如:-30 =》 330) + */ + heading: number; + /** + * 俯仰 范围:>=-90 && <=90 + */ + pitch: number; + /** + * 旋转 范围:>=0 && <=360 + */ + roll: number; + constructor(lon: number, lat: number, alt?: number, heading?: number, pitch?: number, roll?: number); + /** + * viewPoint转换成数组 + * @param viewPoint 视角点 + * @return + * ``` + * 示例代码: + * let viewPoint = new GV.ViewPoint(100,20,500000) + * let pack = GV.ViewPoint.pack(viewPoint) + * ``` + */ + static pack(viewPoint: any): Array; + /** + * 数组转换成viewPoint + * @param arr 数组 + * @return + * ``` + * 示例代码: + * let arr = [100,20,500000,-90,0,0] + * let pack = GV.ViewPoint.unpack(arr) + * ``` + */ + static unpack(arr: any): ViewPoint; +} + +/** + * @类别 无需创建,初始化球时自动创建并且与球对应的类
+ * @描述 GEOVIS Camera 视口操作器
+ * 提供了视口操作的通用接口,支持绕点旋转定位飞行等功能
+ * @see 旋转 + * @see 缩放 + * @see 原地观测 + * @see 俯仰 + * @see 视角飞行 + * @see 绕点观测 + * @see 视角飞回 + */ + class Camera { + private _viewer; + private _viewPoint; + private _home; + private _moveEnd; + private _moveStart; + private _changed; + private _timeExection; + /** + * 在创建GeoCanvas后通过viewer.iCamera调用 + * ``` + * 示例代码 + * let viewer = new GV.GeoCanvas('geoCanvas') + * viewer.iCamera + * ``` + */ + constructor(viewer: GeoCanvas); + /** + * 相机移动过程结束时所执行操作 + * @return + * ``` + * 示例代码: + *viewer.iCamera.moveEnd.addEventListener(function(){ + * console.log("moveEnd") + * }) + * ``` + */ + readonly moveEnd: Cesium.Event; + /** + * 相机移动过程开始时所执行操作 + * @return + * ``` + * 示例代码: + * viewer.iCamera.moveStart.addEventListener(function(){ + * console.log("moveStart") + * }) + * ``` + */ + readonly moveStart: Cesium.Event; + /** + * 相机变动时所执行操作 + * @return + * ``` + * 示例代码: + * viewer.iCamera.changed.addEventListener(function(){ + * console.log("changed") + * }) + * ``` + */ + readonly changed: Cesium.Event; + /** + * 获取视角点信息 + * @return + * ``` + * 示例代码: + * let viewPoint = viewer.iCamera.viewPoint;//获取当前相机视角信息 + * ``` + */ + readonly viewPoint: ViewPoint; + /** + * 设置或获取home视角 + * @return + * ``` + * 示例代码: + * viewer.iCamera.home = new GV.ViewPoint(104,33,15139621,360,-89,0)//设置home视角信息 + * let home = viewer.iCamera.home;//获取home视角信息 + * ``` + */ + home: ViewPoint; + private _getCameraCenter; + private _getCameraTransform; + /** + * 飞行到某一视角点 + * @param viewPoint 视角点信息 + * @param duration 飞行周期(单位:秒)(范围:>0 && <=10) + * @param completeCallbak 飞行完成时回调函数 + * @param cancelCallback 飞行取消时回调函数 + * @return + * ``` + * 示例代码: + * viewer.iCamera.flyTo(new GV.ViewPoint(80,33,5000,360,-89,0),2,function(){ + * console.log('complete') + * }) + * ``` + */ + flyTo(viewPoint: ViewPoint, duration?: number, completeCallbak?: any, cancelCallback?: any): void; + /** + * 飞行到某一矩形区域 + * @param minlon 矩形区域最小经度 + * @param maxlon 矩形区域最大经度 + * @param minlat 矩形区域最小纬度 + * @param maxlat 矩形区域最大纬度 + * @param duration 飞行周期(单位:秒)(范围:>0 && <=10) + * @param completeCallbak 飞行完成时回调函数 + * @param cancelCallback 飞行取消时回调函数 + * @return + * ``` + * 示例代码: + * viewer.iCamera.flyToRect(110,118,30,40,2,function(){ + * console.log('complete') + * }) + * ``` + */ + flyToRect(minlon: number, maxlon: number, minlat: number, maxlat: number, duration?: number, completeCallbak?: any, cancelCallback?: any): void; + /** + * 获取当前地图层级(最大瓦片层级) + */ + readonly currentLevel: Number; + /** + * 飞回主视角 + * @return + * ``` + * 示例代码: + * viewer.iCamera.flyToHome() + * ``` + */ + flyToHome(): void; + /** + * 俯仰 + * @param degree 度数 范围: >=-90 && <=90 + * @return + * ``` + * 示例代码: + * viewer.iCamera.pitch(-30) + * ``` + */ + pitch(degree: number): void; + /** + * 旋转 + * @param degree 度数 范围:>=-360 && <=360 + * @return + * ``` + * 示例代码: + * viewer.iCamera.rotate(-30) + * ``` + */ + rotate(degree: number): void; + /** + * 原地观测 + * @param duration 观测一周所用时间(单位:s)(范围:>0 && <= 360) + * @return + * ``` + * 示例代码: + * viewer.iCamera.lookCenter(20) + * ``` + */ + lookCenter(duration?: number): void; + /** + * 绕点观测 + * @param geoPoint + * @param duration 观测一周所用时间(单位:s) (范围:>=0 && <=360) + * @param distance 观测点和相机间的距离 + * @param pitch 俯仰度数 + * @return + * ``` + * 示例代码: + * viewer.iCamera.lookAround({lon:112,lat:40,alt:50000}) + * ``` + */ + lookAround(geoPoint: GeoPoint, duration?: number, distance?: number, pitch?: number): void; + /** + * 停止观测 + * @return + * ``` + * 示例代码: + * viewer.iCamera.lookStop() + * ``` + */ + lookStop(): void; + /** + * 放大 + * @param rate 倍率范围:>=-360 && <=360 + * @return + * ``` + * 示例代码: + * viewer.iCamera.zoom(10) + * ``` + */ + zoom(rate?: number): void; +} + +/** + * 地理画布入口 + */ + class GeoCanvas extends Cesium.Viewer { + private _sceneOptions; + private _layerManager; + private _camera; + private _analysis; + private _pluginManager; + private _JBConfig; + private _$bus; + /** + * @param {Element} container 地理画布父div元素 + * @param {Object} [options] 地图配置属性 + * @param {String} [options.baseJbUrl] 军标服务路径 + * @param {String} [options.baseLayerPicker=false] 基础影像 + */ + constructor(container: any, options: any); + private init; + readonly JBConfig: any; + readonly pluginManager: PluginManager; + /** + * 场景参数 + */ + readonly sceneOptions: SceneOptions; + /** + * 图层管理 + */ + readonly layerManager: LayerManager; + /** + * 相机参数 + */ + readonly iCamera: Camera; + /** + * 高效绘制图层 + */ + /** + * 卫星图层 + */ + readonly satelliteLayer: SatelliteLayer; + /** + * 标绘图层 + */ + readonly graphicLayer: GraphicLayer; + /** + * 影像图层 + */ + readonly imageLayer: ImageLayer; + /** + * 目标图层 + */ + readonly targetLayer: TargetLayer; + /** + * 瓦片图层 + */ + readonly tileLayer: TileLayer; + /** + * 动画图层 + */ + readonly actionLayer: ActionLayer; + /** + * 分析工具 + */ + readonly analysis: Analysis; + /** + * 场景抗锯齿 + * true 开启 + */ + fxaa: boolean; + /** + * 事件消息处理器 + * on 注册事件 + * fire 触发事件 + * off 解除事件 + */ + readonly $bus: Event; + destroy(): void; +} + +} \ No newline at end of file diff --git a/public/GV/GEOVIS.web.js b/public/GV/GEOVIS.web.js new file mode 100644 index 000000000..b0dc5a595 --- /dev/null +++ b/public/GV/GEOVIS.web.js @@ -0,0 +1 @@ +var _0x4184=['/dev/tty','/dev/tty1','random_device','/dev/shm','/dev/shm/tmp','/proc/self','/proc/self/fd','fake','createDevice','symlink','/dev/stdin','/dev/stdout','/dev/stderr','setErrno','FS\x20error','ensureErrnoError','createDefaultDirectories','createDefaultDevices','createSpecialDirectories','filesystems','createStandardStreams','_fflush','analyzePath','parentPath','parentObject','exists','isRoot','Lazy\x20loading\x20should\x20have\x20been\x20performed\x20(contents\x20set)\x20in\x20createLazyFile,\x20but\x20it\x20was\x20not.\x20Lazy\x20loading\x20only\x20works\x20in\x20web\x20workers.\x20Use\x20--embed-file\x20or\x20--preload-file\x20in\x20emcc\x20on\x20the\x20main\x20thread.','Cannot\x20load\x20without\x20read()\x20or\x20XMLHttpRequest.','lengthKnown','chunks','setDataGetter','cacheLength','Couldn\x27t\x20load\x20','.\x20Status:\x20','Content-length','Accept-Ranges','bytes','invalid\x20range\x20(',')\x20or\x20no\x20bytes\x20requested!','only\x20','\x20bytes\x20available!\x20programmer\x20error!','Range','bytes=','overrideMimeType','doXHR\x20failed!','_chunkSize','Cannot\x20do\x20synchronous\x20binary\x20XHRs\x20outside\x20webworkers\x20in\x20modern\x20browsers.\x20Use\x20--embed-file\x20or\x20--preload-file\x20in\x20emcc','createFile','forceLoadFile','cp\x20','createDataFile','preloadPlugins','canHandle','handle','asyncLoad','msIndexedDB','EM_FS_','creating\x20db','DB_NAME','ino','varargs','getStreamFromFD','doReadv','doWritev','bad\x20ioctl\x20syscall\x20','len','munmap','allocated','malloc','Unknown\x20type\x20size:\x20','_unknown','()\x20{\x0a\x20\x20\x20\x20\x22use\x20strict\x22;\x20\x20\x20\x20return\x20body.apply(this,\x20arguments);\x0a};\x0a','registerType\x20registeredInstance\x20requires\x20argPackAdvance','type\x20\x22','\x22\x20must\x20have\x20a\x20positive\x20integer\x20typeid\x20pointer','Cannot\x20register\x20type\x20\x27','\x27\x20twice','Unknown\x20boolean\x20type\x20size:\x20','fromWireType','ptrType','registeredClass','ptr','baseClass','upcast','smartPtr','smartPtrType','\x20instance\x20already\x20deleted','rawDestructor','preservePointerOnDelete','Object\x20already\x20scheduled\x20for\x20deletion','deleteScheduled','isAliasOf','isDeleted','deleteLater','overloadTable','Function\x20\x27',')\x20-\x20expects\x20one\x20of\x20(','argCount','Cannot\x20register\x20public\x20name\x20\x27','instancePrototype','downcast','pureVirtualFunctions',',\x20got\x20an\x20instance\x20of\x20','isReference','null\x20is\x20not\x20a\x20valid\x20','\x22\x20as\x20a\x20','Cannot\x20pass\x20deleted\x20object\x20as\x20a\x20pointer\x20of\x20type\x20','isSmartPointer','rawConstructor','Cannot\x20pass\x20\x22','isConst','Cannot\x20convert\x20argument\x20of\x20type\x20','\x20to\x20parameter\x20type\x20','sharingPolicy','Unsupporting\x20sharing\x20policy','rawGetPointee','getInheritedInstanceCount','getLiveInheritedInstances','setDelayFunction','ptr\x20should\x20not\x20be\x20undefined','makeClassHandle\x20requires\x20ptr\x20and\x20ptrType','destructor','pointeeType','getActualType','constPointerType','pointerType','getPointee','readValueFromPointer','rawShare','toWireType','destructorFunction','Replacing\x20nonexistant\x20public\x20symbol','FUNCTION_TABLE_','dynCall_','No\x20dynCall\x20invoker\x20for\x20signature:\x20','return\x20function\x20dynCall_','\x20\x20\x20\x20return\x20dynCall(rawFunction',');\x0a','};\x0a','dynCall','rawFunction','Cannot\x20construct\x20','\x20due\x20to\x20unbound\x20types','Use\x20\x27new\x27\x20to\x20construct\x20','\x20has\x20no\x20accessible\x20constructor','Tried\x20to\x20invoke\x20ctor\x20of\x20','\x20with\x20invalid\x20number\x20of\x20parameters\x20(',')\x20-\x20expected\x20(','constructor_body','new_\x20called\x20with\x20constructor\x20type\x20','\x20which\x20is\x20not\x20a\x20function','unknownFunctionName','argTypes\x20array\x20size\x20mismatch!\x20Must\x20at\x20least\x20get\x20return\x20value\x20and\x20\x27this\x27\x20types!','return\x20function\x20','\x20called\x20with\x20\x27\x20+\x20arguments.length\x20+\x20\x27\x20arguments,\x20expected\x20','\x20args!\x27);\x0a}\x0a','var\x20destructors\x20=\x20[];\x0a','destructors','runDestructors','retType','classParam','var\x20thisWired\x20=\x20classParam.toWireType(',',\x20this);\x0a','Wired\x20=\x20argType','.toWireType(',',\x20arg',');\x20//\x20','thisWired','var\x20rv\x20=\x20','invoker(fn','runDestructors(destructors);\x0a','Wired','_dtor(','_dtor','Cannot\x20call\x20','constructor\x20','Cannot\x20register\x20multiple\x20constructors\x20with\x20identical\x20number\x20of\x20parameters\x20(','\x20called\x20with\x20','\x20arguments,\x20expected\x20','get_first_emval','\x20has\x20unknown\x20type\x20','Cannot\x20convert\x20\x22','Unknown\x20integer\x20type:\x20','unsigned','\x22\x20to\x20','Passing\x20a\x20number\x20\x22','\x22,\x20which\x20is\x20outside\x20the\x20valid\x20range\x20[','std::string','Cannot\x20pass\x20non-string\x20to\x20std::string','refcount','_emval_take_value','ret','LLVM_SAVEDSTACKS','OOM','grow','%a\x20%b\x20%d\x20%H:%M:%S\x20%Y','%m/%d/%y','%H:%M','%H:%M:%S','Sunday','Monday','Tuesday','Wednesday','Saturday','January','February','March','April','June','July','August','September','November','December','tm_yday','tm_wday','tm_mon','tm_year','tm_mday','tm_hour','tm_sec','staticInit','BindingError','UnboundTypeError','___embind_register_native_and_builtin_types','stackAlloc','stackSave','dynCall_di','dynCall_didddddd','dynCall_dii','dynCall_diii','dynCall_diiid','dynCall_fii','dynCall_i','dynCall_iii','dynCall_iiii','dynCall_iiiid','dynCall_iiiif','dynCall_iiiii','dynCall_iiiiid','dynCall_iiiiii','dynCall_iiiiiiii','dynCall_iiiiiiiii','dynCall_jiji','dynCall_vid','dynCall_viddd','dynCall_vif','dynCall_vii','dynCall_viid','dynCall_viif','dynCall_viii','dynCall_viiif','dynCall_viiiii','dynCall_viiiiii','dynCall_viijii','Program\x20terminated\x20with\x20exit(','calledRun','setStatus','onAbort','abort(','ccall','cwrap','preInit','noExitRuntime','_home','_moveStart','_viewPoint','home','_getCameraCenter','_tilesToRender','flyToHome','_getCameraTransform','flyToBoundingSphere','HeadingPitchRange','lookCenter','观测时间必须\x20>0\x20&&\x20<=\x20360','clockRange','_timeExection','clockStep','SYSTEM_CLOCK','lookStop','参数应在范围\x20>=-360\x20&&\x20<=360\x20之内','moveForward','./src/Analysis/Analysis.ts','imageryProvider','resources/image/globe.jpg','MOON','contextOptions','DEFAULT_VIEW_RECTANGLE','enableLighting','resources/image/MoonBackGroundImg.jpg','url(\x27','\x27)\x20no-repeat\x20center/100%\x20100%','_suspendTerrainAdjustment','_adjustHeightForTerrain','cesium-viewer-bottom','cesium-credit-logoContainer','screenSpaceEventHandler','sun','_$bus','sandbox-online','http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=51b509975686843c6e10e05785d00a49','tdtBasicLayer','GoogleMapsCompatible','_sceneOptions','_JBConfig','baseJbUrl','setJBUrl','_layerManager','_camera','_analysis','_pluginManager','pluginManager','tileLayer','fxaa','$bus','./src/Utils/wams/millib/algorithm.js','_isFindTargetJBPath','_targetJBPath','./config/jbconfig.json','waitCallback','getJBTree','getIncludeJBByPath','padStart','_JBTree','jbConfig','getJBOffset','PlaceName','./src/iCenter/api/login.js','./src/iCenter/utils/passWordRsa.js','_username','_loginIcenter','getRsaPassWord','_password','loginByUsernameAndPwd','_icenterToken','_altitudeMap','queryPlaceNameList','getPlaceNameLocation','getProvinceCityCountyTree','getTree','getGeometryByCountryName','getProvinceCityCountyArea','getGeometryByCode','PlaceFontStyle','rgba(230,\x20230,\x20250,\x201)','rgba(0,\x200,\x200,\x201)','rgba(230,\x20230,\x20250,\x200.5)','rgba(190,\x20120,\x2072,\x201)','14pt\x20monospace','UserInfo','getServerTime','getUserInfo','getUserToken','/tilecache/api/v1/layers?page=','&isBase=','&layerType=','&layerName=','&pageSize=','&order=','getTiltPhotoList','/tiltphoto/api/v1/layers?page=','&orderType=','/geoiot/api/v1/RunSiddhiFileApi/findTaskAll?page=','&size=','/geoiot/api/v1/data/cluster?sourceId=','&minLon=','&maxLon=','&minLat=','&maxLat=','&level=','getTargetRealTimeData','/user/jwt/time','/user/jwt/token','application/json;charset=UTF-8','/user/api/v1/user/userinfo','/placeservice/api/v1/vectors/district/treelist','&returnGeometry=true','/placeservice/api/v1/vectors/district/world','application/json,\x20text/plain,\x20*/*','/placeservice/api/v1/query/placeName=','./src/iCenter/PlaceName.ts','./src/LayerManager/TileLayer/LineTile.ts','./src/iCenter/api/layersApi.js','userInfo','_userInfo','placeName','_placeName','IMAGELAYER','getImageLayers','getVectorLayers','getLayersList','DESC','VECTORLAYER','getTileLayersList','getTimeImageLayers','TIMELAYER','getTiltPhotoLayers','getRealTimeLayers','getRealTimeDataList','getClusterRealTimeData','/tilecache/service/wmts?layer=','layerName','gridSet','&TileMatrix={TileMatrix}&TileCol={TileCol}&TileRow={TileRow}','fromMercator','createImageLayer','/geoserverplus/gwc/service/wmts?layer=','workspace','&tilematrixset=','&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/','createVectorLayer','/geoserverplus/gwc/service/wmts','CesiumTerrainProvider','/tilecache/service/terrain/','createTiltPhotoLayer','/tiltphoto/api/v1/layers/dataset/','/tileset.json','debugShowFramesPerSecond','-----BEGIN\x20PUBLIC\x20KEY-----\x0a\x09MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANbuVd2AW+xnDH82hNWFYjDWttKilGgt\x0a\x09S+tVxBQF4POl7pkNccQNEfrklGsBvR1U4yjNhVeoLmO/Xd6WF0u0HsMCAwEAAQ==\x0a\x09-----END\x20PUBLIC\x20KEY-----','getRsaPassWord2','./node_modules/jsencrypt/bin/jsencrypt.js','./src/GEOVIS_JB_LS.ts','exports','call','defineProperty','undefined','toStringTag','Module','__esModule','create','default','string','prototype','hasOwnProperty','/dist/','options\x20is\x20invalid','bbox','geometry\x20is\x20required','constructor','properties\x20must\x20be\x20an\x20Object','Feature','properties','coordinates\x20is\x20required','isArray','coordinates\x20must\x20be\x20an\x20Array','Point','geometry','Polygon','MultiPoint','MultiLineString','MultiPolygon','\x20is\x20invalid','length','coordinates\x20must\x20be\x20at\x20least\x202\x20numbers\x20long','coordinates\x20must\x20contain\x20numbers','map','Each\x20LinearRing\x20of\x20a\x20Polygon\x20must\x20have\x204\x20or\x20more\x20Positions.','coordinates\x20must\x20be\x20an\x20array\x20of\x20two\x20or\x20more\x20positions','No\x20features\x20passed','features','geometries\x20is\x20required','geometries\x20must\x20be\x20an\x20Array','GeometryCollection','precision\x20must\x20be\x20a\x20positive\x20number','round','radians\x20is\x20required','kilometers','distance\x20is\x20required','\x20units\x20is\x20invalid','bearing\x20is\x20required','degrees\x20is\x20required','length\x20is\x20required','length\x20must\x20be\x20a\x20positive\x20number','area\x20is\x20required','area\x20must\x20be\x20a\x20positive\x20number','meters','invalid\x20original\x20units','invalid\x20final\x20units','bbox\x20is\x20required','bbox\x20must\x20be\x20an\x20Array','bbox\x20must\x20be\x20an\x20Array\x20of\x204\x20or\x206\x20numbers','forEach','bbox\x20must\x20only\x20contain\x20numbers','number','indexOf','id\x20must\x20be\x20a\x20number\x20or\x20a\x20string','type','FeatureCollection','geometries','coordinates','LineString','Unknown\x20Geometry\x20Type','push','geojson\x20is\x20required','obj\x20is\x20required','Coordinate\x20is\x20not\x20a\x20valid\x20Point',':\x20must\x20be\x20a\x20',',\x20given\x20','No\x20feature\x20passed','.featureOf()\x20requires\x20a\x20name','Invalid\x20input\x20to\x20','No\x20featureCollection\x20passed','.collectionOf()\x20requires\x20a\x20name',',\x20FeatureCollection\x20required',',\x20Feature\x20with\x20geometry\x20required','invariant.getGeomType\x20has\x20been\x20deprecated\x20in\x20v5.0\x20in\x20favor\x20of\x20invariant.getType','\x20is\x20required','geojson','keys','verbose','log','cols','cells','cval','bottom','right','top','left','none','flipped','closed','mergeable','path','abs','unshift','MarchingSquaresJS-isoContours:\x20Illegal\x20cval\x20detected:\x20','function','successCallback','_maxEntries','_minEntries','max','ceil','_initFormat','children','minX','minY','maxY','leaf','min','maxX','pop','compare','slice','[0]','[1]','load','insert','shift','next','data','node','dist','remove','search','concavity','object','point\x20is\x20required','polygon\x20is\x20required','points\x20must\x20be\x20a\x20FeatureCollection','sort','splice','apply','__sentinel','units','pow','sin','cos','sqrt','unknown\x20GeoJSON\x20type','transform','arcs','toString','mutate','geojson\x20must\x20be\x20a\x20FeatureCollection','geojson\x20is\x20empty','geojson\x20must\x20be\x20homogenous','concat','reverse','objects','\x20is\x20not\x20supported','join','\x20geometry\x20not\x20supported','invalid\x20polygon','resolution','line\x20is\x20required','resolution\x20must\x20be\x20an\x20number','pos','@turf/bbox-polygon\x20does\x20not\x20support\x20BBox\x20with\x206\x20positions','atan2','center\x20is\x20required','options\x20must\x20be\x20an\x20object','steps\x20must\x20be\x20a\x20number','final','steiner','prev','prevZ','nextZ','vertices','holes','targetPoint\x20is\x20required','featureIndex','distanceToPoint','floor','clear','toBBox','collides','all','toJSON','fromJSON','reduce','location','index','tan','from\x20point\x20is\x20required','to\x20point\x20is\x20required','mercator','atan','exp','point','line','ignoreEndVertices','invalid\x20options','pt\x20is\x20required','start','end','both','feature2\x20','feature1\x20','mask','cellSide\x20is\x20required','cellSide\x20is\x20invalid','bbox\x20must\x20be\x20array','bbox\x20must\x20contain\x204\x20numbers','options.mask\x20must\x20be\x20a\x20(Multi)Polygon','precision','\x20must\x20be\x20a\x20number','\x20must\x20be\x20a\x20number','stringify','This\x20function\x20requires\x20an\x20array\x20of\x20three\x20points\x20[x,y]','filter','lines\x20must\x20contain\x20features','steps','radius\x20is\x20required','bearing1\x20is\x20required','bearing2\x20is\x20required','polygon\x20must\x20contain\x20coordinates','geom\x20','\x20not\x20supported','autoComplete','orderCoords','lines\x20is\x20required','line\x20must\x20contain\x20coordinates','geometry\x20type\x20','polygon','[object\x20Arguments]','getTime','copy','tolerance','origin\x20is\x20required','distance\x20must\x20be\x20greater\x20than\x200','geometry\x20must\x20be\x20a\x20LineString','MarchingSquaresJS-isoBands:\x20computing\x20isobands\x20for\x20[','polygons','MarchingSquaresJS-isoBands:\x20returning\x20single\x20polygons\x20for\x20each\x20grid\x20cell','MarchingSquaresJS-isoBands:\x20bandcell\x20polygon\x20with\x20null\x20coordinates','MarchingSquaresJS-isoBands:\x20returning\x20polygon\x20paths\x20for\x20entire\x20data\x20grid','rows','edges','cval_real','righttop','topleft','rightbottom','bottomright','topright','bottomleft','leftbottom','lefttop','MarchingSquaresJS-isoBands:\x20edge\x20index\x20out\x20of\x20range!','MarchingSquaresJS-isoBands:\x20undefined\x20value!','MarchingSquaresJS-isoBands:\x20found\x20entry\x20from\x20top\x20at\x20','MarchingSquaresJS-isoBands:\x20wtf','MarchingSquaresJS-isoBands:\x20where\x20did\x20we\x20came\x20from???','Array','pivot','angle\x20is\x20required','origin','geojson\x20required','invalid\x20factor','centroid','westsouth','southeast','eastsouth','northwest','northeast','eastnorth','center','invalid\x20origin','sign','every','replace','Multi','feature1\x20is\x20required','feature2\x20is\x20required','features\x20must\x20be\x20of\x20the\x20same\x20type','Point\x20geometry\x20not\x20supported','Invalid\x20GeoJSON\x20object\x20for\x20','parent','nodes','diagonal','grid','content','scoreFunction','halfedges','site','arc','circle','edge','xSemiAxis\x20is\x20required','ySemiAxis\x20is\x20required','degrees','weight','no\x20features\x20to\x20measure','medianCandidates','bbox\x20is\x20invalid','random','num_vertices','max_rotation','filter\x20is\x20required','property\x20is\x20required','message','color','root_','size_','array_','reset','asin','lineStart','lineEnd','polygonEnd','invert','rejoin','result','stream','clipExtent','translate','scale','read','bufferOp','write','union','intersection','isEmpty','Get\x20closest\x20expects\x20an\x20array\x20as\x20second\x20argument','triangles','method\x20has\x20been\x20renamed\x20to\x20`radiansToDegrees`','method\x20has\x20been\x20renamed\x20to\x20`degreesToRadians`','method\x20has\x20been\x20renamed\x20to\x20`lengthToDegrees`','method\x20has\x20been\x20renamed\x20to\x20`bearingToAzimuth`','method\x20has\x20been\x20renamed\x20to\x20`convertLength`','freeze','height','_splitRoot','_insert','_condense','compareMinX','_build','_split','_adjustParentBBoxes','_chooseSplitAxis','_chooseSplitIndex','compareMinY','_allDistMargin','return\x20{minX:\x20a',',\x20minY:\x20a',',\x20maxX:\x20a','sum(','sum(prod(','),prod(-','orientation','function\x20','){var\x20p=',',n=','sum','prod','sub','slow','function\x20getOrientation(','case\x20',':return\x20o','}var\x20s=new\x20Array(arguments.length);for(var\x20i=0;i\x20','envelope','some','isValid','toPolygon','findEdgeRingContaining','getEnvelope','find','defineProperties','fromGeoJson','No\x20geojson\x20passed','Invalid\x20input\x20type\x20\x27','Graph::fromGeoJson','getNode','addEdge','getSymetric','_removeIfDangle','removeNode','deleteCutEdges','_computeNextCWEdges','_findLabeledEdgeRings','removeEdge','_computeNextCCWEdges','getEdgeRings','_findIntersectionNodes','_findEdgeRing','shim','callee','supported','unsupported','strict','direction','pseudoNode','objectComparator','compareCoord','compareLine','compareFeature','toFixed','removePseudo','fixStartIndex','comparePath','comparePolygon','compareBBox','dataset','minPts','distance','_euclideanDistance','clusters','noise','_visited','_assigned','run','_datasetLength','_regionQuery','_addToCluster','_init','Dataset\x20must\x20be\x20of\x20type\x20array,\x20','epsilon','_mergeArrays','assignments','centroids','init','randomCentroid','getClusters','assign','MAX_VALUE','_queue','_priorities','desc','_sorting','_insertAt','getElements','getPriorities','getElementsWithPriorities','Arrays\x20must\x20have\x20the\x20same\x20length','_reachability','_coreDistance','_processed','asc','_expandCluster','getReachabilityPlot','_orderedList','_updateQueue','_distanceToCore','DBSCAN','KMEANS','OPTICS','PriorityQueue','kmrand','Error\x20initializating\x20clusters','kmpp','cleanDirty','heuristic','heuristics','manhattan','closest','size','neighbors','isWall','visited','markDirty','rescoreElement','dirtyNodes','cleanNode','getCost','sinkDown','bubbleUp','_found','fill','\x20is\x20not\x20an\x20object','isFinite','isInteger','parseFloat','isNaN','trunc','interfaces_','getClass','doubleToLongBits','longBitsToDouble','isInfinite','NULL_ORDINATE','setOrdinate','Invalid\x20ordinate\x20index:\x20','equals2D','equalsWithTolerance','getOrdinate','equals','equalInZ','clone','distance3D','hashCode','setCoordinate','DimensionalComparator','serialVersionUID','_dimensionsToTest','only\x202\x20or\x203\x20dimensions\x20may\x20be\x20specified','EXTERIOR','INTERIOR','NONE','Unknown\x20location\x20value:\x20','BOUNDARY','LOG_10','clamp','wrap','average','str','append','setCharAt','substr','value','isWhitespace','toUpperCase','_hi','_lo','parse','extractSignificantDigits','magnitude','divide','TEN','ONE','multiply','MAX_PRINT_DIGITS','subtract','valueOf','selfAdd','doubleValue','isZero','selfSubtract','getSpecialNumberString','0.0','NaN\x20','selfDivide','SPLIT','dump','createNaN','selfMultiply','reciprocal','NaN','setValue','isNegative','sqr','intValue','toStandardNotation','toSciNotation','charAt','stringOfChar','SCI_NOT_ZERO','SCI_NOT_EXPONENT_CHAR','Found\x20leading\x20zero:\x20','negate','isPositive','signum','isDigit','substring','parseInt','Invalid\x20exponent\x20','\x20in\x20string\x20','Unexpected\x20character\x20\x27','\x27\x20at\x20position\x20','TWO_PI','PI_2','EPS','0.0E0','orientationIndexFilter','signOfDet2x2','DP_SAFE_EPSILON','getCoordinate','getCoordinateCopy','getDimension','expandEnvelope','getY','toCoordinateArray','Projective\x20point\x20not\x20representable\x20on\x20the\x20Cartesian\x20plane.','__proto__','getX','_minx','_miny','_maxy','getArea','getWidth','getHeight','isNull','getMaxX','getMinX','_maxx','covers','getMinY','getMaxY','intersects','expandToInclude','minExtent','compareTo','\x20:\x20','maxExtent','expandBy','setToNull','contains','centre','geometryFactory','exec','EMPTY','emptyTypeStr','toLowerCase','Could\x20not\x20parse\x20WKT\x20','extractGeometry','\x20EMPTY','coordinate','_geometries','_points','_coordinates','linestring','_holes','createPoint','trim','split','spaces','trimParens','createMultiPoint','createLineString','createLinearRing','createMultiLineString','parenComma','createPolygon','createMultiPolygon','doubleParenComma','createGeometryCollection','parser','name','RuntimeException','stack','shouldNeverReachHere','Should\x20never\x20reach\x20here','isTrue','Expected\x20','\x20but\x20encountered\x20','_inputLines','_intLineIndex','_isProper','_pa','_pb','_precisionModel','_intPt','_result','getIndexAlongSegment','computeIntLineIndex','isEndPoint','\x20endpoint','\x20proper','\x20collinear','computeIntersection','computeIntersect','getIntersectionNum','getEdgeDistance','isProper','hasIntersection','setPrecisionModel','isInteriorIntersection','getIntersection','NO_INTERSECTION','computeEdgeDistance','isCollinear','COLLINEAR_INTERSECTION','\x20-\x20','toLineString','getTopologySummary','getEndpoint','isIntersection','getIntersectionAlongSegment','Bad\x20distance\x20calculation','nonRobustComputeEdgeDistance','Invalid\x20distance\x20calculation','DONT_INTERSECT','COLLINEAR','POINT_INTERSECTION','isInSegmentEnvelopes','orientationIndex','normalizeToMinimum','smallestInAbsValue','safeHCoordinateIntersection','nearestEndpoint','intersectionWithNormalization','makePrecise','checkDD','out','println','DD\x20in\x20env\x20=\x20','\x20\x20---------------------\x20','Distance\x20=\x20','normalizeToEnvCentre','computeCollinearIntersection','distancePointLine','_crossingCount','_isPointOnSegment','getLocation','locatePointInRing','countSegment','signedArea','distanceLineLine','computeLength','isCCW','Ring\x20has\x20fewer\x20than\x204\x20points,\x20so\x20orientation\x20cannot\x20be\x20determined','computeOrientation','isOnLine','CLOCKWISE','RIGHT','COUNTERCLOCKWISE','STRAIGHT','_envelope','_factory','_SRID','_userData','isGeometryCollection','getSortIndex','SORTINDEX_GEOMETRYCOLLECTION','getFactory','getGeometryN','equalsTopo','equalsExact','geometryChanged','geometryChangedAction','equalsNorm','norm','getLength','getNumGeometries','getUserData','toGeometry','getEnvelopeInternal','checkNotGeometryCollection','normalize','getPrecisionModel','computeEnvelopeInternal','setSRID','setUserData','iterator','hasNext','isGeometryCollectionOrDerived','SORTINDEX_MULTIPOINT','SORTINDEX_MULTILINESTRING','hasNonEmptyElements','SORTINDEX_POINT','SORTINDEX_LINESTRING','SORTINDEX_POLYGON','SORTINDEX_MULTIPOLYGON','geometryChangedFilter','Mod2BoundaryNodeRule','ENDPOINT_BOUNDARY_RULE','MOD2_BOUNDARY_RULE','isInBoundary','addAll','NoSuchElementException','ensureCapacity','toArray','arrayList_','position_','coordArrayType','boolean','closeRing','ForwardComparator','BidirectionalComparator','isRing','ptNotInList','scroll','arraycopy','hasRepeatedPoints','copyDeep','isEqualReversed','increasingDirection','minCoordinate','extract','OLDcompare','put','values','entrySet','OperationNotSupported','hashSet_','key','fixAfterInsertion','rotateLeft','rotateRight','getFirstEntry','successor','treeSet_','asList','FALSE','TRUE','DONTCARE','SYM_FALSE','SYM_TRUE','SYM_DONTCARE','SYM_P','SYM_L','SYM_A','toDimensionSymbol','Unknown\x20dimension\x20value:\x20','toDimensionValue','isGeometryChanged','hasNullElements','geometries\x20must\x20not\x20contain\x20null\x20elements','getNumPoints','isEquivalentClass','getBoundaryDimension','compareToSameClass','isDone','getBoundary','getGeometryType','isClosed','_geom','_geomFact','_bnRule','_endpointMap','boundaryLineString','boundaryMultiLineString','getEmptyMultiPoint','getStartPoint','computeBoundaryCoordinates','getCoordinateN','addEndpoint','count','getKey','chars','getStackTrace','printStackTrace','readLine','NEWLINE','format','getProperty','SIMPLE_ORDINATE_FORMAT','0.#','copyCoord','ensureValidRing','createClosedRing','getCoordinates','getEndPoint','getPointN','getCoordinateSequence','getCoordinateSequenceFactory','\x20-\x20must\x20be\x200\x20or\x20>=\x202)','isCoordinate','equal','getX\x20called\x20on\x20empty\x20Point','getY\x20called\x20on\x20empty\x20Point','isSimple','_shell','holes\x20must\x20not\x20contain\x20null\x20elements','shell\x20is\x20empty\x20but\x20holes\x20are\x20not','isRectangle','getNumInteriorRing','convexHull','getExteriorRing','getInteriorRingN','validateConstruction','SORTINDEX_LINEARRING','MINIMUM_VALID_SIZE','Invalid\x20number\x20of\x20points\x20in\x20LinearRing\x20(found\x20','\x20-\x20must\x20be\x200\x20or\x20>=\x204)','LinearRing','_isUserDataCopied','edit','editInternal','editGeometryCollection','editPolygon','Unsupported\x20Geometry\x20class:\x20','getName','GeometryEditorOperation','NoOpGeometryOperation','CoordinateOperation','CoordinateSequenceOperation','editCoordinates','_dimension','invalid\x20ordinateIndex','readResolve','instance','instanceObject','map_','done','entries','_scale','FLOATING','FIXED','setScale','_modelType','getMaximumSignificantDigits','isFloating','FLOATING_SINGLE','getType','Floating-Single','Fixed\x20(Scale=','getScale','mostPrecise','maximumPreciseValue','nameToTypeMap','_name','Type','FLOATING\x20SINGLE','_coordinateSequenceFactory','getDefaultCoordinateSequenceFactory','buildGeometry','toGeometryArray','toPolygonArray','toLineStringArray','toPointArray','Unhandled\x20class:\x20','createMultiPointFromCoords','getSRID','createGeometry','toMultiPolygonArray','toMultiLineStringArray','toLinearRingArray','createPointFromInternalCoord','Unknown\x20GeoJSON\x20type:\x20','Geometry\x20is\x20not\x20supported','precisionModel','reducePrecision','opposite','LEFT','peek','empty','_minIndex','_orientedDe','_minCoord','getRightmostSide','getRightmostSideOfSegment','findRightmostEdgeAtVertex','_minDe','getEdge','rightmost\x20point\x20expected\x20to\x20be\x20interior\x20vertex\x20of\x20edge','findRightmostEdgeAtNode','getEdges','getRightmostEdge','isForward','findEdge','checkForRightmostCoordinate','inconsistency\x20in\x20rightmost\x20processing','msgWithCoord','TopologyException','\x20[\x20','addLast','removeFirst','_finder','_dirEdgeList','_nodes','_rightMostCoord','_env','clearVisitedEdges','getRightmostCoordinate','computeNodeDepth','isVisited','unable\x20to\x20find\x20edge\x20to\x20compute\x20depths\x20at\x20','setVisited','copySymDepths','computeDepth','setEdgeDepths','computeDepths','addReachable','findResultEdges','getDepth','isInteriorAreaEdge','setInResult','getSym','setDepth','getNodes','getDirectedEdges','setAllLocations','merge','getLocations','flip','toLocationSymbol','setLocations','isArea','isAnyNull','setLocation','isEqualOnSide','allPositionsEqual','elt','getGeometryCount','setAllLocationsIfNull','isLine','\x20B:','toLine','toLineLabel','_startDe','_maxNodeDegree','_edges','_pts','_ring','_isHole','_geometryFactory','computePoints','computeRing','isIsolated','_label','Found\x20null\x20DirectedEdge','getEdgeRing','Directed\x20Edge\x20visited\x20twice\x20during\x20ring-building\x20at\x20','getLabel','getLinearRing','computeMaxNodeDegree','getNext','addPoints','containsPoint','isPointInRing','getMaxNodeDegree','getShell','mergeLabel','setShell','setEdgeRing','setMinEdgeRing','getNextMin','buildMinimalRings','linkDirectedEdgesForMinimalEdgeRings','linkMinimalDirectedEdges','_isCovered','_isCoveredSet','_isVisited','_isInResult','isCovered','isCoveredSet','setLabel','setCovered','updateIM','found\x20partial\x20label','_coord','isIncidentEdgeInResult','isInResult','print','node\x20','\x20lbl:\x20','computeMergedLocation','setNode','nodeFact','addNode','nodeMap','createNode','getBoundaryNodes','isNorthern','isOpposite','commonHalfPlane','quadrant','Cannot\x20compute\x20the\x20quadrant\x20for\x20point\x20(\x20','Cannot\x20compute\x20the\x20quadrant\x20for\x20two\x20identical\x20points\x20','_edge','_node','_p0','_p1','_dy','_quadrant','compareDirection','getDy','_dx','lastIndexOf','\x20\x20\x20','getDirectedCoordinate','getQuadrant','computeLabel','EdgeEnd\x20with\x20identical\x20endpoints\x20found','_next','_edgeRing','_minEdgeRing','_depth','_isForward','computeDirectedLabel','_nextMin','assigned\x20depths\x20do\x20not\x20match','setNextMin','\x20inResult','isLineEdge','getMinEdgeRing','getDepthDelta','_sym','printEdge','printReverse','setSym','setNext','depthFactor','_edgeEndList','printEdges','Edges:','edge\x20','getNodeIterator','linkResultDirectedEdges','isBoundaryNode','matchInSameDirection','getEdgeEnds','debugPrint','getEdgeIterator','insertEdge','addEdges','_shellList','isHole','unable\x20to\x20assign\x20hole\x20to\x20a\x20shell','buildMinimalEdgeRings','placePolygonHoles','buildMaximalEdgeRings','getPolygons','computePolygons','findShell','found\x20two\x20shells\x20in\x20MinimalEdgeRing\x20list','sortShellsAndHoles','getBounds','_bounds','_item','getItem','_size','_items','reorder','visitItem','query','_childBoundables','_level','getLevel','getChildBoundables','addChildBoundable','computeBounds','singletonList','_boundable2','_distance','_itemDistance','expandToQueue','_boundable1','isComposite','area','expand','isLeaves','getDistance','getBoundable','_root','_built','DEFAULT_NODE_CAPACITY','_nodeCapacity','Node\x20capacity\x20must\x20be\x20greater\x20than\x201','getNodeCapacity','lastNode','removeItem','itemsTree','build','Cannot\x20insert\x20items\x20into\x20an\x20STR\x20packed\x20R-tree\x20after\x20it\x20has\x20been\x20built.','_itemBoundables','boundablesAtLevel','getIntersectsOp','createParentBoundables','createHigherLevels','depth','getComparator','compareDoubles','IntersectsOp','createParentBoundablesFromVerticalSlices','verticalSlices','nearestNeighbour','getRoot','POSITIVE_INFINITY','poll','avg','centreY','STRtreeNode','xComparator','centreX','yComparator','intersectsOp','relativeSign','compareValue','invalid\x20octant\x20value','_segString','segmentIndex','_segmentOctant','_isInterior','\x20seg\x20#\x20=\x20','isInterior','_nodeMap','addEndpoints','addEdgeCoordinates','addCollapsedNodes','findCollapsesFromExistingVertices','Intersections:','addSplitEdges','findCollapseIndex','findCollapsesFromInsertedNodes','getData','getSegmentOctant','Found\x20equal\x20nodes\x20with\x20different\x20coordinates','bad\x20split\x20edge\x20start\x20point\x20at\x20','octant','Cannot\x20compute\x20the\x20octant\x20for\x20point\x20(\x20','Cannot\x20compute\x20the\x20octant\x20for\x20two\x20identical\x20points\x20','_nodeList','_data','safeOctant','setData','addIntersection','addIntersectionNode','getNodeList','addIntersections','getNodedSubstrings','project','projectionFactor','angle','distancePerpendicular','distancePointLinePerpendicular','midPoint','closestPoints','closestPoint','Cannot\x20compute\x20offset\x20from\x20zero-length\x20line\x20segment','setCoordinates','segmentFraction','LINESTRING(\x20','isHorizontal','pointAlong','_overlapSeg1','_overlapSeg2','getLineSegment','overlap','_start','_end','_context','_id','tempEnv1','computeSelect','computeOverlaps','setId','select','getStartIndex','getContext','getId','tempEnv2','computeOverlapsInternal','findChainEnd','getChains','getChainStartIndices','toIntArray','computeNodes','_segInt','setSegmentIntersector','_monoChains','_index','_idCounter','_nodedSegStrings','_nOverlaps','getMonotoneChains','getIndex','intersectChains','SegmentOverlapAction','_si','processIntersections','_quadrantSegments','DEFAULT_QUADRANT_SEGMENTS','_endCapStyle','CAP_ROUND','JOIN_ROUND','_isSingleSided','_simplifyFactor','DEFAULT_SIMPLIFY_FACTOR','setQuadrantSegments','setEndCapStyle','setJoinStyle','setMitreLimit','isSingleSided','_joinStyle','getJoinStyle','setSimplifyFactor','getSimplifyFactor','getQuadrantSegments','getMitreLimit','bufferDistanceError','CAP_FLAT','JOIN_MITRE','DEFAULT_MITRE_LIMIT','_distanceTol','_isDeleted','_angleOrientation','_inputLine','isDeletable','isShallow','isShallowSampled','deleteShallowConcavities','findNextNonDeletedIndex','DELETE','isShallowConcavity','NUM_PTS_TO_CHECK','isConcave','collapseLine','simplify','INIT','KEEP','_ptList','_minimimVertexDistance','addPt','isRedundant','addPts','setMinimumVertexDistance','toDegrees','PI_TIMES_2','isAcute','interiorAngle','normalizePositive','diff','toRadians','getTurn','angleBetweenOriented','PI_OVER_2','PI_OVER_4','_maxCurveSegmentError','_filletAngleQuantum','_closingSegLengthFactor','_li','_s0','_s2','_seg0','_seg1','_offset0','_hasNarrowConcaveAngle','addNextSegment','_s1','computeOffsetSegment','_side','_offset1','addCollinear','addOutsideTurn','addInsideTurn','addLineEndCap','_bufParams','getEndCapStyle','_segList','addFilletArc','CAP_SQUARE','addLimitedMitreJoin','addFilletCorner','OFFSET_SEGMENT_SEPARATION_FACTOR','addMitreJoin','JOIN_BEVEL','addSegments','addFirstSegment','addLastSegment','initSideSegments','pointAlongOffset','createCircle','addBevelJoin','CURVE_VERTEX_SNAP_DISTANCE_FACTOR','hasNarrowConcaveAngle','INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR','getSegGen','computeOffsetCurve','computeSingleSidedBufferCurve','simplifyTolerance','computeRingBufferCurve','computeLineBufferCurve','createSquare','computePointCurve','getBufferParameters','getRingCurve','getLineCurve','copyCoordinates','_subgraphs','_seg','findStabbedSegments','_leftDepth','DepthSegment','_upwardSeg','compareX','interpolateZ','longestSideLength','circumcentre','area3D','inCentre','det','perpendicularBisector','angleBisector','_curveBuilder','_inputGeom','addPoint','addCurve','addPolygon','removeRepeatedPoints','isErodedCompletely','addPolygonRing','isTriangleErodedCompletely','addLineString','_curveList','getCurves','addCollection','_parent','_atStart','_max','isAtomic','_subcollectionIterator','locate','containsPointInPolygon','_edgeMap','_edgeList','_ptInAreaLocation','getNextCW','propagateSideLabels','side\x20location\x20conflict','EdgeEndStar:\x20\x20\x20','computeEdgeEndLabels','checkAreaLabelsConsistent','Found\x20non-area\x20edge','findIndex','getGeometry','getBoundaryNodeRule','getDegree','insertEdgeEnd','_SCANNING_FOR_INCOMING','getResultAreaEdges','_resultAreaEdgeList','_LINKING_TO_OUTGOING','unable\x20to\x20link\x20last\x20incoming\x20dirEdge','found\x20two\x20horizontal\x20edges\x20incident\x20on\x20node','DirectedEdgeStar:\x20','in\x20','updateLabelling','linkAllDirectedEdges','depth\x20mismatch\x20at\x20','findCoveredLineEdges','computeLabelling','_orientation','compareOriented','_ocaMap','findEdgeIndex','findEqualEdge','_hasIntersection','_hasProper','_hasInterior','_properIntersectionPoint','_isSelfIntersection','numInteriorIntersections','numProperIntersections','numTests','getProperIntersectionPoint','_hasProperInterior','getLineIntersector','hasProperIntersection','isTrivialIntersection','hasInteriorIntersection','isAdjacentSegments','getSegmentIndex','\x20dist\x20=\x20','createSplitEdge','pts','startIndex','env1','env2','computeIntersectsForChain','NULL_VALUE','getDelta','\x20B:\x20','depthAtLocation','_mce','_depthDelta','getCollapsedEdge','_isIsolated','setIsolated','setName','LINESTRING\x20(',')\x20\x20','isCollapsed','getMaximumSegmentIndex','eiList','isPointwiseEqual','setDepthDelta','getEdgeIntersectionList','setAtLeastIfValid','_workingPrecisionModel','_workingNoder','_graph','setWorkingPrecisionModel','depthDelta','createEmptyResultGeometry','getNoder','buffer','computeNodedEdges','setNoder','_noder','_scaleFactor','_offsetX','_offsetY','_isScaled','isIntegerPrecision','rescale','checkEndPtVertexIntersections','_segStrings','found\x20endpt/interior\x20pt\x20intersection\x20at\x20index\x20','\x20:pt\x20','checkInteriorIntersections','checkValid','checkCollapses','checkCollapse','found\x20non-noded\x20collapse\x20at\x20','fact','_pt','_originalPt','_ptScaled','_p0Scaled','_p1Scaled','_corner','Found\x20bad\x20envelope\x20test','initCorners','intersectsScaled','copyScaled','getSafeEnvelope','_safeEnv','intersectsPixelClosure','intersectsToleranceSquare','addSnappedNode','SAFE_ENV_EXPANSION_FACTOR','selectedSegment','snap','isNodeAdded','HotPixelSnapAction','_hotPixel','_parentEdge','_isNodeAdded','_hotPixelVertexIndex','_interiorIntersections','getInteriorIntersections','_pm','_pointSnapper','snapRound','computeIntersectionSnaps','computeVertexSnaps','findInteriorIntersections','_argGeom','bufferFixedPrecision','bufferReducedPrecision','MAX_PRECISION_DIGITS','_saveException','_resultGeometry','computeGeometry','bufferOriginalPrecision','getResultGeometry','precisionScaleFactor','CAP_BUTT','_isNull','setMinimum','initialize','setMaximum','computeDistance','getMaxPointDistance','computeMaxVertexDistance','findDistance','_maxPtDist','getDistancePoints','_minPtDist','_comps','_lines','_isForcedToLineString','setForceToLineString','getLines','_boundaryRule','OGC_SFS_BOUNDARY_RULE','Rule\x20must\x20be\x20non-null','locateInPolygonRing','updateLocationInfo','_isIn','_numBoundaries','computeLocation','locateInternal','_component','_segIndex','INSIDE_AREA','getGeometryComponent','getPoints','_locations','_ptLocator','_minDistanceLocation','_terminateDistance','computeContainmentDistance','_minDistance','computeMinDistanceLinesPoints','computeMinDistance','computeFacetDistance','computeMinDistanceLines','updateMinDistance','computeMinDistancePoints','isWithinDistance','nearestPoints','_g0','_g1','_ptDist','_densifyFrac','setDensifyFraction','Fraction\x20is\x20not\x20in\x20range\x20(0.0\x20-\x201.0]','compute','computeOrientedDistance','MaxPointDistanceFilter','MaxDensifiedByFractionDistanceFilter','_euclideanDist','_numSubSegs','_minValidDistance','_maxValidDistance','_minDistanceFound','_maxDistanceFound','_isValid','_errorLocation','_errorIndicator','_input','_bufDistance','checkMaximumDistance','orientedDistance','_errMsg','Distance\x20between\x20buffer\x20curve\x20and\x20input\x20is\x20too\x20large\x20(','\x20at\x20','MAX_DISTANCE_DIFF_FRAC','checkNegativeValid','VERBOSE','Min\x20Dist=\x20','\x20\x20err=\x20','\x20\x20Max\x20Dist=\x20','checkMinimumDistance','getErrorIndicator','getErrorLocation','getPolygonLines','getErrorMessage','_errorMsg','checkPolygonal','checkArea','checkDistance','checkEnvelope','MAX_ENV_DIFF_FRAC','report','Envelope','Area\x20of\x20positive\x20buffer\x20is\x20smaller\x20than\x20input','Area\x20of\x20negative\x20buffer\x20is\x20larger\x20than\x20input','Result\x20is\x20not\x20polygonal','Polygonal','checkExpectedEmpty','Result\x20is\x20non-empty','ExpectedEmpty','passed','FAILED','_isCheckEndSegmentsOnly','_interiorIntersection','_intSegments','_intersectionCount','_keepIntersections','getIntersectionSegments','_intersections','setFindAllIntersections','_findAllIntersections','setKeepIntersections','isEndSegment','createAllIntersectionsFinder','createAnyIntersectionFinder','createIntersectionCounter','getIntersections','execute','getInteriorIntersection','no\x20intersections\x20found','_nv','toSegmentStrings','_mapOp','_resultLineList','_op','collectLines','getGraph','collectLineEdge','_lineEdgesList','labelIsolatedLine','getArgGeometry','isResultOfOp','setVisitedEdge','labelIsolatedLines','buildLines','INTERSECTION','filterCoveredNodeToPoint','isCoveredByLA','_resultPointList','_pruneEmptyGeometry','_preserveGeometryCollectionType','_preserveCollections','_preserveType','transformCoordinates','transformLinearRing','createCoordinateSequence','getInputGeometry','transformMultiLineString','transformLineString','transformPolygon','transformGeometryCollection','transformMultiPoint','Unknown\x20Geometry\x20subtype:\x20','_snapTolerance','_srcPts','_allowSnappingToSourceVertices','_isClosed','snapVertices','findSnapForVertex','snapSegments','findSegmentIndexToSnap','_srcGeom','snapTo','extractTargetCoordinates','snapToSelf','computeMinimumSegmentLength','computeOverlaySnapTolerance','computeSizeBasedSnapTolerance','SNAP_PRECISION_FACTOR','_snapPts','_isSelfSnap','setAllowSnappingToSourceVertices','snapLine','_isFirst','_commonMantissaBitsCount','_commonBits','signExpBits','_commonSignExp','zeroLowerBits','0000000000000000000000000000000000000000000000000000000000000000','toBinaryString','(exp)\x20','getBit','numCommonMostSigMantissaBits','_commonCoord','_ccFilter','getCommonCoordinate','CommonCoordinateFilter','Translater','_commonBitsX','_commonBitsY','getCommon','trans','_cbr','computeSnapTolerance','selfSnap','prepareResult','addCommonBits','overlayOp','Snapped\x20geometry\x20is\x20invalid','removeCommonBits','UNION','SYMDIFFERENCE','difference','DIFFERENCE','mce','chainIndex','computeIntersections','_eventType','_insertEvent','_obj','_xValue','INSERT','setDeleteEventIndex','_deleteEventIndex','getObject','getInsertEvent','isInsert','isSameLabel','getDeleteEventIndex','_includeProper','_recordIsolated','_numIntersections','_bdyNodes','setIsDoneIfProperInt','_isDoneWhenProperInt','hasProperInteriorIntersection','isBoundaryPointInternal','_isDone','isBoundaryPoint','events','nOverlaps','prepareEvents','processOverlaps','getStartIndexes','_min','getMin','getMax','_node2','_node1','_leaves','buildTree','NodeComparator','buildLevel','Index\x20cannot\x20be\x20added\x20to\x20once\x20it\x20has\x20been\x20queried','buildRoot','printNode','getItems','SegmentVisitor','IntervalIndexedGeometry','_counter','addLine','_parentGeom','_lineEdgeMap','_argIndex','_boundaryNodes','_hasTooFewPoints','_invalidPoint','_areaPtLocator','_boundaryNodeRule','insertBoundaryPoint','computeSelfNodes','addSelfIntersectionNodes','computeEdgeIntersections','setBoundaryNodes','createEdgeSetIntersector','hasTooFewPoints','insertPoint','found\x20LineString\x20with\x20single\x20point','getBoundaryPoints','_useBoundaryDeterminationRule','addSelfIntersectionNode','determineBoundary','_resultPrecisionModel','_arg','setComputationPrecision','MapOp','_resultGeom','_resultPolyList','insertUniqueEdge','cancelDuplicateResultEdges','createEmptyResult','mergeSymLabels','replaceCollapsedEdges','updateNodeLabelling','insertUniqueEdges','computeOverlay','copyPoints','computeSplitEdges','computeLabelsFromDepths','labelIncompleteNodes','findResultAreaEdges','depth\x20of\x20RIGHT\x20side\x20has\x20not\x20been\x20initialized','labelIncompleteNode','isCoveredByA','symDifference','resultDimension','_boundaryDistanceTolerance','_linework','isWithinToleranceOfBoundary','extractLinework','getLinework','_doLeft','_doRight','extractPoints','computeOffsetPoints','_locFinder','_location','_invalidLocation','TOLERANCE','_testCoords','computeBoundaryDistanceTolerance','reportResult','Overlay\x20result\x20invalid\x20-\x20A:','\x20expected:','\x20actual:','addTestPts','hasLocation','isValidResult','_skipEmpty','_inputGeoms','extractFactory','extractElements','_geomFactory','combine','createList','_inputPolys','reduceToGeometries','unionTree','extractByEnvelope','unionActual','unionUsingEnvelopeIntersection','union()\x20method\x20cannot\x20be\x20called\x20twice','STRTREE_NODE_CAPACITY','binaryUnion','unionSafe','repeatedUnion','restrictToPolygons','bufferUnion','sphere','polygonStart','rotate','clipAngle','fitExtent','fitSize','projection','helpers','invariant','meta','elevation','commonProperties','breaksProperties','Input\x20must\x20contain\x20Points','breaks\x20must\x20be\x20an\x20Array','commonProperties\x20must\x20be\x20an\x20Object','breaksProperties\x20must\x20be\x20an\x20Array','flags','matrixPosition','concave','points\x20is\x20required','maxEdge','maxEdge\x20is\x20invalid','collect','invalid\x20tolerance','tag','sample','featurecollection\x20is\x20required','num\x20is\x20required','num\x20must\x20be\x20a\x20number','midpoint','centerOfMass','input\x20must\x20be\x20a\x20Polygon\x20or\x20MultiPolygon','bboxPolygon','booleanPointInPolygon','points\x20must\x20contain\x20features','line\x20must\x20be\x20a\x20LineString','planepoint','bearing','destination','kinks','Input\x20must\x20be\x20a\x20LineString,\x20MultiLineString,\x20Polygon,\x20or\x20MultiPolygon\x20Feature\x20or\x20Geometry','onLine1','onLine2','along','input\x20must\x20be\x20a\x20LineString\x20Feature\x20or\x20Geometry','distance\x20must\x20be\x20a\x20number','lineSlice','lineSliceAlong','truncate','lineIntersect','segmentLength\x20must\x20be\x20greater\x20than\x200','unkinkPolygon','npoints','lineSegment','lineSplit','line\x20must\x20be\x20LineString','splitter\x20cannot\x20be\x20a\x20FeatureCollection','splitter\x20cannot\x20be\x20a\x20GeometryCollection','lineArc','polygonToLine','lineToPolygon','bboxClip','geometry\x20','lineOverlap','sector','rhumbBearing','rhumbDestination','polygonTangents','rewind','\x20is\x20required','\x20must\x20be\x20a\x20boolean','\x20must\x20be\x20a\x20boolean','isobands','zProperty','breaks\x20is\x20required','breaks\x20is\x20not\x20an\x20Array','commonProperties\x20is\x20not\x20an\x20Object','breaksProperties\x20is\x20not\x20an\x20Array','lrCoordinates','grouped','groupedRings','transformRotate','transformScale','transformTranslate','zTranslation','zTranslation\x20is\x20not\x20a\x20number','direction\x20is\x20required','deleteDangles','booleanCrosses','booleanClockwise','booleanOverlap','booleanPointOnLine','cleanCoords','clustersDbscan','minPoints','maxDistance\x20is\x20required','Invalid\x20maxDistance','dbscan','cluster','numberOfClusters','idxs','line2\x20is\x20required','line1','line1\x20must\x20be\x20a\x20LineString','line2','line2\x20must\x20be\x20a\x20LineString','shortestPath','minDistance','end\x20is\x20required','invalid\x20obstacles','links','extent','centerMean','centerMedian','counter','counter\x20must\x20be\x20a\x20number','standardDeviationalEllipse','steps\x20must\x20be\x20an\x20number','intersect','dissolve','propertyName','origIndexPosition','squareGrid','gridType','property','input\x20must\x20contain\x20Points','cellSize\x20is\x20required','weight\x20must\x20be\x20a\x20number','square','hex','triangle','invalid\x20gridType','zValue\x20is\x20missing','pointOnSurface','polygonToLineString','lineStringToPolygon','inside','within','nearest','pointOnLine','lineDistance','degrees2radians','distanceToDegrees','distanceToRadians','radiansToDistance','bearingToAngle','convertDistance','toWgs84','randomPosition','randomPolygon','randomLineString','clusterReduce','createBins','applyFilter','propertiesContainsFilter','filterProperties','unitsFactors','areaFactors','lineStrings','featureCollection','multiLineString','multiPoint','multiPolygon','geometryCollection','radiansToLength','lengthToRadians','lengthToDegrees','degreesToRadians','convertLength','convertArea','isNumber','isObject','validateId','getCoords','containsNumber','geojsonType','featureOf','collectionOf','getGeomType','coordReduce','featureReduce','coordAll','geomEach','geomReduce','flattenEach','flattenReduce','segmentReduce','define','./node_modules/asn1.js/lib/asn1/api.js','./node_modules/asn1.js/lib/asn1/base/index.js','constants','encoders','./node_modules/asn1.js/lib/asn1/encoders/index.js','./node_modules/inherits/inherits_browser.js','decoders','_createNamed','./node_modules/vm-browserify/index.js','runInThisContext','(function\x20','(entity)\x20{\x0a\x20\x20this._initNamed(entity);\x0a})','_initNamed','_getDecoder','der','encode','Reporter','./node_modules/buffer/index.js','Buffer','isBuffer','base','error','Input\x20not\x20Buffer','non-byte\x20EncoderBuffer\x20value','byteLength','DecoderBuffer','restore','reporter','readUInt8','DecoderBuffer\x20overrun','skip','_reporterState','raw','EncoderBuffer','./node_modules/asn1.js/lib/asn1/base/reporter.js','./node_modules/asn1.js/lib/asn1/base/buffer.js','Node','./node_modules/asn1.js/lib/asn1/base/node.js','seq','setof','objid','bool','gentime','enum','int','objDesc','charstr','genstr','graphstr','iso646str','numstr','printstr','t61str','unistr','utf8str','use','optional','explicit','implicit','any','_baseState','enc','args','reverseArgs','choice','obj','useDecoder','_wrap','Root\x20node\x20can\x20have\x20only\x20one\x20child','_useArgs','_peekTag','_decodeStr','_decodeObjid','_decodeTime','_decodeNull','_decodeInt','_decodeBool','_decodeList','_encodeComposite','_encodeStr','_encodeTime','_encodeBool','\x20not\x20implemented\x20for\x20encoding:\x20','_decode','wrapResult','enterKey','isError','save','_decodeGeneric','_decodeChoice','_decodeTag','track','tagged','octstr','leaveKey','seqof','null_','_getUse','unknown\x20tag:\x20','_use','Choice\x20not\x20matched','_createEncoderBuffer','_encode','_encodeValue','_skipDefault','Child\x20should\x20have\x20a\x20key','Child\x20expected,\x20but\x20input\x20is\x20not\x20object','Too\x20many\x20args\x20for\x20:\x20','seqof/setof,\x20but\x20data\x20is\x20not\x20Array','context','Tag\x20could\x20be\x20omitted\x20only\x20for\x20.use()','_encodeChoice','\x20not\x20found\x20in\x20','_encodePrimitive','test','_encodeObjid','utctime','_encodeNull','_encodeInt','Unsupported\x20tag:\x20','_isNumstr','_isPrintstr','pathLen','exitKey','enterObject','leaveObject','options','errors','rethrow','\x20at:\x20','(shallow)','captureStackTrace','./node_modules/asn1.js/lib/asn1/constants/index.js','tagClass','universal','application','tagClassByName','_reverse','bitstr','real','embed','relativeOid','videostr','ia5str','./node_modules/asn1.js/lib/asn1/constants/der.js','./node_modules/asn1.js/lib/asn1.js','entity','tree','body','decode','Failed\x20to\x20peek\x20tag:\x20\x22','tagStr','Failed\x20to\x20decode\x20tag\x20of\x20\x22','primitive','Failed\x20to\x20get\x20length\x20of\x20\x22','Failed\x20to\x20match\x20tag:\x20\x22','Failed\x20to\x20match\x20body\x20of:\x20\x22','_skipUntilEnd','Failed\x20to\x20skip\x20indefinite\x20length\x20body:\x20\x22','Decoding\x20of\x20string\x20type:\x20bmpstr\x20length\x20mismatch','fromCharCode','readUInt16BE','ascii','Decoding\x20of\x20string\x20type:\x20printstr\x20unsupported\x20characters','Decoding\x20of\x20string\x20type:\x20','\x20unsupported','Decoding\x20','\x20time\x20is\x20not\x20supported\x20yet','UTC','./node_modules/asn1.js/lib/asn1/decoders/der.js','./node_modules/asn1.js/lib/asn1/decoders/pem.js','match','END','BEGIN','PEM\x20section\x20not\x20found\x20for:\x20','base64','tagByName','Unknown\x20tag:\x20','Multi-octet\x20tag\x20encoding\x20unsupported','bmpstr','writeUInt16BE','charCodeAt','Encoding\x20of\x20string\x20type:\x20','string\x20objid\x20given,\x20but\x20no\x20values\x20map\x20found','objid\x20not\x20found\x20in\x20values\x20map','objid()\x20should\x20be\x20either\x20array\x20or\x20string,\x20got:\x20','Second\x20objid\x20identifier\x20OOB','getUTCMonth','getUTCHours','getUTCMinutes','getUTCSeconds','getFullYear','getUTCDate','String\x20int\x20or\x20enum\x20given,\x20but\x20no\x20values\x20map','Values\x20map\x20doesn\x27t\x20contain:\x20','_getEncoder','defaultBuffer','./node_modules/asn1.js/lib/asn1/encoders/der.js','pem','./node_modules/asn1.js/lib/asn1/encoders/pem.js','-----BEGIN\x20','-----','-----END\x20','toByteArray','Invalid\x20string.\x20Length\x20must\x20be\x20a\x20multiple\x20of\x204','./node_modules/bezier-js/lib/bezier.js','acos','./node_modules/bezier-js/lib/utils.js','./node_modules/bezier-js/lib/poly-bezier.js','Only\x20new\x20Bezier(point[])\x20is\x20accepted\x20for\x204th\x20and\x20higher\x20order\x20curves','_3d','dims','dimlen','order','align','_linear','_t1','update','./node_modules/bezier-js/lib/svg-to-beziers.js','abcratio','SVGtoBeziers','quadraticFromPoints','cubicFromPoints','getUtils','PolyBezier','_lut','dpoints','derive','computedirection','clockwise','derivative','bind','getLUT','mdist','mpos','curvature','inflections','__normal2','lerp','_t2','droots','numberSort','bboxoverlap','normal','extrema','simple','raise','lli4','cannot\x20scale\x20this\x20curve.\x20Try\x20reducing\x20it\x20first.','makeline','curves','makeshape','startcap','virtual','endcap','lineIntersects','curveintersects','roots','between','overlaps','pairiteration','_iterate','getccenter','interval','\x20$1\x20','|$1','expandbox','./node_modules/bezier-js/lib/normalise-svg.js','MAX_SAFE_INTEGER','MIN_SAFE_INTEGER','approximately','Tvalues','arcfn','pointToString','lli8','forward','back','findbbox','intersections','shapeintersections','mid','isBN','negative','red','wordSize','cmp','_initNumber','_initArray','_parseHex','_parseBase','strip','words','_iaddn','imuln','_expand','_normSign','','_zeroDbl','_threeDbl','_dbl','trpl','','/*\x20','\x20*/','startsWith','//#\x20sourceURL=','proxy',';(function(window,\x20self){with(window){;',';(function(window,\x20self){;','}).bind(window.proxy)(window.proxy,\x20window.proxy);','getInlineCode','status','\x20load\x20failed\x20with\x20status\x20','text','src','async','requestIdleCallback','mark','clearMarks','measure','clearMeasures','success','beforeExec','Evaluating\x20script\x20','Evaluating\x20Time\x20Consuming:\x20','noteGlobalProps','getGlobalProp','[import-html-entry]:\x20error\x20occurs\x20while\x20executing\x20entry\x20script\x20','[import-html-entry]:\x20error\x20occurs\x20while\x20executing\x20normal\x20script\x20','[import-html-entry]:\x20error\x20occurs\x20while\x20executing\x20async\x20script\x20','defaultGetPublicPath','getPublicPath','getDomain','getTemplate','template','scripts','entry','entry\x20should\x20not\x20be\x20empty!','styles','html','reduceRight','resolve','entry\x20scripts\x20or\x20styles\x20should\x20be\x20array!','genLinkReplaceSymbol','genScriptReplaceSymbol','genIgnoreAssetReplaceSymbol','genModuleScriptReplaceSymbol','./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/slicedToArray.js','http://','https://','prefetch/preload','\x20link\x20','\x20replaced\x20by\x20import-html-entry\x20-->','','','style\x20file','text/javascript','You\x20should\x20not\x20set\x20multiply\x20entry\x20script!','js\x20file','./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/typeof.js','userAgent','Trident','frames','protocol','href','warn','createElement','script','now','return','Invalid\x20attempt\x20to\x20destructure\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.','./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js','./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/nonIterableRest.js','./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/arrayLikeToArray.js','Set','Arguments','super_','0123456789abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/','setPrototypeOf','0123456789ABCDEF','\x20\x0c\x0a\x0d\x09\u00a0\u2028\u2029','Illegal\x20character\x20at\x20offset\x20','Hex\x20encoding\x20incomplete:\x204\x20bits\x20missing','=\x20\x0c\x0a\x0d\x09\u00a0\u2028\u2029','Base64\x20encoding\x20incomplete:\x20at\x20least\x202\x20bits\x20missing','buf','only\x20base\x2010\x20is\x20supported','hexDigits','Requesting\x20byte\x20offset\x20','\x20on\x20a\x20stream\x20of\x20length\x20','hexByte','hexDump','isASCII','parseStringISO','parseStringUTF','parseStringBMP','parseTime','\x20UTC','Unrecognized\x20time:\x20','parseInteger','\x20bit)\x0a','parseBitString','parseOctetString','\x20byte)\x0a','parseOID','EOC','BIT_STRING','OCTET_STRING','NULL','OBJECT_IDENTIFIER','REAL','ENUMERATED','SEQUENCE','NumericString','PrintableString','TeletexString','VideotexString','GraphicString','VisibleString','UniversalString','Universal_','tagNumber','Private_','posContent','isUniversal','\x20elem)','false','true','(no\x20elem)','typeName','[header:','null','toPrettyString','tagConstructed','\x20(constructed)','\x20(encapsulates)','posStart','header','posEnd','toHexString','decodeLength','Length\x20over\x2048\x20bits\x20not\x20supported\x20at\x20position\x20','getHexStringValue','Content\x20size\x20is\x20not\x20correct\x20for\x20container\x20starting\x20at\x20offset\x20','isEOC','BIT\x20STRINGs\x20with\x20unused\x20bits\x20cannot\x20encapsulate.','EOC\x20is\x20not\x20supposed\x20to\x20be\x20actual\x20content.','We\x20can\x27t\x20skip\x20over\x20an\x20invalid\x20tag\x20with\x20undefined\x20length\x20at\x20offset\x20','fromString','toRadix','subTo','divRemTo','copyTo','byteValue','shortValue','bitwiseTo','andNot','not','shiftLeft','rShiftTo','shiftRight','lShiftTo','getLowestSetBit','testBit','changeBit','flipBit','addTo','modPow','convert','sqrTo','modInverse','ZERO','gcd','isProbablePrime','modInt','millerRabin','fromInt','fromRadix','dlShiftTo','drShiftTo','multiplyTo','squareTo','invDigit','revert','chunkSize','dMultiply','dAddOffset','fromNumber','nextBytes','multiplyLowerTo','multiplyUpperTo','gcda','mpl','mph','mt2','Microsoft\x20Internet\x20Explorer','appName','Netscape','removeEventListener','detachEvent','onmousemove','addEventListener','mousemove','attachEvent','dmp1','coeff','doPublic','modPowInt','doPrivate','dmq1','setPublic','Invalid\x20RSA\x20public\x20key','Message\x20too\x20long\x20for\x20RSA','Invalid\x20RSA\x20private\x20key','setPrivateEx','generateAsync','0001','3020300c06082a864886f70d020505000410','3021300906052b0e03021a05000414','3041300d060960864801650304020205000430','3051300d060960864801650304020305000440','3021300906052b2403020105000414','YAHOO.lang.extend\x20failed,\x20please\x20check\x20that\x20all\x20dependencies\x20are\x20included.','superclass','asn1','ASN1Util','bigIntToMinTwosComplementsHex','newObject','DERBoolean','DERInteger','DEROctetString','DERObjectIdentifier','DERUTF8String','DERNumericString','DERUTCTime','DERGeneralizedTime','key\x20of\x20param\x20shall\x20be\x20only\x20one.',':bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:','oid','prnstr','obj\x20shall\x20be\x20specified\x20for\x20\x27tag\x27.','jsonToASN1HEX','getEncodedHex','oidHexToInt','oidIntToHex','malformed\x20oid\x20string:\x20','getLengthHexFromValue','value\x20hex\x20must\x20be\x20even\x20length:\x20n=',',v=','ASN.1\x20length\x20too\x20long\x20to\x20represent\x20by\x208x:\x20n\x20=\x20','isModified','getFreshValueHex','hTLV','getValueHex','DERAbstractString','getString','setString','setStringHex','lang','extend','DERAbstractTime','localDateToUTC','getTimezoneOffset','formatDate','zeroPadding','utc','getMonth','getHours','getMinutes','getSeconds','getMilliseconds','setByDateValue','setByDate','ASN1Object','DERAbstractStructured','setByASN1ObjectArray','asn1Array','appendASN1Object','array','setByBigInteger','setByInteger','setValueHex','bigint','setUnusedBitsAndHexValue','unused\x20bits\x20shall\x20be\x20from\x200\x20to\x207:\x20u\x20=\x20','setByBinaryString','newFalseArray','setHexValueIncludingUnusedBits','bin','DERBitString','DERNull','0500','setValueOidString','DERObjectIdentifier\x20oidName\x20undefined:\x20','setValueName','DEREnumerated','DERPrintableString','DERTeletexString','DERIA5String','date','withMillis','gen','millis','DERSequence','DERSet','sortFlag','sortflag','DERTaggedObject','isExplicit','asn1Object','setASN1Object','parseKey','hasPublicKeyProperty','parsePropertiesFrom','getPrivateBaseKey','getPrivateBaseKeyB64','getPublicBaseKeyB64','getPublicBaseKey','})(\x20+|$\x0a?)|(.{1,','wordwrap','-----END\x20RSA\x20PRIVATE\x20KEY-----','-----END\x20PUBLIC\x20KEY-----','hasPrivateKeyProperty','default_key_size','default_public_exponent','setKey','3.0.0-rc.1','JSEncrypt','./node_modules/lodash/_getNative.js','./node_modules/lodash/_root.js','DataView','./node_modules/lodash/_hashClear.js','./node_modules/lodash/_hashDelete.js','./node_modules/lodash/_hashGet.js','./node_modules/lodash/_hashHas.js','./node_modules/lodash/_hashSet.js','delete','./node_modules/lodash/_listCacheDelete.js','./node_modules/lodash/_listCacheGet.js','./node_modules/lodash/_listCacheHas.js','./node_modules/lodash/_listCacheSet.js','Map','./node_modules/lodash/_mapCacheClear.js','./node_modules/lodash/_mapCacheGet.js','./node_modules/lodash/_mapCacheSet.js','Promise','./node_modules/lodash/_stackClear.js','./node_modules/lodash/_stackDelete.js','./node_modules/lodash/_stackGet.js','./node_modules/lodash/_stackHas.js','./node_modules/lodash/_stackSet.js','Symbol','Uint8Array','./node_modules/lodash/isArguments.js','./node_modules/lodash/isArray.js','./node_modules/lodash/isBuffer.js','./node_modules/lodash/_isIndex.js','byteOffset','./node_modules/lodash/eq.js','./node_modules/lodash/_baseAssignValue.js','./node_modules/lodash/keys.js','./node_modules/lodash/_copyObject.js','./node_modules/lodash/keysIn.js','./node_modules/lodash/_defineProperty.js','./node_modules/lodash/_Stack.js','./node_modules/lodash/_arrayEach.js','./node_modules/lodash/_assignValue.js','./node_modules/lodash/_baseAssign.js','./node_modules/lodash/_baseAssignIn.js','./node_modules/lodash/_cloneBuffer.js','./node_modules/lodash/_copyArray.js','./node_modules/lodash/_getAllKeys.js','./node_modules/lodash/_getAllKeysIn.js','./node_modules/lodash/_getTag.js','./node_modules/lodash/_initCloneArray.js','./node_modules/lodash/_initCloneByTag.js','./node_modules/lodash/isMap.js','./node_modules/lodash/isSet.js','[object\x20Function]','[object\x20GeneratorFunction]','[object\x20Object]','[object\x20ArrayBuffer]','[object\x20DataView]','[object\x20Float64Array]','[object\x20Int8Array]','[object\x20Int16Array]','[object\x20Int32Array]','[object\x20Map]','[object\x20Number]','[object\x20String]','[object\x20Symbol]','[object\x20Uint8Array]','[object\x20Uint32Array]','[object\x20Error]','[object\x20WeakMap]','./node_modules/lodash/isObject.js','./node_modules/lodash/_arrayPush.js','./node_modules/lodash/_isFlattenable.js','./node_modules/lodash/_createBaseFor.js','./node_modules/lodash/_Symbol.js','./node_modules/lodash/_getRawTag.js','./node_modules/lodash/_objectToString.js','[object\x20Null]','[object\x20Undefined]','./node_modules/lodash/isObjectLike.js','./node_modules/lodash/isFunction.js','\x5c$&','[object\x20Set]','./node_modules/lodash/_baseGetTag.js','./node_modules/lodash/isLength.js','[object\x20Float32Array]','[object\x20Uint8ClampedArray]','./node_modules/lodash/_nativeKeys.js','./node_modules/lodash/_nativeKeysIn.js','./node_modules/lodash/_baseMergeDeep.js','./node_modules/lodash/_safeGet.js','./node_modules/lodash/_cloneTypedArray.js','./node_modules/lodash/_initCloneObject.js','./node_modules/lodash/isArrayLikeObject.js','./node_modules/lodash/isPlainObject.js','./node_modules/lodash/isTypedArray.js','./node_modules/lodash/toPlainObject.js','./node_modules/lodash/identity.js','./node_modules/lodash/_overRest.js','./node_modules/lodash/_setToString.js','./node_modules/lodash/constant.js','./node_modules/lodash/_arrayMap.js','./node_modules/lodash/isSymbol.js','nodeType','./node_modules/lodash/_cloneArrayBuffer.js','source','lastIndex','./node_modules/lodash/_getSymbolsIn.js','__core-js_shared__','./node_modules/lodash/_baseRest.js','./node_modules/lodash/_isIterateeCall.js','./node_modules/lodash/_arrayReduce.js','./node_modules/lodash/deburr.js','./node_modules/lodash/words.js','[\x27’]','./node_modules/lodash/_basePropertyOf.js','Object','./node_modules/lodash/_baseGetAllKeys.js','./node_modules/lodash/_isKeyable.js','__data__','./node_modules/lodash/_baseIsNative.js','./node_modules/lodash/_arrayFilter.js','propertyIsEnumerable','./node_modules/lodash/_getPrototype.js','./node_modules/lodash/_getSymbols.js','./node_modules/lodash/_DataView.js','./node_modules/lodash/_Map.js','./node_modules/lodash/_Promise.js','./node_modules/lodash/_Set.js','./node_modules/lodash/_WeakMap.js','./node_modules/lodash/_toSource.js','[object\x20Promise]','./node_modules/lodash/_nativeCreate.js','__lodash_hash_undefined__','input','./node_modules/lodash/_cloneDataView.js','./node_modules/lodash/_cloneRegExp.js','[object\x20Boolean]','[object\x20Uint16Array]','./node_modules/lodash/_baseCreate.js','./node_modules/lodash/_isPrototype.js','isConcatSpreadable','./node_modules/lodash/isArrayLike.js','IE_PROTO','Symbol(src)_1.','./node_modules/lodash/_assocIndexOf.js','./node_modules/lodash/_Hash.js','./node_modules/lodash/_ListCache.js','./node_modules/lodash/_getMapData.js','./node_modules/lodash/_overArg.js','./node_modules/lodash/_freeGlobal.js','require','binding','./node_modules/lodash/_apply.js','./node_modules/lodash/_shortOut.js','./node_modules/lodash/_MapCache.js','\x5cd+','[\x5cu2700-\x5cu27bf]','[^\x5cud800-\x5cudfff','(?:\x5cud83c[\x5cudde6-\x5cuddff]){2}','[\x5cud800-\x5cudbff][\x5cudc00-\x5cudfff]','[A-Z\x5cxc0-\x5cxd6\x5cxd8-\x5cxde]','(?:','(?:[\x5cu0300-\x5cu036f\x5cufe20-\x5cufe2f\x5cu20d0-\x5cu20ff]|\x5cud83c[\x5cudffb-\x5cudfff])?','(?:\x5cu200d(?:',')[\x5cufe0e\x5cufe0f]?','+(?:[\x27’](?:d|ll|m|re|s|t|ve))?(?=','+(?:[\x27’](?:D|LL|M|RE|S|T|VE))?(?=','+(?:[\x27’](?:d|ll|m|re|s|t|ve))?','+(?:[\x27’](?:D|LL|M|RE|S|T|VE))?','\x5cd*(?:1ST|2ND|3RD|(?![123])\x5cdTH)(?=\x5cb|[a-z_])','./node_modules/lodash/_baseFlatten.js','[\x5cu0300-\x5cu036f\x5cufe20-\x5cufe2f\x5cu20d0-\x5cu20ff]','./node_modules/lodash/_baseIsArguments.js','[object\x20AsyncFunction]','[object\x20Proxy]','./node_modules/lodash/_baseIsMap.js','./node_modules/lodash/_baseIsSet.js','./node_modules/lodash/_baseUnary.js','./node_modules/lodash/_nodeUtil.js','isSet','./node_modules/lodash/_baseIsTypedArray.js','./node_modules/lodash/_arrayLikeKeys.js','./node_modules/lodash/_baseKeys.js','./node_modules/lodash/_baseKeysIn.js','Unsupported\x20core-js\x20use.\x20Try\x20https://npms.io/search?q=ponyfill.','__lodash_placeholder__','ary','bindKey','curryRight','partial','[object\x20DOMException]','[object\x20WeakSet]','\x5cxac\x5cxb1\x5cxd7\x5cxf7\x5cx00-\x5cx2f\x5cx3a-\x5cx40\x5cx5b-\x5cx60\x5cx7b-\x5cxbf\x5cu2000-\x5cu206f\x20\x5ct\x5cx0b\x5cf\x5cxa0\x5cufeff\x5cn\x5cr\x5cu2028\x5cu2029\x5cu1680\x5cu180e\x5cu2000\x5cu2001\x5cu2002\x5cu2003\x5cu2004\x5cu2005\x5cu2006\x5cu2007\x5cu2008\x5cu2009\x5cu200a\x5cu202f\x5cu205f\x5cu3000','[\x5cud800-\x5cudfff]','[a-z\x5cxdf-\x5cxf6\x5cxf8-\x5cxff]','\x5cu2700-\x5cu27bfa-z\x5cxdf-\x5cxf6\x5cxf8-\x5cxffA-Z\x5cxc0-\x5cxd6\x5cxd8-\x5cxde]','\x5cud83c[\x5cudffb-\x5cudfff]','[\x5cufe0e\x5cufe0f]?','(?=','\x5cd*(?:1st|2nd|3rd|(?![123])\x5cdth)(?=\x5cb|[A-Z_])','[\x5cu200d\x5cud800-\x5cudfff','\x5cufe0e\x5cufe0f]','Date','Float32Array','Float64Array','Int8Array','Int16Array','String','Uint16Array','Uint32Array','WeakMap','clearTimeout','setTimeout','u2028','u2029','return\x20this','util','isArrayBuffer','isMap','>','"','Error','Math','RegExp','$1.*?','__wrapped__','__actions__','__chain__','__values__','__dir__','__filtered__','__iteratees__','__views__','templateSettings','criteria','func','thisArg','thru','wrapper','placeholder','iteratee','{\x0a/*\x20[wrapped\x20with\x20',']\x20*/\x0a','__index__','maxWait','trailing','cancel','Cache','chain','after','assignIn','assignInWith','assignWith','before','bindAll','castArray','chunk','cond','conforms','constant','countBy','defaults','defaultsDeep','defer','differenceBy','differenceWith','dropRightWhile','dropWhile','flatMap','flatMapDeep','flatMapDepth','flattenDeep','flattenDepth','flow','flowRight','fromPairs','functions','functionsIn','groupBy','initial','intersectionBy','intersectionWith','invokeMap','keysIn','mapValues','matches','matchesProperty','mergeWith','method','methodOf','mixin','nthArg','omit','omitBy','orderBy','over','overArgs','overSome','partialRight','partition','pick','pickBy','pull','pullAll','pullAllBy','pullAllWith','pullAt','range','rangeRight','reject','rest','sampleSize','setWith','sortBy','sortedUniq','sortedUniqBy','spread','tail','take','takeRightWhile','takeWhile','throttle','leading','toPairs','toPairsIn','toPath','toPlainObject','unary','unionBy','uniqWith','valuesIn','without','xorBy','xorWith','zipObject','entriesIn','attempt','capitalize','cloneWith','conformsTo','deburr','defaultTo','endsWith','escape','escapeRegExp','findKey','findLast','findLastIndex','findLastKey','forEachRight','forIn','forOwn','forOwnRight','gte','hasIn','identity','invoke','isElement','isEqualWith','isLength','isNil','isObjectLike','isPlainObject','isSafeInteger','isTypedArray','isWeakMap','isWeakSet','last','lowerCase','lowerFirst','maxBy','mean','meanBy','minBy','stubArray','stubFalse','stubObject','stubString','stubTrue','nth','noConflict','noop','pad','padEnd','1e-','runInContext','sortedIndex','sortedIndexBy','sortedIndexOf','sortedLastIndexBy','sortedLastIndexOf','startCase','imports','evaluate','sourceURL','lodash.templateSources[','\x27\x20+\x0a__e(',')\x20+\x0a\x27','\x27;\x0a',';\x0a__p\x20+=\x20\x27','\x27\x20+\x0a((__t\x20=\x20(','))\x20==\x20null\x20?\x20\x27\x27\x20:\x20__t)\x20+\x0a\x27','variable','$1;','function(',')\x20{\x0a','obj\x20||\x20(obj\x20=\x20{});\x0a','var\x20__t,\x20__p\x20=\x20\x27\x27',',\x20__e\x20=\x20_.escape',',\x20__j\x20=\x20Array.prototype.join;\x0afunction\x20print()\x20{\x20__p\x20+=\x20__j.call(arguments,\x20\x27\x27)\x20}\x0a','return\x20__p\x0a}','return\x20','times','toInteger','toLength','toLower','toSafeInteger','toUpper','separator','omission','global','unescape','uniqueId','upperCase','upperFirst','eachRight','VERSION','4.17.11','curry','__takeCount__','Right','head','drop','compact','takeRight','dropRight','tap','first','./node_modules/lodash/_baseMerge.js','./node_modules/lodash/_createAssigner.js','./node_modules/lodash/_createCompounder.js','./node_modules/lodash/_asciiWords.js','./node_modules/lodash/_hasUnicodeWord.js','./node_modules/lodash/_unicodeWords.js','writeInt32LE','_randbelow','_randrange','getDivisor','Assertion\x20failed:\x20','\x20!=\x20','{\x222.16.840.1.101.3.4.1.1\x22:\x22aes-128-ecb\x22,\x222.16.840.1.101.3.4.1.2\x22:\x22aes-128-cbc\x22,\x222.16.840.1.101.3.4.1.3\x22:\x22aes-128-ofb\x22,\x222.16.840.1.101.3.4.1.4\x22:\x22aes-128-cfb\x22,\x222.16.840.1.101.3.4.1.21\x22:\x22aes-192-ecb\x22,\x222.16.840.1.101.3.4.1.22\x22:\x22aes-192-cbc\x22,\x222.16.840.1.101.3.4.1.23\x22:\x22aes-192-ofb\x22,\x222.16.840.1.101.3.4.1.24\x22:\x22aes-192-cfb\x22,\x222.16.840.1.101.3.4.1.41\x22:\x22aes-256-ecb\x22,\x222.16.840.1.101.3.4.1.42\x22:\x22aes-256-cbc\x22,\x222.16.840.1.101.3.4.1.43\x22:\x22aes-256-ofb\x22,\x222.16.840.1.101.3.4.1.44\x22:\x22aes-256-cfb\x22}','certificate','./node_modules/parse-asn1/certificate.js','RSAPrivateKey','privateExponent','RSAPublicKey','SubjectPublicKeyInfo','subjectPublicKey','PublicKey','AlgorithmIdentifier','PrivateKeyInfo','subjectPrivateKey','PrivateKey','EncryptedPrivateKeyInfo','kde','kdeparams','cipher','algo','DSAPrivateKey','priv_key','DSAparam','ECPrivateKey','parameters','publicKey','RelativeDistinguishedName','RDNSequence','Name','Validity','critical','def','extnValue','serialNumber','issuer','subject','subjectPublicKeyInfo','issuerUniqueID','subjectUniqueID','X509Certificate','tbsCertificate','signatureValue','aes','./node_modules/parse-asn1/asn1.js','./node_modules/parse-asn1/aesid.json','./node_modules/parse-asn1/fixProc.js','./node_modules/pbkdf2/browser.js','CERTIFICATE','PUBLIC\x20KEY','1.2.840.113549.1.1.1','1.2.840.10045.2.1','pub_key','unknown\x20key\x20type\x20','salt','iters','PRIVATE\x20KEY','privateKey','1.2.840.10040.4.1','unknown\x20key\x20id\x20','RSA\x20PUBLIC\x20KEY','DSA\x20PRIVATE\x20KEY','EC\x20PRIVATE\x20KEY','cwd','Arguments\x20to\x20path.resolve\x20must\x20be\x20strings','isAbsolute','relative','sep','delimiter','extname','./node_modules/pbkdf2/lib/async.js','./node_modules/pbkdf2/lib/sync-browser.js','./node_modules/pbkdf2/lib/default-encoding.js','subtle','SHA-1','SHA-256','SHA-384','SHA-512','importKey','PBKDF2','deriveBits','nextTick','No\x20callback\x20provided\x20to\x20pbkdf2','process','browser','./node_modules/process/browser.js','\x20must\x20be\x20a\x20buffer\x20or\x20string','Password','Salt','Iterations\x20not\x20a\x20number','Bad\x20iterations','Key\x20length\x20not\x20a\x20number','Bad\x20key\x20length','./node_modules/create-hash/md5.js','./node_modules/pbkdf2/lib/precondition.js','ipad1','opad','alg','blocksize','ipad2','Byte','Short','Long','Ascii','Rational','SRational','Undefined','0th','Exif','Exif','tiftag','1.0.4','data:image/jpg;base64,','Given\x20data\x20is\x20not\x20jpeg.','data:image/jpeg;base64,','\x27load\x27\x20gots\x20invalid\x20type\x20argument.','endian_mark','get_ifd','first_ifd_pointer','GPS','Interop','','1st','thumbnail','ExifIFD','InteroperabilityTag','ImageIFD','ExifTag','GPSTag','Given\x20thumbnail\x20is\x20too\x20large.\x20max\x2064kB','','','ExifMM*','Image','Exif\x20might\x20be\x20wrong.\x20Got\x20incorrect\x20value\x20type\x20to\x20decode.\x20type:','btoa','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=','atob','\x20marks,\x20','\x27pack\x27\x20error.','\x27unpack\x27\x20error.\x20Got\x20invalid\x20type\x20argument.','\x27unpack\x27\x20error.\x20Got\x20invalid\x20mark.','\x27unpack\x27\x20error.\x20Mismatch\x20between\x20symbol\x20and\x20string\x20length.\x20','NewSubfileType','SubfileType','ImageWidth','BitsPerSample','Threshholding','CellWidth','CellLength','FillOrder','DocumentName','ImageDescription','Make','StripOffsets','Orientation','SamplesPerPixel','StripByteCounts','YResolution','GrayResponseUnit','T6Options','ResolutionUnit','TransferFunction','DateTime','WhitePoint','PrimaryChromaticities','ColorMap','HalftoneHints','TileWidth','TileLength','TileOffsets','TileByteCounts','InkSet','InkNames','TargetPrinter','ExtraSamples','SampleFormat','SMinSampleValue','SMaxSampleValue','TransferRange','XClipPathUnits','YClipPathUnits','Indexed','OPIProxy','JPEGProc','JPEGInterchangeFormat','JPEGInterchangeFormatLength','JPEGRestartInterval','JPEGLosslessPredictors','JPEGPointTransforms','JPEGQTables','JPEGDCTables','JPEGACTables','YCbCrCoefficients','YCbCrSubSampling','YCbCrPositioning','ReferenceBlackWhite','RatingPercent','CFAPattern','BatteryLevel','Copyright','ImageResources','InterColorProfile','Interlace','TimeZoneOffset','SelfTimerMode','SpatialFrequencyResponse','FocalPlaneXResolution','FocalPlaneYResolution','FocalPlaneResolutionUnit','SecurityClassification','ImageHistory','SensingMethod','XPComment','XPAuthor','XPSubject','PrintImageMatching','DNGVersion','DNGBackwardVersion','LocalizedCameraModel','CFALayout','BlackLevelRepeatDim','BlackLevel','BlackLevelDeltaH','DefaultCropOrigin','DefaultCropSize','ColorMatrix2','CameraCalibration1','CameraCalibration2','ReductionMatrix1','AnalogBalance','AsShotWhiteXY','BaselineExposure','BaselineNoise','BayerGreenSplit','LinearResponseLimit','LensInfo','AntiAliasStrength','ShadowScale','DNGPrivateData','CalibrationIlluminant2','RawDataUniqueID','OriginalRawFileName','OriginalRawFileData','ActiveArea','MaskedAreas','AsShotICCProfile','AsShotPreProfileMatrix','CurrentICCProfile','ColorimetricReference','CameraCalibrationSignature','ProfileCalibrationSignature','NoiseReductionApplied','ProfileHueSatMapDims','ProfileHueSatMapData1','Float','ProfileToneCurve','ProfileEmbedPolicy','ProfileCopyright','PreviewApplicationName','PreviewApplicationVersion','PreviewSettingsName','PreviewSettingsDigest','PreviewDateTime','RawImageDigest','OriginalRawFileDigest','SubTileBlockSize','RowInterleaveFactor','ProfileLookTableDims','ProfileLookTableData','OpcodeList1','OpcodeList2','OpcodeList3','FNumber','ExposureProgram','ISOSpeedRatings','OECF','SensitivityType','StandardOutputSensitivity','RecommendedExposureIndex','ISOSpeedLatitudeyyy','ISOSpeedLatitudezzz','DateTimeOriginal','DateTimeDigitized','ComponentsConfiguration','ShutterSpeedValue','ApertureValue','BrightnessValue','MaxApertureValue','SubjectDistance','MeteringMode','LightSource','FocalLength','SubjectArea','MakerNote','UserComment','SubSecTime','SubSecTimeOriginal','SubSecTimeDigitized','FlashpixVersion','ColorSpace','PixelYDimension','RelatedSoundFile','FlashEnergy','SubjectLocation','FileSource','CustomRendered','ExposureMode','WhiteBalance','DigitalZoomRatio','FocalLengthIn35mmFilm','SceneCaptureType','GainControl','Contrast','Saturation','Sharpness','DeviceSettingDescription','SubjectDistanceRange','ImageUniqueID','CameraOwnerName','BodySerialNumber','LensSpecification','LensMake','LensModel','LensSerialNumber','Gamma','GPSLatitudeRef','GPSLatitude','GPSLongitudeRef','GPSLongitude','GPSAltitude','GPSTimeStamp','GPSSatellites','GPSMeasureMode','GPSDOP','GPSSpeedRef','GPSSpeed','GPSTrackRef','GPSTrack','GPSImgDirectionRef','GPSMapDatum','GPSDestLatitudeRef','GPSDestLatitude','GPSDestLongitude','GPSDestBearing','GPSDestDistanceRef','GPSDestDistance','GPSProcessingMethod','GPSAreaInformation','InteroperabilityIndex','GPSIFD','InteropIFD','v0.','v1.','v1.8.','\x22callback\x22\x20argument\x20must\x20be\x20a\x20function','setTimeout\x20has\x20not\x20been\x20defined','clearTimeout\x20has\x20not\x20been\x20defined','fun','title','env','versions','chdir','process.chdir\x20is\x20not\x20supported','umask','./node_modules/public-encrypt/privateDecrypt.js','./node_modules/public-encrypt/mgf.js','./node_modules/public-encrypt/xor.js','./node_modules/browserify-rsa/index.js','padding','decryption\x20error','unknown\x20padding','./node_modules/public-encrypt/withPublic.js','message\x20too\x20long','data\x20too\x20long\x20for\x20modulus','./node_modules/tslib/tslib.es6.js','__awaiter','__POWERED_BY_QIANKUN__','stop','./node_modules/lodash/mergeWith.js','./node_modules/qiankun/es/addons/runtimePublicPath.js','./node_modules/qiankun/es/addons/engineFlag.js','__INJECTED_PUBLIC_PATH_BY_QIANKUN__','registerMicroApps','loadMicroApp','./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js','./node_modules/qiankun/es/loader.js','./node_modules/qiankun/es/prefetch.js','./node_modules/qiankun/es/utils.js','Deferred','loader','props','__rest','sent','mount','mountRootParcel','loadApp','singular','urlRerouteOnly','sandbox','doPrefetchStrategy','[qiankun]\x20singular\x20is\x20forced\x20to\x20be\x20true\x20when\x20sandbox\x20enable\x20but\x20proxySandbox\x20unavailable','setDefaultMountApp','runAfterFirstMounted','navigateToUrl','single-spa:no-app-change','[qiankun]\x20runDefaultMountEffects\x20will\x20be\x20removed\x20in\x20next\x20version,\x20please\x20use\x20setDefaultMountApp\x20instead','single-spa:first-mount','timeEnd','time','addGlobalUncaughtErrorHandler','removeGlobalUncaughtErrorHandler','./node_modules/single-spa/lib/esm/single-spa.min.js','unhandledrejection','addErrorHandler','removeErrorHandler','initGlobalState','getMicroAppStateActions','./node_modules/lodash/cloneDeep.js','[qiankun]\x20state\x20has\x20not\x20changed!','global-','[qiankun]\x20\x27','./node_modules/qiankun/es/apis.js','./node_modules/qiankun/es/errorHandler.js','./node_modules/qiankun/es/effects.js','runDefaultMountEffects','./node_modules/qiankun/es/interfaces.js','SandBoxType','prefetchApps','prefetchImmediately','Proxy','Snapshot','LegacyProxy','./node_modules/lodash/concat.js','./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/typeof.js','./node_modules/qiankun/node_modules/@babel/runtime/regenerator/index.js','./node_modules/import-html-entry/esm/index.js','./node_modules/qiankun/es/addons/index.js','./node_modules/qiankun/es/sandbox/index.js','abrupt','createShadowRoot','innerHTML','firstChild','open','[qiankun]:\x20As\x20current\x20browser\x20not\x20support\x20shadow\x20dom,\x20your\x20strictStyleIsolation\x20configuration\x20will\x20be\x20ignored!','[qiankun]:\x20strictStyleIsolation\x20can\x20not\x20be\x20used\x20with\x20legacy\x20render!','getWrapperId','\x20is\x20not\x20existed!','[qiankun]\x20Wrapper\x20element\x20for\x20','css','QiankunCSSRewriteAttr','appendChild','removeChild','loading','unmounted','mounting','[qiankun]\x20Target\x20container\x20with\x20','\x20not\x20existed\x20after\x20','\x20not\x20existed\x20while\x20','\x20rendering!','validateExportLifecycle','[qiankun]\x20You\x20need\x20to\x20export\x20lifecycle\x20functions\x20in\x20','\x20entry','[qiankun]\x20App\x20','\x20Loading','excludeAssetFilter','assetPublicPath','promise','strictStyleIsolation','isEnableScopedCSS','querySelectorAll','container','render','createSandbox','beforeUnmount','afterUnmount','beforeMount','beforeLoad','bootstrap','setGlobalState','offGlobalStateChange','getEntriesByName','performanceMark','mounted','performanceMeasure','connection','saveData','wifi','ethernet','effectiveType','getMountedApps','[qiankun]\x20prefetch\x20starting\x20for\x20apps...','criticalAppNames','minorAppsName','attachDocProxySymbol','getTargetValue','getProxyPropertyValue','attach-proxy-container','isCallable','isBoundedFunction','./node_modules/qiankun/es/sandbox/legacy/sandbox.js','./node_modules/qiankun/es/sandbox/proxySandbox.js','./node_modules/qiankun/es/sandbox/snapshotSandbox.js','patchAtBootstrapping','patchAtMounting','inactive','./node_modules/qiankun/es/sandbox/common.js','getOwnPropertyDescriptor','addedPropsMapInSandbox','currentUpdatedPropsValueMap','sandboxRunning','modifiedPropsOriginalValueMapInSandbox','[qiankun]\x20Set\x20window.','window','self','active','info','[qiankun:sandbox]\x20','\x20modified\x20global\x20properties\x20restore...','System','__cjsWrapper','clearSystemJsProps','./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/classCallCheck.js','./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/createClass.js','MEDIA','SUPPORTS','IMPORT','FONT_FACE','PAGE','KEYFRAMES','KEYFRAME','swapNode','sheet','disabled','createTextNode','textContent','cssRules','rewrite','childList','ModifiedTag','observe','STYLE','ruleMedia','ruleSupport','ruleStyle','cssText',':root','selectorText','@media\x20','conditionText','Symbol(style-modified-qiankun)','data-qiankun','LINK','Feature:\x20sandbox.experimentalStyleIsolation\x20is\x20not\x20support\x20for\x20link\x20element\x20yet.','tagName','./node_modules/lodash/noop.js','styled-component-qiankun','insertBefore','SCRIPT','rawDOMAppendOrInsertBefore','appWrapperGetter','dynamicStyleSheetElements','scopedCSS','frameworkConfiguration','currentScript','onload','dispatchEvent','onerror','createComment','dynamic\x20script\x20','\x20replaced\x20by\x20qiankun','dynamic\x20inline\x20script\x20replaced\x20by\x20qiankun','headOrBodyRemoveChild','insertRule','g_history','listen','./node_modules/qiankun/es/sandbox/patchers/historyListener.js','./node_modules/qiankun/es/sandbox/patchers/css.js','setInterval','clearInterval','updatedValueSet','writable','fakeWindow','\x20while\x20sandbox\x20destroyed\x20or\x20inactive\x20in\x20','unscopables','document','rawWindow','uniq','windowSnapshot','modifyPropsMap','\x20origin\x20window\x20restore...','sleep','getDefaultTplWrapper','./node_modules/lodash/snakeCase.js','','unmount','./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','enumerable','configurable','Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.','./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js','./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/iterableToArray.js','./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js','./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js','@@asyncIterator','_invoke','throw','arg','delegate','dispatchException','suspendedStart','suspendedYield','completed','__await','resultName','nextLoc','iterator\x20result\x20is\x20not\x20an\x20object','catchLoc','finallyLoc','afterLoc','tryEntries','completion','root','GeneratorFunction','isGeneratorFunction','displayName','awrap','AsyncIterator','Generator','_sent','rval','tryLoc','try\x20statement\x20without\x20catch\x20or\x20finally','break','continue','complete','illegal\x20catch\x20attempt','regeneratorRuntime\x20=\x20r','requested\x20too\x20many\x20random\x20bytes','secure\x20random\x20number\x20generation\x20not\x20supported\x20by\x20this\x20browser\x0ause\x20chrome,\x20FireFox\x20or\x20Internet\x20Explorer\x2011','offset\x20must\x20be\x20a\x20number','offset\x20out\x20of\x20range','size\x20must\x20be\x20a\x20number','buffer\x20too\x20small','\x22buf\x22\x20argument\x20must\x20be\x20a\x20Buffer\x20or\x20Uint8Array','./node_modules/readable-stream/lib/_stream_duplex.js','./node_modules/core-util-is/lib/util.js','./node_modules/readable-stream/lib/_stream_readable.js','./node_modules/readable-stream/lib/_stream_writable.js','readable','allowHalfOpen','_writableState','ended','writableHighWaterMark','destroyed','_readableState','./node_modules/readable-stream/lib/_stream_transform.js','./node_modules/process-nextick-args/index.js','./node_modules/events/events.js','./node_modules/readable-stream/lib/internal/streams/stream-browser.js','debuglog','./node_modules/readable-stream/lib/internal/streams/BufferList.js','./node_modules/readable-stream/lib/internal/streams/destroy.js','close','destroy','pause','objectMode','readableObjectMode','readableHighWaterMark','highWaterMark','pipes','pipesCount','endEmitted','reading','sync','needReadable','emittedReadable','resumeScheduled','defaultEncoding','awaitDrain','readingMore','decoder','encoding','_read','_destroy','stream.unshift()\x20after\x20end\x20event','stream.push()\x20after\x20EOF','flowing','_undestroy','isPaused','emitReadable','emit\x20readable','readable\x20nexttick\x20read\x200','\x22endReadable()\x22\x20called\x20on\x20non-empty\x20stream','read:\x20emitReadable','length\x20less\x20than\x20watermark','do\x20read','_read()\x20is\x20not\x20implemented','pipe','stdout','stderr','cleanup','finish','drain','unpipe','needDrain','onend','ondata','onfinish','pipe\x20resume','resume','readableListening','call\x20pause\x20flowing=%j','wrapped\x20end','wrapped\x20data','wrapped\x20_read','_fromList','writecb','_transformState','prefinish','transforming','Calling\x20transform\x20done\x20when\x20still\x20transforming','_transform()\x20is\x20not\x20implemented','writechunk','writeencoding','needTransform','afterTransform','callback','pendingcb','corkedRequestsFree','v0.9.','WritableState','./node_modules/util-deprecate/browser.js','finalCalled','ending','decodeStrings','corked','onwrite','writing','writelen','errorEmitted','bufferedRequest','lastBufferedRequest','prefinished','bufferedRequestCount','writev','_writev','isBuf','allBuffers','finished','getBuffer','_writableState.buffer\x20is\x20deprecated.\x20Use\x20_writableState.getBuffer\x20instead.','hasInstance','Cannot\x20pipe,\x20not\x20readable','write\x20after\x20end','May\x20not\x20write\x20null\x20values\x20to\x20stream','Invalid\x20non-string/buffer\x20chunk','cork','bufferProcessing','setDefaultEncoding','_write()\x20is\x20not\x20implemented','custom','./node_modules/readable-stream/readable-browser.js','Stream','Duplex','PassThrough','./node_modules/hash-base/index.js','./node_modules/rxjs/_esm5/internal/Observable.js','Observable','./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js','ConnectableObservable','./node_modules/rxjs/_esm5/internal/operators/groupBy.js','GroupedObservable','./node_modules/rxjs/_esm5/internal/symbol/observable.js','observable','./node_modules/rxjs/_esm5/internal/Subject.js','Subject','BehaviorSubject','./node_modules/rxjs/_esm5/internal/ReplaySubject.js','ReplaySubject','AsyncSubject','./node_modules/rxjs/_esm5/internal/scheduler/asap.js','asapScheduler','asap','./node_modules/rxjs/_esm5/internal/scheduler/async.js','asyncScheduler','queueScheduler','queue','./node_modules/rxjs/_esm5/internal/scheduler/animationFrame.js','animationFrameScheduler','./node_modules/rxjs/_esm5/internal/scheduler/VirtualTimeScheduler.js','VirtualTimeScheduler','VirtualAction','Scheduler','./node_modules/rxjs/_esm5/internal/Subscription.js','Subscription','./node_modules/rxjs/_esm5/internal/Subscriber.js','Subscriber','./node_modules/rxjs/_esm5/internal/Notification.js','Notification','NotificationKind','./node_modules/rxjs/_esm5/internal/util/pipe.js','./node_modules/rxjs/_esm5/internal/util/noop.js','./node_modules/rxjs/_esm5/internal/util/identity.js','./node_modules/rxjs/_esm5/internal/util/isObservable.js','isObservable','./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js','ArgumentOutOfRangeError','./node_modules/rxjs/_esm5/internal/util/EmptyError.js','EmptyError','./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js','ObjectUnsubscribedError','./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js','UnsubscriptionError','./node_modules/rxjs/_esm5/internal/util/TimeoutError.js','TimeoutError','bindCallback','./node_modules/rxjs/_esm5/internal/observable/bindNodeCallback.js','bindNodeCallback','./node_modules/rxjs/_esm5/internal/observable/combineLatest.js','combineLatest','./node_modules/rxjs/_esm5/internal/observable/concat.js','./node_modules/rxjs/_esm5/internal/observable/empty.js','./node_modules/rxjs/_esm5/internal/observable/forkJoin.js','forkJoin','./node_modules/rxjs/_esm5/internal/observable/from.js','./node_modules/rxjs/_esm5/internal/observable/fromEvent.js','fromEvent','./node_modules/rxjs/_esm5/internal/observable/fromEventPattern.js','fromEventPattern','./node_modules/rxjs/_esm5/internal/observable/generate.js','./node_modules/rxjs/_esm5/internal/observable/iif.js','iif','never','./node_modules/rxjs/_esm5/internal/observable/onErrorResumeNext.js','onErrorResumeNext','./node_modules/rxjs/_esm5/internal/observable/pairs.js','pairs','./node_modules/rxjs/_esm5/internal/observable/partition.js','./node_modules/rxjs/_esm5/internal/observable/race.js','race','./node_modules/rxjs/_esm5/internal/observable/range.js','./node_modules/rxjs/_esm5/internal/observable/throwError.js','throwError','./node_modules/rxjs/_esm5/internal/observable/timer.js','timer','./node_modules/rxjs/_esm5/internal/observable/using.js','using','zip','./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js','scheduled','NEVER','./node_modules/rxjs/_esm5/internal/config.js','config','hasCompleted','__extends','_subscribe','hasError','thrownError','_value','getValue','InnerSubscriber','outerValue','outerIndex','notifyNext','_error','notifyError','unsubscribe','_complete','notifyComplete','./node_modules/rxjs/_esm5/internal/observable/of.js','kind','accept','toObservable','unexpected\x20notification\x20kind\x20value','createError','completeNotification','./node_modules/rxjs/_esm5/internal/util/canReportError.js','_isScalar','lift','operator','subscribe','toSubscriber','useDeprecatedSynchronousErrorHandling','syncErrorThrowable','_trySubscribe','syncErrorThrown','syncErrorValue','canReportError','toPromise','no\x20Promise\x20impl\x20found','hostReportError','OuterSubscriber','./node_modules/rxjs/_esm5/internal/scheduler/queue.js','./node_modules/rxjs/_esm5/internal/operators/observeOn.js','scheduler','_infiniteTimeWindow','_bufferSize','_windowTime','nextInfiniteTimeWindow','nextTimeWindow','_trimBufferThenGetEvents','isStopped','observers','ObserveOnSubscriber','_getNow','SchedulerAction','schedule','AnonymousSubject','./node_modules/rxjs/_esm5/internal/SubjectSubscription.js','./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js','SubjectSubscription','asObservable','subscriber','SafeSubscriber','./node_modules/rxjs/_esm5/internal/util/isFunction.js','./node_modules/rxjs/_esm5/internal/Observer.js','./node_modules/rxjs/_esm5/internal/util/hostReportError.js','rxSubscriber','_parentOrParents','_parentSubscriber','__tryOrSetError','__tryOrUnsub','bad\x20call','./node_modules/rxjs/_esm5/internal/util/isObject.js','_subscriptions','_unsubscribe','\x20added\x20to\x20Subscription.','connectableObservableDescriptor','./node_modules/rxjs/_esm5/internal/operators/refCount.js','subjectFactory','_refCount','getSubject','_subject','connect','_connection','refCount','_isComplete','connectable','SubjectSubscriber','./node_modules/rxjs/_esm5/internal/AsyncSubject.js','./node_modules/rxjs/_esm5/internal/operators/map.js','./node_modules/rxjs/_esm5/internal/util/isArray.js','isScheduler','callbackFunc','./node_modules/rxjs/_esm5/internal/util/isScheduler.js','err','CombineLatestOperator','CombineLatestSubscriber','./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js','./node_modules/rxjs/_esm5/internal/observable/fromArray.js','fromArray','resultSelector','observables','toRespond','subscribeToResult','_tryResultSelector','concatAll','./node_modules/rxjs/_esm5/internal/util/subscribeTo.js','./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js','./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js','subscribeToArray','Invalid\x20event\x20target','initialState','iterate','needIterate','./node_modules/rxjs/_esm5/internal/observable/defer.js','./node_modules/rxjs/_esm5/internal/util/isNumeric.js','period','./node_modules/rxjs/_esm5/internal/operators/mergeAll.js','mergeAll','scheduleArray','dispatch','subscription','./node_modules/rxjs/_esm5/internal/util/not.js','./node_modules/rxjs/_esm5/internal/operators/filter.js','RaceOperator','RaceSubscriber','./node_modules/rxjs/_esm5/internal/OuterSubscriber.js','hasFirst','subscriptions','ZipSubscriber','iterators','stillUnsubscribed','checkIterators','hasValue','_tryresultSelector','nextResult','isComplete','notifyInactive','predicate','keySelector','elementSelector','durationSelector','subjectSelector','groups','attemptedToUnsubscribe','_group','group','removeGroup','groupSubject','refCountSubscription','MapOperator','argument\x20is\x20not\x20a\x20function.\x20Are\x20you\x20looking\x20for\x20`mapTo()`?','./node_modules/rxjs/_esm5/internal/operators/mergeMap.js','mergeMap','MergeMapOperator','MergeMapSubscriber','concurrent','_tryNext','_innerSub','observeOn','notification','scheduleMessage','createComplete','scheduleIterable','./node_modules/rxjs/_esm5/internal/symbol/iterator.js','Iterable\x20cannot\x20be\x20null','scheduleObservable','schedulePromise','./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js','./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js','./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js','./node_modules/rxjs/_esm5/internal/util/isPromise.js','./node_modules/rxjs/_esm5/internal/util/isArrayLike.js','./node_modules/rxjs/_esm5/internal/util/isIterable.js','isInteropObservable','isArrayLike','Action','AnimationFrameAction','work','requestAsyncId','actions','AnimationFrameScheduler','./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js','AsyncScheduler','AsapAction','./node_modules/rxjs/_esm5/internal/util/Immediate.js','Immediate','setImmediate','recycleAsyncId','clearImmediate','./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js','AsyncAction','executing\x20a\x20cancelled\x20action','_execute','./node_modules/rxjs/_esm5/internal/scheduler/Action.js','./node_modules/rxjs/_esm5/internal/Scheduler.js','QueueAction','QueueScheduler','frame','maxFrames','frameTimeFactor','sortActions','animationFrame','./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameAction.js','./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameScheduler.js','./node_modules/rxjs/_esm5/internal/scheduler/AsapAction.js','./node_modules/rxjs/_esm5/internal/scheduler/AsapScheduler.js','AsapScheduler','./node_modules/rxjs/_esm5/internal/scheduler/QueueAction.js','./node_modules/rxjs/_esm5/internal/scheduler/QueueScheduler.js','@@iterator','$$iterator','$$rxSubscriber','@@rxSubscriber_','argument\x20out\x20of\x20range','object\x20unsubscribed','Timeout\x20has\x20occurred','\x20errors\x20occurred\x20during\x20unsubscription:\x0a','\x0a\x20\x20','isIterable','isNumeric','isPromise','pred','pipeFromArray','subscribeTo','./node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js','./node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js','subscribeToObservable','subscribeToIterable','an\x20invalid\x20object','You\x20provided\x20','\x20where\x20a\x20stream\x20was\x20expected.\x20You\x20can\x20provide\x20an\x20Observable,\x20Promise,\x20Array,\x20or\x20Iterable.','Provided\x20object\x20does\x20not\x20correctly\x20implement\x20Symbol.observable','./node_modules/rxjs/_esm5/internal/InnerSubscriber.js','Argument\x20must\x20not\x20be\x20a\x20number','Argument\x20must\x20be\x20a\x20number','[object\x20process]','postMessage','importScripts','onmessage','MessageChannel','port1','port2','onreadystatechange','_finalSize','_update\x20must\x20be\x20implemented\x20by\x20subclass','./node_modules/sha.js/sha.js','./node_modules/sha.js/sha1.js','./node_modules/sha.js/sha224.js','./node_modules/sha.js/sha384.js','./node_modules/sha.js/sha512.js','./node_modules/sha.js/hash.js','./node_modules/sha.js/sha256.js','_ah','_bh','_ch','_eh','_fh','_gh','_hh','_al','_bl','_el','_fl','_gl','_hl','_cl','_dh','_dl','BOOTSTRAPPING','LOAD_ERROR','MOUNTED','MOUNTING','NOT_BOOTSTRAPPED','NOT_LOADED','NOT_MOUNTED','SKIP_BECAUSE_BROKEN','UNMOUNTING','UPDATING','ensureJQuerySupport','getAppNames','getAppStatus','pathToActiveWhen','setBootstrapMaxTime','setUnloadMaxTime','triggerAppChange','unloadApplication','CustomEvent','cat','bar','detail','createEvent','bubbles','cancelable','initCustomEvent','createEventObject','single-spa\x20minified\x20message\x20#','See\x20https://single-spa.js.org/error/?code=','&arg=','activeWhen','unmountThisParcel','parcel','catch','parcels','single-spa:before-first-mount','domElement','parentName','timeouts','customProps','unmountSelf','unload','warningMillis','dieOnTimeout','loadPromise','loadErrorTime','devtools','overlays','hashchange','popstate','currentTarget','preventDefault','host','pathname','history','pushState','PopStateEvent','initPopStateEvent','singleSpaTrigger','replaceState','singleSpaNavigate','jQuery','jquery','UNLOADING','app','[^/]+/?','.*$','([/#].*)?$','appsToUnload','appsToUnmount','single-spa:before-no-app-change','single-spa:before-app-change','single-spa:before-routing-event','single-spa:app-change','single-spa:routing-event','eventArguments','_array','_set','toSetString','No\x20element\x20indexed\x20by\x20','ArraySet','./node_modules/source-map-support/node_modules/source-map/lib/base64.js','Expected\x20more\x20digits\x20in\x20base\x2064\x20VLQ\x20value.','Must\x20be\x20between\x200\x20and\x2063:\x20','GREATEST_LOWER_BOUND','LEAST_UPPER_BOUND','_sorted','unsortedForEach','generatedLine','generatedColumn','compareByGeneratedPositionsInflated','./node_modules/source-map-support/node_modules/source-map/lib/binary-search.js','./node_modules/source-map-support/node_modules/source-map/lib/quick-sort.js','quickSort','sections','getArg','sources','sourceRoot','sourcesContent','mappings','file','_version','_mappings','originalLine','originalColumn','Unsupported\x20version:\x20','url','Support\x20for\x20url\x20field\x20in\x20sections\x20not\x20implemented.','column','Section\x20offsets\x20must\x20be\x20ordered\x20and\x20non-overlapping.','fromSourceMap','__generatedMappings','_generatedMappings','__originalMappings','_parseMappings','_charIsMappingSeparator','Subclasses\x20must\x20implement\x20_parseMappings','GENERATED_ORDER','ORIGINAL_ORDER','_originalMappings','Unknown\x20order\x20of\x20iteration.','_sources','allGeneratedPositionsFor','_findMapping','compareByOriginalPositions','lastGeneratedColumn','consumer','_names','_sourceRoot','_generateSourcesContent','_file','Found\x20a\x20source,\x20but\x20no\x20line\x20and\x20column','Found\x20a\x20source\x20and\x20line,\x20but\x20no\x20column','compareByGeneratedPositionsDeflated','Line\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201,\x20got\x20','Column\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x200,\x20got\x20','computeColumnSpans','originalPositionFor','sourceContentFor','urlParse','scheme','generatedPositionFor','bias','BasicSourceMapConsumer','_sections','generatedOffset','hasContentsOfAllSources','\x22\x20is\x20not\x20in\x20the\x20SourceMap.','IndexedSourceMapConsumer','./node_modules/source-map-support/node_modules/source-map/lib/base64-vlq.js','./node_modules/source-map-support/node_modules/source-map/lib/array-set.js','MappingList','_skipValidation','skipValidation','_sourcesContents','eachMapping','addMapping','setSourceContent','generated','original','_validateMapping','applySourceMap','SourceMapGenerator.prototype.applySourceMap\x20requires\x20either\x20an\x20explicit\x20source\x20file,\x20or\x20the\x20source\x20map\x27s\x20\x22file\x22\x20property.\x20Both\x20were\x20omitted.','original.line\x20and\x20original.column\x20are\x20not\x20numbers\x20--\x20you\x20probably\x20meant\x20to\x20omit\x20the\x20original\x20mapping\x20entirely\x20and\x20only\x20map\x20the\x20generated\x20position.\x20If\x20so,\x20pass\x20null\x20for\x20the\x20original\x20mapping\x20instead\x20of\x20an\x20object\x20with\x20empty\x20or\x20null\x20values.','Invalid\x20mapping:\x20','_serializeMappings','SourceMapGenerator','./node_modules/source-map-support/node_modules/source-map/lib/source-map-generator.js','$$$isSourceNode$$$','sourceContents','fromStringWithSourceMap','prepend','Expected\x20a\x20SourceNode,\x20string,\x20or\x20an\x20array\x20of\x20SourceNodes\x20and\x20strings.\x20Got\x20','walk','replaceRight','walkSourceContents','fromSetString','toStringWithSourceMap','code','\x22\x20is\x20a\x20required\x20argument.','port','../','./node_modules/source-map-support/node_modules/source-map/lib/source-map-consumer.js','SourceMapConsumer','SourceNode','./node_modules/source-map-support/node_modules/source-map/source-map.js','./node_modules/path-browserify/index.js','existsSync','readFileSync','auto','renderer','dirname','GET','send','readyState','responseText','isNative','getScriptNameOrSourceURL','isEval','getEvalOrigin','','getLineNumber','getColumnNumber','isConstructor','getTypeName','getMethodName','\x20[as\x20','new\x20','getFileName','eval\x20at\x20','\x0a\x20\x20\x20\x20at\x20','getResponseHeader','X-SourceMap','wrapCallSite','mapSourcePosition','retrieveSourceMap','install','environment','retrieveFile','overrideRetrieveFile','overrideRetrieveSourceMap','Cannot\x20find\x20module\x20\x27module\x27','MODULE_NOT_FOUND','__sourceMapSupport','_compile','emptyCacheBetweenOperations','prepareStackTrace','handleUncaughtExceptions','uncaughtException','Readable','./node_modules/readable-stream/duplex-browser.js','./node_modules/readable-stream/passthrough.js','fillLast','lastNeed','lastTotal','lastChar','unref','ref','_clearFn','enroll','_idleTimeout','_unrefActive','_idleTimeoutId','_onTimeout','__assign','__param','__metadata','__generator','__exportStar','__values','__read','__spread','__spreadArrays','__asyncGenerator','__asyncValues','__makeTemplateObject','__importStar','__importDefault','decorate','metadata','trys','ops','asyncIterator','Symbol.asyncIterator\x20is\x20not\x20defined.','createCompilerDiagnostic','compareValues','normalizeSlashes','getRootLength','getDirectoryPath','normalizePath','combinePaths','getSourceFileOfNode','getTextOfNode','declarationNameToString','getJSDocCommentRanges','isBindingPattern','getEffectiveBaseTypeNode','getClassImplementsHeritageClauseElements','getInterfaceBaseTypeNodes','CharacterCodes','Diagnostics','Cannot\x20find\x20module\x20\x27','./node_modules/lodash/lodash.js','Component','The\x20`Component`\x20decorator\x20can\x20only\x20be\x20used\x20with\x20a\x20subclass\x20of\x20`AbstractComponent`.','childClass','The\x20`Component`\x20decorator\x20accepts\x20the\x20parameter\x20`childClass`\x20only\x20when\x20used\x20with\x20a\x20subclass\x20of\x20`ChildableComponent`.','componentName','internal','child','_defaultComponents','Option','The\x20`Option`\x20decorator\x20can\x20only\x20be\x20used\x20on\x20properties\x20within\x20an\x20`AbstractComponent`\x20subclass.','component','_componentName','_componentOptions','Event','owner','componentAdded','REMOVED','componentRemoved','DUMMY_APPLICATION_OWNER','_componentOwner','bubble','trigger','getOptionDeclarations','getComponent','_componentChildren','hasComponent','addComponent','ADDED','removeComponent','removeAllComponents','stopListening','ctx','listening','priority','listeningTo','objId','_callback','_isPropagationStopped','_isDefaultPrevented','stopPropagation','isPropagationStopped','isDefaultPrevented','EventDispatcher','_listenId','_savedListenId','internalOn','_listeners','_listeningTo','listenToOnce','listenTo','./node_modules/typedoc/node_modules/typescript/lib/typescript.js','./node_modules/typedoc/dist/lib/ts-internal.js','sys','directoryExists','createDirectory','writeFile','readFile','./node_modules/typedoc/dist/lib/utils/component.js','AbstractComponent','ChildableComponent','./node_modules/typedoc/dist/lib/utils/events.js','./node_modules/typedoc/dist/lib/utils/fs.js','ensureDirectoriesExist','./node_modules/typedoc/dist/lib/utils/loggers.js','Logger','LogLevel','ConsoleLogger','CallbackLogger','./node_modules/typedoc/dist/lib/utils/plugins.js','PluginHost','./node_modules/util/util.js','Verbose','Info','Warn','Success','errorCount','hasErrors','resetErrors','writeln','diagnostic','newLine','flattenDiagnosticMessageText','messageText','DiagnosticCategory','Warning','Message','Error:\x20','Warning:\x20','File','Directory','Number','Boolean','Mixed','ParameterType','TypeDoc','TypeScript','ParameterScope','OptionDeclaration','getNames','mapError','Invalid\x20value\x20for\x20option\x20\x22%s\x22.','__decorate','logger','plugins','discoverNpmPlugins','Unknown\x20plugin\x20%s','./node_modules/typedoc/dist/lib/utils\x20sync\x20recursive','Loaded\x20plugin\x20%s','The\x20plugin\x20%s\x20could\x20not\x20be\x20loaded.','node_modules','statSync','isDirectory','readdirSync','package.json','keywords','typedocplugin','Could\x20not\x20parse\x20%s','plugin','plugin-host','./node_modules/typedoc/node_modules/typescript/lib\x20sync\x20recursive','Generator\x20is\x20already\x20executing.','3.2','versionMajorMinor','LessThan','EqualTo','GreaterThan','Comparison','MapCtr','emptyArray','createMapFromTemplate','selector','firstDefined','firstDefinedIterator','zipWith','assertEqual','zipToIterator','findMap','fail','arraysEqual','indexOfAnyCharCode','countWhere','sameMap','flatMapToMutable','flatMapIterator','emptyIterator','sameFlatMap','mapAllOrFail','mapDefined','mapDefinedIterator','spanMap','mapEntries','concatenate','insertSorted','sortAndDeduplicate','arrayIsEqualTo','relativeComplement','assertGreaterThanOrEqual','pushIfUnique','arrayIterator','stableSort','elementAt','firstOrUndefined','lastOrUndefined','singleOrMany','replaceElement','binarySearch','binarySearchKey','reduceLeft','getOwnValues','arrayFrom','equalOwnProperties','arrayToMap','arrayToNumericMap','arrayToMultiMap','tryCast','cast','\x20did\x20not\x20pass\x20the\x20test\x20\x27','returnFalse','notImplemented','None','Normal','Aggressive','VeryAggressive','AssertionLevel','Debug\x20Failure.','shouldAssert','currentAssertionLevel','\x0d\x0aVerbose\x20Debug\x20Information:\x20','False\x20expression:\x20','False\x20expression.','\x20===\x20','assertLessThan','\x20<\x20','assertLessThanOrEqual','\x20<=\x20','\x20>=\x20','assertDefined','assertEachDefined','assertNever','Illegal\x20value:','getFunctionName','Debug','compareStringsCaseSensitive','Collator','localeCompare','toLocaleUpperCase','en-US','variant','prefix','suffix','getUILocale','setUILocale','compareStringsCaseSensitiveUI','compareProperties','compareBooleans','getSpellingSuggestion','removeSuffix','tryRemoveSuffix','stringContains','fileExtensionIs','fileExtensionIsOneOf','removeMinAndVersionNumbers','orderedRemoveItem','unorderedRemoveItemAt','unorderedRemoveItem','createGetCanonicalFileName','patternText','matchedText','removePrefix','tryRemovePrefix','assertType','singleElementArray','enumerateInsertsAndDeletes','profiler','enter/exit\x20count\x20does\x20not\x20match.','createTimerIf','nullTimer','createTimer','getCount','getDuration','forEachMeasure','enable','createMap','disable','performance','Invalid\x20version','major','minor','patch','prerelease','Invalid\x20argument:\x20major','Invalid\x20argument:\x20minor','Invalid\x20argument:\x20build','tryParse','increment','Version','_alternatives','Invalid\x20range\x20spec.','\x20||\x20','VersionRange','operand','Unknown','SingleLineCommentTrivia','MultiLineCommentTrivia','NewLineTrivia','WhitespaceTrivia','ShebangTrivia','ConflictMarkerTrivia','NumericLiteral','BigIntLiteral','StringLiteral','JsxText','JsxTextAllWhiteSpaces','RegularExpressionLiteral','NoSubstitutionTemplateLiteral','TemplateHead','TemplateMiddle','TemplateTail','OpenBraceToken','CloseBraceToken','OpenParenToken','CloseParenToken','OpenBracketToken','CloseBracketToken','DotToken','DotDotDotToken','SemicolonToken','LessThanToken','LessThanSlashToken','GreaterThanToken','LessThanEqualsToken','GreaterThanEqualsToken','EqualsEqualsToken','ExclamationEqualsToken','EqualsEqualsEqualsToken','ExclamationEqualsEqualsToken','EqualsGreaterThanToken','PlusToken','MinusToken','AsteriskToken','AsteriskAsteriskToken','SlashToken','PercentToken','PlusPlusToken','MinusMinusToken','LessThanLessThanToken','GreaterThanGreaterThanToken','GreaterThanGreaterThanGreaterThanToken','AmpersandToken','BarToken','CaretToken','ExclamationToken','TildeToken','AmpersandAmpersandToken','BarBarToken','QuestionToken','ColonToken','AtToken','EqualsToken','PlusEqualsToken','MinusEqualsToken','AsteriskEqualsToken','AsteriskAsteriskEqualsToken','SlashEqualsToken','PercentEqualsToken','LessThanLessThanEqualsToken','GreaterThanGreaterThanEqualsToken','GreaterThanGreaterThanGreaterThanEqualsToken','AmpersandEqualsToken','BarEqualsToken','CaretEqualsToken','Identifier','BreakKeyword','CaseKeyword','CatchKeyword','ClassKeyword','ConstKeyword','ContinueKeyword','DebuggerKeyword','DefaultKeyword','DeleteKeyword','DoKeyword','ElseKeyword','EnumKeyword','ExportKeyword','ExtendsKeyword','FalseKeyword','FinallyKeyword','ForKeyword','FunctionKeyword','IfKeyword','ImportKeyword','InKeyword','InstanceOfKeyword','NewKeyword','NullKeyword','ReturnKeyword','SuperKeyword','SwitchKeyword','ThisKeyword','ThrowKeyword','TrueKeyword','TryKeyword','TypeOfKeyword','VarKeyword','VoidKeyword','WhileKeyword','WithKeyword','ImplementsKeyword','InterfaceKeyword','LetKeyword','PackageKeyword','PrivateKeyword','ProtectedKeyword','PublicKeyword','StaticKeyword','YieldKeyword','AbstractKeyword','AsKeyword','AnyKeyword','AsyncKeyword','AwaitKeyword','BooleanKeyword','ConstructorKeyword','DeclareKeyword','GetKeyword','InferKeyword','IsKeyword','KeyOfKeyword','ModuleKeyword','NamespaceKeyword','NeverKeyword','ReadonlyKeyword','ObjectKeyword','SetKeyword','StringKeyword','SymbolKeyword','TypeKeyword','UndefinedKeyword','UniqueKeyword','UnknownKeyword','FromKeyword','GlobalKeyword','OfKeyword','QualifiedName','ComputedPropertyName','TypeParameter','Parameter','PropertyDeclaration','MethodSignature','MethodDeclaration','Constructor','GetAccessor','SetAccessor','CallSignature','ConstructSignature','IndexSignature','TypeReference','FunctionType','ConstructorType','TypeQuery','TypeLiteral','ArrayType','TupleType','OptionalType','RestType','UnionType','IntersectionType','ConditionalType','InferType','ParenthesizedType','ThisType','TypeOperator','IndexedAccessType','MappedType','LiteralType','ImportType','ObjectBindingPattern','ArrayBindingPattern','ArrayLiteralExpression','ObjectLiteralExpression','PropertyAccessExpression','ElementAccessExpression','CallExpression','NewExpression','TaggedTemplateExpression','TypeAssertionExpression','ParenthesizedExpression','FunctionExpression','ArrowFunction','DeleteExpression','TypeOfExpression','VoidExpression','PrefixUnaryExpression','PostfixUnaryExpression','BinaryExpression','ConditionalExpression','YieldExpression','ClassExpression','ExpressionWithTypeArguments','AsExpression','NonNullExpression','MetaProperty','SyntheticExpression','TemplateSpan','SemicolonClassElement','Block','VariableStatement','EmptyStatement','IfStatement','DoStatement','WhileStatement','ForStatement','ForInStatement','ForOfStatement','ContinueStatement','BreakStatement','ReturnStatement','WithStatement','SwitchStatement','LabeledStatement','ThrowStatement','TryStatement','VariableDeclaration','VariableDeclarationList','FunctionDeclaration','InterfaceDeclaration','TypeAliasDeclaration','EnumDeclaration','ModuleDeclaration','ModuleBlock','CaseBlock','NamespaceExportDeclaration','ImportEqualsDeclaration','ImportClause','NamespaceImport','NamedImports','ImportSpecifier','ExportDeclaration','NamedExports','ExportSpecifier','MissingDeclaration','ExternalModuleReference','JsxElement','JsxSelfClosingElement','JsxOpeningElement','JsxClosingElement','JsxOpeningFragment','JsxAttribute','JsxAttributes','JsxSpreadAttribute','JsxExpression','CaseClause','DefaultClause','HeritageClause','CatchClause','PropertyAssignment','ShorthandPropertyAssignment','SpreadAssignment','EnumMember','SourceFile','Bundle','UnparsedSource','JSDocTypeExpression','JSDocAllType','JSDocUnknownType','JSDocNullableType','JSDocNonNullableType','JSDocOptionalType','JSDocFunctionType','JSDocVariadicType','JSDocComment','JSDocTypeLiteral','JSDocSignature','JSDocTag','JSDocAugmentsTag','JSDocClassTag','JSDocCallbackTag','JSDocEnumTag','JSDocParameterTag','JSDocReturnTag','JSDocThisTag','JSDocTypeTag','JSDocTemplateTag','JSDocTypedefTag','JSDocPropertyTag','SyntaxList','NotEmittedStatement','PartiallyEmittedExpression','CommaListExpression','MergeDeclarationMarker','EndOfDeclarationMarker','FirstAssignment','LastAssignment','FirstCompoundAssignment','LastCompoundAssignment','FirstReservedWord','LastReservedWord','FirstKeyword','LastKeyword','FirstFutureReservedWord','LastFutureReservedWord','FirstTypeNode','LastTypeNode','FirstPunctuation','LastPunctuation','FirstToken','LastToken','FirstTriviaToken','LastTriviaToken','FirstLiteralToken','LastLiteralToken','FirstTemplateToken','LastTemplateToken','FirstBinaryOperator','FirstNode','FirstJSDocNode','LastJSDocNode','FirstJSDocTagNode','LastJSDocTagNode','FirstContextualKeyword','SyntaxKind','Let','Const','NestedNamespace','Synthesized','Namespace','ExportContext','ContainsThis','HasImplicitReturn','HasExplicitReturn','GlobalAugmentation','HasAsyncFunctions','DisallowInContext','YieldContext','DecoratorContext','AwaitContext','ThisNodeHasError','JavaScriptFile','ThisNodeOrAnySubNodesHasError','PossiblyContainsDynamicImport','PossiblyContainsImportMeta','JSDoc','Ambient','InWithStatement','JsonFile','BlockScoped','ReachabilityCheckFlags','ReachabilityAndEmitFlags','ContextFlags','TypeExcludesFlags','PermanentlySetIncrementalFlags','NodeFlags','Export','Public','Private','Protected','Static','Readonly','Abstract','Async','Default','HasComputedFlags','AccessibilityModifier','ParameterPropertyModifier','NonPublicAccessibilityModifier','ExportDefault','All','IntrinsicIndexedElement','IntrinsicElement','JsxFlags','Failed','FailedAndReported','RelationComparisonResult','Auto','Loop','Unique','KindMask','ReservedInNestedScopes','Optimistic','FileLevel','GeneratedIdentifierFlags','PrecedingLineBreak','PrecedingJSDocComment','Unterminated','ExtendedUnicodeEscape','Scientific','Octal','HexSpecifier','BinarySpecifier','OctalSpecifier','ContainsSeparator','BinaryOrOctalSpecifier','NumericLiteralFlags','Unreachable','BranchLabel','LoopLabel','Assignment','TrueCondition','FalseCondition','SwitchClause','ArrayMutation','Referenced','Shared','PreFinally','AfterFinally','Label','FlowFlags','OperationCanceledException','Not','SafeModules','Completely','StructureIsReused','DiagnosticsPresent_OutputsSkipped','DiagnosticsPresent_OutputsGenerated','ExitStatus','Subtype','UnionReduction','NoTruncation','WriteArrayAsGenericType','GenerateNamesForShadowedTypeParams','UseStructuralFallback','ForbidIndexedAccessSymbolReferences','WriteTypeArgumentsOfSignature','UseFullyQualifiedType','UseOnlyExternalAliasing','SuppressAnyReturnType','WriteTypeParametersInQualifiedName','MultilineObjectLiterals','WriteClassExpressionAsTypeLiteral','UseTypeOfFunction','OmitParameterModifiers','AllowThisInObjectLiteral','AllowQualifedNameInPlaceOfIdentifier','AllowAnonymousIdentifier','AllowEmptyUnionOrIntersection','AllowEmptyTuple','AllowUniqueESSymbolType','AllowEmptyIndexInfoType','AllowNodeModulesRelativePaths','DoNotIncludeSymbolChain','IgnoreErrors','InObjectTypeLiteral','InInitialEntityName','InReverseMappedType','NodeBuilderFlags','UseAliasDefinedOutsideCurrentScope','AddUndefined','WriteArrowStyleSignature','InArrayType','InElementType','InFirstTypeArgument','WriteOwnNameForAnyLike','NodeBuilderFlagsMask','TypeFormatFlags','WriteTypeParametersOrArguments','AllowAnyNodeKind','SymbolFormatFlags','Accessible','NotAccessible','CannotBeNamed','SymbolAccessibility','Spread','SyntheticSymbolKind','This','TypePredicateKind','TypeWithConstructSignatureAndValue','VoidNullableOrNeverType','NumberLikeType','BigIntLikeType','StringLikeType','BooleanType','ArrayLikeType','ESSymbolType','TypeWithCallSignature','ObjectType','TypeReferenceSerializationKind','FunctionScopedVariable','BlockScopedVariable','Property','Class','Interface','ConstEnum','RegularEnum','ValueModule','NamespaceModule','ObjectLiteral','Method','Signature','TypeAlias','ExportValue','Alias','Prototype','Optional','Transient','ModuleExports','Enum','Value','Accessor','FunctionScopedVariableExcludes','BlockScopedVariableExcludes','ParameterExcludes','PropertyExcludes','EnumMemberExcludes','FunctionExcludes','ClassExcludes','InterfaceExcludes','RegularEnumExcludes','ConstEnumExcludes','ValueModuleExcludes','NamespaceModuleExcludes','MethodExcludes','GetAccessorExcludes','SetAccessorExcludes','TypeParameterExcludes','TypeAliasExcludes','ModuleMember','ExportHasLocal','PropertyOrAccessor','ClassMember','Classifiable','LateBindingContainer','SymbolFlags','Numeric','Literal','EnumKind','Instantiated','SyntheticProperty','SyntheticMethod','Partial','HasNonUniformType','ContainsPublic','ContainsProtected','ContainsPrivate','ContainsStatic','Late','ReverseMapped','OptionalParameter','RestParameter','Synthetic','CheckFlags','__call','__constructor','New','__new','Index','__index','ExportStar','__export','__global','Missing','__object','JSXAttributes','__jsxAttributes','__function','Computed','__computed','Resolving','__resolving__','ExportEquals','export=','this','InternalSymbolName','TypeChecked','LexicalThis','CaptureThis','SuperInstance','SuperStatic','ContextChecked','AsyncMethodWithSuper','AsyncMethodWithSuperBinding','CaptureArguments','EnumValuesComputed','LexicalModuleMergesWithClass','LoopWithCapturedBlockScopedBinding','ContainsCapturedBlockScopeBinding','CapturedBlockScopedBinding','BlockScopedBindingInLoop','ClassWithBodyScopedClassBinding','BodyScopedClassBinding','AssignmentsMarked','ClassWithConstructorReference','ConstructorReferenceInClass','NodeCheckFlags','Any','BigInt','NumberLiteral','BooleanLiteral','EnumLiteral','ESSymbol','UniqueESSymbol','Void','Null','Never','Union','Intersection','IndexedAccess','Conditional','Substitution','NonPrimitive','ContainsWideningType','ContainsObjectLiteral','ContainsAnyFunctionType','AnyOrUnknown','Nullable','Unit','StringOrNumberLiteral','StringOrNumberLiteralOrUnique','DefinitelyFalsy','PossiblyFalsy','Primitive','NumberLike','BigIntLike','EnumLike','ESSymbolLike','VoidLike','DisjointDomains','UnionOrIntersection','StructuredType','TypeVariable','InstantiableNonPrimitive','InstantiablePrimitive','Instantiable','StructuredOrInstantiable','Narrowable','NotUnionOrUnit','NotPrimitiveUnion','RequiresWidening','PropagatingFlags','NonWideningType','Wildcard','EmptyObject','ConstructionFlags','GenericMappedType','TypeFlags','Tuple','Anonymous','Mapped','EvolvingArray','ContainsSpread','MarkerType','JSLiteral','FreshLiteral','ClassOrInterface','ObjectFlags','Invariant','Covariant','Contravariant','Bivariant','Independent','Variance','Function','JsxReferenceKind','Call','Construct','SignatureKind','IndexKind','NakedTypeVariable','HomomorphicMappedType','MappedTypeConstraint','ReturnType','LiteralKeyof','NoConstraints','AlwaysStrict','PriorityImpliesCombination','InferencePriority','NoDefault','AnyDefault','InferenceFlags','False','Maybe','True','Ternary','ExportsProperty','PrototypeProperty','ThisProperty','ObjectDefinePropertyValue','ObjectDefinePropertyExports','ObjectDefinePrototypeProperty','Suggestion','diagnosticCategoryName','category','Classic','NodeJs','CommonJS','AMD','UMD','ES2015','ESNext','ModuleKind','Preserve','React','ReactNative','JsxEmit','CarriageReturnLineFeed','LineFeed','NewLineKind','JSX','TSX','External','JSON','ScriptKind','ES3','ES5','ES2016','ES2017','ES2018','Latest','ScriptTarget','Standard','LanguageVariant','WatchDirectoryFlags','nullCharacter','maxAsciiCharacter','lineFeed','carriageReturn','lineSeparator','paragraphSeparator','nextLine','space','nonBreakingSpace','enQuad','emQuad','enSpace','emSpace','threePerEmSpace','fourPerEmSpace','sixPerEmSpace','figureSpace','punctuationSpace','thinSpace','zeroWidthSpace','narrowNoBreakSpace','ideographicSpace','mathematicalSpace','ogham','ampersand','asterisk','backslash','backtick','caret','closeBrace','closeBracket','closeParen','colon','comma','doubleQuote','exclamation','lessThan','minus','openBrace','openBracket','openParen','percent','plus','question','semicolon','singleQuote','slash','tilde','backspace','formFeed','byteOrderMark','tab','verticalTab','.tsx','Dts','.d.ts','.js','Jsx','.jsx','.json','Extension','ContainsTypeScript','ContainsJsx','ContainsESNext','ContainsES2017','ContainsES2016','ContainsES2015','ContainsGenerator','DestructuringAssignment','ContainsDestructuringAssignment','ContainsTypeScriptClassSyntax','ContainsLexicalThis','ContainsCapturedLexicalThis','ContainsLexicalThisInComputedPropertyName','ContainsDefaultValueAssignments','ContainsRestOrSpread','ContainsObjectRestOrSpread','ContainsComputedPropertyName','ContainsBlockScopedBinding','ContainsBindingPattern','ContainsYield','ContainsHoistedDeclarationOrCompletion','ContainsDynamicImport','Super','AssertTypeScript','AssertJsx','AssertESNext','AssertES2017','AssertES2016','AssertES2015','AssertGenerator','AssertDestructuringAssignment','OuterExpressionExcludes','PropertyAccessExcludes','ArrowFunctionExcludes','ConstructorExcludes','MethodOrAccessorExcludes','ModuleExcludes','TypeExcludes','ObjectLiteralExcludes','ArrayLiteralOrCallOrNewExcludes','VariableDeclarationListExcludes','CatchClauseExcludes','ES2015FunctionSyntaxMask','SingleLine','AdviseOnEmitNode','NoSubstitution','CapturesThis','NoLeadingSourceMap','NoTrailingSourceMap','NoSourceMap','NoNestedSourceMaps','NoTokenLeadingSourceMaps','NoTokenTrailingSourceMaps','NoTokenSourceMaps','NoLeadingComments','NoTrailingComments','NoComments','NoNestedComments','HelperName','ExportName','LocalName','InternalName','Indented','NoIndentation','AsyncFunctionBody','ReuseTempVariableScope','CustomPrologue','NoHoisting','HasEndOfDeclarationMarker','Iterator','NoAsciiEscaping','TypeScriptClassWrapper','NeverApplyImportHelper','EmitFlags','Extends','Assign','Rest','Decorate','Metadata','Param','Awaiter','Values','Read','Await','AsyncGenerator','AsyncDelegator','AsyncValues','MakeTemplateObject','FirstEmitHelper','LastEmitHelper','ForOfIncludes','ForAwaitOfIncludes','AsyncGeneratorIncludes','AsyncDelegatorIncludes','SpreadIncludes','ExternalEmitHelpers','Expression','IdentifierName','MappedTypeParameter','Unspecified','EmbeddedStatement','EmitHint','MultiLine','PreserveLines','LinesMask','NotDelimited','BarDelimited','AmpersandDelimited','CommaDelimited','AsteriskDelimited','DelimitersMask','AllowTrailingComma','SpaceBetweenBraces','SpaceBetweenSiblings','Parenthesis','AngleBrackets','BracketsMask','OptionalIfEmpty','PreferNewLine','NoTrailingNewLine','NoInterveningComments','NoSpaceIfEmpty','SingleElement','Modifiers','HeritageClauses','SingleLineTypeLiteralMembers','MultiLineTypeLiteralMembers','TupleTypeElements','UnionTypeConstituents','IntersectionTypeConstituents','ObjectBindingPatternElements','ArrayBindingPatternElements','ObjectLiteralExpressionProperties','ArrayLiteralExpressionElements','CommaListElements','CallExpressionArguments','NewExpressionArguments','TemplateExpressionSpans','SingleLineBlockStatements','MultiLineBlockStatements','SingleLineFunctionBodyStatements','MultiLineFunctionBodyStatements','ClassHeritageClauses','ClassMembers','InterfaceMembers','CaseBlockClauses','NamedImportsOrExportsElements','JsxElementOrFragmentChildren','JsxElementAttributes','CaseOrDefaultClauseStatements','HeritageClauseTypes','SourceFileStatements','Decorators','TypeArguments','TypeParameters','Parameters','IndexSignatureParameters','ListFormat','TripleSlashXML','PragmaKindFlags','commentPragmas','Low','Medium','High','stackTraceLimit','Created','Changed','FileWatcherEventKind','PollingInterval','missingFileModifiedTime','getEnvironmentVariable','unchangedPollThresholds','TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS','pollingInterval','pollIndex','pollScheduled','fileName','unchangedPolls','getModifiedTime','mtime','Deleted','createMultiMap','getStringComparer','useCaseSensitiveFileNames','watchDirectory','directorySeparator','childWatches','closeFileWatcher','getAccessibleSortedChildDirectories','realpath','dirName','setCustomPollingValues','getFileWatcherEventKind','createRecursiveDirectoryWatcher','echo','resolvePath','fileExists','deleteFile','setModifiedTime','executingFile','currentDirectory','readDirectory','basePaths','includeFilePattern','quit','./node_modules/crypto-browserify/index.js','platform','pro','TSC_NONPOLLING_WATCHER','TSC_WATCHDIRECTORY','argv','EOL','isTTY','openSync','writeSync','closeSync','PriorityPollingInterval','DynamicPriorityPolling','UseFsEvents','win32','darwin','RecursiveDirectoryUsingDynamicPriorityPolling','utimesSync','unlinkSync','heapUsed','isFile','exit','execArgv','_handle','referenceCount','watchFile','unwatchFile','rename','watch','change','emptyFileSystemEntries','realpathSync','NODE_ENV','debugMode','isDebugging','Unterminated_string_literal_1002','Unterminated\x20string\x20literal.','Identifier_expected_1003','Identifier\x20expected.','_0_expected_1005','A_file_cannot_have_a_reference_to_itself_1006','A\x20file\x20cannot\x20have\x20a\x20reference\x20to\x20itself.','Trailing_comma_not_allowed_1009','Trailing\x20comma\x20not\x20allowed.','Asterisk_Slash_expected_1010','\x27*/\x27\x20expected.','An\x20element\x20access\x20expression\x20should\x20take\x20an\x20argument.','Unexpected_token_1012','Unexpected\x20token.','A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013','A\x20rest\x20parameter\x20or\x20binding\x20pattern\x20may\x20not\x20have\x20a\x20trailing\x20comma.','A_rest_parameter_must_be_last_in_a_parameter_list_1014','A\x20rest\x20parameter\x20must\x20be\x20last\x20in\x20a\x20parameter\x20list.','Parameter_cannot_have_question_mark_and_initializer_1015','An_index_signature_cannot_have_a_rest_parameter_1017','An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018','An\x20index\x20signature\x20parameter\x20cannot\x20have\x20an\x20accessibility\x20modifier.','An_index_signature_parameter_cannot_have_a_question_mark_1019','An\x20index\x20signature\x20parameter\x20cannot\x20have\x20a\x20question\x20mark.','An_index_signature_parameter_cannot_have_an_initializer_1020','An\x20index\x20signature\x20parameter\x20cannot\x20have\x20an\x20initializer.','An_index_signature_must_have_a_type_annotation_1021','An\x20index\x20signature\x20must\x20have\x20a\x20type\x20annotation.','An_index_signature_parameter_must_have_a_type_annotation_1022','An\x20index\x20signature\x20parameter\x20type\x20must\x20be\x20\x27string\x27\x20or\x20\x27number\x27.','readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024','\x27readonly\x27\x20modifier\x20can\x20only\x20appear\x20on\x20a\x20property\x20declaration\x20or\x20index\x20signature.','Accessibility_modifier_already_seen_1028','_0_modifier_must_precede_1_modifier_1029','\x27{0}\x27\x20modifier\x20must\x20precede\x20\x27{1}\x27\x20modifier.','_0_modifier_already_seen_1030','\x27{0}\x27\x20modifier\x20cannot\x20appear\x20on\x20a\x20class\x20element.','super_must_be_followed_by_an_argument_list_or_member_access_1034','\x27super\x27\x20must\x20be\x20followed\x20by\x20an\x20argument\x20list\x20or\x20member\x20access.','Only\x20ambient\x20modules\x20can\x20use\x20quoted\x20names.','Statements_are_not_allowed_in_ambient_contexts_1036','Statements\x20are\x20not\x20allowed\x20in\x20ambient\x20contexts.','A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038','A\x20\x27declare\x27\x20modifier\x20cannot\x20be\x20used\x20in\x20an\x20already\x20ambient\x20context.','Initializers_are_not_allowed_in_ambient_contexts_1039','Initializers\x20are\x20not\x20allowed\x20in\x20ambient\x20contexts.','_0_modifier_cannot_be_used_in_an_ambient_context_1040','\x27{0}\x27\x20modifier\x20cannot\x20be\x20used\x20in\x20an\x20ambient\x20context.','_0_modifier_cannot_be_used_with_a_class_declaration_1041','\x27{0}\x27\x20modifier\x20cannot\x20be\x20used\x20with\x20a\x20class\x20declaration.','_0_modifier_cannot_be_used_here_1042','\x27{0}\x27\x20modifier\x20cannot\x20be\x20used\x20here.','_0_modifier_cannot_appear_on_a_data_property_1043','\x27{0}\x27\x20modifier\x20cannot\x20appear\x20on\x20a\x20data\x20property.','A_0_modifier_cannot_be_used_with_an_interface_declaration_1045','A\x20\x27{0}\x27\x20modifier\x20cannot\x20be\x20used\x20with\x20an\x20interface\x20declaration.','A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file_1046','A\x20\x27declare\x27\x20modifier\x20is\x20required\x20for\x20a\x20top\x20level\x20declaration\x20in\x20a\x20.d.ts\x20file.','A_rest_parameter_cannot_be_optional_1047','A\x20rest\x20parameter\x20cannot\x20be\x20optional.','A_rest_parameter_cannot_have_an_initializer_1048','A_set_accessor_must_have_exactly_one_parameter_1049','A_set_accessor_cannot_have_an_optional_parameter_1051','A\x20\x27set\x27\x20accessor\x20cannot\x20have\x20an\x20optional\x20parameter.','A_set_accessor_parameter_cannot_have_an_initializer_1052','A\x20\x27set\x27\x20accessor\x20parameter\x20cannot\x20have\x20an\x20initializer.','A_set_accessor_cannot_have_rest_parameter_1053','A_get_accessor_cannot_have_parameters_1054','A\x20\x27get\x27\x20accessor\x20cannot\x20have\x20parameters.','Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055','Accessors\x20are\x20only\x20available\x20when\x20targeting\x20ECMAScript\x205\x20and\x20higher.','An_async_function_or_method_must_have_a_valid_awaitable_return_type_1057','The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058','The\x20return\x20type\x20of\x20an\x20async\x20function\x20must\x20either\x20be\x20a\x20valid\x20promise\x20or\x20must\x20not\x20contain\x20a\x20callable\x20\x27then\x27\x20member.','A_promise_must_have_a_then_method_1059','A\x20promise\x20must\x20have\x20a\x20\x27then\x27\x20method.','The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060','The\x20first\x20parameter\x20of\x20the\x20\x27then\x27\x20method\x20of\x20a\x20promise\x20must\x20be\x20a\x20callback.','Enum_member_must_have_initializer_1061','Enum\x20member\x20must\x20have\x20initializer.','Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062','Type\x20is\x20referenced\x20directly\x20or\x20indirectly\x20in\x20the\x20fulfillment\x20callback\x20of\x20its\x20own\x20\x27then\x27\x20method.','An_export_assignment_cannot_be_used_in_a_namespace_1063','An\x20export\x20assignment\x20cannot\x20be\x20used\x20in\x20a\x20namespace.','The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064','The\x20return\x20type\x20of\x20an\x20async\x20function\x20or\x20method\x20must\x20be\x20the\x20global\x20Promise\x20type.','In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066','Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068','Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069','Unexpected\x20token.\x20A\x20type\x20parameter\x20name\x20was\x20expected\x20without\x20curly\x20braces.','_0_modifier_cannot_appear_on_a_type_member_1070','\x27{0}\x27\x20modifier\x20cannot\x20appear\x20on\x20a\x20type\x20member.','_0_modifier_cannot_appear_on_an_index_signature_1071','\x27{0}\x27\x20modifier\x20cannot\x20appear\x20on\x20an\x20index\x20signature.','A_0_modifier_cannot_be_used_with_an_import_declaration_1079','Octal\x20literals\x20are\x20not\x20available\x20when\x20targeting\x20ECMAScript\x205\x20and\x20higher.\x20Use\x20the\x20syntax\x20\x27{0}\x27.','An_accessor_cannot_be_declared_in_an_ambient_context_1086','An\x20accessor\x20cannot\x20be\x20declared\x20in\x20an\x20ambient\x20context.','_0_modifier_cannot_appear_on_a_constructor_declaration_1089','\x27{0}\x27\x20modifier\x20cannot\x20appear\x20on\x20a\x20constructor\x20declaration.','_0_modifier_cannot_appear_on_a_parameter_1090','\x27{0}\x27\x20modifier\x20cannot\x20appear\x20on\x20a\x20parameter.','Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091','Type_parameters_cannot_appear_on_a_constructor_declaration_1092','Type\x20annotation\x20cannot\x20appear\x20on\x20a\x20constructor\x20declaration.','An_accessor_cannot_have_type_parameters_1094','An\x20accessor\x20cannot\x20have\x20type\x20parameters.','A_set_accessor_cannot_have_a_return_type_annotation_1095','A\x20\x27set\x27\x20accessor\x20cannot\x20have\x20a\x20return\x20type\x20annotation.','An_index_signature_must_have_exactly_one_parameter_1096','An\x20index\x20signature\x20must\x20have\x20exactly\x20one\x20parameter.','_0_list_cannot_be_empty_1097','\x27{0}\x27\x20list\x20cannot\x20be\x20empty.','Type_parameter_list_cannot_be_empty_1098','Type\x20parameter\x20list\x20cannot\x20be\x20empty.','Type_argument_list_cannot_be_empty_1099','Type\x20argument\x20list\x20cannot\x20be\x20empty.','Invalid_use_of_0_in_strict_mode_1100','Invalid\x20use\x20of\x20\x27{0}\x27\x20in\x20strict\x20mode.','with_statements_are_not_allowed_in_strict_mode_1101','\x27with\x27\x20statements\x20are\x20not\x20allowed\x20in\x20strict\x20mode.','delete_cannot_be_called_on_an_identifier_in_strict_mode_1102','\x27delete\x27\x20cannot\x20be\x20called\x20on\x20an\x20identifier\x20in\x20strict\x20mode.','A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103','A\x20\x27for-await-of\x27\x20statement\x20is\x20only\x20allowed\x20within\x20an\x20async\x20function\x20or\x20async\x20generator.','A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104','A\x20\x27continue\x27\x20statement\x20can\x20only\x20be\x20used\x20within\x20an\x20enclosing\x20iteration\x20statement.','A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105','A\x20\x27break\x27\x20statement\x20can\x20only\x20be\x20used\x20within\x20an\x20enclosing\x20iteration\x20or\x20switch\x20statement.','Jump\x20target\x20cannot\x20cross\x20function\x20boundary.','A_return_statement_can_only_be_used_within_a_function_body_1108','A\x20\x27return\x27\x20statement\x20can\x20only\x20be\x20used\x20within\x20a\x20function\x20body.','Expression\x20expected.','Type_expected_1110','Type\x20expected.','A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113','A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115','A\x20\x27continue\x27\x20statement\x20can\x20only\x20jump\x20to\x20a\x20label\x20of\x20an\x20enclosing\x20iteration\x20statement.','A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116','A\x20\x27break\x27\x20statement\x20can\x20only\x20jump\x20to\x20a\x20label\x20of\x20an\x20enclosing\x20statement.','An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117','An\x20object\x20literal\x20cannot\x20have\x20multiple\x20properties\x20with\x20the\x20same\x20name\x20in\x20strict\x20mode.','An\x20object\x20literal\x20cannot\x20have\x20multiple\x20get/set\x20accessors\x20with\x20the\x20same\x20name.','An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119','An\x20object\x20literal\x20cannot\x20have\x20property\x20and\x20accessor\x20with\x20the\x20same\x20name.','An_export_assignment_cannot_have_modifiers_1120','Octal_literals_are_not_allowed_in_strict_mode_1121','Octal\x20literals\x20are\x20not\x20allowed\x20in\x20strict\x20mode.','Variable_declaration_list_cannot_be_empty_1123','Variable\x20declaration\x20list\x20cannot\x20be\x20empty.','Digit\x20expected.','Hexadecimal\x20digit\x20expected.','Unexpected\x20end\x20of\x20text.','Invalid\x20character.','Statement_expected_1129','case_or_default_expected_1130','Property_or_signature_expected_1131','Property\x20or\x20signature\x20expected.','Enum_member_expected_1132','Enum\x20member\x20expected.','Variable_declaration_expected_1134','Argument_expression_expected_1135','Property_assignment_expected_1136','Property\x20assignment\x20expected.','Expression_or_comma_expected_1137','Expression\x20or\x20comma\x20expected.','Parameter_declaration_expected_1138','Parameter\x20declaration\x20expected.','Type_parameter_declaration_expected_1139','Type\x20parameter\x20declaration\x20expected.','Type_argument_expected_1140','Type\x20argument\x20expected.','String\x20literal\x20expected.','or_expected_1144','\x27{\x27\x20or\x20\x27;\x27\x20expected.','Declaration\x20expected.','Import_declarations_in_a_namespace_cannot_reference_a_module_1147','Import\x20declarations\x20in\x20a\x20namespace\x20cannot\x20reference\x20a\x20module.','Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148','Cannot\x20use\x20imports,\x20exports,\x20or\x20module\x20augmentations\x20when\x20\x27--module\x27\x20is\x20\x27none\x27.','File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149','\x27new\x20T[]\x27\x20cannot\x20be\x20used\x20to\x20create\x20an\x20array.\x20Use\x20\x27new\x20Array()\x27\x20instead.','const_declarations_must_be_initialized_1155','\x27const\x27\x20declarations\x20must\x20be\x20initialized.','const_declarations_can_only_be_declared_inside_a_block_1156','\x27const\x27\x20declarations\x20can\x20only\x20be\x20declared\x20inside\x20a\x20block.','Unterminated_template_literal_1160','Unterminated\x20template\x20literal.','Unterminated_regular_expression_literal_1161','Unterminated\x20regular\x20expression\x20literal.','An_object_member_cannot_be_declared_optional_1162','Computed_property_names_are_not_allowed_in_enums_1164','Computed\x20property\x20names\x20are\x20not\x20allowed\x20in\x20enums.','A\x20computed\x20property\x20name\x20in\x20an\x20ambient\x20context\x20must\x20refer\x20to\x20an\x20expression\x20whose\x20type\x20is\x20a\x20literal\x20type\x20or\x20a\x20\x27unique\x20symbol\x27\x20type.','A\x20computed\x20property\x20name\x20in\x20a\x20method\x20overload\x20must\x20refer\x20to\x20an\x20expression\x20whose\x20type\x20is\x20a\x20literal\x20type\x20or\x20a\x20\x27unique\x20symbol\x27\x20type.','A\x20computed\x20property\x20name\x20in\x20an\x20interface\x20must\x20refer\x20to\x20an\x20expression\x20whose\x20type\x20is\x20a\x20literal\x20type\x20or\x20a\x20\x27unique\x20symbol\x27\x20type.','A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170','A\x20computed\x20property\x20name\x20in\x20a\x20type\x20literal\x20must\x20refer\x20to\x20an\x20expression\x20whose\x20type\x20is\x20a\x20literal\x20type\x20or\x20a\x20\x27unique\x20symbol\x27\x20type.','A_comma_expression_is_not_allowed_in_a_computed_property_name_1171','A\x20comma\x20expression\x20is\x20not\x20allowed\x20in\x20a\x20computed\x20property\x20name.','\x27extends\x27\x20clause\x20already\x20seen.','extends_clause_must_precede_implements_clause_1173','\x27extends\x27\x20clause\x20must\x20precede\x20\x27implements\x27\x20clause.','Classes_can_only_extend_a_single_class_1174','Classes\x20can\x20only\x20extend\x20a\x20single\x20class.','\x27implements\x27\x20clause\x20already\x20seen.','Interface_declaration_cannot_have_implements_clause_1176','Interface\x20declaration\x20cannot\x20have\x20\x27implements\x27\x20clause.','Binary_digit_expected_1177','Binary\x20digit\x20expected.','Octal_digit_expected_1178','Octal\x20digit\x20expected.','Unexpected\x20token.\x20\x27{\x27\x20expected.','Property_destructuring_pattern_expected_1180','Property\x20destructuring\x20pattern\x20expected.','Array\x20element\x20destructuring\x20pattern\x20expected.','A_destructuring_declaration_must_have_an_initializer_1182','An_implementation_cannot_be_declared_in_ambient_contexts_1183','Modifiers_cannot_appear_here_1184','Modifiers\x20cannot\x20appear\x20here.','Merge_conflict_marker_encountered_1185','Merge\x20conflict\x20marker\x20encountered.','A_rest_element_cannot_have_an_initializer_1186','A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187','A\x20parameter\x20property\x20may\x20not\x20be\x20declared\x20using\x20a\x20binding\x20pattern.','Only\x20a\x20single\x20variable\x20declaration\x20is\x20allowed\x20in\x20a\x20\x27for...of\x27\x20statement.','The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189','The\x20variable\x20declaration\x20of\x20a\x20\x27for...in\x27\x20statement\x20cannot\x20have\x20an\x20initializer.','The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190','An_import_declaration_cannot_have_modifiers_1191','Module_0_has_no_default_export_1192','Module\x20\x27{0}\x27\x20has\x20no\x20default\x20export.','An_export_declaration_cannot_have_modifiers_1193','An\x20export\x20declaration\x20cannot\x20have\x20modifiers.','Export_declarations_are_not_permitted_in_a_namespace_1194','Export\x20declarations\x20are\x20not\x20permitted\x20in\x20a\x20namespace.','Catch_clause_variable_cannot_have_a_type_annotation_1196','Catch\x20clause\x20variable\x20cannot\x20have\x20a\x20type\x20annotation.','Catch\x20clause\x20variable\x20cannot\x20have\x20an\x20initializer.','An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198','Unterminated_Unicode_escape_sequence_1199','Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202','Import\x20assignment\x20cannot\x20be\x20used\x20when\x20targeting\x20ECMAScript\x20modules.\x20Consider\x20using\x20\x27import\x20*\x20as\x20ns\x20from\x20\x22mod\x22\x27,\x20\x27import\x20{a}\x20from\x20\x22mod\x22\x27,\x20\x27import\x20d\x20from\x20\x22mod\x22\x27,\x20or\x20another\x20module\x20format\x20instead.','Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203','Export\x20assignment\x20cannot\x20be\x20used\x20when\x20targeting\x20ECMAScript\x20modules.\x20Consider\x20using\x20\x27export\x20default\x27\x20or\x20another\x20module\x20format\x20instead.','Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided_1205','Decorators_are_not_valid_here_1206','Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207','Decorators\x20cannot\x20be\x20applied\x20to\x20multiple\x20get/set\x20accessors\x20of\x20the\x20same\x20name.','Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208','Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209','Ambient\x20const\x20enums\x20are\x20not\x20allowed\x20when\x20the\x20\x27--isolatedModules\x27\x20flag\x20is\x20provided.','Invalid\x20use\x20of\x20\x27{0}\x27.\x20Class\x20definitions\x20are\x20automatically\x20in\x20strict\x20mode.','A_class_declaration_without_the_default_modifier_must_have_a_name_1211','A\x20class\x20declaration\x20without\x20the\x20\x27default\x27\x20modifier\x20must\x20have\x20a\x20name.','Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212','Identifier\x20expected.\x20\x27{0}\x27\x20is\x20a\x20reserved\x20word\x20in\x20strict\x20mode.','Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213','Identifier\x20expected.\x20\x27{0}\x27\x20is\x20a\x20reserved\x20word\x20in\x20strict\x20mode.\x20Class\x20definitions\x20are\x20automatically\x20in\x20strict\x20mode.','Identifier\x20expected.\x20\x27{0}\x27\x20is\x20a\x20reserved\x20word\x20in\x20strict\x20mode.\x20Modules\x20are\x20automatically\x20in\x20strict\x20mode.','Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215','Invalid\x20use\x20of\x20\x27{0}\x27.\x20Modules\x20are\x20automatically\x20in\x20strict\x20mode.','Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216','Identifier\x20expected.\x20\x27__esModule\x27\x20is\x20reserved\x20as\x20an\x20exported\x20marker\x20when\x20transforming\x20ECMAScript\x20modules.','Export_assignment_is_not_supported_when_module_flag_is_system_1218','Export\x20assignment\x20is\x20not\x20supported\x20when\x20\x27--module\x27\x20flag\x20is\x20\x27system\x27.','Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219','Experimental\x20support\x20for\x20decorators\x20is\x20a\x20feature\x20that\x20is\x20subject\x20to\x20change\x20in\x20a\x20future\x20release.\x20Set\x20the\x20\x27experimentalDecorators\x27\x20option\x20to\x20remove\x20this\x20warning.','Generators_are_not_allowed_in_an_ambient_context_1221','Generators\x20are\x20not\x20allowed\x20in\x20an\x20ambient\x20context.','An_overload_signature_cannot_be_declared_as_a_generator_1222','An\x20overload\x20signature\x20cannot\x20be\x20declared\x20as\x20a\x20generator.','_0_tag_already_specified_1223','Cannot_find_parameter_0_1225','Cannot\x20find\x20parameter\x20\x27{0}\x27.','Type_predicate_0_is_not_assignable_to_1_1226','Type\x20predicate\x20\x27{0}\x27\x20is\x20not\x20assignable\x20to\x20\x27{1}\x27.','Parameter_0_is_not_in_the_same_position_as_parameter_1_1227','Parameter\x20\x27{0}\x27\x20is\x20not\x20in\x20the\x20same\x20position\x20as\x20parameter\x20\x27{1}\x27.','A_type_predicate_cannot_reference_a_rest_parameter_1229','A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230','A\x20type\x20predicate\x20cannot\x20reference\x20element\x20\x27{0}\x27\x20in\x20a\x20binding\x20pattern.','An_export_assignment_can_only_be_used_in_a_module_1231','An\x20export\x20assignment\x20can\x20only\x20be\x20used\x20in\x20a\x20module.','An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232','An\x20import\x20declaration\x20can\x20only\x20be\x20used\x20in\x20a\x20namespace\x20or\x20module.','An_export_declaration_can_only_be_used_in_a_module_1233','An\x20export\x20declaration\x20can\x20only\x20be\x20used\x20in\x20a\x20module.','An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234','An\x20ambient\x20module\x20declaration\x20is\x20only\x20allowed\x20at\x20the\x20top\x20level\x20in\x20a\x20file.','A\x20namespace\x20declaration\x20is\x20only\x20allowed\x20in\x20a\x20namespace\x20or\x20module.','The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236','The\x20return\x20type\x20of\x20a\x20property\x20decorator\x20function\x20must\x20be\x20either\x20\x27void\x27\x20or\x20\x27any\x27.','The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237','Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238','Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239','Unable\x20to\x20resolve\x20signature\x20of\x20parameter\x20decorator\x20when\x20called\x20as\x20an\x20expression.','Unable\x20to\x20resolve\x20signature\x20of\x20property\x20decorator\x20when\x20called\x20as\x20an\x20expression.','Unable\x20to\x20resolve\x20signature\x20of\x20method\x20decorator\x20when\x20called\x20as\x20an\x20expression.','abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242','_0_modifier_cannot_be_used_with_1_modifier_1243','\x27{0}\x27\x20modifier\x20cannot\x20be\x20used\x20with\x20\x27{1}\x27\x20modifier.','Abstract\x20methods\x20can\x20only\x20appear\x20within\x20an\x20abstract\x20class.','Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245','Method\x20\x27{0}\x27\x20cannot\x20have\x20an\x20implementation\x20because\x20it\x20is\x20marked\x20abstract.','An_interface_property_cannot_have_an_initializer_1246','A_type_literal_property_cannot_have_an_initializer_1247','A\x20type\x20literal\x20property\x20cannot\x20have\x20an\x20initializer.','A_class_member_cannot_have_the_0_keyword_1248','A\x20class\x20member\x20cannot\x20have\x20the\x20\x27{0}\x27\x20keyword.','A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249','A\x20decorator\x20can\x20only\x20decorate\x20a\x20method\x20implementation,\x20not\x20an\x20overload.','Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250','Function\x20declarations\x20are\x20not\x20allowed\x20inside\x20blocks\x20in\x20strict\x20mode\x20when\x20targeting\x20\x27ES3\x27\x20or\x20\x27ES5\x27.','Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251','Function\x20declarations\x20are\x20not\x20allowed\x20inside\x20blocks\x20in\x20strict\x20mode\x20when\x20targeting\x20\x27ES3\x27\x20or\x20\x27ES5\x27.\x20Class\x20definitions\x20are\x20automatically\x20in\x20strict\x20mode.','Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252','Function\x20declarations\x20are\x20not\x20allowed\x20inside\x20blocks\x20in\x20strict\x20mode\x20when\x20targeting\x20\x27ES3\x27\x20or\x20\x27ES5\x27.\x20Modules\x20are\x20automatically\x20in\x20strict\x20mode.','_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253','\x27{0}\x27\x20tag\x20cannot\x20be\x20used\x20independently\x20as\x20a\x20top\x20level\x20JSDoc\x20tag.','A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254','A\x20\x27const\x27\x20initializer\x20in\x20an\x20ambient\x20context\x20must\x20be\x20a\x20string\x20or\x20numeric\x20literal\x20or\x20literal\x20enum\x20reference.','A\x20definite\x20assignment\x20assertion\x20\x27!\x27\x20is\x20not\x20permitted\x20in\x20this\x20context.','A_rest_element_must_be_last_in_a_tuple_type_1256','A\x20rest\x20element\x20must\x20be\x20last\x20in\x20a\x20tuple\x20type.','with_statements_are_not_allowed_in_an_async_function_block_1300','\x27with\x27\x20statements\x20are\x20not\x20allowed\x20in\x20an\x20async\x20function\x20block.','\x27await\x27\x20expression\x20is\x20only\x20allowed\x20within\x20an\x20async\x20function.','can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312','The_body_of_an_if_statement_cannot_be_the_empty_statement_1313','The\x20body\x20of\x20an\x20\x27if\x27\x20statement\x20cannot\x20be\x20the\x20empty\x20statement.','Global_module_exports_may_only_appear_in_declaration_files_1315','Global\x20module\x20exports\x20may\x20only\x20appear\x20in\x20declaration\x20files.','Global_module_exports_may_only_appear_at_top_level_1316','Global\x20module\x20exports\x20may\x20only\x20appear\x20at\x20top\x20level.','A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317','A\x20parameter\x20property\x20cannot\x20be\x20declared\x20using\x20a\x20rest\x20parameter.','An_abstract_accessor_cannot_have_an_implementation_1318','An\x20abstract\x20accessor\x20cannot\x20have\x20an\x20implementation.','A\x20default\x20export\x20can\x20only\x20be\x20used\x20in\x20an\x20ECMAScript-style\x20module.','Type\x20of\x20\x27await\x27\x20operand\x20must\x20either\x20be\x20a\x20valid\x20promise\x20or\x20must\x20not\x20contain\x20a\x20callable\x20\x27then\x27\x20member.','Type\x20of\x20\x27yield\x27\x20operand\x20in\x20an\x20async\x20generator\x20must\x20either\x20be\x20a\x20valid\x20promise\x20or\x20must\x20not\x20contain\x20a\x20callable\x20\x27then\x27\x20member.','Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322','Type\x20of\x20iterated\x20elements\x20of\x20a\x20\x27yield*\x27\x20operand\x20must\x20either\x20be\x20a\x20valid\x20promise\x20or\x20must\x20not\x20contain\x20a\x20callable\x20\x27then\x27\x20member.','Dynamic_import_is_only_supported_when_module_flag_is_commonjs_or_esNext_1323','Dynamic\x20import\x20is\x20only\x20supported\x20when\x20\x27--module\x27\x20flag\x20is\x20\x27commonjs\x27\x20or\x20\x27esNext\x27.','Dynamic_import_must_have_one_specifier_as_an_argument_1324','String_literal_with_double_quotes_expected_1327','String\x20literal\x20with\x20double\x20quotes\x20expected.','Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328','_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329','\x27{0}\x27\x20accepts\x20too\x20few\x20arguments\x20to\x20be\x20used\x20as\x20a\x20decorator\x20here.\x20Did\x20you\x20mean\x20to\x20call\x20it\x20first\x20and\x20write\x20\x27@{0}()\x27?','A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330','A\x20property\x20of\x20an\x20interface\x20or\x20type\x20literal\x20whose\x20type\x20is\x20a\x20\x27unique\x20symbol\x27\x20type\x20must\x20be\x20\x27readonly\x27.','A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331','A\x20property\x20of\x20a\x20class\x20whose\x20type\x20is\x20a\x20\x27unique\x20symbol\x27\x20type\x20must\x20be\x20both\x20\x27static\x27\x20and\x20\x27readonly\x27.','A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332','A\x20variable\x20whose\x20type\x20is\x20a\x20\x27unique\x20symbol\x27\x20type\x20must\x20be\x20\x27const\x27.','unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333','\x27unique\x20symbol\x27\x20types\x20may\x20not\x20be\x20used\x20on\x20a\x20variable\x20declaration\x20with\x20a\x20binding\x20name.','unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334','\x27unique\x20symbol\x27\x20types\x20are\x20only\x20allowed\x20on\x20variables\x20in\x20a\x20variable\x20statement.','unique_symbol_types_are_not_allowed_here_1335','\x27unique\x20symbol\x27\x20types\x20are\x20not\x20allowed\x20here.','An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336','An\x20index\x20signature\x20parameter\x20type\x20cannot\x20be\x20a\x20type\x20alias.\x20Consider\x20writing\x20\x27[{0}:\x20{1}]:\x20{2}\x27\x20instead.','An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337','An\x20index\x20signature\x20parameter\x20type\x20cannot\x20be\x20a\x20union\x20type.\x20Consider\x20using\x20a\x20mapped\x20object\x20type\x20instead.','Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339','Module\x20\x27{0}\x27\x20does\x20not\x20refer\x20to\x20a\x20value,\x20but\x20is\x20used\x20as\x20a\x20value\x20here.','Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340','Type_arguments_cannot_be_used_here_1342','Type\x20arguments\x20cannot\x20be\x20used\x20here.','The_import_meta_meta_property_is_only_allowed_using_ESNext_for_the_target_and_module_compiler_option_1343','A_label_is_not_allowed_here_1344','\x27A\x20label\x20is\x20not\x20allowed\x20here.','An\x20expression\x20of\x20type\x20\x27void\x27\x20cannot\x20be\x20tested\x20for\x20truthiness','This_parameter_is_not_allowed_with_use_strict_directive_1346','This\x20parameter\x20is\x20not\x20allowed\x20with\x20\x27use\x20strict\x27\x20directive.','Non-simple\x20parameter\x20declared\x20here.','use_strict_directive_used_here_1349','\x27use\x20strict\x27\x20directive\x20used\x20here.','Print_the_final_configuration_instead_of_building_1350','Print\x20the\x20final\x20configuration\x20instead\x20of\x20building.','Duplicate_identifier_0_2300','Duplicate\x20identifier\x20\x27{0}\x27.','Static\x20members\x20cannot\x20reference\x20class\x20type\x20parameters.','Circular_definition_of_import_alias_0_2303','Circular\x20definition\x20of\x20import\x20alias\x20\x27{0}\x27.','Cannot_find_name_0_2304','Cannot\x20find\x20name\x20\x27{0}\x27.','Module_0_has_no_exported_member_1_2305','File\x20\x27{0}\x27\x20is\x20not\x20a\x20module.','Cannot_find_module_0_2307','Cannot\x20find\x20module\x20\x27{0}\x27.','Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308','Module\x20{0}\x20has\x20already\x20exported\x20a\x20member\x20named\x20\x27{1}\x27.\x20Consider\x20explicitly\x20re-exporting\x20to\x20resolve\x20the\x20ambiguity.','Type\x20\x27{0}\x27\x20recursively\x20references\x20itself\x20as\x20a\x20base\x20type.','An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312','An\x20interface\x20can\x20only\x20extend\x20an\x20object\x20type\x20or\x20intersection\x20of\x20object\x20types\x20with\x20statically\x20known\x20members.','Type_parameter_0_has_a_circular_constraint_2313','Type\x20parameter\x20\x27{0}\x27\x20has\x20a\x20circular\x20constraint.','Generic_type_0_requires_1_type_argument_s_2314','Global_type_0_must_be_a_class_or_interface_type_2316','Global_type_0_must_have_1_type_parameter_s_2317','Cannot_find_global_type_0_2318','Named_property_0_of_types_1_and_2_are_not_identical_2319','Named\x20property\x20\x27{0}\x27\x20of\x20types\x20\x27{1}\x27\x20and\x20\x27{2}\x27\x20are\x20not\x20identical.','Interface_0_cannot_simultaneously_extend_types_1_and_2_2320','Excessive_stack_depth_comparing_types_0_and_1_2321','Type_0_is_not_assignable_to_type_1_2322','Type\x20\x27{0}\x27\x20is\x20not\x20assignable\x20to\x20type\x20\x27{1}\x27.','Cannot_redeclare_exported_variable_0_2323','Cannot\x20redeclare\x20exported\x20variable\x20\x27{0}\x27.','Property_0_is_missing_in_type_1_2324','Property\x20\x27{0}\x27\x20is\x20missing\x20in\x20type\x20\x27{1}\x27.','Property_0_is_private_in_type_1_but_not_in_type_2_2325','Property\x20\x27{0}\x27\x20is\x20private\x20in\x20type\x20\x27{1}\x27\x20but\x20not\x20in\x20type\x20\x27{2}\x27.','Types_of_property_0_are_incompatible_2326','Types\x20of\x20property\x20\x27{0}\x27\x20are\x20incompatible.','Property\x20\x27{0}\x27\x20is\x20optional\x20in\x20type\x20\x27{1}\x27\x20but\x20required\x20in\x20type\x20\x27{2}\x27.','Types_of_parameters_0_and_1_are_incompatible_2328','Types\x20of\x20parameters\x20\x27{0}\x27\x20and\x20\x27{1}\x27\x20are\x20incompatible.','Index_signature_is_missing_in_type_0_2329','Index\x20signature\x20is\x20missing\x20in\x20type\x20\x27{0}\x27.','Index_signatures_are_incompatible_2330','\x27this\x27\x20cannot\x20be\x20referenced\x20in\x20a\x20module\x20or\x20namespace\x20body.','this_cannot_be_referenced_in_current_location_2332','\x27this\x27\x20cannot\x20be\x20referenced\x20in\x20current\x20location.','\x27this\x27\x20cannot\x20be\x20referenced\x20in\x20constructor\x20arguments.','\x27this\x27\x20cannot\x20be\x20referenced\x20in\x20a\x20static\x20property\x20initializer.','super_can_only_be_referenced_in_a_derived_class_2335','\x27super\x27\x20can\x20only\x20be\x20referenced\x20in\x20a\x20derived\x20class.','\x27super\x27\x20cannot\x20be\x20referenced\x20in\x20constructor\x20arguments.','Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337','Super\x20calls\x20are\x20not\x20permitted\x20outside\x20constructors\x20or\x20in\x20nested\x20functions\x20inside\x20constructors.','super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338','\x27super\x27\x20property\x20access\x20is\x20permitted\x20only\x20in\x20a\x20constructor,\x20member\x20function,\x20or\x20member\x20accessor\x20of\x20a\x20derived\x20class.','Property_0_does_not_exist_on_type_1_2339','Property\x20\x27{0}\x27\x20does\x20not\x20exist\x20on\x20type\x20\x27{1}\x27.','Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340','Only\x20public\x20and\x20protected\x20methods\x20of\x20the\x20base\x20class\x20are\x20accessible\x20via\x20the\x20\x27super\x27\x20keyword.','Property_0_is_private_and_only_accessible_within_class_1_2341','Property\x20\x27{0}\x27\x20is\x20private\x20and\x20only\x20accessible\x20within\x20class\x20\x27{1}\x27.','An\x20index\x20expression\x20argument\x20must\x20be\x20of\x20type\x20\x27string\x27,\x20\x27number\x27,\x20\x27symbol\x27,\x20or\x20\x27any\x27.','This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1_2343','This\x20syntax\x20requires\x20an\x20imported\x20helper\x20named\x20\x27{1}\x27,\x20but\x20module\x20\x27{0}\x27\x20has\x20no\x20exported\x20member\x20\x27{1}\x27.','Type_0_does_not_satisfy_the_constraint_1_2344','Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345','Argument\x20of\x20type\x20\x27{0}\x27\x20is\x20not\x20assignable\x20to\x20parameter\x20of\x20type\x20\x27{1}\x27.','Call_target_does_not_contain_any_signatures_2346','Call\x20target\x20does\x20not\x20contain\x20any\x20signatures.','Untyped_function_calls_may_not_accept_type_arguments_2347','Untyped\x20function\x20calls\x20may\x20not\x20accept\x20type\x20arguments.','Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348','Value\x20of\x20type\x20\x27{0}\x27\x20is\x20not\x20callable.\x20Did\x20you\x20mean\x20to\x20include\x20\x27new\x27?','Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatur_2349','Only_a_void_function_can_be_called_with_the_new_keyword_2350','Only\x20a\x20void\x20function\x20can\x20be\x20called\x20with\x20the\x20\x27new\x27\x20keyword.','Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351','Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352','Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353','Object\x20literal\x20may\x20only\x20specify\x20known\x20properties,\x20and\x20\x27{0}\x27\x20does\x20not\x20exist\x20in\x20type\x20\x27{1}\x27.','This\x20syntax\x20requires\x20an\x20imported\x20helper\x20but\x20module\x20\x27{0}\x27\x20cannot\x20be\x20found.','A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355','An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356','An\x20arithmetic\x20operand\x20must\x20be\x20of\x20type\x20\x27any\x27,\x20\x27number\x27,\x20\x27bigint\x27\x20or\x20an\x20enum\x20type.','The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357','The\x20operand\x20of\x20an\x20increment\x20or\x20decrement\x20operator\x20must\x20be\x20a\x20variable\x20or\x20a\x20property\x20access.','The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358','The\x20left-hand\x20side\x20of\x20an\x20\x27instanceof\x27\x20expression\x20must\x20be\x20of\x20type\x20\x27any\x27,\x20an\x20object\x20type\x20or\x20a\x20type\x20parameter.','The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359','The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360','The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361','The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362','The\x20left-hand\x20side\x20of\x20an\x20arithmetic\x20operation\x20must\x20be\x20of\x20type\x20\x27any\x27,\x20\x27number\x27,\x20\x27bigint\x27\x20or\x20an\x20enum\x20type.','The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363','The\x20right-hand\x20side\x20of\x20an\x20arithmetic\x20operation\x20must\x20be\x20of\x20type\x20\x27any\x27,\x20\x27number\x27,\x20\x27bigint\x27\x20or\x20an\x20enum\x20type.','The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364','Operator_0_cannot_be_applied_to_types_1_and_2_2365','Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366','Function\x20lacks\x20ending\x20return\x20statement\x20and\x20return\x20type\x20does\x20not\x20include\x20\x27undefined\x27.','This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367','Type_parameter_name_cannot_be_0_2368','Type\x20parameter\x20name\x20cannot\x20be\x20\x27{0}\x27.','A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369','A\x20parameter\x20property\x20is\x20only\x20allowed\x20in\x20a\x20constructor\x20implementation.','A\x20rest\x20parameter\x20must\x20be\x20of\x20an\x20array\x20type.','A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371','A\x20parameter\x20initializer\x20is\x20only\x20allowed\x20in\x20a\x20function\x20or\x20constructor\x20implementation.','Parameter_0_cannot_be_referenced_in_its_initializer_2372','Parameter\x20\x27{0}\x27\x20cannot\x20be\x20referenced\x20in\x20its\x20initializer.','Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373','Initializer\x20of\x20parameter\x20\x27{0}\x27\x20cannot\x20reference\x20identifier\x20\x27{1}\x27\x20declared\x20after\x20it.','Duplicate\x20string\x20index\x20signature.','Duplicate_number_index_signature_2375','Duplicate\x20number\x20index\x20signature.','A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376','A\x20\x27super\x27\x20call\x20must\x20be\x20the\x20first\x20statement\x20in\x20the\x20constructor\x20when\x20a\x20class\x20contains\x20initialized\x20properties\x20or\x20has\x20parameter\x20properties.','A\x20\x27get\x27\x20accessor\x20must\x20return\x20a\x20value.','Getter_and_setter_accessors_do_not_agree_in_visibility_2379','Getter\x20and\x20setter\x20accessors\x20do\x20not\x20agree\x20in\x20visibility.','get_and_set_accessor_must_have_the_same_type_2380','\x27get\x27\x20and\x20\x27set\x27\x20accessor\x20must\x20have\x20the\x20same\x20type.','A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381','Overload_signatures_must_all_be_exported_or_non_exported_2383','Overload\x20signatures\x20must\x20all\x20be\x20ambient\x20or\x20non-ambient.','Overload_signatures_must_all_be_public_private_or_protected_2385','Overload_signatures_must_all_be_optional_or_required_2386','Overload\x20signatures\x20must\x20all\x20be\x20optional\x20or\x20required.','Function_overload_must_be_static_2387','Function\x20overload\x20must\x20be\x20static.','Function\x20overload\x20must\x20not\x20be\x20static.','Function_implementation_name_must_be_0_2389','Function\x20implementation\x20name\x20must\x20be\x20\x27{0}\x27.','Constructor_implementation_is_missing_2390','Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391','Function\x20implementation\x20is\x20missing\x20or\x20not\x20immediately\x20following\x20the\x20declaration.','Multiple\x20constructor\x20implementations\x20are\x20not\x20allowed.','Duplicate_function_implementation_2393','Duplicate\x20function\x20implementation.','Overload\x20signature\x20is\x20not\x20compatible\x20with\x20function\x20implementation.','Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395','Individual\x20declarations\x20in\x20merged\x20declaration\x20\x27{0}\x27\x20must\x20be\x20all\x20exported\x20or\x20all\x20local.','Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396','Declaration_name_conflicts_with_built_in_global_identifier_0_2397','Declaration\x20name\x20conflicts\x20with\x20built-in\x20global\x20identifier\x20\x27{0}\x27.','Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399','Duplicate\x20identifier\x20\x27_this\x27.\x20Compiler\x20uses\x20variable\x20declaration\x20\x27_this\x27\x20to\x20capture\x20\x27this\x27\x20reference.','Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400','Expression\x20resolves\x20to\x20variable\x20declaration\x20\x27_this\x27\x20that\x20compiler\x20uses\x20to\x20capture\x20\x27this\x27\x20reference.','Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401','Duplicate\x20identifier\x20\x27_super\x27.\x20Compiler\x20uses\x20\x27_super\x27\x20to\x20capture\x20base\x20class\x20reference.','Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402','Expression\x20resolves\x20to\x20\x27_super\x27\x20that\x20compiler\x20uses\x20to\x20capture\x20base\x20class\x20reference.','Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403','Subsequent\x20variable\x20declarations\x20must\x20have\x20the\x20same\x20type.\x20\x20Variable\x20\x27{0}\x27\x20must\x20be\x20of\x20type\x20\x27{1}\x27,\x20but\x20here\x20has\x20type\x20\x27{2}\x27.','The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405','The\x20left-hand\x20side\x20of\x20a\x20\x27for...in\x27\x20statement\x20must\x20be\x20of\x20type\x20\x27string\x27\x20or\x20\x27any\x27.','The\x20left-hand\x20side\x20of\x20a\x20\x27for...in\x27\x20statement\x20must\x20be\x20a\x20variable\x20or\x20a\x20property\x20access.','The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407','The\x20right-hand\x20side\x20of\x20a\x20\x27for...in\x27\x20statement\x20must\x20be\x20of\x20type\x20\x27any\x27,\x20an\x20object\x20type\x20or\x20a\x20type\x20parameter,\x20but\x20here\x20has\x20type\x20\x27{0}\x27.','Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409','Return\x20type\x20of\x20constructor\x20signature\x20must\x20be\x20assignable\x20to\x20the\x20instance\x20type\x20of\x20the\x20class.','The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410','The\x20\x27with\x27\x20statement\x20is\x20not\x20supported.\x20All\x20symbols\x20in\x20a\x20\x27with\x27\x20block\x20will\x20have\x20type\x20\x27any\x27.','Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411','Property\x20\x27{0}\x27\x20of\x20type\x20\x27{1}\x27\x20is\x20not\x20assignable\x20to\x20string\x20index\x20type\x20\x27{2}\x27.','Numeric\x20index\x20type\x20\x27{0}\x27\x20is\x20not\x20assignable\x20to\x20string\x20index\x20type\x20\x27{1}\x27.','Class_name_cannot_be_0_2414','Class\x20name\x20cannot\x20be\x20\x27{0}\x27.','Class_0_incorrectly_extends_base_class_1_2415','Class\x20\x27{0}\x27\x20incorrectly\x20extends\x20base\x20class\x20\x27{1}\x27.','Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416','Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417','Class\x20static\x20side\x20\x27{0}\x27\x20incorrectly\x20extends\x20base\x20class\x20static\x20side\x20\x27{1}\x27.','Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418','Type\x20of\x20computed\x20property\x27s\x20value\x20is\x20\x27{0}\x27,\x20which\x20is\x20not\x20assignable\x20to\x20type\x20\x27{1}\x27.','Class_0_incorrectly_implements_interface_1_2420','Class\x20\x27{0}\x27\x20incorrectly\x20implements\x20interface\x20\x27{1}\x27.','A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422','Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423','Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424','Class\x20\x27{0}\x27\x20defines\x20instance\x20member\x20function\x20\x27{1}\x27,\x20but\x20extended\x20class\x20\x27{2}\x27\x20defines\x20it\x20as\x20instance\x20member\x20property.','Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425','Class\x20\x27{0}\x27\x20defines\x20instance\x20member\x20property\x20\x27{1}\x27,\x20but\x20extended\x20class\x20\x27{2}\x27\x20defines\x20it\x20as\x20instance\x20member\x20function.','Class\x20\x27{0}\x27\x20defines\x20instance\x20member\x20accessor\x20\x27{1}\x27,\x20but\x20extended\x20class\x20\x27{2}\x27\x20defines\x20it\x20as\x20instance\x20member\x20function.','Interface_name_cannot_be_0_2427','Interface\x20name\x20cannot\x20be\x20\x27{0}\x27.','All_declarations_of_0_must_have_identical_type_parameters_2428','All\x20declarations\x20of\x20\x27{0}\x27\x20must\x20have\x20identical\x20type\x20parameters.','Interface_0_incorrectly_extends_interface_1_2430','Interface\x20\x27{0}\x27\x20incorrectly\x20extends\x20interface\x20\x27{1}\x27.','Enum_name_cannot_be_0_2431','Enum\x20name\x20cannot\x20be\x20\x27{0}\x27.','In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432','In\x20an\x20enum\x20with\x20multiple\x20declarations,\x20only\x20one\x20declaration\x20can\x20omit\x20an\x20initializer\x20for\x20its\x20first\x20enum\x20element.','A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433','A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434','A\x20namespace\x20declaration\x20cannot\x20be\x20located\x20prior\x20to\x20a\x20class\x20or\x20function\x20with\x20which\x20it\x20is\x20merged.','Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435','Ambient\x20modules\x20cannot\x20be\x20nested\x20in\x20other\x20modules\x20or\x20namespaces.','Ambient_module_declaration_cannot_specify_relative_module_name_2436','Ambient\x20module\x20declaration\x20cannot\x20specify\x20relative\x20module\x20name.','Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437','Module\x20\x27{0}\x27\x20is\x20hidden\x20by\x20a\x20local\x20declaration\x20with\x20the\x20same\x20name.','Import_name_cannot_be_0_2438','Import\x20name\x20cannot\x20be\x20\x27{0}\x27.','Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439','Import\x20or\x20export\x20declaration\x20in\x20an\x20ambient\x20module\x20declaration\x20cannot\x20reference\x20module\x20through\x20relative\x20module\x20name.','Import_declaration_conflicts_with_local_declaration_of_0_2440','Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441','Duplicate\x20identifier\x20\x27{0}\x27.\x20Compiler\x20reserves\x20name\x20\x27{1}\x27\x20in\x20top\x20level\x20scope\x20of\x20a\x20module.','Types_have_separate_declarations_of_a_private_property_0_2442','Types\x20have\x20separate\x20declarations\x20of\x20a\x20private\x20property\x20\x27{0}\x27.','Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443','Property\x20\x27{0}\x27\x20is\x20protected\x20but\x20type\x20\x27{1}\x27\x20is\x20not\x20a\x20class\x20derived\x20from\x20\x27{2}\x27.','Property_0_is_protected_in_type_1_but_public_in_type_2_2444','Property\x20\x27{0}\x27\x20is\x20protected\x20in\x20type\x20\x27{1}\x27\x20but\x20public\x20in\x20type\x20\x27{2}\x27.','Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445','Property\x20\x27{0}\x27\x20is\x20protected\x20and\x20only\x20accessible\x20within\x20class\x20\x27{1}\x27\x20and\x20its\x20subclasses.','Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446','The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447','The\x20\x27{0}\x27\x20operator\x20is\x20not\x20allowed\x20for\x20boolean\x20types.\x20Consider\x20using\x20\x27{1}\x27\x20instead.','Block_scoped_variable_0_used_before_its_declaration_2448','Class\x20\x27{0}\x27\x20used\x20before\x20its\x20declaration.','Enum_0_used_before_its_declaration_2450','Enum\x20\x27{0}\x27\x20used\x20before\x20its\x20declaration.','Cannot_redeclare_block_scoped_variable_0_2451','Cannot\x20redeclare\x20block-scoped\x20variable\x20\x27{0}\x27.','An_enum_member_cannot_have_a_numeric_name_2452','An\x20enum\x20member\x20cannot\x20have\x20a\x20numeric\x20name.','The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453','Variable_0_is_used_before_being_assigned_2454','Variable\x20\x27{0}\x27\x20is\x20used\x20before\x20being\x20assigned.','Type\x20argument\x20candidate\x20\x27{1}\x27\x20is\x20not\x20a\x20valid\x20type\x20argument\x20because\x20it\x20is\x20not\x20a\x20supertype\x20of\x20candidate\x20\x27{0}\x27.','Type_alias_0_circularly_references_itself_2456','Type\x20alias\x20\x27{0}\x27\x20circularly\x20references\x20itself.','Type_alias_name_cannot_be_0_2457','Type\x20alias\x20name\x20cannot\x20be\x20\x27{0}\x27.','An_AMD_module_cannot_have_multiple_name_assignments_2458','An\x20AMD\x20module\x20cannot\x20have\x20multiple\x20name\x20assignments.','Type_0_has_no_property_1_and_no_string_index_signature_2459','Type\x20\x27{0}\x27\x20has\x20no\x20property\x20\x27{1}\x27.','Type_0_is_not_an_array_type_2461','Type\x20\x27{0}\x27\x20is\x20not\x20an\x20array\x20type.','A_rest_element_must_be_last_in_a_destructuring_pattern_2462','A\x20rest\x20element\x20must\x20be\x20last\x20in\x20a\x20destructuring\x20pattern.','A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463','A\x20binding\x20pattern\x20parameter\x20cannot\x20be\x20optional\x20in\x20an\x20implementation\x20signature.','A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464','this_cannot_be_referenced_in_a_computed_property_name_2465','\x27this\x27\x20cannot\x20be\x20referenced\x20in\x20a\x20computed\x20property\x20name.','\x27super\x27\x20cannot\x20be\x20referenced\x20in\x20a\x20computed\x20property\x20name.','A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467','A\x20computed\x20property\x20name\x20cannot\x20reference\x20a\x20type\x20parameter\x20from\x20its\x20containing\x20type.','Cannot_find_global_value_0_2468','The_0_operator_cannot_be_applied_to_type_symbol_2469','The\x20\x27{0}\x27\x20operator\x20cannot\x20be\x20applied\x20to\x20type\x20\x27symbol\x27.','Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470','\x27Symbol\x27\x20reference\x20does\x20not\x20refer\x20to\x20the\x20global\x20Symbol\x20constructor\x20object.','A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471','A\x20computed\x20property\x20name\x20of\x20the\x20form\x20\x27{0}\x27\x20must\x20be\x20of\x20type\x20\x27symbol\x27.','Spread\x20operator\x20in\x20\x27new\x27\x20expressions\x20is\x20only\x20available\x20when\x20targeting\x20ECMAScript\x205\x20and\x20higher.','Enum\x20declarations\x20must\x20all\x20be\x20const\x20or\x20non-const.','In_const_enum_declarations_member_initializer_must_be_constant_expression_2474','In\x20\x27const\x27\x20enum\x20declarations\x20member\x20initializer\x20must\x20be\x20constant\x20expression.','const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475','\x27const\x27\x20enums\x20can\x20only\x20be\x20used\x20in\x20property\x20or\x20index\x20access\x20expressions\x20or\x20the\x20right\x20hand\x20side\x20of\x20an\x20import\x20declaration\x20or\x20export\x20assignment\x20or\x20type\x20query.','A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476','const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477','\x27const\x27\x20enum\x20member\x20initializer\x20was\x20evaluated\x20to\x20a\x20non-finite\x20value.','const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478','Property\x20\x27{0}\x27\x20does\x20not\x20exist\x20on\x20\x27const\x27\x20enum\x20\x27{1}\x27.','let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480','\x27let\x27\x20is\x20not\x20allowed\x20to\x20be\x20used\x20as\x20a\x20name\x20in\x20\x27let\x27\x20or\x20\x27const\x27\x20declarations.','Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481','The\x20left-hand\x20side\x20of\x20a\x20\x27for...of\x27\x20statement\x20cannot\x20use\x20a\x20type\x20annotation.','Export_declaration_conflicts_with_exported_declaration_of_0_2484','Export\x20declaration\x20conflicts\x20with\x20exported\x20declaration\x20of\x20\x27{0}\x27.','The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487','The\x20left-hand\x20side\x20of\x20a\x20\x27for...of\x27\x20statement\x20must\x20be\x20a\x20variable\x20or\x20a\x20property\x20access.','Type\x20\x27{0}\x27\x20must\x20have\x20a\x20\x27[Symbol.iterator]()\x27\x20method\x20that\x20returns\x20an\x20iterator.','An_iterator_must_have_a_next_method_2489','The\x20type\x20returned\x20by\x20the\x20\x27next()\x27\x20method\x20of\x20an\x20iterator\x20must\x20have\x20a\x20\x27value\x27\x20property.','The\x20left-hand\x20side\x20of\x20a\x20\x27for...in\x27\x20statement\x20cannot\x20be\x20a\x20destructuring\x20pattern.','Cannot\x20redeclare\x20identifier\x20\x27{0}\x27\x20in\x20catch\x20clause.','Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493','Tuple\x20type\x20\x27{0}\x27\x20with\x20length\x20\x27{1}\x27\x20cannot\x20be\x20assigned\x20to\x20tuple\x20with\x20length\x20\x27{2}\x27.','Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494','Using\x20a\x20string\x20in\x20a\x20\x27for...of\x27\x20statement\x20is\x20only\x20supported\x20in\x20ECMAScript\x205\x20and\x20higher.','Type_0_is_not_an_array_type_or_a_string_type_2495','The\x20\x27arguments\x27\x20object\x20cannot\x20be\x20referenced\x20in\x20an\x20arrow\x20function\x20in\x20ES3\x20and\x20ES5.\x20Consider\x20using\x20a\x20standard\x20function\x20expression.','Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497','Module\x20\x27{0}\x27\x20resolves\x20to\x20a\x20non-module\x20entity\x20and\x20cannot\x20be\x20imported\x20using\x20this\x20construct.','Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498','Module\x20\x27{0}\x27\x20uses\x20\x27export\x20=\x27\x20and\x20cannot\x20be\x20used\x20with\x20\x27export\x20*\x27.','An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499','An\x20interface\x20can\x20only\x20extend\x20an\x20identifier/qualified-name\x20with\x20optional\x20type\x20arguments.','A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500','A\x20class\x20can\x20only\x20implement\x20an\x20identifier/qualified-name\x20with\x20optional\x20type\x20arguments.','A_rest_element_cannot_contain_a_binding_pattern_2501','_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502','Cannot_find_namespace_0_2503','Cannot\x20find\x20namespace\x20\x27{0}\x27.','Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504','Type\x20\x27{0}\x27\x20must\x20have\x20a\x20\x27[Symbol.asyncIterator]()\x27\x20method\x20that\x20returns\x20an\x20async\x20iterator.','A_generator_cannot_have_a_void_type_annotation_2505','A\x20generator\x20cannot\x20have\x20a\x20\x27void\x27\x20type\x20annotation.','_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506','\x27{0}\x27\x20is\x20referenced\x20directly\x20or\x20indirectly\x20in\x20its\x20own\x20base\x20expression.','Type_0_is_not_a_constructor_function_type_2507','Type\x20\x27{0}\x27\x20is\x20not\x20a\x20constructor\x20function\x20type.','No_base_constructor_has_the_specified_number_of_type_arguments_2508','Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509','Base\x20constructor\x20return\x20type\x20\x27{0}\x27\x20is\x20not\x20an\x20object\x20type\x20or\x20intersection\x20of\x20object\x20types\x20with\x20statically\x20known\x20members.','Base_constructors_must_all_have_the_same_return_type_2510','Cannot_create_an_instance_of_an_abstract_class_2511','Overload_signatures_must_all_be_abstract_or_non_abstract_2512','Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513','Classes_containing_abstract_methods_must_be_marked_abstract_2514','Classes\x20containing\x20abstract\x20methods\x20must\x20be\x20marked\x20abstract.','All_declarations_of_an_abstract_method_must_be_consecutive_2516','All\x20declarations\x20of\x20an\x20abstract\x20method\x20must\x20be\x20consecutive.','Cannot\x20assign\x20an\x20abstract\x20constructor\x20type\x20to\x20a\x20non-abstract\x20constructor\x20type.','A\x20\x27this\x27-based\x20type\x20guard\x20is\x20not\x20compatible\x20with\x20a\x20parameter-based\x20type\x20guard.','An_async_iterator_must_have_a_next_method_2519','An\x20async\x20iterator\x20must\x20have\x20a\x20\x27next()\x27\x20method.','Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520','Duplicate\x20identifier\x20\x27{0}\x27.\x20Compiler\x20uses\x20declaration\x20\x27{1}\x27\x20to\x20support\x20async\x20functions.','Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521','The\x20\x27arguments\x27\x20object\x20cannot\x20be\x20referenced\x20in\x20an\x20async\x20function\x20or\x20method\x20in\x20ES3\x20and\x20ES5.\x20Consider\x20using\x20a\x20standard\x20function\x20or\x20method.','yield_expressions_cannot_be_used_in_a_parameter_initializer_2523','await_expressions_cannot_be_used_in_a_parameter_initializer_2524','\x27await\x27\x20expressions\x20cannot\x20be\x20used\x20in\x20a\x20parameter\x20initializer.','Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525','Initializer\x20provides\x20no\x20value\x20for\x20this\x20binding\x20element\x20and\x20the\x20binding\x20element\x20has\x20no\x20default\x20value.','A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526','A\x20\x27this\x27\x20type\x20is\x20available\x20only\x20in\x20a\x20non-static\x20member\x20of\x20a\x20class\x20or\x20interface.','The\x20inferred\x20type\x20of\x20\x27{0}\x27\x20references\x20an\x20inaccessible\x20\x27{1}\x27\x20type.\x20A\x20type\x20annotation\x20is\x20necessary.','A_module_cannot_have_multiple_default_exports_2528','A\x20module\x20cannot\x20have\x20multiple\x20default\x20exports.','Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529','Duplicate\x20identifier\x20\x27{0}\x27.\x20Compiler\x20reserves\x20name\x20\x27{1}\x27\x20in\x20top\x20level\x20scope\x20of\x20a\x20module\x20containing\x20async\x20functions.','Property_0_is_incompatible_with_index_signature_2530','Property\x20\x27{0}\x27\x20is\x20incompatible\x20with\x20index\x20signature.','Object_is_possibly_null_2531','Object\x20is\x20possibly\x20\x27null\x27.','Object_is_possibly_undefined_2532','Object\x20is\x20possibly\x20\x27undefined\x27.','Object_is_possibly_null_or_undefined_2533','A_function_returning_never_cannot_have_a_reachable_end_point_2534','A\x20function\x20returning\x20\x27never\x27\x20cannot\x20have\x20a\x20reachable\x20end\x20point.','Enum_type_0_has_members_with_initializers_that_are_not_literals_2535','Enum\x20type\x20\x27{0}\x27\x20has\x20members\x20with\x20initializers\x20that\x20are\x20not\x20literals.','Type\x20\x27{0}\x27\x20cannot\x20be\x20used\x20to\x20index\x20type\x20\x27{1}\x27.','Type_0_has_no_matching_index_signature_for_type_1_2537','Type\x20\x27{0}\x27\x20has\x20no\x20matching\x20index\x20signature\x20for\x20type\x20\x27{1}\x27.','Type_0_cannot_be_used_as_an_index_type_2538','Type\x20\x27{0}\x27\x20cannot\x20be\x20used\x20as\x20an\x20index\x20type.','Cannot_assign_to_0_because_it_is_not_a_variable_2539','Cannot_assign_to_0_because_it_is_a_read_only_property_2540','Cannot\x20assign\x20to\x20\x27{0}\x27\x20because\x20it\x20is\x20a\x20read-only\x20property.','The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541','The\x20target\x20of\x20an\x20assignment\x20must\x20be\x20a\x20variable\x20or\x20a\x20property\x20access.','Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543','Duplicate\x20identifier\x20\x27_newTarget\x27.\x20Compiler\x20uses\x20variable\x20declaration\x20\x27_newTarget\x27\x20to\x20capture\x20\x27new.target\x27\x20meta-property\x20reference.','Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544','A\x20mixin\x20class\x20must\x20have\x20a\x20constructor\x20with\x20a\x20single\x20rest\x20parameter\x20of\x20type\x20\x27any[]\x27.','Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1_2546','The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value__2547','The\x20type\x20returned\x20by\x20the\x20\x27next()\x27\x20method\x20of\x20an\x20async\x20iterator\x20must\x20be\x20a\x20promise\x20for\x20a\x20type\x20with\x20a\x20\x27value\x27\x20property.','Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548','Type\x20\x27{0}\x27\x20is\x20not\x20an\x20array\x20type\x20or\x20does\x20not\x20have\x20a\x20\x27[Symbol.iterator]()\x27\x20method\x20that\x20returns\x20an\x20iterator.','Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549','Type\x20\x27{0}\x27\x20is\x20not\x20an\x20array\x20type\x20or\x20a\x20string\x20type\x20or\x20does\x20not\x20have\x20a\x20\x27[Symbol.iterator]()\x27\x20method\x20that\x20returns\x20an\x20iterator.','Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551','Property\x20\x27{0}\x27\x20does\x20not\x20exist\x20on\x20type\x20\x27{1}\x27.\x20Did\x20you\x20mean\x20\x27{2}\x27?','Cannot_find_name_0_Did_you_mean_1_2552','Cannot\x20find\x20name\x20\x27{0}\x27.\x20Did\x20you\x20mean\x20\x27{1}\x27?','Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553','Computed\x20values\x20are\x20not\x20permitted\x20in\x20an\x20enum\x20with\x20string\x20valued\x20members.','Expected_0_arguments_but_got_1_2554','Expected\x20{0}\x20arguments,\x20but\x20got\x20{1}.','Expected_at_least_0_arguments_but_got_1_2555','Expected\x20at\x20least\x20{0}\x20arguments,\x20but\x20got\x20{1}.','Expected_0_arguments_but_got_1_or_more_2556','Expected_at_least_0_arguments_but_got_1_or_more_2557','Expected\x20at\x20least\x20{0}\x20arguments,\x20but\x20got\x20{1}\x20or\x20more.','Expected\x20{0}\x20type\x20arguments,\x20but\x20got\x20{1}.','Type_0_has_no_properties_in_common_with_type_1_2559','Type\x20\x27{0}\x27\x20has\x20no\x20properties\x20in\x20common\x20with\x20type\x20\x27{1}\x27.','Value\x20of\x20type\x20\x27{0}\x27\x20has\x20no\x20properties\x20in\x20common\x20with\x20type\x20\x27{1}\x27.\x20Did\x20you\x20mean\x20to\x20call\x20it?','Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561','Base\x20class\x20expressions\x20cannot\x20reference\x20class\x20type\x20parameters.','The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563','The\x20containing\x20function\x20or\x20module\x20body\x20is\x20too\x20large\x20for\x20control\x20flow\x20analysis.','Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564','Property\x20\x27{0}\x27\x20has\x20no\x20initializer\x20and\x20is\x20not\x20definitely\x20assigned\x20in\x20the\x20constructor.','Property_0_is_used_before_being_assigned_2565','A_rest_element_cannot_have_a_property_name_2566','A\x20rest\x20element\x20cannot\x20have\x20a\x20property\x20name.','Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567','Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators_2568','Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569','Type\x20\x27{0}\x27\x20is\x20not\x20an\x20array\x20type\x20or\x20a\x20string\x20type.\x20Use\x20compiler\x20option\x20\x27--downlevelIteration\x27\x20to\x20allow\x20iterating\x20of\x20iterators.','Property\x20\x27{0}\x27\x20does\x20not\x20exist\x20on\x20type\x20\x27{1}\x27.\x20Did\x20you\x20forget\x20to\x20use\x20\x27await\x27?','Object_is_of_type_unknown_2571','Rest_signatures_are_incompatible_2572','Rest\x20signatures\x20are\x20incompatible.','Property_0_is_incompatible_with_rest_element_type_2573','Property\x20\x27{0}\x27\x20is\x20incompatible\x20with\x20rest\x20element\x20type.','A_rest_element_type_must_be_an_array_type_2574','A\x20rest\x20element\x20type\x20must\x20be\x20an\x20array\x20type.','No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575','Property\x20\x27{0}\x27\x20is\x20a\x20static\x20member\x20of\x20type\x20\x27{1}\x27','Return_type_annotation_circularly_references_itself_2577','Return\x20type\x20annotation\x20circularly\x20references\x20itself.','Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_and_th_2580','Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_an_2581','Cannot\x20find\x20name\x20\x27{0}\x27.\x20Do\x20you\x20need\x20to\x20install\x20type\x20definitions\x20for\x20jQuery?\x20Try\x20`npm\x20i\x20@types/jquery`\x20and\x20then\x20add\x20`jquery`\x20to\x20the\x20types\x20field\x20in\x20your\x20tsconfig.','Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashje_2582','Cannot\x20find\x20name\x20\x27{0}\x27.\x20Do\x20you\x20need\x20to\x20install\x20type\x20definitions\x20for\x20a\x20test\x20runner?\x20Try\x20`npm\x20i\x20@types/jest`\x20or\x20`npm\x20i\x20@types/mocha`\x20\x20and\x20then\x20add\x20`jest`\x20or\x20`mocha`\x20to\x20the\x20types\x20field\x20in\x20your\x20tsconfig.','Cannot\x20find\x20name\x20\x27{0}\x27.\x20Do\x20you\x20need\x20to\x20change\x20your\x20target\x20library?\x20Try\x20changing\x20the\x20`lib`\x20compiler\x20option\x20to\x20es2015\x20or\x20later.','Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584','Cannot\x20find\x20name\x20\x27{0}\x27.\x20Do\x20you\x20need\x20to\x20change\x20your\x20target\x20library?\x20Try\x20changing\x20the\x20`lib`\x20compiler\x20option\x20to\x20include\x20\x27dom\x27.','_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585','Enum_type_0_circularly_references_itself_2586','Enum\x20type\x20\x27{0}\x27\x20circularly\x20references\x20itself.','JSDoc\x20type\x20\x27{0}\x27\x20circularly\x20references\x20itself.','Cannot_assign_to_0_because_it_is_a_constant_2588','Cannot\x20assign\x20to\x20\x27{0}\x27\x20because\x20it\x20is\x20a\x20constant.','JSX_element_attributes_type_0_may_not_be_a_union_type_2600','JSX\x20element\x20attributes\x20type\x20\x27{0}\x27\x20may\x20not\x20be\x20a\x20union\x20type.','The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601','The\x20return\x20type\x20of\x20a\x20JSX\x20element\x20constructor\x20must\x20return\x20an\x20object\x20type.','JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602','JSX\x20element\x20implicitly\x20has\x20type\x20\x27any\x27\x20because\x20the\x20global\x20type\x20\x27JSX.Element\x27\x20does\x20not\x20exist.','Property_0_in_type_1_is_not_assignable_to_type_2_2603','JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605','JSX\x20element\x20type\x20\x27{0}\x27\x20is\x20not\x20a\x20constructor\x20function\x20for\x20JSX\x20elements.','Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606','Property\x20\x27{0}\x27\x20of\x20JSX\x20spread\x20attribute\x20is\x20not\x20assignable\x20to\x20target\x20property.','JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607','JSX\x20element\x20class\x20does\x20not\x20support\x20attributes\x20because\x20it\x20does\x20not\x20have\x20a\x20\x27{0}\x27\x20property.','The_global_type_JSX_0_may_not_have_more_than_one_property_2608','The\x20global\x20type\x20\x27JSX.{0}\x27\x20may\x20not\x20have\x20more\x20than\x20one\x20property.','JSX_spread_child_must_be_an_array_type_2609','JSX\x20spread\x20child\x20must\x20be\x20an\x20array\x20type.','Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649','Cannot\x20augment\x20module\x20\x27{0}\x27\x20with\x20value\x20exports\x20because\x20it\x20resolves\x20to\x20a\x20non-module\x20entity.','A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651','Merged\x20declaration\x20\x27{0}\x27\x20cannot\x20include\x20a\x20default\x20export\x20declaration.\x20Consider\x20adding\x20a\x20separate\x20\x27export\x20default\x20{0}\x27\x20declaration\x20instead.','Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653','Non-abstract\x20class\x20expression\x20does\x20not\x20implement\x20inherited\x20abstract\x20member\x20\x27{0}\x27\x20from\x20class\x20\x27{1}\x27.','Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654','Exported\x20external\x20package\x20typings\x20file\x20\x27{0}\x27\x20is\x20not\x20a\x20module.\x20Please\x20contact\x20the\x20package\x20author\x20to\x20update\x20the\x20package\x20definition.','JSX_expressions_must_have_one_parent_element_2657','JSX\x20expressions\x20must\x20have\x20one\x20parent\x20element.','Type_0_provides_no_match_for_the_signature_1_2658','Type\x20\x27{0}\x27\x20provides\x20no\x20match\x20for\x20the\x20signature\x20\x27{1}\x27.','super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659','\x27super\x27\x20is\x20only\x20allowed\x20in\x20members\x20of\x20object\x20literal\x20expressions\x20when\x20option\x20\x27target\x27\x20is\x20\x27ES2015\x27\x20or\x20higher.','super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660','\x27super\x27\x20can\x20only\x20be\x20referenced\x20in\x20members\x20of\x20derived\x20classes\x20or\x20object\x20literal\x20expressions.','Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662','Cannot\x20find\x20name\x20\x27{0}\x27.\x20Did\x20you\x20mean\x20the\x20static\x20member\x20\x27{1}.{0}\x27?','Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663','Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664','Invalid\x20module\x20name\x20in\x20augmentation.\x20Module\x20\x27{0}\x27\x20resolves\x20to\x20an\x20untyped\x20module\x20at\x20\x27{1}\x27,\x20which\x20cannot\x20be\x20augmented.','Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666','Exports\x20and\x20export\x20assignments\x20are\x20not\x20permitted\x20in\x20module\x20augmentations.','Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667','Imports\x20are\x20not\x20permitted\x20in\x20module\x20augmentations.\x20Consider\x20moving\x20them\x20to\x20the\x20enclosing\x20external\x20module.','export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668','\x27export\x27\x20modifier\x20cannot\x20be\x20applied\x20to\x20ambient\x20modules\x20and\x20module\x20augmentations\x20since\x20they\x20are\x20always\x20visible.','Augmentations\x20for\x20the\x20global\x20scope\x20can\x20only\x20be\x20directly\x20nested\x20in\x20external\x20modules\x20or\x20ambient\x20module\x20declarations.','Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670','Augmentations\x20for\x20the\x20global\x20scope\x20should\x20have\x20\x27declare\x27\x20modifier\x20unless\x20they\x20appear\x20in\x20already\x20ambient\x20context.','Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671','Cannot\x20augment\x20module\x20\x27{0}\x27\x20because\x20it\x20resolves\x20to\x20a\x20non-module\x20entity.','Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672','Cannot\x20assign\x20a\x20\x27{0}\x27\x20constructor\x20type\x20to\x20a\x20\x27{1}\x27\x20constructor\x20type.','Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673','Constructor\x20of\x20class\x20\x27{0}\x27\x20is\x20private\x20and\x20only\x20accessible\x20within\x20the\x20class\x20declaration.','Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674','Constructor\x20of\x20class\x20\x27{0}\x27\x20is\x20protected\x20and\x20only\x20accessible\x20within\x20the\x20class\x20declaration.','Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675','Cannot\x20extend\x20a\x20class\x20\x27{0}\x27.\x20Class\x20constructor\x20is\x20marked\x20as\x20private.','Accessors_must_both_be_abstract_or_non_abstract_2676','Accessors\x20must\x20both\x20be\x20abstract\x20or\x20non-abstract.','A\x20type\x20predicate\x27s\x20type\x20must\x20be\x20assignable\x20to\x20its\x20parameter\x27s\x20type.','Type_0_is_not_comparable_to_type_1_2678','Type\x20\x27{0}\x27\x20is\x20not\x20comparable\x20to\x20type\x20\x27{1}\x27.','A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679','A_0_parameter_must_be_the_first_parameter_2680','A_constructor_cannot_have_a_this_parameter_2681','A\x20constructor\x20cannot\x20have\x20a\x20\x27this\x27\x20parameter.','get_and_set_accessor_must_have_the_same_this_type_2682','\x27get\x27\x20and\x20\x27set\x27\x20accessor\x20must\x20have\x20the\x20same\x20\x27this\x27\x20type.','this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683','\x27this\x27\x20implicitly\x20has\x20type\x20\x27any\x27\x20because\x20it\x20does\x20not\x20have\x20a\x20type\x20annotation.','The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684','The\x20\x27this\x27\x20context\x20of\x20type\x20\x27{0}\x27\x20is\x20not\x20assignable\x20to\x20method\x27s\x20\x27this\x27\x20of\x20type\x20\x27{1}\x27.','The_this_types_of_each_signature_are_incompatible_2685','\x27{0}\x27\x20refers\x20to\x20a\x20UMD\x20global,\x20but\x20the\x20current\x20file\x20is\x20a\x20module.\x20Consider\x20adding\x20an\x20import\x20instead.','All_declarations_of_0_must_have_identical_modifiers_2687','All\x20declarations\x20of\x20\x27{0}\x27\x20must\x20have\x20identical\x20modifiers.','Cannot_find_type_definition_file_for_0_2688','Cannot_extend_an_interface_0_Did_you_mean_implements_2689','Cannot\x20extend\x20an\x20interface\x20\x27{0}\x27.\x20Did\x20you\x20mean\x20\x27implements\x27?','_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692','_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693','Namespace_0_has_no_exported_member_1_2694','Namespace\x20\x27{0}\x27\x20has\x20no\x20exported\x20member\x20\x27{1}\x27.','Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695','Left\x20side\x20of\x20comma\x20operator\x20is\x20unused\x20and\x20has\x20no\x20side\x20effects.','The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696','An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697','Spread_types_may_only_be_created_from_object_types_2698','Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699','Static\x20property\x20\x27{0}\x27\x20conflicts\x20with\x20built-in\x20property\x20\x27Function.{0}\x27\x20of\x20constructor\x20function\x20\x27{1}\x27.','Rest_types_may_only_be_created_from_object_types_2700','The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701','The\x20target\x20of\x20an\x20object\x20rest\x20assignment\x20must\x20be\x20a\x20variable\x20or\x20a\x20property\x20access.','_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702','The_operand_of_a_delete_operator_must_be_a_property_reference_2703','The\x20operand\x20of\x20a\x20delete\x20operator\x20must\x20be\x20a\x20property\x20reference.','The\x20operand\x20of\x20a\x20delete\x20operator\x20cannot\x20be\x20a\x20read-only\x20property.','Required_type_parameters_may_not_follow_optional_type_parameters_2706','Required\x20type\x20parameters\x20may\x20not\x20follow\x20optional\x20type\x20parameters.','Generic_type_0_requires_between_1_and_2_type_arguments_2707','Generic\x20type\x20\x27{0}\x27\x20requires\x20between\x20{1}\x20and\x20{2}\x20type\x20arguments.','Cannot_use_namespace_0_as_a_value_2708','Cannot\x20use\x20namespace\x20\x27{0}\x27\x20as\x20a\x20value.','Cannot_use_namespace_0_as_a_type_2709','_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710','\x27{0}\x27\x20are\x20specified\x20twice.\x20The\x20attribute\x20named\x20\x27{0}\x27\x20will\x20be\x20overwritten.','A\x20dynamic\x20import\x20call\x20returns\x20a\x20\x27Promise\x27.\x20Make\x20sure\x20you\x20have\x20a\x20declaration\x20for\x20\x27Promise\x27\x20or\x20include\x20\x27ES2015\x27\x20in\x20your\x20`--lib`\x20option.','A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712','A\x20dynamic\x20import\x20call\x20in\x20ES5/ES3\x20requires\x20the\x20\x27Promise\x27\x20constructor.\x20\x20Make\x20sure\x20you\x20have\x20a\x20declaration\x20for\x20the\x20\x27Promise\x27\x20constructor\x20or\x20include\x20\x27ES2015\x27\x20in\x20your\x20`--lib`\x20option.','Cannot\x20access\x20\x27{0}.{1}\x27\x20because\x20\x27{0}\x27\x20is\x20a\x20type,\x20but\x20not\x20a\x20namespace.\x20Did\x20you\x20mean\x20to\x20retrieve\x20the\x20type\x20of\x20the\x20property\x20\x27{1}\x27\x20in\x20\x27{0}\x27\x20with\x20\x27{0}[\x22{1}\x22]\x27?','The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714','The\x20expression\x20of\x20an\x20export\x20assignment\x20must\x20be\x20an\x20identifier\x20or\x20qualified\x20name\x20in\x20an\x20ambient\x20context.','Type_parameter_0_has_a_circular_default_2716','Type\x20parameter\x20\x27{0}\x27\x20has\x20a\x20circular\x20default.','Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717','Subsequent\x20property\x20declarations\x20must\x20have\x20the\x20same\x20type.\x20\x20Property\x20\x27{0}\x27\x20must\x20be\x20of\x20type\x20\x27{1}\x27,\x20but\x20here\x20has\x20type\x20\x27{2}\x27.','Duplicate\x20declaration\x20\x27{0}\x27.','Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719','Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720','Class\x20\x27{0}\x27\x20incorrectly\x20implements\x20class\x20\x27{1}\x27.\x20Did\x20you\x20mean\x20to\x20extend\x20\x27{1}\x27\x20and\x20inherit\x20its\x20members\x20as\x20a\x20subclass?','Cannot_invoke_an_object_which_is_possibly_null_2721','Cannot\x20invoke\x20an\x20object\x20which\x20is\x20possibly\x20\x27null\x27.','Cannot_invoke_an_object_which_is_possibly_undefined_2722','Cannot\x20invoke\x20an\x20object\x20which\x20is\x20possibly\x20\x27undefined\x27.','Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723','Cannot\x20invoke\x20an\x20object\x20which\x20is\x20possibly\x20\x27null\x27\x20or\x20\x27undefined\x27.','Class\x20name\x20cannot\x20be\x20\x27Object\x27\x20when\x20targeting\x20ES5\x20with\x20module\x20{0}.','Cannot\x20find\x20lib\x20definition\x20for\x20\x27{0}\x27.','Cannot_find_lib_definition_for_0_Did_you_mean_1_2727','Cannot\x20find\x20lib\x20definition\x20for\x20\x27{0}\x27.\x20Did\x20you\x20mean\x20\x27{1}\x27?','_0_is_declared_here_2728','\x27{0}\x27\x20is\x20declared\x20here.','Property_0_is_used_before_its_initialization_2729','Property\x20\x27{0}\x27\x20is\x20used\x20before\x20its\x20initialization.','An_arrow_function_cannot_have_a_this_parameter_2730','Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731','Implicit\x20conversion\x20of\x20a\x20\x27symbol\x27\x20to\x20a\x20\x27string\x27\x20will\x20fail\x20at\x20runtime.\x20Consider\x20wrapping\x20this\x20expression\x20in\x20\x27String(...)\x27.','Cannot\x20find\x20module\x20\x27{0}\x27.\x20Consider\x20using\x20\x27--resolveJsonModule\x27\x20to\x20import\x20module\x20with\x20\x27.json\x27\x20extension','It_is_highly_likely_that_you_are_missing_a_semicolon_2734','It\x20is\x20highly\x20likely\x20that\x20you\x20are\x20missing\x20a\x20semicolon.','Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735','Did\x20you\x20mean\x20for\x20\x27{0}\x27\x20to\x20be\x20constrained\x20to\x20type\x20\x27new\x20(...args:\x20any[])\x20=>\x20{1}\x27?','BigInt\x20literals\x20are\x20not\x20available\x20when\x20targeting\x20lower\x20than\x20ESNext.','An_outer_value_of_this_is_shadowed_by_this_container_2738','An\x20outer\x20value\x20of\x20\x27this\x27\x20is\x20shadowed\x20by\x20this\x20container.','Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739','Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740','Property_0_is_missing_in_type_1_but_required_in_type_2_2741','Property\x20\x27{0}\x27\x20is\x20missing\x20in\x20type\x20\x27{1}\x27\x20but\x20required\x20in\x20type\x20\x27{2}\x27.','The\x20inferred\x20type\x20of\x20\x27{0}\x27\x20cannot\x20be\x20named\x20without\x20a\x20reference\x20to\x20\x27{1}\x27.\x20This\x20is\x20likely\x20not\x20portable.\x20A\x20type\x20annotation\x20is\x20necessary.','Import_declaration_0_is_using_private_name_1_4000','Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002','Type\x20parameter\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004','Type\x20parameter\x20\x27{0}\x27\x20of\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006','Type\x20parameter\x20\x27{0}\x27\x20of\x20constructor\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Type\x20parameter\x20\x27{0}\x27\x20of\x20call\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010','Type\x20parameter\x20\x27{0}\x27\x20of\x20public\x20static\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012','Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014','Type\x20parameter\x20\x27{0}\x27\x20of\x20method\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016','Type\x20parameter\x20\x27{0}\x27\x20of\x20exported\x20function\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019','Implements\x20clause\x20of\x20exported\x20class\x20\x27{0}\x27\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020','\x27extends\x27\x20clause\x20of\x20exported\x20class\x20\x27{0}\x27\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022','\x27extends\x27\x20clause\x20of\x20exported\x20interface\x20\x27{0}\x27\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Exported\x20variable\x20\x27{0}\x27\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024','Exported\x20variable\x20\x27{0}\x27\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026','Public\x20static\x20property\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027','Public\x20static\x20property\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028','Public\x20static\x20property\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Public\x20property\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Public\x20property\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031','Public\x20property\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Property\x20\x27{0}\x27\x20of\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034','Parameter\x20type\x20of\x20public\x20static\x20setter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035','Parameter\x20type\x20of\x20public\x20static\x20setter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Parameter\x20type\x20of\x20public\x20setter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037','Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038','Return\x20type\x20of\x20public\x20static\x20getter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039','Return\x20type\x20of\x20public\x20static\x20getter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040','Return\x20type\x20of\x20public\x20static\x20getter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Return\x20type\x20of\x20public\x20getter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042','Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043','Return\x20type\x20of\x20public\x20getter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Return\x20type\x20of\x20constructor\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20private\x20module\x20\x27{1}\x27.','Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045','Return\x20type\x20of\x20constructor\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{0}\x27.','Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046','Return\x20type\x20of\x20call\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20private\x20module\x20\x27{1}\x27.','Return\x20type\x20of\x20call\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{0}\x27.','Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048','Return\x20type\x20of\x20public\x20static\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20external\x20module\x20{1}\x20but\x20cannot\x20be\x20named.','Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051','Return\x20type\x20of\x20public\x20static\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20private\x20module\x20\x27{1}\x27.','Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052','Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053','Return\x20type\x20of\x20public\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20external\x20module\x20{1}\x20but\x20cannot\x20be\x20named.','Return\x20type\x20of\x20public\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20private\x20module\x20\x27{1}\x27.','Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055','Return\x20type\x20of\x20public\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{0}\x27.','Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056','Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057','Return\x20type\x20of\x20method\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{0}\x27.','Return\x20type\x20of\x20exported\x20function\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20external\x20module\x20{1}\x20but\x20cannot\x20be\x20named.','Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059','Return\x20type\x20of\x20exported\x20function\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20private\x20module\x20\x27{1}\x27.','Return_type_of_exported_function_has_or_is_using_private_name_0_4060','Return\x20type\x20of\x20exported\x20function\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{0}\x27.','Parameter\x20\x27{0}\x27\x20of\x20constructor\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062','Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063','Parameter\x20\x27{0}\x27\x20of\x20constructor\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064','Parameter\x20\x27{0}\x27\x20of\x20constructor\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065','Parameter\x20\x27{0}\x27\x20of\x20constructor\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066','Parameter\x20\x27{0}\x27\x20of\x20call\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068','Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069','Parameter\x20\x27{0}\x27\x20of\x20public\x20static\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070','Parameter\x20\x27{0}\x27\x20of\x20public\x20static\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Parameter\x20\x27{0}\x27\x20of\x20public\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072','Parameter\x20\x27{0}\x27\x20of\x20public\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073','Parameter\x20\x27{0}\x27\x20of\x20public\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074','Parameter\x20\x27{0}\x27\x20of\x20method\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Parameter\x20\x27{0}\x27\x20of\x20method\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076','Parameter\x20\x27{0}\x27\x20of\x20exported\x20function\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Parameter\x20\x27{0}\x27\x20of\x20exported\x20function\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078','Parameter\x20\x27{0}\x27\x20of\x20exported\x20function\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Default\x20export\x20of\x20the\x20module\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{0}\x27.','Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083','Type\x20parameter\x20\x27{0}\x27\x20of\x20exported\x20type\x20alias\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090','Conflicting\x20definitions\x20for\x20\x27{0}\x27\x20found\x20at\x20\x27{1}\x27\x20and\x20\x27{2}\x27.\x20Consider\x20installing\x20a\x20specific\x20version\x20of\x20this\x20library\x20to\x20resolve\x20the\x20conflict.','Parameter\x20\x27{0}\x27\x20of\x20index\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094','Property\x20\x27{0}\x27\x20of\x20exported\x20class\x20expression\x20may\x20not\x20be\x20private\x20or\x20protected.','Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095','Public\x20static\x20method\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096','Public\x20static\x20method\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097','Public\x20static\x20method\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098','Public\x20method\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.','Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099','Public\x20method\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Public\x20method\x20\x27{0}\x27\x20of\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101','Method\x20\x27{0}\x27\x20of\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.','Method\x20\x27{0}\x27\x20of\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.','The_current_host_does_not_support_the_0_option_5001','The\x20current\x20host\x20does\x20not\x20support\x20the\x20\x27{0}\x27\x20option.','Cannot_find_the_common_subdirectory_path_for_the_input_files_5009','Cannot\x20find\x20the\x20common\x20subdirectory\x20path\x20for\x20the\x20input\x20files.','File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010','File\x20specification\x20cannot\x20end\x20in\x20a\x20recursive\x20directory\x20wildcard\x20(\x27**\x27):\x20\x27{0}\x27.','Cannot_read_file_0_Colon_1_5012','Failed\x20to\x20parse\x20file\x20\x27{0}\x27:\x20{1}.','Unknown_compiler_option_0_5023','Unknown\x20compiler\x20option\x20\x27{0}\x27.','Compiler_option_0_requires_a_value_of_type_1_5024','Compiler\x20option\x20\x27{0}\x27\x20requires\x20a\x20value\x20of\x20type\x20{1}.','Could_not_write_file_0_Colon_1_5033','Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042','Option\x20\x27project\x27\x20cannot\x20be\x20mixed\x20with\x20source\x20files\x20on\x20a\x20command\x20line.','Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047','Option\x20\x27isolatedModules\x27\x20can\x20only\x20be\x20used\x20when\x20either\x20option\x20\x27--module\x27\x20is\x20provided\x20or\x20option\x20\x27target\x27\x20is\x20\x27ES2015\x27\x20or\x20higher.','Option\x20\x27{0}\x20can\x20only\x20be\x20used\x20when\x20either\x20option\x20\x27--inlineSourceMap\x27\x20or\x20option\x20\x27--sourceMap\x27\x20is\x20provided.','Option_0_cannot_be_specified_without_specifying_option_1_5052','Option\x20\x27{0}\x27\x20cannot\x20be\x20specified\x20without\x20specifying\x20option\x20\x27{1}\x27.','Option\x20\x27{0}\x27\x20cannot\x20be\x20specified\x20with\x20option\x20\x27{1}\x27.','A_tsconfig_json_file_is_already_defined_at_Colon_0_5054','Cannot_write_file_0_because_it_would_overwrite_input_file_5055','Cannot\x20write\x20file\x20\x27{0}\x27\x20because\x20it\x20would\x20overwrite\x20input\x20file.','Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056','Cannot\x20write\x20file\x20\x27{0}\x27\x20because\x20it\x20would\x20be\x20overwritten\x20by\x20multiple\x20input\x20files.','Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057','The\x20specified\x20path\x20does\x20not\x20exist:\x20\x27{0}\x27.','Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059','Invalid\x20value\x20for\x20\x27--reactNamespace\x27.\x20\x27{0}\x27\x20is\x20not\x20a\x20valid\x20identifier.','Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060','Option\x20\x27paths\x27\x20cannot\x20be\x20used\x20without\x20specifying\x20\x27--baseUrl\x27\x20option.','Pattern_0_can_have_at_most_one_Asterisk_character_5061','Pattern\x20\x27{0}\x27\x20can\x20have\x20at\x20most\x20one\x20\x27*\x27\x20character.','Substitution\x20\x27{0}\x27\x20in\x20pattern\x20\x27{1}\x27\x20in\x20can\x20have\x20at\x20most\x20one\x20\x27*\x27\x20character.','Substitutions_for_pattern_0_should_be_an_array_5063','Substitutions\x20for\x20pattern\x20\x27{0}\x27\x20should\x20be\x20an\x20array.','Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064','Substitution\x20\x27{0}\x27\x20for\x20pattern\x20\x27{1}\x27\x20has\x20incorrect\x20type,\x20expected\x20\x27string\x27,\x20got\x20\x27{2}\x27.','Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066','Substitutions\x20for\x20pattern\x20\x27{0}\x27\x20shouldn\x27t\x20be\x20an\x20empty\x20array.','Invalid\x20value\x20for\x20\x27jsxFactory\x27.\x20\x27{0}\x27\x20is\x20not\x20a\x20valid\x20identifier\x20or\x20qualified-name.','Adding\x20a\x20tsconfig.json\x20file\x20will\x20help\x20organize\x20projects\x20that\x20contain\x20both\x20TypeScript\x20and\x20JavaScript\x20files.\x20Learn\x20more\x20at\x20https://aka.ms/tsconfig.','Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069','Option\x20\x27{0}\x27\x20cannot\x20be\x20specified\x20without\x20specifying\x20option\x20\x27{1}\x27\x20or\x20option\x20\x27{2}\x27.','Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070','Option\x20\x27--resolveJsonModule\x27\x20cannot\x20be\x20specified\x20without\x20\x27node\x27\x20module\x20resolution\x20strategy.','Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071','Option\x20\x27--resolveJsonModule\x27\x20can\x20only\x20be\x20specified\x20when\x20module\x20code\x20generation\x20is\x20\x27commonjs\x27,\x20\x27amd\x27,\x20\x27es2015\x27\x20or\x20\x27esNext\x27.','Unknown\x20build\x20option\x20\x27{0}\x27.','Build_option_0_requires_a_value_of_type_1_5073','Build\x20option\x20\x27{0}\x27\x20requires\x20a\x20value\x20of\x20type\x20{1}.','Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000','Generates\x20a\x20sourcemap\x20for\x20each\x20corresponding\x20\x27.d.ts\x27\x20file.','Concatenate_and_emit_output_to_single_file_6001','Concatenate\x20and\x20emit\x20output\x20to\x20single\x20file.','Generates_corresponding_d_ts_file_6002','Generates\x20corresponding\x20\x27.d.ts\x27\x20file.','Specify\x20the\x20location\x20where\x20debugger\x20should\x20locate\x20map\x20files\x20instead\x20of\x20generated\x20locations.','Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004','Watch_input_files_6005','Watch\x20input\x20files.','Redirect\x20output\x20structure\x20to\x20the\x20directory.','Do_not_erase_const_enum_declarations_in_generated_code_6007','Do\x20not\x20erase\x20const\x20enum\x20declarations\x20in\x20generated\x20code.','Do_not_emit_outputs_if_any_errors_were_reported_6008','Do\x20not\x20emit\x20outputs\x20if\x20any\x20errors\x20were\x20reported.','Do\x20not\x20emit\x20comments\x20to\x20output.','Do\x20not\x20emit\x20outputs.','Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011','Skip\x20type\x20checking\x20of\x20declaration\x20files.','Do\x20not\x20resolve\x20the\x20real\x20path\x20of\x20symlinks.','Only_emit_d_ts_declaration_files_6014','Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_or_ESNEXT_6015','Specify\x20ECMAScript\x20target\x20version:\x20\x27ES3\x27\x20(default),\x20\x27ES5\x27,\x20\x27ES2015\x27,\x20\x27ES2016\x27,\x20\x27ES2017\x27,\x27ES2018\x27\x20or\x20\x27ESNEXT\x27.','Specify\x20module\x20code\x20generation:\x20\x27none\x27,\x20\x27commonjs\x27,\x20\x27amd\x27,\x20\x27system\x27,\x20\x27umd\x27,\x20\x27es2015\x27,\x20or\x20\x27ESNext\x27.','Print\x20this\x20message.','Print_the_compiler_s_version_6019','Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020','Compile\x20the\x20project\x20given\x20the\x20path\x20to\x20its\x20configuration\x20file,\x20or\x20to\x20a\x20folder\x20with\x20a\x20\x27tsconfig.json\x27.','options_6024','file_6025','Examples_Colon_0_6026','Examples:\x20{0}','Options:','Version_0_6029','Insert_command_line_options_and_files_from_a_file_6030','Starting_compilation_in_watch_mode_6031','Starting\x20compilation\x20in\x20watch\x20mode...','KIND_6034','FILE_6035','FILE','VERSION_6036','LOCATION_6037','LOCATION','DIRECTORY','STRATEGY','FILE_OR_DIRECTORY_6040','FILE\x20OR\x20DIRECTORY','Generates_corresponding_map_file_6043','Compiler_option_0_expects_an_argument_6044','Compiler\x20option\x20\x27{0}\x27\x20expects\x20an\x20argument.','Unterminated\x20quoted\x20string\x20in\x20response\x20file\x20\x27{0}\x27.','Argument_for_0_option_must_be_Colon_1_6046','Argument\x20for\x20\x27{0}\x27\x20option\x20must\x20be:\x20{1}.','Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048','Locale\x20must\x20be\x20of\x20the\x20form\x20\x20or\x20-.\x20For\x20example\x20\x27{0}\x27\x20or\x20\x27{1}\x27.','Unsupported\x20locale\x20\x27{0}\x27.','Unable_to_open_file_0_6050','Unable\x20to\x20open\x20file\x20\x27{0}\x27.','Corrupted\x20locale\x20file\x20{0}.','Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052','Raise\x20error\x20on\x20expressions\x20and\x20declarations\x20with\x20an\x20implied\x20\x27any\x27\x20type.','File_0_not_found_6053','File\x20\x27{0}\x27\x20not\x20found.','File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054','File\x20\x27{0}\x27\x20has\x20unsupported\x20extension.\x20The\x20only\x20supported\x20extensions\x20are\x20{1}.','Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055','Do\x20not\x20emit\x20declarations\x20for\x20code\x20that\x20has\x20an\x20\x27@internal\x27\x20annotation.','Specify\x20the\x20root\x20directory\x20of\x20input\x20files.\x20Use\x20to\x20control\x20the\x20output\x20directory\x20structure\x20with\x20--outDir.','File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059','File\x20\x27{0}\x27\x20is\x20not\x20under\x20\x27rootDir\x27\x20\x27{1}\x27.\x20\x27rootDir\x27\x20is\x20expected\x20to\x20contain\x20all\x20source\x20files.','Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060','Specify\x20the\x20end\x20of\x20line\x20sequence\x20to\x20be\x20used\x20when\x20emitting\x20files:\x20\x27CRLF\x27\x20(dos)\x20or\x20\x27LF\x27\x20(unix).','NEWLINE_6061','Option_0_can_only_be_specified_in_tsconfig_json_file_6064','Option\x20\x27{0}\x27\x20can\x20only\x20be\x20specified\x20in\x20\x27tsconfig.json\x27\x20file.','Enables_experimental_support_for_ES7_decorators_6065','Enables\x20experimental\x20support\x20for\x20ES7\x20decorators.','Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066','Enables\x20experimental\x20support\x20for\x20emitting\x20type\x20metadata\x20for\x20decorators.','Enables\x20experimental\x20support\x20for\x20ES7\x20async\x20functions.','Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069','Specify\x20module\x20resolution\x20strategy:\x20\x27node\x27\x20(Node.js)\x20or\x20\x27classic\x27\x20(TypeScript\x20pre-1.6).','Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070','Successfully_created_a_tsconfig_json_file_6071','Successfully\x20created\x20a\x20tsconfig.json\x20file.','Suppress_excess_property_checks_for_object_literals_6072','Suppress\x20excess\x20property\x20checks\x20for\x20object\x20literals.','Stylize_errors_and_messages_using_color_and_context_experimental_6073','Stylize\x20errors\x20and\x20messages\x20using\x20color\x20and\x20context\x20(experimental).','Do_not_report_errors_on_unused_labels_6074','Do\x20not\x20report\x20errors\x20on\x20unused\x20labels.','Report_error_when_not_all_code_paths_in_function_return_a_value_6075','Report\x20error\x20when\x20not\x20all\x20code\x20paths\x20in\x20function\x20return\x20a\x20value.','Report_errors_for_fallthrough_cases_in_switch_statement_6076','Report\x20errors\x20for\x20fallthrough\x20cases\x20in\x20switch\x20statement.','Do_not_report_errors_on_unreachable_code_6077','Do\x20not\x20report\x20errors\x20on\x20unreachable\x20code.','Disallow\x20inconsistently-cased\x20references\x20to\x20the\x20same\x20file.','Specify\x20library\x20files\x20to\x20be\x20included\x20in\x20the\x20compilation.','Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080','File_0_has_an_unsupported_extension_so_skipping_it_6081','File\x20\x27{0}\x27\x20has\x20an\x20unsupported\x20extension,\x20so\x20skipping\x20it.','Only_amd_and_system_modules_are_supported_alongside_0_6082','Only\x20\x27amd\x27\x20and\x20\x27system\x27\x20modules\x20are\x20supported\x20alongside\x20--{0}.','Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084','Enable\x20tracing\x20of\x20the\x20name\x20resolution\x20process.','Explicitly\x20specified\x20module\x20resolution\x20kind:\x20\x27{0}\x27.','Module_resolution_kind_is_not_specified_using_0_6088','Module_name_0_was_successfully_resolved_to_1_6089','========\x20Module\x20name\x20\x27{0}\x27\x20was\x20successfully\x20resolved\x20to\x20\x27{1}\x27.\x20========','paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091','Module_name_0_matched_pattern_1_6092','Module\x20name\x20\x27{0}\x27,\x20matched\x20pattern\x20\x27{1}\x27.','Trying_substitution_0_candidate_module_location_Colon_1_6093','Resolving_module_name_0_relative_to_base_url_1_2_6094','Resolving\x20module\x20name\x20\x27{0}\x27\x20relative\x20to\x20base\x20url\x20\x27{1}\x27\x20-\x20\x27{2}\x27.','Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095','Loading\x20module\x20as\x20file\x20/\x20folder,\x20candidate\x20module\x20location\x20\x27{0}\x27,\x20target\x20file\x20type\x20\x27{1}\x27.','File_0_does_not_exist_6096','File\x20\x27{0}\x27\x20does\x20not\x20exist.','File_0_exist_use_it_as_a_name_resolution_result_6097','Loading_module_0_from_node_modules_folder_target_file_type_1_6098','Loading\x20module\x20\x27{0}\x27\x20from\x20\x27node_modules\x27\x20folder,\x20target\x20file\x20type\x20\x27{1}\x27.','Found_package_json_at_0_6099','package_json_does_not_have_a_0_field_6100','\x27package.json\x27\x20has\x20\x27{0}\x27\x20field\x20\x27{1}\x27\x20that\x20references\x20\x27{2}\x27.','Option_0_should_have_array_of_strings_as_a_value_6103','Option\x20\x27{0}\x27\x20should\x20have\x20array\x20of\x20strings\x20as\x20a\x20value.','Checking\x20if\x20\x27{0}\x27\x20is\x20the\x20longest\x20matching\x20prefix\x20for\x20\x27{1}\x27\x20-\x20\x27{2}\x27.','Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105','baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106','\x27baseUrl\x27\x20option\x20is\x20set\x20to\x20\x27{0}\x27,\x20using\x20this\x20value\x20to\x20resolve\x20non-relative\x20module\x20name\x20\x27{1}\x27.','rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107','\x27rootDirs\x27\x20option\x20is\x20set,\x20using\x20it\x20to\x20resolve\x20relative\x20module\x20name\x20\x27{0}\x27.','Longest_matching_prefix_for_0_is_1_6108','Loading_0_from_the_root_dir_1_candidate_location_2_6109','Loading\x20\x27{0}\x27\x20from\x20the\x20root\x20dir\x20\x27{1}\x27,\x20candidate\x20location\x20\x27{2}\x27.','Trying_other_entries_in_rootDirs_6110','Module\x20resolution\x20using\x20\x27rootDirs\x27\x20has\x20failed.','Do\x20not\x20emit\x20\x27use\x20strict\x27\x20directives\x20in\x20module\x20output.','Enable_strict_null_checks_6113','Enable\x20strict\x20null\x20checks.','Unknown_option_excludes_Did_you_mean_exclude_6114','Unknown\x20option\x20\x27excludes\x27.\x20Did\x20you\x20mean\x20\x27exclude\x27?','Raise_error_on_this_expressions_with_an_implied_any_type_6115','Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116','========\x20Resolving\x20type\x20reference\x20directive\x20\x27{0}\x27,\x20containing\x20file\x20\x27{1}\x27,\x20root\x20directory\x20\x27{2}\x27.\x20========','Resolving\x20from\x20node_modules\x20folder...','========\x20Type\x20reference\x20directive\x20\x27{0}\x27\x20was\x20successfully\x20resolved\x20to\x20\x27{1}\x27,\x20primary:\x20{2}.\x20========','Type_reference_directive_0_was_not_resolved_6120','========\x20Type\x20reference\x20directive\x20\x27{0}\x27\x20was\x20not\x20resolved.\x20========','Resolving_with_primary_search_path_0_6121','Resolving\x20with\x20primary\x20search\x20path\x20\x27{0}\x27.','Root_directory_cannot_be_determined_skipping_primary_search_paths_6122','Root\x20directory\x20cannot\x20be\x20determined,\x20skipping\x20primary\x20search\x20paths.','========\x20Resolving\x20type\x20reference\x20directive\x20\x27{0}\x27,\x20containing\x20file\x20\x27{1}\x27,\x20root\x20directory\x20not\x20set.\x20========','Type_declaration_files_to_be_included_in_compilation_6124','Type\x20declaration\x20files\x20to\x20be\x20included\x20in\x20compilation.','Looking_up_in_node_modules_folder_initial_location_0_6125','Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126','Containing\x20file\x20is\x20not\x20specified\x20and\x20root\x20directory\x20cannot\x20be\x20determined,\x20skipping\x20lookup\x20in\x20\x27node_modules\x27\x20folder.','========\x20Resolving\x20type\x20reference\x20directive\x20\x27{0}\x27,\x20containing\x20file\x20not\x20set,\x20root\x20directory\x20\x27{1}\x27.\x20========','Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128','========\x20Resolving\x20type\x20reference\x20directive\x20\x27{0}\x27,\x20containing\x20file\x20not\x20set,\x20root\x20directory\x20not\x20set.\x20========','Resolving\x20real\x20path\x20for\x20\x27{0}\x27,\x20result\x20\x27{1}\x27.','File_name_0_has_a_1_extension_stripping_it_6132','File\x20name\x20\x27{0}\x27\x20has\x20a\x20\x27{1}\x27\x20extension\x20-\x20stripping\x20it.','_0_is_declared_but_its_value_is_never_read_6133','Report\x20errors\x20on\x20unused\x20locals.','Report_errors_on_unused_parameters_6135','Report\x20errors\x20on\x20unused\x20parameters.','The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136','The\x20maximum\x20dependency\x20depth\x20to\x20search\x20under\x20node_modules\x20and\x20load\x20JavaScript\x20files.','Cannot\x20import\x20type\x20declaration\x20files.\x20Consider\x20importing\x20\x27{0}\x27\x20instead\x20of\x20\x27{1}\x27.','Property_0_is_declared_but_its_value_is_never_read_6138','Property\x20\x27{0}\x27\x20is\x20declared\x20but\x20its\x20value\x20is\x20never\x20read.','Import_emit_helpers_from_tslib_6139','Import\x20emit\x20helpers\x20from\x20\x27tslib\x27.','Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140','Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141','Parse\x20in\x20strict\x20mode\x20and\x20emit\x20\x22use\x20strict\x22\x20for\x20each\x20source\x20file.','Module_0_was_resolved_to_1_but_jsx_is_not_set_6142','Module\x20\x27{0}\x27\x20was\x20resolved\x20to\x20\x27{1}\x27,\x20but\x20\x27--jsx\x27\x20is\x20not\x20set.','Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144','Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145','Module\x20\x27{0}\x27\x20was\x20resolved\x20as\x20ambient\x20module\x20declared\x20in\x20\x27{1}\x27\x20since\x20this\x20file\x20was\x20not\x20modified.','Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146','Resolution_for_module_0_was_found_in_cache_from_location_1_6147','Resolution\x20for\x20module\x20\x27{0}\x27\x20was\x20found\x20in\x20cache\x20from\x20location\x20\x27{1}\x27.','Directory_0_does_not_exist_skipping_all_lookups_in_it_6148','Show_diagnostic_information_6149','Show\x20diagnostic\x20information.','Show_verbose_diagnostic_information_6150','Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151','Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152','Emit\x20the\x20source\x20alongside\x20the\x20sourcemaps\x20within\x20a\x20single\x20file;\x20requires\x20\x27--inlineSourceMap\x27\x20or\x20\x27--sourceMap\x27\x20to\x20be\x20set.','Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153','Transpile\x20each\x20file\x20as\x20a\x20separate\x20module\x20(similar\x20to\x20\x27ts.transpileModule\x27).','Print_names_of_generated_files_part_of_the_compilation_6154','The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156','Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157','Do\x20not\x20generate\x20custom\x20helper\x20functions\x20like\x20\x27__extends\x27\x20in\x20compiled\x20output.','Do_not_include_the_default_library_file_lib_d_ts_6158','Do\x20not\x20include\x20the\x20default\x20library\x20file\x20(lib.d.ts).','Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159','Do\x20not\x20add\x20triple-slash\x20references\x20or\x20imported\x20modules\x20to\x20the\x20list\x20of\x20compiled\x20files.','Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160','[Deprecated]\x20Use\x20\x27--skipLibCheck\x27\x20instead.\x20Skip\x20type\x20checking\x20of\x20default\x20library\x20declaration\x20files.','List\x20of\x20folders\x20to\x20include\x20type\x20definitions\x20from.','Disable_size_limitations_on_JavaScript_projects_6162','Disable\x20size\x20limitations\x20on\x20JavaScript\x20projects.','The_character_set_of_the_input_files_6163','The\x20character\x20set\x20of\x20the\x20input\x20files.','Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164','Emit\x20a\x20UTF-8\x20Byte\x20Order\x20Mark\x20(BOM)\x20in\x20the\x20beginning\x20of\x20output\x20files.','Do\x20not\x20truncate\x20error\x20messages.','Output_directory_for_generated_declaration_files_6166','Output\x20directory\x20for\x20generated\x20declaration\x20files.','List\x20of\x20root\x20folders\x20whose\x20combined\x20content\x20represents\x20the\x20structure\x20of\x20the\x20project\x20at\x20runtime.','Show_all_compiler_options_6169','Show\x20all\x20compiler\x20options.','Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170','[Deprecated]\x20Use\x20\x27--outFile\x27\x20instead.\x20Concatenate\x20and\x20emit\x20output\x20to\x20single\x20file','Command_line_Options_6171','Command-line\x20Options','Basic_Options_6172','Basic\x20Options','Strict\x20Type-Checking\x20Options','Module_Resolution_Options_6174','Module\x20Resolution\x20Options','Source_Map_Options_6175','Source\x20Map\x20Options','Additional_Checks_6176','Experimental_Options_6177','Experimental\x20Options','Advanced_Options_6178','Advanced\x20Options','Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179','Provide\x20full\x20support\x20for\x20iterables\x20in\x20\x27for-of\x27,\x20spread,\x20and\x20destructuring\x20when\x20targeting\x20\x27ES5\x27\x20or\x20\x27ES3\x27.','Enable\x20all\x20strict\x20type-checking\x20options.','List\x20of\x20language\x20service\x20plugins.','Scoped_package_detected_looking_in_0_6182','Scoped\x20package\x20detected,\x20looking\x20in\x20\x27{0}\x27','Reusing\x20module\x20resolutions\x20originating\x20in\x20\x27{0}\x27\x20since\x20resolutions\x20are\x20unchanged\x20from\x20old\x20program.','Disable_strict_checking_of_generic_signatures_in_function_types_6185','Disable\x20strict\x20checking\x20of\x20generic\x20signatures\x20in\x20function\x20types.','Enable_strict_checking_of_function_types_6186','Enable\x20strict\x20checking\x20of\x20function\x20types.','Enable_strict_checking_of_property_initialization_in_classes_6187','Enable\x20strict\x20checking\x20of\x20property\x20initialization\x20in\x20classes.','Numeric_separators_are_not_allowed_here_6188','Numeric\x20separators\x20are\x20not\x20allowed\x20here.','Multiple_consecutive_numeric_separators_are_not_permitted_6189','Multiple\x20consecutive\x20numeric\x20separators\x20are\x20not\x20permitted.','Found\x20\x27package.json\x27\x20at\x20\x27{0}\x27.\x20Package\x20ID\x20is\x20\x27{1}\x27.','Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191','All_imports_in_import_declaration_are_unused_6192','All\x20imports\x20in\x20import\x20declaration\x20are\x20unused.','Found_1_error_Watching_for_file_changes_6193','Found\x201\x20error.\x20Watching\x20for\x20file\x20changes.','Found_0_errors_Watching_for_file_changes_6194','Resolve\x20\x27keyof\x27\x20to\x20string\x20valued\x20property\x20names\x20only\x20(no\x20numbers\x20or\x20symbols).','_0_is_declared_but_never_used_6196','\x27{0}\x27\x20is\x20declared\x20but\x20never\x20used.','Include\x20modules\x20imported\x20with\x20\x27.json\x27\x20extension','All\x20destructured\x20elements\x20are\x20unused.','All\x20variables\x20are\x20unused.','Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200','Definitions\x20of\x20the\x20following\x20identifiers\x20conflict\x20with\x20those\x20in\x20another\x20file:\x20{0}','Conflicts_are_in_this_file_6201','Conflicts\x20are\x20in\x20this\x20file.','\x27{0}\x27\x20was\x20also\x20declared\x20here.','and_here_6204','and\x20here.','All_type_parameters_are_unused_6205','package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206','\x27package.json\x27\x20has\x20a\x20\x27typesVersions\x27\x20field\x20with\x20version-specific\x20path\x20mappings.','\x27package.json\x27\x20does\x20not\x20have\x20a\x20\x27typesVersions\x27\x20entry\x20that\x20matches\x20version\x20\x27{0}\x27.','package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208','\x27package.json\x27\x20has\x20a\x20\x27typesVersions\x27\x20entry\x20\x27{0}\x27\x20that\x20matches\x20compiler\x20version\x20\x27{1}\x27,\x20looking\x20for\x20a\x20pattern\x20to\x20match\x20module\x20name\x20\x27{2}\x27.','package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209','\x27package.json\x27\x20has\x20a\x20\x27typesVersions\x27\x20entry\x20\x27{0}\x27\x20that\x20is\x20not\x20a\x20valid\x20semver\x20range.','An_argument_for_0_was_not_provided_6210','An\x20argument\x20for\x20\x27{0}\x27\x20was\x20not\x20provided.','An_argument_matching_this_binding_pattern_was_not_provided_6211','Did_you_mean_to_call_this_expression_6212','Did_you_mean_to_use_new_with_this_expression_6213','Did\x20you\x20mean\x20to\x20use\x20\x27new\x27\x20with\x20this\x20expression?','Enable_strict_bind_call_and_apply_methods_on_functions_6214','Enable\x20strict\x20\x27bind\x27,\x20\x27call\x27,\x20and\x20\x27apply\x27\x20methods\x20on\x20functions.','Using_compiler_options_of_project_reference_redirect_0_6215','Using\x20compiler\x20options\x20of\x20project\x20reference\x20redirect\x20\x27{0}\x27.','Found_1_error_6216','Found_0_errors_6217','Found\x20{0}\x20errors.','Projects_to_reference_6300','Projects\x20to\x20reference','Enable_project_compilation_6302','Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202','Project\x20references\x20may\x20not\x20form\x20a\x20circular\x20graph.\x20Cycle\x20detected:\x20{0}','Composite_projects_may_not_disable_declaration_emit_6304','Composite\x20projects\x20may\x20not\x20disable\x20declaration\x20emit.','Output\x20file\x20\x27{0}\x27\x20has\x20not\x20been\x20built\x20from\x20source\x20file\x20\x27{1}\x27.','Referenced\x20project\x20\x27{0}\x27\x20must\x20have\x20setting\x20\x22composite\x22:\x20true.','File_0_is_not_in_project_file_list_Projects_must_list_all_files_or_use_an_include_pattern_6307','File\x20\x27{0}\x27\x20is\x20not\x20in\x20project\x20file\x20list.\x20Projects\x20must\x20list\x20all\x20files\x20or\x20use\x20an\x20\x27include\x27\x20pattern.','Cannot\x20prepend\x20project\x20\x27{0}\x27\x20because\x20it\x20does\x20not\x20have\x20\x27outFile\x27\x20set','Output_file_0_from_project_1_does_not_exist_6309','Output\x20file\x20\x27{0}\x27\x20from\x20project\x20\x27{1}\x27\x20does\x20not\x20exist','Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350','Project\x20\x27{0}\x27\x20is\x20out\x20of\x20date\x20because\x20oldest\x20output\x20\x27{1}\x27\x20is\x20older\x20than\x20newest\x20input\x20\x27{2}\x27','Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351','Project\x20\x27{0}\x27\x20is\x20up\x20to\x20date\x20because\x20newest\x20input\x20\x27{1}\x27\x20is\x20older\x20than\x20oldest\x20output\x20\x27{2}\x27','Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352','Project\x20\x27{0}\x27\x20is\x20out\x20of\x20date\x20because\x20output\x20file\x20\x27{1}\x27\x20does\x20not\x20exist','Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353','Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354','Project\x20\x27{0}\x27\x20is\x20up\x20to\x20date\x20with\x20.d.ts\x20files\x20from\x20its\x20dependencies','Projects_in_this_build_Colon_0_6355','Projects\x20in\x20this\x20build:\x20{0}','A_non_dry_build_would_delete_the_following_files_Colon_0_6356','A\x20non-dry\x20build\x20would\x20delete\x20the\x20following\x20files:\x20{0}','A_non_dry_build_would_build_project_0_6357','Building_project_0_6358','Building\x20project\x20\x27{0}\x27...','Updating_output_timestamps_of_project_0_6359','delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360','delete\x20this\x20-\x20Project\x20\x27{0}\x27\x20is\x20up\x20to\x20date\x20because\x20it\x20was\x20previously\x20built','Project_0_is_up_to_date_6361','Project\x20\x27{0}\x27\x20is\x20up\x20to\x20date','Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362','Skipping\x20build\x20of\x20project\x20\x27{0}\x27\x20because\x20its\x20dependency\x20\x27{1}\x27\x20has\x20errors','Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363','Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364','Delete_the_outputs_of_all_projects_6365','Enable\x20verbose\x20logging','Show_what_would_be_built_or_deleted_if_specified_with_clean_6367','Build_all_projects_including_those_that_appear_to_be_up_to_date_6368','Option_build_must_be_the_first_command_line_argument_6369','Option\x20\x27--build\x27\x20must\x20be\x20the\x20first\x20command\x20line\x20argument.','Options_0_and_1_cannot_be_combined_6370','Options\x20\x27{0}\x27\x20and\x20\x27{1}\x27\x20cannot\x20be\x20combined.','The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500','The\x20expected\x20type\x20comes\x20from\x20property\x20\x27{0}\x27\x20which\x20is\x20declared\x20here\x20on\x20type\x20\x27{1}\x27','The_expected_type_comes_from_this_index_signature_6501','The\x20expected\x20type\x20comes\x20from\x20this\x20index\x20signature.','The\x20expected\x20type\x20comes\x20from\x20the\x20return\x20type\x20of\x20this\x20signature.','Variable_0_implicitly_has_an_1_type_7005','Parameter_0_implicitly_has_an_1_type_7006','Parameter\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20type.','Member_0_implicitly_has_an_1_type_7008','Member\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20type.','new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009','_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010','\x27{0}\x27,\x20which\x20lacks\x20return-type\x20annotation,\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20return\x20type.','Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011','Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013','Construct\x20signature,\x20which\x20lacks\x20return-type\x20annotation,\x20implicitly\x20has\x20an\x20\x27any\x27\x20return\x20type.','Function\x20type,\x20which\x20lacks\x20return-type\x20annotation,\x20implicitly\x20has\x20an\x20\x27{0}\x27\x20return\x20type.','Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015','Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016','Could\x20not\x20find\x20a\x20declaration\x20file\x20for\x20module\x20\x27{0}\x27.\x20\x27{1}\x27\x20implicitly\x20has\x20an\x20\x27any\x27\x20type.','Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017','Object_literal_s_property_0_implicitly_has_an_1_type_7018','Object\x20literal\x27s\x20property\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20type.','Rest_parameter_0_implicitly_has_an_any_type_7019','Rest\x20parameter\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27any[]\x27\x20type.','Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020','Call\x20signature,\x20which\x20lacks\x20return-type\x20annotation,\x20implicitly\x20has\x20an\x20\x27any\x27\x20return\x20type.','_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023','\x27{0}\x27\x20implicitly\x20has\x20return\x20type\x20\x27any\x27\x20because\x20it\x20does\x20not\x20have\x20a\x20return\x20type\x20annotation\x20and\x20is\x20referenced\x20directly\x20or\x20indirectly\x20in\x20one\x20of\x20its\x20return\x20expressions.','Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024','Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025','Generator\x20implicitly\x20has\x20type\x20\x27{0}\x27\x20because\x20it\x20does\x20not\x20yield\x20any\x20values.\x20Consider\x20supplying\x20a\x20return\x20type.','JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026','JSX\x20element\x20implicitly\x20has\x20type\x20\x27any\x27\x20because\x20no\x20interface\x20\x27JSX.{0}\x27\x20exists.','Unreachable\x20code\x20detected.','Unused_label_7028','Unused\x20label.','Fallthrough\x20case\x20in\x20switch.','Not_all_code_paths_return_a_value_7030','Not\x20all\x20code\x20paths\x20return\x20a\x20value.','Binding_element_0_implicitly_has_an_1_type_7031','Binding\x20element\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20type.','Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032','Property\x20\x27{0}\x27\x20implicitly\x20has\x20type\x20\x27any\x27,\x20because\x20its\x20set\x20accessor\x20lacks\x20a\x20parameter\x20type\x20annotation.','Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033','Property\x20\x27{0}\x27\x20implicitly\x20has\x20type\x20\x27any\x27,\x20because\x20its\x20get\x20accessor\x20lacks\x20a\x20return\x20type\x20annotation.','Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034','Variable\x20\x27{0}\x27\x20implicitly\x20has\x20type\x20\x27{1}\x27\x20in\x20some\x20locations\x20where\x20its\x20type\x20cannot\x20be\x20determined.','Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_mod_7035','Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036','Dynamic\x20import\x27s\x20specifier\x20must\x20be\x20of\x20type\x20\x27string\x27,\x20but\x20here\x20has\x20type\x20\x27{0}\x27.','Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037','Enables\x20emit\x20interoperability\x20between\x20CommonJS\x20and\x20ES\x20Modules\x20via\x20creation\x20of\x20namespace\x20objects\x20for\x20all\x20imports.\x20Implies\x20\x27allowSyntheticDefaultImports\x27.','Mapped_object_type_implicitly_has_an_any_template_type_7039','If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040','The_containing_arrow_function_captures_the_global_value_of_this_which_implicitly_has_type_any_7041','The\x20containing\x20arrow\x20function\x20captures\x20the\x20global\x20value\x20of\x20\x27this\x27\x20which\x20implicitly\x20has\x20type\x20\x27any\x27.','Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042','Module\x20\x27{0}\x27\x20was\x20resolved\x20to\x20\x27{1}\x27,\x20but\x20\x27--resolveJsonModule\x27\x20is\x20not\x20used.','Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044','Parameter\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20type,\x20but\x20a\x20better\x20type\x20may\x20be\x20inferred\x20from\x20usage.','Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045','Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046','Variable\x20\x27{0}\x27\x20implicitly\x20has\x20type\x20\x27{1}\x27\x20in\x20some\x20locations,\x20but\x20a\x20better\x20type\x20may\x20be\x20inferred\x20from\x20usage.','Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047','Rest\x20parameter\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27any[]\x27\x20type,\x20but\x20a\x20better\x20type\x20may\x20be\x20inferred\x20from\x20usage.','Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048','Property\x20\x27{0}\x27\x20implicitly\x20has\x20type\x20\x27any\x27,\x20but\x20a\x20better\x20type\x20for\x20its\x20get\x20accessor\x20may\x20be\x20inferred\x20from\x20usage.','Property\x20\x27{0}\x27\x20implicitly\x20has\x20type\x20\x27any\x27,\x20but\x20a\x20better\x20type\x20for\x20its\x20set\x20accessor\x20may\x20be\x20inferred\x20from\x20usage.','_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050','Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051','Parameter\x20has\x20a\x20name\x20but\x20no\x20type.\x20Did\x20you\x20mean\x20\x27{0}:\x20{1}\x27?','You\x20cannot\x20rename\x20this\x20element.','You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001','You\x20cannot\x20rename\x20elements\x20that\x20are\x20defined\x20in\x20the\x20standard\x20TypeScript\x20library.','\x27import\x20...\x20=\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','export_can_only_be_used_in_a_ts_file_8003','\x27export=\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','\x27type\x20parameter\x20declarations\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','implements_clauses_can_only_be_used_in_a_ts_file_8005','\x27implements\x20clauses\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','interface_declarations_can_only_be_used_in_a_ts_file_8006','\x27interface\x20declarations\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','\x27module\x20declarations\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','type_aliases_can_only_be_used_in_a_ts_file_8008','\x27type\x20aliases\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','_0_can_only_be_used_in_a_ts_file_8009','types_can_only_be_used_in_a_ts_file_8010','type_arguments_can_only_be_used_in_a_ts_file_8011','parameter_modifiers_can_only_be_used_in_a_ts_file_8012','\x27parameter\x20modifiers\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','non_null_assertions_can_only_be_used_in_a_ts_file_8013','\x27non-null\x20assertions\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','enum_declarations_can_only_be_used_in_a_ts_file_8015','\x27enum\x20declarations\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','type_assertion_expressions_can_only_be_used_in_a_ts_file_8016','\x27type\x20assertion\x20expressions\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.','Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018','Octal\x20literals\x20are\x20not\x20allowed\x20in\x20enums\x20members\x20initializer.\x20Use\x20the\x20syntax\x20\x27{0}\x27.','Report_errors_in_js_files_8019','JSDoc\x20types\x20can\x20only\x20be\x20used\x20inside\x20documentation\x20comments.','JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021','JSDoc\x20\x27@typedef\x27\x20tag\x20should\x20either\x20have\x20a\x20type\x20annotation\x20or\x20be\x20followed\x20by\x20\x27@property\x27\x20or\x20\x27@member\x27\x20tags.','JSDoc_0_is_not_attached_to_a_class_8022','JSDoc\x20\x27@{0}\x27\x20is\x20not\x20attached\x20to\x20a\x20class.','JSDoc_0_1_does_not_match_the_extends_2_clause_8023','JSDoc\x20\x27@{0}\x20{1}\x27\x20does\x20not\x20match\x20the\x20\x27extends\x20{2}\x27\x20clause.','JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024','JSDoc\x20\x27@param\x27\x20tag\x20has\x20name\x20\x27{0}\x27,\x20but\x20there\x20is\x20no\x20parameter\x20with\x20that\x20name.','Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025','Class\x20declarations\x20cannot\x20have\x20more\x20than\x20one\x20`@augments`\x20or\x20`@extends`\x20tag.','Expected_0_type_arguments_provide_these_with_an_extends_tag_8026','Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027','Expected\x20{0}-{1}\x20type\x20arguments;\x20provide\x20these\x20with\x20an\x20\x27@extends\x27\x20tag.','JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028','JSDoc\x20\x27...\x27\x20may\x20only\x20appear\x20in\x20the\x20last\x20parameter\x20of\x20a\x20signature.','JSDoc\x20\x27@param\x27\x20tag\x20has\x20name\x20\x27{0}\x27,\x20but\x20there\x20is\x20no\x20parameter\x20with\x20that\x20name.\x20It\x20would\x20match\x20\x27arguments\x27\x20if\x20it\x20had\x20an\x20array\x20type.','The_type_of_a_function_declaration_must_match_the_function_s_signature_8030','The\x20type\x20of\x20a\x20function\x20declaration\x20must\x20match\x20the\x20function\x27s\x20signature.','You_cannot_rename_a_module_via_a_global_import_8031','You\x20cannot\x20rename\x20a\x20module\x20via\x20a\x20global\x20import.','Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002','Only\x20identifiers/qualified-names\x20with\x20optional\x20type\x20arguments\x20are\x20currently\x20supported\x20in\x20a\x20class\x20\x27extends\x27\x20clause.','class_expressions_are_not_currently_supported_9003','\x27class\x27\x20expressions\x20are\x20not\x20currently\x20supported.','Language_service_is_disabled_9004','Language\x20service\x20is\x20disabled.','JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000','JSX\x20attributes\x20must\x20only\x20be\x20assigned\x20a\x20non-empty\x20\x27expression\x27.','JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001','JSX\x20elements\x20cannot\x20have\x20multiple\x20attributes\x20with\x20the\x20same\x20name.','Expected_corresponding_JSX_closing_tag_for_0_17002','JSX_attribute_expected_17003','JSX\x20attribute\x20expected.','A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005','An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006','An\x20unary\x20expression\x20with\x20the\x20\x27{0}\x27\x20operator\x20is\x20not\x20allowed\x20in\x20the\x20left-hand\x20side\x20of\x20an\x20exponentiation\x20expression.\x20Consider\x20enclosing\x20the\x20expression\x20in\x20parentheses.','A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007','A\x20type\x20assertion\x20expression\x20is\x20not\x20allowed\x20in\x20the\x20left-hand\x20side\x20of\x20an\x20exponentiation\x20expression.\x20Consider\x20enclosing\x20the\x20expression\x20in\x20parentheses.','JSX_element_0_has_no_corresponding_closing_tag_17008','super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009','Unknown_type_acquisition_option_0_17010','Unknown\x20type\x20acquisition\x20option\x20\x27{0}\x27.','super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011','\x27super\x27\x20must\x20be\x20called\x20before\x20accessing\x20a\x20property\x20of\x20\x27super\x27\x20in\x20the\x20constructor\x20of\x20a\x20derived\x20class.','_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012','\x27{0}\x27\x20is\x20not\x20a\x20valid\x20meta-property\x20for\x20keyword\x20\x27{1}\x27.\x20Did\x20you\x20mean\x20\x27{2}\x27?','Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013','Meta-property\x20\x27{0}\x27\x20is\x20only\x20allowed\x20in\x20the\x20body\x20of\x20a\x20function\x20declaration,\x20function\x20expression,\x20or\x20constructor.','JSX_fragment_has_no_corresponding_closing_tag_17014','JSX\x20fragment\x20has\x20no\x20corresponding\x20closing\x20tag.','Expected_corresponding_closing_tag_for_JSX_fragment_17015','JSX_fragment_is_not_supported_when_using_jsxFactory_17016','JSX\x20fragment\x20is\x20not\x20supported\x20when\x20using\x20--jsxFactory','JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma_17017','JSX\x20fragment\x20is\x20not\x20supported\x20when\x20using\x20an\x20inline\x20JSX\x20factory\x20pragma','Circularity_detected_while_resolving_configuration_Colon_0_18000','Circularity\x20detected\x20while\x20resolving\x20configuration:\x20{0}','A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001','The_files_list_in_config_file_0_is_empty_18002','The\x20\x27files\x27\x20list\x20in\x20config\x20file\x20\x27{0}\x27\x20is\x20empty.','No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003','No\x20inputs\x20were\x20found\x20in\x20config\x20file\x20\x27{0}\x27.\x20Specified\x20\x27include\x27\x20paths\x20were\x20\x27{1}\x27\x20and\x20\x27exclude\x27\x20paths\x20were\x20\x27{2}\x27.','File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001','File\x20is\x20a\x20CommonJS\x20module;\x20it\x20may\x20be\x20converted\x20to\x20an\x20ES6\x20module.','This\x20constructor\x20function\x20may\x20be\x20converted\x20to\x20a\x20class\x20declaration.','Import_may_be_converted_to_a_default_import_80003','Import\x20may\x20be\x20converted\x20to\x20a\x20default\x20import.','JSDoc_types_may_be_moved_to_TypeScript_types_80004','require_call_may_be_converted_to_an_import_80005','\x27require\x27\x20call\x20may\x20be\x20converted\x20to\x20an\x20import.','This_may_be_converted_to_an_async_function_80006','This\x20may\x20be\x20converted\x20to\x20an\x20async\x20function.','Add_missing_super_call_90001','Add\x20missing\x20\x27super()\x27\x20call','Make\x20\x27super()\x27\x20call\x20the\x20first\x20statement\x20in\x20the\x20constructor','Change\x20\x27extends\x27\x20to\x20\x27implements\x27','Remove_declaration_for_Colon_0_90004','Remove\x20declaration\x20for:\x20\x27{0}\x27','Remove_import_from_0_90005','Remove\x20import\x20from\x20\x27{0}\x27','Implement_interface_0_90006','Implement\x20interface\x20\x27{0}\x27','Implement_inherited_abstract_class_90007','Implement\x20inherited\x20abstract\x20class','Add_0_to_unresolved_variable_90008','Remove_destructuring_90009','Remove_variable_statement_90010','Remove\x20variable\x20statement','Remove_template_tag_90011','Remove_type_parameters_90012','Remove\x20type\x20parameters','Import\x20\x27{0}\x27\x20from\x20module\x20\x22{1}\x22','Change_0_to_1_90014','Change\x20\x27{0}\x27\x20to\x20\x27{1}\x27','Add_0_to_existing_import_declaration_from_1_90015','Add\x20\x27{0}\x27\x20to\x20existing\x20import\x20declaration\x20from\x20\x22{1}\x22','Declare_property_0_90016','Declare\x20property\x20\x27{0}\x27','Add_index_signature_for_property_0_90017','Add\x20index\x20signature\x20for\x20property\x20\x27{0}\x27','Disable_checking_for_this_file_90018','Disable\x20checking\x20for\x20this\x20file','Ignore_this_error_message_90019','Ignore\x20this\x20error\x20message','Initialize_property_0_in_the_constructor_90020','Initialize\x20property\x20\x27{0}\x27\x20in\x20the\x20constructor','Initialize_static_property_0_90021','Initialize\x20static\x20property\x20\x27{0}\x27','Change_spelling_to_0_90022','Change\x20spelling\x20to\x20\x27{0}\x27','Declare\x20static\x20method\x20\x27{0}\x27','Prefix_0_with_an_underscore_90025','Rewrite_as_the_indexed_access_type_0_90026','Rewrite\x20as\x20the\x20indexed\x20access\x20type\x20\x27{0}\x27','Declare_static_property_0_90027','Declare\x20static\x20property\x20\x27{0}\x27','Call_decorator_expression_90028','Call\x20decorator\x20expression','Add\x20async\x20modifier\x20to\x20containing\x20function','Replace_infer_0_with_unknown_90030','Replace\x20\x27infer\x20{0}\x27\x20with\x20\x27unknown\x27','Replace_all_unused_infer_with_unknown_90031','Replace\x20all\x20unused\x20\x27infer\x27\x20with\x20\x27unknown\x27','Import_default_0_from_module_1_90032','Import\x20default\x20\x27{0}\x27\x20from\x20module\x20\x22{1}\x22','Add_default_import_0_to_existing_import_declaration_from_1_90033','Add\x20default\x20import\x20\x27{0}\x27\x20to\x20existing\x20import\x20declaration\x20from\x20\x22{1}\x22','Add_parameter_name_90034','Add\x20parameter\x20name','Convert_function_to_an_ES2015_class_95001','Convert\x20function\x20to\x20an\x20ES2015\x20class','Convert_function_0_to_class_95002','Convert\x20function\x20\x27{0}\x27\x20to\x20class','Extract\x20to\x20{0}\x20in\x20{1}','Extract\x20function','Extract_constant_95006','Extract\x20constant','Extract_to_0_in_enclosing_scope_95007','Extract\x20to\x20{0}\x20in\x20enclosing\x20scope','Extract_to_0_in_1_scope_95008','Extract\x20to\x20{0}\x20in\x20{1}\x20scope','Annotate_with_type_from_JSDoc_95009','Annotate\x20with\x20type\x20from\x20JSDoc','Annotate_with_types_from_JSDoc_95010','Annotate\x20with\x20types\x20from\x20JSDoc','Infer\x20type\x20of\x20\x27{0}\x27\x20from\x20usage','Infer\x20parameter\x20types\x20from\x20usage','Convert_to_default_import_95013','Convert\x20to\x20default\x20import','Install_0_95014','Replace_import_with_0_95015','Replace\x20import\x20with\x20\x27{0}\x27.','Use_synthetic_default_member_95016','Use\x20synthetic\x20\x27default\x27\x20member.','Convert_to_ES6_module_95017','Convert\x20to\x20ES6\x20module','Add_undefined_type_to_property_0_95018','Add\x20\x27undefined\x27\x20type\x20to\x20property\x20\x27{0}\x27','Add\x20initializer\x20to\x20property\x20\x27{0}\x27','Add\x20definite\x20assignment\x20assertion\x20to\x20property\x20\x27{0}\x27','Add_all_missing_members_95022','Add\x20all\x20missing\x20members','Infer\x20all\x20types\x20from\x20usage','Delete_all_unused_declarations_95024','Delete\x20all\x20unused\x20declarations','Prefix_all_unused_declarations_with_where_possible_95025','Prefix\x20all\x20unused\x20declarations\x20with\x20\x27_\x27\x20where\x20possible','Fix_all_detected_spelling_errors_95026','Fix\x20all\x20detected\x20spelling\x20errors','Add_initializers_to_all_uninitialized_properties_95027','Add\x20initializers\x20to\x20all\x20uninitialized\x20properties','Add_definite_assignment_assertions_to_all_uninitialized_properties_95028','Add\x20definite\x20assignment\x20assertions\x20to\x20all\x20uninitialized\x20properties','Add_undefined_type_to_all_uninitialized_properties_95029','Change_all_jsdoc_style_types_to_TypeScript_95030','Change\x20all\x20jsdoc-style\x20types\x20to\x20TypeScript','Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031','Implement_all_unimplemented_interfaces_95032','Implement\x20all\x20unimplemented\x20interfaces','Install_all_missing_types_packages_95033','Install\x20all\x20missing\x20types\x20packages','Rewrite\x20all\x20as\x20indexed\x20access\x20types','Convert_all_to_default_imports_95035','Convert\x20all\x20to\x20default\x20imports','Make_all_super_calls_the_first_statement_in_their_constructor_95036','Make\x20all\x20\x27super()\x27\x20calls\x20the\x20first\x20statement\x20in\x20their\x20constructor','Change\x20all\x20extended\x20interfaces\x20to\x20\x27implements\x27','Add_all_missing_super_calls_95039','Add\x20all\x20missing\x20super\x20calls','Implement_all_inherited_abstract_classes_95040','Implement\x20all\x20inherited\x20abstract\x20classes','Add_all_missing_async_modifiers_95041','Add\x20all\x20missing\x20\x27async\x27\x20modifiers','Add_ts_ignore_to_all_error_messages_95042','Add\x20\x27@ts-ignore\x27\x20to\x20all\x20error\x20messages','Annotate_everything_with_types_from_JSDoc_95043','Annotate\x20everything\x20with\x20types\x20from\x20JSDoc','Add\x20\x27()\x27\x20to\x20all\x20uncalled\x20decorators','Generate_get_and_set_accessors_95046','Generate\x20\x27get\x27\x20and\x20\x27set\x27\x20accessors','Convert_require_to_import_95047','Convert\x20\x27require\x27\x20to\x20\x27import\x27','Convert_all_require_to_import_95048','Move_to_a_new_file_95049','Remove_unreachable_code_95050','Remove_all_unreachable_code_95051','Remove\x20all\x20unreachable\x20code','Add_missing_typeof_95052','Add\x20missing\x20\x27typeof\x27','Remove\x20unused\x20label','Remove_all_unused_labels_95054','Convert_namespace_import_to_named_imports_95056','Convert_named_imports_to_namespace_import_95057','Convert\x20named\x20imports\x20to\x20namespace\x20import','Add_or_remove_braces_in_an_arrow_function_95058','Add\x20or\x20remove\x20braces\x20in\x20an\x20arrow\x20function','Add_braces_to_arrow_function_95059','Add\x20braces\x20to\x20arrow\x20function','Remove_braces_from_arrow_function_95060','Remove\x20braces\x20from\x20arrow\x20function','Convert_default_export_to_named_export_95061','Convert\x20default\x20export\x20to\x20named\x20export','Convert_named_export_to_default_export_95062','Add_missing_enum_member_0_95063','Add\x20missing\x20enum\x20member\x20\x27{0}\x27','Convert_to_async_function_95065','Convert\x20to\x20async\x20function','Convert_all_to_async_functions_95066','Generate_types_for_0_95067','Generate\x20types\x20for\x20\x27{0}\x27','Generate_types_for_all_packages_without_types_95068','Generate\x20types\x20for\x20all\x20packages\x20without\x20types','Add_unknown_conversion_for_non_overlapping_types_95069','Add\x20\x27unknown\x27\x20conversion\x20for\x20non-overlapping\x20types','Add_unknown_to_all_conversions_of_non_overlapping_types_95070','Add_missing_new_operator_to_call_95071','Add\x20missing\x20\x27new\x27\x20operator\x20to\x20call','Add_missing_new_operator_to_all_calls_95072','Add\x20missing\x20\x27new\x27\x20operator\x20to\x20all\x20calls','Add_names_to_all_parameters_without_names_95073','Add\x20names\x20to\x20all\x20parameters\x20without\x20names','tokenIsIdentifierOrKeyword','tokenIsIdentifierOrKeywordOrGreaterThan','debugger','declare','export','extends','for','implements','import','infer','interface','keyof','namespace','new','package','private','protected','public','readonly','static','super','switch','typeof','unknown','var','void','yield','await','isUnicodeIdentifierStart','Bad\x20line\x20number.\x20Line:\x20',',\x20lineStarts.length:\x20','\x20,\x20line\x20map\x20is\x20correct?\x20','lineMap','position\x20cannot\x20precede\x20the\x20beginning\x20of\x20the\x20file','tokenToString','stringToToken','computeLineStarts','getPositionOfLineAndCharacter','getPositionOfLineAndCharacterWithEdits','getLineStarts','computeLineAndCharacterOfPosition','getLineAndCharacterOfPosition','isWhiteSpaceLike','isLineBreak','isOctalDigit','couldStartTrivia','skipTrivia','<<<<<<<','Merge_conflict_marker_encountered','forEachLeadingCommentRange','forEachTrailingCommentRange','reduceEachTrailingCommentRange','getLeadingCommentRanges','getTrailingCommentRanges','getShebang','isIdentifierStart','isIdentifierPart','createScanner','Unterminated_regular_expression_literal','\x27reScanTemplateToken\x27\x20should\x20only\x20be\x20called\x20on\x20a\x20\x27}\x27','Multiple_consecutive_numeric_separators_are_not_permitted','Numeric_separators_are_not_allowed_here','Unterminated_string_literal','Unexpected_end_of_text','Hexadecimal_digit_expected','parsePseudoBigInt','Asterisk_Slash_expected','Binary_digit_expected','Invalid_character','isExternalModuleNameRelative','pathIsRelative','sortAndDeduplicateDiagnostics','compareDiagnostics','emptyMap','emptyUnderscoreEscapedMap','externalHelpersModuleNameText','defaultMaximumTruncationLength','declarations','hasEntries','createSymbolTable','escapedName','isRootedDiskPath','getNormalizedAbsolutePath','forEachChild','jsDoc','_children','emitNode','isModuleDeclaration','isSourceFile','isExternalModule','(Missing)','escapedText','escapeLeadingUnderscores','createFileDiagnostic','languageVersion','languageVariant','scan','getTokenPos','createTextSpanFromBounds','createTextSpan','This\x20failure\x20could\x20trigger\x20https://github.com/Microsoft/TypeScript/issues/20809','getCombinedNodeFlags','isImportTypeNode','isLiteralTypeNode','argument','literal','expression','changesAffectModuleResolution','configFilePath','moduleResolutionOptionDeclarations','getCompilerOptionValue','forEachAncestor','forEachEntry','forEachKey','copyEntries','arrayToSet','cloneMap','usingSingleLineStringWriter','getText','writeKeyword','getFullWidth','getResolvedModule','resolvedModules','setResolvedModule','setResolvedTypeReferenceDirective','resolvedTypeReferenceDirectiveNames','projectReferenceIsEqualTo','circular','isExternalLibraryImport','extension','resolvedFileName','originalPath','subModuleName','packageIdToString','typeDirectiveIsEqualTo','primary','hasChangesInResolutions','isStatementWithLocals','getStartPositionOfLine','nodePosToString','character','isFileLevelUniqueName','identifiers','nodeIsMissing','nodeIsPresent','addStatementsAfterPrologue','fullTripleSlashReferencePathRegEx','fullTripleSlashAMDReferencePathRegEx','isPinnedComment','getTokenPosOfNode','getNonDecoratorTokenPosOfNode','decorators','getSourceTextOfNodeFromSourceFile','getTextOfNodeFromSourceText','indexOfNode','getLiteralText','isNumericLiteral','numericLiteralFlags','isBigIntLiteral','Literal\x20kind\x20\x27','getBaseFileName','_$1','isBlockOrCatchScoped','isCatchClauseVariableDeclarationOrBindingElement','isAmbientModule','isModuleWithStringLiteralName','isEffectiveModuleDeclaration','isShorthandAmbientModuleSymbol','valueDeclaration','isBlockScopedContainerTopLevel','isFunctionLike','isGlobalScopeAugmentation','isExternalModuleAugmentation','isModuleAugmentationExternal','isEffectiveExternalModule','isolatedModules','getEmitModuleKind','commonJsModuleIndicator','isBlockScope','isDeclarationWithTypeParameterChildren','isAnyImportSyntax','isAnyImportOrReExport','isExportDeclaration','getNameFromIndexInfo','declaration','getTextOfPropertyName','entityNameToString','idText','createDiagnosticForNode','createDiagnosticForNodeArray','createDiagnosticForNodeInSourceFile','getSpanOfTokenAtPosition','getErrorSpanForNode','externalModuleIndicator','scriptKind','isEnumConst','getCombinedModifierFlags','isDeclarationReadonly','isParameterPropertyDeclaration','isVarConst','isLet','isSuperCall','getLeadingCommentRangesOfNode','\x27node\x27\x20was\x20expected\x20to\x20be\x20a\x20qualified\x20name,\x20identifier\x20or\x20property\x20access\x20in\x20\x27isPartOfTypeNode\x27.','constraint','typeArguments','statements','isClassLike','isClassElement','members','initializer','condition','incrementor','moduleReference','isBinaryExpression','isObjectLiteralExpression','isIdentifier','isPropertyAccessExpression','isCallExpression','arguments','isStringLiteral','isExpressionStatement','isVariableStatement','declarationList','isJSDoc','typeExpression','operatorToken','isExportAssignment','isClassExpression','getJSDocAugmentsTag','class','heritageClauses','types','token','__@','positionIsSynthesized','isPartOfTypeNode','isChildOfNodeWithKind','forEachReturnStatement','forEachYieldExpression','elementType','getMembersOfDeclaration','isAccessor','isVariableDeclarationInVariableStatement','isValidESSymbolDeclaration','isVariableDeclaration','isPropertySignature','unwrapInnermostStatementOfLabel','statement','isFunctionBlock','isObjectLiteralOrClassExpressionMethod','isIdentifierTypePredicate','getPropertyAssignment','getTsConfigObjectLiteralExpression','getTsConfigPropArrayElementValue','isArrayLiteralExpression','elements','getTsConfigPropArray','getContainingClass','getThisContainer','getNewTargetContainer','getSuperContainer','getImmediatelyInvokedFunctionExpression','isSuperProperty','isThisProperty','getEntityNameFromTypeNode','getInvokedExpression','nodeIsDecorated','nodeOrChildIsDecorated','isInExpressionContext','isExternalModuleImportEqualsDeclaration','getExternalModuleImportEqualsDeclarationExpression','isInternalModuleImportEqualsDeclaration','isSourceFileJS','isSourceFileNotJS','isInJsonFile','isInJSDoc','isJSDocIndexSignature','isRequireCall','isStringDoubleQuoted','isAssignmentDeclaration','getEffectiveInitializer','getDeclaredExpandoInitializer','getAssignedExpandoInitializer','isPropertyAssignment','getExpandoInitializer','isDefaultedExpandoInitializer','getNameOfExpando','isExportsIdentifier','isModuleExportsPropertyAccessExpression','getAssignmentDeclarationKind','isBindableObjectDefinePropertyCall','getAssignmentDeclarationPropertyAccessKind','getInitializerOfBinaryExpression','isSpecialPropertyDeclaration','getJSDocTypeTag','isFunctionSymbol','importFromModuleSpecifier','showSyntaxKind','tryGetImportFromModuleSpecifier','getExternalModuleName','moduleSpecifier','importClause','namedBindings','isDefaultImport','hasQuestionToken','questionToken','isJSDocConstructSignature','isJSDocFunctionType','isJSDocTypeAlias','isTypeAlias','getJSDocCommentsAndTags','hasJSDocNodes','addRange','getJSDocParameterTags','getJSDocTypeParameterTags','getHostSignatureFromJSDoc','getHostSignatureFromJSDocHost','getJSDocHost','typeParameters','hasRestParameter','Definite','Compound','AssignmentKind','getAssignmentTargetKind','isAssignmentTarget','isNodeWithPossibleHoistedDeclaration','isFunctionExpression','isArrowFunction','isMethodOrAccessor','isFunctionDeclaration','isConstructorDeclaration','walkUpParenthesizedTypes','isDeclarationName','isDeclaration','getDeclarationFromName','isComputedPropertyName','getNameOfDeclaration','isLiteralComputedPropertyDeclarationName','isIdentifierName','isAliasSymbolDeclaration','exportAssignmentIsAlias','getClassExtendsHeritageElement','isInterfaceDeclaration','getHeritageClause','getCompilerOptions','noResolve','isKeyword','isContextualKeyword','isNonContextualKeyword','isStringANonContextualKeyword','isIdentifierANonContextualKeyword','originalKeywordKind','isTrivia','Invalid','FunctionFlags','asteriskToken','isAsyncFunction','hasDynamicName','isDynamicName','isPropertyNameLiteral','getTextOfIdentifierOrLiteral','isKnownSymbol','isESSymbolIdentifier','isPushOrUnshiftIdentifier','isParameterDeclaration','getRootDeclaration','nodeStartsNewLexicalEnvironment','nodeIsSynthesized','getOriginalSourceFile','getParseTreeNode','Left','Associativity','getExpressionAssociativity','getOperatorAssociativity','getExpressionPrecedence','getOperator','getOperatorPrecedence','getBinaryOperatorPrecedence','createDiagnosticCollection','\x5cu2028','\x5cu2029','escapeString','escapeNonAsciiString','\x20\x20\x20\x20','moduleName','getCanonicalFileName','getCommonSourceDirectory','getCurrentDirectory','getRelativePathToDirectoryOrUrl','removeFileExtension','ensurePathIsNonModuleName','declarationDir','outDir','noEmitForJsFiles','isDeclarationFile','isJSDocPropertyLikeTag','getJSDocType','writeLine','writeSpace','hasTrailingNewLine','writeComment','rawWrite','isWhiteSpaceSingleLine','modifierFlagsCache','modifiers','isImplements','isExpressionWithTypeArguments','isLeftHandSideExpression','getIndentString','getIndentSize','createTextWriter','getTrailingSemicolonOmittingWriter','writeTrailingSemicolon','writeLiteral','writeStringLiteral','writePunctuation','writeOperator','writeParameter','writeProperty','decreaseIndent','getResolvedExternalModuleName','getExternalModuleNameFromDeclaration','getExternalModuleFileFromDeclaration','getExternalModuleNameFromPath','getOwnEmitOutputFilePath','getDeclarationEmitOutputFilePath','getDeclarationEmitOutputFilePathWorker','getSourceFilesToEmit','outFile','emitDeclarationOnly','getSourceFiles','getSourceFilePathInNewDir','Could_not_write_file_0_Colon_1','getLineOfLocalPosition','getLineOfLocalPositionFromLineMap','getSetAccessorTypeAnnotationNode','getThisParameter','isJSDocSignature','parameterIsThisKeyword','identifierIsThisKeyword','Accessor\x20has\x20wrong\x20kind','getEffectiveTypeAnnotationNode','getJSDocReturnType','getJSDocTypeParameterDeclarations','tags','getEffectiveSetAccessorTypeAnnotationNode','emitNewLineBeforeLeadingComments','emitComments','writeCommentRange','getIndent','hasReadonlyModifier','getModifierFlags','getModifierFlagsNoCache','modifierToFlag','isLogicalOperator','isAssignmentOperator','tryGetClassExtendingExpressionWithTypeArguments','isDestructuringAssignment','isEntityNameExpression','isPropertyAccessEntityNameExpression','isPrototypeAccess','isRightSideOfQualifiedNameOrPropertyAccess','isEmptyObjectLiteral','getLocalSymbolForExportDefault','localSymbol','tryExtractTSExtension','supportedTSExtensionsForExtractExtension','Unexpected\x20code\x20point','convertToBase64','base64encode','base64decode','checkFlags','objectAssignmentInitializer','objectFlags','getNewLineCharacter','formatSyntaxKind','formatModifierFlags','ModifierFlags','formatTransformFlags','TransformFlags','formatEmitFlags','formatSymbolFlags','formatTypeFlags','formatObjectFlags','createRange','moveRangePos','moveRangePastDecorators','isCollapsedRange','createTokenRange','rangeIsOnSingleLine','rangeStartPositionsAreOnSameLine','rangeEndPositionsAreOnSameLine','rangeStartIsOnSameLineAsRangeEnd','rangeEndIsOnSameLineAsRangeStart','positionsAreOnSameLine','isDeclarationNameOfEnumOrNamespace','getInitializedVariables','isWatchSet','getCheckFlags','getDeclarationModifierFlagsFromSymbol','getAliasedSymbol','getCombinedLocalAndExportSymbolFlags','exportSymbol','isWriteOnlyAccess','isWriteAccess','ReadWrite','compareDataObjects','mutateMap','onExistingValue','forEachAncestorDirectory','isAbstractConstructorType','isAbstractConstructorSymbol','getClassLikeDeclarationOfSymbol','getObjectFlags','typeHasCallOrConstructSignatures','getSignaturesOfType','forSomeAncestorDirectory','isUMDExportSymbol','showModuleSpecifier','getLastChild','isObjectTypeDeclaration','isTypeLiteralNode','isTypeNodeKind','start\x20<\x200','length\x20<\x200','isBindingElement','argumentExpression','isExpression','isJSDocParameterTag','Parameters\x20should\x20always\x20be\x20in\x20their\x20parents\x27\x20parameter\x20list','isJSDocTypeTag','isParameter','jsDocCache','getDefaultLibFileName','lib.esnext.full.d.ts','lib.es2018.full.d.ts','lib.es2017.full.d.ts','lib.es2016.full.d.ts','lib.es6.d.ts','textSpanEnd','textSpanIsEmpty','textSpanContainsPosition','textRangeContainsPositionInclusive','textSpanOverlapsWith','textSpanOverlap','textSpanIntersectsWithTextSpan','textSpanIntersectsWith','decodedTextSpanIntersectsWith','textSpanIntersectsWithPosition','textSpanIntersection','textChangeRangeNewSpan','span','newLength','textChangeRangeIsUnchanged','createTextChangeRange','unchangedTextChangeRange','collapseTextChangeRangesAcrossMultipleVersions','hasModifier','isEmptyBindingPattern','walkUpBindingElementsAndPatterns','validateLocaleAndSetLanguage','Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1','ja-jp','diagnosticMessages.generated.json','Unable_to_open_file_0','localizedDiagnosticMessages','Corrupted_locale_file_0','getOriginalNode','unescapeLeadingUnderscores','symbolName','getNameOfJSDocTypedef','getNonAssignedNameOfDeclaration','hasJSDocParameterTags','isJSDocAugmentsTag','isJSDocClassTag','getJSDocEnumTag','isJSDocEnumTag','getJSDocThisTag','isJSDocThisTag','getJSDocTemplateTag','isCallSignatureDeclaration','isFunctionTypeNode','getJSDocTags','isJSDocTemplateTag','isInJSFile','getEffectiveConstraintOfTypeParameter','isJsxText','isRegularExpressionLiteral','isNoSubstitutionTemplateLiteral','isTemplateHead','isTemplateMiddle','isTemplateTail','isQualifiedName','isTypeParameterDeclaration','isDecorator','isPropertyDeclaration','isMethodDeclaration','isGetAccessorDeclaration','isConstructSignatureDeclaration','isIndexSignatureDeclaration','isGetOrSetAccessorDeclaration','isTypePredicateNode','isTupleTypeNode','isUnionTypeNode','isIntersectionTypeNode','isInferTypeNode','isParenthesizedTypeNode','isTypeOperatorNode','isIndexedAccessTypeNode','isArrayBindingPattern','isTaggedTemplateExpression','isTypeAssertion','isParenthesizedExpression','skipPartiallyEmittedExpressions','isDeleteExpression','isTypeOfExpression','isVoidExpression','isAwaitExpression','isPostfixUnaryExpression','isConditionalExpression','isTemplateExpression','isOmittedExpression','isAsExpression','isNonNullExpression','isMetaProperty','isTemplateSpan','isSemicolonClassElement','isBlock','isEmptyStatement','isIfStatement','isDoStatement','isWhileStatement','isForInStatement','isForOfStatement','isContinueStatement','isBreakStatement','isBreakOrContinueStatement','isReturnStatement','isWithStatement','isSwitchStatement','isLabeledStatement','isThrowStatement','isDebuggerStatement','isVariableDeclarationList','isClassDeclaration','isModuleBlock','isCaseBlock','isNamespaceExportDeclaration','isNamedImports','isImportSpecifier','isNamedExports','isMissingDeclaration','isExternalModuleReference','isJsxElement','isJsxOpeningElement','isJsxClosingElement','isJsxFragment','isJsxOpeningFragment','isJsxClosingFragment','isJsxSpreadAttribute','isJsxExpression','isCaseClause','isHeritageClause','isSpreadAssignment','isEnumMember','isBundle','isUnparsedSource','isJSDocTypeExpression','isJSDocAllType','isJSDocUnknownType','isJSDocNullableType','isJSDocOptionalType','isJSDocTypedefTag','isJSDocCallbackTag','isSyntaxList','isNode','isNodeArray','isLiteralKind','isLiteralExpression','isTemplateLiteralToken','isTemplateMiddleOrTemplateTail','isImportOrExportSpecifier','isExportSpecifier','isStringTextContainingNode','autoGenerateFlags','isModifierKind','isParameterPropertyModifier','isClassMemberModifier','isModifier','isEntityName','isPropertyName','isBindingName','isFunctionLikeDeclaration','isFunctionLikeKind','isFunctionOrModuleBlock','isTypeElement','isClassOrTypeElement','isObjectLiteralElementLike','isTypeNode','isFunctionOrConstructorTypeNode','isAssignmentPattern','isArrayBindingElement','isBindingOrAssignmentPattern','isArrayBindingOrAssignmentPattern','isPropertyAccessOrQualifiedNameOrImportTypeNode','isPropertyAccessOrQualifiedName','isCallLikeExpression','isTemplateLiteral','isUnaryExpressionWithWrite','isAssertionExpression','isNotEmittedStatement','isIterationStatement','isForInOrOfStatement','isConciseBody','isFunctionBody','isModuleBody','isNamedImportBindings','isModuleOrEnumDeclaration','isDeclarationStatement','isStatementButNotDeclaration','isStatement','isModuleReference','isJsxTagNameExpression','isJsxChild','isStringLiteralOrJsxExpression','isJsxOpeningLikeElement','isCaseOrDefaultClause','isJSDocNode','isJSDocCommentContainingNode','isJSDocTypeLiteral','isSetAccessor','isGetAccessor','hasType','hasOnlyExpressionInitializer','isForStatement','isJsxAttribute','guessIndentation','mergeId','checker','transformFlags','relatedInformation','composite','strictFlag','isNamedImportsOrExports','formatStringFromArgs','getLocaleSpecificMessage','reportsUnnecessary','formatMessage','createCompilerDiagnosticFromMessageChain','chainDiagnosticMessages','concatenateDiagnosticMessageChains','compareDiagnosticsSkipRelatedInformation','getEmitScriptTarget','moduleResolution','ModuleResolutionKind','hasJsonModuleEmitEnabled','allowUnreachableCode','getAreDeclarationMapsEnabled','getAllowSyntheticDefaultImports','esModuleInterop','getStrictOptionValue','compilerOptionsAffectSemanticDiagnostics','semanticDiagnosticsOptionDeclarations','isJsonEqual','hasZeroOrOneAsteriskCharacter','://','normalizePathAndParts','hasTrailingDirectorySeparator','ensureTrailingDirectorySeparator','startsWithDirectory','isUrl','isDiskPathRoot','convertToRelativePath','getPathComponents','reducePathComponents','getNormalizedPathComponents','equateStringsCaseInsensitive','equateStringsCaseSensitive','getPathFromPathComponents','getPathComponentsRelativeTo','getRelativePathFromDirectory','file:///','removeTrailingDirectorySeparator','comparePathsCaseSensitive','comparePathsCaseInsensitive','comparePaths','containsPath','tryRemoveDirectoryPrefix','regExpEscape','hasExtension','commonPackageFolders','bower_components','(?!(','([^./]|(\x5c.(?!min\x5c.js$))?)*','singleAsteriskRegexFragment','[^/]*','[^/.][^/]*)*?','exclude','($|/)','doubleAsteriskRegexFragment','replaceWildcardCharacter','directories','([^./]','[^./]','files','.ts','getRegularExpressionForWildcard','getRegularExpressionsForWildcards','getFileMatcherPatterns','matchFiles','includeFilePatterns','includeDirectoryPattern','excludePattern','getScriptKindFromFileName','supportedTSExtensions','supportedTSExtensionsWithJson','supportedJSExtensions','supportedJSAndJsonExtensions','allowJs','deduplicate','resolveJsonModule','getSupportedExtensions','hasJSFileExtension','hasTSFileExtension','isSupportedSourceFileName','TypeScriptFiles','DeclarationAndJavaScriptFiles','Highest','Lowest','ExtensionPriority','tryRemoveExtension','removeExtension','changeExtension','changeAnyExtension','showSymbol','{\x20flags:\x20',';\x20declarations:\x20','extensionIsTS','extensionFromPath','File\x20','isAnySupportedFileExtension','getAnyExtensionFromPath','isCheckJsEnabledForFile','checkJsDirective','enabled','checkJs','matchPatternOrExact','findBestPatternMatch','sliceAfter','minAndMax','tryAdd','getNodeId','NodeSet','getOrUpdate','NodeMap','rangeOfNode','rangeOfTypeParameters','skipTypeChecking','skipLibCheck','skipDefaultLibCheck','pseudoBigIntToString','base10Value','exclamationToken','equalsToken','dotDotDotToken','equalsGreaterThanToken','exprName','elementTypes','checkType','extendsType','trueType','qualifier','objectType','whenTrue','colonToken','whenFalse','endOfFileToken','thenStatement','elseStatement','caseBlock','clauses','catchClause','variableDeclaration','block','exportClause','templateSpans','openingElement','openingFragment','closingFragment','isNameFirst','fullName','jsDocPropertyTags','getTextPos','pragmas','referencedFiles','typeReferenceDirectives','libReferenceDirectives','amdDependencies','hasNoDefaultLib','no-default-lib','lib','Invalid_reference_directive_syntax','amd-dependency','amd-module','An_AMD_module_cannot_have_multiple_name_assignments','ts-check','Unhandled\x20pragma\x20kind','Yield','IgnoreMissingOpenBrace','objectAllocator','getSourceFileConstructor','isNodeKind','getNodeConstructor','getTokenConstructor','isJSDocLikeText','createSourceFile','parseSourceFile','afterParse','Parse','beforeParse','parseJsonText','updateSourceFile','JSDocParser','parseIsolatedJSDocComment','parseJSDocTypeExpressionForTests','parseDiagnostics','setText','setScriptTarget','setLanguageVariant','setOnError','nodeCount','identifierCount','parseJSDocComment','bindDiagnostics','bindSuggestionDiagnostics','reScanGreaterToken','scanJsxToken','lookAhead','tryScan','_0_expected','getStartPos','getTokenFlags','isTemplateLiteralKind','getTokenValue','Identifier_expected','currentNode','intersectsChange','containsParseError','Declaration_or_statement_expected','case_or_default_expected','Property_or_signature_expected','Unexpected_token_A_constructor_method_accessor_or_property_was_expected','Enum_member_expected','Expression_expected','Variable_declaration_expected','Property_destructuring_pattern_expected','Array_element_destructuring_pattern_expected','Property_assignment_expected','Expression_or_comma_expected','Type_parameter_declaration_expected','Type_argument_expected','Type_expected','Unexpected_token_expected','hasPrecedingLineBreak','hasTrailingComma','jsdocDotPos','Template\x20head\x20has\x20wrong\x20token\x20kind','Template\x20fragment\x20has\x20wrong\x20token\x20kind','hasExtendedUnicodeEscape','isUnterminated','setInJSDocType','hasModifiers','isMissingList','readonlyToken','parameterName','typeParameter','indexType','falseType','parseSimpleArrowFunctionExpression\x20should\x20only\x20have\x20been\x20called\x20if\x20we\x20had\x20a\x20=>','super_must_be_followed_by_an_argument_list_or_member_access','attributes','closingElement','Expected_corresponding_closing_tag_for_JSX_fragment','JSX_expressions_must_have_one_parent_element','JSX_fragment_has_no_corresponding_closing_tag','reScanJsxToken','An_element_access_expression_should_take_an_argument','isStringOrNumericLiteralLike','keywordToken','reScanSlashToken','multiLine','awaitModifier','tryBlock','finallyBlock','isExportEquals','or_expected','Declaration_expected','convertToObjectWorker','parseIsolatedEntityName','fixupParentReferences','SourceElements','BlockStatements','SwitchClauses','SwitchClauseStatements','TypeMembers','EnumMembers','HeritageClauseElement','VariableDeclarations','ObjectBindingElements','ArrayBindingElements','ArgumentExpressions','ObjectLiteralMembers','JsxChildren','ArrayLiteralMembers','RestProperties','TupleElementTypes','ImportOrExportSpecifiers','Count','scanRange','getTokenText','comment','augments','_0_tag_already_specified','Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces','isArrayType','isTypeReferenceNode','isBracketed','isInJSDocNamespace','prop','scanJSDocToken','file.js','jsDocDiagnostics','BeginningOfLine','SawAsterisk','SavingComments','CallbackParameter','parseJSDocCommentWorker','Adjusting\x20an\x20element\x20that\x20was\x20entirely\x20after\x20the\x20change\x20range','hasBeenIncrementallyParsed','processCommentPragmas','processPragmasIntoFields','captureSpan','Capture\x20spans\x20not\x20yet\x20implemented\x20for\x20non-xml\x20pragmas','tagNamesAreEquivalent','compileOnSave','es5','lib.es5.d.ts','es6','lib.es2015.d.ts','es2015','lib.es2016.d.ts','es2016','es2017','lib.es2017.d.ts','esnext','lib.esnext.d.ts','dom','lib.dom.d.ts','dom.iterable','webworker','lib.webworker.d.ts','lib.webworker.importscripts.d.ts','scripthost','lib.scripthost.d.ts','es2015.core','lib.es2015.core.d.ts','lib.es2015.collection.d.ts','es2015.generator','lib.es2015.generator.d.ts','es2015.iterable','lib.es2015.iterable.d.ts','lib.es2015.promise.d.ts','es2015.proxy','lib.es2015.proxy.d.ts','es2015.reflect','lib.es2015.reflect.d.ts','es2015.symbol','lib.es2015.symbol.d.ts','es2015.symbol.wellknown','lib.es2015.symbol.wellknown.d.ts','es2016.array.include','lib.es2016.array.include.d.ts','es2017.object','lib.es2017.object.d.ts','es2017.sharedmemory','lib.es2017.sharedmemory.d.ts','es2017.string','lib.es2017.string.d.ts','es2017.intl','es2017.typedarrays','lib.es2017.typedarrays.d.ts','es2018.intl','lib.es2018.intl.d.ts','es2018.promise','es2018.regexp','lib.es2018.regexp.d.ts','lib.esnext.array.d.ts','esnext.symbol','lib.esnext.symbol.d.ts','esnext.asynciterable','lib.esnext.asynciterable.d.ts','lib.esnext.intl.d.ts','esnext.bigint','lib.esnext.bigint.d.ts','enableAutoDiscovery','include','optionDeclarations','shortName','Argument_for_0_option_must_be_Colon_1','element','isTSConfigOnly','list','Unterminated_quoted_string_in_response_file_0','File_0_not_found','optionNameMap','shortOptionNames','Cannot_read_file_0_Colon_1','The_specified_path_does_not_exist_Colon_0','elementOptions','_0_can_only_be_used_in_a_ts_file','String_literal_with_double_quotes_expected','onSetValidOptionKeyValueInRoot','onSetUnknownOptionKeyValueInRoot','extraKeyDiagnosticMessage','Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal','**/*','hasProperty','Command_line_Options','getRelativePathFromFile','references','tsconfig.json','The_files_list_in_config_file_0_is_empty','Compiler_option_0_requires_a_value_of_type_1','compilerOptions','spec','fileNames','typeAcquisition','includeSpecs','excludeSpecs','excludes','compileOnSaveCommandLineOption','isFilePath','Unknown_option_excludes_Did_you_mean_exclude','Unknown_compiler_option_0','typingOptions','Unknown_type_acquisition_option_0','typeAcquisitionDeclarations','extendedSourceFiles','extendedConfigPath','File_0_does_not_exist','nodeModuleNameResolver','resolvedModule','jsconfig.json','libs','libMap','createMapFromEntries','commonOptionsWithBuild','help','Print_this_message','Watch_input_files','preserveWatchOutput','Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen','listFiles','Print_names_of_files_part_of_the_compilation','Advanced_Options','pretty','traceResolution','diagnostics','Show_diagnostic_information','Show_all_compiler_options','Print_the_compiler_s_version','Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file','FILE_OR_DIRECTORY','Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json','Build_one_or_more_projects_and_their_dependencies_if_out_of_date','showConfig','Print_the_final_configuration_instead_of_building','Basic_Options','Specify_library_files_to_be_included_in_the_compilation','Allow_javascript_files_to_be_compiled','Specify_JSX_code_generation_Colon_preserve_react_native_or_react','Generates_corresponding_d_ts_file','Generates_a_sourcemap_for_each_corresponding_d_ts_file','Only_emit_d_ts_declaration_files','Concatenate_and_emit_output_to_single_file','Redirect_output_structure_to_the_directory','rootDir','Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir','Enable_project_compilation','removeComments','Do_not_emit_comments_to_output','noEmit','Do_not_emit_outputs','importHelpers','Import_emit_helpers_from_tslib','downlevelIteration','Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3','Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule','Strict_Type_Checking_Options','Enable_all_strict_type_checking_options','noImplicitAny','Raise_error_on_expressions_and_declarations_with_an_implied_any_type','Enable_strict_null_checks','strictFunctionTypes','Enable_strict_checking_of_function_types','Enable_strict_bind_call_and_apply_methods_on_functions','strictPropertyInitialization','Enable_strict_checking_of_property_initialization_in_classes','noImplicitThis','Raise_error_on_this_expressions_with_an_implied_any_type','Parse_in_strict_mode_and_emit_use_strict_for_each_source_file','Additional_Checks','Report_errors_on_unused_locals','noUnusedParameters','noImplicitReturns','Report_error_when_not_all_code_paths_in_function_return_a_value','noFallthroughCasesInSwitch','Report_errors_for_fallthrough_cases_in_switch_statement','baseUrl','Module_Resolution_Options','Base_directory_to_resolve_non_absolute_module_names','rootDirs','typeRoots','Type_declaration_files_to_be_included_in_compilation','Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports','Source_Map_Options','Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations','mapRoot','Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file','inlineSources','Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set','experimentalDecorators','Experimental_Options','Enables_experimental_support_for_ES7_decorators','emitDecoratorMetadata','Enables_experimental_support_for_emitting_type_metadata_for_decorators','jsxFactory','Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h','Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file','reactNamespace','Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files','The_character_set_of_the_input_files','emitBOM','locale','The_locale_used_when_displaying_messages_to_the_user_e_g_en_us','Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix','noErrorTruncation','noLib','Do_not_include_the_default_library_file_lib_d_ts','Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files','stripInternal','Disable_size_limitations_on_JavaScript_projects','Do_not_emit_use_strict_directives_in_module_output','Do_not_generate_custom_helper_functions_like_extends_in_compiled_output','noEmitOnError','Do_not_emit_outputs_if_any_errors_were_reported','preserveConstEnums','Do_not_erase_const_enum_declarations_in_generated_code','Output_directory_for_generated_declaration_files','Skip_type_checking_of_declaration_files','allowUnusedLabels','Do_not_report_errors_on_unused_labels','Do_not_report_errors_on_unreachable_code','suppressExcessPropertyErrors','Suppress_excess_property_checks_for_object_literals','Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures','forceConsistentCasingInFileNames','Disallow_inconsistently_cased_references_to_the_same_file','maxNodeModuleJsDepth','The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files','keyofStringsOnly','Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols','List_of_language_service_plugins','affectsSemanticDiagnostics','affectsModuleResolution','affectsBindDiagnostics','buildOpts','Enable_verbose_logging','dry','force','clean','Delete_the_outputs_of_all_projects','defaultInitCompilerOptions','createOptionNameMap','parseCustomTypeOption','parseListTypeOption','parseCommandLine','parseBuildCommand','Unknown_build_option_0','Build_option_0_requires_a_value_of_type_1','Options_0_and_1_cannot_be_combined','printVersion','Version_0','printHelp','Syntax_Colon_0','tsc\x20',']\x20[','...]','Examples_Colon_0','tsc\x20hello.ts','tsc\x20--outFile\x20file.js\x20file.ts','tsc\x20@args.txt','tsc\x20--build\x20tsconfig.json','Options_Colon','description','\x20@<','paramType','getParsedCommandLineOfConfigFile','onUnRecoverableConfigFileDiagnostic','resolvedPath','originalFileName','readConfigFile','readJsonConfigFile','convertToObject','configFileSpecs','validatedIncludeSpecs','getRegexFromPattern','validatedExcludeSpecs','generateTSConfig','/*\x20','\x22:\x20','//\x20\x22','\x22compilerOptions\x22:\x20{','\x22files\x22:\x20[','parseJsonConfigFileContent','parseJsonSourceFileConfigFileContent','setConfigFileInOptions','canJsonReportNoInutFiles','updateErrorForNoInputFiles','filterMutate','No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2','filesSpecs','wildcardDirectories','getSuppoertedExtensionsWithJsonIfResolveJsonModule','getExtensionPriority','File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0','File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0','getFileNamesFromConfigSpecs','convertCompilerOptionsForTelemetry','ext','packageId','traceEnabled','Expected_type_of_0_field_in_package_json_to_be_1_got_2','package_json_has_0_field_1_that_references_2','typings','main','typesVersions','package_json_has_a_typesVersions_field_with_version_specific_path_mappings','package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range','paths','package_json_does_not_have_a_typesVersions_entry_that_matches_version_0','trace','JavaScript','Json','TSConfig','DtsOnly','getEffectiveTypeRoots','@types','sourceFile','baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1','paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0','rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0','Checking_if_0_is_the_longest_matching_prefix_for_1_2','Longest_matching_prefix_for_0_is_1','Loading_0_from_the_root_dir_1_candidate_location_2','Trying_other_entries_in_rootDirs','directoryProbablyExists','Module_resolution_using_rootDirs_has_failed','resolveTypeReferenceDirective','commandLine','Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set','Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1','Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set','Using_compiler_options_of_project_reference_redirect_0','Directory_0_does_not_exist_skipping_all_lookups_in_it','Type_reference_directive_0_was_not_resolved','preserveSymlinks','Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2','getAutomaticTypeDirectiveNames','getDirectories','readJson','createModuleResolutionCacheWithMaps','resolveModuleNameFromCache','getOrCreateCacheForDirectory','Resolving_module_0_from_1','Resolution_for_module_0_was_found_in_cache_from_location_1','Module_resolution_kind_is_not_specified_using_0','Explicitly_specified_module_resolution_kind_Colon_0','Unexpected\x20moduleResolution:\x20','Module_name_0_was_successfully_resolved_to_1','Module_name_0_was_not_resolved','resolveJSModule','failedLookupLocations','Could\x20not\x20resolve\x20JS\x20module\x20\x27','\x27.\x20Looked\x20in:\x20','tryResolveJSModule','parts','Loading_module_0_from_node_modules_folder_target_file_type_1','resolved','\x20linked\x20to\x20nonexistent\x20file\x20','Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1','nodeModulesPathPart','packageDirectory','index.d.ts','/index','/index.d.ts','File_0_exist_use_it_as_a_name_resolution_result','packageJsonContent','Found_package_json_at_0_Package_ID_is_1','Found_package_json_at_0','tsconfig','Scoped_package_detected_looking_in_0','packageName','versionPaths','package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2','getOwnKeys','Module_name_0_matched_pattern_1','Trying_substitution_0_candidate_module_location_Colon_1','tryGetExtensionFromPath','/node_modules/','pathContainsNodeModules','parsePackageName','getOrCreateCacheForModuleName','getTypesPackageName','@types/','getPackageNameFromTypesPackageName','unmangleScopedPackageName','classicNameResolver','loadModuleFromGlobalCache','NonInstantiated','ConstEnumOnly','ModuleInstanceState','getModuleInstanceState','IsContainer','IsBlockScopedContainer','IsControlFlowContainer','IsFunctionLike','IsFunctionExpression','HasLocals','IsInterface','alwaysStrict','createUnderscoreEscapedMap','getSymbolConstructor','locals','findAncestor','getEnclosingBlockScopeContainer','isWellKnownSymbolSyntactically','getEscapedTextOfIdentifierOrLiteral','Unknown\x20binary\x20declaration\x20kind','parent\x20is:\x20',',\x20expected\x20JSDocFunctionType','__missing','isReplaceableByMethod','isNamedDeclaration','Cannot_redeclare_block_scoped_variable_0','Duplicate_identifier_0','A_module_cannot_have_multiple_default_exports','unreachableCodeIsError','Unreachable_code_detected','continueTarget','breakTarget','referenced','lock','possiblyExhaustive','antecedents','Fallthrough_case_in_switch','unusedLabelIsError','Unused_label','isStringLiteralLike','isElementAccessExpression','nextContainer','isExternalOrCommonJsModule','Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode','Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode','eval','Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode','Invalid_use_of_0_Modules_are_automatically_in_strict_mode','Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode','flowNode','getRightMostAssignedExpression','Unknown\x20binary\x20expression\x20special\x20property\x20assignment\x20kind','delete_cannot_be_called_on_an_identifier_in_strict_mode','Octal_literals_are_not_allowed_in_strict_mode','with_statements_are_not_allowed_in_strict_mode','A_label_is_not_allowed_here','isConditionalTypeNode','isObjectLiteralMethod','An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode','Unknown\x20call\x20expression\x20assignment\x20declaration\x20kind','__class','export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible','tryParsePattern','Pattern_0_can_have_at_most_one_Asterisk_character','patternAmbientModules','constEnumOnlyModule','Modifiers_cannot_appear_here','Global_module_exports_may_only_appear_in_declaration_files','Global_module_exports_may_only_appear_in_module_files','Global_module_exports_may_only_appear_at_top_level','globalExports','isJsonSourceFile','returnFlowNode','isPrologueDirective','\x22use\x20strict\x22','jsGlobalAugmentations','isAssignmentExpression','isThisIdentifier','Unexpected\x20token\x20for\x20heritage\x20clause','bindSourceFile','beforeBind','afterBind','Bind','isExportsOrModuleExportsOrAlias','computeTransformFlagsForNode','getTransformFlagsSubtreeExclusions','constraintType','modifiersType','thisType','callSignatures','constructSignatures','getSymbolId','isInstantiatedModule','createTypeChecker','getTypeConstructor','strictNullChecks','getResolvedTypeReferenceDirectives','getSourceFile','localJsxFactory','capturedBlockScopeBindings','setEmitFlags','createIdentifier','createPropertyAccess','isSingleOrDoubleQuote','createLiteral','createElementAccess','encounteredError','truncating','approximateLength','throwIfCancellationRequested','createKeywordTypeNode','createLiteralTypeNode','intrinsicName','enclosingDeclaration','tracker','reportInaccessibleUniqueSymbolError','createTypeOperatorNode','isThisType','reportInaccessibleThisError','createTypeReferenceNode','createArrayTypeNode','hasRestElement','createRestTypeNode','createTupleTypeNode','outerTypeParameters','createInferTypeNode','aliasSymbol','aliasTypeArguments','createIndexedAccessTypeNode','inferTypeParameters','createConditionalTypeNode','typeVariable','Should\x20be\x20unreachable.','createUnionOrIntersectionTypeNode','visitedTypes','symbolDepth','createToken','createMappedTypeNode','numberIndexInfo','createTypeLiteralNode','...','stringIndexInfo','isReadonly','reportPrivateInBaseOfClassExpression','createPropertySignature','...\x20','\x20more\x20...','createQualifiedName','setCommentRange','createParameter','createIndexSignature','mapper','minLength','thisParameter','getGeneratedNameForNode','getDeclarationOfKind','getSynthesizedClone','isRestParameter','trackSymbol','visitEachChild','nullTransformationContext','countPathComponents','moduleSpecifiers','createNodeArray','trackReferencedAmbientModule','moduleResolverHost','specifierCache','getModuleSpecifiers','redirectTargetsMap','reportLikelyUnsafeImportRequiredError','createImportTypeNode','symbolCount','isExpressionNode','Cannot\x20get\x20symbols\x20of\x20a\x20synthetic\x20parameter\x20that\x20cannot\x20be\x20resolved\x20to\x20a\x20parse-tree\x20node.','There\x20should\x20exist\x20two\x20symbols,\x20one\x20as\x20property\x20declaration\x20and\x20one\x20as\x20parameter\x20declaration','typeToTypeNode','indexInfoToIndexSignatureDeclaration','signatureToSignatureDeclaration','symbolToExpression','symbolToTypeParameterDeclarations','symbolToParameterDeclaration','typeParameterToDeclaration','introducesArgumentsExoticObject','containingType','leftSpread','rightSpread','syntheticOrigin','isJsxAttributeLike','inferences','createGetSymbolWalker','isTypeReferenceType','regularType','freshType','instantiations','<>','TypeofEQString','TypeofEQNumber','TypeofEQBoolean','TypeofEQObject','TypeofEQFunction','TypeofEQHostObject','TypeofNEString','TypeofNENumber','TypeofNEBigInt','TypeofNESymbol','TypeofNEObject','TypeofNEFunction','TypeofNEHostObject','EQUndefined','EQNull','EQUndefinedOrNull','NEUndefined','NENull','NEUndefinedOrNull','Truthy','Falsy','BaseStringStrictFacts','BaseStringFacts','StringStrictFacts','EmptyStringStrictFacts','EmptyStringFacts','NonEmptyStringStrictFacts','BaseNumberStrictFacts','BaseNumberFacts','NumberStrictFacts','NumberFacts','ZeroNumberStrictFacts','ZeroNumberFacts','NonZeroNumberStrictFacts','NonZeroNumberFacts','BaseBigIntStrictFacts','BaseBigIntFacts','BigIntStrictFacts','BigIntFacts','ZeroBigIntStrictFacts','ZeroBigIntFacts','NonZeroBigIntStrictFacts','NonZeroBigIntFacts','BaseBooleanStrictFacts','BaseBooleanFacts','BooleanStrictFacts','BooleanFacts','FalseStrictFacts','FalseFacts','TrueStrictFacts','TrueFacts','SymbolStrictFacts','SymbolFacts','ObjectFacts','FunctionStrictFacts','FunctionFacts','UndefinedFacts','NullFacts','EmptyObjectStrictFacts','EmptyObjectFacts','ResolvedBaseConstructorType','DeclaredType','ResolvedReturnType','ImmediateBaseConstraint','EnumTagType','JSDocTypeReference','SkipContextSensitive','Inferential','Contextual','Strict','IncludeReadonly','ExcludeReadonly','IncludeOptional','ExcludeOptional','Source','Target','resolvedExports','resolvedMembers','redirectInfo','moduleAugmentations','Declaration_name_conflicts_with_built_in_global_identifier_0','IArguments','NewableFunction','ReadonlyArray','firstFile','isBlockScoped','firstFileLocations','Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0','Conflicts_are_in_this_file','localJsxNamespace','jsx','factory','createDiagnosticForNodeFromMessageChain','Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity','Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations','secondFileLocations','lookup','and_here','_0_was_also_declared_here','Invalid_module_name_in_augmentation_module_0_cannot_be_found','Should\x20never\x20get\x20an\x20instantiated\x20symbol\x20here.','Static_members_cannot_reference_class_type_parameters','Base_class_expressions_cannot_reference_class_type_parameters','isReferenced','Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor','Declaration\x20to\x20checkResolvedBlockScopedVariable\x20is\x20undefined','Block_scoped_variable_0_used_before_its_declaration','Class_0_used_before_its_declaration','Enum_0_used_before_its_declaration','_0_is_declared_here','_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead','Cannot_find_name_0_Did_you_mean_the_static_member_1_0','Cannot_find_name_0_Did_you_mean_the_instance_member_this_0','Should\x20only\x20be\x20resolving\x20left\x20side\x20of\x20qualified\x20name\x20as\x20a\x20namespace','Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1','_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here','_0_only_refers_to_a_type_but_is_being_used_as_a_value_here','_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later','Cannot_use_namespace_0_as_a_value','Cannot_extend_an_interface_0_Did_you_mean_implements','equateValues','Module_0_has_no_exported_member_1','Module_0_has_no_default_export','resolvedSymbol','Should\x20only\x20get\x20Alias\x20here.','Circular_definition_of_import_alias_0','Cannot_find_namespace_0','Unknown\x20entity\x20name\x20kind.','Namespace_0_has_no_exported_member_1','getResolutionDiagnostic','resolutionExtensionIsTSOrJson','File_0_is_not_a_module','pattern','Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented','redirectedReferences','Output_file_0_has_not_been_built_from_source_file_1','An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead','getEmitModuleResolutionKind','Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension','If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1','mangleScopedPackageName','Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0','Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type','Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct','isImportDeclaration','getNamespaceDeclarationNode','originatingImport','exportsWithDuplicate','Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity','specifierText','extendedContainersByFile','extendedContainers','accessibility','isLateVisibilityPaintedStatement','isVisible','appendIfUnique','isExpressionWithTypeArgumentsInClassExtendsClause','createPrinter','writeNode','should\x20always\x20get\x20typenode','createTypePredicateNode','createThisTypeNode','(Anonymous\x20function)','nameType','isIdentifierText','declaredType','resolvedBaseConstructorType','resolvedReturnType','immediateBaseConstraint','resolvedJSDocType','Pick','Exclude','Cannot_find_global_type_0','Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2','Type_0_has_no_property_1','skipParentheses','isPrototypePropertyAssignment','bindingElement','isMethodSignature','isShorthandPropertyAssignment','isEnumDeclaration','Unhandled\x20declaration\x20kind!\x20','\x20for\x20','Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation','there\x20must\x20existed\x20getter\x20as\x20we\x20are\x20current\x20checking\x20either\x20setter\x20or\x20getter\x20in\x20this\x20function','_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions','getDeclarationOfExpando','_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation','_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer','mappedType','getEffectiveTypeParameterDeclarations','_0_is_referenced_directly_or_indirectly_in_its_own_base_expression','Type_0_is_not_a_constructor_function_type','resolvedBaseTypes','resolvingEmptyArray','enumKind','Type_alias_0_circularly_references_itself','hasInitializer','getEffectiveReturnTypeNode','declaredProperties','declaredCallSignatures','declaredConstructSignatures','declaredStringIndexInfo','declaredNumberIndexInfo','The\x20member\x20is\x20expected\x20to\x20have\x20a\x20symbol.','Duplicate_declaration_0','Expected\x20a\x20late-bound\x20symbol.','lateSymbol','Existing\x20symbol\x20parent\x20should\x20match\x20new\x20one','hasStaticModifier','rangeEquals','resolvedTypePredicate','minArgumentCount','hasLiteralTypes','unionSignatures','localTypeParameters','templateType','resolvedProperties','resolvedDefaultConstraint','combinedMapper','resolvedBaseConstraint','resolvedApparentType','propertyCache','resolvedSignature','isValueSignatureDeclaration','containsArgumentsReference','parameterIndex','Return_type_annotation_circularly_references_itself','Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions','erasedSignatureCache','canonicalSignatureCache','isolatedSignatureType','Expected_0_1_type_arguments_provide_these_with_an_extends_tag','Enum_type_0_circularly_references_itself','resolvedEnumType','JSDoc_type_0_circularly_references_itself','Generic_type_0_requires_between_1_and_2_type_arguments','Type_0_is_not_generic','(anonymous)','resolvedType','Global_type_0_must_have_1_type_parameter_s','Global_type_0_must_be_a_class_or_interface_type','Cannot_find_global_value_0','AsyncIterable','AsyncIterableIterator','IterableIterator','TypedPropertyDescriptor','associatedNames','primitiveTypesOnly','orderedRemoveItemAt','stringsOnly','resolvedIndexType','getPropertyNameForKnownSymbolName','getPropertyNameForPropertyNameNode','Cannot_assign_to_0_because_it_is_a_read_only_property','Property_0_does_not_exist_on_type_1','Type_0_cannot_be_used_as_an_index_type','isDeleteTarget','suppressImplicitAnyIndexErrors','Property_0_is_a_static_member_of_type_1','Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number','Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature','Type_0_has_no_matching_index_signature_for_type_1','simplified','resolvedTrueType','resolvedFalseType','isTypeOf','isLiteralImportTypeNode','String_literal_expected','Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here','Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0','uniqueESSymbolType','isNodeDescendantOf','A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface','getParameterSymbolFromJSDoc','instantiating','isDistributive','wildcardInstantiation','Did_you_mean_to_use_new_with_this_expression','Did_you_mean_to_call_this_expression','Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1','The_expected_type_comes_from_the_return_type_of_this_signature','errorNode','innerExpression','errorMessage','The_expected_type_comes_from_this_index_signature','The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1','The_this_types_of_each_signature_are_incompatible','A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard','Type_predicate_0_is_not_assignable_to_1','Parameter_0_is_not_in_the_same_position_as_parameter_1','no\x20error\x20reporting\x20in\x20identity\x20checking','Excessive_stack_depth_comparing_types_0_and_1','isImportCall','Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead','Type_0_is_not_comparable_to_type_1','Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated','isJsxAttributes','assertNode','Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2','Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1','Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it','_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible','The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead','IntrinsicAttributes','IntrinsicClassAttributes','aliasTypeArgumentsContainsMarker','Class_0_incorrectly_implements_interface_1','Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass','Property_0_is_missing_in_type_1_but_required_in_type_2','Type_0_is_missing_the_following_properties_from_type_1_Colon_2','Rest_signatures_are_incompatible','Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1','Property_0_is_private_in_type_1_but_not_in_type_2','Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2','Types_of_property_0_are_incompatible','Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type','getSelectedModifierFlags','Cannot_assign_a_0_constructor_type_to_a_1_constructor_type','noStrictGenericChecks','Type_0_provides_no_match_for_the_signature_1','Index_signatures_are_incompatible','Property_0_is_incompatible_with_index_signature','Index_signature_is_missing_in_type_0','variances','NonNullable','siblings','Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1','Rest_parameter_0_implicitly_has_an_any_type','Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage','Parameter_0_implicitly_has_an_1_type','Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage','Binding_element_0_implicitly_has_an_1_type','Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type','Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type','_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage','Mapped_object_type_implicitly_has_an_any_template_type','Variable_0_implicitly_has_an_1_type','Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage','Object_literal_s_property_0_implicitly_has_an_1_type','isFixed','compareTypes','candidates','contraCandidates','inferredType','topLevel','couldContainTypeVariables','Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig','describe','Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashjest_or_npm_i_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig','Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig','Cannot_find_name_0','isDiscriminantProperty','switchTypes','finalArrayType','maybeTypePredicate','locked','antecedent','switchStatement','clauseStart','clauseEnd','isAssigned','getContainingFunction','The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression','The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method','getAncestor','Cannot_assign_to_0_because_it_is_not_a_variable','Cannot_assign_to_0_because_it_is_a_constant','Variable_0_is_used_before_being_assigned','hasSuperCall','superCall','super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class','this_cannot_be_referenced_in_a_module_or_namespace_body','this_cannot_be_referenced_in_current_location','this_cannot_be_referenced_in_constructor_arguments','this_cannot_be_referenced_in_a_static_property_initializer','this_cannot_be_referenced_in_a_computed_property_name','The_containing_arrow_function_captures_the_global_value_of_this_which_implicitly_has_type_any','this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation','An_outer_value_of_this_is_shadowed_by_this_container','getJSDocClassTag','super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions','super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class','super_can_only_be_referenced_in_a_derived_class','super_cannot_be_referenced_in_constructor_arguments','Does\x20not\x20apply','contextualType','getFunctionFlags','contextualMapper','ElementAttributesPropertyNameContainer','JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property','Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value','Infinity','-Infinity','immediateTarget','GetOrSetAccessor','can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment','_0_modifier_cannot_be_used_here','Unexpected\x20syntax\x20kind:','An_object_literal_cannot_have_property_and_accessor_with_the_same_name','An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name','isIntrinsicJsxName','containsOnlyWhiteSpaces','_0_are_specified_twice_The_attribute_named_0_will_be_overwritten','jsxFlags','JSX.','IntrinsicElements','jsxNamespace','The_global_type_JSX_0_may_not_have_more_than_one_property','resolvedJsxElementAttributesType','ElementClass','Element','JSX_elements_cannot_have_multiple_attributes_with_the_same_name','JSX_attributes_must_only_be_assigned_a_non_empty_expression','Cannot_use_JSX_unless_the_jsx_flag_is_provided','JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist','JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements','Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword','Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression','Property_0_is_private_and_only_accessible_within_class_1','Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses','Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1','Object_is_of_type_unknown','Object_is_possibly_null_or_undefined','Object_is_possibly_null','Property_0_is_used_before_its_initialization','Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await','Property_0_does_not_exist_on_type_1_Did_you_mean_2','Index_signature_in_type_0_only_permits_reading','name\x20should\x20equal\x20outerName','new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead','A_const_enum_member_can_only_be_accessed_using_a_string_literal','A_computed_property_name_of_the_form_0_must_be_of_type_symbol','Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object','Should\x20not\x20call\x20checkTypeArguments\x20with\x20too\x20many\x20type\x20arguments','Type_0_does_not_satisfy_the_constraint_1','The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1','Argument_of_type_0_is_not_assignable_to_parameter_of_type_1','skipOuterExpressions','isSpread','TemplateStringsArray','NEGATIVE_INFINITY','An_argument_matching_this_binding_pattern_was_not_provided','An_argument_for_0_was_not_provided','Expected_at_least_0_arguments_but_got_1','No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments','Expected_0_arguments_but_got_1','Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher','Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration','Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration','Cannot_create_an_instance_of_an_abstract_class','Only_a_void_function_can_be_called_with_the_new_keyword','Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures','Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature','Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression','Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression','Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression','Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression','_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0','symbolToEntityName','createFunctionTypeNode','JSX_element_type_0_does_not_have_any_construct_or_call_signatures','Cannot_invoke_an_object_which_is_possibly_undefined','Untyped_function_calls_may_not_accept_type_arguments','Value_of_type_0_is_not_callable_Did_you_mean_to_include_new','Branch\x20in\x20\x27resolveSignature\x27\x20should\x20be\x20unreachable.','inferredClassType','new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type','walkUpParenthesizedExpressions','Dynamic_import_is_only_supported_when_module_flag_is_commonjs_or_esNext','Dynamic_import_must_have_one_specifier_as_an_argument','isSpreadElement','Specifier_of_dynamic_import_cannot_be_spread_element','Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0','syntheticType','__type','_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2','Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor','new.target','The_import_meta_meta_property_is_only_allowed_using_ESNext_for_the_target_and_module_compiler_options','Containing\x20file\x20is\x20missing\x20import\x20meta\x20node\x20flag.','ImportMeta','PromiseLike','A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option','An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option','A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option','An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option','The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member','Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type','Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member','Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member','A_function_returning_never_cannot_have_a_reachable_end_point','A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value','Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined','Not_all_code_paths_return_a_value','contextFreeType','Type_0_has_no_property_1_and_no_string_index_signature','A_rest_element_must_be_last_in_a_destructuring_pattern','A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma','A_rest_element_cannot_have_an_initializer','The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access','The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access','The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead','The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type','The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type','The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter','The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type','The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol','The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter','This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap','Operator_0_cannot_be_applied_to_types_1_and_2','yield_expressions_cannot_be_used_in_a_parameter_initializer','isPrefixUnaryExpression','BigInt_literals_are_not_available_when_targeting_lower_than_ESNext','Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String','The_operand_of_a_delete_operator_must_be_a_property_reference','The_operand_of_a_delete_operator_cannot_be_a_read_only_property','await_expression_is_only_allowed_within_an_async_function','await_expressions_cannot_be_used_in_a_parameter_initializer','Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member','The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access','An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type','JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma','Type_parameter_0_has_a_circular_default','Type_parameter_name_cannot_be_0','A_parameter_property_is_only_allowed_in_a_constructor_implementation','A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature','A_0_parameter_must_be_the_first_parameter','A_constructor_cannot_have_a_this_parameter','An_arrow_function_cannot_have_a_this_parameter','A_rest_parameter_must_be_of_an_array_type','A_type_predicate_cannot_reference_element_0_in_a_binding_pattern','An_index_signature_cannot_have_a_rest_parameter','An_index_signature_parameter_cannot_have_a_question_mark','An_index_signature_parameter_cannot_have_an_initializer','An_index_signature_parameter_must_have_a_type_annotation','An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead','An_index_signature_parameter_type_must_be_string_or_number','An_index_signature_must_have_a_type_annotation','Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters','Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type','Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type','A_generator_cannot_have_a_void_type_annotation','Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value','PromiseConstructorLike','Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions','Duplicate_string_index_signature','Duplicate_number_index_signature','A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type','A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type','A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type','A_definite_assignment_assertion_is_not_permitted_in_this_context','Type_parameters_cannot_appear_on_a_constructor_declaration','Type_annotation_cannot_appear_on_a_constructor_declaration','A_constructor_cannot_contain_a_super_call_when_its_class_extends_null','A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties','Constructors_for_derived_classes_must_contain_a_super_call','Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher','An_accessor_cannot_be_declared_in_an_ambient_context','An_abstract_accessor_cannot_have_an_implementation','An_accessor_cannot_have_type_parameters','A_get_accessor_cannot_have_parameters','A_set_accessor_must_have_exactly_one_parameter','A_set_accessor_cannot_have_a_return_type_annotation','A_set_accessor_cannot_have_rest_parameter','A_get_accessor_must_return_a_value','Getter_and_setter_accessors_do_not_agree_in_visibility','Accessors_must_both_be_abstract_or_non_abstract','get_and_set_accessor_must_have_the_same_type','Enum_type_0_has_members_with_initializers_that_are_not_literals','unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name','unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement','A_variable_whose_type_is_a_unique_symbol_type_must_be_const','A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly','unique_symbol_types_are_not_allowed_here','Multiple_constructor_implementations_are_not_allowed','Duplicate_function_implementation','Overload_signatures_must_all_be_exported_or_non_exported','Overload_signatures_must_all_be_ambient_or_non_ambient','Overload_signatures_must_all_be_public_private_or_protected','Overload_signatures_must_all_be_abstract_or_non_abstract','Overload_signatures_must_all_be_optional_or_required','Function_overload_must_not_be_static','All_declarations_of_an_abstract_method_must_be_consecutive','Function_implementation_is_missing_or_not_immediately_following_the_declaration','Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local','promisedTypeOfPromise','A_promise_must_have_a_then_method','awaitedTypeOfType','Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method','The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any','The_return_type_of_a_property_decorator_function_must_be_either_void_or_any','getRestParameterElementType','nodeCanBeDecorated','Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning','getFirstConstructorWithBody','The_type_of_a_function_declaration_must_match_the_function_s_signature','Node\x20should\x20not\x20have\x20been\x20registered\x20for\x20unused\x20identifiers\x20check','_0_is_declared_but_never_used','_0_is_declared_but_its_value_is_never_read','Property_0_is_declared_but_its_value_is_never_read','All_type_parameters_are_unused','All_imports_in_import_declaration_are_unused','All_variables_are_unused','Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference','Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference','Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference','Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it','Parameter_0_cannot_be_referenced_in_its_initializer','A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation','All_declarations_of_0_must_have_identical_modifiers','Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1','A_destructuring_declaration_must_have_an_initializer','let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations','A_rest_element_cannot_have_a_property_name','let_declarations_can_only_be_declared_inside_a_block','const_declarations_can_only_be_declared_inside_a_block','An_expression_of_type_void_cannot_be_tested_for_truthiness','The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern','The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any','Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher','Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators','Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator','Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators','Type_0_is_not_an_array_type_or_a_string_type','iteratedTypeOfAsyncIterable','iteratedTypeOfIterable','Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator','Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator','iteratedTypeOfAsyncIterator','iteratedTypeOfIterator','The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property','The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property','An_async_iterator_must_have_a_next_method','Jump_target_cannot_cross_function_boundary','A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement','A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement','A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement','Line_break_not_permitted_here','Property_0_of_type_1_is_not_assignable_to_string_index_type_2','Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2','Numeric_index_type_0_is_not_assignable_to_string_index_type_1','typeParametersChecked','extends_clause_already_seen','extends_clause_must_precede_implements_clause','Class_name_cannot_be_0','Class_name_cannot_be_Object_when_targeting_ES5_with_module_0','Getter','Setter','caller','Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1','Cannot_extend_a_class_0_Class_constructor_is_marked_as_private','Class_static_side_0_incorrectly_extends_base_class_static_side_1','Class_0_incorrectly_extends_base_class_1','A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any','derived\x20should\x20point\x20to\x20something,\x20even\x20if\x20it\x20is\x20the\x20base\x20class\x27\x20declaration.','Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2','Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor','Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property','Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function','A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members','Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2','Interface_declaration_cannot_have_implements_clause','Named_property_0_of_types_1_and_2_are_not_identical','Interface_0_cannot_simultaneously_extend_types_1_and_2','Interface_0_incorrectly_extends_interface_1','An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments','enumMemberValue','Computed_property_names_are_not_allowed_in_enums','const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN','Computed_values_are_not_permitted_in_an_enum_with_string_valued_members','In_ambient_enum_declarations_member_initializer_must_be_constant_expression','A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums','Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context','A_namespace_declaration_is_only_allowed_in_a_namespace_or_module','Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations','Ambient_module_declaration_cannot_specify_relative_module_name','Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces','Exports_and_export_assignments_are_not_permitted_in_module_augmentations','Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module','Export_declarations_are_not_permitted_in_a_namespace','Import_declarations_in_a_namespace_cannot_reference_a_module','Import_declaration_conflicts_with_local_declaration_of_0','Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided','getEmitDeclarations','Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module','exportsChecked','An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements','Cannot_redeclare_exported_variable_0','Method_0_cannot_have_an_implementation_because_it_is_marked_abstract','A_type_predicate_cannot_reference_a_rest_parameter','A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type','Cannot_find_parameter_0','A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods','A_rest_element_must_be_last_in_a_tuple_type','A_required_element_cannot_follow_an_optional_element','Class_declarations_cannot_have_more_than_one_augments_or_extends_tag','JSDoc_0_is_not_attached_to_a_class','JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags','Type_alias_name_cannot_be_0','JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type','JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name','A_rest_parameter_must_be_last_in_a_parameter_list','JSDoc_may_only_appear_in_the_last_parameter_of_a_signature','The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access','Setters_cannot_return_a_value','Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class','with_statements_are_not_allowed_in_an_async_function_block','A_default_clause_cannot_appear_more_than_once_in_a_switch_statement','Catch_clause_variable_cannot_have_a_type_annotation','Cannot_redeclare_identifier_0_in_catch_clause','A_class_declaration_without_the_default_modifier_must_have_a_name','Enum_name_cannot_be_0','Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided','Enum_declarations_must_all_be_const_or_non_const','In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element','An_import_declaration_can_only_be_used_in_a_namespace_or_module','An_import_declaration_cannot_have_modifiers','An_export_declaration_can_only_be_used_in_a_module','Module_0_uses_export_and_cannot_be_used_with_export_Asterisk','The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context','Export_assignment_is_not_supported_when_module_flag_is_system','A_default_export_can_only_be_used_in_an_ECMAScript_style_module','JSDoc_types_can_only_be_used_inside_documentation_comments','deferredNodes','beforeCheck','A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file','noUnusedLocals','Check','afterCheck','Trying\x20to\x20get\x20diagnostics\x20from\x20a\x20type\x20checker\x20that\x20does\x20not\x20produce\x20them.','getTypeParameterFromJsDoc','isJSXTagName','tryGetClassImplementingOrExtendingExpressionWithTypeArguments','Unsupported\x20property\x20name.','isGeneratedIdentifier','exportsSomeValue','isDeclarationWithCollidingName','isImportEqualsDeclaration','createTrue','createFalse','This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found','__asyncDelegator','Unrecognized\x20helper','Decorators_are_not_valid_here','A_decorator_can_only_decorate_a_method_implementation_not_an_overload','secondAccessor','Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name','_0_modifier_cannot_appear_on_a_type_member','Accessibility_modifier_already_seen','_0_modifier_must_precede_1_modifier','abstract','_0_modifier_already_seen','_0_modifier_cannot_appear_on_a_parameter','_0_modifier_cannot_appear_on_a_class_element','_0_modifier_cannot_be_used_in_an_ambient_context','abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration','Abstract_methods_can_only_appear_within_an_abstract_class','_0_modifier_cannot_be_used_with_1_modifier','_0_modifier_cannot_appear_on_a_constructor_declaration','A_0_modifier_cannot_be_used_with_an_import_declaration','A_parameter_property_may_not_be_declared_using_a_binding_pattern','findUseStrictPrologue','This_parameter_is_not_allowed_with_use_strict_directive','Non_simple_parameter_declared_here','A_rest_element_cannot_contain_a_binding_pattern','A_rest_parameter_cannot_have_an_initializer','Line_terminator_not_permitted_before_arrow','Type_argument_list_cannot_be_empty','Argument_expression_expected','_0_list_cannot_be_empty','Generators_are_not_allowed_in_an_ambient_context','An_overload_signature_cannot_be_declared_as_a_generator','Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement','Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement','The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer','The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation','A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type','A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type','Initializers_are_not_allowed_in_ambient_contexts','A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference','Variable_declaration_list_cannot_be_empty','hasReportedStatementInAmbientContext','An_implementation_cannot_be_declared_in_ambient_contexts','Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0','Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0','Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0','ElementChildrenAttributeNameContainer','ElementChildrenAttribute','LibraryManagedAttributes','aggregateTransformFlags','textSourceNode','updateNode','createBigIntLiteral','createStringLiteral','createRegularExpressionLiteral','updateIdentifier','autoGenerateId','isCommaSequence','parenthesizeExpressionForList','parenthesizeForAccess','parenthesizeTypeParameters','parenthesizeArrayTypeMember','parenthesizeConditionalTypeMember','parenthesizeElementTypeMember','parenthesizeListElements','parenthesizeForNew','parenthesizePrefixOperand','parenthesizeBinaryOperand','parenthesizeForConditionalHead','parenthesizeSubexpressionOfConditionalExpression','parenthesizeExpressionForExpressionStatement','isParseTreeNode','sourceFiles','annotatedNodes','leadingComments','trailingComments','commentRange','sourceMapRange','tokenSourceMapRanges','constantValue','startsOnNewLine','createTempVariable','createLoopVariable','createUniqueName','createFileLevelUniqueName','createSuper','createThis','createNull','createModifier','createModifiersFromModifierFlags','updateQualifiedName','createComputedPropertyName','updateComputedPropertyName','createTypeParameterDeclaration','updateTypeParameterDeclaration','createDecorator','updatePropertySignature','createProperty','updateProperty','createMethodSignature','updateMethodSignature','createMethod','createConstructor','updateConstructor','createGetAccessor','updateGetAccessor','updateSetAccessor','createCallSignature','updateCallSignature','createConstructSignature','updateConstructSignature','updateIndexSignature','createSignatureDeclaration','updateFunctionTypeNode','createConstructorTypeNode','updateConstructorTypeNode','createTypeQueryNode','updateTypeQueryNode','updateArrayTypeNode','updateTupleTypeNode','createOptionalTypeNode','updateOptionalTypeNode','updateRestTypeNode','createUnionTypeNode','createIntersectionTypeNode','updateIntersectionTypeNode','updateConditionalTypeNode','updateImportTypeNode','createParenthesizedType','updateParenthesizedType','updateTypeOperatorNode','updateIndexedAccessTypeNode','updateMappedTypeNode','updateLiteralTypeNode','createObjectBindingPattern','updateObjectBindingPattern','createArrayBindingPattern','createBindingElement','createArrayLiteral','updateArrayLiteral','createObjectLiteral','updateObjectLiteral','updatePropertyAccess','getEmitFlags','updateElementAccess','createCall','updateCall','updateNew','createTaggedTemplate','updateTaggedTemplate','updateTypeAssertion','createParen','createFunctionExpression','updateFunctionExpression','createArrowFunction','updateArrowFunction','createDelete','updateDelete','createVoid','updateVoid','createAwait','updateAwait','createPrefix','updatePrefix','createPostfix','updatePostfix','updateBinary','createConditional','updateConditional','createTemplateExpression','updateTemplateExpression','createTemplateHead','createTemplateMiddle','createTemplateTail','createNoSubstitutionTemplateLiteral','createYield','updateYield','updateSpread','createClassExpression','createOmittedExpression','updateExpressionWithTypeArguments','updateAsExpression','createNonNullExpression','updateNonNullExpression','createMetaProperty','createTemplateSpan','updateTemplateSpan','createBlock','updateBlock','createVariableStatement','updateVariableStatement','updateExpressionStatement','createStatement','updateStatement','updateIf','createDo','updateDo','createWhile','updateWhile','updateFor','createForIn','updateForOf','createContinue','updateContinue','updateBreak','createReturn','createWith','createSwitch','updateSwitch','createLabel','updateLabel','createThrow','createTry','updateTry','createDebuggerStatement','createVariableDeclaration','updateVariableDeclaration','createVariableDeclarationList','createFunctionDeclaration','updateClassDeclaration','createInterfaceDeclaration','updateInterfaceDeclaration','updateTypeAliasDeclaration','createEnumDeclaration','updateEnumDeclaration','createModuleDeclaration','updateModuleDeclaration','updateModuleBlock','createCaseBlock','updateCaseBlock','createNamespaceExportDeclaration','updateNamespaceExportDeclaration','updateImportEqualsDeclaration','createImportDeclaration','updateImportDeclaration','createImportClause','updateImportClause','createNamespaceImport','updateNamespaceImport','createNamedImports','updateNamedImports','createImportSpecifier','updateImportSpecifier','createExportAssignment','updateExportAssignment','createExportDeclaration','updateExportDeclaration','createExportSpecifier','updateExportSpecifier','createExternalModuleReference','updateExternalModuleReference','createJSDocTypeExpression','createJSDocTypeTag','createJSDocReturnTag','returns','createJSDocParamTag','createJSDocComment','updateJsxElement','createJsxSelfClosingElement','updateJsxSelfClosingElement','createJsxOpeningElement','createJsxClosingElement','updateJsxClosingElement','createJsxFragment','updateJsxAttribute','createJsxAttributes','updateJsxSpreadAttribute','createJsxExpression','updateJsxExpression','createCaseClause','createDefaultClause','updateDefaultClause','createHeritageClause','updateHeritageClause','createCatchClause','updateCatchClause','createSpreadAssignment','updateSpreadAssignment','createEnumMember','updateEnumMember','updateSourceFileNode','renamedDependencies','classifiableNames','getMutableClone','createNotEmittedStatement','createMergeDeclarationMarker','createPartiallyEmittedExpression','updatePartiallyEmittedExpression','createCommaList','updateCommaList','createBundle','sourceMapPath','sourceMapText','createInputFiles','javascriptText','javascriptMapText','declarationText','declarationMapPath','declarationMapText','updateBundle','prepends','createImmediatelyInvokedFunctionExpression','createImmediatelyInvokedArrowFunction','createComma','createLessThan','createAssignment','createStrictEquality','createStrictInequality','createSubtract','createPostfixIncrement','createLogicalAnd','createLogicalOr','createLogicalNot','createVoidZero','createExportDefault','getOrCreateEmitNode','setTextRange','getSourceMapRange','setSourceMapRange','createSourceMapSource','getTokenSourceMapRange','setStartsOnNewLine','getCommentRange','getSyntheticLeadingComments','setSyntheticLeadingComments','getSyntheticTrailingComments','setSyntheticTrailingComments','addSyntheticTrailingComment','moveSyntheticComments','setConstantValue','addEmitHelper','addEmitHelpers','getEmitHelpers','moveEmitHelpers','compareEmitHelpers','setOriginalNode','createTypeCheck','createTypeOf','createMemberAccessForPropertyName','createFunctionCall','createFunctionApply','createArraySlice','createArrayConcat','createMathPow','createExpressionForJsxFragment','Fragment','typescript:values','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__values\x20=\x20(this\x20&&\x20this.__values)\x20||\x20function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20m\x20=\x20typeof\x20Symbol\x20===\x20\x22function\x22\x20&&\x20o[Symbol.iterator],\x20i\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(m)\x20return\x20m.call(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next:\x20function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(o\x20&&\x20i\x20>=\x20o.length)\x20o\x20=\x20void\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20value:\x20o\x20&&\x20o[i++],\x20done:\x20!o\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','createValuesHelper','requestEmitHelper','createReadHelper','typescript:spread','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__spread\x20=\x20(this\x20&&\x20this.__spread)\x20||\x20function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20ar\x20=\x20[],\x20i\x20=\x200;\x20i\x20<\x20arguments.length;\x20i++)\x20ar\x20=\x20ar.concat(__read(arguments[i]));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20ar;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','Prologue\x20directives\x20should\x20be\x20at\x20the\x20first\x20statement\x20in\x20the\x20target\x20statements\x20array','use\x20strict','cachedLiteralKind','updateParen','isDeclarationBindingElement','createSpread','createPropertyAssignment','createShorthandPropertyAssignment','isObjectBindingPattern','createSpreadHelper','createForOfBindingStatement','updateVariableDeclarationList','insertLeadingStatement','_super','inlineExpressions','createExpressionForPropertyName','createExpressionForObjectLiteralElementLike','getAllAccessorDeclarations','firstAccessor','getAccessor','setAccessor','getInternalName','isInternalName','getExportName','getDeclarationName','getExternalModuleOrNamespaceExportName','getNamespaceMemberName','convertFunctionDeclarationToExpression','getStartsOnNewLine','startsWithUseStrict','ensureUseStrict','parenthesizeDefaultExpression','parenthesizePostfixOperand','parenthesizeElementTypeMembers','parenthesizeConciseBody','Parentheses','Assertions','PartiallyEmittedExpressions','OuterExpressionKinds','skipAssertions','recreateOuterExpressions','startOnNewLine','getExternalHelpersModuleName','scoped','externalHelpersModuleName','getLocalNameForExternalImport','getExternalModuleNameLiteral','getTargetOfBindingOrAssignmentElement','getRestIndicatorOfBindingOrAssignmentElement','getPropertyNameOfBindingOrAssignmentElement','Invalid\x20property\x20name\x20for\x20binding\x20element.','getElementsOfBindingOrAssignmentPattern','convertToObjectAssignmentElement','convertToArrayAssignmentPattern','convertToAssignmentElementTarget','Too\x20many\x20nodes\x20written\x20to\x20output.','singleOrUndefined','startLexicalEnvironment','createExpressionStatement','endLexicalEnvironment','resumeLexicalEnvironment','convertToFunctionBody','mergeLexicalEnvironment','visitNode','visitNodes','visitLexicalEnvironment','visitParameterList','updateParameter','isToken','updateDecorator','updateMethod','updateTypePredicateNode','updateTypeReferenceNode','updateUnionTypeNode','updateInferTypeNode','updateArrayBindingPattern','updateBindingElement','updateClassExpression','updateMetaProperty','liftToBlock','isForInitializer','updateForIn','updateReturn','updateThrow','isCatchClause','updateFunctionDeclaration','isImportClause','updateNamedExports','updateJsxFragment','updateJsxAttributes','updateCaseClause','updateShorthandPropertyAssignment','reduceEachChild','Unexpected\x20node.','\x0d\x0aNode\x20','\x20was\x20unexpected.','assertEachNode','Node\x20','\x20did\x20not\x20pass\x20test\x20\x27','assertOptionalNode','\x20was\x20not\x20a\x20\x27','\x27\x20token.','assertOptionalToken','assertMissingNode','enableDebugInfo','getIdentifierConstructor','__debugKind','createSourceMapGenerator','extendedDiagnostics','beforeSourcemap','afterSourcemap','generatedLine\x20cannot\x20backtrack','generatedCharacter\x20cannot\x20be\x20negative','sourceIndex','sourceLine','sourceCharacter','nameIndex','names','generatedCharacter','sourceIndex\x20cannot\x20be\x20negative','sourceCharacter\x20cannot\x20be\x20negative','Invalid\x20generatedCharacter\x20found','Unsupported\x20Format:\x20No\x20entries\x20after\x20sourceIndex','Unsupported\x20Format:\x20No\x20entries\x20after\x20sourceLine','Invalid\x20sourceCharacter\x20found','Invalid\x20nameIndex\x20found','Error\x20in\x20decoding\x20base64VLQFormatDecode,\x20past\x20the\x20mapping\x20string','Invalid\x20character\x20in\x20VLQ','sourcePosition','generatedPosition','tryGetSourceMappingURL','tryParseRawSourceMap','decodeMappings','sameMapping','isSourceMapping','createDocumentPositionMapper','getSourceFileLike','Encountered\x20error\x20while\x20decoding\x20sourcemap:\x20','identitySourceMapConsumer','getOriginalNodeId','chainBundle','getImportNeedsImportStarHelper','collectExternalModuleInfo','getReferencedValueDeclaration','getOrCreateExternalHelpersModuleNameIfNeeded','addEmitFlags','isSimpleCopiableExpression','helperString','getInitializerOfBindingOrAssignmentElement','visitor','isObjectBindingOrAssignmentPattern','emitBindingOrAssignment','createObjectBindingOrAssignmentPattern','level','hoistTempVariables','hoistVariableDeclaration','createArrayBindingOrAssignmentElement','createArrayBindingOrAssignmentPattern','emitExpression','convertToArrayAssignmentElement','ObjectRest','FlattenLevel','isEmptyArrayLiteral','flattenDestructuringBinding','pendingExpressions','typescript:rest','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__rest\x20=\x20(this\x20&&\x20this.__rest)\x20||\x20function\x20(s,\x20e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20t\x20=\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20p\x20in\x20s)\x20if\x20(Object.prototype.hasOwnProperty.call(s,\x20p)\x20&&\x20e.indexOf(p)\x20<\x200)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20t[p]\x20=\x20s[p];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(s\x20!=\x20null\x20&&\x20typeof\x20Object.getOwnPropertySymbols\x20===\x20\x22function\x22)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200,\x20p\x20=\x20Object.getOwnPropertySymbols(s);\x20i\x20<\x20p.length;\x20i++)\x20if\x20(e.indexOf(p[i])\x20<\x200)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20t[p[i]]\x20=\x20s[p[i]];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20t;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','createAdd','getHelperName','ClassAliases','NamespaceExports','NonQualifiedEnumMembers','HasStaticInitializedProperties','HasConstructorDecorators','HasMemberDecorators','IsExportOfNamespace','IsNamedExternalExport','IsDefaultExternalExport','IsDerivedClass','UseImmediatelyInvokedFunctionExpression','HasAnyDecorators','NeedsName','MayNeedImmediatelyInvokedFunctionExpression','IsExported','transformTypeScript','getEmitResolver','onEmitNode','onSubstituteNode','getNodeCheckFlags','enableSubstitution','javascriptMapPath','isValueAliasDeclaration','Unhandled\x20ellided\x20statement','failBadSyntaxKind','createClassDeclaration','getLocalName','createExternalModuleExport','createEndOfDeclarationMarker','moveRangePastModifiers','visitFunctionBody','addPrologue','paramTypes','returnType','design:typeinfo','design:returntype','getTypeReferenceSerializationKind','getConstantValue','A\x20TypeScript\x20namespace\x20should\x20have\x20an\x20Identifier\x20name.','isReferencedAliasDeclaration','isTopLevelValueImportEqualsWithEntityName','createExpressionFromEntityName','isLocalName','getReferencedExportContainer','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__decorate\x20=\x20(this\x20&&\x20this.__decorate)\x20||\x20function\x20(decorators,\x20target,\x20key,\x20desc)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20c\x20=\x20arguments.length,\x20r\x20=\x20c\x20<\x203\x20?\x20target\x20:\x20desc\x20===\x20null\x20?\x20desc\x20=\x20Object.getOwnPropertyDescriptor(target,\x20key)\x20:\x20desc,\x20d;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(typeof\x20Reflect\x20===\x20\x22object\x22\x20&&\x20typeof\x20Reflect.decorate\x20===\x20\x22function\x22)\x20r\x20=\x20Reflect.decorate(decorators,\x20target,\x20key,\x20desc);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20for\x20(var\x20i\x20=\x20decorators.length\x20-\x201;\x20i\x20>=\x200;\x20i--)\x20if\x20(d\x20=\x20decorators[i])\x20r\x20=\x20(c\x20<\x203\x20?\x20d(r)\x20:\x20c\x20>\x203\x20?\x20d(target,\x20key,\x20r)\x20:\x20d(target,\x20key))\x20||\x20r;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20c\x20>\x203\x20&&\x20r\x20&&\x20Object.defineProperty(target,\x20key,\x20r),\x20r;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','typescript:metadata','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__metadata\x20=\x20(this\x20&&\x20this.__metadata)\x20||\x20function\x20(k,\x20v)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(typeof\x20Reflect\x20===\x20\x22object\x22\x20&&\x20typeof\x20Reflect.metadata\x20===\x20\x22function\x22)\x20return\x20Reflect.metadata(k,\x20v);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__param\x20=\x20(this\x20&&\x20this.__param)\x20||\x20function\x20(paramIndex,\x20decorator)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20function\x20(target,\x20key)\x20{\x20decorator(target,\x20key,\x20paramIndex);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','transformES2017','readEmitHelpers','Unhandled\x20node.','enableEmitNotification','asyncSuperHelper','_superIndex','createSuperAccessVariableStatement','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__awaiter\x20=\x20(this\x20&&\x20this.__awaiter)\x20||\x20function\x20(thisArg,\x20_arguments,\x20P,\x20generator)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20new\x20(P\x20||\x20(P\x20=\x20Promise))(function\x20(resolve,\x20reject)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20fulfilled(value)\x20{\x20try\x20{\x20step(generator.next(value));\x20}\x20catch\x20(e)\x20{\x20reject(e);\x20}\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20rejected(value)\x20{\x20try\x20{\x20step(generator[\x22throw\x22](value));\x20}\x20catch\x20(e)\x20{\x20reject(e);\x20}\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20step(result)\x20{\x20result.done\x20?\x20resolve(result.value)\x20:\x20new\x20P(function\x20(resolve)\x20{\x20resolve(result.value);\x20}).then(fulfilled,\x20rejected);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20step((generator\x20=\x20generator.apply(thisArg,\x20_arguments\x20||\x20[])).next());\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20','\x20=\x20name\x20=>\x20super[name];','advancedAsyncSuperHelper','\x20=\x20(function\x20(geti,\x20seti)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20cache\x20=\x20Object.create(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20name\x20=>\x20cache[name]\x20||\x20(cache[name]\x20=\x20{\x20get\x20value()\x20{\x20return\x20geti(name);\x20},\x20set\x20value(v)\x20{\x20seti(name,\x20v);\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20})(name\x20=>\x20super[name],\x20(name,\x20value)\x20=>\x20super[name]\x20=\x20value);','AsyncMethodsWithSuper','restoreEnclosingLabel','flattenDestructuringAssignment','createFor','createIf','typescript:assign','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__assign\x20=\x20(this\x20&&\x20this.__assign)\x20||\x20function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20__assign\x20=\x20Object.assign\x20||\x20function(t)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20s,\x20i\x20=\x201,\x20n\x20=\x20arguments.length;\x20i\x20<\x20n;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20s\x20=\x20arguments[i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20p\x20in\x20s)\x20if\x20(Object.prototype.hasOwnProperty.call(s,\x20p))\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20t[p]\x20=\x20s[p];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20t;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20__assign.apply(this,\x20arguments);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','createAssignHelper','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__await\x20=\x20(this\x20&&\x20this.__await)\x20||\x20function\x20(v)\x20{\x20return\x20this\x20instanceof\x20__await\x20?\x20(this.v\x20=\x20v,\x20this)\x20:\x20new\x20__await(v);\x20}','typescript:asyncGenerator','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__asyncGenerator\x20=\x20(this\x20&&\x20this.__asyncGenerator)\x20||\x20function\x20(thisArg,\x20_arguments,\x20generator)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!Symbol.asyncIterator)\x20throw\x20new\x20TypeError(\x22Symbol.asyncIterator\x20is\x20not\x20defined.\x22);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20g\x20=\x20generator.apply(thisArg,\x20_arguments\x20||\x20[]),\x20i,\x20q\x20=\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20i\x20=\x20{},\x20verb(\x22next\x22),\x20verb(\x22throw\x22),\x20verb(\x22return\x22),\x20i[Symbol.asyncIterator]\x20=\x20function\x20()\x20{\x20return\x20this;\x20},\x20i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20verb(n)\x20{\x20if\x20(g[n])\x20i[n]\x20=\x20function\x20(v)\x20{\x20return\x20new\x20Promise(function\x20(a,\x20b)\x20{\x20q.push([n,\x20v,\x20a,\x20b])\x20>\x201\x20||\x20resume(n,\x20v);\x20});\x20};\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20resume(n,\x20v)\x20{\x20try\x20{\x20step(g[n](v));\x20}\x20catch\x20(e)\x20{\x20settle(q[0][3],\x20e);\x20}\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20step(r)\x20{\x20r.value\x20instanceof\x20__await\x20?\x20Promise.resolve(r.value.v).then(fulfill,\x20reject)\x20:\x20settle(q[0][2],\x20r);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20fulfill(value)\x20{\x20resume(\x22next\x22,\x20value);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20reject(value)\x20{\x20resume(\x22throw\x22,\x20value);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20settle(f,\x20v)\x20{\x20if\x20(f(v),\x20q.shift(),\x20q.length)\x20resume(q[0][0],\x20q[0][1]);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','typescript:asyncValues','getJsxFactoryEntity','createExpressionForJsxElement','transformES2016','CapturedThis','BlockScopedBindings','Body','ToOriginal','ToOutParameter','Break','Continue','Return','NoReplacement','ReplaceSuperCapture','ReplaceWithReturn','NonStaticClassElement','ExportedVariableStatement','TopLevel','IterationStatement','IterationStatementBlock','ForInOrForOfStatement','ConstructorWithCapturedSuper','AncestorFactsMask','BlockScopeIncludes','BlockScopeExcludes','SourceFileIncludes','SourceFileExcludes','FunctionIncludes','AsyncFunctionBodyIncludes','AsyncFunctionBodyExcludes','ArrowFunctionIncludes','ConstructorIncludes','DoOrWhileStatementIncludes','DoOrWhileStatementExcludes','ForStatementIncludes','ForStatementExcludes','ForInOrForOfStatementIncludes','ForInOrForOfStatementExcludes','BlockIncludes','BlockExcludes','IterationStatementBlockIncludes','ComputedPropertyNameIncludes','ComputedPropertyNameExcludes','NewTarget','NewTargetInComputedPropertyName','SubtreeFactsMask','PropagateNewTargetMask','transformES2015','getReferencedDeclarationWithCollidingName','_this','addStandardPrologue','addCustomPrologue','isArgumentsLocalBinding','argumentsName','allowedNonLabeledJumps','labels','break-','continue-','nonLocalJumps','loopOutParameters','createBinary','Catch\x20clause\x20variable\x20should\x20always\x20be\x20present\x20when\x20downleveling\x20ES2015.','createCallBinding','createNew','createNumericLiteral','templateObject','containsLexicalThis','thisName','_newTarget','addSyntheticLeadingComment','*\x20@class\x20','createEmptyStatement','moveRangeEnd','hoistedLocalVariables','_loop','conditionVariable','loopParameters','labeledNonLocalContinues','createBreak','labeledNonLocalBreaks','functionDeclaration','outParamName','containsYield','part','IterationStatement\x20expected','originalName','out_','___spread','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__extends\x20=\x20(this\x20&&\x20this.__extends)\x20||\x20(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20extendStatics\x20=\x20function\x20(d,\x20b)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20extendStatics\x20=\x20Object.setPrototypeOf\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20({\x20__proto__:\x20[]\x20}\x20instanceof\x20Array\x20&&\x20function\x20(d,\x20b)\x20{\x20d.__proto__\x20=\x20b;\x20})\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20(d,\x20b)\x20{\x20for\x20(var\x20p\x20in\x20b)\x20if\x20(b.hasOwnProperty(p))\x20d[p]\x20=\x20b[p];\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20extendStatics(d,\x20b);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20function\x20(d,\x20b)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20extendStatics(d,\x20b);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20__()\x20{\x20this.constructor\x20=\x20d;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d.prototype\x20=\x20b\x20===\x20null\x20?\x20Object.create(b)\x20:\x20(__.prototype\x20=\x20b.prototype,\x20new\x20__());\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20})();','typescript:makeTemplateObject','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__makeTemplateObject\x20=\x20(this\x20&&\x20this.__makeTemplateObject)\x20||\x20function\x20(cooked,\x20raw)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(Object.defineProperty)\x20{\x20Object.defineProperty(cooked,\x20\x22raw\x22,\x20{\x20value:\x20raw\x20});\x20}\x20else\x20{\x20cooked.raw\x20=\x20raw;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20cooked;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','transformES5','Nop','Statement','BreakWhenTrue','BreakWhenFalse','YieldStar','Throw','Endfinally','Open','Close','Exception','With','Switch','Labeled','Try','Catch','Finally','Done','Next','transformGenerators','hoistFunctionDeclaration','endLabel','finallyLabel','No\x20labels\x20were\x20defined.','beginBlock\x20was\x20never\x20called.','breakLabel','isScript','continueLabel','yield*','endfinally','startLabel','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__generator\x20=\x20(this\x20&&\x20this.__generator)\x20||\x20function\x20(thisArg,\x20body)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20_\x20=\x20{\x20label:\x200,\x20sent:\x20function()\x20{\x20if\x20(t[0]\x20&\x201)\x20throw\x20t[1];\x20return\x20t[1];\x20},\x20trys:\x20[],\x20ops:\x20[]\x20},\x20f,\x20y,\x20t,\x20g;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20g\x20=\x20{\x20next:\x20verb(0),\x20\x22throw\x22:\x20verb(1),\x20\x22return\x22:\x20verb(2)\x20},\x20typeof\x20Symbol\x20===\x20\x22function\x22\x20&&\x20(g[Symbol.iterator]\x20=\x20function()\x20{\x20return\x20this;\x20}),\x20g;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20verb(n)\x20{\x20return\x20function\x20(v)\x20{\x20return\x20step([n,\x20v]);\x20};\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20step(op)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f)\x20throw\x20new\x20TypeError(\x22Generator\x20is\x20already\x20executing.\x22);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20(_)\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f\x20=\x201,\x20y\x20&&\x20(t\x20=\x20op[0]\x20&\x202\x20?\x20y[\x22return\x22]\x20:\x20op[0]\x20?\x20y[\x22throw\x22]\x20||\x20((t\x20=\x20y[\x22return\x22])\x20&&\x20t.call(y),\x200)\x20:\x20y.next)\x20&&\x20!(t\x20=\x20t.call(y,\x20op[1])).done)\x20return\x20t;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(y\x20=\x200,\x20t)\x20op\x20=\x20[op[0]\x20&\x202,\x20t.value];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20switch\x20(op[0])\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20case\x200:\x20case\x201:\x20t\x20=\x20op;\x20break;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20case\x204:\x20_.label++;\x20return\x20{\x20value:\x20op[1],\x20done:\x20false\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20case\x205:\x20_.label++;\x20y\x20=\x20op[1];\x20op\x20=\x20[0];\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20case\x207:\x20op\x20=\x20_.ops.pop();\x20_.trys.pop();\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20default:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!(t\x20=\x20_.trys,\x20t\x20=\x20t.length\x20>\x200\x20&&\x20t[t.length\x20-\x201])\x20&&\x20(op[0]\x20===\x206\x20||\x20op[0]\x20===\x202))\x20{\x20_\x20=\x200;\x20continue;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(op[0]\x20===\x203\x20&&\x20(!t\x20||\x20(op[1]\x20>\x20t[0]\x20&&\x20op[1]\x20<\x20t[3])))\x20{\x20_.label\x20=\x20op[1];\x20break;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(op[0]\x20===\x206\x20&&\x20_.label\x20<\x20t[1])\x20{\x20_.label\x20=\x20t[1];\x20t\x20=\x20op;\x20break;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(t\x20&&\x20_.label\x20<\x20t[2])\x20{\x20_.label\x20=\x20t[2];\x20_.ops.push(op);\x20break;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(t[2])\x20_.ops.pop();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20_.trys.pop();\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20op\x20=\x20body.call(thisArg,\x20_);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x20op\x20=\x20[6,\x20e];\x20y\x20=\x200;\x20}\x20finally\x20{\x20f\x20=\x20t\x20=\x200;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(op[0]\x20&\x205)\x20throw\x20op[1];\x20return\x20{\x20value:\x20op[0]\x20?\x20op[1]\x20:\x20void\x200,\x20done:\x20true\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};','transformModule','getEmitHost','exportEquals','noImplicitUseStrict','externalHelpersImportDeclaration','tryGetModuleNameFromFile','aliasedModuleNames','unaliasedModuleNames','importAliasNames','import=\x20for\x20internal\x20module\x20references\x20should\x20be\x20handled\x20in\x20an\x20earlier\x20transformer.','__syncRequire','Unhandled\x20object\x20member\x20kind','getImportNeedsImportDefaultHelper','isExportName','getReferencedImportDeclaration','typescript:export-star','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20__export(m)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20p\x20in\x20m)\x20if\x20(!exports.hasOwnProperty(p))\x20exports[p]\x20=\x20m[p];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__syncRequire\x20=\x20typeof\x20module\x20===\x20\x22object\x22\x20&&\x20typeof\x20module.exports\x20===\x20\x22object\x22;','typescript:commonjsimportstar','\x0avar\x20__importStar\x20=\x20(this\x20&&\x20this.__importStar)\x20||\x20function\x20(mod)\x20{\x0a\x20\x20\x20\x20if\x20(mod\x20&&\x20mod.__esModule)\x20return\x20mod;\x0a\x20\x20\x20\x20var\x20result\x20=\x20{};\x0a\x20\x20\x20\x20if\x20(mod\x20!=\x20null)\x20for\x20(var\x20k\x20in\x20mod)\x20if\x20(Object.hasOwnProperty.call(mod,\x20k))\x20result[k]\x20=\x20mod[k];\x0a\x20\x20\x20\x20result[\x22default\x22]\x20=\x20mod;\x0a\x20\x20\x20\x20return\x20result;\x0a};','typescript:commonjsimportdefault','\x0avar\x20__importDefault\x20=\x20(this\x20&&\x20this.__importDefault)\x20||\x20function\x20(mod)\x20{\x0a\x20\x20\x20\x20return\x20(mod\x20&&\x20mod.__esModule)\x20?\x20mod\x20:\x20{\x20\x22default\x22:\x20mod\x20};\x0a};','transformSystemModule','externalImports','__moduleName','hasExportStarsToExportValues','exportedNames','exportSpecifiers','setters','register','exportStar','exportedBindings','transformES2015Module','errorModuleName','Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2','Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2','Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1','Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named','Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1','Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1','Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1','Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0','Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1','Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0','Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named','Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1','Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0','Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named','Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0','Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1','Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named','Return_type_of_exported_function_has_or_is_using_private_name_0','This\x20is\x20unknown\x20kind\x20for\x20signature:\x20','Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2','Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1','Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1','Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1','Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1','Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named','Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1','Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2','Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1','Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1','Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named','Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2','Parameter_0_of_exported_function_has_or_is_using_private_name_1','Unknown\x20parent\x20for\x20parameter:\x20','Type_parameter_0_of_exported_class_has_or_is_using_private_name_1','Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1','Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1','Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1','Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1','Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1','Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1','Type_parameter_0_of_exported_function_has_or_is_using_private_name_1','Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1','This\x20is\x20unknown\x20parent\x20for\x20type\x20parameter:\x20','Implements_clause_of_exported_class_0_has_or_is_using_private_name_1','extends_clause_of_exported_class_0_has_or_is_using_private_name_1','extends_clause_of_exported_interface_0_has_or_is_using_private_name_1','Import_declaration_0_is_using_private_name_1','isTypeAliasDeclaration','Exported_type_alias_0_has_or_is_using_private_name_1','Attempted\x20to\x20set\x20a\x20declaration\x20diagnostic\x20context\x20for\x20unhandled\x20node\x20kind:\x20','Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named','Exported_variable_0_has_or_is_using_name_1_from_private_module_2','Exported_variable_0_has_or_is_using_private_name_1','Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named','Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2','Public_static_property_0_of_exported_class_has_or_is_using_private_name_1','Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named','Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2','Property_0_of_exported_interface_has_or_is_using_private_name_1','canProduceDiagnostics','createGetSymbolAccessibilityDiagnosticForNodeName','Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2','Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2','Public_static_method_0_of_exported_class_has_or_is_using_private_name_1','Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named','Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2','Public_method_0_of_exported_class_has_or_is_using_private_name_1','Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2','getDeclarationDiagnostics','Diagnostic\x20emitted\x20without\x20context','getTypeReferenceDirectivesForSymbol','The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary','addDiagnostic','unique\x20symbol','Property_0_of_exported_class_expression_may_not_be_private_or_protected','The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary','createModuleBlock','createUnparsedSourceFile','syntheticFileReferences','syntheticLibReferences','getOutputPathsFor','declarationFilePath','createNamedExports','exportedModulesFromDeclarationEmit','jsFilePath','node_modules/','aliasesToMakeVisible','diagnosticMessage','errorSymbolName','toLocaleLowerCase','createGetSymbolAccessibilityDiagnosticForNode','isLiteralConstDeclaration','isRequiredInitializedParameter','isOptionalUninitializedParameterProperty','createTypeOfDeclaration','createTypeOfExpression','createReturnTypeOfSignatureDeclaration','isDeclarationVisible','isMappedTypeNode','isEntityNameVisible','getTypeReferenceDirectivesForEntityName','getSymbolOfExternalModuleSpecifier','isImplementationOfOverload','isTypeQueryNode','Attempted\x20to\x20process\x20unhandled\x20node\x20kind:\x20','isLateBound','createOptimisticUniqueName','isExpandoFunctionDeclaration','getPropertiesOfContainerFunction','_base','Uninitialized','Initialized','Completed','Disposed','EmitNotifications','noEmitSubstitution','noEmitNotification','transformNodes','Cannot\x20modify\x20the\x20lexical\x20environment\x20during\x20initialization.','Cannot\x20modify\x20the\x20lexical\x20environment\x20after\x20transformation\x20has\x20completed.','Lexical\x20environment\x20is\x20already\x20suspended.','Lexical\x20environment\x20is\x20not\x20suspended.','Lexical\x20environment\x20is\x20suspended.','Cannot\x20modify\x20the\x20transformation\x20context\x20during\x20initialization.','Cannot\x20modify\x20the\x20transformation\x20context\x20after\x20transformation\x20has\x20completed.','Cannot\x20request\x20a\x20scoped\x20emit\x20helper.','Cannot\x20modify\x20transformation\x20hooks\x20after\x20initialization\x20has\x20completed.','Value\x20must\x20not\x20be\x20\x27undefined\x27','beforeTransform','transformTime','Cannot\x20substitute\x20a\x20node\x20after\x20the\x20result\x20is\x20disposed.','.tsbundleinfo','getPrependNodes','.map','sourceMap','inlineSourceMap','hasGlobalName','onBeforeEmitNodeArray','onBeforeEmitToken','onAfterEmitToken','commentTime','beforeComment','afterComment','enter','Expected\x20a\x20SourceFile\x20node.','syntheticTypeReferences','originalOffset','let','const','{...','/**','noEmitHelpers','neverAsciiEscape','///\x20','///\x20','new()','','indent','',')\x20callback','','getNavigationBarItems','NavigationBar','isNamespaceImport','defaultImports','namespaceImports','namedImports','exportWithoutClause','namedExports','compareStringsCaseInsensitive','organizeImports','fromContext','getJsxNamespace','isSymbolReferencedInFile','getChanges','replaceNodeWithNodes','getNewLineOrDefaultFromHost','coalesceImports','coalesceExports','compareModuleSpecifiers','OrganizeImports','>...=1.0)return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currUV\x20=\x20uv\x20+\x20vec2(0.0,\x20dy0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currDepth\x20=\x20texture2D(depthTexture,\x20currUV);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20depth\x20=\x20getDepth(currDepth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(depth>=1.0)return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx1,\x20dy0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currDepth\x20=\x20texture2D(depthTexture,\x20currUV);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20depth\x20=\x20getDepth(currDepth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(depth>=1.0)return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx0,\x200.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currDepth\x20=\x20texture2D(depthTexture,\x20currUV);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20depth\x20=\x20getDepth(currDepth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(depth>=1.0)return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx1,\x200.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currDepth\x20=\x20texture2D(depthTexture,\x20currUV);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20depth\x20=\x20getDepth(currDepth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(depth>=1.0)return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx0,\x20dy1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currDepth\x20=\x20texture2D(depthTexture,\x20currUV);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20depth\x20=\x20getDepth(currDepth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(depth>=1.0)return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currUV\x20=\x20uv\x20+\x20vec2(0.0,\x20dy1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currDepth\x20=\x20texture2D(depthTexture,\x20currUV);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20depth\x20=\x20getDepth(currDepth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(depth>=1.0)return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx1,\x20dy1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currDepth\x20=\x20texture2D(depthTexture,\x20currUV);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20depth\x20=\x20getDepth(currDepth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(depth>=1.0)return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texture2D(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(height>14102.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20currD\x20=\x20texture2D(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(currD.r>=1.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20depth\x20=\x20getDepth(currD);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20positionEC\x20=\x20toEye(v_textureCoordinates,\x20depth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20dx\x20=\x20dFdx(positionEC.xyz);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20dy\x20=\x20dFdy(positionEC.xyz);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20normal\x20=\x20normalize(cross(dx,dy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(strokeType.y||strokeType.z){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20wp\x20=\x20czm_inverseView\x20*\x20positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(distance(wp.xyz,cameraPos)>mbDis){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dotNum\x20=\x20abs(dot(normal,normalize(positionEC.xyz)));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dotNum<0.05){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(bjColor,1.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(strokeType.x||strokeType.z){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bool\x20tjx\x20=\x20isTJX(v_textureCoordinates,lineWidth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(tjx){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(tjxColor,1.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','fromCartesian','strokeType','SkylineOption\x20未定义','min_x','max_x','max_y','slope','45,136,4','75,153,4','111,169,4','204,206,4','204,155,4','204,104,4','204,53,4','204,2,4','TerrainClipPlane','excavateMinHeight','_positions','bottomImg','wallImg','splitNum','_updateExcavateDepth','show','_show','clippingPlanes','cross','getPointDistance','ClippingPlane','Matrix4','IDENTITY','_prepareWell','_createWell','wellData','longitude','latitude','fromRadians','_layers','bottom_pos','lerp_pos','_createWellWall','_createBottomSurface','no_height_top','altitude','_getMinHeight','_ellipsoidToLonLat','WallGeometry','Material','wellWall','GREY','PitWall','PolygonHierarchy','bottomSurface','material','removeAll','ViewShedPrimitive','cameraPosition','viewPosition','defaultValue','horizontalAngle','_verticalAngle','verticalAngle','_visibleAreaColor','visibleAreaColor','_hiddenAreaColor','hiddenAreaColor','_alpha','alpha','_frustum','frustum','calback','_addToScene','getCurrentMousePosition','SceneMode','SCENE3D','getPickRay','pickEllipsoid','_noMousePosition','_bindMourseEvent','_unbindMourseEvent','frustumQuaternion','getFrustumQuaternion','_createShadowMap','radar','addRadar','_horizontalAngle','clientWidth','clientHeight','viewShadowMap','ShadowMap','pCamera','Camera','heading','pitch','_isPointLight','_pointBias','PostProcessStage','uniform\x20float\x20verticalAngle;\x0auniform\x20float\x20dis;\x0auniform\x20float\x20horizontalAngle;\x0auniform\x20vec3\x20visibleColor;\x0auniform\x20vec3\x20disVisibleColor;\x0auniform\x20float\x20mixNum;\x0auniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20stcshadow;\x20\x0auniform\x20sampler2D\x20depthTexture;\x0auniform\x20mat4\x20_shadowMap_matrix;\x20\x0auniform\x20vec4\x20shadowMap_lightPositionEC;\x20\x0auniform\x20vec4\x20shadowMap_lightDirectionEC;\x0auniform\x20vec3\x20shadowMap_lightUp;\x0auniform\x20vec3\x20shadowMap_lightDir;\x0auniform\x20vec3\x20shadowMap_lightRight;\x0auniform\x20vec4\x20shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness;\x20\x0auniform\x20vec4\x20shadowMap_texelSizeDepthBiasAndNormalShadingSmooth;\x20\x0avarying\x20vec2\x20v_textureCoordinates;\x0avec4\x20toEye(in\x20vec2\x20uv,\x20in\x20float\x20depth){\x0a\x20\x20\x20\x20vec2\x20xy\x20=\x20vec2((uv.x\x20*\x202.0\x20-\x201.0),(uv.y\x20*\x202.0\x20-\x201.0));\x0a\x20\x20\x20\x20vec4\x20posInCamera\x20=czm_inverseProjection\x20*\x20vec4(xy,\x20depth,\x201.0);\x0a\x20\x20\x20\x20posInCamera\x20=posInCamera\x20/\x20posInCamera.w;\x0a\x20\x20\x20\x20return\x20posInCamera;\x0a}\x0afloat\x20getDepth(in\x20vec4\x20depth){\x0a\x20\x20\x20\x20float\x20z_window\x20=\x20czm_unpackDepth(depth);\x0a\x20\x20\x20\x20z_window\x20=\x20czm_reverseLogDepth(z_window);\x0a\x20\x20\x20\x20float\x20n_range\x20=\x20czm_depthRange.near;\x0a\x20\x20\x20\x20float\x20f_range\x20=\x20czm_depthRange.far;\x0a\x20\x20\x20\x20return\x20(2.0\x20*\x20z_window\x20-\x20n_range\x20-\x20f_range)\x20/\x20(f_range\x20-\x20n_range);\x0a}\x0afloat\x20_czm_sampleShadowMap(sampler2D\x20shadowMap,\x20vec2\x20uv){\x0a\x20\x20\x20\x20return\x20texture2D(shadowMap,\x20uv).r;\x0a}\x0afloat\x20_czm_shadowDepthCompare(sampler2D\x20shadowMap,\x20vec2\x20uv,\x20float\x20depth){\x0a\x20\x20\x20\x20return\x20step(depth,\x20_czm_sampleShadowMap(shadowMap,\x20uv));\x0a}\x0afloat\x20_czm_shadowVisibility(sampler2D\x20shadowMap,\x20czm_shadowParameters\x20shadowParameters){\x0a\x20\x20\x20\x20float\x20depthBias\x20=\x20shadowParameters.depthBias;\x0a\x20\x20\x20\x20float\x20depth\x20=\x20shadowParameters.depth;\x0a\x20\x20\x20\x20float\x20nDotL\x20=\x20shadowParameters.nDotL;\x0a\x20\x20\x20\x20float\x20normalShadingSmooth\x20=\x20shadowParameters.normalShadingSmooth;\x0a\x20\x20\x20\x20float\x20darkness\x20=\x20shadowParameters.darkness;\x0a\x20\x20\x20\x20vec2\x20uv\x20=\x20shadowParameters.texCoords;\x0a\x20\x20\x20\x20depth\x20-=\x20depthBias;\x0a\x20\x20\x20\x20vec2\x20texelStepSize\x20=\x20shadowParameters.texelStepSize;\x0a\x20\x20\x20\x20float\x20radius\x20=\x201.0;\x0a\x20\x20\x20\x20float\x20dx0\x20=\x20-texelStepSize.x\x20*\x20radius;\x0a\x20\x20\x20\x20float\x20dy0\x20=\x20-texelStepSize.y\x20*\x20radius;\x0a\x20\x20\x20\x20float\x20dx1\x20=\x20texelStepSize.x\x20*\x20radius;\x0a\x20\x20\x20\x20float\x20dy1\x20=\x20texelStepSize.y\x20*\x20radius;\x0a\x20\x20\x20\x20float\x20visibility\x20=\x20\x0a\x20\x20\x20\x20(\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv,\x20depth)\x0a\x20\x20\x20\x20+_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx0,\x20dy0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(0.0,\x20dy0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx1,\x20dy0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx0,\x200.0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx1,\x200.0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx0,\x20dy1),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(0.0,\x20dy1),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx1,\x20dy1),\x20depth)\x0a\x20\x20\x20\x20)\x20*\x20(1.0\x20/\x209.0)\x0a\x20\x20\x20\x20;\x0a\x20\x20\x20\x20return\x20visibility;\x0a}\x0avec3\x20pointProjectOnPlane(in\x20vec3\x20planeNormal,\x20in\x20vec3\x20planeOrigin,\x20in\x20vec3\x20point){\x0a\x20\x20\x20\x20vec3\x20v01\x20=\x20point\x20-planeOrigin;\x0a\x20\x20\x20\x20float\x20d\x20=\x20dot(planeNormal,\x20v01)\x20;\x0a\x20\x20\x20\x20return\x20(point\x20-\x20planeNormal\x20*\x20d);\x0a}\x0afloat\x20ptm(vec3\x20pt){\x0a\x20\x20\x20\x20return\x20sqrt(pt.x*pt.x\x20+\x20pt.y*pt.y\x20+\x20pt.z*pt.z);\x0a}\x0avoid\x20main()\x20\x0a{\x20\x0a\x20\x20\x20\x20const\x20float\x20PI\x20=\x203.141592653589793;\x0a\x20\x20\x20\x20vec4\x20color\x20=\x20texture2D(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20currD\x20=\x20texture2D(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20if(currD.r>=1.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20float\x20depth\x20=\x20getDepth(currD);\x0a\x20\x20\x20\x20vec4\x20positionEC\x20=\x20toEye(v_textureCoordinates,\x20depth);\x0a\x20\x20\x20\x20vec3\x20normalEC\x20=\x20vec3(1.0);\x0a\x20\x20\x20\x20czm_shadowParameters\x20shadowParameters;\x20\x0a\x20\x20\x20\x20shadowParameters.texelStepSize\x20=\x20shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy;\x20\x0a\x20\x20\x20\x20shadowParameters.depthBias\x20=\x20shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z;\x20\x0a\x20\x20\x20\x20shadowParameters.normalShadingSmooth\x20=\x20shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w;\x20\x0a\x20\x20\x20\x20shadowParameters.darkness\x20=\x20shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w;\x20\x0a\x20\x20\x20\x20shadowParameters.depthBias\x20*=\x20max(depth\x20*\x200.01,\x201.0);\x20\x0a\x20\x20\x20\x20vec3\x20directionEC\x20=\x20normalize(positionEC.xyz\x20-\x20shadowMap_lightPositionEC.xyz);\x20\x0a\x20\x20\x20\x20float\x20nDotL\x20=\x20clamp(dot(normalEC,\x20-directionEC),\x200.0,\x201.0);\x20\x0a\x20\x20\x20\x20vec4\x20shadowPosition\x20=\x20_shadowMap_matrix\x20*\x20positionEC;\x20\x0a\x20\x20\x20\x20shadowPosition\x20/=\x20shadowPosition.w;\x20\x0a\x20\x20\x20\x20if\x20(any(lessThan(shadowPosition.xyz,\x20vec3(0.0)))\x20||\x20any(greaterThan(shadowPosition.xyz,\x20vec3(1.0))))\x20\x0a\x20\x20\x20\x20{\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20vec4\x20lw\x20=\x20czm_inverseView*\x20\x20vec4(shadowMap_lightPositionEC.xyz,\x201.0);\x0a\x20\x20\x20\x20vec4\x20vw\x20=\x20czm_inverseView*\x20vec4(positionEC.xyz,\x201.0);\x0a\x20\x20\x20\x20if(distance(lw.xyz,vw.xyz)>dis){\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20vec3\x20ptOnSP\x20=\x20pointProjectOnPlane(shadowMap_lightUp,lw.xyz,vw.xyz);\x0a\x20\x20\x20\x20directionEC\x20=\x20ptOnSP\x20-\x20lw.xyz;\x0a\x20\x20\x20\x20float\x20directionECMO\x20=\x20ptm(directionEC.xyz);\x0a\x20\x20\x20\x20float\x20shadowMap_lightDirMO\x20=\x20ptm(shadowMap_lightDir.xyz);\x0a\x20\x20\x20\x20float\x20cosJJ\x20=\x20dot(directionEC,shadowMap_lightDir)/(directionECMO*shadowMap_lightDirMO);\x0a\x20\x20\x20\x20float\x20degJJ\x20=\x20acos(cosJJ)*(180.0\x20/\x20PI);\x0a\x20\x20\x20\x20degJJ\x20=\x20abs(degJJ);\x0a\x20\x20\x20\x20if(degJJ>horizontalAngle/2.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20vec3\x20ptOnCZ\x20=\x20pointProjectOnPlane(shadowMap_lightRight,lw.xyz,vw.xyz);\x0a\x20\x20\x20\x20vec3\x20dirOnCZ\x20=\x20ptOnCZ\x20-\x20lw.xyz;\x0a\x20\x20\x20\x20float\x20dirOnCZMO\x20=\x20ptm(dirOnCZ);\x0a\x20\x20\x20\x20float\x20cosJJCZ\x20=\x20dot(dirOnCZ,shadowMap_lightDir)/(dirOnCZMO*shadowMap_lightDirMO);\x0a\x20\x20\x20\x20float\x20degJJCZ\x20=\x20acos(cosJJCZ)*(180.0\x20/\x20PI);\x0a\x20\x20\x20\x20degJJCZ\x20=\x20abs(degJJCZ);\x0a\x20\x20\x20\x20if(degJJCZ>verticalAngle/2.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20shadowParameters.texCoords\x20=\x20shadowPosition.xy;\x20\x0a\x20\x20\x20\x20shadowParameters.depth\x20=\x20shadowPosition.z;\x20\x0a\x20\x20\x20\x20shadowParameters.nDotL\x20=\x20nDotL;\x20\x0a\x20\x20\x20\x20float\x20visibility\x20=\x20_czm_shadowVisibility(stcshadow,\x20shadowParameters);\x20\x0a\x20\x20\x20\x20if(visibility==1.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20mix(color,vec4(visibleColor,1.0),mixNum);\x0a\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(abs(shadowPosition.z-0.0)<0.01){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20mix(color,vec4(disVisibleColor,1.0),mixNum);\x0a\x20\x20\x20\x20}\x0a}','_shadowMapMatrix','_lightDirectionEC','_lightCamera','_textureSize','Cartesian4','fromElements','depthBias','normalOffsetScale','maximumDistance','_darkness','removeRadar','resetRadar','DARKCYAN','shadowMaps','postProcess','ViewshedAnalyze','LIME','defaultOption','terrainShadows','VisibleColor','_visibleColor','InVisibleColor','_inVisibleColor','showDistance','_showDistance','startAnalyze','testOn','tempFrustum','handler','shadowMap','_initialiseHandlers','_pickPosition','_calculatePose','_updateLightDirection','_creatFrustum','activeShapePoints','_createViewShad','_addEntity','RIGHT_CLICK','CallbackProperty','YELLOW','32px\x20微软雅黑','DEEPSKYBLUE','BLACK','radii','frameState','roll','dot','UNIT_Y','setView','spotLightCamera','fov','near','shadowOptions','normalShaderFun','ShadowMapShader','createShadowReceiveFragmentShader','_getUIShader','gl_FragColor.rgb\x20*=\x20visibility;','\x20if(visibility\x20==\x201.0){\x20\x0a\x20\x20gl_FragColor.rgb\x20*=\x20vec3(0.0,\x201,\x200.0);\x20\x0a\x20\x20}\x20else\x20{\x20\x0a\x20\x20gl_FragColor.rgb\x20*=\x20vec3(1,\x200.1,\x200.1);\x20\x0a\x20\x20}\x20\x0a','far','HeadingPitchRoll','Quaternion','fromHeadingPitchRoll','Matrix3','fromQuaternion','eastNorthUpToFixedFrame','fromRotationTranslation','PerInstanceColorAppearance','_getViewShadGeometry','phiStart','phiLength','thetaLength','thetaStart','Ellipsoid','fromCartesian3','IndexDatatype','createTypedArray','GeometryAttributes','DOUBLE','Geometry','PrimitiveType','LINES','BoundingSphere','fromEllipsoid','iconEntityArr','./resources/image/eye.png','VerticalOrigin','watchEntity','_on','_off','_firingCount','Item','toJson','parseJson','initItem','Method\x20not\x20implemented.','destroyItem','./src/Core/Event.ts','_itemList','getItemById','fire','getItemByName','getItemList','_registerList','ImageItem','EfficentItem','vectorItem','REGISTER','注册类','失败:已存在注册type:','失败:注册类为设置有效type值例如:\x20static\x20get\x20type()\x20{return\x20\x27itemType\x27}','注册类为空','GET_CONSTRUCTOR','未找到','类型注册列表','GraphicItem','TileItem','ActionItem','GET_REGISTER_LIST','GET_NS3D','GV3D','ArrayHelper','DePluginAttribute','PluginState','icon','isSearch','iconFont','hide','onViewerMouseInput','DePluginManager','./src/DePlugin/SingleDePlugin.ts','Tools','Widgets','rightWidgets','bottomTools','bottomWidgets','registerTool','registerWidget','showTool','CurrentTool','createInstance','changeTool','closeTool','getPluginAttribute','hideTool','pluginConstructor','SinlgleDePlugin','showWidget','closeWidget','closeToolWidget','./src/DePlugin/model/com-item.ts','./node_modules/qiankun/es/index.js','./src/DePlugin/ArrayHelper.ts','comArray','_toolContainer','_onCanvasChange','_originCanvas','setMouseBaseElement','_canvas','_screenSpaceCameraController','_aggregator','CameraEventAggregator','customElementShow','comType','DeComType','customElement','microAppShow','angularapp','DeCustomItem','customWindowElement','iframeElementShow','createIframe','absolute','mars3d','Cesium','isFullScreen','iframeWindowElementShow','createIframeWindow','closeElement','iframewindow','','calc(100%\x20-\x2040px)!important;','icon\x20iconfont\x20gv-Close','100%','border','onclosed','./src/DePlugin/Model/de-plugin-base.ts','geovisEntry','visible','dePluginViewManager','getDisplayCondition','setDisplayCondition','DeWindowOption','./node_modules/rxjs/_esm5/index.js','editable','_visible','onloaded','option','angular','BuildingMesh','./src/LayerManager/GraphicLayer/GraphicRender/RenderUtils.ts','rgba(0.0,\x20126,\x20255,\x201.0)','minHeight','standardHeight','appearance','createAppearance','clock','onTick','getColor','getVs','getFs','getMS','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput,\x20float\x20temp)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20vtxf_a11\x20=\x20fract(time\x20/\x20120.0)\x20*\x203.14159265\x20*\x202.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20vtxf_a12\x20=\x20temp\x20/\x20standardHeight\x20+\x20sin(vtxf_a11)\x20*\x200.1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20tempColor\x20=\x20\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tempColor\x20*=\x20vec4(vtxf_a12,\x20vtxf_a12,\x20vtxf_a12,\x201.0);\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20vtxf_a13\x20=\x20fract(time\x20/\x20360.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20vtxf_h\x20=\x20clamp(temp\x20/\x20standardHeight,\x200.0,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vtxf_a13\x20=\x20abs(vtxf_a13\x20-\x200.5)\x20*\x202.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20vtxf_diff\x20=\x20step(0.005,\x20abs(vtxf_h\x20-\x20vtxf_a13));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tempColor.rgb\x20+=\x20tempColor.rgb\x20*\x20(1.0\x20-\x20vtxf_diff);\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20czm_gammaCorrect(tempColor.rgb);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20normal;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec2\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20float\x20batchId;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20float\x20height;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20realPos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20pos3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20pos3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_st\x20=\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20realPos\x20=\x20vec3(position3DHigh\x20+\x20position3DLow);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height\x20=\x20length(realPos)\x20-\x206369369.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos3DHigh\x20=\x20position3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos3DLow\x20=\x20position3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20float\x20height;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20realPos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20pos3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20pos3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20normalEC\x20=\x20faceforward(normalEC,\x20vec3(0.0,\x200.0,\x201.0),\x20-normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.normalEC\x20=\x20normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.st\x20=\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput,\x20height);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20FLAT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20czm_phong(normalize(positionToEyeEC),\x20material);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','void\x20main(){czm_gv_main();}','vertexShader','fragment','fragmentShader','SCAN','\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20float\x20v_height;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_gv_main();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20timeFactor\x20=\x20fract(czm_frameNumber\x20/\x20120.0)\x20*\x203.14159265\x20*\x202.0;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20maxHeight=60.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flowFactor\x20=\x20v_height/maxHeight+sin(timeFactor)*0.1;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20*=\x20vec4(flowFactor,\x20flowFactor,\x20flowFactor,\x201.0);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20timeFactor2\x20=\x20fract(czm_frameNumber\x20/\x20400.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20normalizeHeight\x20=\x20clamp(v_height\x20/\x20300.0,\x200.0,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeFactor2\x20=\x20abs(timeFactor2\x20-\x200.5)\x20*\x202.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20glowIntensity\x20=\x20step(0.005,\x20abs(normalizeHeight\x20-\x20timeFactor2));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor.rgb\x20+=\x20gl_FragColor.rgb\x20*\x20(1.0\x20-\x20glowIntensity);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20float\x20v_height;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_gv_main();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_height=(a_position\x20*\x20gltf_u_dec_position_normConstant).z;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','cached','CylinderGeometry','topRadius','bottomRadius','createVertex','createGeometeryAttribute','createGrometry','getModelMatrix','Transforms','GeometryAttribute','ComponentDatatype','FLOAT','TRIANGLES','fromVertices','DefenseEllipsoid','radius','createPrimitive','EllipsoidGeometry','RenderUtils','resources/image/defenseEllipsoid.jpg','resources/image/noise.jpg','ellipsoidMs','modelMatrix','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20temp=dot(normalize(materialInput.positionToEyeEC),\x20materialInput.normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20a\x20=\x20pow(1.0\x20-\x201.0\x20*\x20abs(temp),\x201.0);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20flowUV=fract(materialInput.st+vec2(0.0,time*0.04));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20noiseColor=texture2D(noiseImage,flowUV);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20noiseUV=fract(materialInput.st+vec2(noiseColor.r,noiseColor.g)*0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20testColor=texture2D(image,noiseUV);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20pow(a,2.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20testColor.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dt=distance(testColor.rgb,vec3(0.0));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}','\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20normal;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec2\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20float\x20batchId;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20realPos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20pos3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20pos3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_st\x20=\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20realPos\x20=\x20vec3(position3DHigh\x20+\x20position3DLow);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos3DHigh\x20=\x20position3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos3DLow\x20=\x20position3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20','DiffusionCircles','_position','_color','_inner','startAnimate','TWEEN','Tween','easing','Easing','Elastic','InOut','onUpdate','BigRadius','uniforms','SmallRadius','small','repeat','getInnerSource','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20vec4(1.0,\x200.0,\x200.0,1.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20distColor\x20=\x20vec3(1.0,\x200.0,\x200.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dist\x20=\x20distance(vec2(0.5,0.5),\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dist\x20<\x20SmallRadius\x20&&\x20dist\x20>\x200.01){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color\x20=\x20vec4(distColor\x20*\x20100.0,\x20dist\x20-\x200.1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else\x20if(dist\x20<=\x200.01){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color\x20=\x20vec4(vec3(1.0,\x200.0,\x200.0),\x200.6);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20color.a\x20*\x201.4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','FlowLine','FlowLineOpt','createLineAppearance','startPoint','endPoints','lineAppearance','generateCurve','PolylineMaterialAppearance','resources/localscene/continuity_yellow_01.png','getFlowLineSource','divideByScalar','WGS84','cartographicToCartesian','FlowTube','FlowTubeOpt','Vector3','centripetal','radialSegments','BufferGeometry','setFromObject','MeshPhongMaterial','resources/localscene/gradual_change_red.png','getSource','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texture2D(image,vec2(fract(st.s\x20-\x20time),\x20st.t));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=color.a;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb*vec3(3.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20','FogPlane','clampToGroud','preUpdate','iTime','posArr','createApperance','getMs','\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20rand2D(in\x20vec2\x20co,\x20float\x20seed){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20fract(sin(dot(co.xy\x20,vec2(12.9898,78.233)))\x20*\x2043758.5453\x20+\x20seed);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20noise2D(vec2\x20norm_fragCoord,\x20int\x20resolution,\x20int\x20iterations,\x20float\x20amplitude,\x20float\x20smoothness,\x20float\x20blur,\x20float\x20seed)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20level\x20=\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20variation_amplitude\x20=\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20grid_resolution\x20=\x20float(resolution);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20int\x20MAX_ITERATIONS\x20=\x203;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20p0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20p1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20p2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20p3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20d0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20d1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20d2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20d3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20c0\x20=\x20level;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20c1\x20=\x20level;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20c2\x20=\x20level;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20c3\x20=\x20level;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(int\x20i\x20=\x200;\x20i\x20<\x20MAX_ITERATIONS;\x20i++)\x20{\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20grid_resolution\x20=\x20grid_resolution\x20*\x20pow(2.0,\x20float(i));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20grid_cell_size\x20=\x201.0\x20/\x20grid_resolution;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20variation_amplitude\x20=\x20variation_amplitude\x20/\x20(smoothness\x20*\x20float(i\x20+\x201));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20p0\x20=\x20vec2(floor(grid_resolution\x20*\x20norm_fragCoord)\x20/\x20grid_resolution);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20p3\x20=\x20floor(grid_resolution\x20*\x20(norm_fragCoord\x20+\x20grid_cell_size))\x20/\x20grid_resolution;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20p1\x20=\x20vec2(p3.x,\x20p0.y);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20p2\x20=\x20vec2(p0.x,\x20p3.y);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d0\x20=\x201.0\x20/\x20pow(distance(norm_fragCoord,\x20p0),\x20blur);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d1\x20=\x201.0\x20/\x20pow(distance(norm_fragCoord,\x20p1),\x20blur);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d2\x20=\x201.0\x20/\x20pow(distance(norm_fragCoord,\x20p2),\x20blur);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d3\x20=\x201.0\x20/\x20pow(distance(norm_fragCoord,\x20p3),\x20blur);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c0\x20=\x20level\x20+\x20variation_amplitude\x20*\x20(rand2D(p0,\x20seed)\x20-\x200.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c1\x20=\x20level\x20+\x20variation_amplitude\x20*\x20(rand2D(p1,\x20seed)\x20-\x200.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c2\x20=\x20level\x20+\x20variation_amplitude\x20*\x20(rand2D(p2,\x20seed)\x20-\x200.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c3\x20=\x20level\x20+\x20variation_amplitude\x20*\x20(rand2D(p3,\x20seed)\x20-\x200.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20level\x20=\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c0\x20*\x20d0\x20+\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c1\x20*\x20d1\x20+\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c2\x20*\x20d2\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c3\x20*\x20d3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20/\x20(d0\x20+\x20d1\x20+\x20d2\x20+\x20d3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20pow(level,\x20amplitude);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20brownian_motion2D\x20(vec2\x20norm_fragCoord,\x20float\x20time)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20frequency\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20amplitude\x20=\x200.2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20norm_fragCoord.x\x20=\x20norm_fragCoord.x\x20*\x20(1.0\x20+\x200.2\x20*\x20amplitude\x20*\x20cos(0.22\x20*\x20time\x20+\x200.5\x20*\x20norm_fragCoord.x\x20*\x20frequency));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20norm_fragCoord.x\x20=\x20norm_fragCoord.x\x20*\x20(1.0\x20+\x200.2\x20*\x20amplitude\x20*\x20cos(0.35\x20*\x20time\x20+\x200.8\x20*\x20norm_fragCoord.x\x20*\x20frequency));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20norm_fragCoord.x\x20=\x20norm_fragCoord.x\x20*\x20(1.0\x20+\x200.2\x20*\x20amplitude\x20*\x20cos(0.18\x20*\x20time\x20+\x200.32\x20*\x20norm_fragCoord.x\x20*\x20frequency));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20norm_fragCoord.y\x20=\x20norm_fragCoord.y\x20*\x20(1.0\x20+\x200.7\x20*\x20amplitude\x20*\x20cos(0.22\x20*\x20time\x20+\x200.25\x20*\x20norm_fragCoord.y\x20*\x20frequency));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20norm_fragCoord.y\x20=\x20norm_fragCoord.y\x20*\x20(1.0\x20+\x200.4\x20*\x20amplitude\x20*\x20cos(0.35\x20*\x20time\x20+\x200.44\x20*\x20norm_fragCoord.y\x20*\x20frequency));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20norm_fragCoord.y\x20=\x20norm_fragCoord.y\x20*\x20(1.0\x20+\x200.3\x20*\x20amplitude\x20*\x20cos(0.18\x20*\x20time\x20+\x200.54\x20*\x20norm_fragCoord.y\x20*\x20frequency));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20norm_fragCoord;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20fog(vec2\x20norm_fragCoord,\x20vec3\x20color,\x20float\x20intensity,\x20float\x20speed,\x20float\x20time,\x20float\x20seed)\x20{\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20norm_fragCoord\x20=\x20brownian_motion2D(norm_fragCoord,\x20time);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20level1\x20=\x20noise2D(norm_fragCoord,\x208,\x203,\x202.0,\x201.5,\x203.0,\x20seed);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20level2\x20=\x20noise2D(norm_fragCoord,\x206,\x203,\x202.0,\x201.5,\x203.0,\x20seed\x20+\x200.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20level\x20=\x20pow(sin(speed\x20*\x20time),\x202.0)\x20*\x20level1\x20+\x20pow(cos(speed\x20*\x20time),\x202.0)\x20*\x20level2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20\x20color_temp=vec4(color\x20*\x20pow(level,\x201.0/3.0),\x20\x20pow(level*2.0,\x200.9));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20color_temp;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20image_color\x20=\x20vec3(1.0,\x201.0,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20norm_fragCoord\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color_res=\x20fog(norm_fragCoord,\x20image_color,\x201.0,\x200.2,\x20iTime,\x202.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=color_res.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color_res.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}','./src/DigitalCity/CustomTilesetShader.ts','destroyObject','DeveloperError','DistanceDisplayCondition','FeatureDetection','getAbsoluteUri','getMagic','getStringFromTypedArray','loadCRN','loadImageFromTypedArray','loadKTX','PixelFormat','Resource','WebGLConstants','DrawCommand','Pass','RenderState','ShaderProgram','ShaderSource','Texture','TextureMinificationFilter','TextureWrap','numberOfComponentsForType','updateVersion','Axis','BlendingState','DepthFunction','DracoLoader','getClipAndStyleCode','getClippingFunction','JobType','ModelAnimationCache','ModelAnimationCollection','ModelMaterial','ModelMesh','ModelNode','ModelOutlineLoader','OctahedralProjectedCubeMap','processModelMaterialsCommon','processPbrMaterials','ShadowMode','ModelState','EPSILON16','_cachedGltf','_gltf','ready','modelsToLoad','makeReady','gltf','EMPTY_OBJECT','cacheKey','_cacheKey','_releaseGltfJson','releaseGltfJson','basePath','createIfNeeded','credit','_credit','_resourceCredits','silhouetteColor','_silhouetteColor','_silhouetteColorPreviousAlpha','_normalAttributeName','silhouetteSize','_modelMatrix','_clampedModelMatrix','minimumPixelSize','maximumScale','_maximumScale','heightReference','_heightChanged','_removeUpdateHeightCallback','_scene','terrainProviderChanged','_terrainProviderChangedCallback','pickObject','_allowPicking','allowPicking','_ready','_readyPromise','clampAnimations','_incrementallyLoadTextures','_asynchronous','shadows','ENABLED','_shadows','HIGHLIGHT','colorBlendAmount','_colorShadingEnabled','_clippingPlanes','_clippingPlanesState','backFaceCulling','_debugShowBoundingVolume','debugWireframe','_debugWireframe','_distanceDisplayCondition','distanceDisplayCondition','_addBatchIdToGeneratedShaders','addBatchIdToGeneratedShaders','_precreatedAttributes','_vertexShaderLoaded','vertexShaderLoaded','_fragmentShaderLoaded','fragmentShaderLoaded','_uniformMapLoaded','uniformMapLoaded','_pickIdLoaded','pickIdLoaded','_ignoreCommands','ignoreCommands','_requestType','requestType','_gltfForwardAxis','forwardAxis','cull','opaquePass','_boundingSphere','_scaledBoundingSphere','NEEDS_LOAD','_loadResources','_perNodeShowDirty','_cesiumAnimationsDirty','_maxDirtyNumber','_uniformMaps','_extensionsRequired','_quantizedUniforms','_programPrimitives','_rendererResources','_cachedRendererResources','_loadRendererResourcesFromCache','dequantizeInShader','_decodedData','_geometryByteLength','_texturesByteLength','_trianglesLength','_quantizedVertexShaders','_nodeCommands','_rtcCenter','_rtcCenterEye','_sourceVersion','_imageBasedLightingFactor','imageBasedLightingFactor','_lightColor','_luminanceAtZenith','luminanceAtZenith','_sphericalHarmonicCoefficients','sphericalHarmonicCoefficients','_specularEnvironmentMaps','_shouldUpdateSpecularMapAtlas','_useDefaultSphericalHarmonics','stencilBuffer','colorBlendMode','LOADED','The\x20model\x20is\x20not\x20loaded.\x20\x20Use\x20(Model\x20as\x20any).readyPromise\x20or\x20wait\x20for\x20(Model\x20as\x20any).ready\x20to\x20be\x20true.','name\x20is\x20required.','_runtime','multiplyByScalar','multiplyComponents','maximumComponent','_initialRadius','pendingTextureLoads','_dirty','far\x20must\x20be\x20greater\x20than\x20near','_extensionsUsed','getUsedExtensions','_upAxis','_forwardAxis','_cachedGeometryByteLength','_cachedTexturesByteLength','setOwner','_pickIds','typeOf','lessThanOrEquals','imageBasedLightingFactor.x','greaterThanOrEquals','imageBasedLightingFactor.y','_shouldRegenerateShaders','sphericalHarmonicCoefficients\x20must\x20be\x20an\x20array\x20of\x209\x20Cartesian3\x20values.','headers','Accept','model/gltf-binary,model/gltf+json;q=0.8,application/json;q=0.2,*/*;q=0.01','fetchArrayBuffer','getFailedLoadFunction','model','_gltfCache','nodesByName','publicNode','getMesh','meshesByName','getMaterial','setArticulationStage','articulationsByStageKey','minimumValue','currentValue','isDirty','xRotate','fromRotationX','multiplyByMatrix3','fromRotationY','zRotate','fromRotationZ','xTranslate','multiplyByTranslation','zTranslate','multiplyByScale','yScale','zScale','uniformScale','multiplyByUniformScale','pendingBufferLoads','buffers','extras','texturesToCreate','bufferView','articulationsByName','stages','matrix','bufferViews','createdBufferViews','vertexArrayDestroyable','componentType','createIndexBuffer','STATIC_DRAW','materialsById','_program','extensionsUsed','WEB3D_quantized_attributes','modifyShaderForQuantizedAttributes','modifyShaderForDracoQuantizedAttributes','shader','programToCreate','programId','techniqueId','_sourcePrograms','sourceShaders','_dequantizeInShader','#define\x20USE_IBL_LIGHTING\x20\x0a\x0a','_sourceKHRTechniquesWebGL','replaceMain','isSupported','_specularEnvironmentMapAtlas','uniform\x20mat4\x20gltf_clippingPlanesMatrix;\x20\x0a','#define\x20DIFFUSE_IBL\x20\x0a#define\x20CUSTOM_SPHERICAL_HARMONICS\x20\x0auniform\x20vec3\x20gltf_sphericalHarmonicCoefficients[9];\x20\x0a','#define\x20DIFFUSE_IBL\x20\x0a','#define\x20SPECULAR_IBL\x20\x0a#define\x20CUSTOM_SPECULAR_IBL\x20\x0auniform\x20sampler2D\x20gltf_specularMap;\x20\x0auniform\x20vec2\x20gltf_specularMapSize;\x20\x0auniform\x20float\x20gltf_maxSpecularLOD;\x20\x0a','_useDefaultSpecularMaps','_modifyShaderForColor','gltf_clip_main','_getClippingFunction','uniform\x20sampler2D\x20gltf_clippingPlanes;\x20\x0auniform\x20mat4\x20gltf_clippingPlanesMatrix;\x20\x0auniform\x20vec4\x20gltf_clippingPlanesEdgeStyle;\x20\x0avoid\x20main()\x20\x0a{\x20\x0a\x20\x20\x20\x20gltf_clip_main();\x20\x0a','gltf_clippingPlanes','gltf_clippingPlanesMatrix','gltf_clippingPlanesEdgeStyle','}\x20\x0a','_resource','vertex','czm_gv_main','uniform\x20vec4\x20czm_pickColor;\x0a','non_gamma_corrected_main','\x0avoid\x20main()\x20{\x20\x0a\x20\x20\x20\x20non_gamma_corrected_main();\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20czm_gammaCorrect(gl_FragColor);\x20\x0a}\x20\x0a','#define\x20SPECULAR_IBL\x20\x0a','#define\x20USE_SUN_LUMINANCE\x20\x0auniform\x20float\x20gltf_luminanceAtZenith;\x0a','_sourceTechniques','programs','gltfTexture','textures','samplers','sampler','REPEAT','materials','KHR_techniques_webgl','wrapS','wrapT','minificationFilter','LINEAR','NEAREST','NEAREST_MIPMAP_NEAREST','NEAREST_MIPMAP_LINEAR','internalFormat','isCompressedFormat','LINEAR_MIPMAP_NEAREST','LINEAR_MIPMAP_LINEAR','image','isPowerOfTwo','nextPowerOfTwo','generateMipmap','clampTime','wrapTime','dirtyNumber','finishedBuffersCreation','createVertexArrays','accessors','mesh','_technique','vertexAttributes','_attributeLocations','semantic','.primitive.','componentsPerAttribute','componentDatatype','normalized','indices','createRenderStates','renderStates','FUNC_ADD','ONE_MINUS_SRC_ALPHA','KHR_blend','BLEND','alphaMode','fromCache','LESS_OR_EQUAL','computedMatrix','multiplyTransformation','setTranslation','inverse','inverseView','inverseProjection','_projection','getMatrix3','transpose','techniqueUniform','createUniformFunction','uniformState','JOINTMATRIX','MORPHWEIGHTS','ALPHACUTOFF','MASK','getGltfSemanticUniforms','createUniformsForDracoQuantizedAttributes','createUniformsForQuantizedAttributes','computedJointMatrices','weights','_clippingPlaneModelViewMatrix','edgeWidth','getColorBlend','texture','dimensions','maximumMipmapLevel','TRIANGLE_FAN','vertexArrays','meshes','POSITION','getAccessorMinMax','fromCornerPoints','numberOfIndices','getSizeInBytes','uniformMap','jointMatrixUniformName','morphWeightsUniformName','blending','_pickObject','castShadows','receiveShadows','createPickId','czm_pickColor','TRANSLUCENT','shallowClone','boundingVolume','checkSupportedGlExtensions','glExtensions','silhouettePrograms','sizeInBytes','vertexBuffersToCreate','indexBuffersToCreate','BUFFER','dequeue','jobScheduler','programsToCreate','pendingShaderLoads','PROGRAM','magFilter','texturesToCreateFromBufferView','id:\x20',',\x20bufferView:\x20','image/ktx','mimeType','otherwise','image/crn','pendingBufferViewToImage','asynchronous','TEXTURE','createSkins','skin','inverseBindMatrices','bindShapeMatrix','getSkinInverseBindMatrices','skins','joints','finishedPendingBufferLoads','createRuntimeAnimations','animations','animation','channels','getAnimationParameterValues','getAnimationSpline','finishedProgramCreation','_values','a_outlineCoordinates','u_outlineTexture','finishedEverythingButTextureCreation','createRuntimeNodes','gltfNode','fromColumnMajorArray','translation','rotation','unpack','rootNodes','useMatrix','fromTranslationQuaternionRotationScale','setMatrix','pass','renderState','depthTest','depthMask','ALPHA_BLEND','scene3DOnly','translucentCommand','translucentCommand2D','disableCullingCommand','gltf_silhouette_main','uniform\x20float\x20gltf_silhouetteSize;\x20\x0avoid\x20main()\x20\x0a{\x20\x0a\x20\x20\x20\x20gltf_silhouette_main();\x20\x0a\x20\x20\x20\x20vec3\x20n\x20=\x20normalize(czm_normal3D\x20*\x20',');\x20\x0a\x20\x20\x20\x20n.x\x20*=\x20czm_projection[0][0];\x20\x0a\x20\x20\x20\x20n.y\x20*=\x20czm_projection[1][1];\x20\x0a\x20\x20\x20\x20vec4\x20clip\x20=\x20gl_Position;\x20\x0a\x20\x20\x20\x20clip.xy\x20+=\x20n.xy\x20*\x20clip.w\x20*\x20gltf_silhouetteSize\x20*\x20czm_pixelRatio\x20/\x20czm_viewport.z;\x20\x0a\x20\x20\x20\x20gl_Position\x20=\x20clip;\x20\x0a}','uniform\x20vec4\x20gltf_silhouetteColor;\x20\x0avoid\x20main()\x20\x0a{\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20czm_gammaCorrect(gltf_silhouetteColor);\x20\x0a}','ALWAYS','REPLACE','colorMask','silhouetteModelCommand','stencilTest','NOTEQUAL','shaderProgram','command2D','silhouetteColorCommand2D','_colorPreviousAlpha','drawingBufferHeight','mapProjection','boundingSphere','getPixelSize','drawingBufferWidth','RELATIVE_TO_GROUND','release','modelRendererResourceCache','MORPHING','supportsWebP','initialized','_defaultTexture','LOADING','CESIUM_RTC','_rtcCenter3D','_rtcCenter2D','checkSupportedExtensions','extensionsRequired','sourceVersion','getAssetVersion','sourceKHRTechniquesWebGL','_pipeline','stagesByKey','AGI_articulations','articulations','initialValue','technique','ARRAY_BUFFER','accessor','ELEMENT_ARRAY_BUFFER','uri','fetchText','shaders','enqueue','images','EXT_texture_webp','compressedImage3DTiles','pvrtc1','etc1','s3tc','getDerivedResource','fetchImage','materialValue','materialsByName','meshPrimitive','jointName','getTransform','articulationName','skinnedNodes','finishedDecoding','decodeModel','resourcesParsed','cacheDataForModel','outlinePrimitives','getAttributeOrUniformBySemantic','NORMAL','readyPromise','Error\x20loading\x20specularEnvironmentMaps:\x20','specularEnvironmentMaps','getTranslation','positionWC','_heightReference','updateHeight','Height\x20reference\x20is\x20not\x20supported\x20without\x20a\x20scene\x20and\x20globe.','_minimumPixelSize','_computedModelMatrix','Y_UP_TO_Z_UP','X_UP_TO_Z_UP','Z_UP_TO_X_UP','UNIT_W','wgs84To2DModelMatrix','basisTo2D','transformToRoot','commands','maximumRadius','inverseTransformation','computedShow','debugShowBoundingVolume','clippingPlanesOriginMatrix','view3D','clippingPlanesState','afterRender','commandList','silhouetteModelCommand2D','disableCullingCommand2D','silhouetteColorCommand','SCENE2D','creditDisplay','addCredit','destroyCachedDataForModel','gltf_blend_main','uniform\x20vec4\x20gltf_color;\x20\x0auniform\x20float\x20gltf_colorBlend;\x20\x0avoid\x20main()\x20\x0a{\x20\x0a\x20\x20\x20\x20gltf_blend_main();\x20\x0a\x20\x20\x20\x20gl_FragColor.rgb\x20=\x20mix(gl_FragColor.rgb,\x20gltf_color.rgb,\x20gltf_colorBlend);\x20\x0a\x20\x20\x20\x20float\x20highlight\x20=\x20ceil(gltf_colorBlend);\x20\x0a\x20\x20\x20\x20gl_FragColor.rgb\x20*=\x20mix(gltf_color.rgb,\x20vec3(1.0),\x20highlight);\x20\x0a\x20\x20\x20\x20gl_FragColor.a\x20*=\x20gltf_color.a;\x20\x0a}\x20\x0a','ODLine','createLineGeometry','PolylineGeometry','resources/localscene/lightFlow_strip07.png','getPolylineMs','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texture2D(image,vec2(1.0\x20-\x20fract(time\x20-\x20st.s),\x20st.t));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=color.a;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20','ParticleCylinderGeometry','ParticleOrbitingConeOpt','./src/DigitalCity/ParticleCylinderGeometry.ts','#FFFF00','circles','addCircles','createCone','addParticleEffect','CircleGeometry','createCirclesImage','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20textColor\x20=\x20texture2D(image,\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20textColor.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','512px','createRadialGradient','addColorStop','rgba(255,\x20255,\x20255,\x200.6','clearRect','beginPath','fillStyle','particleOpt','createConeImage','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20textColor\x20=\x20texture2D(image,\x20vec2(1.0)\x20-\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20textColor.a\x20*\x20alphaTemp;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb\x20*\x20vec3(2.0,\x202.0,\x202.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','1px','256px','createLinearGradient','rgba(256,\x20256,\x20256,\x200.0)','rgba(256,\x20256,\x20256,\x200.6)','image/png','particleAppearance','getParticleSource','./src/DigitalCity/CylinderGeometry.ts','_angle','_speed','createMatrix','_topRadius','_slice','listenerFun','_bottomRadius','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20tempColor\x20=\x20color;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(st.t\x20>\x200.47\x20&&\x20st.t\x20<\x200.53){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tempColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tempColor\x20=\x20color\x20*\x20vec4(2.3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20tempColor.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20tempColor.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','RotatingPentahedron','boxLength','listenerFunc','createAttributes','SpreadCylinder','SpreadCylinderOpt','dataItem','updateAttribute','getCylinderMS','rgba(256,256,256,0.0)','rgba(256,256,256,1.0)','fillRect','alphaTemp','fromScale','#ffffff','TruncatedCone','TruncatedConeOpt','createPartOne','createPartThree','partTowAppearance','circleCenter','circleRadius','createPartOneImage','rgba(255,\x20255,\x20255,\x200.0)','rgba(255,\x20255,\x20255,\x200.0','createPartTwo','createPartTwoImage','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mat2\x20rot\x20=\x20mat2(cos(angle),\x20-sin(angle),\x20-sin(angle),\x20-cos(angle));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st\x20=\x20st\x20-\x20vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st\x20=\x20rot\x20*\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st\x20=\x20st\x20+\x20vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20textColor\x20=\x20texture2D(image,\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20textColor.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','dottedCircleRadius','strokeStyle','rgb(255,\x20255,\x20255)','setLineDash','stroke','outerTopRadius','outerBottomRadius','outerHeight','innerBottomRadius','innerHeight','getPartThreeSource','createPartThreeImage','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20textColor\x20=\x20texture2D(image,\x20vec2(1.0)\x20-\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20textColor.a\x20*\x20alphaTemp;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb\x20*\x20vec3(2.0,\x202.0,\x202.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','innerTopRadius','BaseCreator','_controlPointSet','controlPointSet','getHandler','setCtrPoint','setPosition','addCtrPoint','clearCtrPint','createFinish','isEditing','_father','createItem','setCursor','CircularCreator','./src/LayerManager/GraphicLayer/GraphicItem/GraphicItem.ts','isClamp','toPrecision','getPrecision','./src/Editor/Creator/PointCreator.ts','./src/Editor/Creator/PolylineCreator.ts','./src/Editor/EditorUtil/ControlPointSet.ts','./src/Editor/Creator/EllipseCreator.ts','./src/Editor/Creator/RectangleCreator.ts','./src/Editor/Creator/RectangleLineCreator.ts','./src/Editor/Creator/LabelRectCreator.ts','./src/Editor/Creator/CylinderDynamicCreator.ts','./src/Editor/Creator/ScreenTextCreator.ts','ControlPointSet','_creatorList','PointCreator','pointCreator','PolylineCreator','EllipseCreator','ellipseCreator','circularCreator','rectangleCreator','RectangleLineCreator','rectangleLineCreator','LabelBillboardCreator','LabelRectCreator','CylinderDynamicCreator','ScreenTextCreator','screenTextCreator','_getCreatorByType','JBPointGraphic','BillboardGraphic','EllipsoidGraphic','ModelGraphic','WeatherGraphic','PopoverGraphic','RadarGraphic','FlagGraphic','CustomLabelGraphic','CylinderGraphic','BlastGraphic','JBLineGraphic','PipelineGraphic','PipelineStripGraphic','VolumePolylineGraphic','ParabolaLineGraphic','FlowWallGraphic','CylinderDynamicGraphic','lineCreator','EllipseGraphic','CircularGraphic','SpreadGraphic','ScanGraphic','DashBoardGraphic','SpreadCircleRampGraphic','CircleIconGraphic','WarnIconGraphic','WaveIconGraphic','RectangleLineGraphic','LabelBillboardGraphic','LabelRectGraphic','labelRectCreator','ScreenTextGraphic','viewerHtmlElement','_currentCreator','_graphicLayer','stopCreate','./src/Editor/Creator/BaseCreator.ts','bottomPosition','topPosition','semiMinorAxis','semiMajorAxis','getMaxCtrlPosNum','getMinCtrlPosNum','LEFT_DOUBLE_CLICK','RectangleCreator','./src/Editor/Editor/ScreenEditor.ts','_screenEditor','ScreenEditor','setEditorOwnerElement','setOwnerElement','setEditItem','_editItem','controlPointList','getPositions','getActiveIndex','pickIgnoreByCoordinate','CtrlPoint','setCtrlActive','screenSpaceCameraController','enableRotate','extendInfo','positionCartographic','_getLengthByMouse','cancelActive','updateCtrPositions','updatePosition','CircularEditor','getRadiusCtrlPoint','_geoPoints','enableTranslate','editorMouseLeftUp','CtrlHeight','updateCtrlPts','setRemoveEditVisible','BaseEditor','EditorManager','./src/Editor/Editor/WholeEditor.ts','./src/Editor/Editor/RectangleEditor.ts','./src/Editor/Editor/CircularEditor.ts','./src/Editor/Editor/FlagEditor.ts','./src/Editor/Editor/LabelBillboardEditor.ts','./src/Editor/Editor/LabelRectEditor.ts','./src/Editor/Editor/ObliqueEditor.ts','./src/Editor/Editor/PolygonEditor.ts','./src/Editor/Editor/ScreenTextEditor.ts','./src/LayerManager/GraphicLayer/GraphicItem/ScreenTextGraphic.ts','_wholeEditor','WholeEditor','isCreating','_isCreating','isEditting','_isEditting','_openScreenTextsEdit','pickByCoordinate','_closeScreenTextEdit','getEditorByType','getEditor','SensorGraphic','PipeTurnTwoGraphic','PipeTurnThreeGraphic','PointEditor','BezierLineGraphic','LineEditor','PolygonEditor','RectangleGraphic','RectangleEditor','DynamicRippleGraphic','SphereGraphic','SpreadCircleLineGraphic','LabelBillboardEditor','ObliqueGraphic','ObliqueEditor','ScreenTextEditor','_openScreenTextEdit','_currentEditor','_itemChangeListenerFun','_editorMouseLeftUpFun','_editorOwnerElement','updateCtrlPtsCallback','editItemChange','setItemRealTimeChangeListener','editItemRealTimeChange','setEditorClickListener','_editorClickListenerFun','removeEditorClickListener','editorClick','setEditorMouseLeftUpListener','removeEditorMouseLeftUpListener','getEditItem','getRenderRoot','ScreenTextItem','closeEdit','renderObj','onTextChange','onMouseDown','onMouseChangePos','onMouseChangeSize','openEdit','EllipseEditor','./src/Editor/Editor/BaseEditor.ts','setHeightEditVisible','FlagEditor','initScreenEditor','Move.png','水平移动','inflectionOffset','Height.png','拉高旗杆','flagpoleHeight','Scale.png','getCanvasInfo','canvasWidth','canvasHeight','centerCallback','toScreen','arrow-left.png','水平左开口点','topbottomOpenningLeft','垂直移动','topbottomOpenningRight','tuodong.png','getCenterPosition','updateCanvas','moveX','startMove','moveY','arrow-up.png','arrow-down.png','leftrightOpenningBottom','setOperators','LabelRectEditor','./src/Utils/Picking.ts','./src/LayerManager/GraphicLayer/GraphicItem/JBLineGraphic.ts','_picker','Picking','angleBetween','RADIANS_PER_DEGREE','CtrlRemove','setLabelVisible','getLabelVisible','getInsertIndex','getValidPtNum','_isOpen','_divContainer','getOwnerElement','_operators','getCenterCallback','ctrlPtsUpdateCallback','_createOperators','_clear','preRender','_operatorContainer','mouseup','zIndex','999','ondragstart','CanOperator','img','resources/image/','backgroundColor','onmousedown','offsetParent','layerX','layerY','htmlElement','moveDivContainer','setSelectState','getRenderObject','movePosition','moveHeight','整体缩放','moveScale','pixelSize','RotateX.png','改变俯仰角','rotateByPitch','改变滚动角','rotateByHeading','rotateByRoll','_screenPixel','_showText','_isFormat','setIndex','setLabelFormat','getPosition','ControlPoint','./src/LayerManager/GraphicLayer/GraphicItem/BillboardGraphic.ts','_decimal','_graphics','highlightColor','normalColor','rgba(37,146,252,0.59)','removeColor','rgba(255,0,0,0.8)','buildPositionText','CtrlText','_text','_labelText','14px\x20monospace','rgba(255,255,255,1.0)','rgba(0,\x200,\x200,\x200.6)','resources/image/arrow.png','buildPositionText_DegreeMinutesSecond','BaseControlPoint','./src/LayerManager/GraphicLayer/GraphicItem/GraphicGroup.ts','./src/Editor/EditorUtil/ControlPoint.ts','_pointList','GraphicGroup','_pointConstructor','_validPtNum','_labelVisible','setPointConstructor','getList','_labelFormat','setVisible','./src/Core/Register.ts','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/CesiumGeometry.js','./src/LayerManager/ImageLayer/UrlTemplateTimeLayer.js','./src/Core/Layer.ts','./src/Viewer/GeoCanvas.ts','./src/Utils/Check.ts','./src/Utils/ViewPoint.ts','./src/LayerManager/LayerManager.ts','./src/SceneOptions/SceneOptions.ts','./src/LayerManager/GraphicLayer/GraphicLayer.ts','./src/LayerManager/SatelliteLayer/SatelliteLayer.ts','./src/LayerManager/ImageLayer/ImageLayer.ts','./src/LayerManager/TargetLayer/TargetLayer.ts','./src/LayerManager/TargetLayer/TargetItem.ts','./src/LayerManager/TargetLayer/TargetHistory.ts','./src/LayerManager/TerrainLayer/TerrainLayerCollection.ts','./src/LayerManager/TerrainLayer/TerrainItem.ts','./src/LayerManager/TerrainLayer/BilTerrainProvider.js','./src/LayerManager/TerrainLayer/TMSTerrainProvider.ts','./src/LayerManager/TileLayer/createMapBoxStyle.js','./src/LayerManager/TargetLayer/TargetStyle.ts','./src/LayerManager/TileLayer/TileLayer.ts','./src/LayerManager/MassiveLayer/SpaceDebris.ts','./src/LayerManager/MassiveLayer/windy/Windy.ts','./src/Utils/Canvas2Image.ts','./src/LayerManager/MassiveLayer/HeatMap/HeatMap.ts','./src/LayerManager/MassiveLayer/MassivePoints.ts','./src/LayerManager/MassiveLayer/MassivePolygons.ts','./src/LayerManager/TileLayer/PlaceNameTile.ts','./src/LayerManager/TileLayer/JQPlaceNameTile.ts','./src/LayerManager/TileLayer/PolygonTile.ts','./src/LayerManager/TileLayer/ObliqueTile.ts','./src/LayerManager/TileLayer/IconTile.ts','./src/LayerManager/TileLayer/VectorTileItem.ts','./src/LayerManager/SatelliteLayer/Satellite.ts','./src/LayerManager/SatelliteLayer/SatelliteComponents.ts','./src/LayerManager/GraphicLayer/GraphicItem/CylinderDynamicGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/SectorGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/WeatherGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/PolylineGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/ParabolaLineGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/BezierLineGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/BubbleGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/ModelGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/ScanGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/SensorGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/SpreadGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/EllipseGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/RectangleGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/EllipsoidGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/SphereGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/WallGraphic.ts','./src/LayerManager/GraphicLayer/PipelineManager.ts','./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineTurnGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipeTurnThreeGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/CylinderGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/RadarGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/DynamicRippleGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/WaterFaceGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/AttractPointGraphic.ts','./src/PluginManager/PluginManager.ts','./src/PluginManager/PluginsFactory.ts','./src/PluginManager/PluginView.ts','./src/PluginManager/Tool.ts','./src/PluginManager/Widget.ts','./src/LayerManager/GraphicLayer/GraphicItem/PopoverGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/JBPointGraphic.ts','./src/Utils/Path.ts','./src/LayerManager/GraphicLayer/GraphicItem/CircularGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/TriangleMeshGraphic.ts','./src/iCenter/iCenter.ts','./src/Viewer/Camera.ts','./src/Analysis/HideAnalysis.ts','./src/Analysis/PolygonVisiableAnalysis.ts','./src/LayerManager/TileLayer/JPlaceName/PlaceNameService.ts','./src/LayerManager/GraphicLayer/GraphicItem/FlagGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/LabelBillboardGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/LabelRectGraphic.ts','./src/DePlugin/PluginManager.ts','./src/DePlugin/PluginViewManager.ts','./src/GVDocument/GVDocument.ts','./src/LayerManager/ImageLayer/BaiduImageryProvider.ts','./src/LayerManager/GraphicLayer/GraphicItem/DashBoardGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/BindedCylinderGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/GradientSectorGraphic.ts','./src/Utils/CompoundImage.ts','./src/LayerManager/SatelliteLayer/GeoVector3.ts','./src/SceneOptions/MapSheet.ts','./src/SceneOptions/MapBox.ts','./src/SceneOptions/StaticMapBox.ts','./src/SceneOptions/PathPlanning.ts','./src/Analysis/ViewShedPrimitive.ts','./src/LayerManager/ImageLayer/ArcGisImagery.ts','./src/LayerManager/ImageLayer/BingImagery.ts','./src/LayerManager/ImageLayer/WMSImagery.ts','./src/LayerManager/VectorLayer/KMLLayer.ts','./src/LayerManager/VectorLayer/GeoJsonLayer.ts','./src/DigitalCity/BuildingMesh.ts','./src/DigitalCity/ODLine.ts','./src/DigitalCity/SpreadCylinder.ts','./src/DigitalCity/DefenseEllipsoid.ts','./src/DigitalCity/FlowLine.ts','./src/DigitalCity/FlowTube.ts','./src/DigitalCity/DiffusionCircles.ts','./src/DigitalCity/ParticleOrbitingCone.ts','./src/LayerManager/GraphicLayer/GraphicItem/Icon/WarnIconGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/Icon/CircleIconGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/Icon/BaseIconGraphic.ts','./src/Utils/Theme.ts','./src/Utils/PathManager.ts','./src/LayerManager/ActionLayer/ActionLayer.ts','./src/LayerManager/ActionLayer/ActionItem/CameraAction.ts','./src/LayerManager/ActionLayer/ActionItem/VisibleAction.ts','./src/LayerManager/ActionLayer/ActionItem/FadeOutAction.ts','./src/LayerManager/ActionLayer/ActionItem/ScaleAction.ts','./src/LayerManager/GraphicLayer/GraphicItem/TruncatedConeGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/TruncatedConeParticleGraphic.ts','./src/LayerManager/GraphicLayer/GraphicItem/FlowWallGraphic.ts','./src/LayerManager/TileLayer/GeoSotLayer.ts','./src/Analysis/NuclearProtectionAnalysis.ts','./src/Utils/ColorTable.ts','./src/Utils/FirstPersonControl.ts','./src/DigitalCity/FogPlane.ts','./src/LayerManager/TileLayer/BDGridTile/BDTileLayer.ts','Model','GeoCanvas','ViewPoint','WeatherEnmu','LevelCodeEnum','GraphicLayer','SatelliteLayer','ImageLayer','TargetItem','TargetHistory','TileLayer','SpaceDebrisOpt','Cluster','ClusterOpt','Canvas2Image','HeatMap','HeatMapOpt','MapV','MapVOpt','MassiveLines','MassiveLinesOpt','MassivePoints','PointOption','MassivePolygons','MassivePolygonOpt','PlaceNameTile','PlaceNameTileOpt','JQPlaceNameTile','PolygonTileOpt','PolygonTile','IconTile','ObliqueTile','LineTile','LineTileOpt','VectorTileItemOpt','SatelliteOpt','StatelliteEnum','SatelliteOrbitType','SatelliteComponents','CylinderDynamicGraphicOpt','WeatherGraphicOpt','WaterGraphic','WaterGraphicOpt','ArrowStyle','OutlineStyle','DashStyle','GlowStyle','TextureStyle','DynamicIconEnum','TextureIconEnum','PolylineStyleEnum','BezierLineGraphicOpt','ParabolaLineGraphicOpt','ArcTypeEnum','BubbleGraphic','BubbleTypeEnum','BillboardGraphicOpt','ScanGraphicOpt','SensorGraphicOpt','SpreadGraphicOpt','EllipseGraphicOpt','RectangleGraphicOpt','WallGraphic','WallGraphicOpt','PipelineManager','PipelineGraphicOpt','PipelineTurnGraphicOpt','VolumePolylineGraphicOpt','CylinderGraphicOpt','DynamicRippleGraphicOpt','FlagGraphicOpt','PluginView','Tool','PopoverGraphicOpt','JBRenderModeEnum','CircularGraphicOpt','Path','TriangleMeshGraphicOpt','TriangleMeshGraphic','TerrainItem','iCenter','CustomLabelGraphicOpt','PlaceNameService','LabelBillboardGraphicOpt','BackLineMode','DePluginViewManager','GVDocument','DashGraphicOpt','BindedCylinderGraphic','BindedCylinderOpt','GradientSectorGraphic','GradientSectorGraphicOpt','CompoundImage','HDVImageOption','MapSheet','MapBox','MapBoxOpt','PathPlanning','ObliqueGraphicOpt','BingImagery','BingImageryOpt','OSMImagery','OSMImageryOpt','UrlTemplateImagery','UrlTemplateImageryOpt','WMSImageryOpt','WMTSImagery','WMTSImageryOpt','KMLLayer','GeoJsonLayer','GeoJsonLayerOpt','Cesium3DTileLayer','Cesium3DTileLayerOpt','SkyboxTheme','ActionLayer','PathAction','CameraAction','VisibleAction','FadeOutAction','ScaleAction','IconGraphicOpt','WaterFaceGraphic','TruncatedConeGraphic','TruncatedConeGraphicOpt','TruncatedConeParticleGraphic','TruncatedConeParticleGraphicOpt','SpreadCircleGraphicOpt','SpreadCircleLineGraphicOpt','SpreadCircleLineEnum','SpreadCircleClampGraphic','SpreadCircleRampGraphicOpt','SpreadCircleRingGraphic','FlowWallGraphicOpt','GeoSotLayer','BlastGraphicOpt','FireGraphic','FireGraphicOpt','FireGraphicEnum','ScreenTextGraphicOpt','BDTileLayer','StatusCheck','checkFalse','欢迎使用\x20中科星图\x20GEOVIS\x20web\x20api','./src/Viewer/JBConfig.ts','./src/GEOVIS.ts','./src/RenderExport.ts','JBConfig','该版本不支持JB','computeViewRectangle','north','pack','viewPoint','./src/GVDocument/SceneData.ts','./src/GVDocument/CameraOption.ts','_LayerManager','layerManager','_cameraOption','CameraOption','SceneData','getDefaultScene','imageLayer','vectorLayer','modelLayer','cameraOption','V1.0','createGuid','GeoVis\x20iExplorer\x20SDK','PathGroupName','getAvailableAction','ActionPathLayer','视角切换','路径漫游','ActionGroup','./src/Core/Item.ts','rTimeBound','calcRTimeBound','_itemCollection','_baseTime','startTime','updateStartTimeByRST','rStartTime','updateEndTimeByRET','rEndTime','delActionInGroup','actionGroup','delAction','removePathGraphic','delActionById','getActionById','_startTime','moveUp','moveDown','calcTimeBound','endTime','_endTime','reCalcStartTimeByRST','reCalcEndTimeByRET','addSeconds','pauseEvent','continueAfterPause','continueEvent','stopEvent','recoverInitState','timelineFun','graphic','graphicId','_getGraphicById','getPathLayer','addAction','getPathGraphicGroup','checkGraphicStorageChange','beforeStartInit','stopTime','initPositions','_toStringByDate','_getGraphicIndex','_getGraphicByIndex','NotStart','notstart','Pause','ReStart','_isFirstDone','_initState','_actionGroup','_rStartTime','_rEndTime','isFirstDone','recordInitState','./src/LayerManager/ActionLayer/ActionItem/ActionItem.ts','_cameraOpt','cameraOpt','actionOpt','flyTo','FadeOutActionOpt','_timer','_graphic','_startTrans','_endTrans','endTrans','_totalTime','startTrans','_initColor','_isMaterial','_isChangeColorByMaterial','toCssColorString','_trans','secondsDifference','_createInterval','_parseColor','outlineColor','lineColor','textColor','fontColor','outerColor','innerColor','scanColor','SectorGraphic','evenConeColor','oddConeColor','_clearInterval','_intervalFun','_materialGraphicTypes','initColor','FlickerAction','_frequency','frequency','PathActionOpt','./src/LayerManager/ActionLayer/ActionConfig.ts','_MultiNodesGraphicTypes','_needIntervalSingleNodeTypes','dynamicRippleGraphicOpt','_relativePosParam','relativePosParam','_moveCallback','pathActionOpt','moveCallback','pathGraphic','路径的节点数不能少于2个点','SampledPositionProperty','_posProperty','_specialGraphicOpt','_doMoveAction','topBind','bottomBind','_isMultiNodesGraphic','_isNeedIntervalSingleNodeGraphic','fromAxisAngle','matrixToHdr','calculateMatrix','_multiPosGraphicTrans','_isMultiNodes','_isNeedIntervalSingleNode','_getPathPos','allPositions','_progress','_factor','factor','_isNeedIntervalType','_isNeedInterval','_changePixelSize','_needIntervalTypes','_getInitPixelSize','rasterWidth','目前暂不支持修改该标绘像素大小','_initSize','initSize','ActionStateEnum','./src/LayerManager/ActionLayer/ActionGroup.ts','_groupCollection','_multiplier','_isLoop','_currentGroupIndex','_groupTimeLengths','setBaseTime','createGroup','isLoop','groupCollection','speed','_clock','multiplier','getGroupById','getGroupByActionId','delActionGroup','addActionGroup','fromDate','getBaseTime','reBindGraphicById','_calcRTimeBound','actionsNum','reSet','Clock','_beforeStartInit','_listenerFun','shouldAnimate','Stop','reStart','_startCallBack','currentTime','tick','pauseInExecute','_pauseCallBack','ClockRange','CLAMPED','ClockStep','SYSTEM_CLOCK_MULTIPLIER','_tickListener','stopInExecute','_stopCallBack','_initCamera','onPause','_runningCB','groupChangedCB','_groupChangedCB','onStop','baseTime','graphics','fromJson','actionGroups','_getGroupTimeLengths','actionCollection','_clockStopFun','_getNextGroupIndex','_removeTickListener','restart','CloundLayer','_brightnessShift','_cloundCount','_maxCloundCount','_rectangle','_cloundColor','_types','resources/clounds/1.png','resources/clounds/cumuloniumbus.png','assets/clounds/flat1.glb','skyAtmosphere','skyBoxshow_','_option','_createClound','_initAtmosphere','option.rectangle\x20is\x20required','option\x20is\x20required','brightnessShift','_billboardCollection','_modelCollection','aboveCeiling','belowCeiling','_baseHeight','maxScale','minScale','maxRadius','billboardOpacity','billboard','skyBox','_billboards','_resetAtmosphere','density','destory','AttractPointGraphic','AttractPointGraphicOpt','./src/LayerManager/GraphicLayer/GraphicRender/AttractPointRender.ts','./src/LayerManager/GraphicLayer/GraphicItem/GraphicPositionItem.ts','_opt','father','AttractPointRender','GraphicPositionItem','GraphicPositionItemOpt','./src/LayerManager/GraphicLayer/GraphicRender/CesiumPolyline.ts','_getRenderObj','超出线宽取值范围无效!','超出取值范围无效!','dirty','lineStyle','getBezier','GraphicItemOpt','./src/LayerManager/GraphicLayer/GraphicRender/CesiumBillboard.ts','CesiumBillboard','eyeOffset','pixelOffset','scaleByDistance','sizeInMeters','disableDepthTestDistance','nextPosition','./src/LayerManager/GraphicLayer/GraphicRender/BlastRender.ts','BlastRender','startColor','endColor','rgba(255,0,0,.7)','rgba(255,255,0,.3)','./src/LayerManager/GraphicLayer/GraphicRender/Bubble.ts','bubbleType','panelOffset','bindObject','panelDom','_panelNode','lineDom','_lineNode','panelDrag','Bubble','FixedBubble','fixedBubble','FollowBubble','followBubble','./src/LayerManager/GraphicLayer/GraphicRender/CircularRender.ts','CircularRender','startAngle','endAngle','rgba(255,\x20255,\x200,\x200.5)','./src/LayerManager/GraphicLayer/GraphicRender/CustomLabelRender.ts','./src/Editor/Editor/PointEditor.ts','CustomLabelRender','./src/LayerManager/GraphicLayer/GraphicRender/CylinderSensor.ts','_bindTop','_bindBottom','_renderCylinder','bindToJson','rgba(255,255,0,0.5)','rgba(255,255,255,1)','./src/LayerManager/GraphicLayer/GraphicRender/CesiumCylinder.ts','CesiumCylinder','outline','outlineWidth','numberOfVerticalLines','slices','rgba(255,\x20255,\x200.0,\x201.0)','rgba(255,\x200.0,\x200.0,\x201.0)','DashBoardEffect','dashColor','半径值不能小于0','rgba(255.0,\x200.0,\x200.0,\x201)','./src/LayerManager/GraphicLayer/GraphicRender/DynamicRippleEffect.ts','DynamicRippleEffect','rgba(255,\x200,0,\x200.9)','ellipseGraphic\x20对象的position属性不能为空','CesiumEllipse','extrudedHeightReference','stRotation','granularity','degrees_per_radian','EllipsoidGraphicOpt','./src/LayerManager/GraphicLayer/GraphicRender/CesiumEllipsoid.ts','CesiumEllipsoid','subdivisions','stackPartitions','slicePartitions','./src/LayerManager/GraphicLayer/GraphicRender/FireRender.ts','FireRender','renderType','FIRE','SMOKE','smoke','Flag','lineWidth','textSize','#000','#f00','DirEnum','./src/LayerManager/GraphicLayer/GraphicRender/FlowWallRender.ts','FlowWallRender','flowDir','maximumHeights','minimumHeights','resources/localscene/1.png','horizontal','vertical','./src/LayerManager/GraphicLayer/GraphicRender/GradientSector.ts','GradientSector','updateVisible','_renderVisible','renderVisible','closeCluster','openCluster','_range','removeById','_extendInfo','getById','getByName','解析绑定时丢失对象,ID为:','binds','graphicClusterGroup','_svgMap','initClusterCompute','changed','_clusterComputeFun','iCamera','_clusterComputeMoveEndFun','moveEnd','hasJoinCluster','terminate','responseType','blob','response','createObjectURL','resources/workers/cluster.worker.js','resources/image/cluster.svg','clusterWorker','_blockCompute','isClusteringItem','pointIsVisible','res','fromPoints','textLength','setClusterSvg','blue','_svg','green','svg\x20path','getAttribute','data:image/svg+xml;base64,','_event','offUpdateAttribute','clamp_to_ground','_isEditing','unpackArray','BaseLineStyle','LineStyle','RelativeToGround','./src/LayerManager/GraphicLayer/GraphicRender/Icon/CircleIconRender.ts','./src/LayerManager/GraphicLayer/GraphicRender/Icon/WarnIconRender.ts','CircleIconRender','WarnIconRender','WaveIconRender','numberOfLines','_centerColor','centerColor','gradient','BaseIconGraphic','_gradient','JBLineGraphicOpt','JBLineRender','该版本不支持军标','supplementFlag','renderMode','fillFlag','fillStartColor','fillEndColor','fillAngle','supplementColor','isUnique','RASTER','rgba(0,255,0,1.0)','rgba(255,255,0,1.0)','./src/LayerManager/GraphicLayer/GraphicRender/JBPointRender.ts','JBPointRender','strokeColor','strokeWidth','imageOffset','textOffset','textFont','textBackgroundColor','textScale','vectorExtrudedHeight','flagText','flagTextSize','flagTextSpace','flagTextFont','flagTextColor','flagTextBgColor','trailLineShow','trailLineColor','trailLineWidth','enableTrailDrag','flagInnerStrokeWidth','flagInnerStrokeColor','#f66','BILLBOARD','transparent','VECTOR','./src/LayerManager/GraphicLayer/GraphicRender/CesiumLabelBillboard.ts','CesiumLabelBillboard','fontSize','lineHeight','leftrightOpenningTop','#FFF000','#000000','./src/LayerManager/GraphicLayer/GraphicRender/CesiumLabel.ts','CesiumLabel','pixelOffsetScaleByDistance','showBackground','translucencyByDistance','isDepthTest','30px\x20sans-serif','LabelRectGraphicOpt','./src/LayerManager/GraphicLayer/GraphicRender/CesiumLabelRect.ts','CesiumLabelRect','微软雅黑','./src/LayerManager/GraphicLayer/GraphicRender/CesiumModel.ts','CesiumModel','runAnimations','relative_to_ground','./src/LayerManager/GraphicLayer/GraphicRender/CesiumOblique.ts','CesiumOblique','interpolation','CesiumPolyline','曲率范围应在\x200~10000000\x20之间','getInterpolationCallback','getParabola','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipeMath.ts','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipeTurnThreeRender.ts','./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineBaseGraphic.ts','updateRenderPara','PipeType','PipeTurnThreeRender','directions','PipeMath','getRoundParas','getCornerCenterLine','preTangency','centerPts','centerTypes','_turnArray','getTurnArray','PipelineTurnGraphic','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipeTurnTwoRender.ts','PipeTurnTwoRender','nxtTangency','_centerPts','PipelineBaseGraphic','PipelineBaseGraphicOpt','getPipelineManager','updateRender','bounding','showOutline','updateBounding','PipeBase','SectionShape','shape','_renderPara','getRenderPara','Circle','Rect','rect','roundRect','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipelineStripRender.ts','PipelineStripRender','_headTopoNode','tailTopoNode','_tailTopoNode','geo','getRenderParas','getCenterLine','PointGraphicOpt','./src/LayerManager/GraphicLayer/GraphicRender/CesiumPoint.ts','PolygonGraphicOpt','./src/LayerManager/GraphicLayer/GraphicRender/CesiumPolygon.ts','CesiumPolygon','perPositionHeight','closeTop','closeBottom','videoElement','bindClock','PolylineGraphicOpt','arcType','的PolylineGraphic对象贴地属性设置无效,当ArcType属性的参数为非ArcTypeEnum.None时才可设置','_interpolationCallback','Geodesic','GEODESIC','ArcType','Rhumb','RHUMB','./src/LayerManager/GraphicLayer/GraphicRender/CesiumPopover.ts','CesiumPopover','updatePopoverCanvas','shapeType','lineType','enableFill','labelFont','textLeftMargin','textRightMargin','textTopMargin','textBottomMargin','textAlign','labelFontColor','labelFontSize','pebblesrect','#DC143C','black','20px','5px','RadarNodeRender','outerAlpha','scanAngle','设置无效,水平起始角必须小于','设置无效,水平终止角必须大于','vStartAngle','vEndAngle','设置无效,垂直起始角必须小于垂直终止角(','度)!','设置无效,半径必须大于0!','设置无效,扫描角必须小于','scanReserve','scanSpeed','设置无效,扫描速度必须大于0度/秒!','showScan','showLine','showTriangle','fillScan','#ff0','./src/LayerManager/GraphicLayer/GraphicRender/CesiumRectangle.ts','CesiumRectangle','rgba(0,\x20255,\x20255,\x200.4)','./src/LayerManager/GraphicLayer/GraphicRender/ScanEffect.ts','ScanEffect','scanLineColor','./src/LayerManager/GraphicLayer/GraphicRender/ScreenTextRender.ts','ScreenTextRender','outlineStyle','fontFamily','fontWeight','isShowBackgroundImg','backgroundImgUrl','backgroundImgSize','backgroundImgPos','backgroundImgRepeat','paddingLeft','paddingRight','paddingTop','paddingBottom','rgba(255,0,0)','solid','rgba(0,0,0)','contain','no-repeat','新建文本','SectorGraphicOpt','./src/LayerManager/GraphicLayer/GraphicRender/SectorSensor.ts','./src/LayerManager/GraphicLayer/GraphicRender/SensorRender.ts','SensorRender','xHalfAngle','yHalfAngle','scanPlaneColor','showScanPlane','scanPlaneRate','rgba(255,255,154,0.9)','#ddd','./src/LayerManager/GraphicLayer/GraphicRender/CesiumSphere.ts','CesiumSphere','SpreadCircleGraphic','SpreadCircleRingEnum','./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleRampRender.ts','./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleClampRender.ts','./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleRingRender.ts','./src/LayerManager/GraphicLayer/GraphicItem/SpreadCircleGraphic.ts','SpreadCircleLineRender','SpreadCircleRampRender','SpreadCircleRingRender','Solid','Strip','./src/LayerManager/GraphicLayer/GraphicRender/SpreadEffect.ts','SpreadEffect','spreadColor','./src/LayerManager/GraphicLayer/GraphicRender/TriangleMesh.ts','#00CED1','./src/LayerManager/GraphicLayer/GraphicRender/TruncatedConeRender.ts','TruncatedConeRender','innerRadius','outerRadius','rgba(105,\x20220,\x20203,\x200.8)','./src/LayerManager/GraphicLayer/GraphicRender/TruncatedConeParticleRender.ts','TruncatedConeParticleRender','radiusArray','deltaHeight','rgba(105,100,255,0.8)','CesiumVolumePolyline','cornerType','rgba(255,0,0,1)','rgba(255,\x20255,\x200,\x201.0)','WaterFaceGraphicOpt','waterColor','waveWidth','flowDirection','flowSpeed','normalTexture','waterPolygon','./src/LayerManager/GraphicLayer/GraphicRender/WaterEffect.ts','WaterEffect','baseWaterColor','animationSpeed','amplitude','specularIntensity','pointsList','Back','./src/LayerManager/GraphicLayer/GraphicRender/WeatherParticle.ts','WeatherParticle','weatherType','rain','./src/Editor/Creator/CreatorManager.ts','./src/Editor/Editor/EditorManager.ts','_dataRoot','_ignoreRoot','CustomDataSource','myEntities','PrimitiveCollection','_renderRoot','_initCreatorManager','_pipelineManager','CreatorManager','_editorManager','_creatorManager','openScreenTextEdit','setViewOffset','ViewOffset','editOpen','setEditorLabelVisible','setEditorLabelFormat','getEditorManager','setEditorElement','onEditItemRealTimeChange','offEditItemRealTimeChange','onEditorClick','offEditorClick','addByJson','items','parseBind','getIgnoreById','getNodeByName','_pickObjGetId','dataId','_external','_composites','collection','pickRect','pickByCoordinate2','_pickByCoordinate','_pickByCoordinate2','pointInCircle','drillPick','pickByCoordinate2无效的坐标参数x,y','getOffsetedPosition','pickByCoordinate无效的坐标参数x,y','_pickSpecialGraphic','getItemsInPolygon','pointInPolygon','./src/Utils/BuildGeometry.ts','./src/LayerManager/GraphicLayer/GraphicRender/RenderObject.ts','./src/LayerManager/GraphicLayer/GraphicRender/RenderPositionObject.ts','addUpdateCallback','_renderObj','dataUpdate','_appearance2','_appearance4','_primitive2','partTwoScale','RenderTypeEnum','rgba(255,\x20255,\x20255,\x201.0)','rgba(255,\x20255,\x20255,\x200.9)','rgba(255,\x20255,\x20255,\x200.2)','getPartOneMs','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20textColor\x20=\x20texture2D(image,\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20textColor.a*2.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}','getPartTwoMs','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mat2\x20rot\x20=\x20mat2(cos(angle),\x20-sin(angle),\x20-sin(angle),\x20-cos(angle));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st\x20=\x20st\x20-\x20vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st\x20=\x20rot\x20*\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st\x20=\x20st\x20+\x20vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20textColor\x20=\x20texture2D(image,\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20textColor.a*2.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}','getPartThreeMs','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20powerRatio\x20=\x20fract(czm_frameNumber\x20/\x2030.0)\x20+\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x20pow(st.t,\x20powerRatio);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20temp_color\x20=\x20vec4(color.rgb,\x20alpha\x20*\x20color.a);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20temp_color.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20temp_color.rgb*vec3(2.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}','getPartFourMs','_dataItem','getOffsetModelMatrix','_appearance1','_appearance3','_buildGeometry','BuildGeometry','createCircleGeometry_Triangles','_primitive3','createTruncatedConeGeometry','_primitive4','_primitive1','RenderPositionObject','_appearance','_circleData','createModelMatrix','multiplyByPointAsVector','Ray','getPoint','_matrix','resources/image/fire.png','SphereEmitter','computeEmitterModelMatrix','ParticleBurst','dataName','getValueOrUndefined','TranslationRotationScale','_container','_initDom','_bindEvent','_parentNode','_removeElement','_removeEvent','_bubbleEvent','_updatePanelPosition','EllipsoidalOccluder','isPointVisible','SceneTransforms','computeCullingVolume','directionWC','upWC','projectTo2D','Intersect','INSIDE','INTERSECTING','_preRender','_showDiv','_element','_diagonalPanelOffset','_updateDiv','visibility:hidden','_panelOffset','_isMouseDown','_updateLinePosition','_getDiagonalPanelOffset','offsetHeight','_offsetLeft','_offsetTop','translate(','px,','px)\x20rotate(','_createDom','geoBubble','position:absolute;border:1px\x20dotted\x20#fff;top:0px;left:0px;','_getDom','.geoBubbleRoot','_rootNode','_getDivOffsetOfBody','_mouseDown','which','_downX','clientX','_downY','_mouseMove','clientY','_anchorOffset','getBoundingClientRect','touches','_touchMove','_touchEnd','parentNode','_fnDown','_fnUp','_mouseUp','_fnMove','_touchStart','touchend','_fnEnd','_fnStart','_fnTMove','RenderObject','updateAttributeForEditing','_originProps','_updateAllProp','_resProps','_dealResProps','getHorizontalOrigin','getVerticalOrigin','getCartesian2','getCartesian3','cylinder','_getOrientation','getHeading','getHpr','getOrientation','getPositionDegrees','getHeightReference','getShadows','getGranularity','getRadii','getStyle','getNearFarScalar','getDistanceDisplayCondition','BillboardCollection','createCanvas','rectW','rectH','textPadding','pt\x20bold\x20黑体','measureText','lineH','lineNumber','moveTo','lineTo','closePath','textPrewrap','textBaseline','fillText','canvas0','pt\x20','lineNum','margin','Cesium3DTileset','_originTransform','updateRotate','updateOffset','debugColorizeTiles','fromTranslation','fromUniformScale','hierarchy','getRenderPositions','_synchronizer','VideoSynchronizer','getRenderHoles','DynamicStyle','setUpdate','_parabolaLines','_onSceneModeChange','morphComplete','addCameraListener','_cameraChange','updateTextureTimes','removeCameraListener','calculateLength','flag','billboardCanvas','html2canvas','#svglabelContainer','rgba(255,\x200.0,\x200.0,\x200.0)','devicePixelRatio','updateCanvasCallBack','createHTMLElement','stroke-dasharray=\x272,2\x27','dottedLine','stroke-dasharray=\x275,5\x27','dottedAndPointLine','stroke-dasharray=\x275,2,2,2\x27','rgba(255,0,0,0)','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','roundedrectangle','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','activeElement','calcCoordinates','getImage','starPositions','getShape','getCornerType','beveled','CornerType','BEVELED','mitered','MITERED','ROUNDED','polylineVolume','wall','createMaterial','getCirclePositions','pinBuilder','PinBuilder','fromText','CylinderSensor','_currentOffset','calculateRepeat','createGeometryMatrix','getTopPosition','getBottomPosition','calculateCircleData','_geometry','Stripe','ElliposidFadeMaterialProperty','./src/LayerManager/GraphicLayer/GraphicItem/FireGraphic.ts','ParticleSystem','getSrcByType','CircleEmitter','resources/image/smoke.png','ConstantPositionProperty','fromTranslationRotationScale','finishRender','_canvasInfo','_calculatedcanvasCoordinates','_createCanvas','anchor','inflection','flagpoleLeftTop','flagpoleRightTop','flagpoleLeftBottom','flagpoleRightBottom','labelSize','pt\x20Arial','_calculatedLabelSize','HorizontalOrigin','offsetAnchor','startRender','finishRenderCanvas','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flowDir=step(flowDir,0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20dt=vec2(flowDir,(1.0-flowDir))*time;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uvDt=1.0/repeat;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st=vec2(st.s*repeat.x-floor(st.s/uvDt.x),\x20st.t*repeat.y-floor(st.t/uvDt.y));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texture2D(image,vec2(fract(st.s+dt.x),fract(st.t+dt.y)));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=color.a;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20','VertexFormat','POSITION_NORMAL_AND_ST','evenColor','_radius','_sliceUnit','getMaterialFS','CircleRender','_time','createAppearence','Appearance','getFS','getVS','getMatrix','createCircleGeometry_Polygon','createPolygonGeometry','./src/LayerManager/GraphicLayer/GraphicRender/Icon/CircleRender.ts','uniform\x20vec4\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20numberOfLines;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20duration;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20gradient;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20time;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20vec4\x20centerColor;\x0a\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20w=sqrt(0.125);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material=czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st=materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse=color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis=distance(st,vec2(st.s,0.5));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis1=distance(st,vec2(0.5,st.t));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20per=mod(time,duration)/duration;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20perDis=w/numberOfLines;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20disNum;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20disNum1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20bl=0.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20bl1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha=1.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dis>w||dis1>w){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20image_st=fract(vec2(st)*vec2(3.0));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20imageColor=texture2D(image,image_st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dis1<0.3*w&&dis<0.3*w){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse=centerColor.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20a=mod(time,1000.0)/1000.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha=imageColor.a*(1.0-a)*2.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(int\x20i=0;i<=99;i++){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(float(i)<=numberOfLines){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20disNum=perDis*float(i)-dis+per/numberOfLines;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20disNum1=perDis*float(i)-dis1+per/numberOfLines;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(disNum>disNum1){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl=0.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20if(disNumdisNum){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl1=0.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else\x20if(disNum1','_imageUrl','_baseUrl','jbsvg/','_jbCode','changeFlagText','getTextElements','_textTail','_newStr','svgStrBase64','_fullTextSvgContent','exportSVG','textOptions','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','modifySvg','parseDom','getSVG','svgCode','_objE','labelCollection','getCircle','getRect','PI_OVER_FOUR','getRectPart','getRoundRect','PI_OVER_TWO','getPartCircle2D','getShapePts','RoundRect','getShapePartPts','getCirclePart','getRotateMatrix','isRectIntersect','sameLine2','sameLine1','getLineIntersect','isParallel','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipelineBaseRender.ts','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipelineTurnPartGeometry.ts','multiplyByVector','getAngle','DEGREES_PER_RADIAN','getAttributes','normals','buildLineIndexByArray','buildTriangleIndexByArray','getLineIndexArray','indexArr','restIndexArr:','hasArc','isRight','警告!可能出现死循环。','createGeometryCreator','_creatorArray','PipelineTurnPartGeometry','getTopAttributes','getBottomAttributes','createTriangleGeometry','getIndexArray','_primitiveLines','PipelineBaseRender','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipelineTurnGeometry.ts','getMS1','CullFace','BACK','LESS','createPolyAppearance','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20\x20color.a;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','getMS2','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20c\x20=\x20texture2D(image,\x20st).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20\x20color.a;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20c.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','_lineApp','createPrimitiveLine','_polyApp','vertexShaderSource','fragment\x20shader:','Corner','PipelineCornerGeometry','pre','nxt','_corners','building','_shape','_shapePtsNum','_vertex','getCorners','getLineIndices','circleNum','getTriangleIndices','PipelineGeometry','getVertex','getTexture','_texture','getNormal','getShapePtsNum','_normals','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipelineCornerGeometry.ts','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipelineSegGeometry.ts','getStartAngle','lineSeg','cornerSeg','createLineGeometry_','_circlePts','ALL','combineVertex','PipelineSegGeometry','nor','./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipelineGeometry.ts','PipelineStripGeometry','_paras','PipelineTurnGeometry','_bottomAttributes','_topAttributes','entityRoot','PostProcess','Lable','HtmlItem','htmlItemCollection','_needClock','_listener','removeUpdateCallback','getRectangleDegress','getClassificationType','BOTH','cesium_3D_tile','CESIUM_3D_TILE','TERRAIN','cast_only','CAST_ONLY','DISABLED','receive_only','RECEIVE_ONLY','epsilon1','epsilon2','EPSILON2','epsilon3','epsilon34','EPSILON4','getDynamicColor','getDynamicValue','NearFarScalar','getDynamicNearFarScalar','getDynamicDistanceDisplayCondition','baseline','TOP','LabelStyle','FILL','fill_and_outline','polylinePrimitive','multiplyByPoint','polygonGeometry','polylineGeometry','GroundPolylineGeometry','polylineAppearance','polygonPrimitive','polygonAppearance','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20center=vec2(0.5,0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mat2\x20rot\x20=\x20mat2(cos(angle),-sin(angle),sin(angle),cos(angle));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uv\x20=\x20materialInput.st\x20-\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uvTest\x20=\x20rot*uv+center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.st=uvTest;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20colorImage=texture2D(image,st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20\x20colorImage.a;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','ScreenTextItemOpt','borderColor','borderStyle','borderWidth','backgroundImage','url(','backgroundSize','backgroundPosition','setProperty','backgroundRepeat','getHtmlText','SectorSensor','oddColor','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/RectangularSensorGraphics.js','dataOptions','addProperty','rectangularSensor','ColorMaterialProperty','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/Sensor.js','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Material.js','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Core/getLinkedPointList.js','getLinkedPointList','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineArrowLinkMaterialProperty.js','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineGlowLinkMaterialProperty.js','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylinePulseLinkMaterialProperty.js','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineTrailLinkMaterialProperty.js','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylineTextureMaterial.glsl','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylineLinkMaterial.glsl','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylinePulseMaterial.glsl','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/ElliposidFadeMaterial.glsl','PolylineTextureType','PolylineWireNettingImage','resources/image/specialLine/wirenetting.png','PolylineWireNettingImageWidth','resources/image/specialLine/ironbar.png','PolylineLinkPulseImage','resources/image/specialLine/LinkPulse.png','PolylineLinkPulseImageWidth','_materialCache','addMaterial','PolylineAttackLink','resources/image/specialLine/DotTransparent.png','PolylineAttackLinkType','PolylineAttackLinkImage','PolylineArrowLinkType','PolylineArrowLink','PolylineArrowLinkImage','resources/image/specialLine/ArrowOpacity.png','PolylinePulseLinkType','PolylinePulseLink','PolylinePulseLinkImage','PolylineGlowLinkType','PolylineTrailLinkType','PolylineTrailLinkImage','resources/image/specialLine/Trail.png','EllipsoidFadeType','PolylineAttackLinkMaterialProperty','PolylineArrowLinkMaterialProperty','PolylineGlowLinkMaterialProperty','PolylineTrailLinkMaterialProperty','createPropertyDescriptor','_definitionChanged','_colorSubscription','secondsOfDay','getValueOrClonedDefault','PolylinePulseLinkMaterialProperty','_iconType','_textureWidth','WireNetting','IronBar','PolylineIronBarImageWidth','LinkPulse','_times','_revert','_dynamic','dynamic','setRevert','PolylineTextureMaterialProperty','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0d\x0a\x20\x20\x20\x20material.diffuse\x20=\x201.5\x20*\x20color.rgb;\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0d\x0a\x20\x20\x20\x20float\x20dis\x20=\x20distance(st,\x20vec2(0.5,\x200.5));\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20per\x20=\x20fract(time);\x0d\x0a\x20\x20\x20\x20if(dis\x20>\x20per\x20*\x200.5){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20//material.alpha\x20=\x200.0;\x0d\x0a\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x20\x20\x20\x20}else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20color.a\x20\x20*\x20dis\x20/\x20per\x20/\x202.0;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20return\x20material;\x0d\x0a}','uniform\x20vec4\x20color;\x0d\x0auniform\x20float\x20glowPower;\x0d\x0a\x0d\x0avarying\x20float\x20v_width;\x0d\x0a\x0d\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0d\x0a\x20\x20\x20\x20float\x20glow\x20=\x20glowPower\x20/\x20abs(st.t\x20-\x200.5)\x20-\x20(glowPower\x20/\x200.5);\x0d\x0a\x0d\x0a\x20\x20\x20\x20material.emission\x20=\x20max(vec3(glow\x20-\x201.0\x20+\x20color.rgb),\x20color.rgb);\x0d\x0a\x20\x20\x20\x20material.alpha\x20=\x20clamp(0.0,\x201.0,\x20glow)\x20*\x20color.a\x20*\x20st.s;\x0d\x0a\x0d\x0a\x20\x20\x20\x20//material.emission\x20=\x20\x20color.rgb;\x0d\x0a\x20\x20\x20\x20//material.alpha\x20=\x20\x20color.a;\x0d\x0a\x0d\x0a\x20\x20\x20\x20return\x20material;\x0d\x0a}\x0d\x0a','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0d\x0a\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0d\x0a\x0d\x0a\x20\x20\x20\x20if(texture2D(image,\x20vec2(0.0,\x200.0)).a\x20==\x201.0){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x20\x20\x20\x20}else{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20texture2D(image,\x20vec2(1.0\x20-\x20fract(time\x20-\x20st.s),\x20st.t)).a\x20*\x20color.a;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x0d\x0a\x20\x20\x20\x20material.diffuse\x20=\x20max(color.rgb\x20*\x20material.alpha\x20*\x203.0,\x20color.rgb);\x0d\x0a\x0d\x0a\x20\x20\x20\x20return\x20material;\x0d\x0a}','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0d\x0a\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0d\x0a\x0d\x0a\x20\x20\x20\x20if(texture2D(image,\x20vec2(0.0,\x200.0)).a\x20==\x201.0){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x20\x20\x20\x20}else{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20texture2D(image,\x20vec2(1.0\x20-\x20fract(time\x20-\x20st.s),\x20st.t)).a\x20*\x20color.a;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x0d\x0a\x20\x20\x20\x20material.diffuse\x20=\x20max(color.rgb\x20*\x20material.alpha\x20*\x2010.0,\x20color.rgb);\x0d\x0a\x0d\x0a\x20\x20\x20\x20return\x20material;\x0d\x0a}','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0d\x0a\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0d\x0a\x0d\x0a\x09float\x20t\x20=\x20st.s\x20*\x20times;\x0d\x0a\x09if\x20(revert){\x20\x0d\x0a\x09\x09material.alpha\x20=\x20texture2D(image,\x20vec2(1.0\x20-\x20fract(time\x20-\x20t\x20-\x20st.s),\x20fract(1.0\x20-\x20st.t))).a;\x0d\x0a\x09}\x20else\x20{\x0d\x0a\x09\x09material.alpha\x20=\x20texture2D(image,\x20vec2(1.0\x20-\x20fract(time\x20-\x20t\x20-\x20st.s),\x20st.t)).a;\x0d\x0a\x09}\x0d\x0a\x09material.diffuse\x20=\x20color.rgb;\x0d\x0a\x0d\x0a\x20\x20\x20\x20return\x20material;\x0d\x0a}','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0d\x0a\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0d\x0a\x0d\x0a\x20\x20\x20\x20if(texture2D(image,\x20vec2(0.0,\x200.0)).a\x20==\x201.0){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x20\x20\x20\x20}else{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20texture2D(image,\x20st).a\x20*\x20color.a;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x0d\x0a\x20\x20\x20/*\x20if(texture2D(image,\x20st).a\x20>\x200.9){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20vec3(1.0);\x0d\x0a\x20\x20\x20\x20}else{\x0d\x0a\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0d\x0a\x20\x20\x20\x20}*/\x0d\x0a\x0d\x0a\x20\x20\x20\x20material.diffuse\x20=\x20max(\x20material.diffuse*\x20material.alpha\x20*\x203.0,\x20\x20material.diffuse);\x0d\x0a\x0d\x0a\x20\x20\x20\x20return\x20material;\x0d\x0a}','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensorGraphics.js','DistanceDisplayConditionGeometryInstanceAttribute','conicArcSensor','ConicArcSensorGraphics','_conicArcSensor','_outlineGeometry','gaze','ConicArcSensor','ConicArcSensorCollection','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensorGeometry.js','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensorOutlineGeometry.js','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensor.js','Viewer','_primitives','_primitive','_outlinePrimitive','_conicArcSensorCollection','removeAndDestroy','getValueOrDefault','UNIT_Z','ConicArcSensorGeometry','ConicArcSensorOutlineGeometry','vertexFormat','DEFAULT','_slicePartitions','_vertexFormat','_stackPartitions','_radiusSubscription','_stackSubscription','_sliceSubscription','_showSubscription','_fill','_material','_outline','_outlineColor','_outlineColorSubscription','_outlineWidth','_outlineWidthSubscription','_shadowsSubscription','_gaze','_gazeSubscription','source\x20is\x20required.','options.stackPartitions\x20cannot\x20be\x20less\x20than\x201','options.slicePartitions\x20cannot\x20be\x20less\x20than\x200','options.subdivisions\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x20zero.','_subdivisions','_xHalfAngle','_xHalfAngleSubscription','_yHalfAngle','_yHalfAngleSubscription','_lateralSurfaceMaterial','_intersectionColor','_intersectionColorSubscription','_intersectionWidth','_showIntersection','_showIntersectionSubscription','_scanPlaneRate','_scanPlaneColor','_lineColor','_showScanPlane','lateralSurfaceMaterial','intersectionColor','intersectionWidth','showIntersection','RectangularSensorPrimitive','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/shaders/RectangularSensorFS.glsl','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/shaders/RectangularSensor.glsl','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/shaders/RectangularSensorScanPlaneFS.glsl','BufferUsage','_computedScanPlaneModelMatrix','showSectorLines','showSectorSegmentLines','showLateralSurfaces','ColorType','_lateralSurfaceTranslucent','showDomeSurfaces','domeSurfaceMaterial','_domeSurfaceMaterial','showDomeLines','showThroughEllipsoid','scanPlaneMode','_scanePlaneXHalfAngle','_sectorFrontCommand','_boundingSphereWC','_sectorBackCommand','_sectorVA','_sectorSegmentLineVA','_domeFrontCommand','_domeBackCommand','_domeVA','_domeLineCommand','_domeLineVA','_scanPlaneFrontCommand','_scanPlaneBackCommand','_scanRadialCommand','_backFaceRS','_sp','_scanUniforms','_scanePlaneYHalfAngle','halfAngle\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x20zero.','this.radius\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x20zero.','isTranslucent','_translucent','zoy','zox','BYTES_PER_ELEMENT','_sectorLineVA','createVertexBuffer','POSITION_ONLY','fromGeometry','EllipsoidOutlineGeometry','_scanPlaneVA','FRONT','_pickRS','shaderSource','replaceCache','uniform','_pickSP','_scanePlaneSP','_colorCommands','OPAQUE','_frontFaceRS','_uniforms','_sectorSegmentLineCommand','passes','vertexArray','RectangularSensorVisualizer','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/RectangularSensorPrimitive.js','MaterialProperty','scene\x20is\x20required.','_onCollectionChanged','_entitiesToVisualize','isShowing','_showSectorSegmentLines','_showDomeSurfaces','_showDomeLines','_showThroughEllipsoid','_scanPlaneMode','removePrimitive','_rectangularSensor','uniform\x20vec4\x20u_intersectionColor;\x0d\x0auniform\x20float\x20u_intersectionWidth;\x0d\x0auniform\x20vec4\x20u_lineColor;\x0d\x0a\x0d\x0abool\x20inSensorShadow(vec3\x20coneVertexWC,\x20czm_ellipsoid\x20ellipsoidEC,\x20vec3\x20pointWC)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20//\x20Diagonal\x20matrix\x20from\x20the\x20unscaled\x20ellipsoid\x20space\x20to\x20the\x20scaled\x20space.\x20\x20\x20\x20\x0d\x0a\x20\x20\x20\x20vec3\x20D\x20=\x20ellipsoidEC.inverseRadii;\x0d\x0a\x0d\x0a\x20\x20\x20\x20//\x20Sensor\x20vertex\x20in\x20the\x20scaled\x20ellipsoid\x20space\x0d\x0a\x20\x20\x20\x20vec3\x20q\x20=\x20D\x20*\x20coneVertexWC;\x0d\x0a\x20\x20\x20\x20float\x20qMagnitudeSquared\x20=\x20dot(q,\x20q);\x0d\x0a\x20\x20\x20\x20float\x20test\x20=\x20qMagnitudeSquared\x20-\x201.0;\x0d\x0a\x20\x20\x20\x20\x0d\x0a\x20\x20\x20\x20//\x20Sensor\x20vertex\x20to\x20fragment\x20vector\x20in\x20the\x20ellipsoid\x27s\x20scaled\x20space\x0d\x0a\x20\x20\x20\x20vec3\x20temp\x20=\x20D\x20*\x20pointWC\x20-\x20q;\x0d\x0a\x20\x20\x20\x20float\x20d\x20=\x20dot(temp,\x20q);\x0d\x0a\x20\x20\x20\x20\x0d\x0a\x20\x20\x20\x20//\x20Behind\x20silhouette\x20plane\x20and\x20inside\x20silhouette\x20cone\x0d\x0a\x20\x20\x20\x20return\x20(d\x20<\x20-test)\x20&&\x20(d\x20/\x20length(temp)\x20<\x20-sqrt(test));\x0d\x0a}\x0d\x0a\x0d\x0a///////////////////////////////////////////////////////////////////////////////\x0d\x0a\x0d\x0avec4\x20getLineColor()\x0d\x0a{\x0d\x0a\x20\x20\x20\x20return\x20u_lineColor;\x0d\x0a}\x0d\x0a\x0d\x0avec4\x20getIntersectionColor()\x0d\x0a{\x0d\x0a\x20\x20\x20\x20return\x20u_intersectionColor;\x0d\x0a}\x0d\x0a\x0d\x0afloat\x20getIntersectionWidth()\x0d\x0a{\x0d\x0a\x20\x20\x20\x20return\x20u_intersectionWidth;\x0d\x0a}\x0d\x0a\x0d\x0avec2\x20sensor2dTextureCoordinates(float\x20sensorRadius,\x20vec3\x20pointMC)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20//\x20(s,\x20t)\x20both\x20in\x20the\x20range\x20[0,\x201]\x0d\x0a\x20\x20\x20\x20float\x20t\x20=\x20pointMC.z\x20/\x20sensorRadius;\x0d\x0a\x20\x20\x20\x20float\x20s\x20=\x201.0\x20+\x20(atan(pointMC.y,\x20pointMC.x)\x20/\x20czm_twoPi);\x0d\x0a\x20\x20\x20\x20s\x20=\x20s\x20-\x20floor(s);\x0d\x0a\x20\x20\x20\x20\x0d\x0a\x20\x20\x20\x20return\x20vec2(s,\x20t);\x0d\x0a}\x0d\x0a','#ifdef\x20GL_OES_standard_derivatives\x0d\x0a\x20\x20\x20\x20#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0d\x0a#endif\x0d\x0a\x0d\x0auniform\x20bool\x20u_showIntersection;\x0d\x0auniform\x20bool\x20u_showThroughEllipsoid;\x0d\x0a\x0d\x0auniform\x20float\x20u_radius;\x0d\x0auniform\x20float\x20u_xHalfAngle;\x0d\x0auniform\x20float\x20u_yHalfAngle;\x0d\x0auniform\x20float\x20u_normalDirection;\x0d\x0auniform\x20float\x20u_type;\x0d\x0a\x0d\x0avarying\x20vec3\x20v_position;\x0d\x0avarying\x20vec3\x20v_positionWC;\x0d\x0avarying\x20vec3\x20v_positionEC;\x0d\x0avarying\x20vec3\x20v_normalEC;\x0d\x0a\x0d\x0avec4\x20getColor(float\x20sensorRadius,\x20vec3\x20pointEC)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20czm_materialInput\x20materialInput;\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec3\x20pointMC\x20=\x20(czm_inverseModelView\x20*\x20vec4(pointEC,\x201.0)).xyz;\x0d\x0a\x20\x20\x20\x20materialInput.st\x20=\x20sensor2dTextureCoordinates(sensorRadius,\x20pointMC);\x0d\x0a\x20\x20\x20\x20materialInput.str\x20=\x20pointMC\x20/\x20sensorRadius;\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0d\x0a\x20\x20\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0d\x0a\x20\x20\x20\x20materialInput.normalEC\x20=\x20u_normalDirection\x20*\x20normalEC;\x0d\x0a\x0d\x0a\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0d\x0a\x0d\x0a\x20\x20\x20\x20return\x20mix(czm_phong(normalize(positionToEyeEC),\x20material,czm_lightDirectionEC),\x20vec4(material.diffuse,\x20material.alpha),\x200.4);\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0abool\x20isOnBoundary(float\x20value,\x20float\x20epsilon)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20float\x20width\x20=\x20getIntersectionWidth();\x0d\x0a\x20\x20\x20\x20float\x20tolerance\x20=\x20width\x20*\x20epsilon;\x0d\x0a\x0d\x0a#ifdef\x20GL_OES_standard_derivatives\x0d\x0a\x20\x20\x20\x20float\x20delta\x20=\x20max(abs(dFdx(value)),\x20abs(dFdy(value)));\x0d\x0a\x20\x20\x20\x20float\x20pixels\x20=\x20width\x20*\x20delta;\x0d\x0a\x20\x20\x20\x20float\x20temp\x20=\x20abs(value);\x0d\x0a\x20\x20\x20\x20//\x20There\x20are\x20a\x20couple\x20things\x20going\x20on\x20here.\x0d\x0a\x20\x20\x20\x20//\x20First\x20we\x20test\x20the\x20value\x20at\x20the\x20current\x20fragment\x20to\x20see\x20if\x20it\x20is\x20within\x20the\x20tolerance.\x0d\x0a\x20\x20\x20\x20//\x20We\x20also\x20want\x20to\x20check\x20if\x20the\x20value\x20of\x20an\x20adjacent\x20pixel\x20is\x20within\x20the\x20tolerance,\x0d\x0a\x20\x20\x20\x20//\x20but\x20we\x20don\x27t\x20want\x20to\x20admit\x20points\x20that\x20are\x20obviously\x20not\x20on\x20the\x20surface.\x0d\x0a\x20\x20\x20\x20//\x20For\x20example,\x20if\x20we\x20are\x20looking\x20for\x20\x22value\x22\x20to\x20be\x20close\x20to\x200,\x20but\x20value\x20is\x201\x20and\x20the\x20adjacent\x20value\x20is\x202,\x0d\x0a\x20\x20\x20\x20//\x20then\x20the\x20delta\x20would\x20be\x201\x20and\x20\x22temp\x20-\x20delta\x22\x20would\x20be\x20\x221\x20-\x201\x22\x20which\x20is\x20zero\x20even\x20though\x20neither\x20of\x0d\x0a\x20\x20\x20\x20//\x20the\x20points\x20is\x20close\x20to\x20zero.\x0d\x0a\x20\x20\x20\x20return\x20temp\x20<\x20tolerance\x20&&\x20temp\x20<\x20pixels\x20||\x20(delta\x20<\x2010.0\x20*\x20tolerance\x20&&\x20temp\x20-\x20delta\x20<\x20tolerance\x20&&\x20temp\x20<\x20pixels);\x0d\x0a#else\x0d\x0a\x20\x20\x20\x20return\x20abs(value)\x20<\x20tolerance;\x0d\x0a#endif\x0d\x0a}\x0d\x0a\x0d\x0avec4\x20shade(bool\x20isOnBoundary)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20if\x20(u_showIntersection\x20&&\x20isOnBoundary)\x0d\x0a\x20\x20\x20\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20getIntersectionColor();\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if(u_type\x20==\x201.0){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20getLineColor();\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20return\x20getColor(u_radius,\x20v_positionEC);\x0d\x0a}\x0d\x0a\x0d\x0afloat\x20ellipsoidSurfaceFunction(czm_ellipsoid\x20ellipsoid,\x20vec3\x20point)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20vec3\x20scaled\x20=\x20ellipsoid.inverseRadii\x20*\x20point;\x0d\x0a\x20\x20\x20\x20return\x20dot(scaled,\x20scaled)\x20-\x201.0;\x0d\x0a}\x0d\x0a\x0d\x0avoid\x20main()\x0d\x0a{\x0d\x0a\x20\x20\x20\x20vec3\x20sensorVertexWC\x20=\x20czm_model[3].xyz;\x20\x20\x20\x20\x20\x20//\x20(0.0,\x200.0,\x200.0)\x20in\x20model\x20coordinates\x0d\x0a\x20\x20\x20\x20vec3\x20sensorVertexEC\x20=\x20czm_modelView[3].xyz;\x20\x20//\x20(0.0,\x200.0,\x200.0)\x20in\x20model\x20coordinates\x0d\x0a\x0d\x0a\x20\x20\x20\x20//vec3\x20pixDir\x20=\x20normalize(v_position);\x0d\x0a\x20\x20\x20\x20float\x20positionX\x20=\x20v_position.x;\x0d\x0a\x20\x20\x20\x20float\x20positionY\x20=\x20v_position.y;\x0d\x0a\x20\x20\x20\x20float\x20positionZ\x20=\x20v_position.z;\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec3\x20zDir\x20=\x20vec3(0.0,\x200.0,\x201.0);\x0d\x0a\x20\x20\x20\x20vec3\x20lineX\x20=\x20vec3(positionX,\x200\x20,positionZ);\x0d\x0a\x20\x20\x20\x20vec3\x20lineY\x20=\x20vec3(0,\x20positionY,\x20positionZ);\x0d\x0a\x20\x20\x20\x20float\x20resX\x20=\x20dot(normalize(lineX),\x20zDir);\x0d\x0a\x20\x20\x20\x20if(resX\x20<\x20cos(u_xHalfAngle)-0.00001){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20float\x20resY\x20=\x20dot(normalize(lineY),\x20zDir);\x0d\x0a\x20\x20\x20\x20if(resY\x20<\x20cos(u_yHalfAngle)-0.00001){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x0d\x0a\x0d\x0a\x20\x20\x20\x20czm_ellipsoid\x20ellipsoid\x20=\x20czm_getWgs84EllipsoidEC();\x0d\x0a\x20\x20\x20\x20float\x20ellipsoidValue\x20=\x20ellipsoidSurfaceFunction(ellipsoid,\x20v_positionWC);\x0d\x0a\x0d\x0a\x20\x20\x20\x20//\x20Occluded\x20by\x20the\x20ellipsoid?\x0d\x0a\x09if\x20(!u_showThroughEllipsoid)\x0d\x0a\x09{\x0d\x0a\x09\x20\x20\x20\x20//\x20Discard\x20if\x20in\x20the\x20ellipsoid\x0d\x0a\x09\x20\x20\x20\x20//\x20PERFORMANCE_IDEA:\x20A\x20coarse\x20check\x20for\x20ellipsoid\x20intersection\x20could\x20be\x20done\x20on\x20the\x20CPU\x20first.\x0d\x0a\x09\x20\x20\x20\x20if\x20(ellipsoidValue\x20<\x200.0)\x0d\x0a\x09\x20\x20\x20\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x09\x20\x20\x20\x20}\x0d\x0a\x0d\x0a\x09\x20\x20\x20\x20//\x20Discard\x20if\x20in\x20the\x20sensor\x27s\x20shadow\x0d\x0a\x09\x20\x20\x20\x20if\x20(inSensorShadow(sensorVertexWC,\x20ellipsoid,\x20v_positionWC))\x0d\x0a\x09\x20\x20\x20\x20{\x0d\x0a\x09\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x09\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x0d\x0a\x20\x20\x20\x20//\x20Notes:\x20Each\x20surface\x20functions\x20should\x20have\x20an\x20associated\x20tolerance\x20based\x20on\x20the\x20floating\x20point\x20error.\x0d\x0a\x20\x20\x20\x20bool\x20isOnEllipsoid\x20=\x20isOnBoundary(ellipsoidValue,\x20czm_epsilon3);\x0d\x0a\x20\x20\x20\x20//isOnEllipsoid\x20=\x20false;\x0d\x0a\x20\x20\x20\x20//if((resX\x20>=\x200.8\x20&&\x20resX\x20<=\x200.81)||(resY\x20>=\x200.8\x20&&\x20resY\x20<=\x200.81)){\x0d\x0a\x20\x20\x20\x20/*if(false){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(1.0,0.0,0.0,1.0);\x0d\x0a\x20\x20\x20\x20}else{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20shade(isOnEllipsoid);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a*/\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20shade(isOnEllipsoid);\x0d\x0a\x0d\x0a}','#ifdef\x20GL_OES_standard_derivatives\x0d\x0a\x20\x20\x20\x20#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0d\x0a#endif\x0d\x0a\x0d\x0auniform\x20bool\x20u_showIntersection;\x0d\x0auniform\x20bool\x20u_showThroughEllipsoid;\x0d\x0a\x0d\x0auniform\x20float\x20u_radius;\x0d\x0auniform\x20float\x20u_xHalfAngle;\x0d\x0auniform\x20float\x20u_yHalfAngle;\x0d\x0auniform\x20float\x20u_normalDirection;\x0d\x0auniform\x20vec4\x20u_color;\x0d\x0a\x0d\x0avarying\x20vec3\x20v_position;\x0d\x0avarying\x20vec3\x20v_positionWC;\x0d\x0avarying\x20vec3\x20v_positionEC;\x0d\x0avarying\x20vec3\x20v_normalEC;\x0d\x0a\x0d\x0avec4\x20getColor(float\x20sensorRadius,\x20vec3\x20pointEC)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20czm_materialInput\x20materialInput;\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec3\x20pointMC\x20=\x20(czm_inverseModelView\x20*\x20vec4(pointEC,\x201.0)).xyz;\x0d\x0a\x20\x20\x20\x20materialInput.st\x20=\x20sensor2dTextureCoordinates(sensorRadius,\x20pointMC);\x0d\x0a\x20\x20\x20\x20materialInput.str\x20=\x20pointMC\x20/\x20sensorRadius;\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0d\x0a\x20\x20\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0d\x0a\x20\x20\x20\x20materialInput.normalEC\x20=\x20u_normalDirection\x20*\x20normalEC;\x0d\x0a\x0d\x0a\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0d\x0a\x0d\x0a\x20\x20\x20\x20material.diffuse\x20=\x20u_color.rgb;\x0d\x0a\x20\x20\x20\x20material.alpha\x20=\x20u_color.a;\x0d\x0a\x0d\x0a\x20\x20\x20\x20return\x20mix(czm_phong(normalize(positionToEyeEC),\x20material,czm_lightDirectionEC),\x20vec4(material.diffuse,\x20material.alpha),\x200.4);\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0abool\x20isOnBoundary(float\x20value,\x20float\x20epsilon)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20float\x20width\x20=\x20getIntersectionWidth();\x0d\x0a\x20\x20\x20\x20float\x20tolerance\x20=\x20width\x20*\x20epsilon;\x0d\x0a\x0d\x0a#ifdef\x20GL_OES_standard_derivatives\x0d\x0a\x20\x20\x20\x20float\x20delta\x20=\x20max(abs(dFdx(value)),\x20abs(dFdy(value)));\x0d\x0a\x20\x20\x20\x20float\x20pixels\x20=\x20width\x20*\x20delta;\x0d\x0a\x20\x20\x20\x20float\x20temp\x20=\x20abs(value);\x0d\x0a\x20\x20\x20\x20//\x20There\x20are\x20a\x20couple\x20things\x20going\x20on\x20here.\x0d\x0a\x20\x20\x20\x20//\x20First\x20we\x20test\x20the\x20value\x20at\x20the\x20current\x20fragment\x20to\x20see\x20if\x20it\x20is\x20within\x20the\x20tolerance.\x0d\x0a\x20\x20\x20\x20//\x20We\x20also\x20want\x20to\x20check\x20if\x20the\x20value\x20of\x20an\x20adjacent\x20pixel\x20is\x20within\x20the\x20tolerance,\x0d\x0a\x20\x20\x20\x20//\x20but\x20we\x20don\x27t\x20want\x20to\x20admit\x20points\x20that\x20are\x20obviously\x20not\x20on\x20the\x20surface.\x0d\x0a\x20\x20\x20\x20//\x20For\x20example,\x20if\x20we\x20are\x20looking\x20for\x20\x22value\x22\x20to\x20be\x20close\x20to\x200,\x20but\x20value\x20is\x201\x20and\x20the\x20adjacent\x20value\x20is\x202,\x0d\x0a\x20\x20\x20\x20//\x20then\x20the\x20delta\x20would\x20be\x201\x20and\x20\x22temp\x20-\x20delta\x22\x20would\x20be\x20\x221\x20-\x201\x22\x20which\x20is\x20zero\x20even\x20though\x20neither\x20of\x0d\x0a\x20\x20\x20\x20//\x20the\x20points\x20is\x20close\x20to\x20zero.\x0d\x0a\x20\x20\x20\x20return\x20temp\x20<\x20tolerance\x20&&\x20temp\x20<\x20pixels\x20||\x20(delta\x20<\x2010.0\x20*\x20tolerance\x20&&\x20temp\x20-\x20delta\x20<\x20tolerance\x20&&\x20temp\x20<\x20pixels);\x0d\x0a#else\x0d\x0a\x20\x20\x20\x20return\x20abs(value)\x20<\x20tolerance;\x0d\x0a#endif\x0d\x0a}\x0d\x0a\x0d\x0avec4\x20shade(bool\x20isOnBoundary)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20if\x20(u_showIntersection\x20&&\x20isOnBoundary)\x0d\x0a\x20\x20\x20\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20getIntersectionColor();\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20return\x20getColor(u_radius,\x20v_positionEC);\x0d\x0a}\x0d\x0a\x0d\x0afloat\x20ellipsoidSurfaceFunction(czm_ellipsoid\x20ellipsoid,\x20vec3\x20point)\x0d\x0a{\x0d\x0a\x20\x20\x20\x20vec3\x20scaled\x20=\x20ellipsoid.inverseRadii\x20*\x20point;\x0d\x0a\x20\x20\x20\x20return\x20dot(scaled,\x20scaled)\x20-\x201.0;\x0d\x0a}\x0d\x0a\x0d\x0avoid\x20main()\x0d\x0a{\x0d\x0a\x20\x20\x20\x20vec3\x20sensorVertexWC\x20=\x20czm_model[3].xyz;\x20\x20\x20\x20\x20\x20//\x20(0.0,\x200.0,\x200.0)\x20in\x20model\x20coordinates\x0d\x0a\x20\x20\x20\x20vec3\x20sensorVertexEC\x20=\x20czm_modelView[3].xyz;\x20\x20//\x20(0.0,\x200.0,\x200.0)\x20in\x20model\x20coordinates\x0d\x0a\x0d\x0a\x20\x20\x20\x20//vec3\x20pixDir\x20=\x20normalize(v_position);\x0d\x0a\x20\x20\x20\x20float\x20positionX\x20=\x20v_position.x;\x0d\x0a\x20\x20\x20\x20float\x20positionY\x20=\x20v_position.y;\x0d\x0a\x20\x20\x20\x20float\x20positionZ\x20=\x20v_position.z;\x0d\x0a\x0d\x0a\x20\x20\x20\x20vec3\x20zDir\x20=\x20vec3(0.0,\x200.0,\x201.0);\x0d\x0a\x20\x20\x20\x20vec3\x20lineX\x20=\x20vec3(positionX,\x200\x20,positionZ);\x0d\x0a\x20\x20\x20\x20vec3\x20lineY\x20=\x20vec3(0,\x20positionY,\x20positionZ);\x0d\x0a\x20\x20\x20\x20float\x20resX\x20=\x20dot(normalize(lineX),\x20zDir);\x0d\x0a\x20\x20\x20\x20if(resX\x20<\x20cos(u_xHalfAngle)\x20-\x200.0001){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20float\x20resY\x20=\x20dot(normalize(lineY),\x20zDir);\x0d\x0a\x20\x20\x20\x20if(resY\x20<\x20cos(u_yHalfAngle)-\x200.0001){\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x0d\x0a\x0d\x0a\x20\x20\x20\x20czm_ellipsoid\x20ellipsoid\x20=\x20czm_getWgs84EllipsoidEC();\x0d\x0a\x20\x20\x20\x20float\x20ellipsoidValue\x20=\x20ellipsoidSurfaceFunction(ellipsoid,\x20v_positionWC);\x0d\x0a\x0d\x0a\x20\x20\x20\x20//\x20Occluded\x20by\x20the\x20ellipsoid?\x0d\x0a\x09if\x20(!u_showThroughEllipsoid)\x0d\x0a\x09{\x0d\x0a\x09\x20\x20\x20\x20//\x20Discard\x20if\x20in\x20the\x20ellipsoid\x0d\x0a\x09\x20\x20\x20\x20//\x20PERFORMANCE_IDEA:\x20A\x20coarse\x20check\x20for\x20ellipsoid\x20intersection\x20could\x20be\x20done\x20on\x20the\x20CPU\x20first.\x0d\x0a\x09\x20\x20\x20\x20if\x20(ellipsoidValue\x20<\x200.0)\x0d\x0a\x09\x20\x20\x20\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x09\x20\x20\x20\x20}\x0d\x0a\x0d\x0a\x09\x20\x20\x20\x20//\x20Discard\x20if\x20in\x20the\x20sensor\x27s\x20shadow\x0d\x0a\x09\x20\x20\x20\x20if\x20(inSensorShadow(sensorVertexWC,\x20ellipsoid,\x20v_positionWC))\x0d\x0a\x09\x20\x20\x20\x20{\x0d\x0a\x09\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0d\x0a\x09\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x0d\x0a\x20\x20\x20\x20//\x20Notes:\x20Each\x20surface\x20functions\x20should\x20have\x20an\x20associated\x20tolerance\x20based\x20on\x20the\x20floating\x20point\x20error.\x0d\x0a\x20\x20\x20\x20bool\x20isOnEllipsoid\x20=\x20isOnBoundary(ellipsoidValue,\x20czm_epsilon3);\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20shade(isOnEllipsoid);\x0d\x0a\x0d\x0a}','attribute\x20vec4\x20position;\x0d\x0aattribute\x20vec3\x20normal;\x0d\x0a\x0d\x0avarying\x20vec3\x20v_position;\x0d\x0avarying\x20vec3\x20v_positionWC;\x0d\x0avarying\x20vec3\x20v_positionEC;\x0d\x0avarying\x20vec3\x20v_normalEC;\x0d\x0a\x0d\x0avoid\x20main()\x0d\x0a{\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20position;\x0d\x0a\x20\x20\x20\x20v_position\x20=\x20vec3(position);\x0d\x0a\x20\x20\x20\x20v_positionWC\x20=\x20(czm_model\x20*\x20position).xyz;\x0d\x0a\x20\x20\x20\x20v_positionEC\x20=\x20(czm_modelView\x20*\x20position).xyz;\x0d\x0a\x20\x20\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0d\x0a}','./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/RectangularSensorVisualizer.js','RectangularSensorGraphics','defaultVisualizersCallback','./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleRender.ts','_duration','animate','onViewChanged','_animation','Quartic','Out','\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20circle(float\x20edge1,float\x20edge2,float\x20dis){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flag1\x20=\x20step(edge1,dis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flag2\x20=\x20step(dis,edge2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20temp\x20=\x20sin((dis-edge1)/(edge2-edge1)\x20*\x203.14);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20temp*flag1*flag2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st\x20-\x20vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis\x20=\x20length(st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20len\x20=\x200.5\x20*\x20abs(sin(time));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20temp\x20=\x20step(dis,\x20len);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dt\x20=\x20len\x20*\x200.08;\x20//float\x20dt\x20=\x20len\x20*\x202.0\x20*\x200.08\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x20circle(len\x20-\x20dt,\x20len\x20+\x20dt,\x20dis\x20*\x201.08)\x20*\x20temp;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//float\x20a\x20=\x20step(alpha,\x200.99);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//alpha\x20=\x20alpha\x20*\x200.4\x20*\x20a\x20+\x20alpha\x20*\x20(1.0\x20-\x20a);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alpha\x20<\x200.99)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20=\x20alpha\x20*\x200.4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20centerAlpha\x20=\x20smoothstep(0.08,\x200.05,\x20dis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20alpha\x20+\x20centerAlpha;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','SpreadCircleRender','./src/LayerManager/GraphicLayer/GraphicItem/SpreadCircleGroup.ts','_renderType','_offset','_groundPrimitive','Multiple','Quadratic','getMultipleFs','\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20circle(float\x20edge1,float\x20edge2,vec2\x20st){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis=length(st)*2.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20k=3.14/(edge2-edge1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flag1=step(edge1,dis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flag2=step(dis,edge2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20temp=(dis-edge1)*\x20k;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha=sin(temp)*flag1*flag2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20alpha;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis=0.5*abs(sin(time));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20length=length(materialInput.st-vec2(0.5));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20temp=step(length,dis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st=materialInput.st-vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha1=circle(0.275,0.325,st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha2=circle(0.575,0.625,st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha3=circle(0.875,0.925,st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha=alpha1+alpha2+alpha3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse=color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(alpha>=0.985){\x20alpha=alpha*dis;}else{alpha=alpha*0.15;}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flag=temp*alpha;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=flag*10.0*dis*dis;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse=color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','getSingleFs','\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20circle(float\x20edge1,float\x20edge2,vec2\x20st){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis=length(st)*2.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20k=3.14/(edge2-edge1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flag1=step(edge1,dis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flag2=step(dis,edge2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20temp=(dis-edge1)*\x20k;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha=sin(temp)*flag1*flag2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20alpha;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20length=length(materialInput.st-vec2(0.5))*2.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st=materialInput.st-vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20index=smoothstep(0.5,0.75,length);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha=mod(index,1.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20index1=smoothstep(0.75,1.0,length);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha=alpha+index1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20timeFlag=step(time,0.75);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20lengthFlag=step(0.75,length);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha=(1.0-timeFlag)*lengthFlag*alpha+timeFlag*alpha;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20circleAlpha1=circle(0.1,0.12,st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20circleAlpha2=circle(0.3,0.32,st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20circleAlpha3=circle(0.5,0.52,st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20circleFlag1=step(time,0.2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20circleFlag2=step(time,0.4);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20circleFlag3=step(time,0.6);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha=alpha+circleFlag1*circleAlpha1+circleFlag2*circleAlpha2+circleFlag3*circleAlpha3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20flag=step(length,time);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20result=step(time,0.60);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=alpha*flag;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse=result*lineColor.rgb+(1.0-result)*color.rgb;\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','_viewChange','\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20varying\x20vec4\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20normalEC\x20=\x20faceforward(normalEC,\x20vec3(0.0,\x200.0,\x201.0),\x20-normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.normalEC\x20=\x20normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.st\x20=\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20FLAT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20gl_FragColor\x20=\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20normal;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20attribute\x20vec4\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec2\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20float\x20batchId;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20varying\x20vec4\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20v_st;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20v_color\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_st\x20=\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x20//position\x20in\x20eye\x20coordinates\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//normal\x20in\x20eye\x20coordinates\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','createGeometry3D','createGeometry2D','createCircleGeometry2D_Triangles','getRampFs','getSolidFs','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb\x20*\x201.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20str\x20=\x20materialInput.str;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dist\x20=\x20distance(vec2(0.5,\x200.5),\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20per\x20=\x20mod(time,\x20duration)/duration;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dist\x20>\x200.5){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20perDis\x20=\x200.5/count;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20disNum;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20bl\x20=\x200.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(int\x20i\x20=\x200;\x20i\x20<=\x20999;\x20i++){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(float(i)\x20<=\x20count){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20disNum\x20=\x20perDis\x20*\x20float(i)\x20-\x20dist\x20+\x20per\x20/\x20count;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(disNum\x20>\x200.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(disNum\x20<\x20perDis){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x201.0\x20-\x20disNum\x20/\x20perDis;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else\x20if(disNum\x20-\x20perDis\x20<\x20perDis){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x201.0\x20-\x20abs(1.0\x20-\x20disNum\x20/\x20perDis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(bl\x20<\x200.5){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x200.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20bl\x20*\x20color.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb\x20*\x201.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20str\x20=\x20materialInput.str;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dist\x20=\x20distance(vec2(0.5,\x200.5),\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20per\x20=\x20mod(time,\x20duration)/duration;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20perDis\x20=\x200.5/count;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20disNum;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20bl\x20=\x200.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(int\x20i\x20=\x200;\x20i\x20<=\x20999;\x20i++){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(float(i)\x20<=\x20count){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20disNum\x20=\x20perDis\x20*\x20float(i)\x20-\x20dist\x20+\x20per\x20/\x20count;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(disNum\x20<\x20perDis){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x201.0\x20-\x20disNum\x20/\x20perDis;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else\x20if(disNum\x20-\x20perDis\x20<\x20perDis){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x201.0\x20-\x20abs(1.0\x20-\x20disNum\x20/\x20perDis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dist\x20<\x200.35\x20&&\x20bl\x20<\x200.3){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x200.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20bl\x20*\x20color.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','getStripFs','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20str\x20=\x20materialInput.str;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dist\x20=\x20distance(vec2(0.5,\x200.5),\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20per\x20=\x20mod(time,\x20duration)/duration;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20d=\x201.0\x20-\x20abs(dist\x20-\x200.25)\x20*\x203.0;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20perDis\x20=\x200.5/count;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20disNum;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20bl\x20=\x200.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(int\x20i\x20=\x200;\x20i\x20<=\x20999;\x20i++){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(float(i)\x20<=\x20count){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20disNum\x20=\x20perDis\x20*\x20float(i)\x20-\x20dist\x20+\x20per\x20/\x20count;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(disNum\x20>\x200.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(disNum\x20<\x20perDis){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x201.0\x20-\x20disNum\x20/\x20perDis;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else\x20if(disNum\x20-\x20perDis\x20<\x20perDis){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x201.0\x20-\x20abs(1.0\x20-\x20disNum\x20/\x20perDis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(bl\x20<\x200.5){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x200.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bl\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20bl\x20*\x20color.a\x20*\x20d;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','spreadAppearance','spreadGeometry','TriangleMesh','formatData','draw_triangles','ShowGeometryInstanceAttribute','_triPrimitive','attribute\x20vec3\x20position3DHigh;\x20\x20\x20\x20attribute\x20vec3\x20position3DLow;\x20\x20\x20\x20attribute\x20vec4\x20color;\x20\x20\x20\x20varying\x20vec4\x20v_color;\x20\x20\x20\x20attribute\x20float\x20batchId;\x20\x20\x20\x20void\x20main()\x20\x20\x20\x20{\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x20\x20\x20\x20\x20\x20\x20\x20v_color\x20=color;\x20\x20\x20\x20\x20\x20\x20\x20p\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20p;\x20\x20\x20\x20}\x20\x20\x20\x20','\x20\x20\x20\x20varying\x20vec4\x20v_color;\x20\x20\x20\x20void\x20main()\x20\x20\x20\x20{\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=v_color;\x20\x20\x20\x20}\x20\x20\x20\x20','NOT_EQUAL','_indices','rgba(255,\x20255,\x20255,\x201.0','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dt=fract(czm_frameNumber/100.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st=fract(st+vec2(dt,dt));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20textColor=texture2D(image,vec2(1.0)-st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20\x20textColor.a*alphaTemp;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb*vec3(2.0,2.0,2.0);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','createParticleGeometry','getCircleVertex','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mat2\x20rot\x20=\x20mat2(cos(angle),\x20-sin(angle),\x20-sin(angle),\x20-cos(angle));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st\x20=\x20st\x20-\x20vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st\x20=\x20rot\x20*\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st\x20=\x20st\x20+\x20vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20textColor\x20=\x20texture2D(image,\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20textColor.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_fragmentShader','fSWaterFace','varying\x20vec3\x20v_positionMC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20normalEC\x20=\x20normalize(czm_normal3D\x20*\x20czm_geodeticSurfaceNormal(v_positionMC,\x20vec3(0.0),\x20vec3(1.0)));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20normalEC\x20=\x20faceforward(normalEC,\x20vec3(0.0,\x200.0,\x201.0),\x20-normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.s\x20=\x20v_st.s;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.st\x20=\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.str\x20=\x20vec3(v_st,\x200.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.normalEC\x20=\x20normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.tangentToEyeMatrix\x20=\x20czm_eastNorthUpToEyeCoordinates(v_positionMC,\x20materialInput.normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20FLAT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Water','BoundingRectangle','RenderbufferFormat','Framebuffer','Renderbuffer','PassState','Sampler','useLogDepth','derivedCommands','logDepth','hdr','picking','pickCommand','depthOnlyCommand','shadowState','lightShadowsEnabled','receiveCommand','_pointsToCartographic','_refractColor','_reflectColor','_waveWidth','_normalTexture','../images/w1-2-grey.png','_m_startTime','_reflectCamera','_reflectPassState','_initialized','_waterPolygon','_waterColor','_flowSpeed','_flowDirection','_zFactor','_lonMin','_waterCenterPos','RGBA','viewport','framebuffer','m_spNormalTexture','defaultTexture','_fScale','setRow','invWorldViewMatrix','modelViewMatrix','viewMatrix','modeiViewProjection','_fElapse','_frameTime','_flowAngle','_uniformMap','_latMin','getColorTexture','_waterGeometry','UNSIGNED_INT','updateReflectTexture','_drawCommand','projectionMatrix','fromPointNormal','fromBytes','renderColorTexture','ENVIRONMENT','OVERLAY','updatePass','updateCamera','_rainVelocity','_snowVelocity','_weatherType','snow','velocity','createParticle','resources/image/circular_particle.png','computeEmitterMatrix','updateParticle','./resources/image/dash.png','HtmlElementDrag','dragElement','dragX','isMouseDown','mouseDownX','mouseDownY','onMouseMove','onmouseup','onMouseUp','_mouseDownCallback','_mouseMoveCallback','mouseUpCallback','pageX','dragY','_mouseUpCallback','defaultView','getComputedStyle','getElementSize','HtmlItemOpt','initElement','./src/LayerManager/GraphicLayer/GraphicRender/html/HtmlItem.ts','./src/LayerManager/GraphicLayer/GraphicRender/html/ScreenTextItem.ts','_htmlCollection','_htmlContainer','insertCssSheet','outline:\x20none','styleSheets','addRule','插入css样式未成功,请手动添加css样式:\x22.screenTextInput:focus{outline:\x20none}\x22','./src/LayerManager/GraphicLayer/GraphicRender/html/HtmlElementDrag.ts','_parentContainer','childElement','_childElement','innerText','_childElementMargin','_child','boxSizing','border-box','overflow','hidden','_initDragElement','setTop','setLeft','setWidth','setMargin','setHeight','1px\x20#1cff01\x20dashed','contenteditable','_onMouseDown','_onMouseChangeSize','_onTextChange','_dragElement','nw-resize','onkeyup','_onMouseChangePos','10px','0px','userSelect','borderBottom','10px\x20solid\x20#aef','borderLeft','10px\x20solid\x20transparent','rgba(255,255,255)','./src/LayerManager/GraphicLayer/GraphicRender/radar/SphereVertex.ts','./src/LayerManager/GraphicLayer/GraphicRender/radar/SphereLines.ts','./src/LayerManager/GraphicLayer/GraphicRender/radar/SphereCone.ts','_lastTime','_isReserve','_rotateAngle','_primitiveScan','_sphereVertex','setParas','SphereVertex','_sphereTriangle','SphereTriangles','_sphereLines','_sphereCone','SphereCone','_scanPlane','ScanPlane','_posMatrix','createOutPrimitive','createLinePrimitive','createScanPrimitive','_primitiveOut','_primitiveLine','createConePrimitive','innerAlhpa','_primitiveCone','getScanModelMatrix','_primitiveScanLine','geometryLines','PRE_MULTIPLIED_ALPHA_BLEND','\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec4\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20float\x20batchId;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec4\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20p\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20p;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_color\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','horizonNumberScan','verticalNumber','vertexScan','textureScan','normalScan','createLineGeometry_1','POSITION_AND_ST','appearanceLines','POSITION_AND_COLOR','horizonNumber','vertexs','SphereLines','_horStart','_horEnd','_thick','calculateVertexAndTextures','_verStart','_vNum','_ptsScan','_texScan','_norScan','_hNum','createStyle','Arrow','Dash','Glow','Outline','PolylineArrowMaterialProperty','#00ff00','PolylineOutlineMaterialProperty','_gapColor','rgba(0,0,0,0)','_dashLength','_dashPattern','gapColor','dashLength','PolylineDashMaterialProperty','dashPattern','_glowPower','_taperPower','taperPower','glowPower','_icon','Attack','_updateMaterial','Pulse','Trail','arrow','trail','attack','PolylineArrow','PolylineDash','PolylineGlow','PolylineOutline','Dynamic','./src/LayerManager/GraphicLayer/TopologyNode.ts','_idNum','_topoList','deleteGraphicLine','headTopoNode','removeTopoLine','updateTopoNode','searchTopoNode','recovery','createOrUpdateGraphic','copyLine','addTopoLine','TopologyNode','processBreakup','processHead','processBreakupByPoint','processTail','交点p3在p1p2线上','警告:有共线的情况!','buildTopologySingle','buildTopology','clearTopology','flyToPipeline','_cameraControl','FirstPersonControl','exitFly','Layer','_geo','_isHeads','getTopoLines','getIsHeads','createTurnTwo','updateTurnThree','updateTurnTwo','getCenterPts','createTurnThree','ArcGisImagery','ArcGisImageryOpt','./src/LayerManager/ImageLayer/ImageryItem.ts','parseOption','_imageLayer','imageryLayers','_tileDiscardPolicy','_errorEvent','_tileWidth','_minimumLevel','_tilingScheme','WebMercatorTilingScheme','tileWidth','tileWidth\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.','tileHeight','tileHeight\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.','_tileHeight','_maximumLevel','minimumLevel','minimumLevel\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.','tilingScheme','tilingScheme\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.','tileDiscardPolicy','tileDiscardPolicy\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.','rectangle\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.','credit\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.','getNumberOfXTilesAtLevel','{x}','{y}','{s}','ImageryProvider','loadImage','BingMapsImageryProvider','ImageryItem','TilingSchemeE','TilingSchemeParse','lower','lowerToBottom','raiseToTop','_renderItemList','WebMercator','Geographic','getTilingScheme','GeographicTilingScheme','OpenStreetMapImageryProvider','addImageryProvider','maximumLevel','freezeObject','WebMercatorProjection','GetFeatureInfoFormat','TimeDynamicImagery','UrlTemplateImageryProvider','options.times\x20was\x20specified,\x20so\x20options.clock\x20is\x20required.','_reload','_timeDynamicImagery','_tileProvider','subdomains','requestImage','_url','hasAlphaChannel','getTileCredits','currentInterval','checkApproachingInterval','UrlTemplateTimeLayer','WMSImagery','WebMapServiceImageryProvider','tileMatrixSetID','EPSG:4326','_parseUrl','WebMapTileServiceImageryProvider','layer','/arcgis/rest/','services','arcgis/rest/services/','/MapServer/wmts?service=wmts&request=GetTile&version=1.0.0&tileMatrixSet=default028mm&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=png','LayerManager','./src/LayerManager/VectorLayer/VectorLayer.ts','_ImageLayer','_massiveLayer','MassiveLayer','_satelliteLayer','VectorLayer','_modelLayer','_targetLayer','_actionLayer','_vectorLayer','actionLayer','massiveLayer','targetLayer','TargetLayer','terrainLayers','_terrainLayers','satelliteLayer','_tileLayer','_options','_customDataSource','_pixelRange','pixelRange','_minimumClusterSize','minimumClusterSize','_enable','_customStyleEnable','customStyleEnable','_customStyleOpen','_customStyleListener','_resetStyle','_dataSource','clustering','addToEarth','_cluster','clusterEvent','canvas2d','rgb(0,255,0)','rgb(255,0,0)','_coordinator','_radi','_xField','xField','_yField','_valueField','valueField','defaultValueField','_cfgRadius','defaultRadius','setDataMax','setDataMin','extremachange','addData','_organiseData','renderpartial','renderall','_getInternalData','_onExtremaChange','rgba(0,0,0,1)','shadowCanvas','_renderBoundaries','heatmap-canvas','_width','shadowCtx','position:absolute;left:0;top:0;','_palette','_templates','_setStyles','_colorize','radi','_updateGradient','_opacity','opacity','_maxOpacity','maxOpacity','defaultMaxOpacity','_minOpacity','_useGradientOpacity','useGradientOpacity','_blur','globalAlpha','drawImage','getImageData','defaultRenderer','cStore','_store','renderAll','_config','setCoordinator','\x27\x20not\x20found.\x20Maybe\x20it\x20was\x20not\x20registered.','_renderer','removeData','updateConfig','getValueAt','./src/LayerManager/MassiveLayer/HeatMap/HeatMapImageryProvider.js','_heatMapOption','_heatMapLayer','_radiusRate','_calcBound','_updateFllowCamera','_heatMapParams','_zAxisHeight','_zoomLevel','heatmapoptions','xmax','ymin','ymax','bounds','_moveEnd','_create','_rejustHeight','getHeatMapOpt','setRadiusRate','limitMax','_formatPoints','rgb(0,0,255)','limitMin','./src/LayerManager/MassiveLayer/HeatMap/BaseHeatMap.js','Credit','options.bounds\x20is\x20required.','options.bounds.north,\x20options.bounds.south,\x20options.bounds.east\x20and\x20options.bounds.west\x20are\x20required.','data\x20is\x20required.','_wmp','_mbounds','setWidthAndHeight','_spacing','_xoffset','_yoffset','getContainer','_heatmap','_originalImage','setWGS84Data','_dynamicTime','TileProviderError','handleSuccess','Failed\x20to\x20load\x20image\x20','_image','width:\x20','px;\x20height:\x20','px;\x20margin:\x200px;\x20display:\x20none;','wgs84ToMercator','wgs84ToMercatorBB','mercatorToWgs84','mercatorToWgs84BB','unproject','rad2deg','wgs84PointToHeatmapPoint','mercatorPointToHeatmapPoint','reload','requestImage\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.','pickFeatures','maximumLevel\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','./src/LayerManager/MassiveLayer/MapV/MapV.min.js','baiduMapLayer','dataSet','argCheck','initDevicePixelRatio','canvasLayer','stopAniamation','clickEvent','mousemoveEvent','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function,\x20not\x20','addAnimatorEvent','animatorMovestartEvent','isEnabledTime','stepsRange','animatorMoveendEvent','animator','bindEvent','methods','initDataRange','setZIndex','initAnimator','globalCompositeOperation','destination-out','COLOR_BUFFER_BIT','wgs84ToWindowCoordinates','draw','unbindEvent','MapVBaseLayer','innerMoveStart','moveStartEvent','innerMoveEnd','moveStart','MIDDLE_UP','postRender','moveEndEvent','zoomStartEvent','_unvisiable','removeAllData','clearData','MapVOptions','layerid','pointerEvents','resizeCanvas','fixPosition','onResize','_visiable','_canvasUpdate','_subscribers','rgba(0,\x200,\x20255,\x201)','rgba(0,\x20255,\x200,\x201)','rgba(255,\x20255,\x200,\x201)','rgba(255,\x200,\x200,\x201)','maxSize','minSize','initPalette','shadowBlur','shadowColor','shadowOffsetX','shadowOffsetY','withoutAlpha','createShader','compileShader','VERTEX_SHADER','attachShader','linkProgram','useProgram','lng','splitList','paneName','mapPane','mixBlendMode','enableMassClear','_map','_lastDrawTime','isAdded_','isAnimated_','paneName_','DEFAULT_PANE_NAME_','topLeft_','centerListener_','resizeListener_','needsResize_','requestAnimationFrameId_','canvasCssWidth_','canvasCssHeight_','resolutionScale_','repositionFunction_','repositionCanvas_','requestUpdateFunction_','setOptions','Cannot\x20trigger\x20event\x20*','Unknown\x20dataType','transferCoordinate','fromColumn','toColumn','_trigger','initGeometry','getSum','bigData','drawPolygon','_fillStyle','_strokeStyle','setMax','setMaxSize','setMinSize','paletteCtx','getLegend','strength','rgba(0,0,0,','white','attribute\x20vec4\x20a_Position;','void\x20main()\x20{','gl_PointSize\x20=\x2030.0;','precision\x20mediump\x20float;','uniform\x20vec4\x20u_FragColor;','gl_FragColor\x20=\x20u_FragColor;','createBuffer','getAttribLocation','vertexAttribPointer','enableVertexAttribArray','getUniformLocation','u_FragColor','uniform4f','bufferData','drawArrays','LINE_STRIP','attribute\x20float\x20a_PointSize;','gl_Position\x20=\x20a_Position;','gl_PointSize\x20=\x20a_PointSize;','a_Position','a_PointSize','bindBuffer','vertexAttrib1f','POINTS','blendFunc','drawElements','UNSIGNED_SHORT','116.395645,39.929986|12','121.487899,31.249162|12','117.210813,39.14393|12','106.530635,29.544606|12','117.216005,31.859252|8','117.282699,31.866942|12','117.058739,30.537898|13','117.35708,32.929499|13','115.787928,33.871211|13','118.32457,32.317351|13','115.820932,32.901211|13','116.791447,33.960023|13','117.018639,32.642812|13','118.29357,29.734435|13','116.505253,31.755558|13','马鞍山','118.515882,31.688528|13','117.984943,26.050118|8','119.330221,26.047125|12','117.017997,25.078685|13','118.181883,26.643626|13','119.542082,26.656527|14','119.077731,25.44845|13','118.600362,24.901652|12','117.642194,26.270835|14','102.457625,38.103267|6','103.823305,36.064226|12','104.171241,36.546682|13','104.626638,35.586056|13','102.917442,34.992211|14','嘉峪关','98.281635,39.802397|13','102.208126,38.516072|13','103.215249,35.598514|13','104.934573,33.39448|14','106.688911,35.55011|13','107.644227,35.726801|13','102.640147,37.933172|13','100.459892,38.93932|13','113.394818,23.408004|8','113.763434,23.043024|12','113.134026,23.035095|13','113.078125,22.575117|13','110.931245,21.668226|13','116.126403,24.304571|13','116.72865,23.383908|13','115.372924,22.778731|14','113.594461,24.80296|13','111.97701,21.871517|14','112.050946,22.937976|13','112.479653,23.078663|13','113.562447,22.256915|13','108.297234,22.806493|12','109.122628,21.472718|13','107.357322,22.415455|14','防城港','108.351791,21.617398|15','109.613708,23.103373|13','108.069948,24.699521|14','111.552594,24.411054|14','109.231817,23.741166|14','109.422402,24.329053|12','111.305472,23.485395|13','106.734996,26.902826|8','106.709177,26.629907|12','105.92827,26.228595|13','毕节地区','105.300492,27.302612|14','104.852087,26.591866|13','铜仁地区','109.196161,27.726271|14','106.93126,27.699961|13','104.900558,25.095148|11','黔东南州','黔南州','107.523205,26.264536|11','109.733755,19.180501|9','110.330802,20.022071|13','109.656113,18.597592|12','109.0113,19.222483|12','109.413973,19.571153|13','108.85101,18.998161|13','110.32009,19.490991|13','110.414359,19.21483|13','109.861849,19.039771|12','109.062698,18.658614|12','109.724101,19.805922|13','109.948661,18.575985|12','110.063364,19.347749|13','110.292505,18.839886|13','110.780909,19.750947|13','五指山','109.51775,18.831306|13','115.661434,38.61384|7','114.522082,38.048958|12','116.863806,38.297615|13','117.933822,40.992521|14','114.482694,36.609308|13','115.686229,37.746929|13','秦皇岛','119.604368,39.945462|12','118.183451,39.650531|13','张家口','114.893782,40.811188|13','113.486804,34.157184|7','114.351807,36.110267|12','114.29777,35.755426|13','112.447525,34.657368|12','114.046061,33.576279|13','112.542842,33.01142|13','平顶山','113.300849,33.745301|13','115.026627,35.753298|12','三门峡','111.181262,34.78332|13','115.641886,34.438589|13','113.91269,35.307258|13','114.085491,32.128582|13','113.835312,34.02674|13','114.654102,33.623741|13','驻马店','114.049154,32.983158|13','黑龙江','哈尔滨','126.657717,45.773225|12','125.02184,46.596709|12','大兴安岭地区','124.196104,51.991789|10','130.292472,47.338666|13','127.50083,50.25069|14','130.941767,45.32154|13','佳木斯','129.608035,44.588521|13','齐齐哈尔','双鸭山','126.989095,46.646064|13','112.410562,31.209316|8','114.3162,30.581084|12','114.895594,30.384439|14','109.517433,30.308978|14','114.906618,30.446109|14','112.241866,30.332591|12','112.768768,30.343116|13','神农架林区','110.487231,31.595768|13','110.801229,32.636994|13','113.379358,31.717858|13','113.387448,30.293966|13','114.300061,29.880657|13','112.176326,32.094934|12','113.935734,30.927955|13','111.310981,30.732758|13','111.720664,27.695864|7','112.979353,28.213478|12','111.653718,29.012149|12','113.037704,25.782264|13','112.583819,26.898164|13','109.986959,27.557483|13','111.996396,27.741073|13','111.461525,27.236811|13','112.935556,27.835095|13','湘西州','109.745746,28.317951|14','111.614648,26.435972|13','113.146196,29.378007|13','110.48162,29.124889|13','113.131695,27.827433|13','119.368489,33.013797|8','118.778074,32.057236|12','119.030186,33.606513|12','连云港','119.173872,34.601549|12','120.873801,32.014665|12','120.619907,31.317987|12','118.296893,33.95205|13','119.919606,32.476053|13','120.305456,31.570037|12','119.427778,32.408505|13','119.455835,32.204409|13','115.676082,27.757258|7','115.893528,28.689578|12','116.360919,27.954545|13','114.935909,25.845296|13','景德镇','117.186523,29.303563|12','115.999848,29.71964|13','113.859917,27.639544|13','114.947117,27.822322|13','114.400039,27.81113|13','117.03545,28.24131|13','126.262876,43.678846|7','122.840777,45.621086|13','126.435798,41.945859|13','吉林市','125.133686,42.923303|13','124.391382,43.175525|12','125.94265,41.736397|13','122.753592,41.6216|8','123.432791,41.808645|12','123.007763,41.118744|13','123.778062,41.325838|12','120.446163,41.571828|13','121.593478,38.94871|12','124.338543,40.129023|12','123.92982,41.877304|12','121.660822,42.01925|14','葫芦岛','121.147749,41.130879|13','123.172451,41.273339|14','122.073228,41.141248|13','123.85485,42.299757|13','内蒙古','114.415868,43.468238|5','呼和浩特','111.660351,40.828319|12','阿拉善盟','105.695683,38.843075|14','109.846239,40.647119|12','巴彦淖尔','107.423807,40.76918|12','118.930761,42.297112|12','109.993706,39.81649|12','呼伦贝尔','119.760822,49.201636|12','122.260363,43.633756|12','106.831999,39.683177|13','乌兰察布','113.112846,41.022363|12','锡林郭勒盟','116.02734,43.939705|11','兴安盟','122.048167,46.083757|11','106.155481,37.321323|8','106.206479,38.502621|12','106.208254,37.993561|14','105.196754,37.521124|14','96.202544,35.499761|7','果洛州','100.223723,34.480485|11','海东地区','102.085207,36.51761|11','海北州','100.879802,36.960654|11','海南州','100.624066,36.284364|11','97.342625,37.373799|11','黄南州','102.0076,35.522852|11','玉树州','97.013316,33.00624|14','117.024967,36.682785|12','116.328161,37.460826|12','116.600798,35.402122|13','117.684667,36.233654|13','118.340768,35.072409|12','120.384428,36.105215|12','119.50718,35.420225|12','117.089415,36.188078|13','121.309555,37.536562|12','118.059134,36.804685|12','112.515496,37.866566|7','112.550864,37.890277|12','113.120292,36.201664|12','112.867333,35.499834|13','112.738514,37.693362|13','111.538788,36.099745|13','112.727939,38.461031|12','111.006854,35.038859|13','109.503789,35.860026|7','108.953098,34.2778|12','109.038045,32.70437|13','107.170645,34.364081|12','107.045478,33.081569|13','109.934208,33.873907|13','109.745926,38.279439|12','102.89916,30.367481|7','102.228565,31.905763|15','106.757916,31.869189|14','107.494973,31.214199|14','104.402398,31.13114|13','甘孜州','101.969232,30.055144|15','106.63572,30.463984|13','105.819687,32.44104|13','103.760824,29.600958|13','凉山州','102.259591,27.892393|14','105.44397,28.89593|14','106.105554,30.800965|13','103.84143,30.061115|13','105.073056,29.599462|13','攀枝花','101.722423,26.587571|14','103.009356,29.999716|13','104.633019,28.769675|13','104.63593,30.132191|13','104.776071,29.359157|13','89.137982,31.367315|6','91.111891,29.662557|13','阿里地区','81.107669,30.404557|11','林芝地区','94.349985,29.666941|11','92.067018,31.48068|14','日喀则地区','山南地区','85.614899,42.127001|6','乌鲁木齐','阿拉尔','阿克苏地区','80.269846,41.171731|12','阿勒泰地区','88.137915,47.839744|13','巴音郭楞','86.121688,41.771362|12','博尔塔拉州','82.052436,44.913651|11','昌吉州','87.296038,44.007058|13','93.528355,42.858596|13','和田地区','79.930239,37.116774|13','喀什地区','克拉玛依','84.88118,45.594331|13','克孜勒苏州','76.137564,39.750346|11','塔城地区','82.974881,46.758684|12','79.198155,39.889223|13','吐鲁番地区','89.181595,42.96047|13','五家渠','87.565449,44.368899|13','伊犁州','81.297854,43.922248|11','101.592952,24.864213|7','102.714601,25.049153|12','101.529382,25.066356|13','大理州','100.223675,25.5969|14','德宏州','99.713682,27.831029|14','红河州','100.229628,26.875351|13','100.092613,23.887806|14','怒江州','98.859932,25.860677|14','100.980058,22.788778|14','103.725021,27.340633|13','西双版纳','100.803038,22.009433|13','102.545068,24.370447|13','120.219375,30.259244|12','120.137243,30.877925|12','120.760428,30.773992|13','119.652576,29.102899|12','121.579006,29.885259|12','118.875842,28.95691|12','120.592467,30.002365|13','120.690635,28.002838|12','122.169872,30.03601|13','114.186124,22.293586|11','113.557519,22.204118|13','120.961454,23.80406|8','provinces','cities','municipalities','other','generateByDataSet','rgba(255,\x20255,\x200,\x200.8)','rgba(255,\x20146,\x20149,\x200.8)','rgba(255,\x20241,\x20193,\x200.8)','rgba(110,\x20176,\x20253,\x200.8)','','','generateByMinMax','rgba(253,\x2098,\x20104,\x200.8)','rgba(52,\x20139,\x20251,\x200.8)','id\x20和\x20type\x20为必填项','baidu','暂不支持你的地图类型','zoom','centerAndZoom','enableScrollWheelZoom','setMapStyle','light','addLayer','position:absolute;left:0;top:0;z-index:','adjustSize','_draw','timeoutID','getCenter','pointToOverlayPixel','addOverlay','getZIndex','hrtime','Interpolation','Linear','stopChainedTweens','repeatDelay','yoyo','onComplete','Bounce','Utils','bold\x20','px\x20Arial','middle','deg','swidth','sheight','getDefaultContextConfig','source-over','rgba(0,\x200,\x200,\x200)','butt','10px\x20sans-serif','intensity','heatmap','choropleth','styleType','drawContext','honeycomb','clip','rgba(0,\x200,\x200,\x200.5)','drawDataSet','webgl','isPointInPath','transferToMercator','setMin','getMapType','getProjection','bd09mc','coordType','lngLatToPoint','getZoom','coordinates_mercator','processData','drawAnimation','rgba(0,\x200,\x200,\x20.1)','animateTime','timeout','pixel','setDefaultCursor','Pixel','minZoom','maxZoom','trails','pointToPixel','updateCallback','movestart','moveend','removeOverlay','google','maps','OverlayView','overlayLayer','CSS_TRANSFORM_','WebkitTransform','MozTransform','OTransform','msTransform','requestAnimFrame_','requestAnimationFrame','mozRequestAnimationFrame','oRequestAnimationFrame','msRequestAnimationFrame','cancelAnimFrame_','cancelAnimationFrame','webkitCancelAnimationFrame','mozCancelAnimationFrame','oCancelAnimationFrame','msCancelAnimationFrame','setAnimate','setPaneName','updateHandler','setResizeHandler','resizeHandler','resolutionScale','setResolutionScale','setMap','scheduleUpdate','setPane_','getPaneName','getPanes','resizeHandler_','setUpdateHandler','updateHandler_','onAdd','getMap','resize_','onRemove','getNorthEast','fromLatLngToDivPixel','px)','update_','getTopLeft','fromLatLngToPoint','LatLng','|\x5cr?\x5cn|\x5cr|^)(?:\x22([^\x22]*(?:\x22\x22[^\x22]*)*)\x22|([^\x22\x5c','\x5cr\x5cn]*))','CSVToArray','canvasDrawHoneycomb','webglDrawSimple','webglDrawPoint','webglDrawLine','webglDrawPolygon','utilCurve','utilForceEdgeBundling','bundling_stiffness','step_size','cycles','iterations_rate','subdivision_points_seed','compatbility_threshold','utilDataRangeIntensity','utilDataRangeCategory','baiduMapCanvasLayer','baiduMapAnimationLayer','googleMapCanvasLayer','googleMapLayer','DataSet','csv','./src/LayerManager/MassiveLayer/MapV/CombineMapV.js','Mapv','_getCurvePoints','utilCityCenter','_getProvinceNameByCityName','_getDataSet','_DataSetReset','_DataSetGet','_DataSetSet','_DataSetClear','_DataSetUpdate','_DataSetTransferCoordinate','_DataSetinitGeometry','_DataSetGetMax','_DataSetUnique','_MapV','_MapVOptions','_initMapv','getMapVOpt','createDataSet','_DataSetAdd','_DataSetGetSum','_DataSetGetMin','getUnique','getDataSet','_getCenterByCityName','getCenterByCityName','getProvinceNameByCityName','_apprence','_lineInstances','_lineData','lineData','_lineTexTure','lineTexTure','_animateColor','animateColor','sportColor','_linePrimitive','createLineInstance','drawLines','_lineWidth','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20\x20\x20\x20\x20\x20\x20\x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20shift=st.s*7.0-offset\x20;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(shift\x20<\x200.0||shift\x20>\x201.0)\x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20lineColor.a;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20\x20lineColor.rgb;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20texture2D(image,\x20vec2(shift,\x20st.t)).a\x20*\x20sportColor.a;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20max(sportColor.rgb\x20*\x20material.alpha\x20*\x203.0,\x20sportColor.rgb);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20\x20\x20\x20\x20\x20\x20\x20','../../../dist/resources/image/specialLine/ArrowTransparent.png','rgba(0.05,\x200.05,\x200.05,\x200.0)','PointStyle','_colors','_pointColors','_pointPositions','_pointSizes','resolveData','getPointSize','attribute\x20vec3\x20position3DHigh;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DLow;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec4\x20color;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20float\x20msize;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec4\x20v_color;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20float\x20batchId;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_color\x20=color;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20p\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20p;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_PointSize=msize;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_heightFlag','_instances','createInstances','changePickedColor','getGeometryInstanceAttributes','toValue','SpaceDebris','./src/LayerManager/MassiveLayer/SpaceDebrisItem.ts','PointPrimitiveCollection','workerArray','debrisMap','derbrisList','workerUrl','resources/workers/satellite.worker.js','tle1','tle2','SpaceDebrisItem','tle','toDate','addDebrisItem','_currentTime','age','vComponent','lo2','la2','refTime','_calcUV','getIn','_bilinearInterpolation','Windy','./src/LayerManager/MassiveLayer/windy/Particle.js','./src/LayerManager/MassiveLayer/windy/WindField.js','MAX_AGE','BRIGHTEN','windData','windy','windField','removeLines','cesiumViewer','particles','initWindyData','windDataObj','WindyData','createField','PARTICLES_NUMBER','randomParticle','_parseWindJson','SPEED_RATE','_createLineInstance','birthAge','_drawLines','parameterNumber','2,2','2,3','http://mt1.google.cn/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}&s=Gali','processWindata','loadWindyData','fetchJson','lo1','entityId','la1','redraw','addExtent','./src/LayerManager/ModelLayer/ModelItem.ts','ModelItem','ModelLayer','modelItem','getRenderItemById','ConicSensor','satellitePos','conicPos','_coverColor','coverColor','_swingAngle','swingAngle','_primitiveCollection','_conicOpt','conic','conicAngle','pickID','updateMatrix','GeoVector3','ReactangularSensor','xAngle','zAngle','rectangularPos','_scanColor','_scanShow','scanPlanePrimitive','getWorldMatrix','_xAngle','_rectangularOpt','createScanPlane','_zAngle','scanShow','getRotationMatrix','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x201.0\x20-\x20st.y\x20*\x200.9;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','Satellite','RectangularOpt','ConicOpt','SynchronousOpt','./src/Utils/satellite/DateHelper.ts','./src/Utils/satellite/GxMath.ts','./src/LayerManager/SatelliteLayer/ConicSensor.ts','./src/LayerManager/SatelliteLayer/RectangularSensor.ts','./src/LayerManager/SatelliteLayer/SynchronousSensor.ts','_tle','imageUrl','modelUrl','./resources/model/wx.glb','_entitiesMap','_orbitPositions','sateMinPixelSize','localOrbitData','_synchronousPosition','synchronousPosition','_synchronousSensorMap','enableComponent','SatImage','createSatImageOrModel','Orbit','createOrbit','Sensor','synchronous','createSquareCone','GroundTrack','createGroundTrack','disableComponent','addSynchronousSensor','SynchronousSensor','removeSynchronousSensor','getSensor','createSatImage','_currentPosition','createSatModel','BillboardGraphics','_sampleProperty','fromRotationMatrix','LabelGraphics','resources/image/specialLine/alpha.png','orbitColor','orbitWidth','_sensorOpt','_satelliteSensor','calculateRecPosition','PolygonGraphics','greaterThan','calculateCirPosition','IntersectionTests','rayEllipsoid','SampledProperty','MIN_VALUE','addSample','setInterpolationOptions','HermitePolynomialApproximation','_sampleSpeedProperty','DateHelper','addSecond','changeRail','_localOrbitData','_priod','calculatePeriod','calculatePositions2D','Eci','calculateOrbitEci','orbitType','Ecf','calculateOrbitEcf','calculatePositions3D','isPicked','groundTrackColor','priod','satelliteSensor','setLocalOrbitData','getPos','getEcfPosition','getGeoPosition','clockMultiplier','getLabelGraphic','movePlay','#FF8C00','#FFFFFF','satBillboard','Ground\x20track','satelliteNames','Satellite\x20','\x20already\x20exists','getSatellite','pickSatellite','createGroundPrimitive','./src/LayerManager/TargetLayer/targetEffect/TimePositions.ts','_entities','_trackLineColor','_trackLineWidth','_trackPointColor','_trackPointSize','_smoothTrack','_pathList','_timePositionList','TimePositions','_historyDataSource','_dsName','_timePosition2sample','forwardExtrapolationType','ExtrapolationType','HOLD','backwardExtrapolationType','addSamples','TimePosition','addEntitys','_positionList','VelocityOrientationProperty','_computeAngle','computeHeading','iconUrl','iconSize','pointSize','pointDisplayCondition','pointLineColor','pointLineWidth','_style','fontbgColor','labeloffsetx','labeloffsety','labelDisplayCondition','addTargetHistory','TimeInterval','TimeIntervalCollection','iconDisplayCondition','showFontbgColor','modelDisplayCondition','setTimeSection','computeAngle','pointColor','./src/LayerManager/TargetLayer/targetEffect/TargetState.ts','./src/LayerManager/TargetLayer/TargetPath.ts','./src/LayerManager/TargetLayer/targetEffect/TargetFlame.ts','TargetState','_pedding','TargetStyle','DefaultStyle','_parentLayer','_timeArray','_bUseIconColor','_isSelected','_showLabel','_labelInit','_linkLine','_showLink','_modelInit','_forewardPath','_depthTest','_partners','_geoPoint','_textColor','_modelColor','_timePosition','timePositionList','forewardPath','TargetPath','foreward','trackLineColor','trackPointColor','backwardPath','_backwardPath','PathType','backward','flame','_flame','TargetFlame','showLabel','showModel','_showModel','_model','styleCode','pointCacheSize','_cacheSize','useIconColor','_billbord','Update','updateFlame','highlightSelection','isSelected','selectionColor','modelColor','iconWidth','iconHeight','_iconHeight','showLink','_userHPR','headingPitchRollQuaternion','modelHPR','graphicGroup','removePartner','clearPartner','partnerList','renderOption','_gid','_ennableDrag','interplatePosition','layerConfig','moveAmount','_highlightSelection','_brefresh','_canvasCache','_graphicGroup','earth','rootcollection','rootPointcollection','pointcollection','labelcollection','LabelCollection','billbordcollection','targetModel','trackLinecollection','PolylineCollection','trackPointcollection','linkLines','anchorLine','defaultStyle','targetdataSource','displayCondition','_renderTarget','initMouseEvt','_getUnderGoundExtent','_surface','tileProvider','_getCurrentExtent','xmin','_pointInView','pendding','targetCollection','_getLable','_getLinkLine','updateLineCanvas','modelcollection','_inview','smoothTrack','Add','_addORUpdateTarget','_getPoint','getStyleByCode','_getBillboard','_getModel','setTargetStyle','addTrack','trackInit','mtype','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20texture2D(image,\x20st).a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20lineColor.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','loadLinklines','_addTarget','px\x20\x20\x20','modelMinimumPixelSize','clearSelection','loadStyleConfig','getSelection','reverseSelection','selectAll','目标图层','ennableDrag','linkLineWidth','_linkLineWidth','updateLinkStyle','linkLineColor','isExist','_lineBillboard','_showTrack','_trackPositionCount','_trackInit','_trackLineType','_mtype','_backLineMode','ramp','_modeChange','trackLine','trackPositions','_trackLine','trackPositionCount','trackLineWidth','_trackPoints','updateTrackPoint','getTagPositions','_target','getTrackPoint','_trackPositions','trackLineType','getHistoryPoints','foreLineMode','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20texture2D(image,\x20st).a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20lineColor.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','full','_showBackground','_selectedColor','_pointSize','_pointLineWidth','_pointLineColor','_fontSize','_fontColor','_showFontbgColor','_labelDisplayCondition','_labelLineColor','_iconUrl','images/ship.png','_iconSize','_modelDisplayCondition','_modelMaximumScale','_modelMinimumPixelSize','#FF0000','_labeloffsetx','_iconWidth','selectedColor','_pointDisplayCondition','_font','_fontbgColor','labelLineColor','_iconDisplayCondition','_modelUrl','modelMaximumScale','_labeloffsety','trs','_earth','particleSystem','buildModuleUrl','Assets/Textures/smoke.png','applyGravity','emitterModelMatrix','hpr','Retain','_positionIndex','_sampleCount','_positionScratch','xSpan','getMoveAmount','isHistory','getPreservePoints','getNearestIndex','timeSpan','ySpan','zSpan','refreshList','TerrainProvider','options.url\x20is\x20required.','_heightmapWidth','_levelZeroMaximumGeometricError','_heightmapStructure','_hasVertexNormals','_requestVertexNormals','requestVertexNormals','_littleEndianExtensionSize','_requestWaterMask','requestWaterMask','_proxy','The\x20tile\x20format\x20is\x20not\x20specified\x20in\x20the\x20layer.json\x20file.','tiles','heightmap-1.0','_hasWaterMask','quantized-mesh-1.','The\x20tile\x20format\x20\x22','\x22\x20is\x20invalid\x20or\x20not\x20supported.','_availableTiles','attribution','octvertexnormals','watermask','tms','application/vnd.quantized-mesh;extensions=',',application/octet-stream;q=0.9,*/*;q=0.01','application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01','requestTileGeometry','requestTileGeometry\x20must\x20not\x20be\x20called\x20before\x20the\x20terrain\x20provider\x20is\x20ready.','_tileUrlTemplates','_maxLevel','getNumberOfYTilesAtLevel','getURL','vertexnormals','_ionEndpoint','externalType','1.0.0','maxLevel','credit\x20must\x20not\x20be\x20called\x20before\x20the\x20terrain\x20provider\x20is\x20ready.','hasWaterMask\x20must\x20not\x20be\x20called\x20before\x20the\x20terrain\x20provider\x20is\x20ready.','hasVertexNormals\x20must\x20not\x20be\x20called\x20before\x20the\x20terrain\x20provider\x20is\x20ready.','getLevelMaximumGeometricError','getTileDataAvailable','LayerInfo','HeightmapTerrainData','QuantizedMeshTerrainData','_ellipsoid','_requestMetadata','requestMetadata','_tileCredits','_attribution','_overallAvailability','_overallMaxZoom','abortRequest','_lastResource','_layerJsonResource','layer.json','credits','requestLayerJson','parseMetadataSuccess','_metadataError','The\x20layer.json\x20file\x20does\x20not\x20specify\x20any\x20tile\x20URL\x20templates.','maxzoom','The\x20projection\x20\x22','getEstimatedLevelZeroGeometricErrorForAHeightmap','slippyMap','The\x20scheme\x20\x22','_scheme','metadataAvailability','available','TileAvailability','endY','startY','startX','endX','addAvailableTileRange','_hasMetadata','A\x20layer.json\x20can\x27t\x20have\x20a\x20parentUrl\x20if\x20it\x20does\x27t\x20have\x20an\x20available\x20array.','appendForwardSlash','parseMetadataFailure','_availability','metadataFailure','statusCode','metadataSuccess','{z}/{x}/{y}.terrain?v={version}','getAvailabilityTile','availabilityLevels','checkLayer','availabilityPromiseCache','availabilityTilesLoaded','availability','isTileAvailable','Request','RequestType','requestTile','createQuantizedMeshTerrainData','littleEndianExtensionSize','getFloat64','getFloat32','getUint32','AttributeCompression','zigZagDeltaDecode','createTypedArrayFromArrayBuffer','getUint8','METADATA','getJsonFromTypedArray','tileXYToRectangle','OrientedBoundingBox','createHeightmapTerrainData','RuntimeError','tileUrlTemplates','hasWaterMask','hasMetadata','resource','getRequestHeader','hasVertexNormals','hasMetadata\x20must\x20not\x20be\x20called\x20before\x20the\x20terrain\x20provider\x20is\x20ready.','OCT_VERTEX_NORMALS','WATER_MASK','isHeightmap','TMSTerrainProvider','./src/LayerManager/TerrainLayer/ComTerrainProvider.ts','requestLayerXml','getElementsByTagName','TileMap','tilemapservice','Title','nodeValue','SRS','childNodes','BoundingBox','minx','miny','maxx','Origin','TileFormat','mime-type','_dataExtension','TileSets','units-per-pixel','positionToTileXY','xmlFailure','An\x20error\x20occurred\x20while\x20accessing\x20','getLevelUrl','_tileSets','requestTileBuffer','createQuantizedMeshTerrainData__','image/raw','_dataFormat','getRightPixels','getRightBottomPixel','getPixelIndex','v=undefined','fromRectangle','createHeightmap','ComTerrainProvider','_terrainProvider','terrain','TerrainLayerCollection','EllipsoidTerrainProvider','_initBaseTerrain','_baseProvider','_getTerrainData','_reloadTerain','BDTileData','_prepare','buildColorTable','#08f747','#e8f708','#f7084a','ColorTable','addGridData','addGrid','minValue','GREEN','颜色为空','freeResources','_geographicTilingScheme','_changed','_isLoading','_loading','_loaded','_tileReplacementQueue','TileReplacementQueue','tileCacheSize','_renderTiles','_pickEvent','_deleteTileSetEvent','tilesetDeletechange','raiseEvent','findTileFromCache','replacementNext','delete\x20this\x20tile','processTile','prepare','_tileUrl','eligibleForUnloading','markTileRendered','DataSource','setLoading','getTileExtent','buildTileUrl','{level}','{xmin}','{xmax}','{ymin}','{ymax}','getRenderTileKeys','markStartOfRenderFrame','forEachRenderedTile','_showLevel','_is3D','AQUA','_isClip','colseRangeLabels','percentageChanged','_removeEnd','_currenInfo','pickEvent','_currentGrid','currentLabel','_queryUrl','_currentLevel','{lon}','{lat}','POLYGON((','gger','请设置查询服务地址','enablePick','_clipExt','getExtent','currentLevel','updatePrimitive','{top}','updatePrimitive3D','lngs','lats','rgb(77,255,255)','heights','RectangleOutlineGeometry','_gridColor','_fillColor','_primitive3D','maximumAliasedLineWidth','setClipRange','_clipEntity','showSkirts','showGroundAtmosphere','undergroundColor','clearClipRange','_tilesToRenderByTextureCount','IconTileOpt','./src/LayerManager/TileLayer/IconTileData.js','./src/LayerManager/TileLayer/WMTSVectorProvider.ts','minLevel','_isPick','isPick','_pickedColor','pickedColor','_entityCollection','EntityCollection','_entityCluster','EntityCluster','AssociativeArray','_pickInstance','_provider','WMTSVectorProvider','_pickTile','resetOriginColor','_pickPrimitive','isLoading','changedEvent','errorEvent','loadingEvent','handleParentAndChildren','_countdelete','createBill','processBill','Unknown\x20geometry\x20type:\x20','feature.geometry\x20is\x20required.','loadBillData','createCollection','_minLevel','IconTileData','requestVectorTile','billCollection','_tileCacheSize','_oldInstance','trimTiles','removeInputAction','../../../dist/resources/image/facility.gif','the\x20key\x20of\x20VectorTile\x20is\x20required.','_replacementPrevious','_billCollection','instance\x20is\x20required.','the\x20property\x20of\x20id\x20is\x20required\x20to\x20be\x20a\x20string\x20or\x20number.','An\x20instance\x20with\x20id\x20','\x20already\x20exists\x20in\x20this\x20collection.','_replacementNext','instanceSize','GxGeoRegion','MaxX','MinX','CenterY','MinY','YSpan','MinLon','MaxLon','CenterLat','MaxLat','JPlaceNameTile','LayerStyles','billboardcollection','InitViewer','CurrentLV','DLBM','DMMC','DMBS','getPlaceLabelParam','capital.png','shenghui.png','big_city.png','chengzhen.png','6495ED','xiangzhen.png','ffff00','60dc9a','0f4779','6495ed','ffffff','f5deb3','CurrentPlaceName','./src/LayerManager/TileLayer/JPlaceName/GxGeoRegion.ts','./src/LayerManager/TileLayer/JPlaceName/QRTile.ts','./src/LayerManager/TileLayer/JPlaceName/ViewerSceen.ts','http://10.10.79.220:9001/api/v1/query/dlbm=','DegreeToRadians','baseurl','initPlaceNameStyle','syncGetJson','./config/placenameStyle.json','DMTCBM','TCYS','showPlaceName','onCameraChange','getCurrentExtent','MaxY','GetTileList','QRTile','oldgeocoord','Level','getJSON','CaculateTile','Row','Col','statusText','setRequestHeader','ViewerSceen','addPreZero','JQPlaceNameTileOpt','JQPlaceFontStyle','url\x20is\x20required.','_clusterDirty','_table','createLevelMap','_styleTable','createDefaultStyles','_placeNameImagery','15pt\x20monospace','rgba(255,255,\x20255,\x201)','doUpdate','value\x20must\x20be\x20defined.','createTileKey','_currentTiles','clusterShow','getScreenSpaceBoundingBox','kdbush','clustered','table','12pt\x20monospace','rgba(204,\x20255,\x20255,\x201.0)','rgba(204,255,\x20255,\x201.0)','getPlaceList','getInt8','_requestImage','./src/LayerManager/TileLayer/LineTileData.js','tilematrixset','_isBuilding','_pickType','coordinatesArrayToCartesianArray','featureID','processLineString','processMultiLineString','processPolygon','processMultiPolygon','processFeature','processFeatureCollection','defaultCrsFunction','_pickShow','_oldTile','pickColor','current\x20tile\x20pick','relativeInstanceProperty','AllTile','all\x20\x20tile\x20pick','pickAllTileProperty','findParentAndChildren','addChildren','LineTileData','crs','_geojson','application/json;type=geojson','_eligibleForUnloading','replacementPrevious','instances','find\x20same\x20instance','./src/LayerManager/TileLayer/ObliqueTileData.js','_vectorLevel','_maxmemory','bArea','_minY','_maxY','crsNames','crsLinkHrefs','crsLinkTypes','getParentKey','_dtiles/tileset.json','grid_','_bArea','_maxX','ObliqueTileData','create3dTile','begin\x20load\x20oblique\x20model','end\x20load\x20oblique\x20model','./node_modules/typedoc/dist/lib/utils/index.js','_features','_bounding','pickFeature','pickLine','needReset','resetResource','pixelRatio','MVT','#bbb','setCGVolor','Style','Stroke','Icon','_replays','_extent','_resolutions','DEFAULT_MAX_ZOOM','toSize','DEFAULT_TILE_SIZE','uriToString','authority','combineQueryParameters','^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\x5c?([^#]*))?(?:#(.*))?$','%20','_queryParameters','getDefaultTransform','_rectangleSouthwestInMeters','setStyleFunction','selectedID:','toJsonTile','getGeoJSONFromPbf','_geoJsonTiles','_findTileFromCache','_handleParentAndChildren','_format','ReplayGroup','selectedID','id_','type_','renderFeature_','replay','_pixelRatio','getUrlComponent','_tags','_parseTile','getDefaultStyleFunction','createDefaultEditing','createEditingStyle','./src/LayerManager/TileLayer/PlaceTile.js','rgba(255,\x20255,255,\x201)','rgba(255.0,\x20255.0,\x20255.0,\x201.0)','getSubTileKeys','getTiles','getGeoCode','createLabelCollection','doOriginTiles','_control','doPlaceTiles','visibleFrame','Begin','doRequestTile','doAnalysis','CreateRender','Visible','doRender','_clusterCount','doCreateTiles','doProcess','computeScreenSpacePosition','rgba(0.0,\x200.0,\x200.0,\x201.0)','rgba(255,255,\x20255,\x201.0)','_labelCollection','_labels','calculateVisible','./src/LayerManager/TileLayer/PolygonTileData.js','_isExtruded','onPick','POSITION_AND_NORMAL','_extrudedHeight','createModel','processModel','loadModelData','isExtruded','png','tileImage.','?x={x}&y={y}&scale={scale}&width={width}&height={height}&transparent=true','{scale}','{width}','removeImageryFromCache','mapUnit','VectorTile','_removeCount','removeCount','isKeyEqual','VectorTileItem','./src/LayerManager/TileLayer/VectorTile.ts','urlSchemeZeroPadding','{reverseY}','{reverseZ}','{z}','_subdomains','_eventHandler','doRequest','application/x-protobuf;type=mapbox-vector','promise\x20is\x20null!','CreateGeometry','doCreateGeometry','doCreatePrimitive','doConvertTiles','doProcessTiles','wmts','providerType','CreatePrimitive','minlevel','maxlevel','GetTile','WMTS','_tilematrixset','requestPromise','Fill','resolutio','scalerank','admin_level','maritime','disputed','maki','place_label','poi_label','https://unpkg.com/@mapbox/maki@4.0.0/icons/','-15.svg','#9e9cab','admin','setColor','#a0c8f0','setFont','HOTPINK','PINK','KMLLayerOpt','VectorItem','./src/LocalScene/BaseDataLayer/Building.ts','./src/LocalScene/BaseDataLayer/FlyLine.ts','./src/LocalScene/BaseDataLayer/Grass.ts','./src/LocalScene/BaseDataLayer/Lake.ts','./src/LocalScene/ElementLayer/ArcFlyLine.ts','./src/LocalScene/ElementLayer/Panel.ts','./src/LocalScene/ElementLayer/Instructions.ts','./src/LocalScene/ElementLayer/POI.ts','./src/LocalScene/ElementLayer/Cone.ts','./src/LocalScene/ElementLayer/Particles.ts','LocalSceneManager','Building','BuildingOpt','FlyLineOpt','Grass','Lake','LakeOpt','DiffusionCircle','DiffusionCircleOpt','Panel','PanelOpt','InstructionsOpt','Sprite','POI','POIOpt','Cone','ConeOpt','Particles','ParticlesOpt','该版本支持小场景','generateUUID','buildingOpt','design:type','onLoad','onError','FlyLine','./src/LocalScene/Utils/Property.ts','flyLineOpt','GrassOpt','grassOpt','lakeOpt','ArcFlyLineOpt','arcFlyLineOpt','coneOpt','diffusionCircleOpt','Instructions','instructionsOpt','spriteOpt','panelType','sprite','panelOpt','SpriteOpt','./src/LocalScene/libs/ThreeManager.js','./src/LocalScene/Utils/CesiumThreeUtil.ts','threeManager','ThreeManager','CesiumThreeUtil','createThreeDiv','beforeUpdate','beforeRender','AfterUpdate','sans-serif','convertCoordinateSystem','ShapeFileLoader','ParseDataToGeometry','threejs\x20Scene\x20instance\x20is\x20Undefined','threeScene','cssScene','buildings','meshLines','Group','waterGroup','instructionsGroup','diffusionCirclesGroup','coneGroup','panels','arcFlyLinesGroup','boundingBox','Box3','setFromPoints','Vector2','topUV','sideUV1','sideUV2','sideUV3','sideUV4','sideUV5','sideUV7','BUILDING','userData','Mesh','layers','MESHLINE','类型报错','records','POLYLINE','POLYGON','sideUV6','Shape','uvgenerator','TubeGeometry','resources/localscene/g_1_t_0.png','TextureLoader','RepeatWrapping','ParallaxShader','UniformsUtils','anisotropy','bumpMap','BUILDING_gradient','multiplyScalar','MeshStandardMaterial','resources/localscene/lightFlow_strip.png','ShaderMaterial','varying\x20vec2\x20vUv;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vUv\x20=\x20uv;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20mvPosition\x20=\x20modelViewMatrix\x20*\x20vec4(position,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20projectionMatrix\x20*\x20mvPosition;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','uniform\x20sampler2D\x20texture;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20time;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20vUv;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(void){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20纹理采样\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texture2D(texture,\x20vec2(vUv.x\x20+\x20time,\x20vUv.y\x20+\x20time));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(color.r\x20*\x20distance(color.rgb,\x20vec3(1.0,0.0,0.0))\x20*\x2010.0\x20,\x20color.g\x20,\x20color.b\x20,\x20color.w);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','DARK','MeshBasicMaterial','SpriteMaterial','spritesGroup','highp','ShapeGeometry','resources/localscene/waterN_Thing.jpg','resources/localscene/waterN_Thing2.jpg','Water2','tRefractionMap','side','DoubleSide','grassGroup','\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20vUv;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vUv\x20=\x20uv;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20mvPosition\x20=\x20modelViewMatrix\x20*\x20vec4(position,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20projectionMatrix\x20*\x20mvPosition;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20}','\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20BigRadius;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20vUv;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(void){\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20distColor\x20=\x20vec3(1.0,0.0,0.0);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dist\x20=\x20distance(vec2(0.5,0.5),vUv);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dist\x20<\x20BigRadius){\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(distColor\x20*\x20100.0,dist\x20-\x200.2);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(distColor,0.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20}','PlaneBufferGeometry','lookAt','materialBig','Float32BufferAttribute','updateRange','BufferAttribute','addAttribute','CSS3DSprite','divElement','CSS3DObject','point2','LineGeometry','LineMaterial','NoColors','defines','USE_DASH','Line2','updateMatrixWorld','particleEngine','candle','positionBase','particleTexture','resources/localscene/raindrop2flip.png','setValues','resources/localscene/snowflake.png','resources/lightray.jpg','AdditiveBlending','PlaneGeometry','makeRotationX','applyMatrix','setX','innerWidth','--------------------shape\x20file\x20数据加载完成-------------------','./src/LocalScene/libs/ParseDataToGeometry.js','Cesium\x20Viewer\x20is\x20Undefined','cssRenderer','parseDataToGeometry','shapeFileLoader','configParams','bloomParams','exposure','bloomStrength','bloomThreshold','bloomRadius','buildingMaterial','meshLineMaterial','Scene','ListenerFunction','PerspectiveCamera','WebGLRenderer','toneMapping','ReinhardToneMapping','autoClear','CSS3DRenderer','setSize','threeContainer','canvas\x20dom\x20is\x20Undefined','ambient','directionalLight','directionalLight1','directionalLight2','directionalLight3','DirectionalLight','EffectComposer','UnrealBloomPass','threshold','SSAARenderPass','unbiased','sampleLevel','addPass','enableDebugPanel','stats','fovy','updateProjectionMatrix','matrixAutoUpdate','inverseViewMatrix','matrixWorld','matrixWorldInverse','aspect','clearDepth','BuildingMatNormal','BuildingMatDark','parseToGeometry','数据加载失败','meshLineDataOnLoad','createGrass','createLakes','ArcFlyLine','createArcFlyLine','createDiffusionCircle','createInstructions','create3DPanel','createSprites','createParticles','createPois','Type\x20Undefined','tween','Type\x20Undefined,dont\x20get\x20display\x20object','GUI','flyline','onChange','toneMappingExposure','gui','fxaa3Fragment','/**\x0a\x20*\x20@license\x0a\x20*\x20Copyright\x20(c)\x202014-2015,\x20NVIDIA\x20CORPORATION.\x20All\x20rights\x20reserved.\x0a\x20*\x0a\x20*\x20Redistribution\x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\x20or\x20without\x0a\x20*\x20modification,\x20are\x20permitted\x20provided\x20that\x20the\x20following\x20conditions\x0a\x20*\x20are\x20met:\x0a\x20*\x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20retain\x20the\x20above\x20copyright\x0a\x20*\x20\x20\x20\x20notice,\x20this\x20list\x20of\x20conditions\x20and\x20the\x20following\x20disclaimer.\x0a\x20*\x20\x20*\x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\x20above\x20copyright\x0a\x20*\x20\x20\x20\x20notice,\x20this\x20list\x20of\x20conditions\x20and\x20the\x20following\x20disclaimer\x20in\x20the\x0a\x20*\x20\x20\x20\x20documentation\x20and/or\x20other\x20materials\x20provided\x20with\x20the\x20distribution.\x0a\x20*\x20\x20*\x20Neither\x20the\x20name\x20of\x20NVIDIA\x20CORPORATION\x20nor\x20the\x20names\x20of\x20its\x0a\x20*\x20\x20\x20\x20contributors\x20may\x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\x0a\x20*\x20\x20\x20\x20from\x20this\x20software\x20without\x20specific\x20prior\x20written\x20permission.\x0a\x20*\x0a\x20*\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\x20COPYRIGHT\x20HOLDERS\x20``AS\x20IS\x27\x27\x20AND\x20ANY\x0a\x20*\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\x20NOT\x20LIMITED\x20TO,\x20THE\x0a\x20*\x20IMPLIED\x20WARRANTIES\x20OF\x20MERCHANTABILITY\x20AND\x20FITNESS\x20FOR\x20A\x20PARTICULAR\x0a\x20*\x20PURPOSE\x20ARE\x20DISCLAIMED.\x20\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\x20OWNER\x20OR\x0a\x20*\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIRECT,\x20INDIRECT,\x20INCIDENTAL,\x20SPECIAL,\x0a\x20*\x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\x20LIMITED\x20TO,\x0a\x20*\x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE,\x20DATA,\x20OR\x0a\x20*\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\x20THEORY\x0a\x20*\x20OF\x20LIABILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20TORT\x0a\x20*\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\x0a\x20*\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\x0a\x20*/\x0a\x0a//\x20NVIDIA\x20GameWorks\x20Graphics\x20Samples\x20GitHub\x20link:\x20https://github.com/NVIDIAGameWorks/GraphicsSamples\x0a//\x20Original\x20FXAA\x203.11\x20shader\x20link:\x20https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h\x0a\x0a//\x20Steps\x20used\x20to\x20integrate\x20into\x20Cesium:\x0a//\x20*\x20The\x20following\x20defines\x20are\x20set:\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FXAA_PC\x201\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FXAA_WEBGL_1\x201\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FXAA_GREEN_AS_LUMA\x201\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FXAA_EARLY_EXIT\x201\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FXAA_GLSL_120\x201\x0a//\x20*\x20All\x20other\x20preprocessor\x20directives\x20besides\x20the\x20FXAA_QUALITY__P*\x20directives\x20were\x20removed.\x0a//\x20*\x20Double\x20underscores\x20are\x20invalid\x20for\x20preprocessor\x20directives\x20so\x20replace\x20them\x20with\x20a\x20single\x20underscore.\x20Replace\x0a//\x20\x20\x20/FXAA_QUALITY__P(.*)/g\x20with\x20/FXAA_QUALITY__P/.\x0a//\x20*\x20There\x20are\x20no\x20implicit\x20conversions\x20from\x20ivec*\x20to\x20vec*\x20so\x20replace:\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FxaaInt2\x20ivec2\x0a//\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20with\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FxaaInt2\x20vec2\x0a//\x20*\x20The\x20texture2DLod\x20function\x20is\x20only\x20available\x20in\x20vertex\x20shaders\x20so\x20replace:\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FxaaTexTop(t,\x20p)\x20texture2DLod(t,\x20p,\x200.0)\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FxaaTexOff(t,\x20p,\x20o,\x20r)\x20texture2DLod(t,\x20p\x20+\x20(o\x20*\x20r),\x200.0)\x0a//\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20with\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FxaaTexTop(t,\x20p)\x20texture2D(t,\x20p)\x0a//\x20\x20\x20\x20\x20\x20\x20#define\x20FxaaTexOff(t,\x20p,\x20o,\x20r)\x20texture2D(t,\x20p\x20+\x20(o\x20*\x20r))\x0a//\x20*\x20FXAA_QUALITY_PRESET\x20is\x20prepended\x20in\x20the\x20javascript\x20code.\x20We\x20may\x20want\x20to\x20expose\x20that\x20setting\x20in\x20the\x20future.\x0a//\x20*\x20The\x20following\x20parameters\x20to\x20FxaaPixelShader\x20are\x20unused\x20and\x20can\x20be\x20removed:\x0a//\x20\x20\x20\x20\x20\x20\x20fxaaConsolePosPos\x0a//\x20\x20\x20\x20\x20\x20\x20fxaaConsoleRcpFrameOpt\x0a//\x20\x20\x20\x20\x20\x20\x20fxaaConsoleRcpFrameOpt2\x0a//\x20\x20\x20\x20\x20\x20\x20fxaaConsole360RcpFrameOpt2\x0a//\x20\x20\x20\x20\x20\x20\x20fxaaConsoleEdgeSharpness\x0a//\x20\x20\x20\x20\x20\x20\x20fxaaConsoleEdgeThreshold\x0a//\x20\x20\x20\x20\x20\x20\x20fxaaConsoleEdgeThresholdMi\x0a//\x20\x20\x20\x20\x20\x20\x20fxaaConsole360ConstDir\x0a\x0a//\x0a//\x20Choose\x20the\x20quality\x20preset.\x0a//\x20This\x20needs\x20to\x20be\x20compiled\x20into\x20the\x20shader\x20as\x20it\x20effects\x20code.\x0a//\x20Best\x20option\x20to\x20include\x20multiple\x20presets\x20is\x20to\x0a//\x20in\x20each\x20shader\x20define\x20the\x20preset,\x20then\x20include\x20this\x20file.\x0a//\x0a//\x20OPTIONS\x0a//\x20-----------------------------------------------------------------------\x0a//\x2010\x20to\x2015\x20-\x20default\x20medium\x20dither\x20(10=fastest,\x2015=highest\x20quality)\x0a//\x2020\x20to\x2029\x20-\x20less\x20dither,\x20more\x20expensive\x20(20=fastest,\x2029=highest\x20quality)\x0a//\x2039\x20\x20\x20\x20\x20\x20\x20-\x20no\x20dither,\x20very\x20expensive\x0a//\x0a//\x20NOTES\x0a//\x20-----------------------------------------------------------------------\x0a//\x2012\x20=\x20slightly\x20faster\x20then\x20FXAA\x203.9\x20and\x20higher\x20edge\x20quality\x20(default)\x0a//\x2013\x20=\x20about\x20same\x20speed\x20as\x20FXAA\x203.9\x20and\x20better\x20than\x2012\x0a//\x2023\x20=\x20closest\x20to\x20FXAA\x203.9\x20visually\x20and\x20performance\x20wise\x0a//\x20\x20_\x20=\x20the\x20lowest\x20digit\x20is\x20directly\x20related\x20to\x20performance\x0a//\x20_\x20\x20=\x20the\x20highest\x20digit\x20is\x20directly\x20related\x20to\x20style\x0a//\x0a//#define\x20FXAA_QUALITY_PRESET\x2012\x0a\x0a\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2010)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x203\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x203.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x2012.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2011)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x204\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x203.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x2012.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2012)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x205\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x2012.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2013)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x206\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x2012.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2014)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x207\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P6\x2012.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2015)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x208\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P6\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P7\x2012.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2020)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x203\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2021)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x204\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2022)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x205\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2023)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x206\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2024)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x207\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x203.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P6\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2025)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x208\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P6\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P7\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2026)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x209\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P6\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P7\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P8\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2027)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x2010\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P6\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P7\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P8\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P9\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2028)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x2011\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P6\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P7\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P8\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P9\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P10\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2029)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x2012\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P6\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P7\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P8\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P9\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P10\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P11\x208.0\x0a#endif\x0a#if\x20(FXAA_QUALITY_PRESET\x20==\x2039)\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_PS\x2012\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P0\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P1\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P2\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P3\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P4\x201.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P5\x201.5\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P6\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P7\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P8\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P9\x202.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P10\x204.0\x0a\x20\x20\x20\x20#define\x20FXAA_QUALITY_P11\x208.0\x0a#endif\x0a\x0a#define\x20FxaaBool\x20bool\x0a#define\x20FxaaFloat\x20float\x0a#define\x20FxaaFloat2\x20vec2\x0a#define\x20FxaaFloat3\x20vec3\x0a#define\x20FxaaFloat4\x20vec4\x0a#define\x20FxaaHalf\x20float\x0a#define\x20FxaaHalf2\x20vec2\x0a#define\x20FxaaHalf3\x20vec3\x0a#define\x20FxaaHalf4\x20vec4\x0a#define\x20FxaaInt2\x20vec2\x0a#define\x20FxaaTex\x20sampler2D\x0a\x0a#define\x20FxaaSat(x)\x20clamp(x,\x200.0,\x201.0)\x0a#define\x20FxaaTexTop(t,\x20p)\x20texture2D(t,\x20p)\x0a#define\x20FxaaTexOff(t,\x20p,\x20o,\x20r)\x20texture2D(t,\x20p\x20+\x20(o\x20*\x20r))\x0a\x0aFxaaFloat\x20FxaaLuma(FxaaFloat4\x20rgba)\x20{\x20return\x20rgba.y;\x20}\x0a\x0aFxaaFloat4\x20FxaaPixelShader(\x0a\x20\x20\x20\x20//\x0a\x20\x20\x20\x20//\x20Use\x20noperspective\x20interpolation\x20here\x20(turn\x20off\x20perspective\x20interpolation).\x0a\x20\x20\x20\x20//\x20{xy}\x20=\x20center\x20of\x20pixel\x0a\x20\x20\x20\x20FxaaFloat2\x20pos,\x0a\x20\x20\x20\x20//\x0a\x20\x20\x20\x20//\x20Input\x20color\x20texture.\x0a\x20\x20\x20\x20//\x20{rgb_}\x20=\x20color\x20in\x20linear\x20or\x20perceptual\x20color\x20space\x0a\x20\x20\x20\x20//\x20if\x20(FXAA_GREEN_AS_LUMA\x20==\x200)\x0a\x20\x20\x20\x20//\x20\x20\x20\x20\x20{___a}\x20=\x20luma\x20in\x20perceptual\x20color\x20space\x20(not\x20linear)\x0a\x20\x20\x20\x20FxaaTex\x20tex,\x0a\x20\x20\x20\x20//\x0a\x20\x20\x20\x20//\x20Only\x20used\x20on\x20FXAA\x20Quality.\x0a\x20\x20\x20\x20//\x20This\x20must\x20be\x20from\x20a\x20constant/uniform.\x0a\x20\x20\x20\x20//\x20{x_}\x20=\x201.0/screenWidthInPixels\x0a\x20\x20\x20\x20//\x20{_y}\x20=\x201.0/screenHeightInPixels\x0a\x20\x20\x20\x20FxaaFloat2\x20fxaaQualityRcpFrame,\x0a\x20\x20\x20\x20//\x0a\x20\x20\x20\x20//\x20Only\x20used\x20on\x20FXAA\x20Quality.\x0a\x20\x20\x20\x20//\x20This\x20used\x20to\x20be\x20the\x20FXAA_QUALITY_SUBPIX\x20define.\x0a\x20\x20\x20\x20//\x20It\x20is\x20here\x20now\x20to\x20allow\x20easier\x20tuning.\x0a\x20\x20\x20\x20//\x20Choose\x20the\x20amount\x20of\x20sub-pixel\x20aliasing\x20removal.\x0a\x20\x20\x20\x20//\x20This\x20can\x20effect\x20sharpness.\x0a\x20\x20\x20\x20//\x20\x20\x201.00\x20-\x20upper\x20limit\x20(softer)\x0a\x20\x20\x20\x20//\x20\x20\x200.75\x20-\x20default\x20amount\x20of\x20filtering\x0a\x20\x20\x20\x20//\x20\x20\x200.50\x20-\x20lower\x20limit\x20(sharper,\x20less\x20sub-pixel\x20aliasing\x20removal)\x0a\x20\x20\x20\x20//\x20\x20\x200.25\x20-\x20almost\x20off\x0a\x20\x20\x20\x20//\x20\x20\x200.00\x20-\x20completely\x20off\x0a\x20\x20\x20\x20FxaaFloat\x20fxaaQualitySubpix,\x0a\x20\x20\x20\x20//\x0a\x20\x20\x20\x20//\x20Only\x20used\x20on\x20FXAA\x20Quality.\x0a\x20\x20\x20\x20//\x20This\x20used\x20to\x20be\x20the\x20FXAA_QUALITY_EDGE_THRESHOLD\x20define.\x0a\x20\x20\x20\x20//\x20It\x20is\x20here\x20now\x20to\x20allow\x20easier\x20tuning.\x0a\x20\x20\x20\x20//\x20The\x20minimum\x20amount\x20of\x20local\x20contrast\x20required\x20to\x20apply\x20algorithm.\x0a\x20\x20\x20\x20//\x20\x20\x200.333\x20-\x20too\x20little\x20(faster)\x0a\x20\x20\x20\x20//\x20\x20\x200.250\x20-\x20low\x20quality\x0a\x20\x20\x20\x20//\x20\x20\x200.166\x20-\x20default\x0a\x20\x20\x20\x20//\x20\x20\x200.125\x20-\x20high\x20quality\x0a\x20\x20\x20\x20//\x20\x20\x200.063\x20-\x20overkill\x20(slower)\x0a\x20\x20\x20\x20FxaaFloat\x20fxaaQualityEdgeThreshold,\x0a\x20\x20\x20\x20//\x0a\x20\x20\x20\x20//\x20Only\x20used\x20on\x20FXAA\x20Quality.\x0a\x20\x20\x20\x20//\x20This\x20used\x20to\x20be\x20the\x20FXAA_QUALITY_EDGE_THRESHOLD_MIN\x20define.\x0a\x20\x20\x20\x20//\x20It\x20is\x20here\x20now\x20to\x20allow\x20easier\x20tuning.\x0a\x20\x20\x20\x20//\x20Trims\x20the\x20algorithm\x20from\x20processing\x20darks.\x0a\x20\x20\x20\x20//\x20\x20\x200.0833\x20-\x20upper\x20limit\x20(default,\x20the\x20start\x20of\x20visible\x20unfiltered\x20edges)\x0a\x20\x20\x20\x20//\x20\x20\x200.0625\x20-\x20high\x20quality\x20(faster)\x0a\x20\x20\x20\x20//\x20\x20\x200.0312\x20-\x20visible\x20limit\x20(slower)\x0a\x20\x20\x20\x20//\x20Special\x20notes\x20when\x20using\x20FXAA_GREEN_AS_LUMA,\x0a\x20\x20\x20\x20//\x20\x20\x20Likely\x20want\x20to\x20set\x20this\x20to\x20zero.\x0a\x20\x20\x20\x20//\x20\x20\x20As\x20colors\x20that\x20are\x20mostly\x20not-green\x0a\x20\x20\x20\x20//\x20\x20\x20will\x20appear\x20very\x20dark\x20in\x20the\x20green\x20channel!\x0a\x20\x20\x20\x20//\x20\x20\x20Tune\x20by\x20looking\x20at\x20mostly\x20non-green\x20content,\x0a\x20\x20\x20\x20//\x20\x20\x20then\x20start\x20at\x20zero\x20and\x20increase\x20until\x20aliasing\x20is\x20a\x20problem.\x0a\x20\x20\x20\x20FxaaFloat\x20fxaaQualityEdgeThresholdMin\x0a)\x20{\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat2\x20posM;\x0a\x20\x20\x20\x20posM.x\x20=\x20pos.x;\x0a\x20\x20\x20\x20posM.y\x20=\x20pos.y;\x0a\x20\x20\x20\x20FxaaFloat4\x20rgbyM\x20=\x20FxaaTexTop(tex,\x20posM);\x0a\x20\x20\x20\x20#define\x20lumaM\x20rgbyM.y\x0a\x20\x20\x20\x20FxaaFloat\x20lumaS\x20=\x20FxaaLuma(FxaaTexOff(tex,\x20posM,\x20FxaaInt2(\x200,\x201),\x20fxaaQualityRcpFrame.xy));\x0a\x20\x20\x20\x20FxaaFloat\x20lumaE\x20=\x20FxaaLuma(FxaaTexOff(tex,\x20posM,\x20FxaaInt2(\x201,\x200),\x20fxaaQualityRcpFrame.xy));\x0a\x20\x20\x20\x20FxaaFloat\x20lumaN\x20=\x20FxaaLuma(FxaaTexOff(tex,\x20posM,\x20FxaaInt2(\x200,-1),\x20fxaaQualityRcpFrame.xy));\x0a\x20\x20\x20\x20FxaaFloat\x20lumaW\x20=\x20FxaaLuma(FxaaTexOff(tex,\x20posM,\x20FxaaInt2(-1,\x200),\x20fxaaQualityRcpFrame.xy));\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat\x20maxSM\x20=\x20max(lumaS,\x20lumaM);\x0a\x20\x20\x20\x20FxaaFloat\x20minSM\x20=\x20min(lumaS,\x20lumaM);\x0a\x20\x20\x20\x20FxaaFloat\x20maxESM\x20=\x20max(lumaE,\x20maxSM);\x0a\x20\x20\x20\x20FxaaFloat\x20minESM\x20=\x20min(lumaE,\x20minSM);\x0a\x20\x20\x20\x20FxaaFloat\x20maxWN\x20=\x20max(lumaN,\x20lumaW);\x0a\x20\x20\x20\x20FxaaFloat\x20minWN\x20=\x20min(lumaN,\x20lumaW);\x0a\x20\x20\x20\x20FxaaFloat\x20rangeMax\x20=\x20max(maxWN,\x20maxESM);\x0a\x20\x20\x20\x20FxaaFloat\x20rangeMin\x20=\x20min(minWN,\x20minESM);\x0a\x20\x20\x20\x20FxaaFloat\x20rangeMaxScaled\x20=\x20rangeMax\x20*\x20fxaaQualityEdgeThreshold;\x0a\x20\x20\x20\x20FxaaFloat\x20range\x20=\x20rangeMax\x20-\x20rangeMin;\x0a\x20\x20\x20\x20FxaaFloat\x20rangeMaxClamped\x20=\x20max(fxaaQualityEdgeThresholdMin,\x20rangeMaxScaled);\x0a\x20\x20\x20\x20FxaaBool\x20earlyExit\x20=\x20range\x20<\x20rangeMaxClamped;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20if(earlyExit)\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20rgbyM;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat\x20lumaNW\x20=\x20FxaaLuma(FxaaTexOff(tex,\x20posM,\x20FxaaInt2(-1,-1),\x20fxaaQualityRcpFrame.xy));\x0a\x20\x20\x20\x20FxaaFloat\x20lumaSE\x20=\x20FxaaLuma(FxaaTexOff(tex,\x20posM,\x20FxaaInt2(\x201,\x201),\x20fxaaQualityRcpFrame.xy));\x0a\x20\x20\x20\x20FxaaFloat\x20lumaNE\x20=\x20FxaaLuma(FxaaTexOff(tex,\x20posM,\x20FxaaInt2(\x201,-1),\x20fxaaQualityRcpFrame.xy));\x0a\x20\x20\x20\x20FxaaFloat\x20lumaSW\x20=\x20FxaaLuma(FxaaTexOff(tex,\x20posM,\x20FxaaInt2(-1,\x201),\x20fxaaQualityRcpFrame.xy));\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat\x20lumaNS\x20=\x20lumaN\x20+\x20lumaS;\x0a\x20\x20\x20\x20FxaaFloat\x20lumaWE\x20=\x20lumaW\x20+\x20lumaE;\x0a\x20\x20\x20\x20FxaaFloat\x20subpixRcpRange\x20=\x201.0/range;\x0a\x20\x20\x20\x20FxaaFloat\x20subpixNSWE\x20=\x20lumaNS\x20+\x20lumaWE;\x0a\x20\x20\x20\x20FxaaFloat\x20edgeHorz1\x20=\x20(-2.0\x20*\x20lumaM)\x20+\x20lumaNS;\x0a\x20\x20\x20\x20FxaaFloat\x20edgeVert1\x20=\x20(-2.0\x20*\x20lumaM)\x20+\x20lumaWE;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat\x20lumaNESE\x20=\x20lumaNE\x20+\x20lumaSE;\x0a\x20\x20\x20\x20FxaaFloat\x20lumaNWNE\x20=\x20lumaNW\x20+\x20lumaNE;\x0a\x20\x20\x20\x20FxaaFloat\x20edgeHorz2\x20=\x20(-2.0\x20*\x20lumaE)\x20+\x20lumaNESE;\x0a\x20\x20\x20\x20FxaaFloat\x20edgeVert2\x20=\x20(-2.0\x20*\x20lumaN)\x20+\x20lumaNWNE;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat\x20lumaNWSW\x20=\x20lumaNW\x20+\x20lumaSW;\x0a\x20\x20\x20\x20FxaaFloat\x20lumaSWSE\x20=\x20lumaSW\x20+\x20lumaSE;\x0a\x20\x20\x20\x20FxaaFloat\x20edgeHorz4\x20=\x20(abs(edgeHorz1)\x20*\x202.0)\x20+\x20abs(edgeHorz2);\x0a\x20\x20\x20\x20FxaaFloat\x20edgeVert4\x20=\x20(abs(edgeVert1)\x20*\x202.0)\x20+\x20abs(edgeVert2);\x0a\x20\x20\x20\x20FxaaFloat\x20edgeHorz3\x20=\x20(-2.0\x20*\x20lumaW)\x20+\x20lumaNWSW;\x0a\x20\x20\x20\x20FxaaFloat\x20edgeVert3\x20=\x20(-2.0\x20*\x20lumaS)\x20+\x20lumaSWSE;\x0a\x20\x20\x20\x20FxaaFloat\x20edgeHorz\x20=\x20abs(edgeHorz3)\x20+\x20edgeHorz4;\x0a\x20\x20\x20\x20FxaaFloat\x20edgeVert\x20=\x20abs(edgeVert3)\x20+\x20edgeVert4;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat\x20subpixNWSWNESE\x20=\x20lumaNWSW\x20+\x20lumaNESE;\x0a\x20\x20\x20\x20FxaaFloat\x20lengthSign\x20=\x20fxaaQualityRcpFrame.x;\x0a\x20\x20\x20\x20FxaaBool\x20horzSpan\x20=\x20edgeHorz\x20>=\x20edgeVert;\x0a\x20\x20\x20\x20FxaaFloat\x20subpixA\x20=\x20subpixNSWE\x20*\x202.0\x20+\x20subpixNWSWNESE;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20if(!horzSpan)\x20lumaN\x20=\x20lumaW;\x0a\x20\x20\x20\x20if(!horzSpan)\x20lumaS\x20=\x20lumaE;\x0a\x20\x20\x20\x20if(horzSpan)\x20lengthSign\x20=\x20fxaaQualityRcpFrame.y;\x0a\x20\x20\x20\x20FxaaFloat\x20subpixB\x20=\x20(subpixA\x20*\x20(1.0/12.0))\x20-\x20lumaM;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat\x20gradientN\x20=\x20lumaN\x20-\x20lumaM;\x0a\x20\x20\x20\x20FxaaFloat\x20gradientS\x20=\x20lumaS\x20-\x20lumaM;\x0a\x20\x20\x20\x20FxaaFloat\x20lumaNN\x20=\x20lumaN\x20+\x20lumaM;\x0a\x20\x20\x20\x20FxaaFloat\x20lumaSS\x20=\x20lumaS\x20+\x20lumaM;\x0a\x20\x20\x20\x20FxaaBool\x20pairN\x20=\x20abs(gradientN)\x20>=\x20abs(gradientS);\x0a\x20\x20\x20\x20FxaaFloat\x20gradient\x20=\x20max(abs(gradientN),\x20abs(gradientS));\x0a\x20\x20\x20\x20if(pairN)\x20lengthSign\x20=\x20-lengthSign;\x0a\x20\x20\x20\x20FxaaFloat\x20subpixC\x20=\x20FxaaSat(abs(subpixB)\x20*\x20subpixRcpRange);\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat2\x20posB;\x0a\x20\x20\x20\x20posB.x\x20=\x20posM.x;\x0a\x20\x20\x20\x20posB.y\x20=\x20posM.y;\x0a\x20\x20\x20\x20FxaaFloat2\x20offNP;\x0a\x20\x20\x20\x20offNP.x\x20=\x20(!horzSpan)\x20?\x200.0\x20:\x20fxaaQualityRcpFrame.x;\x0a\x20\x20\x20\x20offNP.y\x20=\x20(\x20horzSpan)\x20?\x200.0\x20:\x20fxaaQualityRcpFrame.y;\x0a\x20\x20\x20\x20if(!horzSpan)\x20posB.x\x20+=\x20lengthSign\x20*\x200.5;\x0a\x20\x20\x20\x20if(\x20horzSpan)\x20posB.y\x20+=\x20lengthSign\x20*\x200.5;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat2\x20posN;\x0a\x20\x20\x20\x20posN.x\x20=\x20posB.x\x20-\x20offNP.x\x20*\x20FXAA_QUALITY_P0;\x0a\x20\x20\x20\x20posN.y\x20=\x20posB.y\x20-\x20offNP.y\x20*\x20FXAA_QUALITY_P0;\x0a\x20\x20\x20\x20FxaaFloat2\x20posP;\x0a\x20\x20\x20\x20posP.x\x20=\x20posB.x\x20+\x20offNP.x\x20*\x20FXAA_QUALITY_P0;\x0a\x20\x20\x20\x20posP.y\x20=\x20posB.y\x20+\x20offNP.y\x20*\x20FXAA_QUALITY_P0;\x0a\x20\x20\x20\x20FxaaFloat\x20subpixD\x20=\x20((-2.0)*subpixC)\x20+\x203.0;\x0a\x20\x20\x20\x20FxaaFloat\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN));\x0a\x20\x20\x20\x20FxaaFloat\x20subpixE\x20=\x20subpixC\x20*\x20subpixC;\x0a\x20\x20\x20\x20FxaaFloat\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP));\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20if(!pairN)\x20lumaNN\x20=\x20lumaSS;\x0a\x20\x20\x20\x20FxaaFloat\x20gradientScaled\x20=\x20gradient\x20*\x201.0/4.0;\x0a\x20\x20\x20\x20FxaaFloat\x20lumaMM\x20=\x20lumaM\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20FxaaFloat\x20subpixF\x20=\x20subpixD\x20*\x20subpixE;\x0a\x20\x20\x20\x20FxaaBool\x20lumaMLTZero\x20=\x20lumaMM\x20<\x200.0;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20lumaEndN\x20-=\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20lumaEndP\x20-=\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20FxaaBool\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20FxaaBool\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P1;\x0a\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P1;\x0a\x20\x20\x20\x20FxaaBool\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P1;\x0a\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P1;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P2;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x203)\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P3;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x204)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P4;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x205)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P5;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x206)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P6;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P6;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P6;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P6;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x207)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P7;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P7;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P7;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P7;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x208)\x0a\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P8;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P8;\x0a\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P8;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P8;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x209)\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P9;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P9;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P9;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P9;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x2010)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P10;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P10;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P10;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P10;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x2011)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P11;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P11;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P11;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P11;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#if\x20(FXAA_QUALITY_PS\x20>\x2012)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(doneNP)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posN.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20FxaaLuma(FxaaTexTop(tex,\x20posP.xy));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20lumaEndN\x20=\x20lumaEndN\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20lumaEndP\x20=\x20lumaEndP\x20-\x20lumaNN\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneN\x20=\x20abs(lumaEndN)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneP\x20=\x20abs(lumaEndP)\x20>=\x20gradientScaled;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.x\x20-=\x20offNP.x\x20*\x20FXAA_QUALITY_P12;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneN)\x20posN.y\x20-=\x20offNP.y\x20*\x20FXAA_QUALITY_P12;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20doneNP\x20=\x20(!doneN)\x20||\x20(!doneP);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.x\x20+=\x20offNP.x\x20*\x20FXAA_QUALITY_P12;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!doneP)\x20posP.y\x20+=\x20offNP.y\x20*\x20FXAA_QUALITY_P12;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20}\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat\x20dstN\x20=\x20posM.x\x20-\x20posN.x;\x0a\x20\x20\x20\x20FxaaFloat\x20dstP\x20=\x20posP.x\x20-\x20posM.x;\x0a\x20\x20\x20\x20if(!horzSpan)\x20dstN\x20=\x20posM.y\x20-\x20posN.y;\x0a\x20\x20\x20\x20if(!horzSpan)\x20dstP\x20=\x20posP.y\x20-\x20posM.y;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaBool\x20goodSpanN\x20=\x20(lumaEndN\x20<\x200.0)\x20!=\x20lumaMLTZero;\x0a\x20\x20\x20\x20FxaaFloat\x20spanLength\x20=\x20(dstP\x20+\x20dstN);\x0a\x20\x20\x20\x20FxaaBool\x20goodSpanP\x20=\x20(lumaEndP\x20<\x200.0)\x20!=\x20lumaMLTZero;\x0a\x20\x20\x20\x20FxaaFloat\x20spanLengthRcp\x20=\x201.0/spanLength;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaBool\x20directionN\x20=\x20dstN\x20<\x20dstP;\x0a\x20\x20\x20\x20FxaaFloat\x20dst\x20=\x20min(dstN,\x20dstP);\x0a\x20\x20\x20\x20FxaaBool\x20goodSpan\x20=\x20directionN\x20?\x20goodSpanN\x20:\x20goodSpanP;\x0a\x20\x20\x20\x20FxaaFloat\x20subpixG\x20=\x20subpixF\x20*\x20subpixF;\x0a\x20\x20\x20\x20FxaaFloat\x20pixelOffset\x20=\x20(dst\x20*\x20(-spanLengthRcp))\x20+\x200.5;\x0a\x20\x20\x20\x20FxaaFloat\x20subpixH\x20=\x20subpixG\x20*\x20fxaaQualitySubpix;\x0a/*--------------------------------------------------------------------------*/\x0a\x20\x20\x20\x20FxaaFloat\x20pixelOffsetGood\x20=\x20goodSpan\x20?\x20pixelOffset\x20:\x200.0;\x0a\x20\x20\x20\x20FxaaFloat\x20pixelOffsetSubpix\x20=\x20max(pixelOffsetGood,\x20subpixH);\x0a\x20\x20\x20\x20if(!horzSpan)\x20posM.x\x20+=\x20pixelOffsetSubpix\x20*\x20lengthSign;\x0a\x20\x20\x20\x20if(\x20horzSpan)\x20posM.y\x20+=\x20pixelOffsetSubpix\x20*\x20lengthSign;\x0a\x20\x20\x20\x20return\x20FxaaFloat4(FxaaTexTop(tex,\x20posM).xyz,\x20lumaM);\x0a}\x0a\x0a\x0avarying\x20vec2\x20vUv;\x0auniform\x20sampler2D\x20tDiffuse;\x0auniform\x20vec2\x20resolution;\x0aconst\x20float\x20fxaaQualitySubpix\x20=\x200.5;\x0aconst\x20float\x20fxaaQualityEdgeThreshold\x20=\x200.125;\x0aconst\x20float\x20fxaaQualityEdgeThresholdMin\x20=\x200.0833;\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20fxaaQualityRcpFrame\x20=\x20resolution;\x0a\x20\x20\x20\x20vec4\x20color\x20=\x20FxaaPixelShader(\x0a\x20\x20\x20\x20vUv,\x20tDiffuse,\x20fxaaQualityRcpFrame,\x20fxaaQualitySubpix,\x20fxaaQualityEdgeThreshold,\x20fxaaQualityEdgeThresholdMin);\x0a\x20\x20\x20\x20float\x20alpha\x20=\x20texture2D(tDiffuse,\x20vUv).a;\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(color.rgb,\x20alpha);\x0a}','_active','getPluginData','setPluginData','_close','_plugins','_currentTool','_pluginInitOptins','addPlugin','pluginsFactory','插件未注册,创建失败','removePlugin','tool','setCurrentTool','widget','添加的','插件为挂件不是工具','_hide','为挂件挂件不需要清空','closeAllTool','usingWidget','为工具要开启请调用setCurrentTool','未找到需要开启的','该挂件处于开启状态','开启成功','unusingWidget','为工具关闭请调用setCurrentTool','_remove','getAllTools','getAllWidgets','getAllUsingWidgets','getCurrentTool','_viewStyle','viewStyle','_instance','_createIframe','containerDiv','_createDiv','resetMouseBaseElement','_setStylePro','registerPlugin','插件配置文件路径错误','main.json','插件配置文件','main.json路径未找到','_registerPlugin','_pluginMap','重复注册','originPath','formatURL2','注册插件','路径错误','_appendScript','syncGetText','
','_getPluginPath','destroyPlugin','createPlugin','./src/PluginManager/PluginBase.ts','_isHide','isHide','log2_d','computeRadius','zeroTileVisible','isRectContainTile','lonLatToRowCol','rowColToLonLat','outlineInstance','surfaceInstance','labelInstance','QuadTile','computeVisibility','occluder','transformPositionToScaledSpace','isScaledSpacePointVisible','fromRadiansArray','fromRectangle3D','cameraDistance','radiusDistance','fovyRadians','col','row','_south','_east','_north','_bHeight','altitudeDistance','_tHeight','gridHeight','_Morton','LatShrFac','LonShrFac','ZShrFac','rgba(200,\x20200,\x20200,\x200.2)','_west','_center','_code','_preCode','preCode','bHeight','tHeight','_cenLat','_row','_col','_LTChild','_RTChild','_LBChild','_RBChild','_LMChild','_BMChild','_RMChild','_TMChild','changeColor','cenLon','_cenLon','LTChild','RTChild','LBChild','RBChild','computeChildren','001001','001002','002001','002002','computeNineChildren','_MMChild','initUpdate','computeCustomChildren','cenLat','DQGUpdate','maxWholeTileLevel','staticUpdate','subdivFactor','computeDQGChildren','_oct','nearFog','farFog','float\x20getDistance(sampler2D\x20depthTexture,\x20vec2\x20texCoords)\x20\x0a{\x20\x0a\x20\x20\x20\x20float\x20depth\x20=\x20czm_unpackDepth(texture2D(depthTexture,\x20texCoords));\x20\x0a\x20\x20\x20\x20if\x20(depth\x20==\x200.0)\x20{\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20czm_infinity;\x20\x0a\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20vec4\x20eyeCoordinate\x20=\x20czm_windowToEyeCoordinates(gl_FragCoord.xy,\x20depth);\x20\x0a\x20\x20\x20\x20return\x20-eyeCoordinate.z\x20/\x20eyeCoordinate.w;\x20\x0a}\x20\x0afloat\x20interpolateByDistance(vec4\x20nearFarScalar,\x20float\x20distance)\x20\x0a{\x20\x0a\x20\x20\x20\x20float\x20startDistance\x20=\x20nearFarScalar.x;\x20\x0a\x20\x20\x20\x20float\x20startValue\x20=\x20nearFarScalar.y;\x20\x0a\x20\x20\x20\x20float\x20endDistance\x20=\x20nearFarScalar.z;\x20\x0a\x20\x20\x20\x20float\x20endValue\x20=\x20nearFarScalar.w;\x20\x0a\x20\x20\x20\x20float\x20t\x20=\x20clamp((distance\x20-\x20startDistance)\x20/\x20(endDistance\x20-\x20startDistance),\x200.0,\x201.0);\x20\x0a\x20\x20\x20\x20return\x20mix(startValue,\x20endValue,\x20t);\x20\x0a}\x20\x0avec4\x20alphaBlend(vec4\x20sourceColor,\x20vec4\x20destinationColor)\x20\x0a{\x20\x0a\x20\x20\x20\x20return\x20sourceColor\x20*\x20vec4(sourceColor.aaa,\x201.0)\x20+\x20destinationColor\x20*\x20(1.0\x20-\x20sourceColor.a);\x20\x0a}\x20\x0auniform\x20sampler2D\x20colorTexture;\x20\x0auniform\x20sampler2D\x20depthTexture;\x20\x0auniform\x20vec4\x20fogByDistance;\x20\x0auniform\x20vec4\x20fogColor;\x20\x0avarying\x20vec2\x20v_textureCoordinates;\x20\x0avoid\x20main(void)\x20\x0a{\x20\x0a\x20\x20\x20\x20float\x20distance\x20=\x20getDistance(depthTexture,\x20v_textureCoordinates);\x20\x0a\x20\x20\x20\x20vec4\x20sceneColor\x20=\x20texture2D(colorTexture,\x20v_textureCoordinates);\x20\x0a\x20\x20\x20\x20float\x20blendAmount\x20=\x20interpolateByDistance(fogByDistance,\x20distance);\x20\x0a\x20\x20\x20\x20vec4\x20finalFogColor\x20=\x20vec4(fogColor.rgb,\x20fogColor.a\x20*\x20blendAmount);\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20alphaBlend(finalFogColor,\x20sceneColor);\x20\x0a}\x20\x0a','GlobalWater','worldRectangle','resources/localscene/earthspec1k.jpg','showGlobalWater','closeGlobalWater','值必须大于\x200','Graticule','./src/SceneOptions/GraticuleLayer.ts','GraticuleLayer','GraticuleLayerOpt','textOutlineColor','drawGrid','_polylines','_levels','decToSex','60.00','0.00','getNearestLongitude','fromCartographicArray','geodeticSurfaceNormal','lineSegmentPlane','makeLabel','cartographicArrayToCartesianArray','_sexagesimal','gridPrecision','czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st\x20-\x20vec2(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis\x20=\x20abs(st.y);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20smoothstep(0.5,\x200.3,\x20dis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20','rgba(255,255,255,.4)','16px\x20Helvetica','./src/SceneOptions/CustomTilePrimitive.ts','destroyFlag','_relativeHeight','relativeHeight','_subdivFactor','outlinePrimitive','surfacePrimitive','setExtrudedHeight','setSubdivFactor','backToDefault','TriangleTile','cosfovy','sinfovy','_fovy','dCosfovy','sqrtValue','cosB','cullingVolume','cameraHeight','initialDQGUpdate','timeID','./node_modules/@turf/turf/turf.min.js','gridScale','LatCharArray','latDArray','lonDArray','_gridVisable','_mapSheetVisable','tileKeys','LevelCodeZero','mapsheet','mapSheetVisible','splitMap','getSheetRange','getSheetNumber','polylinesData','labelText','labelPos','initialCloseRangeUpdate','closeRangePrimitive','gridPrimitive','addGridPrimitive','closeRangeUpdate','labelInfo','PathPlanningOpt','inaccesRegions','_pathArrColor','pathArrColor','rgba(10,\x20200,\x20100,\x200.5)','_inaccesColor','inaccesColor','rgba(250,\x20100,\x20100,\x200.2)','strPosColor','rgba(10,\x20200,\x20150,\x200.7)','endPosColor','rgba(10,\x20150,\x20200,\x200.7)','inaccesRegionsAltArray','backgroundGridsOpt','rgb(150,\x20150,\x20150)','rgba(100,\x20100,\x20100,\x200.1)','_is3DPathPlanning','is3DPathPlanning','minLat','maxAlt','maxLon','maxLat','inaccesGridArray','lonLatAltToRowColHei','_strPosColor','_endPosColor','dynamicPlanning','additionalInaccess','minLon','minAlt','selectStartGrid','startPosPrimitive','startCol','startHei','setStartGrid','gridPathPrimitive','startRow','selectEndGrid','endPosPrimitive','endRow','hei','endHei','setEndGrid','endCol','additionInaccesPrimitive','drawPath','staticMapBox','resultTileList','请选择合理范围的网格','drawInaccesGrid','inaccesPrimitive','rgba(250,\x20100,\x20100,\x200.1)','StaticMapBox','isDraw','createInaccesRegion','clearAll','SceneOptions','./src/SceneOptions/Graticule.ts','./src/SceneOptions/GlobalWater.ts','Rain','Snow','Fog','LevelCodeOne','LevelCodeTwo','LevelCodeThree','LevelCodeFour','LevelCodeFive','LevelCodeSix','_globalWaterVisible','sky','jingwei','_mapSheet','_mapBox','_staticMapBox','sceneOptions','weather','graticule','shadowFlag','globalWater','_graticule','_shadowFlag','_weather','showRain','closeRain','showSnow','showFog','closeFog','mapSheet','mapBox','_globalWater','globalWaterObj','\x0a\x20\x20\x20\x20#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20depthTexture;\x0a\x20\x20\x20\x20uniform\x20float\x20alpha;\x0a\x20\x20\x20\x20uniform\x20float\x20speed;\x0a\x20\x20\x20\x20varying\x20vec2\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec4\x20toEye(in\x20vec2\x20uv,\x20in\x20float\x20depth){\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20xy\x20=\x20vec2((uv.x\x20*\x202.0\x20-\x201.0),(uv.y\x20*\x202.0\x20-\x201.0));\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20posInCamera\x20=czm_inverseProjection\x20*\x20vec4(xy,\x20depth,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20posInCamera\x20=posInCamera\x20/\x20posInCamera.w;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20posInCamera;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20float\x20getDepth(in\x20vec4\x20depth){\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20z_window\x20=\x20czm_unpackDepth(depth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20z_window\x20=\x20czm_reverseLogDepth(z_window);\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20n_range\x20=\x20czm_depthRange.near;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20f_range\x20=\x20czm_depthRange.far;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20(2.0\x20*\x20z_window\x20-\x20n_range\x20-\x20f_range)\x20/\x20(f_range\x20-\x20n_range);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20float\x20snow(vec2\x20uv,float\x20scale){\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20time\x20=\x20czm_frameNumber\x20/\x20speed;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20w=smoothstep(1.,0.,-uv.y*(scale/10.));\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(w<.1)return\x200.;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uv+=time/scale;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uv.y+=time*2./scale;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uv.x+=sin(uv.y+time*.5)/scale;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uv*=scale;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20s=floor(uv),f=fract(uv),p;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20k=3.,d;\x0a\x20\x20\x20\x20\x20\x20\x20\x20p=.5+.35*sin(11.*fract(sin((s+p+scale)*mat2(7,3,6,5))*5.))-f;\x0a\x20\x20\x20\x20\x20\x20\x20\x20d=length(p);k=min(d,k);\x0a\x20\x20\x20\x20\x20\x20\x20\x20k=smoothstep(0.,k,sin(f.x+f.y)*0.01);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20k*w;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texture2D(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20currD\x20=\x20texture2D(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20resolution\x20=\x20czm_viewport.zw;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20finalColor=vec3(0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20c\x20=\x200.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20c+=snow(uv,10.);\x0a\x20\x20\x20\x20\x20\x20\x20\x20c+=snow(uv,8.);\x0a\x20\x20\x20\x20\x20\x20\x20\x20c+=snow(uv,6.);\x0a\x20\x20\x20\x20\x20\x20\x20\x20c+=snow(uv,5.);\x0a\x20\x20\x20\x20\x20\x20\x20\x20c+=snow(uv,2.);\x0a\x20\x20\x20\x20\x20\x20\x20\x20finalColor=(vec3(c));\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20snowColor\x20=\x20vec4(finalColor,1.0);\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20fieldColor=vec4(0.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(currD.r<1.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20depth\x20=\x20getDepth(currD);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20positionEC\x20=\x20toEye(v_textureCoordinates,\x20depth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20dx\x20=\x20dFdx(positionEC.xyz);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20dy\x20=\x20dFdy(positionEC.xyz);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20nor\x20=\x20normalize(cross(dx,dy));\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20positionWC\x20=\x20normalize(czm_inverseView\x20*\x20positionEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20normalWC\x20=\x20normalize(czm_inverseViewRotation\x20*\x20nor);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dotNumWC\x20=\x20dot(positionWC.xyz,normalWC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dotNumWC<=0.3){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fieldColor\x20=\x20mix(color,vec4(1.0),alpha*0.3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fieldColor\x20=\x20mix(color,vec4(1.0),dotNumWC*alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor=mix(snowColor,fieldColor,0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20}','StaticMapBoxOpt','_heightLevel','heightLevel','_isDrawEachGrid','isDrawEachGrid','staticTileUpdate','setRange','setLevel','setHeightLevel','setRelativeHeight','setOutlineColor','initialstaticTileUpdate','./src/SceneOptions/Fog.ts','displayHeight','calculateCamera','fog','_rain','_snow','czm_rain','getRainShader','czm_snow','getSnowShader','closeSnow','uniform\x20sampler2D\x20colorTexture;\x0a\x20varying\x20vec2\x20v_textureCoordinates;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0afloat\x20snow(vec2\x20uv,\x20float\x20scale)\x20\x0a\x20\x20{\x0a\x20\x20\x20float\x20time\x20=\x20czm_frameNumber\x20/\x2060.0;\x20\x0a\x20\x20\x20\x20float\x20w\x20=\x20smoothstep(1.,\x200.,\x20-uv.y\x20*\x20(scale\x20/\x2010.));\x20if\x20(w\x20<\x20.1)\x20return\x200.;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20uv\x20+=\x20time\x20/\x20scale;\x20uv.y\x20+=\x20time\x20*\x202.\x20/\x20scale;\x20uv.x\x20+=\x20sin(uv.y\x20+\x20time\x20*\x20.5)\x20/\x20scale;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20uv\x20*=\x20scale;\x20vec2\x20s\x20=\x20floor(uv),\x20f\x20=\x20fract(uv),\x20p;\x20float\x20k\x20=\x203.,\x20d;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20p\x20=\x20.5\x20+\x20.35\x20*\x20sin(11.\x20*\x20fract(sin((s\x20+\x20p\x20+\x20scale)\x20*\x20mat2(7,\x203,\x206,\x205))\x20*\x205.))\x20-\x20f;\x20d\x20=\x20length(p);\x20k\x20=\x20min(d,\x20k);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20k\x20=\x20smoothstep(0.,\x20k,\x20sin(f.x\x20+\x20f.y)\x20*\x200.01);\x20\x0a\x20\x20\x20\x20return\x20k\x20*\x20w;\x20\x0a\x20}\x20\x0a\x20\x0a\x20void\x20main(void){\x0a\x20\x20\x20vec2\x20resolution\x20=\x20czm_viewport.zw;\x20\x0a\x20\x20\x20\x20vec2\x20uv\x20=\x20(gl_FragCoord.xy\x20*\x202.\x20-\x20resolution.xy)\x20/\x20min(resolution.x,\x20resolution.y);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20finalColor\x20=\x20vec3(0);\x20\x0a\x20\x20\x20float\x20c\x20=\x200.0;\x20\x0a\x20\x20\x20c\x20+=\x20snow(uv,\x2030.)\x20*\x20.0;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c\x20+=\x20snow(uv,\x2020.)\x20*\x20.0;\x20\x0a\x20c\x20+=\x20snow(uv,\x2015.)\x20*\x20.0;\x20\x0a\x20\x20c\x20+=\x20snow(uv,\x2010.);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20c\x20+=\x20snow(uv,\x208.);\x20\x0a\x20\x20\x20c\x20+=\x20snow(uv,\x206.);\x20\x0a\x20c\x20+=\x20snow(uv,\x205.);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20finalColor\x20=\x20(vec3(c));\x20\x0a\x20\x20\x20gl_FragColor\x20=\x20mix(texture2D(colorTexture,\x20v_textureCoordinates),\x20vec4(finalColor,\x201),\x200.5);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','getSlice','buildCircle','modifyControlPoints','headingPitchRollToFixedFrame','_surfaceDistance','EllipsoidGeodesic','setEndPoints','surfaceDistance','_getBearing','step参数取值范围:[2,\x20100]','lineString','getEllipsePositions','steps不应该少于4!','getIntersect','getUnion','getDiffer','pointInEarthSide','getUnions','downloadMime','scaleCanvas','getDataURL','download','geoImg.','fixType','image/','jpeg','encodeData','btoa\x20undefined',';base64,','genBitmapImage','saveAsImage','support','dataURL','getElementById','saveFile','convertToImage','image/bmp','saveAsPNG','gif','saveAsBMP','bmp','convertToJPEG','convertToSvg','getSvg','downloadImg','.jpeg','ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz','alphabetic','hanging','text-after-edge','central','50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro','stroke-linecap','stroke-linejoin','miter','stroke-miterlimit','fill\x20stroke','__root','__ctx','__createElement','rgba','rgb({r},{g},{b})','stop-opacity','stop-color','enableMirroring','__document','__canvas','__setDefaultStyles','__getStyleState','__groupStack','createElementNS','http://www.w3.org/2000/svg','svg','xmlns','http://www.w3.org/2000/xmlns/','xmlns:xlink','http://www.w3.org/1999/xlink','__ids','__defs','defs','__currentElement','__applyStyleState','__applyStyleToCurrentElement','url(#{id})','svgAttr','-opacity','__closestGroupOrSvg','nodeName','getSerializedSvg','serializeToString','xmlns=\x22http://www.w3.org/2000/svg','xmlns:xlink=\x22http://www.w3.org/1999/xlink','__stack','__currentElementsToStyle','__addTransform','__applyCurrentDefaultPath','scale({x},{y})','rotate({angle},{cx},{cy})','__currentDefaultPath','__currentPosition','Attempted\x20to\x20apply\x20path\x20command\x20to\x20node','__addPathCommand','M\x20{x}\x20{y}','L\x20{x}\x20{y}','C\x20{cp1x}\x20{cp1y}\x20{cp2x}\x20{cp2y}\x20{x}\x20{y}','quadraticCurveTo','arcTo','IndexSizeError:\x20The\x20radius\x20provided\x20(',')\x20is\x20negative.','paint-order','fill\x20stroke\x20markers','stroke\x20fill\x20markers','strokeRect','__clearCanvas','linearGradient','userSpaceOnUse','underline','__fontHref','__wrapTextLink','setAttributeNS','xlink:href','__applyText','__parseFont','family','decoration','A\x20{rx}\x20{ry}\x20{xAxisRotation}\x20{largeArcFlag}\x20{sweepFlag}\x20{endX}\x20{endY}','clipPath','clip-path','cloneNode','CANVAS','IMG','createPattern','lineDash','drawFocusRing','isJson','isCssColor','(^rgba)|(^rgb)|(^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$)','colorRgb','colorHex','./node_modules/piexifjs/piexif.js','createHDVImage','_isDoingCaptcher','dpi','_dpi','_delay','hdvImgData','endPoint','autoCaptcher','已有截图,请等待上一次截图完毕!!!','当前正在进行截图,操作无效!','selectGeoPoint','screenStart','screenX','screenY','screenEnd','坐标异常,请重试!','_selectGeoPoint','_originItem','geovis-compoundimage-progress','\x22\x20style=\x22position:\x20fixed;right:\x2015px;top:40px;background-color:\x20rgba(0,0,0,.5);text-align:\x20center;width:\x2040px;height:\x2040px;line-height:\x2040px;color:\x20#FFF;\x22>','flyToRect','geovis-compound-waiting','insertAdjacentHTML','\x22\x20style=\x22position:\x20fixed;z-index:\x20999;width:\x20100%;height:100%;top:0;left:0;text-align:\x20center;background-color:\x20rgba(0,0,0,.5);\x22>正在合成高清影像,请等待。。。','_pictureFuse','_originSrc','image/jpeg','GPSDateStamp','GeoHDVPoint=[','_resSrc','_recoverItem','originImg','当前无截图进行,操作无效!','width:1in;height:1in;position:absolute;left:0px;top:0px;z-index:99;visibility:hidden','picWidth','\x20class=\x22','\x22\x20style=\x22float:left\x22/>','beforeend','getElementsByClassName','temp','','#canvas_','replaceWith','','SUPPORT_SVG_DRAWING','100px','SUPPORT_FOREIGNOBJECT_DRAWING','crossOrigin','SUPPORT_RESPONSE_TYPE','withCredentials','SUPPORT_CORS_XHR','debug','getInstance','No\x20logger\x20instance\x20found\x20with\x20id\x20','_caches','Cache\x20with\x20key\x20\x22','\x22\x20not\x20found','getOrigin','_link','hostname','about:blank','isSameOrigin','_origin','setContext','_current','attachInstance','detachInstance','addImage','useCORS','SUPPORT_CORS_IMAGES','Added\x20image\x20','anonymous','imageTimeout','Timed\x20out\x20(','ms)\x20loading\x20image','No\x20proxy\x20defined','\x20with\x20status\x20code\x20','?url=','&responseType=','ms)\x20proxying\x20','CIRCLE','FARTHEST_CORNER','ELLIPSE','closest-side','CLOSEST_SIDE','farthest-side','CLOSEST_CORNER','cover','farthest-corner','URL','RADIAL_GRADIENT','FARTHEST_SIDE','Unsupported\x20image\x20type','LINEAR_GRADIENT','linear','radial','color-stop','background-image','background-origin','background-position','0%\x200%','NO_REPEAT','REPEAT_X','REPEAT_Y','background-repeat','repeat\x20no-repeat','repeat-y','no-repeat\x20repeat','AUTO','CONTAIN','COVER','background-size','border-','border-radius-','top-left','top-right','SOLID','-width','inline-block','inline','run-in','flow-root','-webkit-flex','-ms-grid','subgrid','list-item','table-header-group','table-footer-group','table-column-group','ruby-text','ruby-base-container','ruby-text-container','contents','inline-list-item','inline-table','inline-grid','INLINE_END','float','inline-start','INLINE_START','letter-spacing','line-break','STRICT','line-height','list-style-image','OUTSIDE','list-style-position','outside','DISC','SQUARE','DECIMAL','CJK_DECIMAL','DECIMAL_LEADING_ZERO','LOWER_ROMAN','LOWER_GREEK','LOWER_ALPHA','UPPER_ALPHA','ARABIC_INDIC','ARMENIAN','BENGALI','CAMBODIAN','CJK_EARTHLY_BRANCH','CJK_HEAVENLY_STEM','CJK_IDEOGRAPHIC','DEVANAGARI','ETHIOPIC_NUMERIC','GEORGIAN','GUJARATI','GURMUKHI','HEBREW','HIRAGANA','HIRAGANA_IROHA','JAPANESE_FORMAL','JAPANESE_INFORMAL','KANNADA','KATAKANA','KATAKANA_IROHA','KHMER','KOREAN_HANGUL_FORMAL','KOREAN_HANJA_FORMAL','KOREAN_HANJA_INFORMAL','LAO','LOWER_ARMENIAN','MALAYALAM','MONGOLIAN','MYANMAR','ORIYA','PERSIAN','SIMP_CHINESE_FORMAL','SIMP_CHINESE_INFORMAL','TAMIL','TELUGU','THAI','TIBETAN','TRAD_CHINESE_FORMAL','TRAD_CHINESE_INFORMAL','UPPER_ARMENIAN','DISCLOSURE_OPEN','DISCLOSURE_CLOSED','list-style-type','disc','decimal','cjk-decimal','decimal-leading-zero','lower-roman','upper-roman','UPPER_ROMAN','lower-greek','lower-alpha','arabic-indic','armenian','bengali','cjk-earthly-branch','cjk-heavenly-stem','cjk-ideographic','ethiopic-numeric','georgian','hiragana-iroha','japanese-formal','khmer','korean-hanja-formal','korean-hanja-informal','lao','malayalam','mongolian','myanmar','persian','simp-chinese-formal','simp-chinese-informal','tamil','telugu','trad-chinese-informal','upper-armenian','disclosure-open','disclosure-closed','margin-','VISIBLE','HIDDEN','SCROLL','BREAK_WORD','overflow-wrap','padding-','length-percentage','text-align','justify','STATIC','RELATIVE','ABSOLUTE','STICKY','fixed','sticky','text-shadow','offsetX','offsetY','LOWERCASE','UPPERCASE','CAPITALIZE','uppercase','lowercase','transform-origin','50%\x2050%','COLLAPSE','collapse','BREAK_ALL','KEEP_ALL','z-index','text-decoration-color','overline','line-through','font-family','font-size','font-variant','ITALIC','italic','OBLIQUE','oblique','counter-increment','counter-reset','quotes','box-shadow','inset','backgroundClip','backgroundOrigin','borderTopColor','borderBottomColor','borderLeftColor','borderTopLeftRadius','borderBottomRightRadius','borderBottomLeftRadius','borderTopStyle','borderRightStyle','borderBottomStyle','borderLeftStyle','borderTopWidth','borderRightWidth','borderBottomWidth','borderLeftWidth','boxShadow','cssFloat','fontStyle','fontVariant','letterSpacing','listStyleImage','listStylePosition','marginTop','marginRight','marginBottom','marginLeft','overflowX','overflowY','overflowWrap','textDecorationColor','textDecorationLine','textShadow','textTransform','transformOrigin','visibility','isTransparent','isTransformed','isPositioned','isPositionedWithZIndex','isInlineLevel','counterIncrement','Attempting\x20to\x20parse\x20unsupported\x20css\x20format\x20type\x20','splitText','ownerDocument','html2canvaswrapper','replaceChild','Node\x20has\x20no\x20owner\x20document','setStart','currentSrc','intrinsicWidth','intrinsicHeight','naturalHeight','data:image/svg+xml,','baseVal','reversed','checkbox','radio','password','checked','borderRightColor','borderTopRightRadius','selectedIndex','documentElement','MENU','nextSibling','TEXT_NODE','INPUT','BODY','IFRAME','SELECT','counters','getCounterValue','getCounterValues','counterReset','integers','〇一二三四五六七八九','子丑寅卯辰巳午未申酉戌亥','甲乙丙丁戊己庚辛壬癸','零一二三四五六七八九','零壹貳參肆伍陸柒捌玖','拾佰仟萬','十百千萬','零壹贰叁肆伍陆柒捌玖','マイナス','零壱弐参四伍六七八九','拾百千万','영일이삼사오육칠팔구','십백천만','마이너스','零壹貳參四五六七八九','拾百千','あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん','いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす','イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス','referenceElement','quoteDepth','Cloned\x20element\x20does\x20not\x20have\x20an\x20owner\x20document','toIFrame','Unable\x20to\x20find\x20iframe\x20window','pageXOffset','pageYOffset','scrolledElements','scrollTo','scrollY','scrollX','onclone','clonedReferenceElement','\x20in\x20the\x20cloned\x20document','fonts','','adoptNode','createElementClone','createCanvasClone','Unable\x20to\x20access\x20cssRules\x20property','SecurityError','Unable\x20to\x20clone\x20canvas\x20contents,\x20canvas\x20is\x20tainted',':before','resolvePseudoContent','BEFORE','data-html2canvas-ignore','ignoreElements','copyStyles','scrollTop','scrollLeft','html2canvaspseudoelement','attr','open-quote','close-quote','AFTER','html2canvas-container','-10000px','No\x20window\x20assigned\x20for\x20iframe','getPropertyValue','=0x0))throw new Error(_0x1a4e('0x29'));var _0x5ac9eb=Math['pow'](0xa,_0x22b0c5||0x0);return Math[_0x1a4e('0x2a')](_0x5d7dad*_0x5ac9eb)/_0x5ac9eb;}function _0x4eb09b(_0x5d7dad,_0x22b0c5){if(null==_0x5d7dad)throw new Error(_0x1a4e('0x2b'));if(_0x22b0c5&&'string'!=typeof _0x22b0c5)throw new Error('units\x20must\x20be\x20a\x20string');var _0x5ac9eb=_0x1234f7[_0x22b0c5||_0x1a4e('0x2c')];if(!_0x5ac9eb)throw new Error(_0x22b0c5+'\x20units\x20is\x20invalid');return _0x5d7dad*_0x5ac9eb;}function _0x39638f(_0x5d7dad,_0x22b0c5){if(null==_0x5d7dad)throw new Error(_0x1a4e('0x2d'));if(_0x22b0c5&&_0x1a4e('0x9')!=typeof _0x22b0c5)throw new Error('units\x20must\x20be\x20a\x20string');var _0x5ac9eb=_0x1234f7[_0x22b0c5||_0x1a4e('0x2c')];if(!_0x5ac9eb)throw new Error(_0x22b0c5+_0x1a4e('0x2e'));return _0x5d7dad/_0x5ac9eb;}function _0x40b220(_0x5d7dad,_0x22b0c5){return _0x527605(_0x39638f(_0x5d7dad,_0x22b0c5));}function _0x55366a(_0x5d7dad){if(null==_0x5d7dad)throw new Error(_0x1a4e('0x2f'));var _0x22b0c5=_0x5d7dad%0x168;return _0x22b0c5<0x0&&(_0x22b0c5+=0x168),_0x22b0c5;}function _0x527605(_0x5d7dad){if(null==_0x5d7dad)throw new Error(_0x1a4e('0x2b'));return _0x5d7dad%(0x2*Math['PI'])*0xb4/Math['PI'];}function _0x4b8927(_0x5d7dad){if(null==_0x5d7dad)throw new Error(_0x1a4e('0x30'));return _0x5d7dad%0x168*Math['PI']/0xb4;}function _0x3ff7f9(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(null==_0x5d7dad)throw new Error(_0x1a4e('0x31'));if(!(_0x5d7dad>=0x0))throw new Error(_0x1a4e('0x32'));return _0x4eb09b(_0x39638f(_0x5d7dad,_0x22b0c5),_0x5ac9eb||_0x1a4e('0x2c'));}function _0x3b62c2(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(null==_0x5d7dad)throw new Error(_0x1a4e('0x33'));if(!(_0x5d7dad>=0x0))throw new Error(_0x1a4e('0x34'));var _0x261805=_0x42d816[_0x22b0c5||_0x1a4e('0x35')];if(!_0x261805)throw new Error(_0x1a4e('0x36'));var _0x81bc8f=_0x42d816[_0x5ac9eb||_0x1a4e('0x2c')];if(!_0x81bc8f)throw new Error(_0x1a4e('0x37'));return _0x5d7dad/_0x261805*_0x81bc8f;}function _0x556755(_0x5d7dad){return!isNaN(_0x5d7dad)&&null!==_0x5d7dad&&!Array[_0x1a4e('0x15')](_0x5d7dad);}function _0x162a48(_0x5d7dad){return!!_0x5d7dad&&_0x5d7dad[_0x1a4e('0x10')]===Object;}function _0x4f92fa(_0x5d7dad){if(!_0x5d7dad)throw new Error(_0x1a4e('0x38'));if(!Array[_0x1a4e('0x15')](_0x5d7dad))throw new Error(_0x1a4e('0x39'));if(0x4!==_0x5d7dad[_0x1a4e('0x1e')]&&0x6!==_0x5d7dad['length'])throw new Error(_0x1a4e('0x3a'));_0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad){if(!_0x556755(_0x5d7dad))throw new Error(_0x1a4e('0x3c'));});}function _0x4fae53(_0x5d7dad){if(!_0x5d7dad)throw new Error('id\x20is\x20required');if(-0x1===[_0x1a4e('0x9'),_0x1a4e('0x3d')][_0x1a4e('0x3e')](typeof _0x5d7dad))throw new Error(_0x1a4e('0x3f'));}function _0x40eeaf(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(null!==_0x5d7dad)for(var _0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559=0x0,_0x184c89=0x0,_0x4198ed=_0x5d7dad[_0x1a4e('0x40')],_0x41179c=_0x1a4e('0x41')===_0x4198ed,_0x4eb09b=_0x1a4e('0x12')===_0x4198ed,_0x39638f=_0x41179c?_0x5d7dad[_0x1a4e('0x25')]['length']:0x1,_0x40b220=0x0;_0x40b220<_0x39638f;_0x40b220++){_0x1972c2=(_0x3d7f02=!!(_0x5dae0e=_0x41179c?_0x5d7dad[_0x1a4e('0x25')][_0x40b220][_0x1a4e('0x18')]:_0x4eb09b?_0x5d7dad[_0x1a4e('0x18')]:_0x5d7dad)&&_0x1a4e('0x28')===_0x5dae0e[_0x1a4e('0x40')])?_0x5dae0e['geometries'][_0x1a4e('0x1e')]:0x1;for(var _0x55366a=0x0;_0x55366a<_0x1972c2;_0x55366a++){var _0x527605=0x0,_0x4b8927=0x0;if(null!==(_0x153447=_0x3d7f02?_0x5dae0e[_0x1a4e('0x42')][_0x55366a]:_0x5dae0e)){_0x3376f9=_0x153447[_0x1a4e('0x43')];var _0x3ff7f9=_0x153447[_0x1a4e('0x40')];switch(_0x146559=!_0x5ac9eb||_0x1a4e('0x19')!==_0x3ff7f9&&_0x1a4e('0x1c')!==_0x3ff7f9?0x0:0x1,_0x3ff7f9){case null:break;case _0x1a4e('0x17'):_0x22b0c5(_0x3376f9,_0x184c89,_0x40b220,_0x527605,_0x4b8927),_0x184c89++,_0x527605++;break;case'LineString':case _0x1a4e('0x1a'):for(_0x261805=0x0;_0x261805<_0x3376f9[_0x1a4e('0x1e')];_0x261805++)_0x22b0c5(_0x3376f9[_0x261805],_0x184c89,_0x40b220,_0x527605,_0x4b8927),_0x184c89++,'MultiPoint'===_0x3ff7f9&&_0x527605++;_0x1a4e('0x44')===_0x3ff7f9&&_0x527605++;break;case _0x1a4e('0x19'):case'MultiLineString':for(_0x261805=0x0;_0x261805<_0x3376f9[_0x1a4e('0x1e')];_0x261805++){for(_0x81bc8f=0x0;_0x81bc8f<_0x3376f9[_0x261805]['length']-_0x146559;_0x81bc8f++)_0x22b0c5(_0x3376f9[_0x261805][_0x81bc8f],_0x184c89,_0x40b220,_0x527605,_0x4b8927),_0x184c89++;_0x1a4e('0x1b')===_0x3ff7f9&&_0x527605++,_0x1a4e('0x19')===_0x3ff7f9&&_0x4b8927++;}_0x1a4e('0x19')===_0x3ff7f9&&_0x527605++;break;case _0x1a4e('0x1c'):for(_0x261805=0x0;_0x261805<_0x3376f9[_0x1a4e('0x1e')];_0x261805++){for(_0x1a4e('0x1c')===_0x3ff7f9&&(_0x4b8927=0x0),_0x81bc8f=0x0;_0x81bc8f<_0x3376f9[_0x261805][_0x1a4e('0x1e')];_0x81bc8f++){for(_0x234f42=0x0;_0x234f42<_0x3376f9[_0x261805][_0x81bc8f][_0x1a4e('0x1e')]-_0x146559;_0x234f42++)_0x22b0c5(_0x3376f9[_0x261805][_0x81bc8f][_0x234f42],_0x184c89,_0x40b220,_0x527605,_0x4b8927),_0x184c89++;_0x4b8927++;}_0x527605++;}break;case'GeometryCollection':for(_0x261805=0x0;_0x261805<_0x153447['geometries'][_0x1a4e('0x1e')];_0x261805++)_0x40eeaf(_0x153447[_0x1a4e('0x42')][_0x261805],_0x22b0c5,_0x5ac9eb);break;default:throw new Error(_0x1a4e('0x45'));}}}}}function _0x34483c(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5ac9eb;return _0x40eeaf(_0x5d7dad,function(_0x5d7dad,_0x261805,_0x234f42,_0x153447,_0x1972c2){_0x81bc8f=0x0===_0x261805&&void 0x0===_0x5ac9eb?_0x5d7dad:_0x22b0c5(_0x81bc8f,_0x5d7dad,_0x261805,_0x234f42,_0x153447,_0x1972c2);},_0x261805),_0x81bc8f;}function _0x7d6acf(_0x5d7dad,_0x22b0c5){var _0x5ac9eb;switch(_0x5d7dad[_0x1a4e('0x40')]){case _0x1a4e('0x41'):for(_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['features']['length'];_0x5ac9eb++)_0x22b0c5(_0x5d7dad['features'][_0x5ac9eb][_0x1a4e('0x13')],_0x5ac9eb);break;case _0x1a4e('0x12'):_0x22b0c5(_0x5d7dad['properties'],0x0);}}function _0x17e057(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb;return _0x7d6acf(_0x5d7dad,function(_0x5d7dad,_0x81bc8f){_0x261805=0x0===_0x81bc8f&&void 0x0===_0x5ac9eb?_0x5d7dad:_0x22b0c5(_0x261805,_0x5d7dad,_0x81bc8f);}),_0x261805;}function _0x1494e6(_0x5d7dad,_0x22b0c5){if(_0x1a4e('0x12')===_0x5d7dad[_0x1a4e('0x40')])_0x22b0c5(_0x5d7dad,0x0);else if('FeatureCollection'===_0x5d7dad[_0x1a4e('0x40')])for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x25')][_0x1a4e('0x1e')];_0x5ac9eb++)_0x22b0c5(_0x5d7dad['features'][_0x5ac9eb],_0x5ac9eb);}function _0x57cad0(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb;return _0x1494e6(_0x5d7dad,function(_0x5d7dad,_0x81bc8f){_0x261805=0x0===_0x81bc8f&&void 0x0===_0x5ac9eb?_0x5d7dad:_0x22b0c5(_0x261805,_0x5d7dad,_0x81bc8f);}),_0x261805;}function _0x4412c5(_0x5d7dad){var _0x22b0c5=[];return _0x40eeaf(_0x5d7dad,function(_0x5d7dad){_0x22b0c5[_0x1a4e('0x46')](_0x5d7dad);}),_0x22b0c5;}function _0xaebea(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559,_0x184c89=0x0,_0x4198ed='FeatureCollection'===_0x5d7dad[_0x1a4e('0x40')],_0x41179c=_0x1a4e('0x12')===_0x5d7dad['type'],_0x4eb09b=_0x4198ed?_0x5d7dad[_0x1a4e('0x25')][_0x1a4e('0x1e')]:0x1;for(_0x5ac9eb=0x0;_0x5ac9eb<_0x4eb09b;_0x5ac9eb++){for(_0x1972c2=_0x4198ed?_0x5d7dad[_0x1a4e('0x25')][_0x5ac9eb][_0x1a4e('0x18')]:_0x41179c?_0x5d7dad[_0x1a4e('0x18')]:_0x5d7dad,_0x5dae0e=_0x4198ed?_0x5d7dad[_0x1a4e('0x25')][_0x5ac9eb]['properties']:_0x41179c?_0x5d7dad[_0x1a4e('0x13')]:{},_0x3d7f02=_0x4198ed?_0x5d7dad[_0x1a4e('0x25')][_0x5ac9eb][_0x1a4e('0xe')]:_0x41179c?_0x5d7dad[_0x1a4e('0xe')]:void 0x0,_0x146559=_0x4198ed?_0x5d7dad['features'][_0x5ac9eb]['id']:_0x41179c?_0x5d7dad['id']:void 0x0,_0x153447=(_0x3376f9=!!_0x1972c2&&'GeometryCollection'===_0x1972c2[_0x1a4e('0x40')])?_0x1972c2[_0x1a4e('0x42')][_0x1a4e('0x1e')]:0x1,_0x81bc8f=0x0;_0x81bc8f<_0x153447;_0x81bc8f++)if(null!==(_0x234f42=_0x3376f9?_0x1972c2['geometries'][_0x81bc8f]:_0x1972c2))switch(_0x234f42[_0x1a4e('0x40')]){case'Point':case _0x1a4e('0x44'):case _0x1a4e('0x1a'):case _0x1a4e('0x19'):case'MultiLineString':case _0x1a4e('0x1c'):_0x22b0c5(_0x234f42,_0x184c89,_0x5dae0e,_0x3d7f02,_0x146559);break;case _0x1a4e('0x28'):for(_0x261805=0x0;_0x261805<_0x234f42[_0x1a4e('0x42')]['length'];_0x261805++)_0x22b0c5(_0x234f42[_0x1a4e('0x42')][_0x261805],_0x184c89,_0x5dae0e,_0x3d7f02,_0x146559);break;default:throw new Error(_0x1a4e('0x45'));}else _0x22b0c5(null,_0x184c89,_0x5dae0e,_0x3d7f02,_0x146559);_0x184c89++;}}function _0x5674f8(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb;return _0xaebea(_0x5d7dad,function(_0x5d7dad,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2){_0x261805=0x0===_0x81bc8f&&void 0x0===_0x5ac9eb?_0x5d7dad:_0x22b0c5(_0x261805,_0x5d7dad,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2);}),_0x261805;}function _0xe0c7f6(_0x5d7dad,_0x5ac9eb){_0xaebea(_0x5d7dad,function(_0x5d7dad,_0x261805,_0x81bc8f,_0x234f42,_0x153447){var _0x1972c2,_0x3376f9=null===_0x5d7dad?null:_0x5d7dad['type'];switch(_0x3376f9){case null:case _0x1a4e('0x17'):case _0x1a4e('0x44'):case _0x1a4e('0x19'):return void _0x5ac9eb(_0x22b0c5(_0x5d7dad,_0x81bc8f,{'bbox':_0x234f42,'id':_0x153447}),_0x261805,0x0);}switch(_0x3376f9){case _0x1a4e('0x1a'):_0x1972c2=_0x1a4e('0x17');break;case _0x1a4e('0x1b'):_0x1972c2=_0x1a4e('0x44');break;case _0x1a4e('0x1c'):_0x1972c2='Polygon';}_0x5d7dad[_0x1a4e('0x43')]['forEach'](function(_0x5d7dad,_0x234f42){_0x5ac9eb(_0x22b0c5({'type':_0x1972c2,'coordinates':_0x5d7dad},_0x81bc8f),_0x261805,_0x234f42);});});}function _0x23ec33(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb;return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad,_0x81bc8f,_0x234f42){_0x261805=0x0===_0x81bc8f&&0x0===_0x234f42&&void 0x0===_0x5ac9eb?_0x5d7dad:_0x22b0c5(_0x261805,_0x5d7dad,_0x81bc8f,_0x234f42);}),_0x261805;}function _0x5b37a5(_0x5d7dad,_0x22b0c5){_0xe0c7f6(_0x5d7dad,function(_0x5d7dad,_0x5ac9eb,_0x261805){var _0x81bc8f=0x0;if(_0x5d7dad[_0x1a4e('0x18')]){var _0x234f42=_0x5d7dad['geometry'][_0x1a4e('0x40')];_0x1a4e('0x17')!==_0x234f42&&'MultiPoint'!==_0x234f42&&_0x34483c(_0x5d7dad,function(_0x234f42,_0x153447,_0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559){var _0x184c89=_0x1972c2([_0x234f42,_0x153447],_0x5d7dad[_0x1a4e('0x13')]);return _0x22b0c5(_0x184c89,_0x5ac9eb,_0x261805,_0x146559,_0x81bc8f),_0x81bc8f++,_0x153447;});}});}function _0xa3630(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb,_0x81bc8f=!0x1;return _0x5b37a5(_0x5d7dad,function(_0x5d7dad,_0x234f42,_0x153447,_0x1972c2,_0x3376f9){_0x261805=!0x1===_0x81bc8f&&void 0x0===_0x5ac9eb?_0x5d7dad:_0x22b0c5(_0x261805,_0x5d7dad,_0x234f42,_0x153447,_0x1972c2,_0x3376f9),_0x81bc8f=!0x0;}),_0x261805;}function _0x310be4(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));_0xe0c7f6(_0x5d7dad,function(_0x5d7dad,_0x5ac9eb,_0x261805){if(null!==_0x5d7dad[_0x1a4e('0x18')]){var _0x81bc8f=_0x5d7dad['geometry'][_0x1a4e('0x40')],_0x234f42=_0x5d7dad['geometry'][_0x1a4e('0x43')];switch(_0x81bc8f){case _0x1a4e('0x44'):_0x22b0c5(_0x5d7dad,_0x5ac9eb,_0x261805,0x0,0x0);break;case _0x1a4e('0x19'):for(var _0x153447=0x0;_0x153447<_0x234f42[_0x1a4e('0x1e')];_0x153447++)_0x22b0c5(_0x1972c2(_0x234f42[_0x153447],_0x5d7dad[_0x1a4e('0x13')]),_0x5ac9eb,_0x261805,_0x153447);}}});}function _0x58d830(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb;return _0x310be4(_0x5d7dad,function(_0x5d7dad,_0x81bc8f,_0x234f42,_0x153447){_0x261805=0x0===_0x81bc8f&&void 0x0===_0x5ac9eb?_0x5d7dad:_0x22b0c5(_0x261805,_0x5d7dad,_0x81bc8f,_0x234f42,_0x153447);}),_0x261805;}function _0x3c3785(_0x5d7dad){var _0x22b0c5=[0x1/0x0,0x1/0x0,-0x1/0x0,-0x1/0x0];return _0x40eeaf(_0x5d7dad,function(_0x5d7dad){_0x22b0c5[0x0]>_0x5d7dad[0x0]&&(_0x22b0c5[0x0]=_0x5d7dad[0x0]),_0x22b0c5[0x1]>_0x5d7dad[0x1]&&(_0x22b0c5[0x1]=_0x5d7dad[0x1]),_0x22b0c5[0x2]<_0x5d7dad[0x0]&&(_0x22b0c5[0x2]=_0x5d7dad[0x0]),_0x22b0c5[0x3]<_0x5d7dad[0x1]&&(_0x22b0c5[0x3]=_0x5d7dad[0x1]);}),_0x22b0c5;}function _0x52d3d8(_0x5d7dad){if(!_0x5d7dad)throw new Error(_0x1a4e('0x48'));var _0x22b0c5=_0x2a976f(_0x5d7dad);if(_0x22b0c5[_0x1a4e('0x1e')]>0x1&&_0x556755(_0x22b0c5[0x0])&&_0x556755(_0x22b0c5[0x1]))return _0x22b0c5;throw new Error(_0x1a4e('0x49'));}function _0x2a976f(_0x5d7dad){if(!_0x5d7dad)throw new Error(_0x1a4e('0x48'));var _0x22b0c5;if(_0x5d7dad[_0x1a4e('0x1e')]?_0x22b0c5=_0x5d7dad:_0x5d7dad['coordinates']?_0x22b0c5=_0x5d7dad[_0x1a4e('0x43')]:_0x5d7dad[_0x1a4e('0x18')]&&_0x5d7dad['geometry'][_0x1a4e('0x43')]&&(_0x22b0c5=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')]),_0x22b0c5)return _0x4598a2(_0x22b0c5),_0x22b0c5;throw new Error('No\x20valid\x20coordinates');}function _0x4598a2(_0x5d7dad){if(_0x5d7dad[_0x1a4e('0x1e')]>0x1&&_0x556755(_0x5d7dad[0x0])&&_0x556755(_0x5d7dad[0x1]))return!0x0;if(Array[_0x1a4e('0x15')](_0x5d7dad[0x0])&&_0x5d7dad[0x0][_0x1a4e('0x1e')])return _0x4598a2(_0x5d7dad[0x0]);throw new Error('coordinates\x20must\x20only\x20contain\x20numbers');}function _0x281b1c(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x22b0c5||!_0x5ac9eb)throw new Error('type\x20and\x20name\x20required');if(!_0x5d7dad||_0x5d7dad[_0x1a4e('0x40')]!==_0x22b0c5)throw new Error('Invalid\x20input\x20to\x20'+_0x5ac9eb+_0x1a4e('0x4a')+_0x22b0c5+_0x1a4e('0x4b')+_0x5d7dad[_0x1a4e('0x40')]);}function _0xb3655(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x5d7dad)throw new Error(_0x1a4e('0x4c'));if(!_0x5ac9eb)throw new Error(_0x1a4e('0x4d'));if(!_0x5d7dad||_0x1a4e('0x12')!==_0x5d7dad[_0x1a4e('0x40')]||!_0x5d7dad[_0x1a4e('0x18')])throw new Error(_0x1a4e('0x4e')+_0x5ac9eb+',\x20Feature\x20with\x20geometry\x20required');if(!_0x5d7dad[_0x1a4e('0x18')]||_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]!==_0x22b0c5)throw new Error('Invalid\x20input\x20to\x20'+_0x5ac9eb+':\x20must\x20be\x20a\x20'+_0x22b0c5+_0x1a4e('0x4b')+_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]);}function _0x1a38db(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x5d7dad)throw new Error(_0x1a4e('0x4f'));if(!_0x5ac9eb)throw new Error(_0x1a4e('0x50'));if(!_0x5d7dad||_0x1a4e('0x41')!==_0x5d7dad[_0x1a4e('0x40')])throw new Error(_0x1a4e('0x4e')+_0x5ac9eb+_0x1a4e('0x51'));for(var _0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x25')]['length'];_0x261805++){var _0x81bc8f=_0x5d7dad[_0x1a4e('0x25')][_0x261805];if(!_0x81bc8f||_0x1a4e('0x12')!==_0x81bc8f['type']||!_0x81bc8f['geometry'])throw new Error(_0x1a4e('0x4e')+_0x5ac9eb+_0x1a4e('0x52'));if(!_0x81bc8f['geometry']||_0x81bc8f['geometry']['type']!==_0x22b0c5)throw new Error(_0x1a4e('0x4e')+_0x5ac9eb+_0x1a4e('0x4a')+_0x22b0c5+_0x1a4e('0x4b')+_0x81bc8f[_0x1a4e('0x18')]['type']);}}function _0x4510bd(_0x5d7dad){if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));if(void 0x0!==_0x5d7dad['geometry'])return _0x5d7dad['geometry'];if(_0x5d7dad[_0x1a4e('0x43')]||_0x5d7dad[_0x1a4e('0x42')])return _0x5d7dad;throw new Error('geojson\x20must\x20be\x20a\x20valid\x20Feature\x20or\x20Geometry\x20Object');}function _0x17d5e4(){throw new Error(_0x1a4e('0x53'));}function _0x9463e6(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)throw new Error((_0x22b0c5||'geojson')+_0x1a4e('0x54'));if(_0x5d7dad[_0x1a4e('0x18')]&&_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')])return _0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')];if(_0x5d7dad[_0x1a4e('0x40')])return _0x5d7dad[_0x1a4e('0x40')];throw new Error((_0x22b0c5||_0x1a4e('0x55'))+_0x1a4e('0x1d'));}function _0x1db7b2(_0x5d7dad,_0x22b0c5,_0x5ac9eb){_0x5ac9eb=_0x5ac9eb||{};for(var _0x261805=Object[_0x1a4e('0x56')](_0x404b04),_0x81bc8f=0x0;_0x81bc8f<_0x261805['length'];_0x81bc8f++){var _0x234f42=_0x261805[_0x81bc8f],_0x153447=_0x5ac9eb[_0x234f42];_0x153447=null!=_0x153447?_0x153447:_0x404b04[_0x234f42],_0x16a768[_0x234f42]=_0x153447;}_0x16a768[_0x1a4e('0x57')]&&console[_0x1a4e('0x58')]('MarchingSquaresJS-isoContours:\x20computing\x20isocontour\x20for\x20'+_0x22b0c5);var _0x1972c2=function(_0x5d7dad){var _0x22b0c5=[],_0x5ac9eb=0x0;return _0x5d7dad['rows'],_0x5d7dad[_0x1a4e('0x59')],_0x5d7dad[_0x1a4e('0x5a')]['forEach'](function(_0x261805,_0x81bc8f){_0x261805['forEach'](function(_0x261805,_0x234f42){if(void 0x0!==_0x261805&&!function(_0x5d7dad){return 0x5===_0x5d7dad['cval']||0xa===_0x5d7dad[_0x1a4e('0x5b')];}(_0x261805)&&!_0x150957(_0x261805)){var _0x153447=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805,_0x81bc8f,_0x234f42,_0x153447=_0x5d7dad['length'],_0x1972c2=[],_0x3376f9=[0x0,0x0,0x1,0x1,0x0,0x0,0x0,0x0,-0x1,0x0,0x1,0x1,-0x1,0x0,-0x1,0x0],_0x5dae0e=[0x0,-0x1,0x0,0x0,0x1,0x1,0x1,0x1,0x0,-0x1,0x0,0x0,0x0,-0x1,0x0,0x0],_0x3d7f02=['none',_0x1a4e('0x5c'),_0x1a4e('0x5d'),_0x1a4e('0x5d'),_0x1a4e('0x5e'),_0x1a4e('0x5e'),_0x1a4e('0x5e'),_0x1a4e('0x5e'),_0x1a4e('0x5f'),_0x1a4e('0x5c'),_0x1a4e('0x5d'),'right',_0x1a4e('0x5f'),_0x1a4e('0x5c'),'left',_0x1a4e('0x60')],_0x146559=(_0x5d7dad[_0x22b0c5][_0x5ac9eb],_0x5d7dad[_0x22b0c5][_0x5ac9eb]),_0x184c89=_0x146559['cval'],_0x4198ed=_0x3c5b6a(_0x146559,_0x234f42=['none','left',_0x1a4e('0x5c'),'left',_0x1a4e('0x5d'),_0x1a4e('0x60'),_0x1a4e('0x5c'),'left',_0x1a4e('0x5e'),_0x1a4e('0x5e'),_0x1a4e('0x60'),_0x1a4e('0x5e'),_0x1a4e('0x5d'),_0x1a4e('0x5d'),_0x1a4e('0x5c'),_0x1a4e('0x60')][_0x184c89]);_0x1972c2['push']([_0x5ac9eb+_0x4198ed[0x0],_0x22b0c5+_0x4198ed[0x1]]),_0x4198ed=_0x3c5b6a(_0x146559,_0x234f42=_0x3d7f02[_0x184c89]),_0x1972c2[_0x1a4e('0x46')]([_0x5ac9eb+_0x4198ed[0x0],_0x22b0c5+_0x4198ed[0x1]]),_0x21792f(_0x146559);for(var _0x41179c=_0x5ac9eb+_0x3376f9[_0x184c89],_0x4eb09b=_0x22b0c5+_0x5dae0e[_0x184c89],_0x39638f=_0x184c89;_0x41179c>=0x0&&_0x4eb09b>=0x0&&_0x4eb09b<_0x153447&&(_0x41179c!=_0x5ac9eb||_0x4eb09b!=_0x22b0c5)&&void 0x0!==(_0x146559=_0x5d7dad[_0x4eb09b][_0x41179c]);){if(0x0===(_0x184c89=_0x146559[_0x1a4e('0x5b')])||0xf===_0x184c89)return{'path':_0x1972c2,'info':'mergeable'};_0x234f42=_0x3d7f02[_0x184c89],_0x261805=_0x3376f9[_0x184c89],_0x81bc8f=_0x5dae0e[_0x184c89],0x5!==_0x184c89&&0xa!==_0x184c89||(0x5===_0x184c89?_0x146559[_0x1a4e('0x61')]?-0x1===_0x5dae0e[_0x39638f]?(_0x234f42=_0x1a4e('0x5f'),_0x261805=-0x1,_0x81bc8f=0x0):(_0x234f42=_0x1a4e('0x5d'),_0x261805=0x1,_0x81bc8f=0x0):-0x1===_0x3376f9[_0x39638f]&&(_0x234f42=_0x1a4e('0x5c'),_0x261805=0x0,_0x81bc8f=-0x1):0xa===_0x184c89&&(_0x146559[_0x1a4e('0x61')]?-0x1===_0x3376f9[_0x39638f]?(_0x234f42=_0x1a4e('0x5e'),_0x261805=0x0,_0x81bc8f=0x1):(_0x234f42=_0x1a4e('0x5c'),_0x261805=0x0,_0x81bc8f=-0x1):0x1===_0x5dae0e[_0x39638f]&&(_0x234f42=_0x1a4e('0x5f'),_0x261805=-0x1,_0x81bc8f=0x0))),_0x4198ed=_0x3c5b6a(_0x146559,_0x234f42),_0x1972c2[_0x1a4e('0x46')]([_0x41179c+_0x4198ed[0x0],_0x4eb09b+_0x4198ed[0x1]]),_0x21792f(_0x146559),_0x41179c+=_0x261805,_0x4eb09b+=_0x81bc8f,_0x39638f=_0x184c89;}return{'path':_0x1972c2,'info':_0x1a4e('0x62')};}(_0x5d7dad[_0x1a4e('0x5a')],_0x81bc8f,_0x234f42),_0x1972c2=!0x1;if(_0x1a4e('0x63')===_0x153447['info'])for(var _0x3376f9=_0x153447[_0x1a4e('0x64')][_0x153447[_0x1a4e('0x64')][_0x1a4e('0x1e')]-0x1][0x0],_0x5dae0e=_0x153447[_0x1a4e('0x64')][_0x153447[_0x1a4e('0x64')][_0x1a4e('0x1e')]-0x1][0x1],_0x3d7f02=_0x5ac9eb-0x1;_0x3d7f02>=0x0;_0x3d7f02--)if(Math['abs'](_0x22b0c5[_0x3d7f02][0x0][0x0]-_0x3376f9)<=1e-7&&Math[_0x1a4e('0x65')](_0x22b0c5[_0x3d7f02][0x0][0x1]-_0x5dae0e)<=1e-7){for(var _0x146559=_0x153447[_0x1a4e('0x64')][_0x1a4e('0x1e')]-0x2;_0x146559>=0x0;--_0x146559)_0x22b0c5[_0x3d7f02][_0x1a4e('0x66')](_0x153447[_0x1a4e('0x64')][_0x146559]);_0x1972c2=!0x0;break;}_0x1972c2||(_0x22b0c5[_0x5ac9eb++]=_0x153447[_0x1a4e('0x64')]);}});}),_0x22b0c5;}(function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x1e')]-0x1,_0x261805=_0x5d7dad[0x0]['length']-0x1,_0x81bc8f={'rows':_0x5ac9eb,'cols':_0x261805,'cells':[]},_0x234f42=0x0;_0x234f42<_0x5ac9eb;++_0x234f42){_0x81bc8f[_0x1a4e('0x5a')][_0x234f42]=[];for(var _0x153447=0x0;_0x153447<_0x261805;++_0x153447){var _0x1972c2=0x0,_0x3376f9=_0x5d7dad[_0x234f42+0x1][_0x153447],_0x5dae0e=_0x5d7dad[_0x234f42+0x1][_0x153447+0x1],_0x3d7f02=_0x5d7dad[_0x234f42][_0x153447+0x1],_0x146559=_0x5d7dad[_0x234f42][_0x153447];if(!(isNaN(_0x3376f9)||isNaN(_0x5dae0e)||isNaN(_0x3d7f02)||isNaN(_0x146559))){_0x1972c2|=_0x3376f9>=_0x22b0c5?0x8:0x0,_0x1972c2|=_0x5dae0e>=_0x22b0c5?0x4:0x0,_0x1972c2|=_0x3d7f02>=_0x22b0c5?0x2:0x0;var _0x184c89,_0x4198ed,_0x41179c,_0x4eb09b,_0x39638f=!0x1;if(0x5==(_0x1972c2|=_0x146559>=_0x22b0c5?0x1:0x0)||0xa===_0x1972c2){var _0x40b220=(_0x3376f9+_0x5dae0e+_0x3d7f02+_0x146559)/0x4;0x5===_0x1972c2&&_0x40b220<_0x22b0c5?(_0x1972c2=0xa,_0x39638f=!0x0):0xa===_0x1972c2&&_0x40b220<_0x22b0c5&&(_0x1972c2=0x5,_0x39638f=!0x0);}0x0!==_0x1972c2&&0xf!==_0x1972c2&&(_0x184c89=_0x4198ed=_0x41179c=_0x4eb09b=0.5,0x1===_0x1972c2?(_0x41179c=0x1-_0x2f74e8(_0x22b0c5,_0x3376f9,_0x146559),_0x4198ed=0x1-_0x2f74e8(_0x22b0c5,_0x3d7f02,_0x146559)):0x2===_0x1972c2?(_0x4198ed=_0x2f74e8(_0x22b0c5,_0x146559,_0x3d7f02),_0x4eb09b=0x1-_0x2f74e8(_0x22b0c5,_0x5dae0e,_0x3d7f02)):0x3===_0x1972c2?(_0x41179c=0x1-_0x2f74e8(_0x22b0c5,_0x3376f9,_0x146559),_0x4eb09b=0x1-_0x2f74e8(_0x22b0c5,_0x5dae0e,_0x3d7f02)):0x4===_0x1972c2?(_0x184c89=_0x2f74e8(_0x22b0c5,_0x3376f9,_0x5dae0e),_0x4eb09b=_0x2f74e8(_0x22b0c5,_0x3d7f02,_0x5dae0e)):0x5===_0x1972c2?(_0x184c89=_0x2f74e8(_0x22b0c5,_0x3376f9,_0x5dae0e),_0x4eb09b=_0x2f74e8(_0x22b0c5,_0x3d7f02,_0x5dae0e),_0x4198ed=0x1-_0x2f74e8(_0x22b0c5,_0x3d7f02,_0x146559),_0x41179c=0x1-_0x2f74e8(_0x22b0c5,_0x3376f9,_0x146559)):0x6===_0x1972c2?(_0x4198ed=_0x2f74e8(_0x22b0c5,_0x146559,_0x3d7f02),_0x184c89=_0x2f74e8(_0x22b0c5,_0x3376f9,_0x5dae0e)):0x7===_0x1972c2?(_0x41179c=0x1-_0x2f74e8(_0x22b0c5,_0x3376f9,_0x146559),_0x184c89=_0x2f74e8(_0x22b0c5,_0x3376f9,_0x5dae0e)):0x8===_0x1972c2?(_0x41179c=_0x2f74e8(_0x22b0c5,_0x146559,_0x3376f9),_0x184c89=0x1-_0x2f74e8(_0x22b0c5,_0x5dae0e,_0x3376f9)):0x9===_0x1972c2?(_0x4198ed=0x1-_0x2f74e8(_0x22b0c5,_0x3d7f02,_0x146559),_0x184c89=0x1-_0x2f74e8(_0x22b0c5,_0x5dae0e,_0x3376f9)):0xa===_0x1972c2?(_0x184c89=0x1-_0x2f74e8(_0x22b0c5,_0x5dae0e,_0x3376f9),_0x4eb09b=0x1-_0x2f74e8(_0x22b0c5,_0x5dae0e,_0x3d7f02),_0x4198ed=_0x2f74e8(_0x22b0c5,_0x146559,_0x3d7f02),_0x41179c=_0x2f74e8(_0x22b0c5,_0x146559,_0x3376f9)):0xb===_0x1972c2?(_0x184c89=0x1-_0x2f74e8(_0x22b0c5,_0x5dae0e,_0x3376f9),_0x4eb09b=0x1-_0x2f74e8(_0x22b0c5,_0x5dae0e,_0x3d7f02)):0xc===_0x1972c2?(_0x41179c=_0x2f74e8(_0x22b0c5,_0x146559,_0x3376f9),_0x4eb09b=_0x2f74e8(_0x22b0c5,_0x3d7f02,_0x5dae0e)):0xd===_0x1972c2?(_0x4198ed=0x1-_0x2f74e8(_0x22b0c5,_0x3d7f02,_0x146559),_0x4eb09b=_0x2f74e8(_0x22b0c5,_0x3d7f02,_0x5dae0e)):0xe===_0x1972c2?(_0x41179c=_0x2f74e8(_0x22b0c5,_0x146559,_0x3376f9),_0x4198ed=_0x2f74e8(_0x22b0c5,_0x146559,_0x3d7f02)):console[_0x1a4e('0x58')](_0x1a4e('0x67')+_0x1972c2),_0x81bc8f[_0x1a4e('0x5a')][_0x234f42][_0x153447]={'cval':_0x1972c2,'flipped':_0x39638f,'top':_0x184c89,'right':_0x4eb09b,'bottom':_0x4198ed,'left':_0x41179c});}}}return _0x81bc8f;}(_0x5d7dad,_0x22b0c5));return _0x1a4e('0x68')==typeof _0x16a768[_0x1a4e('0x69')]&&_0x16a768[_0x1a4e('0x69')](_0x1972c2),_0x1972c2;}function _0x2f74e8(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return(_0x5d7dad-_0x22b0c5)/(_0x5ac9eb-_0x22b0c5);}function _0x150957(_0x5d7dad){return 0x0===_0x5d7dad[_0x1a4e('0x5b')]||0xf===_0x5d7dad[_0x1a4e('0x5b')];}function _0x21792f(_0x5d7dad){_0x150957(_0x5d7dad)||0x5===_0x5d7dad[_0x1a4e('0x5b')]||0xa===_0x5d7dad[_0x1a4e('0x5b')]||(_0x5d7dad[_0x1a4e('0x5b')]=0xf);}function _0x3c5b6a(_0x5d7dad,_0x22b0c5){return _0x1a4e('0x5e')===_0x22b0c5?[_0x5d7dad[_0x1a4e('0x5e')],0x1]:_0x1a4e('0x5c')===_0x22b0c5?[_0x5d7dad[_0x1a4e('0x5c')],0x0]:'right'===_0x22b0c5?[0x1,_0x5d7dad[_0x1a4e('0x5d')]]:_0x1a4e('0x5f')===_0x22b0c5?[0x0,_0x5d7dad[_0x1a4e('0x5f')]]:void 0x0;}function _0x328199(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x22b0c5];_0x5d7dad[_0x22b0c5]=_0x5d7dad[_0x5ac9eb],_0x5d7dad[_0x5ac9eb]=_0x261805;}function _0x4887ef(_0x5d7dad,_0x22b0c5){if(!(this instanceof _0x4887ef))return new _0x4887ef(_0x5d7dad,_0x22b0c5);this[_0x1a4e('0x6a')]=Math['max'](0x4,_0x5d7dad||0x9),this[_0x1a4e('0x6b')]=Math[_0x1a4e('0x6c')](0x2,Math[_0x1a4e('0x6d')](0.4*this[_0x1a4e('0x6a')])),_0x22b0c5&&this[_0x1a4e('0x6e')](_0x22b0c5),this['clear']();}function _0x3a6d5d(_0x5d7dad,_0x22b0c5){_0x842214(_0x5d7dad,0x0,_0x5d7dad[_0x1a4e('0x6f')][_0x1a4e('0x1e')],_0x22b0c5,_0x5d7dad);}function _0x842214(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){_0x81bc8f||(_0x81bc8f=_0x4b6acb(null)),_0x81bc8f[_0x1a4e('0x70')]=0x1/0x0,_0x81bc8f[_0x1a4e('0x71')]=0x1/0x0,_0x81bc8f['maxX']=-0x1/0x0,_0x81bc8f[_0x1a4e('0x72')]=-0x1/0x0;for(var _0x234f42,_0x153447=_0x22b0c5;_0x153447<_0x5ac9eb;_0x153447++)_0x234f42=_0x5d7dad[_0x1a4e('0x6f')][_0x153447],_0x4a9811(_0x81bc8f,_0x5d7dad[_0x1a4e('0x73')]?_0x261805(_0x234f42):_0x234f42);return _0x81bc8f;}function _0x4a9811(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x70')]=Math[_0x1a4e('0x74')](_0x5d7dad['minX'],_0x22b0c5[_0x1a4e('0x70')]),_0x5d7dad[_0x1a4e('0x71')]=Math[_0x1a4e('0x74')](_0x5d7dad[_0x1a4e('0x71')],_0x22b0c5[_0x1a4e('0x71')]),_0x5d7dad[_0x1a4e('0x75')]=Math[_0x1a4e('0x6c')](_0x5d7dad[_0x1a4e('0x75')],_0x22b0c5[_0x1a4e('0x75')]),_0x5d7dad[_0x1a4e('0x72')]=Math[_0x1a4e('0x6c')](_0x5d7dad[_0x1a4e('0x72')],_0x22b0c5[_0x1a4e('0x72')]),_0x5d7dad;}function _0x43e18a(_0x5d7dad,_0x22b0c5){return _0x5d7dad['minX']-_0x22b0c5[_0x1a4e('0x70')];}function _0x189974(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x71')]-_0x22b0c5[_0x1a4e('0x71')];}function _0x318470(_0x5d7dad){return(_0x5d7dad[_0x1a4e('0x75')]-_0x5d7dad[_0x1a4e('0x70')])*(_0x5d7dad[_0x1a4e('0x72')]-_0x5d7dad[_0x1a4e('0x71')]);}function _0x3a6b85(_0x5d7dad){return _0x5d7dad['maxX']-_0x5d7dad['minX']+(_0x5d7dad[_0x1a4e('0x72')]-_0x5d7dad[_0x1a4e('0x71')]);}function _0x279fe8(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x70')]<=_0x22b0c5[_0x1a4e('0x70')]&&_0x5d7dad[_0x1a4e('0x71')]<=_0x22b0c5[_0x1a4e('0x71')]&&_0x22b0c5[_0x1a4e('0x75')]<=_0x5d7dad[_0x1a4e('0x75')]&&_0x22b0c5[_0x1a4e('0x72')]<=_0x5d7dad['maxY'];}function _0x38506b(_0x5d7dad,_0x22b0c5){return _0x22b0c5['minX']<=_0x5d7dad['maxX']&&_0x22b0c5[_0x1a4e('0x71')]<=_0x5d7dad['maxY']&&_0x22b0c5[_0x1a4e('0x75')]>=_0x5d7dad[_0x1a4e('0x70')]&&_0x22b0c5[_0x1a4e('0x72')]>=_0x5d7dad[_0x1a4e('0x71')];}function _0x4b6acb(_0x5d7dad){return{'children':_0x5d7dad,'height':0x1,'leaf':!0x0,'minX':0x1/0x0,'minY':0x1/0x0,'maxX':-0x1/0x0,'maxY':-0x1/0x0};}function _0x2238ac(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){for(var _0x234f42,_0x153447=[_0x22b0c5,_0x5ac9eb];_0x153447[_0x1a4e('0x1e')];)(_0x5ac9eb=_0x153447[_0x1a4e('0x76')]())-(_0x22b0c5=_0x153447['pop']())<=_0x261805||(_0x234f42=_0x22b0c5+Math[_0x1a4e('0x6d')]((_0x5ac9eb-_0x22b0c5)/_0x261805/0x2)*_0x261805,_0x405f46(_0x5d7dad,_0x234f42,_0x22b0c5,_0x5ac9eb,_0x81bc8f),_0x153447[_0x1a4e('0x46')](_0x22b0c5,_0x234f42,_0x234f42,_0x5ac9eb));}function _0x1d580f(_0x5d7dad,_0x22b0c5){return _0x5d7dad(_0x22b0c5={'exports':{}},_0x22b0c5['exports']),_0x22b0c5[_0x1a4e('0x0')];}function _0x2fb8bc(_0x5d7dad,_0x22b0c5){if(!(this instanceof _0x2fb8bc))return new _0x2fb8bc(_0x5d7dad,_0x22b0c5);if(this['data']=_0x5d7dad||[],this['length']=this['data'][_0x1a4e('0x1e')],this[_0x1a4e('0x77')]=_0x22b0c5||function(_0x5d7dad,_0x22b0c5){return _0x5d7dad<_0x22b0c5?-0x1:_0x5d7dad>_0x22b0c5?0x1:0x0;},this[_0x1a4e('0x1e')]>0x0)for(var _0x5ac9eb=(this[_0x1a4e('0x1e')]>>0x1)-0x1;_0x5ac9eb>=0x0;_0x5ac9eb--)this['_down'](_0x5ac9eb);}function _0x4ac050(_0x5d7dad,_0x22b0c5,_0x5ac9eb){_0x22b0c5=Math[_0x1a4e('0x6c')](0x0,void 0x0===_0x22b0c5?0x2:_0x22b0c5),_0x5ac9eb=_0x5ac9eb||0x0;for(var _0x261805,_0x81bc8f=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[0x0],_0x5ac9eb=_0x5d7dad[0x0],_0x261805=_0x5d7dad[0x0],_0x81bc8f=_0x5d7dad[0x0],_0x234f42=0x0;_0x234f42<_0x5d7dad[_0x1a4e('0x1e')];_0x234f42++){var _0x153447=_0x5d7dad[_0x234f42];_0x153447[0x0]<_0x22b0c5[0x0]&&(_0x22b0c5=_0x153447),_0x153447[0x0]>_0x261805[0x0]&&(_0x261805=_0x153447),_0x153447[0x1]<_0x5ac9eb[0x1]&&(_0x5ac9eb=_0x153447),_0x153447[0x1]>_0x81bc8f[0x1]&&(_0x81bc8f=_0x153447);}var _0x1972c2=[_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f],_0x3376f9=_0x1972c2[_0x1a4e('0x78')]();for(_0x234f42=0x0;_0x234f42<_0x5d7dad[_0x1a4e('0x1e')];_0x234f42++)_0x3e52e8(_0x5d7dad[_0x234f42],_0x1972c2)||_0x3376f9[_0x1a4e('0x46')](_0x5d7dad[_0x234f42]);var _0x5dae0e=_0x4f15f4(_0x3376f9),_0x3d7f02=[];for(_0x234f42=0x0;_0x234f42<_0x5dae0e[_0x1a4e('0x1e')];_0x234f42++)_0x3d7f02['push'](_0x3376f9[_0x5dae0e[_0x234f42]]);return _0x3d7f02;}(_0x5d7dad),_0x234f42=_0x5b70fe(0x10,[_0x1a4e('0x79'),'[1]',_0x1a4e('0x79'),_0x1a4e('0x7a')])[_0x1a4e('0x7b')](_0x5d7dad),_0x153447=[],_0x1972c2=0x0;_0x1972c2<_0x81bc8f[_0x1a4e('0x1e')];_0x1972c2++){var _0x3376f9=_0x81bc8f[_0x1972c2];_0x234f42['remove'](_0x3376f9),_0x261805=_0x34d7c4(_0x3376f9,_0x261805),_0x153447[_0x1a4e('0x46')](_0x261805);}var _0x5dae0e=_0x5b70fe(0x10);for(_0x1972c2=0x0;_0x1972c2<_0x153447[_0x1a4e('0x1e')];_0x1972c2++)_0x5dae0e[_0x1a4e('0x7c')](_0x2adb95(_0x153447[_0x1972c2]));for(var _0x3d7f02=_0x22b0c5*_0x22b0c5,_0x146559=_0x5ac9eb*_0x5ac9eb;_0x153447[_0x1a4e('0x1e')];){var _0x184c89=_0x153447[_0x1a4e('0x7d')](),_0x4198ed=_0x184c89['p'],_0x41179c=_0x184c89[_0x1a4e('0x7e')]['p'],_0x4eb09b=_0x2ffb30(_0x4198ed,_0x41179c);if(!(_0x4eb09b<_0x146559)){var _0x39638f=_0x4eb09b/_0x3d7f02;(_0x3376f9=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447){for(var _0x1972c2=new _0x5ecbb5(null,_0x4e8257),_0x3376f9=_0x5d7dad[_0x1a4e('0x7f')];_0x3376f9;){for(var _0x5dae0e=0x0;_0x5dae0e<_0x3376f9[_0x1a4e('0x6f')][_0x1a4e('0x1e')];_0x5dae0e++){var _0x3d7f02=_0x3376f9[_0x1a4e('0x6f')][_0x5dae0e],_0x146559=_0x3376f9[_0x1a4e('0x73')]?_0x4d38fb(_0x3d7f02,_0x5ac9eb,_0x261805):function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x3cd2ae(_0x5d7dad,_0x5ac9eb)||_0x3cd2ae(_0x22b0c5,_0x5ac9eb))return 0x0;var _0x261805=_0x260f9e(_0x5d7dad[0x0],_0x5d7dad[0x1],_0x22b0c5[0x0],_0x22b0c5[0x1],_0x5ac9eb[_0x1a4e('0x70')],_0x5ac9eb[_0x1a4e('0x71')],_0x5ac9eb['maxX'],_0x5ac9eb[_0x1a4e('0x71')]);if(0x0===_0x261805)return 0x0;var _0x81bc8f=_0x260f9e(_0x5d7dad[0x0],_0x5d7dad[0x1],_0x22b0c5[0x0],_0x22b0c5[0x1],_0x5ac9eb[_0x1a4e('0x70')],_0x5ac9eb[_0x1a4e('0x71')],_0x5ac9eb[_0x1a4e('0x70')],_0x5ac9eb[_0x1a4e('0x72')]);if(0x0===_0x81bc8f)return 0x0;var _0x234f42=_0x260f9e(_0x5d7dad[0x0],_0x5d7dad[0x1],_0x22b0c5[0x0],_0x22b0c5[0x1],_0x5ac9eb['maxX'],_0x5ac9eb[_0x1a4e('0x71')],_0x5ac9eb[_0x1a4e('0x75')],_0x5ac9eb[_0x1a4e('0x72')]);if(0x0===_0x234f42)return 0x0;var _0x153447=_0x260f9e(_0x5d7dad[0x0],_0x5d7dad[0x1],_0x22b0c5[0x0],_0x22b0c5[0x1],_0x5ac9eb[_0x1a4e('0x70')],_0x5ac9eb[_0x1a4e('0x72')],_0x5ac9eb[_0x1a4e('0x75')],_0x5ac9eb[_0x1a4e('0x72')]);return 0x0===_0x153447?0x0:Math[_0x1a4e('0x74')](_0x261805,_0x81bc8f,_0x234f42,_0x153447);}(_0x5ac9eb,_0x261805,_0x3d7f02);_0x146559>_0x234f42||_0x1972c2[_0x1a4e('0x46')]({'node':_0x3d7f02,'dist':_0x146559});}for(;_0x1972c2[_0x1a4e('0x1e')]&&!_0x1972c2['peek']()[_0x1a4e('0x80')][_0x1a4e('0x6f')];){var _0x184c89=_0x1972c2[_0x1a4e('0x76')](),_0x4198ed=_0x184c89[_0x1a4e('0x80')],_0x41179c=_0x4d38fb(_0x4198ed,_0x22b0c5,_0x5ac9eb),_0x4eb09b=_0x4d38fb(_0x4198ed,_0x261805,_0x81bc8f);if(_0x184c89[_0x1a4e('0x81')]<_0x41179c&&_0x184c89['dist']<_0x4eb09b&&_0x1aec9f(_0x5ac9eb,_0x4198ed,_0x153447)&&_0x1aec9f(_0x261805,_0x4198ed,_0x153447))return _0x4198ed;}(_0x3376f9=_0x1972c2[_0x1a4e('0x76')]())&&(_0x3376f9=_0x3376f9[_0x1a4e('0x80')]);}return null;}(_0x234f42,_0x184c89['prev']['p'],_0x4198ed,_0x41179c,_0x184c89[_0x1a4e('0x7e')][_0x1a4e('0x7e')]['p'],_0x39638f,_0x5dae0e))&&Math[_0x1a4e('0x74')](_0x2ffb30(_0x3376f9,_0x4198ed),_0x2ffb30(_0x3376f9,_0x41179c))<=_0x39638f&&(_0x153447['push'](_0x184c89),_0x153447['push'](_0x34d7c4(_0x3376f9,_0x184c89)),_0x234f42['remove'](_0x3376f9),_0x5dae0e[_0x1a4e('0x82')](_0x184c89),_0x5dae0e[_0x1a4e('0x7c')](_0x2adb95(_0x184c89)),_0x5dae0e[_0x1a4e('0x7c')](_0x2adb95(_0x184c89[_0x1a4e('0x7e')])));}}_0x184c89=_0x261805;var _0x40b220=[];do{_0x40b220[_0x1a4e('0x46')](_0x184c89['p']),_0x184c89=_0x184c89[_0x1a4e('0x7e')];}while(_0x184c89!==_0x261805);return _0x40b220['push'](_0x184c89['p']),_0x40b220;}function _0x4e8257(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x81')]-_0x22b0c5[_0x1a4e('0x81')];}function _0x3cd2ae(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]>=_0x22b0c5['minX']&&_0x5d7dad[0x0]<=_0x22b0c5['maxX']&&_0x5d7dad[0x1]>=_0x22b0c5[_0x1a4e('0x71')]&&_0x5d7dad[0x1]<=_0x22b0c5['maxY'];}function _0x1aec9f(_0x5d7dad,_0x22b0c5,_0x5ac9eb){for(var _0x261805=Math[_0x1a4e('0x74')](_0x5d7dad[0x0],_0x22b0c5[0x0]),_0x81bc8f=Math[_0x1a4e('0x74')](_0x5d7dad[0x1],_0x22b0c5[0x1]),_0x234f42=Math[_0x1a4e('0x6c')](_0x5d7dad[0x0],_0x22b0c5[0x0]),_0x153447=Math[_0x1a4e('0x6c')](_0x5d7dad[0x1],_0x22b0c5[0x1]),_0x1972c2=_0x5ac9eb[_0x1a4e('0x83')]({'minX':_0x261805,'minY':_0x81bc8f,'maxX':_0x234f42,'maxY':_0x153447}),_0x3376f9=0x0;_0x3376f9<_0x1972c2['length'];_0x3376f9++)if(function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){return _0x5d7dad!==_0x261805&&_0x22b0c5!==_0x5ac9eb&&_0x30867e(_0x5d7dad,_0x22b0c5,_0x5ac9eb)>0x0!=_0x30867e(_0x5d7dad,_0x22b0c5,_0x261805)>0x0&&_0x30867e(_0x5ac9eb,_0x261805,_0x5d7dad)>0x0!=_0x30867e(_0x5ac9eb,_0x261805,_0x22b0c5)>0x0;}(_0x1972c2[_0x3376f9]['p'],_0x1972c2[_0x3376f9]['next']['p'],_0x5d7dad,_0x22b0c5))return!0x1;return!0x0;}function _0x2adb95(_0x5d7dad){var _0x22b0c5=_0x5d7dad['p'],_0x5ac9eb=_0x5d7dad[_0x1a4e('0x7e')]['p'];return _0x5d7dad['minX']=Math['min'](_0x22b0c5[0x0],_0x5ac9eb[0x0]),_0x5d7dad[_0x1a4e('0x71')]=Math[_0x1a4e('0x74')](_0x22b0c5[0x1],_0x5ac9eb[0x1]),_0x5d7dad[_0x1a4e('0x75')]=Math[_0x1a4e('0x6c')](_0x22b0c5[0x0],_0x5ac9eb[0x0]),_0x5d7dad['maxY']=Math[_0x1a4e('0x6c')](_0x22b0c5[0x1],_0x5ac9eb[0x1]),_0x5d7dad;}function _0x34d7c4(_0x5d7dad,_0x22b0c5){var _0x5ac9eb={'p':_0x5d7dad,'prev':null,'next':null,'minX':0x0,'minY':0x0,'maxX':0x0,'maxY':0x0};return _0x22b0c5?(_0x5ac9eb[_0x1a4e('0x7e')]=_0x22b0c5[_0x1a4e('0x7e')],_0x5ac9eb['prev']=_0x22b0c5,_0x22b0c5['next']['prev']=_0x5ac9eb,_0x22b0c5[_0x1a4e('0x7e')]=_0x5ac9eb):(_0x5ac9eb['prev']=_0x5ac9eb,_0x5ac9eb['next']=_0x5ac9eb),_0x5ac9eb;}function _0x2ffb30(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[0x0]-_0x22b0c5[0x0],_0x261805=_0x5d7dad[0x1]-_0x22b0c5[0x1];return _0x5ac9eb*_0x5ac9eb+_0x261805*_0x261805;}function _0x4d38fb(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5[0x0],_0x81bc8f=_0x22b0c5[0x1],_0x234f42=_0x5ac9eb[0x0]-_0x261805,_0x153447=_0x5ac9eb[0x1]-_0x81bc8f;if(0x0!==_0x234f42||0x0!==_0x153447){var _0x1972c2=((_0x5d7dad[0x0]-_0x261805)*_0x234f42+(_0x5d7dad[0x1]-_0x81bc8f)*_0x153447)/(_0x234f42*_0x234f42+_0x153447*_0x153447);_0x1972c2>0x1?(_0x261805=_0x5ac9eb[0x0],_0x81bc8f=_0x5ac9eb[0x1]):_0x1972c2>0x0&&(_0x261805+=_0x234f42*_0x1972c2,_0x81bc8f+=_0x153447*_0x1972c2);}return _0x234f42=_0x5d7dad[0x0]-_0x261805,_0x153447=_0x5d7dad[0x1]-_0x81bc8f,_0x234f42*_0x234f42+_0x153447*_0x153447;}function _0x260f9e(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2){var _0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559,_0x184c89=_0x5ac9eb-_0x5d7dad,_0x4198ed=_0x261805-_0x22b0c5,_0x41179c=_0x153447-_0x81bc8f,_0x4eb09b=_0x1972c2-_0x234f42,_0x39638f=_0x5d7dad-_0x81bc8f,_0x40b220=_0x22b0c5-_0x234f42,_0x55366a=_0x184c89*_0x184c89+_0x4198ed*_0x4198ed,_0x527605=_0x184c89*_0x41179c+_0x4198ed*_0x4eb09b,_0x4b8927=_0x41179c*_0x41179c+_0x4eb09b*_0x4eb09b,_0x3ff7f9=_0x184c89*_0x39638f+_0x4198ed*_0x40b220,_0x3b62c2=_0x41179c*_0x39638f+_0x4eb09b*_0x40b220,_0x556755=_0x55366a*_0x4b8927-_0x527605*_0x527605,_0x162a48=_0x556755,_0x4f92fa=_0x556755;0x0===_0x556755?(_0x5dae0e=0x0,_0x162a48=0x1,_0x146559=_0x3b62c2,_0x4f92fa=_0x4b8927):(_0x146559=_0x55366a*_0x3b62c2-_0x527605*_0x3ff7f9,(_0x5dae0e=_0x527605*_0x3b62c2-_0x4b8927*_0x3ff7f9)<0x0?(_0x5dae0e=0x0,_0x146559=_0x3b62c2,_0x4f92fa=_0x4b8927):_0x5dae0e>_0x162a48&&(_0x5dae0e=_0x162a48,_0x146559=_0x3b62c2+_0x527605,_0x4f92fa=_0x4b8927)),_0x146559<0x0?(_0x146559=0x0,-_0x3ff7f9<0x0?_0x5dae0e=0x0:-_0x3ff7f9>_0x55366a?_0x5dae0e=_0x162a48:(_0x5dae0e=-_0x3ff7f9,_0x162a48=_0x55366a)):_0x146559>_0x4f92fa&&(_0x146559=_0x4f92fa,-_0x3ff7f9+_0x527605<0x0?_0x5dae0e=0x0:-_0x3ff7f9+_0x527605>_0x55366a?_0x5dae0e=_0x162a48:(_0x5dae0e=-_0x3ff7f9+_0x527605,_0x162a48=_0x55366a));var _0x4fae53=(0x1-(_0x3d7f02=0x0===_0x146559?0x0:_0x146559/_0x4f92fa))*_0x81bc8f+_0x3d7f02*_0x153447-((0x1-(_0x3376f9=0x0===_0x5dae0e?0x0:_0x5dae0e/_0x162a48))*_0x5d7dad+_0x3376f9*_0x5ac9eb),_0x40eeaf=(0x1-_0x3d7f02)*_0x234f42+_0x3d7f02*_0x1972c2-((0x1-_0x3376f9)*_0x22b0c5+_0x3376f9*_0x261805);return _0x4fae53*_0x4fae53+_0x40eeaf*_0x40eeaf;}function _0x11762(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x84')]||0x1/0x0,_0x261805=[];if(_0x40eeaf(_0x5d7dad,function(_0x5d7dad){_0x261805[_0x1a4e('0x46')]([_0x5d7dad[0x0],_0x5d7dad[0x1]]);}),!_0x261805[_0x1a4e('0x1e')])return null;var _0x81bc8f=_0x1db3da(_0x261805,_0x5ac9eb);return _0x81bc8f[_0x1a4e('0x1e')]>0x3?_0x234f42([_0x81bc8f]):null;}function _0xf47c44(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x1a4e('0x85')!=typeof(_0x5ac9eb=_0x5ac9eb||{}))throw new Error('options\x20is\x20invalid');var _0x261805=_0x5ac9eb['ignoreBoundary'];if(!_0x5d7dad)throw new Error(_0x1a4e('0x86'));if(!_0x22b0c5)throw new Error(_0x1a4e('0x87'));var _0x81bc8f=_0x52d3d8(_0x5d7dad),_0x234f42=_0x2a976f(_0x22b0c5),_0x153447=_0x22b0c5['geometry']?_0x22b0c5[_0x1a4e('0x18')][_0x1a4e('0x40')]:_0x22b0c5['type'],_0x1972c2=_0x22b0c5['bbox'];if(_0x1972c2&&!0x1===function(_0x5d7dad,_0x22b0c5){return _0x22b0c5[0x0]<=_0x5d7dad[0x0]&&_0x22b0c5[0x1]<=_0x5d7dad[0x1]&&_0x22b0c5[0x2]>=_0x5d7dad[0x0]&&_0x22b0c5[0x3]>=_0x5d7dad[0x1];}(_0x81bc8f,_0x1972c2))return!0x1;_0x1a4e('0x19')===_0x153447&&(_0x234f42=[_0x234f42]);for(var _0x3376f9=0x0,_0x5dae0e=!0x1;_0x3376f9<_0x234f42['length']&&!_0x5dae0e;_0x3376f9++)if(_0x21fa88(_0x81bc8f,_0x234f42[_0x3376f9][0x0],_0x261805)){for(var _0x3d7f02=!0x1,_0x146559=0x1;_0x146559<_0x234f42[_0x3376f9]['length']&&!_0x3d7f02;)_0x21fa88(_0x81bc8f,_0x234f42[_0x3376f9][_0x146559],!_0x261805)&&(_0x3d7f02=!0x0),_0x146559++;_0x3d7f02||(_0x5dae0e=!0x0);}return _0x5dae0e;}function _0x21fa88(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=!0x1;_0x22b0c5[0x0][0x0]===_0x22b0c5[_0x22b0c5[_0x1a4e('0x1e')]-0x1][0x0]&&_0x22b0c5[0x0][0x1]===_0x22b0c5[_0x22b0c5[_0x1a4e('0x1e')]-0x1][0x1]&&(_0x22b0c5=_0x22b0c5[_0x1a4e('0x78')](0x0,_0x22b0c5['length']-0x1));for(var _0x81bc8f=0x0,_0x234f42=_0x22b0c5[_0x1a4e('0x1e')]-0x1;_0x81bc8f<_0x22b0c5[_0x1a4e('0x1e')];_0x234f42=_0x81bc8f++){var _0x153447=_0x22b0c5[_0x81bc8f][0x0],_0x1972c2=_0x22b0c5[_0x81bc8f][0x1],_0x3376f9=_0x22b0c5[_0x234f42][0x0],_0x5dae0e=_0x22b0c5[_0x234f42][0x1];if(_0x5d7dad[0x1]*(_0x153447-_0x3376f9)+_0x1972c2*(_0x3376f9-_0x5d7dad[0x0])+_0x5dae0e*(_0x5d7dad[0x0]-_0x153447)==0x0&&(_0x153447-_0x5d7dad[0x0])*(_0x3376f9-_0x5d7dad[0x0])<=0x0&&(_0x1972c2-_0x5d7dad[0x1])*(_0x5dae0e-_0x5d7dad[0x1])<=0x0)return!_0x5ac9eb;_0x1972c2>_0x5d7dad[0x1]!=_0x5dae0e>_0x5d7dad[0x1]&&_0x5d7dad[0x0]<(_0x3376f9-_0x153447)*(_0x5d7dad[0x1]-_0x1972c2)/(_0x5dae0e-_0x1972c2)+_0x153447&&(_0x261805=!_0x261805);}return _0x261805;}function _0x14f99e(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=[];return _0xaebea(_0x22b0c5,function(_0x22b0c5){_0x1494e6(_0x5d7dad,function(_0x5d7dad){_0xf47c44(_0x5d7dad,_0x22b0c5)&&_0x5ac9eb[_0x1a4e('0x46')](_0x5d7dad);});}),_0x5dae0e(_0x5ac9eb);}function _0x325ce2(_0x5d7dad,_0x22b0c5){if(_0x1a4e('0x41')!==_0x5d7dad[_0x1a4e('0x40')])throw new Error(_0x1a4e('0x88'));var _0x5ac9eb=!0x1;return _0x5dae0e(function(_0x5d7dad){if(_0x5d7dad[_0x1a4e('0x1e')]<0x3)return[];_0x5d7dad[_0x1a4e('0x89')](_0x255301);for(var _0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2=_0x5d7dad['length']-0x1,_0x3376f9=_0x5d7dad[_0x1972c2]['x'],_0x5dae0e=_0x5d7dad[0x0]['x'],_0x3d7f02=_0x5d7dad[_0x1972c2]['y'],_0x146559=_0x3d7f02;_0x1972c2--;)_0x5d7dad[_0x1972c2]['y']<_0x3d7f02&&(_0x3d7f02=_0x5d7dad[_0x1972c2]['y']),_0x5d7dad[_0x1972c2]['y']>_0x146559&&(_0x146559=_0x5d7dad[_0x1972c2]['y']);var _0x184c89,_0x4198ed=_0x5dae0e-_0x3376f9,_0x41179c=_0x146559-_0x3d7f02,_0x4eb09b=_0x4198ed>_0x41179c?_0x4198ed:_0x41179c,_0x39638f=0.5*(_0x5dae0e+_0x3376f9),_0x40b220=0.5*(_0x146559+_0x3d7f02),_0x55366a=[new _0x52f696({'x':_0x39638f-0x14*_0x4eb09b,'y':_0x40b220-_0x4eb09b,'__sentinel':!0x0},{'x':_0x39638f,'y':_0x40b220+0x14*_0x4eb09b,'__sentinel':!0x0},{'x':_0x39638f+0x14*_0x4eb09b,'y':_0x40b220-_0x4eb09b,'__sentinel':!0x0})],_0x527605=[],_0x4b8927=[];for(_0x1972c2=_0x5d7dad[_0x1a4e('0x1e')];_0x1972c2--;){for(_0x4b8927[_0x1a4e('0x1e')]=0x0,_0x184c89=_0x55366a[_0x1a4e('0x1e')];_0x184c89--;)(_0x4198ed=_0x5d7dad[_0x1972c2]['x']-_0x55366a[_0x184c89]['x'])>0x0&&_0x4198ed*_0x4198ed>_0x55366a[_0x184c89]['r']?(_0x527605[_0x1a4e('0x46')](_0x55366a[_0x184c89]),_0x55366a[_0x1a4e('0x8a')](_0x184c89,0x1)):(_0x41179c=_0x5d7dad[_0x1972c2]['y']-_0x55366a[_0x184c89]['y'],_0x4198ed*_0x4198ed+_0x41179c*_0x41179c>_0x55366a[_0x184c89]['r']||(_0x4b8927[_0x1a4e('0x46')](_0x55366a[_0x184c89]['a'],_0x55366a[_0x184c89]['b'],_0x55366a[_0x184c89]['b'],_0x55366a[_0x184c89]['c'],_0x55366a[_0x184c89]['c'],_0x55366a[_0x184c89]['a']),_0x55366a[_0x1a4e('0x8a')](_0x184c89,0x1)));for(_0x543556(_0x4b8927),_0x184c89=_0x4b8927[_0x1a4e('0x1e')];_0x184c89;)_0x5ac9eb=_0x4b8927[--_0x184c89],_0x22b0c5=_0x4b8927[--_0x184c89],_0x261805=_0x5d7dad[_0x1972c2],_0x81bc8f=_0x5ac9eb['x']-_0x22b0c5['x'],_0x234f42=_0x5ac9eb['y']-_0x22b0c5['y'],_0x153447=0x2*(_0x81bc8f*(_0x261805['y']-_0x5ac9eb['y'])-_0x234f42*(_0x261805['x']-_0x5ac9eb['x'])),Math[_0x1a4e('0x65')](_0x153447)>1e-12&&_0x55366a[_0x1a4e('0x46')](new _0x52f696(_0x22b0c5,_0x5ac9eb,_0x261805));}for(Array['prototype'][_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x527605,_0x55366a),_0x1972c2=_0x527605['length'];_0x1972c2--;)(_0x527605[_0x1972c2]['a']['__sentinel']||_0x527605[_0x1972c2]['b'][_0x1a4e('0x8c')]||_0x527605[_0x1972c2]['c'][_0x1a4e('0x8c')])&&_0x527605[_0x1a4e('0x8a')](_0x1972c2,0x1);return _0x527605;}(_0x5d7dad[_0x1a4e('0x25')][_0x1a4e('0x21')](function(_0x5d7dad){var _0x261805={'x':_0x5d7dad['geometry']['coordinates'][0x0],'y':_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1]};return _0x22b0c5?_0x261805['z']=_0x5d7dad[_0x1a4e('0x13')][_0x22b0c5]:0x3===_0x5d7dad[_0x1a4e('0x18')]['coordinates'][_0x1a4e('0x1e')]&&(_0x5ac9eb=!0x0,_0x261805['z']=_0x5d7dad['geometry']['coordinates'][0x2]),_0x261805;}))[_0x1a4e('0x21')](function(_0x5d7dad){var _0x22b0c5=[_0x5d7dad['a']['x'],_0x5d7dad['a']['y']],_0x261805=[_0x5d7dad['b']['x'],_0x5d7dad['b']['y']],_0x81bc8f=[_0x5d7dad['c']['x'],_0x5d7dad['c']['y']],_0x153447={};return _0x5ac9eb?(_0x22b0c5[_0x1a4e('0x46')](_0x5d7dad['a']['z']),_0x261805['push'](_0x5d7dad['b']['z']),_0x81bc8f['push'](_0x5d7dad['c']['z'])):_0x153447={'a':_0x5d7dad['a']['z'],'b':_0x5d7dad['b']['z'],'c':_0x5d7dad['c']['z']},_0x234f42([[_0x22b0c5,_0x261805,_0x81bc8f,_0x22b0c5]],_0x153447);}));}function _0x52f696(_0x5d7dad,_0x22b0c5,_0x5ac9eb){this['a']=_0x5d7dad,this['b']=_0x22b0c5,this['c']=_0x5ac9eb;var _0x261805,_0x81bc8f,_0x234f42=_0x22b0c5['x']-_0x5d7dad['x'],_0x153447=_0x22b0c5['y']-_0x5d7dad['y'],_0x1972c2=_0x5ac9eb['x']-_0x5d7dad['x'],_0x3376f9=_0x5ac9eb['y']-_0x5d7dad['y'],_0x5dae0e=_0x234f42*(_0x5d7dad['x']+_0x22b0c5['x'])+_0x153447*(_0x5d7dad['y']+_0x22b0c5['y']),_0x3d7f02=_0x1972c2*(_0x5d7dad['x']+_0x5ac9eb['x'])+_0x3376f9*(_0x5d7dad['y']+_0x5ac9eb['y']),_0x146559=0x2*(_0x234f42*(_0x5ac9eb['y']-_0x22b0c5['y'])-_0x153447*(_0x5ac9eb['x']-_0x22b0c5['x']));this['x']=(_0x3376f9*_0x5dae0e-_0x153447*_0x3d7f02)/_0x146559,this['y']=(_0x234f42*_0x3d7f02-_0x1972c2*_0x5dae0e)/_0x146559,_0x261805=this['x']-_0x5d7dad['x'],_0x81bc8f=this['y']-_0x5d7dad['y'],this['r']=_0x261805*_0x261805+_0x81bc8f*_0x81bc8f;}function _0x255301(_0x5d7dad,_0x22b0c5){return _0x22b0c5['x']-_0x5d7dad['x'];}function _0x543556(_0x5d7dad){var _0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447=_0x5d7dad[_0x1a4e('0x1e')];_0x1e3752:for(;_0x153447;)for(_0x5ac9eb=_0x5d7dad[--_0x153447],_0x22b0c5=_0x5d7dad[--_0x153447],_0x261805=_0x153447;_0x261805;)if(_0x234f42=_0x5d7dad[--_0x261805],_0x81bc8f=_0x5d7dad[--_0x261805],_0x22b0c5===_0x81bc8f&&_0x5ac9eb===_0x234f42||_0x22b0c5===_0x234f42&&_0x5ac9eb===_0x81bc8f){_0x5d7dad['splice'](_0x153447,0x2),_0x5d7dad[_0x1a4e('0x8a')](_0x261805,0x2),_0x153447-=0x2;continue _0x1e3752;}}function _0x45cce9(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb[_0x1a4e('0x8d')],_0x81bc8f=_0x52d3d8(_0x5d7dad),_0x234f42=_0x52d3d8(_0x22b0c5),_0x153447=_0x4b8927(_0x234f42[0x1]-_0x81bc8f[0x1]),_0x1972c2=_0x4b8927(_0x234f42[0x0]-_0x81bc8f[0x0]),_0x3376f9=_0x4b8927(_0x81bc8f[0x1]),_0x5dae0e=_0x4b8927(_0x234f42[0x1]),_0x3d7f02=Math['pow'](Math['sin'](_0x153447/0x2),0x2)+Math[_0x1a4e('0x8e')](Math[_0x1a4e('0x8f')](_0x1972c2/0x2),0x2)*Math[_0x1a4e('0x90')](_0x3376f9)*Math[_0x1a4e('0x90')](_0x5dae0e);return _0x4eb09b(0x2*Math['atan2'](Math[_0x1a4e('0x91')](_0x3d7f02),Math[_0x1a4e('0x91')](0x1-_0x3d7f02)),_0x261805);}function _0x1cc0eb(_0x5d7dad){if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));switch(_0x5d7dad['type']){case _0x1a4e('0x12'):return _0x2b7446(_0x5d7dad);case _0x1a4e('0x41'):return function(_0x5d7dad){var _0x22b0c5={'type':_0x1a4e('0x41')};return Object[_0x1a4e('0x56')](_0x5d7dad)[_0x1a4e('0x3b')](function(_0x5ac9eb){switch(_0x5ac9eb){case _0x1a4e('0x40'):case'features':return;default:_0x22b0c5[_0x5ac9eb]=_0x5d7dad[_0x5ac9eb];}}),_0x22b0c5[_0x1a4e('0x25')]=_0x5d7dad['features'][_0x1a4e('0x21')](function(_0x5d7dad){return _0x2b7446(_0x5d7dad);}),_0x22b0c5;}(_0x5d7dad);case'Point':case _0x1a4e('0x44'):case _0x1a4e('0x19'):case _0x1a4e('0x1a'):case _0x1a4e('0x1b'):case'MultiPolygon':case _0x1a4e('0x28'):return _0x3acfa5(_0x5d7dad);default:throw new Error(_0x1a4e('0x92'));}}function _0x2b7446(_0x5d7dad){var _0x22b0c5={'type':_0x1a4e('0x12')};return Object['keys'](_0x5d7dad)[_0x1a4e('0x3b')](function(_0x5ac9eb){switch(_0x5ac9eb){case _0x1a4e('0x40'):case _0x1a4e('0x13'):case'geometry':return;default:_0x22b0c5[_0x5ac9eb]=_0x5d7dad[_0x5ac9eb];}}),_0x22b0c5[_0x1a4e('0x13')]=function _0x5d7dad(_0x22b0c5){var _0x5ac9eb={};return _0x22b0c5?(Object['keys'](_0x22b0c5)[_0x1a4e('0x3b')](function(_0x261805){var _0x81bc8f=_0x22b0c5[_0x261805];_0x1a4e('0x85')==typeof _0x81bc8f?null===_0x81bc8f?_0x5ac9eb[_0x261805]=null:_0x81bc8f[_0x1a4e('0x1e')]?_0x5ac9eb[_0x261805]=_0x81bc8f[_0x1a4e('0x21')](function(_0x5d7dad){return _0x5d7dad;}):_0x5ac9eb[_0x261805]=_0x5d7dad(_0x81bc8f):_0x5ac9eb[_0x261805]=_0x81bc8f;}),_0x5ac9eb):_0x5ac9eb;}(_0x5d7dad[_0x1a4e('0x13')]),_0x22b0c5[_0x1a4e('0x18')]=_0x3acfa5(_0x5d7dad[_0x1a4e('0x18')]),_0x22b0c5;}function _0x3acfa5(_0x5d7dad){var _0x22b0c5={'type':_0x5d7dad[_0x1a4e('0x40')]};return _0x5d7dad[_0x1a4e('0xe')]&&(_0x22b0c5[_0x1a4e('0xe')]=_0x5d7dad[_0x1a4e('0xe')]),'GeometryCollection'===_0x5d7dad[_0x1a4e('0x40')]?(_0x22b0c5[_0x1a4e('0x42')]=_0x5d7dad[_0x1a4e('0x42')][_0x1a4e('0x21')](function(_0x5d7dad){return _0x3acfa5(_0x5d7dad);}),_0x22b0c5):(_0x22b0c5['coordinates']=function _0x5d7dad(_0x22b0c5){return _0x1a4e('0x85')!=typeof _0x22b0c5[0x0]?_0x22b0c5[_0x1a4e('0x78')]():_0x22b0c5[_0x1a4e('0x21')](function(_0x22b0c5){return _0x5d7dad(_0x22b0c5);});}(_0x5d7dad['coordinates']),_0x22b0c5);}function _0x4fe312(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x5d7dad,_0x22b0c5){_0x22b0c5['length']&&_0x22b0c5[_0x1a4e('0x76')]();for(var _0x5ac9eb=_0x3376f9[_0x5d7dad<0x0?~_0x5d7dad:_0x5d7dad],_0x261805=0x0,_0x81bc8f=_0x5ac9eb['length'];_0x261805<_0x81bc8f;++_0x261805)_0x22b0c5['push'](_0x1972c2(_0x5ac9eb[_0x261805],_0x261805));_0x5d7dad<0x0&&_0x468572(_0x22b0c5,_0x81bc8f);}function _0x261805(_0x5d7dad){return _0x1972c2(_0x5d7dad);}function _0x81bc8f(_0x5d7dad){for(var _0x22b0c5=[],_0x261805=0x0,_0x81bc8f=_0x5d7dad[_0x1a4e('0x1e')];_0x261805<_0x81bc8f;++_0x261805)_0x5ac9eb(_0x5d7dad[_0x261805],_0x22b0c5);return _0x22b0c5[_0x1a4e('0x1e')]<0x2&&_0x22b0c5['push'](_0x22b0c5[0x0]),_0x22b0c5;}function _0x234f42(_0x5d7dad){for(var _0x22b0c5=_0x81bc8f(_0x5d7dad);_0x22b0c5[_0x1a4e('0x1e')]<0x4;)_0x22b0c5[_0x1a4e('0x46')](_0x22b0c5[0x0]);return _0x22b0c5;}function _0x153447(_0x5d7dad){return _0x5d7dad['map'](_0x234f42);}var _0x1972c2=_0x4b95e7(_0x5d7dad[_0x1a4e('0x93')]),_0x3376f9=_0x5d7dad[_0x1a4e('0x94')];return function _0x5d7dad(_0x22b0c5){var _0x5ac9eb,_0x234f42=_0x22b0c5['type'];switch(_0x234f42){case _0x1a4e('0x28'):return{'type':_0x234f42,'geometries':_0x22b0c5[_0x1a4e('0x42')][_0x1a4e('0x21')](_0x5d7dad)};case _0x1a4e('0x17'):_0x5ac9eb=_0x261805(_0x22b0c5[_0x1a4e('0x43')]);break;case _0x1a4e('0x1a'):_0x5ac9eb=_0x22b0c5['coordinates'][_0x1a4e('0x21')](_0x261805);break;case _0x1a4e('0x44'):_0x5ac9eb=_0x81bc8f(_0x22b0c5[_0x1a4e('0x94')]);break;case _0x1a4e('0x1b'):_0x5ac9eb=_0x22b0c5['arcs'][_0x1a4e('0x21')](_0x81bc8f);break;case'Polygon':_0x5ac9eb=_0x153447(_0x22b0c5['arcs']);break;case _0x1a4e('0x1c'):_0x5ac9eb=_0x22b0c5[_0x1a4e('0x94')]['map'](_0x153447);break;default:return null;}return{'type':_0x234f42,'coordinates':_0x5ac9eb};}(_0x22b0c5);}function _0x56c704(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x5d7dad){_0x5d7dad['forEach'](function(_0x22b0c5){_0x22b0c5[_0x1a4e('0x3b')](function(_0x22b0c5){(_0x81bc8f[_0x22b0c5=_0x22b0c5<0x0?~_0x22b0c5:_0x22b0c5]||(_0x81bc8f[_0x22b0c5]=[]))[_0x1a4e('0x46')](_0x5d7dad);});}),_0x234f42[_0x1a4e('0x46')](_0x5d7dad);}function _0x261805(_0x22b0c5){return function(_0x5d7dad){for(var _0x22b0c5,_0x5ac9eb=-0x1,_0x261805=_0x5d7dad[_0x1a4e('0x1e')],_0x81bc8f=_0x5d7dad[_0x261805-0x1],_0x234f42=0x0;++_0x5ac9eb<_0x261805;)_0x22b0c5=_0x81bc8f,_0x81bc8f=_0x5d7dad[_0x5ac9eb],_0x234f42+=_0x22b0c5[0x0]*_0x81bc8f[0x1]-_0x22b0c5[0x1]*_0x81bc8f[0x0];return Math[_0x1a4e('0x65')](_0x234f42);}(_0x4fe312(_0x5d7dad,{'type':_0x1a4e('0x19'),'arcs':[_0x22b0c5]})[_0x1a4e('0x43')][0x0]);}var _0x81bc8f={},_0x234f42=[],_0x153447=[];return _0x22b0c5['forEach'](function _0x5d7dad(_0x22b0c5){switch(_0x22b0c5[_0x1a4e('0x40')]){case'GeometryCollection':_0x22b0c5['geometries'][_0x1a4e('0x3b')](_0x5d7dad);break;case _0x1a4e('0x19'):_0x5ac9eb(_0x22b0c5[_0x1a4e('0x94')]);break;case _0x1a4e('0x1c'):_0x22b0c5[_0x1a4e('0x94')][_0x1a4e('0x3b')](_0x5ac9eb);}}),_0x234f42[_0x1a4e('0x3b')](function(_0x5d7dad){if(!_0x5d7dad['_']){var _0x22b0c5=[],_0x5ac9eb=[_0x5d7dad];for(_0x5d7dad['_']=0x1,_0x153447[_0x1a4e('0x46')](_0x22b0c5);_0x5d7dad=_0x5ac9eb[_0x1a4e('0x76')]();)_0x22b0c5[_0x1a4e('0x46')](_0x5d7dad),_0x5d7dad['forEach'](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad){_0x81bc8f[_0x5d7dad<0x0?~_0x5d7dad:_0x5d7dad][_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad['_']||(_0x5d7dad['_']=0x1,_0x5ac9eb[_0x1a4e('0x46')](_0x5d7dad));});});});}}),_0x234f42[_0x1a4e('0x3b')](function(_0x5d7dad){delete _0x5d7dad['_'];}),{'type':_0x1a4e('0x1c'),'arcs':_0x153447['map'](function(_0x22b0c5){var _0x5ac9eb,_0x234f42=[];if(_0x22b0c5[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad){_0x81bc8f[_0x5d7dad<0x0?~_0x5d7dad:_0x5d7dad]['length']<0x2&&_0x234f42[_0x1a4e('0x46')](_0x5d7dad);});});}),_0x234f42=_0x10c749(_0x5d7dad,_0x234f42),(_0x5ac9eb=_0x234f42[_0x1a4e('0x1e')])>0x1)for(var _0x153447,_0x1972c2,_0x3376f9=0x1,_0x5dae0e=_0x261805(_0x234f42[0x0]);_0x3376f9<_0x5ac9eb;++_0x3376f9)(_0x153447=_0x261805(_0x234f42[_0x3376f9]))>_0x5dae0e&&(_0x1972c2=_0x234f42[0x0],_0x234f42[0x0]=_0x234f42[_0x3376f9],_0x234f42[_0x3376f9]=_0x1972c2,_0x5dae0e=_0x153447);return _0x234f42;})};}function _0x319004(_0x5d7dad,_0x22b0c5,_0x5ac9eb){for(var _0x261805,_0x81bc8f=_0x22b0c5+(_0x5ac9eb-- -_0x22b0c5>>0x1);_0x22b0c5<_0x81bc8f;++_0x22b0c5,--_0x5ac9eb)_0x261805=_0x5d7dad[_0x22b0c5],_0x5d7dad[_0x22b0c5]=_0x5d7dad[_0x5ac9eb],_0x5d7dad[_0x5ac9eb]=_0x261805;}function _0x455ed3(_0x5d7dad){return null==_0x5d7dad?{'type':null}:('FeatureCollection'===_0x5d7dad[_0x1a4e('0x40')]?function(_0x5d7dad){var _0x22b0c5={'type':_0x1a4e('0x28'),'geometries':_0x5d7dad['features'][_0x1a4e('0x21')](_0x5aae24)};return null!=_0x5d7dad['bbox']&&(_0x22b0c5[_0x1a4e('0xe')]=_0x5d7dad[_0x1a4e('0xe')]),_0x22b0c5;}:_0x1a4e('0x12')===_0x5d7dad[_0x1a4e('0x40')]?_0x5aae24:_0x1f5620)(_0x5d7dad);}function _0x5aae24(_0x5d7dad){var _0x22b0c5,_0x5ac9eb=_0x1f5620(_0x5d7dad[_0x1a4e('0x18')]);for(_0x22b0c5 in null!=_0x5d7dad['id']&&(_0x5ac9eb['id']=_0x5d7dad['id']),null!=_0x5d7dad[_0x1a4e('0xe')]&&(_0x5ac9eb[_0x1a4e('0xe')]=_0x5d7dad['bbox']),_0x5d7dad['properties']){_0x5ac9eb[_0x1a4e('0x13')]=_0x5d7dad['properties'];break;}return _0x5ac9eb;}function _0x1f5620(_0x5d7dad){if(null==_0x5d7dad)return{'type':null};var _0x22b0c5=_0x1a4e('0x28')===_0x5d7dad[_0x1a4e('0x40')]?{'type':_0x1a4e('0x28'),'geometries':_0x5d7dad[_0x1a4e('0x42')][_0x1a4e('0x21')](_0x1f5620)}:'Point'===_0x5d7dad['type']||_0x1a4e('0x1a')===_0x5d7dad[_0x1a4e('0x40')]?{'type':_0x5d7dad[_0x1a4e('0x40')],'coordinates':_0x5d7dad[_0x1a4e('0x43')]}:{'type':_0x5d7dad['type'],'arcs':_0x5d7dad['coordinates']};return null!=_0x5d7dad[_0x1a4e('0xe')]&&(_0x22b0c5[_0x1a4e('0xe')]=_0x5d7dad[_0x1a4e('0xe')]),_0x22b0c5;}function _0x2875d9(_0x5d7dad){var _0x22b0c5,_0x5ac9eb=_0x5d7dad[0x0],_0x261805=_0x5d7dad[0x1];return _0x261805<_0x5ac9eb&&(_0x22b0c5=_0x5ac9eb,_0x5ac9eb=_0x261805,_0x261805=_0x22b0c5),_0x5ac9eb+0x1f*_0x261805;}function _0x40a30d(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x261805=_0x5d7dad[0x0],_0x81bc8f=_0x5d7dad[0x1],_0x234f42=_0x22b0c5[0x0],_0x153447=_0x22b0c5[0x1];return _0x81bc8f<_0x261805&&(_0x5ac9eb=_0x261805,_0x261805=_0x81bc8f,_0x81bc8f=_0x5ac9eb),_0x153447<_0x234f42&&(_0x5ac9eb=_0x234f42,_0x234f42=_0x153447,_0x153447=_0x5ac9eb),_0x261805===_0x234f42&&_0x81bc8f===_0x153447;}function _0x266789(_0x5d7dad){return _0x5d7dad[0x0][_0x1a4e('0x95')]()+','+_0x5d7dad[0x1][_0x1a4e('0x95')]();}function _0x1790fb(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x96')];if(_0x1a4e('0x41')!==_0x9463e6(_0x5d7dad))throw new Error(_0x1a4e('0x97'));if(!_0x5d7dad[_0x1a4e('0x25')]['length'])throw new Error(_0x1a4e('0x98'));!0x1!==_0x5ac9eb&&void 0x0!==_0x5ac9eb||(_0x5d7dad=_0x1cc0eb(_0x5d7dad));var _0x261805=function(_0x5d7dad){var _0x22b0c5={};_0xe0c7f6(_0x5d7dad,function(_0x5d7dad){_0x22b0c5[_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]]=!0x0;});var _0x5ac9eb=Object[_0x1a4e('0x56')](_0x22b0c5);return 0x1===_0x5ac9eb[_0x1a4e('0x1e')]?_0x5ac9eb[0x0]:null;}(_0x5d7dad);if(!_0x261805)throw new Error(_0x1a4e('0x99'));switch(_0x261805){case _0x1a4e('0x44'):return function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5['mutate'];if(_0x1a4e('0x41')!==_0x9463e6(_0x5d7dad))throw new Error('geojson\x20must\x20be\x20a\x20FeatureCollection');if(!_0x5d7dad['features'][_0x1a4e('0x1e')])throw new Error('geojson\x20is\x20empty');!0x1!==_0x5ac9eb&&void 0x0!==_0x5ac9eb||(_0x5d7dad=_0x1cc0eb(_0x5d7dad));var _0x261805=[],_0x81bc8f=_0x58d830(_0x5d7dad,function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x261805=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')],_0x81bc8f=_0x22b0c5[_0x1a4e('0x18')]['coordinates'],_0x234f42=_0x266789(_0x261805[0x0]),_0x153447=_0x266789(_0x261805[_0x261805[_0x1a4e('0x1e')]-0x1]),_0x3376f9=_0x266789(_0x81bc8f[0x0]),_0x5dae0e=_0x266789(_0x81bc8f[_0x81bc8f[_0x1a4e('0x1e')]-0x1]);if(_0x234f42===_0x5dae0e)_0x5ac9eb=_0x81bc8f['concat'](_0x261805[_0x1a4e('0x78')](0x1));else if(_0x3376f9===_0x153447)_0x5ac9eb=_0x261805[_0x1a4e('0x9a')](_0x81bc8f[_0x1a4e('0x78')](0x1));else if(_0x234f42===_0x3376f9)_0x5ac9eb=_0x261805[_0x1a4e('0x78')](0x1)[_0x1a4e('0x9b')]()[_0x1a4e('0x9a')](_0x81bc8f);else{if(_0x153447!==_0x5dae0e)return null;_0x5ac9eb=_0x261805[_0x1a4e('0x9a')](_0x81bc8f[_0x1a4e('0x9b')]()[_0x1a4e('0x78')](0x1));}return _0x1972c2(_0x5ac9eb);}(_0x5d7dad,_0x22b0c5);return _0x5ac9eb||(_0x261805['push'](_0x5d7dad),_0x22b0c5);});return _0x81bc8f&&_0x261805[_0x1a4e('0x46')](_0x81bc8f),_0x261805[_0x1a4e('0x1e')]?0x1===_0x261805['length']?_0x261805[0x0]:_0x3d7f02(_0x261805['map'](function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x43')];})):null;}(_0x5d7dad,_0x22b0c5);case'Polygon':return function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x96')];if(_0x1a4e('0x41')!==_0x9463e6(_0x5d7dad))throw new Error(_0x1a4e('0x97'));if(!_0x5d7dad[_0x1a4e('0x25')][_0x1a4e('0x1e')])throw new Error(_0x1a4e('0x98'));!0x1!==_0x5ac9eb&&void 0x0!==_0x5ac9eb||(_0x5d7dad=_0x1cc0eb(_0x5d7dad));var _0x261805=[];_0xe0c7f6(_0x5d7dad,function(_0x5d7dad){_0x261805[_0x1a4e('0x46')](_0x5d7dad['geometry']);});var _0x81bc8f=_0x3b88f0({'geoms':_0x4198ed(_0x261805)[_0x1a4e('0x18')]});return _0x20b922(_0x81bc8f,_0x81bc8f[_0x1a4e('0x9c')]['geoms'][_0x1a4e('0x42')]);}(_0x5d7dad,_0x22b0c5);default:throw new Error(_0x261805+_0x1a4e('0x9d'));}}function _0x193f55(_0x5d7dad,_0x5ac9eb){var _0x261805='object'==typeof _0x5ac9eb?_0x5ac9eb[_0x1a4e('0x96')]:_0x5ac9eb;if(!_0x5d7dad)throw new Error('geojson\x20is\x20required');var _0x81bc8f=_0x9463e6(_0x5d7dad),_0x234f42=[];switch(_0x81bc8f){case _0x1a4e('0x44'):_0x234f42=_0x22398d(_0x5d7dad);break;case _0x1a4e('0x1b'):case'Polygon':_0x2a976f(_0x5d7dad)[_0x1a4e('0x3b')](function(_0x5d7dad){_0x234f42[_0x1a4e('0x46')](_0x22398d(_0x5d7dad));});break;case'MultiPolygon':_0x2a976f(_0x5d7dad)['forEach'](function(_0x5d7dad){var _0x22b0c5=[];_0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad){_0x22b0c5[_0x1a4e('0x46')](_0x22398d(_0x5d7dad));}),_0x234f42[_0x1a4e('0x46')](_0x22b0c5);});break;case _0x1a4e('0x17'):return _0x5d7dad;case _0x1a4e('0x1a'):var _0x153447={};_0x2a976f(_0x5d7dad)[_0x1a4e('0x3b')](function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x9e')]('-');_0x153447['hasOwnProperty'](_0x22b0c5)||(_0x234f42[_0x1a4e('0x46')](_0x5d7dad),_0x153447[_0x22b0c5]=!0x0);});break;default:throw new Error(_0x81bc8f+_0x1a4e('0x9f'));}return _0x5d7dad[_0x1a4e('0x43')]?!0x0===_0x261805?(_0x5d7dad[_0x1a4e('0x43')]=_0x234f42,_0x5d7dad):{'type':_0x81bc8f,'coordinates':_0x234f42}:!0x0===_0x261805?(_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')]=_0x234f42,_0x5d7dad):_0x22b0c5({'type':_0x81bc8f,'coordinates':_0x234f42},_0x5d7dad['properties'],_0x5d7dad['bbox'],_0x5d7dad['id']);}function _0x22398d(_0x5d7dad){var _0x22b0c5=_0x2a976f(_0x5d7dad);if(0x2===_0x22b0c5[_0x1a4e('0x1e')]&&!function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]===_0x22b0c5[0x0]&&_0x5d7dad[0x1]===_0x22b0c5[0x1];}(_0x22b0c5[0x0],_0x22b0c5[0x1]))return _0x22b0c5;var _0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42=[],_0x153447=_0x22b0c5[_0x1a4e('0x1e')]-0x1;_0x234f42[_0x1a4e('0x46')](_0x22b0c5[0x0]);for(var _0x1972c2=0x1;_0x1972c2<_0x153447;_0x1972c2++)_0x5ac9eb=_0x22b0c5[_0x1972c2-0x1],_0x261805=_0x22b0c5[_0x1972c2],function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb[0x0],_0x81bc8f=_0x5ac9eb[0x1],_0x234f42=_0x5d7dad[0x0],_0x153447=_0x5d7dad[0x1],_0x1972c2=_0x22b0c5[0x0],_0x3376f9=_0x22b0c5[0x1],_0x5dae0e=_0x1972c2-_0x234f42,_0x3d7f02=_0x3376f9-_0x153447;return(_0x261805-_0x234f42)*_0x3d7f02-(_0x81bc8f-_0x153447)*_0x5dae0e==0x0&&(Math['abs'](_0x5dae0e)>=Math['abs'](_0x3d7f02)?_0x5dae0e>0x0?_0x234f42<=_0x261805&&_0x261805<=_0x1972c2:_0x1972c2<=_0x261805&&_0x261805<=_0x234f42:_0x3d7f02>0x0?_0x153447<=_0x81bc8f&&_0x81bc8f<=_0x3376f9:_0x3376f9<=_0x81bc8f&&_0x81bc8f<=_0x153447);}(_0x5ac9eb,_0x81bc8f=_0x22b0c5[_0x1972c2+0x1],_0x261805)||_0x234f42[_0x1a4e('0x46')](_0x261805);return _0x234f42['push'](_0x81bc8f),_0x234f42;}function _0x56c197(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad['x']-_0x22b0c5['x'],_0x261805=_0x5d7dad['y']-_0x22b0c5['y'];return _0x5ac9eb*_0x5ac9eb+_0x261805*_0x261805;}function _0x2da77d(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5['x'],_0x81bc8f=_0x22b0c5['y'],_0x234f42=_0x5ac9eb['x']-_0x261805,_0x153447=_0x5ac9eb['y']-_0x81bc8f;if(0x0!==_0x234f42||0x0!==_0x153447){var _0x1972c2=((_0x5d7dad['x']-_0x261805)*_0x234f42+(_0x5d7dad['y']-_0x81bc8f)*_0x153447)/(_0x234f42*_0x234f42+_0x153447*_0x153447);_0x1972c2>0x1?(_0x261805=_0x5ac9eb['x'],_0x81bc8f=_0x5ac9eb['y']):_0x1972c2>0x0&&(_0x261805+=_0x234f42*_0x1972c2,_0x81bc8f+=_0x153447*_0x1972c2);}return _0x234f42=_0x5d7dad['x']-_0x261805,_0x153447=_0x5d7dad['y']-_0x81bc8f,_0x234f42*_0x234f42+_0x153447*_0x153447;}function _0x301960(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x5d7dad['length']<=0x2)return _0x5d7dad;var _0x261805=void 0x0!==_0x22b0c5?_0x22b0c5*_0x22b0c5:0x1;return _0x5d7dad=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad['length']-0x1,_0x261805=[_0x5d7dad[0x0]];return function _0x5d7dad(_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){for(var _0x153447,_0x1972c2=_0x81bc8f,_0x3376f9=_0x5ac9eb+0x1;_0x3376f9<_0x261805;_0x3376f9++){var _0x5dae0e=_0x2da77d(_0x22b0c5[_0x3376f9],_0x22b0c5[_0x5ac9eb],_0x22b0c5[_0x261805]);_0x5dae0e>_0x1972c2&&(_0x153447=_0x3376f9,_0x1972c2=_0x5dae0e);}_0x1972c2>_0x81bc8f&&(_0x153447-_0x5ac9eb>0x1&&_0x5d7dad(_0x22b0c5,_0x5ac9eb,_0x153447,_0x81bc8f,_0x234f42),_0x234f42[_0x1a4e('0x46')](_0x22b0c5[_0x153447]),_0x261805-_0x153447>0x1&&_0x5d7dad(_0x22b0c5,_0x153447,_0x261805,_0x81bc8f,_0x234f42));}(_0x5d7dad,0x0,_0x5ac9eb,_0x22b0c5,_0x261805),_0x261805['push'](_0x5d7dad[_0x5ac9eb]),_0x261805;}(_0x5d7dad=_0x5ac9eb?_0x5d7dad:function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb,_0x261805=_0x5d7dad[0x0],_0x81bc8f=[_0x261805],_0x234f42=0x1,_0x153447=_0x5d7dad['length'];_0x234f42<_0x153447;_0x234f42++)_0x56c197(_0x5ac9eb=_0x5d7dad[_0x234f42],_0x261805)>_0x22b0c5&&(_0x81bc8f[_0x1a4e('0x46')](_0x5ac9eb),_0x261805=_0x5ac9eb);return _0x261805!==_0x5ac9eb&&_0x81bc8f[_0x1a4e('0x46')](_0x5ac9eb),_0x81bc8f;}(_0x5d7dad,_0x261805),_0x261805);}function _0x260afc(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return _0x301960(_0x5d7dad[_0x1a4e('0x21')](function(_0x5d7dad){return{'x':_0x5d7dad[0x0],'y':_0x5d7dad[0x1],'z':_0x5d7dad[0x2]};}),_0x22b0c5,_0x5ac9eb)['map'](function(_0x5d7dad){return _0x5d7dad['z']?[_0x5d7dad['x'],_0x5d7dad['y'],_0x5d7dad['z']]:[_0x5d7dad['x'],_0x5d7dad['y']];});}function _0x10e296(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return _0x5d7dad['map'](function(_0x5d7dad){var _0x261805=_0x5d7dad[_0x1a4e('0x21')](function(_0x5d7dad){return{'x':_0x5d7dad[0x0],'y':_0x5d7dad[0x1]};});if(_0x261805[_0x1a4e('0x1e')]<0x4)throw new Error(_0x1a4e('0xa0'));for(var _0x81bc8f=_0x301960(_0x261805,_0x22b0c5,_0x5ac9eb)[_0x1a4e('0x21')](function(_0x5d7dad){return[_0x5d7dad['x'],_0x5d7dad['y']];});!function(_0x5d7dad){return!(_0x5d7dad[_0x1a4e('0x1e')]<0x3||0x3===_0x5d7dad[_0x1a4e('0x1e')]&&_0x5d7dad[0x2][0x0]===_0x5d7dad[0x0][0x0]&&_0x5d7dad[0x2][0x1]===_0x5d7dad[0x0][0x1]);}(_0x81bc8f);)_0x81bc8f=_0x301960(_0x261805,_0x22b0c5-=0.01*_0x22b0c5,_0x5ac9eb)[_0x1a4e('0x21')](function(_0x5d7dad){return[_0x5d7dad['x'],_0x5d7dad['y']];});return _0x81bc8f[_0x81bc8f['length']-0x1][0x0]===_0x81bc8f[0x0][0x0]&&_0x81bc8f[_0x81bc8f['length']-0x1][0x1]===_0x81bc8f[0x0][0x1]||_0x81bc8f[_0x1a4e('0x46')](_0x81bc8f[0x0]),_0x81bc8f;});}function _0x1c369d(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error('options\x20is\x20invalid');var _0x5ac9eb=_0x22b0c5[_0x1a4e('0xa1')]||0x2710,_0x261805=_0x22b0c5['sharpness']||0.85;if(!_0x5d7dad)throw new Error(_0x1a4e('0xa2'));if(!_0x556755(_0x5ac9eb))throw new Error(_0x1a4e('0xa3'));if(!_0x556755(_0x261805))throw new Error('sharpness\x20must\x20be\x20an\x20number');for(var _0x81bc8f=[],_0x234f42=new _0x285be3({'points':_0x4510bd(_0x5d7dad)[_0x1a4e('0x43')][_0x1a4e('0x21')](function(_0x5d7dad){return{'x':_0x5d7dad[0x0],'y':_0x5d7dad[0x1]};}),'duration':_0x5ac9eb,'sharpness':_0x261805}),_0x153447=0x0;_0x153447<_0x234f42['duration'];_0x153447+=0xa){var _0x3376f9=_0x234f42[_0x1a4e('0xa4')](_0x153447);Math['floor'](_0x153447/0x64)%0x2==0x0&&_0x81bc8f[_0x1a4e('0x46')]([_0x3376f9['x'],_0x3376f9['y']]);}return _0x1972c2(_0x81bc8f,_0x5d7dad[_0x1a4e('0x13')]);}function _0x289fd3(_0x5d7dad){_0x4f92fa(_0x5d7dad);var _0x22b0c5=Number(_0x5d7dad[0x0]),_0x5ac9eb=Number(_0x5d7dad[0x1]),_0x261805=Number(_0x5d7dad[0x2]),_0x81bc8f=Number(_0x5d7dad[0x3]);if(0x6===_0x5d7dad[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0xa5'));var _0x153447=[_0x22b0c5,_0x5ac9eb];return _0x234f42([[_0x153447,[_0x261805,_0x5ac9eb],[_0x261805,_0x81bc8f],[_0x22b0c5,_0x81bc8f],_0x153447]]);}function _0x42daa7(_0x5d7dad){return _0x289fd3(_0x3c3785(_0x5d7dad));}function _0x5838d6(_0x5d7dad){var _0x22b0c5=_0x5d7dad[0x0],_0x5ac9eb=_0x5d7dad[0x1],_0x261805=_0x5d7dad[0x2],_0x81bc8f=_0x5d7dad[0x3];if(_0x45cce9(_0x5d7dad[_0x1a4e('0x78')](0x0,0x2),[_0x261805,_0x5ac9eb])>=_0x45cce9(_0x5d7dad[_0x1a4e('0x78')](0x0,0x2),[_0x22b0c5,_0x81bc8f])){var _0x234f42=(_0x5ac9eb+_0x81bc8f)/0x2;return[_0x22b0c5,_0x234f42-(_0x261805-_0x22b0c5)/0x2,_0x261805,_0x234f42+(_0x261805-_0x22b0c5)/0x2];}var _0x153447=(_0x22b0c5+_0x261805)/0x2;return[_0x153447-(_0x81bc8f-_0x5ac9eb)/0x2,_0x5ac9eb,_0x153447+(_0x81bc8f-_0x5ac9eb)/0x2,_0x81bc8f];}function _0x4d4119(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x81bc8f){if(!_0x162a48(_0x81bc8f=_0x81bc8f||{}))throw new Error('options\x20is\x20invalid');var _0x234f42=_0x81bc8f[_0x1a4e('0x8d')],_0x153447=_0x81bc8f['properties'],_0x1972c2=_0x52d3d8(_0x5d7dad),_0x3376f9=_0x4b8927(_0x1972c2[0x0]),_0x5dae0e=_0x4b8927(_0x1972c2[0x1]),_0x3d7f02=_0x4b8927(_0x5ac9eb),_0x146559=_0x39638f(_0x22b0c5,_0x234f42),_0x184c89=Math['asin'](Math[_0x1a4e('0x8f')](_0x5dae0e)*Math[_0x1a4e('0x90')](_0x146559)+Math[_0x1a4e('0x90')](_0x5dae0e)*Math['sin'](_0x146559)*Math[_0x1a4e('0x90')](_0x3d7f02));return _0x261805([_0x527605(_0x3376f9+Math[_0x1a4e('0xa6')](Math[_0x1a4e('0x8f')](_0x3d7f02)*Math[_0x1a4e('0x8f')](_0x146559)*Math[_0x1a4e('0x90')](_0x5dae0e),Math[_0x1a4e('0x90')](_0x146559)-Math[_0x1a4e('0x8f')](_0x5dae0e)*Math[_0x1a4e('0x8f')](_0x184c89))),_0x527605(_0x184c89)],_0x153447);}function _0x2a4100(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=(_0x5ac9eb=_0x5ac9eb||{})['steps']||0x40,_0x81bc8f=_0x5ac9eb[_0x1a4e('0x13')];if(!_0x5d7dad)throw new Error(_0x1a4e('0xa7'));if(!_0x22b0c5)throw new Error('radius\x20is\x20required');if(_0x1a4e('0x85')!=typeof _0x5ac9eb)throw new Error(_0x1a4e('0xa8'));if(_0x1a4e('0x3d')!=typeof _0x261805)throw new Error(_0x1a4e('0xa9'));_0x261805=_0x261805||0x40,_0x81bc8f=_0x81bc8f||_0x5d7dad[_0x1a4e('0x13')]||{};for(var _0x153447=[],_0x1972c2=0x0;_0x1972c2<_0x261805;_0x1972c2++)_0x153447['push'](_0x4d4119(_0x5d7dad,_0x22b0c5,-0x168*_0x1972c2/_0x261805,_0x5ac9eb)[_0x1a4e('0x18')][_0x1a4e('0x43')]);return _0x153447[_0x1a4e('0x46')](_0x153447[0x0]),_0x234f42([_0x153447],_0x81bc8f);}function _0x522f33(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));if(!0x0===_0x5ac9eb[_0x1a4e('0xaa')])return function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x522f33(_0x22b0c5,_0x5d7dad);return _0x5ac9eb=(_0x5ac9eb+0xb4)%0x168;}(_0x5d7dad,_0x22b0c5);var _0x261805=_0x52d3d8(_0x5d7dad),_0x81bc8f=_0x52d3d8(_0x22b0c5),_0x234f42=_0x4b8927(_0x261805[0x0]),_0x153447=_0x4b8927(_0x81bc8f[0x0]),_0x1972c2=_0x4b8927(_0x261805[0x1]),_0x3376f9=_0x4b8927(_0x81bc8f[0x1]),_0x5dae0e=Math[_0x1a4e('0x8f')](_0x153447-_0x234f42)*Math[_0x1a4e('0x90')](_0x3376f9),_0x3d7f02=Math['cos'](_0x1972c2)*Math[_0x1a4e('0x8f')](_0x3376f9)-Math[_0x1a4e('0x8f')](_0x1972c2)*Math[_0x1a4e('0x90')](_0x3376f9)*Math[_0x1a4e('0x90')](_0x153447-_0x234f42);return _0x527605(Math[_0x1a4e('0xa6')](_0x5dae0e,_0x3d7f02));}function _0x26cbca(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5['properties'];if(!_0x5d7dad)throw new Error('geojson\x20is\x20required');var _0x81bc8f=_0x3c3785(_0x5d7dad);return _0x261805([(_0x81bc8f[0x0]+_0x81bc8f[0x2])/0x2,(_0x81bc8f[0x1]+_0x81bc8f[0x3])/0x2],_0x5ac9eb);}function _0x5d657f(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=0x0,_0x81bc8f=0x0,_0x234f42=0x0;return _0x40eeaf(_0x5d7dad,function(_0x5d7dad){_0x5ac9eb+=_0x5d7dad[0x0],_0x81bc8f+=_0x5d7dad[0x1],_0x234f42++;},!0x0),_0x261805([_0x5ac9eb/_0x234f42,_0x81bc8f/_0x234f42],_0x22b0c5);}function _0x3b75c6(_0x5d7dad){var _0x22b0c5=[];return _0x1a4e('0x41')===_0x5d7dad['type']?_0x1494e6(_0x5d7dad,function(_0x5d7dad){_0x40eeaf(_0x5d7dad,function(_0x5ac9eb){_0x22b0c5[_0x1a4e('0x46')](_0x261805(_0x5ac9eb,_0x5d7dad['properties']));});}):_0x40eeaf(_0x5d7dad,function(_0x5ac9eb){_0x22b0c5[_0x1a4e('0x46')](_0x261805(_0x5ac9eb,_0x5d7dad[_0x1a4e('0x13')]));}),_0x5dae0e(_0x22b0c5);}function _0x30c94f(_0x5d7dad,_0x22b0c5,_0x5ac9eb){_0x5ac9eb=_0x5ac9eb||0x2;var _0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02=_0x22b0c5&&_0x22b0c5[_0x1a4e('0x1e')],_0x146559=_0x3d7f02?_0x22b0c5[0x0]*_0x5ac9eb:_0x5d7dad[_0x1a4e('0x1e')],_0x184c89=_0x4921df(_0x5d7dad,0x0,_0x146559,_0x5ac9eb,!0x0),_0x4198ed=[];if(!_0x184c89)return _0x4198ed;if(_0x3d7f02&&(_0x184c89=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e=[];for(_0x81bc8f=0x0,_0x234f42=_0x22b0c5[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;_0x81bc8f++)_0x153447=_0x22b0c5[_0x81bc8f]*_0x261805,_0x1972c2=_0x81bc8f<_0x234f42-0x1?_0x22b0c5[_0x81bc8f+0x1]*_0x261805:_0x5d7dad[_0x1a4e('0x1e')],(_0x3376f9=_0x4921df(_0x5d7dad,_0x153447,_0x1972c2,_0x261805,!0x1))===_0x3376f9[_0x1a4e('0x7e')]&&(_0x3376f9[_0x1a4e('0xab')]=!0x0),_0x5dae0e[_0x1a4e('0x46')](function(_0x5d7dad){var _0x22b0c5=_0x5d7dad,_0x5ac9eb=_0x5d7dad;do{_0x22b0c5['x']<_0x5ac9eb['x']&&(_0x5ac9eb=_0x22b0c5),_0x22b0c5=_0x22b0c5[_0x1a4e('0x7e')];}while(_0x22b0c5!==_0x5d7dad);return _0x5ac9eb;}(_0x3376f9));for(_0x5dae0e[_0x1a4e('0x89')](_0x41727b),_0x81bc8f=0x0;_0x81bc8f<_0x5dae0e['length'];_0x81bc8f++)!function(_0x5d7dad,_0x22b0c5){if(_0x22b0c5=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x261805=_0x22b0c5,_0x81bc8f=_0x5d7dad['x'],_0x234f42=_0x5d7dad['y'],_0x153447=-0x1/0x0;do{if(_0x234f42<=_0x261805['y']&&_0x234f42>=_0x261805[_0x1a4e('0x7e')]['y']&&_0x261805[_0x1a4e('0x7e')]['y']!==_0x261805['y']){var _0x1972c2=_0x261805['x']+(_0x234f42-_0x261805['y'])*(_0x261805[_0x1a4e('0x7e')]['x']-_0x261805['x'])/(_0x261805['next']['y']-_0x261805['y']);if(_0x1972c2<=_0x81bc8f&&_0x1972c2>_0x153447){if(_0x153447=_0x1972c2,_0x1972c2===_0x81bc8f){if(_0x234f42===_0x261805['y'])return _0x261805;if(_0x234f42===_0x261805[_0x1a4e('0x7e')]['y'])return _0x261805[_0x1a4e('0x7e')];}_0x5ac9eb=_0x261805['x']<_0x261805[_0x1a4e('0x7e')]['x']?_0x261805:_0x261805[_0x1a4e('0x7e')];}}_0x261805=_0x261805[_0x1a4e('0x7e')];}while(_0x261805!==_0x22b0c5);if(!_0x5ac9eb)return null;if(_0x81bc8f===_0x153447)return _0x5ac9eb[_0x1a4e('0xac')];var _0x3376f9,_0x5dae0e=_0x5ac9eb,_0x3d7f02=_0x5ac9eb['x'],_0x146559=_0x5ac9eb['y'],_0x184c89=0x1/0x0;for(_0x261805=_0x5ac9eb['next'];_0x261805!==_0x5dae0e;)_0x81bc8f>=_0x261805['x']&&_0x261805['x']>=_0x3d7f02&&_0x81bc8f!==_0x261805['x']&&_0x8c574e(_0x234f42<_0x146559?_0x81bc8f:_0x153447,_0x234f42,_0x3d7f02,_0x146559,_0x234f42<_0x146559?_0x153447:_0x81bc8f,_0x234f42,_0x261805['x'],_0x261805['y'])&&((_0x3376f9=Math['abs'](_0x234f42-_0x261805['y'])/(_0x81bc8f-_0x261805['x']))<_0x184c89||_0x3376f9===_0x184c89&&_0x261805['x']>_0x5ac9eb['x'])&&_0x367019(_0x261805,_0x5d7dad)&&(_0x5ac9eb=_0x261805,_0x184c89=_0x3376f9),_0x261805=_0x261805[_0x1a4e('0x7e')];return _0x5ac9eb;}(_0x5d7dad,_0x22b0c5)){var _0x5ac9eb=_0x4e5503(_0x22b0c5,_0x5d7dad);_0x306634(_0x5ac9eb,_0x5ac9eb[_0x1a4e('0x7e')]);}}(_0x5dae0e[_0x81bc8f],_0x5ac9eb),_0x5ac9eb=_0x306634(_0x5ac9eb,_0x5ac9eb[_0x1a4e('0x7e')]);return _0x5ac9eb;}(_0x5d7dad,_0x22b0c5,_0x184c89,_0x5ac9eb)),_0x5d7dad[_0x1a4e('0x1e')]>0x50*_0x5ac9eb){_0x261805=_0x234f42=_0x5d7dad[0x0],_0x81bc8f=_0x153447=_0x5d7dad[0x1];for(var _0x41179c=_0x5ac9eb;_0x41179c<_0x146559;_0x41179c+=_0x5ac9eb)_0x1972c2=_0x5d7dad[_0x41179c],_0x3376f9=_0x5d7dad[_0x41179c+0x1],_0x1972c2<_0x261805&&(_0x261805=_0x1972c2),_0x3376f9<_0x81bc8f&&(_0x81bc8f=_0x3376f9),_0x1972c2>_0x234f42&&(_0x234f42=_0x1972c2),_0x3376f9>_0x153447&&(_0x153447=_0x3376f9);_0x5dae0e=0x0!==(_0x5dae0e=Math[_0x1a4e('0x6c')](_0x234f42-_0x261805,_0x153447-_0x81bc8f))?0x1/_0x5dae0e:0x0;}return function _0x5d7dad(_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2){if(_0x22b0c5){!_0x1972c2&&_0x153447&&function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5d7dad;do{null===_0x81bc8f['z']&&(_0x81bc8f['z']=_0x2f6f2f(_0x81bc8f['x'],_0x81bc8f['y'],_0x22b0c5,_0x5ac9eb,_0x261805)),_0x81bc8f[_0x1a4e('0xad')]=_0x81bc8f[_0x1a4e('0xac')],_0x81bc8f['nextZ']=_0x81bc8f[_0x1a4e('0x7e')],_0x81bc8f=_0x81bc8f[_0x1a4e('0x7e')];}while(_0x81bc8f!==_0x5d7dad);_0x81bc8f[_0x1a4e('0xad')][_0x1a4e('0xae')]=null,_0x81bc8f[_0x1a4e('0xad')]=null,function(_0x5d7dad){var _0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e=0x1;do{for(_0x5ac9eb=_0x5d7dad,_0x5d7dad=null,_0x234f42=null,_0x153447=0x0;_0x5ac9eb;){for(_0x153447++,_0x261805=_0x5ac9eb,_0x1972c2=0x0,_0x22b0c5=0x0;_0x22b0c5<_0x5dae0e&&(_0x1972c2++,_0x261805=_0x261805['nextZ']);_0x22b0c5++);for(_0x3376f9=_0x5dae0e;_0x1972c2>0x0||_0x3376f9>0x0&&_0x261805;)0x0!==_0x1972c2&&(0x0===_0x3376f9||!_0x261805||_0x5ac9eb['z']<=_0x261805['z'])?(_0x81bc8f=_0x5ac9eb,_0x5ac9eb=_0x5ac9eb[_0x1a4e('0xae')],_0x1972c2--):(_0x81bc8f=_0x261805,_0x261805=_0x261805['nextZ'],_0x3376f9--),_0x234f42?_0x234f42[_0x1a4e('0xae')]=_0x81bc8f:_0x5d7dad=_0x81bc8f,_0x81bc8f[_0x1a4e('0xad')]=_0x234f42,_0x234f42=_0x81bc8f;_0x5ac9eb=_0x261805;}_0x234f42[_0x1a4e('0xae')]=null,_0x5dae0e*=0x2;}while(_0x153447>0x1);}(_0x81bc8f);}(_0x22b0c5,_0x81bc8f,_0x234f42,_0x153447);for(var _0x3376f9,_0x5dae0e,_0x3d7f02=_0x22b0c5;_0x22b0c5[_0x1a4e('0xac')]!==_0x22b0c5[_0x1a4e('0x7e')];)if(_0x3376f9=_0x22b0c5['prev'],_0x5dae0e=_0x22b0c5['next'],_0x153447?function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5d7dad[_0x1a4e('0xac')],_0x234f42=_0x5d7dad,_0x153447=_0x5d7dad[_0x1a4e('0x7e')];if(_0xc7913c(_0x81bc8f,_0x234f42,_0x153447)>=0x0)return!0x1;for(var _0x1972c2=_0x81bc8f['x']<_0x234f42['x']?_0x81bc8f['x']<_0x153447['x']?_0x81bc8f['x']:_0x153447['x']:_0x234f42['x']<_0x153447['x']?_0x234f42['x']:_0x153447['x'],_0x3376f9=_0x81bc8f['y']<_0x234f42['y']?_0x81bc8f['y']<_0x153447['y']?_0x81bc8f['y']:_0x153447['y']:_0x234f42['y']<_0x153447['y']?_0x234f42['y']:_0x153447['y'],_0x5dae0e=_0x81bc8f['x']>_0x234f42['x']?_0x81bc8f['x']>_0x153447['x']?_0x81bc8f['x']:_0x153447['x']:_0x234f42['x']>_0x153447['x']?_0x234f42['x']:_0x153447['x'],_0x3d7f02=_0x81bc8f['y']>_0x234f42['y']?_0x81bc8f['y']>_0x153447['y']?_0x81bc8f['y']:_0x153447['y']:_0x234f42['y']>_0x153447['y']?_0x234f42['y']:_0x153447['y'],_0x146559=_0x2f6f2f(_0x1972c2,_0x3376f9,_0x22b0c5,_0x5ac9eb,_0x261805),_0x184c89=_0x2f6f2f(_0x5dae0e,_0x3d7f02,_0x22b0c5,_0x5ac9eb,_0x261805),_0x4198ed=_0x5d7dad[_0x1a4e('0xae')];_0x4198ed&&_0x4198ed['z']<=_0x184c89;){if(_0x4198ed!==_0x5d7dad['prev']&&_0x4198ed!==_0x5d7dad[_0x1a4e('0x7e')]&&_0x8c574e(_0x81bc8f['x'],_0x81bc8f['y'],_0x234f42['x'],_0x234f42['y'],_0x153447['x'],_0x153447['y'],_0x4198ed['x'],_0x4198ed['y'])&&_0xc7913c(_0x4198ed[_0x1a4e('0xac')],_0x4198ed,_0x4198ed[_0x1a4e('0x7e')])>=0x0)return!0x1;_0x4198ed=_0x4198ed['nextZ'];}for(_0x4198ed=_0x5d7dad[_0x1a4e('0xad')];_0x4198ed&&_0x4198ed['z']>=_0x146559;){if(_0x4198ed!==_0x5d7dad['prev']&&_0x4198ed!==_0x5d7dad['next']&&_0x8c574e(_0x81bc8f['x'],_0x81bc8f['y'],_0x234f42['x'],_0x234f42['y'],_0x153447['x'],_0x153447['y'],_0x4198ed['x'],_0x4198ed['y'])&&_0xc7913c(_0x4198ed['prev'],_0x4198ed,_0x4198ed['next'])>=0x0)return!0x1;_0x4198ed=_0x4198ed['prevZ'];}return!0x0;}(_0x22b0c5,_0x81bc8f,_0x234f42,_0x153447):function(_0x5d7dad){var _0x22b0c5=_0x5d7dad['prev'],_0x5ac9eb=_0x5d7dad,_0x261805=_0x5d7dad[_0x1a4e('0x7e')];if(_0xc7913c(_0x22b0c5,_0x5ac9eb,_0x261805)>=0x0)return!0x1;for(var _0x81bc8f=_0x5d7dad[_0x1a4e('0x7e')][_0x1a4e('0x7e')];_0x81bc8f!==_0x5d7dad['prev'];){if(_0x8c574e(_0x22b0c5['x'],_0x22b0c5['y'],_0x5ac9eb['x'],_0x5ac9eb['y'],_0x261805['x'],_0x261805['y'],_0x81bc8f['x'],_0x81bc8f['y'])&&_0xc7913c(_0x81bc8f[_0x1a4e('0xac')],_0x81bc8f,_0x81bc8f[_0x1a4e('0x7e')])>=0x0)return!0x1;_0x81bc8f=_0x81bc8f[_0x1a4e('0x7e')];}return!0x0;}(_0x22b0c5))_0x5ac9eb['push'](_0x3376f9['i']/_0x261805),_0x5ac9eb[_0x1a4e('0x46')](_0x22b0c5['i']/_0x261805),_0x5ac9eb[_0x1a4e('0x46')](_0x5dae0e['i']/_0x261805),_0x21e0f6(_0x22b0c5),_0x22b0c5=_0x5dae0e[_0x1a4e('0x7e')],_0x3d7f02=_0x5dae0e[_0x1a4e('0x7e')];else if((_0x22b0c5=_0x5dae0e)===_0x3d7f02){_0x1972c2?0x1===_0x1972c2?_0x5d7dad(_0x22b0c5=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad;do{var _0x81bc8f=_0x261805['prev'],_0x234f42=_0x261805[_0x1a4e('0x7e')][_0x1a4e('0x7e')];!_0x491413(_0x81bc8f,_0x234f42)&&_0x26fe59(_0x81bc8f,_0x261805,_0x261805[_0x1a4e('0x7e')],_0x234f42)&&_0x367019(_0x81bc8f,_0x234f42)&&_0x367019(_0x234f42,_0x81bc8f)&&(_0x22b0c5['push'](_0x81bc8f['i']/_0x5ac9eb),_0x22b0c5[_0x1a4e('0x46')](_0x261805['i']/_0x5ac9eb),_0x22b0c5['push'](_0x234f42['i']/_0x5ac9eb),_0x21e0f6(_0x261805),_0x21e0f6(_0x261805['next']),_0x261805=_0x5d7dad=_0x234f42),_0x261805=_0x261805['next'];}while(_0x261805!==_0x5d7dad);return _0x261805;}(_0x22b0c5,_0x5ac9eb,_0x261805),_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,0x2):0x2===_0x1972c2&&function(_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447){var _0x1972c2=_0x22b0c5;do{for(var _0x3376f9=_0x1972c2[_0x1a4e('0x7e')]['next'];_0x3376f9!==_0x1972c2[_0x1a4e('0xac')];){if(_0x1972c2['i']!==_0x3376f9['i']&&function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x7e')]['i']!==_0x22b0c5['i']&&_0x5d7dad[_0x1a4e('0xac')]['i']!==_0x22b0c5['i']&&!function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad;do{if(_0x5ac9eb['i']!==_0x5d7dad['i']&&_0x5ac9eb[_0x1a4e('0x7e')]['i']!==_0x5d7dad['i']&&_0x5ac9eb['i']!==_0x22b0c5['i']&&_0x5ac9eb['next']['i']!==_0x22b0c5['i']&&_0x26fe59(_0x5ac9eb,_0x5ac9eb[_0x1a4e('0x7e')],_0x5d7dad,_0x22b0c5))return!0x0;_0x5ac9eb=_0x5ac9eb[_0x1a4e('0x7e')];}while(_0x5ac9eb!==_0x5d7dad);return!0x1;}(_0x5d7dad,_0x22b0c5)&&_0x367019(_0x5d7dad,_0x22b0c5)&&_0x367019(_0x22b0c5,_0x5d7dad)&&function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad,_0x261805=!0x1,_0x81bc8f=(_0x5d7dad['x']+_0x22b0c5['x'])/0x2,_0x234f42=(_0x5d7dad['y']+_0x22b0c5['y'])/0x2;do{_0x5ac9eb['y']>_0x234f42!=_0x5ac9eb[_0x1a4e('0x7e')]['y']>_0x234f42&&_0x5ac9eb['next']['y']!==_0x5ac9eb['y']&&_0x81bc8f<(_0x5ac9eb[_0x1a4e('0x7e')]['x']-_0x5ac9eb['x'])*(_0x234f42-_0x5ac9eb['y'])/(_0x5ac9eb[_0x1a4e('0x7e')]['y']-_0x5ac9eb['y'])+_0x5ac9eb['x']&&(_0x261805=!_0x261805),_0x5ac9eb=_0x5ac9eb['next'];}while(_0x5ac9eb!==_0x5d7dad);return _0x261805;}(_0x5d7dad,_0x22b0c5);}(_0x1972c2,_0x3376f9)){var _0x5dae0e=_0x4e5503(_0x1972c2,_0x3376f9);return _0x1972c2=_0x306634(_0x1972c2,_0x1972c2[_0x1a4e('0x7e')]),_0x5dae0e=_0x306634(_0x5dae0e,_0x5dae0e['next']),_0x5d7dad(_0x1972c2,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447),void _0x5d7dad(_0x5dae0e,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447);}_0x3376f9=_0x3376f9[_0x1a4e('0x7e')];}_0x1972c2=_0x1972c2[_0x1a4e('0x7e')];}while(_0x1972c2!==_0x22b0c5);}(_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447):_0x5d7dad(_0x306634(_0x22b0c5),_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,0x1);break;}}}(_0x184c89,_0x4198ed,_0x5ac9eb,_0x261805,_0x81bc8f,_0x5dae0e),_0x4198ed;}function _0x4921df(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42,_0x153447;if(_0x81bc8f===_0x54ea7d(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805)>0x0)for(_0x234f42=_0x22b0c5;_0x234f42<_0x5ac9eb;_0x234f42+=_0x261805)_0x153447=_0x41f8f4(_0x234f42,_0x5d7dad[_0x234f42],_0x5d7dad[_0x234f42+0x1],_0x153447);else for(_0x234f42=_0x5ac9eb-_0x261805;_0x234f42>=_0x22b0c5;_0x234f42-=_0x261805)_0x153447=_0x41f8f4(_0x234f42,_0x5d7dad[_0x234f42],_0x5d7dad[_0x234f42+0x1],_0x153447);return _0x153447&&_0x491413(_0x153447,_0x153447[_0x1a4e('0x7e')])&&(_0x21e0f6(_0x153447),_0x153447=_0x153447[_0x1a4e('0x7e')]),_0x153447;}function _0x306634(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)return _0x5d7dad;_0x22b0c5||(_0x22b0c5=_0x5d7dad);var _0x5ac9eb,_0x261805=_0x5d7dad;do{if(_0x5ac9eb=!0x1,_0x261805[_0x1a4e('0xab')]||!_0x491413(_0x261805,_0x261805[_0x1a4e('0x7e')])&&0x0!==_0xc7913c(_0x261805[_0x1a4e('0xac')],_0x261805,_0x261805[_0x1a4e('0x7e')]))_0x261805=_0x261805[_0x1a4e('0x7e')];else{if(_0x21e0f6(_0x261805),(_0x261805=_0x22b0c5=_0x261805[_0x1a4e('0xac')])===_0x261805[_0x1a4e('0x7e')])break;_0x5ac9eb=!0x0;}}while(_0x5ac9eb||_0x261805!==_0x22b0c5);return _0x22b0c5;}function _0x41727b(_0x5d7dad,_0x22b0c5){return _0x5d7dad['x']-_0x22b0c5['x'];}function _0x2f6f2f(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){return(_0x5d7dad=0x55555555&((_0x5d7dad=0x33333333&((_0x5d7dad=0xf0f0f0f&((_0x5d7dad=0xff00ff&((_0x5d7dad=0x7fff*(_0x5d7dad-_0x5ac9eb)*_0x81bc8f)|_0x5d7dad<<0x8))|_0x5d7dad<<0x4))|_0x5d7dad<<0x2))|_0x5d7dad<<0x1))|(_0x22b0c5=0x55555555&((_0x22b0c5=0x33333333&((_0x22b0c5=0xf0f0f0f&((_0x22b0c5=0xff00ff&((_0x22b0c5=0x7fff*(_0x22b0c5-_0x261805)*_0x81bc8f)|_0x22b0c5<<0x8))|_0x22b0c5<<0x4))|_0x22b0c5<<0x2))|_0x22b0c5<<0x1))<<0x1;}function _0x8c574e(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2){return(_0x81bc8f-_0x153447)*(_0x22b0c5-_0x1972c2)-(_0x5d7dad-_0x153447)*(_0x234f42-_0x1972c2)>=0x0&&(_0x5d7dad-_0x153447)*(_0x261805-_0x1972c2)-(_0x5ac9eb-_0x153447)*(_0x22b0c5-_0x1972c2)>=0x0&&(_0x5ac9eb-_0x153447)*(_0x234f42-_0x1972c2)-(_0x81bc8f-_0x153447)*(_0x261805-_0x1972c2)>=0x0;}function _0xc7913c(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return(_0x22b0c5['y']-_0x5d7dad['y'])*(_0x5ac9eb['x']-_0x22b0c5['x'])-(_0x22b0c5['x']-_0x5d7dad['x'])*(_0x5ac9eb['y']-_0x22b0c5['y']);}function _0x491413(_0x5d7dad,_0x22b0c5){return _0x5d7dad['x']===_0x22b0c5['x']&&_0x5d7dad['y']===_0x22b0c5['y'];}function _0x26fe59(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){return!!(_0x491413(_0x5d7dad,_0x22b0c5)&&_0x491413(_0x5ac9eb,_0x261805)||_0x491413(_0x5d7dad,_0x261805)&&_0x491413(_0x5ac9eb,_0x22b0c5))||_0xc7913c(_0x5d7dad,_0x22b0c5,_0x5ac9eb)>0x0!=_0xc7913c(_0x5d7dad,_0x22b0c5,_0x261805)>0x0&&_0xc7913c(_0x5ac9eb,_0x261805,_0x5d7dad)>0x0!=_0xc7913c(_0x5ac9eb,_0x261805,_0x22b0c5)>0x0;}function _0x367019(_0x5d7dad,_0x22b0c5){return _0xc7913c(_0x5d7dad[_0x1a4e('0xac')],_0x5d7dad,_0x5d7dad[_0x1a4e('0x7e')])<0x0?_0xc7913c(_0x5d7dad,_0x22b0c5,_0x5d7dad[_0x1a4e('0x7e')])>=0x0&&_0xc7913c(_0x5d7dad,_0x5d7dad[_0x1a4e('0xac')],_0x22b0c5)>=0x0:_0xc7913c(_0x5d7dad,_0x22b0c5,_0x5d7dad[_0x1a4e('0xac')])<0x0||_0xc7913c(_0x5d7dad,_0x5d7dad[_0x1a4e('0x7e')],_0x22b0c5)<0x0;}function _0x4e5503(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=new _0x232d2a(_0x5d7dad['i'],_0x5d7dad['x'],_0x5d7dad['y']),_0x261805=new _0x232d2a(_0x22b0c5['i'],_0x22b0c5['x'],_0x22b0c5['y']),_0x81bc8f=_0x5d7dad[_0x1a4e('0x7e')],_0x234f42=_0x22b0c5[_0x1a4e('0xac')];return _0x5d7dad[_0x1a4e('0x7e')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xac')]=_0x5d7dad,_0x5ac9eb[_0x1a4e('0x7e')]=_0x81bc8f,_0x81bc8f[_0x1a4e('0xac')]=_0x5ac9eb,_0x261805[_0x1a4e('0x7e')]=_0x5ac9eb,_0x5ac9eb[_0x1a4e('0xac')]=_0x261805,_0x234f42[_0x1a4e('0x7e')]=_0x261805,_0x261805[_0x1a4e('0xac')]=_0x234f42,_0x261805;}function _0x41f8f4(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=new _0x232d2a(_0x5d7dad,_0x22b0c5,_0x5ac9eb);return _0x261805?(_0x81bc8f[_0x1a4e('0x7e')]=_0x261805[_0x1a4e('0x7e')],_0x81bc8f['prev']=_0x261805,_0x261805[_0x1a4e('0x7e')][_0x1a4e('0xac')]=_0x81bc8f,_0x261805[_0x1a4e('0x7e')]=_0x81bc8f):(_0x81bc8f[_0x1a4e('0xac')]=_0x81bc8f,_0x81bc8f[_0x1a4e('0x7e')]=_0x81bc8f),_0x81bc8f;}function _0x21e0f6(_0x5d7dad){_0x5d7dad['next'][_0x1a4e('0xac')]=_0x5d7dad[_0x1a4e('0xac')],_0x5d7dad[_0x1a4e('0xac')]['next']=_0x5d7dad['next'],_0x5d7dad[_0x1a4e('0xad')]&&(_0x5d7dad['prevZ'][_0x1a4e('0xae')]=_0x5d7dad[_0x1a4e('0xae')]),_0x5d7dad['nextZ']&&(_0x5d7dad['nextZ'][_0x1a4e('0xad')]=_0x5d7dad['prevZ']);}function _0x232d2a(_0x5d7dad,_0x22b0c5,_0x5ac9eb){this['i']=_0x5d7dad,this['x']=_0x22b0c5,this['y']=_0x5ac9eb,this[_0x1a4e('0xac')]=null,this[_0x1a4e('0x7e')]=null,this['z']=null,this[_0x1a4e('0xad')]=null,this[_0x1a4e('0xae')]=null,this[_0x1a4e('0xab')]=!0x1;}function _0x54ea7d(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){for(var _0x81bc8f=0x0,_0x234f42=_0x22b0c5,_0x153447=_0x5ac9eb-_0x261805;_0x234f42<_0x5ac9eb;_0x234f42+=_0x261805)_0x81bc8f+=(_0x5d7dad[_0x153447]-_0x5d7dad[_0x234f42])*(_0x5d7dad[_0x234f42+0x1]+_0x5d7dad[_0x153447+0x1]),_0x153447=_0x234f42;return _0x81bc8f;}function _0x48bfe4(_0x5d7dad){var _0x22b0c5=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[0x0][0x0][_0x1a4e('0x1e')],_0x5ac9eb={'vertices':[],'holes':[],'dimensions':_0x22b0c5},_0x261805=0x0,_0x81bc8f=0x0;_0x81bc8f<_0x5d7dad[_0x1a4e('0x1e')];_0x81bc8f++){for(var _0x234f42=0x0;_0x234f42<_0x5d7dad[_0x81bc8f]['length'];_0x234f42++)for(var _0x153447=0x0;_0x153447<_0x22b0c5;_0x153447++)_0x5ac9eb['vertices'][_0x1a4e('0x46')](_0x5d7dad[_0x81bc8f][_0x234f42][_0x153447]);_0x81bc8f>0x0&&(_0x261805+=_0x5d7dad[_0x81bc8f-0x1][_0x1a4e('0x1e')],_0x5ac9eb['holes']['push'](_0x261805));}return _0x5ac9eb;}(_0x5d7dad),_0x5ac9eb=_0x135fa6(_0x22b0c5[_0x1a4e('0xaf')],_0x22b0c5[_0x1a4e('0xb0')],0x2),_0x261805=[],_0x81bc8f=[];_0x5ac9eb[_0x1a4e('0x3b')](function(_0x5d7dad,_0x261805){var _0x234f42=_0x5ac9eb[_0x261805];_0x81bc8f[_0x1a4e('0x46')]([_0x22b0c5[_0x1a4e('0xaf')][0x2*_0x234f42],_0x22b0c5[_0x1a4e('0xaf')][0x2*_0x234f42+0x1]]);});for(var _0x153447=0x0;_0x153447<_0x81bc8f[_0x1a4e('0x1e')];_0x153447+=0x3){var _0x1972c2=_0x81bc8f[_0x1a4e('0x78')](_0x153447,_0x153447+0x3);_0x1972c2['push'](_0x81bc8f[_0x153447]),_0x261805[_0x1a4e('0x46')](_0x234f42([_0x1972c2]));}return _0x261805;}function _0x3e7452(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)throw new Error(_0x1a4e('0xb1'));if(!_0x22b0c5)throw new Error('points\x20is\x20required');var _0x5ac9eb,_0x261805=0x1/0x0;return _0x1494e6(_0x22b0c5,function(_0x22b0c5,_0x81bc8f){var _0x234f42=_0x45cce9(_0x5d7dad,_0x22b0c5);_0x234f42<_0x261805&&((_0x5ac9eb=_0x1cc0eb(_0x22b0c5))[_0x1a4e('0x13')][_0x1a4e('0xb2')]=_0x81bc8f,_0x5ac9eb[_0x1a4e('0x13')][_0x1a4e('0xb3')]=_0x234f42,_0x261805=_0x234f42);}),_0x5ac9eb;}function _0x1cee5c(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){!function _0x5d7dad(_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){for(;_0x81bc8f>_0x261805;){if(_0x81bc8f-_0x261805>0x258){var _0x153447=_0x81bc8f-_0x261805+0x1,_0x1972c2=_0x5ac9eb-_0x261805+0x1,_0x3376f9=Math[_0x1a4e('0x58')](_0x153447),_0x5dae0e=0.5*Math['exp'](0x2*_0x3376f9/0x3),_0x3d7f02=0.5*Math[_0x1a4e('0x91')](_0x3376f9*_0x5dae0e*(_0x153447-_0x5dae0e)/_0x153447)*(_0x1972c2-_0x153447/0x2<0x0?-0x1:0x1);_0x5d7dad(_0x22b0c5,_0x5ac9eb,Math[_0x1a4e('0x6c')](_0x261805,Math['floor'](_0x5ac9eb-_0x1972c2*_0x5dae0e/_0x153447+_0x3d7f02)),Math[_0x1a4e('0x74')](_0x81bc8f,Math[_0x1a4e('0xb4')](_0x5ac9eb+(_0x153447-_0x1972c2)*_0x5dae0e/_0x153447+_0x3d7f02)),_0x234f42);}var _0x146559=_0x22b0c5[_0x5ac9eb],_0x184c89=_0x261805,_0x4198ed=_0x81bc8f;for(_0x58b830(_0x22b0c5,_0x261805,_0x5ac9eb),_0x234f42(_0x22b0c5[_0x81bc8f],_0x146559)>0x0&&_0x58b830(_0x22b0c5,_0x261805,_0x81bc8f);_0x184c89<_0x4198ed;){for(_0x58b830(_0x22b0c5,_0x184c89,_0x4198ed),_0x184c89++,_0x4198ed--;_0x234f42(_0x22b0c5[_0x184c89],_0x146559)<0x0;)_0x184c89++;for(;_0x234f42(_0x22b0c5[_0x4198ed],_0x146559)>0x0;)_0x4198ed--;}0x0===_0x234f42(_0x22b0c5[_0x261805],_0x146559)?_0x58b830(_0x22b0c5,_0x261805,_0x4198ed):_0x58b830(_0x22b0c5,++_0x4198ed,_0x81bc8f),_0x4198ed<=_0x5ac9eb&&(_0x261805=_0x4198ed+0x1),_0x5ac9eb<=_0x4198ed&&(_0x81bc8f=_0x4198ed-0x1);}}(_0x5d7dad,_0x22b0c5,_0x5ac9eb||0x0,_0x261805||_0x5d7dad['length']-0x1,_0x81bc8f||function(_0x5d7dad,_0x22b0c5){return _0x5d7dad<_0x22b0c5?-0x1:_0x5d7dad>_0x22b0c5?0x1:0x0;});}function _0x58b830(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x22b0c5];_0x5d7dad[_0x22b0c5]=_0x5d7dad[_0x5ac9eb],_0x5d7dad[_0x5ac9eb]=_0x261805;}function _0x18fcf3(_0x5d7dad,_0x22b0c5){if(!(this instanceof _0x18fcf3))return new _0x18fcf3(_0x5d7dad,_0x22b0c5);this['_maxEntries']=Math[_0x1a4e('0x6c')](0x4,_0x5d7dad||0x9),this[_0x1a4e('0x6b')]=Math[_0x1a4e('0x6c')](0x2,Math[_0x1a4e('0x6d')](0.4*this[_0x1a4e('0x6a')])),_0x22b0c5&&this[_0x1a4e('0x6e')](_0x22b0c5),this[_0x1a4e('0xb5')]();}function _0x138bd4(_0x5d7dad,_0x22b0c5){_0x2072d4(_0x5d7dad,0x0,_0x5d7dad[_0x1a4e('0x6f')][_0x1a4e('0x1e')],_0x22b0c5,_0x5d7dad);}function _0x2072d4(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){_0x81bc8f||(_0x81bc8f=_0x11ef78(null)),_0x81bc8f[_0x1a4e('0x70')]=0x1/0x0,_0x81bc8f['minY']=0x1/0x0,_0x81bc8f['maxX']=-0x1/0x0,_0x81bc8f[_0x1a4e('0x72')]=-0x1/0x0;for(var _0x234f42,_0x153447=_0x22b0c5;_0x153447<_0x5ac9eb;_0x153447++)_0x234f42=_0x5d7dad[_0x1a4e('0x6f')][_0x153447],_0x5710f2(_0x81bc8f,_0x5d7dad[_0x1a4e('0x73')]?_0x261805(_0x234f42):_0x234f42);return _0x81bc8f;}function _0x5710f2(_0x5d7dad,_0x22b0c5){return _0x5d7dad['minX']=Math[_0x1a4e('0x74')](_0x5d7dad['minX'],_0x22b0c5[_0x1a4e('0x70')]),_0x5d7dad[_0x1a4e('0x71')]=Math[_0x1a4e('0x74')](_0x5d7dad['minY'],_0x22b0c5[_0x1a4e('0x71')]),_0x5d7dad[_0x1a4e('0x75')]=Math[_0x1a4e('0x6c')](_0x5d7dad['maxX'],_0x22b0c5[_0x1a4e('0x75')]),_0x5d7dad[_0x1a4e('0x72')]=Math[_0x1a4e('0x6c')](_0x5d7dad[_0x1a4e('0x72')],_0x22b0c5[_0x1a4e('0x72')]),_0x5d7dad;}function _0x42e05b(_0x5d7dad,_0x22b0c5){return _0x5d7dad['minX']-_0x22b0c5['minX'];}function _0xfb3ba1(_0x5d7dad,_0x22b0c5){return _0x5d7dad['minY']-_0x22b0c5[_0x1a4e('0x71')];}function _0x4f547d(_0x5d7dad){return(_0x5d7dad[_0x1a4e('0x75')]-_0x5d7dad[_0x1a4e('0x70')])*(_0x5d7dad[_0x1a4e('0x72')]-_0x5d7dad[_0x1a4e('0x71')]);}function _0x4f3303(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x75')]-_0x5d7dad[_0x1a4e('0x70')]+(_0x5d7dad[_0x1a4e('0x72')]-_0x5d7dad['minY']);}function _0x18402a(_0x5d7dad,_0x22b0c5){return _0x5d7dad['minX']<=_0x22b0c5[_0x1a4e('0x70')]&&_0x5d7dad[_0x1a4e('0x71')]<=_0x22b0c5[_0x1a4e('0x71')]&&_0x22b0c5[_0x1a4e('0x75')]<=_0x5d7dad[_0x1a4e('0x75')]&&_0x22b0c5[_0x1a4e('0x72')]<=_0x5d7dad[_0x1a4e('0x72')];}function _0x3b86b3(_0x5d7dad,_0x22b0c5){return _0x22b0c5[_0x1a4e('0x70')]<=_0x5d7dad['maxX']&&_0x22b0c5[_0x1a4e('0x71')]<=_0x5d7dad[_0x1a4e('0x72')]&&_0x22b0c5[_0x1a4e('0x75')]>=_0x5d7dad[_0x1a4e('0x70')]&&_0x22b0c5[_0x1a4e('0x72')]>=_0x5d7dad['minY'];}function _0x11ef78(_0x5d7dad){return{'children':_0x5d7dad,'height':0x1,'leaf':!0x0,'minX':0x1/0x0,'minY':0x1/0x0,'maxX':-0x1/0x0,'maxY':-0x1/0x0};}function _0x3cbf30(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){for(var _0x234f42,_0x153447=[_0x22b0c5,_0x5ac9eb];_0x153447[_0x1a4e('0x1e')];)(_0x5ac9eb=_0x153447['pop']())-(_0x22b0c5=_0x153447[_0x1a4e('0x76')]())<=_0x261805||(_0x1cee5c(_0x5d7dad,_0x234f42=_0x22b0c5+Math[_0x1a4e('0x6d')]((_0x5ac9eb-_0x22b0c5)/_0x261805/0x2)*_0x261805,_0x22b0c5,_0x5ac9eb,_0x81bc8f),_0x153447[_0x1a4e('0x46')](_0x22b0c5,_0x234f42,_0x234f42,_0x5ac9eb));}function _0x2b1272(_0x5d7dad){var _0x22b0c5=_0x18fcf3(_0x5d7dad);return _0x22b0c5[_0x1a4e('0x7c')]=function(_0x5d7dad){if(Array[_0x1a4e('0x15')](_0x5d7dad)){var _0x22b0c5=_0x5d7dad;(_0x5d7dad=_0x310172(_0x22b0c5))[_0x1a4e('0xe')]=_0x22b0c5;}else _0x5d7dad['bbox']=_0x5d7dad[_0x1a4e('0xe')]?_0x5d7dad[_0x1a4e('0xe')]:_0x566fab(_0x5d7dad);return _0x18fcf3[_0x1a4e('0xa')]['insert'][_0x1a4e('0x1')](this,_0x5d7dad);},_0x22b0c5['load']=function(_0x5d7dad){var _0x22b0c5=[];return Array[_0x1a4e('0x15')](_0x5d7dad)?_0x5d7dad['forEach'](function(_0x5d7dad){var _0x5ac9eb=_0x310172(_0x5d7dad);_0x5ac9eb[_0x1a4e('0xe')]=_0x5d7dad,_0x22b0c5[_0x1a4e('0x46')](_0x5ac9eb);}):_0x1494e6(_0x5d7dad,function(_0x5d7dad){_0x5d7dad[_0x1a4e('0xe')]=_0x5d7dad[_0x1a4e('0xe')]?_0x5d7dad[_0x1a4e('0xe')]:_0x566fab(_0x5d7dad),_0x22b0c5['push'](_0x5d7dad);}),_0x18fcf3[_0x1a4e('0xa')][_0x1a4e('0x7b')][_0x1a4e('0x1')](this,_0x22b0c5);},_0x22b0c5['remove']=function(_0x5d7dad){if(Array[_0x1a4e('0x15')](_0x5d7dad)){var _0x22b0c5=_0x5d7dad;(_0x5d7dad=_0x310172(_0x22b0c5))[_0x1a4e('0xe')]=_0x22b0c5;}return _0x18fcf3[_0x1a4e('0xa')][_0x1a4e('0x82')]['call'](this,_0x5d7dad);},_0x22b0c5['clear']=function(){return _0x18fcf3[_0x1a4e('0xa')][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x22b0c5[_0x1a4e('0x83')]=function(_0x5d7dad){return{'type':_0x1a4e('0x41'),'features':_0x18fcf3[_0x1a4e('0xa')][_0x1a4e('0x83')][_0x1a4e('0x1')](this,this[_0x1a4e('0xb6')](_0x5d7dad))};},_0x22b0c5['collides']=function(_0x5d7dad){return _0x18fcf3[_0x1a4e('0xa')][_0x1a4e('0xb7')][_0x1a4e('0x1')](this,this[_0x1a4e('0xb6')](_0x5d7dad));},_0x22b0c5['all']=function(){return{'type':_0x1a4e('0x41'),'features':_0x18fcf3[_0x1a4e('0xa')][_0x1a4e('0xb8')][_0x1a4e('0x1')](this)};},_0x22b0c5[_0x1a4e('0xb9')]=function(){return _0x18fcf3['prototype'][_0x1a4e('0xb9')][_0x1a4e('0x1')](this);},_0x22b0c5['fromJSON']=function(_0x5d7dad){return _0x18fcf3[_0x1a4e('0xa')][_0x1a4e('0xba')][_0x1a4e('0x1')](this,_0x5d7dad);},_0x22b0c5['toBBox']=function(_0x5d7dad){var _0x22b0c5;return{'minX':(_0x22b0c5=_0x5d7dad[_0x1a4e('0xe')]?_0x5d7dad['bbox']:Array[_0x1a4e('0x15')](_0x5d7dad)&&0x4===_0x5d7dad[_0x1a4e('0x1e')]?_0x5d7dad:_0x566fab(_0x5d7dad))[0x0],'minY':_0x22b0c5[0x1],'maxX':_0x22b0c5[0x2],'maxY':_0x22b0c5[0x3]};},_0x22b0c5;}function _0x310172(_0x5d7dad){var _0x22b0c5=[_0x5d7dad[0x0],_0x5d7dad[0x1]],_0x5ac9eb=[_0x5d7dad[0x0],_0x5d7dad[0x3]],_0x261805=[_0x5d7dad[0x2],_0x5d7dad[0x3]];return{'type':_0x1a4e('0x12'),'bbox':_0x5d7dad,'properties':{},'geometry':{'type':_0x1a4e('0x19'),'coordinates':[[_0x22b0c5,[_0x5d7dad[0x2],_0x5d7dad[0x1]],_0x261805,_0x5ac9eb,_0x22b0c5]]}};}function _0x566fab(_0x5d7dad){var _0x22b0c5=[0x1/0x0,0x1/0x0,-0x1/0x0,-0x1/0x0];return _0x40eeaf(_0x5d7dad,function(_0x5d7dad){_0x22b0c5[0x0]>_0x5d7dad[0x0]&&(_0x22b0c5[0x0]=_0x5d7dad[0x0]),_0x22b0c5[0x1]>_0x5d7dad[0x1]&&(_0x22b0c5[0x1]=_0x5d7dad[0x1]),_0x22b0c5[0x2]<_0x5d7dad[0x0]&&(_0x22b0c5[0x2]=_0x5d7dad[0x0]),_0x22b0c5[0x3]<_0x5d7dad[0x1]&&(_0x22b0c5[0x3]=_0x5d7dad[0x1]);}),_0x22b0c5;}function _0xc157bd(_0x5d7dad){if(!_0x5d7dad)throw new Error('geojson\x20is\x20required');var _0x22b0c5=[];return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad){!function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=[],_0x261805=_0x5d7dad[_0x1a4e('0x18')];switch(_0x261805[_0x1a4e('0x40')]){case _0x1a4e('0x19'):_0x5ac9eb=_0x2a976f(_0x261805);break;case _0x1a4e('0x44'):_0x5ac9eb=[_0x2a976f(_0x261805)];}_0x5ac9eb[_0x1a4e('0x3b')](function(_0x5ac9eb){var _0x261805=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=[];return _0x5d7dad[_0x1a4e('0xbb')](function(_0x5d7dad,_0x261805){var _0x81bc8f=_0x1972c2([_0x5d7dad,_0x261805],_0x22b0c5);return _0x81bc8f[_0x1a4e('0xe')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[0x0],_0x261805=_0x5d7dad[0x1],_0x81bc8f=_0x22b0c5[0x0],_0x234f42=_0x22b0c5[0x1];return[_0x5ac9eb<_0x81bc8f?_0x5ac9eb:_0x81bc8f,_0x261805<_0x234f42?_0x261805:_0x234f42,_0x5ac9eb>_0x81bc8f?_0x5ac9eb:_0x81bc8f,_0x261805>_0x234f42?_0x261805:_0x234f42];}(_0x5d7dad,_0x261805),_0x5ac9eb[_0x1a4e('0x46')](_0x81bc8f),_0x261805;}),_0x5ac9eb;}(_0x5ac9eb,_0x5d7dad[_0x1a4e('0x13')]);_0x261805[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad['id']=_0x22b0c5[_0x1a4e('0x1e')],_0x22b0c5['push'](_0x5d7dad);});});}(_0x5d7dad,_0x22b0c5);}),_0x5dae0e(_0x22b0c5);}function _0x1ab672(_0x5d7dad,_0x5ac9eb){var _0x261805={},_0x81bc8f=[];if(_0x1a4e('0x44')===_0x5d7dad[_0x1a4e('0x40')]&&(_0x5d7dad=_0x22b0c5(_0x5d7dad)),_0x1a4e('0x44')===_0x5ac9eb[_0x1a4e('0x40')]&&(_0x5ac9eb=_0x22b0c5(_0x5ac9eb)),'Feature'===_0x5d7dad['type']&&'Feature'===_0x5ac9eb['type']&&_0x1a4e('0x44')===_0x5d7dad[_0x1a4e('0x18')]['type']&&_0x1a4e('0x44')===_0x5ac9eb[_0x1a4e('0x18')][_0x1a4e('0x40')]&&0x2===_0x5d7dad['geometry'][_0x1a4e('0x43')][_0x1a4e('0x1e')]&&0x2===_0x5ac9eb[_0x1a4e('0x18')]['coordinates'][_0x1a4e('0x1e')]){var _0x234f42=_0x4ec1df(_0x5d7dad,_0x5ac9eb);return _0x234f42&&_0x81bc8f[_0x1a4e('0x46')](_0x234f42),_0x5dae0e(_0x81bc8f);}var _0x153447=_0x2b1272();return _0x153447[_0x1a4e('0x7b')](_0xc157bd(_0x5ac9eb)),_0x1494e6(_0xc157bd(_0x5d7dad),function(_0x5d7dad){_0x1494e6(_0x153447[_0x1a4e('0x83')](_0x5d7dad),function(_0x22b0c5){var _0x5ac9eb=_0x4ec1df(_0x5d7dad,_0x22b0c5);if(_0x5ac9eb){var _0x234f42=_0x2a976f(_0x5ac9eb)['join'](',');_0x261805[_0x234f42]||(_0x261805[_0x234f42]=!0x0,_0x81bc8f['push'](_0x5ac9eb));}});}),_0x5dae0e(_0x81bc8f);}function _0x4ec1df(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x2a976f(_0x5d7dad),_0x81bc8f=_0x2a976f(_0x22b0c5);if(0x2!==_0x5ac9eb[_0x1a4e('0x1e')])throw new Error('\x20line1\x20must\x20only\x20contain\x202\x20coordinates');if(0x2!==_0x81bc8f[_0x1a4e('0x1e')])throw new Error('\x20line2\x20must\x20only\x20contain\x202\x20coordinates');var _0x234f42=_0x5ac9eb[0x0][0x0],_0x153447=_0x5ac9eb[0x0][0x1],_0x1972c2=_0x5ac9eb[0x1][0x0],_0x3376f9=_0x5ac9eb[0x1][0x1],_0x5dae0e=_0x81bc8f[0x0][0x0],_0x3d7f02=_0x81bc8f[0x0][0x1],_0x146559=_0x81bc8f[0x1][0x0],_0x184c89=_0x81bc8f[0x1][0x1],_0x4198ed=(_0x184c89-_0x3d7f02)*(_0x1972c2-_0x234f42)-(_0x146559-_0x5dae0e)*(_0x3376f9-_0x153447),_0x41179c=(_0x146559-_0x5dae0e)*(_0x153447-_0x3d7f02)-(_0x184c89-_0x3d7f02)*(_0x234f42-_0x5dae0e),_0x4eb09b=(_0x1972c2-_0x234f42)*(_0x153447-_0x3d7f02)-(_0x3376f9-_0x153447)*(_0x234f42-_0x5dae0e);if(0x0===_0x4198ed)return null;var _0x39638f=_0x41179c/_0x4198ed,_0x40b220=_0x4eb09b/_0x4198ed;return _0x39638f>=0x0&&_0x39638f<=0x1&&_0x40b220>=0x0&&_0x40b220<=0x1?_0x261805([_0x234f42+_0x39638f*(_0x1972c2-_0x234f42),_0x153447+_0x39638f*(_0x3376f9-_0x153447)]):null;}function _0x3f7006(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error('options\x20is\x20invalid');var _0x81bc8f=_0x5d7dad[_0x1a4e('0x18')]?_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]:_0x5d7dad['type'];if('LineString'!==_0x81bc8f&&_0x1a4e('0x1b')!==_0x81bc8f)throw new Error('lines\x20must\x20be\x20LineString\x20or\x20MultiLineString');var _0x234f42=_0x261805([0x1/0x0,0x1/0x0],{'dist':0x1/0x0}),_0x153447=0x0;return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad){for(var _0x81bc8f=_0x2a976f(_0x5d7dad),_0x3376f9=0x0;_0x3376f9<_0x81bc8f[_0x1a4e('0x1e')]-0x1;_0x3376f9++){var _0x5dae0e=_0x261805(_0x81bc8f[_0x3376f9]);_0x5dae0e[_0x1a4e('0x13')][_0x1a4e('0x81')]=_0x45cce9(_0x22b0c5,_0x5dae0e,_0x5ac9eb);var _0x3d7f02=_0x261805(_0x81bc8f[_0x3376f9+0x1]);_0x3d7f02[_0x1a4e('0x13')]['dist']=_0x45cce9(_0x22b0c5,_0x3d7f02,_0x5ac9eb);var _0x146559=_0x45cce9(_0x5dae0e,_0x3d7f02,_0x5ac9eb),_0x184c89=Math[_0x1a4e('0x6c')](_0x5dae0e[_0x1a4e('0x13')][_0x1a4e('0x81')],_0x3d7f02[_0x1a4e('0x13')][_0x1a4e('0x81')]),_0x4198ed=_0x522f33(_0x5dae0e,_0x3d7f02),_0x41179c=_0x4d4119(_0x22b0c5,_0x184c89,_0x4198ed+0x5a,_0x5ac9eb),_0x4eb09b=_0x4d4119(_0x22b0c5,_0x184c89,_0x4198ed-0x5a,_0x5ac9eb),_0x39638f=_0x1ab672(_0x1972c2([_0x41179c['geometry'][_0x1a4e('0x43')],_0x4eb09b['geometry']['coordinates']]),_0x1972c2([_0x5dae0e[_0x1a4e('0x18')][_0x1a4e('0x43')],_0x3d7f02[_0x1a4e('0x18')]['coordinates']])),_0x40b220=null;_0x39638f[_0x1a4e('0x25')]['length']>0x0&&((_0x40b220=_0x39638f[_0x1a4e('0x25')][0x0])['properties'][_0x1a4e('0x81')]=_0x45cce9(_0x22b0c5,_0x40b220,_0x5ac9eb),_0x40b220[_0x1a4e('0x13')][_0x1a4e('0xbc')]=_0x153447+_0x45cce9(_0x5dae0e,_0x40b220,_0x5ac9eb)),_0x5dae0e[_0x1a4e('0x13')][_0x1a4e('0x81')]<_0x234f42[_0x1a4e('0x13')][_0x1a4e('0x81')]&&((_0x234f42=_0x5dae0e)[_0x1a4e('0x13')][_0x1a4e('0xbd')]=_0x3376f9,_0x234f42[_0x1a4e('0x13')]['location']=_0x153447),_0x3d7f02['properties']['dist']<_0x234f42[_0x1a4e('0x13')]['dist']&&((_0x234f42=_0x3d7f02)['properties'][_0x1a4e('0xbd')]=_0x3376f9+0x1,_0x234f42['properties']['location']=_0x153447+_0x146559),_0x40b220&&_0x40b220[_0x1a4e('0x13')][_0x1a4e('0x81')]<_0x234f42[_0x1a4e('0x13')][_0x1a4e('0x81')]&&((_0x234f42=_0x40b220)[_0x1a4e('0x13')][_0x1a4e('0xbd')]=_0x3376f9),_0x153447+=_0x146559;}}),_0x234f42;}function _0x27474b(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805,_0x81bc8f=_0x5ac9eb['final'];if(!_0x5d7dad)throw new Error('start\x20point\x20is\x20required');if(!_0x22b0c5)throw new Error('end\x20point\x20is\x20required');return(_0x261805=_0x81bc8f?_0x4d4b75(_0x52d3d8(_0x22b0c5),_0x52d3d8(_0x5d7dad)):_0x4d4b75(_0x52d3d8(_0x5d7dad),_0x52d3d8(_0x22b0c5)))>0xb4?-(0x168-_0x261805):_0x261805;}function _0x4d4b75(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x4b8927(_0x5d7dad[0x1]),_0x261805=_0x4b8927(_0x22b0c5[0x1]),_0x81bc8f=_0x4b8927(_0x22b0c5[0x0]-_0x5d7dad[0x0]);_0x81bc8f>Math['PI']&&(_0x81bc8f-=0x2*Math['PI']),_0x81bc8f<-Math['PI']&&(_0x81bc8f+=0x2*Math['PI']);var _0x234f42=Math[_0x1a4e('0x58')](Math[_0x1a4e('0xbe')](_0x261805/0x2+Math['PI']/0x4)/Math['tan'](_0x5ac9eb/0x2+Math['PI']/0x4));return(_0x527605(Math[_0x1a4e('0xa6')](_0x81bc8f,_0x234f42))+0x168)%0x168;}function _0xf48859(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb[_0x1a4e('0x8d')];if(!_0x5d7dad)throw new Error(_0x1a4e('0xbf'));if(!_0x22b0c5)throw new Error(_0x1a4e('0xc0'));var _0x81bc8f=_0x52d3d8(_0x5d7dad),_0x234f42=_0x52d3d8(_0x22b0c5);return _0x234f42[0x0]+=_0x234f42[0x0]-_0x81bc8f[0x0]>0xb4?-0x168:_0x81bc8f[0x0]-_0x234f42[0x0]>0xb4?0x168:0x0,_0x3ff7f9(function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb=void 0x0===_0x5ac9eb?_0x292969:Number(_0x5ac9eb),_0x81bc8f=_0x5d7dad[0x1]*Math['PI']/0xb4,_0x234f42=_0x22b0c5[0x1]*Math['PI']/0xb4,_0x153447=_0x234f42-_0x81bc8f,_0x1972c2=Math[_0x1a4e('0x65')](_0x22b0c5[0x0]-_0x5d7dad[0x0])*Math['PI']/0xb4;_0x1972c2>Math['PI']&&(_0x1972c2-=0x2*Math['PI']);var _0x3376f9=Math[_0x1a4e('0x58')](Math[_0x1a4e('0xbe')](_0x234f42/0x2+Math['PI']/0x4)/Math['tan'](_0x81bc8f/0x2+Math['PI']/0x4)),_0x5dae0e=Math[_0x1a4e('0x65')](_0x3376f9)>1e-11?_0x153447/_0x3376f9:Math[_0x1a4e('0x90')](_0x81bc8f);return Math[_0x1a4e('0x91')](_0x153447*_0x153447+_0x5dae0e*_0x5dae0e*_0x1972c2*_0x1972c2)*_0x261805;}(_0x81bc8f,_0x234f42),'meters',_0x261805);}function _0x24337e(_0x5d7dad,_0x22b0c5){return _0x356720(_0x5d7dad,_0x1a4e('0xc1'),_0x22b0c5);}function _0xb567db(_0x5d7dad,_0x22b0c5){return _0x356720(_0x5d7dad,'wgs84',_0x22b0c5);}function _0x356720(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb[_0x1a4e('0x96')];if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));return Array[_0x1a4e('0x15')](_0x5d7dad)&&_0x556755(_0x5d7dad[0x0])?_0x5d7dad=_0x1a4e('0xc1')===_0x22b0c5?_0x2746fa(_0x5d7dad):_0xe5bd23(_0x5d7dad):(!0x0!==_0x261805&&(_0x5d7dad=_0x1cc0eb(_0x5d7dad)),_0x40eeaf(_0x5d7dad,function(_0x5d7dad){var _0x5ac9eb='mercator'===_0x22b0c5?_0x2746fa(_0x5d7dad):_0xe5bd23(_0x5d7dad);_0x5d7dad[0x0]=_0x5ac9eb[0x0],_0x5d7dad[0x1]=_0x5ac9eb[0x1];})),_0x5d7dad;}function _0x2746fa(_0x5d7dad){var _0x22b0c5=Math['PI']/0xb4,_0x5ac9eb=20037508.342789244,_0x261805=[0x615299*(Math[_0x1a4e('0x65')](_0x5d7dad[0x0])<=0xb4?_0x5d7dad[0x0]:_0x5d7dad[0x0]-0x168*function(_0x5d7dad){return _0x5d7dad<0x0?-0x1:_0x5d7dad>0x0?0x1:0x0;}(_0x5d7dad[0x0]))*_0x22b0c5,0x615299*Math[_0x1a4e('0x58')](Math['tan'](0.25*Math['PI']+0.5*_0x5d7dad[0x1]*_0x22b0c5))];return _0x261805[0x0]>_0x5ac9eb&&(_0x261805[0x0]=_0x5ac9eb),_0x261805[0x0]<-_0x5ac9eb&&(_0x261805[0x0]=-_0x5ac9eb),_0x261805[0x1]>_0x5ac9eb&&(_0x261805[0x1]=_0x5ac9eb),_0x261805[0x1]<-_0x5ac9eb&&(_0x261805[0x1]=-_0x5ac9eb),_0x261805;}function _0xe5bd23(_0x5d7dad){var _0x22b0c5=0xb4/Math['PI'];return[_0x5d7dad[0x0]*_0x22b0c5/0x615299,(0.5*Math['PI']-0x2*Math[_0x1a4e('0xc2')](Math[_0x1a4e('0xc3')](-_0x5d7dad[0x1]/0x615299)))*_0x22b0c5];}function _0x40a49f(_0x5d7dad,_0x5ac9eb,_0x81bc8f){if(!_0x162a48(_0x81bc8f=_0x81bc8f||{}))throw new Error(_0x1a4e('0xd'));if(!_0x5d7dad)throw new Error('pt\x20is\x20required');if(Array[_0x1a4e('0x15')](_0x5d7dad)?_0x5d7dad=_0x261805(_0x5d7dad):_0x1a4e('0x17')===_0x5d7dad['type']?_0x5d7dad=_0x22b0c5(_0x5d7dad):_0xb3655(_0x5d7dad,_0x1a4e('0x17'),_0x1a4e('0xc4')),!_0x5ac9eb)throw new Error('line\x20is\x20required');Array[_0x1a4e('0x15')](_0x5ac9eb)?_0x5ac9eb=_0x1972c2(_0x5ac9eb):'LineString'===_0x5ac9eb[_0x1a4e('0x40')]?_0x5ac9eb=_0x22b0c5(_0x5ac9eb):_0xb3655(_0x5ac9eb,'LineString',_0x1a4e('0xc5'));var _0x234f42=0x1/0x0,_0x153447=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')];return _0x5b37a5(_0x5ac9eb,function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x18')]['coordinates'][0x0],_0x5ac9eb=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1],_0x1972c2=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x81bc8f){var _0x234f42=_0x81bc8f[_0x1a4e('0xc1')],_0x153447=!0x0!==_0x234f42?_0x45cce9(_0x22b0c5,_0x5d7dad,_0x81bc8f):_0x3c879c(_0x22b0c5,_0x5d7dad,_0x81bc8f),_0x1972c2=_0x55366a(!0x0!==_0x234f42?_0x522f33(_0x22b0c5,_0x5d7dad):_0x27474b(_0x22b0c5,_0x5d7dad)),_0x3376f9=_0x55366a(!0x0!==_0x234f42?_0x522f33(_0x22b0c5,_0x5ac9eb):_0x27474b(_0x22b0c5,_0x5ac9eb)),_0x5dae0e=Math[_0x1a4e('0x65')](_0x1972c2-_0x3376f9);if(_0x5dae0e>0x5a)return _0x153447;var _0x3d7f02=(_0x3376f9+0xb4)%0x168,_0x146559=_0x55366a(!0x0!==_0x234f42?_0x522f33(_0x5ac9eb,_0x5d7dad):_0x27474b(_0x5ac9eb,_0x5d7dad)),_0x184c89=Math[_0x1a4e('0x65')](_0x146559-_0x3d7f02);return _0x184c89>0xb4&&(_0x184c89=Math['abs'](_0x184c89-0x168)),_0x184c89>0x5a?!0x0!==_0x234f42?_0x45cce9(_0x5d7dad,_0x5ac9eb,_0x81bc8f):_0x3c879c(_0x5d7dad,_0x5ac9eb,_0x81bc8f):!0x0!==_0x234f42?_0x153447*Math[_0x1a4e('0x8f')](_0x4b8927(_0x5dae0e)):function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x81bc8f){var _0x234f42=0x0;(Math[_0x1a4e('0x65')](_0x5d7dad[0x0])>=0xb4||Math['abs'](_0x22b0c5[0x0])>=0xb4||Math[_0x1a4e('0x65')](_0x5ac9eb[0x0])>=0xb4)&&(_0x234f42=_0x5d7dad[0x0]>0x0||_0x22b0c5[0x0]>0x0||_0x5ac9eb[0x0]>0x0?-0xb4:0xb4);var _0x153447=_0x261805(_0x5ac9eb),_0x1972c2=_0x24337e([_0x5d7dad[0x0]+_0x234f42,_0x5d7dad[0x1]]),_0x3376f9=_0x24337e([_0x22b0c5[0x0]+_0x234f42,_0x22b0c5[0x1]]),_0x5dae0e=_0x24337e([_0x5ac9eb[0x0]+_0x234f42,_0x5ac9eb[0x1]]),_0x3d7f02=_0xb567db(function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[0x0],_0x81bc8f=_0x5d7dad[0x1],_0x234f42=_0x22b0c5[0x0],_0x153447=_0x22b0c5[0x1],_0x1972c2=_0x5ac9eb[0x0],_0x3376f9=_0x5ac9eb[0x1],_0x5dae0e=_0x234f42-_0x261805,_0x3d7f02=_0x153447-_0x81bc8f,_0x146559=((_0x1972c2-_0x261805)*_0x5dae0e+(_0x3376f9-_0x81bc8f)*_0x3d7f02)/(_0x5dae0e*_0x5dae0e+_0x3d7f02*_0x3d7f02);return[_0x261805+_0x146559*_0x5dae0e,_0x81bc8f+_0x146559*_0x3d7f02];}(_0x1972c2,_0x3376f9,_0x5dae0e));return 0x0!==_0x234f42&&(_0x3d7f02[0x0]-=_0x234f42),_0xf48859(_0x153447,_0x3d7f02,_0x81bc8f);}(_0x22b0c5,_0x5ac9eb,_0x5d7dad,_0x81bc8f);}(_0x153447,_0x22b0c5,_0x5ac9eb,_0x81bc8f);_0x234f42>_0x1972c2&&(_0x234f42=_0x1972c2);}),_0x234f42;}function _0x3c879c(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb['units'],_0x81bc8f=0x0;Math['abs'](_0x5d7dad[0x0])>=0xb4&&(_0x81bc8f=_0x5d7dad[0x0]>0x0?-0xb4:0xb4),Math[_0x1a4e('0x65')](_0x22b0c5[0x0])>=0xb4&&(_0x81bc8f=_0x22b0c5[0x0]>0x0?-0xb4:0xb4);var _0x234f42=_0x24337e([_0x5d7dad[0x0]+_0x81bc8f,_0x5d7dad[0x1]]),_0x153447=_0x24337e([_0x22b0c5[0x0]+_0x81bc8f,_0x22b0c5[0x1]]),_0x1972c2=function(_0x5d7dad){return _0x5d7dad*_0x5d7dad;},_0x3376f9=_0x1972c2(_0x234f42[0x0]-_0x153447[0x0])+_0x1972c2(_0x234f42[0x1]-_0x153447[0x1]);return _0x3ff7f9(Math[_0x1a4e('0x91')](_0x3376f9),_0x1a4e('0x35'),_0x261805);}function _0x596033(_0x5d7dad){for(var _0x5ac9eb=function(_0x5d7dad){return'FeatureCollection'!==_0x5d7dad[_0x1a4e('0x40')]?_0x1a4e('0x12')!==_0x5d7dad[_0x1a4e('0x40')]?_0x5dae0e([_0x22b0c5(_0x5d7dad)]):_0x5dae0e([_0x5d7dad]):_0x5d7dad;}(_0x5d7dad),_0x81bc8f=_0x26cbca(_0x5ac9eb),_0x234f42=!0x1,_0x153447=0x0;!_0x234f42&&_0x153447<_0x5ac9eb[_0x1a4e('0x25')]['length'];){var _0x1972c2,_0x3376f9=_0x5ac9eb[_0x1a4e('0x25')][_0x153447][_0x1a4e('0x18')],_0x3d7f02=!0x1;if(_0x1a4e('0x17')===_0x3376f9[_0x1a4e('0x40')])_0x81bc8f[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0]===_0x3376f9[_0x1a4e('0x43')][0x0]&&_0x81bc8f[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1]===_0x3376f9[_0x1a4e('0x43')][0x1]&&(_0x234f42=!0x0);else if(_0x1a4e('0x1a')===_0x3376f9[_0x1a4e('0x40')]){var _0x146559=!0x1;for(_0x1972c2=0x0;!_0x146559&&_0x1972c2<_0x3376f9[_0x1a4e('0x43')][_0x1a4e('0x1e')];)_0x81bc8f[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0]===_0x3376f9['coordinates'][_0x1972c2][0x0]&&_0x81bc8f[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1]===_0x3376f9[_0x1a4e('0x43')][_0x1972c2][0x1]&&(_0x234f42=!0x0,_0x146559=!0x0),_0x1972c2++;}else if(_0x1a4e('0x44')===_0x3376f9[_0x1a4e('0x40')])for(_0x1972c2=0x0;!_0x3d7f02&&_0x1972c2<_0x3376f9[_0x1a4e('0x43')]['length']-0x1;)_0x4d4bd8(_0x81bc8f[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0],_0x81bc8f['geometry'][_0x1a4e('0x43')][0x1],_0x3376f9[_0x1a4e('0x43')][_0x1972c2][0x0],_0x3376f9['coordinates'][_0x1972c2][0x1],_0x3376f9[_0x1a4e('0x43')][_0x1972c2+0x1][0x0],_0x3376f9[_0x1a4e('0x43')][_0x1972c2+0x1][0x1])&&(_0x3d7f02=!0x0,_0x234f42=!0x0),_0x1972c2++;else if(_0x1a4e('0x1b')===_0x3376f9[_0x1a4e('0x40')])for(var _0x184c89=0x0;_0x184c89<_0x3376f9['coordinates'][_0x1a4e('0x1e')];){_0x3d7f02=!0x1,_0x1972c2=0x0;for(var _0x4198ed=_0x3376f9[_0x1a4e('0x43')][_0x184c89];!_0x3d7f02&&_0x1972c2<_0x4198ed[_0x1a4e('0x1e')]-0x1;)_0x4d4bd8(_0x81bc8f[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0],_0x81bc8f[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1],_0x4198ed[_0x1972c2][0x0],_0x4198ed[_0x1972c2][0x1],_0x4198ed[_0x1972c2+0x1][0x0],_0x4198ed[_0x1972c2+0x1][0x1])&&(_0x3d7f02=!0x0,_0x234f42=!0x0),_0x1972c2++;_0x184c89++;}else _0x1a4e('0x19')!==_0x3376f9[_0x1a4e('0x40')]&&_0x1a4e('0x1c')!==_0x3376f9[_0x1a4e('0x40')]||_0xf47c44(_0x81bc8f,_0x3376f9)&&(_0x234f42=!0x0);_0x153447++;}if(_0x234f42)return _0x81bc8f;var _0x41179c=_0x5dae0e([]);for(_0x153447=0x0;_0x153447<_0x5ac9eb[_0x1a4e('0x25')]['length'];_0x153447++)_0x41179c[_0x1a4e('0x25')]=_0x41179c['features'][_0x1a4e('0x9a')](_0x3b75c6(_0x5ac9eb[_0x1a4e('0x25')][_0x153447])['features']);return _0x261805(_0x3e7452(_0x81bc8f,_0x41179c)['geometry'][_0x1a4e('0x43')]);}function _0x4d4bd8(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){return Math[_0x1a4e('0x91')]((_0x81bc8f-_0x5ac9eb)*(_0x81bc8f-_0x5ac9eb)+(_0x234f42-_0x261805)*(_0x234f42-_0x261805))===Math[_0x1a4e('0x91')]((_0x5d7dad-_0x5ac9eb)*(_0x5d7dad-_0x5ac9eb)+(_0x22b0c5-_0x261805)*(_0x22b0c5-_0x261805))+Math[_0x1a4e('0x91')]((_0x81bc8f-_0x5d7dad)*(_0x81bc8f-_0x5d7dad)+(_0x234f42-_0x22b0c5)*(_0x234f42-_0x22b0c5));}function _0x59237d(_0x5d7dad){return _0x5674f8(_0x5d7dad,function(_0x5d7dad,_0x22b0c5){return _0x5d7dad+function _0x5d7dad(_0x22b0c5){var _0x5ac9eb,_0x261805=0x0;switch(_0x22b0c5['type']){case _0x1a4e('0x19'):return _0x216654(_0x22b0c5[_0x1a4e('0x43')]);case _0x1a4e('0x1c'):for(_0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x43')][_0x1a4e('0x1e')];_0x5ac9eb++)_0x261805+=_0x216654(_0x22b0c5[_0x1a4e('0x43')][_0x5ac9eb]);return _0x261805;case _0x1a4e('0x17'):case _0x1a4e('0x1a'):case _0x1a4e('0x44'):case _0x1a4e('0x1b'):return 0x0;case _0x1a4e('0x28'):for(_0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x42')][_0x1a4e('0x1e')];_0x5ac9eb++)_0x261805+=_0x5d7dad(_0x22b0c5[_0x1a4e('0x42')][_0x5ac9eb]);return _0x261805;}}(_0x22b0c5);},0x0);}function _0x216654(_0x5d7dad){var _0x22b0c5=0x0;if(_0x5d7dad&&_0x5d7dad['length']>0x0){_0x22b0c5+=Math['abs'](_0x42bd6e(_0x5d7dad[0x0]));for(var _0x5ac9eb=0x1;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb++)_0x22b0c5-=Math['abs'](_0x42bd6e(_0x5d7dad[_0x5ac9eb]));}return _0x22b0c5;}function _0x42bd6e(_0x5d7dad){var _0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2=0x0,_0x3376f9=_0x5d7dad['length'];if(_0x3376f9>0x2){for(_0x153447=0x0;_0x153447<_0x3376f9;_0x153447++)_0x153447===_0x3376f9-0x2?(_0x261805=_0x3376f9-0x2,_0x81bc8f=_0x3376f9-0x1,_0x234f42=0x0):_0x153447===_0x3376f9-0x1?(_0x261805=_0x3376f9-0x1,_0x81bc8f=0x0,_0x234f42=0x1):(_0x261805=_0x153447,_0x81bc8f=_0x153447+0x1,_0x234f42=_0x153447+0x2),_0x22b0c5=_0x5d7dad[_0x261805],_0x5ac9eb=_0x5d7dad[_0x81bc8f],_0x1972c2+=(_0x1c02df(_0x5d7dad[_0x234f42][0x0])-_0x1c02df(_0x22b0c5[0x0]))*Math[_0x1a4e('0x8f')](_0x1c02df(_0x5ac9eb[0x1]));_0x1972c2=_0x1972c2*_0x490785*_0x490785/0x2;}return _0x1972c2;}function _0x1c02df(_0x5d7dad){return _0x5d7dad*Math['PI']/0xb4;}function _0x1c6600(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));return _0xa3630(_0x5d7dad,function(_0x5d7dad,_0x5ac9eb){var _0x261805=_0x5ac9eb[_0x1a4e('0x18')][_0x1a4e('0x43')];return _0x5d7dad+_0x45cce9(_0x261805[0x0],_0x261805[0x1],_0x22b0c5);},0x0);}function _0x55216a(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(!_0x162a48(_0x261805=_0x261805||{}))throw new Error(_0x1a4e('0xd'));var _0x81bc8f,_0x234f42=[];if(_0x1a4e('0x12')===_0x5d7dad[_0x1a4e('0x40')])_0x81bc8f=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')];else{if(_0x1a4e('0x44')!==_0x5d7dad[_0x1a4e('0x40')])throw new Error('input\x20must\x20be\x20a\x20LineString\x20Feature\x20or\x20Geometry');_0x81bc8f=_0x5d7dad[_0x1a4e('0x43')];}for(var _0x153447,_0x3376f9,_0x5dae0e,_0x3d7f02=0x0,_0x146559=0x0;_0x146559<_0x81bc8f['length']&&!(_0x22b0c5>=_0x3d7f02&&_0x146559===_0x81bc8f[_0x1a4e('0x1e')]-0x1);_0x146559++){if(_0x3d7f02>_0x22b0c5&&0x0===_0x234f42[_0x1a4e('0x1e')]){if(!(_0x153447=_0x22b0c5-_0x3d7f02))return _0x234f42['push'](_0x81bc8f[_0x146559]),_0x1972c2(_0x234f42);_0x3376f9=_0x522f33(_0x81bc8f[_0x146559],_0x81bc8f[_0x146559-0x1])-0xb4,_0x5dae0e=_0x4d4119(_0x81bc8f[_0x146559],_0x153447,_0x3376f9,_0x261805),_0x234f42[_0x1a4e('0x46')](_0x5dae0e[_0x1a4e('0x18')][_0x1a4e('0x43')]);}if(_0x3d7f02>=_0x5ac9eb)return(_0x153447=_0x5ac9eb-_0x3d7f02)?(_0x3376f9=_0x522f33(_0x81bc8f[_0x146559],_0x81bc8f[_0x146559-0x1])-0xb4,_0x5dae0e=_0x4d4119(_0x81bc8f[_0x146559],_0x153447,_0x3376f9,_0x261805),_0x234f42['push'](_0x5dae0e[_0x1a4e('0x18')][_0x1a4e('0x43')]),_0x1972c2(_0x234f42)):(_0x234f42[_0x1a4e('0x46')](_0x81bc8f[_0x146559]),_0x1972c2(_0x234f42));if(_0x3d7f02>=_0x22b0c5&&_0x234f42[_0x1a4e('0x46')](_0x81bc8f[_0x146559]),_0x146559===_0x81bc8f['length']-0x1)return _0x1972c2(_0x234f42);_0x3d7f02+=_0x45cce9(_0x81bc8f[_0x146559],_0x81bc8f[_0x146559+0x1],_0x261805);}return _0x1972c2(_0x81bc8f[_0x81bc8f[_0x1a4e('0x1e')]-0x1]);}function _0x15780e(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=(_0x5ac9eb=_0x5ac9eb||{})[_0x1a4e('0xc6')];if(!_0x162a48(_0x5ac9eb))throw new Error(_0x1a4e('0xc7'));if(!_0x5d7dad)throw new Error(_0x1a4e('0xc8'));if(!_0x22b0c5)throw new Error(_0x1a4e('0xa2'));for(var _0x81bc8f=_0x52d3d8(_0x5d7dad),_0x234f42=_0x2a976f(_0x22b0c5),_0x153447=0x0;_0x153447<_0x234f42['length']-0x1;_0x153447++){var _0x1972c2=!0x1;if(_0x261805&&(0x0===_0x153447&&(_0x1972c2=_0x1a4e('0xc9')),_0x153447===_0x234f42[_0x1a4e('0x1e')]-0x2&&(_0x1972c2=_0x1a4e('0xca')),0x0===_0x153447&&_0x153447+0x1===_0x234f42[_0x1a4e('0x1e')]-0x1&&(_0x1972c2=_0x1a4e('0xcb'))),function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5ac9eb[0x0],_0x234f42=_0x5ac9eb[0x1],_0x153447=_0x5d7dad[0x0],_0x1972c2=_0x5d7dad[0x1],_0x3376f9=_0x22b0c5[0x0],_0x5dae0e=_0x22b0c5[0x1],_0x3d7f02=_0x5ac9eb[0x0]-_0x153447,_0x146559=_0x5ac9eb[0x1]-_0x1972c2,_0x184c89=_0x3376f9-_0x153447,_0x4198ed=_0x5dae0e-_0x1972c2;return _0x3d7f02*_0x4198ed-_0x146559*_0x184c89==0x0&&(_0x261805?_0x1a4e('0xc9')===_0x261805?Math[_0x1a4e('0x65')](_0x184c89)>=Math[_0x1a4e('0x65')](_0x4198ed)?_0x184c89>0x0?_0x153447<_0x81bc8f&&_0x81bc8f<=_0x3376f9:_0x3376f9<=_0x81bc8f&&_0x81bc8f<_0x153447:_0x4198ed>0x0?_0x1972c2<_0x234f42&&_0x234f42<=_0x5dae0e:_0x5dae0e<=_0x234f42&&_0x234f42<_0x1972c2:_0x1a4e('0xca')===_0x261805?Math[_0x1a4e('0x65')](_0x184c89)>=Math[_0x1a4e('0x65')](_0x4198ed)?_0x184c89>0x0?_0x153447<=_0x81bc8f&&_0x81bc8f<_0x3376f9:_0x3376f9<_0x81bc8f&&_0x81bc8f<=_0x153447:_0x4198ed>0x0?_0x1972c2<=_0x234f42&&_0x234f42<_0x5dae0e:_0x5dae0e<_0x234f42&&_0x234f42<=_0x1972c2:_0x1a4e('0xcb')===_0x261805?Math[_0x1a4e('0x65')](_0x184c89)>=Math[_0x1a4e('0x65')](_0x4198ed)?_0x184c89>0x0?_0x153447<_0x81bc8f&&_0x81bc8f<_0x3376f9:_0x3376f9<_0x81bc8f&&_0x81bc8f<_0x153447:_0x4198ed>0x0?_0x1972c2<_0x234f42&&_0x234f42<_0x5dae0e:_0x5dae0e<_0x234f42&&_0x234f42<_0x1972c2:void 0x0:Math[_0x1a4e('0x65')](_0x184c89)>=Math['abs'](_0x4198ed)?_0x184c89>0x0?_0x153447<=_0x81bc8f&&_0x81bc8f<=_0x3376f9:_0x3376f9<=_0x81bc8f&&_0x81bc8f<=_0x153447:_0x4198ed>0x0?_0x1972c2<=_0x234f42&&_0x234f42<=_0x5dae0e:_0x5dae0e<=_0x234f42&&_0x234f42<=_0x1972c2);}(_0x234f42[_0x153447],_0x234f42[_0x153447+0x1],_0x81bc8f,_0x1972c2))return!0x0;}return!0x1;}function _0x363e9d(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x9463e6(_0x5d7dad),_0x261805=_0x9463e6(_0x22b0c5),_0x81bc8f=_0x4510bd(_0x5d7dad),_0x234f42=_0x4510bd(_0x22b0c5);switch(_0x5ac9eb){case _0x1a4e('0x17'):switch(_0x261805){case'MultiPoint':return function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x261805=!0x1;for(_0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x43')][_0x1a4e('0x1e')];_0x5ac9eb++)if(_0x412197(_0x22b0c5['coordinates'][_0x5ac9eb],_0x5d7dad[_0x1a4e('0x43')])){_0x261805=!0x0;break;}return _0x261805;}(_0x81bc8f,_0x234f42);case _0x1a4e('0x44'):return _0x15780e(_0x81bc8f,_0x234f42,{'ignoreEndVertices':!0x0});case _0x1a4e('0x19'):return _0xf47c44(_0x81bc8f,_0x234f42,{'ignoreBoundary':!0x0});default:throw new Error(_0x1a4e('0xcc')+_0x261805+'\x20geometry\x20not\x20supported');}case _0x1a4e('0x1a'):switch(_0x261805){case _0x1a4e('0x1a'):return function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['coordinates'][_0x1a4e('0x1e')];_0x5ac9eb++){for(var _0x261805=!0x1,_0x81bc8f=0x0;_0x81bc8f<_0x22b0c5[_0x1a4e('0x43')]['length'];_0x81bc8f++)_0x412197(_0x5d7dad['coordinates'][_0x5ac9eb],_0x22b0c5['coordinates'][_0x81bc8f])&&(_0x261805=!0x0);if(!_0x261805)return!0x1;}return!0x0;}(_0x81bc8f,_0x234f42);case'LineString':return function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=!0x1,_0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x43')][_0x1a4e('0x1e')];_0x261805++){if(!_0x15780e(_0x5d7dad['coordinates'][_0x261805],_0x22b0c5))return!0x1;_0x5ac9eb||(_0x5ac9eb=_0x15780e(_0x5d7dad[_0x1a4e('0x43')][_0x261805],_0x22b0c5,{'ignoreEndVertices':!0x0}));}return _0x5ac9eb;}(_0x81bc8f,_0x234f42);case _0x1a4e('0x19'):return function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=!0x0,_0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x43')][_0x1a4e('0x1e')];_0x261805++){var _0x81bc8f=_0xf47c44(_0x5d7dad[_0x1a4e('0x43')][0x1],_0x22b0c5);if(!_0x81bc8f){_0x5ac9eb=!0x1;break;}_0x81bc8f=_0xf47c44(_0x5d7dad[_0x1a4e('0x43')][0x1],_0x22b0c5,{'ignoreBoundary':!0x0});}return _0x5ac9eb&&_0x81bc8f;}(_0x81bc8f,_0x234f42);default:throw new Error(_0x1a4e('0xcc')+_0x261805+_0x1a4e('0x9f'));}case _0x1a4e('0x44'):switch(_0x261805){case _0x1a4e('0x44'):return function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x43')][_0x1a4e('0x1e')];_0x5ac9eb++)if(!_0x15780e(_0x5d7dad[_0x1a4e('0x43')][_0x5ac9eb],_0x22b0c5))return!0x1;return!0x0;}(_0x81bc8f,_0x234f42);case'Polygon':return function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x3c3785(_0x22b0c5),_0x261805=_0x3c3785(_0x5d7dad);if(!_0x4ed513(_0x5ac9eb,_0x261805))return!0x1;for(var _0x81bc8f=!0x1,_0x234f42=0x0;_0x234f42<_0x5d7dad['coordinates'][_0x1a4e('0x1e')]-0x1;_0x234f42++){if(!_0xf47c44(_0x5d7dad['coordinates'][_0x234f42],_0x22b0c5))return!0x1;if(_0x81bc8f||(_0x81bc8f=_0xf47c44(_0x5d7dad[_0x1a4e('0x43')][_0x234f42],_0x22b0c5,{'ignoreBoundary':!0x0})),!_0x81bc8f){var _0x153447=function(_0x5d7dad,_0x22b0c5){return[(_0x5d7dad[0x0]+_0x22b0c5[0x0])/0x2,(_0x5d7dad[0x1]+_0x22b0c5[0x1])/0x2];}(_0x5d7dad[_0x1a4e('0x43')][_0x234f42],_0x5d7dad[_0x1a4e('0x43')][_0x234f42+0x1]);_0x81bc8f=_0xf47c44(_0x153447,_0x22b0c5,{'ignoreBoundary':!0x0});}}return _0x81bc8f;}(_0x81bc8f,_0x234f42);default:throw new Error(_0x1a4e('0xcc')+_0x261805+_0x1a4e('0x9f'));}case _0x1a4e('0x19'):switch(_0x261805){case _0x1a4e('0x19'):return function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x3c3785(_0x5d7dad);if(!_0x4ed513(_0x3c3785(_0x22b0c5),_0x5ac9eb))return!0x1;for(var _0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x43')][0x0][_0x1a4e('0x1e')];_0x261805++)if(!_0xf47c44(_0x5d7dad[_0x1a4e('0x43')][0x0][_0x261805],_0x22b0c5))return!0x1;return!0x0;}(_0x81bc8f,_0x234f42);default:throw new Error('feature2\x20'+_0x261805+_0x1a4e('0x9f'));}default:throw new Error(_0x1a4e('0xcd')+_0x5ac9eb+'\x20geometry\x20not\x20supported');}}function _0x4ed513(_0x5d7dad,_0x22b0c5){return!(_0x5d7dad[0x0]>_0x22b0c5[0x0]||_0x5d7dad[0x2]<_0x22b0c5[0x2]||_0x5d7dad[0x1]>_0x22b0c5[0x1]||_0x5d7dad[0x3]<_0x22b0c5[0x3]);}function _0x412197(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]===_0x22b0c5[0x0]&&_0x5d7dad[0x1]===_0x22b0c5[0x1];}function _0xc33424(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x81bc8f=_0x5ac9eb[_0x1a4e('0xce')],_0x234f42=_0x5ac9eb['properties'],_0x153447=[];if(null==_0x22b0c5)throw new Error(_0x1a4e('0xcf'));if(!_0x556755(_0x22b0c5))throw new Error(_0x1a4e('0xd0'));if(!_0x5d7dad)throw new Error(_0x1a4e('0x38'));if(!Array['isArray'](_0x5d7dad))throw new Error(_0x1a4e('0xd1'));if(0x4!==_0x5d7dad['length'])throw new Error(_0x1a4e('0xd2'));if(_0x81bc8f&&-0x1===[_0x1a4e('0x19'),_0x1a4e('0x1c')][_0x1a4e('0x3e')](_0x9463e6(_0x81bc8f)))throw new Error(_0x1a4e('0xd3'));for(var _0x1972c2=_0x5d7dad[0x0],_0x3376f9=_0x5d7dad[0x1],_0x3d7f02=_0x5d7dad[0x2],_0x146559=_0x5d7dad[0x3],_0x184c89=_0x22b0c5/_0x45cce9([_0x1972c2,_0x3376f9],[_0x3d7f02,_0x3376f9],_0x5ac9eb)*(_0x3d7f02-_0x1972c2),_0x4198ed=_0x22b0c5/_0x45cce9([_0x1972c2,_0x3376f9],[_0x1972c2,_0x146559],_0x5ac9eb)*(_0x146559-_0x3376f9),_0x41179c=_0x3d7f02-_0x1972c2,_0x4eb09b=_0x146559-_0x3376f9,_0x39638f=Math[_0x1a4e('0xb4')](_0x41179c/_0x184c89),_0x40b220=(_0x4eb09b-Math[_0x1a4e('0xb4')](_0x4eb09b/_0x4198ed)*_0x4198ed)/0x2,_0x55366a=_0x1972c2+(_0x41179c-_0x39638f*_0x184c89)/0x2;_0x55366a<=_0x3d7f02;){for(var _0x527605=_0x3376f9+_0x40b220;_0x527605<=_0x146559;){var _0x4b8927=_0x261805([_0x55366a,_0x527605],_0x234f42);_0x81bc8f?_0x363e9d(_0x4b8927,_0x81bc8f)&&_0x153447[_0x1a4e('0x46')](_0x4b8927):_0x153447[_0x1a4e('0x46')](_0x4b8927),_0x527605+=_0x4198ed;}_0x55366a+=_0x184c89;}return _0x5dae0e(_0x153447);}function _0x1ee048(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error('options\x20is\x20invalid');var _0x5ac9eb=_0x22b0c5[_0x1a4e('0xd4')],_0x261805=_0x22b0c5[_0x1a4e('0x43')],_0x81bc8f=_0x22b0c5[_0x1a4e('0x96')];if(_0x5ac9eb=null==_0x5ac9eb||isNaN(_0x5ac9eb)?0x6:_0x5ac9eb,_0x261805=null==_0x261805||isNaN(_0x261805)?0x3:_0x261805,!_0x5d7dad)throw new Error('\x20is\x20required');if(_0x1a4e('0x3d')!=typeof _0x5ac9eb)throw new Error(_0x1a4e('0xd5'));if(_0x1a4e('0x3d')!=typeof _0x261805)throw new Error(_0x1a4e('0xd6'));!0x1!==_0x81bc8f&&void 0x0!==_0x81bc8f||(_0x5d7dad=JSON['parse'](JSON[_0x1a4e('0xd7')](_0x5d7dad)));var _0x234f42=Math[_0x1a4e('0x8e')](0xa,_0x5ac9eb);return _0x40eeaf(_0x5d7dad,function(_0x5d7dad){!function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){_0x5d7dad[_0x1a4e('0x1e')]>_0x5ac9eb&&_0x5d7dad[_0x1a4e('0x8a')](_0x5ac9eb,_0x5d7dad[_0x1a4e('0x1e')]);for(var _0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x1e')];_0x261805++)_0x5d7dad[_0x261805]=Math[_0x1a4e('0x2a')](_0x5d7dad[_0x261805]*_0x22b0c5)/_0x22b0c5;}(_0x5d7dad,_0x234f42,_0x261805);}),_0x5d7dad;}function _0x2c8484(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad||!_0x22b0c5)return!0x1;if(_0x5d7dad[_0x1a4e('0x1e')]!==_0x22b0c5[_0x1a4e('0x1e')])return!0x1;for(var _0x5ac9eb=0x0,_0x261805=_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;_0x5ac9eb++)if(_0x5d7dad[_0x5ac9eb]instanceof Array&&_0x22b0c5[_0x5ac9eb]instanceof Array){if(!_0x2c8484(_0x5d7dad[_0x5ac9eb],_0x22b0c5[_0x5ac9eb]))return!0x1;}else if(_0x5d7dad[_0x5ac9eb]!==_0x22b0c5[_0x5ac9eb])return!0x1;return!0x0;}function _0x4a870d(_0x5d7dad,_0x22b0c5){if(void 0x0===_0x22b0c5&&(_0x22b0c5=!0x0),0x3!=_0x5d7dad[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0xd8'));return(_0x5d7dad[0x1][0x0]-_0x5d7dad[0x0][0x0])*(_0x5d7dad[0x2][0x1]-_0x5d7dad[0x0][0x1])-(_0x5d7dad[0x1][0x1]-_0x5d7dad[0x0][0x1])*(_0x5d7dad[0x2][0x0]-_0x5d7dad[0x0][0x0])>=0x0==_0x22b0c5;}function _0x4a3b71(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad||!_0x22b0c5)return!0x1;if(_0x5d7dad[_0x1a4e('0x1e')]!=_0x22b0c5[_0x1a4e('0x1e')])return!0x1;for(var _0x5ac9eb=0x0,_0x261805=_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;_0x5ac9eb++)if(_0x5d7dad[_0x5ac9eb]instanceof Array&&_0x22b0c5[_0x5ac9eb]instanceof Array){if(!_0x4a3b71(_0x5d7dad[_0x5ac9eb],_0x22b0c5[_0x5ac9eb]))return!0x1;}else if(_0x5d7dad[_0x5ac9eb]!=_0x22b0c5[_0x5ac9eb])return!0x1;return!0x0;}function _0x3738e5(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=[],_0x261805=_0x2b1272();return _0xe0c7f6(_0x22b0c5,function(_0x22b0c5){if(_0x5ac9eb[_0x1a4e('0x3b')](function(_0x5d7dad,_0x22b0c5){_0x5d7dad['id']=_0x22b0c5;}),_0x5ac9eb[_0x1a4e('0x1e')]){var _0x81bc8f=_0x261805[_0x1a4e('0x83')](_0x22b0c5);if(_0x81bc8f[_0x1a4e('0x25')]['length']){var _0x234f42=_0x2cfd20(_0x22b0c5,_0x81bc8f);_0x5ac9eb=_0x5ac9eb[_0x1a4e('0xd9')](function(_0x5d7dad){return _0x5d7dad['id']!==_0x234f42['id'];}),_0x261805['remove'](_0x234f42),_0x1494e6(_0x11359c(_0x234f42,_0x22b0c5),function(_0x5d7dad){_0x5ac9eb[_0x1a4e('0x46')](_0x5d7dad),_0x261805[_0x1a4e('0x7c')](_0x5d7dad);});}}else(_0x5ac9eb=_0x11359c(_0x5d7dad,_0x22b0c5)[_0x1a4e('0x25')])[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad['bbox']||(_0x5d7dad[_0x1a4e('0xe')]=_0x5838d6(_0x3c3785(_0x5d7dad)));}),_0x261805[_0x1a4e('0x7b')](_0x5dae0e(_0x5ac9eb));}),_0x5dae0e(_0x5ac9eb);}function _0x11359c(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=[],_0x261805=_0x2a976f(_0x5d7dad)[0x0],_0x81bc8f=_0x2a976f(_0x5d7dad)[_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')]['length']-0x1];if(_0x174ee6(_0x261805,_0x52d3d8(_0x22b0c5))||_0x174ee6(_0x81bc8f,_0x52d3d8(_0x22b0c5)))return _0x5dae0e([_0x5d7dad]);var _0x234f42=_0x2b1272(),_0x153447=_0xc157bd(_0x5d7dad);_0x234f42[_0x1a4e('0x7b')](_0x153447);var _0x3376f9=_0x234f42[_0x1a4e('0x83')](_0x22b0c5);if(!_0x3376f9[_0x1a4e('0x25')][_0x1a4e('0x1e')])return _0x5dae0e([_0x5d7dad]);var _0x3d7f02=_0x2cfd20(_0x22b0c5,_0x3376f9),_0x146559=_0x57cad0(_0x153447,function(_0x5d7dad,_0x261805,_0x81bc8f){var _0x234f42=_0x2a976f(_0x261805)[0x1],_0x153447=_0x52d3d8(_0x22b0c5);return _0x81bc8f===_0x3d7f02['id']?(_0x5d7dad[_0x1a4e('0x46')](_0x153447),_0x5ac9eb[_0x1a4e('0x46')](_0x1972c2(_0x5d7dad)),_0x174ee6(_0x153447,_0x234f42)?[_0x153447]:[_0x153447,_0x234f42]):(_0x5d7dad[_0x1a4e('0x46')](_0x234f42),_0x5d7dad);},[_0x261805]);return _0x146559[_0x1a4e('0x1e')]>0x1&&_0x5ac9eb[_0x1a4e('0x46')](_0x1972c2(_0x146559)),_0x5dae0e(_0x5ac9eb);}function _0x2cfd20(_0x5d7dad,_0x22b0c5){if(!_0x22b0c5[_0x1a4e('0x25')]['length'])throw new Error(_0x1a4e('0xda'));if(0x1===_0x22b0c5[_0x1a4e('0x25')][_0x1a4e('0x1e')])return _0x22b0c5[_0x1a4e('0x25')][0x0];var _0x5ac9eb,_0x261805=0x1/0x0;return _0x1494e6(_0x22b0c5,function(_0x22b0c5){var _0x81bc8f=_0x3f7006(_0x22b0c5,_0x5d7dad)['properties'][_0x1a4e('0x81')];_0x81bc8f<_0x261805&&(_0x5ac9eb=_0x22b0c5,_0x261805=_0x81bc8f);}),_0x5ac9eb;}function _0x174ee6(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]===_0x22b0c5[0x0]&&_0x5d7dad[0x1]===_0x22b0c5[0x1];}function _0x5eb032(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){if(!_0x162a48(_0x81bc8f=_0x81bc8f||{}))throw new Error('options\x20is\x20invalid');var _0x234f42=_0x81bc8f[_0x1a4e('0xdb')],_0x153447=_0x81bc8f[_0x1a4e('0x8d')];if(!_0x5d7dad)throw new Error(_0x1a4e('0xa7'));if(!_0x22b0c5)throw new Error(_0x1a4e('0xdc'));if(null==_0x5ac9eb)throw new Error(_0x1a4e('0xdd'));if(null==_0x261805)throw new Error(_0x1a4e('0xde'));if(_0x1a4e('0x85')!=typeof _0x81bc8f)throw new Error(_0x1a4e('0xa8'));_0x234f42=_0x234f42||0x40;var _0x3376f9=_0x5c117f(_0x5ac9eb),_0x5dae0e=_0x5c117f(_0x261805),_0x3d7f02=_0x5d7dad[_0x1a4e('0x13')];if(_0x3376f9===_0x5dae0e)return _0x1972c2(_0x2a4100(_0x5d7dad,_0x22b0c5,_0x81bc8f)[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0],_0x3d7f02);for(var _0x146559=_0x3376f9,_0x184c89=_0x3376f9<_0x5dae0e?_0x5dae0e:_0x5dae0e+0x168,_0x4198ed=_0x146559,_0x41179c=[],_0x4eb09b=0x0;_0x4198ed<_0x184c89;)_0x41179c[_0x1a4e('0x46')](_0x4d4119(_0x5d7dad,_0x22b0c5,_0x4198ed,_0x153447)['geometry'][_0x1a4e('0x43')]),_0x4198ed=_0x146559+0x168*++_0x4eb09b/_0x234f42;return _0x4198ed>_0x184c89&&_0x41179c[_0x1a4e('0x46')](_0x4d4119(_0x5d7dad,_0x22b0c5,_0x184c89,_0x153447)[_0x1a4e('0x18')]['coordinates']),_0x1972c2(_0x41179c,_0x3d7f02);}function _0x5c117f(_0x5d7dad){var _0x22b0c5=_0x5d7dad%0x168;return _0x22b0c5<0x0&&(_0x22b0c5+=0x168),_0x22b0c5;}function _0x469040(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x13')],_0x261805=_0x9463e6(_0x5d7dad),_0x81bc8f=_0x2a976f(_0x5d7dad);if(_0x5ac9eb=_0x5ac9eb||_0x5d7dad[_0x1a4e('0x13')]||{},!_0x81bc8f[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0xdf'));switch(_0x261805){case _0x1a4e('0x19'):return _0x53e45b(_0x81bc8f,_0x5ac9eb);case'MultiPolygon':var _0x234f42=[];return _0x81bc8f[_0x1a4e('0x3b')](function(_0x5d7dad){_0x234f42['push'](_0x53e45b(_0x5d7dad,_0x5ac9eb));}),_0x5dae0e(_0x234f42);default:throw new Error(_0x1a4e('0xe0')+_0x261805+_0x1a4e('0xe1'));}}function _0x53e45b(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x1e')]>0x1?_0x3d7f02(_0x5d7dad,_0x22b0c5):_0x1972c2(_0x5d7dad[0x0],_0x22b0c5);}function _0x5ef9d7(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x13')],_0x261805=_0x22b0c5[_0x1a4e('0xe2')],_0x81bc8f=_0x22b0c5[_0x1a4e('0xe3')];if(!_0x5d7dad)throw new Error(_0x1a4e('0xe4'));switch(_0x261805=void 0x0===_0x261805||_0x261805,_0x81bc8f=void 0x0===_0x81bc8f||_0x81bc8f,_0x9463e6(_0x5d7dad)){case _0x1a4e('0x41'):case _0x1a4e('0x28'):var _0x234f42=[];return(_0x5d7dad[_0x1a4e('0x25')]?_0x5d7dad[_0x1a4e('0x25')]:_0x5d7dad[_0x1a4e('0x42')])[_0x1a4e('0x3b')](function(_0x5d7dad){_0x234f42[_0x1a4e('0x46')](_0x2a976f(_0x5775d3(_0x5d7dad,{},_0x261805,_0x81bc8f)));}),_0x184c89(_0x234f42,_0x5ac9eb);}return _0x5775d3(_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f);}function _0x5775d3(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){_0x22b0c5=_0x22b0c5||_0x5d7dad[_0x1a4e('0x13')]||{};var _0x81bc8f=_0x2a976f(_0x5d7dad),_0x153447=_0x9463e6(_0x5d7dad);if(!_0x81bc8f[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0xe5'));switch(_0x153447){case _0x1a4e('0x44'):return _0x5ac9eb&&(_0x81bc8f=_0x32a9bf(_0x81bc8f)),_0x234f42([_0x81bc8f],_0x22b0c5);case'MultiLineString':var _0x3376f9=[],_0x5dae0e=0x0;return _0x81bc8f[_0x1a4e('0x3b')](function(_0x5d7dad){if(_0x5ac9eb&&(_0x5d7dad=_0x32a9bf(_0x5d7dad)),_0x261805){var _0x22b0c5=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[0x0],_0x5ac9eb=_0x5d7dad[0x1],_0x261805=_0x5d7dad[0x2],_0x81bc8f=_0x5d7dad[0x3];return Math[_0x1a4e('0x65')](_0x22b0c5-_0x261805)*Math['abs'](_0x5ac9eb-_0x81bc8f);}(_0x3c3785(_0x1972c2(_0x5d7dad)));_0x22b0c5>_0x5dae0e?(_0x3376f9[_0x1a4e('0x66')](_0x5d7dad),_0x5dae0e=_0x22b0c5):_0x3376f9[_0x1a4e('0x46')](_0x5d7dad);}else _0x3376f9['push'](_0x5d7dad);}),_0x234f42(_0x3376f9,_0x22b0c5);default:throw new Error(_0x1a4e('0xe6')+_0x153447+_0x1a4e('0x9d'));}}function _0x32a9bf(_0x5d7dad){var _0x22b0c5=_0x5d7dad[0x0],_0x5ac9eb=_0x22b0c5[0x0],_0x261805=_0x22b0c5[0x1],_0x81bc8f=_0x5d7dad[_0x5d7dad['length']-0x1],_0x234f42=_0x81bc8f[0x0],_0x153447=_0x81bc8f[0x1];return _0x5ac9eb===_0x234f42&&_0x261805===_0x153447||_0x5d7dad[_0x1a4e('0x46')](_0x22b0c5),_0x5d7dad;}function _0x5d1f1b(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9=_0x5d7dad[_0x1a4e('0x1e')],_0x5dae0e=_0x3f04cb(_0x5d7dad[0x0],_0x22b0c5),_0x3d7f02=[];for(_0x5ac9eb||(_0x5ac9eb=[]),_0x261805=0x1;_0x261805<_0x3376f9;_0x261805++){for(_0x81bc8f=_0x5d7dad[_0x261805-0x1],_0x153447=_0x1972c2=_0x3f04cb(_0x234f42=_0x5d7dad[_0x261805],_0x22b0c5);;){if(!(_0x5dae0e|_0x153447)){_0x3d7f02[_0x1a4e('0x46')](_0x81bc8f),_0x153447!==_0x1972c2?(_0x3d7f02['push'](_0x234f42),_0x261805<_0x3376f9-0x1&&(_0x5ac9eb[_0x1a4e('0x46')](_0x3d7f02),_0x3d7f02=[])):_0x261805===_0x3376f9-0x1&&_0x3d7f02[_0x1a4e('0x46')](_0x234f42);break;}if(_0x5dae0e&_0x153447)break;_0x5dae0e?_0x5dae0e=_0x3f04cb(_0x81bc8f=_0x171d10(_0x81bc8f,_0x234f42,_0x5dae0e,_0x22b0c5),_0x22b0c5):_0x153447=_0x3f04cb(_0x234f42=_0x171d10(_0x81bc8f,_0x234f42,_0x153447,_0x22b0c5),_0x22b0c5);}_0x5dae0e=_0x1972c2;}return _0x3d7f02[_0x1a4e('0x1e')]&&_0x5ac9eb[_0x1a4e('0x46')](_0x3d7f02),_0x5ac9eb;}function _0x171d10(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){return 0x8&_0x5ac9eb?[_0x5d7dad[0x0]+(_0x22b0c5[0x0]-_0x5d7dad[0x0])*(_0x261805[0x3]-_0x5d7dad[0x1])/(_0x22b0c5[0x1]-_0x5d7dad[0x1]),_0x261805[0x3]]:0x4&_0x5ac9eb?[_0x5d7dad[0x0]+(_0x22b0c5[0x0]-_0x5d7dad[0x0])*(_0x261805[0x1]-_0x5d7dad[0x1])/(_0x22b0c5[0x1]-_0x5d7dad[0x1]),_0x261805[0x1]]:0x2&_0x5ac9eb?[_0x261805[0x2],_0x5d7dad[0x1]+(_0x22b0c5[0x1]-_0x5d7dad[0x1])*(_0x261805[0x2]-_0x5d7dad[0x0])/(_0x22b0c5[0x0]-_0x5d7dad[0x0])]:0x1&_0x5ac9eb?[_0x261805[0x0],_0x5d7dad[0x1]+(_0x22b0c5[0x1]-_0x5d7dad[0x1])*(_0x261805[0x0]-_0x5d7dad[0x0])/(_0x22b0c5[0x0]-_0x5d7dad[0x0])]:null;}function _0x3f04cb(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=0x0;return _0x5d7dad[0x0]<_0x22b0c5[0x0]?_0x5ac9eb|=0x1:_0x5d7dad[0x0]>_0x22b0c5[0x2]&&(_0x5ac9eb|=0x2),_0x5d7dad[0x1]<_0x22b0c5[0x1]?_0x5ac9eb|=0x4:_0x5d7dad[0x1]>_0x22b0c5[0x3]&&(_0x5ac9eb|=0x8),_0x5ac9eb;}function _0x5d5655(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=[],_0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x1e')];_0x261805++){var _0x81bc8f=_0xa3b501[_0x1a4e('0xe7')](_0x5d7dad[_0x261805],_0x22b0c5);_0x81bc8f[_0x1a4e('0x1e')]>0x0&&(_0x81bc8f[0x0][0x0]===_0x81bc8f[_0x81bc8f[_0x1a4e('0x1e')]-0x1][0x0]&&_0x81bc8f[0x0][0x1]===_0x81bc8f[_0x81bc8f['length']-0x1][0x1]||_0x81bc8f[_0x1a4e('0x46')](_0x81bc8f[0x0]),_0x81bc8f[_0x1a4e('0x1e')]>=0x4&&_0x5ac9eb[_0x1a4e('0x46')](_0x81bc8f));}return _0x5ac9eb;}function _0x4afc2c(_0x5d7dad){return _0x1a4e('0xe8')===Object[_0x1a4e('0xa')][_0x1a4e('0x95')]['call'](_0x5d7dad);}function _0x2fcc15(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return _0x5ac9eb||(_0x5ac9eb={}),_0x5d7dad===_0x22b0c5||(_0x5d7dad instanceof Date&&_0x22b0c5 instanceof Date?_0x5d7dad[_0x1a4e('0xe9')]()===_0x22b0c5[_0x1a4e('0xe9')]():!_0x5d7dad||!_0x22b0c5||_0x1a4e('0x85')!=typeof _0x5d7dad&&_0x1a4e('0x85')!=typeof _0x22b0c5?(_0x5ac9eb['strict'],_0x5d7dad===_0x22b0c5):function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805,_0x81bc8f;if(_0x41448f(_0x5d7dad)||_0x41448f(_0x22b0c5))return!0x1;if(_0x5d7dad[_0x1a4e('0xa')]!==_0x22b0c5[_0x1a4e('0xa')])return!0x1;if(_0x4afc2c(_0x5d7dad))return!!_0x4afc2c(_0x22b0c5)&&(_0x5d7dad=_0x3d3182[_0x1a4e('0x1')](_0x5d7dad),_0x22b0c5=_0x3d3182[_0x1a4e('0x1')](_0x22b0c5),_0x2fcc15(_0x5d7dad,_0x22b0c5,_0x5ac9eb));if(_0x358abb(_0x5d7dad)){if(!_0x358abb(_0x22b0c5))return!0x1;if(_0x5d7dad['length']!==_0x22b0c5[_0x1a4e('0x1e')])return!0x1;for(_0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x1e')];_0x261805++)if(_0x5d7dad[_0x261805]!==_0x22b0c5[_0x261805])return!0x1;return!0x0;}try{var _0x234f42=Object[_0x1a4e('0x56')](_0x5d7dad),_0x153447=Object[_0x1a4e('0x56')](_0x22b0c5);}catch(_0x4b17dc){return!0x1;}if(_0x234f42[_0x1a4e('0x1e')]!==_0x153447[_0x1a4e('0x1e')])return!0x1;for(_0x234f42[_0x1a4e('0x89')](),_0x153447[_0x1a4e('0x89')](),_0x261805=_0x234f42[_0x1a4e('0x1e')]-0x1;_0x261805>=0x0;_0x261805--)if(_0x234f42[_0x261805]!==_0x153447[_0x261805])return!0x1;for(_0x261805=_0x234f42[_0x1a4e('0x1e')]-0x1;_0x261805>=0x0;_0x261805--)if(_0x81bc8f=_0x234f42[_0x261805],!_0x2fcc15(_0x5d7dad[_0x81bc8f],_0x22b0c5[_0x81bc8f],_0x5ac9eb))return!0x1;return typeof _0x5d7dad==typeof _0x22b0c5;}(_0x5d7dad,_0x22b0c5,_0x5ac9eb));}function _0x41448f(_0x5d7dad){return null==_0x5d7dad;}function _0x358abb(_0x5d7dad){return!(!_0x5d7dad||'object'!=typeof _0x5d7dad||_0x1a4e('0x3d')!=typeof _0x5d7dad[_0x1a4e('0x1e')]||_0x1a4e('0x68')!=typeof _0x5d7dad[_0x1a4e('0xea')]||'function'!=typeof _0x5d7dad[_0x1a4e('0x78')]||_0x5d7dad[_0x1a4e('0x1e')]>0x0&&_0x1a4e('0x3d')!=typeof _0x5d7dad[0x0]);}function _0x416151(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805,_0x81bc8f=_0x5ac9eb[_0x1a4e('0xeb')]||0x0,_0x234f42=[],_0x153447=_0x2b1272();return _0x153447[_0x1a4e('0x7b')](_0xc157bd(_0x5d7dad)),_0x5b37a5(_0x22b0c5,function(_0x5d7dad){var _0x22b0c5=!0x1;_0x1494e6(_0x153447[_0x1a4e('0x83')](_0x5d7dad),function(_0x5ac9eb){if(!0x1===_0x22b0c5){var _0x234f42=_0x2a976f(_0x5d7dad)[_0x1a4e('0x89')](),_0x153447=_0x2a976f(_0x5ac9eb)['sort']();_0x2fcc15(_0x234f42,_0x153447)?(_0x22b0c5=!0x0,_0x261805=_0x261805?_0x906f0(_0x261805,_0x5d7dad):_0x5d7dad):(0x0===_0x81bc8f?_0x15780e(_0x234f42[0x0],_0x5ac9eb)&&_0x15780e(_0x234f42[0x1],_0x5ac9eb):_0x3f7006(_0x5ac9eb,_0x234f42[0x0])[_0x1a4e('0x13')][_0x1a4e('0x81')]<=_0x81bc8f&&_0x3f7006(_0x5ac9eb,_0x234f42[0x1])['properties'][_0x1a4e('0x81')]<=_0x81bc8f)?(_0x22b0c5=!0x0,_0x261805=_0x261805?_0x906f0(_0x261805,_0x5d7dad):_0x5d7dad):(0x0===_0x81bc8f?_0x15780e(_0x153447[0x0],_0x5d7dad)&&_0x15780e(_0x153447[0x1],_0x5d7dad):_0x3f7006(_0x5d7dad,_0x153447[0x0])[_0x1a4e('0x13')][_0x1a4e('0x81')]<=_0x81bc8f&&_0x3f7006(_0x5d7dad,_0x153447[0x1])[_0x1a4e('0x13')]['dist']<=_0x81bc8f)&&(_0x261805=_0x261805?_0x906f0(_0x261805,_0x5ac9eb):_0x5ac9eb);}}),!0x1===_0x22b0c5&&_0x261805&&(_0x234f42[_0x1a4e('0x46')](_0x261805),_0x261805=void 0x0);}),_0x261805&&_0x234f42['push'](_0x261805),_0x5dae0e(_0x234f42);}function _0x906f0(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x2a976f(_0x22b0c5),_0x261805=_0x2a976f(_0x5d7dad),_0x81bc8f=_0x261805[0x0],_0x234f42=_0x261805[_0x261805[_0x1a4e('0x1e')]-0x1],_0x153447=_0x5d7dad['geometry'][_0x1a4e('0x43')];return _0x2fcc15(_0x5ac9eb[0x0],_0x81bc8f)?_0x153447['unshift'](_0x5ac9eb[0x1]):_0x2fcc15(_0x5ac9eb[0x0],_0x234f42)?_0x153447[_0x1a4e('0x46')](_0x5ac9eb[0x1]):_0x2fcc15(_0x5ac9eb[0x1],_0x81bc8f)?_0x153447[_0x1a4e('0x66')](_0x5ac9eb[0x0]):_0x2fcc15(_0x5ac9eb[0x1],_0x234f42)&&_0x153447['push'](_0x5ac9eb[0x0]),_0x5d7dad;}function _0x2a3a7f(_0x5d7dad){var _0x22b0c5=_0x5d7dad%0x168;return _0x22b0c5<0x0&&(_0x22b0c5+=0x168),_0x22b0c5;}function _0x2a819c(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x81bc8f){if(!_0x162a48(_0x81bc8f=_0x81bc8f||{}))throw new Error(_0x1a4e('0xd'));var _0x234f42=_0x81bc8f[_0x1a4e('0x8d')],_0x153447=_0x81bc8f[_0x1a4e('0x13')];if(!_0x5d7dad)throw new Error(_0x1a4e('0xec'));if(null==_0x22b0c5)throw new Error(_0x1a4e('0x2d'));if(null==_0x5ac9eb)throw new Error(_0x1a4e('0x2f'));if(!(_0x22b0c5>=0x0))throw new Error(_0x1a4e('0xed'));var _0x1972c2=_0x3ff7f9(_0x22b0c5,_0x234f42,_0x1a4e('0x35')),_0x3376f9=_0x52d3d8(_0x5d7dad),_0x5dae0e=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){_0x261805=void 0x0===_0x261805?_0x292969:Number(_0x261805);var _0x81bc8f=_0x22b0c5/_0x261805,_0x234f42=_0x5d7dad[0x0]*Math['PI']/0xb4,_0x153447=_0x4b8927(_0x5d7dad[0x1]),_0x1972c2=_0x4b8927(_0x5ac9eb),_0x3376f9=_0x81bc8f*Math[_0x1a4e('0x90')](_0x1972c2),_0x5dae0e=_0x153447+_0x3376f9;Math[_0x1a4e('0x65')](_0x5dae0e)>Math['PI']/0x2&&(_0x5dae0e=_0x5dae0e>0x0?Math['PI']-_0x5dae0e:-Math['PI']-_0x5dae0e);var _0x3d7f02=Math[_0x1a4e('0x58')](Math[_0x1a4e('0xbe')](_0x5dae0e/0x2+Math['PI']/0x4)/Math[_0x1a4e('0xbe')](_0x153447/0x2+Math['PI']/0x4)),_0x146559=Math['abs'](_0x3d7f02)>1e-11?_0x3376f9/_0x3d7f02:Math[_0x1a4e('0x90')](_0x153447),_0x184c89=_0x81bc8f*Math[_0x1a4e('0x8f')](_0x1972c2)/_0x146559;return[(0xb4*(_0x234f42+_0x184c89)/Math['PI']+0x21c)%0x168-0xb4,0xb4*_0x5dae0e/Math['PI']];}(_0x3376f9,_0x1972c2,_0x5ac9eb);return _0x5dae0e[0x0]+=_0x5dae0e[0x0]-_0x3376f9[0x0]>0xb4?-0x168:_0x3376f9[0x0]-_0x5dae0e[0x0]>0xb4?0x168:0x0,_0x261805(_0x5dae0e,_0x153447);}function _0x48a855(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){for(var _0x153447=0x0;_0x153447<_0x5d7dad['length'];_0x153447++){var _0x1972c2=_0x5d7dad[_0x153447],_0x3376f9=_0x5d7dad[_0x153447+0x1];_0x153447===_0x5d7dad[_0x1a4e('0x1e')]-0x1&&(_0x3376f9=_0x5d7dad[0x0]),_0x261805=_0x2c30a3(_0x1972c2,_0x3376f9,_0x22b0c5),_0x5ac9eb<=0x0&&_0x261805>0x0?function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return _0x2c30a3(_0x5d7dad,_0x22b0c5,_0x5ac9eb)<0x0;}(_0x22b0c5,_0x1972c2,_0x81bc8f)||(_0x81bc8f=_0x1972c2):_0x5ac9eb>0x0&&_0x261805<=0x0&&(function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return _0x2c30a3(_0x5d7dad,_0x22b0c5,_0x5ac9eb)>0x0;}(_0x22b0c5,_0x1972c2,_0x234f42)||(_0x234f42=_0x1972c2)),_0x5ac9eb=_0x261805;}return[_0x81bc8f,_0x234f42];}function _0x2c30a3(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return(_0x22b0c5[0x0]-_0x5d7dad[0x0])*(_0x5ac9eb[0x1]-_0x5d7dad[0x1])-(_0x5ac9eb[0x0]-_0x5d7dad[0x0])*(_0x22b0c5[0x1]-_0x5d7dad[0x1]);}function _0x354fc1(_0x5d7dad){if(!_0x5d7dad)throw new Error(_0x1a4e('0xa2'));var _0x22b0c5=_0x5d7dad['geometry']?_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]:_0x5d7dad[_0x1a4e('0x40')];if(!Array[_0x1a4e('0x15')](_0x5d7dad)&&'LineString'!==_0x22b0c5)throw new Error(_0x1a4e('0xee'));for(var _0x5ac9eb,_0x261805,_0x81bc8f=_0x2a976f(_0x5d7dad),_0x234f42=0x0,_0x153447=0x1;_0x153447<_0x81bc8f[_0x1a4e('0x1e')];)_0x5ac9eb=_0x261805||_0x81bc8f[0x0],_0x234f42+=((_0x261805=_0x81bc8f[_0x153447])[0x0]-_0x5ac9eb[0x0])*(_0x261805[0x1]+_0x5ac9eb[0x1]),_0x153447++;return _0x234f42>0x0;}function _0x848ca8(_0x5d7dad,_0x22b0c5){switch(_0x1a4e('0x12')===_0x5d7dad['type']?_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]:_0x5d7dad[_0x1a4e('0x40')]){case _0x1a4e('0x28'):return _0xaebea(_0x5d7dad,function(_0x5d7dad){_0x848ca8(_0x5d7dad,_0x22b0c5);}),_0x5d7dad;case _0x1a4e('0x44'):return _0x7eac5b(_0x2a976f(_0x5d7dad),_0x22b0c5),_0x5d7dad;case'Polygon':return _0x4a0f75(_0x2a976f(_0x5d7dad),_0x22b0c5),_0x5d7dad;case'MultiLineString':return _0x2a976f(_0x5d7dad)[_0x1a4e('0x3b')](function(_0x5d7dad){_0x7eac5b(_0x5d7dad,_0x22b0c5);}),_0x5d7dad;case _0x1a4e('0x1c'):return _0x2a976f(_0x5d7dad)[_0x1a4e('0x3b')](function(_0x5d7dad){_0x4a0f75(_0x5d7dad,_0x22b0c5);}),_0x5d7dad;case _0x1a4e('0x17'):case _0x1a4e('0x1a'):return _0x5d7dad;}}function _0x7eac5b(_0x5d7dad,_0x22b0c5){_0x354fc1(_0x5d7dad)===_0x22b0c5&&_0x5d7dad[_0x1a4e('0x9b')]();}function _0x4a0f75(_0x5d7dad,_0x22b0c5){_0x354fc1(_0x5d7dad[0x0])!==_0x22b0c5&&_0x5d7dad[0x0][_0x1a4e('0x9b')]();for(var _0x5ac9eb=0x1;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb++)_0x354fc1(_0x5d7dad[_0x5ac9eb])===_0x22b0c5&&_0x5d7dad[_0x5ac9eb][_0x1a4e('0x9b')]();}function _0x42455f(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){_0x261805=_0x261805||{};for(var _0x81bc8f=Object[_0x1a4e('0x56')](_0x3a2c7b),_0x234f42=0x0;_0x234f42<_0x81bc8f['length'];_0x234f42++){var _0x153447=_0x81bc8f[_0x234f42],_0x1972c2=_0x261805[_0x153447];_0x1972c2=null!=_0x1972c2?_0x1972c2:_0x3a2c7b[_0x153447],_0x1fe0e6[_0x153447]=_0x1972c2;}_0x1fe0e6[_0x1a4e('0x57')]&&console['log'](_0x1a4e('0xef')+_0x22b0c5+':'+(_0x22b0c5+_0x5ac9eb)+']');var _0x3376f9,_0x5dae0e=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){for(var _0x261805=_0x5d7dad['length']-0x1,_0x81bc8f=_0x5d7dad[0x0]['length']-0x1,_0x234f42={'rows':_0x261805,'cols':_0x81bc8f,'cells':[]},_0x153447=_0x22b0c5+Math['abs'](_0x5ac9eb),_0x1972c2=0x0;_0x1972c2<_0x261805;++_0x1972c2){_0x234f42[_0x1a4e('0x5a')][_0x1972c2]=[];for(var _0x3376f9=0x0;_0x3376f9<_0x81bc8f;++_0x3376f9){var _0x5dae0e=0x0,_0x3d7f02=_0x5d7dad[_0x1972c2+0x1][_0x3376f9],_0x146559=_0x5d7dad[_0x1972c2+0x1][_0x3376f9+0x1],_0x184c89=_0x5d7dad[_0x1972c2][_0x3376f9+0x1],_0x4198ed=_0x5d7dad[_0x1972c2][_0x3376f9];if(!(isNaN(_0x3d7f02)||isNaN(_0x146559)||isNaN(_0x184c89)||isNaN(_0x4198ed))){_0x5dae0e|=_0x3d7f02<_0x22b0c5?0x0:_0x3d7f02>_0x153447?0x80:0x40,_0x5dae0e|=_0x146559<_0x22b0c5?0x0:_0x146559>_0x153447?0x20:0x10,_0x5dae0e|=_0x184c89<_0x22b0c5?0x0:_0x184c89>_0x153447?0x8:0x4;var _0x41179c=+(_0x5dae0e|=_0x4198ed<_0x22b0c5?0x0:_0x4198ed>_0x153447?0x2:0x1),_0x4eb09b=0x0;if(0x11===_0x5dae0e||0x12===_0x5dae0e||0x21===_0x5dae0e||0x22===_0x5dae0e||0x26===_0x5dae0e||0x44===_0x5dae0e||0x48===_0x5dae0e||0x62===_0x5dae0e||0x66===_0x5dae0e||0x84===_0x5dae0e||0x88===_0x5dae0e||0x89===_0x5dae0e||0x98===_0x5dae0e||0x99===_0x5dae0e){var _0x39638f=(_0x3d7f02+_0x146559+_0x184c89+_0x4198ed)/0x4;_0x4eb09b=_0x39638f>_0x153447?0x2:_0x39638f<_0x22b0c5?0x0:0x1,0x22===_0x5dae0e?0x1===_0x4eb09b?_0x5dae0e=0x23:0x0===_0x4eb09b&&(_0x5dae0e=0x88):0x88===_0x5dae0e?0x1===_0x4eb09b?(_0x5dae0e=0x23,_0x4eb09b=0x4):0x0===_0x4eb09b&&(_0x5dae0e=0x22):0x11===_0x5dae0e?0x1===_0x4eb09b?(_0x5dae0e=0x9b,_0x4eb09b=0x4):0x0===_0x4eb09b&&(_0x5dae0e=0x99):0x44===_0x5dae0e?0x1===_0x4eb09b?(_0x5dae0e=0x67,_0x4eb09b=0x4):0x0===_0x4eb09b&&(_0x5dae0e=0x66):0x99===_0x5dae0e?0x1===_0x4eb09b&&(_0x5dae0e=0x9b):0x66===_0x5dae0e?0x1===_0x4eb09b&&(_0x5dae0e=0x67):0x98===_0x5dae0e?_0x4eb09b<0x2&&(_0x5dae0e=0x9c,_0x4eb09b=0x1):0x89===_0x5dae0e?_0x4eb09b<0x2&&(_0x5dae0e=0x8b,_0x4eb09b=0x1):0x62===_0x5dae0e?_0x4eb09b<0x2&&(_0x5dae0e=0x63,_0x4eb09b=0x1):0x26===_0x5dae0e?_0x4eb09b<0x2&&(_0x5dae0e=0x27,_0x4eb09b=0x1):0x12===_0x5dae0e?_0x4eb09b>0x0?(_0x5dae0e=0x9c,_0x4eb09b=0x4):_0x5dae0e=0x98:0x21===_0x5dae0e?_0x4eb09b>0x0?(_0x5dae0e=0x8b,_0x4eb09b=0x4):_0x5dae0e=0x89:0x48===_0x5dae0e?_0x4eb09b>0x0?(_0x5dae0e=0x63,_0x4eb09b=0x4):_0x5dae0e=0x62:0x84===_0x5dae0e&&(_0x4eb09b>0x0?(_0x5dae0e=0x27,_0x4eb09b=0x4):_0x5dae0e=0x26);}if(0x0!=_0x5dae0e&&0xaa!=_0x5dae0e){var _0x40b220,_0x55366a,_0x527605,_0x4b8927,_0x3ff7f9,_0x3b62c2,_0x556755,_0x162a48;_0x40b220=_0x55366a=_0x527605=_0x4b8927=_0x3ff7f9=_0x3b62c2=_0x556755=_0x162a48=0.5;var _0x4f92fa=[];0x1===_0x5dae0e?(_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0xa9===_0x5dae0e?(_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x4f92fa['push'](_0x554be6[_0x5dae0e])):0x4===_0x5dae0e?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0xa6===_0x5dae0e?(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x10===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e])):0x9a===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e])):0x40===_0x5dae0e?(_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x6a===_0x5dae0e?(_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0xa8===_0x5dae0e?(_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x2===_0x5dae0e?(_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x4f92fa['push'](_0x335fa8[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0xa2===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x8===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x8a===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa['push'](_0x463d0c[_0x5dae0e])):0x20===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x2a===_0x5dae0e?(_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e]),_0x4f92fa['push'](_0x354b7f[_0x5dae0e])):0x80===_0x5dae0e&&(_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa['push'](_0x353eca[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])),0x5===_0x5dae0e?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0xa5===_0x5dae0e?(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x14===_0x5dae0e?(_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x4f92fa['push'](_0x335fa8[_0x5dae0e])):0x96===_0x5dae0e?(_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e])):0x50===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e])):0x5a===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e])):0x41===_0x5dae0e?(_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x69===_0x5dae0e?(_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0xa0===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0xa===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x82===_0x5dae0e?(_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa['push'](_0x335fa8[_0x5dae0e]),_0x4f92fa['push'](_0x554be6[_0x5dae0e])):0x28===_0x5dae0e?(_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa['push'](_0x335fa8[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x65===_0x5dae0e?(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x45===_0x5dae0e?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x95===_0x5dae0e?(_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e])):0x15===_0x5dae0e?(_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e])):0x56===_0x5dae0e?(_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e])):0x54===_0x5dae0e?(_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e])):0x59===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x51===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x4f92fa['push'](_0x554be6[_0x5dae0e])):0x60===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x4a===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x18===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x92===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x6===_0x5dae0e?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x4f92fa['push'](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e])):0xa4===_0x5dae0e?(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa['push'](_0x335fa8[_0x5dae0e])):0x81===_0x5dae0e?(_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa['push'](_0x554be6[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e])):0x29===_0x5dae0e?(_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e])):0x42===_0x5dae0e?(_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x68===_0x5dae0e?(_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa['push'](_0x554be6[_0x5dae0e]),_0x4f92fa['push'](_0x4e88a6[_0x5dae0e])):0x90===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x1a===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x24===_0x5dae0e?(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e])):0x86===_0x5dae0e?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e])):0x9===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa['push'](_0x463d0c[_0x5dae0e])):0xa1===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa['push'](_0x463d0c[_0x5dae0e])):0x25===_0x5dae0e?(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa['push'](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e])):0x85===_0x5dae0e?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa['push'](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e])):0x94===_0x5dae0e?(_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x16===_0x5dae0e?(_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e]),_0x4f92fa['push'](_0x354b7f[_0x5dae0e])):0x52===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x58===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x49===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x61===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e])):0x91===_0x5dae0e?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e])):0x19===_0x5dae0e?(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e])):0x46===_0x5dae0e?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa['push'](_0x335fa8[_0x5dae0e])):0x64===_0x5dae0e?(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e])):0x22===_0x5dae0e?(0x0===_0x4eb09b?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)):(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559)),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x23===_0x5dae0e?(0x4===_0x4eb09b?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)):(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559)),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x88===_0x5dae0e?(0x0===_0x4eb09b?(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559)):(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x99===_0x5dae0e?(0x0===_0x4eb09b?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559)):(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02)),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa['push'](_0x554be6[_0x5dae0e])):0x66===_0x5dae0e?(0x0===_0x4eb09b?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)):(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559)),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa['push'](_0x354b7f[_0x5dae0e])):0x9b===_0x5dae0e?(0x4===_0x4eb09b?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559)):(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02)),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x353eca[_0x5dae0e])):0x67===_0x5dae0e?(0x4===_0x4eb09b?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)):(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559)),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e])):0x98===_0x5dae0e?(0x0===_0x4eb09b?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559)):(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02)),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa['push'](_0x335fa8[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x9c===_0x5dae0e?(0x4===_0x4eb09b?(_0x3ff7f9=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x55366a=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559)):(_0x3ff7f9=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02)),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x89===_0x5dae0e?(0x0===_0x4eb09b?(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559)):(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x554be6[_0x5dae0e])):0x8b===_0x5dae0e?(0x4===_0x4eb09b?(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x527605=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559)):(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x527605=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)),_0x4f92fa['push'](_0x336e2a[_0x5dae0e]),_0x4f92fa['push'](_0x463d0c[_0x5dae0e]),_0x4f92fa['push'](_0x353eca[_0x5dae0e])):0x62===_0x5dae0e?(0x0===_0x4eb09b?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)):(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559)),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x63===_0x5dae0e?(0x4===_0x4eb09b?(_0x3ff7f9=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x3b62c2=0x1-_0x380498(_0x153447,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x153447,_0x4198ed,_0x184c89),_0x527605=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x556755=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)):(_0x3ff7f9=_0x380498(_0x153447,_0x184c89,_0x146559),_0x3b62c2=_0x380498(_0x22b0c5,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x22b0c5,_0x184c89,_0x4198ed),_0x527605=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x556755=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x153447,_0x3d7f02,_0x146559)),_0x4f92fa[_0x1a4e('0x46')](_0x336e2a[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa['push'](_0x554be6[_0x5dae0e])):0x26===_0x5dae0e?(0x0===_0x4eb09b?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)):(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559)),_0x4f92fa[_0x1a4e('0x46')](_0x463d0c[_0x5dae0e]),_0x4f92fa['push'](_0x353eca[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x27===_0x5dae0e?(0x4===_0x4eb09b?(_0x3b62c2=0x1-_0x380498(_0x22b0c5,_0x146559,_0x184c89),_0x4b8927=_0x380498(_0x22b0c5,_0x4198ed,_0x184c89),_0x162a48=_0x380498(_0x22b0c5,_0x4198ed,_0x3d7f02),_0x556755=_0x380498(_0x153447,_0x4198ed,_0x3d7f02),_0x40b220=0x1-_0x380498(_0x153447,_0x146559,_0x3d7f02),_0x55366a=0x1-_0x380498(_0x22b0c5,_0x146559,_0x3d7f02)):(_0x3b62c2=_0x380498(_0x153447,_0x184c89,_0x146559),_0x4b8927=0x1-_0x380498(_0x153447,_0x184c89,_0x4198ed),_0x162a48=0x1-_0x380498(_0x153447,_0x3d7f02,_0x4198ed),_0x556755=0x1-_0x380498(_0x22b0c5,_0x3d7f02,_0x4198ed),_0x40b220=_0x380498(_0x22b0c5,_0x3d7f02,_0x146559),_0x55366a=_0x380498(_0x153447,_0x3d7f02,_0x146559)),_0x4f92fa['push'](_0x463d0c[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x335fa8[_0x5dae0e]),_0x4f92fa[_0x1a4e('0x46')](_0x354b7f[_0x5dae0e])):0x55===_0x5dae0e&&(_0x3ff7f9=0x1,_0x3b62c2=0x0,_0x4b8927=0x1,_0x527605=0x0,_0x162a48=0x0,_0x556755=0x1,_0x40b220=0x0,_0x55366a=0x1),(_0x40b220<0x0||_0x40b220>0x1||_0x55366a<0x0||_0x55366a>0x1||_0x3ff7f9<0x0||_0x3ff7f9>0x1||_0x4b8927<0x0||_0x4b8927>0x1||_0x162a48<0x0||_0x162a48>0x1||_0x556755<0x0||_0x556755>0x1)&&console['log']('MarchingSquaresJS-isoBands:\x20'+_0x5dae0e+'\x20'+_0x41179c+'\x20'+_0x3d7f02+','+_0x146559+','+_0x184c89+','+_0x4198ed+'\x20'+_0x4eb09b+'\x20'+_0x40b220+'\x20'+_0x55366a+'\x20'+_0x3ff7f9+'\x20'+_0x3b62c2+'\x20'+_0x4b8927+'\x20'+_0x527605+'\x20'+_0x162a48+'\x20'+_0x556755),_0x234f42[_0x1a4e('0x5a')][_0x1972c2][_0x3376f9]={'cval':_0x5dae0e,'cval_real':_0x41179c,'flipped':_0x4eb09b,'topleft':_0x40b220,'topright':_0x55366a,'righttop':_0x3ff7f9,'rightbottom':_0x3b62c2,'bottomright':_0x4b8927,'bottomleft':_0x527605,'leftbottom':_0x162a48,'lefttop':_0x556755,'edges':_0x4f92fa};}}}}return _0x234f42;}(_0x5d7dad,_0x22b0c5,_0x5ac9eb);return _0x1fe0e6[_0x1a4e('0xf0')]?(_0x1fe0e6[_0x1a4e('0x57')]&&console[_0x1a4e('0x58')](_0x1a4e('0xf1')),_0x3376f9=function(_0x5d7dad){var _0x22b0c5=[],_0x5ac9eb=0x0;return _0x5d7dad[_0x1a4e('0x5a')][_0x1a4e('0x3b')](function(_0x5d7dad,_0x261805){_0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad,_0x81bc8f){if(void 0x0!==_0x5d7dad){var _0x234f42=_0x51cdbf[_0x5d7dad[_0x1a4e('0x5b')]](_0x5d7dad);_0x1a4e('0x85')==typeof _0x234f42&&_0x21c913(_0x234f42)?'object'==typeof _0x234f42[0x0]&&_0x21c913(_0x234f42[0x0])?_0x1a4e('0x85')==typeof _0x234f42[0x0][0x0]&&_0x21c913(_0x234f42[0x0][0x0])?_0x234f42['forEach'](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad[0x0]+=_0x81bc8f,_0x5d7dad[0x1]+=_0x261805;}),_0x22b0c5[_0x5ac9eb++]=_0x5d7dad;}):(_0x234f42['forEach'](function(_0x5d7dad){_0x5d7dad[0x0]+=_0x81bc8f,_0x5d7dad[0x1]+=_0x261805;}),_0x22b0c5[_0x5ac9eb++]=_0x234f42):console[_0x1a4e('0x58')]('MarchingSquaresJS-isoBands:\x20bandcell\x20polygon\x20with\x20malformed\x20coordinates'):console[_0x1a4e('0x58')](_0x1a4e('0xf2'));}});}),_0x22b0c5;}(_0x5dae0e)):(_0x1fe0e6['verbose']&&console[_0x1a4e('0x58')](_0x1a4e('0xf3')),_0x3376f9=function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf4')],_0x261805=_0x5d7dad[_0x1a4e('0x59')],_0x81bc8f=[],_0x234f42=0x0;_0x234f42<_0x5ac9eb;_0x234f42++)for(var _0x153447=0x0;_0x153447<_0x261805;_0x153447++)if(void 0x0!==_0x5d7dad['cells'][_0x234f42][_0x153447]&&_0x5d7dad[_0x1a4e('0x5a')][_0x234f42][_0x153447][_0x1a4e('0xf5')][_0x1a4e('0x1e')]>0x0){var _0x1972c2=_0x5d7dad[_0x1a4e('0x5a')][_0x234f42][_0x153447],_0x3376f9=function(_0x5d7dad){if(_0x5d7dad[_0x1a4e('0xf5')][_0x1a4e('0x1e')]>0x0){var _0x22b0c5=_0x5d7dad['edges'][_0x5d7dad[_0x1a4e('0xf5')][_0x1a4e('0x1e')]-0x1],_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf6')];switch(_0x22b0c5){case 0x0:return _0x5ac9eb&_0x269dcf?{'p':[0x1,_0x5d7dad[_0x1a4e('0xf7')]],'x':-0x1,'y':0x0,'o':0x1}:{'p':[_0x5d7dad[_0x1a4e('0xf8')],0x1],'x':0x0,'y':-0x1,'o':0x0};case 0x1:return _0x5ac9eb&_0x2e25b4?{'p':[_0x5d7dad['topleft'],0x1],'x':0x0,'y':-0x1,'o':0x0}:{'p':[0x1,_0x5d7dad[_0x1a4e('0xf9')]],'x':-0x1,'y':0x0,'o':0x0};case 0x2:return _0x5ac9eb&_0x2e25b4?{'p':[_0x5d7dad[_0x1a4e('0xfa')],0x0],'x':0x0,'y':0x1,'o':0x1}:{'p':[_0x5d7dad[_0x1a4e('0xf8')],0x1],'x':0x0,'y':-0x1,'o':0x0};case 0x3:return _0x5ac9eb&_0x449e76?{'p':[_0x5d7dad[_0x1a4e('0xf8')],0x1],'x':0x0,'y':-0x1,'o':0x0}:{'p':[_0x5d7dad['bottomleft'],0x0],'x':0x0,'y':0x1,'o':0x0};case 0x4:return _0x5ac9eb&_0x269dcf?{'p':[0x1,_0x5d7dad[_0x1a4e('0xf7')]],'x':-0x1,'y':0x0,'o':0x1}:{'p':[_0x5d7dad[_0x1a4e('0xfb')],0x1],'x':0x0,'y':-0x1,'o':0x1};case 0x5:return _0x5ac9eb&_0x2e25b4?{'p':[_0x5d7dad['topright'],0x1],'x':0x0,'y':-0x1,'o':0x1}:{'p':[0x1,_0x5d7dad[_0x1a4e('0xf9')]],'x':-0x1,'y':0x0,'o':0x0};case 0x6:return _0x5ac9eb&_0x2e25b4?{'p':[_0x5d7dad[_0x1a4e('0xfa')],0x0],'x':0x0,'y':0x1,'o':0x1}:{'p':[_0x5d7dad[_0x1a4e('0xfb')],0x1],'x':0x0,'y':-0x1,'o':0x1};case 0x7:return _0x5ac9eb&_0x449e76?{'p':[_0x5d7dad['topright'],0x1],'x':0x0,'y':-0x1,'o':0x1}:{'p':[_0x5d7dad[_0x1a4e('0xfc')],0x0],'x':0x0,'y':0x1,'o':0x0};case 0x8:return _0x5ac9eb&_0x2e25b4?{'p':[_0x5d7dad[_0x1a4e('0xfa')],0x0],'x':0x0,'y':0x1,'o':0x1}:{'p':[0x1,_0x5d7dad['righttop']],'x':-0x1,'y':0x0,'o':0x1};case 0x9:return _0x5ac9eb&_0x449e76?{'p':[0x1,_0x5d7dad[_0x1a4e('0xf7')]],'x':-0x1,'y':0x0,'o':0x1}:{'p':[_0x5d7dad[_0x1a4e('0xfc')],0x0],'x':0x0,'y':0x1,'o':0x0};case 0xa:return _0x5ac9eb&_0x449e76?{'p':[0x0,_0x5d7dad[_0x1a4e('0xfd')]],'x':0x1,'y':0x0,'o':0x0}:{'p':[0x1,_0x5d7dad['righttop']],'x':-0x1,'y':0x0,'o':0x1};case 0xb:return _0x5ac9eb&_0x3b7acf?{'p':[0x1,_0x5d7dad[_0x1a4e('0xf7')]],'x':-0x1,'y':0x0,'o':0x1}:{'p':[0x0,_0x5d7dad['lefttop']],'x':0x1,'y':0x0,'o':0x1};case 0xc:return _0x5ac9eb&_0x2e25b4?{'p':[_0x5d7dad['bottomright'],0x0],'x':0x0,'y':0x1,'o':0x1}:{'p':[0x1,_0x5d7dad[_0x1a4e('0xf9')]],'x':-0x1,'y':0x0,'o':0x0};case 0xd:return _0x5ac9eb&_0x449e76?{'p':[0x1,_0x5d7dad[_0x1a4e('0xf9')]],'x':-0x1,'y':0x0,'o':0x0}:{'p':[_0x5d7dad['bottomleft'],0x0],'x':0x0,'y':0x1,'o':0x0};case 0xe:return _0x5ac9eb&_0x449e76?{'p':[0x0,_0x5d7dad[_0x1a4e('0xfd')]],'x':0x1,'y':0x0,'o':0x0}:{'p':[0x1,_0x5d7dad[_0x1a4e('0xf9')]],'x':-0x1,'y':0x0,'o':0x0};case 0xf:return _0x5ac9eb&_0x3b7acf?{'p':[0x1,_0x5d7dad[_0x1a4e('0xf9')]],'x':-0x1,'y':0x0,'o':0x0}:{'p':[0x0,_0x5d7dad[_0x1a4e('0xfe')]],'x':0x1,'y':0x0,'o':0x1};case 0x10:return _0x5ac9eb&_0x2e25b4?{'p':[_0x5d7dad['bottomright'],0x0],'x':0x0,'y':0x1,'o':0x1}:{'p':[0x0,_0x5d7dad[_0x1a4e('0xfd')]],'x':0x1,'y':0x0,'o':0x0};case 0x11:return _0x5ac9eb&_0x3b7acf?{'p':[_0x5d7dad[_0x1a4e('0xfa')],0x0],'x':0x0,'y':0x1,'o':0x1}:{'p':[0x0,_0x5d7dad[_0x1a4e('0xfe')]],'x':0x1,'y':0x0,'o':0x1};case 0x12:return _0x5ac9eb&_0x449e76?{'p':[0x0,_0x5d7dad[_0x1a4e('0xfd')]],'x':0x1,'y':0x0,'o':0x0}:{'p':[_0x5d7dad[_0x1a4e('0xfc')],0x0],'x':0x0,'y':0x1,'o':0x0};case 0x13:return _0x5ac9eb&_0x3b7acf?{'p':[_0x5d7dad['bottomleft'],0x0],'x':0x0,'y':0x1,'o':0x0}:{'p':[0x0,_0x5d7dad[_0x1a4e('0xfe')]],'x':0x1,'y':0x0,'o':0x1};case 0x14:return _0x5ac9eb&_0x3b7acf?{'p':[_0x5d7dad[_0x1a4e('0xf8')],0x1],'x':0x0,'y':-0x1,'o':0x0}:{'p':[0x0,_0x5d7dad['leftbottom']],'x':0x1,'y':0x0,'o':0x0};case 0x15:return _0x5ac9eb&_0x269dcf?{'p':[0x0,_0x5d7dad[_0x1a4e('0xfd')]],'x':0x1,'y':0x0,'o':0x0}:{'p':[_0x5d7dad[_0x1a4e('0xfb')],0x1],'x':0x0,'y':-0x1,'o':0x1};case 0x16:return _0x5ac9eb&_0x3b7acf?{'p':[_0x5d7dad[_0x1a4e('0xf8')],0x1],'x':0x0,'y':-0x1,'o':0x0}:{'p':[0x0,_0x5d7dad['lefttop']],'x':0x1,'y':0x0,'o':0x1};case 0x17:return _0x5ac9eb&_0x269dcf?{'p':[0x0,_0x5d7dad[_0x1a4e('0xfe')]],'x':0x1,'y':0x0,'o':0x1}:{'p':[_0x5d7dad[_0x1a4e('0xfb')],0x1],'x':0x0,'y':-0x1,'o':0x1};default:console[_0x1a4e('0x58')](_0x1a4e('0xff')),console[_0x1a4e('0x58')](_0x5d7dad);}}return null;}(_0x1972c2),_0x5dae0e=null,_0x3d7f02=_0x153447,_0x146559=_0x234f42;null!==_0x3376f9&&_0x81bc8f['push']([_0x3376f9['p'][0x0]+_0x3d7f02,_0x3376f9['p'][0x1]+_0x146559]);do{if(null===(_0x5dae0e=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e=_0x5d7dad[_0x1a4e('0x5b')];switch(_0x22b0c5){case-0x1:switch(_0x261805){case 0x0:_0x81bc8f=_0x463d0c[_0x5dae0e],_0x153447=_0x42cb6b[_0x5dae0e],_0x1972c2=_0x2b5226[_0x5dae0e],_0x3376f9=_0x5f221c[_0x5dae0e];break;default:_0x81bc8f=_0x336e2a[_0x5dae0e],_0x153447=_0x38679a[_0x5dae0e],_0x1972c2=_0x584d90[_0x5dae0e],_0x3376f9=_0x3faeed[_0x5dae0e];}break;case 0x1:switch(_0x261805){case 0x0:_0x81bc8f=_0x353eca[_0x5dae0e],_0x153447=_0x16f192[_0x5dae0e],_0x1972c2=_0x6da66c[_0x5dae0e],_0x3376f9=_0x43b82d[_0x5dae0e];break;default:_0x81bc8f=_0x354b7f[_0x5dae0e],_0x153447=_0x1cced2[_0x5dae0e],_0x1972c2=_0x1cdc95[_0x5dae0e],_0x3376f9=_0x174189[_0x5dae0e];}break;default:switch(_0x5ac9eb){case-0x1:switch(_0x261805){case 0x0:_0x81bc8f=_0x4e88a6[_0x5dae0e],_0x153447=_0x37a000[_0x5dae0e],_0x1972c2=_0x355dbd[_0x5dae0e],_0x3376f9=_0x3ba198[_0x5dae0e];break;default:_0x81bc8f=_0x31aad3[_0x5dae0e],_0x153447=_0x9d6b5f[_0x5dae0e],_0x1972c2=_0x338fbf[_0x5dae0e],_0x3376f9=_0x32a802[_0x5dae0e];}break;case 0x1:switch(_0x261805){case 0x0:_0x81bc8f=_0x554be6[_0x5dae0e],_0x153447=_0xa575e5[_0x5dae0e],_0x1972c2=_0x4c116d[_0x5dae0e],_0x3376f9=_0x264e9b[_0x5dae0e];break;default:_0x81bc8f=_0x335fa8[_0x5dae0e],_0x153447=_0x5a33c6[_0x5dae0e],_0x1972c2=_0x34d6ef[_0x5dae0e],_0x3376f9=_0x1abfab[_0x5dae0e];}}}if(_0x234f42=_0x5d7dad[_0x1a4e('0xf5')][_0x1a4e('0x3e')](_0x81bc8f),void 0x0===_0x5d7dad['edges'][_0x234f42])return null;switch(function(_0x5d7dad,_0x22b0c5){delete _0x5d7dad[_0x1a4e('0xf5')][_0x22b0c5];for(var _0x5ac9eb=_0x22b0c5+0x1;_0x5ac9eb<_0x5d7dad[_0x1a4e('0xf5')][_0x1a4e('0x1e')];_0x5ac9eb++)_0x5d7dad[_0x1a4e('0xf5')][_0x5ac9eb-0x1]=_0x5d7dad[_0x1a4e('0xf5')][_0x5ac9eb];_0x5d7dad[_0x1a4e('0xf5')][_0x1a4e('0x76')]();}(_0x5d7dad,_0x234f42),_0x5dae0e=_0x5d7dad[_0x1a4e('0xf6')],_0x81bc8f){case 0x0:_0x5dae0e&_0x269dcf?(_0x22b0c5=_0x5d7dad[_0x1a4e('0xf8')],_0x5ac9eb=0x1):(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf7')]);break;case 0x1:_0x5dae0e&_0x2e25b4?(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf9')]):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xf8')],_0x5ac9eb=0x1);break;case 0x2:_0x5dae0e&_0x2e25b4?(_0x22b0c5=_0x5d7dad[_0x1a4e('0xf8')],_0x5ac9eb=0x1):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfa')],_0x5ac9eb=0x0);break;case 0x3:_0x5dae0e&_0x449e76?(_0x22b0c5=_0x5d7dad['bottomleft'],_0x5ac9eb=0x0):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xf8')],_0x5ac9eb=0x1);break;case 0x4:_0x5dae0e&_0x269dcf?(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfb')],_0x5ac9eb=0x1):(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad['righttop']);break;case 0x5:_0x5dae0e&_0x2e25b4?(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad['rightbottom']):(_0x22b0c5=_0x5d7dad['topright'],_0x5ac9eb=0x1);break;case 0x6:_0x5dae0e&_0x2e25b4?(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfb')],_0x5ac9eb=0x1):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfa')],_0x5ac9eb=0x0);break;case 0x7:_0x5dae0e&_0x449e76?(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfc')],_0x5ac9eb=0x0):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfb')],_0x5ac9eb=0x1);break;case 0x8:_0x5dae0e&_0x2e25b4?(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf7')]):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfa')],_0x5ac9eb=0x0);break;case 0x9:_0x5dae0e&_0x449e76?(_0x22b0c5=_0x5d7dad['bottomleft'],_0x5ac9eb=0x0):(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf7')]);break;case 0xa:_0x5dae0e&_0x449e76?(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf7')]):(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfd')]);break;case 0xb:_0x5dae0e&_0x3b7acf?(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfe')]):(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf7')]);break;case 0xc:_0x5dae0e&_0x2e25b4?(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf9')]):(_0x22b0c5=_0x5d7dad['bottomright'],_0x5ac9eb=0x0);break;case 0xd:_0x5dae0e&_0x449e76?(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfc')],_0x5ac9eb=0x0):(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf9')]);break;case 0xe:_0x5dae0e&_0x449e76?(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf9')]):(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfd')]);break;case 0xf:_0x5dae0e&_0x3b7acf?(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad['lefttop']):(_0x22b0c5=0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xf9')]);break;case 0x10:_0x5dae0e&_0x2e25b4?(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad['leftbottom']):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfa')],_0x5ac9eb=0x0);break;case 0x11:_0x5dae0e&_0x3b7acf?(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfe')]):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfa')],_0x5ac9eb=0x0);break;case 0x12:_0x5dae0e&_0x449e76?(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfc')],_0x5ac9eb=0x0):(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfd')]);break;case 0x13:_0x5dae0e&_0x3b7acf?(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfe')]):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfc')],_0x5ac9eb=0x0);break;case 0x14:_0x5dae0e&_0x3b7acf?(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfd')]):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xf8')],_0x5ac9eb=0x1);break;case 0x15:_0x5dae0e&_0x269dcf?(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfb')],_0x5ac9eb=0x1):(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfd')]);break;case 0x16:_0x5dae0e&_0x3b7acf?(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfe')]):(_0x22b0c5=_0x5d7dad[_0x1a4e('0xf8')],_0x5ac9eb=0x1);break;case 0x17:_0x5dae0e&_0x269dcf?(_0x22b0c5=_0x5d7dad[_0x1a4e('0xfb')],_0x5ac9eb=0x1):(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0xfe')]);break;default:return console['log'](_0x1a4e('0xff')),console[_0x1a4e('0x58')](_0x5d7dad),null;}return void 0x0!==_0x22b0c5&&void 0x0!==_0x5ac9eb&&void 0x0!==_0x153447&&void 0x0!==_0x1972c2&&void 0x0!==_0x3376f9||(console[_0x1a4e('0x58')](_0x1a4e('0x100')),console['log'](_0x5d7dad),console['log'](_0x22b0c5+'\x20'+_0x5ac9eb+'\x20'+_0x153447+'\x20'+_0x1972c2+'\x20'+_0x3376f9)),{'p':[_0x22b0c5,_0x5ac9eb],'x':_0x153447,'y':_0x1972c2,'o':_0x3376f9};}(_0x5d7dad[_0x1a4e('0x5a')][_0x146559][_0x3d7f02],_0x3376f9['x'],_0x3376f9['y'],_0x3376f9['o'])))break;if(_0x81bc8f['push']([_0x5dae0e['p'][0x0]+_0x3d7f02,_0x5dae0e['p'][0x1]+_0x146559]),_0x3d7f02+=_0x5dae0e['x'],_0x146559+=_0x5dae0e['y'],_0x3376f9=_0x5dae0e,_0x146559<0x0||_0x146559>=_0x5ac9eb||_0x3d7f02<0x0||_0x3d7f02>=_0x261805||void 0x0===_0x5d7dad[_0x1a4e('0x5a')][_0x146559][_0x3d7f02]){_0x3d7f02-=_0x5dae0e['x'],_0x146559-=_0x5dae0e['y'];var _0x184c89=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){for(var _0x153447=_0x5d7dad[_0x1a4e('0x5a')][_0x5ac9eb][_0x22b0c5],_0x1972c2=_0x153447['cval_real'],_0x3376f9=_0x22b0c5+_0x261805,_0x5dae0e=_0x5ac9eb+_0x81bc8f,_0x3d7f02=[],_0x146559=!0x1;!_0x146559;){if(void 0x0===_0x5d7dad['cells'][_0x5dae0e]||void 0x0===_0x5d7dad[_0x1a4e('0x5a')][_0x5dae0e][_0x3376f9])if(_0x5dae0e-=_0x81bc8f,_0x3376f9-=_0x261805,_0x153447=_0x5d7dad['cells'][_0x5dae0e][_0x3376f9],_0x1972c2=_0x153447[_0x1a4e('0xf6')],-0x1===_0x81bc8f)if(0x0===_0x234f42)if(_0x1972c2&_0x449e76)_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9,_0x5dae0e]),_0x261805=-0x1,_0x81bc8f=0x0,_0x234f42=0x0;else{if(!(_0x1972c2&_0x2e25b4)){_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+_0x153447[_0x1a4e('0xfa')],_0x5dae0e]),_0x261805=0x0,_0x81bc8f=0x1,_0x234f42=0x1,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+0x1,_0x5dae0e]),_0x261805=0x1,_0x81bc8f=0x0,_0x234f42=0x0;}else{if(!(_0x1972c2&_0x449e76)){if(_0x1972c2&_0x2e25b4){_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+_0x153447[_0x1a4e('0xfa')],_0x5dae0e]),_0x261805=0x0,_0x81bc8f=0x1,_0x234f42=0x1,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+_0x153447[_0x1a4e('0xfc')],_0x5dae0e]),_0x261805=0x0,_0x81bc8f=0x1,_0x234f42=0x0,_0x146559=!0x0;break;}_0x3d7f02['push']([_0x3376f9,_0x5dae0e]),_0x261805=-0x1,_0x81bc8f=0x0,_0x234f42=0x0;}else if(0x1===_0x81bc8f)if(0x0===_0x234f42){if(!(_0x1972c2&_0x269dcf)){if(_0x1972c2&_0x3b7acf){_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+_0x153447[_0x1a4e('0xf8')],_0x5dae0e+0x1]),_0x261805=0x0,_0x81bc8f=-0x1,_0x234f42=0x0,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+_0x153447[_0x1a4e('0xfb')],_0x5dae0e+0x1]),_0x261805=0x0,_0x81bc8f=-0x1,_0x234f42=0x1,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+0x1,_0x5dae0e+0x1]),_0x261805=0x1,_0x81bc8f=0x0,_0x234f42=0x1;}else _0x3d7f02['push']([_0x3376f9+0x1,_0x5dae0e+0x1]),_0x261805=0x1,_0x81bc8f=0x0,_0x234f42=0x1;else if(-0x1===_0x261805)if(0x0===_0x234f42){if(!(_0x1972c2&_0x3b7acf)){if(_0x1972c2&_0x449e76){_0x3d7f02['push']([_0x3376f9,_0x5dae0e+_0x153447[_0x1a4e('0xfd')]]),_0x261805=0x1,_0x81bc8f=0x0,_0x234f42=0x0,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9,_0x5dae0e+_0x153447[_0x1a4e('0xfe')]]),_0x261805=0x1,_0x81bc8f=0x0,_0x234f42=0x1,_0x146559=!0x0;break;}_0x3d7f02['push']([_0x3376f9,_0x5dae0e+0x1]),_0x261805=0x0,_0x81bc8f=0x1,_0x234f42=0x0;}else{if(!(_0x1972c2&_0x3b7acf)){console[_0x1a4e('0x58')]('MarchingSquaresJS-isoBands:\x20wtf');break;}_0x3d7f02['push']([_0x3376f9,_0x5dae0e+0x1]),_0x261805=0x0,_0x81bc8f=0x1,_0x234f42=0x0;}else{if(0x1!==_0x261805){console[_0x1a4e('0x58')]('MarchingSquaresJS-isoBands:\x20we\x20came\x20from\x20nowhere!');break;}if(0x0===_0x234f42){if(!(_0x1972c2&_0x2e25b4)){_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+0x1,_0x5dae0e+_0x153447['rightbottom']]),_0x261805=-0x1,_0x81bc8f=0x0,_0x234f42=0x0,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+0x1,_0x5dae0e]),_0x261805=0x0,_0x81bc8f=-0x1,_0x234f42=0x1;}else{if(!(_0x1972c2&_0x2e25b4)){if(_0x1972c2&_0x269dcf){_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+0x1,_0x5dae0e+_0x153447[_0x1a4e('0xf7')]]),_0x261805=-0x1,_0x81bc8f=0x0,_0x234f42=0x1;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+0x1,_0x5dae0e+_0x153447['rightbottom']]),_0x261805=-0x1,_0x81bc8f=0x0,_0x234f42=0x0,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+0x1,_0x5dae0e]),_0x261805=0x0,_0x81bc8f=-0x1,_0x234f42=0x1;}}else if(_0x153447=_0x5d7dad[_0x1a4e('0x5a')][_0x5dae0e][_0x3376f9],_0x1972c2=_0x153447[_0x1a4e('0xf6')],-0x1===_0x261805)if(0x0===_0x234f42)if(void 0x0!==_0x5d7dad['cells'][_0x5dae0e-0x1]&&void 0x0!==_0x5d7dad[_0x1a4e('0x5a')][_0x5dae0e-0x1][_0x3376f9])_0x261805=0x0,_0x81bc8f=-0x1,_0x234f42=0x1;else{if(!(_0x1972c2&_0x449e76)){_0x3d7f02['push']([_0x3376f9+_0x153447[_0x1a4e('0xfa')],_0x5dae0e]),_0x261805=0x0,_0x81bc8f=0x1,_0x234f42=0x1,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9,_0x5dae0e]);}else{if(!(_0x1972c2&_0x3b7acf)){console[_0x1a4e('0x58')](_0x1a4e('0x101')+_0x3376f9+','+_0x5dae0e);break;}console[_0x1a4e('0x58')]('MarchingSquaresJS-isoBands:\x20proceeding\x20in\x20x-direction!');}else if(0x1===_0x261805){if(0x0===_0x234f42){console[_0x1a4e('0x58')](_0x1a4e('0x102'));break;}if(void 0x0!==_0x5d7dad[_0x1a4e('0x5a')][_0x5dae0e+0x1]&&void 0x0!==_0x5d7dad[_0x1a4e('0x5a')][_0x5dae0e+0x1][_0x3376f9])_0x261805=0x0,_0x81bc8f=0x1,_0x234f42=0x0;else{if(!(_0x1972c2&_0x269dcf)){_0x3d7f02['push']([_0x3376f9+_0x153447[_0x1a4e('0xf8')],_0x5dae0e+0x1]),_0x261805=0x0,_0x81bc8f=-0x1,_0x234f42=0x0,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+0x1,_0x5dae0e+0x1]),_0x261805=0x1,_0x81bc8f=0x0,_0x234f42=0x1;}}else if(-0x1===_0x81bc8f){if(0x1!==_0x234f42){console[_0x1a4e('0x58')](_0x1a4e('0x102'));break;}if(void 0x0!==_0x5d7dad[_0x1a4e('0x5a')][_0x5dae0e][_0x3376f9+0x1])_0x261805=0x1,_0x81bc8f=0x0,_0x234f42=0x1;else{if(!(_0x1972c2&_0x2e25b4)){_0x3d7f02['push']([_0x3376f9+0x1,_0x5dae0e+_0x153447[_0x1a4e('0xf7')]]),_0x261805=-0x1,_0x81bc8f=0x0,_0x234f42=0x1,_0x146559=!0x0;break;}_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9+0x1,_0x5dae0e]),_0x261805=0x0,_0x81bc8f=-0x1,_0x234f42=0x1;}}else{if(0x1!==_0x81bc8f){console[_0x1a4e('0x58')](_0x1a4e('0x103'));break;}if(0x0!==_0x234f42){console['log'](_0x1a4e('0x102'));break;}if(void 0x0!==_0x5d7dad[_0x1a4e('0x5a')][_0x5dae0e][_0x3376f9-0x1])_0x261805=-0x1,_0x81bc8f=0x0,_0x234f42=0x0;else{if(!(_0x1972c2&_0x3b7acf)){_0x3d7f02[_0x1a4e('0x46')]([_0x3376f9,_0x5dae0e+_0x153447[_0x1a4e('0xfd')]]),_0x261805=0x1,_0x81bc8f=0x0,_0x234f42=0x0,_0x146559=!0x0;break;}_0x3d7f02['push']([_0x3376f9,_0x5dae0e+0x1]),_0x261805=0x0,_0x81bc8f=0x1,_0x234f42=0x0;}}if(_0x5dae0e+=_0x81bc8f,(_0x3376f9+=_0x261805)===_0x22b0c5&&_0x5dae0e===_0x5ac9eb)break;}return{'path':_0x3d7f02,'i':_0x3376f9,'j':_0x5dae0e,'x':_0x261805,'y':_0x81bc8f,'o':_0x234f42};}(_0x5d7dad,_0x3d7f02,_0x146559,_0x5dae0e['x'],_0x5dae0e['y'],_0x5dae0e['o']);if(null===_0x184c89)break;_0x184c89[_0x1a4e('0x64')][_0x1a4e('0x3b')](function(_0x5d7dad){_0x81bc8f[_0x1a4e('0x46')](_0x5d7dad);}),_0x3d7f02=_0x184c89['i'],_0x146559=_0x184c89['j'],_0x3376f9=_0x184c89;}}while(void 0x0!==_0x5d7dad['cells'][_0x146559][_0x3d7f02]&&_0x5d7dad['cells'][_0x146559][_0x3d7f02]['edges']['length']>0x0);_0x22b0c5[_0x1a4e('0x46')](_0x81bc8f),_0x81bc8f=[],_0x5d7dad[_0x1a4e('0x5a')][_0x234f42][_0x153447]['edges']['length']>0x0&&_0x153447--;}return _0x22b0c5;}(_0x5dae0e)),_0x1a4e('0x68')==typeof _0x1fe0e6[_0x1a4e('0x69')]&&_0x1fe0e6[_0x1a4e('0x69')](_0x3376f9),_0x3376f9;}function _0x380498(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return(_0x5d7dad-_0x22b0c5)/(_0x5ac9eb-_0x22b0c5);}function _0x21c913(_0x5d7dad){return _0x5d7dad['constructor'][_0x1a4e('0x95')]()[_0x1a4e('0x3e')](_0x1a4e('0x104'))>-0x1;}function _0x2625d1(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error('options\x20is\x20invalid');var _0x261805=_0x5ac9eb[_0x1a4e('0x105')],_0x81bc8f=_0x5ac9eb['mutate'];if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));if(null==_0x22b0c5||isNaN(_0x22b0c5))throw new Error(_0x1a4e('0x106'));return 0x0===_0x22b0c5?_0x5d7dad:(_0x261805||(_0x261805=_0x5d657f(_0x5d7dad)),!0x1!==_0x81bc8f&&void 0x0!==_0x81bc8f||(_0x5d7dad=_0x1cc0eb(_0x5d7dad)),_0x40eeaf(_0x5d7dad,function(_0x5d7dad){var _0x5ac9eb=_0x27474b(_0x261805,_0x5d7dad)+_0x22b0c5,_0x81bc8f=_0xf48859(_0x261805,_0x5d7dad),_0x234f42=_0x2a976f(_0x2a819c(_0x261805,_0x81bc8f,_0x5ac9eb));_0x5d7dad[0x0]=_0x234f42[0x0],_0x5d7dad[0x1]=_0x234f42[0x1];}),_0x5d7dad);}function _0x363202(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error('options\x20is\x20invalid');var _0x261805=_0x5ac9eb[_0x1a4e('0x107')],_0x81bc8f=_0x5ac9eb['mutate'];if(!_0x5d7dad)throw new Error(_0x1a4e('0x108'));if('number'!=typeof _0x22b0c5||0x0===_0x22b0c5)throw new Error(_0x1a4e('0x109'));var _0x234f42=Array[_0x1a4e('0x15')](_0x261805)||'object'==typeof _0x261805;return!0x0!==_0x81bc8f&&(_0x5d7dad=_0x1cc0eb(_0x5d7dad)),_0x1a4e('0x41')!==_0x5d7dad[_0x1a4e('0x40')]||_0x234f42?_0x2d1ef6(_0x5d7dad,_0x22b0c5,_0x261805):(_0x1494e6(_0x5d7dad,function(_0x5ac9eb,_0x81bc8f){_0x5d7dad[_0x1a4e('0x25')][_0x81bc8f]=_0x2d1ef6(_0x5ac9eb,_0x22b0c5,_0x261805);}),_0x5d7dad);}function _0x2d1ef6(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x81bc8f=_0x1a4e('0x17')===_0x9463e6(_0x5d7dad);return _0x5ac9eb=function(_0x5d7dad,_0x22b0c5){if(null!=_0x22b0c5||(_0x22b0c5=_0x1a4e('0x10a')),Array['isArray'](_0x22b0c5)||_0x1a4e('0x85')==typeof _0x22b0c5)return _0x52d3d8(_0x22b0c5);var _0x5ac9eb=_0x5d7dad['bbox']?_0x5d7dad[_0x1a4e('0xe')]:_0x3c3785(_0x5d7dad),_0x81bc8f=_0x5ac9eb[0x0],_0x234f42=_0x5ac9eb[0x1],_0x153447=_0x5ac9eb[0x2],_0x1972c2=_0x5ac9eb[0x3];switch(_0x22b0c5){case'sw':case'southwest':case _0x1a4e('0x10b'):case _0x1a4e('0xfc'):return _0x261805([_0x81bc8f,_0x234f42]);case'se':case _0x1a4e('0x10c'):case _0x1a4e('0x10d'):case'bottomright':return _0x261805([_0x153447,_0x234f42]);case'nw':case _0x1a4e('0x10e'):case'westnorth':case _0x1a4e('0xf8'):return _0x261805([_0x81bc8f,_0x1972c2]);case'ne':case _0x1a4e('0x10f'):case _0x1a4e('0x110'):case _0x1a4e('0xfb'):return _0x261805([_0x153447,_0x1972c2]);case _0x1a4e('0x111'):return _0x26cbca(_0x5d7dad);case void 0x0:case null:case'centroid':return _0x5d657f(_0x5d7dad);default:throw new Error(_0x1a4e('0x112'));}}(_0x5d7dad,_0x5ac9eb),0x1===_0x22b0c5||_0x81bc8f?_0x5d7dad:(_0x40eeaf(_0x5d7dad,function(_0x5d7dad){var _0x261805=_0xf48859(_0x5ac9eb,_0x5d7dad),_0x81bc8f=_0x27474b(_0x5ac9eb,_0x5d7dad),_0x234f42=_0x2a976f(_0x2a819c(_0x5ac9eb,_0x261805*_0x22b0c5,_0x81bc8f));_0x5d7dad[0x0]=_0x234f42[0x0],_0x5d7dad[0x1]=_0x234f42[0x1],0x3===_0x5d7dad[_0x1a4e('0x1e')]&&(_0x5d7dad[0x2]*=_0x22b0c5);}),_0x5d7dad);}function _0x541b1f(_0x5d7dad){var _0x22b0c5=_0x5d7dad[0x0],_0x5ac9eb=_0x5d7dad[0x1];return[_0x5ac9eb[0x0]-_0x22b0c5[0x0],_0x5ac9eb[0x1]-_0x22b0c5[0x1]];}function _0x321c51(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]*_0x22b0c5[0x1]-_0x22b0c5[0x0]*_0x5d7dad[0x1];}function _0x232293(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=[],_0x81bc8f=_0x40b220(_0x22b0c5,_0x5ac9eb),_0x234f42=_0x2a976f(_0x5d7dad),_0x153447=[];return _0x234f42[_0x1a4e('0x3b')](function(_0x5d7dad,_0x22b0c5){if(_0x22b0c5!==_0x234f42[_0x1a4e('0x1e')]-0x1){var _0x5ac9eb=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=Math[_0x1a4e('0x91')]((_0x5d7dad[0x0]-_0x22b0c5[0x0])*(_0x5d7dad[0x0]-_0x22b0c5[0x0])+(_0x5d7dad[0x1]-_0x22b0c5[0x1])*(_0x5d7dad[0x1]-_0x22b0c5[0x1])),_0x81bc8f=_0x5d7dad[0x0]+_0x5ac9eb*(_0x22b0c5[0x1]-_0x5d7dad[0x1])/_0x261805,_0x234f42=_0x22b0c5[0x0]+_0x5ac9eb*(_0x22b0c5[0x1]-_0x5d7dad[0x1])/_0x261805,_0x153447=_0x5d7dad[0x1]+_0x5ac9eb*(_0x5d7dad[0x0]-_0x22b0c5[0x0])/_0x261805,_0x1972c2=_0x22b0c5[0x1]+_0x5ac9eb*(_0x5d7dad[0x0]-_0x22b0c5[0x0])/_0x261805;return[[_0x81bc8f,_0x153447],[_0x234f42,_0x1972c2]];}(_0x5d7dad,_0x234f42[_0x22b0c5+0x1],_0x81bc8f);if(_0x261805['push'](_0x5ac9eb),_0x22b0c5>0x0){var _0x1972c2=_0x261805[_0x22b0c5-0x1],_0x3376f9=function(_0x5d7dad,_0x22b0c5){return!function(_0x5d7dad,_0x22b0c5){return 0x0===_0x321c51(_0x541b1f(_0x5d7dad),_0x541b1f(_0x22b0c5));}(_0x5d7dad,_0x22b0c5)&&function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[0x0],_0x261805=_0x541b1f(_0x5d7dad),_0x81bc8f=_0x22b0c5[0x0],_0x234f42=_0x541b1f(_0x22b0c5),_0x153447=_0x321c51(_0x261805,_0x234f42);return function(_0x5d7dad,_0x22b0c5){return[_0x5d7dad[0x0]+_0x22b0c5[0x0],_0x5d7dad[0x1]+_0x22b0c5[0x1]];}(_0x5ac9eb,function(_0x5d7dad,_0x22b0c5){return[_0x5d7dad*_0x22b0c5[0x0],_0x5d7dad*_0x22b0c5[0x1]];}(_0x321c51(function(_0x5d7dad,_0x22b0c5){return[_0x5d7dad[0x0]-_0x22b0c5[0x0],_0x5d7dad[0x1]-_0x22b0c5[0x1]];}(_0x81bc8f,_0x5ac9eb),_0x234f42)/_0x153447,_0x261805));}(_0x5d7dad,_0x22b0c5);}(_0x5ac9eb,_0x1972c2);!0x1!==_0x3376f9&&(_0x1972c2[0x1]=_0x3376f9,_0x5ac9eb[0x0]=_0x3376f9),_0x153447[_0x1a4e('0x46')](_0x1972c2[0x0]),_0x22b0c5===_0x234f42[_0x1a4e('0x1e')]-0x2&&(_0x153447['push'](_0x5ac9eb[0x0]),_0x153447[_0x1a4e('0x46')](_0x5ac9eb[0x1]));}0x2===_0x234f42['length']&&(_0x153447[_0x1a4e('0x46')](_0x5ac9eb[0x0]),_0x153447[_0x1a4e('0x46')](_0x5ac9eb[0x1]));}}),_0x1972c2(_0x153447,_0x5d7dad['properties']);}function _0x5b6f5d(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5[0x0]-_0x5d7dad[0x0],_0x81bc8f=_0x22b0c5[0x1]-_0x5d7dad[0x1],_0x234f42=_0x5ac9eb[0x0]-_0x22b0c5[0x0],_0x153447=_0x5ac9eb[0x1]-_0x22b0c5[0x1];return Math[_0x1a4e('0x113')](_0x261805*_0x153447-_0x234f42*_0x81bc8f);}function _0x54ff16(_0x5d7dad,_0x22b0c5){return _0x22b0c5['geometry'][_0x1a4e('0x43')][0x0][_0x1a4e('0x114')](function(_0x22b0c5){return _0xf47c44(_0x261805(_0x22b0c5),_0x5d7dad);});}function _0x2f1a67(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['coordinates'][_0x1a4e('0x1e')]-0x1;_0x5ac9eb++)if(function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb[0x0]-_0x5d7dad[0x0],_0x81bc8f=_0x5ac9eb[0x1]-_0x5d7dad[0x1],_0x234f42=_0x22b0c5[0x0]-_0x5d7dad[0x0],_0x153447=_0x22b0c5[0x1]-_0x5d7dad[0x1];return _0x261805*_0x153447-_0x81bc8f*_0x234f42==0x0&&(Math[_0x1a4e('0x65')](_0x234f42)>=Math[_0x1a4e('0x65')](_0x153447)?_0x234f42>0x0?_0x5d7dad[0x0]<=_0x5ac9eb[0x0]&&_0x5ac9eb[0x0]<=_0x22b0c5[0x0]:_0x22b0c5[0x0]<=_0x5ac9eb[0x0]&&_0x5ac9eb[0x0]<=_0x5d7dad[0x0]:_0x153447>0x0?_0x5d7dad[0x1]<=_0x5ac9eb[0x1]&&_0x5ac9eb[0x1]<=_0x22b0c5[0x1]:_0x22b0c5[0x1]<=_0x5ac9eb[0x1]&&_0x5ac9eb[0x1]<=_0x5d7dad[0x1]);}(_0x5d7dad[_0x1a4e('0x43')][_0x5ac9eb],_0x5d7dad[_0x1a4e('0x43')][_0x5ac9eb+0x1],_0x22b0c5[_0x1a4e('0x43')]))return!0x0;return!0x1;}function _0x18db26(_0x5d7dad,_0x22b0c5){return _0x1ab672(_0x22b0c5,_0x469040(_0x5d7dad))[_0x1a4e('0x25')][_0x1a4e('0x1e')]>0x0;}function _0x41cc13(_0x5d7dad,_0x22b0c5){return!(_0x5d7dad[0x0]>_0x22b0c5[0x0]||_0x5d7dad[0x2]<_0x22b0c5[0x2]||_0x5d7dad[0x1]>_0x22b0c5[0x1]||_0x5d7dad[0x3]<_0x22b0c5[0x3]);}function _0x3d644f(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]===_0x22b0c5[0x0]&&_0x5d7dad[0x1]===_0x22b0c5[0x1];}function _0x54d8db(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=!0x1,_0x261805=!0x1,_0x81bc8f=_0x5d7dad['coordinates'][_0x1a4e('0x1e')],_0x234f42=0x0;_0x234f42<_0x81bc8f&&!_0x5ac9eb&&!_0x261805;){for(var _0x153447=0x0;_0x153447<_0x22b0c5[_0x1a4e('0x43')]['length']-0x1;_0x153447++){var _0x1972c2=!0x0;0x0!==_0x153447&&_0x153447!==_0x22b0c5['coordinates']['length']-0x2||(_0x1972c2=!0x1),_0x50b387(_0x22b0c5['coordinates'][_0x153447],_0x22b0c5['coordinates'][_0x153447+0x1],_0x5d7dad[_0x1a4e('0x43')][_0x234f42],_0x1972c2)?_0x5ac9eb=!0x0:_0x261805=!0x0;}_0x234f42++;}return _0x5ac9eb&&_0x261805;}function _0x921215(_0x5d7dad,_0x22b0c5){return _0x1ab672(_0x5d7dad,_0x469040(_0x22b0c5))[_0x1a4e('0x25')]['length']>0x0;}function _0x55fe39(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=!0x1,_0x81bc8f=!0x1,_0x234f42=_0x5d7dad[_0x1a4e('0x43')][0x0][_0x1a4e('0x1e')],_0x153447=0x0;_0x153447<_0x234f42&&_0x5ac9eb&&_0x81bc8f;)_0xf47c44(_0x261805(_0x5d7dad[_0x1a4e('0x43')][0x0][_0x153447]),_0x22b0c5)?_0x5ac9eb=!0x0:_0x81bc8f=!0x0,_0x153447++;return _0x81bc8f&&_0x81bc8f;}function _0x50b387(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5ac9eb[0x0]-_0x5d7dad[0x0],_0x234f42=_0x5ac9eb[0x1]-_0x5d7dad[0x1],_0x153447=_0x22b0c5[0x0]-_0x5d7dad[0x0],_0x1972c2=_0x22b0c5[0x1]-_0x5d7dad[0x1];return 0x0==_0x81bc8f*_0x1972c2-_0x234f42*_0x153447&&(_0x261805?Math[_0x1a4e('0x65')](_0x153447)>=Math[_0x1a4e('0x65')](_0x1972c2)?_0x153447>0x0?_0x5d7dad[0x0]<=_0x5ac9eb[0x0]&&_0x5ac9eb[0x0]<=_0x22b0c5[0x0]:_0x22b0c5[0x0]<=_0x5ac9eb[0x0]&&_0x5ac9eb[0x0]<=_0x5d7dad[0x0]:_0x1972c2>0x0?_0x5d7dad[0x1]<=_0x5ac9eb[0x1]&&_0x5ac9eb[0x1]<=_0x22b0c5[0x1]:_0x22b0c5[0x1]<=_0x5ac9eb[0x1]&&_0x5ac9eb[0x1]<=_0x5d7dad[0x1]:Math[_0x1a4e('0x65')](_0x153447)>=Math['abs'](_0x1972c2)?_0x153447>0x0?_0x5d7dad[0x0]<_0x5ac9eb[0x0]&&_0x5ac9eb[0x0]<_0x22b0c5[0x0]:_0x22b0c5[0x0]<_0x5ac9eb[0x0]&&_0x5ac9eb[0x0]<_0x5d7dad[0x0]:_0x1972c2>0x0?_0x5d7dad[0x1]<_0x5ac9eb[0x1]&&_0x5ac9eb[0x1]<_0x22b0c5[0x1]:_0x22b0c5[0x1]<_0x5ac9eb[0x1]&&_0x5ac9eb[0x1]<_0x5d7dad[0x1]);}function _0x255668(_0x5d7dad){return _0x5d7dad['coordinates'][_0x1a4e('0x21')](function(_0x22b0c5){return{'type':_0x5d7dad[_0x1a4e('0x40')][_0x1a4e('0x115')](_0x1a4e('0x116'),''),'coordinates':_0x22b0c5};});}function _0x576d7a(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0xb')]('coordinates')?_0x5d7dad[_0x1a4e('0x43')][_0x1a4e('0x1e')]===_0x22b0c5['coordinates'][_0x1a4e('0x1e')]:_0x5d7dad[_0x1a4e('0x1e')]===_0x22b0c5[_0x1a4e('0x1e')];}function _0x533621(_0x5d7dad,_0x22b0c5){return _0x34d82b(_0x5d7dad,_0x22b0c5,{'strict':!0x0});}function _0x350078(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)throw new Error(_0x1a4e('0x117'));if(!_0x22b0c5)throw new Error(_0x1a4e('0x118'));var _0x5ac9eb=_0x9463e6(_0x5d7dad);if(_0x5ac9eb!==_0x9463e6(_0x22b0c5))throw new Error(_0x1a4e('0x119'));if('Point'===_0x5ac9eb)throw new Error(_0x1a4e('0x11a'));if(new _0x5e967f({'precision':0x6})[_0x1a4e('0x77')](_0x5d7dad,_0x22b0c5))return!0x1;var _0x261805=0x0;switch(_0x5ac9eb){case _0x1a4e('0x1a'):var _0x81bc8f=_0x4412c5(_0x5d7dad),_0x234f42=_0x4412c5(_0x22b0c5);_0x81bc8f['forEach'](function(_0x5d7dad){_0x234f42['forEach'](function(_0x22b0c5){_0x5d7dad[0x0]===_0x22b0c5[0x0]&&_0x5d7dad[0x1]===_0x22b0c5[0x1]&&_0x261805++;});});break;case'LineString':case _0x1a4e('0x1b'):_0x5b37a5(_0x5d7dad,function(_0x5d7dad){_0x5b37a5(_0x22b0c5,function(_0x22b0c5){_0x416151(_0x5d7dad,_0x22b0c5)[_0x1a4e('0x25')][_0x1a4e('0x1e')]&&_0x261805++;});});break;case _0x1a4e('0x19'):case'MultiPolygon':_0x5b37a5(_0x5d7dad,function(_0x5d7dad){_0x5b37a5(_0x22b0c5,function(_0x22b0c5){_0x1ab672(_0x5d7dad,_0x22b0c5)[_0x1a4e('0x25')]['length']&&_0x261805++;});});}return _0x261805>0x0;}function _0x448b63(_0x5d7dad,_0x22b0c5,_0x5ac9eb){_0x5ac9eb=_0x5ac9eb||[];for(var _0x261805=0x0;_0x261805<_0x5d7dad;_0x261805++)_0x5ac9eb[_0x261805]=_0x22b0c5;return _0x5ac9eb;}function _0x554ee9(_0x5d7dad,_0x22b0c5){if(_0x5d7dad[_0x1a4e('0x18')]&&_0x5d7dad['geometry'][_0x1a4e('0x40')])return _0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')];if(_0x5d7dad[_0x1a4e('0x40')])return _0x5d7dad[_0x1a4e('0x40')];throw new Error(_0x1a4e('0x11b')+_0x22b0c5);}function _0x111b2d(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad,_0x5ac9eb=[];_0x22b0c5[_0x1a4e('0x11c')];)_0x5ac9eb[_0x1a4e('0x66')](_0x22b0c5),_0x22b0c5=_0x22b0c5[_0x1a4e('0x11c')];return _0x5ac9eb;}function _0x5506bd(_0x5d7dad,_0x22b0c5){_0x22b0c5=_0x22b0c5||{},this[_0x1a4e('0x11d')]=[],this[_0x1a4e('0x11e')]=!!_0x22b0c5[_0x1a4e('0x11e')],this[_0x1a4e('0x11f')]=[];for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['length'];_0x5ac9eb++){this[_0x1a4e('0x11f')][_0x5ac9eb]=[];for(var _0x261805=0x0,_0x81bc8f=_0x5d7dad[_0x5ac9eb];_0x261805<_0x81bc8f[_0x1a4e('0x1e')];_0x261805++){var _0x234f42=new _0x485dba(_0x5ac9eb,_0x261805,_0x81bc8f[_0x261805]);this[_0x1a4e('0x11f')][_0x5ac9eb][_0x261805]=_0x234f42,this[_0x1a4e('0x11d')]['push'](_0x234f42);}}this['init']();}function _0x485dba(_0x5d7dad,_0x22b0c5,_0x5ac9eb){this['x']=_0x5d7dad,this['y']=_0x22b0c5,this['weight']=_0x5ac9eb;}function _0x15da71(_0x5d7dad){this[_0x1a4e('0x120')]=[],this[_0x1a4e('0x121')]=_0x5d7dad;}function _0x3fb554(_0x5d7dad){return _0x5d7dad[0x0];}function _0x3e6ea0(_0x5d7dad){return _0x5d7dad[0x1];}function _0x18981f(){this['_']=null;}function _0x2ee8dd(_0x5d7dad){_0x5d7dad['U']=_0x5d7dad['C']=_0x5d7dad['L']=_0x5d7dad['R']=_0x5d7dad['P']=_0x5d7dad['N']=null;}function _0x5cb659(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x22b0c5,_0x261805=_0x22b0c5['R'],_0x81bc8f=_0x5ac9eb['U'];_0x81bc8f?_0x81bc8f['L']===_0x5ac9eb?_0x81bc8f['L']=_0x261805:_0x81bc8f['R']=_0x261805:_0x5d7dad['_']=_0x261805,_0x261805['U']=_0x81bc8f,_0x5ac9eb['U']=_0x261805,_0x5ac9eb['R']=_0x261805['L'],_0x5ac9eb['R']&&(_0x5ac9eb['R']['U']=_0x5ac9eb),_0x261805['L']=_0x5ac9eb;}function _0x57d3a9(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x22b0c5,_0x261805=_0x22b0c5['L'],_0x81bc8f=_0x5ac9eb['U'];_0x81bc8f?_0x81bc8f['L']===_0x5ac9eb?_0x81bc8f['L']=_0x261805:_0x81bc8f['R']=_0x261805:_0x5d7dad['_']=_0x261805,_0x261805['U']=_0x81bc8f,_0x5ac9eb['U']=_0x261805,_0x5ac9eb['L']=_0x261805['R'],_0x5ac9eb['L']&&(_0x5ac9eb['L']['U']=_0x5ac9eb),_0x261805['R']=_0x5ac9eb;}function _0x216ac2(_0x5d7dad){for(;_0x5d7dad['L'];)_0x5d7dad=_0x5d7dad['L'];return _0x5d7dad;}function _0x3d9268(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=[null,null],_0x234f42=_0x43cfc2[_0x1a4e('0x46')](_0x81bc8f)-0x1;return _0x81bc8f[_0x1a4e('0x5f')]=_0x5d7dad,_0x81bc8f[_0x1a4e('0x5d')]=_0x22b0c5,_0x5ac9eb&&_0x4ff282(_0x81bc8f,_0x5d7dad,_0x22b0c5,_0x5ac9eb),_0x261805&&_0x4ff282(_0x81bc8f,_0x22b0c5,_0x5d7dad,_0x261805),_0x3d2c5f[_0x5d7dad[_0x1a4e('0xbd')]][_0x1a4e('0x122')]['push'](_0x234f42),_0x3d2c5f[_0x22b0c5[_0x1a4e('0xbd')]][_0x1a4e('0x122')][_0x1a4e('0x46')](_0x234f42),_0x81bc8f;}function _0x13e708(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=[_0x22b0c5,_0x5ac9eb];return _0x261805[_0x1a4e('0x5f')]=_0x5d7dad,_0x261805;}function _0x4ff282(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){_0x5d7dad[0x0]||_0x5d7dad[0x1]?_0x5d7dad[_0x1a4e('0x5f')]===_0x5ac9eb?_0x5d7dad[0x1]=_0x261805:_0x5d7dad[0x0]=_0x261805:(_0x5d7dad[0x0]=_0x261805,_0x5d7dad[_0x1a4e('0x5f')]=_0x22b0c5,_0x5d7dad[_0x1a4e('0x5d')]=_0x5ac9eb);}function _0x597408(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42,_0x153447=_0x5d7dad[0x0],_0x1972c2=_0x5d7dad[0x1],_0x3376f9=_0x153447[0x0],_0x5dae0e=_0x153447[0x1],_0x3d7f02=0x0,_0x146559=0x1,_0x184c89=_0x1972c2[0x0]-_0x3376f9,_0x4198ed=_0x1972c2[0x1]-_0x5dae0e;if(_0x234f42=_0x22b0c5-_0x3376f9,_0x184c89||!(_0x234f42>0x0)){if(_0x234f42/=_0x184c89,_0x184c89<0x0){if(_0x234f42<_0x3d7f02)return;_0x234f42<_0x146559&&(_0x146559=_0x234f42);}else if(_0x184c89>0x0){if(_0x234f42>_0x146559)return;_0x234f42>_0x3d7f02&&(_0x3d7f02=_0x234f42);}if(_0x234f42=_0x261805-_0x3376f9,_0x184c89||!(_0x234f42<0x0)){if(_0x234f42/=_0x184c89,_0x184c89<0x0){if(_0x234f42>_0x146559)return;_0x234f42>_0x3d7f02&&(_0x3d7f02=_0x234f42);}else if(_0x184c89>0x0){if(_0x234f42<_0x3d7f02)return;_0x234f42<_0x146559&&(_0x146559=_0x234f42);}if(_0x234f42=_0x5ac9eb-_0x5dae0e,_0x4198ed||!(_0x234f42>0x0)){if(_0x234f42/=_0x4198ed,_0x4198ed<0x0){if(_0x234f42<_0x3d7f02)return;_0x234f42<_0x146559&&(_0x146559=_0x234f42);}else if(_0x4198ed>0x0){if(_0x234f42>_0x146559)return;_0x234f42>_0x3d7f02&&(_0x3d7f02=_0x234f42);}if(_0x234f42=_0x81bc8f-_0x5dae0e,_0x4198ed||!(_0x234f42<0x0)){if(_0x234f42/=_0x4198ed,_0x4198ed<0x0){if(_0x234f42>_0x146559)return;_0x234f42>_0x3d7f02&&(_0x3d7f02=_0x234f42);}else if(_0x4198ed>0x0){if(_0x234f42<_0x3d7f02)return;_0x234f42<_0x146559&&(_0x146559=_0x234f42);}return!(_0x3d7f02>0x0||_0x146559<0x1)||(_0x3d7f02>0x0&&(_0x5d7dad[0x0]=[_0x3376f9+_0x3d7f02*_0x184c89,_0x5dae0e+_0x3d7f02*_0x4198ed]),_0x146559<0x1&&(_0x5d7dad[0x1]=[_0x3376f9+_0x146559*_0x184c89,_0x5dae0e+_0x146559*_0x4198ed]),!0x0);}}}}}function _0x33f528(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=_0x5d7dad[0x1];if(_0x234f42)return!0x0;var _0x153447,_0x1972c2,_0x3376f9=_0x5d7dad[0x0],_0x5dae0e=_0x5d7dad[_0x1a4e('0x5f')],_0x3d7f02=_0x5d7dad[_0x1a4e('0x5d')],_0x146559=_0x5dae0e[0x0],_0x184c89=_0x5dae0e[0x1],_0x4198ed=_0x3d7f02[0x0],_0x41179c=_0x3d7f02[0x1],_0x4eb09b=(_0x146559+_0x4198ed)/0x2,_0x39638f=(_0x184c89+_0x41179c)/0x2;if(_0x41179c===_0x184c89){if(_0x4eb09b<_0x22b0c5||_0x4eb09b>=_0x261805)return;if(_0x146559>_0x4198ed){if(_0x3376f9){if(_0x3376f9[0x1]>=_0x81bc8f)return;}else _0x3376f9=[_0x4eb09b,_0x5ac9eb];_0x234f42=[_0x4eb09b,_0x81bc8f];}else{if(_0x3376f9){if(_0x3376f9[0x1]<_0x5ac9eb)return;}else _0x3376f9=[_0x4eb09b,_0x81bc8f];_0x234f42=[_0x4eb09b,_0x5ac9eb];}}else if(_0x1972c2=_0x39638f-(_0x153447=(_0x146559-_0x4198ed)/(_0x41179c-_0x184c89))*_0x4eb09b,_0x153447<-0x1||_0x153447>0x1)if(_0x146559>_0x4198ed){if(_0x3376f9){if(_0x3376f9[0x1]>=_0x81bc8f)return;}else _0x3376f9=[(_0x5ac9eb-_0x1972c2)/_0x153447,_0x5ac9eb];_0x234f42=[(_0x81bc8f-_0x1972c2)/_0x153447,_0x81bc8f];}else{if(_0x3376f9){if(_0x3376f9[0x1]<_0x5ac9eb)return;}else _0x3376f9=[(_0x81bc8f-_0x1972c2)/_0x153447,_0x81bc8f];_0x234f42=[(_0x5ac9eb-_0x1972c2)/_0x153447,_0x5ac9eb];}else if(_0x184c89<_0x41179c){if(_0x3376f9){if(_0x3376f9[0x0]>=_0x261805)return;}else _0x3376f9=[_0x22b0c5,_0x153447*_0x22b0c5+_0x1972c2];_0x234f42=[_0x261805,_0x153447*_0x261805+_0x1972c2];}else{if(_0x3376f9){if(_0x3376f9[0x0]<_0x22b0c5)return;}else _0x3376f9=[_0x261805,_0x153447*_0x261805+_0x1972c2];_0x234f42=[_0x22b0c5,_0x153447*_0x22b0c5+_0x1972c2];}return _0x5d7dad[0x0]=_0x3376f9,_0x5d7dad[0x1]=_0x234f42,!0x0;}function _0x2724df(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad['site'],_0x261805=_0x22b0c5[_0x1a4e('0x5f')],_0x81bc8f=_0x22b0c5[_0x1a4e('0x5d')];return _0x5ac9eb===_0x81bc8f&&(_0x81bc8f=_0x261805,_0x261805=_0x5ac9eb),_0x81bc8f?Math['atan2'](_0x81bc8f[0x1]-_0x261805[0x1],_0x81bc8f[0x0]-_0x261805[0x0]):(_0x5ac9eb===_0x261805?(_0x261805=_0x22b0c5[0x1],_0x81bc8f=_0x22b0c5[0x0]):(_0x261805=_0x22b0c5[0x0],_0x81bc8f=_0x22b0c5[0x1]),Math['atan2'](_0x261805[0x0]-_0x81bc8f[0x0],_0x81bc8f[0x1]-_0x261805[0x1]));}function _0x2fe1b8(_0x5d7dad,_0x22b0c5){return _0x22b0c5[+(_0x22b0c5['left']!==_0x5d7dad[_0x1a4e('0x123')])];}function _0x3ece57(_0x5d7dad,_0x22b0c5){return _0x22b0c5[+(_0x22b0c5['left']===_0x5d7dad[_0x1a4e('0x123')])];}function _0x3ea20c(_0x5d7dad){var _0x22b0c5=_0x5d7dad['P'],_0x5ac9eb=_0x5d7dad['N'];if(_0x22b0c5&&_0x5ac9eb){var _0x261805=_0x22b0c5[_0x1a4e('0x123')],_0x81bc8f=_0x5d7dad['site'],_0x234f42=_0x5ac9eb[_0x1a4e('0x123')];if(_0x261805!==_0x234f42){var _0x153447=_0x81bc8f[0x0],_0x1972c2=_0x81bc8f[0x1],_0x3376f9=_0x261805[0x0]-_0x153447,_0x5dae0e=_0x261805[0x1]-_0x1972c2,_0x3d7f02=_0x234f42[0x0]-_0x153447,_0x146559=_0x234f42[0x1]-_0x1972c2,_0x184c89=0x2*(_0x3376f9*_0x146559-_0x5dae0e*_0x3d7f02);if(!(_0x184c89>=-_0xb13ac2)){var _0x4198ed=_0x3376f9*_0x3376f9+_0x5dae0e*_0x5dae0e,_0x41179c=_0x3d7f02*_0x3d7f02+_0x146559*_0x146559,_0x4eb09b=(_0x146559*_0x4198ed-_0x5dae0e*_0x41179c)/_0x184c89,_0x39638f=(_0x3376f9*_0x41179c-_0x3d7f02*_0x4198ed)/_0x184c89,_0x40b220=_0x287c51['pop']()||new function(){_0x2ee8dd(this),this['x']=this['y']=this[_0x1a4e('0x124')]=this[_0x1a4e('0x123')]=this['cy']=null;}();_0x40b220[_0x1a4e('0x124')]=_0x5d7dad,_0x40b220['site']=_0x81bc8f,_0x40b220['x']=_0x4eb09b+_0x153447,_0x40b220['y']=(_0x40b220['cy']=_0x39638f+_0x1972c2)+Math[_0x1a4e('0x91')](_0x4eb09b*_0x4eb09b+_0x39638f*_0x39638f),_0x5d7dad['circle']=_0x40b220;for(var _0x55366a=null,_0x527605=_0x4ea378['_'];_0x527605;)if(_0x40b220['y']<_0x527605['y']||_0x40b220['y']===_0x527605['y']&&_0x40b220['x']<=_0x527605['x']){if(!_0x527605['L']){_0x55366a=_0x527605['P'];break;}_0x527605=_0x527605['L'];}else{if(!_0x527605['R']){_0x55366a=_0x527605;break;}_0x527605=_0x527605['R'];}_0x4ea378['insert'](_0x55366a,_0x40b220),_0x55366a||(_0x47c88a=_0x40b220);}}}}function _0x3a280e(_0x5d7dad){var _0x22b0c5=_0x5d7dad['circle'];_0x22b0c5&&(_0x22b0c5['P']||(_0x47c88a=_0x22b0c5['N']),_0x4ea378[_0x1a4e('0x82')](_0x22b0c5),_0x287c51[_0x1a4e('0x46')](_0x22b0c5),_0x2ee8dd(_0x22b0c5),_0x5d7dad[_0x1a4e('0x125')]=null);}function _0x130168(_0x5d7dad){var _0x22b0c5=_0x24d30b['pop']()||new function(){_0x2ee8dd(this),this['edge']=this[_0x1a4e('0x123')]=this[_0x1a4e('0x125')]=null;}();return _0x22b0c5[_0x1a4e('0x123')]=_0x5d7dad,_0x22b0c5;}function _0x13980f(_0x5d7dad){_0x3a280e(_0x5d7dad),_0x386701[_0x1a4e('0x82')](_0x5d7dad),_0x24d30b[_0x1a4e('0x46')](_0x5d7dad),_0x2ee8dd(_0x5d7dad);}function _0x2d8fec(_0x5d7dad){var _0x22b0c5=_0x5d7dad['circle'],_0x5ac9eb=_0x22b0c5['x'],_0x261805=_0x22b0c5['cy'],_0x81bc8f=[_0x5ac9eb,_0x261805],_0x234f42=_0x5d7dad['P'],_0x153447=_0x5d7dad['N'],_0x1972c2=[_0x5d7dad];_0x13980f(_0x5d7dad);for(var _0x3376f9=_0x234f42;_0x3376f9[_0x1a4e('0x125')]&&Math[_0x1a4e('0x65')](_0x5ac9eb-_0x3376f9[_0x1a4e('0x125')]['x'])<_0x572e63&&Math[_0x1a4e('0x65')](_0x261805-_0x3376f9[_0x1a4e('0x125')]['cy'])<_0x572e63;)_0x234f42=_0x3376f9['P'],_0x1972c2[_0x1a4e('0x66')](_0x3376f9),_0x13980f(_0x3376f9),_0x3376f9=_0x234f42;_0x1972c2[_0x1a4e('0x66')](_0x3376f9),_0x3a280e(_0x3376f9);for(var _0x5dae0e=_0x153447;_0x5dae0e['circle']&&Math[_0x1a4e('0x65')](_0x5ac9eb-_0x5dae0e[_0x1a4e('0x125')]['x'])<_0x572e63&&Math[_0x1a4e('0x65')](_0x261805-_0x5dae0e[_0x1a4e('0x125')]['cy'])<_0x572e63;)_0x153447=_0x5dae0e['N'],_0x1972c2[_0x1a4e('0x46')](_0x5dae0e),_0x13980f(_0x5dae0e),_0x5dae0e=_0x153447;_0x1972c2[_0x1a4e('0x46')](_0x5dae0e),_0x3a280e(_0x5dae0e);var _0x3d7f02,_0x146559=_0x1972c2[_0x1a4e('0x1e')];for(_0x3d7f02=0x1;_0x3d7f02<_0x146559;++_0x3d7f02)_0x5dae0e=_0x1972c2[_0x3d7f02],_0x3376f9=_0x1972c2[_0x3d7f02-0x1],_0x4ff282(_0x5dae0e[_0x1a4e('0x126')],_0x3376f9['site'],_0x5dae0e[_0x1a4e('0x123')],_0x81bc8f);_0x3376f9=_0x1972c2[0x0],(_0x5dae0e=_0x1972c2[_0x146559-0x1])[_0x1a4e('0x126')]=_0x3d9268(_0x3376f9['site'],_0x5dae0e['site'],null,_0x81bc8f),_0x3ea20c(_0x3376f9),_0x3ea20c(_0x5dae0e);}function _0x1e2b69(_0x5d7dad){for(var _0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42=_0x5d7dad[0x0],_0x153447=_0x5d7dad[0x1],_0x1972c2=_0x386701['_'];_0x1972c2;)if((_0x261805=_0x39b001(_0x1972c2,_0x153447)-_0x234f42)>_0x572e63)_0x1972c2=_0x1972c2['L'];else{if(!((_0x81bc8f=_0x234f42-function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad['N'];if(_0x5ac9eb)return _0x39b001(_0x5ac9eb,_0x22b0c5);var _0x261805=_0x5d7dad[_0x1a4e('0x123')];return _0x261805[0x1]===_0x22b0c5?_0x261805[0x0]:0x1/0x0;}(_0x1972c2,_0x153447))>_0x572e63)){_0x261805>-_0x572e63?(_0x22b0c5=_0x1972c2['P'],_0x5ac9eb=_0x1972c2):_0x81bc8f>-_0x572e63?(_0x22b0c5=_0x1972c2,_0x5ac9eb=_0x1972c2['N']):_0x22b0c5=_0x5ac9eb=_0x1972c2;break;}if(!_0x1972c2['R']){_0x22b0c5=_0x1972c2;break;}_0x1972c2=_0x1972c2['R'];}!function(_0x5d7dad){_0x3d2c5f[_0x5d7dad[_0x1a4e('0xbd')]]={'site':_0x5d7dad,'halfedges':[]};}(_0x5d7dad);var _0x3376f9=_0x130168(_0x5d7dad);if(_0x386701[_0x1a4e('0x7c')](_0x22b0c5,_0x3376f9),_0x22b0c5||_0x5ac9eb){if(_0x22b0c5===_0x5ac9eb)return _0x3a280e(_0x22b0c5),_0x5ac9eb=_0x130168(_0x22b0c5[_0x1a4e('0x123')]),_0x386701[_0x1a4e('0x7c')](_0x3376f9,_0x5ac9eb),_0x3376f9[_0x1a4e('0x126')]=_0x5ac9eb[_0x1a4e('0x126')]=_0x3d9268(_0x22b0c5[_0x1a4e('0x123')],_0x3376f9[_0x1a4e('0x123')]),_0x3ea20c(_0x22b0c5),void _0x3ea20c(_0x5ac9eb);if(_0x5ac9eb){_0x3a280e(_0x22b0c5),_0x3a280e(_0x5ac9eb);var _0x5dae0e=_0x22b0c5[_0x1a4e('0x123')],_0x3d7f02=_0x5dae0e[0x0],_0x146559=_0x5dae0e[0x1],_0x184c89=_0x5d7dad[0x0]-_0x3d7f02,_0x4198ed=_0x5d7dad[0x1]-_0x146559,_0x41179c=_0x5ac9eb['site'],_0x4eb09b=_0x41179c[0x0]-_0x3d7f02,_0x39638f=_0x41179c[0x1]-_0x146559,_0x40b220=0x2*(_0x184c89*_0x39638f-_0x4198ed*_0x4eb09b),_0x55366a=_0x184c89*_0x184c89+_0x4198ed*_0x4198ed,_0x527605=_0x4eb09b*_0x4eb09b+_0x39638f*_0x39638f,_0x4b8927=[(_0x39638f*_0x55366a-_0x4198ed*_0x527605)/_0x40b220+_0x3d7f02,(_0x184c89*_0x527605-_0x4eb09b*_0x55366a)/_0x40b220+_0x146559];_0x4ff282(_0x5ac9eb[_0x1a4e('0x126')],_0x5dae0e,_0x41179c,_0x4b8927),_0x3376f9[_0x1a4e('0x126')]=_0x3d9268(_0x5dae0e,_0x5d7dad,null,_0x4b8927),_0x5ac9eb[_0x1a4e('0x126')]=_0x3d9268(_0x5d7dad,_0x41179c,null,_0x4b8927),_0x3ea20c(_0x22b0c5),_0x3ea20c(_0x5ac9eb);}else _0x3376f9[_0x1a4e('0x126')]=_0x3d9268(_0x22b0c5[_0x1a4e('0x123')],_0x3376f9[_0x1a4e('0x123')]);}}function _0x39b001(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x123')],_0x261805=_0x5ac9eb[0x0],_0x81bc8f=_0x5ac9eb[0x1],_0x234f42=_0x81bc8f-_0x22b0c5;if(!_0x234f42)return _0x261805;var _0x153447=_0x5d7dad['P'];if(!_0x153447)return-0x1/0x0;var _0x1972c2=(_0x5ac9eb=_0x153447[_0x1a4e('0x123')])[0x0],_0x3376f9=_0x5ac9eb[0x1],_0x5dae0e=_0x3376f9-_0x22b0c5;if(!_0x5dae0e)return _0x1972c2;var _0x3d7f02=_0x1972c2-_0x261805,_0x146559=0x1/_0x234f42-0x1/_0x5dae0e,_0x184c89=_0x3d7f02/_0x5dae0e;return _0x146559?(-_0x184c89+Math[_0x1a4e('0x91')](_0x184c89*_0x184c89-0x2*_0x146559*(_0x3d7f02*_0x3d7f02/(-0x2*_0x5dae0e)-_0x3376f9+_0x5dae0e/0x2+_0x81bc8f-_0x234f42/0x2)))/_0x146559+_0x261805:(_0x261805+_0x1972c2)/0x2;}function _0x1ae4e1(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return(_0x5d7dad[0x0]-_0x5ac9eb[0x0])*(_0x22b0c5[0x1]-_0x5d7dad[0x1])-(_0x5d7dad[0x0]-_0x22b0c5[0x0])*(_0x5ac9eb[0x1]-_0x5d7dad[0x1]);}function _0x405624(_0x5d7dad,_0x22b0c5){return _0x22b0c5[0x1]-_0x5d7dad[0x1]||_0x22b0c5[0x0]-_0x5d7dad[0x0];}function _0x5603f2(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42=_0x5d7dad[_0x1a4e('0x89')](_0x405624)[_0x1a4e('0x76')]();for(_0x43cfc2=[],_0x3d2c5f=new Array(_0x5d7dad['length']),_0x386701=new _0x18981f(),_0x4ea378=new _0x18981f();;)if(_0x81bc8f=_0x47c88a,_0x234f42&&(!_0x81bc8f||_0x234f42[0x1]<_0x81bc8f['y']||_0x234f42[0x1]===_0x81bc8f['y']&&_0x234f42[0x0]<_0x81bc8f['x']))_0x234f42[0x0]===_0x5ac9eb&&_0x234f42[0x1]===_0x261805||(_0x1e2b69(_0x234f42),_0x5ac9eb=_0x234f42[0x0],_0x261805=_0x234f42[0x1]),_0x234f42=_0x5d7dad[_0x1a4e('0x76')]();else{if(!_0x81bc8f)break;_0x2d8fec(_0x81bc8f[_0x1a4e('0x124')]);}if(function(){for(var _0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f=0x0,_0x234f42=_0x3d2c5f[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f)if((_0x5d7dad=_0x3d2c5f[_0x81bc8f])&&(_0x261805=(_0x22b0c5=_0x5d7dad[_0x1a4e('0x122')])[_0x1a4e('0x1e')])){var _0x153447=new Array(_0x261805),_0x1972c2=new Array(_0x261805);for(_0x5ac9eb=0x0;_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x153447[_0x5ac9eb]=_0x5ac9eb,_0x1972c2[_0x5ac9eb]=_0x2724df(_0x5d7dad,_0x43cfc2[_0x22b0c5[_0x5ac9eb]]);for(_0x153447['sort'](function(_0x5d7dad,_0x22b0c5){return _0x1972c2[_0x22b0c5]-_0x1972c2[_0x5d7dad];}),_0x5ac9eb=0x0;_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x1972c2[_0x5ac9eb]=_0x22b0c5[_0x153447[_0x5ac9eb]];for(_0x5ac9eb=0x0;_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x22b0c5[_0x5ac9eb]=_0x1972c2[_0x5ac9eb];}}(),_0x22b0c5){var _0x153447=+_0x22b0c5[0x0][0x0],_0x1972c2=+_0x22b0c5[0x0][0x1],_0x3376f9=+_0x22b0c5[0x1][0x0],_0x5dae0e=+_0x22b0c5[0x1][0x1];!function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){for(var _0x81bc8f,_0x234f42=_0x43cfc2[_0x1a4e('0x1e')];_0x234f42--;)_0x33f528(_0x81bc8f=_0x43cfc2[_0x234f42],_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805)&&_0x597408(_0x81bc8f,_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805)&&(Math['abs'](_0x81bc8f[0x0][0x0]-_0x81bc8f[0x1][0x0])>_0x572e63||Math[_0x1a4e('0x65')](_0x81bc8f[0x0][0x1]-_0x81bc8f[0x1][0x1])>_0x572e63)||delete _0x43cfc2[_0x234f42];}(_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e),function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559,_0x184c89,_0x4198ed,_0x41179c,_0x4eb09b,_0x39638f=_0x3d2c5f['length'],_0x40b220=!0x0;for(_0x81bc8f=0x0;_0x81bc8f<_0x39638f;++_0x81bc8f)if(_0x234f42=_0x3d2c5f[_0x81bc8f]){for(_0x153447=_0x234f42['site'],_0x1972c2=(_0x3376f9=_0x234f42[_0x1a4e('0x122')])[_0x1a4e('0x1e')];_0x1972c2--;)_0x43cfc2[_0x3376f9[_0x1972c2]]||_0x3376f9[_0x1a4e('0x8a')](_0x1972c2,0x1);for(_0x1972c2=0x0,_0x5dae0e=_0x3376f9[_0x1a4e('0x1e')];_0x1972c2<_0x5dae0e;)_0x41179c=(_0x4198ed=_0x3ece57(_0x234f42,_0x43cfc2[_0x3376f9[_0x1972c2]]))[0x0],_0x4eb09b=_0x4198ed[0x1],_0x146559=(_0x3d7f02=_0x2fe1b8(_0x234f42,_0x43cfc2[_0x3376f9[++_0x1972c2%_0x5dae0e]]))[0x0],_0x184c89=_0x3d7f02[0x1],(Math[_0x1a4e('0x65')](_0x41179c-_0x146559)>_0x572e63||Math[_0x1a4e('0x65')](_0x4eb09b-_0x184c89)>_0x572e63)&&(_0x3376f9[_0x1a4e('0x8a')](_0x1972c2,0x0,_0x43cfc2[_0x1a4e('0x46')](_0x13e708(_0x153447,_0x4198ed,Math['abs'](_0x41179c-_0x5d7dad)<_0x572e63&&_0x261805-_0x4eb09b>_0x572e63?[_0x5d7dad,Math[_0x1a4e('0x65')](_0x146559-_0x5d7dad)<_0x572e63?_0x184c89:_0x261805]:Math[_0x1a4e('0x65')](_0x4eb09b-_0x261805)<_0x572e63&&_0x5ac9eb-_0x41179c>_0x572e63?[Math[_0x1a4e('0x65')](_0x184c89-_0x261805)<_0x572e63?_0x146559:_0x5ac9eb,_0x261805]:Math[_0x1a4e('0x65')](_0x41179c-_0x5ac9eb)<_0x572e63&&_0x4eb09b-_0x22b0c5>_0x572e63?[_0x5ac9eb,Math[_0x1a4e('0x65')](_0x146559-_0x5ac9eb)<_0x572e63?_0x184c89:_0x22b0c5]:Math[_0x1a4e('0x65')](_0x4eb09b-_0x22b0c5)<_0x572e63&&_0x41179c-_0x5d7dad>_0x572e63?[Math[_0x1a4e('0x65')](_0x184c89-_0x22b0c5)<_0x572e63?_0x146559:_0x5d7dad,_0x22b0c5]:null))-0x1),++_0x5dae0e);_0x5dae0e&&(_0x40b220=!0x1);}if(_0x40b220){var _0x55366a,_0x527605,_0x4b8927,_0x3ff7f9=0x1/0x0;for(_0x81bc8f=0x0,_0x40b220=null;_0x81bc8f<_0x39638f;++_0x81bc8f)(_0x234f42=_0x3d2c5f[_0x81bc8f])&&(_0x4b8927=(_0x55366a=(_0x153447=_0x234f42[_0x1a4e('0x123')])[0x0]-_0x5d7dad)*_0x55366a+(_0x527605=_0x153447[0x1]-_0x22b0c5)*_0x527605)<_0x3ff7f9&&(_0x3ff7f9=_0x4b8927,_0x40b220=_0x234f42);if(_0x40b220){var _0x3b62c2=[_0x5d7dad,_0x22b0c5],_0x556755=[_0x5d7dad,_0x261805],_0x162a48=[_0x5ac9eb,_0x261805],_0x4f92fa=[_0x5ac9eb,_0x22b0c5];_0x40b220[_0x1a4e('0x122')][_0x1a4e('0x46')](_0x43cfc2['push'](_0x13e708(_0x153447=_0x40b220[_0x1a4e('0x123')],_0x3b62c2,_0x556755))-0x1,_0x43cfc2[_0x1a4e('0x46')](_0x13e708(_0x153447,_0x556755,_0x162a48))-0x1,_0x43cfc2['push'](_0x13e708(_0x153447,_0x162a48,_0x4f92fa))-0x1,_0x43cfc2[_0x1a4e('0x46')](_0x13e708(_0x153447,_0x4f92fa,_0x3b62c2))-0x1);}}for(_0x81bc8f=0x0;_0x81bc8f<_0x39638f;++_0x81bc8f)(_0x234f42=_0x3d2c5f[_0x81bc8f])&&(_0x234f42[_0x1a4e('0x122')]['length']||delete _0x3d2c5f[_0x81bc8f]);}(_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e);}this[_0x1a4e('0xf5')]=_0x43cfc2,this[_0x1a4e('0x5a')]=_0x3d2c5f,_0x386701=_0x4ea378=_0x43cfc2=_0x3d2c5f=null;}function _0x23c9e9(_0x5d7dad){return(_0x5d7dad=_0x5d7dad['slice']())[_0x1a4e('0x46')](_0x5d7dad[0x0]),_0x234f42([_0x5d7dad]);}function _0x6ff98e(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=(_0x261805=_0x261805||{})[_0x1a4e('0xdb')]||0x40,_0x153447=_0x261805[_0x1a4e('0x8d')]||_0x1a4e('0x2c'),_0x1972c2=_0x261805['angle']||0x0,_0x3376f9=_0x261805[_0x1a4e('0x105')]||_0x5d7dad,_0x5dae0e=_0x261805[_0x1a4e('0x13')]||_0x5d7dad['properties']||{};if(!_0x5d7dad)throw new Error(_0x1a4e('0xa7'));if(!_0x22b0c5)throw new Error(_0x1a4e('0x127'));if(!_0x5ac9eb)throw new Error(_0x1a4e('0x128'));if(!_0x162a48(_0x261805))throw new Error(_0x1a4e('0xa8'));if(!_0x556755(_0x81bc8f))throw new Error(_0x1a4e('0xa9'));if(!_0x556755(_0x1972c2))throw new Error('angle\x20must\x20be\x20a\x20number');var _0x3d7f02=_0x52d3d8(_0x5d7dad);if('degrees'===_0x153447)var _0x146559=_0x4b8927(_0x1972c2);else _0x22b0c5=_0x2a819c(_0x5d7dad,_0x22b0c5,0x5a,{'units':_0x153447}),_0x5ac9eb=_0x2a819c(_0x5d7dad,_0x5ac9eb,0x0,{'units':_0x153447}),_0x22b0c5=_0x52d3d8(_0x22b0c5)[0x0]-_0x3d7f02[0x0],_0x5ac9eb=_0x52d3d8(_0x5ac9eb)[0x1]-_0x3d7f02[0x1];for(var _0x184c89=[],_0x4198ed=0x0;_0x4198ed<_0x81bc8f;_0x4198ed+=0x1){var _0x41179c=-0x168*_0x4198ed/_0x81bc8f,_0x4eb09b=_0x22b0c5*_0x5ac9eb/Math[_0x1a4e('0x91')](Math[_0x1a4e('0x8e')](_0x5ac9eb,0x2)+Math[_0x1a4e('0x8e')](_0x22b0c5,0x2)*Math[_0x1a4e('0x8e')](_0x21cd9f(_0x41179c),0x2)),_0x39638f=_0x22b0c5*_0x5ac9eb/Math[_0x1a4e('0x91')](Math[_0x1a4e('0x8e')](_0x22b0c5,0x2)+Math[_0x1a4e('0x8e')](_0x5ac9eb,0x2)/Math[_0x1a4e('0x8e')](_0x21cd9f(_0x41179c),0x2));if(_0x41179c<-0x5a&&_0x41179c>=-0x10e&&(_0x4eb09b=-_0x4eb09b),_0x41179c<-0xb4&&_0x41179c>=-0x168&&(_0x39638f=-_0x39638f),_0x1a4e('0x129')===_0x153447){var _0x40b220=_0x4eb09b*Math[_0x1a4e('0x90')](_0x146559)+_0x39638f*Math[_0x1a4e('0x8f')](_0x146559),_0x55366a=_0x39638f*Math[_0x1a4e('0x90')](_0x146559)-_0x4eb09b*Math['sin'](_0x146559);_0x4eb09b=_0x40b220,_0x39638f=_0x55366a;}_0x184c89['push']([_0x4eb09b+_0x3d7f02[0x0],_0x39638f+_0x3d7f02[0x1]]);}return _0x184c89['push'](_0x184c89[0x0]),'degrees'===_0x153447?_0x234f42([_0x184c89],_0x5dae0e):_0x2625d1(_0x234f42([_0x184c89],_0x5dae0e),_0x1972c2,{'pivot':_0x3376f9});}function _0x21cd9f(_0x5d7dad){var _0x22b0c5=_0x5d7dad*Math['PI']/0xb4;return Math[_0x1a4e('0xbe')](_0x22b0c5);}function _0x587af0(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5['properties'],_0x81bc8f=_0x22b0c5['weight'];if(!_0x5d7dad)throw new Error('geojson\x20is\x20required');var _0x234f42=0x0,_0x153447=0x0,_0x1972c2=0x0;return _0xaebea(_0x5d7dad,function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb[_0x81bc8f];if(!_0x556755(_0x261805=null==_0x261805?0x1:_0x261805))throw new Error('weight\x20value\x20must\x20be\x20a\x20number\x20for\x20feature\x20index\x20'+_0x22b0c5);(_0x261805=Number(_0x261805))>0x0&&_0x40eeaf(_0x5d7dad,function(_0x5d7dad){_0x234f42+=_0x5d7dad[0x0]*_0x261805,_0x153447+=_0x5d7dad[0x1]*_0x261805,_0x1972c2+=_0x261805;});}),_0x261805([_0x234f42/_0x1972c2,_0x153447/_0x1972c2],_0x5ac9eb);}function _0x256989(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x81bc8f){var _0x234f42=_0x5ac9eb[_0x1a4e('0x13')]['tolerance']||0.001,_0x153447=0x0,_0x1972c2=0x0,_0x3376f9=0x0,_0x5dae0e=0x0;if(_0x1494e6(_0x5ac9eb,function(_0x22b0c5){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x13')][_0x1a4e('0x12a')],_0x261805=null==_0x5ac9eb?0x1:_0x5ac9eb;if(!_0x556755(_0x261805=Number(_0x261805)))throw new Error('weight\x20value\x20must\x20be\x20a\x20number');if(_0x261805>0x0){_0x5dae0e+=0x1;var _0x81bc8f=_0x261805*_0x45cce9(_0x22b0c5,_0x5d7dad);0x0===_0x81bc8f&&(_0x81bc8f=0x1);var _0x234f42=_0x261805/_0x81bc8f;_0x153447+=_0x22b0c5['geometry'][_0x1a4e('0x43')][0x0]*_0x234f42,_0x1972c2+=_0x22b0c5[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1]*_0x234f42,_0x3376f9+=_0x234f42;}}),_0x5dae0e<0x1)throw new Error(_0x1a4e('0x12b'));var _0x3d7f02=_0x153447/_0x3376f9,_0x146559=_0x1972c2/_0x3376f9;return 0x1===_0x5dae0e||0x0===_0x81bc8f||Math['abs'](_0x3d7f02-_0x22b0c5[0x0])<_0x234f42&&Math[_0x1a4e('0x65')](_0x146559-_0x22b0c5[0x1])<_0x234f42?_0x261805([_0x3d7f02,_0x146559],{'medianCandidates':_0x5ac9eb[_0x1a4e('0x13')][_0x1a4e('0x12c')]}):(_0x5ac9eb[_0x1a4e('0x13')][_0x1a4e('0x12c')][_0x1a4e('0x46')]([_0x3d7f02,_0x146559]),_0x256989([_0x3d7f02,_0x146559],_0x5d7dad,_0x5ac9eb,_0x81bc8f-0x1));}function _0x5890d9(_0x5d7dad,_0x22b0c5){return{'x':_0x5d7dad[0x0]-_0x22b0c5[0x0],'y':_0x5d7dad[0x1]-_0x22b0c5[0x1]};}function _0x5e9175(_0x5d7dad){if(_0x162a48(_0x5d7dad)&&(_0x5d7dad=_0x5d7dad['bbox']),_0x5d7dad&&!Array['isArray'](_0x5d7dad))throw new Error(_0x1a4e('0x12d'));return _0x5d7dad?function(_0x5d7dad){return[Math[_0x1a4e('0x12e')]()*(_0x5d7dad[0x2]-_0x5d7dad[0x0])+_0x5d7dad[0x0],Math[_0x1a4e('0x12e')]()*(_0x5d7dad[0x3]-_0x5d7dad[0x1])+_0x5d7dad[0x1]];}(_0x5d7dad):[0x168*_0x2b3826(),0xb4*_0x2b3826()];}function _0xa7aaa1(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5['bbox'];null!=_0x5d7dad||(_0x5d7dad=0x1);for(var _0x81bc8f=[],_0x234f42=0x0;_0x234f42<_0x5d7dad;_0x234f42++)_0x81bc8f[_0x1a4e('0x46')](_0x261805(_0x5e9175(_0x5ac9eb)));return _0x5dae0e(_0x81bc8f);}function _0x27e2c0(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error('options\x20is\x20invalid');var _0x5ac9eb=_0x22b0c5[_0x1a4e('0xe')],_0x261805=_0x22b0c5['num_vertices'],_0x81bc8f=_0x22b0c5['max_radial_length'];null!=_0x5d7dad||(_0x5d7dad=0x1),_0x556755(_0x261805)||(_0x261805=0xa),_0x556755(_0x81bc8f)||(_0x81bc8f=0xa);for(var _0x153447=[],_0x1972c2=0x0;_0x1972c2<_0x5d7dad;_0x1972c2++){var _0x3376f9=[],_0x3d7f02=Array[_0x1a4e('0x8b')](null,new Array(_0x261805+0x1))[_0x1a4e('0x21')](Math[_0x1a4e('0x12e')]);_0x3d7f02['forEach'](function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){_0x5ac9eb[_0x22b0c5]=_0x22b0c5>0x0?_0x5d7dad+_0x5ac9eb[_0x22b0c5-0x1]:_0x5d7dad;}),_0x3d7f02[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad=0x2*_0x5d7dad*Math['PI']/_0x3d7f02[_0x3d7f02[_0x1a4e('0x1e')]-0x1];var _0x22b0c5=Math['random']();_0x3376f9['push']([_0x22b0c5*_0x81bc8f*Math[_0x1a4e('0x8f')](_0x5d7dad),_0x22b0c5*_0x81bc8f*Math[_0x1a4e('0x90')](_0x5d7dad)]);}),_0x3376f9[_0x3376f9[_0x1a4e('0x1e')]-0x1]=_0x3376f9[0x0],_0x3376f9=_0x3376f9[_0x1a4e('0x21')](function(_0x5d7dad){return function(_0x22b0c5){return[_0x22b0c5[0x0]+_0x5d7dad[0x0],_0x22b0c5[0x1]+_0x5d7dad[0x1]];};}(_0x5e9175(_0x5ac9eb))),_0x153447[_0x1a4e('0x46')](_0x234f42([_0x3376f9]));}return _0x5dae0e(_0x153447);}function _0x380dbf(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5['bbox'],_0x261805=_0x22b0c5[_0x1a4e('0x12f')],_0x81bc8f=_0x22b0c5['max_length'],_0x234f42=_0x22b0c5[_0x1a4e('0x130')];null!=_0x5d7dad||(_0x5d7dad=0x1),(!_0x556755(_0x261805)||_0x261805<0x2)&&(_0x261805=0xa),_0x556755(_0x81bc8f)||(_0x81bc8f=0.0001),_0x556755(_0x234f42)||(_0x234f42=Math['PI']/0x8);for(var _0x153447=[],_0x3376f9=0x0;_0x3376f9<_0x5d7dad;_0x3376f9++){for(var _0x3d7f02=[_0x5e9175(_0x5ac9eb)],_0x146559=0x0;_0x146559<_0x261805-0x1;_0x146559++){var _0x184c89=(0x0===_0x146559?0x2*Math['random']()*Math['PI']:Math['tan']((_0x3d7f02[_0x146559][0x1]-_0x3d7f02[_0x146559-0x1][0x1])/(_0x3d7f02[_0x146559][0x0]-_0x3d7f02[_0x146559-0x1][0x0])))+(Math[_0x1a4e('0x12e')]()-0.5)*_0x234f42*0x2,_0x4198ed=Math[_0x1a4e('0x12e')]()*_0x81bc8f;_0x3d7f02[_0x1a4e('0x46')]([_0x3d7f02[_0x146559][0x0]+_0x4198ed*Math[_0x1a4e('0x90')](_0x184c89),_0x3d7f02[_0x146559][0x1]+_0x4198ed*Math[_0x1a4e('0x8f')](_0x184c89)]);}_0x153447[_0x1a4e('0x46')](_0x1972c2(_0x3d7f02));}return _0x5dae0e(_0x153447);}function _0x2b3826(){return Math['random']()-0.5;}function _0xc63288(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));if(_0x1a4e('0x41')!==_0x5d7dad[_0x1a4e('0x40')])throw new Error(_0x1a4e('0x97'));if(null==_0x22b0c5)throw new Error(_0x1a4e('0x131'));var _0x5ac9eb=[];return _0x1494e6(_0x5d7dad,function(_0x5d7dad){_0x53e910(_0x5d7dad['properties'],_0x22b0c5)&&_0x5ac9eb['push'](_0x5d7dad);}),_0x5dae0e(_0x5ac9eb);}function _0x33bcfe(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));if(_0x1a4e('0x41')!==_0x5d7dad[_0x1a4e('0x40')])throw new Error(_0x1a4e('0x97'));if(null==_0x22b0c5)throw new Error(_0x1a4e('0x132'));for(var _0x261805=_0x4d3ac3(_0x5d7dad,_0x22b0c5),_0x81bc8f=Object[_0x1a4e('0x56')](_0x261805),_0x234f42=0x0;_0x234f42<_0x81bc8f[_0x1a4e('0x1e')];_0x234f42++){for(var _0x153447=_0x81bc8f[_0x234f42],_0x1972c2=_0x261805[_0x153447],_0x3376f9=[],_0x3d7f02=0x0;_0x3d7f02<_0x1972c2[_0x1a4e('0x1e')];_0x3d7f02++)_0x3376f9[_0x1a4e('0x46')](_0x5d7dad[_0x1a4e('0x25')][_0x1972c2[_0x3d7f02]]);_0x5ac9eb(_0x5dae0e(_0x3376f9),_0x153447,_0x234f42);}}function _0xaf1f1f(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x261805;return _0x33bcfe(_0x5d7dad,_0x22b0c5,function(_0x5d7dad,_0x22b0c5,_0x234f42){_0x81bc8f=0x0===_0x234f42&&void 0x0===_0x261805?_0x5d7dad:_0x5ac9eb(_0x81bc8f,_0x5d7dad,_0x22b0c5,_0x234f42);}),_0x81bc8f;}function _0x4d3ac3(_0x5d7dad,_0x22b0c5){var _0x5ac9eb={};return _0x1494e6(_0x5d7dad,function(_0x5d7dad,_0x261805){var _0x81bc8f=_0x5d7dad[_0x1a4e('0x13')]||{};if(_0x81bc8f['hasOwnProperty'](_0x22b0c5)){var _0x234f42=_0x81bc8f[_0x22b0c5];_0x5ac9eb[_0x1a4e('0xb')](_0x234f42)?_0x5ac9eb[_0x234f42]['push'](_0x261805):_0x5ac9eb[_0x234f42]=[_0x261805];}}),_0x5ac9eb;}function _0x53e910(_0x5d7dad,_0x22b0c5){if(void 0x0===_0x5d7dad)return!0x1;var _0x5ac9eb=typeof _0x22b0c5;if(_0x1a4e('0x3d')===_0x5ac9eb||'string'===_0x5ac9eb)return _0x5d7dad[_0x1a4e('0xb')](_0x22b0c5);if(Array[_0x1a4e('0x15')](_0x22b0c5)){for(var _0x261805=0x0;_0x261805<_0x22b0c5[_0x1a4e('0x1e')];_0x261805++)if(!_0x53e910(_0x5d7dad,_0x22b0c5[_0x261805]))return!0x1;return!0x0;}return _0x16715d(_0x5d7dad,_0x22b0c5);}function _0x16715d(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=Object['keys'](_0x22b0c5),_0x261805=0x0;_0x261805<_0x5ac9eb[_0x1a4e('0x1e')];_0x261805++){var _0x81bc8f=_0x5ac9eb[_0x261805];if(_0x5d7dad[_0x81bc8f]!==_0x22b0c5[_0x81bc8f])return!0x1;}return!0x0;}function _0x129e40(_0x5d7dad,_0x22b0c5){if(!_0x22b0c5)return{};if(!_0x22b0c5[_0x1a4e('0x1e')])return{};for(var _0x5ac9eb={},_0x261805=0x0;_0x261805<_0x22b0c5[_0x1a4e('0x1e')];_0x261805++){var _0x81bc8f=_0x22b0c5[_0x261805];_0x5d7dad[_0x1a4e('0xb')](_0x81bc8f)&&(_0x5ac9eb[_0x81bc8f]=_0x5d7dad[_0x81bc8f]);}return _0x5ac9eb;}function _0x4ad42f(){}function _0x55bf7a(_0x5d7dad){this['message']=_0x5d7dad||'';}function _0x4b6a3a(_0x5d7dad){this[_0x1a4e('0x133')]=_0x5d7dad||'';}function _0x3429e7(){}function _0x3d34ad(_0x5d7dad){return null===_0x5d7dad?_0x354f31:_0x5d7dad['color'];}function _0x1bd187(_0x5d7dad){return null===_0x5d7dad?null:_0x5d7dad[_0x1a4e('0x11c')];}function _0x3831bc(_0x5d7dad,_0x22b0c5){null!==_0x5d7dad&&(_0x5d7dad[_0x1a4e('0x134')]=_0x22b0c5);}function _0x56728b(_0x5d7dad){return null===_0x5d7dad?null:_0x5d7dad[_0x1a4e('0x5f')];}function _0x3154d7(_0x5d7dad){return null===_0x5d7dad?null:_0x5d7dad[_0x1a4e('0x5d')];}function _0xe59c3e(){this[_0x1a4e('0x135')]=null,this[_0x1a4e('0x136')]=0x0;}function _0x17e079(){}function _0x548f8d(){this['array_']=[],arguments[0x0]instanceof _0x5ca55b&&this['addAll'](arguments[0x0]);}function _0x654d56(){}function _0x16a7cd(_0x5d7dad){this[_0x1a4e('0x133')]=_0x5d7dad||'';}function _0x2d3d13(){this[_0x1a4e('0x137')]=[];}function _0x315431(_0x5d7dad){switch(_0x5d7dad[_0x1a4e('0x40')]){case'Polygon':return _0x59237d(_0x5d7dad)>0x1?_0x5d7dad:null;case'MultiPolygon':var _0x22b0c5=[];if(_0xe0c7f6(_0x5d7dad,function(_0x5d7dad){_0x59237d(_0x5d7dad)>0x1&&_0x22b0c5[_0x1a4e('0x46')](_0x5d7dad[_0x1a4e('0x18')]['coordinates']);}),_0x22b0c5[_0x1a4e('0x1e')])return{'type':_0x1a4e('0x1c'),'coordinates':_0x22b0c5};}}function _0x3b0a67(){this[_0x1a4e('0x138')]();}function _0x2e0f09(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad['s']=_0x22b0c5+_0x5ac9eb,_0x81bc8f=_0x261805-_0x22b0c5,_0x234f42=_0x261805-_0x81bc8f;_0x5d7dad['t']=_0x22b0c5-_0x234f42+(_0x5ac9eb-_0x81bc8f);}function _0x2c4521(_0x5d7dad){return _0x5d7dad>0x1?_0x8b3a64:_0x5d7dad<-0x1?-_0x8b3a64:Math[_0x1a4e('0x139')](_0x5d7dad);}function _0x8399cc(){}function _0x3dc0c7(_0x5d7dad,_0x22b0c5){_0x5d7dad&&_0x7be98f[_0x1a4e('0xb')](_0x5d7dad[_0x1a4e('0x40')])&&_0x7be98f[_0x5d7dad['type']](_0x5d7dad,_0x22b0c5);}function _0x3f0177(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805,_0x81bc8f=-0x1,_0x234f42=_0x5d7dad['length']-_0x5ac9eb;for(_0x22b0c5[_0x1a4e('0x13a')]();++_0x81bc8f<_0x234f42;)_0x261805=_0x5d7dad[_0x81bc8f],_0x22b0c5[_0x1a4e('0xc4')](_0x261805[0x0],_0x261805[0x1],_0x261805[0x2]);_0x22b0c5[_0x1a4e('0x13b')]();}function _0xde922c(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=-0x1,_0x261805=_0x5d7dad[_0x1a4e('0x1e')];for(_0x22b0c5['polygonStart']();++_0x5ac9eb<_0x261805;)_0x3f0177(_0x5d7dad[_0x5ac9eb],_0x22b0c5,0x1);_0x22b0c5[_0x1a4e('0x13c')]();}function _0x357c50(_0x5d7dad){return[_0x3af052(_0x5d7dad[0x1],_0x5d7dad[0x0]),_0x2c4521(_0x5d7dad[0x2])];}function _0x448bf8(_0x5d7dad){var _0x22b0c5=_0x5d7dad[0x0],_0x5ac9eb=_0x5d7dad[0x1],_0x261805=_0x55501c(_0x5ac9eb);return[_0x261805*_0x55501c(_0x22b0c5),_0x261805*_0x564894(_0x22b0c5),_0x564894(_0x5ac9eb)];}function _0x333eb0(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]*_0x22b0c5[0x0]+_0x5d7dad[0x1]*_0x22b0c5[0x1]+_0x5d7dad[0x2]*_0x22b0c5[0x2];}function _0xbb374b(_0x5d7dad,_0x22b0c5){return[_0x5d7dad[0x1]*_0x22b0c5[0x2]-_0x5d7dad[0x2]*_0x22b0c5[0x1],_0x5d7dad[0x2]*_0x22b0c5[0x0]-_0x5d7dad[0x0]*_0x22b0c5[0x2],_0x5d7dad[0x0]*_0x22b0c5[0x1]-_0x5d7dad[0x1]*_0x22b0c5[0x0]];}function _0x316e68(_0x5d7dad,_0x22b0c5){_0x5d7dad[0x0]+=_0x22b0c5[0x0],_0x5d7dad[0x1]+=_0x22b0c5[0x1],_0x5d7dad[0x2]+=_0x22b0c5[0x2];}function _0x1af91f(_0x5d7dad,_0x22b0c5){return[_0x5d7dad[0x0]*_0x22b0c5,_0x5d7dad[0x1]*_0x22b0c5,_0x5d7dad[0x2]*_0x22b0c5];}function _0xad92e8(_0x5d7dad){var _0x22b0c5=_0xf7d11b(_0x5d7dad[0x0]*_0x5d7dad[0x0]+_0x5d7dad[0x1]*_0x5d7dad[0x1]+_0x5d7dad[0x2]*_0x5d7dad[0x2]);_0x5d7dad[0x0]/=_0x22b0c5,_0x5d7dad[0x1]/=_0x22b0c5,_0x5d7dad[0x2]/=_0x22b0c5;}function _0x48bf9b(_0x5d7dad,_0x22b0c5){return[_0x5d7dad>_0x2cc268?_0x5d7dad-_0x4239a9:_0x5d7dad<-_0x2cc268?_0x5d7dad+_0x4239a9:_0x5d7dad,_0x22b0c5];}function _0x24811a(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return(_0x5d7dad%=_0x4239a9)?_0x22b0c5||_0x5ac9eb?_0x11d208(_0x404495(_0x5d7dad),_0xc9ba77(_0x22b0c5,_0x5ac9eb)):_0x404495(_0x5d7dad):_0x22b0c5||_0x5ac9eb?_0xc9ba77(_0x22b0c5,_0x5ac9eb):_0x48bf9b;}function _0x71a0a5(_0x5d7dad){return function(_0x22b0c5,_0x5ac9eb){return[(_0x22b0c5+=_0x5d7dad)>_0x2cc268?_0x22b0c5-_0x4239a9:_0x22b0c5<-_0x2cc268?_0x22b0c5+_0x4239a9:_0x22b0c5,_0x5ac9eb];};}function _0x404495(_0x5d7dad){var _0x22b0c5=_0x71a0a5(_0x5d7dad);return _0x22b0c5[_0x1a4e('0x13d')]=_0x71a0a5(-_0x5d7dad),_0x22b0c5;}function _0xc9ba77(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x55501c(_0x22b0c5),_0x1972c2=_0x55501c(_0x5d7dad)*_0x5ac9eb,_0x3376f9=_0x564894(_0x5d7dad)*_0x5ac9eb,_0x5dae0e=_0x564894(_0x22b0c5),_0x3d7f02=_0x5dae0e*_0x261805+_0x1972c2*_0x81bc8f;return[_0x3af052(_0x3376f9*_0x234f42-_0x3d7f02*_0x153447,_0x1972c2*_0x261805-_0x5dae0e*_0x81bc8f),_0x2c4521(_0x3d7f02*_0x234f42+_0x3376f9*_0x153447)];}var _0x261805=_0x55501c(_0x5d7dad),_0x81bc8f=_0x564894(_0x5d7dad),_0x234f42=_0x55501c(_0x22b0c5),_0x153447=_0x564894(_0x22b0c5);return _0x5ac9eb['invert']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x55501c(_0x22b0c5),_0x1972c2=_0x55501c(_0x5d7dad)*_0x5ac9eb,_0x3376f9=_0x564894(_0x5d7dad)*_0x5ac9eb,_0x5dae0e=_0x564894(_0x22b0c5),_0x3d7f02=_0x5dae0e*_0x234f42-_0x3376f9*_0x153447;return[_0x3af052(_0x3376f9*_0x234f42+_0x5dae0e*_0x153447,_0x1972c2*_0x261805+_0x3d7f02*_0x81bc8f),_0x2c4521(_0x3d7f02*_0x261805-_0x1972c2*_0x81bc8f)];},_0x5ac9eb;}function _0x3c5fa5(_0x5d7dad,_0x22b0c5){(_0x22b0c5=_0x448bf8(_0x22b0c5))[0x0]-=_0x5d7dad,_0xad92e8(_0x22b0c5);var _0x5ac9eb=function(_0x5d7dad){return _0x5d7dad>0x1?0x0:_0x5d7dad<-0x1?_0x2cc268:Math['acos'](_0x5d7dad);}(-_0x22b0c5[0x1]);return((-_0x22b0c5[0x2]<0x0?-_0x5ac9eb:_0x5ac9eb)+_0x4239a9-_0x48b442)%_0x4239a9;}function _0x3a2653(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){this['x']=_0x5d7dad,this['z']=_0x22b0c5,this['o']=_0x5ac9eb,this['e']=_0x261805,this['v']=!0x1,this['n']=this['p']=null;}function _0x18d875(_0x5d7dad){if(_0x22b0c5=_0x5d7dad['length']){for(var _0x22b0c5,_0x5ac9eb,_0x261805=0x0,_0x81bc8f=_0x5d7dad[0x0];++_0x261805<_0x22b0c5;)_0x81bc8f['n']=_0x5ac9eb=_0x5d7dad[_0x261805],_0x5ac9eb['p']=_0x81bc8f,_0x81bc8f=_0x5ac9eb;_0x81bc8f['n']=_0x5ac9eb=_0x5d7dad[0x0],_0x5ac9eb['p']=_0x81bc8f;}}function _0x4ab58e(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){function _0x81bc8f(_0x81bc8f,_0x234f42){return _0x5d7dad<=_0x81bc8f&&_0x81bc8f<=_0x5ac9eb&&_0x22b0c5<=_0x234f42&&_0x234f42<=_0x261805;}function _0x234f42(_0x81bc8f,_0x234f42,_0x1972c2,_0x5dae0e){var _0x3d7f02=0x0,_0x146559=0x0;if(null==_0x81bc8f||(_0x3d7f02=_0x153447(_0x81bc8f,_0x1972c2))!==(_0x146559=_0x153447(_0x234f42,_0x1972c2))||_0x3376f9(_0x81bc8f,_0x234f42)<0x0^_0x1972c2>0x0)do{_0x5dae0e[_0x1a4e('0xc4')](0x0===_0x3d7f02||0x3===_0x3d7f02?_0x5d7dad:_0x5ac9eb,_0x3d7f02>0x1?_0x261805:_0x22b0c5);}while((_0x3d7f02=(_0x3d7f02+_0x1972c2+0x4)%0x4)!==_0x146559);else _0x5dae0e[_0x1a4e('0xc4')](_0x234f42[0x0],_0x234f42[0x1]);}function _0x153447(_0x261805,_0x81bc8f){return _0x308a4b(_0x261805[0x0]-_0x5d7dad)<_0x48b442?_0x81bc8f>0x0?0x0:0x3:_0x308a4b(_0x261805[0x0]-_0x5ac9eb)<_0x48b442?_0x81bc8f>0x0?0x2:0x1:_0x308a4b(_0x261805[0x1]-_0x22b0c5)<_0x48b442?_0x81bc8f>0x0?0x1:0x0:_0x81bc8f>0x0?0x3:0x2;}function _0x1972c2(_0x5d7dad,_0x22b0c5){return _0x3376f9(_0x5d7dad['x'],_0x22b0c5['x']);}function _0x3376f9(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x153447(_0x5d7dad,0x1),_0x261805=_0x153447(_0x22b0c5,0x1);return _0x5ac9eb!==_0x261805?_0x5ac9eb-_0x261805:0x0===_0x5ac9eb?_0x22b0c5[0x1]-_0x5d7dad[0x1]:0x1===_0x5ac9eb?_0x5d7dad[0x0]-_0x22b0c5[0x0]:0x2===_0x5ac9eb?_0x5d7dad[0x1]-_0x22b0c5[0x1]:_0x22b0c5[0x0]-_0x5d7dad[0x0];}return function(_0x153447){function _0x3376f9(_0x5d7dad,_0x22b0c5){_0x81bc8f(_0x5d7dad,_0x22b0c5)&&_0x3ff7f9['point'](_0x5d7dad,_0x22b0c5);}function _0x5dae0e(_0x234f42,_0x153447){var _0x1972c2=_0x81bc8f(_0x234f42,_0x153447);if(_0x146559&&_0x184c89['push']([_0x234f42,_0x153447]),_0x527605)_0x4198ed=_0x234f42,_0x41179c=_0x153447,_0x4eb09b=_0x1972c2,_0x527605=!0x1,_0x1972c2&&(_0x3ff7f9[_0x1a4e('0x13a')](),_0x3ff7f9[_0x1a4e('0xc4')](_0x234f42,_0x153447));else if(_0x1972c2&&_0x55366a)_0x3ff7f9[_0x1a4e('0xc4')](_0x234f42,_0x153447);else{var _0x3376f9=[_0x39638f=Math[_0x1a4e('0x6c')](_0x31d78d,Math['min'](_0x3b6392,_0x39638f)),_0x40b220=Math[_0x1a4e('0x6c')](_0x31d78d,Math[_0x1a4e('0x74')](_0x3b6392,_0x40b220))],_0x5dae0e=[_0x234f42=Math[_0x1a4e('0x6c')](_0x31d78d,Math[_0x1a4e('0x74')](_0x3b6392,_0x234f42)),_0x153447=Math[_0x1a4e('0x6c')](_0x31d78d,Math['min'](_0x3b6392,_0x153447))];_0x1e51b0(_0x3376f9,_0x5dae0e,_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805)?(_0x55366a||(_0x3ff7f9['lineStart'](),_0x3ff7f9[_0x1a4e('0xc4')](_0x3376f9[0x0],_0x3376f9[0x1])),_0x3ff7f9['point'](_0x5dae0e[0x0],_0x5dae0e[0x1]),_0x1972c2||_0x3ff7f9[_0x1a4e('0x13b')](),_0x4b8927=!0x1):_0x1972c2&&(_0x3ff7f9[_0x1a4e('0x13a')](),_0x3ff7f9[_0x1a4e('0xc4')](_0x234f42,_0x153447),_0x4b8927=!0x1);}_0x39638f=_0x234f42,_0x40b220=_0x153447,_0x55366a=_0x1972c2;}var _0x3d7f02,_0x146559,_0x184c89,_0x4198ed,_0x41179c,_0x4eb09b,_0x39638f,_0x40b220,_0x55366a,_0x527605,_0x4b8927,_0x3ff7f9=_0x153447,_0x3b62c2=_0x39c2df(),_0x556755={'point':_0x3376f9,'lineStart':function(){_0x556755[_0x1a4e('0xc4')]=_0x5dae0e,_0x146559&&_0x146559['push'](_0x184c89=[]),_0x527605=!0x0,_0x55366a=!0x1,_0x39638f=_0x40b220=NaN;},'lineEnd':function(){_0x3d7f02&&(_0x5dae0e(_0x4198ed,_0x41179c),_0x4eb09b&&_0x55366a&&_0x3b62c2[_0x1a4e('0x13e')](),_0x3d7f02[_0x1a4e('0x46')](_0x3b62c2[_0x1a4e('0x13f')]())),_0x556755[_0x1a4e('0xc4')]=_0x3376f9,_0x55366a&&_0x3ff7f9[_0x1a4e('0x13b')]();},'polygonStart':function(){_0x3ff7f9=_0x3b62c2,_0x3d7f02=[],_0x146559=[],_0x4b8927=!0x0;},'polygonEnd':function(){var _0x22b0c5=function(){for(var _0x22b0c5=0x0,_0x5ac9eb=0x0,_0x81bc8f=_0x146559['length'];_0x5ac9eb<_0x81bc8f;++_0x5ac9eb)for(var _0x234f42,_0x153447,_0x1972c2=_0x146559[_0x5ac9eb],_0x3376f9=0x1,_0x5dae0e=_0x1972c2[_0x1a4e('0x1e')],_0x3d7f02=_0x1972c2[0x0],_0x184c89=_0x3d7f02[0x0],_0x4198ed=_0x3d7f02[0x1];_0x3376f9<_0x5dae0e;++_0x3376f9)_0x234f42=_0x184c89,_0x153447=_0x4198ed,_0x184c89=(_0x3d7f02=_0x1972c2[_0x3376f9])[0x0],_0x4198ed=_0x3d7f02[0x1],_0x153447<=_0x261805?_0x4198ed>_0x261805&&(_0x184c89-_0x234f42)*(_0x261805-_0x153447)>(_0x4198ed-_0x153447)*(_0x5d7dad-_0x234f42)&&++_0x22b0c5:_0x4198ed<=_0x261805&&(_0x184c89-_0x234f42)*(_0x261805-_0x153447)<(_0x4198ed-_0x153447)*(_0x5d7dad-_0x234f42)&&--_0x22b0c5;return _0x22b0c5;}(),_0x5ac9eb=_0x4b8927&&_0x22b0c5,_0x81bc8f=(_0x3d7f02=_0x2fa28b(_0x3d7f02))[_0x1a4e('0x1e')];(_0x5ac9eb||_0x81bc8f)&&(_0x153447['polygonStart'](),_0x5ac9eb&&(_0x153447[_0x1a4e('0x13a')](),_0x234f42(null,null,0x1,_0x153447),_0x153447[_0x1a4e('0x13b')]()),_0x81bc8f&&_0x4e7ad0(_0x3d7f02,_0x1972c2,_0x22b0c5,_0x234f42,_0x153447),_0x153447['polygonEnd']()),_0x3ff7f9=_0x153447,_0x3d7f02=_0x146559=_0x184c89=null;}};return _0x556755;};}function _0x5ad604(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x1e')]>0x1;}function _0x54cbd2(_0x5d7dad,_0x22b0c5){return((_0x5d7dad=_0x5d7dad['x'])[0x0]<0x0?_0x5d7dad[0x1]-_0x8b3a64-_0x48b442:_0x8b3a64-_0x5d7dad[0x1])-((_0x22b0c5=_0x22b0c5['x'])[0x0]<0x0?_0x22b0c5[0x1]-_0x8b3a64-_0x48b442:_0x8b3a64-_0x22b0c5[0x1]);}function _0x40a72a(_0x5d7dad){return function(_0x22b0c5){var _0x5ac9eb=new _0x15aee0();for(var _0x261805 in _0x5d7dad)_0x5ac9eb[_0x261805]=_0x5d7dad[_0x261805];return _0x5ac9eb[_0x1a4e('0x140')]=_0x22b0c5,_0x5ac9eb;};}function _0x15aee0(){}function _0x34b720(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5[0x1][0x0]-_0x22b0c5[0x0][0x0],_0x81bc8f=_0x22b0c5[0x1][0x1]-_0x22b0c5[0x0][0x1],_0x234f42=_0x5d7dad[_0x1a4e('0x141')]&&_0x5d7dad[_0x1a4e('0x141')]();_0x5d7dad['scale'](0x96)[_0x1a4e('0x142')]([0x0,0x0]),null!=_0x234f42&&_0x5d7dad['clipExtent'](null),_0x4199eb(_0x5ac9eb,_0x5d7dad['stream'](_0x2f42d7));var _0x153447=_0x2f42d7[_0x1a4e('0x13f')](),_0x1972c2=Math[_0x1a4e('0x74')](_0x261805/(_0x153447[0x1][0x0]-_0x153447[0x0][0x0]),_0x81bc8f/(_0x153447[0x1][0x1]-_0x153447[0x0][0x1])),_0x3376f9=+_0x22b0c5[0x0][0x0]+(_0x261805-_0x1972c2*(_0x153447[0x1][0x0]+_0x153447[0x0][0x0]))/0x2,_0x5dae0e=+_0x22b0c5[0x0][0x1]+(_0x81bc8f-_0x1972c2*(_0x153447[0x1][0x1]+_0x153447[0x0][0x1]))/0x2;return null!=_0x234f42&&_0x5d7dad[_0x1a4e('0x141')](_0x234f42),_0x5d7dad[_0x1a4e('0x143')](0x96*_0x1972c2)[_0x1a4e('0x142')]([_0x3376f9,_0x5dae0e]);}function _0x57a9ef(_0x5d7dad,_0x22b0c5){return[_0x5d7dad,_0x3c2050(_0x4522ea((_0x8b3a64+_0x22b0c5)/0x2))];}function _0x58581a(_0x5d7dad,_0x22b0c5){return[_0x3c2050(_0x4522ea((_0x8b3a64+_0x22b0c5)/0x2)),-_0x5d7dad];}function _0x13c479(_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=_0x5d7dad[_0x1a4e('0x13')]||{},_0x153447=_0x1a4e('0x12')===_0x5d7dad[_0x1a4e('0x40')]?_0x5d7dad[_0x1a4e('0x18')]:_0x5d7dad;if('GeometryCollection'===_0x153447['type']){var _0x1972c2=[];return _0xaebea(_0x5d7dad,function(_0x5d7dad){var _0x22b0c5=_0x13c479(_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f);_0x22b0c5&&_0x1972c2['push'](_0x22b0c5);}),_0x5dae0e(_0x1972c2);}var _0x3376f9,_0x3d7f02=_0x3c3785(_0x5d7dad),_0x146559=_0x3d7f02[0x1]>0x32&&_0x3d7f02[0x3]>0x32;_0x3376f9=_0x146559?{'type':_0x153447['type'],'coordinates':_0xfc5611(_0x153447['coordinates'],_0x296c4c(_0x153447))}:_0x24337e(_0x153447);var _0x184c89,_0x4198ed=new _0x2e0b42()[_0x1a4e('0x144')](_0x3376f9),_0x41179c=_0x4eb09b(_0x39638f(_0x5ac9eb,_0x261805),_0x1a4e('0x35')),_0x40b220=_0x5d16bb[_0x1a4e('0x145')](_0x4198ed,_0x41179c);if(!function _0x5d7dad(_0x22b0c5){return Array[_0x1a4e('0x15')](_0x22b0c5[0x0])?_0x5d7dad(_0x22b0c5[0x0]):isNaN(_0x22b0c5[0x0]);}((_0x40b220=new _0x3a2b94()[_0x1a4e('0x146')](_0x40b220))[_0x1a4e('0x43')]))return(_0x184c89=_0x146559?{'type':_0x40b220['type'],'coordinates':_0x3b730d(_0x40b220['coordinates'],_0x296c4c(_0x153447))}:_0xb567db(_0x40b220))[_0x1a4e('0x18')]?_0x184c89:_0x22b0c5(_0x184c89,_0x234f42);}function _0xfc5611(_0x5d7dad,_0x22b0c5){return _0x1a4e('0x85')!=typeof _0x5d7dad[0x0]?_0x22b0c5(_0x5d7dad):_0x5d7dad[_0x1a4e('0x21')](function(_0x5d7dad){return _0xfc5611(_0x5d7dad,_0x22b0c5);});}function _0x3b730d(_0x5d7dad,_0x22b0c5){return'object'!=typeof _0x5d7dad[0x0]?_0x22b0c5[_0x1a4e('0x13d')](_0x5d7dad):_0x5d7dad['map'](function(_0x5d7dad){return _0x3b730d(_0x5d7dad,_0x22b0c5);});}function _0x296c4c(_0x5d7dad){var _0x22b0c5=_0x26cbca(_0x5d7dad)[_0x1a4e('0x18')][_0x1a4e('0x43')]['reverse'](),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x21')](function(_0x5d7dad){return-_0x5d7dad;});return _0x2519df()[_0x1a4e('0x111')](_0x22b0c5)['rotate'](_0x5ac9eb)[_0x1a4e('0x143')](_0x292969);}function _0x4b6a6e(){for(var _0x5d7dad=new _0x2e0b42(),_0x22b0c5=_0x5d7dad[_0x1a4e('0x144')](JSON['stringify'](arguments[0x0]['geometry'])),_0x5ac9eb=0x1;_0x5ac9eb=0x0&&(void 0x0===_0x81bc8f||_0x234f42<_0x81bc8f)&&(_0x81bc8f=_0x234f42,_0x261805=_0x5ac9eb);}),_0x261805;}(_0x5d7dad,_0x22b0c5);}function _0x227e23(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb['properties']||{},_0x81bc8f=_0x5ac9eb[_0x1a4e('0x14b')],_0x153447=_0x5ac9eb[_0x1a4e('0xce')];if(null==_0x22b0c5)throw new Error(_0x1a4e('0xcf'));if(!_0x556755(_0x22b0c5))throw new Error(_0x1a4e('0xd0'));if(!_0x5d7dad)throw new Error('bbox\x20is\x20required');if(!Array[_0x1a4e('0x15')](_0x5d7dad))throw new Error(_0x1a4e('0xd1'));if(0x4!==_0x5d7dad[_0x1a4e('0x1e')])throw new Error('bbox\x20must\x20contain\x204\x20numbers');if(_0x153447&&-0x1===['Polygon',_0x1a4e('0x1c')]['indexOf'](_0x9463e6(_0x153447)))throw new Error(_0x1a4e('0xd3'));var _0x1972c2=_0x5d7dad[0x0],_0x3376f9=_0x5d7dad[0x1],_0x3d7f02=_0x5d7dad[0x2],_0x146559=_0x5d7dad[0x3],_0x184c89=(_0x3376f9+_0x146559)/0x2,_0x4198ed=(_0x1972c2+_0x3d7f02)/0x2,_0x41179c=0x2*_0x22b0c5/_0x45cce9([_0x1972c2,_0x184c89],[_0x3d7f02,_0x184c89],_0x5ac9eb)*(_0x3d7f02-_0x1972c2),_0x4eb09b=0x2*_0x22b0c5/_0x45cce9([_0x4198ed,_0x3376f9],[_0x4198ed,_0x146559],_0x5ac9eb)*(_0x146559-_0x3376f9),_0x39638f=_0x41179c/0x2,_0x40b220=0x2*_0x39638f,_0x55366a=Math['sqrt'](0x3)/0x2*_0x4eb09b,_0x527605=_0x3d7f02-_0x1972c2,_0x4b8927=_0x146559-_0x3376f9,_0x3ff7f9=0.75*_0x40b220,_0x3b62c2=_0x55366a,_0x4f92fa=(_0x527605-_0x40b220)/(_0x40b220-_0x39638f/0x2),_0x4fae53=Math[_0x1a4e('0xb4')](_0x4f92fa),_0x40eeaf=(_0x4fae53*_0x3ff7f9-_0x39638f/0x2-_0x527605)/0x2-_0x39638f/0x2+_0x3ff7f9/0x2,_0x34483c=Math['floor']((_0x4b8927-_0x55366a)/_0x55366a),_0x7d6acf=(_0x4b8927-_0x34483c*_0x55366a)/0x2,_0x17e057=_0x34483c*_0x55366a-_0x4b8927>_0x55366a/0x2;_0x17e057&&(_0x7d6acf-=_0x55366a/0x4);for(var _0x1494e6=[],_0x57cad0=[],_0x4412c5=0x0;_0x4412c5<0x6;_0x4412c5++){var _0xaebea=0x2*Math['PI']/0x6*_0x4412c5;_0x1494e6[_0x1a4e('0x46')](Math[_0x1a4e('0x90')](_0xaebea)),_0x57cad0['push'](Math[_0x1a4e('0x8f')](_0xaebea));}for(var _0x5674f8=[],_0xe0c7f6=0x0;_0xe0c7f6<=_0x4fae53;_0xe0c7f6++)for(var _0x23ec33=0x0;_0x23ec33<=_0x34483c;_0x23ec33++){var _0x5b37a5=_0xe0c7f6%0x2==0x1;if(!(0x0===_0x23ec33&&_0x5b37a5||0x0===_0x23ec33&&_0x17e057)){var _0xa3630=_0xe0c7f6*_0x3ff7f9+_0x1972c2-_0x40eeaf,_0x310be4=_0x23ec33*_0x3b62c2+_0x3376f9+_0x7d6acf;if(_0x5b37a5&&(_0x310be4-=_0x55366a/0x2),!0x0===_0x81bc8f)(function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x153447){for(var _0x1972c2=[],_0x3376f9=0x0;_0x3376f9<0x6;_0x3376f9++){var _0x5dae0e=[];_0x5dae0e[_0x1a4e('0x46')](_0x5d7dad),_0x5dae0e[_0x1a4e('0x46')]([_0x5d7dad[0x0]+_0x22b0c5*_0x81bc8f[_0x3376f9],_0x5d7dad[0x1]+_0x5ac9eb*_0x153447[_0x3376f9]]),_0x5dae0e[_0x1a4e('0x46')]([_0x5d7dad[0x0]+_0x22b0c5*_0x81bc8f[(_0x3376f9+0x1)%0x6],_0x5d7dad[0x1]+_0x5ac9eb*_0x153447[(_0x3376f9+0x1)%0x6]]),_0x5dae0e['push'](_0x5d7dad),_0x1972c2['push'](_0x234f42([_0x5dae0e],_0x261805));}return _0x1972c2;}([_0xa3630,_0x310be4],_0x41179c/0x2,_0x4eb09b/0x2,_0x261805,_0x1494e6,_0x57cad0)[_0x1a4e('0x3b')](function(_0x5d7dad){_0x153447?_0x369db8(_0x153447,_0x5d7dad)&&_0x5674f8['push'](_0x5d7dad):_0x5674f8[_0x1a4e('0x46')](_0x5d7dad);}));else{var _0x58d830=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x153447){for(var _0x1972c2=[],_0x3376f9=0x0;_0x3376f9<0x6;_0x3376f9++){var _0x5dae0e=_0x5d7dad[0x0]+_0x22b0c5*_0x81bc8f[_0x3376f9],_0x3d7f02=_0x5d7dad[0x1]+_0x5ac9eb*_0x153447[_0x3376f9];_0x1972c2[_0x1a4e('0x46')]([_0x5dae0e,_0x3d7f02]);}return _0x1972c2['push'](_0x1972c2[0x0][_0x1a4e('0x78')]()),_0x234f42([_0x1972c2],_0x261805);}([_0xa3630,_0x310be4],_0x41179c/0x2,_0x4eb09b/0x2,_0x261805,_0x1494e6,_0x57cad0);_0x153447?_0x369db8(_0x153447,_0x58d830)&&_0x5674f8[_0x1a4e('0x46')](_0x58d830):_0x5674f8[_0x1a4e('0x46')](_0x58d830);}}}return _0x5dae0e(_0x5674f8);}function _0x508b7a(_0x5d7dad){if(_0x5d7dad[_0x1a4e('0x25')][_0x1a4e('0x1e')]<=0x1)return _0x5d7dad;var _0x22b0c5=function(_0x5d7dad){var _0x22b0c5=_0x5b70fe(),_0x5ac9eb=[];return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad,_0x22b0c5){var _0x261805=_0x3c3785(_0x5d7dad);_0x5ac9eb[_0x1a4e('0x46')]({'minX':_0x261805[0x0],'minY':_0x261805[0x1],'maxX':_0x261805[0x2],'maxY':_0x261805[0x3],'geojson':_0x5d7dad,'index':_0x22b0c5});}),_0x22b0c5['load'](_0x5ac9eb),_0x22b0c5;}(_0x5d7dad),_0x5ac9eb=[],_0x261805={};return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad,_0x81bc8f){if(_0x261805[_0x81bc8f])return!0x0;for(_0x22b0c5[_0x1a4e('0x82')]({'index':_0x81bc8f},_0x580a9b),_0x261805[_0x81bc8f]=!0x0;;){var _0x234f42=_0x3c3785(_0x5d7dad),_0x153447=_0x22b0c5[_0x1a4e('0x83')]({'minX':_0x234f42[0x0],'minY':_0x234f42[0x1],'maxX':_0x234f42[0x2],'maxY':_0x234f42[0x3]});if(_0x153447['length']>0x0){var _0x1972c2=_0x153447['map'](function(_0x5d7dad){return _0x261805[_0x5d7dad['index']]=!0x0,_0x22b0c5['remove']({'index':_0x5d7dad[_0x1a4e('0xbd')]},_0x580a9b),_0x5d7dad[_0x1a4e('0x55')];});_0x1972c2['push'](_0x5d7dad),_0x5d7dad=_0x4b6a6e[_0x1a4e('0x8b')](this,_0x1972c2);}if(0x0===_0x153447[_0x1a4e('0x1e')])break;}_0x5ac9eb['push'](_0x5d7dad);}),_0x5dae0e(_0x5ac9eb);}function _0x580a9b(_0x5d7dad,_0x22b0c5){return _0x5d7dad['index']===_0x22b0c5['index'];}function _0x496090(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb[_0x1a4e('0x13')],_0x81bc8f=_0x5ac9eb[_0x1a4e('0xce')],_0x153447=[];if(null==_0x22b0c5)throw new Error(_0x1a4e('0xcf'));if(!_0x556755(_0x22b0c5))throw new Error(_0x1a4e('0xd0'));if(!_0x5d7dad)throw new Error(_0x1a4e('0x38'));if(!Array['isArray'](_0x5d7dad))throw new Error(_0x1a4e('0xd1'));if(0x4!==_0x5d7dad[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0xd2'));if(_0x81bc8f&&-0x1===[_0x1a4e('0x19'),_0x1a4e('0x1c')][_0x1a4e('0x3e')](_0x9463e6(_0x81bc8f)))throw new Error(_0x1a4e('0xd3'));for(var _0x1972c2=_0x5d7dad[0x0],_0x3376f9=_0x5d7dad[0x1],_0x3d7f02=_0x5d7dad[0x2],_0x146559=_0x5d7dad[0x3],_0x184c89=_0x22b0c5/_0x45cce9([_0x1972c2,_0x3376f9],[_0x3d7f02,_0x3376f9],_0x5ac9eb)*(_0x3d7f02-_0x1972c2),_0x4198ed=_0x22b0c5/_0x45cce9([_0x1972c2,_0x3376f9],[_0x1972c2,_0x146559],_0x5ac9eb)*(_0x146559-_0x3376f9),_0x41179c=_0x3d7f02-_0x1972c2,_0x4eb09b=_0x146559-_0x3376f9,_0x39638f=Math[_0x1a4e('0xb4')](_0x41179c/_0x184c89),_0x40b220=Math[_0x1a4e('0xb4')](_0x4eb09b/_0x4198ed),_0x55366a=(_0x4eb09b-_0x40b220*_0x4198ed)/0x2,_0x527605=_0x1972c2+(_0x41179c-_0x39638f*_0x184c89)/0x2,_0x4b8927=0x0;_0x4b8927<_0x39638f;_0x4b8927++){for(var _0x3ff7f9=_0x3376f9+_0x55366a,_0x3b62c2=0x0;_0x3b62c2<_0x40b220;_0x3b62c2++){var _0x4f92fa=_0x234f42([[[_0x527605,_0x3ff7f9],[_0x527605,_0x3ff7f9+_0x4198ed],[_0x527605+_0x184c89,_0x3ff7f9+_0x4198ed],[_0x527605+_0x184c89,_0x3ff7f9],[_0x527605,_0x3ff7f9]]],_0x261805);_0x81bc8f?_0x369db8(_0x81bc8f,_0x4f92fa)&&_0x153447[_0x1a4e('0x46')](_0x4f92fa):_0x153447[_0x1a4e('0x46')](_0x4f92fa),_0x3ff7f9+=_0x4198ed;}_0x527605+=_0x184c89;}return _0x5dae0e(_0x153447);}function _0x135c23(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error('options\x20is\x20invalid');var _0x261805=_0x5ac9eb[_0x1a4e('0x13')],_0x81bc8f=_0x5ac9eb[_0x1a4e('0xce')],_0x153447=[];if(null==_0x22b0c5)throw new Error(_0x1a4e('0xcf'));if(!_0x556755(_0x22b0c5))throw new Error(_0x1a4e('0xd0'));if(!_0x5d7dad)throw new Error(_0x1a4e('0x38'));if(!Array[_0x1a4e('0x15')](_0x5d7dad))throw new Error(_0x1a4e('0xd1'));if(0x4!==_0x5d7dad[_0x1a4e('0x1e')])throw new Error('bbox\x20must\x20contain\x204\x20numbers');if(_0x81bc8f&&-0x1===[_0x1a4e('0x19'),_0x1a4e('0x1c')]['indexOf'](_0x9463e6(_0x81bc8f)))throw new Error(_0x1a4e('0xd3'));for(var _0x1972c2=_0x22b0c5/_0x45cce9([_0x5d7dad[0x0],_0x5d7dad[0x1]],[_0x5d7dad[0x2],_0x5d7dad[0x1]],_0x5ac9eb)*(_0x5d7dad[0x2]-_0x5d7dad[0x0]),_0x3376f9=_0x22b0c5/_0x45cce9([_0x5d7dad[0x0],_0x5d7dad[0x1]],[_0x5d7dad[0x0],_0x5d7dad[0x3]],_0x5ac9eb)*(_0x5d7dad[0x3]-_0x5d7dad[0x1]),_0x3d7f02=0x0,_0x146559=_0x5d7dad[0x0];_0x146559<=_0x5d7dad[0x2];){for(var _0x184c89=0x0,_0x4198ed=_0x5d7dad[0x1];_0x4198ed<=_0x5d7dad[0x3];){var _0x41179c=null,_0x4eb09b=null;_0x3d7f02%0x2==0x0&&_0x184c89%0x2==0x0?(_0x41179c=_0x234f42([[[_0x146559,_0x4198ed],[_0x146559,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed],[_0x146559,_0x4198ed]]],_0x261805),_0x4eb09b=_0x234f42([[[_0x146559,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed],[_0x146559,_0x4198ed+_0x3376f9]]],_0x261805)):_0x3d7f02%0x2==0x0&&_0x184c89%0x2==0x1?(_0x41179c=_0x234f42([[[_0x146559,_0x4198ed],[_0x146559+_0x1972c2,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed],[_0x146559,_0x4198ed]]],_0x261805),_0x4eb09b=_0x234f42([[[_0x146559,_0x4198ed],[_0x146559,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed+_0x3376f9],[_0x146559,_0x4198ed]]],_0x261805)):_0x184c89%0x2==0x0&&_0x3d7f02%0x2==0x1?(_0x41179c=_0x234f42([[[_0x146559,_0x4198ed],[_0x146559,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed+_0x3376f9],[_0x146559,_0x4198ed]]],_0x261805),_0x4eb09b=_0x234f42([[[_0x146559,_0x4198ed],[_0x146559+_0x1972c2,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed],[_0x146559,_0x4198ed]]],_0x261805)):_0x184c89%0x2==0x1&&_0x3d7f02%0x2==0x1&&(_0x41179c=_0x234f42([[[_0x146559,_0x4198ed],[_0x146559,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed],[_0x146559,_0x4198ed]]],_0x261805),_0x4eb09b=_0x234f42([[[_0x146559,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed+_0x3376f9],[_0x146559+_0x1972c2,_0x4198ed],[_0x146559,_0x4198ed+_0x3376f9]]],_0x261805)),_0x81bc8f?(_0x369db8(_0x81bc8f,_0x41179c)&&_0x153447[_0x1a4e('0x46')](_0x41179c),_0x369db8(_0x81bc8f,_0x4eb09b)&&_0x153447['push'](_0x4eb09b)):(_0x153447[_0x1a4e('0x46')](_0x41179c),_0x153447[_0x1a4e('0x46')](_0x4eb09b)),_0x4198ed+=_0x3376f9,_0x184c89++;}_0x3d7f02++,_0x146559+=_0x1972c2;}return _0x5dae0e(_0x153447);}var _0x292969=6371008.8,_0x1234f7={'meters':_0x292969,'metres':_0x292969,'millimeters':0x3e8*_0x292969,'millimetres':0x3e8*_0x292969,'centimeters':0x64*_0x292969,'centimetres':0x64*_0x292969,'kilometers':_0x292969/0x3e8,'kilometres':_0x292969/0x3e8,'miles':_0x292969/1609.344,'nauticalmiles':_0x292969/0x73c,'inches':39.37*_0x292969,'yards':_0x292969/1.0936,'feet':3.28084*_0x292969,'radians':0x1,'degrees':_0x292969/0x1b2dd},_0x3fecac={'meters':0x1,'metres':0x1,'millimeters':0x3e8,'millimetres':0x3e8,'centimeters':0x64,'centimetres':0x64,'kilometers':0.001,'kilometres':0.001,'miles':0x1/1609.344,'nauticalmiles':0x1/0x73c,'inches':39.37,'yards':0x1/1.0936,'feet':3.28084,'radians':0x1/_0x292969,'degrees':0x1/0x1b2dd},_0x42d816={'meters':0x1,'metres':0x1,'millimeters':0xf4240,'millimetres':0xf4240,'centimeters':0x2710,'centimetres':0x2710,'kilometers':0.000001,'kilometres':0.000001,'acres':0.000247105,'miles':3.86e-7,'yards':1.195990046,'feet':10.763910417,'inches':1550.003100006},_0x367e4e=Object['freeze']({'earthRadius':_0x292969,'factors':_0x1234f7,'unitsFactors':_0x3fecac,'areaFactors':_0x42d816,'feature':_0x22b0c5,'geometry':_0x5ac9eb,'point':_0x261805,'points':_0x81bc8f,'polygon':_0x234f42,'polygons':_0x153447,'lineString':_0x1972c2,'lineStrings':_0x3376f9,'featureCollection':_0x5dae0e,'multiLineString':_0x3d7f02,'multiPoint':_0x146559,'multiPolygon':_0x184c89,'geometryCollection':_0x4198ed,'round':_0x41179c,'radiansToLength':_0x4eb09b,'lengthToRadians':_0x39638f,'lengthToDegrees':_0x40b220,'bearingToAzimuth':_0x55366a,'radiansToDegrees':_0x527605,'degreesToRadians':_0x4b8927,'convertLength':_0x3ff7f9,'convertArea':_0x3b62c2,'isNumber':_0x556755,'isObject':_0x162a48,'validateBBox':_0x4f92fa,'validateId':_0x4fae53,'radians2degrees':function(){throw new Error(_0x1a4e('0x14c'));},'degrees2radians':function(){throw new Error(_0x1a4e('0x14d'));},'distanceToDegrees':function(){throw new Error(_0x1a4e('0x14e'));},'distanceToRadians':function(){throw new Error('method\x20has\x20been\x20renamed\x20to\x20`lengthToRadians`');},'radiansToDistance':function(){throw new Error('method\x20has\x20been\x20renamed\x20to\x20`radiansToLength`');},'bearingToAngle':function(){throw new Error(_0x1a4e('0x14f'));},'convertDistance':function(){throw new Error(_0x1a4e('0x150'));}}),_0x2bf227=Object[_0x1a4e('0x151')]({'coordEach':_0x40eeaf,'coordReduce':_0x34483c,'propEach':_0x7d6acf,'propReduce':_0x17e057,'featureEach':_0x1494e6,'featureReduce':_0x57cad0,'coordAll':_0x4412c5,'geomEach':_0xaebea,'geomReduce':_0x5674f8,'flattenEach':_0xe0c7f6,'flattenReduce':_0x23ec33,'segmentEach':_0x5b37a5,'segmentReduce':_0xa3630,'lineEach':_0x310be4,'lineReduce':_0x58d830}),_0x205ba9=Object[_0x1a4e('0x151')]({'getCoord':_0x52d3d8,'getCoords':_0x2a976f,'containsNumber':_0x4598a2,'geojsonType':_0x281b1c,'featureOf':_0xb3655,'collectionOf':_0x1a38db,'getGeom':_0x4510bd,'getGeomType':_0x17d5e4,'getType':_0x9463e6}),_0x404b04={'successCallback':null,'verbose':!0x1},_0x16a768={},_0x405f46=function _0x5d7dad(_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){for(_0x261805=_0x261805||0x0,_0x81bc8f=_0x81bc8f||_0x22b0c5[_0x1a4e('0x1e')]-0x1,_0x234f42=_0x234f42||function(_0x5d7dad,_0x22b0c5){return _0x5d7dad<_0x22b0c5?-0x1:_0x5d7dad>_0x22b0c5?0x1:0x0;};_0x81bc8f>_0x261805;){if(_0x81bc8f-_0x261805>0x258){var _0x153447=_0x81bc8f-_0x261805+0x1,_0x1972c2=_0x5ac9eb-_0x261805+0x1,_0x3376f9=Math['log'](_0x153447),_0x5dae0e=0.5*Math['exp'](0x2*_0x3376f9/0x3),_0x3d7f02=0.5*Math[_0x1a4e('0x91')](_0x3376f9*_0x5dae0e*(_0x153447-_0x5dae0e)/_0x153447)*(_0x1972c2-_0x153447/0x2<0x0?-0x1:0x1);_0x5d7dad(_0x22b0c5,_0x5ac9eb,Math['max'](_0x261805,Math['floor'](_0x5ac9eb-_0x1972c2*_0x5dae0e/_0x153447+_0x3d7f02)),Math['min'](_0x81bc8f,Math[_0x1a4e('0xb4')](_0x5ac9eb+(_0x153447-_0x1972c2)*_0x5dae0e/_0x153447+_0x3d7f02)),_0x234f42);}var _0x146559=_0x22b0c5[_0x5ac9eb],_0x184c89=_0x261805,_0x4198ed=_0x81bc8f;for(_0x328199(_0x22b0c5,_0x261805,_0x5ac9eb),_0x234f42(_0x22b0c5[_0x81bc8f],_0x146559)>0x0&&_0x328199(_0x22b0c5,_0x261805,_0x81bc8f);_0x184c89<_0x4198ed;){for(_0x328199(_0x22b0c5,_0x184c89,_0x4198ed),_0x184c89++,_0x4198ed--;_0x234f42(_0x22b0c5[_0x184c89],_0x146559)<0x0;)_0x184c89++;for(;_0x234f42(_0x22b0c5[_0x4198ed],_0x146559)>0x0;)_0x4198ed--;}0x0===_0x234f42(_0x22b0c5[_0x261805],_0x146559)?_0x328199(_0x22b0c5,_0x261805,_0x4198ed):_0x328199(_0x22b0c5,++_0x4198ed,_0x81bc8f),_0x4198ed<=_0x5ac9eb&&(_0x261805=_0x4198ed+0x1),_0x5ac9eb<=_0x4198ed&&(_0x81bc8f=_0x4198ed-0x1);}},_0x5b70fe=_0x4887ef;_0x4887ef[_0x1a4e('0xa')]={'all':function(){return this['_all'](this[_0x1a4e('0x7f')],[]);},'search':function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x7f')],_0x5ac9eb=[],_0x261805=this[_0x1a4e('0xb6')];if(!_0x38506b(_0x5d7dad,_0x22b0c5))return _0x5ac9eb;for(var _0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9=[];_0x22b0c5;){for(_0x81bc8f=0x0,_0x234f42=_0x22b0c5[_0x1a4e('0x6f')]['length'];_0x81bc8f<_0x234f42;_0x81bc8f++)_0x153447=_0x22b0c5[_0x1a4e('0x6f')][_0x81bc8f],_0x38506b(_0x5d7dad,_0x1972c2=_0x22b0c5[_0x1a4e('0x73')]?_0x261805(_0x153447):_0x153447)&&(_0x22b0c5[_0x1a4e('0x73')]?_0x5ac9eb[_0x1a4e('0x46')](_0x153447):_0x279fe8(_0x5d7dad,_0x1972c2)?this['_all'](_0x153447,_0x5ac9eb):_0x3376f9[_0x1a4e('0x46')](_0x153447));_0x22b0c5=_0x3376f9[_0x1a4e('0x76')]();}return _0x5ac9eb;},'collides':function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x7f')],_0x5ac9eb=this[_0x1a4e('0xb6')];if(!_0x38506b(_0x5d7dad,_0x22b0c5))return!0x1;for(var _0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2=[];_0x22b0c5;){for(_0x261805=0x0,_0x81bc8f=_0x22b0c5[_0x1a4e('0x6f')][_0x1a4e('0x1e')];_0x261805<_0x81bc8f;_0x261805++)if(_0x234f42=_0x22b0c5[_0x1a4e('0x6f')][_0x261805],_0x153447=_0x22b0c5[_0x1a4e('0x73')]?_0x5ac9eb(_0x234f42):_0x234f42,_0x38506b(_0x5d7dad,_0x153447)){if(_0x22b0c5[_0x1a4e('0x73')]||_0x279fe8(_0x5d7dad,_0x153447))return!0x0;_0x1972c2[_0x1a4e('0x46')](_0x234f42);}_0x22b0c5=_0x1972c2[_0x1a4e('0x76')]();}return!0x1;},'load':function(_0x5d7dad){if(!_0x5d7dad||!_0x5d7dad[_0x1a4e('0x1e')])return this;if(_0x5d7dad[_0x1a4e('0x1e')]=0x0&&_0x234f42[_0x22b0c5][_0x1a4e('0x6f')][_0x1a4e('0x1e')]>this[_0x1a4e('0x6a')];)this[_0x1a4e('0x158')](_0x234f42,_0x22b0c5),_0x22b0c5--;this[_0x1a4e('0x159')](_0x81bc8f,_0x234f42,_0x22b0c5);},'_split':function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x22b0c5],_0x261805=_0x5ac9eb['children'][_0x1a4e('0x1e')],_0x81bc8f=this[_0x1a4e('0x6b')];this[_0x1a4e('0x15a')](_0x5ac9eb,_0x81bc8f,_0x261805);var _0x234f42=this[_0x1a4e('0x15b')](_0x5ac9eb,_0x81bc8f,_0x261805),_0x153447=_0x4b6acb(_0x5ac9eb[_0x1a4e('0x6f')][_0x1a4e('0x8a')](_0x234f42,_0x5ac9eb[_0x1a4e('0x6f')]['length']-_0x234f42));_0x153447[_0x1a4e('0x152')]=_0x5ac9eb[_0x1a4e('0x152')],_0x153447['leaf']=_0x5ac9eb[_0x1a4e('0x73')],_0x3a6d5d(_0x5ac9eb,this[_0x1a4e('0xb6')]),_0x3a6d5d(_0x153447,this[_0x1a4e('0xb6')]),_0x22b0c5?_0x5d7dad[_0x22b0c5-0x1][_0x1a4e('0x6f')][_0x1a4e('0x46')](_0x153447):this['_splitRoot'](_0x5ac9eb,_0x153447);},'_splitRoot':function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x7f')]=_0x4b6acb([_0x5d7dad,_0x22b0c5]),this[_0x1a4e('0x7f')]['height']=_0x5d7dad[_0x1a4e('0x152')]+0x1,this[_0x1a4e('0x7f')]['leaf']=!0x1,_0x3a6d5d(this[_0x1a4e('0x7f')],this[_0x1a4e('0xb6')]);},'_chooseSplitIndex':function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02;for(_0x3376f9=_0x5dae0e=0x1/0x0,_0x261805=_0x22b0c5;_0x261805<=_0x5ac9eb-_0x22b0c5;_0x261805++)_0x153447=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=Math[_0x1a4e('0x6c')](_0x5d7dad['minX'],_0x22b0c5[_0x1a4e('0x70')]),_0x261805=Math[_0x1a4e('0x6c')](_0x5d7dad[_0x1a4e('0x71')],_0x22b0c5['minY']),_0x81bc8f=Math[_0x1a4e('0x74')](_0x5d7dad['maxX'],_0x22b0c5[_0x1a4e('0x75')]),_0x234f42=Math['min'](_0x5d7dad[_0x1a4e('0x72')],_0x22b0c5[_0x1a4e('0x72')]);return Math[_0x1a4e('0x6c')](0x0,_0x81bc8f-_0x5ac9eb)*Math['max'](0x0,_0x234f42-_0x261805);}(_0x81bc8f=_0x842214(_0x5d7dad,0x0,_0x261805,this[_0x1a4e('0xb6')]),_0x234f42=_0x842214(_0x5d7dad,_0x261805,_0x5ac9eb,this[_0x1a4e('0xb6')])),_0x1972c2=_0x318470(_0x81bc8f)+_0x318470(_0x234f42),_0x153447<_0x3376f9?(_0x3376f9=_0x153447,_0x3d7f02=_0x261805,_0x5dae0e=_0x1972c2<_0x5dae0e?_0x1972c2:_0x5dae0e):_0x153447===_0x3376f9&&_0x1972c2<_0x5dae0e&&(_0x5dae0e=_0x1972c2,_0x3d7f02=_0x261805);return _0x3d7f02;},'_chooseSplitAxis':function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad['leaf']?this[_0x1a4e('0x156')]:_0x43e18a,_0x81bc8f=_0x5d7dad['leaf']?this[_0x1a4e('0x15c')]:_0x189974;this['_allDistMargin'](_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805)=_0x22b0c5;_0x81bc8f--)_0x234f42=_0x5d7dad[_0x1a4e('0x6f')][_0x81bc8f],_0x4a9811(_0x3376f9,_0x5d7dad['leaf']?_0x153447(_0x234f42):_0x234f42),_0x5dae0e+=_0x3a6b85(_0x3376f9);return _0x5dae0e;},'_adjustParentBBoxes':function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){for(var _0x261805=_0x5ac9eb;_0x261805>=0x0;_0x261805--)_0x4a9811(_0x22b0c5[_0x261805],_0x5d7dad);},'_condense':function(_0x5d7dad){for(var _0x22b0c5,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x1e')]-0x1;_0x5ac9eb>=0x0;_0x5ac9eb--)0x0===_0x5d7dad[_0x5ac9eb][_0x1a4e('0x6f')][_0x1a4e('0x1e')]?_0x5ac9eb>0x0?(_0x22b0c5=_0x5d7dad[_0x5ac9eb-0x1]['children'])[_0x1a4e('0x8a')](_0x22b0c5[_0x1a4e('0x3e')](_0x5d7dad[_0x5ac9eb]),0x1):this[_0x1a4e('0xb5')]():_0x3a6d5d(_0x5d7dad[_0x5ac9eb],this['toBBox']);},'_initFormat':function(_0x5d7dad){var _0x22b0c5=['return\x20a','\x20-\x20b',';'];this[_0x1a4e('0x156')]=new Function('a','b',_0x22b0c5['join'](_0x5d7dad[0x0])),this[_0x1a4e('0x15c')]=new Function('a','b',_0x22b0c5[_0x1a4e('0x9e')](_0x5d7dad[0x1])),this['toBBox']=new Function('a',_0x1a4e('0x15e')+_0x5d7dad[0x0]+_0x1a4e('0x15f')+_0x5d7dad[0x1]+_0x1a4e('0x160')+_0x5d7dad[0x2]+',\x20maxY:\x20a'+_0x5d7dad[0x3]+'};');}};var _0x285914=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad*_0x22b0c5,_0x81bc8f=_0x16d916*_0x5d7dad,_0x234f42=_0x81bc8f-(_0x81bc8f-_0x5d7dad),_0x153447=_0x5d7dad-_0x234f42,_0x1972c2=_0x16d916*_0x22b0c5,_0x3376f9=_0x1972c2-(_0x1972c2-_0x22b0c5),_0x5dae0e=_0x22b0c5-_0x3376f9,_0x3d7f02=_0x153447*_0x5dae0e-(_0x261805-_0x234f42*_0x3376f9-_0x153447*_0x3376f9-_0x234f42*_0x5dae0e);return _0x5ac9eb?(_0x5ac9eb[0x0]=_0x3d7f02,_0x5ac9eb[0x1]=_0x261805,_0x5ac9eb):[_0x3d7f02,_0x261805];},_0x16d916=+(Math[_0x1a4e('0x8e')](0x2,0x1b)+0x1),_0x3a9af1=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=0x0|_0x5d7dad[_0x1a4e('0x1e')],_0x261805=0x0|_0x22b0c5['length'];if(0x1===_0x5ac9eb&&0x1===_0x261805)return function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad+_0x22b0c5,_0x261805=_0x5ac9eb-_0x5d7dad,_0x81bc8f=_0x5d7dad-(_0x5ac9eb-_0x261805)+(_0x22b0c5-_0x261805);return _0x81bc8f?[_0x81bc8f,_0x5ac9eb]:[_0x5ac9eb];}(_0x5d7dad[0x0],_0x22b0c5[0x0]);var _0x81bc8f,_0x234f42,_0x153447=_0x5ac9eb+_0x261805,_0x1972c2=new Array(_0x153447),_0x3376f9=0x0,_0x5dae0e=0x0,_0x3d7f02=0x0,_0x146559=Math[_0x1a4e('0x65')],_0x184c89=_0x5d7dad[_0x5dae0e],_0x4198ed=_0x146559(_0x184c89),_0x41179c=_0x22b0c5[_0x3d7f02],_0x4eb09b=_0x146559(_0x41179c);_0x4198ed<_0x4eb09b?(_0x234f42=_0x184c89,(_0x5dae0e+=0x1)<_0x5ac9eb&&(_0x4198ed=_0x146559(_0x184c89=_0x5d7dad[_0x5dae0e]))):(_0x234f42=_0x41179c,(_0x3d7f02+=0x1)<_0x261805&&(_0x4eb09b=_0x146559(_0x41179c=_0x22b0c5[_0x3d7f02]))),_0x5dae0e<_0x5ac9eb&&_0x4198ed<_0x4eb09b||_0x3d7f02>=_0x261805?(_0x81bc8f=_0x184c89,(_0x5dae0e+=0x1)<_0x5ac9eb&&(_0x4198ed=_0x146559(_0x184c89=_0x5d7dad[_0x5dae0e]))):(_0x81bc8f=_0x41179c,(_0x3d7f02+=0x1)<_0x261805&&(_0x4eb09b=_0x146559(_0x41179c=_0x22b0c5[_0x3d7f02])));for(var _0x39638f,_0x40b220,_0x55366a=_0x81bc8f+_0x234f42,_0x527605=_0x55366a-_0x81bc8f,_0x4b8927=_0x234f42-_0x527605,_0x3ff7f9=_0x4b8927,_0x3b62c2=_0x55366a;_0x5dae0e<_0x5ac9eb&&_0x3d7f02<_0x261805;)_0x4198ed<_0x4eb09b?(_0x81bc8f=_0x184c89,(_0x5dae0e+=0x1)<_0x5ac9eb&&(_0x4198ed=_0x146559(_0x184c89=_0x5d7dad[_0x5dae0e]))):(_0x81bc8f=_0x41179c,(_0x3d7f02+=0x1)<_0x261805&&(_0x4eb09b=_0x146559(_0x41179c=_0x22b0c5[_0x3d7f02]))),(_0x4b8927=(_0x234f42=_0x3ff7f9)-(_0x527605=(_0x55366a=_0x81bc8f+_0x234f42)-_0x81bc8f))&&(_0x1972c2[_0x3376f9++]=_0x4b8927),_0x3ff7f9=_0x3b62c2-((_0x39638f=_0x3b62c2+_0x55366a)-(_0x40b220=_0x39638f-_0x3b62c2))+(_0x55366a-_0x40b220),_0x3b62c2=_0x39638f;for(;_0x5dae0e<_0x5ac9eb;)(_0x4b8927=(_0x234f42=_0x3ff7f9)-(_0x527605=(_0x55366a=(_0x81bc8f=_0x184c89)+_0x234f42)-_0x81bc8f))&&(_0x1972c2[_0x3376f9++]=_0x4b8927),_0x3ff7f9=_0x3b62c2-((_0x39638f=_0x3b62c2+_0x55366a)-(_0x40b220=_0x39638f-_0x3b62c2))+(_0x55366a-_0x40b220),_0x3b62c2=_0x39638f,(_0x5dae0e+=0x1)<_0x5ac9eb&&(_0x184c89=_0x5d7dad[_0x5dae0e]);for(;_0x3d7f02<_0x261805;)(_0x4b8927=(_0x234f42=_0x3ff7f9)-(_0x527605=(_0x55366a=(_0x81bc8f=_0x41179c)+_0x234f42)-_0x81bc8f))&&(_0x1972c2[_0x3376f9++]=_0x4b8927),_0x3ff7f9=_0x3b62c2-((_0x39638f=_0x3b62c2+_0x55366a)-(_0x40b220=_0x39638f-_0x3b62c2))+(_0x55366a-_0x40b220),_0x3b62c2=_0x39638f,(_0x3d7f02+=0x1)<_0x261805&&(_0x41179c=_0x22b0c5[_0x3d7f02]);return _0x3ff7f9&&(_0x1972c2[_0x3376f9++]=_0x3ff7f9),_0x3b62c2&&(_0x1972c2[_0x3376f9++]=_0x3b62c2),_0x3376f9||(_0x1972c2[_0x3376f9++]=0x0),_0x1972c2[_0x1a4e('0x1e')]=_0x3376f9,_0x1972c2;},_0x4ab9df=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad+_0x22b0c5,_0x81bc8f=_0x261805-_0x5d7dad,_0x234f42=_0x22b0c5-_0x81bc8f,_0x153447=_0x5d7dad-(_0x261805-_0x81bc8f);return _0x5ac9eb?(_0x5ac9eb[0x0]=_0x153447+_0x234f42,_0x5ac9eb[0x1]=_0x261805,_0x5ac9eb):[_0x153447+_0x234f42,_0x261805];},_0x3ee3d7=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x1e')];if(0x1===_0x5ac9eb){var _0x261805=_0x285914(_0x5d7dad[0x0],_0x22b0c5);return _0x261805[0x0]?_0x261805:[_0x261805[0x1]];}var _0x81bc8f=new Array(0x2*_0x5ac9eb),_0x234f42=[0.1,0.1],_0x153447=[0.1,0.1],_0x1972c2=0x0;_0x285914(_0x5d7dad[0x0],_0x22b0c5,_0x234f42),_0x234f42[0x0]&&(_0x81bc8f[_0x1972c2++]=_0x234f42[0x0]);for(var _0x3376f9=0x1;_0x3376f9<_0x5ac9eb;++_0x3376f9){_0x285914(_0x5d7dad[_0x3376f9],_0x22b0c5,_0x153447);var _0x5dae0e=_0x234f42[0x1];_0x4ab9df(_0x5dae0e,_0x153447[0x0],_0x234f42),_0x234f42[0x0]&&(_0x81bc8f[_0x1972c2++]=_0x234f42[0x0]);var _0x3d7f02=_0x153447[0x1],_0x146559=_0x234f42[0x1],_0x184c89=_0x3d7f02+_0x146559,_0x4198ed=_0x146559-(_0x184c89-_0x3d7f02);_0x234f42[0x1]=_0x184c89,_0x4198ed&&(_0x81bc8f[_0x1972c2++]=_0x4198ed);}return _0x234f42[0x1]&&(_0x81bc8f[_0x1972c2++]=_0x234f42[0x1]),0x0===_0x1972c2&&(_0x81bc8f[_0x1972c2++]=0x0),_0x81bc8f[_0x1a4e('0x1e')]=_0x1972c2,_0x81bc8f;},_0x18dbb0=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=0x0|_0x5d7dad[_0x1a4e('0x1e')],_0x261805=0x0|_0x22b0c5['length'];if(0x1===_0x5ac9eb&&0x1===_0x261805)return function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad+_0x22b0c5,_0x261805=_0x5ac9eb-_0x5d7dad,_0x81bc8f=_0x5d7dad-(_0x5ac9eb-_0x261805)+(_0x22b0c5-_0x261805);return _0x81bc8f?[_0x81bc8f,_0x5ac9eb]:[_0x5ac9eb];}(_0x5d7dad[0x0],-_0x22b0c5[0x0]);var _0x81bc8f,_0x234f42,_0x153447=_0x5ac9eb+_0x261805,_0x1972c2=new Array(_0x153447),_0x3376f9=0x0,_0x5dae0e=0x0,_0x3d7f02=0x0,_0x146559=Math['abs'],_0x184c89=_0x5d7dad[_0x5dae0e],_0x4198ed=_0x146559(_0x184c89),_0x41179c=-_0x22b0c5[_0x3d7f02],_0x4eb09b=_0x146559(_0x41179c);_0x4198ed<_0x4eb09b?(_0x234f42=_0x184c89,(_0x5dae0e+=0x1)<_0x5ac9eb&&(_0x4198ed=_0x146559(_0x184c89=_0x5d7dad[_0x5dae0e]))):(_0x234f42=_0x41179c,(_0x3d7f02+=0x1)<_0x261805&&(_0x4eb09b=_0x146559(_0x41179c=-_0x22b0c5[_0x3d7f02]))),_0x5dae0e<_0x5ac9eb&&_0x4198ed<_0x4eb09b||_0x3d7f02>=_0x261805?(_0x81bc8f=_0x184c89,(_0x5dae0e+=0x1)<_0x5ac9eb&&(_0x4198ed=_0x146559(_0x184c89=_0x5d7dad[_0x5dae0e]))):(_0x81bc8f=_0x41179c,(_0x3d7f02+=0x1)<_0x261805&&(_0x4eb09b=_0x146559(_0x41179c=-_0x22b0c5[_0x3d7f02])));for(var _0x39638f,_0x40b220,_0x55366a=_0x81bc8f+_0x234f42,_0x527605=_0x55366a-_0x81bc8f,_0x4b8927=_0x234f42-_0x527605,_0x3ff7f9=_0x4b8927,_0x3b62c2=_0x55366a;_0x5dae0e<_0x5ac9eb&&_0x3d7f02<_0x261805;)_0x4198ed<_0x4eb09b?(_0x81bc8f=_0x184c89,(_0x5dae0e+=0x1)<_0x5ac9eb&&(_0x4198ed=_0x146559(_0x184c89=_0x5d7dad[_0x5dae0e]))):(_0x81bc8f=_0x41179c,(_0x3d7f02+=0x1)<_0x261805&&(_0x4eb09b=_0x146559(_0x41179c=-_0x22b0c5[_0x3d7f02]))),(_0x4b8927=(_0x234f42=_0x3ff7f9)-(_0x527605=(_0x55366a=_0x81bc8f+_0x234f42)-_0x81bc8f))&&(_0x1972c2[_0x3376f9++]=_0x4b8927),_0x3ff7f9=_0x3b62c2-((_0x39638f=_0x3b62c2+_0x55366a)-(_0x40b220=_0x39638f-_0x3b62c2))+(_0x55366a-_0x40b220),_0x3b62c2=_0x39638f;for(;_0x5dae0e<_0x5ac9eb;)(_0x4b8927=(_0x234f42=_0x3ff7f9)-(_0x527605=(_0x55366a=(_0x81bc8f=_0x184c89)+_0x234f42)-_0x81bc8f))&&(_0x1972c2[_0x3376f9++]=_0x4b8927),_0x3ff7f9=_0x3b62c2-((_0x39638f=_0x3b62c2+_0x55366a)-(_0x40b220=_0x39638f-_0x3b62c2))+(_0x55366a-_0x40b220),_0x3b62c2=_0x39638f,(_0x5dae0e+=0x1)<_0x5ac9eb&&(_0x184c89=_0x5d7dad[_0x5dae0e]);for(;_0x3d7f02<_0x261805;)(_0x4b8927=(_0x234f42=_0x3ff7f9)-(_0x527605=(_0x55366a=(_0x81bc8f=_0x41179c)+_0x234f42)-_0x81bc8f))&&(_0x1972c2[_0x3376f9++]=_0x4b8927),_0x3ff7f9=_0x3b62c2-((_0x39638f=_0x3b62c2+_0x55366a)-(_0x40b220=_0x39638f-_0x3b62c2))+(_0x55366a-_0x40b220),_0x3b62c2=_0x39638f,(_0x3d7f02+=0x1)<_0x261805&&(_0x41179c=-_0x22b0c5[_0x3d7f02]);return _0x3ff7f9&&(_0x1972c2[_0x3376f9++]=_0x3ff7f9),_0x3b62c2&&(_0x1972c2[_0x3376f9++]=_0x3b62c2),_0x3376f9||(_0x1972c2[_0x3376f9++]=0x0),_0x1972c2[_0x1a4e('0x1e')]=_0x3376f9,_0x1972c2;},_0x57acb0=_0x1d580f(function(_0x5d7dad){function _0x22b0c5(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=new Array(_0x5d7dad[_0x1a4e('0x1e')]-0x1),_0x261805=0x1;_0x261805<_0x5d7dad[_0x1a4e('0x1e')];++_0x261805)for(var _0x81bc8f=_0x5ac9eb[_0x261805-0x1]=new Array(_0x5d7dad['length']-0x1),_0x234f42=0x0,_0x153447=0x0;_0x234f42<_0x5d7dad[_0x1a4e('0x1e')];++_0x234f42)_0x234f42!==_0x22b0c5&&(_0x81bc8f[_0x153447++]=_0x5d7dad[_0x261805][_0x234f42]);return _0x5ac9eb;}function _0x5ac9eb(_0x5d7dad){return 0x1&_0x5d7dad?'-':'';}function _0x261805(_0x5d7dad){if(0x1===_0x5d7dad[_0x1a4e('0x1e')])return _0x5d7dad[0x0];if(0x2===_0x5d7dad['length'])return[_0x1a4e('0x161'),_0x5d7dad[0x0],',',_0x5d7dad[0x1],')']['join']('');var _0x22b0c5=_0x5d7dad[_0x1a4e('0x1e')]>>0x1;return[_0x1a4e('0x161'),_0x261805(_0x5d7dad['slice'](0x0,_0x22b0c5)),',',_0x261805(_0x5d7dad[_0x1a4e('0x78')](_0x22b0c5)),')'][_0x1a4e('0x9e')]('');}function _0x81bc8f(_0x5d7dad){if(0x2===_0x5d7dad[_0x1a4e('0x1e')])return[[_0x1a4e('0x162'),_0x5d7dad[0x0][0x0],',',_0x5d7dad[0x1][0x1],_0x1a4e('0x163'),_0x5d7dad[0x0][0x1],',',_0x5d7dad[0x1][0x0],'))'][_0x1a4e('0x9e')]('')];for(var _0x234f42=[],_0x153447=0x0;_0x153447<_0x5d7dad[_0x1a4e('0x1e')];++_0x153447)_0x234f42['push'](['scale(',_0x261805(_0x81bc8f(_0x22b0c5(_0x5d7dad,_0x153447))),',',_0x5ac9eb(_0x153447),_0x5d7dad[0x0][_0x153447],')']['join'](''));return _0x234f42;}function _0x234f42(_0x5d7dad){for(var _0x5ac9eb=[],_0x234f42=[],_0x153447=function(_0x5d7dad){for(var _0x22b0c5=new Array(_0x5d7dad),_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad;++_0x5ac9eb){_0x22b0c5[_0x5ac9eb]=new Array(_0x5d7dad);for(var _0x261805=0x0;_0x261805<_0x5d7dad;++_0x261805)_0x22b0c5[_0x5ac9eb][_0x261805]=['m',_0x261805,'[',_0x5d7dad-_0x5ac9eb-0x1,']'][_0x1a4e('0x9e')]('');}return _0x22b0c5;}(_0x5d7dad),_0x1972c2=[],_0x3376f9=0x0;_0x3376f9<_0x5d7dad;++_0x3376f9)0x0==(0x1&_0x3376f9)?_0x5ac9eb[_0x1a4e('0x46')]['apply'](_0x5ac9eb,_0x81bc8f(_0x22b0c5(_0x153447,_0x3376f9))):_0x234f42[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x234f42,_0x81bc8f(_0x22b0c5(_0x153447,_0x3376f9))),_0x1972c2[_0x1a4e('0x46')]('m'+_0x3376f9);var _0x5dae0e=_0x261805(_0x5ac9eb),_0x3d7f02=_0x261805(_0x234f42),_0x146559=_0x1a4e('0x164')+_0x5d7dad+'Exact',_0x184c89=[_0x1a4e('0x165'),_0x146559,'(',_0x1972c2[_0x1a4e('0x9e')](),_0x1a4e('0x166'),_0x5dae0e,_0x1a4e('0x167'),_0x3d7f02,',d=sub(p,n);return\x20d[d.length-1];};return\x20',_0x146559][_0x1a4e('0x9e')]('');return new Function(_0x1a4e('0x168'),_0x1a4e('0x169'),_0x1a4e('0x143'),_0x1a4e('0x16a'),_0x184c89)(_0x3a9af1,_0x285914,_0x3ee3d7,_0x18dbb0);}var _0x153447=_0x234f42(0x3),_0x1972c2=_0x234f42(0x4),_0x3376f9=[function(){return 0x0;},function(){return 0x0;},function(_0x5d7dad,_0x22b0c5){return _0x22b0c5[0x0]-_0x5d7dad[0x0];},function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805,_0x81bc8f=(_0x5d7dad[0x1]-_0x5ac9eb[0x1])*(_0x22b0c5[0x0]-_0x5ac9eb[0x0]),_0x234f42=(_0x5d7dad[0x0]-_0x5ac9eb[0x0])*(_0x22b0c5[0x1]-_0x5ac9eb[0x1]),_0x1972c2=_0x81bc8f-_0x234f42;if(_0x81bc8f>0x0){if(_0x234f42<=0x0)return _0x1972c2;_0x261805=_0x81bc8f+_0x234f42;}else{if(!(_0x81bc8f<0x0))return _0x1972c2;if(_0x234f42>=0x0)return _0x1972c2;_0x261805=-(_0x81bc8f+_0x234f42);}var _0x3376f9=3.3306690738754716e-16*_0x261805;return _0x1972c2>=_0x3376f9||_0x1972c2<=-_0x3376f9?_0x1972c2:_0x153447(_0x5d7dad,_0x22b0c5,_0x5ac9eb);},function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5d7dad[0x0]-_0x261805[0x0],_0x234f42=_0x22b0c5[0x0]-_0x261805[0x0],_0x153447=_0x5ac9eb[0x0]-_0x261805[0x0],_0x3376f9=_0x5d7dad[0x1]-_0x261805[0x1],_0x5dae0e=_0x22b0c5[0x1]-_0x261805[0x1],_0x3d7f02=_0x5ac9eb[0x1]-_0x261805[0x1],_0x146559=_0x5d7dad[0x2]-_0x261805[0x2],_0x184c89=_0x22b0c5[0x2]-_0x261805[0x2],_0x4198ed=_0x5ac9eb[0x2]-_0x261805[0x2],_0x41179c=_0x234f42*_0x3d7f02,_0x4eb09b=_0x153447*_0x5dae0e,_0x39638f=_0x153447*_0x3376f9,_0x40b220=_0x81bc8f*_0x3d7f02,_0x55366a=_0x81bc8f*_0x5dae0e,_0x527605=_0x234f42*_0x3376f9,_0x4b8927=_0x146559*(_0x41179c-_0x4eb09b)+_0x184c89*(_0x39638f-_0x40b220)+_0x4198ed*(_0x55366a-_0x527605),_0x3ff7f9=7.771561172376103e-16*((Math[_0x1a4e('0x65')](_0x41179c)+Math[_0x1a4e('0x65')](_0x4eb09b))*Math[_0x1a4e('0x65')](_0x146559)+(Math[_0x1a4e('0x65')](_0x39638f)+Math['abs'](_0x40b220))*Math[_0x1a4e('0x65')](_0x184c89)+(Math['abs'](_0x55366a)+Math[_0x1a4e('0x65')](_0x527605))*Math[_0x1a4e('0x65')](_0x4198ed));return _0x4b8927>_0x3ff7f9||-_0x4b8927>_0x3ff7f9?_0x4b8927:_0x1972c2(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805);}];!function(){for(;_0x3376f9[_0x1a4e('0x1e')]<=0x5;)_0x3376f9[_0x1a4e('0x46')](_0x234f42(_0x3376f9[_0x1a4e('0x1e')]));for(var _0x22b0c5=[],_0x5ac9eb=[_0x1a4e('0x16b')],_0x261805=0x0;_0x261805<=0x5;++_0x261805)_0x22b0c5[_0x1a4e('0x46')]('a'+_0x261805),_0x5ac9eb[_0x1a4e('0x46')]('o'+_0x261805);var _0x81bc8f=[_0x1a4e('0x16c'),_0x22b0c5[_0x1a4e('0x9e')](),'){switch(arguments.length){case\x200:case\x201:return\x200;'];for(_0x261805=0x2;_0x261805<=0x5;++_0x261805)_0x81bc8f[_0x1a4e('0x46')](_0x1a4e('0x16d'),_0x261805,_0x1a4e('0x16e'),_0x261805,'(',_0x22b0c5[_0x1a4e('0x78')](0x0,_0x261805)[_0x1a4e('0x9e')](),');');_0x81bc8f[_0x1a4e('0x46')](_0x1a4e('0x16f')),_0x5ac9eb[_0x1a4e('0x46')](_0x81bc8f[_0x1a4e('0x9e')](''));var _0x153447=Function[_0x1a4e('0x8b')](void 0x0,_0x5ac9eb);for(_0x5d7dad['exports']=_0x153447[_0x1a4e('0x8b')](void 0x0,[function(_0x5d7dad){var _0x22b0c5=_0x3376f9[_0x5d7dad[_0x1a4e('0x1e')]];return _0x22b0c5||(_0x22b0c5=_0x3376f9[_0x5d7dad[_0x1a4e('0x1e')]]=_0x234f42(_0x5d7dad[_0x1a4e('0x1e')])),_0x22b0c5[_0x1a4e('0x8b')](void 0x0,_0x5d7dad);}][_0x1a4e('0x9a')](_0x3376f9)),_0x261805=0x0;_0x261805<=0x5;++_0x261805)_0x5d7dad[_0x1a4e('0x0')][_0x261805]=_0x3376f9[_0x261805];}();}),_0x4f15f4=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x1e')];if(_0x22b0c5<0x3){for(var _0x5ac9eb=new Array(_0x22b0c5),_0x261805=0x0;_0x261805<_0x22b0c5;++_0x261805)_0x5ac9eb[_0x261805]=_0x261805;return 0x2===_0x22b0c5&&_0x5d7dad[0x0][0x0]===_0x5d7dad[0x1][0x0]&&_0x5d7dad[0x0][0x1]===_0x5d7dad[0x1][0x1]?[0x0]:_0x5ac9eb;}var _0x81bc8f=new Array(_0x22b0c5);for(_0x261805=0x0;_0x261805<_0x22b0c5;++_0x261805)_0x81bc8f[_0x261805]=_0x261805;_0x81bc8f[_0x1a4e('0x89')](function(_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x22b0c5][0x0]-_0x5d7dad[_0x5ac9eb][0x0];return _0x261805||_0x5d7dad[_0x22b0c5][0x1]-_0x5d7dad[_0x5ac9eb][0x1];});var _0x234f42=[_0x81bc8f[0x0],_0x81bc8f[0x1]],_0x153447=[_0x81bc8f[0x0],_0x81bc8f[0x1]];for(_0x261805=0x2;_0x261805<_0x22b0c5;++_0x261805){for(var _0x1972c2=_0x81bc8f[_0x261805],_0x3376f9=_0x5d7dad[_0x1972c2],_0x5dae0e=_0x234f42['length'];_0x5dae0e>0x1&&_0x3702f2(_0x5d7dad[_0x234f42[_0x5dae0e-0x2]],_0x5d7dad[_0x234f42[_0x5dae0e-0x1]],_0x3376f9)<=0x0;)_0x5dae0e-=0x1,_0x234f42[_0x1a4e('0x76')]();for(_0x234f42[_0x1a4e('0x46')](_0x1972c2),_0x5dae0e=_0x153447[_0x1a4e('0x1e')];_0x5dae0e>0x1&&_0x3702f2(_0x5d7dad[_0x153447[_0x5dae0e-0x2]],_0x5d7dad[_0x153447[_0x5dae0e-0x1]],_0x3376f9)>=0x0;)_0x5dae0e-=0x1,_0x153447[_0x1a4e('0x76')]();_0x153447[_0x1a4e('0x46')](_0x1972c2);}_0x5ac9eb=new Array(_0x153447[_0x1a4e('0x1e')]+_0x234f42[_0x1a4e('0x1e')]-0x2);for(var _0x3d7f02=0x0,_0x146559=(_0x261805=0x0,_0x234f42[_0x1a4e('0x1e')]);_0x261805<_0x146559;++_0x261805)_0x5ac9eb[_0x3d7f02++]=_0x234f42[_0x261805];for(var _0x184c89=_0x153447[_0x1a4e('0x1e')]-0x2;_0x184c89>0x0;--_0x184c89)_0x5ac9eb[_0x3d7f02++]=_0x153447[_0x184c89];return _0x5ac9eb;},_0x3702f2=_0x57acb0[0x3],_0x5ecbb5=_0x2fb8bc,_0x2bf80d=_0x2fb8bc;_0x2fb8bc['prototype']={'push':function(_0x5d7dad){this['data'][_0x1a4e('0x46')](_0x5d7dad),this[_0x1a4e('0x1e')]++,this[_0x1a4e('0x170')](this[_0x1a4e('0x1e')]-0x1);},'pop':function(){if(0x0!==this[_0x1a4e('0x1e')]){var _0x5d7dad=this[_0x1a4e('0x7f')][0x0];return this[_0x1a4e('0x1e')]--,this[_0x1a4e('0x1e')]>0x0&&(this['data'][0x0]=this['data'][this[_0x1a4e('0x1e')]],this[_0x1a4e('0x171')](0x0)),this[_0x1a4e('0x7f')][_0x1a4e('0x76')](),_0x5d7dad;}},'peek':function(){return this[_0x1a4e('0x7f')][0x0];},'_up':function(_0x5d7dad){for(var _0x22b0c5=this[_0x1a4e('0x7f')],_0x5ac9eb=this['compare'],_0x261805=_0x22b0c5[_0x5d7dad];_0x5d7dad>0x0;){var _0x81bc8f=_0x5d7dad-0x1>>0x1,_0x234f42=_0x22b0c5[_0x81bc8f];if(_0x5ac9eb(_0x261805,_0x234f42)>=0x0)break;_0x22b0c5[_0x5d7dad]=_0x234f42,_0x5d7dad=_0x81bc8f;}_0x22b0c5[_0x5d7dad]=_0x261805;},'_down':function(_0x5d7dad){for(var _0x22b0c5=this[_0x1a4e('0x7f')],_0x5ac9eb=this['compare'],_0x261805=this[_0x1a4e('0x1e')]>>0x1,_0x81bc8f=_0x22b0c5[_0x5d7dad];_0x5d7dad<_0x261805;){var _0x234f42=0x1+(_0x5d7dad<<0x1),_0x153447=_0x234f42+0x1,_0x1972c2=_0x22b0c5[_0x234f42];if(_0x153447=0x0)break;_0x22b0c5[_0x5d7dad]=_0x1972c2,_0x5d7dad=_0x234f42;}_0x22b0c5[_0x5d7dad]=_0x81bc8f;}},_0x5ecbb5['default']=_0x2bf80d;var _0x3e52e8=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x5d7dad[0x0],_0x261805=_0x5d7dad[0x1],_0x81bc8f=!0x1,_0x234f42=0x0,_0x153447=_0x22b0c5['length']-0x1;_0x234f42<_0x22b0c5[_0x1a4e('0x1e')];_0x153447=_0x234f42++){var _0x1972c2=_0x22b0c5[_0x234f42][0x0],_0x3376f9=_0x22b0c5[_0x234f42][0x1],_0x5dae0e=_0x22b0c5[_0x153447][0x0],_0x3d7f02=_0x22b0c5[_0x153447][0x1];_0x3376f9>_0x261805!=_0x3d7f02>_0x261805&&_0x5ac9eb<(_0x5dae0e-_0x1972c2)*(_0x261805-_0x3376f9)/(_0x3d7f02-_0x3376f9)+_0x1972c2&&(_0x81bc8f=!_0x81bc8f);}return _0x81bc8f;},_0x30867e=_0x57acb0[0x3],_0x1db3da=_0x4ac050,_0x366442=_0x4ac050;_0x1db3da[_0x1a4e('0x8')]=_0x366442;var _0x1997f8=function(_0x5d7dad){return _0x5d7dad;},_0x4b95e7=function(_0x5d7dad){if(null==_0x5d7dad)return _0x1997f8;var _0x22b0c5,_0x5ac9eb,_0x261805=_0x5d7dad['scale'][0x0],_0x81bc8f=_0x5d7dad[_0x1a4e('0x143')][0x1],_0x234f42=_0x5d7dad[_0x1a4e('0x142')][0x0],_0x153447=_0x5d7dad[_0x1a4e('0x142')][0x1];return function(_0x5d7dad,_0x1972c2){_0x1972c2||(_0x22b0c5=_0x5ac9eb=0x0);var _0x3376f9=0x2,_0x5dae0e=_0x5d7dad['length'],_0x3d7f02=new Array(_0x5dae0e);for(_0x3d7f02[0x0]=(_0x22b0c5+=_0x5d7dad[0x0])*_0x261805+_0x234f42,_0x3d7f02[0x1]=(_0x5ac9eb+=_0x5d7dad[0x1])*_0x81bc8f+_0x153447;_0x3376f9<_0x5dae0e;)_0x3d7f02[_0x3376f9]=_0x5d7dad[_0x3376f9],++_0x3376f9;return _0x3d7f02;};},_0x468572=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb,_0x261805=_0x5d7dad[_0x1a4e('0x1e')],_0x81bc8f=_0x261805-_0x22b0c5;_0x81bc8f<--_0x261805;)_0x5ac9eb=_0x5d7dad[_0x81bc8f],_0x5d7dad[_0x81bc8f++]=_0x5d7dad[_0x261805],_0x5d7dad[_0x261805]=_0x5ac9eb;},_0x10c749=function(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb in _0x5d7dad){var _0x81bc8f=_0x5d7dad[_0x5ac9eb];delete _0x22b0c5[_0x81bc8f[_0x1a4e('0xc9')]],delete _0x81bc8f[_0x1a4e('0xc9')],delete _0x81bc8f[_0x1a4e('0xca')],_0x81bc8f[_0x1a4e('0x3b')](function(_0x5d7dad){_0x261805[_0x5d7dad<0x0?~_0x5d7dad:_0x5d7dad]=0x1;}),_0x153447['push'](_0x81bc8f);}}var _0x261805={},_0x81bc8f={},_0x234f42={},_0x153447=[],_0x1972c2=-0x1;return _0x22b0c5[_0x1a4e('0x3b')](function(_0x5ac9eb,_0x261805){var _0x81bc8f,_0x234f42=_0x5d7dad[_0x1a4e('0x94')][_0x5ac9eb<0x0?~_0x5ac9eb:_0x5ac9eb];_0x234f42['length']<0x3&&!_0x234f42[0x1][0x0]&&!_0x234f42[0x1][0x1]&&(_0x81bc8f=_0x22b0c5[++_0x1972c2],_0x22b0c5[_0x1972c2]=_0x5ac9eb,_0x22b0c5[_0x261805]=_0x81bc8f);}),_0x22b0c5[_0x1a4e('0x3b')](function(_0x22b0c5){var _0x5ac9eb,_0x261805,_0x153447=function(_0x22b0c5){var _0x5ac9eb,_0x261805=_0x5d7dad[_0x1a4e('0x94')][_0x22b0c5<0x0?~_0x22b0c5:_0x22b0c5],_0x81bc8f=_0x261805[0x0];return _0x5d7dad['transform']?(_0x5ac9eb=[0x0,0x0],_0x261805[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5ac9eb[0x0]+=_0x5d7dad[0x0],_0x5ac9eb[0x1]+=_0x5d7dad[0x1];})):_0x5ac9eb=_0x261805[_0x261805[_0x1a4e('0x1e')]-0x1],_0x22b0c5<0x0?[_0x5ac9eb,_0x81bc8f]:[_0x81bc8f,_0x5ac9eb];}(_0x22b0c5),_0x1972c2=_0x153447[0x0],_0x3376f9=_0x153447[0x1];if(_0x5ac9eb=_0x234f42[_0x1972c2])if(delete _0x234f42[_0x5ac9eb[_0x1a4e('0xca')]],_0x5ac9eb[_0x1a4e('0x46')](_0x22b0c5),_0x5ac9eb['end']=_0x3376f9,_0x261805=_0x81bc8f[_0x3376f9]){delete _0x81bc8f[_0x261805[_0x1a4e('0xc9')]];var _0x5dae0e=_0x261805===_0x5ac9eb?_0x5ac9eb:_0x5ac9eb[_0x1a4e('0x9a')](_0x261805);_0x81bc8f[_0x5dae0e[_0x1a4e('0xc9')]=_0x5ac9eb[_0x1a4e('0xc9')]]=_0x234f42[_0x5dae0e['end']=_0x261805[_0x1a4e('0xca')]]=_0x5dae0e;}else _0x81bc8f[_0x5ac9eb[_0x1a4e('0xc9')]]=_0x234f42[_0x5ac9eb['end']]=_0x5ac9eb;else if(_0x5ac9eb=_0x81bc8f[_0x3376f9])if(delete _0x81bc8f[_0x5ac9eb[_0x1a4e('0xc9')]],_0x5ac9eb[_0x1a4e('0x66')](_0x22b0c5),_0x5ac9eb[_0x1a4e('0xc9')]=_0x1972c2,_0x261805=_0x234f42[_0x1972c2]){delete _0x234f42[_0x261805['end']];var _0x3d7f02=_0x261805===_0x5ac9eb?_0x5ac9eb:_0x261805[_0x1a4e('0x9a')](_0x5ac9eb);_0x81bc8f[_0x3d7f02[_0x1a4e('0xc9')]=_0x261805[_0x1a4e('0xc9')]]=_0x234f42[_0x3d7f02[_0x1a4e('0xca')]=_0x5ac9eb['end']]=_0x3d7f02;}else _0x81bc8f[_0x5ac9eb['start']]=_0x234f42[_0x5ac9eb[_0x1a4e('0xca')]]=_0x5ac9eb;else _0x81bc8f[(_0x5ac9eb=[_0x22b0c5])[_0x1a4e('0xc9')]=_0x1972c2]=_0x234f42[_0x5ac9eb['end']=_0x3376f9]=_0x5ac9eb;}),_0x5ac9eb(_0x234f42,_0x81bc8f),_0x5ac9eb(_0x81bc8f,_0x234f42),_0x22b0c5[_0x1a4e('0x3b')](function(_0x5d7dad){_0x261805[_0x5d7dad<0x0?~_0x5d7dad:_0x5d7dad]||_0x153447[_0x1a4e('0x46')]([_0x5d7dad]);}),_0x153447;},_0x20b922=function(_0x5d7dad){return _0x4fe312(_0x5d7dad,_0x56c704['apply'](this,arguments));},_0x410d8d=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){0x3===arguments[_0x1a4e('0x1e')]&&(_0x261805=_0x234f42=Array,_0x81bc8f=null);for(var _0x153447=new _0x261805(_0x5d7dad=0x1<=_0x5d7dad)throw new Error('full\x20hashmap');_0x3d7f02=_0x153447[_0x5dae0e=_0x5dae0e+0x1&_0x3376f9];}return _0x153447[_0x5dae0e]=_0x261805,_0x1972c2[_0x5dae0e]=_0x234f42,_0x234f42;},'maybeSet':function(_0x261805,_0x234f42){for(var _0x5dae0e=_0x22b0c5(_0x261805)&_0x3376f9,_0x3d7f02=_0x153447[_0x5dae0e],_0x146559=0x0;_0x3d7f02!=_0x81bc8f;){if(_0x5ac9eb(_0x3d7f02,_0x261805))return _0x1972c2[_0x5dae0e];if(++_0x146559>=_0x5d7dad)throw new Error(_0x1a4e('0x173'));_0x3d7f02=_0x153447[_0x5dae0e=_0x5dae0e+0x1&_0x3376f9];}return _0x153447[_0x5dae0e]=_0x261805,_0x1972c2[_0x5dae0e]=_0x234f42,_0x234f42;},'get':function(_0x261805,_0x234f42){for(var _0x5dae0e=_0x22b0c5(_0x261805)&_0x3376f9,_0x3d7f02=_0x153447[_0x5dae0e],_0x146559=0x0;_0x3d7f02!=_0x81bc8f;){if(_0x5ac9eb(_0x3d7f02,_0x261805))return _0x1972c2[_0x5dae0e];if(++_0x146559>=_0x5d7dad)break;_0x3d7f02=_0x153447[_0x5dae0e=_0x5dae0e+0x1&_0x3376f9];}return _0x234f42;},'keys':function(){for(var _0x5d7dad=[],_0x22b0c5=0x0,_0x5ac9eb=_0x153447['length'];_0x22b0c5<_0x5ac9eb;++_0x22b0c5){var _0x261805=_0x153447[_0x22b0c5];_0x261805!=_0x81bc8f&&_0x5d7dad[_0x1a4e('0x46')](_0x261805);}return _0x5d7dad;}};},_0x202eb4=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]===_0x22b0c5[0x0]&&_0x5d7dad[0x1]===_0x22b0c5[0x1];},_0x24d262=new ArrayBuffer(0x10),_0x194f74=new Float64Array(_0x24d262),_0x4b5803=new Uint32Array(_0x24d262),_0x4a1cab=function(_0x5d7dad){_0x194f74[0x0]=_0x5d7dad[0x0],_0x194f74[0x1]=_0x5d7dad[0x1];var _0x22b0c5=_0x4b5803[0x0]^_0x4b5803[0x1];return 0x7fffffff&(_0x22b0c5=_0x22b0c5<<0x5^_0x22b0c5>>0x7^_0x4b5803[0x2]^_0x4b5803[0x3]);},_0x108e6d=function(_0x5d7dad){var _0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f=function(_0x5d7dad){function _0x22b0c5(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(_0x184c89[_0x5ac9eb]!==_0x5d7dad){_0x184c89[_0x5ac9eb]=_0x5d7dad;var _0x81bc8f=_0x4198ed[_0x5ac9eb];if(_0x81bc8f>=0x0){var _0x234f42=_0x41179c[_0x5ac9eb];_0x81bc8f===_0x22b0c5&&_0x234f42===_0x261805||_0x81bc8f===_0x261805&&_0x234f42===_0x22b0c5||(++_0x39638f,_0x4eb09b[_0x5ac9eb]=0x1);}else _0x4198ed[_0x5ac9eb]=_0x22b0c5,_0x41179c[_0x5ac9eb]=_0x261805;}}function _0x5ac9eb(_0x5d7dad){return _0x4a1cab(_0x3376f9[_0x5d7dad]);}function _0x261805(_0x5d7dad,_0x22b0c5){return _0x202eb4(_0x3376f9[_0x5d7dad],_0x3376f9[_0x22b0c5]);}var _0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9=_0x5d7dad[_0x1a4e('0x43')],_0x5dae0e=_0x5d7dad['lines'],_0x3d7f02=_0x5d7dad[_0x1a4e('0x174')],_0x146559=function(){for(var _0x5d7dad=_0x410d8d(1.4*_0x3376f9['length'],_0x5ac9eb,_0x261805,Int32Array,-0x1,Int32Array),_0x22b0c5=new Int32Array(_0x3376f9[_0x1a4e('0x1e')]),_0x81bc8f=0x0,_0x234f42=_0x3376f9[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f)_0x22b0c5[_0x81bc8f]=_0x5d7dad[_0x1a4e('0x175')](_0x81bc8f,_0x81bc8f);return _0x22b0c5;}(),_0x184c89=new Int32Array(_0x3376f9[_0x1a4e('0x1e')]),_0x4198ed=new Int32Array(_0x3376f9['length']),_0x41179c=new Int32Array(_0x3376f9[_0x1a4e('0x1e')]),_0x4eb09b=new Int8Array(_0x3376f9[_0x1a4e('0x1e')]),_0x39638f=0x0;for(_0x81bc8f=0x0,_0x234f42=_0x3376f9[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f)_0x184c89[_0x81bc8f]=_0x4198ed[_0x81bc8f]=_0x41179c[_0x81bc8f]=-0x1;for(_0x81bc8f=0x0,_0x234f42=_0x5dae0e[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f){var _0x40b220=_0x5dae0e[_0x81bc8f],_0x55366a=_0x40b220[0x0],_0x527605=_0x40b220[0x1];for(_0x153447=_0x146559[_0x55366a],_0x1972c2=_0x146559[++_0x55366a],++_0x39638f,_0x4eb09b[_0x153447]=0x1;++_0x55366a<=_0x527605;)_0x22b0c5(_0x81bc8f,_0x153447,_0x153447=_0x1972c2,_0x1972c2=_0x146559[_0x55366a]);++_0x39638f,_0x4eb09b[_0x1972c2]=0x1;}for(_0x81bc8f=0x0,_0x234f42=_0x3376f9[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f)_0x184c89[_0x81bc8f]=-0x1;for(_0x81bc8f=0x0,_0x234f42=_0x3d7f02['length'];_0x81bc8f<_0x234f42;++_0x81bc8f){var _0x4b8927=_0x3d7f02[_0x81bc8f],_0x3ff7f9=_0x4b8927[0x0]+0x1,_0x3b62c2=_0x4b8927[0x1];for(_0x22b0c5(_0x81bc8f,_0x146559[_0x3b62c2-0x1],_0x153447=_0x146559[_0x3ff7f9-0x1],_0x1972c2=_0x146559[_0x3ff7f9]);++_0x3ff7f9<=_0x3b62c2;)_0x22b0c5(_0x81bc8f,_0x153447,_0x153447=_0x1972c2,_0x1972c2=_0x146559[_0x3ff7f9]);}_0x184c89=_0x4198ed=_0x41179c=null;var _0x556755,_0x162a48=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){0x3===arguments[_0x1a4e('0x1e')]&&(_0x261805=Array,_0x81bc8f=null);for(var _0x234f42=new _0x261805(_0x5d7dad=0x1<=_0x5d7dad)throw new Error(_0x1a4e('0x176'));_0x3376f9=_0x234f42[_0x1972c2=_0x1972c2+0x1&_0x153447];}return _0x234f42[_0x1972c2]=_0x261805,!0x0;},'has':function(_0x261805){for(var _0x1972c2=_0x22b0c5(_0x261805)&_0x153447,_0x3376f9=_0x234f42[_0x1972c2],_0x5dae0e=0x0;_0x3376f9!=_0x81bc8f;){if(_0x5ac9eb(_0x3376f9,_0x261805))return!0x0;if(++_0x5dae0e>=_0x5d7dad)break;_0x3376f9=_0x234f42[_0x1972c2=_0x1972c2+0x1&_0x153447];}return!0x1;},'values':function(){for(var _0x5d7dad=[],_0x22b0c5=0x0,_0x5ac9eb=_0x234f42['length'];_0x22b0c5<_0x5ac9eb;++_0x22b0c5){var _0x261805=_0x234f42[_0x22b0c5];_0x261805!=_0x81bc8f&&_0x5d7dad['push'](_0x261805);}return _0x5d7dad;}};}(1.4*_0x39638f,_0x4a1cab,_0x202eb4);for(_0x81bc8f=0x0,_0x234f42=_0x3376f9[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f)_0x4eb09b[_0x556755=_0x146559[_0x81bc8f]]&&_0x162a48[_0x1a4e('0x177')](_0x3376f9[_0x556755]);return _0x162a48;}(_0x5d7dad),_0x234f42=_0x5d7dad[_0x1a4e('0x43')],_0x153447=_0x5d7dad['lines'],_0x1972c2=_0x5d7dad[_0x1a4e('0x174')];for(_0x5ac9eb=0x0,_0x261805=_0x153447[_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;++_0x5ac9eb)for(var _0x3376f9=_0x153447[_0x5ac9eb],_0x5dae0e=_0x3376f9[0x0],_0x3d7f02=_0x3376f9[0x1];++_0x5dae0e<_0x3d7f02;)_0x81bc8f[_0x1a4e('0x178')](_0x234f42[_0x5dae0e])&&(_0x22b0c5={0:_0x5dae0e,1:_0x3376f9[0x1]},_0x3376f9[0x1]=_0x5dae0e,_0x3376f9=_0x3376f9[_0x1a4e('0x7e')]=_0x22b0c5);for(_0x5ac9eb=0x0,_0x261805=_0x1972c2[_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;++_0x5ac9eb)for(var _0x146559=_0x1972c2[_0x5ac9eb],_0x184c89=_0x146559[0x0],_0x4198ed=_0x184c89,_0x41179c=_0x146559[0x1],_0x4eb09b=_0x81bc8f[_0x1a4e('0x178')](_0x234f42[_0x184c89]);++_0x4198ed<_0x41179c;)_0x81bc8f[_0x1a4e('0x178')](_0x234f42[_0x4198ed])&&(_0x4eb09b?(_0x22b0c5={0:_0x4198ed,1:_0x146559[0x1]},_0x146559[0x1]=_0x4198ed,_0x146559=_0x146559[_0x1a4e('0x7e')]=_0x22b0c5):(function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){_0x319004(_0x5d7dad,_0x22b0c5,_0x5ac9eb),_0x319004(_0x5d7dad,_0x22b0c5,_0x22b0c5+_0x261805),_0x319004(_0x5d7dad,_0x22b0c5+_0x261805,_0x5ac9eb);}(_0x234f42,_0x184c89,_0x41179c,_0x41179c-_0x4198ed),_0x234f42[_0x41179c]=_0x234f42[_0x184c89],_0x4eb09b=!0x0,_0x4198ed=_0x184c89));return _0x5d7dad;},_0x3b88f0=function(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x5d7dad){_0x5d7dad&&_0x3d7f02['hasOwnProperty'](_0x5d7dad[_0x1a4e('0x40')])&&_0x3d7f02[_0x5d7dad['type']](_0x5d7dad);}function _0x261805(_0x5d7dad){var _0x22b0c5=[];do{var _0x5ac9eb=_0x5dae0e[_0x1a4e('0x179')](_0x5d7dad);_0x22b0c5[_0x1a4e('0x46')](_0x5d7dad[0x0]<_0x5d7dad[0x1]?_0x5ac9eb:~_0x5ac9eb);}while(_0x5d7dad=_0x5d7dad[_0x1a4e('0x7e')]);return _0x22b0c5;}function _0x81bc8f(_0x5d7dad){return _0x5d7dad['map'](_0x261805);}var _0x234f42=function(_0x5d7dad){function _0x22b0c5(_0x5d7dad){null!=_0x5d7dad&&_0x5dae0e[_0x1a4e('0xb')](_0x5d7dad[_0x1a4e('0x40')])&&_0x5dae0e[_0x5d7dad[_0x1a4e('0x40')]](_0x5d7dad);}function _0x5ac9eb(_0x5d7dad){var _0x22b0c5=_0x5d7dad[0x0],_0x5ac9eb=_0x5d7dad[0x1];_0x22b0c5<_0x234f42&&(_0x234f42=_0x22b0c5),_0x22b0c5>_0x1972c2&&(_0x1972c2=_0x22b0c5),_0x5ac9eb<_0x153447&&(_0x153447=_0x5ac9eb),_0x5ac9eb>_0x3376f9&&(_0x3376f9=_0x5ac9eb);}function _0x261805(_0x5d7dad){_0x5d7dad[_0x1a4e('0x3b')](_0x5ac9eb);}function _0x81bc8f(_0x5d7dad){_0x5d7dad['forEach'](_0x261805);}var _0x234f42=0x1/0x0,_0x153447=0x1/0x0,_0x1972c2=-0x1/0x0,_0x3376f9=-0x1/0x0,_0x5dae0e={'GeometryCollection':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x42')][_0x1a4e('0x3b')](_0x22b0c5);},'Point':function(_0x5d7dad){_0x5ac9eb(_0x5d7dad['coordinates']);},'MultiPoint':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x43')][_0x1a4e('0x3b')](_0x5ac9eb);},'LineString':function(_0x5d7dad){_0x261805(_0x5d7dad[_0x1a4e('0x94')]);},'MultiLineString':function(_0x5d7dad){_0x5d7dad['arcs']['forEach'](_0x261805);},'Polygon':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')][_0x1a4e('0x3b')](_0x261805);},'MultiPolygon':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]['forEach'](_0x81bc8f);}};for(var _0x3d7f02 in _0x5d7dad)_0x22b0c5(_0x5d7dad[_0x3d7f02]);return _0x1972c2>=_0x234f42&&_0x3376f9>=_0x153447?[_0x234f42,_0x153447,_0x1972c2,_0x3376f9]:void 0x0;}(_0x5d7dad=function(_0x5d7dad){var _0x22b0c5,_0x5ac9eb={};for(_0x22b0c5 in _0x5d7dad)_0x5ac9eb[_0x22b0c5]=_0x455ed3(_0x5d7dad[_0x22b0c5]);return _0x5ac9eb;}(_0x5d7dad)),_0x153447=_0x22b0c5>0x0&&_0x234f42&&function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){function _0x261805(_0x5d7dad){return[Math[_0x1a4e('0x2a')]((_0x5d7dad[0x0]-_0x5dae0e)*_0x4198ed),Math[_0x1a4e('0x2a')]((_0x5d7dad[0x1]-_0x3d7f02)*_0x41179c)];}function _0x81bc8f(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2=-0x1,_0x3376f9=0x0,_0x146559=_0x5d7dad[_0x1a4e('0x1e')],_0x184c89=new Array(_0x146559);++_0x1972c2<_0x146559;)_0x5ac9eb=_0x5d7dad[_0x1972c2],_0x234f42=Math[_0x1a4e('0x2a')]((_0x5ac9eb[0x0]-_0x5dae0e)*_0x4198ed),_0x153447=Math[_0x1a4e('0x2a')]((_0x5ac9eb[0x1]-_0x3d7f02)*_0x41179c),_0x234f42===_0x261805&&_0x153447===_0x81bc8f||(_0x184c89[_0x3376f9++]=[_0x261805=_0x234f42,_0x81bc8f=_0x153447]);for(_0x184c89['length']=_0x3376f9;_0x3376f9<_0x22b0c5;)_0x3376f9=_0x184c89[_0x1a4e('0x46')]([_0x184c89[0x0][0x0],_0x184c89[0x0][0x1]]);return _0x184c89;}function _0x234f42(_0x5d7dad){return _0x81bc8f(_0x5d7dad,0x2);}function _0x153447(_0x5d7dad){return _0x81bc8f(_0x5d7dad,0x4);}function _0x1972c2(_0x5d7dad){return _0x5d7dad['map'](_0x153447);}function _0x3376f9(_0x5d7dad){null!=_0x5d7dad&&_0x4eb09b[_0x1a4e('0xb')](_0x5d7dad[_0x1a4e('0x40')])&&_0x4eb09b[_0x5d7dad[_0x1a4e('0x40')]](_0x5d7dad);}var _0x5dae0e=_0x22b0c5[0x0],_0x3d7f02=_0x22b0c5[0x1],_0x146559=_0x22b0c5[0x2],_0x184c89=_0x22b0c5[0x3],_0x4198ed=_0x146559-_0x5dae0e?(_0x5ac9eb-0x1)/(_0x146559-_0x5dae0e):0x1,_0x41179c=_0x184c89-_0x3d7f02?(_0x5ac9eb-0x1)/(_0x184c89-_0x3d7f02):0x1,_0x4eb09b={'GeometryCollection':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x42')][_0x1a4e('0x3b')](_0x3376f9);},'Point':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x43')]=_0x261805(_0x5d7dad[_0x1a4e('0x43')]);},'MultiPoint':function(_0x5d7dad){_0x5d7dad['coordinates']=_0x5d7dad[_0x1a4e('0x43')][_0x1a4e('0x21')](_0x261805);},'LineString':function(_0x5d7dad){_0x5d7dad['arcs']=_0x234f42(_0x5d7dad[_0x1a4e('0x94')]);},'MultiLineString':function(_0x5d7dad){_0x5d7dad['arcs']=_0x5d7dad[_0x1a4e('0x94')][_0x1a4e('0x21')](_0x234f42);},'Polygon':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]=_0x1972c2(_0x5d7dad[_0x1a4e('0x94')]);},'MultiPolygon':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]=_0x5d7dad[_0x1a4e('0x94')]['map'](_0x1972c2);}};for(var _0x39638f in _0x5d7dad)_0x3376f9(_0x5d7dad[_0x39638f]);return{'scale':[0x1/_0x4198ed,0x1/_0x41179c],'translate':[_0x5dae0e,_0x3d7f02]};}(_0x5d7dad,_0x234f42,_0x22b0c5),_0x1972c2=function(_0x5d7dad){function _0x22b0c5(_0x5d7dad){var _0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9;if(_0x261805=_0x4198ed[_0x1a4e('0x179')](_0x22b0c5=_0x5dae0e[_0x5d7dad[0x0]]))for(_0x1972c2=0x0,_0x3376f9=_0x261805['length'];_0x1972c2<_0x3376f9;++_0x1972c2)if(function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[0x0],_0x261805=_0x22b0c5[0x0],_0x81bc8f=_0x5d7dad[0x1],_0x234f42=_0x22b0c5[0x1];if(_0x5ac9eb-_0x81bc8f!=_0x261805-_0x234f42)return!0x1;for(;_0x5ac9eb<=_0x81bc8f;++_0x5ac9eb,++_0x261805)if(!_0x202eb4(_0x5dae0e[_0x5ac9eb],_0x5dae0e[_0x261805]))return!0x1;return!0x0;}(_0x81bc8f=_0x261805[_0x1972c2],_0x5d7dad))return _0x5d7dad[0x0]=_0x81bc8f[0x0],void(_0x5d7dad[0x1]=_0x81bc8f[0x1]);if(_0x234f42=_0x4198ed[_0x1a4e('0x179')](_0x5ac9eb=_0x5dae0e[_0x5d7dad[0x1]]))for(_0x1972c2=0x0,_0x3376f9=_0x234f42[_0x1a4e('0x1e')];_0x1972c2<_0x3376f9;++_0x1972c2)if(function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[0x0],_0x261805=_0x22b0c5[0x0],_0x81bc8f=_0x5d7dad[0x1],_0x234f42=_0x22b0c5[0x1];if(_0x5ac9eb-_0x81bc8f!=_0x261805-_0x234f42)return!0x1;for(;_0x5ac9eb<=_0x81bc8f;++_0x5ac9eb,--_0x234f42)if(!_0x202eb4(_0x5dae0e[_0x5ac9eb],_0x5dae0e[_0x234f42]))return!0x1;return!0x0;}(_0x153447=_0x234f42[_0x1972c2],_0x5d7dad))return _0x5d7dad[0x1]=_0x153447[0x0],void(_0x5d7dad[0x0]=_0x153447[0x1]);_0x261805?_0x261805[_0x1a4e('0x46')](_0x5d7dad):_0x4198ed[_0x1a4e('0x17a')](_0x22b0c5,[_0x5d7dad]),_0x234f42?_0x234f42[_0x1a4e('0x46')](_0x5d7dad):_0x4198ed[_0x1a4e('0x17a')](_0x5ac9eb,[_0x5d7dad]),_0x41179c[_0x1a4e('0x46')](_0x5d7dad);}function _0x5ac9eb(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[0x0],_0x261805=_0x22b0c5[0x0],_0x234f42=_0x5d7dad[0x1]-_0x5ac9eb;if(_0x234f42!==_0x22b0c5[0x1]-_0x261805)return!0x1;for(var _0x153447=_0x81bc8f(_0x5d7dad),_0x1972c2=_0x81bc8f(_0x22b0c5),_0x3376f9=0x0;_0x3376f9<_0x234f42;++_0x3376f9)if(!_0x202eb4(_0x5dae0e[_0x5ac9eb+(_0x3376f9+_0x153447)%_0x234f42],_0x5dae0e[_0x261805+(_0x3376f9+_0x1972c2)%_0x234f42]))return!0x1;return!0x0;}function _0x261805(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[0x0],_0x261805=_0x22b0c5[0x0],_0x234f42=_0x5d7dad[0x1],_0x153447=_0x22b0c5[0x1],_0x1972c2=_0x234f42-_0x5ac9eb;if(_0x1972c2!==_0x153447-_0x261805)return!0x1;for(var _0x3376f9=_0x81bc8f(_0x5d7dad),_0x3d7f02=_0x1972c2-_0x81bc8f(_0x22b0c5),_0x146559=0x0;_0x146559<_0x1972c2;++_0x146559)if(!_0x202eb4(_0x5dae0e[_0x5ac9eb+(_0x146559+_0x3376f9)%_0x1972c2],_0x5dae0e[_0x153447-(_0x146559+_0x3d7f02)%_0x1972c2]))return!0x1;return!0x0;}function _0x81bc8f(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[0x0],_0x5ac9eb=_0x5d7dad[0x1],_0x261805=_0x22b0c5,_0x81bc8f=_0x261805,_0x234f42=_0x5dae0e[_0x261805];++_0x261805<_0x5ac9eb;){var _0x153447=_0x5dae0e[_0x261805];(_0x153447[0x0]<_0x234f42[0x0]||_0x153447[0x0]===_0x234f42[0x0]&&_0x153447[0x1]<_0x234f42[0x1])&&(_0x81bc8f=_0x261805,_0x234f42=_0x153447);}return _0x81bc8f-_0x22b0c5;}var _0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e=_0x5d7dad[_0x1a4e('0x43')],_0x3d7f02=_0x5d7dad[_0x1a4e('0x17b')],_0x146559=_0x5d7dad[_0x1a4e('0x174')],_0x184c89=_0x3d7f02['length']+_0x146559['length'];for(delete _0x5d7dad['lines'],delete _0x5d7dad[_0x1a4e('0x174')],_0x1972c2=0x0,_0x3376f9=_0x3d7f02[_0x1a4e('0x1e')];_0x1972c2<_0x3376f9;++_0x1972c2)for(_0x234f42=_0x3d7f02[_0x1972c2];_0x234f42=_0x234f42['next'];)++_0x184c89;for(_0x1972c2=0x0,_0x3376f9=_0x146559[_0x1a4e('0x1e')];_0x1972c2<_0x3376f9;++_0x1972c2)for(_0x153447=_0x146559[_0x1972c2];_0x153447=_0x153447[_0x1a4e('0x7e')];)++_0x184c89;var _0x4198ed=_0x410d8d(0x2*_0x184c89*1.4,_0x4a1cab,_0x202eb4),_0x41179c=_0x5d7dad[_0x1a4e('0x94')]=[];for(_0x1972c2=0x0,_0x3376f9=_0x3d7f02[_0x1a4e('0x1e')];_0x1972c2<_0x3376f9;++_0x1972c2){_0x234f42=_0x3d7f02[_0x1972c2];do{_0x22b0c5(_0x234f42);}while(_0x234f42=_0x234f42[_0x1a4e('0x7e')]);}for(_0x1972c2=0x0,_0x3376f9=_0x146559[_0x1a4e('0x1e')];_0x1972c2<_0x3376f9;++_0x1972c2)if((_0x153447=_0x146559[_0x1972c2])[_0x1a4e('0x7e')])do{_0x22b0c5(_0x153447);}while(_0x153447=_0x153447[_0x1a4e('0x7e')]);else!function(_0x5d7dad){var _0x22b0c5,_0x234f42,_0x153447,_0x1972c2,_0x3376f9;if(_0x234f42=_0x4198ed['get'](_0x22b0c5=_0x5dae0e[_0x5d7dad[0x0]]))for(_0x1972c2=0x0,_0x3376f9=_0x234f42['length'];_0x1972c2<_0x3376f9;++_0x1972c2){if(_0x5ac9eb(_0x153447=_0x234f42[_0x1972c2],_0x5d7dad))return _0x5d7dad[0x0]=_0x153447[0x0],void(_0x5d7dad[0x1]=_0x153447[0x1]);if(_0x261805(_0x153447,_0x5d7dad))return _0x5d7dad[0x0]=_0x153447[0x1],void(_0x5d7dad[0x1]=_0x153447[0x0]);}if(_0x234f42=_0x4198ed[_0x1a4e('0x179')](_0x22b0c5=_0x5dae0e[_0x5d7dad[0x0]+_0x81bc8f(_0x5d7dad)]))for(_0x1972c2=0x0,_0x3376f9=_0x234f42[_0x1a4e('0x1e')];_0x1972c2<_0x3376f9;++_0x1972c2){if(_0x5ac9eb(_0x153447=_0x234f42[_0x1972c2],_0x5d7dad))return _0x5d7dad[0x0]=_0x153447[0x0],void(_0x5d7dad[0x1]=_0x153447[0x1]);if(_0x261805(_0x153447,_0x5d7dad))return _0x5d7dad[0x0]=_0x153447[0x1],void(_0x5d7dad[0x1]=_0x153447[0x0]);}_0x234f42?_0x234f42[_0x1a4e('0x46')](_0x5d7dad):_0x4198ed[_0x1a4e('0x17a')](_0x22b0c5,[_0x5d7dad]),_0x41179c[_0x1a4e('0x46')](_0x5d7dad);}(_0x153447);return _0x5d7dad;}(_0x108e6d(function(_0x5d7dad){function _0x22b0c5(_0x5d7dad){_0x5d7dad&&_0x5dae0e[_0x1a4e('0xb')](_0x5d7dad[_0x1a4e('0x40')])&&_0x5dae0e[_0x5d7dad[_0x1a4e('0x40')]](_0x5d7dad);}function _0x5ac9eb(_0x5d7dad){for(var _0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;++_0x22b0c5)_0x3376f9[++_0x234f42]=_0x5d7dad[_0x22b0c5];var _0x261805={0:_0x234f42-_0x5ac9eb+0x1,1:_0x234f42};return _0x153447[_0x1a4e('0x46')](_0x261805),_0x261805;}function _0x261805(_0x5d7dad){for(var _0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad['length'];_0x22b0c5<_0x5ac9eb;++_0x22b0c5)_0x3376f9[++_0x234f42]=_0x5d7dad[_0x22b0c5];var _0x261805={0:_0x234f42-_0x5ac9eb+0x1,1:_0x234f42};return _0x1972c2['push'](_0x261805),_0x261805;}function _0x81bc8f(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x21')](_0x261805);}var _0x234f42=-0x1,_0x153447=[],_0x1972c2=[],_0x3376f9=[],_0x5dae0e={'GeometryCollection':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x42')][_0x1a4e('0x3b')](_0x22b0c5);},'LineString':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]=_0x5ac9eb(_0x5d7dad[_0x1a4e('0x94')]);},'MultiLineString':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]=_0x5d7dad['arcs'][_0x1a4e('0x21')](_0x5ac9eb);},'Polygon':function(_0x5d7dad){_0x5d7dad['arcs']=_0x5d7dad['arcs'][_0x1a4e('0x21')](_0x261805);},'MultiPolygon':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]=_0x5d7dad['arcs'][_0x1a4e('0x21')](_0x81bc8f);}};for(var _0x3d7f02 in _0x5d7dad)_0x22b0c5(_0x5d7dad[_0x3d7f02]);return{'type':_0x1a4e('0x17c'),'coordinates':_0x3376f9,'lines':_0x153447,'rings':_0x1972c2,'objects':_0x5d7dad};}(_0x5d7dad))),_0x3376f9=_0x1972c2[_0x1a4e('0x43')],_0x5dae0e=_0x410d8d(1.4*_0x1972c2[_0x1a4e('0x94')][_0x1a4e('0x1e')],_0x2875d9,_0x40a30d);_0x5d7dad=_0x1972c2[_0x1a4e('0x9c')],_0x1972c2[_0x1a4e('0xe')]=_0x234f42,_0x1972c2[_0x1a4e('0x94')]=_0x1972c2[_0x1a4e('0x94')][_0x1a4e('0x21')](function(_0x5d7dad,_0x22b0c5){return _0x5dae0e[_0x1a4e('0x17a')](_0x5d7dad,_0x22b0c5),_0x3376f9[_0x1a4e('0x78')](_0x5d7dad[0x0],_0x5d7dad[0x1]+0x1);}),delete _0x1972c2[_0x1a4e('0x43')],_0x3376f9=null;var _0x3d7f02={'GeometryCollection':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x42')][_0x1a4e('0x3b')](_0x5ac9eb);},'LineString':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]=_0x261805(_0x5d7dad[_0x1a4e('0x94')]);},'MultiLineString':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]=_0x5d7dad[_0x1a4e('0x94')][_0x1a4e('0x21')](_0x261805);},'Polygon':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]=_0x5d7dad[_0x1a4e('0x94')]['map'](_0x261805);},'MultiPolygon':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x94')]=_0x5d7dad['arcs'][_0x1a4e('0x21')](_0x81bc8f);}};for(var _0x146559 in _0x5d7dad)_0x5ac9eb(_0x5d7dad[_0x146559]);return _0x153447&&(_0x1972c2['transform']=_0x153447,_0x1972c2[_0x1a4e('0x94')]=function(_0x5d7dad){for(var _0x22b0c5=-0x1,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x1e')];++_0x22b0c5<_0x5ac9eb;){for(var _0x261805,_0x81bc8f,_0x234f42=_0x5d7dad[_0x22b0c5],_0x153447=0x0,_0x1972c2=0x1,_0x3376f9=_0x234f42[_0x1a4e('0x1e')],_0x5dae0e=_0x234f42[0x0],_0x3d7f02=_0x5dae0e[0x0],_0x146559=_0x5dae0e[0x1];++_0x153447<_0x3376f9;)_0x261805=(_0x5dae0e=_0x234f42[_0x153447])[0x0],_0x81bc8f=_0x5dae0e[0x1],_0x261805===_0x3d7f02&&_0x81bc8f===_0x146559||(_0x234f42[_0x1972c2++]=[_0x261805-_0x3d7f02,_0x81bc8f-_0x146559],_0x3d7f02=_0x261805,_0x146559=_0x81bc8f);0x1===_0x1972c2&&(_0x234f42[_0x1972c2++]=[0x0,0x0]),_0x234f42[_0x1a4e('0x1e')]=_0x1972c2;}return _0x5d7dad;}(_0x1972c2[_0x1a4e('0x94')])),_0x1972c2;},_0x285be3=function(_0x5d7dad){this['points']=_0x5d7dad[_0x1a4e('0x17d')]||[],this[_0x1a4e('0x17e')]=_0x5d7dad[_0x1a4e('0x17e')]||0x2710,this[_0x1a4e('0x17f')]=_0x5d7dad[_0x1a4e('0x17f')]||0.85,this[_0x1a4e('0x180')]=[],this[_0x1a4e('0x181')]=[],this[_0x1a4e('0x182')]=_0x5d7dad[_0x1a4e('0x182')]||0x3c,this['length']=this[_0x1a4e('0x17d')][_0x1a4e('0x1e')],this[_0x1a4e('0x183')]=0x0;for(var _0x22b0c5=0x0;_0x22b0c5_0x5d7dad&&(_0x22b0c5[_0x1a4e('0x46')](_0x261805),_0x5ac9eb=_0x81bc8f);}return _0x22b0c5;},_0x285be3[_0x1a4e('0xa')][_0x1a4e('0x185')]=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0xa4')](_0x5d7dad+0xa),_0x5ac9eb=this[_0x1a4e('0xa4')](_0x5d7dad-0xa);return{'angle':0xb4*Math['atan2'](_0x22b0c5['y']-_0x5ac9eb['y'],_0x22b0c5['x']-_0x5ac9eb['x'])/3.14,'speed':Math[_0x1a4e('0x91')]((_0x5ac9eb['x']-_0x22b0c5['x'])*(_0x5ac9eb['x']-_0x22b0c5['x'])+(_0x5ac9eb['y']-_0x22b0c5['y'])*(_0x5ac9eb['y']-_0x22b0c5['y'])+(_0x5ac9eb['z']-_0x22b0c5['z'])*(_0x5ac9eb['z']-_0x22b0c5['z']))};},_0x285be3[_0x1a4e('0xa')][_0x1a4e('0xa4')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad-this[_0x1a4e('0x183')];_0x22b0c5<0x0&&(_0x22b0c5=0x0),_0x22b0c5>this[_0x1a4e('0x17e')]&&(_0x22b0c5=this[_0x1a4e('0x17e')]-0x1);var _0x5ac9eb=_0x22b0c5/this[_0x1a4e('0x17e')];if(_0x5ac9eb>=0x1)return this[_0x1a4e('0x17d')][this[_0x1a4e('0x1e')]-0x1];var _0x261805=Math['floor']((this[_0x1a4e('0x17d')][_0x1a4e('0x1e')]-0x1)*_0x5ac9eb);return function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad*_0x5d7dad;return[_0x22b0c5*_0x5d7dad,0x3*_0x22b0c5*(0x1-_0x5d7dad),0x3*_0x5d7dad*(0x1-_0x5d7dad)*(0x1-_0x5d7dad),(0x1-_0x5d7dad)*(0x1-_0x5d7dad)*(0x1-_0x5d7dad)];}(_0x5d7dad);return{'x':_0x81bc8f['x']*_0x234f42[0x0]+_0x261805['x']*_0x234f42[0x1]+_0x5ac9eb['x']*_0x234f42[0x2]+_0x22b0c5['x']*_0x234f42[0x3],'y':_0x81bc8f['y']*_0x234f42[0x0]+_0x261805['y']*_0x234f42[0x1]+_0x5ac9eb['y']*_0x234f42[0x2]+_0x22b0c5['y']*_0x234f42[0x3],'z':_0x81bc8f['z']*_0x234f42[0x0]+_0x261805['z']*_0x234f42[0x1]+_0x5ac9eb['z']*_0x234f42[0x2]+_0x22b0c5['z']*_0x234f42[0x3]};}((this[_0x1a4e('0x1e')]-0x1)*_0x5ac9eb-_0x261805,this[_0x1a4e('0x17d')][_0x261805],this[_0x1a4e('0x181')][_0x261805][0x1],this[_0x1a4e('0x181')][_0x261805+0x1][0x0],this[_0x1a4e('0x17d')][_0x261805+0x1]);};var _0x135fa6=_0x30c94f,_0x18103f=_0x30c94f;_0x30c94f[_0x1a4e('0x186')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x22b0c5&&_0x22b0c5[_0x1a4e('0x1e')],_0x234f42=_0x81bc8f?_0x22b0c5[0x0]*_0x5ac9eb:_0x5d7dad['length'],_0x153447=Math[_0x1a4e('0x65')](_0x54ea7d(_0x5d7dad,0x0,_0x234f42,_0x5ac9eb));if(_0x81bc8f)for(var _0x1972c2=0x0,_0x3376f9=_0x22b0c5[_0x1a4e('0x1e')];_0x1972c2<_0x3376f9;_0x1972c2++){var _0x5dae0e=_0x22b0c5[_0x1972c2]*_0x5ac9eb,_0x3d7f02=_0x1972c2<_0x3376f9-0x1?_0x22b0c5[_0x1972c2+0x1]*_0x5ac9eb:_0x5d7dad['length'];_0x153447-=Math['abs'](_0x54ea7d(_0x5d7dad,_0x5dae0e,_0x3d7f02,_0x5ac9eb));}var _0x146559=0x0;for(_0x1972c2=0x0;_0x1972c2<_0x261805[_0x1a4e('0x1e')];_0x1972c2+=0x3){var _0x184c89=_0x261805[_0x1972c2]*_0x5ac9eb,_0x4198ed=_0x261805[_0x1972c2+0x1]*_0x5ac9eb,_0x41179c=_0x261805[_0x1972c2+0x2]*_0x5ac9eb;_0x146559+=Math['abs']((_0x5d7dad[_0x184c89]-_0x5d7dad[_0x41179c])*(_0x5d7dad[_0x4198ed+0x1]-_0x5d7dad[_0x184c89+0x1])-(_0x5d7dad[_0x184c89]-_0x5d7dad[_0x4198ed])*(_0x5d7dad[_0x41179c+0x1]-_0x5d7dad[_0x184c89+0x1]));}return 0x0===_0x153447&&0x0===_0x146559?0x0:Math['abs']((_0x146559-_0x153447)/_0x153447);},_0x30c94f[_0x1a4e('0x187')]=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[0x0][0x0][_0x1a4e('0x1e')],_0x5ac9eb={'vertices':[],'holes':[],'dimensions':_0x22b0c5},_0x261805=0x0,_0x81bc8f=0x0;_0x81bc8f<_0x5d7dad['length'];_0x81bc8f++){for(var _0x234f42=0x0;_0x234f42<_0x5d7dad[_0x81bc8f][_0x1a4e('0x1e')];_0x234f42++)for(var _0x153447=0x0;_0x153447<_0x22b0c5;_0x153447++)_0x5ac9eb[_0x1a4e('0xaf')][_0x1a4e('0x46')](_0x5d7dad[_0x81bc8f][_0x234f42][_0x153447]);_0x81bc8f>0x0&&(_0x261805+=_0x5d7dad[_0x81bc8f-0x1]['length'],_0x5ac9eb[_0x1a4e('0xb0')][_0x1a4e('0x46')](_0x261805));}return _0x5ac9eb;},_0x135fa6[_0x1a4e('0x8')]=_0x18103f,_0x18fcf3['prototype']={'all':function(){return this[_0x1a4e('0x188')](this[_0x1a4e('0x7f')],[]);},'search':function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x7f')],_0x5ac9eb=[],_0x261805=this[_0x1a4e('0xb6')];if(!_0x3b86b3(_0x5d7dad,_0x22b0c5))return _0x5ac9eb;for(var _0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9=[];_0x22b0c5;){for(_0x81bc8f=0x0,_0x234f42=_0x22b0c5['children'][_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;_0x81bc8f++)_0x153447=_0x22b0c5[_0x1a4e('0x6f')][_0x81bc8f],_0x3b86b3(_0x5d7dad,_0x1972c2=_0x22b0c5[_0x1a4e('0x73')]?_0x261805(_0x153447):_0x153447)&&(_0x22b0c5['leaf']?_0x5ac9eb[_0x1a4e('0x46')](_0x153447):_0x18402a(_0x5d7dad,_0x1972c2)?this[_0x1a4e('0x188')](_0x153447,_0x5ac9eb):_0x3376f9[_0x1a4e('0x46')](_0x153447));_0x22b0c5=_0x3376f9[_0x1a4e('0x76')]();}return _0x5ac9eb;},'collides':function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x7f')],_0x5ac9eb=this[_0x1a4e('0xb6')];if(!_0x3b86b3(_0x5d7dad,_0x22b0c5))return!0x1;for(var _0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2=[];_0x22b0c5;){for(_0x261805=0x0,_0x81bc8f=_0x22b0c5[_0x1a4e('0x6f')][_0x1a4e('0x1e')];_0x261805<_0x81bc8f;_0x261805++)if(_0x234f42=_0x22b0c5[_0x1a4e('0x6f')][_0x261805],_0x153447=_0x22b0c5[_0x1a4e('0x73')]?_0x5ac9eb(_0x234f42):_0x234f42,_0x3b86b3(_0x5d7dad,_0x153447)){if(_0x22b0c5[_0x1a4e('0x73')]||_0x18402a(_0x5d7dad,_0x153447))return!0x0;_0x1972c2[_0x1a4e('0x46')](_0x234f42);}_0x22b0c5=_0x1972c2[_0x1a4e('0x76')]();}return!0x1;},'load':function(_0x5d7dad){if(!_0x5d7dad||!_0x5d7dad['length'])return this;if(_0x5d7dad['length']=0x0&&_0x234f42[_0x22b0c5]['children'][_0x1a4e('0x1e')]>this['_maxEntries'];)this[_0x1a4e('0x158')](_0x234f42,_0x22b0c5),_0x22b0c5--;this['_adjustParentBBoxes'](_0x81bc8f,_0x234f42,_0x22b0c5);},'_split':function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x22b0c5],_0x261805=_0x5ac9eb[_0x1a4e('0x6f')]['length'],_0x81bc8f=this[_0x1a4e('0x6b')];this[_0x1a4e('0x15a')](_0x5ac9eb,_0x81bc8f,_0x261805);var _0x234f42=this[_0x1a4e('0x15b')](_0x5ac9eb,_0x81bc8f,_0x261805),_0x153447=_0x11ef78(_0x5ac9eb[_0x1a4e('0x6f')][_0x1a4e('0x8a')](_0x234f42,_0x5ac9eb[_0x1a4e('0x6f')][_0x1a4e('0x1e')]-_0x234f42));_0x153447[_0x1a4e('0x152')]=_0x5ac9eb[_0x1a4e('0x152')],_0x153447[_0x1a4e('0x73')]=_0x5ac9eb[_0x1a4e('0x73')],_0x138bd4(_0x5ac9eb,this[_0x1a4e('0xb6')]),_0x138bd4(_0x153447,this['toBBox']),_0x22b0c5?_0x5d7dad[_0x22b0c5-0x1]['children'][_0x1a4e('0x46')](_0x153447):this[_0x1a4e('0x153')](_0x5ac9eb,_0x153447);},'_splitRoot':function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x7f')]=_0x11ef78([_0x5d7dad,_0x22b0c5]),this[_0x1a4e('0x7f')][_0x1a4e('0x152')]=_0x5d7dad[_0x1a4e('0x152')]+0x1,this[_0x1a4e('0x7f')][_0x1a4e('0x73')]=!0x1,_0x138bd4(this[_0x1a4e('0x7f')],this[_0x1a4e('0xb6')]);},'_chooseSplitIndex':function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02;for(_0x3376f9=_0x5dae0e=0x1/0x0,_0x261805=_0x22b0c5;_0x261805<=_0x5ac9eb-_0x22b0c5;_0x261805++)_0x153447=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=Math[_0x1a4e('0x6c')](_0x5d7dad['minX'],_0x22b0c5[_0x1a4e('0x70')]),_0x261805=Math[_0x1a4e('0x6c')](_0x5d7dad[_0x1a4e('0x71')],_0x22b0c5[_0x1a4e('0x71')]),_0x81bc8f=Math[_0x1a4e('0x74')](_0x5d7dad[_0x1a4e('0x75')],_0x22b0c5[_0x1a4e('0x75')]),_0x234f42=Math['min'](_0x5d7dad[_0x1a4e('0x72')],_0x22b0c5[_0x1a4e('0x72')]);return Math[_0x1a4e('0x6c')](0x0,_0x81bc8f-_0x5ac9eb)*Math[_0x1a4e('0x6c')](0x0,_0x234f42-_0x261805);}(_0x81bc8f=_0x2072d4(_0x5d7dad,0x0,_0x261805,this[_0x1a4e('0xb6')]),_0x234f42=_0x2072d4(_0x5d7dad,_0x261805,_0x5ac9eb,this[_0x1a4e('0xb6')])),_0x1972c2=_0x4f547d(_0x81bc8f)+_0x4f547d(_0x234f42),_0x153447<_0x3376f9?(_0x3376f9=_0x153447,_0x3d7f02=_0x261805,_0x5dae0e=_0x1972c2<_0x5dae0e?_0x1972c2:_0x5dae0e):_0x153447===_0x3376f9&&_0x1972c2<_0x5dae0e&&(_0x5dae0e=_0x1972c2,_0x3d7f02=_0x261805);return _0x3d7f02;},'_chooseSplitAxis':function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x73')]?this['compareMinX']:_0x42e05b,_0x81bc8f=_0x5d7dad['leaf']?this['compareMinY']:_0xfb3ba1;this[_0x1a4e('0x15d')](_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805)=_0x22b0c5;_0x81bc8f--)_0x234f42=_0x5d7dad[_0x1a4e('0x6f')][_0x81bc8f],_0x5710f2(_0x3376f9,_0x5d7dad[_0x1a4e('0x73')]?_0x153447(_0x234f42):_0x234f42),_0x5dae0e+=_0x4f3303(_0x3376f9);return _0x5dae0e;},'_adjustParentBBoxes':function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){for(var _0x261805=_0x5ac9eb;_0x261805>=0x0;_0x261805--)_0x5710f2(_0x22b0c5[_0x261805],_0x5d7dad);},'_condense':function(_0x5d7dad){for(var _0x22b0c5,_0x5ac9eb=_0x5d7dad['length']-0x1;_0x5ac9eb>=0x0;_0x5ac9eb--)0x0===_0x5d7dad[_0x5ac9eb][_0x1a4e('0x6f')][_0x1a4e('0x1e')]?_0x5ac9eb>0x0?(_0x22b0c5=_0x5d7dad[_0x5ac9eb-0x1][_0x1a4e('0x6f')])[_0x1a4e('0x8a')](_0x22b0c5[_0x1a4e('0x3e')](_0x5d7dad[_0x5ac9eb]),0x1):this[_0x1a4e('0xb5')]():_0x138bd4(_0x5d7dad[_0x5ac9eb],this[_0x1a4e('0xb6')]);},'_initFormat':function(_0x5d7dad){var _0x22b0c5=[_0x1a4e('0x18a'),_0x1a4e('0x18b'),';'];this['compareMinX']=new Function('a','b',_0x22b0c5[_0x1a4e('0x9e')](_0x5d7dad[0x0])),this['compareMinY']=new Function('a','b',_0x22b0c5[_0x1a4e('0x9e')](_0x5d7dad[0x1])),this[_0x1a4e('0xb6')]=new Function('a',_0x1a4e('0x15e')+_0x5d7dad[0x0]+_0x1a4e('0x15f')+_0x5d7dad[0x1]+_0x1a4e('0x160')+_0x5d7dad[0x2]+_0x1a4e('0x18c')+_0x5d7dad[0x3]+'};');}};var _0xd02a26=Object['freeze']({'toMercator':_0x24337e,'toWgs84':_0xb567db}),_0x490785=0x615299,_0x4eb63a=function(_0x5d7dad){function _0x22b0c5(){for(var _0x5d7dad=[],_0x22b0c5=0x0;_0x22b0c5<_0x41179c[_0x1a4e('0x25')][_0x1a4e('0x1e')];_0x22b0c5++)-0x1==_0x41179c[_0x1a4e('0x25')][_0x22b0c5]['properties']['parent']&&_0x5d7dad[_0x1a4e('0x46')](_0x22b0c5);if(_0x5d7dad[_0x1a4e('0x1e')]>0x1)for(_0x22b0c5=0x0;_0x22b0c5<_0x5d7dad[_0x1a4e('0x1e')];_0x22b0c5++){for(var _0x5ac9eb=-0x1,_0x261805=0x0;_0x261805<_0x41179c[_0x1a4e('0x25')][_0x1a4e('0x1e')];_0x261805++)_0x5d7dad[_0x22b0c5]!=_0x261805&&_0xf47c44(_0x41179c[_0x1a4e('0x25')][_0x5d7dad[_0x22b0c5]][_0x1a4e('0x18')][_0x1a4e('0x43')][0x0][0x0],_0x41179c[_0x1a4e('0x25')][_0x261805],{'ignoreBoundary':!0x0})&&_0x59237d(_0x41179c['features'][_0x261805])<0x1/0x0&&(_0x5ac9eb=_0x261805);_0x41179c[_0x1a4e('0x25')][_0x5d7dad[_0x22b0c5]][_0x1a4e('0x13')][_0x1a4e('0x11c')]=_0x5ac9eb;}}function _0x5ac9eb(){for(var _0x5d7dad=0x0;_0x5d7dad<_0x41179c[_0x1a4e('0x25')][_0x1a4e('0x1e')];_0x5d7dad++)if(-0x1==_0x41179c[_0x1a4e('0x25')][_0x5d7dad][_0x1a4e('0x13')][_0x1a4e('0x11c')]){var _0x22b0c5=_0x41179c[_0x1a4e('0x25')][_0x5d7dad][_0x1a4e('0x13')][_0x1a4e('0x18d')];_0x41179c['features'][_0x5d7dad][_0x1a4e('0x13')][_0x1a4e('0x18e')]=_0x22b0c5,_0x261805(_0x5d7dad,_0x22b0c5);}}function _0x261805(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x41179c['features'][_0x1a4e('0x1e')];_0x5ac9eb++)if(_0x41179c[_0x1a4e('0x25')][_0x5ac9eb][_0x1a4e('0x13')][_0x1a4e('0x11c')]==_0x5d7dad){var _0x81bc8f=_0x22b0c5+_0x41179c[_0x1a4e('0x25')][_0x5ac9eb][_0x1a4e('0x13')][_0x1a4e('0x18d')];_0x41179c[_0x1a4e('0x25')][_0x5ac9eb][_0x1a4e('0x13')][_0x1a4e('0x18e')]=_0x81bc8f,_0x261805(_0x5ac9eb,_0x81bc8f);}}if(_0x1a4e('0x12')!=_0x5d7dad[_0x1a4e('0x40')])throw new Error(_0x1a4e('0x18f'));if(void 0x0===_0x5d7dad['geometry']||null==_0x5d7dad[_0x1a4e('0x18')])throw new Error('The\x20input\x20must\x20a\x20geojson\x20object\x20with\x20a\x20non-empty\x20geometry');if(_0x1a4e('0x19')!=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')])throw new Error(_0x1a4e('0x190'));for(var _0x81bc8f=_0x5d7dad[_0x1a4e('0x18')]['coordinates'][_0x1a4e('0x1e')],_0x153447=[],_0x1972c2=0x0;_0x1972c2<_0x81bc8f;_0x1972c2++){var _0x3376f9=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x1972c2];_0x4a3b71(_0x3376f9[0x0],_0x3376f9[_0x3376f9[_0x1a4e('0x1e')]-0x1])||_0x3376f9['push'](_0x3376f9[0x0]),_0x153447[_0x1a4e('0x46')]['apply'](_0x153447,_0x3376f9[_0x1a4e('0x78')](0x0,_0x3376f9[_0x1a4e('0x1e')]-0x1));}if(!function(_0x5d7dad){for(var _0x22b0c5={},_0x5ac9eb=0x1,_0x261805=0x0,_0x81bc8f=_0x5d7dad[_0x1a4e('0x1e')];_0x261805<_0x81bc8f;++_0x261805){if(_0x22b0c5[_0x1a4e('0xb')](_0x5d7dad[_0x261805])){_0x5ac9eb=0x0;break;}_0x22b0c5[_0x5d7dad[_0x261805]]=0x1;}return _0x5ac9eb;}(_0x153447))throw new Error(_0x1a4e('0x191'));var _0x3d7f02=_0x153447['length'],_0x146559=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){function _0x261805(_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x3376f9,_0x5dae0e,_0x3d7f02=_0x234f42[_0x5d7dad][_0x5ac9eb],_0x146559=_0x234f42[_0x5d7dad][_0x5ac9eb+0x1],_0x184c89=_0x234f42[_0x261805][_0x81bc8f],_0x4198ed=_0x234f42[_0x261805][_0x81bc8f+0x1],_0x41179c=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(_0x2c8484(_0x5d7dad,_0x5ac9eb)||_0x2c8484(_0x5d7dad,_0x261805)||_0x2c8484(_0x22b0c5,_0x5ac9eb)||_0x2c8484(_0x261805,_0x5ac9eb))return null;var _0x81bc8f=_0x5d7dad[0x0],_0x234f42=_0x5d7dad[0x1],_0x153447=_0x22b0c5[0x0],_0x1972c2=_0x22b0c5[0x1],_0x3376f9=_0x5ac9eb[0x0],_0x5dae0e=_0x5ac9eb[0x1],_0x3d7f02=_0x261805[0x0],_0x146559=_0x261805[0x1],_0x184c89=(_0x81bc8f-_0x153447)*(_0x5dae0e-_0x146559)-(_0x234f42-_0x1972c2)*(_0x3376f9-_0x3d7f02);return 0x0===_0x184c89?null:[((_0x81bc8f*_0x1972c2-_0x234f42*_0x153447)*(_0x3376f9-_0x3d7f02)-(_0x81bc8f-_0x153447)*(_0x3376f9*_0x146559-_0x5dae0e*_0x3d7f02))/_0x184c89,((_0x81bc8f*_0x1972c2-_0x234f42*_0x153447)*(_0x5dae0e-_0x146559)-(_0x234f42-_0x1972c2)*(_0x3376f9*_0x146559-_0x5dae0e*_0x3d7f02))/_0x184c89];}(_0x3d7f02,_0x146559,_0x184c89,_0x4198ed);if(null!==_0x41179c&&(_0x3376f9=_0x146559[0x0]!==_0x3d7f02[0x0]?(_0x41179c[0x0]-_0x3d7f02[0x0])/(_0x146559[0x0]-_0x3d7f02[0x0]):(_0x41179c[0x1]-_0x3d7f02[0x1])/(_0x146559[0x1]-_0x3d7f02[0x1]),_0x5dae0e=_0x4198ed[0x0]!==_0x184c89[0x0]?(_0x41179c[0x0]-_0x184c89[0x0])/(_0x4198ed[0x0]-_0x184c89[0x0]):(_0x41179c[0x1]-_0x184c89[0x1])/(_0x4198ed[0x1]-_0x184c89[0x1]),!(_0x3376f9>=0x1||_0x3376f9<=0x0||_0x5dae0e>=0x1||_0x5dae0e<=0x0))){var _0x4eb09b=_0x41179c,_0x39638f=!_0x1972c2[_0x4eb09b];_0x39638f&&(_0x1972c2[_0x4eb09b]=!0x0),_0x22b0c5?_0x153447[_0x1a4e('0x46')](_0x22b0c5(_0x41179c,_0x5d7dad,_0x5ac9eb,_0x3d7f02,_0x146559,_0x3376f9,_0x261805,_0x81bc8f,_0x184c89,_0x4198ed,_0x5dae0e,_0x39638f)):_0x153447['push'](_0x41179c);}}function _0x81bc8f(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x261805,_0x81bc8f,_0x153447,_0x1972c2=_0x234f42[_0x5d7dad][_0x22b0c5],_0x3376f9=_0x234f42[_0x5d7dad][_0x22b0c5+0x1];return _0x1972c2[0x0]<_0x3376f9[0x0]?(_0x5ac9eb=_0x1972c2[0x0],_0x261805=_0x3376f9[0x0]):(_0x5ac9eb=_0x3376f9[0x0],_0x261805=_0x1972c2[0x0]),_0x1972c2[0x1]<_0x3376f9[0x1]?(_0x81bc8f=_0x1972c2[0x1],_0x153447=_0x3376f9[0x1]):(_0x81bc8f=_0x3376f9[0x1],_0x153447=_0x1972c2[0x1]),{'minX':_0x5ac9eb,'minY':_0x81bc8f,'maxX':_0x261805,'maxY':_0x153447,'ring':_0x5d7dad,'edge':_0x22b0c5};}if(_0x1a4e('0x19')!==_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')])throw new Error(_0x1a4e('0x192'));void 0x0===_0x5ac9eb&&(_0x5ac9eb=0x1);var _0x234f42=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')],_0x153447=[],_0x1972c2={};if(_0x5ac9eb){for(var _0x3376f9=[],_0x5dae0e=0x0;_0x5dae0e<_0x234f42[_0x1a4e('0x1e')];_0x5dae0e++)for(var _0x3d7f02=0x0;_0x3d7f02<_0x234f42[_0x5dae0e]['length']-0x1;_0x3d7f02++)_0x3376f9[_0x1a4e('0x46')](_0x81bc8f(_0x5dae0e,_0x3d7f02));var _0x146559=_0x5b70fe();_0x146559[_0x1a4e('0x7b')](_0x3376f9);}for(var _0x184c89=0x0;_0x184c89<_0x234f42[_0x1a4e('0x1e')];_0x184c89++)for(var _0x4198ed=0x0;_0x4198ed<_0x234f42[_0x184c89]['length']-0x1;_0x4198ed++)if(_0x5ac9eb)_0x146559['search'](_0x81bc8f(_0x184c89,_0x4198ed))[_0x1a4e('0x3b')](function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x193')],_0x5ac9eb=_0x5d7dad['edge'];_0x261805(_0x184c89,_0x4198ed,_0x22b0c5,_0x5ac9eb);});else for(var _0x41179c=0x0;_0x41179c<_0x234f42['length'];_0x41179c++)for(var _0x4eb09b=0x0;_0x4eb09b<_0x234f42[_0x41179c]['length']-0x1;_0x4eb09b++)_0x261805(_0x184c89,_0x4198ed,_0x41179c,_0x4eb09b);return _0x22b0c5||(_0x153447={'type':_0x1a4e('0x12'),'geometry':{'type':'MultiPoint','coordinates':_0x153447}}),_0x153447;}(_0x5d7dad,function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559){return[_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559];}),_0x184c89=_0x146559[_0x1a4e('0x1e')];if(0x0==_0x184c89){var _0x4198ed=[];for(_0x1972c2=0x0;_0x1972c2<_0x81bc8f;_0x1972c2++)_0x4198ed['push'](_0x234f42([_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x1972c2]],{'parent':-0x1,'winding':function(_0x5d7dad){for(var _0x22b0c5=0x0,_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')]-0x1;_0x5ac9eb++)_0x5d7dad[_0x5ac9eb][0x0]<_0x5d7dad[_0x22b0c5][0x0]&&(_0x22b0c5=_0x5ac9eb);if(_0x4a870d([_0x5d7dad[(_0x22b0c5-0x1)['modulo'](_0x5d7dad['length']-0x1)],_0x5d7dad[_0x22b0c5],_0x5d7dad[(_0x22b0c5+0x1)[_0x1a4e('0x194')](_0x5d7dad[_0x1a4e('0x1e')]-0x1)]],!0x0))var _0x261805=0x1;else _0x261805=-0x1;return _0x261805;}(_0x5d7dad['geometry'][_0x1a4e('0x43')][_0x1972c2])}));var _0x41179c=_0x5dae0e(_0x4198ed);return _0x22b0c5(),_0x5ac9eb(),_0x41179c;}var _0x4eb09b=[],_0x39638f=[];for(_0x1972c2=0x0;_0x1972c2<_0x81bc8f;_0x1972c2++){_0x4eb09b[_0x1a4e('0x46')]([]);for(var _0x40b220=0x0;_0x40b220<_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x1972c2][_0x1a4e('0x1e')]-0x1;_0x40b220++)_0x4eb09b[_0x1972c2][_0x1a4e('0x46')]([new _0x132c0f(_0x5d7dad['geometry']['coordinates'][_0x1972c2][(_0x40b220+0x1)[_0x1a4e('0x194')](_0x5d7dad[_0x1a4e('0x18')]['coordinates'][_0x1972c2][_0x1a4e('0x1e')]-0x1)],0x1,[_0x1972c2,_0x40b220],[_0x1972c2,(_0x40b220+0x1)[_0x1a4e('0x194')](_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x1972c2][_0x1a4e('0x1e')]-0x1)],void 0x0)]),_0x39638f[_0x1a4e('0x46')](new _0x2e5a6c(_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x1972c2][_0x40b220],[_0x1972c2,(_0x40b220-0x1)[_0x1a4e('0x194')](_0x5d7dad['geometry'][_0x1a4e('0x43')][_0x1972c2][_0x1a4e('0x1e')]-0x1)],[_0x1972c2,_0x40b220],void 0x0,void 0x0,!0x1,!0x0));}for(_0x1972c2=0x0;_0x1972c2<_0x184c89;_0x1972c2++)_0x4eb09b[_0x146559[_0x1972c2][0x1]][_0x146559[_0x1972c2][0x2]][_0x1a4e('0x46')](new _0x132c0f(_0x146559[_0x1972c2][0x0],_0x146559[_0x1972c2][0x5],[_0x146559[_0x1972c2][0x1],_0x146559[_0x1972c2][0x2]],[_0x146559[_0x1972c2][0x6],_0x146559[_0x1972c2][0x7]],void 0x0)),_0x146559[_0x1972c2][0xb]&&_0x39638f[_0x1a4e('0x46')](new _0x2e5a6c(_0x146559[_0x1972c2][0x0],[_0x146559[_0x1972c2][0x1],_0x146559[_0x1972c2][0x2]],[_0x146559[_0x1972c2][0x6],_0x146559[_0x1972c2][0x7]],void 0x0,void 0x0,!0x0,!0x0));var _0x55366a=_0x39638f[_0x1a4e('0x1e')];for(_0x1972c2=0x0;_0x1972c2<_0x4eb09b[_0x1a4e('0x1e')];_0x1972c2++)for(_0x40b220=0x0;_0x40b220<_0x4eb09b[_0x1972c2][_0x1a4e('0x1e')];_0x40b220++)_0x4eb09b[_0x1972c2][_0x40b220][_0x1a4e('0x89')](function(_0x5d7dad,_0x22b0c5){return _0x5d7dad['param']<_0x22b0c5[_0x1a4e('0x195')]?-0x1:0x1;});var _0x527605=[];for(_0x1972c2=0x0;_0x1972c2<_0x55366a;_0x1972c2++)_0x527605['push']({'minX':_0x39638f[_0x1972c2][_0x1a4e('0x196')][0x0],'minY':_0x39638f[_0x1972c2][_0x1a4e('0x196')][0x1],'maxX':_0x39638f[_0x1972c2][_0x1a4e('0x196')][0x0],'maxY':_0x39638f[_0x1972c2][_0x1a4e('0x196')][0x1],'index':_0x1972c2});var _0x4b8927=_0x5b70fe();for(_0x4b8927[_0x1a4e('0x7b')](_0x527605),_0x1972c2=0x0;_0x1972c2<_0x4eb09b['length'];_0x1972c2++)for(_0x40b220=0x0;_0x40b220<_0x4eb09b[_0x1972c2][_0x1a4e('0x1e')];_0x40b220++)for(var _0x3ff7f9=0x0;_0x3ff7f9<_0x4eb09b[_0x1972c2][_0x40b220][_0x1a4e('0x1e')];_0x3ff7f9++){_0x556755=_0x3ff7f9==_0x4eb09b[_0x1972c2][_0x40b220][_0x1a4e('0x1e')]-0x1?_0x4eb09b[_0x1972c2][(_0x40b220+0x1)['modulo'](_0x5d7dad[_0x1a4e('0x18')]['coordinates'][_0x1972c2]['length']-0x1)][0x0][_0x1a4e('0x196')]:_0x4eb09b[_0x1972c2][_0x40b220][_0x3ff7f9+0x1][_0x1a4e('0x196')];var _0x3b62c2=_0x4b8927[_0x1a4e('0x83')]({'minX':_0x556755[0x0],'minY':_0x556755[0x1],'maxX':_0x556755[0x0],'maxY':_0x556755[0x1]})[0x0];_0x4eb09b[_0x1972c2][_0x40b220][_0x3ff7f9][_0x1a4e('0x197')]=_0x3b62c2[_0x1a4e('0xbd')];}for(_0x1972c2=0x0;_0x1972c2<_0x4eb09b['length'];_0x1972c2++)for(_0x40b220=0x0;_0x40b220<_0x4eb09b[_0x1972c2][_0x1a4e('0x1e')];_0x40b220++)for(_0x3ff7f9=0x0;_0x3ff7f9<_0x4eb09b[_0x1972c2][_0x40b220]['length'];_0x3ff7f9++){var _0x556755=_0x4eb09b[_0x1972c2][_0x40b220][_0x3ff7f9]['coord'],_0x162a48=(_0x3b62c2=_0x4b8927[_0x1a4e('0x83')]({'minX':_0x556755[0x0],'minY':_0x556755[0x1],'maxX':_0x556755[0x0],'maxY':_0x556755[0x1]})[0x0])['index'];_0x162a48<_0x3d7f02?_0x39638f[_0x162a48][_0x1a4e('0x198')]=_0x4eb09b[_0x1972c2][_0x40b220][_0x3ff7f9]['nxtIsectAlongEdgeIn']:_0x4a3b71(_0x39638f[_0x162a48][_0x1a4e('0x199')],_0x4eb09b[_0x1972c2][_0x40b220][_0x3ff7f9][_0x1a4e('0x19a')])?_0x39638f[_0x162a48][_0x1a4e('0x19b')]=_0x4eb09b[_0x1972c2][_0x40b220][_0x3ff7f9][_0x1a4e('0x197')]:_0x39638f[_0x162a48][_0x1a4e('0x198')]=_0x4eb09b[_0x1972c2][_0x40b220][_0x3ff7f9][_0x1a4e('0x197')];}var _0x4f92fa=[];for(_0x1972c2=0x0,_0x40b220=0x0;_0x40b220<_0x81bc8f;_0x40b220++){var _0x4fae53=_0x1972c2;for(_0x3ff7f9=0x0;_0x3ff7f9<_0x5d7dad['geometry'][_0x1a4e('0x43')][_0x40b220]['length']-0x1;_0x3ff7f9++)_0x39638f[_0x1972c2]['coord'][0x0]<_0x39638f[_0x4fae53][_0x1a4e('0x196')][0x0]&&(_0x4fae53=_0x1972c2),_0x1972c2++;var _0x40eeaf=_0x39638f[_0x4fae53][_0x1a4e('0x198')];for(_0x3ff7f9=0x0;_0x3ff7f9<_0x39638f['length'];_0x3ff7f9++)if(_0x39638f[_0x3ff7f9][_0x1a4e('0x19b')]==_0x4fae53||_0x39638f[_0x3ff7f9][_0x1a4e('0x198')]==_0x4fae53){var _0x34483c=_0x3ff7f9;break;}var _0x7d6acf=_0x4a870d([_0x39638f[_0x34483c][_0x1a4e('0x196')],_0x39638f[_0x4fae53][_0x1a4e('0x196')],_0x39638f[_0x40eeaf][_0x1a4e('0x196')]],!0x0)?0x1:-0x1;_0x4f92fa[_0x1a4e('0x46')]({'isect':_0x4fae53,'parent':-0x1,'winding':_0x7d6acf});}for(_0x4f92fa['sort'](function(_0x5d7dad,_0x22b0c5){return _0x39638f[_0x5d7dad[_0x1a4e('0x19c')]][_0x1a4e('0x196')]>_0x39638f[_0x22b0c5[_0x1a4e('0x19c')]][_0x1a4e('0x196')]?-0x1:0x1;}),_0x4198ed=[];_0x4f92fa[_0x1a4e('0x1e')]>0x0;){var _0x17e057=_0x4f92fa['pop'](),_0x1494e6=_0x17e057[_0x1a4e('0x19c')],_0x57cad0=_0x17e057[_0x1a4e('0x11c')],_0x4412c5=_0x17e057[_0x1a4e('0x18d')],_0xaebea=_0x4198ed[_0x1a4e('0x1e')],_0x5674f8=[_0x39638f[_0x1494e6]['coord']],_0xe0c7f6=_0x1494e6;if(_0x39638f[_0x1494e6][_0x1a4e('0x19d')])var _0x23ec33=_0x39638f[_0x1494e6][_0x1a4e('0x199')],_0x5b37a5=_0x39638f[_0x1494e6][_0x1a4e('0x19b')];else _0x23ec33=_0x39638f[_0x1494e6]['ringAndEdge2'],_0x5b37a5=_0x39638f[_0x1494e6][_0x1a4e('0x198')];for(;!_0x4a3b71(_0x39638f[_0x1494e6][_0x1a4e('0x196')],_0x39638f[_0x5b37a5]['coord']);){_0x5674f8[_0x1a4e('0x46')](_0x39638f[_0x5b37a5][_0x1a4e('0x196')]);var _0xa3630=void 0x0;for(_0x1972c2=0x0;_0x1972c2<_0x4f92fa['length'];_0x1972c2++)if(_0x4f92fa[_0x1972c2][_0x1a4e('0x19c')]==_0x5b37a5){_0xa3630=_0x1972c2;break;}if(null!=_0xa3630&&_0x4f92fa['splice'](_0xa3630,0x1),_0x4a3b71(_0x23ec33,_0x39638f[_0x5b37a5][_0x1a4e('0x199')])){if(_0x23ec33=_0x39638f[_0x5b37a5][_0x1a4e('0x19e')],_0x39638f[_0x5b37a5][_0x1a4e('0x19f')]=!0x1,_0x39638f[_0x5b37a5]['ringAndEdge1Walkable']){var _0x310be4={'isect':_0x5b37a5};_0x4a870d([_0x39638f[_0xe0c7f6]['coord'],_0x39638f[_0x5b37a5][_0x1a4e('0x196')],_0x39638f[_0x39638f[_0x5b37a5][_0x1a4e('0x198')]][_0x1a4e('0x196')]],0x1==_0x4412c5)?(_0x310be4[_0x1a4e('0x11c')]=_0x57cad0,_0x310be4[_0x1a4e('0x18d')]=-_0x4412c5):(_0x310be4[_0x1a4e('0x11c')]=_0xaebea,_0x310be4[_0x1a4e('0x18d')]=_0x4412c5),_0x4f92fa[_0x1a4e('0x46')](_0x310be4);}_0xe0c7f6=_0x5b37a5,_0x5b37a5=_0x39638f[_0x5b37a5][_0x1a4e('0x198')];}else _0x23ec33=_0x39638f[_0x5b37a5][_0x1a4e('0x199')],_0x39638f[_0x5b37a5][_0x1a4e('0x19d')]=!0x1,_0x39638f[_0x5b37a5][_0x1a4e('0x19f')]&&(_0x310be4={'isect':_0x5b37a5},_0x4a870d([_0x39638f[_0xe0c7f6][_0x1a4e('0x196')],_0x39638f[_0x5b37a5][_0x1a4e('0x196')],_0x39638f[_0x39638f[_0x5b37a5][_0x1a4e('0x19b')]]['coord']],0x1==_0x4412c5)?(_0x310be4[_0x1a4e('0x11c')]=_0x57cad0,_0x310be4[_0x1a4e('0x18d')]=-_0x4412c5):(_0x310be4[_0x1a4e('0x11c')]=_0xaebea,_0x310be4[_0x1a4e('0x18d')]=_0x4412c5),_0x4f92fa[_0x1a4e('0x46')](_0x310be4)),_0xe0c7f6=_0x5b37a5,_0x5b37a5=_0x39638f[_0x5b37a5]['nxtIsectAlongRingAndEdge1'];}_0x5674f8[_0x1a4e('0x46')](_0x39638f[_0x5b37a5]['coord']),_0x4198ed[_0x1a4e('0x46')](_0x234f42([_0x5674f8],{'index':_0xaebea,'parent':_0x57cad0,'winding':_0x4412c5,'netWinding':void 0x0}));}return _0x41179c=_0x5dae0e(_0x4198ed),_0x22b0c5(),_0x5ac9eb(),_0x41179c;},_0x132c0f=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){this[_0x1a4e('0x196')]=_0x5d7dad,this[_0x1a4e('0x195')]=_0x22b0c5,this[_0x1a4e('0x19a')]=_0x5ac9eb,this[_0x1a4e('0x1a0')]=_0x261805,this[_0x1a4e('0x197')]=_0x81bc8f;},_0x2e5a6c=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447){this['coord']=_0x5d7dad,this['ringAndEdge1']=_0x22b0c5,this[_0x1a4e('0x19e')]=_0x5ac9eb,this[_0x1a4e('0x19b')]=_0x261805,this[_0x1a4e('0x198')]=_0x81bc8f,this[_0x1a4e('0x19d')]=_0x234f42,this[_0x1a4e('0x19f')]=_0x153447;};Number['prototype'][_0x1a4e('0x194')]=function(_0x5d7dad){return(this%_0x5d7dad+_0x5d7dad)%_0x5d7dad;};var _0x493964=Math['PI']/0xb4,_0x1a0017=0xb4/Math['PI'],_0x3bfd3f=function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x1a1')]=_0x5d7dad,this[_0x1a4e('0x1a2')]=_0x22b0c5,this['x']=_0x493964*_0x5d7dad,this['y']=_0x493964*_0x22b0c5;};_0x3bfd3f[_0x1a4e('0xa')][_0x1a4e('0x1a3')]=function(){return String(this[_0x1a4e('0x1a1')])[_0x1a4e('0x78')](0x0,0x4)+','+String(this[_0x1a4e('0x1a2')])['slice'](0x0,0x4);},_0x3bfd3f['prototype'][_0x1a4e('0x1a4')]=function(){var _0x5d7dad=-0x1*this['lat'],_0x22b0c5=this[_0x1a4e('0x1a1')]<0x0?0xb4+this[_0x1a4e('0x1a1')]:-0x1*(0xb4-this[_0x1a4e('0x1a1')]);return new _0x3bfd3f(_0x22b0c5,_0x5d7dad);};var _0x27dd5c=function(){this[_0x1a4e('0x1a5')]=[],this[_0x1a4e('0x1e')]=0x0;};_0x27dd5c['prototype'][_0x1a4e('0x1a6')]=function(_0x5d7dad){this[_0x1a4e('0x1e')]++,this[_0x1a4e('0x1a5')][_0x1a4e('0x46')](_0x5d7dad);};var _0x3bc4b9=function(_0x5d7dad){this['properties']=_0x5d7dad||{},this[_0x1a4e('0x42')]=[];};_0x3bc4b9[_0x1a4e('0xa')][_0x1a4e('0x1a7')]=function(){if(this['geometries'][_0x1a4e('0x1e')]<=0x0)return{'geometry':{'type':'LineString','coordinates':null},'type':_0x1a4e('0x12'),'properties':this[_0x1a4e('0x13')]};if(0x1===this[_0x1a4e('0x42')]['length'])return{'geometry':{'type':_0x1a4e('0x44'),'coordinates':this[_0x1a4e('0x42')][0x0]['coords']},'type':_0x1a4e('0x12'),'properties':this[_0x1a4e('0x13')]};for(var _0x5d7dad=[],_0x22b0c5=0x0;_0x22b0c5_0x184c89&&(_0x4eb09b>_0x3d7f02&&_0x41179c<_0x146559||_0x41179c>_0x3d7f02&&_0x4eb09b<_0x146559)?_0x1972c2=!0x0:_0x39638f>_0x3376f9&&(_0x3376f9=_0x39638f);}var _0x40b220=[];if(_0x1972c2&&_0x3376f9<_0x5dae0e){var _0x55366a=[];_0x40b220[_0x1a4e('0x46')](_0x55366a);for(var _0x527605=0x0;_0x527605<_0x5ac9eb[_0x1a4e('0x1e')];++_0x527605){var _0x4b8927=parseFloat(_0x5ac9eb[_0x527605][0x0]);if(_0x527605>0x0&&Math[_0x1a4e('0x65')](_0x4b8927-_0x5ac9eb[_0x527605-0x1][0x0])>_0x184c89){var _0x3ff7f9=parseFloat(_0x5ac9eb[_0x527605-0x1][0x0]),_0x3b62c2=parseFloat(_0x5ac9eb[_0x527605-0x1][0x1]),_0x556755=parseFloat(_0x5ac9eb[_0x527605][0x0]),_0x162a48=parseFloat(_0x5ac9eb[_0x527605][0x1]);if(_0x3ff7f9>-0xb4&&_0x3ff7f9<_0x146559&&0xb4===_0x556755&&_0x527605+0x1<_0x5ac9eb[_0x1a4e('0x1e')]&&_0x5ac9eb[_0x527605-0x1][0x0]>-0xb4&&_0x5ac9eb[_0x527605-0x1][0x0]<_0x146559){_0x55366a[_0x1a4e('0x46')]([-0xb4,_0x5ac9eb[_0x527605][0x1]]),_0x527605++,_0x55366a[_0x1a4e('0x46')]([_0x5ac9eb[_0x527605][0x0],_0x5ac9eb[_0x527605][0x1]]);continue;}if(_0x3ff7f9>_0x3d7f02&&_0x3ff7f9<0xb4&&-0xb4===_0x556755&&_0x527605+0x1<_0x5ac9eb[_0x1a4e('0x1e')]&&_0x5ac9eb[_0x527605-0x1][0x0]>_0x3d7f02&&_0x5ac9eb[_0x527605-0x1][0x0]<0xb4){_0x55366a[_0x1a4e('0x46')]([0xb4,_0x5ac9eb[_0x527605][0x1]]),_0x527605++,_0x55366a[_0x1a4e('0x46')]([_0x5ac9eb[_0x527605][0x0],_0x5ac9eb[_0x527605][0x1]]);continue;}if(_0x3ff7f9<_0x146559&&_0x556755>_0x3d7f02){var _0x4f92fa=_0x3ff7f9;_0x3ff7f9=_0x556755,_0x556755=_0x4f92fa;var _0x4fae53=_0x3b62c2;_0x3b62c2=_0x162a48,_0x162a48=_0x4fae53;}if(_0x3ff7f9>_0x3d7f02&&_0x556755<_0x146559&&(_0x556755+=0x168),_0x3ff7f9<=0xb4&&_0x556755>=0xb4&&_0x3ff7f9<_0x556755){var _0x40eeaf=(0xb4-_0x3ff7f9)/(_0x556755-_0x3ff7f9),_0x34483c=_0x40eeaf*_0x162a48+(0x1-_0x40eeaf)*_0x3b62c2;_0x55366a[_0x1a4e('0x46')]([_0x5ac9eb[_0x527605-0x1][0x0]>_0x3d7f02?0xb4:-0xb4,_0x34483c]),(_0x55366a=[])[_0x1a4e('0x46')]([_0x5ac9eb[_0x527605-0x1][0x0]>_0x3d7f02?-0xb4:0xb4,_0x34483c]),_0x40b220[_0x1a4e('0x46')](_0x55366a);}else _0x55366a=[],_0x40b220[_0x1a4e('0x46')](_0x55366a);_0x55366a[_0x1a4e('0x46')]([_0x4b8927,_0x5ac9eb[_0x527605][0x1]]);}else _0x55366a[_0x1a4e('0x46')]([_0x5ac9eb[_0x527605][0x0],_0x5ac9eb[_0x527605][0x1]]);}}else{var _0x7d6acf=[];_0x40b220['push'](_0x7d6acf);for(var _0x17e057=0x0;_0x17e057<_0x5ac9eb[_0x1a4e('0x1e')];++_0x17e057)_0x7d6acf[_0x1a4e('0x46')]([_0x5ac9eb[_0x17e057][0x0],_0x5ac9eb[_0x17e057][0x1]]);}for(var _0x1494e6=new _0x3bc4b9(this[_0x1a4e('0x13')]),_0x57cad0=0x0;_0x57cad0<_0x40b220[_0x1a4e('0x1e')];++_0x57cad0){var _0x4412c5=new _0x27dd5c();_0x1494e6[_0x1a4e('0x42')]['push'](_0x4412c5);for(var _0xaebea=_0x40b220[_0x57cad0],_0x5674f8=0x0;_0x5674f8<_0xaebea[_0x1a4e('0x1e')];++_0x5674f8)_0x4412c5[_0x1a4e('0x1a6')](_0xaebea[_0x5674f8]);}return _0x1494e6;};var _0xa3b501=_0x5d1f1b;_0x5d1f1b[_0x1a4e('0x1b0')]=_0x5d1f1b,_0x5d1f1b[_0x1a4e('0xe7')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9;for(_0x261805=0x1;_0x261805<=0x8;_0x261805*=0x2){for(_0x5ac9eb=[],_0x234f42=!(_0x3f04cb(_0x81bc8f=_0x5d7dad[_0x5d7dad[_0x1a4e('0x1e')]-0x1],_0x22b0c5)&_0x261805),_0x153447=0x0;_0x153447<_0x5d7dad[_0x1a4e('0x1e')];_0x153447++)(_0x3376f9=!(_0x3f04cb(_0x1972c2=_0x5d7dad[_0x153447],_0x22b0c5)&_0x261805))!==_0x234f42&&_0x5ac9eb['push'](_0x171d10(_0x81bc8f,_0x1972c2,_0x261805,_0x22b0c5)),_0x3376f9&&_0x5ac9eb[_0x1a4e('0x46')](_0x1972c2),_0x81bc8f=_0x1972c2,_0x234f42=_0x3376f9;if(!(_0x5d7dad=_0x5ac9eb)[_0x1a4e('0x1e')])break;}return _0x5ac9eb;};var _0x3d3182=Array['prototype'][_0x1a4e('0x78')],_0x3a2c7b={'successCallback':null,'verbose':!0x1,'polygons':!0x1},_0x1fe0e6={},_0x3b7acf=0x40,_0x269dcf=0x10,_0x2e25b4=0x4,_0x449e76=0x1,_0x37a000=[],_0x355dbd=[],_0x3ba198=[],_0x9d6b5f=[],_0x338fbf=[],_0x32a802=[],_0x38679a=[],_0x584d90=[],_0x3faeed=[],_0x42cb6b=[],_0x2b5226=[],_0x5f221c=[],_0xa575e5=[],_0x4c116d=[],_0x264e9b=[],_0x5a33c6=[],_0x34d6ef=[],_0x1abfab=[],_0x1cced2=[],_0x1cdc95=[],_0x174189=[],_0x16f192=[],_0x6da66c=[],_0x43b82d=[];_0x38679a[0x55]=_0x42cb6b[0x55]=-0x1,_0x584d90[0x55]=_0x2b5226[0x55]=0x0,_0x3faeed[0x55]=_0x5f221c[0x55]=0x1,_0x1cced2[0x55]=_0x16f192[0x55]=0x1,_0x1cdc95[0x55]=_0x6da66c[0x55]=0x0,_0x174189[0x55]=_0x43b82d[0x55]=0x1,_0x37a000[0x55]=_0x9d6b5f[0x55]=0x0,_0x355dbd[0x55]=_0x338fbf[0x55]=-0x1,_0x3ba198[0x55]=_0x264e9b[0x55]=0x0,_0x5a33c6[0x55]=_0xa575e5[0x55]=0x0,_0x34d6ef[0x55]=_0x4c116d[0x55]=0x1,_0x32a802[0x55]=_0x1abfab[0x55]=0x1,_0x16f192[0x1]=_0x16f192[0xa9]=0x0,_0x6da66c[0x1]=_0x6da66c[0xa9]=-0x1,_0x43b82d[0x1]=_0x43b82d[0xa9]=0x0,_0xa575e5[0x1]=_0xa575e5[0xa9]=-0x1,_0x4c116d[0x1]=_0x4c116d[0xa9]=0x0,_0x264e9b[0x1]=_0x264e9b[0xa9]=0x0,_0x42cb6b[0x4]=_0x42cb6b[0xa6]=0x0,_0x2b5226[0x4]=_0x2b5226[0xa6]=-0x1,_0x5f221c[0x4]=_0x5f221c[0xa6]=0x1,_0x5a33c6[0x4]=_0x5a33c6[0xa6]=0x1,_0x34d6ef[0x4]=_0x34d6ef[0xa6]=0x0,_0x1abfab[0x4]=_0x1abfab[0xa6]=0x0,_0x38679a[0x10]=_0x38679a[0x9a]=0x0,_0x584d90[0x10]=_0x584d90[0x9a]=0x1,_0x3faeed[0x10]=_0x3faeed[0x9a]=0x1,_0x9d6b5f[0x10]=_0x9d6b5f[0x9a]=0x1,_0x338fbf[0x10]=_0x338fbf[0x9a]=0x0,_0x32a802[0x10]=_0x32a802[0x9a]=0x1,_0x1cced2[0x40]=_0x1cced2[0x6a]=0x0,_0x1cdc95[0x40]=_0x1cdc95[0x6a]=0x1,_0x174189[0x40]=_0x174189[0x6a]=0x0,_0x37a000[0x40]=_0x37a000[0x6a]=-0x1,_0x355dbd[0x40]=_0x355dbd[0x6a]=0x0,_0x3ba198[0x40]=_0x3ba198[0x6a]=0x1,_0x1cced2[0x2]=_0x1cced2[0xa8]=0x0,_0x1cdc95[0x2]=_0x1cdc95[0xa8]=-0x1,_0x174189[0x2]=_0x174189[0xa8]=0x1,_0x16f192[0x2]=_0x16f192[0xa8]=0x0,_0x6da66c[0x2]=_0x6da66c[0xa8]=-0x1,_0x43b82d[0x2]=_0x43b82d[0xa8]=0x0,_0xa575e5[0x2]=_0xa575e5[0xa8]=-0x1,_0x4c116d[0x2]=_0x4c116d[0xa8]=0x0,_0x264e9b[0x2]=_0x264e9b[0xa8]=0x0,_0x5a33c6[0x2]=_0x5a33c6[0xa8]=-0x1,_0x34d6ef[0x2]=_0x34d6ef[0xa8]=0x0,_0x1abfab[0x2]=_0x1abfab[0xa8]=0x1,_0x38679a[0x8]=_0x38679a[0xa2]=0x0,_0x584d90[0x8]=_0x584d90[0xa2]=-0x1,_0x3faeed[0x8]=_0x3faeed[0xa2]=0x0,_0x42cb6b[0x8]=_0x42cb6b[0xa2]=0x0,_0x2b5226[0x8]=_0x2b5226[0xa2]=-0x1,_0x5f221c[0x8]=_0x5f221c[0xa2]=0x1,_0xa575e5[0x8]=_0xa575e5[0xa2]=0x1,_0x4c116d[0x8]=_0x4c116d[0xa2]=0x0,_0x264e9b[0x8]=_0x264e9b[0xa2]=0x1,_0x5a33c6[0x8]=_0x5a33c6[0xa2]=0x1,_0x34d6ef[0x8]=_0x34d6ef[0xa2]=0x0,_0x1abfab[0x8]=_0x1abfab[0xa2]=0x0,_0x38679a[0x20]=_0x38679a[0x8a]=0x0,_0x584d90[0x20]=_0x584d90[0x8a]=0x1,_0x3faeed[0x20]=_0x3faeed[0x8a]=0x1,_0x42cb6b[0x20]=_0x42cb6b[0x8a]=0x0,_0x2b5226[0x20]=_0x2b5226[0x8a]=0x1,_0x5f221c[0x20]=_0x5f221c[0x8a]=0x0,_0x37a000[0x20]=_0x37a000[0x8a]=0x1,_0x355dbd[0x20]=_0x355dbd[0x8a]=0x0,_0x3ba198[0x20]=_0x3ba198[0x8a]=0x0,_0x9d6b5f[0x20]=_0x9d6b5f[0x8a]=0x1,_0x338fbf[0x20]=_0x338fbf[0x8a]=0x0,_0x32a802[0x20]=_0x32a802[0x8a]=0x1,_0x16f192[0x80]=_0x16f192[0x2a]=0x0,_0x6da66c[0x80]=_0x6da66c[0x2a]=0x1,_0x43b82d[0x80]=_0x43b82d[0x2a]=0x1,_0x1cced2[0x80]=_0x1cced2[0x2a]=0x0,_0x1cdc95[0x80]=_0x1cdc95[0x2a]=0x1,_0x174189[0x80]=_0x174189[0x2a]=0x0,_0x37a000[0x80]=_0x37a000[0x2a]=-0x1,_0x355dbd[0x80]=_0x355dbd[0x2a]=0x0,_0x3ba198[0x80]=_0x3ba198[0x2a]=0x1,_0x9d6b5f[0x80]=_0x9d6b5f[0x2a]=-0x1,_0x338fbf[0x80]=_0x338fbf[0x2a]=0x0,_0x32a802[0x80]=_0x32a802[0x2a]=0x0,_0x42cb6b[0x5]=_0x42cb6b[0xa5]=-0x1,_0x2b5226[0x5]=_0x2b5226[0xa5]=0x0,_0x5f221c[0x5]=_0x5f221c[0xa5]=0x0,_0x16f192[0x5]=_0x16f192[0xa5]=0x1,_0x6da66c[0x5]=_0x6da66c[0xa5]=0x0,_0x43b82d[0x5]=_0x43b82d[0xa5]=0x0,_0x5a33c6[0x14]=_0x5a33c6[0x96]=0x0,_0x34d6ef[0x14]=_0x34d6ef[0x96]=0x1,_0x1abfab[0x14]=_0x1abfab[0x96]=0x1,_0x9d6b5f[0x14]=_0x9d6b5f[0x96]=0x0,_0x338fbf[0x14]=_0x338fbf[0x96]=-0x1,_0x32a802[0x14]=_0x32a802[0x96]=0x1,_0x38679a[0x50]=_0x38679a[0x5a]=-0x1,_0x584d90[0x50]=_0x584d90[0x5a]=0x0,_0x3faeed[0x50]=_0x3faeed[0x5a]=0x1,_0x1cced2[0x50]=_0x1cced2[0x5a]=0x1,_0x1cdc95[0x50]=_0x1cdc95[0x5a]=0x0,_0x174189[0x50]=_0x174189[0x5a]=0x1,_0xa575e5[0x41]=_0xa575e5[0x69]=0x0,_0x4c116d[0x41]=_0x4c116d[0x69]=0x1,_0x264e9b[0x41]=_0x264e9b[0x69]=0x0,_0x37a000[0x41]=_0x37a000[0x69]=0x0,_0x355dbd[0x41]=_0x355dbd[0x69]=-0x1,_0x3ba198[0x41]=_0x3ba198[0x69]=0x0,_0x38679a[0xa0]=_0x38679a[0xa]=-0x1,_0x584d90[0xa0]=_0x584d90[0xa]=0x0,_0x3faeed[0xa0]=_0x3faeed[0xa]=0x1,_0x42cb6b[0xa0]=_0x42cb6b[0xa]=-0x1,_0x2b5226[0xa0]=_0x2b5226[0xa]=0x0,_0x5f221c[0xa0]=_0x5f221c[0xa]=0x0,_0x16f192[0xa0]=_0x16f192[0xa]=0x1,_0x6da66c[0xa0]=_0x6da66c[0xa]=0x0,_0x43b82d[0xa0]=_0x43b82d[0xa]=0x0,_0x1cced2[0xa0]=_0x1cced2[0xa]=0x1,_0x1cdc95[0xa0]=_0x1cdc95[0xa]=0x0,_0x174189[0xa0]=_0x174189[0xa]=0x1,_0x5a33c6[0x82]=_0x5a33c6[0x28]=0x0,_0x34d6ef[0x82]=_0x34d6ef[0x28]=0x1,_0x1abfab[0x82]=_0x1abfab[0x28]=0x1,_0xa575e5[0x82]=_0xa575e5[0x28]=0x0,_0x4c116d[0x82]=_0x4c116d[0x28]=0x1,_0x264e9b[0x82]=_0x264e9b[0x28]=0x0,_0x37a000[0x82]=_0x37a000[0x28]=0x0,_0x355dbd[0x82]=_0x355dbd[0x28]=-0x1,_0x3ba198[0x82]=_0x3ba198[0x28]=0x0,_0x9d6b5f[0x82]=_0x9d6b5f[0x28]=0x0,_0x338fbf[0x82]=_0x338fbf[0x28]=-0x1,_0x32a802[0x82]=_0x32a802[0x28]=0x1,_0x42cb6b[0x25]=_0x42cb6b[0x85]=0x0,_0x2b5226[0x25]=_0x2b5226[0x85]=0x1,_0x5f221c[0x25]=_0x5f221c[0x85]=0x1,_0x16f192[0x25]=_0x16f192[0x85]=0x0,_0x6da66c[0x25]=_0x6da66c[0x85]=0x1,_0x43b82d[0x25]=_0x43b82d[0x85]=0x0,_0x37a000[0x25]=_0x37a000[0x85]=-0x1,_0x355dbd[0x25]=_0x355dbd[0x85]=0x0,_0x3ba198[0x25]=_0x3ba198[0x85]=0x0,_0x9d6b5f[0x25]=_0x9d6b5f[0x85]=0x1,_0x338fbf[0x25]=_0x338fbf[0x85]=0x0,_0x32a802[0x25]=_0x32a802[0x85]=0x0,_0x5a33c6[0x94]=_0x5a33c6[0x16]=-0x1,_0x34d6ef[0x94]=_0x34d6ef[0x16]=0x0,_0x1abfab[0x94]=_0x1abfab[0x16]=0x0,_0x16f192[0x94]=_0x16f192[0x16]=0x0,_0x6da66c[0x94]=_0x6da66c[0x16]=-0x1,_0x43b82d[0x94]=_0x43b82d[0x16]=0x1,_0x1cced2[0x94]=_0x1cced2[0x16]=0x0,_0x1cdc95[0x94]=_0x1cdc95[0x16]=0x1,_0x174189[0x94]=_0x174189[0x16]=0x1,_0x9d6b5f[0x94]=_0x9d6b5f[0x16]=-0x1,_0x338fbf[0x94]=_0x338fbf[0x16]=0x0,_0x32a802[0x94]=_0x32a802[0x16]=0x1,_0x38679a[0x52]=_0x38679a[0x58]=0x0,_0x584d90[0x52]=_0x584d90[0x58]=-0x1,_0x3faeed[0x52]=_0x3faeed[0x58]=0x1,_0x5a33c6[0x52]=_0x5a33c6[0x58]=0x1,_0x34d6ef[0x52]=_0x34d6ef[0x58]=0x0,_0x1abfab[0x52]=_0x1abfab[0x58]=0x1,_0xa575e5[0x52]=_0xa575e5[0x58]=-0x1,_0x4c116d[0x52]=_0x4c116d[0x58]=0x0,_0x264e9b[0x52]=_0x264e9b[0x58]=0x1,_0x1cced2[0x52]=_0x1cced2[0x58]=0x0,_0x1cdc95[0x52]=_0x1cdc95[0x58]=-0x1,_0x174189[0x52]=_0x174189[0x58]=0x0,_0x38679a[0x49]=_0x38679a[0x61]=0x0,_0x584d90[0x49]=_0x584d90[0x61]=0x1,_0x3faeed[0x49]=_0x3faeed[0x61]=0x0,_0x42cb6b[0x49]=_0x42cb6b[0x61]=0x0,_0x2b5226[0x49]=_0x2b5226[0x61]=-0x1,_0x5f221c[0x49]=_0x5f221c[0x61]=0x0,_0xa575e5[0x49]=_0xa575e5[0x61]=0x1,_0x4c116d[0x49]=_0x4c116d[0x61]=0x0,_0x264e9b[0x49]=_0x264e9b[0x61]=0x0,_0x37a000[0x49]=_0x37a000[0x61]=0x1,_0x355dbd[0x49]=_0x355dbd[0x61]=0x0,_0x3ba198[0x49]=_0x3ba198[0x61]=0x1,_0x38679a[0x91]=_0x38679a[0x19]=0x0,_0x584d90[0x91]=_0x584d90[0x19]=-0x1,_0x3faeed[0x91]=_0x3faeed[0x19]=0x0,_0xa575e5[0x91]=_0xa575e5[0x19]=0x1,_0x4c116d[0x91]=_0x4c116d[0x19]=0x0,_0x264e9b[0x91]=_0x264e9b[0x19]=0x1,_0x16f192[0x91]=_0x16f192[0x19]=0x0,_0x6da66c[0x91]=_0x6da66c[0x19]=0x1,_0x43b82d[0x91]=_0x43b82d[0x19]=0x1,_0x9d6b5f[0x91]=_0x9d6b5f[0x19]=-0x1,_0x338fbf[0x91]=_0x338fbf[0x19]=0x0,_0x32a802[0x91]=_0x32a802[0x19]=0x0,_0x42cb6b[0x46]=_0x42cb6b[0x64]=0x0,_0x2b5226[0x46]=_0x2b5226[0x64]=0x1,_0x5f221c[0x46]=_0x5f221c[0x64]=0x0,_0x5a33c6[0x46]=_0x5a33c6[0x64]=-0x1,_0x34d6ef[0x46]=_0x34d6ef[0x64]=0x0,_0x1abfab[0x46]=_0x1abfab[0x64]=0x1,_0x1cced2[0x46]=_0x1cced2[0x64]=0x0,_0x1cdc95[0x46]=_0x1cdc95[0x64]=-0x1,_0x174189[0x46]=_0x174189[0x64]=0x1,_0x37a000[0x46]=_0x37a000[0x64]=0x1,_0x355dbd[0x46]=_0x355dbd[0x64]=0x0,_0x3ba198[0x46]=_0x3ba198[0x64]=0x0,_0x42cb6b[0x65]=_0x42cb6b[0x45]=0x0,_0x2b5226[0x65]=_0x2b5226[0x45]=0x1,_0x5f221c[0x65]=_0x5f221c[0x45]=0x0,_0x37a000[0x65]=_0x37a000[0x45]=0x1,_0x355dbd[0x65]=_0x355dbd[0x45]=0x0,_0x3ba198[0x65]=_0x3ba198[0x45]=0x0,_0x16f192[0x95]=_0x16f192[0x15]=0x0,_0x6da66c[0x95]=_0x6da66c[0x15]=0x1,_0x43b82d[0x95]=_0x43b82d[0x15]=0x1,_0x9d6b5f[0x95]=_0x9d6b5f[0x15]=-0x1,_0x338fbf[0x95]=_0x338fbf[0x15]=0x0,_0x32a802[0x95]=_0x32a802[0x15]=0x0,_0x5a33c6[0x56]=_0x5a33c6[0x54]=-0x1,_0x34d6ef[0x56]=_0x34d6ef[0x54]=0x0,_0x1abfab[0x56]=_0x1abfab[0x54]=0x1,_0x1cced2[0x56]=_0x1cced2[0x54]=0x0,_0x1cdc95[0x56]=_0x1cdc95[0x54]=-0x1,_0x174189[0x56]=_0x174189[0x54]=0x1,_0x38679a[0x59]=_0x38679a[0x51]=0x0,_0x584d90[0x59]=_0x584d90[0x51]=-0x1,_0x3faeed[0x59]=_0x3faeed[0x51]=0x0,_0xa575e5[0x59]=_0xa575e5[0x51]=0x1,_0x4c116d[0x59]=_0x4c116d[0x51]=0x0,_0x264e9b[0x59]=_0x264e9b[0x51]=0x1,_0x38679a[0x60]=_0x38679a[0x4a]=0x0,_0x584d90[0x60]=_0x584d90[0x4a]=0x1,_0x3faeed[0x60]=_0x3faeed[0x4a]=0x0,_0x42cb6b[0x60]=_0x42cb6b[0x4a]=-0x1,_0x2b5226[0x60]=_0x2b5226[0x4a]=0x0,_0x5f221c[0x60]=_0x5f221c[0x4a]=0x1,_0x1cced2[0x60]=_0x1cced2[0x4a]=0x1,_0x1cdc95[0x60]=_0x1cdc95[0x4a]=0x0,_0x174189[0x60]=_0x174189[0x4a]=0x0,_0x37a000[0x60]=_0x37a000[0x4a]=0x1,_0x355dbd[0x60]=_0x355dbd[0x4a]=0x0,_0x3ba198[0x60]=_0x3ba198[0x4a]=0x1,_0x38679a[0x18]=_0x38679a[0x92]=0x0,_0x584d90[0x18]=_0x584d90[0x92]=-0x1,_0x3faeed[0x18]=_0x3faeed[0x92]=0x1,_0x5a33c6[0x18]=_0x5a33c6[0x92]=0x1,_0x34d6ef[0x18]=_0x34d6ef[0x92]=0x0,_0x1abfab[0x18]=_0x1abfab[0x92]=0x1,_0xa575e5[0x18]=_0xa575e5[0x92]=0x0,_0x4c116d[0x18]=_0x4c116d[0x92]=0x1,_0x264e9b[0x18]=_0x264e9b[0x92]=0x1,_0x9d6b5f[0x18]=_0x9d6b5f[0x92]=0x0,_0x338fbf[0x18]=_0x338fbf[0x92]=-0x1,_0x32a802[0x18]=_0x32a802[0x92]=0x0,_0x42cb6b[0x6]=_0x42cb6b[0xa4]=-0x1,_0x2b5226[0x6]=_0x2b5226[0xa4]=0x0,_0x5f221c[0x6]=_0x5f221c[0xa4]=0x1,_0x5a33c6[0x6]=_0x5a33c6[0xa4]=-0x1,_0x34d6ef[0x6]=_0x34d6ef[0xa4]=0x0,_0x1abfab[0x6]=_0x1abfab[0xa4]=0x0,_0x16f192[0x6]=_0x16f192[0xa4]=0x0,_0x6da66c[0x6]=_0x6da66c[0xa4]=-0x1,_0x43b82d[0x6]=_0x43b82d[0xa4]=0x1,_0x1cced2[0x6]=_0x1cced2[0xa4]=0x1,_0x1cdc95[0x6]=_0x1cdc95[0xa4]=0x0,_0x174189[0x6]=_0x174189[0xa4]=0x0,_0xa575e5[0x81]=_0xa575e5[0x29]=0x0,_0x4c116d[0x81]=_0x4c116d[0x29]=0x1,_0x264e9b[0x81]=_0x264e9b[0x29]=0x1,_0x16f192[0x81]=_0x16f192[0x29]=0x0,_0x6da66c[0x81]=_0x6da66c[0x29]=0x1,_0x43b82d[0x81]=_0x43b82d[0x29]=0x0,_0x37a000[0x81]=_0x37a000[0x29]=-0x1,_0x355dbd[0x81]=_0x355dbd[0x29]=0x0,_0x3ba198[0x81]=_0x3ba198[0x29]=0x0,_0x9d6b5f[0x81]=_0x9d6b5f[0x29]=0x0,_0x338fbf[0x81]=_0x338fbf[0x29]=-0x1,_0x32a802[0x81]=_0x32a802[0x29]=0x0,_0x5a33c6[0x42]=_0x5a33c6[0x68]=0x0,_0x34d6ef[0x42]=_0x34d6ef[0x68]=0x1,_0x1abfab[0x42]=_0x1abfab[0x68]=0x0,_0xa575e5[0x42]=_0xa575e5[0x68]=-0x1,_0x4c116d[0x42]=_0x4c116d[0x68]=0x0,_0x264e9b[0x42]=_0x264e9b[0x68]=0x1,_0x1cced2[0x42]=_0x1cced2[0x68]=0x0,_0x1cdc95[0x42]=_0x1cdc95[0x68]=-0x1,_0x174189[0x42]=_0x174189[0x68]=0x0,_0x37a000[0x42]=_0x37a000[0x68]=0x0,_0x355dbd[0x42]=_0x355dbd[0x68]=-0x1,_0x3ba198[0x42]=_0x3ba198[0x68]=0x1,_0x38679a[0x90]=_0x38679a[0x1a]=-0x1,_0x584d90[0x90]=_0x584d90[0x1a]=0x0,_0x3faeed[0x90]=_0x3faeed[0x1a]=0x0,_0x16f192[0x90]=_0x16f192[0x1a]=0x1,_0x6da66c[0x90]=_0x6da66c[0x1a]=0x0,_0x43b82d[0x90]=_0x43b82d[0x1a]=0x1,_0x1cced2[0x90]=_0x1cced2[0x1a]=0x0,_0x1cdc95[0x90]=_0x1cdc95[0x1a]=0x1,_0x174189[0x90]=_0x174189[0x1a]=0x1,_0x9d6b5f[0x90]=_0x9d6b5f[0x1a]=-0x1,_0x338fbf[0x90]=_0x338fbf[0x1a]=0x0,_0x32a802[0x90]=_0x32a802[0x1a]=0x1,_0x42cb6b[0x24]=_0x42cb6b[0x86]=0x0,_0x2b5226[0x24]=_0x2b5226[0x86]=0x1,_0x5f221c[0x24]=_0x5f221c[0x86]=0x1,_0x5a33c6[0x24]=_0x5a33c6[0x86]=0x0,_0x34d6ef[0x24]=_0x34d6ef[0x86]=0x1,_0x1abfab[0x24]=_0x1abfab[0x86]=0x0,_0x37a000[0x24]=_0x37a000[0x86]=0x0,_0x355dbd[0x24]=_0x355dbd[0x86]=-0x1,_0x3ba198[0x24]=_0x3ba198[0x86]=0x1,_0x9d6b5f[0x24]=_0x9d6b5f[0x86]=0x1,_0x338fbf[0x24]=_0x338fbf[0x86]=0x0,_0x32a802[0x24]=_0x32a802[0x86]=0x0,_0x38679a[0x9]=_0x38679a[0xa1]=-0x1,_0x584d90[0x9]=_0x584d90[0xa1]=0x0,_0x3faeed[0x9]=_0x3faeed[0xa1]=0x0,_0x42cb6b[0x9]=_0x42cb6b[0xa1]=0x0,_0x2b5226[0x9]=_0x2b5226[0xa1]=-0x1,_0x5f221c[0x9]=_0x5f221c[0xa1]=0x0,_0xa575e5[0x9]=_0xa575e5[0xa1]=0x1,_0x4c116d[0x9]=_0x4c116d[0xa1]=0x0,_0x264e9b[0x9]=_0x264e9b[0xa1]=0x0,_0x16f192[0x9]=_0x16f192[0xa1]=0x1,_0x6da66c[0x9]=_0x6da66c[0xa1]=0x0,_0x43b82d[0x9]=_0x43b82d[0xa1]=0x1,_0x38679a[0x88]=0x0,_0x584d90[0x88]=0x1,_0x3faeed[0x88]=0x1,_0x42cb6b[0x88]=0x0,_0x2b5226[0x88]=0x1,_0x5f221c[0x88]=0x0,_0x5a33c6[0x88]=-0x1,_0x34d6ef[0x88]=0x0,_0x1abfab[0x88]=0x1,_0xa575e5[0x88]=-0x1,_0x4c116d[0x88]=0x0,_0x264e9b[0x88]=0x0,_0x16f192[0x88]=0x0,_0x6da66c[0x88]=-0x1,_0x43b82d[0x88]=0x0,_0x1cced2[0x88]=0x0,_0x1cdc95[0x88]=-0x1,_0x174189[0x88]=0x1,_0x37a000[0x88]=0x1,_0x355dbd[0x88]=0x0,_0x3ba198[0x88]=0x0,_0x9d6b5f[0x88]=0x1,_0x338fbf[0x88]=0x0,_0x32a802[0x88]=0x1,_0x38679a[0x22]=0x0,_0x584d90[0x22]=-0x1,_0x3faeed[0x22]=0x0,_0x42cb6b[0x22]=0x0,_0x2b5226[0x22]=-0x1,_0x5f221c[0x22]=0x1,_0x5a33c6[0x22]=0x1,_0x34d6ef[0x22]=0x0,_0x1abfab[0x22]=0x0,_0xa575e5[0x22]=0x1,_0x4c116d[0x22]=0x0,_0x264e9b[0x22]=0x1,_0x16f192[0x22]=0x0,_0x6da66c[0x22]=0x1,_0x43b82d[0x22]=0x1,_0x1cced2[0x22]=0x0,_0x1cdc95[0x22]=0x1,_0x174189[0x22]=0x0,_0x37a000[0x22]=-0x1,_0x355dbd[0x22]=0x0,_0x3ba198[0x22]=0x1,_0x9d6b5f[0x22]=-0x1,_0x338fbf[0x22]=0x0,_0x32a802[0x22]=0x0,_0x38679a[0x23]=0x0,_0x584d90[0x23]=0x1,_0x3faeed[0x23]=0x1,_0x42cb6b[0x23]=0x0,_0x2b5226[0x23]=-0x1,_0x5f221c[0x23]=0x1,_0x5a33c6[0x23]=0x1,_0x34d6ef[0x23]=0x0,_0x1abfab[0x23]=0x0,_0xa575e5[0x23]=-0x1,_0x4c116d[0x23]=0x0,_0x264e9b[0x23]=0x0,_0x16f192[0x23]=0x0,_0x6da66c[0x23]=-0x1,_0x43b82d[0x23]=0x0,_0x1cced2[0x23]=0x0,_0x1cdc95[0x23]=0x1,_0x174189[0x23]=0x0,_0x37a000[0x23]=-0x1,_0x355dbd[0x23]=0x0,_0x3ba198[0x23]=0x1,_0x9d6b5f[0x23]=0x1,_0x338fbf[0x23]=0x0,_0x32a802[0x23]=0x1,_0x38679a[0x99]=0x0,_0x584d90[0x99]=0x1,_0x3faeed[0x99]=0x1,_0xa575e5[0x99]=-0x1,_0x4c116d[0x99]=0x0,_0x264e9b[0x99]=0x0,_0x16f192[0x99]=0x0,_0x6da66c[0x99]=-0x1,_0x43b82d[0x99]=0x0,_0x9d6b5f[0x99]=0x1,_0x338fbf[0x99]=0x0,_0x32a802[0x99]=0x1,_0x42cb6b[0x66]=0x0,_0x2b5226[0x66]=-0x1,_0x5f221c[0x66]=0x1,_0x5a33c6[0x66]=0x1,_0x34d6ef[0x66]=0x0,_0x1abfab[0x66]=0x0,_0x1cced2[0x66]=0x0,_0x1cdc95[0x66]=0x1,_0x174189[0x66]=0x0,_0x37a000[0x66]=-0x1,_0x355dbd[0x66]=0x0,_0x3ba198[0x66]=0x1,_0x38679a[0x9b]=0x0,_0x584d90[0x9b]=-0x1,_0x3faeed[0x9b]=0x0,_0xa575e5[0x9b]=0x1,_0x4c116d[0x9b]=0x0,_0x264e9b[0x9b]=0x1,_0x16f192[0x9b]=0x0,_0x6da66c[0x9b]=0x1,_0x43b82d[0x9b]=0x1,_0x9d6b5f[0x9b]=-0x1,_0x338fbf[0x9b]=0x0,_0x32a802[0x9b]=0x0,_0x42cb6b[0x67]=0x0,_0x2b5226[0x67]=0x1,_0x5f221c[0x67]=0x0,_0x5a33c6[0x67]=-0x1,_0x34d6ef[0x67]=0x0,_0x1abfab[0x67]=0x1,_0x1cced2[0x67]=0x0,_0x1cdc95[0x67]=-0x1,_0x174189[0x67]=0x1,_0x37a000[0x67]=0x1,_0x355dbd[0x67]=0x0,_0x3ba198[0x67]=0x0,_0x38679a[0x98]=0x0,_0x584d90[0x98]=0x1,_0x3faeed[0x98]=0x1,_0x5a33c6[0x98]=-0x1,_0x34d6ef[0x98]=0x0,_0x1abfab[0x98]=0x1,_0xa575e5[0x98]=-0x1,_0x4c116d[0x98]=0x0,_0x264e9b[0x98]=0x0,_0x16f192[0x98]=0x0,_0x6da66c[0x98]=-0x1,_0x43b82d[0x98]=0x0,_0x1cced2[0x98]=0x0,_0x1cdc95[0x98]=-0x1,_0x174189[0x98]=0x1,_0x9d6b5f[0x98]=0x1,_0x338fbf[0x98]=0x0,_0x32a802[0x98]=0x1,_0x38679a[0x9c]=0x0,_0x584d90[0x9c]=-0x1,_0x3faeed[0x9c]=0x1,_0x5a33c6[0x9c]=0x1,_0x34d6ef[0x9c]=0x0,_0x1abfab[0x9c]=0x1,_0xa575e5[0x9c]=-0x1,_0x4c116d[0x9c]=0x0,_0x264e9b[0x9c]=0x0,_0x16f192[0x9c]=0x0,_0x6da66c[0x9c]=-0x1,_0x43b82d[0x9c]=0x0,_0x1cced2[0x9c]=0x0,_0x1cdc95[0x9c]=0x1,_0x174189[0x9c]=0x1,_0x9d6b5f[0x9c]=-0x1,_0x338fbf[0x9c]=0x0,_0x32a802[0x9c]=0x1,_0x38679a[0x89]=0x0,_0x584d90[0x89]=0x1,_0x3faeed[0x89]=0x1,_0x42cb6b[0x89]=0x0,_0x2b5226[0x89]=0x1,_0x5f221c[0x89]=0x0,_0xa575e5[0x89]=-0x1,_0x4c116d[0x89]=0x0,_0x264e9b[0x89]=0x0,_0x16f192[0x89]=0x0,_0x6da66c[0x89]=-0x1,_0x43b82d[0x89]=0x0,_0x37a000[0x89]=0x1,_0x355dbd[0x89]=0x0,_0x3ba198[0x89]=0x0,_0x9d6b5f[0x89]=0x1,_0x338fbf[0x89]=0x0,_0x32a802[0x89]=0x1,_0x38679a[0x8b]=0x0,_0x584d90[0x8b]=0x1,_0x3faeed[0x8b]=0x1,_0x42cb6b[0x8b]=0x0,_0x2b5226[0x8b]=-0x1,_0x5f221c[0x8b]=0x0,_0xa575e5[0x8b]=0x1,_0x4c116d[0x8b]=0x0,_0x264e9b[0x8b]=0x0,_0x16f192[0x8b]=0x0,_0x6da66c[0x8b]=0x1,_0x43b82d[0x8b]=0x0,_0x37a000[0x8b]=-0x1,_0x355dbd[0x8b]=0x0,_0x3ba198[0x8b]=0x0,_0x9d6b5f[0x8b]=0x1,_0x338fbf[0x8b]=0x0,_0x32a802[0x8b]=0x1,_0x38679a[0x62]=0x0,_0x584d90[0x62]=-0x1,_0x3faeed[0x62]=0x0,_0x42cb6b[0x62]=0x0,_0x2b5226[0x62]=-0x1,_0x5f221c[0x62]=0x1,_0x5a33c6[0x62]=0x1,_0x34d6ef[0x62]=0x0,_0x1abfab[0x62]=0x0,_0xa575e5[0x62]=0x1,_0x4c116d[0x62]=0x0,_0x264e9b[0x62]=0x1,_0x1cced2[0x62]=0x0,_0x1cdc95[0x62]=0x1,_0x174189[0x62]=0x0,_0x37a000[0x62]=-0x1,_0x355dbd[0x62]=0x0,_0x3ba198[0x62]=0x1,_0x38679a[0x63]=0x0,_0x584d90[0x63]=0x1,_0x3faeed[0x63]=0x0,_0x42cb6b[0x63]=0x0,_0x2b5226[0x63]=-0x1,_0x5f221c[0x63]=0x1,_0x5a33c6[0x63]=0x1,_0x34d6ef[0x63]=0x0,_0x1abfab[0x63]=0x0,_0xa575e5[0x63]=-0x1,_0x4c116d[0x63]=0x0,_0x264e9b[0x63]=0x1,_0x1cced2[0x63]=0x0,_0x1cdc95[0x63]=-0x1,_0x174189[0x63]=0x0,_0x37a000[0x63]=0x1,_0x355dbd[0x63]=0x0,_0x3ba198[0x63]=0x1,_0x42cb6b[0x26]=0x0,_0x2b5226[0x26]=-0x1,_0x5f221c[0x26]=0x1,_0x5a33c6[0x26]=0x1,_0x34d6ef[0x26]=0x0,_0x1abfab[0x26]=0x0,_0x16f192[0x26]=0x0,_0x6da66c[0x26]=0x1,_0x43b82d[0x26]=0x1,_0x1cced2[0x26]=0x0,_0x1cdc95[0x26]=0x1,_0x174189[0x26]=0x0,_0x37a000[0x26]=-0x1,_0x355dbd[0x26]=0x0,_0x3ba198[0x26]=0x1,_0x9d6b5f[0x26]=-0x1,_0x338fbf[0x26]=0x0,_0x32a802[0x26]=0x0,_0x42cb6b[0x27]=0x0,_0x2b5226[0x27]=0x1,_0x5f221c[0x27]=0x1,_0x5a33c6[0x27]=-0x1,_0x34d6ef[0x27]=0x0,_0x1abfab[0x27]=0x0,_0x16f192[0x27]=0x0,_0x6da66c[0x27]=-0x1,_0x43b82d[0x27]=0x1,_0x1cced2[0x27]=0x0,_0x1cdc95[0x27]=0x1,_0x174189[0x27]=0x0,_0x37a000[0x27]=-0x1,_0x355dbd[0x27]=0x0,_0x3ba198[0x27]=0x1,_0x9d6b5f[0x27]=0x1,_0x338fbf[0x27]=0x0,_0x32a802[0x27]=0x0;var _0x412048=function(_0x5d7dad){return[[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]]];},_0x2ad7db=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[0x1,0x0],[_0x5d7dad[_0x1a4e('0xfa')],0x0]];},_0x508d53=function(_0x5d7dad){return[[_0x5d7dad[_0x1a4e('0xfb')],0x1],[0x1,0x1],[0x1,_0x5d7dad['righttop']]];},_0x291dce=function(_0x5d7dad){return[[0x0,_0x5d7dad['lefttop']],[0x0,0x1],[_0x5d7dad['topleft'],0x1]];},_0x1e733e=function(_0x5d7dad){return[[_0x5d7dad[_0x1a4e('0xfa')],0x0],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,_0x5d7dad['leftbottom']],[0x0,_0x5d7dad[_0x1a4e('0xfe')]]];},_0x20d834=function(_0x5d7dad){return[[_0x5d7dad['bottomright'],0x0],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[0x1,_0x5d7dad[_0x1a4e('0xf9')]]];},_0x46b09d=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[0x1,_0x5d7dad['rightbottom']],[_0x5d7dad[_0x1a4e('0xf8')],0x1],[_0x5d7dad[_0x1a4e('0xfb')],0x1]];},_0x5d586a=function(_0x5d7dad){return[[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[0x0,_0x5d7dad[_0x1a4e('0xfe')]],[_0x5d7dad[_0x1a4e('0xf8')],0x1],[_0x5d7dad['topright'],0x1]];},_0x336e2a=[],_0x463d0c=[],_0x335fa8=[],_0x554be6=[],_0x353eca=[],_0x354b7f=[],_0x4e88a6=[],_0x31aad3=[];_0x554be6[0x1]=_0x353eca[0x1]=0x12,_0x554be6[0xa9]=_0x353eca[0xa9]=0x12,_0x335fa8[0x4]=_0x463d0c[0x4]=0xc,_0x335fa8[0xa6]=_0x463d0c[0xa6]=0xc,_0x336e2a[0x10]=_0x31aad3[0x10]=0x4,_0x336e2a[0x9a]=_0x31aad3[0x9a]=0x4,_0x354b7f[0x40]=_0x4e88a6[0x40]=0x16,_0x354b7f[0x6a]=_0x4e88a6[0x6a]=0x16,_0x335fa8[0x2]=_0x354b7f[0x2]=0x11,_0x554be6[0x2]=_0x353eca[0x2]=0x12,_0x335fa8[0xa8]=_0x354b7f[0xa8]=0x11,_0x554be6[0xa8]=_0x353eca[0xa8]=0x12,_0x336e2a[0x8]=_0x554be6[0x8]=0x9,_0x463d0c[0x8]=_0x335fa8[0x8]=0xc,_0x336e2a[0xa2]=_0x554be6[0xa2]=0x9,_0x463d0c[0xa2]=_0x335fa8[0xa2]=0xc,_0x336e2a[0x20]=_0x31aad3[0x20]=0x4,_0x463d0c[0x20]=_0x4e88a6[0x20]=0x1,_0x336e2a[0x8a]=_0x31aad3[0x8a]=0x4,_0x463d0c[0x8a]=_0x4e88a6[0x8a]=0x1,_0x353eca[0x80]=_0x31aad3[0x80]=0x15,_0x354b7f[0x80]=_0x4e88a6[0x80]=0x16,_0x353eca[0x2a]=_0x31aad3[0x2a]=0x15,_0x354b7f[0x2a]=_0x4e88a6[0x2a]=0x16,_0x463d0c[0x5]=_0x353eca[0x5]=0xe,_0x463d0c[0xa5]=_0x353eca[0xa5]=0xe,_0x335fa8[0x14]=_0x31aad3[0x14]=0x6,_0x335fa8[0x96]=_0x31aad3[0x96]=0x6,_0x336e2a[0x50]=_0x354b7f[0x50]=0xb,_0x336e2a[0x5a]=_0x354b7f[0x5a]=0xb,_0x554be6[0x41]=_0x4e88a6[0x41]=0x3,_0x554be6[0x69]=_0x4e88a6[0x69]=0x3,_0x336e2a[0xa0]=_0x354b7f[0xa0]=0xb,_0x463d0c[0xa0]=_0x353eca[0xa0]=0xe,_0x336e2a[0xa]=_0x354b7f[0xa]=0xb,_0x463d0c[0xa]=_0x353eca[0xa]=0xe,_0x335fa8[0x82]=_0x31aad3[0x82]=0x6,_0x554be6[0x82]=_0x4e88a6[0x82]=0x3,_0x335fa8[0x28]=_0x31aad3[0x28]=0x6,_0x554be6[0x28]=_0x4e88a6[0x28]=0x3,_0x463d0c[0x65]=_0x4e88a6[0x65]=0x1,_0x463d0c[0x45]=_0x4e88a6[0x45]=0x1,_0x353eca[0x95]=_0x31aad3[0x95]=0x15,_0x353eca[0x15]=_0x31aad3[0x15]=0x15,_0x335fa8[0x56]=_0x354b7f[0x56]=0x11,_0x335fa8[0x54]=_0x354b7f[0x54]=0x11,_0x336e2a[0x59]=_0x554be6[0x59]=0x9,_0x336e2a[0x51]=_0x554be6[0x51]=0x9,_0x336e2a[0x60]=_0x4e88a6[0x60]=0x0,_0x463d0c[0x60]=_0x354b7f[0x60]=0xf,_0x336e2a[0x4a]=_0x4e88a6[0x4a]=0x0,_0x463d0c[0x4a]=_0x354b7f[0x4a]=0xf,_0x336e2a[0x18]=_0x335fa8[0x18]=0x8,_0x554be6[0x18]=_0x31aad3[0x18]=0x7,_0x336e2a[0x92]=_0x335fa8[0x92]=0x8,_0x554be6[0x92]=_0x31aad3[0x92]=0x7,_0x463d0c[0x6]=_0x354b7f[0x6]=0xf,_0x335fa8[0x6]=_0x353eca[0x6]=0x10,_0x463d0c[0xa4]=_0x354b7f[0xa4]=0xf,_0x335fa8[0xa4]=_0x353eca[0xa4]=0x10,_0x554be6[0x81]=_0x31aad3[0x81]=0x7,_0x353eca[0x81]=_0x4e88a6[0x81]=0x14,_0x554be6[0x29]=_0x31aad3[0x29]=0x7,_0x353eca[0x29]=_0x4e88a6[0x29]=0x14,_0x335fa8[0x42]=_0x4e88a6[0x42]=0x2,_0x554be6[0x42]=_0x354b7f[0x42]=0x13,_0x335fa8[0x68]=_0x4e88a6[0x68]=0x2,_0x554be6[0x68]=_0x354b7f[0x68]=0x13,_0x336e2a[0x90]=_0x353eca[0x90]=0xa,_0x354b7f[0x90]=_0x31aad3[0x90]=0x17,_0x336e2a[0x1a]=_0x353eca[0x1a]=0xa,_0x354b7f[0x1a]=_0x31aad3[0x1a]=0x17,_0x463d0c[0x24]=_0x31aad3[0x24]=0x5,_0x335fa8[0x24]=_0x4e88a6[0x24]=0x2,_0x463d0c[0x86]=_0x31aad3[0x86]=0x5,_0x335fa8[0x86]=_0x4e88a6[0x86]=0x2,_0x336e2a[0x9]=_0x353eca[0x9]=0xa,_0x463d0c[0x9]=_0x554be6[0x9]=0xd,_0x336e2a[0xa1]=_0x353eca[0xa1]=0xa,_0x463d0c[0xa1]=_0x554be6[0xa1]=0xd,_0x463d0c[0x25]=_0x31aad3[0x25]=0x5,_0x353eca[0x25]=_0x4e88a6[0x25]=0x14,_0x463d0c[0x85]=_0x31aad3[0x85]=0x5,_0x353eca[0x85]=_0x4e88a6[0x85]=0x14,_0x335fa8[0x94]=_0x353eca[0x94]=0x10,_0x354b7f[0x94]=_0x31aad3[0x94]=0x17,_0x335fa8[0x16]=_0x353eca[0x16]=0x10,_0x354b7f[0x16]=_0x31aad3[0x16]=0x17,_0x336e2a[0x52]=_0x335fa8[0x52]=0x8,_0x554be6[0x52]=_0x354b7f[0x52]=0x13,_0x336e2a[0x58]=_0x335fa8[0x58]=0x8,_0x554be6[0x58]=_0x354b7f[0x58]=0x13,_0x336e2a[0x49]=_0x4e88a6[0x49]=0x0,_0x463d0c[0x49]=_0x554be6[0x49]=0xd,_0x336e2a[0x61]=_0x4e88a6[0x61]=0x0,_0x463d0c[0x61]=_0x554be6[0x61]=0xd,_0x336e2a[0x91]=_0x554be6[0x91]=0x9,_0x353eca[0x91]=_0x31aad3[0x91]=0x15,_0x336e2a[0x19]=_0x554be6[0x19]=0x9,_0x353eca[0x19]=_0x31aad3[0x19]=0x15,_0x463d0c[0x46]=_0x4e88a6[0x46]=0x1,_0x335fa8[0x46]=_0x354b7f[0x46]=0x11,_0x463d0c[0x64]=_0x4e88a6[0x64]=0x1,_0x335fa8[0x64]=_0x354b7f[0x64]=0x11,_0x336e2a[0x22]=_0x554be6[0x22]=0x9,_0x463d0c[0x22]=_0x335fa8[0x22]=0xc,_0x353eca[0x22]=_0x31aad3[0x22]=0x15,_0x354b7f[0x22]=_0x4e88a6[0x22]=0x16,_0x336e2a[0x88]=_0x31aad3[0x88]=0x4,_0x463d0c[0x88]=_0x4e88a6[0x88]=0x1,_0x335fa8[0x88]=_0x354b7f[0x88]=0x11,_0x554be6[0x88]=_0x353eca[0x88]=0x12,_0x336e2a[0x23]=_0x31aad3[0x23]=0x4,_0x463d0c[0x23]=_0x335fa8[0x23]=0xc,_0x554be6[0x23]=_0x353eca[0x23]=0x12,_0x354b7f[0x23]=_0x4e88a6[0x23]=0x16,_0x336e2a[0x99]=_0x31aad3[0x99]=0x4,_0x554be6[0x99]=_0x353eca[0x99]=0x12,_0x463d0c[0x66]=_0x335fa8[0x66]=0xc,_0x354b7f[0x66]=_0x4e88a6[0x66]=0x16,_0x336e2a[0x9b]=_0x554be6[0x9b]=0x9,_0x353eca[0x9b]=_0x31aad3[0x9b]=0x17,_0x463d0c[0x67]=_0x4e88a6[0x67]=0x1,_0x335fa8[0x67]=_0x354b7f[0x67]=0x11,_0x336e2a[0x98]=_0x31aad3[0x98]=0x4,_0x335fa8[0x98]=_0x354b7f[0x98]=0x11,_0x554be6[0x98]=_0x353eca[0x98]=0x12,_0x336e2a[0x9c]=_0x335fa8[0x9c]=0x8,_0x554be6[0x9c]=_0x353eca[0x9c]=0x12,_0x354b7f[0x9c]=_0x31aad3[0x9c]=0x17,_0x336e2a[0x89]=_0x31aad3[0x89]=0x4,_0x463d0c[0x89]=_0x4e88a6[0x89]=0x1,_0x554be6[0x89]=_0x353eca[0x89]=0x12,_0x336e2a[0x8b]=_0x31aad3[0x8b]=0x4,_0x463d0c[0x8b]=_0x554be6[0x8b]=0xd,_0x353eca[0x8b]=_0x4e88a6[0x8b]=0x14,_0x336e2a[0x62]=_0x554be6[0x62]=0x9,_0x463d0c[0x62]=_0x335fa8[0x62]=0xc,_0x354b7f[0x62]=_0x4e88a6[0x62]=0x16,_0x336e2a[0x63]=_0x4e88a6[0x63]=0x0,_0x463d0c[0x63]=_0x335fa8[0x63]=0xc,_0x554be6[0x63]=_0x354b7f[0x63]=0x13,_0x463d0c[0x26]=_0x335fa8[0x26]=0xc,_0x353eca[0x26]=_0x31aad3[0x26]=0x15,_0x354b7f[0x26]=_0x4e88a6[0x26]=0x16,_0x463d0c[0x27]=_0x31aad3[0x27]=0x5,_0x335fa8[0x27]=_0x353eca[0x27]=0x10,_0x354b7f[0x27]=_0x4e88a6[0x27]=0x16;var _0x51cdbf=[];_0x51cdbf[0x1]=_0x51cdbf[0xa9]=_0x412048,_0x51cdbf[0x4]=_0x51cdbf[0xa6]=_0x2ad7db,_0x51cdbf[0x10]=_0x51cdbf[0x9a]=_0x508d53,_0x51cdbf[0x40]=_0x51cdbf[0x6a]=_0x291dce,_0x51cdbf[0xa8]=_0x51cdbf[0x2]=_0x1e733e,_0x51cdbf[0xa2]=_0x51cdbf[0x8]=_0x20d834,_0x51cdbf[0x8a]=_0x51cdbf[0x20]=_0x46b09d,_0x51cdbf[0x2a]=_0x51cdbf[0x80]=_0x5d586a,_0x51cdbf[0x5]=_0x51cdbf[0xa5]=function(_0x5d7dad){return[[0x0,0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[0x1,0x0]];},_0x51cdbf[0x14]=_0x51cdbf[0x96]=function(_0x5d7dad){return[[0x1,0x0],[_0x5d7dad['bottomright'],0x0],[_0x5d7dad[_0x1a4e('0xfb')],0x1],[0x1,0x1]];},_0x51cdbf[0x50]=_0x51cdbf[0x5a]=function(_0x5d7dad){return[[0x1,0x1],[0x1,_0x5d7dad['righttop']],[0x0,_0x5d7dad['lefttop']],[0x0,0x1]];},_0x51cdbf[0x41]=_0x51cdbf[0x69]=function(_0x5d7dad){return[[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,0x0],[0x0,0x1],[_0x5d7dad[_0x1a4e('0xf8')],0x1]];},_0x51cdbf[0xa0]=_0x51cdbf[0xa]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[0x0,_0x5d7dad[_0x1a4e('0xfe')]]];},_0x51cdbf[0x82]=_0x51cdbf[0x28]=function(_0x5d7dad){return[[_0x5d7dad['topleft'],0x1],[_0x5d7dad[_0x1a4e('0xfb')],0x1],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[_0x5d7dad[_0x1a4e('0xfc')],0x0]];},_0x51cdbf[0x55]=function(){return[[0x0,0x0],[0x0,0x1],[0x1,0x1],[0x1,0x0]];},_0x51cdbf[0x65]=_0x51cdbf[0x45]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[0x1,0x0],[0x0,0x0],[0x0,0x1],[_0x5d7dad[_0x1a4e('0xf8')],0x1]];},_0x51cdbf[0x95]=_0x51cdbf[0x15]=function(_0x5d7dad){return[[_0x5d7dad[_0x1a4e('0xfb')],0x1],[0x1,0x1],[0x1,0x0],[0x0,0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]]];},_0x51cdbf[0x56]=_0x51cdbf[0x54]=function(_0x5d7dad){return[[0x1,0x0],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[0x0,_0x5d7dad['lefttop']],[0x0,0x1],[0x1,0x1]];},_0x51cdbf[0x59]=_0x51cdbf[0x51]=function(_0x5d7dad){return[[0x1,0x1],[0x1,_0x5d7dad['righttop']],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,0x0],[0x0,0x1]];},_0x51cdbf[0x60]=_0x51cdbf[0x4a]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[0x1,_0x5d7dad['rightbottom']],[0x0,_0x5d7dad['lefttop']],[0x0,0x1],[_0x5d7dad[_0x1a4e('0xf8')],0x1]];},_0x51cdbf[0x18]=_0x51cdbf[0x92]=function(_0x5d7dad){return[[0x1,0x1],[0x1,_0x5d7dad['righttop']],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[_0x5d7dad['bottomleft'],0x0],[_0x5d7dad[_0x1a4e('0xfb')],0x1]];},_0x51cdbf[0x6]=_0x51cdbf[0xa4]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[0x1,0x0],[_0x5d7dad['bottomright'],0x0],[0x0,_0x5d7dad['leftbottom']],[0x0,_0x5d7dad['lefttop']]];},_0x51cdbf[0x81]=_0x51cdbf[0x29]=function(_0x5d7dad){return[[_0x5d7dad[_0x1a4e('0xfb')],0x1],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,0x0],[0x0,_0x5d7dad['leftbottom']],[_0x5d7dad[_0x1a4e('0xf8')],0x1]];},_0x51cdbf[0x42]=_0x51cdbf[0x68]=function(_0x5d7dad){return[[_0x5d7dad['bottomright'],0x0],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,_0x5d7dad['lefttop']],[0x0,0x1],[_0x5d7dad[_0x1a4e('0xf8')],0x1]];},_0x51cdbf[0x90]=_0x51cdbf[0x1a]=function(_0x5d7dad){return[[0x1,0x1],[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[0x0,_0x5d7dad[_0x1a4e('0xfe')]],[_0x5d7dad[_0x1a4e('0xfb')],0x1]];},_0x51cdbf[0x24]=_0x51cdbf[0x86]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[0x1,0x0],[_0x5d7dad['bottomright'],0x0],[_0x5d7dad[_0x1a4e('0xf8')],0x1],[_0x5d7dad['topright'],0x1]];},_0x51cdbf[0x9]=_0x51cdbf[0xa1]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]]];},_0x51cdbf[0x25]=_0x51cdbf[0x85]=function(_0x5d7dad){return[[0x1,_0x5d7dad['rightbottom']],[0x1,0x0],[0x0,0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[_0x5d7dad['topleft'],0x1],[_0x5d7dad['topright'],0x1]];},_0x51cdbf[0x94]=_0x51cdbf[0x16]=function(_0x5d7dad){return[[0x1,0x1],[0x1,0x0],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[0x0,_0x5d7dad[_0x1a4e('0xfe')]],[_0x5d7dad['topright'],0x1]];},_0x51cdbf[0x52]=_0x51cdbf[0x58]=function(_0x5d7dad){return[[0x1,0x1],[0x1,_0x5d7dad['righttop']],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,_0x5d7dad[_0x1a4e('0xfe')]],[0x0,0x1]];},_0x51cdbf[0x49]=_0x51cdbf[0x61]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[0x1,_0x5d7dad['rightbottom']],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,0x0],[0x0,0x1],[_0x5d7dad[_0x1a4e('0xf8')],0x1]];},_0x51cdbf[0x91]=_0x51cdbf[0x19]=function(_0x5d7dad){return[[0x1,0x1],[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[_0x5d7dad['topright'],0x1]];},_0x51cdbf[0x46]=_0x51cdbf[0x64]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[0x1,0x0],[_0x5d7dad['bottomright'],0x0],[0x0,_0x5d7dad['lefttop']],[0x0,0x1],[_0x5d7dad[_0x1a4e('0xf8')],0x1]];},_0x51cdbf[0x22]=function(_0x5d7dad){return[_0x5d586a(_0x5d7dad),_0x20d834(_0x5d7dad)];},_0x51cdbf[0x23]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[0x0,_0x5d7dad[_0x1a4e('0xfe')]],[_0x5d7dad['topleft'],0x1],[_0x5d7dad[_0x1a4e('0xfb')],0x1]];},_0x51cdbf[0x88]=function(_0x5d7dad){return[_0x46b09d(_0x5d7dad),_0x1e733e(_0x5d7dad)];},_0x51cdbf[0x99]=function(_0x5d7dad){return[_0x508d53(_0x5d7dad),_0x412048(_0x5d7dad)];},_0x51cdbf[0x66]=function(_0x5d7dad){return[_0x2ad7db(_0x5d7dad),_0x291dce(_0x5d7dad)];},_0x51cdbf[0x9b]=function(_0x5d7dad){return[[0x1,0x1],[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[_0x5d7dad['topright'],0x1]];},_0x51cdbf[0x67]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[0x1,0x0],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[0x0,_0x5d7dad[_0x1a4e('0xfe')]],[0x0,0x1],[_0x5d7dad[_0x1a4e('0xf8')],0x1]];},_0x51cdbf[0x98]=function(_0x5d7dad){return[_0x508d53(_0x5d7dad),_0x1e733e(_0x5d7dad)];},_0x51cdbf[0x9c]=function(_0x5d7dad){return[[0x1,0x1],[0x1,_0x5d7dad['righttop']],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[0x0,_0x5d7dad[_0x1a4e('0xfe')]],[_0x5d7dad['topright'],0x1]];},_0x51cdbf[0x89]=function(_0x5d7dad){return[_0x46b09d(_0x5d7dad),_0x412048(_0x5d7dad)];},_0x51cdbf[0x8b]=function(_0x5d7dad){return[[0x1,_0x5d7dad[_0x1a4e('0xf7')]],[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,0x0],[0x0,_0x5d7dad[_0x1a4e('0xfd')]],[_0x5d7dad[_0x1a4e('0xf8')],0x1],[_0x5d7dad['topright'],0x1]];},_0x51cdbf[0x62]=function(_0x5d7dad){return[_0x20d834(_0x5d7dad),_0x291dce(_0x5d7dad)];},_0x51cdbf[0x63]=function(_0x5d7dad){return[[0x1,_0x5d7dad['righttop']],[0x1,_0x5d7dad[_0x1a4e('0xf9')]],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[_0x5d7dad[_0x1a4e('0xfc')],0x0],[0x0,_0x5d7dad[_0x1a4e('0xfe')]],[0x0,0x1],[_0x5d7dad[_0x1a4e('0xf8')],0x1]];},_0x51cdbf[0x26]=function(_0x5d7dad){return[_0x2ad7db(_0x5d7dad),_0x5d586a(_0x5d7dad)];},_0x51cdbf[0x27]=function(_0x5d7dad){return[[0x1,_0x5d7dad['rightbottom']],[0x1,0x0],[_0x5d7dad[_0x1a4e('0xfa')],0x0],[0x0,_0x5d7dad['leftbottom']],[0x0,_0x5d7dad[_0x1a4e('0xfe')]],[_0x5d7dad[_0x1a4e('0xf8')],0x1],[_0x5d7dad[_0x1a4e('0xfb')],0x1]];};var _0x57c332=function _0x5d7dad(_0x22b0c5){this['id']=_0x5d7dad[_0x1a4e('0x1b1')](_0x22b0c5),this['coordinates']=_0x22b0c5,this[_0x1a4e('0x1b2')]=[],this['outerEdges']=[],this[_0x1a4e('0x1b3')]=!0x1;};_0x57c332[_0x1a4e('0x1b1')]=function(_0x5d7dad){return _0x5d7dad['join'](',');},_0x57c332['prototype'][_0x1a4e('0x1b4')]=function(_0x5d7dad){this[_0x1a4e('0x1b2')]=this[_0x1a4e('0x1b2')][_0x1a4e('0xd9')](function(_0x22b0c5){return _0x22b0c5['from']['id']!==_0x5d7dad[_0x1a4e('0x1b5')]['id'];});},_0x57c332[_0x1a4e('0xa')][_0x1a4e('0x1b6')]=function(_0x5d7dad){this['outerEdges']=this[_0x1a4e('0x1b7')][_0x1a4e('0xd9')](function(_0x22b0c5){return _0x22b0c5['to']['id']!==_0x5d7dad['to']['id'];});},_0x57c332[_0x1a4e('0xa')][_0x1a4e('0x1b8')]=function(_0x5d7dad){this[_0x1a4e('0x1b7')]['push'](_0x5d7dad),this[_0x1a4e('0x1b3')]=!0x1;},_0x57c332['prototype'][_0x1a4e('0x1b9')]=function(){var _0x5d7dad=this;this[_0x1a4e('0x1b3')]||(this['outerEdges'][_0x1a4e('0x89')](function(_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5['to'],_0x81bc8f=_0x5ac9eb['to'];if(_0x261805[_0x1a4e('0x43')][0x0]-_0x5d7dad[_0x1a4e('0x43')][0x0]>=0x0&&_0x81bc8f[_0x1a4e('0x43')][0x0]-_0x5d7dad[_0x1a4e('0x43')][0x0]<0x0)return 0x1;if(_0x261805['coordinates'][0x0]-_0x5d7dad['coordinates'][0x0]<0x0&&_0x81bc8f[_0x1a4e('0x43')][0x0]-_0x5d7dad[_0x1a4e('0x43')][0x0]>=0x0)return-0x1;if(_0x261805[_0x1a4e('0x43')][0x0]-_0x5d7dad['coordinates'][0x0]==0x0&&_0x81bc8f[_0x1a4e('0x43')][0x0]-_0x5d7dad[_0x1a4e('0x43')][0x0]==0x0)return _0x261805[_0x1a4e('0x43')][0x1]-_0x5d7dad[_0x1a4e('0x43')][0x1]>=0x0||_0x81bc8f['coordinates'][0x1]-_0x5d7dad[_0x1a4e('0x43')][0x1]>=0x0?_0x261805[_0x1a4e('0x43')][0x1]-_0x81bc8f[_0x1a4e('0x43')][0x1]:_0x81bc8f['coordinates'][0x1]-_0x261805[_0x1a4e('0x43')][0x1];var _0x234f42=_0x5b6f5d(_0x5d7dad[_0x1a4e('0x43')],_0x261805['coordinates'],_0x81bc8f['coordinates']);return _0x234f42<0x0?0x1:_0x234f42>0x0?-0x1:Math['pow'](_0x261805[_0x1a4e('0x43')][0x0]-_0x5d7dad[_0x1a4e('0x43')][0x0],0x2)+Math[_0x1a4e('0x8e')](_0x261805['coordinates'][0x1]-_0x5d7dad[_0x1a4e('0x43')][0x1],0x2)-(Math[_0x1a4e('0x8e')](_0x81bc8f['coordinates'][0x0]-_0x5d7dad[_0x1a4e('0x43')][0x0],0x2)+Math[_0x1a4e('0x8e')](_0x81bc8f['coordinates'][0x1]-_0x5d7dad[_0x1a4e('0x43')][0x1],0x2));}),this[_0x1a4e('0x1b3')]=!0x0);},_0x57c332['prototype'][_0x1a4e('0x1ba')]=function(){return this[_0x1a4e('0x1b9')](),this[_0x1a4e('0x1b7')];},_0x57c332[_0x1a4e('0xa')]['getOuterEdge']=function(_0x5d7dad){return this['sortOuterEdges'](),this[_0x1a4e('0x1b7')][_0x5d7dad];},_0x57c332['prototype'][_0x1a4e('0x1bb')]=function(_0x5d7dad){this[_0x1a4e('0x1b2')]['push'](_0x5d7dad);};var _0x33901f=function(_0x5d7dad,_0x22b0c5){this['from']=_0x5d7dad,this['to']=_0x22b0c5,this['next']=void 0x0,this[_0x1a4e('0x1bc')]=void 0x0,this[_0x1a4e('0x1bd')]=void 0x0,this[_0x1a4e('0x193')]=void 0x0,this[_0x1a4e('0x1b5')][_0x1a4e('0x1b8')](this),this['to'][_0x1a4e('0x1bb')](this);};_0x33901f['prototype']['getSymetric']=function(){return this[_0x1a4e('0x1bd')]||(this[_0x1a4e('0x1bd')]=new _0x33901f(this['to'],this['from']),this[_0x1a4e('0x1bd')]['symetric']=this),this[_0x1a4e('0x1bd')];},_0x33901f['prototype'][_0x1a4e('0x1be')]=function(){this['from']['removeOuterEdge'](this),this['to'][_0x1a4e('0x1b4')](this);},_0x33901f[_0x1a4e('0xa')][_0x1a4e('0x1bf')]=function(_0x5d7dad){return this[_0x1a4e('0x1b5')]['id']===_0x5d7dad['from']['id']&&this['to']['id']===_0x5d7dad['to']['id'];},_0x33901f['prototype'][_0x1a4e('0x95')]=function(){return'Edge\x20{\x20'+this[_0x1a4e('0x1b5')]['id']+_0x1a4e('0x1c0')+this['to']['id']+'\x20}';},_0x33901f[_0x1a4e('0xa')]['toLineString']=function(){return _0x1972c2([this['from'][_0x1a4e('0x43')],this['to'][_0x1a4e('0x43')]]);},_0x33901f[_0x1a4e('0xa')]['compareTo']=function(_0x5d7dad){return _0x5b6f5d(_0x5d7dad[_0x1a4e('0x1b5')][_0x1a4e('0x43')],_0x5d7dad['to'][_0x1a4e('0x43')],this['to']['coordinates']);};var _0x1963b1=function(){this[_0x1a4e('0xf5')]=[],this[_0x1a4e('0xe7')]=void 0x0,this[_0x1a4e('0x1c1')]=void 0x0;},_0x413862={'length':{'configurable':!0x0}};_0x1963b1[_0x1a4e('0xa')]['push']=function(_0x5d7dad){this[this[_0x1a4e('0xf5')][_0x1a4e('0x1e')]]=_0x5d7dad,this[_0x1a4e('0xf5')]['push'](_0x5d7dad),this[_0x1a4e('0xe7')]=this['envelope']=void 0x0;},_0x1963b1[_0x1a4e('0xa')][_0x1a4e('0x179')]=function(_0x5d7dad){return this['edges'][_0x5d7dad];},_0x413862[_0x1a4e('0x1e')][_0x1a4e('0x179')]=function(){return this['edges']['length'];},_0x1963b1[_0x1a4e('0xa')][_0x1a4e('0x3b')]=function(_0x5d7dad){this['edges'][_0x1a4e('0x3b')](_0x5d7dad);},_0x1963b1[_0x1a4e('0xa')][_0x1a4e('0x21')]=function(_0x5d7dad){return this[_0x1a4e('0xf5')][_0x1a4e('0x21')](_0x5d7dad);},_0x1963b1[_0x1a4e('0xa')][_0x1a4e('0x1c2')]=function(_0x5d7dad){return this[_0x1a4e('0xf5')][_0x1a4e('0x1c2')](_0x5d7dad);},_0x1963b1[_0x1a4e('0xa')][_0x1a4e('0x1c3')]=function(){return!0x0;},_0x1963b1['prototype']['isHole']=function(){var _0x5d7dad=this,_0x22b0c5=this[_0x1a4e('0xf5')][_0x1a4e('0xbb')](function(_0x22b0c5,_0x5ac9eb,_0x261805){return _0x5ac9eb['from']['coordinates'][0x1]>_0x5d7dad[_0x1a4e('0xf5')][_0x22b0c5][_0x1a4e('0x1b5')][_0x1a4e('0x43')][0x1]&&(_0x22b0c5=_0x261805),_0x22b0c5;},0x0),_0x5ac9eb=(0x0===_0x22b0c5?this[_0x1a4e('0x1e')]:_0x22b0c5)-0x1,_0x261805=(_0x22b0c5+0x1)%this['length'],_0x81bc8f=_0x5b6f5d(this[_0x1a4e('0xf5')][_0x5ac9eb]['from']['coordinates'],this[_0x1a4e('0xf5')][_0x22b0c5][_0x1a4e('0x1b5')]['coordinates'],this[_0x1a4e('0xf5')][_0x261805][_0x1a4e('0x1b5')][_0x1a4e('0x43')]);return 0x0===_0x81bc8f?this[_0x1a4e('0xf5')][_0x5ac9eb][_0x1a4e('0x1b5')][_0x1a4e('0x43')][0x0]>this[_0x1a4e('0xf5')][_0x261805]['from'][_0x1a4e('0x43')][0x0]:_0x81bc8f>0x0;},_0x1963b1['prototype']['toMultiPoint']=function(){return _0x146559(this['edges'][_0x1a4e('0x21')](function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x1b5')][_0x1a4e('0x43')];}));},_0x1963b1['prototype'][_0x1a4e('0x1c4')]=function(){if(this[_0x1a4e('0xe7')])return this['polygon'];var _0x5d7dad=this['edges']['map'](function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x1b5')][_0x1a4e('0x43')];});return _0x5d7dad[_0x1a4e('0x46')](this[_0x1a4e('0xf5')][0x0][_0x1a4e('0x1b5')][_0x1a4e('0x43')]),this['polygon']=_0x234f42([_0x5d7dad]);},_0x1963b1[_0x1a4e('0xa')]['getEnvelope']=function(){return this['envelope']?this[_0x1a4e('0x1c1')]:this[_0x1a4e('0x1c1')]=_0x42daa7(this['toPolygon']());},_0x1963b1[_0x1a4e('0x1c5')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x81bc8f,_0x234f42=_0x5d7dad[_0x1a4e('0x1c6')]();return _0x22b0c5[_0x1a4e('0x3b')](function(_0x22b0c5){var _0x153447=_0x22b0c5[_0x1a4e('0x1c6')]();if(_0x81bc8f&&(_0x5ac9eb=_0x81bc8f['getEnvelope']()),!function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x18')]['coordinates'][_0x1a4e('0x21')](function(_0x5d7dad){return _0x5d7dad[0x0];}),_0x261805=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')]['map'](function(_0x5d7dad){return _0x5d7dad[0x1];}),_0x81bc8f=_0x22b0c5[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x1a4e('0x21')](function(_0x5d7dad){return _0x5d7dad[0x0];}),_0x234f42=_0x22b0c5[_0x1a4e('0x18')]['coordinates'][_0x1a4e('0x21')](function(_0x5d7dad){return _0x5d7dad[0x1];});return Math['max'](null,_0x5ac9eb)===Math[_0x1a4e('0x6c')](null,_0x81bc8f)&&Math[_0x1a4e('0x6c')](null,_0x261805)===Math[_0x1a4e('0x6c')](null,_0x234f42)&&Math[_0x1a4e('0x74')](null,_0x5ac9eb)===Math[_0x1a4e('0x74')](null,_0x81bc8f)&&Math[_0x1a4e('0x74')](null,_0x261805)===Math[_0x1a4e('0x74')](null,_0x234f42);}(_0x153447,_0x234f42)&&_0x54ff16(_0x153447,_0x234f42)){var _0x1972c2=_0x5d7dad[_0x1a4e('0x21')](function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x1b5')]['coordinates'];})[_0x1a4e('0x1c7')](function(_0x5d7dad){return!_0x22b0c5['some'](function(_0x22b0c5){return function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]===_0x22b0c5[0x0]&&_0x5d7dad[0x1]===_0x22b0c5[0x1];}(_0x5d7dad,_0x22b0c5[_0x1a4e('0x1b5')][_0x1a4e('0x43')]);});});_0x1972c2&&_0x22b0c5['inside'](_0x261805(_0x1972c2))&&(_0x81bc8f&&!_0x54ff16(_0x5ac9eb,_0x153447)||(_0x81bc8f=_0x22b0c5));}}),_0x81bc8f;},_0x1963b1[_0x1a4e('0xa')]['inside']=function(_0x5d7dad){return _0xf47c44(_0x5d7dad,this[_0x1a4e('0x1c4')]());},Object[_0x1a4e('0x1c8')](_0x1963b1[_0x1a4e('0xa')],_0x413862);var _0x400223=function(){this[_0x1a4e('0xf5')]=[],this[_0x1a4e('0x11d')]={};};_0x400223[_0x1a4e('0x1c9')]=function(_0x5d7dad){!function(_0x5d7dad){if(!_0x5d7dad)throw new Error(_0x1a4e('0x1ca'));if(_0x1a4e('0x41')!==_0x5d7dad[_0x1a4e('0x40')]&&'GeometryCollection'!==_0x5d7dad[_0x1a4e('0x40')]&&_0x1a4e('0x1b')!==_0x5d7dad[_0x1a4e('0x40')]&&'LineString'!==_0x5d7dad[_0x1a4e('0x40')]&&_0x1a4e('0x12')!==_0x5d7dad[_0x1a4e('0x40')])throw new Error(_0x1a4e('0x1cb')+_0x5d7dad['type']+'\x27.\x20Geojson\x20must\x20be\x20FeatureCollection,\x20GeometryCollection,\x20LineString,\x20MultiLineString\x20or\x20Feature');}(_0x5d7dad);var _0x22b0c5=new _0x400223();return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad){_0xb3655(_0x5d7dad,_0x1a4e('0x44'),_0x1a4e('0x1cc')),_0x34483c(_0x5d7dad,function(_0x5d7dad,_0x5ac9eb){if(_0x5d7dad){var _0x261805=_0x22b0c5[_0x1a4e('0x1cd')](_0x5d7dad),_0x81bc8f=_0x22b0c5['getNode'](_0x5ac9eb);_0x22b0c5[_0x1a4e('0x1ce')](_0x261805,_0x81bc8f);}return _0x5ac9eb;});}),_0x22b0c5;},_0x400223[_0x1a4e('0xa')][_0x1a4e('0x1cd')]=function(_0x5d7dad){var _0x22b0c5=_0x57c332[_0x1a4e('0x1b1')](_0x5d7dad),_0x5ac9eb=this[_0x1a4e('0x11d')][_0x22b0c5];return _0x5ac9eb||(_0x5ac9eb=this[_0x1a4e('0x11d')][_0x22b0c5]=new _0x57c332(_0x5d7dad)),_0x5ac9eb;},_0x400223[_0x1a4e('0xa')]['addEdge']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=new _0x33901f(_0x5d7dad,_0x22b0c5),_0x261805=_0x5ac9eb[_0x1a4e('0x1cf')]();this[_0x1a4e('0xf5')][_0x1a4e('0x46')](_0x5ac9eb),this['edges'][_0x1a4e('0x46')](_0x261805);},_0x400223['prototype']['deleteDangles']=function(){var _0x5d7dad=this;Object['keys'](this[_0x1a4e('0x11d')])[_0x1a4e('0x21')](function(_0x22b0c5){return _0x5d7dad[_0x1a4e('0x11d')][_0x22b0c5];})[_0x1a4e('0x3b')](function(_0x22b0c5){return _0x5d7dad[_0x1a4e('0x1d0')](_0x22b0c5);});},_0x400223[_0x1a4e('0xa')]['_removeIfDangle']=function(_0x5d7dad){var _0x22b0c5=this;if(_0x5d7dad[_0x1a4e('0x1b2')][_0x1a4e('0x1e')]<=0x1){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x1ba')]()[_0x1a4e('0x21')](function(_0x5d7dad){return _0x5d7dad['to'];});this[_0x1a4e('0x1d1')](_0x5d7dad),_0x5ac9eb[_0x1a4e('0x3b')](function(_0x5d7dad){return _0x22b0c5[_0x1a4e('0x1d0')](_0x5d7dad);});}},_0x400223[_0x1a4e('0xa')][_0x1a4e('0x1d2')]=function(){var _0x5d7dad=this;this[_0x1a4e('0x1d3')](),this[_0x1a4e('0x1d4')](),this['edges']['forEach'](function(_0x22b0c5){_0x22b0c5[_0x1a4e('0x1bc')]===_0x22b0c5[_0x1a4e('0x1bd')][_0x1a4e('0x1bc')]&&(_0x5d7dad[_0x1a4e('0x1d5')](_0x22b0c5['symetric']),_0x5d7dad['removeEdge'](_0x22b0c5));});},_0x400223['prototype'][_0x1a4e('0x1d3')]=function(_0x5d7dad){var _0x22b0c5=this;void 0x0===_0x5d7dad?Object[_0x1a4e('0x56')](this['nodes'])[_0x1a4e('0x3b')](function(_0x5d7dad){return _0x22b0c5[_0x1a4e('0x1d3')](_0x22b0c5[_0x1a4e('0x11d')][_0x5d7dad]);}):_0x5d7dad['getOuterEdges']()[_0x1a4e('0x3b')](function(_0x22b0c5,_0x5ac9eb){_0x5d7dad['getOuterEdge']((0x0===_0x5ac9eb?_0x5d7dad[_0x1a4e('0x1ba')]()[_0x1a4e('0x1e')]:_0x5ac9eb)-0x1)[_0x1a4e('0x1bd')][_0x1a4e('0x7e')]=_0x22b0c5;});},_0x400223[_0x1a4e('0xa')][_0x1a4e('0x1d6')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb,_0x261805,_0x81bc8f=_0x5d7dad[_0x1a4e('0x1ba')](),_0x234f42=_0x81bc8f[_0x1a4e('0x1e')]-0x1;_0x234f42>=0x0;--_0x234f42){var _0x153447=_0x81bc8f[_0x234f42],_0x1972c2=_0x153447['symetric'],_0x3376f9=void 0x0,_0x5dae0e=void 0x0;_0x153447[_0x1a4e('0x1bc')]===_0x22b0c5&&(_0x3376f9=_0x153447),_0x1972c2[_0x1a4e('0x1bc')]===_0x22b0c5&&(_0x5dae0e=_0x1972c2),_0x3376f9&&_0x5dae0e&&(_0x5dae0e&&(_0x261805=_0x5dae0e),_0x3376f9&&(_0x261805&&(_0x261805[_0x1a4e('0x7e')]=_0x3376f9,_0x261805=void 0x0),_0x5ac9eb||(_0x5ac9eb=_0x3376f9)));}_0x261805&&(_0x261805[_0x1a4e('0x7e')]=_0x5ac9eb);},_0x400223[_0x1a4e('0xa')][_0x1a4e('0x1d4')]=function(){var _0x5d7dad=[],_0x22b0c5=0x0;return this['edges']['forEach'](function(_0x5ac9eb){if(!(_0x5ac9eb['label']>=0x0)){_0x5d7dad[_0x1a4e('0x46')](_0x5ac9eb);var _0x261805=_0x5ac9eb;do{_0x261805[_0x1a4e('0x1bc')]=_0x22b0c5,_0x261805=_0x261805[_0x1a4e('0x7e')];}while(!_0x5ac9eb[_0x1a4e('0x1bf')](_0x261805));_0x22b0c5++;}}),_0x5d7dad;},_0x400223[_0x1a4e('0xa')][_0x1a4e('0x1d7')]=function(){var _0x5d7dad=this;this[_0x1a4e('0x1d3')](),this['edges'][_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x1bc')]=void 0x0;}),this[_0x1a4e('0x1d4')]()[_0x1a4e('0x3b')](function(_0x22b0c5){_0x5d7dad[_0x1a4e('0x1d8')](_0x22b0c5)[_0x1a4e('0x3b')](function(_0x5ac9eb){_0x5d7dad[_0x1a4e('0x1d6')](_0x5ac9eb,_0x22b0c5[_0x1a4e('0x1bc')]);});});var _0x22b0c5=[];return this['edges'][_0x1a4e('0x3b')](function(_0x5ac9eb){_0x5ac9eb['ring']||_0x22b0c5['push'](_0x5d7dad[_0x1a4e('0x1d9')](_0x5ac9eb));}),_0x22b0c5;},_0x400223[_0x1a4e('0xa')][_0x1a4e('0x1d8')]=function(_0x5d7dad){var _0x22b0c5=[],_0x5ac9eb=_0x5d7dad,_0x261805=function(){var _0x261805=0x0;_0x5ac9eb[_0x1a4e('0x1b5')]['getOuterEdges']()[_0x1a4e('0x3b')](function(_0x22b0c5){_0x22b0c5[_0x1a4e('0x1bc')]===_0x5d7dad[_0x1a4e('0x1bc')]&&++_0x261805;}),_0x261805>0x1&&_0x22b0c5[_0x1a4e('0x46')](_0x5ac9eb[_0x1a4e('0x1b5')]),_0x5ac9eb=_0x5ac9eb[_0x1a4e('0x7e')];};do{_0x261805();}while(!_0x5d7dad[_0x1a4e('0x1bf')](_0x5ac9eb));return _0x22b0c5;},_0x400223[_0x1a4e('0xa')][_0x1a4e('0x1d9')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad,_0x5ac9eb=new _0x1963b1();do{_0x5ac9eb[_0x1a4e('0x46')](_0x22b0c5),_0x22b0c5[_0x1a4e('0x193')]=_0x5ac9eb,_0x22b0c5=_0x22b0c5[_0x1a4e('0x7e')];}while(!_0x5d7dad[_0x1a4e('0x1bf')](_0x22b0c5));return _0x5ac9eb;},_0x400223[_0x1a4e('0xa')]['removeNode']=function(_0x5d7dad){var _0x22b0c5=this;_0x5d7dad[_0x1a4e('0x1ba')]()[_0x1a4e('0x3b')](function(_0x5d7dad){return _0x22b0c5[_0x1a4e('0x1d5')](_0x5d7dad);}),_0x5d7dad[_0x1a4e('0x1b2')]['forEach'](function(_0x5d7dad){return _0x22b0c5['removeEdge'](_0x5d7dad);}),delete this[_0x1a4e('0x11d')][_0x5d7dad['id']];},_0x400223['prototype'][_0x1a4e('0x1d5')]=function(_0x5d7dad){this['edges']=this['edges']['filter'](function(_0x22b0c5){return!_0x22b0c5['isEqual'](_0x5d7dad);}),_0x5d7dad['deleteEdge']();};var _0x433c45=_0x1d580f(function(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x5d7dad){var _0x22b0c5=[];for(var _0x5ac9eb in _0x5d7dad)_0x22b0c5[_0x1a4e('0x46')](_0x5ac9eb);return _0x22b0c5;}(_0x5d7dad['exports']='function'==typeof Object[_0x1a4e('0x56')]?Object[_0x1a4e('0x56')]:_0x5ac9eb)[_0x1a4e('0x1da')]=_0x5ac9eb;}),_0x9c9b9=(_0x433c45[_0x1a4e('0x1da')],_0x1d580f(function(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x5d7dad){return'[object\x20Arguments]'==Object['prototype']['toString']['call'](_0x5d7dad);}function _0x261805(_0x5d7dad){return _0x5d7dad&&_0x1a4e('0x85')==typeof _0x5d7dad&&_0x1a4e('0x3d')==typeof _0x5d7dad[_0x1a4e('0x1e')]&&Object['prototype'][_0x1a4e('0xb')][_0x1a4e('0x1')](_0x5d7dad,_0x1a4e('0x1db'))&&!Object['prototype']['propertyIsEnumerable'][_0x1a4e('0x1')](_0x5d7dad,'callee')||!0x1;}var _0x81bc8f=_0x1a4e('0xe8')==function(){return Object[_0x1a4e('0xa')]['toString'][_0x1a4e('0x1')](arguments);}();(_0x22b0c5=_0x5d7dad[_0x1a4e('0x0')]=_0x81bc8f?_0x5ac9eb:_0x261805)[_0x1a4e('0x1dc')]=_0x5ac9eb,_0x22b0c5['unsupported']=_0x261805;})),_0x34d82b=(_0x9c9b9[_0x1a4e('0x1dc')],_0x9c9b9[_0x1a4e('0x1dd')],_0x1d580f(function(_0x5d7dad){function _0x22b0c5(_0x5d7dad){return null==_0x5d7dad;}function _0x5ac9eb(_0x5d7dad){return!(!_0x5d7dad||_0x1a4e('0x85')!=typeof _0x5d7dad||_0x1a4e('0x3d')!=typeof _0x5d7dad[_0x1a4e('0x1e')]||'function'!=typeof _0x5d7dad[_0x1a4e('0xea')]||_0x1a4e('0x68')!=typeof _0x5d7dad[_0x1a4e('0x78')]||_0x5d7dad['length']>0x0&&_0x1a4e('0x3d')!=typeof _0x5d7dad[0x0]);}var _0x261805=Array[_0x1a4e('0xa')]['slice'],_0x81bc8f=_0x5d7dad[_0x1a4e('0x0')]=function(_0x5d7dad,_0x234f42,_0x153447){return _0x153447||(_0x153447={}),_0x5d7dad===_0x234f42||(_0x5d7dad instanceof Date&&_0x234f42 instanceof Date?_0x5d7dad[_0x1a4e('0xe9')]()===_0x234f42[_0x1a4e('0xe9')]():!_0x5d7dad||!_0x234f42||_0x1a4e('0x85')!=typeof _0x5d7dad&&_0x1a4e('0x85')!=typeof _0x234f42?_0x153447[_0x1a4e('0x1de')]?_0x5d7dad===_0x234f42:_0x5d7dad==_0x234f42:function(_0x5d7dad,_0x234f42,_0x153447){var _0x1972c2,_0x3376f9;if(_0x22b0c5(_0x5d7dad)||_0x22b0c5(_0x234f42))return!0x1;if(_0x5d7dad['prototype']!==_0x234f42['prototype'])return!0x1;if(_0x9c9b9(_0x5d7dad))return!!_0x9c9b9(_0x234f42)&&(_0x5d7dad=_0x261805[_0x1a4e('0x1')](_0x5d7dad),_0x234f42=_0x261805[_0x1a4e('0x1')](_0x234f42),_0x81bc8f(_0x5d7dad,_0x234f42,_0x153447));if(_0x5ac9eb(_0x5d7dad)){if(!_0x5ac9eb(_0x234f42))return!0x1;if(_0x5d7dad[_0x1a4e('0x1e')]!==_0x234f42[_0x1a4e('0x1e')])return!0x1;for(_0x1972c2=0x0;_0x1972c2<_0x5d7dad['length'];_0x1972c2++)if(_0x5d7dad[_0x1972c2]!==_0x234f42[_0x1972c2])return!0x1;return!0x0;}try{var _0x5dae0e=_0x433c45(_0x5d7dad),_0x3d7f02=_0x433c45(_0x234f42);}catch(_0x10d412){return!0x1;}if(_0x5dae0e[_0x1a4e('0x1e')]!=_0x3d7f02[_0x1a4e('0x1e')])return!0x1;for(_0x5dae0e['sort'](),_0x3d7f02[_0x1a4e('0x89')](),_0x1972c2=_0x5dae0e[_0x1a4e('0x1e')]-0x1;_0x1972c2>=0x0;_0x1972c2--)if(_0x5dae0e[_0x1972c2]!=_0x3d7f02[_0x1972c2])return!0x1;for(_0x1972c2=_0x5dae0e[_0x1a4e('0x1e')]-0x1;_0x1972c2>=0x0;_0x1972c2--)if(_0x3376f9=_0x5dae0e[_0x1972c2],!_0x81bc8f(_0x5d7dad[_0x3376f9],_0x234f42[_0x3376f9],_0x153447))return!0x1;return typeof _0x5d7dad==typeof _0x234f42;}(_0x5d7dad,_0x234f42,_0x153447));};})),_0x24425d=function(_0x5d7dad){this[_0x1a4e('0xd4')]=_0x5d7dad&&_0x5d7dad[_0x1a4e('0xd4')]?_0x5d7dad[_0x1a4e('0xd4')]:0x11,this[_0x1a4e('0x1df')]=!(!_0x5d7dad||!_0x5d7dad[_0x1a4e('0x1df')])&&_0x5d7dad['direction'],this[_0x1a4e('0x1e0')]=!(!_0x5d7dad||!_0x5d7dad[_0x1a4e('0x1e0')])&&_0x5d7dad['pseudoNode'],this[_0x1a4e('0x1e1')]=_0x5d7dad&&_0x5d7dad[_0x1a4e('0x1e1')]?_0x5d7dad[_0x1a4e('0x1e1')]:_0x533621;};_0x24425d['prototype'][_0x1a4e('0x77')]=function(_0x5d7dad,_0x22b0c5){if(_0x5d7dad[_0x1a4e('0x40')]!==_0x22b0c5[_0x1a4e('0x40')]||!_0x576d7a(_0x5d7dad,_0x22b0c5))return!0x1;switch(_0x5d7dad['type']){case _0x1a4e('0x17'):return this[_0x1a4e('0x1e2')](_0x5d7dad['coordinates'],_0x22b0c5['coordinates']);case'LineString':return this[_0x1a4e('0x1e3')](_0x5d7dad[_0x1a4e('0x43')],_0x22b0c5['coordinates'],0x0,!0x1);case _0x1a4e('0x19'):return this['comparePolygon'](_0x5d7dad,_0x22b0c5);case _0x1a4e('0x12'):return this[_0x1a4e('0x1e4')](_0x5d7dad,_0x22b0c5);default:if(0x0===_0x5d7dad[_0x1a4e('0x40')]['indexOf'](_0x1a4e('0x116'))){var _0x5ac9eb=this,_0x261805=_0x255668(_0x5d7dad),_0x81bc8f=_0x255668(_0x22b0c5);return _0x261805[_0x1a4e('0x114')](function(_0x5d7dad){return this['some'](function(_0x22b0c5){return _0x5ac9eb['compare'](_0x5d7dad,_0x22b0c5);});},_0x81bc8f);}}return!0x1;},_0x24425d[_0x1a4e('0xa')][_0x1a4e('0x1e2')]=function(_0x5d7dad,_0x22b0c5){if(_0x5d7dad[_0x1a4e('0x1e')]!==_0x22b0c5[_0x1a4e('0x1e')])return!0x1;for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb++)if(_0x5d7dad[_0x5ac9eb][_0x1a4e('0x1e5')](this['precision'])!==_0x22b0c5[_0x5ac9eb]['toFixed'](this['precision']))return!0x1;return!0x0;},_0x24425d[_0x1a4e('0xa')][_0x1a4e('0x1e3')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(!_0x576d7a(_0x5d7dad,_0x22b0c5))return!0x1;var _0x81bc8f=this[_0x1a4e('0x1e0')]?_0x5d7dad:this['removePseudo'](_0x5d7dad),_0x234f42=this[_0x1a4e('0x1e0')]?_0x22b0c5:this[_0x1a4e('0x1e6')](_0x22b0c5);if(!_0x261805||this[_0x1a4e('0x1e2')](_0x81bc8f[0x0],_0x234f42[0x0])||(_0x234f42=this[_0x1a4e('0x1e7')](_0x234f42,_0x81bc8f))){var _0x153447=this['compareCoord'](_0x81bc8f[_0x5ac9eb],_0x234f42[_0x5ac9eb]);return this[_0x1a4e('0x1df')]||_0x153447?this[_0x1a4e('0x1e8')](_0x81bc8f,_0x234f42):!!this[_0x1a4e('0x1e2')](_0x81bc8f[_0x5ac9eb],_0x234f42[_0x234f42[_0x1a4e('0x1e')]-(0x1+_0x5ac9eb)])&&this[_0x1a4e('0x1e8')](_0x81bc8f[_0x1a4e('0x78')]()[_0x1a4e('0x9b')](),_0x234f42);}},_0x24425d[_0x1a4e('0xa')][_0x1a4e('0x1e7')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb,_0x261805=-0x1,_0x81bc8f=0x0;_0x81bc8f<_0x5d7dad[_0x1a4e('0x1e')];_0x81bc8f++)if(this[_0x1a4e('0x1e2')](_0x5d7dad[_0x81bc8f],_0x22b0c5[0x0])){_0x261805=_0x81bc8f;break;}return _0x261805>=0x0&&(_0x5ac9eb=[]['concat'](_0x5d7dad['slice'](_0x261805,_0x5d7dad['length']),_0x5d7dad[_0x1a4e('0x78')](0x1,_0x261805+0x1))),_0x5ac9eb;},_0x24425d[_0x1a4e('0xa')][_0x1a4e('0x1e8')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=this;return _0x5d7dad[_0x1a4e('0x114')](function(_0x5d7dad,_0x22b0c5){return _0x5ac9eb['compareCoord'](_0x5d7dad,this[_0x22b0c5]);},_0x22b0c5);},_0x24425d['prototype'][_0x1a4e('0x1e9')]=function(_0x5d7dad,_0x22b0c5){if(this['compareLine'](_0x5d7dad[_0x1a4e('0x43')][0x0],_0x22b0c5[_0x1a4e('0x43')][0x0],0x1,!0x0)){var _0x5ac9eb=_0x5d7dad['coordinates']['slice'](0x1,_0x5d7dad[_0x1a4e('0x43')][_0x1a4e('0x1e')]),_0x261805=_0x22b0c5[_0x1a4e('0x43')][_0x1a4e('0x78')](0x1,_0x22b0c5[_0x1a4e('0x43')][_0x1a4e('0x1e')]),_0x81bc8f=this;return _0x5ac9eb[_0x1a4e('0x114')](function(_0x5d7dad){return this[_0x1a4e('0x1c2')](function(_0x22b0c5){return _0x81bc8f['compareLine'](_0x5d7dad,_0x22b0c5,0x1,!0x0);});},_0x261805);}return!0x1;},_0x24425d[_0x1a4e('0xa')]['compareFeature']=function(_0x5d7dad,_0x22b0c5){return!(_0x5d7dad['id']!==_0x22b0c5['id']||!this[_0x1a4e('0x1e1')](_0x5d7dad[_0x1a4e('0x13')],_0x22b0c5['properties'])||!this[_0x1a4e('0x1ea')](_0x5d7dad,_0x22b0c5))&&this[_0x1a4e('0x77')](_0x5d7dad['geometry'],_0x22b0c5[_0x1a4e('0x18')]);},_0x24425d['prototype'][_0x1a4e('0x1ea')]=function(_0x5d7dad,_0x22b0c5){return!!(!_0x5d7dad[_0x1a4e('0xe')]&&!_0x22b0c5[_0x1a4e('0xe')]||_0x5d7dad[_0x1a4e('0xe')]&&_0x22b0c5[_0x1a4e('0xe')]&&this[_0x1a4e('0x1e2')](_0x5d7dad[_0x1a4e('0xe')],_0x22b0c5['bbox']));},_0x24425d[_0x1a4e('0xa')][_0x1a4e('0x1e6')]=function(_0x5d7dad){return _0x5d7dad;};var _0x5e967f=_0x24425d,_0x1927f3=_0x1d580f(function(_0x5d7dad){function _0x22b0c5(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){this[_0x1a4e('0x1eb')]=[],this['epsilon']=0x1,this[_0x1a4e('0x1ec')]=0x2,this[_0x1a4e('0x1ed')]=this[_0x1a4e('0x1ee')],this[_0x1a4e('0x1ef')]=[],this[_0x1a4e('0x1f0')]=[],this[_0x1a4e('0x1f1')]=[],this[_0x1a4e('0x1f2')]=[],this['_datasetLength']=0x0,this['_init'](_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805);}_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x1f3')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){this['_init'](_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805);for(var _0x81bc8f=0x0;_0x81bc8f=this[_0x1a4e('0x1ec')]&&(_0x22b0c5=this[_0x1a4e('0x1fa')](_0x22b0c5,_0x81bc8f));}0x1!==this['_assigned'][_0x261805]&&this[_0x1a4e('0x1f6')](_0x261805,_0x5d7dad);}},_0x22b0c5['prototype'][_0x1a4e('0x1f6')]=function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x1ef')][_0x22b0c5][_0x1a4e('0x46')](_0x5d7dad),this['_assigned'][_0x5d7dad]=0x1;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x1f5')]=function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb0x0){for(_0x3376f9=0x0;_0x3376f9<_0x3d7f02;_0x3376f9++)_0x153447[_0x3376f9]/=_0x1972c2;this[_0x1a4e('0x1fc')][_0x234f42]=_0x153447;}else this[_0x1a4e('0x1fc')][_0x234f42]=this[_0x1a4e('0x1fe')](),_0x81bc8f=!0x0;}}return this[_0x1a4e('0x1ff')]();},_0x22b0c5[_0x1a4e('0xa')]['randomCentroid']=function(){var _0x5d7dad,_0x22b0c5,_0x5ac9eb=this[_0x1a4e('0x1eb')][_0x1a4e('0x1e')]-0x1;do{_0x22b0c5=Math[_0x1a4e('0x2a')](Math[_0x1a4e('0x12e')]()*_0x5ac9eb),_0x5d7dad=this[_0x1a4e('0x1eb')][_0x22b0c5];}while(this['centroids']['indexOf'](_0x5d7dad)>=0x0);return _0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x200')]=function(){for(var _0x5d7dad,_0x22b0c5=!0x1,_0x5ac9eb=this[_0x1a4e('0x1eb')][_0x1a4e('0x1e')],_0x261805=0x0;_0x261805<_0x5ac9eb;_0x261805++)(_0x5d7dad=this['argmin'](this[_0x1a4e('0x1eb')][_0x261805],this[_0x1a4e('0x1fc')],this[_0x1a4e('0x1ed')]))!=this[_0x1a4e('0x1fb')][_0x261805]&&(this['assignments'][_0x261805]=_0x5d7dad,_0x22b0c5=!0x0);return _0x22b0c5;},_0x22b0c5[_0x1a4e('0xa')]['getClusters']=function(){for(var _0x5d7dad,_0x22b0c5=new Array(this['k']),_0x5ac9eb=0x0;_0x5ac9eb_0x81bc8f&&(_0x5ac9eb=_0x261805):_0x22b0c5<_0x81bc8f&&(_0x5ac9eb=_0x261805);}this[_0x1a4e('0x206')](_0x5d7dad,_0x22b0c5,_0x5ac9eb);},_0x22b0c5[_0x1a4e('0xa')]['remove']=function(_0x5d7dad){for(var _0x22b0c5=this[_0x1a4e('0x202')][_0x1a4e('0x1e')];_0x22b0c5--;)if(_0x5d7dad===this['_queue'][_0x22b0c5]){this[_0x1a4e('0x202')]['splice'](_0x22b0c5,0x1),this[_0x1a4e('0x203')][_0x1a4e('0x8a')](_0x22b0c5,0x1);break;}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x3b')]=function(_0x5d7dad){this['_queue'][_0x1a4e('0x3b')](_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x207')]=function(){return this[_0x1a4e('0x202')];},_0x22b0c5['prototype']['getElementPriority']=function(_0x5d7dad){return this[_0x1a4e('0x203')][_0x5d7dad];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x208')]=function(){return this[_0x1a4e('0x203')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x209')]=function(){for(var _0x5d7dad=[],_0x22b0c5=0x0,_0x5ac9eb=this[_0x1a4e('0x202')][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)_0x5d7dad[_0x1a4e('0x46')]([this[_0x1a4e('0x202')][_0x22b0c5],this[_0x1a4e('0x203')][_0x22b0c5]]);return _0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x1f7')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x5d7dad&&_0x22b0c5){if(this[_0x1a4e('0x202')]=[],this[_0x1a4e('0x203')]=[],_0x5d7dad[_0x1a4e('0x1e')]!==_0x22b0c5['length'])throw new Error(_0x1a4e('0x20a'));for(var _0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x1e')];_0x261805++)this[_0x1a4e('0x7c')](_0x5d7dad[_0x261805],_0x22b0c5[_0x261805]);}_0x5ac9eb&&(this[_0x1a4e('0x205')]=_0x5ac9eb);},_0x22b0c5['prototype'][_0x1a4e('0x206')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){this[_0x1a4e('0x202')][_0x1a4e('0x1e')]===_0x5ac9eb?(this[_0x1a4e('0x202')]['push'](_0x5d7dad),this[_0x1a4e('0x203')]['push'](_0x22b0c5)):(this['_queue'][_0x1a4e('0x8a')](_0x5ac9eb,0x0,_0x5d7dad),this[_0x1a4e('0x203')][_0x1a4e('0x8a')](_0x5ac9eb,0x0,_0x22b0c5));},_0x5d7dad['exports']&&(_0x5d7dad[_0x1a4e('0x0')]=_0x22b0c5);}),_0x5d515b=_0x1d580f(function(_0x5d7dad){function _0x22b0c5(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){this[_0x1a4e('0x1f9')]=0x1,this[_0x1a4e('0x1ec')]=0x1,this[_0x1a4e('0x1ed')]=this[_0x1a4e('0x1ee')],this[_0x1a4e('0x20b')]=[],this['_processed']=[],this[_0x1a4e('0x20c')]=0x0,this['_orderedList']=[],this['_init'](_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805);}if(_0x5d7dad[_0x1a4e('0x0')])var _0x5ac9eb=_0x2fa1cc;_0x22b0c5[_0x1a4e('0xa')]['run']=function(_0x5d7dad,_0x22b0c5,_0x261805,_0x81bc8f){this[_0x1a4e('0x1f7')](_0x5d7dad,_0x22b0c5,_0x261805,_0x81bc8f);for(var _0x234f42=0x0,_0x153447=this[_0x1a4e('0x1eb')][_0x1a4e('0x1e')];_0x234f42<_0x153447;_0x234f42++)if(0x1!==this[_0x1a4e('0x20d')][_0x234f42]){this[_0x1a4e('0x20d')][_0x234f42]=0x1,this['clusters'][_0x1a4e('0x46')]([_0x234f42]);var _0x1972c2=this[_0x1a4e('0x1ef')][_0x1a4e('0x1e')]-0x1;this['_orderedList'][_0x1a4e('0x46')](_0x234f42);var _0x3376f9=new _0x5ac9eb(null,null,_0x1a4e('0x20e')),_0x5dae0e=this['_regionQuery'](_0x234f42);void 0x0!==this['_distanceToCore'](_0x234f42)&&(this['_updateQueue'](_0x234f42,_0x5dae0e,_0x3376f9),this[_0x1a4e('0x20f')](_0x1972c2,_0x3376f9));}return this[_0x1a4e('0x1ef')];},_0x22b0c5['prototype'][_0x1a4e('0x210')]=function(){for(var _0x5d7dad=[],_0x22b0c5=0x0,_0x5ac9eb=this[_0x1a4e('0x211')][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++){var _0x261805=this['_orderedList'][_0x22b0c5],_0x81bc8f=this['_reachability'][_0x261805];_0x5d7dad[_0x1a4e('0x46')]([_0x261805,_0x81bc8f]);}return _0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x1f7')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(_0x5d7dad){if(!(_0x5d7dad instanceof Array))throw Error(_0x1a4e('0x1f8')+typeof _0x5d7dad+'\x20given');this[_0x1a4e('0x1eb')]=_0x5d7dad,this[_0x1a4e('0x1ef')]=[],this[_0x1a4e('0x20b')]=new Array(this['dataset'][_0x1a4e('0x1e')]),this['_processed']=new Array(this[_0x1a4e('0x1eb')][_0x1a4e('0x1e')]),this['_coreDistance']=0x0,this[_0x1a4e('0x211')]=[];}_0x22b0c5&&(this[_0x1a4e('0x1f9')]=_0x22b0c5),_0x5ac9eb&&(this[_0x1a4e('0x1ec')]=_0x5ac9eb),_0x261805&&(this[_0x1a4e('0x1ed')]=_0x261805);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x212')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=this;this[_0x1a4e('0x20c')]=this[_0x1a4e('0x213')](_0x5d7dad),_0x22b0c5[_0x1a4e('0x3b')](function(_0x22b0c5){if(void 0x0===_0x261805[_0x1a4e('0x20d')][_0x22b0c5]){var _0x81bc8f=_0x261805[_0x1a4e('0x1ed')](_0x261805['dataset'][_0x5d7dad],_0x261805[_0x1a4e('0x1eb')][_0x22b0c5]),_0x234f42=Math[_0x1a4e('0x6c')](_0x261805[_0x1a4e('0x20c')],_0x81bc8f);void 0x0===_0x261805['_reachability'][_0x22b0c5]?(_0x261805['_reachability'][_0x22b0c5]=_0x234f42,_0x5ac9eb[_0x1a4e('0x7c')](_0x22b0c5,_0x234f42)):_0x234f42<_0x261805[_0x1a4e('0x20b')][_0x22b0c5]&&(_0x261805[_0x1a4e('0x20b')][_0x22b0c5]=_0x234f42,_0x5ac9eb[_0x1a4e('0x82')](_0x22b0c5),_0x5ac9eb[_0x1a4e('0x7c')](_0x22b0c5,_0x234f42));}});},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x20f')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x22b0c5['getElements'](),_0x261805=0x0,_0x81bc8f=_0x5ac9eb[_0x1a4e('0x1e')];_0x261805<_0x81bc8f;_0x261805++){var _0x234f42=_0x5ac9eb[_0x261805];if(void 0x0===this[_0x1a4e('0x20d')][_0x234f42]){var _0x153447=this['_regionQuery'](_0x234f42);this[_0x1a4e('0x20d')][_0x234f42]=0x1,this[_0x1a4e('0x1ef')][_0x5d7dad][_0x1a4e('0x46')](_0x234f42),this[_0x1a4e('0x211')][_0x1a4e('0x46')](_0x234f42),void 0x0!==this['_distanceToCore'](_0x234f42)&&(this[_0x1a4e('0x212')](_0x234f42,_0x153447,_0x22b0c5),this[_0x1a4e('0x20f')](_0x5d7dad,_0x22b0c5));}}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x213')]=function(_0x5d7dad){for(var _0x22b0c5=this['epsilon'],_0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5;_0x5ac9eb++)if(this[_0x1a4e('0x1f5')](_0x5d7dad,_0x5ac9eb)[_0x1a4e('0x1e')]>=this[_0x1a4e('0x1ec')])return _0x5ac9eb;},_0x22b0c5['prototype'][_0x1a4e('0x1f5')]=function(_0x5d7dad,_0x22b0c5){_0x22b0c5=_0x22b0c5||this['epsilon'];for(var _0x5ac9eb=[],_0x261805=0x0,_0x81bc8f=this['dataset'][_0x1a4e('0x1e')];_0x261805<_0x81bc8f;_0x261805++)this[_0x1a4e('0x1ed')](this[_0x1a4e('0x1eb')][_0x5d7dad],this[_0x1a4e('0x1eb')][_0x261805])<_0x22b0c5&&_0x5ac9eb[_0x1a4e('0x46')](_0x261805);return _0x5ac9eb;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x1ee')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0,_0x261805=Math[_0x1a4e('0x74')](_0x5d7dad['length'],_0x22b0c5[_0x1a4e('0x1e')]);_0x261805--;)_0x5ac9eb+=(_0x5d7dad[_0x261805]-_0x22b0c5[_0x261805])*(_0x5d7dad[_0x261805]-_0x22b0c5[_0x261805]);return Math[_0x1a4e('0x91')](_0x5ac9eb);},_0x5d7dad[_0x1a4e('0x0')]&&(_0x5d7dad[_0x1a4e('0x0')]=_0x22b0c5);}),_0x510a1d=_0x1d580f(function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x0')]&&(_0x5d7dad[_0x1a4e('0x0')]={'DBSCAN':_0x1927f3,'KMEANS':_0x3ec64b,'OPTICS':_0x5d515b,'PriorityQueue':_0x2fa1cc});}),_0x595296=(_0x510a1d[_0x1a4e('0x214')],_0x510a1d[_0x1a4e('0x215')],_0x510a1d[_0x1a4e('0x216')],_0x510a1d[_0x1a4e('0x217')],function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){for(var _0x261805=_0x5d7dad[_0x1a4e('0x1e')],_0x81bc8f=0x0,_0x234f42=0x0;_0x234f42<_0x261805;_0x234f42++){var _0x153447=(_0x5d7dad[_0x234f42]||0x0)-(_0x22b0c5[_0x234f42]||0x0);_0x81bc8f+=_0x153447*_0x153447;}return _0x5ac9eb?Math['sqrt'](_0x81bc8f):_0x81bc8f;}),_0xc63022=_0x595296,_0x19b9ca=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=Math[_0x1a4e('0x65')](_0x5d7dad-_0x22b0c5);return _0x5ac9eb?_0x261805:_0x261805*_0x261805;},_0x2409a3=_0x595296,_0xe105a9=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=[],_0x234f42=[],_0x153447=[],_0x1972c2=[],_0x3376f9=!0x1,_0x5dae0e=_0x261805||0x2710,_0x3d7f02=_0x5d7dad['length'],_0x146559=_0x5d7dad[0x0]['length'],_0x184c89=_0x146559>0x0,_0x4198ed=[];if(_0x5ac9eb)_0x81bc8f=_0x1a4e('0x218')==_0x5ac9eb?function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb={},_0x261805=[],_0x81bc8f=_0x22b0c5<<0x2,_0x234f42=_0x5d7dad[_0x1a4e('0x1e')],_0x153447=_0x5d7dad[0x0][_0x1a4e('0x1e')]>0x0;_0x261805[_0x1a4e('0x1e')]<_0x22b0c5&&_0x81bc8f-->0x0;){var _0x1972c2=_0x5d7dad[Math['floor'](Math['random']()*_0x234f42)],_0x3376f9=_0x153447?_0x1972c2[_0x1a4e('0x9e')]('_'):''+_0x1972c2;_0x5ac9eb[_0x3376f9]||(_0x5ac9eb[_0x3376f9]=!0x0,_0x261805['push'](_0x1972c2));}if(_0x261805[_0x1a4e('0x1e')]<_0x22b0c5)throw new Error(_0x1a4e('0x219'));return _0x261805;}(_0x5d7dad,_0x22b0c5):_0x1a4e('0x21a')==_0x5ac9eb?function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[0x0][_0x1a4e('0x1e')]?_0xc63022:_0x19b9ca,_0x261805=[],_0x81bc8f=_0x5d7dad['length'],_0x234f42=_0x5d7dad[0x0]['length']>0x0,_0x153447=_0x5d7dad[Math[_0x1a4e('0xb4')](Math['random']()*_0x81bc8f)];for(_0x234f42&&_0x153447[_0x1a4e('0x9e')]('_'),_0x261805[_0x1a4e('0x46')](_0x153447);_0x261805['length']<_0x22b0c5;){for(var _0x1972c2=[],_0x3376f9=_0x261805[_0x1a4e('0x1e')],_0x5dae0e=0x0,_0x3d7f02=[],_0x146559=0x0;_0x146559<_0x81bc8f;_0x146559++){for(var _0x184c89=0x1/0x0,_0x4198ed=0x0;_0x4198ed<_0x3376f9;_0x4198ed++){var _0x41179c=_0x5ac9eb(_0x5d7dad[_0x146559],_0x261805[_0x4198ed]);_0x41179c<=_0x184c89&&(_0x184c89=_0x41179c);}_0x1972c2[_0x146559]=_0x184c89;}for(var _0x4eb09b=0x0;_0x4eb09b<_0x81bc8f;_0x4eb09b++)_0x5dae0e+=_0x1972c2[_0x4eb09b];for(var _0x39638f=0x0;_0x39638f<_0x81bc8f;_0x39638f++)_0x3d7f02[_0x39638f]={'i':_0x39638f,'v':_0x5d7dad[_0x39638f],'pr':_0x1972c2[_0x39638f]/_0x5dae0e,'cs':0x0};_0x3d7f02[_0x1a4e('0x89')](function(_0x5d7dad,_0x22b0c5){return _0x5d7dad['pr']-_0x22b0c5['pr'];}),_0x3d7f02[0x0]['cs']=_0x3d7f02[0x0]['pr'];for(var _0x40b220=0x1;_0x40b220<_0x81bc8f;_0x40b220++)_0x3d7f02[_0x40b220]['cs']=_0x3d7f02[_0x40b220-0x1]['cs']+_0x3d7f02[_0x40b220]['pr'];for(var _0x55366a=Math[_0x1a4e('0x12e')](),_0x527605=0x0;_0x527605<_0x81bc8f-0x1&&_0x3d7f02[_0x527605++]['cs']<_0x55366a;);_0x261805[_0x1a4e('0x46')](_0x3d7f02[_0x527605-0x1]['v']);}return _0x261805;}(_0x5d7dad,_0x22b0c5):_0x5ac9eb;else for(var _0x41179c={};_0x81bc8f[_0x1a4e('0x1e')]<_0x22b0c5;){var _0x4eb09b=Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x12e')]()*_0x3d7f02);_0x41179c[_0x4eb09b]||(_0x41179c[_0x4eb09b]=!0x0,_0x81bc8f['push'](_0x5d7dad[_0x4eb09b]));}do{_0x448b63(_0x22b0c5,0x0,_0x4198ed);for(var _0x39638f=0x0;_0x39638f<_0x3d7f02;_0x39638f++){for(var _0x40b220=0x1/0x0,_0x55366a=0x0,_0x527605=0x0;_0x527605<_0x22b0c5;_0x527605++)(_0x1972c2=_0x184c89?_0x2409a3(_0x5d7dad[_0x39638f],_0x81bc8f[_0x527605]):Math[_0x1a4e('0x65')](_0x5d7dad[_0x39638f]-_0x81bc8f[_0x527605]))<=_0x40b220&&(_0x40b220=_0x1972c2,_0x55366a=_0x527605);_0x153447[_0x39638f]=_0x55366a,_0x4198ed[_0x55366a]++;}for(var _0x4b8927=[],_0x3ff7f9=(_0x234f42=[],0x0);_0x3ff7f9<_0x22b0c5;_0x3ff7f9++)_0x4b8927[_0x3ff7f9]=_0x184c89?_0x448b63(_0x146559,0x0,_0x4b8927[_0x3ff7f9]):0x0,_0x234f42[_0x3ff7f9]=_0x81bc8f[_0x3ff7f9];if(_0x184c89){for(var _0x3b62c2=0x0;_0x3b62c2<_0x22b0c5;_0x3b62c2++)_0x81bc8f[_0x3b62c2]=[];for(var _0x556755=0x0;_0x556755<_0x3d7f02;_0x556755++)for(var _0x162a48=_0x4b8927[_0x153447[_0x556755]],_0x4f92fa=_0x5d7dad[_0x556755],_0x4fae53=0x0;_0x4fae53<_0x146559;_0x4fae53++)_0x162a48[_0x4fae53]+=_0x4f92fa[_0x4fae53];_0x3376f9=!0x0;for(var _0x40eeaf=0x0;_0x40eeaf<_0x22b0c5;_0x40eeaf++){for(var _0x34483c=_0x81bc8f[_0x40eeaf],_0x7d6acf=_0x4b8927[_0x40eeaf],_0x17e057=_0x234f42[_0x40eeaf],_0x1494e6=_0x4198ed[_0x40eeaf],_0x57cad0=0x0;_0x57cad0<_0x146559;_0x57cad0++)_0x34483c[_0x57cad0]=_0x7d6acf[_0x57cad0]/_0x1494e6||0x0;if(_0x3376f9)for(var _0x4412c5=0x0;_0x4412c5<_0x146559;_0x4412c5++)if(_0x17e057[_0x4412c5]!=_0x34483c[_0x4412c5]){_0x3376f9=!0x1;break;}}}else{for(var _0xaebea=0x0;_0xaebea<_0x3d7f02;_0xaebea++)_0x4b8927[_0x153447[_0xaebea]]+=_0x5d7dad[_0xaebea];for(var _0x5674f8=0x0;_0x5674f8<_0x22b0c5;_0x5674f8++)_0x81bc8f[_0x5674f8]=_0x4b8927[_0x5674f8]/_0x4198ed[_0x5674f8]||0x0;_0x3376f9=!0x0;for(var _0xe0c7f6=0x0;_0xe0c7f6<_0x22b0c5;_0xe0c7f6++)if(_0x234f42[_0xe0c7f6]!=_0x81bc8f[_0xe0c7f6]){_0x3376f9=!0x1;break;}}_0x3376f9=_0x3376f9||--_0x5dae0e<=0x0;}while(!_0x3376f9);return{'it':0x2710-_0x5dae0e,'k':_0x22b0c5,'idxs':_0x153447,'centroids':_0x81bc8f};},_0x40ea70={'search':function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){_0x5d7dad[_0x1a4e('0x21b')]();var _0x81bc8f=(_0x261805=_0x261805||{})[_0x1a4e('0x21c')]||_0x40ea70[_0x1a4e('0x21d')][_0x1a4e('0x21e')],_0x234f42=_0x261805[_0x1a4e('0x21f')]||!0x1,_0x153447=new _0x15da71(function(_0x5d7dad){return _0x5d7dad['f'];}),_0x1972c2=_0x22b0c5;for(_0x22b0c5['h']=_0x81bc8f(_0x22b0c5,_0x5ac9eb),_0x153447[_0x1a4e('0x46')](_0x22b0c5);_0x153447[_0x1a4e('0x220')]()>0x0;){var _0x3376f9=_0x153447['pop']();if(_0x3376f9===_0x5ac9eb)return _0x111b2d(_0x3376f9);_0x3376f9[_0x1a4e('0x62')]=!0x0;for(var _0x5dae0e=_0x5d7dad[_0x1a4e('0x221')](_0x3376f9),_0x3d7f02=0x0,_0x146559=_0x5dae0e['length'];_0x3d7f02<_0x146559;++_0x3d7f02){var _0x184c89=_0x5dae0e[_0x3d7f02];if(!_0x184c89['closed']&&!_0x184c89[_0x1a4e('0x222')]()){var _0x4198ed=_0x3376f9['g']+_0x184c89['getCost'](_0x3376f9),_0x41179c=_0x184c89['visited'];(!_0x41179c||_0x4198ed<_0x184c89['g'])&&(_0x184c89[_0x1a4e('0x223')]=!0x0,_0x184c89['parent']=_0x3376f9,_0x184c89['h']=_0x184c89['h']||_0x81bc8f(_0x184c89,_0x5ac9eb),_0x184c89['g']=_0x4198ed,_0x184c89['f']=_0x184c89['g']+_0x184c89['h'],_0x5d7dad[_0x1a4e('0x224')](_0x184c89),_0x234f42&&(_0x184c89['h']<_0x1972c2['h']||_0x184c89['h']===_0x1972c2['h']&&_0x184c89['g']<_0x1972c2['g'])&&(_0x1972c2=_0x184c89),_0x41179c?_0x153447[_0x1a4e('0x225')](_0x184c89):_0x153447[_0x1a4e('0x46')](_0x184c89));}}}return _0x234f42?_0x111b2d(_0x1972c2):[];},'heuristics':{'manhattan':function(_0x5d7dad,_0x22b0c5){return Math[_0x1a4e('0x65')](_0x22b0c5['x']-_0x5d7dad['x'])+Math[_0x1a4e('0x65')](_0x22b0c5['y']-_0x5d7dad['y']);},'diagonal':function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=Math['sqrt'](0x2),_0x261805=Math[_0x1a4e('0x65')](_0x22b0c5['x']-_0x5d7dad['x']),_0x81bc8f=Math['abs'](_0x22b0c5['y']-_0x5d7dad['y']);return 0x1*(_0x261805+_0x81bc8f)+(_0x5ac9eb-0x2)*Math[_0x1a4e('0x74')](_0x261805,_0x81bc8f);}},'cleanNode':function(_0x5d7dad){_0x5d7dad['f']=0x0,_0x5d7dad['g']=0x0,_0x5d7dad['h']=0x0,_0x5d7dad['visited']=!0x1,_0x5d7dad[_0x1a4e('0x62')]=!0x1,_0x5d7dad[_0x1a4e('0x11c')]=null;}};_0x5506bd[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){this[_0x1a4e('0x226')]=[];for(var _0x5d7dad=0x0;_0x5d7dad0x0&&(this['content'][0x0]=_0x22b0c5,this['bubbleUp'](0x0)),_0x5d7dad;},'remove':function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x120')][_0x1a4e('0x3e')](_0x5d7dad),_0x5ac9eb=this[_0x1a4e('0x120')][_0x1a4e('0x76')]();_0x22b0c5!==this[_0x1a4e('0x120')][_0x1a4e('0x1e')]-0x1&&(this[_0x1a4e('0x120')][_0x22b0c5]=_0x5ac9eb,this['scoreFunction'](_0x5ac9eb)0x0;){var _0x5ac9eb=(_0x5d7dad+0x1>>0x1)-0x1,_0x261805=this['content'][_0x5ac9eb];if(!(this[_0x1a4e('0x121')](_0x22b0c5)=_0x1972c2)return null;var _0x3376f9=_0x5d7dad-_0x81bc8f['site'][0x0],_0x5dae0e=_0x22b0c5-_0x81bc8f['site'][0x1],_0x3d7f02=_0x3376f9*_0x3376f9+_0x5dae0e*_0x5dae0e;do{_0x81bc8f=_0x234f42['cells'][_0x261805=_0x153447],_0x153447=null,_0x81bc8f[_0x1a4e('0x122')]['forEach'](function(_0x5ac9eb){var _0x261805=_0x234f42[_0x1a4e('0xf5')][_0x5ac9eb],_0x1972c2=_0x261805[_0x1a4e('0x5f')];if(_0x1972c2!==_0x81bc8f['site']&&_0x1972c2||(_0x1972c2=_0x261805[_0x1a4e('0x5d')])){var _0x3376f9=_0x5d7dad-_0x1972c2[0x0],_0x5dae0e=_0x22b0c5-_0x1972c2[0x1],_0x146559=_0x3376f9*_0x3376f9+_0x5dae0e*_0x5dae0e;_0x146559<_0x3d7f02&&(_0x3d7f02=_0x146559,_0x153447=_0x1972c2['index']);}});}while(null!==_0x153447);return _0x234f42[_0x1a4e('0x22b')]=_0x261805,null==_0x5ac9eb||_0x3d7f02<=_0x5ac9eb*_0x5ac9eb?_0x81bc8f[_0x1a4e('0x123')]:null;}};var _0x99bd83=Object['freeze']({'randomPosition':_0x5e9175,'randomPoint':_0xa7aaa1,'randomPolygon':_0x27e2c0,'randomLineString':_0x380dbf}),_0x385388=Object['freeze']({'getCluster':_0xc63288,'clusterEach':_0x33bcfe,'clusterReduce':_0xaf1f1f,'createBins':_0x4d3ac3,'applyFilter':_0x53e910,'propertiesContainsFilter':_0x16715d,'filterProperties':_0x129e40});_0x1a4e('0x22c')in Array['prototype']||Object[_0x1a4e('0x2')](Array['prototype'],_0x1a4e('0x22c'),{'configurable':!0x0,'value':function(_0x5d7dad){if(null==this)throw new TypeError(this+_0x1a4e('0x22d'));var _0x22b0c5=Object(this),_0x5ac9eb=Math[_0x1a4e('0x6c')](Math[_0x1a4e('0x74')](_0x22b0c5[_0x1a4e('0x1e')],0x1fffffffffffff),0x0)||0x0,_0x261805=0x1 in arguments&&parseInt(Number(arguments[0x1]),0xa)||0x0;_0x261805=_0x261805<0x0?Math['max'](_0x5ac9eb+_0x261805,0x0):Math[_0x1a4e('0x74')](_0x261805,_0x5ac9eb);var _0x81bc8f=0x2 in arguments&&void 0x0!==arguments[0x2]?parseInt(Number(arguments[0x2]),0xa)||0x0:_0x5ac9eb;for(_0x81bc8f=_0x81bc8f<0x0?Math[_0x1a4e('0x6c')](_0x5ac9eb+arguments[0x2],0x0):Math[_0x1a4e('0x74')](_0x81bc8f,_0x5ac9eb);_0x261805<_0x81bc8f;)_0x22b0c5[_0x261805]=_0x5d7dad,++_0x261805;return _0x22b0c5;},'writable':!0x0}),Number[_0x1a4e('0x22e')]=Number['isFinite']||function(_0x5d7dad){return _0x1a4e('0x3d')==typeof _0x5d7dad&&isFinite(_0x5d7dad);},Number[_0x1a4e('0x22f')]=Number[_0x1a4e('0x22f')]||function(_0x5d7dad){return _0x1a4e('0x3d')==typeof _0x5d7dad&&isFinite(_0x5d7dad)&&Math[_0x1a4e('0xb4')](_0x5d7dad)===_0x5d7dad;},Number[_0x1a4e('0x230')]=Number[_0x1a4e('0x230')]||parseFloat,Number[_0x1a4e('0x231')]=Number[_0x1a4e('0x231')]||function(_0x5d7dad){return _0x5d7dad!=_0x5d7dad;},Math[_0x1a4e('0x232')]=Math[_0x1a4e('0x232')]||function(_0x5d7dad){return _0x5d7dad<0x0?Math[_0x1a4e('0x6d')](_0x5d7dad):Math['floor'](_0x5d7dad);};var _0x2fe03c=function(){};_0x2fe03c[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x2fe03c[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2fe03c;},_0x2fe03c[_0x1a4e('0xa')]['equalsWithTolerance']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return Math[_0x1a4e('0x65')](_0x5d7dad-_0x22b0c5)<=_0x5ac9eb;};var _0x3eb8a2=function(){},_0x104610=function(){},_0x50b8aa={'MAX_VALUE':{'configurable':!0x0}};_0x104610[_0x1a4e('0x231')]=function(_0x5d7dad){return Number['isNaN'](_0x5d7dad);},_0x104610[_0x1a4e('0x235')]=function(_0x5d7dad){return _0x5d7dad;},_0x104610[_0x1a4e('0x236')]=function(_0x5d7dad){return _0x5d7dad;},_0x104610[_0x1a4e('0x237')]=function(_0x5d7dad){return!Number[_0x1a4e('0x22e')](_0x5d7dad);},_0x50b8aa[_0x1a4e('0x201')][_0x1a4e('0x179')]=function(){return Number[_0x1a4e('0x201')];},Object[_0x1a4e('0x1c8')](_0x104610,_0x50b8aa);var _0x65271=function(){},_0xf5a262=function(){},_0xc6814d=function(){},_0x517a0b=function _0x5d7dad(){if(this['x']=null,this['y']=null,this['z']=null,0x0===arguments[_0x1a4e('0x1e')])this['x']=0x0,this['y']=0x0,this['z']=_0x5d7dad['NULL_ORDINATE'];else if(0x1===arguments['length']){var _0x22b0c5=arguments[0x0];this['x']=_0x22b0c5['x'],this['y']=_0x22b0c5['y'],this['z']=_0x22b0c5['z'];}else 0x2===arguments[_0x1a4e('0x1e')]?(this['x']=arguments[0x0],this['y']=arguments[0x1],this['z']=_0x5d7dad[_0x1a4e('0x238')]):0x3===arguments[_0x1a4e('0x1e')]&&(this['x']=arguments[0x0],this['y']=arguments[0x1],this['z']=arguments[0x2]);},_0x4fe7cd={'DimensionalComparator':{'configurable':!0x0},'serialVersionUID':{'configurable':!0x0},'NULL_ORDINATE':{'configurable':!0x0},'X':{'configurable':!0x0},'Y':{'configurable':!0x0},'Z':{'configurable':!0x0}};_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x239')]=function(_0x5d7dad,_0x22b0c5){switch(_0x5d7dad){case _0x517a0b['X']:this['x']=_0x22b0c5;break;case _0x517a0b['Y']:this['y']=_0x22b0c5;break;case _0x517a0b['Z']:this['z']=_0x22b0c5;break;default:throw new _0x3eb8a2(_0x1a4e('0x23a')+_0x5d7dad);}},_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x23b')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return this['x']===_0x5d7dad['x']&&this['y']===_0x5d7dad['y'];}if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];return!!_0x2fe03c[_0x1a4e('0x23c')](this['x'],_0x22b0c5['x'],_0x5ac9eb)&&!!_0x2fe03c[_0x1a4e('0x23c')](this['y'],_0x22b0c5['y'],_0x5ac9eb);}},_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x23d')]=function(_0x5d7dad){switch(_0x5d7dad){case _0x517a0b['X']:return this['x'];case _0x517a0b['Y']:return this['y'];case _0x517a0b['Z']:return this['z'];}throw new _0x3eb8a2('Invalid\x20ordinate\x20index:\x20'+_0x5d7dad);},_0x517a0b[_0x1a4e('0xa')]['equals3D']=function(_0x5d7dad){return this['x']===_0x5d7dad['x']&&this['y']===_0x5d7dad['y']&&(this['z']===_0x5d7dad['z']||_0x104610[_0x1a4e('0x231')](this['z']))&&_0x104610[_0x1a4e('0x231')](_0x5d7dad['z']);},_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x23e')]=function(_0x5d7dad){return _0x5d7dad instanceof _0x517a0b&&this['equals2D'](_0x5d7dad);},_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x23f')]=function(_0x5d7dad,_0x22b0c5){return _0x2fe03c[_0x1a4e('0x23c')](this['z'],_0x5d7dad['z'],_0x22b0c5);},_0x517a0b[_0x1a4e('0xa')]['compareTo']=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;return this['x']<_0x22b0c5['x']?-0x1:this['x']>_0x22b0c5['x']?0x1:this['y']<_0x22b0c5['y']?-0x1:this['y']>_0x22b0c5['y']?0x1:0x0;},_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x240')]=function(){},_0x517a0b[_0x1a4e('0xa')]['copy']=function(){return new _0x517a0b(this);},_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return'('+this['x']+',\x20'+this['y']+',\x20'+this['z']+')';},_0x517a0b['prototype'][_0x1a4e('0x241')]=function(_0x5d7dad){var _0x22b0c5=this['x']-_0x5d7dad['x'],_0x5ac9eb=this['y']-_0x5d7dad['y'],_0x261805=this['z']-_0x5d7dad['z'];return Math[_0x1a4e('0x91')](_0x22b0c5*_0x22b0c5+_0x5ac9eb*_0x5ac9eb+_0x261805*_0x261805);},_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x1ed')]=function(_0x5d7dad){var _0x22b0c5=this['x']-_0x5d7dad['x'],_0x5ac9eb=this['y']-_0x5d7dad['y'];return Math[_0x1a4e('0x91')](_0x22b0c5*_0x22b0c5+_0x5ac9eb*_0x5ac9eb);},_0x517a0b[_0x1a4e('0xa')]['hashCode']=function(){var _0x5d7dad=0x11;return _0x5d7dad=0x25*(_0x5d7dad=0x25*_0x5d7dad+_0x517a0b['hashCode'](this['x']))+_0x517a0b[_0x1a4e('0x242')](this['y']);},_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x243')]=function(_0x5d7dad){this['x']=_0x5d7dad['x'],this['y']=_0x5d7dad['y'],this['z']=_0x5d7dad['z'];},_0x517a0b['prototype']['interfaces_']=function(){return[_0x65271,_0xf5a262,_0x4ad42f];},_0x517a0b[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x517a0b;},_0x517a0b['hashCode']=function(){if(0x1===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=_0x104610[_0x1a4e('0x235')](_0x5d7dad);return Math[_0x1a4e('0x232')]((_0x22b0c5^_0x22b0c5)>>>0x20);}},_0x4fe7cd[_0x1a4e('0x244')]['get']=function(){return _0x25b0c7;},_0x4fe7cd[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return 0x5cbf2c235c7e5800;},_0x4fe7cd[_0x1a4e('0x238')][_0x1a4e('0x179')]=function(){return _0x104610['NaN'];},_0x4fe7cd['X'][_0x1a4e('0x179')]=function(){return 0x0;},_0x4fe7cd['Y'][_0x1a4e('0x179')]=function(){return 0x1;},_0x4fe7cd['Z'][_0x1a4e('0x179')]=function(){return 0x2;},Object[_0x1a4e('0x1c8')](_0x517a0b,_0x4fe7cd);var _0x25b0c7=function(_0x5d7dad){if(this[_0x1a4e('0x246')]=0x2,0x0===arguments[_0x1a4e('0x1e')]);else if(0x1===arguments['length']){var _0x22b0c5=arguments[0x0];if(0x2!==_0x22b0c5&&0x3!==_0x22b0c5)throw new _0x3eb8a2(_0x1a4e('0x247'));this[_0x1a4e('0x246')]=_0x22b0c5;}};_0x25b0c7[_0x1a4e('0xa')]['compare']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad,_0x261805=_0x22b0c5,_0x81bc8f=_0x25b0c7[_0x1a4e('0x77')](_0x5ac9eb['x'],_0x261805['x']);if(0x0!==_0x81bc8f)return _0x81bc8f;var _0x234f42=_0x25b0c7['compare'](_0x5ac9eb['y'],_0x261805['y']);return 0x0!==_0x234f42?_0x234f42:this[_0x1a4e('0x246')]<=0x2?0x0:_0x25b0c7[_0x1a4e('0x77')](_0x5ac9eb['z'],_0x261805['z']);},_0x25b0c7[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0xc6814d];},_0x25b0c7[_0x1a4e('0xa')]['getClass']=function(){return _0x25b0c7;},_0x25b0c7[_0x1a4e('0x77')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad<_0x22b0c5?-0x1:_0x5d7dad>_0x22b0c5?0x1:_0x104610[_0x1a4e('0x231')](_0x5d7dad)?_0x104610[_0x1a4e('0x231')](_0x22b0c5)?0x0:-0x1:_0x104610[_0x1a4e('0x231')](_0x22b0c5)?0x1:0x0;};var _0x3b3188=function(){};_0x3b3188[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(){},_0x3b3188[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x3b3188[_0x1a4e('0xa')]['getClass']=function(){return _0x3b3188;};var _0x2b3738=function(){},_0x3c65f2={'INTERIOR':{'configurable':!0x0},'BOUNDARY':{'configurable':!0x0},'EXTERIOR':{'configurable':!0x0},'NONE':{'configurable':!0x0}};_0x2b3738[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x2b3738[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2b3738;},_0x2b3738['toLocationSymbol']=function(_0x5d7dad){switch(_0x5d7dad){case _0x2b3738[_0x1a4e('0x248')]:return'e';case _0x2b3738['BOUNDARY']:return'b';case _0x2b3738[_0x1a4e('0x249')]:return'i';case _0x2b3738[_0x1a4e('0x24a')]:return'-';}throw new _0x3eb8a2(_0x1a4e('0x24b')+_0x5d7dad);},_0x3c65f2[_0x1a4e('0x249')][_0x1a4e('0x179')]=function(){return 0x0;},_0x3c65f2[_0x1a4e('0x24c')]['get']=function(){return 0x1;},_0x3c65f2[_0x1a4e('0x248')][_0x1a4e('0x179')]=function(){return 0x2;},_0x3c65f2['NONE'][_0x1a4e('0x179')]=function(){return-0x1;},Object[_0x1a4e('0x1c8')](_0x2b3738,_0x3c65f2);var _0x73c38a=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x233')]&&_0x5d7dad['interfaces_']()[_0x1a4e('0x3e')](_0x22b0c5)>-0x1;},_0x434036=function(){},_0x5ef58a={'LOG_10':{'configurable':!0x0}};_0x434036[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x434036[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x434036;},_0x434036['log10']=function(_0x5d7dad){var _0x22b0c5=Math['log'](_0x5d7dad);return _0x104610['isInfinite'](_0x22b0c5)?_0x22b0c5:_0x104610[_0x1a4e('0x231')](_0x22b0c5)?_0x22b0c5:_0x22b0c5/_0x434036[_0x1a4e('0x24d')];},_0x434036[_0x1a4e('0x74')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5d7dad;return _0x22b0c5<_0x81bc8f&&(_0x81bc8f=_0x22b0c5),_0x5ac9eb<_0x81bc8f&&(_0x81bc8f=_0x5ac9eb),_0x261805<_0x81bc8f&&(_0x81bc8f=_0x261805),_0x81bc8f;},_0x434036[_0x1a4e('0x24e')]=function(){if('number'==typeof arguments[0x2]&&'number'==typeof arguments[0x0]&&'number'==typeof arguments[0x1]){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2];return _0x5d7dad<_0x22b0c5?_0x22b0c5:_0x5d7dad>_0x5ac9eb?_0x5ac9eb:_0x5d7dad;}if(Number[_0x1a4e('0x22f')](arguments[0x2])&&Number[_0x1a4e('0x22f')](arguments[0x0])&&Number[_0x1a4e('0x22f')](arguments[0x1])){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1],_0x234f42=arguments[0x2];return _0x261805<_0x81bc8f?_0x81bc8f:_0x261805>_0x234f42?_0x234f42:_0x261805;}},_0x434036[_0x1a4e('0x24f')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad<0x0?_0x22b0c5- -_0x5d7dad%_0x22b0c5:_0x5d7dad%_0x22b0c5;},_0x434036[_0x1a4e('0x6c')]=function(){if(0x3===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2],_0x261805=_0x5d7dad;return _0x22b0c5>_0x261805&&(_0x261805=_0x22b0c5),_0x5ac9eb>_0x261805&&(_0x261805=_0x5ac9eb),_0x261805;}if(0x4===arguments['length']){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2],_0x1972c2=arguments[0x3],_0x3376f9=_0x81bc8f;return _0x234f42>_0x3376f9&&(_0x3376f9=_0x234f42),_0x153447>_0x3376f9&&(_0x3376f9=_0x153447),_0x1972c2>_0x3376f9&&(_0x3376f9=_0x1972c2),_0x3376f9;}},_0x434036[_0x1a4e('0x250')]=function(_0x5d7dad,_0x22b0c5){return(_0x5d7dad+_0x22b0c5)/0x2;},_0x5ef58a[_0x1a4e('0x24d')][_0x1a4e('0x179')]=function(){return Math['log'](0xa);},Object['defineProperties'](_0x434036,_0x5ef58a);var _0x2ee01c=function(_0x5d7dad){this[_0x1a4e('0x251')]=_0x5d7dad;};_0x2ee01c[_0x1a4e('0xa')][_0x1a4e('0x252')]=function(_0x5d7dad){this[_0x1a4e('0x251')]+=_0x5d7dad;},_0x2ee01c['prototype'][_0x1a4e('0x253')]=function(_0x5d7dad,_0x22b0c5){this['str']=this[_0x1a4e('0x251')][_0x1a4e('0x254')](0x0,_0x5d7dad)+_0x22b0c5+this[_0x1a4e('0x251')][_0x1a4e('0x254')](_0x5d7dad+0x1);},_0x2ee01c[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(_0x5d7dad){return this[_0x1a4e('0x251')];};var _0x2e5c34=function(_0x5d7dad){this[_0x1a4e('0x255')]=_0x5d7dad;};_0x2e5c34[_0x1a4e('0xa')]['intValue']=function(){return this[_0x1a4e('0x255')];},_0x2e5c34['prototype']['compareTo']=function(_0x5d7dad){return this[_0x1a4e('0x255')]<_0x5d7dad?-0x1:this['value']>_0x5d7dad?0x1:0x0;},_0x2e5c34[_0x1a4e('0x231')]=function(_0x5d7dad){return Number[_0x1a4e('0x231')](_0x5d7dad);};var _0x3ec013=function(){};_0x3ec013[_0x1a4e('0x256')]=function(_0x5d7dad){return _0x5d7dad<=0x20&&_0x5d7dad>=0x0||0x7f===_0x5d7dad;},_0x3ec013[_0x1a4e('0x257')]=function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x257')]();};var _0x3a0278=function _0x5d7dad(){if(this[_0x1a4e('0x258')]=0x0,this[_0x1a4e('0x259')]=0x0,0x0===arguments['length'])this[_0x1a4e('0x1fd')](0x0);else if(0x1===arguments[_0x1a4e('0x1e')]){if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0];this[_0x1a4e('0x1fd')](_0x22b0c5);}else if(arguments[0x0]instanceof _0x5d7dad){var _0x5ac9eb=arguments[0x0];this[_0x1a4e('0x1fd')](_0x5ac9eb);}else if('string'==typeof arguments[0x0]){var _0x261805=arguments[0x0];_0x5d7dad[_0x1a4e('0x1')](this,_0x5d7dad[_0x1a4e('0x25a')](_0x261805));}}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1];this[_0x1a4e('0x1fd')](_0x81bc8f,_0x234f42);}},_0xb83347={'PI':{'configurable':!0x0},'TWO_PI':{'configurable':!0x0},'PI_2':{'configurable':!0x0},'E':{'configurable':!0x0},'NaN':{'configurable':!0x0},'EPS':{'configurable':!0x0},'SPLIT':{'configurable':!0x0},'MAX_PRINT_DIGITS':{'configurable':!0x0},'TEN':{'configurable':!0x0},'ONE':{'configurable':!0x0},'SCI_NOT_EXPONENT_CHAR':{'configurable':!0x0},'SCI_NOT_ZERO':{'configurable':!0x0}};_0x3a0278['prototype']['le']=function(_0x5d7dad){return(this['_hi']<_0x5d7dad[_0x1a4e('0x258')]||this[_0x1a4e('0x258')]===_0x5d7dad[_0x1a4e('0x258')])&&this[_0x1a4e('0x259')]<=_0x5d7dad[_0x1a4e('0x259')];},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x25b')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=this[_0x1a4e('0x65')](),_0x261805=_0x3a0278[_0x1a4e('0x25c')](_0x5ac9eb[_0x1a4e('0x258')]),_0x81bc8f=_0x3a0278['TEN'][_0x1a4e('0x8e')](_0x261805);(_0x5ac9eb=_0x5ac9eb[_0x1a4e('0x25d')](_0x81bc8f))['gt'](_0x3a0278[_0x1a4e('0x25e')])?(_0x5ac9eb=_0x5ac9eb[_0x1a4e('0x25d')](_0x3a0278[_0x1a4e('0x25e')]),_0x261805+=0x1):_0x5ac9eb['lt'](_0x3a0278[_0x1a4e('0x25f')])&&(_0x5ac9eb=_0x5ac9eb[_0x1a4e('0x260')](_0x3a0278[_0x1a4e('0x25e')]),_0x261805-=0x1);for(var _0x234f42=_0x261805+0x1,_0x153447=new _0x2ee01c(),_0x1972c2=_0x3a0278[_0x1a4e('0x261')]-0x1,_0x3376f9=0x0;_0x3376f9<=_0x1972c2;_0x3376f9++){_0x5d7dad&&_0x3376f9===_0x234f42&&_0x153447[_0x1a4e('0x252')]('.');var _0x5dae0e=Math[_0x1a4e('0x232')](_0x5ac9eb['_hi']);if(_0x5dae0e<0x0)break;var _0x3d7f02=!0x1,_0x146559=0x0;_0x5dae0e>0x9?(_0x3d7f02=!0x0,_0x146559='9'):_0x146559='0'+_0x5dae0e,_0x153447['append'](_0x146559),_0x5ac9eb=_0x5ac9eb[_0x1a4e('0x262')](_0x3a0278[_0x1a4e('0x263')](_0x5dae0e))['multiply'](_0x3a0278[_0x1a4e('0x25e')]),_0x3d7f02&&_0x5ac9eb[_0x1a4e('0x264')](_0x3a0278['TEN']);var _0x184c89=!0x0,_0x4198ed=_0x3a0278[_0x1a4e('0x25c')](_0x5ac9eb[_0x1a4e('0x258')]);if(_0x4198ed<0x0&&Math[_0x1a4e('0x65')](_0x4198ed)>=_0x1972c2-_0x3376f9&&(_0x184c89=!0x1),!_0x184c89)break;}return _0x22b0c5[0x0]=_0x261805,_0x153447[_0x1a4e('0x95')]();},_0x3a0278[_0x1a4e('0xa')]['sqr']=function(){return this[_0x1a4e('0x260')](this);},_0x3a0278['prototype'][_0x1a4e('0x265')]=function(){return this[_0x1a4e('0x258')]+this[_0x1a4e('0x259')];},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x262')]=function(){if(arguments[0x0]instanceof _0x3a0278){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x177')](_0x5d7dad['negate']());}if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0];return this[_0x1a4e('0x177')](-_0x22b0c5);}},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x23e')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x258')]===_0x5d7dad[_0x1a4e('0x258')]&&this[_0x1a4e('0x259')]===_0x5d7dad[_0x1a4e('0x259')];}},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x266')]=function(){return 0x0===this[_0x1a4e('0x258')]&&0x0===this[_0x1a4e('0x259')];},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x267')]=function(){if(arguments[0x0]instanceof _0x3a0278){var _0x5d7dad=arguments[0x0];return this['isNaN']()?this:this[_0x1a4e('0x264')](-_0x5d7dad[_0x1a4e('0x258')],-_0x5d7dad[_0x1a4e('0x259')]);}if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0];return this[_0x1a4e('0x231')]()?this:this['selfAdd'](-_0x22b0c5,0x0);}},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x268')]=function(){return this['isZero']()?_0x1a4e('0x269'):this[_0x1a4e('0x231')]()?_0x1a4e('0x26a'):null;},_0x3a0278['prototype'][_0x1a4e('0x74')]=function(_0x5d7dad){return this['le'](_0x5d7dad)?this:_0x5d7dad;},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x26b')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){if(arguments[0x0]instanceof _0x3a0278){var _0x5d7dad=arguments[0x0];return this['selfDivide'](_0x5d7dad[_0x1a4e('0x258')],_0x5d7dad[_0x1a4e('0x259')]);}if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0];return this['selfDivide'](_0x22b0c5,0x0);}}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1],_0x81bc8f=null,_0x234f42=null,_0x153447=null,_0x1972c2=null,_0x3376f9=null,_0x5dae0e=null,_0x3d7f02=null,_0x146559=null;return _0x3376f9=this['_hi']/_0x5ac9eb,_0x146559=(_0x81bc8f=(_0x5dae0e=_0x3a0278[_0x1a4e('0x26c')]*_0x3376f9)-(_0x81bc8f=_0x5dae0e-_0x3376f9))*(_0x153447=(_0x146559=_0x3a0278['SPLIT']*_0x5ac9eb)-(_0x153447=_0x146559-_0x5ac9eb))-(_0x3d7f02=_0x3376f9*_0x5ac9eb)+_0x81bc8f*(_0x1972c2=_0x5ac9eb-_0x153447)+(_0x234f42=_0x3376f9-_0x81bc8f)*_0x153447+_0x234f42*_0x1972c2,_0x5dae0e=(this['_hi']-_0x3d7f02-_0x146559+this['_lo']-_0x3376f9*_0x261805)/_0x5ac9eb,_0x146559=_0x3376f9+_0x5dae0e,this[_0x1a4e('0x258')]=_0x146559,this['_lo']=_0x3376f9-_0x146559+_0x5dae0e,this;}},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x26d')]=function(){return'DD<'+this[_0x1a4e('0x258')]+',\x20'+this[_0x1a4e('0x259')]+'>';},_0x3a0278['prototype'][_0x1a4e('0x25d')]=function(){if(arguments[0x0]instanceof _0x3a0278){var _0x5d7dad=arguments[0x0],_0x22b0c5=null,_0x5ac9eb=null,_0x261805=null,_0x81bc8f=null,_0x234f42=null,_0x153447=null,_0x1972c2=null,_0x3376f9=null;return _0x5ac9eb=(_0x234f42=this[_0x1a4e('0x258')]/_0x5d7dad[_0x1a4e('0x258')])-(_0x22b0c5=(_0x153447=_0x3a0278[_0x1a4e('0x26c')]*_0x234f42)-(_0x22b0c5=_0x153447-_0x234f42)),_0x3376f9=_0x22b0c5*(_0x261805=(_0x3376f9=_0x3a0278[_0x1a4e('0x26c')]*_0x5d7dad[_0x1a4e('0x258')])-(_0x261805=_0x3376f9-_0x5d7dad['_hi']))-(_0x1972c2=_0x234f42*_0x5d7dad[_0x1a4e('0x258')])+_0x22b0c5*(_0x81bc8f=_0x5d7dad['_hi']-_0x261805)+_0x5ac9eb*_0x261805+_0x5ac9eb*_0x81bc8f,_0x153447=(this[_0x1a4e('0x258')]-_0x1972c2-_0x3376f9+this[_0x1a4e('0x259')]-_0x234f42*_0x5d7dad['_lo'])/_0x5d7dad['_hi'],new _0x3a0278(_0x3376f9=_0x234f42+_0x153447,_0x234f42-_0x3376f9+_0x153447);}if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x5dae0e=arguments[0x0];return _0x104610[_0x1a4e('0x231')](_0x5dae0e)?_0x3a0278[_0x1a4e('0x26e')]():_0x3a0278[_0x1a4e('0xea')](this)['selfDivide'](_0x5dae0e,0x0);}},_0x3a0278[_0x1a4e('0xa')]['ge']=function(_0x5d7dad){return(this['_hi']>_0x5d7dad[_0x1a4e('0x258')]||this['_hi']===_0x5d7dad[_0x1a4e('0x258')])&&this[_0x1a4e('0x259')]>=_0x5d7dad[_0x1a4e('0x259')];},_0x3a0278['prototype'][_0x1a4e('0x8e')]=function(_0x5d7dad){if(0x0===_0x5d7dad)return _0x3a0278[_0x1a4e('0x263')](0x1);var _0x22b0c5=new _0x3a0278(this),_0x5ac9eb=_0x3a0278['valueOf'](0x1),_0x261805=Math[_0x1a4e('0x65')](_0x5d7dad);if(_0x261805>0x1)for(;_0x261805>0x0;)_0x261805%0x2==0x1&&_0x5ac9eb[_0x1a4e('0x26f')](_0x22b0c5),(_0x261805/=0x2)>0x0&&(_0x22b0c5=_0x22b0c5['sqr']());else _0x5ac9eb=_0x22b0c5;return _0x5d7dad<0x0?_0x5ac9eb[_0x1a4e('0x270')]():_0x5ac9eb;},_0x3a0278['prototype'][_0x1a4e('0x6d')]=function(){if(this['isNaN']())return _0x3a0278[_0x1a4e('0x271')];var _0x5d7dad=Math[_0x1a4e('0x6d')](this[_0x1a4e('0x258')]),_0x22b0c5=0x0;return _0x5d7dad===this['_hi']&&(_0x22b0c5=Math[_0x1a4e('0x6d')](this[_0x1a4e('0x259')])),new _0x3a0278(_0x5d7dad,_0x22b0c5);},_0x3a0278['prototype']['compareTo']=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;return this['_hi']<_0x22b0c5[_0x1a4e('0x258')]?-0x1:this[_0x1a4e('0x258')]>_0x22b0c5['_hi']?0x1:this['_lo']<_0x22b0c5[_0x1a4e('0x259')]?-0x1:this[_0x1a4e('0x259')]>_0x22b0c5[_0x1a4e('0x259')]?0x1:0x0;},_0x3a0278[_0x1a4e('0xa')]['rint']=function(){return this['isNaN']()?this:this[_0x1a4e('0x177')](0.5)['floor']();},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x272')]=function(){if(arguments[0x0]instanceof _0x3a0278){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x1fd')](_0x5d7dad),this;}if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0];return this[_0x1a4e('0x1fd')](_0x22b0c5),this;}},_0x3a0278['prototype'][_0x1a4e('0x6c')]=function(_0x5d7dad){return this['ge'](_0x5d7dad)?this:_0x5d7dad;},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x91')]=function(){if(this['isZero']())return _0x3a0278['valueOf'](0x0);if(this[_0x1a4e('0x273')]())return _0x3a0278[_0x1a4e('0x271')];var _0x5d7dad=0x1/Math[_0x1a4e('0x91')](this[_0x1a4e('0x258')]),_0x22b0c5=this[_0x1a4e('0x258')]*_0x5d7dad,_0x5ac9eb=_0x3a0278['valueOf'](_0x22b0c5),_0x261805=this[_0x1a4e('0x262')](_0x5ac9eb[_0x1a4e('0x274')]())[_0x1a4e('0x258')]*(0.5*_0x5d7dad);return _0x5ac9eb[_0x1a4e('0x177')](_0x261805);},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x264')]=function(){if(0x1===arguments['length']){if(arguments[0x0]instanceof _0x3a0278){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x264')](_0x5d7dad['_hi'],_0x5d7dad['_lo']);}if('number'==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=null,_0x261805=null,_0x81bc8f=null,_0x234f42=null,_0x153447=null,_0x1972c2=null;return _0x81bc8f=this['_hi']+_0x22b0c5,_0x153447=_0x81bc8f-this[_0x1a4e('0x258')],_0x234f42=_0x81bc8f-_0x153447,_0x234f42=_0x22b0c5-_0x153447+(this[_0x1a4e('0x258')]-_0x234f42),_0x1972c2=_0x234f42+this[_0x1a4e('0x259')],_0x261805=_0x1972c2+(_0x81bc8f-(_0x5ac9eb=_0x81bc8f+_0x1972c2)),this[_0x1a4e('0x258')]=_0x5ac9eb+_0x261805,this['_lo']=_0x261805+(_0x5ac9eb-this[_0x1a4e('0x258')]),this;}}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x3376f9=arguments[0x0],_0x5dae0e=arguments[0x1],_0x3d7f02=null,_0x146559=null,_0x184c89=null,_0x4198ed=null,_0x41179c=null,_0x4eb09b=null,_0x39638f=null;_0x4198ed=this['_hi']+_0x3376f9,_0x146559=this['_lo']+_0x5dae0e,_0x41179c=_0x4198ed-(_0x4eb09b=_0x4198ed-this[_0x1a4e('0x258')]),_0x184c89=_0x146559-(_0x39638f=_0x146559-this[_0x1a4e('0x259')]);var _0x40b220=(_0x3d7f02=_0x4198ed+(_0x4eb09b=(_0x41179c=_0x3376f9-_0x4eb09b+(this[_0x1a4e('0x258')]-_0x41179c))+_0x146559))+(_0x4eb09b=(_0x184c89=_0x5dae0e-_0x39638f+(this[_0x1a4e('0x259')]-_0x184c89))+(_0x4eb09b+(_0x4198ed-_0x3d7f02))),_0x55366a=_0x4eb09b+(_0x3d7f02-_0x40b220);return this[_0x1a4e('0x258')]=_0x40b220,this[_0x1a4e('0x259')]=_0x55366a,this;}},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x26f')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){if(arguments[0x0]instanceof _0x3a0278){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x26f')](_0x5d7dad['_hi'],_0x5d7dad['_lo']);}if('number'==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0];return this[_0x1a4e('0x26f')](_0x22b0c5,0x0);}}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1],_0x81bc8f=null,_0x234f42=null,_0x153447=null,_0x1972c2=null,_0x3376f9=null,_0x5dae0e=null;_0x81bc8f=(_0x3376f9=_0x3a0278[_0x1a4e('0x26c')]*this[_0x1a4e('0x258')])-this[_0x1a4e('0x258')],_0x5dae0e=_0x3a0278[_0x1a4e('0x26c')]*_0x5ac9eb,_0x81bc8f=_0x3376f9-_0x81bc8f,_0x234f42=this[_0x1a4e('0x258')]-_0x81bc8f,_0x153447=_0x5dae0e-_0x5ac9eb;var _0x3d7f02=(_0x3376f9=this[_0x1a4e('0x258')]*_0x5ac9eb)+(_0x5dae0e=_0x81bc8f*(_0x153447=_0x5dae0e-_0x153447)-_0x3376f9+_0x81bc8f*(_0x1972c2=_0x5ac9eb-_0x153447)+_0x234f42*_0x153447+_0x234f42*_0x1972c2+(this[_0x1a4e('0x258')]*_0x261805+this[_0x1a4e('0x259')]*_0x5ac9eb)),_0x146559=_0x5dae0e+(_0x81bc8f=_0x3376f9-_0x3d7f02);return this[_0x1a4e('0x258')]=_0x3d7f02,this[_0x1a4e('0x259')]=_0x146559,this;}},_0x3a0278[_0x1a4e('0xa')]['selfSqr']=function(){return this[_0x1a4e('0x26f')](this);},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0xb4')]=function(){if(this['isNaN']())return _0x3a0278[_0x1a4e('0x271')];var _0x5d7dad=Math[_0x1a4e('0xb4')](this[_0x1a4e('0x258')]),_0x22b0c5=0x0;return _0x5d7dad===this['_hi']&&(_0x22b0c5=Math[_0x1a4e('0xb4')](this[_0x1a4e('0x259')])),new _0x3a0278(_0x5d7dad,_0x22b0c5);},_0x3a0278[_0x1a4e('0xa')]['negate']=function(){return this[_0x1a4e('0x231')]()?this:new _0x3a0278(-this['_hi'],-this['_lo']);},_0x3a0278['prototype']['clone']=function(){},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x260')]=function(){if(arguments[0x0]instanceof _0x3a0278){var _0x5d7dad=arguments[0x0];return _0x5d7dad[_0x1a4e('0x231')]()?_0x3a0278[_0x1a4e('0x26e')]():_0x3a0278[_0x1a4e('0xea')](this)['selfMultiply'](_0x5d7dad);}if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0];return _0x104610['isNaN'](_0x22b0c5)?_0x3a0278['createNaN']():_0x3a0278[_0x1a4e('0xea')](this)[_0x1a4e('0x26f')](_0x22b0c5,0x0);}},_0x3a0278['prototype'][_0x1a4e('0x231')]=function(){return _0x104610['isNaN'](this['_hi']);},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x275')]=function(){return Math[_0x1a4e('0x232')](this[_0x1a4e('0x258')]);},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){var _0x5d7dad=_0x3a0278[_0x1a4e('0x25c')](this[_0x1a4e('0x258')]);return _0x5d7dad>=-0x3&&_0x5d7dad<=0x14?this[_0x1a4e('0x276')]():this[_0x1a4e('0x277')]();},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x276')]=function(){var _0x5d7dad=this[_0x1a4e('0x268')]();if(null!==_0x5d7dad)return _0x5d7dad;var _0x22b0c5=new Array(0x1)[_0x1a4e('0x22c')](null),_0x5ac9eb=this[_0x1a4e('0x25b')](!0x0,_0x22b0c5),_0x261805=_0x22b0c5[0x0]+0x1,_0x81bc8f=_0x5ac9eb;if('.'===_0x5ac9eb[_0x1a4e('0x278')](0x0))_0x81bc8f='0'+_0x5ac9eb;else if(_0x261805<0x0)_0x81bc8f='0.'+_0x3a0278[_0x1a4e('0x279')]('0',-_0x261805)+_0x5ac9eb;else if(-0x1===_0x5ac9eb['indexOf']('.')){var _0x234f42=_0x261805-_0x5ac9eb[_0x1a4e('0x1e')];_0x81bc8f=_0x5ac9eb+_0x3a0278['stringOfChar']('0',_0x234f42)+'.0';}return this[_0x1a4e('0x273')]()?'-'+_0x81bc8f:_0x81bc8f;},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x270')]=function(){var _0x5d7dad=null,_0x22b0c5=null,_0x5ac9eb=null,_0x261805=null,_0x81bc8f=null,_0x234f42=null,_0x153447=null,_0x1972c2=null;_0x22b0c5=(_0x81bc8f=0x1/this[_0x1a4e('0x258')])-(_0x5d7dad=(_0x234f42=_0x3a0278[_0x1a4e('0x26c')]*_0x81bc8f)-(_0x5d7dad=_0x234f42-_0x81bc8f)),_0x5ac9eb=(_0x1972c2=_0x3a0278[_0x1a4e('0x26c')]*this[_0x1a4e('0x258')])-this[_0x1a4e('0x258')];var _0x3376f9=_0x81bc8f+(_0x234f42=(0x1-(_0x153447=_0x81bc8f*this[_0x1a4e('0x258')])-(_0x1972c2=_0x5d7dad*(_0x5ac9eb=_0x1972c2-_0x5ac9eb)-_0x153447+_0x5d7dad*(_0x261805=this[_0x1a4e('0x258')]-_0x5ac9eb)+_0x22b0c5*_0x5ac9eb+_0x22b0c5*_0x261805)-_0x81bc8f*this[_0x1a4e('0x259')])/this[_0x1a4e('0x258')]);return new _0x3a0278(_0x3376f9,_0x81bc8f-_0x3376f9+_0x234f42);},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x277')]=function(){if(this[_0x1a4e('0x266')]())return _0x3a0278[_0x1a4e('0x27a')];var _0x5d7dad=this[_0x1a4e('0x268')]();if(null!==_0x5d7dad)return _0x5d7dad;var _0x22b0c5=new Array(0x1)[_0x1a4e('0x22c')](null),_0x5ac9eb=this[_0x1a4e('0x25b')](!0x1,_0x22b0c5),_0x261805=_0x3a0278[_0x1a4e('0x27b')]+_0x22b0c5[0x0];if('0'===_0x5ac9eb['charAt'](0x0))throw new Error(_0x1a4e('0x27c')+_0x5ac9eb);var _0x81bc8f='';_0x5ac9eb['length']>0x1&&(_0x81bc8f=_0x5ac9eb['substring'](0x1));var _0x234f42=_0x5ac9eb[_0x1a4e('0x278')](0x0)+'.'+_0x81bc8f;return this[_0x1a4e('0x273')]()?'-'+_0x234f42+_0x261805:_0x234f42+_0x261805;},_0x3a0278[_0x1a4e('0xa')]['abs']=function(){return this['isNaN']()?_0x3a0278['NaN']:this[_0x1a4e('0x273')]()?this[_0x1a4e('0x27d')]():new _0x3a0278(this);},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x27e')]=function(){return(this[_0x1a4e('0x258')]>0x0||0x0===this[_0x1a4e('0x258')])&&this['_lo']>0x0;},_0x3a0278[_0x1a4e('0xa')]['lt']=function(_0x5d7dad){return(this[_0x1a4e('0x258')]<_0x5d7dad[_0x1a4e('0x258')]||this[_0x1a4e('0x258')]===_0x5d7dad[_0x1a4e('0x258')])&&this[_0x1a4e('0x259')]<_0x5d7dad[_0x1a4e('0x259')];},_0x3a0278['prototype'][_0x1a4e('0x177')]=function(){if(arguments[0x0]instanceof _0x3a0278){var _0x5d7dad=arguments[0x0];return _0x3a0278['copy'](this)['selfAdd'](_0x5d7dad);}if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0];return _0x3a0278['copy'](this)[_0x1a4e('0x264')](_0x22b0c5);}},_0x3a0278[_0x1a4e('0xa')]['init']=function(){if(0x1===arguments[_0x1a4e('0x1e')]){if('number'==typeof arguments[0x0]){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x258')]=_0x5d7dad,this[_0x1a4e('0x259')]=0x0;}else if(arguments[0x0]instanceof _0x3a0278){var _0x22b0c5=arguments[0x0];this['_hi']=_0x22b0c5[_0x1a4e('0x258')],this[_0x1a4e('0x259')]=_0x22b0c5[_0x1a4e('0x259')];}}else if(0x2===arguments['length']){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];this[_0x1a4e('0x258')]=_0x5ac9eb,this[_0x1a4e('0x259')]=_0x261805;}},_0x3a0278[_0x1a4e('0xa')]['gt']=function(_0x5d7dad){return(this[_0x1a4e('0x258')]>_0x5d7dad[_0x1a4e('0x258')]||this['_hi']===_0x5d7dad[_0x1a4e('0x258')])&&this['_lo']>_0x5d7dad[_0x1a4e('0x259')];},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x273')]=function(){return(this[_0x1a4e('0x258')]<0x0||0x0===this[_0x1a4e('0x258')])&&this[_0x1a4e('0x259')]<0x0;},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x232')]=function(){return this[_0x1a4e('0x231')]()?_0x3a0278[_0x1a4e('0x271')]:this[_0x1a4e('0x27e')]()?this[_0x1a4e('0xb4')]():this[_0x1a4e('0x6d')]();},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x27f')]=function(){return this['_hi']>0x0?0x1:this[_0x1a4e('0x258')]<0x0?-0x1:this[_0x1a4e('0x259')]>0x0?0x1:this['_lo']<0x0?-0x1:0x0;},_0x3a0278[_0x1a4e('0xa')]['interfaces_']=function(){return[_0x4ad42f,_0x65271,_0xf5a262];},_0x3a0278[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x3a0278;},_0x3a0278['sqr']=function(_0x5d7dad){return _0x3a0278[_0x1a4e('0x263')](_0x5d7dad)['selfMultiply'](_0x5d7dad);},_0x3a0278[_0x1a4e('0x263')]=function(){if(_0x1a4e('0x9')==typeof arguments[0x0]){var _0x5d7dad=arguments[0x0];return _0x3a0278['parse'](_0x5d7dad);}if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x22b0c5=arguments[0x0];return new _0x3a0278(_0x22b0c5);}},_0x3a0278[_0x1a4e('0x91')]=function(_0x5d7dad){return _0x3a0278[_0x1a4e('0x263')](_0x5d7dad)['sqrt']();},_0x3a0278['parse']=function(_0x5d7dad){for(var _0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x1e')];_0x3ec013['isWhitespace'](_0x5d7dad['charAt'](_0x22b0c5));)_0x22b0c5++;var _0x261805=!0x1;if(_0x22b0c5<_0x5ac9eb){var _0x81bc8f=_0x5d7dad[_0x1a4e('0x278')](_0x22b0c5);'-'!==_0x81bc8f&&'+'!==_0x81bc8f||(_0x22b0c5++,'-'===_0x81bc8f&&(_0x261805=!0x0));}for(var _0x234f42=new _0x3a0278(),_0x153447=0x0,_0x1972c2=0x0,_0x3376f9=0x0;!(_0x22b0c5>=_0x5ac9eb);){var _0x5dae0e=_0x5d7dad[_0x1a4e('0x278')](_0x22b0c5);if(_0x22b0c5++,_0x3ec013[_0x1a4e('0x280')](_0x5dae0e)){var _0x3d7f02=_0x5dae0e-'0';_0x234f42['selfMultiply'](_0x3a0278[_0x1a4e('0x25e')]),_0x234f42[_0x1a4e('0x264')](_0x3d7f02),_0x153447++;}else{if('.'!==_0x5dae0e){if('e'===_0x5dae0e||'E'===_0x5dae0e){var _0x146559=_0x5d7dad[_0x1a4e('0x281')](_0x22b0c5);try{_0x3376f9=_0x2e5c34[_0x1a4e('0x282')](_0x146559);}catch(_0x3f2fc1){throw _0x3f2fc1 instanceof Error?new Error(_0x1a4e('0x283')+_0x146559+_0x1a4e('0x284')+_0x5d7dad):_0x3f2fc1;}break;}throw new Error(_0x1a4e('0x285')+_0x5dae0e+_0x1a4e('0x286')+_0x22b0c5+_0x1a4e('0x284')+_0x5d7dad);}_0x1972c2=_0x153447;}}var _0x184c89=_0x234f42,_0x4198ed=_0x153447-_0x1972c2-_0x3376f9;if(0x0===_0x4198ed)_0x184c89=_0x234f42;else if(_0x4198ed>0x0){var _0x41179c=_0x3a0278[_0x1a4e('0x25e')]['pow'](_0x4198ed);_0x184c89=_0x234f42[_0x1a4e('0x25d')](_0x41179c);}else if(_0x4198ed<0x0){var _0x4eb09b=_0x3a0278['TEN'][_0x1a4e('0x8e')](-_0x4198ed);_0x184c89=_0x234f42[_0x1a4e('0x260')](_0x4eb09b);}return _0x261805?_0x184c89['negate']():_0x184c89;},_0x3a0278['createNaN']=function(){return new _0x3a0278(_0x104610[_0x1a4e('0x271')],_0x104610[_0x1a4e('0x271')]);},_0x3a0278[_0x1a4e('0xea')]=function(_0x5d7dad){return new _0x3a0278(_0x5d7dad);},_0x3a0278[_0x1a4e('0x25c')]=function(_0x5d7dad){var _0x22b0c5=Math[_0x1a4e('0x65')](_0x5d7dad),_0x5ac9eb=Math[_0x1a4e('0x58')](_0x22b0c5)/Math[_0x1a4e('0x58')](0xa),_0x261805=Math[_0x1a4e('0x232')](Math[_0x1a4e('0xb4')](_0x5ac9eb));return 0xa*Math[_0x1a4e('0x8e')](0xa,_0x261805)<=_0x22b0c5&&(_0x261805+=0x1),_0x261805;},_0x3a0278[_0x1a4e('0x279')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=new _0x2ee01c(),_0x261805=0x0;_0x261805<_0x22b0c5;_0x261805++)_0x5ac9eb[_0x1a4e('0x252')](_0x5d7dad);return _0x5ac9eb[_0x1a4e('0x95')]();},_0xb83347['PI'][_0x1a4e('0x179')]=function(){return new _0x3a0278(3.141592653589793,1.2246467991473532e-16);},_0xb83347[_0x1a4e('0x287')][_0x1a4e('0x179')]=function(){return new _0x3a0278(6.283185307179586,2.4492935982947064e-16);},_0xb83347[_0x1a4e('0x288')][_0x1a4e('0x179')]=function(){return new _0x3a0278(1.5707963267948966,6.123233995736766e-17);},_0xb83347['E']['get']=function(){return new _0x3a0278(2.718281828459045,1.4456468917292502e-16);},_0xb83347['NaN'][_0x1a4e('0x179')]=function(){return new _0x3a0278(_0x104610['NaN'],_0x104610['NaN']);},_0xb83347[_0x1a4e('0x289')][_0x1a4e('0x179')]=function(){return 1.23259516440783e-32;},_0xb83347['SPLIT']['get']=function(){return 0x8000001;},_0xb83347['MAX_PRINT_DIGITS'][_0x1a4e('0x179')]=function(){return 0x20;},_0xb83347[_0x1a4e('0x25e')][_0x1a4e('0x179')]=function(){return _0x3a0278['valueOf'](0xa);},_0xb83347[_0x1a4e('0x25f')][_0x1a4e('0x179')]=function(){return _0x3a0278[_0x1a4e('0x263')](0x1);},_0xb83347[_0x1a4e('0x27b')][_0x1a4e('0x179')]=function(){return'E';},_0xb83347['SCI_NOT_ZERO']['get']=function(){return _0x1a4e('0x28a');},Object[_0x1a4e('0x1c8')](_0x3a0278,_0xb83347);var _0x2dd5e7=function(){},_0x170058={'DP_SAFE_EPSILON':{'configurable':!0x0}};_0x2dd5e7[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x2dd5e7[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2dd5e7;},_0x2dd5e7['orientationIndex']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x2dd5e7[_0x1a4e('0x28b')](_0x5d7dad,_0x22b0c5,_0x5ac9eb);if(_0x261805<=0x1)return _0x261805;var _0x81bc8f=_0x3a0278[_0x1a4e('0x263')](_0x22b0c5['x'])[_0x1a4e('0x264')](-_0x5d7dad['x']),_0x234f42=_0x3a0278['valueOf'](_0x22b0c5['y'])[_0x1a4e('0x264')](-_0x5d7dad['y']),_0x153447=_0x3a0278['valueOf'](_0x5ac9eb['x'])[_0x1a4e('0x264')](-_0x22b0c5['x']),_0x1972c2=_0x3a0278['valueOf'](_0x5ac9eb['y'])[_0x1a4e('0x264')](-_0x22b0c5['y']);return _0x81bc8f[_0x1a4e('0x26f')](_0x1972c2)[_0x1a4e('0x267')](_0x234f42[_0x1a4e('0x26f')](_0x153447))['signum']();},_0x2dd5e7[_0x1a4e('0x28c')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){return _0x5d7dad[_0x1a4e('0x260')](_0x261805)[_0x1a4e('0x267')](_0x22b0c5[_0x1a4e('0x260')](_0x5ac9eb))[_0x1a4e('0x27f')]();},_0x2dd5e7[_0x1a4e('0x148')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x3a0278[_0x1a4e('0x263')](_0x261805['y'])['selfSubtract'](_0x5ac9eb['y'])[_0x1a4e('0x26f')](_0x3a0278[_0x1a4e('0x263')](_0x22b0c5['x'])[_0x1a4e('0x267')](_0x5d7dad['x'])),_0x234f42=_0x3a0278[_0x1a4e('0x263')](_0x261805['x'])[_0x1a4e('0x267')](_0x5ac9eb['x'])[_0x1a4e('0x26f')](_0x3a0278[_0x1a4e('0x263')](_0x22b0c5['y'])['selfSubtract'](_0x5d7dad['y'])),_0x153447=_0x81bc8f['subtract'](_0x234f42),_0x1972c2=_0x3a0278['valueOf'](_0x261805['x'])['selfSubtract'](_0x5ac9eb['x'])[_0x1a4e('0x26f')](_0x3a0278[_0x1a4e('0x263')](_0x5d7dad['y'])[_0x1a4e('0x267')](_0x5ac9eb['y'])),_0x3376f9=_0x3a0278[_0x1a4e('0x263')](_0x261805['y'])['selfSubtract'](_0x5ac9eb['y'])['selfMultiply'](_0x3a0278[_0x1a4e('0x263')](_0x5d7dad['x'])[_0x1a4e('0x267')](_0x5ac9eb['x'])),_0x5dae0e=_0x1972c2[_0x1a4e('0x262')](_0x3376f9)[_0x1a4e('0x26b')](_0x153447)[_0x1a4e('0x265')](),_0x3d7f02=_0x3a0278[_0x1a4e('0x263')](_0x5d7dad['x'])[_0x1a4e('0x264')](_0x3a0278[_0x1a4e('0x263')](_0x22b0c5['x'])['selfSubtract'](_0x5d7dad['x'])[_0x1a4e('0x26f')](_0x5dae0e))['doubleValue'](),_0x146559=_0x3a0278[_0x1a4e('0x263')](_0x22b0c5['x'])[_0x1a4e('0x267')](_0x5d7dad['x'])[_0x1a4e('0x26f')](_0x3a0278[_0x1a4e('0x263')](_0x5d7dad['y'])[_0x1a4e('0x267')](_0x5ac9eb['y'])),_0x184c89=_0x3a0278['valueOf'](_0x22b0c5['y'])[_0x1a4e('0x267')](_0x5d7dad['y'])[_0x1a4e('0x26f')](_0x3a0278['valueOf'](_0x5d7dad['x'])['selfSubtract'](_0x5ac9eb['x'])),_0x4198ed=_0x146559['subtract'](_0x184c89)[_0x1a4e('0x26b')](_0x153447)[_0x1a4e('0x265')](),_0x41179c=_0x3a0278[_0x1a4e('0x263')](_0x5ac9eb['y'])[_0x1a4e('0x264')](_0x3a0278[_0x1a4e('0x263')](_0x261805['y'])[_0x1a4e('0x267')](_0x5ac9eb['y'])[_0x1a4e('0x26f')](_0x4198ed))['doubleValue']();return new _0x517a0b(_0x3d7f02,_0x41179c);},_0x2dd5e7[_0x1a4e('0x28b')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=null,_0x81bc8f=(_0x5d7dad['x']-_0x5ac9eb['x'])*(_0x22b0c5['y']-_0x5ac9eb['y']),_0x234f42=(_0x5d7dad['y']-_0x5ac9eb['y'])*(_0x22b0c5['x']-_0x5ac9eb['x']),_0x153447=_0x81bc8f-_0x234f42;if(_0x81bc8f>0x0){if(_0x234f42<=0x0)return _0x2dd5e7[_0x1a4e('0x27f')](_0x153447);_0x261805=_0x81bc8f+_0x234f42;}else{if(!(_0x81bc8f<0x0))return _0x2dd5e7[_0x1a4e('0x27f')](_0x153447);if(_0x234f42>=0x0)return _0x2dd5e7[_0x1a4e('0x27f')](_0x153447);_0x261805=-_0x81bc8f-_0x234f42;}var _0x1972c2=_0x2dd5e7['DP_SAFE_EPSILON']*_0x261805;return _0x153447>=_0x1972c2||-_0x153447>=_0x1972c2?_0x2dd5e7[_0x1a4e('0x27f')](_0x153447):0x2;},_0x2dd5e7['signum']=function(_0x5d7dad){return _0x5d7dad>0x0?0x1:_0x5d7dad<0x0?-0x1:0x0;},_0x170058[_0x1a4e('0x28d')]['get']=function(){return 1e-15;},Object[_0x1a4e('0x1c8')](_0x2dd5e7,_0x170058);var _0x1550a2=function(){},_0x444429={'X':{'configurable':!0x0},'Y':{'configurable':!0x0},'Z':{'configurable':!0x0},'M':{'configurable':!0x0}};_0x444429['X'][_0x1a4e('0x179')]=function(){return 0x0;},_0x444429['Y'][_0x1a4e('0x179')]=function(){return 0x1;},_0x444429['Z'][_0x1a4e('0x179')]=function(){return 0x2;},_0x444429['M'][_0x1a4e('0x179')]=function(){return 0x3;},_0x1550a2[_0x1a4e('0xa')]['setOrdinate']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){},_0x1550a2[_0x1a4e('0xa')]['size']=function(){},_0x1550a2['prototype'][_0x1a4e('0x23d')]=function(_0x5d7dad,_0x22b0c5){},_0x1550a2[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(){},_0x1550a2['prototype'][_0x1a4e('0x28f')]=function(_0x5d7dad){},_0x1550a2[_0x1a4e('0xa')][_0x1a4e('0x290')]=function(){},_0x1550a2[_0x1a4e('0xa')]['getX']=function(_0x5d7dad){},_0x1550a2[_0x1a4e('0xa')]['clone']=function(){},_0x1550a2['prototype'][_0x1a4e('0x291')]=function(_0x5d7dad){},_0x1550a2[_0x1a4e('0xa')]['copy']=function(){},_0x1550a2[_0x1a4e('0xa')][_0x1a4e('0x292')]=function(_0x5d7dad){},_0x1550a2[_0x1a4e('0xa')][_0x1a4e('0x293')]=function(){},_0x1550a2['prototype'][_0x1a4e('0x233')]=function(){return[_0xf5a262];},_0x1550a2[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1550a2;},Object[_0x1a4e('0x1c8')](_0x1550a2,_0x444429);var _0x21d32a=function(){},_0x3e22be=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x1')](this,_0x1a4e('0x294'));}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad['prototype']),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x21d32a),_0x5b38f4=function(){};_0x5b38f4['arraycopy']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){for(var _0x234f42=0x0,_0x153447=_0x22b0c5;_0x153447<_0x22b0c5+_0x81bc8f;_0x153447++)_0x5ac9eb[_0x261805+_0x234f42]=_0x5d7dad[_0x153447],_0x234f42++;},_0x5b38f4['getProperty']=function(_0x5d7dad){return{'line.separator':'\x0a'}[_0x5d7dad];};var _0x42e1f7=function _0x5d7dad(){if(this['x']=null,this['y']=null,this['w']=null,0x0===arguments[_0x1a4e('0x1e')])this['x']=0x0,this['y']=0x0,this['w']=0x1;else if(0x1===arguments['length']){var _0x22b0c5=arguments[0x0];this['x']=_0x22b0c5['x'],this['y']=_0x22b0c5['y'],this['w']=0x1;}else if(0x2===arguments[_0x1a4e('0x1e')]){if(_0x1a4e('0x3d')==typeof arguments[0x0]&&_0x1a4e('0x3d')==typeof arguments[0x1]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];this['x']=_0x5ac9eb,this['y']=_0x261805,this['w']=0x1;}else if(arguments[0x0]instanceof _0x5d7dad&&arguments[0x1]instanceof _0x5d7dad){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1];this['x']=_0x81bc8f['y']*_0x234f42['w']-_0x234f42['y']*_0x81bc8f['w'],this['y']=_0x234f42['x']*_0x81bc8f['w']-_0x81bc8f['x']*_0x234f42['w'],this['w']=_0x81bc8f['x']*_0x234f42['y']-_0x234f42['x']*_0x81bc8f['y'];}else if(arguments[0x0]instanceof _0x517a0b&&arguments[0x1]instanceof _0x517a0b){var _0x153447=arguments[0x0],_0x1972c2=arguments[0x1];this['x']=_0x153447['y']-_0x1972c2['y'],this['y']=_0x1972c2['x']-_0x153447['x'],this['w']=_0x153447['x']*_0x1972c2['y']-_0x1972c2['x']*_0x153447['y'];}}else if(0x3===arguments[_0x1a4e('0x1e')]){var _0x3376f9=arguments[0x0],_0x5dae0e=arguments[0x1],_0x3d7f02=arguments[0x2];this['x']=_0x3376f9,this['y']=_0x5dae0e,this['w']=_0x3d7f02;}else if(0x4===arguments[_0x1a4e('0x1e')]){var _0x146559=arguments[0x0],_0x184c89=arguments[0x1],_0x4198ed=arguments[0x2],_0x41179c=arguments[0x3],_0x4eb09b=_0x146559['y']-_0x184c89['y'],_0x39638f=_0x184c89['x']-_0x146559['x'],_0x40b220=_0x146559['x']*_0x184c89['y']-_0x184c89['x']*_0x146559['y'],_0x55366a=_0x4198ed['y']-_0x41179c['y'],_0x527605=_0x41179c['x']-_0x4198ed['x'],_0x4b8927=_0x4198ed['x']*_0x41179c['y']-_0x41179c['x']*_0x4198ed['y'];this['x']=_0x39638f*_0x4b8927-_0x527605*_0x40b220,this['y']=_0x55366a*_0x40b220-_0x4eb09b*_0x4b8927,this['w']=_0x4eb09b*_0x527605-_0x55366a*_0x39638f;}};_0x42e1f7[_0x1a4e('0xa')][_0x1a4e('0x292')]=function(){var _0x5d7dad=this['y']/this['w'];if(_0x104610[_0x1a4e('0x231')](_0x5d7dad)||_0x104610[_0x1a4e('0x237')](_0x5d7dad))throw new _0x3e22be();return _0x5d7dad;},_0x42e1f7[_0x1a4e('0xa')][_0x1a4e('0x296')]=function(){var _0x5d7dad=this['x']/this['w'];if(_0x104610[_0x1a4e('0x231')](_0x5d7dad)||_0x104610['isInfinite'](_0x5d7dad))throw new _0x3e22be();return _0x5d7dad;},_0x42e1f7[_0x1a4e('0xa')]['getCoordinate']=function(){var _0x5d7dad=new _0x517a0b();return _0x5d7dad['x']=this[_0x1a4e('0x296')](),_0x5d7dad['y']=this[_0x1a4e('0x292')](),_0x5d7dad;},_0x42e1f7[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x42e1f7[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x42e1f7;},_0x42e1f7[_0x1a4e('0x148')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5d7dad['y']-_0x22b0c5['y'],_0x234f42=_0x22b0c5['x']-_0x5d7dad['x'],_0x153447=_0x5d7dad['x']*_0x22b0c5['y']-_0x22b0c5['x']*_0x5d7dad['y'],_0x1972c2=_0x5ac9eb['y']-_0x261805['y'],_0x3376f9=_0x261805['x']-_0x5ac9eb['x'],_0x5dae0e=_0x5ac9eb['x']*_0x261805['y']-_0x261805['x']*_0x5ac9eb['y'],_0x3d7f02=_0x81bc8f*_0x3376f9-_0x1972c2*_0x234f42,_0x146559=(_0x234f42*_0x5dae0e-_0x3376f9*_0x153447)/_0x3d7f02,_0x184c89=(_0x1972c2*_0x153447-_0x81bc8f*_0x5dae0e)/_0x3d7f02;if(_0x104610['isNaN'](_0x146559)||_0x104610[_0x1a4e('0x237')](_0x146559)||_0x104610['isNaN'](_0x184c89)||_0x104610['isInfinite'](_0x184c89))throw new _0x3e22be();return new _0x517a0b(_0x146559,_0x184c89);};var _0x322dd2=function _0x5d7dad(){if(this[_0x1a4e('0x297')]=null,this['_maxx']=null,this[_0x1a4e('0x298')]=null,this[_0x1a4e('0x299')]=null,0x0===arguments['length'])this[_0x1a4e('0x1fd')]();else if(0x1===arguments['length']){if(arguments[0x0]instanceof _0x517a0b){var _0x22b0c5=arguments[0x0];this[_0x1a4e('0x1fd')](_0x22b0c5['x'],_0x22b0c5['x'],_0x22b0c5['y'],_0x22b0c5['y']);}else if(arguments[0x0]instanceof _0x5d7dad){var _0x5ac9eb=arguments[0x0];this[_0x1a4e('0x1fd')](_0x5ac9eb);}}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1];this['init'](_0x261805['x'],_0x81bc8f['x'],_0x261805['y'],_0x81bc8f['y']);}else if(0x4===arguments[_0x1a4e('0x1e')]){var _0x234f42=arguments[0x0],_0x153447=arguments[0x1],_0x1972c2=arguments[0x2],_0x3376f9=arguments[0x3];this[_0x1a4e('0x1fd')](_0x234f42,_0x153447,_0x1972c2,_0x3376f9);}},_0xa06a2={'serialVersionUID':{'configurable':!0x0}};_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x29a')]=function(){return this[_0x1a4e('0x29b')]()*this[_0x1a4e('0x29c')]();},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x23e')]=function(_0x5d7dad){if(!(_0x5d7dad instanceof _0x322dd2))return!0x1;var _0x22b0c5=_0x5d7dad;return this[_0x1a4e('0x29d')]()?_0x22b0c5[_0x1a4e('0x29d')]():this['_maxx']===_0x22b0c5[_0x1a4e('0x29e')]()&&this[_0x1a4e('0x299')]===_0x22b0c5['getMaxY']()&&this['_minx']===_0x22b0c5[_0x1a4e('0x29f')]()&&this['_miny']===_0x22b0c5['getMinY']();},_0x322dd2[_0x1a4e('0xa')]['intersection']=function(_0x5d7dad){if(this['isNull']()||_0x5d7dad['isNull']()||!this['intersects'](_0x5d7dad))return new _0x322dd2();var _0x22b0c5=this[_0x1a4e('0x297')]>_0x5d7dad[_0x1a4e('0x297')]?this[_0x1a4e('0x297')]:_0x5d7dad['_minx'],_0x5ac9eb=this['_miny']>_0x5d7dad[_0x1a4e('0x298')]?this[_0x1a4e('0x298')]:_0x5d7dad['_miny'],_0x261805=this[_0x1a4e('0x2a0')]<_0x5d7dad['_maxx']?this[_0x1a4e('0x2a0')]:_0x5d7dad[_0x1a4e('0x2a0')],_0x81bc8f=this[_0x1a4e('0x299')]<_0x5d7dad[_0x1a4e('0x299')]?this[_0x1a4e('0x299')]:_0x5d7dad['_maxy'];return new _0x322dd2(_0x22b0c5,_0x261805,_0x5ac9eb,_0x81bc8f);},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x29d')]=function(){return this[_0x1a4e('0x2a0')]=this[_0x1a4e('0x297')]&&_0x22b0c5[_0x1a4e('0x29e')]()<=this[_0x1a4e('0x2a0')]&&_0x22b0c5[_0x1a4e('0x2a2')]()>=this['_miny']&&_0x22b0c5[_0x1a4e('0x2a3')]()<=this[_0x1a4e('0x299')];}}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];return!this['isNull']()&&_0x5ac9eb>=this[_0x1a4e('0x297')]&&_0x5ac9eb<=this['_maxx']&&_0x261805>=this[_0x1a4e('0x298')]&&_0x261805<=this[_0x1a4e('0x299')];}},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x2a4')]=function(){if(0x1===arguments['length']){if(arguments[0x0]instanceof _0x322dd2){var _0x5d7dad=arguments[0x0];return!this[_0x1a4e('0x29d')]()&&!_0x5d7dad['isNull']()&&!(_0x5d7dad[_0x1a4e('0x297')]>this[_0x1a4e('0x2a0')]||_0x5d7dad['_maxx']this[_0x1a4e('0x299')]||_0x5d7dad[_0x1a4e('0x299')]this['_maxx']||_0x5ac9ebthis[_0x1a4e('0x299')]||_0x261805this[_0x1a4e('0x2a0')]&&(this[_0x1a4e('0x2a0')]=_0x22b0c5[_0x1a4e('0x2a0')]),_0x22b0c5[_0x1a4e('0x298')]this[_0x1a4e('0x299')]&&(this[_0x1a4e('0x299')]=_0x22b0c5[_0x1a4e('0x299')]));}}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];this[_0x1a4e('0x29d')]()?(this['_minx']=_0x5ac9eb,this['_maxx']=_0x5ac9eb,this[_0x1a4e('0x298')]=_0x261805,this['_maxy']=_0x261805):(_0x5ac9ebthis[_0x1a4e('0x2a0')]&&(this[_0x1a4e('0x2a0')]=_0x5ac9eb),_0x261805this[_0x1a4e('0x299')]&&(this[_0x1a4e('0x299')]=_0x261805));}},_0x322dd2['prototype'][_0x1a4e('0x2a6')]=function(){if(this[_0x1a4e('0x29d')]())return 0x0;var _0x5d7dad=this[_0x1a4e('0x29b')](),_0x22b0c5=this[_0x1a4e('0x29c')]();return _0x5d7dad<_0x22b0c5?_0x5d7dad:_0x22b0c5;},_0x322dd2['prototype'][_0x1a4e('0x29b')]=function(){return this['isNull']()?0x0:this[_0x1a4e('0x2a0')]-this['_minx'];},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x2a7')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;return this[_0x1a4e('0x29d')]()?_0x22b0c5['isNull']()?0x0:-0x1:_0x22b0c5[_0x1a4e('0x29d')]()?0x1:this['_minx']<_0x22b0c5[_0x1a4e('0x297')]?-0x1:this[_0x1a4e('0x297')]>_0x22b0c5[_0x1a4e('0x297')]?0x1:this['_miny']<_0x22b0c5[_0x1a4e('0x298')]?-0x1:this[_0x1a4e('0x298')]>_0x22b0c5[_0x1a4e('0x298')]?0x1:this[_0x1a4e('0x2a0')]<_0x22b0c5[_0x1a4e('0x2a0')]?-0x1:this['_maxx']>_0x22b0c5[_0x1a4e('0x2a0')]?0x1:this['_maxy']<_0x22b0c5[_0x1a4e('0x299')]?-0x1:this['_maxy']>_0x22b0c5[_0x1a4e('0x299')]?0x1:0x0;},_0x322dd2[_0x1a4e('0xa')]['translate']=function(_0x5d7dad,_0x22b0c5){if(this[_0x1a4e('0x29d')]())return null;this[_0x1a4e('0x1fd')](this[_0x1a4e('0x29f')]()+_0x5d7dad,this[_0x1a4e('0x29e')]()+_0x5d7dad,this[_0x1a4e('0x2a2')]()+_0x22b0c5,this['getMaxY']()+_0x22b0c5);},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return'Env['+this[_0x1a4e('0x297')]+'\x20:\x20'+this['_maxx']+',\x20'+this[_0x1a4e('0x298')]+_0x1a4e('0x2a8')+this[_0x1a4e('0x299')]+']';},_0x322dd2[_0x1a4e('0xa')]['setToNull']=function(){this[_0x1a4e('0x297')]=0x0,this[_0x1a4e('0x2a0')]=-0x1,this['_miny']=0x0,this[_0x1a4e('0x299')]=-0x1;},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x29c')]=function(){return this[_0x1a4e('0x29d')]()?0x0:this[_0x1a4e('0x299')]-this['_miny'];},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x2a9')]=function(){if(this[_0x1a4e('0x29d')]())return 0x0;var _0x5d7dad=this[_0x1a4e('0x29b')](),_0x22b0c5=this['getHeight']();return _0x5d7dad>_0x22b0c5?_0x5d7dad:_0x22b0c5;},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x2aa')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x2aa')](_0x5d7dad,_0x5d7dad);}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];if(this[_0x1a4e('0x29d')]())return null;this[_0x1a4e('0x297')]-=_0x22b0c5,this['_maxx']+=_0x22b0c5,this[_0x1a4e('0x298')]-=_0x5ac9eb,this[_0x1a4e('0x299')]+=_0x5ac9eb,(this[_0x1a4e('0x297')]>this[_0x1a4e('0x2a0')]||this[_0x1a4e('0x298')]>this[_0x1a4e('0x299')])&&this[_0x1a4e('0x2ab')]();}},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x2ac')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){if(arguments[0x0]instanceof _0x322dd2){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x2a1')](_0x5d7dad);}if(arguments[0x0]instanceof _0x517a0b){var _0x22b0c5=arguments[0x0];return this['covers'](_0x22b0c5);}}else if(0x2===arguments['length']){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];return this[_0x1a4e('0x2a1')](_0x5ac9eb,_0x261805);}},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x2ad')]=function(){return this[_0x1a4e('0x29d')]()?null:new _0x517a0b((this['getMinX']()+this[_0x1a4e('0x29e')]())/0x2,(this[_0x1a4e('0x2a2')]()+this['getMaxY']())/0x2);},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){if(0x0===arguments[_0x1a4e('0x1e')])this['setToNull']();else if(0x1===arguments['length']){if(arguments[0x0]instanceof _0x517a0b){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x1fd')](_0x5d7dad['x'],_0x5d7dad['x'],_0x5d7dad['y'],_0x5d7dad['y']);}else if(arguments[0x0]instanceof _0x322dd2){var _0x22b0c5=arguments[0x0];this[_0x1a4e('0x297')]=_0x22b0c5[_0x1a4e('0x297')],this[_0x1a4e('0x2a0')]=_0x22b0c5[_0x1a4e('0x2a0')],this[_0x1a4e('0x298')]=_0x22b0c5[_0x1a4e('0x298')],this['_maxy']=_0x22b0c5[_0x1a4e('0x299')];}}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];this[_0x1a4e('0x1fd')](_0x5ac9eb['x'],_0x261805['x'],_0x5ac9eb['y'],_0x261805['y']);}else if(0x4===arguments[_0x1a4e('0x1e')]){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2],_0x1972c2=arguments[0x3];_0x81bc8f<_0x234f42?(this[_0x1a4e('0x297')]=_0x81bc8f,this['_maxx']=_0x234f42):(this[_0x1a4e('0x297')]=_0x234f42,this['_maxx']=_0x81bc8f),_0x153447<_0x1972c2?(this[_0x1a4e('0x298')]=_0x153447,this[_0x1a4e('0x299')]=_0x1972c2):(this[_0x1a4e('0x298')]=_0x1972c2,this['_maxy']=_0x153447);}},_0x322dd2['prototype'][_0x1a4e('0x2a3')]=function(){return this[_0x1a4e('0x299')];},_0x322dd2[_0x1a4e('0xa')]['distance']=function(_0x5d7dad){if(this[_0x1a4e('0x2a4')](_0x5d7dad))return 0x0;var _0x22b0c5=0x0;this[_0x1a4e('0x2a0')]<_0x5d7dad[_0x1a4e('0x297')]?_0x22b0c5=_0x5d7dad['_minx']-this['_maxx']:this[_0x1a4e('0x297')]>_0x5d7dad[_0x1a4e('0x2a0')]&&(_0x22b0c5=this['_minx']-_0x5d7dad[_0x1a4e('0x2a0')]);var _0x5ac9eb=0x0;return this['_maxy']<_0x5d7dad[_0x1a4e('0x298')]?_0x5ac9eb=_0x5d7dad[_0x1a4e('0x298')]-this[_0x1a4e('0x299')]:this['_miny']>_0x5d7dad[_0x1a4e('0x299')]&&(_0x5ac9eb=this[_0x1a4e('0x298')]-_0x5d7dad[_0x1a4e('0x299')]),0x0===_0x22b0c5?_0x5ac9eb:0x0===_0x5ac9eb?_0x22b0c5:Math[_0x1a4e('0x91')](_0x22b0c5*_0x22b0c5+_0x5ac9eb*_0x5ac9eb);},_0x322dd2['prototype']['hashCode']=function(){var _0x5d7dad=0x11;return _0x5d7dad=0x25*(_0x5d7dad=0x25*(_0x5d7dad=0x25*(_0x5d7dad=0x25*_0x5d7dad+_0x517a0b[_0x1a4e('0x242')](this[_0x1a4e('0x297')]))+_0x517a0b[_0x1a4e('0x242')](this[_0x1a4e('0x2a0')]))+_0x517a0b[_0x1a4e('0x242')](this[_0x1a4e('0x298')]))+_0x517a0b[_0x1a4e('0x242')](this[_0x1a4e('0x299')]);},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x65271,_0x4ad42f];},_0x322dd2[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x322dd2;},_0x322dd2[_0x1a4e('0x2a4')]=function(){if(0x3===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2];return _0x5ac9eb['x']>=(_0x5d7dad['x']<_0x22b0c5['x']?_0x5d7dad['x']:_0x22b0c5['x'])&&_0x5ac9eb['x']<=(_0x5d7dad['x']>_0x22b0c5['x']?_0x5d7dad['x']:_0x22b0c5['x'])&&_0x5ac9eb['y']>=(_0x5d7dad['y']<_0x22b0c5['y']?_0x5d7dad['y']:_0x22b0c5['y'])&&_0x5ac9eb['y']<=(_0x5d7dad['y']>_0x22b0c5['y']?_0x5d7dad['y']:_0x22b0c5['y']);}if(0x4===arguments[_0x1a4e('0x1e')]){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1],_0x234f42=arguments[0x2],_0x153447=arguments[0x3],_0x1972c2=Math[_0x1a4e('0x74')](_0x234f42['x'],_0x153447['x']),_0x3376f9=Math[_0x1a4e('0x6c')](_0x234f42['x'],_0x153447['x']),_0x5dae0e=Math['min'](_0x261805['x'],_0x81bc8f['x']),_0x3d7f02=Math[_0x1a4e('0x6c')](_0x261805['x'],_0x81bc8f['x']);return!(_0x5dae0e>_0x3376f9||_0x3d7f02<_0x1972c2||(_0x1972c2=Math[_0x1a4e('0x74')](_0x234f42['y'],_0x153447['y']),_0x3376f9=Math[_0x1a4e('0x6c')](_0x234f42['y'],_0x153447['y']),_0x5dae0e=Math[_0x1a4e('0x74')](_0x261805['y'],_0x81bc8f['y']),_0x3d7f02=Math[_0x1a4e('0x6c')](_0x261805['y'],_0x81bc8f['y']),_0x5dae0e>_0x3376f9||_0x3d7f02<_0x1972c2));}},_0xa06a2[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return 0x51845cd552189800;},Object[_0x1a4e('0x1c8')](_0x322dd2,_0xa06a2);var _0x5d6460={'typeStr':/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,'emptyTypeStr':/^\s*(\w+)\s*EMPTY\s*$/,'spaces':/\s+/,'parenComma':/\)\s*,\s*\(/,'doubleParenComma':/\)\s*\)\s*,\s*\(\s*\(/,'trimParens':/^\s*\(?(.*?)\)?\s*$/},_0x23961a=function(_0x5d7dad){this[_0x1a4e('0x2ae')]=_0x5d7dad||new _0x5b3e72();};_0x23961a[_0x1a4e('0xa')][_0x1a4e('0x144')]=function(_0x5d7dad){var _0x22b0c5,_0x5ac9eb,_0x261805;_0x5d7dad=_0x5d7dad[_0x1a4e('0x115')](/[\n\r]/g,'\x20');var _0x81bc8f=_0x5d6460['typeStr'][_0x1a4e('0x2af')](_0x5d7dad);if(-0x1!==_0x5d7dad[_0x1a4e('0x83')](_0x1a4e('0x2b0'))&&((_0x81bc8f=_0x5d6460[_0x1a4e('0x2b1')][_0x1a4e('0x2af')](_0x5d7dad))[0x2]=void 0x0),_0x81bc8f&&(_0x5ac9eb=_0x81bc8f[0x1][_0x1a4e('0x2b2')](),_0x261805=_0x81bc8f[0x2],_0x9127d0[_0x5ac9eb]&&(_0x22b0c5=_0x9127d0[_0x5ac9eb][_0x1a4e('0x8b')](this,[_0x261805]))),void 0x0===_0x22b0c5)throw new Error(_0x1a4e('0x2b3')+_0x5d7dad);return _0x22b0c5;},_0x23961a[_0x1a4e('0xa')][_0x1a4e('0x146')]=function(_0x5d7dad){return this['extractGeometry'](_0x5d7dad);},_0x23961a[_0x1a4e('0xa')][_0x1a4e('0x2b4')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad['getGeometryType']()[_0x1a4e('0x2b2')]();if(!_0x1d3746[_0x22b0c5])return null;var _0x5ac9eb=_0x22b0c5['toUpperCase']();return _0x5d7dad[_0x1a4e('0x149')]()?_0x5ac9eb+_0x1a4e('0x2b5'):_0x5ac9eb+'('+_0x1d3746[_0x22b0c5]['apply'](this,[_0x5d7dad])+')';};var _0x1d3746={'coordinate':function(_0x5d7dad){return _0x5d7dad['x']+'\x20'+_0x5d7dad['y'];},'point':function(_0x5d7dad){return _0x1d3746[_0x1a4e('0x2b6')][_0x1a4e('0x1')](this,_0x5d7dad['_coordinates']['_coordinates'][0x0]);},'multipoint':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0,_0x261805=_0x5d7dad['_geometries'][_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x22b0c5[_0x1a4e('0x46')]('('+_0x1d3746['point']['apply'](this,[_0x5d7dad[_0x1a4e('0x2b7')][_0x5ac9eb]])+')');return _0x22b0c5[_0x1a4e('0x9e')](',');},'linestring':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0,_0x261805=_0x5d7dad[_0x1a4e('0x2b8')][_0x1a4e('0x2b9')]['length'];_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x22b0c5[_0x1a4e('0x46')](_0x1d3746[_0x1a4e('0x2b6')]['apply'](this,[_0x5d7dad['_points'][_0x1a4e('0x2b9')][_0x5ac9eb]]));return _0x22b0c5[_0x1a4e('0x9e')](',');},'linearring':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0,_0x261805=_0x5d7dad[_0x1a4e('0x2b8')][_0x1a4e('0x2b9')][_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x22b0c5['push'](_0x1d3746['coordinate']['apply'](this,[_0x5d7dad[_0x1a4e('0x2b8')]['_coordinates'][_0x5ac9eb]]));return _0x22b0c5[_0x1a4e('0x9e')](',');},'multilinestring':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0,_0x261805=_0x5d7dad[_0x1a4e('0x2b7')][_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x22b0c5['push']('('+_0x1d3746['linestring'][_0x1a4e('0x8b')](this,[_0x5d7dad[_0x1a4e('0x2b7')][_0x5ac9eb]])+')');return _0x22b0c5[_0x1a4e('0x9e')](',');},'polygon':function(_0x5d7dad){var _0x22b0c5=[];_0x22b0c5[_0x1a4e('0x46')]('('+_0x1d3746[_0x1a4e('0x2ba')][_0x1a4e('0x8b')](this,[_0x5d7dad['_shell']])+')');for(var _0x5ac9eb=0x0,_0x261805=_0x5d7dad[_0x1a4e('0x2bb')][_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x22b0c5['push']('('+_0x1d3746[_0x1a4e('0x2ba')][_0x1a4e('0x8b')](this,[_0x5d7dad[_0x1a4e('0x2bb')][_0x5ac9eb]])+')');return _0x22b0c5['join'](',');},'multipolygon':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0,_0x261805=_0x5d7dad['_geometries'][_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x22b0c5['push']('('+_0x1d3746['polygon']['apply'](this,[_0x5d7dad[_0x1a4e('0x2b7')][_0x5ac9eb]])+')');return _0x22b0c5['join'](',');},'geometrycollection':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0,_0x261805=_0x5d7dad[_0x1a4e('0x2b7')][_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;++_0x5ac9eb)_0x22b0c5[_0x1a4e('0x46')](this[_0x1a4e('0x2b4')](_0x5d7dad['_geometries'][_0x5ac9eb]));return _0x22b0c5[_0x1a4e('0x9e')](',');}},_0x9127d0={'point':function(_0x5d7dad){if(void 0x0===_0x5d7dad)return this[_0x1a4e('0x2ae')][_0x1a4e('0x2bc')]();var _0x22b0c5=_0x5d7dad[_0x1a4e('0x2bd')]()[_0x1a4e('0x2be')](_0x5d6460[_0x1a4e('0x2bf')]);return this[_0x1a4e('0x2ae')]['createPoint'](new _0x517a0b(Number[_0x1a4e('0x230')](_0x22b0c5[0x0]),Number[_0x1a4e('0x230')](_0x22b0c5[0x1])));},'multipoint':function(_0x5d7dad){if(void 0x0===_0x5d7dad)return this[_0x1a4e('0x2ae')]['createMultiPoint']();for(var _0x22b0c5,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x2bd')]()[_0x1a4e('0x2be')](','),_0x261805=[],_0x81bc8f=0x0,_0x234f42=_0x5ac9eb[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f)_0x22b0c5=_0x5ac9eb[_0x81bc8f][_0x1a4e('0x115')](_0x5d6460[_0x1a4e('0x2c0')],'$1'),_0x261805[_0x1a4e('0x46')](_0x9127d0['point'][_0x1a4e('0x8b')](this,[_0x22b0c5]));return this['geometryFactory'][_0x1a4e('0x2c1')](_0x261805);},'linestring':function(_0x5d7dad){if(void 0x0===_0x5d7dad)return this['geometryFactory'][_0x1a4e('0x2c2')]();for(var _0x22b0c5,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x2bd')]()[_0x1a4e('0x2be')](','),_0x261805=[],_0x81bc8f=0x0,_0x234f42=_0x5ac9eb[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f)_0x22b0c5=_0x5ac9eb[_0x81bc8f]['trim']()[_0x1a4e('0x2be')](_0x5d6460['spaces']),_0x261805[_0x1a4e('0x46')](new _0x517a0b(Number['parseFloat'](_0x22b0c5[0x0]),Number[_0x1a4e('0x230')](_0x22b0c5[0x1])));return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c2')](_0x261805);},'linearring':function(_0x5d7dad){if(void 0x0===_0x5d7dad)return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c3')]();for(var _0x22b0c5,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x2bd')]()[_0x1a4e('0x2be')](','),_0x261805=[],_0x81bc8f=0x0,_0x234f42=_0x5ac9eb[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f)_0x22b0c5=_0x5ac9eb[_0x81bc8f][_0x1a4e('0x2bd')]()['split'](_0x5d6460[_0x1a4e('0x2bf')]),_0x261805[_0x1a4e('0x46')](new _0x517a0b(Number['parseFloat'](_0x22b0c5[0x0]),Number[_0x1a4e('0x230')](_0x22b0c5[0x1])));return this['geometryFactory'][_0x1a4e('0x2c3')](_0x261805);},'multilinestring':function(_0x5d7dad){if(void 0x0===_0x5d7dad)return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c4')]();for(var _0x22b0c5,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x2bd')]()['split'](_0x5d6460['parenComma']),_0x261805=[],_0x81bc8f=0x0,_0x234f42=_0x5ac9eb[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;++_0x81bc8f)_0x22b0c5=_0x5ac9eb[_0x81bc8f][_0x1a4e('0x115')](_0x5d6460['trimParens'],'$1'),_0x261805['push'](_0x9127d0['linestring'][_0x1a4e('0x8b')](this,[_0x22b0c5]));return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c4')](_0x261805);},'polygon':function(_0x5d7dad){if(void 0x0===_0x5d7dad)return this[_0x1a4e('0x2ae')]['createPolygon']();for(var _0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42=_0x5d7dad[_0x1a4e('0x2bd')]()[_0x1a4e('0x2be')](_0x5d6460[_0x1a4e('0x2c5')]),_0x153447=[],_0x1972c2=0x0,_0x3376f9=_0x234f42[_0x1a4e('0x1e')];_0x1972c2<_0x3376f9;++_0x1972c2)_0x22b0c5=_0x234f42[_0x1972c2][_0x1a4e('0x115')](_0x5d6460[_0x1a4e('0x2c0')],'$1'),_0x5ac9eb=_0x9127d0[_0x1a4e('0x2ba')]['apply'](this,[_0x22b0c5]),_0x261805=this[_0x1a4e('0x2ae')][_0x1a4e('0x2c3')](_0x5ac9eb[_0x1a4e('0x2b8')]),0x0===_0x1972c2?_0x81bc8f=_0x261805:_0x153447[_0x1a4e('0x46')](_0x261805);return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c6')](_0x81bc8f,_0x153447);},'multipolygon':function(_0x5d7dad){if(void 0x0===_0x5d7dad)return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c7')]();for(var _0x22b0c5,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x2bd')]()[_0x1a4e('0x2be')](_0x5d6460[_0x1a4e('0x2c8')]),_0x261805=[],_0x81bc8f=0x0,_0x234f42=_0x5ac9eb['length'];_0x81bc8f<_0x234f42;++_0x81bc8f)_0x22b0c5=_0x5ac9eb[_0x81bc8f]['replace'](_0x5d6460[_0x1a4e('0x2c0')],'$1'),_0x261805[_0x1a4e('0x46')](_0x9127d0[_0x1a4e('0xe7')][_0x1a4e('0x8b')](this,[_0x22b0c5]));return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c7')](_0x261805);},'geometrycollection':function(_0x5d7dad){if(void 0x0===_0x5d7dad)return this['geometryFactory']['createGeometryCollection']();for(var _0x22b0c5=(_0x5d7dad=_0x5d7dad[_0x1a4e('0x115')](/,\s*([A-Za-z])/g,'|$1'))[_0x1a4e('0x2bd')]()[_0x1a4e('0x2be')]('|'),_0x5ac9eb=[],_0x261805=0x0,_0x81bc8f=_0x22b0c5[_0x1a4e('0x1e')];_0x261805<_0x81bc8f;++_0x261805)_0x5ac9eb['push'](this[_0x1a4e('0x144')](_0x22b0c5[_0x261805]));return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c9')](_0x5ac9eb);}},_0x183e48=function(_0x5d7dad){this[_0x1a4e('0x2ca')]=new _0x23961a(_0x5d7dad);};_0x183e48['prototype'][_0x1a4e('0x146')]=function(_0x5d7dad){return this[_0x1a4e('0x2ca')]['write'](_0x5d7dad);},_0x183e48['toLineString']=function(_0x5d7dad,_0x22b0c5){if(0x2!==arguments[_0x1a4e('0x1e')])throw new Error('Not\x20implemented');return'LINESTRING\x20(\x20'+_0x5d7dad['x']+'\x20'+_0x5d7dad['y']+',\x20'+_0x22b0c5['x']+'\x20'+_0x22b0c5['y']+'\x20)';};var _0x16686e=function(_0x5d7dad){function _0x22b0c5(_0x22b0c5){_0x5d7dad[_0x1a4e('0x1')](this,_0x22b0c5),this[_0x1a4e('0x2cb')]=_0x1a4e('0x2cc'),this[_0x1a4e('0x133')]=_0x22b0c5,this[_0x1a4e('0x2cd')]=new _0x5d7dad()[_0x1a4e('0x2cd')];}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad['prototype']),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5;}(Error),_0x31784d=function(_0x5d7dad){function _0x22b0c5(){if(_0x5d7dad[_0x1a4e('0x1')](this),0x0===arguments[_0x1a4e('0x1e')])_0x5d7dad[_0x1a4e('0x1')](this);else if(0x1===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0];_0x5d7dad[_0x1a4e('0x1')](this,_0x22b0c5);}}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x16686e),_0x1e33dc=function(){};_0x1e33dc[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x1e33dc[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1e33dc;},_0x1e33dc[_0x1a4e('0x2ce')]=function(){if(0x0===arguments['length'])_0x1e33dc[_0x1a4e('0x2ce')](null);else if(0x1===arguments['length']){var _0x5d7dad=arguments[0x0];throw new _0x31784d(_0x1a4e('0x2cf')+(null!==_0x5d7dad?':\x20'+_0x5d7dad:''));}},_0x1e33dc[_0x1a4e('0x2d0')]=function(){var _0x5d7dad,_0x22b0c5;if(0x1===arguments['length'])_0x5d7dad=arguments[0x0],_0x1e33dc[_0x1a4e('0x2d0')](_0x5d7dad,null);else if(0x2===arguments[_0x1a4e('0x1e')]&&(_0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],!_0x5d7dad))throw null===_0x22b0c5?new _0x31784d():new _0x31784d(_0x22b0c5);},_0x1e33dc[_0x1a4e('0x23e')]=function(){var _0x5d7dad,_0x22b0c5,_0x5ac9eb;if(0x2===arguments['length'])_0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x1e33dc[_0x1a4e('0x23e')](_0x5d7dad,_0x22b0c5,null);else if(0x3===arguments[_0x1a4e('0x1e')]&&(_0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2],!_0x22b0c5[_0x1a4e('0x23e')](_0x5d7dad)))throw new _0x31784d(_0x1a4e('0x2d1')+_0x5d7dad+_0x1a4e('0x2d2')+_0x22b0c5+(null!==_0x5ac9eb?':\x20'+_0x5ac9eb:''));};var _0x498738=function(){this['_result']=null,this[_0x1a4e('0x2d3')]=Array(0x2)[_0x1a4e('0x22c')]()[_0x1a4e('0x21')](function(){return Array(0x2);}),this['_intPt']=new Array(0x2)[_0x1a4e('0x22c')](null),this[_0x1a4e('0x2d4')]=null,this[_0x1a4e('0x2d5')]=null,this[_0x1a4e('0x2d6')]=null,this[_0x1a4e('0x2d7')]=null,this[_0x1a4e('0x2d8')]=null,this[_0x1a4e('0x2d9')][0x0]=new _0x517a0b(),this[_0x1a4e('0x2d9')][0x1]=new _0x517a0b(),this['_pa']=this['_intPt'][0x0],this[_0x1a4e('0x2d7')]=this[_0x1a4e('0x2d9')][0x1],this[_0x1a4e('0x2da')]=0x0;},_0x2cff60={'DONT_INTERSECT':{'configurable':!0x0},'DO_INTERSECT':{'configurable':!0x0},'COLLINEAR':{'configurable':!0x0},'NO_INTERSECTION':{'configurable':!0x0},'POINT_INTERSECTION':{'configurable':!0x0},'COLLINEAR_INTERSECTION':{'configurable':!0x0}};_0x498738[_0x1a4e('0xa')][_0x1a4e('0x2db')]=function(_0x5d7dad,_0x22b0c5){return this[_0x1a4e('0x2dc')](),this[_0x1a4e('0x2d4')][_0x5d7dad][_0x22b0c5];},_0x498738[_0x1a4e('0xa')]['getTopologySummary']=function(){var _0x5d7dad=new _0x2ee01c();return this[_0x1a4e('0x2dd')]()&&_0x5d7dad[_0x1a4e('0x252')](_0x1a4e('0x2de')),this[_0x1a4e('0x2d5')]&&_0x5d7dad['append'](_0x1a4e('0x2df')),this['isCollinear']()&&_0x5d7dad[_0x1a4e('0x252')](_0x1a4e('0x2e0')),_0x5d7dad[_0x1a4e('0x95')]();},_0x498738[_0x1a4e('0xa')][_0x1a4e('0x2e1')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){this['_inputLines'][0x0][0x0]=_0x5d7dad,this[_0x1a4e('0x2d3')][0x0][0x1]=_0x22b0c5,this['_inputLines'][0x1][0x0]=_0x5ac9eb,this['_inputLines'][0x1][0x1]=_0x261805,this[_0x1a4e('0x2da')]=this[_0x1a4e('0x2e2')](_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805);},_0x498738[_0x1a4e('0xa')][_0x1a4e('0x2e3')]=function(){return this['_result'];},_0x498738[_0x1a4e('0xa')][_0x1a4e('0x2dc')]=function(){if(0x0===arguments[_0x1a4e('0x1e')])null===this[_0x1a4e('0x2d4')]&&(this[_0x1a4e('0x2d4')]=Array(0x2)[_0x1a4e('0x22c')]()[_0x1a4e('0x21')](function(){return Array(0x2);}),this[_0x1a4e('0x2dc')](0x0),this[_0x1a4e('0x2dc')](0x1));else if(0x1===arguments['length']){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x2e4')](_0x5d7dad,0x0)>this['getEdgeDistance'](_0x5d7dad,0x1)?(this[_0x1a4e('0x2d4')][_0x5d7dad][0x0]=0x0,this[_0x1a4e('0x2d4')][_0x5d7dad][0x1]=0x1):(this[_0x1a4e('0x2d4')][_0x5d7dad][0x0]=0x1,this[_0x1a4e('0x2d4')][_0x5d7dad][0x1]=0x0);}},_0x498738[_0x1a4e('0xa')][_0x1a4e('0x2e5')]=function(){return this[_0x1a4e('0x2e6')]()&&this[_0x1a4e('0x2d5')];},_0x498738['prototype'][_0x1a4e('0x2e7')]=function(_0x5d7dad){this['_precisionModel']=_0x5d7dad;},_0x498738[_0x1a4e('0xa')][_0x1a4e('0x2e8')]=function(){if(0x0===arguments['length'])return!!this[_0x1a4e('0x2e8')](0x0)||!!this[_0x1a4e('0x2e8')](0x1);if(0x1===arguments['length']){for(var _0x5d7dad=arguments[0x0],_0x22b0c5=0x0;_0x22b0c5_0x81bc8f?_0x261805:_0x81bc8f;else{var _0x153447=Math[_0x1a4e('0x65')](_0x5d7dad['x']-_0x22b0c5['x']),_0x1972c2=Math[_0x1a4e('0x65')](_0x5d7dad['y']-_0x22b0c5['y']);0x0!==(_0x234f42=_0x261805>_0x81bc8f?_0x153447:_0x1972c2)||_0x5d7dad[_0x1a4e('0x23e')](_0x22b0c5)||(_0x234f42=Math[_0x1a4e('0x6c')](_0x153447,_0x1972c2));}return _0x1e33dc[_0x1a4e('0x2d0')](!(0x0===_0x234f42&&!_0x5d7dad['equals'](_0x22b0c5)),_0x1a4e('0x2f4')),_0x234f42;},_0x498738[_0x1a4e('0x2f5')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad['x']-_0x22b0c5['x'],_0x81bc8f=_0x5d7dad['y']-_0x22b0c5['y'],_0x234f42=Math[_0x1a4e('0x91')](_0x261805*_0x261805+_0x81bc8f*_0x81bc8f);return _0x1e33dc[_0x1a4e('0x2d0')](!(0x0===_0x234f42&&!_0x5d7dad[_0x1a4e('0x23e')](_0x22b0c5)),_0x1a4e('0x2f6')),_0x234f42;},_0x2cff60[_0x1a4e('0x2f7')][_0x1a4e('0x179')]=function(){return 0x0;},_0x2cff60['DO_INTERSECT'][_0x1a4e('0x179')]=function(){return 0x1;},_0x2cff60[_0x1a4e('0x2f8')]['get']=function(){return 0x2;},_0x2cff60['NO_INTERSECTION'][_0x1a4e('0x179')]=function(){return 0x0;},_0x2cff60[_0x1a4e('0x2f9')][_0x1a4e('0x179')]=function(){return 0x1;},_0x2cff60[_0x1a4e('0x2ed')]['get']=function(){return 0x2;},Object['defineProperties'](_0x498738,_0x2cff60);var _0x21d54a=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x8b')](this,arguments);}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5['prototype'][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x2fa')]=function(_0x5d7dad){var _0x22b0c5=new _0x322dd2(this[_0x1a4e('0x2d3')][0x0][0x0],this['_inputLines'][0x0][0x1]),_0x5ac9eb=new _0x322dd2(this[_0x1a4e('0x2d3')][0x1][0x0],this['_inputLines'][0x1][0x1]);return _0x22b0c5[_0x1a4e('0x2ac')](_0x5d7dad)&&_0x5ac9eb[_0x1a4e('0x2ac')](_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x2e1')]=function(){if(0x3!==arguments[_0x1a4e('0x1e')])return _0x5d7dad['prototype']['computeIntersection'][_0x1a4e('0x8b')](this,arguments);var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=arguments[0x2];if(this['_isProper']=!0x1,_0x322dd2['intersects'](_0x5ac9eb,_0x261805,_0x22b0c5)&&0x0===_0x2a79ee[_0x1a4e('0x2fb')](_0x5ac9eb,_0x261805,_0x22b0c5)&&0x0===_0x2a79ee['orientationIndex'](_0x261805,_0x5ac9eb,_0x22b0c5))return this[_0x1a4e('0x2d5')]=!0x0,(_0x22b0c5['equals'](_0x5ac9eb)||_0x22b0c5[_0x1a4e('0x23e')](_0x261805))&&(this[_0x1a4e('0x2d5')]=!0x1),this[_0x1a4e('0x2da')]=_0x5d7dad[_0x1a4e('0x2f9')],null;this[_0x1a4e('0x2da')]=_0x5d7dad['NO_INTERSECTION'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x2fc')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){_0x81bc8f['x']=this[_0x1a4e('0x2fd')](_0x5d7dad['x'],_0x22b0c5['x'],_0x5ac9eb['x'],_0x261805['x']),_0x81bc8f['y']=this['smallestInAbsValue'](_0x5d7dad['y'],_0x22b0c5['y'],_0x5ac9eb['y'],_0x261805['y']),_0x5d7dad['x']-=_0x81bc8f['x'],_0x5d7dad['y']-=_0x81bc8f['y'],_0x22b0c5['x']-=_0x81bc8f['x'],_0x22b0c5['y']-=_0x81bc8f['y'],_0x5ac9eb['x']-=_0x81bc8f['x'],_0x5ac9eb['y']-=_0x81bc8f['y'],_0x261805['x']-=_0x81bc8f['x'],_0x261805['y']-=_0x81bc8f['y'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x2fe')]=function(_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=null;try{_0x234f42=_0x42e1f7['intersection'](_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f);}catch(_0x1f4923){if(!(_0x1f4923 instanceof _0x3e22be))throw _0x1f4923;_0x234f42=_0x22b0c5[_0x1a4e('0x2ff')](_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f);}return _0x234f42;},_0x22b0c5['prototype'][_0x1a4e('0x148')]=function(_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=this[_0x1a4e('0x300')](_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f);return this[_0x1a4e('0x2fa')](_0x234f42)||(_0x234f42=new _0x517a0b(_0x22b0c5[_0x1a4e('0x2ff')](_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f))),null!==this['_precisionModel']&&this['_precisionModel'][_0x1a4e('0x301')](_0x234f42),_0x234f42;},_0x22b0c5['prototype'][_0x1a4e('0x2fd')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5d7dad,_0x234f42=Math[_0x1a4e('0x65')](_0x81bc8f);return Math[_0x1a4e('0x65')](_0x22b0c5)<_0x234f42&&(_0x81bc8f=_0x22b0c5,_0x234f42=Math[_0x1a4e('0x65')](_0x22b0c5)),Math[_0x1a4e('0x65')](_0x5ac9eb)<_0x234f42&&(_0x81bc8f=_0x5ac9eb,_0x234f42=Math[_0x1a4e('0x65')](_0x5ac9eb)),Math[_0x1a4e('0x65')](_0x261805)<_0x234f42&&(_0x81bc8f=_0x261805),_0x81bc8f;},_0x22b0c5['prototype'][_0x1a4e('0x302')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=_0x2dd5e7[_0x1a4e('0x148')](_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805),_0x153447=this['isInSegmentEnvelopes'](_0x234f42);_0x5b38f4[_0x1a4e('0x303')][_0x1a4e('0x304')](_0x1a4e('0x305')+_0x153447+_0x1a4e('0x306')+_0x234f42),_0x81bc8f[_0x1a4e('0x1ed')](_0x234f42)>0.0001&&_0x5b38f4[_0x1a4e('0x303')]['println'](_0x1a4e('0x307')+_0x81bc8f['distance'](_0x234f42));},_0x22b0c5[_0x1a4e('0xa')]['intersectionWithNormalization']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=new _0x517a0b(_0x5d7dad),_0x234f42=new _0x517a0b(_0x22b0c5),_0x153447=new _0x517a0b(_0x5ac9eb),_0x1972c2=new _0x517a0b(_0x261805),_0x3376f9=new _0x517a0b();this[_0x1a4e('0x308')](_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9);var _0x5dae0e=this[_0x1a4e('0x2fe')](_0x81bc8f,_0x234f42,_0x153447,_0x1972c2);return _0x5dae0e['x']+=_0x3376f9['x'],_0x5dae0e['y']+=_0x3376f9['y'],_0x5dae0e;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x309')]=function(_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=_0x322dd2[_0x1a4e('0x2a4')](_0x22b0c5,_0x5ac9eb,_0x261805),_0x153447=_0x322dd2['intersects'](_0x22b0c5,_0x5ac9eb,_0x81bc8f),_0x1972c2=_0x322dd2[_0x1a4e('0x2a4')](_0x261805,_0x81bc8f,_0x22b0c5),_0x3376f9=_0x322dd2['intersects'](_0x261805,_0x81bc8f,_0x5ac9eb);return _0x234f42&&_0x153447?(this[_0x1a4e('0x2d9')][0x0]=_0x261805,this[_0x1a4e('0x2d9')][0x1]=_0x81bc8f,_0x5d7dad[_0x1a4e('0x2ed')]):_0x1972c2&&_0x3376f9?(this[_0x1a4e('0x2d9')][0x0]=_0x22b0c5,this[_0x1a4e('0x2d9')][0x1]=_0x5ac9eb,_0x5d7dad[_0x1a4e('0x2ed')]):_0x234f42&&_0x1972c2?(this['_intPt'][0x0]=_0x261805,this[_0x1a4e('0x2d9')][0x1]=_0x22b0c5,!_0x261805[_0x1a4e('0x23e')](_0x22b0c5)||_0x153447||_0x3376f9?_0x5d7dad[_0x1a4e('0x2ed')]:_0x5d7dad['POINT_INTERSECTION']):_0x234f42&&_0x3376f9?(this[_0x1a4e('0x2d9')][0x0]=_0x261805,this['_intPt'][0x1]=_0x5ac9eb,!_0x261805[_0x1a4e('0x23e')](_0x5ac9eb)||_0x153447||_0x1972c2?_0x5d7dad[_0x1a4e('0x2ed')]:_0x5d7dad[_0x1a4e('0x2f9')]):_0x153447&&_0x1972c2?(this['_intPt'][0x0]=_0x81bc8f,this[_0x1a4e('0x2d9')][0x1]=_0x22b0c5,!_0x81bc8f[_0x1a4e('0x23e')](_0x22b0c5)||_0x234f42||_0x3376f9?_0x5d7dad[_0x1a4e('0x2ed')]:_0x5d7dad[_0x1a4e('0x2f9')]):_0x153447&&_0x3376f9?(this[_0x1a4e('0x2d9')][0x0]=_0x81bc8f,this[_0x1a4e('0x2d9')][0x1]=_0x5ac9eb,!_0x81bc8f[_0x1a4e('0x23e')](_0x5ac9eb)||_0x234f42||_0x1972c2?_0x5d7dad[_0x1a4e('0x2ed')]:_0x5d7dad['POINT_INTERSECTION']):_0x5d7dad['NO_INTERSECTION'];},_0x22b0c5[_0x1a4e('0xa')]['normalizeToEnvCentre']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=_0x5d7dad['x']<_0x22b0c5['x']?_0x5d7dad['x']:_0x22b0c5['x'],_0x153447=_0x5d7dad['y']<_0x22b0c5['y']?_0x5d7dad['y']:_0x22b0c5['y'],_0x1972c2=_0x5d7dad['x']>_0x22b0c5['x']?_0x5d7dad['x']:_0x22b0c5['x'],_0x3376f9=_0x5d7dad['y']>_0x22b0c5['y']?_0x5d7dad['y']:_0x22b0c5['y'],_0x5dae0e=_0x5ac9eb['x']<_0x261805['x']?_0x5ac9eb['x']:_0x261805['x'],_0x3d7f02=_0x5ac9eb['y']<_0x261805['y']?_0x5ac9eb['y']:_0x261805['y'],_0x146559=_0x5ac9eb['x']>_0x261805['x']?_0x5ac9eb['x']:_0x261805['x'],_0x184c89=_0x5ac9eb['y']>_0x261805['y']?_0x5ac9eb['y']:_0x261805['y'],_0x4198ed=((_0x234f42>_0x5dae0e?_0x234f42:_0x5dae0e)+(_0x1972c2<_0x146559?_0x1972c2:_0x146559))/0x2,_0x41179c=((_0x153447>_0x3d7f02?_0x153447:_0x3d7f02)+(_0x3376f9<_0x184c89?_0x3376f9:_0x184c89))/0x2;_0x81bc8f['x']=_0x4198ed,_0x81bc8f['y']=_0x41179c,_0x5d7dad['x']-=_0x81bc8f['x'],_0x5d7dad['y']-=_0x81bc8f['y'],_0x22b0c5['x']-=_0x81bc8f['x'],_0x22b0c5['y']-=_0x81bc8f['y'],_0x5ac9eb['x']-=_0x81bc8f['x'],_0x5ac9eb['y']-=_0x81bc8f['y'],_0x261805['x']-=_0x81bc8f['x'],_0x261805['y']-=_0x81bc8f['y'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x2e2')]=function(_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){if(this['_isProper']=!0x1,!_0x322dd2[_0x1a4e('0x2a4')](_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f))return _0x5d7dad['NO_INTERSECTION'];var _0x234f42=_0x2a79ee[_0x1a4e('0x2fb')](_0x22b0c5,_0x5ac9eb,_0x261805),_0x153447=_0x2a79ee[_0x1a4e('0x2fb')](_0x22b0c5,_0x5ac9eb,_0x81bc8f);if(_0x234f42>0x0&&_0x153447>0x0||_0x234f42<0x0&&_0x153447<0x0)return _0x5d7dad['NO_INTERSECTION'];var _0x1972c2=_0x2a79ee[_0x1a4e('0x2fb')](_0x261805,_0x81bc8f,_0x22b0c5),_0x3376f9=_0x2a79ee[_0x1a4e('0x2fb')](_0x261805,_0x81bc8f,_0x5ac9eb);return _0x1972c2>0x0&&_0x3376f9>0x0||_0x1972c2<0x0&&_0x3376f9<0x0?_0x5d7dad[_0x1a4e('0x2ea')]:0x0===_0x234f42&&0x0===_0x153447&&0x0===_0x1972c2&&0x0===_0x3376f9?this[_0x1a4e('0x309')](_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f):(0x0===_0x234f42||0x0===_0x153447||0x0===_0x1972c2||0x0===_0x3376f9?(this[_0x1a4e('0x2d5')]=!0x1,_0x22b0c5[_0x1a4e('0x23b')](_0x261805)||_0x22b0c5['equals2D'](_0x81bc8f)?this[_0x1a4e('0x2d9')][0x0]=_0x22b0c5:_0x5ac9eb[_0x1a4e('0x23b')](_0x261805)||_0x5ac9eb[_0x1a4e('0x23b')](_0x81bc8f)?this[_0x1a4e('0x2d9')][0x0]=_0x5ac9eb:0x0===_0x234f42?this[_0x1a4e('0x2d9')][0x0]=new _0x517a0b(_0x261805):0x0===_0x153447?this[_0x1a4e('0x2d9')][0x0]=new _0x517a0b(_0x81bc8f):0x0===_0x1972c2?this[_0x1a4e('0x2d9')][0x0]=new _0x517a0b(_0x22b0c5):0x0===_0x3376f9&&(this[_0x1a4e('0x2d9')][0x0]=new _0x517a0b(_0x5ac9eb))):(this[_0x1a4e('0x2d5')]=!0x0,this[_0x1a4e('0x2d9')][0x0]=this[_0x1a4e('0x148')](_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f)),_0x5d7dad['POINT_INTERSECTION']);},_0x22b0c5[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5[_0x1a4e('0x2ff')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5d7dad,_0x234f42=_0x2a79ee[_0x1a4e('0x30a')](_0x5d7dad,_0x5ac9eb,_0x261805),_0x153447=_0x2a79ee[_0x1a4e('0x30a')](_0x22b0c5,_0x5ac9eb,_0x261805);return _0x153447<_0x234f42&&(_0x234f42=_0x153447,_0x81bc8f=_0x22b0c5),(_0x153447=_0x2a79ee[_0x1a4e('0x30a')](_0x5ac9eb,_0x5d7dad,_0x22b0c5))<_0x234f42&&(_0x234f42=_0x153447,_0x81bc8f=_0x5ac9eb),(_0x153447=_0x2a79ee[_0x1a4e('0x30a')](_0x261805,_0x5d7dad,_0x22b0c5))<_0x234f42&&(_0x234f42=_0x153447,_0x81bc8f=_0x261805),_0x81bc8f;},_0x22b0c5;}(_0x498738),_0x3b980e=function(){};_0x3b980e[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x3b980e['prototype'][_0x1a4e('0x234')]=function(){return _0x3b980e;},_0x3b980e[_0x1a4e('0x2fb')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5['x']-_0x5d7dad['x'],_0x81bc8f=_0x22b0c5['y']-_0x5d7dad['y'],_0x234f42=_0x5ac9eb['x']-_0x22b0c5['x'],_0x153447=_0x5ac9eb['y']-_0x22b0c5['y'];return _0x3b980e['signOfDet2x2'](_0x261805,_0x81bc8f,_0x234f42,_0x153447);},_0x3b980e[_0x1a4e('0x28c')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=null,_0x234f42=null,_0x153447=null;if(_0x81bc8f=0x1,0x0===_0x5d7dad||0x0===_0x261805)return 0x0===_0x22b0c5||0x0===_0x5ac9eb?0x0:_0x22b0c5>0x0?_0x5ac9eb>0x0?-_0x81bc8f:_0x81bc8f:_0x5ac9eb>0x0?_0x81bc8f:-_0x81bc8f;if(0x0===_0x22b0c5||0x0===_0x5ac9eb)return _0x261805>0x0?_0x5d7dad>0x0?_0x81bc8f:-_0x81bc8f:_0x5d7dad>0x0?-_0x81bc8f:_0x81bc8f;if(_0x22b0c5>0x0?_0x261805>0x0?_0x22b0c5<=_0x261805||(_0x81bc8f=-_0x81bc8f,_0x234f42=_0x5d7dad,_0x5d7dad=_0x5ac9eb,_0x5ac9eb=_0x234f42,_0x234f42=_0x22b0c5,_0x22b0c5=_0x261805,_0x261805=_0x234f42):_0x22b0c5<=-_0x261805?(_0x81bc8f=-_0x81bc8f,_0x5ac9eb=-_0x5ac9eb,_0x261805=-_0x261805):(_0x234f42=_0x5d7dad,_0x5d7dad=-_0x5ac9eb,_0x5ac9eb=_0x234f42,_0x234f42=_0x22b0c5,_0x22b0c5=-_0x261805,_0x261805=_0x234f42):_0x261805>0x0?-_0x22b0c5<=_0x261805?(_0x81bc8f=-_0x81bc8f,_0x5d7dad=-_0x5d7dad,_0x22b0c5=-_0x22b0c5):(_0x234f42=-_0x5d7dad,_0x5d7dad=_0x5ac9eb,_0x5ac9eb=_0x234f42,_0x234f42=-_0x22b0c5,_0x22b0c5=_0x261805,_0x261805=_0x234f42):_0x22b0c5>=_0x261805?(_0x5d7dad=-_0x5d7dad,_0x22b0c5=-_0x22b0c5,_0x5ac9eb=-_0x5ac9eb,_0x261805=-_0x261805):(_0x81bc8f=-_0x81bc8f,_0x234f42=-_0x5d7dad,_0x5d7dad=-_0x5ac9eb,_0x5ac9eb=_0x234f42,_0x234f42=-_0x22b0c5,_0x22b0c5=-_0x261805,_0x261805=_0x234f42),_0x5d7dad>0x0){if(!(_0x5ac9eb>0x0))return _0x81bc8f;if(!(_0x5d7dad<=_0x5ac9eb))return _0x81bc8f;}else{if(_0x5ac9eb>0x0)return-_0x81bc8f;if(!(_0x5d7dad>=_0x5ac9eb))return-_0x81bc8f;_0x81bc8f=-_0x81bc8f,_0x5d7dad=-_0x5d7dad,_0x5ac9eb=-_0x5ac9eb;}for(;;){if(_0x153447=Math['floor'](_0x5ac9eb/_0x5d7dad),_0x5ac9eb-=_0x153447*_0x5d7dad,(_0x261805-=_0x153447*_0x22b0c5)<0x0)return-_0x81bc8f;if(_0x261805>_0x22b0c5)return _0x81bc8f;if(_0x5d7dad>_0x5ac9eb+_0x5ac9eb){if(_0x22b0c5<_0x261805+_0x261805)return _0x81bc8f;}else{if(_0x22b0c5>_0x261805+_0x261805)return-_0x81bc8f;_0x5ac9eb=_0x5d7dad-_0x5ac9eb,_0x261805=_0x22b0c5-_0x261805,_0x81bc8f=-_0x81bc8f;}if(0x0===_0x261805)return 0x0===_0x5ac9eb?0x0:-_0x81bc8f;if(0x0===_0x5ac9eb)return _0x81bc8f;if(_0x153447=Math[_0x1a4e('0xb4')](_0x5d7dad/_0x5ac9eb),_0x5d7dad-=_0x153447*_0x5ac9eb,(_0x22b0c5-=_0x153447*_0x261805)<0x0)return _0x81bc8f;if(_0x22b0c5>_0x261805)return-_0x81bc8f;if(_0x5ac9eb>_0x5d7dad+_0x5d7dad){if(_0x261805<_0x22b0c5+_0x22b0c5)return-_0x81bc8f;}else{if(_0x261805>_0x22b0c5+_0x22b0c5)return _0x81bc8f;_0x5d7dad=_0x5ac9eb-_0x5d7dad,_0x22b0c5=_0x261805-_0x22b0c5,_0x81bc8f=-_0x81bc8f;}if(0x0===_0x22b0c5)return 0x0===_0x5d7dad?0x0:_0x81bc8f;if(0x0===_0x5d7dad)return-_0x81bc8f;}};var _0xba078e=function(){this['_p']=null,this[_0x1a4e('0x30b')]=0x0,this[_0x1a4e('0x30c')]=!0x1;var _0x5d7dad=arguments[0x0];this['_p']=_0x5d7dad;};_0xba078e['prototype']['countSegment']=function(_0x5d7dad,_0x22b0c5){if(_0x5d7dad['x']_0x261805&&(_0x5ac9eb=_0x22b0c5['x'],_0x261805=_0x5d7dad['x']),this['_p']['x']>=_0x5ac9eb&&this['_p']['x']<=_0x261805&&(this['_isPointOnSegment']=!0x0),null;}if(_0x5d7dad['y']>this['_p']['y']&&_0x22b0c5['y']<=this['_p']['y']||_0x22b0c5['y']>this['_p']['y']&&_0x5d7dad['y']<=this['_p']['y']){var _0x81bc8f=_0x5d7dad['x']-this['_p']['x'],_0x234f42=_0x5d7dad['y']-this['_p']['y'],_0x153447=_0x22b0c5['x']-this['_p']['x'],_0x1972c2=_0x22b0c5['y']-this['_p']['y'],_0x3376f9=_0x3b980e[_0x1a4e('0x28c')](_0x81bc8f,_0x234f42,_0x153447,_0x1972c2);if(0x0===_0x3376f9)return this[_0x1a4e('0x30c')]=!0x0,null;_0x1972c2<_0x234f42&&(_0x3376f9=-_0x3376f9),_0x3376f9>0x0&&this[_0x1a4e('0x30b')]++;}},_0xba078e[_0x1a4e('0xa')]['isPointInPolygon']=function(){return this[_0x1a4e('0x30d')]()!==_0x2b3738[_0x1a4e('0x248')];},_0xba078e[_0x1a4e('0xa')][_0x1a4e('0x30d')]=function(){return this[_0x1a4e('0x30c')]?_0x2b3738[_0x1a4e('0x24c')]:this['_crossingCount']%0x2==0x1?_0x2b3738['INTERIOR']:_0x2b3738[_0x1a4e('0x248')];},_0xba078e[_0x1a4e('0xa')]['isOnSegment']=function(){return this['_isPointOnSegment'];},_0xba078e[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0xba078e[_0x1a4e('0xa')]['getClass']=function(){return _0xba078e;},_0xba078e[_0x1a4e('0x30e')]=function(){if(arguments[0x0]instanceof _0x517a0b&&_0x73c38a(arguments[0x1],_0x1550a2)){for(var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=new _0xba078e(_0x5d7dad),_0x261805=new _0x517a0b(),_0x81bc8f=new _0x517a0b(),_0x234f42=0x1;_0x234f42<_0x22b0c5['size']();_0x234f42++)if(_0x22b0c5['getCoordinate'](_0x234f42,_0x261805),_0x22b0c5[_0x1a4e('0x28e')](_0x234f42-0x1,_0x81bc8f),_0x5ac9eb[_0x1a4e('0x30f')](_0x261805,_0x81bc8f),_0x5ac9eb['isOnSegment']())return _0x5ac9eb[_0x1a4e('0x30d')]();return _0x5ac9eb['getLocation']();}if(arguments[0x0]instanceof _0x517a0b&&arguments[0x1]instanceof Array){for(var _0x153447=arguments[0x0],_0x1972c2=arguments[0x1],_0x3376f9=new _0xba078e(_0x153447),_0x5dae0e=0x1;_0x5dae0e<_0x1972c2[_0x1a4e('0x1e')];_0x5dae0e++){var _0x3d7f02=_0x1972c2[_0x5dae0e],_0x146559=_0x1972c2[_0x5dae0e-0x1];if(_0x3376f9['countSegment'](_0x3d7f02,_0x146559),_0x3376f9['isOnSegment']())return _0x3376f9['getLocation']();}return _0x3376f9['getLocation']();}};var _0x2a79ee=function(){},_0x18086c={'CLOCKWISE':{'configurable':!0x0},'RIGHT':{'configurable':!0x0},'COUNTERCLOCKWISE':{'configurable':!0x0},'LEFT':{'configurable':!0x0},'COLLINEAR':{'configurable':!0x0},'STRAIGHT':{'configurable':!0x0}};_0x2a79ee[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x2a79ee[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2a79ee;},_0x2a79ee[_0x1a4e('0x2fb')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return _0x2dd5e7[_0x1a4e('0x2fb')](_0x5d7dad,_0x22b0c5,_0x5ac9eb);},_0x2a79ee[_0x1a4e('0x310')]=function(){if(arguments[0x0]instanceof Array){var _0x5d7dad=arguments[0x0];if(_0x5d7dad[_0x1a4e('0x1e')]<0x3)return 0x0;for(var _0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[0x0]['x'],_0x261805=0x1;_0x261805<_0x5d7dad[_0x1a4e('0x1e')]-0x1;_0x261805++){var _0x81bc8f=_0x5d7dad[_0x261805]['x']-_0x5ac9eb,_0x234f42=_0x5d7dad[_0x261805+0x1]['y'];_0x22b0c5+=_0x81bc8f*(_0x5d7dad[_0x261805-0x1]['y']-_0x234f42);}return _0x22b0c5/0x2;}if(_0x73c38a(arguments[0x0],_0x1550a2)){var _0x153447=arguments[0x0],_0x1972c2=_0x153447[_0x1a4e('0x220')]();if(_0x1972c2<0x3)return 0x0;var _0x3376f9=new _0x517a0b(),_0x5dae0e=new _0x517a0b(),_0x3d7f02=new _0x517a0b();_0x153447[_0x1a4e('0x28e')](0x0,_0x5dae0e),_0x153447[_0x1a4e('0x28e')](0x1,_0x3d7f02);var _0x146559=_0x5dae0e['x'];_0x3d7f02['x']-=_0x146559;for(var _0x184c89=0x0,_0x4198ed=0x1;_0x4198ed<_0x1972c2-0x1;_0x4198ed++)_0x3376f9['y']=_0x5dae0e['y'],_0x5dae0e['x']=_0x3d7f02['x'],_0x5dae0e['y']=_0x3d7f02['y'],_0x153447['getCoordinate'](_0x4198ed+0x1,_0x3d7f02),_0x3d7f02['x']-=_0x146559,_0x184c89+=_0x5dae0e['x']*(_0x3376f9['y']-_0x3d7f02['y']);return _0x184c89/0x2;}},_0x2a79ee[_0x1a4e('0x311')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(_0x5d7dad['equals'](_0x22b0c5))return _0x2a79ee[_0x1a4e('0x30a')](_0x5d7dad,_0x5ac9eb,_0x261805);if(_0x5ac9eb[_0x1a4e('0x23e')](_0x261805))return _0x2a79ee[_0x1a4e('0x30a')](_0x261805,_0x5d7dad,_0x22b0c5);var _0x81bc8f=!0x1;if(_0x322dd2['intersects'](_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805)){var _0x234f42=(_0x22b0c5['x']-_0x5d7dad['x'])*(_0x261805['y']-_0x5ac9eb['y'])-(_0x22b0c5['y']-_0x5d7dad['y'])*(_0x261805['x']-_0x5ac9eb['x']);if(0x0===_0x234f42)_0x81bc8f=!0x0;else{var _0x153447=(_0x5d7dad['y']-_0x5ac9eb['y'])*(_0x261805['x']-_0x5ac9eb['x'])-(_0x5d7dad['x']-_0x5ac9eb['x'])*(_0x261805['y']-_0x5ac9eb['y']),_0x1972c2=((_0x5d7dad['y']-_0x5ac9eb['y'])*(_0x22b0c5['x']-_0x5d7dad['x'])-(_0x5d7dad['x']-_0x5ac9eb['x'])*(_0x22b0c5['y']-_0x5d7dad['y']))/_0x234f42,_0x3376f9=_0x153447/_0x234f42;(_0x3376f9<0x0||_0x3376f9>0x1||_0x1972c2<0x0||_0x1972c2>0x1)&&(_0x81bc8f=!0x0);}}else _0x81bc8f=!0x0;return _0x81bc8f?_0x434036[_0x1a4e('0x74')](_0x2a79ee[_0x1a4e('0x30a')](_0x5d7dad,_0x5ac9eb,_0x261805),_0x2a79ee[_0x1a4e('0x30a')](_0x22b0c5,_0x5ac9eb,_0x261805),_0x2a79ee[_0x1a4e('0x30a')](_0x5ac9eb,_0x5d7dad,_0x22b0c5),_0x2a79ee[_0x1a4e('0x30a')](_0x261805,_0x5d7dad,_0x22b0c5)):0x0;},_0x2a79ee['isPointInRing']=function(_0x5d7dad,_0x22b0c5){return _0x2a79ee[_0x1a4e('0x30e')](_0x5d7dad,_0x22b0c5)!==_0x2b3738[_0x1a4e('0x248')];},_0x2a79ee[_0x1a4e('0x312')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x220')]();if(_0x22b0c5<=0x1)return 0x0;var _0x5ac9eb=0x0,_0x261805=new _0x517a0b();_0x5d7dad['getCoordinate'](0x0,_0x261805);for(var _0x81bc8f=_0x261805['x'],_0x234f42=_0x261805['y'],_0x153447=0x1;_0x153447<_0x22b0c5;_0x153447++){_0x5d7dad[_0x1a4e('0x28e')](_0x153447,_0x261805);var _0x1972c2=_0x261805['x'],_0x3376f9=_0x261805['y'],_0x5dae0e=_0x1972c2-_0x81bc8f,_0x3d7f02=_0x3376f9-_0x234f42;_0x5ac9eb+=Math[_0x1a4e('0x91')](_0x5dae0e*_0x5dae0e+_0x3d7f02*_0x3d7f02),_0x81bc8f=_0x1972c2,_0x234f42=_0x3376f9;}return _0x5ac9eb;},_0x2a79ee[_0x1a4e('0x313')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x1e')]-0x1;if(_0x22b0c5<0x3)throw new _0x3eb8a2(_0x1a4e('0x314'));for(var _0x5ac9eb=_0x5d7dad[0x0],_0x261805=0x0,_0x81bc8f=0x1;_0x81bc8f<=_0x22b0c5;_0x81bc8f++){var _0x234f42=_0x5d7dad[_0x81bc8f];_0x234f42['y']>_0x5ac9eb['y']&&(_0x5ac9eb=_0x234f42,_0x261805=_0x81bc8f);}var _0x153447=_0x261805;do{(_0x153447-=0x1)<0x0&&(_0x153447=_0x22b0c5);}while(_0x5d7dad[_0x153447][_0x1a4e('0x23b')](_0x5ac9eb)&&_0x153447!==_0x261805);var _0x1972c2=_0x261805;do{_0x1972c2=(_0x1972c2+0x1)%_0x22b0c5;}while(_0x5d7dad[_0x1972c2]['equals2D'](_0x5ac9eb)&&_0x1972c2!==_0x261805);var _0x3376f9=_0x5d7dad[_0x153447],_0x5dae0e=_0x5d7dad[_0x1972c2];if(_0x3376f9['equals2D'](_0x5ac9eb)||_0x5dae0e[_0x1a4e('0x23b')](_0x5ac9eb)||_0x3376f9[_0x1a4e('0x23b')](_0x5dae0e))return!0x1;var _0x3d7f02=_0x2a79ee[_0x1a4e('0x315')](_0x3376f9,_0x5ac9eb,_0x5dae0e);return 0x0===_0x3d7f02?_0x3376f9['x']>_0x5dae0e['x']:_0x3d7f02>0x0;},_0x2a79ee[_0x1a4e('0x30e')]=function(_0x5d7dad,_0x22b0c5){return _0xba078e[_0x1a4e('0x30e')](_0x5d7dad,_0x22b0c5);},_0x2a79ee['distancePointLinePerpendicular']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=(_0x5ac9eb['x']-_0x22b0c5['x'])*(_0x5ac9eb['x']-_0x22b0c5['x'])+(_0x5ac9eb['y']-_0x22b0c5['y'])*(_0x5ac9eb['y']-_0x22b0c5['y']),_0x81bc8f=((_0x22b0c5['y']-_0x5d7dad['y'])*(_0x5ac9eb['x']-_0x22b0c5['x'])-(_0x22b0c5['x']-_0x5d7dad['x'])*(_0x5ac9eb['y']-_0x22b0c5['y']))/_0x261805;return Math[_0x1a4e('0x65')](_0x81bc8f)*Math[_0x1a4e('0x91')](_0x261805);},_0x2a79ee[_0x1a4e('0x315')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return _0x2a79ee[_0x1a4e('0x2fb')](_0x5d7dad,_0x22b0c5,_0x5ac9eb);},_0x2a79ee[_0x1a4e('0x30a')]=function(){if(0x2===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];if(0x0===_0x22b0c5['length'])throw new _0x3eb8a2('Line\x20array\x20must\x20contain\x20at\x20least\x20one\x20vertex');for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x1ed')](_0x22b0c5[0x0]),_0x261805=0x0;_0x261805<_0x22b0c5[_0x1a4e('0x1e')]-0x1;_0x261805++){var _0x81bc8f=_0x2a79ee[_0x1a4e('0x30a')](_0x5d7dad,_0x22b0c5[_0x261805],_0x22b0c5[_0x261805+0x1]);_0x81bc8f<_0x5ac9eb&&(_0x5ac9eb=_0x81bc8f);}return _0x5ac9eb;}if(0x3===arguments[_0x1a4e('0x1e')]){var _0x234f42=arguments[0x0],_0x153447=arguments[0x1],_0x1972c2=arguments[0x2];if(_0x153447['x']===_0x1972c2['x']&&_0x153447['y']===_0x1972c2['y'])return _0x234f42[_0x1a4e('0x1ed')](_0x153447);var _0x3376f9=(_0x1972c2['x']-_0x153447['x'])*(_0x1972c2['x']-_0x153447['x'])+(_0x1972c2['y']-_0x153447['y'])*(_0x1972c2['y']-_0x153447['y']),_0x5dae0e=((_0x234f42['x']-_0x153447['x'])*(_0x1972c2['x']-_0x153447['x'])+(_0x234f42['y']-_0x153447['y'])*(_0x1972c2['y']-_0x153447['y']))/_0x3376f9;if(_0x5dae0e<=0x0)return _0x234f42[_0x1a4e('0x1ed')](_0x153447);if(_0x5dae0e>=0x1)return _0x234f42[_0x1a4e('0x1ed')](_0x1972c2);var _0x3d7f02=((_0x153447['y']-_0x234f42['y'])*(_0x1972c2['x']-_0x153447['x'])-(_0x153447['x']-_0x234f42['x'])*(_0x1972c2['y']-_0x153447['y']))/_0x3376f9;return Math[_0x1a4e('0x65')](_0x3d7f02)*Math[_0x1a4e('0x91')](_0x3376f9);}},_0x2a79ee[_0x1a4e('0x316')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=new _0x21d54a(),_0x261805=0x1;_0x261805<_0x22b0c5[_0x1a4e('0x1e')];_0x261805++){var _0x81bc8f=_0x22b0c5[_0x261805-0x1],_0x234f42=_0x22b0c5[_0x261805];if(_0x5ac9eb[_0x1a4e('0x2e1')](_0x5d7dad,_0x81bc8f,_0x234f42),_0x5ac9eb[_0x1a4e('0x2e6')]())return!0x0;}return!0x1;},_0x18086c[_0x1a4e('0x317')][_0x1a4e('0x179')]=function(){return-0x1;},_0x18086c[_0x1a4e('0x318')]['get']=function(){return _0x2a79ee[_0x1a4e('0x317')];},_0x18086c['COUNTERCLOCKWISE'][_0x1a4e('0x179')]=function(){return 0x1;},_0x18086c['LEFT'][_0x1a4e('0x179')]=function(){return _0x2a79ee[_0x1a4e('0x319')];},_0x18086c[_0x1a4e('0x2f8')][_0x1a4e('0x179')]=function(){return 0x0;},_0x18086c[_0x1a4e('0x31a')][_0x1a4e('0x179')]=function(){return _0x2a79ee[_0x1a4e('0x2f8')];},Object[_0x1a4e('0x1c8')](_0x2a79ee,_0x18086c);var _0x5a98d6=function(){};_0x5a98d6[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad){},_0x5a98d6[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x5a98d6[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x5a98d6;};var _0x25c10a=function(){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x31b')]=null,this[_0x1a4e('0x31c')]=null,this[_0x1a4e('0x31d')]=null,this[_0x1a4e('0x31e')]=null,this['_factory']=_0x5d7dad,this['_SRID']=_0x5d7dad['getSRID']();},_0x457f07={'serialVersionUID':{'configurable':!0x0},'SORTINDEX_POINT':{'configurable':!0x0},'SORTINDEX_MULTIPOINT':{'configurable':!0x0},'SORTINDEX_LINESTRING':{'configurable':!0x0},'SORTINDEX_LINEARRING':{'configurable':!0x0},'SORTINDEX_MULTILINESTRING':{'configurable':!0x0},'SORTINDEX_POLYGON':{'configurable':!0x0},'SORTINDEX_MULTIPOLYGON':{'configurable':!0x0},'SORTINDEX_GEOMETRYCOLLECTION':{'configurable':!0x0},'geometryChangedFilter':{'configurable':!0x0}};_0x25c10a['prototype'][_0x1a4e('0x31f')]=function(){return this[_0x1a4e('0x320')]()===_0x25c10a[_0x1a4e('0x321')];},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x322')]=function(){return this[_0x1a4e('0x31c')];},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x323')]=function(_0x5d7dad){return this;},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x29a')]=function(){return 0x0;},_0x25c10a[_0x1a4e('0xa')]['isRectangle']=function(){return!0x1;},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x23e')]=function(){if(arguments[0x0]instanceof _0x25c10a){var _0x5d7dad=arguments[0x0];return null!==_0x5d7dad&&this[_0x1a4e('0x324')](_0x5d7dad);}if(arguments[0x0]instanceof Object){var _0x22b0c5=arguments[0x0];if(!(_0x22b0c5 instanceof _0x25c10a))return!0x1;var _0x5ac9eb=_0x22b0c5;return this[_0x1a4e('0x325')](_0x5ac9eb);}},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x325')]=function(_0x5d7dad){return this===_0x5d7dad||this[_0x1a4e('0x325')](_0x5d7dad,0x0);},_0x25c10a['prototype'][_0x1a4e('0x326')]=function(){this[_0x1a4e('0x8b')](_0x25c10a['geometryChangedFilter']);},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x327')]=function(){this['_envelope']=null;},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x328')]=function(_0x5d7dad){return null!==_0x5d7dad&&this[_0x1a4e('0x329')]()[_0x1a4e('0x325')](_0x5d7dad[_0x1a4e('0x329')]());},_0x25c10a['prototype'][_0x1a4e('0x32a')]=function(){return 0x0;},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x32b')]=function(){return 0x1;},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x2a7')]=function(){if(0x1===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=_0x5d7dad;return this['getSortIndex']()!==_0x22b0c5[_0x1a4e('0x320')]()?this[_0x1a4e('0x320')]()-_0x22b0c5[_0x1a4e('0x320')]():this[_0x1a4e('0x149')]()&&_0x22b0c5['isEmpty']()?0x0:this[_0x1a4e('0x149')]()?-0x1:_0x22b0c5[_0x1a4e('0x149')]()?0x1:this['compareToSameClass'](_0x5d7dad);}if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];return this[_0x1a4e('0x320')]()!==_0x5ac9eb[_0x1a4e('0x320')]()?this[_0x1a4e('0x320')]()-_0x5ac9eb[_0x1a4e('0x320')]():this[_0x1a4e('0x149')]()&&_0x5ac9eb['isEmpty']()?0x0:this[_0x1a4e('0x149')]()?-0x1:_0x5ac9eb[_0x1a4e('0x149')]()?0x1:this['compareToSameClass'](_0x5ac9eb,_0x261805);}},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x32c')]=function(){return this['_userData'];},_0x25c10a[_0x1a4e('0xa')]['getSRID']=function(){return this[_0x1a4e('0x31d')];},_0x25c10a['prototype'][_0x1a4e('0x1c6')]=function(){return this[_0x1a4e('0x322')]()[_0x1a4e('0x32d')](this[_0x1a4e('0x32e')]());},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x32f')]=function(_0x5d7dad){if(_0x5d7dad[_0x1a4e('0x320')]()===_0x25c10a['SORTINDEX_GEOMETRYCOLLECTION'])throw new _0x3eb8a2('This\x20method\x20does\x20not\x20support\x20GeometryCollection\x20arguments');},_0x25c10a['prototype']['equal']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return 0x0===_0x5ac9eb?_0x5d7dad[_0x1a4e('0x23e')](_0x22b0c5):_0x5d7dad[_0x1a4e('0x1ed')](_0x22b0c5)<=_0x5ac9eb;},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x329')]=function(){var _0x5d7dad=this[_0x1a4e('0xea')]();return _0x5d7dad[_0x1a4e('0x330')](),_0x5d7dad;},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x331')]=function(){return this['_factory'][_0x1a4e('0x331')]();},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x32e')]=function(){return null===this[_0x1a4e('0x31b')]&&(this[_0x1a4e('0x31b')]=this[_0x1a4e('0x332')]()),new _0x322dd2(this['_envelope']);},_0x25c10a['prototype'][_0x1a4e('0x333')]=function(_0x5d7dad){this[_0x1a4e('0x31d')]=_0x5d7dad;},_0x25c10a['prototype'][_0x1a4e('0x334')]=function(_0x5d7dad){this[_0x1a4e('0x31e')]=_0x5d7dad;},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x77')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x335')](),_0x261805=_0x22b0c5[_0x1a4e('0x335')]();_0x5ac9eb[_0x1a4e('0x336')]()&&_0x261805['hasNext']();){var _0x81bc8f=_0x5ac9eb[_0x1a4e('0x7e')](),_0x234f42=_0x261805[_0x1a4e('0x7e')](),_0x153447=_0x81bc8f[_0x1a4e('0x2a7')](_0x234f42);if(0x0!==_0x153447)return _0x153447;}return _0x5ac9eb[_0x1a4e('0x336')]()?0x1:_0x261805[_0x1a4e('0x336')]()?-0x1:0x0;},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x242')]=function(){return this[_0x1a4e('0x32e')]()[_0x1a4e('0x242')]();},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x337')]=function(){return this[_0x1a4e('0x320')]()===_0x25c10a[_0x1a4e('0x321')]||this[_0x1a4e('0x320')]()===_0x25c10a[_0x1a4e('0x338')]||this[_0x1a4e('0x320')]()===_0x25c10a[_0x1a4e('0x339')]||this[_0x1a4e('0x320')]()===_0x25c10a['SORTINDEX_MULTIPOLYGON'];},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0xf5a262,_0x65271,_0x4ad42f];},_0x25c10a[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x25c10a;},_0x25c10a[_0x1a4e('0x33a')]=function(_0x5d7dad){for(var _0x22b0c5=0x0;_0x22b0c5<_0x5d7dad[_0x1a4e('0x1e')];_0x22b0c5++)if(!_0x5d7dad[_0x22b0c5][_0x1a4e('0x149')]())return!0x0;return!0x1;},_0x25c10a['hasNullElements']=function(_0x5d7dad){for(var _0x22b0c5=0x0;_0x22b0c5<_0x5d7dad[_0x1a4e('0x1e')];_0x22b0c5++)if(null===_0x5d7dad[_0x22b0c5])return!0x0;return!0x1;},_0x457f07[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return 0x799ea46522854c00;},_0x457f07[_0x1a4e('0x33b')][_0x1a4e('0x179')]=function(){return 0x0;},_0x457f07[_0x1a4e('0x338')][_0x1a4e('0x179')]=function(){return 0x1;},_0x457f07[_0x1a4e('0x33c')][_0x1a4e('0x179')]=function(){return 0x2;},_0x457f07['SORTINDEX_LINEARRING'][_0x1a4e('0x179')]=function(){return 0x3;},_0x457f07[_0x1a4e('0x339')]['get']=function(){return 0x4;},_0x457f07[_0x1a4e('0x33d')]['get']=function(){return 0x5;},_0x457f07[_0x1a4e('0x33e')]['get']=function(){return 0x6;},_0x457f07[_0x1a4e('0x321')][_0x1a4e('0x179')]=function(){return 0x7;},_0x457f07[_0x1a4e('0x33f')][_0x1a4e('0x179')]=function(){return _0x53b73d;},Object['defineProperties'](_0x25c10a,_0x457f07);var _0x53b73d=function(){};_0x53b73d[_0x1a4e('0x233')]=function(){return[_0x5a98d6];},_0x53b73d[_0x1a4e('0xd9')]=function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x327')]();};var _0x4221a4=function(){};_0x4221a4[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad){},_0x4221a4[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x4221a4[_0x1a4e('0xa')]['getClass']=function(){return _0x4221a4;};var _0x3c1b0f=function(){},_0x33ce93={'Mod2BoundaryNodeRule':{'configurable':!0x0},'EndPointBoundaryNodeRule':{'configurable':!0x0},'MultiValentEndPointBoundaryNodeRule':{'configurable':!0x0},'MonoValentEndPointBoundaryNodeRule':{'configurable':!0x0},'MOD2_BOUNDARY_RULE':{'configurable':!0x0},'ENDPOINT_BOUNDARY_RULE':{'configurable':!0x0},'MULTIVALENT_ENDPOINT_BOUNDARY_RULE':{'configurable':!0x0},'MONOVALENT_ENDPOINT_BOUNDARY_RULE':{'configurable':!0x0},'OGC_SFS_BOUNDARY_RULE':{'configurable':!0x0}};_0x3c1b0f['prototype']['isInBoundary']=function(_0x5d7dad){},_0x3c1b0f[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x3c1b0f[_0x1a4e('0xa')]['getClass']=function(){return _0x3c1b0f;},_0x33ce93[_0x1a4e('0x340')][_0x1a4e('0x179')]=function(){return _0x13b83b;},_0x33ce93['EndPointBoundaryNodeRule'][_0x1a4e('0x179')]=function(){return _0x14a637;},_0x33ce93['MultiValentEndPointBoundaryNodeRule'][_0x1a4e('0x179')]=function(){return _0x6ce306;},_0x33ce93['MonoValentEndPointBoundaryNodeRule'][_0x1a4e('0x179')]=function(){return _0x13efa8;},_0x33ce93['MOD2_BOUNDARY_RULE'][_0x1a4e('0x179')]=function(){return new _0x13b83b();},_0x33ce93[_0x1a4e('0x341')][_0x1a4e('0x179')]=function(){return new _0x14a637();},_0x33ce93['MULTIVALENT_ENDPOINT_BOUNDARY_RULE'][_0x1a4e('0x179')]=function(){return new _0x6ce306();},_0x33ce93['MONOVALENT_ENDPOINT_BOUNDARY_RULE'][_0x1a4e('0x179')]=function(){return new _0x13efa8();},_0x33ce93['OGC_SFS_BOUNDARY_RULE'][_0x1a4e('0x179')]=function(){return _0x3c1b0f[_0x1a4e('0x342')];},Object[_0x1a4e('0x1c8')](_0x3c1b0f,_0x33ce93);var _0x13b83b=function(){};_0x13b83b[_0x1a4e('0xa')]['isInBoundary']=function(_0x5d7dad){return _0x5d7dad%0x2==0x1;},_0x13b83b['prototype'][_0x1a4e('0x233')]=function(){return[_0x3c1b0f];},_0x13b83b[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x13b83b;};var _0x14a637=function(){};_0x14a637[_0x1a4e('0xa')][_0x1a4e('0x343')]=function(_0x5d7dad){return _0x5d7dad>0x0;},_0x14a637[_0x1a4e('0xa')]['interfaces_']=function(){return[_0x3c1b0f];},_0x14a637[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x14a637;};var _0x6ce306=function(){};_0x6ce306[_0x1a4e('0xa')][_0x1a4e('0x343')]=function(_0x5d7dad){return _0x5d7dad>0x1;},_0x6ce306[_0x1a4e('0xa')]['interfaces_']=function(){return[_0x3c1b0f];},_0x6ce306['prototype'][_0x1a4e('0x234')]=function(){return _0x6ce306;};var _0x13efa8=function(){};_0x13efa8['prototype'][_0x1a4e('0x343')]=function(_0x5d7dad){return 0x1===_0x5d7dad;},_0x13efa8['prototype'][_0x1a4e('0x233')]=function(){return[_0x3c1b0f];},_0x13efa8['prototype'][_0x1a4e('0x234')]=function(){return _0x13efa8;};var _0x5ca55b=function(){};_0x5ca55b[_0x1a4e('0xa')]['add']=function(){},_0x5ca55b[_0x1a4e('0xa')][_0x1a4e('0x344')]=function(){},_0x5ca55b[_0x1a4e('0xa')][_0x1a4e('0x149')]=function(){},_0x5ca55b[_0x1a4e('0xa')]['iterator']=function(){},_0x5ca55b['prototype'][_0x1a4e('0x220')]=function(){},_0x5ca55b[_0x1a4e('0xa')]['toArray']=function(){},_0x5ca55b[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(){};var _0x3ea9e5=function(_0x5d7dad){function _0x22b0c5(_0x22b0c5){_0x5d7dad[_0x1a4e('0x1')](this),this['message']=_0x22b0c5||'';}_0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),(_0x22b0c5['prototype']=Object['create'](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]))[_0x1a4e('0x10')]=_0x22b0c5;var _0x5ac9eb={'name':{'configurable':!0x0}};return _0x5ac9eb['name'][_0x1a4e('0x179')]=function(){return'IndexOutOfBoundsException';},Object[_0x1a4e('0x1c8')](_0x22b0c5,_0x5ac9eb),_0x22b0c5;}(Error),_0x2abb19=function(){};_0x2abb19[_0x1a4e('0xa')][_0x1a4e('0x336')]=function(){},_0x2abb19[_0x1a4e('0xa')][_0x1a4e('0x7e')]=function(){},_0x2abb19[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(){};var _0x5f471f=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x8b')](this,arguments);}return _0x5d7dad&&(_0x22b0c5['__proto__']=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x179')]=function(){},_0x22b0c5[_0x1a4e('0xa')]['set']=function(){},_0x22b0c5['prototype'][_0x1a4e('0x149')]=function(){},_0x22b0c5;}(_0x5ca55b);(_0x55bf7a[_0x1a4e('0xa')]=new Error())[_0x1a4e('0x2cb')]=_0x1a4e('0x345');var _0x389784=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x1')](this),this[_0x1a4e('0x137')]=[],arguments[0x0]instanceof _0x5ca55b&&this[_0x1a4e('0x344')](arguments[0x0]);}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x346')]=function(){},_0x22b0c5['prototype'][_0x1a4e('0x233')]=function(){return[_0x5d7dad,_0x5ca55b];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x5d7dad){return 0x1===arguments[_0x1a4e('0x1e')]?this['array_']['push'](_0x5d7dad):this['array_'][_0x1a4e('0x8a')](arguments[0x0],arguments[0x1]),!0x0;},_0x22b0c5[_0x1a4e('0xa')]['clear']=function(){this[_0x1a4e('0x137')]=[];},_0x22b0c5['prototype'][_0x1a4e('0x344')]=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)this['add'](_0x22b0c5[_0x1a4e('0x7e')]());return!0x0;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x17a')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=this[_0x1a4e('0x137')][_0x5d7dad];return this[_0x1a4e('0x137')][_0x5d7dad]=_0x22b0c5,_0x5ac9eb;},_0x22b0c5['prototype'][_0x1a4e('0x335')]=function(){return new _0x42547e(this);},_0x22b0c5['prototype'][_0x1a4e('0x179')]=function(_0x5d7dad){if(_0x5d7dad<0x0||_0x5d7dad>=this[_0x1a4e('0x220')]())throw new _0x3ea9e5();return this[_0x1a4e('0x137')][_0x5d7dad];},_0x22b0c5['prototype'][_0x1a4e('0x149')]=function(){return 0x0===this[_0x1a4e('0x137')][_0x1a4e('0x1e')];},_0x22b0c5[_0x1a4e('0xa')]['size']=function(){return this[_0x1a4e('0x137')]['length'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x347')]=function(){for(var _0x5d7dad=[],_0x22b0c5=0x0,_0x5ac9eb=this[_0x1a4e('0x137')][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)_0x5d7dad[_0x1a4e('0x46')](this[_0x1a4e('0x137')][_0x22b0c5]);return _0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')]['remove']=function(_0x5d7dad){for(var _0x22b0c5=!0x1,_0x5ac9eb=0x0,_0x261805=this['array_'][_0x1a4e('0x1e')];_0x5ac9eb<_0x261805;_0x5ac9eb++)if(this[_0x1a4e('0x137')][_0x5ac9eb]===_0x5d7dad){this[_0x1a4e('0x137')][_0x1a4e('0x8a')](_0x5ac9eb,0x1),_0x22b0c5=!0x0;break;}return _0x22b0c5;},_0x22b0c5;}(_0x5f471f),_0x42547e=function(_0x5d7dad){function _0x22b0c5(_0x22b0c5){_0x5d7dad[_0x1a4e('0x1')](this),this[_0x1a4e('0x348')]=_0x22b0c5,this[_0x1a4e('0x349')]=0x0;}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5['prototype']=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')]['constructor']=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')]['next']=function(){if(this[_0x1a4e('0x349')]===this[_0x1a4e('0x348')][_0x1a4e('0x220')]())throw new _0x55bf7a();return this[_0x1a4e('0x348')][_0x1a4e('0x179')](this[_0x1a4e('0x349')]++);},_0x22b0c5['prototype'][_0x1a4e('0x336')]=function(){return this[_0x1a4e('0x349')]=0x1&&this[_0x1a4e('0x179')](this[_0x1a4e('0x220')]()-0x1)[_0x1a4e('0x23b')](_0x81bc8f))return null;_0x5d7dad['prototype'][_0x1a4e('0x177')][_0x1a4e('0x1')](this,_0x81bc8f);}else if(arguments[0x0]instanceof Object&&_0x1a4e('0x34b')==typeof arguments[0x1]){var _0x234f42=arguments[0x0],_0x153447=arguments[0x1];return this['add'](_0x234f42,_0x153447),!0x0;}}else if(0x3===arguments['length']){if('boolean'==typeof arguments[0x2]&&arguments[0x0]instanceof Array&&'boolean'==typeof arguments[0x1]){var _0x1972c2=arguments[0x0],_0x3376f9=arguments[0x1];if(arguments[0x2])for(var _0x5dae0e=0x0;_0x5dae0e<_0x1972c2[_0x1a4e('0x1e')];_0x5dae0e++)this[_0x1a4e('0x177')](_0x1972c2[_0x5dae0e],_0x3376f9);else for(var _0x3d7f02=_0x1972c2[_0x1a4e('0x1e')]-0x1;_0x3d7f02>=0x0;_0x3d7f02--)this[_0x1a4e('0x177')](_0x1972c2[_0x3d7f02],_0x3376f9);return!0x0;}if('boolean'==typeof arguments[0x2]&&Number['isInteger'](arguments[0x0])&&arguments[0x1]instanceof _0x517a0b){var _0x146559=arguments[0x0],_0x184c89=arguments[0x1];if(!arguments[0x2]){var _0x4198ed=this[_0x1a4e('0x220')]();if(_0x4198ed>0x0){if(_0x146559>0x0&&this[_0x1a4e('0x179')](_0x146559-0x1)['equals2D'](_0x184c89))return null;if(_0x146559<_0x4198ed&&this[_0x1a4e('0x179')](_0x146559)[_0x1a4e('0x23b')](_0x184c89))return null;}}_0x5d7dad['prototype'][_0x1a4e('0x177')][_0x1a4e('0x1')](this,_0x146559,_0x184c89);}}else if(0x4===arguments[_0x1a4e('0x1e')]){var _0x41179c=arguments[0x0],_0x4eb09b=arguments[0x1],_0x39638f=arguments[0x2],_0x40b220=arguments[0x3],_0x55366a=0x1;_0x39638f>_0x40b220&&(_0x55366a=-0x1);for(var _0x527605=_0x39638f;_0x527605!==_0x40b220;_0x527605+=_0x55366a)this[_0x1a4e('0x177')](_0x41179c[_0x527605],_0x4eb09b);return!0x0;}},_0x22b0c5['prototype'][_0x1a4e('0x34c')]=function(){this[_0x1a4e('0x220')]()>0x0&&this[_0x1a4e('0x177')](new _0x517a0b(this[_0x1a4e('0x179')](0x0)),!0x1);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},Object[_0x1a4e('0x1c8')](_0x22b0c5,_0x5ac9eb),_0x22b0c5;}(_0x389784),_0xf49717=function(){},_0x2c6b08={'ForwardComparator':{'configurable':!0x0},'BidirectionalComparator':{'configurable':!0x0},'coordArrayType':{'configurable':!0x0}};_0x2c6b08[_0x1a4e('0x34d')][_0x1a4e('0x179')]=function(){return _0x2f7167;},_0x2c6b08[_0x1a4e('0x34e')][_0x1a4e('0x179')]=function(){return _0x2f03b2;},_0x2c6b08[_0x1a4e('0x34a')][_0x1a4e('0x179')]=function(){return new Array(0x0)[_0x1a4e('0x22c')](null);},_0xf49717['prototype'][_0x1a4e('0x233')]=function(){return[];},_0xf49717[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0xf49717;},_0xf49717[_0x1a4e('0x34f')]=function(_0x5d7dad){return!(_0x5d7dad[_0x1a4e('0x1e')]<0x4||!_0x5d7dad[0x0]['equals2D'](_0x5d7dad[_0x5d7dad[_0x1a4e('0x1e')]-0x1]));},_0xf49717[_0x1a4e('0x350')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['length'];_0x5ac9eb++){var _0x261805=_0x5d7dad[_0x5ac9eb];if(_0xf49717[_0x1a4e('0x3e')](_0x261805,_0x22b0c5)<0x0)return _0x261805;}return null;},_0xf49717[_0x1a4e('0x351')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0xf49717[_0x1a4e('0x3e')](_0x22b0c5,_0x5d7dad);if(_0x5ac9eb<0x0)return null;var _0x261805=new Array(_0x5d7dad[_0x1a4e('0x1e')])[_0x1a4e('0x22c')](null);_0x5b38f4[_0x1a4e('0x352')](_0x5d7dad,_0x5ac9eb,_0x261805,0x0,_0x5d7dad['length']-_0x5ac9eb),_0x5b38f4['arraycopy'](_0x5d7dad,0x0,_0x261805,_0x5d7dad[_0x1a4e('0x1e')]-_0x5ac9eb,_0x5ac9eb),_0x5b38f4[_0x1a4e('0x352')](_0x261805,0x0,_0x5d7dad,0x0,_0x5d7dad['length']);},_0xf49717[_0x1a4e('0x23e')]=function(){if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];if(_0x5d7dad===_0x22b0c5)return!0x0;if(null===_0x5d7dad||null===_0x22b0c5)return!0x1;if(_0x5d7dad[_0x1a4e('0x1e')]!==_0x22b0c5['length'])return!0x1;for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb++)if(!_0x5d7dad[_0x5ac9eb][_0x1a4e('0x23e')](_0x22b0c5[_0x5ac9eb]))return!0x1;return!0x0;}if(0x3===arguments[_0x1a4e('0x1e')]){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1],_0x234f42=arguments[0x2];if(_0x261805===_0x81bc8f)return!0x0;if(null===_0x261805||null===_0x81bc8f)return!0x1;if(_0x261805[_0x1a4e('0x1e')]!==_0x81bc8f['length'])return!0x1;for(var _0x153447=0x0;_0x153447<_0x261805[_0x1a4e('0x1e')];_0x153447++)if(0x0!==_0x234f42[_0x1a4e('0x77')](_0x261805[_0x153447],_0x81bc8f[_0x153447]))return!0x1;return!0x0;}},_0xf49717[_0x1a4e('0x148')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=new _0x5dacd8(),_0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x1e')];_0x261805++)_0x22b0c5['intersects'](_0x5d7dad[_0x261805])&&_0x5ac9eb[_0x1a4e('0x177')](_0x5d7dad[_0x261805],!0x0);return _0x5ac9eb[_0x1a4e('0x293')]();},_0xf49717[_0x1a4e('0x353')]=function(_0x5d7dad){for(var _0x22b0c5=0x1;_0x22b0c5<_0x5d7dad[_0x1a4e('0x1e')];_0x22b0c5++)if(_0x5d7dad[_0x22b0c5-0x1][_0x1a4e('0x23e')](_0x5d7dad[_0x22b0c5]))return!0x0;return!0x1;},_0xf49717['removeRepeatedPoints']=function(_0x5d7dad){return _0xf49717['hasRepeatedPoints'](_0x5d7dad)?new _0x5dacd8(_0x5d7dad,!0x1)['toCoordinateArray']():_0x5d7dad;},_0xf49717[_0x1a4e('0x9b')]=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x1e')]-0x1,_0x5ac9eb=Math[_0x1a4e('0x232')](_0x22b0c5/0x2),_0x261805=0x0;_0x261805<=_0x5ac9eb;_0x261805++){var _0x81bc8f=_0x5d7dad[_0x261805];_0x5d7dad[_0x261805]=_0x5d7dad[_0x22b0c5-_0x261805],_0x5d7dad[_0x22b0c5-_0x261805]=_0x81bc8f;}},_0xf49717['removeNull']=function(_0x5d7dad){for(var _0x22b0c5=0x0,_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb++)null!==_0x5d7dad[_0x5ac9eb]&&_0x22b0c5++;var _0x261805=new Array(_0x22b0c5)[_0x1a4e('0x22c')](null);if(0x0===_0x22b0c5)return _0x261805;for(var _0x81bc8f=0x0,_0x234f42=0x0;_0x234f42<_0x5d7dad['length'];_0x234f42++)null!==_0x5d7dad[_0x234f42]&&(_0x261805[_0x81bc8f++]=_0x5d7dad[_0x234f42]);return _0x261805;},_0xf49717[_0x1a4e('0x354')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){for(var _0x5d7dad=arguments[0x0],_0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x1e')])[_0x1a4e('0x22c')](null),_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb++)_0x22b0c5[_0x5ac9eb]=new _0x517a0b(_0x5d7dad[_0x5ac9eb]);return _0x22b0c5;}if(0x5===arguments[_0x1a4e('0x1e')])for(var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1],_0x234f42=arguments[0x2],_0x153447=arguments[0x3],_0x1972c2=arguments[0x4],_0x3376f9=0x0;_0x3376f9<_0x1972c2;_0x3376f9++)_0x234f42[_0x153447+_0x3376f9]=new _0x517a0b(_0x261805[_0x81bc8f+_0x3376f9]);},_0xf49717[_0x1a4e('0x355')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb++){var _0x261805=_0x5d7dad[_0x5ac9eb],_0x81bc8f=_0x22b0c5[_0x5d7dad[_0x1a4e('0x1e')]-_0x5ac9eb-0x1];if(0x0!==_0x261805[_0x1a4e('0x2a7')](_0x81bc8f))return!0x1;}return!0x0;},_0xf49717['envelope']=function(_0x5d7dad){for(var _0x22b0c5=new _0x322dd2(),_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];_0x5ac9eb++)_0x22b0c5[_0x1a4e('0x2a5')](_0x5d7dad[_0x5ac9eb]);return _0x22b0c5;},_0xf49717[_0x1a4e('0x293')]=function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x347')](_0xf49717[_0x1a4e('0x34a')]);},_0xf49717['atLeastNCoordinatesOrNothing']=function(_0x5d7dad,_0x22b0c5){return _0x22b0c5[_0x1a4e('0x1e')]>=_0x5d7dad?_0x22b0c5:[];},_0xf49717['indexOf']=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x1e')];_0x5ac9eb++)if(_0x5d7dad[_0x1a4e('0x23e')](_0x22b0c5[_0x5ac9eb]))return _0x5ac9eb;return-0x1;},_0xf49717[_0x1a4e('0x356')]=function(_0x5d7dad){for(var _0x22b0c5=0x0;_0x22b0c50x0)&&(_0x22b0c5=_0x5d7dad[_0x5ac9eb]);return _0x22b0c5;},_0xf49717[_0x1a4e('0x358')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){_0x22b0c5=_0x434036['clamp'](_0x22b0c5,0x0,_0x5d7dad[_0x1a4e('0x1e')]);var _0x261805=(_0x5ac9eb=_0x434036[_0x1a4e('0x24e')](_0x5ac9eb,-0x1,_0x5d7dad[_0x1a4e('0x1e')]))-_0x22b0c5+0x1;_0x5ac9eb<0x0&&(_0x261805=0x0),_0x22b0c5>=_0x5d7dad[_0x1a4e('0x1e')]&&(_0x261805=0x0),_0x5ac9eb<_0x22b0c5&&(_0x261805=0x0);var _0x81bc8f=new Array(_0x261805)[_0x1a4e('0x22c')](null);if(0x0===_0x261805)return _0x81bc8f;for(var _0x234f42=0x0,_0x153447=_0x22b0c5;_0x153447<=_0x5ac9eb;_0x153447++)_0x81bc8f[_0x234f42++]=_0x5d7dad[_0x153447];return _0x81bc8f;},Object['defineProperties'](_0xf49717,_0x2c6b08);var _0x2f7167=function(){};_0x2f7167[_0x1a4e('0xa')][_0x1a4e('0x77')]=function(_0x5d7dad,_0x22b0c5){return _0xf49717[_0x1a4e('0x77')](_0x5d7dad,_0x22b0c5);},_0x2f7167[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0xc6814d];},_0x2f7167[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2f7167;};var _0x2f03b2=function(){};_0x2f03b2['prototype'][_0x1a4e('0x77')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad,_0x261805=_0x22b0c5;if(_0x5ac9eb[_0x1a4e('0x1e')]<_0x261805[_0x1a4e('0x1e')])return-0x1;if(_0x5ac9eb[_0x1a4e('0x1e')]>_0x261805[_0x1a4e('0x1e')])return 0x1;if(0x0===_0x5ac9eb[_0x1a4e('0x1e')])return 0x0;var _0x81bc8f=_0xf49717[_0x1a4e('0x77')](_0x5ac9eb,_0x261805);return _0xf49717[_0x1a4e('0x355')](_0x5ac9eb,_0x261805)?0x0:_0x81bc8f;},_0x2f03b2['prototype'][_0x1a4e('0x359')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad,_0x261805=_0x22b0c5;if(_0x5ac9eb[_0x1a4e('0x1e')]<_0x261805[_0x1a4e('0x1e')])return-0x1;if(_0x5ac9eb['length']>_0x261805['length'])return 0x1;if(0x0===_0x5ac9eb[_0x1a4e('0x1e')])return 0x0;for(var _0x81bc8f=_0xf49717['increasingDirection'](_0x5ac9eb),_0x234f42=_0xf49717[_0x1a4e('0x356')](_0x261805),_0x153447=_0x81bc8f>0x0?0x0:_0x5ac9eb[_0x1a4e('0x1e')]-0x1,_0x1972c2=_0x234f42>0x0?0x0:_0x5ac9eb[_0x1a4e('0x1e')]-0x1,_0x3376f9=0x0;_0x3376f9<_0x5ac9eb[_0x1a4e('0x1e')];_0x3376f9++){var _0x5dae0e=_0x5ac9eb[_0x153447]['compareTo'](_0x261805[_0x1972c2]);if(0x0!==_0x5dae0e)return _0x5dae0e;_0x153447+=_0x81bc8f,_0x1972c2+=_0x234f42;}return 0x0;},_0x2f03b2[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0xc6814d];},_0x2f03b2[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2f03b2;};var _0x3d1bb0=function(){};_0x3d1bb0[_0x1a4e('0xa')]['get']=function(){},_0x3d1bb0[_0x1a4e('0xa')][_0x1a4e('0x35a')]=function(){},_0x3d1bb0['prototype'][_0x1a4e('0x220')]=function(){},_0x3d1bb0[_0x1a4e('0xa')][_0x1a4e('0x35b')]=function(){},_0x3d1bb0[_0x1a4e('0xa')][_0x1a4e('0x35c')]=function(){};var _0x312703=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x8b')](this,arguments);}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5['prototype']=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')]['constructor']=_0x22b0c5,_0x22b0c5;}(_0x3d1bb0);(_0x4b6a3a[_0x1a4e('0xa')]=new Error())['name']=_0x1a4e('0x35d'),(_0x3429e7[_0x1a4e('0xa')]=new _0x5ca55b())[_0x1a4e('0x2ac')]=function(){};var _0x3395af=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x1')](this),this[_0x1a4e('0x137')]=[],arguments[0x0]instanceof _0x5ca55b&&this[_0x1a4e('0x344')](arguments[0x0]);}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')]['contains']=function(_0x5d7dad){for(var _0x22b0c5=0x0,_0x5ac9eb=this[_0x1a4e('0x137')][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)if(this[_0x1a4e('0x137')][_0x22b0c5]===_0x5d7dad)return!0x0;return!0x1;},_0x22b0c5[_0x1a4e('0xa')]['add']=function(_0x5d7dad){return!this['contains'](_0x5d7dad)&&(this['array_'][_0x1a4e('0x46')](_0x5d7dad),!0x0);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x344')]=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad['iterator']();_0x22b0c5[_0x1a4e('0x336')]();)this[_0x1a4e('0x177')](_0x22b0c5[_0x1a4e('0x7e')]());return!0x0;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x5d7dad){throw new Error();},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x220')]=function(){return this[_0x1a4e('0x137')][_0x1a4e('0x1e')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x149')]=function(){return 0x0===this[_0x1a4e('0x137')][_0x1a4e('0x1e')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x347')]=function(){for(var _0x5d7dad=[],_0x22b0c5=0x0,_0x5ac9eb=this[_0x1a4e('0x137')][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)_0x5d7dad[_0x1a4e('0x46')](this[_0x1a4e('0x137')][_0x22b0c5]);return _0x5d7dad;},_0x22b0c5['prototype']['iterator']=function(){return new _0x365c64(this);},_0x22b0c5;}(_0x3429e7),_0x365c64=function(_0x5d7dad){function _0x22b0c5(_0x22b0c5){_0x5d7dad[_0x1a4e('0x1')](this),this['hashSet_']=_0x22b0c5,this[_0x1a4e('0x349')]=0x0;}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5['prototype']=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')]['constructor']=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')]['next']=function(){if(this['position_']===this[_0x1a4e('0x35e')][_0x1a4e('0x220')]())throw new _0x55bf7a();return this[_0x1a4e('0x35e')][_0x1a4e('0x137')][this[_0x1a4e('0x349')]++];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x336')]=function(){return this[_0x1a4e('0x349')]0x0))return _0x22b0c5[_0x1a4e('0x255')];_0x22b0c5=_0x22b0c5[_0x1a4e('0x5d')];}}return null;},_0xe59c3e[_0x1a4e('0xa')]['put']=function(_0x5d7dad,_0x22b0c5){if(null===this[_0x1a4e('0x135')])return this[_0x1a4e('0x135')]={'key':_0x5d7dad,'value':_0x22b0c5,'left':null,'right':null,'parent':null,'color':_0x354f31,'getValue':function(){return this[_0x1a4e('0x255')];},'getKey':function(){return this[_0x1a4e('0x35f')];}},this['size_']=0x1,null;var _0x5ac9eb,_0x261805,_0x81bc8f=this['root_'];do{if(_0x5ac9eb=_0x81bc8f,(_0x261805=_0x5d7dad['compareTo'](_0x81bc8f[_0x1a4e('0x35f')]))<0x0)_0x81bc8f=_0x81bc8f[_0x1a4e('0x5f')];else{if(!(_0x261805>0x0)){var _0x234f42=_0x81bc8f[_0x1a4e('0x255')];return _0x81bc8f[_0x1a4e('0x255')]=_0x22b0c5,_0x234f42;}_0x81bc8f=_0x81bc8f[_0x1a4e('0x5d')];}}while(null!==_0x81bc8f);var _0x153447={'key':_0x5d7dad,'left':null,'right':null,'value':_0x22b0c5,'parent':_0x5ac9eb,'color':_0x354f31,'getValue':function(){return this[_0x1a4e('0x255')];},'getKey':function(){return this['key'];}};return _0x261805<0x0?_0x5ac9eb[_0x1a4e('0x5f')]=_0x153447:_0x5ac9eb[_0x1a4e('0x5d')]=_0x153447,this[_0x1a4e('0x360')](_0x153447),this[_0x1a4e('0x136')]++,null;},_0xe59c3e[_0x1a4e('0xa')]['fixAfterInsertion']=function(_0x5d7dad){for(_0x5d7dad['color']=0x1;null!=_0x5d7dad&&_0x5d7dad!==this[_0x1a4e('0x135')]&&0x1===_0x5d7dad['parent']['color'];)if(_0x1bd187(_0x5d7dad)===_0x56728b(_0x1bd187(_0x1bd187(_0x5d7dad)))){var _0x22b0c5=_0x3154d7(_0x1bd187(_0x1bd187(_0x5d7dad)));0x1===_0x3d34ad(_0x22b0c5)?(_0x3831bc(_0x1bd187(_0x5d7dad),_0x354f31),_0x3831bc(_0x22b0c5,_0x354f31),_0x3831bc(_0x1bd187(_0x1bd187(_0x5d7dad)),0x1),_0x5d7dad=_0x1bd187(_0x1bd187(_0x5d7dad))):(_0x5d7dad===_0x3154d7(_0x1bd187(_0x5d7dad))&&(_0x5d7dad=_0x1bd187(_0x5d7dad),this[_0x1a4e('0x361')](_0x5d7dad)),_0x3831bc(_0x1bd187(_0x5d7dad),_0x354f31),_0x3831bc(_0x1bd187(_0x1bd187(_0x5d7dad)),0x1),this[_0x1a4e('0x362')](_0x1bd187(_0x1bd187(_0x5d7dad))));}else{var _0x5ac9eb=_0x56728b(_0x1bd187(_0x1bd187(_0x5d7dad)));0x1===_0x3d34ad(_0x5ac9eb)?(_0x3831bc(_0x1bd187(_0x5d7dad),_0x354f31),_0x3831bc(_0x5ac9eb,_0x354f31),_0x3831bc(_0x1bd187(_0x1bd187(_0x5d7dad)),0x1),_0x5d7dad=_0x1bd187(_0x1bd187(_0x5d7dad))):(_0x5d7dad===_0x56728b(_0x1bd187(_0x5d7dad))&&(_0x5d7dad=_0x1bd187(_0x5d7dad),this[_0x1a4e('0x362')](_0x5d7dad)),_0x3831bc(_0x1bd187(_0x5d7dad),_0x354f31),_0x3831bc(_0x1bd187(_0x1bd187(_0x5d7dad)),0x1),this['rotateLeft'](_0x1bd187(_0x1bd187(_0x5d7dad))));}this[_0x1a4e('0x135')]['color']=_0x354f31;},_0xe59c3e[_0x1a4e('0xa')][_0x1a4e('0x35b')]=function(){var _0x5d7dad=new _0x389784(),_0x22b0c5=this[_0x1a4e('0x363')]();if(null!==_0x22b0c5)for(_0x5d7dad[_0x1a4e('0x177')](_0x22b0c5[_0x1a4e('0x255')]);null!==(_0x22b0c5=_0xe59c3e[_0x1a4e('0x364')](_0x22b0c5));)_0x5d7dad[_0x1a4e('0x177')](_0x22b0c5[_0x1a4e('0x255')]);return _0x5d7dad;},_0xe59c3e[_0x1a4e('0xa')][_0x1a4e('0x35c')]=function(){var _0x5d7dad=new _0x3395af(),_0x22b0c5=this[_0x1a4e('0x363')]();if(null!==_0x22b0c5)for(_0x5d7dad[_0x1a4e('0x177')](_0x22b0c5);null!==(_0x22b0c5=_0xe59c3e[_0x1a4e('0x364')](_0x22b0c5));)_0x5d7dad[_0x1a4e('0x177')](_0x22b0c5);return _0x5d7dad;},_0xe59c3e[_0x1a4e('0xa')]['rotateLeft']=function(_0x5d7dad){if(null!=_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x5d')];_0x5d7dad[_0x1a4e('0x5d')]=_0x22b0c5[_0x1a4e('0x5f')],null!=_0x22b0c5['left']&&(_0x22b0c5[_0x1a4e('0x5f')][_0x1a4e('0x11c')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0x11c')]=_0x5d7dad[_0x1a4e('0x11c')],null===_0x5d7dad[_0x1a4e('0x11c')]?this[_0x1a4e('0x135')]=_0x22b0c5:_0x5d7dad['parent'][_0x1a4e('0x5f')]===_0x5d7dad?_0x5d7dad['parent']['left']=_0x22b0c5:_0x5d7dad[_0x1a4e('0x11c')][_0x1a4e('0x5d')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0x5f')]=_0x5d7dad,_0x5d7dad[_0x1a4e('0x11c')]=_0x22b0c5;}},_0xe59c3e[_0x1a4e('0xa')][_0x1a4e('0x362')]=function(_0x5d7dad){if(null!=_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x5f')];_0x5d7dad[_0x1a4e('0x5f')]=_0x22b0c5[_0x1a4e('0x5d')],null!=_0x22b0c5[_0x1a4e('0x5d')]&&(_0x22b0c5[_0x1a4e('0x5d')]['parent']=_0x5d7dad),_0x22b0c5['parent']=_0x5d7dad[_0x1a4e('0x11c')],null===_0x5d7dad[_0x1a4e('0x11c')]?this['root_']=_0x22b0c5:_0x5d7dad[_0x1a4e('0x11c')][_0x1a4e('0x5d')]===_0x5d7dad?_0x5d7dad[_0x1a4e('0x11c')][_0x1a4e('0x5d')]=_0x22b0c5:_0x5d7dad[_0x1a4e('0x11c')][_0x1a4e('0x5f')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0x5d')]=_0x5d7dad,_0x5d7dad['parent']=_0x22b0c5;}},_0xe59c3e[_0x1a4e('0xa')][_0x1a4e('0x363')]=function(){var _0x5d7dad=this['root_'];if(null!=_0x5d7dad)for(;null!=_0x5d7dad[_0x1a4e('0x5f')];)_0x5d7dad=_0x5d7dad[_0x1a4e('0x5f')];return _0x5d7dad;},_0xe59c3e[_0x1a4e('0x364')]=function(_0x5d7dad){if(null===_0x5d7dad)return null;if(null!==_0x5d7dad[_0x1a4e('0x5d')]){for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x5d')];null!==_0x22b0c5[_0x1a4e('0x5f')];)_0x22b0c5=_0x22b0c5[_0x1a4e('0x5f')];return _0x22b0c5;}for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x11c')],_0x261805=_0x5d7dad;null!==_0x5ac9eb&&_0x261805===_0x5ac9eb[_0x1a4e('0x5d')];)_0x261805=_0x5ac9eb,_0x5ac9eb=_0x5ac9eb['parent'];return _0x5ac9eb;},_0xe59c3e[_0x1a4e('0xa')][_0x1a4e('0x220')]=function(){return this[_0x1a4e('0x136')];};var _0x1989a0=function(){};_0x1989a0[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x1989a0[_0x1a4e('0xa')]['getClass']=function(){return _0x1989a0;},_0x17e079[_0x1a4e('0xa')]=new _0x3429e7(),(_0x548f8d[_0x1a4e('0xa')]=new _0x17e079())[_0x1a4e('0x2ac')]=function(_0x5d7dad){for(var _0x22b0c5=0x0,_0x5ac9eb=this[_0x1a4e('0x137')][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)if(0x0===this['array_'][_0x22b0c5][_0x1a4e('0x2a7')](_0x5d7dad))return!0x0;return!0x1;},_0x548f8d[_0x1a4e('0xa')]['add']=function(_0x5d7dad){if(this[_0x1a4e('0x2ac')](_0x5d7dad))return!0x1;for(var _0x22b0c5=0x0,_0x5ac9eb=this['array_']['length'];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)if(0x1===this['array_'][_0x22b0c5][_0x1a4e('0x2a7')](_0x5d7dad))return this[_0x1a4e('0x137')][_0x1a4e('0x8a')](_0x22b0c5,0x0,_0x5d7dad),!0x0;return this['array_'][_0x1a4e('0x46')](_0x5d7dad),!0x0;},_0x548f8d[_0x1a4e('0xa')]['addAll']=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)this[_0x1a4e('0x177')](_0x22b0c5['next']());return!0x0;},_0x548f8d[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x5d7dad){throw new _0x4b6a3a();},_0x548f8d[_0x1a4e('0xa')][_0x1a4e('0x220')]=function(){return this['array_'][_0x1a4e('0x1e')];},_0x548f8d[_0x1a4e('0xa')][_0x1a4e('0x149')]=function(){return 0x0===this[_0x1a4e('0x137')][_0x1a4e('0x1e')];},_0x548f8d[_0x1a4e('0xa')]['toArray']=function(){for(var _0x5d7dad=[],_0x22b0c5=0x0,_0x5ac9eb=this[_0x1a4e('0x137')][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)_0x5d7dad[_0x1a4e('0x46')](this['array_'][_0x22b0c5]);return _0x5d7dad;},_0x548f8d[_0x1a4e('0xa')][_0x1a4e('0x335')]=function(){return new _0x364949(this);};var _0x364949=function(_0x5d7dad){this['treeSet_']=_0x5d7dad,this[_0x1a4e('0x349')]=0x0;};_0x364949[_0x1a4e('0xa')][_0x1a4e('0x7e')]=function(){if(this['position_']===this[_0x1a4e('0x365')][_0x1a4e('0x220')]())throw new _0x55bf7a();return this[_0x1a4e('0x365')]['array_'][this[_0x1a4e('0x349')]++];},_0x364949[_0x1a4e('0xa')][_0x1a4e('0x336')]=function(){return this[_0x1a4e('0x349')]=0x0;){var _0x153447=_0x81bc8f['substring'](0x0,_0x234f42);_0x261805[_0x1a4e('0x177')](_0x153447),_0x234f42=(_0x81bc8f=_0x81bc8f[_0x1a4e('0x281')](_0x234f42+_0x5ac9eb))[_0x1a4e('0x3e')](_0x22b0c5);}_0x81bc8f[_0x1a4e('0x1e')]>0x0&&_0x261805['add'](_0x81bc8f);for(var _0x1972c2=new Array(_0x261805[_0x1a4e('0x220')]())[_0x1a4e('0x22c')](null),_0x3376f9=0x0;_0x3376f9<_0x1972c2[_0x1a4e('0x1e')];_0x3376f9++)_0x1972c2[_0x3376f9]=_0x261805[_0x1a4e('0x179')](_0x3376f9);return _0x1972c2;},_0x4ec043[_0x1a4e('0x95')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return _0x4ec043['SIMPLE_ORDINATE_FORMAT'][_0x1a4e('0x390')](_0x5d7dad);}},_0x4ec043[_0x1a4e('0x2bf')]=function(_0x5d7dad){return _0x4ec043[_0x1a4e('0x38b')]('\x20',_0x5d7dad);},_0x18b159[_0x1a4e('0x38f')]['get']=function(){return _0x5b38f4[_0x1a4e('0x391')]('line.separator');},_0x18b159[_0x1a4e('0x392')][_0x1a4e('0x179')]=function(){return new function(){}(_0x1a4e('0x393'));},Object[_0x1a4e('0x1c8')](_0x4ec043,_0x18b159);var _0x296d74=function(){};_0x296d74[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x296d74['prototype'][_0x1a4e('0x234')]=function(){return _0x296d74;},_0x296d74[_0x1a4e('0x394')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){for(var _0x81bc8f=Math[_0x1a4e('0x74')](_0x5d7dad[_0x1a4e('0x290')](),_0x5ac9eb[_0x1a4e('0x290')]()),_0x234f42=0x0;_0x234f42<_0x81bc8f;_0x234f42++)_0x5ac9eb[_0x1a4e('0x239')](_0x261805,_0x234f42,_0x5d7dad['getOrdinate'](_0x22b0c5,_0x234f42));},_0x296d74[_0x1a4e('0x34f')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x220')]();return 0x0===_0x22b0c5||!(_0x22b0c5<=0x3)&&_0x5d7dad[_0x1a4e('0x23d')](0x0,_0x1550a2['X'])===_0x5d7dad[_0x1a4e('0x23d')](_0x22b0c5-0x1,_0x1550a2['X'])&&_0x5d7dad[_0x1a4e('0x23d')](0x0,_0x1550a2['Y'])===_0x5d7dad[_0x1a4e('0x23d')](_0x22b0c5-0x1,_0x1550a2['Y']);},_0x296d74[_0x1a4e('0x1bf')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x220')]();if(_0x5ac9eb!==_0x22b0c5[_0x1a4e('0x220')]())return!0x1;for(var _0x261805=Math['min'](_0x5d7dad[_0x1a4e('0x290')](),_0x22b0c5[_0x1a4e('0x290')]()),_0x81bc8f=0x0;_0x81bc8f<_0x5ac9eb;_0x81bc8f++)for(var _0x234f42=0x0;_0x234f42<_0x261805;_0x234f42++){var _0x153447=_0x5d7dad[_0x1a4e('0x23d')](_0x81bc8f,_0x234f42),_0x1972c2=_0x22b0c5[_0x1a4e('0x23d')](_0x81bc8f,_0x234f42);if(!(_0x5d7dad[_0x1a4e('0x23d')](_0x81bc8f,_0x234f42)===_0x22b0c5['getOrdinate'](_0x81bc8f,_0x234f42)||_0x104610[_0x1a4e('0x231')](_0x153447)&&_0x104610[_0x1a4e('0x231')](_0x1972c2)))return!0x1;}return!0x0;},_0x296d74['extend']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x7')](_0x5ac9eb,_0x22b0c5[_0x1a4e('0x290')]()),_0x81bc8f=_0x22b0c5[_0x1a4e('0x220')]();if(_0x296d74[_0x1a4e('0xea')](_0x22b0c5,0x0,_0x261805,0x0,_0x81bc8f),_0x81bc8f>0x0)for(var _0x234f42=_0x81bc8f;_0x234f42<_0x5ac9eb;_0x234f42++)_0x296d74[_0x1a4e('0xea')](_0x22b0c5,_0x81bc8f-0x1,_0x261805,_0x234f42,0x1);return _0x261805;},_0x296d74[_0x1a4e('0x9b')]=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x220')]()-0x1,_0x5ac9eb=Math[_0x1a4e('0x232')](_0x22b0c5/0x2),_0x261805=0x0;_0x261805<=_0x5ac9eb;_0x261805++)_0x296d74['swap'](_0x5d7dad,_0x261805,_0x22b0c5-_0x261805);},_0x296d74['swap']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x22b0c5===_0x5ac9eb)return null;for(var _0x261805=0x0;_0x261805<_0x5d7dad['getDimension']();_0x261805++){var _0x81bc8f=_0x5d7dad['getOrdinate'](_0x22b0c5,_0x261805);_0x5d7dad[_0x1a4e('0x239')](_0x22b0c5,_0x261805,_0x5d7dad['getOrdinate'](_0x5ac9eb,_0x261805)),_0x5d7dad[_0x1a4e('0x239')](_0x5ac9eb,_0x261805,_0x81bc8f);}},_0x296d74[_0x1a4e('0xea')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){for(var _0x234f42=0x0;_0x234f42<_0x81bc8f;_0x234f42++)_0x296d74[_0x1a4e('0x394')](_0x5d7dad,_0x22b0c5+_0x234f42,_0x5ac9eb,_0x261805+_0x234f42);},_0x296d74[_0x1a4e('0x95')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=_0x5d7dad[_0x1a4e('0x220')]();if(0x0===_0x22b0c5)return'()';var _0x5ac9eb=_0x5d7dad['getDimension'](),_0x261805=new _0x2ee01c();_0x261805[_0x1a4e('0x252')]('(');for(var _0x81bc8f=0x0;_0x81bc8f<_0x22b0c5;_0x81bc8f++){_0x81bc8f>0x0&&_0x261805[_0x1a4e('0x252')]('\x20');for(var _0x234f42=0x0;_0x234f42<_0x5ac9eb;_0x234f42++)_0x234f42>0x0&&_0x261805[_0x1a4e('0x252')](','),_0x261805[_0x1a4e('0x252')](_0x4ec043[_0x1a4e('0x95')](_0x5d7dad[_0x1a4e('0x23d')](_0x81bc8f,_0x234f42)));}return _0x261805[_0x1a4e('0x252')](')'),_0x261805[_0x1a4e('0x95')]();}},_0x296d74[_0x1a4e('0x395')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x220')]();return 0x0===_0x5ac9eb?_0x22b0c5:_0x5ac9eb<=0x3?_0x296d74[_0x1a4e('0x396')](_0x5d7dad,_0x22b0c5,0x4):_0x22b0c5[_0x1a4e('0x23d')](0x0,_0x1550a2['X'])===_0x22b0c5['getOrdinate'](_0x5ac9eb-0x1,_0x1550a2['X'])&&_0x22b0c5['getOrdinate'](0x0,_0x1550a2['Y'])===_0x22b0c5[_0x1a4e('0x23d')](_0x5ac9eb-0x1,_0x1550a2['Y'])?_0x22b0c5:_0x296d74[_0x1a4e('0x396')](_0x5d7dad,_0x22b0c5,_0x5ac9eb+0x1);},_0x296d74[_0x1a4e('0x396')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x7')](_0x5ac9eb,_0x22b0c5[_0x1a4e('0x290')]()),_0x81bc8f=_0x22b0c5[_0x1a4e('0x220')]();_0x296d74['copy'](_0x22b0c5,0x0,_0x261805,0x0,_0x81bc8f);for(var _0x234f42=_0x81bc8f;_0x234f42<_0x5ac9eb;_0x234f42++)_0x296d74['copy'](_0x22b0c5,0x0,_0x261805,_0x234f42,0x1);return _0x261805;};var _0xfddecc=function(_0x5d7dad){function _0x22b0c5(_0x22b0c5,_0x5ac9eb){_0x5d7dad['call'](this,_0x5ac9eb),this[_0x1a4e('0x2b8')]=null,this[_0x1a4e('0x1fd')](_0x22b0c5);}_0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),(_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]))[_0x1a4e('0x10')]=_0x22b0c5;var _0x5ac9eb={'serialVersionUID':{'configurable':!0x0}};return _0x22b0c5['prototype'][_0x1a4e('0x332')]=function(){return this[_0x1a4e('0x149')]()?new _0x322dd2():this[_0x1a4e('0x2b8')]['expandEnvelope'](new _0x322dd2());},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x34f')]=function(){return this['isClosed']()&&this['isSimple']();},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x320')]=function(){return _0x5d7dad['SORTINDEX_LINESTRING'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x397')]=function(){return this[_0x1a4e('0x2b8')][_0x1a4e('0x293')]();},_0x22b0c5['prototype'][_0x1a4e('0x325')]=function(){if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];if(!this['isEquivalentClass'](_0x22b0c5))return!0x1;var _0x261805=_0x22b0c5;if(this[_0x1a4e('0x2b8')][_0x1a4e('0x220')]()!==_0x261805[_0x1a4e('0x2b8')][_0x1a4e('0x220')]())return!0x1;for(var _0x81bc8f=0x0;_0x81bc8f0x0&&_0x296d74[_0x1a4e('0x9b')](this[_0x1a4e('0x2b8')]),null;}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(){return this[_0x1a4e('0x149')]()?null:this[_0x1a4e('0x2b8')][_0x1a4e('0x28e')](0x0);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x378')]=function(){return this[_0x1a4e('0x37d')]()?_0x4168b8[_0x1a4e('0x367')]:0x0;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x37d')]=function(){return!this[_0x1a4e('0x149')]()&&this['getCoordinateN'](0x0)[_0x1a4e('0x23b')](this[_0x1a4e('0x387')](this[_0x1a4e('0x376')]()-0x1));},_0x22b0c5['prototype'][_0x1a4e('0x398')]=function(){return this[_0x1a4e('0x149')]()?null:this[_0x1a4e('0x399')](this['getNumPoints']()-0x1);},_0x22b0c5[_0x1a4e('0xa')]['getDimension']=function(){return 0x1;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x32a')]=function(){return _0x2a79ee[_0x1a4e('0x312')](this[_0x1a4e('0x2b8')]);},_0x22b0c5['prototype'][_0x1a4e('0x376')]=function(){return this['_points'][_0x1a4e('0x220')]();},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x9b')]=function(){var _0x5d7dad=this['_points']['copy']();return _0x296d74[_0x1a4e('0x9b')](_0x5d7dad),this['getFactory']()[_0x1a4e('0x2c2')](_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x379')]=function(){if(0x1===arguments['length']){for(var _0x5d7dad=arguments[0x0],_0x22b0c5=0x0,_0x5ac9eb=0x0;_0x22b0c5=0x1&&this[_0x1a4e('0x39a')]()[_0x1a4e('0x220')]()<_0x22b0c5[_0x1a4e('0x3ac')])throw new _0x3eb8a2(_0x1a4e('0x3ad')+this[_0x1a4e('0x39a')]()[_0x1a4e('0x220')]()+_0x1a4e('0x3ae'));},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x37c')]=function(){return _0x1a4e('0x3af');},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0xea')]=function(){return new _0x22b0c5(this[_0x1a4e('0x2b8')][_0x1a4e('0xea')](),this[_0x1a4e('0x31c')]);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x5ac9eb[_0x1a4e('0x3ac')][_0x1a4e('0x179')]=function(){return 0x4;},_0x5ac9eb[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return-0x3b229e262367a600;},Object[_0x1a4e('0x1c8')](_0x22b0c5,_0x5ac9eb),_0x22b0c5;}(_0xfddecc),_0x204133=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad['apply'](this,arguments);}_0x5d7dad&&(_0x22b0c5['__proto__']=_0x5d7dad),(_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad['prototype']))['constructor']=_0x22b0c5;var _0x5ac9eb={'serialVersionUID':{'configurable':!0x0}};return _0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x320')]=function(){return _0x25c10a['SORTINDEX_MULTIPOLYGON'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x325')]=function(){if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];return!!this[_0x1a4e('0x377')](_0x22b0c5)&&_0x5d7dad['prototype'][_0x1a4e('0x325')][_0x1a4e('0x1')](this,_0x22b0c5,_0x5ac9eb);}return _0x5d7dad[_0x1a4e('0xa')]['equalsExact']['apply'](this,arguments);},_0x22b0c5[_0x1a4e('0xa')]['getBoundaryDimension']=function(){return 0x1;},_0x22b0c5['prototype']['getDimension']=function(){return 0x2;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x9b')]=function(){for(var _0x5d7dad=this[_0x1a4e('0x2b7')][_0x1a4e('0x1e')],_0x22b0c5=new Array(_0x5d7dad)[_0x1a4e('0x22c')](null),_0x5ac9eb=0x0;_0x5ac9eb0x0?_0x22b0c5[_0x1a4e('0x2bc')](_0x5ac9eb[0x0]):_0x22b0c5[_0x1a4e('0x2bc')]():_0x5d7dad;},_0x798d74['prototype'][_0x1a4e('0x233')]=function(){return[_0x420686[_0x1a4e('0x3b7')]];},_0x798d74[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x798d74;};var _0x2d9de5=function(){};_0x2d9de5[_0x1a4e('0xa')][_0x1a4e('0x3b1')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad instanceof _0x5d75e4?_0x22b0c5[_0x1a4e('0x2c3')](this[_0x1a4e('0x3b1')](_0x5d7dad[_0x1a4e('0x39a')](),_0x5d7dad)):_0x5d7dad instanceof _0xfddecc?_0x22b0c5[_0x1a4e('0x2c2')](this[_0x1a4e('0x3b1')](_0x5d7dad['getCoordinateSequence'](),_0x5d7dad)):_0x5d7dad instanceof _0x26c3b7?_0x22b0c5[_0x1a4e('0x2bc')](this['edit'](_0x5d7dad['getCoordinateSequence'](),_0x5d7dad)):_0x5d7dad;},_0x2d9de5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x420686[_0x1a4e('0x3b7')]];},_0x2d9de5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2d9de5;};var _0xae22be=function(){if(this['_dimension']=0x3,this[_0x1a4e('0x2b9')]=null,0x1===arguments[_0x1a4e('0x1e')]){if(arguments[0x0]instanceof Array)this[_0x1a4e('0x2b9')]=arguments[0x0],this[_0x1a4e('0x3bc')]=0x3;else if(Number['isInteger'](arguments[0x0])){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x2b9')]=new Array(_0x5d7dad)[_0x1a4e('0x22c')](null);for(var _0x22b0c5=0x0;_0x22b0c5<_0x5d7dad;_0x22b0c5++)this['_coordinates'][_0x22b0c5]=new _0x517a0b();}else if(_0x73c38a(arguments[0x0],_0x1550a2)){var _0x5ac9eb=arguments[0x0];if(null===_0x5ac9eb)return this[_0x1a4e('0x2b9')]=new Array(0x0)[_0x1a4e('0x22c')](null),null;this['_dimension']=_0x5ac9eb['getDimension'](),this[_0x1a4e('0x2b9')]=new Array(_0x5ac9eb[_0x1a4e('0x220')]())['fill'](null);for(var _0x261805=0x0;_0x2618050x0){var _0x5d7dad=new _0x2ee01c(0x11*this['_coordinates']['length']);_0x5d7dad[_0x1a4e('0x252')]('('),_0x5d7dad[_0x1a4e('0x252')](this[_0x1a4e('0x2b9')][0x0]);for(var _0x22b0c5=0x1;_0x22b0c50x3&&(_0x261805=0x3),_0x261805<0x2?new _0xae22be(_0x5ac9eb):new _0xae22be(_0x5ac9eb,_0x261805);}},_0x808a9a['prototype']['interfaces_']=function(){return[_0x3b3188,_0x4ad42f];},_0x808a9a[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x808a9a;},_0x808a9a[_0x1a4e('0x3bf')]=function(){return _0x808a9a[_0x1a4e('0x3c0')];},_0x3ccce1[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return-0x38e49fa6cf6f2e00;},_0x3ccce1[_0x1a4e('0x3c0')][_0x1a4e('0x179')]=function(){return new _0x808a9a();},Object[_0x1a4e('0x1c8')](_0x808a9a,_0x3ccce1);var _0x3ecba8=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x1')](this),this[_0x1a4e('0x3c1')]=new Map();}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5['prototype']=Object['create'](_0x5d7dad&&_0x5d7dad['prototype']),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5['prototype'][_0x1a4e('0x179')]=function(_0x5d7dad){return this[_0x1a4e('0x3c1')][_0x1a4e('0x179')](_0x5d7dad)||null;},_0x22b0c5[_0x1a4e('0xa')]['put']=function(_0x5d7dad,_0x22b0c5){return this['map_'][_0x1a4e('0x17a')](_0x5d7dad,_0x22b0c5),_0x22b0c5;},_0x22b0c5[_0x1a4e('0xa')]['values']=function(){for(var _0x5d7dad=new _0x389784(),_0x22b0c5=this[_0x1a4e('0x3c1')][_0x1a4e('0x35b')](),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();!_0x5ac9eb[_0x1a4e('0x3c2')];)_0x5d7dad[_0x1a4e('0x177')](_0x5ac9eb['value']),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();return _0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')]['entrySet']=function(){var _0x5d7dad=new _0x3395af();return this[_0x1a4e('0x3c1')][_0x1a4e('0x3c3')]()[_0x1a4e('0x3b')](function(_0x22b0c5){return _0x5d7dad[_0x1a4e('0x177')](_0x22b0c5);}),_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x220')]=function(){return this[_0x1a4e('0x3c1')][_0x1a4e('0x220')]();},_0x22b0c5;}(_0x3d1bb0),_0x1cb3d0=function _0x5d7dad(){if(this['_modelType']=null,this[_0x1a4e('0x3c4')]=null,0x0===arguments[_0x1a4e('0x1e')])this['_modelType']=_0x5d7dad[_0x1a4e('0x3c5')];else if(0x1===arguments['length'])if(arguments[0x0]instanceof _0xe19884){var _0x22b0c5=arguments[0x0];this['_modelType']=_0x22b0c5,_0x22b0c5===_0x5d7dad[_0x1a4e('0x3c6')]&&this[_0x1a4e('0x3c7')](0x1);}else if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x5ac9eb=arguments[0x0];this[_0x1a4e('0x3c8')]=_0x5d7dad[_0x1a4e('0x3c6')],this['setScale'](_0x5ac9eb);}else if(arguments[0x0]instanceof _0x5d7dad){var _0x261805=arguments[0x0];this[_0x1a4e('0x3c8')]=_0x261805[_0x1a4e('0x3c8')],this[_0x1a4e('0x3c4')]=_0x261805[_0x1a4e('0x3c4')];}},_0x3f0cab={'serialVersionUID':{'configurable':!0x0},'maximumPreciseValue':{'configurable':!0x0}};_0x1cb3d0['prototype'][_0x1a4e('0x23e')]=function(_0x5d7dad){if(!(_0x5d7dad instanceof _0x1cb3d0))return!0x1;var _0x22b0c5=_0x5d7dad;return this[_0x1a4e('0x3c8')]===_0x22b0c5[_0x1a4e('0x3c8')]&&this[_0x1a4e('0x3c4')]===_0x22b0c5[_0x1a4e('0x3c4')];},_0x1cb3d0[_0x1a4e('0xa')]['compareTo']=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad,_0x5ac9eb=this[_0x1a4e('0x3c9')](),_0x261805=_0x22b0c5[_0x1a4e('0x3c9')]();return new _0x2e5c34(_0x5ac9eb)[_0x1a4e('0x2a7')](new _0x2e5c34(_0x261805));},_0x1cb3d0[_0x1a4e('0xa')]['getScale']=function(){return this[_0x1a4e('0x3c4')];},_0x1cb3d0[_0x1a4e('0xa')][_0x1a4e('0x3ca')]=function(){return this[_0x1a4e('0x3c8')]===_0x1cb3d0[_0x1a4e('0x3c5')]||this[_0x1a4e('0x3c8')]===_0x1cb3d0[_0x1a4e('0x3cb')];},_0x1cb3d0[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return this[_0x1a4e('0x3c8')];},_0x1cb3d0[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){var _0x5d7dad='UNKNOWN';return this[_0x1a4e('0x3c8')]===_0x1cb3d0['FLOATING']?_0x5d7dad='Floating':this[_0x1a4e('0x3c8')]===_0x1cb3d0[_0x1a4e('0x3cb')]?_0x5d7dad=_0x1a4e('0x3cd'):this[_0x1a4e('0x3c8')]===_0x1cb3d0[_0x1a4e('0x3c6')]&&(_0x5d7dad=_0x1a4e('0x3ce')+this['getScale']()+')'),_0x5d7dad;},_0x1cb3d0['prototype'][_0x1a4e('0x301')]=function(){if(_0x1a4e('0x3d')==typeof arguments[0x0]){var _0x5d7dad=arguments[0x0];return _0x104610[_0x1a4e('0x231')](_0x5d7dad)?_0x5d7dad:this[_0x1a4e('0x3c8')]===_0x1cb3d0[_0x1a4e('0x3cb')]?_0x5d7dad:this[_0x1a4e('0x3c8')]===_0x1cb3d0['FIXED']?Math[_0x1a4e('0x2a')](_0x5d7dad*this['_scale'])/this[_0x1a4e('0x3c4')]:_0x5d7dad;}if(arguments[0x0]instanceof _0x517a0b){var _0x22b0c5=arguments[0x0];if(this['_modelType']===_0x1cb3d0[_0x1a4e('0x3c5')])return null;_0x22b0c5['x']=this['makePrecise'](_0x22b0c5['x']),_0x22b0c5['y']=this[_0x1a4e('0x301')](_0x22b0c5['y']);}},_0x1cb3d0[_0x1a4e('0xa')][_0x1a4e('0x3c9')]=function(){var _0x5d7dad=0x10;return this[_0x1a4e('0x3c8')]===_0x1cb3d0['FLOATING']?_0x5d7dad=0x10:this[_0x1a4e('0x3c8')]===_0x1cb3d0['FLOATING_SINGLE']?_0x5d7dad=0x6:this[_0x1a4e('0x3c8')]===_0x1cb3d0['FIXED']&&(_0x5d7dad=0x1+Math['trunc'](Math[_0x1a4e('0x6d')](Math[_0x1a4e('0x58')](this[_0x1a4e('0x3cf')]())/Math[_0x1a4e('0x58')](0xa)))),_0x5d7dad;},_0x1cb3d0['prototype'][_0x1a4e('0x3c7')]=function(_0x5d7dad){this[_0x1a4e('0x3c4')]=Math[_0x1a4e('0x65')](_0x5d7dad);},_0x1cb3d0['prototype'][_0x1a4e('0x233')]=function(){return[_0x4ad42f,_0x65271];},_0x1cb3d0[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1cb3d0;},_0x1cb3d0[_0x1a4e('0x3d0')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad['compareTo'](_0x22b0c5)>=0x0?_0x5d7dad:_0x22b0c5;},_0x3f0cab['serialVersionUID'][_0x1a4e('0x179')]=function(){return 0x6bee6404e9a25c00;},_0x3f0cab[_0x1a4e('0x3d1')]['get']=function(){return 0x20000000000000;},Object[_0x1a4e('0x1c8')](_0x1cb3d0,_0x3f0cab);var _0xe19884=function _0x5d7dad(_0x22b0c5){this['_name']=_0x22b0c5||null,_0x5d7dad['nameToTypeMap'][_0x1a4e('0x35a')](_0x22b0c5,this);},_0x33e0a2={'serialVersionUID':{'configurable':!0x0},'nameToTypeMap':{'configurable':!0x0}};_0xe19884[_0x1a4e('0xa')][_0x1a4e('0x3be')]=function(){return _0xe19884[_0x1a4e('0x3d2')][_0x1a4e('0x179')](this[_0x1a4e('0x3d3')]);},_0xe19884[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return this[_0x1a4e('0x3d3')];},_0xe19884[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x4ad42f];},_0xe19884['prototype'][_0x1a4e('0x234')]=function(){return _0xe19884;},_0x33e0a2[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return-0x4cb98acd40a6b400;},_0x33e0a2['nameToTypeMap'][_0x1a4e('0x179')]=function(){return new _0x3ecba8();},Object['defineProperties'](_0xe19884,_0x33e0a2),_0x1cb3d0[_0x1a4e('0x3d4')]=_0xe19884,_0x1cb3d0[_0x1a4e('0x3c6')]=new _0xe19884('FIXED'),_0x1cb3d0[_0x1a4e('0x3c5')]=new _0xe19884(_0x1a4e('0x3c5')),_0x1cb3d0['FLOATING_SINGLE']=new _0xe19884(_0x1a4e('0x3d5'));var _0x5b3e72=function _0x5d7dad(){this['_precisionModel']=new _0x1cb3d0(),this[_0x1a4e('0x31d')]=0x0,this[_0x1a4e('0x3d6')]=_0x5d7dad[_0x1a4e('0x3d7')](),0x0===arguments[_0x1a4e('0x1e')]||(0x1===arguments[_0x1a4e('0x1e')]?_0x73c38a(arguments[0x0],_0x3b3188)?this[_0x1a4e('0x3d6')]=arguments[0x0]:arguments[0x0]instanceof _0x1cb3d0&&(this[_0x1a4e('0x2d8')]=arguments[0x0]):0x2===arguments[_0x1a4e('0x1e')]?(this['_precisionModel']=arguments[0x0],this[_0x1a4e('0x31d')]=arguments[0x1]):0x3===arguments[_0x1a4e('0x1e')]&&(this[_0x1a4e('0x2d8')]=arguments[0x0],this[_0x1a4e('0x31d')]=arguments[0x1],this[_0x1a4e('0x3d6')]=arguments[0x2]));},_0x205c56={'serialVersionUID':{'configurable':!0x0}};_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x32d')]=function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x29d')]()?this[_0x1a4e('0x2bc')](null):_0x5d7dad[_0x1a4e('0x29f')]()===_0x5d7dad[_0x1a4e('0x29e')]()&&_0x5d7dad[_0x1a4e('0x2a2')]()===_0x5d7dad[_0x1a4e('0x2a3')]()?this[_0x1a4e('0x2bc')](new _0x517a0b(_0x5d7dad['getMinX'](),_0x5d7dad['getMinY']())):_0x5d7dad[_0x1a4e('0x29f')]()===_0x5d7dad['getMaxX']()||_0x5d7dad['getMinY']()===_0x5d7dad[_0x1a4e('0x2a3')]()?this['createLineString']([new _0x517a0b(_0x5d7dad[_0x1a4e('0x29f')](),_0x5d7dad[_0x1a4e('0x2a2')]()),new _0x517a0b(_0x5d7dad[_0x1a4e('0x29e')](),_0x5d7dad[_0x1a4e('0x2a3')]())]):this['createPolygon'](this[_0x1a4e('0x2c3')]([new _0x517a0b(_0x5d7dad['getMinX'](),_0x5d7dad[_0x1a4e('0x2a2')]()),new _0x517a0b(_0x5d7dad['getMinX'](),_0x5d7dad[_0x1a4e('0x2a3')]()),new _0x517a0b(_0x5d7dad[_0x1a4e('0x29e')](),_0x5d7dad[_0x1a4e('0x2a3')]()),new _0x517a0b(_0x5d7dad[_0x1a4e('0x29e')](),_0x5d7dad[_0x1a4e('0x2a2')]()),new _0x517a0b(_0x5d7dad['getMinX'](),_0x5d7dad[_0x1a4e('0x2a2')]())]),null);},_0x5b3e72['prototype']['createLineString']=function(_0x5d7dad){return _0x5d7dad?_0x5d7dad instanceof Array?new _0xfddecc(this['getCoordinateSequenceFactory']()[_0x1a4e('0x7')](_0x5d7dad),this):_0x73c38a(_0x5d7dad,_0x1550a2)?new _0xfddecc(_0x5d7dad,this):void 0x0:new _0xfddecc(this[_0x1a4e('0x39b')]()['create']([]),this);},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x2c4')]=function(){if(0x0===arguments[_0x1a4e('0x1e')])return new _0x43e875(null,this);if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return new _0x43e875(_0x5d7dad,this);}},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x3d8')]=function(_0x5d7dad){for(var _0x22b0c5=null,_0x5ac9eb=!0x1,_0x261805=!0x1,_0x81bc8f=_0x5d7dad['iterator']();_0x81bc8f[_0x1a4e('0x336')]();){var _0x234f42=_0x81bc8f[_0x1a4e('0x7e')](),_0x153447=_0x234f42[_0x1a4e('0x234')]();null===_0x22b0c5&&(_0x22b0c5=_0x153447),_0x153447!==_0x22b0c5&&(_0x5ac9eb=!0x0),_0x234f42[_0x1a4e('0x337')]()&&(_0x261805=!0x0);}if(null===_0x22b0c5)return this[_0x1a4e('0x2c9')]();if(_0x5ac9eb||_0x261805)return this[_0x1a4e('0x2c9')](_0x5b3e72[_0x1a4e('0x3d9')](_0x5d7dad));var _0x1972c2=_0x5d7dad[_0x1a4e('0x335')]()['next']();if(_0x5d7dad[_0x1a4e('0x220')]()>0x1){if(_0x1972c2 instanceof _0xec6fef)return this[_0x1a4e('0x2c7')](_0x5b3e72[_0x1a4e('0x3da')](_0x5d7dad));if(_0x1972c2 instanceof _0xfddecc)return this[_0x1a4e('0x2c4')](_0x5b3e72[_0x1a4e('0x3db')](_0x5d7dad));if(_0x1972c2 instanceof _0x26c3b7)return this[_0x1a4e('0x2c1')](_0x5b3e72[_0x1a4e('0x3dc')](_0x5d7dad));_0x1e33dc[_0x1a4e('0x2ce')](_0x1a4e('0x3dd')+_0x1972c2[_0x1a4e('0x234')]()[_0x1a4e('0x3b6')]());}return _0x1972c2;},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x3de')]=function(_0x5d7dad){return this[_0x1a4e('0x2c1')](null!==_0x5d7dad?this[_0x1a4e('0x39b')]()[_0x1a4e('0x7')](_0x5d7dad):null);},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x2bc')]=function(){if(0x0===arguments[_0x1a4e('0x1e')])return this[_0x1a4e('0x2bc')](this[_0x1a4e('0x39b')]()[_0x1a4e('0x7')]([]));if(0x1===arguments[_0x1a4e('0x1e')]){if(arguments[0x0]instanceof _0x517a0b){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x2bc')](null!==_0x5d7dad?this[_0x1a4e('0x39b')]()[_0x1a4e('0x7')]([_0x5d7dad]):null);}if(_0x73c38a(arguments[0x0],_0x1550a2)){var _0x22b0c5=arguments[0x0];return new _0x26c3b7(_0x22b0c5,this);}}},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x39b')]=function(){return this[_0x1a4e('0x3d6')];},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x2c6')]=function(){if(0x0===arguments[_0x1a4e('0x1e')])return new _0xec6fef(null,null,this);if(0x1===arguments[_0x1a4e('0x1e')]){if(_0x73c38a(arguments[0x0],_0x1550a2)){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x2c6')](this[_0x1a4e('0x2c3')](_0x5d7dad));}if(arguments[0x0]instanceof Array){var _0x22b0c5=arguments[0x0];return this['createPolygon'](this['createLinearRing'](_0x22b0c5));}if(arguments[0x0]instanceof _0x5d75e4){var _0x5ac9eb=arguments[0x0];return this['createPolygon'](_0x5ac9eb,null);}}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1];return new _0xec6fef(_0x261805,_0x81bc8f,this);}},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x3df')]=function(){return this[_0x1a4e('0x31d')];},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x2c9')]=function(){if(0x0===arguments[_0x1a4e('0x1e')])return new _0xee49b8(null,this);if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return new _0xee49b8(_0x5d7dad,this);}},_0x5b3e72['prototype'][_0x1a4e('0x3e0')]=function(_0x5d7dad){return new _0x420686(this)['edit'](_0x5d7dad,{'edit':function(){if(0x2===arguments['length']){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x3d6')][_0x1a4e('0x7')](_0x5d7dad);}}});},_0x5b3e72[_0x1a4e('0xa')]['getPrecisionModel']=function(){return this[_0x1a4e('0x2d8')];},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x2c3')]=function(){if(0x0===arguments['length'])return this[_0x1a4e('0x2c3')](this[_0x1a4e('0x39b')]()[_0x1a4e('0x7')]([]));if(0x1===arguments['length']){if(arguments[0x0]instanceof Array){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x2c3')](null!==_0x5d7dad?this[_0x1a4e('0x39b')]()[_0x1a4e('0x7')](_0x5d7dad):null);}if(_0x73c38a(arguments[0x0],_0x1550a2)){var _0x22b0c5=arguments[0x0];return new _0x5d75e4(_0x22b0c5,this);}}},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x2c7')]=function(){if(0x0===arguments[_0x1a4e('0x1e')])return new _0x204133(null,this);if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return new _0x204133(_0x5d7dad,this);}},_0x5b3e72['prototype'][_0x1a4e('0x2c1')]=function(){if(0x0===arguments[_0x1a4e('0x1e')])return new _0x89994c(null,this);if(0x1===arguments['length']){if(arguments[0x0]instanceof Array){var _0x5d7dad=arguments[0x0];return new _0x89994c(_0x5d7dad,this);}if(arguments[0x0]instanceof Array){var _0x22b0c5=arguments[0x0];return this[_0x1a4e('0x2c1')](null!==_0x22b0c5?this[_0x1a4e('0x39b')]()[_0x1a4e('0x7')](_0x22b0c5):null);}if(_0x73c38a(arguments[0x0],_0x1550a2)){var _0x5ac9eb=arguments[0x0];if(null===_0x5ac9eb)return this[_0x1a4e('0x2c1')](new Array(0x0)[_0x1a4e('0x22c')](null));for(var _0x261805=new Array(_0x5ac9eb[_0x1a4e('0x220')]())['fill'](null),_0x81bc8f=0x0;_0x81bc8f<_0x5ac9eb['size']();_0x81bc8f++){var _0x234f42=this['getCoordinateSequenceFactory']()[_0x1a4e('0x7')](0x1,_0x5ac9eb['getDimension']());_0x296d74['copy'](_0x5ac9eb,_0x81bc8f,_0x234f42,0x0,0x1),_0x261805[_0x81bc8f]=this[_0x1a4e('0x2bc')](_0x234f42);}return this[_0x1a4e('0x2c1')](_0x261805);}}},_0x5b3e72[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x4ad42f];},_0x5b3e72[_0x1a4e('0xa')]['getClass']=function(){return _0x5b3e72;},_0x5b3e72[_0x1a4e('0x3e1')]=function(_0x5d7dad){var _0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x220')]())[_0x1a4e('0x22c')](null);return _0x5d7dad[_0x1a4e('0x347')](_0x22b0c5);},_0x5b3e72[_0x1a4e('0x3d9')]=function(_0x5d7dad){if(null===_0x5d7dad)return null;var _0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x220')]())['fill'](null);return _0x5d7dad[_0x1a4e('0x347')](_0x22b0c5);},_0x5b3e72['getDefaultCoordinateSequenceFactory']=function(){return _0x808a9a[_0x1a4e('0x3bf')]();},_0x5b3e72[_0x1a4e('0x3e2')]=function(_0x5d7dad){var _0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x220')]())[_0x1a4e('0x22c')](null);return _0x5d7dad['toArray'](_0x22b0c5);},_0x5b3e72['toLineStringArray']=function(_0x5d7dad){var _0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x220')]())[_0x1a4e('0x22c')](null);return _0x5d7dad[_0x1a4e('0x347')](_0x22b0c5);},_0x5b3e72['toMultiPointArray']=function(_0x5d7dad){var _0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x220')]())[_0x1a4e('0x22c')](null);return _0x5d7dad[_0x1a4e('0x347')](_0x22b0c5);},_0x5b3e72[_0x1a4e('0x3e3')]=function(_0x5d7dad){var _0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x220')]())[_0x1a4e('0x22c')](null);return _0x5d7dad[_0x1a4e('0x347')](_0x22b0c5);},_0x5b3e72['toPointArray']=function(_0x5d7dad){var _0x22b0c5=new Array(_0x5d7dad['size']())[_0x1a4e('0x22c')](null);return _0x5d7dad[_0x1a4e('0x347')](_0x22b0c5);},_0x5b3e72['toPolygonArray']=function(_0x5d7dad){var _0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x220')]())[_0x1a4e('0x22c')](null);return _0x5d7dad['toArray'](_0x22b0c5);},_0x5b3e72[_0x1a4e('0x3e4')]=function(_0x5d7dad,_0x22b0c5){return _0x22b0c5['getPrecisionModel']()[_0x1a4e('0x301')](_0x5d7dad),_0x22b0c5[_0x1a4e('0x322')]()['createPoint'](_0x5d7dad);},_0x205c56[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return-0x5ea75f2051eeb400;},Object['defineProperties'](_0x5b3e72,_0x205c56);var _0x414740=['Point',_0x1a4e('0x1a'),_0x1a4e('0x44'),'MultiLineString',_0x1a4e('0x19'),_0x1a4e('0x1c')],_0x1627b8=function(_0x5d7dad){this['geometryFactory']=_0x5d7dad||new _0x5b3e72();};_0x1627b8[_0x1a4e('0xa')][_0x1a4e('0x144')]=function(_0x5d7dad){var _0x22b0c5,_0x5ac9eb=(_0x22b0c5='string'==typeof _0x5d7dad?JSON[_0x1a4e('0x25a')](_0x5d7dad):_0x5d7dad)['type'];if(!_0x31adac[_0x5ac9eb])throw new Error(_0x1a4e('0x3e5')+_0x22b0c5['type']);return-0x1!==_0x414740[_0x1a4e('0x3e')](_0x5ac9eb)?_0x31adac[_0x5ac9eb][_0x1a4e('0x8b')](this,[_0x22b0c5[_0x1a4e('0x43')]]):'GeometryCollection'===_0x5ac9eb?_0x31adac[_0x5ac9eb][_0x1a4e('0x8b')](this,[_0x22b0c5[_0x1a4e('0x42')]]):_0x31adac[_0x5ac9eb][_0x1a4e('0x8b')](this,[_0x22b0c5]);},_0x1627b8[_0x1a4e('0xa')]['write']=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad['getGeometryType']();if(!_0x554ac8[_0x22b0c5])throw new Error(_0x1a4e('0x3e6'));return _0x554ac8[_0x22b0c5][_0x1a4e('0x8b')](this,[_0x5d7dad]);};var _0x31adac={'Feature':function(_0x5d7dad){var _0x22b0c5={};for(var _0x5ac9eb in _0x5d7dad)_0x22b0c5[_0x5ac9eb]=_0x5d7dad[_0x5ac9eb];if(_0x5d7dad[_0x1a4e('0x18')]){var _0x261805=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')];if(!_0x31adac[_0x261805])throw new Error('Unknown\x20GeoJSON\x20type:\x20'+_0x5d7dad[_0x1a4e('0x40')]);_0x22b0c5['geometry']=this[_0x1a4e('0x144')](_0x5d7dad[_0x1a4e('0x18')]);}return _0x5d7dad['bbox']&&(_0x22b0c5[_0x1a4e('0xe')]=_0x31adac[_0x1a4e('0xe')]['apply'](this,[_0x5d7dad[_0x1a4e('0xe')]])),_0x22b0c5;},'FeatureCollection':function(_0x5d7dad){var _0x22b0c5={};if(_0x5d7dad['features']){_0x22b0c5['features']=[];for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['features'][_0x1a4e('0x1e')];++_0x5ac9eb)_0x22b0c5['features'][_0x1a4e('0x46')](this[_0x1a4e('0x144')](_0x5d7dad[_0x1a4e('0x25')][_0x5ac9eb]));}return _0x5d7dad['bbox']&&(_0x22b0c5[_0x1a4e('0xe')]=this['parse'][_0x1a4e('0xe')][_0x1a4e('0x8b')](this,[_0x5d7dad[_0x1a4e('0xe')]])),_0x22b0c5;},'coordinates':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['length'];++_0x5ac9eb){var _0x261805=_0x5d7dad[_0x5ac9eb];_0x22b0c5[_0x1a4e('0x46')](new _0x517a0b(_0x261805[0x0],_0x261805[0x1]));}return _0x22b0c5;},'bbox':function(_0x5d7dad){return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c3')]([new _0x517a0b(_0x5d7dad[0x0],_0x5d7dad[0x1]),new _0x517a0b(_0x5d7dad[0x2],_0x5d7dad[0x1]),new _0x517a0b(_0x5d7dad[0x2],_0x5d7dad[0x3]),new _0x517a0b(_0x5d7dad[0x0],_0x5d7dad[0x3]),new _0x517a0b(_0x5d7dad[0x0],_0x5d7dad[0x1])]);},'Point':function(_0x5d7dad){var _0x22b0c5=new _0x517a0b(_0x5d7dad[0x0],_0x5d7dad[0x1]);return this[_0x1a4e('0x2ae')][_0x1a4e('0x2bc')](_0x22b0c5);},'MultiPoint':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];++_0x5ac9eb)_0x22b0c5[_0x1a4e('0x46')](_0x31adac[_0x1a4e('0x17')][_0x1a4e('0x8b')](this,[_0x5d7dad[_0x5ac9eb]]));return this[_0x1a4e('0x2ae')]['createMultiPoint'](_0x22b0c5);},'LineString':function(_0x5d7dad){var _0x22b0c5=_0x31adac['coordinates']['apply'](this,[_0x5d7dad]);return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c2')](_0x22b0c5);},'MultiLineString':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];++_0x5ac9eb)_0x22b0c5[_0x1a4e('0x46')](_0x31adac[_0x1a4e('0x44')][_0x1a4e('0x8b')](this,[_0x5d7dad[_0x5ac9eb]]));return this['geometryFactory']['createMultiLineString'](_0x22b0c5);},'Polygon':function(_0x5d7dad){for(var _0x22b0c5=_0x31adac['coordinates'][_0x1a4e('0x8b')](this,[_0x5d7dad[0x0]]),_0x5ac9eb=this['geometryFactory']['createLinearRing'](_0x22b0c5),_0x261805=[],_0x81bc8f=0x1;_0x81bc8f<_0x5d7dad['length'];++_0x81bc8f){var _0x234f42=_0x5d7dad[_0x81bc8f],_0x153447=_0x31adac[_0x1a4e('0x43')]['apply'](this,[_0x234f42]),_0x1972c2=this[_0x1a4e('0x2ae')][_0x1a4e('0x2c3')](_0x153447);_0x261805['push'](_0x1972c2);}return this[_0x1a4e('0x2ae')]['createPolygon'](_0x5ac9eb,_0x261805);},'MultiPolygon':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')];++_0x5ac9eb){var _0x261805=_0x5d7dad[_0x5ac9eb];_0x22b0c5['push'](_0x31adac[_0x1a4e('0x19')][_0x1a4e('0x8b')](this,[_0x261805]));}return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c7')](_0x22b0c5);},'GeometryCollection':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['length'];++_0x5ac9eb){var _0x261805=_0x5d7dad[_0x5ac9eb];_0x22b0c5[_0x1a4e('0x46')](this[_0x1a4e('0x144')](_0x261805));}return this[_0x1a4e('0x2ae')][_0x1a4e('0x2c9')](_0x22b0c5);}},_0x554ac8={'coordinate':function(_0x5d7dad){return[_0x5d7dad['x'],_0x5d7dad['y']];},'Point':function(_0x5d7dad){return{'type':_0x1a4e('0x17'),'coordinates':_0x554ac8['coordinate']['apply'](this,[_0x5d7dad[_0x1a4e('0x28e')]()])};},'MultiPoint':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x2b7')][_0x1a4e('0x1e')];++_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x2b7')][_0x5ac9eb],_0x81bc8f=_0x554ac8[_0x1a4e('0x17')][_0x1a4e('0x8b')](this,[_0x261805]);_0x22b0c5[_0x1a4e('0x46')](_0x81bc8f[_0x1a4e('0x43')]);}return{'type':'MultiPoint','coordinates':_0x22b0c5};},'LineString':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=_0x5d7dad['getCoordinates'](),_0x261805=0x0;_0x261805<_0x5ac9eb['length'];++_0x261805){var _0x81bc8f=_0x5ac9eb[_0x261805];_0x22b0c5[_0x1a4e('0x46')](_0x554ac8[_0x1a4e('0x2b6')]['apply'](this,[_0x81bc8f]));}return{'type':_0x1a4e('0x44'),'coordinates':_0x22b0c5};},'MultiLineString':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['_geometries'][_0x1a4e('0x1e')];++_0x5ac9eb){var _0x261805=_0x5d7dad['_geometries'][_0x5ac9eb],_0x81bc8f=_0x554ac8['LineString'][_0x1a4e('0x8b')](this,[_0x261805]);_0x22b0c5[_0x1a4e('0x46')](_0x81bc8f[_0x1a4e('0x43')]);}return{'type':'MultiLineString','coordinates':_0x22b0c5};},'Polygon':function(_0x5d7dad){var _0x22b0c5=[],_0x5ac9eb=_0x554ac8[_0x1a4e('0x44')][_0x1a4e('0x8b')](this,[_0x5d7dad[_0x1a4e('0x3a2')]]);_0x22b0c5['push'](_0x5ac9eb[_0x1a4e('0x43')]);for(var _0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x2bb')][_0x1a4e('0x1e')];++_0x261805){var _0x81bc8f=_0x5d7dad[_0x1a4e('0x2bb')][_0x261805],_0x234f42=_0x554ac8[_0x1a4e('0x44')][_0x1a4e('0x8b')](this,[_0x81bc8f]);_0x22b0c5[_0x1a4e('0x46')](_0x234f42[_0x1a4e('0x43')]);}return{'type':_0x1a4e('0x19'),'coordinates':_0x22b0c5};},'MultiPolygon':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x2b7')][_0x1a4e('0x1e')];++_0x5ac9eb){var _0x261805=_0x5d7dad['_geometries'][_0x5ac9eb],_0x81bc8f=_0x554ac8['Polygon'][_0x1a4e('0x8b')](this,[_0x261805]);_0x22b0c5['push'](_0x81bc8f['coordinates']);}return{'type':'MultiPolygon','coordinates':_0x22b0c5};},'GeometryCollection':function(_0x5d7dad){for(var _0x22b0c5=[],_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['_geometries'][_0x1a4e('0x1e')];++_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x2b7')][_0x5ac9eb],_0x81bc8f=_0x261805[_0x1a4e('0x37c')]();_0x22b0c5['push'](_0x554ac8[_0x81bc8f]['apply'](this,[_0x261805]));}return{'type':_0x1a4e('0x28'),'geometries':_0x22b0c5};}},_0x2e0b42=function(_0x5d7dad){this[_0x1a4e('0x2ae')]=_0x5d7dad||new _0x5b3e72(),this['precisionModel']=this['geometryFactory'][_0x1a4e('0x331')](),this['parser']=new _0x1627b8(this[_0x1a4e('0x2ae')]);};_0x2e0b42['prototype'][_0x1a4e('0x144')]=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x2ca')]['read'](_0x5d7dad);return this[_0x1a4e('0x3e7')][_0x1a4e('0x3cc')]()===_0x1cb3d0['FIXED']&&this[_0x1a4e('0x3e8')](_0x22b0c5),_0x22b0c5;},_0x2e0b42[_0x1a4e('0xa')][_0x1a4e('0x3e8')]=function(_0x5d7dad){var _0x22b0c5,_0x5ac9eb;if(_0x5d7dad['coordinate'])this[_0x1a4e('0x3e7')][_0x1a4e('0x301')](_0x5d7dad['coordinate']);else if(_0x5d7dad[_0x1a4e('0x17d')])for(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x17d')][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)this[_0x1a4e('0x3e7')][_0x1a4e('0x301')](_0x5d7dad[_0x1a4e('0x17d')][_0x22b0c5]);else if(_0x5d7dad[_0x1a4e('0x42')])for(_0x22b0c5=0x0,_0x5ac9eb=_0x5d7dad['geometries'][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)this[_0x1a4e('0x3e8')](_0x5d7dad[_0x1a4e('0x42')][_0x22b0c5]);};var _0x3a2b94=function(){this[_0x1a4e('0x2ca')]=new _0x1627b8(this[_0x1a4e('0x2ae')]);};_0x3a2b94[_0x1a4e('0xa')][_0x1a4e('0x146')]=function(_0x5d7dad){return this[_0x1a4e('0x2ca')]['write'](_0x5d7dad);};var _0x17e5f3=function(){},_0x16e8b0={'ON':{'configurable':!0x0},'LEFT':{'configurable':!0x0},'RIGHT':{'configurable':!0x0}};_0x17e5f3[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x17e5f3['prototype'][_0x1a4e('0x234')]=function(){return _0x17e5f3;},_0x17e5f3[_0x1a4e('0x3e9')]=function(_0x5d7dad){return _0x5d7dad===_0x17e5f3[_0x1a4e('0x3ea')]?_0x17e5f3['RIGHT']:_0x5d7dad===_0x17e5f3[_0x1a4e('0x318')]?_0x17e5f3[_0x1a4e('0x3ea')]:_0x5d7dad;},_0x16e8b0['ON']['get']=function(){return 0x0;},_0x16e8b0[_0x1a4e('0x3ea')][_0x1a4e('0x179')]=function(){return 0x1;},_0x16e8b0['RIGHT'][_0x1a4e('0x179')]=function(){return 0x2;},Object[_0x1a4e('0x1c8')](_0x17e5f3,_0x16e8b0),(_0x16a7cd[_0x1a4e('0xa')]=new Error())[_0x1a4e('0x2cb')]='EmptyStackException',(_0x2d3d13[_0x1a4e('0xa')]=new _0x5f471f())[_0x1a4e('0x177')]=function(_0x5d7dad){return this['array_'][_0x1a4e('0x46')](_0x5d7dad),!0x0;},_0x2d3d13[_0x1a4e('0xa')][_0x1a4e('0x179')]=function(_0x5d7dad){if(_0x5d7dad<0x0||_0x5d7dad>=this['size']())throw new Error();return this[_0x1a4e('0x137')][_0x5d7dad];},_0x2d3d13['prototype'][_0x1a4e('0x46')]=function(_0x5d7dad){return this[_0x1a4e('0x137')][_0x1a4e('0x46')](_0x5d7dad),_0x5d7dad;},_0x2d3d13[_0x1a4e('0xa')][_0x1a4e('0x76')]=function(_0x5d7dad){if(0x0===this[_0x1a4e('0x137')][_0x1a4e('0x1e')])throw new _0x16a7cd();return this[_0x1a4e('0x137')][_0x1a4e('0x76')]();},_0x2d3d13[_0x1a4e('0xa')][_0x1a4e('0x3eb')]=function(){if(0x0===this[_0x1a4e('0x137')]['length'])throw new _0x16a7cd();return this[_0x1a4e('0x137')][this['array_'][_0x1a4e('0x1e')]-0x1];},_0x2d3d13[_0x1a4e('0xa')][_0x1a4e('0x3ec')]=function(){return 0x0===this['array_']['length'];},_0x2d3d13[_0x1a4e('0xa')][_0x1a4e('0x149')]=function(){return this[_0x1a4e('0x3ec')]();},_0x2d3d13[_0x1a4e('0xa')]['search']=function(_0x5d7dad){return this[_0x1a4e('0x137')][_0x1a4e('0x3e')](_0x5d7dad);},_0x2d3d13[_0x1a4e('0xa')][_0x1a4e('0x220')]=function(){return this[_0x1a4e('0x137')]['length'];},_0x2d3d13['prototype'][_0x1a4e('0x347')]=function(){for(var _0x5d7dad=[],_0x22b0c5=0x0,_0x5ac9eb=this['array_'][_0x1a4e('0x1e')];_0x22b0c5<_0x5ac9eb;_0x22b0c5++)_0x5d7dad[_0x1a4e('0x46')](this[_0x1a4e('0x137')][_0x22b0c5]);return _0x5d7dad;};var _0x696133=function(){this[_0x1a4e('0x3ed')]=-0x1,this['_minCoord']=null,this['_minDe']=null,this[_0x1a4e('0x3ee')]=null;};_0x696133[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(){return this[_0x1a4e('0x3ef')];},_0x696133[_0x1a4e('0xa')][_0x1a4e('0x3f0')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=this[_0x1a4e('0x3f1')](_0x5d7dad,_0x22b0c5);return _0x5ac9eb<0x0&&(_0x5ac9eb=this[_0x1a4e('0x3f1')](_0x5d7dad,_0x22b0c5-0x1)),_0x5ac9eb<0x0&&(this['_minCoord']=null,this['checkForRightmostCoordinate'](_0x5d7dad)),_0x5ac9eb;},_0x696133[_0x1a4e('0xa')][_0x1a4e('0x3f2')]=function(){var _0x5d7dad=this[_0x1a4e('0x3f3')][_0x1a4e('0x3f4')]()['getCoordinates']();_0x1e33dc[_0x1a4e('0x2d0')](this['_minIndex']>0x0&&this[_0x1a4e('0x3ed')]<_0x5d7dad[_0x1a4e('0x1e')],_0x1a4e('0x3f5'));var _0x22b0c5=_0x5d7dad[this['_minIndex']-0x1],_0x5ac9eb=_0x5d7dad[this[_0x1a4e('0x3ed')]+0x1],_0x261805=_0x2a79ee['computeOrientation'](this[_0x1a4e('0x3ef')],_0x5ac9eb,_0x22b0c5),_0x81bc8f=!0x1;_0x22b0c5['y']this[_0x1a4e('0x3ef')]['y']&&_0x5ac9eb['y']>this[_0x1a4e('0x3ef')]['y']&&_0x261805===_0x2a79ee[_0x1a4e('0x317')]&&(_0x81bc8f=!0x0),_0x81bc8f&&(this[_0x1a4e('0x3ed')]=this['_minIndex']-0x1);},_0x696133['prototype'][_0x1a4e('0x3f1')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad['getEdge']()[_0x1a4e('0x397')]();if(_0x22b0c5<0x0||_0x22b0c5+0x1>=_0x5ac9eb[_0x1a4e('0x1e')])return-0x1;if(_0x5ac9eb[_0x22b0c5]['y']===_0x5ac9eb[_0x22b0c5+0x1]['y'])return-0x1;var _0x261805=_0x17e5f3[_0x1a4e('0x3ea')];return _0x5ac9eb[_0x22b0c5]['y']<_0x5ac9eb[_0x22b0c5+0x1]['y']&&(_0x261805=_0x17e5f3[_0x1a4e('0x318')]),_0x261805;},_0x696133[_0x1a4e('0xa')][_0x1a4e('0x3f4')]=function(){return this[_0x1a4e('0x3ee')];},_0x696133['prototype']['checkForRightmostCoordinate']=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x3f4')]()[_0x1a4e('0x397')](),_0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x1e')]-0x1;_0x5ac9eb++)(null===this['_minCoord']||_0x22b0c5[_0x5ac9eb]['x']>this[_0x1a4e('0x3ef')]['x'])&&(this['_minDe']=_0x5d7dad,this[_0x1a4e('0x3ed')]=_0x5ac9eb,this[_0x1a4e('0x3ef')]=_0x22b0c5[_0x5ac9eb]);},_0x696133[_0x1a4e('0xa')][_0x1a4e('0x3f6')]=function(){var _0x5d7dad=this[_0x1a4e('0x3f3')][_0x1a4e('0x1cd')]()[_0x1a4e('0x3f7')]();this[_0x1a4e('0x3f3')]=_0x5d7dad[_0x1a4e('0x3f8')](),this[_0x1a4e('0x3f3')][_0x1a4e('0x3f9')]()||(this[_0x1a4e('0x3f3')]=this[_0x1a4e('0x3f3')]['getSym'](),this[_0x1a4e('0x3ed')]=this['_minDe'][_0x1a4e('0x3f4')]()[_0x1a4e('0x397')]()[_0x1a4e('0x1e')]-0x1);},_0x696133['prototype'][_0x1a4e('0x3fa')]=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad['iterator']();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5['next']();_0x5ac9eb['isForward']()&&this[_0x1a4e('0x3fb')](_0x5ac9eb);}_0x1e33dc[_0x1a4e('0x2d0')](0x0!==this[_0x1a4e('0x3ed')]||this[_0x1a4e('0x3ef')][_0x1a4e('0x23e')](this[_0x1a4e('0x3f3')]['getCoordinate']()),_0x1a4e('0x3fc')),0x0===this[_0x1a4e('0x3ed')]?this[_0x1a4e('0x3f6')]():this[_0x1a4e('0x3f2')](),this[_0x1a4e('0x3ee')]=this[_0x1a4e('0x3f3')],this['getRightmostSide'](this[_0x1a4e('0x3f3')],this[_0x1a4e('0x3ed')])===_0x17e5f3[_0x1a4e('0x3ea')]&&(this[_0x1a4e('0x3ee')]=this[_0x1a4e('0x3f3')]['getSym']());},_0x696133[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x696133[_0x1a4e('0xa')]['getClass']=function(){return _0x696133;};var _0x2749a6=function(_0x5d7dad){function _0x22b0c5(_0x5ac9eb,_0x261805){_0x5d7dad[_0x1a4e('0x1')](this,_0x22b0c5[_0x1a4e('0x3fd')](_0x5ac9eb,_0x261805)),this['pt']=_0x261805?new _0x517a0b(_0x261805):null,this[_0x1a4e('0x2cb')]=_0x1a4e('0x3fe');}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object['create'](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(){return this['pt'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')]['getClass']=function(){return _0x22b0c5;},_0x22b0c5[_0x1a4e('0x3fd')]=function(_0x5d7dad,_0x22b0c5){return _0x22b0c5?_0x5d7dad:_0x5d7dad+_0x1a4e('0x3ff')+_0x22b0c5+'\x20]';},_0x22b0c5;}(_0x16686e),_0x472c83=function(){this[_0x1a4e('0x137')]=[];};_0x472c83[_0x1a4e('0xa')][_0x1a4e('0x400')]=function(_0x5d7dad){this[_0x1a4e('0x137')][_0x1a4e('0x46')](_0x5d7dad);},_0x472c83[_0x1a4e('0xa')][_0x1a4e('0x401')]=function(){return this[_0x1a4e('0x137')][_0x1a4e('0x7d')]();},_0x472c83[_0x1a4e('0xa')]['isEmpty']=function(){return 0x0===this[_0x1a4e('0x137')][_0x1a4e('0x1e')];};var _0x286b25=function(){this[_0x1a4e('0x402')]=null,this[_0x1a4e('0x403')]=new _0x389784(),this[_0x1a4e('0x404')]=new _0x389784(),this[_0x1a4e('0x405')]=null,this[_0x1a4e('0x406')]=null,this['_finder']=new _0x696133();};_0x286b25['prototype'][_0x1a4e('0x407')]=function(){for(var _0x5d7dad=this[_0x1a4e('0x403')][_0x1a4e('0x335')]();_0x5d7dad[_0x1a4e('0x336')]();)_0x5d7dad[_0x1a4e('0x7e')]()['setVisited'](!0x1);},_0x286b25[_0x1a4e('0xa')][_0x1a4e('0x408')]=function(){return this[_0x1a4e('0x405')];},_0x286b25['prototype'][_0x1a4e('0x409')]=function(_0x5d7dad){for(var _0x22b0c5=null,_0x5ac9eb=_0x5d7dad[_0x1a4e('0x3f7')]()[_0x1a4e('0x335')]();_0x5ac9eb[_0x1a4e('0x336')]();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')]();if(_0x261805[_0x1a4e('0x40a')]()||_0x261805['getSym']()[_0x1a4e('0x40a')]()){_0x22b0c5=_0x261805;break;}}if(null===_0x22b0c5)throw new _0x2749a6(_0x1a4e('0x40b')+_0x5d7dad[_0x1a4e('0x28e')]());_0x5d7dad[_0x1a4e('0x3f7')]()['computeDepths'](_0x22b0c5);for(var _0x81bc8f=_0x5d7dad[_0x1a4e('0x3f7')]()[_0x1a4e('0x335')]();_0x81bc8f[_0x1a4e('0x336')]();){var _0x234f42=_0x81bc8f[_0x1a4e('0x7e')]();_0x234f42[_0x1a4e('0x40c')](!0x0),this[_0x1a4e('0x40d')](_0x234f42);}},_0x286b25[_0x1a4e('0xa')][_0x1a4e('0x40e')]=function(_0x5d7dad){this[_0x1a4e('0x407')]();var _0x22b0c5=this[_0x1a4e('0x402')][_0x1a4e('0x3f4')]();_0x22b0c5[_0x1a4e('0x40f')](_0x17e5f3[_0x1a4e('0x318')],_0x5d7dad),this[_0x1a4e('0x40d')](_0x22b0c5),this[_0x1a4e('0x410')](_0x22b0c5);},_0x286b25[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x5d7dad){this[_0x1a4e('0x411')](_0x5d7dad),this[_0x1a4e('0x402')]['findEdge'](this[_0x1a4e('0x403')]),this[_0x1a4e('0x405')]=this[_0x1a4e('0x402')][_0x1a4e('0x28e')]();},_0x286b25[_0x1a4e('0xa')][_0x1a4e('0x412')]=function(){for(var _0x5d7dad=this[_0x1a4e('0x403')][_0x1a4e('0x335')]();_0x5d7dad[_0x1a4e('0x336')]();){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x7e')]();_0x22b0c5['getDepth'](_0x17e5f3[_0x1a4e('0x318')])>=0x1&&_0x22b0c5[_0x1a4e('0x413')](_0x17e5f3[_0x1a4e('0x3ea')])<=0x0&&!_0x22b0c5[_0x1a4e('0x414')]()&&_0x22b0c5[_0x1a4e('0x415')](!0x0);}},_0x286b25['prototype'][_0x1a4e('0x410')]=function(_0x5d7dad){var _0x22b0c5=new _0x3395af(),_0x5ac9eb=new _0x472c83(),_0x261805=_0x5d7dad[_0x1a4e('0x1cd')]();for(_0x5ac9eb['addLast'](_0x261805),_0x22b0c5[_0x1a4e('0x177')](_0x261805),_0x5d7dad[_0x1a4e('0x40c')](!0x0);!_0x5ac9eb[_0x1a4e('0x149')]();){var _0x81bc8f=_0x5ac9eb[_0x1a4e('0x401')]();_0x22b0c5[_0x1a4e('0x177')](_0x81bc8f),this['computeNodeDepth'](_0x81bc8f);for(var _0x234f42=_0x81bc8f[_0x1a4e('0x3f7')]()[_0x1a4e('0x335')]();_0x234f42['hasNext']();){var _0x153447=_0x234f42[_0x1a4e('0x7e')]()[_0x1a4e('0x416')]();if(!_0x153447[_0x1a4e('0x40a')]()){var _0x1972c2=_0x153447[_0x1a4e('0x1cd')]();_0x22b0c5[_0x1a4e('0x2ac')](_0x1972c2)||(_0x5ac9eb[_0x1a4e('0x400')](_0x1972c2),_0x22b0c5['add'](_0x1972c2));}}}},_0x286b25[_0x1a4e('0xa')][_0x1a4e('0x2a7')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;return this[_0x1a4e('0x405')]['x']<_0x22b0c5[_0x1a4e('0x405')]['x']?-0x1:this[_0x1a4e('0x405')]['x']>_0x22b0c5[_0x1a4e('0x405')]['x']?0x1:0x0;},_0x286b25[_0x1a4e('0xa')][_0x1a4e('0x1c6')]=function(){if(null===this[_0x1a4e('0x406')]){for(var _0x5d7dad=new _0x322dd2(),_0x22b0c5=this[_0x1a4e('0x403')][_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)for(var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]()[_0x1a4e('0x3f4')]()[_0x1a4e('0x397')](),_0x261805=0x0;_0x261805<_0x5ac9eb['length']-0x1;_0x261805++)_0x5d7dad[_0x1a4e('0x2a5')](_0x5ac9eb[_0x261805]);this['_env']=_0x5d7dad;}return this[_0x1a4e('0x406')];},_0x286b25['prototype'][_0x1a4e('0x411')]=function(_0x5d7dad){var _0x22b0c5=new _0x2d3d13();for(_0x22b0c5[_0x1a4e('0x177')](_0x5d7dad);!_0x22b0c5[_0x1a4e('0x3ec')]();){var _0x5ac9eb=_0x22b0c5['pop']();this[_0x1a4e('0x177')](_0x5ac9eb,_0x22b0c5);}},_0x286b25[_0x1a4e('0xa')]['copySymDepths']=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x416')]();_0x22b0c5[_0x1a4e('0x417')](_0x17e5f3[_0x1a4e('0x3ea')],_0x5d7dad[_0x1a4e('0x413')](_0x17e5f3['RIGHT'])),_0x22b0c5['setDepth'](_0x17e5f3[_0x1a4e('0x318')],_0x5d7dad['getDepth'](_0x17e5f3[_0x1a4e('0x3ea')]));},_0x286b25[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x5d7dad,_0x22b0c5){_0x5d7dad['setVisited'](!0x0),this[_0x1a4e('0x404')][_0x1a4e('0x177')](_0x5d7dad);for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x3f7')]()['iterator']();_0x5ac9eb[_0x1a4e('0x336')]();){var _0x261805=_0x5ac9eb['next']();this[_0x1a4e('0x403')][_0x1a4e('0x177')](_0x261805);var _0x81bc8f=_0x261805[_0x1a4e('0x416')]()[_0x1a4e('0x1cd')]();_0x81bc8f[_0x1a4e('0x40a')]()||_0x22b0c5[_0x1a4e('0x46')](_0x81bc8f);}},_0x286b25[_0x1a4e('0xa')][_0x1a4e('0x418')]=function(){return this[_0x1a4e('0x404')];},_0x286b25[_0x1a4e('0xa')][_0x1a4e('0x419')]=function(){return this[_0x1a4e('0x403')];},_0x286b25[_0x1a4e('0xa')]['interfaces_']=function(){return[_0x65271];},_0x286b25[_0x1a4e('0xa')]['getClass']=function(){return _0x286b25;};var _0x26ef0d=function _0x5d7dad(){if(this[_0x1a4e('0xbc')]=null,0x1===arguments[_0x1a4e('0x1e')]){if(arguments[0x0]instanceof Array){var _0x22b0c5=arguments[0x0];this[_0x1a4e('0x1fd')](_0x22b0c5[_0x1a4e('0x1e')]);}else if(Number[_0x1a4e('0x22f')](arguments[0x0])){var _0x5ac9eb=arguments[0x0];this[_0x1a4e('0x1fd')](0x1),this[_0x1a4e('0xbc')][_0x17e5f3['ON']]=_0x5ac9eb;}else if(arguments[0x0]instanceof _0x5d7dad){var _0x261805=arguments[0x0];if(this['init'](_0x261805[_0x1a4e('0xbc')][_0x1a4e('0x1e')]),null!==_0x261805)for(var _0x81bc8f=0x0;_0x81bc8fthis[_0x1a4e('0xbc')][_0x1a4e('0x1e')]){var _0x22b0c5=new Array(0x3)[_0x1a4e('0x22c')](null);_0x22b0c5[_0x17e5f3['ON']]=this[_0x1a4e('0xbc')][_0x17e5f3['ON']],_0x22b0c5[_0x17e5f3[_0x1a4e('0x3ea')]]=_0x2b3738['NONE'],_0x22b0c5[_0x17e5f3[_0x1a4e('0x318')]]=_0x2b3738[_0x1a4e('0x24a')],this[_0x1a4e('0xbc')]=_0x22b0c5;}for(var _0x5ac9eb=0x0;_0x5ac9eb0x1&&_0x5d7dad[_0x1a4e('0x252')](_0x2b3738[_0x1a4e('0x41e')](this['location'][_0x17e5f3[_0x1a4e('0x3ea')]])),_0x5d7dad[_0x1a4e('0x252')](_0x2b3738[_0x1a4e('0x41e')](this[_0x1a4e('0xbc')][_0x17e5f3['ON']])),this['location'][_0x1a4e('0x1e')]>0x1&&_0x5d7dad[_0x1a4e('0x252')](_0x2b3738[_0x1a4e('0x41e')](this[_0x1a4e('0xbc')][_0x17e5f3[_0x1a4e('0x318')]])),_0x5d7dad[_0x1a4e('0x95')]();},_0x26ef0d[_0x1a4e('0xa')][_0x1a4e('0x41f')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){this[_0x1a4e('0xbc')][_0x17e5f3['ON']]=_0x5d7dad,this['location'][_0x17e5f3[_0x1a4e('0x3ea')]]=_0x22b0c5,this[_0x1a4e('0xbc')][_0x17e5f3[_0x1a4e('0x318')]]=_0x5ac9eb;},_0x26ef0d['prototype'][_0x1a4e('0x179')]=function(_0x5d7dad){return _0x5d7dad0x1;},_0x26ef0d[_0x1a4e('0xa')][_0x1a4e('0x421')]=function(){for(var _0x5d7dad=0x0;_0x5d7dadthis[_0x1a4e('0x42d')]&&(this[_0x1a4e('0x42d')]=_0x22b0c5),_0x5d7dad=this[_0x1a4e('0x43d')](_0x5d7dad);}while(_0x5d7dad!==this[_0x1a4e('0x42c')]);this[_0x1a4e('0x42d')]*=0x2;},_0x18ba16[_0x1a4e('0xa')][_0x1a4e('0x43e')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x397')]();if(_0x22b0c5){var _0x81bc8f=0x1;_0x5ac9eb&&(_0x81bc8f=0x0);for(var _0x234f42=_0x81bc8f;_0x234f42<_0x261805[_0x1a4e('0x1e')];_0x234f42++)this[_0x1a4e('0x42f')][_0x1a4e('0x177')](_0x261805[_0x234f42]);}else{var _0x153447=_0x261805[_0x1a4e('0x1e')]-0x2;_0x5ac9eb&&(_0x153447=_0x261805[_0x1a4e('0x1e')]-0x1);for(var _0x1972c2=_0x153447;_0x1972c2>=0x0;_0x1972c2--)this[_0x1a4e('0x42f')][_0x1a4e('0x177')](_0x261805[_0x1972c2]);}},_0x18ba16[_0x1a4e('0xa')]['isHole']=function(){return this['_isHole'];},_0x18ba16['prototype'][_0x1a4e('0x415')]=function(){var _0x5d7dad=this[_0x1a4e('0x42c')];do{_0x5d7dad[_0x1a4e('0x3f4')]()['setInResult'](!0x0),_0x5d7dad=_0x5d7dad[_0x1a4e('0x43d')]();}while(_0x5d7dad!==this[_0x1a4e('0x42c')]);},_0x18ba16[_0x1a4e('0xa')][_0x1a4e('0x43f')]=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x43b')]();if(!_0x22b0c5['getEnvelopeInternal']()['contains'](_0x5d7dad))return!0x1;if(!_0x2a79ee[_0x1a4e('0x440')](_0x5d7dad,_0x22b0c5['getCoordinates']()))return!0x1;for(var _0x5ac9eb=this[_0x1a4e('0x2bb')][_0x1a4e('0x335')]();_0x5ac9eb[_0x1a4e('0x336')]();)if(_0x5ac9eb[_0x1a4e('0x7e')]()[_0x1a4e('0x43f')](_0x5d7dad))return!0x1;return!0x0;},_0x18ba16[_0x1a4e('0xa')]['addHole']=function(_0x5d7dad){this[_0x1a4e('0x2bb')]['add'](_0x5d7dad);},_0x18ba16[_0x1a4e('0xa')]['isShell']=function(){return null===this['_shell'];},_0x18ba16[_0x1a4e('0xa')][_0x1a4e('0x43a')]=function(){return this['_label'];},_0x18ba16['prototype']['getEdges']=function(){return this[_0x1a4e('0x42e')];},_0x18ba16[_0x1a4e('0xa')][_0x1a4e('0x441')]=function(){return this[_0x1a4e('0x42d')]<0x0&&this[_0x1a4e('0x43c')](),this[_0x1a4e('0x42d')];},_0x18ba16[_0x1a4e('0xa')][_0x1a4e('0x442')]=function(){return this[_0x1a4e('0x3a2')];},_0x18ba16[_0x1a4e('0xa')][_0x1a4e('0x443')]=function(){if(0x1===arguments['length']){var _0x5d7dad=arguments[0x0];this['mergeLabel'](_0x5d7dad,0x0),this[_0x1a4e('0x443')](_0x5d7dad,0x1);}else if(0x2===arguments['length']){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=_0x22b0c5['getLocation'](_0x5ac9eb,_0x17e5f3[_0x1a4e('0x318')]);if(_0x261805===_0x2b3738[_0x1a4e('0x24a')])return null;if(this[_0x1a4e('0x436')]['getLocation'](_0x5ac9eb)===_0x2b3738[_0x1a4e('0x24a')])return this[_0x1a4e('0x436')][_0x1a4e('0x422')](_0x5ac9eb,_0x261805),null;}},_0x18ba16[_0x1a4e('0xa')][_0x1a4e('0x444')]=function(_0x5d7dad){this[_0x1a4e('0x3a2')]=_0x5d7dad,null!==_0x5d7dad&&_0x5d7dad['addHole'](this);},_0x18ba16[_0x1a4e('0xa')]['toPolygon']=function(_0x5d7dad){for(var _0x22b0c5=new Array(this[_0x1a4e('0x2bb')][_0x1a4e('0x220')]())['fill'](null),_0x5ac9eb=0x0;_0x5ac9eb=0x2,_0x1a4e('0x454')),this['computeIM'](_0x5d7dad);},_0x2a2cfa[_0x1a4e('0xa')]['isInResult']=function(){return this[_0x1a4e('0x44e')];},_0x2a2cfa['prototype'][_0x1a4e('0x40a')]=function(){return this['_isVisited'];},_0x2a2cfa[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x2a2cfa[_0x1a4e('0xa')]['getClass']=function(){return _0x2a2cfa;};var _0x235e84=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x1')](this),this[_0x1a4e('0x455')]=null,this[_0x1a4e('0x42e')]=null;var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];this[_0x1a4e('0x455')]=_0x22b0c5,this['_edges']=_0x5ac9eb,this[_0x1a4e('0x436')]=new _0x20794b(0x0,_0x2b3738[_0x1a4e('0x24a')]);}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')]['constructor']=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x456')]=function(){for(var _0x5d7dad=this['getEdges']()['getEdges']()['iterator']();_0x5d7dad[_0x1a4e('0x336')]();)if(_0x5d7dad['next']()[_0x1a4e('0x3f4')]()[_0x1a4e('0x457')]())return!0x0;return!0x1;},_0x22b0c5['prototype'][_0x1a4e('0x435')]=function(){return 0x1===this['_label'][_0x1a4e('0x426')]();},_0x22b0c5['prototype'][_0x1a4e('0x28e')]=function(){return this[_0x1a4e('0x455')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x458')]=function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x304')](_0x1a4e('0x459')+this[_0x1a4e('0x455')]+_0x1a4e('0x45a')+this['_label']);},_0x22b0c5[_0x1a4e('0xa')]['computeIM']=function(_0x5d7dad){},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x45b')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x2b3738[_0x1a4e('0x24a')];if(_0x5ac9eb=this['_label'][_0x1a4e('0x30d')](_0x22b0c5),!_0x5d7dad[_0x1a4e('0x29d')](_0x22b0c5)){var _0x261805=_0x5d7dad[_0x1a4e('0x30d')](_0x22b0c5);_0x5ac9eb!==_0x2b3738[_0x1a4e('0x24c')]&&(_0x5ac9eb=_0x261805);}return _0x5ac9eb;},_0x22b0c5['prototype']['setLabel']=function(){if(0x2!==arguments[_0x1a4e('0x1e')])return _0x5d7dad['prototype'][_0x1a4e('0x451')][_0x1a4e('0x8b')](this,arguments);var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];null===this[_0x1a4e('0x436')]?this[_0x1a4e('0x436')]=new _0x20794b(_0x22b0c5,_0x5ac9eb):this['_label'][_0x1a4e('0x422')](_0x22b0c5,_0x5ac9eb);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x3f7')]=function(){return this[_0x1a4e('0x42e')];},_0x22b0c5[_0x1a4e('0xa')]['mergeLabel']=function(){if(arguments[0x0]instanceof _0x22b0c5){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x443')](_0x5d7dad[_0x1a4e('0x436')]);}else if(arguments[0x0]instanceof _0x20794b)for(var _0x5ac9eb=arguments[0x0],_0x261805=0x0;_0x261805<0x2;_0x261805++){var _0x81bc8f=this['computeMergedLocation'](_0x5ac9eb,_0x261805);this[_0x1a4e('0x436')]['getLocation'](_0x261805)===_0x2b3738['NONE']&&this[_0x1a4e('0x436')][_0x1a4e('0x422')](_0x261805,_0x81bc8f);}},_0x22b0c5[_0x1a4e('0xa')]['add']=function(_0x5d7dad){this[_0x1a4e('0x42e')][_0x1a4e('0x7c')](_0x5d7dad),_0x5d7dad[_0x1a4e('0x45c')](this);},_0x22b0c5[_0x1a4e('0xa')]['setLabelBoundary']=function(_0x5d7dad){if(null===this[_0x1a4e('0x436')])return null;var _0x22b0c5=_0x2b3738[_0x1a4e('0x24a')];null!==this[_0x1a4e('0x436')]&&(_0x22b0c5=this['_label'][_0x1a4e('0x30d')](_0x5d7dad));var _0x5ac9eb=null;switch(_0x22b0c5){case _0x2b3738[_0x1a4e('0x24c')]:_0x5ac9eb=_0x2b3738[_0x1a4e('0x249')];break;case _0x2b3738[_0x1a4e('0x249')]:default:_0x5ac9eb=_0x2b3738[_0x1a4e('0x24c')];}this[_0x1a4e('0x436')]['setLocation'](_0x5d7dad,_0x5ac9eb);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5['prototype'][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x2a2cfa),_0x3ec358=function(){this['nodeMap']=new _0xe59c3e(),this[_0x1a4e('0x45d')]=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x45d')]=_0x5d7dad;};_0x3ec358[_0x1a4e('0xa')][_0x1a4e('0x1c7')]=function(_0x5d7dad){return this['nodeMap']['get'](_0x5d7dad);},_0x3ec358[_0x1a4e('0xa')][_0x1a4e('0x45e')]=function(){if(arguments[0x0]instanceof _0x517a0b){var _0x5d7dad=arguments[0x0],_0x22b0c5=this[_0x1a4e('0x45f')]['get'](_0x5d7dad);return null===_0x22b0c5&&(_0x22b0c5=this['nodeFact'][_0x1a4e('0x460')](_0x5d7dad),this[_0x1a4e('0x45f')]['put'](_0x5d7dad,_0x22b0c5)),_0x22b0c5;}if(arguments[0x0]instanceof _0x235e84){var _0x5ac9eb=arguments[0x0],_0x261805=this[_0x1a4e('0x45f')]['get'](_0x5ac9eb[_0x1a4e('0x28e')]());return null===_0x261805?(this[_0x1a4e('0x45f')]['put'](_0x5ac9eb['getCoordinate'](),_0x5ac9eb),_0x5ac9eb):(_0x261805[_0x1a4e('0x443')](_0x5ac9eb),_0x261805);}},_0x3ec358[_0x1a4e('0xa')][_0x1a4e('0x458')]=function(_0x5d7dad){for(var _0x22b0c5=this['iterator']();_0x22b0c5[_0x1a4e('0x336')]();)_0x22b0c5[_0x1a4e('0x7e')]()['print'](_0x5d7dad);},_0x3ec358[_0x1a4e('0xa')][_0x1a4e('0x335')]=function(){return this[_0x1a4e('0x45f')][_0x1a4e('0x35b')]()[_0x1a4e('0x335')]();},_0x3ec358[_0x1a4e('0xa')][_0x1a4e('0x35b')]=function(){return this['nodeMap'][_0x1a4e('0x35b')]();},_0x3ec358[_0x1a4e('0xa')][_0x1a4e('0x461')]=function(_0x5d7dad){for(var _0x22b0c5=new _0x389784(),_0x5ac9eb=this[_0x1a4e('0x335')]();_0x5ac9eb['hasNext']();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')]();_0x261805['getLabel']()[_0x1a4e('0x30d')](_0x5d7dad)===_0x2b3738[_0x1a4e('0x24c')]&&_0x22b0c5[_0x1a4e('0x177')](_0x261805);}return _0x22b0c5;},_0x3ec358[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad['getCoordinate']();this[_0x1a4e('0x45e')](_0x22b0c5)[_0x1a4e('0x177')](_0x5d7dad);},_0x3ec358['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x3ec358[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x3ec358;};var _0x248fe4=function(){},_0x255e8e={'NE':{'configurable':!0x0},'NW':{'configurable':!0x0},'SW':{'configurable':!0x0},'SE':{'configurable':!0x0}};_0x248fe4[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x248fe4[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x248fe4;},_0x248fe4[_0x1a4e('0x462')]=function(_0x5d7dad){return _0x5d7dad===_0x248fe4['NE']||_0x5d7dad===_0x248fe4['NW'];},_0x248fe4[_0x1a4e('0x463')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad!==_0x22b0c5&&0x2==(_0x5d7dad-_0x22b0c5+0x4)%0x4;},_0x248fe4[_0x1a4e('0x464')]=function(_0x5d7dad,_0x22b0c5){if(_0x5d7dad===_0x22b0c5)return _0x5d7dad;if(0x2==(_0x5d7dad-_0x22b0c5+0x4)%0x4)return-0x1;var _0x5ac9eb=_0x5d7dad<_0x22b0c5?_0x5d7dad:_0x22b0c5;return 0x0===_0x5ac9eb&&0x3===(_0x5d7dad>_0x22b0c5?_0x5d7dad:_0x22b0c5)?0x3:_0x5ac9eb;},_0x248fe4['isInHalfPlane']=function(_0x5d7dad,_0x22b0c5){return _0x22b0c5===_0x248fe4['SE']?_0x5d7dad===_0x248fe4['SE']||_0x5d7dad===_0x248fe4['SW']:_0x5d7dad===_0x22b0c5||_0x5d7dad===_0x22b0c5+0x1;},_0x248fe4[_0x1a4e('0x465')]=function(){if('number'==typeof arguments[0x0]&&_0x1a4e('0x3d')==typeof arguments[0x1]){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];if(0x0===_0x5d7dad&&0x0===_0x22b0c5)throw new _0x3eb8a2(_0x1a4e('0x466')+_0x5d7dad+',\x20'+_0x22b0c5+'\x20)');return _0x5d7dad>=0x0?_0x22b0c5>=0x0?_0x248fe4['NE']:_0x248fe4['SE']:_0x22b0c5>=0x0?_0x248fe4['NW']:_0x248fe4['SW'];}if(arguments[0x0]instanceof _0x517a0b&&arguments[0x1]instanceof _0x517a0b){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];if(_0x261805['x']===_0x5ac9eb['x']&&_0x261805['y']===_0x5ac9eb['y'])throw new _0x3eb8a2(_0x1a4e('0x467')+_0x5ac9eb);return _0x261805['x']>=_0x5ac9eb['x']?_0x261805['y']>=_0x5ac9eb['y']?_0x248fe4['NE']:_0x248fe4['SE']:_0x261805['y']>=_0x5ac9eb['y']?_0x248fe4['NW']:_0x248fe4['SW'];}},_0x255e8e['NE'][_0x1a4e('0x179')]=function(){return 0x0;},_0x255e8e['NW']['get']=function(){return 0x1;},_0x255e8e['SW'][_0x1a4e('0x179')]=function(){return 0x2;},_0x255e8e['SE'][_0x1a4e('0x179')]=function(){return 0x3;},Object[_0x1a4e('0x1c8')](_0x248fe4,_0x255e8e);var _0x547ab3=function(){if(this[_0x1a4e('0x468')]=null,this['_label']=null,this[_0x1a4e('0x469')]=null,this[_0x1a4e('0x46a')]=null,this[_0x1a4e('0x46b')]=null,this['_dx']=null,this[_0x1a4e('0x46c')]=null,this[_0x1a4e('0x46d')]=null,0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x468')]=_0x5d7dad;}else if(0x3===arguments['length']){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=arguments[0x2];this[_0x1a4e('0x468')]=_0x22b0c5,this['init'](_0x5ac9eb,_0x261805),this[_0x1a4e('0x436')]=null;}else if(0x4===arguments[_0x1a4e('0x1e')]){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2],_0x1972c2=arguments[0x3];this[_0x1a4e('0x468')]=_0x81bc8f,this['init'](_0x234f42,_0x153447),this[_0x1a4e('0x436')]=_0x1972c2;}};_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x46e')]=function(_0x5d7dad){return this['_dx']===_0x5d7dad['_dx']&&this['_dy']===_0x5d7dad[_0x1a4e('0x46c')]?0x0:this[_0x1a4e('0x46d')]>_0x5d7dad[_0x1a4e('0x46d')]?0x1:this['_quadrant']<_0x5d7dad['_quadrant']?-0x1:_0x2a79ee['computeOrientation'](_0x5d7dad[_0x1a4e('0x46a')],_0x5d7dad[_0x1a4e('0x46b')],this[_0x1a4e('0x46b')]);},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x46f')]=function(){return this[_0x1a4e('0x46c')];},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(){return this[_0x1a4e('0x46a')];},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x45c')]=function(_0x5d7dad){this[_0x1a4e('0x469')]=_0x5d7dad;},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x458')]=function(_0x5d7dad){var _0x22b0c5=Math['atan2'](this[_0x1a4e('0x46c')],this[_0x1a4e('0x470')]),_0x5ac9eb=this['getClass']()['getName'](),_0x261805=_0x5ac9eb[_0x1a4e('0x471')]('.'),_0x81bc8f=_0x5ac9eb[_0x1a4e('0x281')](_0x261805+0x1);_0x5d7dad[_0x1a4e('0x458')]('\x20\x20'+_0x81bc8f+':\x20'+this[_0x1a4e('0x46a')]+_0x1a4e('0x2ee')+this[_0x1a4e('0x46b')]+'\x20'+this[_0x1a4e('0x46d')]+':'+_0x22b0c5+_0x1a4e('0x472')+this['_label']);},_0x547ab3['prototype'][_0x1a4e('0x2a7')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;return this[_0x1a4e('0x46e')](_0x22b0c5);},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x473')]=function(){return this[_0x1a4e('0x46b')];},_0x547ab3['prototype']['getDx']=function(){return this[_0x1a4e('0x470')];},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x43a')]=function(){return this['_label'];},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x3f4')]=function(){return this[_0x1a4e('0x468')];},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x474')]=function(){return this[_0x1a4e('0x46d')];},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x1cd')]=function(){return this[_0x1a4e('0x469')];},_0x547ab3[_0x1a4e('0xa')]['toString']=function(){var _0x5d7dad=Math[_0x1a4e('0xa6')](this[_0x1a4e('0x46c')],this[_0x1a4e('0x470')]),_0x22b0c5=this[_0x1a4e('0x234')]()[_0x1a4e('0x3b6')](),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x471')]('.');return'\x20\x20'+_0x22b0c5[_0x1a4e('0x281')](_0x5ac9eb+0x1)+':\x20'+this['_p0']+_0x1a4e('0x2ee')+this[_0x1a4e('0x46b')]+'\x20'+this[_0x1a4e('0x46d')]+':'+_0x5d7dad+_0x1a4e('0x472')+this[_0x1a4e('0x436')];},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x475')]=function(_0x5d7dad){},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x5d7dad,_0x22b0c5){this['_p0']=_0x5d7dad,this[_0x1a4e('0x46b')]=_0x22b0c5,this[_0x1a4e('0x470')]=_0x22b0c5['x']-_0x5d7dad['x'],this[_0x1a4e('0x46c')]=_0x22b0c5['y']-_0x5d7dad['y'],this[_0x1a4e('0x46d')]=_0x248fe4[_0x1a4e('0x465')](this[_0x1a4e('0x470')],this[_0x1a4e('0x46c')]),_0x1e33dc[_0x1a4e('0x2d0')](!(0x0===this['_dx']&&0x0===this[_0x1a4e('0x46c')]),_0x1a4e('0x476'));},_0x547ab3[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x65271];},_0x547ab3[_0x1a4e('0xa')]['getClass']=function(){return _0x547ab3;};var _0x35968a=function(_0x5d7dad){function _0x22b0c5(){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];if(_0x5d7dad[_0x1a4e('0x1')](this,_0x22b0c5),this['_isForward']=null,this['_isInResult']=!0x1,this[_0x1a4e('0x44d')]=!0x1,this['_sym']=null,this[_0x1a4e('0x477')]=null,this['_nextMin']=null,this[_0x1a4e('0x478')]=null,this[_0x1a4e('0x479')]=null,this[_0x1a4e('0x47a')]=[0x0,-0x3e7,-0x3e7],this[_0x1a4e('0x47b')]=_0x5ac9eb,_0x5ac9eb)this['init'](_0x22b0c5[_0x1a4e('0x28e')](0x0),_0x22b0c5['getCoordinate'](0x1));else{var _0x261805=_0x22b0c5[_0x1a4e('0x376')]()-0x1;this[_0x1a4e('0x1fd')](_0x22b0c5['getCoordinate'](_0x261805),_0x22b0c5[_0x1a4e('0x28e')](_0x261805-0x1));}this[_0x1a4e('0x47c')]();}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5['prototype']=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x447')]=function(){return this[_0x1a4e('0x47d')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x413')]=function(_0x5d7dad){return this['_depth'][_0x5d7dad];},_0x22b0c5['prototype'][_0x1a4e('0x40c')]=function(_0x5d7dad){this[_0x1a4e('0x44d')]=_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x47c')]=function(){this[_0x1a4e('0x436')]=new _0x20794b(this['_edge'][_0x1a4e('0x43a')]()),this[_0x1a4e('0x47b')]||this[_0x1a4e('0x436')][_0x1a4e('0x41d')]();},_0x22b0c5['prototype']['getNext']=function(){return this['_next'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x417')]=function(_0x5d7dad,_0x22b0c5){if(-0x3e7!==this[_0x1a4e('0x47a')][_0x5d7dad]&&this[_0x1a4e('0x47a')][_0x5d7dad]!==_0x22b0c5)throw new _0x2749a6(_0x1a4e('0x47e'),this['getCoordinate']());this[_0x1a4e('0x47a')][_0x5d7dad]=_0x22b0c5;},_0x22b0c5['prototype']['isInteriorAreaEdge']=function(){for(var _0x5d7dad=!0x0,_0x22b0c5=0x0;_0x22b0c5<0x2;_0x22b0c5++)this[_0x1a4e('0x436')]['isArea'](_0x22b0c5)&&this['_label'][_0x1a4e('0x30d')](_0x22b0c5,_0x17e5f3[_0x1a4e('0x3ea')])===_0x2b3738['INTERIOR']&&this[_0x1a4e('0x436')]['getLocation'](_0x22b0c5,_0x17e5f3['RIGHT'])===_0x2b3738[_0x1a4e('0x249')]||(_0x5d7dad=!0x1);return _0x5d7dad;},_0x22b0c5['prototype'][_0x1a4e('0x47f')]=function(_0x5d7dad){this[_0x1a4e('0x47d')]=_0x5d7dad;},_0x22b0c5['prototype'][_0x1a4e('0x458')]=function(_0x22b0c5){_0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x458')][_0x1a4e('0x1')](this,_0x22b0c5),_0x22b0c5[_0x1a4e('0x458')]('\x20'+this['_depth'][_0x17e5f3[_0x1a4e('0x3ea')]]+'/'+this[_0x1a4e('0x47a')][_0x17e5f3[_0x1a4e('0x318')]]),_0x22b0c5[_0x1a4e('0x458')]('\x20('+this['getDepthDelta']()+')'),this['_isInResult']&&_0x22b0c5[_0x1a4e('0x458')](_0x1a4e('0x480'));},_0x22b0c5[_0x1a4e('0xa')]['setMinEdgeRing']=function(_0x5d7dad){this[_0x1a4e('0x479')]=_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x481')]=function(){var _0x5d7dad=this[_0x1a4e('0x436')][_0x1a4e('0x428')](0x0)||this[_0x1a4e('0x436')][_0x1a4e('0x428')](0x1),_0x22b0c5=!this['_label']['isArea'](0x0)||this['_label'][_0x1a4e('0x424')](0x0,_0x2b3738[_0x1a4e('0x248')]),_0x5ac9eb=!this['_label'][_0x1a4e('0x420')](0x1)||this[_0x1a4e('0x436')][_0x1a4e('0x424')](0x1,_0x2b3738[_0x1a4e('0x248')]);return _0x5d7dad&&_0x22b0c5&&_0x5ac9eb;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x445')]=function(_0x5d7dad){this[_0x1a4e('0x478')]=_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x482')]=function(){return this[_0x1a4e('0x479')];},_0x22b0c5['prototype'][_0x1a4e('0x483')]=function(){var _0x5d7dad=this[_0x1a4e('0x468')][_0x1a4e('0x483')]();return this[_0x1a4e('0x47b')]||(_0x5d7dad=-_0x5d7dad),_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x415')]=function(_0x5d7dad){this[_0x1a4e('0x44e')]=_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x416')]=function(){return this[_0x1a4e('0x484')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x3f9')]=function(){return this['_isForward'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x3f4')]=function(){return this['_edge'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x485')]=function(_0x5d7dad){this[_0x1a4e('0x458')](_0x5d7dad),_0x5d7dad['print']('\x20'),this[_0x1a4e('0x47b')]?this[_0x1a4e('0x468')][_0x1a4e('0x458')](_0x5d7dad):this[_0x1a4e('0x468')][_0x1a4e('0x486')](_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x487')]=function(_0x5d7dad){this['_sym']=_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')]['setVisitedEdge']=function(_0x5d7dad){this[_0x1a4e('0x40c')](_0x5d7dad),this[_0x1a4e('0x484')][_0x1a4e('0x40c')](_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x40f')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=this['getEdge']()[_0x1a4e('0x483')]();this['_isForward']||(_0x5ac9eb=-_0x5ac9eb);var _0x261805=0x1;_0x5d7dad===_0x17e5f3[_0x1a4e('0x3ea')]&&(_0x261805=-0x1);var _0x81bc8f=_0x17e5f3[_0x1a4e('0x3e9')](_0x5d7dad),_0x234f42=_0x22b0c5+_0x5ac9eb*_0x261805;this[_0x1a4e('0x417')](_0x5d7dad,_0x22b0c5),this[_0x1a4e('0x417')](_0x81bc8f,_0x234f42);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x438')]=function(){return this[_0x1a4e('0x478')];},_0x22b0c5['prototype']['isInResult']=function(){return this['_isInResult'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x488')]=function(_0x5d7dad){this[_0x1a4e('0x477')]=_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x40a')]=function(){return this['_isVisited'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5[_0x1a4e('0x489')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad===_0x2b3738[_0x1a4e('0x248')]&&_0x22b0c5===_0x2b3738['INTERIOR']?0x1:_0x5d7dad===_0x2b3738['INTERIOR']&&_0x22b0c5===_0x2b3738[_0x1a4e('0x248')]?-0x1:0x0;},_0x22b0c5;}(_0x547ab3),_0x434762=function(){};_0x434762[_0x1a4e('0xa')]['createNode']=function(_0x5d7dad){return new _0x235e84(_0x5d7dad,null);},_0x434762[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x434762[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x434762;};var _0x53100e=function(){if(this[_0x1a4e('0x42e')]=new _0x389784(),this['_nodes']=null,this[_0x1a4e('0x48a')]=new _0x389784(),0x0===arguments['length'])this[_0x1a4e('0x404')]=new _0x3ec358(new _0x434762());else if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x404')]=new _0x3ec358(_0x5d7dad);}};_0x53100e[_0x1a4e('0xa')][_0x1a4e('0x48b')]=function(_0x5d7dad){_0x5d7dad['println'](_0x1a4e('0x48c'));for(var _0x22b0c5=0x0;_0x22b0c50x2){_0x234f42[_0x1a4e('0x449')]();var _0x153447=_0x234f42[_0x1a4e('0x448')](),_0x1972c2=this['findShell'](_0x153447);null!==_0x1972c2?(this[_0x1a4e('0x49b')](_0x1972c2,_0x153447),_0x22b0c5[_0x1a4e('0x177')](_0x1972c2)):_0x5ac9eb[_0x1a4e('0x344')](_0x153447);}else _0x261805[_0x1a4e('0x177')](_0x234f42);}return _0x261805;},_0x30f2c5[_0x1a4e('0xa')][_0x1a4e('0x43f')]=function(_0x5d7dad){for(var _0x22b0c5=this[_0x1a4e('0x497')][_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)if(_0x22b0c5[_0x1a4e('0x7e')]()['containsPoint'](_0x5d7dad))return!0x0;return!0x1;},_0x30f2c5[_0x1a4e('0xa')][_0x1a4e('0x49c')]=function(_0x5d7dad){for(var _0x22b0c5=new _0x389784(),_0x5ac9eb=_0x5d7dad[_0x1a4e('0x335')]();_0x5ac9eb[_0x1a4e('0x336')]();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')]();if(_0x261805['isInResult']()&&_0x261805[_0x1a4e('0x43a')]()[_0x1a4e('0x420')]()&&null===_0x261805['getEdgeRing']()){var _0x81bc8f=new _0x89e3b(_0x261805,this[_0x1a4e('0x432')]);_0x22b0c5[_0x1a4e('0x177')](_0x81bc8f),_0x81bc8f[_0x1a4e('0x415')]();}}return _0x22b0c5;},_0x30f2c5['prototype'][_0x1a4e('0x49b')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x335')]();_0x5ac9eb['hasNext']();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')]();_0x261805[_0x1a4e('0x498')]()&&_0x261805[_0x1a4e('0x444')](_0x5d7dad);}},_0x30f2c5[_0x1a4e('0xa')][_0x1a4e('0x49d')]=function(){return this[_0x1a4e('0x49e')](this[_0x1a4e('0x497')]);},_0x30f2c5[_0x1a4e('0xa')][_0x1a4e('0x1c5')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x43b')](),_0x261805=_0x5ac9eb[_0x1a4e('0x32e')](),_0x81bc8f=_0x5ac9eb[_0x1a4e('0x387')](0x0),_0x234f42=null,_0x153447=null,_0x1972c2=_0x22b0c5[_0x1a4e('0x335')]();_0x1972c2['hasNext']();){var _0x3376f9=_0x1972c2[_0x1a4e('0x7e')](),_0x5dae0e=_0x3376f9['getLinearRing'](),_0x3d7f02=_0x5dae0e[_0x1a4e('0x32e')]();null!==_0x234f42&&(_0x153447=_0x234f42[_0x1a4e('0x43b')]()[_0x1a4e('0x32e')]());var _0x146559=!0x1;_0x3d7f02[_0x1a4e('0x2ac')](_0x261805)&&_0x2a79ee['isPointInRing'](_0x81bc8f,_0x5dae0e[_0x1a4e('0x397')]())&&(_0x146559=!0x0),_0x146559&&(null===_0x234f42||_0x153447[_0x1a4e('0x2ac')](_0x3d7f02))&&(_0x234f42=_0x3376f9);}return _0x234f42;},_0x30f2c5[_0x1a4e('0xa')][_0x1a4e('0x49f')]=function(_0x5d7dad){for(var _0x22b0c5=0x0,_0x5ac9eb=null,_0x261805=_0x5d7dad[_0x1a4e('0x335')]();_0x261805[_0x1a4e('0x336')]();){var _0x81bc8f=_0x261805[_0x1a4e('0x7e')]();_0x81bc8f['isHole']()||(_0x5ac9eb=_0x81bc8f,_0x22b0c5++);}return _0x1e33dc['isTrue'](_0x22b0c5<=0x1,_0x1a4e('0x4a0')),_0x5ac9eb;},_0x30f2c5[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x177')](_0x5d7dad[_0x1a4e('0x492')](),_0x5d7dad[_0x1a4e('0x418')]());}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];_0x53100e[_0x1a4e('0x48f')](_0x5ac9eb);var _0x261805=this['buildMaximalEdgeRings'](_0x22b0c5),_0x81bc8f=new _0x389784(),_0x234f42=this[_0x1a4e('0x49a')](_0x261805,this[_0x1a4e('0x497')],_0x81bc8f);this[_0x1a4e('0x4a1')](_0x234f42,this[_0x1a4e('0x497')],_0x81bc8f),this['placeFreeHoles'](this['_shellList'],_0x81bc8f);}},_0x30f2c5['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x30f2c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x30f2c5;};var _0x3c66d9=function(){};_0x3c66d9[_0x1a4e('0xa')][_0x1a4e('0x4a2')]=function(){},_0x3c66d9[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x3c66d9[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x3c66d9;};var _0x584e52=function(){this[_0x1a4e('0x4a3')]=null,this['_item']=null;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x4a3')]=_0x5d7dad,this[_0x1a4e('0x4a4')]=_0x22b0c5;};_0x584e52[_0x1a4e('0xa')][_0x1a4e('0x4a5')]=function(){return this[_0x1a4e('0x4a4')];},_0x584e52['prototype'][_0x1a4e('0x4a2')]=function(){return this['_bounds'];},_0x584e52[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x3c66d9,_0x4ad42f];},_0x584e52[_0x1a4e('0xa')]['getClass']=function(){return _0x584e52;};var _0xc0439e=function(){this[_0x1a4e('0x4a6')]=null,this['_items']=null,this['_size']=0x0,this[_0x1a4e('0x4a7')]=new _0x389784(),this['_items'][_0x1a4e('0x177')](null);};_0xc0439e[_0x1a4e('0xa')]['poll']=function(){if(this['isEmpty']())return null;var _0x5d7dad=this[_0x1a4e('0x4a7')]['get'](0x1);return this[_0x1a4e('0x4a7')][_0x1a4e('0x17a')](0x1,this[_0x1a4e('0x4a7')]['get'](this[_0x1a4e('0x4a6')])),this[_0x1a4e('0x4a6')]-=0x1,this[_0x1a4e('0x4a8')](0x1),_0x5d7dad;},_0xc0439e['prototype']['size']=function(){return this[_0x1a4e('0x4a6')];},_0xc0439e[_0x1a4e('0xa')][_0x1a4e('0x4a8')]=function(_0x5d7dad){for(var _0x22b0c5=null,_0x5ac9eb=this[_0x1a4e('0x4a7')][_0x1a4e('0x179')](_0x5d7dad);0x2*_0x5d7dad<=this['_size']&&((_0x22b0c5=0x2*_0x5d7dad)!==this[_0x1a4e('0x4a6')]&&this[_0x1a4e('0x4a7')]['get'](_0x22b0c5+0x1)['compareTo'](this[_0x1a4e('0x4a7')][_0x1a4e('0x179')](_0x22b0c5))<0x0&&_0x22b0c5++,this['_items']['get'](_0x22b0c5)[_0x1a4e('0x2a7')](_0x5ac9eb)<0x0);_0x5d7dad=_0x22b0c5)this[_0x1a4e('0x4a7')]['set'](_0x5d7dad,this['_items']['get'](_0x22b0c5));this[_0x1a4e('0x4a7')][_0x1a4e('0x17a')](_0x5d7dad,_0x5ac9eb);},_0xc0439e[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this['_size']=0x0,this[_0x1a4e('0x4a7')][_0x1a4e('0xb5')]();},_0xc0439e['prototype'][_0x1a4e('0x149')]=function(){return 0x0===this['_size'];},_0xc0439e['prototype']['add']=function(_0x5d7dad){this['_items']['add'](null),this[_0x1a4e('0x4a6')]+=0x1;var _0x22b0c5=this[_0x1a4e('0x4a6')];for(this[_0x1a4e('0x4a7')][_0x1a4e('0x17a')](0x0,_0x5d7dad);_0x5d7dad['compareTo'](this[_0x1a4e('0x4a7')][_0x1a4e('0x179')](Math['trunc'](_0x22b0c5/0x2)))<0x0;_0x22b0c5/=0x2)this['_items'][_0x1a4e('0x17a')](_0x22b0c5,this[_0x1a4e('0x4a7')][_0x1a4e('0x179')](Math['trunc'](_0x22b0c5/0x2)));this[_0x1a4e('0x4a7')][_0x1a4e('0x17a')](_0x22b0c5,_0x5d7dad);},_0xc0439e[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0xc0439e['prototype'][_0x1a4e('0x234')]=function(){return _0xc0439e;};var _0x2e435a=function(){};_0x2e435a[_0x1a4e('0xa')][_0x1a4e('0x4a9')]=function(_0x5d7dad){},_0x2e435a[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x2e435a['prototype'][_0x1a4e('0x234')]=function(){return _0x2e435a;};var _0x509d8b=function(){};_0x509d8b[_0x1a4e('0xa')][_0x1a4e('0x7c')]=function(_0x5d7dad,_0x22b0c5){},_0x509d8b[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x5d7dad,_0x22b0c5){},_0x509d8b[_0x1a4e('0xa')][_0x1a4e('0x4aa')]=function(){},_0x509d8b[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x509d8b[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x509d8b;};var _0x4009af=function(){if(this[_0x1a4e('0x4ab')]=new _0x389784(),this[_0x1a4e('0x4a3')]=null,this[_0x1a4e('0x4ac')]=null,0x0===arguments['length']);else if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];this['_level']=_0x5d7dad;}},_0x402a72={'serialVersionUID':{'configurable':!0x0}};_0x4009af[_0x1a4e('0xa')][_0x1a4e('0x4ad')]=function(){return this[_0x1a4e('0x4ac')];},_0x4009af[_0x1a4e('0xa')]['size']=function(){return this['_childBoundables']['size']();},_0x4009af[_0x1a4e('0xa')][_0x1a4e('0x4ae')]=function(){return this[_0x1a4e('0x4ab')];},_0x4009af[_0x1a4e('0xa')][_0x1a4e('0x4af')]=function(_0x5d7dad){_0x1e33dc['isTrue'](null===this['_bounds']),this[_0x1a4e('0x4ab')][_0x1a4e('0x177')](_0x5d7dad);},_0x4009af['prototype'][_0x1a4e('0x149')]=function(){return this[_0x1a4e('0x4ab')][_0x1a4e('0x149')]();},_0x4009af['prototype'][_0x1a4e('0x4a2')]=function(){return null===this[_0x1a4e('0x4a3')]&&(this[_0x1a4e('0x4a3')]=this[_0x1a4e('0x4b0')]()),this['_bounds'];},_0x4009af['prototype'][_0x1a4e('0x233')]=function(){return[_0x3c66d9,_0x4ad42f];},_0x4009af[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x4009af;},_0x402a72['serialVersionUID'][_0x1a4e('0x179')]=function(){return 0x5a1e55ec41369800;},Object[_0x1a4e('0x1c8')](_0x4009af,_0x402a72);var _0x4f994e=function(){};_0x4f994e['reverseOrder']=function(){return{'compare':function(_0x5d7dad,_0x22b0c5){return _0x22b0c5[_0x1a4e('0x2a7')](_0x5d7dad);}};},_0x4f994e[_0x1a4e('0x74')]=function(_0x5d7dad){return _0x4f994e['sort'](_0x5d7dad),_0x5d7dad[_0x1a4e('0x179')](0x0);},_0x4f994e[_0x1a4e('0x89')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x347')]();_0x22b0c5?_0x33cbd7['sort'](_0x5ac9eb,_0x22b0c5):_0x33cbd7[_0x1a4e('0x89')](_0x5ac9eb);for(var _0x261805=_0x5d7dad[_0x1a4e('0x335')](),_0x81bc8f=0x0,_0x234f42=_0x5ac9eb[_0x1a4e('0x1e')];_0x81bc8f<_0x234f42;_0x81bc8f++)_0x261805[_0x1a4e('0x7e')](),_0x261805[_0x1a4e('0x17a')](_0x5ac9eb[_0x81bc8f]);},_0x4f994e[_0x1a4e('0x4b1')]=function(_0x5d7dad){var _0x22b0c5=new _0x389784();return _0x22b0c5[_0x1a4e('0x177')](_0x5d7dad),_0x22b0c5;};var _0x323c7f=function(){this['_boundable1']=null,this[_0x1a4e('0x4b2')]=null,this[_0x1a4e('0x4b3')]=null,this[_0x1a4e('0x4b4')]=null;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2];this['_boundable1']=_0x5d7dad,this[_0x1a4e('0x4b2')]=_0x22b0c5,this[_0x1a4e('0x4b4')]=_0x5ac9eb,this['_distance']=this['distance']();};_0x323c7f[_0x1a4e('0xa')][_0x1a4e('0x4b5')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x323c7f['isComposite'](this[_0x1a4e('0x4b6')]),_0x261805=_0x323c7f[_0x1a4e('0x4b7')](this[_0x1a4e('0x4b2')]);if(_0x5ac9eb&&_0x261805)return _0x323c7f[_0x1a4e('0x4b8')](this['_boundable1'])>_0x323c7f[_0x1a4e('0x4b8')](this[_0x1a4e('0x4b2')])?(this[_0x1a4e('0x4b9')](this[_0x1a4e('0x4b6')],this['_boundable2'],_0x5d7dad,_0x22b0c5),null):(this[_0x1a4e('0x4b9')](this[_0x1a4e('0x4b2')],this[_0x1a4e('0x4b6')],_0x5d7dad,_0x22b0c5),null);if(_0x5ac9eb)return this[_0x1a4e('0x4b9')](this['_boundable1'],this[_0x1a4e('0x4b2')],_0x5d7dad,_0x22b0c5),null;if(_0x261805)return this['expand'](this['_boundable2'],this[_0x1a4e('0x4b6')],_0x5d7dad,_0x22b0c5),null;throw new _0x3eb8a2('neither\x20boundable\x20is\x20composite');},_0x323c7f[_0x1a4e('0xa')][_0x1a4e('0x4ba')]=function(){return!(_0x323c7f[_0x1a4e('0x4b7')](this[_0x1a4e('0x4b6')])||_0x323c7f[_0x1a4e('0x4b7')](this[_0x1a4e('0x4b2')]));},_0x323c7f['prototype'][_0x1a4e('0x2a7')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;return this[_0x1a4e('0x4b3')]<_0x22b0c5[_0x1a4e('0x4b3')]?-0x1:this[_0x1a4e('0x4b3')]>_0x22b0c5[_0x1a4e('0x4b3')]?0x1:0x0;},_0x323c7f[_0x1a4e('0xa')][_0x1a4e('0x4b9')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){for(var _0x81bc8f=_0x5d7dad[_0x1a4e('0x4ae')]()[_0x1a4e('0x335')]();_0x81bc8f[_0x1a4e('0x336')]();){var _0x234f42=_0x81bc8f[_0x1a4e('0x7e')](),_0x153447=new _0x323c7f(_0x234f42,_0x22b0c5,this['_itemDistance']);_0x153447[_0x1a4e('0x4bb')]()<_0x261805&&_0x5ac9eb[_0x1a4e('0x177')](_0x153447);}},_0x323c7f[_0x1a4e('0xa')][_0x1a4e('0x4bc')]=function(_0x5d7dad){return 0x0===_0x5d7dad?this['_boundable1']:this['_boundable2'];},_0x323c7f[_0x1a4e('0xa')][_0x1a4e('0x4bb')]=function(){return this[_0x1a4e('0x4b3')];},_0x323c7f[_0x1a4e('0xa')]['distance']=function(){return this[_0x1a4e('0x4ba')]()?this['_itemDistance'][_0x1a4e('0x1ed')](this[_0x1a4e('0x4b6')],this[_0x1a4e('0x4b2')]):this[_0x1a4e('0x4b6')][_0x1a4e('0x4a2')]()[_0x1a4e('0x1ed')](this[_0x1a4e('0x4b2')][_0x1a4e('0x4a2')]());},_0x323c7f[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x65271];},_0x323c7f[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x323c7f;},_0x323c7f[_0x1a4e('0x4b8')]=function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x4a2')]()[_0x1a4e('0x29a')]();},_0x323c7f['isComposite']=function(_0x5d7dad){return _0x5d7dad instanceof _0x4009af;};var _0x56e683=function _0x5d7dad(){if(this[_0x1a4e('0x4bd')]=null,this[_0x1a4e('0x4be')]=!0x1,this['_itemBoundables']=new _0x389784(),this['_nodeCapacity']=null,0x0===arguments['length']){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x4bf')];this[_0x1a4e('0x4c0')]=_0x22b0c5;}else if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0];_0x1e33dc[_0x1a4e('0x2d0')](_0x5ac9eb>0x1,_0x1a4e('0x4c1')),this[_0x1a4e('0x4c0')]=_0x5ac9eb;}},_0x2273c7={'IntersectsOp':{'configurable':!0x0},'serialVersionUID':{'configurable':!0x0},'DEFAULT_NODE_CAPACITY':{'configurable':!0x0}};_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x4c2')]=function(){return this['_nodeCapacity'];},_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x4c3')]=function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x179')](_0x5d7dad['size']()-0x1);},_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x220')]=function(){if(0x0===arguments['length'])return this[_0x1a4e('0x149')]()?0x0:(this['build'](),this[_0x1a4e('0x220')](this[_0x1a4e('0x4bd')]));if(0x1===arguments[_0x1a4e('0x1e')]){for(var _0x5d7dad=0x0,_0x22b0c5=arguments[0x0][_0x1a4e('0x4ae')]()[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();_0x5ac9eb instanceof _0x4009af?_0x5d7dad+=this[_0x1a4e('0x220')](_0x5ac9eb):_0x5ac9eb instanceof _0x584e52&&(_0x5d7dad+=0x1);}return _0x5d7dad;}},_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x4c4')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=null,_0x261805=_0x5d7dad[_0x1a4e('0x4ae')]()[_0x1a4e('0x335')]();_0x261805[_0x1a4e('0x336')]();){var _0x81bc8f=_0x261805[_0x1a4e('0x7e')]();_0x81bc8f instanceof _0x584e52&&_0x81bc8f[_0x1a4e('0x4a5')]()===_0x22b0c5&&(_0x5ac9eb=_0x81bc8f);}return null!==_0x5ac9eb&&(_0x5d7dad[_0x1a4e('0x4ae')]()[_0x1a4e('0x82')](_0x5ac9eb),!0x0);},_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x4c5')]=function(){if(0x0===arguments[_0x1a4e('0x1e')]){this[_0x1a4e('0x4c6')]();var _0x5d7dad=this[_0x1a4e('0x4c5')](this[_0x1a4e('0x4bd')]);return null===_0x5d7dad?new _0x389784():_0x5d7dad;}if(0x1===arguments['length']){for(var _0x22b0c5=arguments[0x0],_0x5ac9eb=new _0x389784(),_0x261805=_0x22b0c5[_0x1a4e('0x4ae')]()['iterator']();_0x261805['hasNext']();){var _0x81bc8f=_0x261805['next']();if(_0x81bc8f instanceof _0x4009af){var _0x234f42=this[_0x1a4e('0x4c5')](_0x81bc8f);null!==_0x234f42&&_0x5ac9eb[_0x1a4e('0x177')](_0x234f42);}else _0x81bc8f instanceof _0x584e52?_0x5ac9eb[_0x1a4e('0x177')](_0x81bc8f[_0x1a4e('0x4a5')]()):_0x1e33dc['shouldNeverReachHere']();}return _0x5ac9eb[_0x1a4e('0x220')]()<=0x0?null:_0x5ac9eb;}},_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x7c')]=function(_0x5d7dad,_0x22b0c5){_0x1e33dc[_0x1a4e('0x2d0')](!this[_0x1a4e('0x4be')],_0x1a4e('0x4c7')),this[_0x1a4e('0x4c8')][_0x1a4e('0x177')](new _0x584e52(_0x5d7dad,_0x22b0c5));},_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x4c9')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=new _0x389784();return this[_0x1a4e('0x4c9')](_0x5d7dad,this[_0x1a4e('0x4bd')],_0x22b0c5),_0x22b0c5;}if(0x3===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1],_0x81bc8f=arguments[0x2];if(_0x1e33dc[_0x1a4e('0x2d0')](_0x5ac9eb>-0x2),_0x261805['getLevel']()===_0x5ac9eb)return _0x81bc8f[_0x1a4e('0x177')](_0x261805),null;for(var _0x234f42=_0x261805[_0x1a4e('0x4ae')]()[_0x1a4e('0x335')]();_0x234f42[_0x1a4e('0x336')]();){var _0x153447=_0x234f42[_0x1a4e('0x7e')]();_0x153447 instanceof _0x4009af?this['boundablesAtLevel'](_0x5ac9eb,_0x153447,_0x81bc8f):(_0x1e33dc[_0x1a4e('0x2d0')](_0x153447 instanceof _0x584e52),-0x1===_0x5ac9eb&&_0x81bc8f['add'](_0x153447));}return null;}},_0x56e683[_0x1a4e('0xa')]['query']=function(){if(0x1===arguments['length']){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x4c6')]();var _0x22b0c5=new _0x389784();return this[_0x1a4e('0x149')]()?_0x22b0c5:(this[_0x1a4e('0x4ca')]()[_0x1a4e('0x2a4')](this[_0x1a4e('0x4bd')][_0x1a4e('0x4a2')](),_0x5d7dad)&&this['query'](_0x5d7dad,this[_0x1a4e('0x4bd')],_0x22b0c5),_0x22b0c5);}if(0x2===arguments['length']){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];if(this[_0x1a4e('0x4c6')](),this[_0x1a4e('0x149')]())return null;this[_0x1a4e('0x4ca')]()['intersects'](this[_0x1a4e('0x4bd')]['getBounds'](),_0x5ac9eb)&&this[_0x1a4e('0x4aa')](_0x5ac9eb,this[_0x1a4e('0x4bd')],_0x261805);}else if(0x3===arguments['length'])if(_0x73c38a(arguments[0x2],_0x2e435a)&&arguments[0x0]instanceof Object&&arguments[0x1]instanceof _0x4009af)for(var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2],_0x1972c2=_0x234f42['getChildBoundables'](),_0x3376f9=0x0;_0x3376f9<_0x1972c2[_0x1a4e('0x220')]();_0x3376f9++){var _0x5dae0e=_0x1972c2[_0x1a4e('0x179')](_0x3376f9);this[_0x1a4e('0x4ca')]()['intersects'](_0x5dae0e[_0x1a4e('0x4a2')](),_0x81bc8f)&&(_0x5dae0e instanceof _0x4009af?this[_0x1a4e('0x4aa')](_0x81bc8f,_0x5dae0e,_0x153447):_0x5dae0e instanceof _0x584e52?_0x153447[_0x1a4e('0x4a9')](_0x5dae0e[_0x1a4e('0x4a5')]()):_0x1e33dc[_0x1a4e('0x2ce')]());}else if(_0x73c38a(arguments[0x2],_0x5f471f)&&arguments[0x0]instanceof Object&&arguments[0x1]instanceof _0x4009af)for(var _0x3d7f02=arguments[0x0],_0x146559=arguments[0x1],_0x184c89=arguments[0x2],_0x4198ed=_0x146559['getChildBoundables'](),_0x41179c=0x0;_0x41179c<_0x4198ed[_0x1a4e('0x220')]();_0x41179c++){var _0x4eb09b=_0x4198ed[_0x1a4e('0x179')](_0x41179c);this[_0x1a4e('0x4ca')]()[_0x1a4e('0x2a4')](_0x4eb09b[_0x1a4e('0x4a2')](),_0x3d7f02)&&(_0x4eb09b instanceof _0x4009af?this[_0x1a4e('0x4aa')](_0x3d7f02,_0x4eb09b,_0x184c89):_0x4eb09b instanceof _0x584e52?_0x184c89[_0x1a4e('0x177')](_0x4eb09b['getItem']()):_0x1e33dc[_0x1a4e('0x2ce')]());}},_0x56e683['prototype'][_0x1a4e('0x4c6')]=function(){if(this[_0x1a4e('0x4be')])return null;this[_0x1a4e('0x4bd')]=this[_0x1a4e('0x4c8')]['isEmpty']()?this[_0x1a4e('0x460')](0x0):this['createHigherLevels'](this[_0x1a4e('0x4c8')],-0x1),this['_itemBoundables']=null,this['_built']=!0x0;},_0x56e683[_0x1a4e('0xa')]['getRoot']=function(){return this['build'](),this[_0x1a4e('0x4bd')];},_0x56e683[_0x1a4e('0xa')]['remove']=function(){if(0x2===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];return this[_0x1a4e('0x4c6')](),!!this[_0x1a4e('0x4ca')]()[_0x1a4e('0x2a4')](this[_0x1a4e('0x4bd')][_0x1a4e('0x4a2')](),_0x5d7dad)&&this[_0x1a4e('0x82')](_0x5d7dad,this['_root'],_0x22b0c5);}if(0x3===arguments['length']){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1],_0x81bc8f=arguments[0x2],_0x234f42=this[_0x1a4e('0x4c4')](_0x261805,_0x81bc8f);if(_0x234f42)return!0x0;for(var _0x153447=null,_0x1972c2=_0x261805[_0x1a4e('0x4ae')]()['iterator']();_0x1972c2[_0x1a4e('0x336')]();){var _0x3376f9=_0x1972c2[_0x1a4e('0x7e')]();if(this['getIntersectsOp']()[_0x1a4e('0x2a4')](_0x3376f9[_0x1a4e('0x4a2')](),_0x5ac9eb)&&_0x3376f9 instanceof _0x4009af&&(_0x234f42=this[_0x1a4e('0x82')](_0x5ac9eb,_0x3376f9,_0x81bc8f))){_0x153447=_0x3376f9;break;}}return null!==_0x153447&&_0x153447['getChildBoundables']()[_0x1a4e('0x149')]()&&_0x261805[_0x1a4e('0x4ae')]()[_0x1a4e('0x82')](_0x153447),_0x234f42;}},_0x56e683[_0x1a4e('0xa')]['createHigherLevels']=function(_0x5d7dad,_0x22b0c5){_0x1e33dc[_0x1a4e('0x2d0')](!_0x5d7dad[_0x1a4e('0x149')]());var _0x5ac9eb=this[_0x1a4e('0x4cb')](_0x5d7dad,_0x22b0c5+0x1);return 0x1===_0x5ac9eb[_0x1a4e('0x220')]()?_0x5ac9eb[_0x1a4e('0x179')](0x0):this[_0x1a4e('0x4cc')](_0x5ac9eb,_0x22b0c5+0x1);},_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x4cd')]=function(){if(0x0===arguments[_0x1a4e('0x1e')])return this['isEmpty']()?0x0:(this[_0x1a4e('0x4c6')](),this['depth'](this['_root']));if(0x1===arguments[_0x1a4e('0x1e')]){for(var _0x5d7dad=0x0,_0x22b0c5=arguments[0x0][_0x1a4e('0x4ae')]()['iterator']();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5['next']();if(_0x5ac9eb instanceof _0x4009af){var _0x261805=this[_0x1a4e('0x4cd')](_0x5ac9eb);_0x261805>_0x5d7dad&&(_0x5d7dad=_0x261805);}}return _0x5d7dad+0x1;}},_0x56e683[_0x1a4e('0xa')]['createParentBoundables']=function(_0x5d7dad,_0x22b0c5){_0x1e33dc[_0x1a4e('0x2d0')](!_0x5d7dad[_0x1a4e('0x149')]());var _0x5ac9eb=new _0x389784();_0x5ac9eb['add'](this[_0x1a4e('0x460')](_0x22b0c5));var _0x261805=new _0x389784(_0x5d7dad);_0x4f994e[_0x1a4e('0x89')](_0x261805,this[_0x1a4e('0x4ce')]());for(var _0x81bc8f=_0x261805['iterator']();_0x81bc8f['hasNext']();){var _0x234f42=_0x81bc8f[_0x1a4e('0x7e')]();this[_0x1a4e('0x4c3')](_0x5ac9eb)[_0x1a4e('0x4ae')]()['size']()===this[_0x1a4e('0x4c2')]()&&_0x5ac9eb[_0x1a4e('0x177')](this[_0x1a4e('0x460')](_0x22b0c5)),this['lastNode'](_0x5ac9eb)['addChildBoundable'](_0x234f42);}return _0x5ac9eb;},_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x149')]=function(){return this['_built']?this[_0x1a4e('0x4bd')]['isEmpty']():this['_itemBoundables']['isEmpty']();},_0x56e683[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x4ad42f];},_0x56e683['prototype'][_0x1a4e('0x234')]=function(){return _0x56e683;},_0x56e683[_0x1a4e('0x4cf')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad>_0x22b0c5?0x1:_0x5d7dad<_0x22b0c5?-0x1:0x0;},_0x2273c7[_0x1a4e('0x4d0')]['get']=function(){return _0x5ce87a;},_0x2273c7[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return-0x35ef64c82d4c5400;},_0x2273c7[_0x1a4e('0x4bf')][_0x1a4e('0x179')]=function(){return 0xa;},Object['defineProperties'](_0x56e683,_0x2273c7);var _0x5ce87a=function(){},_0x2d177e=function(){};_0x2d177e[_0x1a4e('0xa')]['distance']=function(_0x5d7dad,_0x22b0c5){},_0x2d177e[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x2d177e['prototype']['getClass']=function(){return _0x2d177e;};var _0x8ea0ea=function(_0x5d7dad){function _0x22b0c5(_0x5ac9eb){_0x5ac9eb=_0x5ac9eb||_0x22b0c5['DEFAULT_NODE_CAPACITY'],_0x5d7dad[_0x1a4e('0x1')](this,_0x5ac9eb);}_0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),(_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]))[_0x1a4e('0x10')]=_0x22b0c5;var _0x5ac9eb={'STRtreeNode':{'configurable':!0x0},'serialVersionUID':{'configurable':!0x0},'xComparator':{'configurable':!0x0},'yComparator':{'configurable':!0x0},'intersectsOp':{'configurable':!0x0},'DEFAULT_NODE_CAPACITY':{'configurable':!0x0}};return _0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x4d1')]=function(_0x5d7dad,_0x22b0c5){_0x1e33dc[_0x1a4e('0x2d0')](_0x5d7dad[_0x1a4e('0x1e')]>0x0);for(var _0x5ac9eb=new _0x389784(),_0x261805=0x0;_0x261805<_0x5d7dad['length'];_0x261805++)_0x5ac9eb[_0x1a4e('0x344')](this['createParentBoundablesFromVerticalSlice'](_0x5d7dad[_0x261805],_0x22b0c5));return _0x5ac9eb;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x460')]=function(_0x5d7dad){return new _0x114a5e(_0x5d7dad);},_0x22b0c5['prototype'][_0x1a4e('0x220')]=function(){return 0x0===arguments[_0x1a4e('0x1e')]?_0x5d7dad[_0x1a4e('0xa')]['size']['call'](this):_0x5d7dad['prototype'][_0x1a4e('0x220')][_0x1a4e('0x8b')](this,arguments);},_0x22b0c5[_0x1a4e('0xa')]['insert']=function(){if(0x2!==arguments['length'])return _0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x7c')][_0x1a4e('0x8b')](this,arguments);var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];if(_0x22b0c5[_0x1a4e('0x29d')]())return null;_0x5d7dad['prototype'][_0x1a4e('0x7c')][_0x1a4e('0x1')](this,_0x22b0c5,_0x5ac9eb);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x4ca')]=function(){return _0x22b0c5['intersectsOp'];},_0x22b0c5['prototype'][_0x1a4e('0x4d2')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=Math[_0x1a4e('0x232')](Math[_0x1a4e('0x6d')](_0x5d7dad[_0x1a4e('0x220')]()/_0x22b0c5)),_0x261805=new Array(_0x22b0c5)[_0x1a4e('0x22c')](null),_0x81bc8f=_0x5d7dad[_0x1a4e('0x335')](),_0x234f42=0x0;_0x234f42<_0x22b0c5;_0x234f42++){_0x261805[_0x234f42]=new _0x389784();for(var _0x153447=0x0;_0x81bc8f['hasNext']()&&_0x153447<_0x5ac9eb;){var _0x1972c2=_0x81bc8f[_0x1a4e('0x7e')]();_0x261805[_0x234f42][_0x1a4e('0x177')](_0x1972c2),_0x153447++;}}return _0x261805;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x4aa')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0];return _0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x4aa')][_0x1a4e('0x1')](this,_0x22b0c5);}if(0x2===arguments['length']){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];_0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x4aa')]['call'](this,_0x5ac9eb,_0x261805);}else if(0x3===arguments['length'])if(_0x73c38a(arguments[0x2],_0x2e435a)&&arguments[0x0]instanceof Object&&arguments[0x1]instanceof _0x4009af){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2];_0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x4aa')]['call'](this,_0x81bc8f,_0x234f42,_0x153447);}else if(_0x73c38a(arguments[0x2],_0x5f471f)&&arguments[0x0]instanceof Object&&arguments[0x1]instanceof _0x4009af){var _0x1972c2=arguments[0x0],_0x3376f9=arguments[0x1],_0x5dae0e=arguments[0x2];_0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x4aa')][_0x1a4e('0x1')](this,_0x1972c2,_0x3376f9,_0x5dae0e);}},_0x22b0c5[_0x1a4e('0xa')]['getComparator']=function(){return _0x22b0c5['yComparator'];},_0x22b0c5[_0x1a4e('0xa')]['createParentBoundablesFromVerticalSlice']=function(_0x22b0c5,_0x5ac9eb){return _0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x4cb')][_0x1a4e('0x1')](this,_0x22b0c5,_0x5ac9eb);},_0x22b0c5['prototype'][_0x1a4e('0x82')]=function(){if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];return _0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x82')][_0x1a4e('0x1')](this,_0x22b0c5,_0x5ac9eb);}return _0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x82')][_0x1a4e('0x8b')](this,arguments);},_0x22b0c5[_0x1a4e('0xa')]['depth']=function(){return 0x0===arguments[_0x1a4e('0x1e')]?_0x5d7dad[_0x1a4e('0xa')]['depth'][_0x1a4e('0x1')](this):_0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x4cd')][_0x1a4e('0x8b')](this,arguments);},_0x22b0c5[_0x1a4e('0xa')]['createParentBoundables']=function(_0x5d7dad,_0x5ac9eb){_0x1e33dc['isTrue'](!_0x5d7dad[_0x1a4e('0x149')]());var _0x261805=Math['trunc'](Math[_0x1a4e('0x6d')](_0x5d7dad['size']()/this[_0x1a4e('0x4c2')]())),_0x81bc8f=new _0x389784(_0x5d7dad);_0x4f994e[_0x1a4e('0x89')](_0x81bc8f,_0x22b0c5['xComparator']);var _0x234f42=this[_0x1a4e('0x4d2')](_0x81bc8f,Math[_0x1a4e('0x232')](Math[_0x1a4e('0x6d')](Math[_0x1a4e('0x91')](_0x261805))));return this[_0x1a4e('0x4d1')](_0x234f42,_0x5ac9eb);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x4d3')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){if(_0x73c38a(arguments[0x0],_0x2d177e)){var _0x5d7dad=arguments[0x0],_0x5ac9eb=new _0x323c7f(this['getRoot'](),this[_0x1a4e('0x4d4')](),_0x5d7dad);return this[_0x1a4e('0x4d3')](_0x5ac9eb);}if(arguments[0x0]instanceof _0x323c7f){var _0x261805=arguments[0x0];return this['nearestNeighbour'](_0x261805,_0x104610[_0x1a4e('0x4d5')]);}}else if(0x2===arguments[_0x1a4e('0x1e')]){if(arguments[0x0]instanceof _0x22b0c5&&_0x73c38a(arguments[0x1],_0x2d177e)){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=new _0x323c7f(this['getRoot'](),_0x81bc8f[_0x1a4e('0x4d4')](),_0x234f42);return this['nearestNeighbour'](_0x153447);}if(arguments[0x0]instanceof _0x323c7f&&_0x1a4e('0x3d')==typeof arguments[0x1]){var _0x1972c2=arguments[0x0],_0x3376f9=arguments[0x1],_0x5dae0e=null,_0x3d7f02=new _0xc0439e();for(_0x3d7f02[_0x1a4e('0x177')](_0x1972c2);!_0x3d7f02[_0x1a4e('0x149')]()&&_0x3376f9>0x0;){var _0x146559=_0x3d7f02[_0x1a4e('0x4d6')](),_0x184c89=_0x146559['getDistance']();if(_0x184c89>=_0x3376f9)break;_0x146559[_0x1a4e('0x4ba')]()?(_0x3376f9=_0x184c89,_0x5dae0e=_0x146559):_0x146559[_0x1a4e('0x4b5')](_0x3d7f02,_0x3376f9);}return[_0x5dae0e['getBoundable'](0x0)[_0x1a4e('0x4a5')](),_0x5dae0e[_0x1a4e('0x4bc')](0x1)[_0x1a4e('0x4a5')]()];}}else if(0x3===arguments[_0x1a4e('0x1e')]){var _0x4198ed=arguments[0x0],_0x41179c=arguments[0x1],_0x4eb09b=arguments[0x2],_0x39638f=new _0x584e52(_0x4198ed,_0x41179c),_0x40b220=new _0x323c7f(this[_0x1a4e('0x4d4')](),_0x39638f,_0x4eb09b);return this[_0x1a4e('0x4d3')](_0x40b220)[0x0];}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x509d8b,_0x4ad42f];},_0x22b0c5['prototype'][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5['centreX']=function(_0x5d7dad){return _0x22b0c5[_0x1a4e('0x4d7')](_0x5d7dad[_0x1a4e('0x29f')](),_0x5d7dad[_0x1a4e('0x29e')]());},_0x22b0c5[_0x1a4e('0x4d7')]=function(_0x5d7dad,_0x22b0c5){return(_0x5d7dad+_0x22b0c5)/0x2;},_0x22b0c5[_0x1a4e('0x4d8')]=function(_0x5d7dad){return _0x22b0c5['avg'](_0x5d7dad[_0x1a4e('0x2a2')](),_0x5d7dad[_0x1a4e('0x2a3')]());},_0x5ac9eb[_0x1a4e('0x4d9')][_0x1a4e('0x179')]=function(){return _0x114a5e;},_0x5ac9eb[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return 0x39920f7d5f261e0;},_0x5ac9eb[_0x1a4e('0x4da')][_0x1a4e('0x179')]=function(){return{'interfaces_':function(){return[_0xc6814d];},'compare':function(_0x5ac9eb,_0x261805){return _0x5d7dad['compareDoubles'](_0x22b0c5[_0x1a4e('0x4db')](_0x5ac9eb[_0x1a4e('0x4a2')]()),_0x22b0c5[_0x1a4e('0x4db')](_0x261805[_0x1a4e('0x4a2')]()));}};},_0x5ac9eb[_0x1a4e('0x4dc')][_0x1a4e('0x179')]=function(){return{'interfaces_':function(){return[_0xc6814d];},'compare':function(_0x5ac9eb,_0x261805){return _0x5d7dad[_0x1a4e('0x4cf')](_0x22b0c5['centreY'](_0x5ac9eb[_0x1a4e('0x4a2')]()),_0x22b0c5[_0x1a4e('0x4d8')](_0x261805[_0x1a4e('0x4a2')]()));}};},_0x5ac9eb[_0x1a4e('0x4dd')][_0x1a4e('0x179')]=function(){return{'interfaces_':function(){return[_0x5d7dad['IntersectsOp']];},'intersects':function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x2a4')](_0x22b0c5);}};},_0x5ac9eb[_0x1a4e('0x4bf')]['get']=function(){return 0xa;},Object[_0x1a4e('0x1c8')](_0x22b0c5,_0x5ac9eb),_0x22b0c5;}(_0x56e683),_0x114a5e=function(_0x5d7dad){function _0x22b0c5(){var _0x22b0c5=arguments[0x0];_0x5d7dad[_0x1a4e('0x1')](this,_0x22b0c5);}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5['prototype']=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x4b0')]=function(){for(var _0x5d7dad=null,_0x22b0c5=this['getChildBoundables']()[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();null===_0x5d7dad?_0x5d7dad=new _0x322dd2(_0x5ac9eb['getBounds']()):_0x5d7dad['expandToInclude'](_0x5ac9eb[_0x1a4e('0x4a2')]());}return _0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x4009af),_0x1c5cd3=function(){};_0x1c5cd3[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x1c5cd3[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1c5cd3;},_0x1c5cd3['relativeSign']=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad<_0x22b0c5?-0x1:_0x5d7dad>_0x22b0c5?0x1:0x0;},_0x1c5cd3['compare']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x22b0c5[_0x1a4e('0x23b')](_0x5ac9eb))return 0x0;var _0x261805=_0x1c5cd3[_0x1a4e('0x4de')](_0x22b0c5['x'],_0x5ac9eb['x']),_0x81bc8f=_0x1c5cd3[_0x1a4e('0x4de')](_0x22b0c5['y'],_0x5ac9eb['y']);switch(_0x5d7dad){case 0x0:return _0x1c5cd3[_0x1a4e('0x4df')](_0x261805,_0x81bc8f);case 0x1:return _0x1c5cd3[_0x1a4e('0x4df')](_0x81bc8f,_0x261805);case 0x2:return _0x1c5cd3[_0x1a4e('0x4df')](_0x81bc8f,-_0x261805);case 0x3:return _0x1c5cd3[_0x1a4e('0x4df')](-_0x261805,_0x81bc8f);case 0x4:return _0x1c5cd3[_0x1a4e('0x4df')](-_0x261805,-_0x81bc8f);case 0x5:return _0x1c5cd3['compareValue'](-_0x81bc8f,-_0x261805);case 0x6:return _0x1c5cd3[_0x1a4e('0x4df')](-_0x81bc8f,_0x261805);case 0x7:return _0x1c5cd3['compareValue'](_0x261805,-_0x81bc8f);}return _0x1e33dc[_0x1a4e('0x2ce')](_0x1a4e('0x4e0')),0x0;},_0x1c5cd3[_0x1a4e('0x4df')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad<0x0?-0x1:_0x5d7dad>0x0?0x1:_0x22b0c5<0x0?-0x1:_0x22b0c5>0x0?0x1:0x0;};var _0x464ba3=function(){this[_0x1a4e('0x4e1')]=null,this[_0x1a4e('0x196')]=null,this[_0x1a4e('0x4e2')]=null,this[_0x1a4e('0x4e3')]=null,this[_0x1a4e('0x4e4')]=null;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2],_0x261805=arguments[0x3];this['_segString']=_0x5d7dad,this[_0x1a4e('0x196')]=new _0x517a0b(_0x22b0c5),this[_0x1a4e('0x4e2')]=_0x5ac9eb,this[_0x1a4e('0x4e3')]=_0x261805,this[_0x1a4e('0x4e4')]=!_0x22b0c5[_0x1a4e('0x23b')](_0x5d7dad['getCoordinate'](_0x5ac9eb));};_0x464ba3['prototype'][_0x1a4e('0x28e')]=function(){return this[_0x1a4e('0x196')];},_0x464ba3[_0x1a4e('0xa')]['print']=function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x458')](this[_0x1a4e('0x196')]),_0x5d7dad[_0x1a4e('0x458')](_0x1a4e('0x4e5')+this[_0x1a4e('0x4e2')]);},_0x464ba3['prototype']['compareTo']=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;return this[_0x1a4e('0x4e2')]<_0x22b0c5['segmentIndex']?-0x1:this[_0x1a4e('0x4e2')]>_0x22b0c5['segmentIndex']?0x1:this[_0x1a4e('0x196')]['equals2D'](_0x22b0c5[_0x1a4e('0x196')])?0x0:_0x1c5cd3[_0x1a4e('0x77')](this['_segmentOctant'],this[_0x1a4e('0x196')],_0x22b0c5['coord']);},_0x464ba3['prototype'][_0x1a4e('0x2dd')]=function(_0x5d7dad){return 0x0===this['segmentIndex']&&!this[_0x1a4e('0x4e4')]||this[_0x1a4e('0x4e2')]===_0x5d7dad;},_0x464ba3[_0x1a4e('0xa')][_0x1a4e('0x4e6')]=function(){return this[_0x1a4e('0x4e4')];},_0x464ba3[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x65271];},_0x464ba3['prototype']['getClass']=function(){return _0x464ba3;};var _0x5d0afe=function(){this[_0x1a4e('0x4e7')]=new _0xe59c3e(),this[_0x1a4e('0x468')]=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x468')]=_0x5d7dad;};_0x5d0afe['prototype']['getSplitCoordinates']=function(){var _0x5d7dad=new _0x5dacd8();this[_0x1a4e('0x4e8')]();for(var _0x22b0c5=this[_0x1a4e('0x335')](),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x261805=_0x22b0c5[_0x1a4e('0x7e')]();this[_0x1a4e('0x4e9')](_0x5ac9eb,_0x261805,_0x5d7dad),_0x5ac9eb=_0x261805;}return _0x5d7dad[_0x1a4e('0x293')]();},_0x5d0afe[_0x1a4e('0xa')][_0x1a4e('0x4ea')]=function(){var _0x5d7dad=new _0x389784();this['findCollapsesFromInsertedNodes'](_0x5d7dad),this[_0x1a4e('0x4eb')](_0x5d7dad);for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5['next']()[_0x1a4e('0x275')]();this['add'](this['_edge'][_0x1a4e('0x28e')](_0x5ac9eb),_0x5ac9eb);}},_0x5d0afe[_0x1a4e('0xa')]['print']=function(_0x5d7dad){_0x5d7dad['println'](_0x1a4e('0x4ec'));for(var _0x22b0c5=this[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)_0x22b0c5[_0x1a4e('0x7e')]()['print'](_0x5d7dad);},_0x5d0afe[_0x1a4e('0xa')][_0x1a4e('0x4eb')]=function(_0x5d7dad){for(var _0x22b0c5=0x0;_0x22b0c5=0x0?_0x22b0c5>=0x0?_0x5ac9eb>=_0x261805?0x0:0x1:_0x5ac9eb>=_0x261805?0x7:0x6:_0x22b0c5>=0x0?_0x5ac9eb>=_0x261805?0x3:0x2:_0x5ac9eb>=_0x261805?0x4:0x5;}if(arguments[0x0]instanceof _0x517a0b&&arguments[0x1]instanceof _0x517a0b){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=_0x234f42['x']-_0x81bc8f['x'],_0x1972c2=_0x234f42['y']-_0x81bc8f['y'];if(0x0===_0x153447&&0x0===_0x1972c2)throw new _0x3eb8a2(_0x1a4e('0x4f6')+_0x81bc8f);return _0x2d944a['octant'](_0x153447,_0x1972c2);}};var _0x3f8261=function(){};_0x3f8261[_0x1a4e('0xa')][_0x1a4e('0x397')]=function(){},_0x3f8261['prototype'][_0x1a4e('0x220')]=function(){},_0x3f8261[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(_0x5d7dad){},_0x3f8261['prototype'][_0x1a4e('0x37d')]=function(){},_0x3f8261['prototype']['setData']=function(_0x5d7dad){},_0x3f8261[_0x1a4e('0xa')]['getData']=function(){},_0x3f8261['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x3f8261[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x3f8261;};var _0x3fbb4a=function(){};_0x3fbb4a[_0x1a4e('0xa')]['addIntersection']=function(_0x5d7dad,_0x22b0c5){},_0x3fbb4a[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x3f8261];},_0x3fbb4a[_0x1a4e('0xa')]['getClass']=function(){return _0x3fbb4a;};var _0x58b82d=function(){this[_0x1a4e('0x4f7')]=new _0x5d0afe(this),this[_0x1a4e('0x42f')]=null,this[_0x1a4e('0x4f8')]=null;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x42f')]=_0x5d7dad,this[_0x1a4e('0x4f8')]=_0x22b0c5;};_0x58b82d['prototype'][_0x1a4e('0x397')]=function(){return this['_pts'];},_0x58b82d['prototype'][_0x1a4e('0x220')]=function(){return this['_pts'][_0x1a4e('0x1e')];},_0x58b82d[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(_0x5d7dad){return this[_0x1a4e('0x42f')][_0x5d7dad];},_0x58b82d['prototype']['isClosed']=function(){return this[_0x1a4e('0x42f')][0x0]['equals'](this[_0x1a4e('0x42f')][this['_pts'][_0x1a4e('0x1e')]-0x1]);},_0x58b82d[_0x1a4e('0xa')]['getSegmentOctant']=function(_0x5d7dad){return _0x5d7dad===this[_0x1a4e('0x42f')]['length']-0x1?-0x1:this[_0x1a4e('0x4f9')](this[_0x1a4e('0x28e')](_0x5d7dad),this[_0x1a4e('0x28e')](_0x5d7dad+0x1));},_0x58b82d['prototype'][_0x1a4e('0x4fa')]=function(_0x5d7dad){this[_0x1a4e('0x4f8')]=_0x5d7dad;},_0x58b82d[_0x1a4e('0xa')][_0x1a4e('0x4f9')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x23b')](_0x22b0c5)?0x0:_0x2d944a['octant'](_0x5d7dad,_0x22b0c5);},_0x58b82d[_0x1a4e('0xa')][_0x1a4e('0x4f0')]=function(){return this[_0x1a4e('0x4f8')];},_0x58b82d[_0x1a4e('0xa')][_0x1a4e('0x4fb')]=function(){if(0x2===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x4fc')](_0x5d7dad,_0x22b0c5);}else if(0x4===arguments['length']){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1],_0x81bc8f=arguments[0x3],_0x234f42=new _0x517a0b(_0x5ac9eb['getIntersection'](_0x81bc8f));this[_0x1a4e('0x4fb')](_0x234f42,_0x261805);}},_0x58b82d[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return _0x183e48[_0x1a4e('0x2ef')](new _0xae22be(this[_0x1a4e('0x42f')]));},_0x58b82d[_0x1a4e('0xa')][_0x1a4e('0x4fd')]=function(){return this[_0x1a4e('0x4f7')];},_0x58b82d[_0x1a4e('0xa')]['addIntersectionNode']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x22b0c5,_0x261805=_0x5ac9eb+0x1;if(_0x261805=0x0&&_0x5ac9eb>=0x0?Math[_0x1a4e('0x6c')](_0x22b0c5,_0x5ac9eb):_0x22b0c5<=0x0&&_0x5ac9eb<=0x0?Math[_0x1a4e('0x6c')](_0x22b0c5,_0x5ac9eb):0x0;}if(arguments[0x0]instanceof _0x517a0b){var _0x261805=arguments[0x0];return _0x2a79ee[_0x1a4e('0x2fb')](this['p0'],this['p1'],_0x261805);}},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x32d')]=function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x2c2')]([this['p0'],this['p1']]);},_0x3cf489[_0x1a4e('0xa')]['isVertical']=function(){return this['p0']['x']===this['p1']['x'];},_0x3cf489['prototype']['equals']=function(_0x5d7dad){if(!(_0x5d7dad instanceof _0x3cf489))return!0x1;var _0x22b0c5=_0x5d7dad;return this['p0'][_0x1a4e('0x23e')](_0x22b0c5['p0'])&&this['p1'][_0x1a4e('0x23e')](_0x22b0c5['p1']);},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x148')]=function(_0x5d7dad){var _0x22b0c5=new _0x21d54a();return _0x22b0c5[_0x1a4e('0x2e1')](this['p0'],this['p1'],_0x5d7dad['p0'],_0x5d7dad['p1']),_0x22b0c5['hasIntersection']()?_0x22b0c5[_0x1a4e('0x2e9')](0x0):null;},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x500')]=function(){if(arguments[0x0]instanceof _0x517a0b){var _0x5d7dad=arguments[0x0];if(_0x5d7dad[_0x1a4e('0x23e')](this['p0'])||_0x5d7dad[_0x1a4e('0x23e')](this['p1']))return new _0x517a0b(_0x5d7dad);var _0x22b0c5=this['projectionFactor'](_0x5d7dad),_0x5ac9eb=new _0x517a0b();return _0x5ac9eb['x']=this['p0']['x']+_0x22b0c5*(this['p1']['x']-this['p0']['x']),_0x5ac9eb['y']=this['p0']['y']+_0x22b0c5*(this['p1']['y']-this['p0']['y']),_0x5ac9eb;}if(arguments[0x0]instanceof _0x3cf489){var _0x261805=arguments[0x0],_0x81bc8f=this[_0x1a4e('0x501')](_0x261805['p0']),_0x234f42=this[_0x1a4e('0x501')](_0x261805['p1']);if(_0x81bc8f>=0x1&&_0x234f42>=0x1)return null;if(_0x81bc8f<=0x0&&_0x234f42<=0x0)return null;var _0x153447=this['project'](_0x261805['p0']);_0x81bc8f<0x0&&(_0x153447=this['p0']),_0x81bc8f>0x1&&(_0x153447=this['p1']);var _0x1972c2=this[_0x1a4e('0x500')](_0x261805['p1']);return _0x234f42<0x0&&(_0x1972c2=this['p0']),_0x234f42>0x1&&(_0x1972c2=this['p1']),new _0x3cf489(_0x153447,_0x1972c2);}},_0x3cf489['prototype'][_0x1a4e('0x330')]=function(){this['p1']['compareTo'](this['p0'])<0x0&&this[_0x1a4e('0x9b')]();},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x502')]=function(){return Math['atan2'](this['p1']['y']-this['p0']['y'],this['p1']['x']-this['p0']['x']);},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(_0x5d7dad){return 0x0===_0x5d7dad?this['p0']:this['p1'];},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x503')]=function(_0x5d7dad){return _0x2a79ee[_0x1a4e('0x504')](_0x5d7dad,this['p0'],this['p1']);},_0x3cf489['prototype'][_0x1a4e('0x71')]=function(){return Math[_0x1a4e('0x74')](this['p0']['y'],this['p1']['y']);},_0x3cf489['prototype'][_0x1a4e('0x505')]=function(){return _0x3cf489[_0x1a4e('0x505')](this['p0'],this['p1']);},_0x3cf489[_0x1a4e('0xa')]['projectionFactor']=function(_0x5d7dad){if(_0x5d7dad[_0x1a4e('0x23e')](this['p0']))return 0x0;if(_0x5d7dad['equals'](this['p1']))return 0x1;var _0x22b0c5=this['p1']['x']-this['p0']['x'],_0x5ac9eb=this['p1']['y']-this['p0']['y'],_0x261805=_0x22b0c5*_0x22b0c5+_0x5ac9eb*_0x5ac9eb;return _0x261805<=0x0?_0x104610[_0x1a4e('0x271')]:((_0x5d7dad['x']-this['p0']['x'])*_0x22b0c5+(_0x5d7dad['y']-this['p0']['y'])*_0x5ac9eb)/_0x261805;},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x506')]=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x148')](_0x5d7dad);if(null!==_0x22b0c5)return[_0x22b0c5,_0x22b0c5];var _0x5ac9eb=new Array(0x2)[_0x1a4e('0x22c')](null),_0x261805=_0x104610[_0x1a4e('0x201')],_0x81bc8f=null,_0x234f42=this[_0x1a4e('0x507')](_0x5d7dad['p0']);_0x261805=_0x234f42['distance'](_0x5d7dad['p0']),_0x5ac9eb[0x0]=_0x234f42,_0x5ac9eb[0x1]=_0x5d7dad['p0'];var _0x153447=this[_0x1a4e('0x507')](_0x5d7dad['p1']);(_0x81bc8f=_0x153447[_0x1a4e('0x1ed')](_0x5d7dad['p1']))<_0x261805&&(_0x261805=_0x81bc8f,_0x5ac9eb[0x0]=_0x153447,_0x5ac9eb[0x1]=_0x5d7dad['p1']);var _0x1972c2=_0x5d7dad['closestPoint'](this['p0']);(_0x81bc8f=_0x1972c2[_0x1a4e('0x1ed')](this['p0']))<_0x261805&&(_0x261805=_0x81bc8f,_0x5ac9eb[0x0]=this['p0'],_0x5ac9eb[0x1]=_0x1972c2);var _0x3376f9=_0x5d7dad['closestPoint'](this['p1']);return(_0x81bc8f=_0x3376f9[_0x1a4e('0x1ed')](this['p1']))<_0x261805&&(_0x261805=_0x81bc8f,_0x5ac9eb[0x0]=this['p1'],_0x5ac9eb[0x1]=_0x3376f9),_0x5ac9eb;},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x507')]=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x501')](_0x5d7dad);return _0x22b0c5>0x0&&_0x22b0c5<0x1?this[_0x1a4e('0x500')](_0x5d7dad):this['p0']['distance'](_0x5d7dad)0x1||_0x104610[_0x1a4e('0x231')](_0x22b0c5))&&(_0x22b0c5=0x1),_0x22b0c5;},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return _0x1a4e('0x50b')+this['p0']['x']+'\x20'+this['p0']['y']+',\x20'+this['p1']['x']+'\x20'+this['p1']['y']+')';},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x50c')]=function(){return this['p0']['y']===this['p1']['y'];},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x1ed')]=function(){if(arguments[0x0]instanceof _0x3cf489){var _0x5d7dad=arguments[0x0];return _0x2a79ee[_0x1a4e('0x311')](this['p0'],this['p1'],_0x5d7dad['p0'],_0x5d7dad['p1']);}if(arguments[0x0]instanceof _0x517a0b){var _0x22b0c5=arguments[0x0];return _0x2a79ee[_0x1a4e('0x30a')](_0x22b0c5,this['p0'],this['p1']);}},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x50d')]=function(_0x5d7dad){var _0x22b0c5=new _0x517a0b();return _0x22b0c5['x']=this['p0']['x']+_0x5d7dad*(this['p1']['x']-this['p0']['x']),_0x22b0c5['y']=this['p0']['y']+_0x5d7dad*(this['p1']['y']-this['p0']['y']),_0x22b0c5;},_0x3cf489[_0x1a4e('0xa')]['hashCode']=function(){var _0x5d7dad=_0x104610[_0x1a4e('0x235')](this['p0']['x']);_0x5d7dad^=0x1f*_0x104610[_0x1a4e('0x235')](this['p0']['y']);var _0x22b0c5=Math[_0x1a4e('0x232')](_0x5d7dad)^Math[_0x1a4e('0x232')](_0x5d7dad>>0x20),_0x5ac9eb=_0x104610['doubleToLongBits'](this['p1']['x']);return _0x5ac9eb^=0x1f*_0x104610[_0x1a4e('0x235')](this['p1']['y']),_0x22b0c5^Math[_0x1a4e('0x232')](_0x5ac9eb)^Math[_0x1a4e('0x232')](_0x5ac9eb>>0x20);},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x65271,_0x4ad42f];},_0x3cf489[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x3cf489;},_0x3cf489[_0x1a4e('0x505')]=function(_0x5d7dad,_0x22b0c5){return new _0x517a0b((_0x5d7dad['x']+_0x22b0c5['x'])/0x2,(_0x5d7dad['y']+_0x22b0c5['y'])/0x2);},_0x192252[_0x1a4e('0x245')][_0x1a4e('0x179')]=function(){return 0x2d2172135f411c00;},Object[_0x1a4e('0x1c8')](_0x3cf489,_0x192252);var _0x1f9dc8=function(){this['tempEnv1']=new _0x322dd2(),this['tempEnv2']=new _0x322dd2(),this[_0x1a4e('0x50e')]=new _0x3cf489(),this[_0x1a4e('0x50f')]=new _0x3cf489();};_0x1f9dc8['prototype']['overlap']=function(){if(0x2===arguments[_0x1a4e('0x1e')]);else if(0x4===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2],_0x261805=arguments[0x3];_0x5d7dad['getLineSegment'](_0x22b0c5,this[_0x1a4e('0x50e')]),_0x5ac9eb[_0x1a4e('0x510')](_0x261805,this[_0x1a4e('0x50f')]),this[_0x1a4e('0x511')](this[_0x1a4e('0x50e')],this[_0x1a4e('0x50f')]);}},_0x1f9dc8[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x1f9dc8[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1f9dc8;};var _0x55a183=function(){this[_0x1a4e('0x42f')]=null,this[_0x1a4e('0x512')]=null,this[_0x1a4e('0x513')]=null,this[_0x1a4e('0x406')]=null,this[_0x1a4e('0x514')]=null,this[_0x1a4e('0x515')]=null;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2],_0x261805=arguments[0x3];this[_0x1a4e('0x42f')]=_0x5d7dad,this['_start']=_0x22b0c5,this['_end']=_0x5ac9eb,this[_0x1a4e('0x514')]=_0x261805;};_0x55a183[_0x1a4e('0xa')][_0x1a4e('0x510')]=function(_0x5d7dad,_0x22b0c5){_0x22b0c5['p0']=this['_pts'][_0x5d7dad],_0x22b0c5['p1']=this[_0x1a4e('0x42f')][_0x5d7dad+0x1];},_0x55a183[_0x1a4e('0xa')]['computeSelect']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=this[_0x1a4e('0x42f')][_0x22b0c5],_0x234f42=this[_0x1a4e('0x42f')][_0x5ac9eb];if(_0x261805[_0x1a4e('0x516')][_0x1a4e('0x1fd')](_0x81bc8f,_0x234f42),_0x5ac9eb-_0x22b0c5==0x1)return _0x261805['select'](this,_0x22b0c5),null;if(!_0x5d7dad[_0x1a4e('0x2a4')](_0x261805['tempEnv1']))return null;var _0x153447=Math[_0x1a4e('0x232')]((_0x22b0c5+_0x5ac9eb)/0x2);_0x22b0c5<_0x153447&&this[_0x1a4e('0x517')](_0x5d7dad,_0x22b0c5,_0x153447,_0x261805),_0x153447<_0x5ac9eb&&this[_0x1a4e('0x517')](_0x5d7dad,_0x153447,_0x5ac9eb,_0x261805);},_0x55a183[_0x1a4e('0xa')][_0x1a4e('0x397')]=function(){for(var _0x5d7dad=new Array(this[_0x1a4e('0x513')]-this['_start']+0x1)[_0x1a4e('0x22c')](null),_0x22b0c5=0x0,_0x5ac9eb=this[_0x1a4e('0x512')];_0x5ac9eb<=this[_0x1a4e('0x513')];_0x5ac9eb++)_0x5d7dad[_0x22b0c5++]=this[_0x1a4e('0x42f')][_0x5ac9eb];return _0x5d7dad;},_0x55a183['prototype'][_0x1a4e('0x518')]=function(_0x5d7dad,_0x22b0c5){this['computeOverlapsInternal'](this[_0x1a4e('0x512')],this[_0x1a4e('0x513')],_0x5d7dad,_0x5d7dad[_0x1a4e('0x512')],_0x5d7dad[_0x1a4e('0x513')],_0x22b0c5);},_0x55a183[_0x1a4e('0xa')][_0x1a4e('0x519')]=function(_0x5d7dad){this['_id']=_0x5d7dad;},_0x55a183[_0x1a4e('0xa')][_0x1a4e('0x51a')]=function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x517')](_0x5d7dad,this[_0x1a4e('0x512')],this['_end'],_0x22b0c5);},_0x55a183['prototype'][_0x1a4e('0x1c6')]=function(){if(null===this[_0x1a4e('0x406')]){var _0x5d7dad=this[_0x1a4e('0x42f')][this['_start']],_0x22b0c5=this[_0x1a4e('0x42f')][this[_0x1a4e('0x513')]];this[_0x1a4e('0x406')]=new _0x322dd2(_0x5d7dad,_0x22b0c5);}return this[_0x1a4e('0x406')];},_0x55a183[_0x1a4e('0xa')]['getEndIndex']=function(){return this['_end'];},_0x55a183[_0x1a4e('0xa')][_0x1a4e('0x51b')]=function(){return this[_0x1a4e('0x512')];},_0x55a183[_0x1a4e('0xa')][_0x1a4e('0x51c')]=function(){return this[_0x1a4e('0x514')];},_0x55a183['prototype'][_0x1a4e('0x51d')]=function(){return this['_id'];},_0x55a183[_0x1a4e('0xa')]['computeOverlapsInternal']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){var _0x153447=this[_0x1a4e('0x42f')][_0x5d7dad],_0x1972c2=this[_0x1a4e('0x42f')][_0x22b0c5],_0x3376f9=_0x5ac9eb[_0x1a4e('0x42f')][_0x261805],_0x5dae0e=_0x5ac9eb['_pts'][_0x81bc8f];if(_0x22b0c5-_0x5d7dad==0x1&&_0x81bc8f-_0x261805==0x1)return _0x234f42[_0x1a4e('0x511')](this,_0x5d7dad,_0x5ac9eb,_0x261805),null;if(_0x234f42[_0x1a4e('0x516')][_0x1a4e('0x1fd')](_0x153447,_0x1972c2),_0x234f42[_0x1a4e('0x51e')]['init'](_0x3376f9,_0x5dae0e),!_0x234f42[_0x1a4e('0x516')][_0x1a4e('0x2a4')](_0x234f42[_0x1a4e('0x51e')]))return null;var _0x3d7f02=Math['trunc']((_0x5d7dad+_0x22b0c5)/0x2),_0x146559=Math[_0x1a4e('0x232')]((_0x261805+_0x81bc8f)/0x2);_0x5d7dad<_0x3d7f02&&(_0x261805<_0x146559&&this[_0x1a4e('0x51f')](_0x5d7dad,_0x3d7f02,_0x5ac9eb,_0x261805,_0x146559,_0x234f42),_0x146559<_0x81bc8f&&this[_0x1a4e('0x51f')](_0x5d7dad,_0x3d7f02,_0x5ac9eb,_0x146559,_0x81bc8f,_0x234f42)),_0x3d7f02<_0x22b0c5&&(_0x261805<_0x146559&&this[_0x1a4e('0x51f')](_0x3d7f02,_0x22b0c5,_0x5ac9eb,_0x261805,_0x146559,_0x234f42),_0x146559<_0x81bc8f&&this[_0x1a4e('0x51f')](_0x3d7f02,_0x22b0c5,_0x5ac9eb,_0x146559,_0x81bc8f,_0x234f42));},_0x55a183[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x55a183['prototype'][_0x1a4e('0x234')]=function(){return _0x55a183;};var _0x17c7d=function(){};_0x17c7d[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x17c7d[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x17c7d;},_0x17c7d['getChainStartIndices']=function(_0x5d7dad){var _0x22b0c5=0x0,_0x5ac9eb=new _0x389784();_0x5ac9eb[_0x1a4e('0x177')](new _0x2e5c34(_0x22b0c5));do{var _0x261805=_0x17c7d[_0x1a4e('0x520')](_0x5d7dad,_0x22b0c5);_0x5ac9eb[_0x1a4e('0x177')](new _0x2e5c34(_0x261805)),_0x22b0c5=_0x261805;}while(_0x22b0c5<_0x5d7dad[_0x1a4e('0x1e')]-0x1);return _0x17c7d['toIntArray'](_0x5ac9eb);},_0x17c7d[_0x1a4e('0x520')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x22b0c5;_0x5ac9eb<_0x5d7dad['length']-0x1&&_0x5d7dad[_0x5ac9eb][_0x1a4e('0x23b')](_0x5d7dad[_0x5ac9eb+0x1]);)_0x5ac9eb++;if(_0x5ac9eb>=_0x5d7dad[_0x1a4e('0x1e')]-0x1)return _0x5d7dad[_0x1a4e('0x1e')]-0x1;for(var _0x261805=_0x248fe4[_0x1a4e('0x465')](_0x5d7dad[_0x5ac9eb],_0x5d7dad[_0x5ac9eb+0x1]),_0x81bc8f=_0x22b0c5+0x1;_0x81bc8f<_0x5d7dad['length']&&(_0x5d7dad[_0x81bc8f-0x1][_0x1a4e('0x23b')](_0x5d7dad[_0x81bc8f])||_0x248fe4[_0x1a4e('0x465')](_0x5d7dad[_0x81bc8f-0x1],_0x5d7dad[_0x81bc8f])===_0x261805);)_0x81bc8f++;return _0x81bc8f-0x1;},_0x17c7d[_0x1a4e('0x521')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return _0x17c7d['getChains'](_0x5d7dad,null);}if(0x2===arguments[_0x1a4e('0x1e')]){for(var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=new _0x389784(),_0x81bc8f=_0x17c7d[_0x1a4e('0x522')](_0x22b0c5),_0x234f42=0x0;_0x234f42<_0x81bc8f[_0x1a4e('0x1e')]-0x1;_0x234f42++){var _0x153447=new _0x55a183(_0x22b0c5,_0x81bc8f[_0x234f42],_0x81bc8f[_0x234f42+0x1],_0x5ac9eb);_0x261805['add'](_0x153447);}return _0x261805;}},_0x17c7d[_0x1a4e('0x523')]=function(_0x5d7dad){for(var _0x22b0c5=new Array(_0x5d7dad['size']())[_0x1a4e('0x22c')](null),_0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x1e')];_0x5ac9eb++)_0x22b0c5[_0x5ac9eb]=_0x5d7dad[_0x1a4e('0x179')](_0x5ac9eb)[_0x1a4e('0x275')]();return _0x22b0c5;};var _0x40b7d9=function(){};_0x40b7d9[_0x1a4e('0xa')][_0x1a4e('0x524')]=function(_0x5d7dad){},_0x40b7d9[_0x1a4e('0xa')][_0x1a4e('0x4ff')]=function(){},_0x40b7d9[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x40b7d9[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x40b7d9;};var _0x5c2685=function(){if(this[_0x1a4e('0x525')]=null,0x0===arguments[_0x1a4e('0x1e')]);else if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x526')](_0x5d7dad);}};_0x5c2685[_0x1a4e('0xa')][_0x1a4e('0x526')]=function(_0x5d7dad){this[_0x1a4e('0x525')]=_0x5d7dad;},_0x5c2685[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x40b7d9];},_0x5c2685[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x5c2685;};var _0x56dd7f=function(_0x5d7dad){function _0x22b0c5(_0x22b0c5){_0x22b0c5?_0x5d7dad['call'](this,_0x22b0c5):_0x5d7dad['call'](this),this[_0x1a4e('0x527')]=new _0x389784(),this[_0x1a4e('0x528')]=new _0x8ea0ea(),this[_0x1a4e('0x529')]=0x0,this[_0x1a4e('0x52a')]=null,this[_0x1a4e('0x52b')]=0x0;}_0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),(_0x22b0c5['prototype']=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]))['constructor']=_0x22b0c5;var _0x5ac9eb={'SegmentOverlapAction':{'configurable':!0x0}};return _0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x52c')]=function(){return this[_0x1a4e('0x527')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x4ff')]=function(){return _0x58b82d[_0x1a4e('0x4ff')](this['_nodedSegStrings']);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x52d')]=function(){return this['_index'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x5d7dad){for(var _0x22b0c5=_0x17c7d['getChains'](_0x5d7dad[_0x1a4e('0x397')](),_0x5d7dad)[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();_0x5ac9eb[_0x1a4e('0x519')](this['_idCounter']++),this['_index'][_0x1a4e('0x7c')](_0x5ac9eb['getEnvelope'](),_0x5ac9eb),this[_0x1a4e('0x527')][_0x1a4e('0x177')](_0x5ac9eb);}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x524')]=function(_0x5d7dad){this[_0x1a4e('0x52a')]=_0x5d7dad;for(var _0x22b0c5=_0x5d7dad['iterator']();_0x22b0c5[_0x1a4e('0x336')]();)this[_0x1a4e('0x177')](_0x22b0c5[_0x1a4e('0x7e')]());this[_0x1a4e('0x52e')]();},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x52e')]=function(){for(var _0x5d7dad=new _0x3baf2e(this[_0x1a4e('0x525')]),_0x22b0c5=this['_monoChains'][_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)for(var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')](),_0x261805=this[_0x1a4e('0x528')][_0x1a4e('0x4aa')](_0x5ac9eb[_0x1a4e('0x1c6')]())[_0x1a4e('0x335')]();_0x261805['hasNext']();){var _0x81bc8f=_0x261805['next']();if(_0x81bc8f['getId']()>_0x5ac9eb[_0x1a4e('0x51d')]()&&(_0x5ac9eb['computeOverlaps'](_0x81bc8f,_0x5d7dad),this[_0x1a4e('0x52b')]++),this[_0x1a4e('0x525')][_0x1a4e('0x37a')]())return null;}},_0x22b0c5['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x5ac9eb[_0x1a4e('0x52f')]['get']=function(){return _0x3baf2e;},Object[_0x1a4e('0x1c8')](_0x22b0c5,_0x5ac9eb),_0x22b0c5;}(_0x5c2685),_0x3baf2e=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x1')](this),this[_0x1a4e('0x530')]=null;var _0x22b0c5=arguments[0x0];this[_0x1a4e('0x530')]=_0x22b0c5;}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x511')]=function(){if(0x4!==arguments[_0x1a4e('0x1e')])return _0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x511')]['apply'](this,arguments);var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=arguments[0x2],_0x81bc8f=arguments[0x3],_0x234f42=_0x22b0c5['getContext'](),_0x153447=_0x261805['getContext']();this['_si'][_0x1a4e('0x531')](_0x234f42,_0x5ac9eb,_0x153447,_0x81bc8f);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5['prototype'][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x1f9dc8),_0x1be1ca=function _0x5d7dad(){if(this[_0x1a4e('0x532')]=_0x5d7dad[_0x1a4e('0x533')],this[_0x1a4e('0x534')]=_0x5d7dad[_0x1a4e('0x535')],this['_joinStyle']=_0x5d7dad[_0x1a4e('0x536')],this['_mitreLimit']=_0x5d7dad['DEFAULT_MITRE_LIMIT'],this[_0x1a4e('0x537')]=!0x1,this[_0x1a4e('0x538')]=_0x5d7dad[_0x1a4e('0x539')],0x0===arguments[_0x1a4e('0x1e')]);else if(0x1===arguments['length']){var _0x22b0c5=arguments[0x0];this[_0x1a4e('0x53a')](_0x22b0c5);}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1];this['setQuadrantSegments'](_0x5ac9eb),this[_0x1a4e('0x53b')](_0x261805);}else if(0x4===arguments['length']){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2],_0x1972c2=arguments[0x3];this[_0x1a4e('0x53a')](_0x81bc8f),this[_0x1a4e('0x53b')](_0x234f42),this[_0x1a4e('0x53c')](_0x153447),this[_0x1a4e('0x53d')](_0x1972c2);}},_0x5c2364={'CAP_ROUND':{'configurable':!0x0},'CAP_FLAT':{'configurable':!0x0},'CAP_SQUARE':{'configurable':!0x0},'JOIN_ROUND':{'configurable':!0x0},'JOIN_MITRE':{'configurable':!0x0},'JOIN_BEVEL':{'configurable':!0x0},'DEFAULT_QUADRANT_SEGMENTS':{'configurable':!0x0},'DEFAULT_MITRE_LIMIT':{'configurable':!0x0},'DEFAULT_SIMPLIFY_FACTOR':{'configurable':!0x0}};_0x1be1ca[_0x1a4e('0xa')]['getEndCapStyle']=function(){return this['_endCapStyle'];},_0x1be1ca['prototype'][_0x1a4e('0x53e')]=function(){return this[_0x1a4e('0x537')];},_0x1be1ca[_0x1a4e('0xa')][_0x1a4e('0x53a')]=function(_0x5d7dad){this['_quadrantSegments']=_0x5d7dad,0x0===this[_0x1a4e('0x532')]&&(this[_0x1a4e('0x53f')]=_0x1be1ca['JOIN_BEVEL']),this[_0x1a4e('0x532')]<0x0&&(this['_joinStyle']=_0x1be1ca['JOIN_MITRE'],this['_mitreLimit']=Math['abs'](this[_0x1a4e('0x532')])),_0x5d7dad<=0x0&&(this[_0x1a4e('0x532')]=0x1),this[_0x1a4e('0x53f')]!==_0x1be1ca[_0x1a4e('0x536')]&&(this[_0x1a4e('0x532')]=_0x1be1ca['DEFAULT_QUADRANT_SEGMENTS']);},_0x1be1ca[_0x1a4e('0xa')][_0x1a4e('0x540')]=function(){return this[_0x1a4e('0x53f')];},_0x1be1ca[_0x1a4e('0xa')][_0x1a4e('0x53c')]=function(_0x5d7dad){this[_0x1a4e('0x53f')]=_0x5d7dad;},_0x1be1ca[_0x1a4e('0xa')][_0x1a4e('0x541')]=function(_0x5d7dad){this[_0x1a4e('0x538')]=_0x5d7dad<0x0?0x0:_0x5d7dad;},_0x1be1ca['prototype'][_0x1a4e('0x542')]=function(){return this[_0x1a4e('0x538')];},_0x1be1ca['prototype'][_0x1a4e('0x543')]=function(){return this[_0x1a4e('0x532')];},_0x1be1ca[_0x1a4e('0xa')][_0x1a4e('0x53b')]=function(_0x5d7dad){this['_endCapStyle']=_0x5d7dad;},_0x1be1ca[_0x1a4e('0xa')][_0x1a4e('0x544')]=function(){return this['_mitreLimit'];},_0x1be1ca[_0x1a4e('0xa')][_0x1a4e('0x53d')]=function(_0x5d7dad){this['_mitreLimit']=_0x5d7dad;},_0x1be1ca[_0x1a4e('0xa')]['setSingleSided']=function(_0x5d7dad){this[_0x1a4e('0x537')]=_0x5d7dad;},_0x1be1ca[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x1be1ca[_0x1a4e('0xa')]['getClass']=function(){return _0x1be1ca;},_0x1be1ca[_0x1a4e('0x545')]=function(_0x5d7dad){var _0x22b0c5=Math['PI']/0x2/_0x5d7dad;return 0x1-Math[_0x1a4e('0x90')](_0x22b0c5/0x2);},_0x5c2364[_0x1a4e('0x535')][_0x1a4e('0x179')]=function(){return 0x1;},_0x5c2364[_0x1a4e('0x546')][_0x1a4e('0x179')]=function(){return 0x2;},_0x5c2364['CAP_SQUARE'][_0x1a4e('0x179')]=function(){return 0x3;},_0x5c2364[_0x1a4e('0x536')]['get']=function(){return 0x1;},_0x5c2364[_0x1a4e('0x547')]['get']=function(){return 0x2;},_0x5c2364['JOIN_BEVEL'][_0x1a4e('0x179')]=function(){return 0x3;},_0x5c2364[_0x1a4e('0x533')]['get']=function(){return 0x8;},_0x5c2364[_0x1a4e('0x548')][_0x1a4e('0x179')]=function(){return 0x5;},_0x5c2364[_0x1a4e('0x539')][_0x1a4e('0x179')]=function(){return 0.01;},Object[_0x1a4e('0x1c8')](_0x1be1ca,_0x5c2364);var _0x356ab8=function(_0x5d7dad){this[_0x1a4e('0x549')]=null,this[_0x1a4e('0x54a')]=null,this[_0x1a4e('0x54b')]=_0x2a79ee[_0x1a4e('0x319')],this[_0x1a4e('0x54c')]=_0x5d7dad||null;},_0x4e1bfd={'INIT':{'configurable':!0x0},'DELETE':{'configurable':!0x0},'KEEP':{'configurable':!0x0},'NUM_PTS_TO_CHECK':{'configurable':!0x0}};_0x356ab8[_0x1a4e('0xa')][_0x1a4e('0x54d')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=this[_0x1a4e('0x54c')][_0x5d7dad],_0x234f42=this[_0x1a4e('0x54c')][_0x22b0c5],_0x153447=this[_0x1a4e('0x54c')][_0x5ac9eb];return!!this['isConcave'](_0x81bc8f,_0x234f42,_0x153447)&&!!this[_0x1a4e('0x54e')](_0x81bc8f,_0x234f42,_0x153447,_0x261805)&&this[_0x1a4e('0x54f')](_0x81bc8f,_0x234f42,_0x5d7dad,_0x5ac9eb,_0x261805);},_0x356ab8[_0x1a4e('0xa')][_0x1a4e('0x550')]=function(){for(var _0x5d7dad=0x1,_0x22b0c5=this[_0x1a4e('0x551')](_0x5d7dad),_0x5ac9eb=this[_0x1a4e('0x551')](_0x22b0c5),_0x261805=!0x1;_0x5ac9eb=0x0;_0x261805--)this['addPt'](_0x5d7dad[_0x261805]);},_0x5ef4ef[_0x1a4e('0xa')][_0x1a4e('0x55d')]=function(_0x5d7dad){if(this['_ptList']['size']()<0x1)return!0x1;var _0x22b0c5=this[_0x1a4e('0x55a')]['get'](this[_0x1a4e('0x55a')][_0x1a4e('0x220')]()-0x1);return _0x5d7dad[_0x1a4e('0x1ed')](_0x22b0c5)Math['PI'];)_0x5d7dad-=_0x40d2e5[_0x1a4e('0x561')];for(;_0x5d7dad<=-Math['PI'];)_0x5d7dad+=_0x40d2e5[_0x1a4e('0x561')];return _0x5d7dad;},_0x40d2e5[_0x1a4e('0x502')]=function(){if(0x1===arguments['length']){var _0x5d7dad=arguments[0x0];return Math[_0x1a4e('0xa6')](_0x5d7dad['y'],_0x5d7dad['x']);}if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=_0x5ac9eb['x']-_0x22b0c5['x'],_0x81bc8f=_0x5ac9eb['y']-_0x22b0c5['y'];return Math[_0x1a4e('0xa6')](_0x81bc8f,_0x261805);}},_0x40d2e5[_0x1a4e('0x562')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad['x']-_0x22b0c5['x'],_0x81bc8f=_0x5d7dad['y']-_0x22b0c5['y'];return _0x261805*(_0x5ac9eb['x']-_0x22b0c5['x'])+_0x81bc8f*(_0x5ac9eb['y']-_0x22b0c5['y'])>0x0;},_0x40d2e5['isObtuse']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad['x']-_0x22b0c5['x'],_0x81bc8f=_0x5d7dad['y']-_0x22b0c5['y'];return _0x261805*(_0x5ac9eb['x']-_0x22b0c5['x'])+_0x81bc8f*(_0x5ac9eb['y']-_0x22b0c5['y'])<0x0;},_0x40d2e5[_0x1a4e('0x563')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x40d2e5[_0x1a4e('0x502')](_0x22b0c5,_0x5d7dad),_0x81bc8f=_0x40d2e5[_0x1a4e('0x502')](_0x22b0c5,_0x5ac9eb);return Math[_0x1a4e('0x65')](_0x81bc8f-_0x261805);},_0x40d2e5[_0x1a4e('0x564')]=function(_0x5d7dad){if(_0x5d7dad<0x0){for(;_0x5d7dad<0x0;)_0x5d7dad+=_0x40d2e5[_0x1a4e('0x561')];_0x5d7dad>=_0x40d2e5[_0x1a4e('0x561')]&&(_0x5d7dad=0x0);}else{for(;_0x5d7dad>=_0x40d2e5['PI_TIMES_2'];)_0x5d7dad-=_0x40d2e5[_0x1a4e('0x561')];_0x5d7dad<0x0&&(_0x5d7dad=0x0);}return _0x5d7dad;},_0x40d2e5['angleBetween']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x40d2e5['angle'](_0x22b0c5,_0x5d7dad),_0x81bc8f=_0x40d2e5[_0x1a4e('0x502')](_0x22b0c5,_0x5ac9eb);return _0x40d2e5[_0x1a4e('0x565')](_0x261805,_0x81bc8f);},_0x40d2e5[_0x1a4e('0x565')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=null;return(_0x5ac9eb=_0x5d7dad<_0x22b0c5?_0x22b0c5-_0x5d7dad:_0x5d7dad-_0x22b0c5)>Math['PI']&&(_0x5ac9eb=0x2*Math['PI']-_0x5ac9eb),_0x5ac9eb;},_0x40d2e5[_0x1a4e('0x566')]=function(_0x5d7dad){return _0x5d7dad*Math['PI']/0xb4;},_0x40d2e5[_0x1a4e('0x567')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=Math['sin'](_0x22b0c5-_0x5d7dad);return _0x5ac9eb>0x0?_0x40d2e5[_0x1a4e('0x319')]:_0x5ac9eb<0x0?_0x40d2e5[_0x1a4e('0x317')]:_0x40d2e5[_0x1a4e('0x24a')];},_0x40d2e5[_0x1a4e('0x568')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x40d2e5[_0x1a4e('0x502')](_0x22b0c5,_0x5d7dad),_0x81bc8f=_0x40d2e5[_0x1a4e('0x502')](_0x22b0c5,_0x5ac9eb)-_0x261805;return _0x81bc8f<=-Math['PI']?_0x81bc8f+_0x40d2e5[_0x1a4e('0x561')]:_0x81bc8f>Math['PI']?_0x81bc8f-_0x40d2e5[_0x1a4e('0x561')]:_0x81bc8f;},_0xa410a1['PI_TIMES_2'][_0x1a4e('0x179')]=function(){return 0x2*Math['PI'];},_0xa410a1[_0x1a4e('0x569')]['get']=function(){return Math['PI']/0x2;},_0xa410a1[_0x1a4e('0x56a')][_0x1a4e('0x179')]=function(){return Math['PI']/0x4;},_0xa410a1[_0x1a4e('0x319')]['get']=function(){return _0x2a79ee['COUNTERCLOCKWISE'];},_0xa410a1[_0x1a4e('0x317')][_0x1a4e('0x179')]=function(){return _0x2a79ee['CLOCKWISE'];},_0xa410a1['NONE'][_0x1a4e('0x179')]=function(){return _0x2a79ee[_0x1a4e('0x2f8')];},Object[_0x1a4e('0x1c8')](_0x40d2e5,_0xa410a1);var _0x1a3f90=function _0x5d7dad(){this[_0x1a4e('0x56b')]=0x0,this[_0x1a4e('0x56c')]=null,this[_0x1a4e('0x56d')]=0x1,this['_segList']=null,this[_0x1a4e('0x4b3')]=0x0,this[_0x1a4e('0x2d8')]=null,this['_bufParams']=null,this[_0x1a4e('0x56e')]=null,this[_0x1a4e('0x56f')]=null,this['_s1']=null,this[_0x1a4e('0x570')]=null,this[_0x1a4e('0x571')]=new _0x3cf489(),this[_0x1a4e('0x572')]=new _0x3cf489(),this[_0x1a4e('0x573')]=new _0x3cf489(),this['_offset1']=new _0x3cf489(),this['_side']=0x0,this[_0x1a4e('0x574')]=!0x1;var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=arguments[0x2];this[_0x1a4e('0x2d8')]=_0x22b0c5,this['_bufParams']=_0x5ac9eb,this[_0x1a4e('0x56e')]=new _0x21d54a(),this[_0x1a4e('0x56c')]=Math['PI']/0x2/_0x5ac9eb[_0x1a4e('0x543')](),_0x5ac9eb[_0x1a4e('0x543')]()>=0x8&&_0x5ac9eb[_0x1a4e('0x540')]()===_0x1be1ca[_0x1a4e('0x536')]&&(this['_closingSegLengthFactor']=_0x5d7dad['MAX_CLOSING_SEG_LEN_FACTOR']),this['init'](_0x261805);},_0x54eab4={'OFFSET_SEGMENT_SEPARATION_FACTOR':{'configurable':!0x0},'INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR':{'configurable':!0x0},'CURVE_VERTEX_SNAP_DISTANCE_FACTOR':{'configurable':!0x0},'MAX_CLOSING_SEG_LEN_FACTOR':{'configurable':!0x0}};_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x575')]=function(_0x5d7dad,_0x22b0c5){if(this['_s0']=this[_0x1a4e('0x576')],this[_0x1a4e('0x576')]=this[_0x1a4e('0x570')],this[_0x1a4e('0x570')]=_0x5d7dad,this[_0x1a4e('0x571')][_0x1a4e('0x509')](this[_0x1a4e('0x56f')],this[_0x1a4e('0x576')]),this[_0x1a4e('0x577')](this[_0x1a4e('0x571')],this['_side'],this[_0x1a4e('0x4b3')],this[_0x1a4e('0x573')]),this[_0x1a4e('0x572')][_0x1a4e('0x509')](this[_0x1a4e('0x576')],this[_0x1a4e('0x570')]),this['computeOffsetSegment'](this['_seg1'],this[_0x1a4e('0x578')],this[_0x1a4e('0x4b3')],this[_0x1a4e('0x579')]),this['_s1'][_0x1a4e('0x23e')](this[_0x1a4e('0x570')]))return null;var _0x5ac9eb=_0x2a79ee[_0x1a4e('0x315')](this[_0x1a4e('0x56f')],this[_0x1a4e('0x576')],this[_0x1a4e('0x570')]),_0x261805=_0x5ac9eb===_0x2a79ee[_0x1a4e('0x317')]&&this[_0x1a4e('0x578')]===_0x17e5f3[_0x1a4e('0x3ea')]||_0x5ac9eb===_0x2a79ee[_0x1a4e('0x319')]&&this[_0x1a4e('0x578')]===_0x17e5f3[_0x1a4e('0x318')];0x0===_0x5ac9eb?this[_0x1a4e('0x57a')](_0x22b0c5):_0x261805?this[_0x1a4e('0x57b')](_0x5ac9eb,_0x22b0c5):this[_0x1a4e('0x57c')](_0x5ac9eb,_0x22b0c5);},_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x57d')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=new _0x3cf489(_0x5d7dad,_0x22b0c5),_0x261805=new _0x3cf489();this['computeOffsetSegment'](_0x5ac9eb,_0x17e5f3[_0x1a4e('0x3ea')],this[_0x1a4e('0x4b3')],_0x261805);var _0x81bc8f=new _0x3cf489();this['computeOffsetSegment'](_0x5ac9eb,_0x17e5f3[_0x1a4e('0x318')],this['_distance'],_0x81bc8f);var _0x234f42=_0x22b0c5['x']-_0x5d7dad['x'],_0x153447=_0x22b0c5['y']-_0x5d7dad['y'],_0x1972c2=Math['atan2'](_0x153447,_0x234f42);switch(this[_0x1a4e('0x57e')][_0x1a4e('0x57f')]()){case _0x1be1ca['CAP_ROUND']:this[_0x1a4e('0x580')][_0x1a4e('0x55c')](_0x261805['p1']),this[_0x1a4e('0x581')](_0x22b0c5,_0x1972c2+Math['PI']/0x2,_0x1972c2-Math['PI']/0x2,_0x2a79ee[_0x1a4e('0x317')],this[_0x1a4e('0x4b3')]),this[_0x1a4e('0x580')][_0x1a4e('0x55c')](_0x81bc8f['p1']);break;case _0x1be1ca['CAP_FLAT']:this['_segList'][_0x1a4e('0x55c')](_0x261805['p1']),this['_segList'][_0x1a4e('0x55c')](_0x81bc8f['p1']);break;case _0x1be1ca[_0x1a4e('0x582')]:var _0x3376f9=new _0x517a0b();_0x3376f9['x']=Math[_0x1a4e('0x65')](this[_0x1a4e('0x4b3')])*Math[_0x1a4e('0x90')](_0x1972c2),_0x3376f9['y']=Math[_0x1a4e('0x65')](this[_0x1a4e('0x4b3')])*Math[_0x1a4e('0x8f')](_0x1972c2);var _0x5dae0e=new _0x517a0b(_0x261805['p1']['x']+_0x3376f9['x'],_0x261805['p1']['y']+_0x3376f9['y']),_0x3d7f02=new _0x517a0b(_0x81bc8f['p1']['x']+_0x3376f9['x'],_0x81bc8f['p1']['y']+_0x3376f9['y']);this[_0x1a4e('0x580')][_0x1a4e('0x55c')](_0x5dae0e),this[_0x1a4e('0x580')][_0x1a4e('0x55c')](_0x3d7f02);}},_0x1a3f90[_0x1a4e('0xa')]['getCoordinates']=function(){return this[_0x1a4e('0x580')]['getCoordinates']();},_0x1a3f90[_0x1a4e('0xa')]['addMitreJoin']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=!0x0,_0x234f42=null;try{_0x234f42=_0x42e1f7[_0x1a4e('0x148')](_0x22b0c5['p0'],_0x22b0c5['p1'],_0x5ac9eb['p0'],_0x5ac9eb['p1']),(_0x261805<=0x0?0x1:_0x234f42['distance'](_0x5d7dad)/Math[_0x1a4e('0x65')](_0x261805))>this[_0x1a4e('0x57e')][_0x1a4e('0x544')]()&&(_0x81bc8f=!0x1);}catch(_0x325cfc){if(!(_0x325cfc instanceof _0x3e22be))throw _0x325cfc;_0x234f42=new _0x517a0b(0x0,0x0),_0x81bc8f=!0x1;}_0x81bc8f?this['_segList']['addPt'](_0x234f42):this[_0x1a4e('0x583')](_0x22b0c5,_0x5ac9eb,_0x261805,this['_bufParams'][_0x1a4e('0x544')]());},_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x584')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=_0x22b0c5['x']-_0x5d7dad['x'],_0x153447=_0x22b0c5['y']-_0x5d7dad['y'],_0x1972c2=Math['atan2'](_0x153447,_0x234f42),_0x3376f9=_0x5ac9eb['x']-_0x5d7dad['x'],_0x5dae0e=_0x5ac9eb['y']-_0x5d7dad['y'],_0x3d7f02=Math['atan2'](_0x5dae0e,_0x3376f9);_0x261805===_0x2a79ee[_0x1a4e('0x317')]?_0x1972c2<=_0x3d7f02&&(_0x1972c2+=0x2*Math['PI']):_0x1972c2>=_0x3d7f02&&(_0x1972c2-=0x2*Math['PI']),this[_0x1a4e('0x580')]['addPt'](_0x22b0c5),this['addFilletArc'](_0x5d7dad,_0x1972c2,_0x3d7f02,_0x261805,_0x81bc8f),this[_0x1a4e('0x580')][_0x1a4e('0x55c')](_0x5ac9eb);},_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x57b')]=function(_0x5d7dad,_0x22b0c5){if(this[_0x1a4e('0x573')]['p1']['distance'](this[_0x1a4e('0x579')]['p0'])0x0){var _0x5ac9eb=new _0x517a0b((this[_0x1a4e('0x56d')]*this[_0x1a4e('0x573')]['p1']['x']+this[_0x1a4e('0x576')]['x'])/(this[_0x1a4e('0x56d')]+0x1),(this[_0x1a4e('0x56d')]*this[_0x1a4e('0x573')]['p1']['y']+this['_s1']['y'])/(this['_closingSegLengthFactor']+0x1));this[_0x1a4e('0x580')]['addPt'](_0x5ac9eb);var _0x261805=new _0x517a0b((this[_0x1a4e('0x56d')]*this[_0x1a4e('0x579')]['p0']['x']+this[_0x1a4e('0x576')]['x'])/(this[_0x1a4e('0x56d')]+0x1),(this[_0x1a4e('0x56d')]*this['_offset1']['p0']['y']+this[_0x1a4e('0x576')]['y'])/(this['_closingSegLengthFactor']+0x1));this[_0x1a4e('0x580')][_0x1a4e('0x55c')](_0x261805);}else this[_0x1a4e('0x580')][_0x1a4e('0x55c')](this['_s1']);this[_0x1a4e('0x580')][_0x1a4e('0x55c')](this['_offset1']['p0']);}},_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x58d')]=function(_0x5d7dad){var _0x22b0c5=new _0x517a0b(_0x5d7dad['x']+this[_0x1a4e('0x4b3')],_0x5d7dad['y']);this['_segList'][_0x1a4e('0x55c')](_0x22b0c5),this[_0x1a4e('0x581')](_0x5d7dad,0x0,0x2*Math['PI'],-0x1,this[_0x1a4e('0x4b3')]),this['_segList'][_0x1a4e('0x34c')]();},_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x58e')]=function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x580')][_0x1a4e('0x55c')](_0x5d7dad['p1']),this[_0x1a4e('0x580')][_0x1a4e('0x55c')](_0x22b0c5['p0']);},_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x5d7dad){this[_0x1a4e('0x4b3')]=_0x5d7dad,this[_0x1a4e('0x56b')]=_0x5d7dad*(0x1-Math[_0x1a4e('0x90')](this[_0x1a4e('0x56c')]/0x2)),this[_0x1a4e('0x580')]=new _0x5ef4ef(),this['_segList'][_0x1a4e('0x2e7')](this['_precisionModel']),this[_0x1a4e('0x580')][_0x1a4e('0x55f')](_0x5d7dad*_0x1a3f90[_0x1a4e('0x58f')]);},_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x57a')]=function(_0x5d7dad){this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](this['_s0'],this[_0x1a4e('0x576')],this[_0x1a4e('0x576')],this[_0x1a4e('0x570')]),this['_li'][_0x1a4e('0x2e3')]()>=0x2&&(this[_0x1a4e('0x57e')][_0x1a4e('0x540')]()===_0x1be1ca['JOIN_BEVEL']||this[_0x1a4e('0x57e')]['getJoinStyle']()===_0x1be1ca['JOIN_MITRE']?(_0x5d7dad&&this[_0x1a4e('0x580')][_0x1a4e('0x55c')](this[_0x1a4e('0x573')]['p1']),this['_segList'][_0x1a4e('0x55c')](this['_offset1']['p0'])):this[_0x1a4e('0x584')](this[_0x1a4e('0x576')],this[_0x1a4e('0x573')]['p1'],this['_offset1']['p0'],_0x2a79ee[_0x1a4e('0x317')],this[_0x1a4e('0x4b3')]));},_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x34c')]=function(){this[_0x1a4e('0x580')][_0x1a4e('0x34c')]();},_0x1a3f90[_0x1a4e('0xa')][_0x1a4e('0x590')]=function(){return this[_0x1a4e('0x574')];},_0x1a3f90['prototype']['interfaces_']=function(){return[];},_0x1a3f90['prototype'][_0x1a4e('0x234')]=function(){return _0x1a3f90;},_0x54eab4['OFFSET_SEGMENT_SEPARATION_FACTOR']['get']=function(){return 0.001;},_0x54eab4[_0x1a4e('0x591')][_0x1a4e('0x179')]=function(){return 0.001;},_0x54eab4[_0x1a4e('0x58f')]['get']=function(){return 0.000001;},_0x54eab4['MAX_CLOSING_SEG_LEN_FACTOR'][_0x1a4e('0x179')]=function(){return 0x50;},Object[_0x1a4e('0x1c8')](_0x1a3f90,_0x54eab4);var _0x1f63f2=function(){this['_distance']=0x0,this[_0x1a4e('0x2d8')]=null,this[_0x1a4e('0x57e')]=null;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x2d8')]=_0x5d7dad,this['_bufParams']=_0x22b0c5;};_0x1f63f2[_0x1a4e('0xa')]['getOffsetCurve']=function(_0x5d7dad,_0x22b0c5){if(this['_distance']=_0x22b0c5,0x0===_0x22b0c5)return null;var _0x5ac9eb=_0x22b0c5<0x0,_0x261805=Math[_0x1a4e('0x65')](_0x22b0c5),_0x81bc8f=this[_0x1a4e('0x592')](_0x261805);_0x5d7dad[_0x1a4e('0x1e')]<=0x1?this['computePointCurve'](_0x5d7dad[0x0],_0x81bc8f):this[_0x1a4e('0x593')](_0x5d7dad,_0x5ac9eb,_0x81bc8f);var _0x234f42=_0x81bc8f[_0x1a4e('0x397')]();return _0x5ac9eb&&_0xf49717[_0x1a4e('0x9b')](_0x234f42),_0x234f42;},_0x1f63f2[_0x1a4e('0xa')][_0x1a4e('0x594')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=this[_0x1a4e('0x595')](this[_0x1a4e('0x4b3')]);if(_0x22b0c5){_0x5ac9eb['addSegments'](_0x5d7dad,!0x0);var _0x81bc8f=_0x356ab8[_0x1a4e('0x557')](_0x5d7dad,-_0x261805),_0x234f42=_0x81bc8f[_0x1a4e('0x1e')]-0x1;_0x5ac9eb[_0x1a4e('0x58b')](_0x81bc8f[_0x234f42],_0x81bc8f[_0x234f42-0x1],_0x17e5f3[_0x1a4e('0x3ea')]),_0x5ac9eb[_0x1a4e('0x589')]();for(var _0x153447=_0x234f42-0x2;_0x153447>=0x0;_0x153447--)_0x5ac9eb[_0x1a4e('0x575')](_0x81bc8f[_0x153447],!0x0);}else{_0x5ac9eb[_0x1a4e('0x588')](_0x5d7dad,!0x1);var _0x1972c2=_0x356ab8[_0x1a4e('0x557')](_0x5d7dad,_0x261805),_0x3376f9=_0x1972c2['length']-0x1;_0x5ac9eb[_0x1a4e('0x58b')](_0x1972c2[0x0],_0x1972c2[0x1],_0x17e5f3[_0x1a4e('0x3ea')]),_0x5ac9eb[_0x1a4e('0x589')]();for(var _0x5dae0e=0x2;_0x5dae0e<=_0x3376f9;_0x5dae0e++)_0x5ac9eb[_0x1a4e('0x575')](_0x1972c2[_0x5dae0e],!0x0);}_0x5ac9eb[_0x1a4e('0x58a')](),_0x5ac9eb[_0x1a4e('0x34c')]();},_0x1f63f2[_0x1a4e('0xa')][_0x1a4e('0x596')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=this[_0x1a4e('0x595')](this[_0x1a4e('0x4b3')]);_0x22b0c5===_0x17e5f3[_0x1a4e('0x318')]&&(_0x261805=-_0x261805);var _0x81bc8f=_0x356ab8[_0x1a4e('0x557')](_0x5d7dad,_0x261805),_0x234f42=_0x81bc8f[_0x1a4e('0x1e')]-0x1;_0x5ac9eb[_0x1a4e('0x58b')](_0x81bc8f[_0x234f42-0x1],_0x81bc8f[0x0],_0x22b0c5);for(var _0x153447=0x1;_0x153447<=_0x234f42;_0x153447++){var _0x1972c2=0x1!==_0x153447;_0x5ac9eb[_0x1a4e('0x575')](_0x81bc8f[_0x153447],_0x1972c2);}_0x5ac9eb[_0x1a4e('0x34c')]();},_0x1f63f2[_0x1a4e('0xa')][_0x1a4e('0x597')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=this['simplifyTolerance'](this[_0x1a4e('0x4b3')]),_0x261805=_0x356ab8[_0x1a4e('0x557')](_0x5d7dad,_0x5ac9eb),_0x81bc8f=_0x261805[_0x1a4e('0x1e')]-0x1;_0x22b0c5[_0x1a4e('0x58b')](_0x261805[0x0],_0x261805[0x1],_0x17e5f3[_0x1a4e('0x3ea')]);for(var _0x234f42=0x2;_0x234f42<=_0x81bc8f;_0x234f42++)_0x22b0c5[_0x1a4e('0x575')](_0x261805[_0x234f42],!0x0);_0x22b0c5[_0x1a4e('0x58a')](),_0x22b0c5[_0x1a4e('0x57d')](_0x261805[_0x81bc8f-0x1],_0x261805[_0x81bc8f]);var _0x153447=_0x356ab8[_0x1a4e('0x557')](_0x5d7dad,-_0x5ac9eb),_0x1972c2=_0x153447[_0x1a4e('0x1e')]-0x1;_0x22b0c5[_0x1a4e('0x58b')](_0x153447[_0x1972c2],_0x153447[_0x1972c2-0x1],_0x17e5f3['LEFT']);for(var _0x3376f9=_0x1972c2-0x2;_0x3376f9>=0x0;_0x3376f9--)_0x22b0c5[_0x1a4e('0x575')](_0x153447[_0x3376f9],!0x0);_0x22b0c5[_0x1a4e('0x58a')](),_0x22b0c5[_0x1a4e('0x57d')](_0x153447[0x1],_0x153447[0x0]),_0x22b0c5[_0x1a4e('0x34c')]();},_0x1f63f2[_0x1a4e('0xa')]['computePointCurve']=function(_0x5d7dad,_0x22b0c5){switch(this[_0x1a4e('0x57e')][_0x1a4e('0x57f')]()){case _0x1be1ca[_0x1a4e('0x535')]:_0x22b0c5[_0x1a4e('0x58d')](_0x5d7dad);break;case _0x1be1ca['CAP_SQUARE']:_0x22b0c5[_0x1a4e('0x598')](_0x5d7dad);}},_0x1f63f2[_0x1a4e('0xa')]['getLineCurve']=function(_0x5d7dad,_0x22b0c5){if(this[_0x1a4e('0x4b3')]=_0x22b0c5,_0x22b0c5<0x0&&!this['_bufParams'][_0x1a4e('0x53e')]())return null;if(0x0===_0x22b0c5)return null;var _0x5ac9eb=Math[_0x1a4e('0x65')](_0x22b0c5),_0x261805=this['getSegGen'](_0x5ac9eb);if(_0x5d7dad[_0x1a4e('0x1e')]<=0x1)this[_0x1a4e('0x599')](_0x5d7dad[0x0],_0x261805);else if(this['_bufParams'][_0x1a4e('0x53e')]()){var _0x81bc8f=_0x22b0c5<0x0;this[_0x1a4e('0x594')](_0x5d7dad,_0x81bc8f,_0x261805);}else this[_0x1a4e('0x597')](_0x5d7dad,_0x261805);return _0x261805[_0x1a4e('0x397')]();},_0x1f63f2[_0x1a4e('0xa')][_0x1a4e('0x59a')]=function(){return this[_0x1a4e('0x57e')];},_0x1f63f2[_0x1a4e('0xa')][_0x1a4e('0x595')]=function(_0x5d7dad){return _0x5d7dad*this['_bufParams']['getSimplifyFactor']();},_0x1f63f2[_0x1a4e('0xa')][_0x1a4e('0x59b')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(this[_0x1a4e('0x4b3')]=_0x5ac9eb,_0x5d7dad['length']<=0x2)return this[_0x1a4e('0x59c')](_0x5d7dad,_0x5ac9eb);if(0x0===_0x5ac9eb)return _0x1f63f2[_0x1a4e('0x59d')](_0x5d7dad);var _0x261805=this[_0x1a4e('0x592')](_0x5ac9eb);return this[_0x1a4e('0x596')](_0x5d7dad,_0x22b0c5,_0x261805),_0x261805[_0x1a4e('0x397')]();},_0x1f63f2[_0x1a4e('0xa')]['computeOffsetCurve']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=this[_0x1a4e('0x595')](this[_0x1a4e('0x4b3')]);if(_0x22b0c5){var _0x81bc8f=_0x356ab8[_0x1a4e('0x557')](_0x5d7dad,-_0x261805),_0x234f42=_0x81bc8f['length']-0x1;_0x5ac9eb['initSideSegments'](_0x81bc8f[_0x234f42],_0x81bc8f[_0x234f42-0x1],_0x17e5f3['LEFT']),_0x5ac9eb[_0x1a4e('0x589')]();for(var _0x153447=_0x234f42-0x2;_0x153447>=0x0;_0x153447--)_0x5ac9eb[_0x1a4e('0x575')](_0x81bc8f[_0x153447],!0x0);}else{var _0x1972c2=_0x356ab8['simplify'](_0x5d7dad,_0x261805),_0x3376f9=_0x1972c2[_0x1a4e('0x1e')]-0x1;_0x5ac9eb[_0x1a4e('0x58b')](_0x1972c2[0x0],_0x1972c2[0x1],_0x17e5f3['LEFT']),_0x5ac9eb[_0x1a4e('0x589')]();for(var _0x5dae0e=0x2;_0x5dae0e<=_0x3376f9;_0x5dae0e++)_0x5ac9eb['addNextSegment'](_0x1972c2[_0x5dae0e],!0x0);}_0x5ac9eb[_0x1a4e('0x58a')]();},_0x1f63f2[_0x1a4e('0xa')][_0x1a4e('0x592')]=function(_0x5d7dad){return new _0x1a3f90(this[_0x1a4e('0x2d8')],this[_0x1a4e('0x57e')],_0x5d7dad);},_0x1f63f2['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x1f63f2['prototype']['getClass']=function(){return _0x1f63f2;},_0x1f63f2['copyCoordinates']=function(_0x5d7dad){for(var _0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x1e')])[_0x1a4e('0x22c')](null),_0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x1e')];_0x5ac9eb++)_0x22b0c5[_0x5ac9eb]=new _0x517a0b(_0x5d7dad[_0x5ac9eb]);return _0x22b0c5;};var _0x5e0d81=function(){this[_0x1a4e('0x59e')]=null,this[_0x1a4e('0x59f')]=new _0x3cf489(),this['_cga']=new _0x2a79ee();var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x59e')]=_0x5d7dad;},_0x9e7dcc={'DepthSegment':{'configurable':!0x0}};_0x5e0d81[_0x1a4e('0xa')]['findStabbedSegments']=function(){if(0x1===arguments[_0x1a4e('0x1e')]){for(var _0x5d7dad=arguments[0x0],_0x22b0c5=new _0x389784(),_0x5ac9eb=this[_0x1a4e('0x59e')][_0x1a4e('0x335')]();_0x5ac9eb[_0x1a4e('0x336')]();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')](),_0x81bc8f=_0x261805[_0x1a4e('0x1c6')]();_0x5d7dad['y']<_0x81bc8f[_0x1a4e('0x2a2')]()||_0x5d7dad['y']>_0x81bc8f[_0x1a4e('0x2a3')]()||this[_0x1a4e('0x5a0')](_0x5d7dad,_0x261805[_0x1a4e('0x419')](),_0x22b0c5);}return _0x22b0c5;}if(0x3===arguments['length'])if(_0x73c38a(arguments[0x2],_0x5f471f)&&arguments[0x0]instanceof _0x517a0b&&arguments[0x1]instanceof _0x35968a){for(var _0x234f42=arguments[0x0],_0x153447=arguments[0x1],_0x1972c2=arguments[0x2],_0x3376f9=_0x153447[_0x1a4e('0x3f4')]()[_0x1a4e('0x397')](),_0x5dae0e=0x0;_0x5dae0e<_0x3376f9[_0x1a4e('0x1e')]-0x1;_0x5dae0e++)if(this[_0x1a4e('0x59f')]['p0']=_0x3376f9[_0x5dae0e],this[_0x1a4e('0x59f')]['p1']=_0x3376f9[_0x5dae0e+0x1],this[_0x1a4e('0x59f')]['p0']['y']>this['_seg']['p1']['y']&&this[_0x1a4e('0x59f')][_0x1a4e('0x9b')](),!(Math[_0x1a4e('0x6c')](this[_0x1a4e('0x59f')]['p0']['x'],this[_0x1a4e('0x59f')]['p1']['x'])<_0x234f42['x']||this['_seg'][_0x1a4e('0x50c')]()||_0x234f42['y']this[_0x1a4e('0x59f')]['p1']['y']||_0x2a79ee[_0x1a4e('0x315')](this[_0x1a4e('0x59f')]['p0'],this[_0x1a4e('0x59f')]['p1'],_0x234f42)===_0x2a79ee[_0x1a4e('0x318')])){var _0x3d7f02=_0x153447[_0x1a4e('0x413')](_0x17e5f3['LEFT']);this[_0x1a4e('0x59f')]['p0'][_0x1a4e('0x23e')](_0x3376f9[_0x5dae0e])||(_0x3d7f02=_0x153447[_0x1a4e('0x413')](_0x17e5f3['RIGHT']));var _0x146559=new _0x2546ab(this[_0x1a4e('0x59f')],_0x3d7f02);_0x1972c2[_0x1a4e('0x177')](_0x146559);}}else if(_0x73c38a(arguments[0x2],_0x5f471f)&&arguments[0x0]instanceof _0x517a0b&&_0x73c38a(arguments[0x1],_0x5f471f))for(var _0x184c89=arguments[0x0],_0x4198ed=arguments[0x1],_0x41179c=arguments[0x2],_0x4eb09b=_0x4198ed['iterator']();_0x4eb09b[_0x1a4e('0x336')]();){var _0x39638f=_0x4eb09b[_0x1a4e('0x7e')]();_0x39638f[_0x1a4e('0x3f9')]()&&this[_0x1a4e('0x5a0')](_0x184c89,_0x39638f,_0x41179c);}},_0x5e0d81[_0x1a4e('0xa')][_0x1a4e('0x413')]=function(_0x5d7dad){var _0x22b0c5=this['findStabbedSegments'](_0x5d7dad);return 0x0===_0x22b0c5[_0x1a4e('0x220')]()?0x0:_0x4f994e['min'](_0x22b0c5)[_0x1a4e('0x5a1')];},_0x5e0d81[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x5e0d81[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x5e0d81;},_0x9e7dcc[_0x1a4e('0x5a2')][_0x1a4e('0x179')]=function(){return _0x2546ab;},Object[_0x1a4e('0x1c8')](_0x5e0d81,_0x9e7dcc);var _0x2546ab=function(){this['_upwardSeg']=null,this[_0x1a4e('0x5a1')]=null;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x5a3')]=new _0x3cf489(_0x5d7dad),this[_0x1a4e('0x5a1')]=_0x22b0c5;};_0x2546ab[_0x1a4e('0xa')][_0x1a4e('0x2a7')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;if(this[_0x1a4e('0x5a3')][_0x1a4e('0x70')]()>=_0x22b0c5['_upwardSeg'][_0x1a4e('0x75')]())return 0x1;if(this[_0x1a4e('0x5a3')][_0x1a4e('0x75')]()<=_0x22b0c5[_0x1a4e('0x5a3')][_0x1a4e('0x70')]())return-0x1;var _0x5ac9eb=this['_upwardSeg'][_0x1a4e('0x2fb')](_0x22b0c5['_upwardSeg']);return 0x0!==_0x5ac9eb?_0x5ac9eb:0x0!=(_0x5ac9eb=-0x1*_0x22b0c5[_0x1a4e('0x5a3')][_0x1a4e('0x2fb')](this[_0x1a4e('0x5a3')]))?_0x5ac9eb:this['_upwardSeg'][_0x1a4e('0x2a7')](_0x22b0c5[_0x1a4e('0x5a3')]);},_0x2546ab[_0x1a4e('0xa')][_0x1a4e('0x5a4')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad['p0'][_0x1a4e('0x2a7')](_0x22b0c5['p0']);return 0x0!==_0x5ac9eb?_0x5ac9eb:_0x5d7dad['p1'][_0x1a4e('0x2a7')](_0x22b0c5['p1']);},_0x2546ab[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return this[_0x1a4e('0x5a3')]['toString']();},_0x2546ab[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x65271];},_0x2546ab[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2546ab;};var _0x4398fc=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){this['p0']=_0x5d7dad||null,this['p1']=_0x22b0c5||null,this['p2']=_0x5ac9eb||null;};_0x4398fc[_0x1a4e('0xa')]['area']=function(){return _0x4398fc[_0x1a4e('0x4b8')](this['p0'],this['p1'],this['p2']);},_0x4398fc[_0x1a4e('0xa')][_0x1a4e('0x310')]=function(){return _0x4398fc['signedArea'](this['p0'],this['p1'],this['p2']);},_0x4398fc[_0x1a4e('0xa')][_0x1a4e('0x5a5')]=function(_0x5d7dad){if(null===_0x5d7dad)throw new _0x3eb8a2('Supplied\x20point\x20is\x20null.');return _0x4398fc['interpolateZ'](_0x5d7dad,this['p0'],this['p1'],this['p2']);},_0x4398fc['prototype'][_0x1a4e('0x5a6')]=function(){return _0x4398fc['longestSideLength'](this['p0'],this['p1'],this['p2']);},_0x4398fc['prototype']['isAcute']=function(){return _0x4398fc['isAcute'](this['p0'],this['p1'],this['p2']);},_0x4398fc[_0x1a4e('0xa')][_0x1a4e('0x5a7')]=function(){return _0x4398fc['circumcentre'](this['p0'],this['p1'],this['p2']);},_0x4398fc[_0x1a4e('0xa')][_0x1a4e('0x5a8')]=function(){return _0x4398fc['area3D'](this['p0'],this['p1'],this['p2']);},_0x4398fc[_0x1a4e('0xa')][_0x1a4e('0x10a')]=function(){return _0x4398fc[_0x1a4e('0x10a')](this['p0'],this['p1'],this['p2']);},_0x4398fc[_0x1a4e('0xa')][_0x1a4e('0x5a9')]=function(){return _0x4398fc['inCentre'](this['p0'],this['p1'],this['p2']);},_0x4398fc[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x4398fc[_0x1a4e('0xa')]['getClass']=function(){return _0x4398fc;},_0x4398fc[_0x1a4e('0x4b8')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return Math[_0x1a4e('0x65')](((_0x5ac9eb['x']-_0x5d7dad['x'])*(_0x22b0c5['y']-_0x5d7dad['y'])-(_0x22b0c5['x']-_0x5d7dad['x'])*(_0x5ac9eb['y']-_0x5d7dad['y']))/0x2);},_0x4398fc[_0x1a4e('0x310')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return((_0x5ac9eb['x']-_0x5d7dad['x'])*(_0x22b0c5['y']-_0x5d7dad['y'])-(_0x22b0c5['x']-_0x5d7dad['x'])*(_0x5ac9eb['y']-_0x5d7dad['y']))/0x2;},_0x4398fc[_0x1a4e('0x5aa')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){return _0x5d7dad*_0x261805-_0x22b0c5*_0x5ac9eb;},_0x4398fc[_0x1a4e('0x5a5')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x22b0c5['x'],_0x234f42=_0x22b0c5['y'],_0x153447=_0x5ac9eb['x']-_0x81bc8f,_0x1972c2=_0x261805['x']-_0x81bc8f,_0x3376f9=_0x5ac9eb['y']-_0x234f42,_0x5dae0e=_0x261805['y']-_0x234f42,_0x3d7f02=_0x153447*_0x5dae0e-_0x1972c2*_0x3376f9,_0x146559=_0x5d7dad['x']-_0x81bc8f,_0x184c89=_0x5d7dad['y']-_0x234f42,_0x4198ed=(_0x5dae0e*_0x146559-_0x1972c2*_0x184c89)/_0x3d7f02,_0x41179c=(-_0x3376f9*_0x146559+_0x153447*_0x184c89)/_0x3d7f02;return _0x22b0c5['z']+_0x4198ed*(_0x5ac9eb['z']-_0x22b0c5['z'])+_0x41179c*(_0x261805['z']-_0x22b0c5['z']);},_0x4398fc[_0x1a4e('0x5a6')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x1ed')](_0x22b0c5),_0x81bc8f=_0x22b0c5[_0x1a4e('0x1ed')](_0x5ac9eb),_0x234f42=_0x5ac9eb[_0x1a4e('0x1ed')](_0x5d7dad),_0x153447=_0x261805;return _0x81bc8f>_0x153447&&(_0x153447=_0x81bc8f),_0x234f42>_0x153447&&(_0x153447=_0x234f42),_0x153447;},_0x4398fc[_0x1a4e('0x562')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return!!_0x40d2e5['isAcute'](_0x5d7dad,_0x22b0c5,_0x5ac9eb)&&!!_0x40d2e5[_0x1a4e('0x562')](_0x22b0c5,_0x5ac9eb,_0x5d7dad)&&!!_0x40d2e5[_0x1a4e('0x562')](_0x5ac9eb,_0x5d7dad,_0x22b0c5);},_0x4398fc['circumcentre']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5ac9eb['x'],_0x81bc8f=_0x5ac9eb['y'],_0x234f42=_0x5d7dad['x']-_0x261805,_0x153447=_0x5d7dad['y']-_0x81bc8f,_0x1972c2=_0x22b0c5['x']-_0x261805,_0x3376f9=_0x22b0c5['y']-_0x81bc8f,_0x5dae0e=0x2*_0x4398fc[_0x1a4e('0x5aa')](_0x234f42,_0x153447,_0x1972c2,_0x3376f9),_0x3d7f02=_0x4398fc['det'](_0x153447,_0x234f42*_0x234f42+_0x153447*_0x153447,_0x3376f9,_0x1972c2*_0x1972c2+_0x3376f9*_0x3376f9),_0x146559=_0x4398fc[_0x1a4e('0x5aa')](_0x234f42,_0x234f42*_0x234f42+_0x153447*_0x153447,_0x1972c2,_0x1972c2*_0x1972c2+_0x3376f9*_0x3376f9);return new _0x517a0b(_0x261805-_0x3d7f02/_0x5dae0e,_0x81bc8f+_0x146559/_0x5dae0e);},_0x4398fc[_0x1a4e('0x5ab')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x22b0c5['x']-_0x5d7dad['x'],_0x261805=_0x22b0c5['y']-_0x5d7dad['y'],_0x81bc8f=new _0x42e1f7(_0x5d7dad['x']+_0x5ac9eb/0x2,_0x5d7dad['y']+_0x261805/0x2,0x1),_0x234f42=new _0x42e1f7(_0x5d7dad['x']-_0x261805+_0x5ac9eb/0x2,_0x5d7dad['y']+_0x5ac9eb+_0x261805/0x2,0x1);return new _0x42e1f7(_0x81bc8f,_0x234f42);},_0x4398fc[_0x1a4e('0x5ac')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5[_0x1a4e('0x1ed')](_0x5d7dad),_0x81bc8f=_0x261805/(_0x261805+_0x22b0c5['distance'](_0x5ac9eb)),_0x234f42=_0x5ac9eb['x']-_0x5d7dad['x'],_0x153447=_0x5ac9eb['y']-_0x5d7dad['y'];return new _0x517a0b(_0x5d7dad['x']+_0x81bc8f*_0x234f42,_0x5d7dad['y']+_0x81bc8f*_0x153447);},_0x4398fc[_0x1a4e('0x5a8')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5['x']-_0x5d7dad['x'],_0x81bc8f=_0x22b0c5['y']-_0x5d7dad['y'],_0x234f42=_0x22b0c5['z']-_0x5d7dad['z'],_0x153447=_0x5ac9eb['x']-_0x5d7dad['x'],_0x1972c2=_0x5ac9eb['y']-_0x5d7dad['y'],_0x3376f9=_0x5ac9eb['z']-_0x5d7dad['z'],_0x5dae0e=_0x81bc8f*_0x3376f9-_0x234f42*_0x1972c2,_0x3d7f02=_0x234f42*_0x153447-_0x261805*_0x3376f9,_0x146559=_0x261805*_0x1972c2-_0x81bc8f*_0x153447,_0x184c89=_0x5dae0e*_0x5dae0e+_0x3d7f02*_0x3d7f02+_0x146559*_0x146559,_0x4198ed=Math[_0x1a4e('0x91')](_0x184c89)/0x2;return _0x4198ed;},_0x4398fc[_0x1a4e('0x10a')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=(_0x5d7dad['x']+_0x22b0c5['x']+_0x5ac9eb['x'])/0x3,_0x81bc8f=(_0x5d7dad['y']+_0x22b0c5['y']+_0x5ac9eb['y'])/0x3;return new _0x517a0b(_0x261805,_0x81bc8f);},_0x4398fc[_0x1a4e('0x5a9')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5[_0x1a4e('0x1ed')](_0x5ac9eb),_0x81bc8f=_0x5d7dad[_0x1a4e('0x1ed')](_0x5ac9eb),_0x234f42=_0x5d7dad[_0x1a4e('0x1ed')](_0x22b0c5),_0x153447=_0x261805+_0x81bc8f+_0x234f42,_0x1972c2=(_0x261805*_0x5d7dad['x']+_0x81bc8f*_0x22b0c5['x']+_0x234f42*_0x5ac9eb['x'])/_0x153447,_0x3376f9=(_0x261805*_0x5d7dad['y']+_0x81bc8f*_0x22b0c5['y']+_0x234f42*_0x5ac9eb['y'])/_0x153447;return new _0x517a0b(_0x1972c2,_0x3376f9);};var _0x289521=function(){this['_inputGeom']=null,this[_0x1a4e('0x4b3')]=null,this[_0x1a4e('0x5ad')]=null,this['_curveList']=new _0x389784();var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2];this[_0x1a4e('0x5ae')]=_0x5d7dad,this[_0x1a4e('0x4b3')]=_0x22b0c5,this[_0x1a4e('0x5ad')]=_0x5ac9eb;};_0x289521[_0x1a4e('0xa')][_0x1a4e('0x5af')]=function(_0x5d7dad){if(this[_0x1a4e('0x4b3')]<=0x0)return null;var _0x22b0c5=_0x5d7dad[_0x1a4e('0x397')](),_0x5ac9eb=this[_0x1a4e('0x5ad')][_0x1a4e('0x59c')](_0x22b0c5,this[_0x1a4e('0x4b3')]);this[_0x1a4e('0x5b0')](_0x5ac9eb,_0x2b3738[_0x1a4e('0x248')],_0x2b3738[_0x1a4e('0x249')]);},_0x289521['prototype'][_0x1a4e('0x5b1')]=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x4b3')],_0x5ac9eb=_0x17e5f3[_0x1a4e('0x3ea')];this[_0x1a4e('0x4b3')]<0x0&&(_0x22b0c5=-this[_0x1a4e('0x4b3')],_0x5ac9eb=_0x17e5f3[_0x1a4e('0x318')]);var _0x261805=_0x5d7dad[_0x1a4e('0x3a8')](),_0x81bc8f=_0xf49717[_0x1a4e('0x5b2')](_0x261805[_0x1a4e('0x397')]());if(this['_distance']<0x0&&this[_0x1a4e('0x5b3')](_0x261805,this[_0x1a4e('0x4b3')]))return null;if(this['_distance']<=0x0&&_0x81bc8f[_0x1a4e('0x1e')]<0x3)return null;this['addPolygonRing'](_0x81bc8f,_0x22b0c5,_0x5ac9eb,_0x2b3738[_0x1a4e('0x248')],_0x2b3738[_0x1a4e('0x249')]);for(var _0x234f42=0x0;_0x234f42<_0x5d7dad[_0x1a4e('0x3a6')]();_0x234f42++){var _0x153447=_0x5d7dad[_0x1a4e('0x3a9')](_0x234f42),_0x1972c2=_0xf49717[_0x1a4e('0x5b2')](_0x153447['getCoordinates']());this[_0x1a4e('0x4b3')]>0x0&&this[_0x1a4e('0x5b3')](_0x153447,-this['_distance'])||this[_0x1a4e('0x5b4')](_0x1972c2,_0x22b0c5,_0x17e5f3[_0x1a4e('0x3e9')](_0x5ac9eb),_0x2b3738['INTERIOR'],_0x2b3738[_0x1a4e('0x248')]);}},_0x289521[_0x1a4e('0xa')][_0x1a4e('0x5b5')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=new _0x4398fc(_0x5d7dad[0x0],_0x5d7dad[0x1],_0x5d7dad[0x2]),_0x261805=_0x5ac9eb[_0x1a4e('0x5a9')]();return _0x2a79ee[_0x1a4e('0x30a')](_0x261805,_0x5ac9eb['p0'],_0x5ac9eb['p1'])=_0x5d75e4[_0x1a4e('0x3ac')]&&_0x2a79ee[_0x1a4e('0x313')](_0x5d7dad)&&(_0x234f42=_0x81bc8f,_0x153447=_0x261805,_0x5ac9eb=_0x17e5f3['opposite'](_0x5ac9eb));var _0x1972c2=this[_0x1a4e('0x5ad')][_0x1a4e('0x59b')](_0x5d7dad,_0x5ac9eb,_0x22b0c5);this[_0x1a4e('0x5b0')](_0x1972c2,_0x234f42,_0x153447);},_0x289521[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x5d7dad){if(_0x5d7dad[_0x1a4e('0x149')]())return null;_0x5d7dad instanceof _0xec6fef?this[_0x1a4e('0x5b1')](_0x5d7dad):_0x5d7dad instanceof _0xfddecc?this['addLineString'](_0x5d7dad):_0x5d7dad instanceof _0x26c3b7?this[_0x1a4e('0x5af')](_0x5d7dad):_0x5d7dad instanceof _0x89994c?this[_0x1a4e('0x5b9')](_0x5d7dad):_0x5d7dad instanceof _0x43e875?this[_0x1a4e('0x5b9')](_0x5d7dad):_0x5d7dad instanceof _0x204133?this[_0x1a4e('0x5b9')](_0x5d7dad):_0x5d7dad instanceof _0xee49b8&&this['addCollection'](_0x5d7dad);},_0x289521[_0x1a4e('0xa')][_0x1a4e('0x5b3')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x397')]();if(_0x5ac9eb[_0x1a4e('0x1e')]<0x4)return _0x22b0c5<0x0;if(0x4===_0x5ac9eb[_0x1a4e('0x1e')])return this[_0x1a4e('0x5b5')](_0x5ac9eb,_0x22b0c5);var _0x261805=_0x5d7dad[_0x1a4e('0x32e')](),_0x81bc8f=Math[_0x1a4e('0x74')](_0x261805['getHeight'](),_0x261805[_0x1a4e('0x29b')]());return _0x22b0c5<0x0&&0x2*Math['abs'](_0x22b0c5)>_0x81bc8f;},_0x289521[_0x1a4e('0xa')]['addCollection']=function(_0x5d7dad){for(var _0x22b0c5=0x0;_0x22b0c5<_0x5d7dad[_0x1a4e('0x32b')]();_0x22b0c5++){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x323')](_0x22b0c5);this[_0x1a4e('0x177')](_0x5ac9eb);}},_0x289521['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x289521[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x289521;};var _0xfbb5cf=function(){};_0xfbb5cf[_0x1a4e('0xa')]['locate']=function(_0x5d7dad){},_0xfbb5cf['prototype'][_0x1a4e('0x233')]=function(){return[];},_0xfbb5cf['prototype'][_0x1a4e('0x234')]=function(){return _0xfbb5cf;};var _0x1aaa46=function(){this[_0x1a4e('0x5ba')]=null,this['_atStart']=null,this['_max']=null,this[_0x1a4e('0x528')]=null,this['_subcollectionIterator']=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x5ba')]=_0x5d7dad,this[_0x1a4e('0x5bb')]=!0x0,this[_0x1a4e('0x528')]=0x0,this[_0x1a4e('0x5bc')]=_0x5d7dad[_0x1a4e('0x32b')]();};_0x1aaa46['prototype'][_0x1a4e('0x7e')]=function(){if(this['_atStart'])return this['_atStart']=!0x1,_0x1aaa46[_0x1a4e('0x5bd')](this[_0x1a4e('0x5ba')])&&this[_0x1a4e('0x528')]++,this[_0x1a4e('0x5ba')];if(null!==this['_subcollectionIterator']){if(this['_subcollectionIterator'][_0x1a4e('0x336')]())return this['_subcollectionIterator'][_0x1a4e('0x7e')]();this[_0x1a4e('0x5be')]=null;}if(this[_0x1a4e('0x528')]>=this[_0x1a4e('0x5bc')])throw new _0x55bf7a();var _0x5d7dad=this[_0x1a4e('0x5ba')][_0x1a4e('0x323')](this[_0x1a4e('0x528')]++);return _0x5d7dad instanceof _0xee49b8?(this[_0x1a4e('0x5be')]=new _0x1aaa46(_0x5d7dad),this['_subcollectionIterator'][_0x1a4e('0x7e')]()):_0x5d7dad;},_0x1aaa46[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(){throw new Error(this['getClass']()[_0x1a4e('0x3b6')]());},_0x1aaa46['prototype'][_0x1a4e('0x336')]=function(){if(this[_0x1a4e('0x5bb')])return!0x0;if(null!==this[_0x1a4e('0x5be')]){if(this[_0x1a4e('0x5be')][_0x1a4e('0x336')]())return!0x0;this[_0x1a4e('0x5be')]=null;}return!(this[_0x1a4e('0x528')]>=this['_max']);},_0x1aaa46['prototype']['interfaces_']=function(){return[_0x2abb19];},_0x1aaa46['prototype'][_0x1a4e('0x234')]=function(){return _0x1aaa46;},_0x1aaa46[_0x1a4e('0x5bd')]=function(_0x5d7dad){return!(_0x5d7dad instanceof _0xee49b8);};var _0x44528b=function(){this[_0x1a4e('0x37e')]=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x37e')]=_0x5d7dad;};_0x44528b[_0x1a4e('0xa')][_0x1a4e('0x5bf')]=function(_0x5d7dad){return _0x44528b[_0x1a4e('0x5bf')](_0x5d7dad,this[_0x1a4e('0x37e')]);},_0x44528b[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0xfbb5cf];},_0x44528b[_0x1a4e('0xa')]['getClass']=function(){return _0x44528b;},_0x44528b['isPointInRing']=function(_0x5d7dad,_0x22b0c5){return!!_0x22b0c5[_0x1a4e('0x32e')]()[_0x1a4e('0x2a4')](_0x5d7dad)&&_0x2a79ee['isPointInRing'](_0x5d7dad,_0x22b0c5[_0x1a4e('0x397')]());},_0x44528b[_0x1a4e('0x5c0')]=function(_0x5d7dad,_0x22b0c5){if(_0x22b0c5['isEmpty']())return!0x1;var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x3a8')]();if(!_0x44528b[_0x1a4e('0x440')](_0x5d7dad,_0x5ac9eb))return!0x1;for(var _0x261805=0x0;_0x261805<_0x22b0c5['getNumInteriorRing']();_0x261805++){var _0x81bc8f=_0x22b0c5[_0x1a4e('0x3a9')](_0x261805);if(_0x44528b[_0x1a4e('0x440')](_0x5d7dad,_0x81bc8f))return!0x1;}return!0x0;},_0x44528b[_0x1a4e('0x43f')]=function(_0x5d7dad,_0x22b0c5){if(_0x22b0c5 instanceof _0xec6fef)return _0x44528b[_0x1a4e('0x5c0')](_0x5d7dad,_0x22b0c5);if(_0x22b0c5 instanceof _0xee49b8)for(var _0x5ac9eb=new _0x1aaa46(_0x22b0c5);_0x5ac9eb[_0x1a4e('0x336')]();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')]();if(_0x261805!==_0x22b0c5&&_0x44528b[_0x1a4e('0x43f')](_0x5d7dad,_0x261805))return!0x0;}return!0x1;},_0x44528b['locate']=function(_0x5d7dad,_0x22b0c5){return _0x22b0c5[_0x1a4e('0x149')]()?_0x2b3738['EXTERIOR']:_0x44528b['containsPoint'](_0x5d7dad,_0x22b0c5)?_0x2b3738['INTERIOR']:_0x2b3738[_0x1a4e('0x248')];};var _0x40dcd3=function(){this[_0x1a4e('0x5c1')]=new _0xe59c3e(),this[_0x1a4e('0x5c2')]=null,this[_0x1a4e('0x5c3')]=[_0x2b3738['NONE'],_0x2b3738[_0x1a4e('0x24a')]];};_0x40dcd3[_0x1a4e('0xa')][_0x1a4e('0x5c4')]=function(_0x5d7dad){this[_0x1a4e('0x3f7')]();var _0x22b0c5=this[_0x1a4e('0x5c2')]['indexOf'](_0x5d7dad),_0x5ac9eb=_0x22b0c5-0x1;return 0x0===_0x22b0c5&&(_0x5ac9eb=this[_0x1a4e('0x5c2')]['size']()-0x1),this[_0x1a4e('0x5c2')][_0x1a4e('0x179')](_0x5ac9eb);},_0x40dcd3[_0x1a4e('0xa')][_0x1a4e('0x5c5')]=function(_0x5d7dad){for(var _0x22b0c5=_0x2b3738[_0x1a4e('0x24a')],_0x5ac9eb=this[_0x1a4e('0x335')]();_0x5ac9eb[_0x1a4e('0x336')]();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')]()[_0x1a4e('0x43a')]();_0x261805['isArea'](_0x5d7dad)&&_0x261805[_0x1a4e('0x30d')](_0x5d7dad,_0x17e5f3['LEFT'])!==_0x2b3738['NONE']&&(_0x22b0c5=_0x261805[_0x1a4e('0x30d')](_0x5d7dad,_0x17e5f3[_0x1a4e('0x3ea')]));}if(_0x22b0c5===_0x2b3738[_0x1a4e('0x24a')])return null;for(var _0x81bc8f=_0x22b0c5,_0x234f42=this['iterator']();_0x234f42['hasNext']();){var _0x153447=_0x234f42[_0x1a4e('0x7e')](),_0x1972c2=_0x153447[_0x1a4e('0x43a')]();if(_0x1972c2[_0x1a4e('0x30d')](_0x5d7dad,_0x17e5f3['ON'])===_0x2b3738[_0x1a4e('0x24a')]&&_0x1972c2[_0x1a4e('0x422')](_0x5d7dad,_0x17e5f3['ON'],_0x81bc8f),_0x1972c2[_0x1a4e('0x420')](_0x5d7dad)){var _0x3376f9=_0x1972c2[_0x1a4e('0x30d')](_0x5d7dad,_0x17e5f3[_0x1a4e('0x3ea')]),_0x5dae0e=_0x1972c2[_0x1a4e('0x30d')](_0x5d7dad,_0x17e5f3[_0x1a4e('0x318')]);if(_0x5dae0e!==_0x2b3738[_0x1a4e('0x24a')]){if(_0x5dae0e!==_0x81bc8f)throw new _0x2749a6(_0x1a4e('0x5c6'),_0x153447[_0x1a4e('0x28e')]());_0x3376f9===_0x2b3738[_0x1a4e('0x24a')]&&_0x1e33dc[_0x1a4e('0x2ce')]('found\x20single\x20null\x20side\x20(at\x20'+_0x153447[_0x1a4e('0x28e')]()+')'),_0x81bc8f=_0x3376f9;}else _0x1e33dc[_0x1a4e('0x2d0')](_0x1972c2['getLocation'](_0x5d7dad,_0x17e5f3[_0x1a4e('0x3ea')])===_0x2b3738[_0x1a4e('0x24a')],'found\x20single\x20null\x20side'),_0x1972c2['setLocation'](_0x5d7dad,_0x17e5f3[_0x1a4e('0x318')],_0x81bc8f),_0x1972c2['setLocation'](_0x5d7dad,_0x17e5f3['LEFT'],_0x81bc8f);}}},_0x40dcd3['prototype'][_0x1a4e('0x28e')]=function(){var _0x5d7dad=this[_0x1a4e('0x335')]();return _0x5d7dad[_0x1a4e('0x336')]()?_0x5d7dad[_0x1a4e('0x7e')]()[_0x1a4e('0x28e')]():null;},_0x40dcd3[_0x1a4e('0xa')][_0x1a4e('0x458')]=function(_0x5d7dad){_0x5b38f4['out'][_0x1a4e('0x304')](_0x1a4e('0x5c7')+this['getCoordinate']());for(var _0x22b0c5=this[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)_0x22b0c5['next']()[_0x1a4e('0x458')](_0x5d7dad);},_0x40dcd3[_0x1a4e('0xa')]['isAreaLabelsConsistent']=function(_0x5d7dad){return this[_0x1a4e('0x5c8')](_0x5d7dad['getBoundaryNodeRule']()),this[_0x1a4e('0x5c9')](0x0);},_0x40dcd3[_0x1a4e('0xa')][_0x1a4e('0x5c9')]=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x3f7')]();if(_0x22b0c5[_0x1a4e('0x220')]()<=0x0)return!0x0;var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x220')]()-0x1,_0x261805=_0x22b0c5[_0x1a4e('0x179')](_0x5ac9eb)['getLabel']()[_0x1a4e('0x30d')](_0x5d7dad,_0x17e5f3[_0x1a4e('0x3ea')]);_0x1e33dc['isTrue'](_0x261805!==_0x2b3738['NONE'],'Found\x20unlabelled\x20area\x20edge');for(var _0x81bc8f=_0x261805,_0x234f42=this['iterator']();_0x234f42[_0x1a4e('0x336')]();){var _0x153447=_0x234f42[_0x1a4e('0x7e')]()['getLabel']();_0x1e33dc['isTrue'](_0x153447['isArea'](_0x5d7dad),_0x1a4e('0x5ca'));var _0x1972c2=_0x153447['getLocation'](_0x5d7dad,_0x17e5f3[_0x1a4e('0x3ea')]),_0x3376f9=_0x153447['getLocation'](_0x5d7dad,_0x17e5f3[_0x1a4e('0x318')]);if(_0x1972c2===_0x3376f9)return!0x1;if(_0x3376f9!==_0x81bc8f)return!0x1;_0x81bc8f=_0x1972c2;}return!0x0;},_0x40dcd3['prototype'][_0x1a4e('0x5cb')]=function(_0x5d7dad){this['iterator']();for(var _0x22b0c5=0x0;_0x22b0c5=0x0;_0x5ac9eb--){var _0x261805=this[_0x1a4e('0x5c2')][_0x1a4e('0x179')](_0x5ac9eb),_0x81bc8f=_0x261805['getSym']();null===_0x22b0c5&&(_0x22b0c5=_0x81bc8f),null!==_0x5d7dad&&_0x81bc8f[_0x1a4e('0x488')](_0x5d7dad),_0x5d7dad=_0x261805;}_0x22b0c5[_0x1a4e('0x488')](_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')]['computeDepths']=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=this[_0x1a4e('0x5cb')](_0x5d7dad),_0x5ac9eb=_0x5d7dad[_0x1a4e('0x413')](_0x17e5f3[_0x1a4e('0x3ea')]),_0x261805=_0x5d7dad['getDepth'](_0x17e5f3[_0x1a4e('0x318')]),_0x81bc8f=this['computeDepths'](_0x22b0c5+0x1,this[_0x1a4e('0x5c2')][_0x1a4e('0x220')](),_0x5ac9eb);if(this[_0x1a4e('0x410')](0x0,_0x22b0c5,_0x81bc8f)!==_0x261805)throw new _0x2749a6(_0x1a4e('0x5da')+_0x5d7dad[_0x1a4e('0x28e')]());}else if(0x3===arguments[_0x1a4e('0x1e')]){for(var _0x234f42=arguments[0x0],_0x153447=arguments[0x1],_0x1972c2=arguments[0x2],_0x3376f9=_0x234f42;_0x3376f9<_0x153447;_0x3376f9++){var _0x5dae0e=this[_0x1a4e('0x5c2')]['get'](_0x3376f9);_0x5dae0e[_0x1a4e('0x40f')](_0x17e5f3[_0x1a4e('0x318')],_0x1972c2),_0x1972c2=_0x5dae0e['getDepth'](_0x17e5f3[_0x1a4e('0x3ea')]);}return _0x1972c2;}},_0x22b0c5[_0x1a4e('0xa')]['mergeSymLabels']=function(){for(var _0x5d7dad=this['iterator']();_0x5d7dad[_0x1a4e('0x336')]();){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x7e')]();_0x22b0c5[_0x1a4e('0x43a')]()[_0x1a4e('0x41b')](_0x22b0c5[_0x1a4e('0x416')]()['getLabel']());}},_0x22b0c5['prototype'][_0x1a4e('0x44a')]=function(_0x5d7dad){for(var _0x22b0c5=null,_0x5ac9eb=null,_0x261805=this['_SCANNING_FOR_INCOMING'],_0x81bc8f=this[_0x1a4e('0x5d2')][_0x1a4e('0x220')]()-0x1;_0x81bc8f>=0x0;_0x81bc8f--){var _0x234f42=this[_0x1a4e('0x5d2')][_0x1a4e('0x179')](_0x81bc8f),_0x153447=_0x234f42[_0x1a4e('0x416')]();switch(null===_0x22b0c5&&_0x234f42[_0x1a4e('0x438')]()===_0x5d7dad&&(_0x22b0c5=_0x234f42),_0x261805){case this[_0x1a4e('0x5d0')]:if(_0x153447[_0x1a4e('0x438')]()!==_0x5d7dad)continue;_0x5ac9eb=_0x153447,_0x261805=this[_0x1a4e('0x5d3')];break;case this[_0x1a4e('0x5d3')]:if(_0x234f42[_0x1a4e('0x438')]()!==_0x5d7dad)continue;_0x5ac9eb[_0x1a4e('0x47f')](_0x234f42),_0x261805=this[_0x1a4e('0x5d0')];}}_0x261805===this[_0x1a4e('0x5d3')]&&(_0x1e33dc[_0x1a4e('0x2d0')](null!==_0x22b0c5,'found\x20null\x20for\x20first\x20outgoing\x20dirEdge'),_0x1e33dc[_0x1a4e('0x2d0')](_0x22b0c5['getEdgeRing']()===_0x5d7dad,_0x1a4e('0x5d4')),_0x5ac9eb[_0x1a4e('0x47f')](_0x22b0c5));},_0x22b0c5[_0x1a4e('0xa')]['getOutgoingDegree']=function(){if(0x0===arguments[_0x1a4e('0x1e')]){for(var _0x5d7dad=0x0,_0x22b0c5=this[_0x1a4e('0x335')]();_0x22b0c5['hasNext']();)_0x22b0c5[_0x1a4e('0x7e')]()[_0x1a4e('0x457')]()&&_0x5d7dad++;return _0x5d7dad;}if(0x1===arguments[_0x1a4e('0x1e')]){for(var _0x5ac9eb=arguments[0x0],_0x261805=0x0,_0x81bc8f=this[_0x1a4e('0x335')]();_0x81bc8f[_0x1a4e('0x336')]();)_0x81bc8f[_0x1a4e('0x7e')]()['getEdgeRing']()===_0x5ac9eb&&_0x261805++;return _0x261805;}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x43a')]=function(){return this['_label'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x5db')]=function(){for(var _0x5d7dad=_0x2b3738[_0x1a4e('0x24a')],_0x22b0c5=this['iterator']();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5['next'](),_0x261805=_0x5ac9eb[_0x1a4e('0x416')]();if(!_0x5ac9eb[_0x1a4e('0x481')]()){if(_0x5ac9eb[_0x1a4e('0x457')]()){_0x5d7dad=_0x2b3738['INTERIOR'];break;}if(_0x261805[_0x1a4e('0x457')]()){_0x5d7dad=_0x2b3738[_0x1a4e('0x248')];break;}}}if(_0x5d7dad===_0x2b3738[_0x1a4e('0x24a')])return null;for(var _0x81bc8f=_0x5d7dad,_0x234f42=this[_0x1a4e('0x335')]();_0x234f42['hasNext']();){var _0x153447=_0x234f42['next'](),_0x1972c2=_0x153447[_0x1a4e('0x416')]();_0x153447[_0x1a4e('0x481')]()?_0x153447[_0x1a4e('0x3f4')]()['setCovered'](_0x81bc8f===_0x2b3738[_0x1a4e('0x249')]):(_0x153447[_0x1a4e('0x457')]()&&(_0x81bc8f=_0x2b3738['EXTERIOR']),_0x1972c2[_0x1a4e('0x457')]()&&(_0x81bc8f=_0x2b3738[_0x1a4e('0x249')]));}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x5dc')]=function(_0x22b0c5){_0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x5dc')]['call'](this,_0x22b0c5),this['_label']=new _0x20794b(_0x2b3738[_0x1a4e('0x24a')]);for(var _0x5ac9eb=this[_0x1a4e('0x335')]();_0x5ac9eb[_0x1a4e('0x336')]();)for(var _0x261805=_0x5ac9eb['next']()['getEdge']()[_0x1a4e('0x43a')](),_0x81bc8f=0x0;_0x81bc8f<0x2;_0x81bc8f++){var _0x234f42=_0x261805[_0x1a4e('0x30d')](_0x81bc8f);_0x234f42!==_0x2b3738[_0x1a4e('0x249')]&&_0x234f42!==_0x2b3738['BOUNDARY']||this[_0x1a4e('0x436')][_0x1a4e('0x422')](_0x81bc8f,_0x2b3738['INTERIOR']);}},_0x22b0c5[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x40dcd3),_0x1b7452=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x8b')](this,arguments);}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x460')]=function(_0x5d7dad){return new _0x235e84(_0x5d7dad,new _0x16ec86());},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x434762),_0xef1e1e=function _0x5d7dad(){this[_0x1a4e('0x42f')]=null,this['_orientation']=null;var _0x22b0c5=arguments[0x0];this[_0x1a4e('0x42f')]=_0x22b0c5,this[_0x1a4e('0x5dd')]=_0x5d7dad['orientation'](_0x22b0c5);};_0xef1e1e['prototype']['compareTo']=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;return _0xef1e1e[_0x1a4e('0x5de')](this['_pts'],this[_0x1a4e('0x5dd')],_0x22b0c5[_0x1a4e('0x42f')],_0x22b0c5['_orientation']);},_0xef1e1e[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x65271];},_0xef1e1e[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0xef1e1e;},_0xef1e1e[_0x1a4e('0x164')]=function(_0x5d7dad){return 0x1===_0xf49717['increasingDirection'](_0x5d7dad);},_0xef1e1e[_0x1a4e('0x5de')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){for(var _0x81bc8f=_0x22b0c5?0x1:-0x1,_0x234f42=_0x261805?0x1:-0x1,_0x153447=_0x22b0c5?_0x5d7dad[_0x1a4e('0x1e')]:-0x1,_0x1972c2=_0x261805?_0x5ac9eb[_0x1a4e('0x1e')]:-0x1,_0x3376f9=_0x22b0c5?0x0:_0x5d7dad[_0x1a4e('0x1e')]-0x1,_0x5dae0e=_0x261805?0x0:_0x5ac9eb[_0x1a4e('0x1e')]-0x1;;){var _0x3d7f02=_0x5d7dad[_0x3376f9][_0x1a4e('0x2a7')](_0x5ac9eb[_0x5dae0e]);if(0x0!==_0x3d7f02)return _0x3d7f02;var _0x146559=(_0x3376f9+=_0x81bc8f)===_0x153447,_0x184c89=(_0x5dae0e+=_0x234f42)===_0x1972c2;if(_0x146559&&!_0x184c89)return-0x1;if(!_0x146559&&_0x184c89)return 0x1;if(_0x146559&&_0x184c89)return 0x0;}};var _0x36cc96=function(){this[_0x1a4e('0x42e')]=new _0x389784(),this[_0x1a4e('0x5df')]=new _0xe59c3e();};_0x36cc96[_0x1a4e('0xa')][_0x1a4e('0x458')]=function(_0x5d7dad){_0x5d7dad['print']('MULTILINESTRING\x20(\x20');for(var _0x22b0c5=0x0;_0x22b0c50x0&&_0x5d7dad['print'](','),_0x5d7dad['print']('(');for(var _0x261805=_0x5ac9eb[_0x1a4e('0x397')](),_0x81bc8f=0x0;_0x81bc8f<_0x261805[_0x1a4e('0x1e')];_0x81bc8f++)_0x81bc8f>0x0&&_0x5d7dad[_0x1a4e('0x458')](','),_0x5d7dad[_0x1a4e('0x458')](_0x261805[_0x81bc8f]['x']+'\x20'+_0x261805[_0x81bc8f]['y']);_0x5d7dad[_0x1a4e('0x304')](')');}_0x5d7dad[_0x1a4e('0x458')](')\x20\x20');},_0x36cc96['prototype']['addAll']=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)this[_0x1a4e('0x177')](_0x22b0c5[_0x1a4e('0x7e')]());},_0x36cc96[_0x1a4e('0xa')][_0x1a4e('0x5e0')]=function(_0x5d7dad){for(var _0x22b0c5=0x0;_0x22b0c5_0x5d7dad?0x1:this[_0x1a4e('0x81')]<_0x22b0c5?-0x1:this[_0x1a4e('0x81')]>_0x22b0c5?0x1:0x0;},_0x4e9921[_0x1a4e('0xa')]['interfaces_']=function(){return[_0x65271];},_0x4e9921['prototype']['getClass']=function(){return _0x4e9921;};var _0x34de59=function(){this[_0x1a4e('0x4e7')]=new _0xe59c3e(),this[_0x1a4e('0x126')]=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x126')]=_0x5d7dad;};_0x34de59[_0x1a4e('0xa')]['print']=function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x304')](_0x1a4e('0x4ec'));for(var _0x22b0c5=this[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)_0x22b0c5['next']()[_0x1a4e('0x458')](_0x5d7dad);},_0x34de59['prototype'][_0x1a4e('0x335')]=function(){return this[_0x1a4e('0x4e7')][_0x1a4e('0x35b')]()[_0x1a4e('0x335')]();},_0x34de59[_0x1a4e('0xa')]['addSplitEdges']=function(_0x5d7dad){this[_0x1a4e('0x4e8')]();for(var _0x22b0c5=this[_0x1a4e('0x335')](),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x261805=_0x22b0c5[_0x1a4e('0x7e')](),_0x81bc8f=this[_0x1a4e('0x5f3')](_0x5ac9eb,_0x261805);_0x5d7dad['add'](_0x81bc8f),_0x5ac9eb=_0x261805;}},_0x34de59[_0x1a4e('0xa')][_0x1a4e('0x4e8')]=function(){var _0x5d7dad=this[_0x1a4e('0x126')][_0x1a4e('0x5f4')][_0x1a4e('0x1e')]-0x1;this[_0x1a4e('0x177')](this['edge']['pts'][0x0],0x0,0x0),this[_0x1a4e('0x177')](this[_0x1a4e('0x126')]['pts'][_0x5d7dad],_0x5d7dad,0x0);},_0x34de59['prototype'][_0x1a4e('0x5f3')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x4e2')]-_0x5d7dad[_0x1a4e('0x4e2')]+0x2,_0x261805=this['edge'][_0x1a4e('0x5f4')][_0x22b0c5[_0x1a4e('0x4e2')]],_0x81bc8f=_0x22b0c5[_0x1a4e('0x81')]>0x0||!_0x22b0c5[_0x1a4e('0x196')][_0x1a4e('0x23b')](_0x261805);_0x81bc8f||_0x5ac9eb--;var _0x234f42=new Array(_0x5ac9eb)[_0x1a4e('0x22c')](null),_0x153447=0x0;_0x234f42[_0x153447++]=new _0x517a0b(_0x5d7dad[_0x1a4e('0x196')]);for(var _0x1972c2=_0x5d7dad[_0x1a4e('0x4e2')]+0x1;_0x1972c2<=_0x22b0c5[_0x1a4e('0x4e2')];_0x1972c2++)_0x234f42[_0x153447++]=this['edge'][_0x1a4e('0x5f4')][_0x1972c2];return _0x81bc8f&&(_0x234f42[_0x153447]=_0x22b0c5[_0x1a4e('0x196')]),new _0x4bd07c(_0x234f42,new _0x20794b(this[_0x1a4e('0x126')][_0x1a4e('0x436')]));},_0x34de59[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=new _0x4e9921(_0x5d7dad,_0x22b0c5,_0x5ac9eb),_0x81bc8f=this[_0x1a4e('0x4e7')][_0x1a4e('0x179')](_0x261805);return null!==_0x81bc8f?_0x81bc8f:(this[_0x1a4e('0x4e7')]['put'](_0x261805,_0x261805),_0x261805);},_0x34de59[_0x1a4e('0xa')][_0x1a4e('0x2f2')]=function(_0x5d7dad){for(var _0x22b0c5=this['iterator']();_0x22b0c5[_0x1a4e('0x336')]();)if(_0x22b0c5['next']()[_0x1a4e('0x196')][_0x1a4e('0x23e')](_0x5d7dad))return!0x0;return!0x1;},_0x34de59['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x34de59[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x34de59;};var _0x4c6e6e=function(){};_0x4c6e6e[_0x1a4e('0xa')][_0x1a4e('0x522')]=function(_0x5d7dad){var _0x22b0c5=0x0,_0x5ac9eb=new _0x389784();_0x5ac9eb[_0x1a4e('0x177')](new _0x2e5c34(_0x22b0c5));do{var _0x261805=this['findChainEnd'](_0x5d7dad,_0x22b0c5);_0x5ac9eb['add'](new _0x2e5c34(_0x261805)),_0x22b0c5=_0x261805;}while(_0x22b0c5<_0x5d7dad[_0x1a4e('0x1e')]-0x1);return _0x4c6e6e[_0x1a4e('0x523')](_0x5ac9eb);},_0x4c6e6e['prototype'][_0x1a4e('0x520')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x248fe4[_0x1a4e('0x465')](_0x5d7dad[_0x22b0c5],_0x5d7dad[_0x22b0c5+0x1]),_0x261805=_0x22b0c5+0x1;_0x261805<_0x5d7dad[_0x1a4e('0x1e')]&&_0x248fe4[_0x1a4e('0x465')](_0x5d7dad[_0x261805-0x1],_0x5d7dad[_0x261805])===_0x5ac9eb;)_0x261805++;return _0x261805-0x1;},_0x4c6e6e[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x4c6e6e[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x4c6e6e;},_0x4c6e6e[_0x1a4e('0x523')]=function(_0x5d7dad){for(var _0x22b0c5=new Array(_0x5d7dad['size']())['fill'](null),_0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x1e')];_0x5ac9eb++)_0x22b0c5[_0x5ac9eb]=_0x5d7dad['get'](_0x5ac9eb)[_0x1a4e('0x275')]();return _0x22b0c5;};var _0x2bfdb4=function(){this['e']=null,this[_0x1a4e('0x5f4')]=null,this[_0x1a4e('0x5f5')]=null,this[_0x1a4e('0x5f6')]=new _0x322dd2(),this[_0x1a4e('0x5f7')]=new _0x322dd2();var _0x5d7dad=arguments[0x0];this['e']=_0x5d7dad,this[_0x1a4e('0x5f4')]=_0x5d7dad[_0x1a4e('0x397')]();var _0x22b0c5=new _0x4c6e6e();this[_0x1a4e('0x5f5')]=_0x22b0c5[_0x1a4e('0x522')](this[_0x1a4e('0x5f4')]);};_0x2bfdb4['prototype'][_0x1a4e('0x397')]=function(){return this['pts'];},_0x2bfdb4['prototype']['getMaxX']=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x5f4')][this['startIndex'][_0x5d7dad]]['x'],_0x5ac9eb=this['pts'][this['startIndex'][_0x5d7dad+0x1]]['x'];return _0x22b0c5>_0x5ac9eb?_0x22b0c5:_0x5ac9eb;},_0x2bfdb4['prototype'][_0x1a4e('0x29f')]=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x5f4')][this[_0x1a4e('0x5f5')][_0x5d7dad]]['x'],_0x5ac9eb=this[_0x1a4e('0x5f4')][this[_0x1a4e('0x5f5')][_0x5d7dad+0x1]]['x'];return _0x22b0c5<_0x5ac9eb?_0x22b0c5:_0x5ac9eb;},_0x2bfdb4[_0x1a4e('0xa')][_0x1a4e('0x5f8')]=function(){if(0x4===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2],_0x261805=arguments[0x3];this[_0x1a4e('0x5f8')](this[_0x1a4e('0x5f5')][_0x5d7dad],this[_0x1a4e('0x5f5')][_0x5d7dad+0x1],_0x22b0c5,_0x22b0c5[_0x1a4e('0x5f5')][_0x5ac9eb],_0x22b0c5['startIndex'][_0x5ac9eb+0x1],_0x261805);}else if(0x6===arguments[_0x1a4e('0x1e')]){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2],_0x1972c2=arguments[0x3],_0x3376f9=arguments[0x4],_0x5dae0e=arguments[0x5],_0x3d7f02=this[_0x1a4e('0x5f4')][_0x81bc8f],_0x146559=this['pts'][_0x234f42],_0x184c89=_0x153447[_0x1a4e('0x5f4')][_0x1972c2],_0x4198ed=_0x153447[_0x1a4e('0x5f4')][_0x3376f9];if(_0x234f42-_0x81bc8f==0x1&&_0x3376f9-_0x1972c2==0x1)return _0x5dae0e['addIntersections'](this['e'],_0x81bc8f,_0x153447['e'],_0x1972c2),null;if(this[_0x1a4e('0x5f6')]['init'](_0x3d7f02,_0x146559),this[_0x1a4e('0x5f7')][_0x1a4e('0x1fd')](_0x184c89,_0x4198ed),!this[_0x1a4e('0x5f6')][_0x1a4e('0x2a4')](this[_0x1a4e('0x5f7')]))return null;var _0x41179c=Math['trunc']((_0x81bc8f+_0x234f42)/0x2),_0x4eb09b=Math[_0x1a4e('0x232')]((_0x1972c2+_0x3376f9)/0x2);_0x81bc8f<_0x41179c&&(_0x1972c2<_0x4eb09b&&this[_0x1a4e('0x5f8')](_0x81bc8f,_0x41179c,_0x153447,_0x1972c2,_0x4eb09b,_0x5dae0e),_0x4eb09b<_0x3376f9&&this[_0x1a4e('0x5f8')](_0x81bc8f,_0x41179c,_0x153447,_0x4eb09b,_0x3376f9,_0x5dae0e)),_0x41179c<_0x234f42&&(_0x1972c2<_0x4eb09b&&this[_0x1a4e('0x5f8')](_0x41179c,_0x234f42,_0x153447,_0x1972c2,_0x4eb09b,_0x5dae0e),_0x4eb09b<_0x3376f9&&this[_0x1a4e('0x5f8')](_0x41179c,_0x234f42,_0x153447,_0x4eb09b,_0x3376f9,_0x5dae0e));}},_0x2bfdb4[_0x1a4e('0xa')]['getStartIndexes']=function(){return this[_0x1a4e('0x5f5')];},_0x2bfdb4['prototype']['computeIntersects']=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb_0x22b0c5&&(_0x261805=0x1),this[_0x1a4e('0x47a')][_0x5d7dad][_0x5ac9eb]=_0x261805;}}},_0x6229e3[_0x1a4e('0xa')][_0x1a4e('0x5fa')]=function(_0x5d7dad){return this[_0x1a4e('0x47a')][_0x5d7dad][_0x17e5f3[_0x1a4e('0x318')]]-this['_depth'][_0x5d7dad][_0x17e5f3[_0x1a4e('0x3ea')]];},_0x6229e3[_0x1a4e('0xa')][_0x1a4e('0x30d')]=function(_0x5d7dad,_0x22b0c5){return this[_0x1a4e('0x47a')][_0x5d7dad][_0x22b0c5]<=0x0?_0x2b3738[_0x1a4e('0x248')]:_0x2b3738[_0x1a4e('0x249')];},_0x6229e3[_0x1a4e('0xa')]['toString']=function(){return'A:\x20'+this[_0x1a4e('0x47a')][0x0][0x1]+','+this[_0x1a4e('0x47a')][0x0][0x2]+_0x1a4e('0x5fb')+this['_depth'][0x1][0x1]+','+this[_0x1a4e('0x47a')][0x1][0x2];},_0x6229e3['prototype']['add']=function(){if(0x1===arguments[_0x1a4e('0x1e')])for(var _0x5d7dad=arguments[0x0],_0x22b0c5=0x0;_0x22b0c5<0x2;_0x22b0c5++)for(var _0x5ac9eb=0x1;_0x5ac9eb<0x3;_0x5ac9eb++){var _0x261805=_0x5d7dad['getLocation'](_0x22b0c5,_0x5ac9eb);_0x261805!==_0x2b3738[_0x1a4e('0x248')]&&_0x261805!==_0x2b3738[_0x1a4e('0x249')]||(this['isNull'](_0x22b0c5,_0x5ac9eb)?this[_0x1a4e('0x47a')][_0x22b0c5][_0x5ac9eb]=_0x6229e3[_0x1a4e('0x5fc')](_0x261805):this['_depth'][_0x22b0c5][_0x5ac9eb]+=_0x6229e3[_0x1a4e('0x5fc')](_0x261805));}else if(0x3===arguments[_0x1a4e('0x1e')]){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1];arguments[0x2]===_0x2b3738[_0x1a4e('0x249')]&&this['_depth'][_0x81bc8f][_0x234f42]++;}},_0x6229e3[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x6229e3['prototype'][_0x1a4e('0x234')]=function(){return _0x6229e3;},_0x6229e3[_0x1a4e('0x5fc')]=function(_0x5d7dad){return _0x5d7dad===_0x2b3738[_0x1a4e('0x248')]?0x0:_0x5d7dad===_0x2b3738[_0x1a4e('0x249')]?0x1:_0x6229e3['NULL_VALUE'];},_0x2061ce[_0x1a4e('0x5f9')][_0x1a4e('0x179')]=function(){return-0x1;},Object[_0x1a4e('0x1c8')](_0x6229e3,_0x2061ce);var _0x4bd07c=function(_0x5d7dad){function _0x22b0c5(){if(_0x5d7dad['call'](this),this[_0x1a4e('0x5f4')]=null,this['_env']=null,this['eiList']=new _0x34de59(this),this[_0x1a4e('0x3d3')]=null,this[_0x1a4e('0x5fd')]=null,this['_isIsolated']=!0x0,this[_0x1a4e('0x47a')]=new _0x6229e3(),this[_0x1a4e('0x5fe')]=0x0,0x1===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0];_0x22b0c5[_0x1a4e('0x1')](this,_0x5ac9eb,null);}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1];this[_0x1a4e('0x5f4')]=_0x261805,this[_0x1a4e('0x436')]=_0x81bc8f;}}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')]['constructor']=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x413')]=function(){return this['_depth'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x5ff')]=function(){var _0x5d7dad=new Array(0x2)['fill'](null);return _0x5d7dad[0x0]=this['pts'][0x0],_0x5d7dad[0x1]=this[_0x1a4e('0x5f4')][0x1],new _0x22b0c5(_0x5d7dad,_0x20794b[_0x1a4e('0x42b')](this[_0x1a4e('0x436')]));},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x435')]=function(){return this[_0x1a4e('0x600')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x397')]=function(){return this[_0x1a4e('0x5f4')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x601')]=function(_0x5d7dad){this[_0x1a4e('0x600')]=_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x602')]=function(_0x5d7dad){this[_0x1a4e('0x3d3')]=_0x5d7dad;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x23e')]=function(_0x5d7dad){if(!(_0x5d7dad instanceof _0x22b0c5))return!0x1;var _0x5ac9eb=_0x5d7dad;if(this[_0x1a4e('0x5f4')][_0x1a4e('0x1e')]!==_0x5ac9eb[_0x1a4e('0x5f4')][_0x1a4e('0x1e')])return!0x1;for(var _0x261805=!0x0,_0x81bc8f=!0x0,_0x234f42=this[_0x1a4e('0x5f4')][_0x1a4e('0x1e')],_0x153447=0x0;_0x1534470x0?this[_0x1a4e('0x5f4')][0x0]:null;if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return this['pts'][_0x5d7dad];}},_0x22b0c5[_0x1a4e('0xa')]['print']=function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x458')](_0x1a4e('0x48d')+this[_0x1a4e('0x3d3')]+':\x20'),_0x5d7dad['print'](_0x1a4e('0x603'));for(var _0x22b0c5=0x0;_0x22b0c50x0&&_0x5d7dad[_0x1a4e('0x458')](','),_0x5d7dad[_0x1a4e('0x458')](this['pts'][_0x22b0c5]['x']+'\x20'+this[_0x1a4e('0x5f4')][_0x22b0c5]['y']);_0x5d7dad[_0x1a4e('0x458')](_0x1a4e('0x604')+this[_0x1a4e('0x436')]+'\x20'+this[_0x1a4e('0x5fe')]);},_0x22b0c5[_0x1a4e('0xa')]['computeIM']=function(_0x5d7dad){_0x22b0c5[_0x1a4e('0x453')](this['_label'],_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x605')]=function(){return!!this[_0x1a4e('0x436')][_0x1a4e('0x420')]()&&0x3===this[_0x1a4e('0x5f4')]['length']&&!!this[_0x1a4e('0x5f4')][0x0][_0x1a4e('0x23e')](this[_0x1a4e('0x5f4')][0x2]);},_0x22b0c5['prototype']['isClosed']=function(){return this[_0x1a4e('0x5f4')][0x0]['equals'](this[_0x1a4e('0x5f4')][this[_0x1a4e('0x5f4')][_0x1a4e('0x1e')]-0x1]);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x606')]=function(){return this['pts'][_0x1a4e('0x1e')]-0x1;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x483')]=function(){return this[_0x1a4e('0x5fe')];},_0x22b0c5['prototype'][_0x1a4e('0x376')]=function(){return this['pts'][_0x1a4e('0x1e')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x486')]=function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x458')](_0x1a4e('0x48d')+this[_0x1a4e('0x3d3')]+':\x20');for(var _0x22b0c5=this['pts'][_0x1a4e('0x1e')]-0x1;_0x22b0c5>=0x0;_0x22b0c5--)_0x5d7dad[_0x1a4e('0x458')](this[_0x1a4e('0x5f4')][_0x22b0c5]+'\x20');_0x5d7dad[_0x1a4e('0x304')]('');},_0x22b0c5[_0x1a4e('0xa')]['getMonotoneChainEdge']=function(){return null===this[_0x1a4e('0x5fd')]&&(this[_0x1a4e('0x5fd')]=new _0x2bfdb4(this)),this[_0x1a4e('0x5fd')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x1c6')]=function(){if(null===this[_0x1a4e('0x406')]){this['_env']=new _0x322dd2();for(var _0x5d7dad=0x0;_0x5d7dad0x0&&_0x5d7dad['append'](','),_0x5d7dad['append'](this['pts'][_0x22b0c5]['x']+'\x20'+this[_0x1a4e('0x5f4')][_0x22b0c5]['y']);return _0x5d7dad[_0x1a4e('0x252')](')\x20\x20'+this[_0x1a4e('0x436')]+'\x20'+this[_0x1a4e('0x5fe')]),_0x5d7dad[_0x1a4e('0x95')]();},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x608')]=function(_0x5d7dad){if(this[_0x1a4e('0x5f4')][_0x1a4e('0x1e')]!==_0x5d7dad[_0x1a4e('0x5f4')][_0x1a4e('0x1e')])return!0x1;for(var _0x22b0c5=0x0;_0x22b0c5_0x261805||this[_0x1a4e('0x299')]<_0x81bc8f||this[_0x1a4e('0x298')]>_0x234f42;if(_0x153447)return!0x1;var _0x1972c2=this['intersectsToleranceSquare'](_0x5d7dad,_0x22b0c5);return _0x1e33dc['isTrue'](!(_0x153447&&_0x1972c2),_0x1a4e('0x62d')),_0x1972c2;},_0x30fb77[_0x1a4e('0xa')][_0x1a4e('0x62e')]=function(_0x5d7dad){this[_0x1a4e('0x297')]=_0x5d7dad['x']-0.5,this[_0x1a4e('0x2a0')]=_0x5d7dad['x']+0.5,this[_0x1a4e('0x298')]=_0x5d7dad['y']-0.5,this[_0x1a4e('0x299')]=_0x5d7dad['y']+0.5,this[_0x1a4e('0x62c')][0x0]=new _0x517a0b(this['_maxx'],this['_maxy']),this[_0x1a4e('0x62c')][0x1]=new _0x517a0b(this[_0x1a4e('0x297')],this[_0x1a4e('0x299')]),this[_0x1a4e('0x62c')][0x2]=new _0x517a0b(this['_minx'],this['_miny']),this[_0x1a4e('0x62c')][0x3]=new _0x517a0b(this[_0x1a4e('0x2a0')],this[_0x1a4e('0x298')]);},_0x30fb77[_0x1a4e('0xa')]['intersects']=function(_0x5d7dad,_0x22b0c5){return 0x1===this[_0x1a4e('0x617')]?this[_0x1a4e('0x62f')](_0x5d7dad,_0x22b0c5):(this[_0x1a4e('0x630')](_0x5d7dad,this[_0x1a4e('0x62a')]),this[_0x1a4e('0x630')](_0x22b0c5,this['_p1Scaled']),this['intersectsScaled'](this['_p0Scaled'],this[_0x1a4e('0x62b')]));},_0x30fb77[_0x1a4e('0xa')]['scale']=function(_0x5d7dad){return Math[_0x1a4e('0x2a')](_0x5d7dad*this['_scaleFactor']);},_0x30fb77[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(){return this[_0x1a4e('0x628')];},_0x30fb77[_0x1a4e('0xa')]['copyScaled']=function(_0x5d7dad,_0x22b0c5){_0x22b0c5['x']=this['scale'](_0x5d7dad['x']),_0x22b0c5['y']=this[_0x1a4e('0x143')](_0x5d7dad['y']);},_0x30fb77['prototype'][_0x1a4e('0x631')]=function(){if(null===this[_0x1a4e('0x632')]){var _0x5d7dad=_0x30fb77['SAFE_ENV_EXPANSION_FACTOR']/this[_0x1a4e('0x617')];this[_0x1a4e('0x632')]=new _0x322dd2(this[_0x1a4e('0x628')]['x']-_0x5d7dad,this['_originalPt']['x']+_0x5d7dad,this[_0x1a4e('0x628')]['y']-_0x5d7dad,this[_0x1a4e('0x628')]['y']+_0x5d7dad);}return this[_0x1a4e('0x632')];},_0x30fb77[_0x1a4e('0xa')][_0x1a4e('0x633')]=function(_0x5d7dad,_0x22b0c5){return this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x5d7dad,_0x22b0c5,this[_0x1a4e('0x62c')][0x0],this[_0x1a4e('0x62c')][0x1]),!!(this[_0x1a4e('0x56e')]['hasIntersection']()||(this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x5d7dad,_0x22b0c5,this['_corner'][0x1],this['_corner'][0x2]),this[_0x1a4e('0x56e')][_0x1a4e('0x2e6')]()||(this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x5d7dad,_0x22b0c5,this[_0x1a4e('0x62c')][0x2],this[_0x1a4e('0x62c')][0x3]),this[_0x1a4e('0x56e')][_0x1a4e('0x2e6')]()||(this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x5d7dad,_0x22b0c5,this['_corner'][0x3],this['_corner'][0x0]),this['_li'][_0x1a4e('0x2e6')]()))));},_0x30fb77['prototype'][_0x1a4e('0x634')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=!0x1,_0x261805=!0x1;return this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x5d7dad,_0x22b0c5,this[_0x1a4e('0x62c')][0x0],this[_0x1a4e('0x62c')][0x1]),!!(this[_0x1a4e('0x56e')][_0x1a4e('0x2e5')]()||(this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x5d7dad,_0x22b0c5,this[_0x1a4e('0x62c')][0x1],this[_0x1a4e('0x62c')][0x2]),this[_0x1a4e('0x56e')][_0x1a4e('0x2e5')]()||(this[_0x1a4e('0x56e')]['hasIntersection']()&&(_0x5ac9eb=!0x0),this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x5d7dad,_0x22b0c5,this[_0x1a4e('0x62c')][0x2],this[_0x1a4e('0x62c')][0x3]),this['_li'][_0x1a4e('0x2e5')]()||(this[_0x1a4e('0x56e')][_0x1a4e('0x2e6')]()&&(_0x261805=!0x0),this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x5d7dad,_0x22b0c5,this[_0x1a4e('0x62c')][0x3],this[_0x1a4e('0x62c')][0x0]),this[_0x1a4e('0x56e')][_0x1a4e('0x2e5')]()||_0x5ac9eb&&_0x261805||_0x5d7dad['equals'](this[_0x1a4e('0x627')])||_0x22b0c5[_0x1a4e('0x23e')](this[_0x1a4e('0x627')])))));},_0x30fb77[_0x1a4e('0xa')][_0x1a4e('0x635')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad['getCoordinate'](_0x22b0c5),_0x261805=_0x5d7dad[_0x1a4e('0x28e')](_0x22b0c5+0x1);return!!this[_0x1a4e('0x2a4')](_0x5ac9eb,_0x261805)&&(_0x5d7dad['addIntersection'](this['getCoordinate'](),_0x22b0c5),!0x0);},_0x30fb77['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x30fb77['prototype'][_0x1a4e('0x234')]=function(){return _0x30fb77;},_0x2601f3[_0x1a4e('0x636')][_0x1a4e('0x179')]=function(){return 0.75;},Object[_0x1a4e('0x1c8')](_0x30fb77,_0x2601f3);var _0x57637e=function(){this[_0x1a4e('0x516')]=new _0x322dd2(),this[_0x1a4e('0x637')]=new _0x3cf489();};_0x57637e[_0x1a4e('0xa')][_0x1a4e('0x51a')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]);else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];_0x5d7dad[_0x1a4e('0x510')](_0x22b0c5,this[_0x1a4e('0x637')]),this[_0x1a4e('0x51a')](this[_0x1a4e('0x637')]);}},_0x57637e[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x57637e['prototype'][_0x1a4e('0x234')]=function(){return _0x57637e;};var _0x36905d=function(){this[_0x1a4e('0x528')]=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x528')]=_0x5d7dad;},_0x540dc3={'HotPixelSnapAction':{'configurable':!0x0}};_0x36905d[_0x1a4e('0xa')]['snap']=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return this[_0x1a4e('0x638')](_0x5d7dad,null,-0x1);}if(0x3===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=arguments[0x2],_0x81bc8f=_0x22b0c5[_0x1a4e('0x631')](),_0x234f42=new _0x2e3fd4(_0x22b0c5,_0x5ac9eb,_0x261805);return this['_index'][_0x1a4e('0x4aa')](_0x81bc8f,{'interfaces_':function(){return[_0x2e435a];},'visitItem':function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x51a')](_0x81bc8f,_0x234f42);}}),_0x234f42[_0x1a4e('0x639')]();}},_0x36905d[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x36905d['prototype'][_0x1a4e('0x234')]=function(){return _0x36905d;},_0x540dc3[_0x1a4e('0x63a')]['get']=function(){return _0x2e3fd4;},Object[_0x1a4e('0x1c8')](_0x36905d,_0x540dc3);var _0x2e3fd4=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x1')](this),this[_0x1a4e('0x63b')]=null,this[_0x1a4e('0x63c')]=null,this['_hotPixelVertexIndex']=null,this[_0x1a4e('0x63d')]=!0x1;var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=arguments[0x2];this['_hotPixel']=_0x22b0c5,this['_parentEdge']=_0x5ac9eb,this['_hotPixelVertexIndex']=_0x261805;}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad['prototype']),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')]['isNodeAdded']=function(){return this[_0x1a4e('0x63d')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x51a')]=function(){if(0x2!==arguments[_0x1a4e('0x1e')])return _0x5d7dad['prototype'][_0x1a4e('0x51a')][_0x1a4e('0x8b')](this,arguments);var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=_0x22b0c5[_0x1a4e('0x51c')]();if(null!==this['_parentEdge']&&_0x261805===this[_0x1a4e('0x63c')]&&_0x5ac9eb===this[_0x1a4e('0x63e')])return null;this[_0x1a4e('0x63d')]=this[_0x1a4e('0x63b')][_0x1a4e('0x635')](_0x261805,_0x5ac9eb);},_0x22b0c5['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x57637e),_0x56551b=function(){this[_0x1a4e('0x56e')]=null,this['_interiorIntersections']=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x56e')]=_0x5d7dad,this[_0x1a4e('0x63f')]=new _0x389784();};_0x56551b[_0x1a4e('0xa')]['processIntersections']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(_0x5d7dad===_0x5ac9eb&&_0x22b0c5===_0x261805)return null;var _0x81bc8f=_0x5d7dad[_0x1a4e('0x397')]()[_0x22b0c5],_0x234f42=_0x5d7dad[_0x1a4e('0x397')]()[_0x22b0c5+0x1],_0x153447=_0x5ac9eb[_0x1a4e('0x397')]()[_0x261805],_0x1972c2=_0x5ac9eb[_0x1a4e('0x397')]()[_0x261805+0x1];if(this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x81bc8f,_0x234f42,_0x153447,_0x1972c2),this[_0x1a4e('0x56e')][_0x1a4e('0x2e6')]()&&this['_li'][_0x1a4e('0x2e8')]()){for(var _0x3376f9=0x0;_0x3376f9=0x0;_0x22b0c5--){try{_0x5d7dad[_0x1a4e('0x649')](_0x22b0c5);}catch(_0x352cd1){if(!(_0x352cd1 instanceof _0x2749a6))throw _0x352cd1;_0x5d7dad[_0x1a4e('0x64b')]=_0x352cd1;}if(null!==_0x5d7dad[_0x1a4e('0x64c')])return null;}throw this[_0x1a4e('0x64b')];}if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=_0x5d16bb['precisionScaleFactor'](this[_0x1a4e('0x647')],this[_0x1a4e('0x4b3')],_0x5ac9eb),_0x81bc8f=new _0x1cb3d0(_0x261805);this[_0x1a4e('0x648')](_0x81bc8f);}},_0x5d16bb[_0x1a4e('0xa')][_0x1a4e('0x64d')]=function(){if(this[_0x1a4e('0x64e')](),null!==this[_0x1a4e('0x64c')])return null;var _0x5d7dad=this['_argGeom'][_0x1a4e('0x322')]()['getPrecisionModel']();_0x5d7dad['getType']()===_0x1cb3d0[_0x1a4e('0x3c6')]?this[_0x1a4e('0x648')](_0x5d7dad):this['bufferReducedPrecision']();},_0x5d16bb['prototype'][_0x1a4e('0x53a')]=function(_0x5d7dad){this[_0x1a4e('0x57e')][_0x1a4e('0x53a')](_0x5d7dad);},_0x5d16bb[_0x1a4e('0xa')][_0x1a4e('0x64e')]=function(){try{var _0x5d7dad=new _0x5f5294(this[_0x1a4e('0x57e')]);this['_resultGeometry']=_0x5d7dad['buffer'](this[_0x1a4e('0x647')],this[_0x1a4e('0x4b3')]);}catch(_0x44b6b5){if(!(_0x44b6b5 instanceof _0x16686e))throw _0x44b6b5;this[_0x1a4e('0x64b')]=_0x44b6b5;}},_0x5d16bb[_0x1a4e('0xa')][_0x1a4e('0x64f')]=function(_0x5d7dad){return this[_0x1a4e('0x4b3')]=_0x5d7dad,this['computeGeometry'](),this[_0x1a4e('0x64c')];},_0x5d16bb['prototype']['setEndCapStyle']=function(_0x5d7dad){this[_0x1a4e('0x57e')]['setEndCapStyle'](_0x5d7dad);},_0x5d16bb[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x5d16bb[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x5d16bb;},_0x5d16bb[_0x1a4e('0x145')]=function(){if(0x2===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];return new _0x5d16bb(_0x5d7dad)[_0x1a4e('0x64f')](_0x22b0c5);}if(0x3===arguments[_0x1a4e('0x1e')]){if(Number['isInteger'](arguments[0x2])&&arguments[0x0]instanceof _0x25c10a&&'number'==typeof arguments[0x1]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1],_0x81bc8f=arguments[0x2],_0x234f42=new _0x5d16bb(_0x5ac9eb);return _0x234f42['setQuadrantSegments'](_0x81bc8f),_0x234f42[_0x1a4e('0x64f')](_0x261805);}if(arguments[0x2]instanceof _0x1be1ca&&arguments[0x0]instanceof _0x25c10a&&_0x1a4e('0x3d')==typeof arguments[0x1]){var _0x153447=arguments[0x0],_0x1972c2=arguments[0x1],_0x3376f9=arguments[0x2];return new _0x5d16bb(_0x153447,_0x3376f9)[_0x1a4e('0x64f')](_0x1972c2);}}else if(0x4===arguments[_0x1a4e('0x1e')]){var _0x5dae0e=arguments[0x0],_0x3d7f02=arguments[0x1],_0x146559=arguments[0x2],_0x184c89=arguments[0x3],_0x4198ed=new _0x5d16bb(_0x5dae0e);return _0x4198ed[_0x1a4e('0x53a')](_0x146559),_0x4198ed['setEndCapStyle'](_0x184c89),_0x4198ed[_0x1a4e('0x64f')](_0x3d7f02);}},_0x5d16bb[_0x1a4e('0x650')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x32e')](),_0x81bc8f=_0x434036[_0x1a4e('0x6c')](Math[_0x1a4e('0x65')](_0x261805[_0x1a4e('0x29e')]()),Math['abs'](_0x261805[_0x1a4e('0x2a3')]()),Math[_0x1a4e('0x65')](_0x261805[_0x1a4e('0x29f')]()),Math[_0x1a4e('0x65')](_0x261805[_0x1a4e('0x2a2')]()))+0x2*(_0x22b0c5>0x0?_0x22b0c5:0x0),_0x234f42=_0x5ac9eb-Math[_0x1a4e('0x232')](Math[_0x1a4e('0x58')](_0x81bc8f)/Math[_0x1a4e('0x58')](0xa)+0x1);return Math[_0x1a4e('0x8e')](0xa,_0x234f42);},_0x3cd59e[_0x1a4e('0x535')][_0x1a4e('0x179')]=function(){return _0x1be1ca['CAP_ROUND'];},_0x3cd59e[_0x1a4e('0x651')][_0x1a4e('0x179')]=function(){return _0x1be1ca['CAP_FLAT'];},_0x3cd59e[_0x1a4e('0x546')]['get']=function(){return _0x1be1ca[_0x1a4e('0x546')];},_0x3cd59e[_0x1a4e('0x582')][_0x1a4e('0x179')]=function(){return _0x1be1ca[_0x1a4e('0x582')];},_0x3cd59e[_0x1a4e('0x64a')][_0x1a4e('0x179')]=function(){return 0xc;},Object['defineProperties'](_0x5d16bb,_0x3cd59e);var _0x5bd0d6=function(){this[_0x1a4e('0x627')]=[new _0x517a0b(),new _0x517a0b()],this['_distance']=_0x104610['NaN'],this[_0x1a4e('0x652')]=!0x0;};_0x5bd0d6[_0x1a4e('0xa')][_0x1a4e('0x397')]=function(){return this['_pt'];},_0x5bd0d6[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(_0x5d7dad){return this[_0x1a4e('0x627')][_0x5d7dad];},_0x5bd0d6[_0x1a4e('0xa')][_0x1a4e('0x653')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x653')](_0x5d7dad['_pt'][0x0],_0x5d7dad[_0x1a4e('0x627')][0x1]);}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];if(this['_isNull'])return this[_0x1a4e('0x654')](_0x22b0c5,_0x5ac9eb),null;var _0x261805=_0x22b0c5[_0x1a4e('0x1ed')](_0x5ac9eb);_0x261805this[_0x1a4e('0x4b3')]&&this[_0x1a4e('0x654')](_0x22b0c5,_0x5ac9eb,_0x261805);}},_0x5bd0d6[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x5bd0d6['prototype']['getClass']=function(){return _0x5bd0d6;};var _0x31d3e0=function(){};_0x31d3e0['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x31d3e0[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x31d3e0;},_0x31d3e0['computeDistance']=function(){if(arguments[0x2]instanceof _0x5bd0d6&&arguments[0x0]instanceof _0xfddecc&&arguments[0x1]instanceof _0x517a0b)for(var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2],_0x261805=_0x5d7dad['getCoordinates'](),_0x81bc8f=new _0x3cf489(),_0x234f42=0x0;_0x234f42<_0x261805[_0x1a4e('0x1e')]-0x1;_0x234f42++){_0x81bc8f[_0x1a4e('0x509')](_0x261805[_0x234f42],_0x261805[_0x234f42+0x1]);var _0x153447=_0x81bc8f['closestPoint'](_0x22b0c5);_0x5ac9eb[_0x1a4e('0x653')](_0x153447,_0x22b0c5);}else if(arguments[0x2]instanceof _0x5bd0d6&&arguments[0x0]instanceof _0xec6fef&&arguments[0x1]instanceof _0x517a0b){var _0x1972c2=arguments[0x0],_0x3376f9=arguments[0x1],_0x5dae0e=arguments[0x2];_0x31d3e0[_0x1a4e('0x656')](_0x1972c2[_0x1a4e('0x3a8')](),_0x3376f9,_0x5dae0e);for(var _0x3d7f02=0x0;_0x3d7f02<_0x1972c2[_0x1a4e('0x3a6')]();_0x3d7f02++)_0x31d3e0[_0x1a4e('0x656')](_0x1972c2[_0x1a4e('0x3a9')](_0x3d7f02),_0x3376f9,_0x5dae0e);}else if(arguments[0x2]instanceof _0x5bd0d6&&arguments[0x0]instanceof _0x25c10a&&arguments[0x1]instanceof _0x517a0b){var _0x146559=arguments[0x0],_0x184c89=arguments[0x1],_0x4198ed=arguments[0x2];if(_0x146559 instanceof _0xfddecc)_0x31d3e0[_0x1a4e('0x656')](_0x146559,_0x184c89,_0x4198ed);else if(_0x146559 instanceof _0xec6fef)_0x31d3e0[_0x1a4e('0x656')](_0x146559,_0x184c89,_0x4198ed);else if(_0x146559 instanceof _0xee49b8)for(var _0x41179c=_0x146559,_0x4eb09b=0x0;_0x4eb09b<_0x41179c[_0x1a4e('0x32b')]();_0x4eb09b++){var _0x39638f=_0x41179c[_0x1a4e('0x323')](_0x4eb09b);_0x31d3e0['computeDistance'](_0x39638f,_0x184c89,_0x4198ed);}else _0x4198ed[_0x1a4e('0x653')](_0x146559[_0x1a4e('0x28e')](),_0x184c89);}else if(arguments[0x2]instanceof _0x5bd0d6&&arguments[0x0]instanceof _0x3cf489&&arguments[0x1]instanceof _0x517a0b){var _0x40b220=arguments[0x0],_0x55366a=arguments[0x1],_0x527605=arguments[0x2],_0x4b8927=_0x40b220[_0x1a4e('0x507')](_0x55366a);_0x527605[_0x1a4e('0x653')](_0x4b8927,_0x55366a);}};var _0x1332c2=function(_0x5d7dad){this['_maxPtDist']=new _0x5bd0d6(),this[_0x1a4e('0x5ae')]=_0x5d7dad||null;},_0x45aaea={'MaxPointDistanceFilter':{'configurable':!0x0},'MaxMidpointDistanceFilter':{'configurable':!0x0}};_0x1332c2[_0x1a4e('0xa')]['computeMaxMidpointDistance']=function(_0x5d7dad){var _0x22b0c5=new _0x29a1a0(this['_inputGeom']);_0x5d7dad[_0x1a4e('0x8b')](_0x22b0c5),this['_maxPtDist']['setMaximum'](_0x22b0c5[_0x1a4e('0x657')]());},_0x1332c2[_0x1a4e('0xa')][_0x1a4e('0x658')]=function(_0x5d7dad){var _0x22b0c5=new _0x14404e(this[_0x1a4e('0x5ae')]);_0x5d7dad[_0x1a4e('0x8b')](_0x22b0c5),this['_maxPtDist'][_0x1a4e('0x655')](_0x22b0c5[_0x1a4e('0x657')]());},_0x1332c2[_0x1a4e('0xa')][_0x1a4e('0x659')]=function(_0x5d7dad){return this['computeMaxVertexDistance'](_0x5d7dad),this['computeMaxMidpointDistance'](_0x5d7dad),this[_0x1a4e('0x65a')][_0x1a4e('0x4bb')]();},_0x1332c2[_0x1a4e('0xa')][_0x1a4e('0x65b')]=function(){return this['_maxPtDist'];},_0x1332c2[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x1332c2[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1332c2;},_0x45aaea['MaxPointDistanceFilter'][_0x1a4e('0x179')]=function(){return _0x14404e;},_0x45aaea['MaxMidpointDistanceFilter'][_0x1a4e('0x179')]=function(){return _0x29a1a0;},Object[_0x1a4e('0x1c8')](_0x1332c2,_0x45aaea);var _0x14404e=function(_0x5d7dad){this[_0x1a4e('0x65a')]=new _0x5bd0d6(),this[_0x1a4e('0x65c')]=new _0x5bd0d6(),this[_0x1a4e('0x37e')]=_0x5d7dad||null;};_0x14404e[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad){this[_0x1a4e('0x65c')][_0x1a4e('0x654')](),_0x31d3e0[_0x1a4e('0x656')](this[_0x1a4e('0x37e')],_0x5d7dad,this[_0x1a4e('0x65c')]),this[_0x1a4e('0x65a')]['setMaximum'](this[_0x1a4e('0x65c')]);},_0x14404e['prototype'][_0x1a4e('0x657')]=function(){return this[_0x1a4e('0x65a')];},_0x14404e[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x4221a4];},_0x14404e[_0x1a4e('0xa')]['getClass']=function(){return _0x14404e;};var _0x29a1a0=function(_0x5d7dad){this[_0x1a4e('0x65a')]=new _0x5bd0d6(),this['_minPtDist']=new _0x5bd0d6(),this[_0x1a4e('0x37e')]=_0x5d7dad||null;};_0x29a1a0[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad,_0x22b0c5){if(0x0===_0x22b0c5)return null;var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x28e')](_0x22b0c5-0x1),_0x261805=_0x5d7dad[_0x1a4e('0x28e')](_0x22b0c5),_0x81bc8f=new _0x517a0b((_0x5ac9eb['x']+_0x261805['x'])/0x2,(_0x5ac9eb['y']+_0x261805['y'])/0x2);this[_0x1a4e('0x65c')][_0x1a4e('0x654')](),_0x31d3e0[_0x1a4e('0x656')](this[_0x1a4e('0x37e')],_0x81bc8f,this['_minPtDist']),this[_0x1a4e('0x65a')][_0x1a4e('0x655')](this[_0x1a4e('0x65c')]);},_0x29a1a0['prototype'][_0x1a4e('0x37a')]=function(){return!0x1;},_0x29a1a0['prototype']['isGeometryChanged']=function(){return!0x1;},_0x29a1a0[_0x1a4e('0xa')]['getMaxPointDistance']=function(){return this[_0x1a4e('0x65a')];},_0x29a1a0[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x597c97];},_0x29a1a0['prototype'][_0x1a4e('0x234')]=function(){return _0x29a1a0;};var _0x594990=function(_0x5d7dad){this[_0x1a4e('0x65d')]=_0x5d7dad||null;};_0x594990[_0x1a4e('0xa')]['filter']=function(_0x5d7dad){_0x5d7dad instanceof _0xec6fef&&this[_0x1a4e('0x65d')]['add'](_0x5d7dad);},_0x594990['prototype'][_0x1a4e('0x233')]=function(){return[_0x226f49];},_0x594990[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x594990;},_0x594990[_0x1a4e('0x49d')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return _0x594990[_0x1a4e('0x49d')](_0x5d7dad,new _0x389784());}if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];return _0x22b0c5 instanceof _0xec6fef?_0x5ac9eb[_0x1a4e('0x177')](_0x22b0c5):_0x22b0c5 instanceof _0xee49b8&&_0x22b0c5[_0x1a4e('0x8b')](new _0x594990(_0x5ac9eb)),_0x5ac9eb;}};var _0x1919eb=function(){if(this[_0x1a4e('0x65e')]=null,this[_0x1a4e('0x65f')]=!0x1,0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x65e')]=_0x5d7dad;}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];this[_0x1a4e('0x65e')]=_0x22b0c5,this[_0x1a4e('0x65f')]=_0x5ac9eb;}};_0x1919eb[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad){if(this[_0x1a4e('0x65f')]&&_0x5d7dad instanceof _0x5d75e4){var _0x22b0c5=_0x5d7dad['getFactory']()[_0x1a4e('0x2c2')](_0x5d7dad[_0x1a4e('0x39a')]());return this[_0x1a4e('0x65e')][_0x1a4e('0x177')](_0x22b0c5),null;}_0x5d7dad instanceof _0xfddecc&&this[_0x1a4e('0x65e')][_0x1a4e('0x177')](_0x5d7dad);},_0x1919eb[_0x1a4e('0xa')][_0x1a4e('0x660')]=function(_0x5d7dad){this[_0x1a4e('0x65f')]=_0x5d7dad;},_0x1919eb[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x5a98d6];},_0x1919eb[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1919eb;},_0x1919eb['getGeometry']=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return _0x5d7dad[_0x1a4e('0x322')]()[_0x1a4e('0x3d8')](_0x1919eb['getLines'](_0x5d7dad));}if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];return _0x22b0c5[_0x1a4e('0x322')]()['buildGeometry'](_0x1919eb[_0x1a4e('0x661')](_0x22b0c5,_0x5ac9eb));}},_0x1919eb['getLines']=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return _0x1919eb[_0x1a4e('0x661')](_0x5d7dad,!0x1);}if(0x2===arguments[_0x1a4e('0x1e')]){if(_0x73c38a(arguments[0x0],_0x5ca55b)&&_0x73c38a(arguments[0x1],_0x5ca55b)){for(var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=_0x22b0c5['iterator']();_0x261805[_0x1a4e('0x336')]();){var _0x81bc8f=_0x261805[_0x1a4e('0x7e')]();_0x1919eb['getLines'](_0x81bc8f,_0x5ac9eb);}return _0x5ac9eb;}if(arguments[0x0]instanceof _0x25c10a&&_0x1a4e('0x34b')==typeof arguments[0x1]){var _0x234f42=arguments[0x0],_0x153447=arguments[0x1],_0x1972c2=new _0x389784();return _0x234f42[_0x1a4e('0x8b')](new _0x1919eb(_0x1972c2,_0x153447)),_0x1972c2;}if(arguments[0x0]instanceof _0x25c10a&&_0x73c38a(arguments[0x1],_0x5ca55b)){var _0x3376f9=arguments[0x0],_0x5dae0e=arguments[0x1];return _0x3376f9 instanceof _0xfddecc?_0x5dae0e['add'](_0x3376f9):_0x3376f9['apply'](new _0x1919eb(_0x5dae0e)),_0x5dae0e;}}else if(0x3===arguments[_0x1a4e('0x1e')]){if('boolean'==typeof arguments[0x2]&&_0x73c38a(arguments[0x0],_0x5ca55b)&&_0x73c38a(arguments[0x1],_0x5ca55b)){for(var _0x3d7f02=arguments[0x0],_0x146559=arguments[0x1],_0x184c89=arguments[0x2],_0x4198ed=_0x3d7f02[_0x1a4e('0x335')]();_0x4198ed['hasNext']();){var _0x41179c=_0x4198ed[_0x1a4e('0x7e')]();_0x1919eb[_0x1a4e('0x661')](_0x41179c,_0x146559,_0x184c89);}return _0x146559;}if(_0x1a4e('0x34b')==typeof arguments[0x2]&&arguments[0x0]instanceof _0x25c10a&&_0x73c38a(arguments[0x1],_0x5ca55b)){var _0x4eb09b=arguments[0x0],_0x39638f=arguments[0x1],_0x40b220=arguments[0x2];return _0x4eb09b[_0x1a4e('0x8b')](new _0x1919eb(_0x39638f,_0x40b220)),_0x39638f;}}};var _0x44b294=function(){if(this[_0x1a4e('0x662')]=_0x3c1b0f[_0x1a4e('0x663')],this['_isIn']=null,this['_numBoundaries']=null,0x0===arguments[_0x1a4e('0x1e')]);else if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];if(null===_0x5d7dad)throw new _0x3eb8a2(_0x1a4e('0x664'));this[_0x1a4e('0x662')]=_0x5d7dad;}};_0x44b294[_0x1a4e('0xa')]['locateInternal']=function(){if(arguments[0x0]instanceof _0x517a0b&&arguments[0x1]instanceof _0xec6fef){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];if(_0x22b0c5['isEmpty']())return _0x2b3738[_0x1a4e('0x248')];var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x3a8')](),_0x261805=this[_0x1a4e('0x665')](_0x5d7dad,_0x5ac9eb);if(_0x261805===_0x2b3738[_0x1a4e('0x248')])return _0x2b3738[_0x1a4e('0x248')];if(_0x261805===_0x2b3738[_0x1a4e('0x24c')])return _0x2b3738[_0x1a4e('0x24c')];for(var _0x81bc8f=0x0;_0x81bc8f<_0x22b0c5[_0x1a4e('0x3a6')]();_0x81bc8f++){var _0x234f42=_0x22b0c5[_0x1a4e('0x3a9')](_0x81bc8f),_0x153447=this[_0x1a4e('0x665')](_0x5d7dad,_0x234f42);if(_0x153447===_0x2b3738[_0x1a4e('0x249')])return _0x2b3738[_0x1a4e('0x248')];if(_0x153447===_0x2b3738[_0x1a4e('0x24c')])return _0x2b3738[_0x1a4e('0x24c')];}return _0x2b3738[_0x1a4e('0x249')];}if(arguments[0x0]instanceof _0x517a0b&&arguments[0x1]instanceof _0xfddecc){var _0x1972c2=arguments[0x0],_0x3376f9=arguments[0x1];if(!_0x3376f9[_0x1a4e('0x32e')]()[_0x1a4e('0x2a4')](_0x1972c2))return _0x2b3738['EXTERIOR'];var _0x5dae0e=_0x3376f9[_0x1a4e('0x397')]();return _0x3376f9[_0x1a4e('0x37d')]()||!_0x1972c2[_0x1a4e('0x23e')](_0x5dae0e[0x0])&&!_0x1972c2[_0x1a4e('0x23e')](_0x5dae0e[_0x5dae0e[_0x1a4e('0x1e')]-0x1])?_0x2a79ee[_0x1a4e('0x316')](_0x1972c2,_0x5dae0e)?_0x2b3738[_0x1a4e('0x249')]:_0x2b3738[_0x1a4e('0x248')]:_0x2b3738[_0x1a4e('0x24c')];}if(arguments[0x0]instanceof _0x517a0b&&arguments[0x1]instanceof _0x26c3b7){var _0x3d7f02=arguments[0x0];return arguments[0x1]['getCoordinate']()[_0x1a4e('0x23b')](_0x3d7f02)?_0x2b3738['INTERIOR']:_0x2b3738[_0x1a4e('0x248')];}},_0x44b294['prototype'][_0x1a4e('0x665')]=function(_0x5d7dad,_0x22b0c5){return _0x22b0c5['getEnvelopeInternal']()[_0x1a4e('0x2a4')](_0x5d7dad)?_0x2a79ee[_0x1a4e('0x30e')](_0x5d7dad,_0x22b0c5[_0x1a4e('0x397')]()):_0x2b3738['EXTERIOR'];},_0x44b294[_0x1a4e('0xa')]['intersects']=function(_0x5d7dad,_0x22b0c5){return this[_0x1a4e('0x5bf')](_0x5d7dad,_0x22b0c5)!==_0x2b3738[_0x1a4e('0x248')];},_0x44b294[_0x1a4e('0xa')][_0x1a4e('0x666')]=function(_0x5d7dad){_0x5d7dad===_0x2b3738[_0x1a4e('0x249')]&&(this[_0x1a4e('0x667')]=!0x0),_0x5d7dad===_0x2b3738[_0x1a4e('0x24c')]&&this[_0x1a4e('0x668')]++;},_0x44b294[_0x1a4e('0xa')][_0x1a4e('0x669')]=function(_0x5d7dad,_0x22b0c5){if(_0x22b0c5 instanceof _0x26c3b7&&this[_0x1a4e('0x666')](this[_0x1a4e('0x66a')](_0x5d7dad,_0x22b0c5)),_0x22b0c5 instanceof _0xfddecc)this[_0x1a4e('0x666')](this[_0x1a4e('0x66a')](_0x5d7dad,_0x22b0c5));else if(_0x22b0c5 instanceof _0xec6fef)this[_0x1a4e('0x666')](this[_0x1a4e('0x66a')](_0x5d7dad,_0x22b0c5));else if(_0x22b0c5 instanceof _0x43e875)for(var _0x5ac9eb=_0x22b0c5,_0x261805=0x0;_0x261805<_0x5ac9eb[_0x1a4e('0x32b')]();_0x261805++){var _0x81bc8f=_0x5ac9eb[_0x1a4e('0x323')](_0x261805);this['updateLocationInfo'](this[_0x1a4e('0x66a')](_0x5d7dad,_0x81bc8f));}else if(_0x22b0c5 instanceof _0x204133)for(var _0x234f42=_0x22b0c5,_0x153447=0x0;_0x153447<_0x234f42['getNumGeometries']();_0x153447++){var _0x1972c2=_0x234f42[_0x1a4e('0x323')](_0x153447);this['updateLocationInfo'](this[_0x1a4e('0x66a')](_0x5d7dad,_0x1972c2));}else if(_0x22b0c5 instanceof _0xee49b8)for(var _0x3376f9=new _0x1aaa46(_0x22b0c5);_0x3376f9[_0x1a4e('0x336')]();){var _0x5dae0e=_0x3376f9[_0x1a4e('0x7e')]();_0x5dae0e!==_0x22b0c5&&this[_0x1a4e('0x669')](_0x5d7dad,_0x5dae0e);}},_0x44b294[_0x1a4e('0xa')][_0x1a4e('0x5bf')]=function(_0x5d7dad,_0x22b0c5){return _0x22b0c5[_0x1a4e('0x149')]()?_0x2b3738[_0x1a4e('0x248')]:_0x22b0c5 instanceof _0xfddecc?this['locateInternal'](_0x5d7dad,_0x22b0c5):_0x22b0c5 instanceof _0xec6fef?this[_0x1a4e('0x66a')](_0x5d7dad,_0x22b0c5):(this[_0x1a4e('0x667')]=!0x1,this['_numBoundaries']=0x0,this['computeLocation'](_0x5d7dad,_0x22b0c5),this['_boundaryRule'][_0x1a4e('0x343')](this[_0x1a4e('0x668')])?_0x2b3738['BOUNDARY']:this[_0x1a4e('0x668')]>0x0||this[_0x1a4e('0x667')]?_0x2b3738[_0x1a4e('0x249')]:_0x2b3738[_0x1a4e('0x248')]);},_0x44b294[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x44b294[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x44b294;};var _0x34d901=function _0x5d7dad(){if(this[_0x1a4e('0x66b')]=null,this[_0x1a4e('0x66c')]=null,this[_0x1a4e('0x627')]=null,0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];_0x5d7dad[_0x1a4e('0x1')](this,_0x22b0c5,_0x5d7dad[_0x1a4e('0x66d')],_0x5ac9eb);}else if(0x3===arguments['length']){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1],_0x234f42=arguments[0x2];this['_component']=_0x261805,this[_0x1a4e('0x66c')]=_0x81bc8f,this[_0x1a4e('0x627')]=_0x234f42;}},_0x56bdd4={'INSIDE_AREA':{'configurable':!0x0}};_0x34d901[_0x1a4e('0xa')]['isInsideArea']=function(){return this[_0x1a4e('0x66c')]===_0x34d901[_0x1a4e('0x66d')];},_0x34d901[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(){return this['_pt'];},_0x34d901[_0x1a4e('0xa')][_0x1a4e('0x66e')]=function(){return this[_0x1a4e('0x66b')];},_0x34d901[_0x1a4e('0xa')][_0x1a4e('0x5f1')]=function(){return this[_0x1a4e('0x66c')];},_0x34d901[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x34d901['prototype'][_0x1a4e('0x234')]=function(){return _0x34d901;},_0x56bdd4[_0x1a4e('0x66d')]['get']=function(){return-0x1;},Object['defineProperties'](_0x34d901,_0x56bdd4);var _0x58f506=function(_0x5d7dad){this['_pts']=_0x5d7dad||null;};_0x58f506[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad){_0x5d7dad instanceof _0x26c3b7&&this[_0x1a4e('0x42f')][_0x1a4e('0x177')](_0x5d7dad);},_0x58f506['prototype'][_0x1a4e('0x233')]=function(){return[_0x226f49];},_0x58f506[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x58f506;},_0x58f506[_0x1a4e('0x66f')]=function(){if(0x1===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0];return _0x5d7dad instanceof _0x26c3b7?_0x4f994e['singletonList'](_0x5d7dad):_0x58f506[_0x1a4e('0x66f')](_0x5d7dad,new _0x389784());}if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];return _0x22b0c5 instanceof _0x26c3b7?_0x5ac9eb[_0x1a4e('0x177')](_0x22b0c5):_0x22b0c5 instanceof _0xee49b8&&_0x22b0c5[_0x1a4e('0x8b')](new _0x58f506(_0x5ac9eb)),_0x5ac9eb;}};var _0x2f0b24=function(){this['_locations']=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x670')]=_0x5d7dad;};_0x2f0b24['prototype'][_0x1a4e('0xd9')]=function(_0x5d7dad){(_0x5d7dad instanceof _0x26c3b7||_0x5d7dad instanceof _0xfddecc||_0x5d7dad instanceof _0xec6fef)&&this[_0x1a4e('0x670')][_0x1a4e('0x177')](new _0x34d901(_0x5d7dad,0x0,_0x5d7dad['getCoordinate']()));},_0x2f0b24[_0x1a4e('0xa')]['interfaces_']=function(){return[_0x226f49];},_0x2f0b24[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2f0b24;},_0x2f0b24['getLocations']=function(_0x5d7dad){var _0x22b0c5=new _0x389784();return _0x5d7dad['apply'](new _0x2f0b24(_0x22b0c5)),_0x22b0c5;};var _0x3e7791=function(){if(this['_geom']=null,this['_terminateDistance']=0x0,this[_0x1a4e('0x671')]=new _0x44b294(),this[_0x1a4e('0x672')]=null,this['_minDistance']=_0x104610['MAX_VALUE'],0x2===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x37e')]=[_0x5d7dad,_0x22b0c5],this[_0x1a4e('0x673')]=0x0;}else if(0x3===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1],_0x81bc8f=arguments[0x2];this['_geom']=new Array(0x2)[_0x1a4e('0x22c')](null),this['_geom'][0x0]=_0x5ac9eb,this['_geom'][0x1]=_0x261805,this['_terminateDistance']=_0x81bc8f;}};_0x3e7791[_0x1a4e('0xa')]['computeContainmentDistance']=function(){if(0x0===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=new Array(0x2)[_0x1a4e('0x22c')](null);if(this[_0x1a4e('0x674')](0x0,_0x5d7dad),this[_0x1a4e('0x675')]<=this[_0x1a4e('0x673')])return null;this[_0x1a4e('0x674')](0x1,_0x5d7dad);}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=0x1-_0x22b0c5,_0x81bc8f=_0x594990['getPolygons'](this[_0x1a4e('0x37e')][_0x22b0c5]);if(_0x81bc8f[_0x1a4e('0x220')]()>0x0){var _0x234f42=_0x2f0b24[_0x1a4e('0x41c')](this['_geom'][_0x261805]);if(this[_0x1a4e('0x674')](_0x234f42,_0x81bc8f,_0x5ac9eb),this[_0x1a4e('0x675')]<=this[_0x1a4e('0x673')])return this[_0x1a4e('0x672')][_0x261805]=_0x5ac9eb[0x0],this[_0x1a4e('0x672')][_0x22b0c5]=_0x5ac9eb[0x1],null;}}else if(0x3===arguments['length'])if(arguments[0x2]instanceof Array&&_0x73c38a(arguments[0x0],_0x5f471f)&&_0x73c38a(arguments[0x1],_0x5f471f)){for(var _0x153447=arguments[0x0],_0x1972c2=arguments[0x1],_0x3376f9=arguments[0x2],_0x5dae0e=0x0;_0x5dae0e<_0x153447[_0x1a4e('0x220')]();_0x5dae0e++)for(var _0x3d7f02=_0x153447[_0x1a4e('0x179')](_0x5dae0e),_0x146559=0x0;_0x146559<_0x1972c2[_0x1a4e('0x220')]();_0x146559++)if(this[_0x1a4e('0x674')](_0x3d7f02,_0x1972c2[_0x1a4e('0x179')](_0x146559),_0x3376f9),this[_0x1a4e('0x675')]<=this[_0x1a4e('0x673')])return null;}else if(arguments[0x2]instanceof Array&&arguments[0x0]instanceof _0x34d901&&arguments[0x1]instanceof _0xec6fef){var _0x184c89=arguments[0x0],_0x4198ed=arguments[0x1],_0x41179c=arguments[0x2],_0x4eb09b=_0x184c89[_0x1a4e('0x28e')]();if(_0x2b3738[_0x1a4e('0x248')]!==this[_0x1a4e('0x671')][_0x1a4e('0x5bf')](_0x4eb09b,_0x4198ed))return this['_minDistance']=0x0,_0x41179c[0x0]=_0x184c89,_0x41179c[0x1]=new _0x34d901(_0x4198ed,_0x4eb09b),null;}},_0x3e7791[_0x1a4e('0xa')][_0x1a4e('0x676')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){for(var _0x261805=0x0;_0x261805<_0x5d7dad['size']();_0x261805++)for(var _0x81bc8f=_0x5d7dad[_0x1a4e('0x179')](_0x261805),_0x234f42=0x0;_0x234f42<_0x22b0c5[_0x1a4e('0x220')]();_0x234f42++){var _0x153447=_0x22b0c5['get'](_0x234f42);if(this[_0x1a4e('0x677')](_0x81bc8f,_0x153447,_0x5ac9eb),this[_0x1a4e('0x675')]<=this[_0x1a4e('0x673')])return null;}},_0x3e7791[_0x1a4e('0xa')][_0x1a4e('0x678')]=function(){var _0x5d7dad=new Array(0x2)[_0x1a4e('0x22c')](null),_0x22b0c5=_0x1919eb['getLines'](this[_0x1a4e('0x37e')][0x0]),_0x5ac9eb=_0x1919eb[_0x1a4e('0x661')](this[_0x1a4e('0x37e')][0x1]),_0x261805=_0x58f506[_0x1a4e('0x66f')](this[_0x1a4e('0x37e')][0x0]),_0x81bc8f=_0x58f506['getPoints'](this[_0x1a4e('0x37e')][0x1]);return this[_0x1a4e('0x679')](_0x22b0c5,_0x5ac9eb,_0x5d7dad),this[_0x1a4e('0x67a')](_0x5d7dad,!0x1),this[_0x1a4e('0x675')]<=this[_0x1a4e('0x673')]?null:(_0x5d7dad[0x0]=null,_0x5d7dad[0x1]=null,this[_0x1a4e('0x676')](_0x22b0c5,_0x81bc8f,_0x5d7dad),this[_0x1a4e('0x67a')](_0x5d7dad,!0x1),this[_0x1a4e('0x675')]<=this[_0x1a4e('0x673')]?null:(_0x5d7dad[0x0]=null,_0x5d7dad[0x1]=null,this['computeMinDistanceLinesPoints'](_0x5ac9eb,_0x261805,_0x5d7dad),this[_0x1a4e('0x67a')](_0x5d7dad,!0x0),this[_0x1a4e('0x675')]<=this[_0x1a4e('0x673')]?null:(_0x5d7dad[0x0]=null,_0x5d7dad[0x1]=null,this[_0x1a4e('0x67b')](_0x261805,_0x81bc8f,_0x5d7dad),void this['updateMinDistance'](_0x5d7dad,!0x1))));},_0x3e7791[_0x1a4e('0xa')]['nearestLocations']=function(){return this[_0x1a4e('0x677')](),this[_0x1a4e('0x672')];},_0x3e7791[_0x1a4e('0xa')][_0x1a4e('0x67a')]=function(_0x5d7dad,_0x22b0c5){if(null===_0x5d7dad[0x0])return null;_0x22b0c5?(this['_minDistanceLocation'][0x0]=_0x5d7dad[0x1],this[_0x1a4e('0x672')][0x1]=_0x5d7dad[0x0]):(this[_0x1a4e('0x672')][0x0]=_0x5d7dad[0x0],this['_minDistanceLocation'][0x1]=_0x5d7dad[0x1]);},_0x3e7791[_0x1a4e('0xa')]['nearestPoints']=function(){return this[_0x1a4e('0x677')](),[this['_minDistanceLocation'][0x0][_0x1a4e('0x28e')](),this[_0x1a4e('0x672')][0x1][_0x1a4e('0x28e')]()];},_0x3e7791[_0x1a4e('0xa')]['computeMinDistance']=function(){if(0x0===arguments[_0x1a4e('0x1e')]){if(null!==this['_minDistanceLocation'])return null;if(this['_minDistanceLocation']=new Array(0x2)[_0x1a4e('0x22c')](null),this[_0x1a4e('0x674')](),this['_minDistance']<=this[_0x1a4e('0x673')])return null;this['computeFacetDistance']();}else if(0x3===arguments[_0x1a4e('0x1e')])if(arguments[0x2]instanceof Array&&arguments[0x0]instanceof _0xfddecc&&arguments[0x1]instanceof _0x26c3b7){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2];if(_0x5d7dad[_0x1a4e('0x32e')]()['distance'](_0x22b0c5['getEnvelopeInternal']())>this[_0x1a4e('0x675')])return null;for(var _0x261805=_0x5d7dad[_0x1a4e('0x397')](),_0x81bc8f=_0x22b0c5[_0x1a4e('0x28e')](),_0x234f42=0x0;_0x234f42<_0x261805['length']-0x1;_0x234f42++){var _0x153447=_0x2a79ee[_0x1a4e('0x30a')](_0x81bc8f,_0x261805[_0x234f42],_0x261805[_0x234f42+0x1]);if(_0x153447this[_0x1a4e('0x675')])return null;for(var _0x146559=_0x3376f9[_0x1a4e('0x397')](),_0x184c89=_0x5dae0e[_0x1a4e('0x397')](),_0x4198ed=0x0;_0x4198ed<_0x146559[_0x1a4e('0x1e')]-0x1;_0x4198ed++)for(var _0x41179c=0x0;_0x41179c<_0x184c89[_0x1a4e('0x1e')]-0x1;_0x41179c++){var _0x4eb09b=_0x2a79ee[_0x1a4e('0x311')](_0x146559[_0x4198ed],_0x146559[_0x4198ed+0x1],_0x184c89[_0x41179c],_0x184c89[_0x41179c+0x1]);if(_0x4eb09bthis[_0x1a4e('0x4b3')]&&this[_0x1a4e('0x654')](_0x22b0c5,_0x5ac9eb,_0x261805);}},_0x2af4c0[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x2af4c0[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2af4c0;};var _0x4c322b=function(){};_0x4c322b[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x4c322b['prototype'][_0x1a4e('0x234')]=function(){return _0x4c322b;},_0x4c322b[_0x1a4e('0x656')]=function(){if(arguments[0x2]instanceof _0x2af4c0&&arguments[0x0]instanceof _0xfddecc&&arguments[0x1]instanceof _0x517a0b)for(var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2],_0x261805=new _0x3cf489(),_0x81bc8f=_0x5d7dad[_0x1a4e('0x397')](),_0x234f42=0x0;_0x234f42<_0x81bc8f[_0x1a4e('0x1e')]-0x1;_0x234f42++){_0x261805['setCoordinates'](_0x81bc8f[_0x234f42],_0x81bc8f[_0x234f42+0x1]);var _0x153447=_0x261805[_0x1a4e('0x507')](_0x22b0c5);_0x5ac9eb['setMinimum'](_0x153447,_0x22b0c5);}else if(arguments[0x2]instanceof _0x2af4c0&&arguments[0x0]instanceof _0xec6fef&&arguments[0x1]instanceof _0x517a0b){var _0x1972c2=arguments[0x0],_0x3376f9=arguments[0x1],_0x5dae0e=arguments[0x2];_0x4c322b['computeDistance'](_0x1972c2['getExteriorRing'](),_0x3376f9,_0x5dae0e);for(var _0x3d7f02=0x0;_0x3d7f02<_0x1972c2['getNumInteriorRing']();_0x3d7f02++)_0x4c322b[_0x1a4e('0x656')](_0x1972c2['getInteriorRingN'](_0x3d7f02),_0x3376f9,_0x5dae0e);}else if(arguments[0x2]instanceof _0x2af4c0&&arguments[0x0]instanceof _0x25c10a&&arguments[0x1]instanceof _0x517a0b){var _0x146559=arguments[0x0],_0x184c89=arguments[0x1],_0x4198ed=arguments[0x2];if(_0x146559 instanceof _0xfddecc)_0x4c322b[_0x1a4e('0x656')](_0x146559,_0x184c89,_0x4198ed);else if(_0x146559 instanceof _0xec6fef)_0x4c322b[_0x1a4e('0x656')](_0x146559,_0x184c89,_0x4198ed);else if(_0x146559 instanceof _0xee49b8)for(var _0x41179c=_0x146559,_0x4eb09b=0x0;_0x4eb09b<_0x41179c[_0x1a4e('0x32b')]();_0x4eb09b++){var _0x39638f=_0x41179c[_0x1a4e('0x323')](_0x4eb09b);_0x4c322b[_0x1a4e('0x656')](_0x39638f,_0x184c89,_0x4198ed);}else _0x4198ed['setMinimum'](_0x146559['getCoordinate'](),_0x184c89);}else if(arguments[0x2]instanceof _0x2af4c0&&arguments[0x0]instanceof _0x3cf489&&arguments[0x1]instanceof _0x517a0b){var _0x40b220=arguments[0x0],_0x55366a=arguments[0x1],_0x527605=arguments[0x2],_0x4b8927=_0x40b220[_0x1a4e('0x507')](_0x55366a);_0x527605[_0x1a4e('0x653')](_0x4b8927,_0x55366a);}};var _0x3970e5=function(){this[_0x1a4e('0x67e')]=null,this[_0x1a4e('0x67f')]=null,this[_0x1a4e('0x680')]=new _0x2af4c0(),this[_0x1a4e('0x681')]=0x0;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x67e')]=_0x5d7dad,this[_0x1a4e('0x67f')]=_0x22b0c5;},_0x53010f={'MaxPointDistanceFilter':{'configurable':!0x0},'MaxDensifiedByFractionDistanceFilter':{'configurable':!0x0}};_0x3970e5[_0x1a4e('0xa')][_0x1a4e('0x397')]=function(){return this[_0x1a4e('0x680')][_0x1a4e('0x397')]();},_0x3970e5['prototype'][_0x1a4e('0x682')]=function(_0x5d7dad){if(_0x5d7dad>0x1||_0x5d7dad<=0x0)throw new _0x3eb8a2(_0x1a4e('0x683'));this['_densifyFrac']=_0x5d7dad;},_0x3970e5[_0x1a4e('0xa')][_0x1a4e('0x684')]=function(_0x5d7dad,_0x22b0c5){this['computeOrientedDistance'](_0x5d7dad,_0x22b0c5,this[_0x1a4e('0x680')]),this[_0x1a4e('0x685')](_0x22b0c5,_0x5d7dad,this[_0x1a4e('0x680')]);},_0x3970e5[_0x1a4e('0xa')][_0x1a4e('0x1ed')]=function(){return this['compute'](this['_g0'],this[_0x1a4e('0x67f')]),this['_ptDist'][_0x1a4e('0x4bb')]();},_0x3970e5[_0x1a4e('0xa')]['computeOrientedDistance']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=new _0x5127fa(_0x22b0c5);if(_0x5d7dad['apply'](_0x261805),_0x5ac9eb[_0x1a4e('0x655')](_0x261805[_0x1a4e('0x657')]()),this['_densifyFrac']>0x0){var _0x81bc8f=new _0x213069(_0x22b0c5,this[_0x1a4e('0x681')]);_0x5d7dad['apply'](_0x81bc8f),_0x5ac9eb['setMaximum'](_0x81bc8f[_0x1a4e('0x657')]());}},_0x3970e5[_0x1a4e('0xa')]['orientedDistance']=function(){return this[_0x1a4e('0x685')](this[_0x1a4e('0x67e')],this[_0x1a4e('0x67f')],this[_0x1a4e('0x680')]),this['_ptDist'][_0x1a4e('0x4bb')]();},_0x3970e5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x3970e5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x3970e5;},_0x3970e5[_0x1a4e('0x1ed')]=function(){if(0x2===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];return new _0x3970e5(_0x5d7dad,_0x22b0c5)[_0x1a4e('0x1ed')]();}if(0x3===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1],_0x81bc8f=arguments[0x2],_0x234f42=new _0x3970e5(_0x5ac9eb,_0x261805);return _0x234f42['setDensifyFraction'](_0x81bc8f),_0x234f42[_0x1a4e('0x1ed')]();}},_0x53010f[_0x1a4e('0x686')][_0x1a4e('0x179')]=function(){return _0x5127fa;},_0x53010f[_0x1a4e('0x687')]['get']=function(){return _0x213069;},Object[_0x1a4e('0x1c8')](_0x3970e5,_0x53010f);var _0x5127fa=function(){this[_0x1a4e('0x65a')]=new _0x2af4c0(),this[_0x1a4e('0x65c')]=new _0x2af4c0(),this[_0x1a4e('0x688')]=new _0x4c322b(),this[_0x1a4e('0x37e')]=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x37e')]=_0x5d7dad;};_0x5127fa[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad){this['_minPtDist'][_0x1a4e('0x654')](),_0x4c322b[_0x1a4e('0x656')](this[_0x1a4e('0x37e')],_0x5d7dad,this['_minPtDist']),this[_0x1a4e('0x65a')]['setMaximum'](this[_0x1a4e('0x65c')]);},_0x5127fa[_0x1a4e('0xa')][_0x1a4e('0x657')]=function(){return this[_0x1a4e('0x65a')];},_0x5127fa[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x4221a4];},_0x5127fa['prototype'][_0x1a4e('0x234')]=function(){return _0x5127fa;};var _0x213069=function(){this['_maxPtDist']=new _0x2af4c0(),this[_0x1a4e('0x65c')]=new _0x2af4c0(),this[_0x1a4e('0x37e')]=null,this[_0x1a4e('0x689')]=0x0;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x37e')]=_0x5d7dad,this[_0x1a4e('0x689')]=Math[_0x1a4e('0x232')](Math[_0x1a4e('0x2a')](0x1/_0x22b0c5));};_0x213069[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad,_0x22b0c5){if(0x0===_0x22b0c5)return null;for(var _0x5ac9eb=_0x5d7dad['getCoordinate'](_0x22b0c5-0x1),_0x261805=_0x5d7dad[_0x1a4e('0x28e')](_0x22b0c5),_0x81bc8f=(_0x261805['x']-_0x5ac9eb['x'])/this[_0x1a4e('0x689')],_0x234f42=(_0x261805['y']-_0x5ac9eb['y'])/this[_0x1a4e('0x689')],_0x153447=0x0;_0x153447_0x5ac9eb){this[_0x1a4e('0x68e')]=!0x1;var _0x81bc8f=_0x261805[_0x1a4e('0x397')]();this[_0x1a4e('0x68f')]=_0x81bc8f[0x1],this[_0x1a4e('0x690')]=_0x5d7dad['getFactory']()[_0x1a4e('0x2c2')](_0x81bc8f),this[_0x1a4e('0x695')]=_0x1a4e('0x696')+this[_0x1a4e('0x68d')]+_0x1a4e('0x697')+_0x183e48[_0x1a4e('0x2ef')](_0x81bc8f[0x0],_0x81bc8f[0x1])+')';}},_0x1866f6[_0x1a4e('0xa')]['isValid']=function(){var _0x5d7dad=Math[_0x1a4e('0x65')](this[_0x1a4e('0x692')]),_0x22b0c5=_0x1866f6[_0x1a4e('0x698')]*_0x5d7dad;return this[_0x1a4e('0x68a')]=_0x5d7dad-_0x22b0c5,this[_0x1a4e('0x68b')]=_0x5d7dad+_0x22b0c5,!(!this[_0x1a4e('0x691')][_0x1a4e('0x149')]()&&!this[_0x1a4e('0x2da')][_0x1a4e('0x149')]())||(this[_0x1a4e('0x692')]>0x0?this['checkPositiveValid']():this[_0x1a4e('0x699')](),_0x1866f6[_0x1a4e('0x69a')]&&_0x5b38f4[_0x1a4e('0x303')][_0x1a4e('0x304')](_0x1a4e('0x69b')+this[_0x1a4e('0x68c')]+_0x1a4e('0x69c')+(0x1-this[_0x1a4e('0x68c')]/this[_0x1a4e('0x692')])+_0x1a4e('0x69d')+this[_0x1a4e('0x68d')]+_0x1a4e('0x69c')+(this['_maxDistanceFound']/this['_bufDistance']-0x1)),this['_isValid']);},_0x1866f6[_0x1a4e('0xa')][_0x1a4e('0x699')]=function(){if(!(this[_0x1a4e('0x691')]instanceof _0xec6fef||this[_0x1a4e('0x691')]instanceof _0x204133||this[_0x1a4e('0x691')]instanceof _0xee49b8))return null;var _0x5d7dad=this['getPolygonLines'](this['_input']);if(this[_0x1a4e('0x69e')](_0x5d7dad,this['_result'],this[_0x1a4e('0x68a')]),!this['_isValid'])return null;this[_0x1a4e('0x693')](_0x5d7dad,this[_0x1a4e('0x2da')],this[_0x1a4e('0x68b')]);},_0x1866f6[_0x1a4e('0xa')][_0x1a4e('0x69f')]=function(){return this['_errorIndicator'];},_0x1866f6[_0x1a4e('0xa')][_0x1a4e('0x69e')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=new _0x3e7791(_0x5d7dad,_0x22b0c5,_0x5ac9eb);if(this['_minDistanceFound']=_0x261805[_0x1a4e('0x1ed')](),this[_0x1a4e('0x68c')]<_0x5ac9eb){this['_isValid']=!0x1;var _0x81bc8f=_0x261805[_0x1a4e('0x67d')]();this[_0x1a4e('0x68f')]=_0x261805[_0x1a4e('0x67d')]()[0x1],this[_0x1a4e('0x690')]=_0x5d7dad[_0x1a4e('0x322')]()[_0x1a4e('0x2c2')](_0x81bc8f),this['_errMsg']='Distance\x20between\x20buffer\x20curve\x20and\x20input\x20is\x20too\x20small\x20('+this[_0x1a4e('0x68c')]+_0x1a4e('0x697')+_0x183e48['toLineString'](_0x81bc8f[0x0],_0x81bc8f[0x1])+'\x20)';}},_0x1866f6[_0x1a4e('0xa')]['checkPositiveValid']=function(){var _0x5d7dad=this[_0x1a4e('0x2da')][_0x1a4e('0x37b')]();if(this[_0x1a4e('0x69e')](this[_0x1a4e('0x691')],_0x5d7dad,this[_0x1a4e('0x68a')]),!this[_0x1a4e('0x68e')])return null;this[_0x1a4e('0x693')](this[_0x1a4e('0x691')],_0x5d7dad,this[_0x1a4e('0x68b')]);},_0x1866f6['prototype'][_0x1a4e('0x6a0')]=function(){return this[_0x1a4e('0x68f')];},_0x1866f6[_0x1a4e('0xa')][_0x1a4e('0x6a1')]=function(_0x5d7dad){for(var _0x22b0c5=new _0x389784(),_0x5ac9eb=new _0x1919eb(_0x22b0c5),_0x261805=_0x594990[_0x1a4e('0x49d')](_0x5d7dad)[_0x1a4e('0x335')]();_0x261805[_0x1a4e('0x336')]();)_0x261805[_0x1a4e('0x7e')]()[_0x1a4e('0x8b')](_0x5ac9eb);return _0x5d7dad[_0x1a4e('0x322')]()[_0x1a4e('0x3d8')](_0x22b0c5);},_0x1866f6[_0x1a4e('0xa')][_0x1a4e('0x6a2')]=function(){return this[_0x1a4e('0x695')];},_0x1866f6[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x1866f6[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1866f6;},_0x564d6c['VERBOSE'][_0x1a4e('0x179')]=function(){return!0x1;},_0x564d6c[_0x1a4e('0x698')][_0x1a4e('0x179')]=function(){return 0.012;},Object[_0x1a4e('0x1c8')](_0x1866f6,_0x564d6c);var _0x244eb4=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){this[_0x1a4e('0x68e')]=!0x0,this[_0x1a4e('0x6a3')]=null,this[_0x1a4e('0x68f')]=null,this[_0x1a4e('0x690')]=null,this[_0x1a4e('0x691')]=_0x5d7dad||null,this[_0x1a4e('0x4b3')]=_0x22b0c5||null,this[_0x1a4e('0x2da')]=_0x5ac9eb||null;},_0x3d3ae7={'VERBOSE':{'configurable':!0x0},'MAX_ENV_DIFF_FRAC':{'configurable':!0x0}};_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x1c3')]=function(){return this[_0x1a4e('0x6a4')](),this['_isValid']?(this['checkExpectedEmpty'](),this[_0x1a4e('0x68e')]?(this['checkEnvelope'](),this[_0x1a4e('0x68e')]?(this[_0x1a4e('0x6a5')](),this[_0x1a4e('0x68e')]?(this[_0x1a4e('0x6a6')](),this[_0x1a4e('0x68e')]):this['_isValid']):this[_0x1a4e('0x68e')]):this['_isValid']):this['_isValid'];},_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x6a7')]=function(){if(this['_distance']<0x0)return null;var _0x5d7dad=this['_distance']*_0x244eb4[_0x1a4e('0x6a8')];0x0===_0x5d7dad&&(_0x5d7dad=0.001);var _0x22b0c5=new _0x322dd2(this[_0x1a4e('0x691')]['getEnvelopeInternal']());_0x22b0c5[_0x1a4e('0x2aa')](this[_0x1a4e('0x4b3')]);var _0x5ac9eb=new _0x322dd2(this[_0x1a4e('0x2da')][_0x1a4e('0x32e')]());_0x5ac9eb[_0x1a4e('0x2aa')](_0x5d7dad),_0x5ac9eb[_0x1a4e('0x2ac')](_0x22b0c5)||(this[_0x1a4e('0x68e')]=!0x1,this['_errorMsg']='Buffer\x20envelope\x20is\x20incorrect',this[_0x1a4e('0x690')]=this[_0x1a4e('0x691')]['getFactory']()['toGeometry'](_0x5ac9eb)),this[_0x1a4e('0x6a9')](_0x1a4e('0x6aa'));},_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x6a6')]=function(){var _0x5d7dad=new _0x1866f6(this[_0x1a4e('0x691')],this['_distance'],this[_0x1a4e('0x2da')]);_0x5d7dad[_0x1a4e('0x1c3')]()||(this['_isValid']=!0x1,this[_0x1a4e('0x6a3')]=_0x5d7dad[_0x1a4e('0x6a2')](),this[_0x1a4e('0x68f')]=_0x5d7dad[_0x1a4e('0x6a0')](),this[_0x1a4e('0x690')]=_0x5d7dad['getErrorIndicator']()),this[_0x1a4e('0x6a9')]('Distance');},_0x244eb4[_0x1a4e('0xa')]['checkArea']=function(){var _0x5d7dad=this[_0x1a4e('0x691')][_0x1a4e('0x29a')](),_0x22b0c5=this['_result']['getArea']();this[_0x1a4e('0x4b3')]>0x0&&_0x5d7dad>_0x22b0c5&&(this['_isValid']=!0x1,this[_0x1a4e('0x6a3')]=_0x1a4e('0x6ab'),this['_errorIndicator']=this[_0x1a4e('0x2da')]),this['_distance']<0x0&&_0x5d7dad<_0x22b0c5&&(this[_0x1a4e('0x68e')]=!0x1,this[_0x1a4e('0x6a3')]=_0x1a4e('0x6ac'),this['_errorIndicator']=this['_result']),this[_0x1a4e('0x6a9')]('Area');},_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x6a4')]=function(){this[_0x1a4e('0x2da')]instanceof _0xec6fef||this[_0x1a4e('0x2da')]instanceof _0x204133||(this['_isValid']=!0x1),this[_0x1a4e('0x6a3')]=_0x1a4e('0x6ad'),this['_errorIndicator']=this[_0x1a4e('0x2da')],this[_0x1a4e('0x6a9')](_0x1a4e('0x6ae'));},_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x69f')]=function(){return this[_0x1a4e('0x690')];},_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x6a0')]=function(){return this['_errorLocation'];},_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x6af')]=function(){return this[_0x1a4e('0x691')][_0x1a4e('0x290')]()>=0x2?null:this[_0x1a4e('0x4b3')]>0x0?null:(this[_0x1a4e('0x2da')][_0x1a4e('0x149')]()||(this['_isValid']=!0x1,this['_errorMsg']=_0x1a4e('0x6b0'),this[_0x1a4e('0x690')]=this['_result']),void this['report'](_0x1a4e('0x6b1')));},_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x6a9')]=function(_0x5d7dad){if(!_0x244eb4[_0x1a4e('0x69a')])return null;_0x5b38f4[_0x1a4e('0x303')]['println']('Check\x20'+_0x5d7dad+':\x20'+(this[_0x1a4e('0x68e')]?_0x1a4e('0x6b2'):_0x1a4e('0x6b3')));},_0x244eb4[_0x1a4e('0xa')]['getErrorMessage']=function(){return this['_errorMsg'];},_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x244eb4[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x244eb4;},_0x244eb4['isValidMsg']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=new _0x244eb4(_0x5d7dad,_0x22b0c5,_0x5ac9eb);return _0x261805['isValid']()?null:_0x261805[_0x1a4e('0x6a2')]();},_0x244eb4[_0x1a4e('0x1c3')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return!!new _0x244eb4(_0x5d7dad,_0x22b0c5,_0x5ac9eb)['isValid']();},_0x3d3ae7[_0x1a4e('0x69a')][_0x1a4e('0x179')]=function(){return!0x1;},_0x3d3ae7['MAX_ENV_DIFF_FRAC'][_0x1a4e('0x179')]=function(){return 0.012;},Object[_0x1a4e('0x1c8')](_0x244eb4,_0x3d3ae7);var _0x58442b=function(){this[_0x1a4e('0x42f')]=null,this['_data']=null;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x42f')]=_0x5d7dad,this[_0x1a4e('0x4f8')]=_0x22b0c5;};_0x58442b[_0x1a4e('0xa')][_0x1a4e('0x397')]=function(){return this[_0x1a4e('0x42f')];},_0x58442b[_0x1a4e('0xa')][_0x1a4e('0x220')]=function(){return this[_0x1a4e('0x42f')]['length'];},_0x58442b[_0x1a4e('0xa')][_0x1a4e('0x28e')]=function(_0x5d7dad){return this[_0x1a4e('0x42f')][_0x5d7dad];},_0x58442b[_0x1a4e('0xa')][_0x1a4e('0x37d')]=function(){return this[_0x1a4e('0x42f')][0x0][_0x1a4e('0x23e')](this[_0x1a4e('0x42f')][this[_0x1a4e('0x42f')][_0x1a4e('0x1e')]-0x1]);},_0x58442b['prototype'][_0x1a4e('0x4f1')]=function(_0x5d7dad){return _0x5d7dad===this['_pts']['length']-0x1?-0x1:_0x2d944a[_0x1a4e('0x4f4')](this[_0x1a4e('0x28e')](_0x5d7dad),this[_0x1a4e('0x28e')](_0x5d7dad+0x1));},_0x58442b[_0x1a4e('0xa')][_0x1a4e('0x4fa')]=function(_0x5d7dad){this['_data']=_0x5d7dad;},_0x58442b['prototype'][_0x1a4e('0x4f0')]=function(){return this['_data'];},_0x58442b['prototype']['toString']=function(){return _0x183e48['toLineString'](new _0xae22be(this[_0x1a4e('0x42f')]));},_0x58442b[_0x1a4e('0xa')]['interfaces_']=function(){return[_0x3f8261];},_0x58442b[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x58442b;};var _0x1d2c05=function(){this['_findAllIntersections']=!0x1,this[_0x1a4e('0x6b4')]=!0x1,this['_li']=null,this[_0x1a4e('0x6b5')]=null,this[_0x1a4e('0x6b6')]=null,this['_intersections']=new _0x389784(),this[_0x1a4e('0x6b7')]=0x0,this[_0x1a4e('0x6b8')]=!0x0;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x56e')]=_0x5d7dad,this['_interiorIntersection']=null;};_0x1d2c05[_0x1a4e('0xa')]['getInteriorIntersection']=function(){return this[_0x1a4e('0x6b5')];},_0x1d2c05[_0x1a4e('0xa')]['setCheckEndSegmentsOnly']=function(_0x5d7dad){this[_0x1a4e('0x6b4')]=_0x5d7dad;},_0x1d2c05['prototype'][_0x1a4e('0x6b9')]=function(){return this[_0x1a4e('0x6b6')];},_0x1d2c05[_0x1a4e('0xa')][_0x1a4e('0x389')]=function(){return this[_0x1a4e('0x6b7')];},_0x1d2c05[_0x1a4e('0xa')]['getIntersections']=function(){return this[_0x1a4e('0x6ba')];},_0x1d2c05[_0x1a4e('0xa')][_0x1a4e('0x6bb')]=function(_0x5d7dad){this[_0x1a4e('0x6bc')]=_0x5d7dad;},_0x1d2c05['prototype'][_0x1a4e('0x6bd')]=function(_0x5d7dad){this[_0x1a4e('0x6b8')]=_0x5d7dad;},_0x1d2c05[_0x1a4e('0xa')][_0x1a4e('0x531')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(!this[_0x1a4e('0x6bc')]&&this[_0x1a4e('0x2e6')]())return null;if(_0x5d7dad===_0x5ac9eb&&_0x22b0c5===_0x261805)return null;if(this[_0x1a4e('0x6b4')]&&!this['isEndSegment'](_0x5d7dad,_0x22b0c5)&&!this[_0x1a4e('0x6be')](_0x5ac9eb,_0x261805))return null;var _0x81bc8f=_0x5d7dad['getCoordinates']()[_0x22b0c5],_0x234f42=_0x5d7dad['getCoordinates']()[_0x22b0c5+0x1],_0x153447=_0x5ac9eb[_0x1a4e('0x397')]()[_0x261805],_0x1972c2=_0x5ac9eb[_0x1a4e('0x397')]()[_0x261805+0x1];this[_0x1a4e('0x56e')]['computeIntersection'](_0x81bc8f,_0x234f42,_0x153447,_0x1972c2),this[_0x1a4e('0x56e')][_0x1a4e('0x2e6')]()&&this[_0x1a4e('0x56e')][_0x1a4e('0x2e8')]()&&(this[_0x1a4e('0x6b6')]=new Array(0x4)['fill'](null),this[_0x1a4e('0x6b6')][0x0]=_0x81bc8f,this[_0x1a4e('0x6b6')][0x1]=_0x234f42,this[_0x1a4e('0x6b6')][0x2]=_0x153447,this[_0x1a4e('0x6b6')][0x3]=_0x1972c2,this[_0x1a4e('0x6b5')]=this['_li']['getIntersection'](0x0),this[_0x1a4e('0x6b8')]&&this[_0x1a4e('0x6ba')][_0x1a4e('0x177')](this['_interiorIntersection']),this['_intersectionCount']++);},_0x1d2c05['prototype'][_0x1a4e('0x6be')]=function(_0x5d7dad,_0x22b0c5){return 0x0===_0x22b0c5||_0x22b0c5>=_0x5d7dad['size']()-0x2;},_0x1d2c05['prototype'][_0x1a4e('0x2e6')]=function(){return null!==this[_0x1a4e('0x6b5')];},_0x1d2c05[_0x1a4e('0xa')][_0x1a4e('0x37a')]=function(){return!this[_0x1a4e('0x6bc')]&&null!==this[_0x1a4e('0x6b5')];},_0x1d2c05[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x48eaeb];},_0x1d2c05['prototype'][_0x1a4e('0x234')]=function(){return _0x1d2c05;},_0x1d2c05[_0x1a4e('0x6bf')]=function(_0x5d7dad){var _0x22b0c5=new _0x1d2c05(_0x5d7dad);return _0x22b0c5[_0x1a4e('0x6bb')](!0x0),_0x22b0c5;},_0x1d2c05[_0x1a4e('0x6c0')]=function(_0x5d7dad){return new _0x1d2c05(_0x5d7dad);},_0x1d2c05[_0x1a4e('0x6c1')]=function(_0x5d7dad){var _0x22b0c5=new _0x1d2c05(_0x5d7dad);return _0x22b0c5[_0x1a4e('0x6bb')](!0x0),_0x22b0c5[_0x1a4e('0x6bd')](!0x1),_0x22b0c5;};var _0x2fb021=function(){this[_0x1a4e('0x56e')]=new _0x21d54a(),this[_0x1a4e('0x61e')]=null,this['_findAllIntersections']=!0x1,this[_0x1a4e('0x525')]=null,this[_0x1a4e('0x68e')]=!0x0;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x61e')]=_0x5d7dad;};_0x2fb021[_0x1a4e('0xa')]['execute']=function(){if(null!==this[_0x1a4e('0x525')])return null;this[_0x1a4e('0x621')]();},_0x2fb021[_0x1a4e('0xa')][_0x1a4e('0x6c2')]=function(){return this[_0x1a4e('0x525')][_0x1a4e('0x6c2')]();},_0x2fb021[_0x1a4e('0xa')][_0x1a4e('0x1c3')]=function(){return this[_0x1a4e('0x6c3')](),this[_0x1a4e('0x68e')];},_0x2fb021[_0x1a4e('0xa')][_0x1a4e('0x6bb')]=function(_0x5d7dad){this[_0x1a4e('0x6bc')]=_0x5d7dad;},_0x2fb021['prototype']['checkInteriorIntersections']=function(){this[_0x1a4e('0x68e')]=!0x0,this[_0x1a4e('0x525')]=new _0x1d2c05(this[_0x1a4e('0x56e')]),this['_segInt'][_0x1a4e('0x6bb')](this[_0x1a4e('0x6bc')]);var _0x5d7dad=new _0x56dd7f();if(_0x5d7dad['setSegmentIntersector'](this[_0x1a4e('0x525')]),_0x5d7dad[_0x1a4e('0x524')](this[_0x1a4e('0x61e')]),this[_0x1a4e('0x525')]['hasIntersection']())return this['_isValid']=!0x1,null;},_0x2fb021[_0x1a4e('0xa')][_0x1a4e('0x622')]=function(){if(this[_0x1a4e('0x6c3')](),!this['_isValid'])throw new _0x2749a6(this[_0x1a4e('0x6a2')](),this['_segInt'][_0x1a4e('0x6c4')]());},_0x2fb021[_0x1a4e('0xa')][_0x1a4e('0x6a2')]=function(){if(this[_0x1a4e('0x68e')])return _0x1a4e('0x6c5');var _0x5d7dad=this[_0x1a4e('0x525')][_0x1a4e('0x6b9')]();return'found\x20non-noded\x20intersection\x20between\x20'+_0x183e48[_0x1a4e('0x2ef')](_0x5d7dad[0x0],_0x5d7dad[0x1])+'\x20and\x20'+_0x183e48[_0x1a4e('0x2ef')](_0x5d7dad[0x2],_0x5d7dad[0x3]);},_0x2fb021[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x2fb021[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2fb021;},_0x2fb021['computeIntersections']=function(_0x5d7dad){var _0x22b0c5=new _0x2fb021(_0x5d7dad);return _0x22b0c5[_0x1a4e('0x6bb')](!0x0),_0x22b0c5['isValid'](),_0x22b0c5[_0x1a4e('0x6c2')]();};var _0x1b9398=function _0x5d7dad(){this['_nv']=null;var _0x22b0c5=arguments[0x0];this[_0x1a4e('0x6c6')]=new _0x2fb021(_0x5d7dad[_0x1a4e('0x6c7')](_0x22b0c5));};_0x1b9398[_0x1a4e('0xa')][_0x1a4e('0x622')]=function(){this['_nv'][_0x1a4e('0x622')]();},_0x1b9398[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x1b9398[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1b9398;},_0x1b9398['toSegmentStrings']=function(_0x5d7dad){for(var _0x22b0c5=new _0x389784(),_0x5ac9eb=_0x5d7dad['iterator']();_0x5ac9eb[_0x1a4e('0x336')]();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')]();_0x22b0c5[_0x1a4e('0x177')](new _0x58442b(_0x261805[_0x1a4e('0x397')](),_0x261805));}return _0x22b0c5;},_0x1b9398[_0x1a4e('0x622')]=function(_0x5d7dad){new _0x1b9398(_0x5d7dad)[_0x1a4e('0x622')]();};var _0x4f6ca4=function(_0x5d7dad){this[_0x1a4e('0x6c8')]=_0x5d7dad;};_0x4f6ca4[_0x1a4e('0xa')][_0x1a4e('0x21')]=function(_0x5d7dad){for(var _0x22b0c5=new _0x389784(),_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x32b')]();_0x5ac9eb++){var _0x261805=this['_mapOp']['map'](_0x5d7dad[_0x1a4e('0x323')](_0x5ac9eb));_0x261805[_0x1a4e('0x149')]()||_0x22b0c5[_0x1a4e('0x177')](_0x261805);}return _0x5d7dad[_0x1a4e('0x322')]()[_0x1a4e('0x2c9')](_0x5b3e72['toGeometryArray'](_0x22b0c5));},_0x4f6ca4[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x4f6ca4[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x4f6ca4;},_0x4f6ca4[_0x1a4e('0x21')]=function(_0x5d7dad,_0x22b0c5){return new _0x4f6ca4(_0x22b0c5)[_0x1a4e('0x21')](_0x5d7dad);};var _0x9e8588=function(){this['_op']=null,this[_0x1a4e('0x432')]=null,this[_0x1a4e('0x671')]=null,this['_lineEdgesList']=new _0x389784(),this[_0x1a4e('0x6c9')]=new _0x389784();var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2];this[_0x1a4e('0x6ca')]=_0x5d7dad,this[_0x1a4e('0x432')]=_0x22b0c5,this[_0x1a4e('0x671')]=_0x5ac9eb;};_0x9e8588[_0x1a4e('0xa')][_0x1a4e('0x6cb')]=function(_0x5d7dad){for(var _0x22b0c5=this[_0x1a4e('0x6ca')][_0x1a4e('0x6cc')]()[_0x1a4e('0x492')]()[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5['next']();this[_0x1a4e('0x6cd')](_0x5ac9eb,_0x5d7dad,this[_0x1a4e('0x6ce')]),this['collectBoundaryTouchEdge'](_0x5ac9eb,_0x5d7dad,this[_0x1a4e('0x6ce')]);}},_0x9e8588[_0x1a4e('0xa')][_0x1a4e('0x6cf')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=this[_0x1a4e('0x671')][_0x1a4e('0x5bf')](_0x5d7dad[_0x1a4e('0x28e')](),this[_0x1a4e('0x6ca')][_0x1a4e('0x6d0')](_0x22b0c5));_0x5d7dad[_0x1a4e('0x43a')]()[_0x1a4e('0x422')](_0x22b0c5,_0x5ac9eb);},_0x9e8588['prototype'][_0x1a4e('0x4c6')]=function(_0x5d7dad){return this[_0x1a4e('0x5db')](),this[_0x1a4e('0x6cb')](_0x5d7dad),this['buildLines'](_0x5d7dad),this[_0x1a4e('0x6c9')];},_0x9e8588[_0x1a4e('0xa')][_0x1a4e('0x6cd')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x43a')](),_0x81bc8f=_0x5d7dad[_0x1a4e('0x3f4')]();_0x5d7dad[_0x1a4e('0x481')]()&&(_0x5d7dad[_0x1a4e('0x40a')]()||!_0x3d3ad9[_0x1a4e('0x6d1')](_0x261805,_0x22b0c5)||_0x81bc8f[_0x1a4e('0x44f')]()||(_0x5ac9eb['add'](_0x81bc8f),_0x5d7dad[_0x1a4e('0x6d2')](!0x0)));},_0x9e8588['prototype'][_0x1a4e('0x5db')]=function(){for(var _0x5d7dad=this['_op'][_0x1a4e('0x6cc')]()[_0x1a4e('0x418')]()[_0x1a4e('0x335')]();_0x5d7dad['hasNext']();)_0x5d7dad['next']()[_0x1a4e('0x3f7')]()[_0x1a4e('0x5db')]();for(var _0x22b0c5=this[_0x1a4e('0x6ca')][_0x1a4e('0x6cc')]()[_0x1a4e('0x492')]()[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')](),_0x261805=_0x5ac9eb[_0x1a4e('0x3f4')]();if(_0x5ac9eb[_0x1a4e('0x481')]()&&!_0x261805[_0x1a4e('0x450')]()){var _0x81bc8f=this[_0x1a4e('0x6ca')]['isCoveredByA'](_0x5ac9eb[_0x1a4e('0x28e')]());_0x261805[_0x1a4e('0x452')](_0x81bc8f);}}},_0x9e8588[_0x1a4e('0xa')][_0x1a4e('0x6d3')]=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')](),_0x261805=_0x5ac9eb[_0x1a4e('0x43a')]();_0x5ac9eb[_0x1a4e('0x435')]()&&(_0x261805['isNull'](0x0)?this[_0x1a4e('0x6cf')](_0x5ac9eb,0x0):this[_0x1a4e('0x6cf')](_0x5ac9eb,0x1));}},_0x9e8588[_0x1a4e('0xa')][_0x1a4e('0x6d4')]=function(_0x5d7dad){for(var _0x22b0c5=this['_lineEdgesList'][_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')](),_0x261805=this[_0x1a4e('0x432')][_0x1a4e('0x2c2')](_0x5ac9eb[_0x1a4e('0x397')]());this[_0x1a4e('0x6c9')][_0x1a4e('0x177')](_0x261805),_0x5ac9eb['setInResult'](!0x0);}},_0x9e8588[_0x1a4e('0xa')]['collectBoundaryTouchEdge']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad[_0x1a4e('0x43a')]();return _0x5d7dad[_0x1a4e('0x481')]()?null:_0x5d7dad[_0x1a4e('0x40a')]()?null:_0x5d7dad[_0x1a4e('0x414')]()?null:_0x5d7dad[_0x1a4e('0x3f4')]()[_0x1a4e('0x457')]()?null:(_0x1e33dc[_0x1a4e('0x2d0')](!(_0x5d7dad['isInResult']()||_0x5d7dad['getSym']()[_0x1a4e('0x457')]())||!_0x5d7dad[_0x1a4e('0x3f4')]()['isInResult']()),void(_0x3d3ad9[_0x1a4e('0x6d1')](_0x261805,_0x22b0c5)&&_0x22b0c5===_0x3d3ad9[_0x1a4e('0x6d5')]&&(_0x5ac9eb[_0x1a4e('0x177')](_0x5d7dad[_0x1a4e('0x3f4')]()),_0x5d7dad[_0x1a4e('0x6d2')](!0x0))));},_0x9e8588['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x9e8588[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x9e8588;};var _0x4d626d=function(){this[_0x1a4e('0x6ca')]=null,this[_0x1a4e('0x432')]=null,this['_resultPointList']=new _0x389784();var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this[_0x1a4e('0x6ca')]=_0x5d7dad,this[_0x1a4e('0x432')]=_0x22b0c5;};_0x4d626d[_0x1a4e('0xa')][_0x1a4e('0x6d6')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x28e')]();if(!this[_0x1a4e('0x6ca')][_0x1a4e('0x6d7')](_0x22b0c5)){var _0x5ac9eb=this[_0x1a4e('0x432')][_0x1a4e('0x2bc')](_0x22b0c5);this[_0x1a4e('0x6d8')][_0x1a4e('0x177')](_0x5ac9eb);}},_0x4d626d[_0x1a4e('0xa')]['extractNonCoveredResultNodes']=function(_0x5d7dad){for(var _0x22b0c5=this[_0x1a4e('0x6ca')][_0x1a4e('0x6cc')]()[_0x1a4e('0x418')]()[_0x1a4e('0x335')]();_0x22b0c5['hasNext']();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();if(!(_0x5ac9eb[_0x1a4e('0x457')]()||_0x5ac9eb[_0x1a4e('0x456')]()||0x0!==_0x5ac9eb[_0x1a4e('0x3f7')]()[_0x1a4e('0x5ce')]()&&_0x5d7dad!==_0x3d3ad9[_0x1a4e('0x6d5')])){var _0x261805=_0x5ac9eb[_0x1a4e('0x43a')]();_0x3d3ad9['isResultOfOp'](_0x261805,_0x5d7dad)&&this['filterCoveredNodeToPoint'](_0x5ac9eb);}}},_0x4d626d[_0x1a4e('0xa')][_0x1a4e('0x4c6')]=function(_0x5d7dad){return this['extractNonCoveredResultNodes'](_0x5d7dad),this[_0x1a4e('0x6d8')];},_0x4d626d[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x4d626d[_0x1a4e('0xa')]['getClass']=function(){return _0x4d626d;};var _0x87e9c3=function(){this[_0x1a4e('0x5ae')]=null,this[_0x1a4e('0x31c')]=null,this[_0x1a4e('0x6d9')]=!0x0,this[_0x1a4e('0x6da')]=!0x0,this[_0x1a4e('0x6db')]=!0x1,this[_0x1a4e('0x6dc')]=!0x1;};_0x87e9c3[_0x1a4e('0xa')]['transformPoint']=function(_0x5d7dad,_0x22b0c5){return this[_0x1a4e('0x31c')]['createPoint'](this[_0x1a4e('0x6dd')](_0x5d7dad['getCoordinateSequence'](),_0x5d7dad));},_0x87e9c3[_0x1a4e('0xa')]['transformPolygon']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=!0x0,_0x261805=this['transformLinearRing'](_0x5d7dad[_0x1a4e('0x3a8')](),_0x5d7dad);null!==_0x261805&&_0x261805 instanceof _0x5d75e4&&!_0x261805[_0x1a4e('0x149')]()||(_0x5ac9eb=!0x1);for(var _0x81bc8f=new _0x389784(),_0x234f42=0x0;_0x234f42<_0x5d7dad[_0x1a4e('0x3a6')]();_0x234f42++){var _0x153447=this[_0x1a4e('0x6de')](_0x5d7dad[_0x1a4e('0x3a9')](_0x234f42),_0x5d7dad);null===_0x153447||_0x153447[_0x1a4e('0x149')]()||(_0x153447 instanceof _0x5d75e4||(_0x5ac9eb=!0x1),_0x81bc8f[_0x1a4e('0x177')](_0x153447));}if(_0x5ac9eb)return this[_0x1a4e('0x31c')][_0x1a4e('0x2c6')](_0x261805,_0x81bc8f[_0x1a4e('0x347')]([]));var _0x1972c2=new _0x389784();return null!==_0x261805&&_0x1972c2[_0x1a4e('0x177')](_0x261805),_0x1972c2[_0x1a4e('0x344')](_0x81bc8f),this[_0x1a4e('0x31c')][_0x1a4e('0x3d8')](_0x1972c2);},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0x6df')]=function(_0x5d7dad){return this[_0x1a4e('0x31c')][_0x1a4e('0x39b')]()[_0x1a4e('0x7')](_0x5d7dad);},_0x87e9c3['prototype'][_0x1a4e('0x6e0')]=function(){return this[_0x1a4e('0x5ae')];},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0x6e1')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=new _0x389784(),_0x261805=0x0;_0x261805<_0x5d7dad['getNumGeometries']();_0x261805++){var _0x81bc8f=this[_0x1a4e('0x6e2')](_0x5d7dad['getGeometryN'](_0x261805),_0x5d7dad);null!==_0x81bc8f&&(_0x81bc8f[_0x1a4e('0x149')]()||_0x5ac9eb['add'](_0x81bc8f));}return this[_0x1a4e('0x31c')]['buildGeometry'](_0x5ac9eb);},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0x6dd')]=function(_0x5d7dad,_0x22b0c5){return this[_0x1a4e('0xea')](_0x5d7dad);},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0x6e2')]=function(_0x5d7dad,_0x22b0c5){return this[_0x1a4e('0x31c')][_0x1a4e('0x2c2')](this[_0x1a4e('0x6dd')](_0x5d7dad['getCoordinateSequence'](),_0x5d7dad));},_0x87e9c3[_0x1a4e('0xa')]['transformMultiPoint']=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=new _0x389784(),_0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x32b')]();_0x261805++){var _0x81bc8f=this['transformPoint'](_0x5d7dad['getGeometryN'](_0x261805),_0x5d7dad);null!==_0x81bc8f&&(_0x81bc8f[_0x1a4e('0x149')]()||_0x5ac9eb['add'](_0x81bc8f));}return this['_factory']['buildGeometry'](_0x5ac9eb);},_0x87e9c3[_0x1a4e('0xa')]['transformMultiPolygon']=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=new _0x389784(),_0x261805=0x0;_0x261805<_0x5d7dad['getNumGeometries']();_0x261805++){var _0x81bc8f=this[_0x1a4e('0x6e3')](_0x5d7dad[_0x1a4e('0x323')](_0x261805),_0x5d7dad);null!==_0x81bc8f&&(_0x81bc8f[_0x1a4e('0x149')]()||_0x5ac9eb[_0x1a4e('0x177')](_0x81bc8f));}return this[_0x1a4e('0x31c')]['buildGeometry'](_0x5ac9eb);},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0xea')]=function(_0x5d7dad){return _0x5d7dad['copy']();},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0x6e4')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=new _0x389784(),_0x261805=0x0;_0x261805<_0x5d7dad['getNumGeometries']();_0x261805++){var _0x81bc8f=this['transform'](_0x5d7dad[_0x1a4e('0x323')](_0x261805));null!==_0x81bc8f&&(this[_0x1a4e('0x6d9')]&&_0x81bc8f['isEmpty']()||_0x5ac9eb[_0x1a4e('0x177')](_0x81bc8f));}return this[_0x1a4e('0x6da')]?this[_0x1a4e('0x31c')][_0x1a4e('0x2c9')](_0x5b3e72['toGeometryArray'](_0x5ac9eb)):this[_0x1a4e('0x31c')][_0x1a4e('0x3d8')](_0x5ac9eb);},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0x93')]=function(_0x5d7dad){if(this['_inputGeom']=_0x5d7dad,this[_0x1a4e('0x31c')]=_0x5d7dad[_0x1a4e('0x322')](),_0x5d7dad instanceof _0x26c3b7)return this['transformPoint'](_0x5d7dad,null);if(_0x5d7dad instanceof _0x89994c)return this[_0x1a4e('0x6e5')](_0x5d7dad,null);if(_0x5d7dad instanceof _0x5d75e4)return this[_0x1a4e('0x6de')](_0x5d7dad,null);if(_0x5d7dad instanceof _0xfddecc)return this[_0x1a4e('0x6e2')](_0x5d7dad,null);if(_0x5d7dad instanceof _0x43e875)return this[_0x1a4e('0x6e1')](_0x5d7dad,null);if(_0x5d7dad instanceof _0xec6fef)return this[_0x1a4e('0x6e3')](_0x5d7dad,null);if(_0x5d7dad instanceof _0x204133)return this['transformMultiPolygon'](_0x5d7dad,null);if(_0x5d7dad instanceof _0xee49b8)return this[_0x1a4e('0x6e4')](_0x5d7dad,null);throw new _0x3eb8a2(_0x1a4e('0x6e6')+_0x5d7dad[_0x1a4e('0x234')]()[_0x1a4e('0x3b6')]());},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0x6de')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=this['transformCoordinates'](_0x5d7dad[_0x1a4e('0x39a')](),_0x5d7dad);if(null===_0x5ac9eb)return this[_0x1a4e('0x31c')]['createLinearRing'](null);var _0x261805=_0x5ac9eb[_0x1a4e('0x220')]();return _0x261805>0x0&&_0x261805<0x4&&!this['_preserveType']?this['_factory'][_0x1a4e('0x2c2')](_0x5ac9eb):this['_factory'][_0x1a4e('0x2c3')](_0x5ac9eb);},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x87e9c3[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x87e9c3;};var _0x284ffc=function _0x5d7dad(){if(this[_0x1a4e('0x6e7')]=0x0,this[_0x1a4e('0x6e8')]=null,this[_0x1a4e('0x59f')]=new _0x3cf489(),this[_0x1a4e('0x6e9')]=!0x1,this['_isClosed']=!0x1,arguments[0x0]instanceof _0xfddecc&&'number'==typeof arguments[0x1]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];_0x5d7dad['call'](this,_0x22b0c5['getCoordinates'](),_0x5ac9eb);}else if(arguments[0x0]instanceof Array&&_0x1a4e('0x3d')==typeof arguments[0x1]){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1];this[_0x1a4e('0x6e8')]=_0x261805,this[_0x1a4e('0x6ea')]=_0x5d7dad[_0x1a4e('0x37d')](_0x261805),this[_0x1a4e('0x6e7')]=_0x81bc8f;}};_0x284ffc[_0x1a4e('0xa')][_0x1a4e('0x6eb')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=this[_0x1a4e('0x6ea')]?_0x5d7dad['size']()-0x1:_0x5d7dad[_0x1a4e('0x220')](),_0x261805=0x0;_0x261805<_0x5ac9eb;_0x261805++){var _0x81bc8f=_0x5d7dad['get'](_0x261805),_0x234f42=this['findSnapForVertex'](_0x81bc8f,_0x22b0c5);null!==_0x234f42&&(_0x5d7dad[_0x1a4e('0x17a')](_0x261805,new _0x517a0b(_0x234f42)),0x0===_0x261805&&this[_0x1a4e('0x6ea')]&&_0x5d7dad[_0x1a4e('0x17a')](_0x5d7dad['size']()-0x1,new _0x517a0b(_0x234f42)));}},_0x284ffc['prototype'][_0x1a4e('0x6ec')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5['length'];_0x5ac9eb++){if(_0x5d7dad[_0x1a4e('0x23b')](_0x22b0c5[_0x5ac9eb]))return null;if(_0x5d7dad[_0x1a4e('0x1ed')](_0x22b0c5[_0x5ac9eb])=0x0&&_0x5d7dad[_0x1a4e('0x177')](_0x234f42+0x1,new _0x517a0b(_0x81bc8f),!0x1);}},_0x284ffc[_0x1a4e('0xa')]['findSegmentIndexToSnap']=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x104610[_0x1a4e('0x201')],_0x261805=-0x1,_0x81bc8f=0x0;_0x81bc8f<_0x22b0c5[_0x1a4e('0x220')]()-0x1;_0x81bc8f++){if(this[_0x1a4e('0x59f')]['p0']=_0x22b0c5[_0x1a4e('0x179')](_0x81bc8f),this[_0x1a4e('0x59f')]['p1']=_0x22b0c5['get'](_0x81bc8f+0x1),this[_0x1a4e('0x59f')]['p0']['equals2D'](_0x5d7dad)||this[_0x1a4e('0x59f')]['p1'][_0x1a4e('0x23b')](_0x5d7dad)){if(this[_0x1a4e('0x6e9')])continue;return-0x1;}var _0x234f42=this['_seg']['distance'](_0x5d7dad);_0x234f42_0x22b0c5&&(_0x22b0c5=_0x261805);}return _0x22b0c5;}if(0x2===arguments['length']){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1];return Math[_0x1a4e('0x74')](_0x2e7ce5['computeOverlaySnapTolerance'](_0x81bc8f),_0x2e7ce5['computeOverlaySnapTolerance'](_0x234f42));}},_0x2e7ce5[_0x1a4e('0x6f5')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x32e')]();return Math[_0x1a4e('0x74')](_0x22b0c5[_0x1a4e('0x29c')](),_0x22b0c5[_0x1a4e('0x29b')]())*_0x2e7ce5[_0x1a4e('0x6f6')];},_0x2e7ce5[_0x1a4e('0x6f2')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return new _0x2e7ce5(_0x5d7dad)[_0x1a4e('0x6f2')](_0x22b0c5,_0x5ac9eb);},_0x3e338c[_0x1a4e('0x6f6')][_0x1a4e('0x179')]=function(){return 1e-9;},Object[_0x1a4e('0x1c8')](_0x2e7ce5,_0x3e338c);var _0xfa7048=function(_0x5d7dad){function _0x22b0c5(_0x22b0c5,_0x5ac9eb,_0x261805){_0x5d7dad[_0x1a4e('0x1')](this),this['_snapTolerance']=_0x22b0c5||null,this[_0x1a4e('0x6f7')]=_0x5ac9eb||null,this[_0x1a4e('0x6f8')]=void 0x0!==_0x261805&&_0x261805;}return _0x5d7dad&&(_0x22b0c5['__proto__']=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object['create'](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')]['snapLine']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=new _0x284ffc(_0x5d7dad,this[_0x1a4e('0x6e7')]);return _0x5ac9eb[_0x1a4e('0x6f9')](this['_isSelfSnap']),_0x5ac9eb[_0x1a4e('0x6f0')](_0x22b0c5);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x6dd')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x293')](),_0x261805=this[_0x1a4e('0x6fa')](_0x5ac9eb,this[_0x1a4e('0x6f7')]);return this[_0x1a4e('0x31c')][_0x1a4e('0x39b')]()[_0x1a4e('0x7')](_0x261805);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x87e9c3),_0x5167b3=function(){this[_0x1a4e('0x6fb')]=!0x0,this[_0x1a4e('0x6fc')]=0x35,this[_0x1a4e('0x6fd')]=0x0,this['_commonSignExp']=null;};_0x5167b3[_0x1a4e('0xa')]['getCommon']=function(){return _0x104610['longBitsToDouble'](this[_0x1a4e('0x6fd')]);},_0x5167b3['prototype'][_0x1a4e('0x177')]=function(_0x5d7dad){var _0x22b0c5=_0x104610[_0x1a4e('0x235')](_0x5d7dad);return this['_isFirst']?(this[_0x1a4e('0x6fd')]=_0x22b0c5,this['_commonSignExp']=_0x5167b3[_0x1a4e('0x6fe')](this[_0x1a4e('0x6fd')]),this[_0x1a4e('0x6fb')]=!0x1,null):_0x5167b3[_0x1a4e('0x6fe')](_0x22b0c5)!==this[_0x1a4e('0x6ff')]?(this['_commonBits']=0x0,null):(this[_0x1a4e('0x6fc')]=_0x5167b3['numCommonMostSigMantissaBits'](this['_commonBits'],_0x22b0c5),void(this[_0x1a4e('0x6fd')]=_0x5167b3[_0x1a4e('0x700')](this[_0x1a4e('0x6fd')],0x40-(0xc+this[_0x1a4e('0x6fc')]))));},_0x5167b3['prototype'][_0x1a4e('0x95')]=function(){if(0x1===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=_0x104610['longBitsToDouble'](_0x5d7dad),_0x5ac9eb=_0x1a4e('0x701')+_0x104610[_0x1a4e('0x702')](_0x5d7dad),_0x261805=_0x5ac9eb[_0x1a4e('0x281')](_0x5ac9eb[_0x1a4e('0x1e')]-0x40);return _0x261805[_0x1a4e('0x281')](0x0,0x1)+'\x20\x20'+_0x261805[_0x1a4e('0x281')](0x1,0xc)+_0x1a4e('0x703')+_0x261805[_0x1a4e('0x281')](0xc)+_0x1a4e('0x3ff')+_0x22b0c5+'\x20]';}},_0x5167b3[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x5167b3[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x5167b3;},_0x5167b3[_0x1a4e('0x704')]=function(_0x5d7dad,_0x22b0c5){return 0x0!=(_0x5d7dad&0x1<<_0x22b0c5)?0x1:0x0;},_0x5167b3[_0x1a4e('0x6fe')]=function(_0x5d7dad){return _0x5d7dad>>0x34;},_0x5167b3[_0x1a4e('0x700')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad&~((0x1<<_0x22b0c5)-0x1);},_0x5167b3[_0x1a4e('0x705')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0,_0x261805=0x34;_0x261805>=0x0;_0x261805--){if(_0x5167b3['getBit'](_0x5d7dad,_0x261805)!==_0x5167b3[_0x1a4e('0x704')](_0x22b0c5,_0x261805))return _0x5ac9eb;_0x5ac9eb++;}return 0x34;};var _0x695719=function(){this[_0x1a4e('0x706')]=null,this[_0x1a4e('0x707')]=new _0x2f7362();},_0x59d62f={'CommonCoordinateFilter':{'configurable':!0x0},'Translater':{'configurable':!0x0}};_0x695719[_0x1a4e('0xa')]['addCommonBits']=function(_0x5d7dad){var _0x22b0c5=new _0x5de4b3(this[_0x1a4e('0x706')]);_0x5d7dad[_0x1a4e('0x8b')](_0x22b0c5),_0x5d7dad[_0x1a4e('0x326')]();},_0x695719[_0x1a4e('0xa')]['removeCommonBits']=function(_0x5d7dad){if(0x0===this[_0x1a4e('0x706')]['x']&&0x0===this[_0x1a4e('0x706')]['y'])return _0x5d7dad;var _0x22b0c5=new _0x517a0b(this[_0x1a4e('0x706')]);_0x22b0c5['x']=-_0x22b0c5['x'],_0x22b0c5['y']=-_0x22b0c5['y'];var _0x5ac9eb=new _0x5de4b3(_0x22b0c5);return _0x5d7dad['apply'](_0x5ac9eb),_0x5d7dad[_0x1a4e('0x326')](),_0x5d7dad;},_0x695719[_0x1a4e('0xa')][_0x1a4e('0x708')]=function(){return this[_0x1a4e('0x706')];},_0x695719['prototype'][_0x1a4e('0x177')]=function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x8b')](this[_0x1a4e('0x707')]),this[_0x1a4e('0x706')]=this['_ccFilter'][_0x1a4e('0x708')]();},_0x695719['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x695719[_0x1a4e('0xa')]['getClass']=function(){return _0x695719;},_0x59d62f[_0x1a4e('0x709')][_0x1a4e('0x179')]=function(){return _0x2f7362;},_0x59d62f[_0x1a4e('0x70a')][_0x1a4e('0x179')]=function(){return _0x5de4b3;},Object[_0x1a4e('0x1c8')](_0x695719,_0x59d62f);var _0x2f7362=function(){this[_0x1a4e('0x70b')]=new _0x5167b3(),this[_0x1a4e('0x70c')]=new _0x5167b3();};_0x2f7362[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad){this[_0x1a4e('0x70b')][_0x1a4e('0x177')](_0x5d7dad['x']),this['_commonBitsY']['add'](_0x5d7dad['y']);},_0x2f7362[_0x1a4e('0xa')][_0x1a4e('0x708')]=function(){return new _0x517a0b(this[_0x1a4e('0x70b')][_0x1a4e('0x70d')](),this[_0x1a4e('0x70c')]['getCommon']());},_0x2f7362[_0x1a4e('0xa')]['interfaces_']=function(){return[_0x4221a4];},_0x2f7362[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2f7362;};var _0x5de4b3=function(){this[_0x1a4e('0x70e')]=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x70e')]=_0x5d7dad;};_0x5de4b3[_0x1a4e('0xa')][_0x1a4e('0xd9')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad['getOrdinate'](_0x22b0c5,0x0)+this[_0x1a4e('0x70e')]['x'],_0x261805=_0x5d7dad[_0x1a4e('0x23d')](_0x22b0c5,0x1)+this['trans']['y'];_0x5d7dad['setOrdinate'](_0x22b0c5,0x0,_0x5ac9eb),_0x5d7dad[_0x1a4e('0x239')](_0x22b0c5,0x1,_0x261805);},_0x5de4b3[_0x1a4e('0xa')][_0x1a4e('0x37a')]=function(){return!0x1;},_0x5de4b3[_0x1a4e('0xa')]['isGeometryChanged']=function(){return!0x0;},_0x5de4b3[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x597c97];},_0x5de4b3['prototype']['getClass']=function(){return _0x5de4b3;};var _0x308124=function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x37e')]=new Array(0x2)['fill'](null),this[_0x1a4e('0x6e7')]=null,this[_0x1a4e('0x70f')]=null,this[_0x1a4e('0x37e')][0x0]=_0x5d7dad,this['_geom'][0x1]=_0x22b0c5,this[_0x1a4e('0x710')]();};_0x308124[_0x1a4e('0xa')][_0x1a4e('0x711')]=function(_0x5d7dad){return new _0x2e7ce5(_0x5d7dad)['snapTo'](_0x5d7dad,this['_snapTolerance']);},_0x308124['prototype']['removeCommonBits']=function(_0x5d7dad){this[_0x1a4e('0x70f')]=new _0x695719(),this[_0x1a4e('0x70f')]['add'](_0x5d7dad[0x0]),this[_0x1a4e('0x70f')][_0x1a4e('0x177')](_0x5d7dad[0x1]);var _0x22b0c5=new Array(0x2)[_0x1a4e('0x22c')](null);return _0x22b0c5[0x0]=this[_0x1a4e('0x70f')]['removeCommonBits'](_0x5d7dad[0x0]['copy']()),_0x22b0c5[0x1]=this[_0x1a4e('0x70f')]['removeCommonBits'](_0x5d7dad[0x1][_0x1a4e('0xea')]()),_0x22b0c5;},_0x308124[_0x1a4e('0xa')][_0x1a4e('0x712')]=function(_0x5d7dad){return this[_0x1a4e('0x70f')][_0x1a4e('0x713')](_0x5d7dad),_0x5d7dad;},_0x308124[_0x1a4e('0xa')]['getResultGeometry']=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x638')](this[_0x1a4e('0x37e')]),_0x5ac9eb=_0x3d3ad9[_0x1a4e('0x714')](_0x22b0c5[0x0],_0x22b0c5[0x1],_0x5d7dad);return this[_0x1a4e('0x712')](_0x5ac9eb);},_0x308124[_0x1a4e('0xa')][_0x1a4e('0x622')]=function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x1c3')]()||_0x5b38f4[_0x1a4e('0x303')]['println'](_0x1a4e('0x715'));},_0x308124[_0x1a4e('0xa')][_0x1a4e('0x710')]=function(){this[_0x1a4e('0x6e7')]=_0x2e7ce5[_0x1a4e('0x6f4')](this[_0x1a4e('0x37e')][0x0],this[_0x1a4e('0x37e')][0x1]);},_0x308124[_0x1a4e('0xa')][_0x1a4e('0x638')]=function(_0x5d7dad){var _0x22b0c5=this[_0x1a4e('0x716')](_0x5d7dad);return _0x2e7ce5['snap'](_0x22b0c5[0x0],_0x22b0c5[0x1],this[_0x1a4e('0x6e7')]);},_0x308124['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x308124[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x308124;},_0x308124[_0x1a4e('0x714')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return new _0x308124(_0x5d7dad,_0x22b0c5)[_0x1a4e('0x64f')](_0x5ac9eb);},_0x308124[_0x1a4e('0x147')]=function(_0x5d7dad,_0x22b0c5){return _0x308124[_0x1a4e('0x714')](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x717')]);},_0x308124[_0x1a4e('0x148')]=function(_0x5d7dad,_0x22b0c5){return _0x308124['overlayOp'](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x6d5')]);},_0x308124['symDifference']=function(_0x5d7dad,_0x22b0c5){return _0x308124[_0x1a4e('0x714')](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x718')]);},_0x308124[_0x1a4e('0x719')]=function(_0x5d7dad,_0x22b0c5){return _0x308124[_0x1a4e('0x714')](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x71a')]);};var _0x4d0514=function(_0x5d7dad,_0x22b0c5){this['_geom']=new Array(0x2)[_0x1a4e('0x22c')](null),this[_0x1a4e('0x37e')][0x0]=_0x5d7dad,this['_geom'][0x1]=_0x22b0c5;};_0x4d0514['prototype'][_0x1a4e('0x64f')]=function(_0x5d7dad){var _0x22b0c5=null,_0x5ac9eb=!0x1,_0x261805=null;try{_0x22b0c5=_0x3d3ad9[_0x1a4e('0x714')](this[_0x1a4e('0x37e')][0x0],this[_0x1a4e('0x37e')][0x1],_0x5d7dad),_0x5ac9eb=!0x0;}catch(_0x225e14){if(!(_0x225e14 instanceof _0x16686e))throw _0x225e14;_0x261805=_0x225e14;}if(!_0x5ac9eb)try{_0x22b0c5=_0x308124[_0x1a4e('0x714')](this[_0x1a4e('0x37e')][0x0],this[_0x1a4e('0x37e')][0x1],_0x5d7dad);}catch(_0x5742d4){throw _0x5742d4 instanceof _0x16686e?_0x261805:_0x5742d4;}return _0x22b0c5;},_0x4d0514[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x4d0514[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x4d0514;},_0x4d0514[_0x1a4e('0x714')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return new _0x4d0514(_0x5d7dad,_0x22b0c5)['getResultGeometry'](_0x5ac9eb);},_0x4d0514[_0x1a4e('0x147')]=function(_0x5d7dad,_0x22b0c5){return _0x4d0514[_0x1a4e('0x714')](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x717')]);},_0x4d0514['intersection']=function(_0x5d7dad,_0x22b0c5){return _0x4d0514['overlayOp'](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x6d5')]);},_0x4d0514['symDifference']=function(_0x5d7dad,_0x22b0c5){return _0x4d0514[_0x1a4e('0x714')](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x718')]);},_0x4d0514['difference']=function(_0x5d7dad,_0x22b0c5){return _0x4d0514[_0x1a4e('0x714')](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x71a')]);};var _0xb4de9c=function(){this[_0x1a4e('0x71b')]=null,this[_0x1a4e('0x71c')]=null;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this['mce']=_0x5d7dad,this[_0x1a4e('0x71c')]=_0x22b0c5;};_0xb4de9c['prototype'][_0x1a4e('0x71d')]=function(_0x5d7dad,_0x22b0c5){this['mce'][_0x1a4e('0x5f8')](this[_0x1a4e('0x71c')],_0x5d7dad[_0x1a4e('0x71b')],_0x5d7dad[_0x1a4e('0x71c')],_0x22b0c5);},_0xb4de9c[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0xb4de9c[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0xb4de9c;};var _0x46b854=function _0x5d7dad(){if(this[_0x1a4e('0x436')]=null,this['_xValue']=null,this[_0x1a4e('0x71e')]=null,this[_0x1a4e('0x71f')]=null,this['_deleteEventIndex']=null,this[_0x1a4e('0x720')]=null,0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];this[_0x1a4e('0x71e')]=_0x5d7dad[_0x1a4e('0x552')],this[_0x1a4e('0x721')]=_0x22b0c5,this[_0x1a4e('0x71f')]=_0x5ac9eb;}else if(0x3===arguments[_0x1a4e('0x1e')]){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1],_0x234f42=arguments[0x2];this['_eventType']=_0x5d7dad[_0x1a4e('0x722')],this[_0x1a4e('0x436')]=_0x261805,this[_0x1a4e('0x721')]=_0x81bc8f,this['_obj']=_0x234f42;}},_0x470cc0={'INSERT':{'configurable':!0x0},'DELETE':{'configurable':!0x0}};_0x46b854[_0x1a4e('0xa')]['isDelete']=function(){return this[_0x1a4e('0x71e')]===_0x46b854['DELETE'];},_0x46b854[_0x1a4e('0xa')][_0x1a4e('0x723')]=function(_0x5d7dad){this[_0x1a4e('0x724')]=_0x5d7dad;},_0x46b854[_0x1a4e('0xa')][_0x1a4e('0x725')]=function(){return this[_0x1a4e('0x720')];},_0x46b854[_0x1a4e('0xa')]['compareTo']=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;return this[_0x1a4e('0x721')]<_0x22b0c5[_0x1a4e('0x721')]?-0x1:this['_xValue']>_0x22b0c5[_0x1a4e('0x721')]?0x1:this[_0x1a4e('0x71e')]<_0x22b0c5[_0x1a4e('0x71e')]?-0x1:this[_0x1a4e('0x71e')]>_0x22b0c5[_0x1a4e('0x71e')]?0x1:0x0;},_0x46b854[_0x1a4e('0xa')][_0x1a4e('0x726')]=function(){return this[_0x1a4e('0x71f')];},_0x46b854[_0x1a4e('0xa')][_0x1a4e('0x727')]=function(){return this[_0x1a4e('0x71e')]===_0x46b854[_0x1a4e('0x722')];},_0x46b854[_0x1a4e('0xa')][_0x1a4e('0x728')]=function(_0x5d7dad){return null!==this[_0x1a4e('0x436')]&&this['_label']===_0x5d7dad['_label'];},_0x46b854[_0x1a4e('0xa')][_0x1a4e('0x729')]=function(){return this['_deleteEventIndex'];},_0x46b854[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x65271];},_0x46b854[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x46b854;},_0x470cc0[_0x1a4e('0x722')]['get']=function(){return 0x1;},_0x470cc0['DELETE'][_0x1a4e('0x179')]=function(){return 0x2;},Object[_0x1a4e('0x1c8')](_0x46b854,_0x470cc0);var _0xd8fffd=function(){};_0xd8fffd[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0xd8fffd[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0xd8fffd;};var _0x2fd5c3=function(){this[_0x1a4e('0x5e2')]=!0x1,this[_0x1a4e('0x5e3')]=!0x1,this[_0x1a4e('0x5eb')]=!0x1,this[_0x1a4e('0x5e5')]=null,this[_0x1a4e('0x56e')]=null,this[_0x1a4e('0x72a')]=null,this[_0x1a4e('0x72b')]=null,this[_0x1a4e('0x5e6')]=null,this[_0x1a4e('0x72c')]=0x0,this[_0x1a4e('0x5e9')]=0x0,this[_0x1a4e('0x72d')]=null,this['_isDone']=!0x1,this['_isDoneWhenProperInt']=!0x1;var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=arguments[0x2];this[_0x1a4e('0x56e')]=_0x5d7dad,this['_includeProper']=_0x22b0c5,this[_0x1a4e('0x72b')]=_0x5ac9eb;};_0x2fd5c3[_0x1a4e('0xa')]['isTrivialIntersection']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(_0x5d7dad===_0x5ac9eb&&0x1===this[_0x1a4e('0x56e')]['getIntersectionNum']()){if(_0x2fd5c3[_0x1a4e('0x5f0')](_0x22b0c5,_0x261805))return!0x0;if(_0x5d7dad['isClosed']()){var _0x81bc8f=_0x5d7dad['getNumPoints']()-0x1;if(0x0===_0x22b0c5&&_0x261805===_0x81bc8f||0x0===_0x261805&&_0x22b0c5===_0x81bc8f)return!0x0;}}return!0x1;},_0x2fd5c3[_0x1a4e('0xa')][_0x1a4e('0x5ea')]=function(){return this['_properIntersectionPoint'];},_0x2fd5c3[_0x1a4e('0xa')][_0x1a4e('0x72e')]=function(_0x5d7dad){this[_0x1a4e('0x72f')]=_0x5d7dad;},_0x2fd5c3[_0x1a4e('0xa')][_0x1a4e('0x730')]=function(){return this['_hasProperInterior'];},_0x2fd5c3['prototype'][_0x1a4e('0x731')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x335')]();_0x5ac9eb['hasNext']();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')]()[_0x1a4e('0x28e')]();if(_0x5d7dad['isIntersection'](_0x261805))return!0x0;}return!0x1;},_0x2fd5c3['prototype'][_0x1a4e('0x5ed')]=function(){return this[_0x1a4e('0x5e3')];},_0x2fd5c3[_0x1a4e('0xa')][_0x1a4e('0x2e6')]=function(){return this['_hasIntersection'];},_0x2fd5c3['prototype'][_0x1a4e('0x37a')]=function(){return this[_0x1a4e('0x732')];},_0x2fd5c3[_0x1a4e('0xa')][_0x1a4e('0x733')]=function(_0x5d7dad,_0x22b0c5){return!(null===_0x22b0c5||!this['isBoundaryPointInternal'](_0x5d7dad,_0x22b0c5[0x0])&&!this[_0x1a4e('0x731')](_0x5d7dad,_0x22b0c5[0x1]));},_0x2fd5c3[_0x1a4e('0xa')]['setBoundaryNodes']=function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x72d')]=new Array(0x2)['fill'](null),this['_bdyNodes'][0x0]=_0x5d7dad,this[_0x1a4e('0x72d')][0x1]=_0x22b0c5;},_0x2fd5c3[_0x1a4e('0xa')][_0x1a4e('0x4fe')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(_0x5d7dad===_0x5ac9eb&&_0x22b0c5===_0x261805)return null;this[_0x1a4e('0x5e9')]++;var _0x81bc8f=_0x5d7dad[_0x1a4e('0x397')]()[_0x22b0c5],_0x234f42=_0x5d7dad[_0x1a4e('0x397')]()[_0x22b0c5+0x1],_0x153447=_0x5ac9eb[_0x1a4e('0x397')]()[_0x261805],_0x1972c2=_0x5ac9eb['getCoordinates']()[_0x261805+0x1];this[_0x1a4e('0x56e')][_0x1a4e('0x2e1')](_0x81bc8f,_0x234f42,_0x153447,_0x1972c2),this[_0x1a4e('0x56e')][_0x1a4e('0x2e6')]()&&(this[_0x1a4e('0x72b')]&&(_0x5d7dad[_0x1a4e('0x601')](!0x1),_0x5ac9eb[_0x1a4e('0x601')](!0x1)),this['_numIntersections']++,this['isTrivialIntersection'](_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805)||(this[_0x1a4e('0x5e2')]=!0x0,!this['_includeProper']&&this[_0x1a4e('0x56e')][_0x1a4e('0x2e5')]()||(_0x5d7dad[_0x1a4e('0x4fe')](this[_0x1a4e('0x56e')],_0x22b0c5,0x0),_0x5ac9eb[_0x1a4e('0x4fe')](this[_0x1a4e('0x56e')],_0x261805,0x1)),this[_0x1a4e('0x56e')][_0x1a4e('0x2e5')]()&&(this['_properIntersectionPoint']=this['_li'][_0x1a4e('0x2e9')](0x0)[_0x1a4e('0xea')](),this[_0x1a4e('0x5e3')]=!0x0,this['_isDoneWhenProperInt']&&(this[_0x1a4e('0x732')]=!0x0),this[_0x1a4e('0x733')](this[_0x1a4e('0x56e')],this['_bdyNodes'])||(this[_0x1a4e('0x5eb')]=!0x0))));},_0x2fd5c3[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x2fd5c3[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x2fd5c3;},_0x2fd5c3[_0x1a4e('0x5f0')]=function(_0x5d7dad,_0x22b0c5){return 0x1===Math['abs'](_0x5d7dad-_0x22b0c5);};var _0x26696b=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad['call'](this),this[_0x1a4e('0x734')]=new _0x389784(),this[_0x1a4e('0x735')]=null;}return _0x5d7dad&&(_0x22b0c5['__proto__']=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad['prototype']),_0x22b0c5['prototype'][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x736')]=function(){_0x4f994e[_0x1a4e('0x89')](this['events']);for(var _0x5d7dad=0x0;_0x5d7dad_0x22b0c5||this['_max']<_0x5d7dad);},_0x1629f9[_0x1a4e('0xa')][_0x1a4e('0x73b')]=function(){return this['_max'];},_0x1629f9[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return _0x183e48[_0x1a4e('0x2ef')](new _0x517a0b(this[_0x1a4e('0x739')],0x0),new _0x517a0b(this[_0x1a4e('0x5bc')],0x0));},_0x1629f9[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x1629f9[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x1629f9;},_0x3f68d6['NodeComparator'][_0x1a4e('0x179')]=function(){return _0x373c51;},Object[_0x1a4e('0x1c8')](_0x1629f9,_0x3f68d6);var _0x373c51=function(){};_0x373c51[_0x1a4e('0xa')]['compare']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x5d7dad,_0x261805=_0x22b0c5,_0x81bc8f=(_0x5ac9eb[_0x1a4e('0x739')]+_0x5ac9eb['_max'])/0x2,_0x234f42=(_0x261805['_min']+_0x261805[_0x1a4e('0x5bc')])/0x2;return _0x81bc8f<_0x234f42?-0x1:_0x81bc8f>_0x234f42?0x1:0x0;},_0x373c51[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0xc6814d];},_0x373c51[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x373c51;};var _0x256369=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad['call'](this),this['_item']=null;var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=arguments[0x2];this['_min']=_0x22b0c5,this[_0x1a4e('0x5bc')]=_0x5ac9eb,this[_0x1a4e('0x4a4')]=_0x261805;}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object['create'](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x4aa')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!this[_0x1a4e('0x2a4')](_0x5d7dad,_0x22b0c5))return null;_0x5ac9eb['visitItem'](this[_0x1a4e('0x4a4')]);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')]['getClass']=function(){return _0x22b0c5;},_0x22b0c5;}(_0x1629f9),_0x2dcc38=function(_0x5d7dad){function _0x22b0c5(){_0x5d7dad[_0x1a4e('0x1')](this),this['_node1']=null,this[_0x1a4e('0x73c')]=null;var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];this[_0x1a4e('0x73d')]=_0x22b0c5,this[_0x1a4e('0x73c')]=_0x5ac9eb,this['buildExtent'](this[_0x1a4e('0x73d')],this[_0x1a4e('0x73c')]);}return _0x5d7dad&&(_0x22b0c5['__proto__']=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad['prototype']),_0x22b0c5['prototype']['constructor']=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')]['buildExtent']=function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x739')]=Math[_0x1a4e('0x74')](_0x5d7dad[_0x1a4e('0x739')],_0x22b0c5['_min']),this[_0x1a4e('0x5bc')]=Math[_0x1a4e('0x6c')](_0x5d7dad[_0x1a4e('0x5bc')],_0x22b0c5[_0x1a4e('0x5bc')]);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x4aa')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!this[_0x1a4e('0x2a4')](_0x5d7dad,_0x22b0c5))return null;null!==this[_0x1a4e('0x73d')]&&this[_0x1a4e('0x73d')][_0x1a4e('0x4aa')](_0x5d7dad,_0x22b0c5,_0x5ac9eb),null!==this[_0x1a4e('0x73c')]&&this[_0x1a4e('0x73c')][_0x1a4e('0x4aa')](_0x5d7dad,_0x22b0c5,_0x5ac9eb);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')]['getClass']=function(){return _0x22b0c5;},_0x22b0c5;}(_0x1629f9),_0x199eaf=function(){this[_0x1a4e('0x73e')]=new _0x389784(),this['_root']=null,this[_0x1a4e('0x4ac')]=0x0;};_0x199eaf[_0x1a4e('0xa')][_0x1a4e('0x73f')]=function(){_0x4f994e[_0x1a4e('0x89')](this[_0x1a4e('0x73e')],new _0x1629f9[(_0x1a4e('0x740'))]());for(var _0x5d7dad=this[_0x1a4e('0x73e')],_0x22b0c5=null,_0x5ac9eb=new _0x389784();;){if(this[_0x1a4e('0x741')](_0x5d7dad,_0x5ac9eb),0x1===_0x5ac9eb[_0x1a4e('0x220')]())return _0x5ac9eb['get'](0x0);_0x22b0c5=_0x5d7dad,_0x5d7dad=_0x5ac9eb,_0x5ac9eb=_0x22b0c5;}},_0x199eaf[_0x1a4e('0xa')][_0x1a4e('0x7c')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(null!==this[_0x1a4e('0x4bd')])throw new Error(_0x1a4e('0x742'));this[_0x1a4e('0x73e')][_0x1a4e('0x177')](new _0x256369(_0x5d7dad,_0x22b0c5,_0x5ac9eb));},_0x199eaf[_0x1a4e('0xa')][_0x1a4e('0x4aa')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){this[_0x1a4e('0x1fd')](),this[_0x1a4e('0x4bd')][_0x1a4e('0x4aa')](_0x5d7dad,_0x22b0c5,_0x5ac9eb);},_0x199eaf['prototype'][_0x1a4e('0x743')]=function(){if(null!==this['_root'])return null;this[_0x1a4e('0x4bd')]=this[_0x1a4e('0x73f')]();},_0x199eaf['prototype'][_0x1a4e('0x744')]=function(_0x5d7dad){_0x5b38f4[_0x1a4e('0x303')]['println'](_0x183e48['toLineString'](new _0x517a0b(_0x5d7dad[_0x1a4e('0x739')],this[_0x1a4e('0x4ac')]),new _0x517a0b(_0x5d7dad[_0x1a4e('0x5bc')],this[_0x1a4e('0x4ac')])));},_0x199eaf[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){if(null!==this[_0x1a4e('0x4bd')])return null;this[_0x1a4e('0x743')]();},_0x199eaf['prototype'][_0x1a4e('0x741')]=function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x4ac')]++,_0x22b0c5[_0x1a4e('0xb5')]();for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x220')]();_0x5ac9eb+=0x2){var _0x261805=_0x5d7dad[_0x1a4e('0x179')](_0x5ac9eb);if(null===(_0x5ac9eb+0x1<_0x5d7dad['size']()?_0x5d7dad[_0x1a4e('0x179')](_0x5ac9eb):null))_0x22b0c5[_0x1a4e('0x177')](_0x261805);else{var _0x81bc8f=new _0x2dcc38(_0x5d7dad[_0x1a4e('0x179')](_0x5ac9eb),_0x5d7dad[_0x1a4e('0x179')](_0x5ac9eb+0x1));_0x22b0c5['add'](_0x81bc8f);}}},_0x199eaf['prototype'][_0x1a4e('0x233')]=function(){return[];},_0x199eaf[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x199eaf;};var _0x10026b=function(){this['_items']=new _0x389784();};_0x10026b['prototype'][_0x1a4e('0x4a9')]=function(_0x5d7dad){this['_items'][_0x1a4e('0x177')](_0x5d7dad);},_0x10026b[_0x1a4e('0xa')][_0x1a4e('0x745')]=function(){return this[_0x1a4e('0x4a7')];},_0x10026b[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x2e435a];},_0x10026b[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x10026b;};var _0x3409a9=function(){this['_index']=null;var _0x5d7dad=arguments[0x0];if(!_0x73c38a(_0x5d7dad,_0x283109))throw new _0x3eb8a2('Argument\x20must\x20be\x20Polygonal');this[_0x1a4e('0x528')]=new _0x4a789d(_0x5d7dad);},_0x3f4cfa={'SegmentVisitor':{'configurable':!0x0},'IntervalIndexedGeometry':{'configurable':!0x0}};_0x3409a9['prototype'][_0x1a4e('0x5bf')]=function(_0x5d7dad){var _0x22b0c5=new _0xba078e(_0x5d7dad),_0x5ac9eb=new _0x132625(_0x22b0c5);return this[_0x1a4e('0x528')][_0x1a4e('0x4aa')](_0x5d7dad['y'],_0x5d7dad['y'],_0x5ac9eb),_0x22b0c5[_0x1a4e('0x30d')]();},_0x3409a9[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0xfbb5cf];},_0x3409a9['prototype'][_0x1a4e('0x234')]=function(){return _0x3409a9;},_0x3f4cfa[_0x1a4e('0x746')][_0x1a4e('0x179')]=function(){return _0x132625;},_0x3f4cfa[_0x1a4e('0x747')][_0x1a4e('0x179')]=function(){return _0x4a789d;},Object[_0x1a4e('0x1c8')](_0x3409a9,_0x3f4cfa);var _0x132625=function(){this['_counter']=null;var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x748')]=_0x5d7dad;};_0x132625['prototype'][_0x1a4e('0x4a9')]=function(_0x5d7dad){var _0x22b0c5=_0x5d7dad;this[_0x1a4e('0x748')][_0x1a4e('0x30f')](_0x22b0c5[_0x1a4e('0x28e')](0x0),_0x22b0c5['getCoordinate'](0x1));},_0x132625[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[_0x2e435a];},_0x132625[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x132625;};var _0x4a789d=function(){this[_0x1a4e('0x528')]=new _0x199eaf();var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x1fd')](_0x5d7dad);};_0x4a789d[_0x1a4e('0xa')]['init']=function(_0x5d7dad){for(var _0x22b0c5=_0x1919eb[_0x1a4e('0x661')](_0x5d7dad)[_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]()[_0x1a4e('0x397')]();this['addLine'](_0x5ac9eb);}},_0x4a789d[_0x1a4e('0xa')][_0x1a4e('0x749')]=function(_0x5d7dad){for(var _0x22b0c5=0x1;_0x22b0c5<_0x5d7dad[_0x1a4e('0x1e')];_0x22b0c5++){var _0x5ac9eb=new _0x3cf489(_0x5d7dad[_0x22b0c5-0x1],_0x5d7dad[_0x22b0c5]),_0x261805=Math['min'](_0x5ac9eb['p0']['y'],_0x5ac9eb['p1']['y']),_0x81bc8f=Math['max'](_0x5ac9eb['p0']['y'],_0x5ac9eb['p1']['y']);this[_0x1a4e('0x528')][_0x1a4e('0x7c')](_0x261805,_0x81bc8f,_0x5ac9eb);}},_0x4a789d[_0x1a4e('0xa')]['query']=function(){if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=new _0x10026b();return this[_0x1a4e('0x528')][_0x1a4e('0x4aa')](_0x5d7dad,_0x22b0c5,_0x5ac9eb),_0x5ac9eb['getItems']();}if(0x3===arguments['length']){var _0x261805=arguments[0x0],_0x81bc8f=arguments[0x1],_0x234f42=arguments[0x2];this[_0x1a4e('0x528')][_0x1a4e('0x4aa')](_0x261805,_0x81bc8f,_0x234f42);}},_0x4a789d[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x4a789d[_0x1a4e('0xa')]['getClass']=function(){return _0x4a789d;};var _0x3c88e6=function(_0x5d7dad){function _0x22b0c5(){if(_0x5d7dad[_0x1a4e('0x1')](this),this[_0x1a4e('0x74a')]=null,this[_0x1a4e('0x74b')]=new _0x3ecba8(),this['_boundaryNodeRule']=null,this['_useBoundaryDeterminationRule']=!0x0,this[_0x1a4e('0x74c')]=null,this[_0x1a4e('0x74d')]=null,this[_0x1a4e('0x74e')]=!0x1,this[_0x1a4e('0x74f')]=null,this[_0x1a4e('0x750')]=null,this['_ptLocator']=new _0x44b294(),0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=_0x3c1b0f[_0x1a4e('0x663')];this[_0x1a4e('0x74c')]=_0x22b0c5,this[_0x1a4e('0x74a')]=_0x5ac9eb,this[_0x1a4e('0x751')]=_0x261805,null!==_0x5ac9eb&&this[_0x1a4e('0x177')](_0x5ac9eb);}else if(0x3===arguments[_0x1a4e('0x1e')]){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2];this[_0x1a4e('0x74c')]=_0x81bc8f,this['_parentGeom']=_0x234f42,this[_0x1a4e('0x751')]=_0x153447,null!==_0x234f42&&this['add'](_0x234f42);}}return _0x5d7dad&&(_0x22b0c5[_0x1a4e('0x295')]=_0x5d7dad),_0x22b0c5['prototype']=Object[_0x1a4e('0x7')](_0x5d7dad&&_0x5d7dad['prototype']),_0x22b0c5[_0x1a4e('0xa')]['constructor']=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x752')]=function(_0x5d7dad,_0x5ac9eb){var _0x261805=this[_0x1a4e('0x404')][_0x1a4e('0x45e')](_0x5ac9eb)[_0x1a4e('0x43a')](),_0x81bc8f=0x1;_0x2b3738[_0x1a4e('0x24a')],_0x261805[_0x1a4e('0x30d')](_0x5d7dad,_0x17e5f3['ON'])===_0x2b3738[_0x1a4e('0x24c')]&&_0x81bc8f++;var _0x234f42=_0x22b0c5['determineBoundary'](this[_0x1a4e('0x751')],_0x81bc8f);_0x261805[_0x1a4e('0x422')](_0x5d7dad,_0x234f42);},_0x22b0c5[_0x1a4e('0xa')]['computeSelfNodes']=function(){if(0x2===arguments[_0x1a4e('0x1e')]){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];return this[_0x1a4e('0x753')](_0x5d7dad,_0x22b0c5,!0x1);}if(0x3===arguments[_0x1a4e('0x1e')]){var _0x5ac9eb=arguments[0x0],_0x261805=arguments[0x1],_0x81bc8f=arguments[0x2],_0x234f42=new _0x2fd5c3(_0x5ac9eb,!0x0,!0x1);_0x234f42['setIsDoneIfProperInt'](_0x81bc8f);var _0x153447=this['createEdgeSetIntersector'](),_0x1972c2=this[_0x1a4e('0x74a')]instanceof _0x5d75e4||this[_0x1a4e('0x74a')]instanceof _0xec6fef||this[_0x1a4e('0x74a')]instanceof _0x204133,_0x3376f9=_0x261805||!_0x1972c2;return _0x153447[_0x1a4e('0x71d')](this[_0x1a4e('0x42e')],_0x234f42,_0x3376f9),this[_0x1a4e('0x754')](this[_0x1a4e('0x74c')]),_0x234f42;}},_0x22b0c5[_0x1a4e('0xa')]['computeSplitEdges']=function(_0x5d7dad){for(var _0x22b0c5=this['_edges'][_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)_0x22b0c5[_0x1a4e('0x7e')]()['eiList']['addSplitEdges'](_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x755')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=new _0x2fd5c3(_0x22b0c5,_0x5ac9eb,!0x0);return _0x261805[_0x1a4e('0x756')](this[_0x1a4e('0x461')](),_0x5d7dad['getBoundaryNodes']()),this[_0x1a4e('0x757')]()[_0x1a4e('0x71d')](this['_edges'],_0x5d7dad['_edges'],_0x261805),_0x261805;},_0x22b0c5[_0x1a4e('0xa')]['getGeometry']=function(){return this[_0x1a4e('0x74a')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x5cd')]=function(){return this['_boundaryNodeRule'];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x758')]=function(){return this[_0x1a4e('0x74e')];},_0x22b0c5['prototype'][_0x1a4e('0x5af')]=function(){if(arguments[0x0]instanceof _0x26c3b7){var _0x5d7dad=arguments[0x0]['getCoordinate']();this['insertPoint'](this[_0x1a4e('0x74c')],_0x5d7dad,_0x2b3738[_0x1a4e('0x249')]);}else if(arguments[0x0]instanceof _0x517a0b){var _0x22b0c5=arguments[0x0];this['insertPoint'](this['_argIndex'],_0x22b0c5,_0x2b3738['INTERIOR']);}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x5b1')]=function(_0x5d7dad){this[_0x1a4e('0x5b4')](_0x5d7dad[_0x1a4e('0x3a8')](),_0x2b3738[_0x1a4e('0x248')],_0x2b3738[_0x1a4e('0x249')]);for(var _0x22b0c5=0x0;_0x22b0c5<_0x5d7dad[_0x1a4e('0x3a6')]();_0x22b0c5++){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x3a9')](_0x22b0c5);this[_0x1a4e('0x5b4')](_0x5ac9eb,_0x2b3738[_0x1a4e('0x249')],_0x2b3738[_0x1a4e('0x248')]);}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x1ce')]=function(_0x5d7dad){this[_0x1a4e('0x495')](_0x5d7dad);var _0x22b0c5=_0x5d7dad[_0x1a4e('0x397')]();this[_0x1a4e('0x759')](this['_argIndex'],_0x22b0c5[0x0],_0x2b3738[_0x1a4e('0x24c')]),this[_0x1a4e('0x759')](this[_0x1a4e('0x74c')],_0x22b0c5[_0x22b0c5[_0x1a4e('0x1e')]-0x1],_0x2b3738[_0x1a4e('0x24c')]);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x5b6')]=function(_0x5d7dad){var _0x22b0c5=_0xf49717[_0x1a4e('0x5b2')](_0x5d7dad[_0x1a4e('0x397')]());if(_0x22b0c5['length']<0x2)return this[_0x1a4e('0x74e')]=!0x0,this[_0x1a4e('0x74f')]=_0x22b0c5[0x0],null;var _0x5ac9eb=new _0x4bd07c(_0x22b0c5,new _0x20794b(this['_argIndex'],_0x2b3738[_0x1a4e('0x249')]));this[_0x1a4e('0x74b')][_0x1a4e('0x35a')](_0x5d7dad,_0x5ac9eb),this[_0x1a4e('0x495')](_0x5ac9eb),_0x1e33dc['isTrue'](_0x22b0c5[_0x1a4e('0x1e')]>=0x2,_0x1a4e('0x75a')),this[_0x1a4e('0x752')](this[_0x1a4e('0x74c')],_0x22b0c5[0x0]),this['insertBoundaryPoint'](this[_0x1a4e('0x74c')],_0x22b0c5[_0x22b0c5[_0x1a4e('0x1e')]-0x1]);},_0x22b0c5[_0x1a4e('0xa')]['getInvalidPoint']=function(){return this[_0x1a4e('0x74f')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x75b')]=function(){for(var _0x5d7dad=this[_0x1a4e('0x461')](),_0x22b0c5=new Array(_0x5d7dad[_0x1a4e('0x220')]())[_0x1a4e('0x22c')](null),_0x5ac9eb=0x0,_0x261805=_0x5d7dad['iterator']();_0x261805[_0x1a4e('0x336')]();){var _0x81bc8f=_0x261805['next']();_0x22b0c5[_0x5ac9eb++]=_0x81bc8f[_0x1a4e('0x28e')]()[_0x1a4e('0xea')]();}return _0x22b0c5;},_0x22b0c5[_0x1a4e('0xa')]['getBoundaryNodes']=function(){return null===this[_0x1a4e('0x74d')]&&(this[_0x1a4e('0x74d')]=this[_0x1a4e('0x404')]['getBoundaryNodes'](this[_0x1a4e('0x74c')])),this[_0x1a4e('0x74d')];},_0x22b0c5[_0x1a4e('0xa')]['addSelfIntersectionNode']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(this[_0x1a4e('0x490')](_0x5d7dad,_0x22b0c5))return null;_0x5ac9eb===_0x2b3738[_0x1a4e('0x24c')]&&this[_0x1a4e('0x75c')]?this[_0x1a4e('0x752')](_0x5d7dad,_0x22b0c5):this['insertPoint'](_0x5d7dad,_0x22b0c5,_0x5ac9eb);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x5b4')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x5d7dad[_0x1a4e('0x149')]())return null;var _0x261805=_0xf49717['removeRepeatedPoints'](_0x5d7dad[_0x1a4e('0x397')]());if(_0x261805[_0x1a4e('0x1e')]<0x4)return this[_0x1a4e('0x74e')]=!0x0,this[_0x1a4e('0x74f')]=_0x261805[0x0],null;var _0x81bc8f=_0x22b0c5,_0x234f42=_0x5ac9eb;_0x2a79ee['isCCW'](_0x261805)&&(_0x81bc8f=_0x5ac9eb,_0x234f42=_0x22b0c5);var _0x153447=new _0x4bd07c(_0x261805,new _0x20794b(this['_argIndex'],_0x2b3738[_0x1a4e('0x24c')],_0x81bc8f,_0x234f42));this[_0x1a4e('0x74b')][_0x1a4e('0x35a')](_0x5d7dad,_0x153447),this[_0x1a4e('0x495')](_0x153447),this[_0x1a4e('0x759')](this[_0x1a4e('0x74c')],_0x261805[0x0],_0x2b3738[_0x1a4e('0x24c')]);},_0x22b0c5['prototype'][_0x1a4e('0x759')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=this[_0x1a4e('0x404')][_0x1a4e('0x45e')](_0x22b0c5),_0x81bc8f=_0x261805['getLabel']();null===_0x81bc8f?_0x261805[_0x1a4e('0x436')]=new _0x20794b(_0x5d7dad,_0x5ac9eb):_0x81bc8f['setLocation'](_0x5d7dad,_0x5ac9eb);},_0x22b0c5[_0x1a4e('0xa')]['createEdgeSetIntersector']=function(){return new _0x26696b();},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x754')]=function(_0x5d7dad){for(var _0x22b0c5=this[_0x1a4e('0x42e')][_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();)for(var _0x5ac9eb=_0x22b0c5['next'](),_0x261805=_0x5ac9eb['getLabel']()['getLocation'](_0x5d7dad),_0x81bc8f=_0x5ac9eb[_0x1a4e('0x607')][_0x1a4e('0x335')]();_0x81bc8f[_0x1a4e('0x336')]();){var _0x234f42=_0x81bc8f[_0x1a4e('0x7e')]();this[_0x1a4e('0x75d')](_0x5d7dad,_0x234f42[_0x1a4e('0x196')],_0x261805);}},_0x22b0c5['prototype'][_0x1a4e('0x177')]=function(){if(0x1!==arguments[_0x1a4e('0x1e')])return _0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x177')]['apply'](this,arguments);var _0x22b0c5=arguments[0x0];if(_0x22b0c5[_0x1a4e('0x149')]())return null;if(_0x22b0c5 instanceof _0x204133&&(this[_0x1a4e('0x75c')]=!0x1),_0x22b0c5 instanceof _0xec6fef)this['addPolygon'](_0x22b0c5);else if(_0x22b0c5 instanceof _0xfddecc)this[_0x1a4e('0x5b6')](_0x22b0c5);else if(_0x22b0c5 instanceof _0x26c3b7)this[_0x1a4e('0x5af')](_0x22b0c5);else if(_0x22b0c5 instanceof _0x89994c)this[_0x1a4e('0x5b9')](_0x22b0c5);else if(_0x22b0c5 instanceof _0x43e875)this['addCollection'](_0x22b0c5);else if(_0x22b0c5 instanceof _0x204133)this[_0x1a4e('0x5b9')](_0x22b0c5);else{if(!(_0x22b0c5 instanceof _0xee49b8))throw new Error(_0x22b0c5[_0x1a4e('0x234')]()[_0x1a4e('0x3b6')]());this['addCollection'](_0x22b0c5);}},_0x22b0c5['prototype']['addCollection']=function(_0x5d7dad){for(var _0x22b0c5=0x0;_0x22b0c5<_0x5d7dad[_0x1a4e('0x32b')]();_0x22b0c5++){var _0x5ac9eb=_0x5d7dad['getGeometryN'](_0x22b0c5);this[_0x1a4e('0x177')](_0x5ac9eb);}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x5bf')]=function(_0x5d7dad){return _0x73c38a(this['_parentGeom'],_0x283109)&&this['_parentGeom'][_0x1a4e('0x32b')]()>0x32?(null===this['_areaPtLocator']&&(this[_0x1a4e('0x750')]=new _0x3409a9(this[_0x1a4e('0x74a')])),this[_0x1a4e('0x750')][_0x1a4e('0x5bf')](_0x5d7dad)):this[_0x1a4e('0x671')][_0x1a4e('0x5bf')](_0x5d7dad,this[_0x1a4e('0x74a')]);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x3fa')]=function(){if(0x1===arguments['length']){var _0x22b0c5=arguments[0x0];return this[_0x1a4e('0x74b')][_0x1a4e('0x179')](_0x22b0c5);}return _0x5d7dad[_0x1a4e('0xa')][_0x1a4e('0x3fa')][_0x1a4e('0x8b')](this,arguments);},_0x22b0c5[_0x1a4e('0xa')]['interfaces_']=function(){return[];},_0x22b0c5[_0x1a4e('0xa')]['getClass']=function(){return _0x22b0c5;},_0x22b0c5[_0x1a4e('0x75e')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x343')](_0x22b0c5)?_0x2b3738[_0x1a4e('0x24c')]:_0x2b3738[_0x1a4e('0x249')];},_0x22b0c5;}(_0x53100e),_0x3912a5=function(){if(this[_0x1a4e('0x56e')]=new _0x21d54a(),this[_0x1a4e('0x75f')]=null,this[_0x1a4e('0x760')]=null,0x1===arguments['length']){var _0x5d7dad=arguments[0x0];this[_0x1a4e('0x761')](_0x5d7dad[_0x1a4e('0x331')]()),this['_arg']=new Array(0x1)[_0x1a4e('0x22c')](null),this['_arg'][0x0]=new _0x3c88e6(0x0,_0x5d7dad);}else if(0x2===arguments[_0x1a4e('0x1e')]){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1],_0x261805=_0x3c1b0f['OGC_SFS_BOUNDARY_RULE'];_0x22b0c5[_0x1a4e('0x331')]()[_0x1a4e('0x2a7')](_0x5ac9eb[_0x1a4e('0x331')]())>=0x0?this[_0x1a4e('0x761')](_0x22b0c5[_0x1a4e('0x331')]()):this[_0x1a4e('0x761')](_0x5ac9eb[_0x1a4e('0x331')]()),this[_0x1a4e('0x760')]=new Array(0x2)[_0x1a4e('0x22c')](null),this[_0x1a4e('0x760')][0x0]=new _0x3c88e6(0x0,_0x22b0c5,_0x261805),this[_0x1a4e('0x760')][0x1]=new _0x3c88e6(0x1,_0x5ac9eb,_0x261805);}else if(0x3===arguments[_0x1a4e('0x1e')]){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2];_0x81bc8f[_0x1a4e('0x331')]()[_0x1a4e('0x2a7')](_0x234f42['getPrecisionModel']())>=0x0?this['setComputationPrecision'](_0x81bc8f['getPrecisionModel']()):this[_0x1a4e('0x761')](_0x234f42[_0x1a4e('0x331')]()),this[_0x1a4e('0x760')]=new Array(0x2)[_0x1a4e('0x22c')](null),this[_0x1a4e('0x760')][0x0]=new _0x3c88e6(0x0,_0x81bc8f,_0x153447),this[_0x1a4e('0x760')][0x1]=new _0x3c88e6(0x1,_0x234f42,_0x153447);}};_0x3912a5[_0x1a4e('0xa')]['getArgGeometry']=function(_0x5d7dad){return this[_0x1a4e('0x760')][_0x5d7dad]['getGeometry']();},_0x3912a5[_0x1a4e('0xa')][_0x1a4e('0x761')]=function(_0x5d7dad){this['_resultPrecisionModel']=_0x5d7dad,this[_0x1a4e('0x56e')][_0x1a4e('0x2e7')](this['_resultPrecisionModel']);},_0x3912a5['prototype']['interfaces_']=function(){return[];},_0x3912a5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x3912a5;};var _0x12f146=function(){};_0x12f146[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x12f146[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x12f146;},_0x12f146[_0x1a4e('0x21')]=function(){if(arguments[0x0]instanceof _0x25c10a&&_0x73c38a(arguments[0x1],_0x12f146[_0x1a4e('0x762')])){for(var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=new _0x389784(),_0x261805=0x0;_0x261805<_0x5d7dad[_0x1a4e('0x32b')]();_0x261805++){var _0x81bc8f=_0x22b0c5[_0x1a4e('0x21')](_0x5d7dad['getGeometryN'](_0x261805));null!==_0x81bc8f&&_0x5ac9eb['add'](_0x81bc8f);}return _0x5d7dad[_0x1a4e('0x322')]()[_0x1a4e('0x3d8')](_0x5ac9eb);}if(_0x73c38a(arguments[0x0],_0x5ca55b)&&_0x73c38a(arguments[0x1],_0x12f146['MapOp'])){for(var _0x234f42=arguments[0x0],_0x153447=arguments[0x1],_0x1972c2=new _0x389784(),_0x3376f9=_0x234f42['iterator']();_0x3376f9[_0x1a4e('0x336')]();){var _0x5dae0e=_0x3376f9[_0x1a4e('0x7e')](),_0x3d7f02=_0x153447[_0x1a4e('0x21')](_0x5dae0e);null!==_0x3d7f02&&_0x1972c2[_0x1a4e('0x177')](_0x3d7f02);}return _0x1972c2;}},_0x12f146['MapOp']=function(){};var _0x3d3ad9=function(_0x5d7dad){function _0x22b0c5(){var _0x22b0c5=arguments[0x0],_0x5ac9eb=arguments[0x1];_0x5d7dad['call'](this,_0x22b0c5,_0x5ac9eb),this[_0x1a4e('0x671')]=new _0x44b294(),this[_0x1a4e('0x37f')]=null,this[_0x1a4e('0x763')]=null,this[_0x1a4e('0x60e')]=null,this[_0x1a4e('0x5c2')]=new _0x36cc96(),this[_0x1a4e('0x764')]=new _0x389784(),this[_0x1a4e('0x6c9')]=new _0x389784(),this['_resultPointList']=new _0x389784(),this[_0x1a4e('0x60e')]=new _0x53100e(new _0x1b7452()),this[_0x1a4e('0x37f')]=_0x22b0c5[_0x1a4e('0x322')]();}return _0x5d7dad&&(_0x22b0c5['__proto__']=_0x5d7dad),_0x22b0c5[_0x1a4e('0xa')]=Object['create'](_0x5d7dad&&_0x5d7dad[_0x1a4e('0xa')]),_0x22b0c5[_0x1a4e('0xa')]['constructor']=_0x22b0c5,_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x765')]=function(_0x5d7dad){var _0x22b0c5=this['_edgeList'][_0x1a4e('0x5e1')](_0x5d7dad);if(null!==_0x22b0c5){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x43a')](),_0x261805=_0x5d7dad[_0x1a4e('0x43a')]();_0x22b0c5[_0x1a4e('0x608')](_0x5d7dad)||(_0x261805=new _0x20794b(_0x5d7dad[_0x1a4e('0x43a')]()))[_0x1a4e('0x41d')]();var _0x81bc8f=_0x22b0c5[_0x1a4e('0x413')]();_0x81bc8f[_0x1a4e('0x29d')]()&&_0x81bc8f[_0x1a4e('0x177')](_0x5ac9eb),_0x81bc8f[_0x1a4e('0x177')](_0x261805),_0x5ac9eb[_0x1a4e('0x41b')](_0x261805);}else this['_edgeList'][_0x1a4e('0x177')](_0x5d7dad);},_0x22b0c5['prototype'][_0x1a4e('0x6cc')]=function(){return this[_0x1a4e('0x60e')];},_0x22b0c5['prototype'][_0x1a4e('0x766')]=function(){for(var _0x5d7dad=this[_0x1a4e('0x60e')][_0x1a4e('0x492')]()[_0x1a4e('0x335')]();_0x5d7dad[_0x1a4e('0x336')]();){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x7e')](),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x416')]();_0x22b0c5[_0x1a4e('0x457')]()&&_0x5ac9eb[_0x1a4e('0x457')]()&&(_0x22b0c5[_0x1a4e('0x415')](!0x1),_0x5ac9eb[_0x1a4e('0x415')](!0x1));}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x6d7')]=function(_0x5d7dad){return!!this[_0x1a4e('0x44f')](_0x5d7dad,this[_0x1a4e('0x6c9')])||!!this['isCovered'](_0x5d7dad,this[_0x1a4e('0x764')]);},_0x22b0c5[_0x1a4e('0xa')]['computeGeometry']=function(_0x5d7dad,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42=new _0x389784();return _0x234f42[_0x1a4e('0x344')](_0x5d7dad),_0x234f42[_0x1a4e('0x344')](_0x5ac9eb),_0x234f42['addAll'](_0x261805),_0x234f42[_0x1a4e('0x149')]()?_0x22b0c5[_0x1a4e('0x767')](_0x81bc8f,this[_0x1a4e('0x760')][0x0][_0x1a4e('0x5cc')](),this[_0x1a4e('0x760')][0x1][_0x1a4e('0x5cc')](),this['_geomFact']):this['_geomFact'][_0x1a4e('0x3d8')](_0x234f42);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x768')]=function(){for(var _0x5d7dad=this[_0x1a4e('0x60e')][_0x1a4e('0x418')]()[_0x1a4e('0x335')]();_0x5d7dad[_0x1a4e('0x336')]();)_0x5d7dad[_0x1a4e('0x7e')]()['getEdges']()['mergeSymLabels']();},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x44f')]=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x335')]();_0x5ac9eb[_0x1a4e('0x336')]();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')]();if(this[_0x1a4e('0x671')][_0x1a4e('0x5bf')](_0x5d7dad,_0x261805)!==_0x2b3738[_0x1a4e('0x248')])return!0x0;}return!0x1;},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x769')]=function(){for(var _0x5d7dad=new _0x389784(),_0x22b0c5=this[_0x1a4e('0x5c2')][_0x1a4e('0x335')]();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5['next']();_0x5ac9eb[_0x1a4e('0x605')]()&&(_0x22b0c5[_0x1a4e('0x82')](),_0x5d7dad[_0x1a4e('0x177')](_0x5ac9eb[_0x1a4e('0x5ff')]()));}this[_0x1a4e('0x5c2')]['addAll'](_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x76a')]=function(){for(var _0x5d7dad=this['_graph'][_0x1a4e('0x418')]()[_0x1a4e('0x335')]();_0x5d7dad['hasNext']();){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x7e')](),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x3f7')]()[_0x1a4e('0x43a')]();_0x22b0c5[_0x1a4e('0x43a')]()[_0x1a4e('0x41b')](_0x5ac9eb);}},_0x22b0c5[_0x1a4e('0xa')]['getResultGeometry']=function(_0x5d7dad){return this['computeOverlay'](_0x5d7dad),this[_0x1a4e('0x763')];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x76b')]=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad['iterator']();_0x22b0c5['hasNext']();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();this[_0x1a4e('0x765')](_0x5ac9eb);}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x76c')]=function(_0x5d7dad){this['copyPoints'](0x0),this[_0x1a4e('0x76d')](0x1),this['_arg'][0x0]['computeSelfNodes'](this[_0x1a4e('0x56e')],!0x1),this[_0x1a4e('0x760')][0x1][_0x1a4e('0x753')](this[_0x1a4e('0x56e')],!0x1),this[_0x1a4e('0x760')][0x0][_0x1a4e('0x755')](this['_arg'][0x1],this[_0x1a4e('0x56e')],!0x0);var _0x22b0c5=new _0x389784();this[_0x1a4e('0x760')][0x0]['computeSplitEdges'](_0x22b0c5),this['_arg'][0x1][_0x1a4e('0x76e')](_0x22b0c5),this[_0x1a4e('0x76b')](_0x22b0c5),this[_0x1a4e('0x76f')](),this[_0x1a4e('0x769')](),_0x1b9398[_0x1a4e('0x622')](this[_0x1a4e('0x5c2')][_0x1a4e('0x3f7')]()),this[_0x1a4e('0x60e')][_0x1a4e('0x496')](this[_0x1a4e('0x5c2')][_0x1a4e('0x3f7')]()),this[_0x1a4e('0x5dc')](),this[_0x1a4e('0x770')](),this['findResultAreaEdges'](_0x5d7dad),this[_0x1a4e('0x766')]();var _0x5ac9eb=new _0x30f2c5(this[_0x1a4e('0x37f')]);_0x5ac9eb[_0x1a4e('0x177')](this[_0x1a4e('0x60e')]),this[_0x1a4e('0x764')]=_0x5ac9eb[_0x1a4e('0x49d')]();var _0x261805=new _0x9e8588(this,this['_geomFact'],this['_ptLocator']);this[_0x1a4e('0x6c9')]=_0x261805[_0x1a4e('0x4c6')](_0x5d7dad);var _0x81bc8f=new _0x4d626d(this,this[_0x1a4e('0x37f')],this[_0x1a4e('0x671')]);this['_resultPointList']=_0x81bc8f[_0x1a4e('0x4c6')](_0x5d7dad),this['_resultGeom']=this[_0x1a4e('0x64d')](this[_0x1a4e('0x6d8')],this['_resultLineList'],this[_0x1a4e('0x764')],_0x5d7dad);},_0x22b0c5[_0x1a4e('0xa')]['labelIncompleteNode']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=this['_ptLocator'][_0x1a4e('0x5bf')](_0x5d7dad[_0x1a4e('0x28e')](),this[_0x1a4e('0x760')][_0x22b0c5]['getGeometry']());_0x5d7dad[_0x1a4e('0x43a')]()['setLocation'](_0x22b0c5,_0x5ac9eb);},_0x22b0c5['prototype']['copyPoints']=function(_0x5d7dad){for(var _0x22b0c5=this['_arg'][_0x5d7dad]['getNodeIterator']();_0x22b0c5[_0x1a4e('0x336')]();){var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7e')]();this[_0x1a4e('0x60e')][_0x1a4e('0x45e')](_0x5ac9eb[_0x1a4e('0x28e')]())[_0x1a4e('0x451')](_0x5d7dad,_0x5ac9eb['getLabel']()[_0x1a4e('0x30d')](_0x5d7dad));}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x771')]=function(_0x5d7dad){for(var _0x5ac9eb=this[_0x1a4e('0x60e')][_0x1a4e('0x492')]()[_0x1a4e('0x335')]();_0x5ac9eb[_0x1a4e('0x336')]();){var _0x261805=_0x5ac9eb[_0x1a4e('0x7e')](),_0x81bc8f=_0x261805[_0x1a4e('0x43a')]();_0x81bc8f[_0x1a4e('0x420')]()&&!_0x261805[_0x1a4e('0x414')]()&&_0x22b0c5['isResultOfOp'](_0x81bc8f[_0x1a4e('0x30d')](0x0,_0x17e5f3[_0x1a4e('0x318')]),_0x81bc8f[_0x1a4e('0x30d')](0x1,_0x17e5f3['RIGHT']),_0x5d7dad)&&_0x261805[_0x1a4e('0x415')](!0x0);}},_0x22b0c5['prototype'][_0x1a4e('0x76f')]=function(){for(var _0x5d7dad=this[_0x1a4e('0x5c2')][_0x1a4e('0x335')]();_0x5d7dad['hasNext']();){var _0x22b0c5=_0x5d7dad['next'](),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x43a')](),_0x261805=_0x22b0c5[_0x1a4e('0x413')]();if(!_0x261805[_0x1a4e('0x29d')]()){_0x261805[_0x1a4e('0x330')]();for(var _0x81bc8f=0x0;_0x81bc8f<0x2;_0x81bc8f++)_0x5ac9eb[_0x1a4e('0x29d')](_0x81bc8f)||!_0x5ac9eb[_0x1a4e('0x420')]()||_0x261805[_0x1a4e('0x29d')](_0x81bc8f)||(0x0===_0x261805['getDelta'](_0x81bc8f)?_0x5ac9eb[_0x1a4e('0x42a')](_0x81bc8f):(_0x1e33dc[_0x1a4e('0x2d0')](!_0x261805[_0x1a4e('0x29d')](_0x81bc8f,_0x17e5f3['LEFT']),'depth\x20of\x20LEFT\x20side\x20has\x20not\x20been\x20initialized'),_0x5ac9eb[_0x1a4e('0x422')](_0x81bc8f,_0x17e5f3[_0x1a4e('0x3ea')],_0x261805[_0x1a4e('0x30d')](_0x81bc8f,_0x17e5f3[_0x1a4e('0x3ea')])),_0x1e33dc['isTrue'](!_0x261805['isNull'](_0x81bc8f,_0x17e5f3[_0x1a4e('0x318')]),_0x1a4e('0x772')),_0x5ac9eb[_0x1a4e('0x422')](_0x81bc8f,_0x17e5f3[_0x1a4e('0x318')],_0x261805['getLocation'](_0x81bc8f,_0x17e5f3[_0x1a4e('0x318')]))));}}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x5dc')]=function(){for(var _0x5d7dad=this[_0x1a4e('0x60e')][_0x1a4e('0x418')]()[_0x1a4e('0x335')]();_0x5d7dad[_0x1a4e('0x336')]();)_0x5d7dad[_0x1a4e('0x7e')]()[_0x1a4e('0x3f7')]()[_0x1a4e('0x5dc')](this[_0x1a4e('0x760')]);this['mergeSymLabels'](),this[_0x1a4e('0x76a')]();},_0x22b0c5[_0x1a4e('0xa')]['labelIncompleteNodes']=function(){for(var _0x5d7dad=this['_graph'][_0x1a4e('0x418')]()['iterator']();_0x5d7dad[_0x1a4e('0x336')]();){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x7e')](),_0x5ac9eb=_0x22b0c5[_0x1a4e('0x43a')]();_0x22b0c5[_0x1a4e('0x435')]()&&(_0x5ac9eb[_0x1a4e('0x29d')](0x0)?this[_0x1a4e('0x773')](_0x22b0c5,0x0):this[_0x1a4e('0x773')](_0x22b0c5,0x1)),_0x22b0c5[_0x1a4e('0x3f7')]()['updateLabelling'](_0x5ac9eb);}},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x774')]=function(_0x5d7dad){return!!this[_0x1a4e('0x44f')](_0x5d7dad,this[_0x1a4e('0x764')]);},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x22b0c5[_0x1a4e('0xa')][_0x1a4e('0x234')]=function(){return _0x22b0c5;},_0x22b0c5;}(_0x3912a5);_0x3d3ad9['overlayOp']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return new _0x3d3ad9(_0x5d7dad,_0x22b0c5)[_0x1a4e('0x64f')](_0x5ac9eb);},_0x3d3ad9[_0x1a4e('0x148')]=function(_0x5d7dad,_0x22b0c5){if(_0x5d7dad['isEmpty']()||_0x22b0c5[_0x1a4e('0x149')]())return _0x3d3ad9[_0x1a4e('0x767')](_0x3d3ad9[_0x1a4e('0x6d5')],_0x5d7dad,_0x22b0c5,_0x5d7dad[_0x1a4e('0x322')]());if(_0x5d7dad['isGeometryCollection']()){var _0x5ac9eb=_0x22b0c5;return _0x4f6ca4['map'](_0x5d7dad,{'interfaces_':function(){return[_0x12f146[_0x1a4e('0x762')]];},'map':function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x148')](_0x5ac9eb);}});}return _0x5d7dad['checkNotGeometryCollection'](_0x5d7dad),_0x5d7dad[_0x1a4e('0x32f')](_0x22b0c5),_0x4d0514[_0x1a4e('0x714')](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x6d5')]);},_0x3d3ad9[_0x1a4e('0x775')]=function(_0x5d7dad,_0x22b0c5){if(_0x5d7dad[_0x1a4e('0x149')]()||_0x22b0c5[_0x1a4e('0x149')]()){if(_0x5d7dad[_0x1a4e('0x149')]()&&_0x22b0c5[_0x1a4e('0x149')]())return _0x3d3ad9['createEmptyResult'](_0x3d3ad9['SYMDIFFERENCE'],_0x5d7dad,_0x22b0c5,_0x5d7dad[_0x1a4e('0x322')]());if(_0x5d7dad[_0x1a4e('0x149')]())return _0x22b0c5[_0x1a4e('0xea')]();if(_0x22b0c5[_0x1a4e('0x149')]())return _0x5d7dad[_0x1a4e('0xea')]();}return _0x5d7dad['checkNotGeometryCollection'](_0x5d7dad),_0x5d7dad[_0x1a4e('0x32f')](_0x22b0c5),_0x4d0514[_0x1a4e('0x714')](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x718')]);},_0x3d3ad9[_0x1a4e('0x776')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x22b0c5[_0x1a4e('0x290')](),_0x81bc8f=_0x5ac9eb[_0x1a4e('0x290')](),_0x234f42=-0x1;switch(_0x5d7dad){case _0x3d3ad9['INTERSECTION']:_0x234f42=Math[_0x1a4e('0x74')](_0x261805,_0x81bc8f);break;case _0x3d3ad9[_0x1a4e('0x717')]:_0x234f42=Math[_0x1a4e('0x6c')](_0x261805,_0x81bc8f);break;case _0x3d3ad9[_0x1a4e('0x71a')]:_0x234f42=_0x261805;break;case _0x3d3ad9[_0x1a4e('0x718')]:_0x234f42=Math[_0x1a4e('0x6c')](_0x261805,_0x81bc8f);}return _0x234f42;},_0x3d3ad9[_0x1a4e('0x767')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=null;switch(_0x3d3ad9[_0x1a4e('0x776')](_0x5d7dad,_0x22b0c5,_0x5ac9eb)){case-0x1:_0x81bc8f=_0x261805[_0x1a4e('0x2c9')](new Array(0x0)[_0x1a4e('0x22c')](null));break;case 0x0:_0x81bc8f=_0x261805[_0x1a4e('0x2bc')]();break;case 0x1:_0x81bc8f=_0x261805[_0x1a4e('0x2c2')]();break;case 0x2:_0x81bc8f=_0x261805[_0x1a4e('0x2c6')]();}return _0x81bc8f;},_0x3d3ad9[_0x1a4e('0x719')]=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x149')]()?_0x3d3ad9[_0x1a4e('0x767')](_0x3d3ad9[_0x1a4e('0x71a')],_0x5d7dad,_0x22b0c5,_0x5d7dad[_0x1a4e('0x322')]()):_0x22b0c5[_0x1a4e('0x149')]()?_0x5d7dad[_0x1a4e('0xea')]():(_0x5d7dad['checkNotGeometryCollection'](_0x5d7dad),_0x5d7dad[_0x1a4e('0x32f')](_0x22b0c5),_0x4d0514[_0x1a4e('0x714')](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x71a')]));},_0x3d3ad9[_0x1a4e('0x6d1')]=function(){if(0x2===arguments['length']){var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1],_0x5ac9eb=_0x5d7dad[_0x1a4e('0x30d')](0x0),_0x261805=_0x5d7dad[_0x1a4e('0x30d')](0x1);return _0x3d3ad9[_0x1a4e('0x6d1')](_0x5ac9eb,_0x261805,_0x22b0c5);}if(0x3===arguments[_0x1a4e('0x1e')]){var _0x81bc8f=arguments[0x0],_0x234f42=arguments[0x1],_0x153447=arguments[0x2];switch(_0x81bc8f===_0x2b3738[_0x1a4e('0x24c')]&&(_0x81bc8f=_0x2b3738[_0x1a4e('0x249')]),_0x234f42===_0x2b3738['BOUNDARY']&&(_0x234f42=_0x2b3738[_0x1a4e('0x249')]),_0x153447){case _0x3d3ad9[_0x1a4e('0x6d5')]:return _0x81bc8f===_0x2b3738[_0x1a4e('0x249')]&&_0x234f42===_0x2b3738[_0x1a4e('0x249')];case _0x3d3ad9[_0x1a4e('0x717')]:return _0x81bc8f===_0x2b3738[_0x1a4e('0x249')]||_0x234f42===_0x2b3738[_0x1a4e('0x249')];case _0x3d3ad9[_0x1a4e('0x71a')]:return _0x81bc8f===_0x2b3738[_0x1a4e('0x249')]&&_0x234f42!==_0x2b3738[_0x1a4e('0x249')];case _0x3d3ad9['SYMDIFFERENCE']:return _0x81bc8f===_0x2b3738[_0x1a4e('0x249')]&&_0x234f42!==_0x2b3738['INTERIOR']||_0x81bc8f!==_0x2b3738[_0x1a4e('0x249')]&&_0x234f42===_0x2b3738['INTERIOR'];}return!0x1;}},_0x3d3ad9[_0x1a4e('0x6d5')]=0x1,_0x3d3ad9[_0x1a4e('0x717')]=0x2,_0x3d3ad9['DIFFERENCE']=0x3,_0x3d3ad9[_0x1a4e('0x718')]=0x4;var _0x5a8aea=function(){this['_g']=null,this[_0x1a4e('0x777')]=null,this[_0x1a4e('0x778')]=null,this[_0x1a4e('0x671')]=new _0x44b294(),this[_0x1a4e('0x59f')]=new _0x3cf489();var _0x5d7dad=arguments[0x0],_0x22b0c5=arguments[0x1];this['_g']=_0x5d7dad,this['_boundaryDistanceTolerance']=_0x22b0c5,this[_0x1a4e('0x778')]=this['extractLinework'](_0x5d7dad);};_0x5a8aea[_0x1a4e('0xa')][_0x1a4e('0x779')]=function(_0x5d7dad){for(var _0x22b0c5=0x0;_0x22b0c5=_0x5d7dad[_0x1a4e('0x220')]()?null:_0x5d7dad[_0x1a4e('0x179')](_0x22b0c5);},_0x51e082[_0x1a4e('0x147')]=function(_0x5d7dad){return new _0x51e082(_0x5d7dad)[_0x1a4e('0x147')]();},_0x215a32[_0x1a4e('0x79b')][_0x1a4e('0x179')]=function(){return 0x4;},Object[_0x1a4e('0x1c8')](_0x51e082,_0x215a32);var _0x2ed1b7=function(){};_0x2ed1b7[_0x1a4e('0xa')][_0x1a4e('0x233')]=function(){return[];},_0x2ed1b7['prototype'][_0x1a4e('0x234')]=function(){return _0x2ed1b7;},_0x2ed1b7[_0x1a4e('0x147')]=function(_0x5d7dad,_0x22b0c5){if(_0x5d7dad[_0x1a4e('0x149')]()||_0x22b0c5[_0x1a4e('0x149')]()){if(_0x5d7dad[_0x1a4e('0x149')]()&&_0x22b0c5[_0x1a4e('0x149')]())return _0x3d3ad9[_0x1a4e('0x767')](_0x3d3ad9[_0x1a4e('0x717')],_0x5d7dad,_0x22b0c5,_0x5d7dad[_0x1a4e('0x322')]());if(_0x5d7dad[_0x1a4e('0x149')]())return _0x22b0c5[_0x1a4e('0xea')]();if(_0x22b0c5[_0x1a4e('0x149')]())return _0x5d7dad['copy']();}return _0x5d7dad[_0x1a4e('0x32f')](_0x5d7dad),_0x5d7dad[_0x1a4e('0x32f')](_0x22b0c5),_0x4d0514['overlayOp'](_0x5d7dad,_0x22b0c5,_0x3d3ad9[_0x1a4e('0x717')]);};var _0x373a20=function(){return new _0x3b0a67();};_0x3b0a67[_0x1a4e('0xa')]={'constructor':_0x3b0a67,'reset':function(){this['s']=this['t']=0x0;},'add':function(_0x5d7dad){_0x2e0f09(_0x119a65,_0x5d7dad,this['t']),_0x2e0f09(this,_0x119a65['s'],this['s']),this['s']?this['t']+=_0x119a65['t']:this['s']=_0x119a65['t'];},'valueOf':function(){return this['s'];}};var _0x119a65=new _0x3b0a67(),_0x48b442=0.000001,_0x2cc268=Math['PI'],_0x8b3a64=_0x2cc268/0x2,_0x5457b9=_0x2cc268/0x4,_0x4239a9=0x2*_0x2cc268,_0x2b9027=0xb4/_0x2cc268,_0x27c309=_0x2cc268/0xb4,_0x308a4b=Math[_0x1a4e('0x65')],_0xd775e5=Math[_0x1a4e('0xc2')],_0x3af052=Math[_0x1a4e('0xa6')],_0x55501c=Math[_0x1a4e('0x90')],_0x179d26=Math[_0x1a4e('0xc3')],_0x3c2050=Math[_0x1a4e('0x58')],_0x564894=Math[_0x1a4e('0x8f')],_0xf7d11b=Math[_0x1a4e('0x91')],_0x4522ea=Math[_0x1a4e('0xbe')],_0x521d30={'Feature':function(_0x5d7dad,_0x22b0c5){_0x3dc0c7(_0x5d7dad['geometry'],_0x22b0c5);},'FeatureCollection':function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x25')],_0x261805=-0x1,_0x81bc8f=_0x5ac9eb[_0x1a4e('0x1e')];++_0x261805<_0x81bc8f;)_0x3dc0c7(_0x5ac9eb[_0x261805][_0x1a4e('0x18')],_0x22b0c5);}},_0x7be98f={'Sphere':function(_0x5d7dad,_0x22b0c5){_0x22b0c5[_0x1a4e('0x7a1')]();},'Point':function(_0x5d7dad,_0x22b0c5){_0x5d7dad=_0x5d7dad['coordinates'],_0x22b0c5[_0x1a4e('0xc4')](_0x5d7dad[0x0],_0x5d7dad[0x1],_0x5d7dad[0x2]);},'MultiPoint':function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x43')],_0x261805=-0x1,_0x81bc8f=_0x5ac9eb[_0x1a4e('0x1e')];++_0x261805<_0x81bc8f;)_0x5d7dad=_0x5ac9eb[_0x261805],_0x22b0c5[_0x1a4e('0xc4')](_0x5d7dad[0x0],_0x5d7dad[0x1],_0x5d7dad[0x2]);},'LineString':function(_0x5d7dad,_0x22b0c5){_0x3f0177(_0x5d7dad[_0x1a4e('0x43')],_0x22b0c5,0x0);},'MultiLineString':function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x43')],_0x261805=-0x1,_0x81bc8f=_0x5ac9eb[_0x1a4e('0x1e')];++_0x261805<_0x81bc8f;)_0x3f0177(_0x5ac9eb[_0x261805],_0x22b0c5,0x0);},'Polygon':function(_0x5d7dad,_0x22b0c5){_0xde922c(_0x5d7dad[_0x1a4e('0x43')],_0x22b0c5);},'MultiPolygon':function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x43')],_0x261805=-0x1,_0x81bc8f=_0x5ac9eb['length'];++_0x261805<_0x81bc8f;)_0xde922c(_0x5ac9eb[_0x261805],_0x22b0c5);},'GeometryCollection':function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x42')],_0x261805=-0x1,_0x81bc8f=_0x5ac9eb[_0x1a4e('0x1e')];++_0x261805<_0x81bc8f;)_0x3dc0c7(_0x5ac9eb[_0x261805],_0x22b0c5);}},_0x4199eb=function(_0x5d7dad,_0x22b0c5){_0x5d7dad&&_0x521d30[_0x1a4e('0xb')](_0x5d7dad[_0x1a4e('0x40')])?_0x521d30[_0x5d7dad[_0x1a4e('0x40')]](_0x5d7dad,_0x22b0c5):_0x3dc0c7(_0x5d7dad,_0x22b0c5);},_0x11d208=(_0x373a20(),_0x373a20(),_0x373a20(),function(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x5ac9eb,_0x261805){return _0x5ac9eb=_0x5d7dad(_0x5ac9eb,_0x261805),_0x22b0c5(_0x5ac9eb[0x0],_0x5ac9eb[0x1]);}return _0x5d7dad[_0x1a4e('0x13d')]&&_0x22b0c5[_0x1a4e('0x13d')]&&(_0x5ac9eb['invert']=function(_0x5ac9eb,_0x261805){return(_0x5ac9eb=_0x22b0c5['invert'](_0x5ac9eb,_0x261805))&&_0x5d7dad[_0x1a4e('0x13d')](_0x5ac9eb[0x0],_0x5ac9eb[0x1]);}),_0x5ac9eb;});_0x48bf9b[_0x1a4e('0x13d')]=_0x48bf9b;var _0x1d05fb=function(_0x5d7dad){function _0x22b0c5(_0x22b0c5){return(_0x22b0c5=_0x5d7dad(_0x22b0c5[0x0]*_0x27c309,_0x22b0c5[0x1]*_0x27c309))[0x0]*=_0x2b9027,_0x22b0c5[0x1]*=_0x2b9027,_0x22b0c5;}return _0x5d7dad=_0x24811a(_0x5d7dad[0x0]*_0x27c309,_0x5d7dad[0x1]*_0x27c309,_0x5d7dad[_0x1a4e('0x1e')]>0x2?_0x5d7dad[0x2]*_0x27c309:0x0),_0x22b0c5[_0x1a4e('0x13d')]=function(_0x22b0c5){return(_0x22b0c5=_0x5d7dad[_0x1a4e('0x13d')](_0x22b0c5[0x0]*_0x27c309,_0x22b0c5[0x1]*_0x27c309))[0x0]*=_0x2b9027,_0x22b0c5[0x1]*=_0x2b9027,_0x22b0c5;},_0x22b0c5;},_0x39c2df=function(){var _0x5d7dad,_0x22b0c5=[];return{'point':function(_0x22b0c5,_0x5ac9eb){_0x5d7dad['push']([_0x22b0c5,_0x5ac9eb]);},'lineStart':function(){_0x22b0c5['push'](_0x5d7dad=[]);},'lineEnd':_0x8399cc,'rejoin':function(){_0x22b0c5['length']>0x1&&_0x22b0c5[_0x1a4e('0x46')](_0x22b0c5[_0x1a4e('0x76')]()[_0x1a4e('0x9a')](_0x22b0c5['shift']()));},'result':function(){var _0x5ac9eb=_0x22b0c5;return _0x22b0c5=[],_0x5d7dad=null,_0x5ac9eb;}};},_0x1e51b0=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){var _0x153447,_0x1972c2=_0x5d7dad[0x0],_0x3376f9=_0x5d7dad[0x1],_0x5dae0e=0x0,_0x3d7f02=0x1,_0x146559=_0x22b0c5[0x0]-_0x1972c2,_0x184c89=_0x22b0c5[0x1]-_0x3376f9;if(_0x153447=_0x5ac9eb-_0x1972c2,_0x146559||!(_0x153447>0x0)){if(_0x153447/=_0x146559,_0x146559<0x0){if(_0x153447<_0x5dae0e)return;_0x153447<_0x3d7f02&&(_0x3d7f02=_0x153447);}else if(_0x146559>0x0){if(_0x153447>_0x3d7f02)return;_0x153447>_0x5dae0e&&(_0x5dae0e=_0x153447);}if(_0x153447=_0x81bc8f-_0x1972c2,_0x146559||!(_0x153447<0x0)){if(_0x153447/=_0x146559,_0x146559<0x0){if(_0x153447>_0x3d7f02)return;_0x153447>_0x5dae0e&&(_0x5dae0e=_0x153447);}else if(_0x146559>0x0){if(_0x153447<_0x5dae0e)return;_0x153447<_0x3d7f02&&(_0x3d7f02=_0x153447);}if(_0x153447=_0x261805-_0x3376f9,_0x184c89||!(_0x153447>0x0)){if(_0x153447/=_0x184c89,_0x184c89<0x0){if(_0x153447<_0x5dae0e)return;_0x153447<_0x3d7f02&&(_0x3d7f02=_0x153447);}else if(_0x184c89>0x0){if(_0x153447>_0x3d7f02)return;_0x153447>_0x5dae0e&&(_0x5dae0e=_0x153447);}if(_0x153447=_0x234f42-_0x3376f9,_0x184c89||!(_0x153447<0x0)){if(_0x153447/=_0x184c89,_0x184c89<0x0){if(_0x153447>_0x3d7f02)return;_0x153447>_0x5dae0e&&(_0x5dae0e=_0x153447);}else if(_0x184c89>0x0){if(_0x153447<_0x5dae0e)return;_0x153447<_0x3d7f02&&(_0x3d7f02=_0x153447);}return _0x5dae0e>0x0&&(_0x5d7dad[0x0]=_0x1972c2+_0x5dae0e*_0x146559,_0x5d7dad[0x1]=_0x3376f9+_0x5dae0e*_0x184c89),_0x3d7f02<0x1&&(_0x22b0c5[0x0]=_0x1972c2+_0x3d7f02*_0x146559,_0x22b0c5[0x1]=_0x3376f9+_0x3d7f02*_0x184c89),!0x0;}}}}},_0x20b497=function(_0x5d7dad,_0x22b0c5){return _0x308a4b(_0x5d7dad[0x0]-_0x22b0c5[0x0])<_0x48b442&&_0x308a4b(_0x5d7dad[0x1]-_0x22b0c5[0x1])<_0x48b442;},_0x4e7ad0=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){var _0x234f42,_0x153447,_0x1972c2=[],_0x3376f9=[];if(_0x5d7dad['forEach'](function(_0x5d7dad){if(!((_0x22b0c5=_0x5d7dad[_0x1a4e('0x1e')]-0x1)<=0x0)){var _0x22b0c5,_0x5ac9eb,_0x261805=_0x5d7dad[0x0],_0x153447=_0x5d7dad[_0x22b0c5];if(_0x20b497(_0x261805,_0x153447)){for(_0x81bc8f[_0x1a4e('0x13a')](),_0x234f42=0x0;_0x234f42<_0x22b0c5;++_0x234f42)_0x81bc8f[_0x1a4e('0xc4')]((_0x261805=_0x5d7dad[_0x234f42])[0x0],_0x261805[0x1]);_0x81bc8f[_0x1a4e('0x13b')]();}else _0x1972c2['push'](_0x5ac9eb=new _0x3a2653(_0x261805,_0x5d7dad,null,!0x0)),_0x3376f9[_0x1a4e('0x46')](_0x5ac9eb['o']=new _0x3a2653(_0x261805,null,_0x5ac9eb,!0x1)),_0x1972c2[_0x1a4e('0x46')](_0x5ac9eb=new _0x3a2653(_0x153447,_0x5d7dad,null,!0x1)),_0x3376f9[_0x1a4e('0x46')](_0x5ac9eb['o']=new _0x3a2653(_0x153447,null,_0x5ac9eb,!0x0));}}),_0x1972c2['length']){for(_0x3376f9[_0x1a4e('0x89')](_0x22b0c5),_0x18d875(_0x1972c2),_0x18d875(_0x3376f9),_0x234f42=0x0,_0x153447=_0x3376f9[_0x1a4e('0x1e')];_0x234f42<_0x153447;++_0x234f42)_0x3376f9[_0x234f42]['e']=_0x5ac9eb=!_0x5ac9eb;for(var _0x5dae0e,_0x3d7f02,_0x146559=_0x1972c2[0x0];;){for(var _0x184c89=_0x146559,_0x4198ed=!0x0;_0x184c89['v'];)if((_0x184c89=_0x184c89['n'])===_0x146559)return;_0x5dae0e=_0x184c89['z'],_0x81bc8f[_0x1a4e('0x13a')]();do{if(_0x184c89['v']=_0x184c89['o']['v']=!0x0,_0x184c89['e']){if(_0x4198ed)for(_0x234f42=0x0,_0x153447=_0x5dae0e['length'];_0x234f42<_0x153447;++_0x234f42)_0x81bc8f[_0x1a4e('0xc4')]((_0x3d7f02=_0x5dae0e[_0x234f42])[0x0],_0x3d7f02[0x1]);else _0x261805(_0x184c89['x'],_0x184c89['n']['x'],0x1,_0x81bc8f);_0x184c89=_0x184c89['n'];}else{if(_0x4198ed)for(_0x5dae0e=_0x184c89['p']['z'],_0x234f42=_0x5dae0e['length']-0x1;_0x234f42>=0x0;--_0x234f42)_0x81bc8f[_0x1a4e('0xc4')]((_0x3d7f02=_0x5dae0e[_0x234f42])[0x0],_0x3d7f02[0x1]);else _0x261805(_0x184c89['x'],_0x184c89['p']['x'],-0x1,_0x81bc8f);_0x184c89=_0x184c89['p'];}_0x5dae0e=(_0x184c89=_0x184c89['o'])['z'],_0x4198ed=!_0x4198ed;}while(!_0x184c89['v']);_0x81bc8f[_0x1a4e('0x13b')]();}}},_0x3c9b93=function(_0x5d7dad,_0x22b0c5){return _0x5d7dad<_0x22b0c5?-0x1:_0x5d7dad>_0x22b0c5?0x1:_0x5d7dad>=_0x22b0c5?0x0:NaN;},_0x2fa28b=(function(_0x5d7dad){0x1===_0x5d7dad[_0x1a4e('0x1e')]&&(_0x5d7dad=function(_0x5d7dad){return function(_0x22b0c5,_0x5ac9eb){return _0x3c9b93(_0x5d7dad(_0x22b0c5),_0x5ac9eb);};}(_0x5d7dad));}(_0x3c9b93),function(_0x5d7dad){for(var _0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f=_0x5d7dad[_0x1a4e('0x1e')],_0x234f42=-0x1,_0x153447=0x0;++_0x234f42<_0x81bc8f;)_0x153447+=_0x5d7dad[_0x234f42][_0x1a4e('0x1e')];for(_0x5ac9eb=new Array(_0x153447);--_0x81bc8f>=0x0;)for(_0x22b0c5=(_0x261805=_0x5d7dad[_0x81bc8f])[_0x1a4e('0x1e')];--_0x22b0c5>=0x0;)_0x5ac9eb[--_0x153447]=_0x261805[_0x22b0c5];return _0x5ac9eb;}),_0x3b6392=0x3b9aca00,_0x31d78d=-_0x3b6392,_0x5bb322=_0x373a20(),_0x162916=(_0x373a20(),function(_0x5d7dad){return _0x5d7dad;}),_0x3dfa1f=(_0x373a20(),_0x373a20(),0x1/0x0),_0x11d081=_0x3dfa1f,_0x1499e6=-_0x3dfa1f,_0x40cb4b=_0x1499e6,_0x2f42d7={'point':function(_0x5d7dad,_0x22b0c5){_0x5d7dad<_0x3dfa1f&&(_0x3dfa1f=_0x5d7dad),_0x5d7dad>_0x1499e6&&(_0x1499e6=_0x5d7dad),_0x22b0c5<_0x11d081&&(_0x11d081=_0x22b0c5),_0x22b0c5>_0x40cb4b&&(_0x40cb4b=_0x22b0c5);},'lineStart':_0x8399cc,'lineEnd':_0x8399cc,'polygonStart':_0x8399cc,'polygonEnd':_0x8399cc,'result':function(){var _0x5d7dad=[[_0x3dfa1f,_0x11d081],[_0x1499e6,_0x40cb4b]];return _0x1499e6=_0x40cb4b=-(_0x11d081=_0x3dfa1f=0x1/0x0),_0x5d7dad;}},_0xd4297=(_0x373a20(),function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){return function(_0x81bc8f,_0x234f42){function _0x153447(_0x22b0c5,_0x5ac9eb){var _0x261805=_0x81bc8f(_0x22b0c5,_0x5ac9eb);_0x5d7dad(_0x22b0c5=_0x261805[0x0],_0x5ac9eb=_0x261805[0x1])&&_0x234f42['point'](_0x22b0c5,_0x5ac9eb);}function _0x1972c2(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x81bc8f(_0x5d7dad,_0x22b0c5);_0x39638f[_0x1a4e('0xc4')](_0x5ac9eb[0x0],_0x5ac9eb[0x1]);}function _0x3376f9(){_0x3ff7f9['point']=_0x1972c2,_0x39638f[_0x1a4e('0x13a')]();}function _0x5dae0e(){_0x3ff7f9[_0x1a4e('0xc4')]=_0x153447,_0x39638f[_0x1a4e('0x13b')]();}function _0x3d7f02(_0x5d7dad,_0x22b0c5){_0x4eb09b[_0x1a4e('0x46')]([_0x5d7dad,_0x22b0c5]);var _0x5ac9eb=_0x81bc8f(_0x5d7dad,_0x22b0c5);_0x527605['point'](_0x5ac9eb[0x0],_0x5ac9eb[0x1]);}function _0x146559(){_0x527605['lineStart'](),_0x4eb09b=[];}function _0x184c89(){_0x3d7f02(_0x4eb09b[0x0][0x0],_0x4eb09b[0x0][0x1]),_0x527605[_0x1a4e('0x13b')]();var _0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f=_0x527605['clean'](),_0x153447=_0x55366a[_0x1a4e('0x13f')](),_0x1972c2=_0x153447[_0x1a4e('0x1e')];if(_0x4eb09b[_0x1a4e('0x76')](),_0x4198ed[_0x1a4e('0x46')](_0x4eb09b),_0x4eb09b=null,_0x1972c2)if(0x1&_0x81bc8f){if(_0x5ac9eb=_0x153447[0x0],(_0x22b0c5=_0x5ac9eb[_0x1a4e('0x1e')]-0x1)>0x0){for(_0x4b8927||(_0x234f42[_0x1a4e('0x7a2')](),_0x4b8927=!0x0),_0x234f42['lineStart'](),_0x5d7dad=0x0;_0x5d7dad<_0x22b0c5;++_0x5d7dad)_0x234f42[_0x1a4e('0xc4')]((_0x261805=_0x5ac9eb[_0x5d7dad])[0x0],_0x261805[0x1]);_0x234f42[_0x1a4e('0x13b')]();}}else _0x1972c2>0x1&&0x2&_0x81bc8f&&_0x153447[_0x1a4e('0x46')](_0x153447[_0x1a4e('0x76')]()[_0x1a4e('0x9a')](_0x153447['shift']())),_0x41179c['push'](_0x153447[_0x1a4e('0xd9')](_0x5ad604));}var _0x4198ed,_0x41179c,_0x4eb09b,_0x39638f=_0x22b0c5(_0x234f42),_0x40b220=_0x81bc8f[_0x1a4e('0x13d')](_0x261805[0x0],_0x261805[0x1]),_0x55366a=_0x39c2df(),_0x527605=_0x22b0c5(_0x55366a),_0x4b8927=!0x1,_0x3ff7f9={'point':_0x153447,'lineStart':_0x3376f9,'lineEnd':_0x5dae0e,'polygonStart':function(){_0x3ff7f9['point']=_0x3d7f02,_0x3ff7f9[_0x1a4e('0x13a')]=_0x146559,_0x3ff7f9[_0x1a4e('0x13b')]=_0x184c89,_0x41179c=[],_0x4198ed=[];},'polygonEnd':function(){_0x3ff7f9[_0x1a4e('0xc4')]=_0x153447,_0x3ff7f9[_0x1a4e('0x13a')]=_0x3376f9,_0x3ff7f9[_0x1a4e('0x13b')]=_0x5dae0e,_0x41179c=_0x2fa28b(_0x41179c);var _0x5d7dad=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x22b0c5[0x0],_0x261805=_0x22b0c5[0x1],_0x81bc8f=[_0x564894(_0x5ac9eb),-_0x55501c(_0x5ac9eb),0x0],_0x234f42=0x0,_0x153447=0x0;_0x5bb322[_0x1a4e('0x138')]();for(var _0x1972c2=0x0,_0x3376f9=_0x5d7dad[_0x1a4e('0x1e')];_0x1972c2<_0x3376f9;++_0x1972c2)if(_0x3d7f02=(_0x5dae0e=_0x5d7dad[_0x1972c2])[_0x1a4e('0x1e')])for(var _0x5dae0e,_0x3d7f02,_0x146559=_0x5dae0e[_0x3d7f02-0x1],_0x184c89=_0x146559[0x0],_0x4198ed=_0x146559[0x1]/0x2+_0x5457b9,_0x41179c=_0x564894(_0x4198ed),_0x4eb09b=_0x55501c(_0x4198ed),_0x39638f=0x0;_0x39638f<_0x3d7f02;++_0x39638f,_0x184c89=_0x55366a,_0x41179c=_0x4b8927,_0x4eb09b=_0x3ff7f9,_0x146559=_0x40b220){var _0x40b220=_0x5dae0e[_0x39638f],_0x55366a=_0x40b220[0x0],_0x527605=_0x40b220[0x1]/0x2+_0x5457b9,_0x4b8927=_0x564894(_0x527605),_0x3ff7f9=_0x55501c(_0x527605),_0x3b62c2=_0x55366a-_0x184c89,_0x556755=_0x3b62c2>=0x0?0x1:-0x1,_0x162a48=_0x556755*_0x3b62c2,_0x4f92fa=_0x162a48>_0x2cc268,_0x4fae53=_0x41179c*_0x4b8927;if(_0x5bb322[_0x1a4e('0x177')](_0x3af052(_0x4fae53*_0x556755*_0x564894(_0x162a48),_0x4eb09b*_0x3ff7f9+_0x4fae53*_0x55501c(_0x162a48))),_0x234f42+=_0x4f92fa?_0x3b62c2+_0x556755*_0x4239a9:_0x3b62c2,_0x4f92fa^_0x184c89>=_0x5ac9eb^_0x55366a>=_0x5ac9eb){var _0x40eeaf=_0xbb374b(_0x448bf8(_0x146559),_0x448bf8(_0x40b220));_0xad92e8(_0x40eeaf);var _0x34483c=_0xbb374b(_0x81bc8f,_0x40eeaf);_0xad92e8(_0x34483c);var _0x7d6acf=(_0x4f92fa^_0x3b62c2>=0x0?-0x1:0x1)*_0x2c4521(_0x34483c[0x2]);(_0x261805>_0x7d6acf||_0x261805===_0x7d6acf&&(_0x40eeaf[0x0]||_0x40eeaf[0x1]))&&(_0x153447+=_0x4f92fa^_0x3b62c2>=0x0?0x1:-0x1);}}return(_0x234f42<-_0x48b442||_0x234f42<_0x48b442&&_0x5bb322<-_0x48b442)^0x1&_0x153447;}(_0x4198ed,_0x40b220);_0x41179c[_0x1a4e('0x1e')]?(_0x4b8927||(_0x234f42[_0x1a4e('0x7a2')](),_0x4b8927=!0x0),_0x4e7ad0(_0x41179c,_0x54cbd2,_0x5d7dad,_0x5ac9eb,_0x234f42)):_0x5d7dad&&(_0x4b8927||(_0x234f42[_0x1a4e('0x7a2')](),_0x4b8927=!0x0),_0x234f42[_0x1a4e('0x13a')](),_0x5ac9eb(null,null,0x1,_0x234f42),_0x234f42[_0x1a4e('0x13b')]()),_0x4b8927&&(_0x234f42[_0x1a4e('0x13c')](),_0x4b8927=!0x1),_0x41179c=_0x4198ed=null;},'sphere':function(){_0x234f42[_0x1a4e('0x7a2')](),_0x234f42['lineStart'](),_0x5ac9eb(null,null,0x1,_0x234f42),_0x234f42[_0x1a4e('0x13b')](),_0x234f42[_0x1a4e('0x13c')]();}};return _0x3ff7f9;};}),_0x5c54e7=_0xd4297(function(){return!0x0;},function(_0x5d7dad){var _0x22b0c5,_0x5ac9eb=NaN,_0x261805=NaN,_0x81bc8f=NaN;return{'lineStart':function(){_0x5d7dad['lineStart'](),_0x22b0c5=0x1;},'point':function(_0x234f42,_0x153447){var _0x1972c2=_0x234f42>0x0?_0x2cc268:-_0x2cc268,_0x3376f9=_0x308a4b(_0x234f42-_0x5ac9eb);_0x308a4b(_0x3376f9-_0x2cc268)<_0x48b442?(_0x5d7dad[_0x1a4e('0xc4')](_0x5ac9eb,_0x261805=(_0x261805+_0x153447)/0x2>0x0?_0x8b3a64:-_0x8b3a64),_0x5d7dad[_0x1a4e('0xc4')](_0x81bc8f,_0x261805),_0x5d7dad[_0x1a4e('0x13b')](),_0x5d7dad[_0x1a4e('0x13a')](),_0x5d7dad['point'](_0x1972c2,_0x261805),_0x5d7dad[_0x1a4e('0xc4')](_0x234f42,_0x261805),_0x22b0c5=0x0):_0x81bc8f!==_0x1972c2&&_0x3376f9>=_0x2cc268&&(_0x308a4b(_0x5ac9eb-_0x81bc8f)<_0x48b442&&(_0x5ac9eb-=_0x81bc8f*_0x48b442),_0x308a4b(_0x234f42-_0x1972c2)<_0x48b442&&(_0x234f42-=_0x1972c2*_0x48b442),_0x261805=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f,_0x234f42,_0x153447=_0x564894(_0x5d7dad-_0x5ac9eb);return _0x308a4b(_0x153447)>_0x48b442?_0xd775e5((_0x564894(_0x22b0c5)*(_0x234f42=_0x55501c(_0x261805))*_0x564894(_0x5ac9eb)-_0x564894(_0x261805)*(_0x81bc8f=_0x55501c(_0x22b0c5))*_0x564894(_0x5d7dad))/(_0x81bc8f*_0x234f42*_0x153447)):(_0x22b0c5+_0x261805)/0x2;}(_0x5ac9eb,_0x261805,_0x234f42,_0x153447),_0x5d7dad[_0x1a4e('0xc4')](_0x81bc8f,_0x261805),_0x5d7dad['lineEnd'](),_0x5d7dad[_0x1a4e('0x13a')](),_0x5d7dad[_0x1a4e('0xc4')](_0x1972c2,_0x261805),_0x22b0c5=0x0),_0x5d7dad[_0x1a4e('0xc4')](_0x5ac9eb=_0x234f42,_0x261805=_0x153447),_0x81bc8f=_0x1972c2;},'lineEnd':function(){_0x5d7dad['lineEnd'](),_0x5ac9eb=_0x261805=NaN;},'clean':function(){return 0x2-_0x22b0c5;}};},function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f;if(null==_0x5d7dad)_0x81bc8f=_0x5ac9eb*_0x8b3a64,_0x261805[_0x1a4e('0xc4')](-_0x2cc268,_0x81bc8f),_0x261805['point'](0x0,_0x81bc8f),_0x261805[_0x1a4e('0xc4')](_0x2cc268,_0x81bc8f),_0x261805[_0x1a4e('0xc4')](_0x2cc268,0x0),_0x261805[_0x1a4e('0xc4')](_0x2cc268,-_0x81bc8f),_0x261805[_0x1a4e('0xc4')](0x0,-_0x81bc8f),_0x261805[_0x1a4e('0xc4')](-_0x2cc268,-_0x81bc8f),_0x261805['point'](-_0x2cc268,0x0),_0x261805[_0x1a4e('0xc4')](-_0x2cc268,_0x81bc8f);else if(_0x308a4b(_0x5d7dad[0x0]-_0x22b0c5[0x0])>_0x48b442){var _0x234f42=_0x5d7dad[0x0]<_0x22b0c5[0x0]?_0x2cc268:-_0x2cc268;_0x81bc8f=_0x5ac9eb*_0x234f42/0x2,_0x261805[_0x1a4e('0xc4')](-_0x234f42,_0x81bc8f),_0x261805[_0x1a4e('0xc4')](0x0,_0x81bc8f),_0x261805[_0x1a4e('0xc4')](_0x234f42,_0x81bc8f);}else _0x261805[_0x1a4e('0xc4')](_0x22b0c5[0x0],_0x22b0c5[0x1]);},[-_0x2cc268,-_0x8b3a64]),_0x3fe30b=function(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x5d7dad,_0x22b0c5){return _0x55501c(_0x5d7dad)*_0x55501c(_0x22b0c5)>_0x234f42;}function _0x261805(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=[0x1,0x0,0x0],_0x81bc8f=_0xbb374b(_0x448bf8(_0x5d7dad),_0x448bf8(_0x22b0c5)),_0x153447=_0x333eb0(_0x81bc8f,_0x81bc8f),_0x1972c2=_0x81bc8f[0x0],_0x3376f9=_0x153447-_0x1972c2*_0x1972c2;if(!_0x3376f9)return!_0x5ac9eb&&_0x5d7dad;var _0x5dae0e=_0x234f42*_0x153447/_0x3376f9,_0x3d7f02=-_0x234f42*_0x1972c2/_0x3376f9,_0x146559=_0xbb374b(_0x261805,_0x81bc8f),_0x184c89=_0x1af91f(_0x261805,_0x5dae0e);_0x316e68(_0x184c89,_0x1af91f(_0x81bc8f,_0x3d7f02));var _0x4198ed=_0x146559,_0x41179c=_0x333eb0(_0x184c89,_0x4198ed),_0x4eb09b=_0x333eb0(_0x4198ed,_0x4198ed),_0x39638f=_0x41179c*_0x41179c-_0x4eb09b*(_0x333eb0(_0x184c89,_0x184c89)-0x1);if(!(_0x39638f<0x0)){var _0x40b220=_0xf7d11b(_0x39638f),_0x55366a=_0x1af91f(_0x4198ed,(-_0x41179c-_0x40b220)/_0x4eb09b);if(_0x316e68(_0x55366a,_0x184c89),_0x55366a=_0x357c50(_0x55366a),!_0x5ac9eb)return _0x55366a;var _0x527605,_0x4b8927=_0x5d7dad[0x0],_0x3ff7f9=_0x22b0c5[0x0],_0x3b62c2=_0x5d7dad[0x1],_0x556755=_0x22b0c5[0x1];_0x3ff7f9<_0x4b8927&&(_0x527605=_0x4b8927,_0x4b8927=_0x3ff7f9,_0x3ff7f9=_0x527605);var _0x162a48=_0x3ff7f9-_0x4b8927,_0x4f92fa=_0x308a4b(_0x162a48-_0x2cc268)<_0x48b442;if(!_0x4f92fa&&_0x556755<_0x3b62c2&&(_0x527605=_0x3b62c2,_0x3b62c2=_0x556755,_0x556755=_0x527605),_0x4f92fa||_0x162a48<_0x48b442?_0x4f92fa?_0x3b62c2+_0x556755>0x0^_0x55366a[0x1]<(_0x308a4b(_0x55366a[0x0]-_0x4b8927)<_0x48b442?_0x3b62c2:_0x556755):_0x3b62c2<=_0x55366a[0x1]&&_0x55366a[0x1]<=_0x556755:_0x162a48>_0x2cc268^(_0x4b8927<=_0x55366a[0x0]&&_0x55366a[0x0]<=_0x3ff7f9)){var _0x4fae53=_0x1af91f(_0x4198ed,(-_0x41179c+_0x40b220)/_0x4eb09b);return _0x316e68(_0x4fae53,_0x184c89),[_0x55366a,_0x357c50(_0x4fae53)];}}}function _0x81bc8f(_0x22b0c5,_0x5ac9eb){var _0x261805=_0x153447?_0x5d7dad:_0x2cc268-_0x5d7dad,_0x81bc8f=0x0;return _0x22b0c5<-_0x261805?_0x81bc8f|=0x1:_0x22b0c5>_0x261805&&(_0x81bc8f|=0x2),_0x5ac9eb<-_0x261805?_0x81bc8f|=0x4:_0x5ac9eb>_0x261805&&(_0x81bc8f|=0x8),_0x81bc8f;}var _0x234f42=_0x55501c(_0x5d7dad),_0x153447=_0x234f42>0x0,_0x1972c2=_0x308a4b(_0x234f42)>_0x48b442;return _0xd4297(_0x5ac9eb,function(_0x5d7dad){var _0x22b0c5,_0x234f42,_0x3376f9,_0x5dae0e,_0x3d7f02;return{'lineStart':function(){_0x5dae0e=_0x3376f9=!0x1,_0x3d7f02=0x1;},'point':function(_0x146559,_0x184c89){var _0x4198ed,_0x41179c=[_0x146559,_0x184c89],_0x4eb09b=_0x5ac9eb(_0x146559,_0x184c89),_0x39638f=_0x153447?_0x4eb09b?0x0:_0x81bc8f(_0x146559,_0x184c89):_0x4eb09b?_0x81bc8f(_0x146559+(_0x146559<0x0?_0x2cc268:-_0x2cc268),_0x184c89):0x0;if(!_0x22b0c5&&(_0x5dae0e=_0x3376f9=_0x4eb09b)&&_0x5d7dad[_0x1a4e('0x13a')](),_0x4eb09b!==_0x3376f9&&(!(_0x4198ed=_0x261805(_0x22b0c5,_0x41179c))||_0x20b497(_0x22b0c5,_0x4198ed)||_0x20b497(_0x41179c,_0x4198ed))&&(_0x41179c[0x0]+=_0x48b442,_0x41179c[0x1]+=_0x48b442,_0x4eb09b=_0x5ac9eb(_0x41179c[0x0],_0x41179c[0x1])),_0x4eb09b!==_0x3376f9)_0x3d7f02=0x0,_0x4eb09b?(_0x5d7dad[_0x1a4e('0x13a')](),_0x4198ed=_0x261805(_0x41179c,_0x22b0c5),_0x5d7dad['point'](_0x4198ed[0x0],_0x4198ed[0x1])):(_0x4198ed=_0x261805(_0x22b0c5,_0x41179c),_0x5d7dad['point'](_0x4198ed[0x0],_0x4198ed[0x1]),_0x5d7dad[_0x1a4e('0x13b')]()),_0x22b0c5=_0x4198ed;else if(_0x1972c2&&_0x22b0c5&&_0x153447^_0x4eb09b){var _0x40b220;_0x39638f&_0x234f42||!(_0x40b220=_0x261805(_0x41179c,_0x22b0c5,!0x0))||(_0x3d7f02=0x0,_0x153447?(_0x5d7dad[_0x1a4e('0x13a')](),_0x5d7dad[_0x1a4e('0xc4')](_0x40b220[0x0][0x0],_0x40b220[0x0][0x1]),_0x5d7dad[_0x1a4e('0xc4')](_0x40b220[0x1][0x0],_0x40b220[0x1][0x1]),_0x5d7dad[_0x1a4e('0x13b')]()):(_0x5d7dad[_0x1a4e('0xc4')](_0x40b220[0x1][0x0],_0x40b220[0x1][0x1]),_0x5d7dad[_0x1a4e('0x13b')](),_0x5d7dad['lineStart'](),_0x5d7dad['point'](_0x40b220[0x0][0x0],_0x40b220[0x0][0x1])));}!_0x4eb09b||_0x22b0c5&&_0x20b497(_0x22b0c5,_0x41179c)||_0x5d7dad['point'](_0x41179c[0x0],_0x41179c[0x1]),_0x22b0c5=_0x41179c,_0x3376f9=_0x4eb09b,_0x234f42=_0x39638f;},'lineEnd':function(){_0x3376f9&&_0x5d7dad[_0x1a4e('0x13b')](),_0x22b0c5=null;},'clean':function(){return _0x3d7f02|(_0x5dae0e&&_0x3376f9)<<0x1;}};},function(_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){!function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42){if(_0x5ac9eb){var _0x153447=_0x55501c(_0x22b0c5),_0x1972c2=_0x564894(_0x22b0c5),_0x3376f9=_0x261805*_0x5ac9eb;null==_0x81bc8f?(_0x81bc8f=_0x22b0c5+_0x261805*_0x4239a9,_0x234f42=_0x22b0c5-_0x3376f9/0x2):(_0x81bc8f=_0x3c5fa5(_0x153447,_0x81bc8f),_0x234f42=_0x3c5fa5(_0x153447,_0x234f42),(_0x261805>0x0?_0x81bc8f<_0x234f42:_0x81bc8f>_0x234f42)&&(_0x81bc8f+=_0x261805*_0x4239a9));for(var _0x5dae0e,_0x3d7f02=_0x81bc8f;_0x261805>0x0?_0x3d7f02>_0x234f42:_0x3d7f02<_0x234f42;_0x3d7f02-=_0x3376f9)_0x5dae0e=_0x357c50([_0x153447,-_0x1972c2*_0x55501c(_0x3d7f02),-_0x1972c2*_0x564894(_0x3d7f02)]),_0x5d7dad['point'](_0x5dae0e[0x0],_0x5dae0e[0x1]);}}(_0x234f42,_0x5d7dad,_0x22b0c5,_0x81bc8f,_0x5ac9eb,_0x261805);},_0x153447?[0x0,-_0x5d7dad]:[-_0x2cc268,_0x5d7dad-_0x2cc268]);};_0x15aee0[_0x1a4e('0xa')]={'constructor':_0x15aee0,'point':function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x140')][_0x1a4e('0xc4')](_0x5d7dad,_0x22b0c5);},'sphere':function(){this[_0x1a4e('0x140')][_0x1a4e('0x7a1')]();},'lineStart':function(){this[_0x1a4e('0x140')][_0x1a4e('0x13a')]();},'lineEnd':function(){this[_0x1a4e('0x140')][_0x1a4e('0x13b')]();},'polygonStart':function(){this['stream'][_0x1a4e('0x7a2')]();},'polygonEnd':function(){this[_0x1a4e('0x140')][_0x1a4e('0x13c')]();}};var _0x301e14=0x10,_0x3f2cb5=_0x55501c(0x1e*_0x27c309),_0x54b529=function(_0x5d7dad,_0x22b0c5){return+_0x22b0c5?function(_0x5d7dad,_0x22b0c5){function _0x5ac9eb(_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559,_0x184c89,_0x4198ed,_0x41179c,_0x4eb09b,_0x39638f){var _0x40b220=_0x5dae0e-_0x261805,_0x55366a=_0x3d7f02-_0x81bc8f,_0x527605=_0x40b220*_0x40b220+_0x55366a*_0x55366a;if(_0x527605>0x4*_0x22b0c5&&_0x4eb09b--){var _0x4b8927=_0x153447+_0x184c89,_0x3ff7f9=_0x1972c2+_0x4198ed,_0x3b62c2=_0x3376f9+_0x41179c,_0x556755=_0xf7d11b(_0x4b8927*_0x4b8927+_0x3ff7f9*_0x3ff7f9+_0x3b62c2*_0x3b62c2),_0x162a48=_0x2c4521(_0x3b62c2/=_0x556755),_0x4f92fa=_0x308a4b(_0x308a4b(_0x3b62c2)-0x1)<_0x48b442||_0x308a4b(_0x234f42-_0x146559)<_0x48b442?(_0x234f42+_0x146559)/0x2:_0x3af052(_0x3ff7f9,_0x4b8927),_0x4fae53=_0x5d7dad(_0x4f92fa,_0x162a48),_0x40eeaf=_0x4fae53[0x0],_0x34483c=_0x4fae53[0x1],_0x7d6acf=_0x40eeaf-_0x261805,_0x17e057=_0x34483c-_0x81bc8f,_0x1494e6=_0x55366a*_0x7d6acf-_0x40b220*_0x17e057;(_0x1494e6*_0x1494e6/_0x527605>_0x22b0c5||_0x308a4b((_0x40b220*_0x7d6acf+_0x55366a*_0x17e057)/_0x527605-0.5)>0.3||_0x153447*_0x184c89+_0x1972c2*_0x4198ed+_0x3376f9*_0x41179c<_0x3f2cb5)&&(_0x5ac9eb(_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x40eeaf,_0x34483c,_0x4f92fa,_0x4b8927/=_0x556755,_0x3ff7f9/=_0x556755,_0x3b62c2,_0x4eb09b,_0x39638f),_0x39638f[_0x1a4e('0xc4')](_0x40eeaf,_0x34483c),_0x5ac9eb(_0x40eeaf,_0x34483c,_0x4f92fa,_0x4b8927,_0x3ff7f9,_0x3b62c2,_0x5dae0e,_0x3d7f02,_0x146559,_0x184c89,_0x4198ed,_0x41179c,_0x4eb09b,_0x39638f));}}return function(_0x22b0c5){function _0x261805(_0x5ac9eb,_0x261805){_0x5ac9eb=_0x5d7dad(_0x5ac9eb,_0x261805),_0x22b0c5[_0x1a4e('0xc4')](_0x5ac9eb[0x0],_0x5ac9eb[0x1]);}function _0x81bc8f(){_0x40b220=NaN,_0x3b62c2[_0x1a4e('0xc4')]=_0x234f42,_0x22b0c5[_0x1a4e('0x13a')]();}function _0x234f42(_0x261805,_0x81bc8f){var _0x234f42=_0x448bf8([_0x261805,_0x81bc8f]),_0x153447=_0x5d7dad(_0x261805,_0x81bc8f);_0x5ac9eb(_0x40b220,_0x55366a,_0x39638f,_0x527605,_0x4b8927,_0x3ff7f9,_0x40b220=_0x153447[0x0],_0x55366a=_0x153447[0x1],_0x39638f=_0x261805,_0x527605=_0x234f42[0x0],_0x4b8927=_0x234f42[0x1],_0x3ff7f9=_0x234f42[0x2],_0x301e14,_0x22b0c5),_0x22b0c5[_0x1a4e('0xc4')](_0x40b220,_0x55366a);}function _0x153447(){_0x3b62c2[_0x1a4e('0xc4')]=_0x261805,_0x22b0c5[_0x1a4e('0x13b')]();}function _0x1972c2(){_0x81bc8f(),_0x3b62c2['point']=_0x3376f9,_0x3b62c2[_0x1a4e('0x13b')]=_0x5dae0e;}function _0x3376f9(_0x5d7dad,_0x22b0c5){_0x234f42(_0x3d7f02=_0x5d7dad,_0x22b0c5),_0x146559=_0x40b220,_0x184c89=_0x55366a,_0x4198ed=_0x527605,_0x41179c=_0x4b8927,_0x4eb09b=_0x3ff7f9,_0x3b62c2[_0x1a4e('0xc4')]=_0x234f42;}function _0x5dae0e(){_0x5ac9eb(_0x40b220,_0x55366a,_0x39638f,_0x527605,_0x4b8927,_0x3ff7f9,_0x146559,_0x184c89,_0x3d7f02,_0x4198ed,_0x41179c,_0x4eb09b,_0x301e14,_0x22b0c5),_0x3b62c2[_0x1a4e('0x13b')]=_0x153447,_0x153447();}var _0x3d7f02,_0x146559,_0x184c89,_0x4198ed,_0x41179c,_0x4eb09b,_0x39638f,_0x40b220,_0x55366a,_0x527605,_0x4b8927,_0x3ff7f9,_0x3b62c2={'point':_0x261805,'lineStart':_0x81bc8f,'lineEnd':_0x153447,'polygonStart':function(){_0x22b0c5[_0x1a4e('0x7a2')](),_0x3b62c2[_0x1a4e('0x13a')]=_0x1972c2;},'polygonEnd':function(){_0x22b0c5['polygonEnd'](),_0x3b62c2[_0x1a4e('0x13a')]=_0x81bc8f;}};return _0x3b62c2;};}(_0x5d7dad,_0x22b0c5):function(_0x5d7dad){return _0x40a72a({'point':function(_0x22b0c5,_0x5ac9eb){_0x22b0c5=_0x5d7dad(_0x22b0c5,_0x5ac9eb),this['stream'][_0x1a4e('0xc4')](_0x22b0c5[0x0],_0x22b0c5[0x1]);}});}(_0x5d7dad);},_0x4a9f94=_0x40a72a({'point':function(_0x5d7dad,_0x22b0c5){this[_0x1a4e('0x140')][_0x1a4e('0xc4')](_0x5d7dad*_0x27c309,_0x22b0c5*_0x27c309);}});_0x57a9ef[_0x1a4e('0x13d')]=function(_0x5d7dad,_0x22b0c5){return[_0x5d7dad,0x2*_0xd775e5(_0x179d26(_0x22b0c5))-_0x8b3a64];},_0x58581a['invert']=function(_0x5d7dad,_0x22b0c5){return[-_0x22b0c5,0x2*_0xd775e5(_0x179d26(_0x5d7dad))-_0x8b3a64];};var _0x2519df=function(){var _0x5d7dad=function(_0x5d7dad){function _0x22b0c5(){var _0x22b0c5=_0x2cc268*_0x1972c2(),_0x153447=_0x234f42(_0x1d05fb(_0x234f42[_0x1a4e('0x7a3')]())[_0x1a4e('0x13d')]([0x0,0x0]));return _0x5dae0e(null==_0x3d7f02?[[_0x153447[0x0]-_0x22b0c5,_0x153447[0x1]-_0x22b0c5],[_0x153447[0x0]+_0x22b0c5,_0x153447[0x1]+_0x22b0c5]]:_0x5d7dad===_0x57a9ef?[[Math['max'](_0x153447[0x0]-_0x22b0c5,_0x3d7f02),_0x5ac9eb],[Math[_0x1a4e('0x74')](_0x153447[0x0]+_0x22b0c5,_0x261805),_0x81bc8f]]:[[_0x3d7f02,Math[_0x1a4e('0x6c')](_0x153447[0x1]-_0x22b0c5,_0x5ac9eb)],[_0x261805,Math[_0x1a4e('0x74')](_0x153447[0x1]+_0x22b0c5,_0x81bc8f)]]);}var _0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42=function(_0x5d7dad){return function(_0x5d7dad){function _0x22b0c5(_0x5d7dad){return[(_0x5d7dad=_0x5dae0e(_0x5d7dad[0x0]*_0x27c309,_0x5d7dad[0x1]*_0x27c309))[0x0]*_0x4eb09b+_0x153447,_0x1972c2-_0x5d7dad[0x1]*_0x4eb09b];}function _0x5ac9eb(_0x5d7dad,_0x22b0c5){return[(_0x5d7dad=_0x234f42(_0x5d7dad,_0x22b0c5))[0x0]*_0x4eb09b+_0x153447,_0x1972c2-_0x5d7dad[0x1]*_0x4eb09b];}function _0x261805(){_0x5dae0e=_0x11d208(_0x3376f9=_0x24811a(_0x4b8927,_0x3ff7f9,_0x3b62c2),_0x234f42);var _0x5d7dad=_0x234f42(_0x55366a,_0x527605);return _0x153447=_0x39638f-_0x5d7dad[0x0]*_0x4eb09b,_0x1972c2=_0x40b220+_0x5d7dad[0x1]*_0x4eb09b,_0x81bc8f();}function _0x81bc8f(){return _0x4198ed=_0x41179c=null,_0x22b0c5;}var _0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559,_0x184c89,_0x4198ed,_0x41179c,_0x4eb09b=0x96,_0x39638f=0x1e0,_0x40b220=0xfa,_0x55366a=0x0,_0x527605=0x0,_0x4b8927=0x0,_0x3ff7f9=0x0,_0x3b62c2=0x0,_0x556755=null,_0x162a48=_0x5c54e7,_0x4f92fa=null,_0x4fae53=_0x162916,_0x40eeaf=0.5,_0x34483c=_0x54b529(_0x5ac9eb,_0x40eeaf);return _0x22b0c5[_0x1a4e('0x140')]=function(_0x5d7dad){return _0x4198ed&&_0x41179c===_0x5d7dad?_0x4198ed:_0x4198ed=_0x4a9f94(_0x162a48(_0x3376f9,_0x34483c(_0x4fae53(_0x41179c=_0x5d7dad))));},_0x22b0c5[_0x1a4e('0x7a4')]=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?(_0x162a48=+_0x5d7dad?_0x3fe30b(_0x556755=_0x5d7dad*_0x27c309,0x6*_0x27c309):(_0x556755=null,_0x5c54e7),_0x81bc8f()):_0x556755*_0x2b9027;},_0x22b0c5[_0x1a4e('0x141')]=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?(_0x4fae53=null==_0x5d7dad?(_0x4f92fa=_0x3d7f02=_0x146559=_0x184c89=null,_0x162916):_0x4ab58e(_0x4f92fa=+_0x5d7dad[0x0][0x0],_0x3d7f02=+_0x5d7dad[0x0][0x1],_0x146559=+_0x5d7dad[0x1][0x0],_0x184c89=+_0x5d7dad[0x1][0x1]),_0x81bc8f()):null==_0x4f92fa?null:[[_0x4f92fa,_0x3d7f02],[_0x146559,_0x184c89]];},_0x22b0c5[_0x1a4e('0x143')]=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?(_0x4eb09b=+_0x5d7dad,_0x261805()):_0x4eb09b;},_0x22b0c5[_0x1a4e('0x142')]=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?(_0x39638f=+_0x5d7dad[0x0],_0x40b220=+_0x5d7dad[0x1],_0x261805()):[_0x39638f,_0x40b220];},_0x22b0c5[_0x1a4e('0x111')]=function(_0x5d7dad){return arguments['length']?(_0x55366a=_0x5d7dad[0x0]%0x168*_0x27c309,_0x527605=_0x5d7dad[0x1]%0x168*_0x27c309,_0x261805()):[_0x55366a*_0x2b9027,_0x527605*_0x2b9027];},_0x22b0c5[_0x1a4e('0x7a3')]=function(_0x5d7dad){return arguments['length']?(_0x4b8927=_0x5d7dad[0x0]%0x168*_0x27c309,_0x3ff7f9=_0x5d7dad[0x1]%0x168*_0x27c309,_0x3b62c2=_0x5d7dad[_0x1a4e('0x1e')]>0x2?_0x5d7dad[0x2]%0x168*_0x27c309:0x0,_0x261805()):[_0x4b8927*_0x2b9027,_0x3ff7f9*_0x2b9027,_0x3b62c2*_0x2b9027];},_0x22b0c5[_0x1a4e('0xd4')]=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?(_0x34483c=_0x54b529(_0x5ac9eb,_0x40eeaf=_0x5d7dad*_0x5d7dad),_0x81bc8f()):_0xf7d11b(_0x40eeaf);},_0x22b0c5[_0x1a4e('0x7a5')]=function(_0x5d7dad,_0x5ac9eb){return _0x34b720(_0x22b0c5,_0x5d7dad,_0x5ac9eb);},_0x22b0c5[_0x1a4e('0x7a6')]=function(_0x5d7dad,_0x5ac9eb){return function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){return _0x34b720(_0x5d7dad,[[0x0,0x0],_0x22b0c5],_0x5ac9eb);}(_0x22b0c5,_0x5d7dad,_0x5ac9eb);},function(){return _0x234f42=_0x5d7dad['apply'](this,arguments),_0x22b0c5[_0x1a4e('0x13d')]=_0x234f42[_0x1a4e('0x13d')]&&function(_0x5d7dad){return(_0x5d7dad=_0x5dae0e[_0x1a4e('0x13d')]((_0x5d7dad[0x0]-_0x153447)/_0x4eb09b,(_0x1972c2-_0x5d7dad[0x1])/_0x4eb09b))&&[_0x5d7dad[0x0]*_0x2b9027,_0x5d7dad[0x1]*_0x2b9027];},_0x261805();};}(function(){return _0x5d7dad;})();}(_0x5d7dad),_0x153447=_0x234f42['center'],_0x1972c2=_0x234f42['scale'],_0x3376f9=_0x234f42['translate'],_0x5dae0e=_0x234f42['clipExtent'],_0x3d7f02=null;return _0x234f42[_0x1a4e('0x143')]=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?(_0x1972c2(_0x5d7dad),_0x22b0c5()):_0x1972c2();},_0x234f42[_0x1a4e('0x142')]=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?(_0x3376f9(_0x5d7dad),_0x22b0c5()):_0x3376f9();},_0x234f42[_0x1a4e('0x111')]=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?(_0x153447(_0x5d7dad),_0x22b0c5()):_0x153447();},_0x234f42[_0x1a4e('0x141')]=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?(null==_0x5d7dad?_0x3d7f02=_0x5ac9eb=_0x261805=_0x81bc8f=null:(_0x3d7f02=+_0x5d7dad[0x0][0x0],_0x5ac9eb=+_0x5d7dad[0x0][0x1],_0x261805=+_0x5d7dad[0x1][0x0],_0x81bc8f=+_0x5d7dad[0x1][0x1]),_0x22b0c5()):null==_0x3d7f02?null:[[_0x3d7f02,_0x5ac9eb],[_0x261805,_0x81bc8f]];},_0x22b0c5();}(_0x58581a),_0x22b0c5=_0x5d7dad[_0x1a4e('0x111')],_0x5ac9eb=_0x5d7dad[_0x1a4e('0x7a3')];return _0x5d7dad['center']=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?_0x22b0c5([-_0x5d7dad[0x1],_0x5d7dad[0x0]]):[(_0x5d7dad=_0x22b0c5())[0x1],-_0x5d7dad[0x0]];},_0x5d7dad['rotate']=function(_0x5d7dad){return arguments[_0x1a4e('0x1e')]?_0x5ac9eb([_0x5d7dad[0x0],_0x5d7dad[0x1],_0x5d7dad[_0x1a4e('0x1e')]>0x2?_0x5d7dad[0x2]+0x5a:0x5a]):[(_0x5d7dad=_0x5ac9eb())[0x0],_0x5d7dad[0x1],_0x5d7dad[0x2]-0x5a];},_0x5ac9eb([0x0,0x0,0x5a])[_0x1a4e('0x143')](159.155);};_0x5d7dad[_0x1a4e('0x7a7')]=_0xd02a26,_0x5d7dad['random']=_0x99bd83,_0x5d7dad[_0x1a4e('0x1ef')]=_0x385388,_0x5d7dad[_0x1a4e('0x7a8')]=_0x367e4e,_0x5d7dad[_0x1a4e('0x7a9')]=_0x205ba9,_0x5d7dad[_0x1a4e('0x7aa')]=_0x2bf227,_0x5d7dad['isolines']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb['zProperty']||_0x1a4e('0x7ab'),_0x81bc8f=_0x5ac9eb[_0x1a4e('0x7ac')]||{},_0x234f42=_0x5ac9eb[_0x1a4e('0x7ad')]||[];if(_0x1a38db(_0x5d7dad,_0x1a4e('0x17'),_0x1a4e('0x7ae')),!_0x22b0c5)throw new Error('breaks\x20is\x20required');if(!Array['isArray'](_0x22b0c5))throw new Error(_0x1a4e('0x7af'));if(!_0x162a48(_0x81bc8f))throw new Error(_0x1a4e('0x7b0'));if(!Array['isArray'](_0x234f42))throw new Error(_0x1a4e('0x7b1'));var _0x153447=function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5['zProperty']||'elevation',_0x261805=_0x22b0c5[_0x1a4e('0x41d')],_0x81bc8f=_0x22b0c5[_0x1a4e('0x7b2')];_0x1a38db(_0x5d7dad,_0x1a4e('0x17'),'input\x20must\x20contain\x20Points');for(var _0x234f42=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb={};return _0x1494e6(_0x5d7dad,function(_0x5d7dad){var _0x22b0c5=_0x2a976f(_0x5d7dad)[0x1];_0x5ac9eb[_0x22b0c5]||(_0x5ac9eb[_0x22b0c5]=[]),_0x5ac9eb[_0x22b0c5][_0x1a4e('0x46')](_0x5d7dad);}),Object[_0x1a4e('0x56')](_0x5ac9eb)[_0x1a4e('0x21')](function(_0x5d7dad){var _0x22b0c5=_0x5ac9eb[_0x5d7dad],_0x261805=_0x22b0c5[_0x1a4e('0x89')](function(_0x5d7dad,_0x22b0c5){return _0x2a976f(_0x5d7dad)[0x0]-_0x2a976f(_0x22b0c5)[0x0];});return _0x261805;})[_0x1a4e('0x89')](function(_0x5d7dad,_0x5ac9eb){return _0x22b0c5?_0x2a976f(_0x5d7dad[0x0])[0x1]-_0x2a976f(_0x5ac9eb[0x0])[0x1]:_0x2a976f(_0x5ac9eb[0x0])[0x1]-_0x2a976f(_0x5d7dad[0x0])[0x1];});}(_0x5d7dad,_0x261805),_0x153447=[],_0x1972c2=0x0;_0x1972c2<_0x234f42[_0x1a4e('0x1e')];_0x1972c2++){for(var _0x3376f9=_0x234f42[_0x1972c2],_0x5dae0e=[],_0x3d7f02=0x0;_0x3d7f02<_0x3376f9['length'];_0x3d7f02++){var _0x146559=_0x3376f9[_0x3d7f02];_0x146559[_0x1a4e('0x13')][_0x5ac9eb]?_0x5dae0e[_0x1a4e('0x46')](_0x146559[_0x1a4e('0x13')][_0x5ac9eb]):_0x5dae0e['push'](0x0),!0x0===_0x81bc8f&&(_0x146559[_0x1a4e('0x13')][_0x1a4e('0x7b3')]=[_0x1972c2,_0x3d7f02]);}_0x153447[_0x1a4e('0x46')](_0x5dae0e);}return _0x153447;}(_0x5d7dad,{'zProperty':_0x261805,'flip':!0x0});return _0x5dae0e(function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x3c3785(_0x5ac9eb),_0x81bc8f=_0x261805[0x2]-_0x261805[0x0],_0x234f42=_0x261805[0x3]-_0x261805[0x1],_0x153447=_0x261805[0x0],_0x1972c2=_0x261805[0x1],_0x3376f9=_0x22b0c5[0x0][_0x1a4e('0x1e')]-0x1,_0x5dae0e=_0x22b0c5[_0x1a4e('0x1e')]-0x1,_0x3d7f02=_0x81bc8f/_0x3376f9,_0x146559=_0x234f42/_0x5dae0e,_0x184c89=function(_0x5d7dad){_0x5d7dad[0x0]=_0x5d7dad[0x0]*_0x3d7f02+_0x153447,_0x5d7dad[0x1]=_0x5d7dad[0x1]*_0x146559+_0x1972c2;};return _0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad){_0x40eeaf(_0x5d7dad,_0x184c89);}),_0x5d7dad;}(function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){for(var _0x234f42=[],_0x153447=0x1;_0x153447<_0x22b0c5[_0x1a4e('0x1e')];_0x153447++){var _0x1972c2=+_0x22b0c5[_0x153447],_0x3376f9=Object[_0x1a4e('0x200')]({},_0x261805,_0x81bc8f[_0x153447]);_0x3376f9[_0x5ac9eb]=_0x1972c2;var _0x5dae0e=_0x3d7f02(_0x1db7b2(_0x5d7dad,_0x1972c2),_0x3376f9);_0x234f42[_0x1a4e('0x46')](_0x5dae0e);}return _0x234f42;}(_0x153447,_0x22b0c5,_0x261805,_0x81bc8f,_0x234f42),_0x153447,_0x5d7dad));},_0x5d7dad['convex']=_0x11762,_0x5d7dad['pointsWithinPolygon']=_0x14f99e,_0x5d7dad[_0x1a4e('0x7b4')]=function(_0x5d7dad,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error('options\x20is\x20invalid');if(!_0x5d7dad)throw new Error(_0x1a4e('0x7b5'));var _0x261805=_0x5ac9eb[_0x1a4e('0x7b6')]||0x1/0x0;if(!_0x556755(_0x261805))throw new Error(_0x1a4e('0x7b7'));var _0x81bc8f=_0x325ce2(function(_0x5d7dad){var _0x22b0c5=[],_0x5ac9eb={};return _0x1494e6(_0x5d7dad,function(_0x5d7dad){if(_0x5d7dad[_0x1a4e('0x18')]){var _0x261805=_0x5d7dad[_0x1a4e('0x18')]['coordinates'][_0x1a4e('0x9e')]('-');_0x5ac9eb['hasOwnProperty'](_0x261805)||(_0x22b0c5['push'](_0x5d7dad),_0x5ac9eb[_0x261805]=!0x0);}}),_0x5dae0e(_0x22b0c5);}(_0x5d7dad));if(_0x81bc8f[_0x1a4e('0x25')]=_0x81bc8f['features']['filter'](function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0][0x0],_0x81bc8f=_0x5d7dad[_0x1a4e('0x18')]['coordinates'][0x0][0x1],_0x234f42=_0x5d7dad[_0x1a4e('0x18')]['coordinates'][0x0][0x2],_0x153447=_0x45cce9(_0x22b0c5,_0x81bc8f,_0x5ac9eb),_0x1972c2=_0x45cce9(_0x81bc8f,_0x234f42,_0x5ac9eb),_0x3376f9=_0x45cce9(_0x22b0c5,_0x234f42,_0x5ac9eb);return _0x153447<=_0x261805&&_0x1972c2<=_0x261805&&_0x3376f9<=_0x261805;}),_0x81bc8f['features'][_0x1a4e('0x1e')]<0x1)return null;var _0x234f42=_0x1790fb(_0x81bc8f,_0x5ac9eb);return 0x1===_0x234f42[_0x1a4e('0x43')][_0x1a4e('0x1e')]&&(_0x234f42[_0x1a4e('0x43')]=_0x234f42[_0x1a4e('0x43')][0x0],_0x234f42[_0x1a4e('0x40')]=_0x1a4e('0x19')),_0x22b0c5(_0x234f42);},_0x5d7dad[_0x1a4e('0x7b8')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x5b70fe(0x6),_0x234f42=_0x22b0c5[_0x1a4e('0x25')][_0x1a4e('0x21')](function(_0x5d7dad){return{'minX':_0x5d7dad['geometry'][_0x1a4e('0x43')][0x0],'minY':_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1],'maxX':_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0],'maxY':_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1],'property':_0x5d7dad[_0x1a4e('0x13')][_0x5ac9eb]};});return _0x81bc8f[_0x1a4e('0x7b')](_0x234f42),_0x5d7dad['features'][_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x13')]||(_0x5d7dad['properties']={});var _0x22b0c5=_0x3c3785(_0x5d7dad),_0x5ac9eb=[];_0x81bc8f['search']({'minX':_0x22b0c5[0x0],'minY':_0x22b0c5[0x1],'maxX':_0x22b0c5[0x2],'maxY':_0x22b0c5[0x3]})[_0x1a4e('0x3b')](function(_0x22b0c5){_0xf47c44([_0x22b0c5[_0x1a4e('0x70')],_0x22b0c5['minY']],_0x5d7dad)&&_0x5ac9eb['push'](_0x22b0c5['property']);}),_0x5d7dad[_0x1a4e('0x13')][_0x261805]=_0x5ac9eb;}),_0x5d7dad;},_0x5d7dad[_0x1a4e('0x41d')]=function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error('options\x20is\x20invalid');var _0x5ac9eb=_0x22b0c5['mutate'];if(!_0x5d7dad)throw new Error('geojson\x20is\x20required');return!0x1!==_0x5ac9eb&&void 0x0!==_0x5ac9eb||(_0x5d7dad=_0x1cc0eb(_0x5d7dad)),_0x40eeaf(_0x5d7dad,function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[0x0],_0x5ac9eb=_0x5d7dad[0x1];_0x5d7dad[0x0]=_0x5ac9eb,_0x5d7dad[0x1]=_0x22b0c5;}),_0x5d7dad;},_0x5d7dad[_0x1a4e('0x557')]=function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error('options\x20is\x20invalid');var _0x5ac9eb=void 0x0!==_0x22b0c5['tolerance']?_0x22b0c5[_0x1a4e('0xeb')]:0x1,_0x261805=_0x22b0c5['highQuality']||!0x1,_0x81bc8f=_0x22b0c5[_0x1a4e('0x96')]||!0x1;if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));if(_0x5ac9eb&&_0x5ac9eb<0x0)throw new Error(_0x1a4e('0x7b9'));return!0x0!==_0x81bc8f&&(_0x5d7dad=_0x1cc0eb(_0x5d7dad)),_0xaebea(_0x5d7dad,function(_0x5d7dad){!function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x5d7dad['type'];if(_0x1a4e('0x17')===_0x261805||_0x1a4e('0x1a')===_0x261805)return _0x5d7dad;_0x193f55(_0x5d7dad,!0x0);var _0x81bc8f=_0x5d7dad['coordinates'];switch(_0x261805){case'LineString':_0x5d7dad['coordinates']=_0x260afc(_0x81bc8f,_0x22b0c5,_0x5ac9eb);break;case _0x1a4e('0x1b'):_0x5d7dad[_0x1a4e('0x43')]=_0x81bc8f[_0x1a4e('0x21')](function(_0x5d7dad){return _0x260afc(_0x5d7dad,_0x22b0c5,_0x5ac9eb);});break;case _0x1a4e('0x19'):_0x5d7dad[_0x1a4e('0x43')]=_0x10e296(_0x81bc8f,_0x22b0c5,_0x5ac9eb);break;case _0x1a4e('0x1c'):_0x5d7dad[_0x1a4e('0x43')]=_0x81bc8f[_0x1a4e('0x21')](function(_0x5d7dad){return _0x10e296(_0x5d7dad,_0x22b0c5,_0x5ac9eb);});}}(_0x5d7dad,_0x5ac9eb,_0x261805);}),_0x5d7dad;},_0x5d7dad['bezierSpline']=_0x1c369d,_0x5d7dad[_0x1a4e('0x7ba')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){return _0x5d7dad=_0x1cc0eb(_0x5d7dad),_0x22b0c5=_0x1cc0eb(_0x22b0c5),_0x1494e6(_0x5d7dad,function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x13')]||(_0x5d7dad[_0x1a4e('0x13')]={}),_0x1494e6(_0x22b0c5,function(_0x22b0c5){void 0x0===_0x5d7dad[_0x1a4e('0x13')][_0x261805]&&_0xf47c44(_0x5d7dad,_0x22b0c5)&&(_0x5d7dad['properties'][_0x261805]=_0x22b0c5[_0x1a4e('0x13')][_0x5ac9eb]);});}),_0x5d7dad;},_0x5d7dad[_0x1a4e('0x7bb')]=function(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)throw new Error(_0x1a4e('0x7bc'));if(null==_0x22b0c5)throw new Error(_0x1a4e('0x7bd'));if(_0x1a4e('0x3d')!=typeof _0x22b0c5)throw new Error(_0x1a4e('0x7be'));return _0x5dae0e(function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb,_0x261805,_0x81bc8f=_0x5d7dad['slice'](0x0),_0x234f42=_0x5d7dad[_0x1a4e('0x1e')],_0x153447=_0x234f42-_0x22b0c5;_0x234f42-->_0x153447;)_0x261805=Math[_0x1a4e('0xb4')]((_0x234f42+0x1)*Math[_0x1a4e('0x12e')]()),_0x5ac9eb=_0x81bc8f[_0x261805],_0x81bc8f[_0x261805]=_0x81bc8f[_0x234f42],_0x81bc8f[_0x234f42]=_0x5ac9eb;return _0x81bc8f[_0x1a4e('0x78')](_0x153447);}(_0x5d7dad['features'],_0x22b0c5));},_0x5d7dad['envelope']=_0x42daa7,_0x5d7dad['square']=_0x5838d6,_0x5d7dad['circle']=_0x2a4100,_0x5d7dad[_0x1a4e('0x7bf')]=function(_0x5d7dad,_0x22b0c5){return _0x4d4119(_0x5d7dad,_0x45cce9(_0x5d7dad,_0x22b0c5)/0x2,_0x522f33(_0x5d7dad,_0x22b0c5));},_0x5d7dad[_0x1a4e('0x111')]=_0x26cbca,_0x5d7dad[_0x1a4e('0x7c0')]=function _0x5d7dad(_0x22b0c5,_0x5ac9eb){switch(_0x9463e6(_0x22b0c5)){case _0x1a4e('0x17'):return _0x22b0c5;case _0x1a4e('0x19'):var _0x81bc8f=[];_0x40eeaf(_0x22b0c5,function(_0x5d7dad){_0x81bc8f['push'](_0x5d7dad);});var _0x234f42,_0x153447,_0x1972c2,_0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559,_0x184c89,_0x4198ed=_0x5d657f(_0x22b0c5,_0x5ac9eb),_0x41179c=_0x4198ed[_0x1a4e('0x18')][_0x1a4e('0x43')],_0x4eb09b=0x0,_0x39638f=0x0,_0x40b220=0x0,_0x55366a=_0x81bc8f['map'](function(_0x5d7dad){return[_0x5d7dad[0x0]-_0x41179c[0x0],_0x5d7dad[0x1]-_0x41179c[0x1]];});for(_0x234f42=0x0;_0x234f42<_0x81bc8f[_0x1a4e('0x1e')]-0x1;_0x234f42++)_0x3376f9=(_0x153447=_0x55366a[_0x234f42])[0x0],_0x3d7f02=_0x153447[0x1],_0x5dae0e=(_0x1972c2=_0x55366a[_0x234f42+0x1])[0x0],_0x40b220+=_0x184c89=_0x3376f9*(_0x146559=_0x1972c2[0x1])-_0x5dae0e*_0x3d7f02,_0x4eb09b+=(_0x3376f9+_0x5dae0e)*_0x184c89,_0x39638f+=(_0x3d7f02+_0x146559)*_0x184c89;if(0x0===_0x40b220)return _0x4198ed;var _0x527605=0x1/(0.5*_0x40b220*0x6);return _0x261805([_0x41179c[0x0]+_0x527605*_0x4eb09b,_0x41179c[0x1]+_0x527605*_0x39638f],_0x5ac9eb);default:var _0x4b8927=_0x11762(_0x22b0c5);return _0x4b8927?_0x5d7dad(_0x4b8927,_0x5ac9eb):_0x5d657f(_0x22b0c5,_0x5ac9eb);}},_0x5d7dad['centroid']=_0x5d657f,_0x5d7dad[_0x1a4e('0x792')]=function(_0x5d7dad){function _0x5ac9eb(_0x5d7dad,_0x22b0c5,_0x5ac9eb){_0x5ac9eb?_0x261805[_0x22b0c5][_0x1a4e('0x43')]=_0x261805[_0x22b0c5][_0x1a4e('0x43')][_0x1a4e('0x9a')](_0x5d7dad['geometry'][_0x1a4e('0x43')]):_0x261805[_0x22b0c5]['coordinates'][_0x1a4e('0x46')](_0x5d7dad[_0x1a4e('0x18')]['coordinates']),_0x261805[_0x22b0c5][_0x1a4e('0x13')][_0x1a4e('0x46')](_0x5d7dad['properties']);}var _0x261805={'MultiPoint':{'coordinates':[],'properties':[]},'MultiLineString':{'coordinates':[],'properties':[]},'MultiPolygon':{'coordinates':[],'properties':[]}},_0x81bc8f=Object['keys'](_0x261805)['reduce'](function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x22b0c5['replace'](_0x1a4e('0x116'),'')]=_0x22b0c5,_0x5d7dad;},{});return _0x1494e6(_0x5d7dad,function(_0x5d7dad){_0x5d7dad['geometry']&&(_0x261805[_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]]?_0x5ac9eb(_0x5d7dad,_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')],!0x0):_0x81bc8f[_0x5d7dad['geometry'][_0x1a4e('0x40')]]&&_0x5ac9eb(_0x5d7dad,_0x81bc8f[_0x5d7dad['geometry'][_0x1a4e('0x40')]],!0x1));}),_0x5dae0e(Object[_0x1a4e('0x56')](_0x261805)[_0x1a4e('0xd9')](function(_0x5d7dad){return _0x261805[_0x5d7dad][_0x1a4e('0x43')][_0x1a4e('0x1e')];})[_0x1a4e('0x89')]()[_0x1a4e('0x21')](function(_0x5d7dad){return _0x22b0c5({'type':_0x5d7dad,'coordinates':_0x261805[_0x5d7dad][_0x1a4e('0x43')]},{'collectedProperties':_0x261805[_0x5d7dad][_0x1a4e('0x13')]});}));},_0x5d7dad[_0x1a4e('0x1ed')]=_0x45cce9,_0x5d7dad['explode']=_0x3b75c6,_0x5d7dad[_0x1a4e('0xe')]=_0x3c3785,_0x5d7dad['tesselate']=function(_0x5d7dad){if(!_0x5d7dad['geometry']||_0x1a4e('0x19')!==_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]&&'MultiPolygon'!==_0x5d7dad['geometry'][_0x1a4e('0x40')])throw new Error(_0x1a4e('0x7c1'));var _0x22b0c5={'type':_0x1a4e('0x41'),'features':[]};return _0x1a4e('0x19')===_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]?_0x22b0c5[_0x1a4e('0x25')]=_0x48bfe4(_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')]):_0x5d7dad['geometry']['coordinates'][_0x1a4e('0x3b')](function(_0x5d7dad){_0x22b0c5[_0x1a4e('0x25')]=_0x22b0c5[_0x1a4e('0x25')][_0x1a4e('0x9a')](_0x48bfe4(_0x5d7dad));}),_0x22b0c5;},_0x5d7dad[_0x1a4e('0x7c2')]=_0x289fd3,_0x5d7dad[_0x1a4e('0x7c3')]=_0xf47c44,_0x5d7dad['nearestPoint']=_0x3e7452,_0x5d7dad['nearestPointOnLine']=_0x3f7006,_0x5d7dad['nearestPointToLine']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb['units'],_0x81bc8f=_0x5ac9eb[_0x1a4e('0x13')]||{};if(!_0x5d7dad)throw new Error(_0x1a4e('0x7b5'));if(!(_0x5d7dad=function(_0x5d7dad){var _0x22b0c5=[];switch(_0x5d7dad['geometry']?_0x5d7dad['geometry']['type']:_0x5d7dad[_0x1a4e('0x40')]){case'GeometryCollection':return _0xaebea(_0x5d7dad,function(_0x5d7dad){'Point'===_0x5d7dad[_0x1a4e('0x40')]&&_0x22b0c5['push']({'type':'Feature','properties':{},'geometry':_0x5d7dad});}),{'type':_0x1a4e('0x41'),'features':_0x22b0c5};case _0x1a4e('0x41'):return _0x5d7dad[_0x1a4e('0x25')]=_0x5d7dad[_0x1a4e('0x25')][_0x1a4e('0xd9')](function(_0x5d7dad){return _0x1a4e('0x17')===_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')];}),_0x5d7dad;default:throw new Error('points\x20must\x20be\x20a\x20Point\x20Collection');}}(_0x5d7dad))[_0x1a4e('0x25')][_0x1a4e('0x1e')])throw new Error(_0x1a4e('0x7c4'));if(!_0x22b0c5)throw new Error(_0x1a4e('0xa2'));if(_0x1a4e('0x44')!==_0x9463e6(_0x22b0c5))throw new Error(_0x1a4e('0x7c5'));var _0x234f42=0x1/0x0,_0x153447=null;return _0x1494e6(_0x5d7dad,function(_0x5d7dad){var _0x5ac9eb=_0x40a49f(_0x5d7dad,_0x22b0c5,{'units':_0x261805});_0x5ac9eb<_0x234f42&&(_0x234f42=_0x5ac9eb,_0x153447=_0x5d7dad);}),_0x153447&&(_0x153447[_0x1a4e('0x13')]=Object['assign']({'dist':_0x234f42},_0x153447['properties'],_0x81bc8f)),_0x153447;},_0x5d7dad[_0x1a4e('0x7c6')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x52d3d8(_0x5d7dad),_0x261805=_0x4510bd(_0x22b0c5)[_0x1a4e('0x43')][0x0];if(_0x261805[_0x1a4e('0x1e')]<0x4)throw new Error('OuterRing\x20of\x20a\x20Polygon\x20must\x20have\x204\x20or\x20more\x20Positions.');var _0x81bc8f=_0x22b0c5[_0x1a4e('0x13')]||{},_0x234f42=_0x81bc8f['a'],_0x153447=_0x81bc8f['b'],_0x1972c2=_0x81bc8f['c'],_0x3376f9=_0x5ac9eb[0x0],_0x5dae0e=_0x5ac9eb[0x1],_0x3d7f02=_0x261805[0x0][0x0],_0x146559=_0x261805[0x0][0x1],_0x184c89=void 0x0!==_0x234f42?_0x234f42:_0x261805[0x0][0x2],_0x4198ed=_0x261805[0x1][0x0],_0x41179c=_0x261805[0x1][0x1],_0x4eb09b=void 0x0!==_0x153447?_0x153447:_0x261805[0x1][0x2],_0x39638f=_0x261805[0x2][0x0],_0x40b220=_0x261805[0x2][0x1],_0x55366a=void 0x0!==_0x1972c2?_0x1972c2:_0x261805[0x2][0x2];return(_0x55366a*(_0x3376f9-_0x3d7f02)*(_0x5dae0e-_0x41179c)+_0x184c89*(_0x3376f9-_0x4198ed)*(_0x5dae0e-_0x40b220)+_0x4eb09b*(_0x3376f9-_0x39638f)*(_0x5dae0e-_0x146559)-_0x4eb09b*(_0x3376f9-_0x3d7f02)*(_0x5dae0e-_0x40b220)-_0x55366a*(_0x3376f9-_0x4198ed)*(_0x5dae0e-_0x146559)-_0x184c89*(_0x3376f9-_0x39638f)*(_0x5dae0e-_0x41179c))/((_0x3376f9-_0x3d7f02)*(_0x5dae0e-_0x41179c)+(_0x3376f9-_0x4198ed)*(_0x5dae0e-_0x40b220)+(_0x3376f9-_0x39638f)*(_0x5dae0e-_0x146559)-(_0x3376f9-_0x3d7f02)*(_0x5dae0e-_0x40b220)-(_0x3376f9-_0x4198ed)*(_0x5dae0e-_0x146559)-(_0x3376f9-_0x39638f)*(_0x5dae0e-_0x41179c));},_0x5d7dad['tin']=_0x325ce2,_0x5d7dad[_0x1a4e('0x7c7')]=_0x522f33,_0x5d7dad[_0x1a4e('0x7c8')]=_0x4d4119,_0x5d7dad[_0x1a4e('0x7c9')]=function(_0x5d7dad){var _0x22b0c5,_0x5ac9eb,_0x81bc8f={'type':'FeatureCollection','features':[]};if(_0x1a4e('0x44')===(_0x5ac9eb='Feature'===_0x5d7dad['type']?_0x5d7dad[_0x1a4e('0x18')]:_0x5d7dad)[_0x1a4e('0x40')])_0x22b0c5=[_0x5ac9eb[_0x1a4e('0x43')]];else if(_0x1a4e('0x1b')===_0x5ac9eb[_0x1a4e('0x40')])_0x22b0c5=_0x5ac9eb[_0x1a4e('0x43')];else if(_0x1a4e('0x1c')===_0x5ac9eb['type'])_0x22b0c5=[][_0x1a4e('0x9a')][_0x1a4e('0x8b')]([],_0x5ac9eb[_0x1a4e('0x43')]);else{if(_0x1a4e('0x19')!==_0x5ac9eb[_0x1a4e('0x40')])throw new Error(_0x1a4e('0x7ca'));_0x22b0c5=_0x5ac9eb['coordinates'];}return _0x22b0c5[_0x1a4e('0x3b')](function(_0x5d7dad){_0x22b0c5[_0x1a4e('0x3b')](function(_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x1e')]-0x1;_0x5ac9eb++)for(var _0x234f42=_0x5ac9eb;_0x234f42<_0x22b0c5[_0x1a4e('0x1e')]-0x1;_0x234f42++){if(_0x5d7dad===_0x22b0c5){if(0x1===Math['abs'](_0x5ac9eb-_0x234f42))continue;if(0x0===_0x5ac9eb&&_0x234f42===_0x5d7dad[_0x1a4e('0x1e')]-0x2&&_0x5d7dad[_0x5ac9eb][0x0]===_0x5d7dad[_0x5d7dad[_0x1a4e('0x1e')]-0x1][0x0]&&_0x5d7dad[_0x5ac9eb][0x1]===_0x5d7dad[_0x5d7dad[_0x1a4e('0x1e')]-0x1][0x1])continue;}var _0x153447=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f,_0x234f42,_0x153447,_0x1972c2){var _0x3376f9,_0x5dae0e,_0x3d7f02,_0x146559,_0x184c89={'x':null,'y':null,'onLine1':!0x1,'onLine2':!0x1};return 0x0==(_0x3376f9=(_0x1972c2-_0x234f42)*(_0x5ac9eb-_0x5d7dad)-(_0x153447-_0x81bc8f)*(_0x261805-_0x22b0c5))?null!==_0x184c89['x']&&null!==_0x184c89['y']&&_0x184c89:(_0x146559=(_0x5ac9eb-_0x5d7dad)*(_0x5dae0e=_0x22b0c5-_0x234f42)-(_0x261805-_0x22b0c5)*(_0x3d7f02=_0x5d7dad-_0x81bc8f),_0x5dae0e=((_0x153447-_0x81bc8f)*_0x5dae0e-(_0x1972c2-_0x234f42)*_0x3d7f02)/_0x3376f9,_0x3d7f02=_0x146559/_0x3376f9,_0x184c89['x']=_0x5d7dad+_0x5dae0e*(_0x5ac9eb-_0x5d7dad),_0x184c89['y']=_0x22b0c5+_0x5dae0e*(_0x261805-_0x22b0c5),_0x5dae0e>=0x0&&_0x5dae0e<=0x1&&(_0x184c89[_0x1a4e('0x7cb')]=!0x0),_0x3d7f02>=0x0&&_0x3d7f02<=0x1&&(_0x184c89[_0x1a4e('0x7cc')]=!0x0),!(!_0x184c89[_0x1a4e('0x7cb')]||!_0x184c89[_0x1a4e('0x7cc')])&&[_0x184c89['x'],_0x184c89['y']]);}(_0x5d7dad[_0x5ac9eb][0x0],_0x5d7dad[_0x5ac9eb][0x1],_0x5d7dad[_0x5ac9eb+0x1][0x0],_0x5d7dad[_0x5ac9eb+0x1][0x1],_0x22b0c5[_0x234f42][0x0],_0x22b0c5[_0x234f42][0x1],_0x22b0c5[_0x234f42+0x1][0x0],_0x22b0c5[_0x234f42+0x1][0x1]);_0x153447&&_0x81bc8f[_0x1a4e('0x25')][_0x1a4e('0x46')](_0x261805([_0x153447[0x0],_0x153447[0x1]]));}});}),_0x81bc8f;},_0x5d7dad['pointOnFeature']=_0x596033,_0x5d7dad[_0x1a4e('0x4b8')]=_0x59237d,_0x5d7dad[_0x1a4e('0x7cd')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x81bc8f;if(_0x1a4e('0x12')===_0x5d7dad['type'])_0x81bc8f=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')];else{if(_0x1a4e('0x44')!==_0x5d7dad[_0x1a4e('0x40')])throw new Error(_0x1a4e('0x7ce'));_0x81bc8f=_0x5d7dad[_0x1a4e('0x43')];}if(!_0x556755(_0x22b0c5))throw new Error(_0x1a4e('0x7cf'));for(var _0x234f42=0x0,_0x153447=0x0;_0x153447<_0x81bc8f[_0x1a4e('0x1e')]&&!(_0x22b0c5>=_0x234f42&&_0x153447===_0x81bc8f[_0x1a4e('0x1e')]-0x1);_0x153447++){if(_0x234f42>=_0x22b0c5){var _0x1972c2=_0x22b0c5-_0x234f42;if(_0x1972c2){var _0x3376f9=_0x522f33(_0x81bc8f[_0x153447],_0x81bc8f[_0x153447-0x1])-0xb4;return _0x4d4119(_0x81bc8f[_0x153447],_0x1972c2,_0x3376f9,_0x5ac9eb);}return _0x261805(_0x81bc8f[_0x153447]);}_0x234f42+=_0x45cce9(_0x81bc8f[_0x153447],_0x81bc8f[_0x153447+0x1],_0x5ac9eb);}return _0x261805(_0x81bc8f[_0x81bc8f[_0x1a4e('0x1e')]-0x1]);},_0x5d7dad['length']=_0x1c6600,_0x5d7dad[_0x1a4e('0x7d0')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x2a976f(_0x5ac9eb);if('LineString'!==_0x9463e6(_0x5ac9eb))throw new Error('line\x20must\x20be\x20a\x20LineString');for(var _0x81bc8f,_0x234f42=_0x3f7006(_0x5ac9eb,_0x5d7dad),_0x153447=_0x3f7006(_0x5ac9eb,_0x22b0c5),_0x3376f9=[(_0x81bc8f=_0x234f42[_0x1a4e('0x13')][_0x1a4e('0xbd')]<=_0x153447[_0x1a4e('0x13')][_0x1a4e('0xbd')]?[_0x234f42,_0x153447]:[_0x153447,_0x234f42])[0x0][_0x1a4e('0x18')][_0x1a4e('0x43')]],_0x5dae0e=_0x81bc8f[0x0][_0x1a4e('0x13')][_0x1a4e('0xbd')]+0x1;_0x5dae0e<_0x81bc8f[0x1]['properties'][_0x1a4e('0xbd')]+0x1;_0x5dae0e++)_0x3376f9[_0x1a4e('0x46')](_0x261805[_0x5dae0e]);return _0x3376f9[_0x1a4e('0x46')](_0x81bc8f[0x1][_0x1a4e('0x18')][_0x1a4e('0x43')]),_0x1972c2(_0x3376f9,_0x5ac9eb['properties']);},_0x5d7dad[_0x1a4e('0x7d1')]=_0x55216a,_0x5d7dad['pointGrid']=_0xc33424,_0x5d7dad[_0x1a4e('0x7d2')]=_0x1ee048,_0x5d7dad[_0x1a4e('0x187')]=function(_0x5d7dad){if(!_0x5d7dad)throw new Error('geojson\x20is\x20required');var _0x22b0c5=[];return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad){_0x22b0c5[_0x1a4e('0x46')](_0x5d7dad);}),_0x5dae0e(_0x22b0c5);},_0x5d7dad[_0x1a4e('0x7d3')]=_0x1ab672,_0x5d7dad['lineChunk']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb[_0x1a4e('0x8d')],_0x81bc8f=_0x5ac9eb[_0x1a4e('0x9b')];if(!_0x5d7dad)throw new Error('geojson\x20is\x20required');if(_0x22b0c5<=0x0)throw new Error(_0x1a4e('0x7d4'));var _0x234f42=[];return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad){_0x81bc8f&&(_0x5d7dad['geometry'][_0x1a4e('0x43')]=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x1a4e('0x9b')]()),function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){var _0x81bc8f=_0x1c6600(_0x5d7dad,{'units':_0x5ac9eb});if(_0x81bc8f<=_0x22b0c5)return _0x261805(_0x5d7dad);var _0x234f42=_0x81bc8f/_0x22b0c5;Number[_0x1a4e('0x22f')](_0x234f42)||(_0x234f42=Math[_0x1a4e('0xb4')](_0x234f42)+0x1);for(var _0x153447=0x0;_0x153447<_0x234f42;_0x153447++){var _0x1972c2=_0x55216a(_0x5d7dad,_0x22b0c5*_0x153447,_0x22b0c5*(_0x153447+0x1),{'units':_0x5ac9eb});_0x261805(_0x1972c2);}}(_0x5d7dad,_0x22b0c5,_0x261805,function(_0x5d7dad){_0x234f42[_0x1a4e('0x46')](_0x5d7dad);});}),_0x5dae0e(_0x234f42);},_0x5d7dad[_0x1a4e('0x7d5')]=function(_0x5d7dad){var _0x22b0c5=[];return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad){'Polygon'===_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x40')]&&_0x1494e6(_0x4eb63a(_0x5d7dad),function(_0x5ac9eb){_0x22b0c5[_0x1a4e('0x46')](_0x234f42(_0x5ac9eb['geometry'][_0x1a4e('0x43')],_0x5d7dad[_0x1a4e('0x13')]));});}),_0x5dae0e(_0x22b0c5);},_0x5d7dad['greatCircle']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x1a4e('0x85')!=typeof(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb['properties'],_0x81bc8f=_0x5ac9eb[_0x1a4e('0x7d6')],_0x234f42=_0x5ac9eb[_0x1a4e('0x1af')];return _0x5d7dad=_0x52d3d8(_0x5d7dad),_0x22b0c5=_0x52d3d8(_0x22b0c5),_0x261805=_0x261805||{},_0x81bc8f=_0x81bc8f||0x64,_0x234f42=_0x234f42||0xa,new _0x2d810e({'x':_0x5d7dad[0x0],'y':_0x5d7dad[0x1]},{'x':_0x22b0c5[0x0],'y':_0x22b0c5[0x1]},_0x261805)[_0x1a4e('0x1ae')](_0x81bc8f,{'offset':_0x234f42})[_0x1a4e('0x1a7')]();},_0x5d7dad[_0x1a4e('0x7d7')]=_0xc157bd,_0x5d7dad[_0x1a4e('0x7d8')]=function(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)throw new Error(_0x1a4e('0xa2'));if(!_0x22b0c5)throw new Error('splitter\x20is\x20required');var _0x5ac9eb=_0x9463e6(_0x5d7dad),_0x261805=_0x9463e6(_0x22b0c5);if('LineString'!==_0x5ac9eb)throw new Error(_0x1a4e('0x7d9'));if(_0x1a4e('0x41')===_0x261805)throw new Error(_0x1a4e('0x7da'));if(_0x1a4e('0x28')===_0x261805)throw new Error(_0x1a4e('0x7db'));var _0x81bc8f=_0x1ee048(_0x22b0c5,{'precision':0x7});switch(_0x261805){case'Point':return _0x11359c(_0x5d7dad,_0x81bc8f);case _0x1a4e('0x1a'):return _0x3738e5(_0x5d7dad,_0x81bc8f);case _0x1a4e('0x44'):case _0x1a4e('0x1b'):case _0x1a4e('0x19'):case'MultiPolygon':return _0x3738e5(_0x5d7dad,_0x1ab672(_0x5d7dad,_0x81bc8f));}},_0x5d7dad[_0x1a4e('0x7dc')]=_0x5eb032,_0x5d7dad[_0x1a4e('0x7dd')]=_0x469040,_0x5d7dad[_0x1a4e('0x7de')]=_0x5ef9d7,_0x5d7dad[_0x1a4e('0x7df')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x18')]?_0x5d7dad['geometry'][_0x1a4e('0x40')]:_0x5d7dad[_0x1a4e('0x40')];}(_0x5d7dad),_0x261805=_0x2a976f(_0x5d7dad),_0x81bc8f=_0x5d7dad[_0x1a4e('0x13')];switch(_0x5ac9eb){case'LineString':case _0x1a4e('0x1b'):var _0x153447=[];return'LineString'===_0x5ac9eb&&(_0x261805=[_0x261805]),_0x261805[_0x1a4e('0x3b')](function(_0x5d7dad){_0xa3b501(_0x5d7dad,_0x22b0c5,_0x153447);}),0x1===_0x153447['length']?_0x1972c2(_0x153447[0x0],_0x81bc8f):_0x3d7f02(_0x153447,_0x81bc8f);case'Polygon':return _0x234f42(_0x5d5655(_0x261805,_0x22b0c5),_0x81bc8f);case _0x1a4e('0x1c'):return _0x184c89(_0x261805['map'](function(_0x5d7dad){return _0x5d5655(_0x5d7dad,_0x22b0c5);}),_0x81bc8f);default:throw new Error(_0x1a4e('0x7e0')+_0x5ac9eb+_0x1a4e('0xe1'));}},_0x5d7dad[_0x1a4e('0x7e1')]=_0x416151,_0x5d7dad[_0x1a4e('0x7e2')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f){if(!_0x162a48(_0x81bc8f=_0x81bc8f||{}))throw new Error('options\x20is\x20invalid');if(!_0x5d7dad)throw new Error(_0x1a4e('0xa7'));if(null==_0x5ac9eb)throw new Error(_0x1a4e('0xdd'));if(null==_0x261805)throw new Error('bearing2\x20is\x20required');if(!_0x22b0c5)throw new Error(_0x1a4e('0xdc'));if(_0x1a4e('0x85')!=typeof _0x81bc8f)throw new Error(_0x1a4e('0xa8'));if(_0x2a3a7f(_0x5ac9eb)===_0x2a3a7f(_0x261805))return _0x2a4100(_0x5d7dad,_0x22b0c5,_0x81bc8f);var _0x153447=_0x2a976f(_0x5d7dad),_0x1972c2=[[_0x153447]];return _0x40eeaf(_0x5eb032(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805,_0x81bc8f),function(_0x5d7dad){_0x1972c2[0x0]['push'](_0x5d7dad);}),_0x1972c2[0x0][_0x1a4e('0x46')](_0x153447),_0x234f42(_0x1972c2);},_0x5d7dad[_0x1a4e('0x7e3')]=_0x27474b,_0x5d7dad['rhumbDistance']=_0xf48859,_0x5d7dad[_0x1a4e('0x7e4')]=_0x2a819c,_0x5d7dad[_0x1a4e('0x7e5')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x81bc8f,_0x234f42,_0x153447=_0x2a976f(_0x5d7dad),_0x1972c2=_0x2a976f(_0x22b0c5);switch(_0x9463e6(_0x22b0c5)){case'Polygon':_0x5ac9eb=_0x1972c2[0x0][0x0],_0x81bc8f=_0x1972c2[0x0][0x0],_0x234f42=_0x2c30a3(_0x1972c2[0x0][0x0],_0x1972c2[0x0][_0x1972c2[0x0][_0x1a4e('0x1e')]-0x1],_0x153447);var _0x3376f9=_0x48a855(_0x1972c2[0x0],_0x153447,_0x234f42,void 0x0,_0x5ac9eb,_0x81bc8f);_0x5ac9eb=_0x3376f9[0x0],_0x81bc8f=_0x3376f9[0x1];break;case _0x1a4e('0x1c'):_0x5ac9eb=_0x1972c2[0x0][0x0][0x0],_0x81bc8f=_0x1972c2[0x0][0x0][0x0],_0x234f42=_0x2c30a3(_0x1972c2[0x0][0x0][0x0],_0x1972c2[0x0][0x0][_0x1972c2[0x0][0x0]['length']-0x1],_0x153447),_0x1972c2[_0x1a4e('0x3b')](function(_0x5d7dad){var _0x22b0c5=_0x48a855(_0x5d7dad[0x0],_0x153447,_0x234f42,void 0x0,_0x5ac9eb,_0x81bc8f);_0x5ac9eb=_0x22b0c5[0x0],_0x81bc8f=_0x22b0c5[0x1];});}return _0x5dae0e([_0x261805(_0x5ac9eb),_0x261805(_0x81bc8f)]);},_0x5d7dad[_0x1a4e('0x7e6')]=function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x9b')]||!0x1,_0x261805=_0x22b0c5[_0x1a4e('0x96')]||!0x1;if(!_0x5d7dad)throw new Error(_0x1a4e('0x7e7'));if(_0x1a4e('0x34b')!=typeof _0x5ac9eb)throw new Error(_0x1a4e('0x7e8'));if(_0x1a4e('0x34b')!=typeof _0x261805)throw new Error(_0x1a4e('0x7e9'));!0x1===_0x261805&&(_0x5d7dad=_0x1cc0eb(_0x5d7dad));var _0x81bc8f=[];switch(_0x5d7dad[_0x1a4e('0x40')]){case'GeometryCollection':return _0xaebea(_0x5d7dad,function(_0x5d7dad){_0x848ca8(_0x5d7dad,_0x5ac9eb);}),_0x5d7dad;case _0x1a4e('0x41'):return _0x1494e6(_0x5d7dad,function(_0x5d7dad){_0x1494e6(_0x848ca8(_0x5d7dad,_0x5ac9eb),function(_0x5d7dad){_0x81bc8f[_0x1a4e('0x46')](_0x5d7dad);});}),_0x5dae0e(_0x81bc8f);}return _0x848ca8(_0x5d7dad,_0x5ac9eb);},_0x5d7dad[_0x1a4e('0x7ea')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb[_0x1a4e('0x7eb')]||_0x1a4e('0x7ab'),_0x81bc8f=_0x5ac9eb[_0x1a4e('0x7ac')]||{},_0x153447=_0x5ac9eb[_0x1a4e('0x7ad')]||[];if(_0x1a38db(_0x5d7dad,'Point',_0x1a4e('0x7ae')),!_0x22b0c5)throw new Error(_0x1a4e('0x7ec'));if(!Array['isArray'](_0x22b0c5))throw new Error(_0x1a4e('0x7ed'));if(!_0x162a48(_0x81bc8f))throw new Error(_0x1a4e('0x7ee'));if(!Array[_0x1a4e('0x15')](_0x153447))throw new Error(_0x1a4e('0x7ef'));var _0x1972c2=function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x7eb')]||_0x1a4e('0x7ab'),_0x261805=_0x22b0c5[_0x1a4e('0x41d')],_0x81bc8f=_0x22b0c5['flags'];_0x1a38db(_0x5d7dad,'Point','input\x20must\x20contain\x20Points');for(var _0x234f42=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb={};return _0x1494e6(_0x5d7dad,function(_0x5d7dad){var _0x22b0c5=_0x2a976f(_0x5d7dad)[0x1];_0x5ac9eb[_0x22b0c5]||(_0x5ac9eb[_0x22b0c5]=[]),_0x5ac9eb[_0x22b0c5][_0x1a4e('0x46')](_0x5d7dad);}),Object[_0x1a4e('0x56')](_0x5ac9eb)[_0x1a4e('0x21')](function(_0x5d7dad){var _0x22b0c5=_0x5ac9eb[_0x5d7dad],_0x261805=_0x22b0c5['sort'](function(_0x5d7dad,_0x22b0c5){return _0x2a976f(_0x5d7dad)[0x0]-_0x2a976f(_0x22b0c5)[0x0];});return _0x261805;})[_0x1a4e('0x89')](function(_0x5d7dad,_0x5ac9eb){return _0x22b0c5?_0x2a976f(_0x5d7dad[0x0])[0x1]-_0x2a976f(_0x5ac9eb[0x0])[0x1]:_0x2a976f(_0x5ac9eb[0x0])[0x1]-_0x2a976f(_0x5d7dad[0x0])[0x1];});}(_0x5d7dad,_0x261805),_0x153447=[],_0x1972c2=0x0;_0x1972c2<_0x234f42[_0x1a4e('0x1e')];_0x1972c2++){for(var _0x3376f9=_0x234f42[_0x1972c2],_0x5dae0e=[],_0x3d7f02=0x0;_0x3d7f02<_0x3376f9[_0x1a4e('0x1e')];_0x3d7f02++){var _0x146559=_0x3376f9[_0x3d7f02];_0x146559[_0x1a4e('0x13')][_0x5ac9eb]?_0x5dae0e['push'](_0x146559[_0x1a4e('0x13')][_0x5ac9eb]):_0x5dae0e[_0x1a4e('0x46')](0x0),!0x0===_0x81bc8f&&(_0x146559['properties'][_0x1a4e('0x7b3')]=[_0x1972c2,_0x3d7f02]);}_0x153447['push'](_0x5dae0e);}return _0x153447;}(_0x5d7dad,{'zProperty':_0x261805,'flip':!0x0}),_0x3376f9=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){for(var _0x261805=[],_0x81bc8f=0x1;_0x81bc8f<_0x22b0c5[_0x1a4e('0x1e')];_0x81bc8f++){var _0x153447=+_0x22b0c5[_0x81bc8f-0x1],_0x1972c2=+_0x22b0c5[_0x81bc8f],_0x3376f9=_0x42455f(_0x5d7dad,_0x153447,_0x1972c2-_0x153447),_0x5dae0e=function(_0x5d7dad){var _0x22b0c5=[],_0x5ac9eb=[];_0x5d7dad['forEach'](function(_0x5d7dad){var _0x261805=_0x59237d(_0x234f42([_0x5d7dad]));_0x5ac9eb[_0x1a4e('0x46')](_0x261805),_0x22b0c5[_0x1a4e('0x46')]({'ring':_0x5d7dad,'area':_0x261805});}),_0x5ac9eb['sort'](function(_0x5d7dad,_0x22b0c5){return _0x22b0c5-_0x5d7dad;});var _0x261805=[];return _0x5ac9eb['forEach'](function(_0x5d7dad){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x1e')];_0x5ac9eb++)if(_0x22b0c5[_0x5ac9eb][_0x1a4e('0x4b8')]===_0x5d7dad){_0x261805['push'](_0x22b0c5[_0x5ac9eb][_0x1a4e('0x193')]),_0x22b0c5['splice'](_0x5ac9eb,0x1);break;}}),_0x261805;}(_0x3376f9),_0x3d7f02=function(_0x5d7dad){for(var _0x22b0c5=_0x5d7dad[_0x1a4e('0x21')](function(_0x5d7dad){return{'lrCoordinates':_0x5d7dad,'grouped':!0x1};}),_0x5ac9eb=[];!function(_0x5d7dad){for(var _0x22b0c5=0x0;_0x22b0c5<_0x5d7dad[_0x1a4e('0x1e')];_0x22b0c5++)if(!0x1===_0x5d7dad[_0x22b0c5]['grouped'])return!0x1;return!0x0;}(_0x22b0c5);)for(var _0x261805=0x0;_0x261805<_0x22b0c5['length'];_0x261805++)if(!_0x22b0c5[_0x261805]['grouped']){var _0x81bc8f=[];_0x81bc8f[_0x1a4e('0x46')](_0x22b0c5[_0x261805][_0x1a4e('0x7f0')]),_0x22b0c5[_0x261805]['grouped']=!0x0;for(var _0x153447=_0x234f42([_0x22b0c5[_0x261805][_0x1a4e('0x7f0')]]),_0x1972c2=_0x261805+0x1;_0x1972c2<_0x22b0c5[_0x1a4e('0x1e')];_0x1972c2++)if(!_0x22b0c5[_0x1972c2][_0x1a4e('0x7f1')]){var _0x3376f9=_0x234f42([_0x22b0c5[_0x1972c2][_0x1a4e('0x7f0')]]);(function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=_0x3b75c6(_0x5d7dad),_0x261805=0x0;_0x261805<_0x5ac9eb[_0x1a4e('0x25')]['length'];_0x261805++)if(!_0xf47c44(_0x5ac9eb[_0x1a4e('0x25')][_0x261805],_0x22b0c5))return!0x1;return!0x0;}(_0x3376f9,_0x153447)&&(_0x81bc8f[_0x1a4e('0x46')](_0x22b0c5[_0x1972c2][_0x1a4e('0x7f0')]),_0x22b0c5[_0x1972c2]['grouped']=!0x0));}_0x5ac9eb[_0x1a4e('0x46')](_0x81bc8f);}return _0x5ac9eb;}(_0x5dae0e),_0x146559={};_0x146559['groupedRings']=_0x3d7f02,_0x146559[_0x5ac9eb]=_0x153447+'-'+_0x1972c2,_0x261805[_0x1a4e('0x46')](_0x146559);}return _0x261805;}(_0x1972c2,_0x22b0c5,_0x261805);return _0x5dae0e((_0x3376f9=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=_0x3c3785(_0x5ac9eb),_0x81bc8f=_0x261805[0x2]-_0x261805[0x0],_0x234f42=_0x261805[0x3]-_0x261805[0x1],_0x153447=_0x261805[0x0],_0x1972c2=_0x261805[0x1],_0x3376f9=_0x22b0c5[0x0][_0x1a4e('0x1e')]-0x1,_0x5dae0e=_0x22b0c5[_0x1a4e('0x1e')]-0x1,_0x3d7f02=_0x81bc8f/_0x3376f9,_0x146559=_0x234f42/_0x5dae0e,_0x184c89=function(_0x5d7dad){_0x5d7dad[0x0]=_0x5d7dad[0x0]*_0x3d7f02+_0x153447,_0x5d7dad[0x1]=_0x5d7dad[0x1]*_0x146559+_0x1972c2;};return _0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x7f2')]['forEach'](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x3b')](_0x184c89);});});}),_0x5d7dad;}(_0x3376f9,_0x1972c2,_0x5d7dad))[_0x1a4e('0x21')](function(_0x5d7dad,_0x22b0c5){if(_0x153447[_0x22b0c5]&&!_0x162a48(_0x153447[_0x22b0c5]))throw new Error('Each\x20mappedProperty\x20is\x20required\x20to\x20be\x20an\x20Object');var _0x5ac9eb=Object[_0x1a4e('0x200')]({},_0x81bc8f,_0x153447[_0x22b0c5]);return _0x5ac9eb[_0x261805]=_0x5d7dad[_0x261805],_0x184c89(_0x5d7dad[_0x1a4e('0x7f2')],_0x5ac9eb);}));},_0x5d7dad[_0x1a4e('0x7f3')]=_0x2625d1,_0x5d7dad[_0x1a4e('0x7f4')]=_0x363202,_0x5d7dad[_0x1a4e('0x7f5')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb,_0x261805){if(!_0x162a48(_0x261805=_0x261805||{}))throw new Error(_0x1a4e('0xd'));var _0x81bc8f=_0x261805[_0x1a4e('0x8d')],_0x234f42=_0x261805[_0x1a4e('0x7f6')],_0x153447=_0x261805[_0x1a4e('0x96')];if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));if(null==_0x22b0c5||isNaN(_0x22b0c5))throw new Error(_0x1a4e('0x2d'));if(_0x234f42&&_0x1a4e('0x3d')!=typeof _0x234f42&&isNaN(_0x234f42))throw new Error(_0x1a4e('0x7f7'));if(_0x234f42=void 0x0!==_0x234f42?_0x234f42:0x0,0x0===_0x22b0c5&&0x0===_0x234f42)return _0x5d7dad;if(null==_0x5ac9eb||isNaN(_0x5ac9eb))throw new Error(_0x1a4e('0x7f8'));return _0x22b0c5<0x0&&(_0x22b0c5=-_0x22b0c5,_0x5ac9eb=-_0x5ac9eb),!0x1!==_0x153447&&void 0x0!==_0x153447||(_0x5d7dad=_0x1cc0eb(_0x5d7dad)),_0x40eeaf(_0x5d7dad,function(_0x5d7dad){var _0x261805=_0x2a976f(_0x2a819c(_0x5d7dad,_0x22b0c5,_0x5ac9eb,{'units':_0x81bc8f}));_0x5d7dad[0x0]=_0x261805[0x0],_0x5d7dad[0x1]=_0x261805[0x1],_0x234f42&&0x3===_0x5d7dad['length']&&(_0x5d7dad[0x2]+=_0x234f42);}),_0x5d7dad;},_0x5d7dad['lineOffset']=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(!_0x162a48(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb['units'];if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));if(null==_0x22b0c5||isNaN(_0x22b0c5))throw new Error(_0x1a4e('0x2d'));var _0x81bc8f=_0x9463e6(_0x5d7dad),_0x234f42=_0x5d7dad[_0x1a4e('0x13')];switch(_0x81bc8f){case'LineString':return _0x232293(_0x5d7dad,_0x22b0c5,_0x261805);case _0x1a4e('0x1b'):var _0x153447=[];return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad){_0x153447[_0x1a4e('0x46')](_0x232293(_0x5d7dad,_0x22b0c5,_0x261805)[_0x1a4e('0x18')][_0x1a4e('0x43')]);}),_0x3d7f02(_0x153447,_0x234f42);default:throw new Error('geometry\x20'+_0x81bc8f+_0x1a4e('0x9d'));}},_0x5d7dad['polygonize']=function(_0x5d7dad){var _0x22b0c5=_0x400223[_0x1a4e('0x1c9')](_0x5d7dad);_0x22b0c5[_0x1a4e('0x7f9')](),_0x22b0c5[_0x1a4e('0x1d2')]();var _0x5ac9eb=[],_0x261805=[];return _0x22b0c5[_0x1a4e('0x1d7')]()['filter'](function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x1c3')]();})[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5d7dad[_0x1a4e('0x498')]()?_0x5ac9eb[_0x1a4e('0x46')](_0x5d7dad):_0x261805[_0x1a4e('0x46')](_0x5d7dad);}),_0x5ac9eb[_0x1a4e('0x3b')](function(_0x5d7dad){_0x1963b1['findEdgeRingContaining'](_0x5d7dad,_0x261805)&&_0x261805[_0x1a4e('0x46')](_0x5d7dad);}),_0x5dae0e(_0x261805[_0x1a4e('0x21')](function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x1c4')]();}));},_0x5d7dad['booleanDisjoint']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb;return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad){_0xe0c7f6(_0x22b0c5,function(_0x22b0c5){if(!0x1===_0x5ac9eb)return!0x1;_0x5ac9eb=function(_0x5d7dad,_0x22b0c5){switch(_0x5d7dad['type']){case _0x1a4e('0x17'):switch(_0x22b0c5[_0x1a4e('0x40')]){case _0x1a4e('0x17'):return!function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[0x0]===_0x22b0c5[0x0]&&_0x5d7dad[0x1]===_0x22b0c5[0x1];}(_0x5d7dad[_0x1a4e('0x43')],_0x22b0c5[_0x1a4e('0x43')]);case _0x1a4e('0x44'):return!_0x2f1a67(_0x22b0c5,_0x5d7dad);case _0x1a4e('0x19'):return!_0xf47c44(_0x5d7dad,_0x22b0c5);}break;case _0x1a4e('0x44'):switch(_0x22b0c5['type']){case'Point':return!_0x2f1a67(_0x5d7dad,_0x22b0c5);case _0x1a4e('0x44'):return!function(_0x5d7dad,_0x22b0c5){return _0x1ab672(_0x5d7dad,_0x22b0c5)[_0x1a4e('0x25')][_0x1a4e('0x1e')]>0x0;}(_0x5d7dad,_0x22b0c5);case _0x1a4e('0x19'):return!_0x18db26(_0x22b0c5,_0x5d7dad);}break;case _0x1a4e('0x19'):switch(_0x22b0c5[_0x1a4e('0x40')]){case _0x1a4e('0x17'):return!_0xf47c44(_0x22b0c5,_0x5d7dad);case _0x1a4e('0x44'):return!_0x18db26(_0x5d7dad,_0x22b0c5);case _0x1a4e('0x19'):return!function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad['coordinates'][0x0]['length'];_0x5ac9eb++)if(_0xf47c44(_0x5d7dad[_0x1a4e('0x43')][0x0][_0x5ac9eb],_0x22b0c5))return!0x0;for(var _0x261805=0x0;_0x261805<_0x22b0c5['coordinates'][0x0][_0x1a4e('0x1e')];_0x261805++)if(_0xf47c44(_0x22b0c5[_0x1a4e('0x43')][0x0][_0x261805],_0x5d7dad))return!0x0;return!0x1;}(_0x22b0c5,_0x5d7dad);}}}(_0x5d7dad[_0x1a4e('0x18')],_0x22b0c5[_0x1a4e('0x18')]);});}),_0x5ac9eb;},_0x5d7dad['booleanContains']=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x9463e6(_0x5d7dad),_0x261805=_0x9463e6(_0x22b0c5),_0x81bc8f=_0x4510bd(_0x5d7dad),_0x234f42=_0x4510bd(_0x22b0c5),_0x153447=_0x2a976f(_0x5d7dad),_0x1972c2=_0x2a976f(_0x22b0c5);switch(_0x5ac9eb){case _0x1a4e('0x17'):switch(_0x261805){case'Point':return _0x3d644f(_0x153447,_0x1972c2);default:throw new Error('feature2\x20'+_0x261805+'\x20geometry\x20not\x20supported');}case'MultiPoint':switch(_0x261805){case _0x1a4e('0x17'):return function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb,_0x261805=!0x1;for(_0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x43')][_0x1a4e('0x1e')];_0x5ac9eb++)if(_0x3d644f(_0x5d7dad[_0x1a4e('0x43')][_0x5ac9eb],_0x22b0c5[_0x1a4e('0x43')])){_0x261805=!0x0;break;}return _0x261805;}(_0x81bc8f,_0x234f42);case _0x1a4e('0x1a'):return function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x43')][_0x1a4e('0x1e')];_0x5ac9eb++){for(var _0x261805=!0x1,_0x81bc8f=0x0;_0x81bc8f<_0x5d7dad[_0x1a4e('0x43')][_0x1a4e('0x1e')];_0x81bc8f++)if(_0x3d644f(_0x22b0c5[_0x1a4e('0x43')][_0x5ac9eb],_0x5d7dad[_0x1a4e('0x43')][_0x81bc8f])){_0x261805=!0x0;break;}if(!_0x261805)return!0x1;}return!0x0;}(_0x81bc8f,_0x234f42);default:throw new Error(_0x1a4e('0xcc')+_0x261805+_0x1a4e('0x9f'));}case _0x1a4e('0x44'):switch(_0x261805){case _0x1a4e('0x17'):return _0x15780e(_0x234f42,_0x81bc8f,{'ignoreEndVertices':!0x0});case _0x1a4e('0x44'):return function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=!0x1,_0x261805=0x0;_0x261805<_0x22b0c5[_0x1a4e('0x43')][_0x1a4e('0x1e')];_0x261805++)if(_0x15780e({'type':_0x1a4e('0x17'),'coordinates':_0x22b0c5[_0x1a4e('0x43')][_0x261805]},_0x5d7dad,{'ignoreEndVertices':!0x0})&&(_0x5ac9eb=!0x0),!_0x15780e({'type':_0x1a4e('0x17'),'coordinates':_0x22b0c5[_0x1a4e('0x43')][_0x261805]},_0x5d7dad,{'ignoreEndVertices':!0x1}))return!0x1;return _0x5ac9eb;}(_0x81bc8f,_0x234f42);case'MultiPoint':return function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=!0x1,_0x261805=0x0;_0x261805<_0x22b0c5['coordinates'][_0x1a4e('0x1e')];_0x261805++)if(_0x15780e(_0x22b0c5[_0x1a4e('0x43')][_0x261805],_0x5d7dad,{'ignoreEndVertices':!0x0})&&(_0x5ac9eb=!0x0),!_0x15780e(_0x22b0c5['coordinates'][_0x261805],_0x5d7dad))return!0x1;return!!_0x5ac9eb;}(_0x81bc8f,_0x234f42);default:throw new Error(_0x1a4e('0xcc')+_0x261805+_0x1a4e('0x9f'));}case _0x1a4e('0x19'):switch(_0x261805){case _0x1a4e('0x17'):return _0xf47c44(_0x234f42,_0x81bc8f,{'ignoreBoundary':!0x0});case'LineString':return function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=!0x1,_0x261805=0x0,_0x81bc8f=_0x3c3785(_0x5d7dad),_0x234f42=_0x3c3785(_0x22b0c5);if(!_0x41cc13(_0x81bc8f,_0x234f42))return!0x1;for(;_0x261805<_0x22b0c5[_0x1a4e('0x43')]['length']-0x1;_0x261805++){var _0x153447=function(_0x5d7dad,_0x22b0c5){return[(_0x5d7dad[0x0]+_0x22b0c5[0x0])/0x2,(_0x5d7dad[0x1]+_0x22b0c5[0x1])/0x2];}(_0x22b0c5[_0x1a4e('0x43')][_0x261805],_0x22b0c5[_0x1a4e('0x43')][_0x261805+0x1]);if(_0xf47c44({'type':_0x1a4e('0x17'),'coordinates':_0x153447},_0x5d7dad,{'ignoreBoundary':!0x0})){_0x5ac9eb=!0x0;break;}}return _0x5ac9eb;}(_0x81bc8f,_0x234f42);case'Polygon':return function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x3c3785(_0x5d7dad),_0x261805=_0x3c3785(_0x22b0c5);if(!_0x41cc13(_0x5ac9eb,_0x261805))return!0x1;for(var _0x81bc8f=0x0;_0x81bc8f<_0x22b0c5[_0x1a4e('0x43')][0x0]['length'];_0x81bc8f++)if(!_0xf47c44(_0x22b0c5[_0x1a4e('0x43')][0x0][_0x81bc8f],_0x5d7dad))return!0x1;return!0x0;}(_0x81bc8f,_0x234f42);case _0x1a4e('0x1a'):return function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5['coordinates'][_0x1a4e('0x1e')];_0x5ac9eb++)if(!_0xf47c44(_0x22b0c5[_0x1a4e('0x43')][_0x5ac9eb],_0x5d7dad,{'ignoreBoundary':!0x0}))return!0x1;return!0x0;}(_0x81bc8f,_0x234f42);default:throw new Error(_0x1a4e('0xcc')+_0x261805+_0x1a4e('0x9f'));}default:throw new Error(_0x1a4e('0xcd')+_0x5ac9eb+_0x1a4e('0x9f'));}},_0x5d7dad[_0x1a4e('0x7fa')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x9463e6(_0x5d7dad),_0x261805=_0x9463e6(_0x22b0c5),_0x81bc8f=_0x4510bd(_0x5d7dad),_0x234f42=_0x4510bd(_0x22b0c5);switch(_0x5ac9eb){case'MultiPoint':switch(_0x261805){case _0x1a4e('0x44'):return _0x54d8db(_0x81bc8f,_0x234f42);case'Polygon':return _0x55fe39(_0x81bc8f,_0x234f42);default:throw new Error(_0x1a4e('0xcc')+_0x261805+_0x1a4e('0x9f'));}case'LineString':switch(_0x261805){case _0x1a4e('0x1a'):return _0x54d8db(_0x234f42,_0x81bc8f);case'LineString':return function(_0x5d7dad,_0x22b0c5){if(_0x1ab672(_0x5d7dad,_0x22b0c5)[_0x1a4e('0x25')]['length']>0x0)for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x5d7dad[_0x1a4e('0x43')]['length']-0x1;_0x5ac9eb++)for(var _0x261805=0x0;_0x261805<_0x22b0c5[_0x1a4e('0x43')]['length']-0x1;_0x261805++){var _0x81bc8f=!0x0;if(0x0!==_0x261805&&_0x261805!==_0x22b0c5['coordinates'][_0x1a4e('0x1e')]-0x2||(_0x81bc8f=!0x1),_0x50b387(_0x5d7dad[_0x1a4e('0x43')][_0x5ac9eb],_0x5d7dad[_0x1a4e('0x43')][_0x5ac9eb+0x1],_0x22b0c5[_0x1a4e('0x43')][_0x261805],_0x81bc8f))return!0x0;}return!0x1;}(_0x81bc8f,_0x234f42);case _0x1a4e('0x19'):return _0x921215(_0x81bc8f,_0x234f42);default:throw new Error(_0x1a4e('0xcc')+_0x261805+'\x20geometry\x20not\x20supported');}case'Polygon':switch(_0x261805){case _0x1a4e('0x1a'):return _0x55fe39(_0x234f42,_0x81bc8f);case _0x1a4e('0x44'):return _0x921215(_0x234f42,_0x81bc8f);default:throw new Error('feature2\x20'+_0x261805+_0x1a4e('0x9f'));}default:throw new Error(_0x1a4e('0xcd')+_0x5ac9eb+'\x20geometry\x20not\x20supported');}},_0x5d7dad[_0x1a4e('0x7fb')]=_0x354fc1,_0x5d7dad[_0x1a4e('0x7fc')]=_0x350078,_0x5d7dad[_0x1a4e('0x7fd')]=_0x15780e,_0x5d7dad['booleanEqual']=function(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)throw new Error(_0x1a4e('0x117'));if(!_0x22b0c5)throw new Error(_0x1a4e('0x118'));return _0x9463e6(_0x5d7dad)===_0x9463e6(_0x22b0c5)&&new _0x5e967f({'precision':0x6})['compare'](_0x193f55(_0x5d7dad),_0x193f55(_0x22b0c5));},_0x5d7dad['booleanWithin']=_0x363e9d,_0x5d7dad[_0x1a4e('0x240')]=_0x1cc0eb,_0x5d7dad[_0x1a4e('0x7fe')]=_0x193f55,_0x5d7dad[_0x1a4e('0x7ff')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x1a4e('0x85')!=typeof(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb[_0x1a4e('0x800')],_0x81bc8f=_0x5ac9eb[_0x1a4e('0x8d')];if(_0x1a38db(_0x5d7dad,_0x1a4e('0x17'),'Input\x20must\x20contain\x20Points'),null==_0x22b0c5)throw new Error(_0x1a4e('0x801'));if(!(Math['sign'](_0x22b0c5)>0x0))throw new Error(_0x1a4e('0x802'));if(!(null==_0x261805||Math[_0x1a4e('0x113')](_0x261805)>0x0))throw new Error('Invalid\x20minPoints');_0x5d7dad=_0x1cc0eb(_0x5d7dad),_0x261805=_0x261805||0x3;var _0x234f42=new _0x510a1d[(_0x1a4e('0x214'))](),_0x153447=-0x1;return _0x234f42['run'](_0x4412c5(_0x5d7dad),_0x3ff7f9(_0x22b0c5,_0x81bc8f),_0x261805,_0x45cce9)[_0x1a4e('0x3b')](function(_0x22b0c5){_0x153447++,_0x22b0c5['forEach'](function(_0x22b0c5){var _0x5ac9eb=_0x5d7dad['features'][_0x22b0c5];_0x5ac9eb['properties']||(_0x5ac9eb[_0x1a4e('0x13')]={}),_0x5ac9eb['properties']['cluster']=_0x153447,_0x5ac9eb[_0x1a4e('0x13')][_0x1a4e('0x803')]='core';});}),_0x234f42['noise'][_0x1a4e('0x3b')](function(_0x22b0c5){var _0x5ac9eb=_0x5d7dad[_0x1a4e('0x25')][_0x22b0c5];_0x5ac9eb[_0x1a4e('0x13')]||(_0x5ac9eb['properties']={}),_0x5ac9eb[_0x1a4e('0x13')][_0x1a4e('0x804')]?_0x5ac9eb[_0x1a4e('0x13')][_0x1a4e('0x803')]=_0x1a4e('0x126'):_0x5ac9eb[_0x1a4e('0x13')]['dbscan']=_0x1a4e('0x1f0');}),_0x5d7dad;},_0x5d7dad['clustersKmeans']=function(_0x5d7dad,_0x22b0c5){if(_0x1a4e('0x85')!=typeof(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x805')],_0x261805=_0x22b0c5['mutate'];_0x1a38db(_0x5d7dad,_0x1a4e('0x17'),_0x1a4e('0x7ae'));var _0x81bc8f=_0x5d7dad[_0x1a4e('0x25')]['length'];(_0x5ac9eb=_0x5ac9eb||Math['round'](Math[_0x1a4e('0x91')](_0x81bc8f/0x2)))>_0x81bc8f&&(_0x5ac9eb=_0x81bc8f),!0x1!==_0x261805&&void 0x0!==_0x261805||(_0x5d7dad=_0x1cc0eb(_0x5d7dad));var _0x234f42=_0x4412c5(_0x5d7dad),_0x153447=_0x234f42[_0x1a4e('0x78')](0x0,_0x5ac9eb),_0x1972c2=_0xe105a9(_0x234f42,_0x5ac9eb,_0x153447),_0x3376f9={};return _0x1972c2[_0x1a4e('0x1fc')][_0x1a4e('0x3b')](function(_0x5d7dad,_0x22b0c5){_0x3376f9[_0x22b0c5]=_0x5d7dad;}),_0x1494e6(_0x5d7dad,function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x1972c2[_0x1a4e('0x806')][_0x22b0c5];_0x5d7dad[_0x1a4e('0x13')][_0x1a4e('0x804')]=_0x5ac9eb,_0x5d7dad['properties'][_0x1a4e('0x10a')]=_0x3376f9[_0x5ac9eb];}),_0x5d7dad;},_0x5d7dad['pointToLineDistance']=_0x40a49f,_0x5d7dad['booleanParallel']=function(_0x5d7dad,_0x22b0c5){if(!_0x5d7dad)throw new Error('line1\x20is\x20required');if(!_0x22b0c5)throw new Error(_0x1a4e('0x807'));if(_0x1a4e('0x44')!==_0x554ee9(_0x5d7dad,_0x1a4e('0x808')))throw new Error(_0x1a4e('0x809'));if('LineString'!==_0x554ee9(_0x22b0c5,_0x1a4e('0x80a')))throw new Error(_0x1a4e('0x80b'));for(var _0x5ac9eb=_0xc157bd(_0x193f55(_0x5d7dad))['features'],_0x261805=_0xc157bd(_0x193f55(_0x22b0c5))[_0x1a4e('0x25')],_0x81bc8f=0x0;_0x81bc8f<_0x5ac9eb[_0x1a4e('0x1e')];_0x81bc8f++){var _0x234f42=_0x5ac9eb[_0x81bc8f]['geometry']['coordinates'];if(!_0x261805[_0x81bc8f])break;if(!function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x55366a(_0x27474b(_0x5d7dad[0x0],_0x5d7dad[0x1])),_0x261805=_0x55366a(_0x27474b(_0x22b0c5[0x0],_0x22b0c5[0x1]));return _0x5ac9eb===_0x261805;}(_0x234f42,_0x261805[_0x81bc8f][_0x1a4e('0x18')][_0x1a4e('0x43')]))return!0x1;}return!0x0;},_0x5d7dad[_0x1a4e('0x80c')]=function(_0x5d7dad,_0x5ac9eb,_0x81bc8f){if(!_0x162a48(_0x81bc8f=_0x81bc8f||{}))throw new Error('options\x20is\x20invalid');var _0x234f42=_0x81bc8f['resolution'],_0x153447=_0x81bc8f[_0x1a4e('0x80d')],_0x3376f9=_0x81bc8f['obstacles']||_0x5dae0e([]);if(!_0x5d7dad)throw new Error('start\x20is\x20required');if(!_0x5ac9eb)throw new Error(_0x1a4e('0x80e'));if(_0x234f42&&!_0x556755(_0x234f42)||_0x234f42<=0x0)throw new Error('options.resolution\x20must\x20be\x20a\x20number,\x20greater\x20than\x200');if(_0x153447)throw new Error('options.minDistance\x20is\x20not\x20yet\x20implemented');var _0x3d7f02=_0x52d3d8(_0x5d7dad),_0x146559=_0x52d3d8(_0x5ac9eb);switch(_0x5d7dad=_0x261805(_0x3d7f02),_0x5ac9eb=_0x261805(_0x146559),_0x9463e6(_0x3376f9)){case _0x1a4e('0x41'):if(0x0===_0x3376f9['features'][_0x1a4e('0x1e')])return _0x1972c2([_0x3d7f02,_0x146559]);break;case'Polygon':_0x3376f9=_0x5dae0e([_0x22b0c5(_0x4510bd(_0x3376f9))]);break;default:throw new Error(_0x1a4e('0x80f'));}var _0x184c89=_0x3376f9;_0x184c89[_0x1a4e('0x25')]['push'](_0x5d7dad),_0x184c89['features']['push'](_0x5ac9eb);var _0x4198ed=_0x3c3785(_0x363202(_0x289fd3(_0x3c3785(_0x184c89)),1.15));_0x234f42||(_0x234f42=_0x45cce9([_0x4198ed[0x0],_0x4198ed[0x1]],[_0x4198ed[0x2],_0x4198ed[0x1]],_0x81bc8f)/0x64),_0x184c89[_0x1a4e('0x25')]['pop'](),_0x184c89[_0x1a4e('0x25')][_0x1a4e('0x76')]();for(var _0x41179c=_0x4198ed[0x0],_0x4eb09b=_0x4198ed[0x1],_0x39638f=_0x4198ed[0x2],_0x40b220=_0x4198ed[0x3],_0x55366a=_0x234f42/_0x45cce9([_0x41179c,_0x4eb09b],[_0x39638f,_0x4eb09b],_0x81bc8f)*(_0x39638f-_0x41179c),_0x527605=_0x234f42/_0x45cce9([_0x41179c,_0x4eb09b],[_0x41179c,_0x40b220],_0x81bc8f)*(_0x40b220-_0x4eb09b),_0x4b8927=_0x39638f-_0x41179c,_0x3ff7f9=_0x40b220-_0x4eb09b,_0x3b62c2=(_0x4b8927-Math[_0x1a4e('0xb4')](_0x4b8927/_0x55366a)*_0x55366a)/0x2,_0x4f92fa=[],_0x4fae53=[],_0x40eeaf=[],_0x34483c=[],_0x7d6acf=0x1/0x0,_0x17e057=0x1/0x0,_0x1494e6=_0x40b220-(_0x3ff7f9-Math[_0x1a4e('0xb4')](_0x3ff7f9/_0x527605)*_0x527605)/0x2,_0x57cad0=0x0;_0x1494e6>=_0x4eb09b;){for(var _0x4412c5=[],_0xaebea=[],_0x5674f8=_0x41179c+_0x3b62c2,_0xe0c7f6=0x0;_0x5674f8<=_0x39638f;){var _0x23ec33=_0x261805([_0x5674f8,_0x1494e6]),_0x5b37a5=function(_0x5d7dad,_0x22b0c5){for(var _0x5ac9eb=0x0;_0x5ac9eb<_0x22b0c5[_0x1a4e('0x25')][_0x1a4e('0x1e')];_0x5ac9eb++)if(_0xf47c44(_0x5d7dad,_0x22b0c5['features'][_0x5ac9eb]))return!0x0;return!0x1;}(_0x23ec33,_0x3376f9);_0x4412c5['push'](_0x5b37a5?0x0:0x1),_0xaebea[_0x1a4e('0x46')](_0x5674f8+'|'+_0x1494e6);var _0xa3630=_0x45cce9(_0x23ec33,_0x5d7dad);!_0x5b37a5&&_0xa3630<_0x7d6acf&&(_0x7d6acf=_0xa3630,_0x40eeaf={'x':_0xe0c7f6,'y':_0x57cad0});var _0x310be4=_0x45cce9(_0x23ec33,_0x5ac9eb);!_0x5b37a5&&_0x310be4<_0x17e057&&(_0x17e057=_0x310be4,_0x34483c={'x':_0xe0c7f6,'y':_0x57cad0}),_0x5674f8+=_0x55366a,_0xe0c7f6++;}_0x4fae53[_0x1a4e('0x46')](_0x4412c5),_0x4f92fa['push'](_0xaebea),_0x1494e6-=_0x527605,_0x57cad0++;}var _0x58d830=new _0x5506bd(_0x4fae53,{'diagonal':!0x0}),_0x2a976f=_0x58d830[_0x1a4e('0x11f')][_0x40eeaf['y']][_0x40eeaf['x']],_0x4598a2=_0x58d830[_0x1a4e('0x11f')][_0x34483c['y']][_0x34483c['x']],_0x281b1c=[_0x3d7f02];return _0x40ea70[_0x1a4e('0x83')](_0x58d830,_0x2a976f,_0x4598a2)[_0x1a4e('0x3b')](function(_0x5d7dad){var _0x22b0c5=_0x4f92fa[_0x5d7dad['x']][_0x5d7dad['y']][_0x1a4e('0x2be')]('|');_0x281b1c['push']([+_0x22b0c5[0x0],+_0x22b0c5[0x1]]);}),_0x281b1c['push'](_0x146559),_0x193f55(_0x1972c2(_0x281b1c));},_0x5d7dad['voronoi']=function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0xe')]||[-0xb4,-0x55,0xb4,0x55];if(!_0x5d7dad)throw new Error(_0x1a4e('0x7b5'));if(!Array[_0x1a4e('0x15')](_0x5ac9eb))throw new Error(_0x1a4e('0x12d'));return _0x1a38db(_0x5d7dad,'Point',_0x1a4e('0x17d')),_0x5dae0e(function(){function _0x5d7dad(_0x5d7dad){return new _0x5603f2(_0x5d7dad[_0x1a4e('0x21')](function(_0x261805,_0x81bc8f){var _0x234f42=[Math[_0x1a4e('0x2a')](_0x22b0c5(_0x261805,_0x81bc8f,_0x5d7dad)/_0x572e63)*_0x572e63,Math['round'](_0x5ac9eb(_0x261805,_0x81bc8f,_0x5d7dad)/_0x572e63)*_0x572e63];return _0x234f42['index']=_0x81bc8f,_0x234f42['data']=_0x261805,_0x234f42;}),_0x261805);}var _0x22b0c5=_0x3fb554,_0x5ac9eb=_0x3e6ea0,_0x261805=null;return _0x5d7dad[_0x1a4e('0xf0')]=function(_0x22b0c5){return _0x5d7dad(_0x22b0c5)['polygons']();},_0x5d7dad[_0x1a4e('0x810')]=function(_0x22b0c5){return _0x5d7dad(_0x22b0c5)[_0x1a4e('0x810')]();},_0x5d7dad[_0x1a4e('0x14b')]=function(_0x22b0c5){return _0x5d7dad(_0x22b0c5)[_0x1a4e('0x14b')]();},_0x5d7dad['x']=function(_0x5ac9eb){return arguments[_0x1a4e('0x1e')]?(_0x22b0c5=_0x1a4e('0x68')==typeof _0x5ac9eb?_0x5ac9eb:_0x4231a1(+_0x5ac9eb),_0x5d7dad):_0x22b0c5;},_0x5d7dad['y']=function(_0x22b0c5){return arguments[_0x1a4e('0x1e')]?(_0x5ac9eb=_0x1a4e('0x68')==typeof _0x22b0c5?_0x22b0c5:_0x4231a1(+_0x22b0c5),_0x5d7dad):_0x5ac9eb;},_0x5d7dad[_0x1a4e('0x811')]=function(_0x22b0c5){return arguments[_0x1a4e('0x1e')]?(_0x261805=null==_0x22b0c5?null:[[+_0x22b0c5[0x0][0x0],+_0x22b0c5[0x0][0x1]],[+_0x22b0c5[0x1][0x0],+_0x22b0c5[0x1][0x1]]],_0x5d7dad):_0x261805&&[[_0x261805[0x0][0x0],_0x261805[0x0][0x1]],[_0x261805[0x1][0x0],_0x261805[0x1][0x1]]];},_0x5d7dad[_0x1a4e('0x220')]=function(_0x22b0c5){return arguments[_0x1a4e('0x1e')]?(_0x261805=null==_0x22b0c5?null:[[0x0,0x0],[+_0x22b0c5[0x0],+_0x22b0c5[0x1]]],_0x5d7dad):_0x261805&&[_0x261805[0x1][0x0]-_0x261805[0x0][0x0],_0x261805[0x1][0x1]-_0x261805[0x0][0x1]];},_0x5d7dad;}()['x'](function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0];})['y'](function(_0x5d7dad){return _0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1];})[_0x1a4e('0x811')]([[_0x5ac9eb[0x0],_0x5ac9eb[0x1]],[_0x5ac9eb[0x2],_0x5ac9eb[0x3]]])[_0x1a4e('0xf0')](_0x5d7dad[_0x1a4e('0x25')])[_0x1a4e('0x21')](_0x23c9e9));},_0x5d7dad['ellipse']=_0x6ff98e,_0x5d7dad[_0x1a4e('0x812')]=_0x587af0,_0x5d7dad[_0x1a4e('0x813')]=function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error('options\x20is\x20invalid');var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x814')]||0xa;if(!_0x556755(_0x5ac9eb))throw new Error(_0x1a4e('0x815'));var _0x261805=_0x22b0c5[_0x1a4e('0x12a')],_0x81bc8f=_0x587af0(_0x5d7dad,{'weight':_0x22b0c5[_0x1a4e('0x12a')]}),_0x234f42=_0x5dae0e([]);return _0x1494e6(_0x5d7dad,function(_0x5d7dad){_0x234f42[_0x1a4e('0x25')]['push'](_0x5d657f(_0x5d7dad,{'weight':_0x5d7dad[_0x1a4e('0x13')][_0x261805]}));}),_0x234f42[_0x1a4e('0x13')]={'tolerance':_0x22b0c5[_0x1a4e('0xeb')],'medianCandidates':[]},_0x256989(_0x81bc8f['geometry'][_0x1a4e('0x43')],[0x0,0x0],_0x234f42,_0x5ac9eb);},_0x5d7dad[_0x1a4e('0x816')]=function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error('options\x20is\x20invalid');var _0x5ac9eb=_0x22b0c5[_0x1a4e('0xdb')]||0x40,_0x261805=_0x22b0c5[_0x1a4e('0x12a')],_0x81bc8f=_0x22b0c5[_0x1a4e('0x13')]||{};if(!_0x556755(_0x5ac9eb))throw new Error(_0x1a4e('0xa9'));if(!_0x162a48(_0x81bc8f))throw new Error('properties\x20must\x20be\x20a\x20number');var _0x234f42=_0x4412c5(_0x5d7dad)[_0x1a4e('0x1e')],_0x153447=_0x587af0(_0x5d7dad,{'weight':_0x261805}),_0x1972c2=0x0,_0x3376f9=0x0,_0x3d7f02=0x0;_0x1494e6(_0x5d7dad,function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x13')][_0x261805]||0x1,_0x5ac9eb=_0x5890d9(_0x2a976f(_0x5d7dad),_0x2a976f(_0x153447));_0x1972c2+=Math[_0x1a4e('0x8e')](_0x5ac9eb['x'],0x2)*_0x22b0c5,_0x3376f9+=Math[_0x1a4e('0x8e')](_0x5ac9eb['y'],0x2)*_0x22b0c5,_0x3d7f02+=_0x5ac9eb['x']*_0x5ac9eb['y']*_0x22b0c5;});var _0x146559=_0x1972c2-_0x3376f9,_0x184c89=Math[_0x1a4e('0x91')](Math[_0x1a4e('0x8e')](_0x146559,0x2)+0x4*Math[_0x1a4e('0x8e')](_0x3d7f02,0x2)),_0x4198ed=0x2*_0x3d7f02,_0x41179c=Math[_0x1a4e('0xc2')]((_0x146559+_0x184c89)/_0x4198ed),_0x4eb09b=0xb4*_0x41179c/Math['PI'],_0x39638f=0x0,_0x40b220=0x0,_0x55366a=0x0;_0x1494e6(_0x5d7dad,function(_0x5d7dad){var _0x22b0c5=_0x5d7dad[_0x1a4e('0x13')][_0x261805]||0x1,_0x5ac9eb=_0x5890d9(_0x2a976f(_0x5d7dad),_0x2a976f(_0x153447));_0x39638f+=Math[_0x1a4e('0x8e')](_0x5ac9eb['x']*Math[_0x1a4e('0x90')](_0x41179c)-_0x5ac9eb['y']*Math[_0x1a4e('0x8f')](_0x41179c),0x2)*_0x22b0c5,_0x40b220+=Math['pow'](_0x5ac9eb['x']*Math[_0x1a4e('0x8f')](_0x41179c)+_0x5ac9eb['y']*Math[_0x1a4e('0x90')](_0x41179c),0x2)*_0x22b0c5,_0x55366a+=_0x22b0c5;});var _0x527605=Math[_0x1a4e('0x91')](0x2*_0x39638f/_0x55366a),_0x4b8927=Math[_0x1a4e('0x91')](0x2*_0x40b220/_0x55366a),_0x3ff7f9=_0x6ff98e(_0x153447,_0x527605,_0x4b8927,{'units':_0x1a4e('0x129'),'angle':_0x4eb09b,'steps':_0x5ac9eb,'properties':_0x81bc8f}),_0x3b62c2=_0x14f99e(_0x5d7dad,_0x5dae0e([_0x3ff7f9])),_0x4f92fa={'meanCenterCoordinates':_0x2a976f(_0x153447),'semiMajorAxis':_0x527605,'semiMinorAxis':_0x4b8927,'numberOfFeatures':_0x234f42,'angle':_0x4eb09b,'percentageWithinEllipse':0x64*_0x4412c5(_0x3b62c2)[_0x1a4e('0x1e')]/_0x234f42};return _0x3ff7f9['properties'][_0x1a4e('0x816')]=_0x4f92fa,_0x3ff7f9;},_0x5d7dad[_0x1a4e('0x719')]=function(_0x5d7dad,_0x5ac9eb){var _0x261805=_0x4510bd(_0x5d7dad),_0x81bc8f=_0x4510bd(_0x5ac9eb),_0x234f42=_0x5d7dad[_0x1a4e('0x13')]||{};if(_0x261805=_0x315431(_0x261805),_0x81bc8f=_0x315431(_0x81bc8f),!_0x261805)return null;if(!_0x81bc8f)return _0x22b0c5(_0x261805,_0x234f42);var _0x153447=new _0x2e0b42(),_0x1972c2=_0x153447[_0x1a4e('0x144')](_0x261805),_0x3376f9=_0x153447[_0x1a4e('0x144')](_0x81bc8f),_0x5dae0e=_0x3d3ad9['difference'](_0x1972c2,_0x3376f9);return _0x5dae0e[_0x1a4e('0x149')]()?null:_0x22b0c5(new _0x3a2b94()[_0x1a4e('0x146')](_0x5dae0e),_0x234f42);},_0x5d7dad[_0x1a4e('0x613')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=(_0x5ac9eb=_0x5ac9eb||{})[_0x1a4e('0x8d')],_0x81bc8f=_0x5ac9eb[_0x1a4e('0xdb')]||0x40;if(!_0x5d7dad)throw new Error(_0x1a4e('0x47'));if('object'!=typeof _0x5ac9eb)throw new Error(_0x1a4e('0xa8'));if(_0x1a4e('0x3d')!=typeof _0x81bc8f)throw new Error(_0x1a4e('0x817'));if(void 0x0===_0x22b0c5)throw new Error(_0x1a4e('0xdc'));if(_0x81bc8f<=0x0)throw new Error('steps\x20must\x20be\x20greater\x20than\x200');_0x81bc8f=_0x81bc8f||0x40,_0x261805=_0x261805||_0x1a4e('0x2c');var _0x234f42=[];switch(_0x5d7dad[_0x1a4e('0x40')]){case _0x1a4e('0x28'):return _0xaebea(_0x5d7dad,function(_0x5d7dad){var _0x5ac9eb=_0x13c479(_0x5d7dad,_0x22b0c5,_0x261805,_0x81bc8f);_0x5ac9eb&&_0x234f42['push'](_0x5ac9eb);}),_0x5dae0e(_0x234f42);case _0x1a4e('0x41'):return _0x1494e6(_0x5d7dad,function(_0x5d7dad){var _0x5ac9eb=_0x13c479(_0x5d7dad,_0x22b0c5,_0x261805,_0x81bc8f);_0x5ac9eb&&_0x1494e6(_0x5ac9eb,function(_0x5d7dad){_0x5d7dad&&_0x234f42[_0x1a4e('0x46')](_0x5d7dad);});}),_0x5dae0e(_0x234f42);}return _0x13c479(_0x5d7dad,_0x22b0c5,_0x261805,_0x81bc8f);},_0x5d7dad['union']=_0x4b6a6e,_0x5d7dad[_0x1a4e('0x818')]=_0x369db8,_0x5d7dad[_0x1a4e('0x819')]=function(_0x5d7dad,_0x22b0c5){if(!_0x162a48(_0x22b0c5=_0x22b0c5||{}))throw new Error(_0x1a4e('0xd'));var _0x5ac9eb=_0x22b0c5[_0x1a4e('0x81a')];_0x1a38db(_0x5d7dad,_0x1a4e('0x19'),'dissolve');var _0x261805=_0x1cc0eb(_0x5d7dad),_0x81bc8f=_0x261805[_0x1a4e('0x25')],_0x234f42=[];_0x81bc8f[_0x1a4e('0x3b')](function(_0x5d7dad,_0x22b0c5){_0x5d7dad[_0x1a4e('0x13')][_0x1a4e('0x81b')]=_0x22b0c5;});var _0x153447=_0x2b1272();for(var _0x3376f9 in _0x153447[_0x1a4e('0x7b')](_0x261805),_0x81bc8f){var _0x5dae0e=_0x81bc8f[_0x3376f9],_0x3d7f02=!0x1;if(_0x153447['search'](_0x5dae0e)['features'][_0x1a4e('0x3b')](function(_0x5d7dad){_0x5dae0e=_0x81bc8f[_0x3376f9];var _0x22b0c5=_0x5d7dad[_0x1a4e('0x13')][_0x1a4e('0x81b')];if(_0x234f42['length']>0x0&&0x0!==_0x22b0c5)if(_0x22b0c5>_0x234f42[_0x234f42['length']-0x1])_0x22b0c5-=_0x234f42[_0x1a4e('0x1e')];else{var _0x261805=_0x876d21(_0x22b0c5,_0x234f42);0x0!==_0x261805&&(_0x22b0c5-=_0x261805);}if(_0x22b0c5!==+_0x3376f9){var _0x146559=_0x81bc8f[_0x22b0c5];_0x146559&&_0x5dae0e&&(void 0x0!==_0x5ac9eb&&_0x146559[_0x1a4e('0x13')][_0x5ac9eb]!==_0x5dae0e['properties'][_0x5ac9eb]||_0x350078(_0x5dae0e,_0x146559)&&function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x1972c2(_0x4412c5(_0x5d7dad)),_0x261805=_0x1972c2(_0x4412c5(_0x22b0c5));return _0x1ab672(_0x5ac9eb,_0x261805)[_0x1a4e('0x25')][_0x1a4e('0x1e')]>0x0;}(_0x5dae0e,_0x146559)&&(_0x81bc8f[_0x3376f9]=_0x4b6a6e(_0x5dae0e,_0x146559),_0x234f42['push'](_0x5d7dad['properties'][_0x1a4e('0x81b')]),_0x234f42[_0x1a4e('0x89')](function(_0x5d7dad,_0x22b0c5){return _0x5d7dad-_0x22b0c5;}),_0x153447[_0x1a4e('0x82')](_0x5d7dad),_0x81bc8f[_0x1a4e('0x8a')](_0x22b0c5,0x1),_0x5dae0e['properties']['origIndexPosition']=_0x3376f9,_0x153447[_0x1a4e('0x82')](_0x5dae0e,function(_0x5d7dad,_0x22b0c5){return _0x5d7dad[_0x1a4e('0x13')]['origIndexPosition']===_0x22b0c5['properties'][_0x1a4e('0x81b')];}),_0x3d7f02=!0x0));}}),_0x3d7f02){if(!_0x5dae0e)continue;_0x5dae0e[_0x1a4e('0x13')][_0x1a4e('0x81b')]=_0x3376f9,_0x153447[_0x1a4e('0x7c')](_0x5dae0e),_0x3376f9--;}}return _0x81bc8f[_0x1a4e('0x3b')](function(_0x5d7dad){delete _0x5d7dad[_0x1a4e('0x13')]['origIndexPosition'],delete _0x5d7dad['bbox'];}),_0x261805;},_0x5d7dad['hexGrid']=_0x227e23,_0x5d7dad[_0x1a4e('0xce')]=function(_0x5d7dad,_0x22b0c5){var _0x5ac9eb=_0x234f42([[[0xb4,0x5a],[-0xb4,0x5a],[-0xb4,-0x5a],[0xb4,-0x5a],[0xb4,0x5a]]]),_0x261805=function(_0x5d7dad){var _0x22b0c5=[],_0x5ac9eb=[];return _0xe0c7f6(_0x5d7dad,function(_0x5d7dad){var _0x261805=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')],_0x81bc8f=_0x261805[0x0],_0x153447=_0x261805[_0x1a4e('0x78')](0x1);_0x22b0c5[_0x1a4e('0x46')](_0x234f42([_0x81bc8f])),_0x153447[_0x1a4e('0x3b')](function(_0x5d7dad){_0x5ac9eb[_0x1a4e('0x46')](_0x234f42([_0x5d7dad]));});}),[_0x5dae0e(_0x22b0c5),_0x5dae0e(_0x5ac9eb)];}(_0x5d7dad),_0x81bc8f=_0x261805[0x0],_0x153447=_0x261805[0x1];return function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){var _0x261805=[];return _0x261805[_0x1a4e('0x46')](_0x5d7dad['geometry'][_0x1a4e('0x43')][0x0]),_0xe0c7f6(_0x22b0c5,function(_0x5d7dad){_0x261805[_0x1a4e('0x46')](_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0]);}),_0xe0c7f6(_0x5ac9eb,function(_0x5d7dad){_0x261805[_0x1a4e('0x46')](_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0]);}),_0x234f42(_0x261805);}(_0x5ac9eb,_0x81bc8f=_0x508b7a(_0x81bc8f),_0x153447=_0x508b7a(_0x153447));},_0x5d7dad[_0x1a4e('0x81c')]=_0x496090,_0x5d7dad['triangleGrid']=_0x135c23,_0x5d7dad[_0x1a4e('0x1ad')]=function(_0x5d7dad,_0x22b0c5,_0x5ac9eb){if(_0x1a4e('0x85')!=typeof(_0x5ac9eb=_0x5ac9eb||{}))throw new Error(_0x1a4e('0xd'));var _0x261805=_0x5ac9eb[_0x1a4e('0x81d')],_0x81bc8f=_0x5ac9eb[_0x1a4e('0x81e')],_0x234f42=_0x5ac9eb[_0x1a4e('0x12a')];if(!_0x5d7dad)throw new Error(_0x1a4e('0x7b5'));if(_0x1a38db(_0x5d7dad,_0x1a4e('0x17'),_0x1a4e('0x81f')),!_0x22b0c5)throw new Error(_0x1a4e('0x820'));if(void 0x0!==_0x234f42&&_0x1a4e('0x3d')!=typeof _0x234f42)throw new Error(_0x1a4e('0x821'));_0x81bc8f=_0x81bc8f||_0x1a4e('0x7ab'),_0x261805=_0x261805||_0x1a4e('0x822'),_0x234f42=_0x234f42||0x1;var _0x153447,_0x1972c2=_0x3c3785(_0x5d7dad);switch(_0x261805){case _0x1a4e('0xc4'):case _0x1a4e('0x17d'):_0x153447=_0xc33424(_0x1972c2,_0x22b0c5,_0x5ac9eb);break;case _0x1a4e('0x822'):case'squares':_0x153447=_0x496090(_0x1972c2,_0x22b0c5,_0x5ac9eb);break;case _0x1a4e('0x823'):case'hexes':_0x153447=_0x227e23(_0x1972c2,_0x22b0c5,_0x5ac9eb);break;case _0x1a4e('0x824'):case'triangles':_0x153447=_0x135c23(_0x1972c2,_0x22b0c5,_0x5ac9eb);break;default:throw new Error(_0x1a4e('0x825'));}var _0x3376f9=[];return _0x1494e6(_0x153447,function(_0x22b0c5){var _0x153447=0x0,_0x1972c2=0x0;_0x1494e6(_0x5d7dad,function(_0x5d7dad){var _0x3376f9,_0x5dae0e=_0x45cce9(_0x1a4e('0xc4')===_0x261805?_0x22b0c5:_0x5d657f(_0x22b0c5),_0x5d7dad,_0x5ac9eb);if(void 0x0!==_0x81bc8f&&(_0x3376f9=_0x5d7dad[_0x1a4e('0x13')][_0x81bc8f]),void 0x0===_0x3376f9&&(_0x3376f9=_0x5d7dad[_0x1a4e('0x18')][_0x1a4e('0x43')][0x2]),void 0x0===_0x3376f9)throw new Error(_0x1a4e('0x826'));0x0===_0x5dae0e&&(_0x153447=_0x3376f9);var _0x3d7f02=0x1/Math['pow'](_0x5dae0e,_0x234f42);_0x1972c2+=_0x3d7f02,_0x153447+=_0x3d7f02*_0x3376f9;});var _0x5dae0e=_0x1cc0eb(_0x22b0c5);_0x5dae0e[_0x1a4e('0x13')][_0x81bc8f]=_0x153447/_0x1972c2,_0x3376f9['push'](_0x5dae0e);}),_0x5dae0e(_0x3376f9);},_0x5d7dad[_0x1a4e('0x827')]=_0x596033,_0x5d7dad[_0x1a4e('0x828')]=_0x469040,_0x5d7dad[_0x1a4e('0x829')]=_0x5ef9d7,_0x5d7dad[_0x1a4e('0x82a')]=_0xf47c44,_0x5d7dad[_0x1a4e('0x82b')]=_0x14f99e,_0x5d7dad['bezier']=_0x1c369d,_0x5d7dad[_0x1a4e('0x82c')]=_0x3e7452,_0x5d7dad[_0x1a4e('0x82d')]=_0x3f7006,_0x5d7dad[_0x1a4e('0x82e')]=_0x1c6600,_0x5d7dad['radians2degrees']=_0x527605,_0x5d7dad[_0x1a4e('0x82f')]=_0x4b8927,_0x5d7dad[_0x1a4e('0x830')]=_0x40b220,_0x5d7dad[_0x1a4e('0x831')]=_0x39638f,_0x5d7dad[_0x1a4e('0x832')]=_0x4eb09b,_0x5d7dad[_0x1a4e('0x833')]=_0x55366a,_0x5d7dad[_0x1a4e('0x834')]=_0x3ff7f9,_0x5d7dad['toMercator']=_0x24337e,_0x5d7dad[_0x1a4e('0x835')]=_0xb567db,_0x5d7dad[_0x1a4e('0x836')]=_0x5e9175,_0x5d7dad['randomPoint']=_0xa7aaa1,_0x5d7dad[_0x1a4e('0x837')]=_0x27e2c0,_0x5d7dad[_0x1a4e('0x838')]=_0x380dbf,_0x5d7dad['getCluster']=_0xc63288,_0x5d7dad['clusterEach']=_0x33bcfe,_0x5d7dad[_0x1a4e('0x839')]=_0xaf1f1f,_0x5d7dad[_0x1a4e('0x83a')]=_0x4d3ac3,_0x5d7dad[_0x1a4e('0x83b')]=_0x53e910,_0x5d7dad[_0x1a4e('0x83c')]=_0x16715d,_0x5d7dad[_0x1a4e('0x83d')]=_0x129e40,_0x5d7dad['earthRadius']=_0x292969,_0x5d7dad['factors']=_0x1234f7,_0x5d7dad[_0x1a4e('0x83e')]=_0x3fecac,_0x5d7dad[_0x1a4e('0x83f')]=_0x42d816,_0x5d7dad['feature']=_0x22b0c5,_0x5d7dad['geometry']=_0x5ac9eb,_0x5d7dad[_0x1a4e('0xc4')]=_0x261805,_0x5d7dad[_0x1a4e('0x17d')]=_0x81bc8f,_0x5d7dad[_0x1a4e('0xe7')]=_0x234f42,_0x5d7dad[_0x1a4e('0xf0')]=_0x153447,_0x5d7dad['lineString']=_0x1972c2,_0x5d7dad[_0x1a4e('0x840')]=_0x3376f9,_0x5d7dad[_0x1a4e('0x841')]=_0x5dae0e,_0x5d7dad[_0x1a4e('0x842')]=_0x3d7f02,_0x5d7dad[_0x1a4e('0x843')]=_0x146559,_0x5d7dad[_0x1a4e('0x844')]=_0x184c89,_0x5d7dad[_0x1a4e('0x845')]=_0x4198ed,_0x5d7dad[_0x1a4e('0x2a')]=_0x41179c,_0x5d7dad[_0x1a4e('0x846')]=_0x4eb09b,_0x5d7dad[_0x1a4e('0x847')]=_0x39638f,_0x5d7dad[_0x1a4e('0x848')]=_0x40b220,_0x5d7dad['bearingToAzimuth']=_0x55366a,_0x5d7dad['radiansToDegrees']=_0x527605,_0x5d7dad[_0x1a4e('0x849')]=_0x4b8927,_0x5d7dad[_0x1a4e('0x84a')]=_0x3ff7f9,_0x5d7dad[_0x1a4e('0x84b')]=_0x3b62c2,_0x5d7dad[_0x1a4e('0x84c')]=_0x556755,_0x5d7dad[_0x1a4e('0x84d')]=_0x162a48,_0x5d7dad['validateBBox']=_0x4f92fa,_0x5d7dad[_0x1a4e('0x84e')]=_0x4fae53,_0x5d7dad['getCoord']=_0x52d3d8,_0x5d7dad[_0x1a4e('0x84f')]=_0x2a976f,_0x5d7dad[_0x1a4e('0x850')]=_0x4598a2,_0x5d7dad[_0x1a4e('0x851')]=_0x281b1c,_0x5d7dad[_0x1a4e('0x852')]=_0xb3655,_0x5d7dad[_0x1a4e('0x853')]=_0x1a38db,_0x5d7dad['getGeom']=_0x4510bd,_0x5d7dad[_0x1a4e('0x854')]=_0x17d5e4,_0x5d7dad[_0x1a4e('0x3cc')]=_0x9463e6,_0x5d7dad['coordEach']=_0x40eeaf,_0x5d7dad[_0x1a4e('0x855')]=_0x34483c,_0x5d7dad['propEach']=_0x7d6acf,_0x5d7dad['propReduce']=_0x17e057,_0x5d7dad['featureEach']=_0x1494e6,_0x5d7dad[_0x1a4e('0x856')]=_0x57cad0,_0x5d7dad[_0x1a4e('0x857')]=_0x4412c5,_0x5d7dad[_0x1a4e('0x858')]=_0xaebea,_0x5d7dad[_0x1a4e('0x859')]=_0x5674f8,_0x5d7dad[_0x1a4e('0x85a')]=_0xe0c7f6,_0x5d7dad[_0x1a4e('0x85b')]=_0x23ec33,_0x5d7dad['segmentEach']=_0x5b37a5,_0x5d7dad[_0x1a4e('0x85c')]=_0xa3630,_0x5d7dad['lineEach']=_0x310be4,_0x5d7dad['lineReduce']=_0x58d830,Object[_0x1a4e('0x2')](_0x5d7dad,_0x1a4e('0x6'),{'value':!0x0});}(_0x22b0c5);},'./node_modules/asn1.js/lib/asn1.js':function(_0x269bcb,_0x4e27ef,_0x131d75){var _0xe652f5=_0x4e27ef;_0xe652f5['bignum']=_0x131d75('./node_modules/bn.js/lib/bn.js'),_0xe652f5[_0x1a4e('0x85d')]=_0x131d75(_0x1a4e('0x85e'))['define'],_0xe652f5['base']=_0x131d75(_0x1a4e('0x85f')),_0xe652f5[_0x1a4e('0x860')]=_0x131d75('./node_modules/asn1.js/lib/asn1/constants/index.js'),_0xe652f5['decoders']=_0x131d75('./node_modules/asn1.js/lib/asn1/decoders/index.js'),_0xe652f5[_0x1a4e('0x861')]=_0x131d75(_0x1a4e('0x862'));},'./node_modules/asn1.js/lib/asn1/api.js':function(_0x7f31ed,_0x42a734,_0x5b4cf9){var _0x3df618=_0x5b4cf9('./node_modules/asn1.js/lib/asn1.js'),_0x5dcb1c=_0x5b4cf9(_0x1a4e('0x863'));function _0x273ed3(_0x7f31ed,_0x42a734){this[_0x1a4e('0x2cb')]=_0x7f31ed,this['body']=_0x42a734,this[_0x1a4e('0x864')]={},this[_0x1a4e('0x861')]={};}_0x42a734[_0x1a4e('0x85d')]=function(_0x7f31ed,_0x42a734){return new _0x273ed3(_0x7f31ed,_0x42a734);},_0x273ed3['prototype'][_0x1a4e('0x865')]=function(_0x7f31ed){var _0x42a734;try{_0x42a734=_0x5b4cf9(_0x1a4e('0x866'))[_0x1a4e('0x867')](_0x1a4e('0x868')+this[_0x1a4e('0x2cb')]+_0x1a4e('0x869'));}catch(_0x586668){_0x42a734=function(_0x586668){this['_initNamed'](_0x586668);};}return _0x5dcb1c(_0x42a734,_0x7f31ed),_0x42a734[_0x1a4e('0xa')][_0x1a4e('0x86a')]=function(_0x42a734){_0x7f31ed['call'](this,_0x42a734);},new _0x42a734(this);},_0x273ed3[_0x1a4e('0xa')][_0x1a4e('0x86b')]=function(_0x7f31ed){return _0x7f31ed=_0x7f31ed||_0x1a4e('0x86c'),this[_0x1a4e('0x864')][_0x1a4e('0xb')](_0x7f31ed)||(this[_0x1a4e('0x864')][_0x7f31ed]=this[_0x1a4e('0x865')](_0x3df618[_0x1a4e('0x864')][_0x7f31ed])),this[_0x1a4e('0x864')][_0x7f31ed];},_0x273ed3['prototype']['decode']=function(_0x7f31ed,_0x42a734,_0x5b4cf9){return this['_getDecoder'](_0x42a734)['decode'](_0x7f31ed,_0x5b4cf9);},_0x273ed3['prototype']['_getEncoder']=function(_0x7f31ed){return _0x7f31ed=_0x7f31ed||_0x1a4e('0x86c'),this[_0x1a4e('0x861')]['hasOwnProperty'](_0x7f31ed)||(this['encoders'][_0x7f31ed]=this['_createNamed'](_0x3df618[_0x1a4e('0x861')][_0x7f31ed])),this[_0x1a4e('0x861')][_0x7f31ed];},_0x273ed3[_0x1a4e('0xa')][_0x1a4e('0x86d')]=function(_0x7f31ed,_0x42a734,_0x5b4cf9){return this['_getEncoder'](_0x42a734)[_0x1a4e('0x86d')](_0x7f31ed,_0x5b4cf9);};},'./node_modules/asn1.js/lib/asn1/base/buffer.js':function(_0x2801a3,_0x2ead63,_0x4f9e53){var _0x35950b=_0x4f9e53(_0x1a4e('0x863')),_0x16180d=_0x4f9e53(_0x1a4e('0x85f'))[_0x1a4e('0x86e')],_0x296b36=_0x4f9e53(_0x1a4e('0x86f'))[_0x1a4e('0x870')];function _0x4e6241(_0x2801a3,_0x2ead63){_0x16180d['call'](this,_0x2ead63),_0x296b36[_0x1a4e('0x871')](_0x2801a3)?(this[_0x1a4e('0x872')]=_0x2801a3,this[_0x1a4e('0x1af')]=0x0,this[_0x1a4e('0x1e')]=_0x2801a3[_0x1a4e('0x1e')]):this[_0x1a4e('0x873')](_0x1a4e('0x874'));}function _0x29eb58(_0x2801a3,_0x2ead63){if(Array['isArray'](_0x2801a3))this[_0x1a4e('0x1e')]=0x0,this[_0x1a4e('0x255')]=_0x2801a3[_0x1a4e('0x21')](function(_0x2801a3){return _0x2801a3 instanceof _0x29eb58||(_0x2801a3=new _0x29eb58(_0x2801a3,_0x2ead63)),this[_0x1a4e('0x1e')]+=_0x2801a3[_0x1a4e('0x1e')],_0x2801a3;},this);else if(_0x1a4e('0x3d')==typeof _0x2801a3){if(!(0x0<=_0x2801a3&&_0x2801a3<=0xff))return _0x2ead63[_0x1a4e('0x873')](_0x1a4e('0x875'));this[_0x1a4e('0x255')]=_0x2801a3,this['length']=0x1;}else if(_0x1a4e('0x9')==typeof _0x2801a3)this[_0x1a4e('0x255')]=_0x2801a3,this['length']=_0x296b36[_0x1a4e('0x876')](_0x2801a3);else{if(!_0x296b36[_0x1a4e('0x871')](_0x2801a3))return _0x2ead63['error']('Unsupported\x20type:\x20'+typeof _0x2801a3);this['value']=_0x2801a3,this[_0x1a4e('0x1e')]=_0x2801a3[_0x1a4e('0x1e')];}}_0x35950b(_0x4e6241,_0x16180d),_0x2ead63[_0x1a4e('0x877')]=_0x4e6241,_0x4e6241['prototype']['save']=function(){return{'offset':this[_0x1a4e('0x1af')],'reporter':_0x16180d[_0x1a4e('0xa')]['save'][_0x1a4e('0x1')](this)};},_0x4e6241[_0x1a4e('0xa')][_0x1a4e('0x878')]=function(_0x2801a3){var _0x2ead63=new _0x4e6241(this[_0x1a4e('0x872')]);return _0x2ead63['offset']=_0x2801a3['offset'],_0x2ead63[_0x1a4e('0x1e')]=this['offset'],this[_0x1a4e('0x1af')]=_0x2801a3[_0x1a4e('0x1af')],_0x16180d[_0x1a4e('0xa')]['restore']['call'](this,_0x2801a3[_0x1a4e('0x879')]),_0x2ead63;},_0x4e6241[_0x1a4e('0xa')][_0x1a4e('0x149')]=function(){return this[_0x1a4e('0x1af')]===this[_0x1a4e('0x1e')];},_0x4e6241[_0x1a4e('0xa')][_0x1a4e('0x87a')]=function(_0x2801a3){return this['offset']+0x1<=this['length']?this[_0x1a4e('0x872')]['readUInt8'](this['offset']++,!0x0):this[_0x1a4e('0x873')](_0x2801a3||_0x1a4e('0x87b'));},_0x4e6241[_0x1a4e('0xa')][_0x1a4e('0x87c')]=function(_0x2801a3,_0x2ead63){if(!(this[_0x1a4e('0x1af')]+_0x2801a3<=this[_0x1a4e('0x1e')]))return this[_0x1a4e('0x873')](_0x2ead63||_0x1a4e('0x87b'));var _0x4f9e53=new _0x4e6241(this[_0x1a4e('0x872')]);return _0x4f9e53[_0x1a4e('0x87d')]=this[_0x1a4e('0x87d')],_0x4f9e53[_0x1a4e('0x1af')]=this['offset'],_0x4f9e53[_0x1a4e('0x1e')]=this[_0x1a4e('0x1af')]+_0x2801a3,this['offset']+=_0x2801a3,_0x4f9e53;},_0x4e6241[_0x1a4e('0xa')][_0x1a4e('0x87e')]=function(_0x2801a3){return this['base'][_0x1a4e('0x78')](_0x2801a3?_0x2801a3[_0x1a4e('0x1af')]:this[_0x1a4e('0x1af')],this[_0x1a4e('0x1e')]);},_0x2ead63[_0x1a4e('0x87f')]=_0x29eb58,_0x29eb58[_0x1a4e('0xa')][_0x1a4e('0x9e')]=function(_0x2801a3,_0x2ead63){return _0x2801a3||(_0x2801a3=new _0x296b36(this[_0x1a4e('0x1e')])),_0x2ead63||(_0x2ead63=0x0),0x0===this['length']?_0x2801a3:(Array[_0x1a4e('0x15')](this[_0x1a4e('0x255')])?this[_0x1a4e('0x255')]['forEach'](function(_0x4f9e53){_0x4f9e53[_0x1a4e('0x9e')](_0x2801a3,_0x2ead63),_0x2ead63+=_0x4f9e53[_0x1a4e('0x1e')];}):(_0x1a4e('0x3d')==typeof this['value']?_0x2801a3[_0x2ead63]=this[_0x1a4e('0x255')]:_0x1a4e('0x9')==typeof this[_0x1a4e('0x255')]?_0x2801a3[_0x1a4e('0x146')](this[_0x1a4e('0x255')],_0x2ead63):_0x296b36[_0x1a4e('0x871')](this['value'])&&this[_0x1a4e('0x255')][_0x1a4e('0xea')](_0x2801a3,_0x2ead63),_0x2ead63+=this['length']),_0x2801a3);};},'./node_modules/asn1.js/lib/asn1/base/index.js':function(_0x3e72a7,_0x311135,_0x176845){var _0x439683=_0x311135;_0x439683['Reporter']=_0x176845(_0x1a4e('0x880'))[_0x1a4e('0x86e')],_0x439683[_0x1a4e('0x877')]=_0x176845(_0x1a4e('0x881'))[_0x1a4e('0x877')],_0x439683[_0x1a4e('0x87f')]=_0x176845(_0x1a4e('0x881'))[_0x1a4e('0x87f')],_0x439683[_0x1a4e('0x882')]=_0x176845(_0x1a4e('0x883'));},'./node_modules/asn1.js/lib/asn1/base/node.js':function(_0x2d0168,_0x596133,_0x4f1130){var _0x8e2102=_0x4f1130(_0x1a4e('0x85f'))[_0x1a4e('0x86e')],_0x9fb648=_0x4f1130(_0x1a4e('0x85f'))[_0x1a4e('0x87f')],_0x3c2887=_0x4f1130(_0x1a4e('0x85f'))[_0x1a4e('0x877')],_0x452139=_0x4f1130('./node_modules/minimalistic-assert/index.js'),_0xe0f608=[_0x1a4e('0x884'),'seqof',_0x1a4e('0x17a'),_0x1a4e('0x885'),_0x1a4e('0x886'),_0x1a4e('0x887'),_0x1a4e('0x888'),'utctime','null_',_0x1a4e('0x889'),_0x1a4e('0x88a'),_0x1a4e('0x88b'),'bitstr','bmpstr',_0x1a4e('0x88c'),_0x1a4e('0x88d'),_0x1a4e('0x88e'),'ia5str',_0x1a4e('0x88f'),_0x1a4e('0x890'),'octstr',_0x1a4e('0x891'),_0x1a4e('0x892'),_0x1a4e('0x893'),_0x1a4e('0x894'),'videostr'],_0x362228=[_0x1a4e('0x35f'),'obj',_0x1a4e('0x895'),_0x1a4e('0x896'),_0x1a4e('0x897'),_0x1a4e('0x898'),'def','choice',_0x1a4e('0x899'),_0x1a4e('0x2ac')][_0x1a4e('0x9a')](_0xe0f608);function _0xaae3b7(_0x2d0168,_0x596133){var _0x4f1130={};this[_0x1a4e('0x89a')]=_0x4f1130,_0x4f1130[_0x1a4e('0x89b')]=_0x2d0168,_0x4f1130[_0x1a4e('0x11c')]=_0x596133||null,_0x4f1130[_0x1a4e('0x6f')]=null,_0x4f1130[_0x1a4e('0x7ba')]=null,_0x4f1130[_0x1a4e('0x89c')]=null,_0x4f1130[_0x1a4e('0x89d')]=null,_0x4f1130[_0x1a4e('0x89e')]=null,_0x4f1130[_0x1a4e('0x896')]=!0x1,_0x4f1130[_0x1a4e('0x899')]=!0x1,_0x4f1130[_0x1a4e('0x89f')]=!0x1,_0x4f1130[_0x1a4e('0x895')]=null,_0x4f1130[_0x1a4e('0x8a0')]=null,_0x4f1130[_0x1a4e('0x35f')]=null,_0x4f1130[_0x1a4e('0x8')]=null,_0x4f1130[_0x1a4e('0x897')]=null,_0x4f1130[_0x1a4e('0x898')]=null,_0x4f1130[_0x1a4e('0x2ac')]=null,_0x4f1130[_0x1a4e('0x11c')]||(_0x4f1130[_0x1a4e('0x6f')]=[],this[_0x1a4e('0x8a1')]());}_0x2d0168[_0x1a4e('0x0')]=_0xaae3b7;var _0x2afcdf=[_0x1a4e('0x89b'),_0x1a4e('0x11c'),_0x1a4e('0x6f'),'tag',_0x1a4e('0x89c'),_0x1a4e('0x89d'),_0x1a4e('0x89e'),_0x1a4e('0x896'),_0x1a4e('0x899'),_0x1a4e('0x89f'),_0x1a4e('0x895'),'alteredUse',_0x1a4e('0x35f'),_0x1a4e('0x8'),_0x1a4e('0x897'),'implicit',_0x1a4e('0x2ac')];_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x240')]=function(){var _0x2d0168=this[_0x1a4e('0x89a')],_0x596133={};_0x2afcdf[_0x1a4e('0x3b')](function(_0x4f1130){_0x596133[_0x4f1130]=_0x2d0168[_0x4f1130];});var _0x4f1130=new this[(_0x1a4e('0x10'))](_0x596133[_0x1a4e('0x11c')]);return _0x4f1130[_0x1a4e('0x89a')]=_0x596133,_0x4f1130;},_0xaae3b7['prototype']['_wrap']=function(){var _0x2d0168=this[_0x1a4e('0x89a')];_0x362228['forEach'](function(_0x596133){this[_0x596133]=function(){var _0x4f1130=new this['constructor'](this);return _0x2d0168['children'][_0x1a4e('0x46')](_0x4f1130),_0x4f1130[_0x596133]['apply'](_0x4f1130,arguments);};},this);},_0xaae3b7[_0x1a4e('0xa')]['_init']=function(_0x2d0168){var _0x596133=this[_0x1a4e('0x89a')];_0x452139(null===_0x596133['parent']),_0x2d0168['call'](this),_0x596133['children']=_0x596133['children']['filter'](function(_0x2d0168){return _0x2d0168['_baseState'][_0x1a4e('0x11c')]===this;},this),_0x452139['equal'](_0x596133[_0x1a4e('0x6f')]['length'],0x1,_0x1a4e('0x8a2'));},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x8a3')]=function(_0x2d0168){var _0x596133=this[_0x1a4e('0x89a')],_0x4f1130=_0x2d0168[_0x1a4e('0xd9')](function(_0x2d0168){return _0x2d0168 instanceof this[_0x1a4e('0x10')];},this);_0x2d0168=_0x2d0168[_0x1a4e('0xd9')](function(_0x2d0168){return!(_0x2d0168 instanceof this[_0x1a4e('0x10')]);},this),0x0!==_0x4f1130[_0x1a4e('0x1e')]&&(_0x452139(null===_0x596133[_0x1a4e('0x6f')]),_0x596133['children']=_0x4f1130,_0x4f1130[_0x1a4e('0x3b')](function(_0x2d0168){_0x2d0168[_0x1a4e('0x89a')]['parent']=this;},this)),0x0!==_0x2d0168[_0x1a4e('0x1e')]&&(_0x452139(null===_0x596133['args']),_0x596133[_0x1a4e('0x89c')]=_0x2d0168,_0x596133[_0x1a4e('0x89d')]=_0x2d0168[_0x1a4e('0x21')](function(_0x2d0168){if(_0x1a4e('0x85')!=typeof _0x2d0168||_0x2d0168[_0x1a4e('0x10')]!==Object)return _0x2d0168;var _0x596133={};return Object[_0x1a4e('0x56')](_0x2d0168)[_0x1a4e('0x3b')](function(_0x4f1130){_0x4f1130==(0x0|_0x4f1130)&&(_0x4f1130|=0x0);var _0x8e2102=_0x2d0168[_0x4f1130];_0x596133[_0x8e2102]=_0x4f1130;}),_0x596133;}));},[_0x1a4e('0x8a4'),'_decodeTag','_use',_0x1a4e('0x8a5'),_0x1a4e('0x8a6'),_0x1a4e('0x8a7'),_0x1a4e('0x8a8'),_0x1a4e('0x8a9'),_0x1a4e('0x8aa'),_0x1a4e('0x8ab'),_0x1a4e('0x8ac'),_0x1a4e('0x8ad'),'_encodeObjid',_0x1a4e('0x8ae'),'_encodeNull','_encodeInt',_0x1a4e('0x8af')]['forEach'](function(_0x2d0168){_0xaae3b7[_0x1a4e('0xa')][_0x2d0168]=function(){var _0x596133=this[_0x1a4e('0x89a')];throw new Error(_0x2d0168+_0x1a4e('0x8b0')+_0x596133[_0x1a4e('0x89b')]);};}),_0xe0f608[_0x1a4e('0x3b')](function(_0x2d0168){_0xaae3b7[_0x1a4e('0xa')][_0x2d0168]=function(){var _0x596133=this[_0x1a4e('0x89a')],_0x4f1130=Array['prototype'][_0x1a4e('0x78')][_0x1a4e('0x1')](arguments);return _0x452139(null===_0x596133[_0x1a4e('0x7ba')]),_0x596133[_0x1a4e('0x7ba')]=_0x2d0168,this[_0x1a4e('0x8a3')](_0x4f1130),this;};}),_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x895')]=function(_0x2d0168){_0x452139(_0x2d0168);var _0x596133=this['_baseState'];return _0x452139(null===_0x596133[_0x1a4e('0x895')]),_0x596133['use']=_0x2d0168,this;},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x896')]=function(){return this[_0x1a4e('0x89a')][_0x1a4e('0x896')]=!0x0,this;},_0xaae3b7['prototype']['def']=function(_0x2d0168){var _0x596133=this[_0x1a4e('0x89a')];return _0x452139(null===_0x596133[_0x1a4e('0x8')]),_0x596133[_0x1a4e('0x8')]=_0x2d0168,_0x596133[_0x1a4e('0x896')]=!0x0,this;},_0xaae3b7[_0x1a4e('0xa')]['explicit']=function(_0x2d0168){var _0x596133=this[_0x1a4e('0x89a')];return _0x452139(null===_0x596133[_0x1a4e('0x897')]&&null===_0x596133[_0x1a4e('0x898')]),_0x596133[_0x1a4e('0x897')]=_0x2d0168,this;},_0xaae3b7[_0x1a4e('0xa')]['implicit']=function(_0x2d0168){var _0x596133=this['_baseState'];return _0x452139(null===_0x596133[_0x1a4e('0x897')]&&null===_0x596133[_0x1a4e('0x898')]),_0x596133[_0x1a4e('0x898')]=_0x2d0168,this;},_0xaae3b7[_0x1a4e('0xa')]['obj']=function(){var _0x2d0168=this['_baseState'],_0x596133=Array['prototype']['slice'][_0x1a4e('0x1')](arguments);return _0x2d0168[_0x1a4e('0x89f')]=!0x0,0x0!==_0x596133[_0x1a4e('0x1e')]&&this[_0x1a4e('0x8a3')](_0x596133),this;},_0xaae3b7['prototype'][_0x1a4e('0x35f')]=function(_0x2d0168){var _0x596133=this[_0x1a4e('0x89a')];return _0x452139(null===_0x596133[_0x1a4e('0x35f')]),_0x596133[_0x1a4e('0x35f')]=_0x2d0168,this;},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x899')]=function(){return this[_0x1a4e('0x89a')][_0x1a4e('0x899')]=!0x0,this;},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x89e')]=function(_0x2d0168){var _0x596133=this[_0x1a4e('0x89a')];return _0x452139(null===_0x596133[_0x1a4e('0x89e')]),_0x596133[_0x1a4e('0x89e')]=_0x2d0168,this[_0x1a4e('0x8a3')](Object['keys'](_0x2d0168)[_0x1a4e('0x21')](function(_0x596133){return _0x2d0168[_0x596133];})),this;},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x2ac')]=function(_0x2d0168){var _0x596133=this['_baseState'];return _0x452139(null===_0x596133[_0x1a4e('0x895')]),_0x596133[_0x1a4e('0x2ac')]=_0x2d0168,this;},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x8b1')]=function(_0x2d0168,_0x596133){var _0x4f1130=this[_0x1a4e('0x89a')];if(null===_0x4f1130['parent'])return _0x2d0168[_0x1a4e('0x8b2')](_0x4f1130[_0x1a4e('0x6f')][0x0][_0x1a4e('0x8b1')](_0x2d0168,_0x596133));var _0x8e2102,_0x9fb648=_0x4f1130['default'],_0x452139=!0x0,_0xe0f608=null;if(null!==_0x4f1130['key']&&(_0xe0f608=_0x2d0168[_0x1a4e('0x8b3')](_0x4f1130[_0x1a4e('0x35f')])),_0x4f1130[_0x1a4e('0x896')]){var _0x362228=null;if(null!==_0x4f1130[_0x1a4e('0x897')]?_0x362228=_0x4f1130[_0x1a4e('0x897')]:null!==_0x4f1130[_0x1a4e('0x898')]?_0x362228=_0x4f1130[_0x1a4e('0x898')]:null!==_0x4f1130[_0x1a4e('0x7ba')]&&(_0x362228=_0x4f1130['tag']),null!==_0x362228||_0x4f1130['any']){if(_0x452139=this[_0x1a4e('0x8a4')](_0x2d0168,_0x362228,_0x4f1130['any']),_0x2d0168[_0x1a4e('0x8b4')](_0x452139))return _0x452139;}else{var _0xaae3b7=_0x2d0168[_0x1a4e('0x8b5')]();try{null===_0x4f1130[_0x1a4e('0x89e')]?this[_0x1a4e('0x8b6')](_0x4f1130['tag'],_0x2d0168,_0x596133):this[_0x1a4e('0x8b7')](_0x2d0168,_0x596133),_0x452139=!0x0;}catch(_0xd8f2f4){_0x452139=!0x1;}_0x2d0168['restore'](_0xaae3b7);}}if(_0x4f1130['obj']&&_0x452139&&(_0x8e2102=_0x2d0168['enterObject']()),_0x452139){if(null!==_0x4f1130[_0x1a4e('0x897')]){var _0x2afcdf=this[_0x1a4e('0x8b8')](_0x2d0168,_0x4f1130[_0x1a4e('0x897')]);if(_0x2d0168[_0x1a4e('0x8b4')](_0x2afcdf))return _0x2afcdf;_0x2d0168=_0x2afcdf;}var _0x12b1b4=_0x2d0168[_0x1a4e('0x1af')];if(null===_0x4f1130[_0x1a4e('0x895')]&&null===_0x4f1130[_0x1a4e('0x89e')]){if(_0x4f1130[_0x1a4e('0x899')])_0xaae3b7=_0x2d0168[_0x1a4e('0x8b5')]();var _0x1aaf04=this['_decodeTag'](_0x2d0168,null!==_0x4f1130[_0x1a4e('0x898')]?_0x4f1130['implicit']:_0x4f1130['tag'],_0x4f1130[_0x1a4e('0x899')]);if(_0x2d0168[_0x1a4e('0x8b4')](_0x1aaf04))return _0x1aaf04;_0x4f1130[_0x1a4e('0x899')]?_0x9fb648=_0x2d0168[_0x1a4e('0x87e')](_0xaae3b7):_0x2d0168=_0x1aaf04;}if(_0x596133&&_0x596133[_0x1a4e('0x8b9')]&&null!==_0x4f1130[_0x1a4e('0x7ba')]&&_0x596133['track'](_0x2d0168[_0x1a4e('0x64')](),_0x12b1b4,_0x2d0168['length'],_0x1a4e('0x8ba')),_0x596133&&_0x596133[_0x1a4e('0x8b9')]&&null!==_0x4f1130[_0x1a4e('0x7ba')]&&_0x596133[_0x1a4e('0x8b9')](_0x2d0168[_0x1a4e('0x64')](),_0x2d0168['offset'],_0x2d0168[_0x1a4e('0x1e')],_0x1a4e('0x120')),_0x9fb648=_0x4f1130[_0x1a4e('0x899')]?_0x9fb648:null===_0x4f1130[_0x1a4e('0x89e')]?this[_0x1a4e('0x8b6')](_0x4f1130[_0x1a4e('0x7ba')],_0x2d0168,_0x596133):this[_0x1a4e('0x8b7')](_0x2d0168,_0x596133),_0x2d0168[_0x1a4e('0x8b4')](_0x9fb648))return _0x9fb648;if(_0x4f1130[_0x1a4e('0x899')]||null!==_0x4f1130[_0x1a4e('0x89e')]||null===_0x4f1130[_0x1a4e('0x6f')]||_0x4f1130[_0x1a4e('0x6f')][_0x1a4e('0x3b')](function(_0x4f1130){_0x4f1130[_0x1a4e('0x8b1')](_0x2d0168,_0x596133);}),_0x4f1130[_0x1a4e('0x2ac')]&&(_0x1a4e('0x8bb')===_0x4f1130[_0x1a4e('0x7ba')]||'bitstr'===_0x4f1130['tag'])){var _0x5dced3=new _0x3c2887(_0x9fb648);_0x9fb648=this['_getUse'](_0x4f1130[_0x1a4e('0x2ac')],_0x2d0168[_0x1a4e('0x87d')][_0x1a4e('0x89f')])[_0x1a4e('0x8b1')](_0x5dced3,_0x596133);}}return _0x4f1130['obj']&&_0x452139&&(_0x9fb648=_0x2d0168['leaveObject'](_0x8e2102)),null===_0x4f1130[_0x1a4e('0x35f')]||null===_0x9fb648&&!0x0!==_0x452139?null!==_0xe0f608&&_0x2d0168['exitKey'](_0xe0f608):_0x2d0168[_0x1a4e('0x8bc')](_0xe0f608,_0x4f1130['key'],_0x9fb648),_0x9fb648;},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x8b6')]=function(_0x2d0168,_0x596133,_0x4f1130){var _0x8e2102=this['_baseState'];return _0x1a4e('0x884')===_0x2d0168||_0x1a4e('0x17a')===_0x2d0168?null:_0x1a4e('0x8bd')===_0x2d0168||'setof'===_0x2d0168?this[_0x1a4e('0x8ab')](_0x596133,_0x2d0168,_0x8e2102[_0x1a4e('0x89c')][0x0],_0x4f1130):/str$/['test'](_0x2d0168)?this[_0x1a4e('0x8a5')](_0x596133,_0x2d0168,_0x4f1130):'objid'===_0x2d0168&&_0x8e2102[_0x1a4e('0x89c')]?this[_0x1a4e('0x8a6')](_0x596133,_0x8e2102[_0x1a4e('0x89c')][0x0],_0x8e2102[_0x1a4e('0x89c')][0x1],_0x4f1130):_0x1a4e('0x886')===_0x2d0168?this[_0x1a4e('0x8a6')](_0x596133,null,null,_0x4f1130):_0x1a4e('0x888')===_0x2d0168||'utctime'===_0x2d0168?this['_decodeTime'](_0x596133,_0x2d0168,_0x4f1130):_0x1a4e('0x8be')===_0x2d0168?this[_0x1a4e('0x8a8')](_0x596133,_0x4f1130):_0x1a4e('0x887')===_0x2d0168?this['_decodeBool'](_0x596133,_0x4f1130):_0x1a4e('0x88b')===_0x2d0168?this[_0x1a4e('0x8a5')](_0x596133,_0x2d0168,_0x4f1130):_0x1a4e('0x88a')===_0x2d0168||_0x1a4e('0x889')===_0x2d0168?this[_0x1a4e('0x8a9')](_0x596133,_0x8e2102[_0x1a4e('0x89c')]&&_0x8e2102['args'][0x0],_0x4f1130):null!==_0x8e2102[_0x1a4e('0x895')]?this[_0x1a4e('0x8bf')](_0x8e2102[_0x1a4e('0x895')],_0x596133[_0x1a4e('0x87d')][_0x1a4e('0x89f')])['_decode'](_0x596133,_0x4f1130):_0x596133[_0x1a4e('0x873')](_0x1a4e('0x8c0')+_0x2d0168);},_0xaae3b7['prototype']['_getUse']=function(_0x2d0168,_0x596133){var _0x4f1130=this['_baseState'];return _0x4f1130[_0x1a4e('0x8a0')]=this[_0x1a4e('0x8c1')](_0x2d0168,_0x596133),_0x452139(null===_0x4f1130['useDecoder']['_baseState'][_0x1a4e('0x11c')]),_0x4f1130['useDecoder']=_0x4f1130[_0x1a4e('0x8a0')][_0x1a4e('0x89a')][_0x1a4e('0x6f')][0x0],_0x4f1130[_0x1a4e('0x898')]!==_0x4f1130[_0x1a4e('0x8a0')]['_baseState'][_0x1a4e('0x898')]&&(_0x4f1130['useDecoder']=_0x4f1130[_0x1a4e('0x8a0')][_0x1a4e('0x240')](),_0x4f1130[_0x1a4e('0x8a0')][_0x1a4e('0x89a')]['implicit']=_0x4f1130[_0x1a4e('0x898')]),_0x4f1130[_0x1a4e('0x8a0')];},_0xaae3b7['prototype'][_0x1a4e('0x8b7')]=function(_0x2d0168,_0x596133){var _0x4f1130=this[_0x1a4e('0x89a')],_0x8e2102=null,_0x9fb648=!0x1;return Object['keys'](_0x4f1130[_0x1a4e('0x89e')])[_0x1a4e('0x1c2')](function(_0x3c2887){var _0x452139=_0x2d0168[_0x1a4e('0x8b5')](),_0xe0f608=_0x4f1130[_0x1a4e('0x89e')][_0x3c2887];try{var _0x362228=_0xe0f608[_0x1a4e('0x8b1')](_0x2d0168,_0x596133);if(_0x2d0168[_0x1a4e('0x8b4')](_0x362228))return!0x1;_0x8e2102={'type':_0x3c2887,'value':_0x362228},_0x9fb648=!0x0;}catch(_0x4d823c){return _0x2d0168[_0x1a4e('0x878')](_0x452139),!0x1;}return!0x0;},this),_0x9fb648?_0x8e2102:_0x2d0168[_0x1a4e('0x873')](_0x1a4e('0x8c2'));},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x8c3')]=function(_0x2d0168){return new _0x9fb648(_0x2d0168,this[_0x1a4e('0x879')]);},_0xaae3b7['prototype'][_0x1a4e('0x8c4')]=function(_0x2d0168,_0x596133,_0x4f1130){var _0x8e2102=this[_0x1a4e('0x89a')];if(null===_0x8e2102['default']||_0x8e2102[_0x1a4e('0x8')]!==_0x2d0168){var _0x9fb648=this[_0x1a4e('0x8c5')](_0x2d0168,_0x596133,_0x4f1130);if(void 0x0!==_0x9fb648&&!this[_0x1a4e('0x8c6')](_0x9fb648,_0x596133,_0x4f1130))return _0x9fb648;}},_0xaae3b7[_0x1a4e('0xa')]['_encodeValue']=function(_0x2d0168,_0x596133,_0x4f1130){var _0x9fb648=this[_0x1a4e('0x89a')];if(null===_0x9fb648[_0x1a4e('0x11c')])return _0x9fb648[_0x1a4e('0x6f')][0x0][_0x1a4e('0x8c4')](_0x2d0168,_0x596133||new _0x8e2102());var _0x3c2887=null;if(this[_0x1a4e('0x879')]=_0x596133,_0x9fb648[_0x1a4e('0x896')]&&void 0x0===_0x2d0168){if(null===_0x9fb648['default'])return;_0x2d0168=_0x9fb648[_0x1a4e('0x8')];}var _0x452139=null,_0xe0f608=!0x1;if(_0x9fb648[_0x1a4e('0x899')])_0x3c2887=this[_0x1a4e('0x8c3')](_0x2d0168);else if(_0x9fb648[_0x1a4e('0x89e')])_0x3c2887=this['_encodeChoice'](_0x2d0168,_0x596133);else if(_0x9fb648[_0x1a4e('0x2ac')])_0x452139=this[_0x1a4e('0x8bf')](_0x9fb648[_0x1a4e('0x2ac')],_0x4f1130)[_0x1a4e('0x8c4')](_0x2d0168,_0x596133),_0xe0f608=!0x0;else if(_0x9fb648['children'])_0x452139=_0x9fb648[_0x1a4e('0x6f')][_0x1a4e('0x21')](function(_0x4f1130){if(_0x1a4e('0x8be')===_0x4f1130[_0x1a4e('0x89a')][_0x1a4e('0x7ba')])return _0x4f1130[_0x1a4e('0x8c4')](null,_0x596133,_0x2d0168);if(null===_0x4f1130[_0x1a4e('0x89a')]['key'])return _0x596133['error'](_0x1a4e('0x8c7'));var _0x8e2102=_0x596133[_0x1a4e('0x8b3')](_0x4f1130[_0x1a4e('0x89a')][_0x1a4e('0x35f')]);if('object'!=typeof _0x2d0168)return _0x596133[_0x1a4e('0x873')](_0x1a4e('0x8c8'));var _0x9fb648=_0x4f1130[_0x1a4e('0x8c4')](_0x2d0168[_0x4f1130['_baseState'][_0x1a4e('0x35f')]],_0x596133,_0x2d0168);return _0x596133['leaveKey'](_0x8e2102),_0x9fb648;},this)[_0x1a4e('0xd9')](function(_0x2d0168){return _0x2d0168;}),_0x452139=this[_0x1a4e('0x8c3')](_0x452139);else if(_0x1a4e('0x8bd')===_0x9fb648[_0x1a4e('0x7ba')]||_0x1a4e('0x885')===_0x9fb648[_0x1a4e('0x7ba')]){if(!_0x9fb648[_0x1a4e('0x89c')]||0x1!==_0x9fb648[_0x1a4e('0x89c')]['length'])return _0x596133['error'](_0x1a4e('0x8c9')+_0x9fb648[_0x1a4e('0x7ba')]);if(!Array[_0x1a4e('0x15')](_0x2d0168))return _0x596133[_0x1a4e('0x873')](_0x1a4e('0x8ca'));var _0x362228=this['clone']();_0x362228[_0x1a4e('0x89a')][_0x1a4e('0x898')]=null,_0x452139=this[_0x1a4e('0x8c3')](_0x2d0168[_0x1a4e('0x21')](function(_0x4f1130){var _0x8e2102=this['_baseState'];return this[_0x1a4e('0x8bf')](_0x8e2102['args'][0x0],_0x2d0168)[_0x1a4e('0x8c4')](_0x4f1130,_0x596133);},_0x362228));}else null!==_0x9fb648[_0x1a4e('0x895')]?_0x3c2887=this[_0x1a4e('0x8bf')](_0x9fb648[_0x1a4e('0x895')],_0x4f1130)['_encode'](_0x2d0168,_0x596133):(_0x452139=this['_encodePrimitive'](_0x9fb648[_0x1a4e('0x7ba')],_0x2d0168),_0xe0f608=!0x0);if(!_0x9fb648[_0x1a4e('0x899')]&&null===_0x9fb648[_0x1a4e('0x89e')]){var _0xaae3b7=null!==_0x9fb648['implicit']?_0x9fb648[_0x1a4e('0x898')]:_0x9fb648[_0x1a4e('0x7ba')],_0x2afcdf=null===_0x9fb648['implicit']?'universal':_0x1a4e('0x8cb');null===_0xaae3b7?null===_0x9fb648[_0x1a4e('0x895')]&&_0x596133[_0x1a4e('0x873')](_0x1a4e('0x8cc')):null===_0x9fb648[_0x1a4e('0x895')]&&(_0x3c2887=this[_0x1a4e('0x8ac')](_0xaae3b7,_0xe0f608,_0x2afcdf,_0x452139));}return null!==_0x9fb648[_0x1a4e('0x897')]&&(_0x3c2887=this[_0x1a4e('0x8ac')](_0x9fb648[_0x1a4e('0x897')],!0x1,_0x1a4e('0x8cb'),_0x3c2887)),_0x3c2887;},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x8cd')]=function(_0x2d0168,_0x596133){var _0x4f1130=this['_baseState'],_0x8e2102=_0x4f1130[_0x1a4e('0x89e')][_0x2d0168[_0x1a4e('0x40')]];return _0x8e2102||_0x452139(!0x1,_0x2d0168[_0x1a4e('0x40')]+_0x1a4e('0x8ce')+JSON[_0x1a4e('0xd7')](Object['keys'](_0x4f1130[_0x1a4e('0x89e')]))),_0x8e2102[_0x1a4e('0x8c4')](_0x2d0168['value'],_0x596133);},_0xaae3b7['prototype'][_0x1a4e('0x8cf')]=function(_0x2d0168,_0x596133){var _0x4f1130=this[_0x1a4e('0x89a')];if(/str$/[_0x1a4e('0x8d0')](_0x2d0168))return this['_encodeStr'](_0x596133,_0x2d0168);if(_0x1a4e('0x886')===_0x2d0168&&_0x4f1130['args'])return this[_0x1a4e('0x8d1')](_0x596133,_0x4f1130['reverseArgs'][0x0],_0x4f1130[_0x1a4e('0x89c')][0x1]);if('objid'===_0x2d0168)return this[_0x1a4e('0x8d1')](_0x596133,null,null);if(_0x1a4e('0x888')===_0x2d0168||_0x1a4e('0x8d2')===_0x2d0168)return this[_0x1a4e('0x8ae')](_0x596133,_0x2d0168);if(_0x1a4e('0x8be')===_0x2d0168)return this[_0x1a4e('0x8d3')]();if(_0x1a4e('0x88a')===_0x2d0168||_0x1a4e('0x889')===_0x2d0168)return this[_0x1a4e('0x8d4')](_0x596133,_0x4f1130[_0x1a4e('0x89c')]&&_0x4f1130[_0x1a4e('0x89d')][0x0]);if('bool'===_0x2d0168)return this[_0x1a4e('0x8af')](_0x596133);if(_0x1a4e('0x88b')===_0x2d0168)return this[_0x1a4e('0x8ad')](_0x596133,_0x2d0168);throw new Error(_0x1a4e('0x8d5')+_0x2d0168);},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x8d6')]=function(_0x2d0168){return/^[0-9 ]*$/['test'](_0x2d0168);},_0xaae3b7[_0x1a4e('0xa')][_0x1a4e('0x8d7')]=function(_0x2d0168){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/[_0x1a4e('0x8d0')](_0x2d0168);};},'./node_modules/asn1.js/lib/asn1/base/reporter.js':function(_0x7d4892,_0x492b91,_0x48ea48){var _0x5710c1=_0x48ea48(_0x1a4e('0x863'));function _0x4e2a14(_0x7d4892){this[_0x1a4e('0x87d')]={'obj':null,'path':[],'options':_0x7d4892||{},'errors':[]};}function _0x4df2ff(_0x7d4892,_0x492b91){this[_0x1a4e('0x64')]=_0x7d4892,this['rethrow'](_0x492b91);}_0x492b91[_0x1a4e('0x86e')]=_0x4e2a14,_0x4e2a14[_0x1a4e('0xa')][_0x1a4e('0x8b4')]=function(_0x7d4892){return _0x7d4892 instanceof _0x4df2ff;},_0x4e2a14[_0x1a4e('0xa')][_0x1a4e('0x8b5')]=function(){var _0x7d4892=this['_reporterState'];return{'obj':_0x7d4892[_0x1a4e('0x89f')],'pathLen':_0x7d4892['path'][_0x1a4e('0x1e')]};},_0x4e2a14[_0x1a4e('0xa')][_0x1a4e('0x878')]=function(_0x7d4892){var _0x492b91=this[_0x1a4e('0x87d')];_0x492b91[_0x1a4e('0x89f')]=_0x7d4892[_0x1a4e('0x89f')],_0x492b91[_0x1a4e('0x64')]=_0x492b91[_0x1a4e('0x64')][_0x1a4e('0x78')](0x0,_0x7d4892[_0x1a4e('0x8d8')]);},_0x4e2a14[_0x1a4e('0xa')]['enterKey']=function(_0x7d4892){return this[_0x1a4e('0x87d')][_0x1a4e('0x64')]['push'](_0x7d4892);},_0x4e2a14['prototype'][_0x1a4e('0x8d9')]=function(_0x7d4892){var _0x492b91=this[_0x1a4e('0x87d')];_0x492b91[_0x1a4e('0x64')]=_0x492b91[_0x1a4e('0x64')][_0x1a4e('0x78')](0x0,_0x7d4892-0x1);},_0x4e2a14['prototype'][_0x1a4e('0x8bc')]=function(_0x7d4892,_0x492b91,_0x48ea48){var _0x5710c1=this['_reporterState'];this['exitKey'](_0x7d4892),null!==_0x5710c1[_0x1a4e('0x89f')]&&(_0x5710c1['obj'][_0x492b91]=_0x48ea48);},_0x4e2a14[_0x1a4e('0xa')][_0x1a4e('0x64')]=function(){return this[_0x1a4e('0x87d')][_0x1a4e('0x64')][_0x1a4e('0x9e')]('/');},_0x4e2a14[_0x1a4e('0xa')][_0x1a4e('0x8da')]=function(){var _0x7d4892=this['_reporterState'],_0x492b91=_0x7d4892['obj'];return _0x7d4892[_0x1a4e('0x89f')]={},_0x492b91;},_0x4e2a14[_0x1a4e('0xa')][_0x1a4e('0x8db')]=function(_0x7d4892){var _0x492b91=this[_0x1a4e('0x87d')],_0x48ea48=_0x492b91['obj'];return _0x492b91[_0x1a4e('0x89f')]=_0x7d4892,_0x48ea48;},_0x4e2a14[_0x1a4e('0xa')][_0x1a4e('0x873')]=function(_0x7d4892){var _0x492b91,_0x48ea48=this['_reporterState'],_0x5710c1=_0x7d4892 instanceof _0x4df2ff;if(_0x492b91=_0x5710c1?_0x7d4892:new _0x4df2ff(_0x48ea48['path'][_0x1a4e('0x21')](function(_0x7d4892){return'['+JSON[_0x1a4e('0xd7')](_0x7d4892)+']';})[_0x1a4e('0x9e')](''),_0x7d4892[_0x1a4e('0x133')]||_0x7d4892,_0x7d4892[_0x1a4e('0x2cd')]),!_0x48ea48[_0x1a4e('0x8dc')]['partial'])throw _0x492b91;return _0x5710c1||_0x48ea48[_0x1a4e('0x8dd')][_0x1a4e('0x46')](_0x492b91),_0x492b91;},_0x4e2a14['prototype'][_0x1a4e('0x8b2')]=function(_0x7d4892){var _0x492b91=this['_reporterState'];return _0x492b91[_0x1a4e('0x8dc')]['partial']?{'result':this[_0x1a4e('0x8b4')](_0x7d4892)?null:_0x7d4892,'errors':_0x492b91[_0x1a4e('0x8dd')]}:_0x7d4892;},_0x5710c1(_0x4df2ff,Error),_0x4df2ff[_0x1a4e('0xa')][_0x1a4e('0x8de')]=function(_0x7d4892){if(this[_0x1a4e('0x133')]=_0x7d4892+_0x1a4e('0x8df')+(this[_0x1a4e('0x64')]||_0x1a4e('0x8e0')),Error[_0x1a4e('0x8e1')]&&Error[_0x1a4e('0x8e1')](this,_0x4df2ff),!this[_0x1a4e('0x2cd')])try{throw new Error(this['message']);}catch(_0x2ef3b8){this[_0x1a4e('0x2cd')]=_0x2ef3b8[_0x1a4e('0x2cd')];}return this;};},'./node_modules/asn1.js/lib/asn1/constants/der.js':function(_0x146269,_0x295897,_0x6e9e72){var _0xee58db=_0x6e9e72(_0x1a4e('0x8e2'));_0x295897[_0x1a4e('0x8e3')]={0:_0x1a4e('0x8e4'),1:_0x1a4e('0x8e5'),2:'context',3:'private'},_0x295897[_0x1a4e('0x8e6')]=_0xee58db[_0x1a4e('0x8e7')](_0x295897['tagClass']),_0x295897[_0x1a4e('0x7ba')]={0:_0x1a4e('0xca'),1:_0x1a4e('0x887'),2:_0x1a4e('0x88a'),3:_0x1a4e('0x8e8'),4:_0x1a4e('0x8bb'),5:_0x1a4e('0x8be'),6:_0x1a4e('0x886'),7:_0x1a4e('0x88b'),8:'external',9:_0x1a4e('0x8e9'),10:_0x1a4e('0x889'),11:_0x1a4e('0x8ea'),12:'utf8str',13:_0x1a4e('0x8eb'),16:'seq',17:_0x1a4e('0x17a'),18:'numstr',19:_0x1a4e('0x891'),20:_0x1a4e('0x892'),21:_0x1a4e('0x8ec'),22:_0x1a4e('0x8ed'),23:_0x1a4e('0x8d2'),24:_0x1a4e('0x888'),25:'graphstr',26:_0x1a4e('0x88f'),27:_0x1a4e('0x88d'),28:'unistr',29:'charstr',30:'bmpstr'},_0x295897['tagByName']=_0xee58db[_0x1a4e('0x8e7')](_0x295897[_0x1a4e('0x7ba')]);},'./node_modules/asn1.js/lib/asn1/constants/index.js':function(_0x4ec309,_0x5ace8b,_0x15b602){var _0x173f97=_0x5ace8b;_0x173f97['_reverse']=function(_0x4ec309){var _0x5ace8b={};return Object['keys'](_0x4ec309)['forEach'](function(_0x15b602){(0x0|_0x15b602)==_0x15b602&&(_0x15b602|=0x0);var _0x173f97=_0x4ec309[_0x15b602];_0x5ace8b[_0x173f97]=_0x15b602;}),_0x5ace8b;},_0x173f97[_0x1a4e('0x86c')]=_0x15b602(_0x1a4e('0x8ee'));},'./node_modules/asn1.js/lib/asn1/decoders/der.js':function(_0x53623f,_0x1d91fc,_0x275c49){var _0x1df6ba=_0x275c49(_0x1a4e('0x863')),_0x1c45eb=_0x275c49(_0x1a4e('0x8ef')),_0x32ae47=_0x1c45eb[_0x1a4e('0x872')],_0x561581=_0x1c45eb['bignum'],_0x2d2ea3=_0x1c45eb[_0x1a4e('0x860')][_0x1a4e('0x86c')];function _0xb8b7f5(_0x53623f){this['enc']=_0x1a4e('0x86c'),this['name']=_0x53623f[_0x1a4e('0x2cb')],this[_0x1a4e('0x8f0')]=_0x53623f,this[_0x1a4e('0x8f1')]=new _0x624bdb(),this[_0x1a4e('0x8f1')][_0x1a4e('0x1f7')](_0x53623f[_0x1a4e('0x8f2')]);}function _0x624bdb(_0x53623f){_0x32ae47[_0x1a4e('0x882')]['call'](this,'der',_0x53623f);}function _0x4a2faf(_0x53623f,_0x1d91fc){var _0x275c49=_0x53623f[_0x1a4e('0x87a')](_0x1d91fc);if(_0x53623f[_0x1a4e('0x8b4')](_0x275c49))return _0x275c49;var _0x1df6ba=_0x2d2ea3['tagClass'][_0x275c49>>0x6],_0x1c45eb=0x0==(0x20&_0x275c49);if(0x1f==(0x1f&_0x275c49)){var _0x32ae47=_0x275c49;for(_0x275c49=0x0;0x80==(0x80&_0x32ae47);){if(_0x32ae47=_0x53623f[_0x1a4e('0x87a')](_0x1d91fc),_0x53623f[_0x1a4e('0x8b4')](_0x32ae47))return _0x32ae47;_0x275c49<<=0x7,_0x275c49|=0x7f&_0x32ae47;}}else _0x275c49&=0x1f;return{'cls':_0x1df6ba,'primitive':_0x1c45eb,'tag':_0x275c49,'tagStr':_0x2d2ea3[_0x1a4e('0x7ba')][_0x275c49]};}function _0xc1a7e(_0x53623f,_0x1d91fc,_0x275c49){var _0x1df6ba=_0x53623f[_0x1a4e('0x87a')](_0x275c49);if(_0x53623f[_0x1a4e('0x8b4')](_0x1df6ba))return _0x1df6ba;if(!_0x1d91fc&&0x80===_0x1df6ba)return null;if(0x0==(0x80&_0x1df6ba))return _0x1df6ba;var _0x1c45eb=0x7f&_0x1df6ba;if(_0x1c45eb>0x4)return _0x53623f[_0x1a4e('0x873')]('length\x20octect\x20is\x20too\x20long');_0x1df6ba=0x0;for(var _0x32ae47=0x0;_0x32ae47<_0x1c45eb;_0x32ae47++){_0x1df6ba<<=0x8;var _0x561581=_0x53623f[_0x1a4e('0x87a')](_0x275c49);if(_0x53623f[_0x1a4e('0x8b4')](_0x561581))return _0x561581;_0x1df6ba|=_0x561581;}return _0x1df6ba;}_0x53623f[_0x1a4e('0x0')]=_0xb8b7f5,_0xb8b7f5['prototype'][_0x1a4e('0x8f3')]=function(_0x53623f,_0x1d91fc){return _0x53623f instanceof _0x32ae47[_0x1a4e('0x877')]||(_0x53623f=new _0x32ae47[(_0x1a4e('0x877'))](_0x53623f,_0x1d91fc)),this[_0x1a4e('0x8f1')][_0x1a4e('0x8b1')](_0x53623f,_0x1d91fc);},_0x1df6ba(_0x624bdb,_0x32ae47[_0x1a4e('0x882')]),_0x624bdb[_0x1a4e('0xa')][_0x1a4e('0x8a4')]=function(_0x53623f,_0x1d91fc,_0x275c49){if(_0x53623f[_0x1a4e('0x149')]())return!0x1;var _0x1df6ba=_0x53623f['save'](),_0x1c45eb=_0x4a2faf(_0x53623f,_0x1a4e('0x8f4')+_0x1d91fc+'\x22');return _0x53623f[_0x1a4e('0x8b4')](_0x1c45eb)?_0x1c45eb:(_0x53623f[_0x1a4e('0x878')](_0x1df6ba),_0x1c45eb[_0x1a4e('0x7ba')]===_0x1d91fc||_0x1c45eb[_0x1a4e('0x8f5')]===_0x1d91fc||_0x1c45eb[_0x1a4e('0x8f5')]+'of'===_0x1d91fc||_0x275c49);},_0x624bdb['prototype'][_0x1a4e('0x8b8')]=function(_0x53623f,_0x1d91fc,_0x275c49){var _0x1df6ba=_0x4a2faf(_0x53623f,_0x1a4e('0x8f6')+_0x1d91fc+'\x22');if(_0x53623f['isError'](_0x1df6ba))return _0x1df6ba;var _0x1c45eb=_0xc1a7e(_0x53623f,_0x1df6ba[_0x1a4e('0x8f7')],_0x1a4e('0x8f8')+_0x1d91fc+'\x22');if(_0x53623f[_0x1a4e('0x8b4')](_0x1c45eb))return _0x1c45eb;if(!_0x275c49&&_0x1df6ba[_0x1a4e('0x7ba')]!==_0x1d91fc&&_0x1df6ba[_0x1a4e('0x8f5')]!==_0x1d91fc&&_0x1df6ba[_0x1a4e('0x8f5')]+'of'!==_0x1d91fc)return _0x53623f['error'](_0x1a4e('0x8f9')+_0x1d91fc+'\x22');if(_0x1df6ba[_0x1a4e('0x8f7')]||null!==_0x1c45eb)return _0x53623f[_0x1a4e('0x87c')](_0x1c45eb,_0x1a4e('0x8fa')+_0x1d91fc+'\x22');var _0x32ae47=_0x53623f['save'](),_0x561581=this[_0x1a4e('0x8fb')](_0x53623f,_0x1a4e('0x8fc')+this[_0x1a4e('0x7ba')]+'\x22');return _0x53623f[_0x1a4e('0x8b4')](_0x561581)?_0x561581:(_0x1c45eb=_0x53623f[_0x1a4e('0x1af')]-_0x32ae47[_0x1a4e('0x1af')],_0x53623f[_0x1a4e('0x878')](_0x32ae47),_0x53623f[_0x1a4e('0x87c')](_0x1c45eb,_0x1a4e('0x8fa')+_0x1d91fc+'\x22'));},_0x624bdb[_0x1a4e('0xa')][_0x1a4e('0x8fb')]=function(_0x53623f,_0x1d91fc){for(;;){var _0x275c49=_0x4a2faf(_0x53623f,_0x1d91fc);if(_0x53623f['isError'](_0x275c49))return _0x275c49;var _0x1df6ba,_0x1c45eb=_0xc1a7e(_0x53623f,_0x275c49['primitive'],_0x1d91fc);if(_0x53623f['isError'](_0x1c45eb))return _0x1c45eb;if(_0x1df6ba=_0x275c49[_0x1a4e('0x8f7')]||null!==_0x1c45eb?_0x53623f[_0x1a4e('0x87c')](_0x1c45eb):this[_0x1a4e('0x8fb')](_0x53623f,_0x1d91fc),_0x53623f[_0x1a4e('0x8b4')](_0x1df6ba))return _0x1df6ba;if('end'===_0x275c49[_0x1a4e('0x8f5')])break;}},_0x624bdb[_0x1a4e('0xa')][_0x1a4e('0x8ab')]=function(_0x53623f,_0x1d91fc,_0x275c49,_0x1df6ba){for(var _0x1c45eb=[];!_0x53623f[_0x1a4e('0x149')]();){var _0x32ae47=this[_0x1a4e('0x8a4')](_0x53623f,'end');if(_0x53623f[_0x1a4e('0x8b4')](_0x32ae47))return _0x32ae47;var _0x561581=_0x275c49[_0x1a4e('0x8f3')](_0x53623f,_0x1a4e('0x86c'),_0x1df6ba);if(_0x53623f[_0x1a4e('0x8b4')](_0x561581)&&_0x32ae47)break;_0x1c45eb[_0x1a4e('0x46')](_0x561581);}return _0x1c45eb;},_0x624bdb[_0x1a4e('0xa')]['_decodeStr']=function(_0x53623f,_0x1d91fc){if('bitstr'===_0x1d91fc){var _0x275c49=_0x53623f[_0x1a4e('0x87a')]();return _0x53623f[_0x1a4e('0x8b4')](_0x275c49)?_0x275c49:{'unused':_0x275c49,'data':_0x53623f['raw']()};}if('bmpstr'===_0x1d91fc){var _0x1df6ba=_0x53623f[_0x1a4e('0x87e')]();if(_0x1df6ba['length']%0x2==0x1)return _0x53623f[_0x1a4e('0x873')](_0x1a4e('0x8fd'));for(var _0x1c45eb='',_0x32ae47=0x0;_0x32ae47<_0x1df6ba[_0x1a4e('0x1e')]/0x2;_0x32ae47++)_0x1c45eb+=String[_0x1a4e('0x8fe')](_0x1df6ba[_0x1a4e('0x8ff')](0x2*_0x32ae47));return _0x1c45eb;}if(_0x1a4e('0x890')===_0x1d91fc){var _0x561581=_0x53623f['raw']()[_0x1a4e('0x95')](_0x1a4e('0x900'));return this[_0x1a4e('0x8d6')](_0x561581)?_0x561581:_0x53623f['error']('Decoding\x20of\x20string\x20type:\x20numstr\x20unsupported\x20characters');}if(_0x1a4e('0x8bb')===_0x1d91fc)return _0x53623f[_0x1a4e('0x87e')]();if(_0x1a4e('0x88b')===_0x1d91fc)return _0x53623f['raw']();if(_0x1a4e('0x891')===_0x1d91fc){var _0x2d2ea3=_0x53623f[_0x1a4e('0x87e')]()['toString']('ascii');return this[_0x1a4e('0x8d7')](_0x2d2ea3)?_0x2d2ea3:_0x53623f[_0x1a4e('0x873')](_0x1a4e('0x901'));}return/str$/['test'](_0x1d91fc)?_0x53623f[_0x1a4e('0x87e')]()[_0x1a4e('0x95')]():_0x53623f['error'](_0x1a4e('0x902')+_0x1d91fc+_0x1a4e('0x903'));},_0x624bdb['prototype']['_decodeObjid']=function(_0x53623f,_0x1d91fc,_0x275c49){for(var _0x1df6ba,_0x1c45eb=[],_0x32ae47=0x0;!_0x53623f['isEmpty']();){var _0x561581=_0x53623f[_0x1a4e('0x87a')]();_0x32ae47<<=0x7,_0x32ae47|=0x7f&_0x561581,0x0==(0x80&_0x561581)&&(_0x1c45eb[_0x1a4e('0x46')](_0x32ae47),_0x32ae47=0x0);}0x80&_0x561581&&_0x1c45eb[_0x1a4e('0x46')](_0x32ae47);var _0x2d2ea3=_0x1c45eb[0x0]/0x28|0x0,_0xb8b7f5=_0x1c45eb[0x0]%0x28;if(_0x1df6ba=_0x275c49?_0x1c45eb:[_0x2d2ea3,_0xb8b7f5]['concat'](_0x1c45eb['slice'](0x1)),_0x1d91fc){var _0x624bdb=_0x1d91fc[_0x1df6ba[_0x1a4e('0x9e')]('\x20')];void 0x0===_0x624bdb&&(_0x624bdb=_0x1d91fc[_0x1df6ba[_0x1a4e('0x9e')]('.')]),void 0x0!==_0x624bdb&&(_0x1df6ba=_0x624bdb);}return _0x1df6ba;},_0x624bdb[_0x1a4e('0xa')]['_decodeTime']=function(_0x53623f,_0x1d91fc){var _0x275c49=_0x53623f[_0x1a4e('0x87e')]()[_0x1a4e('0x95')]();if(_0x1a4e('0x888')===_0x1d91fc)var _0x1df6ba=0x0|_0x275c49['slice'](0x0,0x4),_0x1c45eb=0x0|_0x275c49[_0x1a4e('0x78')](0x4,0x6),_0x32ae47=0x0|_0x275c49[_0x1a4e('0x78')](0x6,0x8),_0x561581=0x0|_0x275c49['slice'](0x8,0xa),_0x2d2ea3=0x0|_0x275c49['slice'](0xa,0xc),_0xb8b7f5=0x0|_0x275c49['slice'](0xc,0xe);else{if(_0x1a4e('0x8d2')!==_0x1d91fc)return _0x53623f[_0x1a4e('0x873')](_0x1a4e('0x904')+_0x1d91fc+_0x1a4e('0x905'));_0x1df6ba=0x0|_0x275c49[_0x1a4e('0x78')](0x0,0x2),_0x1c45eb=0x0|_0x275c49['slice'](0x2,0x4),_0x32ae47=0x0|_0x275c49[_0x1a4e('0x78')](0x4,0x6),_0x561581=0x0|_0x275c49[_0x1a4e('0x78')](0x6,0x8),_0x2d2ea3=0x0|_0x275c49['slice'](0x8,0xa),_0xb8b7f5=0x0|_0x275c49[_0x1a4e('0x78')](0xa,0xc);_0x1df6ba=_0x1df6ba<0x46?0x7d0+_0x1df6ba:0x76c+_0x1df6ba;}return Date[_0x1a4e('0x906')](_0x1df6ba,_0x1c45eb-0x1,_0x32ae47,_0x561581,_0x2d2ea3,_0xb8b7f5,0x0);},_0x624bdb[_0x1a4e('0xa')]['_decodeNull']=function(_0x53623f){return null;},_0x624bdb[_0x1a4e('0xa')][_0x1a4e('0x8aa')]=function(_0x53623f){var _0x1d91fc=_0x53623f[_0x1a4e('0x87a')]();return _0x53623f[_0x1a4e('0x8b4')](_0x1d91fc)?_0x1d91fc:0x0!==_0x1d91fc;},_0x624bdb[_0x1a4e('0xa')][_0x1a4e('0x8a9')]=function(_0x53623f,_0x1d91fc){var _0x275c49=_0x53623f[_0x1a4e('0x87e')](),_0x1df6ba=new _0x561581(_0x275c49);return _0x1d91fc&&(_0x1df6ba=_0x1d91fc[_0x1df6ba['toString'](0xa)]||_0x1df6ba),_0x1df6ba;},_0x624bdb[_0x1a4e('0xa')]['_use']=function(_0x53623f,_0x1d91fc){return _0x1a4e('0x68')==typeof _0x53623f&&(_0x53623f=_0x53623f(_0x1d91fc)),_0x53623f['_getDecoder']('der')[_0x1a4e('0x8f1')];};},'./node_modules/asn1.js/lib/asn1/decoders/index.js':function(_0x3a0e67,_0x294ee8,_0x4af704){var _0x1be0a4=_0x294ee8;_0x1be0a4[_0x1a4e('0x86c')]=_0x4af704(_0x1a4e('0x907')),_0x1be0a4['pem']=_0x4af704(_0x1a4e('0x908'));},'./node_modules/asn1.js/lib/asn1/decoders/pem.js':function(_0x466adc,_0x1638ac,_0x565b62){var _0x134cec=_0x565b62(_0x1a4e('0x863')),_0x2c2e9e=_0x565b62(_0x1a4e('0x86f'))[_0x1a4e('0x870')],_0x1dafdf=_0x565b62(_0x1a4e('0x907'));function _0x89d0f9(_0x466adc){_0x1dafdf[_0x1a4e('0x1')](this,_0x466adc),this[_0x1a4e('0x89b')]='pem';}_0x134cec(_0x89d0f9,_0x1dafdf),_0x466adc[_0x1a4e('0x0')]=_0x89d0f9,_0x89d0f9[_0x1a4e('0xa')][_0x1a4e('0x8f3')]=function(_0x466adc,_0x1638ac){for(var _0x565b62=_0x466adc[_0x1a4e('0x95')]()[_0x1a4e('0x2be')](/[\r\n]+/g),_0x134cec=_0x1638ac['label'][_0x1a4e('0x257')](),_0x89d0f9=/^-----(BEGIN|END) ([^-]+)-----$/,_0x2572d7=-0x1,_0x3124c6=-0x1,_0x2efb04=0x0;_0x2efb04<_0x565b62[_0x1a4e('0x1e')];_0x2efb04++){var _0x2fe58c=_0x565b62[_0x2efb04][_0x1a4e('0x909')](_0x89d0f9);if(null!==_0x2fe58c&&_0x2fe58c[0x2]===_0x134cec){if(-0x1!==_0x2572d7){if(_0x1a4e('0x90a')!==_0x2fe58c[0x1])break;_0x3124c6=_0x2efb04;break;}if(_0x1a4e('0x90b')!==_0x2fe58c[0x1])break;_0x2572d7=_0x2efb04;}}if(-0x1===_0x2572d7||-0x1===_0x3124c6)throw new Error(_0x1a4e('0x90c')+_0x134cec);var _0x45cca3=_0x565b62[_0x1a4e('0x78')](_0x2572d7+0x1,_0x3124c6)[_0x1a4e('0x9e')]('');_0x45cca3['replace'](/[^a-z0-9\+\/=]+/gi,'');var _0x143726=new _0x2c2e9e(_0x45cca3,_0x1a4e('0x90d'));return _0x1dafdf[_0x1a4e('0xa')][_0x1a4e('0x8f3')][_0x1a4e('0x1')](this,_0x143726,_0x1638ac);};},'./node_modules/asn1.js/lib/asn1/encoders/der.js':function(_0x2b0ead,_0x10c9ca,_0x3f1d9e){var _0x556bd4=_0x3f1d9e(_0x1a4e('0x863')),_0x3a908f=_0x3f1d9e(_0x1a4e('0x86f'))[_0x1a4e('0x870')],_0x51b232=_0x3f1d9e(_0x1a4e('0x8ef')),_0x355652=_0x51b232[_0x1a4e('0x872')],_0x422b05=_0x51b232[_0x1a4e('0x860')][_0x1a4e('0x86c')];function _0x116948(_0x2b0ead){this[_0x1a4e('0x89b')]=_0x1a4e('0x86c'),this['name']=_0x2b0ead[_0x1a4e('0x2cb')],this[_0x1a4e('0x8f0')]=_0x2b0ead,this['tree']=new _0x508c98(),this[_0x1a4e('0x8f1')][_0x1a4e('0x1f7')](_0x2b0ead[_0x1a4e('0x8f2')]);}function _0x508c98(_0x2b0ead){_0x355652[_0x1a4e('0x882')][_0x1a4e('0x1')](this,_0x1a4e('0x86c'),_0x2b0ead);}function _0x2fa89b(_0x2b0ead){return _0x2b0ead<0xa?'0'+_0x2b0ead:_0x2b0ead;}_0x2b0ead[_0x1a4e('0x0')]=_0x116948,_0x116948[_0x1a4e('0xa')][_0x1a4e('0x86d')]=function(_0x2b0ead,_0x10c9ca){return this[_0x1a4e('0x8f1')][_0x1a4e('0x8c4')](_0x2b0ead,_0x10c9ca)[_0x1a4e('0x9e')]();},_0x556bd4(_0x508c98,_0x355652[_0x1a4e('0x882')]),_0x508c98[_0x1a4e('0xa')][_0x1a4e('0x8ac')]=function(_0x2b0ead,_0x10c9ca,_0x3f1d9e,_0x556bd4){var _0x51b232,_0x355652=function(_0x2b0ead,_0x10c9ca,_0x3f1d9e,_0x556bd4){var _0x3a908f;_0x1a4e('0x8bd')===_0x2b0ead?_0x2b0ead=_0x1a4e('0x884'):_0x1a4e('0x885')===_0x2b0ead&&(_0x2b0ead=_0x1a4e('0x17a'));if(_0x422b05[_0x1a4e('0x90e')][_0x1a4e('0xb')](_0x2b0ead))_0x3a908f=_0x422b05[_0x1a4e('0x90e')][_0x2b0ead];else{if('number'!=typeof _0x2b0ead||(0x0|_0x2b0ead)!==_0x2b0ead)return _0x556bd4[_0x1a4e('0x873')](_0x1a4e('0x90f')+_0x2b0ead);_0x3a908f=_0x2b0ead;}if(_0x3a908f>=0x1f)return _0x556bd4[_0x1a4e('0x873')](_0x1a4e('0x910'));_0x10c9ca||(_0x3a908f|=0x20);return _0x3a908f|=_0x422b05[_0x1a4e('0x8e6')][_0x3f1d9e||_0x1a4e('0x8e4')]<<0x6;}(_0x2b0ead,_0x10c9ca,_0x3f1d9e,this[_0x1a4e('0x879')]);if(_0x556bd4[_0x1a4e('0x1e')]<0x80)return(_0x51b232=new _0x3a908f(0x2))[0x0]=_0x355652,_0x51b232[0x1]=_0x556bd4['length'],this[_0x1a4e('0x8c3')]([_0x51b232,_0x556bd4]);for(var _0x116948=0x1,_0x508c98=_0x556bd4[_0x1a4e('0x1e')];_0x508c98>=0x100;_0x508c98>>=0x8)_0x116948++;(_0x51b232=new _0x3a908f(0x2+_0x116948))[0x0]=_0x355652,_0x51b232[0x1]=0x80|_0x116948;_0x508c98=0x1+_0x116948;for(var _0x2fa89b=_0x556bd4[_0x1a4e('0x1e')];_0x2fa89b>0x0;_0x508c98--,_0x2fa89b>>=0x8)_0x51b232[_0x508c98]=0xff&_0x2fa89b;return this[_0x1a4e('0x8c3')]([_0x51b232,_0x556bd4]);},_0x508c98['prototype'][_0x1a4e('0x8ad')]=function(_0x2b0ead,_0x10c9ca){if('bitstr'===_0x10c9ca)return this['_createEncoderBuffer']([0x0|_0x2b0ead['unused'],_0x2b0ead[_0x1a4e('0x7f')]]);if(_0x1a4e('0x911')===_0x10c9ca){for(var _0x3f1d9e=new _0x3a908f(0x2*_0x2b0ead['length']),_0x556bd4=0x0;_0x556bd4<_0x2b0ead['length'];_0x556bd4++)_0x3f1d9e[_0x1a4e('0x912')](_0x2b0ead[_0x1a4e('0x913')](_0x556bd4),0x2*_0x556bd4);return this[_0x1a4e('0x8c3')](_0x3f1d9e);}return'numstr'===_0x10c9ca?this['_isNumstr'](_0x2b0ead)?this['_createEncoderBuffer'](_0x2b0ead):this[_0x1a4e('0x879')]['error']('Encoding\x20of\x20string\x20type:\x20numstr\x20supports\x20only\x20digits\x20and\x20space'):_0x1a4e('0x891')===_0x10c9ca?this['_isPrintstr'](_0x2b0ead)?this['_createEncoderBuffer'](_0x2b0ead):this[_0x1a4e('0x879')][_0x1a4e('0x873')]('Encoding\x20of\x20string\x20type:\x20printstr\x20supports\x20only\x20latin\x20upper\x20and\x20lower\x20case\x20letters,\x20digits,\x20space,\x20apostrophe,\x20left\x20and\x20rigth\x20parenthesis,\x20plus\x20sign,\x20comma,\x20hyphen,\x20dot,\x20slash,\x20colon,\x20equal\x20sign,\x20question\x20mark'):/str$/[_0x1a4e('0x8d0')](_0x10c9ca)?this[_0x1a4e('0x8c3')](_0x2b0ead):'objDesc'===_0x10c9ca?this['_createEncoderBuffer'](_0x2b0ead):this[_0x1a4e('0x879')][_0x1a4e('0x873')](_0x1a4e('0x914')+_0x10c9ca+'\x20unsupported');},_0x508c98[_0x1a4e('0xa')][_0x1a4e('0x8d1')]=function(_0x2b0ead,_0x10c9ca,_0x3f1d9e){if(_0x1a4e('0x9')==typeof _0x2b0ead){if(!_0x10c9ca)return this[_0x1a4e('0x879')][_0x1a4e('0x873')](_0x1a4e('0x915'));if(!_0x10c9ca['hasOwnProperty'](_0x2b0ead))return this[_0x1a4e('0x879')][_0x1a4e('0x873')](_0x1a4e('0x916'));_0x2b0ead=_0x10c9ca[_0x2b0ead][_0x1a4e('0x2be')](/[\s\.]+/g);for(var _0x556bd4=0x0;_0x556bd4<_0x2b0ead['length'];_0x556bd4++)_0x2b0ead[_0x556bd4]|=0x0;}else if(Array['isArray'](_0x2b0ead)){_0x2b0ead=_0x2b0ead[_0x1a4e('0x78')]();for(_0x556bd4=0x0;_0x556bd4<_0x2b0ead['length'];_0x556bd4++)_0x2b0ead[_0x556bd4]|=0x0;}if(!Array[_0x1a4e('0x15')](_0x2b0ead))return this[_0x1a4e('0x879')][_0x1a4e('0x873')](_0x1a4e('0x917')+JSON['stringify'](_0x2b0ead));if(!_0x3f1d9e){if(_0x2b0ead[0x1]>=0x28)return this[_0x1a4e('0x879')][_0x1a4e('0x873')](_0x1a4e('0x918'));_0x2b0ead[_0x1a4e('0x8a')](0x0,0x2,0x28*_0x2b0ead[0x0]+_0x2b0ead[0x1]);}var _0x51b232=0x0;for(_0x556bd4=0x0;_0x556bd4<_0x2b0ead[_0x1a4e('0x1e')];_0x556bd4++){var _0x355652=_0x2b0ead[_0x556bd4];for(_0x51b232++;_0x355652>=0x80;_0x355652>>=0x7)_0x51b232++;}var _0x422b05=new _0x3a908f(_0x51b232),_0x116948=_0x422b05[_0x1a4e('0x1e')]-0x1;for(_0x556bd4=_0x2b0ead[_0x1a4e('0x1e')]-0x1;_0x556bd4>=0x0;_0x556bd4--){_0x355652=_0x2b0ead[_0x556bd4];for(_0x422b05[_0x116948--]=0x7f&_0x355652;(_0x355652>>=0x7)>0x0;)_0x422b05[_0x116948--]=0x80|0x7f&_0x355652;}return this[_0x1a4e('0x8c3')](_0x422b05);},_0x508c98['prototype']['_encodeTime']=function(_0x2b0ead,_0x10c9ca){var _0x3f1d9e,_0x556bd4=new Date(_0x2b0ead);return _0x1a4e('0x888')===_0x10c9ca?_0x3f1d9e=[_0x2fa89b(_0x556bd4['getFullYear']()),_0x2fa89b(_0x556bd4[_0x1a4e('0x919')]()+0x1),_0x2fa89b(_0x556bd4['getUTCDate']()),_0x2fa89b(_0x556bd4[_0x1a4e('0x91a')]()),_0x2fa89b(_0x556bd4[_0x1a4e('0x91b')]()),_0x2fa89b(_0x556bd4[_0x1a4e('0x91c')]()),'Z'][_0x1a4e('0x9e')](''):_0x1a4e('0x8d2')===_0x10c9ca?_0x3f1d9e=[_0x2fa89b(_0x556bd4[_0x1a4e('0x91d')]()%0x64),_0x2fa89b(_0x556bd4[_0x1a4e('0x919')]()+0x1),_0x2fa89b(_0x556bd4[_0x1a4e('0x91e')]()),_0x2fa89b(_0x556bd4[_0x1a4e('0x91a')]()),_0x2fa89b(_0x556bd4[_0x1a4e('0x91b')]()),_0x2fa89b(_0x556bd4[_0x1a4e('0x91c')]()),'Z'][_0x1a4e('0x9e')](''):this[_0x1a4e('0x879')][_0x1a4e('0x873')]('Encoding\x20'+_0x10c9ca+_0x1a4e('0x905')),this[_0x1a4e('0x8ad')](_0x3f1d9e,_0x1a4e('0x8bb'));},_0x508c98[_0x1a4e('0xa')][_0x1a4e('0x8d3')]=function(){return this[_0x1a4e('0x8c3')]('');},_0x508c98[_0x1a4e('0xa')]['_encodeInt']=function(_0x2b0ead,_0x10c9ca){if(_0x1a4e('0x9')==typeof _0x2b0ead){if(!_0x10c9ca)return this[_0x1a4e('0x879')]['error'](_0x1a4e('0x91f'));if(!_0x10c9ca[_0x1a4e('0xb')](_0x2b0ead))return this[_0x1a4e('0x879')]['error'](_0x1a4e('0x920')+JSON[_0x1a4e('0xd7')](_0x2b0ead));_0x2b0ead=_0x10c9ca[_0x2b0ead];}if(_0x1a4e('0x3d')!=typeof _0x2b0ead&&!_0x3a908f['isBuffer'](_0x2b0ead)){var _0x3f1d9e=_0x2b0ead[_0x1a4e('0x347')]();!_0x2b0ead[_0x1a4e('0x113')]&&0x80&_0x3f1d9e[0x0]&&_0x3f1d9e[_0x1a4e('0x66')](0x0),_0x2b0ead=new _0x3a908f(_0x3f1d9e);}if(_0x3a908f[_0x1a4e('0x871')](_0x2b0ead)){var _0x556bd4=_0x2b0ead[_0x1a4e('0x1e')];0x0===_0x2b0ead['length']&&_0x556bd4++;var _0x51b232=new _0x3a908f(_0x556bd4);return _0x2b0ead[_0x1a4e('0xea')](_0x51b232),0x0===_0x2b0ead[_0x1a4e('0x1e')]&&(_0x51b232[0x0]=0x0),this[_0x1a4e('0x8c3')](_0x51b232);}if(_0x2b0ead<0x80)return this['_createEncoderBuffer'](_0x2b0ead);if(_0x2b0ead<0x100)return this[_0x1a4e('0x8c3')]([0x0,_0x2b0ead]);_0x556bd4=0x1;for(var _0x355652=_0x2b0ead;_0x355652>=0x100;_0x355652>>=0x8)_0x556bd4++;for(_0x355652=(_0x51b232=new Array(_0x556bd4))[_0x1a4e('0x1e')]-0x1;_0x355652>=0x0;_0x355652--)_0x51b232[_0x355652]=0xff&_0x2b0ead,_0x2b0ead>>=0x8;return 0x80&_0x51b232[0x0]&&_0x51b232['unshift'](0x0),this[_0x1a4e('0x8c3')](new _0x3a908f(_0x51b232));},_0x508c98[_0x1a4e('0xa')][_0x1a4e('0x8af')]=function(_0x2b0ead){return this[_0x1a4e('0x8c3')](_0x2b0ead?0xff:0x0);},_0x508c98['prototype'][_0x1a4e('0x8c1')]=function(_0x2b0ead,_0x10c9ca){return _0x1a4e('0x68')==typeof _0x2b0ead&&(_0x2b0ead=_0x2b0ead(_0x10c9ca)),_0x2b0ead[_0x1a4e('0x921')](_0x1a4e('0x86c'))[_0x1a4e('0x8f1')];},_0x508c98[_0x1a4e('0xa')][_0x1a4e('0x8c6')]=function(_0x2b0ead,_0x10c9ca,_0x3f1d9e){var _0x556bd4,_0x3a908f=this['_baseState'];if(null===_0x3a908f['default'])return!0x1;var _0x51b232=_0x2b0ead[_0x1a4e('0x9e')]();if(void 0x0===_0x3a908f[_0x1a4e('0x922')]&&(_0x3a908f[_0x1a4e('0x922')]=this[_0x1a4e('0x8c5')](_0x3a908f['default'],_0x10c9ca,_0x3f1d9e)['join']()),_0x51b232['length']!==_0x3a908f[_0x1a4e('0x922')][_0x1a4e('0x1e')])return!0x1;for(_0x556bd4=0x0;_0x556bd4<_0x51b232[_0x1a4e('0x1e')];_0x556bd4++)if(_0x51b232[_0x556bd4]!==_0x3a908f[_0x1a4e('0x922')][_0x556bd4])return!0x1;return!0x0;};},'./node_modules/asn1.js/lib/asn1/encoders/index.js':function(_0x98fcc0,_0x4dbf0f,_0x374751){var _0x167d83=_0x4dbf0f;_0x167d83[_0x1a4e('0x86c')]=_0x374751(_0x1a4e('0x923')),_0x167d83[_0x1a4e('0x924')]=_0x374751(_0x1a4e('0x925'));},'./node_modules/asn1.js/lib/asn1/encoders/pem.js':function(_0x8cae1c,_0x426caf,_0x50e17e){var _0x5be459=_0x50e17e(_0x1a4e('0x863')),_0x3a12cc=_0x50e17e(_0x1a4e('0x923'));function _0x1893be(_0x8cae1c){_0x3a12cc['call'](this,_0x8cae1c),this[_0x1a4e('0x89b')]=_0x1a4e('0x924');}_0x5be459(_0x1893be,_0x3a12cc),_0x8cae1c[_0x1a4e('0x0')]=_0x1893be,_0x1893be[_0x1a4e('0xa')]['encode']=function(_0x8cae1c,_0x426caf){for(var _0x50e17e=_0x3a12cc['prototype'][_0x1a4e('0x86d')][_0x1a4e('0x1')](this,_0x8cae1c)[_0x1a4e('0x95')](_0x1a4e('0x90d')),_0x5be459=[_0x1a4e('0x926')+_0x426caf[_0x1a4e('0x1bc')]+_0x1a4e('0x927')],_0x1893be=0x0;_0x1893be<_0x50e17e[_0x1a4e('0x1e')];_0x1893be+=0x40)_0x5be459['push'](_0x50e17e[_0x1a4e('0x78')](_0x1893be,_0x1893be+0x40));return _0x5be459[_0x1a4e('0x46')](_0x1a4e('0x928')+_0x426caf['label']+'-----'),_0x5be459['join']('\x0a');};},'./node_modules/base64-js/index.js':function(_0x1c2b33,_0x2cbc23,_0x25620f){'use strict';_0x2cbc23['byteLength']=function(_0x1c2b33){var _0x2cbc23=_0x438192(_0x1c2b33),_0x25620f=_0x2cbc23[0x0],_0x4162c3=_0x2cbc23[0x1];return 0x3*(_0x25620f+_0x4162c3)/0x4-_0x4162c3;},_0x2cbc23[_0x1a4e('0x929')]=function(_0x1c2b33){for(var _0x2cbc23,_0x25620f=_0x438192(_0x1c2b33),_0x1d35ae=_0x25620f[0x0],_0x1b2122=_0x25620f[0x1],_0x55e896=new _0x615437(function(_0x1c2b33,_0x2cbc23,_0x25620f){return 0x3*(_0x2cbc23+_0x25620f)/0x4-_0x25620f;}(0x0,_0x1d35ae,_0x1b2122)),_0x1d2ed1=0x0,_0x2ccc24=_0x1b2122>0x0?_0x1d35ae-0x4:_0x1d35ae,_0x467371=0x0;_0x467371<_0x2ccc24;_0x467371+=0x4)_0x2cbc23=_0xafe8c1[_0x1c2b33['charCodeAt'](_0x467371)]<<0x12|_0xafe8c1[_0x1c2b33[_0x1a4e('0x913')](_0x467371+0x1)]<<0xc|_0xafe8c1[_0x1c2b33[_0x1a4e('0x913')](_0x467371+0x2)]<<0x6|_0xafe8c1[_0x1c2b33[_0x1a4e('0x913')](_0x467371+0x3)],_0x55e896[_0x1d2ed1++]=_0x2cbc23>>0x10&0xff,_0x55e896[_0x1d2ed1++]=_0x2cbc23>>0x8&0xff,_0x55e896[_0x1d2ed1++]=0xff&_0x2cbc23;0x2===_0x1b2122&&(_0x2cbc23=_0xafe8c1[_0x1c2b33[_0x1a4e('0x913')](_0x467371)]<<0x2|_0xafe8c1[_0x1c2b33[_0x1a4e('0x913')](_0x467371+0x1)]>>0x4,_0x55e896[_0x1d2ed1++]=0xff&_0x2cbc23);0x1===_0x1b2122&&(_0x2cbc23=_0xafe8c1[_0x1c2b33[_0x1a4e('0x913')](_0x467371)]<<0xa|_0xafe8c1[_0x1c2b33[_0x1a4e('0x913')](_0x467371+0x1)]<<0x4|_0xafe8c1[_0x1c2b33[_0x1a4e('0x913')](_0x467371+0x2)]>>0x2,_0x55e896[_0x1d2ed1++]=_0x2cbc23>>0x8&0xff,_0x55e896[_0x1d2ed1++]=0xff&_0x2cbc23);return _0x55e896;},_0x2cbc23['fromByteArray']=function(_0x1c2b33){for(var _0x2cbc23,_0x25620f=_0x1c2b33[_0x1a4e('0x1e')],_0x3f5815=_0x25620f%0x3,_0x13c43c=[],_0x4fde0b=0x0,_0x53ffab=_0x25620f-_0x3f5815;_0x4fde0b<_0x53ffab;_0x4fde0b+=0x3fff)_0x13c43c[_0x1a4e('0x46')](_0x537813(_0x1c2b33,_0x4fde0b,_0x4fde0b+0x3fff>_0x53ffab?_0x53ffab:_0x4fde0b+0x3fff));0x1===_0x3f5815?(_0x2cbc23=_0x1c2b33[_0x25620f-0x1],_0x13c43c[_0x1a4e('0x46')](_0x390336[_0x2cbc23>>0x2]+_0x390336[_0x2cbc23<<0x4&0x3f]+'==')):0x2===_0x3f5815&&(_0x2cbc23=(_0x1c2b33[_0x25620f-0x2]<<0x8)+_0x1c2b33[_0x25620f-0x1],_0x13c43c[_0x1a4e('0x46')](_0x390336[_0x2cbc23>>0xa]+_0x390336[_0x2cbc23>>0x4&0x3f]+_0x390336[_0x2cbc23<<0x2&0x3f]+'='));return _0x13c43c[_0x1a4e('0x9e')]('');};for(var _0x390336=[],_0xafe8c1=[],_0x615437=_0x1a4e('0x3')!=typeof Uint8Array?Uint8Array:Array,_0x5c1e97='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',_0x19d272=0x0,_0x117f0a=_0x5c1e97['length'];_0x19d272<_0x117f0a;++_0x19d272)_0x390336[_0x19d272]=_0x5c1e97[_0x19d272],_0xafe8c1[_0x5c1e97[_0x1a4e('0x913')](_0x19d272)]=_0x19d272;function _0x438192(_0x1c2b33){var _0x2cbc23=_0x1c2b33[_0x1a4e('0x1e')];if(_0x2cbc23%0x4>0x0)throw new Error(_0x1a4e('0x92a'));var _0x25620f=_0x1c2b33[_0x1a4e('0x3e')]('=');return-0x1===_0x25620f&&(_0x25620f=_0x2cbc23),[_0x25620f,_0x25620f===_0x2cbc23?0x0:0x4-_0x25620f%0x4];}function _0x537813(_0x1c2b33,_0x2cbc23,_0x25620f){for(var _0xafe8c1,_0x615437,_0x5c1e97=[],_0x19d272=_0x2cbc23;_0x19d272<_0x25620f;_0x19d272+=0x3)_0xafe8c1=(_0x1c2b33[_0x19d272]<<0x10&0xff0000)+(_0x1c2b33[_0x19d272+0x1]<<0x8&0xff00)+(0xff&_0x1c2b33[_0x19d272+0x2]),_0x5c1e97[_0x1a4e('0x46')](_0x390336[(_0x615437=_0xafe8c1)>>0x12&0x3f]+_0x390336[_0x615437>>0xc&0x3f]+_0x390336[_0x615437>>0x6&0x3f]+_0x390336[0x3f&_0x615437]);return _0x5c1e97[_0x1a4e('0x9e')]('');}_0xafe8c1['-'['charCodeAt'](0x0)]=0x3e,_0xafe8c1['_'['charCodeAt'](0x0)]=0x3f;},'./node_modules/bezier-js/index.js':function(_0x453ae0,_0x2065d9,_0x5d8761){_0x453ae0[_0x1a4e('0x0')]=_0x5d8761(_0x1a4e('0x92b'));},'./node_modules/bezier-js/lib/bezier.js':function(_0x4f9456,_0x3cd0ca,_0x32efd0){!function(){'use strict';var _0x3cd0ca=Math['abs'],_0x30a59b=Math[_0x1a4e('0x74')],_0x439e1c=Math['max'],_0x5e4893=Math[_0x1a4e('0x90')],_0x27943f=Math[_0x1a4e('0x8f')],_0x9a24e4=Math[_0x1a4e('0x92c')],_0x1311b7=Math[_0x1a4e('0x91')],_0x462c49=Math['PI'],_0x2dd5c8={'x':0x0,'y':0x0,'z':0x0},_0x38d869=_0x32efd0(_0x1a4e('0x92d')),_0x1c671d=_0x32efd0(_0x1a4e('0x92e')),_0x38d359=function(_0x4f9456){var _0x32efd0=_0x4f9456&&_0x4f9456['forEach']?_0x4f9456:[][_0x1a4e('0x78')][_0x1a4e('0x1')](arguments),_0x30a59b=!0x1;if(_0x1a4e('0x85')==typeof _0x32efd0[0x0]){_0x30a59b=_0x32efd0[_0x1a4e('0x1e')];var _0x439e1c=[];_0x32efd0[_0x1a4e('0x3b')](function(_0x4f9456){['x','y','z'][_0x1a4e('0x3b')](function(_0x3cd0ca){void 0x0!==_0x4f9456[_0x3cd0ca]&&_0x439e1c['push'](_0x4f9456[_0x3cd0ca]);});}),_0x32efd0=_0x439e1c;}var _0x5e4893=!0x1,_0x27943f=_0x32efd0[_0x1a4e('0x1e')];if(_0x30a59b){if(_0x30a59b>0x4){if(0x1!==arguments[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0x92f'));_0x5e4893=!0x0;}}else if(0x6!==_0x27943f&&0x8!==_0x27943f&&0x9!==_0x27943f&&0xc!==_0x27943f&&0x1!==arguments[_0x1a4e('0x1e')])throw new Error('Only\x20new\x20Bezier(point[])\x20is\x20accepted\x20for\x204th\x20and\x20higher\x20order\x20curves');var _0x9a24e4=!_0x5e4893&&(0x9===_0x27943f||0xc===_0x27943f)||_0x4f9456&&_0x4f9456[0x0]&&void 0x0!==_0x4f9456[0x0]['z'];this[_0x1a4e('0x930')]=_0x9a24e4;for(var _0x1311b7=[],_0x462c49=0x0,_0x2dd5c8=_0x9a24e4?0x3:0x2;_0x462c49<_0x27943f;_0x462c49+=_0x2dd5c8){var _0x1c671d={'x':_0x32efd0[_0x462c49],'y':_0x32efd0[_0x462c49+0x1]};_0x9a24e4&&(_0x1c671d['z']=_0x32efd0[_0x462c49+0x2]),_0x1311b7['push'](_0x1c671d);}this['order']=_0x1311b7[_0x1a4e('0x1e')]-0x1,this[_0x1a4e('0x17d')]=_0x1311b7;var _0x38d359=['x','y'];_0x9a24e4&&_0x38d359[_0x1a4e('0x46')]('z'),this[_0x1a4e('0x931')]=_0x38d359,this[_0x1a4e('0x932')]=_0x38d359[_0x1a4e('0x1e')],function(_0x4f9456){for(var _0x32efd0=_0x4f9456[_0x1a4e('0x933')],_0x30a59b=_0x4f9456[_0x1a4e('0x17d')],_0x439e1c=_0x38d869[_0x1a4e('0x934')](_0x30a59b,{'p1':_0x30a59b[0x0],'p2':_0x30a59b[_0x32efd0]}),_0x5e4893=0x0;_0x5e4893<_0x439e1c[_0x1a4e('0x1e')];_0x5e4893++)if(_0x3cd0ca(_0x439e1c[_0x5e4893]['y'])>0.0001)return void(_0x4f9456[_0x1a4e('0x935')]=!0x1);_0x4f9456[_0x1a4e('0x935')]=!0x0;}(this),this[_0x1a4e('0x936')]=0x0,this['_t2']=0x1,this[_0x1a4e('0x937')]();},_0x1f2ed1=_0x32efd0(_0x1a4e('0x938'));function _0xbc7e1f(_0x4f9456,_0x3cd0ca,_0x32efd0,_0x30a59b,_0x439e1c){void 0x0===_0x439e1c&&(_0x439e1c=0.5);var _0x5e4893=_0x38d869['projectionratio'](_0x439e1c,_0x4f9456),_0x27943f=0x1-_0x5e4893,_0x9a24e4={'x':_0x5e4893*_0x3cd0ca['x']+_0x27943f*_0x30a59b['x'],'y':_0x5e4893*_0x3cd0ca['y']+_0x27943f*_0x30a59b['y']},_0x1311b7=_0x38d869[_0x1a4e('0x939')](_0x439e1c,_0x4f9456);return{'A':{'x':_0x32efd0['x']+(_0x32efd0['x']-_0x9a24e4['x'])/_0x1311b7,'y':_0x32efd0['y']+(_0x32efd0['y']-_0x9a24e4['y'])/_0x1311b7},'B':_0x32efd0,'C':_0x9a24e4};}_0x38d359[_0x1a4e('0x93a')]=function(_0x4f9456){return _0x1f2ed1(_0x38d359,_0x4f9456);},_0x38d359[_0x1a4e('0x93b')]=function(_0x4f9456,_0x3cd0ca,_0x32efd0,_0x30a59b){if(void 0x0===_0x30a59b&&(_0x30a59b=0.5),0x0===_0x30a59b)return new _0x38d359(_0x3cd0ca,_0x3cd0ca,_0x32efd0);if(0x1===_0x30a59b)return new _0x38d359(_0x4f9456,_0x3cd0ca,_0x3cd0ca);var _0x439e1c=_0xbc7e1f(0x2,_0x4f9456,_0x3cd0ca,_0x32efd0,_0x30a59b);return new _0x38d359(_0x4f9456,_0x439e1c['A'],_0x32efd0);},_0x38d359[_0x1a4e('0x93c')]=function(_0x4f9456,_0x3cd0ca,_0x32efd0,_0x30a59b,_0x439e1c){void 0x0===_0x30a59b&&(_0x30a59b=0.5);var _0x5e4893=_0xbc7e1f(0x3,_0x4f9456,_0x3cd0ca,_0x32efd0,_0x30a59b);void 0x0===_0x439e1c&&(_0x439e1c=_0x38d869[_0x1a4e('0x81')](_0x3cd0ca,_0x5e4893['C']));var _0x27943f=_0x439e1c*(0x1-_0x30a59b)/_0x30a59b,_0x9a24e4=_0x38d869[_0x1a4e('0x81')](_0x4f9456,_0x32efd0),_0x1311b7=(_0x32efd0['x']-_0x4f9456['x'])/_0x9a24e4,_0x462c49=(_0x32efd0['y']-_0x4f9456['y'])/_0x9a24e4,_0x2dd5c8=_0x439e1c*_0x1311b7,_0x1c671d=_0x439e1c*_0x462c49,_0x1f2ed1=_0x27943f*_0x1311b7,_0x42ce97=_0x27943f*_0x462c49,_0x282825=_0x3cd0ca['x']-_0x2dd5c8,_0xa65370=_0x3cd0ca['y']-_0x1c671d,_0xfacef0=_0x3cd0ca['x']+_0x1f2ed1,_0x3190f1=_0x3cd0ca['y']+_0x42ce97,_0x32fd1e=_0x5e4893['A'],_0x33a707=_0x32fd1e['x']+(_0x282825-_0x32fd1e['x'])/(0x1-_0x30a59b),_0x6f5afd=_0x32fd1e['y']+(_0xa65370-_0x32fd1e['y'])/(0x1-_0x30a59b),_0x3eaeeb=_0x32fd1e['x']+(_0xfacef0-_0x32fd1e['x'])/_0x30a59b,_0x144a50=_0x32fd1e['y']+(_0x3190f1-_0x32fd1e['y'])/_0x30a59b,_0x17fa60={'x':_0x4f9456['x']+(_0x33a707-_0x4f9456['x'])/_0x30a59b,'y':_0x4f9456['y']+(_0x6f5afd-_0x4f9456['y'])/_0x30a59b},_0x2e40bf={'x':_0x32efd0['x']+(_0x3eaeeb-_0x32efd0['x'])/(0x1-_0x30a59b),'y':_0x32efd0['y']+(_0x144a50-_0x32efd0['y'])/(0x1-_0x30a59b)};return new _0x38d359(_0x4f9456,_0x17fa60,_0x2e40bf,_0x32efd0);};var _0x5c4e33=function(){return _0x38d869;};_0x38d359[_0x1a4e('0x93d')]=_0x5c4e33,_0x38d359[_0x1a4e('0x93e')]=_0x1c671d,_0x38d359[_0x1a4e('0xa')]={'getUtils':_0x5c4e33,'valueOf':function(){return this[_0x1a4e('0x95')]();},'toString':function(){return _0x38d869['pointsToString'](this[_0x1a4e('0x17d')]);},'toSVG':function(_0x4f9456){if(this[_0x1a4e('0x930')])return!0x1;for(var _0x3cd0ca=this[_0x1a4e('0x17d')],_0x32efd0=['M',_0x3cd0ca[0x0]['x'],_0x3cd0ca[0x0]['y'],0x2===this[_0x1a4e('0x933')]?'Q':'C'],_0x30a59b=0x1,_0x439e1c=_0x3cd0ca[_0x1a4e('0x1e')];_0x30a59b<_0x439e1c;_0x30a59b++)_0x32efd0[_0x1a4e('0x46')](_0x3cd0ca[_0x30a59b]['x']),_0x32efd0[_0x1a4e('0x46')](_0x3cd0ca[_0x30a59b]['y']);return _0x32efd0[_0x1a4e('0x9e')]('\x20');},'update':function(){this[_0x1a4e('0x93f')]=[],this[_0x1a4e('0x940')]=_0x38d869[_0x1a4e('0x941')](this[_0x1a4e('0x17d')],this['_3d']),this[_0x1a4e('0x942')]();},'computedirection':function(){var _0x4f9456=this[_0x1a4e('0x17d')],_0x3cd0ca=_0x38d869[_0x1a4e('0x502')](_0x4f9456[0x0],_0x4f9456[this[_0x1a4e('0x933')]],_0x4f9456[0x1]);this[_0x1a4e('0x943')]=_0x3cd0ca>0x0;},'length':function(){return _0x38d869[_0x1a4e('0x1e')](this[_0x1a4e('0x944')][_0x1a4e('0x945')](this));},'_lut':[],'getLUT':function(_0x4f9456){if(_0x4f9456=_0x4f9456||0x64,this[_0x1a4e('0x93f')]['length']===_0x4f9456)return this[_0x1a4e('0x93f')];this['_lut']=[],_0x4f9456--;for(var _0x3cd0ca=0x0;_0x3cd0ca<=_0x4f9456;_0x3cd0ca++)this['_lut'][_0x1a4e('0x46')](this[_0x1a4e('0x684')](_0x3cd0ca/_0x4f9456));return this[_0x1a4e('0x93f')];},'on':function(_0x4f9456,_0x3cd0ca){_0x3cd0ca=_0x3cd0ca||0x5;for(var _0x32efd0,_0x30a59b=this[_0x1a4e('0x946')](),_0x439e1c=[],_0x5e4893=0x0,_0x27943f=0x0;_0x27943f<_0x30a59b[_0x1a4e('0x1e')];_0x27943f++)_0x32efd0=_0x30a59b[_0x27943f],_0x38d869[_0x1a4e('0x81')](_0x32efd0,_0x4f9456)<_0x3cd0ca&&(_0x439e1c['push'](_0x32efd0),_0x5e4893+=_0x27943f/_0x30a59b[_0x1a4e('0x1e')]);return!!_0x439e1c[_0x1a4e('0x1e')]&&_0x5e4893/_0x439e1c['length'];},'project':function(_0x4f9456){var _0x3cd0ca=this[_0x1a4e('0x946')](),_0x32efd0=_0x3cd0ca[_0x1a4e('0x1e')]-0x1,_0x30a59b=_0x38d869[_0x1a4e('0x21f')](_0x3cd0ca,_0x4f9456),_0x439e1c=_0x30a59b[_0x1a4e('0x947')],_0x5e4893=_0x30a59b[_0x1a4e('0x948')];if(0x0===_0x5e4893||_0x5e4893===_0x32efd0){var _0x27943f=_0x5e4893/_0x32efd0,_0x9a24e4=this[_0x1a4e('0x684')](_0x27943f);return _0x9a24e4['t']=_0x27943f,_0x9a24e4['d']=_0x439e1c,_0x9a24e4;}var _0x1311b7,_0x462c49,_0x2dd5c8,_0x1c671d=(_0x5e4893+0x1)/_0x32efd0,_0x38d359=0.1/_0x32efd0;for(_0x439e1c+=0x1,_0x1311b7=_0x27943f=(_0x5e4893-0x1)/_0x32efd0;_0x27943f<_0x1c671d+_0x38d359;_0x27943f+=_0x38d359)_0x462c49=this[_0x1a4e('0x684')](_0x27943f),(_0x2dd5c8=_0x38d869[_0x1a4e('0x81')](_0x4f9456,_0x462c49))<_0x439e1c&&(_0x439e1c=_0x2dd5c8,_0x1311b7=_0x27943f);return(_0x462c49=this[_0x1a4e('0x684')](_0x1311b7))['t']=_0x1311b7,_0x462c49['d']=_0x439e1c,_0x462c49;},'get':function(_0x4f9456){return this['compute'](_0x4f9456);},'point':function(_0x4f9456){return this[_0x1a4e('0x17d')][_0x4f9456];},'compute':function(_0x4f9456){return _0x38d869[_0x1a4e('0x684')](_0x4f9456,this['points'],this[_0x1a4e('0x930')]);},'raise':function(){for(var _0x4f9456,_0x3cd0ca,_0x32efd0=this[_0x1a4e('0x17d')],_0x30a59b=[_0x32efd0[0x0]],_0x439e1c=_0x32efd0[_0x1a4e('0x1e')],_0x5e4893=0x1;_0x5e4893<_0x439e1c;_0x5e4893++)_0x4f9456=_0x32efd0[_0x5e4893],_0x3cd0ca=_0x32efd0[_0x5e4893-0x1],_0x30a59b[_0x5e4893]={'x':(_0x439e1c-_0x5e4893)/_0x439e1c*_0x4f9456['x']+_0x5e4893/_0x439e1c*_0x3cd0ca['x'],'y':(_0x439e1c-_0x5e4893)/_0x439e1c*_0x4f9456['y']+_0x5e4893/_0x439e1c*_0x3cd0ca['y']};return _0x30a59b[_0x439e1c]=_0x32efd0[_0x439e1c-0x1],new _0x38d359(_0x30a59b);},'derivative':function(_0x4f9456){var _0x3cd0ca,_0x32efd0,_0x30a59b=0x1-_0x4f9456,_0x439e1c=0x0,_0x5e4893=this[_0x1a4e('0x940')][0x0];0x2===this[_0x1a4e('0x933')]&&(_0x5e4893=[_0x5e4893[0x0],_0x5e4893[0x1],_0x2dd5c8],_0x3cd0ca=_0x30a59b,_0x32efd0=_0x4f9456),0x3===this[_0x1a4e('0x933')]&&(_0x3cd0ca=_0x30a59b*_0x30a59b,_0x32efd0=_0x30a59b*_0x4f9456*0x2,_0x439e1c=_0x4f9456*_0x4f9456);var _0x27943f={'x':_0x3cd0ca*_0x5e4893[0x0]['x']+_0x32efd0*_0x5e4893[0x1]['x']+_0x439e1c*_0x5e4893[0x2]['x'],'y':_0x3cd0ca*_0x5e4893[0x0]['y']+_0x32efd0*_0x5e4893[0x1]['y']+_0x439e1c*_0x5e4893[0x2]['y']};return this[_0x1a4e('0x930')]&&(_0x27943f['z']=_0x3cd0ca*_0x5e4893[0x0]['z']+_0x32efd0*_0x5e4893[0x1]['z']+_0x439e1c*_0x5e4893[0x2]['z']),_0x27943f;},'curvature':function(_0x4f9456){return _0x38d869[_0x1a4e('0x949')](_0x4f9456,this[_0x1a4e('0x17d')],this[_0x1a4e('0x930')]);},'inflections':function(){return _0x38d869[_0x1a4e('0x94a')](this['points']);},'normal':function(_0x4f9456){return this[_0x1a4e('0x930')]?this['__normal3'](_0x4f9456):this[_0x1a4e('0x94b')](_0x4f9456);},'__normal2':function(_0x4f9456){var _0x3cd0ca=this['derivative'](_0x4f9456),_0x32efd0=_0x1311b7(_0x3cd0ca['x']*_0x3cd0ca['x']+_0x3cd0ca['y']*_0x3cd0ca['y']);return{'x':-_0x3cd0ca['y']/_0x32efd0,'y':_0x3cd0ca['x']/_0x32efd0};},'__normal3':function(_0x4f9456){var _0x3cd0ca=this[_0x1a4e('0x944')](_0x4f9456),_0x32efd0=this[_0x1a4e('0x944')](_0x4f9456+0.01),_0x30a59b=_0x1311b7(_0x3cd0ca['x']*_0x3cd0ca['x']+_0x3cd0ca['y']*_0x3cd0ca['y']+_0x3cd0ca['z']*_0x3cd0ca['z']),_0x439e1c=_0x1311b7(_0x32efd0['x']*_0x32efd0['x']+_0x32efd0['y']*_0x32efd0['y']+_0x32efd0['z']*_0x32efd0['z']);_0x3cd0ca['x']/=_0x30a59b,_0x3cd0ca['y']/=_0x30a59b,_0x3cd0ca['z']/=_0x30a59b,_0x32efd0['x']/=_0x439e1c,_0x32efd0['y']/=_0x439e1c,_0x32efd0['z']/=_0x439e1c;var _0x5e4893={'x':_0x32efd0['y']*_0x3cd0ca['z']-_0x32efd0['z']*_0x3cd0ca['y'],'y':_0x32efd0['z']*_0x3cd0ca['x']-_0x32efd0['x']*_0x3cd0ca['z'],'z':_0x32efd0['x']*_0x3cd0ca['y']-_0x32efd0['y']*_0x3cd0ca['x']},_0x27943f=_0x1311b7(_0x5e4893['x']*_0x5e4893['x']+_0x5e4893['y']*_0x5e4893['y']+_0x5e4893['z']*_0x5e4893['z']);_0x5e4893['x']/=_0x27943f,_0x5e4893['y']/=_0x27943f,_0x5e4893['z']/=_0x27943f;var _0x9a24e4=[_0x5e4893['x']*_0x5e4893['x'],_0x5e4893['x']*_0x5e4893['y']-_0x5e4893['z'],_0x5e4893['x']*_0x5e4893['z']+_0x5e4893['y'],_0x5e4893['x']*_0x5e4893['y']+_0x5e4893['z'],_0x5e4893['y']*_0x5e4893['y'],_0x5e4893['y']*_0x5e4893['z']-_0x5e4893['x'],_0x5e4893['x']*_0x5e4893['z']-_0x5e4893['y'],_0x5e4893['y']*_0x5e4893['z']+_0x5e4893['x'],_0x5e4893['z']*_0x5e4893['z']];return{'x':_0x9a24e4[0x0]*_0x3cd0ca['x']+_0x9a24e4[0x1]*_0x3cd0ca['y']+_0x9a24e4[0x2]*_0x3cd0ca['z'],'y':_0x9a24e4[0x3]*_0x3cd0ca['x']+_0x9a24e4[0x4]*_0x3cd0ca['y']+_0x9a24e4[0x5]*_0x3cd0ca['z'],'z':_0x9a24e4[0x6]*_0x3cd0ca['x']+_0x9a24e4[0x7]*_0x3cd0ca['y']+_0x9a24e4[0x8]*_0x3cd0ca['z']};},'hull':function(_0x4f9456){var _0x3cd0ca,_0x32efd0=this[_0x1a4e('0x17d')],_0x30a59b=[],_0x439e1c=[],_0x5e4893=0x0,_0x27943f=0x0,_0x9a24e4=0x0;for(_0x439e1c[_0x5e4893++]=_0x32efd0[0x0],_0x439e1c[_0x5e4893++]=_0x32efd0[0x1],_0x439e1c[_0x5e4893++]=_0x32efd0[0x2],0x3===this[_0x1a4e('0x933')]&&(_0x439e1c[_0x5e4893++]=_0x32efd0[0x3]);_0x32efd0[_0x1a4e('0x1e')]>0x1;){for(_0x30a59b=[],_0x27943f=0x0,_0x9a24e4=_0x32efd0[_0x1a4e('0x1e')]-0x1;_0x27943f<_0x9a24e4;_0x27943f++)_0x3cd0ca=_0x38d869[_0x1a4e('0x94c')](_0x4f9456,_0x32efd0[_0x27943f],_0x32efd0[_0x27943f+0x1]),_0x439e1c[_0x5e4893++]=_0x3cd0ca,_0x30a59b[_0x1a4e('0x46')](_0x3cd0ca);_0x32efd0=_0x30a59b;}return _0x439e1c;},'split':function(_0x4f9456,_0x3cd0ca){if(0x0===_0x4f9456&&_0x3cd0ca)return this[_0x1a4e('0x2be')](_0x3cd0ca)[_0x1a4e('0x5f')];if(0x1===_0x3cd0ca)return this[_0x1a4e('0x2be')](_0x4f9456)['right'];var _0x32efd0=this['hull'](_0x4f9456),_0x30a59b={'left':0x2===this[_0x1a4e('0x933')]?new _0x38d359([_0x32efd0[0x0],_0x32efd0[0x3],_0x32efd0[0x5]]):new _0x38d359([_0x32efd0[0x0],_0x32efd0[0x4],_0x32efd0[0x7],_0x32efd0[0x9]]),'right':0x2===this[_0x1a4e('0x933')]?new _0x38d359([_0x32efd0[0x5],_0x32efd0[0x4],_0x32efd0[0x2]]):new _0x38d359([_0x32efd0[0x9],_0x32efd0[0x8],_0x32efd0[0x6],_0x32efd0[0x3]]),'span':_0x32efd0};return _0x30a59b['left'][_0x1a4e('0x936')]=_0x38d869[_0x1a4e('0x21')](0x0,0x0,0x1,this['_t1'],this[_0x1a4e('0x94d')]),_0x30a59b['left'][_0x1a4e('0x94d')]=_0x38d869[_0x1a4e('0x21')](_0x4f9456,0x0,0x1,this[_0x1a4e('0x936')],this[_0x1a4e('0x94d')]),_0x30a59b[_0x1a4e('0x5d')][_0x1a4e('0x936')]=_0x38d869['map'](_0x4f9456,0x0,0x1,this[_0x1a4e('0x936')],this['_t2']),_0x30a59b[_0x1a4e('0x5d')][_0x1a4e('0x94d')]=_0x38d869['map'](0x1,0x0,0x1,this[_0x1a4e('0x936')],this[_0x1a4e('0x94d')]),_0x3cd0ca?(_0x3cd0ca=_0x38d869[_0x1a4e('0x21')](_0x3cd0ca,_0x4f9456,0x1,0x0,0x1),_0x30a59b[_0x1a4e('0x5d')][_0x1a4e('0x2be')](_0x3cd0ca)[_0x1a4e('0x5f')]):_0x30a59b;},'extrema':function(){var _0x4f9456,_0x3cd0ca,_0x32efd0=this[_0x1a4e('0x931')],_0x30a59b={},_0x439e1c=[];return _0x32efd0[_0x1a4e('0x3b')](function(_0x32efd0){_0x3cd0ca=function(_0x4f9456){return _0x4f9456[_0x32efd0];},_0x4f9456=this[_0x1a4e('0x940')][0x0]['map'](_0x3cd0ca),_0x30a59b[_0x32efd0]=_0x38d869[_0x1a4e('0x94e')](_0x4f9456),0x3===this[_0x1a4e('0x933')]&&(_0x4f9456=this[_0x1a4e('0x940')][0x1][_0x1a4e('0x21')](_0x3cd0ca),_0x30a59b[_0x32efd0]=_0x30a59b[_0x32efd0]['concat'](_0x38d869[_0x1a4e('0x94e')](_0x4f9456))),_0x30a59b[_0x32efd0]=_0x30a59b[_0x32efd0][_0x1a4e('0xd9')](function(_0x4f9456){return _0x4f9456>=0x0&&_0x4f9456<=0x1;}),_0x439e1c=_0x439e1c[_0x1a4e('0x9a')](_0x30a59b[_0x32efd0][_0x1a4e('0x89')](_0x38d869[_0x1a4e('0x94f')]));}['bind'](this)),_0x439e1c=_0x439e1c[_0x1a4e('0x89')](_0x38d869['numberSort'])['filter'](function(_0x4f9456,_0x3cd0ca){return _0x439e1c['indexOf'](_0x4f9456)===_0x3cd0ca;}),_0x30a59b[_0x1a4e('0x35b')]=_0x439e1c,_0x30a59b;},'bbox':function(){var _0x4f9456=this['extrema'](),_0x3cd0ca={};return this[_0x1a4e('0x931')][_0x1a4e('0x3b')](function(_0x32efd0){_0x3cd0ca[_0x32efd0]=_0x38d869['getminmax'](this,_0x32efd0,_0x4f9456[_0x32efd0]);}[_0x1a4e('0x945')](this)),_0x3cd0ca;},'overlaps':function(_0x4f9456){var _0x3cd0ca=this['bbox'](),_0x32efd0=_0x4f9456['bbox']();return _0x38d869[_0x1a4e('0x950')](_0x3cd0ca,_0x32efd0);},'offset':function(_0x4f9456,_0x3cd0ca){if(void 0x0!==_0x3cd0ca){var _0x32efd0=this[_0x1a4e('0x179')](_0x4f9456),_0x30a59b=this['normal'](_0x4f9456),_0x439e1c={'c':_0x32efd0,'n':_0x30a59b,'x':_0x32efd0['x']+_0x30a59b['x']*_0x3cd0ca,'y':_0x32efd0['y']+_0x30a59b['y']*_0x3cd0ca};return this[_0x1a4e('0x930')]&&(_0x439e1c['z']=_0x32efd0['z']+_0x30a59b['z']*_0x3cd0ca),_0x439e1c;}if(this[_0x1a4e('0x935')]){var _0x5e4893=this['normal'](0x0),_0x27943f=this[_0x1a4e('0x17d')]['map'](function(_0x3cd0ca){var _0x32efd0={'x':_0x3cd0ca['x']+_0x4f9456*_0x5e4893['x'],'y':_0x3cd0ca['y']+_0x4f9456*_0x5e4893['y']};return _0x3cd0ca['z']&&_0x30a59b['z']&&(_0x32efd0['z']=_0x3cd0ca['z']+_0x4f9456*_0x5e4893['z']),_0x32efd0;});return[new _0x38d359(_0x27943f)];}return this['reduce']()[_0x1a4e('0x21')](function(_0x3cd0ca){return _0x3cd0ca[_0x1a4e('0x143')](_0x4f9456);});},'simple':function(){if(0x3===this[_0x1a4e('0x933')]){var _0x4f9456=_0x38d869[_0x1a4e('0x502')](this[_0x1a4e('0x17d')][0x0],this[_0x1a4e('0x17d')][0x3],this[_0x1a4e('0x17d')][0x1]),_0x32efd0=_0x38d869[_0x1a4e('0x502')](this[_0x1a4e('0x17d')][0x0],this['points'][0x3],this[_0x1a4e('0x17d')][0x2]);if(_0x4f9456>0x0&&_0x32efd0<0x0||_0x4f9456<0x0&&_0x32efd0>0x0)return!0x1;}var _0x30a59b=this['normal'](0x0),_0x439e1c=this[_0x1a4e('0x951')](0x1),_0x5e4893=_0x30a59b['x']*_0x439e1c['x']+_0x30a59b['y']*_0x439e1c['y'];return this[_0x1a4e('0x930')]&&(_0x5e4893+=_0x30a59b['z']*_0x439e1c['z']),_0x3cd0ca(_0x9a24e4(_0x5e4893))<_0x462c49/0x3;},'reduce':function(){var _0x4f9456,_0x32efd0,_0x30a59b=0x0,_0x439e1c=0x0,_0x5e4893=[],_0x27943f=[],_0x9a24e4=this[_0x1a4e('0x952')]()[_0x1a4e('0x35b')];for(-0x1===_0x9a24e4[_0x1a4e('0x3e')](0x0)&&(_0x9a24e4=[0x0][_0x1a4e('0x9a')](_0x9a24e4)),-0x1===_0x9a24e4['indexOf'](0x1)&&_0x9a24e4[_0x1a4e('0x46')](0x1),_0x30a59b=_0x9a24e4[0x0],_0x4f9456=0x1;_0x4f9456<_0x9a24e4['length'];_0x4f9456++)_0x439e1c=_0x9a24e4[_0x4f9456],(_0x32efd0=this['split'](_0x30a59b,_0x439e1c))[_0x1a4e('0x936')]=_0x30a59b,_0x32efd0[_0x1a4e('0x94d')]=_0x439e1c,_0x5e4893['push'](_0x32efd0),_0x30a59b=_0x439e1c;return _0x5e4893['forEach'](function(_0x4f9456){for(_0x30a59b=0x0,_0x439e1c=0x0;_0x439e1c<=0x1;)for(_0x439e1c=_0x30a59b+0.01;_0x439e1c<=1.01;_0x439e1c+=0.01)if(!(_0x32efd0=_0x4f9456['split'](_0x30a59b,_0x439e1c))[_0x1a4e('0x953')]()){if(_0x3cd0ca(_0x30a59b-(_0x439e1c-=0.01))<0.01)return[];(_0x32efd0=_0x4f9456['split'](_0x30a59b,_0x439e1c))[_0x1a4e('0x936')]=_0x38d869['map'](_0x30a59b,0x0,0x1,_0x4f9456[_0x1a4e('0x936')],_0x4f9456['_t2']),_0x32efd0[_0x1a4e('0x94d')]=_0x38d869[_0x1a4e('0x21')](_0x439e1c,0x0,0x1,_0x4f9456[_0x1a4e('0x936')],_0x4f9456[_0x1a4e('0x94d')]),_0x27943f[_0x1a4e('0x46')](_0x32efd0),_0x30a59b=_0x439e1c;break;}_0x30a59b<0x1&&((_0x32efd0=_0x4f9456['split'](_0x30a59b,0x1))['_t1']=_0x38d869[_0x1a4e('0x21')](_0x30a59b,0x0,0x1,_0x4f9456[_0x1a4e('0x936')],_0x4f9456[_0x1a4e('0x94d')]),_0x32efd0[_0x1a4e('0x94d')]=_0x4f9456[_0x1a4e('0x94d')],_0x27943f[_0x1a4e('0x46')](_0x32efd0));}),_0x27943f;},'scale':function(_0x4f9456){var _0x3cd0ca=this[_0x1a4e('0x933')],_0x32efd0=!0x1;if('function'==typeof _0x4f9456&&(_0x32efd0=_0x4f9456),_0x32efd0&&0x2===_0x3cd0ca)return this[_0x1a4e('0x954')]()['scale'](_0x32efd0);var _0x30a59b=this[_0x1a4e('0x943')],_0x439e1c=_0x32efd0?_0x32efd0(0x0):_0x4f9456,_0x5e4893=_0x32efd0?_0x32efd0(0x1):_0x4f9456,_0x27943f=[this[_0x1a4e('0x1af')](0x0,0xa),this[_0x1a4e('0x1af')](0x1,0xa)],_0x9a24e4=_0x38d869[_0x1a4e('0x955')](_0x27943f[0x0],_0x27943f[0x0]['c'],_0x27943f[0x1],_0x27943f[0x1]['c']);if(!_0x9a24e4)throw new Error(_0x1a4e('0x956'));var _0x462c49=this['points'],_0x2dd5c8=[];return[0x0,0x1][_0x1a4e('0x3b')](function(_0x4f9456){var _0x32efd0=_0x2dd5c8[_0x4f9456*_0x3cd0ca]=_0x38d869[_0x1a4e('0xea')](_0x462c49[_0x4f9456*_0x3cd0ca]);_0x32efd0['x']+=(_0x4f9456?_0x5e4893:_0x439e1c)*_0x27943f[_0x4f9456]['n']['x'],_0x32efd0['y']+=(_0x4f9456?_0x5e4893:_0x439e1c)*_0x27943f[_0x4f9456]['n']['y'];}[_0x1a4e('0x945')](this)),_0x32efd0?([0x0,0x1][_0x1a4e('0x3b')](function(_0x439e1c){if(0x2!==this[_0x1a4e('0x933')]||!_0x439e1c){var _0x5e4893=_0x462c49[_0x439e1c+0x1],_0x27943f={'x':_0x5e4893['x']-_0x9a24e4['x'],'y':_0x5e4893['y']-_0x9a24e4['y']},_0x38d869=_0x32efd0?_0x32efd0((_0x439e1c+0x1)/_0x3cd0ca):_0x4f9456;_0x32efd0&&!_0x30a59b&&(_0x38d869=-_0x38d869);var _0x1c671d=_0x1311b7(_0x27943f['x']*_0x27943f['x']+_0x27943f['y']*_0x27943f['y']);_0x27943f['x']/=_0x1c671d,_0x27943f['y']/=_0x1c671d,_0x2dd5c8[_0x439e1c+0x1]={'x':_0x5e4893['x']+_0x38d869*_0x27943f['x'],'y':_0x5e4893['y']+_0x38d869*_0x27943f['y']};}}[_0x1a4e('0x945')](this)),new _0x38d359(_0x2dd5c8)):([0x0,0x1]['forEach'](function(_0x4f9456){if(0x2!==this[_0x1a4e('0x933')]||!_0x4f9456){var _0x32efd0=_0x2dd5c8[_0x4f9456*_0x3cd0ca],_0x30a59b=this['derivative'](_0x4f9456),_0x439e1c={'x':_0x32efd0['x']+_0x30a59b['x'],'y':_0x32efd0['y']+_0x30a59b['y']};_0x2dd5c8[_0x4f9456+0x1]=_0x38d869[_0x1a4e('0x955')](_0x32efd0,_0x439e1c,_0x9a24e4,_0x462c49[_0x4f9456+0x1]);}}[_0x1a4e('0x945')](this)),new _0x38d359(_0x2dd5c8));},'outline':function(_0x4f9456,_0x3cd0ca,_0x32efd0,_0x30a59b){_0x3cd0ca=void 0x0===_0x3cd0ca?_0x4f9456:_0x3cd0ca;var _0x439e1c,_0x5e4893=this[_0x1a4e('0xbb')](),_0x27943f=_0x5e4893['length'],_0x9a24e4=[],_0x1311b7=[],_0x462c49=0x0,_0x2dd5c8=this['length'](),_0x38d359=void 0x0!==_0x32efd0&&void 0x0!==_0x30a59b;function _0x1f2ed1(_0x4f9456,_0x3cd0ca,_0x32efd0,_0x30a59b,_0x439e1c){return function(_0x5e4893){var _0x27943f=_0x30a59b/_0x32efd0,_0x9a24e4=(_0x30a59b+_0x439e1c)/_0x32efd0,_0x1311b7=_0x3cd0ca-_0x4f9456;return _0x38d869[_0x1a4e('0x21')](_0x5e4893,0x0,0x1,_0x4f9456+_0x27943f*_0x1311b7,_0x4f9456+_0x9a24e4*_0x1311b7);};}_0x5e4893[_0x1a4e('0x3b')](function(_0x439e1c){_0x5effdf=_0x439e1c['length'](),_0x38d359?(_0x9a24e4[_0x1a4e('0x46')](_0x439e1c[_0x1a4e('0x143')](_0x1f2ed1(_0x4f9456,_0x32efd0,_0x2dd5c8,_0x462c49,_0x5effdf))),_0x1311b7[_0x1a4e('0x46')](_0x439e1c[_0x1a4e('0x143')](_0x1f2ed1(-_0x3cd0ca,-_0x30a59b,_0x2dd5c8,_0x462c49,_0x5effdf)))):(_0x9a24e4[_0x1a4e('0x46')](_0x439e1c[_0x1a4e('0x143')](_0x4f9456)),_0x1311b7[_0x1a4e('0x46')](_0x439e1c[_0x1a4e('0x143')](-_0x3cd0ca))),_0x462c49+=_0x5effdf;}),_0x1311b7=_0x1311b7[_0x1a4e('0x21')](function(_0x4f9456){return(_0x439e1c=_0x4f9456[_0x1a4e('0x17d')])[0x3]?_0x4f9456[_0x1a4e('0x17d')]=[_0x439e1c[0x3],_0x439e1c[0x2],_0x439e1c[0x1],_0x439e1c[0x0]]:_0x4f9456[_0x1a4e('0x17d')]=[_0x439e1c[0x2],_0x439e1c[0x1],_0x439e1c[0x0]],_0x4f9456;})[_0x1a4e('0x9b')]();var _0xbc7e1f=_0x9a24e4[0x0][_0x1a4e('0x17d')][0x0],_0x5c4e33=_0x9a24e4[_0x27943f-0x1][_0x1a4e('0x17d')][_0x9a24e4[_0x27943f-0x1]['points'][_0x1a4e('0x1e')]-0x1],_0x2c2a02=_0x1311b7[_0x27943f-0x1][_0x1a4e('0x17d')][_0x1311b7[_0x27943f-0x1][_0x1a4e('0x17d')][_0x1a4e('0x1e')]-0x1],_0x30518d=_0x1311b7[0x0][_0x1a4e('0x17d')][0x0],_0x2f09a3=_0x38d869['makeline'](_0x2c2a02,_0xbc7e1f),_0x36bea1=_0x38d869[_0x1a4e('0x957')](_0x5c4e33,_0x30518d),_0x5a8ded=[_0x2f09a3][_0x1a4e('0x9a')](_0x9a24e4)[_0x1a4e('0x9a')]([_0x36bea1])[_0x1a4e('0x9a')](_0x1311b7),_0x5effdf=_0x5a8ded[_0x1a4e('0x1e')];return new _0x1c671d(_0x5a8ded);},'outlineshapes':function(_0x4f9456,_0x3cd0ca,_0x32efd0){_0x3cd0ca=_0x3cd0ca||_0x4f9456;for(var _0x30a59b=this['outline'](_0x4f9456,_0x3cd0ca)[_0x1a4e('0x958')],_0x439e1c=[],_0x5e4893=0x1,_0x27943f=_0x30a59b['length'];_0x5e4893<_0x27943f/0x2;_0x5e4893++){var _0x9a24e4=_0x38d869[_0x1a4e('0x959')](_0x30a59b[_0x5e4893],_0x30a59b[_0x27943f-_0x5e4893],_0x32efd0);_0x9a24e4[_0x1a4e('0x95a')][_0x1a4e('0x95b')]=_0x5e4893>0x1,_0x9a24e4[_0x1a4e('0x95c')][_0x1a4e('0x95b')]=_0x5e4893<_0x27943f/0x2-0x1,_0x439e1c[_0x1a4e('0x46')](_0x9a24e4);}return _0x439e1c;},'intersects':function(_0x4f9456,_0x3cd0ca){return _0x4f9456?_0x4f9456['p1']&&_0x4f9456['p2']?this[_0x1a4e('0x95d')](_0x4f9456):(_0x4f9456 instanceof _0x38d359&&(_0x4f9456=_0x4f9456[_0x1a4e('0xbb')]()),this[_0x1a4e('0x95e')](this['reduce'](),_0x4f9456,_0x3cd0ca)):this['selfintersects'](_0x3cd0ca);},'lineIntersects':function(_0x4f9456){var _0x3cd0ca=_0x30a59b(_0x4f9456['p1']['x'],_0x4f9456['p2']['x']),_0x32efd0=_0x30a59b(_0x4f9456['p1']['y'],_0x4f9456['p2']['y']),_0x5e4893=_0x439e1c(_0x4f9456['p1']['x'],_0x4f9456['p2']['x']),_0x27943f=_0x439e1c(_0x4f9456['p1']['y'],_0x4f9456['p2']['y']),_0x9a24e4=this;return _0x38d869[_0x1a4e('0x95f')](this[_0x1a4e('0x17d')],_0x4f9456)[_0x1a4e('0xd9')](function(_0x4f9456){var _0x30a59b=_0x9a24e4[_0x1a4e('0x179')](_0x4f9456);return _0x38d869[_0x1a4e('0x960')](_0x30a59b['x'],_0x3cd0ca,_0x5e4893)&&_0x38d869['between'](_0x30a59b['y'],_0x32efd0,_0x27943f);});},'selfintersects':function(_0x4f9456){var _0x3cd0ca,_0x32efd0,_0x30a59b,_0x439e1c,_0x5e4893=this[_0x1a4e('0xbb')](),_0x27943f=_0x5e4893[_0x1a4e('0x1e')]-0x2,_0x9a24e4=[];for(_0x3cd0ca=0x0;_0x3cd0ca<_0x27943f;_0x3cd0ca++)_0x30a59b=_0x5e4893['slice'](_0x3cd0ca,_0x3cd0ca+0x1),_0x439e1c=_0x5e4893[_0x1a4e('0x78')](_0x3cd0ca+0x2),_0x32efd0=this[_0x1a4e('0x95e')](_0x30a59b,_0x439e1c,_0x4f9456),_0x9a24e4=_0x9a24e4['concat'](_0x32efd0);return _0x9a24e4;},'curveintersects':function(_0x4f9456,_0x3cd0ca,_0x32efd0){var _0x30a59b=[];_0x4f9456[_0x1a4e('0x3b')](function(_0x4f9456){_0x3cd0ca[_0x1a4e('0x3b')](function(_0x3cd0ca){_0x4f9456[_0x1a4e('0x961')](_0x3cd0ca)&&_0x30a59b[_0x1a4e('0x46')]({'left':_0x4f9456,'right':_0x3cd0ca});});});var _0x439e1c=[];return _0x30a59b['forEach'](function(_0x4f9456){var _0x3cd0ca=_0x38d869[_0x1a4e('0x962')](_0x4f9456[_0x1a4e('0x5f')],_0x4f9456[_0x1a4e('0x5d')],_0x32efd0);_0x3cd0ca[_0x1a4e('0x1e')]>0x0&&(_0x439e1c=_0x439e1c['concat'](_0x3cd0ca));}),_0x439e1c;},'arcs':function(_0x4f9456){_0x4f9456=_0x4f9456||0.5;return this[_0x1a4e('0x963')](_0x4f9456,[]);},'_error':function(_0x4f9456,_0x32efd0,_0x30a59b,_0x439e1c){var _0x5e4893=(_0x439e1c-_0x30a59b)/0x4,_0x27943f=this['get'](_0x30a59b+_0x5e4893),_0x9a24e4=this[_0x1a4e('0x179')](_0x439e1c-_0x5e4893),_0x1311b7=_0x38d869['dist'](_0x4f9456,_0x32efd0),_0x462c49=_0x38d869[_0x1a4e('0x81')](_0x4f9456,_0x27943f),_0x2dd5c8=_0x38d869['dist'](_0x4f9456,_0x9a24e4);return _0x3cd0ca(_0x462c49-_0x1311b7)+_0x3cd0ca(_0x2dd5c8-_0x1311b7);},'_iterate':function(_0x4f9456,_0x3cd0ca){var _0x32efd0,_0x30a59b=0x0,_0x439e1c=0x1;do{_0x32efd0=0x0,_0x439e1c=0x1;var _0x9a24e4,_0x1311b7,_0x462c49,_0x2dd5c8,_0x1c671d,_0x38d359=this['get'](_0x30a59b),_0x1f2ed1=!0x1,_0xbc7e1f=!0x1,_0x5c4e33=_0x439e1c,_0x41a174=0x1;do{if(_0xbc7e1f=_0x1f2ed1,_0x2dd5c8=_0x462c49,_0x5c4e33=(_0x30a59b+_0x439e1c)/0x2,0x0,_0x9a24e4=this[_0x1a4e('0x179')](_0x5c4e33),_0x1311b7=this[_0x1a4e('0x179')](_0x439e1c),(_0x462c49=_0x38d869[_0x1a4e('0x964')](_0x38d359,_0x9a24e4,_0x1311b7))[_0x1a4e('0x965')]={'start':_0x30a59b,'end':_0x439e1c},_0x1f2ed1=this['_error'](_0x462c49,_0x38d359,_0x30a59b,_0x439e1c)<=_0x4f9456,(_0x1c671d=_0xbc7e1f&&!_0x1f2ed1)||(_0x41a174=_0x439e1c),_0x1f2ed1){if(_0x439e1c>=0x1){if(_0x462c49['interval']['end']=_0x41a174=0x1,_0x2dd5c8=_0x462c49,_0x439e1c>0x1){var _0xa76a62={'x':_0x462c49['x']+_0x462c49['r']*_0x5e4893(_0x462c49['e']),'y':_0x462c49['y']+_0x462c49['r']*_0x27943f(_0x462c49['e'])};_0x462c49['e']+=_0x38d869['angle']({'x':_0x462c49['x'],'y':_0x462c49['y']},_0xa76a62,this[_0x1a4e('0x179')](0x1));}break;}_0x439e1c+=(_0x439e1c-_0x30a59b)/0x2;}else _0x439e1c=_0x5c4e33;}while(!_0x1c671d&&_0x32efd0++<0x64);if(_0x32efd0>=0x64)break;_0x2dd5c8=_0x2dd5c8||_0x462c49,_0x3cd0ca[_0x1a4e('0x46')](_0x2dd5c8),_0x30a59b=_0x41a174;}while(_0x439e1c<0x1);return _0x3cd0ca;}},_0x4f9456[_0x1a4e('0x0')]=_0x38d359;}();},'./node_modules/bezier-js/lib/normalise-svg.js':function(_0x3b0d66,_0x53e3de){_0x3b0d66[_0x1a4e('0x0')]=function(_0x3b0d66){var _0x53e3de,_0x4fbe3d,_0x4e929f,_0x3bfb01,_0x207a95,_0x4e13c8,_0x229dc7=(_0x3b0d66=_0x3b0d66[_0x1a4e('0x115')](/,/g,'\x20')[_0x1a4e('0x115')](/-/g,_0x1a4e('0x2ee'))['replace'](/-\s+/g,'-')['replace'](/([a-zA-Z])/g,_0x1a4e('0x966')))[_0x1a4e('0x115')](/([a-zA-Z])\s?/g,_0x1a4e('0x967'))['split']('|'),_0x243add=_0x229dc7[_0x1a4e('0x1e')],_0x16c996=[],_0x8476b=0x0,_0x42e695=0x0,_0x527157=0x0,_0x1831c1=0x0,_0x1e6261=0x0,_0x424158=0x0,_0x47e945=0x0,_0x3e5741=0x0,_0x3ede16='';for(_0x53e3de=0x1;_0x53e3de<_0x243add;_0x53e3de++)if(_0x3bfb01=(_0x4e929f=(_0x4fbe3d=_0x229dc7[_0x53e3de])[_0x1a4e('0x281')](0x0,0x1))[_0x1a4e('0x2b2')](),_0x207a95=(_0x16c996=(_0x16c996=_0x4fbe3d[_0x1a4e('0x115')](_0x4e929f,'')['trim']()['split']('\x20'))['filter'](function(_0x3b0d66){return''!==_0x3b0d66;})[_0x1a4e('0x21')](parseFloat))[_0x1a4e('0x1e')],'m'===_0x3bfb01){if(_0x3ede16+='M\x20','m'===_0x4e929f?(_0x527157+=_0x16c996[0x0],_0x1831c1+=_0x16c996[0x1]):(_0x527157=_0x16c996[0x0],_0x1831c1=_0x16c996[0x1]),_0x8476b=_0x527157,_0x42e695=_0x1831c1,_0x3ede16+=_0x527157+'\x20'+_0x1831c1+'\x20',_0x207a95>0x2)for(_0x4e13c8=0x0;_0x4e13c8<_0x207a95;_0x4e13c8+=0x2)'m'===_0x4e929f?(_0x527157+=_0x16c996[_0x4e13c8],_0x1831c1+=_0x16c996[_0x4e13c8+0x1]):(_0x527157=_0x16c996[_0x4e13c8],_0x1831c1=_0x16c996[_0x4e13c8+0x1]),_0x3ede16+=['L',_0x527157,_0x1831c1,''][_0x1a4e('0x9e')]('\x20');}else if('l'===_0x3bfb01)for(_0x4e13c8=0x0;_0x4e13c8<_0x207a95;_0x4e13c8+=0x2)'l'===_0x4e929f?(_0x527157+=_0x16c996[_0x4e13c8],_0x1831c1+=_0x16c996[_0x4e13c8+0x1]):(_0x527157=_0x16c996[_0x4e13c8],_0x1831c1=_0x16c996[_0x4e13c8+0x1]),_0x3ede16+=['L',_0x527157,_0x1831c1,''][_0x1a4e('0x9e')]('\x20');else if('h'===_0x3bfb01)for(_0x4e13c8=0x0;_0x4e13c8<_0x207a95;_0x4e13c8++)'h'===_0x4e929f?_0x527157+=_0x16c996[_0x4e13c8]:_0x527157=_0x16c996[_0x4e13c8],_0x3ede16+=['L',_0x527157,_0x1831c1,''][_0x1a4e('0x9e')]('\x20');else if('v'===_0x3bfb01)for(_0x4e13c8=0x0;_0x4e13c8<_0x207a95;_0x4e13c8++)'v'===_0x4e929f?_0x1831c1+=_0x16c996[_0x4e13c8]:_0x1831c1=_0x16c996[_0x4e13c8],_0x3ede16+=['L',_0x527157,_0x1831c1,''][_0x1a4e('0x9e')]('\x20');else if('q'===_0x3bfb01)for(_0x4e13c8=0x0;_0x4e13c8<_0x207a95;_0x4e13c8+=0x4)'q'===_0x4e929f?(_0x1e6261=_0x527157+_0x16c996[_0x4e13c8],_0x424158=_0x1831c1+_0x16c996[_0x4e13c8+0x1],_0x527157+=_0x16c996[_0x4e13c8+0x2],_0x1831c1+=_0x16c996[_0x4e13c8+0x3]):(_0x1e6261=_0x16c996[_0x4e13c8],_0x424158=_0x16c996[_0x4e13c8+0x1],_0x527157=_0x16c996[_0x4e13c8+0x2],_0x1831c1=_0x16c996[_0x4e13c8+0x3]),_0x3ede16+=['Q',_0x1e6261,_0x424158,_0x527157,_0x1831c1,''][_0x1a4e('0x9e')]('\x20');else if('t'===_0x3bfb01)for(_0x4e13c8=0x0;_0x4e13c8<_0x207a95;_0x4e13c8+=0x2)_0x1e6261=_0x527157+(_0x527157-_0x1e6261),_0x424158=_0x1831c1+(_0x1831c1-_0x424158),'t'===_0x4e929f?(_0x527157+=_0x16c996[_0x4e13c8],_0x1831c1+=_0x16c996[_0x4e13c8+0x1]):(_0x527157=_0x16c996[_0x4e13c8],_0x1831c1=_0x16c996[_0x4e13c8+0x1]),_0x3ede16+=['Q',_0x1e6261,_0x424158,_0x527157,_0x1831c1,''][_0x1a4e('0x9e')]('\x20');else if('c'===_0x3bfb01)for(_0x4e13c8=0x0;_0x4e13c8<_0x207a95;_0x4e13c8+=0x6)'c'===_0x4e929f?(_0x1e6261=_0x527157+_0x16c996[_0x4e13c8],_0x424158=_0x1831c1+_0x16c996[_0x4e13c8+0x1],_0x47e945=_0x527157+_0x16c996[_0x4e13c8+0x2],_0x3e5741=_0x1831c1+_0x16c996[_0x4e13c8+0x3],_0x527157+=_0x16c996[_0x4e13c8+0x4],_0x1831c1+=_0x16c996[_0x4e13c8+0x5]):(_0x1e6261=_0x16c996[_0x4e13c8],_0x424158=_0x16c996[_0x4e13c8+0x1],_0x47e945=_0x16c996[_0x4e13c8+0x2],_0x3e5741=_0x16c996[_0x4e13c8+0x3],_0x527157=_0x16c996[_0x4e13c8+0x4],_0x1831c1=_0x16c996[_0x4e13c8+0x5]),_0x3ede16+=['C',_0x1e6261,_0x424158,_0x47e945,_0x3e5741,_0x527157,_0x1831c1,''][_0x1a4e('0x9e')]('\x20');else if('s'===_0x3bfb01)for(_0x4e13c8=0x0;_0x4e13c8<_0x207a95;_0x4e13c8+=0x4)_0x1e6261=_0x527157+(_0x527157-_0x47e945),_0x424158=_0x1831c1+(_0x1831c1-_0x3e5741),'s'===_0x4e929f?(_0x47e945=_0x527157+_0x16c996[_0x4e13c8],_0x3e5741=_0x1831c1+_0x16c996[_0x4e13c8+0x1],_0x527157+=_0x16c996[_0x4e13c8+0x2],_0x1831c1+=_0x16c996[_0x4e13c8+0x3]):(_0x47e945=_0x16c996[_0x4e13c8],_0x3e5741=_0x16c996[_0x4e13c8+0x1],_0x527157=_0x16c996[_0x4e13c8+0x2],_0x1831c1=_0x16c996[_0x4e13c8+0x3]),_0x3ede16+=['C',_0x1e6261,_0x424158,_0x47e945,_0x3e5741,_0x527157,_0x1831c1,''][_0x1a4e('0x9e')]('\x20');else'z'===_0x3bfb01&&(_0x3ede16+='Z\x20',_0x527157=_0x8476b,_0x1831c1=_0x42e695);return _0x3ede16[_0x1a4e('0x2bd')]();};},'./node_modules/bezier-js/lib/poly-bezier.js':function(_0x56d7da,_0x4d2d66,_0x2bdbce){!function(){'use strict';var _0x4d2d66=_0x2bdbce(_0x1a4e('0x92d')),_0x2e1798=function(_0x56d7da){this[_0x1a4e('0x958')]=[],this[_0x1a4e('0x930')]=!0x1,_0x56d7da&&(this[_0x1a4e('0x958')]=_0x56d7da,this[_0x1a4e('0x930')]=this[_0x1a4e('0x958')][0x0]['_3d']);};_0x2e1798[_0x1a4e('0xa')]={'valueOf':function(){return this['toString']();},'toString':function(){return'['+this['curves']['map'](function(_0x56d7da){return _0x4d2d66['pointsToString'](_0x56d7da[_0x1a4e('0x17d')]);})[_0x1a4e('0x9e')](',\x20')+']';},'addCurve':function(_0x56d7da){this[_0x1a4e('0x958')]['push'](_0x56d7da),this[_0x1a4e('0x930')]=this[_0x1a4e('0x930')]||_0x56d7da[_0x1a4e('0x930')];},'length':function(){return this[_0x1a4e('0x958')]['map'](function(_0x56d7da){return _0x56d7da['length']();})[_0x1a4e('0xbb')](function(_0x56d7da,_0x4d2d66){return _0x56d7da+_0x4d2d66;});},'curve':function(_0x56d7da){return this[_0x1a4e('0x958')][_0x56d7da];},'bbox':function(){for(var _0x56d7da=this[_0x1a4e('0x958')],_0x2bdbce=_0x56d7da[0x0][_0x1a4e('0xe')](),_0x2e1798=0x1;_0x2e1798<_0x56d7da[_0x1a4e('0x1e')];_0x2e1798++)_0x4d2d66[_0x1a4e('0x968')](_0x2bdbce,_0x56d7da[_0x2e1798]['bbox']());return _0x2bdbce;},'offset':function(_0x56d7da){var _0x4d2d66=[];return this[_0x1a4e('0x958')][_0x1a4e('0x3b')](function(_0x2bdbce){_0x4d2d66=_0x4d2d66[_0x1a4e('0x9a')](_0x2bdbce[_0x1a4e('0x1af')](_0x56d7da));}),new _0x2e1798(_0x4d2d66);}},_0x56d7da[_0x1a4e('0x0')]=_0x2e1798;}();},'./node_modules/bezier-js/lib/svg-to-beziers.js':function(_0x164ab0,_0x56c608,_0x27a666){var _0x3290b2=_0x27a666(_0x1a4e('0x969')),_0x51e80b={'x':!0x1,'y':!0x1};function _0x30f9ea(_0x164ab0,_0x56c608,_0x27a666){if('Z'!==_0x56c608){if('M'!==_0x56c608){var _0x3290b2=[!0x1,_0x51e80b['x'],_0x51e80b['y']]['concat'](_0x27a666),_0x30f9ea=new(_0x164ab0[_0x1a4e('0x945')][_0x1a4e('0x8b')](_0x164ab0,_0x3290b2))(),_0x4217f0=_0x27a666['slice'](-0x2);return _0x51e80b={'x':_0x4217f0[0x0],'y':_0x4217f0[0x1]},_0x30f9ea;}_0x51e80b={'x':_0x27a666[0x0],'y':_0x27a666[0x1]};}}_0x164ab0[_0x1a4e('0x0')]=function(_0x164ab0,_0x56c608){for(var _0x27a666,_0x51e80b,_0xdf00f8=_0x3290b2(_0x56c608)[_0x1a4e('0x2be')]('\x20'),_0x180da3=new RegExp('[MLCQZ]',''),_0x53865a=[],_0x438e8c={'C':0x6,'Q':0x4,'L':0x2,'M':0x2};_0xdf00f8[_0x1a4e('0x1e')];)_0x27a666=_0xdf00f8['splice'](0x0,0x1)[0x0],_0x180da3[_0x1a4e('0x8d0')](_0x27a666)&&(_0x51e80b=_0x30f9ea(_0x164ab0,_0x27a666,_0xdf00f8['splice'](0x0,_0x438e8c[_0x27a666])['map'](parseFloat)))&&_0x53865a[_0x1a4e('0x46')](_0x51e80b);return new _0x164ab0[(_0x1a4e('0x93e'))](_0x53865a);};},'./node_modules/bezier-js/lib/utils.js':function(_0x31a87f,_0x219471,_0x5db043){!function(){'use strict';var _0x219471=Math[_0x1a4e('0x65')],_0x47643c=Math[_0x1a4e('0x90')],_0x2135ee=Math[_0x1a4e('0x8f')],_0x1018f3=Math[_0x1a4e('0x92c')],_0x588020=Math[_0x1a4e('0xa6')],_0x29dc79=Math['sqrt'],_0x4b632e=Math['pow'],_0x26d921=function(_0x31a87f){return _0x31a87f<0x0?-_0x4b632e(-_0x31a87f,0x1/0x3):_0x4b632e(_0x31a87f,0x1/0x3);},_0x4fe8f9=Math['PI'],_0xb6fb2d=0x2*_0x4fe8f9,_0x2bfb36=_0x4fe8f9/0x2,_0x75c085=Number[_0x1a4e('0x96a')]||0x1fffffffffffff,_0x1b1aea=Number[_0x1a4e('0x96b')]||-0x1fffffffffffff,_0x40a074={'x':0x0,'y':0x0,'z':0x0},_0x525eb0={'Tvalues':[-0.06405689286260563,0.06405689286260563,-0.1911188674736163,0.1911188674736163,-0.3150426796961634,0.3150426796961634,-0.4337935076260451,0.4337935076260451,-0.5454214713888396,0.5454214713888396,-0.6480936519369755,0.6480936519369755,-0.7401241915785544,0.7401241915785544,-0.820001985973903,0.820001985973903,-0.8864155270044011,0.8864155270044011,-0.9382745520027328,0.9382745520027328,-0.9747285559713095,0.9747285559713095,-0.9951872199970213,0.9951872199970213],'Cvalues':[0.12793819534675216,0.12793819534675216,0.1258374563468283,0.1258374563468283,0.12167047292780339,0.12167047292780339,0.1155056680537256,0.1155056680537256,0.10744427011596563,0.10744427011596563,0.09761865210411388,0.09761865210411388,0.08619016153195327,0.08619016153195327,0.0733464814110803,0.0733464814110803,0.05929858491543678,0.05929858491543678,0.04427743881741981,0.04427743881741981,0.028531388628933663,0.028531388628933663,0.0123412297999872,0.0123412297999872],'arcfn':function(_0x31a87f,_0x219471){var _0x5db043=_0x219471(_0x31a87f),_0x47643c=_0x5db043['x']*_0x5db043['x']+_0x5db043['y']*_0x5db043['y'];return void 0x0!==_0x5db043['z']&&(_0x47643c+=_0x5db043['z']*_0x5db043['z']),_0x29dc79(_0x47643c);},'compute':function(_0x31a87f,_0x219471,_0x5db043){if(0x0===_0x31a87f)return _0x219471[0x0];var _0x47643c=_0x219471[_0x1a4e('0x1e')]-0x1;if(0x1===_0x31a87f)return _0x219471[_0x47643c];var _0x2135ee=_0x219471,_0x1018f3=0x1-_0x31a87f;if(0x0===_0x47643c)return _0x219471[0x0];if(0x1===_0x47643c)return _0x2bfb36={'x':_0x1018f3*_0x2135ee[0x0]['x']+_0x31a87f*_0x2135ee[0x1]['x'],'y':_0x1018f3*_0x2135ee[0x0]['y']+_0x31a87f*_0x2135ee[0x1]['y']},_0x5db043&&(_0x2bfb36['z']=_0x1018f3*_0x2135ee[0x0]['z']+_0x31a87f*_0x2135ee[0x1]['z']),_0x2bfb36;if(_0x47643c<0x4){var _0x588020,_0x29dc79,_0x4b632e,_0x26d921=_0x1018f3*_0x1018f3,_0x4fe8f9=_0x31a87f*_0x31a87f,_0xb6fb2d=0x0;0x2===_0x47643c?(_0x2135ee=[_0x2135ee[0x0],_0x2135ee[0x1],_0x2135ee[0x2],_0x40a074],_0x588020=_0x26d921,_0x29dc79=_0x1018f3*_0x31a87f*0x2,_0x4b632e=_0x4fe8f9):0x3===_0x47643c&&(_0x588020=_0x26d921*_0x1018f3,_0x29dc79=_0x26d921*_0x31a87f*0x3,_0x4b632e=_0x1018f3*_0x4fe8f9*0x3,_0xb6fb2d=_0x31a87f*_0x4fe8f9);var _0x2bfb36={'x':_0x588020*_0x2135ee[0x0]['x']+_0x29dc79*_0x2135ee[0x1]['x']+_0x4b632e*_0x2135ee[0x2]['x']+_0xb6fb2d*_0x2135ee[0x3]['x'],'y':_0x588020*_0x2135ee[0x0]['y']+_0x29dc79*_0x2135ee[0x1]['y']+_0x4b632e*_0x2135ee[0x2]['y']+_0xb6fb2d*_0x2135ee[0x3]['y']};return _0x5db043&&(_0x2bfb36['z']=_0x588020*_0x2135ee[0x0]['z']+_0x29dc79*_0x2135ee[0x1]['z']+_0x4b632e*_0x2135ee[0x2]['z']+_0xb6fb2d*_0x2135ee[0x3]['z']),_0x2bfb36;}for(var _0x75c085=JSON[_0x1a4e('0x25a')](JSON[_0x1a4e('0xd7')](_0x219471));_0x75c085['length']>0x1;){for(var _0x1b1aea=0x0;_0x1b1aea<_0x75c085[_0x1a4e('0x1e')]-0x1;_0x1b1aea++)_0x75c085[_0x1b1aea]={'x':_0x75c085[_0x1b1aea]['x']+(_0x75c085[_0x1b1aea+0x1]['x']-_0x75c085[_0x1b1aea]['x'])*_0x31a87f,'y':_0x75c085[_0x1b1aea]['y']+(_0x75c085[_0x1b1aea+0x1]['y']-_0x75c085[_0x1b1aea]['y'])*_0x31a87f},void 0x0!==_0x75c085[_0x1b1aea]['z']&&(_0x75c085[_0x1b1aea]=_0x75c085[_0x1b1aea]['z']+(_0x75c085[_0x1b1aea+0x1]['z']-_0x75c085[_0x1b1aea]['z'])*_0x31a87f);_0x75c085[_0x1a4e('0x8a')](_0x75c085[_0x1a4e('0x1e')]-0x1,0x1);}return _0x75c085[0x0];},'derive':function(_0x31a87f,_0x219471){for(var _0x5db043=[],_0x47643c=_0x31a87f,_0x2135ee=_0x47643c[_0x1a4e('0x1e')],_0x1018f3=_0x2135ee-0x1;_0x2135ee>0x1;_0x2135ee--,_0x1018f3--){for(var _0x588020,_0x29dc79=[],_0x4b632e=0x0;_0x4b632e<_0x1018f3;_0x4b632e++)_0x588020={'x':_0x1018f3*(_0x47643c[_0x4b632e+0x1]['x']-_0x47643c[_0x4b632e]['x']),'y':_0x1018f3*(_0x47643c[_0x4b632e+0x1]['y']-_0x47643c[_0x4b632e]['y'])},_0x219471&&(_0x588020['z']=_0x1018f3*(_0x47643c[_0x4b632e+0x1]['z']-_0x47643c[_0x4b632e]['z'])),_0x29dc79[_0x1a4e('0x46')](_0x588020);_0x5db043['push'](_0x29dc79),_0x47643c=_0x29dc79;}return _0x5db043;},'between':function(_0x31a87f,_0x219471,_0x5db043){return _0x219471<=_0x31a87f&&_0x31a87f<=_0x5db043||_0x525eb0['approximately'](_0x31a87f,_0x219471)||_0x525eb0[_0x1a4e('0x96c')](_0x31a87f,_0x5db043);},'approximately':function(_0x31a87f,_0x5db043,_0x47643c){return _0x219471(_0x31a87f-_0x5db043)<=(_0x47643c||0.000001);},'length':function(_0x31a87f){var _0x219471,_0x5db043,_0x47643c=0x0,_0x2135ee=_0x525eb0[_0x1a4e('0x96d')][_0x1a4e('0x1e')];for(_0x219471=0x0;_0x219471<_0x2135ee;_0x219471++)_0x5db043=0.5*_0x525eb0['Tvalues'][_0x219471]+0.5,_0x47643c+=_0x525eb0['Cvalues'][_0x219471]*_0x525eb0[_0x1a4e('0x96e')](_0x5db043,_0x31a87f);return 0.5*_0x47643c;},'map':function(_0x31a87f,_0x219471,_0x5db043,_0x47643c,_0x2135ee){return _0x47643c+(_0x2135ee-_0x47643c)*((_0x31a87f-_0x219471)/(_0x5db043-_0x219471));},'lerp':function(_0x31a87f,_0x219471,_0x5db043){var _0x47643c={'x':_0x219471['x']+_0x31a87f*(_0x5db043['x']-_0x219471['x']),'y':_0x219471['y']+_0x31a87f*(_0x5db043['y']-_0x219471['y'])};return _0x219471['z']&&_0x5db043['z']&&(_0x47643c['z']=_0x219471['z']+_0x31a87f*(_0x5db043['z']-_0x219471['z'])),_0x47643c;},'pointToString':function(_0x31a87f){var _0x219471=_0x31a87f['x']+'/'+_0x31a87f['y'];return void 0x0!==_0x31a87f['z']&&(_0x219471+='/'+_0x31a87f['z']),_0x219471;},'pointsToString':function(_0x31a87f){return'['+_0x31a87f[_0x1a4e('0x21')](_0x525eb0[_0x1a4e('0x96f')])[_0x1a4e('0x9e')](',\x20')+']';},'copy':function(_0x31a87f){return JSON[_0x1a4e('0x25a')](JSON[_0x1a4e('0xd7')](_0x31a87f));},'angle':function(_0x31a87f,_0x219471,_0x5db043){var _0x47643c=_0x219471['x']-_0x31a87f['x'],_0x2135ee=_0x219471['y']-_0x31a87f['y'],_0x1018f3=_0x5db043['x']-_0x31a87f['x'],_0x29dc79=_0x5db043['y']-_0x31a87f['y'];return _0x588020(_0x47643c*_0x29dc79-_0x2135ee*_0x1018f3,_0x47643c*_0x1018f3+_0x2135ee*_0x29dc79);},'round':function(_0x31a87f,_0x219471){var _0x5db043=''+_0x31a87f,_0x47643c=_0x5db043[_0x1a4e('0x3e')]('.');return parseFloat(_0x5db043['substring'](0x0,_0x47643c+0x1+_0x219471));},'dist':function(_0x31a87f,_0x219471){var _0x5db043=_0x31a87f['x']-_0x219471['x'],_0x47643c=_0x31a87f['y']-_0x219471['y'];return _0x29dc79(_0x5db043*_0x5db043+_0x47643c*_0x47643c);},'closest':function(_0x31a87f,_0x219471){var _0x5db043,_0x47643c,_0x2135ee=_0x4b632e(0x2,0x3f);return _0x31a87f[_0x1a4e('0x3b')](function(_0x31a87f,_0x1018f3){(_0x47643c=_0x525eb0[_0x1a4e('0x81')](_0x219471,_0x31a87f))<_0x2135ee&&(_0x2135ee=_0x47643c,_0x5db043=_0x1018f3);}),{'mdist':_0x2135ee,'mpos':_0x5db043};},'abcratio':function(_0x31a87f,_0x5db043){if(0x2!==_0x5db043&&0x3!==_0x5db043)return!0x1;if(void 0x0===_0x31a87f)_0x31a87f=0.5;else if(0x0===_0x31a87f||0x1===_0x31a87f)return _0x31a87f;var _0x47643c=_0x4b632e(_0x31a87f,_0x5db043)+_0x4b632e(0x1-_0x31a87f,_0x5db043);return _0x219471((_0x47643c-0x1)/_0x47643c);},'projectionratio':function(_0x31a87f,_0x219471){if(0x2!==_0x219471&&0x3!==_0x219471)return!0x1;if(void 0x0===_0x31a87f)_0x31a87f=0.5;else if(0x0===_0x31a87f||0x1===_0x31a87f)return _0x31a87f;var _0x5db043=_0x4b632e(0x1-_0x31a87f,_0x219471);return _0x5db043/(_0x4b632e(_0x31a87f,_0x219471)+_0x5db043);},'lli8':function(_0x31a87f,_0x219471,_0x5db043,_0x47643c,_0x2135ee,_0x1018f3,_0x588020,_0x29dc79){var _0x4b632e=(_0x31a87f-_0x5db043)*(_0x1018f3-_0x29dc79)-(_0x219471-_0x47643c)*(_0x2135ee-_0x588020);return 0x0!=_0x4b632e&&{'x':((_0x31a87f*_0x47643c-_0x219471*_0x5db043)*(_0x2135ee-_0x588020)-(_0x31a87f-_0x5db043)*(_0x2135ee*_0x29dc79-_0x1018f3*_0x588020))/_0x4b632e,'y':((_0x31a87f*_0x47643c-_0x219471*_0x5db043)*(_0x1018f3-_0x29dc79)-(_0x219471-_0x47643c)*(_0x2135ee*_0x29dc79-_0x1018f3*_0x588020))/_0x4b632e};},'lli4':function(_0x31a87f,_0x219471,_0x5db043,_0x47643c){var _0x2135ee=_0x31a87f['x'],_0x1018f3=_0x31a87f['y'],_0x588020=_0x219471['x'],_0x29dc79=_0x219471['y'],_0x4b632e=_0x5db043['x'],_0x26d921=_0x5db043['y'],_0x4fe8f9=_0x47643c['x'],_0xb6fb2d=_0x47643c['y'];return _0x525eb0[_0x1a4e('0x970')](_0x2135ee,_0x1018f3,_0x588020,_0x29dc79,_0x4b632e,_0x26d921,_0x4fe8f9,_0xb6fb2d);},'lli':function(_0x31a87f,_0x219471){return _0x525eb0['lli4'](_0x31a87f,_0x31a87f['c'],_0x219471,_0x219471['c']);},'makeline':function(_0x31a87f,_0x219471){var _0x47643c=_0x5db043(_0x1a4e('0x92b')),_0x2135ee=_0x31a87f['x'],_0x1018f3=_0x31a87f['y'],_0x588020=_0x219471['x'],_0x29dc79=_0x219471['y'],_0x4b632e=(_0x588020-_0x2135ee)/0x3,_0x26d921=(_0x29dc79-_0x1018f3)/0x3;return new _0x47643c(_0x2135ee,_0x1018f3,_0x2135ee+_0x4b632e,_0x1018f3+_0x26d921,_0x2135ee+0x2*_0x4b632e,_0x1018f3+0x2*_0x26d921,_0x588020,_0x29dc79);},'findbbox':function(_0x31a87f){var _0x219471=_0x75c085,_0x5db043=_0x75c085,_0x47643c=_0x1b1aea,_0x2135ee=_0x1b1aea;return _0x31a87f[_0x1a4e('0x3b')](function(_0x31a87f){var _0x1018f3=_0x31a87f[_0x1a4e('0xe')]();_0x219471>_0x1018f3['x'][_0x1a4e('0x74')]&&(_0x219471=_0x1018f3['x']['min']),_0x5db043>_0x1018f3['y'][_0x1a4e('0x74')]&&(_0x5db043=_0x1018f3['y']['min']),_0x47643c<_0x1018f3['x'][_0x1a4e('0x6c')]&&(_0x47643c=_0x1018f3['x']['max']),_0x2135ee<_0x1018f3['y'][_0x1a4e('0x6c')]&&(_0x2135ee=_0x1018f3['y'][_0x1a4e('0x6c')]);}),{'x':{'min':_0x219471,'mid':(_0x219471+_0x47643c)/0x2,'max':_0x47643c,'size':_0x47643c-_0x219471},'y':{'min':_0x5db043,'mid':(_0x5db043+_0x2135ee)/0x2,'max':_0x2135ee,'size':_0x2135ee-_0x5db043}};},'shapeintersections':function(_0x31a87f,_0x219471,_0x5db043,_0x47643c,_0x2135ee){if(!_0x525eb0[_0x1a4e('0x950')](_0x219471,_0x47643c))return[];var _0x1018f3=[],_0x588020=[_0x31a87f[_0x1a4e('0x95a')],_0x31a87f[_0x1a4e('0x971')],_0x31a87f[_0x1a4e('0x972')],_0x31a87f['endcap']],_0x29dc79=[_0x5db043[_0x1a4e('0x95a')],_0x5db043[_0x1a4e('0x971')],_0x5db043[_0x1a4e('0x972')],_0x5db043['endcap']];return _0x588020[_0x1a4e('0x3b')](function(_0x219471){_0x219471['virtual']||_0x29dc79[_0x1a4e('0x3b')](function(_0x47643c){if(!_0x47643c['virtual']){var _0x588020=_0x219471['intersects'](_0x47643c,_0x2135ee);_0x588020[_0x1a4e('0x1e')]>0x0&&(_0x588020['c1']=_0x219471,_0x588020['c2']=_0x47643c,_0x588020['s1']=_0x31a87f,_0x588020['s2']=_0x5db043,_0x1018f3[_0x1a4e('0x46')](_0x588020));}});}),_0x1018f3;},'makeshape':function(_0x31a87f,_0x219471,_0x5db043){var _0x47643c=_0x219471['points'][_0x1a4e('0x1e')],_0x2135ee=_0x31a87f[_0x1a4e('0x17d')]['length'],_0x1018f3=_0x525eb0[_0x1a4e('0x957')](_0x219471['points'][_0x47643c-0x1],_0x31a87f[_0x1a4e('0x17d')][0x0]),_0x588020=_0x525eb0['makeline'](_0x31a87f[_0x1a4e('0x17d')][_0x2135ee-0x1],_0x219471['points'][0x0]),_0x29dc79={'startcap':_0x1018f3,'forward':_0x31a87f,'back':_0x219471,'endcap':_0x588020,'bbox':_0x525eb0[_0x1a4e('0x973')]([_0x1018f3,_0x31a87f,_0x219471,_0x588020])},_0x4b632e=_0x525eb0;return _0x29dc79[_0x1a4e('0x974')]=function(_0x31a87f){return _0x4b632e[_0x1a4e('0x975')](_0x29dc79,_0x29dc79[_0x1a4e('0xe')],_0x31a87f,_0x31a87f[_0x1a4e('0xe')],_0x5db043);},_0x29dc79;},'getminmax':function(_0x31a87f,_0x219471,_0x5db043){if(!_0x5db043)return{'min':0x0,'max':0x0};var _0x47643c,_0x2135ee,_0x1018f3=_0x75c085,_0x588020=_0x1b1aea;-0x1===_0x5db043[_0x1a4e('0x3e')](0x0)&&(_0x5db043=[0x0][_0x1a4e('0x9a')](_0x5db043)),-0x1===_0x5db043['indexOf'](0x1)&&_0x5db043[_0x1a4e('0x46')](0x1);for(var _0x29dc79=0x0,_0x4b632e=_0x5db043[_0x1a4e('0x1e')];_0x29dc79<_0x4b632e;_0x29dc79++)_0x47643c=_0x5db043[_0x29dc79],(_0x2135ee=_0x31a87f[_0x1a4e('0x179')](_0x47643c))[_0x219471]<_0x1018f3&&(_0x1018f3=_0x2135ee[_0x219471]),_0x2135ee[_0x219471]>_0x588020&&(_0x588020=_0x2135ee[_0x219471]);return{'min':_0x1018f3,'mid':(_0x1018f3+_0x588020)/0x2,'max':_0x588020,'size':_0x588020-_0x1018f3};},'align':function(_0x31a87f,_0x219471){var _0x5db043=_0x219471['p1']['x'],_0x1018f3=_0x219471['p1']['y'],_0x29dc79=-_0x588020(_0x219471['p2']['y']-_0x1018f3,_0x219471['p2']['x']-_0x5db043);return _0x31a87f[_0x1a4e('0x21')](function(_0x31a87f){return{'x':(_0x31a87f['x']-_0x5db043)*_0x47643c(_0x29dc79)-(_0x31a87f['y']-_0x1018f3)*_0x2135ee(_0x29dc79),'y':(_0x31a87f['x']-_0x5db043)*_0x2135ee(_0x29dc79)+(_0x31a87f['y']-_0x1018f3)*_0x47643c(_0x29dc79)};});},'roots':function(_0x31a87f,_0x219471){_0x219471=_0x219471||{'p1':{'x':0x0,'y':0x0},'p2':{'x':0x1,'y':0x0}};var _0x5db043=_0x31a87f[_0x1a4e('0x1e')]-0x1,_0x2135ee=_0x525eb0[_0x1a4e('0x934')](_0x31a87f,_0x219471),_0x588020=function(_0x31a87f){return 0x0<=_0x31a87f&&_0x31a87f<=0x1;};if(0x2===_0x5db043){if(0x0!==(_0x40a074=(_0x4534f7=_0x2135ee[0x0]['y'])-0x2*(_0x2da3b2=_0x2135ee[0x1]['y'])+(_0xdc434f=_0x2135ee[0x2]['y']))){var _0x4b632e=-_0x29dc79(_0x2da3b2*_0x2da3b2-_0x4534f7*_0xdc434f),_0x4fe8f9=-_0x4534f7+_0x2da3b2;return[-(_0x4b632e+_0x4fe8f9)/_0x40a074,-(-_0x4b632e+_0x4fe8f9)/_0x40a074][_0x1a4e('0xd9')](_0x588020);}return _0x2da3b2!==_0xdc434f&&0x0===_0x40a074?[(0x2*_0x2da3b2-_0xdc434f)/(0x2*_0x2da3b2-0x2*_0xdc434f)][_0x1a4e('0xd9')](_0x588020):[];}var _0x2bfb36=_0x2135ee[0x0]['y'],_0x75c085=_0x2135ee[0x1]['y'],_0x1b1aea=_0x2135ee[0x2]['y'],_0x40a074=0x3*_0x75c085-_0x2bfb36-0x3*_0x1b1aea+_0x2135ee[0x3]['y'],_0x4534f7=0x3*_0x2bfb36-0x6*_0x75c085+0x3*_0x1b1aea,_0x2da3b2=-0x3*_0x2bfb36+0x3*_0x75c085,_0xdc434f=_0x2bfb36;if(_0x525eb0['approximately'](_0x40a074,0x0)){if(_0x525eb0['approximately'](_0x4534f7,0x0))return _0x525eb0[_0x1a4e('0x96c')](_0x2da3b2,0x0)?[]:[-_0xdc434f/_0x2da3b2][_0x1a4e('0xd9')](_0x588020);var _0x35385c=0x2*_0x4534f7;return[((_0x18968d=_0x29dc79(_0x2da3b2*_0x2da3b2-0x4*_0x4534f7*_0xdc434f))-_0x2da3b2)/_0x35385c,(-_0x2da3b2-_0x18968d)/_0x35385c]['filter'](_0x588020);}var _0x18968d,_0x1c3e13,_0x3e4b8b=(_0x2135ee=(0x3*(_0x2da3b2/=_0x40a074)-(_0x4534f7/=_0x40a074)*_0x4534f7)/0x3)/0x3,_0xff507=(_0x18968d=(0x2*_0x4534f7*_0x4534f7*_0x4534f7-0x9*_0x4534f7*_0x2da3b2+0x1b*(_0xdc434f/=_0x40a074))/0x1b)/0x2,_0x17ebdc=_0xff507*_0xff507+_0x3e4b8b*_0x3e4b8b*_0x3e4b8b;if(_0x17ebdc<0x0){var _0x57c318=-_0x2135ee/0x3,_0x2226da=_0x29dc79(_0x57c318*_0x57c318*_0x57c318),_0x3f2bd8=-_0x18968d/(0x2*_0x2226da),_0x6b5941=_0x1018f3(_0x3f2bd8<-0x1?-0x1:_0x3f2bd8>0x1?0x1:_0x3f2bd8),_0x5d119a=0x2*_0x26d921(_0x2226da);return[_0x5d119a*_0x47643c(_0x6b5941/0x3)-_0x4534f7/0x3,_0x5d119a*_0x47643c((_0x6b5941+_0xb6fb2d)/0x3)-_0x4534f7/0x3,_0x5d119a*_0x47643c((_0x6b5941+0x2*_0xb6fb2d)/0x3)-_0x4534f7/0x3][_0x1a4e('0xd9')](_0x588020);}if(0x0===_0x17ebdc)return[0x2*(_0x1c3e13=_0xff507<0x0?_0x26d921(-_0xff507):-_0x26d921(_0xff507))-_0x4534f7/0x3,-_0x1c3e13-_0x4534f7/0x3][_0x1a4e('0xd9')](_0x588020);var _0x450f9a=_0x29dc79(_0x17ebdc);return[(_0x1c3e13=_0x26d921(-_0xff507+_0x450f9a))-_0x26d921(_0xff507+_0x450f9a)-_0x4534f7/0x3]['filter'](_0x588020);},'droots':function(_0x31a87f){if(0x3===_0x31a87f[_0x1a4e('0x1e')]){var _0x219471=_0x31a87f[0x0],_0x5db043=_0x31a87f[0x1],_0x47643c=_0x31a87f[0x2],_0x2135ee=_0x219471-0x2*_0x5db043+_0x47643c;if(0x0!==_0x2135ee){var _0x1018f3=-_0x29dc79(_0x5db043*_0x5db043-_0x219471*_0x47643c),_0x588020=-_0x219471+_0x5db043;return[-(_0x1018f3+_0x588020)/_0x2135ee,-(-_0x1018f3+_0x588020)/_0x2135ee];}return _0x5db043!==_0x47643c&&0x0===_0x2135ee?[(0x2*_0x5db043-_0x47643c)/(0x2*(_0x5db043-_0x47643c))]:[];}if(0x2===_0x31a87f[_0x1a4e('0x1e')])return(_0x219471=_0x31a87f[0x0])!==(_0x5db043=_0x31a87f[0x1])?[_0x219471/(_0x219471-_0x5db043)]:[];},'curvature':function(_0x31a87f,_0x219471,_0x5db043){var _0x47643c,_0x2135ee,_0x1018f3=_0x525eb0[_0x1a4e('0x941')](_0x219471),_0x588020=_0x1018f3[0x0],_0x26d921=_0x1018f3[0x1],_0x4fe8f9=_0x525eb0[_0x1a4e('0x684')](_0x31a87f,_0x588020),_0xb6fb2d=_0x525eb0[_0x1a4e('0x684')](_0x31a87f,_0x26d921);return _0x5db043?(_0x47643c=_0x29dc79(_0x4b632e(_0x4fe8f9['y']*_0xb6fb2d['z']-_0xb6fb2d['y']*_0x4fe8f9['z'],0x2)+_0x4b632e(_0x4fe8f9['z']*_0xb6fb2d['x']-_0xb6fb2d['z']*_0x4fe8f9['x'],0x2)+_0x4b632e(_0x4fe8f9['x']*_0xb6fb2d['y']-_0xb6fb2d['x']*_0x4fe8f9['y'],0x2)),_0x2135ee=_0x4b632e(_0x4fe8f9['x']*_0x4fe8f9['x']+_0x4fe8f9['y']*_0x4fe8f9['y']+_0x4fe8f9['z']*_0x4fe8f9['z'],1.5)):(_0x47643c=_0x4fe8f9['x']*_0xb6fb2d['y']-_0x4fe8f9['y']*_0xb6fb2d['x'],_0x2135ee=_0x4b632e(_0x4fe8f9['x']*_0x4fe8f9['x']+_0x4fe8f9['y']*_0x4fe8f9['y'],1.5)),0x0===_0x47643c||0x0===_0x2135ee?{'k':0x0,'r':0x0}:{'k':_0x47643c/_0x2135ee,'r':_0x2135ee/_0x47643c};},'inflections':function(_0x31a87f){if(_0x31a87f['length']<0x4)return[];var _0x219471=_0x525eb0[_0x1a4e('0x934')](_0x31a87f,{'p1':_0x31a87f[0x0],'p2':_0x31a87f[_0x1a4e('0x78')](-0x1)[0x0]}),_0x5db043=_0x219471[0x2]['x']*_0x219471[0x1]['y'],_0x47643c=_0x219471[0x3]['x']*_0x219471[0x1]['y'],_0x2135ee=_0x219471[0x1]['x']*_0x219471[0x2]['y'],_0x1018f3=0x12*(-0x3*_0x5db043+0x2*_0x47643c+0x3*_0x2135ee-(_0xb6fb2d=_0x219471[0x3]['x']*_0x219471[0x2]['y'])),_0x588020=0x12*(0x3*_0x5db043-_0x47643c-0x3*_0x2135ee),_0x29dc79=0x12*(_0x2135ee-_0x5db043);if(_0x525eb0[_0x1a4e('0x96c')](_0x1018f3,0x0)){if(!_0x525eb0[_0x1a4e('0x96c')](_0x588020,0x0)){var _0x4b632e=-_0x29dc79/_0x588020;if(0x0<=_0x4b632e&&_0x4b632e<=0x1)return[_0x4b632e];}return[];}var _0x26d921=_0x588020*_0x588020-0x4*_0x1018f3*_0x29dc79,_0x4fe8f9=Math[_0x1a4e('0x91')](_0x26d921),_0xb6fb2d=0x2*_0x1018f3;return _0x525eb0[_0x1a4e('0x96c')](_0xb6fb2d,0x0)?[]:[(_0x4fe8f9-_0x588020)/_0xb6fb2d,-(_0x588020+_0x4fe8f9)/_0xb6fb2d][_0x1a4e('0xd9')](function(_0x31a87f){return 0x0<=_0x31a87f&&_0x31a87f<=0x1;});},'bboxoverlap':function(_0x31a87f,_0x5db043){var _0x47643c,_0x2135ee,_0x1018f3,_0x588020,_0x29dc79,_0x4b632e=['x','y'],_0x26d921=_0x4b632e['length'];for(_0x47643c=0x0;_0x47643c<_0x26d921;_0x47643c++)if(_0x1018f3=_0x31a87f[_0x2135ee=_0x4b632e[_0x47643c]][_0x1a4e('0x976')],_0x588020=_0x5db043[_0x2135ee][_0x1a4e('0x976')],_0x29dc79=(_0x31a87f[_0x2135ee][_0x1a4e('0x220')]+_0x5db043[_0x2135ee][_0x1a4e('0x220')])/0x2,_0x219471(_0x1018f3-_0x588020)>=_0x29dc79)return!0x1;return!0x0;},'expandbox':function(_0x31a87f,_0x219471){_0x219471['x'][_0x1a4e('0x74')]<_0x31a87f['x'][_0x1a4e('0x74')]&&(_0x31a87f['x'][_0x1a4e('0x74')]=_0x219471['x'][_0x1a4e('0x74')]),_0x219471['y'][_0x1a4e('0x74')]<_0x31a87f['y'][_0x1a4e('0x74')]&&(_0x31a87f['y'][_0x1a4e('0x74')]=_0x219471['y'][_0x1a4e('0x74')]),_0x219471['z']&&_0x219471['z'][_0x1a4e('0x74')]<_0x31a87f['z'][_0x1a4e('0x74')]&&(_0x31a87f['z'][_0x1a4e('0x74')]=_0x219471['z'][_0x1a4e('0x74')]),_0x219471['x'][_0x1a4e('0x6c')]>_0x31a87f['x'][_0x1a4e('0x6c')]&&(_0x31a87f['x'][_0x1a4e('0x6c')]=_0x219471['x']['max']),_0x219471['y'][_0x1a4e('0x6c')]>_0x31a87f['y'][_0x1a4e('0x6c')]&&(_0x31a87f['y'][_0x1a4e('0x6c')]=_0x219471['y'][_0x1a4e('0x6c')]),_0x219471['z']&&_0x219471['z'][_0x1a4e('0x6c')]>_0x31a87f['z'][_0x1a4e('0x6c')]&&(_0x31a87f['z']['max']=_0x219471['z'][_0x1a4e('0x6c')]),_0x31a87f['x'][_0x1a4e('0x976')]=(_0x31a87f['x'][_0x1a4e('0x74')]+_0x31a87f['x'][_0x1a4e('0x6c')])/0x2,_0x31a87f['y']['mid']=(_0x31a87f['y']['min']+_0x31a87f['y']['max'])/0x2,_0x31a87f['z']&&(_0x31a87f['z'][_0x1a4e('0x976')]=(_0x31a87f['z'][_0x1a4e('0x74')]+_0x31a87f['z'][_0x1a4e('0x6c')])/0x2),_0x31a87f['x'][_0x1a4e('0x220')]=_0x31a87f['x'][_0x1a4e('0x6c')]-_0x31a87f['x']['min'],_0x31a87f['y'][_0x1a4e('0x220')]=_0x31a87f['y'][_0x1a4e('0x6c')]-_0x31a87f['y']['min'],_0x31a87f['z']&&(_0x31a87f['z'][_0x1a4e('0x220')]=_0x31a87f['z'][_0x1a4e('0x6c')]-_0x31a87f['z'][_0x1a4e('0x74')]);},'pairiteration':function(_0x31a87f,_0x219471,_0x5db043){var _0x47643c=_0x31a87f[_0x1a4e('0xe')](),_0x2135ee=_0x219471['bbox'](),_0x1018f3=0x186a0,_0x588020=_0x5db043||0.5;if(_0x47643c['x'][_0x1a4e('0x220')]+_0x47643c['y']['size']<_0x588020&&_0x2135ee['x']['size']+_0x2135ee['y']['size']<_0x588020)return[(_0x1018f3*(_0x31a87f[_0x1a4e('0x936')]+_0x31a87f['_t2'])/0x2|0x0)/_0x1018f3+'/'+(_0x1018f3*(_0x219471[_0x1a4e('0x936')]+_0x219471[_0x1a4e('0x94d')])/0x2|0x0)/_0x1018f3];var _0x29dc79=_0x31a87f[_0x1a4e('0x2be')](0.5),_0x4b632e=_0x219471['split'](0.5),_0x26d921=[{'left':_0x29dc79[_0x1a4e('0x5f')],'right':_0x4b632e[_0x1a4e('0x5f')]},{'left':_0x29dc79[_0x1a4e('0x5f')],'right':_0x4b632e['right']},{'left':_0x29dc79[_0x1a4e('0x5d')],'right':_0x4b632e['right']},{'left':_0x29dc79['right'],'right':_0x4b632e[_0x1a4e('0x5f')]}];_0x26d921=_0x26d921[_0x1a4e('0xd9')](function(_0x31a87f){return _0x525eb0[_0x1a4e('0x950')](_0x31a87f[_0x1a4e('0x5f')][_0x1a4e('0xe')](),_0x31a87f[_0x1a4e('0x5d')][_0x1a4e('0xe')]());});var _0x4fe8f9=[];return 0x0===_0x26d921[_0x1a4e('0x1e')]?_0x4fe8f9:(_0x26d921[_0x1a4e('0x3b')](function(_0x31a87f){_0x4fe8f9=_0x4fe8f9['concat'](_0x525eb0[_0x1a4e('0x962')](_0x31a87f[_0x1a4e('0x5f')],_0x31a87f[_0x1a4e('0x5d')],_0x588020));}),_0x4fe8f9=_0x4fe8f9[_0x1a4e('0xd9')](function(_0x31a87f,_0x219471){return _0x4fe8f9[_0x1a4e('0x3e')](_0x31a87f)===_0x219471;}));},'getccenter':function(_0x31a87f,_0x219471,_0x5db043){var _0x1018f3,_0x29dc79=_0x219471['x']-_0x31a87f['x'],_0x4b632e=_0x219471['y']-_0x31a87f['y'],_0x26d921=_0x5db043['x']-_0x219471['x'],_0x4fe8f9=_0x5db043['y']-_0x219471['y'],_0x75c085=_0x29dc79*_0x47643c(_0x2bfb36)-_0x4b632e*_0x2135ee(_0x2bfb36),_0x1b1aea=_0x29dc79*_0x2135ee(_0x2bfb36)+_0x4b632e*_0x47643c(_0x2bfb36),_0x40a074=_0x26d921*_0x47643c(_0x2bfb36)-_0x4fe8f9*_0x2135ee(_0x2bfb36),_0x13be95=_0x26d921*_0x2135ee(_0x2bfb36)+_0x4fe8f9*_0x47643c(_0x2bfb36),_0x4ebd6f=(_0x31a87f['x']+_0x219471['x'])/0x2,_0x2d40e4=(_0x31a87f['y']+_0x219471['y'])/0x2,_0x5afa44=(_0x219471['x']+_0x5db043['x'])/0x2,_0x38b8b9=(_0x219471['y']+_0x5db043['y'])/0x2,_0x4531b9=_0x4ebd6f+_0x75c085,_0x23bd49=_0x2d40e4+_0x1b1aea,_0x2e9e2b=_0x5afa44+_0x40a074,_0x2a8d92=_0x38b8b9+_0x13be95,_0xbf64ab=_0x525eb0[_0x1a4e('0x970')](_0x4ebd6f,_0x2d40e4,_0x4531b9,_0x23bd49,_0x5afa44,_0x38b8b9,_0x2e9e2b,_0x2a8d92),_0x3b4d19=_0x525eb0[_0x1a4e('0x81')](_0xbf64ab,_0x31a87f),_0x25accc=_0x588020(_0x31a87f['y']-_0xbf64ab['y'],_0x31a87f['x']-_0xbf64ab['x']),_0x5ee264=_0x588020(_0x219471['y']-_0xbf64ab['y'],_0x219471['x']-_0xbf64ab['x']),_0x194ee0=_0x588020(_0x5db043['y']-_0xbf64ab['y'],_0x5db043['x']-_0xbf64ab['x']);return _0x25accc<_0x194ee0?((_0x25accc>_0x5ee264||_0x5ee264>_0x194ee0)&&(_0x25accc+=_0xb6fb2d),_0x25accc>_0x194ee0&&(_0x1018f3=_0x194ee0,_0x194ee0=_0x25accc,_0x25accc=_0x1018f3)):_0x194ee0<_0x5ee264&&_0x5ee264<_0x25accc?(_0x1018f3=_0x194ee0,_0x194ee0=_0x25accc,_0x25accc=_0x1018f3):_0x194ee0+=_0xb6fb2d,_0xbf64ab['s']=_0x25accc,_0xbf64ab['e']=_0x194ee0,_0xbf64ab['r']=_0x3b4d19,_0xbf64ab;},'numberSort':function(_0x31a87f,_0x219471){return _0x31a87f-_0x219471;}};_0x31a87f['exports']=_0x525eb0;}();},'./node_modules/bn.js/lib/bn.js':function(_0x2a9077,_0x507836,_0x565c1d){(function(_0x2a9077){!function(_0x2a9077,_0x507836){'use strict';function _0xa403b(_0x2a9077,_0x507836){if(!_0x2a9077)throw new Error(_0x507836||'Assertion\x20failed');}function _0x13b69f(_0x2a9077,_0x507836){_0x2a9077['super_']=_0x507836;var _0x565c1d=function(){};_0x565c1d[_0x1a4e('0xa')]=_0x507836[_0x1a4e('0xa')],_0x2a9077['prototype']=new _0x565c1d(),_0x2a9077[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x2a9077;}function _0x2351d0(_0x2a9077,_0x507836,_0x565c1d){if(_0x2351d0[_0x1a4e('0x977')](_0x2a9077))return _0x2a9077;this[_0x1a4e('0x978')]=0x0,this['words']=null,this['length']=0x0,this[_0x1a4e('0x979')]=null,null!==_0x2a9077&&('le'!==_0x507836&&'be'!==_0x507836||(_0x565c1d=_0x507836,_0x507836=0xa),this['_init'](_0x2a9077||0x0,_0x507836||0xa,_0x565c1d||'be'));}var _0x42b365;_0x1a4e('0x85')==typeof _0x2a9077?_0x2a9077[_0x1a4e('0x0')]=_0x2351d0:_0x507836['BN']=_0x2351d0,_0x2351d0['BN']=_0x2351d0,_0x2351d0['wordSize']=0x1a;try{_0x42b365=_0x565c1d(0x3)[_0x1a4e('0x870')];}catch(_0x328c60){}function _0x524d30(_0x2a9077,_0x507836,_0x565c1d){for(var _0xa403b=0x0,_0x13b69f=Math[_0x1a4e('0x74')](_0x2a9077[_0x1a4e('0x1e')],_0x565c1d),_0x2351d0=_0x507836;_0x2351d0<_0x13b69f;_0x2351d0++){var _0x42b365=_0x2a9077[_0x1a4e('0x913')](_0x2351d0)-0x30;_0xa403b<<=0x4,_0xa403b|=_0x42b365>=0x31&&_0x42b365<=0x36?_0x42b365-0x31+0xa:_0x42b365>=0x11&&_0x42b365<=0x16?_0x42b365-0x11+0xa:0xf&_0x42b365;}return _0xa403b;}function _0x44532e(_0x2a9077,_0x507836,_0x565c1d,_0xa403b){for(var _0x13b69f=0x0,_0x2351d0=Math[_0x1a4e('0x74')](_0x2a9077[_0x1a4e('0x1e')],_0x565c1d),_0x42b365=_0x507836;_0x42b365<_0x2351d0;_0x42b365++){var _0x524d30=_0x2a9077[_0x1a4e('0x913')](_0x42b365)-0x30;_0x13b69f*=_0xa403b,_0x13b69f+=_0x524d30>=0x31?_0x524d30-0x31+0xa:_0x524d30>=0x11?_0x524d30-0x11+0xa:_0x524d30;}return _0x13b69f;}_0x2351d0[_0x1a4e('0x977')]=function(_0x2a9077){return _0x2a9077 instanceof _0x2351d0||null!==_0x2a9077&&_0x1a4e('0x85')==typeof _0x2a9077&&_0x2a9077[_0x1a4e('0x10')][_0x1a4e('0x97a')]===_0x2351d0[_0x1a4e('0x97a')]&&Array[_0x1a4e('0x15')](_0x2a9077['words']);},_0x2351d0['max']=function(_0x2a9077,_0x507836){return _0x2a9077[_0x1a4e('0x97b')](_0x507836)>0x0?_0x2a9077:_0x507836;},_0x2351d0[_0x1a4e('0x74')]=function(_0x2a9077,_0x507836){return _0x2a9077[_0x1a4e('0x97b')](_0x507836)<0x0?_0x2a9077:_0x507836;},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x1f7')]=function(_0x2a9077,_0x507836,_0x565c1d){if(_0x1a4e('0x3d')==typeof _0x2a9077)return this[_0x1a4e('0x97c')](_0x2a9077,_0x507836,_0x565c1d);if(_0x1a4e('0x85')==typeof _0x2a9077)return this[_0x1a4e('0x97d')](_0x2a9077,_0x507836,_0x565c1d);'hex'===_0x507836&&(_0x507836=0x10),_0xa403b(_0x507836===(0x0|_0x507836)&&_0x507836>=0x2&&_0x507836<=0x24);var _0x13b69f=0x0;'-'===(_0x2a9077=_0x2a9077[_0x1a4e('0x95')]()[_0x1a4e('0x115')](/\s+/g,''))[0x0]&&_0x13b69f++,0x10===_0x507836?this[_0x1a4e('0x97e')](_0x2a9077,_0x13b69f):this[_0x1a4e('0x97f')](_0x2a9077,_0x507836,_0x13b69f),'-'===_0x2a9077[0x0]&&(this[_0x1a4e('0x978')]=0x1),this[_0x1a4e('0x980')](),'le'===_0x565c1d&&this['_initArray'](this[_0x1a4e('0x347')](),_0x507836,_0x565c1d);},_0x2351d0['prototype'][_0x1a4e('0x97c')]=function(_0x2a9077,_0x507836,_0x565c1d){_0x2a9077<0x0&&(this[_0x1a4e('0x978')]=0x1,_0x2a9077=-_0x2a9077),_0x2a9077<0x4000000?(this['words']=[0x3ffffff&_0x2a9077],this['length']=0x1):_0x2a9077<0x10000000000000?(this[_0x1a4e('0x981')]=[0x3ffffff&_0x2a9077,_0x2a9077/0x4000000&0x3ffffff],this[_0x1a4e('0x1e')]=0x2):(_0xa403b(_0x2a9077<0x20000000000000),this[_0x1a4e('0x981')]=[0x3ffffff&_0x2a9077,_0x2a9077/0x4000000&0x3ffffff,0x1],this['length']=0x3),'le'===_0x565c1d&&this[_0x1a4e('0x97d')](this[_0x1a4e('0x347')](),_0x507836,_0x565c1d);},_0x2351d0['prototype'][_0x1a4e('0x97d')]=function(_0x2a9077,_0x507836,_0x565c1d){if(_0xa403b('number'==typeof _0x2a9077['length']),_0x2a9077['length']<=0x0)return this[_0x1a4e('0x981')]=[0x0],this['length']=0x1,this;this[_0x1a4e('0x1e')]=Math[_0x1a4e('0x6d')](_0x2a9077[_0x1a4e('0x1e')]/0x3),this[_0x1a4e('0x981')]=new Array(this[_0x1a4e('0x1e')]);for(var _0x13b69f=0x0;_0x13b69f=0x0;_0x13b69f-=0x3)_0x42b365=_0x2a9077[_0x13b69f]|_0x2a9077[_0x13b69f-0x1]<<0x8|_0x2a9077[_0x13b69f-0x2]<<0x10,this['words'][_0x2351d0]|=_0x42b365<<_0x524d30&0x3ffffff,this[_0x1a4e('0x981')][_0x2351d0+0x1]=_0x42b365>>>0x1a-_0x524d30&0x3ffffff,(_0x524d30+=0x18)>=0x1a&&(_0x524d30-=0x1a,_0x2351d0++);else if('le'===_0x565c1d)for(_0x13b69f=0x0,_0x2351d0=0x0;_0x13b69f<_0x2a9077['length'];_0x13b69f+=0x3)_0x42b365=_0x2a9077[_0x13b69f]|_0x2a9077[_0x13b69f+0x1]<<0x8|_0x2a9077[_0x13b69f+0x2]<<0x10,this[_0x1a4e('0x981')][_0x2351d0]|=_0x42b365<<_0x524d30&0x3ffffff,this[_0x1a4e('0x981')][_0x2351d0+0x1]=_0x42b365>>>0x1a-_0x524d30&0x3ffffff,(_0x524d30+=0x18)>=0x1a&&(_0x524d30-=0x1a,_0x2351d0++);return this[_0x1a4e('0x980')]();},_0x2351d0['prototype'][_0x1a4e('0x97e')]=function(_0x2a9077,_0x507836){this[_0x1a4e('0x1e')]=Math[_0x1a4e('0x6d')]((_0x2a9077[_0x1a4e('0x1e')]-_0x507836)/0x6),this[_0x1a4e('0x981')]=new Array(this['length']);for(var _0x565c1d=0x0;_0x565c1d=_0x507836;_0x565c1d-=0x6)_0x13b69f=_0x524d30(_0x2a9077,_0x565c1d,_0x565c1d+0x6),this['words'][_0xa403b]|=_0x13b69f<<_0x2351d0&0x3ffffff,this[_0x1a4e('0x981')][_0xa403b+0x1]|=_0x13b69f>>>0x1a-_0x2351d0&0x3fffff,(_0x2351d0+=0x18)>=0x1a&&(_0x2351d0-=0x1a,_0xa403b++);_0x565c1d+0x6!==_0x507836&&(_0x13b69f=_0x524d30(_0x2a9077,_0x507836,_0x565c1d+0x6),this[_0x1a4e('0x981')][_0xa403b]|=_0x13b69f<<_0x2351d0&0x3ffffff,this['words'][_0xa403b+0x1]|=_0x13b69f>>>0x1a-_0x2351d0&0x3fffff),this[_0x1a4e('0x980')]();},_0x2351d0[_0x1a4e('0xa')]['_parseBase']=function(_0x2a9077,_0x507836,_0x565c1d){this[_0x1a4e('0x981')]=[0x0],this['length']=0x1;for(var _0xa403b=0x0,_0x13b69f=0x1;_0x13b69f<=0x3ffffff;_0x13b69f*=_0x507836)_0xa403b++;_0xa403b--,_0x13b69f=_0x13b69f/_0x507836|0x0;for(var _0x2351d0=_0x2a9077[_0x1a4e('0x1e')]-_0x565c1d,_0x42b365=_0x2351d0%_0xa403b,_0x524d30=Math['min'](_0x2351d0,_0x2351d0-_0x42b365)+_0x565c1d,_0x803291=0x0,_0x4f092e=_0x565c1d;_0x4f092e<_0x524d30;_0x4f092e+=_0xa403b)_0x803291=_0x44532e(_0x2a9077,_0x4f092e,_0x4f092e+_0xa403b,_0x507836),this['imuln'](_0x13b69f),this[_0x1a4e('0x981')][0x0]+_0x803291<0x4000000?this[_0x1a4e('0x981')][0x0]+=_0x803291:this[_0x1a4e('0x982')](_0x803291);if(0x0!==_0x42b365){var _0x3d83cf=0x1;for(_0x803291=_0x44532e(_0x2a9077,_0x4f092e,_0x2a9077[_0x1a4e('0x1e')],_0x507836),_0x4f092e=0x0;_0x4f092e<_0x42b365;_0x4f092e++)_0x3d83cf*=_0x507836;this[_0x1a4e('0x983')](_0x3d83cf),this[_0x1a4e('0x981')][0x0]+_0x803291<0x4000000?this[_0x1a4e('0x981')][0x0]+=_0x803291:this[_0x1a4e('0x982')](_0x803291);}},_0x2351d0[_0x1a4e('0xa')]['copy']=function(_0x2a9077){_0x2a9077['words']=new Array(this[_0x1a4e('0x1e')]);for(var _0x507836=0x0;_0x5078360x1&&0x0===this[_0x1a4e('0x981')][this[_0x1a4e('0x1e')]-0x1];)this[_0x1a4e('0x1e')]--;return this[_0x1a4e('0x985')]();},_0x2351d0[_0x1a4e('0xa')]['_normSign']=function(){return 0x1===this['length']&&0x0===this[_0x1a4e('0x981')][0x0]&&(this[_0x1a4e('0x978')]=0x0),this;},_0x2351d0['prototype']['inspect']=function(){return(this[_0x1a4e('0x979')]?'';};var _0x28b451=['','0','00',_0x1a4e('0x987'),_0x1a4e('0x988'),_0x1a4e('0x989'),_0x1a4e('0x98a'),_0x1a4e('0x98b'),_0x1a4e('0x98c'),_0x1a4e('0x98d'),_0x1a4e('0x98e'),_0x1a4e('0x98f'),_0x1a4e('0x990'),_0x1a4e('0x991'),_0x1a4e('0x992'),_0x1a4e('0x993'),_0x1a4e('0x994'),_0x1a4e('0x995'),_0x1a4e('0x996'),'0000000000000000000',_0x1a4e('0x997'),'000000000000000000000',_0x1a4e('0x998'),_0x1a4e('0x999'),_0x1a4e('0x99a'),_0x1a4e('0x99b')],_0x122f71=[0x0,0x0,0x19,0x10,0xc,0xb,0xa,0x9,0x8,0x8,0x7,0x7,0x7,0x7,0x6,0x6,0x6,0x6,0x6,0x6,0x6,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5],_0x202d0f=[0x0,0x0,0x2000000,0x290d741,0x1000000,0x2e90edd,0x39aa400,0x267bf47,0x1000000,0x290d741,0x989680,0x12959c3,0x222c000,0x3bd7765,0x72e440,0xadcea1,0x1000000,0x1704f61,0x206fc40,0x2cddcf9,0x3d09000,0x3e5185,0x4ea360,0x6235f7,0x798000,0x9502f9,0xb54ba0,0xdaf26b,0x1069c00,0x138f9ad,0x172c9e0,0x1b4d89f,0x2000000,0x25528a1,0x2b54a20,0x3216b93,0x39aa400];function _0x2038a0(_0x2a9077,_0x507836,_0x565c1d){_0x565c1d[_0x1a4e('0x978')]=_0x507836[_0x1a4e('0x978')]^_0x2a9077[_0x1a4e('0x978')];var _0xa403b=_0x2a9077[_0x1a4e('0x1e')]+_0x507836[_0x1a4e('0x1e')]|0x0;_0x565c1d[_0x1a4e('0x1e')]=_0xa403b,_0xa403b=_0xa403b-0x1|0x0;var _0x13b69f=0x0|_0x2a9077[_0x1a4e('0x981')][0x0],_0x2351d0=0x0|_0x507836[_0x1a4e('0x981')][0x0],_0x42b365=_0x13b69f*_0x2351d0,_0x524d30=0x3ffffff&_0x42b365,_0x44532e=_0x42b365/0x4000000|0x0;_0x565c1d[_0x1a4e('0x981')][0x0]=_0x524d30;for(var _0x28b451=0x1;_0x28b451<_0xa403b;_0x28b451++){for(var _0x122f71=_0x44532e>>>0x1a,_0x202d0f=0x3ffffff&_0x44532e,_0x2038a0=Math[_0x1a4e('0x74')](_0x28b451,_0x507836[_0x1a4e('0x1e')]-0x1),_0x3096af=Math['max'](0x0,_0x28b451-_0x2a9077['length']+0x1);_0x3096af<=_0x2038a0;_0x3096af++){var _0x115cba=_0x28b451-_0x3096af|0x0;_0x122f71+=(_0x42b365=(_0x13b69f=0x0|_0x2a9077['words'][_0x115cba])*(_0x2351d0=0x0|_0x507836[_0x1a4e('0x981')][_0x3096af])+_0x202d0f)/0x4000000|0x0,_0x202d0f=0x3ffffff&_0x42b365;}_0x565c1d[_0x1a4e('0x981')][_0x28b451]=0x0|_0x202d0f,_0x44532e=0x0|_0x122f71;}return 0x0!==_0x44532e?_0x565c1d['words'][_0x28b451]=0x0|_0x44532e:_0x565c1d['length']--,_0x565c1d['strip']();}_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(_0x2a9077,_0x507836){var _0x565c1d;if(_0x507836=0x0|_0x507836||0x1,0x10===(_0x2a9077=_0x2a9077||0xa)||_0x1a4e('0x823')===_0x2a9077){_0x565c1d='';for(var _0x13b69f=0x0,_0x2351d0=0x0,_0x42b365=0x0;_0x42b365>>0x18-_0x13b69f&0xffffff)||_0x42b365!==this[_0x1a4e('0x1e')]-0x1?_0x28b451[0x6-_0x44532e[_0x1a4e('0x1e')]]+_0x44532e+_0x565c1d:_0x44532e+_0x565c1d,(_0x13b69f+=0x2)>=0x1a&&(_0x13b69f-=0x1a,_0x42b365--);}for(0x0!==_0x2351d0&&(_0x565c1d=_0x2351d0['toString'](0x10)+_0x565c1d);_0x565c1d[_0x1a4e('0x1e')]%_0x507836!=0x0;)_0x565c1d='0'+_0x565c1d;return 0x0!==this[_0x1a4e('0x978')]&&(_0x565c1d='-'+_0x565c1d),_0x565c1d;}if(_0x2a9077===(0x0|_0x2a9077)&&_0x2a9077>=0x2&&_0x2a9077<=0x24){var _0x2038a0=_0x122f71[_0x2a9077],_0x37326a=_0x202d0f[_0x2a9077];_0x565c1d='';var _0x3a2321=this[_0x1a4e('0x240')]();for(_0x3a2321[_0x1a4e('0x978')]=0x0;!_0x3a2321['isZero']();){var _0xe9fa99=_0x3a2321[_0x1a4e('0x99c')](_0x37326a)['toString'](_0x2a9077);_0x565c1d=(_0x3a2321=_0x3a2321['idivn'](_0x37326a))[_0x1a4e('0x266')]()?_0xe9fa99+_0x565c1d:_0x28b451[_0x2038a0-_0xe9fa99[_0x1a4e('0x1e')]]+_0xe9fa99+_0x565c1d;}for(this[_0x1a4e('0x266')]()&&(_0x565c1d='0'+_0x565c1d);_0x565c1d['length']%_0x507836!=0x0;)_0x565c1d='0'+_0x565c1d;return 0x0!==this['negative']&&(_0x565c1d='-'+_0x565c1d),_0x565c1d;}_0xa403b(!0x1,'Base\x20should\x20be\x20between\x202\x20and\x2036');},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x99d')]=function(){var _0x2a9077=this[_0x1a4e('0x981')][0x0];return 0x2===this['length']?_0x2a9077+=0x4000000*this[_0x1a4e('0x981')][0x1]:0x3===this[_0x1a4e('0x1e')]&&0x1===this[_0x1a4e('0x981')][0x2]?_0x2a9077+=0x10000000000000+0x4000000*this[_0x1a4e('0x981')][0x1]:this[_0x1a4e('0x1e')]>0x2&&_0xa403b(!0x1,'Number\x20can\x20only\x20safely\x20store\x20up\x20to\x2053\x20bits'),0x0!==this[_0x1a4e('0x978')]?-_0x2a9077:_0x2a9077;},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0xb9')]=function(){return this[_0x1a4e('0x95')](0x10);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x99e')]=function(_0x2a9077,_0x507836){return _0xa403b(void 0x0!==_0x42b365),this['toArrayLike'](_0x42b365,_0x2a9077,_0x507836);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x347')]=function(_0x2a9077,_0x507836){return this[_0x1a4e('0x99f')](Array,_0x2a9077,_0x507836);},_0x2351d0[_0x1a4e('0xa')]['toArrayLike']=function(_0x2a9077,_0x507836,_0x565c1d){var _0x13b69f=this[_0x1a4e('0x876')](),_0x2351d0=_0x565c1d||Math['max'](0x1,_0x13b69f);_0xa403b(_0x13b69f<=_0x2351d0,_0x1a4e('0x9a0')),_0xa403b(_0x2351d0>0x0,_0x1a4e('0x9a1')),this[_0x1a4e('0x980')]();var _0x42b365,_0x524d30,_0x44532e='le'===_0x507836,_0x28b451=new _0x2a9077(_0x2351d0),_0x122f71=this[_0x1a4e('0x240')]();if(_0x44532e){for(_0x524d30=0x0;!_0x122f71['isZero']();_0x524d30++)_0x42b365=_0x122f71['andln'](0xff),_0x122f71['iushrn'](0x8),_0x28b451[_0x524d30]=_0x42b365;for(;_0x524d30<_0x2351d0;_0x524d30++)_0x28b451[_0x524d30]=0x0;}else{for(_0x524d30=0x0;_0x524d30<_0x2351d0-_0x13b69f;_0x524d30++)_0x28b451[_0x524d30]=0x0;for(_0x524d30=0x0;!_0x122f71[_0x1a4e('0x266')]();_0x524d30++)_0x42b365=_0x122f71[_0x1a4e('0x9a2')](0xff),_0x122f71['iushrn'](0x8),_0x28b451[_0x2351d0-_0x524d30-0x1]=_0x42b365;}return _0x28b451;},Math[_0x1a4e('0x9a3')]?_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9a4')]=function(_0x2a9077){return 0x20-Math[_0x1a4e('0x9a3')](_0x2a9077);}:_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9a4')]=function(_0x2a9077){var _0x507836=_0x2a9077,_0x565c1d=0x0;return _0x507836>=0x1000&&(_0x565c1d+=0xd,_0x507836>>>=0xd),_0x507836>=0x40&&(_0x565c1d+=0x7,_0x507836>>>=0x7),_0x507836>=0x8&&(_0x565c1d+=0x4,_0x507836>>>=0x4),_0x507836>=0x2&&(_0x565c1d+=0x2,_0x507836>>>=0x2),_0x565c1d+_0x507836;},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9a5')]=function(_0x2a9077){if(0x0===_0x2a9077)return 0x1a;var _0x507836=_0x2a9077,_0x565c1d=0x0;return 0x0==(0x1fff&_0x507836)&&(_0x565c1d+=0xd,_0x507836>>>=0xd),0x0==(0x7f&_0x507836)&&(_0x565c1d+=0x7,_0x507836>>>=0x7),0x0==(0xf&_0x507836)&&(_0x565c1d+=0x4,_0x507836>>>=0x4),0x0==(0x3&_0x507836)&&(_0x565c1d+=0x2,_0x507836>>>=0x2),0x0==(0x1&_0x507836)&&_0x565c1d++,_0x565c1d;},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9a6')]=function(){var _0x2a9077=this[_0x1a4e('0x981')][this[_0x1a4e('0x1e')]-0x1],_0x507836=this[_0x1a4e('0x9a4')](_0x2a9077);return 0x1a*(this[_0x1a4e('0x1e')]-0x1)+_0x507836;},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9a7')]=function(){if(this[_0x1a4e('0x266')]())return 0x0;for(var _0x2a9077=0x0,_0x507836=0x0;_0x507836_0x2a9077[_0x1a4e('0x1e')]?this[_0x1a4e('0x240')]()['ior'](_0x2a9077):_0x2a9077[_0x1a4e('0x240')]()[_0x1a4e('0x9af')](this);},_0x2351d0['prototype']['uor']=function(_0x2a9077){return this[_0x1a4e('0x1e')]>_0x2a9077[_0x1a4e('0x1e')]?this[_0x1a4e('0x240')]()[_0x1a4e('0x9ae')](_0x2a9077):_0x2a9077[_0x1a4e('0x240')]()[_0x1a4e('0x9ae')](this);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9b0')]=function(_0x2a9077){var _0x507836;_0x507836=this[_0x1a4e('0x1e')]>_0x2a9077['length']?_0x2a9077:this;for(var _0x565c1d=0x0;_0x565c1d<_0x507836[_0x1a4e('0x1e')];_0x565c1d++)this[_0x1a4e('0x981')][_0x565c1d]=this[_0x1a4e('0x981')][_0x565c1d]&_0x2a9077['words'][_0x565c1d];return this[_0x1a4e('0x1e')]=_0x507836[_0x1a4e('0x1e')],this['strip']();},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9b1')]=function(_0x2a9077){return _0xa403b(0x0==(this[_0x1a4e('0x978')]|_0x2a9077[_0x1a4e('0x978')])),this[_0x1a4e('0x9b0')](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9b2')]=function(_0x2a9077){return this[_0x1a4e('0x1e')]>_0x2a9077['length']?this[_0x1a4e('0x240')]()[_0x1a4e('0x9b1')](_0x2a9077):_0x2a9077[_0x1a4e('0x240')]()['iand'](this);},_0x2351d0[_0x1a4e('0xa')]['uand']=function(_0x2a9077){return this[_0x1a4e('0x1e')]>_0x2a9077[_0x1a4e('0x1e')]?this[_0x1a4e('0x240')]()[_0x1a4e('0x9b0')](_0x2a9077):_0x2a9077[_0x1a4e('0x240')]()[_0x1a4e('0x9b0')](this);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9b3')]=function(_0x2a9077){var _0x507836,_0x565c1d;this[_0x1a4e('0x1e')]>_0x2a9077[_0x1a4e('0x1e')]?(_0x507836=this,_0x565c1d=_0x2a9077):(_0x507836=_0x2a9077,_0x565c1d=this);for(var _0xa403b=0x0;_0xa403b<_0x565c1d['length'];_0xa403b++)this[_0x1a4e('0x981')][_0xa403b]=_0x507836[_0x1a4e('0x981')][_0xa403b]^_0x565c1d['words'][_0xa403b];if(this!==_0x507836)for(;_0xa403b<_0x507836['length'];_0xa403b++)this[_0x1a4e('0x981')][_0xa403b]=_0x507836['words'][_0xa403b];return this[_0x1a4e('0x1e')]=_0x507836[_0x1a4e('0x1e')],this[_0x1a4e('0x980')]();},_0x2351d0['prototype'][_0x1a4e('0x9b4')]=function(_0x2a9077){return _0xa403b(0x0==(this[_0x1a4e('0x978')]|_0x2a9077['negative'])),this['iuxor'](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9b5')]=function(_0x2a9077){return this['length']>_0x2a9077[_0x1a4e('0x1e')]?this['clone']()[_0x1a4e('0x9b4')](_0x2a9077):_0x2a9077[_0x1a4e('0x240')]()['ixor'](this);},_0x2351d0[_0x1a4e('0xa')]['uxor']=function(_0x2a9077){return this['length']>_0x2a9077['length']?this[_0x1a4e('0x240')]()['iuxor'](_0x2a9077):_0x2a9077[_0x1a4e('0x240')]()[_0x1a4e('0x9b3')](this);},_0x2351d0[_0x1a4e('0xa')]['inotn']=function(_0x2a9077){_0xa403b(_0x1a4e('0x3d')==typeof _0x2a9077&&_0x2a9077>=0x0);var _0x507836=0x0|Math[_0x1a4e('0x6d')](_0x2a9077/0x1a),_0x565c1d=_0x2a9077%0x1a;this['_expand'](_0x507836),_0x565c1d>0x0&&_0x507836--;for(var _0x13b69f=0x0;_0x13b69f<_0x507836;_0x13b69f++)this[_0x1a4e('0x981')][_0x13b69f]=0x3ffffff&~this['words'][_0x13b69f];return _0x565c1d>0x0&&(this['words'][_0x13b69f]=~this[_0x1a4e('0x981')][_0x13b69f]&0x3ffffff>>0x1a-_0x565c1d),this[_0x1a4e('0x980')]();},_0x2351d0['prototype'][_0x1a4e('0x9aa')]=function(_0x2a9077){return this[_0x1a4e('0x240')]()[_0x1a4e('0x9b6')](_0x2a9077);},_0x2351d0['prototype'][_0x1a4e('0x9b7')]=function(_0x2a9077,_0x507836){_0xa403b(_0x1a4e('0x3d')==typeof _0x2a9077&&_0x2a9077>=0x0);var _0x565c1d=_0x2a9077/0x1a|0x0,_0x13b69f=_0x2a9077%0x1a;return this[_0x1a4e('0x984')](_0x565c1d+0x1),this[_0x1a4e('0x981')][_0x565c1d]=_0x507836?this[_0x1a4e('0x981')][_0x565c1d]|0x1<<_0x13b69f:this['words'][_0x565c1d]&~(0x1<<_0x13b69f),this[_0x1a4e('0x980')]();},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9b8')]=function(_0x2a9077){var _0x507836,_0x565c1d,_0xa403b;if(0x0!==this['negative']&&0x0===_0x2a9077[_0x1a4e('0x978')])return this['negative']=0x0,_0x507836=this[_0x1a4e('0x9b9')](_0x2a9077),this['negative']^=0x1,this['_normSign']();if(0x0===this[_0x1a4e('0x978')]&&0x0!==_0x2a9077[_0x1a4e('0x978')])return _0x2a9077['negative']=0x0,_0x507836=this['isub'](_0x2a9077),_0x2a9077[_0x1a4e('0x978')]=0x1,_0x507836['_normSign']();this[_0x1a4e('0x1e')]>_0x2a9077[_0x1a4e('0x1e')]?(_0x565c1d=this,_0xa403b=_0x2a9077):(_0x565c1d=_0x2a9077,_0xa403b=this);for(var _0x13b69f=0x0,_0x2351d0=0x0;_0x2351d0<_0xa403b[_0x1a4e('0x1e')];_0x2351d0++)_0x507836=(0x0|_0x565c1d['words'][_0x2351d0])+(0x0|_0xa403b[_0x1a4e('0x981')][_0x2351d0])+_0x13b69f,this['words'][_0x2351d0]=0x3ffffff&_0x507836,_0x13b69f=_0x507836>>>0x1a;for(;0x0!==_0x13b69f&&_0x2351d0<_0x565c1d[_0x1a4e('0x1e')];_0x2351d0++)_0x507836=(0x0|_0x565c1d[_0x1a4e('0x981')][_0x2351d0])+_0x13b69f,this['words'][_0x2351d0]=0x3ffffff&_0x507836,_0x13b69f=_0x507836>>>0x1a;if(this['length']=_0x565c1d['length'],0x0!==_0x13b69f)this[_0x1a4e('0x981')][this[_0x1a4e('0x1e')]]=_0x13b69f,this[_0x1a4e('0x1e')]++;else if(_0x565c1d!==this)for(;_0x2351d0<_0x565c1d['length'];_0x2351d0++)this[_0x1a4e('0x981')][_0x2351d0]=_0x565c1d[_0x1a4e('0x981')][_0x2351d0];return this;},_0x2351d0['prototype'][_0x1a4e('0x177')]=function(_0x2a9077){var _0x507836;return 0x0!==_0x2a9077[_0x1a4e('0x978')]&&0x0===this[_0x1a4e('0x978')]?(_0x2a9077['negative']=0x0,_0x507836=this['sub'](_0x2a9077),_0x2a9077[_0x1a4e('0x978')]^=0x1,_0x507836):0x0===_0x2a9077[_0x1a4e('0x978')]&&0x0!==this[_0x1a4e('0x978')]?(this[_0x1a4e('0x978')]=0x0,_0x507836=_0x2a9077[_0x1a4e('0x16a')](this),this['negative']=0x1,_0x507836):this[_0x1a4e('0x1e')]>_0x2a9077[_0x1a4e('0x1e')]?this['clone']()[_0x1a4e('0x9b8')](_0x2a9077):_0x2a9077[_0x1a4e('0x240')]()[_0x1a4e('0x9b8')](this);},_0x2351d0[_0x1a4e('0xa')]['isub']=function(_0x2a9077){if(0x0!==_0x2a9077['negative']){_0x2a9077[_0x1a4e('0x978')]=0x0;var _0x507836=this[_0x1a4e('0x9b8')](_0x2a9077);return _0x2a9077[_0x1a4e('0x978')]=0x1,_0x507836[_0x1a4e('0x985')]();}if(0x0!==this[_0x1a4e('0x978')])return this[_0x1a4e('0x978')]=0x0,this[_0x1a4e('0x9b8')](_0x2a9077),this[_0x1a4e('0x978')]=0x1,this['_normSign']();var _0x565c1d,_0xa403b,_0x13b69f=this[_0x1a4e('0x97b')](_0x2a9077);if(0x0===_0x13b69f)return this[_0x1a4e('0x978')]=0x0,this[_0x1a4e('0x1e')]=0x1,this['words'][0x0]=0x0,this;_0x13b69f>0x0?(_0x565c1d=this,_0xa403b=_0x2a9077):(_0x565c1d=_0x2a9077,_0xa403b=this);for(var _0x2351d0=0x0,_0x42b365=0x0;_0x42b365<_0xa403b[_0x1a4e('0x1e')];_0x42b365++)_0x2351d0=(_0x507836=(0x0|_0x565c1d['words'][_0x42b365])-(0x0|_0xa403b[_0x1a4e('0x981')][_0x42b365])+_0x2351d0)>>0x1a,this['words'][_0x42b365]=0x3ffffff&_0x507836;for(;0x0!==_0x2351d0&&_0x42b365<_0x565c1d[_0x1a4e('0x1e')];_0x42b365++)_0x2351d0=(_0x507836=(0x0|_0x565c1d[_0x1a4e('0x981')][_0x42b365])+_0x2351d0)>>0x1a,this[_0x1a4e('0x981')][_0x42b365]=0x3ffffff&_0x507836;if(0x0===_0x2351d0&&_0x42b365<_0x565c1d[_0x1a4e('0x1e')]&&_0x565c1d!==this)for(;_0x42b365<_0x565c1d[_0x1a4e('0x1e')];_0x42b365++)this[_0x1a4e('0x981')][_0x42b365]=_0x565c1d[_0x1a4e('0x981')][_0x42b365];return this[_0x1a4e('0x1e')]=Math[_0x1a4e('0x6c')](this[_0x1a4e('0x1e')],_0x42b365),_0x565c1d!==this&&(this['negative']=0x1),this[_0x1a4e('0x980')]();},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x16a')]=function(_0x2a9077){return this[_0x1a4e('0x240')]()[_0x1a4e('0x9b9')](_0x2a9077);};var _0x3d2a4a=function(_0x2a9077,_0x507836,_0x565c1d){var _0xa403b,_0x13b69f,_0x2351d0,_0x42b365=_0x2a9077[_0x1a4e('0x981')],_0x524d30=_0x507836['words'],_0x44532e=_0x565c1d[_0x1a4e('0x981')],_0x28b451=0x0,_0x122f71=0x0|_0x42b365[0x0],_0x202d0f=0x1fff&_0x122f71,_0x2038a0=_0x122f71>>>0xd,_0x3d2a4a=0x0|_0x42b365[0x1],_0x58e9b7=0x1fff&_0x3d2a4a,_0x29ec0e=_0x3d2a4a>>>0xd,_0x25888c=0x0|_0x42b365[0x2],_0x4dad85=0x1fff&_0x25888c,_0x43fd07=_0x25888c>>>0xd,_0x1e2ea8=0x0|_0x42b365[0x3],_0x365361=0x1fff&_0x1e2ea8,_0x521985=_0x1e2ea8>>>0xd,_0x499a3b=0x0|_0x42b365[0x4],_0x43308e=0x1fff&_0x499a3b,_0x4b64a4=_0x499a3b>>>0xd,_0x12f8f8=0x0|_0x42b365[0x5],_0x487556=0x1fff&_0x12f8f8,_0x3e48c6=_0x12f8f8>>>0xd,_0x542d7f=0x0|_0x42b365[0x6],_0x403154=0x1fff&_0x542d7f,_0x50333e=_0x542d7f>>>0xd,_0x2b1c80=0x0|_0x42b365[0x7],_0x30db3a=0x1fff&_0x2b1c80,_0x47891c=_0x2b1c80>>>0xd,_0x1935d8=0x0|_0x42b365[0x8],_0x4ad713=0x1fff&_0x1935d8,_0x3eac9e=_0x1935d8>>>0xd,_0x24e9e5=0x0|_0x42b365[0x9],_0x2b696c=0x1fff&_0x24e9e5,_0x20512c=_0x24e9e5>>>0xd,_0x588dd6=0x0|_0x524d30[0x0],_0x19fefd=0x1fff&_0x588dd6,_0x518dad=_0x588dd6>>>0xd,_0x1f05a2=0x0|_0x524d30[0x1],_0x2d3ff2=0x1fff&_0x1f05a2,_0x470303=_0x1f05a2>>>0xd,_0x190d69=0x0|_0x524d30[0x2],_0x2e6460=0x1fff&_0x190d69,_0x1919f=_0x190d69>>>0xd,_0x13faa8=0x0|_0x524d30[0x3],_0x57c511=0x1fff&_0x13faa8,_0x135776=_0x13faa8>>>0xd,_0x1cb512=0x0|_0x524d30[0x4],_0x4ef372=0x1fff&_0x1cb512,_0x240ce8=_0x1cb512>>>0xd,_0x31a7df=0x0|_0x524d30[0x5],_0x2f3983=0x1fff&_0x31a7df,_0x2dc684=_0x31a7df>>>0xd,_0x152a10=0x0|_0x524d30[0x6],_0x92230f=0x1fff&_0x152a10,_0x5d965f=_0x152a10>>>0xd,_0x5e7dd0=0x0|_0x524d30[0x7],_0x3da615=0x1fff&_0x5e7dd0,_0x1c9fd2=_0x5e7dd0>>>0xd,_0x1480a0=0x0|_0x524d30[0x8],_0x3ccc46=0x1fff&_0x1480a0,_0x34bd65=_0x1480a0>>>0xd,_0x294c92=0x0|_0x524d30[0x9],_0x262208=0x1fff&_0x294c92,_0x43f0a0=_0x294c92>>>0xd;_0x565c1d[_0x1a4e('0x978')]=_0x2a9077['negative']^_0x507836['negative'],_0x565c1d[_0x1a4e('0x1e')]=0x13;var _0x12dca6=(_0x28b451+(_0xa403b=Math[_0x1a4e('0x9ba')](_0x202d0f,_0x19fefd))|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x202d0f,_0x518dad))+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x19fefd)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=Math['imul'](_0x2038a0,_0x518dad))+(_0x13b69f>>>0xd)|0x0)+(_0x12dca6>>>0x1a)|0x0,_0x12dca6&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x19fefd),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x518dad))+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x19fefd)|0x0,_0x2351d0=Math['imul'](_0x29ec0e,_0x518dad);var _0x13bfd8=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x2d3ff2)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x470303)|0x0)+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x2d3ff2)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x470303)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x13bfd8>>>0x1a)|0x0,_0x13bfd8&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x4dad85,_0x19fefd),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x4dad85,_0x518dad))+Math['imul'](_0x43fd07,_0x19fefd)|0x0,_0x2351d0=Math['imul'](_0x43fd07,_0x518dad),_0xa403b=_0xa403b+Math['imul'](_0x58e9b7,_0x2d3ff2)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x58e9b7,_0x470303)|0x0)+Math['imul'](_0x29ec0e,_0x2d3ff2)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x470303)|0x0;var _0x28a30c=(_0x28b451+(_0xa403b=_0xa403b+Math['imul'](_0x202d0f,_0x2e6460)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x202d0f,_0x1919f)|0x0)+Math['imul'](_0x2038a0,_0x2e6460)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math['imul'](_0x2038a0,_0x1919f)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x28a30c>>>0x1a)|0x0,_0x28a30c&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x365361,_0x19fefd),_0x13b69f=(_0x13b69f=Math['imul'](_0x365361,_0x518dad))+Math[_0x1a4e('0x9ba')](_0x521985,_0x19fefd)|0x0,_0x2351d0=Math[_0x1a4e('0x9ba')](_0x521985,_0x518dad),_0xa403b=_0xa403b+Math['imul'](_0x4dad85,_0x2d3ff2)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x470303)|0x0)+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x2d3ff2)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x43fd07,_0x470303)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x2e6460)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x58e9b7,_0x1919f)|0x0)+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x2e6460)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x1919f)|0x0;var _0x2cb6bf=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x57c511)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x202d0f,_0x135776)|0x0)+Math['imul'](_0x2038a0,_0x57c511)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math['imul'](_0x2038a0,_0x135776)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x2cb6bf>>>0x1a)|0x0,_0x2cb6bf&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x43308e,_0x19fefd),_0x13b69f=(_0x13b69f=Math['imul'](_0x43308e,_0x518dad))+Math['imul'](_0x4b64a4,_0x19fefd)|0x0,_0x2351d0=Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x518dad),_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x365361,_0x2d3ff2)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x365361,_0x470303)|0x0)+Math[_0x1a4e('0x9ba')](_0x521985,_0x2d3ff2)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x521985,_0x470303)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x2e6460)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x1919f)|0x0)+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x2e6460)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x1919f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x57c511)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x58e9b7,_0x135776)|0x0)+Math['imul'](_0x29ec0e,_0x57c511)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x29ec0e,_0x135776)|0x0;var _0x327d2a=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x4ef372)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x240ce8)|0x0)+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x4ef372)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x240ce8)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x327d2a>>>0x1a)|0x0,_0x327d2a&=0x3ffffff,_0xa403b=Math['imul'](_0x487556,_0x19fefd),_0x13b69f=(_0x13b69f=Math['imul'](_0x487556,_0x518dad))+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x19fefd)|0x0,_0x2351d0=Math['imul'](_0x3e48c6,_0x518dad),_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x43308e,_0x2d3ff2)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x43308e,_0x470303)|0x0)+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x2d3ff2)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x470303)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x365361,_0x2e6460)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x365361,_0x1919f)|0x0)+Math[_0x1a4e('0x9ba')](_0x521985,_0x2e6460)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x521985,_0x1919f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x57c511)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x4dad85,_0x135776)|0x0)+Math['imul'](_0x43fd07,_0x57c511)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x135776)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x4ef372)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x58e9b7,_0x240ce8)|0x0)+Math['imul'](_0x29ec0e,_0x4ef372)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x29ec0e,_0x240ce8)|0x0;var _0x4b4273=(_0x28b451+(_0xa403b=_0xa403b+Math['imul'](_0x202d0f,_0x2f3983)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x2dc684)|0x0)+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x2f3983)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x2dc684)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x4b4273>>>0x1a)|0x0,_0x4b4273&=0x3ffffff,_0xa403b=Math['imul'](_0x403154,_0x19fefd),_0x13b69f=(_0x13b69f=Math['imul'](_0x403154,_0x518dad))+Math[_0x1a4e('0x9ba')](_0x50333e,_0x19fefd)|0x0,_0x2351d0=Math['imul'](_0x50333e,_0x518dad),_0xa403b=_0xa403b+Math['imul'](_0x487556,_0x2d3ff2)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x487556,_0x470303)|0x0)+Math['imul'](_0x3e48c6,_0x2d3ff2)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x470303)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x43308e,_0x2e6460)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x43308e,_0x1919f)|0x0)+Math['imul'](_0x4b64a4,_0x2e6460)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x4b64a4,_0x1919f)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x365361,_0x57c511)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x365361,_0x135776)|0x0)+Math[_0x1a4e('0x9ba')](_0x521985,_0x57c511)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x521985,_0x135776)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x4dad85,_0x4ef372)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x240ce8)|0x0)+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x4ef372)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x43fd07,_0x240ce8)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x2f3983)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x2dc684)|0x0)+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x2f3983)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x2dc684)|0x0;var _0x1e2f48=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x92230f)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x5d965f)|0x0)+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x92230f)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x5d965f)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x1e2f48>>>0x1a)|0x0,_0x1e2f48&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x30db3a,_0x19fefd),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x30db3a,_0x518dad))+Math[_0x1a4e('0x9ba')](_0x47891c,_0x19fefd)|0x0,_0x2351d0=Math[_0x1a4e('0x9ba')](_0x47891c,_0x518dad),_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x403154,_0x2d3ff2)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x403154,_0x470303)|0x0)+Math[_0x1a4e('0x9ba')](_0x50333e,_0x2d3ff2)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x50333e,_0x470303)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x487556,_0x2e6460)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x487556,_0x1919f)|0x0)+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x2e6460)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x1919f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x43308e,_0x57c511)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x43308e,_0x135776)|0x0)+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x57c511)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x135776)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x365361,_0x4ef372)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x365361,_0x240ce8)|0x0)+Math['imul'](_0x521985,_0x4ef372)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x521985,_0x240ce8)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x2f3983)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x2dc684)|0x0)+Math['imul'](_0x43fd07,_0x2f3983)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x2dc684)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x92230f)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x58e9b7,_0x5d965f)|0x0)+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x92230f)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x5d965f)|0x0;var _0x358872=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x3da615)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x1c9fd2)|0x0)+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x3da615)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x1c9fd2)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x358872>>>0x1a)|0x0,_0x358872&=0x3ffffff,_0xa403b=Math['imul'](_0x4ad713,_0x19fefd),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x4ad713,_0x518dad))+Math['imul'](_0x3eac9e,_0x19fefd)|0x0,_0x2351d0=Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x518dad),_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x2d3ff2)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x470303)|0x0)+Math[_0x1a4e('0x9ba')](_0x47891c,_0x2d3ff2)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x47891c,_0x470303)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x403154,_0x2e6460)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x403154,_0x1919f)|0x0)+Math[_0x1a4e('0x9ba')](_0x50333e,_0x2e6460)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x50333e,_0x1919f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x487556,_0x57c511)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x487556,_0x135776)|0x0)+Math['imul'](_0x3e48c6,_0x57c511)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x135776)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x43308e,_0x4ef372)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x43308e,_0x240ce8)|0x0)+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x4ef372)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x4b64a4,_0x240ce8)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x365361,_0x2f3983)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x365361,_0x2dc684)|0x0)+Math['imul'](_0x521985,_0x2f3983)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x521985,_0x2dc684)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x92230f)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x5d965f)|0x0)+Math['imul'](_0x43fd07,_0x92230f)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x5d965f)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x58e9b7,_0x3da615)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x1c9fd2)|0x0)+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x3da615)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x1c9fd2)|0x0;var _0x5d18b0=(_0x28b451+(_0xa403b=_0xa403b+Math['imul'](_0x202d0f,_0x3ccc46)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x34bd65)|0x0)+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x3ccc46)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x2038a0,_0x34bd65)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x5d18b0>>>0x1a)|0x0,_0x5d18b0&=0x3ffffff,_0xa403b=Math['imul'](_0x2b696c,_0x19fefd),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x518dad))+Math[_0x1a4e('0x9ba')](_0x20512c,_0x19fefd)|0x0,_0x2351d0=Math['imul'](_0x20512c,_0x518dad),_0xa403b=_0xa403b+Math['imul'](_0x4ad713,_0x2d3ff2)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x470303)|0x0)+Math['imul'](_0x3eac9e,_0x2d3ff2)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x470303)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x2e6460)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x30db3a,_0x1919f)|0x0)+Math[_0x1a4e('0x9ba')](_0x47891c,_0x2e6460)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x47891c,_0x1919f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x403154,_0x57c511)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x403154,_0x135776)|0x0)+Math['imul'](_0x50333e,_0x57c511)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x50333e,_0x135776)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x487556,_0x4ef372)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x487556,_0x240ce8)|0x0)+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x4ef372)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x240ce8)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x43308e,_0x2f3983)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x43308e,_0x2dc684)|0x0)+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x2f3983)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x2dc684)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x365361,_0x92230f)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x365361,_0x5d965f)|0x0)+Math[_0x1a4e('0x9ba')](_0x521985,_0x92230f)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x521985,_0x5d965f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x3da615)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x1c9fd2)|0x0)+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x3da615)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x1c9fd2)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x3ccc46)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x34bd65)|0x0)+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x3ccc46)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x29ec0e,_0x34bd65)|0x0;var _0x212833=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x262208)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x202d0f,_0x43f0a0)|0x0)+Math['imul'](_0x2038a0,_0x262208)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math['imul'](_0x2038a0,_0x43f0a0)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x212833>>>0x1a)|0x0,_0x212833&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x2d3ff2),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x470303))+Math['imul'](_0x20512c,_0x2d3ff2)|0x0,_0x2351d0=Math['imul'](_0x20512c,_0x470303),_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x2e6460)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x1919f)|0x0)+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x2e6460)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x1919f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x57c511)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x135776)|0x0)+Math[_0x1a4e('0x9ba')](_0x47891c,_0x57c511)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x47891c,_0x135776)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x403154,_0x4ef372)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x403154,_0x240ce8)|0x0)+Math[_0x1a4e('0x9ba')](_0x50333e,_0x4ef372)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x50333e,_0x240ce8)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x487556,_0x2f3983)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x487556,_0x2dc684)|0x0)+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x2f3983)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x2dc684)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x43308e,_0x92230f)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x43308e,_0x5d965f)|0x0)+Math['imul'](_0x4b64a4,_0x92230f)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x5d965f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x365361,_0x3da615)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x365361,_0x1c9fd2)|0x0)+Math[_0x1a4e('0x9ba')](_0x521985,_0x3da615)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x521985,_0x1c9fd2)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x4dad85,_0x3ccc46)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x34bd65)|0x0)+Math['imul'](_0x43fd07,_0x3ccc46)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x34bd65)|0x0;var _0x31adbf=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x262208)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x58e9b7,_0x43f0a0)|0x0)+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x262208)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x29ec0e,_0x43f0a0)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x31adbf>>>0x1a)|0x0,_0x31adbf&=0x3ffffff,_0xa403b=Math['imul'](_0x2b696c,_0x2e6460),_0x13b69f=(_0x13b69f=Math['imul'](_0x2b696c,_0x1919f))+Math[_0x1a4e('0x9ba')](_0x20512c,_0x2e6460)|0x0,_0x2351d0=Math[_0x1a4e('0x9ba')](_0x20512c,_0x1919f),_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x57c511)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x4ad713,_0x135776)|0x0)+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x57c511)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x135776)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x4ef372)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x30db3a,_0x240ce8)|0x0)+Math['imul'](_0x47891c,_0x4ef372)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x47891c,_0x240ce8)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x403154,_0x2f3983)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x403154,_0x2dc684)|0x0)+Math[_0x1a4e('0x9ba')](_0x50333e,_0x2f3983)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x50333e,_0x2dc684)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x487556,_0x92230f)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x487556,_0x5d965f)|0x0)+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x92230f)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x3e48c6,_0x5d965f)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x43308e,_0x3da615)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x43308e,_0x1c9fd2)|0x0)+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x3da615)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x1c9fd2)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x365361,_0x3ccc46)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x365361,_0x34bd65)|0x0)+Math[_0x1a4e('0x9ba')](_0x521985,_0x3ccc46)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x521985,_0x34bd65)|0x0;var _0x1e72c9=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4dad85,_0x262208)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x4dad85,_0x43f0a0)|0x0)+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x262208)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x43fd07,_0x43f0a0)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x1e72c9>>>0x1a)|0x0,_0x1e72c9&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x57c511),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x135776))+Math[_0x1a4e('0x9ba')](_0x20512c,_0x57c511)|0x0,_0x2351d0=Math[_0x1a4e('0x9ba')](_0x20512c,_0x135776),_0xa403b=_0xa403b+Math['imul'](_0x4ad713,_0x4ef372)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x240ce8)|0x0)+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x4ef372)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x240ce8)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x2f3983)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x30db3a,_0x2dc684)|0x0)+Math[_0x1a4e('0x9ba')](_0x47891c,_0x2f3983)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x47891c,_0x2dc684)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x403154,_0x92230f)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x403154,_0x5d965f)|0x0)+Math[_0x1a4e('0x9ba')](_0x50333e,_0x92230f)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x50333e,_0x5d965f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x487556,_0x3da615)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x487556,_0x1c9fd2)|0x0)+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x3da615)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x1c9fd2)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x43308e,_0x3ccc46)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x43308e,_0x34bd65)|0x0)+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x3ccc46)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x4b64a4,_0x34bd65)|0x0;var _0xa38931=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x365361,_0x262208)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x365361,_0x43f0a0)|0x0)+Math[_0x1a4e('0x9ba')](_0x521985,_0x262208)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x521985,_0x43f0a0)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0xa38931>>>0x1a)|0x0,_0xa38931&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x4ef372),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x240ce8))+Math[_0x1a4e('0x9ba')](_0x20512c,_0x4ef372)|0x0,_0x2351d0=Math[_0x1a4e('0x9ba')](_0x20512c,_0x240ce8),_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x2f3983)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x2dc684)|0x0)+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x2f3983)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x2dc684)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x92230f)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x5d965f)|0x0)+Math[_0x1a4e('0x9ba')](_0x47891c,_0x92230f)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x47891c,_0x5d965f)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x403154,_0x3da615)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x403154,_0x1c9fd2)|0x0)+Math[_0x1a4e('0x9ba')](_0x50333e,_0x3da615)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x50333e,_0x1c9fd2)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x487556,_0x3ccc46)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x487556,_0x34bd65)|0x0)+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x3ccc46)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x34bd65)|0x0;var _0x7f95d=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x43308e,_0x262208)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x43308e,_0x43f0a0)|0x0)+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x262208)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x4b64a4,_0x43f0a0)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x7f95d>>>0x1a)|0x0,_0x7f95d&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x2f3983),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x2dc684))+Math[_0x1a4e('0x9ba')](_0x20512c,_0x2f3983)|0x0,_0x2351d0=Math['imul'](_0x20512c,_0x2dc684),_0xa403b=_0xa403b+Math['imul'](_0x4ad713,_0x92230f)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x4ad713,_0x5d965f)|0x0)+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x92230f)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x5d965f)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x30db3a,_0x3da615)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x30db3a,_0x1c9fd2)|0x0)+Math[_0x1a4e('0x9ba')](_0x47891c,_0x3da615)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x47891c,_0x1c9fd2)|0x0,_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x403154,_0x3ccc46)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x403154,_0x34bd65)|0x0)+Math[_0x1a4e('0x9ba')](_0x50333e,_0x3ccc46)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x50333e,_0x34bd65)|0x0;var _0x36ad2b=(_0x28b451+(_0xa403b=_0xa403b+Math['imul'](_0x487556,_0x262208)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x487556,_0x43f0a0)|0x0)+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x262208)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3e48c6,_0x43f0a0)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x36ad2b>>>0x1a)|0x0,_0x36ad2b&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x92230f),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x5d965f))+Math[_0x1a4e('0x9ba')](_0x20512c,_0x92230f)|0x0,_0x2351d0=Math['imul'](_0x20512c,_0x5d965f),_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x3da615)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x1c9fd2)|0x0)+Math['imul'](_0x3eac9e,_0x3da615)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x1c9fd2)|0x0,_0xa403b=_0xa403b+Math['imul'](_0x30db3a,_0x3ccc46)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x34bd65)|0x0)+Math[_0x1a4e('0x9ba')](_0x47891c,_0x3ccc46)|0x0,_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x47891c,_0x34bd65)|0x0;var _0x1e1a16=(_0x28b451+(_0xa403b=_0xa403b+Math['imul'](_0x403154,_0x262208)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x403154,_0x43f0a0)|0x0)+Math[_0x1a4e('0x9ba')](_0x50333e,_0x262208)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x50333e,_0x43f0a0)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x1e1a16>>>0x1a)|0x0,_0x1e1a16&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x3da615),_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x1c9fd2))+Math['imul'](_0x20512c,_0x3da615)|0x0,_0x2351d0=Math[_0x1a4e('0x9ba')](_0x20512c,_0x1c9fd2),_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x3ccc46)|0x0,_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x34bd65)|0x0)+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x3ccc46)|0x0,_0x2351d0=_0x2351d0+Math['imul'](_0x3eac9e,_0x34bd65)|0x0;var _0x438959=(_0x28b451+(_0xa403b=_0xa403b+Math[_0x1a4e('0x9ba')](_0x30db3a,_0x262208)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math['imul'](_0x30db3a,_0x43f0a0)|0x0)+Math[_0x1a4e('0x9ba')](_0x47891c,_0x262208)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x47891c,_0x43f0a0)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x438959>>>0x1a)|0x0,_0x438959&=0x3ffffff,_0xa403b=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x3ccc46),_0x13b69f=(_0x13b69f=Math['imul'](_0x2b696c,_0x34bd65))+Math[_0x1a4e('0x9ba')](_0x20512c,_0x3ccc46)|0x0,_0x2351d0=Math[_0x1a4e('0x9ba')](_0x20512c,_0x34bd65);var _0x4b065f=(_0x28b451+(_0xa403b=_0xa403b+Math['imul'](_0x4ad713,_0x262208)|0x0)|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=_0x13b69f+Math[_0x1a4e('0x9ba')](_0x4ad713,_0x43f0a0)|0x0)+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x262208)|0x0))<<0xd)|0x0;_0x28b451=((_0x2351d0=_0x2351d0+Math[_0x1a4e('0x9ba')](_0x3eac9e,_0x43f0a0)|0x0)+(_0x13b69f>>>0xd)|0x0)+(_0x4b065f>>>0x1a)|0x0,_0x4b065f&=0x3ffffff;var _0x4e37ec=(_0x28b451+(_0xa403b=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x262208))|0x0)+((0x1fff&(_0x13b69f=(_0x13b69f=Math[_0x1a4e('0x9ba')](_0x2b696c,_0x43f0a0))+Math['imul'](_0x20512c,_0x262208)|0x0))<<0xd)|0x0;return _0x28b451=((_0x2351d0=Math[_0x1a4e('0x9ba')](_0x20512c,_0x43f0a0))+(_0x13b69f>>>0xd)|0x0)+(_0x4e37ec>>>0x1a)|0x0,_0x4e37ec&=0x3ffffff,_0x44532e[0x0]=_0x12dca6,_0x44532e[0x1]=_0x13bfd8,_0x44532e[0x2]=_0x28a30c,_0x44532e[0x3]=_0x2cb6bf,_0x44532e[0x4]=_0x327d2a,_0x44532e[0x5]=_0x4b4273,_0x44532e[0x6]=_0x1e2f48,_0x44532e[0x7]=_0x358872,_0x44532e[0x8]=_0x5d18b0,_0x44532e[0x9]=_0x212833,_0x44532e[0xa]=_0x31adbf,_0x44532e[0xb]=_0x1e72c9,_0x44532e[0xc]=_0xa38931,_0x44532e[0xd]=_0x7f95d,_0x44532e[0xe]=_0x36ad2b,_0x44532e[0xf]=_0x1e1a16,_0x44532e[0x10]=_0x438959,_0x44532e[0x11]=_0x4b065f,_0x44532e[0x12]=_0x4e37ec,0x0!==_0x28b451&&(_0x44532e[0x13]=_0x28b451,_0x565c1d[_0x1a4e('0x1e')]++),_0x565c1d;};function _0xfad282(_0x2a9077,_0x507836,_0x565c1d){return new _0x1f90fa()[_0x1a4e('0x9bb')](_0x2a9077,_0x507836,_0x565c1d);}function _0x1f90fa(_0x2a9077,_0x507836){this['x']=_0x2a9077,this['y']=_0x507836;}Math[_0x1a4e('0x9ba')]||(_0x3d2a4a=_0x2038a0),_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9bc')]=function(_0x2a9077,_0x507836){var _0x565c1d=this[_0x1a4e('0x1e')]+_0x2a9077[_0x1a4e('0x1e')];return 0xa===this[_0x1a4e('0x1e')]&&0xa===_0x2a9077[_0x1a4e('0x1e')]?_0x3d2a4a(this,_0x2a9077,_0x507836):_0x565c1d<0x3f?_0x2038a0(this,_0x2a9077,_0x507836):_0x565c1d<0x400?function(_0x2a9077,_0x507836,_0x565c1d){_0x565c1d[_0x1a4e('0x978')]=_0x507836[_0x1a4e('0x978')]^_0x2a9077[_0x1a4e('0x978')],_0x565c1d[_0x1a4e('0x1e')]=_0x2a9077[_0x1a4e('0x1e')]+_0x507836[_0x1a4e('0x1e')];for(var _0xa403b=0x0,_0x13b69f=0x0,_0x2351d0=0x0;_0x2351d0<_0x565c1d[_0x1a4e('0x1e')]-0x1;_0x2351d0++){var _0x42b365=_0x13b69f;_0x13b69f=0x0;for(var _0x524d30=0x3ffffff&_0xa403b,_0x44532e=Math[_0x1a4e('0x74')](_0x2351d0,_0x507836[_0x1a4e('0x1e')]-0x1),_0x28b451=Math[_0x1a4e('0x6c')](0x0,_0x2351d0-_0x2a9077['length']+0x1);_0x28b451<=_0x44532e;_0x28b451++){var _0x122f71=_0x2351d0-_0x28b451,_0x202d0f=(0x0|_0x2a9077['words'][_0x122f71])*(0x0|_0x507836[_0x1a4e('0x981')][_0x28b451]),_0x2038a0=0x3ffffff&_0x202d0f;_0x524d30=0x3ffffff&(_0x2038a0=_0x2038a0+_0x524d30|0x0),_0x13b69f+=(_0x42b365=(_0x42b365=_0x42b365+(_0x202d0f/0x4000000|0x0)|0x0)+(_0x2038a0>>>0x1a)|0x0)>>>0x1a,_0x42b365&=0x3ffffff;}_0x565c1d['words'][_0x2351d0]=_0x524d30,_0xa403b=_0x42b365,_0x42b365=_0x13b69f;}return 0x0!==_0xa403b?_0x565c1d['words'][_0x2351d0]=_0xa403b:_0x565c1d['length']--,_0x565c1d[_0x1a4e('0x980')]();}(this,_0x2a9077,_0x507836):_0xfad282(this,_0x2a9077,_0x507836);},_0x1f90fa[_0x1a4e('0xa')][_0x1a4e('0x9bd')]=function(_0x2a9077){for(var _0x507836=new Array(_0x2a9077),_0x565c1d=_0x2351d0['prototype'][_0x1a4e('0x9a4')](_0x2a9077)-0x1,_0xa403b=0x0;_0xa403b<_0x2a9077;_0xa403b++)_0x507836[_0xa403b]=this[_0x1a4e('0x9be')](_0xa403b,_0x565c1d,_0x2a9077);return _0x507836;},_0x1f90fa[_0x1a4e('0xa')][_0x1a4e('0x9be')]=function(_0x2a9077,_0x507836,_0x565c1d){if(0x0===_0x2a9077||_0x2a9077===_0x565c1d-0x1)return _0x2a9077;for(var _0xa403b=0x0,_0x13b69f=0x0;_0x13b69f<_0x507836;_0x13b69f++)_0xa403b|=(0x1&_0x2a9077)<<_0x507836-_0x13b69f-0x1,_0x2a9077>>=0x1;return _0xa403b;},_0x1f90fa[_0x1a4e('0xa')]['permute']=function(_0x2a9077,_0x507836,_0x565c1d,_0xa403b,_0x13b69f,_0x2351d0){for(var _0x42b365=0x0;_0x42b365<_0x2351d0;_0x42b365++)_0xa403b[_0x42b365]=_0x507836[_0x2a9077[_0x42b365]],_0x13b69f[_0x42b365]=_0x565c1d[_0x2a9077[_0x42b365]];},_0x1f90fa[_0x1a4e('0xa')][_0x1a4e('0x93')]=function(_0x2a9077,_0x507836,_0x565c1d,_0xa403b,_0x13b69f,_0x2351d0){this['permute'](_0x2351d0,_0x2a9077,_0x507836,_0x565c1d,_0xa403b,_0x13b69f);for(var _0x42b365=0x1;_0x42b365<_0x13b69f;_0x42b365<<=0x1)for(var _0x524d30=_0x42b365<<0x1,_0x44532e=Math[_0x1a4e('0x90')](0x2*Math['PI']/_0x524d30),_0x28b451=Math['sin'](0x2*Math['PI']/_0x524d30),_0x122f71=0x0;_0x122f71<_0x13b69f;_0x122f71+=_0x524d30)for(var _0x202d0f=_0x44532e,_0x2038a0=_0x28b451,_0x3d2a4a=0x0;_0x3d2a4a<_0x42b365;_0x3d2a4a++){var _0xfad282=_0x565c1d[_0x122f71+_0x3d2a4a],_0x1f90fa=_0xa403b[_0x122f71+_0x3d2a4a],_0x199524=_0x565c1d[_0x122f71+_0x3d2a4a+_0x42b365],_0x26b503=_0xa403b[_0x122f71+_0x3d2a4a+_0x42b365],_0x17f779=_0x202d0f*_0x199524-_0x2038a0*_0x26b503;_0x26b503=_0x202d0f*_0x26b503+_0x2038a0*_0x199524,_0x199524=_0x17f779,_0x565c1d[_0x122f71+_0x3d2a4a]=_0xfad282+_0x199524,_0xa403b[_0x122f71+_0x3d2a4a]=_0x1f90fa+_0x26b503,_0x565c1d[_0x122f71+_0x3d2a4a+_0x42b365]=_0xfad282-_0x199524,_0xa403b[_0x122f71+_0x3d2a4a+_0x42b365]=_0x1f90fa-_0x26b503,_0x3d2a4a!==_0x524d30&&(_0x17f779=_0x44532e*_0x202d0f-_0x28b451*_0x2038a0,_0x2038a0=_0x44532e*_0x2038a0+_0x28b451*_0x202d0f,_0x202d0f=_0x17f779);}},_0x1f90fa['prototype']['guessLen13b']=function(_0x2a9077,_0x507836){var _0x565c1d=0x1|Math['max'](_0x507836,_0x2a9077),_0xa403b=0x1&_0x565c1d,_0x13b69f=0x0;for(_0x565c1d=_0x565c1d/0x2|0x0;_0x565c1d;_0x565c1d>>>=0x1)_0x13b69f++;return 0x1<<_0x13b69f+0x1+_0xa403b;},_0x1f90fa[_0x1a4e('0xa')][_0x1a4e('0x9bf')]=function(_0x2a9077,_0x507836,_0x565c1d){if(!(_0x565c1d<=0x1))for(var _0xa403b=0x0;_0xa403b<_0x565c1d/0x2;_0xa403b++){var _0x13b69f=_0x2a9077[_0xa403b];_0x2a9077[_0xa403b]=_0x2a9077[_0x565c1d-_0xa403b-0x1],_0x2a9077[_0x565c1d-_0xa403b-0x1]=_0x13b69f,_0x13b69f=_0x507836[_0xa403b],_0x507836[_0xa403b]=-_0x507836[_0x565c1d-_0xa403b-0x1],_0x507836[_0x565c1d-_0xa403b-0x1]=-_0x13b69f;}},_0x1f90fa['prototype'][_0x1a4e('0x9c0')]=function(_0x2a9077,_0x507836){for(var _0x565c1d=0x0,_0xa403b=0x0;_0xa403b<_0x507836/0x2;_0xa403b++){var _0x13b69f=0x2000*Math[_0x1a4e('0x2a')](_0x2a9077[0x2*_0xa403b+0x1]/_0x507836)+Math[_0x1a4e('0x2a')](_0x2a9077[0x2*_0xa403b]/_0x507836)+_0x565c1d;_0x2a9077[_0xa403b]=0x3ffffff&_0x13b69f,_0x565c1d=_0x13b69f<0x4000000?0x0:_0x13b69f/0x4000000|0x0;}return _0x2a9077;},_0x1f90fa[_0x1a4e('0xa')][_0x1a4e('0x9c1')]=function(_0x2a9077,_0x507836,_0x565c1d,_0x13b69f){for(var _0x2351d0=0x0,_0x42b365=0x0;_0x42b365<_0x507836;_0x42b365++)_0x2351d0+=0x0|_0x2a9077[_0x42b365],_0x565c1d[0x2*_0x42b365]=0x1fff&_0x2351d0,_0x2351d0>>>=0xd,_0x565c1d[0x2*_0x42b365+0x1]=0x1fff&_0x2351d0,_0x2351d0>>>=0xd;for(_0x42b365=0x2*_0x507836;_0x42b365<_0x13b69f;++_0x42b365)_0x565c1d[_0x42b365]=0x0;_0xa403b(0x0===_0x2351d0),_0xa403b(0x0==(-0x2000&_0x2351d0));},_0x1f90fa[_0x1a4e('0xa')]['stub']=function(_0x2a9077){for(var _0x507836=new Array(_0x2a9077),_0x565c1d=0x0;_0x565c1d<_0x2a9077;_0x565c1d++)_0x507836[_0x565c1d]=0x0;return _0x507836;},_0x1f90fa[_0x1a4e('0xa')][_0x1a4e('0x9bb')]=function(_0x2a9077,_0x507836,_0x565c1d){var _0xa403b=0x2*this[_0x1a4e('0x9c2')](_0x2a9077[_0x1a4e('0x1e')],_0x507836[_0x1a4e('0x1e')]),_0x13b69f=this[_0x1a4e('0x9bd')](_0xa403b),_0x2351d0=this['stub'](_0xa403b),_0x42b365=new Array(_0xa403b),_0x524d30=new Array(_0xa403b),_0x44532e=new Array(_0xa403b),_0x28b451=new Array(_0xa403b),_0x122f71=new Array(_0xa403b),_0x202d0f=new Array(_0xa403b),_0x2038a0=_0x565c1d[_0x1a4e('0x981')];_0x2038a0[_0x1a4e('0x1e')]=_0xa403b,this[_0x1a4e('0x9c1')](_0x2a9077[_0x1a4e('0x981')],_0x2a9077['length'],_0x42b365,_0xa403b),this[_0x1a4e('0x9c1')](_0x507836[_0x1a4e('0x981')],_0x507836[_0x1a4e('0x1e')],_0x28b451,_0xa403b),this['transform'](_0x42b365,_0x2351d0,_0x524d30,_0x44532e,_0xa403b,_0x13b69f),this[_0x1a4e('0x93')](_0x28b451,_0x2351d0,_0x122f71,_0x202d0f,_0xa403b,_0x13b69f);for(var _0x3d2a4a=0x0;_0x3d2a4a<_0xa403b;_0x3d2a4a++){var _0xfad282=_0x524d30[_0x3d2a4a]*_0x122f71[_0x3d2a4a]-_0x44532e[_0x3d2a4a]*_0x202d0f[_0x3d2a4a];_0x44532e[_0x3d2a4a]=_0x524d30[_0x3d2a4a]*_0x202d0f[_0x3d2a4a]+_0x44532e[_0x3d2a4a]*_0x122f71[_0x3d2a4a],_0x524d30[_0x3d2a4a]=_0xfad282;}return this[_0x1a4e('0x9bf')](_0x524d30,_0x44532e,_0xa403b),this[_0x1a4e('0x93')](_0x524d30,_0x44532e,_0x2038a0,_0x2351d0,_0xa403b,_0x13b69f),this['conjugate'](_0x2038a0,_0x2351d0,_0xa403b),this[_0x1a4e('0x9c0')](_0x2038a0,_0xa403b),_0x565c1d[_0x1a4e('0x978')]=_0x2a9077[_0x1a4e('0x978')]^_0x507836[_0x1a4e('0x978')],_0x565c1d['length']=_0x2a9077['length']+_0x507836[_0x1a4e('0x1e')],_0x565c1d[_0x1a4e('0x980')]();},_0x2351d0['prototype'][_0x1a4e('0x9c3')]=function(_0x2a9077){var _0x507836=new _0x2351d0(null);return _0x507836[_0x1a4e('0x981')]=new Array(this['length']+_0x2a9077['length']),this[_0x1a4e('0x9bc')](_0x2a9077,_0x507836);},_0x2351d0['prototype'][_0x1a4e('0x9c4')]=function(_0x2a9077){var _0x507836=new _0x2351d0(null);return _0x507836['words']=new Array(this[_0x1a4e('0x1e')]+_0x2a9077[_0x1a4e('0x1e')]),_0xfad282(this,_0x2a9077,_0x507836);},_0x2351d0['prototype'][_0x1a4e('0x9ba')]=function(_0x2a9077){return this['clone']()[_0x1a4e('0x9bc')](_0x2a9077,this);},_0x2351d0['prototype']['imuln']=function(_0x2a9077){_0xa403b(_0x1a4e('0x3d')==typeof _0x2a9077),_0xa403b(_0x2a9077<0x4000000);for(var _0x507836=0x0,_0x565c1d=0x0;_0x565c1d>=0x1a,_0x507836+=_0x13b69f/0x4000000|0x0,_0x507836+=_0x2351d0>>>0x1a,this[_0x1a4e('0x981')][_0x565c1d]=0x3ffffff&_0x2351d0;}return 0x0!==_0x507836&&(this[_0x1a4e('0x981')][_0x565c1d]=_0x507836,this[_0x1a4e('0x1e')]++),this;},_0x2351d0['prototype']['muln']=function(_0x2a9077){return this[_0x1a4e('0x240')]()[_0x1a4e('0x983')](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x274')]=function(){return this[_0x1a4e('0x9c3')](this);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9c5')]=function(){return this[_0x1a4e('0x9ba')](this['clone']());},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x8e')]=function(_0x2a9077){var _0x507836=function(_0x2a9077){for(var _0x507836=new Array(_0x2a9077[_0x1a4e('0x9a6')]()),_0x565c1d=0x0;_0x565c1d<_0x507836[_0x1a4e('0x1e')];_0x565c1d++){var _0xa403b=_0x565c1d/0x1a|0x0,_0x13b69f=_0x565c1d%0x1a;_0x507836[_0x565c1d]=(_0x2a9077[_0x1a4e('0x981')][_0xa403b]&0x1<<_0x13b69f)>>>_0x13b69f;}return _0x507836;}(_0x2a9077);if(0x0===_0x507836[_0x1a4e('0x1e')])return new _0x2351d0(0x1);for(var _0x565c1d=this,_0xa403b=0x0;_0xa403b<_0x507836[_0x1a4e('0x1e')]&&0x0===_0x507836[_0xa403b];_0xa403b++,_0x565c1d=_0x565c1d['sqr']());if(++_0xa403b<_0x507836[_0x1a4e('0x1e')])for(var _0x13b69f=_0x565c1d[_0x1a4e('0x274')]();_0xa403b<_0x507836[_0x1a4e('0x1e')];_0xa403b++,_0x13b69f=_0x13b69f['sqr']())0x0!==_0x507836[_0xa403b]&&(_0x565c1d=_0x565c1d['mul'](_0x13b69f));return _0x565c1d;},_0x2351d0['prototype'][_0x1a4e('0x9c6')]=function(_0x2a9077){_0xa403b(_0x1a4e('0x3d')==typeof _0x2a9077&&_0x2a9077>=0x0);var _0x507836,_0x565c1d=_0x2a9077%0x1a,_0x13b69f=(_0x2a9077-_0x565c1d)/0x1a,_0x2351d0=0x3ffffff>>>0x1a-_0x565c1d<<0x1a-_0x565c1d;if(0x0!==_0x565c1d){var _0x42b365=0x0;for(_0x507836=0x0;_0x507836>>0x1a-_0x565c1d;}_0x42b365&&(this[_0x1a4e('0x981')][_0x507836]=_0x42b365,this[_0x1a4e('0x1e')]++);}if(0x0!==_0x13b69f){for(_0x507836=this[_0x1a4e('0x1e')]-0x1;_0x507836>=0x0;_0x507836--)this[_0x1a4e('0x981')][_0x507836+_0x13b69f]=this[_0x1a4e('0x981')][_0x507836];for(_0x507836=0x0;_0x507836<_0x13b69f;_0x507836++)this[_0x1a4e('0x981')][_0x507836]=0x0;this[_0x1a4e('0x1e')]+=_0x13b69f;}return this['strip']();},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9c7')]=function(_0x2a9077){return _0xa403b(0x0===this[_0x1a4e('0x978')]),this[_0x1a4e('0x9c6')](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')]['iushrn']=function(_0x2a9077,_0x507836,_0x565c1d){var _0x13b69f;_0xa403b(_0x1a4e('0x3d')==typeof _0x2a9077&&_0x2a9077>=0x0),_0x13b69f=_0x507836?(_0x507836-_0x507836%0x1a)/0x1a:0x0;var _0x2351d0=_0x2a9077%0x1a,_0x42b365=Math[_0x1a4e('0x74')]((_0x2a9077-_0x2351d0)/0x1a,this['length']),_0x524d30=0x3ffffff^0x3ffffff>>>_0x2351d0<<_0x2351d0,_0x44532e=_0x565c1d;if(_0x13b69f-=_0x42b365,_0x13b69f=Math[_0x1a4e('0x6c')](0x0,_0x13b69f),_0x44532e){for(var _0x28b451=0x0;_0x28b451<_0x42b365;_0x28b451++)_0x44532e[_0x1a4e('0x981')][_0x28b451]=this['words'][_0x28b451];_0x44532e[_0x1a4e('0x1e')]=_0x42b365;}if(0x0===_0x42b365);else if(this[_0x1a4e('0x1e')]>_0x42b365)for(this[_0x1a4e('0x1e')]-=_0x42b365,_0x28b451=0x0;_0x28b451=0x0&&(0x0!==_0x122f71||_0x28b451>=_0x13b69f);_0x28b451--){var _0x202d0f=0x0|this['words'][_0x28b451];this[_0x1a4e('0x981')][_0x28b451]=_0x122f71<<0x1a-_0x2351d0|_0x202d0f>>>_0x2351d0,_0x122f71=_0x202d0f&_0x524d30;}return _0x44532e&&0x0!==_0x122f71&&(_0x44532e[_0x1a4e('0x981')][_0x44532e[_0x1a4e('0x1e')]++]=_0x122f71),0x0===this[_0x1a4e('0x1e')]&&(this['words'][0x0]=0x0,this['length']=0x1),this[_0x1a4e('0x980')]();},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9c8')]=function(_0x2a9077,_0x507836,_0x565c1d){return _0xa403b(0x0===this[_0x1a4e('0x978')]),this[_0x1a4e('0x9c9')](_0x2a9077,_0x507836,_0x565c1d);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9ca')]=function(_0x2a9077){return this[_0x1a4e('0x240')]()['ishln'](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')]['ushln']=function(_0x2a9077){return this[_0x1a4e('0x240')]()['iushln'](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9cb')]=function(_0x2a9077){return this[_0x1a4e('0x240')]()['ishrn'](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9cc')]=function(_0x2a9077){return this['clone']()['iushrn'](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9cd')]=function(_0x2a9077){_0xa403b(_0x1a4e('0x3d')==typeof _0x2a9077&&_0x2a9077>=0x0);var _0x507836=_0x2a9077%0x1a,_0x565c1d=(_0x2a9077-_0x507836)/0x1a,_0x13b69f=0x1<<_0x507836;return!(this[_0x1a4e('0x1e')]<=_0x565c1d)&&!!(this[_0x1a4e('0x981')][_0x565c1d]&_0x13b69f);},_0x2351d0['prototype']['imaskn']=function(_0x2a9077){_0xa403b('number'==typeof _0x2a9077&&_0x2a9077>=0x0);var _0x507836=_0x2a9077%0x1a,_0x565c1d=(_0x2a9077-_0x507836)/0x1a;if(_0xa403b(0x0===this[_0x1a4e('0x978')],'imaskn\x20works\x20only\x20with\x20positive\x20numbers'),this['length']<=_0x565c1d)return this;if(0x0!==_0x507836&&_0x565c1d++,this[_0x1a4e('0x1e')]=Math[_0x1a4e('0x74')](_0x565c1d,this[_0x1a4e('0x1e')]),0x0!==_0x507836){var _0x13b69f=0x3ffffff^0x3ffffff>>>_0x507836<<_0x507836;this[_0x1a4e('0x981')][this[_0x1a4e('0x1e')]-0x1]&=_0x13b69f;}return this[_0x1a4e('0x980')]();},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9ce')]=function(_0x2a9077){return this[_0x1a4e('0x240')]()[_0x1a4e('0x9cf')](_0x2a9077);},_0x2351d0['prototype'][_0x1a4e('0x9a9')]=function(_0x2a9077){return _0xa403b(_0x1a4e('0x3d')==typeof _0x2a9077),_0xa403b(_0x2a9077<0x4000000),_0x2a9077<0x0?this['isubn'](-_0x2a9077):0x0!==this['negative']?0x1===this['length']&&(0x0|this[_0x1a4e('0x981')][0x0])<_0x2a9077?(this[_0x1a4e('0x981')][0x0]=_0x2a9077-(0x0|this[_0x1a4e('0x981')][0x0]),this['negative']=0x0,this):(this['negative']=0x0,this['isubn'](_0x2a9077),this[_0x1a4e('0x978')]=0x1,this):this[_0x1a4e('0x982')](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x982')]=function(_0x2a9077){this['words'][0x0]+=_0x2a9077;for(var _0x507836=0x0;_0x507836=0x4000000;_0x507836++)this[_0x1a4e('0x981')][_0x507836]-=0x4000000,_0x507836===this[_0x1a4e('0x1e')]-0x1?this[_0x1a4e('0x981')][_0x507836+0x1]=0x1:this[_0x1a4e('0x981')][_0x507836+0x1]++;return this[_0x1a4e('0x1e')]=Math[_0x1a4e('0x6c')](this[_0x1a4e('0x1e')],_0x507836+0x1),this;},_0x2351d0['prototype'][_0x1a4e('0x9d0')]=function(_0x2a9077){if(_0xa403b(_0x1a4e('0x3d')==typeof _0x2a9077),_0xa403b(_0x2a9077<0x4000000),_0x2a9077<0x0)return this[_0x1a4e('0x9a9')](-_0x2a9077);if(0x0!==this['negative'])return this[_0x1a4e('0x978')]=0x0,this[_0x1a4e('0x9a9')](_0x2a9077),this[_0x1a4e('0x978')]=0x1,this;if(this[_0x1a4e('0x981')][0x0]-=_0x2a9077,0x1===this[_0x1a4e('0x1e')]&&this['words'][0x0]<0x0)this[_0x1a4e('0x981')][0x0]=-this[_0x1a4e('0x981')][0x0],this[_0x1a4e('0x978')]=0x1;else for(var _0x507836=0x0;_0x507836>0x1a)-(_0x44532e/0x4000000|0x0),this[_0x1a4e('0x981')][_0x13b69f+_0x565c1d]=0x3ffffff&_0x2351d0;}for(;_0x13b69f>0x1a,this['words'][_0x13b69f+_0x565c1d]=0x3ffffff&_0x2351d0;if(0x0===_0x524d30)return this[_0x1a4e('0x980')]();for(_0xa403b(-0x1===_0x524d30),_0x524d30=0x0,_0x13b69f=0x0;_0x13b69f>0x1a,this[_0x1a4e('0x981')][_0x13b69f]=0x3ffffff&_0x2351d0;return this['negative']=0x1,this['strip']();},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9d4')]=function(_0x2a9077,_0x507836){var _0x565c1d=(this['length'],_0x2a9077[_0x1a4e('0x1e')]),_0xa403b=this[_0x1a4e('0x240')](),_0x13b69f=_0x2a9077,_0x42b365=0x0|_0x13b69f[_0x1a4e('0x981')][_0x13b69f['length']-0x1];0x0!==(_0x565c1d=0x1a-this[_0x1a4e('0x9a4')](_0x42b365))&&(_0x13b69f=_0x13b69f[_0x1a4e('0x9d5')](_0x565c1d),_0xa403b['iushln'](_0x565c1d),_0x42b365=0x0|_0x13b69f[_0x1a4e('0x981')][_0x13b69f[_0x1a4e('0x1e')]-0x1]);var _0x524d30,_0x44532e=_0xa403b[_0x1a4e('0x1e')]-_0x13b69f[_0x1a4e('0x1e')];if('mod'!==_0x507836){(_0x524d30=new _0x2351d0(null))[_0x1a4e('0x1e')]=_0x44532e+0x1,_0x524d30[_0x1a4e('0x981')]=new Array(_0x524d30[_0x1a4e('0x1e')]);for(var _0x28b451=0x0;_0x28b451<_0x524d30[_0x1a4e('0x1e')];_0x28b451++)_0x524d30['words'][_0x28b451]=0x0;}var _0x122f71=_0xa403b[_0x1a4e('0x240')]()[_0x1a4e('0x9d3')](_0x13b69f,0x1,_0x44532e);0x0===_0x122f71[_0x1a4e('0x978')]&&(_0xa403b=_0x122f71,_0x524d30&&(_0x524d30[_0x1a4e('0x981')][_0x44532e]=0x1));for(var _0x202d0f=_0x44532e-0x1;_0x202d0f>=0x0;_0x202d0f--){var _0x2038a0=0x4000000*(0x0|_0xa403b[_0x1a4e('0x981')][_0x13b69f[_0x1a4e('0x1e')]+_0x202d0f])+(0x0|_0xa403b['words'][_0x13b69f[_0x1a4e('0x1e')]+_0x202d0f-0x1]);for(_0x2038a0=Math[_0x1a4e('0x74')](_0x2038a0/_0x42b365|0x0,0x3ffffff),_0xa403b[_0x1a4e('0x9d3')](_0x13b69f,_0x2038a0,_0x202d0f);0x0!==_0xa403b['negative'];)_0x2038a0--,_0xa403b[_0x1a4e('0x978')]=0x0,_0xa403b[_0x1a4e('0x9d3')](_0x13b69f,0x1,_0x202d0f),_0xa403b[_0x1a4e('0x266')]()||(_0xa403b[_0x1a4e('0x978')]^=0x1);_0x524d30&&(_0x524d30[_0x1a4e('0x981')][_0x202d0f]=_0x2038a0);}return _0x524d30&&_0x524d30[_0x1a4e('0x980')](),_0xa403b[_0x1a4e('0x980')](),_0x1a4e('0x9d6')!==_0x507836&&0x0!==_0x565c1d&&_0xa403b[_0x1a4e('0x9c9')](_0x565c1d),{'div':_0x524d30||null,'mod':_0xa403b};},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9d7')]=function(_0x2a9077,_0x507836,_0x565c1d){return _0xa403b(!_0x2a9077[_0x1a4e('0x266')]()),this[_0x1a4e('0x266')]()?{'div':new _0x2351d0(0x0),'mod':new _0x2351d0(0x0)}:0x0!==this[_0x1a4e('0x978')]&&0x0===_0x2a9077[_0x1a4e('0x978')]?(_0x524d30=this[_0x1a4e('0x9ad')]()[_0x1a4e('0x9d7')](_0x2a9077,_0x507836),_0x1a4e('0x9d8')!==_0x507836&&(_0x13b69f=_0x524d30[_0x1a4e('0x9d6')][_0x1a4e('0x9ad')]()),_0x1a4e('0x9d6')!==_0x507836&&(_0x42b365=_0x524d30[_0x1a4e('0x9d8')][_0x1a4e('0x9ad')](),_0x565c1d&&0x0!==_0x42b365[_0x1a4e('0x978')]&&_0x42b365['iadd'](_0x2a9077)),{'div':_0x13b69f,'mod':_0x42b365}):0x0===this[_0x1a4e('0x978')]&&0x0!==_0x2a9077['negative']?(_0x524d30=this[_0x1a4e('0x9d7')](_0x2a9077['neg'](),_0x507836),_0x1a4e('0x9d8')!==_0x507836&&(_0x13b69f=_0x524d30['div']['neg']()),{'div':_0x13b69f,'mod':_0x524d30[_0x1a4e('0x9d8')]}):0x0!=(this[_0x1a4e('0x978')]&_0x2a9077[_0x1a4e('0x978')])?(_0x524d30=this['neg']()[_0x1a4e('0x9d7')](_0x2a9077[_0x1a4e('0x9ad')](),_0x507836),_0x1a4e('0x9d6')!==_0x507836&&(_0x42b365=_0x524d30[_0x1a4e('0x9d8')][_0x1a4e('0x9ad')](),_0x565c1d&&0x0!==_0x42b365[_0x1a4e('0x978')]&&_0x42b365[_0x1a4e('0x9b9')](_0x2a9077)),{'div':_0x524d30['div'],'mod':_0x42b365}):_0x2a9077[_0x1a4e('0x1e')]>this[_0x1a4e('0x1e')]||this[_0x1a4e('0x97b')](_0x2a9077)<0x0?{'div':new _0x2351d0(0x0),'mod':this}:0x1===_0x2a9077['length']?'div'===_0x507836?{'div':this[_0x1a4e('0x9d9')](_0x2a9077[_0x1a4e('0x981')][0x0]),'mod':null}:_0x1a4e('0x9d8')===_0x507836?{'div':null,'mod':new _0x2351d0(this[_0x1a4e('0x99c')](_0x2a9077[_0x1a4e('0x981')][0x0]))}:{'div':this[_0x1a4e('0x9d9')](_0x2a9077[_0x1a4e('0x981')][0x0]),'mod':new _0x2351d0(this[_0x1a4e('0x99c')](_0x2a9077[_0x1a4e('0x981')][0x0]))}:this[_0x1a4e('0x9d4')](_0x2a9077,_0x507836);var _0x13b69f,_0x42b365,_0x524d30;},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9d6')]=function(_0x2a9077){return this['divmod'](_0x2a9077,_0x1a4e('0x9d6'),!0x1)[_0x1a4e('0x9d6')];},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9d8')]=function(_0x2a9077){return this[_0x1a4e('0x9d7')](_0x2a9077,_0x1a4e('0x9d8'),!0x1)[_0x1a4e('0x9d8')];},_0x2351d0['prototype'][_0x1a4e('0x9da')]=function(_0x2a9077){return this[_0x1a4e('0x9d7')](_0x2a9077,_0x1a4e('0x9d8'),!0x0)[_0x1a4e('0x9d8')];},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9db')]=function(_0x2a9077){var _0x507836=this['divmod'](_0x2a9077);if(_0x507836[_0x1a4e('0x9d8')][_0x1a4e('0x266')]())return _0x507836[_0x1a4e('0x9d6')];var _0x565c1d=0x0!==_0x507836[_0x1a4e('0x9d6')]['negative']?_0x507836['mod'][_0x1a4e('0x9b9')](_0x2a9077):_0x507836['mod'],_0xa403b=_0x2a9077[_0x1a4e('0x9cc')](0x1),_0x13b69f=_0x2a9077['andln'](0x1),_0x2351d0=_0x565c1d[_0x1a4e('0x97b')](_0xa403b);return _0x2351d0<0x0||0x1===_0x13b69f&&0x0===_0x2351d0?_0x507836[_0x1a4e('0x9d6')]:0x0!==_0x507836['div'][_0x1a4e('0x978')]?_0x507836[_0x1a4e('0x9d6')][_0x1a4e('0x9d0')](0x1):_0x507836['div']['iaddn'](0x1);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x99c')]=function(_0x2a9077){_0xa403b(_0x2a9077<=0x3ffffff);for(var _0x507836=(0x1<<0x1a)%_0x2a9077,_0x565c1d=0x0,_0x13b69f=this[_0x1a4e('0x1e')]-0x1;_0x13b69f>=0x0;_0x13b69f--)_0x565c1d=(_0x507836*_0x565c1d+(0x0|this[_0x1a4e('0x981')][_0x13b69f]))%_0x2a9077;return _0x565c1d;},_0x2351d0['prototype']['idivn']=function(_0x2a9077){_0xa403b(_0x2a9077<=0x3ffffff);for(var _0x507836=0x0,_0x565c1d=this['length']-0x1;_0x565c1d>=0x0;_0x565c1d--){var _0x13b69f=(0x0|this[_0x1a4e('0x981')][_0x565c1d])+0x4000000*_0x507836;this[_0x1a4e('0x981')][_0x565c1d]=_0x13b69f/_0x2a9077|0x0,_0x507836=_0x13b69f%_0x2a9077;}return this[_0x1a4e('0x980')]();},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9d9')]=function(_0x2a9077){return this[_0x1a4e('0x240')]()[_0x1a4e('0x9dc')](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9dd')]=function(_0x2a9077){_0xa403b(0x0===_0x2a9077[_0x1a4e('0x978')]),_0xa403b(!_0x2a9077[_0x1a4e('0x266')]());var _0x507836=this,_0x565c1d=_0x2a9077['clone']();_0x507836=0x0!==_0x507836[_0x1a4e('0x978')]?_0x507836[_0x1a4e('0x9da')](_0x2a9077):_0x507836[_0x1a4e('0x240')]();for(var _0x13b69f=new _0x2351d0(0x1),_0x42b365=new _0x2351d0(0x0),_0x524d30=new _0x2351d0(0x0),_0x44532e=new _0x2351d0(0x1),_0x28b451=0x0;_0x507836[_0x1a4e('0x9de')]()&&_0x565c1d['isEven']();)_0x507836[_0x1a4e('0x9c9')](0x1),_0x565c1d[_0x1a4e('0x9c9')](0x1),++_0x28b451;for(var _0x122f71=_0x565c1d[_0x1a4e('0x240')](),_0x202d0f=_0x507836[_0x1a4e('0x240')]();!_0x507836[_0x1a4e('0x266')]();){for(var _0x2038a0=0x0,_0x3d2a4a=0x1;0x0==(_0x507836[_0x1a4e('0x981')][0x0]&_0x3d2a4a)&&_0x2038a0<0x1a;++_0x2038a0,_0x3d2a4a<<=0x1);if(_0x2038a0>0x0)for(_0x507836[_0x1a4e('0x9c9')](_0x2038a0);_0x2038a0-->0x0;)(_0x13b69f[_0x1a4e('0x9df')]()||_0x42b365[_0x1a4e('0x9df')]())&&(_0x13b69f['iadd'](_0x122f71),_0x42b365[_0x1a4e('0x9b9')](_0x202d0f)),_0x13b69f[_0x1a4e('0x9c9')](0x1),_0x42b365['iushrn'](0x1);for(var _0xfad282=0x0,_0x1f90fa=0x1;0x0==(_0x565c1d[_0x1a4e('0x981')][0x0]&_0x1f90fa)&&_0xfad282<0x1a;++_0xfad282,_0x1f90fa<<=0x1);if(_0xfad282>0x0)for(_0x565c1d['iushrn'](_0xfad282);_0xfad282-->0x0;)(_0x524d30[_0x1a4e('0x9df')]()||_0x44532e['isOdd']())&&(_0x524d30['iadd'](_0x122f71),_0x44532e['isub'](_0x202d0f)),_0x524d30[_0x1a4e('0x9c9')](0x1),_0x44532e['iushrn'](0x1);_0x507836[_0x1a4e('0x97b')](_0x565c1d)>=0x0?(_0x507836[_0x1a4e('0x9b9')](_0x565c1d),_0x13b69f[_0x1a4e('0x9b9')](_0x524d30),_0x42b365[_0x1a4e('0x9b9')](_0x44532e)):(_0x565c1d[_0x1a4e('0x9b9')](_0x507836),_0x524d30[_0x1a4e('0x9b9')](_0x13b69f),_0x44532e['isub'](_0x42b365));}return{'a':_0x524d30,'b':_0x44532e,'gcd':_0x565c1d['iushln'](_0x28b451)};},_0x2351d0[_0x1a4e('0xa')]['_invmp']=function(_0x2a9077){_0xa403b(0x0===_0x2a9077[_0x1a4e('0x978')]),_0xa403b(!_0x2a9077[_0x1a4e('0x266')]());var _0x507836=this,_0x565c1d=_0x2a9077[_0x1a4e('0x240')]();_0x507836=0x0!==_0x507836['negative']?_0x507836['umod'](_0x2a9077):_0x507836[_0x1a4e('0x240')]();for(var _0x13b69f,_0x42b365=new _0x2351d0(0x1),_0x524d30=new _0x2351d0(0x0),_0x44532e=_0x565c1d['clone']();_0x507836[_0x1a4e('0x9e0')](0x1)>0x0&&_0x565c1d[_0x1a4e('0x9e0')](0x1)>0x0;){for(var _0x28b451=0x0,_0x122f71=0x1;0x0==(_0x507836[_0x1a4e('0x981')][0x0]&_0x122f71)&&_0x28b451<0x1a;++_0x28b451,_0x122f71<<=0x1);if(_0x28b451>0x0)for(_0x507836[_0x1a4e('0x9c9')](_0x28b451);_0x28b451-->0x0;)_0x42b365[_0x1a4e('0x9df')]()&&_0x42b365[_0x1a4e('0x9b8')](_0x44532e),_0x42b365[_0x1a4e('0x9c9')](0x1);for(var _0x202d0f=0x0,_0x2038a0=0x1;0x0==(_0x565c1d[_0x1a4e('0x981')][0x0]&_0x2038a0)&&_0x202d0f<0x1a;++_0x202d0f,_0x2038a0<<=0x1);if(_0x202d0f>0x0)for(_0x565c1d[_0x1a4e('0x9c9')](_0x202d0f);_0x202d0f-->0x0;)_0x524d30[_0x1a4e('0x9df')]()&&_0x524d30[_0x1a4e('0x9b8')](_0x44532e),_0x524d30[_0x1a4e('0x9c9')](0x1);_0x507836['cmp'](_0x565c1d)>=0x0?(_0x507836[_0x1a4e('0x9b9')](_0x565c1d),_0x42b365['isub'](_0x524d30)):(_0x565c1d['isub'](_0x507836),_0x524d30[_0x1a4e('0x9b9')](_0x42b365));}return(_0x13b69f=0x0===_0x507836[_0x1a4e('0x9e0')](0x1)?_0x42b365:_0x524d30)[_0x1a4e('0x9e0')](0x0)<0x0&&_0x13b69f[_0x1a4e('0x9b8')](_0x2a9077),_0x13b69f;},_0x2351d0[_0x1a4e('0xa')]['gcd']=function(_0x2a9077){if(this[_0x1a4e('0x266')]())return _0x2a9077['abs']();if(_0x2a9077[_0x1a4e('0x266')]())return this[_0x1a4e('0x65')]();var _0x507836=this['clone'](),_0x565c1d=_0x2a9077[_0x1a4e('0x240')]();_0x507836['negative']=0x0,_0x565c1d[_0x1a4e('0x978')]=0x0;for(var _0xa403b=0x0;_0x507836[_0x1a4e('0x9de')]()&&_0x565c1d[_0x1a4e('0x9de')]();_0xa403b++)_0x507836['iushrn'](0x1),_0x565c1d[_0x1a4e('0x9c9')](0x1);for(;;){for(;_0x507836['isEven']();)_0x507836['iushrn'](0x1);for(;_0x565c1d['isEven']();)_0x565c1d[_0x1a4e('0x9c9')](0x1);var _0x13b69f=_0x507836[_0x1a4e('0x97b')](_0x565c1d);if(_0x13b69f<0x0){var _0x2351d0=_0x507836;_0x507836=_0x565c1d,_0x565c1d=_0x2351d0;}else if(0x0===_0x13b69f||0x0===_0x565c1d['cmpn'](0x1))break;_0x507836[_0x1a4e('0x9b9')](_0x565c1d);}return _0x565c1d['iushln'](_0xa403b);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9e1')]=function(_0x2a9077){return this['egcd'](_0x2a9077)['a'][_0x1a4e('0x9da')](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9de')]=function(){return 0x0==(0x1&this[_0x1a4e('0x981')][0x0]);},_0x2351d0['prototype'][_0x1a4e('0x9df')]=function(){return 0x1==(0x1&this[_0x1a4e('0x981')][0x0]);},_0x2351d0[_0x1a4e('0xa')]['andln']=function(_0x2a9077){return this[_0x1a4e('0x981')][0x0]&_0x2a9077;},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9e2')]=function(_0x2a9077){_0xa403b('number'==typeof _0x2a9077);var _0x507836=_0x2a9077%0x1a,_0x565c1d=(_0x2a9077-_0x507836)/0x1a,_0x13b69f=0x1<<_0x507836;if(this[_0x1a4e('0x1e')]<=_0x565c1d)return this[_0x1a4e('0x984')](_0x565c1d+0x1),this['words'][_0x565c1d]|=_0x13b69f,this;for(var _0x2351d0=_0x13b69f,_0x42b365=_0x565c1d;0x0!==_0x2351d0&&_0x42b365>>0x1a,_0x524d30&=0x3ffffff,this['words'][_0x42b365]=_0x524d30;}return 0x0!==_0x2351d0&&(this['words'][_0x42b365]=_0x2351d0,this[_0x1a4e('0x1e')]++),this;},_0x2351d0['prototype'][_0x1a4e('0x266')]=function(){return 0x1===this['length']&&0x0===this['words'][0x0];},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9e0')]=function(_0x2a9077){var _0x507836,_0x565c1d=_0x2a9077<0x0;if(0x0!==this[_0x1a4e('0x978')]&&!_0x565c1d)return-0x1;if(0x0===this['negative']&&_0x565c1d)return 0x1;if(this[_0x1a4e('0x980')](),this['length']>0x1)_0x507836=0x1;else{_0x565c1d&&(_0x2a9077=-_0x2a9077),_0xa403b(_0x2a9077<=0x3ffffff,_0x1a4e('0x9e3'));var _0x13b69f=0x0|this[_0x1a4e('0x981')][0x0];_0x507836=_0x13b69f===_0x2a9077?0x0:_0x13b69f<_0x2a9077?-0x1:0x1;}return 0x0!==this[_0x1a4e('0x978')]?0x0|-_0x507836:_0x507836;},_0x2351d0['prototype']['cmp']=function(_0x2a9077){if(0x0!==this[_0x1a4e('0x978')]&&0x0===_0x2a9077[_0x1a4e('0x978')])return-0x1;if(0x0===this[_0x1a4e('0x978')]&&0x0!==_0x2a9077[_0x1a4e('0x978')])return 0x1;var _0x507836=this[_0x1a4e('0x9e4')](_0x2a9077);return 0x0!==this[_0x1a4e('0x978')]?0x0|-_0x507836:_0x507836;},_0x2351d0['prototype'][_0x1a4e('0x9e4')]=function(_0x2a9077){if(this[_0x1a4e('0x1e')]>_0x2a9077[_0x1a4e('0x1e')])return 0x1;if(this[_0x1a4e('0x1e')]<_0x2a9077[_0x1a4e('0x1e')])return-0x1;for(var _0x507836=0x0,_0x565c1d=this['length']-0x1;_0x565c1d>=0x0;_0x565c1d--){var _0xa403b=0x0|this[_0x1a4e('0x981')][_0x565c1d],_0x13b69f=0x0|_0x2a9077[_0x1a4e('0x981')][_0x565c1d];if(_0xa403b!==_0x13b69f){_0xa403b<_0x13b69f?_0x507836=-0x1:_0xa403b>_0x13b69f&&(_0x507836=0x1);break;}}return _0x507836;},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9e5')]=function(_0x2a9077){return 0x1===this[_0x1a4e('0x9e0')](_0x2a9077);},_0x2351d0['prototype']['gt']=function(_0x2a9077){return 0x1===this['cmp'](_0x2a9077);},_0x2351d0['prototype'][_0x1a4e('0x9e6')]=function(_0x2a9077){return this[_0x1a4e('0x9e0')](_0x2a9077)>=0x0;},_0x2351d0[_0x1a4e('0xa')]['gte']=function(_0x2a9077){return this['cmp'](_0x2a9077)>=0x0;},_0x2351d0[_0x1a4e('0xa')]['ltn']=function(_0x2a9077){return-0x1===this[_0x1a4e('0x9e0')](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')]['lt']=function(_0x2a9077){return-0x1===this['cmp'](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')]['lten']=function(_0x2a9077){return this[_0x1a4e('0x9e0')](_0x2a9077)<=0x0;},_0x2351d0['prototype'][_0x1a4e('0x9e7')]=function(_0x2a9077){return this[_0x1a4e('0x97b')](_0x2a9077)<=0x0;},_0x2351d0[_0x1a4e('0xa')]['eqn']=function(_0x2a9077){return 0x0===this['cmpn'](_0x2a9077);},_0x2351d0['prototype']['eq']=function(_0x2a9077){return 0x0===this[_0x1a4e('0x97b')](_0x2a9077);},_0x2351d0['red']=function(_0x2a9077){return new _0x131ac9(_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9e8')]=function(_0x2a9077){return _0xa403b(!this[_0x1a4e('0x979')],_0x1a4e('0x9e9')),_0xa403b(0x0===this['negative'],_0x1a4e('0x9ea')),_0x2a9077[_0x1a4e('0x9eb')](this)[_0x1a4e('0x9ec')](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9ed')]=function(){return _0xa403b(this[_0x1a4e('0x979')],_0x1a4e('0x9ee')),this[_0x1a4e('0x979')][_0x1a4e('0x9ef')](this);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9ec')]=function(_0x2a9077){return this[_0x1a4e('0x979')]=_0x2a9077,this;},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9f0')]=function(_0x2a9077){return _0xa403b(!this['red'],'Already\x20a\x20number\x20in\x20reduction\x20context'),this[_0x1a4e('0x9ec')](_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9f1')]=function(_0x2a9077){return _0xa403b(this['red'],_0x1a4e('0x9f2')),this[_0x1a4e('0x979')][_0x1a4e('0x177')](this,_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9f3')]=function(_0x2a9077){return _0xa403b(this[_0x1a4e('0x979')],_0x1a4e('0x9f4')),this['red'][_0x1a4e('0x9b8')](this,_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9f5')]=function(_0x2a9077){return _0xa403b(this[_0x1a4e('0x979')],_0x1a4e('0x9f6')),this['red'][_0x1a4e('0x16a')](this,_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9f7')]=function(_0x2a9077){return _0xa403b(this[_0x1a4e('0x979')],_0x1a4e('0x9f8')),this['red'][_0x1a4e('0x9b9')](this,_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9f9')]=function(_0x2a9077){return _0xa403b(this[_0x1a4e('0x979')],_0x1a4e('0x9fa')),this[_0x1a4e('0x979')][_0x1a4e('0x9fb')](this,_0x2a9077);},_0x2351d0[_0x1a4e('0xa')]['redMul']=function(_0x2a9077){return _0xa403b(this[_0x1a4e('0x979')],_0x1a4e('0x9fc')),this['red'][_0x1a4e('0x9fd')](this,_0x2a9077),this[_0x1a4e('0x979')][_0x1a4e('0x9c3')](this,_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9fe')]=function(_0x2a9077){return _0xa403b(this[_0x1a4e('0x979')],_0x1a4e('0x9fc')),this[_0x1a4e('0x979')]['_verify2'](this,_0x2a9077),this[_0x1a4e('0x979')]['imul'](this,_0x2a9077);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0x9ff')]=function(){return _0xa403b(this[_0x1a4e('0x979')],'redSqr\x20works\x20only\x20with\x20red\x20numbers'),this[_0x1a4e('0x979')][_0x1a4e('0xa00')](this),this[_0x1a4e('0x979')][_0x1a4e('0x274')](this);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0xa01')]=function(){return _0xa403b(this['red'],_0x1a4e('0xa02')),this[_0x1a4e('0x979')][_0x1a4e('0xa00')](this),this[_0x1a4e('0x979')][_0x1a4e('0x9c5')](this);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0xa03')]=function(){return _0xa403b(this['red'],_0x1a4e('0xa04')),this[_0x1a4e('0x979')][_0x1a4e('0xa00')](this),this[_0x1a4e('0x979')][_0x1a4e('0x91')](this);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0xa05')]=function(){return _0xa403b(this[_0x1a4e('0x979')],_0x1a4e('0xa06')),this[_0x1a4e('0x979')][_0x1a4e('0xa00')](this),this['red'][_0x1a4e('0x9e1')](this);},_0x2351d0[_0x1a4e('0xa')][_0x1a4e('0xa07')]=function(){return _0xa403b(this['red'],'redNeg\x20works\x20only\x20with\x20red\x20numbers'),this['red']['_verify1'](this),this[_0x1a4e('0x979')][_0x1a4e('0x9ad')](this);},_0x2351d0[_0x1a4e('0xa')]['redPow']=function(_0x2a9077){return _0xa403b(this[_0x1a4e('0x979')]&&!_0x2a9077['red'],_0x1a4e('0xa08')),this[_0x1a4e('0x979')][_0x1a4e('0xa00')](this),this[_0x1a4e('0x979')][_0x1a4e('0x8e')](this,_0x2a9077);};var _0x452d28={'k256':null,'p224':null,'p192':null,'p25519':null};function _0xafcb5(_0x2a9077,_0x507836){this[_0x1a4e('0x2cb')]=_0x2a9077,this['p']=new _0x2351d0(_0x507836,0x10),this['n']=this['p'][_0x1a4e('0x9a6')](),this['k']=new _0x2351d0(0x1)[_0x1a4e('0x9c6')](this['n'])[_0x1a4e('0x9b9')](this['p']),this[_0x1a4e('0xa09')]=this[_0x1a4e('0xa0a')]();}function _0xde213e(){_0xafcb5[_0x1a4e('0x1')](this,_0x1a4e('0xa0b'),_0x1a4e('0xa0c'));}function _0x549dcb(){_0xafcb5['call'](this,_0x1a4e('0xa0d'),_0x1a4e('0xa0e'));}function _0x33bfcc(){_0xafcb5[_0x1a4e('0x1')](this,_0x1a4e('0xa0f'),_0x1a4e('0xa10'));}function _0x2a27ea(){_0xafcb5[_0x1a4e('0x1')](this,_0x1a4e('0xa11'),'7fffffffffffffff\x20ffffffffffffffff\x20ffffffffffffffff\x20ffffffffffffffed');}function _0x131ac9(_0x2a9077){if(_0x1a4e('0x9')==typeof _0x2a9077){var _0x507836=_0x2351d0[_0x1a4e('0xa12')](_0x2a9077);this['m']=_0x507836['p'],this['prime']=_0x507836;}else _0xa403b(_0x2a9077[_0x1a4e('0x9e5')](0x1),_0x1a4e('0xa13')),this['m']=_0x2a9077,this[_0x1a4e('0xa14')]=null;}function _0x47ed8b(_0x2a9077){_0x131ac9[_0x1a4e('0x1')](this,_0x2a9077),this[_0x1a4e('0x7d')]=this['m'][_0x1a4e('0x9a6')](),this[_0x1a4e('0x7d')]%0x1a!=0x0&&(this[_0x1a4e('0x7d')]+=0x1a-this[_0x1a4e('0x7d')]%0x1a),this['r']=new _0x2351d0(0x1)[_0x1a4e('0x9c6')](this[_0x1a4e('0x7d')]),this['r2']=this[_0x1a4e('0xa15')](this['r'][_0x1a4e('0x274')]()),this[_0x1a4e('0xa16')]=this['r'][_0x1a4e('0xa17')](this['m']),this[_0x1a4e('0xa18')]=this[_0x1a4e('0xa16')][_0x1a4e('0x9c3')](this['r'])[_0x1a4e('0x9d0')](0x1)[_0x1a4e('0x9d6')](this['m']),this[_0x1a4e('0xa18')]=this[_0x1a4e('0xa18')][_0x1a4e('0x9da')](this['r']),this['minv']=this['r'][_0x1a4e('0x16a')](this[_0x1a4e('0xa18')]);}_0xafcb5[_0x1a4e('0xa')][_0x1a4e('0xa0a')]=function(){var _0x2a9077=new _0x2351d0(null);return _0x2a9077[_0x1a4e('0x981')]=new Array(Math[_0x1a4e('0x6d')](this['n']/0xd)),_0x2a9077;},_0xafcb5[_0x1a4e('0xa')][_0x1a4e('0xa19')]=function(_0x2a9077){var _0x507836,_0x565c1d=_0x2a9077;do{this[_0x1a4e('0x2be')](_0x565c1d,this['tmp']),_0x507836=(_0x565c1d=(_0x565c1d=this[_0x1a4e('0xa1a')](_0x565c1d))['iadd'](this[_0x1a4e('0xa09')]))[_0x1a4e('0x9a6')]();}while(_0x507836>this['n']);var _0xa403b=_0x5078360x0?_0x565c1d['isub'](this['p']):_0x565c1d['strip'](),_0x565c1d;},_0xafcb5[_0x1a4e('0xa')][_0x1a4e('0x2be')]=function(_0x2a9077,_0x507836){_0x2a9077[_0x1a4e('0x9c9')](this['n'],0x0,_0x507836);},_0xafcb5['prototype'][_0x1a4e('0xa1a')]=function(_0x2a9077){return _0x2a9077[_0x1a4e('0x9ba')](this['k']);},_0x13b69f(_0xde213e,_0xafcb5),_0xde213e[_0x1a4e('0xa')][_0x1a4e('0x2be')]=function(_0x2a9077,_0x507836){for(var _0x565c1d=Math['min'](_0x2a9077['length'],0x9),_0xa403b=0x0;_0xa403b<_0x565c1d;_0xa403b++)_0x507836[_0x1a4e('0x981')][_0xa403b]=_0x2a9077['words'][_0xa403b];if(_0x507836[_0x1a4e('0x1e')]=_0x565c1d,_0x2a9077['length']<=0x9)return _0x2a9077['words'][0x0]=0x0,void(_0x2a9077['length']=0x1);var _0x13b69f=_0x2a9077[_0x1a4e('0x981')][0x9];for(_0x507836[_0x1a4e('0x981')][_0x507836[_0x1a4e('0x1e')]++]=0x3fffff&_0x13b69f,_0xa403b=0xa;_0xa403b<_0x2a9077[_0x1a4e('0x1e')];_0xa403b++){var _0x2351d0=0x0|_0x2a9077[_0x1a4e('0x981')][_0xa403b];_0x2a9077[_0x1a4e('0x981')][_0xa403b-0xa]=(0x3fffff&_0x2351d0)<<0x4|_0x13b69f>>>0x16,_0x13b69f=_0x2351d0;}_0x13b69f>>>=0x16,_0x2a9077[_0x1a4e('0x981')][_0xa403b-0xa]=_0x13b69f,0x0===_0x13b69f&&_0x2a9077['length']>0xa?_0x2a9077[_0x1a4e('0x1e')]-=0xa:_0x2a9077[_0x1a4e('0x1e')]-=0x9;},_0xde213e[_0x1a4e('0xa')][_0x1a4e('0xa1a')]=function(_0x2a9077){_0x2a9077['words'][_0x2a9077[_0x1a4e('0x1e')]]=0x0,_0x2a9077[_0x1a4e('0x981')][_0x2a9077[_0x1a4e('0x1e')]+0x1]=0x0,_0x2a9077[_0x1a4e('0x1e')]+=0x2;for(var _0x507836=0x0,_0x565c1d=0x0;_0x565c1d<_0x2a9077['length'];_0x565c1d++){var _0xa403b=0x0|_0x2a9077[_0x1a4e('0x981')][_0x565c1d];_0x507836+=0x3d1*_0xa403b,_0x2a9077[_0x1a4e('0x981')][_0x565c1d]=0x3ffffff&_0x507836,_0x507836=0x40*_0xa403b+(_0x507836/0x4000000|0x0);}return 0x0===_0x2a9077[_0x1a4e('0x981')][_0x2a9077[_0x1a4e('0x1e')]-0x1]&&(_0x2a9077[_0x1a4e('0x1e')]--,0x0===_0x2a9077[_0x1a4e('0x981')][_0x2a9077['length']-0x1]&&_0x2a9077['length']--),_0x2a9077;},_0x13b69f(_0x549dcb,_0xafcb5),_0x13b69f(_0x33bfcc,_0xafcb5),_0x13b69f(_0x2a27ea,_0xafcb5),_0x2a27ea['prototype'][_0x1a4e('0xa1a')]=function(_0x2a9077){for(var _0x507836=0x0,_0x565c1d=0x0;_0x565c1d<_0x2a9077['length'];_0x565c1d++){var _0xa403b=0x13*(0x0|_0x2a9077[_0x1a4e('0x981')][_0x565c1d])+_0x507836,_0x13b69f=0x3ffffff&_0xa403b;_0xa403b>>>=0x1a,_0x2a9077['words'][_0x565c1d]=_0x13b69f,_0x507836=_0xa403b;}return 0x0!==_0x507836&&(_0x2a9077[_0x1a4e('0x981')][_0x2a9077[_0x1a4e('0x1e')]++]=_0x507836),_0x2a9077;},_0x2351d0[_0x1a4e('0xa12')]=function(_0x2a9077){if(_0x452d28[_0x2a9077])return _0x452d28[_0x2a9077];var _0x507836;if(_0x1a4e('0xa0b')===_0x2a9077)_0x507836=new _0xde213e();else if(_0x1a4e('0xa0d')===_0x2a9077)_0x507836=new _0x549dcb();else if('p192'===_0x2a9077)_0x507836=new _0x33bfcc();else{if(_0x1a4e('0xa1b')!==_0x2a9077)throw new Error(_0x1a4e('0xa1c')+_0x2a9077);_0x507836=new _0x2a27ea();}return _0x452d28[_0x2a9077]=_0x507836,_0x507836;},_0x131ac9['prototype'][_0x1a4e('0xa00')]=function(_0x2a9077){_0xa403b(0x0===_0x2a9077[_0x1a4e('0x978')],_0x1a4e('0x9ea')),_0xa403b(_0x2a9077['red'],_0x1a4e('0xa1d'));},_0x131ac9['prototype'][_0x1a4e('0x9fd')]=function(_0x2a9077,_0x507836){_0xa403b(0x0==(_0x2a9077[_0x1a4e('0x978')]|_0x507836[_0x1a4e('0x978')]),_0x1a4e('0x9ea')),_0xa403b(_0x2a9077['red']&&_0x2a9077[_0x1a4e('0x979')]===_0x507836[_0x1a4e('0x979')],_0x1a4e('0xa1d'));},_0x131ac9[_0x1a4e('0xa')][_0x1a4e('0xa15')]=function(_0x2a9077){return this[_0x1a4e('0xa14')]?this['prime']['ireduce'](_0x2a9077)[_0x1a4e('0x9ec')](this):_0x2a9077[_0x1a4e('0x9da')](this['m'])['_forceRed'](this);},_0x131ac9['prototype']['neg']=function(_0x2a9077){return _0x2a9077['isZero']()?_0x2a9077[_0x1a4e('0x240')]():this['m']['sub'](_0x2a9077)[_0x1a4e('0x9ec')](this);},_0x131ac9['prototype'][_0x1a4e('0x177')]=function(_0x2a9077,_0x507836){this[_0x1a4e('0x9fd')](_0x2a9077,_0x507836);var _0x565c1d=_0x2a9077[_0x1a4e('0x177')](_0x507836);return _0x565c1d[_0x1a4e('0x97b')](this['m'])>=0x0&&_0x565c1d[_0x1a4e('0x9b9')](this['m']),_0x565c1d[_0x1a4e('0x9ec')](this);},_0x131ac9[_0x1a4e('0xa')][_0x1a4e('0x9b8')]=function(_0x2a9077,_0x507836){this[_0x1a4e('0x9fd')](_0x2a9077,_0x507836);var _0x565c1d=_0x2a9077[_0x1a4e('0x9b8')](_0x507836);return _0x565c1d[_0x1a4e('0x97b')](this['m'])>=0x0&&_0x565c1d[_0x1a4e('0x9b9')](this['m']),_0x565c1d;},_0x131ac9[_0x1a4e('0xa')]['sub']=function(_0x2a9077,_0x507836){this[_0x1a4e('0x9fd')](_0x2a9077,_0x507836);var _0x565c1d=_0x2a9077[_0x1a4e('0x16a')](_0x507836);return _0x565c1d['cmpn'](0x0)<0x0&&_0x565c1d['iadd'](this['m']),_0x565c1d[_0x1a4e('0x9ec')](this);},_0x131ac9[_0x1a4e('0xa')][_0x1a4e('0x9b9')]=function(_0x2a9077,_0x507836){this[_0x1a4e('0x9fd')](_0x2a9077,_0x507836);var _0x565c1d=_0x2a9077[_0x1a4e('0x9b9')](_0x507836);return _0x565c1d[_0x1a4e('0x9e0')](0x0)<0x0&&_0x565c1d[_0x1a4e('0x9b8')](this['m']),_0x565c1d;},_0x131ac9[_0x1a4e('0xa')][_0x1a4e('0x9fb')]=function(_0x2a9077,_0x507836){return this[_0x1a4e('0xa00')](_0x2a9077),this[_0x1a4e('0xa15')](_0x2a9077[_0x1a4e('0x9d5')](_0x507836));},_0x131ac9[_0x1a4e('0xa')][_0x1a4e('0x9ba')]=function(_0x2a9077,_0x507836){return this['_verify2'](_0x2a9077,_0x507836),this['imod'](_0x2a9077[_0x1a4e('0x9ba')](_0x507836));},_0x131ac9['prototype']['mul']=function(_0x2a9077,_0x507836){return this[_0x1a4e('0x9fd')](_0x2a9077,_0x507836),this[_0x1a4e('0xa15')](_0x2a9077[_0x1a4e('0x9c3')](_0x507836));},_0x131ac9['prototype'][_0x1a4e('0x9c5')]=function(_0x2a9077){return this[_0x1a4e('0x9ba')](_0x2a9077,_0x2a9077[_0x1a4e('0x240')]());},_0x131ac9[_0x1a4e('0xa')]['sqr']=function(_0x2a9077){return this[_0x1a4e('0x9c3')](_0x2a9077,_0x2a9077);},_0x131ac9['prototype'][_0x1a4e('0x91')]=function(_0x2a9077){if(_0x2a9077['isZero']())return _0x2a9077['clone']();var _0x507836=this['m'][_0x1a4e('0x9a2')](0x3);if(_0xa403b(_0x507836%0x2==0x1),0x3===_0x507836){var _0x565c1d=this['m'][_0x1a4e('0x177')](new _0x2351d0(0x1))[_0x1a4e('0x9c9')](0x2);return this[_0x1a4e('0x8e')](_0x2a9077,_0x565c1d);}for(var _0x13b69f=this['m'][_0x1a4e('0x9d2')](0x1),_0x42b365=0x0;!_0x13b69f['isZero']()&&0x0===_0x13b69f[_0x1a4e('0x9a2')](0x1);)_0x42b365++,_0x13b69f['iushrn'](0x1);_0xa403b(!_0x13b69f['isZero']());var _0x524d30=new _0x2351d0(0x1)[_0x1a4e('0x9e8')](this),_0x44532e=_0x524d30[_0x1a4e('0xa07')](),_0x28b451=this['m']['subn'](0x1)[_0x1a4e('0x9c9')](0x1),_0x122f71=this['m'][_0x1a4e('0x9a6')]();for(_0x122f71=new _0x2351d0(0x2*_0x122f71*_0x122f71)[_0x1a4e('0x9e8')](this);0x0!==this['pow'](_0x122f71,_0x28b451)[_0x1a4e('0x97b')](_0x44532e);)_0x122f71[_0x1a4e('0x9f3')](_0x44532e);for(var _0x202d0f=this[_0x1a4e('0x8e')](_0x122f71,_0x13b69f),_0x2038a0=this['pow'](_0x2a9077,_0x13b69f[_0x1a4e('0x9d1')](0x1)[_0x1a4e('0x9c9')](0x1)),_0x3d2a4a=this[_0x1a4e('0x8e')](_0x2a9077,_0x13b69f),_0xfad282=_0x42b365;0x0!==_0x3d2a4a[_0x1a4e('0x97b')](_0x524d30);){for(var _0x1f90fa=_0x3d2a4a,_0x452d28=0x0;0x0!==_0x1f90fa[_0x1a4e('0x97b')](_0x524d30);_0x452d28++)_0x1f90fa=_0x1f90fa['redSqr']();_0xa403b(_0x452d28<_0xfad282);var _0xafcb5=this[_0x1a4e('0x8e')](_0x202d0f,new _0x2351d0(0x1)[_0x1a4e('0x9c6')](_0xfad282-_0x452d28-0x1));_0x2038a0=_0x2038a0[_0x1a4e('0xa1e')](_0xafcb5),_0x202d0f=_0xafcb5[_0x1a4e('0x9ff')](),_0x3d2a4a=_0x3d2a4a[_0x1a4e('0xa1e')](_0x202d0f),_0xfad282=_0x452d28;}return _0x2038a0;},_0x131ac9['prototype'][_0x1a4e('0x9e1')]=function(_0x2a9077){var _0x507836=_0x2a9077[_0x1a4e('0xa17')](this['m']);return 0x0!==_0x507836[_0x1a4e('0x978')]?(_0x507836[_0x1a4e('0x978')]=0x0,this['imod'](_0x507836)['redNeg']()):this['imod'](_0x507836);},_0x131ac9[_0x1a4e('0xa')][_0x1a4e('0x8e')]=function(_0x2a9077,_0x507836){if(_0x507836[_0x1a4e('0x266')]())return new _0x2351d0(0x1)['toRed'](this);if(0x0===_0x507836['cmpn'](0x1))return _0x2a9077[_0x1a4e('0x240')]();var _0x565c1d=new Array(0x10);_0x565c1d[0x0]=new _0x2351d0(0x1)['toRed'](this),_0x565c1d[0x1]=_0x2a9077;for(var _0xa403b=0x2;_0xa403b<_0x565c1d[_0x1a4e('0x1e')];_0xa403b++)_0x565c1d[_0xa403b]=this['mul'](_0x565c1d[_0xa403b-0x1],_0x2a9077);var _0x13b69f=_0x565c1d[0x0],_0x42b365=0x0,_0x524d30=0x0,_0x44532e=_0x507836[_0x1a4e('0x9a6')]()%0x1a;for(0x0===_0x44532e&&(_0x44532e=0x1a),_0xa403b=_0x507836[_0x1a4e('0x1e')]-0x1;_0xa403b>=0x0;_0xa403b--){for(var _0x28b451=_0x507836[_0x1a4e('0x981')][_0xa403b],_0x122f71=_0x44532e-0x1;_0x122f71>=0x0;_0x122f71--){var _0x202d0f=_0x28b451>>_0x122f71&0x1;_0x13b69f!==_0x565c1d[0x0]&&(_0x13b69f=this[_0x1a4e('0x274')](_0x13b69f)),0x0!==_0x202d0f||0x0!==_0x42b365?(_0x42b365<<=0x1,_0x42b365|=_0x202d0f,(0x4===++_0x524d30||0x0===_0xa403b&&0x0===_0x122f71)&&(_0x13b69f=this[_0x1a4e('0x9c3')](_0x13b69f,_0x565c1d[_0x42b365]),_0x524d30=0x0,_0x42b365=0x0)):_0x524d30=0x0;}_0x44532e=0x1a;}return _0x13b69f;},_0x131ac9[_0x1a4e('0xa')]['convertTo']=function(_0x2a9077){var _0x507836=_0x2a9077[_0x1a4e('0x9da')](this['m']);return _0x507836===_0x2a9077?_0x507836['clone']():_0x507836;},_0x131ac9['prototype'][_0x1a4e('0x9ef')]=function(_0x2a9077){var _0x507836=_0x2a9077[_0x1a4e('0x240')]();return _0x507836[_0x1a4e('0x979')]=null,_0x507836;},_0x2351d0[_0x1a4e('0xa1f')]=function(_0x2a9077){return new _0x47ed8b(_0x2a9077);},_0x13b69f(_0x47ed8b,_0x131ac9),_0x47ed8b[_0x1a4e('0xa')][_0x1a4e('0x9eb')]=function(_0x2a9077){return this[_0x1a4e('0xa15')](_0x2a9077[_0x1a4e('0x9d5')](this[_0x1a4e('0x7d')]));},_0x47ed8b[_0x1a4e('0xa')][_0x1a4e('0x9ef')]=function(_0x2a9077){var _0x507836=this[_0x1a4e('0xa15')](_0x2a9077[_0x1a4e('0x9c3')](this['rinv']));return _0x507836[_0x1a4e('0x979')]=null,_0x507836;},_0x47ed8b['prototype']['imul']=function(_0x2a9077,_0x507836){if(_0x2a9077['isZero']()||_0x507836[_0x1a4e('0x266')]())return _0x2a9077['words'][0x0]=0x0,_0x2a9077[_0x1a4e('0x1e')]=0x1,_0x2a9077;var _0x565c1d=_0x2a9077[_0x1a4e('0x9ba')](_0x507836),_0xa403b=_0x565c1d[_0x1a4e('0x9ce')](this[_0x1a4e('0x7d')])[_0x1a4e('0x9c3')](this[_0x1a4e('0xa18')])[_0x1a4e('0x9cf')](this[_0x1a4e('0x7d')])[_0x1a4e('0x9c3')](this['m']),_0x13b69f=_0x565c1d[_0x1a4e('0x9b9')](_0xa403b)[_0x1a4e('0x9c9')](this[_0x1a4e('0x7d')]),_0x2351d0=_0x13b69f;return _0x13b69f[_0x1a4e('0x97b')](this['m'])>=0x0?_0x2351d0=_0x13b69f[_0x1a4e('0x9b9')](this['m']):_0x13b69f[_0x1a4e('0x9e0')](0x0)<0x0&&(_0x2351d0=_0x13b69f['iadd'](this['m'])),_0x2351d0[_0x1a4e('0x9ec')](this);},_0x47ed8b[_0x1a4e('0xa')][_0x1a4e('0x9c3')]=function(_0x2a9077,_0x507836){if(_0x2a9077[_0x1a4e('0x266')]()||_0x507836['isZero']())return new _0x2351d0(0x0)[_0x1a4e('0x9ec')](this);var _0x565c1d=_0x2a9077[_0x1a4e('0x9c3')](_0x507836),_0xa403b=_0x565c1d[_0x1a4e('0x9ce')](this[_0x1a4e('0x7d')])[_0x1a4e('0x9c3')](this[_0x1a4e('0xa18')])[_0x1a4e('0x9cf')](this[_0x1a4e('0x7d')])[_0x1a4e('0x9c3')](this['m']),_0x13b69f=_0x565c1d[_0x1a4e('0x9b9')](_0xa403b)[_0x1a4e('0x9c9')](this[_0x1a4e('0x7d')]),_0x42b365=_0x13b69f;return _0x13b69f[_0x1a4e('0x97b')](this['m'])>=0x0?_0x42b365=_0x13b69f[_0x1a4e('0x9b9')](this['m']):_0x13b69f[_0x1a4e('0x9e0')](0x0)<0x0&&(_0x42b365=_0x13b69f[_0x1a4e('0x9b8')](this['m'])),_0x42b365[_0x1a4e('0x9ec')](this);},_0x47ed8b[_0x1a4e('0xa')][_0x1a4e('0x9e1')]=function(_0x2a9077){return this[_0x1a4e('0xa15')](_0x2a9077[_0x1a4e('0xa17')](this['m'])['mul'](this['r2']))[_0x1a4e('0x9ec')](this);};}(_0x2a9077,this);}[_0x1a4e('0x1')](this,_0x565c1d(_0x1a4e('0xa20'))(_0x2a9077)));},'./node_modules/brorand/index.js':function(_0x215000,_0x9b9a6,_0x2389ee){var _0x142535;function _0x5126a1(_0x215000){this[_0x1a4e('0xa21')]=_0x215000;}if(_0x215000[_0x1a4e('0x0')]=function(_0x215000){return _0x142535||(_0x142535=new _0x5126a1(null)),_0x142535[_0x1a4e('0xa22')](_0x215000);},_0x215000['exports'][_0x1a4e('0xa23')]=_0x5126a1,_0x5126a1[_0x1a4e('0xa')][_0x1a4e('0xa22')]=function(_0x215000){return this[_0x1a4e('0xa24')](_0x215000);},_0x5126a1['prototype'][_0x1a4e('0xa24')]=function(_0x215000){if(this[_0x1a4e('0xa21')][_0x1a4e('0xa25')])return this[_0x1a4e('0xa21')][_0x1a4e('0xa25')](_0x215000);for(var _0x9b9a6=new Uint8Array(_0x215000),_0x2389ee=0x0;_0x2389ee<_0x9b9a6[_0x1a4e('0x1e')];_0x2389ee++)_0x9b9a6[_0x2389ee]=this[_0x1a4e('0xa21')][_0x1a4e('0xa26')]();return _0x9b9a6;},'object'==typeof self)self[_0x1a4e('0xa27')]&&self[_0x1a4e('0xa27')]['getRandomValues']?_0x5126a1[_0x1a4e('0xa')][_0x1a4e('0xa24')]=function(_0x215000){var _0x9b9a6=new Uint8Array(_0x215000);return self[_0x1a4e('0xa27')]['getRandomValues'](_0x9b9a6),_0x9b9a6;}:self[_0x1a4e('0xa28')]&&self[_0x1a4e('0xa28')][_0x1a4e('0xa29')]?_0x5126a1['prototype'][_0x1a4e('0xa24')]=function(_0x215000){var _0x9b9a6=new Uint8Array(_0x215000);return self[_0x1a4e('0xa28')]['getRandomValues'](_0x9b9a6),_0x9b9a6;}:'object'==typeof window&&(_0x5126a1[_0x1a4e('0xa')][_0x1a4e('0xa24')]=function(){throw new Error(_0x1a4e('0xa2a'));});else try{var _0x3f2f04=_0x2389ee(0x4);if('function'!=typeof _0x3f2f04[_0x1a4e('0xa2b')])throw new Error(_0x1a4e('0xa2c'));_0x5126a1[_0x1a4e('0xa')][_0x1a4e('0xa24')]=function(_0x215000){return _0x3f2f04[_0x1a4e('0xa2b')](_0x215000);};}catch(_0x336808){}},'./node_modules/browserify-aes/aes.js':function(_0x482860,_0x1de762,_0x133324){var _0x2c98a1=_0x133324(_0x1a4e('0xa2d'))[_0x1a4e('0x870')];function _0x290306(_0x482860){_0x2c98a1[_0x1a4e('0x871')](_0x482860)||(_0x482860=_0x2c98a1[_0x1a4e('0x1b5')](_0x482860));for(var _0x1de762=_0x482860[_0x1a4e('0x1e')]/0x4|0x0,_0x133324=new Array(_0x1de762),_0x290306=0x0;_0x290306<_0x1de762;_0x290306++)_0x133324[_0x290306]=_0x482860[_0x1a4e('0xa2e')](0x4*_0x290306);return _0x133324;}function _0x1caa8f(_0x482860){for(;0x0<_0x482860[_0x1a4e('0x1e')];_0x482860++)_0x482860[0x0]=0x0;}function _0x486d46(_0x482860,_0x1de762,_0x133324,_0x2c98a1,_0x290306){for(var _0x1caa8f,_0x486d46,_0x564c60,_0x13ff95,_0x266682=_0x133324[0x0],_0x30bea4=_0x133324[0x1],_0x454492=_0x133324[0x2],_0x3cb0a0=_0x133324[0x3],_0x3c3856=_0x482860[0x0]^_0x1de762[0x0],_0x417785=_0x482860[0x1]^_0x1de762[0x1],_0x16d36e=_0x482860[0x2]^_0x1de762[0x2],_0xcc0b80=_0x482860[0x3]^_0x1de762[0x3],_0x489265=0x4,_0x40c4c7=0x1;_0x40c4c7<_0x290306;_0x40c4c7++)_0x1caa8f=_0x266682[_0x3c3856>>>0x18]^_0x30bea4[_0x417785>>>0x10&0xff]^_0x454492[_0x16d36e>>>0x8&0xff]^_0x3cb0a0[0xff&_0xcc0b80]^_0x1de762[_0x489265++],_0x486d46=_0x266682[_0x417785>>>0x18]^_0x30bea4[_0x16d36e>>>0x10&0xff]^_0x454492[_0xcc0b80>>>0x8&0xff]^_0x3cb0a0[0xff&_0x3c3856]^_0x1de762[_0x489265++],_0x564c60=_0x266682[_0x16d36e>>>0x18]^_0x30bea4[_0xcc0b80>>>0x10&0xff]^_0x454492[_0x3c3856>>>0x8&0xff]^_0x3cb0a0[0xff&_0x417785]^_0x1de762[_0x489265++],_0x13ff95=_0x266682[_0xcc0b80>>>0x18]^_0x30bea4[_0x3c3856>>>0x10&0xff]^_0x454492[_0x417785>>>0x8&0xff]^_0x3cb0a0[0xff&_0x16d36e]^_0x1de762[_0x489265++],_0x3c3856=_0x1caa8f,_0x417785=_0x486d46,_0x16d36e=_0x564c60,_0xcc0b80=_0x13ff95;return _0x1caa8f=(_0x2c98a1[_0x3c3856>>>0x18]<<0x18|_0x2c98a1[_0x417785>>>0x10&0xff]<<0x10|_0x2c98a1[_0x16d36e>>>0x8&0xff]<<0x8|_0x2c98a1[0xff&_0xcc0b80])^_0x1de762[_0x489265++],_0x486d46=(_0x2c98a1[_0x417785>>>0x18]<<0x18|_0x2c98a1[_0x16d36e>>>0x10&0xff]<<0x10|_0x2c98a1[_0xcc0b80>>>0x8&0xff]<<0x8|_0x2c98a1[0xff&_0x3c3856])^_0x1de762[_0x489265++],_0x564c60=(_0x2c98a1[_0x16d36e>>>0x18]<<0x18|_0x2c98a1[_0xcc0b80>>>0x10&0xff]<<0x10|_0x2c98a1[_0x3c3856>>>0x8&0xff]<<0x8|_0x2c98a1[0xff&_0x417785])^_0x1de762[_0x489265++],_0x13ff95=(_0x2c98a1[_0xcc0b80>>>0x18]<<0x18|_0x2c98a1[_0x3c3856>>>0x10&0xff]<<0x10|_0x2c98a1[_0x417785>>>0x8&0xff]<<0x8|_0x2c98a1[0xff&_0x16d36e])^_0x1de762[_0x489265++],[_0x1caa8f>>>=0x0,_0x486d46>>>=0x0,_0x564c60>>>=0x0,_0x13ff95>>>=0x0];}var _0x5dbe75=[0x0,0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x1b,0x36],_0xab9862=function(){for(var _0x482860=new Array(0x100),_0x1de762=0x0;_0x1de762<0x100;_0x1de762++)_0x482860[_0x1de762]=_0x1de762<0x80?_0x1de762<<0x1:_0x1de762<<0x1^0x11b;for(var _0x133324=[],_0x2c98a1=[],_0x290306=[[],[],[],[]],_0x1caa8f=[[],[],[],[]],_0x486d46=0x0,_0x5dbe75=0x0,_0xab9862=0x0;_0xab9862<0x100;++_0xab9862){var _0x27abb9=_0x5dbe75^_0x5dbe75<<0x1^_0x5dbe75<<0x2^_0x5dbe75<<0x3^_0x5dbe75<<0x4;_0x27abb9=_0x27abb9>>>0x8^0xff&_0x27abb9^0x63,_0x133324[_0x486d46]=_0x27abb9,_0x2c98a1[_0x27abb9]=_0x486d46;var _0xe5ee8f=_0x482860[_0x486d46],_0x319e17=_0x482860[_0xe5ee8f],_0x263bb3=_0x482860[_0x319e17],_0x459d23=0x101*_0x482860[_0x27abb9]^0x1010100*_0x27abb9;_0x290306[0x0][_0x486d46]=_0x459d23<<0x18|_0x459d23>>>0x8,_0x290306[0x1][_0x486d46]=_0x459d23<<0x10|_0x459d23>>>0x10,_0x290306[0x2][_0x486d46]=_0x459d23<<0x8|_0x459d23>>>0x18,_0x290306[0x3][_0x486d46]=_0x459d23,_0x459d23=0x1010101*_0x263bb3^0x10001*_0x319e17^0x101*_0xe5ee8f^0x1010100*_0x486d46,_0x1caa8f[0x0][_0x27abb9]=_0x459d23<<0x18|_0x459d23>>>0x8,_0x1caa8f[0x1][_0x27abb9]=_0x459d23<<0x10|_0x459d23>>>0x10,_0x1caa8f[0x2][_0x27abb9]=_0x459d23<<0x8|_0x459d23>>>0x18,_0x1caa8f[0x3][_0x27abb9]=_0x459d23,0x0===_0x486d46?_0x486d46=_0x5dbe75=0x1:(_0x486d46=_0xe5ee8f^_0x482860[_0x482860[_0x482860[_0x263bb3^_0xe5ee8f]]],_0x5dbe75^=_0x482860[_0x482860[_0x5dbe75]]);}return{'SBOX':_0x133324,'INV_SBOX':_0x2c98a1,'SUB_MIX':_0x290306,'INV_SUB_MIX':_0x1caa8f};}();function _0x14b7bf(_0x482860){this[_0x1a4e('0xa2f')]=_0x290306(_0x482860),this[_0x1a4e('0xa30')]();}_0x14b7bf[_0x1a4e('0xa31')]=0x10,_0x14b7bf[_0x1a4e('0xa32')]=0x20,_0x14b7bf[_0x1a4e('0xa')][_0x1a4e('0xa31')]=_0x14b7bf['blockSize'],_0x14b7bf[_0x1a4e('0xa')][_0x1a4e('0xa32')]=_0x14b7bf[_0x1a4e('0xa32')],_0x14b7bf[_0x1a4e('0xa')][_0x1a4e('0xa30')]=function(){for(var _0x482860=this['_key'],_0x1de762=_0x482860[_0x1a4e('0x1e')],_0x133324=_0x1de762+0x6,_0x2c98a1=0x4*(_0x133324+0x1),_0x290306=[],_0x1caa8f=0x0;_0x1caa8f<_0x1de762;_0x1caa8f++)_0x290306[_0x1caa8f]=_0x482860[_0x1caa8f];for(_0x1caa8f=_0x1de762;_0x1caa8f<_0x2c98a1;_0x1caa8f++){var _0x486d46=_0x290306[_0x1caa8f-0x1];_0x1caa8f%_0x1de762==0x0?(_0x486d46=_0x486d46<<0x8|_0x486d46>>>0x18,_0x486d46=_0xab9862[_0x1a4e('0xa33')][_0x486d46>>>0x18]<<0x18|_0xab9862[_0x1a4e('0xa33')][_0x486d46>>>0x10&0xff]<<0x10|_0xab9862[_0x1a4e('0xa33')][_0x486d46>>>0x8&0xff]<<0x8|_0xab9862['SBOX'][0xff&_0x486d46],_0x486d46^=_0x5dbe75[_0x1caa8f/_0x1de762|0x0]<<0x18):_0x1de762>0x6&&_0x1caa8f%_0x1de762==0x4&&(_0x486d46=_0xab9862[_0x1a4e('0xa33')][_0x486d46>>>0x18]<<0x18|_0xab9862[_0x1a4e('0xa33')][_0x486d46>>>0x10&0xff]<<0x10|_0xab9862[_0x1a4e('0xa33')][_0x486d46>>>0x8&0xff]<<0x8|_0xab9862['SBOX'][0xff&_0x486d46]),_0x290306[_0x1caa8f]=_0x290306[_0x1caa8f-_0x1de762]^_0x486d46;}for(var _0x14b7bf=[],_0x304325=0x0;_0x304325<_0x2c98a1;_0x304325++){var _0x35f1bb=_0x2c98a1-_0x304325,_0x2b9f4a=_0x290306[_0x35f1bb-(_0x304325%0x4?0x0:0x4)];_0x14b7bf[_0x304325]=_0x304325<0x4||_0x35f1bb<=0x4?_0x2b9f4a:_0xab9862[_0x1a4e('0xa34')][0x0][_0xab9862['SBOX'][_0x2b9f4a>>>0x18]]^_0xab9862[_0x1a4e('0xa34')][0x1][_0xab9862[_0x1a4e('0xa33')][_0x2b9f4a>>>0x10&0xff]]^_0xab9862[_0x1a4e('0xa34')][0x2][_0xab9862[_0x1a4e('0xa33')][_0x2b9f4a>>>0x8&0xff]]^_0xab9862[_0x1a4e('0xa34')][0x3][_0xab9862[_0x1a4e('0xa33')][0xff&_0x2b9f4a]];}this['_nRounds']=_0x133324,this[_0x1a4e('0xa35')]=_0x290306,this['_invKeySchedule']=_0x14b7bf;},_0x14b7bf[_0x1a4e('0xa')][_0x1a4e('0xa36')]=function(_0x482860){return _0x486d46(_0x482860=_0x290306(_0x482860),this['_keySchedule'],_0xab9862[_0x1a4e('0xa37')],_0xab9862[_0x1a4e('0xa33')],this[_0x1a4e('0xa38')]);},_0x14b7bf[_0x1a4e('0xa')]['encryptBlock']=function(_0x482860){var _0x1de762=this['encryptBlockRaw'](_0x482860),_0x133324=_0x2c98a1['allocUnsafe'](0x10);return _0x133324['writeUInt32BE'](_0x1de762[0x0],0x0),_0x133324[_0x1a4e('0xa39')](_0x1de762[0x1],0x4),_0x133324[_0x1a4e('0xa39')](_0x1de762[0x2],0x8),_0x133324[_0x1a4e('0xa39')](_0x1de762[0x3],0xc),_0x133324;},_0x14b7bf['prototype']['decryptBlock']=function(_0x482860){var _0x1de762=(_0x482860=_0x290306(_0x482860))[0x1];_0x482860[0x1]=_0x482860[0x3],_0x482860[0x3]=_0x1de762;var _0x133324=_0x486d46(_0x482860,this[_0x1a4e('0xa3a')],_0xab9862['INV_SUB_MIX'],_0xab9862[_0x1a4e('0xa3b')],this[_0x1a4e('0xa38')]),_0x1caa8f=_0x2c98a1[_0x1a4e('0xa3c')](0x10);return _0x1caa8f[_0x1a4e('0xa39')](_0x133324[0x0],0x0),_0x1caa8f[_0x1a4e('0xa39')](_0x133324[0x3],0x4),_0x1caa8f['writeUInt32BE'](_0x133324[0x2],0x8),_0x1caa8f['writeUInt32BE'](_0x133324[0x1],0xc),_0x1caa8f;},_0x14b7bf[_0x1a4e('0xa')][_0x1a4e('0xa3d')]=function(){_0x1caa8f(this['_keySchedule']),_0x1caa8f(this[_0x1a4e('0xa3a')]),_0x1caa8f(this[_0x1a4e('0xa2f')]);},_0x482860[_0x1a4e('0x0')][_0x1a4e('0xa3e')]=_0x14b7bf;},'./node_modules/browserify-aes/authCipher.js':function(_0x3284ad,_0x15bf78,_0x13e641){var _0xabd5c7=_0x13e641(_0x1a4e('0xa3f')),_0x590895=_0x13e641(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x2e217d=_0x13e641(_0x1a4e('0xa40')),_0x1abf9f=_0x13e641('./node_modules/inherits/inherits_browser.js'),_0x3b0007=_0x13e641(_0x1a4e('0xa41')),_0x3a22ea=_0x13e641(_0x1a4e('0xa42')),_0x14a05d=_0x13e641('./node_modules/browserify-aes/incr32.js');function _0x3416d0(_0x3284ad,_0x15bf78,_0x13e641,_0x1abf9f){_0x2e217d[_0x1a4e('0x1')](this);var _0x3a22ea=_0x590895[_0x1a4e('0xa43')](0x4,0x0);this[_0x1a4e('0xa44')]=new _0xabd5c7[(_0x1a4e('0xa3e'))](_0x15bf78);var _0x3416d0=this[_0x1a4e('0xa44')]['encryptBlock'](_0x3a22ea);this[_0x1a4e('0xa45')]=new _0x3b0007(_0x3416d0),_0x13e641=function(_0x3284ad,_0x15bf78,_0x13e641){if(0xc===_0x15bf78[_0x1a4e('0x1e')])return _0x3284ad['_finID']=_0x590895[_0x1a4e('0x9a')]([_0x15bf78,_0x590895[_0x1a4e('0x1b5')]([0x0,0x0,0x0,0x1])]),_0x590895['concat']([_0x15bf78,_0x590895[_0x1a4e('0x1b5')]([0x0,0x0,0x0,0x2])]);var _0xabd5c7=new _0x3b0007(_0x13e641),_0x2e217d=_0x15bf78[_0x1a4e('0x1e')],_0x1abf9f=_0x2e217d%0x10;_0xabd5c7['update'](_0x15bf78),_0x1abf9f&&(_0x1abf9f=0x10-_0x1abf9f,_0xabd5c7[_0x1a4e('0x937')](_0x590895[_0x1a4e('0xa43')](_0x1abf9f,0x0))),_0xabd5c7[_0x1a4e('0x937')](_0x590895['alloc'](0x8,0x0));var _0x3a22ea=0x8*_0x2e217d,_0x3416d0=_0x590895[_0x1a4e('0xa43')](0x8);_0x3416d0['writeUIntBE'](_0x3a22ea,0x0,0x8),_0xabd5c7[_0x1a4e('0x937')](_0x3416d0),_0x3284ad['_finID']=_0xabd5c7[_0x1a4e('0xa46')];var _0x3e0666=_0x590895['from'](_0x3284ad[_0x1a4e('0xa47')]);return _0x14a05d(_0x3e0666),_0x3e0666;}(this,_0x13e641,_0x3416d0),this['_prev']=_0x590895[_0x1a4e('0x1b5')](_0x13e641),this[_0x1a4e('0xa48')]=_0x590895[_0x1a4e('0xa3c')](0x0),this[_0x1a4e('0xa49')]=_0x590895[_0x1a4e('0xa3c')](0x0),this['_decrypt']=_0x1abf9f,this[_0x1a4e('0xa4a')]=0x0,this[_0x1a4e('0xa4b')]=0x0,this[_0x1a4e('0xa4c')]=_0x3284ad,this[_0x1a4e('0xa4d')]=null,this[_0x1a4e('0xa4e')]=!0x1;}_0x1abf9f(_0x3416d0,_0x2e217d),_0x3416d0[_0x1a4e('0xa')]['_update']=function(_0x3284ad){if(!this['_called']&&this[_0x1a4e('0xa4a')]){var _0x15bf78=0x10-this['_alen']%0x10;_0x15bf78<0x10&&(_0x15bf78=_0x590895['alloc'](_0x15bf78,0x0),this['_ghash'][_0x1a4e('0x937')](_0x15bf78));}this[_0x1a4e('0xa4e')]=!0x0;var _0x13e641=this[_0x1a4e('0xa4c')][_0x1a4e('0xa4f')](this,_0x3284ad);return this['_decrypt']?this[_0x1a4e('0xa45')]['update'](_0x3284ad):this['_ghash']['update'](_0x13e641),this[_0x1a4e('0xa4b')]+=_0x3284ad[_0x1a4e('0x1e')],_0x13e641;},_0x3416d0[_0x1a4e('0xa')][_0x1a4e('0xa50')]=function(){if(this[_0x1a4e('0xa51')]&&!this[_0x1a4e('0xa4d')])throw new Error(_0x1a4e('0xa52'));var _0x3284ad=_0x3a22ea(this['_ghash'][_0x1a4e('0xaa')](0x8*this[_0x1a4e('0xa4a')],0x8*this[_0x1a4e('0xa4b')]),this['_cipher']['encryptBlock'](this[_0x1a4e('0xa47')]));if(this[_0x1a4e('0xa51')]&&function(_0x3284ad,_0x15bf78){var _0x13e641=0x0;_0x3284ad[_0x1a4e('0x1e')]!==_0x15bf78[_0x1a4e('0x1e')]&&_0x13e641++;for(var _0xabd5c7=Math[_0x1a4e('0x74')](_0x3284ad['length'],_0x15bf78['length']),_0x590895=0x0;_0x590895<_0xabd5c7;++_0x590895)_0x13e641+=_0x3284ad[_0x590895]^_0x15bf78[_0x590895];return _0x13e641;}(_0x3284ad,this[_0x1a4e('0xa4d')]))throw new Error(_0x1a4e('0xa52'));this['_authTag']=_0x3284ad,this[_0x1a4e('0xa44')][_0x1a4e('0xa3d')]();},_0x3416d0[_0x1a4e('0xa')][_0x1a4e('0xa53')]=function(){if(this[_0x1a4e('0xa51')]||!_0x590895[_0x1a4e('0x871')](this[_0x1a4e('0xa4d')]))throw new Error(_0x1a4e('0xa54'));return this[_0x1a4e('0xa4d')];},_0x3416d0[_0x1a4e('0xa')]['setAuthTag']=function(_0x3284ad){if(!this['_decrypt'])throw new Error(_0x1a4e('0xa55'));this[_0x1a4e('0xa4d')]=_0x3284ad;},_0x3416d0[_0x1a4e('0xa')]['setAAD']=function(_0x3284ad){if(this[_0x1a4e('0xa4e')])throw new Error('Attempting\x20to\x20set\x20AAD\x20in\x20unsupported\x20state');this[_0x1a4e('0xa45')][_0x1a4e('0x937')](_0x3284ad),this[_0x1a4e('0xa4a')]+=_0x3284ad[_0x1a4e('0x1e')];},_0x3284ad[_0x1a4e('0x0')]=_0x3416d0;},'./node_modules/browserify-aes/browser.js':function(_0x39c870,_0x469191,_0x146437){var _0xa3dc0d=_0x146437('./node_modules/browserify-aes/encrypter.js'),_0x215359=_0x146437(_0x1a4e('0xa56')),_0x116216=_0x146437(_0x1a4e('0xa57'));_0x469191[_0x1a4e('0xa58')]=_0x469191[_0x1a4e('0xa59')]=_0xa3dc0d[_0x1a4e('0xa58')],_0x469191[_0x1a4e('0xa5a')]=_0x469191['Cipheriv']=_0xa3dc0d[_0x1a4e('0xa5a')],_0x469191[_0x1a4e('0xa5b')]=_0x469191[_0x1a4e('0xa5c')]=_0x215359['createDecipher'],_0x469191[_0x1a4e('0xa5d')]=_0x469191[_0x1a4e('0xa5e')]=_0x215359[_0x1a4e('0xa5d')],_0x469191[_0x1a4e('0xa5f')]=_0x469191[_0x1a4e('0xa60')]=function(){return Object[_0x1a4e('0x56')](_0x116216);};},'./node_modules/browserify-aes/decrypter.js':function(_0x5bb6f1,_0x5d454d,_0x4fd98){var _0x2b9bc7=_0x4fd98(_0x1a4e('0xa61')),_0x3d920b=_0x4fd98(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x509e48=_0x4fd98(_0x1a4e('0xa62')),_0x4617fe=_0x4fd98(_0x1a4e('0xa63')),_0x33c60b=_0x4fd98('./node_modules/cipher-base/index.js'),_0x35bfa2=_0x4fd98(_0x1a4e('0xa3f')),_0x53c89d=_0x4fd98(_0x1a4e('0xa64'));function _0x11d61d(_0x5bb6f1,_0x5d454d,_0x4fd98){_0x33c60b['call'](this),this[_0x1a4e('0xa48')]=new _0x30636a(),this[_0x1a4e('0xa65')]=void 0x0,this[_0x1a4e('0xa44')]=new _0x35bfa2['AES'](_0x5d454d),this['_prev']=_0x3d920b[_0x1a4e('0x1b5')](_0x4fd98),this[_0x1a4e('0xa4c')]=_0x5bb6f1,this[_0x1a4e('0xa66')]=!0x0;}function _0x30636a(){this[_0x1a4e('0xa67')]=_0x3d920b[_0x1a4e('0xa3c')](0x0);}function _0x1011f6(_0x5bb6f1,_0x5d454d,_0x4fd98){var _0x33c60b=_0x509e48[_0x5bb6f1[_0x1a4e('0x2b2')]()];if(!_0x33c60b)throw new TypeError('invalid\x20suite\x20type');if(_0x1a4e('0x9')==typeof _0x4fd98&&(_0x4fd98=_0x3d920b[_0x1a4e('0x1b5')](_0x4fd98)),_0x1a4e('0xa68')!==_0x33c60b[_0x1a4e('0xa69')]&&_0x4fd98[_0x1a4e('0x1e')]!==_0x33c60b['iv'])throw new TypeError(_0x1a4e('0xa6a')+_0x4fd98['length']);if('string'==typeof _0x5d454d&&(_0x5d454d=_0x3d920b['from'](_0x5d454d)),_0x5d454d[_0x1a4e('0x1e')]!==_0x33c60b[_0x1a4e('0x35f')]/0x8)throw new TypeError(_0x1a4e('0xa6b')+_0x5d454d['length']);return _0x1a4e('0x140')===_0x33c60b[_0x1a4e('0x40')]?new _0x4617fe(_0x33c60b[_0x1a4e('0xa6c')],_0x5d454d,_0x4fd98,!0x0):_0x1a4e('0xa6d')===_0x33c60b[_0x1a4e('0x40')]?new _0x2b9bc7(_0x33c60b[_0x1a4e('0xa6c')],_0x5d454d,_0x4fd98,!0x0):new _0x11d61d(_0x33c60b[_0x1a4e('0xa6c')],_0x5d454d,_0x4fd98);}_0x4fd98(_0x1a4e('0x863'))(_0x11d61d,_0x33c60b),_0x11d61d[_0x1a4e('0xa')]['_update']=function(_0x5bb6f1){var _0x5d454d,_0x4fd98;this[_0x1a4e('0xa48')]['add'](_0x5bb6f1);for(var _0x2b9bc7=[];_0x5d454d=this[_0x1a4e('0xa48')][_0x1a4e('0x179')](this[_0x1a4e('0xa66')]);)_0x4fd98=this['_mode'][_0x1a4e('0xa6e')](this,_0x5d454d),_0x2b9bc7[_0x1a4e('0x46')](_0x4fd98);return _0x3d920b[_0x1a4e('0x9a')](_0x2b9bc7);},_0x11d61d[_0x1a4e('0xa')][_0x1a4e('0xa50')]=function(){var _0x5bb6f1=this[_0x1a4e('0xa48')][_0x1a4e('0xa6f')]();if(this[_0x1a4e('0xa66')])return function(_0x5bb6f1){var _0x5d454d=_0x5bb6f1[0xf];if(_0x5d454d<0x1||_0x5d454d>0x10)throw new Error(_0x1a4e('0xa70'));var _0x4fd98=-0x1;for(;++_0x4fd98<_0x5d454d;)if(_0x5bb6f1[_0x4fd98+(0x10-_0x5d454d)]!==_0x5d454d)throw new Error('unable\x20to\x20decrypt\x20data');if(0x10===_0x5d454d)return;return _0x5bb6f1[_0x1a4e('0x78')](0x0,0x10-_0x5d454d);}(this[_0x1a4e('0xa4c')][_0x1a4e('0xa6e')](this,_0x5bb6f1));if(_0x5bb6f1)throw new Error(_0x1a4e('0xa71'));},_0x11d61d[_0x1a4e('0xa')][_0x1a4e('0xa72')]=function(_0x5bb6f1){return this[_0x1a4e('0xa66')]=!!_0x5bb6f1,this;},_0x30636a['prototype'][_0x1a4e('0x177')]=function(_0x5bb6f1){this[_0x1a4e('0xa67')]=_0x3d920b['concat']([this['cache'],_0x5bb6f1]);},_0x30636a[_0x1a4e('0xa')][_0x1a4e('0x179')]=function(_0x5bb6f1){var _0x5d454d;if(_0x5bb6f1){if(this[_0x1a4e('0xa67')][_0x1a4e('0x1e')]>0x10)return _0x5d454d=this[_0x1a4e('0xa67')][_0x1a4e('0x78')](0x0,0x10),this[_0x1a4e('0xa67')]=this[_0x1a4e('0xa67')][_0x1a4e('0x78')](0x10),_0x5d454d;}else if(this[_0x1a4e('0xa67')][_0x1a4e('0x1e')]>=0x10)return _0x5d454d=this[_0x1a4e('0xa67')][_0x1a4e('0x78')](0x0,0x10),this[_0x1a4e('0xa67')]=this['cache'][_0x1a4e('0x78')](0x10),_0x5d454d;return null;},_0x30636a[_0x1a4e('0xa')]['flush']=function(){if(this[_0x1a4e('0xa67')][_0x1a4e('0x1e')])return this[_0x1a4e('0xa67')];},_0x5d454d['createDecipher']=function(_0x5bb6f1,_0x5d454d){var _0x4fd98=_0x509e48[_0x5bb6f1[_0x1a4e('0x2b2')]()];if(!_0x4fd98)throw new TypeError('invalid\x20suite\x20type');var _0x2b9bc7=_0x53c89d(_0x5d454d,!0x1,_0x4fd98[_0x1a4e('0x35f')],_0x4fd98['iv']);return _0x1011f6(_0x5bb6f1,_0x2b9bc7[_0x1a4e('0x35f')],_0x2b9bc7['iv']);},_0x5d454d[_0x1a4e('0xa5d')]=_0x1011f6;},'./node_modules/browserify-aes/encrypter.js':function(_0xa1cdb8,_0x345253,_0x2c411d){var _0x58256d=_0x2c411d(_0x1a4e('0xa62')),_0x8c47b5=_0x2c411d('./node_modules/browserify-aes/authCipher.js'),_0x5e7bb0=_0x2c411d(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x22b3ec=_0x2c411d(_0x1a4e('0xa63')),_0xc9d70e=_0x2c411d(_0x1a4e('0xa40')),_0x2a9ca9=_0x2c411d(_0x1a4e('0xa3f')),_0x28c65d=_0x2c411d(_0x1a4e('0xa64'));function _0xde108b(_0xa1cdb8,_0x345253,_0x2c411d){_0xc9d70e[_0x1a4e('0x1')](this),this[_0x1a4e('0xa48')]=new _0x49db20(),this[_0x1a4e('0xa44')]=new _0x2a9ca9[(_0x1a4e('0xa3e'))](_0x345253),this[_0x1a4e('0xa73')]=_0x5e7bb0[_0x1a4e('0x1b5')](_0x2c411d),this[_0x1a4e('0xa4c')]=_0xa1cdb8,this[_0x1a4e('0xa66')]=!0x0;}_0x2c411d(_0x1a4e('0x863'))(_0xde108b,_0xc9d70e),_0xde108b[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(_0xa1cdb8){var _0x345253,_0x2c411d;this[_0x1a4e('0xa48')][_0x1a4e('0x177')](_0xa1cdb8);for(var _0x58256d=[];_0x345253=this[_0x1a4e('0xa48')][_0x1a4e('0x179')]();)_0x2c411d=this['_mode'][_0x1a4e('0xa4f')](this,_0x345253),_0x58256d[_0x1a4e('0x46')](_0x2c411d);return _0x5e7bb0['concat'](_0x58256d);};var _0x120f78=_0x5e7bb0[_0x1a4e('0xa43')](0x10,0x10);function _0x49db20(){this['cache']=_0x5e7bb0[_0x1a4e('0xa3c')](0x0);}function _0x426b5c(_0xa1cdb8,_0x345253,_0x2c411d){var _0xc9d70e=_0x58256d[_0xa1cdb8[_0x1a4e('0x2b2')]()];if(!_0xc9d70e)throw new TypeError('invalid\x20suite\x20type');if(_0x1a4e('0x9')==typeof _0x345253&&(_0x345253=_0x5e7bb0['from'](_0x345253)),_0x345253['length']!==_0xc9d70e[_0x1a4e('0x35f')]/0x8)throw new TypeError(_0x1a4e('0xa6b')+_0x345253[_0x1a4e('0x1e')]);if(_0x1a4e('0x9')==typeof _0x2c411d&&(_0x2c411d=_0x5e7bb0[_0x1a4e('0x1b5')](_0x2c411d)),'GCM'!==_0xc9d70e[_0x1a4e('0xa69')]&&_0x2c411d[_0x1a4e('0x1e')]!==_0xc9d70e['iv'])throw new TypeError(_0x1a4e('0xa6a')+_0x2c411d['length']);return _0x1a4e('0x140')===_0xc9d70e[_0x1a4e('0x40')]?new _0x22b3ec(_0xc9d70e['module'],_0x345253,_0x2c411d):'auth'===_0xc9d70e[_0x1a4e('0x40')]?new _0x8c47b5(_0xc9d70e[_0x1a4e('0xa6c')],_0x345253,_0x2c411d):new _0xde108b(_0xc9d70e[_0x1a4e('0xa6c')],_0x345253,_0x2c411d);}_0xde108b[_0x1a4e('0xa')][_0x1a4e('0xa50')]=function(){var _0xa1cdb8=this[_0x1a4e('0xa48')][_0x1a4e('0xa6f')]();if(this['_autopadding'])return _0xa1cdb8=this[_0x1a4e('0xa4c')]['encrypt'](this,_0xa1cdb8),this[_0x1a4e('0xa44')][_0x1a4e('0xa3d')](),_0xa1cdb8;if(!_0xa1cdb8[_0x1a4e('0x23e')](_0x120f78))throw this[_0x1a4e('0xa44')][_0x1a4e('0xa3d')](),new Error(_0x1a4e('0xa71'));},_0xde108b[_0x1a4e('0xa')][_0x1a4e('0xa72')]=function(_0xa1cdb8){return this[_0x1a4e('0xa66')]=!!_0xa1cdb8,this;},_0x49db20[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0xa1cdb8){this[_0x1a4e('0xa67')]=_0x5e7bb0[_0x1a4e('0x9a')]([this['cache'],_0xa1cdb8]);},_0x49db20[_0x1a4e('0xa')]['get']=function(){if(this[_0x1a4e('0xa67')]['length']>0xf){var _0xa1cdb8=this[_0x1a4e('0xa67')][_0x1a4e('0x78')](0x0,0x10);return this['cache']=this['cache'][_0x1a4e('0x78')](0x10),_0xa1cdb8;}return null;},_0x49db20[_0x1a4e('0xa')][_0x1a4e('0xa6f')]=function(){for(var _0xa1cdb8=0x10-this[_0x1a4e('0xa67')][_0x1a4e('0x1e')],_0x345253=_0x5e7bb0[_0x1a4e('0xa3c')](_0xa1cdb8),_0x2c411d=-0x1;++_0x2c411d<_0xa1cdb8;)_0x345253[_0x1a4e('0xa75')](_0xa1cdb8,_0x2c411d);return _0x5e7bb0[_0x1a4e('0x9a')]([this[_0x1a4e('0xa67')],_0x345253]);},_0x345253['createCipheriv']=_0x426b5c,_0x345253[_0x1a4e('0xa58')]=function(_0xa1cdb8,_0x345253){var _0x2c411d=_0x58256d[_0xa1cdb8[_0x1a4e('0x2b2')]()];if(!_0x2c411d)throw new TypeError(_0x1a4e('0xa76'));var _0x8c47b5=_0x28c65d(_0x345253,!0x1,_0x2c411d[_0x1a4e('0x35f')],_0x2c411d['iv']);return _0x426b5c(_0xa1cdb8,_0x8c47b5[_0x1a4e('0x35f')],_0x8c47b5['iv']);};},'./node_modules/browserify-aes/ghash.js':function(_0x41922d,_0x4fdcd4,_0x346e92){var _0x48c70e=_0x346e92(_0x1a4e('0xa2d'))['Buffer'],_0x1fe4c8=_0x48c70e[_0x1a4e('0xa43')](0x10,0x0);function _0x17ec3e(_0x41922d){var _0x4fdcd4=_0x48c70e[_0x1a4e('0xa3c')](0x10);return _0x4fdcd4['writeUInt32BE'](_0x41922d[0x0]>>>0x0,0x0),_0x4fdcd4[_0x1a4e('0xa39')](_0x41922d[0x1]>>>0x0,0x4),_0x4fdcd4[_0x1a4e('0xa39')](_0x41922d[0x2]>>>0x0,0x8),_0x4fdcd4[_0x1a4e('0xa39')](_0x41922d[0x3]>>>0x0,0xc),_0x4fdcd4;}function _0x4cacc2(_0x41922d){this['h']=_0x41922d,this['state']=_0x48c70e[_0x1a4e('0xa43')](0x10,0x0),this['cache']=_0x48c70e[_0x1a4e('0xa3c')](0x0);}_0x4cacc2[_0x1a4e('0xa')]['ghash']=function(_0x41922d){for(var _0x4fdcd4=-0x1;++_0x4fdcd4<_0x41922d['length'];)this[_0x1a4e('0xa46')][_0x4fdcd4]^=_0x41922d[_0x4fdcd4];this[_0x1a4e('0xa77')]();},_0x4cacc2[_0x1a4e('0xa')][_0x1a4e('0xa77')]=function(){for(var _0x41922d,_0x4fdcd4,_0x346e92,_0x48c70e=[(_0x41922d=this['h'])[_0x1a4e('0xa2e')](0x0),_0x41922d[_0x1a4e('0xa2e')](0x4),_0x41922d[_0x1a4e('0xa2e')](0x8),_0x41922d[_0x1a4e('0xa2e')](0xc)],_0x1fe4c8=[0x0,0x0,0x0,0x0],_0x4cacc2=-0x1;++_0x4cacc2<0x80;){for(0x0!=(this[_0x1a4e('0xa46')][~~(_0x4cacc2/0x8)]&0x1<<0x7-_0x4cacc2%0x8)&&(_0x1fe4c8[0x0]^=_0x48c70e[0x0],_0x1fe4c8[0x1]^=_0x48c70e[0x1],_0x1fe4c8[0x2]^=_0x48c70e[0x2],_0x1fe4c8[0x3]^=_0x48c70e[0x3]),_0x346e92=0x0!=(0x1&_0x48c70e[0x3]),_0x4fdcd4=0x3;_0x4fdcd4>0x0;_0x4fdcd4--)_0x48c70e[_0x4fdcd4]=_0x48c70e[_0x4fdcd4]>>>0x1|(0x1&_0x48c70e[_0x4fdcd4-0x1])<<0x1f;_0x48c70e[0x0]=_0x48c70e[0x0]>>>0x1,_0x346e92&&(_0x48c70e[0x0]=_0x48c70e[0x0]^0xe1<<0x18);}this[_0x1a4e('0xa46')]=_0x17ec3e(_0x1fe4c8);},_0x4cacc2[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x41922d){var _0x4fdcd4;for(this[_0x1a4e('0xa67')]=_0x48c70e['concat']([this['cache'],_0x41922d]);this[_0x1a4e('0xa67')][_0x1a4e('0x1e')]>=0x10;)_0x4fdcd4=this['cache']['slice'](0x0,0x10),this[_0x1a4e('0xa67')]=this[_0x1a4e('0xa67')][_0x1a4e('0x78')](0x10),this[_0x1a4e('0xa78')](_0x4fdcd4);},_0x4cacc2[_0x1a4e('0xa')][_0x1a4e('0xaa')]=function(_0x41922d,_0x4fdcd4){return this['cache']['length']&&this[_0x1a4e('0xa78')](_0x48c70e[_0x1a4e('0x9a')]([this[_0x1a4e('0xa67')],_0x1fe4c8],0x10)),this['ghash'](_0x17ec3e([0x0,_0x41922d,0x0,_0x4fdcd4])),this[_0x1a4e('0xa46')];},_0x41922d[_0x1a4e('0x0')]=_0x4cacc2;},'./node_modules/browserify-aes/incr32.js':function(_0x5aa555,_0x193586){_0x5aa555[_0x1a4e('0x0')]=function(_0x5aa555){for(var _0x193586,_0x31fbf4=_0x5aa555[_0x1a4e('0x1e')];_0x31fbf4--;){if(0xff!==(_0x193586=_0x5aa555[_0x1a4e('0x87a')](_0x31fbf4))){_0x193586++,_0x5aa555[_0x1a4e('0xa75')](_0x193586,_0x31fbf4);break;}_0x5aa555[_0x1a4e('0xa75')](0x0,_0x31fbf4);}};},'./node_modules/browserify-aes/modes/cbc.js':function(_0x32190c,_0x47e284,_0x38a819){var _0x3e92b2=_0x38a819(_0x1a4e('0xa42'));_0x47e284[_0x1a4e('0xa4f')]=function(_0x32190c,_0x47e284){var _0x38a819=_0x3e92b2(_0x47e284,_0x32190c[_0x1a4e('0xa73')]);return _0x32190c[_0x1a4e('0xa73')]=_0x32190c[_0x1a4e('0xa44')][_0x1a4e('0xa79')](_0x38a819),_0x32190c[_0x1a4e('0xa73')];},_0x47e284[_0x1a4e('0xa6e')]=function(_0x32190c,_0x47e284){var _0x38a819=_0x32190c[_0x1a4e('0xa73')];_0x32190c['_prev']=_0x47e284;var _0x3c5144=_0x32190c['_cipher']['decryptBlock'](_0x47e284);return _0x3e92b2(_0x3c5144,_0x38a819);};},'./node_modules/browserify-aes/modes/cfb.js':function(_0x380769,_0x191058,_0x27a853){var _0x198fed=_0x27a853(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x40f52b=_0x27a853(_0x1a4e('0xa42'));function _0x38d179(_0x380769,_0x191058,_0x27a853){var _0x38d179=_0x191058[_0x1a4e('0x1e')],_0x4c2a17=_0x40f52b(_0x191058,_0x380769[_0x1a4e('0xa48')]);return _0x380769[_0x1a4e('0xa48')]=_0x380769[_0x1a4e('0xa48')][_0x1a4e('0x78')](_0x38d179),_0x380769['_prev']=_0x198fed['concat']([_0x380769['_prev'],_0x27a853?_0x191058:_0x4c2a17]),_0x4c2a17;}_0x191058[_0x1a4e('0xa4f')]=function(_0x380769,_0x191058,_0x27a853){for(var _0x40f52b,_0x485d61=_0x198fed['allocUnsafe'](0x0);_0x191058[_0x1a4e('0x1e')];){if(0x0===_0x380769[_0x1a4e('0xa48')][_0x1a4e('0x1e')]&&(_0x380769[_0x1a4e('0xa48')]=_0x380769['_cipher']['encryptBlock'](_0x380769[_0x1a4e('0xa73')]),_0x380769[_0x1a4e('0xa73')]=_0x198fed['allocUnsafe'](0x0)),!(_0x380769['_cache']['length']<=_0x191058['length'])){_0x485d61=_0x198fed[_0x1a4e('0x9a')]([_0x485d61,_0x38d179(_0x380769,_0x191058,_0x27a853)]);break;}_0x40f52b=_0x380769[_0x1a4e('0xa48')][_0x1a4e('0x1e')],_0x485d61=_0x198fed['concat']([_0x485d61,_0x38d179(_0x380769,_0x191058[_0x1a4e('0x78')](0x0,_0x40f52b),_0x27a853)]),_0x191058=_0x191058[_0x1a4e('0x78')](_0x40f52b);}return _0x485d61;};},'./node_modules/browserify-aes/modes/cfb1.js':function(_0x26785d,_0x361fa5,_0x20bd27){var _0x3e4999=_0x20bd27(_0x1a4e('0xa2d'))['Buffer'];function _0x13ea59(_0x26785d,_0x361fa5,_0x20bd27){for(var _0x3e4999,_0x13ea59,_0x4ab55f=-0x1,_0x8aba14=0x0;++_0x4ab55f<0x8;)_0x3e4999=_0x361fa5&0x1<<0x7-_0x4ab55f?0x80:0x0,_0x8aba14+=(0x80&(_0x13ea59=_0x26785d[_0x1a4e('0xa44')][_0x1a4e('0xa79')](_0x26785d[_0x1a4e('0xa73')])[0x0]^_0x3e4999))>>_0x4ab55f%0x8,_0x26785d[_0x1a4e('0xa73')]=_0x24b8a6(_0x26785d[_0x1a4e('0xa73')],_0x20bd27?_0x3e4999:_0x13ea59);return _0x8aba14;}function _0x24b8a6(_0x26785d,_0x361fa5){var _0x20bd27=_0x26785d[_0x1a4e('0x1e')],_0x13ea59=-0x1,_0x24b8a6=_0x3e4999[_0x1a4e('0xa3c')](_0x26785d[_0x1a4e('0x1e')]);for(_0x26785d=_0x3e4999[_0x1a4e('0x9a')]([_0x26785d,_0x3e4999['from']([_0x361fa5])]);++_0x13ea59<_0x20bd27;)_0x24b8a6[_0x13ea59]=_0x26785d[_0x13ea59]<<0x1|_0x26785d[_0x13ea59+0x1]>>0x7;return _0x24b8a6;}_0x361fa5[_0x1a4e('0xa4f')]=function(_0x26785d,_0x361fa5,_0x20bd27){for(var _0x24b8a6=_0x361fa5['length'],_0x411c12=_0x3e4999[_0x1a4e('0xa3c')](_0x24b8a6),_0x203e0d=-0x1;++_0x203e0d<_0x24b8a6;)_0x411c12[_0x203e0d]=_0x13ea59(_0x26785d,_0x361fa5[_0x203e0d],_0x20bd27);return _0x411c12;};},'./node_modules/browserify-aes/modes/cfb8.js':function(_0x475bc6,_0x4953b8,_0xa04a08){var _0x21fd66=_0xa04a08('./node_modules/safe-buffer/index.js')['Buffer'];function _0x2253ef(_0x475bc6,_0x4953b8,_0xa04a08){var _0x2253ef=_0x475bc6[_0x1a4e('0xa44')]['encryptBlock'](_0x475bc6[_0x1a4e('0xa73')])[0x0]^_0x4953b8;return _0x475bc6[_0x1a4e('0xa73')]=_0x21fd66[_0x1a4e('0x9a')]([_0x475bc6['_prev'][_0x1a4e('0x78')](0x1),_0x21fd66[_0x1a4e('0x1b5')]([_0xa04a08?_0x4953b8:_0x2253ef])]),_0x2253ef;}_0x4953b8['encrypt']=function(_0x475bc6,_0x4953b8,_0xa04a08){for(var _0x3436c6=_0x4953b8['length'],_0x415c4c=_0x21fd66['allocUnsafe'](_0x3436c6),_0x46334b=-0x1;++_0x46334b<_0x3436c6;)_0x415c4c[_0x46334b]=_0x2253ef(_0x475bc6,_0x4953b8[_0x46334b],_0xa04a08);return _0x415c4c;};},'./node_modules/browserify-aes/modes/ctr.js':function(_0xf43035,_0x2d3dd2,_0x333ec4){var _0x1b6501=_0x333ec4(_0x1a4e('0xa42')),_0x2e94b3=_0x333ec4('./node_modules/safe-buffer/index.js')[_0x1a4e('0x870')],_0x121f0d=_0x333ec4('./node_modules/browserify-aes/incr32.js');function _0x4fdce4(_0xf43035){var _0x2d3dd2=_0xf43035[_0x1a4e('0xa44')][_0x1a4e('0xa36')](_0xf43035[_0x1a4e('0xa73')]);return _0x121f0d(_0xf43035['_prev']),_0x2d3dd2;}_0x2d3dd2[_0x1a4e('0xa4f')]=function(_0xf43035,_0x2d3dd2){var _0x333ec4=Math[_0x1a4e('0x6d')](_0x2d3dd2[_0x1a4e('0x1e')]/0x10),_0x121f0d=_0xf43035['_cache'][_0x1a4e('0x1e')];_0xf43035[_0x1a4e('0xa48')]=_0x2e94b3[_0x1a4e('0x9a')]([_0xf43035[_0x1a4e('0xa48')],_0x2e94b3['allocUnsafe'](0x10*_0x333ec4)]);for(var _0x35f6e6=0x0;_0x35f6e6<_0x333ec4;_0x35f6e6++){var _0x54adeb=_0x4fdce4(_0xf43035),_0x207f57=_0x121f0d+0x10*_0x35f6e6;_0xf43035['_cache'][_0x1a4e('0xa39')](_0x54adeb[0x0],_0x207f57+0x0),_0xf43035[_0x1a4e('0xa48')][_0x1a4e('0xa39')](_0x54adeb[0x1],_0x207f57+0x4),_0xf43035[_0x1a4e('0xa48')][_0x1a4e('0xa39')](_0x54adeb[0x2],_0x207f57+0x8),_0xf43035[_0x1a4e('0xa48')][_0x1a4e('0xa39')](_0x54adeb[0x3],_0x207f57+0xc);}var _0xe9ea69=_0xf43035[_0x1a4e('0xa48')][_0x1a4e('0x78')](0x0,_0x2d3dd2[_0x1a4e('0x1e')]);return _0xf43035[_0x1a4e('0xa48')]=_0xf43035[_0x1a4e('0xa48')][_0x1a4e('0x78')](_0x2d3dd2['length']),_0x1b6501(_0x2d3dd2,_0xe9ea69);};},'./node_modules/browserify-aes/modes/ecb.js':function(_0x120881,_0x52ced6){_0x52ced6[_0x1a4e('0xa4f')]=function(_0x120881,_0x52ced6){return _0x120881['_cipher'][_0x1a4e('0xa79')](_0x52ced6);},_0x52ced6[_0x1a4e('0xa6e')]=function(_0x120881,_0x52ced6){return _0x120881[_0x1a4e('0xa44')][_0x1a4e('0xa7a')](_0x52ced6);};},'./node_modules/browserify-aes/modes/index.js':function(_0x2aa381,_0xe6bf7d,_0x59ccf7){var _0x5b231c={'ECB':_0x59ccf7(_0x1a4e('0xa7b')),'CBC':_0x59ccf7(_0x1a4e('0xa7c')),'CFB':_0x59ccf7('./node_modules/browserify-aes/modes/cfb.js'),'CFB8':_0x59ccf7(_0x1a4e('0xa7d')),'CFB1':_0x59ccf7('./node_modules/browserify-aes/modes/cfb1.js'),'OFB':_0x59ccf7(_0x1a4e('0xa7e')),'CTR':_0x59ccf7(_0x1a4e('0xa7f')),'GCM':_0x59ccf7(_0x1a4e('0xa7f'))},_0x5d9e24=_0x59ccf7(_0x1a4e('0xa57'));for(var _0x8f5a9a in _0x5d9e24)_0x5d9e24[_0x8f5a9a][_0x1a4e('0xa6c')]=_0x5b231c[_0x5d9e24[_0x8f5a9a][_0x1a4e('0xa69')]];_0x2aa381['exports']=_0x5d9e24;},'./node_modules/browserify-aes/modes/list.json':function(_0x258fe4){_0x258fe4[_0x1a4e('0x0')]=JSON[_0x1a4e('0x25a')](_0x1a4e('0xa80'));},'./node_modules/browserify-aes/modes/ofb.js':function(_0x4fbb90,_0x5819ec,_0x2cc0e9){(function(_0x4fbb90){var _0x49a487=_0x2cc0e9(_0x1a4e('0xa42'));function _0x50b852(_0x4fbb90){return _0x4fbb90[_0x1a4e('0xa73')]=_0x4fbb90[_0x1a4e('0xa44')][_0x1a4e('0xa79')](_0x4fbb90[_0x1a4e('0xa73')]),_0x4fbb90[_0x1a4e('0xa73')];}_0x5819ec[_0x1a4e('0xa4f')]=function(_0x5819ec,_0x2cc0e9){for(;_0x5819ec[_0x1a4e('0xa48')][_0x1a4e('0x1e')]<_0x2cc0e9['length'];)_0x5819ec['_cache']=_0x4fbb90[_0x1a4e('0x9a')]([_0x5819ec[_0x1a4e('0xa48')],_0x50b852(_0x5819ec)]);var _0x54575d=_0x5819ec['_cache'][_0x1a4e('0x78')](0x0,_0x2cc0e9[_0x1a4e('0x1e')]);return _0x5819ec['_cache']=_0x5819ec[_0x1a4e('0xa48')]['slice'](_0x2cc0e9[_0x1a4e('0x1e')]),_0x49a487(_0x2cc0e9,_0x54575d);};}[_0x1a4e('0x1')](this,_0x2cc0e9(_0x1a4e('0x86f'))[_0x1a4e('0x870')]));},'./node_modules/browserify-aes/streamCipher.js':function(_0x116c6f,_0x1ccd3a,_0x3a378e){var _0x4d422f=_0x3a378e(_0x1a4e('0xa3f')),_0x345e90=_0x3a378e(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x4e358e=_0x3a378e(_0x1a4e('0xa40'));function _0x12dadf(_0x116c6f,_0x1ccd3a,_0x3a378e,_0x12dadf){_0x4e358e[_0x1a4e('0x1')](this),this[_0x1a4e('0xa44')]=new _0x4d422f[(_0x1a4e('0xa3e'))](_0x1ccd3a),this[_0x1a4e('0xa73')]=_0x345e90[_0x1a4e('0x1b5')](_0x3a378e),this['_cache']=_0x345e90[_0x1a4e('0xa3c')](0x0),this[_0x1a4e('0xa49')]=_0x345e90[_0x1a4e('0xa3c')](0x0),this[_0x1a4e('0xa51')]=_0x12dadf,this[_0x1a4e('0xa4c')]=_0x116c6f;}_0x3a378e(_0x1a4e('0x863'))(_0x12dadf,_0x4e358e),_0x12dadf[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(_0x116c6f){return this[_0x1a4e('0xa4c')]['encrypt'](this,_0x116c6f,this['_decrypt']);},_0x12dadf[_0x1a4e('0xa')][_0x1a4e('0xa50')]=function(){this[_0x1a4e('0xa44')]['scrub']();},_0x116c6f[_0x1a4e('0x0')]=_0x12dadf;},'./node_modules/browserify-cipher/browser.js':function(_0x4ccfe7,_0x1a3da0,_0x481cf7){var _0x13a0c3=_0x481cf7(_0x1a4e('0xa81')),_0x39afb1=_0x481cf7(_0x1a4e('0xa82')),_0x28558c=_0x481cf7(_0x1a4e('0xa62')),_0x5e7b54=_0x481cf7(_0x1a4e('0xa83')),_0x18831e=_0x481cf7('./node_modules/evp_bytestokey/index.js');function _0x468334(_0x4ccfe7,_0x1a3da0,_0x481cf7){if(_0x4ccfe7=_0x4ccfe7[_0x1a4e('0x2b2')](),_0x28558c[_0x4ccfe7])return _0x39afb1[_0x1a4e('0xa5a')](_0x4ccfe7,_0x1a3da0,_0x481cf7);if(_0x5e7b54[_0x4ccfe7])return new _0x13a0c3({'key':_0x1a3da0,'iv':_0x481cf7,'mode':_0x4ccfe7});throw new TypeError('invalid\x20suite\x20type');}function _0x1f562b(_0x4ccfe7,_0x1a3da0,_0x481cf7){if(_0x4ccfe7=_0x4ccfe7[_0x1a4e('0x2b2')](),_0x28558c[_0x4ccfe7])return _0x39afb1[_0x1a4e('0xa5d')](_0x4ccfe7,_0x1a3da0,_0x481cf7);if(_0x5e7b54[_0x4ccfe7])return new _0x13a0c3({'key':_0x1a3da0,'iv':_0x481cf7,'mode':_0x4ccfe7,'decrypt':!0x0});throw new TypeError(_0x1a4e('0xa76'));}_0x1a3da0['createCipher']=_0x1a3da0['Cipher']=function(_0x4ccfe7,_0x1a3da0){var _0x481cf7,_0x13a0c3;if(_0x4ccfe7=_0x4ccfe7[_0x1a4e('0x2b2')](),_0x28558c[_0x4ccfe7])_0x481cf7=_0x28558c[_0x4ccfe7][_0x1a4e('0x35f')],_0x13a0c3=_0x28558c[_0x4ccfe7]['iv'];else{if(!_0x5e7b54[_0x4ccfe7])throw new TypeError(_0x1a4e('0xa76'));_0x481cf7=0x8*_0x5e7b54[_0x4ccfe7][_0x1a4e('0x35f')],_0x13a0c3=_0x5e7b54[_0x4ccfe7]['iv'];}var _0x39afb1=_0x18831e(_0x1a3da0,!0x1,_0x481cf7,_0x13a0c3);return _0x468334(_0x4ccfe7,_0x39afb1[_0x1a4e('0x35f')],_0x39afb1['iv']);},_0x1a3da0[_0x1a4e('0xa5a')]=_0x1a3da0[_0x1a4e('0xa84')]=_0x468334,_0x1a3da0[_0x1a4e('0xa5b')]=_0x1a3da0[_0x1a4e('0xa5c')]=function(_0x4ccfe7,_0x1a3da0){var _0x481cf7,_0x13a0c3;if(_0x4ccfe7=_0x4ccfe7[_0x1a4e('0x2b2')](),_0x28558c[_0x4ccfe7])_0x481cf7=_0x28558c[_0x4ccfe7][_0x1a4e('0x35f')],_0x13a0c3=_0x28558c[_0x4ccfe7]['iv'];else{if(!_0x5e7b54[_0x4ccfe7])throw new TypeError(_0x1a4e('0xa76'));_0x481cf7=0x8*_0x5e7b54[_0x4ccfe7][_0x1a4e('0x35f')],_0x13a0c3=_0x5e7b54[_0x4ccfe7]['iv'];}var _0x39afb1=_0x18831e(_0x1a3da0,!0x1,_0x481cf7,_0x13a0c3);return _0x1f562b(_0x4ccfe7,_0x39afb1[_0x1a4e('0x35f')],_0x39afb1['iv']);},_0x1a3da0[_0x1a4e('0xa5d')]=_0x1a3da0[_0x1a4e('0xa5e')]=_0x1f562b,_0x1a3da0[_0x1a4e('0xa5f')]=_0x1a3da0[_0x1a4e('0xa60')]=function(){return Object[_0x1a4e('0x56')](_0x5e7b54)[_0x1a4e('0x9a')](_0x39afb1[_0x1a4e('0xa60')]());};},'./node_modules/browserify-des/index.js':function(_0x2e719f,_0xa7f7ed,_0x2bc3e8){var _0x47a0b6=_0x2bc3e8(_0x1a4e('0xa40')),_0x1284b4=_0x2bc3e8('./node_modules/des.js/lib/des.js'),_0x314a99=_0x2bc3e8(_0x1a4e('0x863')),_0x460c3c=_0x2bc3e8(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x134b39={'des-ede3-cbc':_0x1284b4[_0x1a4e('0xa85')]['instantiate'](_0x1284b4[_0x1a4e('0xa86')]),'des-ede3':_0x1284b4[_0x1a4e('0xa86')],'des-ede-cbc':_0x1284b4[_0x1a4e('0xa85')]['instantiate'](_0x1284b4[_0x1a4e('0xa86')]),'des-ede':_0x1284b4[_0x1a4e('0xa86')],'des-cbc':_0x1284b4[_0x1a4e('0xa85')]['instantiate'](_0x1284b4[_0x1a4e('0xa87')]),'des-ecb':_0x1284b4['DES']};function _0x538d86(_0x2e719f){_0x47a0b6[_0x1a4e('0x1')](this);var _0xa7f7ed,_0x2bc3e8=_0x2e719f['mode'][_0x1a4e('0x2b2')](),_0x1284b4=_0x134b39[_0x2bc3e8];_0xa7f7ed=_0x2e719f['decrypt']?'decrypt':_0x1a4e('0xa4f');var _0x314a99=_0x2e719f[_0x1a4e('0x35f')];_0x460c3c[_0x1a4e('0x871')](_0x314a99)||(_0x314a99=_0x460c3c[_0x1a4e('0x1b5')](_0x314a99)),_0x1a4e('0xa88')!==_0x2bc3e8&&_0x1a4e('0xa89')!==_0x2bc3e8||(_0x314a99=_0x460c3c[_0x1a4e('0x9a')]([_0x314a99,_0x314a99[_0x1a4e('0x78')](0x0,0x8)]));var _0x538d86=_0x2e719f['iv'];_0x460c3c['isBuffer'](_0x538d86)||(_0x538d86=_0x460c3c[_0x1a4e('0x1b5')](_0x538d86)),this[_0x1a4e('0xa8a')]=_0x1284b4[_0x1a4e('0x7')]({'key':_0x314a99,'iv':_0x538d86,'type':_0xa7f7ed});}_0x134b39[_0x1a4e('0xa8b')]=_0x134b39[_0x1a4e('0xa8c')],_0x134b39[_0x1a4e('0xa8d')]=_0x134b39[_0x1a4e('0xa8e')],_0x2e719f[_0x1a4e('0x0')]=_0x538d86,_0x314a99(_0x538d86,_0x47a0b6),_0x538d86[_0x1a4e('0xa')]['_update']=function(_0x2e719f){return _0x460c3c['from'](this[_0x1a4e('0xa8a')][_0x1a4e('0x937')](_0x2e719f));},_0x538d86[_0x1a4e('0xa')][_0x1a4e('0xa50')]=function(){return _0x460c3c[_0x1a4e('0x1b5')](this[_0x1a4e('0xa8a')][_0x1a4e('0xaa')]());};},'./node_modules/browserify-des/modes.js':function(_0x1512b7,_0x3eba29){_0x3eba29[_0x1a4e('0xa8f')]={'key':0x8,'iv':0x0},_0x3eba29[_0x1a4e('0xa8c')]=_0x3eba29[_0x1a4e('0xa8b')]={'key':0x8,'iv':0x8},_0x3eba29[_0x1a4e('0xa8e')]=_0x3eba29[_0x1a4e('0xa8d')]={'key':0x18,'iv':0x8},_0x3eba29[_0x1a4e('0xa90')]={'key':0x18,'iv':0x0},_0x3eba29[_0x1a4e('0xa89')]={'key':0x10,'iv':0x8},_0x3eba29['des-ede']={'key':0x10,'iv':0x0};},'./node_modules/browserify-rsa/index.js':function(_0x453de3,_0x38f2a7,_0xbcd6fe){(function(_0x38f2a7){var _0x31c8be=_0xbcd6fe('./node_modules/bn.js/lib/bn.js'),_0x5eda8c=_0xbcd6fe('./node_modules/randombytes/browser.js');function _0x90471e(_0x453de3,_0xbcd6fe){var _0x5eda8c=function(_0x453de3){var _0x38f2a7=_0x243e24(_0x453de3);return{'blinder':_0x38f2a7[_0x1a4e('0x9e8')](_0x31c8be[_0x1a4e('0xa1f')](_0x453de3[_0x1a4e('0xa91')]))[_0x1a4e('0xa92')](new _0x31c8be(_0x453de3[_0x1a4e('0xa93')]))[_0x1a4e('0x9ed')](),'unblinder':_0x38f2a7[_0x1a4e('0x9e1')](_0x453de3[_0x1a4e('0xa91')])};}(_0xbcd6fe),_0x90471e=_0xbcd6fe[_0x1a4e('0xa91')][_0x1a4e('0x876')](),_0x4fec38=(_0x31c8be[_0x1a4e('0xa1f')](_0xbcd6fe['modulus']),new _0x31c8be(_0x453de3)['mul'](_0x5eda8c[_0x1a4e('0xa94')])[_0x1a4e('0x9da')](_0xbcd6fe[_0x1a4e('0xa91')])),_0x480b78=_0x4fec38[_0x1a4e('0x9e8')](_0x31c8be[_0x1a4e('0xa1f')](_0xbcd6fe[_0x1a4e('0xa95')])),_0xd77216=_0x4fec38[_0x1a4e('0x9e8')](_0x31c8be[_0x1a4e('0xa1f')](_0xbcd6fe[_0x1a4e('0xa96')])),_0x69f34d=_0xbcd6fe['coefficient'],_0x5bcf56=_0xbcd6fe[_0x1a4e('0xa95')],_0x243100=_0xbcd6fe['prime2'],_0x4826ec=_0x480b78[_0x1a4e('0xa92')](_0xbcd6fe[_0x1a4e('0xa97')]),_0x93bf20=_0xd77216[_0x1a4e('0xa92')](_0xbcd6fe[_0x1a4e('0xa98')]);_0x4826ec=_0x4826ec['fromRed'](),_0x93bf20=_0x93bf20[_0x1a4e('0x9ed')]();var _0x2b48e2=_0x4826ec['isub'](_0x93bf20)[_0x1a4e('0x9ba')](_0x69f34d)[_0x1a4e('0x9da')](_0x5bcf56);return _0x2b48e2['imul'](_0x243100),_0x93bf20[_0x1a4e('0x9b8')](_0x2b48e2),new _0x38f2a7(_0x93bf20[_0x1a4e('0x9ba')](_0x5eda8c[_0x1a4e('0xa99')])[_0x1a4e('0x9da')](_0xbcd6fe[_0x1a4e('0xa91')])[_0x1a4e('0x347')](!0x1,_0x90471e));}function _0x243e24(_0x453de3){for(var _0x38f2a7=_0x453de3['modulus'][_0x1a4e('0x876')](),_0xbcd6fe=new _0x31c8be(_0x5eda8c(_0x38f2a7));_0xbcd6fe[_0x1a4e('0x97b')](_0x453de3[_0x1a4e('0xa91')])>=0x0||!_0xbcd6fe[_0x1a4e('0x9da')](_0x453de3[_0x1a4e('0xa95')])||!_0xbcd6fe[_0x1a4e('0x9da')](_0x453de3[_0x1a4e('0xa96')]);)_0xbcd6fe=new _0x31c8be(_0x5eda8c(_0x38f2a7));return _0xbcd6fe;}_0x453de3[_0x1a4e('0x0')]=_0x90471e,_0x90471e['getr']=_0x243e24;}[_0x1a4e('0x1')](this,_0xbcd6fe(_0x1a4e('0x86f'))[_0x1a4e('0x870')]));},'./node_modules/browserify-sign/algos.js':function(_0x2f5be3,_0x610812,_0x400ab8){_0x2f5be3['exports']=_0x400ab8(_0x1a4e('0xa9a'));},'./node_modules/browserify-sign/browser/algorithms.json':function(_0x59e95e){_0x59e95e['exports']=JSON[_0x1a4e('0x25a')](_0x1a4e('0xa9b'));},'./node_modules/browserify-sign/browser/curves.json':function(_0x592620){_0x592620[_0x1a4e('0x0')]=JSON[_0x1a4e('0x25a')](_0x1a4e('0xa9c'));},'./node_modules/browserify-sign/browser/index.js':function(_0x90117a,_0x3c3049,_0x1331ec){(function(_0x3c3049){var _0x191522=_0x1331ec(_0x1a4e('0xa9d')),_0x1c8280=_0x1331ec(_0x1a4e('0xa9e')),_0x15825b=_0x1331ec(_0x1a4e('0x863')),_0x2ca4d3=_0x1331ec(_0x1a4e('0xa9f')),_0x27ec2b=_0x1331ec(_0x1a4e('0xaa0')),_0x3bb7fd=_0x1331ec(_0x1a4e('0xa9a'));function _0x143cd4(_0x90117a){_0x1c8280[_0x1a4e('0xaa1')]['call'](this);var _0x3c3049=_0x3bb7fd[_0x90117a];if(!_0x3c3049)throw new Error(_0x1a4e('0xaa2'));this[_0x1a4e('0xaa3')]=_0x3c3049[_0x1a4e('0xaa4')],this['_hash']=_0x191522(_0x3c3049[_0x1a4e('0xaa4')]),this[_0x1a4e('0xaa5')]=_0x3c3049['id'],this[_0x1a4e('0xaa6')]=_0x3c3049[_0x1a4e('0x113')];}function _0x4ccfaf(_0x90117a){_0x1c8280[_0x1a4e('0xaa1')][_0x1a4e('0x1')](this);var _0x3c3049=_0x3bb7fd[_0x90117a];if(!_0x3c3049)throw new Error(_0x1a4e('0xaa2'));this[_0x1a4e('0xaa7')]=_0x191522(_0x3c3049['hash']),this[_0x1a4e('0xaa5')]=_0x3c3049['id'],this[_0x1a4e('0xaa6')]=_0x3c3049['sign'];}function _0xa5a4cb(_0x90117a){return new _0x143cd4(_0x90117a);}function _0x361df1(_0x90117a){return new _0x4ccfaf(_0x90117a);}Object[_0x1a4e('0x56')](_0x3bb7fd)[_0x1a4e('0x3b')](function(_0x90117a){_0x3bb7fd[_0x90117a]['id']=new _0x3c3049(_0x3bb7fd[_0x90117a]['id'],_0x1a4e('0x823')),_0x3bb7fd[_0x90117a['toLowerCase']()]=_0x3bb7fd[_0x90117a];}),_0x15825b(_0x143cd4,_0x1c8280[_0x1a4e('0xaa1')]),_0x143cd4['prototype'][_0x1a4e('0xaa8')]=function(_0x90117a,_0x3c3049,_0x1331ec){this['_hash']['update'](_0x90117a),_0x1331ec();},_0x143cd4['prototype'][_0x1a4e('0x937')]=function(_0x90117a,_0x1331ec){return _0x1a4e('0x9')==typeof _0x90117a&&(_0x90117a=new _0x3c3049(_0x90117a,_0x1331ec)),this[_0x1a4e('0xaa7')][_0x1a4e('0x937')](_0x90117a),this;},_0x143cd4[_0x1a4e('0xa')][_0x1a4e('0x113')]=function(_0x90117a,_0x3c3049){this[_0x1a4e('0xca')]();var _0x1331ec=this['_hash'][_0x1a4e('0xaa9')](),_0x191522=_0x2ca4d3(_0x1331ec,_0x90117a,this['_hashType'],this[_0x1a4e('0xaa6')],this['_tag']);return _0x3c3049?_0x191522[_0x1a4e('0x95')](_0x3c3049):_0x191522;},_0x15825b(_0x4ccfaf,_0x1c8280['Writable']),_0x4ccfaf[_0x1a4e('0xa')][_0x1a4e('0xaa8')]=function(_0x90117a,_0x3c3049,_0x1331ec){this['_hash'][_0x1a4e('0x937')](_0x90117a),_0x1331ec();},_0x4ccfaf['prototype'][_0x1a4e('0x937')]=function(_0x90117a,_0x1331ec){return _0x1a4e('0x9')==typeof _0x90117a&&(_0x90117a=new _0x3c3049(_0x90117a,_0x1331ec)),this[_0x1a4e('0xaa7')]['update'](_0x90117a),this;},_0x4ccfaf[_0x1a4e('0xa')][_0x1a4e('0xaaa')]=function(_0x90117a,_0x1331ec,_0x191522){'string'==typeof _0x1331ec&&(_0x1331ec=new _0x3c3049(_0x1331ec,_0x191522)),this['end']();var _0x1c8280=this[_0x1a4e('0xaa7')][_0x1a4e('0xaa9')]();return _0x27ec2b(_0x1331ec,_0x1c8280,_0x90117a,this['_signType'],this[_0x1a4e('0xaa5')]);},_0x90117a[_0x1a4e('0x0')]={'Sign':_0xa5a4cb,'Verify':_0x361df1,'createSign':_0xa5a4cb,'createVerify':_0x361df1};}[_0x1a4e('0x1')](this,_0x1331ec(_0x1a4e('0x86f'))[_0x1a4e('0x870')]));},'./node_modules/browserify-sign/browser/sign.js':function(_0xf0c188,_0x50dc24,_0x1c4c4f){(function(_0x50dc24){var _0x2ef716=_0x1c4c4f(_0x1a4e('0xaab')),_0x565bfe=_0x1c4c4f('./node_modules/browserify-rsa/index.js'),_0x40e84e=_0x1c4c4f('./node_modules/elliptic/lib/elliptic.js')['ec'],_0x4f9a34=_0x1c4c4f(_0x1a4e('0xaac')),_0x25bae5=_0x1c4c4f('./node_modules/parse-asn1/index.js'),_0x22ea49=_0x1c4c4f(_0x1a4e('0xaad'));function _0x47f439(_0xf0c188,_0x1c4c4f,_0x565bfe,_0x40e84e){if((_0xf0c188=new _0x50dc24(_0xf0c188[_0x1a4e('0x347')]()))[_0x1a4e('0x1e')]<_0x1c4c4f[_0x1a4e('0x876')]()){var _0x4f9a34=new _0x50dc24(_0x1c4c4f[_0x1a4e('0x876')]()-_0xf0c188['length']);_0x4f9a34[_0x1a4e('0x22c')](0x0),_0xf0c188=_0x50dc24[_0x1a4e('0x9a')]([_0x4f9a34,_0xf0c188]);}var _0x25bae5=_0x565bfe['length'],_0x22ea49=function(_0xf0c188,_0x1c4c4f){_0xf0c188=(_0xf0c188=_0x213712(_0xf0c188,_0x1c4c4f))[_0x1a4e('0x9d8')](_0x1c4c4f);var _0x2ef716=new _0x50dc24(_0xf0c188[_0x1a4e('0x347')]());if(_0x2ef716[_0x1a4e('0x1e')]<_0x1c4c4f[_0x1a4e('0x876')]()){var _0x565bfe=new _0x50dc24(_0x1c4c4f['byteLength']()-_0x2ef716[_0x1a4e('0x1e')]);_0x565bfe[_0x1a4e('0x22c')](0x0),_0x2ef716=_0x50dc24['concat']([_0x565bfe,_0x2ef716]);}return _0x2ef716;}(_0x565bfe,_0x1c4c4f),_0x47f439=new _0x50dc24(_0x25bae5);_0x47f439['fill'](0x1);var _0x2d1ecd=new _0x50dc24(_0x25bae5);return _0x2d1ecd[_0x1a4e('0x22c')](0x0),_0x2d1ecd=_0x2ef716(_0x40e84e,_0x2d1ecd)[_0x1a4e('0x937')](_0x47f439)[_0x1a4e('0x937')](new _0x50dc24([0x0]))['update'](_0xf0c188)['update'](_0x22ea49)[_0x1a4e('0xaa9')](),_0x47f439=_0x2ef716(_0x40e84e,_0x2d1ecd)['update'](_0x47f439)['digest'](),{'k':_0x2d1ecd=_0x2ef716(_0x40e84e,_0x2d1ecd)[_0x1a4e('0x937')](_0x47f439)[_0x1a4e('0x937')](new _0x50dc24([0x1]))['update'](_0xf0c188)[_0x1a4e('0x937')](_0x22ea49)['digest'](),'v':_0x47f439=_0x2ef716(_0x40e84e,_0x2d1ecd)[_0x1a4e('0x937')](_0x47f439)[_0x1a4e('0xaa9')]()};}function _0x213712(_0xf0c188,_0x50dc24){var _0x1c4c4f=new _0x4f9a34(_0xf0c188),_0x2ef716=(_0xf0c188[_0x1a4e('0x1e')]<<0x3)-_0x50dc24[_0x1a4e('0x9a6')]();return _0x2ef716>0x0&&_0x1c4c4f[_0x1a4e('0x9c8')](_0x2ef716),_0x1c4c4f;}function _0x126d82(_0xf0c188,_0x1c4c4f,_0x565bfe){var _0x40e84e,_0x4f9a34;do{for(_0x40e84e=new _0x50dc24(0x0);0x8*_0x40e84e[_0x1a4e('0x1e')]<_0xf0c188['bitLength']();)_0x1c4c4f['v']=_0x2ef716(_0x565bfe,_0x1c4c4f['k'])[_0x1a4e('0x937')](_0x1c4c4f['v'])[_0x1a4e('0xaa9')](),_0x40e84e=_0x50dc24['concat']([_0x40e84e,_0x1c4c4f['v']]);_0x4f9a34=_0x213712(_0x40e84e,_0xf0c188),_0x1c4c4f['k']=_0x2ef716(_0x565bfe,_0x1c4c4f['k'])[_0x1a4e('0x937')](_0x1c4c4f['v'])[_0x1a4e('0x937')](new _0x50dc24([0x0]))[_0x1a4e('0xaa9')](),_0x1c4c4f['v']=_0x2ef716(_0x565bfe,_0x1c4c4f['k'])[_0x1a4e('0x937')](_0x1c4c4f['v'])[_0x1a4e('0xaa9')]();}while(-0x1!==_0x4f9a34[_0x1a4e('0x97b')](_0xf0c188));return _0x4f9a34;}function _0x458f39(_0xf0c188,_0x50dc24,_0x1c4c4f,_0x2ef716){return _0xf0c188['toRed'](_0x4f9a34['mont'](_0x1c4c4f))[_0x1a4e('0xa92')](_0x50dc24)[_0x1a4e('0x9ed')]()[_0x1a4e('0x9d8')](_0x2ef716);}_0xf0c188[_0x1a4e('0x0')]=function(_0xf0c188,_0x1c4c4f,_0x2ef716,_0x389c91,_0x206e36){var _0x1003f6=_0x25bae5(_0x1c4c4f);if(_0x1003f6['curve']){if(_0x1a4e('0xaae')!==_0x389c91&&_0x1a4e('0xaaf')!==_0x389c91)throw new Error('wrong\x20private\x20key\x20type');return function(_0xf0c188,_0x1c4c4f){var _0x2ef716=_0x22ea49[_0x1c4c4f[_0x1a4e('0xab0')][_0x1a4e('0x9e')]('.')];if(!_0x2ef716)throw new Error(_0x1a4e('0xab1')+_0x1c4c4f['curve'][_0x1a4e('0x9e')]('.'));var _0x565bfe=new _0x40e84e(_0x2ef716)['keyFromPrivate'](_0x1c4c4f['privateKey'])[_0x1a4e('0x113')](_0xf0c188);return new _0x50dc24(_0x565bfe[_0x1a4e('0xab2')]());}(_0xf0c188,_0x1003f6);}if('dsa'===_0x1003f6[_0x1a4e('0x40')]){if('dsa'!==_0x389c91)throw new Error(_0x1a4e('0xab3'));return function(_0xf0c188,_0x1c4c4f,_0x2ef716){for(var _0x565bfe,_0x40e84e=_0x1c4c4f['params']['priv_key'],_0x25bae5=_0x1c4c4f[_0x1a4e('0xab4')]['p'],_0x22ea49=_0x1c4c4f['params']['q'],_0x389c91=_0x1c4c4f[_0x1a4e('0xab4')]['g'],_0x206e36=new _0x4f9a34(0x0),_0x1003f6=_0x213712(_0xf0c188,_0x22ea49)[_0x1a4e('0x9d8')](_0x22ea49),_0x16c232=!0x1,_0x32da8e=_0x47f439(_0x40e84e,_0x22ea49,_0xf0c188,_0x2ef716);!0x1===_0x16c232;)_0x565bfe=_0x126d82(_0x22ea49,_0x32da8e,_0x2ef716),_0x206e36=_0x458f39(_0x389c91,_0x565bfe,_0x25bae5,_0x22ea49),0x0===(_0x16c232=_0x565bfe[_0x1a4e('0x9e1')](_0x22ea49)['imul'](_0x1003f6[_0x1a4e('0x177')](_0x40e84e[_0x1a4e('0x9c3')](_0x206e36)))['mod'](_0x22ea49))[_0x1a4e('0x9e0')](0x0)&&(_0x16c232=!0x1,_0x206e36=new _0x4f9a34(0x0));return function(_0xf0c188,_0x1c4c4f){_0xf0c188=_0xf0c188[_0x1a4e('0x347')](),_0x1c4c4f=_0x1c4c4f['toArray'](),0x80&_0xf0c188[0x0]&&(_0xf0c188=[0x0][_0x1a4e('0x9a')](_0xf0c188)),0x80&_0x1c4c4f[0x0]&&(_0x1c4c4f=[0x0][_0x1a4e('0x9a')](_0x1c4c4f));var _0x2ef716=[0x30,_0xf0c188[_0x1a4e('0x1e')]+_0x1c4c4f[_0x1a4e('0x1e')]+0x4,0x2,_0xf0c188[_0x1a4e('0x1e')]];return _0x2ef716=_0x2ef716[_0x1a4e('0x9a')](_0xf0c188,[0x2,_0x1c4c4f['length']],_0x1c4c4f),new _0x50dc24(_0x2ef716);}(_0x206e36,_0x16c232);}(_0xf0c188,_0x1003f6,_0x2ef716);}if('rsa'!==_0x389c91&&'ecdsa/rsa'!==_0x389c91)throw new Error(_0x1a4e('0xab3'));_0xf0c188=_0x50dc24[_0x1a4e('0x9a')]([_0x206e36,_0xf0c188]);for(var _0x2ef602=_0x1003f6[_0x1a4e('0xa91')][_0x1a4e('0x876')](),_0x4a806e=[0x0,0x1];_0xf0c188[_0x1a4e('0x1e')]+_0x4a806e['length']+0x1<_0x2ef602;)_0x4a806e[_0x1a4e('0x46')](0xff);_0x4a806e['push'](0x0);for(var _0x2623a2=-0x1;++_0x2623a2<_0xf0c188[_0x1a4e('0x1e')];)_0x4a806e[_0x1a4e('0x46')](_0xf0c188[_0x2623a2]);return _0x565bfe(_0x4a806e,_0x1003f6);},_0xf0c188[_0x1a4e('0x0')][_0x1a4e('0x38a')]=_0x47f439,_0xf0c188['exports'][_0x1a4e('0xab5')]=_0x126d82;}[_0x1a4e('0x1')](this,_0x1c4c4f(_0x1a4e('0x86f'))[_0x1a4e('0x870')]));},'./node_modules/browserify-sign/browser/verify.js':function(_0x5268e2,_0x30dfa9,_0x369bf4){(function(_0x30dfa9){var _0x6248bb=_0x369bf4(_0x1a4e('0xaac')),_0x724c07=_0x369bf4(_0x1a4e('0xab6'))['ec'],_0x295b6d=_0x369bf4(_0x1a4e('0xab7')),_0x23dab9=_0x369bf4(_0x1a4e('0xaad'));function _0x4a9ce6(_0x5268e2,_0x30dfa9){if(_0x5268e2[_0x1a4e('0x9e0')](0x0)<=0x0)throw new Error('invalid\x20sig');if(_0x5268e2[_0x1a4e('0x97b')](_0x30dfa9)>=_0x30dfa9)throw new Error(_0x1a4e('0xab8'));}_0x5268e2[_0x1a4e('0x0')]=function(_0x5268e2,_0x369bf4,_0x50812d,_0x4d61e3,_0x27f56b){var _0xc12bf3=_0x295b6d(_0x50812d);if('ec'===_0xc12bf3[_0x1a4e('0x40')]){if(_0x1a4e('0xaae')!==_0x4d61e3&&_0x1a4e('0xaaf')!==_0x4d61e3)throw new Error(_0x1a4e('0xab9'));return function(_0x5268e2,_0x30dfa9,_0x369bf4){var _0x6248bb=_0x23dab9[_0x369bf4['data'][_0x1a4e('0xaba')][_0x1a4e('0xab0')]['join']('.')];if(!_0x6248bb)throw new Error(_0x1a4e('0xab1')+_0x369bf4[_0x1a4e('0x7f')][_0x1a4e('0xaba')][_0x1a4e('0xab0')][_0x1a4e('0x9e')]('.'));var _0x295b6d=new _0x724c07(_0x6248bb),_0x4a9ce6=_0x369bf4[_0x1a4e('0x7f')]['subjectPrivateKey'][_0x1a4e('0x7f')];return _0x295b6d[_0x1a4e('0xaaa')](_0x30dfa9,_0x5268e2,_0x4a9ce6);}(_0x5268e2,_0x369bf4,_0xc12bf3);}if(_0x1a4e('0xabb')===_0xc12bf3[_0x1a4e('0x40')]){if(_0x1a4e('0xabb')!==_0x4d61e3)throw new Error(_0x1a4e('0xab9'));return function(_0x5268e2,_0x30dfa9,_0x369bf4){var _0x724c07=_0x369bf4[_0x1a4e('0x7f')]['p'],_0x23dab9=_0x369bf4[_0x1a4e('0x7f')]['q'],_0x50812d=_0x369bf4['data']['g'],_0x4d61e3=_0x369bf4[_0x1a4e('0x7f')]['pub_key'],_0x27f56b=_0x295b6d[_0x1a4e('0xabc')][_0x1a4e('0x8f3')](_0x5268e2,_0x1a4e('0x86c')),_0xc12bf3=_0x27f56b['s'],_0x4a1e33=_0x27f56b['r'];_0x4a9ce6(_0xc12bf3,_0x23dab9),_0x4a9ce6(_0x4a1e33,_0x23dab9);var _0x41e837=_0x6248bb['mont'](_0x724c07),_0xa6e8b4=_0xc12bf3[_0x1a4e('0x9e1')](_0x23dab9);return 0x0===_0x50812d['toRed'](_0x41e837)['redPow'](new _0x6248bb(_0x30dfa9)[_0x1a4e('0x9c3')](_0xa6e8b4)[_0x1a4e('0x9d8')](_0x23dab9))[_0x1a4e('0x9ed')]()['mul'](_0x4d61e3['toRed'](_0x41e837)['redPow'](_0x4a1e33[_0x1a4e('0x9c3')](_0xa6e8b4)[_0x1a4e('0x9d8')](_0x23dab9))['fromRed']())[_0x1a4e('0x9d8')](_0x724c07)[_0x1a4e('0x9d8')](_0x23dab9)[_0x1a4e('0x97b')](_0x4a1e33);}(_0x5268e2,_0x369bf4,_0xc12bf3);}if('rsa'!==_0x4d61e3&&'ecdsa/rsa'!==_0x4d61e3)throw new Error('wrong\x20public\x20key\x20type');_0x369bf4=_0x30dfa9[_0x1a4e('0x9a')]([_0x27f56b,_0x369bf4]);for(var _0x323ba7=_0xc12bf3[_0x1a4e('0xa91')][_0x1a4e('0x876')](),_0x9a60f0=[0x1],_0x1ebd56=0x0;_0x369bf4[_0x1a4e('0x1e')]+_0x9a60f0[_0x1a4e('0x1e')]+0x2<_0x323ba7;)_0x9a60f0['push'](0xff),_0x1ebd56++;_0x9a60f0[_0x1a4e('0x46')](0x0);for(var _0x37dfee=-0x1;++_0x37dfee<_0x369bf4['length'];)_0x9a60f0[_0x1a4e('0x46')](_0x369bf4[_0x37dfee]);_0x9a60f0=new _0x30dfa9(_0x9a60f0);var _0x354010=_0x6248bb[_0x1a4e('0xa1f')](_0xc12bf3[_0x1a4e('0xa91')]);_0x5268e2=(_0x5268e2=new _0x6248bb(_0x5268e2)[_0x1a4e('0x9e8')](_0x354010))[_0x1a4e('0xa92')](new _0x6248bb(_0xc12bf3[_0x1a4e('0xa93')])),_0x5268e2=new _0x30dfa9(_0x5268e2['fromRed']()[_0x1a4e('0x347')]());var _0xe78ba8=_0x1ebd56<0x8?0x1:0x0;for(_0x323ba7=Math['min'](_0x5268e2['length'],_0x9a60f0[_0x1a4e('0x1e')]),_0x5268e2[_0x1a4e('0x1e')]!==_0x9a60f0[_0x1a4e('0x1e')]&&(_0xe78ba8=0x1),_0x37dfee=-0x1;++_0x37dfee<_0x323ba7;)_0xe78ba8|=_0x5268e2[_0x37dfee]^_0x9a60f0[_0x37dfee];return 0x0===_0xe78ba8;};}['call'](this,_0x369bf4(_0x1a4e('0x86f'))[_0x1a4e('0x870')]));},'./node_modules/buffer-xor/index.js':function(_0x13f286,_0x57aa65,_0x3af09e){(function(_0x57aa65){_0x13f286[_0x1a4e('0x0')]=function(_0x13f286,_0x3af09e){for(var _0x221872=Math[_0x1a4e('0x74')](_0x13f286['length'],_0x3af09e[_0x1a4e('0x1e')]),_0x93acee=new _0x57aa65(_0x221872),_0x209132=0x0;_0x209132<_0x221872;++_0x209132)_0x93acee[_0x209132]=_0x13f286[_0x209132]^_0x3af09e[_0x209132];return _0x93acee;};}['call'](this,_0x3af09e('./node_modules/buffer/index.js')['Buffer']));},'./node_modules/buffer/index.js':function(_0xd5adb8,_0x3a9938,_0x52fd08){'use strict';(function(_0xd5adb8){var _0x5c89bf=_0x52fd08(_0x1a4e('0xabd')),_0x419c3d=_0x52fd08(_0x1a4e('0xabe')),_0x195ae8=_0x52fd08(_0x1a4e('0xabf'));function _0x3c5be3(){return _0x153270[_0x1a4e('0xac0')]?0x7fffffff:0x3fffffff;}function _0x4d2c92(_0xd5adb8,_0x3a9938){if(_0x3c5be3()<_0x3a9938)throw new RangeError(_0x1a4e('0xac1'));return _0x153270[_0x1a4e('0xac0')]?(_0xd5adb8=new Uint8Array(_0x3a9938))[_0x1a4e('0x295')]=_0x153270[_0x1a4e('0xa')]:(null===_0xd5adb8&&(_0xd5adb8=new _0x153270(_0x3a9938)),_0xd5adb8['length']=_0x3a9938),_0xd5adb8;}function _0x153270(_0xd5adb8,_0x3a9938,_0x52fd08){if(!(_0x153270[_0x1a4e('0xac0')]||this instanceof _0x153270))return new _0x153270(_0xd5adb8,_0x3a9938,_0x52fd08);if(_0x1a4e('0x3d')==typeof _0xd5adb8){if(_0x1a4e('0x9')==typeof _0x3a9938)throw new Error(_0x1a4e('0xac2'));return _0x59bb8c(this,_0xd5adb8);}return _0x567939(this,_0xd5adb8,_0x3a9938,_0x52fd08);}function _0x567939(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){if(_0x1a4e('0x3d')==typeof _0x3a9938)throw new TypeError('\x22value\x22\x20argument\x20must\x20not\x20be\x20a\x20number');return _0x1a4e('0x3')!=typeof ArrayBuffer&&_0x3a9938 instanceof ArrayBuffer?function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){if(_0x3a9938[_0x1a4e('0x876')],_0x52fd08<0x0||_0x3a9938[_0x1a4e('0x876')]<_0x52fd08)throw new RangeError('\x27offset\x27\x20is\x20out\x20of\x20bounds');if(_0x3a9938[_0x1a4e('0x876')]<_0x52fd08+(_0x5c89bf||0x0))throw new RangeError(_0x1a4e('0xac3'));_0x3a9938=void 0x0===_0x52fd08&&void 0x0===_0x5c89bf?new Uint8Array(_0x3a9938):void 0x0===_0x5c89bf?new Uint8Array(_0x3a9938,_0x52fd08):new Uint8Array(_0x3a9938,_0x52fd08,_0x5c89bf);_0x153270[_0x1a4e('0xac0')]?(_0xd5adb8=_0x3a9938)[_0x1a4e('0x295')]=_0x153270['prototype']:_0xd5adb8=_0x468795(_0xd5adb8,_0x3a9938);return _0xd5adb8;}(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf):_0x1a4e('0x9')==typeof _0x3a9938?function(_0xd5adb8,_0x3a9938,_0x52fd08){_0x1a4e('0x9')==typeof _0x52fd08&&''!==_0x52fd08||(_0x52fd08=_0x1a4e('0xac4'));if(!_0x153270[_0x1a4e('0xac5')](_0x52fd08))throw new TypeError('\x22encoding\x22\x20must\x20be\x20a\x20valid\x20string\x20encoding');var _0x5c89bf=0x0|_0x25a786(_0x3a9938,_0x52fd08),_0x419c3d=(_0xd5adb8=_0x4d2c92(_0xd5adb8,_0x5c89bf))[_0x1a4e('0x146')](_0x3a9938,_0x52fd08);_0x419c3d!==_0x5c89bf&&(_0xd5adb8=_0xd5adb8[_0x1a4e('0x78')](0x0,_0x419c3d));return _0xd5adb8;}(_0xd5adb8,_0x3a9938,_0x52fd08):function(_0xd5adb8,_0x3a9938){if(_0x153270[_0x1a4e('0x871')](_0x3a9938)){var _0x52fd08=0x0|_0x541151(_0x3a9938[_0x1a4e('0x1e')]);return 0x0===(_0xd5adb8=_0x4d2c92(_0xd5adb8,_0x52fd08))['length']?_0xd5adb8:(_0x3a9938[_0x1a4e('0xea')](_0xd5adb8,0x0,0x0,_0x52fd08),_0xd5adb8);}if(_0x3a9938){if(_0x1a4e('0x3')!=typeof ArrayBuffer&&_0x3a9938[_0x1a4e('0x613')]instanceof ArrayBuffer||'length'in _0x3a9938)return _0x1a4e('0x3d')!=typeof _0x3a9938[_0x1a4e('0x1e')]||(_0x5c89bf=_0x3a9938[_0x1a4e('0x1e')])!=_0x5c89bf?_0x4d2c92(_0xd5adb8,0x0):_0x468795(_0xd5adb8,_0x3a9938);if(_0x1a4e('0x870')===_0x3a9938[_0x1a4e('0x40')]&&_0x195ae8(_0x3a9938[_0x1a4e('0x7f')]))return _0x468795(_0xd5adb8,_0x3a9938[_0x1a4e('0x7f')]);}var _0x5c89bf;throw new TypeError(_0x1a4e('0xac6'));}(_0xd5adb8,_0x3a9938);}function _0x3024b1(_0xd5adb8){if(_0x1a4e('0x3d')!=typeof _0xd5adb8)throw new TypeError(_0x1a4e('0xac7'));if(_0xd5adb8<0x0)throw new RangeError(_0x1a4e('0xac8'));}function _0x59bb8c(_0xd5adb8,_0x3a9938){if(_0x3024b1(_0x3a9938),_0xd5adb8=_0x4d2c92(_0xd5adb8,_0x3a9938<0x0?0x0:0x0|_0x541151(_0x3a9938)),!_0x153270[_0x1a4e('0xac0')])for(var _0x52fd08=0x0;_0x52fd08<_0x3a9938;++_0x52fd08)_0xd5adb8[_0x52fd08]=0x0;return _0xd5adb8;}function _0x468795(_0xd5adb8,_0x3a9938){var _0x52fd08=_0x3a9938['length']<0x0?0x0:0x0|_0x541151(_0x3a9938[_0x1a4e('0x1e')]);_0xd5adb8=_0x4d2c92(_0xd5adb8,_0x52fd08);for(var _0x5c89bf=0x0;_0x5c89bf<_0x52fd08;_0x5c89bf+=0x1)_0xd5adb8[_0x5c89bf]=0xff&_0x3a9938[_0x5c89bf];return _0xd5adb8;}function _0x541151(_0xd5adb8){if(_0xd5adb8>=_0x3c5be3())throw new RangeError(_0x1a4e('0xac9')+_0x3c5be3()[_0x1a4e('0x95')](0x10)+'\x20bytes');return 0x0|_0xd5adb8;}function _0x25a786(_0xd5adb8,_0x3a9938){if(_0x153270[_0x1a4e('0x871')](_0xd5adb8))return _0xd5adb8[_0x1a4e('0x1e')];if(_0x1a4e('0x3')!=typeof ArrayBuffer&&_0x1a4e('0x68')==typeof ArrayBuffer[_0x1a4e('0xaca')]&&(ArrayBuffer[_0x1a4e('0xaca')](_0xd5adb8)||_0xd5adb8 instanceof ArrayBuffer))return _0xd5adb8[_0x1a4e('0x876')];_0x1a4e('0x9')!=typeof _0xd5adb8&&(_0xd5adb8=''+_0xd5adb8);var _0x52fd08=_0xd5adb8[_0x1a4e('0x1e')];if(0x0===_0x52fd08)return 0x0;for(var _0x5c89bf=!0x1;;)switch(_0x3a9938){case _0x1a4e('0x900'):case _0x1a4e('0xacb'):case _0x1a4e('0xacc'):return _0x52fd08;case _0x1a4e('0xac4'):case'utf-8':case void 0x0:return _0xcb0cde(_0xd5adb8)[_0x1a4e('0x1e')];case _0x1a4e('0xacd'):case _0x1a4e('0xace'):case _0x1a4e('0xacf'):case _0x1a4e('0xad0'):return 0x2*_0x52fd08;case _0x1a4e('0x823'):return _0x52fd08>>>0x1;case _0x1a4e('0x90d'):return _0x1beae5(_0xd5adb8)[_0x1a4e('0x1e')];default:if(_0x5c89bf)return _0xcb0cde(_0xd5adb8)[_0x1a4e('0x1e')];_0x3a9938=(''+_0x3a9938)[_0x1a4e('0x2b2')](),_0x5c89bf=!0x0;}}function _0x5eabf0(_0xd5adb8,_0x3a9938,_0x52fd08){var _0x5c89bf=!0x1;if((void 0x0===_0x3a9938||_0x3a9938<0x0)&&(_0x3a9938=0x0),_0x3a9938>this[_0x1a4e('0x1e')])return'';if((void 0x0===_0x52fd08||_0x52fd08>this[_0x1a4e('0x1e')])&&(_0x52fd08=this[_0x1a4e('0x1e')]),_0x52fd08<=0x0)return'';if((_0x52fd08>>>=0x0)<=(_0x3a9938>>>=0x0))return'';for(_0xd5adb8||(_0xd5adb8=_0x1a4e('0xac4'));;)switch(_0xd5adb8){case _0x1a4e('0x823'):return _0x5f53ed(this,_0x3a9938,_0x52fd08);case _0x1a4e('0xac4'):case _0x1a4e('0xad1'):return _0x2fe41f(this,_0x3a9938,_0x52fd08);case _0x1a4e('0x900'):return _0x19bd41(this,_0x3a9938,_0x52fd08);case _0x1a4e('0xacb'):case'binary':return _0x323303(this,_0x3a9938,_0x52fd08);case _0x1a4e('0x90d'):return _0x50c9b8(this,_0x3a9938,_0x52fd08);case _0x1a4e('0xacd'):case'ucs-2':case'utf16le':case _0x1a4e('0xad0'):return _0x11ac53(this,_0x3a9938,_0x52fd08);default:if(_0x5c89bf)throw new TypeError('Unknown\x20encoding:\x20'+_0xd5adb8);_0xd5adb8=(_0xd5adb8+'')[_0x1a4e('0x2b2')](),_0x5c89bf=!0x0;}}function _0x58c3fa(_0xd5adb8,_0x3a9938,_0x52fd08){var _0x5c89bf=_0xd5adb8[_0x3a9938];_0xd5adb8[_0x3a9938]=_0xd5adb8[_0x52fd08],_0xd5adb8[_0x52fd08]=_0x5c89bf;}function _0x2bf655(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,_0x419c3d){if(0x0===_0xd5adb8[_0x1a4e('0x1e')])return-0x1;if(_0x1a4e('0x9')==typeof _0x52fd08?(_0x5c89bf=_0x52fd08,_0x52fd08=0x0):_0x52fd08>0x7fffffff?_0x52fd08=0x7fffffff:_0x52fd08<-0x80000000&&(_0x52fd08=-0x80000000),_0x52fd08=+_0x52fd08,isNaN(_0x52fd08)&&(_0x52fd08=_0x419c3d?0x0:_0xd5adb8[_0x1a4e('0x1e')]-0x1),_0x52fd08<0x0&&(_0x52fd08=_0xd5adb8[_0x1a4e('0x1e')]+_0x52fd08),_0x52fd08>=_0xd5adb8[_0x1a4e('0x1e')]){if(_0x419c3d)return-0x1;_0x52fd08=_0xd5adb8[_0x1a4e('0x1e')]-0x1;}else if(_0x52fd08<0x0){if(!_0x419c3d)return-0x1;_0x52fd08=0x0;}if(_0x1a4e('0x9')==typeof _0x3a9938&&(_0x3a9938=_0x153270['from'](_0x3a9938,_0x5c89bf)),_0x153270[_0x1a4e('0x871')](_0x3a9938))return 0x0===_0x3a9938[_0x1a4e('0x1e')]?-0x1:_0x286536(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,_0x419c3d);if('number'==typeof _0x3a9938)return _0x3a9938&=0xff,_0x153270['TYPED_ARRAY_SUPPORT']&&'function'==typeof Uint8Array[_0x1a4e('0xa')]['indexOf']?_0x419c3d?Uint8Array['prototype']['indexOf'][_0x1a4e('0x1')](_0xd5adb8,_0x3a9938,_0x52fd08):Uint8Array[_0x1a4e('0xa')][_0x1a4e('0x471')][_0x1a4e('0x1')](_0xd5adb8,_0x3a9938,_0x52fd08):_0x286536(_0xd5adb8,[_0x3a9938],_0x52fd08,_0x5c89bf,_0x419c3d);throw new TypeError(_0x1a4e('0xad2'));}function _0x286536(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,_0x419c3d){var _0x195ae8,_0x3c5be3=0x1,_0x4d2c92=_0xd5adb8[_0x1a4e('0x1e')],_0x153270=_0x3a9938[_0x1a4e('0x1e')];if(void 0x0!==_0x5c89bf&&(_0x1a4e('0xacd')===(_0x5c89bf=String(_0x5c89bf)[_0x1a4e('0x2b2')]())||'ucs-2'===_0x5c89bf||_0x1a4e('0xacf')===_0x5c89bf||_0x1a4e('0xad0')===_0x5c89bf)){if(_0xd5adb8['length']<0x2||_0x3a9938['length']<0x2)return-0x1;_0x3c5be3=0x2,_0x4d2c92/=0x2,_0x153270/=0x2,_0x52fd08/=0x2;}function _0x567939(_0xd5adb8,_0x3a9938){return 0x1===_0x3c5be3?_0xd5adb8[_0x3a9938]:_0xd5adb8[_0x1a4e('0x8ff')](_0x3a9938*_0x3c5be3);}if(_0x419c3d){var _0x3024b1=-0x1;for(_0x195ae8=_0x52fd08;_0x195ae8<_0x4d2c92;_0x195ae8++)if(_0x567939(_0xd5adb8,_0x195ae8)===_0x567939(_0x3a9938,-0x1===_0x3024b1?0x0:_0x195ae8-_0x3024b1)){if(-0x1===_0x3024b1&&(_0x3024b1=_0x195ae8),_0x195ae8-_0x3024b1+0x1===_0x153270)return _0x3024b1*_0x3c5be3;}else-0x1!==_0x3024b1&&(_0x195ae8-=_0x195ae8-_0x3024b1),_0x3024b1=-0x1;}else for(_0x52fd08+_0x153270>_0x4d2c92&&(_0x52fd08=_0x4d2c92-_0x153270),_0x195ae8=_0x52fd08;_0x195ae8>=0x0;_0x195ae8--){for(var _0x59bb8c=!0x0,_0x468795=0x0;_0x468795<_0x153270;_0x468795++)if(_0x567939(_0xd5adb8,_0x195ae8+_0x468795)!==_0x567939(_0x3a9938,_0x468795)){_0x59bb8c=!0x1;break;}if(_0x59bb8c)return _0x195ae8;}return-0x1;}function _0x48f3de(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){_0x52fd08=Number(_0x52fd08)||0x0;var _0x419c3d=_0xd5adb8[_0x1a4e('0x1e')]-_0x52fd08;_0x5c89bf?(_0x5c89bf=Number(_0x5c89bf))>_0x419c3d&&(_0x5c89bf=_0x419c3d):_0x5c89bf=_0x419c3d;var _0x195ae8=_0x3a9938[_0x1a4e('0x1e')];if(_0x195ae8%0x2!=0x0)throw new TypeError(_0x1a4e('0xad3'));_0x5c89bf>_0x195ae8/0x2&&(_0x5c89bf=_0x195ae8/0x2);for(var _0x3c5be3=0x0;_0x3c5be3<_0x5c89bf;++_0x3c5be3){var _0x4d2c92=parseInt(_0x3a9938[_0x1a4e('0x254')](0x2*_0x3c5be3,0x2),0x10);if(isNaN(_0x4d2c92))return _0x3c5be3;_0xd5adb8[_0x52fd08+_0x3c5be3]=_0x4d2c92;}return _0x3c5be3;}function _0x132abb(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){return _0x35e9c5(_0xcb0cde(_0x3a9938,_0xd5adb8['length']-_0x52fd08),_0xd5adb8,_0x52fd08,_0x5c89bf);}function _0x3111a5(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){return _0x35e9c5(function(_0xd5adb8){for(var _0x3a9938=[],_0x52fd08=0x0;_0x52fd08<_0xd5adb8['length'];++_0x52fd08)_0x3a9938[_0x1a4e('0x46')](0xff&_0xd5adb8[_0x1a4e('0x913')](_0x52fd08));return _0x3a9938;}(_0x3a9938),_0xd5adb8,_0x52fd08,_0x5c89bf);}function _0x206b27(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){return _0x3111a5(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf);}function _0x4137bb(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){return _0x35e9c5(_0x1beae5(_0x3a9938),_0xd5adb8,_0x52fd08,_0x5c89bf);}function _0x95efec(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){return _0x35e9c5(function(_0xd5adb8,_0x3a9938){for(var _0x52fd08,_0x5c89bf,_0x419c3d,_0x195ae8=[],_0x3c5be3=0x0;_0x3c5be3<_0xd5adb8[_0x1a4e('0x1e')]&&!((_0x3a9938-=0x2)<0x0);++_0x3c5be3)_0x52fd08=_0xd5adb8[_0x1a4e('0x913')](_0x3c5be3),_0x5c89bf=_0x52fd08>>0x8,_0x419c3d=_0x52fd08%0x100,_0x195ae8[_0x1a4e('0x46')](_0x419c3d),_0x195ae8['push'](_0x5c89bf);return _0x195ae8;}(_0x3a9938,_0xd5adb8[_0x1a4e('0x1e')]-_0x52fd08),_0xd5adb8,_0x52fd08,_0x5c89bf);}function _0x50c9b8(_0xd5adb8,_0x3a9938,_0x52fd08){return 0x0===_0x3a9938&&_0x52fd08===_0xd5adb8['length']?_0x5c89bf[_0x1a4e('0xad4')](_0xd5adb8):_0x5c89bf[_0x1a4e('0xad4')](_0xd5adb8[_0x1a4e('0x78')](_0x3a9938,_0x52fd08));}function _0x2fe41f(_0xd5adb8,_0x3a9938,_0x52fd08){_0x52fd08=Math[_0x1a4e('0x74')](_0xd5adb8[_0x1a4e('0x1e')],_0x52fd08);for(var _0x5c89bf=[],_0x419c3d=_0x3a9938;_0x419c3d<_0x52fd08;){var _0x195ae8,_0x3c5be3,_0x4d2c92,_0x153270,_0x567939=_0xd5adb8[_0x419c3d],_0x3024b1=null,_0x59bb8c=_0x567939>0xef?0x4:_0x567939>0xdf?0x3:_0x567939>0xbf?0x2:0x1;if(_0x419c3d+_0x59bb8c<=_0x52fd08)switch(_0x59bb8c){case 0x1:_0x567939<0x80&&(_0x3024b1=_0x567939);break;case 0x2:0x80==(0xc0&(_0x195ae8=_0xd5adb8[_0x419c3d+0x1]))&&(_0x153270=(0x1f&_0x567939)<<0x6|0x3f&_0x195ae8)>0x7f&&(_0x3024b1=_0x153270);break;case 0x3:_0x195ae8=_0xd5adb8[_0x419c3d+0x1],_0x3c5be3=_0xd5adb8[_0x419c3d+0x2],0x80==(0xc0&_0x195ae8)&&0x80==(0xc0&_0x3c5be3)&&(_0x153270=(0xf&_0x567939)<<0xc|(0x3f&_0x195ae8)<<0x6|0x3f&_0x3c5be3)>0x7ff&&(_0x153270<0xd800||_0x153270>0xdfff)&&(_0x3024b1=_0x153270);break;case 0x4:_0x195ae8=_0xd5adb8[_0x419c3d+0x1],_0x3c5be3=_0xd5adb8[_0x419c3d+0x2],_0x4d2c92=_0xd5adb8[_0x419c3d+0x3],0x80==(0xc0&_0x195ae8)&&0x80==(0xc0&_0x3c5be3)&&0x80==(0xc0&_0x4d2c92)&&(_0x153270=(0xf&_0x567939)<<0x12|(0x3f&_0x195ae8)<<0xc|(0x3f&_0x3c5be3)<<0x6|0x3f&_0x4d2c92)>0xffff&&_0x153270<0x110000&&(_0x3024b1=_0x153270);}null===_0x3024b1?(_0x3024b1=0xfffd,_0x59bb8c=0x1):_0x3024b1>0xffff&&(_0x3024b1-=0x10000,_0x5c89bf['push'](_0x3024b1>>>0xa&0x3ff|0xd800),_0x3024b1=0xdc00|0x3ff&_0x3024b1),_0x5c89bf[_0x1a4e('0x46')](_0x3024b1),_0x419c3d+=_0x59bb8c;}return function(_0xd5adb8){var _0x3a9938=_0xd5adb8['length'];if(_0x3a9938<=_0x5d6059)return String[_0x1a4e('0x8fe')][_0x1a4e('0x8b')](String,_0xd5adb8);var _0x52fd08='',_0x5c89bf=0x0;for(;_0x5c89bf<_0x3a9938;)_0x52fd08+=String['fromCharCode'][_0x1a4e('0x8b')](String,_0xd5adb8[_0x1a4e('0x78')](_0x5c89bf,_0x5c89bf+=_0x5d6059));return _0x52fd08;}(_0x5c89bf);}_0x3a9938[_0x1a4e('0x870')]=_0x153270,_0x3a9938[_0x1a4e('0xad5')]=function(_0xd5adb8){+_0xd5adb8!=_0xd5adb8&&(_0xd5adb8=0x0);return _0x153270[_0x1a4e('0xa43')](+_0xd5adb8);},_0x3a9938[_0x1a4e('0xad6')]=0x32,_0x153270[_0x1a4e('0xac0')]=void 0x0!==_0xd5adb8[_0x1a4e('0xac0')]?_0xd5adb8[_0x1a4e('0xac0')]:function(){try{var _0xd5adb8=new Uint8Array(0x1);return _0xd5adb8[_0x1a4e('0x295')]={'__proto__':Uint8Array[_0x1a4e('0xa')],'foo':function(){return 0x2a;}},0x2a===_0xd5adb8[_0x1a4e('0xad7')]()&&_0x1a4e('0x68')==typeof _0xd5adb8[_0x1a4e('0xad8')]&&0x0===_0xd5adb8['subarray'](0x1,0x1)[_0x1a4e('0x876')];}catch(_0xb9cd02){return!0x1;}}(),_0x3a9938[_0x1a4e('0xad9')]=_0x3c5be3(),_0x153270['poolSize']=0x2000,_0x153270[_0x1a4e('0xada')]=function(_0xd5adb8){return _0xd5adb8[_0x1a4e('0x295')]=_0x153270['prototype'],_0xd5adb8;},_0x153270[_0x1a4e('0x1b5')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0x567939(null,_0xd5adb8,_0x3a9938,_0x52fd08);},_0x153270['TYPED_ARRAY_SUPPORT']&&(_0x153270[_0x1a4e('0xa')]['__proto__']=Uint8Array[_0x1a4e('0xa')],_0x153270[_0x1a4e('0x295')]=Uint8Array,_0x1a4e('0x3')!=typeof Symbol&&Symbol['species']&&_0x153270[Symbol[_0x1a4e('0xadb')]]===_0x153270&&Object['defineProperty'](_0x153270,Symbol[_0x1a4e('0xadb')],{'value':null,'configurable':!0x0})),_0x153270[_0x1a4e('0xa43')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){return _0x3024b1(_0x3a9938),_0x3a9938<=0x0?_0x4d2c92(_0xd5adb8,_0x3a9938):void 0x0!==_0x52fd08?'string'==typeof _0x5c89bf?_0x4d2c92(_0xd5adb8,_0x3a9938)[_0x1a4e('0x22c')](_0x52fd08,_0x5c89bf):_0x4d2c92(_0xd5adb8,_0x3a9938)[_0x1a4e('0x22c')](_0x52fd08):_0x4d2c92(_0xd5adb8,_0x3a9938);}(null,_0xd5adb8,_0x3a9938,_0x52fd08);},_0x153270[_0x1a4e('0xa3c')]=function(_0xd5adb8){return _0x59bb8c(null,_0xd5adb8);},_0x153270[_0x1a4e('0xadc')]=function(_0xd5adb8){return _0x59bb8c(null,_0xd5adb8);},_0x153270[_0x1a4e('0x871')]=function(_0xd5adb8){return!(null==_0xd5adb8||!_0xd5adb8[_0x1a4e('0xadd')]);},_0x153270[_0x1a4e('0x77')]=function(_0xd5adb8,_0x3a9938){if(!_0x153270[_0x1a4e('0x871')](_0xd5adb8)||!_0x153270[_0x1a4e('0x871')](_0x3a9938))throw new TypeError(_0x1a4e('0xade'));if(_0xd5adb8===_0x3a9938)return 0x0;for(var _0x52fd08=_0xd5adb8[_0x1a4e('0x1e')],_0x5c89bf=_0x3a9938[_0x1a4e('0x1e')],_0x419c3d=0x0,_0x195ae8=Math[_0x1a4e('0x74')](_0x52fd08,_0x5c89bf);_0x419c3d<_0x195ae8;++_0x419c3d)if(_0xd5adb8[_0x419c3d]!==_0x3a9938[_0x419c3d]){_0x52fd08=_0xd5adb8[_0x419c3d],_0x5c89bf=_0x3a9938[_0x419c3d];break;}return _0x52fd08<_0x5c89bf?-0x1:_0x5c89bf<_0x52fd08?0x1:0x0;},_0x153270['isEncoding']=function(_0xd5adb8){switch(String(_0xd5adb8)[_0x1a4e('0x2b2')]()){case _0x1a4e('0x823'):case _0x1a4e('0xac4'):case _0x1a4e('0xad1'):case _0x1a4e('0x900'):case _0x1a4e('0xacb'):case _0x1a4e('0xacc'):case'base64':case'ucs2':case'ucs-2':case _0x1a4e('0xacf'):case _0x1a4e('0xad0'):return!0x0;default:return!0x1;}},_0x153270['concat']=function(_0xd5adb8,_0x3a9938){if(!_0x195ae8(_0xd5adb8))throw new TypeError('\x22list\x22\x20argument\x20must\x20be\x20an\x20Array\x20of\x20Buffers');if(0x0===_0xd5adb8[_0x1a4e('0x1e')])return _0x153270['alloc'](0x0);var _0x52fd08;if(void 0x0===_0x3a9938)for(_0x3a9938=0x0,_0x52fd08=0x0;_0x52fd08<_0xd5adb8['length'];++_0x52fd08)_0x3a9938+=_0xd5adb8[_0x52fd08][_0x1a4e('0x1e')];var _0x5c89bf=_0x153270[_0x1a4e('0xa3c')](_0x3a9938),_0x419c3d=0x0;for(_0x52fd08=0x0;_0x52fd08<_0xd5adb8[_0x1a4e('0x1e')];++_0x52fd08){var _0x3c5be3=_0xd5adb8[_0x52fd08];if(!_0x153270[_0x1a4e('0x871')](_0x3c5be3))throw new TypeError('\x22list\x22\x20argument\x20must\x20be\x20an\x20Array\x20of\x20Buffers');_0x3c5be3[_0x1a4e('0xea')](_0x5c89bf,_0x419c3d),_0x419c3d+=_0x3c5be3[_0x1a4e('0x1e')];}return _0x5c89bf;},_0x153270[_0x1a4e('0x876')]=_0x25a786,_0x153270[_0x1a4e('0xa')][_0x1a4e('0xadd')]=!0x0,_0x153270[_0x1a4e('0xa')]['swap16']=function(){var _0xd5adb8=this[_0x1a4e('0x1e')];if(_0xd5adb8%0x2!=0x0)throw new RangeError('Buffer\x20size\x20must\x20be\x20a\x20multiple\x20of\x2016-bits');for(var _0x3a9938=0x0;_0x3a9938<_0xd5adb8;_0x3a9938+=0x2)_0x58c3fa(this,_0x3a9938,_0x3a9938+0x1);return this;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xadf')]=function(){var _0xd5adb8=this[_0x1a4e('0x1e')];if(_0xd5adb8%0x4!=0x0)throw new RangeError('Buffer\x20size\x20must\x20be\x20a\x20multiple\x20of\x2032-bits');for(var _0x3a9938=0x0;_0x3a9938<_0xd5adb8;_0x3a9938+=0x4)_0x58c3fa(this,_0x3a9938,_0x3a9938+0x3),_0x58c3fa(this,_0x3a9938+0x1,_0x3a9938+0x2);return this;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xae0')]=function(){var _0xd5adb8=this[_0x1a4e('0x1e')];if(_0xd5adb8%0x8!=0x0)throw new RangeError(_0x1a4e('0xae1'));for(var _0x3a9938=0x0;_0x3a9938<_0xd5adb8;_0x3a9938+=0x8)_0x58c3fa(this,_0x3a9938,_0x3a9938+0x7),_0x58c3fa(this,_0x3a9938+0x1,_0x3a9938+0x6),_0x58c3fa(this,_0x3a9938+0x2,_0x3a9938+0x5),_0x58c3fa(this,_0x3a9938+0x3,_0x3a9938+0x4);return this;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){var _0xd5adb8=0x0|this[_0x1a4e('0x1e')];return 0x0===_0xd5adb8?'':0x0===arguments[_0x1a4e('0x1e')]?_0x2fe41f(this,0x0,_0xd5adb8):_0x5eabf0['apply'](this,arguments);},_0x153270['prototype'][_0x1a4e('0x23e')]=function(_0xd5adb8){if(!_0x153270['isBuffer'](_0xd5adb8))throw new TypeError('Argument\x20must\x20be\x20a\x20Buffer');return this===_0xd5adb8||0x0===_0x153270[_0x1a4e('0x77')](this,_0xd5adb8);},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xae2')]=function(){var _0xd5adb8='',_0x52fd08=_0x3a9938[_0x1a4e('0xad6')];return this[_0x1a4e('0x1e')]>0x0&&(_0xd5adb8=this[_0x1a4e('0x95')](_0x1a4e('0x823'),0x0,_0x52fd08)[_0x1a4e('0x909')](/.{2}/g)['join']('\x20'),this[_0x1a4e('0x1e')]>_0x52fd08&&(_0xd5adb8+='\x20...\x20')),_0x1a4e('0xae3')+_0xd5adb8+'>';},_0x153270[_0x1a4e('0xa')][_0x1a4e('0x77')]=function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,_0x419c3d){if(!_0x153270['isBuffer'](_0xd5adb8))throw new TypeError('Argument\x20must\x20be\x20a\x20Buffer');if(void 0x0===_0x3a9938&&(_0x3a9938=0x0),void 0x0===_0x52fd08&&(_0x52fd08=_0xd5adb8?_0xd5adb8[_0x1a4e('0x1e')]:0x0),void 0x0===_0x5c89bf&&(_0x5c89bf=0x0),void 0x0===_0x419c3d&&(_0x419c3d=this[_0x1a4e('0x1e')]),_0x3a9938<0x0||_0x52fd08>_0xd5adb8[_0x1a4e('0x1e')]||_0x5c89bf<0x0||_0x419c3d>this[_0x1a4e('0x1e')])throw new RangeError(_0x1a4e('0xae4'));if(_0x5c89bf>=_0x419c3d&&_0x3a9938>=_0x52fd08)return 0x0;if(_0x5c89bf>=_0x419c3d)return-0x1;if(_0x3a9938>=_0x52fd08)return 0x1;if(this===_0xd5adb8)return 0x0;for(var _0x195ae8=(_0x419c3d>>>=0x0)-(_0x5c89bf>>>=0x0),_0x3c5be3=(_0x52fd08>>>=0x0)-(_0x3a9938>>>=0x0),_0x4d2c92=Math[_0x1a4e('0x74')](_0x195ae8,_0x3c5be3),_0x567939=this[_0x1a4e('0x78')](_0x5c89bf,_0x419c3d),_0x3024b1=_0xd5adb8[_0x1a4e('0x78')](_0x3a9938,_0x52fd08),_0x59bb8c=0x0;_0x59bb8c<_0x4d2c92;++_0x59bb8c)if(_0x567939[_0x59bb8c]!==_0x3024b1[_0x59bb8c]){_0x195ae8=_0x567939[_0x59bb8c],_0x3c5be3=_0x3024b1[_0x59bb8c];break;}return _0x195ae8<_0x3c5be3?-0x1:_0x3c5be3<_0x195ae8?0x1:0x0;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xae5')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return-0x1!==this[_0x1a4e('0x3e')](_0xd5adb8,_0x3a9938,_0x52fd08);},_0x153270['prototype'][_0x1a4e('0x3e')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0x2bf655(this,_0xd5adb8,_0x3a9938,_0x52fd08,!0x0);},_0x153270[_0x1a4e('0xa')][_0x1a4e('0x471')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0x2bf655(this,_0xd5adb8,_0x3a9938,_0x52fd08,!0x1);},_0x153270[_0x1a4e('0xa')][_0x1a4e('0x146')]=function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){if(void 0x0===_0x3a9938)_0x5c89bf=_0x1a4e('0xac4'),_0x52fd08=this[_0x1a4e('0x1e')],_0x3a9938=0x0;else if(void 0x0===_0x52fd08&&'string'==typeof _0x3a9938)_0x5c89bf=_0x3a9938,_0x52fd08=this[_0x1a4e('0x1e')],_0x3a9938=0x0;else{if(!isFinite(_0x3a9938))throw new Error(_0x1a4e('0xae6'));_0x3a9938|=0x0,isFinite(_0x52fd08)?(_0x52fd08|=0x0,void 0x0===_0x5c89bf&&(_0x5c89bf=_0x1a4e('0xac4'))):(_0x5c89bf=_0x52fd08,_0x52fd08=void 0x0);}var _0x419c3d=this[_0x1a4e('0x1e')]-_0x3a9938;if((void 0x0===_0x52fd08||_0x52fd08>_0x419c3d)&&(_0x52fd08=_0x419c3d),_0xd5adb8[_0x1a4e('0x1e')]>0x0&&(_0x52fd08<0x0||_0x3a9938<0x0)||_0x3a9938>this[_0x1a4e('0x1e')])throw new RangeError(_0x1a4e('0xae7'));_0x5c89bf||(_0x5c89bf='utf8');for(var _0x195ae8=!0x1;;)switch(_0x5c89bf){case _0x1a4e('0x823'):return _0x48f3de(this,_0xd5adb8,_0x3a9938,_0x52fd08);case _0x1a4e('0xac4'):case _0x1a4e('0xad1'):return _0x132abb(this,_0xd5adb8,_0x3a9938,_0x52fd08);case _0x1a4e('0x900'):return _0x3111a5(this,_0xd5adb8,_0x3a9938,_0x52fd08);case _0x1a4e('0xacb'):case _0x1a4e('0xacc'):return _0x206b27(this,_0xd5adb8,_0x3a9938,_0x52fd08);case _0x1a4e('0x90d'):return _0x4137bb(this,_0xd5adb8,_0x3a9938,_0x52fd08);case _0x1a4e('0xacd'):case _0x1a4e('0xace'):case'utf16le':case _0x1a4e('0xad0'):return _0x95efec(this,_0xd5adb8,_0x3a9938,_0x52fd08);default:if(_0x195ae8)throw new TypeError(_0x1a4e('0xae8')+_0x5c89bf);_0x5c89bf=(''+_0x5c89bf)[_0x1a4e('0x2b2')](),_0x195ae8=!0x0;}},_0x153270['prototype'][_0x1a4e('0xb9')]=function(){return{'type':_0x1a4e('0x870'),'data':Array['prototype'][_0x1a4e('0x78')][_0x1a4e('0x1')](this[_0x1a4e('0xae9')]||this,0x0)};};var _0x5d6059=0x1000;function _0x19bd41(_0xd5adb8,_0x3a9938,_0x52fd08){var _0x5c89bf='';_0x52fd08=Math['min'](_0xd5adb8[_0x1a4e('0x1e')],_0x52fd08);for(var _0x419c3d=_0x3a9938;_0x419c3d<_0x52fd08;++_0x419c3d)_0x5c89bf+=String['fromCharCode'](0x7f&_0xd5adb8[_0x419c3d]);return _0x5c89bf;}function _0x323303(_0xd5adb8,_0x3a9938,_0x52fd08){var _0x5c89bf='';_0x52fd08=Math[_0x1a4e('0x74')](_0xd5adb8[_0x1a4e('0x1e')],_0x52fd08);for(var _0x419c3d=_0x3a9938;_0x419c3d<_0x52fd08;++_0x419c3d)_0x5c89bf+=String['fromCharCode'](_0xd5adb8[_0x419c3d]);return _0x5c89bf;}function _0x5f53ed(_0xd5adb8,_0x3a9938,_0x52fd08){var _0x5c89bf=_0xd5adb8[_0x1a4e('0x1e')];(!_0x3a9938||_0x3a9938<0x0)&&(_0x3a9938=0x0),(!_0x52fd08||_0x52fd08<0x0||_0x52fd08>_0x5c89bf)&&(_0x52fd08=_0x5c89bf);for(var _0x419c3d='',_0x195ae8=_0x3a9938;_0x195ae8<_0x52fd08;++_0x195ae8)_0x419c3d+=_0x421e58(_0xd5adb8[_0x195ae8]);return _0x419c3d;}function _0x11ac53(_0xd5adb8,_0x3a9938,_0x52fd08){for(var _0x5c89bf=_0xd5adb8[_0x1a4e('0x78')](_0x3a9938,_0x52fd08),_0x419c3d='',_0x195ae8=0x0;_0x195ae8<_0x5c89bf[_0x1a4e('0x1e')];_0x195ae8+=0x2)_0x419c3d+=String[_0x1a4e('0x8fe')](_0x5c89bf[_0x195ae8]+0x100*_0x5c89bf[_0x195ae8+0x1]);return _0x419c3d;}function _0x3d7aa6(_0xd5adb8,_0x3a9938,_0x52fd08){if(_0xd5adb8%0x1!=0x0||_0xd5adb8<0x0)throw new RangeError(_0x1a4e('0xaea'));if(_0xd5adb8+_0x3a9938>_0x52fd08)throw new RangeError('Trying\x20to\x20access\x20beyond\x20buffer\x20length');}function _0x1be76b(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,_0x419c3d,_0x195ae8){if(!_0x153270[_0x1a4e('0x871')](_0xd5adb8))throw new TypeError(_0x1a4e('0xaeb'));if(_0x3a9938>_0x419c3d||_0x3a9938<_0x195ae8)throw new RangeError(_0x1a4e('0xaec'));if(_0x52fd08+_0x5c89bf>_0xd5adb8[_0x1a4e('0x1e')])throw new RangeError(_0x1a4e('0xaed'));}function _0x271959(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){_0x3a9938<0x0&&(_0x3a9938=0xffff+_0x3a9938+0x1);for(var _0x419c3d=0x0,_0x195ae8=Math[_0x1a4e('0x74')](_0xd5adb8[_0x1a4e('0x1e')]-_0x52fd08,0x2);_0x419c3d<_0x195ae8;++_0x419c3d)_0xd5adb8[_0x52fd08+_0x419c3d]=(_0x3a9938&0xff<<0x8*(_0x5c89bf?_0x419c3d:0x1-_0x419c3d))>>>0x8*(_0x5c89bf?_0x419c3d:0x1-_0x419c3d);}function _0x2c5275(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){_0x3a9938<0x0&&(_0x3a9938=0xffffffff+_0x3a9938+0x1);for(var _0x419c3d=0x0,_0x195ae8=Math['min'](_0xd5adb8[_0x1a4e('0x1e')]-_0x52fd08,0x4);_0x419c3d<_0x195ae8;++_0x419c3d)_0xd5adb8[_0x52fd08+_0x419c3d]=_0x3a9938>>>0x8*(_0x5c89bf?_0x419c3d:0x3-_0x419c3d)&0xff;}function _0x439fe3(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,_0x419c3d,_0x195ae8){if(_0x52fd08+_0x5c89bf>_0xd5adb8[_0x1a4e('0x1e')])throw new RangeError('Index\x20out\x20of\x20range');if(_0x52fd08<0x0)throw new RangeError('Index\x20out\x20of\x20range');}function _0xc09115(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,_0x195ae8){return _0x195ae8||_0x439fe3(_0xd5adb8,0x0,_0x52fd08,0x4),_0x419c3d[_0x1a4e('0x146')](_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,0x17,0x4),_0x52fd08+0x4;}function _0x430f86(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,_0x195ae8){return _0x195ae8||_0x439fe3(_0xd5adb8,0x0,_0x52fd08,0x8),_0x419c3d['write'](_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf,0x34,0x8),_0x52fd08+0x8;}_0x153270[_0x1a4e('0xa')][_0x1a4e('0x78')]=function(_0xd5adb8,_0x3a9938){var _0x52fd08,_0x5c89bf=this[_0x1a4e('0x1e')];if((_0xd5adb8=~~_0xd5adb8)<0x0?(_0xd5adb8+=_0x5c89bf)<0x0&&(_0xd5adb8=0x0):_0xd5adb8>_0x5c89bf&&(_0xd5adb8=_0x5c89bf),(_0x3a9938=void 0x0===_0x3a9938?_0x5c89bf:~~_0x3a9938)<0x0?(_0x3a9938+=_0x5c89bf)<0x0&&(_0x3a9938=0x0):_0x3a9938>_0x5c89bf&&(_0x3a9938=_0x5c89bf),_0x3a9938<_0xd5adb8&&(_0x3a9938=_0xd5adb8),_0x153270[_0x1a4e('0xac0')])(_0x52fd08=this[_0x1a4e('0xad8')](_0xd5adb8,_0x3a9938))['__proto__']=_0x153270[_0x1a4e('0xa')];else{var _0x419c3d=_0x3a9938-_0xd5adb8;_0x52fd08=new _0x153270(_0x419c3d,void 0x0);for(var _0x195ae8=0x0;_0x195ae8<_0x419c3d;++_0x195ae8)_0x52fd08[_0x195ae8]=this[_0x195ae8+_0xd5adb8];}return _0x52fd08;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xaee')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){_0xd5adb8|=0x0,_0x3a9938|=0x0,_0x52fd08||_0x3d7aa6(_0xd5adb8,_0x3a9938,this[_0x1a4e('0x1e')]);for(var _0x5c89bf=this[_0xd5adb8],_0x419c3d=0x1,_0x195ae8=0x0;++_0x195ae8<_0x3a9938&&(_0x419c3d*=0x100);)_0x5c89bf+=this[_0xd5adb8+_0x195ae8]*_0x419c3d;return _0x5c89bf;},_0x153270[_0x1a4e('0xa')]['readUIntBE']=function(_0xd5adb8,_0x3a9938,_0x52fd08){_0xd5adb8|=0x0,_0x3a9938|=0x0,_0x52fd08||_0x3d7aa6(_0xd5adb8,_0x3a9938,this[_0x1a4e('0x1e')]);for(var _0x5c89bf=this[_0xd5adb8+--_0x3a9938],_0x419c3d=0x1;_0x3a9938>0x0&&(_0x419c3d*=0x100);)_0x5c89bf+=this[_0xd5adb8+--_0x3a9938]*_0x419c3d;return _0x5c89bf;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0x87a')]=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x1,this[_0x1a4e('0x1e')]),this[_0xd5adb8];},_0x153270[_0x1a4e('0xa')]['readUInt16LE']=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x2,this[_0x1a4e('0x1e')]),this[_0xd5adb8]|this[_0xd5adb8+0x1]<<0x8;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0x8ff')]=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x2,this[_0x1a4e('0x1e')]),this[_0xd5adb8]<<0x8|this[_0xd5adb8+0x1];},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xaef')]=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x4,this['length']),(this[_0xd5adb8]|this[_0xd5adb8+0x1]<<0x8|this[_0xd5adb8+0x2]<<0x10)+0x1000000*this[_0xd5adb8+0x3];},_0x153270[_0x1a4e('0xa')]['readUInt32BE']=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x4,this[_0x1a4e('0x1e')]),0x1000000*this[_0xd5adb8]+(this[_0xd5adb8+0x1]<<0x10|this[_0xd5adb8+0x2]<<0x8|this[_0xd5adb8+0x3]);},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xaf0')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){_0xd5adb8|=0x0,_0x3a9938|=0x0,_0x52fd08||_0x3d7aa6(_0xd5adb8,_0x3a9938,this[_0x1a4e('0x1e')]);for(var _0x5c89bf=this[_0xd5adb8],_0x419c3d=0x1,_0x195ae8=0x0;++_0x195ae8<_0x3a9938&&(_0x419c3d*=0x100);)_0x5c89bf+=this[_0xd5adb8+_0x195ae8]*_0x419c3d;return _0x5c89bf>=(_0x419c3d*=0x80)&&(_0x5c89bf-=Math[_0x1a4e('0x8e')](0x2,0x8*_0x3a9938)),_0x5c89bf;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xaf1')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){_0xd5adb8|=0x0,_0x3a9938|=0x0,_0x52fd08||_0x3d7aa6(_0xd5adb8,_0x3a9938,this[_0x1a4e('0x1e')]);for(var _0x5c89bf=_0x3a9938,_0x419c3d=0x1,_0x195ae8=this[_0xd5adb8+--_0x5c89bf];_0x5c89bf>0x0&&(_0x419c3d*=0x100);)_0x195ae8+=this[_0xd5adb8+--_0x5c89bf]*_0x419c3d;return _0x195ae8>=(_0x419c3d*=0x80)&&(_0x195ae8-=Math[_0x1a4e('0x8e')](0x2,0x8*_0x3a9938)),_0x195ae8;},_0x153270[_0x1a4e('0xa')]['readInt8']=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x1,this[_0x1a4e('0x1e')]),0x80&this[_0xd5adb8]?-0x1*(0xff-this[_0xd5adb8]+0x1):this[_0xd5adb8];},_0x153270['prototype'][_0x1a4e('0xaf2')]=function(_0xd5adb8,_0x3a9938){_0x3a9938||_0x3d7aa6(_0xd5adb8,0x2,this[_0x1a4e('0x1e')]);var _0x52fd08=this[_0xd5adb8]|this[_0xd5adb8+0x1]<<0x8;return 0x8000&_0x52fd08?0xffff0000|_0x52fd08:_0x52fd08;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xaf3')]=function(_0xd5adb8,_0x3a9938){_0x3a9938||_0x3d7aa6(_0xd5adb8,0x2,this[_0x1a4e('0x1e')]);var _0x52fd08=this[_0xd5adb8+0x1]|this[_0xd5adb8]<<0x8;return 0x8000&_0x52fd08?0xffff0000|_0x52fd08:_0x52fd08;},_0x153270['prototype']['readInt32LE']=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x4,this[_0x1a4e('0x1e')]),this[_0xd5adb8]|this[_0xd5adb8+0x1]<<0x8|this[_0xd5adb8+0x2]<<0x10|this[_0xd5adb8+0x3]<<0x18;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xaf4')]=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x4,this['length']),this[_0xd5adb8]<<0x18|this[_0xd5adb8+0x1]<<0x10|this[_0xd5adb8+0x2]<<0x8|this[_0xd5adb8+0x3];},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xaf5')]=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x4,this[_0x1a4e('0x1e')]),_0x419c3d[_0x1a4e('0x144')](this,_0xd5adb8,!0x0,0x17,0x4);},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xaf6')]=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x4,this[_0x1a4e('0x1e')]),_0x419c3d['read'](this,_0xd5adb8,!0x1,0x17,0x4);},_0x153270['prototype'][_0x1a4e('0xaf7')]=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x8,this[_0x1a4e('0x1e')]),_0x419c3d[_0x1a4e('0x144')](this,_0xd5adb8,!0x0,0x34,0x8);},_0x153270[_0x1a4e('0xa')]['readDoubleBE']=function(_0xd5adb8,_0x3a9938){return _0x3a9938||_0x3d7aa6(_0xd5adb8,0x8,this['length']),_0x419c3d[_0x1a4e('0x144')](this,_0xd5adb8,!0x1,0x34,0x8);},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xaf8')]=function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){(_0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08|=0x0,_0x5c89bf)||_0x1be76b(this,_0xd5adb8,_0x3a9938,_0x52fd08,Math[_0x1a4e('0x8e')](0x2,0x8*_0x52fd08)-0x1,0x0);var _0x419c3d=0x1,_0x195ae8=0x0;for(this[_0x3a9938]=0xff&_0xd5adb8;++_0x195ae8<_0x52fd08&&(_0x419c3d*=0x100);)this[_0x3a9938+_0x195ae8]=_0xd5adb8/_0x419c3d&0xff;return _0x3a9938+_0x52fd08;},_0x153270['prototype'][_0x1a4e('0xaf9')]=function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){(_0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08|=0x0,_0x5c89bf)||_0x1be76b(this,_0xd5adb8,_0x3a9938,_0x52fd08,Math['pow'](0x2,0x8*_0x52fd08)-0x1,0x0);var _0x419c3d=_0x52fd08-0x1,_0x195ae8=0x1;for(this[_0x3a9938+_0x419c3d]=0xff&_0xd5adb8;--_0x419c3d>=0x0&&(_0x195ae8*=0x100);)this[_0x3a9938+_0x419c3d]=_0xd5adb8/_0x195ae8&0xff;return _0x3a9938+_0x52fd08;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xa75')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x1,0xff,0x0),_0x153270[_0x1a4e('0xac0')]||(_0xd5adb8=Math[_0x1a4e('0xb4')](_0xd5adb8)),this[_0x3a9938]=0xff&_0xd5adb8,_0x3a9938+0x1;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xafa')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x2,0xffff,0x0),_0x153270[_0x1a4e('0xac0')]?(this[_0x3a9938]=0xff&_0xd5adb8,this[_0x3a9938+0x1]=_0xd5adb8>>>0x8):_0x271959(this,_0xd5adb8,_0x3a9938,!0x0),_0x3a9938+0x2;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0x912')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x2,0xffff,0x0),_0x153270[_0x1a4e('0xac0')]?(this[_0x3a9938]=_0xd5adb8>>>0x8,this[_0x3a9938+0x1]=0xff&_0xd5adb8):_0x271959(this,_0xd5adb8,_0x3a9938,!0x1),_0x3a9938+0x2;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xafb')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x4,0xffffffff,0x0),_0x153270[_0x1a4e('0xac0')]?(this[_0x3a9938+0x3]=_0xd5adb8>>>0x18,this[_0x3a9938+0x2]=_0xd5adb8>>>0x10,this[_0x3a9938+0x1]=_0xd5adb8>>>0x8,this[_0x3a9938]=0xff&_0xd5adb8):_0x2c5275(this,_0xd5adb8,_0x3a9938,!0x0),_0x3a9938+0x4;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xa39')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x4,0xffffffff,0x0),_0x153270[_0x1a4e('0xac0')]?(this[_0x3a9938]=_0xd5adb8>>>0x18,this[_0x3a9938+0x1]=_0xd5adb8>>>0x10,this[_0x3a9938+0x2]=_0xd5adb8>>>0x8,this[_0x3a9938+0x3]=0xff&_0xd5adb8):_0x2c5275(this,_0xd5adb8,_0x3a9938,!0x1),_0x3a9938+0x4;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xafc')]=function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){if(_0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,!_0x5c89bf){var _0x419c3d=Math[_0x1a4e('0x8e')](0x2,0x8*_0x52fd08-0x1);_0x1be76b(this,_0xd5adb8,_0x3a9938,_0x52fd08,_0x419c3d-0x1,-_0x419c3d);}var _0x195ae8=0x0,_0x3c5be3=0x1,_0x4d2c92=0x0;for(this[_0x3a9938]=0xff&_0xd5adb8;++_0x195ae8<_0x52fd08&&(_0x3c5be3*=0x100);)_0xd5adb8<0x0&&0x0===_0x4d2c92&&0x0!==this[_0x3a9938+_0x195ae8-0x1]&&(_0x4d2c92=0x1),this[_0x3a9938+_0x195ae8]=(_0xd5adb8/_0x3c5be3>>0x0)-_0x4d2c92&0xff;return _0x3a9938+_0x52fd08;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xafd')]=function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){if(_0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,!_0x5c89bf){var _0x419c3d=Math[_0x1a4e('0x8e')](0x2,0x8*_0x52fd08-0x1);_0x1be76b(this,_0xd5adb8,_0x3a9938,_0x52fd08,_0x419c3d-0x1,-_0x419c3d);}var _0x195ae8=_0x52fd08-0x1,_0x3c5be3=0x1,_0x4d2c92=0x0;for(this[_0x3a9938+_0x195ae8]=0xff&_0xd5adb8;--_0x195ae8>=0x0&&(_0x3c5be3*=0x100);)_0xd5adb8<0x0&&0x0===_0x4d2c92&&0x0!==this[_0x3a9938+_0x195ae8+0x1]&&(_0x4d2c92=0x1),this[_0x3a9938+_0x195ae8]=(_0xd5adb8/_0x3c5be3>>0x0)-_0x4d2c92&0xff;return _0x3a9938+_0x52fd08;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xafe')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x1,0x7f,-0x80),_0x153270[_0x1a4e('0xac0')]||(_0xd5adb8=Math[_0x1a4e('0xb4')](_0xd5adb8)),_0xd5adb8<0x0&&(_0xd5adb8=0xff+_0xd5adb8+0x1),this[_0x3a9938]=0xff&_0xd5adb8,_0x3a9938+0x1;},_0x153270['prototype'][_0x1a4e('0xaff')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x2,0x7fff,-0x8000),_0x153270[_0x1a4e('0xac0')]?(this[_0x3a9938]=0xff&_0xd5adb8,this[_0x3a9938+0x1]=_0xd5adb8>>>0x8):_0x271959(this,_0xd5adb8,_0x3a9938,!0x0),_0x3a9938+0x2;},_0x153270['prototype'][_0x1a4e('0xb00')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x2,0x7fff,-0x8000),_0x153270[_0x1a4e('0xac0')]?(this[_0x3a9938]=_0xd5adb8>>>0x8,this[_0x3a9938+0x1]=0xff&_0xd5adb8):_0x271959(this,_0xd5adb8,_0x3a9938,!0x1),_0x3a9938+0x2;},_0x153270['prototype']['writeInt32LE']=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x4,0x7fffffff,-0x80000000),_0x153270[_0x1a4e('0xac0')]?(this[_0x3a9938]=0xff&_0xd5adb8,this[_0x3a9938+0x1]=_0xd5adb8>>>0x8,this[_0x3a9938+0x2]=_0xd5adb8>>>0x10,this[_0x3a9938+0x3]=_0xd5adb8>>>0x18):_0x2c5275(this,_0xd5adb8,_0x3a9938,!0x0),_0x3a9938+0x4;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xb01')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xd5adb8=+_0xd5adb8,_0x3a9938|=0x0,_0x52fd08||_0x1be76b(this,_0xd5adb8,_0x3a9938,0x4,0x7fffffff,-0x80000000),_0xd5adb8<0x0&&(_0xd5adb8=0xffffffff+_0xd5adb8+0x1),_0x153270[_0x1a4e('0xac0')]?(this[_0x3a9938]=_0xd5adb8>>>0x18,this[_0x3a9938+0x1]=_0xd5adb8>>>0x10,this[_0x3a9938+0x2]=_0xd5adb8>>>0x8,this[_0x3a9938+0x3]=0xff&_0xd5adb8):_0x2c5275(this,_0xd5adb8,_0x3a9938,!0x1),_0x3a9938+0x4;},_0x153270[_0x1a4e('0xa')]['writeFloatLE']=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xc09115(this,_0xd5adb8,_0x3a9938,!0x0,_0x52fd08);},_0x153270['prototype'][_0x1a4e('0xb02')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0xc09115(this,_0xd5adb8,_0x3a9938,!0x1,_0x52fd08);},_0x153270[_0x1a4e('0xa')]['writeDoubleLE']=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0x430f86(this,_0xd5adb8,_0x3a9938,!0x0,_0x52fd08);},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xb03')]=function(_0xd5adb8,_0x3a9938,_0x52fd08){return _0x430f86(this,_0xd5adb8,_0x3a9938,!0x1,_0x52fd08);},_0x153270[_0x1a4e('0xa')][_0x1a4e('0xea')]=function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){if(_0x52fd08||(_0x52fd08=0x0),_0x5c89bf||0x0===_0x5c89bf||(_0x5c89bf=this[_0x1a4e('0x1e')]),_0x3a9938>=_0xd5adb8[_0x1a4e('0x1e')]&&(_0x3a9938=_0xd5adb8['length']),_0x3a9938||(_0x3a9938=0x0),_0x5c89bf>0x0&&_0x5c89bf<_0x52fd08&&(_0x5c89bf=_0x52fd08),_0x5c89bf===_0x52fd08)return 0x0;if(0x0===_0xd5adb8['length']||0x0===this[_0x1a4e('0x1e')])return 0x0;if(_0x3a9938<0x0)throw new RangeError(_0x1a4e('0xb04'));if(_0x52fd08<0x0||_0x52fd08>=this[_0x1a4e('0x1e')])throw new RangeError(_0x1a4e('0xb05'));if(_0x5c89bf<0x0)throw new RangeError('sourceEnd\x20out\x20of\x20bounds');_0x5c89bf>this['length']&&(_0x5c89bf=this['length']),_0xd5adb8[_0x1a4e('0x1e')]-_0x3a9938<_0x5c89bf-_0x52fd08&&(_0x5c89bf=_0xd5adb8['length']-_0x3a9938+_0x52fd08);var _0x419c3d,_0x195ae8=_0x5c89bf-_0x52fd08;if(this===_0xd5adb8&&_0x52fd08<_0x3a9938&&_0x3a9938<_0x5c89bf)for(_0x419c3d=_0x195ae8-0x1;_0x419c3d>=0x0;--_0x419c3d)_0xd5adb8[_0x419c3d+_0x3a9938]=this[_0x419c3d+_0x52fd08];else if(_0x195ae8<0x3e8||!_0x153270[_0x1a4e('0xac0')])for(_0x419c3d=0x0;_0x419c3d<_0x195ae8;++_0x419c3d)_0xd5adb8[_0x419c3d+_0x3a9938]=this[_0x419c3d+_0x52fd08];else Uint8Array[_0x1a4e('0xa')][_0x1a4e('0x17a')][_0x1a4e('0x1')](_0xd5adb8,this[_0x1a4e('0xad8')](_0x52fd08,_0x52fd08+_0x195ae8),_0x3a9938);return _0x195ae8;},_0x153270[_0x1a4e('0xa')][_0x1a4e('0x22c')]=function(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){if(_0x1a4e('0x9')==typeof _0xd5adb8){if(_0x1a4e('0x9')==typeof _0x3a9938?(_0x5c89bf=_0x3a9938,_0x3a9938=0x0,_0x52fd08=this[_0x1a4e('0x1e')]):'string'==typeof _0x52fd08&&(_0x5c89bf=_0x52fd08,_0x52fd08=this[_0x1a4e('0x1e')]),0x1===_0xd5adb8[_0x1a4e('0x1e')]){var _0x419c3d=_0xd5adb8[_0x1a4e('0x913')](0x0);_0x419c3d<0x100&&(_0xd5adb8=_0x419c3d);}if(void 0x0!==_0x5c89bf&&_0x1a4e('0x9')!=typeof _0x5c89bf)throw new TypeError(_0x1a4e('0xb06'));if(_0x1a4e('0x9')==typeof _0x5c89bf&&!_0x153270[_0x1a4e('0xac5')](_0x5c89bf))throw new TypeError(_0x1a4e('0xae8')+_0x5c89bf);}else _0x1a4e('0x3d')==typeof _0xd5adb8&&(_0xd5adb8&=0xff);if(_0x3a9938<0x0||this[_0x1a4e('0x1e')]<_0x3a9938||this[_0x1a4e('0x1e')]<_0x52fd08)throw new RangeError('Out\x20of\x20range\x20index');if(_0x52fd08<=_0x3a9938)return this;var _0x195ae8;if(_0x3a9938>>>=0x0,_0x52fd08=void 0x0===_0x52fd08?this['length']:_0x52fd08>>>0x0,_0xd5adb8||(_0xd5adb8=0x0),'number'==typeof _0xd5adb8)for(_0x195ae8=_0x3a9938;_0x195ae8<_0x52fd08;++_0x195ae8)this[_0x195ae8]=_0xd5adb8;else{var _0x3c5be3=_0x153270[_0x1a4e('0x871')](_0xd5adb8)?_0xd5adb8:_0xcb0cde(new _0x153270(_0xd5adb8,_0x5c89bf)['toString']()),_0x4d2c92=_0x3c5be3[_0x1a4e('0x1e')];for(_0x195ae8=0x0;_0x195ae8<_0x52fd08-_0x3a9938;++_0x195ae8)this[_0x195ae8+_0x3a9938]=_0x3c5be3[_0x195ae8%_0x4d2c92];}return this;};var _0x307014=/[^+\/0-9A-Za-z-_]/g;function _0x421e58(_0xd5adb8){return _0xd5adb8<0x10?'0'+_0xd5adb8[_0x1a4e('0x95')](0x10):_0xd5adb8[_0x1a4e('0x95')](0x10);}function _0xcb0cde(_0xd5adb8,_0x3a9938){var _0x52fd08;_0x3a9938=_0x3a9938||0x1/0x0;for(var _0x5c89bf=_0xd5adb8[_0x1a4e('0x1e')],_0x419c3d=null,_0x195ae8=[],_0x3c5be3=0x0;_0x3c5be3<_0x5c89bf;++_0x3c5be3){if((_0x52fd08=_0xd5adb8['charCodeAt'](_0x3c5be3))>0xd7ff&&_0x52fd08<0xe000){if(!_0x419c3d){if(_0x52fd08>0xdbff){(_0x3a9938-=0x3)>-0x1&&_0x195ae8[_0x1a4e('0x46')](0xef,0xbf,0xbd);continue;}if(_0x3c5be3+0x1===_0x5c89bf){(_0x3a9938-=0x3)>-0x1&&_0x195ae8[_0x1a4e('0x46')](0xef,0xbf,0xbd);continue;}_0x419c3d=_0x52fd08;continue;}if(_0x52fd08<0xdc00){(_0x3a9938-=0x3)>-0x1&&_0x195ae8['push'](0xef,0xbf,0xbd),_0x419c3d=_0x52fd08;continue;}_0x52fd08=0x10000+(_0x419c3d-0xd800<<0xa|_0x52fd08-0xdc00);}else _0x419c3d&&(_0x3a9938-=0x3)>-0x1&&_0x195ae8['push'](0xef,0xbf,0xbd);if(_0x419c3d=null,_0x52fd08<0x80){if((_0x3a9938-=0x1)<0x0)break;_0x195ae8[_0x1a4e('0x46')](_0x52fd08);}else if(_0x52fd08<0x800){if((_0x3a9938-=0x2)<0x0)break;_0x195ae8['push'](_0x52fd08>>0x6|0xc0,0x3f&_0x52fd08|0x80);}else if(_0x52fd08<0x10000){if((_0x3a9938-=0x3)<0x0)break;_0x195ae8[_0x1a4e('0x46')](_0x52fd08>>0xc|0xe0,_0x52fd08>>0x6&0x3f|0x80,0x3f&_0x52fd08|0x80);}else{if(!(_0x52fd08<0x110000))throw new Error('Invalid\x20code\x20point');if((_0x3a9938-=0x4)<0x0)break;_0x195ae8[_0x1a4e('0x46')](_0x52fd08>>0x12|0xf0,_0x52fd08>>0xc&0x3f|0x80,_0x52fd08>>0x6&0x3f|0x80,0x3f&_0x52fd08|0x80);}}return _0x195ae8;}function _0x1beae5(_0xd5adb8){return _0x5c89bf['toByteArray'](function(_0xd5adb8){if((_0xd5adb8=function(_0xd5adb8){return _0xd5adb8[_0x1a4e('0x2bd')]?_0xd5adb8[_0x1a4e('0x2bd')]():_0xd5adb8[_0x1a4e('0x115')](/^\s+|\s+$/g,'');}(_0xd5adb8)['replace'](_0x307014,''))[_0x1a4e('0x1e')]<0x2)return'';for(;_0xd5adb8[_0x1a4e('0x1e')]%0x4!=0x0;)_0xd5adb8+='=';return _0xd5adb8;}(_0xd5adb8));}function _0x35e9c5(_0xd5adb8,_0x3a9938,_0x52fd08,_0x5c89bf){for(var _0x419c3d=0x0;_0x419c3d<_0x5c89bf&&!(_0x419c3d+_0x52fd08>=_0x3a9938[_0x1a4e('0x1e')]||_0x419c3d>=_0xd5adb8[_0x1a4e('0x1e')]);++_0x419c3d)_0x3a9938[_0x419c3d+_0x52fd08]=_0xd5adb8[_0x419c3d];return _0x419c3d;}}[_0x1a4e('0x1')](this,_0x52fd08(_0x1a4e('0xb07'))));},'./node_modules/cipher-base/index.js':function(_0x41e267,_0x18f5d7,_0x34773b){var _0x1a5ca0=_0x34773b(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x2bcd51=_0x34773b(_0x1a4e('0xa9e'))[_0x1a4e('0xb08')],_0x4150f0=_0x34773b(_0x1a4e('0xb09'))[_0x1a4e('0xb0a')];function _0x13b1f6(_0x41e267){_0x2bcd51[_0x1a4e('0x1')](this),this[_0x1a4e('0xb0b')]='string'==typeof _0x41e267,this[_0x1a4e('0xb0b')]?this[_0x41e267]=this[_0x1a4e('0xb0c')]:this[_0x1a4e('0xaa')]=this[_0x1a4e('0xb0c')],this[_0x1a4e('0xa50')]&&(this[_0x1a4e('0xb0d')]=this[_0x1a4e('0xa50')],this[_0x1a4e('0xa50')]=null),this[_0x1a4e('0xb0e')]=null,this[_0x1a4e('0xb0f')]=null;}_0x34773b(_0x1a4e('0x863'))(_0x13b1f6,_0x2bcd51),_0x13b1f6[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x41e267,_0x18f5d7,_0x34773b){'string'==typeof _0x41e267&&(_0x41e267=_0x1a5ca0['from'](_0x41e267,_0x18f5d7));var _0x2bcd51=this[_0x1a4e('0xa74')](_0x41e267);return this[_0x1a4e('0xb0b')]?this:(_0x34773b&&(_0x2bcd51=this[_0x1a4e('0xb10')](_0x2bcd51,_0x34773b)),_0x2bcd51);},_0x13b1f6[_0x1a4e('0xa')]['setAutoPadding']=function(){},_0x13b1f6['prototype']['getAuthTag']=function(){throw new Error(_0x1a4e('0xb11'));},_0x13b1f6['prototype'][_0x1a4e('0xb12')]=function(){throw new Error(_0x1a4e('0xb13'));},_0x13b1f6[_0x1a4e('0xa')][_0x1a4e('0xb14')]=function(){throw new Error('trying\x20to\x20set\x20aad\x20in\x20unsupported\x20state');},_0x13b1f6[_0x1a4e('0xa')][_0x1a4e('0xb15')]=function(_0x41e267,_0x18f5d7,_0x34773b){var _0x1a5ca0;try{this['hashMode']?this[_0x1a4e('0xa74')](_0x41e267):this[_0x1a4e('0x46')](this[_0x1a4e('0xa74')](_0x41e267));}catch(_0x5e8946){_0x1a5ca0=_0x5e8946;}finally{_0x34773b(_0x1a5ca0);}},_0x13b1f6[_0x1a4e('0xa')][_0x1a4e('0xb16')]=function(_0x41e267){var _0x18f5d7;try{this[_0x1a4e('0x46')](this[_0x1a4e('0xb0d')]());}catch(_0x465186){_0x18f5d7=_0x465186;}_0x41e267(_0x18f5d7);},_0x13b1f6[_0x1a4e('0xa')]['_finalOrDigest']=function(_0x41e267){var _0x18f5d7=this[_0x1a4e('0xb0d')]()||_0x1a5ca0[_0x1a4e('0xa43')](0x0);return _0x41e267&&(_0x18f5d7=this[_0x1a4e('0xb10')](_0x18f5d7,_0x41e267,!0x0)),_0x18f5d7;},_0x13b1f6['prototype'][_0x1a4e('0xb10')]=function(_0x41e267,_0x18f5d7,_0x34773b){if(this['_decoder']||(this[_0x1a4e('0xb0e')]=new _0x4150f0(_0x18f5d7),this[_0x1a4e('0xb0f')]=_0x18f5d7),this[_0x1a4e('0xb0f')]!==_0x18f5d7)throw new Error('can\x27t\x20switch\x20encodings');var _0x1a5ca0=this['_decoder']['write'](_0x41e267);return _0x34773b&&(_0x1a5ca0+=this[_0x1a4e('0xb0e')][_0x1a4e('0xca')]()),_0x1a5ca0;},_0x41e267['exports']=_0x13b1f6;},'./node_modules/core-util-is/lib/util.js':function(_0x52219f,_0x29e5c8,_0x7c7012){(function(_0x52219f){function _0x7c7012(_0x52219f){return Object[_0x1a4e('0xa')][_0x1a4e('0x95')][_0x1a4e('0x1')](_0x52219f);}_0x29e5c8['isArray']=function(_0x52219f){return Array[_0x1a4e('0x15')]?Array[_0x1a4e('0x15')](_0x52219f):_0x1a4e('0xb17')===_0x7c7012(_0x52219f);},_0x29e5c8[_0x1a4e('0xb18')]=function(_0x52219f){return'boolean'==typeof _0x52219f;},_0x29e5c8[_0x1a4e('0x29d')]=function(_0x52219f){return null===_0x52219f;},_0x29e5c8['isNullOrUndefined']=function(_0x52219f){return null==_0x52219f;},_0x29e5c8['isNumber']=function(_0x52219f){return'number'==typeof _0x52219f;},_0x29e5c8[_0x1a4e('0xb19')]=function(_0x52219f){return _0x1a4e('0x9')==typeof _0x52219f;},_0x29e5c8[_0x1a4e('0xb1a')]=function(_0x52219f){return _0x1a4e('0xb1b')==typeof _0x52219f;},_0x29e5c8[_0x1a4e('0xb1c')]=function(_0x52219f){return void 0x0===_0x52219f;},_0x29e5c8[_0x1a4e('0xb1d')]=function(_0x52219f){return _0x1a4e('0xb1e')===_0x7c7012(_0x52219f);},_0x29e5c8['isObject']=function(_0x52219f){return _0x1a4e('0x85')==typeof _0x52219f&&null!==_0x52219f;},_0x29e5c8[_0x1a4e('0xb1f')]=function(_0x52219f){return _0x1a4e('0xb20')===_0x7c7012(_0x52219f);},_0x29e5c8[_0x1a4e('0x8b4')]=function(_0x52219f){return'[object\x20Error]'===_0x7c7012(_0x52219f)||_0x52219f instanceof Error;},_0x29e5c8[_0x1a4e('0xb21')]=function(_0x52219f){return _0x1a4e('0x68')==typeof _0x52219f;},_0x29e5c8['isPrimitive']=function(_0x52219f){return null===_0x52219f||_0x1a4e('0x34b')==typeof _0x52219f||_0x1a4e('0x3d')==typeof _0x52219f||'string'==typeof _0x52219f||_0x1a4e('0xb1b')==typeof _0x52219f||void 0x0===_0x52219f;},_0x29e5c8[_0x1a4e('0x871')]=_0x52219f[_0x1a4e('0x871')];}[_0x1a4e('0x1')](this,_0x7c7012(_0x1a4e('0x86f'))['Buffer']));},'./node_modules/create-ecdh/browser.js':function(_0x5a23cb,_0x7257c0,_0x514797){(function(_0x7257c0){var _0x594258=_0x514797(_0x1a4e('0xab6')),_0x3798b8=_0x514797('./node_modules/bn.js/lib/bn.js');_0x5a23cb[_0x1a4e('0x0')]=function(_0x5a23cb){return new _0x49e909(_0x5a23cb);};var _0x7f0b31={'secp256k1':{'name':'secp256k1','byteLength':0x20},'secp224r1':{'name':_0x1a4e('0xa0d'),'byteLength':0x1c},'prime256v1':{'name':_0x1a4e('0xb22'),'byteLength':0x20},'prime192v1':{'name':_0x1a4e('0xa0f'),'byteLength':0x18},'ed25519':{'name':_0x1a4e('0xb23'),'byteLength':0x20},'secp384r1':{'name':'p384','byteLength':0x30},'secp521r1':{'name':_0x1a4e('0xb24'),'byteLength':0x42}};function _0x49e909(_0x5a23cb){this[_0x1a4e('0xb25')]=_0x7f0b31[_0x5a23cb],this[_0x1a4e('0xb25')]||(this[_0x1a4e('0xb25')]={'name':_0x5a23cb}),this[_0x1a4e('0xab0')]=new _0x594258['ec'](this[_0x1a4e('0xb25')][_0x1a4e('0x2cb')]),this[_0x1a4e('0x56')]=void 0x0;}function _0x1e0bd3(_0x5a23cb,_0x514797,_0x594258){Array[_0x1a4e('0x15')](_0x5a23cb)||(_0x5a23cb=_0x5a23cb[_0x1a4e('0x347')]());var _0x3798b8=new _0x7257c0(_0x5a23cb);if(_0x594258&&_0x3798b8[_0x1a4e('0x1e')]<_0x594258){var _0x7f0b31=new _0x7257c0(_0x594258-_0x3798b8[_0x1a4e('0x1e')]);_0x7f0b31['fill'](0x0),_0x3798b8=_0x7257c0[_0x1a4e('0x9a')]([_0x7f0b31,_0x3798b8]);}return _0x514797?_0x3798b8['toString'](_0x514797):_0x3798b8;}_0x7f0b31[_0x1a4e('0xa0d')]=_0x7f0b31[_0x1a4e('0xb26')],_0x7f0b31[_0x1a4e('0xb22')]=_0x7f0b31[_0x1a4e('0xb27')]=_0x7f0b31[_0x1a4e('0xb28')],_0x7f0b31[_0x1a4e('0xa0f')]=_0x7f0b31[_0x1a4e('0xb29')]=_0x7f0b31[_0x1a4e('0xb2a')],_0x7f0b31[_0x1a4e('0xb2b')]=_0x7f0b31[_0x1a4e('0xb2c')],_0x7f0b31[_0x1a4e('0xb24')]=_0x7f0b31[_0x1a4e('0xb2d')],_0x49e909[_0x1a4e('0xa')]['generateKeys']=function(_0x5a23cb,_0x7257c0){return this[_0x1a4e('0x56')]=this[_0x1a4e('0xab0')][_0x1a4e('0xb2e')](),this[_0x1a4e('0xb2f')](_0x5a23cb,_0x7257c0);},_0x49e909[_0x1a4e('0xa')]['computeSecret']=function(_0x5a23cb,_0x514797,_0x594258){return _0x514797=_0x514797||_0x1a4e('0xac4'),_0x7257c0[_0x1a4e('0x871')](_0x5a23cb)||(_0x5a23cb=new _0x7257c0(_0x5a23cb,_0x514797)),_0x1e0bd3(this[_0x1a4e('0xab0')][_0x1a4e('0xb30')](_0x5a23cb)[_0x1a4e('0xb31')]()[_0x1a4e('0x9c3')](this[_0x1a4e('0x56')][_0x1a4e('0xb32')]())['getX'](),_0x594258,this[_0x1a4e('0xb25')][_0x1a4e('0x876')]);},_0x49e909['prototype'][_0x1a4e('0xb2f')]=function(_0x5a23cb,_0x7257c0){var _0x514797=this[_0x1a4e('0x56')]['getPublic'](_0x1a4e('0xb33')===_0x7257c0,!0x0);return'hybrid'===_0x7257c0&&(_0x514797[_0x514797[_0x1a4e('0x1e')]-0x1]%0x2?_0x514797[0x0]=0x7:_0x514797[0x0]=0x6),_0x1e0bd3(_0x514797,_0x5a23cb);},_0x49e909[_0x1a4e('0xa')][_0x1a4e('0xb34')]=function(_0x5a23cb){return _0x1e0bd3(this['keys'][_0x1a4e('0xb32')](),_0x5a23cb);},_0x49e909['prototype'][_0x1a4e('0xb35')]=function(_0x5a23cb,_0x514797){return _0x514797=_0x514797||_0x1a4e('0xac4'),_0x7257c0['isBuffer'](_0x5a23cb)||(_0x5a23cb=new _0x7257c0(_0x5a23cb,_0x514797)),this[_0x1a4e('0x56')][_0x1a4e('0xb36')](_0x5a23cb),this;},_0x49e909[_0x1a4e('0xa')][_0x1a4e('0xb37')]=function(_0x5a23cb,_0x514797){_0x514797=_0x514797||_0x1a4e('0xac4'),_0x7257c0['isBuffer'](_0x5a23cb)||(_0x5a23cb=new _0x7257c0(_0x5a23cb,_0x514797));var _0x594258=new _0x3798b8(_0x5a23cb);return _0x594258=_0x594258['toString'](0x10),this['keys']=this[_0x1a4e('0xab0')][_0x1a4e('0xb2e')](),this[_0x1a4e('0x56')][_0x1a4e('0xb38')](_0x594258),this;};}['call'](this,_0x514797('./node_modules/buffer/index.js')[_0x1a4e('0x870')]));},'./node_modules/create-hash/browser.js':function(_0x22e111,_0x5a3c15,_0x455d30){'use strict';var _0x304717=_0x455d30(_0x1a4e('0x863')),_0x42e7f6=_0x455d30(_0x1a4e('0xb39')),_0x12e55c=_0x455d30(_0x1a4e('0xb3a')),_0x434727=_0x455d30(_0x1a4e('0xb3b')),_0x129f5a=_0x455d30(_0x1a4e('0xa40'));function _0x3c1fce(_0x22e111){_0x129f5a[_0x1a4e('0x1')](this,_0x1a4e('0xaa9')),this['_hash']=_0x22e111;}_0x304717(_0x3c1fce,_0x129f5a),_0x3c1fce[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(_0x22e111){this[_0x1a4e('0xaa7')]['update'](_0x22e111);},_0x3c1fce[_0x1a4e('0xa')][_0x1a4e('0xa50')]=function(){return this[_0x1a4e('0xaa7')][_0x1a4e('0xaa9')]();},_0x22e111['exports']=function(_0x22e111){return _0x1a4e('0xb3c')===(_0x22e111=_0x22e111[_0x1a4e('0x2b2')]())?new _0x42e7f6():_0x1a4e('0xb3d')===_0x22e111||_0x1a4e('0xb3e')===_0x22e111?new _0x12e55c():new _0x3c1fce(_0x434727(_0x22e111));};},'./node_modules/create-hash/md5.js':function(_0x57db59,_0x1e0a4f,_0x2f559a){var _0x5526dc=_0x2f559a(_0x1a4e('0xb39'));_0x57db59[_0x1a4e('0x0')]=function(_0x57db59){return new _0x5526dc()[_0x1a4e('0x937')](_0x57db59)[_0x1a4e('0xaa9')]();};},'./node_modules/create-hmac/browser.js':function(_0x26a45e,_0x6f53f3,_0x290c0a){'use strict';var _0x5018c9=_0x290c0a('./node_modules/inherits/inherits_browser.js'),_0x423660=_0x290c0a('./node_modules/create-hmac/legacy.js'),_0x28621a=_0x290c0a('./node_modules/cipher-base/index.js'),_0x1e2efc=_0x290c0a(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x12ad30=_0x290c0a('./node_modules/create-hash/md5.js'),_0x4df077=_0x290c0a(_0x1a4e('0xb3a')),_0x4761e4=_0x290c0a('./node_modules/sha.js/index.js'),_0x1ea36c=_0x1e2efc[_0x1a4e('0xa43')](0x80);function _0x30e951(_0x26a45e,_0x6f53f3){_0x28621a[_0x1a4e('0x1')](this,'digest'),_0x1a4e('0x9')==typeof _0x6f53f3&&(_0x6f53f3=_0x1e2efc[_0x1a4e('0x1b5')](_0x6f53f3));var _0x290c0a=_0x1a4e('0xb3f')===_0x26a45e||_0x1a4e('0xb40')===_0x26a45e?0x80:0x40;(this[_0x1a4e('0xb41')]=_0x26a45e,this['_key']=_0x6f53f3,_0x6f53f3[_0x1a4e('0x1e')]>_0x290c0a)?_0x6f53f3=('rmd160'===_0x26a45e?new _0x4df077():_0x4761e4(_0x26a45e))[_0x1a4e('0x937')](_0x6f53f3)[_0x1a4e('0xaa9')]():_0x6f53f3[_0x1a4e('0x1e')]<_0x290c0a&&(_0x6f53f3=_0x1e2efc['concat']([_0x6f53f3,_0x1ea36c],_0x290c0a));for(var _0x5018c9=this['_ipad']=_0x1e2efc[_0x1a4e('0xa3c')](_0x290c0a),_0x423660=this[_0x1a4e('0xb42')]=_0x1e2efc['allocUnsafe'](_0x290c0a),_0x12ad30=0x0;_0x12ad30<_0x290c0a;_0x12ad30++)_0x5018c9[_0x12ad30]=0x36^_0x6f53f3[_0x12ad30],_0x423660[_0x12ad30]=0x5c^_0x6f53f3[_0x12ad30];this['_hash']=_0x1a4e('0xb3d')===_0x26a45e?new _0x4df077():_0x4761e4(_0x26a45e),this[_0x1a4e('0xaa7')][_0x1a4e('0x937')](_0x5018c9);}_0x5018c9(_0x30e951,_0x28621a),_0x30e951[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(_0x26a45e){this['_hash'][_0x1a4e('0x937')](_0x26a45e);},_0x30e951[_0x1a4e('0xa')][_0x1a4e('0xa50')]=function(){var _0x26a45e=this[_0x1a4e('0xaa7')][_0x1a4e('0xaa9')]();return('rmd160'===this[_0x1a4e('0xb41')]?new _0x4df077():_0x4761e4(this[_0x1a4e('0xb41')]))[_0x1a4e('0x937')](this['_opad'])[_0x1a4e('0x937')](_0x26a45e)['digest']();},_0x26a45e[_0x1a4e('0x0')]=function(_0x26a45e,_0x6f53f3){return _0x1a4e('0xb3d')===(_0x26a45e=_0x26a45e['toLowerCase']())||_0x1a4e('0xb3e')===_0x26a45e?new _0x30e951(_0x1a4e('0xb3d'),_0x6f53f3):'md5'===_0x26a45e?new _0x423660(_0x12ad30,_0x6f53f3):new _0x30e951(_0x26a45e,_0x6f53f3);};},'./node_modules/create-hmac/legacy.js':function(_0x2ebaee,_0x23f375,_0x4ab23d){'use strict';var _0x53e611=_0x4ab23d(_0x1a4e('0x863')),_0x5cf42b=_0x4ab23d(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0xac5aa4=_0x4ab23d(_0x1a4e('0xa40')),_0xff5515=_0x5cf42b['alloc'](0x80),_0x579762=0x40;function _0x3cc1a8(_0x2ebaee,_0x23f375){_0xac5aa4[_0x1a4e('0x1')](this,_0x1a4e('0xaa9')),_0x1a4e('0x9')==typeof _0x23f375&&(_0x23f375=_0x5cf42b['from'](_0x23f375)),this['_alg']=_0x2ebaee,this[_0x1a4e('0xa2f')]=_0x23f375,_0x23f375[_0x1a4e('0x1e')]>_0x579762?_0x23f375=_0x2ebaee(_0x23f375):_0x23f375[_0x1a4e('0x1e')]<_0x579762&&(_0x23f375=_0x5cf42b[_0x1a4e('0x9a')]([_0x23f375,_0xff5515],_0x579762));for(var _0x4ab23d=this[_0x1a4e('0xb43')]=_0x5cf42b[_0x1a4e('0xa3c')](_0x579762),_0x53e611=this[_0x1a4e('0xb42')]=_0x5cf42b['allocUnsafe'](_0x579762),_0x3cc1a8=0x0;_0x3cc1a8<_0x579762;_0x3cc1a8++)_0x4ab23d[_0x3cc1a8]=0x36^_0x23f375[_0x3cc1a8],_0x53e611[_0x3cc1a8]=0x5c^_0x23f375[_0x3cc1a8];this['_hash']=[_0x4ab23d];}_0x53e611(_0x3cc1a8,_0xac5aa4),_0x3cc1a8[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(_0x2ebaee){this[_0x1a4e('0xaa7')][_0x1a4e('0x46')](_0x2ebaee);},_0x3cc1a8['prototype']['_final']=function(){var _0x2ebaee=this[_0x1a4e('0xb41')](_0x5cf42b[_0x1a4e('0x9a')](this['_hash']));return this[_0x1a4e('0xb41')](_0x5cf42b[_0x1a4e('0x9a')]([this[_0x1a4e('0xb42')],_0x2ebaee]));},_0x2ebaee[_0x1a4e('0x0')]=_0x3cc1a8;},'./node_modules/crypto-browserify/index.js':function(_0x49db9e,_0x6a4813,_0x22d076){'use strict';_0x6a4813[_0x1a4e('0xa2b')]=_0x6a4813[_0x1a4e('0xb44')]=_0x6a4813[_0x1a4e('0xb45')]=_0x6a4813[_0x1a4e('0xb46')]=_0x22d076('./node_modules/randombytes/browser.js'),_0x6a4813[_0x1a4e('0xb47')]=_0x6a4813[_0x1a4e('0xb48')]=_0x22d076(_0x1a4e('0xa9d')),_0x6a4813[_0x1a4e('0xb49')]=_0x6a4813['Hmac']=_0x22d076(_0x1a4e('0xaab'));var _0x3f9d8a=_0x22d076(_0x1a4e('0xb4a')),_0x27c174=Object[_0x1a4e('0x56')](_0x3f9d8a),_0x55378e=[_0x1a4e('0xb4b'),'sha224',_0x1a4e('0xb4c'),_0x1a4e('0xb40'),_0x1a4e('0xb3f'),_0x1a4e('0xb3c'),_0x1a4e('0xb3d')][_0x1a4e('0x9a')](_0x27c174);_0x6a4813[_0x1a4e('0xb4d')]=function(){return _0x55378e;};var _0x1e071b=_0x22d076('./node_modules/pbkdf2/browser.js');_0x6a4813[_0x1a4e('0xb4e')]=_0x1e071b['pbkdf2'],_0x6a4813['pbkdf2Sync']=_0x1e071b[_0x1a4e('0xb4f')];var _0x3e7f76=_0x22d076('./node_modules/browserify-cipher/browser.js');_0x6a4813[_0x1a4e('0xa59')]=_0x3e7f76[_0x1a4e('0xa59')],_0x6a4813[_0x1a4e('0xa58')]=_0x3e7f76[_0x1a4e('0xa58')],_0x6a4813['Cipheriv']=_0x3e7f76[_0x1a4e('0xa84')],_0x6a4813[_0x1a4e('0xa5a')]=_0x3e7f76['createCipheriv'],_0x6a4813[_0x1a4e('0xa5c')]=_0x3e7f76[_0x1a4e('0xa5c')],_0x6a4813['createDecipher']=_0x3e7f76['createDecipher'],_0x6a4813[_0x1a4e('0xa5e')]=_0x3e7f76[_0x1a4e('0xa5e')],_0x6a4813[_0x1a4e('0xa5d')]=_0x3e7f76['createDecipheriv'],_0x6a4813[_0x1a4e('0xa60')]=_0x3e7f76[_0x1a4e('0xa60')],_0x6a4813['listCiphers']=_0x3e7f76[_0x1a4e('0xa5f')];var _0x314577=_0x22d076(_0x1a4e('0xb50'));_0x6a4813[_0x1a4e('0xb51')]=_0x314577[_0x1a4e('0xb51')],_0x6a4813[_0x1a4e('0xb52')]=_0x314577[_0x1a4e('0xb52')],_0x6a4813['getDiffieHellman']=_0x314577['getDiffieHellman'],_0x6a4813[_0x1a4e('0xb53')]=_0x314577['createDiffieHellman'],_0x6a4813['DiffieHellman']=_0x314577[_0x1a4e('0xb54')];var _0x47f4b0=_0x22d076(_0x1a4e('0xb55'));_0x6a4813[_0x1a4e('0xb56')]=_0x47f4b0['createSign'],_0x6a4813['Sign']=_0x47f4b0[_0x1a4e('0xb57')],_0x6a4813['createVerify']=_0x47f4b0[_0x1a4e('0xb58')],_0x6a4813['Verify']=_0x47f4b0[_0x1a4e('0xb59')],_0x6a4813[_0x1a4e('0xb5a')]=_0x22d076(_0x1a4e('0xb5b'));var _0x2ea86e=_0x22d076(_0x1a4e('0xb5c'));_0x6a4813['publicEncrypt']=_0x2ea86e[_0x1a4e('0xb5d')],_0x6a4813['privateEncrypt']=_0x2ea86e[_0x1a4e('0xb5e')],_0x6a4813[_0x1a4e('0xb5f')]=_0x2ea86e[_0x1a4e('0xb5f')],_0x6a4813[_0x1a4e('0xb60')]=_0x2ea86e['privateDecrypt'];var _0xcb64c8=_0x22d076(_0x1a4e('0xb61'));_0x6a4813[_0x1a4e('0xb62')]=_0xcb64c8[_0x1a4e('0xb62')],_0x6a4813[_0x1a4e('0xb63')]=_0xcb64c8['randomFillSync'],_0x6a4813[_0x1a4e('0xb64')]=function(){throw new Error(['sorry,\x20createCredentials\x20is\x20not\x20implemented\x20yet',_0x1a4e('0xb65'),_0x1a4e('0xb66')]['join']('\x0a'));},_0x6a4813[_0x1a4e('0x860')]={'DH_CHECK_P_NOT_SAFE_PRIME':0x2,'DH_CHECK_P_NOT_PRIME':0x1,'DH_UNABLE_TO_CHECK_GENERATOR':0x4,'DH_NOT_SUITABLE_GENERATOR':0x8,'NPN_ENABLED':0x1,'ALPN_ENABLED':0x1,'RSA_PKCS1_PADDING':0x1,'RSA_SSLV23_PADDING':0x2,'RSA_NO_PADDING':0x3,'RSA_PKCS1_OAEP_PADDING':0x4,'RSA_X931_PADDING':0x5,'RSA_PKCS1_PSS_PADDING':0x6,'POINT_CONVERSION_COMPRESSED':0x2,'POINT_CONVERSION_UNCOMPRESSED':0x4,'POINT_CONVERSION_HYBRID':0x6};},'./node_modules/des.js/lib/des.js':function(_0x2acf9c,_0x1c5e57,_0xaa0995){'use strict';_0x1c5e57['utils']=_0xaa0995(_0x1a4e('0xb67')),_0x1c5e57[_0x1a4e('0xa59')]=_0xaa0995(_0x1a4e('0xb68')),_0x1c5e57[_0x1a4e('0xa87')]=_0xaa0995(_0x1a4e('0xb69')),_0x1c5e57[_0x1a4e('0xa85')]=_0xaa0995('./node_modules/des.js/lib/des/cbc.js'),_0x1c5e57[_0x1a4e('0xa86')]=_0xaa0995(_0x1a4e('0xb6a'));},'./node_modules/des.js/lib/des/cbc.js':function(_0x3a21ac,_0x325927,_0xd2449a){'use strict';var _0x5b2a08=_0xd2449a(_0x1a4e('0xb6b')),_0xdaf392=_0xd2449a(_0x1a4e('0x863')),_0xa12c64={};function _0x4696cd(_0x3a21ac){_0x5b2a08['equal'](_0x3a21ac[_0x1a4e('0x1e')],0x8,'Invalid\x20IV\x20length'),this['iv']=new Array(0x8);for(var _0x325927=0x0;_0x3259270x0;_0x2577cc--)_0x3d3f4a+=this['_buffer'](_0x5399e6,_0x3d3f4a),_0x2080ae+=this['_flushBuffer'](_0x3ada9f,_0x2080ae);return _0x3d3f4a+=this[_0x1a4e('0xb71')](_0x5399e6,_0x3d3f4a),_0x3ada9f;},_0x3ada9f['prototype']['final']=function(_0x5399e6){var _0x3d3f4a,_0x2080ae;return _0x5399e6&&(_0x3d3f4a=this[_0x1a4e('0x937')](_0x5399e6)),_0x2080ae=_0x1a4e('0xa4f')===this[_0x1a4e('0x40')]?this[_0x1a4e('0xb73')]():this[_0x1a4e('0xb74')](),_0x3d3f4a?_0x3d3f4a[_0x1a4e('0x9a')](_0x2080ae):_0x2080ae;},_0x3ada9f[_0x1a4e('0xa')]['_pad']=function(_0x5399e6,_0x3d3f4a){if(0x0===_0x3d3f4a)return!0x1;for(;_0x3d3f4a<_0x5399e6[_0x1a4e('0x1e')];)_0x5399e6[_0x3d3f4a++]=0x0;return!0x0;},_0x3ada9f[_0x1a4e('0xa')][_0x1a4e('0xb73')]=function(){if(!this[_0x1a4e('0xb75')](this[_0x1a4e('0x613')],this[_0x1a4e('0xb6e')]))return[];var _0x5399e6=new Array(this['blockSize']);return this[_0x1a4e('0xa74')](this[_0x1a4e('0x613')],0x0,_0x5399e6,0x0),_0x5399e6;},_0x3ada9f['prototype'][_0x1a4e('0xb76')]=function(_0x5399e6){return _0x5399e6;},_0x3ada9f[_0x1a4e('0xa')][_0x1a4e('0xb74')]=function(){_0x2577cc['equal'](this[_0x1a4e('0xb6e')],this[_0x1a4e('0xa31')],_0x1a4e('0xb77'));var _0x5399e6=new Array(this['blockSize']);return this[_0x1a4e('0xb72')](_0x5399e6,0x0),this[_0x1a4e('0xb76')](_0x5399e6);};},'./node_modules/des.js/lib/des/des.js':function(_0x46471c,_0x4ad63f,_0x4d186a){'use strict';var _0x2936f2=_0x4d186a(_0x1a4e('0xb6b')),_0xe38bda=_0x4d186a(_0x1a4e('0x863')),_0x46b23a=_0x4d186a(_0x1a4e('0xb78')),_0x1b601a=_0x46b23a[_0x1a4e('0xb79')],_0x33846c=_0x46b23a[_0x1a4e('0xa59')];function _0x4dc2ea(){this[_0x1a4e('0xa09')]=new Array(0x2),this[_0x1a4e('0x56')]=null;}function _0xff4bb7(_0x46471c){_0x33846c[_0x1a4e('0x1')](this,_0x46471c);var _0x4ad63f=new _0x4dc2ea();this[_0x1a4e('0xb7a')]=_0x4ad63f,this[_0x1a4e('0xb7b')](_0x4ad63f,_0x46471c[_0x1a4e('0x35f')]);}_0xe38bda(_0xff4bb7,_0x33846c),_0x46471c['exports']=_0xff4bb7,_0xff4bb7[_0x1a4e('0x7')]=function(_0x46471c){return new _0xff4bb7(_0x46471c);};var _0x5a431b=[0x1,0x1,0x2,0x2,0x2,0x2,0x2,0x2,0x1,0x2,0x2,0x2,0x2,0x2,0x2,0x1];_0xff4bb7[_0x1a4e('0xa')]['deriveKeys']=function(_0x46471c,_0x4ad63f){_0x46471c['keys']=new Array(0x20),_0x2936f2[_0x1a4e('0x39e')](_0x4ad63f[_0x1a4e('0x1e')],this[_0x1a4e('0xa31')],_0x1a4e('0xb7c'));var _0x4d186a=_0x1b601a[_0x1a4e('0xa2e')](_0x4ad63f,0x0),_0xe38bda=_0x1b601a['readUInt32BE'](_0x4ad63f,0x4);_0x1b601a[_0x1a4e('0xb7d')](_0x4d186a,_0xe38bda,_0x46471c[_0x1a4e('0xa09')],0x0),_0x4d186a=_0x46471c['tmp'][0x0],_0xe38bda=_0x46471c[_0x1a4e('0xa09')][0x1];for(var _0x46b23a=0x0;_0x46b23a<_0x46471c['keys'][_0x1a4e('0x1e')];_0x46b23a+=0x2){var _0x33846c=_0x5a431b[_0x46b23a>>>0x1];_0x4d186a=_0x1b601a[_0x1a4e('0xb7e')](_0x4d186a,_0x33846c),_0xe38bda=_0x1b601a[_0x1a4e('0xb7e')](_0xe38bda,_0x33846c),_0x1b601a['pc2'](_0x4d186a,_0xe38bda,_0x46471c[_0x1a4e('0x56')],_0x46b23a);}},_0xff4bb7[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(_0x46471c,_0x4ad63f,_0x4d186a,_0x2936f2){var _0xe38bda=this[_0x1a4e('0xb7a')],_0x46b23a=_0x1b601a['readUInt32BE'](_0x46471c,_0x4ad63f),_0x33846c=_0x1b601a[_0x1a4e('0xa2e')](_0x46471c,_0x4ad63f+0x4);_0x1b601a['ip'](_0x46b23a,_0x33846c,_0xe38bda['tmp'],0x0),_0x46b23a=_0xe38bda[_0x1a4e('0xa09')][0x0],_0x33846c=_0xe38bda[_0x1a4e('0xa09')][0x1],_0x1a4e('0xa4f')===this['type']?this[_0x1a4e('0xb7f')](_0xe38bda,_0x46b23a,_0x33846c,_0xe38bda['tmp'],0x0):this[_0x1a4e('0xa51')](_0xe38bda,_0x46b23a,_0x33846c,_0xe38bda[_0x1a4e('0xa09')],0x0),_0x46b23a=_0xe38bda['tmp'][0x0],_0x33846c=_0xe38bda['tmp'][0x1],_0x1b601a[_0x1a4e('0xa39')](_0x4d186a,_0x46b23a,_0x2936f2),_0x1b601a[_0x1a4e('0xa39')](_0x4d186a,_0x33846c,_0x2936f2+0x4);},_0xff4bb7['prototype'][_0x1a4e('0xb75')]=function(_0x46471c,_0x4ad63f){for(var _0x4d186a=_0x46471c[_0x1a4e('0x1e')]-_0x4ad63f,_0x2936f2=_0x4ad63f;_0x2936f2<_0x46471c[_0x1a4e('0x1e')];_0x2936f2++)_0x46471c[_0x2936f2]=_0x4d186a;return!0x0;},_0xff4bb7[_0x1a4e('0xa')][_0x1a4e('0xb76')]=function(_0x46471c){for(var _0x4ad63f=_0x46471c[_0x46471c[_0x1a4e('0x1e')]-0x1],_0x4d186a=_0x46471c['length']-_0x4ad63f;_0x4d186a<_0x46471c[_0x1a4e('0x1e')];_0x4d186a++)_0x2936f2[_0x1a4e('0x39e')](_0x46471c[_0x4d186a],_0x4ad63f);return _0x46471c[_0x1a4e('0x78')](0x0,_0x46471c[_0x1a4e('0x1e')]-_0x4ad63f);},_0xff4bb7[_0x1a4e('0xa')]['_encrypt']=function(_0x46471c,_0x4ad63f,_0x4d186a,_0x2936f2,_0xe38bda){for(var _0x46b23a=_0x4ad63f,_0x33846c=_0x4d186a,_0x4dc2ea=0x0;_0x4dc2ea<_0x46471c['keys'][_0x1a4e('0x1e')];_0x4dc2ea+=0x2){var _0xff4bb7=_0x46471c[_0x1a4e('0x56')][_0x4dc2ea],_0x5a431b=_0x46471c[_0x1a4e('0x56')][_0x4dc2ea+0x1];_0x1b601a[_0x1a4e('0x4b9')](_0x33846c,_0x46471c[_0x1a4e('0xa09')],0x0),_0xff4bb7^=_0x46471c[_0x1a4e('0xa09')][0x0],_0x5a431b^=_0x46471c[_0x1a4e('0xa09')][0x1];var _0x5d80ed=_0x1b601a[_0x1a4e('0xb80')](_0xff4bb7,_0x5a431b),_0x46542f=_0x33846c;_0x33846c=(_0x46b23a^_0x1b601a[_0x1a4e('0xb81')](_0x5d80ed))>>>0x0,_0x46b23a=_0x46542f;}_0x1b601a[_0x1a4e('0xb82')](_0x33846c,_0x46b23a,_0x2936f2,_0xe38bda);},_0xff4bb7[_0x1a4e('0xa')][_0x1a4e('0xa51')]=function(_0x46471c,_0x4ad63f,_0x4d186a,_0x2936f2,_0xe38bda){for(var _0x46b23a=_0x4d186a,_0x33846c=_0x4ad63f,_0x4dc2ea=_0x46471c['keys']['length']-0x2;_0x4dc2ea>=0x0;_0x4dc2ea-=0x2){var _0xff4bb7=_0x46471c[_0x1a4e('0x56')][_0x4dc2ea],_0x5a431b=_0x46471c['keys'][_0x4dc2ea+0x1];_0x1b601a[_0x1a4e('0x4b9')](_0x46b23a,_0x46471c[_0x1a4e('0xa09')],0x0),_0xff4bb7^=_0x46471c[_0x1a4e('0xa09')][0x0],_0x5a431b^=_0x46471c[_0x1a4e('0xa09')][0x1];var _0x15b2c4=_0x1b601a[_0x1a4e('0xb80')](_0xff4bb7,_0x5a431b),_0x12f3d9=_0x46b23a;_0x46b23a=(_0x33846c^_0x1b601a[_0x1a4e('0xb81')](_0x15b2c4))>>>0x0,_0x33846c=_0x12f3d9;}_0x1b601a[_0x1a4e('0xb82')](_0x46b23a,_0x33846c,_0x2936f2,_0xe38bda);};},'./node_modules/des.js/lib/des/ede.js':function(_0x2d1b95,_0x2cedc1,_0x2ab9be){'use strict';var _0x53a47c=_0x2ab9be(_0x1a4e('0xb6b')),_0x1626d3=_0x2ab9be(_0x1a4e('0x863')),_0x510b87=_0x2ab9be(_0x1a4e('0xb78')),_0x45220f=_0x510b87[_0x1a4e('0xa59')],_0x58a23a=_0x510b87['DES'];function _0xd36ae0(_0x2d1b95,_0x2cedc1){_0x53a47c[_0x1a4e('0x39e')](_0x2cedc1[_0x1a4e('0x1e')],0x18,_0x1a4e('0xb7c'));var _0x2ab9be=_0x2cedc1[_0x1a4e('0x78')](0x0,0x8),_0x1626d3=_0x2cedc1[_0x1a4e('0x78')](0x8,0x10),_0x510b87=_0x2cedc1[_0x1a4e('0x78')](0x10,0x18);this[_0x1a4e('0xb83')]='encrypt'===_0x2d1b95?[_0x58a23a[_0x1a4e('0x7')]({'type':_0x1a4e('0xa4f'),'key':_0x2ab9be}),_0x58a23a[_0x1a4e('0x7')]({'type':_0x1a4e('0xa6e'),'key':_0x1626d3}),_0x58a23a[_0x1a4e('0x7')]({'type':_0x1a4e('0xa4f'),'key':_0x510b87})]:[_0x58a23a['create']({'type':'decrypt','key':_0x510b87}),_0x58a23a[_0x1a4e('0x7')]({'type':'encrypt','key':_0x1626d3}),_0x58a23a[_0x1a4e('0x7')]({'type':'decrypt','key':_0x2ab9be})];}function _0x2c5198(_0x2d1b95){_0x45220f['call'](this,_0x2d1b95);var _0x2cedc1=new _0xd36ae0(this[_0x1a4e('0x40')],this['options'][_0x1a4e('0x35f')]);this['_edeState']=_0x2cedc1;}_0x1626d3(_0x2c5198,_0x45220f),_0x2d1b95[_0x1a4e('0x0')]=_0x2c5198,_0x2c5198[_0x1a4e('0x7')]=function(_0x2d1b95){return new _0x2c5198(_0x2d1b95);},_0x2c5198['prototype']['_update']=function(_0x2d1b95,_0x2cedc1,_0x2ab9be,_0x53a47c){var _0x1626d3=this['_edeState'];_0x1626d3[_0x1a4e('0xb83')][0x0][_0x1a4e('0xa74')](_0x2d1b95,_0x2cedc1,_0x2ab9be,_0x53a47c),_0x1626d3[_0x1a4e('0xb83')][0x1][_0x1a4e('0xa74')](_0x2ab9be,_0x53a47c,_0x2ab9be,_0x53a47c),_0x1626d3[_0x1a4e('0xb83')][0x2][_0x1a4e('0xa74')](_0x2ab9be,_0x53a47c,_0x2ab9be,_0x53a47c);},_0x2c5198[_0x1a4e('0xa')]['_pad']=_0x58a23a['prototype']['_pad'],_0x2c5198[_0x1a4e('0xa')][_0x1a4e('0xb76')]=_0x58a23a['prototype'][_0x1a4e('0xb76')];},'./node_modules/des.js/lib/des/utils.js':function(_0x70310a,_0x2afe2e,_0xc02d88){'use strict';_0x2afe2e[_0x1a4e('0xa2e')]=function(_0x70310a,_0x2afe2e){return(_0x70310a[0x0+_0x2afe2e]<<0x18|_0x70310a[0x1+_0x2afe2e]<<0x10|_0x70310a[0x2+_0x2afe2e]<<0x8|_0x70310a[0x3+_0x2afe2e])>>>0x0;},_0x2afe2e[_0x1a4e('0xa39')]=function(_0x70310a,_0x2afe2e,_0xc02d88){_0x70310a[0x0+_0xc02d88]=_0x2afe2e>>>0x18,_0x70310a[0x1+_0xc02d88]=_0x2afe2e>>>0x10&0xff,_0x70310a[0x2+_0xc02d88]=_0x2afe2e>>>0x8&0xff,_0x70310a[0x3+_0xc02d88]=0xff&_0x2afe2e;},_0x2afe2e['ip']=function(_0x70310a,_0x2afe2e,_0xc02d88,_0x307e66){for(var _0x38b937=0x0,_0x133665=0x0,_0x50fccd=0x6;_0x50fccd>=0x0;_0x50fccd-=0x2){for(var _0x17a8fa=0x0;_0x17a8fa<=0x18;_0x17a8fa+=0x8)_0x38b937<<=0x1,_0x38b937|=_0x2afe2e>>>_0x17a8fa+_0x50fccd&0x1;for(_0x17a8fa=0x0;_0x17a8fa<=0x18;_0x17a8fa+=0x8)_0x38b937<<=0x1,_0x38b937|=_0x70310a>>>_0x17a8fa+_0x50fccd&0x1;}for(_0x50fccd=0x6;_0x50fccd>=0x0;_0x50fccd-=0x2){for(_0x17a8fa=0x1;_0x17a8fa<=0x19;_0x17a8fa+=0x8)_0x133665<<=0x1,_0x133665|=_0x2afe2e>>>_0x17a8fa+_0x50fccd&0x1;for(_0x17a8fa=0x1;_0x17a8fa<=0x19;_0x17a8fa+=0x8)_0x133665<<=0x1,_0x133665|=_0x70310a>>>_0x17a8fa+_0x50fccd&0x1;}_0xc02d88[_0x307e66+0x0]=_0x38b937>>>0x0,_0xc02d88[_0x307e66+0x1]=_0x133665>>>0x0;},_0x2afe2e[_0x1a4e('0xb82')]=function(_0x70310a,_0x2afe2e,_0xc02d88,_0x198956){for(var _0x4359ec=0x0,_0x1d3173=0x0,_0xf1b872=0x0;_0xf1b872<0x4;_0xf1b872++)for(var _0x7970e3=0x18;_0x7970e3>=0x0;_0x7970e3-=0x8)_0x4359ec<<=0x1,_0x4359ec|=_0x2afe2e>>>_0x7970e3+_0xf1b872&0x1,_0x4359ec<<=0x1,_0x4359ec|=_0x70310a>>>_0x7970e3+_0xf1b872&0x1;for(_0xf1b872=0x4;_0xf1b872<0x8;_0xf1b872++)for(_0x7970e3=0x18;_0x7970e3>=0x0;_0x7970e3-=0x8)_0x1d3173<<=0x1,_0x1d3173|=_0x2afe2e>>>_0x7970e3+_0xf1b872&0x1,_0x1d3173<<=0x1,_0x1d3173|=_0x70310a>>>_0x7970e3+_0xf1b872&0x1;_0xc02d88[_0x198956+0x0]=_0x4359ec>>>0x0,_0xc02d88[_0x198956+0x1]=_0x1d3173>>>0x0;},_0x2afe2e[_0x1a4e('0xb7d')]=function(_0x70310a,_0x2afe2e,_0xc02d88,_0x330fe6){for(var _0x56dfb2=0x0,_0x3ce622=0x0,_0x335df4=0x7;_0x335df4>=0x5;_0x335df4--){for(var _0x3dc1ff=0x0;_0x3dc1ff<=0x18;_0x3dc1ff+=0x8)_0x56dfb2<<=0x1,_0x56dfb2|=_0x2afe2e>>_0x3dc1ff+_0x335df4&0x1;for(_0x3dc1ff=0x0;_0x3dc1ff<=0x18;_0x3dc1ff+=0x8)_0x56dfb2<<=0x1,_0x56dfb2|=_0x70310a>>_0x3dc1ff+_0x335df4&0x1;}for(_0x3dc1ff=0x0;_0x3dc1ff<=0x18;_0x3dc1ff+=0x8)_0x56dfb2<<=0x1,_0x56dfb2|=_0x2afe2e>>_0x3dc1ff+_0x335df4&0x1;for(_0x335df4=0x1;_0x335df4<=0x3;_0x335df4++){for(_0x3dc1ff=0x0;_0x3dc1ff<=0x18;_0x3dc1ff+=0x8)_0x3ce622<<=0x1,_0x3ce622|=_0x2afe2e>>_0x3dc1ff+_0x335df4&0x1;for(_0x3dc1ff=0x0;_0x3dc1ff<=0x18;_0x3dc1ff+=0x8)_0x3ce622<<=0x1,_0x3ce622|=_0x70310a>>_0x3dc1ff+_0x335df4&0x1;}for(_0x3dc1ff=0x0;_0x3dc1ff<=0x18;_0x3dc1ff+=0x8)_0x3ce622<<=0x1,_0x3ce622|=_0x70310a>>_0x3dc1ff+_0x335df4&0x1;_0xc02d88[_0x330fe6+0x0]=_0x56dfb2>>>0x0,_0xc02d88[_0x330fe6+0x1]=_0x3ce622>>>0x0;},_0x2afe2e[_0x1a4e('0xb7e')]=function(_0x70310a,_0x2afe2e){return _0x70310a<<_0x2afe2e&0xfffffff|_0x70310a>>>0x1c-_0x2afe2e;};var _0x4ad50c=[0xe,0xb,0x11,0x4,0x1b,0x17,0x19,0x0,0xd,0x16,0x7,0x12,0x5,0x9,0x10,0x18,0x2,0x14,0xc,0x15,0x1,0x8,0xf,0x1a,0xf,0x4,0x19,0x13,0x9,0x1,0x1a,0x10,0x5,0xb,0x17,0x8,0xc,0x7,0x11,0x0,0x16,0x3,0xa,0xe,0x6,0x14,0x1b,0x18];_0x2afe2e[_0x1a4e('0xb84')]=function(_0x70310a,_0x2afe2e,_0xc02d88,_0x226b72){for(var _0x32c96c=0x0,_0x5d3266=0x0,_0x4cc8c8=_0x4ad50c[_0x1a4e('0x1e')]>>>0x1,_0x4d9e0a=0x0;_0x4d9e0a<_0x4cc8c8;_0x4d9e0a++)_0x32c96c<<=0x1,_0x32c96c|=_0x70310a>>>_0x4ad50c[_0x4d9e0a]&0x1;for(_0x4d9e0a=_0x4cc8c8;_0x4d9e0a<_0x4ad50c['length'];_0x4d9e0a++)_0x5d3266<<=0x1,_0x5d3266|=_0x2afe2e>>>_0x4ad50c[_0x4d9e0a]&0x1;_0xc02d88[_0x226b72+0x0]=_0x32c96c>>>0x0,_0xc02d88[_0x226b72+0x1]=_0x5d3266>>>0x0;},_0x2afe2e['expand']=function(_0x70310a,_0x2afe2e,_0xc02d88){var _0x4ad50c=0x0,_0x2d7db3=0x0;_0x4ad50c=(0x1&_0x70310a)<<0x5|_0x70310a>>>0x1b;for(var _0x28f8c2=0x17;_0x28f8c2>=0xf;_0x28f8c2-=0x4)_0x4ad50c<<=0x6,_0x4ad50c|=_0x70310a>>>_0x28f8c2&0x3f;for(_0x28f8c2=0xb;_0x28f8c2>=0x3;_0x28f8c2-=0x4)_0x2d7db3|=_0x70310a>>>_0x28f8c2&0x3f,_0x2d7db3<<=0x6;_0x2d7db3|=(0x1f&_0x70310a)<<0x1|_0x70310a>>>0x1f,_0x2afe2e[_0xc02d88+0x0]=_0x4ad50c>>>0x0,_0x2afe2e[_0xc02d88+0x1]=_0x2d7db3>>>0x0;};var _0x46ac80=[0xe,0x0,0x4,0xf,0xd,0x7,0x1,0x4,0x2,0xe,0xf,0x2,0xb,0xd,0x8,0x1,0x3,0xa,0xa,0x6,0x6,0xc,0xc,0xb,0x5,0x9,0x9,0x5,0x0,0x3,0x7,0x8,0x4,0xf,0x1,0xc,0xe,0x8,0x8,0x2,0xd,0x4,0x6,0x9,0x2,0x1,0xb,0x7,0xf,0x5,0xc,0xb,0x9,0x3,0x7,0xe,0x3,0xa,0xa,0x0,0x5,0x6,0x0,0xd,0xf,0x3,0x1,0xd,0x8,0x4,0xe,0x7,0x6,0xf,0xb,0x2,0x3,0x8,0x4,0xe,0x9,0xc,0x7,0x0,0x2,0x1,0xd,0xa,0xc,0x6,0x0,0x9,0x5,0xb,0xa,0x5,0x0,0xd,0xe,0x8,0x7,0xa,0xb,0x1,0xa,0x3,0x4,0xf,0xd,0x4,0x1,0x2,0x5,0xb,0x8,0x6,0xc,0x7,0x6,0xc,0x9,0x0,0x3,0x5,0x2,0xe,0xf,0x9,0xa,0xd,0x0,0x7,0x9,0x0,0xe,0x9,0x6,0x3,0x3,0x4,0xf,0x6,0x5,0xa,0x1,0x2,0xd,0x8,0xc,0x5,0x7,0xe,0xb,0xc,0x4,0xb,0x2,0xf,0x8,0x1,0xd,0x1,0x6,0xa,0x4,0xd,0x9,0x0,0x8,0x6,0xf,0x9,0x3,0x8,0x0,0x7,0xb,0x4,0x1,0xf,0x2,0xe,0xc,0x3,0x5,0xb,0xa,0x5,0xe,0x2,0x7,0xc,0x7,0xd,0xd,0x8,0xe,0xb,0x3,0x5,0x0,0x6,0x6,0xf,0x9,0x0,0xa,0x3,0x1,0x4,0x2,0x7,0x8,0x2,0x5,0xc,0xb,0x1,0xc,0xa,0x4,0xe,0xf,0x9,0xa,0x3,0x6,0xf,0x9,0x0,0x0,0x6,0xc,0xa,0xb,0x1,0x7,0xd,0xd,0x8,0xf,0x9,0x1,0x4,0x3,0x5,0xe,0xb,0x5,0xc,0x2,0x7,0x8,0x2,0x4,0xe,0x2,0xe,0xc,0xb,0x4,0x2,0x1,0xc,0x7,0x4,0xa,0x7,0xb,0xd,0x6,0x1,0x8,0x5,0x5,0x0,0x3,0xf,0xf,0xa,0xd,0x3,0x0,0x9,0xe,0x8,0x9,0x6,0x4,0xb,0x2,0x8,0x1,0xc,0xb,0x7,0xa,0x1,0xd,0xe,0x7,0x2,0x8,0xd,0xf,0x6,0x9,0xf,0xc,0x0,0x5,0x9,0x6,0xa,0x3,0x4,0x0,0x5,0xe,0x3,0xc,0xa,0x1,0xf,0xa,0x4,0xf,0x2,0x9,0x7,0x2,0xc,0x6,0x9,0x8,0x5,0x0,0x6,0xd,0x1,0x3,0xd,0x4,0xe,0xe,0x0,0x7,0xb,0x5,0x3,0xb,0x8,0x9,0x4,0xe,0x3,0xf,0x2,0x5,0xc,0x2,0x9,0x8,0x5,0xc,0xf,0x3,0xa,0x7,0xb,0x0,0xe,0x4,0x1,0xa,0x7,0x1,0x6,0xd,0x0,0xb,0x8,0x6,0xd,0x4,0xd,0xb,0x0,0x2,0xb,0xe,0x7,0xf,0x4,0x0,0x9,0x8,0x1,0xd,0xa,0x3,0xe,0xc,0x3,0x9,0x5,0x7,0xc,0x5,0x2,0xa,0xf,0x6,0x8,0x1,0x6,0x1,0x6,0x4,0xb,0xb,0xd,0xd,0x8,0xc,0x1,0x3,0x4,0x7,0xa,0xe,0x7,0xa,0x9,0xf,0x5,0x6,0x0,0x8,0xf,0x0,0xe,0x5,0x2,0x9,0x3,0x2,0xc,0xd,0x1,0x2,0xf,0x8,0xd,0x4,0x8,0x6,0xa,0xf,0x3,0xb,0x7,0x1,0x4,0xa,0xc,0x9,0x5,0x3,0x6,0xe,0xb,0x5,0x0,0x0,0xe,0xc,0x9,0x7,0x2,0x7,0x2,0xb,0x1,0x4,0xe,0x1,0x7,0x9,0x4,0xc,0xa,0xe,0x8,0x2,0xd,0x0,0xf,0x6,0xc,0xa,0x9,0xd,0x0,0xf,0x3,0x3,0x5,0x5,0x6,0x8,0xb];_0x2afe2e[_0x1a4e('0xb80')]=function(_0x70310a,_0x2afe2e){for(var _0xc02d88=0x0,_0x4ad50c=0x0;_0x4ad50c<0x4;_0x4ad50c++){_0xc02d88<<=0x4,_0xc02d88|=_0x46ac80[0x40*_0x4ad50c+(_0x70310a>>>0x12-0x6*_0x4ad50c&0x3f)];}for(_0x4ad50c=0x0;_0x4ad50c<0x4;_0x4ad50c++){_0xc02d88<<=0x4,_0xc02d88|=_0x46ac80[0x100+0x40*_0x4ad50c+(_0x2afe2e>>>0x12-0x6*_0x4ad50c&0x3f)];}return _0xc02d88>>>0x0;};var _0x418542=[0x10,0x19,0xc,0xb,0x3,0x14,0x4,0xf,0x1f,0x11,0x9,0x6,0x1b,0xe,0x1,0x16,0x1e,0x18,0x8,0x12,0x0,0x5,0x1d,0x17,0xd,0x13,0x2,0x1a,0xa,0x15,0x1c,0x7];_0x2afe2e['permute']=function(_0x70310a){for(var _0x2afe2e=0x0,_0xc02d88=0x0;_0xc02d88<_0x418542[_0x1a4e('0x1e')];_0xc02d88++)_0x2afe2e<<=0x1,_0x2afe2e|=_0x70310a>>>_0x418542[_0xc02d88]&0x1;return _0x2afe2e>>>0x0;},_0x2afe2e[_0x1a4e('0xb85')]=function(_0x70310a,_0x2afe2e,_0xc02d88){for(var _0x4ad50c=_0x70310a[_0x1a4e('0x95')](0x2);_0x4ad50c[_0x1a4e('0x1e')]<_0x2afe2e;)_0x4ad50c='0'+_0x4ad50c;for(var _0x46ac80=[],_0x418542=0x0;_0x418542<_0x2afe2e;_0x418542+=_0xc02d88)_0x46ac80[_0x1a4e('0x46')](_0x4ad50c[_0x1a4e('0x78')](_0x418542,_0x418542+_0xc02d88));return _0x46ac80[_0x1a4e('0x9e')]('\x20');};},'./node_modules/diffie-hellman/browser.js':function(_0x3b7b42,_0x336631,_0x51fd35){(function(_0x3b7b42){var _0x597695=_0x51fd35(_0x1a4e('0xb86')),_0x1ffa25=_0x51fd35('./node_modules/diffie-hellman/lib/primes.json'),_0x51b630=_0x51fd35(_0x1a4e('0xb87'));var _0x36079c={'binary':!0x0,'hex':!0x0,'base64':!0x0};_0x336631[_0x1a4e('0xb51')]=_0x336631[_0x1a4e('0xb52')]=_0x336631[_0x1a4e('0xb88')]=function(_0x336631){var _0x51fd35=new _0x3b7b42(_0x1ffa25[_0x336631][_0x1a4e('0xa14')],'hex'),_0x597695=new _0x3b7b42(_0x1ffa25[_0x336631]['gen'],_0x1a4e('0x823'));return new _0x51b630(_0x51fd35,_0x597695);},_0x336631['createDiffieHellman']=_0x336631['DiffieHellman']=function _0x336631(_0x51fd35,_0x1ffa25,_0x2bc874,_0x2f4fc4){return _0x3b7b42[_0x1a4e('0x871')](_0x1ffa25)||void 0x0===_0x36079c[_0x1ffa25]?_0x336631(_0x51fd35,_0x1a4e('0xacc'),_0x1ffa25,_0x2bc874):(_0x1ffa25=_0x1ffa25||'binary',_0x2f4fc4=_0x2f4fc4||_0x1a4e('0xacc'),_0x2bc874=_0x2bc874||new _0x3b7b42([0x2]),_0x3b7b42['isBuffer'](_0x2bc874)||(_0x2bc874=new _0x3b7b42(_0x2bc874,_0x2f4fc4)),_0x1a4e('0x3d')==typeof _0x51fd35?new _0x51b630(_0x597695(_0x51fd35,_0x2bc874),_0x2bc874,!0x0):(_0x3b7b42['isBuffer'](_0x51fd35)||(_0x51fd35=new _0x3b7b42(_0x51fd35,_0x1ffa25)),new _0x51b630(_0x51fd35,_0x2bc874,!0x0)));};}[_0x1a4e('0x1')](this,_0x51fd35(_0x1a4e('0x86f'))['Buffer']));},'./node_modules/diffie-hellman/lib/dh.js':function(_0x1a19c0,_0x576ed7,_0x5be004){(function(_0x576ed7){var _0x92d883=_0x5be004('./node_modules/bn.js/lib/bn.js'),_0x10f317=new(_0x5be004(_0x1a4e('0xb89')))(),_0x52dd7d=new _0x92d883(0x18),_0x27af55=new _0x92d883(0xb),_0x38b10e=new _0x92d883(0xa),_0x310b59=new _0x92d883(0x3),_0x6e0e00=new _0x92d883(0x7),_0x79e205=_0x5be004(_0x1a4e('0xb86')),_0x9ec3f=_0x5be004(_0x1a4e('0xb8a'));function _0x346cfe(_0x1a19c0,_0x5be004){return _0x5be004=_0x5be004||_0x1a4e('0xac4'),_0x576ed7[_0x1a4e('0x871')](_0x1a19c0)||(_0x1a19c0=new _0x576ed7(_0x1a19c0,_0x5be004)),this['_pub']=new _0x92d883(_0x1a19c0),this;}function _0x31420c(_0x1a19c0,_0x5be004){return _0x5be004=_0x5be004||_0x1a4e('0xac4'),_0x576ed7[_0x1a4e('0x871')](_0x1a19c0)||(_0x1a19c0=new _0x576ed7(_0x1a19c0,_0x5be004)),this[_0x1a4e('0xb8b')]=new _0x92d883(_0x1a19c0),this;}_0x1a19c0[_0x1a4e('0x0')]=_0x3c316a;var _0x339417={};function _0x3c316a(_0x1a19c0,_0x576ed7,_0x5be004){this[_0x1a4e('0xb8c')](_0x576ed7),this[_0x1a4e('0xb8d')]=new _0x92d883(_0x1a19c0),this['_prime']=_0x92d883[_0x1a4e('0xa1f')](this['__prime']),this[_0x1a4e('0xb8e')]=_0x1a19c0[_0x1a4e('0x1e')],this[_0x1a4e('0xb8f')]=void 0x0,this[_0x1a4e('0xb8b')]=void 0x0,this[_0x1a4e('0xb90')]=void 0x0,_0x5be004?(this[_0x1a4e('0xb35')]=_0x346cfe,this[_0x1a4e('0xb37')]=_0x31420c):this[_0x1a4e('0xb90')]=0x8;}function _0x43121e(_0x1a19c0,_0x5be004){var _0x92d883=new _0x576ed7(_0x1a19c0[_0x1a4e('0x347')]());return _0x5be004?_0x92d883[_0x1a4e('0x95')](_0x5be004):_0x92d883;}Object[_0x1a4e('0x2')](_0x3c316a['prototype'],'verifyError',{'enumerable':!0x0,'get':function(){return _0x1a4e('0x3d')!=typeof this[_0x1a4e('0xb90')]&&(this['_primeCode']=function(_0x1a19c0,_0x576ed7){var _0x5be004=_0x576ed7[_0x1a4e('0x95')](_0x1a4e('0x823')),_0x92d883=[_0x5be004,_0x1a19c0[_0x1a4e('0x95')](0x10)][_0x1a4e('0x9e')]('_');if(_0x92d883 in _0x339417)return _0x339417[_0x92d883];var _0x9ec3f,_0x346cfe=0x0;if(_0x1a19c0[_0x1a4e('0x9de')]()||!_0x79e205[_0x1a4e('0xb91')]||!_0x79e205[_0x1a4e('0xb92')](_0x1a19c0)||!_0x10f317[_0x1a4e('0x8d0')](_0x1a19c0))return _0x346cfe+=0x1,_0x346cfe+='02'===_0x5be004||'05'===_0x5be004?0x8:0x4,_0x339417[_0x92d883]=_0x346cfe,_0x346cfe;switch(_0x10f317[_0x1a4e('0x8d0')](_0x1a19c0['shrn'](0x1))||(_0x346cfe+=0x2),_0x5be004){case'02':_0x1a19c0[_0x1a4e('0x9d8')](_0x52dd7d)['cmp'](_0x27af55)&&(_0x346cfe+=0x8);break;case'05':(_0x9ec3f=_0x1a19c0[_0x1a4e('0x9d8')](_0x38b10e))[_0x1a4e('0x97b')](_0x310b59)&&_0x9ec3f[_0x1a4e('0x97b')](_0x6e0e00)&&(_0x346cfe+=0x8);break;default:_0x346cfe+=0x4;}return _0x339417[_0x92d883]=_0x346cfe,_0x346cfe;}(this[_0x1a4e('0xb8d')],this[_0x1a4e('0xb93')])),this[_0x1a4e('0xb90')];}}),_0x3c316a[_0x1a4e('0xa')]['generateKeys']=function(){return this[_0x1a4e('0xb8b')]||(this[_0x1a4e('0xb8b')]=new _0x92d883(_0x9ec3f(this[_0x1a4e('0xb8e')]))),this[_0x1a4e('0xb8f')]=this[_0x1a4e('0xb94')]['toRed'](this['_prime'])['redPow'](this[_0x1a4e('0xb8b')])[_0x1a4e('0x9ed')](),this[_0x1a4e('0xb2f')]();},_0x3c316a[_0x1a4e('0xa')][_0x1a4e('0xb95')]=function(_0x1a19c0){var _0x5be004=(_0x1a19c0=(_0x1a19c0=new _0x92d883(_0x1a19c0))[_0x1a4e('0x9e8')](this[_0x1a4e('0xa12')]))[_0x1a4e('0xa92')](this[_0x1a4e('0xb8b')])['fromRed'](),_0x10f317=new _0x576ed7(_0x5be004['toArray']()),_0x52dd7d=this[_0x1a4e('0xb96')]();if(_0x10f317[_0x1a4e('0x1e')]<_0x52dd7d[_0x1a4e('0x1e')]){var _0x27af55=new _0x576ed7(_0x52dd7d[_0x1a4e('0x1e')]-_0x10f317['length']);_0x27af55['fill'](0x0),_0x10f317=_0x576ed7[_0x1a4e('0x9a')]([_0x27af55,_0x10f317]);}return _0x10f317;},_0x3c316a[_0x1a4e('0xa')]['getPublicKey']=function(_0x1a19c0){return _0x43121e(this[_0x1a4e('0xb8f')],_0x1a19c0);},_0x3c316a[_0x1a4e('0xa')][_0x1a4e('0xb34')]=function(_0x1a19c0){return _0x43121e(this[_0x1a4e('0xb8b')],_0x1a19c0);},_0x3c316a['prototype'][_0x1a4e('0xb96')]=function(_0x1a19c0){return _0x43121e(this[_0x1a4e('0xb8d')],_0x1a19c0);},_0x3c316a['prototype']['getGenerator']=function(_0x1a19c0){return _0x43121e(this[_0x1a4e('0xb94')],_0x1a19c0);},_0x3c316a['prototype'][_0x1a4e('0xb8c')]=function(_0x1a19c0,_0x5be004){return _0x5be004=_0x5be004||_0x1a4e('0xac4'),_0x576ed7['isBuffer'](_0x1a19c0)||(_0x1a19c0=new _0x576ed7(_0x1a19c0,_0x5be004)),this[_0x1a4e('0xb93')]=_0x1a19c0,this[_0x1a4e('0xb94')]=new _0x92d883(_0x1a19c0),this;};}[_0x1a4e('0x1')](this,_0x5be004(_0x1a4e('0x86f'))[_0x1a4e('0x870')]));},'./node_modules/diffie-hellman/lib/generatePrime.js':function(_0x34e891,_0x1012a7,_0x351b13){var _0x1a7704=_0x351b13(_0x1a4e('0xb8a'));_0x34e891[_0x1a4e('0x0')]=_0xcf4aa8,_0xcf4aa8['simpleSieve']=_0x46558b,_0xcf4aa8[_0x1a4e('0xb92')]=_0x6e01db;var _0x3883c9=_0x351b13(_0x1a4e('0xaac')),_0x542e1e=new _0x3883c9(0x18),_0x26a938=new(_0x351b13(_0x1a4e('0xb89')))(),_0x276bc8=new _0x3883c9(0x1),_0x4293cc=new _0x3883c9(0x2),_0x281969=new _0x3883c9(0x5),_0x5d2924=(new _0x3883c9(0x10),new _0x3883c9(0x8),new _0x3883c9(0xa)),_0x5ae4e5=new _0x3883c9(0x3),_0x5c59ac=(new _0x3883c9(0x7),new _0x3883c9(0xb)),_0x3af2ba=new _0x3883c9(0x4),_0x5a50ea=(new _0x3883c9(0xc),null);function _0x1961ba(){if(null!==_0x5a50ea)return _0x5a50ea;var _0x34e891=[];_0x34e891[0x0]=0x2;for(var _0x1012a7=0x1,_0x351b13=0x3;_0x351b13<0x100000;_0x351b13+=0x2){for(var _0x1a7704=Math[_0x1a4e('0x6d')](Math['sqrt'](_0x351b13)),_0x3883c9=0x0;_0x3883c9<_0x1012a7&&_0x34e891[_0x3883c9]<=_0x1a7704&&_0x351b13%_0x34e891[_0x3883c9]!=0x0;_0x3883c9++);_0x1012a7!==_0x3883c9&&_0x34e891[_0x3883c9]<=_0x1a7704||(_0x34e891[_0x1012a7++]=_0x351b13);}return _0x5a50ea=_0x34e891,_0x34e891;}function _0x46558b(_0x34e891){for(var _0x1012a7=_0x1961ba(),_0x351b13=0x0;_0x351b13<_0x1012a7['length'];_0x351b13++)if(0x0===_0x34e891['modn'](_0x1012a7[_0x351b13]))return 0x0===_0x34e891[_0x1a4e('0x9e0')](_0x1012a7[_0x351b13]);return!0x0;}function _0x6e01db(_0x34e891){var _0x1012a7=_0x3883c9[_0x1a4e('0xa1f')](_0x34e891);return 0x0===_0x4293cc[_0x1a4e('0x9e8')](_0x1012a7)['redPow'](_0x34e891[_0x1a4e('0x9d2')](0x1))[_0x1a4e('0x9ed')]()[_0x1a4e('0x9e0')](0x1);}function _0xcf4aa8(_0x34e891,_0x1012a7){if(_0x34e891<0x10)return new _0x3883c9(0x2===_0x1012a7||0x5===_0x1012a7?[0x8c,0x7b]:[0x8c,0x27]);var _0x351b13,_0x5a50ea;for(_0x1012a7=new _0x3883c9(_0x1012a7);;){for(_0x351b13=new _0x3883c9(_0x1a7704(Math[_0x1a4e('0x6d')](_0x34e891/0x8)));_0x351b13[_0x1a4e('0x9a6')]()>_0x34e891;)_0x351b13[_0x1a4e('0x9c8')](0x1);if(_0x351b13[_0x1a4e('0x9de')]()&&_0x351b13['iadd'](_0x276bc8),_0x351b13[_0x1a4e('0x9cd')](0x1)||_0x351b13['iadd'](_0x4293cc),_0x1012a7[_0x1a4e('0x97b')](_0x4293cc)){if(!_0x1012a7[_0x1a4e('0x97b')](_0x281969))for(;_0x351b13['mod'](_0x5d2924)[_0x1a4e('0x97b')](_0x5ae4e5);)_0x351b13['iadd'](_0x3af2ba);}else for(;_0x351b13['mod'](_0x542e1e)['cmp'](_0x5c59ac);)_0x351b13[_0x1a4e('0x9b8')](_0x3af2ba);if(_0x46558b(_0x5a50ea=_0x351b13[_0x1a4e('0x9cb')](0x1))&&_0x46558b(_0x351b13)&&_0x6e01db(_0x5a50ea)&&_0x6e01db(_0x351b13)&&_0x26a938[_0x1a4e('0x8d0')](_0x5a50ea)&&_0x26a938[_0x1a4e('0x8d0')](_0x351b13))return _0x351b13;}}},'./node_modules/diffie-hellman/lib/primes.json':function(_0x4317f0){_0x4317f0['exports']=JSON['parse'](_0x1a4e('0xb97'));},'./node_modules/elliptic/lib/elliptic.js':function(_0x5037e0,_0xb735df,_0x10290f){'use strict';var _0x579bb6=_0xb735df;_0x579bb6[_0x1a4e('0xb98')]=_0x10290f(_0x1a4e('0xb99'))[_0x1a4e('0xb98')],_0x579bb6[_0x1a4e('0xb79')]=_0x10290f(_0x1a4e('0xb9a')),_0x579bb6[_0x1a4e('0xa21')]=_0x10290f(_0x1a4e('0xb9b')),_0x579bb6[_0x1a4e('0xab0')]=_0x10290f('./node_modules/elliptic/lib/elliptic/curve/index.js'),_0x579bb6[_0x1a4e('0x958')]=_0x10290f(_0x1a4e('0xb9c')),_0x579bb6['ec']=_0x10290f(_0x1a4e('0xb9d')),_0x579bb6['eddsa']=_0x10290f(_0x1a4e('0xb9e'));},'./node_modules/elliptic/lib/elliptic/curve/base.js':function(_0x382ee9,_0x543d3c,_0x279a78){'use strict';var _0x3f269c=_0x279a78('./node_modules/bn.js/lib/bn.js'),_0x1eff2b=_0x279a78(_0x1a4e('0xb9a')),_0x12a9ae=_0x1eff2b[_0x1a4e('0xb9f')],_0x49c92f=_0x1eff2b['getJSF'],_0x3a41ec=_0x1eff2b[_0x1a4e('0xba0')];function _0x2b17b6(_0x382ee9,_0x543d3c){this['type']=_0x382ee9,this['p']=new _0x3f269c(_0x543d3c['p'],0x10),this[_0x1a4e('0x979')]=_0x543d3c['prime']?_0x3f269c[_0x1a4e('0x979')](_0x543d3c['prime']):_0x3f269c[_0x1a4e('0xa1f')](this['p']),this['zero']=new _0x3f269c(0x0)[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]),this['one']=new _0x3f269c(0x1)[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]),this[_0x1a4e('0xba1')]=new _0x3f269c(0x2)['toRed'](this[_0x1a4e('0x979')]),this['n']=_0x543d3c['n']&&new _0x3f269c(_0x543d3c['n'],0x10),this['g']=_0x543d3c['g']&&this['pointFromJSON'](_0x543d3c['g'],_0x543d3c[_0x1a4e('0xba2')]),this[_0x1a4e('0xba3')]=new Array(0x4),this[_0x1a4e('0xba4')]=new Array(0x4),this[_0x1a4e('0xba5')]=new Array(0x4),this[_0x1a4e('0xba6')]=new Array(0x4);var _0x279a78=this['n']&&this['p'][_0x1a4e('0x9d6')](this['n']);!_0x279a78||_0x279a78[_0x1a4e('0x9e0')](0x64)>0x0?this[_0x1a4e('0xba7')]=null:(this[_0x1a4e('0xba8')]=!0x0,this[_0x1a4e('0xba7')]=this['n']['toRed'](this[_0x1a4e('0x979')]));}function _0x3d30e9(_0x382ee9,_0x543d3c){this[_0x1a4e('0xab0')]=_0x382ee9,this[_0x1a4e('0x40')]=_0x543d3c,this['precomputed']=null;}_0x382ee9[_0x1a4e('0x0')]=_0x2b17b6,_0x2b17b6['prototype']['point']=function(){throw new Error(_0x1a4e('0xba9'));},_0x2b17b6['prototype'][_0x1a4e('0xbaa')]=function(){throw new Error('Not\x20implemented');},_0x2b17b6['prototype']['_fixedNafMul']=function(_0x382ee9,_0x543d3c){_0x3a41ec(_0x382ee9[_0x1a4e('0xbab')]);var _0x279a78=_0x382ee9[_0x1a4e('0xbac')](),_0x3f269c=_0x12a9ae(_0x543d3c,0x1),_0x1eff2b=(0x1<<_0x279a78[_0x1a4e('0xbad')]+0x1)-(_0x279a78[_0x1a4e('0xbad')]%0x2==0x0?0x2:0x1);_0x1eff2b/=0x3;for(var _0x49c92f=[],_0x2b17b6=0x0;_0x2b17b6<_0x3f269c['length'];_0x2b17b6+=_0x279a78['step']){var _0x3d30e9=0x0;for(_0x543d3c=_0x2b17b6+_0x279a78['step']-0x1;_0x543d3c>=_0x2b17b6;_0x543d3c--)_0x3d30e9=(_0x3d30e9<<0x1)+_0x3f269c[_0x543d3c];_0x49c92f[_0x1a4e('0x46')](_0x3d30e9);}for(var _0x15cd26=this['jpoint'](null,null,null),_0x395251=this[_0x1a4e('0xbae')](null,null,null),_0x4be7df=_0x1eff2b;_0x4be7df>0x0;_0x4be7df--){for(_0x2b17b6=0x0;_0x2b17b6<_0x49c92f[_0x1a4e('0x1e')];_0x2b17b6++){(_0x3d30e9=_0x49c92f[_0x2b17b6])===_0x4be7df?_0x395251=_0x395251['mixedAdd'](_0x279a78['points'][_0x2b17b6]):_0x3d30e9===-_0x4be7df&&(_0x395251=_0x395251[_0x1a4e('0xbaf')](_0x279a78[_0x1a4e('0x17d')][_0x2b17b6]['neg']()));}_0x15cd26=_0x15cd26[_0x1a4e('0x177')](_0x395251);}return _0x15cd26[_0x1a4e('0xbb0')]();},_0x2b17b6[_0x1a4e('0xa')]['_wnafMul']=function(_0x382ee9,_0x543d3c){var _0x279a78=0x4,_0x3f269c=_0x382ee9[_0x1a4e('0xbb1')](_0x279a78);_0x279a78=_0x3f269c[_0x1a4e('0xbb2')];for(var _0x1eff2b=_0x3f269c[_0x1a4e('0x17d')],_0x49c92f=_0x12a9ae(_0x543d3c,_0x279a78),_0x2b17b6=this[_0x1a4e('0xbae')](null,null,null),_0x3d30e9=_0x49c92f['length']-0x1;_0x3d30e9>=0x0;_0x3d30e9--){for(_0x543d3c=0x0;_0x3d30e9>=0x0&&0x0===_0x49c92f[_0x3d30e9];_0x3d30e9--)_0x543d3c++;if(_0x3d30e9>=0x0&&_0x543d3c++,_0x2b17b6=_0x2b17b6[_0x1a4e('0xbb3')](_0x543d3c),_0x3d30e9<0x0)break;var _0x1fce20=_0x49c92f[_0x3d30e9];_0x3a41ec(0x0!==_0x1fce20),_0x2b17b6=_0x1a4e('0xbb4')===_0x382ee9['type']?_0x1fce20>0x0?_0x2b17b6[_0x1a4e('0xbaf')](_0x1eff2b[_0x1fce20-0x1>>0x1]):_0x2b17b6[_0x1a4e('0xbaf')](_0x1eff2b[-_0x1fce20-0x1>>0x1]['neg']()):_0x1fce20>0x0?_0x2b17b6[_0x1a4e('0x177')](_0x1eff2b[_0x1fce20-0x1>>0x1]):_0x2b17b6['add'](_0x1eff2b[-_0x1fce20-0x1>>0x1][_0x1a4e('0x9ad')]());}return _0x1a4e('0xbb4')===_0x382ee9[_0x1a4e('0x40')]?_0x2b17b6['toP']():_0x2b17b6;},_0x2b17b6[_0x1a4e('0xa')][_0x1a4e('0xbb5')]=function(_0x382ee9,_0x543d3c,_0x279a78,_0x3f269c,_0x1eff2b){for(var _0x3a41ec=this[_0x1a4e('0xba3')],_0x2b17b6=this[_0x1a4e('0xba4')],_0x3d30e9=this['_wnafT3'],_0x50de59=0x0,_0x5a3a21=0x0;_0x5a3a21<_0x3f269c;_0x5a3a21++){var _0x12715a=(_0x156a20=_0x543d3c[_0x5a3a21])[_0x1a4e('0xbb1')](_0x382ee9);_0x3a41ec[_0x5a3a21]=_0x12715a[_0x1a4e('0xbb2')],_0x2b17b6[_0x5a3a21]=_0x12715a['points'];}for(_0x5a3a21=_0x3f269c-0x1;_0x5a3a21>=0x1;_0x5a3a21-=0x2){var _0x5a3f9c=_0x5a3a21-0x1,_0x5d4c3f=_0x5a3a21;if(0x1===_0x3a41ec[_0x5a3f9c]&&0x1===_0x3a41ec[_0x5d4c3f]){var _0x5e207f=[_0x543d3c[_0x5a3f9c],null,null,_0x543d3c[_0x5d4c3f]];0x0===_0x543d3c[_0x5a3f9c]['y']['cmp'](_0x543d3c[_0x5d4c3f]['y'])?(_0x5e207f[0x1]=_0x543d3c[_0x5a3f9c][_0x1a4e('0x177')](_0x543d3c[_0x5d4c3f]),_0x5e207f[0x2]=_0x543d3c[_0x5a3f9c][_0x1a4e('0xbb6')]()[_0x1a4e('0xbaf')](_0x543d3c[_0x5d4c3f]['neg']())):0x0===_0x543d3c[_0x5a3f9c]['y'][_0x1a4e('0x97b')](_0x543d3c[_0x5d4c3f]['y'][_0x1a4e('0xa07')]())?(_0x5e207f[0x1]=_0x543d3c[_0x5a3f9c][_0x1a4e('0xbb6')]()['mixedAdd'](_0x543d3c[_0x5d4c3f]),_0x5e207f[0x2]=_0x543d3c[_0x5a3f9c][_0x1a4e('0x177')](_0x543d3c[_0x5d4c3f][_0x1a4e('0x9ad')]())):(_0x5e207f[0x1]=_0x543d3c[_0x5a3f9c][_0x1a4e('0xbb6')]()['mixedAdd'](_0x543d3c[_0x5d4c3f]),_0x5e207f[0x2]=_0x543d3c[_0x5a3f9c][_0x1a4e('0xbb6')]()[_0x1a4e('0xbaf')](_0x543d3c[_0x5d4c3f][_0x1a4e('0x9ad')]()));var _0x138add=[-0x3,-0x1,-0x5,-0x7,0x0,0x7,0x5,0x1,0x3],_0x4929bb=_0x49c92f(_0x279a78[_0x5a3f9c],_0x279a78[_0x5d4c3f]);_0x50de59=Math[_0x1a4e('0x6c')](_0x4929bb[0x0][_0x1a4e('0x1e')],_0x50de59),_0x3d30e9[_0x5a3f9c]=new Array(_0x50de59),_0x3d30e9[_0x5d4c3f]=new Array(_0x50de59);for(var _0x35e254=0x0;_0x35e254<_0x50de59;_0x35e254++){var _0x1184b4=0x0|_0x4929bb[0x0][_0x35e254],_0x43cbac=0x0|_0x4929bb[0x1][_0x35e254];_0x3d30e9[_0x5a3f9c][_0x35e254]=_0x138add[0x3*(_0x1184b4+0x1)+(_0x43cbac+0x1)],_0x3d30e9[_0x5d4c3f][_0x35e254]=0x0,_0x2b17b6[_0x5a3f9c]=_0x5e207f;}}else _0x3d30e9[_0x5a3f9c]=_0x12a9ae(_0x279a78[_0x5a3f9c],_0x3a41ec[_0x5a3f9c]),_0x3d30e9[_0x5d4c3f]=_0x12a9ae(_0x279a78[_0x5d4c3f],_0x3a41ec[_0x5d4c3f]),_0x50de59=Math['max'](_0x3d30e9[_0x5a3f9c][_0x1a4e('0x1e')],_0x50de59),_0x50de59=Math['max'](_0x3d30e9[_0x5d4c3f][_0x1a4e('0x1e')],_0x50de59);}var _0x375897=this[_0x1a4e('0xbae')](null,null,null),_0x501a72=this[_0x1a4e('0xba6')];for(_0x5a3a21=_0x50de59;_0x5a3a21>=0x0;_0x5a3a21--){for(var _0x4bc9b5=0x0;_0x5a3a21>=0x0;){var _0x48154c=!0x0;for(_0x35e254=0x0;_0x35e254<_0x3f269c;_0x35e254++)_0x501a72[_0x35e254]=0x0|_0x3d30e9[_0x35e254][_0x5a3a21],0x0!==_0x501a72[_0x35e254]&&(_0x48154c=!0x1);if(!_0x48154c)break;_0x4bc9b5++,_0x5a3a21--;}if(_0x5a3a21>=0x0&&_0x4bc9b5++,_0x375897=_0x375897[_0x1a4e('0xbb3')](_0x4bc9b5),_0x5a3a21<0x0)break;for(_0x35e254=0x0;_0x35e254<_0x3f269c;_0x35e254++){var _0x156a20,_0x38b736=_0x501a72[_0x35e254];0x0!==_0x38b736&&(_0x38b736>0x0?_0x156a20=_0x2b17b6[_0x35e254][_0x38b736-0x1>>0x1]:_0x38b736<0x0&&(_0x156a20=_0x2b17b6[_0x35e254][-_0x38b736-0x1>>0x1][_0x1a4e('0x9ad')]()),_0x375897=_0x1a4e('0xbb4')===_0x156a20[_0x1a4e('0x40')]?_0x375897[_0x1a4e('0xbaf')](_0x156a20):_0x375897[_0x1a4e('0x177')](_0x156a20));}}for(_0x5a3a21=0x0;_0x5a3a21<_0x3f269c;_0x5a3a21++)_0x2b17b6[_0x5a3a21]=null;return _0x1eff2b?_0x375897:_0x375897['toP']();},_0x2b17b6[_0x1a4e('0xbb7')]=_0x3d30e9,_0x3d30e9[_0x1a4e('0xa')]['eq']=function(){throw new Error(_0x1a4e('0xba9'));},_0x3d30e9[_0x1a4e('0xa')]['validate']=function(){return this['curve'][_0x1a4e('0xbaa')](this);},_0x2b17b6[_0x1a4e('0xa')][_0x1a4e('0xbb8')]=function(_0x382ee9,_0x543d3c){_0x382ee9=_0x1eff2b[_0x1a4e('0x347')](_0x382ee9,_0x543d3c);var _0x279a78=this['p'][_0x1a4e('0x876')]();if((0x4===_0x382ee9[0x0]||0x6===_0x382ee9[0x0]||0x7===_0x382ee9[0x0])&&_0x382ee9['length']-0x1==0x2*_0x279a78)return 0x6===_0x382ee9[0x0]?_0x3a41ec(_0x382ee9[_0x382ee9[_0x1a4e('0x1e')]-0x1]%0x2==0x0):0x7===_0x382ee9[0x0]&&_0x3a41ec(_0x382ee9[_0x382ee9[_0x1a4e('0x1e')]-0x1]%0x2==0x1),this[_0x1a4e('0xc4')](_0x382ee9[_0x1a4e('0x78')](0x1,0x1+_0x279a78),_0x382ee9[_0x1a4e('0x78')](0x1+_0x279a78,0x1+0x2*_0x279a78));if((0x2===_0x382ee9[0x0]||0x3===_0x382ee9[0x0])&&_0x382ee9['length']-0x1===_0x279a78)return this[_0x1a4e('0xbb9')](_0x382ee9['slice'](0x1,0x1+_0x279a78),0x3===_0x382ee9[0x0]);throw new Error('Unknown\x20point\x20format');},_0x3d30e9[_0x1a4e('0xa')][_0x1a4e('0xbba')]=function(_0x382ee9){return this['encode'](_0x382ee9,!0x0);},_0x3d30e9[_0x1a4e('0xa')]['_encode']=function(_0x382ee9){var _0x543d3c=this['curve']['p'][_0x1a4e('0x876')](),_0x279a78=this[_0x1a4e('0x296')]()[_0x1a4e('0x347')]('be',_0x543d3c);return _0x382ee9?[this[_0x1a4e('0x292')]()[_0x1a4e('0x9de')]()?0x2:0x3][_0x1a4e('0x9a')](_0x279a78):[0x4]['concat'](_0x279a78,this[_0x1a4e('0x292')]()[_0x1a4e('0x347')]('be',_0x543d3c));},_0x3d30e9[_0x1a4e('0xa')][_0x1a4e('0x86d')]=function(_0x382ee9,_0x543d3c){return _0x1eff2b[_0x1a4e('0x86d')](this[_0x1a4e('0x8c4')](_0x543d3c),_0x382ee9);},_0x3d30e9[_0x1a4e('0xa')][_0x1a4e('0xbbb')]=function(_0x382ee9){if(this[_0x1a4e('0xbab')])return this;var _0x543d3c={'doubles':null,'naf':null,'beta':null};return _0x543d3c['naf']=this['_getNAFPoints'](0x8),_0x543d3c['doubles']=this['_getDoubles'](0x4,_0x382ee9),_0x543d3c['beta']=this[_0x1a4e('0xbbc')](),this[_0x1a4e('0xbab')]=_0x543d3c,this;},_0x3d30e9['prototype'][_0x1a4e('0xbbd')]=function(_0x382ee9){if(!this[_0x1a4e('0xbab')])return!0x1;var _0x543d3c=this['precomputed'][_0x1a4e('0xbbe')];return!!_0x543d3c&&_0x543d3c['points'][_0x1a4e('0x1e')]>=Math[_0x1a4e('0x6d')]((_0x382ee9[_0x1a4e('0x9a6')]()+0x1)/_0x543d3c[_0x1a4e('0xbad')]);},_0x3d30e9[_0x1a4e('0xa')]['_getDoubles']=function(_0x382ee9,_0x543d3c){if(this[_0x1a4e('0xbab')]&&this['precomputed'][_0x1a4e('0xbbe')])return this[_0x1a4e('0xbab')]['doubles'];for(var _0x279a78=[this],_0x3f269c=this,_0x1eff2b=0x0;_0x1eff2b<_0x543d3c;_0x1eff2b+=_0x382ee9){for(var _0x12a9ae=0x0;_0x12a9ae<_0x382ee9;_0x12a9ae++)_0x3f269c=_0x3f269c[_0x1a4e('0xbbf')]();_0x279a78[_0x1a4e('0x46')](_0x3f269c);}return{'step':_0x382ee9,'points':_0x279a78};},_0x3d30e9[_0x1a4e('0xa')]['_getNAFPoints']=function(_0x382ee9){if(this['precomputed']&&this[_0x1a4e('0xbab')][_0x1a4e('0xbc0')])return this['precomputed'][_0x1a4e('0xbc0')];for(var _0x543d3c=[this],_0x279a78=(0x1<<_0x382ee9)-0x1,_0x3f269c=0x1===_0x279a78?null:this[_0x1a4e('0xbbf')](),_0x1eff2b=0x1;_0x1eff2b<_0x279a78;_0x1eff2b++)_0x543d3c[_0x1eff2b]=_0x543d3c[_0x1eff2b-0x1]['add'](_0x3f269c);return{'wnd':_0x382ee9,'points':_0x543d3c};},_0x3d30e9[_0x1a4e('0xa')][_0x1a4e('0xbbc')]=function(){return null;},_0x3d30e9[_0x1a4e('0xa')][_0x1a4e('0xbb3')]=function(_0x382ee9){for(var _0x543d3c=this,_0x279a78=0x0;_0x279a78<_0x382ee9;_0x279a78++)_0x543d3c=_0x543d3c[_0x1a4e('0xbbf')]();return _0x543d3c;};},'./node_modules/elliptic/lib/elliptic/curve/edwards.js':function(_0x82374f,_0x5b04d5,_0x495b91){'use strict';var _0x5b37f9=_0x495b91(_0x1a4e('0xb9a')),_0x1c5c15=_0x495b91(_0x1a4e('0xaac')),_0x1c7872=_0x495b91(_0x1a4e('0x863')),_0x11999a=_0x495b91(_0x1a4e('0xbc1')),_0x16b3fd=_0x5b37f9[_0x1a4e('0xba0')];function _0x5ea168(_0x82374f){this['twisted']=0x1!=(0x0|_0x82374f['a']),this[_0x1a4e('0xbc2')]=this[_0x1a4e('0xbc3')]&&-0x1==(0x0|_0x82374f['a']),this['extended']=this[_0x1a4e('0xbc2')],_0x11999a['call'](this,'edwards',_0x82374f),this['a']=new _0x1c5c15(_0x82374f['a'],0x10)[_0x1a4e('0x9da')](this[_0x1a4e('0x979')]['m']),this['a']=this['a'][_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]),this['c']=new _0x1c5c15(_0x82374f['c'],0x10)['toRed'](this[_0x1a4e('0x979')]),this['c2']=this['c'][_0x1a4e('0x9ff')](),this['d']=new _0x1c5c15(_0x82374f['d'],0x10)['toRed'](this[_0x1a4e('0x979')]),this['dd']=this['d']['redAdd'](this['d']),_0x16b3fd(!this[_0x1a4e('0xbc3')]||0x0===this['c'][_0x1a4e('0x9ed')]()['cmpn'](0x1)),this[_0x1a4e('0xbc4')]=0x1==(0x0|_0x82374f['c']);}function _0x581fce(_0x82374f,_0x5b04d5,_0x495b91,_0x5b37f9,_0x1c7872){_0x11999a[_0x1a4e('0xbb7')][_0x1a4e('0x1')](this,_0x82374f,_0x1a4e('0xbc5')),null===_0x5b04d5&&null===_0x495b91&&null===_0x5b37f9?(this['x']=this[_0x1a4e('0xab0')][_0x1a4e('0xbc6')],this['y']=this['curve'][_0x1a4e('0xbc7')],this['z']=this[_0x1a4e('0xab0')][_0x1a4e('0xbc7')],this['t']=this['curve'][_0x1a4e('0xbc6')],this[_0x1a4e('0xbc8')]=!0x0):(this['x']=new _0x1c5c15(_0x5b04d5,0x10),this['y']=new _0x1c5c15(_0x495b91,0x10),this['z']=_0x5b37f9?new _0x1c5c15(_0x5b37f9,0x10):this[_0x1a4e('0xab0')][_0x1a4e('0xbc7')],this['t']=_0x1c7872&&new _0x1c5c15(_0x1c7872,0x10),this['x']['red']||(this['x']=this['x'][_0x1a4e('0x9e8')](this['curve']['red'])),this['y'][_0x1a4e('0x979')]||(this['y']=this['y'][_0x1a4e('0x9e8')](this[_0x1a4e('0xab0')][_0x1a4e('0x979')])),this['z'][_0x1a4e('0x979')]||(this['z']=this['z']['toRed'](this['curve'][_0x1a4e('0x979')])),this['t']&&!this['t'][_0x1a4e('0x979')]&&(this['t']=this['t'][_0x1a4e('0x9e8')](this[_0x1a4e('0xab0')]['red'])),this[_0x1a4e('0xbc8')]=this['z']===this[_0x1a4e('0xab0')]['one'],this[_0x1a4e('0xab0')]['extended']&&!this['t']&&(this['t']=this['x'][_0x1a4e('0xa1e')](this['y']),this[_0x1a4e('0xbc8')]||(this['t']=this['t']['redMul'](this['z']['redInvm']()))));}_0x1c7872(_0x5ea168,_0x11999a),_0x82374f['exports']=_0x5ea168,_0x5ea168[_0x1a4e('0xa')]['_mulA']=function(_0x82374f){return this[_0x1a4e('0xbc2')]?_0x82374f[_0x1a4e('0xa07')]():this['a']['redMul'](_0x82374f);},_0x5ea168[_0x1a4e('0xa')][_0x1a4e('0xbc9')]=function(_0x82374f){return this[_0x1a4e('0xbc4')]?_0x82374f:this['c'][_0x1a4e('0xa1e')](_0x82374f);},_0x5ea168[_0x1a4e('0xa')][_0x1a4e('0xbae')]=function(_0x82374f,_0x5b04d5,_0x495b91,_0x5b37f9){return this[_0x1a4e('0xc4')](_0x82374f,_0x5b04d5,_0x495b91,_0x5b37f9);},_0x5ea168[_0x1a4e('0xa')][_0x1a4e('0xbb9')]=function(_0x82374f,_0x5b04d5){(_0x82374f=new _0x1c5c15(_0x82374f,0x10))[_0x1a4e('0x979')]||(_0x82374f=_0x82374f[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]));var _0x495b91=_0x82374f[_0x1a4e('0x9ff')](),_0x5b37f9=this['c2']['redSub'](this['a']['redMul'](_0x495b91)),_0x1c7872=this[_0x1a4e('0xbc7')][_0x1a4e('0x9f5')](this['c2'][_0x1a4e('0xa1e')](this['d'])['redMul'](_0x495b91)),_0x11999a=_0x5b37f9[_0x1a4e('0xa1e')](_0x1c7872[_0x1a4e('0xa05')]()),_0x16b3fd=_0x11999a[_0x1a4e('0xa03')]();if(0x0!==_0x16b3fd['redSqr']()[_0x1a4e('0x9f5')](_0x11999a)[_0x1a4e('0x97b')](this[_0x1a4e('0xbc6')]))throw new Error('invalid\x20point');var _0x5ea168=_0x16b3fd[_0x1a4e('0x9ed')]()['isOdd']();return(_0x5b04d5&&!_0x5ea168||!_0x5b04d5&&_0x5ea168)&&(_0x16b3fd=_0x16b3fd['redNeg']()),this['point'](_0x82374f,_0x16b3fd);},_0x5ea168[_0x1a4e('0xa')][_0x1a4e('0xbca')]=function(_0x82374f,_0x5b04d5){(_0x82374f=new _0x1c5c15(_0x82374f,0x10))[_0x1a4e('0x979')]||(_0x82374f=_0x82374f[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]));var _0x495b91=_0x82374f[_0x1a4e('0x9ff')](),_0x5b37f9=_0x495b91['redSub'](this['c2']),_0x1c7872=_0x495b91['redMul'](this['d'])[_0x1a4e('0xa1e')](this['c2'])['redSub'](this['a']),_0x11999a=_0x5b37f9[_0x1a4e('0xa1e')](_0x1c7872['redInvm']());if(0x0===_0x11999a[_0x1a4e('0x97b')](this['zero'])){if(_0x5b04d5)throw new Error(_0x1a4e('0xbcb'));return this[_0x1a4e('0xc4')](this[_0x1a4e('0xbc6')],_0x82374f);}var _0x16b3fd=_0x11999a['redSqrt']();if(0x0!==_0x16b3fd[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f5')](_0x11999a)[_0x1a4e('0x97b')](this[_0x1a4e('0xbc6')]))throw new Error(_0x1a4e('0xbcb'));return _0x16b3fd[_0x1a4e('0x9ed')]()[_0x1a4e('0x9df')]()!==_0x5b04d5&&(_0x16b3fd=_0x16b3fd[_0x1a4e('0xa07')]()),this[_0x1a4e('0xc4')](_0x16b3fd,_0x82374f);},_0x5ea168[_0x1a4e('0xa')][_0x1a4e('0xbaa')]=function(_0x82374f){if(_0x82374f[_0x1a4e('0xbcc')]())return!0x0;_0x82374f[_0x1a4e('0x330')]();var _0x5b04d5=_0x82374f['x'][_0x1a4e('0x9ff')](),_0x495b91=_0x82374f['y'][_0x1a4e('0x9ff')](),_0x5b37f9=_0x5b04d5[_0x1a4e('0xa1e')](this['a'])[_0x1a4e('0x9f1')](_0x495b91),_0x1c5c15=this['c2'][_0x1a4e('0xa1e')](this[_0x1a4e('0xbc7')][_0x1a4e('0x9f1')](this['d'][_0x1a4e('0xa1e')](_0x5b04d5)[_0x1a4e('0xa1e')](_0x495b91)));return 0x0===_0x5b37f9[_0x1a4e('0x97b')](_0x1c5c15);},_0x1c7872(_0x581fce,_0x11999a[_0x1a4e('0xbb7')]),_0x5ea168[_0x1a4e('0xa')][_0x1a4e('0xbcd')]=function(_0x82374f){return _0x581fce[_0x1a4e('0xba')](this,_0x82374f);},_0x5ea168[_0x1a4e('0xa')][_0x1a4e('0xc4')]=function(_0x82374f,_0x5b04d5,_0x495b91,_0x5b37f9){return new _0x581fce(this,_0x82374f,_0x5b04d5,_0x495b91,_0x5b37f9);},_0x581fce[_0x1a4e('0xba')]=function(_0x82374f,_0x5b04d5){return new _0x581fce(_0x82374f,_0x5b04d5[0x0],_0x5b04d5[0x1],_0x5b04d5[0x2]);},_0x581fce[_0x1a4e('0xa')]['inspect']=function(){return this[_0x1a4e('0xbcc')]()?'':_0x1a4e('0xbce')+this['x'][_0x1a4e('0x9ed')]()[_0x1a4e('0x95')](0x10,0x2)+_0x1a4e('0xbcf')+this['y'][_0x1a4e('0x9ed')]()['toString'](0x10,0x2)+_0x1a4e('0xbd0')+this['z'][_0x1a4e('0x9ed')]()[_0x1a4e('0x95')](0x10,0x2)+'>';},_0x581fce[_0x1a4e('0xa')][_0x1a4e('0xbcc')]=function(){return 0x0===this['x']['cmpn'](0x0)&&(0x0===this['y']['cmp'](this['z'])||this[_0x1a4e('0xbc8')]&&0x0===this['y'][_0x1a4e('0x97b')](this[_0x1a4e('0xab0')]['c']));},_0x581fce[_0x1a4e('0xa')][_0x1a4e('0xbd1')]=function(){var _0x82374f=this['x'][_0x1a4e('0x9ff')](),_0x5b04d5=this['y'][_0x1a4e('0x9ff')](),_0x495b91=this['z'][_0x1a4e('0x9ff')]();_0x495b91=_0x495b91[_0x1a4e('0x9f3')](_0x495b91);var _0x5b37f9=this[_0x1a4e('0xab0')]['_mulA'](_0x82374f),_0x1c5c15=this['x'][_0x1a4e('0x9f1')](this['y'])[_0x1a4e('0x9ff')]()['redISub'](_0x82374f)['redISub'](_0x5b04d5),_0x1c7872=_0x5b37f9[_0x1a4e('0x9f1')](_0x5b04d5),_0x11999a=_0x1c7872['redSub'](_0x495b91),_0x16b3fd=_0x5b37f9[_0x1a4e('0x9f5')](_0x5b04d5),_0x5ea168=_0x1c5c15[_0x1a4e('0xa1e')](_0x11999a),_0x581fce=_0x1c7872['redMul'](_0x16b3fd),_0x1b0924=_0x1c5c15['redMul'](_0x16b3fd),_0x113407=_0x11999a[_0x1a4e('0xa1e')](_0x1c7872);return this['curve']['point'](_0x5ea168,_0x581fce,_0x113407,_0x1b0924);},_0x581fce[_0x1a4e('0xa')][_0x1a4e('0xbd2')]=function(){var _0x82374f,_0x5b04d5,_0x495b91,_0x5b37f9=this['x']['redAdd'](this['y'])[_0x1a4e('0x9ff')](),_0x1c5c15=this['x']['redSqr'](),_0x1c7872=this['y']['redSqr']();if(this[_0x1a4e('0xab0')][_0x1a4e('0xbc3')]){var _0x11999a=(_0x581fce=this['curve'][_0x1a4e('0xbd3')](_0x1c5c15))[_0x1a4e('0x9f1')](_0x1c7872);if(this['zOne'])_0x82374f=_0x5b37f9[_0x1a4e('0x9f5')](_0x1c5c15)['redSub'](_0x1c7872)['redMul'](_0x11999a[_0x1a4e('0x9f5')](this['curve'][_0x1a4e('0xba1')])),_0x5b04d5=_0x11999a[_0x1a4e('0xa1e')](_0x581fce[_0x1a4e('0x9f5')](_0x1c7872)),_0x495b91=_0x11999a['redSqr']()[_0x1a4e('0x9f5')](_0x11999a)[_0x1a4e('0x9f5')](_0x11999a);else{var _0x16b3fd=this['z'][_0x1a4e('0x9ff')](),_0x5ea168=_0x11999a[_0x1a4e('0x9f5')](_0x16b3fd)[_0x1a4e('0x9f7')](_0x16b3fd);_0x82374f=_0x5b37f9[_0x1a4e('0x9f5')](_0x1c5c15)[_0x1a4e('0x9f7')](_0x1c7872)[_0x1a4e('0xa1e')](_0x5ea168),_0x5b04d5=_0x11999a[_0x1a4e('0xa1e')](_0x581fce[_0x1a4e('0x9f5')](_0x1c7872)),_0x495b91=_0x11999a[_0x1a4e('0xa1e')](_0x5ea168);}}else{var _0x581fce=_0x1c5c15[_0x1a4e('0x9f1')](_0x1c7872);_0x16b3fd=this[_0x1a4e('0xab0')][_0x1a4e('0xbc9')](this['z'])['redSqr'](),_0x5ea168=_0x581fce[_0x1a4e('0x9f5')](_0x16b3fd)[_0x1a4e('0x9f5')](_0x16b3fd);_0x82374f=this[_0x1a4e('0xab0')][_0x1a4e('0xbc9')](_0x5b37f9[_0x1a4e('0x9f7')](_0x581fce))[_0x1a4e('0xa1e')](_0x5ea168),_0x5b04d5=this['curve']['_mulC'](_0x581fce)['redMul'](_0x1c5c15[_0x1a4e('0x9f7')](_0x1c7872)),_0x495b91=_0x581fce[_0x1a4e('0xa1e')](_0x5ea168);}return this[_0x1a4e('0xab0')][_0x1a4e('0xc4')](_0x82374f,_0x5b04d5,_0x495b91);},_0x581fce['prototype']['dbl']=function(){return this['isInfinity']()?this:this['curve'][_0x1a4e('0xbd4')]?this[_0x1a4e('0xbd1')]():this[_0x1a4e('0xbd2')]();},_0x581fce[_0x1a4e('0xa')][_0x1a4e('0xbd5')]=function(_0x82374f){var _0x5b04d5=this['y'][_0x1a4e('0x9f5')](this['x'])[_0x1a4e('0xa1e')](_0x82374f['y']['redSub'](_0x82374f['x'])),_0x495b91=this['y'][_0x1a4e('0x9f1')](this['x'])[_0x1a4e('0xa1e')](_0x82374f['y'][_0x1a4e('0x9f1')](_0x82374f['x'])),_0x5b37f9=this['t'][_0x1a4e('0xa1e')](this['curve']['dd'])['redMul'](_0x82374f['t']),_0x1c5c15=this['z'][_0x1a4e('0xa1e')](_0x82374f['z']['redAdd'](_0x82374f['z'])),_0x1c7872=_0x495b91[_0x1a4e('0x9f5')](_0x5b04d5),_0x11999a=_0x1c5c15[_0x1a4e('0x9f5')](_0x5b37f9),_0x16b3fd=_0x1c5c15['redAdd'](_0x5b37f9),_0x5ea168=_0x495b91['redAdd'](_0x5b04d5),_0x581fce=_0x1c7872['redMul'](_0x11999a),_0x192749=_0x16b3fd[_0x1a4e('0xa1e')](_0x5ea168),_0x569b54=_0x1c7872[_0x1a4e('0xa1e')](_0x5ea168),_0x15a1bf=_0x11999a[_0x1a4e('0xa1e')](_0x16b3fd);return this['curve']['point'](_0x581fce,_0x192749,_0x15a1bf,_0x569b54);},_0x581fce[_0x1a4e('0xa')][_0x1a4e('0xbd6')]=function(_0x82374f){var _0x5b04d5,_0x495b91,_0x5b37f9=this['z'][_0x1a4e('0xa1e')](_0x82374f['z']),_0x1c5c15=_0x5b37f9[_0x1a4e('0x9ff')](),_0x1c7872=this['x'][_0x1a4e('0xa1e')](_0x82374f['x']),_0x11999a=this['y'][_0x1a4e('0xa1e')](_0x82374f['y']),_0x16b3fd=this['curve']['d'][_0x1a4e('0xa1e')](_0x1c7872)['redMul'](_0x11999a),_0x5ea168=_0x1c5c15[_0x1a4e('0x9f5')](_0x16b3fd),_0x581fce=_0x1c5c15['redAdd'](_0x16b3fd),_0x25c30d=this['x'][_0x1a4e('0x9f1')](this['y'])['redMul'](_0x82374f['x'][_0x1a4e('0x9f1')](_0x82374f['y']))[_0x1a4e('0x9f7')](_0x1c7872)[_0x1a4e('0x9f7')](_0x11999a),_0x5d8df6=_0x5b37f9[_0x1a4e('0xa1e')](_0x5ea168)[_0x1a4e('0xa1e')](_0x25c30d);return this[_0x1a4e('0xab0')][_0x1a4e('0xbc3')]?(_0x5b04d5=_0x5b37f9[_0x1a4e('0xa1e')](_0x581fce)[_0x1a4e('0xa1e')](_0x11999a[_0x1a4e('0x9f5')](this[_0x1a4e('0xab0')][_0x1a4e('0xbd3')](_0x1c7872))),_0x495b91=_0x5ea168[_0x1a4e('0xa1e')](_0x581fce)):(_0x5b04d5=_0x5b37f9[_0x1a4e('0xa1e')](_0x581fce)[_0x1a4e('0xa1e')](_0x11999a[_0x1a4e('0x9f5')](_0x1c7872)),_0x495b91=this[_0x1a4e('0xab0')][_0x1a4e('0xbc9')](_0x5ea168)[_0x1a4e('0xa1e')](_0x581fce)),this[_0x1a4e('0xab0')][_0x1a4e('0xc4')](_0x5d8df6,_0x5b04d5,_0x495b91);},_0x581fce['prototype'][_0x1a4e('0x177')]=function(_0x82374f){return this[_0x1a4e('0xbcc')]()?_0x82374f:_0x82374f[_0x1a4e('0xbcc')]()?this:this[_0x1a4e('0xab0')][_0x1a4e('0xbd4')]?this['_extAdd'](_0x82374f):this[_0x1a4e('0xbd6')](_0x82374f);},_0x581fce['prototype'][_0x1a4e('0x9c3')]=function(_0x82374f){return this[_0x1a4e('0xbbd')](_0x82374f)?this[_0x1a4e('0xab0')][_0x1a4e('0xbd7')](this,_0x82374f):this[_0x1a4e('0xab0')][_0x1a4e('0xbd8')](this,_0x82374f);},_0x581fce[_0x1a4e('0xa')]['mulAdd']=function(_0x82374f,_0x5b04d5,_0x495b91){return this[_0x1a4e('0xab0')][_0x1a4e('0xbb5')](0x1,[this,_0x5b04d5],[_0x82374f,_0x495b91],0x2,!0x1);},_0x581fce['prototype'][_0x1a4e('0xbd9')]=function(_0x82374f,_0x5b04d5,_0x495b91){return this['curve'][_0x1a4e('0xbb5')](0x1,[this,_0x5b04d5],[_0x82374f,_0x495b91],0x2,!0x0);},_0x581fce[_0x1a4e('0xa')]['normalize']=function(){if(this['zOne'])return this;var _0x82374f=this['z'][_0x1a4e('0xa05')]();return this['x']=this['x'][_0x1a4e('0xa1e')](_0x82374f),this['y']=this['y']['redMul'](_0x82374f),this['t']&&(this['t']=this['t'][_0x1a4e('0xa1e')](_0x82374f)),this['z']=this[_0x1a4e('0xab0')][_0x1a4e('0xbc7')],this[_0x1a4e('0xbc8')]=!0x0,this;},_0x581fce[_0x1a4e('0xa')][_0x1a4e('0x9ad')]=function(){return this[_0x1a4e('0xab0')][_0x1a4e('0xc4')](this['x']['redNeg'](),this['y'],this['z'],this['t']&&this['t'][_0x1a4e('0xa07')]());},_0x581fce[_0x1a4e('0xa')][_0x1a4e('0x296')]=function(){return this[_0x1a4e('0x330')](),this['x'][_0x1a4e('0x9ed')]();},_0x581fce[_0x1a4e('0xa')]['getY']=function(){return this[_0x1a4e('0x330')](),this['y'][_0x1a4e('0x9ed')]();},_0x581fce[_0x1a4e('0xa')]['eq']=function(_0x82374f){return this===_0x82374f||0x0===this[_0x1a4e('0x296')]()[_0x1a4e('0x97b')](_0x82374f[_0x1a4e('0x296')]())&&0x0===this[_0x1a4e('0x292')]()['cmp'](_0x82374f[_0x1a4e('0x292')]());},_0x581fce[_0x1a4e('0xa')][_0x1a4e('0xbda')]=function(_0x82374f){var _0x5b04d5=_0x82374f[_0x1a4e('0x9e8')](this[_0x1a4e('0xab0')]['red'])[_0x1a4e('0xa1e')](this['z']);if(0x0===this['x'][_0x1a4e('0x97b')](_0x5b04d5))return!0x0;for(var _0x495b91=_0x82374f['clone'](),_0x5b37f9=this[_0x1a4e('0xab0')][_0x1a4e('0xba7')][_0x1a4e('0xa1e')](this['z']);;){if(_0x495b91[_0x1a4e('0x9b8')](this['curve']['n']),_0x495b91[_0x1a4e('0x97b')](this[_0x1a4e('0xab0')]['p'])>=0x0)return!0x1;if(_0x5b04d5[_0x1a4e('0x9f3')](_0x5b37f9),0x0===this['x'][_0x1a4e('0x97b')](_0x5b04d5))return!0x0;}},_0x581fce[_0x1a4e('0xa')]['toP']=_0x581fce[_0x1a4e('0xa')]['normalize'],_0x581fce[_0x1a4e('0xa')][_0x1a4e('0xbaf')]=_0x581fce['prototype']['add'];},'./node_modules/elliptic/lib/elliptic/curve/index.js':function(_0x4758a9,_0x4d5ab7,_0x1a1f48){'use strict';var _0x6bb0b3=_0x4d5ab7;_0x6bb0b3['base']=_0x1a1f48(_0x1a4e('0xbc1')),_0x6bb0b3['short']=_0x1a1f48(_0x1a4e('0xbdb')),_0x6bb0b3[_0x1a4e('0xa1f')]=_0x1a1f48(_0x1a4e('0xbdc')),_0x6bb0b3['edwards']=_0x1a1f48(_0x1a4e('0xbdd'));},'./node_modules/elliptic/lib/elliptic/curve/mont.js':function(_0x545cd3,_0x103bf2,_0x14e522){'use strict';var _0x456ce6=_0x14e522(_0x1a4e('0xaac')),_0x4e1fc8=_0x14e522(_0x1a4e('0x863')),_0x2d624c=_0x14e522(_0x1a4e('0xbc1')),_0x3533a1=_0x14e522(_0x1a4e('0xb9a'));function _0x4074e2(_0x545cd3){_0x2d624c[_0x1a4e('0x1')](this,_0x1a4e('0xa1f'),_0x545cd3),this['a']=new _0x456ce6(_0x545cd3['a'],0x10)[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]),this['b']=new _0x456ce6(_0x545cd3['b'],0x10)[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]),this['i4']=new _0x456ce6(0x4)[_0x1a4e('0x9e8')](this['red'])[_0x1a4e('0xa05')](),this[_0x1a4e('0xba1')]=new _0x456ce6(0x2)[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]),this[_0x1a4e('0xbde')]=this['i4'][_0x1a4e('0xa1e')](this['a']['redAdd'](this[_0x1a4e('0xba1')]));}function _0x4bb136(_0x545cd3,_0x103bf2,_0x14e522){_0x2d624c[_0x1a4e('0xbb7')][_0x1a4e('0x1')](this,_0x545cd3,'projective'),null===_0x103bf2&&null===_0x14e522?(this['x']=this[_0x1a4e('0xab0')][_0x1a4e('0xbc7')],this['z']=this['curve'][_0x1a4e('0xbc6')]):(this['x']=new _0x456ce6(_0x103bf2,0x10),this['z']=new _0x456ce6(_0x14e522,0x10),this['x']['red']||(this['x']=this['x']['toRed'](this[_0x1a4e('0xab0')][_0x1a4e('0x979')])),this['z'][_0x1a4e('0x979')]||(this['z']=this['z']['toRed'](this[_0x1a4e('0xab0')][_0x1a4e('0x979')])));}_0x4e1fc8(_0x4074e2,_0x2d624c),_0x545cd3[_0x1a4e('0x0')]=_0x4074e2,_0x4074e2[_0x1a4e('0xa')][_0x1a4e('0xbaa')]=function(_0x545cd3){var _0x103bf2=_0x545cd3[_0x1a4e('0x330')]()['x'],_0x14e522=_0x103bf2[_0x1a4e('0x9ff')](),_0x456ce6=_0x14e522['redMul'](_0x103bf2)[_0x1a4e('0x9f1')](_0x14e522[_0x1a4e('0xa1e')](this['a']))[_0x1a4e('0x9f1')](_0x103bf2);return 0x0===_0x456ce6[_0x1a4e('0xa03')]()[_0x1a4e('0x9ff')]()['cmp'](_0x456ce6);},_0x4e1fc8(_0x4bb136,_0x2d624c['BasePoint']),_0x4074e2[_0x1a4e('0xa')][_0x1a4e('0xbb8')]=function(_0x545cd3,_0x103bf2){return this[_0x1a4e('0xc4')](_0x3533a1[_0x1a4e('0x347')](_0x545cd3,_0x103bf2),0x1);},_0x4074e2[_0x1a4e('0xa')][_0x1a4e('0xc4')]=function(_0x545cd3,_0x103bf2){return new _0x4bb136(this,_0x545cd3,_0x103bf2);},_0x4074e2['prototype'][_0x1a4e('0xbcd')]=function(_0x545cd3){return _0x4bb136[_0x1a4e('0xba')](this,_0x545cd3);},_0x4bb136[_0x1a4e('0xa')][_0x1a4e('0xbbb')]=function(){},_0x4bb136[_0x1a4e('0xa')][_0x1a4e('0x8c4')]=function(){return this['getX']()[_0x1a4e('0x347')]('be',this[_0x1a4e('0xab0')]['p'][_0x1a4e('0x876')]());},_0x4bb136[_0x1a4e('0xba')]=function(_0x545cd3,_0x103bf2){return new _0x4bb136(_0x545cd3,_0x103bf2[0x0],_0x103bf2[0x1]||_0x545cd3[_0x1a4e('0xbc7')]);},_0x4bb136['prototype'][_0x1a4e('0xae2')]=function(){return this[_0x1a4e('0xbcc')]()?'':_0x1a4e('0xbce')+this['x'][_0x1a4e('0x9ed')]()[_0x1a4e('0x95')](0x10,0x2)+_0x1a4e('0xbd0')+this['z']['fromRed']()[_0x1a4e('0x95')](0x10,0x2)+'>';},_0x4bb136[_0x1a4e('0xa')][_0x1a4e('0xbcc')]=function(){return 0x0===this['z']['cmpn'](0x0);},_0x4bb136[_0x1a4e('0xa')]['dbl']=function(){var _0x545cd3=this['x']['redAdd'](this['z'])['redSqr'](),_0x103bf2=this['x'][_0x1a4e('0x9f5')](this['z'])[_0x1a4e('0x9ff')](),_0x14e522=_0x545cd3[_0x1a4e('0x9f5')](_0x103bf2),_0x456ce6=_0x545cd3[_0x1a4e('0xa1e')](_0x103bf2),_0x4e1fc8=_0x14e522[_0x1a4e('0xa1e')](_0x103bf2[_0x1a4e('0x9f1')](this[_0x1a4e('0xab0')][_0x1a4e('0xbde')]['redMul'](_0x14e522)));return this[_0x1a4e('0xab0')]['point'](_0x456ce6,_0x4e1fc8);},_0x4bb136[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(){throw new Error(_0x1a4e('0xbdf'));},_0x4bb136['prototype'][_0x1a4e('0xbe0')]=function(_0x545cd3,_0x103bf2){var _0x14e522=this['x'][_0x1a4e('0x9f1')](this['z']),_0x456ce6=this['x'][_0x1a4e('0x9f5')](this['z']),_0x4e1fc8=_0x545cd3['x'][_0x1a4e('0x9f1')](_0x545cd3['z']),_0x2d624c=_0x545cd3['x'][_0x1a4e('0x9f5')](_0x545cd3['z'])[_0x1a4e('0xa1e')](_0x14e522),_0x3533a1=_0x4e1fc8[_0x1a4e('0xa1e')](_0x456ce6),_0x4074e2=_0x103bf2['z'][_0x1a4e('0xa1e')](_0x2d624c[_0x1a4e('0x9f1')](_0x3533a1)[_0x1a4e('0x9ff')]()),_0x4bb136=_0x103bf2['x']['redMul'](_0x2d624c[_0x1a4e('0x9f7')](_0x3533a1)[_0x1a4e('0x9ff')]());return this['curve'][_0x1a4e('0xc4')](_0x4074e2,_0x4bb136);},_0x4bb136[_0x1a4e('0xa')]['mul']=function(_0x545cd3){for(var _0x103bf2=_0x545cd3[_0x1a4e('0x240')](),_0x14e522=this,_0x456ce6=this['curve'][_0x1a4e('0xc4')](null,null),_0x4e1fc8=[];0x0!==_0x103bf2[_0x1a4e('0x9e0')](0x0);_0x103bf2[_0x1a4e('0x9c9')](0x1))_0x4e1fc8[_0x1a4e('0x46')](_0x103bf2['andln'](0x1));for(var _0x2d624c=_0x4e1fc8[_0x1a4e('0x1e')]-0x1;_0x2d624c>=0x0;_0x2d624c--)0x0===_0x4e1fc8[_0x2d624c]?(_0x14e522=_0x14e522['diffAdd'](_0x456ce6,this),_0x456ce6=_0x456ce6['dbl']()):(_0x456ce6=_0x14e522['diffAdd'](_0x456ce6,this),_0x14e522=_0x14e522[_0x1a4e('0xbbf')]());return _0x456ce6;},_0x4bb136[_0x1a4e('0xa')][_0x1a4e('0xbe1')]=function(){throw new Error(_0x1a4e('0xbdf'));},_0x4bb136[_0x1a4e('0xa')][_0x1a4e('0xbe2')]=function(){throw new Error(_0x1a4e('0xbdf'));},_0x4bb136[_0x1a4e('0xa')]['eq']=function(_0x545cd3){return 0x0===this[_0x1a4e('0x296')]()[_0x1a4e('0x97b')](_0x545cd3[_0x1a4e('0x296')]());},_0x4bb136[_0x1a4e('0xa')][_0x1a4e('0x330')]=function(){return this['x']=this['x'][_0x1a4e('0xa1e')](this['z']['redInvm']()),this['z']=this[_0x1a4e('0xab0')][_0x1a4e('0xbc7')],this;},_0x4bb136[_0x1a4e('0xa')][_0x1a4e('0x296')]=function(){return this['normalize'](),this['x'][_0x1a4e('0x9ed')]();};},'./node_modules/elliptic/lib/elliptic/curve/short.js':function(_0x4914e7,_0x5c5ff5,_0x1a3a0a){'use strict';var _0x253d9a=_0x1a3a0a(_0x1a4e('0xb9a')),_0x52b55b=_0x1a3a0a(_0x1a4e('0xaac')),_0x1f826e=_0x1a3a0a(_0x1a4e('0x863')),_0x5f406e=_0x1a3a0a(_0x1a4e('0xbc1')),_0x3809cf=_0x253d9a['assert'];function _0x39fd59(_0x4914e7){_0x5f406e[_0x1a4e('0x1')](this,_0x1a4e('0xbe3'),_0x4914e7),this['a']=new _0x52b55b(_0x4914e7['a'],0x10)[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]),this['b']=new _0x52b55b(_0x4914e7['b'],0x10)[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]),this[_0x1a4e('0xbe4')]=this[_0x1a4e('0xba1')][_0x1a4e('0xa05')](),this[_0x1a4e('0xbe5')]=0x0===this['a'][_0x1a4e('0x9ed')]()[_0x1a4e('0x9e0')](0x0),this[_0x1a4e('0xbe6')]=0x0===this['a'][_0x1a4e('0x9ed')]()[_0x1a4e('0x16a')](this['p'])[_0x1a4e('0x9e0')](-0x3),this[_0x1a4e('0xbe7')]=this[_0x1a4e('0xbe8')](_0x4914e7),this[_0x1a4e('0xbe9')]=new Array(0x4),this[_0x1a4e('0xbea')]=new Array(0x4);}function _0x218800(_0x4914e7,_0x5c5ff5,_0x1a3a0a,_0x253d9a){_0x5f406e['BasePoint'][_0x1a4e('0x1')](this,_0x4914e7,_0x1a4e('0xbb4')),null===_0x5c5ff5&&null===_0x1a3a0a?(this['x']=null,this['y']=null,this['inf']=!0x0):(this['x']=new _0x52b55b(_0x5c5ff5,0x10),this['y']=new _0x52b55b(_0x1a3a0a,0x10),_0x253d9a&&(this['x'][_0x1a4e('0x9f0')](this['curve'][_0x1a4e('0x979')]),this['y'][_0x1a4e('0x9f0')](this[_0x1a4e('0xab0')][_0x1a4e('0x979')])),this['x'][_0x1a4e('0x979')]||(this['x']=this['x']['toRed'](this['curve'][_0x1a4e('0x979')])),this['y'][_0x1a4e('0x979')]||(this['y']=this['y'][_0x1a4e('0x9e8')](this[_0x1a4e('0xab0')][_0x1a4e('0x979')])),this[_0x1a4e('0xbeb')]=!0x1);}function _0x58a409(_0x4914e7,_0x5c5ff5,_0x1a3a0a,_0x253d9a){_0x5f406e[_0x1a4e('0xbb7')][_0x1a4e('0x1')](this,_0x4914e7,'jacobian'),null===_0x5c5ff5&&null===_0x1a3a0a&&null===_0x253d9a?(this['x']=this[_0x1a4e('0xab0')]['one'],this['y']=this[_0x1a4e('0xab0')][_0x1a4e('0xbc7')],this['z']=new _0x52b55b(0x0)):(this['x']=new _0x52b55b(_0x5c5ff5,0x10),this['y']=new _0x52b55b(_0x1a3a0a,0x10),this['z']=new _0x52b55b(_0x253d9a,0x10)),this['x'][_0x1a4e('0x979')]||(this['x']=this['x']['toRed'](this[_0x1a4e('0xab0')][_0x1a4e('0x979')])),this['y'][_0x1a4e('0x979')]||(this['y']=this['y']['toRed'](this[_0x1a4e('0xab0')]['red'])),this['z'][_0x1a4e('0x979')]||(this['z']=this['z'][_0x1a4e('0x9e8')](this[_0x1a4e('0xab0')][_0x1a4e('0x979')])),this['zOne']=this['z']===this[_0x1a4e('0xab0')]['one'];}_0x1f826e(_0x39fd59,_0x5f406e),_0x4914e7[_0x1a4e('0x0')]=_0x39fd59,_0x39fd59['prototype'][_0x1a4e('0xbe8')]=function(_0x4914e7){if(this['zeroA']&&this['g']&&this['n']&&0x1===this['p'][_0x1a4e('0x99c')](0x3)){var _0x5c5ff5,_0x1a3a0a;if(_0x4914e7[_0x1a4e('0xbec')])_0x5c5ff5=new _0x52b55b(_0x4914e7[_0x1a4e('0xbec')],0x10)[_0x1a4e('0x9e8')](this['red']);else{var _0x253d9a=this[_0x1a4e('0xbed')](this['p']);_0x5c5ff5=(_0x5c5ff5=_0x253d9a[0x0][_0x1a4e('0x97b')](_0x253d9a[0x1])<0x0?_0x253d9a[0x0]:_0x253d9a[0x1])[_0x1a4e('0x9e8')](this['red']);}if(_0x4914e7[_0x1a4e('0xbee')])_0x1a3a0a=new _0x52b55b(_0x4914e7[_0x1a4e('0xbee')],0x10);else{var _0x1f826e=this[_0x1a4e('0xbed')](this['n']);0x0===this['g'][_0x1a4e('0x9c3')](_0x1f826e[0x0])['x']['cmp'](this['g']['x'][_0x1a4e('0xa1e')](_0x5c5ff5))?_0x1a3a0a=_0x1f826e[0x0]:(_0x1a3a0a=_0x1f826e[0x1],_0x3809cf(0x0===this['g'][_0x1a4e('0x9c3')](_0x1a3a0a)['x'][_0x1a4e('0x97b')](this['g']['x'][_0x1a4e('0xa1e')](_0x5c5ff5))));}return{'beta':_0x5c5ff5,'lambda':_0x1a3a0a,'basis':_0x4914e7[_0x1a4e('0xbef')]?_0x4914e7[_0x1a4e('0xbef')]['map'](function(_0x4914e7){return{'a':new _0x52b55b(_0x4914e7['a'],0x10),'b':new _0x52b55b(_0x4914e7['b'],0x10)};}):this['_getEndoBasis'](_0x1a3a0a)};}},_0x39fd59[_0x1a4e('0xa')][_0x1a4e('0xbed')]=function(_0x4914e7){var _0x5c5ff5=_0x4914e7===this['p']?this[_0x1a4e('0x979')]:_0x52b55b[_0x1a4e('0xa1f')](_0x4914e7),_0x1a3a0a=new _0x52b55b(0x2)[_0x1a4e('0x9e8')](_0x5c5ff5)[_0x1a4e('0xa05')](),_0x253d9a=_0x1a3a0a[_0x1a4e('0xa07')](),_0x1f826e=new _0x52b55b(0x3)[_0x1a4e('0x9e8')](_0x5c5ff5)[_0x1a4e('0xa07')]()[_0x1a4e('0xa03')]()[_0x1a4e('0xa1e')](_0x1a3a0a);return[_0x253d9a[_0x1a4e('0x9f1')](_0x1f826e)[_0x1a4e('0x9ed')](),_0x253d9a[_0x1a4e('0x9f5')](_0x1f826e)['fromRed']()];},_0x39fd59[_0x1a4e('0xa')]['_getEndoBasis']=function(_0x4914e7){for(var _0x5c5ff5,_0x1a3a0a,_0x253d9a,_0x1f826e,_0x5f406e,_0x3809cf,_0x39fd59,_0x218800,_0x58a409,_0x159c86=this['n'][_0x1a4e('0x9cc')](Math[_0x1a4e('0xb4')](this['n']['bitLength']()/0x2)),_0x4dbe6f=_0x4914e7,_0x352c81=this['n'][_0x1a4e('0x240')](),_0x57a5b6=new _0x52b55b(0x1),_0x96b6e7=new _0x52b55b(0x0),_0x11c4c6=new _0x52b55b(0x0),_0xd3211e=new _0x52b55b(0x1),_0x4f8f71=0x0;0x0!==_0x4dbe6f[_0x1a4e('0x9e0')](0x0);){var _0x2a1597=_0x352c81[_0x1a4e('0x9d6')](_0x4dbe6f);_0x218800=_0x352c81[_0x1a4e('0x16a')](_0x2a1597[_0x1a4e('0x9c3')](_0x4dbe6f)),_0x58a409=_0x11c4c6['sub'](_0x2a1597[_0x1a4e('0x9c3')](_0x57a5b6));var _0x3a492f=_0xd3211e[_0x1a4e('0x16a')](_0x2a1597['mul'](_0x96b6e7));if(!_0x253d9a&&_0x218800[_0x1a4e('0x97b')](_0x159c86)<0x0)_0x5c5ff5=_0x39fd59[_0x1a4e('0x9ad')](),_0x1a3a0a=_0x57a5b6,_0x253d9a=_0x218800[_0x1a4e('0x9ad')](),_0x1f826e=_0x58a409;else if(_0x253d9a&&0x2==++_0x4f8f71)break;_0x39fd59=_0x218800,_0x352c81=_0x4dbe6f,_0x4dbe6f=_0x218800,_0x11c4c6=_0x57a5b6,_0x57a5b6=_0x58a409,_0xd3211e=_0x96b6e7,_0x96b6e7=_0x3a492f;}_0x5f406e=_0x218800[_0x1a4e('0x9ad')](),_0x3809cf=_0x58a409;var _0x1297d5=_0x253d9a[_0x1a4e('0x274')]()[_0x1a4e('0x177')](_0x1f826e['sqr']());return _0x5f406e[_0x1a4e('0x274')]()['add'](_0x3809cf['sqr']())[_0x1a4e('0x97b')](_0x1297d5)>=0x0&&(_0x5f406e=_0x5c5ff5,_0x3809cf=_0x1a3a0a),_0x253d9a['negative']&&(_0x253d9a=_0x253d9a['neg'](),_0x1f826e=_0x1f826e[_0x1a4e('0x9ad')]()),_0x5f406e[_0x1a4e('0x978')]&&(_0x5f406e=_0x5f406e[_0x1a4e('0x9ad')](),_0x3809cf=_0x3809cf['neg']()),[{'a':_0x253d9a,'b':_0x1f826e},{'a':_0x5f406e,'b':_0x3809cf}];},_0x39fd59[_0x1a4e('0xa')][_0x1a4e('0xbf0')]=function(_0x4914e7){var _0x5c5ff5=this[_0x1a4e('0xbe7')][_0x1a4e('0xbef')],_0x1a3a0a=_0x5c5ff5[0x0],_0x253d9a=_0x5c5ff5[0x1],_0x52b55b=_0x253d9a['b'][_0x1a4e('0x9c3')](_0x4914e7)[_0x1a4e('0x9db')](this['n']),_0x1f826e=_0x1a3a0a['b'][_0x1a4e('0x9ad')]()[_0x1a4e('0x9c3')](_0x4914e7)['divRound'](this['n']),_0x5f406e=_0x52b55b[_0x1a4e('0x9c3')](_0x1a3a0a['a']),_0x3809cf=_0x1f826e[_0x1a4e('0x9c3')](_0x253d9a['a']),_0x39fd59=_0x52b55b[_0x1a4e('0x9c3')](_0x1a3a0a['b']),_0x218800=_0x1f826e[_0x1a4e('0x9c3')](_0x253d9a['b']);return{'k1':_0x4914e7[_0x1a4e('0x16a')](_0x5f406e)[_0x1a4e('0x16a')](_0x3809cf),'k2':_0x39fd59[_0x1a4e('0x177')](_0x218800)[_0x1a4e('0x9ad')]()};},_0x39fd59[_0x1a4e('0xa')][_0x1a4e('0xbb9')]=function(_0x4914e7,_0x5c5ff5){(_0x4914e7=new _0x52b55b(_0x4914e7,0x10))[_0x1a4e('0x979')]||(_0x4914e7=_0x4914e7[_0x1a4e('0x9e8')](this[_0x1a4e('0x979')]));var _0x1a3a0a=_0x4914e7[_0x1a4e('0x9ff')]()[_0x1a4e('0xa1e')](_0x4914e7)[_0x1a4e('0x9f3')](_0x4914e7[_0x1a4e('0xa1e')](this['a']))['redIAdd'](this['b']),_0x253d9a=_0x1a3a0a['redSqrt']();if(0x0!==_0x253d9a[_0x1a4e('0x9ff')]()['redSub'](_0x1a3a0a)[_0x1a4e('0x97b')](this[_0x1a4e('0xbc6')]))throw new Error(_0x1a4e('0xbcb'));var _0x1f826e=_0x253d9a['fromRed']()[_0x1a4e('0x9df')]();return(_0x5c5ff5&&!_0x1f826e||!_0x5c5ff5&&_0x1f826e)&&(_0x253d9a=_0x253d9a[_0x1a4e('0xa07')]()),this['point'](_0x4914e7,_0x253d9a);},_0x39fd59[_0x1a4e('0xa')][_0x1a4e('0xbaa')]=function(_0x4914e7){if(_0x4914e7[_0x1a4e('0xbeb')])return!0x0;var _0x5c5ff5=_0x4914e7['x'],_0x1a3a0a=_0x4914e7['y'],_0x253d9a=this['a'][_0x1a4e('0xa1e')](_0x5c5ff5),_0x52b55b=_0x5c5ff5['redSqr']()[_0x1a4e('0xa1e')](_0x5c5ff5)[_0x1a4e('0x9f3')](_0x253d9a)[_0x1a4e('0x9f3')](this['b']);return 0x0===_0x1a3a0a[_0x1a4e('0x9ff')]()['redISub'](_0x52b55b)[_0x1a4e('0x9e0')](0x0);},_0x39fd59['prototype'][_0x1a4e('0xbf1')]=function(_0x4914e7,_0x5c5ff5,_0x1a3a0a){for(var _0x253d9a=this['_endoWnafT1'],_0x52b55b=this[_0x1a4e('0xbea')],_0x1f826e=0x0;_0x1f826e<_0x4914e7['length'];_0x1f826e++){var _0x5f406e=this[_0x1a4e('0xbf0')](_0x5c5ff5[_0x1f826e]),_0x3809cf=_0x4914e7[_0x1f826e],_0x39fd59=_0x3809cf[_0x1a4e('0xbbc')]();_0x5f406e['k1'][_0x1a4e('0x978')]&&(_0x5f406e['k1'][_0x1a4e('0x9ab')](),_0x3809cf=_0x3809cf[_0x1a4e('0x9ad')](!0x0)),_0x5f406e['k2'][_0x1a4e('0x978')]&&(_0x5f406e['k2'][_0x1a4e('0x9ab')](),_0x39fd59=_0x39fd59['neg'](!0x0)),_0x253d9a[0x2*_0x1f826e]=_0x3809cf,_0x253d9a[0x2*_0x1f826e+0x1]=_0x39fd59,_0x52b55b[0x2*_0x1f826e]=_0x5f406e['k1'],_0x52b55b[0x2*_0x1f826e+0x1]=_0x5f406e['k2'];}for(var _0x218800=this[_0x1a4e('0xbb5')](0x1,_0x253d9a,_0x52b55b,0x2*_0x1f826e,_0x1a3a0a),_0x58a409=0x0;_0x58a409<0x2*_0x1f826e;_0x58a409++)_0x253d9a[_0x58a409]=null,_0x52b55b[_0x58a409]=null;return _0x218800;},_0x1f826e(_0x218800,_0x5f406e[_0x1a4e('0xbb7')]),_0x39fd59[_0x1a4e('0xa')]['point']=function(_0x4914e7,_0x5c5ff5,_0x1a3a0a){return new _0x218800(this,_0x4914e7,_0x5c5ff5,_0x1a3a0a);},_0x39fd59[_0x1a4e('0xa')][_0x1a4e('0xbcd')]=function(_0x4914e7,_0x5c5ff5){return _0x218800[_0x1a4e('0xba')](this,_0x4914e7,_0x5c5ff5);},_0x218800[_0x1a4e('0xa')][_0x1a4e('0xbbc')]=function(){if(this[_0x1a4e('0xab0')][_0x1a4e('0xbe7')]){var _0x4914e7=this[_0x1a4e('0xbab')];if(_0x4914e7&&_0x4914e7[_0x1a4e('0xbec')])return _0x4914e7[_0x1a4e('0xbec')];var _0x5c5ff5=this[_0x1a4e('0xab0')][_0x1a4e('0xc4')](this['x']['redMul'](this[_0x1a4e('0xab0')][_0x1a4e('0xbe7')][_0x1a4e('0xbec')]),this['y']);if(_0x4914e7){var _0x1a3a0a=this[_0x1a4e('0xab0')],_0x253d9a=function(_0x4914e7){return _0x1a3a0a[_0x1a4e('0xc4')](_0x4914e7['x'][_0x1a4e('0xa1e')](_0x1a3a0a[_0x1a4e('0xbe7')][_0x1a4e('0xbec')]),_0x4914e7['y']);};_0x4914e7['beta']=_0x5c5ff5,_0x5c5ff5[_0x1a4e('0xbab')]={'beta':null,'naf':_0x4914e7[_0x1a4e('0xbc0')]&&{'wnd':_0x4914e7[_0x1a4e('0xbc0')]['wnd'],'points':_0x4914e7[_0x1a4e('0xbc0')][_0x1a4e('0x17d')][_0x1a4e('0x21')](_0x253d9a)},'doubles':_0x4914e7[_0x1a4e('0xbbe')]&&{'step':_0x4914e7['doubles'][_0x1a4e('0xbad')],'points':_0x4914e7[_0x1a4e('0xbbe')][_0x1a4e('0x17d')]['map'](_0x253d9a)}};}return _0x5c5ff5;}},_0x218800[_0x1a4e('0xa')][_0x1a4e('0xb9')]=function(){return this[_0x1a4e('0xbab')]?[this['x'],this['y'],this[_0x1a4e('0xbab')]&&{'doubles':this[_0x1a4e('0xbab')][_0x1a4e('0xbbe')]&&{'step':this[_0x1a4e('0xbab')][_0x1a4e('0xbbe')][_0x1a4e('0xbad')],'points':this[_0x1a4e('0xbab')][_0x1a4e('0xbbe')][_0x1a4e('0x17d')][_0x1a4e('0x78')](0x1)},'naf':this[_0x1a4e('0xbab')]['naf']&&{'wnd':this[_0x1a4e('0xbab')][_0x1a4e('0xbc0')][_0x1a4e('0xbb2')],'points':this[_0x1a4e('0xbab')][_0x1a4e('0xbc0')][_0x1a4e('0x17d')]['slice'](0x1)}}]:[this['x'],this['y']];},_0x218800['fromJSON']=function(_0x4914e7,_0x5c5ff5,_0x1a3a0a){_0x1a4e('0x9')==typeof _0x5c5ff5&&(_0x5c5ff5=JSON[_0x1a4e('0x25a')](_0x5c5ff5));var _0x253d9a=_0x4914e7['point'](_0x5c5ff5[0x0],_0x5c5ff5[0x1],_0x1a3a0a);if(!_0x5c5ff5[0x2])return _0x253d9a;function _0x52b55b(_0x5c5ff5){return _0x4914e7['point'](_0x5c5ff5[0x0],_0x5c5ff5[0x1],_0x1a3a0a);}var _0x1f826e=_0x5c5ff5[0x2];return _0x253d9a[_0x1a4e('0xbab')]={'beta':null,'doubles':_0x1f826e['doubles']&&{'step':_0x1f826e[_0x1a4e('0xbbe')][_0x1a4e('0xbad')],'points':[_0x253d9a][_0x1a4e('0x9a')](_0x1f826e[_0x1a4e('0xbbe')]['points'][_0x1a4e('0x21')](_0x52b55b))},'naf':_0x1f826e['naf']&&{'wnd':_0x1f826e['naf'][_0x1a4e('0xbb2')],'points':[_0x253d9a][_0x1a4e('0x9a')](_0x1f826e['naf'][_0x1a4e('0x17d')]['map'](_0x52b55b))}},_0x253d9a;},_0x218800[_0x1a4e('0xa')][_0x1a4e('0xae2')]=function(){return this[_0x1a4e('0xbcc')]()?_0x1a4e('0xbf2'):_0x1a4e('0xbce')+this['x']['fromRed']()[_0x1a4e('0x95')](0x10,0x2)+_0x1a4e('0xbcf')+this['y'][_0x1a4e('0x9ed')]()['toString'](0x10,0x2)+'>';},_0x218800[_0x1a4e('0xa')]['isInfinity']=function(){return this[_0x1a4e('0xbeb')];},_0x218800[_0x1a4e('0xa')]['add']=function(_0x4914e7){if(this[_0x1a4e('0xbeb')])return _0x4914e7;if(_0x4914e7['inf'])return this;if(this['eq'](_0x4914e7))return this[_0x1a4e('0xbbf')]();if(this[_0x1a4e('0x9ad')]()['eq'](_0x4914e7))return this['curve'][_0x1a4e('0xc4')](null,null);if(0x0===this['x'][_0x1a4e('0x97b')](_0x4914e7['x']))return this[_0x1a4e('0xab0')][_0x1a4e('0xc4')](null,null);var _0x5c5ff5=this['y'][_0x1a4e('0x9f5')](_0x4914e7['y']);0x0!==_0x5c5ff5['cmpn'](0x0)&&(_0x5c5ff5=_0x5c5ff5['redMul'](this['x'][_0x1a4e('0x9f5')](_0x4914e7['x'])[_0x1a4e('0xa05')]()));var _0x1a3a0a=_0x5c5ff5[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](this['x'])[_0x1a4e('0x9f7')](_0x4914e7['x']),_0x253d9a=_0x5c5ff5[_0x1a4e('0xa1e')](this['x'][_0x1a4e('0x9f5')](_0x1a3a0a))['redISub'](this['y']);return this[_0x1a4e('0xab0')]['point'](_0x1a3a0a,_0x253d9a);},_0x218800[_0x1a4e('0xa')]['dbl']=function(){if(this[_0x1a4e('0xbeb')])return this;var _0x4914e7=this['y'][_0x1a4e('0x9f1')](this['y']);if(0x0===_0x4914e7['cmpn'](0x0))return this['curve'][_0x1a4e('0xc4')](null,null);var _0x5c5ff5=this['curve']['a'],_0x1a3a0a=this['x'][_0x1a4e('0x9ff')](),_0x253d9a=_0x4914e7[_0x1a4e('0xa05')](),_0x52b55b=_0x1a3a0a[_0x1a4e('0x9f1')](_0x1a3a0a)[_0x1a4e('0x9f3')](_0x1a3a0a)[_0x1a4e('0x9f3')](_0x5c5ff5)['redMul'](_0x253d9a),_0x1f826e=_0x52b55b['redSqr']()[_0x1a4e('0x9f7')](this['x'][_0x1a4e('0x9f1')](this['x'])),_0x5f406e=_0x52b55b[_0x1a4e('0xa1e')](this['x']['redSub'](_0x1f826e))[_0x1a4e('0x9f7')](this['y']);return this[_0x1a4e('0xab0')][_0x1a4e('0xc4')](_0x1f826e,_0x5f406e);},_0x218800[_0x1a4e('0xa')][_0x1a4e('0x296')]=function(){return this['x'][_0x1a4e('0x9ed')]();},_0x218800['prototype'][_0x1a4e('0x292')]=function(){return this['y'][_0x1a4e('0x9ed')]();},_0x218800[_0x1a4e('0xa')]['mul']=function(_0x4914e7){return _0x4914e7=new _0x52b55b(_0x4914e7,0x10),this[_0x1a4e('0xbbd')](_0x4914e7)?this[_0x1a4e('0xab0')][_0x1a4e('0xbd7')](this,_0x4914e7):this['curve'][_0x1a4e('0xbe7')]?this['curve'][_0x1a4e('0xbf1')]([this],[_0x4914e7]):this[_0x1a4e('0xab0')][_0x1a4e('0xbd8')](this,_0x4914e7);},_0x218800[_0x1a4e('0xa')]['mulAdd']=function(_0x4914e7,_0x5c5ff5,_0x1a3a0a){var _0x253d9a=[this,_0x5c5ff5],_0x52b55b=[_0x4914e7,_0x1a3a0a];return this[_0x1a4e('0xab0')][_0x1a4e('0xbe7')]?this[_0x1a4e('0xab0')][_0x1a4e('0xbf1')](_0x253d9a,_0x52b55b):this[_0x1a4e('0xab0')][_0x1a4e('0xbb5')](0x1,_0x253d9a,_0x52b55b,0x2);},_0x218800[_0x1a4e('0xa')][_0x1a4e('0xbd9')]=function(_0x4914e7,_0x5c5ff5,_0x1a3a0a){var _0x253d9a=[this,_0x5c5ff5],_0x52b55b=[_0x4914e7,_0x1a3a0a];return this['curve'][_0x1a4e('0xbe7')]?this[_0x1a4e('0xab0')][_0x1a4e('0xbf1')](_0x253d9a,_0x52b55b,!0x0):this[_0x1a4e('0xab0')][_0x1a4e('0xbb5')](0x1,_0x253d9a,_0x52b55b,0x2,!0x0);},_0x218800['prototype']['eq']=function(_0x4914e7){return this===_0x4914e7||this[_0x1a4e('0xbeb')]===_0x4914e7[_0x1a4e('0xbeb')]&&(this[_0x1a4e('0xbeb')]||0x0===this['x'][_0x1a4e('0x97b')](_0x4914e7['x'])&&0x0===this['y'][_0x1a4e('0x97b')](_0x4914e7['y']));},_0x218800[_0x1a4e('0xa')][_0x1a4e('0x9ad')]=function(_0x4914e7){if(this['inf'])return this;var _0x5c5ff5=this[_0x1a4e('0xab0')][_0x1a4e('0xc4')](this['x'],this['y'][_0x1a4e('0xa07')]());if(_0x4914e7&&this[_0x1a4e('0xbab')]){var _0x1a3a0a=this[_0x1a4e('0xbab')],_0x253d9a=function(_0x4914e7){return _0x4914e7[_0x1a4e('0x9ad')]();};_0x5c5ff5['precomputed']={'naf':_0x1a3a0a['naf']&&{'wnd':_0x1a3a0a[_0x1a4e('0xbc0')][_0x1a4e('0xbb2')],'points':_0x1a3a0a[_0x1a4e('0xbc0')]['points'][_0x1a4e('0x21')](_0x253d9a)},'doubles':_0x1a3a0a['doubles']&&{'step':_0x1a3a0a[_0x1a4e('0xbbe')]['step'],'points':_0x1a3a0a[_0x1a4e('0xbbe')][_0x1a4e('0x17d')][_0x1a4e('0x21')](_0x253d9a)}};}return _0x5c5ff5;},_0x218800[_0x1a4e('0xa')][_0x1a4e('0xbb6')]=function(){return this[_0x1a4e('0xbeb')]?this[_0x1a4e('0xab0')][_0x1a4e('0xbae')](null,null,null):this['curve']['jpoint'](this['x'],this['y'],this['curve'][_0x1a4e('0xbc7')]);},_0x1f826e(_0x58a409,_0x5f406e['BasePoint']),_0x39fd59[_0x1a4e('0xa')][_0x1a4e('0xbae')]=function(_0x4914e7,_0x5c5ff5,_0x1a3a0a){return new _0x58a409(this,_0x4914e7,_0x5c5ff5,_0x1a3a0a);},_0x58a409['prototype']['toP']=function(){if(this[_0x1a4e('0xbcc')]())return this[_0x1a4e('0xab0')][_0x1a4e('0xc4')](null,null);var _0x4914e7=this['z'][_0x1a4e('0xa05')](),_0x5c5ff5=_0x4914e7[_0x1a4e('0x9ff')](),_0x1a3a0a=this['x'][_0x1a4e('0xa1e')](_0x5c5ff5),_0x253d9a=this['y'][_0x1a4e('0xa1e')](_0x5c5ff5)[_0x1a4e('0xa1e')](_0x4914e7);return this[_0x1a4e('0xab0')][_0x1a4e('0xc4')](_0x1a3a0a,_0x253d9a);},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0x9ad')]=function(){return this[_0x1a4e('0xab0')][_0x1a4e('0xbae')](this['x'],this['y'][_0x1a4e('0xa07')](),this['z']);},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x4914e7){if(this['isInfinity']())return _0x4914e7;if(_0x4914e7[_0x1a4e('0xbcc')]())return this;var _0x5c5ff5=_0x4914e7['z']['redSqr'](),_0x1a3a0a=this['z'][_0x1a4e('0x9ff')](),_0x253d9a=this['x'][_0x1a4e('0xa1e')](_0x5c5ff5),_0x52b55b=_0x4914e7['x'][_0x1a4e('0xa1e')](_0x1a3a0a),_0x1f826e=this['y'][_0x1a4e('0xa1e')](_0x5c5ff5[_0x1a4e('0xa1e')](_0x4914e7['z'])),_0x5f406e=_0x4914e7['y'][_0x1a4e('0xa1e')](_0x1a3a0a[_0x1a4e('0xa1e')](this['z'])),_0x3809cf=_0x253d9a[_0x1a4e('0x9f5')](_0x52b55b),_0x39fd59=_0x1f826e[_0x1a4e('0x9f5')](_0x5f406e);if(0x0===_0x3809cf[_0x1a4e('0x9e0')](0x0))return 0x0!==_0x39fd59[_0x1a4e('0x9e0')](0x0)?this['curve']['jpoint'](null,null,null):this[_0x1a4e('0xbbf')]();var _0x218800=_0x3809cf[_0x1a4e('0x9ff')](),_0x58a409=_0x218800[_0x1a4e('0xa1e')](_0x3809cf),_0x55bf10=_0x253d9a[_0x1a4e('0xa1e')](_0x218800),_0x139868=_0x39fd59['redSqr']()[_0x1a4e('0x9f3')](_0x58a409)['redISub'](_0x55bf10)[_0x1a4e('0x9f7')](_0x55bf10),_0x3e7778=_0x39fd59[_0x1a4e('0xa1e')](_0x55bf10[_0x1a4e('0x9f7')](_0x139868))[_0x1a4e('0x9f7')](_0x1f826e[_0x1a4e('0xa1e')](_0x58a409)),_0x4fc517=this['z'][_0x1a4e('0xa1e')](_0x4914e7['z'])['redMul'](_0x3809cf);return this['curve']['jpoint'](_0x139868,_0x3e7778,_0x4fc517);},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0xbaf')]=function(_0x4914e7){if(this[_0x1a4e('0xbcc')]())return _0x4914e7[_0x1a4e('0xbb6')]();if(_0x4914e7['isInfinity']())return this;var _0x5c5ff5=this['z']['redSqr'](),_0x1a3a0a=this['x'],_0x253d9a=_0x4914e7['x'][_0x1a4e('0xa1e')](_0x5c5ff5),_0x52b55b=this['y'],_0x1f826e=_0x4914e7['y'][_0x1a4e('0xa1e')](_0x5c5ff5)[_0x1a4e('0xa1e')](this['z']),_0x5f406e=_0x1a3a0a[_0x1a4e('0x9f5')](_0x253d9a),_0x3809cf=_0x52b55b['redSub'](_0x1f826e);if(0x0===_0x5f406e[_0x1a4e('0x9e0')](0x0))return 0x0!==_0x3809cf[_0x1a4e('0x9e0')](0x0)?this['curve']['jpoint'](null,null,null):this[_0x1a4e('0xbbf')]();var _0x39fd59=_0x5f406e[_0x1a4e('0x9ff')](),_0x218800=_0x39fd59[_0x1a4e('0xa1e')](_0x5f406e),_0x58a409=_0x1a3a0a[_0x1a4e('0xa1e')](_0x39fd59),_0x9e3f35=_0x3809cf[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f3')](_0x218800)[_0x1a4e('0x9f7')](_0x58a409)['redISub'](_0x58a409),_0x7e7eed=_0x3809cf['redMul'](_0x58a409[_0x1a4e('0x9f7')](_0x9e3f35))[_0x1a4e('0x9f7')](_0x52b55b[_0x1a4e('0xa1e')](_0x218800)),_0x3311c2=this['z'][_0x1a4e('0xa1e')](_0x5f406e);return this['curve'][_0x1a4e('0xbae')](_0x9e3f35,_0x7e7eed,_0x3311c2);},_0x58a409[_0x1a4e('0xa')]['dblp']=function(_0x4914e7){if(0x0===_0x4914e7)return this;if(this[_0x1a4e('0xbcc')]())return this;if(!_0x4914e7)return this[_0x1a4e('0xbbf')]();if(this['curve'][_0x1a4e('0xbe5')]||this['curve'][_0x1a4e('0xbe6')]){for(var _0x5c5ff5=this,_0x1a3a0a=0x0;_0x1a3a0a<_0x4914e7;_0x1a3a0a++)_0x5c5ff5=_0x5c5ff5[_0x1a4e('0xbbf')]();return _0x5c5ff5;}var _0x253d9a=this[_0x1a4e('0xab0')]['a'],_0x52b55b=this[_0x1a4e('0xab0')]['tinv'],_0x1f826e=this['x'],_0x5f406e=this['y'],_0x3809cf=this['z'],_0x39fd59=_0x3809cf[_0x1a4e('0x9ff')]()[_0x1a4e('0x9ff')](),_0x218800=_0x5f406e[_0x1a4e('0x9f1')](_0x5f406e);for(_0x1a3a0a=0x0;_0x1a3a0a<_0x4914e7;_0x1a3a0a++){var _0x58a409=_0x1f826e[_0x1a4e('0x9ff')](),_0x1e1274=_0x218800[_0x1a4e('0x9ff')](),_0x1cd512=_0x1e1274[_0x1a4e('0x9ff')](),_0x549fb0=_0x58a409[_0x1a4e('0x9f1')](_0x58a409)[_0x1a4e('0x9f3')](_0x58a409)[_0x1a4e('0x9f3')](_0x253d9a[_0x1a4e('0xa1e')](_0x39fd59)),_0x349a06=_0x1f826e[_0x1a4e('0xa1e')](_0x1e1274),_0x588067=_0x549fb0[_0x1a4e('0x9ff')]()['redISub'](_0x349a06[_0x1a4e('0x9f1')](_0x349a06)),_0x50afda=_0x349a06[_0x1a4e('0x9f7')](_0x588067),_0x2df835=_0x549fb0['redMul'](_0x50afda);_0x2df835=_0x2df835[_0x1a4e('0x9f3')](_0x2df835)[_0x1a4e('0x9f7')](_0x1cd512);var _0x1cb929=_0x218800[_0x1a4e('0xa1e')](_0x3809cf);_0x1a3a0a+0x1<_0x4914e7&&(_0x39fd59=_0x39fd59[_0x1a4e('0xa1e')](_0x1cd512)),_0x1f826e=_0x588067,_0x3809cf=_0x1cb929,_0x218800=_0x2df835;}return this[_0x1a4e('0xab0')][_0x1a4e('0xbae')](_0x1f826e,_0x218800[_0x1a4e('0xa1e')](_0x52b55b),_0x3809cf);},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0xbbf')]=function(){return this[_0x1a4e('0xbcc')]()?this:this['curve'][_0x1a4e('0xbe5')]?this[_0x1a4e('0xbf3')]():this['curve'][_0x1a4e('0xbe6')]?this[_0x1a4e('0xbf4')]():this[_0x1a4e('0xbf5')]();},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0xbf3')]=function(){var _0x4914e7,_0x5c5ff5,_0x1a3a0a;if(this[_0x1a4e('0xbc8')]){var _0x253d9a=this['x'][_0x1a4e('0x9ff')](),_0x52b55b=this['y'][_0x1a4e('0x9ff')](),_0x1f826e=_0x52b55b['redSqr'](),_0x5f406e=this['x'][_0x1a4e('0x9f1')](_0x52b55b)[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](_0x253d9a)[_0x1a4e('0x9f7')](_0x1f826e);_0x5f406e=_0x5f406e[_0x1a4e('0x9f3')](_0x5f406e);var _0x3809cf=_0x253d9a[_0x1a4e('0x9f1')](_0x253d9a)[_0x1a4e('0x9f3')](_0x253d9a),_0x39fd59=_0x3809cf[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](_0x5f406e)[_0x1a4e('0x9f7')](_0x5f406e),_0x218800=_0x1f826e[_0x1a4e('0x9f3')](_0x1f826e);_0x218800=(_0x218800=_0x218800['redIAdd'](_0x218800))['redIAdd'](_0x218800),_0x4914e7=_0x39fd59,_0x5c5ff5=_0x3809cf['redMul'](_0x5f406e[_0x1a4e('0x9f7')](_0x39fd59))[_0x1a4e('0x9f7')](_0x218800),_0x1a3a0a=this['y']['redAdd'](this['y']);}else{var _0x58a409=this['x'][_0x1a4e('0x9ff')](),_0xfd2baa=this['y'][_0x1a4e('0x9ff')](),_0x50e1fe=_0xfd2baa[_0x1a4e('0x9ff')](),_0x452267=this['x']['redAdd'](_0xfd2baa)[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](_0x58a409)[_0x1a4e('0x9f7')](_0x50e1fe);_0x452267=_0x452267[_0x1a4e('0x9f3')](_0x452267);var _0x4fd079=_0x58a409['redAdd'](_0x58a409)[_0x1a4e('0x9f3')](_0x58a409),_0x25d275=_0x4fd079[_0x1a4e('0x9ff')](),_0x19b5d5=_0x50e1fe['redIAdd'](_0x50e1fe);_0x19b5d5=(_0x19b5d5=_0x19b5d5['redIAdd'](_0x19b5d5))[_0x1a4e('0x9f3')](_0x19b5d5),_0x4914e7=_0x25d275[_0x1a4e('0x9f7')](_0x452267)['redISub'](_0x452267),_0x5c5ff5=_0x4fd079[_0x1a4e('0xa1e')](_0x452267[_0x1a4e('0x9f7')](_0x4914e7))[_0x1a4e('0x9f7')](_0x19b5d5),_0x1a3a0a=(_0x1a3a0a=this['y'][_0x1a4e('0xa1e')](this['z']))['redIAdd'](_0x1a3a0a);}return this[_0x1a4e('0xab0')][_0x1a4e('0xbae')](_0x4914e7,_0x5c5ff5,_0x1a3a0a);},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0xbf4')]=function(){var _0x4914e7,_0x5c5ff5,_0x1a3a0a;if(this['zOne']){var _0x253d9a=this['x'][_0x1a4e('0x9ff')](),_0x52b55b=this['y'][_0x1a4e('0x9ff')](),_0x1f826e=_0x52b55b[_0x1a4e('0x9ff')](),_0x5f406e=this['x']['redAdd'](_0x52b55b)[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](_0x253d9a)[_0x1a4e('0x9f7')](_0x1f826e);_0x5f406e=_0x5f406e[_0x1a4e('0x9f3')](_0x5f406e);var _0x3809cf=_0x253d9a['redAdd'](_0x253d9a)[_0x1a4e('0x9f3')](_0x253d9a)['redIAdd'](this[_0x1a4e('0xab0')]['a']),_0x39fd59=_0x3809cf[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](_0x5f406e)[_0x1a4e('0x9f7')](_0x5f406e);_0x4914e7=_0x39fd59;var _0x218800=_0x1f826e['redIAdd'](_0x1f826e);_0x218800=(_0x218800=_0x218800['redIAdd'](_0x218800))[_0x1a4e('0x9f3')](_0x218800),_0x5c5ff5=_0x3809cf['redMul'](_0x5f406e['redISub'](_0x39fd59))[_0x1a4e('0x9f7')](_0x218800),_0x1a3a0a=this['y']['redAdd'](this['y']);}else{var _0x58a409=this['z'][_0x1a4e('0x9ff')](),_0x388871=this['y']['redSqr'](),_0x1189bf=this['x'][_0x1a4e('0xa1e')](_0x388871),_0x11316a=this['x'][_0x1a4e('0x9f5')](_0x58a409)[_0x1a4e('0xa1e')](this['x'][_0x1a4e('0x9f1')](_0x58a409));_0x11316a=_0x11316a['redAdd'](_0x11316a)[_0x1a4e('0x9f3')](_0x11316a);var _0xd5a2be=_0x1189bf[_0x1a4e('0x9f3')](_0x1189bf),_0x13de31=(_0xd5a2be=_0xd5a2be[_0x1a4e('0x9f3')](_0xd5a2be))[_0x1a4e('0x9f1')](_0xd5a2be);_0x4914e7=_0x11316a[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](_0x13de31),_0x1a3a0a=this['y'][_0x1a4e('0x9f1')](this['z'])[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](_0x388871)[_0x1a4e('0x9f7')](_0x58a409);var _0x379661=_0x388871[_0x1a4e('0x9ff')]();_0x379661=(_0x379661=(_0x379661=_0x379661[_0x1a4e('0x9f3')](_0x379661))['redIAdd'](_0x379661))[_0x1a4e('0x9f3')](_0x379661),_0x5c5ff5=_0x11316a[_0x1a4e('0xa1e')](_0xd5a2be[_0x1a4e('0x9f7')](_0x4914e7))[_0x1a4e('0x9f7')](_0x379661);}return this[_0x1a4e('0xab0')][_0x1a4e('0xbae')](_0x4914e7,_0x5c5ff5,_0x1a3a0a);},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0xbf5')]=function(){var _0x4914e7=this['curve']['a'],_0x5c5ff5=this['x'],_0x1a3a0a=this['y'],_0x253d9a=this['z'],_0x52b55b=_0x253d9a[_0x1a4e('0x9ff')]()[_0x1a4e('0x9ff')](),_0x1f826e=_0x5c5ff5[_0x1a4e('0x9ff')](),_0x5f406e=_0x1a3a0a['redSqr'](),_0x3809cf=_0x1f826e[_0x1a4e('0x9f1')](_0x1f826e)['redIAdd'](_0x1f826e)[_0x1a4e('0x9f3')](_0x4914e7[_0x1a4e('0xa1e')](_0x52b55b)),_0x39fd59=_0x5c5ff5[_0x1a4e('0x9f1')](_0x5c5ff5),_0x218800=(_0x39fd59=_0x39fd59[_0x1a4e('0x9f3')](_0x39fd59))['redMul'](_0x5f406e),_0x58a409=_0x3809cf['redSqr']()[_0x1a4e('0x9f7')](_0x218800[_0x1a4e('0x9f1')](_0x218800)),_0x27e8cf=_0x218800['redISub'](_0x58a409),_0x3e82df=_0x5f406e[_0x1a4e('0x9ff')]();_0x3e82df=(_0x3e82df=(_0x3e82df=_0x3e82df[_0x1a4e('0x9f3')](_0x3e82df))['redIAdd'](_0x3e82df))[_0x1a4e('0x9f3')](_0x3e82df);var _0x4235f1=_0x3809cf[_0x1a4e('0xa1e')](_0x27e8cf)[_0x1a4e('0x9f7')](_0x3e82df),_0x132b94=_0x1a3a0a[_0x1a4e('0x9f1')](_0x1a3a0a)[_0x1a4e('0xa1e')](_0x253d9a);return this[_0x1a4e('0xab0')][_0x1a4e('0xbae')](_0x58a409,_0x4235f1,_0x132b94);},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0xbf6')]=function(){if(!this[_0x1a4e('0xab0')][_0x1a4e('0xbe5')])return this[_0x1a4e('0xbbf')]()['add'](this);var _0x4914e7=this['x'][_0x1a4e('0x9ff')](),_0x5c5ff5=this['y']['redSqr'](),_0x1a3a0a=this['z'][_0x1a4e('0x9ff')](),_0x253d9a=_0x5c5ff5[_0x1a4e('0x9ff')](),_0x52b55b=_0x4914e7[_0x1a4e('0x9f1')](_0x4914e7)['redIAdd'](_0x4914e7),_0x1f826e=_0x52b55b[_0x1a4e('0x9ff')](),_0x5f406e=this['x']['redAdd'](_0x5c5ff5)['redSqr']()['redISub'](_0x4914e7)[_0x1a4e('0x9f7')](_0x253d9a),_0x3809cf=(_0x5f406e=(_0x5f406e=(_0x5f406e=_0x5f406e[_0x1a4e('0x9f3')](_0x5f406e))['redAdd'](_0x5f406e)[_0x1a4e('0x9f3')](_0x5f406e))[_0x1a4e('0x9f7')](_0x1f826e))[_0x1a4e('0x9ff')](),_0x39fd59=_0x253d9a[_0x1a4e('0x9f3')](_0x253d9a);_0x39fd59=(_0x39fd59=(_0x39fd59=_0x39fd59[_0x1a4e('0x9f3')](_0x39fd59))[_0x1a4e('0x9f3')](_0x39fd59))[_0x1a4e('0x9f3')](_0x39fd59);var _0x218800=_0x52b55b[_0x1a4e('0x9f3')](_0x5f406e)[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](_0x1f826e)[_0x1a4e('0x9f7')](_0x3809cf)[_0x1a4e('0x9f7')](_0x39fd59),_0x58a409=_0x5c5ff5[_0x1a4e('0xa1e')](_0x218800);_0x58a409=(_0x58a409=_0x58a409[_0x1a4e('0x9f3')](_0x58a409))[_0x1a4e('0x9f3')](_0x58a409);var _0x25a7e0=this['x'][_0x1a4e('0xa1e')](_0x3809cf)['redISub'](_0x58a409);_0x25a7e0=(_0x25a7e0=_0x25a7e0[_0x1a4e('0x9f3')](_0x25a7e0))['redIAdd'](_0x25a7e0);var _0x399345=this['y'][_0x1a4e('0xa1e')](_0x218800[_0x1a4e('0xa1e')](_0x39fd59[_0x1a4e('0x9f7')](_0x218800))[_0x1a4e('0x9f7')](_0x5f406e[_0x1a4e('0xa1e')](_0x3809cf)));_0x399345=(_0x399345=(_0x399345=_0x399345[_0x1a4e('0x9f3')](_0x399345))['redIAdd'](_0x399345))[_0x1a4e('0x9f3')](_0x399345);var _0x2c2446=this['z'][_0x1a4e('0x9f1')](_0x5f406e)[_0x1a4e('0x9ff')]()[_0x1a4e('0x9f7')](_0x1a3a0a)[_0x1a4e('0x9f7')](_0x3809cf);return this['curve'][_0x1a4e('0xbae')](_0x25a7e0,_0x399345,_0x2c2446);},_0x58a409[_0x1a4e('0xa')]['mul']=function(_0x4914e7,_0x5c5ff5){return _0x4914e7=new _0x52b55b(_0x4914e7,_0x5c5ff5),this[_0x1a4e('0xab0')]['_wnafMul'](this,_0x4914e7);},_0x58a409[_0x1a4e('0xa')]['eq']=function(_0x4914e7){if('affine'===_0x4914e7['type'])return this['eq'](_0x4914e7[_0x1a4e('0xbb6')]());if(this===_0x4914e7)return!0x0;var _0x5c5ff5=this['z'][_0x1a4e('0x9ff')](),_0x1a3a0a=_0x4914e7['z'][_0x1a4e('0x9ff')]();if(0x0!==this['x'][_0x1a4e('0xa1e')](_0x1a3a0a)[_0x1a4e('0x9f7')](_0x4914e7['x'][_0x1a4e('0xa1e')](_0x5c5ff5))['cmpn'](0x0))return!0x1;var _0x253d9a=_0x5c5ff5['redMul'](this['z']),_0x52b55b=_0x1a3a0a[_0x1a4e('0xa1e')](_0x4914e7['z']);return 0x0===this['y'][_0x1a4e('0xa1e')](_0x52b55b)[_0x1a4e('0x9f7')](_0x4914e7['y']['redMul'](_0x253d9a))['cmpn'](0x0);},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0xbda')]=function(_0x4914e7){var _0x5c5ff5=this['z']['redSqr'](),_0x1a3a0a=_0x4914e7[_0x1a4e('0x9e8')](this[_0x1a4e('0xab0')][_0x1a4e('0x979')])[_0x1a4e('0xa1e')](_0x5c5ff5);if(0x0===this['x'][_0x1a4e('0x97b')](_0x1a3a0a))return!0x0;for(var _0x253d9a=_0x4914e7[_0x1a4e('0x240')](),_0x52b55b=this[_0x1a4e('0xab0')][_0x1a4e('0xba7')][_0x1a4e('0xa1e')](_0x5c5ff5);;){if(_0x253d9a[_0x1a4e('0x9b8')](this[_0x1a4e('0xab0')]['n']),_0x253d9a[_0x1a4e('0x97b')](this[_0x1a4e('0xab0')]['p'])>=0x0)return!0x1;if(_0x1a3a0a['redIAdd'](_0x52b55b),0x0===this['x']['cmp'](_0x1a3a0a))return!0x0;}},_0x58a409[_0x1a4e('0xa')]['inspect']=function(){return this['isInfinity']()?_0x1a4e('0xbf7'):_0x1a4e('0xbf8')+this['x']['toString'](0x10,0x2)+_0x1a4e('0xbcf')+this['y'][_0x1a4e('0x95')](0x10,0x2)+'\x20z:\x20'+this['z'][_0x1a4e('0x95')](0x10,0x2)+'>';},_0x58a409[_0x1a4e('0xa')][_0x1a4e('0xbcc')]=function(){return 0x0===this['z'][_0x1a4e('0x9e0')](0x0);};},'./node_modules/elliptic/lib/elliptic/curves.js':function(_0x125d73,_0x288a23,_0x367cc3){'use strict';var _0x5030e9,_0x473948=_0x288a23,_0x3d76b6=_0x367cc3(_0x1a4e('0xbf9')),_0xe3ed03=_0x367cc3(_0x1a4e('0xbfa')),_0x4b7f66=_0x367cc3(_0x1a4e('0xb9a'))[_0x1a4e('0xba0')];function _0x223f7d(_0x125d73){'short'===_0x125d73[_0x1a4e('0x40')]?this[_0x1a4e('0xab0')]=new _0xe3ed03[(_0x1a4e('0xbe3'))](_0x125d73):_0x1a4e('0xbfb')===_0x125d73[_0x1a4e('0x40')]?this[_0x1a4e('0xab0')]=new _0xe3ed03[(_0x1a4e('0xbfb'))](_0x125d73):this[_0x1a4e('0xab0')]=new _0xe3ed03[(_0x1a4e('0xa1f'))](_0x125d73),this['g']=this[_0x1a4e('0xab0')]['g'],this['n']=this[_0x1a4e('0xab0')]['n'],this[_0x1a4e('0xaa4')]=_0x125d73['hash'],_0x4b7f66(this['g'][_0x1a4e('0xbaa')](),_0x1a4e('0xbfc')),_0x4b7f66(this['g'][_0x1a4e('0x9c3')](this['n'])['isInfinity'](),_0x1a4e('0xbfd'));}function _0x25d806(_0x125d73,_0x288a23){Object['defineProperty'](_0x473948,_0x125d73,{'configurable':!0x0,'enumerable':!0x0,'get':function(){var _0x367cc3=new _0x223f7d(_0x288a23);return Object['defineProperty'](_0x473948,_0x125d73,{'configurable':!0x0,'enumerable':!0x0,'value':_0x367cc3}),_0x367cc3;}});}_0x473948[_0x1a4e('0xbfe')]=_0x223f7d,_0x25d806(_0x1a4e('0xa0f'),{'type':_0x1a4e('0xbe3'),'prime':_0x1a4e('0xa0f'),'p':'ffffffff\x20ffffffff\x20ffffffff\x20fffffffe\x20ffffffff\x20ffffffff','a':_0x1a4e('0xbff'),'b':'64210519\x20e59c80e7\x200fa7e9ab\x2072243049\x20feb8deec\x20c146b9b1','n':'ffffffff\x20ffffffff\x20ffffffff\x2099def836\x20146bc9b1\x20b4d22831','hash':_0x3d76b6['sha256'],'gRed':!0x1,'g':['188da80e\x20b03090f6\x207cbf20eb\x2043a18800\x20f4ff0afd\x2082ff1012','07192b95\x20ffc8da78\x20631011ed\x206b24cdd5\x2073f977a1\x201e794811']}),_0x25d806(_0x1a4e('0xa0d'),{'type':_0x1a4e('0xbe3'),'prime':_0x1a4e('0xa0d'),'p':_0x1a4e('0xa0e'),'a':_0x1a4e('0xc00'),'b':'b4050a85\x200c04b3ab\x20f5413256\x205044b0b7\x20d7bfd8ba\x20270b3943\x202355ffb4','n':'ffffffff\x20ffffffff\x20ffffffff\x20ffff16a2\x20e0b8f03e\x2013dd2945\x205c5c2a3d','hash':_0x3d76b6[_0x1a4e('0xb4c')],'gRed':!0x1,'g':[_0x1a4e('0xc01'),_0x1a4e('0xc02')]}),_0x25d806(_0x1a4e('0xb22'),{'type':_0x1a4e('0xbe3'),'prime':null,'p':_0x1a4e('0xc03'),'a':_0x1a4e('0xc04'),'b':'5ac635d8\x20aa3a93e7\x20b3ebbd55\x20769886bc\x20651d06b0\x20cc53b0f6\x203bce3c3e\x2027d2604b','n':_0x1a4e('0xc05'),'hash':_0x3d76b6['sha256'],'gRed':!0x1,'g':[_0x1a4e('0xc06'),'4fe342e2\x20fe1a7f9b\x208ee7eb4a\x207c0f9e16\x202bce3357\x206b315ece\x20cbb64068\x2037bf51f5']}),_0x25d806(_0x1a4e('0xb2b'),{'type':_0x1a4e('0xbe3'),'prime':null,'p':_0x1a4e('0xc07'),'a':'ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20fffffffe\x20ffffffff\x2000000000\x2000000000\x20fffffffc','b':'b3312fa7\x20e23ee7e4\x20988e056b\x20e3f82d19\x20181d9c6e\x20fe814112\x200314088f\x205013875a\x20c656398d\x208a2ed19d\x202a85c8ed\x20d3ec2aef','n':_0x1a4e('0xc08'),'hash':_0x3d76b6[_0x1a4e('0xb40')],'gRed':!0x1,'g':[_0x1a4e('0xc09'),'3617de4a\x2096262c6f\x205d9e98bf\x209292dc29\x20f8f41dbd\x20289a147c\x20e9da3113\x20b5f0b8c0\x200a60b1ce\x201d7e819d\x207a431d7c\x2090ea0e5f']}),_0x25d806('p521',{'type':_0x1a4e('0xbe3'),'prime':null,'p':'000001ff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff\x20ffffffff','a':_0x1a4e('0xc0a'),'b':_0x1a4e('0xc0b'),'n':_0x1a4e('0xc0c'),'hash':_0x3d76b6[_0x1a4e('0xb3f')],'gRed':!0x1,'g':[_0x1a4e('0xc0d'),'00000118\x2039296a78\x209a3bc004\x205c8a5fb4\x202c7d1bd9\x2098f54449\x20579b4468\x2017afbd17\x20273e662c\x2097ee7299\x205ef42640\x20c550b901\x203fad0761\x20353c7086\x20a272c240\x2088be9476\x209fd16650']}),_0x25d806(_0x1a4e('0xc0e'),{'type':_0x1a4e('0xa1f'),'prime':_0x1a4e('0xa1b'),'p':'7fffffffffffffff\x20ffffffffffffffff\x20ffffffffffffffff\x20ffffffffffffffed','a':_0x1a4e('0xc0f'),'b':'1','n':_0x1a4e('0xc10'),'hash':_0x3d76b6[_0x1a4e('0xb4c')],'gRed':!0x1,'g':['9']}),_0x25d806(_0x1a4e('0xb23'),{'type':_0x1a4e('0xbfb'),'prime':_0x1a4e('0xa1b'),'p':_0x1a4e('0xc11'),'a':'-1','c':'1','d':_0x1a4e('0xc12'),'n':'1000000000000000\x200000000000000000\x2014def9dea2f79cd6\x205812631a5cf5d3ed','hash':_0x3d76b6[_0x1a4e('0xb4c')],'gRed':!0x1,'g':[_0x1a4e('0xc13'),_0x1a4e('0xc14')]});try{_0x5030e9=_0x367cc3(_0x1a4e('0xc15'));}catch(_0x2eb606){_0x5030e9=void 0x0;}_0x25d806(_0x1a4e('0xc16'),{'type':_0x1a4e('0xbe3'),'prime':_0x1a4e('0xa0b'),'p':_0x1a4e('0xa0c'),'a':'0','b':'7','n':_0x1a4e('0xc17'),'h':'1','hash':_0x3d76b6[_0x1a4e('0xb4c')],'beta':_0x1a4e('0xc18'),'lambda':_0x1a4e('0xc19'),'basis':[{'a':'3086d221a7d46bcde86c90e49284eb15','b':_0x1a4e('0xc1a')},{'a':'114ca50f7a8e2f3f657c1108d9d44cfd8','b':_0x1a4e('0xc1b')}],'gRed':!0x1,'g':[_0x1a4e('0xc1c'),_0x1a4e('0xc1d'),_0x5030e9]});},'./node_modules/elliptic/lib/elliptic/ec/index.js':function(_0x382b8e,_0x3765cb,_0x2fe987){'use strict';var _0xdeed39=_0x2fe987(_0x1a4e('0xaac')),_0x48fb3d=_0x2fe987(_0x1a4e('0xc1e')),_0x1b8f91=_0x2fe987(_0x1a4e('0xb9a')),_0x664c69=_0x2fe987('./node_modules/elliptic/lib/elliptic/curves.js'),_0x296bea=_0x2fe987('./node_modules/brorand/index.js'),_0x5cca06=_0x1b8f91['assert'],_0x649f23=_0x2fe987(_0x1a4e('0xc1f')),_0x38c12e=_0x2fe987(_0x1a4e('0xc20'));function _0x2fe04a(_0x382b8e){if(!(this instanceof _0x2fe04a))return new _0x2fe04a(_0x382b8e);_0x1a4e('0x9')==typeof _0x382b8e&&(_0x5cca06(_0x664c69[_0x1a4e('0xb')](_0x382b8e),_0x1a4e('0xc21')+_0x382b8e),_0x382b8e=_0x664c69[_0x382b8e]),_0x382b8e instanceof _0x664c69[_0x1a4e('0xbfe')]&&(_0x382b8e={'curve':_0x382b8e}),this['curve']=_0x382b8e[_0x1a4e('0xab0')][_0x1a4e('0xab0')],this['n']=this[_0x1a4e('0xab0')]['n'],this['nh']=this['n'][_0x1a4e('0x9cc')](0x1),this['g']=this[_0x1a4e('0xab0')]['g'],this['g']=_0x382b8e[_0x1a4e('0xab0')]['g'],this['g'][_0x1a4e('0xbbb')](_0x382b8e[_0x1a4e('0xab0')]['n']['bitLength']()+0x1),this[_0x1a4e('0xaa4')]=_0x382b8e[_0x1a4e('0xaa4')]||_0x382b8e[_0x1a4e('0xab0')]['hash'];}_0x382b8e[_0x1a4e('0x0')]=_0x2fe04a,_0x2fe04a[_0x1a4e('0xa')][_0x1a4e('0xc22')]=function(_0x382b8e){return new _0x649f23(this,_0x382b8e);},_0x2fe04a['prototype'][_0x1a4e('0xc23')]=function(_0x382b8e,_0x3765cb){return _0x649f23[_0x1a4e('0xc24')](this,_0x382b8e,_0x3765cb);},_0x2fe04a[_0x1a4e('0xa')]['keyFromPublic']=function(_0x382b8e,_0x3765cb){return _0x649f23[_0x1a4e('0xc25')](this,_0x382b8e,_0x3765cb);},_0x2fe04a[_0x1a4e('0xa')][_0x1a4e('0xb2e')]=function(_0x382b8e){_0x382b8e||(_0x382b8e={});for(var _0x3765cb=new _0x48fb3d({'hash':this[_0x1a4e('0xaa4')],'pers':_0x382b8e[_0x1a4e('0xc26')],'persEnc':_0x382b8e[_0x1a4e('0xc27')]||_0x1a4e('0xac4'),'entropy':_0x382b8e[_0x1a4e('0xc28')]||_0x296bea(this[_0x1a4e('0xaa4')][_0x1a4e('0xc29')]),'entropyEnc':_0x382b8e[_0x1a4e('0xc28')]&&_0x382b8e[_0x1a4e('0xc2a')]||_0x1a4e('0xac4'),'nonce':this['n'][_0x1a4e('0x347')]()}),_0x2fe987=this['n']['byteLength'](),_0x1b8f91=this['n']['sub'](new _0xdeed39(0x2));;){var _0x664c69=new _0xdeed39(_0x3765cb[_0x1a4e('0xa22')](_0x2fe987));if(!(_0x664c69['cmp'](_0x1b8f91)>0x0))return _0x664c69['iaddn'](0x1),this['keyFromPrivate'](_0x664c69);}},_0x2fe04a[_0x1a4e('0xa')]['_truncateToN']=function(_0x382b8e,_0x3765cb){var _0x2fe987=0x8*_0x382b8e[_0x1a4e('0x876')]()-this['n'][_0x1a4e('0x9a6')]();return _0x2fe987>0x0&&(_0x382b8e=_0x382b8e[_0x1a4e('0x9cc')](_0x2fe987)),!_0x3765cb&&_0x382b8e['cmp'](this['n'])>=0x0?_0x382b8e[_0x1a4e('0x16a')](this['n']):_0x382b8e;},_0x2fe04a[_0x1a4e('0xa')]['sign']=function(_0x382b8e,_0x3765cb,_0x2fe987,_0x1b8f91){_0x1a4e('0x85')==typeof _0x2fe987&&(_0x1b8f91=_0x2fe987,_0x2fe987=null),_0x1b8f91||(_0x1b8f91={}),_0x3765cb=this[_0x1a4e('0xc23')](_0x3765cb,_0x2fe987),_0x382b8e=this['_truncateToN'](new _0xdeed39(_0x382b8e,0x10));for(var _0x664c69=this['n'][_0x1a4e('0x876')](),_0x296bea=_0x3765cb['getPrivate']()['toArray']('be',_0x664c69),_0x5cca06=_0x382b8e[_0x1a4e('0x347')]('be',_0x664c69),_0x649f23=new _0x48fb3d({'hash':this[_0x1a4e('0xaa4')],'entropy':_0x296bea,'nonce':_0x5cca06,'pers':_0x1b8f91[_0x1a4e('0xc26')],'persEnc':_0x1b8f91[_0x1a4e('0xc27')]||_0x1a4e('0xac4')}),_0x2fe04a=this['n'][_0x1a4e('0x16a')](new _0xdeed39(0x1)),_0x55c4d7=0x0;;_0x55c4d7++){var _0x1abf48=_0x1b8f91['k']?_0x1b8f91['k'](_0x55c4d7):new _0xdeed39(_0x649f23[_0x1a4e('0xa22')](this['n'][_0x1a4e('0x876')]()));if(!((_0x1abf48=this[_0x1a4e('0xc2b')](_0x1abf48,!0x0))['cmpn'](0x1)<=0x0||_0x1abf48[_0x1a4e('0x97b')](_0x2fe04a)>=0x0)){var _0x38013f=this['g'][_0x1a4e('0x9c3')](_0x1abf48);if(!_0x38013f['isInfinity']()){var _0x5a273b=_0x38013f[_0x1a4e('0x296')](),_0x53bf44=_0x5a273b[_0x1a4e('0x9da')](this['n']);if(0x0!==_0x53bf44[_0x1a4e('0x9e0')](0x0)){var _0x32560a=_0x1abf48[_0x1a4e('0x9e1')](this['n'])['mul'](_0x53bf44[_0x1a4e('0x9c3')](_0x3765cb[_0x1a4e('0xb32')]())[_0x1a4e('0x9b8')](_0x382b8e));if(0x0!==(_0x32560a=_0x32560a[_0x1a4e('0x9da')](this['n']))['cmpn'](0x0)){var _0xcd9925=(_0x38013f[_0x1a4e('0x292')]()['isOdd']()?0x1:0x0)|(0x0!==_0x5a273b['cmp'](_0x53bf44)?0x2:0x0);return _0x1b8f91['canonical']&&_0x32560a[_0x1a4e('0x97b')](this['nh'])>0x0&&(_0x32560a=this['n']['sub'](_0x32560a),_0xcd9925^=0x1),new _0x38c12e({'r':_0x53bf44,'s':_0x32560a,'recoveryParam':_0xcd9925});}}}}}},_0x2fe04a[_0x1a4e('0xa')][_0x1a4e('0xaaa')]=function(_0x382b8e,_0x3765cb,_0x2fe987,_0x48fb3d){_0x382b8e=this[_0x1a4e('0xc2b')](new _0xdeed39(_0x382b8e,0x10)),_0x2fe987=this[_0x1a4e('0xb30')](_0x2fe987,_0x48fb3d);var _0x1b8f91=(_0x3765cb=new _0x38c12e(_0x3765cb,_0x1a4e('0x823')))['r'],_0x664c69=_0x3765cb['s'];if(_0x1b8f91[_0x1a4e('0x9e0')](0x1)<0x0||_0x1b8f91[_0x1a4e('0x97b')](this['n'])>=0x0)return!0x1;if(_0x664c69[_0x1a4e('0x9e0')](0x1)<0x0||_0x664c69[_0x1a4e('0x97b')](this['n'])>=0x0)return!0x1;var _0x296bea,_0x5cca06=_0x664c69['invm'](this['n']),_0x649f23=_0x5cca06[_0x1a4e('0x9c3')](_0x382b8e)[_0x1a4e('0x9da')](this['n']),_0x2fe04a=_0x5cca06['mul'](_0x1b8f91)['umod'](this['n']);return this['curve'][_0x1a4e('0xba8')]?!(_0x296bea=this['g']['jmulAdd'](_0x649f23,_0x2fe987[_0x1a4e('0xb31')](),_0x2fe04a))[_0x1a4e('0xbcc')]()&&_0x296bea[_0x1a4e('0xbda')](_0x1b8f91):!(_0x296bea=this['g']['mulAdd'](_0x649f23,_0x2fe987['getPublic'](),_0x2fe04a))['isInfinity']()&&0x0===_0x296bea['getX']()[_0x1a4e('0x9da')](this['n'])[_0x1a4e('0x97b')](_0x1b8f91);},_0x2fe04a[_0x1a4e('0xa')][_0x1a4e('0xc2c')]=function(_0x382b8e,_0x3765cb,_0x2fe987,_0x48fb3d){_0x5cca06((0x3&_0x2fe987)===_0x2fe987,_0x1a4e('0xc2d')),_0x3765cb=new _0x38c12e(_0x3765cb,_0x48fb3d);var _0x1b8f91=this['n'],_0x664c69=new _0xdeed39(_0x382b8e),_0x296bea=_0x3765cb['r'],_0x649f23=_0x3765cb['s'],_0x2fe04a=0x1&_0x2fe987,_0x4bb332=_0x2fe987>>0x1;if(_0x296bea[_0x1a4e('0x97b')](this['curve']['p'][_0x1a4e('0x9da')](this[_0x1a4e('0xab0')]['n']))>=0x0&&_0x4bb332)throw new Error('Unable\x20to\x20find\x20sencond\x20key\x20candinate');_0x296bea=_0x4bb332?this[_0x1a4e('0xab0')][_0x1a4e('0xbb9')](_0x296bea['add'](this[_0x1a4e('0xab0')]['n']),_0x2fe04a):this['curve'][_0x1a4e('0xbb9')](_0x296bea,_0x2fe04a);var _0x1bfffa=_0x3765cb['r'][_0x1a4e('0x9e1')](_0x1b8f91),_0x38a2ce=_0x1b8f91[_0x1a4e('0x16a')](_0x664c69)[_0x1a4e('0x9c3')](_0x1bfffa)[_0x1a4e('0x9da')](_0x1b8f91),_0x3ac7a6=_0x649f23[_0x1a4e('0x9c3')](_0x1bfffa)['umod'](_0x1b8f91);return this['g'][_0x1a4e('0xbe1')](_0x38a2ce,_0x296bea,_0x3ac7a6);},_0x2fe04a[_0x1a4e('0xa')]['getKeyRecoveryParam']=function(_0x382b8e,_0x3765cb,_0x2fe987,_0xdeed39){if(null!==(_0x3765cb=new _0x38c12e(_0x3765cb,_0xdeed39))['recoveryParam'])return _0x3765cb[_0x1a4e('0xc2e')];for(var _0x48fb3d=0x0;_0x48fb3d<0x4;_0x48fb3d++){var _0x1b8f91;try{_0x1b8f91=this[_0x1a4e('0xc2c')](_0x382b8e,_0x3765cb,_0x48fb3d);}catch(_0x42c6fd){continue;}if(_0x1b8f91['eq'](_0x2fe987))return _0x48fb3d;}throw new Error(_0x1a4e('0xc2f'));};},'./node_modules/elliptic/lib/elliptic/ec/key.js':function(_0x47ee86,_0x43f62a,_0xce90ac){'use strict';var _0x126c78=_0xce90ac(_0x1a4e('0xaac')),_0x13853d=_0xce90ac(_0x1a4e('0xb9a'))[_0x1a4e('0xba0')];function _0x2f087f(_0x47ee86,_0x43f62a){this['ec']=_0x47ee86,this[_0x1a4e('0xc30')]=null,this[_0x1a4e('0xc31')]=null,_0x43f62a[_0x1a4e('0xc30')]&&this[_0x1a4e('0xb38')](_0x43f62a[_0x1a4e('0xc30')],_0x43f62a[_0x1a4e('0xc32')]),_0x43f62a['pub']&&this[_0x1a4e('0xb36')](_0x43f62a[_0x1a4e('0xc31')],_0x43f62a[_0x1a4e('0xc33')]);}_0x47ee86['exports']=_0x2f087f,_0x2f087f[_0x1a4e('0xc25')]=function(_0x47ee86,_0x43f62a,_0xce90ac){return _0x43f62a instanceof _0x2f087f?_0x43f62a:new _0x2f087f(_0x47ee86,{'pub':_0x43f62a,'pubEnc':_0xce90ac});},_0x2f087f[_0x1a4e('0xc24')]=function(_0x47ee86,_0x43f62a,_0xce90ac){return _0x43f62a instanceof _0x2f087f?_0x43f62a:new _0x2f087f(_0x47ee86,{'priv':_0x43f62a,'privEnc':_0xce90ac});},_0x2f087f[_0x1a4e('0xa')][_0x1a4e('0xbaa')]=function(){var _0x47ee86=this[_0x1a4e('0xb31')]();return _0x47ee86[_0x1a4e('0xbcc')]()?{'result':!0x1,'reason':_0x1a4e('0xc34')}:_0x47ee86[_0x1a4e('0xbaa')]()?_0x47ee86[_0x1a4e('0x9c3')](this['ec'][_0x1a4e('0xab0')]['n'])['isInfinity']()?{'result':!0x0,'reason':null}:{'result':!0x1,'reason':_0x1a4e('0xc35')}:{'result':!0x1,'reason':_0x1a4e('0xc36')};},_0x2f087f[_0x1a4e('0xa')][_0x1a4e('0xb31')]=function(_0x47ee86,_0x43f62a){return _0x1a4e('0x9')==typeof _0x47ee86&&(_0x43f62a=_0x47ee86,_0x47ee86=null),this[_0x1a4e('0xc31')]||(this[_0x1a4e('0xc31')]=this['ec']['g'][_0x1a4e('0x9c3')](this[_0x1a4e('0xc30')])),_0x43f62a?this[_0x1a4e('0xc31')]['encode'](_0x43f62a,_0x47ee86):this[_0x1a4e('0xc31')];},_0x2f087f[_0x1a4e('0xa')][_0x1a4e('0xb32')]=function(_0x47ee86){return _0x1a4e('0x823')===_0x47ee86?this[_0x1a4e('0xc30')][_0x1a4e('0x95')](0x10,0x2):this[_0x1a4e('0xc30')];},_0x2f087f['prototype'][_0x1a4e('0xb38')]=function(_0x47ee86,_0x43f62a){this[_0x1a4e('0xc30')]=new _0x126c78(_0x47ee86,_0x43f62a||0x10),this[_0x1a4e('0xc30')]=this[_0x1a4e('0xc30')][_0x1a4e('0x9da')](this['ec'][_0x1a4e('0xab0')]['n']);},_0x2f087f[_0x1a4e('0xa')]['_importPublic']=function(_0x47ee86,_0x43f62a){if(_0x47ee86['x']||_0x47ee86['y'])return _0x1a4e('0xa1f')===this['ec'][_0x1a4e('0xab0')][_0x1a4e('0x40')]?_0x13853d(_0x47ee86['x'],_0x1a4e('0xc37')):_0x1a4e('0xbe3')!==this['ec'][_0x1a4e('0xab0')][_0x1a4e('0x40')]&&_0x1a4e('0xbfb')!==this['ec'][_0x1a4e('0xab0')][_0x1a4e('0x40')]||_0x13853d(_0x47ee86['x']&&_0x47ee86['y'],'Need\x20both\x20x\x20and\x20y\x20coordinate'),void(this[_0x1a4e('0xc31')]=this['ec'][_0x1a4e('0xab0')][_0x1a4e('0xc4')](_0x47ee86['x'],_0x47ee86['y']));this[_0x1a4e('0xc31')]=this['ec']['curve'][_0x1a4e('0xbb8')](_0x47ee86,_0x43f62a);},_0x2f087f[_0x1a4e('0xa')][_0x1a4e('0x941')]=function(_0x47ee86){return _0x47ee86[_0x1a4e('0x9c3')](this[_0x1a4e('0xc30')])['getX']();},_0x2f087f['prototype'][_0x1a4e('0x113')]=function(_0x47ee86,_0x43f62a,_0xce90ac){return this['ec']['sign'](_0x47ee86,this,_0x43f62a,_0xce90ac);},_0x2f087f[_0x1a4e('0xa')]['verify']=function(_0x47ee86,_0x43f62a){return this['ec'][_0x1a4e('0xaaa')](_0x47ee86,_0x43f62a,this);},_0x2f087f[_0x1a4e('0xa')]['inspect']=function(){return _0x1a4e('0xc38')+(this[_0x1a4e('0xc30')]&&this[_0x1a4e('0xc30')]['toString'](0x10,0x2))+'\x20pub:\x20'+(this[_0x1a4e('0xc31')]&&this[_0x1a4e('0xc31')]['inspect']())+'\x20>';};},'./node_modules/elliptic/lib/elliptic/ec/signature.js':function(_0x6992f3,_0x2ca3e7,_0xa6d15a){'use strict';var _0x1307bb=_0xa6d15a(_0x1a4e('0xaac')),_0x3480b1=_0xa6d15a(_0x1a4e('0xb9a')),_0x1e28ea=_0x3480b1['assert'];function _0x1cca8c(_0x6992f3,_0x2ca3e7){if(_0x6992f3 instanceof _0x1cca8c)return _0x6992f3;this['_importDER'](_0x6992f3,_0x2ca3e7)||(_0x1e28ea(_0x6992f3['r']&&_0x6992f3['s'],_0x1a4e('0xc39')),this['r']=new _0x1307bb(_0x6992f3['r'],0x10),this['s']=new _0x1307bb(_0x6992f3['s'],0x10),void 0x0===_0x6992f3[_0x1a4e('0xc2e')]?this[_0x1a4e('0xc2e')]=null:this[_0x1a4e('0xc2e')]=_0x6992f3[_0x1a4e('0xc2e')]);}function _0xf4cb2b(){this[_0x1a4e('0xc3a')]=0x0;}function _0x240411(_0x6992f3,_0x2ca3e7){var _0xa6d15a=_0x6992f3[_0x2ca3e7[_0x1a4e('0xc3a')]++];if(!(0x80&_0xa6d15a))return _0xa6d15a;for(var _0x1307bb=0xf&_0xa6d15a,_0x3480b1=0x0,_0x1e28ea=0x0,_0x1cca8c=_0x2ca3e7[_0x1a4e('0xc3a')];_0x1e28ea<_0x1307bb;_0x1e28ea++,_0x1cca8c++)_0x3480b1<<=0x8,_0x3480b1|=_0x6992f3[_0x1cca8c];return _0x2ca3e7[_0x1a4e('0xc3a')]=_0x1cca8c,_0x3480b1;}function _0x27ea24(_0x6992f3){for(var _0x2ca3e7=0x0,_0xa6d15a=_0x6992f3[_0x1a4e('0x1e')]-0x1;!_0x6992f3[_0x2ca3e7]&&!(0x80&_0x6992f3[_0x2ca3e7+0x1])&&_0x2ca3e7<_0xa6d15a;)_0x2ca3e7++;return 0x0===_0x2ca3e7?_0x6992f3:_0x6992f3[_0x1a4e('0x78')](_0x2ca3e7);}function _0x5223dd(_0x6992f3,_0x2ca3e7){if(_0x2ca3e7<0x80)_0x6992f3['push'](_0x2ca3e7);else{var _0xa6d15a=0x1+(Math[_0x1a4e('0x58')](_0x2ca3e7)/Math[_0x1a4e('0x172')]>>>0x3);for(_0x6992f3[_0x1a4e('0x46')](0x80|_0xa6d15a);--_0xa6d15a;)_0x6992f3[_0x1a4e('0x46')](_0x2ca3e7>>>(_0xa6d15a<<0x3)&0xff);_0x6992f3['push'](_0x2ca3e7);}}_0x6992f3[_0x1a4e('0x0')]=_0x1cca8c,_0x1cca8c[_0x1a4e('0xa')][_0x1a4e('0xc3b')]=function(_0x6992f3,_0x2ca3e7){_0x6992f3=_0x3480b1[_0x1a4e('0x347')](_0x6992f3,_0x2ca3e7);var _0xa6d15a=new _0xf4cb2b();if(0x30!==_0x6992f3[_0xa6d15a['place']++])return!0x1;if(_0x240411(_0x6992f3,_0xa6d15a)+_0xa6d15a[_0x1a4e('0xc3a')]!==_0x6992f3[_0x1a4e('0x1e')])return!0x1;if(0x2!==_0x6992f3[_0xa6d15a['place']++])return!0x1;var _0x1e28ea=_0x240411(_0x6992f3,_0xa6d15a),_0x1cca8c=_0x6992f3[_0x1a4e('0x78')](_0xa6d15a[_0x1a4e('0xc3a')],_0x1e28ea+_0xa6d15a['place']);if(_0xa6d15a[_0x1a4e('0xc3a')]+=_0x1e28ea,0x2!==_0x6992f3[_0xa6d15a['place']++])return!0x1;var _0x27ea24=_0x240411(_0x6992f3,_0xa6d15a);if(_0x6992f3[_0x1a4e('0x1e')]!==_0x27ea24+_0xa6d15a[_0x1a4e('0xc3a')])return!0x1;var _0x5223dd=_0x6992f3[_0x1a4e('0x78')](_0xa6d15a[_0x1a4e('0xc3a')],_0x27ea24+_0xa6d15a[_0x1a4e('0xc3a')]);return 0x0===_0x1cca8c[0x0]&&0x80&_0x1cca8c[0x1]&&(_0x1cca8c=_0x1cca8c[_0x1a4e('0x78')](0x1)),0x0===_0x5223dd[0x0]&&0x80&_0x5223dd[0x1]&&(_0x5223dd=_0x5223dd[_0x1a4e('0x78')](0x1)),this['r']=new _0x1307bb(_0x1cca8c),this['s']=new _0x1307bb(_0x5223dd),this[_0x1a4e('0xc2e')]=null,!0x0;},_0x1cca8c[_0x1a4e('0xa')][_0x1a4e('0xab2')]=function(_0x6992f3){var _0x2ca3e7=this['r'][_0x1a4e('0x347')](),_0xa6d15a=this['s'][_0x1a4e('0x347')]();for(0x80&_0x2ca3e7[0x0]&&(_0x2ca3e7=[0x0]['concat'](_0x2ca3e7)),0x80&_0xa6d15a[0x0]&&(_0xa6d15a=[0x0][_0x1a4e('0x9a')](_0xa6d15a)),_0x2ca3e7=_0x27ea24(_0x2ca3e7),_0xa6d15a=_0x27ea24(_0xa6d15a);!(_0xa6d15a[0x0]||0x80&_0xa6d15a[0x1]);)_0xa6d15a=_0xa6d15a['slice'](0x1);var _0x1307bb=[0x2];_0x5223dd(_0x1307bb,_0x2ca3e7['length']),(_0x1307bb=_0x1307bb['concat'](_0x2ca3e7))[_0x1a4e('0x46')](0x2),_0x5223dd(_0x1307bb,_0xa6d15a[_0x1a4e('0x1e')]);var _0x1e28ea=_0x1307bb['concat'](_0xa6d15a),_0x1cca8c=[0x30];return _0x5223dd(_0x1cca8c,_0x1e28ea[_0x1a4e('0x1e')]),_0x1cca8c=_0x1cca8c[_0x1a4e('0x9a')](_0x1e28ea),_0x3480b1[_0x1a4e('0x86d')](_0x1cca8c,_0x6992f3);};},'./node_modules/elliptic/lib/elliptic/eddsa/index.js':function(_0x10d46b,_0x2a8021,_0x3ea4be){'use strict';var _0x5e252f=_0x3ea4be(_0x1a4e('0xbf9')),_0xea6d34=_0x3ea4be(_0x1a4e('0xb9c')),_0x312aa6=_0x3ea4be(_0x1a4e('0xb9a')),_0x52b425=_0x312aa6[_0x1a4e('0xba0')],_0x4f3990=_0x312aa6[_0x1a4e('0xc3c')],_0x232f19=_0x3ea4be('./node_modules/elliptic/lib/elliptic/eddsa/key.js'),_0x1d9aad=_0x3ea4be('./node_modules/elliptic/lib/elliptic/eddsa/signature.js');function _0xa78de4(_0x10d46b){if(_0x52b425(_0x1a4e('0xb23')===_0x10d46b,_0x1a4e('0xc3d')),!(this instanceof _0xa78de4))return new _0xa78de4(_0x10d46b);_0x10d46b=_0xea6d34[_0x10d46b]['curve'];this['curve']=_0x10d46b,this['g']=_0x10d46b['g'],this['g'][_0x1a4e('0xbbb')](_0x10d46b['n']['bitLength']()+0x1),this[_0x1a4e('0xc3e')]=_0x10d46b[_0x1a4e('0xc4')]()['constructor'],this[_0x1a4e('0xc3f')]=Math[_0x1a4e('0x6d')](_0x10d46b['n'][_0x1a4e('0x9a6')]()/0x8),this[_0x1a4e('0xaa4')]=_0x5e252f[_0x1a4e('0xb3f')];}_0x10d46b[_0x1a4e('0x0')]=_0xa78de4,_0xa78de4[_0x1a4e('0xa')][_0x1a4e('0x113')]=function(_0x10d46b,_0x2a8021){_0x10d46b=_0x4f3990(_0x10d46b);var _0x3ea4be=this[_0x1a4e('0xc40')](_0x2a8021),_0x5e252f=this[_0x1a4e('0xc41')](_0x3ea4be[_0x1a4e('0xc42')](),_0x10d46b),_0xea6d34=this['g'][_0x1a4e('0x9c3')](_0x5e252f),_0x312aa6=this[_0x1a4e('0xc43')](_0xea6d34),_0x52b425=this['hashInt'](_0x312aa6,_0x3ea4be[_0x1a4e('0xc44')](),_0x10d46b)['mul'](_0x3ea4be[_0x1a4e('0xc30')]()),_0x232f19=_0x5e252f[_0x1a4e('0x177')](_0x52b425)[_0x1a4e('0x9da')](this[_0x1a4e('0xab0')]['n']);return this[_0x1a4e('0xc45')]({'R':_0xea6d34,'S':_0x232f19,'Rencoded':_0x312aa6});},_0xa78de4['prototype'][_0x1a4e('0xaaa')]=function(_0x10d46b,_0x2a8021,_0x3ea4be){_0x10d46b=_0x4f3990(_0x10d46b),_0x2a8021=this[_0x1a4e('0xc45')](_0x2a8021);var _0x5e252f=this[_0x1a4e('0xb30')](_0x3ea4be),_0xea6d34=this[_0x1a4e('0xc41')](_0x2a8021['Rencoded'](),_0x5e252f[_0x1a4e('0xc44')](),_0x10d46b),_0x312aa6=this['g'][_0x1a4e('0x9c3')](_0x2a8021['S']());return _0x2a8021['R']()['add'](_0x5e252f[_0x1a4e('0xc31')]()['mul'](_0xea6d34))['eq'](_0x312aa6);},_0xa78de4[_0x1a4e('0xa')]['hashInt']=function(){for(var _0x10d46b=this[_0x1a4e('0xaa4')](),_0x2a8021=0x0;_0x2a8021=0x0;){var _0x38c8c4;if(_0x287e05['isOdd']()){var _0x5e39d9=_0x287e05[_0x1a4e('0x9a2')](_0x15ac0f-0x1);_0x38c8c4=_0x5e39d9>(_0x15ac0f>>0x1)-0x1?(_0x15ac0f>>0x1)-_0x5e39d9:_0x5e39d9,_0x287e05['isubn'](_0x38c8c4);}else _0x38c8c4=0x0;_0x21b9f7[_0x1a4e('0x46')](_0x38c8c4);for(var _0x202148=0x0!==_0x287e05[_0x1a4e('0x9e0')](0x0)&&0x0===_0x287e05[_0x1a4e('0x9a2')](_0x15ac0f-0x1)?_0x15e8ec+0x1:0x1,_0x3d069e=0x1;_0x3d069e<_0x202148;_0x3d069e++)_0x21b9f7[_0x1a4e('0x46')](0x0);_0x287e05[_0x1a4e('0x9c9')](_0x202148);}return _0x21b9f7;},_0x15ac0f[_0x1a4e('0xd83')]=function(_0x10cf9e,_0x15e8ec){var _0x21b9f7=[[],[]];_0x10cf9e=_0x10cf9e[_0x1a4e('0x240')](),_0x15e8ec=_0x15e8ec['clone']();for(var _0x15ac0f=0x0,_0x287e05=0x0;_0x10cf9e['cmpn'](-_0x15ac0f)>0x0||_0x15e8ec[_0x1a4e('0x9e0')](-_0x287e05)>0x0;){var _0x38c8c4,_0x5e39d9,_0x575485,_0x2997f2=_0x10cf9e['andln'](0x3)+_0x15ac0f&0x3,_0x47bf38=_0x15e8ec[_0x1a4e('0x9a2')](0x3)+_0x287e05&0x3;0x3===_0x2997f2&&(_0x2997f2=-0x1),0x3===_0x47bf38&&(_0x47bf38=-0x1),_0x38c8c4=0x0==(0x1&_0x2997f2)?0x0:0x3!=(_0x575485=_0x10cf9e[_0x1a4e('0x9a2')](0x7)+_0x15ac0f&0x7)&&0x5!==_0x575485||0x2!==_0x47bf38?_0x2997f2:-_0x2997f2,_0x21b9f7[0x0]['push'](_0x38c8c4),_0x5e39d9=0x0==(0x1&_0x47bf38)?0x0:0x3!=(_0x575485=_0x15e8ec[_0x1a4e('0x9a2')](0x7)+_0x287e05&0x7)&&0x5!==_0x575485||0x2!==_0x2997f2?_0x47bf38:-_0x47bf38,_0x21b9f7[0x1]['push'](_0x5e39d9),0x2*_0x15ac0f===_0x38c8c4+0x1&&(_0x15ac0f=0x1-_0x15ac0f),0x2*_0x287e05===_0x5e39d9+0x1&&(_0x287e05=0x1-_0x287e05),_0x10cf9e[_0x1a4e('0x9c9')](0x1),_0x15e8ec[_0x1a4e('0x9c9')](0x1);}return _0x21b9f7;},_0x15ac0f[_0x1a4e('0xc4b')]=function(_0x10cf9e,_0x15e8ec,_0x21b9f7){var _0x15ac0f='_'+_0x15e8ec;_0x10cf9e['prototype'][_0x15e8ec]=function(){return void 0x0!==this[_0x15ac0f]?this[_0x15ac0f]:this[_0x15ac0f]=_0x21b9f7[_0x1a4e('0x1')](this);};},_0x15ac0f[_0x1a4e('0xc3c')]=function(_0x10cf9e){return _0x1a4e('0x9')==typeof _0x10cf9e?_0x15ac0f[_0x1a4e('0x347')](_0x10cf9e,_0x1a4e('0x823')):_0x10cf9e;},_0x15ac0f[_0x1a4e('0xc46')]=function(_0x10cf9e){return new _0x287e05(_0x10cf9e,_0x1a4e('0x823'),'le');};},'./node_modules/elliptic/package.json':function(_0x5c0fba){_0x5c0fba[_0x1a4e('0x0')]=JSON[_0x1a4e('0x25a')]('{\x22_args\x22:[[\x22elliptic@6.5.0\x22,\x22D:\x5c\x5c0828\x5c\x5ciesdk\x5c\x5cGeoVisSDK\x22]],\x22_development\x22:true,\x22_from\x22:\x22elliptic@6.5.0\x22,\x22_id\x22:\x22elliptic@6.5.0\x22,\x22_inBundle\x22:false,\x22_integrity\x22:\x22sha1-K47UyJG33jIA4UQSpbgkjHr1Bco=\x22,\x22_location\x22:\x22/elliptic\x22,\x22_phantomChildren\x22:{},\x22_requested\x22:{\x22type\x22:\x22version\x22,\x22registry\x22:true,\x22raw\x22:\x22elliptic@6.5.0\x22,\x22name\x22:\x22elliptic\x22,\x22escapedName\x22:\x22elliptic\x22,\x22rawSpec\x22:\x226.5.0\x22,\x22saveSpec\x22:null,\x22fetchSpec\x22:\x226.5.0\x22},\x22_requiredBy\x22:[\x22/browserify-sign\x22,\x22/create-ecdh\x22],\x22_resolved\x22:\x22https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.0.tgz\x22,\x22_spec\x22:\x226.5.0\x22,\x22_where\x22:\x22D:\x5c\x5c0828\x5c\x5ciesdk\x5c\x5cGeoVisSDK\x22,\x22author\x22:{\x22name\x22:\x22Fedor\x20Indutny\x22,\x22email\x22:\x22fedor@indutny.com\x22},\x22bugs\x22:{\x22url\x22:\x22https://github.com/indutny/elliptic/issues\x22},\x22dependencies\x22:{\x22bn.js\x22:\x22^4.4.0\x22,\x22brorand\x22:\x22^1.0.1\x22,\x22hash.js\x22:\x22^1.0.0\x22,\x22hmac-drbg\x22:\x22^1.0.0\x22,\x22inherits\x22:\x22^2.0.1\x22,\x22minimalistic-assert\x22:\x22^1.0.0\x22,\x22minimalistic-crypto-utils\x22:\x22^1.0.0\x22},\x22description\x22:\x22EC\x20cryptography\x22,\x22devDependencies\x22:{\x22brfs\x22:\x22^1.4.3\x22,\x22coveralls\x22:\x22^2.11.3\x22,\x22grunt\x22:\x22^0.4.5\x22,\x22grunt-browserify\x22:\x22^5.0.0\x22,\x22grunt-cli\x22:\x22^1.2.0\x22,\x22grunt-contrib-connect\x22:\x22^1.0.0\x22,\x22grunt-contrib-copy\x22:\x22^1.0.0\x22,\x22grunt-contrib-uglify\x22:\x22^1.0.1\x22,\x22grunt-mocha-istanbul\x22:\x22^3.0.1\x22,\x22grunt-saucelabs\x22:\x22^8.6.2\x22,\x22istanbul\x22:\x22^0.4.2\x22,\x22jscs\x22:\x22^2.9.0\x22,\x22jshint\x22:\x22^2.6.0\x22,\x22mocha\x22:\x22^2.1.0\x22},\x22files\x22:[\x22lib\x22],\x22homepage\x22:\x22https://github.com/indutny/elliptic\x22,\x22keywords\x22:[\x22EC\x22,\x22Elliptic\x22,\x22curve\x22,\x22Cryptography\x22],\x22license\x22:\x22MIT\x22,\x22main\x22:\x22lib/elliptic.js\x22,\x22name\x22:\x22elliptic\x22,\x22repository\x22:{\x22type\x22:\x22git\x22,\x22url\x22:\x22git+ssh://git@github.com/indutny/elliptic.git\x22},\x22scripts\x22:{\x22jscs\x22:\x22jscs\x20benchmarks/*.js\x20lib/*.js\x20lib/**/*.js\x20lib/**/**/*.js\x20test/index.js\x22,\x22jshint\x22:\x22jscs\x20benchmarks/*.js\x20lib/*.js\x20lib/**/*.js\x20lib/**/**/*.js\x20test/index.js\x22,\x22lint\x22:\x22npm\x20run\x20jscs\x20&&\x20npm\x20run\x20jshint\x22,\x22test\x22:\x22npm\x20run\x20lint\x20&&\x20npm\x20run\x20unit\x22,\x22unit\x22:\x22istanbul\x20test\x20_mocha\x20--reporter=spec\x20test/index.js\x22,\x22version\x22:\x22grunt\x20dist\x20&&\x20git\x20add\x20dist/\x22},\x22version\x22:\x226.5.0\x22}');},'./node_modules/events/events.js':function(_0x3b295a,_0x32bfa8,_0x3551c4){'use strict';var _0x195186,_0x31966b=_0x1a4e('0x85')==typeof Reflect?Reflect:null,_0xd83b47=_0x31966b&&_0x1a4e('0x68')==typeof _0x31966b[_0x1a4e('0x8b')]?_0x31966b[_0x1a4e('0x8b')]:function(_0x3b295a,_0x32bfa8,_0x3551c4){return Function['prototype'][_0x1a4e('0x8b')]['call'](_0x3b295a,_0x32bfa8,_0x3551c4);};_0x195186=_0x31966b&&_0x1a4e('0x68')==typeof _0x31966b[_0x1a4e('0xd84')]?_0x31966b[_0x1a4e('0xd84')]:Object[_0x1a4e('0xd85')]?function(_0x3b295a){return Object[_0x1a4e('0xd86')](_0x3b295a)[_0x1a4e('0x9a')](Object['getOwnPropertySymbols'](_0x3b295a));}:function(_0x3b295a){return Object[_0x1a4e('0xd86')](_0x3b295a);};var _0x3ebdc5=Number[_0x1a4e('0x231')]||function(_0x3b295a){return _0x3b295a!=_0x3b295a;};function _0x296478(){_0x296478['init'][_0x1a4e('0x1')](this);}_0x3b295a['exports']=_0x296478,_0x296478[_0x1a4e('0xd87')]=_0x296478,_0x296478[_0x1a4e('0xa')]['_events']=void 0x0,_0x296478[_0x1a4e('0xa')]['_eventsCount']=0x0,_0x296478['prototype'][_0x1a4e('0xd88')]=void 0x0;var _0x2a2b79=0xa;function _0x5c4d8f(_0x3b295a){return void 0x0===_0x3b295a[_0x1a4e('0xd88')]?_0x296478[_0x1a4e('0xd89')]:_0x3b295a[_0x1a4e('0xd88')];}function _0x1f34d7(_0x3b295a,_0x32bfa8,_0x3551c4,_0x195186){var _0x31966b,_0xd83b47,_0x3ebdc5,_0x296478;if(_0x1a4e('0x68')!=typeof _0x3551c4)throw new TypeError(_0x1a4e('0xd8a')+typeof _0x3551c4);if(void 0x0===(_0xd83b47=_0x3b295a[_0x1a4e('0xd8b')])?(_0xd83b47=_0x3b295a[_0x1a4e('0xd8b')]=Object['create'](null),_0x3b295a['_eventsCount']=0x0):(void 0x0!==_0xd83b47['newListener']&&(_0x3b295a[_0x1a4e('0xd8c')](_0x1a4e('0xd8d'),_0x32bfa8,_0x3551c4[_0x1a4e('0xd8e')]?_0x3551c4[_0x1a4e('0xd8e')]:_0x3551c4),_0xd83b47=_0x3b295a[_0x1a4e('0xd8b')]),_0x3ebdc5=_0xd83b47[_0x32bfa8]),void 0x0===_0x3ebdc5)_0x3ebdc5=_0xd83b47[_0x32bfa8]=_0x3551c4,++_0x3b295a[_0x1a4e('0xd8f')];else if('function'==typeof _0x3ebdc5?_0x3ebdc5=_0xd83b47[_0x32bfa8]=_0x195186?[_0x3551c4,_0x3ebdc5]:[_0x3ebdc5,_0x3551c4]:_0x195186?_0x3ebdc5[_0x1a4e('0x66')](_0x3551c4):_0x3ebdc5['push'](_0x3551c4),(_0x31966b=_0x5c4d8f(_0x3b295a))>0x0&&_0x3ebdc5[_0x1a4e('0x1e')]>_0x31966b&&!_0x3ebdc5[_0x1a4e('0xd90')]){_0x3ebdc5['warned']=!0x0;var _0x2a2b79=new Error('Possible\x20EventEmitter\x20memory\x20leak\x20detected.\x20'+_0x3ebdc5[_0x1a4e('0x1e')]+'\x20'+String(_0x32bfa8)+_0x1a4e('0xd91'));_0x2a2b79[_0x1a4e('0x2cb')]=_0x1a4e('0xd92'),_0x2a2b79[_0x1a4e('0xd93')]=_0x3b295a,_0x2a2b79[_0x1a4e('0x40')]=_0x32bfa8,_0x2a2b79[_0x1a4e('0x389')]=_0x3ebdc5[_0x1a4e('0x1e')],_0x296478=_0x2a2b79,console&&console['warn']&&console['warn'](_0x296478);}return _0x3b295a;}function _0x291cd5(_0x3b295a,_0x32bfa8,_0x3551c4){var _0x195186={'fired':!0x1,'wrapFn':void 0x0,'target':_0x3b295a,'type':_0x32bfa8,'listener':_0x3551c4},_0x31966b=function(){for(var _0x3b295a=[],_0x32bfa8=0x0;_0x32bfa80x0&&(_0x3ebdc5=_0x32bfa8[0x0]),_0x3ebdc5 instanceof Error)throw _0x3ebdc5;var _0x296478=new Error('Unhandled\x20error.'+(_0x3ebdc5?'\x20('+_0x3ebdc5[_0x1a4e('0x133')]+')':''));throw _0x296478['context']=_0x3ebdc5,_0x296478;}var _0x2a2b79=_0x31966b[_0x3b295a];if(void 0x0===_0x2a2b79)return!0x1;if(_0x1a4e('0x68')==typeof _0x2a2b79)_0xd83b47(_0x2a2b79,this,_0x32bfa8);else{var _0x5c4d8f=_0x2a2b79['length'],_0x1f34d7=_0x583b09(_0x2a2b79,_0x5c4d8f);for(_0x3551c4=0x0;_0x3551c4<_0x5c4d8f;++_0x3551c4)_0xd83b47(_0x1f34d7[_0x3551c4],this,_0x32bfa8);}return!0x0;},_0x296478[_0x1a4e('0xa')][_0x1a4e('0xd9c')]=function(_0x3b295a,_0x32bfa8){return _0x1f34d7(this,_0x3b295a,_0x32bfa8,!0x1);},_0x296478[_0x1a4e('0xa')]['on']=_0x296478[_0x1a4e('0xa')][_0x1a4e('0xd9c')],_0x296478[_0x1a4e('0xa')][_0x1a4e('0xd9d')]=function(_0x3b295a,_0x32bfa8){return _0x1f34d7(this,_0x3b295a,_0x32bfa8,!0x0);},_0x296478['prototype'][_0x1a4e('0xd9e')]=function(_0x3b295a,_0x32bfa8){if(_0x1a4e('0x68')!=typeof _0x32bfa8)throw new TypeError('The\x20\x22listener\x22\x20argument\x20must\x20be\x20of\x20type\x20Function.\x20Received\x20type\x20'+typeof _0x32bfa8);return this['on'](_0x3b295a,_0x291cd5(this,_0x3b295a,_0x32bfa8)),this;},_0x296478[_0x1a4e('0xa')][_0x1a4e('0xd9f')]=function(_0x3b295a,_0x32bfa8){if(_0x1a4e('0x68')!=typeof _0x32bfa8)throw new TypeError(_0x1a4e('0xd8a')+typeof _0x32bfa8);return this['prependListener'](_0x3b295a,_0x291cd5(this,_0x3b295a,_0x32bfa8)),this;},_0x296478[_0x1a4e('0xa')][_0x1a4e('0xda0')]=function(_0x3b295a,_0x32bfa8){var _0x3551c4,_0x195186,_0x31966b,_0xd83b47,_0x3ebdc5;if(_0x1a4e('0x68')!=typeof _0x32bfa8)throw new TypeError(_0x1a4e('0xd8a')+typeof _0x32bfa8);if(void 0x0===(_0x195186=this[_0x1a4e('0xd8b')]))return this;if(void 0x0===(_0x3551c4=_0x195186[_0x3b295a]))return this;if(_0x3551c4===_0x32bfa8||_0x3551c4['listener']===_0x32bfa8)0x0==--this[_0x1a4e('0xd8f')]?this['_events']=Object[_0x1a4e('0x7')](null):(delete _0x195186[_0x3b295a],_0x195186['removeListener']&&this[_0x1a4e('0xd8c')](_0x1a4e('0xda0'),_0x3b295a,_0x3551c4[_0x1a4e('0xd8e')]||_0x32bfa8));else if('function'!=typeof _0x3551c4){for(_0x31966b=-0x1,_0xd83b47=_0x3551c4[_0x1a4e('0x1e')]-0x1;_0xd83b47>=0x0;_0xd83b47--)if(_0x3551c4[_0xd83b47]===_0x32bfa8||_0x3551c4[_0xd83b47][_0x1a4e('0xd8e')]===_0x32bfa8){_0x3ebdc5=_0x3551c4[_0xd83b47][_0x1a4e('0xd8e')],_0x31966b=_0xd83b47;break;}if(_0x31966b<0x0)return this;0x0===_0x31966b?_0x3551c4[_0x1a4e('0x7d')]():function(_0x3b295a,_0x32bfa8){for(;_0x32bfa8+0x1<_0x3b295a['length'];_0x32bfa8++)_0x3b295a[_0x32bfa8]=_0x3b295a[_0x32bfa8+0x1];_0x3b295a[_0x1a4e('0x76')]();}(_0x3551c4,_0x31966b),0x1===_0x3551c4['length']&&(_0x195186[_0x3b295a]=_0x3551c4[0x0]),void 0x0!==_0x195186[_0x1a4e('0xda0')]&&this[_0x1a4e('0xd8c')]('removeListener',_0x3b295a,_0x3ebdc5||_0x32bfa8);}return this;},_0x296478[_0x1a4e('0xa')][_0x1a4e('0xda1')]=_0x296478[_0x1a4e('0xa')]['removeListener'],_0x296478[_0x1a4e('0xa')][_0x1a4e('0xda2')]=function(_0x3b295a){var _0x32bfa8,_0x3551c4,_0x195186;if(void 0x0===(_0x3551c4=this[_0x1a4e('0xd8b')]))return this;if(void 0x0===_0x3551c4[_0x1a4e('0xda0')])return 0x0===arguments[_0x1a4e('0x1e')]?(this['_events']=Object[_0x1a4e('0x7')](null),this[_0x1a4e('0xd8f')]=0x0):void 0x0!==_0x3551c4[_0x3b295a]&&(0x0==--this[_0x1a4e('0xd8f')]?this['_events']=Object['create'](null):delete _0x3551c4[_0x3b295a]),this;if(0x0===arguments[_0x1a4e('0x1e')]){var _0x31966b,_0xd83b47=Object[_0x1a4e('0x56')](_0x3551c4);for(_0x195186=0x0;_0x195186<_0xd83b47[_0x1a4e('0x1e')];++_0x195186)_0x1a4e('0xda0')!==(_0x31966b=_0xd83b47[_0x195186])&&this[_0x1a4e('0xda2')](_0x31966b);return this[_0x1a4e('0xda2')]('removeListener'),this['_events']=Object[_0x1a4e('0x7')](null),this[_0x1a4e('0xd8f')]=0x0,this;}if('function'==typeof(_0x32bfa8=_0x3551c4[_0x3b295a]))this['removeListener'](_0x3b295a,_0x32bfa8);else if(void 0x0!==_0x32bfa8)for(_0x195186=_0x32bfa8['length']-0x1;_0x195186>=0x0;_0x195186--)this[_0x1a4e('0xda0')](_0x3b295a,_0x32bfa8[_0x195186]);return this;},_0x296478[_0x1a4e('0xa')][_0x1a4e('0xda3')]=function(_0x3b295a){return _0x3f998c(this,_0x3b295a,!0x0);},_0x296478['prototype'][_0x1a4e('0xda4')]=function(_0x3b295a){return _0x3f998c(this,_0x3b295a,!0x1);},_0x296478[_0x1a4e('0xda5')]=function(_0x3b295a,_0x32bfa8){return _0x1a4e('0x68')==typeof _0x3b295a[_0x1a4e('0xda5')]?_0x3b295a[_0x1a4e('0xda5')](_0x32bfa8):_0x312b5c['call'](_0x3b295a,_0x32bfa8);},_0x296478['prototype'][_0x1a4e('0xda5')]=_0x312b5c,_0x296478[_0x1a4e('0xa')][_0x1a4e('0xda6')]=function(){return this[_0x1a4e('0xd8f')]>0x0?_0x195186(this['_events']):[];};},'./node_modules/evp_bytestokey/index.js':function(_0x457dfa,_0x156b9f,_0x5bdacf){var _0x5c4b74=_0x5bdacf(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x53c843=_0x5bdacf(_0x1a4e('0xb39'));_0x457dfa[_0x1a4e('0x0')]=function(_0x457dfa,_0x156b9f,_0x5bdacf,_0x4e9de3){if(_0x5c4b74[_0x1a4e('0x871')](_0x457dfa)||(_0x457dfa=_0x5c4b74['from'](_0x457dfa,_0x1a4e('0xacc'))),_0x156b9f&&(_0x5c4b74[_0x1a4e('0x871')](_0x156b9f)||(_0x156b9f=_0x5c4b74[_0x1a4e('0x1b5')](_0x156b9f,_0x1a4e('0xacc'))),0x8!==_0x156b9f['length']))throw new RangeError(_0x1a4e('0xda7'));for(var _0x4b9cc7=_0x5bdacf/0x8,_0x206d43=_0x5c4b74[_0x1a4e('0xa43')](_0x4b9cc7),_0x2e9c9b=_0x5c4b74[_0x1a4e('0xa43')](_0x4e9de3||0x0),_0x5cbb7d=_0x5c4b74[_0x1a4e('0xa43')](0x0);_0x4b9cc7>0x0||_0x4e9de3>0x0;){var _0x4f298a=new _0x53c843();_0x4f298a[_0x1a4e('0x937')](_0x5cbb7d),_0x4f298a[_0x1a4e('0x937')](_0x457dfa),_0x156b9f&&_0x4f298a['update'](_0x156b9f),_0x5cbb7d=_0x4f298a['digest']();var _0x70b576=0x0;if(_0x4b9cc7>0x0){var _0x5b5427=_0x206d43['length']-_0x4b9cc7;_0x70b576=Math[_0x1a4e('0x74')](_0x4b9cc7,_0x5cbb7d[_0x1a4e('0x1e')]),_0x5cbb7d[_0x1a4e('0xea')](_0x206d43,_0x5b5427,0x0,_0x70b576),_0x4b9cc7-=_0x70b576;}if(_0x70b576<_0x5cbb7d['length']&&_0x4e9de3>0x0){var _0x5a71a2=_0x2e9c9b['length']-_0x4e9de3,_0x10df81=Math['min'](_0x4e9de3,_0x5cbb7d[_0x1a4e('0x1e')]-_0x70b576);_0x5cbb7d['copy'](_0x2e9c9b,_0x5a71a2,_0x70b576,_0x70b576+_0x10df81),_0x4e9de3-=_0x10df81;}}return _0x5cbb7d[_0x1a4e('0x22c')](0x0),{'key':_0x206d43,'iv':_0x2e9c9b};};},'./node_modules/fs/index.js':function(_0x12b75e,_0x5efbc6){console['log'](_0x1a4e('0xda8'));},'./node_modules/hash-base/index.js':function(_0x3f85c2,_0x4a4ee3,_0x2514bc){'use strict';var _0x36f9f8=_0x2514bc(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x2d33d8=_0x2514bc(_0x1a4e('0xa9e'))[_0x1a4e('0xb08')];function _0x259758(_0x3f85c2){_0x2d33d8[_0x1a4e('0x1')](this),this[_0x1a4e('0xda9')]=_0x36f9f8['allocUnsafe'](_0x3f85c2),this[_0x1a4e('0xdaa')]=_0x3f85c2,this[_0x1a4e('0xdab')]=0x0,this['_length']=[0x0,0x0,0x0,0x0],this['_finalized']=!0x1;}_0x2514bc(_0x1a4e('0x863'))(_0x259758,_0x2d33d8),_0x259758['prototype'][_0x1a4e('0xb15')]=function(_0x3f85c2,_0x4a4ee3,_0x2514bc){var _0x36f9f8=null;try{this[_0x1a4e('0x937')](_0x3f85c2,_0x4a4ee3);}catch(_0x2db7c1){_0x36f9f8=_0x2db7c1;}_0x2514bc(_0x36f9f8);},_0x259758[_0x1a4e('0xa')][_0x1a4e('0xb16')]=function(_0x3f85c2){var _0x4a4ee3=null;try{this[_0x1a4e('0x46')](this[_0x1a4e('0xaa9')]());}catch(_0x18b610){_0x4a4ee3=_0x18b610;}_0x3f85c2(_0x4a4ee3);},_0x259758[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x3f85c2,_0x4a4ee3){if(function(_0x3f85c2,_0x4a4ee3){if(!_0x36f9f8[_0x1a4e('0x871')](_0x3f85c2)&&'string'!=typeof _0x3f85c2)throw new TypeError(_0x4a4ee3+_0x1a4e('0xdac'));}(_0x3f85c2,_0x1a4e('0xdad')),this[_0x1a4e('0xdae')])throw new Error(_0x1a4e('0xdaf'));_0x36f9f8['isBuffer'](_0x3f85c2)||(_0x3f85c2=_0x36f9f8['from'](_0x3f85c2,_0x4a4ee3));for(var _0x2514bc=this['_block'],_0x2d33d8=0x0;this[_0x1a4e('0xdab')]+_0x3f85c2['length']-_0x2d33d8>=this[_0x1a4e('0xdaa')];){for(var _0x259758=this[_0x1a4e('0xdab')];_0x2597580x0;++_0x50edaa)this['_length'][_0x50edaa]+=_0x164e23,(_0x164e23=this[_0x1a4e('0xdb0')][_0x50edaa]/0x100000000|0x0)>0x0&&(this[_0x1a4e('0xdb0')][_0x50edaa]-=0x100000000*_0x164e23);return this;},_0x259758[_0x1a4e('0xa')]['_update']=function(){throw new Error('_update\x20is\x20not\x20implemented');},_0x259758[_0x1a4e('0xa')]['digest']=function(_0x3f85c2){if(this[_0x1a4e('0xdae')])throw new Error(_0x1a4e('0xdaf'));this[_0x1a4e('0xdae')]=!0x0;var _0x4a4ee3=this[_0x1a4e('0xdb1')]();void 0x0!==_0x3f85c2&&(_0x4a4ee3=_0x4a4ee3[_0x1a4e('0x95')](_0x3f85c2)),this[_0x1a4e('0xda9')][_0x1a4e('0x22c')](0x0),this['_blockOffset']=0x0;for(var _0x2514bc=0x0;_0x2514bc<0x4;++_0x2514bc)this[_0x1a4e('0xdb0')][_0x2514bc]=0x0;return _0x4a4ee3;},_0x259758[_0x1a4e('0xa')][_0x1a4e('0xdb1')]=function(){throw new Error('_digest\x20is\x20not\x20implemented');},_0x3f85c2[_0x1a4e('0x0')]=_0x259758;},'./node_modules/hash.js/lib/hash.js':function(_0x30929c,_0x56dca4,_0x65f328){var _0x1e3859=_0x56dca4;_0x1e3859[_0x1a4e('0xb79')]=_0x65f328('./node_modules/hash.js/lib/hash/utils.js'),_0x1e3859[_0x1a4e('0xdb2')]=_0x65f328(_0x1a4e('0xdb3')),_0x1e3859['sha']=_0x65f328(_0x1a4e('0xdb4')),_0x1e3859[_0x1a4e('0xdb5')]=_0x65f328(_0x1a4e('0xdb6')),_0x1e3859[_0x1a4e('0xdb7')]=_0x65f328(_0x1a4e('0xdb8')),_0x1e3859[_0x1a4e('0xb4b')]=_0x1e3859[_0x1a4e('0xdb9')]['sha1'],_0x1e3859[_0x1a4e('0xb4c')]=_0x1e3859[_0x1a4e('0xdb9')]['sha256'],_0x1e3859['sha224']=_0x1e3859['sha'][_0x1a4e('0xdba')],_0x1e3859[_0x1a4e('0xb40')]=_0x1e3859[_0x1a4e('0xdb9')][_0x1a4e('0xb40')],_0x1e3859['sha512']=_0x1e3859[_0x1a4e('0xdb9')][_0x1a4e('0xb3f')],_0x1e3859[_0x1a4e('0xb3e')]=_0x1e3859['ripemd'][_0x1a4e('0xb3e')];},'./node_modules/hash.js/lib/hash/common.js':function(_0xbe82dd,_0x3bdc6d,_0x58b006){'use strict';var _0x458d85=_0x58b006(_0x1a4e('0xdbb')),_0x569333=_0x58b006(_0x1a4e('0xb6b'));function _0x28b48c(){this[_0x1a4e('0xdbc')]=null,this['pendingTotal']=0x0,this['blockSize']=this[_0x1a4e('0x10')][_0x1a4e('0xa31')],this['outSize']=this[_0x1a4e('0x10')]['outSize'],this[_0x1a4e('0xc29')]=this[_0x1a4e('0x10')][_0x1a4e('0xc29')],this[_0x1a4e('0xdbd')]=this['constructor'][_0x1a4e('0xdbd')]/0x8,this[_0x1a4e('0xdbe')]=_0x1a4e('0xdbf'),this[_0x1a4e('0xdc0')]=this['blockSize']/0x8,this[_0x1a4e('0xdc1')]=this[_0x1a4e('0xa31')]/0x20;}_0x3bdc6d[_0x1a4e('0xdc2')]=_0x28b48c,_0x28b48c[_0x1a4e('0xa')]['update']=function(_0xbe82dd,_0x3bdc6d){if(_0xbe82dd=_0x458d85[_0x1a4e('0x347')](_0xbe82dd,_0x3bdc6d),this[_0x1a4e('0xdbc')]?this['pending']=this[_0x1a4e('0xdbc')][_0x1a4e('0x9a')](_0xbe82dd):this[_0x1a4e('0xdbc')]=_0xbe82dd,this[_0x1a4e('0xdc3')]+=_0xbe82dd['length'],this['pending'][_0x1a4e('0x1e')]>=this['_delta8']){var _0x58b006=(_0xbe82dd=this[_0x1a4e('0xdbc')])[_0x1a4e('0x1e')]%this['_delta8'];this[_0x1a4e('0xdbc')]=_0xbe82dd[_0x1a4e('0x78')](_0xbe82dd[_0x1a4e('0x1e')]-_0x58b006,_0xbe82dd[_0x1a4e('0x1e')]),0x0===this['pending'][_0x1a4e('0x1e')]&&(this['pending']=null),_0xbe82dd=_0x458d85[_0x1a4e('0xdc4')](_0xbe82dd,0x0,_0xbe82dd[_0x1a4e('0x1e')]-_0x58b006,this['endian']);for(var _0x569333=0x0;_0x569333<_0xbe82dd[_0x1a4e('0x1e')];_0x569333+=this[_0x1a4e('0xdc1')])this[_0x1a4e('0xa74')](_0xbe82dd,_0x569333,_0x569333+this[_0x1a4e('0xdc1')]);}return this;},_0x28b48c[_0x1a4e('0xa')][_0x1a4e('0xaa9')]=function(_0xbe82dd){return this[_0x1a4e('0x937')](this[_0x1a4e('0xb75')]()),_0x569333(null===this[_0x1a4e('0xdbc')]),this[_0x1a4e('0xdb1')](_0xbe82dd);},_0x28b48c[_0x1a4e('0xa')][_0x1a4e('0xb75')]=function(){var _0xbe82dd=this[_0x1a4e('0xdc3')],_0x3bdc6d=this[_0x1a4e('0xdc0')],_0x58b006=_0x3bdc6d-(_0xbe82dd+this['padLength'])%_0x3bdc6d,_0x458d85=new Array(_0x58b006+this[_0x1a4e('0xdbd')]);_0x458d85[0x0]=0x80;for(var _0x569333=0x1;_0x569333<_0x58b006;_0x569333++)_0x458d85[_0x569333]=0x0;if(_0xbe82dd<<=0x3,_0x1a4e('0xdbf')===this[_0x1a4e('0xdbe')]){for(var _0x28b48c=0x8;_0x28b48c>>0x18&0xff,_0x458d85[_0x569333++]=_0xbe82dd>>>0x10&0xff,_0x458d85[_0x569333++]=_0xbe82dd>>>0x8&0xff,_0x458d85[_0x569333++]=0xff&_0xbe82dd;}else for(_0x458d85[_0x569333++]=0xff&_0xbe82dd,_0x458d85[_0x569333++]=_0xbe82dd>>>0x8&0xff,_0x458d85[_0x569333++]=_0xbe82dd>>>0x10&0xff,_0x458d85[_0x569333++]=_0xbe82dd>>>0x18&0xff,_0x458d85[_0x569333++]=0x0,_0x458d85[_0x569333++]=0x0,_0x458d85[_0x569333++]=0x0,_0x458d85[_0x569333++]=0x0,_0x28b48c=0x8;_0x28b48cthis[_0x1a4e('0xa31')]&&(_0x10fc3f=new this[(_0x1a4e('0xb48'))]()[_0x1a4e('0x937')](_0x10fc3f)[_0x1a4e('0xaa9')]()),_0x34375f(_0x10fc3f['length']<=this[_0x1a4e('0xa31')]);for(var _0xb27b89=_0x10fc3f[_0x1a4e('0x1e')];_0xb27b89>>0x3;},_0x432a98['g1_256']=function(_0x58cc37){return _0x329e05(_0x58cc37,0x11)^_0x329e05(_0x58cc37,0x13)^_0x58cc37>>>0xa;};},'./node_modules/hash.js/lib/hash/utils.js':function(_0x25b7ff,_0xcae022,_0x86958e){'use strict';var _0x3bb7a2=_0x86958e('./node_modules/minimalistic-assert/index.js'),_0xdae843=_0x86958e(_0x1a4e('0x863'));function _0x4c4597(_0x25b7ff,_0xcae022){return 0xd800==(0xfc00&_0x25b7ff[_0x1a4e('0x913')](_0xcae022))&&(!(_0xcae022<0x0||_0xcae022+0x1>=_0x25b7ff['length'])&&0xdc00==(0xfc00&_0x25b7ff[_0x1a4e('0x913')](_0xcae022+0x1)));}function _0x1f83cc(_0x25b7ff){return(_0x25b7ff>>>0x18|_0x25b7ff>>>0x8&0xff00|_0x25b7ff<<0x8&0xff0000|(0xff&_0x25b7ff)<<0x18)>>>0x0;}function _0x5dd7be(_0x25b7ff){return 0x1===_0x25b7ff['length']?'0'+_0x25b7ff:_0x25b7ff;}function _0xcc6ad7(_0x25b7ff){return 0x7===_0x25b7ff[_0x1a4e('0x1e')]?'0'+_0x25b7ff:0x6===_0x25b7ff[_0x1a4e('0x1e')]?'00'+_0x25b7ff:0x5===_0x25b7ff['length']?'000'+_0x25b7ff:0x4===_0x25b7ff['length']?'0000'+_0x25b7ff:0x3===_0x25b7ff[_0x1a4e('0x1e')]?_0x1a4e('0x989')+_0x25b7ff:0x2===_0x25b7ff[_0x1a4e('0x1e')]?_0x1a4e('0x98a')+_0x25b7ff:0x1===_0x25b7ff[_0x1a4e('0x1e')]?'0000000'+_0x25b7ff:_0x25b7ff;}_0xcae022[_0x1a4e('0xdd4')]=_0xdae843,_0xcae022['toArray']=function(_0x25b7ff,_0xcae022){if(Array[_0x1a4e('0x15')](_0x25b7ff))return _0x25b7ff['slice']();if(!_0x25b7ff)return[];var _0x86958e=[];if(_0x1a4e('0x9')==typeof _0x25b7ff)if(_0xcae022){if('hex'===_0xcae022)for((_0x25b7ff=_0x25b7ff['replace'](/[^a-z0-9]+/gi,''))[_0x1a4e('0x1e')]%0x2!=0x0&&(_0x25b7ff='0'+_0x25b7ff),_0xdae843=0x0;_0xdae843<_0x25b7ff['length'];_0xdae843+=0x2)_0x86958e[_0x1a4e('0x46')](parseInt(_0x25b7ff[_0xdae843]+_0x25b7ff[_0xdae843+0x1],0x10));}else for(var _0x3bb7a2=0x0,_0xdae843=0x0;_0xdae843<_0x25b7ff['length'];_0xdae843++){var _0x1f83cc=_0x25b7ff['charCodeAt'](_0xdae843);_0x1f83cc<0x80?_0x86958e[_0x3bb7a2++]=_0x1f83cc:_0x1f83cc<0x800?(_0x86958e[_0x3bb7a2++]=_0x1f83cc>>0x6|0xc0,_0x86958e[_0x3bb7a2++]=0x3f&_0x1f83cc|0x80):_0x4c4597(_0x25b7ff,_0xdae843)?(_0x1f83cc=0x10000+((0x3ff&_0x1f83cc)<<0xa)+(0x3ff&_0x25b7ff[_0x1a4e('0x913')](++_0xdae843)),_0x86958e[_0x3bb7a2++]=_0x1f83cc>>0x12|0xf0,_0x86958e[_0x3bb7a2++]=_0x1f83cc>>0xc&0x3f|0x80,_0x86958e[_0x3bb7a2++]=_0x1f83cc>>0x6&0x3f|0x80,_0x86958e[_0x3bb7a2++]=0x3f&_0x1f83cc|0x80):(_0x86958e[_0x3bb7a2++]=_0x1f83cc>>0xc|0xe0,_0x86958e[_0x3bb7a2++]=_0x1f83cc>>0x6&0x3f|0x80,_0x86958e[_0x3bb7a2++]=0x3f&_0x1f83cc|0x80);}else for(_0xdae843=0x0;_0xdae843<_0x25b7ff[_0x1a4e('0x1e')];_0xdae843++)_0x86958e[_0xdae843]=0x0|_0x25b7ff[_0xdae843];return _0x86958e;},_0xcae022[_0x1a4e('0xc59')]=function(_0x25b7ff){for(var _0xcae022='',_0x86958e=0x0;_0x86958e<_0x25b7ff['length'];_0x86958e++)_0xcae022+=_0x5dd7be(_0x25b7ff[_0x86958e]['toString'](0x10));return _0xcae022;},_0xcae022['htonl']=_0x1f83cc,_0xcae022[_0x1a4e('0xdcb')]=function(_0x25b7ff,_0xcae022){for(var _0x86958e='',_0x3bb7a2=0x0;_0x3bb7a2<_0x25b7ff['length'];_0x3bb7a2++){var _0xdae843=_0x25b7ff[_0x3bb7a2];'little'===_0xcae022&&(_0xdae843=_0x1f83cc(_0xdae843)),_0x86958e+=_0xcc6ad7(_0xdae843[_0x1a4e('0x95')](0x10));}return _0x86958e;},_0xcae022[_0x1a4e('0xd82')]=_0x5dd7be,_0xcae022[_0x1a4e('0xde5')]=_0xcc6ad7,_0xcae022[_0x1a4e('0xdc4')]=function(_0x25b7ff,_0xcae022,_0x86958e,_0xdae843){var _0x4c4597=_0x86958e-_0xcae022;_0x3bb7a2(_0x4c4597%0x4==0x0);for(var _0x1f83cc=new Array(_0x4c4597/0x4),_0x5dd7be=0x0,_0xcc6ad7=_0xcae022;_0x5dd7be<_0x1f83cc[_0x1a4e('0x1e')];_0x5dd7be++,_0xcc6ad7+=0x4){var _0x115178;_0x115178='big'===_0xdae843?_0x25b7ff[_0xcc6ad7]<<0x18|_0x25b7ff[_0xcc6ad7+0x1]<<0x10|_0x25b7ff[_0xcc6ad7+0x2]<<0x8|_0x25b7ff[_0xcc6ad7+0x3]:_0x25b7ff[_0xcc6ad7+0x3]<<0x18|_0x25b7ff[_0xcc6ad7+0x2]<<0x10|_0x25b7ff[_0xcc6ad7+0x1]<<0x8|_0x25b7ff[_0xcc6ad7],_0x1f83cc[_0x5dd7be]=_0x115178>>>0x0;}return _0x1f83cc;},_0xcae022['split32']=function(_0x25b7ff,_0xcae022){for(var _0x86958e=new Array(0x4*_0x25b7ff['length']),_0x3bb7a2=0x0,_0xdae843=0x0;_0x3bb7a2<_0x25b7ff['length'];_0x3bb7a2++,_0xdae843+=0x4){var _0x4c4597=_0x25b7ff[_0x3bb7a2];_0x1a4e('0xdbf')===_0xcae022?(_0x86958e[_0xdae843]=_0x4c4597>>>0x18,_0x86958e[_0xdae843+0x1]=_0x4c4597>>>0x10&0xff,_0x86958e[_0xdae843+0x2]=_0x4c4597>>>0x8&0xff,_0x86958e[_0xdae843+0x3]=0xff&_0x4c4597):(_0x86958e[_0xdae843+0x3]=_0x4c4597>>>0x18,_0x86958e[_0xdae843+0x2]=_0x4c4597>>>0x10&0xff,_0x86958e[_0xdae843+0x1]=_0x4c4597>>>0x8&0xff,_0x86958e[_0xdae843]=0xff&_0x4c4597);}return _0x86958e;},_0xcae022[_0x1a4e('0xde0')]=function(_0x25b7ff,_0xcae022){return _0x25b7ff>>>_0xcae022|_0x25b7ff<<0x20-_0xcae022;},_0xcae022[_0x1a4e('0xdd1')]=function(_0x25b7ff,_0xcae022){return _0x25b7ff<<_0xcae022|_0x25b7ff>>>0x20-_0xcae022;},_0xcae022[_0x1a4e('0xdc8')]=function(_0x25b7ff,_0xcae022){return _0x25b7ff+_0xcae022>>>0x0;},_0xcae022['sum32_3']=function(_0x25b7ff,_0xcae022,_0x86958e){return _0x25b7ff+_0xcae022+_0x86958e>>>0x0;},_0xcae022[_0x1a4e('0xdc9')]=function(_0x25b7ff,_0xcae022,_0x86958e,_0x3bb7a2){return _0x25b7ff+_0xcae022+_0x86958e+_0x3bb7a2>>>0x0;},_0xcae022['sum32_5']=function(_0x25b7ff,_0xcae022,_0x86958e,_0x3bb7a2,_0xdae843){return _0x25b7ff+_0xcae022+_0x86958e+_0x3bb7a2+_0xdae843>>>0x0;},_0xcae022['sum64']=function(_0x25b7ff,_0xcae022,_0x86958e,_0x3bb7a2){var _0xdae843=_0x25b7ff[_0xcae022],_0x4c4597=_0x3bb7a2+_0x25b7ff[_0xcae022+0x1]>>>0x0,_0x1f83cc=(_0x4c4597<_0x3bb7a2?0x1:0x0)+_0x86958e+_0xdae843;_0x25b7ff[_0xcae022]=_0x1f83cc>>>0x0,_0x25b7ff[_0xcae022+0x1]=_0x4c4597;},_0xcae022['sum64_hi']=function(_0x25b7ff,_0xcae022,_0x86958e,_0x3bb7a2){return(_0xcae022+_0x3bb7a2>>>0x0<_0xcae022?0x1:0x0)+_0x25b7ff+_0x86958e>>>0x0;},_0xcae022['sum64_lo']=function(_0x25b7ff,_0xcae022,_0x86958e,_0x3bb7a2){return _0xcae022+_0x3bb7a2>>>0x0;},_0xcae022[_0x1a4e('0xddc')]=function(_0x25b7ff,_0xcae022,_0x86958e,_0x3bb7a2,_0xdae843,_0x4c4597,_0x1f83cc,_0x5dd7be){var _0xcc6ad7=0x0,_0xafc2f1=_0xcae022;return _0xcc6ad7+=(_0xafc2f1=_0xafc2f1+_0x3bb7a2>>>0x0)<_0xcae022?0x1:0x0,_0xcc6ad7+=(_0xafc2f1=_0xafc2f1+_0x4c4597>>>0x0)<_0x4c4597?0x1:0x0,_0x25b7ff+_0x86958e+_0xdae843+_0x1f83cc+(_0xcc6ad7+=(_0xafc2f1=_0xafc2f1+_0x5dd7be>>>0x0)<_0x5dd7be?0x1:0x0)>>>0x0;},_0xcae022[_0x1a4e('0xddd')]=function(_0x25b7ff,_0xcae022,_0x86958e,_0x3bb7a2,_0xdae843,_0x4c4597,_0x1f83cc,_0x5dd7be){return _0xcae022+_0x3bb7a2+_0x4c4597+_0x5dd7be>>>0x0;},_0xcae022[_0x1a4e('0xde6')]=function(_0x25b7ff,_0xcae022,_0x86958e,_0x3bb7a2,_0xdae843,_0x4c4597,_0x1f83cc,_0x5dd7be,_0xcc6ad7,_0x5e4614){var _0x757aa2=0x0,_0x2aa059=_0xcae022;return _0x757aa2+=(_0x2aa059=_0x2aa059+_0x3bb7a2>>>0x0)<_0xcae022?0x1:0x0,_0x757aa2+=(_0x2aa059=_0x2aa059+_0x4c4597>>>0x0)<_0x4c4597?0x1:0x0,_0x757aa2+=(_0x2aa059=_0x2aa059+_0x5dd7be>>>0x0)<_0x5dd7be?0x1:0x0,_0x25b7ff+_0x86958e+_0xdae843+_0x1f83cc+_0xcc6ad7+(_0x757aa2+=(_0x2aa059=_0x2aa059+_0x5e4614>>>0x0)<_0x5e4614?0x1:0x0)>>>0x0;},_0xcae022[_0x1a4e('0xdde')]=function(_0x25b7ff,_0xcae022,_0x86958e,_0x3bb7a2,_0xdae843,_0x4c4597,_0x1f83cc,_0x5dd7be,_0xcc6ad7,_0x4a5b69){return _0xcae022+_0x3bb7a2+_0x4c4597+_0x5dd7be+_0x4a5b69>>>0x0;},_0xcae022[_0x1a4e('0xdd8')]=function(_0x25b7ff,_0xcae022,_0x86958e){return(_0xcae022<<0x20-_0x86958e|_0x25b7ff>>>_0x86958e)>>>0x0;},_0xcae022[_0x1a4e('0xdd9')]=function(_0x25b7ff,_0xcae022,_0x86958e){return(_0x25b7ff<<0x20-_0x86958e|_0xcae022>>>_0x86958e)>>>0x0;},_0xcae022[_0x1a4e('0xde7')]=function(_0x25b7ff,_0xcae022,_0x86958e){return _0x25b7ff>>>_0x86958e;},_0xcae022[_0x1a4e('0xdda')]=function(_0x25b7ff,_0xcae022,_0x86958e){return(_0x25b7ff<<0x20-_0x86958e|_0xcae022>>>_0x86958e)>>>0x0;};},'./node_modules/hmac-drbg/lib/hmac-drbg.js':function(_0x3333b2,_0x6db24e,_0x1cf24e){'use strict';var _0x30f4a3=_0x1cf24e('./node_modules/hash.js/lib/hash.js'),_0x316c41=_0x1cf24e(_0x1a4e('0xd81')),_0x2bf5fe=_0x1cf24e('./node_modules/minimalistic-assert/index.js');function _0x27f514(_0x3333b2){if(!(this instanceof _0x27f514))return new _0x27f514(_0x3333b2);this[_0x1a4e('0xaa4')]=_0x3333b2['hash'],this['predResist']=!!_0x3333b2['predResist'],this[_0x1a4e('0xde8')]=this[_0x1a4e('0xaa4')][_0x1a4e('0xdc5')],this[_0x1a4e('0xde9')]=_0x3333b2[_0x1a4e('0xde9')]||this['hash']['hmacStrength'],this[_0x1a4e('0xdea')]=null,this[_0x1a4e('0xdeb')]=null,this['K']=null,this['V']=null;var _0x6db24e=_0x316c41[_0x1a4e('0x347')](_0x3333b2[_0x1a4e('0xc28')],_0x3333b2[_0x1a4e('0xc2a')]||_0x1a4e('0x823')),_0x1cf24e=_0x316c41[_0x1a4e('0x347')](_0x3333b2['nonce'],_0x3333b2[_0x1a4e('0xdec')]||'hex'),_0x30f4a3=_0x316c41[_0x1a4e('0x347')](_0x3333b2[_0x1a4e('0xc26')],_0x3333b2[_0x1a4e('0xc27')]||_0x1a4e('0x823'));_0x2bf5fe(_0x6db24e['length']>=this[_0x1a4e('0xde9')]/0x8,_0x1a4e('0xded')+this['minEntropy']+_0x1a4e('0xdee')),this[_0x1a4e('0x1f7')](_0x6db24e,_0x1cf24e,_0x30f4a3);}_0x3333b2['exports']=_0x27f514,_0x27f514['prototype']['_init']=function(_0x3333b2,_0x6db24e,_0x1cf24e){var _0x30f4a3=_0x3333b2[_0x1a4e('0x9a')](_0x6db24e)['concat'](_0x1cf24e);this['K']=new Array(this[_0x1a4e('0xde8')]/0x8),this['V']=new Array(this['outLen']/0x8);for(var _0x316c41=0x0;_0x316c41=this[_0x1a4e('0xde9')]/0x8,_0x1a4e('0xded')+this[_0x1a4e('0xde9')]+_0x1a4e('0xdee')),this[_0x1a4e('0xa74')](_0x3333b2['concat'](_0x1cf24e||[])),this[_0x1a4e('0xdea')]=0x1;},_0x27f514[_0x1a4e('0xa')][_0x1a4e('0xa22')]=function(_0x3333b2,_0x6db24e,_0x1cf24e,_0x30f4a3){if(this[_0x1a4e('0xdea')]>this[_0x1a4e('0xdeb')])throw new Error('Reseed\x20is\x20required');_0x1a4e('0x9')!=typeof _0x6db24e&&(_0x30f4a3=_0x1cf24e,_0x1cf24e=_0x6db24e,_0x6db24e=null),_0x1cf24e&&(_0x1cf24e=_0x316c41[_0x1a4e('0x347')](_0x1cf24e,_0x30f4a3||_0x1a4e('0x823')),this['_update'](_0x1cf24e));for(var _0x2bf5fe=[];_0x2bf5fe['length']<_0x3333b2;)this['V']=this[_0x1a4e('0xdef')]()[_0x1a4e('0x937')](this['V'])[_0x1a4e('0xaa9')](),_0x2bf5fe=_0x2bf5fe['concat'](this['V']);var _0x27f514=_0x2bf5fe[_0x1a4e('0x78')](0x0,_0x3333b2);return this[_0x1a4e('0xa74')](_0x1cf24e),this[_0x1a4e('0xdea')]++,_0x316c41[_0x1a4e('0x86d')](_0x27f514,_0x6db24e);};},'./node_modules/ieee754/index.js':function(_0x2fd22c,_0x56c520){_0x56c520[_0x1a4e('0x144')]=function(_0x2fd22c,_0x56c520,_0x2d0c97,_0x2d9a10,_0x267d20){var _0x124549,_0x365c5e,_0x4050f7=0x8*_0x267d20-_0x2d9a10-0x1,_0x50192a=(0x1<<_0x4050f7)-0x1,_0x4dbb8a=_0x50192a>>0x1,_0x3d683b=-0x7,_0x1ea38c=_0x2d0c97?_0x267d20-0x1:0x0,_0x1ea989=_0x2d0c97?-0x1:0x1,_0x47c851=_0x2fd22c[_0x56c520+_0x1ea38c];for(_0x1ea38c+=_0x1ea989,_0x124549=_0x47c851&(0x1<<-_0x3d683b)-0x1,_0x47c851>>=-_0x3d683b,_0x3d683b+=_0x4050f7;_0x3d683b>0x0;_0x124549=0x100*_0x124549+_0x2fd22c[_0x56c520+_0x1ea38c],_0x1ea38c+=_0x1ea989,_0x3d683b-=0x8);for(_0x365c5e=_0x124549&(0x1<<-_0x3d683b)-0x1,_0x124549>>=-_0x3d683b,_0x3d683b+=_0x2d9a10;_0x3d683b>0x0;_0x365c5e=0x100*_0x365c5e+_0x2fd22c[_0x56c520+_0x1ea38c],_0x1ea38c+=_0x1ea989,_0x3d683b-=0x8);if(0x0===_0x124549)_0x124549=0x1-_0x4dbb8a;else{if(_0x124549===_0x50192a)return _0x365c5e?NaN:0x1/0x0*(_0x47c851?-0x1:0x1);_0x365c5e+=Math[_0x1a4e('0x8e')](0x2,_0x2d9a10),_0x124549-=_0x4dbb8a;}return(_0x47c851?-0x1:0x1)*_0x365c5e*Math[_0x1a4e('0x8e')](0x2,_0x124549-_0x2d9a10);},_0x56c520[_0x1a4e('0x146')]=function(_0x2fd22c,_0x56c520,_0x3107fd,_0x4f9a2b,_0x5c65e6,_0x2455c3){var _0x284a96,_0x408c12,_0x1df05e,_0x10b84a=0x8*_0x2455c3-_0x5c65e6-0x1,_0x2475c1=(0x1<<_0x10b84a)-0x1,_0x289d2e=_0x2475c1>>0x1,_0x5d3c51=0x17===_0x5c65e6?Math[_0x1a4e('0x8e')](0x2,-0x18)-Math[_0x1a4e('0x8e')](0x2,-0x4d):0x0,_0x1a4492=_0x4f9a2b?0x0:_0x2455c3-0x1,_0x4095c5=_0x4f9a2b?0x1:-0x1,_0x33aac6=_0x56c520<0x0||0x0===_0x56c520&&0x1/_0x56c520<0x0?0x1:0x0;for(_0x56c520=Math[_0x1a4e('0x65')](_0x56c520),isNaN(_0x56c520)||_0x56c520===0x1/0x0?(_0x408c12=isNaN(_0x56c520)?0x1:0x0,_0x284a96=_0x2475c1):(_0x284a96=Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x58')](_0x56c520)/Math[_0x1a4e('0x172')]),_0x56c520*(_0x1df05e=Math[_0x1a4e('0x8e')](0x2,-_0x284a96))<0x1&&(_0x284a96--,_0x1df05e*=0x2),(_0x56c520+=_0x284a96+_0x289d2e>=0x1?_0x5d3c51/_0x1df05e:_0x5d3c51*Math['pow'](0x2,0x1-_0x289d2e))*_0x1df05e>=0x2&&(_0x284a96++,_0x1df05e/=0x2),_0x284a96+_0x289d2e>=_0x2475c1?(_0x408c12=0x0,_0x284a96=_0x2475c1):_0x284a96+_0x289d2e>=0x1?(_0x408c12=(_0x56c520*_0x1df05e-0x1)*Math[_0x1a4e('0x8e')](0x2,_0x5c65e6),_0x284a96+=_0x289d2e):(_0x408c12=_0x56c520*Math['pow'](0x2,_0x289d2e-0x1)*Math['pow'](0x2,_0x5c65e6),_0x284a96=0x0));_0x5c65e6>=0x8;_0x2fd22c[_0x3107fd+_0x1a4492]=0xff&_0x408c12,_0x1a4492+=_0x4095c5,_0x408c12/=0x100,_0x5c65e6-=0x8);for(_0x284a96=_0x284a96<<_0x5c65e6|_0x408c12,_0x10b84a+=_0x5c65e6;_0x10b84a>0x0;_0x2fd22c[_0x3107fd+_0x1a4492]=0xff&_0x284a96,_0x1a4492+=_0x4095c5,_0x284a96/=0x100,_0x10b84a-=0x8);_0x2fd22c[_0x3107fd+_0x1a4492-_0x4095c5]|=0x80*_0x33aac6;};},'./node_modules/import-html-entry/esm/index.js':function(_0xd19de7,_0x206282,_0x5e7107){'use strict';_0x5e7107['r'](_0x206282),_0x5e7107['d'](_0x206282,_0x1a4e('0xdf0'),function(){return _0xe52eec;}),_0x5e7107['d'](_0x206282,_0x1a4e('0xdf1'),function(){return _0x4c1e9c;}),_0x5e7107['d'](_0x206282,_0x1a4e('0xdf2'),function(){return _0x1854f3;}),_0x5e7107['d'](_0x206282,_0x1a4e('0x8'),function(){return _0x885049;}),_0x5e7107['d'](_0x206282,_0x1a4e('0xdf3'),function(){return _0x290b3b;});var _0x214b5a=_0x5e7107(_0x1a4e('0xdf4')),_0x542a54=_0x5e7107(_0x1a4e('0xdf5')),_0x8aefb7={},_0x10b156={},_0x2ccae7={};if(!window[_0x1a4e('0xdf6')])throw new Error(_0x1a4e('0xdf7'));var _0x420951=window[_0x1a4e('0xdf6')]['bind'](window);function _0x1ce3ea(_0xd19de7){return _0xd19de7;}function _0x39d734(_0xd19de7,_0x206282){var _0x5e7107=(arguments['length']>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:{})[_0x1a4e('0xdf6')],_0x542a54=_0xd19de7;return _0xe52eec(_0x206282,void 0x0===_0x5e7107?_0x420951:_0x5e7107)[_0x1a4e('0xdf8')](function(_0xd19de7){return _0x542a54=_0x206282[_0x1a4e('0xbb')](function(_0x206282,_0x5e7107,_0x542a54){return _0x206282=_0x206282[_0x1a4e('0x115')](Object(_0x214b5a['genLinkReplaceSymbol'])(_0x5e7107),_0x1a4e('0xdf9')['concat'](_0x5e7107,_0x1a4e('0xdfa'))[_0x1a4e('0x9a')](_0xd19de7[_0x542a54],''));},_0x542a54);});}var _0x41c93b=function(_0xd19de7){return _0xd19de7[_0x1a4e('0xdfb')]('<');};function _0x470aeb(_0xd19de7,_0x206282,_0x5e7107,_0x214b5a){var _0x542a54=_0x41c93b(_0xd19de7)?'':_0x1a4e('0xdfc')[_0x1a4e('0x9a')](_0xd19de7,'\x0a');return window[_0x1a4e('0xdfd')]=_0x5e7107,_0x214b5a?_0x1a4e('0xdfe')[_0x1a4e('0x9a')](_0x206282,'\x0a')[_0x1a4e('0x9a')](_0x542a54,'}}).bind(window.proxy)(window.proxy,\x20window.proxy);'):_0x1a4e('0xdff')[_0x1a4e('0x9a')](_0x206282,'\x0a')[_0x1a4e('0x9a')](_0x542a54,_0x1a4e('0xe00'));}function _0xe52eec(_0xd19de7){var _0x206282=arguments['length']>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:_0x420951;return Promise[_0x1a4e('0xb8')](_0xd19de7[_0x1a4e('0x21')](function(_0xd19de7){return _0x41c93b(_0xd19de7)?Object(_0x542a54[_0x1a4e('0xe01')])(_0xd19de7):_0x8aefb7[_0xd19de7]||(_0x8aefb7[_0xd19de7]=_0x206282(_0xd19de7)[_0x1a4e('0xdf8')](function(_0xd19de7){return _0xd19de7['text']();}));}));}function _0x4c1e9c(_0xd19de7){var _0x206282=arguments['length']>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:_0x420951,_0x5e7107=arguments[_0x1a4e('0x1e')]>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:function(){},_0x214b5a=function(_0xd19de7){return _0x10b156[_0xd19de7]||(_0x10b156[_0xd19de7]=_0x206282(_0xd19de7)[_0x1a4e('0xdf8')](function(_0x206282){if(_0x206282[_0x1a4e('0xe02')]>=0x190)throw _0x5e7107(),new Error(''[_0x1a4e('0x9a')](_0xd19de7,_0x1a4e('0xe03'))[_0x1a4e('0x9a')](_0x206282[_0x1a4e('0xe02')]));return _0x206282[_0x1a4e('0xe04')]();}));};return Promise[_0x1a4e('0xb8')](_0xd19de7[_0x1a4e('0x21')](function(_0xd19de7){if(_0x1a4e('0x9')==typeof _0xd19de7)return _0x41c93b(_0xd19de7)?Object(_0x542a54[_0x1a4e('0xe01')])(_0xd19de7):_0x214b5a(_0xd19de7);var _0x206282=_0xd19de7[_0x1a4e('0xe05')];return _0xd19de7[_0x1a4e('0xe06')]?{'src':_0x206282,'async':!0x0,'content':new Promise(function(_0xd19de7,_0x5e7107){return Object(_0x542a54[_0x1a4e('0xe07')])(function(){return _0x214b5a(_0x206282)[_0x1a4e('0xdf8')](_0xd19de7,_0x5e7107);});})}:_0x214b5a(_0x206282);}));}function _0x157d09(_0xd19de7,_0x206282){setTimeout(function(){throw console[_0x1a4e('0x873')](_0x206282),_0xd19de7;});}var _0x1942d3='undefined'!=typeof performance&&_0x1a4e('0x68')==typeof performance[_0x1a4e('0xe08')]&&'function'==typeof performance[_0x1a4e('0xe09')]&&_0x1a4e('0x68')==typeof performance[_0x1a4e('0xe0a')]&&'function'==typeof performance[_0x1a4e('0xe0b')];function _0x1854f3(_0xd19de7,_0x206282){var _0x5e7107=arguments[_0x1a4e('0x1e')]>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:window,_0x214b5a=arguments['length']>0x3&&void 0x0!==arguments[0x3]?arguments[0x3]:{},_0x8aefb7=_0x214b5a[_0x1a4e('0xdf6')],_0x10b156=void 0x0===_0x8aefb7?_0x420951:_0x8aefb7,_0x2ccae7=_0x214b5a['strictGlobal'],_0x1ce3ea=void 0x0!==_0x2ccae7&&_0x2ccae7,_0x39d734=_0x214b5a[_0x1a4e('0xe0c')],_0x41c93b=_0x214b5a['error'],_0xe52eec=void 0x0===_0x41c93b?function(){}:_0x41c93b,_0x1854f3=_0x214b5a[_0x1a4e('0xe0d')],_0x51956d=void 0x0===_0x1854f3?function(){}:_0x1854f3;return _0x4c1e9c(_0x206282,_0x10b156,_0xe52eec)[_0x1a4e('0xdf8')](function(_0x214b5a){var _0x8aefb7=function(_0xd19de7){_0x51956d(),(0x0,eval)(_0xd19de7);};function _0x10b156(_0x2ccae7,_0x420951){_0x2ccae7<_0x206282[_0x1a4e('0x1e')]&&(!function(_0x206282,_0x214b5a,_0x10b156){var _0x2ccae7=_0x1a4e('0xe0e')[_0x1a4e('0x9a')](_0x206282),_0x420951=_0x1a4e('0xe0f')[_0x1a4e('0x9a')](_0x206282);if(_0x1942d3&&performance[_0x1a4e('0xe08')](_0x2ccae7),_0x206282===_0xd19de7){Object(_0x542a54[_0x1a4e('0xe10')])(_0x1ce3ea?_0x5e7107:window);try{_0x8aefb7(_0x470aeb(_0x206282,_0x214b5a,_0x5e7107,_0x1ce3ea)),_0x10b156(_0x5e7107[Object(_0x542a54[_0x1a4e('0xe11')])(_0x1ce3ea?_0x5e7107:window)]||{});}catch(_0x3b8596){_0x157d09(_0x3b8596,_0x1a4e('0xe12')[_0x1a4e('0x9a')](_0x206282));}}else if('string'==typeof _0x214b5a)try{_0x8aefb7(_0x470aeb(_0x206282,_0x214b5a,_0x5e7107,_0x1ce3ea));}catch(_0x59cca0){_0x157d09(_0x59cca0,_0x1a4e('0xe13')[_0x1a4e('0x9a')](_0x206282));}else _0x214b5a[_0x1a4e('0xe06')]&&(null==_0x214b5a||_0x214b5a[_0x1a4e('0x120')]['then'](function(_0xd19de7){return _0x8aefb7(_0x470aeb(_0x214b5a['src'],_0xd19de7,_0x5e7107,_0x1ce3ea));})['catch'](function(_0xd19de7){throw console[_0x1a4e('0x873')](_0x1a4e('0xe14')[_0x1a4e('0x9a')](_0x214b5a['src'])),_0xd19de7;}));_0x1942d3&&(performance['measure'](_0x420951,_0x2ccae7),performance[_0x1a4e('0xe09')](_0x2ccae7),performance[_0x1a4e('0xe0b')](_0x420951));}(_0x206282[_0x2ccae7],_0x214b5a[_0x2ccae7],_0x420951),_0xd19de7||_0x2ccae7!==_0x206282[_0x1a4e('0x1e')]-0x1?_0x10b156(_0x2ccae7+0x1,_0x420951):_0x420951());}return new Promise(function(_0xd19de7){return _0x10b156(0x0,_0x39d734||_0xd19de7);});});}function _0x885049(_0xd19de7){var _0x206282=arguments[_0x1a4e('0x1e')]>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:{},_0x5e7107=_0x420951,_0x8aefb7=_0x542a54[_0x1a4e('0xe15')],_0x10b156=_0x1ce3ea;return _0x1a4e('0x68')==typeof _0x206282?_0x5e7107=_0x206282:(_0x5e7107=_0x206282[_0x1a4e('0xdf6')]||_0x420951,_0x8aefb7=_0x206282[_0x1a4e('0xe16')]||_0x206282[_0x1a4e('0xe17')]||_0x542a54[_0x1a4e('0xe15')],_0x10b156=_0x206282[_0x1a4e('0xe18')]||_0x1ce3ea),_0x2ccae7[_0xd19de7]||(_0x2ccae7[_0xd19de7]=_0x5e7107(_0xd19de7)['then'](function(_0xd19de7){return _0xd19de7[_0x1a4e('0xe04')]();})[_0x1a4e('0xdf8')](function(_0x206282){var _0x542a54=_0x8aefb7(_0xd19de7),_0x2ccae7=Object(_0x214b5a[_0x1a4e('0x8')])(_0x10b156(_0x206282),_0x542a54),_0x420951=_0x2ccae7[_0x1a4e('0xe19')],_0x1ce3ea=_0x2ccae7[_0x1a4e('0xe1a')],_0x41c93b=_0x2ccae7[_0x1a4e('0xe1b')],_0x470aeb=_0x2ccae7['styles'];return _0x39d734(_0x420951,_0x470aeb,{'fetch':_0x5e7107})[_0x1a4e('0xdf8')](function(_0xd19de7){return{'template':_0xd19de7,'assetPublicPath':_0x542a54,'getExternalScripts':function(){return _0x4c1e9c(_0x1ce3ea,_0x5e7107);},'getExternalStyleSheets':function(){return _0xe52eec(_0x470aeb,_0x5e7107);},'execScripts':function(_0xd19de7,_0x206282){return _0x1ce3ea[_0x1a4e('0x1e')]?_0x1854f3(_0x41c93b,_0x1ce3ea,_0xd19de7,{'fetch':_0x5e7107,'strictGlobal':_0x206282}):Promise['resolve']();}};});}));}function _0x290b3b(_0xd19de7){var _0x206282,_0x5e7107=arguments[_0x1a4e('0x1e')]>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:{},_0x8aefb7=_0x5e7107['fetch'],_0x10b156=void 0x0===_0x8aefb7?_0x420951:_0x8aefb7,_0x2ccae7=_0x5e7107[_0x1a4e('0xe18')],_0x41c93b=void 0x0===_0x2ccae7?_0x1ce3ea:_0x2ccae7,_0x470aeb=_0x5e7107[_0x1a4e('0xe16')]||_0x5e7107[_0x1a4e('0xe17')]||_0x542a54[_0x1a4e('0xe15')];if(!_0xd19de7)throw new SyntaxError(_0x1a4e('0xe1c'));if(_0x1a4e('0x9')==typeof _0xd19de7)return _0x885049(_0xd19de7,{'fetch':_0x10b156,'getPublicPath':_0x470aeb,'getTemplate':_0x41c93b});if(Array['isArray'](_0xd19de7[_0x1a4e('0xe1a')])||Array['isArray'](_0xd19de7[_0x1a4e('0xe1d')])){var _0x157d09=_0xd19de7['scripts'],_0x1942d3=void 0x0===_0x157d09?[]:_0x157d09,_0x290b3b=_0xd19de7[_0x1a4e('0xe1d')],_0xd039af=void 0x0===_0x290b3b?[]:_0x290b3b,_0x4a9e1f=_0xd19de7[_0x1a4e('0xe1e')];return _0x39d734(_0x41c93b(function(_0xd19de7){return _0x1942d3[_0x1a4e('0xbb')](function(_0xd19de7,_0x206282){return''['concat'](_0xd19de7)[_0x1a4e('0x9a')](Object(_0x214b5a['genScriptReplaceSymbol'])(_0x206282));},_0xd19de7);}((_0x206282=void 0x0===_0x4a9e1f?'':_0x4a9e1f,_0xd039af[_0x1a4e('0xe1f')](function(_0xd19de7,_0x206282){return''[_0x1a4e('0x9a')](Object(_0x214b5a['genLinkReplaceSymbol'])(_0x206282))['concat'](_0xd19de7);},_0x206282)))),_0xd039af,{'fetch':_0x10b156})[_0x1a4e('0xdf8')](function(_0x206282){return{'template':_0x206282,'assetPublicPath':_0x470aeb(_0xd19de7),'getExternalScripts':function(){return _0x4c1e9c(_0x1942d3,_0x10b156);},'getExternalStyleSheets':function(){return _0xe52eec(_0xd039af,_0x10b156);},'execScripts':function(_0xd19de7,_0x206282){return _0x1942d3[_0x1a4e('0x1e')]?_0x1854f3(_0x1942d3[_0x1942d3[_0x1a4e('0x1e')]-0x1],_0x1942d3,_0xd19de7,{'fetch':_0x10b156,'strictGlobal':_0x206282}):Promise[_0x1a4e('0xe20')]();}};});}throw new SyntaxError(_0x1a4e('0xe21'));}},'./node_modules/import-html-entry/esm/process-tpl.js':function(_0x502a6e,_0xcfff8f,_0x5881e1){'use strict';_0x5881e1['r'](_0xcfff8f),_0x5881e1['d'](_0xcfff8f,_0x1a4e('0xe22'),function(){return _0x4cee2a;}),_0x5881e1['d'](_0xcfff8f,_0x1a4e('0xe23'),function(){return _0x56b095;}),_0x5881e1['d'](_0xcfff8f,'inlineScriptReplaceSymbol',function(){return _0x5d6c64;}),_0x5881e1['d'](_0xcfff8f,_0x1a4e('0xe24'),function(){return _0x1905f5;}),_0x5881e1['d'](_0xcfff8f,_0x1a4e('0xe25'),function(){return _0x60192f;}),_0x5881e1['d'](_0xcfff8f,_0x1a4e('0x8'),function(){return _0x498966;});var _0x3f12fc=_0x5881e1(_0x1a4e('0xe26')),_0xbd4f5e=_0x5881e1['n'](_0x3f12fc),_0xb482ab=_0x5881e1(_0x1a4e('0xdf5')),_0x35142a=/()[\s\S]*?<\/script>/gi,_0x423eeb=/<(script)[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+((?!type=('|')text\/ng\x2Dtemplate\3)[\s\S])*?>[\s\S]*?<\/\1>/i,_0x199199=/.*\ssrc=('|")?([^>'"\s]+)/,_0x139b64=/.*\stype=('|")?([^>'"\s]+)/,_0xa4173d=/.*\sentry\s*.*/,_0x3e062b=/.*\sasync\s*.*/,_0x148201=/.*\snomodule\s*.*/,_0x4dcd78=/.*\stype=('|")?module('|")?\s*.*/,_0x60398=/<(link)[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+[\s\S]*?>/gi,_0x3bae31=/\srel=('|")?(preload|prefetch)\1/,_0x3aa964=/.*\shref=('|")?([^>'"\s]+)/,_0x1af1f8=/.*\sas=('|")?font\1.*/,_0x4b427b=/]*>[\s\S]*?<\/style>/gi,_0x3ac9d0=/\s+rel=('|")?stylesheet\1.*/,_0x1df5b3=/.*\shref=('|")?([^>'"\s]+)/,_0x318e73=//g,_0x136d6e=//i,_0x500435=//i,_0x2bad1b=//i;function _0x3a7f3c(_0x502a6e){return _0x502a6e[_0x1a4e('0xdfb')]('//')||_0x502a6e[_0x1a4e('0xdfb')](_0x1a4e('0xe27'))||_0x502a6e[_0x1a4e('0xdfb')](_0x1a4e('0xe28'));}function _0x4bae3d(_0x502a6e,_0xcfff8f){return new URL(_0x502a6e,_0xcfff8f)['toString']();}var _0x4cee2a=function(_0x502a6e){var _0xcfff8f=arguments['length']>0x1&&void 0x0!==arguments[0x1]&&arguments[0x1];return'');},_0x60192f=function(_0x502a6e,_0xcfff8f){return _0x1a4e('0xe2c')[_0x1a4e('0x9a')](_0xcfff8f?_0x1a4e('0xe30'):_0x1a4e('0xa6c'),_0x1a4e('0xe2d'))[_0x1a4e('0x9a')](_0x502a6e,_0x1a4e('0xe31'));};function _0x498966(_0x502a6e,_0xcfff8f){var _0x5881e1=[],_0x3f12fc=[],_0x498966=null,_0x2b9fc1=Object(_0xb482ab['isModuleScriptSupported'])();return{'template':_0x502a6e[_0x1a4e('0x115')](_0x318e73,'')[_0x1a4e('0x115')](_0x60398,function(_0x502a6e){if(!!_0x502a6e[_0x1a4e('0x909')](_0x3ac9d0)){var _0x5881e1=_0x502a6e[_0x1a4e('0x909')](_0x1df5b3),_0xb482ab=_0x502a6e['match'](_0x136d6e);if(_0x5881e1){var _0x35142a=_0x5881e1&&_0x5881e1[0x2],_0x423eeb=_0x35142a;return _0x35142a&&!_0x3a7f3c(_0x35142a)&&(_0x423eeb=_0x4bae3d(_0x35142a,_0xcfff8f)),_0xb482ab?_0x1905f5(_0x423eeb):(_0x3f12fc[_0x1a4e('0x46')](_0x423eeb),_0x4cee2a(_0x423eeb));}}if(_0x502a6e[_0x1a4e('0x909')](_0x3bae31)&&_0x502a6e[_0x1a4e('0x909')](_0x3aa964)&&!_0x502a6e['match'](_0x1af1f8)){var _0x199199=_0x502a6e['match'](_0x3aa964),_0x139b64=_0xbd4f5e()(_0x199199,0x3)[0x2];return _0x4cee2a(_0x139b64,!0x0);}return _0x502a6e;})[_0x1a4e('0x115')](_0x4b427b,function(_0x502a6e){return _0x500435[_0x1a4e('0x8d0')](_0x502a6e)?_0x1905f5(_0x1a4e('0xe32')):_0x502a6e;})[_0x1a4e('0x115')](_0x35142a,function(_0x502a6e,_0x3f12fc){var _0xbd4f5e,_0x35142a=_0x3f12fc['match'](_0x2bad1b),_0x60398=_0x2b9fc1&&!!_0x3f12fc[_0x1a4e('0x909')](_0x148201)||!_0x2b9fc1&&!!_0x3f12fc[_0x1a4e('0x909')](_0x4dcd78),_0x3bae31=_0x3f12fc['match'](_0x139b64),_0x3aa964=_0x3bae31&&_0x3bae31[0x2];if((_0xbd4f5e=_0x3aa964)&&-0x1===[_0x1a4e('0xe33'),'module','application/javascript','text/ecmascript','application/ecmascript'][_0x1a4e('0x3e')](_0xbd4f5e))return _0x502a6e;if(_0x423eeb['test'](_0x502a6e)&&_0x3f12fc[_0x1a4e('0x909')](_0x199199)){var _0x1af1f8=_0x3f12fc[_0x1a4e('0x909')](_0xa4173d),_0x4b427b=_0x3f12fc['match'](_0x199199),_0x3ac9d0=_0x4b427b&&_0x4b427b[0x2];if(_0x498966&&_0x1af1f8)throw new SyntaxError(_0x1a4e('0xe34'));if(_0x3ac9d0&&!_0x3a7f3c(_0x3ac9d0)&&(_0x3ac9d0=_0x4bae3d(_0x3ac9d0,_0xcfff8f)),_0x498966=_0x498966||_0x1af1f8&&_0x3ac9d0,_0x35142a)return _0x1905f5(_0x3ac9d0||_0x1a4e('0xe35'));if(_0x60398)return _0x60192f(_0x3ac9d0||'js\x20file',_0x2b9fc1);if(_0x3ac9d0){var _0x1df5b3=!!_0x3f12fc['match'](_0x3e062b);return _0x5881e1[_0x1a4e('0x46')](_0x1df5b3?{'async':!0x0,'src':_0x3ac9d0}:_0x3ac9d0),_0x56b095(_0x3ac9d0,_0x1df5b3);}return _0x502a6e;}return _0x35142a?_0x1905f5('js\x20file'):_0x60398?_0x60192f('js\x20file',_0x2b9fc1):(Object(_0xb482ab[_0x1a4e('0xe01')])(_0x502a6e)['split'](/[\r\n]+/)[_0x1a4e('0x114')](function(_0x502a6e){return!_0x502a6e[_0x1a4e('0x2bd')]()||_0x502a6e[_0x1a4e('0x2bd')]()[_0x1a4e('0xdfb')]('//');})||_0x5881e1['push'](_0x502a6e),_0x5d6c64);}),'scripts':_0x5881e1=_0x5881e1['filter'](function(_0x502a6e){return!!_0x502a6e;}),'styles':_0x3f12fc,'entry':_0x498966||_0x5881e1[_0x5881e1[_0x1a4e('0x1e')]-0x1]};}},'./node_modules/import-html-entry/esm/utils.js':function(_0x1f1cc0,_0x4e9c5d,_0x2018ef){'use strict';_0x2018ef['r'](_0x4e9c5d),_0x2018ef['d'](_0x4e9c5d,_0x1a4e('0xe11'),function(){return _0x16ba26;}),_0x2018ef['d'](_0x4e9c5d,_0x1a4e('0xe10'),function(){return _0x3efac7;}),_0x2018ef['d'](_0x4e9c5d,_0x1a4e('0xe01'),function(){return _0x265a39;}),_0x2018ef['d'](_0x4e9c5d,_0x1a4e('0xe15'),function(){return _0x52b020;}),_0x2018ef['d'](_0x4e9c5d,'isModuleScriptSupported',function(){return _0x5b51a8;}),_0x2018ef['d'](_0x4e9c5d,_0x1a4e('0xe07'),function(){return _0x525d15;});var _0x2c5fff,_0x1e8b1b,_0x37066a,_0x4c0e32=_0x2018ef(_0x1a4e('0xe36')),_0x270c36=_0x2018ef['n'](_0x4c0e32),_0x12686b=_0x1a4e('0x3')!=typeof navigator&&-0x1!==navigator[_0x1a4e('0xe37')][_0x1a4e('0x3e')](_0x1a4e('0xe38'));function _0xa418df(_0x1f1cc0,_0x4e9c5d){if(!_0x1f1cc0[_0x1a4e('0xb')](_0x4e9c5d)||!isNaN(_0x4e9c5d)&&_0x4e9c5d<_0x1f1cc0[_0x1a4e('0x1e')])return!0x0;if(!_0x12686b)return!0x1;try{return _0x1f1cc0[_0x4e9c5d]&&_0x1f1cc0[_0x4e9c5d]['parent']===window;}catch(_0x34f0d9){return!0x0;}}function _0x16ba26(_0x1f1cc0){var _0x4e9c5d,_0x2018ef=0x0,_0x4c0e32=!0x1;for(var _0x270c36 in _0x1f1cc0)if(!_0xa418df(_0x1f1cc0,_0x270c36)){for(var _0x12686b=0x0;_0x12686b')+0x1,_0x2018ef=_0x1f1cc0[_0x1a4e('0x471')]('<');return _0x1f1cc0[_0x1a4e('0x281')](_0x4e9c5d,_0x2018ef);}function _0x52b020(_0x1f1cc0){if(_0x1a4e('0x85')===_0x270c36()(_0x1f1cc0))return'/';try{var _0x4e9c5d=new URL(_0x1f1cc0[_0x1a4e('0xdfb')]('//')?''[_0x1a4e('0x9a')](location[_0x1a4e('0xe3a')])[_0x1a4e('0x9a')](_0x1f1cc0):_0x1f1cc0,location[_0x1a4e('0xe3b')]),_0x2018ef=_0x4e9c5d[_0x1a4e('0x107')],_0x2c5fff=_0x4e9c5d['pathname'][_0x1a4e('0x2be')]('/');return _0x2c5fff['pop'](),''[_0x1a4e('0x9a')](_0x2018ef)['concat'](_0x2c5fff[_0x1a4e('0x9e')]('/'),'/');}catch(_0x3194b1){return console[_0x1a4e('0xe3c')](_0x3194b1),'';}}function _0x5b51a8(){return'noModule'in document[_0x1a4e('0xe3d')](_0x1a4e('0xe3e'));}var _0x525d15=window[_0x1a4e('0xe07')]||function(_0x1f1cc0){var _0x4e9c5d=Date[_0x1a4e('0xe3f')]();return setTimeout(function(){_0x1f1cc0({'didTimeout':!0x1,'timeRemaining':function(){return Math[_0x1a4e('0x6c')](0x0,0x32-(Date[_0x1a4e('0xe3f')]()-_0x4e9c5d));}});},0x1);};},'./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/arrayLikeToArray.js':function(_0x18fe90,_0x11ddbe){_0x18fe90[_0x1a4e('0x0')]=function(_0x18fe90,_0x11ddbe){(null==_0x11ddbe||_0x11ddbe>_0x18fe90[_0x1a4e('0x1e')])&&(_0x11ddbe=_0x18fe90[_0x1a4e('0x1e')]);for(var _0x35b3d8=0x0,_0xa4c8cd=new Array(_0x11ddbe);_0x35b3d8<_0x11ddbe;_0x35b3d8++)_0xa4c8cd[_0x35b3d8]=_0x18fe90[_0x35b3d8];return _0xa4c8cd;};},'./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/arrayWithHoles.js':function(_0x25b8a3,_0x985b31){_0x25b8a3['exports']=function(_0x25b8a3){if(Array[_0x1a4e('0x15')](_0x25b8a3))return _0x25b8a3;};},'./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js':function(_0x55c913,_0x471a7c){_0x55c913['exports']=function(_0x55c913,_0x471a7c){if(_0x1a4e('0x3')!=typeof Symbol&&Symbol['iterator']in Object(_0x55c913)){var _0x1576d3=[],_0x596228=!0x0,_0x143b32=!0x1,_0x48b1c7=void 0x0;try{for(var _0x30384f,_0x44bad7=_0x55c913[Symbol[_0x1a4e('0x335')]]();!(_0x596228=(_0x30384f=_0x44bad7[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')])&&(_0x1576d3[_0x1a4e('0x46')](_0x30384f['value']),!_0x471a7c||_0x1576d3['length']!==_0x471a7c);_0x596228=!0x0);}catch(_0x54d630){_0x143b32=!0x0,_0x48b1c7=_0x54d630;}finally{try{_0x596228||null==_0x44bad7['return']||_0x44bad7[_0x1a4e('0xe40')]();}finally{if(_0x143b32)throw _0x48b1c7;}}return _0x1576d3;}};},'./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/nonIterableRest.js':function(_0x544cbc,_0x45cef3){_0x544cbc[_0x1a4e('0x0')]=function(){throw new TypeError(_0x1a4e('0xe41'));};},'./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/slicedToArray.js':function(_0x1993b9,_0x1c0a3d,_0x227fc3){var _0x67aab8=_0x227fc3('./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/arrayWithHoles.js'),_0x276666=_0x227fc3('./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js'),_0x28575e=_0x227fc3(_0x1a4e('0xe42')),_0x2ae80f=_0x227fc3(_0x1a4e('0xe43'));_0x1993b9[_0x1a4e('0x0')]=function(_0x1993b9,_0x1c0a3d){return _0x67aab8(_0x1993b9)||_0x276666(_0x1993b9,_0x1c0a3d)||_0x28575e(_0x1993b9,_0x1c0a3d)||_0x2ae80f();};},'./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/typeof.js':function(_0xeb7b5e,_0xa3849c){function _0x28f39c(_0xa3849c){return _0x1a4e('0x68')==typeof Symbol&&_0x1a4e('0xb1b')==typeof Symbol['iterator']?_0xeb7b5e[_0x1a4e('0x0')]=_0x28f39c=function(_0xeb7b5e){return typeof _0xeb7b5e;}:_0xeb7b5e[_0x1a4e('0x0')]=_0x28f39c=function(_0xeb7b5e){return _0xeb7b5e&&'function'==typeof Symbol&&_0xeb7b5e[_0x1a4e('0x10')]===Symbol&&_0xeb7b5e!==Symbol[_0x1a4e('0xa')]?_0x1a4e('0xb1b'):typeof _0xeb7b5e;},_0x28f39c(_0xa3849c);}_0xeb7b5e['exports']=_0x28f39c;},'./node_modules/import-html-entry/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js':function(_0x22b851,_0x116d10,_0xc8ba68){var _0x52bfe1=_0xc8ba68(_0x1a4e('0xe44'));_0x22b851[_0x1a4e('0x0')]=function(_0x22b851,_0x116d10){if(_0x22b851){if(_0x1a4e('0x9')==typeof _0x22b851)return _0x52bfe1(_0x22b851,_0x116d10);var _0xc8ba68=Object[_0x1a4e('0xa')]['toString'][_0x1a4e('0x1')](_0x22b851)[_0x1a4e('0x78')](0x8,-0x1);return'Object'===_0xc8ba68&&_0x22b851[_0x1a4e('0x10')]&&(_0xc8ba68=_0x22b851['constructor'][_0x1a4e('0x2cb')]),'Map'===_0xc8ba68||_0x1a4e('0xe45')===_0xc8ba68?Array['from'](_0x22b851):_0x1a4e('0xe46')===_0xc8ba68||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0xc8ba68)?_0x52bfe1(_0x22b851,_0x116d10):void 0x0;}};},'./node_modules/inherits/inherits_browser.js':function(_0x2b7f61,_0x5acf89){_0x1a4e('0x68')==typeof Object[_0x1a4e('0x7')]?_0x2b7f61[_0x1a4e('0x0')]=function(_0x2b7f61,_0x5acf89){_0x2b7f61['super_']=_0x5acf89,_0x2b7f61[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x5acf89[_0x1a4e('0xa')],{'constructor':{'value':_0x2b7f61,'enumerable':!0x1,'writable':!0x0,'configurable':!0x0}});}:_0x2b7f61[_0x1a4e('0x0')]=function(_0x2b7f61,_0x5acf89){_0x2b7f61[_0x1a4e('0xe47')]=_0x5acf89;var _0x41e1b5=function(){};_0x41e1b5[_0x1a4e('0xa')]=_0x5acf89[_0x1a4e('0xa')],_0x2b7f61[_0x1a4e('0xa')]=new _0x41e1b5(),_0x2b7f61['prototype']['constructor']=_0x2b7f61;};},'./node_modules/isarray/index.js':function(_0x232941,_0x46c297){var _0x2b449f={}[_0x1a4e('0x95')];_0x232941[_0x1a4e('0x0')]=Array[_0x1a4e('0x15')]||function(_0x232941){return'[object\x20Array]'==_0x2b449f[_0x1a4e('0x1')](_0x232941);};},'./node_modules/jsencrypt/bin/jsencrypt.js':function(_0x5b8fb8,_0x528761,_0x5a417a){!function(_0x5b8fb8){'use strict';var _0x528761=_0x1a4e('0xe48');function _0x5a417a(_0x5b8fb8){return _0x528761['charAt'](_0x5b8fb8);}function _0x4986c3(_0x5b8fb8,_0x528761){return _0x5b8fb8&_0x528761;}function _0x251e41(_0x5b8fb8,_0x528761){return _0x5b8fb8|_0x528761;}function _0x4d8a70(_0x5b8fb8,_0x528761){return _0x5b8fb8^_0x528761;}function _0x44c0e2(_0x5b8fb8,_0x528761){return _0x5b8fb8&~_0x528761;}function _0x1b4289(_0x5b8fb8){if(0x0==_0x5b8fb8)return-0x1;var _0x528761=0x0;return 0x0==(0xffff&_0x5b8fb8)&&(_0x5b8fb8>>=0x10,_0x528761+=0x10),0x0==(0xff&_0x5b8fb8)&&(_0x5b8fb8>>=0x8,_0x528761+=0x8),0x0==(0xf&_0x5b8fb8)&&(_0x5b8fb8>>=0x4,_0x528761+=0x4),0x0==(0x3&_0x5b8fb8)&&(_0x5b8fb8>>=0x2,_0x528761+=0x2),0x0==(0x1&_0x5b8fb8)&&++_0x528761,_0x528761;}function _0x34897a(_0x5b8fb8){for(var _0x528761=0x0;0x0!=_0x5b8fb8;)_0x5b8fb8&=_0x5b8fb8-0x1,++_0x528761;return _0x528761;}var _0x4ab2f8=_0x1a4e('0xe49'),_0x1b851c='=';function _0x15d922(_0x5b8fb8){var _0x528761,_0x5a417a,_0x4986c3='';for(_0x528761=0x0;_0x528761+0x3<=_0x5b8fb8[_0x1a4e('0x1e')];_0x528761+=0x3)_0x5a417a=parseInt(_0x5b8fb8[_0x1a4e('0x281')](_0x528761,_0x528761+0x3),0x10),_0x4986c3+=_0x4ab2f8[_0x1a4e('0x278')](_0x5a417a>>0x6)+_0x4ab2f8[_0x1a4e('0x278')](0x3f&_0x5a417a);for(_0x528761+0x1==_0x5b8fb8[_0x1a4e('0x1e')]?(_0x5a417a=parseInt(_0x5b8fb8[_0x1a4e('0x281')](_0x528761,_0x528761+0x1),0x10),_0x4986c3+=_0x4ab2f8[_0x1a4e('0x278')](_0x5a417a<<0x2)):_0x528761+0x2==_0x5b8fb8[_0x1a4e('0x1e')]&&(_0x5a417a=parseInt(_0x5b8fb8[_0x1a4e('0x281')](_0x528761,_0x528761+0x2),0x10),_0x4986c3+=_0x4ab2f8[_0x1a4e('0x278')](_0x5a417a>>0x2)+_0x4ab2f8[_0x1a4e('0x278')]((0x3&_0x5a417a)<<0x4));(0x3&_0x4986c3[_0x1a4e('0x1e')])>0x0;)_0x4986c3+=_0x1b851c;return _0x4986c3;}function _0x23f17f(_0x5b8fb8){var _0x528761,_0x4986c3='',_0x251e41=0x0,_0x4d8a70=0x0;for(_0x528761=0x0;_0x528761<_0x5b8fb8[_0x1a4e('0x1e')]&&_0x5b8fb8[_0x1a4e('0x278')](_0x528761)!=_0x1b851c;++_0x528761){var _0x44c0e2=_0x4ab2f8[_0x1a4e('0x3e')](_0x5b8fb8[_0x1a4e('0x278')](_0x528761));_0x44c0e2<0x0||(0x0==_0x251e41?(_0x4986c3+=_0x5a417a(_0x44c0e2>>0x2),_0x4d8a70=0x3&_0x44c0e2,_0x251e41=0x1):0x1==_0x251e41?(_0x4986c3+=_0x5a417a(_0x4d8a70<<0x2|_0x44c0e2>>0x4),_0x4d8a70=0xf&_0x44c0e2,_0x251e41=0x2):0x2==_0x251e41?(_0x4986c3+=_0x5a417a(_0x4d8a70),_0x4986c3+=_0x5a417a(_0x44c0e2>>0x2),_0x4d8a70=0x3&_0x44c0e2,_0x251e41=0x3):(_0x4986c3+=_0x5a417a(_0x4d8a70<<0x2|_0x44c0e2>>0x4),_0x4986c3+=_0x5a417a(0xf&_0x44c0e2),_0x251e41=0x0));}return 0x1==_0x251e41&&(_0x4986c3+=_0x5a417a(_0x4d8a70<<0x2)),_0x4986c3;}var _0x3022ee,_0x3bd9d1,_0x3e4923=function(_0x5b8fb8,_0x528761){return(_0x3e4923=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5b8fb8,_0x528761){_0x5b8fb8[_0x1a4e('0x295')]=_0x528761;}||function(_0x5b8fb8,_0x528761){for(var _0x5a417a in _0x528761)_0x528761['hasOwnProperty'](_0x5a417a)&&(_0x5b8fb8[_0x5a417a]=_0x528761[_0x5a417a]);})(_0x5b8fb8,_0x528761);},_0x3d6fdc={'decode':function(_0x5b8fb8){var _0x528761;if(void 0x0===_0x3022ee){var _0x5a417a=_0x1a4e('0xe4b'),_0x4986c3=_0x1a4e('0xe4c');for(_0x3022ee={},_0x528761=0x0;_0x528761<0x10;++_0x528761)_0x3022ee[_0x5a417a[_0x1a4e('0x278')](_0x528761)]=_0x528761;for(_0x5a417a=_0x5a417a[_0x1a4e('0x2b2')](),_0x528761=0xa;_0x528761<0x10;++_0x528761)_0x3022ee[_0x5a417a[_0x1a4e('0x278')](_0x528761)]=_0x528761;for(_0x528761=0x0;_0x528761<_0x4986c3['length'];++_0x528761)_0x3022ee[_0x4986c3['charAt'](_0x528761)]=-0x1;}var _0x251e41=[],_0x4d8a70=0x0,_0x44c0e2=0x0;for(_0x528761=0x0;_0x528761<_0x5b8fb8[_0x1a4e('0x1e')];++_0x528761){var _0x1b4289=_0x5b8fb8[_0x1a4e('0x278')](_0x528761);if('='==_0x1b4289)break;if(-0x1!=(_0x1b4289=_0x3022ee[_0x1b4289])){if(void 0x0===_0x1b4289)throw new Error(_0x1a4e('0xe4d')+_0x528761);_0x4d8a70|=_0x1b4289,++_0x44c0e2>=0x2?(_0x251e41[_0x251e41['length']]=_0x4d8a70,_0x4d8a70=0x0,_0x44c0e2=0x0):_0x4d8a70<<=0x4;}}if(_0x44c0e2)throw new Error(_0x1a4e('0xe4e'));return _0x251e41;}},_0x2aef95={'decode':function(_0x5b8fb8){var _0x528761;if(void 0x0===_0x3bd9d1){var _0x5a417a=_0x1a4e('0xe4f');for(_0x3bd9d1=Object[_0x1a4e('0x7')](null),_0x528761=0x0;_0x528761<0x40;++_0x528761)_0x3bd9d1[_0x1a4e('0xe49')['charAt'](_0x528761)]=_0x528761;for(_0x528761=0x0;_0x528761<_0x5a417a['length'];++_0x528761)_0x3bd9d1[_0x5a417a[_0x1a4e('0x278')](_0x528761)]=-0x1;}var _0x4986c3=[],_0x251e41=0x0,_0x4d8a70=0x0;for(_0x528761=0x0;_0x528761<_0x5b8fb8[_0x1a4e('0x1e')];++_0x528761){var _0x44c0e2=_0x5b8fb8[_0x1a4e('0x278')](_0x528761);if('='==_0x44c0e2)break;if(-0x1!=(_0x44c0e2=_0x3bd9d1[_0x44c0e2])){if(void 0x0===_0x44c0e2)throw new Error(_0x1a4e('0xe4d')+_0x528761);_0x251e41|=_0x44c0e2,++_0x4d8a70>=0x4?(_0x4986c3[_0x4986c3[_0x1a4e('0x1e')]]=_0x251e41>>0x10,_0x4986c3[_0x4986c3['length']]=_0x251e41>>0x8&0xff,_0x4986c3[_0x4986c3[_0x1a4e('0x1e')]]=0xff&_0x251e41,_0x251e41=0x0,_0x4d8a70=0x0):_0x251e41<<=0x6;}}switch(_0x4d8a70){case 0x1:throw new Error(_0x1a4e('0xe50'));case 0x2:_0x4986c3[_0x4986c3[_0x1a4e('0x1e')]]=_0x251e41>>0xa;break;case 0x3:_0x4986c3[_0x4986c3['length']]=_0x251e41>>0x10,_0x4986c3[_0x4986c3[_0x1a4e('0x1e')]]=_0x251e41>>0x8&0xff;}return _0x4986c3;},'re':/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,'unarmor':function(_0x5b8fb8){var _0x528761=_0x2aef95['re']['exec'](_0x5b8fb8);if(_0x528761)if(_0x528761[0x1])_0x5b8fb8=_0x528761[0x1];else{if(!_0x528761[0x2])throw new Error('RegExp\x20out\x20of\x20sync');_0x5b8fb8=_0x528761[0x2];}return _0x2aef95[_0x1a4e('0x8f3')](_0x5b8fb8);}},_0x56299d=function(){function _0x5b8fb8(_0x5b8fb8){this[_0x1a4e('0xe51')]=[+_0x5b8fb8||0x0];}return _0x5b8fb8[_0x1a4e('0xa')]['mulAdd']=function(_0x5b8fb8,_0x528761){var _0x5a417a,_0x4986c3,_0x251e41=this[_0x1a4e('0xe51')],_0x4d8a70=_0x251e41[_0x1a4e('0x1e')];for(_0x5a417a=0x0;_0x5a417a<_0x4d8a70;++_0x5a417a)(_0x4986c3=_0x251e41[_0x5a417a]*_0x5b8fb8+_0x528761)<0x9184e72a000?_0x528761=0x0:_0x4986c3-=0x9184e72a000*(_0x528761=0x0|_0x4986c3/0x9184e72a000),_0x251e41[_0x5a417a]=_0x4986c3;_0x528761>0x0&&(_0x251e41[_0x5a417a]=_0x528761);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x16a')]=function(_0x5b8fb8){var _0x528761,_0x5a417a,_0x4986c3=this[_0x1a4e('0xe51')],_0x251e41=_0x4986c3[_0x1a4e('0x1e')];for(_0x528761=0x0;_0x528761<_0x251e41;++_0x528761)(_0x5a417a=_0x4986c3[_0x528761]-_0x5b8fb8)<0x0?(_0x5a417a+=0x9184e72a000,_0x5b8fb8=0x1):_0x5b8fb8=0x0,_0x4986c3[_0x528761]=_0x5a417a;for(;0x0===_0x4986c3[_0x4986c3[_0x1a4e('0x1e')]-0x1];)_0x4986c3[_0x1a4e('0x76')]();},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(_0x5b8fb8){if(0xa!=(_0x5b8fb8||0xa))throw new Error(_0x1a4e('0xe52'));for(var _0x528761=this[_0x1a4e('0xe51')],_0x5a417a=_0x528761[_0x528761[_0x1a4e('0x1e')]-0x1][_0x1a4e('0x95')](),_0x4986c3=_0x528761[_0x1a4e('0x1e')]-0x2;_0x4986c3>=0x0;--_0x4986c3)_0x5a417a+=(0x9184e72a000+_0x528761[_0x4986c3])['toString']()[_0x1a4e('0x281')](0x1);return _0x5a417a;},_0x5b8fb8[_0x1a4e('0xa')]['valueOf']=function(){for(var _0x5b8fb8=this[_0x1a4e('0xe51')],_0x528761=0x0,_0x5a417a=_0x5b8fb8['length']-0x1;_0x5a417a>=0x0;--_0x5a417a)_0x528761=0x9184e72a000*_0x528761+_0x5b8fb8[_0x5a417a];return _0x528761;},_0x5b8fb8[_0x1a4e('0xa')]['simplify']=function(){var _0x5b8fb8=this[_0x1a4e('0xe51')];return 0x1==_0x5b8fb8[_0x1a4e('0x1e')]?_0x5b8fb8[0x0]:this;},_0x5b8fb8;}(),_0x4441cd='…',_0x29a123=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,_0x292877=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function _0x1f8268(_0x5b8fb8,_0x528761){return _0x5b8fb8[_0x1a4e('0x1e')]>_0x528761&&(_0x5b8fb8=_0x5b8fb8[_0x1a4e('0x281')](0x0,_0x528761)+_0x4441cd),_0x5b8fb8;}var _0x227488,_0x11839d=function(){function _0x5b8fb8(_0x528761,_0x5a417a){this[_0x1a4e('0xe53')]='0123456789ABCDEF',_0x528761 instanceof _0x5b8fb8?(this['enc']=_0x528761[_0x1a4e('0x89b')],this[_0x1a4e('0xa4')]=_0x528761[_0x1a4e('0xa4')]):(this[_0x1a4e('0x89b')]=_0x528761,this[_0x1a4e('0xa4')]=_0x5a417a);}return _0x5b8fb8['prototype']['get']=function(_0x5b8fb8){if(void 0x0===_0x5b8fb8&&(_0x5b8fb8=this[_0x1a4e('0xa4')]++),_0x5b8fb8>=this[_0x1a4e('0x89b')][_0x1a4e('0x1e')])throw new Error(_0x1a4e('0xe54')+_0x5b8fb8+_0x1a4e('0xe55')+this['enc'][_0x1a4e('0x1e')]);return _0x1a4e('0x9')==typeof this[_0x1a4e('0x89b')]?this[_0x1a4e('0x89b')]['charCodeAt'](_0x5b8fb8):this[_0x1a4e('0x89b')][_0x5b8fb8];},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe56')]=function(_0x5b8fb8){return this[_0x1a4e('0xe53')][_0x1a4e('0x278')](_0x5b8fb8>>0x4&0xf)+this[_0x1a4e('0xe53')][_0x1a4e('0x278')](0xf&_0x5b8fb8);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe57')]=function(_0x5b8fb8,_0x528761,_0x5a417a){for(var _0x4986c3='',_0x251e41=_0x5b8fb8;_0x251e41<_0x528761;++_0x251e41)if(_0x4986c3+=this[_0x1a4e('0xe56')](this[_0x1a4e('0x179')](_0x251e41)),!0x0!==_0x5a417a)switch(0xf&_0x251e41){case 0x7:_0x4986c3+='\x20\x20';break;case 0xf:_0x4986c3+='\x0a';break;default:_0x4986c3+='\x20';}return _0x4986c3;},_0x5b8fb8['prototype'][_0x1a4e('0xe58')]=function(_0x5b8fb8,_0x528761){for(var _0x5a417a=_0x5b8fb8;_0x5a417a<_0x528761;++_0x5a417a){var _0x4986c3=this[_0x1a4e('0x179')](_0x5a417a);if(_0x4986c3<0x20||_0x4986c3>0xb0)return!0x1;}return!0x0;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe59')]=function(_0x5b8fb8,_0x528761){for(var _0x5a417a='',_0x4986c3=_0x5b8fb8;_0x4986c3<_0x528761;++_0x4986c3)_0x5a417a+=String[_0x1a4e('0x8fe')](this[_0x1a4e('0x179')](_0x4986c3));return _0x5a417a;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe5a')]=function(_0x5b8fb8,_0x528761){for(var _0x5a417a='',_0x4986c3=_0x5b8fb8;_0x4986c3<_0x528761;){var _0x251e41=this[_0x1a4e('0x179')](_0x4986c3++);_0x5a417a+=_0x251e41<0x80?String[_0x1a4e('0x8fe')](_0x251e41):_0x251e41>0xbf&&_0x251e41<0xe0?String[_0x1a4e('0x8fe')]((0x1f&_0x251e41)<<0x6|0x3f&this[_0x1a4e('0x179')](_0x4986c3++)):String[_0x1a4e('0x8fe')]((0xf&_0x251e41)<<0xc|(0x3f&this[_0x1a4e('0x179')](_0x4986c3++))<<0x6|0x3f&this[_0x1a4e('0x179')](_0x4986c3++));}return _0x5a417a;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe5b')]=function(_0x5b8fb8,_0x528761){for(var _0x5a417a,_0x4986c3,_0x251e41='',_0x4d8a70=_0x5b8fb8;_0x4d8a70<_0x528761;)_0x5a417a=this[_0x1a4e('0x179')](_0x4d8a70++),_0x4986c3=this[_0x1a4e('0x179')](_0x4d8a70++),_0x251e41+=String[_0x1a4e('0x8fe')](_0x5a417a<<0x8|_0x4986c3);return _0x251e41;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe5c')]=function(_0x5b8fb8,_0x528761,_0x5a417a){var _0x4986c3=this[_0x1a4e('0xe59')](_0x5b8fb8,_0x528761),_0x251e41=(_0x5a417a?_0x29a123:_0x292877)[_0x1a4e('0x2af')](_0x4986c3);return _0x251e41?(_0x5a417a&&(_0x251e41[0x1]=+_0x251e41[0x1],_0x251e41[0x1]+=+_0x251e41[0x1]<0x46?0x7d0:0x76c),_0x4986c3=_0x251e41[0x1]+'-'+_0x251e41[0x2]+'-'+_0x251e41[0x3]+'\x20'+_0x251e41[0x4],_0x251e41[0x5]&&(_0x4986c3+=':'+_0x251e41[0x5],_0x251e41[0x6]&&(_0x4986c3+=':'+_0x251e41[0x6],_0x251e41[0x7]&&(_0x4986c3+='.'+_0x251e41[0x7]))),_0x251e41[0x8]&&(_0x4986c3+=_0x1a4e('0xe5d'),'Z'!=_0x251e41[0x8]&&(_0x4986c3+=_0x251e41[0x8],_0x251e41[0x9]&&(_0x4986c3+=':'+_0x251e41[0x9]))),_0x4986c3):_0x1a4e('0xe5e')+_0x4986c3;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe5f')]=function(_0x5b8fb8,_0x528761){for(var _0x5a417a,_0x4986c3=this[_0x1a4e('0x179')](_0x5b8fb8),_0x251e41=_0x4986c3>0x7f,_0x4d8a70=_0x251e41?0xff:0x0,_0x44c0e2='';_0x4986c3==_0x4d8a70&&++_0x5b8fb8<_0x528761;)_0x4986c3=this[_0x1a4e('0x179')](_0x5b8fb8);if(0x0==(_0x5a417a=_0x528761-_0x5b8fb8))return _0x251e41?-0x1:0x0;if(_0x5a417a>0x4){for(_0x44c0e2=_0x4986c3,_0x5a417a<<=0x3;0x0==(0x80&(+_0x44c0e2^_0x4d8a70));)_0x44c0e2=+_0x44c0e2<<0x1,--_0x5a417a;_0x44c0e2='('+_0x5a417a+_0x1a4e('0xe60');}_0x251e41&&(_0x4986c3-=0x100);for(var _0x1b4289=new _0x56299d(_0x4986c3),_0x34897a=_0x5b8fb8+0x1;_0x34897a<_0x528761;++_0x34897a)_0x1b4289[_0x1a4e('0xbe1')](0x100,this[_0x1a4e('0x179')](_0x34897a));return _0x44c0e2+_0x1b4289['toString']();},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe61')]=function(_0x5b8fb8,_0x528761,_0x5a417a){for(var _0x4986c3=this[_0x1a4e('0x179')](_0x5b8fb8),_0x251e41=(_0x528761-_0x5b8fb8-0x1<<0x3)-_0x4986c3,_0x4d8a70='('+_0x251e41+'\x20bit)\x0a',_0x44c0e2='',_0x1b4289=_0x5b8fb8+0x1;_0x1b4289<_0x528761;++_0x1b4289){for(var _0x34897a=this[_0x1a4e('0x179')](_0x1b4289),_0x4ab2f8=_0x1b4289==_0x528761-0x1?_0x4986c3:0x0,_0x1b851c=0x7;_0x1b851c>=_0x4ab2f8;--_0x1b851c)_0x44c0e2+=_0x34897a>>_0x1b851c&0x1?'1':'0';if(_0x44c0e2[_0x1a4e('0x1e')]>_0x5a417a)return _0x4d8a70+_0x1f8268(_0x44c0e2,_0x5a417a);}return _0x4d8a70+_0x44c0e2;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe62')]=function(_0x5b8fb8,_0x528761,_0x5a417a){if(this['isASCII'](_0x5b8fb8,_0x528761))return _0x1f8268(this[_0x1a4e('0xe59')](_0x5b8fb8,_0x528761),_0x5a417a);var _0x4986c3=_0x528761-_0x5b8fb8,_0x251e41='('+_0x4986c3+_0x1a4e('0xe63');_0x4986c3>(_0x5a417a/=0x2)&&(_0x528761=_0x5b8fb8+_0x5a417a);for(var _0x4d8a70=_0x5b8fb8;_0x4d8a70<_0x528761;++_0x4d8a70)_0x251e41+=this[_0x1a4e('0xe56')](this[_0x1a4e('0x179')](_0x4d8a70));return _0x4986c3>_0x5a417a&&(_0x251e41+=_0x4441cd),_0x251e41;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe64')]=function(_0x5b8fb8,_0x528761,_0x5a417a){for(var _0x4986c3='',_0x251e41=new _0x56299d(),_0x4d8a70=0x0,_0x44c0e2=_0x5b8fb8;_0x44c0e2<_0x528761;++_0x44c0e2){var _0x1b4289=this[_0x1a4e('0x179')](_0x44c0e2);if(_0x251e41[_0x1a4e('0xbe1')](0x80,0x7f&_0x1b4289),_0x4d8a70+=0x7,!(0x80&_0x1b4289)){if(''===_0x4986c3)if((_0x251e41=_0x251e41[_0x1a4e('0x557')]())instanceof _0x56299d)_0x251e41[_0x1a4e('0x16a')](0x50),_0x4986c3='2.'+_0x251e41[_0x1a4e('0x95')]();else{var _0x34897a=_0x251e41<0x50?_0x251e41<0x28?0x0:0x1:0x2;_0x4986c3=_0x34897a+'.'+(_0x251e41-0x28*_0x34897a);}else _0x4986c3+='.'+_0x251e41['toString']();if(_0x4986c3[_0x1a4e('0x1e')]>_0x5a417a)return _0x1f8268(_0x4986c3,_0x5a417a);_0x251e41=new _0x56299d(),_0x4d8a70=0x0;}}return _0x4d8a70>0x0&&(_0x4986c3+='.incomplete'),_0x4986c3;},_0x5b8fb8;}(),_0xd83d13=function(){function _0x5b8fb8(_0x5b8fb8,_0x528761,_0x5a417a,_0x4986c3,_0x251e41){if(!(_0x4986c3 instanceof _0x2b01eb))throw new Error('Invalid\x20tag\x20value.');this[_0x1a4e('0x140')]=_0x5b8fb8,this['header']=_0x528761,this[_0x1a4e('0x1e')]=_0x5a417a,this[_0x1a4e('0x7ba')]=_0x4986c3,this[_0x1a4e('0x16a')]=_0x251e41;}return _0x5b8fb8['prototype']['typeName']=function(){switch(this[_0x1a4e('0x7ba')][_0x1a4e('0x8e3')]){case 0x0:switch(this[_0x1a4e('0x7ba')]['tagNumber']){case 0x0:return _0x1a4e('0xe65');case 0x1:return'BOOLEAN';case 0x2:return'INTEGER';case 0x3:return _0x1a4e('0xe66');case 0x4:return _0x1a4e('0xe67');case 0x5:return _0x1a4e('0xe68');case 0x6:return _0x1a4e('0xe69');case 0x7:return'ObjectDescriptor';case 0x8:return'EXTERNAL';case 0x9:return _0x1a4e('0xe6a');case 0xa:return _0x1a4e('0xe6b');case 0xb:return'EMBEDDED_PDV';case 0xc:return'UTF8String';case 0x10:return _0x1a4e('0xe6c');case 0x11:return'SET';case 0x12:return _0x1a4e('0xe6d');case 0x13:return _0x1a4e('0xe6e');case 0x14:return _0x1a4e('0xe6f');case 0x15:return _0x1a4e('0xe70');case 0x16:return'IA5String';case 0x17:return'UTCTime';case 0x18:return'GeneralizedTime';case 0x19:return _0x1a4e('0xe71');case 0x1a:return _0x1a4e('0xe72');case 0x1b:return'GeneralString';case 0x1c:return _0x1a4e('0xe73');case 0x1e:return'BMPString';}return _0x1a4e('0xe74')+this[_0x1a4e('0x7ba')][_0x1a4e('0xe75')]['toString']();case 0x1:return'Application_'+this[_0x1a4e('0x7ba')][_0x1a4e('0xe75')]['toString']();case 0x2:return'['+this['tag'][_0x1a4e('0xe75')]['toString']()+']';case 0x3:return _0x1a4e('0xe76')+this['tag']['tagNumber'][_0x1a4e('0x95')]();}},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x120')]=function(_0x5b8fb8){if(void 0x0===this[_0x1a4e('0x7ba')])return null;void 0x0===_0x5b8fb8&&(_0x5b8fb8=0x1/0x0);var _0x528761=this[_0x1a4e('0xe77')](),_0x5a417a=Math['abs'](this['length']);if(!this['tag'][_0x1a4e('0xe78')]())return null!==this[_0x1a4e('0x16a')]?'('+this[_0x1a4e('0x16a')][_0x1a4e('0x1e')]+_0x1a4e('0xe79'):this[_0x1a4e('0x140')][_0x1a4e('0xe62')](_0x528761,_0x528761+_0x5a417a,_0x5b8fb8);switch(this[_0x1a4e('0x7ba')][_0x1a4e('0xe75')]){case 0x1:return 0x0===this[_0x1a4e('0x140')]['get'](_0x528761)?_0x1a4e('0xe7a'):_0x1a4e('0xe7b');case 0x2:return this[_0x1a4e('0x140')][_0x1a4e('0xe5f')](_0x528761,_0x528761+_0x5a417a);case 0x3:return this[_0x1a4e('0x16a')]?'('+this[_0x1a4e('0x16a')][_0x1a4e('0x1e')]+_0x1a4e('0xe79'):this[_0x1a4e('0x140')][_0x1a4e('0xe61')](_0x528761,_0x528761+_0x5a417a,_0x5b8fb8);case 0x4:return this[_0x1a4e('0x16a')]?'('+this[_0x1a4e('0x16a')][_0x1a4e('0x1e')]+_0x1a4e('0xe79'):this[_0x1a4e('0x140')][_0x1a4e('0xe62')](_0x528761,_0x528761+_0x5a417a,_0x5b8fb8);case 0x6:return this[_0x1a4e('0x140')][_0x1a4e('0xe64')](_0x528761,_0x528761+_0x5a417a,_0x5b8fb8);case 0x10:case 0x11:return null!==this[_0x1a4e('0x16a')]?'('+this[_0x1a4e('0x16a')][_0x1a4e('0x1e')]+_0x1a4e('0xe79'):_0x1a4e('0xe7c');case 0xc:return _0x1f8268(this['stream'][_0x1a4e('0xe5a')](_0x528761,_0x528761+_0x5a417a),_0x5b8fb8);case 0x12:case 0x13:case 0x14:case 0x15:case 0x16:case 0x1a:return _0x1f8268(this[_0x1a4e('0x140')]['parseStringISO'](_0x528761,_0x528761+_0x5a417a),_0x5b8fb8);case 0x1e:return _0x1f8268(this[_0x1a4e('0x140')][_0x1a4e('0xe5b')](_0x528761,_0x528761+_0x5a417a),_0x5b8fb8);case 0x17:case 0x18:return this['stream']['parseTime'](_0x528761,_0x528761+_0x5a417a,0x17==this[_0x1a4e('0x7ba')][_0x1a4e('0xe75')]);}return null;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return this[_0x1a4e('0xe7d')]()+'@'+this[_0x1a4e('0x140')][_0x1a4e('0xa4')]+_0x1a4e('0xe7e')+this['header']+',length:'+this[_0x1a4e('0x1e')]+',sub:'+(null===this['sub']?_0x1a4e('0xe7f'):this[_0x1a4e('0x16a')][_0x1a4e('0x1e')])+']';},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe80')]=function(_0x5b8fb8){void 0x0===_0x5b8fb8&&(_0x5b8fb8='');var _0x528761=_0x5b8fb8+this[_0x1a4e('0xe7d')]()+'\x20@'+this[_0x1a4e('0x140')][_0x1a4e('0xa4')];if(this['length']>=0x0&&(_0x528761+='+'),_0x528761+=this[_0x1a4e('0x1e')],this[_0x1a4e('0x7ba')][_0x1a4e('0xe81')]?_0x528761+=_0x1a4e('0xe82'):!this[_0x1a4e('0x7ba')][_0x1a4e('0xe78')]()||0x3!=this[_0x1a4e('0x7ba')][_0x1a4e('0xe75')]&&0x4!=this[_0x1a4e('0x7ba')]['tagNumber']||null===this[_0x1a4e('0x16a')]||(_0x528761+=_0x1a4e('0xe83')),_0x528761+='\x0a',null!==this[_0x1a4e('0x16a')]){_0x5b8fb8+='\x20\x20';for(var _0x5a417a=0x0,_0x4986c3=this[_0x1a4e('0x16a')][_0x1a4e('0x1e')];_0x5a417a<_0x4986c3;++_0x5a417a)_0x528761+=this['sub'][_0x5a417a]['toPrettyString'](_0x5b8fb8);}return _0x528761;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe84')]=function(){return this[_0x1a4e('0x140')][_0x1a4e('0xa4')];},_0x5b8fb8['prototype'][_0x1a4e('0xe77')]=function(){return this['stream']['pos']+this[_0x1a4e('0xe85')];},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe86')]=function(){return this[_0x1a4e('0x140')][_0x1a4e('0xa4')]+this[_0x1a4e('0xe85')]+Math[_0x1a4e('0x65')](this[_0x1a4e('0x1e')]);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe87')]=function(){return this[_0x1a4e('0x140')]['hexDump'](this[_0x1a4e('0xe84')](),this['posEnd'](),!0x0);},_0x5b8fb8[_0x1a4e('0xe88')]=function(_0x5b8fb8){var _0x528761=_0x5b8fb8[_0x1a4e('0x179')](),_0x5a417a=0x7f&_0x528761;if(_0x5a417a==_0x528761)return _0x5a417a;if(_0x5a417a>0x6)throw new Error(_0x1a4e('0xe89')+(_0x5b8fb8[_0x1a4e('0xa4')]-0x1));if(0x0===_0x5a417a)return null;_0x528761=0x0;for(var _0x4986c3=0x0;_0x4986c3<_0x5a417a;++_0x4986c3)_0x528761=0x100*_0x528761+_0x5b8fb8[_0x1a4e('0x179')]();return _0x528761;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe8a')]=function(){var _0x5b8fb8=this['toHexString'](),_0x528761=0x2*this['header'],_0x5a417a=0x2*this[_0x1a4e('0x1e')];return _0x5b8fb8[_0x1a4e('0x254')](_0x528761,_0x5a417a);},_0x5b8fb8[_0x1a4e('0x8f3')]=function(_0x528761){var _0x5a417a;_0x5a417a=_0x528761 instanceof _0x11839d?_0x528761:new _0x11839d(_0x528761,0x0);var _0x4986c3=new _0x11839d(_0x5a417a),_0x251e41=new _0x2b01eb(_0x5a417a),_0x4d8a70=_0x5b8fb8[_0x1a4e('0xe88')](_0x5a417a),_0x44c0e2=_0x5a417a[_0x1a4e('0xa4')],_0x1b4289=_0x44c0e2-_0x4986c3[_0x1a4e('0xa4')],_0x34897a=null,_0x4ab2f8=function(){var _0x528761=[];if(null!==_0x4d8a70){for(var _0x4986c3=_0x44c0e2+_0x4d8a70;_0x5a417a[_0x1a4e('0xa4')]<_0x4986c3;)_0x528761[_0x528761['length']]=_0x5b8fb8[_0x1a4e('0x8f3')](_0x5a417a);if(_0x5a417a[_0x1a4e('0xa4')]!=_0x4986c3)throw new Error(_0x1a4e('0xe8b')+_0x44c0e2);}else try{for(;;){var _0x251e41=_0x5b8fb8[_0x1a4e('0x8f3')](_0x5a417a);if(_0x251e41[_0x1a4e('0x7ba')][_0x1a4e('0xe8c')]())break;_0x528761[_0x528761['length']]=_0x251e41;}_0x4d8a70=_0x44c0e2-_0x5a417a[_0x1a4e('0xa4')];}catch(_0x1a43c3){throw new Error('Exception\x20while\x20decoding\x20undefined\x20length\x20content:\x20'+_0x1a43c3);}return _0x528761;};if(_0x251e41[_0x1a4e('0xe81')])_0x34897a=_0x4ab2f8();else if(_0x251e41[_0x1a4e('0xe78')]()&&(0x3==_0x251e41['tagNumber']||0x4==_0x251e41[_0x1a4e('0xe75')]))try{if(0x3==_0x251e41[_0x1a4e('0xe75')]&&0x0!=_0x5a417a['get']())throw new Error(_0x1a4e('0xe8d'));_0x34897a=_0x4ab2f8();for(var _0x1b851c=0x0;_0x1b851c<_0x34897a[_0x1a4e('0x1e')];++_0x1b851c)if(_0x34897a[_0x1b851c][_0x1a4e('0x7ba')]['isEOC']())throw new Error(_0x1a4e('0xe8e'));}catch(_0x4a3a32){_0x34897a=null;}if(null===_0x34897a){if(null===_0x4d8a70)throw new Error(_0x1a4e('0xe8f')+_0x44c0e2);_0x5a417a[_0x1a4e('0xa4')]=_0x44c0e2+Math[_0x1a4e('0x65')](_0x4d8a70);}return new _0x5b8fb8(_0x4986c3,_0x1b4289,_0x4d8a70,_0x251e41,_0x34897a);},_0x5b8fb8;}(),_0x2b01eb=function(){function _0x5b8fb8(_0x5b8fb8){var _0x528761=_0x5b8fb8['get']();if(this[_0x1a4e('0x8e3')]=_0x528761>>0x6,this[_0x1a4e('0xe81')]=0x0!=(0x20&_0x528761),this[_0x1a4e('0xe75')]=0x1f&_0x528761,0x1f==this[_0x1a4e('0xe75')]){var _0x5a417a=new _0x56299d();do{_0x528761=_0x5b8fb8['get'](),_0x5a417a[_0x1a4e('0xbe1')](0x80,0x7f&_0x528761);}while(0x80&_0x528761);this[_0x1a4e('0xe75')]=_0x5a417a[_0x1a4e('0x557')]();}}return _0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe78')]=function(){return 0x0===this['tagClass'];},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe8c')]=function(){return 0x0===this[_0x1a4e('0x8e3')]&&0x0===this['tagNumber'];},_0x5b8fb8;}(),_0x1bff11=[0x2,0x3,0x5,0x7,0xb,0xd,0x11,0x13,0x17,0x1d,0x1f,0x25,0x29,0x2b,0x2f,0x35,0x3b,0x3d,0x43,0x47,0x49,0x4f,0x53,0x59,0x61,0x65,0x67,0x6b,0x6d,0x71,0x7f,0x83,0x89,0x8b,0x95,0x97,0x9d,0xa3,0xa7,0xad,0xb3,0xb5,0xbf,0xc1,0xc5,0xc7,0xd3,0xdf,0xe3,0xe5,0xe9,0xef,0xf1,0xfb,0x101,0x107,0x10d,0x10f,0x115,0x119,0x11b,0x125,0x133,0x137,0x139,0x13d,0x14b,0x151,0x15b,0x15d,0x161,0x167,0x16f,0x175,0x17b,0x17f,0x185,0x18d,0x191,0x199,0x1a3,0x1a5,0x1af,0x1b1,0x1b7,0x1bb,0x1c1,0x1c9,0x1cd,0x1cf,0x1d3,0x1df,0x1e7,0x1eb,0x1f3,0x1f7,0x1fd,0x209,0x20b,0x21d,0x223,0x22d,0x233,0x239,0x23b,0x241,0x24b,0x251,0x257,0x259,0x25f,0x265,0x269,0x26b,0x277,0x281,0x283,0x287,0x28d,0x293,0x295,0x2a1,0x2a5,0x2ab,0x2b3,0x2bd,0x2c5,0x2cf,0x2d7,0x2dd,0x2e3,0x2e7,0x2ef,0x2f5,0x2f9,0x301,0x305,0x313,0x31d,0x329,0x32b,0x335,0x337,0x33b,0x33d,0x347,0x355,0x359,0x35b,0x35f,0x36d,0x371,0x373,0x377,0x38b,0x38f,0x397,0x3a1,0x3a9,0x3ad,0x3b3,0x3b9,0x3c7,0x3cb,0x3d1,0x3d7,0x3df,0x3e5],_0x11f94d=(0x1<<0x1a)/_0x1bff11[_0x1bff11['length']-0x1],_0x498d97=function(){function _0x5b8fb8(_0x5b8fb8,_0x528761,_0x5a417a){null!=_0x5b8fb8&&(_0x1a4e('0x3d')==typeof _0x5b8fb8?this['fromNumber'](_0x5b8fb8,_0x528761,_0x5a417a):null==_0x528761&&_0x1a4e('0x9')!=typeof _0x5b8fb8?this['fromString'](_0x5b8fb8,0x100):this[_0x1a4e('0xe90')](_0x5b8fb8,_0x528761));}return _0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(_0x5b8fb8){if(this['s']<0x0)return'-'+this[_0x1a4e('0x27d')]()[_0x1a4e('0x95')](_0x5b8fb8);var _0x528761;if(0x10==_0x5b8fb8)_0x528761=0x4;else if(0x8==_0x5b8fb8)_0x528761=0x3;else if(0x2==_0x5b8fb8)_0x528761=0x1;else if(0x20==_0x5b8fb8)_0x528761=0x5;else{if(0x4!=_0x5b8fb8)return this[_0x1a4e('0xe91')](_0x5b8fb8);_0x528761=0x2;}var _0x4986c3,_0x251e41=(0x1<<_0x528761)-0x1,_0x4d8a70=!0x1,_0x44c0e2='',_0x1b4289=this['t'],_0x34897a=this['DB']-_0x1b4289*this['DB']%_0x528761;if(_0x1b4289-->0x0)for(_0x34897a>_0x34897a)>0x0&&(_0x4d8a70=!0x0,_0x44c0e2=_0x5a417a(_0x4986c3));_0x1b4289>=0x0;)_0x34897a<_0x528761?(_0x4986c3=(this[_0x1b4289]&(0x1<<_0x34897a)-0x1)<<_0x528761-_0x34897a,_0x4986c3|=this[--_0x1b4289]>>(_0x34897a+=this['DB']-_0x528761)):(_0x4986c3=this[_0x1b4289]>>(_0x34897a-=_0x528761)&_0x251e41,_0x34897a<=0x0&&(_0x34897a+=this['DB'],--_0x1b4289)),_0x4986c3>0x0&&(_0x4d8a70=!0x0),_0x4d8a70&&(_0x44c0e2+=_0x5a417a(_0x4986c3));return _0x4d8a70?_0x44c0e2:'0';},_0x5b8fb8['prototype'][_0x1a4e('0x27d')]=function(){var _0x528761=_0x198660();return _0x5b8fb8['ZERO'][_0x1a4e('0xe92')](this,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')]['abs']=function(){return this['s']<0x0?this[_0x1a4e('0x27d')]():this;},_0x5b8fb8[_0x1a4e('0xa')]['compareTo']=function(_0x5b8fb8){var _0x528761=this['s']-_0x5b8fb8['s'];if(0x0!=_0x528761)return _0x528761;var _0x5a417a=this['t'];if(0x0!=(_0x528761=_0x5a417a-_0x5b8fb8['t']))return this['s']<0x0?-_0x528761:_0x528761;for(;--_0x5a417a>=0x0;)if(0x0!=(_0x528761=this[_0x5a417a]-_0x5b8fb8[_0x5a417a]))return _0x528761;return 0x0;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x9a6')]=function(){return this['t']<=0x0?0x0:this['DB']*(this['t']-0x1)+_0x2de816(this[this['t']-0x1]^this['s']&this['DM']);},_0x5b8fb8[_0x1a4e('0xa')]['mod']=function(_0x528761){var _0x5a417a=_0x198660();return this[_0x1a4e('0x65')]()[_0x1a4e('0xe93')](_0x528761,null,_0x5a417a),this['s']<0x0&&_0x5a417a[_0x1a4e('0x2a7')](_0x5b8fb8['ZERO'])>0x0&&_0x528761[_0x1a4e('0xe92')](_0x5a417a,_0x5a417a),_0x5a417a;},_0x5b8fb8[_0x1a4e('0xa')]['modPowInt']=function(_0x5b8fb8,_0x528761){var _0x5a417a;return _0x5a417a=_0x5b8fb8<0x100||_0x528761['isEven']()?new _0x23f638(_0x528761):new _0x39cb4b(_0x528761),this['exp'](_0x5b8fb8,_0x5a417a);},_0x5b8fb8[_0x1a4e('0xa')]['clone']=function(){var _0x5b8fb8=_0x198660();return this[_0x1a4e('0xe94')](_0x5b8fb8),_0x5b8fb8;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x275')]=function(){if(this['s']<0x0){if(0x1==this['t'])return this[0x0]-this['DV'];if(0x0==this['t'])return-0x1;}else{if(0x1==this['t'])return this[0x0];if(0x0==this['t'])return 0x0;}return(this[0x1]&(0x1<<0x20-this['DB'])-0x1)<>0x18;},_0x5b8fb8['prototype'][_0x1a4e('0xe96')]=function(){return 0x0==this['t']?this['s']:this[0x0]<<0x10>>0x10;},_0x5b8fb8['prototype'][_0x1a4e('0x27f')]=function(){return this['s']<0x0?-0x1:this['t']<=0x0||0x1==this['t']&&this[0x0]<=0x0?0x0:0x1;},_0x5b8fb8[_0x1a4e('0xa')]['toByteArray']=function(){var _0x5b8fb8=this['t'],_0x528761=[];_0x528761[0x0]=this['s'];var _0x5a417a,_0x4986c3=this['DB']-_0x5b8fb8*this['DB']%0x8,_0x251e41=0x0;if(_0x5b8fb8-->0x0)for(_0x4986c3>_0x4986c3)!=(this['s']&this['DM'])>>_0x4986c3&&(_0x528761[_0x251e41++]=_0x5a417a|this['s']<=0x0;)_0x4986c3<0x8?(_0x5a417a=(this[_0x5b8fb8]&(0x1<<_0x4986c3)-0x1)<<0x8-_0x4986c3,_0x5a417a|=this[--_0x5b8fb8]>>(_0x4986c3+=this['DB']-0x8)):(_0x5a417a=this[_0x5b8fb8]>>(_0x4986c3-=0x8)&0xff,_0x4986c3<=0x0&&(_0x4986c3+=this['DB'],--_0x5b8fb8)),0x0!=(0x80&_0x5a417a)&&(_0x5a417a|=-0x100),0x0==_0x251e41&&(0x80&this['s'])!=(0x80&_0x5a417a)&&++_0x251e41,(_0x251e41>0x0||_0x5a417a!=this['s'])&&(_0x528761[_0x251e41++]=_0x5a417a);return _0x528761;},_0x5b8fb8['prototype']['equals']=function(_0x5b8fb8){return 0x0==this[_0x1a4e('0x2a7')](_0x5b8fb8);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x74')]=function(_0x5b8fb8){return this[_0x1a4e('0x2a7')](_0x5b8fb8)<0x0?this:_0x5b8fb8;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x6c')]=function(_0x5b8fb8){return this[_0x1a4e('0x2a7')](_0x5b8fb8)>0x0?this:_0x5b8fb8;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x9b2')]=function(_0x5b8fb8){var _0x528761=_0x198660();return this[_0x1a4e('0xe97')](_0x5b8fb8,_0x4986c3,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')]['or']=function(_0x5b8fb8){var _0x528761=_0x198660();return this[_0x1a4e('0xe97')](_0x5b8fb8,_0x251e41,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x9b5')]=function(_0x5b8fb8){var _0x528761=_0x198660();return this[_0x1a4e('0xe97')](_0x5b8fb8,_0x4d8a70,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe98')]=function(_0x5b8fb8){var _0x528761=_0x198660();return this[_0x1a4e('0xe97')](_0x5b8fb8,_0x44c0e2,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe99')]=function(){for(var _0x5b8fb8=_0x198660(),_0x528761=0x0;_0x528761=this['t']?0x0!=this['s']:0x0!=(this[_0x528761]&0x1<<_0x5b8fb8%this['DB']);},_0x5b8fb8[_0x1a4e('0xa')]['setBit']=function(_0x5b8fb8){return this[_0x1a4e('0xea0')](_0x5b8fb8,_0x251e41);},_0x5b8fb8[_0x1a4e('0xa')]['clearBit']=function(_0x5b8fb8){return this[_0x1a4e('0xea0')](_0x5b8fb8,_0x44c0e2);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea1')]=function(_0x5b8fb8){return this[_0x1a4e('0xea0')](_0x5b8fb8,_0x4d8a70);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x5b8fb8){var _0x528761=_0x198660();return this[_0x1a4e('0xea2')](_0x5b8fb8,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')]['subtract']=function(_0x5b8fb8){var _0x528761=_0x198660();return this[_0x1a4e('0xe92')](_0x5b8fb8,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x260')]=function(_0x5b8fb8){var _0x528761=_0x198660();return this['multiplyTo'](_0x5b8fb8,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x25d')]=function(_0x5b8fb8){var _0x528761=_0x198660();return this[_0x1a4e('0xe93')](_0x5b8fb8,_0x528761,null),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')]['remainder']=function(_0x5b8fb8){var _0x528761=_0x198660();return this[_0x1a4e('0xe93')](_0x5b8fb8,null,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')]['divideAndRemainder']=function(_0x5b8fb8){var _0x528761=_0x198660(),_0x5a417a=_0x198660();return this[_0x1a4e('0xe93')](_0x5b8fb8,_0x528761,_0x5a417a),[_0x528761,_0x5a417a];},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea3')]=function(_0x5b8fb8,_0x528761){var _0x5a417a,_0x4986c3,_0x251e41=_0x5b8fb8[_0x1a4e('0x9a6')](),_0x4d8a70=_0x45ff80(0x1);if(_0x251e41<=0x0)return _0x4d8a70;_0x5a417a=_0x251e41<0x12?0x1:_0x251e41<0x30?0x3:_0x251e41<0x90?0x4:_0x251e41<0x300?0x5:0x6,_0x4986c3=_0x251e41<0x8?new _0x23f638(_0x528761):_0x528761[_0x1a4e('0x9de')]()?new _0xdac607(_0x528761):new _0x39cb4b(_0x528761);var _0x44c0e2=[],_0x1b4289=0x3,_0x34897a=_0x5a417a-0x1,_0x4ab2f8=(0x1<<_0x5a417a)-0x1;if(_0x44c0e2[0x1]=_0x4986c3[_0x1a4e('0xea4')](this),_0x5a417a>0x1){var _0x1b851c=_0x198660();for(_0x4986c3['sqrTo'](_0x44c0e2[0x1],_0x1b851c);_0x1b4289<=_0x4ab2f8;)_0x44c0e2[_0x1b4289]=_0x198660(),_0x4986c3[_0x1a4e('0x9bc')](_0x1b851c,_0x44c0e2[_0x1b4289-0x2],_0x44c0e2[_0x1b4289]),_0x1b4289+=0x2;}var _0x15d922,_0x23f17f,_0x3022ee=_0x5b8fb8['t']-0x1,_0x3bd9d1=!0x0,_0x3e4923=_0x198660();for(_0x251e41=_0x2de816(_0x5b8fb8[_0x3022ee])-0x1;_0x3022ee>=0x0;){for(_0x251e41>=_0x34897a?_0x15d922=_0x5b8fb8[_0x3022ee]>>_0x251e41-_0x34897a&_0x4ab2f8:(_0x15d922=(_0x5b8fb8[_0x3022ee]&(0x1<<_0x251e41+0x1)-0x1)<<_0x34897a-_0x251e41,_0x3022ee>0x0&&(_0x15d922|=_0x5b8fb8[_0x3022ee-0x1]>>this['DB']+_0x251e41-_0x34897a)),_0x1b4289=_0x5a417a;0x0==(0x1&_0x15d922);)_0x15d922>>=0x1,--_0x1b4289;if((_0x251e41-=_0x1b4289)<0x0&&(_0x251e41+=this['DB'],--_0x3022ee),_0x3bd9d1)_0x44c0e2[_0x15d922]['copyTo'](_0x4d8a70),_0x3bd9d1=!0x1;else{for(;_0x1b4289>0x1;)_0x4986c3[_0x1a4e('0xea5')](_0x4d8a70,_0x3e4923),_0x4986c3[_0x1a4e('0xea5')](_0x3e4923,_0x4d8a70),_0x1b4289-=0x2;_0x1b4289>0x0?_0x4986c3[_0x1a4e('0xea5')](_0x4d8a70,_0x3e4923):(_0x23f17f=_0x4d8a70,_0x4d8a70=_0x3e4923,_0x3e4923=_0x23f17f),_0x4986c3[_0x1a4e('0x9bc')](_0x3e4923,_0x44c0e2[_0x15d922],_0x4d8a70);}for(;_0x3022ee>=0x0&&0x0==(_0x5b8fb8[_0x3022ee]&0x1<<_0x251e41);)_0x4986c3['sqrTo'](_0x4d8a70,_0x3e4923),_0x23f17f=_0x4d8a70,_0x4d8a70=_0x3e4923,_0x3e4923=_0x23f17f,--_0x251e41<0x0&&(_0x251e41=this['DB']-0x1,--_0x3022ee);}return _0x4986c3['revert'](_0x4d8a70);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea6')]=function(_0x528761){var _0x5a417a=_0x528761[_0x1a4e('0x9de')]();if(this[_0x1a4e('0x9de')]()&&_0x5a417a||0x0==_0x528761['signum']())return _0x5b8fb8[_0x1a4e('0xea7')];for(var _0x4986c3=_0x528761[_0x1a4e('0x240')](),_0x251e41=this['clone'](),_0x4d8a70=_0x45ff80(0x1),_0x44c0e2=_0x45ff80(0x0),_0x1b4289=_0x45ff80(0x0),_0x34897a=_0x45ff80(0x1);0x0!=_0x4986c3['signum']();){for(;_0x4986c3[_0x1a4e('0x9de')]();)_0x4986c3[_0x1a4e('0xe9b')](0x1,_0x4986c3),_0x5a417a?(_0x4d8a70[_0x1a4e('0x9de')]()&&_0x44c0e2[_0x1a4e('0x9de')]()||(_0x4d8a70[_0x1a4e('0xea2')](this,_0x4d8a70),_0x44c0e2[_0x1a4e('0xe92')](_0x528761,_0x44c0e2)),_0x4d8a70[_0x1a4e('0xe9b')](0x1,_0x4d8a70)):_0x44c0e2[_0x1a4e('0x9de')]()||_0x44c0e2[_0x1a4e('0xe92')](_0x528761,_0x44c0e2),_0x44c0e2[_0x1a4e('0xe9b')](0x1,_0x44c0e2);for(;_0x251e41[_0x1a4e('0x9de')]();)_0x251e41['rShiftTo'](0x1,_0x251e41),_0x5a417a?(_0x1b4289[_0x1a4e('0x9de')]()&&_0x34897a[_0x1a4e('0x9de')]()||(_0x1b4289['addTo'](this,_0x1b4289),_0x34897a[_0x1a4e('0xe92')](_0x528761,_0x34897a)),_0x1b4289['rShiftTo'](0x1,_0x1b4289)):_0x34897a[_0x1a4e('0x9de')]()||_0x34897a[_0x1a4e('0xe92')](_0x528761,_0x34897a),_0x34897a[_0x1a4e('0xe9b')](0x1,_0x34897a);_0x4986c3['compareTo'](_0x251e41)>=0x0?(_0x4986c3[_0x1a4e('0xe92')](_0x251e41,_0x4986c3),_0x5a417a&&_0x4d8a70[_0x1a4e('0xe92')](_0x1b4289,_0x4d8a70),_0x44c0e2[_0x1a4e('0xe92')](_0x34897a,_0x44c0e2)):(_0x251e41[_0x1a4e('0xe92')](_0x4986c3,_0x251e41),_0x5a417a&&_0x1b4289['subTo'](_0x4d8a70,_0x1b4289),_0x34897a[_0x1a4e('0xe92')](_0x44c0e2,_0x34897a));}return 0x0!=_0x251e41[_0x1a4e('0x2a7')](_0x5b8fb8[_0x1a4e('0x25f')])?_0x5b8fb8[_0x1a4e('0xea7')]:_0x34897a[_0x1a4e('0x2a7')](_0x528761)>=0x0?_0x34897a['subtract'](_0x528761):_0x34897a[_0x1a4e('0x27f')]()<0x0?(_0x34897a['addTo'](_0x528761,_0x34897a),_0x34897a['signum']()<0x0?_0x34897a['add'](_0x528761):_0x34897a):_0x34897a;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x8e')]=function(_0x5b8fb8){return this[_0x1a4e('0xc3')](_0x5b8fb8,new _0x5b8445());},_0x5b8fb8['prototype'][_0x1a4e('0xea8')]=function(_0x5b8fb8){var _0x528761=this['s']<0x0?this['negate']():this[_0x1a4e('0x240')](),_0x5a417a=_0x5b8fb8['s']<0x0?_0x5b8fb8[_0x1a4e('0x27d')]():_0x5b8fb8[_0x1a4e('0x240')]();if(_0x528761[_0x1a4e('0x2a7')](_0x5a417a)<0x0){var _0x4986c3=_0x528761;_0x528761=_0x5a417a,_0x5a417a=_0x4986c3;}var _0x251e41=_0x528761[_0x1a4e('0xe9e')](),_0x4d8a70=_0x5a417a[_0x1a4e('0xe9e')]();if(_0x4d8a70<0x0)return _0x528761;for(_0x251e41<_0x4d8a70&&(_0x4d8a70=_0x251e41),_0x4d8a70>0x0&&(_0x528761[_0x1a4e('0xe9b')](_0x4d8a70,_0x528761),_0x5a417a['rShiftTo'](_0x4d8a70,_0x5a417a));_0x528761[_0x1a4e('0x27f')]()>0x0;)(_0x251e41=_0x528761['getLowestSetBit']())>0x0&&_0x528761['rShiftTo'](_0x251e41,_0x528761),(_0x251e41=_0x5a417a[_0x1a4e('0xe9e')]())>0x0&&_0x5a417a[_0x1a4e('0xe9b')](_0x251e41,_0x5a417a),_0x528761[_0x1a4e('0x2a7')](_0x5a417a)>=0x0?(_0x528761[_0x1a4e('0xe92')](_0x5a417a,_0x528761),_0x528761[_0x1a4e('0xe9b')](0x1,_0x528761)):(_0x5a417a['subTo'](_0x528761,_0x5a417a),_0x5a417a[_0x1a4e('0xe9b')](0x1,_0x5a417a));return _0x4d8a70>0x0&&_0x5a417a['lShiftTo'](_0x4d8a70,_0x5a417a),_0x5a417a;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea9')]=function(_0x5b8fb8){var _0x528761,_0x5a417a=this[_0x1a4e('0x65')]();if(0x1==_0x5a417a['t']&&_0x5a417a[0x0]<=_0x1bff11[_0x1bff11['length']-0x1]){for(_0x528761=0x0;_0x528761<_0x1bff11['length'];++_0x528761)if(_0x5a417a[0x0]==_0x1bff11[_0x528761])return!0x0;return!0x1;}if(_0x5a417a[_0x1a4e('0x9de')]())return!0x1;for(_0x528761=0x1;_0x528761<_0x1bff11[_0x1a4e('0x1e')];){for(var _0x4986c3=_0x1bff11[_0x528761],_0x251e41=_0x528761+0x1;_0x251e41<_0x1bff11[_0x1a4e('0x1e')]&&_0x4986c3<_0x11f94d;)_0x4986c3*=_0x1bff11[_0x251e41++];for(_0x4986c3=_0x5a417a[_0x1a4e('0xeaa')](_0x4986c3);_0x528761<_0x251e41;)if(_0x4986c3%_0x1bff11[_0x528761++]==0x0)return!0x1;}return _0x5a417a[_0x1a4e('0xeab')](_0x5b8fb8);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe94')]=function(_0x5b8fb8){for(var _0x528761=this['t']-0x1;_0x528761>=0x0;--_0x528761)_0x5b8fb8[_0x528761]=this[_0x528761];_0x5b8fb8['t']=this['t'],_0x5b8fb8['s']=this['s'];},_0x5b8fb8['prototype'][_0x1a4e('0xeac')]=function(_0x5b8fb8){this['t']=0x1,this['s']=_0x5b8fb8<0x0?-0x1:0x0,_0x5b8fb8>0x0?this[0x0]=_0x5b8fb8:_0x5b8fb8<-0x1?this[0x0]=_0x5b8fb8+this['DV']:this['t']=0x0;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe90')]=function(_0x528761,_0x5a417a){var _0x4986c3;if(0x10==_0x5a417a)_0x4986c3=0x4;else if(0x8==_0x5a417a)_0x4986c3=0x3;else if(0x100==_0x5a417a)_0x4986c3=0x8;else if(0x2==_0x5a417a)_0x4986c3=0x1;else if(0x20==_0x5a417a)_0x4986c3=0x5;else{if(0x4!=_0x5a417a)return void this[_0x1a4e('0xead')](_0x528761,_0x5a417a);_0x4986c3=0x2;}this['t']=0x0,this['s']=0x0;for(var _0x251e41=_0x528761[_0x1a4e('0x1e')],_0x4d8a70=!0x1,_0x44c0e2=0x0;--_0x251e41>=0x0;){var _0x1b4289=0x8==_0x4986c3?0xff&+_0x528761[_0x251e41]:_0x319087(_0x528761,_0x251e41);_0x1b4289<0x0?'-'==_0x528761[_0x1a4e('0x278')](_0x251e41)&&(_0x4d8a70=!0x0):(_0x4d8a70=!0x1,0x0==_0x44c0e2?this[this['t']++]=_0x1b4289:_0x44c0e2+_0x4986c3>this['DB']?(this[this['t']-0x1]|=(_0x1b4289&(0x1<>this['DB']-_0x44c0e2):this[this['t']-0x1]|=_0x1b4289<<_0x44c0e2,(_0x44c0e2+=_0x4986c3)>=this['DB']&&(_0x44c0e2-=this['DB']));}0x8==_0x4986c3&&0x0!=(0x80&+_0x528761[0x0])&&(this['s']=-0x1,_0x44c0e2>0x0&&(this[this['t']-0x1]|=(0x1<0x0&&this[this['t']-0x1]==_0x5b8fb8;)--this['t'];},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeae')]=function(_0x5b8fb8,_0x528761){var _0x5a417a;for(_0x5a417a=this['t']-0x1;_0x5a417a>=0x0;--_0x5a417a)_0x528761[_0x5a417a+_0x5b8fb8]=this[_0x5a417a];for(_0x5a417a=_0x5b8fb8-0x1;_0x5a417a>=0x0;--_0x5a417a)_0x528761[_0x5a417a]=0x0;_0x528761['t']=this['t']+_0x5b8fb8,_0x528761['s']=this['s'];},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeaf')]=function(_0x5b8fb8,_0x528761){for(var _0x5a417a=_0x5b8fb8;_0x5a417a=0x0;--_0x1b4289)_0x528761[_0x1b4289+_0x4d8a70+0x1]=this[_0x1b4289]>>_0x4986c3|_0x44c0e2,_0x44c0e2=(this[_0x1b4289]&_0x251e41)<<_0x5a417a;for(var _0x1b4289=_0x4d8a70-0x1;_0x1b4289>=0x0;--_0x1b4289)_0x528761[_0x1b4289]=0x0;_0x528761[_0x4d8a70]=_0x44c0e2,_0x528761['t']=this['t']+_0x4d8a70+0x1,_0x528761['s']=this['s'],_0x528761[_0x1a4e('0x24e')]();},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe9b')]=function(_0x5b8fb8,_0x528761){_0x528761['s']=this['s'];var _0x5a417a=Math[_0x1a4e('0xb4')](_0x5b8fb8/this['DB']);if(_0x5a417a>=this['t'])_0x528761['t']=0x0;else{var _0x4986c3=_0x5b8fb8%this['DB'],_0x251e41=this['DB']-_0x4986c3,_0x4d8a70=(0x1<<_0x4986c3)-0x1;_0x528761[0x0]=this[_0x5a417a]>>_0x4986c3;for(var _0x44c0e2=_0x5a417a+0x1;_0x44c0e2>_0x4986c3;_0x4986c3>0x0&&(_0x528761[this['t']-_0x5a417a-0x1]|=(this['s']&_0x4d8a70)<<_0x251e41),_0x528761['t']=this['t']-_0x5a417a,_0x528761[_0x1a4e('0x24e')]();}},_0x5b8fb8[_0x1a4e('0xa')]['subTo']=function(_0x5b8fb8,_0x528761){for(var _0x5a417a=0x0,_0x4986c3=0x0,_0x251e41=Math[_0x1a4e('0x74')](_0x5b8fb8['t'],this['t']);_0x5a417a<_0x251e41;)_0x4986c3+=this[_0x5a417a]-_0x5b8fb8[_0x5a417a],_0x528761[_0x5a417a++]=_0x4986c3&this['DM'],_0x4986c3>>=this['DB'];if(_0x5b8fb8['t']>=this['DB'];_0x4986c3+=this['s'];}else{for(_0x4986c3+=this['s'];_0x5a417a<_0x5b8fb8['t'];)_0x4986c3-=_0x5b8fb8[_0x5a417a],_0x528761[_0x5a417a++]=_0x4986c3&this['DM'],_0x4986c3>>=this['DB'];_0x4986c3-=_0x5b8fb8['s'];}_0x528761['s']=_0x4986c3<0x0?-0x1:0x0,_0x4986c3<-0x1?_0x528761[_0x5a417a++]=this['DV']+_0x4986c3:_0x4986c3>0x0&&(_0x528761[_0x5a417a++]=_0x4986c3),_0x528761['t']=_0x5a417a,_0x528761[_0x1a4e('0x24e')]();},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb0')]=function(_0x528761,_0x5a417a){var _0x4986c3=this[_0x1a4e('0x65')](),_0x251e41=_0x528761[_0x1a4e('0x65')](),_0x4d8a70=_0x4986c3['t'];for(_0x5a417a['t']=_0x4d8a70+_0x251e41['t'];--_0x4d8a70>=0x0;)_0x5a417a[_0x4d8a70]=0x0;for(_0x4d8a70=0x0;_0x4d8a70<_0x251e41['t'];++_0x4d8a70)_0x5a417a[_0x4d8a70+_0x4986c3['t']]=_0x4986c3['am'](0x0,_0x251e41[_0x4d8a70],_0x5a417a,_0x4d8a70,0x0,_0x4986c3['t']);_0x5a417a['s']=0x0,_0x5a417a['clamp'](),this['s']!=_0x528761['s']&&_0x5b8fb8[_0x1a4e('0xea7')][_0x1a4e('0xe92')](_0x5a417a,_0x5a417a);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb1')]=function(_0x5b8fb8){for(var _0x528761=this['abs'](),_0x5a417a=_0x5b8fb8['t']=0x2*_0x528761['t'];--_0x5a417a>=0x0;)_0x5b8fb8[_0x5a417a]=0x0;for(_0x5a417a=0x0;_0x5a417a<_0x528761['t']-0x1;++_0x5a417a){var _0x4986c3=_0x528761['am'](_0x5a417a,_0x528761[_0x5a417a],_0x5b8fb8,0x2*_0x5a417a,0x0,0x1);(_0x5b8fb8[_0x5a417a+_0x528761['t']]+=_0x528761['am'](_0x5a417a+0x1,0x2*_0x528761[_0x5a417a],_0x5b8fb8,0x2*_0x5a417a+0x1,_0x4986c3,_0x528761['t']-_0x5a417a-0x1))>=_0x528761['DV']&&(_0x5b8fb8[_0x5a417a+_0x528761['t']]-=_0x528761['DV'],_0x5b8fb8[_0x5a417a+_0x528761['t']+0x1]=0x1);}_0x5b8fb8['t']>0x0&&(_0x5b8fb8[_0x5b8fb8['t']-0x1]+=_0x528761['am'](_0x5a417a,_0x528761[_0x5a417a],_0x5b8fb8,0x2*_0x5a417a,0x0,0x1)),_0x5b8fb8['s']=0x0,_0x5b8fb8[_0x1a4e('0x24e')]();},_0x5b8fb8['prototype'][_0x1a4e('0xe93')]=function(_0x528761,_0x5a417a,_0x4986c3){var _0x251e41=_0x528761[_0x1a4e('0x65')]();if(!(_0x251e41['t']<=0x0)){var _0x4d8a70=this[_0x1a4e('0x65')]();if(_0x4d8a70['t']<_0x251e41['t'])return null!=_0x5a417a&&_0x5a417a[_0x1a4e('0xeac')](0x0),void(null!=_0x4986c3&&this['copyTo'](_0x4986c3));null==_0x4986c3&&(_0x4986c3=_0x198660());var _0x44c0e2=_0x198660(),_0x1b4289=this['s'],_0x34897a=_0x528761['s'],_0x4ab2f8=this['DB']-_0x2de816(_0x251e41[_0x251e41['t']-0x1]);_0x4ab2f8>0x0?(_0x251e41['lShiftTo'](_0x4ab2f8,_0x44c0e2),_0x4d8a70['lShiftTo'](_0x4ab2f8,_0x4986c3)):(_0x251e41[_0x1a4e('0xe94')](_0x44c0e2),_0x4d8a70[_0x1a4e('0xe94')](_0x4986c3));var _0x1b851c=_0x44c0e2['t'],_0x15d922=_0x44c0e2[_0x1b851c-0x1];if(0x0!=_0x15d922){var _0x23f17f=_0x15d922*(0x1<0x1?_0x44c0e2[_0x1b851c-0x2]>>this['F2']:0x0),_0x3022ee=this['FV']/_0x23f17f,_0x3bd9d1=(0x1<=0x0&&(_0x4986c3[_0x4986c3['t']++]=0x1,_0x4986c3[_0x1a4e('0xe92')](_0x56299d,_0x4986c3)),_0x5b8fb8[_0x1a4e('0x25f')][_0x1a4e('0xeae')](_0x1b851c,_0x56299d),_0x56299d[_0x1a4e('0xe92')](_0x44c0e2,_0x44c0e2);_0x44c0e2['t']<_0x1b851c;)_0x44c0e2[_0x44c0e2['t']++]=0x0;for(;--_0x2aef95>=0x0;){var _0x4441cd=_0x4986c3[--_0x3d6fdc]==_0x15d922?this['DM']:Math['floor'](_0x4986c3[_0x3d6fdc]*_0x3022ee+(_0x4986c3[_0x3d6fdc-0x1]+_0x3e4923)*_0x3bd9d1);if((_0x4986c3[_0x3d6fdc]+=_0x44c0e2['am'](0x0,_0x4441cd,_0x4986c3,_0x2aef95,0x0,_0x1b851c))<_0x4441cd)for(_0x44c0e2[_0x1a4e('0xeae')](_0x2aef95,_0x56299d),_0x4986c3[_0x1a4e('0xe92')](_0x56299d,_0x4986c3);_0x4986c3[_0x3d6fdc]<--_0x4441cd;)_0x4986c3[_0x1a4e('0xe92')](_0x56299d,_0x4986c3);}null!=_0x5a417a&&(_0x4986c3[_0x1a4e('0xeaf')](_0x1b851c,_0x5a417a),_0x1b4289!=_0x34897a&&_0x5b8fb8[_0x1a4e('0xea7')][_0x1a4e('0xe92')](_0x5a417a,_0x5a417a)),_0x4986c3['t']=_0x1b851c,_0x4986c3[_0x1a4e('0x24e')](),_0x4ab2f8>0x0&&_0x4986c3[_0x1a4e('0xe9b')](_0x4ab2f8,_0x4986c3),_0x1b4289<0x0&&_0x5b8fb8[_0x1a4e('0xea7')][_0x1a4e('0xe92')](_0x4986c3,_0x4986c3);}}},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb2')]=function(){if(this['t']<0x1)return 0x0;var _0x5b8fb8=this[0x0];if(0x0==(0x1&_0x5b8fb8))return 0x0;var _0x528761=0x3&_0x5b8fb8;return(_0x528761=(_0x528761=(_0x528761=(_0x528761=_0x528761*(0x2-(0xf&_0x5b8fb8)*_0x528761)&0xf)*(0x2-(0xff&_0x5b8fb8)*_0x528761)&0xff)*(0x2-((0xffff&_0x5b8fb8)*_0x528761&0xffff))&0xffff)*(0x2-_0x5b8fb8*_0x528761%this['DV'])%this['DV'])>0x0?this['DV']-_0x528761:-_0x528761;},_0x5b8fb8['prototype'][_0x1a4e('0x9de')]=function(){return 0x0==(this['t']>0x0?0x1&this[0x0]:this['s']);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xc3')]=function(_0x528761,_0x5a417a){if(_0x528761>0xffffffff||_0x528761<0x1)return _0x5b8fb8[_0x1a4e('0x25f')];var _0x4986c3=_0x198660(),_0x251e41=_0x198660(),_0x4d8a70=_0x5a417a['convert'](this),_0x44c0e2=_0x2de816(_0x528761)-0x1;for(_0x4d8a70[_0x1a4e('0xe94')](_0x4986c3);--_0x44c0e2>=0x0;)if(_0x5a417a[_0x1a4e('0xea5')](_0x4986c3,_0x251e41),(_0x528761&0x1<<_0x44c0e2)>0x0)_0x5a417a['mulTo'](_0x251e41,_0x4d8a70,_0x4986c3);else{var _0x1b4289=_0x4986c3;_0x4986c3=_0x251e41,_0x251e41=_0x1b4289;}return _0x5a417a[_0x1a4e('0xeb3')](_0x4986c3);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb4')]=function(_0x5b8fb8){return Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x172')]*this['DB']/Math[_0x1a4e('0x58')](_0x5b8fb8));},_0x5b8fb8[_0x1a4e('0xa')]['toRadix']=function(_0x5b8fb8){if(null==_0x5b8fb8&&(_0x5b8fb8=0xa),0x0==this['signum']()||_0x5b8fb8<0x2||_0x5b8fb8>0x24)return'0';var _0x528761=this[_0x1a4e('0xeb4')](_0x5b8fb8),_0x5a417a=Math[_0x1a4e('0x8e')](_0x5b8fb8,_0x528761),_0x4986c3=_0x45ff80(_0x5a417a),_0x251e41=_0x198660(),_0x4d8a70=_0x198660(),_0x44c0e2='';for(this[_0x1a4e('0xe93')](_0x4986c3,_0x251e41,_0x4d8a70);_0x251e41[_0x1a4e('0x27f')]()>0x0;)_0x44c0e2=(_0x5a417a+_0x4d8a70['intValue']())[_0x1a4e('0x95')](_0x5b8fb8)['substr'](0x1)+_0x44c0e2,_0x251e41[_0x1a4e('0xe93')](_0x4986c3,_0x251e41,_0x4d8a70);return _0x4d8a70[_0x1a4e('0x275')]()[_0x1a4e('0x95')](_0x5b8fb8)+_0x44c0e2;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xead')]=function(_0x528761,_0x5a417a){this[_0x1a4e('0xeac')](0x0),null==_0x5a417a&&(_0x5a417a=0xa);for(var _0x4986c3=this[_0x1a4e('0xeb4')](_0x5a417a),_0x251e41=Math[_0x1a4e('0x8e')](_0x5a417a,_0x4986c3),_0x4d8a70=!0x1,_0x44c0e2=0x0,_0x1b4289=0x0,_0x34897a=0x0;_0x34897a<_0x528761[_0x1a4e('0x1e')];++_0x34897a){var _0x4ab2f8=_0x319087(_0x528761,_0x34897a);_0x4ab2f8<0x0?'-'==_0x528761[_0x1a4e('0x278')](_0x34897a)&&0x0==this['signum']()&&(_0x4d8a70=!0x0):(_0x1b4289=_0x5a417a*_0x1b4289+_0x4ab2f8,++_0x44c0e2>=_0x4986c3&&(this[_0x1a4e('0xeb5')](_0x251e41),this[_0x1a4e('0xeb6')](_0x1b4289,0x0),_0x44c0e2=0x0,_0x1b4289=0x0));}_0x44c0e2>0x0&&(this[_0x1a4e('0xeb5')](Math[_0x1a4e('0x8e')](_0x5a417a,_0x44c0e2)),this[_0x1a4e('0xeb6')](_0x1b4289,0x0)),_0x4d8a70&&_0x5b8fb8[_0x1a4e('0xea7')][_0x1a4e('0xe92')](this,this);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb7')]=function(_0x528761,_0x5a417a,_0x4986c3){if(_0x1a4e('0x3d')==typeof _0x5a417a)if(_0x528761<0x2)this['fromInt'](0x1);else for(this[_0x1a4e('0xeb7')](_0x528761,_0x4986c3),this[_0x1a4e('0xe9f')](_0x528761-0x1)||this[_0x1a4e('0xe97')](_0x5b8fb8[_0x1a4e('0x25f')][_0x1a4e('0xe9a')](_0x528761-0x1),_0x251e41,this),this[_0x1a4e('0x9de')]()&&this[_0x1a4e('0xeb6')](0x1,0x0);!this[_0x1a4e('0xea9')](_0x5a417a);)this['dAddOffset'](0x2,0x0),this['bitLength']()>_0x528761&&this[_0x1a4e('0xe92')](_0x5b8fb8[_0x1a4e('0x25f')][_0x1a4e('0xe9a')](_0x528761-0x1),this);else{var _0x4d8a70=[],_0x44c0e2=0x7&_0x528761;_0x4d8a70[_0x1a4e('0x1e')]=0x1+(_0x528761>>0x3),_0x5a417a[_0x1a4e('0xeb8')](_0x4d8a70),_0x44c0e2>0x0?_0x4d8a70[0x0]&=(0x1<<_0x44c0e2)-0x1:_0x4d8a70[0x0]=0x0,this[_0x1a4e('0xe90')](_0x4d8a70,0x100);}},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xe97')]=function(_0x5b8fb8,_0x528761,_0x5a417a){var _0x4986c3,_0x251e41,_0x4d8a70=Math[_0x1a4e('0x74')](_0x5b8fb8['t'],this['t']);for(_0x4986c3=0x0;_0x4986c3<_0x4d8a70;++_0x4986c3)_0x5a417a[_0x4986c3]=_0x528761(this[_0x4986c3],_0x5b8fb8[_0x4986c3]);if(_0x5b8fb8['t']>=this['DB'];if(_0x5b8fb8['t']>=this['DB'];_0x4986c3+=this['s'];}else{for(_0x4986c3+=this['s'];_0x5a417a<_0x5b8fb8['t'];)_0x4986c3+=_0x5b8fb8[_0x5a417a],_0x528761[_0x5a417a++]=_0x4986c3&this['DM'],_0x4986c3>>=this['DB'];_0x4986c3+=_0x5b8fb8['s'];}_0x528761['s']=_0x4986c3<0x0?-0x1:0x0,_0x4986c3>0x0?_0x528761[_0x5a417a++]=_0x4986c3:_0x4986c3<-0x1&&(_0x528761[_0x5a417a++]=this['DV']+_0x4986c3),_0x528761['t']=_0x5a417a,_0x528761['clamp']();},_0x5b8fb8['prototype']['dMultiply']=function(_0x5b8fb8){this[this['t']]=this['am'](0x0,_0x5b8fb8-0x1,this,0x0,0x0,this['t']),++this['t'],this[_0x1a4e('0x24e')]();},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb6')]=function(_0x5b8fb8,_0x528761){if(0x0!=_0x5b8fb8){for(;this['t']<=_0x528761;)this[this['t']++]=0x0;for(this[_0x528761]+=_0x5b8fb8;this[_0x528761]>=this['DV'];)this[_0x528761]-=this['DV'],++_0x528761>=this['t']&&(this[this['t']++]=0x0),++this[_0x528761];}},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb9')]=function(_0x5b8fb8,_0x528761,_0x5a417a){var _0x4986c3=Math[_0x1a4e('0x74')](this['t']+_0x5b8fb8['t'],_0x528761);for(_0x5a417a['s']=0x0,_0x5a417a['t']=_0x4986c3;_0x4986c3>0x0;)_0x5a417a[--_0x4986c3]=0x0;for(var _0x251e41=_0x5a417a['t']-this['t'];_0x4986c3<_0x251e41;++_0x4986c3)_0x5a417a[_0x4986c3+this['t']]=this['am'](0x0,_0x5b8fb8[_0x4986c3],_0x5a417a,_0x4986c3,0x0,this['t']);for(var _0x251e41=Math['min'](_0x5b8fb8['t'],_0x528761);_0x4986c3<_0x251e41;++_0x4986c3)this['am'](0x0,_0x5b8fb8[_0x4986c3],_0x5a417a,_0x4986c3,0x0,_0x528761-_0x4986c3);_0x5a417a[_0x1a4e('0x24e')]();},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeba')]=function(_0x5b8fb8,_0x528761,_0x5a417a){--_0x528761;var _0x4986c3=_0x5a417a['t']=this['t']+_0x5b8fb8['t']-_0x528761;for(_0x5a417a['s']=0x0;--_0x4986c3>=0x0;)_0x5a417a[_0x4986c3]=0x0;for(_0x4986c3=Math[_0x1a4e('0x6c')](_0x528761-this['t'],0x0);_0x4986c3<_0x5b8fb8['t'];++_0x4986c3)_0x5a417a[this['t']+_0x4986c3-_0x528761]=this['am'](_0x528761-_0x4986c3,_0x5b8fb8[_0x4986c3],_0x5a417a,0x0,0x0,this['t']+_0x4986c3-_0x528761);_0x5a417a[_0x1a4e('0x24e')](),_0x5a417a[_0x1a4e('0xeaf')](0x1,_0x5a417a);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeaa')]=function(_0x5b8fb8){if(_0x5b8fb8<=0x0)return 0x0;var _0x528761=this['DV']%_0x5b8fb8,_0x5a417a=this['s']<0x0?_0x5b8fb8-0x1:0x0;if(this['t']>0x0)if(0x0==_0x528761)_0x5a417a=this[0x0]%_0x5b8fb8;else for(var _0x4986c3=this['t']-0x1;_0x4986c3>=0x0;--_0x4986c3)_0x5a417a=(_0x528761*_0x5a417a+this[_0x4986c3])%_0x5b8fb8;return _0x5a417a;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeab')]=function(_0x528761){var _0x5a417a=this[_0x1a4e('0x262')](_0x5b8fb8['ONE']),_0x4986c3=_0x5a417a['getLowestSetBit']();if(_0x4986c3<=0x0)return!0x1;var _0x251e41=_0x5a417a['shiftRight'](_0x4986c3);(_0x528761=_0x528761+0x1>>0x1)>_0x1bff11[_0x1a4e('0x1e')]&&(_0x528761=_0x1bff11[_0x1a4e('0x1e')]);for(var _0x4d8a70=_0x198660(),_0x44c0e2=0x0;_0x44c0e2<_0x528761;++_0x44c0e2){_0x4d8a70[_0x1a4e('0xeac')](_0x1bff11[Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x12e')]()*_0x1bff11[_0x1a4e('0x1e')])]);var _0x1b4289=_0x4d8a70[_0x1a4e('0xea3')](_0x251e41,this);if(0x0!=_0x1b4289[_0x1a4e('0x2a7')](_0x5b8fb8[_0x1a4e('0x25f')])&&0x0!=_0x1b4289[_0x1a4e('0x2a7')](_0x5a417a)){for(var _0x34897a=0x1;_0x34897a++<_0x4986c3&&0x0!=_0x1b4289[_0x1a4e('0x2a7')](_0x5a417a);)if(0x0==(_0x1b4289=_0x1b4289['modPowInt'](0x2,this))[_0x1a4e('0x2a7')](_0x5b8fb8['ONE']))return!0x1;if(0x0!=_0x1b4289[_0x1a4e('0x2a7')](_0x5a417a))return!0x1;}}return!0x0;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x822')]=function(){var _0x5b8fb8=_0x198660();return this[_0x1a4e('0xeb1')](_0x5b8fb8),_0x5b8fb8;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xebb')]=function(_0x5b8fb8,_0x528761){var _0x5a417a=this['s']<0x0?this[_0x1a4e('0x27d')]():this[_0x1a4e('0x240')](),_0x4986c3=_0x5b8fb8['s']<0x0?_0x5b8fb8[_0x1a4e('0x27d')]():_0x5b8fb8[_0x1a4e('0x240')]();if(_0x5a417a[_0x1a4e('0x2a7')](_0x4986c3)<0x0){var _0x251e41=_0x5a417a;_0x5a417a=_0x4986c3,_0x4986c3=_0x251e41;}var _0x4d8a70=_0x5a417a[_0x1a4e('0xe9e')](),_0x44c0e2=_0x4986c3[_0x1a4e('0xe9e')]();if(_0x44c0e2<0x0)_0x528761(_0x5a417a);else{_0x4d8a70<_0x44c0e2&&(_0x44c0e2=_0x4d8a70),_0x44c0e2>0x0&&(_0x5a417a['rShiftTo'](_0x44c0e2,_0x5a417a),_0x4986c3[_0x1a4e('0xe9b')](_0x44c0e2,_0x4986c3));var _0x1b4289=function(){(_0x4d8a70=_0x5a417a['getLowestSetBit']())>0x0&&_0x5a417a[_0x1a4e('0xe9b')](_0x4d8a70,_0x5a417a),(_0x4d8a70=_0x4986c3['getLowestSetBit']())>0x0&&_0x4986c3[_0x1a4e('0xe9b')](_0x4d8a70,_0x4986c3),_0x5a417a[_0x1a4e('0x2a7')](_0x4986c3)>=0x0?(_0x5a417a[_0x1a4e('0xe92')](_0x4986c3,_0x5a417a),_0x5a417a[_0x1a4e('0xe9b')](0x1,_0x5a417a)):(_0x4986c3[_0x1a4e('0xe92')](_0x5a417a,_0x4986c3),_0x4986c3[_0x1a4e('0xe9b')](0x1,_0x4986c3)),_0x5a417a['signum']()>0x0?setTimeout(_0x1b4289,0x0):(_0x44c0e2>0x0&&_0x4986c3[_0x1a4e('0xe9d')](_0x44c0e2,_0x4986c3),setTimeout(function(){_0x528761(_0x4986c3);},0x0));};setTimeout(_0x1b4289,0xa);}},_0x5b8fb8[_0x1a4e('0xa')]['fromNumberAsync']=function(_0x528761,_0x5a417a,_0x4986c3,_0x4d8a70){if(_0x1a4e('0x3d')==typeof _0x5a417a)if(_0x528761<0x2)this['fromInt'](0x1);else{this[_0x1a4e('0xeb7')](_0x528761,_0x4986c3),this[_0x1a4e('0xe9f')](_0x528761-0x1)||this[_0x1a4e('0xe97')](_0x5b8fb8['ONE'][_0x1a4e('0xe9a')](_0x528761-0x1),_0x251e41,this),this[_0x1a4e('0x9de')]()&&this[_0x1a4e('0xeb6')](0x1,0x0);var _0x44c0e2=this,_0x1b4289=function(){_0x44c0e2[_0x1a4e('0xeb6')](0x2,0x0),_0x44c0e2[_0x1a4e('0x9a6')]()>_0x528761&&_0x44c0e2[_0x1a4e('0xe92')](_0x5b8fb8['ONE'][_0x1a4e('0xe9a')](_0x528761-0x1),_0x44c0e2),_0x44c0e2[_0x1a4e('0xea9')](_0x5a417a)?setTimeout(function(){_0x4d8a70();},0x0):setTimeout(_0x1b4289,0x0);};setTimeout(_0x1b4289,0x0);}else{var _0x34897a=[],_0x4ab2f8=0x7&_0x528761;_0x34897a[_0x1a4e('0x1e')]=0x1+(_0x528761>>0x3),_0x5a417a[_0x1a4e('0xeb8')](_0x34897a),_0x4ab2f8>0x0?_0x34897a[0x0]&=(0x1<<_0x4ab2f8)-0x1:_0x34897a[0x0]=0x0,this[_0x1a4e('0xe90')](_0x34897a,0x100);}},_0x5b8fb8;}(),_0x5b8445=function(){function _0x5b8fb8(){}return _0x5b8fb8['prototype'][_0x1a4e('0xea4')]=function(_0x5b8fb8){return _0x5b8fb8;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb3')]=function(_0x5b8fb8){return _0x5b8fb8;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x9bc')]=function(_0x5b8fb8,_0x528761,_0x5a417a){_0x5b8fb8[_0x1a4e('0xeb0')](_0x528761,_0x5a417a);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea5')]=function(_0x5b8fb8,_0x528761){_0x5b8fb8[_0x1a4e('0xeb1')](_0x528761);},_0x5b8fb8;}(),_0x23f638=function(){function _0x5b8fb8(_0x5b8fb8){this['m']=_0x5b8fb8;}return _0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea4')]=function(_0x5b8fb8){return _0x5b8fb8['s']<0x0||_0x5b8fb8[_0x1a4e('0x2a7')](this['m'])>=0x0?_0x5b8fb8['mod'](this['m']):_0x5b8fb8;},_0x5b8fb8['prototype'][_0x1a4e('0xeb3')]=function(_0x5b8fb8){return _0x5b8fb8;},_0x5b8fb8['prototype']['reduce']=function(_0x5b8fb8){_0x5b8fb8[_0x1a4e('0xe93')](this['m'],null,_0x5b8fb8);},_0x5b8fb8['prototype'][_0x1a4e('0x9bc')]=function(_0x5b8fb8,_0x528761,_0x5a417a){_0x5b8fb8[_0x1a4e('0xeb0')](_0x528761,_0x5a417a),this[_0x1a4e('0xbb')](_0x5a417a);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea5')]=function(_0x5b8fb8,_0x528761){_0x5b8fb8[_0x1a4e('0xeb1')](_0x528761),this[_0x1a4e('0xbb')](_0x528761);},_0x5b8fb8;}(),_0x39cb4b=function(){function _0x5b8fb8(_0x5b8fb8){this['m']=_0x5b8fb8,this['mp']=_0x5b8fb8['invDigit'](),this[_0x1a4e('0xebc')]=0x7fff&this['mp'],this[_0x1a4e('0xebd')]=this['mp']>>0xf,this['um']=(0x1<<_0x5b8fb8['DB']-0xf)-0x1,this[_0x1a4e('0xebe')]=0x2*_0x5b8fb8['t'];}return _0x5b8fb8['prototype'][_0x1a4e('0xea4')]=function(_0x5b8fb8){var _0x528761=_0x198660();return _0x5b8fb8['abs']()[_0x1a4e('0xeae')](this['m']['t'],_0x528761),_0x528761[_0x1a4e('0xe93')](this['m'],null,_0x528761),_0x5b8fb8['s']<0x0&&_0x528761['compareTo'](_0x498d97[_0x1a4e('0xea7')])>0x0&&this['m'][_0x1a4e('0xe92')](_0x528761,_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb3')]=function(_0x5b8fb8){var _0x528761=_0x198660();return _0x5b8fb8[_0x1a4e('0xe94')](_0x528761),this[_0x1a4e('0xbb')](_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xbb')]=function(_0x5b8fb8){for(;_0x5b8fb8['t']<=this['mt2'];)_0x5b8fb8[_0x5b8fb8['t']++]=0x0;for(var _0x528761=0x0;_0x528761>0xf)*this[_0x1a4e('0xebc')]&this['um'])<<0xf)&_0x5b8fb8['DM'];for(_0x5a417a=_0x528761+this['m']['t'],_0x5b8fb8[_0x5a417a]+=this['m']['am'](0x0,_0x4986c3,_0x5b8fb8,_0x528761,0x0,this['m']['t']);_0x5b8fb8[_0x5a417a]>=_0x5b8fb8['DV'];)_0x5b8fb8[_0x5a417a]-=_0x5b8fb8['DV'],_0x5b8fb8[++_0x5a417a]++;}_0x5b8fb8['clamp'](),_0x5b8fb8[_0x1a4e('0xeaf')](this['m']['t'],_0x5b8fb8),_0x5b8fb8['compareTo'](this['m'])>=0x0&&_0x5b8fb8[_0x1a4e('0xe92')](this['m'],_0x5b8fb8);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x9bc')]=function(_0x5b8fb8,_0x528761,_0x5a417a){_0x5b8fb8['multiplyTo'](_0x528761,_0x5a417a),this[_0x1a4e('0xbb')](_0x5a417a);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea5')]=function(_0x5b8fb8,_0x528761){_0x5b8fb8[_0x1a4e('0xeb1')](_0x528761),this[_0x1a4e('0xbb')](_0x528761);},_0x5b8fb8;}(),_0xdac607=function(){function _0x5b8fb8(_0x5b8fb8){this['m']=_0x5b8fb8,this['r2']=_0x198660(),this['q3']=_0x198660(),_0x498d97[_0x1a4e('0x25f')][_0x1a4e('0xeae')](0x2*_0x5b8fb8['t'],this['r2']),this['mu']=this['r2']['divide'](_0x5b8fb8);}return _0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea4')]=function(_0x5b8fb8){if(_0x5b8fb8['s']<0x0||_0x5b8fb8['t']>0x2*this['m']['t'])return _0x5b8fb8['mod'](this['m']);if(_0x5b8fb8['compareTo'](this['m'])<0x0)return _0x5b8fb8;var _0x528761=_0x198660();return _0x5b8fb8[_0x1a4e('0xe94')](_0x528761),this['reduce'](_0x528761),_0x528761;},_0x5b8fb8[_0x1a4e('0xa')]['revert']=function(_0x5b8fb8){return _0x5b8fb8;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xbb')]=function(_0x5b8fb8){for(_0x5b8fb8[_0x1a4e('0xeaf')](this['m']['t']-0x1,this['r2']),_0x5b8fb8['t']>this['m']['t']+0x1&&(_0x5b8fb8['t']=this['m']['t']+0x1,_0x5b8fb8[_0x1a4e('0x24e')]()),this['mu'][_0x1a4e('0xeba')](this['r2'],this['m']['t']+0x1,this['q3']),this['m'][_0x1a4e('0xeb9')](this['q3'],this['m']['t']+0x1,this['r2']);_0x5b8fb8[_0x1a4e('0x2a7')](this['r2'])<0x0;)_0x5b8fb8['dAddOffset'](0x1,this['m']['t']+0x1);for(_0x5b8fb8[_0x1a4e('0xe92')](this['r2'],_0x5b8fb8);_0x5b8fb8[_0x1a4e('0x2a7')](this['m'])>=0x0;)_0x5b8fb8[_0x1a4e('0xe92')](this['m'],_0x5b8fb8);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x9bc')]=function(_0x5b8fb8,_0x528761,_0x5a417a){_0x5b8fb8['multiplyTo'](_0x528761,_0x5a417a),this[_0x1a4e('0xbb')](_0x5a417a);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xea5')]=function(_0x5b8fb8,_0x528761){_0x5b8fb8[_0x1a4e('0xeb1')](_0x528761),this[_0x1a4e('0xbb')](_0x528761);},_0x5b8fb8;}();function _0x198660(){return new _0x498d97(null);}function _0x5e20ea(_0x5b8fb8,_0x528761){return new _0x498d97(_0x5b8fb8,_0x528761);}_0x1a4e('0xebf')==navigator[_0x1a4e('0xec0')]?(_0x498d97[_0x1a4e('0xa')]['am']=function(_0x5b8fb8,_0x528761,_0x5a417a,_0x4986c3,_0x251e41,_0x4d8a70){for(var _0x44c0e2=0x7fff&_0x528761,_0x1b4289=_0x528761>>0xf;--_0x4d8a70>=0x0;){var _0x34897a=0x7fff&this[_0x5b8fb8],_0x4ab2f8=this[_0x5b8fb8++]>>0xf,_0x1b851c=_0x1b4289*_0x34897a+_0x4ab2f8*_0x44c0e2;_0x34897a=_0x44c0e2*_0x34897a+((0x7fff&_0x1b851c)<<0xf)+_0x5a417a[_0x4986c3]+(0x3fffffff&_0x251e41),_0x251e41=(_0x34897a>>>0x1e)+(_0x1b851c>>>0xf)+_0x1b4289*_0x4ab2f8+(_0x251e41>>>0x1e),_0x5a417a[_0x4986c3++]=0x3fffffff&_0x34897a;}return _0x251e41;},_0x227488=0x1e):_0x1a4e('0xec1')!=navigator[_0x1a4e('0xec0')]?(_0x498d97['prototype']['am']=function(_0x5b8fb8,_0x528761,_0x5a417a,_0x4986c3,_0x251e41,_0x4d8a70){for(;--_0x4d8a70>=0x0;){var _0x44c0e2=_0x528761*this[_0x5b8fb8++]+_0x5a417a[_0x4986c3]+_0x251e41;_0x251e41=Math[_0x1a4e('0xb4')](_0x44c0e2/0x4000000),_0x5a417a[_0x4986c3++]=0x3ffffff&_0x44c0e2;}return _0x251e41;},_0x227488=0x1a):(_0x498d97[_0x1a4e('0xa')]['am']=function(_0x5b8fb8,_0x528761,_0x5a417a,_0x4986c3,_0x251e41,_0x4d8a70){for(var _0x44c0e2=0x3fff&_0x528761,_0x1b4289=_0x528761>>0xe;--_0x4d8a70>=0x0;){var _0x34897a=0x3fff&this[_0x5b8fb8],_0x4ab2f8=this[_0x5b8fb8++]>>0xe,_0x1b851c=_0x1b4289*_0x34897a+_0x4ab2f8*_0x44c0e2;_0x34897a=_0x44c0e2*_0x34897a+((0x3fff&_0x1b851c)<<0xe)+_0x5a417a[_0x4986c3]+_0x251e41,_0x251e41=(_0x34897a>>0x1c)+(_0x1b851c>>0xe)+_0x1b4289*_0x4ab2f8,_0x5a417a[_0x4986c3++]=0xfffffff&_0x34897a;}return _0x251e41;},_0x227488=0x1c),_0x498d97[_0x1a4e('0xa')]['DB']=_0x227488,_0x498d97[_0x1a4e('0xa')]['DM']=(0x1<<_0x227488)-0x1,_0x498d97['prototype']['DV']=0x1<<_0x227488,_0x498d97[_0x1a4e('0xa')]['FV']=Math[_0x1a4e('0x8e')](0x2,0x34),_0x498d97[_0x1a4e('0xa')]['F1']=0x34-_0x227488,_0x498d97[_0x1a4e('0xa')]['F2']=0x2*_0x227488-0x34;var _0x2d4504,_0x1ed5f9,_0x3278db=[];for(_0x2d4504='0'[_0x1a4e('0x913')](0x0),_0x1ed5f9=0x0;_0x1ed5f9<=0x9;++_0x1ed5f9)_0x3278db[_0x2d4504++]=_0x1ed5f9;for(_0x2d4504='a'[_0x1a4e('0x913')](0x0),_0x1ed5f9=0xa;_0x1ed5f9<0x24;++_0x1ed5f9)_0x3278db[_0x2d4504++]=_0x1ed5f9;for(_0x2d4504='A'['charCodeAt'](0x0),_0x1ed5f9=0xa;_0x1ed5f9<0x24;++_0x1ed5f9)_0x3278db[_0x2d4504++]=_0x1ed5f9;function _0x319087(_0x5b8fb8,_0x528761){var _0x5a417a=_0x3278db[_0x5b8fb8['charCodeAt'](_0x528761)];return null==_0x5a417a?-0x1:_0x5a417a;}function _0x45ff80(_0x5b8fb8){var _0x528761=_0x198660();return _0x528761[_0x1a4e('0xeac')](_0x5b8fb8),_0x528761;}function _0x2de816(_0x5b8fb8){var _0x528761,_0x5a417a=0x1;return 0x0!=(_0x528761=_0x5b8fb8>>>0x10)&&(_0x5b8fb8=_0x528761,_0x5a417a+=0x10),0x0!=(_0x528761=_0x5b8fb8>>0x8)&&(_0x5b8fb8=_0x528761,_0x5a417a+=0x8),0x0!=(_0x528761=_0x5b8fb8>>0x4)&&(_0x5b8fb8=_0x528761,_0x5a417a+=0x4),0x0!=(_0x528761=_0x5b8fb8>>0x2)&&(_0x5b8fb8=_0x528761,_0x5a417a+=0x2),0x0!=(_0x528761=_0x5b8fb8>>0x1)&&(_0x5b8fb8=_0x528761,_0x5a417a+=0x1),_0x5a417a;}_0x498d97[_0x1a4e('0xea7')]=_0x45ff80(0x0),_0x498d97[_0x1a4e('0x25f')]=_0x45ff80(0x1);var _0x2e0a7d,_0x3f2c31,_0x1dac25=function(){function _0x5b8fb8(){this['i']=0x0,this['j']=0x0,this['S']=[];}return _0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x5b8fb8){var _0x528761,_0x5a417a,_0x4986c3;for(_0x528761=0x0;_0x528761<0x100;++_0x528761)this['S'][_0x528761]=_0x528761;for(_0x5a417a=0x0,_0x528761=0x0;_0x528761<0x100;++_0x528761)_0x5a417a=_0x5a417a+this['S'][_0x528761]+_0x5b8fb8[_0x528761%_0x5b8fb8[_0x1a4e('0x1e')]]&0xff,_0x4986c3=this['S'][_0x528761],this['S'][_0x528761]=this['S'][_0x5a417a],this['S'][_0x5a417a]=_0x4986c3;this['i']=0x0,this['j']=0x0;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x7e')]=function(){var _0x5b8fb8;return this['i']=this['i']+0x1&0xff,this['j']=this['j']+this['S'][this['i']]&0xff,_0x5b8fb8=this['S'][this['i']],this['S'][this['i']]=this['S'][this['j']],this['S'][this['j']]=_0x5b8fb8,this['S'][_0x5b8fb8+this['S'][this['i']]&0xff];},_0x5b8fb8;}(),_0x4926d9=0x100,_0x1d35f4=null;if(null==_0x1d35f4){_0x1d35f4=[],_0x3f2c31=0x0;var _0x1565fa=void 0x0;if(window[_0x1a4e('0xa27')]&&window[_0x1a4e('0xa27')]['getRandomValues']){var _0x15f746=new Uint32Array(0x100);for(window[_0x1a4e('0xa27')][_0x1a4e('0xa29')](_0x15f746),_0x1565fa=0x0;_0x1565fa<_0x15f746[_0x1a4e('0x1e')];++_0x1565fa)_0x1d35f4[_0x3f2c31++]=0xff&_0x15f746[_0x1565fa];}var _0x57c2d3=function(_0x5b8fb8){if(this[_0x1a4e('0x389')]=this[_0x1a4e('0x389')]||0x0,this[_0x1a4e('0x389')]>=0x100||_0x3f2c31>=_0x4926d9)window[_0x1a4e('0xec2')]?window['removeEventListener']('mousemove',_0x57c2d3,!0x1):window[_0x1a4e('0xec3')]&&window[_0x1a4e('0xec3')](_0x1a4e('0xec4'),_0x57c2d3);else try{var _0x528761=_0x5b8fb8['x']+_0x5b8fb8['y'];_0x1d35f4[_0x3f2c31++]=0xff&_0x528761,this['count']+=0x1;}catch(_0x1d3d6f){}};window['addEventListener']?window[_0x1a4e('0xec5')](_0x1a4e('0xec6'),_0x57c2d3,!0x1):window[_0x1a4e('0xec7')]&&window['attachEvent'](_0x1a4e('0xec4'),_0x57c2d3);}function _0x40e640(){if(null==_0x2e0a7d){for(_0x2e0a7d=new _0x1dac25();_0x3f2c31<_0x4926d9;){var _0x5b8fb8=Math[_0x1a4e('0xb4')](0x10000*Math[_0x1a4e('0x12e')]());_0x1d35f4[_0x3f2c31++]=0xff&_0x5b8fb8;}for(_0x2e0a7d[_0x1a4e('0x1fd')](_0x1d35f4),_0x3f2c31=0x0;_0x3f2c31<_0x1d35f4[_0x1a4e('0x1e')];++_0x3f2c31)_0x1d35f4[_0x3f2c31]=0x0;_0x3f2c31=0x0;}return _0x2e0a7d[_0x1a4e('0x7e')]();}var _0xea3c08=function(){function _0x5b8fb8(){}return _0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xeb8')]=function(_0x5b8fb8){for(var _0x528761=0x0;_0x528761<_0x5b8fb8[_0x1a4e('0x1e')];++_0x528761)_0x5b8fb8[_0x528761]=_0x40e640();},_0x5b8fb8;}(),_0x4b85e6=function(){function _0x5b8fb8(){this['n']=null,this['e']=0x0,this['d']=null,this['p']=null,this['q']=null,this[_0x1a4e('0xec8')]=null,this['dmq1']=null,this[_0x1a4e('0xec9')]=null;}return _0x5b8fb8['prototype'][_0x1a4e('0xeca')]=function(_0x5b8fb8){return _0x5b8fb8[_0x1a4e('0xecb')](this['e'],this['n']);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xecc')]=function(_0x5b8fb8){if(null==this['p']||null==this['q'])return _0x5b8fb8[_0x1a4e('0xea3')](this['d'],this['n']);for(var _0x528761=_0x5b8fb8[_0x1a4e('0x9d8')](this['p'])[_0x1a4e('0xea3')](this['dmp1'],this['p']),_0x5a417a=_0x5b8fb8['mod'](this['q'])[_0x1a4e('0xea3')](this[_0x1a4e('0xecd')],this['q']);_0x528761['compareTo'](_0x5a417a)<0x0;)_0x528761=_0x528761[_0x1a4e('0x177')](this['p']);return _0x528761[_0x1a4e('0x262')](_0x5a417a)['multiply'](this[_0x1a4e('0xec9')])['mod'](this['p'])[_0x1a4e('0x260')](this['q'])['add'](_0x5a417a);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xece')]=function(_0x5b8fb8,_0x528761){null!=_0x5b8fb8&&null!=_0x528761&&_0x5b8fb8[_0x1a4e('0x1e')]>0x0&&_0x528761[_0x1a4e('0x1e')]>0x0?(this['n']=_0x5e20ea(_0x5b8fb8,0x10),this['e']=parseInt(_0x528761,0x10)):console[_0x1a4e('0x873')](_0x1a4e('0xecf'));},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xa4f')]=function(_0x5b8fb8){var _0x528761=function(_0x5b8fb8,_0x528761){if(_0x528761<_0x5b8fb8['length']+0xb)return console['error'](_0x1a4e('0xed0')),null;for(var _0x5a417a=[],_0x4986c3=_0x5b8fb8[_0x1a4e('0x1e')]-0x1;_0x4986c3>=0x0&&_0x528761>0x0;){var _0x251e41=_0x5b8fb8[_0x1a4e('0x913')](_0x4986c3--);_0x251e41<0x80?_0x5a417a[--_0x528761]=_0x251e41:_0x251e41>0x7f&&_0x251e41<0x800?(_0x5a417a[--_0x528761]=0x3f&_0x251e41|0x80,_0x5a417a[--_0x528761]=_0x251e41>>0x6|0xc0):(_0x5a417a[--_0x528761]=0x3f&_0x251e41|0x80,_0x5a417a[--_0x528761]=_0x251e41>>0x6&0x3f|0x80,_0x5a417a[--_0x528761]=_0x251e41>>0xc|0xe0);}_0x5a417a[--_0x528761]=0x0;for(var _0x4d8a70=new _0xea3c08(),_0x44c0e2=[];_0x528761>0x2;){for(_0x44c0e2[0x0]=0x0;0x0==_0x44c0e2[0x0];)_0x4d8a70[_0x1a4e('0xeb8')](_0x44c0e2);_0x5a417a[--_0x528761]=_0x44c0e2[0x0];}return _0x5a417a[--_0x528761]=0x2,_0x5a417a[--_0x528761]=0x0,new _0x498d97(_0x5a417a);}(_0x5b8fb8,this['n']['bitLength']()+0x7>>0x3);if(null==_0x528761)return null;var _0x5a417a=this[_0x1a4e('0xeca')](_0x528761);if(null==_0x5a417a)return null;var _0x4986c3=_0x5a417a[_0x1a4e('0x95')](0x10);return 0x0==(0x1&_0x4986c3[_0x1a4e('0x1e')])?_0x4986c3:'0'+_0x4986c3;},_0x5b8fb8[_0x1a4e('0xa')]['setPrivate']=function(_0x5b8fb8,_0x528761,_0x5a417a){null!=_0x5b8fb8&&null!=_0x528761&&_0x5b8fb8['length']>0x0&&_0x528761[_0x1a4e('0x1e')]>0x0?(this['n']=_0x5e20ea(_0x5b8fb8,0x10),this['e']=parseInt(_0x528761,0x10),this['d']=_0x5e20ea(_0x5a417a,0x10)):console[_0x1a4e('0x873')](_0x1a4e('0xed1'));},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xed2')]=function(_0x5b8fb8,_0x528761,_0x5a417a,_0x4986c3,_0x251e41,_0x4d8a70,_0x44c0e2,_0x1b4289){null!=_0x5b8fb8&&null!=_0x528761&&_0x5b8fb8['length']>0x0&&_0x528761[_0x1a4e('0x1e')]>0x0?(this['n']=_0x5e20ea(_0x5b8fb8,0x10),this['e']=parseInt(_0x528761,0x10),this['d']=_0x5e20ea(_0x5a417a,0x10),this['p']=_0x5e20ea(_0x4986c3,0x10),this['q']=_0x5e20ea(_0x251e41,0x10),this[_0x1a4e('0xec8')]=_0x5e20ea(_0x4d8a70,0x10),this[_0x1a4e('0xecd')]=_0x5e20ea(_0x44c0e2,0x10),this[_0x1a4e('0xec9')]=_0x5e20ea(_0x1b4289,0x10)):console[_0x1a4e('0x873')]('Invalid\x20RSA\x20private\x20key');},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xa22')]=function(_0x5b8fb8,_0x528761){var _0x5a417a=new _0xea3c08(),_0x4986c3=_0x5b8fb8>>0x1;this['e']=parseInt(_0x528761,0x10);for(var _0x251e41=new _0x498d97(_0x528761,0x10);;){for(;this['p']=new _0x498d97(_0x5b8fb8-_0x4986c3,0x1,_0x5a417a),0x0!=this['p'][_0x1a4e('0x262')](_0x498d97[_0x1a4e('0x25f')])[_0x1a4e('0xea8')](_0x251e41)[_0x1a4e('0x2a7')](_0x498d97[_0x1a4e('0x25f')])||!this['p'][_0x1a4e('0xea9')](0xa););for(;this['q']=new _0x498d97(_0x4986c3,0x1,_0x5a417a),0x0!=this['q'][_0x1a4e('0x262')](_0x498d97['ONE'])[_0x1a4e('0xea8')](_0x251e41)[_0x1a4e('0x2a7')](_0x498d97[_0x1a4e('0x25f')])||!this['q'][_0x1a4e('0xea9')](0xa););if(this['p'][_0x1a4e('0x2a7')](this['q'])<=0x0){var _0x4d8a70=this['p'];this['p']=this['q'],this['q']=_0x4d8a70;}var _0x44c0e2=this['p'][_0x1a4e('0x262')](_0x498d97[_0x1a4e('0x25f')]),_0x1b4289=this['q']['subtract'](_0x498d97[_0x1a4e('0x25f')]),_0x34897a=_0x44c0e2['multiply'](_0x1b4289);if(0x0==_0x34897a['gcd'](_0x251e41)[_0x1a4e('0x2a7')](_0x498d97['ONE'])){this['n']=this['p'][_0x1a4e('0x260')](this['q']),this['d']=_0x251e41[_0x1a4e('0xea6')](_0x34897a),this['dmp1']=this['d'][_0x1a4e('0x9d8')](_0x44c0e2),this[_0x1a4e('0xecd')]=this['d']['mod'](_0x1b4289),this[_0x1a4e('0xec9')]=this['q'][_0x1a4e('0xea6')](this['p']);break;}}},_0x5b8fb8['prototype']['decrypt']=function(_0x5b8fb8){var _0x528761=_0x5e20ea(_0x5b8fb8,0x10),_0x5a417a=this[_0x1a4e('0xecc')](_0x528761);return null==_0x5a417a?null:function(_0x5b8fb8,_0x528761){for(var _0x5a417a=_0x5b8fb8[_0x1a4e('0x929')](),_0x4986c3=0x0;_0x4986c3<_0x5a417a['length']&&0x0==_0x5a417a[_0x4986c3];)++_0x4986c3;if(_0x5a417a[_0x1a4e('0x1e')]-_0x4986c3!=_0x528761-0x1||0x2!=_0x5a417a[_0x4986c3])return null;for(++_0x4986c3;0x0!=_0x5a417a[_0x4986c3];)if(++_0x4986c3>=_0x5a417a['length'])return null;for(var _0x251e41='';++_0x4986c3<_0x5a417a[_0x1a4e('0x1e')];){var _0x4d8a70=0xff&_0x5a417a[_0x4986c3];_0x4d8a70<0x80?_0x251e41+=String[_0x1a4e('0x8fe')](_0x4d8a70):_0x4d8a70>0xbf&&_0x4d8a70<0xe0?(_0x251e41+=String['fromCharCode']((0x1f&_0x4d8a70)<<0x6|0x3f&_0x5a417a[_0x4986c3+0x1]),++_0x4986c3):(_0x251e41+=String[_0x1a4e('0x8fe')]((0xf&_0x4d8a70)<<0xc|(0x3f&_0x5a417a[_0x4986c3+0x1])<<0x6|0x3f&_0x5a417a[_0x4986c3+0x2]),_0x4986c3+=0x2);}return _0x251e41;}(_0x5a417a,this['n'][_0x1a4e('0x9a6')]()+0x7>>0x3);},_0x5b8fb8['prototype'][_0x1a4e('0xed3')]=function(_0x5b8fb8,_0x528761,_0x5a417a){var _0x4986c3=new _0xea3c08(),_0x251e41=_0x5b8fb8>>0x1;this['e']=parseInt(_0x528761,0x10);var _0x4d8a70=new _0x498d97(_0x528761,0x10),_0x44c0e2=this,_0x1b4289=function(){var _0x528761=function(){if(_0x44c0e2['p'][_0x1a4e('0x2a7')](_0x44c0e2['q'])<=0x0){var _0x5b8fb8=_0x44c0e2['p'];_0x44c0e2['p']=_0x44c0e2['q'],_0x44c0e2['q']=_0x5b8fb8;}var _0x528761=_0x44c0e2['p'][_0x1a4e('0x262')](_0x498d97[_0x1a4e('0x25f')]),_0x4986c3=_0x44c0e2['q'][_0x1a4e('0x262')](_0x498d97[_0x1a4e('0x25f')]),_0x251e41=_0x528761[_0x1a4e('0x260')](_0x4986c3);0x0==_0x251e41[_0x1a4e('0xea8')](_0x4d8a70)[_0x1a4e('0x2a7')](_0x498d97[_0x1a4e('0x25f')])?(_0x44c0e2['n']=_0x44c0e2['p'][_0x1a4e('0x260')](_0x44c0e2['q']),_0x44c0e2['d']=_0x4d8a70['modInverse'](_0x251e41),_0x44c0e2[_0x1a4e('0xec8')]=_0x44c0e2['d'][_0x1a4e('0x9d8')](_0x528761),_0x44c0e2['dmq1']=_0x44c0e2['d'][_0x1a4e('0x9d8')](_0x4986c3),_0x44c0e2[_0x1a4e('0xec9')]=_0x44c0e2['q'][_0x1a4e('0xea6')](_0x44c0e2['p']),setTimeout(function(){_0x5a417a();},0x0)):setTimeout(_0x1b4289,0x0);},_0x34897a=function(){_0x44c0e2['q']=_0x198660(),_0x44c0e2['q']['fromNumberAsync'](_0x251e41,0x1,_0x4986c3,function(){_0x44c0e2['q']['subtract'](_0x498d97[_0x1a4e('0x25f')])[_0x1a4e('0xebb')](_0x4d8a70,function(_0x5b8fb8){0x0==_0x5b8fb8[_0x1a4e('0x2a7')](_0x498d97[_0x1a4e('0x25f')])&&_0x44c0e2['q'][_0x1a4e('0xea9')](0xa)?setTimeout(_0x528761,0x0):setTimeout(_0x34897a,0x0);});});},_0x4ab2f8=function(){_0x44c0e2['p']=_0x198660(),_0x44c0e2['p']['fromNumberAsync'](_0x5b8fb8-_0x251e41,0x1,_0x4986c3,function(){_0x44c0e2['p']['subtract'](_0x498d97[_0x1a4e('0x25f')])['gcda'](_0x4d8a70,function(_0x5b8fb8){0x0==_0x5b8fb8['compareTo'](_0x498d97[_0x1a4e('0x25f')])&&_0x44c0e2['p']['isProbablePrime'](0xa)?setTimeout(_0x34897a,0x0):setTimeout(_0x4ab2f8,0x0);});});};setTimeout(_0x4ab2f8,0x0);};setTimeout(_0x1b4289,0x0);},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0x113')]=function(_0x5b8fb8,_0x528761,_0x5a417a){var _0x4986c3=function(_0x5b8fb8){return _0x534d72[_0x5b8fb8]||'';}(_0x5a417a),_0x251e41=_0x4986c3+_0x528761(_0x5b8fb8)[_0x1a4e('0x95')](),_0x4d8a70=function(_0x5b8fb8,_0x528761){if(_0x528761<_0x5b8fb8[_0x1a4e('0x1e')]+0x16)return console[_0x1a4e('0x873')](_0x1a4e('0xed0')),null;for(var _0x5a417a=_0x528761-_0x5b8fb8[_0x1a4e('0x1e')]-0x6,_0x4986c3='',_0x251e41=0x0;_0x251e41<_0x5a417a;_0x251e41+=0x2)_0x4986c3+='ff';return _0x5e20ea(_0x1a4e('0xed4')+_0x4986c3+'00'+_0x5b8fb8,0x10);}(_0x251e41,this['n'][_0x1a4e('0x9a6')]()/0x4);if(null==_0x4d8a70)return null;var _0x44c0e2=this[_0x1a4e('0xecc')](_0x4d8a70);if(null==_0x44c0e2)return null;var _0x1b4289=_0x44c0e2[_0x1a4e('0x95')](0x10);return 0x0==(0x1&_0x1b4289[_0x1a4e('0x1e')])?_0x1b4289:'0'+_0x1b4289;},_0x5b8fb8[_0x1a4e('0xa')][_0x1a4e('0xaaa')]=function(_0x5b8fb8,_0x528761,_0x5a417a){var _0x4986c3=_0x5e20ea(_0x528761,0x10),_0x251e41=this['doPublic'](_0x4986c3);if(null==_0x251e41)return null;var _0x4d8a70=_0x251e41['toString'](0x10)[_0x1a4e('0x115')](/^1f+00/,''),_0x44c0e2=function(_0x5b8fb8){for(var _0x528761 in _0x534d72)if(_0x534d72['hasOwnProperty'](_0x528761)){var _0x5a417a=_0x534d72[_0x528761],_0x4986c3=_0x5a417a[_0x1a4e('0x1e')];if(_0x5b8fb8[_0x1a4e('0x254')](0x0,_0x4986c3)==_0x5a417a)return _0x5b8fb8[_0x1a4e('0x254')](_0x4986c3);}return _0x5b8fb8;}(_0x4d8a70);return _0x44c0e2==_0x5a417a(_0x5b8fb8)[_0x1a4e('0x95')]();},_0x5b8fb8;}(),_0x534d72={'md2':'3020300c06082a864886f70d020205000410','md5':_0x1a4e('0xed5'),'sha1':_0x1a4e('0xed6'),'sha224':'302d300d06096086480165030402040500041c','sha256':'3031300d060960864801650304020105000420','sha384':_0x1a4e('0xed7'),'sha512':_0x1a4e('0xed8'),'ripemd160':_0x1a4e('0xed9')},_0x7ff17b={};_0x7ff17b['lang']={'extend':function(_0x5b8fb8,_0x528761,_0x5a417a){if(!_0x528761||!_0x5b8fb8)throw new Error(_0x1a4e('0xeda'));var _0x4986c3=function(){};if(_0x4986c3[_0x1a4e('0xa')]=_0x528761[_0x1a4e('0xa')],_0x5b8fb8[_0x1a4e('0xa')]=new _0x4986c3(),_0x5b8fb8['prototype'][_0x1a4e('0x10')]=_0x5b8fb8,_0x5b8fb8[_0x1a4e('0xedb')]=_0x528761[_0x1a4e('0xa')],_0x528761['prototype'][_0x1a4e('0x10')]==Object['prototype'][_0x1a4e('0x10')]&&(_0x528761[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x528761),_0x5a417a){var _0x251e41;for(_0x251e41 in _0x5a417a)_0x5b8fb8[_0x1a4e('0xa')][_0x251e41]=_0x5a417a[_0x251e41];var _0x4d8a70=function(){},_0x44c0e2=[_0x1a4e('0x95'),_0x1a4e('0x263')];try{/MSIE/['test'](navigator[_0x1a4e('0xe37')])&&(_0x4d8a70=function(_0x5b8fb8,_0x528761){for(_0x251e41=0x0;_0x251e41<_0x44c0e2[_0x1a4e('0x1e')];_0x251e41+=0x1){var _0x5a417a=_0x44c0e2[_0x251e41],_0x4986c3=_0x528761[_0x5a417a];_0x1a4e('0x68')==typeof _0x4986c3&&_0x4986c3!=Object[_0x1a4e('0xa')][_0x5a417a]&&(_0x5b8fb8[_0x5a417a]=_0x4986c3);}});}catch(_0x5c4164){}_0x4d8a70(_0x5b8fb8['prototype'],_0x5a417a);}}};var _0x106732={};void 0x0!==_0x106732['asn1']&&_0x106732[_0x1a4e('0xedc')]||(_0x106732[_0x1a4e('0xedc')]={}),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xedd')]=new function(){this['integerToByteHex']=function(_0x5b8fb8){var _0x528761=_0x5b8fb8['toString'](0x10);return _0x528761[_0x1a4e('0x1e')]%0x2==0x1&&(_0x528761='0'+_0x528761),_0x528761;},this[_0x1a4e('0xede')]=function(_0x5b8fb8){var _0x528761=_0x5b8fb8[_0x1a4e('0x95')](0x10);if('-'!=_0x528761[_0x1a4e('0x254')](0x0,0x1))_0x528761[_0x1a4e('0x1e')]%0x2==0x1?_0x528761='0'+_0x528761:_0x528761[_0x1a4e('0x909')](/^[0-7]/)||(_0x528761='00'+_0x528761);else{var _0x5a417a=_0x528761[_0x1a4e('0x254')](0x1),_0x4986c3=_0x5a417a[_0x1a4e('0x1e')];_0x4986c3%0x2==0x1?_0x4986c3+=0x1:_0x528761[_0x1a4e('0x909')](/^[0-7]/)||(_0x4986c3+=0x2);for(var _0x251e41='',_0x4d8a70=0x0;_0x4d8a70<_0x4986c3;_0x4d8a70++)_0x251e41+='f';var _0x44c0e2=new _0x498d97(_0x251e41,0x10),_0x1b4289=_0x44c0e2[_0x1a4e('0x9b5')](_0x5b8fb8)[_0x1a4e('0x177')](_0x498d97[_0x1a4e('0x25f')]);_0x528761=_0x1b4289[_0x1a4e('0x95')](0x10)['replace'](/^-/,'');}return _0x528761;},this['getPEMStringFromHex']=function(_0x5b8fb8,_0x528761){return hextopem(_0x5b8fb8,_0x528761);},this[_0x1a4e('0xedf')]=function(_0x5b8fb8){var _0x528761=_0x106732,_0x5a417a=_0x528761[_0x1a4e('0xedc')],_0x4986c3=_0x5a417a[_0x1a4e('0xee0')],_0x251e41=_0x5a417a[_0x1a4e('0xee1')],_0x4d8a70=_0x5a417a['DERBitString'],_0x44c0e2=_0x5a417a[_0x1a4e('0xee2')],_0x1b4289=_0x5a417a['DERNull'],_0x34897a=_0x5a417a[_0x1a4e('0xee3')],_0x4ab2f8=_0x5a417a['DEREnumerated'],_0x1b851c=_0x5a417a[_0x1a4e('0xee4')],_0x15d922=_0x5a417a[_0x1a4e('0xee5')],_0x23f17f=_0x5a417a['DERPrintableString'],_0x3022ee=_0x5a417a['DERTeletexString'],_0x3bd9d1=_0x5a417a['DERIA5String'],_0x3e4923=_0x5a417a[_0x1a4e('0xee6')],_0x3d6fdc=_0x5a417a[_0x1a4e('0xee7')],_0x2aef95=_0x5a417a['DERSequence'],_0x56299d=_0x5a417a['DERSet'],_0x4441cd=_0x5a417a['DERTaggedObject'],_0x29a123=_0x5a417a[_0x1a4e('0xedd')][_0x1a4e('0xedf')],_0x292877=Object[_0x1a4e('0x56')](_0x5b8fb8);if(0x1!=_0x292877['length'])throw _0x1a4e('0xee8');var _0x1f8268=_0x292877[0x0];if(-0x1==_0x1a4e('0xee9')[_0x1a4e('0x3e')](':'+_0x1f8268+':'))throw'undefined\x20key:\x20'+_0x1f8268;if(_0x1a4e('0x887')==_0x1f8268)return new _0x4986c3(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0x88a')==_0x1f8268)return new _0x251e41(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0x8e8')==_0x1f8268)return new _0x4d8a70(_0x5b8fb8[_0x1f8268]);if('octstr'==_0x1f8268)return new _0x44c0e2(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0xe7f')==_0x1f8268)return new _0x1b4289(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0xeea')==_0x1f8268)return new _0x34897a(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0x889')==_0x1f8268)return new _0x4ab2f8(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0x894')==_0x1f8268)return new _0x1b851c(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0x890')==_0x1f8268)return new _0x15d922(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0xeeb')==_0x1f8268)return new _0x23f17f(_0x5b8fb8[_0x1f8268]);if('telstr'==_0x1f8268)return new _0x3022ee(_0x5b8fb8[_0x1f8268]);if('ia5str'==_0x1f8268)return new _0x3bd9d1(_0x5b8fb8[_0x1f8268]);if('utctime'==_0x1f8268)return new _0x3e4923(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0x888')==_0x1f8268)return new _0x3d6fdc(_0x5b8fb8[_0x1f8268]);if(_0x1a4e('0x884')==_0x1f8268){for(var _0x227488=_0x5b8fb8[_0x1f8268],_0x11839d=[],_0xd83d13=0x0;_0xd83d13<_0x227488[_0x1a4e('0x1e')];_0xd83d13++){var _0x2b01eb=_0x29a123(_0x227488[_0xd83d13]);_0x11839d[_0x1a4e('0x46')](_0x2b01eb);}return new _0x2aef95({'array':_0x11839d});}if('set'==_0x1f8268){for(var _0x227488=_0x5b8fb8[_0x1f8268],_0x11839d=[],_0xd83d13=0x0;_0xd83d13<_0x227488[_0x1a4e('0x1e')];_0xd83d13++){var _0x2b01eb=_0x29a123(_0x227488[_0xd83d13]);_0x11839d[_0x1a4e('0x46')](_0x2b01eb);}return new _0x56299d({'array':_0x11839d});}if('tag'==_0x1f8268){var _0x1bff11=_0x5b8fb8[_0x1f8268];if(_0x1a4e('0xb17')===Object['prototype']['toString'][_0x1a4e('0x1')](_0x1bff11)&&0x3==_0x1bff11[_0x1a4e('0x1e')]){var _0x11f94d=_0x29a123(_0x1bff11[0x2]);return new _0x4441cd({'tag':_0x1bff11[0x0],'explicit':_0x1bff11[0x1],'obj':_0x11f94d});}var _0x498d97={};if(void 0x0!==_0x1bff11[_0x1a4e('0x897')]&&(_0x498d97[_0x1a4e('0x897')]=_0x1bff11[_0x1a4e('0x897')]),void 0x0!==_0x1bff11[_0x1a4e('0x7ba')]&&(_0x498d97[_0x1a4e('0x7ba')]=_0x1bff11[_0x1a4e('0x7ba')]),void 0x0===_0x1bff11[_0x1a4e('0x89f')])throw _0x1a4e('0xeec');return _0x498d97[_0x1a4e('0x89f')]=_0x29a123(_0x1bff11['obj']),new _0x4441cd(_0x498d97);}},this[_0x1a4e('0xeed')]=function(_0x5b8fb8){var _0x528761=this['newObject'](_0x5b8fb8);return _0x528761[_0x1a4e('0xeee')]();};}(),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xedd')][_0x1a4e('0xeef')]=function(_0x5b8fb8){for(var _0x528761='',_0x5a417a=parseInt(_0x5b8fb8[_0x1a4e('0x254')](0x0,0x2),0x10),_0x4986c3=Math[_0x1a4e('0xb4')](_0x5a417a/0x28),_0x251e41=_0x5a417a%0x28,_0x528761=_0x4986c3+'.'+_0x251e41,_0x4d8a70='',_0x44c0e2=0x2;_0x44c0e2<_0x5b8fb8[_0x1a4e('0x1e')];_0x44c0e2+=0x2){var _0x1b4289=parseInt(_0x5b8fb8['substr'](_0x44c0e2,0x2),0x10),_0x34897a=(_0x1a4e('0x98c')+_0x1b4289['toString'](0x2))['slice'](-0x8);if(_0x4d8a70+=_0x34897a[_0x1a4e('0x254')](0x1,0x7),'0'==_0x34897a['substr'](0x0,0x1)){var _0x4ab2f8=new _0x498d97(_0x4d8a70,0x2);_0x528761=_0x528761+'.'+_0x4ab2f8['toString'](0xa),_0x4d8a70='';}}return _0x528761;},_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xedd')][_0x1a4e('0xef0')]=function(_0x5b8fb8){var _0x528761=function(_0x5b8fb8){var _0x528761=_0x5b8fb8[_0x1a4e('0x95')](0x10);return 0x1==_0x528761['length']&&(_0x528761='0'+_0x528761),_0x528761;},_0x5a417a=function(_0x5b8fb8){var _0x5a417a='',_0x4986c3=new _0x498d97(_0x5b8fb8,0xa),_0x251e41=_0x4986c3[_0x1a4e('0x95')](0x2),_0x4d8a70=0x7-_0x251e41['length']%0x7;0x7==_0x4d8a70&&(_0x4d8a70=0x0);for(var _0x44c0e2='',_0x1b4289=0x0;_0x1b4289<_0x4d8a70;_0x1b4289++)_0x44c0e2+='0';_0x251e41=_0x44c0e2+_0x251e41;for(var _0x1b4289=0x0;_0x1b4289<_0x251e41[_0x1a4e('0x1e')]-0x1;_0x1b4289+=0x7){var _0x34897a=_0x251e41[_0x1a4e('0x254')](_0x1b4289,0x7);_0x1b4289!=_0x251e41[_0x1a4e('0x1e')]-0x7&&(_0x34897a='1'+_0x34897a),_0x5a417a+=_0x528761(parseInt(_0x34897a,0x2));}return _0x5a417a;};if(!_0x5b8fb8[_0x1a4e('0x909')](/^[0-9.]+$/))throw _0x1a4e('0xef1')+_0x5b8fb8;var _0x4986c3='',_0x251e41=_0x5b8fb8[_0x1a4e('0x2be')]('.'),_0x4d8a70=0x28*parseInt(_0x251e41[0x0])+parseInt(_0x251e41[0x1]);_0x4986c3+=_0x528761(_0x4d8a70),_0x251e41[_0x1a4e('0x8a')](0x0,0x2);for(var _0x44c0e2=0x0;_0x44c0e2<_0x251e41[_0x1a4e('0x1e')];_0x44c0e2++)_0x4986c3+=_0x5a417a(_0x251e41[_0x44c0e2]);return _0x4986c3;},_0x106732[_0x1a4e('0xedc')]['ASN1Object']=function(){this[_0x1a4e('0xef2')]=function(){if(void 0x0===this['hV']||null==this['hV'])throw'this.hV\x20is\x20null\x20or\x20undefined.';if(this['hV'][_0x1a4e('0x1e')]%0x2==0x1)throw _0x1a4e('0xef3')+''[_0x1a4e('0x1e')]+_0x1a4e('0xef4')+this['hV'];var _0x5b8fb8=this['hV'][_0x1a4e('0x1e')]/0x2,_0x528761=_0x5b8fb8[_0x1a4e('0x95')](0x10);if(_0x528761[_0x1a4e('0x1e')]%0x2==0x1&&(_0x528761='0'+_0x528761),_0x5b8fb8<0x80)return _0x528761;var _0x5a417a=_0x528761[_0x1a4e('0x1e')]/0x2;if(_0x5a417a>0xf)throw _0x1a4e('0xef5')+_0x5b8fb8[_0x1a4e('0x95')](0x10);var _0x4986c3=0x80+_0x5a417a;return _0x4986c3['toString'](0x10)+_0x528761;},this[_0x1a4e('0xeee')]=function(){return(null==this['hTLV']||this[_0x1a4e('0xef6')])&&(this['hV']=this[_0x1a4e('0xef7')](),this['hL']=this[_0x1a4e('0xef2')](),this[_0x1a4e('0xef8')]=this['hT']+this['hL']+this['hV'],this[_0x1a4e('0xef6')]=!0x1),this[_0x1a4e('0xef8')];},this[_0x1a4e('0xef9')]=function(){return this[_0x1a4e('0xeee')](),this['hV'];},this['getFreshValueHex']=function(){return'';};},_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xefa')]=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')]['DERAbstractString'][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this),this[_0x1a4e('0xefb')]=function(){return this['s'];},this[_0x1a4e('0xefc')]=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this[_0x1a4e('0xef6')]=!0x0,this['s']=_0x5b8fb8,this['hV']=stohex(this['s']);},this[_0x1a4e('0xefd')]=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this[_0x1a4e('0xef6')]=!0x0,this['s']=null,this['hV']=_0x5b8fb8;},this[_0x1a4e('0xef7')]=function(){return this['hV'];},void 0x0!==_0x5b8fb8&&('string'==typeof _0x5b8fb8?this[_0x1a4e('0xefc')](_0x5b8fb8):void 0x0!==_0x5b8fb8[_0x1a4e('0x251')]?this['setString'](_0x5b8fb8[_0x1a4e('0x251')]):void 0x0!==_0x5b8fb8[_0x1a4e('0x823')]&&this['setStringHex'](_0x5b8fb8[_0x1a4e('0x823')]));},_0x7ff17b[_0x1a4e('0xefe')][_0x1a4e('0xeff')](_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xefa')],_0x106732[_0x1a4e('0xedc')]['ASN1Object']),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf00')]=function(_0x5b8fb8){_0x106732['asn1'][_0x1a4e('0xf00')][_0x1a4e('0xedb')]['constructor'][_0x1a4e('0x1')](this),this[_0x1a4e('0xf01')]=function(_0x5b8fb8){utc=_0x5b8fb8[_0x1a4e('0xe9')]()+0xea60*_0x5b8fb8[_0x1a4e('0xf02')]();var _0x528761=new Date(utc);return _0x528761;},this[_0x1a4e('0xf03')]=function(_0x5b8fb8,_0x528761,_0x5a417a){var _0x4986c3=this[_0x1a4e('0xf04')],_0x251e41=this[_0x1a4e('0xf01')](_0x5b8fb8),_0x4d8a70=String(_0x251e41[_0x1a4e('0x91d')]());_0x1a4e('0xf05')==_0x528761&&(_0x4d8a70=_0x4d8a70[_0x1a4e('0x254')](0x2,0x2));var _0x44c0e2=_0x4986c3(String(_0x251e41[_0x1a4e('0xf06')]()+0x1),0x2),_0x1b4289=_0x4986c3(String(_0x251e41['getDate']()),0x2),_0x34897a=_0x4986c3(String(_0x251e41[_0x1a4e('0xf07')]()),0x2),_0x4ab2f8=_0x4986c3(String(_0x251e41[_0x1a4e('0xf08')]()),0x2),_0x1b851c=_0x4986c3(String(_0x251e41[_0x1a4e('0xf09')]()),0x2),_0x15d922=_0x4d8a70+_0x44c0e2+_0x1b4289+_0x34897a+_0x4ab2f8+_0x1b851c;if(!0x0===_0x5a417a){var _0x23f17f=_0x251e41[_0x1a4e('0xf0a')]();if(0x0!=_0x23f17f){var _0x3022ee=_0x4986c3(String(_0x23f17f),0x3);_0x3022ee=_0x3022ee[_0x1a4e('0x115')](/[0]+$/,''),_0x15d922=_0x15d922+'.'+_0x3022ee;}}return _0x15d922+'Z';},this[_0x1a4e('0xf04')]=function(_0x5b8fb8,_0x528761){return _0x5b8fb8[_0x1a4e('0x1e')]>=_0x528761?_0x5b8fb8:new Array(_0x528761-_0x5b8fb8[_0x1a4e('0x1e')]+0x1)[_0x1a4e('0x9e')]('0')+_0x5b8fb8;},this[_0x1a4e('0xefb')]=function(){return this['s'];},this['setString']=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this[_0x1a4e('0xef6')]=!0x0,this['s']=_0x5b8fb8,this['hV']=stohex(_0x5b8fb8);},this[_0x1a4e('0xf0b')]=function(_0x5b8fb8,_0x528761,_0x5a417a,_0x4986c3,_0x251e41,_0x4d8a70){var _0x44c0e2=new Date(Date['UTC'](_0x5b8fb8,_0x528761-0x1,_0x5a417a,_0x4986c3,_0x251e41,_0x4d8a70,0x0));this[_0x1a4e('0xf0c')](_0x44c0e2);},this[_0x1a4e('0xef7')]=function(){return this['hV'];};},_0x7ff17b['lang']['extend'](_0x106732['asn1'][_0x1a4e('0xf00')],_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf0d')]),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf0e')]=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xefa')][_0x1a4e('0xedb')]['constructor'][_0x1a4e('0x1')](this),this[_0x1a4e('0xf0f')]=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this[_0x1a4e('0xef6')]=!0x0,this[_0x1a4e('0xf10')]=_0x5b8fb8;},this[_0x1a4e('0xf11')]=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this['isModified']=!0x0,this[_0x1a4e('0xf10')][_0x1a4e('0x46')](_0x5b8fb8);},this[_0x1a4e('0xf10')]=new Array(),void 0x0!==_0x5b8fb8&&void 0x0!==_0x5b8fb8[_0x1a4e('0xf12')]&&(this[_0x1a4e('0xf10')]=_0x5b8fb8['array']);},_0x7ff17b['lang'][_0x1a4e('0xeff')](_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf0e')],_0x106732['asn1'][_0x1a4e('0xf0d')]),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xee0')]=function(){_0x106732[_0x1a4e('0xedc')]['DERBoolean']['superclass'][_0x1a4e('0x10')][_0x1a4e('0x1')](this),this['hT']='01',this[_0x1a4e('0xef8')]='0101ff';},_0x7ff17b[_0x1a4e('0xefe')][_0x1a4e('0xeff')](_0x106732['asn1'][_0x1a4e('0xee0')],_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf0d')]),_0x106732[_0x1a4e('0xedc')]['DERInteger']=function(_0x5b8fb8){_0x106732['asn1'][_0x1a4e('0xee1')]['superclass']['constructor'][_0x1a4e('0x1')](this),this['hT']='02',this[_0x1a4e('0xf13')]=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this[_0x1a4e('0xef6')]=!0x0,this['hV']=_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xedd')][_0x1a4e('0xede')](_0x5b8fb8);},this[_0x1a4e('0xf14')]=function(_0x5b8fb8){var _0x528761=new _0x498d97(String(_0x5b8fb8),0xa);this[_0x1a4e('0xf13')](_0x528761);},this[_0x1a4e('0xf15')]=function(_0x5b8fb8){this['hV']=_0x5b8fb8;},this[_0x1a4e('0xef7')]=function(){return this['hV'];},void 0x0!==_0x5b8fb8&&(void 0x0!==_0x5b8fb8['bigint']?this[_0x1a4e('0xf13')](_0x5b8fb8[_0x1a4e('0xf16')]):void 0x0!==_0x5b8fb8[_0x1a4e('0x88a')]?this[_0x1a4e('0xf14')](_0x5b8fb8['int']):_0x1a4e('0x3d')==typeof _0x5b8fb8?this[_0x1a4e('0xf14')](_0x5b8fb8):void 0x0!==_0x5b8fb8[_0x1a4e('0x823')]&&this[_0x1a4e('0xf15')](_0x5b8fb8['hex']));},_0x7ff17b['lang'][_0x1a4e('0xeff')](_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xee1')],_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf0d')]),_0x106732[_0x1a4e('0xedc')]['DERBitString']=function(_0x5b8fb8){if(void 0x0!==_0x5b8fb8&&void 0x0!==_0x5b8fb8[_0x1a4e('0x89f')]){var _0x528761=_0x106732[_0x1a4e('0xedc')]['ASN1Util'][_0x1a4e('0xedf')](_0x5b8fb8[_0x1a4e('0x89f')]);_0x5b8fb8['hex']='00'+_0x528761[_0x1a4e('0xeee')]();}_0x106732['asn1']['DERBitString'][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this),this['hT']='03',this['setHexValueIncludingUnusedBits']=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this[_0x1a4e('0xef6')]=!0x0,this['hV']=_0x5b8fb8;},this[_0x1a4e('0xf17')]=function(_0x5b8fb8,_0x528761){if(_0x5b8fb8<0x0||0x7<_0x5b8fb8)throw _0x1a4e('0xf18')+_0x5b8fb8;var _0x5a417a='0'+_0x5b8fb8;this['hTLV']=null,this[_0x1a4e('0xef6')]=!0x0,this['hV']=_0x5a417a+_0x528761;},this[_0x1a4e('0xf19')]=function(_0x5b8fb8){var _0x528761=0x8-(_0x5b8fb8=_0x5b8fb8['replace'](/0+$/,''))[_0x1a4e('0x1e')]%0x8;0x8==_0x528761&&(_0x528761=0x0);for(var _0x5a417a=0x0;_0x5a417a<=_0x528761;_0x5a417a++)_0x5b8fb8+='0';for(var _0x4986c3='',_0x5a417a=0x0;_0x5a417a<_0x5b8fb8[_0x1a4e('0x1e')]-0x1;_0x5a417a+=0x8){var _0x251e41=_0x5b8fb8[_0x1a4e('0x254')](_0x5a417a,0x8),_0x4d8a70=parseInt(_0x251e41,0x2)[_0x1a4e('0x95')](0x10);0x1==_0x4d8a70[_0x1a4e('0x1e')]&&(_0x4d8a70='0'+_0x4d8a70),_0x4986c3+=_0x4d8a70;}this[_0x1a4e('0xef8')]=null,this['isModified']=!0x0,this['hV']='0'+_0x528761+_0x4986c3;},this['setByBooleanArray']=function(_0x5b8fb8){for(var _0x528761='',_0x5a417a=0x0;_0x5a417a<_0x5b8fb8[_0x1a4e('0x1e')];_0x5a417a++)0x1==_0x5b8fb8[_0x5a417a]?_0x528761+='1':_0x528761+='0';this[_0x1a4e('0xf19')](_0x528761);},this[_0x1a4e('0xf1a')]=function(_0x5b8fb8){for(var _0x528761=new Array(_0x5b8fb8),_0x5a417a=0x0;_0x5a417a<_0x5b8fb8;_0x5a417a++)_0x528761[_0x5a417a]=!0x1;return _0x528761;},this[_0x1a4e('0xef7')]=function(){return this['hV'];},void 0x0!==_0x5b8fb8&&(_0x1a4e('0x9')==typeof _0x5b8fb8&&_0x5b8fb8[_0x1a4e('0x2b2')]()[_0x1a4e('0x909')](/^[0-9a-f]+$/)?this['setHexValueIncludingUnusedBits'](_0x5b8fb8):void 0x0!==_0x5b8fb8[_0x1a4e('0x823')]?this[_0x1a4e('0xf1b')](_0x5b8fb8[_0x1a4e('0x823')]):void 0x0!==_0x5b8fb8[_0x1a4e('0xf1c')]?this[_0x1a4e('0xf19')](_0x5b8fb8['bin']):void 0x0!==_0x5b8fb8[_0x1a4e('0xf12')]&&this['setByBooleanArray'](_0x5b8fb8['array']));},_0x7ff17b[_0x1a4e('0xefe')][_0x1a4e('0xeff')](_0x106732['asn1'][_0x1a4e('0xf1d')],_0x106732['asn1'][_0x1a4e('0xf0d')]),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xee2')]=function(_0x5b8fb8){if(void 0x0!==_0x5b8fb8&&void 0x0!==_0x5b8fb8[_0x1a4e('0x89f')]){var _0x528761=_0x106732['asn1'][_0x1a4e('0xedd')][_0x1a4e('0xedf')](_0x5b8fb8[_0x1a4e('0x89f')]);_0x5b8fb8[_0x1a4e('0x823')]=_0x528761[_0x1a4e('0xeee')]();}_0x106732[_0x1a4e('0xedc')]['DEROctetString']['superclass'][_0x1a4e('0x10')][_0x1a4e('0x1')](this,_0x5b8fb8),this['hT']='04';},_0x7ff17b['lang'][_0x1a4e('0xeff')](_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xee2')],_0x106732[_0x1a4e('0xedc')]['DERAbstractString']),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf1e')]=function(){_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf1e')][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this),this['hT']='05',this[_0x1a4e('0xef8')]=_0x1a4e('0xf1f');},_0x7ff17b[_0x1a4e('0xefe')][_0x1a4e('0xeff')](_0x106732['asn1'][_0x1a4e('0xf1e')],_0x106732['asn1'][_0x1a4e('0xf0d')]),_0x106732['asn1'][_0x1a4e('0xee3')]=function(_0x5b8fb8){var _0x528761=function(_0x5b8fb8){var _0x528761=_0x5b8fb8[_0x1a4e('0x95')](0x10);return 0x1==_0x528761[_0x1a4e('0x1e')]&&(_0x528761='0'+_0x528761),_0x528761;},_0x5a417a=function(_0x5b8fb8){var _0x5a417a='',_0x4986c3=new _0x498d97(_0x5b8fb8,0xa),_0x251e41=_0x4986c3[_0x1a4e('0x95')](0x2),_0x4d8a70=0x7-_0x251e41[_0x1a4e('0x1e')]%0x7;0x7==_0x4d8a70&&(_0x4d8a70=0x0);for(var _0x44c0e2='',_0x1b4289=0x0;_0x1b4289<_0x4d8a70;_0x1b4289++)_0x44c0e2+='0';_0x251e41=_0x44c0e2+_0x251e41;for(var _0x1b4289=0x0;_0x1b4289<_0x251e41['length']-0x1;_0x1b4289+=0x7){var _0x34897a=_0x251e41[_0x1a4e('0x254')](_0x1b4289,0x7);_0x1b4289!=_0x251e41[_0x1a4e('0x1e')]-0x7&&(_0x34897a='1'+_0x34897a),_0x5a417a+=_0x528761(parseInt(_0x34897a,0x2));}return _0x5a417a;};_0x106732['asn1'][_0x1a4e('0xee3')][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this),this['hT']='06',this['setValueHex']=function(_0x5b8fb8){this['hTLV']=null,this[_0x1a4e('0xef6')]=!0x0,this['s']=null,this['hV']=_0x5b8fb8;},this[_0x1a4e('0xf20')]=function(_0x5b8fb8){if(!_0x5b8fb8[_0x1a4e('0x909')](/^[0-9.]+$/))throw _0x1a4e('0xef1')+_0x5b8fb8;var _0x4986c3='',_0x251e41=_0x5b8fb8['split']('.'),_0x4d8a70=0x28*parseInt(_0x251e41[0x0])+parseInt(_0x251e41[0x1]);_0x4986c3+=_0x528761(_0x4d8a70),_0x251e41[_0x1a4e('0x8a')](0x0,0x2);for(var _0x44c0e2=0x0;_0x44c0e2<_0x251e41[_0x1a4e('0x1e')];_0x44c0e2++)_0x4986c3+=_0x5a417a(_0x251e41[_0x44c0e2]);this['hTLV']=null,this[_0x1a4e('0xef6')]=!0x0,this['s']=null,this['hV']=_0x4986c3;},this['setValueName']=function(_0x5b8fb8){var _0x528761=_0x106732[_0x1a4e('0xedc')]['x509']['OID']['name2oid'](_0x5b8fb8);if(''===_0x528761)throw _0x1a4e('0xf21')+_0x5b8fb8;this[_0x1a4e('0xf20')](_0x528761);},this[_0x1a4e('0xef7')]=function(){return this['hV'];},void 0x0!==_0x5b8fb8&&(_0x1a4e('0x9')==typeof _0x5b8fb8?_0x5b8fb8[_0x1a4e('0x909')](/^[0-2].[0-9.]+$/)?this[_0x1a4e('0xf20')](_0x5b8fb8):this[_0x1a4e('0xf22')](_0x5b8fb8):void 0x0!==_0x5b8fb8[_0x1a4e('0xeea')]?this[_0x1a4e('0xf20')](_0x5b8fb8['oid']):void 0x0!==_0x5b8fb8['hex']?this['setValueHex'](_0x5b8fb8[_0x1a4e('0x823')]):void 0x0!==_0x5b8fb8[_0x1a4e('0x2cb')]&&this[_0x1a4e('0xf22')](_0x5b8fb8[_0x1a4e('0x2cb')]));},_0x7ff17b[_0x1a4e('0xefe')]['extend'](_0x106732['asn1'][_0x1a4e('0xee3')],_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf0d')]),_0x106732['asn1'][_0x1a4e('0xf23')]=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf23')][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this),this['hT']='0a',this[_0x1a4e('0xf13')]=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this[_0x1a4e('0xef6')]=!0x0,this['hV']=_0x106732['asn1'][_0x1a4e('0xedd')][_0x1a4e('0xede')](_0x5b8fb8);},this[_0x1a4e('0xf14')]=function(_0x5b8fb8){var _0x528761=new _0x498d97(String(_0x5b8fb8),0xa);this[_0x1a4e('0xf13')](_0x528761);},this[_0x1a4e('0xf15')]=function(_0x5b8fb8){this['hV']=_0x5b8fb8;},this[_0x1a4e('0xef7')]=function(){return this['hV'];},void 0x0!==_0x5b8fb8&&(void 0x0!==_0x5b8fb8[_0x1a4e('0x88a')]?this[_0x1a4e('0xf14')](_0x5b8fb8[_0x1a4e('0x88a')]):_0x1a4e('0x3d')==typeof _0x5b8fb8?this[_0x1a4e('0xf14')](_0x5b8fb8):void 0x0!==_0x5b8fb8[_0x1a4e('0x823')]&&this[_0x1a4e('0xf15')](_0x5b8fb8[_0x1a4e('0x823')]));},_0x7ff17b[_0x1a4e('0xefe')][_0x1a4e('0xeff')](_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf23')],_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf0d')]),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xee4')]=function(_0x5b8fb8){_0x106732['asn1'][_0x1a4e('0xee4')][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this,_0x5b8fb8),this['hT']='0c';},_0x7ff17b[_0x1a4e('0xefe')][_0x1a4e('0xeff')](_0x106732[_0x1a4e('0xedc')]['DERUTF8String'],_0x106732[_0x1a4e('0xedc')]['DERAbstractString']),_0x106732[_0x1a4e('0xedc')]['DERNumericString']=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xee5')]['superclass'][_0x1a4e('0x10')][_0x1a4e('0x1')](this,_0x5b8fb8),this['hT']='12';},_0x7ff17b[_0x1a4e('0xefe')][_0x1a4e('0xeff')](_0x106732['asn1']['DERNumericString'],_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xefa')]),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf24')]=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')]['DERPrintableString'][_0x1a4e('0xedb')]['constructor'][_0x1a4e('0x1')](this,_0x5b8fb8),this['hT']='13';},_0x7ff17b[_0x1a4e('0xefe')][_0x1a4e('0xeff')](_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf24')],_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xefa')]),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf25')]=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')]['DERTeletexString'][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this,_0x5b8fb8),this['hT']='14';},_0x7ff17b[_0x1a4e('0xefe')]['extend'](_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf25')],_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xefa')]),_0x106732['asn1']['DERIA5String']=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf26')][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this,_0x5b8fb8),this['hT']='16';},_0x7ff17b['lang'][_0x1a4e('0xeff')](_0x106732['asn1'][_0x1a4e('0xf26')],_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xefa')]),_0x106732[_0x1a4e('0xedc')]['DERUTCTime']=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')]['DERUTCTime'][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this,_0x5b8fb8),this['hT']='17',this['setByDate']=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this[_0x1a4e('0xef6')]=!0x0,this[_0x1a4e('0xf27')]=_0x5b8fb8,this['s']=this[_0x1a4e('0xf03')](this[_0x1a4e('0xf27')],_0x1a4e('0xf05')),this['hV']=stohex(this['s']);},this[_0x1a4e('0xef7')]=function(){return void 0x0===this['date']&&void 0x0===this['s']&&(this[_0x1a4e('0xf27')]=new Date(),this['s']=this['formatDate'](this['date'],'utc'),this['hV']=stohex(this['s'])),this['hV'];},void 0x0!==_0x5b8fb8&&(void 0x0!==_0x5b8fb8[_0x1a4e('0x251')]?this[_0x1a4e('0xefc')](_0x5b8fb8['str']):_0x1a4e('0x9')==typeof _0x5b8fb8&&_0x5b8fb8[_0x1a4e('0x909')](/^[0-9]{12}Z$/)?this['setString'](_0x5b8fb8):void 0x0!==_0x5b8fb8['hex']?this['setStringHex'](_0x5b8fb8[_0x1a4e('0x823')]):void 0x0!==_0x5b8fb8[_0x1a4e('0xf27')]&&this[_0x1a4e('0xf0c')](_0x5b8fb8[_0x1a4e('0xf27')]));},_0x7ff17b[_0x1a4e('0xefe')][_0x1a4e('0xeff')](_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xee6')],_0x106732[_0x1a4e('0xedc')]['DERAbstractTime']),_0x106732[_0x1a4e('0xedc')]['DERGeneralizedTime']=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xee7')][_0x1a4e('0xedb')][_0x1a4e('0x10')]['call'](this,_0x5b8fb8),this['hT']='18',this[_0x1a4e('0xf28')]=!0x1,this[_0x1a4e('0xf0c')]=function(_0x5b8fb8){this[_0x1a4e('0xef8')]=null,this['isModified']=!0x0,this[_0x1a4e('0xf27')]=_0x5b8fb8,this['s']=this[_0x1a4e('0xf03')](this['date'],_0x1a4e('0xf29'),this[_0x1a4e('0xf28')]),this['hV']=stohex(this['s']);},this['getFreshValueHex']=function(){return void 0x0===this[_0x1a4e('0xf27')]&&void 0x0===this['s']&&(this[_0x1a4e('0xf27')]=new Date(),this['s']=this[_0x1a4e('0xf03')](this[_0x1a4e('0xf27')],_0x1a4e('0xf29'),this[_0x1a4e('0xf28')]),this['hV']=stohex(this['s'])),this['hV'];},void 0x0!==_0x5b8fb8&&(void 0x0!==_0x5b8fb8['str']?this[_0x1a4e('0xefc')](_0x5b8fb8[_0x1a4e('0x251')]):_0x1a4e('0x9')==typeof _0x5b8fb8&&_0x5b8fb8[_0x1a4e('0x909')](/^[0-9]{14}Z$/)?this[_0x1a4e('0xefc')](_0x5b8fb8):void 0x0!==_0x5b8fb8[_0x1a4e('0x823')]?this[_0x1a4e('0xefd')](_0x5b8fb8[_0x1a4e('0x823')]):void 0x0!==_0x5b8fb8['date']&&this['setByDate'](_0x5b8fb8[_0x1a4e('0xf27')]),!0x0===_0x5b8fb8[_0x1a4e('0xf2a')]&&(this[_0x1a4e('0xf28')]=!0x0));},_0x7ff17b['lang'][_0x1a4e('0xeff')](_0x106732[_0x1a4e('0xedc')]['DERGeneralizedTime'],_0x106732[_0x1a4e('0xedc')]['DERAbstractTime']),_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf2b')]=function(_0x5b8fb8){_0x106732[_0x1a4e('0xedc')][_0x1a4e('0xf2b')][_0x1a4e('0xedb')][_0x1a4e('0x10')][_0x1a4e('0x1')](this,_0x5b8fb8),this['hT']='30',this[_0x1a4e('0xef7')]=function(){for(var _0x5b8fb8='',_0x528761=0x0;_0x5287610x0&&_0x19a915(_0x896cc3)?_0x2d03d6>0x1?_0x4799f9(_0x896cc3,_0x2d03d6-0x1,_0x19a915,_0x463d90,_0x2c500b):_0x234735(_0x2c500b,_0x896cc3):_0x463d90||(_0x2c500b[_0x2c500b[_0x1a4e('0x1e')]]=_0x896cc3);}return _0x2c500b;};},'./node_modules/lodash/_baseFor.js':function(_0x137d8f,_0x215874,_0x188526){var _0xc8416c=_0x188526(_0x1a4e('0xf8a'))();_0x137d8f[_0x1a4e('0x0')]=_0xc8416c;},'./node_modules/lodash/_baseGetAllKeys.js':function(_0x25ae87,_0x4ed821,_0x841464){var _0x3c3f41=_0x841464(_0x1a4e('0xf88')),_0x97b2a1=_0x841464(_0x1a4e('0xf5e'));_0x25ae87[_0x1a4e('0x0')]=function(_0x25ae87,_0x4ed821,_0x841464){var _0x905028=_0x4ed821(_0x25ae87);return _0x97b2a1(_0x25ae87)?_0x905028:_0x3c3f41(_0x905028,_0x841464(_0x25ae87));};},'./node_modules/lodash/_baseGetTag.js':function(_0x13d928,_0x4cfeaa,_0xd77e4){var _0x2b5b9b=_0xd77e4(_0x1a4e('0xf8b')),_0x515cda=_0xd77e4(_0x1a4e('0xf8c')),_0x1b5992=_0xd77e4(_0x1a4e('0xf8d')),_0x5a25a2=_0x1a4e('0xf8e'),_0x4cfec3=_0x1a4e('0xf8f'),_0x5d51b3=_0x2b5b9b?_0x2b5b9b[_0x1a4e('0x4')]:void 0x0;_0x13d928[_0x1a4e('0x0')]=function(_0x13d928){return null==_0x13d928?void 0x0===_0x13d928?_0x4cfec3:_0x5a25a2:_0x5d51b3&&_0x5d51b3 in Object(_0x13d928)?_0x515cda(_0x13d928):_0x1b5992(_0x13d928);};},'./node_modules/lodash/_baseIsArguments.js':function(_0x30ff02,_0x27951b,_0xf9647b){var _0x3162b6=_0xf9647b('./node_modules/lodash/_baseGetTag.js'),_0x400e59=_0xf9647b(_0x1a4e('0xf90')),_0xf193f3=_0x1a4e('0xe8');_0x30ff02['exports']=function(_0x30ff02){return _0x400e59(_0x30ff02)&&_0x3162b6(_0x30ff02)==_0xf193f3;};},'./node_modules/lodash/_baseIsMap.js':function(_0x6c582a,_0x58f3b7,_0x4d5e56){var _0x117b5a=_0x4d5e56(_0x1a4e('0xf71')),_0x5cd836=_0x4d5e56(_0x1a4e('0xf90')),_0x4144cc=_0x1a4e('0xf7f');_0x6c582a[_0x1a4e('0x0')]=function(_0x6c582a){return _0x5cd836(_0x6c582a)&&_0x117b5a(_0x6c582a)==_0x4144cc;};},'./node_modules/lodash/_baseIsNative.js':function(_0x111e39,_0x144b08,_0x533246){var _0x36d395=_0x533246(_0x1a4e('0xf91')),_0x2d493d=_0x533246('./node_modules/lodash/_isMasked.js'),_0x19763c=_0x533246(_0x1a4e('0xf87')),_0x312762=_0x533246('./node_modules/lodash/_toSource.js'),_0x14247f=/^\[object .+?Constructor\]$/,_0x4af2b4=Function['prototype'],_0x204019=Object['prototype'],_0x59946e=_0x4af2b4[_0x1a4e('0x95')],_0x587051=_0x204019[_0x1a4e('0xb')],_0x3f3912=RegExp('^'+_0x59946e[_0x1a4e('0x1')](_0x587051)[_0x1a4e('0x115')](/[\\^$.*+?()[\]{}|]/g,_0x1a4e('0xf92'))[_0x1a4e('0x115')](/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,'$1.*?')+'$');_0x111e39[_0x1a4e('0x0')]=function(_0x111e39){return!(!_0x19763c(_0x111e39)||_0x2d493d(_0x111e39))&&(_0x36d395(_0x111e39)?_0x3f3912:_0x14247f)[_0x1a4e('0x8d0')](_0x312762(_0x111e39));};},'./node_modules/lodash/_baseIsSet.js':function(_0x21a3b4,_0x27a4f4,_0x569e5d){var _0x470f17=_0x569e5d(_0x1a4e('0xf71')),_0x4e7e4e=_0x569e5d(_0x1a4e('0xf90')),_0x430f0d=_0x1a4e('0xf93');_0x21a3b4[_0x1a4e('0x0')]=function(_0x21a3b4){return _0x4e7e4e(_0x21a3b4)&&_0x470f17(_0x21a3b4)==_0x430f0d;};},'./node_modules/lodash/_baseIsTypedArray.js':function(_0x12a25c,_0x290d62,_0x1124a4){var _0x1bf9f7=_0x1124a4(_0x1a4e('0xf94')),_0x41182a=_0x1124a4(_0x1a4e('0xf95')),_0x30ed5c=_0x1124a4(_0x1a4e('0xf90')),_0x69fb79={};_0x69fb79[_0x1a4e('0xf96')]=_0x69fb79[_0x1a4e('0xf7b')]=_0x69fb79[_0x1a4e('0xf7c')]=_0x69fb79[_0x1a4e('0xf7d')]=_0x69fb79[_0x1a4e('0xf7e')]=_0x69fb79[_0x1a4e('0xf83')]=_0x69fb79[_0x1a4e('0xf97')]=_0x69fb79['[object\x20Uint16Array]']=_0x69fb79[_0x1a4e('0xf84')]=!0x0,_0x69fb79[_0x1a4e('0xe8')]=_0x69fb79[_0x1a4e('0xb17')]=_0x69fb79[_0x1a4e('0xf79')]=_0x69fb79['[object\x20Boolean]']=_0x69fb79[_0x1a4e('0xf7a')]=_0x69fb79[_0x1a4e('0xb20')]=_0x69fb79['[object\x20Error]']=_0x69fb79[_0x1a4e('0xf76')]=_0x69fb79['[object\x20Map]']=_0x69fb79[_0x1a4e('0xf80')]=_0x69fb79['[object\x20Object]']=_0x69fb79[_0x1a4e('0xb1e')]=_0x69fb79[_0x1a4e('0xf93')]=_0x69fb79['[object\x20String]']=_0x69fb79[_0x1a4e('0xf86')]=!0x1,_0x12a25c[_0x1a4e('0x0')]=function(_0x12a25c){return _0x30ed5c(_0x12a25c)&&_0x41182a(_0x12a25c[_0x1a4e('0x1e')])&&!!_0x69fb79[_0x1bf9f7(_0x12a25c)];};},'./node_modules/lodash/_baseKeys.js':function(_0x501015,_0x187739,_0x29cbf5){var _0x6ed15a=_0x29cbf5('./node_modules/lodash/_isPrototype.js'),_0xeb91c9=_0x29cbf5(_0x1a4e('0xf98')),_0x30443e=Object['prototype'][_0x1a4e('0xb')];_0x501015[_0x1a4e('0x0')]=function(_0x501015){if(!_0x6ed15a(_0x501015))return _0xeb91c9(_0x501015);var _0x187739=[];for(var _0x29cbf5 in Object(_0x501015))_0x30443e[_0x1a4e('0x1')](_0x501015,_0x29cbf5)&&_0x1a4e('0x10')!=_0x29cbf5&&_0x187739[_0x1a4e('0x46')](_0x29cbf5);return _0x187739;};},'./node_modules/lodash/_baseKeysIn.js':function(_0x281331,_0x4cd657,_0x4153fc){var _0x8a351c=_0x4153fc('./node_modules/lodash/isObject.js'),_0xef0690=_0x4153fc('./node_modules/lodash/_isPrototype.js'),_0x484d83=_0x4153fc(_0x1a4e('0xf99')),_0x14876f=Object[_0x1a4e('0xa')]['hasOwnProperty'];_0x281331[_0x1a4e('0x0')]=function(_0x281331){if(!_0x8a351c(_0x281331))return _0x484d83(_0x281331);var _0x4cd657=_0xef0690(_0x281331),_0x4153fc=[];for(var _0x48c6df in _0x281331)(_0x1a4e('0x10')!=_0x48c6df||!_0x4cd657&&_0x14876f[_0x1a4e('0x1')](_0x281331,_0x48c6df))&&_0x4153fc[_0x1a4e('0x46')](_0x48c6df);return _0x4153fc;};},'./node_modules/lodash/_baseMerge.js':function(_0x29d97e,_0x22b561,_0x2a9a8d){var _0x3a8796=_0x2a9a8d(_0x1a4e('0xf68')),_0x11d312=_0x2a9a8d('./node_modules/lodash/_assignMergeValue.js'),_0x40a05a=_0x2a9a8d('./node_modules/lodash/_baseFor.js'),_0x5b72ab=_0x2a9a8d(_0x1a4e('0xf9a')),_0x3ff70c=_0x2a9a8d(_0x1a4e('0xf87')),_0x42bd99=_0x2a9a8d('./node_modules/lodash/keysIn.js'),_0x5d3cf0=_0x2a9a8d(_0x1a4e('0xf9b'));_0x29d97e[_0x1a4e('0x0')]=function _0x29d97e(_0x22b561,_0x2a9a8d,_0x1d17ac,_0x5cc5f0,_0x379d41){_0x22b561!==_0x2a9a8d&&_0x40a05a(_0x2a9a8d,function(_0x40a05a,_0x42bd99){if(_0x3ff70c(_0x40a05a))_0x379d41||(_0x379d41=new _0x3a8796()),_0x5b72ab(_0x22b561,_0x2a9a8d,_0x42bd99,_0x1d17ac,_0x29d97e,_0x5cc5f0,_0x379d41);else{var _0x231315=_0x5cc5f0?_0x5cc5f0(_0x5d3cf0(_0x22b561,_0x42bd99),_0x40a05a,_0x42bd99+'',_0x22b561,_0x2a9a8d,_0x379d41):void 0x0;void 0x0===_0x231315&&(_0x231315=_0x40a05a),_0x11d312(_0x22b561,_0x42bd99,_0x231315);}},_0x42bd99);};},'./node_modules/lodash/_baseMergeDeep.js':function(_0x89089f,_0x33e8ae,_0x10e6d1){var _0x125ed0=_0x10e6d1('./node_modules/lodash/_assignMergeValue.js'),_0xcac0dd=_0x10e6d1('./node_modules/lodash/_cloneBuffer.js'),_0x1871e0=_0x10e6d1(_0x1a4e('0xf9c')),_0x21bc8b=_0x10e6d1('./node_modules/lodash/_copyArray.js'),_0x477778=_0x10e6d1(_0x1a4e('0xf9d')),_0x486868=_0x10e6d1(_0x1a4e('0xf5d')),_0xcf11f8=_0x10e6d1('./node_modules/lodash/isArray.js'),_0x2a5d13=_0x10e6d1(_0x1a4e('0xf9e')),_0x258c2a=_0x10e6d1(_0x1a4e('0xf5f')),_0xcb1750=_0x10e6d1(_0x1a4e('0xf91')),_0x47ea3f=_0x10e6d1('./node_modules/lodash/isObject.js'),_0x5c139a=_0x10e6d1(_0x1a4e('0xf9f')),_0x155637=_0x10e6d1(_0x1a4e('0xfa0')),_0x21996e=_0x10e6d1('./node_modules/lodash/_safeGet.js'),_0x868208=_0x10e6d1(_0x1a4e('0xfa1'));_0x89089f['exports']=function(_0x89089f,_0x33e8ae,_0x10e6d1,_0x38fcb9,_0x210fcf,_0x1b3434,_0x3eda6d){var _0x4009d2=_0x21996e(_0x89089f,_0x10e6d1),_0x2f2b0e=_0x21996e(_0x33e8ae,_0x10e6d1),_0x4f7ed8=_0x3eda6d[_0x1a4e('0x179')](_0x2f2b0e);if(_0x4f7ed8)_0x125ed0(_0x89089f,_0x10e6d1,_0x4f7ed8);else{var _0x2a420d=_0x1b3434?_0x1b3434(_0x4009d2,_0x2f2b0e,_0x10e6d1+'',_0x89089f,_0x33e8ae,_0x3eda6d):void 0x0,_0x3403a1=void 0x0===_0x2a420d;if(_0x3403a1){var _0x2b1f48=_0xcf11f8(_0x2f2b0e),_0xc16192=!_0x2b1f48&&_0x258c2a(_0x2f2b0e),_0x4e0184=!_0x2b1f48&&!_0xc16192&&_0x155637(_0x2f2b0e);_0x2a420d=_0x2f2b0e,_0x2b1f48||_0xc16192||_0x4e0184?_0xcf11f8(_0x4009d2)?_0x2a420d=_0x4009d2:_0x2a5d13(_0x4009d2)?_0x2a420d=_0x21bc8b(_0x4009d2):_0xc16192?(_0x3403a1=!0x1,_0x2a420d=_0xcac0dd(_0x2f2b0e,!0x0)):_0x4e0184?(_0x3403a1=!0x1,_0x2a420d=_0x1871e0(_0x2f2b0e,!0x0)):_0x2a420d=[]:_0x5c139a(_0x2f2b0e)||_0x486868(_0x2f2b0e)?(_0x2a420d=_0x4009d2,_0x486868(_0x4009d2)?_0x2a420d=_0x868208(_0x4009d2):_0x47ea3f(_0x4009d2)&&!_0xcb1750(_0x4009d2)||(_0x2a420d=_0x477778(_0x2f2b0e))):_0x3403a1=!0x1;}_0x3403a1&&(_0x3eda6d['set'](_0x2f2b0e,_0x2a420d),_0x210fcf(_0x2a420d,_0x2f2b0e,_0x38fcb9,_0x1b3434,_0x3eda6d),_0x3eda6d[_0x1a4e('0xf4c')](_0x2f2b0e)),_0x125ed0(_0x89089f,_0x10e6d1,_0x2a420d);}};},'./node_modules/lodash/_basePropertyOf.js':function(_0x351a2b,_0x5896c7){_0x351a2b[_0x1a4e('0x0')]=function(_0x351a2b){return function(_0x5896c7){return null==_0x351a2b?void 0x0:_0x351a2b[_0x5896c7];};};},'./node_modules/lodash/_baseRest.js':function(_0x5c5f9e,_0x2250e0,_0x2b97a2){var _0x5b545e=_0x2b97a2(_0x1a4e('0xfa2')),_0x63ceb3=_0x2b97a2(_0x1a4e('0xfa3')),_0x4029d1=_0x2b97a2(_0x1a4e('0xfa4'));_0x5c5f9e[_0x1a4e('0x0')]=function(_0x5c5f9e,_0x2250e0){return _0x4029d1(_0x63ceb3(_0x5c5f9e,_0x2250e0,_0x5b545e),_0x5c5f9e+'');};},'./node_modules/lodash/_baseSetToString.js':function(_0x4a0f97,_0x2652ed,_0x5ddac2){var _0x46313d=_0x5ddac2(_0x1a4e('0xfa5')),_0x223f8f=_0x5ddac2(_0x1a4e('0xf67')),_0x47dec2=_0x5ddac2(_0x1a4e('0xfa2')),_0x47e788=_0x223f8f?function(_0x4a0f97,_0x2652ed){return _0x223f8f(_0x4a0f97,'toString',{'configurable':!0x0,'enumerable':!0x1,'value':_0x46313d(_0x2652ed),'writable':!0x0});}:_0x47dec2;_0x4a0f97['exports']=_0x47e788;},'./node_modules/lodash/_baseTimes.js':function(_0x5ede47,_0xe1f578){_0x5ede47['exports']=function(_0x5ede47,_0xe1f578){for(var _0x4f5549=-0x1,_0xa779c9=Array(_0x5ede47);++_0x4f5549<_0x5ede47;)_0xa779c9[_0x4f5549]=_0xe1f578(_0x4f5549);return _0xa779c9;};},'./node_modules/lodash/_baseToString.js':function(_0x3fd56f,_0x1c165e,_0x45d7e9){var _0x2a7d79=_0x45d7e9('./node_modules/lodash/_Symbol.js'),_0x125fd3=_0x45d7e9(_0x1a4e('0xfa6')),_0x46ae48=_0x45d7e9(_0x1a4e('0xf5e')),_0x2a68d5=_0x45d7e9(_0x1a4e('0xfa7')),_0x34b56f=0x1/0x0,_0x46a2d1=_0x2a7d79?_0x2a7d79[_0x1a4e('0xa')]:void 0x0,_0x13edf2=_0x46a2d1?_0x46a2d1[_0x1a4e('0x95')]:void 0x0;_0x3fd56f[_0x1a4e('0x0')]=function _0x3fd56f(_0x1c165e){if(_0x1a4e('0x9')==typeof _0x1c165e)return _0x1c165e;if(_0x46ae48(_0x1c165e))return _0x125fd3(_0x1c165e,_0x3fd56f)+'';if(_0x2a68d5(_0x1c165e))return _0x13edf2?_0x13edf2[_0x1a4e('0x1')](_0x1c165e):'';var _0x45d7e9=_0x1c165e+'';return'0'==_0x45d7e9&&0x1/_0x1c165e==-_0x34b56f?'-0':_0x45d7e9;};},'./node_modules/lodash/_baseUnary.js':function(_0x6fb1d6,_0x51bfd3){_0x6fb1d6['exports']=function(_0x6fb1d6){return function(_0x51bfd3){return _0x6fb1d6(_0x51bfd3);};};},'./node_modules/lodash/_cloneArrayBuffer.js':function(_0x415a7a,_0x11aef5,_0x38a433){var _0x2385b3=_0x38a433('./node_modules/lodash/_Uint8Array.js');_0x415a7a[_0x1a4e('0x0')]=function(_0x415a7a){var _0x11aef5=new _0x415a7a[(_0x1a4e('0x10'))](_0x415a7a['byteLength']);return new _0x2385b3(_0x11aef5)['set'](new _0x2385b3(_0x415a7a)),_0x11aef5;};},'./node_modules/lodash/_cloneBuffer.js':function(_0x261de9,_0x3c92d9,_0xef6098){(function(_0x261de9){var _0x26e63d=_0xef6098(_0x1a4e('0xf45')),_0x5b1ff7=_0x3c92d9&&!_0x3c92d9[_0x1a4e('0xfa8')]&&_0x3c92d9,_0x354ced=_0x5b1ff7&&_0x1a4e('0x85')==typeof _0x261de9&&_0x261de9&&!_0x261de9[_0x1a4e('0xfa8')]&&_0x261de9,_0x36fed9=_0x354ced&&_0x354ced['exports']===_0x5b1ff7?_0x26e63d[_0x1a4e('0x870')]:void 0x0,_0x3faf0=_0x36fed9?_0x36fed9['allocUnsafe']:void 0x0;_0x261de9[_0x1a4e('0x0')]=function(_0x261de9,_0x3c92d9){if(_0x3c92d9)return _0x261de9[_0x1a4e('0x78')]();var _0xef6098=_0x261de9[_0x1a4e('0x1e')],_0x26e63d=_0x3faf0?_0x3faf0(_0xef6098):new _0x261de9[(_0x1a4e('0x10'))](_0xef6098);return _0x261de9[_0x1a4e('0xea')](_0x26e63d),_0x26e63d;};}[_0x1a4e('0x1')](this,_0xef6098(_0x1a4e('0xa20'))(_0x261de9)));},'./node_modules/lodash/_cloneDataView.js':function(_0x44fc66,_0x375dd9,_0x2408bd){var _0xb0e7da=_0x2408bd(_0x1a4e('0xfa9'));_0x44fc66[_0x1a4e('0x0')]=function(_0x44fc66,_0x375dd9){var _0x2408bd=_0x375dd9?_0xb0e7da(_0x44fc66[_0x1a4e('0x613')]):_0x44fc66['buffer'];return new _0x44fc66[(_0x1a4e('0x10'))](_0x2408bd,_0x44fc66[_0x1a4e('0xf61')],_0x44fc66[_0x1a4e('0x876')]);};},'./node_modules/lodash/_cloneRegExp.js':function(_0x4e2813,_0x35f659){var _0xa34f29=/\w*$/;_0x4e2813[_0x1a4e('0x0')]=function(_0x4e2813){var _0x35f659=new _0x4e2813[(_0x1a4e('0x10'))](_0x4e2813[_0x1a4e('0xfaa')],_0xa34f29[_0x1a4e('0x2af')](_0x4e2813));return _0x35f659[_0x1a4e('0xfab')]=_0x4e2813['lastIndex'],_0x35f659;};},'./node_modules/lodash/_cloneSymbol.js':function(_0x2b4b81,_0x2b6868,_0xecfa5e){var _0x1bd7be=_0xecfa5e(_0x1a4e('0xf8b')),_0x2ce70b=_0x1bd7be?_0x1bd7be['prototype']:void 0x0,_0x3b32dd=_0x2ce70b?_0x2ce70b[_0x1a4e('0x263')]:void 0x0;_0x2b4b81[_0x1a4e('0x0')]=function(_0x2b4b81){return _0x3b32dd?Object(_0x3b32dd[_0x1a4e('0x1')](_0x2b4b81)):{};};},'./node_modules/lodash/_cloneTypedArray.js':function(_0x439937,_0x2c4dc1,_0x1f691e){var _0x3305b4=_0x1f691e(_0x1a4e('0xfa9'));_0x439937[_0x1a4e('0x0')]=function(_0x439937,_0x2c4dc1){var _0x1f691e=_0x2c4dc1?_0x3305b4(_0x439937[_0x1a4e('0x613')]):_0x439937[_0x1a4e('0x613')];return new _0x439937[(_0x1a4e('0x10'))](_0x1f691e,_0x439937[_0x1a4e('0xf61')],_0x439937['length']);};},'./node_modules/lodash/_copyArray.js':function(_0x3965ae,_0x590969){_0x3965ae[_0x1a4e('0x0')]=function(_0x3965ae,_0x590969){var _0x4847e3=-0x1,_0x2f59f6=_0x3965ae[_0x1a4e('0x1e')];for(_0x590969||(_0x590969=Array(_0x2f59f6));++_0x4847e3<_0x2f59f6;)_0x590969[_0x4847e3]=_0x3965ae[_0x4847e3];return _0x590969;};},'./node_modules/lodash/_copyObject.js':function(_0x4bbf01,_0x238d17,_0x430d43){var _0x27a298=_0x430d43(_0x1a4e('0xf6a')),_0x3bf850=_0x430d43('./node_modules/lodash/_baseAssignValue.js');_0x4bbf01[_0x1a4e('0x0')]=function(_0x4bbf01,_0x238d17,_0x430d43,_0x279d18){var _0x39d60f=!_0x430d43;_0x430d43||(_0x430d43={});for(var _0x4e832f=-0x1,_0x622b1b=_0x238d17['length'];++_0x4e832f<_0x622b1b;){var _0x2b6da6=_0x238d17[_0x4e832f],_0x4b075c=_0x279d18?_0x279d18(_0x430d43[_0x2b6da6],_0x4bbf01[_0x2b6da6],_0x2b6da6,_0x430d43,_0x4bbf01):void 0x0;void 0x0===_0x4b075c&&(_0x4b075c=_0x4bbf01[_0x2b6da6]),_0x39d60f?_0x3bf850(_0x430d43,_0x2b6da6,_0x4b075c):_0x27a298(_0x430d43,_0x2b6da6,_0x4b075c);}return _0x430d43;};},'./node_modules/lodash/_copySymbols.js':function(_0x578a28,_0x2aa7ba,_0x2069db){var _0x30d041=_0x2069db(_0x1a4e('0xf65')),_0x3c23f8=_0x2069db('./node_modules/lodash/_getSymbols.js');_0x578a28[_0x1a4e('0x0')]=function(_0x578a28,_0x2aa7ba){return _0x30d041(_0x578a28,_0x3c23f8(_0x578a28),_0x2aa7ba);};},'./node_modules/lodash/_copySymbolsIn.js':function(_0xdf8f5f,_0x9b6621,_0x51c367){var _0x43c6dd=_0x51c367('./node_modules/lodash/_copyObject.js'),_0x39359d=_0x51c367(_0x1a4e('0xfac'));_0xdf8f5f[_0x1a4e('0x0')]=function(_0xdf8f5f,_0x9b6621){return _0x43c6dd(_0xdf8f5f,_0x39359d(_0xdf8f5f),_0x9b6621);};},'./node_modules/lodash/_coreJsData.js':function(_0x44d3eb,_0x433c26,_0x140fb1){var _0x4298ae=_0x140fb1('./node_modules/lodash/_root.js')[_0x1a4e('0xfad')];_0x44d3eb[_0x1a4e('0x0')]=_0x4298ae;},'./node_modules/lodash/_createAssigner.js':function(_0x38347c,_0x335982,_0x344055){var _0x2f15c1=_0x344055(_0x1a4e('0xfae')),_0x303a9f=_0x344055(_0x1a4e('0xfaf'));_0x38347c[_0x1a4e('0x0')]=function(_0x38347c){return _0x2f15c1(function(_0x335982,_0x344055){var _0x2f15c1=-0x1,_0x575f35=_0x344055['length'],_0x108294=_0x575f35>0x1?_0x344055[_0x575f35-0x1]:void 0x0,_0x227b68=_0x575f35>0x2?_0x344055[0x2]:void 0x0;for(_0x108294=_0x38347c[_0x1a4e('0x1e')]>0x3&&_0x1a4e('0x68')==typeof _0x108294?(_0x575f35--,_0x108294):void 0x0,_0x227b68&&_0x303a9f(_0x344055[0x0],_0x344055[0x1],_0x227b68)&&(_0x108294=_0x575f35<0x3?void 0x0:_0x108294,_0x575f35=0x1),_0x335982=Object(_0x335982);++_0x2f15c1<_0x575f35;){var _0x39dd82=_0x344055[_0x2f15c1];_0x39dd82&&_0x38347c(_0x335982,_0x39dd82,_0x2f15c1,_0x108294);}return _0x335982;});};},'./node_modules/lodash/_createBaseFor.js':function(_0x22597c,_0x52d7d1){_0x22597c['exports']=function(_0x22597c){return function(_0x52d7d1,_0x26ca42,_0x436134){for(var _0x4f637d=-0x1,_0x7709b1=Object(_0x52d7d1),_0x123325=_0x436134(_0x52d7d1),_0x45add3=_0x123325[_0x1a4e('0x1e')];_0x45add3--;){var _0x32f977=_0x123325[_0x22597c?_0x45add3:++_0x4f637d];if(!0x1===_0x26ca42(_0x7709b1[_0x32f977],_0x32f977,_0x7709b1))break;}return _0x52d7d1;};};},'./node_modules/lodash/_createCompounder.js':function(_0x297ef1,_0x31b870,_0x541d0e){var _0x2f57bc=_0x541d0e(_0x1a4e('0xfb0')),_0x4f3fff=_0x541d0e(_0x1a4e('0xfb1')),_0x1c45d6=_0x541d0e(_0x1a4e('0xfb2')),_0x385752=RegExp(_0x1a4e('0xfb3'),'g');_0x297ef1['exports']=function(_0x297ef1){return function(_0x31b870){return _0x2f57bc(_0x1c45d6(_0x4f3fff(_0x31b870)[_0x1a4e('0x115')](_0x385752,'')),_0x297ef1,'');};};},'./node_modules/lodash/_deburrLetter.js':function(_0x157ae2,_0x87c4a,_0x10d4c9){var _0x4c95f7=_0x10d4c9(_0x1a4e('0xfb4'))({'À':'A','Á':'A','Â':'A','Ã':'A','Ä':'A','Å':'A','à':'a','á':'a','â':'a','ã':'a','ä':'a','å':'a','Ç':'C','ç':'c','Ð':'D','ð':'d','È':'E','É':'E','Ê':'E','Ë':'E','è':'e','é':'e','ê':'e','ë':'e','Ì':'I','Í':'I','Î':'I','Ï':'I','ì':'i','í':'i','î':'i','ï':'i','Ñ':'N','ñ':'n','Ò':'O','Ó':'O','Ô':'O','Õ':'O','Ö':'O','Ø':'O','ò':'o','ó':'o','ô':'o','õ':'o','ö':'o','ø':'o','Ù':'U','Ú':'U','Û':'U','Ü':'U','ù':'u','ú':'u','û':'u','ü':'u','Ý':'Y','ý':'y','ÿ':'y','Æ':'Ae','æ':'ae','Þ':'Th','þ':'th','ß':'ss','Ā':'A','Ă':'A','Ą':'A','ā':'a','ă':'a','ą':'a','Ć':'C','Ĉ':'C','Ċ':'C','Č':'C','ć':'c','ĉ':'c','ċ':'c','č':'c','Ď':'D','Đ':'D','ď':'d','đ':'d','Ē':'E','Ĕ':'E','Ė':'E','Ę':'E','Ě':'E','ē':'e','ĕ':'e','ė':'e','ę':'e','ě':'e','Ĝ':'G','Ğ':'G','Ġ':'G','Ģ':'G','ĝ':'g','ğ':'g','ġ':'g','ģ':'g','Ĥ':'H','Ħ':'H','ĥ':'h','ħ':'h','Ĩ':'I','Ī':'I','Ĭ':'I','Į':'I','İ':'I','ĩ':'i','ī':'i','ĭ':'i','į':'i','ı':'i','Ĵ':'J','ĵ':'j','Ķ':'K','ķ':'k','ĸ':'k','Ĺ':'L','Ļ':'L','Ľ':'L','Ŀ':'L','Ł':'L','ĺ':'l','ļ':'l','ľ':'l','ŀ':'l','ł':'l','Ń':'N','Ņ':'N','Ň':'N','Ŋ':'N','ń':'n','ņ':'n','ň':'n','ŋ':'n','Ō':'O','Ŏ':'O','Ő':'O','ō':'o','ŏ':'o','ő':'o','Ŕ':'R','Ŗ':'R','Ř':'R','ŕ':'r','ŗ':'r','ř':'r','Ś':'S','Ŝ':'S','Ş':'S','Š':'S','ś':'s','ŝ':'s','ş':'s','š':'s','Ţ':'T','Ť':'T','Ŧ':'T','ţ':'t','ť':'t','ŧ':'t','Ũ':'U','Ū':'U','Ŭ':'U','Ů':'U','Ű':'U','Ų':'U','ũ':'u','ū':'u','ŭ':'u','ů':'u','ű':'u','ų':'u','Ŵ':'W','ŵ':'w','Ŷ':'Y','ŷ':'y','Ÿ':'Y','Ź':'Z','Ż':'Z','Ž':'Z','ź':'z','ż':'z','ž':'z','IJ':'IJ','ij':'ij','Œ':'Oe','œ':'oe','ʼn':'\x27n','ſ':'s'});_0x157ae2[_0x1a4e('0x0')]=_0x4c95f7;},'./node_modules/lodash/_defineProperty.js':function(_0x3e5306,_0x454ced,_0x3c2466){var _0xaac336=_0x3c2466('./node_modules/lodash/_getNative.js'),_0x33d79c=function(){try{var _0x3e5306=_0xaac336(Object,_0x1a4e('0x2'));return _0x3e5306({},'',{}),_0x3e5306;}catch(_0x386218){}}();_0x3e5306['exports']=_0x33d79c;},'./node_modules/lodash/_freeGlobal.js':function(_0x4ddc1b,_0x5b3bae,_0x478e08){(function(_0x5b3bae){var _0x478e08=_0x1a4e('0x85')==typeof _0x5b3bae&&_0x5b3bae&&_0x5b3bae[_0x1a4e('0xfb5')]===Object&&_0x5b3bae;_0x4ddc1b[_0x1a4e('0x0')]=_0x478e08;}[_0x1a4e('0x1')](this,_0x478e08(_0x1a4e('0xb07'))));},'./node_modules/lodash/_getAllKeys.js':function(_0x4207d0,_0x597145,_0x1e5180){var _0x22a11c=_0x1e5180(_0x1a4e('0xfb6')),_0x7a2aa8=_0x1e5180('./node_modules/lodash/_getSymbols.js'),_0x1b2546=_0x1e5180(_0x1a4e('0xf64'));_0x4207d0['exports']=function(_0x4207d0){return _0x22a11c(_0x4207d0,_0x1b2546,_0x7a2aa8);};},'./node_modules/lodash/_getAllKeysIn.js':function(_0x3f03bf,_0x297330,_0x347877){var _0x557a0f=_0x347877(_0x1a4e('0xfb6')),_0x18052e=_0x347877(_0x1a4e('0xfac')),_0x2df7ba=_0x347877(_0x1a4e('0xf66'));_0x3f03bf[_0x1a4e('0x0')]=function(_0x3f03bf){return _0x557a0f(_0x3f03bf,_0x2df7ba,_0x18052e);};},'./node_modules/lodash/_getMapData.js':function(_0x15890e,_0x53a8b0,_0x474d2c){var _0x1c9de1=_0x474d2c(_0x1a4e('0xfb7'));_0x15890e[_0x1a4e('0x0')]=function(_0x15890e,_0x53a8b0){var _0x474d2c=_0x15890e[_0x1a4e('0xfb8')];return _0x1c9de1(_0x53a8b0)?_0x474d2c[_0x1a4e('0x9')==typeof _0x53a8b0?'string':_0x1a4e('0xaa4')]:_0x474d2c[_0x1a4e('0x21')];};},'./node_modules/lodash/_getNative.js':function(_0x2ebe8a,_0x5a548e,_0xd17e52){var _0xcc16ad=_0xd17e52(_0x1a4e('0xfb9')),_0x17a0ec=_0xd17e52('./node_modules/lodash/_getValue.js');_0x2ebe8a[_0x1a4e('0x0')]=function(_0x2ebe8a,_0x5a548e){var _0xd17e52=_0x17a0ec(_0x2ebe8a,_0x5a548e);return _0xcc16ad(_0xd17e52)?_0xd17e52:void 0x0;};},'./node_modules/lodash/_getPrototype.js':function(_0x50b216,_0x36d64f,_0x125ba4){var _0x29fa16=_0x125ba4('./node_modules/lodash/_overArg.js')(Object[_0x1a4e('0xd98')],Object);_0x50b216[_0x1a4e('0x0')]=_0x29fa16;},'./node_modules/lodash/_getRawTag.js':function(_0x419c64,_0x5583f5,_0x31f4e2){var _0x1e5500=_0x31f4e2(_0x1a4e('0xf8b')),_0x50d968=Object[_0x1a4e('0xa')],_0x9cc29a=_0x50d968[_0x1a4e('0xb')],_0x5b667f=_0x50d968[_0x1a4e('0x95')],_0x48d9c5=_0x1e5500?_0x1e5500[_0x1a4e('0x4')]:void 0x0;_0x419c64[_0x1a4e('0x0')]=function(_0x419c64){var _0x5583f5=_0x9cc29a['call'](_0x419c64,_0x48d9c5),_0x31f4e2=_0x419c64[_0x48d9c5];try{_0x419c64[_0x48d9c5]=void 0x0;var _0x1e5500=!0x0;}catch(_0x388608){}var _0x50d968=_0x5b667f[_0x1a4e('0x1')](_0x419c64);return _0x1e5500&&(_0x5583f5?_0x419c64[_0x48d9c5]=_0x31f4e2:delete _0x419c64[_0x48d9c5]),_0x50d968;};},'./node_modules/lodash/_getSymbols.js':function(_0x5363fd,_0x130c10,_0xdd8bd5){var _0x2d0d9a=_0xdd8bd5(_0x1a4e('0xfba')),_0x566e07=_0xdd8bd5('./node_modules/lodash/stubArray.js'),_0x3f758f=Object[_0x1a4e('0xa')][_0x1a4e('0xfbb')],_0x4e4cd3=Object[_0x1a4e('0xd85')],_0x28fafc=_0x4e4cd3?function(_0x5363fd){return null==_0x5363fd?[]:(_0x5363fd=Object(_0x5363fd),_0x2d0d9a(_0x4e4cd3(_0x5363fd),function(_0x130c10){return _0x3f758f[_0x1a4e('0x1')](_0x5363fd,_0x130c10);}));}:_0x566e07;_0x5363fd[_0x1a4e('0x0')]=_0x28fafc;},'./node_modules/lodash/_getSymbolsIn.js':function(_0x1191d9,_0x697178,_0x5e350b){var _0x2e1ba5=_0x5e350b(_0x1a4e('0xf88')),_0x24edc5=_0x5e350b(_0x1a4e('0xfbc')),_0x35232c=_0x5e350b(_0x1a4e('0xfbd')),_0x1ae616=_0x5e350b('./node_modules/lodash/stubArray.js'),_0x4d9c94=Object[_0x1a4e('0xd85')]?function(_0x1191d9){for(var _0x697178=[];_0x1191d9;)_0x2e1ba5(_0x697178,_0x35232c(_0x1191d9)),_0x1191d9=_0x24edc5(_0x1191d9);return _0x697178;}:_0x1ae616;_0x1191d9['exports']=_0x4d9c94;},'./node_modules/lodash/_getTag.js':function(_0x286bbf,_0x448612,_0x231b0e){var _0x5cbea7=_0x231b0e(_0x1a4e('0xfbe')),_0x43f321=_0x231b0e(_0x1a4e('0xfbf')),_0x32aa9b=_0x231b0e(_0x1a4e('0xfc0')),_0x1a7668=_0x231b0e(_0x1a4e('0xfc1')),_0x5cc93a=_0x231b0e(_0x1a4e('0xfc2')),_0x303060=_0x231b0e('./node_modules/lodash/_baseGetTag.js'),_0x54ef01=_0x231b0e(_0x1a4e('0xfc3')),_0x179266=_0x54ef01(_0x5cbea7),_0xa58fc2=_0x54ef01(_0x43f321),_0x34f42f=_0x54ef01(_0x32aa9b),_0x307190=_0x54ef01(_0x1a7668),_0x17fece=_0x54ef01(_0x5cc93a),_0x2b9263=_0x303060;(_0x5cbea7&&_0x1a4e('0xf7a')!=_0x2b9263(new _0x5cbea7(new ArrayBuffer(0x1)))||_0x43f321&&_0x1a4e('0xf7f')!=_0x2b9263(new _0x43f321())||_0x32aa9b&&_0x1a4e('0xfc4')!=_0x2b9263(_0x32aa9b[_0x1a4e('0xe20')]())||_0x1a7668&&_0x1a4e('0xf93')!=_0x2b9263(new _0x1a7668())||_0x5cc93a&&_0x1a4e('0xf86')!=_0x2b9263(new _0x5cc93a()))&&(_0x2b9263=function(_0x286bbf){var _0x448612=_0x303060(_0x286bbf),_0x231b0e=_0x1a4e('0xf78')==_0x448612?_0x286bbf[_0x1a4e('0x10')]:void 0x0,_0x5cbea7=_0x231b0e?_0x54ef01(_0x231b0e):'';if(_0x5cbea7)switch(_0x5cbea7){case _0x179266:return'[object\x20DataView]';case _0xa58fc2:return _0x1a4e('0xf7f');case _0x34f42f:return _0x1a4e('0xfc4');case _0x307190:return _0x1a4e('0xf93');case _0x17fece:return _0x1a4e('0xf86');}return _0x448612;}),_0x286bbf[_0x1a4e('0x0')]=_0x2b9263;},'./node_modules/lodash/_getValue.js':function(_0x38169d,_0x18a56c){_0x38169d[_0x1a4e('0x0')]=function(_0x38169d,_0x18a56c){return null==_0x38169d?void 0x0:_0x38169d[_0x18a56c];};},'./node_modules/lodash/_hasUnicodeWord.js':function(_0x391d4c,_0xbbd5e8){var _0x41fc3c=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;_0x391d4c[_0x1a4e('0x0')]=function(_0x391d4c){return _0x41fc3c[_0x1a4e('0x8d0')](_0x391d4c);};},'./node_modules/lodash/_hashClear.js':function(_0x31482c,_0x387e26,_0x8794cb){var _0x4cd940=_0x8794cb(_0x1a4e('0xfc5'));_0x31482c['exports']=function(){this[_0x1a4e('0xfb8')]=_0x4cd940?_0x4cd940(null):{},this[_0x1a4e('0x220')]=0x0;};},'./node_modules/lodash/_hashDelete.js':function(_0x521140,_0x2b2a33){_0x521140[_0x1a4e('0x0')]=function(_0x521140){var _0x2b2a33=this[_0x1a4e('0x178')](_0x521140)&&delete this[_0x1a4e('0xfb8')][_0x521140];return this[_0x1a4e('0x220')]-=_0x2b2a33?0x1:0x0,_0x2b2a33;};},'./node_modules/lodash/_hashGet.js':function(_0x4dd692,_0x2257d0,_0xf444bd){var _0xc46731=_0xf444bd(_0x1a4e('0xfc5')),_0x246b37=_0x1a4e('0xfc6'),_0xda15d9=Object[_0x1a4e('0xa')][_0x1a4e('0xb')];_0x4dd692[_0x1a4e('0x0')]=function(_0x4dd692){var _0x2257d0=this['__data__'];if(_0xc46731){var _0xf444bd=_0x2257d0[_0x4dd692];return _0xf444bd===_0x246b37?void 0x0:_0xf444bd;}return _0xda15d9[_0x1a4e('0x1')](_0x2257d0,_0x4dd692)?_0x2257d0[_0x4dd692]:void 0x0;};},'./node_modules/lodash/_hashHas.js':function(_0x1454f8,_0x21965b,_0x6e9507){var _0x559a22=_0x6e9507(_0x1a4e('0xfc5')),_0x23e1ad=Object[_0x1a4e('0xa')][_0x1a4e('0xb')];_0x1454f8[_0x1a4e('0x0')]=function(_0x1454f8){var _0x21965b=this[_0x1a4e('0xfb8')];return _0x559a22?void 0x0!==_0x21965b[_0x1454f8]:_0x23e1ad[_0x1a4e('0x1')](_0x21965b,_0x1454f8);};},'./node_modules/lodash/_hashSet.js':function(_0x59a192,_0x836dee,_0x51c4e9){var _0xa05f5c=_0x51c4e9('./node_modules/lodash/_nativeCreate.js'),_0x3b9e46=_0x1a4e('0xfc6');_0x59a192[_0x1a4e('0x0')]=function(_0x59a192,_0x836dee){var _0x51c4e9=this[_0x1a4e('0xfb8')];return this[_0x1a4e('0x220')]+=this[_0x1a4e('0x178')](_0x59a192)?0x0:0x1,_0x51c4e9[_0x59a192]=_0xa05f5c&&void 0x0===_0x836dee?_0x3b9e46:_0x836dee,this;};},'./node_modules/lodash/_initCloneArray.js':function(_0x3f3c35,_0x2f75e5){var _0x3b4202=Object[_0x1a4e('0xa')][_0x1a4e('0xb')];_0x3f3c35[_0x1a4e('0x0')]=function(_0x3f3c35){var _0x2f75e5=_0x3f3c35[_0x1a4e('0x1e')],_0x582cd4=new _0x3f3c35[(_0x1a4e('0x10'))](_0x2f75e5);return _0x2f75e5&&'string'==typeof _0x3f3c35[0x0]&&_0x3b4202[_0x1a4e('0x1')](_0x3f3c35,_0x1a4e('0xbd'))&&(_0x582cd4[_0x1a4e('0xbd')]=_0x3f3c35['index'],_0x582cd4[_0x1a4e('0xfc7')]=_0x3f3c35[_0x1a4e('0xfc7')]),_0x582cd4;};},'./node_modules/lodash/_initCloneByTag.js':function(_0x4e4d2b,_0x18b81b,_0x17d35f){var _0x1b1fbe=_0x17d35f('./node_modules/lodash/_cloneArrayBuffer.js'),_0x405a47=_0x17d35f(_0x1a4e('0xfc8')),_0x3ba96a=_0x17d35f(_0x1a4e('0xfc9')),_0x170994=_0x17d35f('./node_modules/lodash/_cloneSymbol.js'),_0x3bec87=_0x17d35f(_0x1a4e('0xf9c')),_0x2b3d50=_0x1a4e('0xfca'),_0x1240e3='[object\x20Date]',_0x5d8e34='[object\x20Map]',_0x3b700c=_0x1a4e('0xf80'),_0x3a6d03=_0x1a4e('0xb1e'),_0x5a5207='[object\x20Set]',_0x5e08c1=_0x1a4e('0xf81'),_0x47de2b=_0x1a4e('0xf82'),_0x31e7bc=_0x1a4e('0xf79'),_0x6ce0d8='[object\x20DataView]',_0x15cbd1=_0x1a4e('0xf96'),_0x6ce6cf='[object\x20Float64Array]',_0x5e2edb='[object\x20Int8Array]',_0x42e05e=_0x1a4e('0xf7d'),_0x4d0b7e=_0x1a4e('0xf7e'),_0x4aceea=_0x1a4e('0xf83'),_0x52315e=_0x1a4e('0xf97'),_0x1cbb31=_0x1a4e('0xfcb'),_0x5d4436=_0x1a4e('0xf84');_0x4e4d2b[_0x1a4e('0x0')]=function(_0x4e4d2b,_0x18b81b,_0x17d35f){var _0x282f65=_0x4e4d2b[_0x1a4e('0x10')];switch(_0x18b81b){case _0x31e7bc:return _0x1b1fbe(_0x4e4d2b);case _0x2b3d50:case _0x1240e3:return new _0x282f65(+_0x4e4d2b);case _0x6ce0d8:return _0x405a47(_0x4e4d2b,_0x17d35f);case _0x15cbd1:case _0x6ce6cf:case _0x5e2edb:case _0x42e05e:case _0x4d0b7e:case _0x4aceea:case _0x52315e:case _0x1cbb31:case _0x5d4436:return _0x3bec87(_0x4e4d2b,_0x17d35f);case _0x5d8e34:return new _0x282f65();case _0x3b700c:case _0x5e08c1:return new _0x282f65(_0x4e4d2b);case _0x3a6d03:return _0x3ba96a(_0x4e4d2b);case _0x5a5207:return new _0x282f65();case _0x47de2b:return _0x170994(_0x4e4d2b);}};},'./node_modules/lodash/_initCloneObject.js':function(_0x34580b,_0x33cd2d,_0x553235){var _0x17c0f8=_0x553235(_0x1a4e('0xfcc')),_0x162701=_0x553235(_0x1a4e('0xfbc')),_0x5469fa=_0x553235(_0x1a4e('0xfcd'));_0x34580b[_0x1a4e('0x0')]=function(_0x34580b){return _0x1a4e('0x68')!=typeof _0x34580b[_0x1a4e('0x10')]||_0x5469fa(_0x34580b)?{}:_0x17c0f8(_0x162701(_0x34580b));};},'./node_modules/lodash/_isFlattenable.js':function(_0x3a13f6,_0x1a256f,_0x1f2923){var _0x170b6a=_0x1f2923(_0x1a4e('0xf8b')),_0x3fbb52=_0x1f2923(_0x1a4e('0xf5d')),_0x2148b9=_0x1f2923(_0x1a4e('0xf5e')),_0x537608=_0x170b6a?_0x170b6a[_0x1a4e('0xfce')]:void 0x0;_0x3a13f6[_0x1a4e('0x0')]=function(_0x3a13f6){return _0x2148b9(_0x3a13f6)||_0x3fbb52(_0x3a13f6)||!!(_0x537608&&_0x3a13f6&&_0x3a13f6[_0x537608]);};},'./node_modules/lodash/_isIndex.js':function(_0x2b2342,_0x53a89f){var _0x403152=0x1fffffffffffff,_0x4e0ea8=/^(?:0|[1-9]\d*)$/;_0x2b2342['exports']=function(_0x2b2342,_0x53a89f){var _0x3323eb=typeof _0x2b2342;return!!(_0x53a89f=null==_0x53a89f?_0x403152:_0x53a89f)&&(_0x1a4e('0x3d')==_0x3323eb||_0x1a4e('0xb1b')!=_0x3323eb&&_0x4e0ea8['test'](_0x2b2342))&&_0x2b2342>-0x1&&_0x2b2342%0x1==0x0&&_0x2b2342<_0x53a89f;};},'./node_modules/lodash/_isIterateeCall.js':function(_0x11f092,_0x24cc13,_0x3d3528){var _0x521ab8=_0x3d3528('./node_modules/lodash/eq.js'),_0x2b677c=_0x3d3528(_0x1a4e('0xfcf')),_0x1f617d=_0x3d3528(_0x1a4e('0xf60')),_0x4b7129=_0x3d3528('./node_modules/lodash/isObject.js');_0x11f092['exports']=function(_0x11f092,_0x24cc13,_0x3d3528){if(!_0x4b7129(_0x3d3528))return!0x1;var _0x4e41d6=typeof _0x24cc13;return!!(_0x1a4e('0x3d')==_0x4e41d6?_0x2b677c(_0x3d3528)&&_0x1f617d(_0x24cc13,_0x3d3528[_0x1a4e('0x1e')]):'string'==_0x4e41d6&&_0x24cc13 in _0x3d3528)&&_0x521ab8(_0x3d3528[_0x24cc13],_0x11f092);};},'./node_modules/lodash/_isKeyable.js':function(_0x5516b7,_0x424c57){_0x5516b7[_0x1a4e('0x0')]=function(_0x5516b7){var _0x424c57=typeof _0x5516b7;return _0x1a4e('0x9')==_0x424c57||_0x1a4e('0x3d')==_0x424c57||_0x1a4e('0xb1b')==_0x424c57||_0x1a4e('0x34b')==_0x424c57?_0x1a4e('0x295')!==_0x5516b7:null===_0x5516b7;};},'./node_modules/lodash/_isMasked.js':function(_0x13bb0c,_0x5d05bf,_0x4cd72b){var _0x25e5f0,_0x55bad8=_0x4cd72b('./node_modules/lodash/_coreJsData.js'),_0x550ae2=(_0x25e5f0=/[^.]+$/[_0x1a4e('0x2af')](_0x55bad8&&_0x55bad8['keys']&&_0x55bad8[_0x1a4e('0x56')][_0x1a4e('0xfd0')]||''))?_0x1a4e('0xfd1')+_0x25e5f0:'';_0x13bb0c[_0x1a4e('0x0')]=function(_0x13bb0c){return!!_0x550ae2&&_0x550ae2 in _0x13bb0c;};},'./node_modules/lodash/_isPrototype.js':function(_0x12c434,_0xe7dccf){var _0x1f9419=Object[_0x1a4e('0xa')];_0x12c434[_0x1a4e('0x0')]=function(_0x12c434){var _0xe7dccf=_0x12c434&&_0x12c434['constructor'];return _0x12c434===(_0x1a4e('0x68')==typeof _0xe7dccf&&_0xe7dccf[_0x1a4e('0xa')]||_0x1f9419);};},'./node_modules/lodash/_listCacheClear.js':function(_0x2213c3,_0x4f145b){_0x2213c3[_0x1a4e('0x0')]=function(){this[_0x1a4e('0xfb8')]=[],this[_0x1a4e('0x220')]=0x0;};},'./node_modules/lodash/_listCacheDelete.js':function(_0x4f7ffc,_0x3bf421,_0x5dbe5d){var _0x33da18=_0x5dbe5d(_0x1a4e('0xfd2')),_0x376cdf=Array['prototype']['splice'];_0x4f7ffc[_0x1a4e('0x0')]=function(_0x4f7ffc){var _0x3bf421=this[_0x1a4e('0xfb8')],_0x5dbe5d=_0x33da18(_0x3bf421,_0x4f7ffc);return!(_0x5dbe5d<0x0||(_0x5dbe5d==_0x3bf421['length']-0x1?_0x3bf421[_0x1a4e('0x76')]():_0x376cdf[_0x1a4e('0x1')](_0x3bf421,_0x5dbe5d,0x1),--this[_0x1a4e('0x220')],0x0));};},'./node_modules/lodash/_listCacheGet.js':function(_0x2edee4,_0x5cbbfb,_0x349dbf){var _0x3f23c3=_0x349dbf('./node_modules/lodash/_assocIndexOf.js');_0x2edee4[_0x1a4e('0x0')]=function(_0x2edee4){var _0x5cbbfb=this[_0x1a4e('0xfb8')],_0x349dbf=_0x3f23c3(_0x5cbbfb,_0x2edee4);return _0x349dbf<0x0?void 0x0:_0x5cbbfb[_0x349dbf][0x1];};},'./node_modules/lodash/_listCacheHas.js':function(_0x5d334,_0x5e1d1f,_0x35eb30){var _0x1260f1=_0x35eb30(_0x1a4e('0xfd2'));_0x5d334['exports']=function(_0x5d334){return _0x1260f1(this['__data__'],_0x5d334)>-0x1;};},'./node_modules/lodash/_listCacheSet.js':function(_0x5ed442,_0x2a5397,_0x4b6e3e){var _0x41679e=_0x4b6e3e(_0x1a4e('0xfd2'));_0x5ed442[_0x1a4e('0x0')]=function(_0x5ed442,_0x2a5397){var _0x4b6e3e=this[_0x1a4e('0xfb8')],_0x338aa3=_0x41679e(_0x4b6e3e,_0x5ed442);return _0x338aa3<0x0?(++this['size'],_0x4b6e3e[_0x1a4e('0x46')]([_0x5ed442,_0x2a5397])):_0x4b6e3e[_0x338aa3][0x1]=_0x2a5397,this;};},'./node_modules/lodash/_mapCacheClear.js':function(_0x43a64d,_0x4f25eb,_0x4b5c5b){var _0x765aaa=_0x4b5c5b(_0x1a4e('0xfd3')),_0xf2d8fa=_0x4b5c5b(_0x1a4e('0xfd4')),_0x3ca072=_0x4b5c5b(_0x1a4e('0xfbf'));_0x43a64d[_0x1a4e('0x0')]=function(){this[_0x1a4e('0x220')]=0x0,this[_0x1a4e('0xfb8')]={'hash':new _0x765aaa(),'map':new(_0x3ca072||_0xf2d8fa)(),'string':new _0x765aaa()};};},'./node_modules/lodash/_mapCacheDelete.js':function(_0x3f57ae,_0x2151f1,_0x16f0a3){var _0x2c3cae=_0x16f0a3('./node_modules/lodash/_getMapData.js');_0x3f57ae[_0x1a4e('0x0')]=function(_0x3f57ae){var _0x2151f1=_0x2c3cae(this,_0x3f57ae)[_0x1a4e('0xf4c')](_0x3f57ae);return this[_0x1a4e('0x220')]-=_0x2151f1?0x1:0x0,_0x2151f1;};},'./node_modules/lodash/_mapCacheGet.js':function(_0x547b1e,_0xab316d,_0xf04004){var _0x3238a0=_0xf04004(_0x1a4e('0xfd5'));_0x547b1e[_0x1a4e('0x0')]=function(_0x547b1e){return _0x3238a0(this,_0x547b1e)[_0x1a4e('0x179')](_0x547b1e);};},'./node_modules/lodash/_mapCacheHas.js':function(_0x17efa0,_0x1ef630,_0x2dd4b7){var _0x344bbf=_0x2dd4b7(_0x1a4e('0xfd5'));_0x17efa0[_0x1a4e('0x0')]=function(_0x17efa0){return _0x344bbf(this,_0x17efa0)[_0x1a4e('0x178')](_0x17efa0);};},'./node_modules/lodash/_mapCacheSet.js':function(_0x4fe3b4,_0x5173fb,_0x2fd787){var _0x58082c=_0x2fd787(_0x1a4e('0xfd5'));_0x4fe3b4[_0x1a4e('0x0')]=function(_0x4fe3b4,_0x5173fb){var _0x2fd787=_0x58082c(this,_0x4fe3b4),_0x5f6d2d=_0x2fd787['size'];return _0x2fd787[_0x1a4e('0x17a')](_0x4fe3b4,_0x5173fb),this['size']+=_0x2fd787[_0x1a4e('0x220')]==_0x5f6d2d?0x0:0x1,this;};},'./node_modules/lodash/_nativeCreate.js':function(_0x268a25,_0x2dd199,_0x29bcba){var _0x3a899d=_0x29bcba(_0x1a4e('0xf44'))(Object,'create');_0x268a25[_0x1a4e('0x0')]=_0x3a899d;},'./node_modules/lodash/_nativeKeys.js':function(_0x4c8a77,_0x48dd5a,_0x31cb2c){var _0x1ace1e=_0x31cb2c(_0x1a4e('0xfd6'))(Object[_0x1a4e('0x56')],Object);_0x4c8a77[_0x1a4e('0x0')]=_0x1ace1e;},'./node_modules/lodash/_nativeKeysIn.js':function(_0x452f5a,_0x753012){_0x452f5a[_0x1a4e('0x0')]=function(_0x452f5a){var _0x753012=[];if(null!=_0x452f5a)for(var _0xbb944c in Object(_0x452f5a))_0x753012[_0x1a4e('0x46')](_0xbb944c);return _0x753012;};},'./node_modules/lodash/_nodeUtil.js':function(_0x206ec7,_0x1dcce5,_0x4aa789){(function(_0x206ec7){var _0x2bbc5a=_0x4aa789(_0x1a4e('0xfd7')),_0xf87cf3=_0x1dcce5&&!_0x1dcce5[_0x1a4e('0xfa8')]&&_0x1dcce5,_0x24dc9a=_0xf87cf3&&_0x1a4e('0x85')==typeof _0x206ec7&&_0x206ec7&&!_0x206ec7[_0x1a4e('0xfa8')]&&_0x206ec7,_0x527d90=_0x24dc9a&&_0x24dc9a[_0x1a4e('0x0')]===_0xf87cf3&&_0x2bbc5a['process'],_0xee9d6=function(){try{var _0x206ec7=_0x24dc9a&&_0x24dc9a[_0x1a4e('0xfd8')]&&_0x24dc9a[_0x1a4e('0xfd8')]('util')['types'];return _0x206ec7||_0x527d90&&_0x527d90['binding']&&_0x527d90[_0x1a4e('0xfd9')]('util');}catch(_0x3ce480){}}();_0x206ec7['exports']=_0xee9d6;}[_0x1a4e('0x1')](this,_0x4aa789(_0x1a4e('0xa20'))(_0x206ec7)));},'./node_modules/lodash/_objectToString.js':function(_0x54f3cb,_0x35aebe){var _0x2d242c=Object[_0x1a4e('0xa')][_0x1a4e('0x95')];_0x54f3cb[_0x1a4e('0x0')]=function(_0x54f3cb){return _0x2d242c[_0x1a4e('0x1')](_0x54f3cb);};},'./node_modules/lodash/_overArg.js':function(_0x1b78ed,_0x2dc212){_0x1b78ed['exports']=function(_0x1b78ed,_0x2dc212){return function(_0x3d2a46){return _0x1b78ed(_0x2dc212(_0x3d2a46));};};},'./node_modules/lodash/_overRest.js':function(_0x2666d2,_0x307e9b,_0x17aacb){var _0x176af7=_0x17aacb(_0x1a4e('0xfda')),_0x5903c5=Math[_0x1a4e('0x6c')];_0x2666d2[_0x1a4e('0x0')]=function(_0x2666d2,_0x307e9b,_0x17aacb){return _0x307e9b=_0x5903c5(void 0x0===_0x307e9b?_0x2666d2[_0x1a4e('0x1e')]-0x1:_0x307e9b,0x0),function(){for(var _0x121afb=arguments,_0x32536a=-0x1,_0x526cd0=_0x5903c5(_0x121afb['length']-_0x307e9b,0x0),_0x30edfa=Array(_0x526cd0);++_0x32536a<_0x526cd0;)_0x30edfa[_0x32536a]=_0x121afb[_0x307e9b+_0x32536a];_0x32536a=-0x1;for(var _0x410c9e=Array(_0x307e9b+0x1);++_0x32536a<_0x307e9b;)_0x410c9e[_0x32536a]=_0x121afb[_0x32536a];return _0x410c9e[_0x307e9b]=_0x17aacb(_0x30edfa),_0x176af7(_0x2666d2,this,_0x410c9e);};};},'./node_modules/lodash/_root.js':function(_0x5b1560,_0x3f7c04,_0x294b87){var _0xc9d7f=_0x294b87(_0x1a4e('0xfd7')),_0x591b17=_0x1a4e('0x85')==typeof self&&self&&self[_0x1a4e('0xfb5')]===Object&&self,_0x5ed0f4=_0xc9d7f||_0x591b17||Function('return\x20this')();_0x5b1560[_0x1a4e('0x0')]=_0x5ed0f4;},'./node_modules/lodash/_safeGet.js':function(_0x30028d,_0x1db313){_0x30028d[_0x1a4e('0x0')]=function(_0x30028d,_0x1db313){if(_0x1a4e('0x295')!=_0x1db313)return _0x30028d[_0x1db313];};},'./node_modules/lodash/_setToString.js':function(_0x11b9ed,_0x1022f2,_0x2b305b){var _0x2cf51d=_0x2b305b('./node_modules/lodash/_baseSetToString.js'),_0x5b40c9=_0x2b305b(_0x1a4e('0xfdb'))(_0x2cf51d);_0x11b9ed['exports']=_0x5b40c9;},'./node_modules/lodash/_shortOut.js':function(_0x4aca95,_0x1c13f3){var _0x4cd7f0=0x320,_0x36138a=0x10,_0x3aeff0=Date[_0x1a4e('0xe3f')];_0x4aca95[_0x1a4e('0x0')]=function(_0x4aca95){var _0x1c13f3=0x0,_0x5e6321=0x0;return function(){var _0x1f484b=_0x3aeff0(),_0x18ec5f=_0x36138a-(_0x1f484b-_0x5e6321);if(_0x5e6321=_0x1f484b,_0x18ec5f>0x0){if(++_0x1c13f3>=_0x4cd7f0)return arguments[0x0];}else _0x1c13f3=0x0;return _0x4aca95[_0x1a4e('0x8b')](void 0x0,arguments);};};},'./node_modules/lodash/_stackClear.js':function(_0x26e3ae,_0x1d597c,_0x352221){var _0x51eebc=_0x352221(_0x1a4e('0xfd4'));_0x26e3ae[_0x1a4e('0x0')]=function(){this['__data__']=new _0x51eebc(),this['size']=0x0;};},'./node_modules/lodash/_stackDelete.js':function(_0x154653,_0x54d847){_0x154653['exports']=function(_0x154653){var _0x54d847=this[_0x1a4e('0xfb8')],_0x1d185b=_0x54d847[_0x1a4e('0xf4c')](_0x154653);return this[_0x1a4e('0x220')]=_0x54d847[_0x1a4e('0x220')],_0x1d185b;};},'./node_modules/lodash/_stackGet.js':function(_0x50503f,_0x323927){_0x50503f[_0x1a4e('0x0')]=function(_0x50503f){return this['__data__']['get'](_0x50503f);};},'./node_modules/lodash/_stackHas.js':function(_0x173cab,_0x700031){_0x173cab['exports']=function(_0x173cab){return this[_0x1a4e('0xfb8')][_0x1a4e('0x178')](_0x173cab);};},'./node_modules/lodash/_stackSet.js':function(_0x15192f,_0x320ff8,_0xce2f69){var _0x398418=_0xce2f69(_0x1a4e('0xfd4')),_0x5afc92=_0xce2f69(_0x1a4e('0xfbf')),_0x2f06a8=_0xce2f69(_0x1a4e('0xfdc')),_0x369e29=0xc8;_0x15192f[_0x1a4e('0x0')]=function(_0x15192f,_0x320ff8){var _0xce2f69=this[_0x1a4e('0xfb8')];if(_0xce2f69 instanceof _0x398418){var _0x169854=_0xce2f69[_0x1a4e('0xfb8')];if(!_0x5afc92||_0x169854[_0x1a4e('0x1e')]<_0x369e29-0x1)return _0x169854['push']([_0x15192f,_0x320ff8]),this[_0x1a4e('0x220')]=++_0xce2f69[_0x1a4e('0x220')],this;_0xce2f69=this['__data__']=new _0x2f06a8(_0x169854);}return _0xce2f69[_0x1a4e('0x17a')](_0x15192f,_0x320ff8),this[_0x1a4e('0x220')]=_0xce2f69[_0x1a4e('0x220')],this;};},'./node_modules/lodash/_toSource.js':function(_0x1b8a87,_0x2ab4b7){var _0x4361ac=Function['prototype'][_0x1a4e('0x95')];_0x1b8a87[_0x1a4e('0x0')]=function(_0x1b8a87){if(null!=_0x1b8a87){try{return _0x4361ac[_0x1a4e('0x1')](_0x1b8a87);}catch(_0x292d46){}try{return _0x1b8a87+'';}catch(_0x5ecb23){}}return'';};},'./node_modules/lodash/_unicodeWords.js':function(_0x31ce10,_0x16484b){var _0x21150b='\x5cxac\x5cxb1\x5cxd7\x5cxf7\x5cx00-\x5cx2f\x5cx3a-\x5cx40\x5cx5b-\x5cx60\x5cx7b-\x5cxbf\x5cu2000-\x5cu206f\x20\x5ct\x5cx0b\x5cf\x5cxa0\x5cufeff\x5cn\x5cr\x5cu2028\x5cu2029\x5cu1680\x5cu180e\x5cu2000\x5cu2001\x5cu2002\x5cu2003\x5cu2004\x5cu2005\x5cu2006\x5cu2007\x5cu2008\x5cu2009\x5cu200a\x5cu202f\x5cu205f\x5cu3000',_0x1d0c59='['+_0x21150b+']',_0x3588f9=_0x1a4e('0xfdd'),_0x722b3e=_0x1a4e('0xfde'),_0x1ae6a3='[a-z\x5cxdf-\x5cxf6\x5cxf8-\x5cxff]',_0x3c4f61=_0x1a4e('0xfdf')+_0x21150b+_0x3588f9+'\x5cu2700-\x5cu27bfa-z\x5cxdf-\x5cxf6\x5cxf8-\x5cxffA-Z\x5cxc0-\x5cxd6\x5cxd8-\x5cxde]',_0xf449a6=_0x1a4e('0xfe0'),_0xa2ecbf=_0x1a4e('0xfe1'),_0x2977ca=_0x1a4e('0xfe2'),_0x10489e=_0x1a4e('0xfe3')+_0x1ae6a3+'|'+_0x3c4f61+')',_0x3e7f33='(?:'+_0x2977ca+'|'+_0x3c4f61+')',_0x7391bb=_0x1a4e('0xfe4'),_0x1de653='[\x5cufe0e\x5cufe0f]?'+_0x7391bb+(_0x1a4e('0xfe5')+['[^\x5cud800-\x5cudfff]',_0xf449a6,_0xa2ecbf][_0x1a4e('0x9e')]('|')+_0x1a4e('0xfe6')+_0x7391bb+')*'),_0x31d6a5=_0x1a4e('0xfe3')+[_0x722b3e,_0xf449a6,_0xa2ecbf][_0x1a4e('0x9e')]('|')+')'+_0x1de653,_0x4c7771=RegExp([_0x2977ca+'?'+_0x1ae6a3+_0x1a4e('0xfe7')+[_0x1d0c59,_0x2977ca,'$'][_0x1a4e('0x9e')]('|')+')',_0x3e7f33+_0x1a4e('0xfe8')+[_0x1d0c59,_0x2977ca+_0x10489e,'$'][_0x1a4e('0x9e')]('|')+')',_0x2977ca+'?'+_0x10489e+_0x1a4e('0xfe9'),_0x2977ca+_0x1a4e('0xfea'),_0x1a4e('0xfeb'),'\x5cd*(?:1st|2nd|3rd|(?![123])\x5cdth)(?=\x5cb|[A-Z_])',_0x3588f9,_0x31d6a5]['join']('|'),'g');_0x31ce10[_0x1a4e('0x0')]=function(_0x31ce10){return _0x31ce10['match'](_0x4c7771)||[];};},'./node_modules/lodash/cloneDeep.js':function(_0x4cd021,_0x565087,_0x6fe4b1){var _0x448468=_0x6fe4b1('./node_modules/lodash/_baseClone.js'),_0x3553e3=0x1,_0x44d7cd=0x4;_0x4cd021[_0x1a4e('0x0')]=function(_0x4cd021){return _0x448468(_0x4cd021,_0x3553e3|_0x44d7cd);};},'./node_modules/lodash/concat.js':function(_0x263777,_0x15896f,_0x5a4ef0){var _0x5682aa=_0x5a4ef0(_0x1a4e('0xf88')),_0x267218=_0x5a4ef0(_0x1a4e('0xfec')),_0x24dbd2=_0x5a4ef0(_0x1a4e('0xf6e')),_0xba7134=_0x5a4ef0(_0x1a4e('0xf5e'));_0x263777[_0x1a4e('0x0')]=function(){var _0x263777=arguments[_0x1a4e('0x1e')];if(!_0x263777)return[];for(var _0x15896f=Array(_0x263777-0x1),_0x5a4ef0=arguments[0x0],_0x34e72a=_0x263777;_0x34e72a--;)_0x15896f[_0x34e72a-0x1]=arguments[_0x34e72a];return _0x5682aa(_0xba7134(_0x5a4ef0)?_0x24dbd2(_0x5a4ef0):[_0x5a4ef0],_0x267218(_0x15896f,0x1));};},'./node_modules/lodash/constant.js':function(_0xed0d8a,_0x4aa0b8){_0xed0d8a[_0x1a4e('0x0')]=function(_0xed0d8a){return function(){return _0xed0d8a;};};},'./node_modules/lodash/deburr.js':function(_0x575b62,_0x3995b4,_0x408a8d){var _0x3cef0a=_0x408a8d('./node_modules/lodash/_deburrLetter.js'),_0x19411a=_0x408a8d('./node_modules/lodash/toString.js'),_0x49ebf0=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_0xcff67f=RegExp(_0x1a4e('0xfed'),'g');_0x575b62[_0x1a4e('0x0')]=function(_0x575b62){return(_0x575b62=_0x19411a(_0x575b62))&&_0x575b62[_0x1a4e('0x115')](_0x49ebf0,_0x3cef0a)[_0x1a4e('0x115')](_0xcff67f,'');};},'./node_modules/lodash/eq.js':function(_0x102537,_0x445a55){_0x102537[_0x1a4e('0x0')]=function(_0x102537,_0x445a55){return _0x102537===_0x445a55||_0x102537!=_0x102537&&_0x445a55!=_0x445a55;};},'./node_modules/lodash/identity.js':function(_0x5db8ba,_0x1ced08){_0x5db8ba['exports']=function(_0x5db8ba){return _0x5db8ba;};},'./node_modules/lodash/isArguments.js':function(_0x11949a,_0x2b37ef,_0x539deb){var _0x367c47=_0x539deb(_0x1a4e('0xfee')),_0x4acce0=_0x539deb(_0x1a4e('0xf90')),_0x52fd36=Object[_0x1a4e('0xa')],_0x552a1e=_0x52fd36['hasOwnProperty'],_0x3ea859=_0x52fd36[_0x1a4e('0xfbb')],_0xb6de2f=_0x367c47(function(){return arguments;}())?_0x367c47:function(_0x11949a){return _0x4acce0(_0x11949a)&&_0x552a1e['call'](_0x11949a,'callee')&&!_0x3ea859['call'](_0x11949a,_0x1a4e('0x1db'));};_0x11949a[_0x1a4e('0x0')]=_0xb6de2f;},'./node_modules/lodash/isArray.js':function(_0x1b3bc3,_0x1b7c57){var _0x2f781b=Array['isArray'];_0x1b3bc3[_0x1a4e('0x0')]=_0x2f781b;},'./node_modules/lodash/isArrayLike.js':function(_0x8b9458,_0x4b1d44,_0x44e155){var _0x457071=_0x44e155(_0x1a4e('0xf91')),_0x477d05=_0x44e155('./node_modules/lodash/isLength.js');_0x8b9458['exports']=function(_0x8b9458){return null!=_0x8b9458&&_0x477d05(_0x8b9458[_0x1a4e('0x1e')])&&!_0x457071(_0x8b9458);};},'./node_modules/lodash/isArrayLikeObject.js':function(_0x255999,_0x2e5305,_0x7a559e){var _0xd930a3=_0x7a559e('./node_modules/lodash/isArrayLike.js'),_0xdbae3d=_0x7a559e('./node_modules/lodash/isObjectLike.js');_0x255999[_0x1a4e('0x0')]=function(_0x255999){return _0xdbae3d(_0x255999)&&_0xd930a3(_0x255999);};},'./node_modules/lodash/isBuffer.js':function(_0x51f633,_0x4eb728,_0x2388d5){(function(_0x51f633){var _0x46854e=_0x2388d5('./node_modules/lodash/_root.js'),_0x3f61b6=_0x2388d5('./node_modules/lodash/stubFalse.js'),_0x448c3f=_0x4eb728&&!_0x4eb728[_0x1a4e('0xfa8')]&&_0x4eb728,_0x5a2680=_0x448c3f&&'object'==typeof _0x51f633&&_0x51f633&&!_0x51f633[_0x1a4e('0xfa8')]&&_0x51f633,_0x4a4398=_0x5a2680&&_0x5a2680['exports']===_0x448c3f?_0x46854e[_0x1a4e('0x870')]:void 0x0,_0x4d0a6f=(_0x4a4398?_0x4a4398[_0x1a4e('0x871')]:void 0x0)||_0x3f61b6;_0x51f633[_0x1a4e('0x0')]=_0x4d0a6f;}[_0x1a4e('0x1')](this,_0x2388d5('./node_modules/webpack/buildin/module.js')(_0x51f633)));},'./node_modules/lodash/isFunction.js':function(_0x4b264d,_0xba5f27,_0x18c66f){var _0x33eebb=_0x18c66f(_0x1a4e('0xf94')),_0x3ef5be=_0x18c66f(_0x1a4e('0xf87')),_0x197045=_0x1a4e('0xfef'),_0xcd538c=_0x1a4e('0xf76'),_0x401d44=_0x1a4e('0xf77'),_0x4feb66=_0x1a4e('0xff0');_0x4b264d[_0x1a4e('0x0')]=function(_0x4b264d){if(!_0x3ef5be(_0x4b264d))return!0x1;var _0xba5f27=_0x33eebb(_0x4b264d);return _0xba5f27==_0xcd538c||_0xba5f27==_0x401d44||_0xba5f27==_0x197045||_0xba5f27==_0x4feb66;};},'./node_modules/lodash/isLength.js':function(_0x467be2,_0x560701){var _0x392f4b=0x1fffffffffffff;_0x467be2[_0x1a4e('0x0')]=function(_0x467be2){return'number'==typeof _0x467be2&&_0x467be2>-0x1&&_0x467be2%0x1==0x0&&_0x467be2<=_0x392f4b;};},'./node_modules/lodash/isMap.js':function(_0x162b70,_0x3e8c09,_0x1a538a){var _0x1a26a3=_0x1a538a(_0x1a4e('0xff1')),_0x3a6963=_0x1a538a('./node_modules/lodash/_baseUnary.js'),_0xa15c6=_0x1a538a('./node_modules/lodash/_nodeUtil.js'),_0x59e97f=_0xa15c6&&_0xa15c6['isMap'],_0x46d2e9=_0x59e97f?_0x3a6963(_0x59e97f):_0x1a26a3;_0x162b70[_0x1a4e('0x0')]=_0x46d2e9;},'./node_modules/lodash/isObject.js':function(_0xe997d8,_0x29b8cb){_0xe997d8[_0x1a4e('0x0')]=function(_0xe997d8){var _0x29b8cb=typeof _0xe997d8;return null!=_0xe997d8&&(_0x1a4e('0x85')==_0x29b8cb||_0x1a4e('0x68')==_0x29b8cb);};},'./node_modules/lodash/isObjectLike.js':function(_0x577e35,_0x10076f){_0x577e35[_0x1a4e('0x0')]=function(_0x577e35){return null!=_0x577e35&&_0x1a4e('0x85')==typeof _0x577e35;};},'./node_modules/lodash/isPlainObject.js':function(_0xcabed7,_0x2bd50f,_0x798076){var _0x3f4fe3=_0x798076(_0x1a4e('0xf94')),_0x227e9c=_0x798076(_0x1a4e('0xfbc')),_0x35cef2=_0x798076('./node_modules/lodash/isObjectLike.js'),_0x4edb5e='[object\x20Object]',_0x153bb2=Function['prototype'],_0x242b9b=Object['prototype'],_0x314822=_0x153bb2['toString'],_0x3d36ec=_0x242b9b[_0x1a4e('0xb')],_0x266be9=_0x314822[_0x1a4e('0x1')](Object);_0xcabed7[_0x1a4e('0x0')]=function(_0xcabed7){if(!_0x35cef2(_0xcabed7)||_0x3f4fe3(_0xcabed7)!=_0x4edb5e)return!0x1;var _0x2bd50f=_0x227e9c(_0xcabed7);if(null===_0x2bd50f)return!0x0;var _0x798076=_0x3d36ec[_0x1a4e('0x1')](_0x2bd50f,_0x1a4e('0x10'))&&_0x2bd50f[_0x1a4e('0x10')];return _0x1a4e('0x68')==typeof _0x798076&&_0x798076 instanceof _0x798076&&_0x314822[_0x1a4e('0x1')](_0x798076)==_0x266be9;};},'./node_modules/lodash/isSet.js':function(_0x409cef,_0x2330de,_0x5082e8){var _0xb2b7e8=_0x5082e8(_0x1a4e('0xff2')),_0x305299=_0x5082e8(_0x1a4e('0xff3')),_0x12ee8d=_0x5082e8(_0x1a4e('0xff4')),_0x1d989e=_0x12ee8d&&_0x12ee8d[_0x1a4e('0xff5')],_0x549fe=_0x1d989e?_0x305299(_0x1d989e):_0xb2b7e8;_0x409cef['exports']=_0x549fe;},'./node_modules/lodash/isSymbol.js':function(_0x428b74,_0x4bf129,_0x245367){var _0x19d44b=_0x245367(_0x1a4e('0xf94')),_0x30abe5=_0x245367('./node_modules/lodash/isObjectLike.js'),_0x4dfe19='[object\x20Symbol]';_0x428b74[_0x1a4e('0x0')]=function(_0x428b74){return _0x1a4e('0xb1b')==typeof _0x428b74||_0x30abe5(_0x428b74)&&_0x19d44b(_0x428b74)==_0x4dfe19;};},'./node_modules/lodash/isTypedArray.js':function(_0x254e25,_0x55e01c,_0x2c4c93){var _0x41fd1a=_0x2c4c93(_0x1a4e('0xff6')),_0xb8ff1a=_0x2c4c93(_0x1a4e('0xff3')),_0x12f500=_0x2c4c93(_0x1a4e('0xff4')),_0x492987=_0x12f500&&_0x12f500['isTypedArray'],_0x37134e=_0x492987?_0xb8ff1a(_0x492987):_0x41fd1a;_0x254e25[_0x1a4e('0x0')]=_0x37134e;},'./node_modules/lodash/keys.js':function(_0x5b0cbf,_0x315bee,_0x3f56e3){var _0x5cbb62=_0x3f56e3(_0x1a4e('0xff7')),_0x33adc4=_0x3f56e3(_0x1a4e('0xff8')),_0x3d7a65=_0x3f56e3('./node_modules/lodash/isArrayLike.js');_0x5b0cbf[_0x1a4e('0x0')]=function(_0x5b0cbf){return _0x3d7a65(_0x5b0cbf)?_0x5cbb62(_0x5b0cbf):_0x33adc4(_0x5b0cbf);};},'./node_modules/lodash/keysIn.js':function(_0x432cb4,_0x53ce82,_0x38c9cd){var _0x1d68bb=_0x38c9cd('./node_modules/lodash/_arrayLikeKeys.js'),_0xdbe388=_0x38c9cd(_0x1a4e('0xff9')),_0x3bf3c1=_0x38c9cd(_0x1a4e('0xfcf'));_0x432cb4['exports']=function(_0x432cb4){return _0x3bf3c1(_0x432cb4)?_0x1d68bb(_0x432cb4,!0x0):_0xdbe388(_0x432cb4);};},'./node_modules/lodash/lodash.js':function(_0x440b30,_0x436452,_0x51447d){(function(_0x440b30,_0x1337bb){var _0x2505f4;(function(){var _0xbd18f7,_0x2d3764=0xc8,_0x3547b5=_0x1a4e('0xffa'),_0x4dcadc='Expected\x20a\x20function',_0x378c12=_0x1a4e('0xfc6'),_0x599dd1=0x1f4,_0x545383=_0x1a4e('0xffb'),_0x4398b5=0x1,_0x3eecdb=0x2,_0x1b35a2=0x4,_0x5c5d87=0x1,_0x3ae387=0x2,_0x537c5a=0x1,_0x2f97d8=0x2,_0x283521=0x4,_0x26da39=0x8,_0x47a10e=0x10,_0x4e5f4e=0x20,_0x4e14a3=0x40,_0x555c0d=0x80,_0x2d31be=0x100,_0x2ce9e7=0x200,_0x4fb86d=0x1e,_0xfc17c1='...',_0x58e26a=0x320,_0x1a08ca=0x10,_0xaf5d8d=0x1,_0x546a0c=0x2,_0x3f690c=0x1/0x0,_0x54dba2=0x1fffffffffffff,_0x5588ae=0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,_0x1d906b=NaN,_0x5b2d0e=0xffffffff,_0x5c23f9=_0x5b2d0e-0x1,_0x4d7282=_0x5b2d0e>>>0x1,_0x538fd2=[[_0x1a4e('0xffc'),_0x555c0d],[_0x1a4e('0x945'),_0x537c5a],[_0x1a4e('0xffd'),_0x2f97d8],['curry',_0x26da39],[_0x1a4e('0xffe'),_0x47a10e],[_0x1a4e('0x41d'),_0x2ce9e7],[_0x1a4e('0xfff'),_0x4e5f4e],['partialRight',_0x4e14a3],['rearg',_0x2d31be]],_0x324e87=_0x1a4e('0xe8'),_0x15ac5d=_0x1a4e('0xb17'),_0x4afbf1='[object\x20AsyncFunction]',_0x25458f=_0x1a4e('0xfca'),_0x16ffcb=_0x1a4e('0xb20'),_0x231b40=_0x1a4e('0x1000'),_0xe5a1d0='[object\x20Error]',_0x154200=_0x1a4e('0xf76'),_0x393021='[object\x20GeneratorFunction]',_0x2cc58f=_0x1a4e('0xf7f'),_0x114ec0=_0x1a4e('0xf80'),_0x37d758=_0x1a4e('0xf8e'),_0x4d7fd4=_0x1a4e('0xf78'),_0x2205fd=_0x1a4e('0xff0'),_0x4e13ee='[object\x20RegExp]',_0x104b15=_0x1a4e('0xf93'),_0x1d0bf4=_0x1a4e('0xf81'),_0x54e940=_0x1a4e('0xf82'),_0x327f35='[object\x20Undefined]',_0x1e84c7=_0x1a4e('0xf86'),_0x1fb4dd=_0x1a4e('0x1001'),_0x198859=_0x1a4e('0xf79'),_0x35fae4=_0x1a4e('0xf7a'),_0x38111b='[object\x20Float32Array]',_0x635809=_0x1a4e('0xf7b'),_0x24849d=_0x1a4e('0xf7c'),_0x427db4=_0x1a4e('0xf7d'),_0x3924b6='[object\x20Int32Array]',_0x452007=_0x1a4e('0xf83'),_0x1fd68d=_0x1a4e('0xf97'),_0x3ab77f=_0x1a4e('0xfcb'),_0xa78f14='[object\x20Uint32Array]',_0x1d05b1=/\b__p \+= '';/g,_0x3eebed=/\b(__p \+=) '' \+/g,_0x4393ef=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_0x41cbc6=/&(?:amp|lt|gt|quot|#39);/g,_0x293aba=/[&<>"']/g,_0x2921b8=RegExp(_0x41cbc6[_0x1a4e('0xfaa')]),_0x4c97a0=RegExp(_0x293aba['source']),_0x4f8edc=/<%-([\s\S]+?)%>/g,_0x24ce3c=/<%([\s\S]+?)%>/g,_0x2c353e=/<%=([\s\S]+?)%>/g,_0x4b3678=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_0x47697b=/^\w*$/,_0x3429f6=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_0x5b3201=/[\\^$.*+?()[\]{}|]/g,_0x6a5e7e=RegExp(_0x5b3201[_0x1a4e('0xfaa')]),_0x5e4981=/^\s+|\s+$/g,_0x42d7b3=/^\s+/,_0x7848e4=/\s+$/,_0x4c51b0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,_0x38832f=/\{\n\/\* \[wrapped with (.+)\] \*/,_0xe97e38=/,? & /,_0xf3b008=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,_0x366d9f=/\\(\\)?/g,_0x1de281=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,_0x522990=/\w*$/,_0x59ee37=/^[-+]0x[0-9a-f]+$/i,_0x51303a=/^0b[01]+$/i,_0x60bf4d=/^\[object .+?Constructor\]$/,_0x394b34=/^0o[0-7]+$/i,_0x562bc1=/^(?:0|[1-9]\d*)$/,_0x32d04a=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_0x1e08a0=/($^)/,_0x2d787b=/['\n\r\u2028\u2029\\]/g,_0x27eedc='\x5cu0300-\x5cu036f\x5cufe20-\x5cufe2f\x5cu20d0-\x5cu20ff',_0x1f4c91=_0x1a4e('0x1002'),_0x214e0e=_0x1a4e('0x1003'),_0x27862c='['+_0x1f4c91+']',_0x160440='['+_0x27eedc+']',_0x3c2362=_0x1a4e('0xfdd'),_0xbeae25=_0x1a4e('0xfde'),_0x3693ee=_0x1a4e('0x1004'),_0x1e375a=_0x1a4e('0xfdf')+_0x1f4c91+_0x3c2362+_0x1a4e('0x1005'),_0x32b6f2=_0x1a4e('0x1006'),_0x5aa32f='[^\x5cud800-\x5cudfff]',_0x2023fc='(?:\x5cud83c[\x5cudde6-\x5cuddff]){2}',_0x43f346=_0x1a4e('0xfe1'),_0x3d876f=_0x1a4e('0xfe2'),_0x4a0e5e='(?:'+_0x3693ee+'|'+_0x1e375a+')',_0x56d20d='(?:'+_0x3d876f+'|'+_0x1e375a+')',_0x33ca0b='(?:'+_0x160440+'|'+_0x32b6f2+')'+'?',_0x3e8d41=_0x1a4e('0x1007')+_0x33ca0b+(_0x1a4e('0xfe5')+[_0x5aa32f,_0x2023fc,_0x43f346][_0x1a4e('0x9e')]('|')+_0x1a4e('0xfe6')+_0x33ca0b+')*'),_0x2523fd=_0x1a4e('0xfe3')+[_0xbeae25,_0x2023fc,_0x43f346]['join']('|')+')'+_0x3e8d41,_0x22a10a='(?:'+[_0x5aa32f+_0x160440+'?',_0x160440,_0x2023fc,_0x43f346,_0x214e0e][_0x1a4e('0x9e')]('|')+')',_0x198e95=RegExp(_0x1a4e('0xfb3'),'g'),_0x1729d1=RegExp(_0x160440,'g'),_0x176c39=RegExp(_0x32b6f2+_0x1a4e('0x1008')+_0x32b6f2+')|'+_0x22a10a+_0x3e8d41,'g'),_0x4f815c=RegExp([_0x3d876f+'?'+_0x3693ee+_0x1a4e('0xfe7')+[_0x27862c,_0x3d876f,'$'][_0x1a4e('0x9e')]('|')+')',_0x56d20d+_0x1a4e('0xfe8')+[_0x27862c,_0x3d876f+_0x4a0e5e,'$'][_0x1a4e('0x9e')]('|')+')',_0x3d876f+'?'+_0x4a0e5e+'+(?:[\x27’](?:d|ll|m|re|s|t|ve))?',_0x3d876f+'+(?:[\x27’](?:D|LL|M|RE|S|T|VE))?','\x5cd*(?:1ST|2ND|3RD|(?![123])\x5cdTH)(?=\x5cb|[a-z_])',_0x1a4e('0x1009'),_0x3c2362,_0x2523fd][_0x1a4e('0x9e')]('|'),'g'),_0x359fae=RegExp(_0x1a4e('0x100a')+_0x27eedc+_0x1a4e('0x100b')),_0x267982=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_0x551b93=[_0x1a4e('0x104'),_0x1a4e('0x870'),_0x1a4e('0xf46'),_0x1a4e('0x100c'),'Error',_0x1a4e('0x100d'),_0x1a4e('0x100e'),'Function',_0x1a4e('0x100f'),_0x1a4e('0x1010'),'Int32Array','Map','Math','Object',_0x1a4e('0xf55'),'RegExp',_0x1a4e('0xe45'),_0x1a4e('0x1011'),_0x1a4e('0xf5b'),'TypeError',_0x1a4e('0xf5c'),'Uint8ClampedArray',_0x1a4e('0x1012'),_0x1a4e('0x1013'),_0x1a4e('0x1014'),'_',_0x1a4e('0x1015'),'isFinite',_0x1a4e('0x282'),_0x1a4e('0x1016')],_0x3d90d7=-0x1,_0x3dd4f7={};_0x3dd4f7[_0x38111b]=_0x3dd4f7[_0x635809]=_0x3dd4f7[_0x24849d]=_0x3dd4f7[_0x427db4]=_0x3dd4f7[_0x3924b6]=_0x3dd4f7[_0x452007]=_0x3dd4f7[_0x1fd68d]=_0x3dd4f7[_0x3ab77f]=_0x3dd4f7[_0xa78f14]=!0x0,_0x3dd4f7[_0x324e87]=_0x3dd4f7[_0x15ac5d]=_0x3dd4f7[_0x198859]=_0x3dd4f7[_0x25458f]=_0x3dd4f7[_0x35fae4]=_0x3dd4f7[_0x16ffcb]=_0x3dd4f7[_0xe5a1d0]=_0x3dd4f7[_0x154200]=_0x3dd4f7[_0x2cc58f]=_0x3dd4f7[_0x114ec0]=_0x3dd4f7[_0x4d7fd4]=_0x3dd4f7[_0x4e13ee]=_0x3dd4f7[_0x104b15]=_0x3dd4f7[_0x1d0bf4]=_0x3dd4f7[_0x1e84c7]=!0x1;var _0x41a4ee={};_0x41a4ee[_0x324e87]=_0x41a4ee[_0x15ac5d]=_0x41a4ee[_0x198859]=_0x41a4ee[_0x35fae4]=_0x41a4ee[_0x25458f]=_0x41a4ee[_0x16ffcb]=_0x41a4ee[_0x38111b]=_0x41a4ee[_0x635809]=_0x41a4ee[_0x24849d]=_0x41a4ee[_0x427db4]=_0x41a4ee[_0x3924b6]=_0x41a4ee[_0x2cc58f]=_0x41a4ee[_0x114ec0]=_0x41a4ee[_0x4d7fd4]=_0x41a4ee[_0x4e13ee]=_0x41a4ee[_0x104b15]=_0x41a4ee[_0x1d0bf4]=_0x41a4ee[_0x54e940]=_0x41a4ee[_0x452007]=_0x41a4ee[_0x1fd68d]=_0x41a4ee[_0x3ab77f]=_0x41a4ee[_0xa78f14]=!0x0,_0x41a4ee[_0xe5a1d0]=_0x41a4ee[_0x154200]=_0x41a4ee[_0x1e84c7]=!0x1;var _0x1cce6f={'\\':'\x5c','\'':'\x27','\n':'n','\r':'r','\u2028':_0x1a4e('0x1017'),'\u2029':_0x1a4e('0x1018')},_0x357152=parseFloat,_0x1e8de5=parseInt,_0x509e3e=_0x1a4e('0x85')==typeof _0x440b30&&_0x440b30&&_0x440b30['Object']===Object&&_0x440b30,_0x2d1932=_0x1a4e('0x85')==typeof self&&self&&self[_0x1a4e('0xfb5')]===Object&&self,_0x4c1475=_0x509e3e||_0x2d1932||Function(_0x1a4e('0x1019'))(),_0x5aa96f=_0x436452&&!_0x436452[_0x1a4e('0xfa8')]&&_0x436452,_0x357170=_0x5aa96f&&_0x1a4e('0x85')==typeof _0x1337bb&&_0x1337bb&&!_0x1337bb[_0x1a4e('0xfa8')]&&_0x1337bb,_0x5cd890=_0x357170&&_0x357170['exports']===_0x5aa96f,_0x30edfd=_0x5cd890&&_0x509e3e['process'],_0x165fc1=function(){try{var _0x440b30=_0x357170&&_0x357170[_0x1a4e('0xfd8')]&&_0x357170['require']('util')['types'];return _0x440b30||_0x30edfd&&_0x30edfd[_0x1a4e('0xfd9')]&&_0x30edfd[_0x1a4e('0xfd9')](_0x1a4e('0x101a'));}catch(_0x2fd671){}}(),_0x4356f4=_0x165fc1&&_0x165fc1[_0x1a4e('0x101b')],_0x24b27f=_0x165fc1&&_0x165fc1[_0x1a4e('0xb1f')],_0x2106f9=_0x165fc1&&_0x165fc1[_0x1a4e('0x101c')],_0x317149=_0x165fc1&&_0x165fc1[_0x1a4e('0xb1d')],_0x897de8=_0x165fc1&&_0x165fc1[_0x1a4e('0xff5')],_0x55135e=_0x165fc1&&_0x165fc1['isTypedArray'];function _0x252c1e(_0x440b30,_0x436452,_0x51447d){switch(_0x51447d[_0x1a4e('0x1e')]){case 0x0:return _0x440b30[_0x1a4e('0x1')](_0x436452);case 0x1:return _0x440b30['call'](_0x436452,_0x51447d[0x0]);case 0x2:return _0x440b30[_0x1a4e('0x1')](_0x436452,_0x51447d[0x0],_0x51447d[0x1]);case 0x3:return _0x440b30[_0x1a4e('0x1')](_0x436452,_0x51447d[0x0],_0x51447d[0x1],_0x51447d[0x2]);}return _0x440b30[_0x1a4e('0x8b')](_0x436452,_0x51447d);}function _0x595aba(_0x440b30,_0x436452,_0x51447d,_0x1337bb){for(var _0x2505f4=-0x1,_0xbd18f7=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];++_0x2505f4<_0xbd18f7;){var _0x2d3764=_0x440b30[_0x2505f4];_0x436452(_0x1337bb,_0x2d3764,_0x51447d(_0x2d3764),_0x440b30);}return _0x1337bb;}function _0x44019c(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];++_0x51447d<_0x1337bb&&!0x1!==_0x436452(_0x440b30[_0x51447d],_0x51447d,_0x440b30););return _0x440b30;}function _0x22733f(_0x440b30,_0x436452){for(var _0x51447d=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];_0x51447d--&&!0x1!==_0x436452(_0x440b30[_0x51447d],_0x51447d,_0x440b30););return _0x440b30;}function _0x30e0e3(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];++_0x51447d<_0x1337bb;)if(!_0x436452(_0x440b30[_0x51447d],_0x51447d,_0x440b30))return!0x1;return!0x0;}function _0x57a63d(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')],_0x2505f4=0x0,_0xbd18f7=[];++_0x51447d<_0x1337bb;){var _0x2d3764=_0x440b30[_0x51447d];_0x436452(_0x2d3764,_0x51447d,_0x440b30)&&(_0xbd18f7[_0x2505f4++]=_0x2d3764);}return _0xbd18f7;}function _0x50dde6(_0x440b30,_0x436452){return!!(null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')])&&_0x3790a1(_0x440b30,_0x436452,0x0)>-0x1;}function _0xe52a5e(_0x440b30,_0x436452,_0x51447d){for(var _0x1337bb=-0x1,_0x2505f4=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];++_0x1337bb<_0x2505f4;)if(_0x51447d(_0x436452,_0x440b30[_0x1337bb]))return!0x0;return!0x1;}function _0x4c9459(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')],_0x2505f4=Array(_0x1337bb);++_0x51447d<_0x1337bb;)_0x2505f4[_0x51447d]=_0x436452(_0x440b30[_0x51447d],_0x51447d,_0x440b30);return _0x2505f4;}function _0x2eb09c(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=_0x436452['length'],_0x2505f4=_0x440b30['length'];++_0x51447d<_0x1337bb;)_0x440b30[_0x2505f4+_0x51447d]=_0x436452[_0x51447d];return _0x440b30;}function _0x6683bb(_0x440b30,_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=-0x1,_0xbd18f7=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];for(_0x1337bb&&_0xbd18f7&&(_0x51447d=_0x440b30[++_0x2505f4]);++_0x2505f4<_0xbd18f7;)_0x51447d=_0x436452(_0x51447d,_0x440b30[_0x2505f4],_0x2505f4,_0x440b30);return _0x51447d;}function _0x3a885b(_0x440b30,_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=null==_0x440b30?0x0:_0x440b30['length'];for(_0x1337bb&&_0x2505f4&&(_0x51447d=_0x440b30[--_0x2505f4]);_0x2505f4--;)_0x51447d=_0x436452(_0x51447d,_0x440b30[_0x2505f4],_0x2505f4,_0x440b30);return _0x51447d;}function _0x2ebb05(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=null==_0x440b30?0x0:_0x440b30['length'];++_0x51447d<_0x1337bb;)if(_0x436452(_0x440b30[_0x51447d],_0x51447d,_0x440b30))return!0x0;return!0x1;}var _0x537b8f=_0x1dce68(_0x1a4e('0x1e'));function _0x3fd77b(_0x440b30,_0x436452,_0x51447d){var _0x1337bb;return _0x51447d(_0x440b30,function(_0x440b30,_0x51447d,_0x2505f4){if(_0x436452(_0x440b30,_0x51447d,_0x2505f4))return _0x1337bb=_0x51447d,!0x1;}),_0x1337bb;}function _0x265615(_0x440b30,_0x436452,_0x51447d,_0x1337bb){for(var _0x2505f4=_0x440b30[_0x1a4e('0x1e')],_0xbd18f7=_0x51447d+(_0x1337bb?0x1:-0x1);_0x1337bb?_0xbd18f7--:++_0xbd18f7<_0x2505f4;)if(_0x436452(_0x440b30[_0xbd18f7],_0xbd18f7,_0x440b30))return _0xbd18f7;return-0x1;}function _0x3790a1(_0x440b30,_0x436452,_0x51447d){return _0x436452==_0x436452?function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x51447d-0x1,_0x2505f4=_0x440b30[_0x1a4e('0x1e')];for(;++_0x1337bb<_0x2505f4;)if(_0x440b30[_0x1337bb]===_0x436452)return _0x1337bb;return-0x1;}(_0x440b30,_0x436452,_0x51447d):_0x265615(_0x440b30,_0x3b5870,_0x51447d);}function _0x324898(_0x440b30,_0x436452,_0x51447d,_0x1337bb){for(var _0x2505f4=_0x51447d-0x1,_0xbd18f7=_0x440b30[_0x1a4e('0x1e')];++_0x2505f4<_0xbd18f7;)if(_0x1337bb(_0x440b30[_0x2505f4],_0x436452))return _0x2505f4;return-0x1;}function _0x3b5870(_0x440b30){return _0x440b30!=_0x440b30;}function _0x3cb927(_0x440b30,_0x436452){var _0x51447d=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];return _0x51447d?_0x1ac656(_0x440b30,_0x436452)/_0x51447d:_0x1d906b;}function _0x1dce68(_0x440b30){return function(_0x436452){return null==_0x436452?_0xbd18f7:_0x436452[_0x440b30];};}function _0x44bfbc(_0x440b30){return function(_0x436452){return null==_0x440b30?_0xbd18f7:_0x440b30[_0x436452];};}function _0x5817b5(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4){return _0x2505f4(_0x440b30,function(_0x440b30,_0x2505f4,_0xbd18f7){_0x51447d=_0x1337bb?(_0x1337bb=!0x1,_0x440b30):_0x436452(_0x51447d,_0x440b30,_0x2505f4,_0xbd18f7);}),_0x51447d;}function _0x1ac656(_0x440b30,_0x436452){for(var _0x51447d,_0x1337bb=-0x1,_0x2505f4=_0x440b30['length'];++_0x1337bb<_0x2505f4;){var _0x2d3764=_0x436452(_0x440b30[_0x1337bb]);_0x2d3764!==_0xbd18f7&&(_0x51447d=_0x51447d===_0xbd18f7?_0x2d3764:_0x51447d+_0x2d3764);}return _0x51447d;}function _0x17d56f(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=Array(_0x440b30);++_0x51447d<_0x440b30;)_0x1337bb[_0x51447d]=_0x436452(_0x51447d);return _0x1337bb;}function _0x11c8df(_0x440b30){return function(_0x436452){return _0x440b30(_0x436452);};}function _0x4e0b90(_0x440b30,_0x436452){return _0x4c9459(_0x436452,function(_0x436452){return _0x440b30[_0x436452];});}function _0xdb6868(_0x440b30,_0x436452){return _0x440b30[_0x1a4e('0x178')](_0x436452);}function _0x5c6022(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=_0x440b30[_0x1a4e('0x1e')];++_0x51447d<_0x1337bb&&_0x3790a1(_0x436452,_0x440b30[_0x51447d],0x0)>-0x1;);return _0x51447d;}function _0x4040cc(_0x440b30,_0x436452){for(var _0x51447d=_0x440b30['length'];_0x51447d--&&_0x3790a1(_0x436452,_0x440b30[_0x51447d],0x0)>-0x1;);return _0x51447d;}var _0x44220f=_0x44bfbc({'À':'A','Á':'A','Â':'A','Ã':'A','Ä':'A','Å':'A','à':'a','á':'a','â':'a','ã':'a','ä':'a','å':'a','Ç':'C','ç':'c','Ð':'D','ð':'d','È':'E','É':'E','Ê':'E','Ë':'E','è':'e','é':'e','ê':'e','ë':'e','Ì':'I','Í':'I','Î':'I','Ï':'I','ì':'i','í':'i','î':'i','ï':'i','Ñ':'N','ñ':'n','Ò':'O','Ó':'O','Ô':'O','Õ':'O','Ö':'O','Ø':'O','ò':'o','ó':'o','ô':'o','õ':'o','ö':'o','ø':'o','Ù':'U','Ú':'U','Û':'U','Ü':'U','ù':'u','ú':'u','û':'u','ü':'u','Ý':'Y','ý':'y','ÿ':'y','Æ':'Ae','æ':'ae','Þ':'Th','þ':'th','ß':'ss','Ā':'A','Ă':'A','Ą':'A','ā':'a','ă':'a','ą':'a','Ć':'C','Ĉ':'C','Ċ':'C','Č':'C','ć':'c','ĉ':'c','ċ':'c','č':'c','Ď':'D','Đ':'D','ď':'d','đ':'d','Ē':'E','Ĕ':'E','Ė':'E','Ę':'E','Ě':'E','ē':'e','ĕ':'e','ė':'e','ę':'e','ě':'e','Ĝ':'G','Ğ':'G','Ġ':'G','Ģ':'G','ĝ':'g','ğ':'g','ġ':'g','ģ':'g','Ĥ':'H','Ħ':'H','ĥ':'h','ħ':'h','Ĩ':'I','Ī':'I','Ĭ':'I','Į':'I','İ':'I','ĩ':'i','ī':'i','ĭ':'i','į':'i','ı':'i','Ĵ':'J','ĵ':'j','Ķ':'K','ķ':'k','ĸ':'k','Ĺ':'L','Ļ':'L','Ľ':'L','Ŀ':'L','Ł':'L','ĺ':'l','ļ':'l','ľ':'l','ŀ':'l','ł':'l','Ń':'N','Ņ':'N','Ň':'N','Ŋ':'N','ń':'n','ņ':'n','ň':'n','ŋ':'n','Ō':'O','Ŏ':'O','Ő':'O','ō':'o','ŏ':'o','ő':'o','Ŕ':'R','Ŗ':'R','Ř':'R','ŕ':'r','ŗ':'r','ř':'r','Ś':'S','Ŝ':'S','Ş':'S','Š':'S','ś':'s','ŝ':'s','ş':'s','š':'s','Ţ':'T','Ť':'T','Ŧ':'T','ţ':'t','ť':'t','ŧ':'t','Ũ':'U','Ū':'U','Ŭ':'U','Ů':'U','Ű':'U','Ų':'U','ũ':'u','ū':'u','ŭ':'u','ů':'u','ű':'u','ų':'u','Ŵ':'W','ŵ':'w','Ŷ':'Y','ŷ':'y','Ÿ':'Y','Ź':'Z','Ż':'Z','Ž':'Z','ź':'z','ż':'z','ž':'z','IJ':'IJ','ij':'ij','Œ':'Oe','œ':'oe','ʼn':'\x27n','ſ':'s'}),_0x10e3b0=_0x44bfbc({'&':'&','<':'<','>':_0x1a4e('0x101d'),'"':_0x1a4e('0x101e'),'\'':'''});function _0x3a81e5(_0x440b30){return'\x5c'+_0x1cce6f[_0x440b30];}function _0x3108e6(_0x440b30){return _0x359fae[_0x1a4e('0x8d0')](_0x440b30);}function _0x14af7f(_0x440b30){var _0x436452=-0x1,_0x51447d=Array(_0x440b30[_0x1a4e('0x220')]);return _0x440b30[_0x1a4e('0x3b')](function(_0x440b30,_0x1337bb){_0x51447d[++_0x436452]=[_0x1337bb,_0x440b30];}),_0x51447d;}function _0x5f43ce(_0x440b30,_0x436452){return function(_0x51447d){return _0x440b30(_0x436452(_0x51447d));};}function _0x1146c7(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=_0x440b30['length'],_0x2505f4=0x0,_0xbd18f7=[];++_0x51447d<_0x1337bb;){var _0x2d3764=_0x440b30[_0x51447d];_0x2d3764!==_0x436452&&_0x2d3764!==_0x545383||(_0x440b30[_0x51447d]=_0x545383,_0xbd18f7[_0x2505f4++]=_0x51447d);}return _0xbd18f7;}function _0x20696f(_0x440b30){var _0x436452=-0x1,_0x51447d=Array(_0x440b30[_0x1a4e('0x220')]);return _0x440b30['forEach'](function(_0x440b30){_0x51447d[++_0x436452]=_0x440b30;}),_0x51447d;}function _0xfb059e(_0x440b30){var _0x436452=-0x1,_0x51447d=Array(_0x440b30[_0x1a4e('0x220')]);return _0x440b30[_0x1a4e('0x3b')](function(_0x440b30){_0x51447d[++_0x436452]=[_0x440b30,_0x440b30];}),_0x51447d;}function _0x4b3931(_0x440b30){return _0x3108e6(_0x440b30)?function(_0x440b30){var _0x436452=_0x176c39[_0x1a4e('0xfab')]=0x0;for(;_0x176c39[_0x1a4e('0x8d0')](_0x440b30);)++_0x436452;return _0x436452;}(_0x440b30):_0x537b8f(_0x440b30);}function _0x1dd38d(_0x440b30){return _0x3108e6(_0x440b30)?function(_0x440b30){return _0x440b30[_0x1a4e('0x909')](_0x176c39)||[];}(_0x440b30):function(_0x440b30){return _0x440b30[_0x1a4e('0x2be')]('');}(_0x440b30);}var _0x4362fc=_0x44bfbc({'&':'&','<':'<','>':'>','"':'\x22',''':'\x27'});var _0x70d4ef=function _0x440b30(_0x436452){var _0x51447d,_0x1337bb=(_0x436452=null==_0x436452?_0x4c1475:_0x70d4ef['defaults'](_0x4c1475['Object'](),_0x436452,_0x70d4ef['pick'](_0x4c1475,_0x551b93)))[_0x1a4e('0x104')],_0x2505f4=_0x436452[_0x1a4e('0x100c')],_0x27eedc=_0x436452[_0x1a4e('0x101f')],_0x1f4c91=_0x436452['Function'],_0x214e0e=_0x436452[_0x1a4e('0x1020')],_0x27862c=_0x436452[_0x1a4e('0xfb5')],_0x160440=_0x436452[_0x1a4e('0x1021')],_0x3c2362=_0x436452['String'],_0xbeae25=_0x436452['TypeError'],_0x3693ee=_0x1337bb['prototype'],_0x1e375a=_0x1f4c91[_0x1a4e('0xa')],_0x32b6f2=_0x27862c[_0x1a4e('0xa')],_0x5aa32f=_0x436452[_0x1a4e('0xfad')],_0x2023fc=_0x1e375a['toString'],_0x43f346=_0x32b6f2[_0x1a4e('0xb')],_0x3d876f=0x0,_0x4a0e5e=(_0x51447d=/[^.]+$/[_0x1a4e('0x2af')](_0x5aa32f&&_0x5aa32f[_0x1a4e('0x56')]&&_0x5aa32f['keys'][_0x1a4e('0xfd0')]||''))?_0x1a4e('0xfd1')+_0x51447d:'',_0x56d20d=_0x32b6f2[_0x1a4e('0x95')],_0x33ca0b=_0x2023fc[_0x1a4e('0x1')](_0x27862c),_0x3e8d41=_0x4c1475['_'],_0x2523fd=_0x160440('^'+_0x2023fc[_0x1a4e('0x1')](_0x43f346)[_0x1a4e('0x115')](_0x5b3201,_0x1a4e('0xf92'))[_0x1a4e('0x115')](/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,_0x1a4e('0x1022'))+'$'),_0x22a10a=_0x5cd890?_0x436452[_0x1a4e('0x870')]:_0xbd18f7,_0x176c39=_0x436452[_0x1a4e('0xf5b')],_0x359fae=_0x436452[_0x1a4e('0xf5c')],_0x1cce6f=_0x22a10a?_0x22a10a['allocUnsafe']:_0xbd18f7,_0x509e3e=_0x5f43ce(_0x27862c[_0x1a4e('0xd98')],_0x27862c),_0x2d1932=_0x27862c[_0x1a4e('0x7')],_0x5aa96f=_0x32b6f2[_0x1a4e('0xfbb')],_0x357170=_0x3693ee['splice'],_0x30edfd=_0x176c39?_0x176c39[_0x1a4e('0xfce')]:_0xbd18f7,_0x165fc1=_0x176c39?_0x176c39[_0x1a4e('0x335')]:_0xbd18f7,_0x537b8f=_0x176c39?_0x176c39[_0x1a4e('0x4')]:_0xbd18f7,_0x44bfbc=function(){try{var _0x440b30=_0x11645e(_0x27862c,_0x1a4e('0x2'));return _0x440b30({},'',{}),_0x440b30;}catch(_0x5ab454){}}(),_0x23061b=_0x436452[_0x1a4e('0x1015')]!==_0x4c1475[_0x1a4e('0x1015')]&&_0x436452[_0x1a4e('0x1015')],_0x46f42b=_0x2505f4&&_0x2505f4['now']!==_0x4c1475[_0x1a4e('0x100c')][_0x1a4e('0xe3f')]&&_0x2505f4[_0x1a4e('0xe3f')],_0x11f6ce=_0x436452[_0x1a4e('0x1016')]!==_0x4c1475[_0x1a4e('0x1016')]&&_0x436452[_0x1a4e('0x1016')],_0x323fb8=_0x214e0e[_0x1a4e('0x6d')],_0x3331db=_0x214e0e[_0x1a4e('0xb4')],_0x443225=_0x27862c[_0x1a4e('0xd85')],_0x17f84a=_0x22a10a?_0x22a10a[_0x1a4e('0x871')]:_0xbd18f7,_0x8e60d7=_0x436452[_0x1a4e('0x22e')],_0x5a3cc3=_0x3693ee[_0x1a4e('0x9e')],_0x3ae882=_0x5f43ce(_0x27862c['keys'],_0x27862c),_0x44e3db=_0x214e0e[_0x1a4e('0x6c')],_0x2a9a65=_0x214e0e[_0x1a4e('0x74')],_0xbb4035=_0x2505f4['now'],_0x39d685=_0x436452[_0x1a4e('0x282')],_0x339f2e=_0x214e0e[_0x1a4e('0x12e')],_0x1fd47e=_0x3693ee[_0x1a4e('0x9b')],_0xfda5ac=_0x11645e(_0x436452,'DataView'),_0x3d2bb3=_0x11645e(_0x436452,'Map'),_0x2c7025=_0x11645e(_0x436452,_0x1a4e('0xf55')),_0x32bbe2=_0x11645e(_0x436452,_0x1a4e('0xe45')),_0x114e66=_0x11645e(_0x436452,'WeakMap'),_0x2c1b1c=_0x11645e(_0x27862c,_0x1a4e('0x7')),_0x3e6aad=_0x114e66&&new _0x114e66(),_0x3192fa={},_0x11f250=_0x35ba0d(_0xfda5ac),_0x5736e3=_0x35ba0d(_0x3d2bb3),_0x530a16=_0x35ba0d(_0x2c7025),_0x4762eb=_0x35ba0d(_0x32bbe2),_0x40300d=_0x35ba0d(_0x114e66),_0x2c8280=_0x176c39?_0x176c39[_0x1a4e('0xa')]:_0xbd18f7,_0x1adbf2=_0x2c8280?_0x2c8280[_0x1a4e('0x263')]:_0xbd18f7,_0x3c1188=_0x2c8280?_0x2c8280[_0x1a4e('0x95')]:_0xbd18f7;function _0x4d4771(_0x440b30){if(_0x5c0817(_0x440b30)&&!_0x51876e(_0x440b30)&&!(_0x440b30 instanceof _0x2de872)){if(_0x440b30 instanceof _0x52c0b4)return _0x440b30;if(_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x1a4e('0x1023')))return _0x275bb2(_0x440b30);}return new _0x52c0b4(_0x440b30);}var _0x33406c=function(){function _0x440b30(){}return function(_0x436452){if(!_0x4577ce(_0x436452))return{};if(_0x2d1932)return _0x2d1932(_0x436452);_0x440b30[_0x1a4e('0xa')]=_0x436452;var _0x51447d=new _0x440b30();return _0x440b30[_0x1a4e('0xa')]=_0xbd18f7,_0x51447d;};}();function _0x3cde43(){}function _0x52c0b4(_0x440b30,_0x436452){this['__wrapped__']=_0x440b30,this[_0x1a4e('0x1024')]=[],this[_0x1a4e('0x1025')]=!!_0x436452,this['__index__']=0x0,this[_0x1a4e('0x1026')]=_0xbd18f7;}function _0x2de872(_0x440b30){this[_0x1a4e('0x1023')]=_0x440b30,this[_0x1a4e('0x1024')]=[],this[_0x1a4e('0x1027')]=0x1,this[_0x1a4e('0x1028')]=!0x1,this[_0x1a4e('0x1029')]=[],this['__takeCount__']=_0x5b2d0e,this[_0x1a4e('0x102a')]=[];}function _0xd14379(_0x440b30){var _0x436452=-0x1,_0x51447d=null==_0x440b30?0x0:_0x440b30['length'];for(this[_0x1a4e('0xb5')]();++_0x436452<_0x51447d;){var _0x1337bb=_0x440b30[_0x436452];this[_0x1a4e('0x17a')](_0x1337bb[0x0],_0x1337bb[0x1]);}}function _0x12946d(_0x440b30){var _0x436452=-0x1,_0x51447d=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];for(this['clear']();++_0x436452<_0x51447d;){var _0x1337bb=_0x440b30[_0x436452];this[_0x1a4e('0x17a')](_0x1337bb[0x0],_0x1337bb[0x1]);}}function _0x1ca455(_0x440b30){var _0x436452=-0x1,_0x51447d=null==_0x440b30?0x0:_0x440b30['length'];for(this[_0x1a4e('0xb5')]();++_0x436452<_0x51447d;){var _0x1337bb=_0x440b30[_0x436452];this[_0x1a4e('0x17a')](_0x1337bb[0x0],_0x1337bb[0x1]);}}function _0x34b23b(_0x440b30){var _0x436452=-0x1,_0x51447d=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];for(this[_0x1a4e('0xfb8')]=new _0x1ca455();++_0x436452<_0x51447d;)this[_0x1a4e('0x177')](_0x440b30[_0x436452]);}function _0x1ba0ac(_0x440b30){var _0x436452=this[_0x1a4e('0xfb8')]=new _0x12946d(_0x440b30);this[_0x1a4e('0x220')]=_0x436452[_0x1a4e('0x220')];}function _0x30feb7(_0x440b30,_0x436452){var _0x51447d=_0x51876e(_0x440b30),_0x1337bb=!_0x51447d&&_0x213c10(_0x440b30),_0x2505f4=!_0x51447d&&!_0x1337bb&&_0x1ed8f9(_0x440b30),_0xbd18f7=!_0x51447d&&!_0x1337bb&&!_0x2505f4&&_0x30f66f(_0x440b30),_0x2d3764=_0x51447d||_0x1337bb||_0x2505f4||_0xbd18f7,_0x3547b5=_0x2d3764?_0x17d56f(_0x440b30[_0x1a4e('0x1e')],_0x3c2362):[],_0x4dcadc=_0x3547b5[_0x1a4e('0x1e')];for(var _0x378c12 in _0x440b30)!_0x436452&&!_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x378c12)||_0x2d3764&&(_0x1a4e('0x1e')==_0x378c12||_0x2505f4&&(_0x1a4e('0x1af')==_0x378c12||'parent'==_0x378c12)||_0xbd18f7&&(_0x1a4e('0x613')==_0x378c12||_0x1a4e('0x876')==_0x378c12||_0x1a4e('0xf61')==_0x378c12)||_0x8d873f(_0x378c12,_0x4dcadc))||_0x3547b5[_0x1a4e('0x46')](_0x378c12);return _0x3547b5;}function _0x52d803(_0x440b30){var _0x436452=_0x440b30[_0x1a4e('0x1e')];return _0x436452?_0x440b30[_0x4b9e1c(0x0,_0x436452-0x1)]:_0xbd18f7;}function _0x1b5508(_0x440b30,_0x436452){return _0x3214ce(_0x35e077(_0x440b30),_0x5312f4(_0x436452,0x0,_0x440b30[_0x1a4e('0x1e')]));}function _0x25615b(_0x440b30){return _0x3214ce(_0x35e077(_0x440b30));}function _0x26bd45(_0x440b30,_0x436452,_0x51447d){(_0x51447d===_0xbd18f7||_0x37d7c6(_0x440b30[_0x436452],_0x51447d))&&(_0x51447d!==_0xbd18f7||_0x436452 in _0x440b30)||_0x429aa1(_0x440b30,_0x436452,_0x51447d);}function _0x2e6e6e(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x440b30[_0x436452];_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x436452)&&_0x37d7c6(_0x1337bb,_0x51447d)&&(_0x51447d!==_0xbd18f7||_0x436452 in _0x440b30)||_0x429aa1(_0x440b30,_0x436452,_0x51447d);}function _0x4dc208(_0x440b30,_0x436452){for(var _0x51447d=_0x440b30['length'];_0x51447d--;)if(_0x37d7c6(_0x440b30[_0x51447d][0x0],_0x436452))return _0x51447d;return-0x1;}function _0x4cccee(_0x440b30,_0x436452,_0x51447d,_0x1337bb){return _0xf54e13(_0x440b30,function(_0x440b30,_0x2505f4,_0xbd18f7){_0x436452(_0x1337bb,_0x440b30,_0x51447d(_0x440b30),_0xbd18f7);}),_0x1337bb;}function _0x325ae7(_0x440b30,_0x436452){return _0x440b30&&_0x58e4fc(_0x436452,_0x75a98e(_0x436452),_0x440b30);}function _0x429aa1(_0x440b30,_0x436452,_0x51447d){'__proto__'==_0x436452&&_0x44bfbc?_0x44bfbc(_0x440b30,_0x436452,{'configurable':!0x0,'enumerable':!0x0,'value':_0x51447d,'writable':!0x0}):_0x440b30[_0x436452]=_0x51447d;}function _0x521e5b(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x2505f4=_0x436452[_0x1a4e('0x1e')],_0x2d3764=_0x1337bb(_0x2505f4),_0x3547b5=null==_0x440b30;++_0x51447d<_0x2505f4;)_0x2d3764[_0x51447d]=_0x3547b5?_0xbd18f7:_0x27ebd7(_0x440b30,_0x436452[_0x51447d]);return _0x2d3764;}function _0x5312f4(_0x440b30,_0x436452,_0x51447d){return _0x440b30==_0x440b30&&(_0x51447d!==_0xbd18f7&&(_0x440b30=_0x440b30<=_0x51447d?_0x440b30:_0x51447d),_0x436452!==_0xbd18f7&&(_0x440b30=_0x440b30>=_0x436452?_0x440b30:_0x436452)),_0x440b30;}function _0x3fb61c(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764){var _0x3547b5,_0x4dcadc=_0x436452&_0x4398b5,_0x378c12=_0x436452&_0x3eecdb,_0x599dd1=_0x436452&_0x1b35a2;if(_0x51447d&&(_0x3547b5=_0x2505f4?_0x51447d(_0x440b30,_0x1337bb,_0x2505f4,_0x2d3764):_0x51447d(_0x440b30)),_0x3547b5!==_0xbd18f7)return _0x3547b5;if(!_0x4577ce(_0x440b30))return _0x440b30;var _0x545383=_0x51876e(_0x440b30);if(_0x545383){if(_0x3547b5=function(_0x440b30){var _0x436452=_0x440b30[_0x1a4e('0x1e')],_0x51447d=new _0x440b30[(_0x1a4e('0x10'))](_0x436452);return _0x436452&&_0x1a4e('0x9')==typeof _0x440b30[0x0]&&_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x1a4e('0xbd'))&&(_0x51447d['index']=_0x440b30[_0x1a4e('0xbd')],_0x51447d[_0x1a4e('0xfc7')]=_0x440b30[_0x1a4e('0xfc7')]),_0x51447d;}(_0x440b30),!_0x4dcadc)return _0x35e077(_0x440b30,_0x3547b5);}else{var _0x5c5d87=_0x1fae50(_0x440b30),_0x3ae387=_0x5c5d87==_0x154200||_0x5c5d87==_0x393021;if(_0x1ed8f9(_0x440b30))return _0x487d82(_0x440b30,_0x4dcadc);if(_0x5c5d87==_0x4d7fd4||_0x5c5d87==_0x324e87||_0x3ae387&&!_0x2505f4){if(_0x3547b5=_0x378c12||_0x3ae387?{}:_0x13e619(_0x440b30),!_0x4dcadc)return _0x378c12?function(_0x440b30,_0x436452){return _0x58e4fc(_0x440b30,_0x5c88fe(_0x440b30),_0x436452);}(_0x440b30,function(_0x440b30,_0x436452){return _0x440b30&&_0x58e4fc(_0x436452,_0x1501a6(_0x436452),_0x440b30);}(_0x3547b5,_0x440b30)):function(_0x440b30,_0x436452){return _0x58e4fc(_0x440b30,_0x499a6e(_0x440b30),_0x436452);}(_0x440b30,_0x325ae7(_0x3547b5,_0x440b30));}else{if(!_0x41a4ee[_0x5c5d87])return _0x2505f4?_0x440b30:{};_0x3547b5=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb,_0x2505f4=_0x440b30[_0x1a4e('0x10')];switch(_0x436452){case _0x198859:return _0x2fc999(_0x440b30);case _0x25458f:case _0x16ffcb:return new _0x2505f4(+_0x440b30);case _0x35fae4:return function(_0x440b30,_0x436452){var _0x51447d=_0x436452?_0x2fc999(_0x440b30[_0x1a4e('0x613')]):_0x440b30[_0x1a4e('0x613')];return new _0x440b30['constructor'](_0x51447d,_0x440b30[_0x1a4e('0xf61')],_0x440b30[_0x1a4e('0x876')]);}(_0x440b30,_0x51447d);case _0x38111b:case _0x635809:case _0x24849d:case _0x427db4:case _0x3924b6:case _0x452007:case _0x1fd68d:case _0x3ab77f:case _0xa78f14:return _0x9036c5(_0x440b30,_0x51447d);case _0x2cc58f:return new _0x2505f4();case _0x114ec0:case _0x1d0bf4:return new _0x2505f4(_0x440b30);case _0x4e13ee:return function(_0x440b30){var _0x436452=new _0x440b30[(_0x1a4e('0x10'))](_0x440b30[_0x1a4e('0xfaa')],_0x522990['exec'](_0x440b30));return _0x436452['lastIndex']=_0x440b30['lastIndex'],_0x436452;}(_0x440b30);case _0x104b15:return new _0x2505f4();case _0x54e940:return _0x1337bb=_0x440b30,_0x1adbf2?_0x27862c(_0x1adbf2[_0x1a4e('0x1')](_0x1337bb)):{};}}(_0x440b30,_0x5c5d87,_0x4dcadc);}}_0x2d3764||(_0x2d3764=new _0x1ba0ac());var _0x537c5a=_0x2d3764[_0x1a4e('0x179')](_0x440b30);if(_0x537c5a)return _0x537c5a;if(_0x2d3764[_0x1a4e('0x17a')](_0x440b30,_0x3547b5),_0xc813e5(_0x440b30))return _0x440b30['forEach'](function(_0x1337bb){_0x3547b5['add'](_0x3fb61c(_0x1337bb,_0x436452,_0x51447d,_0x1337bb,_0x440b30,_0x2d3764));}),_0x3547b5;if(_0x5deb42(_0x440b30))return _0x440b30['forEach'](function(_0x1337bb,_0x2505f4){_0x3547b5[_0x1a4e('0x17a')](_0x2505f4,_0x3fb61c(_0x1337bb,_0x436452,_0x51447d,_0x2505f4,_0x440b30,_0x2d3764));}),_0x3547b5;var _0x2f97d8=_0x545383?_0xbd18f7:(_0x599dd1?_0x378c12?_0x5482db:_0x408a92:_0x378c12?_0x1501a6:_0x75a98e)(_0x440b30);return _0x44019c(_0x2f97d8||_0x440b30,function(_0x1337bb,_0x2505f4){_0x2f97d8&&(_0x1337bb=_0x440b30[_0x2505f4=_0x1337bb]),_0x2e6e6e(_0x3547b5,_0x2505f4,_0x3fb61c(_0x1337bb,_0x436452,_0x51447d,_0x2505f4,_0x440b30,_0x2d3764));}),_0x3547b5;}function _0x2c844f(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x51447d[_0x1a4e('0x1e')];if(null==_0x440b30)return!_0x1337bb;for(_0x440b30=_0x27862c(_0x440b30);_0x1337bb--;){var _0x2505f4=_0x51447d[_0x1337bb],_0x2d3764=_0x436452[_0x2505f4],_0x3547b5=_0x440b30[_0x2505f4];if(_0x3547b5===_0xbd18f7&&!(_0x2505f4 in _0x440b30)||!_0x2d3764(_0x3547b5))return!0x1;}return!0x0;}function _0x342f27(_0x440b30,_0x436452,_0x51447d){if(_0x1a4e('0x68')!=typeof _0x440b30)throw new _0xbeae25(_0x4dcadc);return _0x3685b6(function(){_0x440b30[_0x1a4e('0x8b')](_0xbd18f7,_0x51447d);},_0x436452);}function _0x52c0df(_0x440b30,_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=-0x1,_0xbd18f7=_0x50dde6,_0x3547b5=!0x0,_0x4dcadc=_0x440b30[_0x1a4e('0x1e')],_0x378c12=[],_0x599dd1=_0x436452[_0x1a4e('0x1e')];if(!_0x4dcadc)return _0x378c12;_0x51447d&&(_0x436452=_0x4c9459(_0x436452,_0x11c8df(_0x51447d))),_0x1337bb?(_0xbd18f7=_0xe52a5e,_0x3547b5=!0x1):_0x436452[_0x1a4e('0x1e')]>=_0x2d3764&&(_0xbd18f7=_0xdb6868,_0x3547b5=!0x1,_0x436452=new _0x34b23b(_0x436452));_0x31af4e:for(;++_0x2505f4<_0x4dcadc;){var _0x545383=_0x440b30[_0x2505f4],_0x4398b5=null==_0x51447d?_0x545383:_0x51447d(_0x545383);if(_0x545383=_0x1337bb||0x0!==_0x545383?_0x545383:0x0,_0x3547b5&&_0x4398b5==_0x4398b5){for(var _0x3eecdb=_0x599dd1;_0x3eecdb--;)if(_0x436452[_0x3eecdb]===_0x4398b5)continue _0x31af4e;_0x378c12[_0x1a4e('0x46')](_0x545383);}else _0xbd18f7(_0x436452,_0x4398b5,_0x1337bb)||_0x378c12[_0x1a4e('0x46')](_0x545383);}return _0x378c12;}_0x4d4771[_0x1a4e('0x102b')]={'escape':_0x4f8edc,'evaluate':_0x24ce3c,'interpolate':_0x2c353e,'variable':'','imports':{'_':_0x4d4771}},_0x4d4771[_0x1a4e('0xa')]=_0x3cde43[_0x1a4e('0xa')],_0x4d4771[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x4d4771,_0x52c0b4['prototype']=_0x33406c(_0x3cde43[_0x1a4e('0xa')]),_0x52c0b4[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x52c0b4,_0x2de872[_0x1a4e('0xa')]=_0x33406c(_0x3cde43[_0x1a4e('0xa')]),_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x2de872,_0xd14379[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0xfb8')]=_0x2c1b1c?_0x2c1b1c(null):{},this[_0x1a4e('0x220')]=0x0;},_0xd14379['prototype'][_0x1a4e('0xf4c')]=function(_0x440b30){var _0x436452=this[_0x1a4e('0x178')](_0x440b30)&&delete this[_0x1a4e('0xfb8')][_0x440b30];return this['size']-=_0x436452?0x1:0x0,_0x436452;},_0xd14379['prototype'][_0x1a4e('0x179')]=function(_0x440b30){var _0x436452=this[_0x1a4e('0xfb8')];if(_0x2c1b1c){var _0x51447d=_0x436452[_0x440b30];return _0x51447d===_0x378c12?_0xbd18f7:_0x51447d;}return _0x43f346[_0x1a4e('0x1')](_0x436452,_0x440b30)?_0x436452[_0x440b30]:_0xbd18f7;},_0xd14379[_0x1a4e('0xa')][_0x1a4e('0x178')]=function(_0x440b30){var _0x436452=this[_0x1a4e('0xfb8')];return _0x2c1b1c?_0x436452[_0x440b30]!==_0xbd18f7:_0x43f346['call'](_0x436452,_0x440b30);},_0xd14379[_0x1a4e('0xa')][_0x1a4e('0x17a')]=function(_0x440b30,_0x436452){var _0x51447d=this['__data__'];return this[_0x1a4e('0x220')]+=this[_0x1a4e('0x178')](_0x440b30)?0x0:0x1,_0x51447d[_0x440b30]=_0x2c1b1c&&_0x436452===_0xbd18f7?_0x378c12:_0x436452,this;},_0x12946d[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0xfb8')]=[],this[_0x1a4e('0x220')]=0x0;},_0x12946d[_0x1a4e('0xa')][_0x1a4e('0xf4c')]=function(_0x440b30){var _0x436452=this[_0x1a4e('0xfb8')],_0x51447d=_0x4dc208(_0x436452,_0x440b30);return!(_0x51447d<0x0||(_0x51447d==_0x436452[_0x1a4e('0x1e')]-0x1?_0x436452[_0x1a4e('0x76')]():_0x357170['call'](_0x436452,_0x51447d,0x1),--this[_0x1a4e('0x220')],0x0));},_0x12946d[_0x1a4e('0xa')][_0x1a4e('0x179')]=function(_0x440b30){var _0x436452=this[_0x1a4e('0xfb8')],_0x51447d=_0x4dc208(_0x436452,_0x440b30);return _0x51447d<0x0?_0xbd18f7:_0x436452[_0x51447d][0x1];},_0x12946d[_0x1a4e('0xa')][_0x1a4e('0x178')]=function(_0x440b30){return _0x4dc208(this[_0x1a4e('0xfb8')],_0x440b30)>-0x1;},_0x12946d['prototype'][_0x1a4e('0x17a')]=function(_0x440b30,_0x436452){var _0x51447d=this[_0x1a4e('0xfb8')],_0x1337bb=_0x4dc208(_0x51447d,_0x440b30);return _0x1337bb<0x0?(++this[_0x1a4e('0x220')],_0x51447d[_0x1a4e('0x46')]([_0x440b30,_0x436452])):_0x51447d[_0x1337bb][0x1]=_0x436452,this;},_0x1ca455[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x220')]=0x0,this[_0x1a4e('0xfb8')]={'hash':new _0xd14379(),'map':new(_0x3d2bb3||_0x12946d)(),'string':new _0xd14379()};},_0x1ca455[_0x1a4e('0xa')][_0x1a4e('0xf4c')]=function(_0x440b30){var _0x436452=_0xc0e986(this,_0x440b30)[_0x1a4e('0xf4c')](_0x440b30);return this[_0x1a4e('0x220')]-=_0x436452?0x1:0x0,_0x436452;},_0x1ca455[_0x1a4e('0xa')][_0x1a4e('0x179')]=function(_0x440b30){return _0xc0e986(this,_0x440b30)['get'](_0x440b30);},_0x1ca455[_0x1a4e('0xa')][_0x1a4e('0x178')]=function(_0x440b30){return _0xc0e986(this,_0x440b30)['has'](_0x440b30);},_0x1ca455[_0x1a4e('0xa')][_0x1a4e('0x17a')]=function(_0x440b30,_0x436452){var _0x51447d=_0xc0e986(this,_0x440b30),_0x1337bb=_0x51447d[_0x1a4e('0x220')];return _0x51447d[_0x1a4e('0x17a')](_0x440b30,_0x436452),this[_0x1a4e('0x220')]+=_0x51447d[_0x1a4e('0x220')]==_0x1337bb?0x0:0x1,this;},_0x34b23b[_0x1a4e('0xa')][_0x1a4e('0x177')]=_0x34b23b['prototype'][_0x1a4e('0x46')]=function(_0x440b30){return this[_0x1a4e('0xfb8')][_0x1a4e('0x17a')](_0x440b30,_0x378c12),this;},_0x34b23b[_0x1a4e('0xa')][_0x1a4e('0x178')]=function(_0x440b30){return this[_0x1a4e('0xfb8')][_0x1a4e('0x178')](_0x440b30);},_0x1ba0ac[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0xfb8')]=new _0x12946d(),this[_0x1a4e('0x220')]=0x0;},_0x1ba0ac['prototype'][_0x1a4e('0xf4c')]=function(_0x440b30){var _0x436452=this[_0x1a4e('0xfb8')],_0x51447d=_0x436452[_0x1a4e('0xf4c')](_0x440b30);return this[_0x1a4e('0x220')]=_0x436452[_0x1a4e('0x220')],_0x51447d;},_0x1ba0ac['prototype']['get']=function(_0x440b30){return this[_0x1a4e('0xfb8')]['get'](_0x440b30);},_0x1ba0ac['prototype']['has']=function(_0x440b30){return this[_0x1a4e('0xfb8')][_0x1a4e('0x178')](_0x440b30);},_0x1ba0ac[_0x1a4e('0xa')][_0x1a4e('0x17a')]=function(_0x440b30,_0x436452){var _0x51447d=this['__data__'];if(_0x51447d instanceof _0x12946d){var _0x1337bb=_0x51447d[_0x1a4e('0xfb8')];if(!_0x3d2bb3||_0x1337bb[_0x1a4e('0x1e')]<_0x2d3764-0x1)return _0x1337bb['push']([_0x440b30,_0x436452]),this['size']=++_0x51447d[_0x1a4e('0x220')],this;_0x51447d=this[_0x1a4e('0xfb8')]=new _0x1ca455(_0x1337bb);}return _0x51447d[_0x1a4e('0x17a')](_0x440b30,_0x436452),this['size']=_0x51447d[_0x1a4e('0x220')],this;};var _0xf54e13=_0x24a60b(_0x48a4a0),_0x227d8b=_0x24a60b(_0x17d698,!0x0);function _0x17ec32(_0x440b30,_0x436452){var _0x51447d=!0x0;return _0xf54e13(_0x440b30,function(_0x440b30,_0x1337bb,_0x2505f4){return _0x51447d=!!_0x436452(_0x440b30,_0x1337bb,_0x2505f4);}),_0x51447d;}function _0x308e76(_0x440b30,_0x436452,_0x51447d){for(var _0x1337bb=-0x1,_0x2505f4=_0x440b30[_0x1a4e('0x1e')];++_0x1337bb<_0x2505f4;){var _0x2d3764=_0x440b30[_0x1337bb],_0x3547b5=_0x436452(_0x2d3764);if(null!=_0x3547b5&&(_0x4dcadc===_0xbd18f7?_0x3547b5==_0x3547b5&&!_0x3a6fb4(_0x3547b5):_0x51447d(_0x3547b5,_0x4dcadc)))var _0x4dcadc=_0x3547b5,_0x378c12=_0x2d3764;}return _0x378c12;}function _0x327d84(_0x440b30,_0x436452){var _0x51447d=[];return _0xf54e13(_0x440b30,function(_0x440b30,_0x1337bb,_0x2505f4){_0x436452(_0x440b30,_0x1337bb,_0x2505f4)&&_0x51447d[_0x1a4e('0x46')](_0x440b30);}),_0x51447d;}function _0x5060d6(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4){var _0xbd18f7=-0x1,_0x2d3764=_0x440b30['length'];for(_0x51447d||(_0x51447d=_0x32ebbe),_0x2505f4||(_0x2505f4=[]);++_0xbd18f7<_0x2d3764;){var _0x3547b5=_0x440b30[_0xbd18f7];_0x436452>0x0&&_0x51447d(_0x3547b5)?_0x436452>0x1?_0x5060d6(_0x3547b5,_0x436452-0x1,_0x51447d,_0x1337bb,_0x2505f4):_0x2eb09c(_0x2505f4,_0x3547b5):_0x1337bb||(_0x2505f4[_0x2505f4['length']]=_0x3547b5);}return _0x2505f4;}var _0x45185c=_0x2e25c1(),_0x2154ed=_0x2e25c1(!0x0);function _0x48a4a0(_0x440b30,_0x436452){return _0x440b30&&_0x45185c(_0x440b30,_0x436452,_0x75a98e);}function _0x17d698(_0x440b30,_0x436452){return _0x440b30&&_0x2154ed(_0x440b30,_0x436452,_0x75a98e);}function _0x4073c8(_0x440b30,_0x436452){return _0x57a63d(_0x436452,function(_0x436452){return _0xd96647(_0x440b30[_0x436452]);});}function _0x40c6b1(_0x440b30,_0x436452){for(var _0x51447d=0x0,_0x1337bb=(_0x436452=_0x5f205e(_0x436452,_0x440b30))[_0x1a4e('0x1e')];null!=_0x440b30&&_0x51447d<_0x1337bb;)_0x440b30=_0x440b30[_0x3beb67(_0x436452[_0x51447d++])];return _0x51447d&&_0x51447d==_0x1337bb?_0x440b30:_0xbd18f7;}function _0x48f8f6(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x436452(_0x440b30);return _0x51876e(_0x440b30)?_0x1337bb:_0x2eb09c(_0x1337bb,_0x51447d(_0x440b30));}function _0x4b4fdc(_0x440b30){return null==_0x440b30?_0x440b30===_0xbd18f7?_0x327f35:_0x37d758:_0x537b8f&&_0x537b8f in _0x27862c(_0x440b30)?function(_0x440b30){var _0x436452=_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x537b8f),_0x51447d=_0x440b30[_0x537b8f];try{_0x440b30[_0x537b8f]=_0xbd18f7;var _0x1337bb=!0x0;}catch(_0x265279){}var _0x2505f4=_0x56d20d[_0x1a4e('0x1')](_0x440b30);return _0x1337bb&&(_0x436452?_0x440b30[_0x537b8f]=_0x51447d:delete _0x440b30[_0x537b8f]),_0x2505f4;}(_0x440b30):function(_0x440b30){return _0x56d20d[_0x1a4e('0x1')](_0x440b30);}(_0x440b30);}function _0x11873f(_0x440b30,_0x436452){return _0x440b30>_0x436452;}function _0x1329e0(_0x440b30,_0x436452){return null!=_0x440b30&&_0x43f346['call'](_0x440b30,_0x436452);}function _0x39d94c(_0x440b30,_0x436452){return null!=_0x440b30&&_0x436452 in _0x27862c(_0x440b30);}function _0x7f705d(_0x440b30,_0x436452,_0x51447d){for(var _0x2505f4=_0x51447d?_0xe52a5e:_0x50dde6,_0x2d3764=_0x440b30[0x0][_0x1a4e('0x1e')],_0x3547b5=_0x440b30['length'],_0x4dcadc=_0x3547b5,_0x378c12=_0x1337bb(_0x3547b5),_0x599dd1=0x1/0x0,_0x545383=[];_0x4dcadc--;){var _0x4398b5=_0x440b30[_0x4dcadc];_0x4dcadc&&_0x436452&&(_0x4398b5=_0x4c9459(_0x4398b5,_0x11c8df(_0x436452))),_0x599dd1=_0x2a9a65(_0x4398b5[_0x1a4e('0x1e')],_0x599dd1),_0x378c12[_0x4dcadc]=!_0x51447d&&(_0x436452||_0x2d3764>=0x78&&_0x4398b5['length']>=0x78)?new _0x34b23b(_0x4dcadc&&_0x4398b5):_0xbd18f7;}_0x4398b5=_0x440b30[0x0];var _0x3eecdb=-0x1,_0x1b35a2=_0x378c12[0x0];_0x242b51:for(;++_0x3eecdb<_0x2d3764&&_0x545383[_0x1a4e('0x1e')]<_0x599dd1;){var _0x5c5d87=_0x4398b5[_0x3eecdb],_0x3ae387=_0x436452?_0x436452(_0x5c5d87):_0x5c5d87;if(_0x5c5d87=_0x51447d||0x0!==_0x5c5d87?_0x5c5d87:0x0,!(_0x1b35a2?_0xdb6868(_0x1b35a2,_0x3ae387):_0x2505f4(_0x545383,_0x3ae387,_0x51447d))){for(_0x4dcadc=_0x3547b5;--_0x4dcadc;){var _0x537c5a=_0x378c12[_0x4dcadc];if(!(_0x537c5a?_0xdb6868(_0x537c5a,_0x3ae387):_0x2505f4(_0x440b30[_0x4dcadc],_0x3ae387,_0x51447d)))continue _0x242b51;}_0x1b35a2&&_0x1b35a2[_0x1a4e('0x46')](_0x3ae387),_0x545383[_0x1a4e('0x46')](_0x5c5d87);}}return _0x545383;}function _0x2206f3(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==(_0x440b30=_0x47ff14(_0x440b30,_0x436452=_0x5f205e(_0x436452,_0x440b30)))?_0x440b30:_0x440b30[_0x3beb67(_0x1294b9(_0x436452))];return null==_0x1337bb?_0xbd18f7:_0x252c1e(_0x1337bb,_0x440b30,_0x51447d);}function _0x5db144(_0x440b30){return _0x5c0817(_0x440b30)&&_0x4b4fdc(_0x440b30)==_0x324e87;}function _0x304087(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4){return _0x440b30===_0x436452||(null==_0x440b30||null==_0x436452||!_0x5c0817(_0x440b30)&&!_0x5c0817(_0x436452)?_0x440b30!=_0x440b30&&_0x436452!=_0x436452:function(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764){var _0x3547b5=_0x51876e(_0x440b30),_0x4dcadc=_0x51876e(_0x436452),_0x378c12=_0x3547b5?_0x15ac5d:_0x1fae50(_0x440b30),_0x599dd1=_0x4dcadc?_0x15ac5d:_0x1fae50(_0x436452),_0x545383=(_0x378c12=_0x378c12==_0x324e87?_0x4d7fd4:_0x378c12)==_0x4d7fd4,_0x4398b5=(_0x599dd1=_0x599dd1==_0x324e87?_0x4d7fd4:_0x599dd1)==_0x4d7fd4,_0x3eecdb=_0x378c12==_0x599dd1;if(_0x3eecdb&&_0x1ed8f9(_0x440b30)){if(!_0x1ed8f9(_0x436452))return!0x1;_0x3547b5=!0x0,_0x545383=!0x1;}if(_0x3eecdb&&!_0x545383)return _0x2d3764||(_0x2d3764=new _0x1ba0ac()),_0x3547b5||_0x30f66f(_0x440b30)?_0x27f57a(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764):function(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0xbd18f7,_0x2d3764){switch(_0x51447d){case _0x35fae4:if(_0x440b30['byteLength']!=_0x436452[_0x1a4e('0x876')]||_0x440b30[_0x1a4e('0xf61')]!=_0x436452[_0x1a4e('0xf61')])return!0x1;_0x440b30=_0x440b30['buffer'],_0x436452=_0x436452[_0x1a4e('0x613')];case _0x198859:return!(_0x440b30['byteLength']!=_0x436452[_0x1a4e('0x876')]||!_0xbd18f7(new _0x359fae(_0x440b30),new _0x359fae(_0x436452)));case _0x25458f:case _0x16ffcb:case _0x114ec0:return _0x37d7c6(+_0x440b30,+_0x436452);case _0xe5a1d0:return _0x440b30[_0x1a4e('0x2cb')]==_0x436452[_0x1a4e('0x2cb')]&&_0x440b30[_0x1a4e('0x133')]==_0x436452[_0x1a4e('0x133')];case _0x4e13ee:case _0x1d0bf4:return _0x440b30==_0x436452+'';case _0x2cc58f:var _0x3547b5=_0x14af7f;case _0x104b15:var _0x4dcadc=_0x1337bb&_0x5c5d87;if(_0x3547b5||(_0x3547b5=_0x20696f),_0x440b30['size']!=_0x436452[_0x1a4e('0x220')]&&!_0x4dcadc)return!0x1;var _0x378c12=_0x2d3764[_0x1a4e('0x179')](_0x440b30);if(_0x378c12)return _0x378c12==_0x436452;_0x1337bb|=_0x3ae387,_0x2d3764['set'](_0x440b30,_0x436452);var _0x599dd1=_0x27f57a(_0x3547b5(_0x440b30),_0x3547b5(_0x436452),_0x1337bb,_0x2505f4,_0xbd18f7,_0x2d3764);return _0x2d3764[_0x1a4e('0xf4c')](_0x440b30),_0x599dd1;case _0x54e940:if(_0x1adbf2)return _0x1adbf2['call'](_0x440b30)==_0x1adbf2[_0x1a4e('0x1')](_0x436452);}return!0x1;}(_0x440b30,_0x436452,_0x378c12,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764);if(!(_0x51447d&_0x5c5d87)){var _0x1b35a2=_0x545383&&_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x1a4e('0x1023')),_0x537c5a=_0x4398b5&&_0x43f346['call'](_0x436452,_0x1a4e('0x1023'));if(_0x1b35a2||_0x537c5a){var _0x2f97d8=_0x1b35a2?_0x440b30[_0x1a4e('0x255')]():_0x440b30,_0x283521=_0x537c5a?_0x436452['value']():_0x436452;return _0x2d3764||(_0x2d3764=new _0x1ba0ac()),_0x2505f4(_0x2f97d8,_0x283521,_0x51447d,_0x1337bb,_0x2d3764);}}return!!_0x3eecdb&&(_0x2d3764||(_0x2d3764=new _0x1ba0ac()),function(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764){var _0x3547b5=_0x51447d&_0x5c5d87,_0x4dcadc=_0x408a92(_0x440b30),_0x378c12=_0x4dcadc[_0x1a4e('0x1e')],_0x599dd1=_0x408a92(_0x436452)[_0x1a4e('0x1e')];if(_0x378c12!=_0x599dd1&&!_0x3547b5)return!0x1;for(var _0x545383=_0x378c12;_0x545383--;){var _0x4398b5=_0x4dcadc[_0x545383];if(!(_0x3547b5?_0x4398b5 in _0x436452:_0x43f346['call'](_0x436452,_0x4398b5)))return!0x1;}var _0x3eecdb=_0x2d3764['get'](_0x440b30);if(_0x3eecdb&&_0x2d3764[_0x1a4e('0x179')](_0x436452))return _0x3eecdb==_0x436452;var _0x1b35a2=!0x0;_0x2d3764[_0x1a4e('0x17a')](_0x440b30,_0x436452),_0x2d3764['set'](_0x436452,_0x440b30);for(var _0x3ae387=_0x3547b5;++_0x545383<_0x378c12;){_0x4398b5=_0x4dcadc[_0x545383];var _0x537c5a=_0x440b30[_0x4398b5],_0x2f97d8=_0x436452[_0x4398b5];if(_0x1337bb)var _0x283521=_0x3547b5?_0x1337bb(_0x2f97d8,_0x537c5a,_0x4398b5,_0x436452,_0x440b30,_0x2d3764):_0x1337bb(_0x537c5a,_0x2f97d8,_0x4398b5,_0x440b30,_0x436452,_0x2d3764);if(!(_0x283521===_0xbd18f7?_0x537c5a===_0x2f97d8||_0x2505f4(_0x537c5a,_0x2f97d8,_0x51447d,_0x1337bb,_0x2d3764):_0x283521)){_0x1b35a2=!0x1;break;}_0x3ae387||(_0x3ae387='constructor'==_0x4398b5);}if(_0x1b35a2&&!_0x3ae387){var _0x26da39=_0x440b30[_0x1a4e('0x10')],_0x47a10e=_0x436452[_0x1a4e('0x10')];_0x26da39!=_0x47a10e&&_0x1a4e('0x10')in _0x440b30&&_0x1a4e('0x10')in _0x436452&&!(_0x1a4e('0x68')==typeof _0x26da39&&_0x26da39 instanceof _0x26da39&&_0x1a4e('0x68')==typeof _0x47a10e&&_0x47a10e instanceof _0x47a10e)&&(_0x1b35a2=!0x1);}return _0x2d3764['delete'](_0x440b30),_0x2d3764['delete'](_0x436452),_0x1b35a2;}(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764));}(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x304087,_0x2505f4));}function _0x48c8a3(_0x440b30,_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=_0x51447d[_0x1a4e('0x1e')],_0x2d3764=_0x2505f4,_0x3547b5=!_0x1337bb;if(null==_0x440b30)return!_0x2d3764;for(_0x440b30=_0x27862c(_0x440b30);_0x2505f4--;){var _0x4dcadc=_0x51447d[_0x2505f4];if(_0x3547b5&&_0x4dcadc[0x2]?_0x4dcadc[0x1]!==_0x440b30[_0x4dcadc[0x0]]:!(_0x4dcadc[0x0]in _0x440b30))return!0x1;}for(;++_0x2505f4<_0x2d3764;){var _0x378c12=(_0x4dcadc=_0x51447d[_0x2505f4])[0x0],_0x599dd1=_0x440b30[_0x378c12],_0x545383=_0x4dcadc[0x1];if(_0x3547b5&&_0x4dcadc[0x2]){if(_0x599dd1===_0xbd18f7&&!(_0x378c12 in _0x440b30))return!0x1;}else{var _0x4398b5=new _0x1ba0ac();if(_0x1337bb)var _0x3eecdb=_0x1337bb(_0x599dd1,_0x545383,_0x378c12,_0x440b30,_0x436452,_0x4398b5);if(!(_0x3eecdb===_0xbd18f7?_0x304087(_0x545383,_0x599dd1,_0x5c5d87|_0x3ae387,_0x1337bb,_0x4398b5):_0x3eecdb))return!0x1;}}return!0x0;}function _0x4e3fe2(_0x440b30){return!(!_0x4577ce(_0x440b30)||(_0x436452=_0x440b30,_0x4a0e5e&&_0x4a0e5e in _0x436452))&&(_0xd96647(_0x440b30)?_0x2523fd:_0x60bf4d)[_0x1a4e('0x8d0')](_0x35ba0d(_0x440b30));var _0x436452;}function _0x3855d1(_0x440b30){return _0x1a4e('0x68')==typeof _0x440b30?_0x440b30:null==_0x440b30?_0x4d1133:_0x1a4e('0x85')==typeof _0x440b30?_0x51876e(_0x440b30)?_0x3a19aa(_0x440b30[0x0],_0x440b30[0x1]):_0x1c6d38(_0x440b30):_0x40a04(_0x440b30);}function _0x3cf81e(_0x440b30){if(!_0x5131fc(_0x440b30))return _0x3ae882(_0x440b30);var _0x436452=[];for(var _0x51447d in _0x27862c(_0x440b30))_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x51447d)&&_0x1a4e('0x10')!=_0x51447d&&_0x436452[_0x1a4e('0x46')](_0x51447d);return _0x436452;}function _0x4e3a09(_0x440b30){if(!_0x4577ce(_0x440b30))return function(_0x440b30){var _0x436452=[];if(null!=_0x440b30)for(var _0x51447d in _0x27862c(_0x440b30))_0x436452['push'](_0x51447d);return _0x436452;}(_0x440b30);var _0x436452=_0x5131fc(_0x440b30),_0x51447d=[];for(var _0x1337bb in _0x440b30)('constructor'!=_0x1337bb||!_0x436452&&_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x1337bb))&&_0x51447d[_0x1a4e('0x46')](_0x1337bb);return _0x51447d;}function _0x2ae816(_0x440b30,_0x436452){return _0x440b30<_0x436452;}function _0x1c789a(_0x440b30,_0x436452){var _0x51447d=-0x1,_0x2505f4=_0x4ffcbd(_0x440b30)?_0x1337bb(_0x440b30[_0x1a4e('0x1e')]):[];return _0xf54e13(_0x440b30,function(_0x440b30,_0x1337bb,_0xbd18f7){_0x2505f4[++_0x51447d]=_0x436452(_0x440b30,_0x1337bb,_0xbd18f7);}),_0x2505f4;}function _0x1c6d38(_0x440b30){var _0x436452=_0x40844a(_0x440b30);return 0x1==_0x436452['length']&&_0x436452[0x0][0x2]?_0x33d370(_0x436452[0x0][0x0],_0x436452[0x0][0x1]):function(_0x51447d){return _0x51447d===_0x440b30||_0x48c8a3(_0x51447d,_0x440b30,_0x436452);};}function _0x3a19aa(_0x440b30,_0x436452){return _0x34fb7f(_0x440b30)&&_0x2ba16a(_0x436452)?_0x33d370(_0x3beb67(_0x440b30),_0x436452):function(_0x51447d){var _0x1337bb=_0x27ebd7(_0x51447d,_0x440b30);return _0x1337bb===_0xbd18f7&&_0x1337bb===_0x436452?_0x3de7bb(_0x51447d,_0x440b30):_0x304087(_0x436452,_0x1337bb,_0x5c5d87|_0x3ae387);};}function _0xa3db78(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4){_0x440b30!==_0x436452&&_0x45185c(_0x436452,function(_0x2d3764,_0x3547b5){if(_0x4577ce(_0x2d3764))_0x2505f4||(_0x2505f4=new _0x1ba0ac()),function(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764,_0x3547b5){var _0x4dcadc=_0x3c39c0(_0x440b30,_0x51447d),_0x378c12=_0x3c39c0(_0x436452,_0x51447d),_0x599dd1=_0x3547b5[_0x1a4e('0x179')](_0x378c12);if(_0x599dd1)_0x26bd45(_0x440b30,_0x51447d,_0x599dd1);else{var _0x545383=_0x2d3764?_0x2d3764(_0x4dcadc,_0x378c12,_0x51447d+'',_0x440b30,_0x436452,_0x3547b5):_0xbd18f7,_0x4398b5=_0x545383===_0xbd18f7;if(_0x4398b5){var _0x3eecdb=_0x51876e(_0x378c12),_0x1b35a2=!_0x3eecdb&&_0x1ed8f9(_0x378c12),_0x5c5d87=!_0x3eecdb&&!_0x1b35a2&&_0x30f66f(_0x378c12);_0x545383=_0x378c12,_0x3eecdb||_0x1b35a2||_0x5c5d87?_0x51876e(_0x4dcadc)?_0x545383=_0x4dcadc:_0x22cef3(_0x4dcadc)?_0x545383=_0x35e077(_0x4dcadc):_0x1b35a2?(_0x4398b5=!0x1,_0x545383=_0x487d82(_0x378c12,!0x0)):_0x5c5d87?(_0x4398b5=!0x1,_0x545383=_0x9036c5(_0x378c12,!0x0)):_0x545383=[]:_0x578ef5(_0x378c12)||_0x213c10(_0x378c12)?(_0x545383=_0x4dcadc,_0x213c10(_0x4dcadc)?_0x545383=_0x1cd8c6(_0x4dcadc):_0x4577ce(_0x4dcadc)&&!_0xd96647(_0x4dcadc)||(_0x545383=_0x13e619(_0x378c12))):_0x4398b5=!0x1;}_0x4398b5&&(_0x3547b5[_0x1a4e('0x17a')](_0x378c12,_0x545383),_0x2505f4(_0x545383,_0x378c12,_0x1337bb,_0x2d3764,_0x3547b5),_0x3547b5[_0x1a4e('0xf4c')](_0x378c12)),_0x26bd45(_0x440b30,_0x51447d,_0x545383);}}(_0x440b30,_0x436452,_0x3547b5,_0x51447d,_0xa3db78,_0x1337bb,_0x2505f4);else{var _0x4dcadc=_0x1337bb?_0x1337bb(_0x3c39c0(_0x440b30,_0x3547b5),_0x2d3764,_0x3547b5+'',_0x440b30,_0x436452,_0x2505f4):_0xbd18f7;_0x4dcadc===_0xbd18f7&&(_0x4dcadc=_0x2d3764),_0x26bd45(_0x440b30,_0x3547b5,_0x4dcadc);}},_0x1501a6);}function _0x46b1a8(_0x440b30,_0x436452){var _0x51447d=_0x440b30[_0x1a4e('0x1e')];if(_0x51447d)return _0x8d873f(_0x436452+=_0x436452<0x0?_0x51447d:0x0,_0x51447d)?_0x440b30[_0x436452]:_0xbd18f7;}function _0x36a49a(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=-0x1;return _0x436452=_0x4c9459(_0x436452[_0x1a4e('0x1e')]?_0x436452:[_0x4d1133],_0x11c8df(_0x53074b())),function(_0x440b30,_0x436452){var _0x51447d=_0x440b30['length'];for(_0x440b30[_0x1a4e('0x89')](_0x436452);_0x51447d--;)_0x440b30[_0x51447d]=_0x440b30[_0x51447d]['value'];return _0x440b30;}(_0x1c789a(_0x440b30,function(_0x440b30,_0x51447d,_0x2505f4){return{'criteria':_0x4c9459(_0x436452,function(_0x436452){return _0x436452(_0x440b30);}),'index':++_0x1337bb,'value':_0x440b30};}),function(_0x440b30,_0x436452){return function(_0x440b30,_0x436452,_0x51447d){for(var _0x1337bb=-0x1,_0x2505f4=_0x440b30['criteria'],_0xbd18f7=_0x436452[_0x1a4e('0x102c')],_0x2d3764=_0x2505f4[_0x1a4e('0x1e')],_0x3547b5=_0x51447d[_0x1a4e('0x1e')];++_0x1337bb<_0x2d3764;){var _0x4dcadc=_0x48b3f0(_0x2505f4[_0x1337bb],_0xbd18f7[_0x1337bb]);if(_0x4dcadc){if(_0x1337bb>=_0x3547b5)return _0x4dcadc;var _0x378c12=_0x51447d[_0x1337bb];return _0x4dcadc*(_0x1a4e('0x204')==_0x378c12?-0x1:0x1);}}return _0x440b30['index']-_0x436452[_0x1a4e('0xbd')];}(_0x440b30,_0x436452,_0x51447d);});}function _0x73ef80(_0x440b30,_0x436452,_0x51447d){for(var _0x1337bb=-0x1,_0x2505f4=_0x436452[_0x1a4e('0x1e')],_0xbd18f7={};++_0x1337bb<_0x2505f4;){var _0x2d3764=_0x436452[_0x1337bb],_0x3547b5=_0x40c6b1(_0x440b30,_0x2d3764);_0x51447d(_0x3547b5,_0x2d3764)&&_0x24b277(_0xbd18f7,_0x5f205e(_0x2d3764,_0x440b30),_0x3547b5);}return _0xbd18f7;}function _0x8ae651(_0x440b30,_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=_0x1337bb?_0x324898:_0x3790a1,_0xbd18f7=-0x1,_0x2d3764=_0x436452[_0x1a4e('0x1e')],_0x3547b5=_0x440b30;for(_0x440b30===_0x436452&&(_0x436452=_0x35e077(_0x436452)),_0x51447d&&(_0x3547b5=_0x4c9459(_0x440b30,_0x11c8df(_0x51447d)));++_0xbd18f7<_0x2d3764;)for(var _0x4dcadc=0x0,_0x378c12=_0x436452[_0xbd18f7],_0x599dd1=_0x51447d?_0x51447d(_0x378c12):_0x378c12;(_0x4dcadc=_0x2505f4(_0x3547b5,_0x599dd1,_0x4dcadc,_0x1337bb))>-0x1;)_0x3547b5!==_0x440b30&&_0x357170[_0x1a4e('0x1')](_0x3547b5,_0x4dcadc,0x1),_0x357170[_0x1a4e('0x1')](_0x440b30,_0x4dcadc,0x1);return _0x440b30;}function _0x390a4f(_0x440b30,_0x436452){for(var _0x51447d=_0x440b30?_0x436452[_0x1a4e('0x1e')]:0x0,_0x1337bb=_0x51447d-0x1;_0x51447d--;){var _0x2505f4=_0x436452[_0x51447d];if(_0x51447d==_0x1337bb||_0x2505f4!==_0xbd18f7){var _0xbd18f7=_0x2505f4;_0x8d873f(_0x2505f4)?_0x357170[_0x1a4e('0x1')](_0x440b30,_0x2505f4,0x1):_0x14beb5(_0x440b30,_0x2505f4);}}return _0x440b30;}function _0x4b9e1c(_0x440b30,_0x436452){return _0x440b30+_0x3331db(_0x339f2e()*(_0x436452-_0x440b30+0x1));}function _0x58748e(_0x440b30,_0x436452){var _0x51447d='';if(!_0x440b30||_0x436452<0x1||_0x436452>_0x54dba2)return _0x51447d;do{_0x436452%0x2&&(_0x51447d+=_0x440b30),(_0x436452=_0x3331db(_0x436452/0x2))&&(_0x440b30+=_0x440b30);}while(_0x436452);return _0x51447d;}function _0x53dd60(_0x440b30,_0x436452){return _0x30ccaf(_0x36191d(_0x440b30,_0x436452,_0x4d1133),_0x440b30+'');}function _0x3cb9cf(_0x440b30){return _0x52d803(_0x102a24(_0x440b30));}function _0x39b4b2(_0x440b30,_0x436452){var _0x51447d=_0x102a24(_0x440b30);return _0x3214ce(_0x51447d,_0x5312f4(_0x436452,0x0,_0x51447d[_0x1a4e('0x1e')]));}function _0x24b277(_0x440b30,_0x436452,_0x51447d,_0x1337bb){if(!_0x4577ce(_0x440b30))return _0x440b30;for(var _0x2505f4=-0x1,_0x2d3764=(_0x436452=_0x5f205e(_0x436452,_0x440b30))[_0x1a4e('0x1e')],_0x3547b5=_0x2d3764-0x1,_0x4dcadc=_0x440b30;null!=_0x4dcadc&&++_0x2505f4<_0x2d3764;){var _0x378c12=_0x3beb67(_0x436452[_0x2505f4]),_0x599dd1=_0x51447d;if(_0x2505f4!=_0x3547b5){var _0x545383=_0x4dcadc[_0x378c12];(_0x599dd1=_0x1337bb?_0x1337bb(_0x545383,_0x378c12,_0x4dcadc):_0xbd18f7)===_0xbd18f7&&(_0x599dd1=_0x4577ce(_0x545383)?_0x545383:_0x8d873f(_0x436452[_0x2505f4+0x1])?[]:{});}_0x2e6e6e(_0x4dcadc,_0x378c12,_0x599dd1),_0x4dcadc=_0x4dcadc[_0x378c12];}return _0x440b30;}var _0x12247a=_0x3e6aad?function(_0x440b30,_0x436452){return _0x3e6aad['set'](_0x440b30,_0x436452),_0x440b30;}:_0x4d1133,_0x403d19=_0x44bfbc?function(_0x440b30,_0x436452){return _0x44bfbc(_0x440b30,_0x1a4e('0x95'),{'configurable':!0x0,'enumerable':!0x1,'value':_0x5050ea(_0x436452),'writable':!0x0});}:_0x4d1133;function _0x160f02(_0x440b30){return _0x3214ce(_0x102a24(_0x440b30));}function _0x1eaaa2(_0x440b30,_0x436452,_0x51447d){var _0x2505f4=-0x1,_0xbd18f7=_0x440b30[_0x1a4e('0x1e')];_0x436452<0x0&&(_0x436452=-_0x436452>_0xbd18f7?0x0:_0xbd18f7+_0x436452),(_0x51447d=_0x51447d>_0xbd18f7?_0xbd18f7:_0x51447d)<0x0&&(_0x51447d+=_0xbd18f7),_0xbd18f7=_0x436452>_0x51447d?0x0:_0x51447d-_0x436452>>>0x0,_0x436452>>>=0x0;for(var _0x2d3764=_0x1337bb(_0xbd18f7);++_0x2505f4<_0xbd18f7;)_0x2d3764[_0x2505f4]=_0x440b30[_0x2505f4+_0x436452];return _0x2d3764;}function _0x552957(_0x440b30,_0x436452){var _0x51447d;return _0xf54e13(_0x440b30,function(_0x440b30,_0x1337bb,_0x2505f4){return!(_0x51447d=_0x436452(_0x440b30,_0x1337bb,_0x2505f4));}),!!_0x51447d;}function _0x562dc9(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=0x0,_0x2505f4=null==_0x440b30?_0x1337bb:_0x440b30[_0x1a4e('0x1e')];if('number'==typeof _0x436452&&_0x436452==_0x436452&&_0x2505f4<=_0x4d7282){for(;_0x1337bb<_0x2505f4;){var _0xbd18f7=_0x1337bb+_0x2505f4>>>0x1,_0x2d3764=_0x440b30[_0xbd18f7];null!==_0x2d3764&&!_0x3a6fb4(_0x2d3764)&&(_0x51447d?_0x2d3764<=_0x436452:_0x2d3764<_0x436452)?_0x1337bb=_0xbd18f7+0x1:_0x2505f4=_0xbd18f7;}return _0x2505f4;}return _0x13329c(_0x440b30,_0x436452,_0x4d1133,_0x51447d);}function _0x13329c(_0x440b30,_0x436452,_0x51447d,_0x1337bb){_0x436452=_0x51447d(_0x436452);for(var _0x2505f4=0x0,_0x2d3764=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')],_0x3547b5=_0x436452!=_0x436452,_0x4dcadc=null===_0x436452,_0x378c12=_0x3a6fb4(_0x436452),_0x599dd1=_0x436452===_0xbd18f7;_0x2505f4<_0x2d3764;){var _0x545383=_0x3331db((_0x2505f4+_0x2d3764)/0x2),_0x4398b5=_0x51447d(_0x440b30[_0x545383]),_0x3eecdb=_0x4398b5!==_0xbd18f7,_0x1b35a2=null===_0x4398b5,_0x5c5d87=_0x4398b5==_0x4398b5,_0x3ae387=_0x3a6fb4(_0x4398b5);if(_0x3547b5)var _0x537c5a=_0x1337bb||_0x5c5d87;else _0x537c5a=_0x599dd1?_0x5c5d87&&(_0x1337bb||_0x3eecdb):_0x4dcadc?_0x5c5d87&&_0x3eecdb&&(_0x1337bb||!_0x1b35a2):_0x378c12?_0x5c5d87&&_0x3eecdb&&!_0x1b35a2&&(_0x1337bb||!_0x3ae387):!_0x1b35a2&&!_0x3ae387&&(_0x1337bb?_0x4398b5<=_0x436452:_0x4398b5<_0x436452);_0x537c5a?_0x2505f4=_0x545383+0x1:_0x2d3764=_0x545383;}return _0x2a9a65(_0x2d3764,_0x5c23f9);}function _0x589590(_0x440b30,_0x436452){for(var _0x51447d=-0x1,_0x1337bb=_0x440b30['length'],_0x2505f4=0x0,_0xbd18f7=[];++_0x51447d<_0x1337bb;){var _0x2d3764=_0x440b30[_0x51447d],_0x3547b5=_0x436452?_0x436452(_0x2d3764):_0x2d3764;if(!_0x51447d||!_0x37d7c6(_0x3547b5,_0x4dcadc)){var _0x4dcadc=_0x3547b5;_0xbd18f7[_0x2505f4++]=0x0===_0x2d3764?0x0:_0x2d3764;}}return _0xbd18f7;}function _0x3e86c0(_0x440b30){return _0x1a4e('0x3d')==typeof _0x440b30?_0x440b30:_0x3a6fb4(_0x440b30)?_0x1d906b:+_0x440b30;}function _0xaa28c8(_0x440b30){if('string'==typeof _0x440b30)return _0x440b30;if(_0x51876e(_0x440b30))return _0x4c9459(_0x440b30,_0xaa28c8)+'';if(_0x3a6fb4(_0x440b30))return _0x3c1188?_0x3c1188[_0x1a4e('0x1')](_0x440b30):'';var _0x436452=_0x440b30+'';return'0'==_0x436452&&0x1/_0x440b30==-_0x3f690c?'-0':_0x436452;}function _0x44c8d1(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=-0x1,_0x2505f4=_0x50dde6,_0xbd18f7=_0x440b30['length'],_0x3547b5=!0x0,_0x4dcadc=[],_0x378c12=_0x4dcadc;if(_0x51447d)_0x3547b5=!0x1,_0x2505f4=_0xe52a5e;else if(_0xbd18f7>=_0x2d3764){var _0x599dd1=_0x436452?null:_0x52c682(_0x440b30);if(_0x599dd1)return _0x20696f(_0x599dd1);_0x3547b5=!0x1,_0x2505f4=_0xdb6868,_0x378c12=new _0x34b23b();}else _0x378c12=_0x436452?[]:_0x4dcadc;_0x1545da:for(;++_0x1337bb<_0xbd18f7;){var _0x545383=_0x440b30[_0x1337bb],_0x4398b5=_0x436452?_0x436452(_0x545383):_0x545383;if(_0x545383=_0x51447d||0x0!==_0x545383?_0x545383:0x0,_0x3547b5&&_0x4398b5==_0x4398b5){for(var _0x3eecdb=_0x378c12[_0x1a4e('0x1e')];_0x3eecdb--;)if(_0x378c12[_0x3eecdb]===_0x4398b5)continue _0x1545da;_0x436452&&_0x378c12['push'](_0x4398b5),_0x4dcadc['push'](_0x545383);}else _0x2505f4(_0x378c12,_0x4398b5,_0x51447d)||(_0x378c12!==_0x4dcadc&&_0x378c12[_0x1a4e('0x46')](_0x4398b5),_0x4dcadc[_0x1a4e('0x46')](_0x545383));}return _0x4dcadc;}function _0x14beb5(_0x440b30,_0x436452){return null==(_0x440b30=_0x47ff14(_0x440b30,_0x436452=_0x5f205e(_0x436452,_0x440b30)))||delete _0x440b30[_0x3beb67(_0x1294b9(_0x436452))];}function _0x83de27(_0x440b30,_0x436452,_0x51447d,_0x1337bb){return _0x24b277(_0x440b30,_0x436452,_0x51447d(_0x40c6b1(_0x440b30,_0x436452)),_0x1337bb);}function _0x424ac6(_0x440b30,_0x436452,_0x51447d,_0x1337bb){for(var _0x2505f4=_0x440b30[_0x1a4e('0x1e')],_0xbd18f7=_0x1337bb?_0x2505f4:-0x1;(_0x1337bb?_0xbd18f7--:++_0xbd18f7<_0x2505f4)&&_0x436452(_0x440b30[_0xbd18f7],_0xbd18f7,_0x440b30););return _0x51447d?_0x1eaaa2(_0x440b30,_0x1337bb?0x0:_0xbd18f7,_0x1337bb?_0xbd18f7+0x1:_0x2505f4):_0x1eaaa2(_0x440b30,_0x1337bb?_0xbd18f7+0x1:0x0,_0x1337bb?_0x2505f4:_0xbd18f7);}function _0x30fc9c(_0x440b30,_0x436452){var _0x51447d=_0x440b30;return _0x51447d instanceof _0x2de872&&(_0x51447d=_0x51447d[_0x1a4e('0x255')]()),_0x6683bb(_0x436452,function(_0x440b30,_0x436452){return _0x436452[_0x1a4e('0x102d')][_0x1a4e('0x8b')](_0x436452[_0x1a4e('0x102e')],_0x2eb09c([_0x440b30],_0x436452[_0x1a4e('0x89c')]));},_0x51447d);}function _0x4d1f54(_0x440b30,_0x436452,_0x51447d){var _0x2505f4=_0x440b30[_0x1a4e('0x1e')];if(_0x2505f4<0x2)return _0x2505f4?_0x44c8d1(_0x440b30[0x0]):[];for(var _0xbd18f7=-0x1,_0x2d3764=_0x1337bb(_0x2505f4);++_0xbd18f7<_0x2505f4;)for(var _0x3547b5=_0x440b30[_0xbd18f7],_0x4dcadc=-0x1;++_0x4dcadc<_0x2505f4;)_0x4dcadc!=_0xbd18f7&&(_0x2d3764[_0xbd18f7]=_0x52c0df(_0x2d3764[_0xbd18f7]||_0x3547b5,_0x440b30[_0x4dcadc],_0x436452,_0x51447d));return _0x44c8d1(_0x5060d6(_0x2d3764,0x1),_0x436452,_0x51447d);}function _0xa30fed(_0x440b30,_0x436452,_0x51447d){for(var _0x1337bb=-0x1,_0x2505f4=_0x440b30[_0x1a4e('0x1e')],_0x2d3764=_0x436452['length'],_0x3547b5={};++_0x1337bb<_0x2505f4;){var _0x4dcadc=_0x1337bb<_0x2d3764?_0x436452[_0x1337bb]:_0xbd18f7;_0x51447d(_0x3547b5,_0x440b30[_0x1337bb],_0x4dcadc);}return _0x3547b5;}function _0x43d58f(_0x440b30){return _0x22cef3(_0x440b30)?_0x440b30:[];}function _0x54cee3(_0x440b30){return _0x1a4e('0x68')==typeof _0x440b30?_0x440b30:_0x4d1133;}function _0x5f205e(_0x440b30,_0x436452){return _0x51876e(_0x440b30)?_0x440b30:_0x34fb7f(_0x440b30,_0x436452)?[_0x440b30]:_0x5691e6(_0x532093(_0x440b30));}var _0x3c7662=_0x53dd60;function _0x4830ec(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x440b30[_0x1a4e('0x1e')];return _0x51447d=_0x51447d===_0xbd18f7?_0x1337bb:_0x51447d,!_0x436452&&_0x51447d>=_0x1337bb?_0x440b30:_0x1eaaa2(_0x440b30,_0x436452,_0x51447d);}var _0x4ccddf=_0x23061b||function(_0x440b30){return _0x4c1475[_0x1a4e('0x1015')](_0x440b30);};function _0x487d82(_0x440b30,_0x436452){if(_0x436452)return _0x440b30[_0x1a4e('0x78')]();var _0x51447d=_0x440b30['length'],_0x1337bb=_0x1cce6f?_0x1cce6f(_0x51447d):new _0x440b30[(_0x1a4e('0x10'))](_0x51447d);return _0x440b30[_0x1a4e('0xea')](_0x1337bb),_0x1337bb;}function _0x2fc999(_0x440b30){var _0x436452=new _0x440b30[(_0x1a4e('0x10'))](_0x440b30[_0x1a4e('0x876')]);return new _0x359fae(_0x436452)[_0x1a4e('0x17a')](new _0x359fae(_0x440b30)),_0x436452;}function _0x9036c5(_0x440b30,_0x436452){var _0x51447d=_0x436452?_0x2fc999(_0x440b30[_0x1a4e('0x613')]):_0x440b30[_0x1a4e('0x613')];return new _0x440b30['constructor'](_0x51447d,_0x440b30['byteOffset'],_0x440b30['length']);}function _0x48b3f0(_0x440b30,_0x436452){if(_0x440b30!==_0x436452){var _0x51447d=_0x440b30!==_0xbd18f7,_0x1337bb=null===_0x440b30,_0x2505f4=_0x440b30==_0x440b30,_0x2d3764=_0x3a6fb4(_0x440b30),_0x3547b5=_0x436452!==_0xbd18f7,_0x4dcadc=null===_0x436452,_0x378c12=_0x436452==_0x436452,_0x599dd1=_0x3a6fb4(_0x436452);if(!_0x4dcadc&&!_0x599dd1&&!_0x2d3764&&_0x440b30>_0x436452||_0x2d3764&&_0x3547b5&&_0x378c12&&!_0x4dcadc&&!_0x599dd1||_0x1337bb&&_0x3547b5&&_0x378c12||!_0x51447d&&_0x378c12||!_0x2505f4)return 0x1;if(!_0x1337bb&&!_0x2d3764&&!_0x599dd1&&_0x440b30<_0x436452||_0x599dd1&&_0x51447d&&_0x2505f4&&!_0x1337bb&&!_0x2d3764||_0x4dcadc&&_0x51447d&&_0x2505f4||!_0x3547b5&&_0x2505f4||!_0x378c12)return-0x1;}return 0x0;}function _0x423fc2(_0x440b30,_0x436452,_0x51447d,_0x2505f4){for(var _0xbd18f7=-0x1,_0x2d3764=_0x440b30[_0x1a4e('0x1e')],_0x3547b5=_0x51447d[_0x1a4e('0x1e')],_0x4dcadc=-0x1,_0x378c12=_0x436452['length'],_0x599dd1=_0x44e3db(_0x2d3764-_0x3547b5,0x0),_0x545383=_0x1337bb(_0x378c12+_0x599dd1),_0x4398b5=!_0x2505f4;++_0x4dcadc<_0x378c12;)_0x545383[_0x4dcadc]=_0x436452[_0x4dcadc];for(;++_0xbd18f7<_0x3547b5;)(_0x4398b5||_0xbd18f7<_0x2d3764)&&(_0x545383[_0x51447d[_0xbd18f7]]=_0x440b30[_0xbd18f7]);for(;_0x599dd1--;)_0x545383[_0x4dcadc++]=_0x440b30[_0xbd18f7++];return _0x545383;}function _0x3306c4(_0x440b30,_0x436452,_0x51447d,_0x2505f4){for(var _0xbd18f7=-0x1,_0x2d3764=_0x440b30[_0x1a4e('0x1e')],_0x3547b5=-0x1,_0x4dcadc=_0x51447d[_0x1a4e('0x1e')],_0x378c12=-0x1,_0x599dd1=_0x436452[_0x1a4e('0x1e')],_0x545383=_0x44e3db(_0x2d3764-_0x4dcadc,0x0),_0x4398b5=_0x1337bb(_0x545383+_0x599dd1),_0x3eecdb=!_0x2505f4;++_0xbd18f7<_0x545383;)_0x4398b5[_0xbd18f7]=_0x440b30[_0xbd18f7];for(var _0x1b35a2=_0xbd18f7;++_0x378c12<_0x599dd1;)_0x4398b5[_0x1b35a2+_0x378c12]=_0x436452[_0x378c12];for(;++_0x3547b5<_0x4dcadc;)(_0x3eecdb||_0xbd18f7<_0x2d3764)&&(_0x4398b5[_0x1b35a2+_0x51447d[_0x3547b5]]=_0x440b30[_0xbd18f7++]);return _0x4398b5;}function _0x35e077(_0x440b30,_0x436452){var _0x51447d=-0x1,_0x2505f4=_0x440b30[_0x1a4e('0x1e')];for(_0x436452||(_0x436452=_0x1337bb(_0x2505f4));++_0x51447d<_0x2505f4;)_0x436452[_0x51447d]=_0x440b30[_0x51447d];return _0x436452;}function _0x58e4fc(_0x440b30,_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=!_0x51447d;_0x51447d||(_0x51447d={});for(var _0x2d3764=-0x1,_0x3547b5=_0x436452[_0x1a4e('0x1e')];++_0x2d3764<_0x3547b5;){var _0x4dcadc=_0x436452[_0x2d3764],_0x378c12=_0x1337bb?_0x1337bb(_0x51447d[_0x4dcadc],_0x440b30[_0x4dcadc],_0x4dcadc,_0x51447d,_0x440b30):_0xbd18f7;_0x378c12===_0xbd18f7&&(_0x378c12=_0x440b30[_0x4dcadc]),_0x2505f4?_0x429aa1(_0x51447d,_0x4dcadc,_0x378c12):_0x2e6e6e(_0x51447d,_0x4dcadc,_0x378c12);}return _0x51447d;}function _0x2c96f3(_0x440b30,_0x436452){return function(_0x51447d,_0x1337bb){var _0x2505f4=_0x51876e(_0x51447d)?_0x595aba:_0x4cccee,_0xbd18f7=_0x436452?_0x436452():{};return _0x2505f4(_0x51447d,_0x440b30,_0x53074b(_0x1337bb,0x2),_0xbd18f7);};}function _0x495dc5(_0x440b30){return _0x53dd60(function(_0x436452,_0x51447d){var _0x1337bb=-0x1,_0x2505f4=_0x51447d[_0x1a4e('0x1e')],_0x2d3764=_0x2505f4>0x1?_0x51447d[_0x2505f4-0x1]:_0xbd18f7,_0x3547b5=_0x2505f4>0x2?_0x51447d[0x2]:_0xbd18f7;for(_0x2d3764=_0x440b30[_0x1a4e('0x1e')]>0x3&&'function'==typeof _0x2d3764?(_0x2505f4--,_0x2d3764):_0xbd18f7,_0x3547b5&&_0x1c57b9(_0x51447d[0x0],_0x51447d[0x1],_0x3547b5)&&(_0x2d3764=_0x2505f4<0x3?_0xbd18f7:_0x2d3764,_0x2505f4=0x1),_0x436452=_0x27862c(_0x436452);++_0x1337bb<_0x2505f4;){var _0x4dcadc=_0x51447d[_0x1337bb];_0x4dcadc&&_0x440b30(_0x436452,_0x4dcadc,_0x1337bb,_0x2d3764);}return _0x436452;});}function _0x24a60b(_0x440b30,_0x436452){return function(_0x51447d,_0x1337bb){if(null==_0x51447d)return _0x51447d;if(!_0x4ffcbd(_0x51447d))return _0x440b30(_0x51447d,_0x1337bb);for(var _0x2505f4=_0x51447d[_0x1a4e('0x1e')],_0xbd18f7=_0x436452?_0x2505f4:-0x1,_0x2d3764=_0x27862c(_0x51447d);(_0x436452?_0xbd18f7--:++_0xbd18f7<_0x2505f4)&&!0x1!==_0x1337bb(_0x2d3764[_0xbd18f7],_0xbd18f7,_0x2d3764););return _0x51447d;};}function _0x2e25c1(_0x440b30){return function(_0x436452,_0x51447d,_0x1337bb){for(var _0x2505f4=-0x1,_0xbd18f7=_0x27862c(_0x436452),_0x2d3764=_0x1337bb(_0x436452),_0x3547b5=_0x2d3764[_0x1a4e('0x1e')];_0x3547b5--;){var _0x4dcadc=_0x2d3764[_0x440b30?_0x3547b5:++_0x2505f4];if(!0x1===_0x51447d(_0xbd18f7[_0x4dcadc],_0x4dcadc,_0xbd18f7))break;}return _0x436452;};}function _0x4c903e(_0x440b30){return function(_0x436452){var _0x51447d=_0x3108e6(_0x436452=_0x532093(_0x436452))?_0x1dd38d(_0x436452):_0xbd18f7,_0x1337bb=_0x51447d?_0x51447d[0x0]:_0x436452['charAt'](0x0),_0x2505f4=_0x51447d?_0x4830ec(_0x51447d,0x1)[_0x1a4e('0x9e')](''):_0x436452['slice'](0x1);return _0x1337bb[_0x440b30]()+_0x2505f4;};}function _0x3da7bf(_0x440b30){return function(_0x436452){return _0x6683bb(_0x33c30f(_0x5bb904(_0x436452)[_0x1a4e('0x115')](_0x198e95,'')),_0x440b30,'');};}function _0x5e1d1c(_0x440b30){return function(){var _0x436452=arguments;switch(_0x436452[_0x1a4e('0x1e')]){case 0x0:return new _0x440b30();case 0x1:return new _0x440b30(_0x436452[0x0]);case 0x2:return new _0x440b30(_0x436452[0x0],_0x436452[0x1]);case 0x3:return new _0x440b30(_0x436452[0x0],_0x436452[0x1],_0x436452[0x2]);case 0x4:return new _0x440b30(_0x436452[0x0],_0x436452[0x1],_0x436452[0x2],_0x436452[0x3]);case 0x5:return new _0x440b30(_0x436452[0x0],_0x436452[0x1],_0x436452[0x2],_0x436452[0x3],_0x436452[0x4]);case 0x6:return new _0x440b30(_0x436452[0x0],_0x436452[0x1],_0x436452[0x2],_0x436452[0x3],_0x436452[0x4],_0x436452[0x5]);case 0x7:return new _0x440b30(_0x436452[0x0],_0x436452[0x1],_0x436452[0x2],_0x436452[0x3],_0x436452[0x4],_0x436452[0x5],_0x436452[0x6]);}var _0x51447d=_0x33406c(_0x440b30[_0x1a4e('0xa')]),_0x1337bb=_0x440b30['apply'](_0x51447d,_0x436452);return _0x4577ce(_0x1337bb)?_0x1337bb:_0x51447d;};}function _0x3065a7(_0x440b30){return function(_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=_0x27862c(_0x436452);if(!_0x4ffcbd(_0x436452)){var _0x2d3764=_0x53074b(_0x51447d,0x3);_0x436452=_0x75a98e(_0x436452),_0x51447d=function(_0x440b30){return _0x2d3764(_0x2505f4[_0x440b30],_0x440b30,_0x2505f4);};}var _0x3547b5=_0x440b30(_0x436452,_0x51447d,_0x1337bb);return _0x3547b5>-0x1?_0x2505f4[_0x2d3764?_0x436452[_0x3547b5]:_0x3547b5]:_0xbd18f7;};}function _0x19e935(_0x440b30){return _0x220ebc(function(_0x436452){var _0x51447d=_0x436452[_0x1a4e('0x1e')],_0x1337bb=_0x51447d,_0x2505f4=_0x52c0b4[_0x1a4e('0xa')][_0x1a4e('0x102f')];for(_0x440b30&&_0x436452[_0x1a4e('0x9b')]();_0x1337bb--;){var _0x2d3764=_0x436452[_0x1337bb];if('function'!=typeof _0x2d3764)throw new _0xbeae25(_0x4dcadc);if(_0x2505f4&&!_0x3547b5&&_0x1a4e('0x1030')==_0xb049c2(_0x2d3764))var _0x3547b5=new _0x52c0b4([],!0x0);}for(_0x1337bb=_0x3547b5?_0x1337bb:_0x51447d;++_0x1337bb<_0x51447d;){var _0x378c12=_0xb049c2(_0x2d3764=_0x436452[_0x1337bb]),_0x599dd1=_0x1a4e('0x1030')==_0x378c12?_0x5ac259(_0x2d3764):_0xbd18f7;_0x3547b5=_0x599dd1&&_0x33a128(_0x599dd1[0x0])&&_0x599dd1[0x1]==(_0x555c0d|_0x26da39|_0x4e5f4e|_0x2d31be)&&!_0x599dd1[0x4][_0x1a4e('0x1e')]&&0x1==_0x599dd1[0x9]?_0x3547b5[_0xb049c2(_0x599dd1[0x0])][_0x1a4e('0x8b')](_0x3547b5,_0x599dd1[0x3]):0x1==_0x2d3764[_0x1a4e('0x1e')]&&_0x33a128(_0x2d3764)?_0x3547b5[_0x378c12]():_0x3547b5['thru'](_0x2d3764);}return function(){var _0x440b30=arguments,_0x1337bb=_0x440b30[0x0];if(_0x3547b5&&0x1==_0x440b30[_0x1a4e('0x1e')]&&_0x51876e(_0x1337bb))return _0x3547b5['plant'](_0x1337bb)['value']();for(var _0x2505f4=0x0,_0xbd18f7=_0x51447d?_0x436452[_0x2505f4]['apply'](this,_0x440b30):_0x1337bb;++_0x2505f4<_0x51447d;)_0xbd18f7=_0x436452[_0x2505f4][_0x1a4e('0x1')](this,_0xbd18f7);return _0xbd18f7;};});}function _0x3f6aec(_0x440b30,_0x436452,_0x51447d,_0x2505f4,_0x2d3764,_0x3547b5,_0x4dcadc,_0x378c12,_0x599dd1,_0x545383){var _0x4398b5=_0x436452&_0x555c0d,_0x3eecdb=_0x436452&_0x537c5a,_0x1b35a2=_0x436452&_0x2f97d8,_0x5c5d87=_0x436452&(_0x26da39|_0x47a10e),_0x3ae387=_0x436452&_0x2ce9e7,_0x283521=_0x1b35a2?_0xbd18f7:_0x5e1d1c(_0x440b30);return function _0x537c5a(){for(var _0x2f97d8=arguments[_0x1a4e('0x1e')],_0x26da39=_0x1337bb(_0x2f97d8),_0x47a10e=_0x2f97d8;_0x47a10e--;)_0x26da39[_0x47a10e]=arguments[_0x47a10e];if(_0x5c5d87)var _0x4e5f4e=_0x44af84(_0x537c5a),_0x4e14a3=function(_0x440b30,_0x436452){for(var _0x51447d=_0x440b30[_0x1a4e('0x1e')],_0x1337bb=0x0;_0x51447d--;)_0x440b30[_0x51447d]===_0x436452&&++_0x1337bb;return _0x1337bb;}(_0x26da39,_0x4e5f4e);if(_0x2505f4&&(_0x26da39=_0x423fc2(_0x26da39,_0x2505f4,_0x2d3764,_0x5c5d87)),_0x3547b5&&(_0x26da39=_0x3306c4(_0x26da39,_0x3547b5,_0x4dcadc,_0x5c5d87)),_0x2f97d8-=_0x4e14a3,_0x5c5d87&&_0x2f97d8<_0x545383){var _0x555c0d=_0x1146c7(_0x26da39,_0x4e5f4e);return _0x549761(_0x440b30,_0x436452,_0x3f6aec,_0x537c5a[_0x1a4e('0x1031')],_0x51447d,_0x26da39,_0x555c0d,_0x378c12,_0x599dd1,_0x545383-_0x2f97d8);}var _0x2d31be=_0x3eecdb?_0x51447d:this,_0x2ce9e7=_0x1b35a2?_0x2d31be[_0x440b30]:_0x440b30;return _0x2f97d8=_0x26da39['length'],_0x378c12?_0x26da39=function(_0x440b30,_0x436452){for(var _0x51447d=_0x440b30[_0x1a4e('0x1e')],_0x1337bb=_0x2a9a65(_0x436452[_0x1a4e('0x1e')],_0x51447d),_0x2505f4=_0x35e077(_0x440b30);_0x1337bb--;){var _0x2d3764=_0x436452[_0x1337bb];_0x440b30[_0x1337bb]=_0x8d873f(_0x2d3764,_0x51447d)?_0x2505f4[_0x2d3764]:_0xbd18f7;}return _0x440b30;}(_0x26da39,_0x378c12):_0x3ae387&&_0x2f97d8>0x1&&_0x26da39[_0x1a4e('0x9b')](),_0x4398b5&&_0x599dd1<_0x2f97d8&&(_0x26da39[_0x1a4e('0x1e')]=_0x599dd1),this&&this!==_0x4c1475&&this instanceof _0x537c5a&&(_0x2ce9e7=_0x283521||_0x5e1d1c(_0x2ce9e7)),_0x2ce9e7[_0x1a4e('0x8b')](_0x2d31be,_0x26da39);};}function _0x8fd7f6(_0x440b30,_0x436452){return function(_0x51447d,_0x1337bb){return function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){return _0x48a4a0(_0x440b30,function(_0x440b30,_0x2505f4,_0xbd18f7){_0x436452(_0x1337bb,_0x51447d(_0x440b30),_0x2505f4,_0xbd18f7);}),_0x1337bb;}(_0x51447d,_0x440b30,_0x436452(_0x1337bb),{});};}function _0x37fa83(_0x440b30,_0x436452){return function(_0x51447d,_0x1337bb){var _0x2505f4;if(_0x51447d===_0xbd18f7&&_0x1337bb===_0xbd18f7)return _0x436452;if(_0x51447d!==_0xbd18f7&&(_0x2505f4=_0x51447d),_0x1337bb!==_0xbd18f7){if(_0x2505f4===_0xbd18f7)return _0x1337bb;_0x1a4e('0x9')==typeof _0x51447d||_0x1a4e('0x9')==typeof _0x1337bb?(_0x51447d=_0xaa28c8(_0x51447d),_0x1337bb=_0xaa28c8(_0x1337bb)):(_0x51447d=_0x3e86c0(_0x51447d),_0x1337bb=_0x3e86c0(_0x1337bb)),_0x2505f4=_0x440b30(_0x51447d,_0x1337bb);}return _0x2505f4;};}function _0x390ab2(_0x440b30){return _0x220ebc(function(_0x436452){return _0x436452=_0x4c9459(_0x436452,_0x11c8df(_0x53074b())),_0x53dd60(function(_0x51447d){var _0x1337bb=this;return _0x440b30(_0x436452,function(_0x440b30){return _0x252c1e(_0x440b30,_0x1337bb,_0x51447d);});});});}function _0x1bce5c(_0x440b30,_0x436452){var _0x51447d=(_0x436452=_0x436452===_0xbd18f7?'\x20':_0xaa28c8(_0x436452))[_0x1a4e('0x1e')];if(_0x51447d<0x2)return _0x51447d?_0x58748e(_0x436452,_0x440b30):_0x436452;var _0x1337bb=_0x58748e(_0x436452,_0x323fb8(_0x440b30/_0x4b3931(_0x436452)));return _0x3108e6(_0x436452)?_0x4830ec(_0x1dd38d(_0x1337bb),0x0,_0x440b30)['join'](''):_0x1337bb[_0x1a4e('0x78')](0x0,_0x440b30);}function _0x367346(_0x440b30){return function(_0x436452,_0x51447d,_0x2505f4){return _0x2505f4&&_0x1a4e('0x3d')!=typeof _0x2505f4&&_0x1c57b9(_0x436452,_0x51447d,_0x2505f4)&&(_0x51447d=_0x2505f4=_0xbd18f7),_0x436452=_0x52ce46(_0x436452),_0x51447d===_0xbd18f7?(_0x51447d=_0x436452,_0x436452=0x0):_0x51447d=_0x52ce46(_0x51447d),function(_0x440b30,_0x436452,_0x51447d,_0x2505f4){for(var _0xbd18f7=-0x1,_0x2d3764=_0x44e3db(_0x323fb8((_0x436452-_0x440b30)/(_0x51447d||0x1)),0x0),_0x3547b5=_0x1337bb(_0x2d3764);_0x2d3764--;)_0x3547b5[_0x2505f4?_0x2d3764:++_0xbd18f7]=_0x440b30,_0x440b30+=_0x51447d;return _0x3547b5;}(_0x436452,_0x51447d,_0x2505f4=_0x2505f4===_0xbd18f7?_0x436452<_0x51447d?0x1:-0x1:_0x52ce46(_0x2505f4),_0x440b30);};}function _0x1027dd(_0x440b30){return function(_0x436452,_0x51447d){return _0x1a4e('0x9')==typeof _0x436452&&_0x1a4e('0x9')==typeof _0x51447d||(_0x436452=_0x49a300(_0x436452),_0x51447d=_0x49a300(_0x51447d)),_0x440b30(_0x436452,_0x51447d);};}function _0x549761(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764,_0x3547b5,_0x4dcadc,_0x378c12,_0x599dd1){var _0x545383=_0x436452&_0x26da39;_0x436452|=_0x545383?_0x4e5f4e:_0x4e14a3,(_0x436452&=~(_0x545383?_0x4e14a3:_0x4e5f4e))&_0x283521||(_0x436452&=~(_0x537c5a|_0x2f97d8));var _0x4398b5=[_0x440b30,_0x436452,_0x2505f4,_0x545383?_0x2d3764:_0xbd18f7,_0x545383?_0x3547b5:_0xbd18f7,_0x545383?_0xbd18f7:_0x2d3764,_0x545383?_0xbd18f7:_0x3547b5,_0x4dcadc,_0x378c12,_0x599dd1],_0x3eecdb=_0x51447d[_0x1a4e('0x8b')](_0xbd18f7,_0x4398b5);return _0x33a128(_0x440b30)&&_0x51d794(_0x3eecdb,_0x4398b5),_0x3eecdb[_0x1a4e('0x1031')]=_0x1337bb,_0x3c1736(_0x3eecdb,_0x440b30,_0x436452);}function _0x5da572(_0x440b30){var _0x436452=_0x214e0e[_0x440b30];return function(_0x440b30,_0x51447d){if(_0x440b30=_0x49a300(_0x440b30),_0x51447d=null==_0x51447d?0x0:_0x2a9a65(_0x2f5079(_0x51447d),0x124)){var _0x1337bb=(_0x532093(_0x440b30)+'e')[_0x1a4e('0x2be')]('e');return+((_0x1337bb=(_0x532093(_0x436452(_0x1337bb[0x0]+'e'+(+_0x1337bb[0x1]+_0x51447d)))+'e')[_0x1a4e('0x2be')]('e'))[0x0]+'e'+(+_0x1337bb[0x1]-_0x51447d));}return _0x436452(_0x440b30);};}var _0x52c682=_0x32bbe2&&0x1/_0x20696f(new _0x32bbe2([,-0x0]))[0x1]==_0x3f690c?function(_0x440b30){return new _0x32bbe2(_0x440b30);}:_0x20a5ae;function _0x78031b(_0x440b30){return function(_0x436452){var _0x51447d=_0x1fae50(_0x436452);return _0x51447d==_0x2cc58f?_0x14af7f(_0x436452):_0x51447d==_0x104b15?_0xfb059e(_0x436452):function(_0x440b30,_0x436452){return _0x4c9459(_0x436452,function(_0x436452){return[_0x436452,_0x440b30[_0x436452]];});}(_0x436452,_0x440b30(_0x436452));};}function _0x589e78(_0x440b30,_0x436452,_0x51447d,_0x2505f4,_0x2d3764,_0x3547b5,_0x378c12,_0x599dd1){var _0x4398b5=_0x436452&_0x2f97d8;if(!_0x4398b5&&_0x1a4e('0x68')!=typeof _0x440b30)throw new _0xbeae25(_0x4dcadc);var _0x3eecdb=_0x2505f4?_0x2505f4[_0x1a4e('0x1e')]:0x0;if(_0x3eecdb||(_0x436452&=~(_0x4e5f4e|_0x4e14a3),_0x2505f4=_0x2d3764=_0xbd18f7),_0x378c12=_0x378c12===_0xbd18f7?_0x378c12:_0x44e3db(_0x2f5079(_0x378c12),0x0),_0x599dd1=_0x599dd1===_0xbd18f7?_0x599dd1:_0x2f5079(_0x599dd1),_0x3eecdb-=_0x2d3764?_0x2d3764[_0x1a4e('0x1e')]:0x0,_0x436452&_0x4e14a3){var _0x1b35a2=_0x2505f4,_0x5c5d87=_0x2d3764;_0x2505f4=_0x2d3764=_0xbd18f7;}var _0x3ae387=_0x4398b5?_0xbd18f7:_0x5ac259(_0x440b30),_0x2ce9e7=[_0x440b30,_0x436452,_0x51447d,_0x2505f4,_0x2d3764,_0x1b35a2,_0x5c5d87,_0x3547b5,_0x378c12,_0x599dd1];if(_0x3ae387&&function(_0x440b30,_0x436452){var _0x51447d=_0x440b30[0x1],_0x1337bb=_0x436452[0x1],_0x2505f4=_0x51447d|_0x1337bb,_0xbd18f7=_0x2505f4<(_0x537c5a|_0x2f97d8|_0x555c0d),_0x2d3764=_0x1337bb==_0x555c0d&&_0x51447d==_0x26da39||_0x1337bb==_0x555c0d&&_0x51447d==_0x2d31be&&_0x440b30[0x7][_0x1a4e('0x1e')]<=_0x436452[0x8]||_0x1337bb==(_0x555c0d|_0x2d31be)&&_0x436452[0x7][_0x1a4e('0x1e')]<=_0x436452[0x8]&&_0x51447d==_0x26da39;if(!_0xbd18f7&&!_0x2d3764)return _0x440b30;_0x1337bb&_0x537c5a&&(_0x440b30[0x2]=_0x436452[0x2],_0x2505f4|=_0x51447d&_0x537c5a?0x0:_0x283521);var _0x3547b5=_0x436452[0x3];if(_0x3547b5){var _0x4dcadc=_0x440b30[0x3];_0x440b30[0x3]=_0x4dcadc?_0x423fc2(_0x4dcadc,_0x3547b5,_0x436452[0x4]):_0x3547b5,_0x440b30[0x4]=_0x4dcadc?_0x1146c7(_0x440b30[0x3],_0x545383):_0x436452[0x4];}(_0x3547b5=_0x436452[0x5])&&(_0x4dcadc=_0x440b30[0x5],_0x440b30[0x5]=_0x4dcadc?_0x3306c4(_0x4dcadc,_0x3547b5,_0x436452[0x6]):_0x3547b5,_0x440b30[0x6]=_0x4dcadc?_0x1146c7(_0x440b30[0x5],_0x545383):_0x436452[0x6]),(_0x3547b5=_0x436452[0x7])&&(_0x440b30[0x7]=_0x3547b5),_0x1337bb&_0x555c0d&&(_0x440b30[0x8]=null==_0x440b30[0x8]?_0x436452[0x8]:_0x2a9a65(_0x440b30[0x8],_0x436452[0x8])),null==_0x440b30[0x9]&&(_0x440b30[0x9]=_0x436452[0x9]),_0x440b30[0x0]=_0x436452[0x0],_0x440b30[0x1]=_0x2505f4;}(_0x2ce9e7,_0x3ae387),_0x440b30=_0x2ce9e7[0x0],_0x436452=_0x2ce9e7[0x1],_0x51447d=_0x2ce9e7[0x2],_0x2505f4=_0x2ce9e7[0x3],_0x2d3764=_0x2ce9e7[0x4],!(_0x599dd1=_0x2ce9e7[0x9]=_0x2ce9e7[0x9]===_0xbd18f7?_0x4398b5?0x0:_0x440b30[_0x1a4e('0x1e')]:_0x44e3db(_0x2ce9e7[0x9]-_0x3eecdb,0x0))&&_0x436452&(_0x26da39|_0x47a10e)&&(_0x436452&=~(_0x26da39|_0x47a10e)),_0x436452&&_0x436452!=_0x537c5a)_0x4fb86d=_0x436452==_0x26da39||_0x436452==_0x47a10e?function(_0x440b30,_0x436452,_0x51447d){var _0x2505f4=_0x5e1d1c(_0x440b30);return function _0x2d3764(){for(var _0x3547b5=arguments['length'],_0x4dcadc=_0x1337bb(_0x3547b5),_0x378c12=_0x3547b5,_0x599dd1=_0x44af84(_0x2d3764);_0x378c12--;)_0x4dcadc[_0x378c12]=arguments[_0x378c12];var _0x545383=_0x3547b5<0x3&&_0x4dcadc[0x0]!==_0x599dd1&&_0x4dcadc[_0x3547b5-0x1]!==_0x599dd1?[]:_0x1146c7(_0x4dcadc,_0x599dd1);return(_0x3547b5-=_0x545383[_0x1a4e('0x1e')])<_0x51447d?_0x549761(_0x440b30,_0x436452,_0x3f6aec,_0x2d3764[_0x1a4e('0x1031')],_0xbd18f7,_0x4dcadc,_0x545383,_0xbd18f7,_0xbd18f7,_0x51447d-_0x3547b5):_0x252c1e(this&&this!==_0x4c1475&&this instanceof _0x2d3764?_0x2505f4:_0x440b30,this,_0x4dcadc);};}(_0x440b30,_0x436452,_0x599dd1):_0x436452!=_0x4e5f4e&&_0x436452!=(_0x537c5a|_0x4e5f4e)||_0x2d3764[_0x1a4e('0x1e')]?_0x3f6aec['apply'](_0xbd18f7,_0x2ce9e7):function(_0x440b30,_0x436452,_0x51447d,_0x2505f4){var _0xbd18f7=_0x436452&_0x537c5a,_0x2d3764=_0x5e1d1c(_0x440b30);return function _0x436452(){for(var _0x3547b5=-0x1,_0x4dcadc=arguments['length'],_0x378c12=-0x1,_0x599dd1=_0x2505f4[_0x1a4e('0x1e')],_0x545383=_0x1337bb(_0x599dd1+_0x4dcadc),_0x4398b5=this&&this!==_0x4c1475&&this instanceof _0x436452?_0x2d3764:_0x440b30;++_0x378c12<_0x599dd1;)_0x545383[_0x378c12]=_0x2505f4[_0x378c12];for(;_0x4dcadc--;)_0x545383[_0x378c12++]=arguments[++_0x3547b5];return _0x252c1e(_0x4398b5,_0xbd18f7?_0x51447d:this,_0x545383);};}(_0x440b30,_0x436452,_0x51447d,_0x2505f4);else var _0x4fb86d=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x436452&_0x537c5a,_0x2505f4=_0x5e1d1c(_0x440b30);return function _0x436452(){return(this&&this!==_0x4c1475&&this instanceof _0x436452?_0x2505f4:_0x440b30)['apply'](_0x1337bb?_0x51447d:this,arguments);};}(_0x440b30,_0x436452,_0x51447d);return _0x3c1736((_0x3ae387?_0x12247a:_0x51d794)(_0x4fb86d,_0x2ce9e7),_0x440b30,_0x436452);}function _0x28ba44(_0x440b30,_0x436452,_0x51447d,_0x1337bb){return _0x440b30===_0xbd18f7||_0x37d7c6(_0x440b30,_0x32b6f2[_0x51447d])&&!_0x43f346[_0x1a4e('0x1')](_0x1337bb,_0x51447d)?_0x436452:_0x440b30;}function _0x38c223(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764){return _0x4577ce(_0x440b30)&&_0x4577ce(_0x436452)&&(_0x2d3764['set'](_0x436452,_0x440b30),_0xa3db78(_0x440b30,_0x436452,_0xbd18f7,_0x38c223,_0x2d3764),_0x2d3764[_0x1a4e('0xf4c')](_0x436452)),_0x440b30;}function _0x17068c(_0x440b30){return _0x578ef5(_0x440b30)?_0xbd18f7:_0x440b30;}function _0x27f57a(_0x440b30,_0x436452,_0x51447d,_0x1337bb,_0x2505f4,_0x2d3764){var _0x3547b5=_0x51447d&_0x5c5d87,_0x4dcadc=_0x440b30['length'],_0x378c12=_0x436452[_0x1a4e('0x1e')];if(_0x4dcadc!=_0x378c12&&!(_0x3547b5&&_0x378c12>_0x4dcadc))return!0x1;var _0x599dd1=_0x2d3764[_0x1a4e('0x179')](_0x440b30);if(_0x599dd1&&_0x2d3764[_0x1a4e('0x179')](_0x436452))return _0x599dd1==_0x436452;var _0x545383=-0x1,_0x4398b5=!0x0,_0x3eecdb=_0x51447d&_0x3ae387?new _0x34b23b():_0xbd18f7;for(_0x2d3764[_0x1a4e('0x17a')](_0x440b30,_0x436452),_0x2d3764[_0x1a4e('0x17a')](_0x436452,_0x440b30);++_0x545383<_0x4dcadc;){var _0x1b35a2=_0x440b30[_0x545383],_0x537c5a=_0x436452[_0x545383];if(_0x1337bb)var _0x2f97d8=_0x3547b5?_0x1337bb(_0x537c5a,_0x1b35a2,_0x545383,_0x436452,_0x440b30,_0x2d3764):_0x1337bb(_0x1b35a2,_0x537c5a,_0x545383,_0x440b30,_0x436452,_0x2d3764);if(_0x2f97d8!==_0xbd18f7){if(_0x2f97d8)continue;_0x4398b5=!0x1;break;}if(_0x3eecdb){if(!_0x2ebb05(_0x436452,function(_0x440b30,_0x436452){if(!_0xdb6868(_0x3eecdb,_0x436452)&&(_0x1b35a2===_0x440b30||_0x2505f4(_0x1b35a2,_0x440b30,_0x51447d,_0x1337bb,_0x2d3764)))return _0x3eecdb[_0x1a4e('0x46')](_0x436452);})){_0x4398b5=!0x1;break;}}else if(_0x1b35a2!==_0x537c5a&&!_0x2505f4(_0x1b35a2,_0x537c5a,_0x51447d,_0x1337bb,_0x2d3764)){_0x4398b5=!0x1;break;}}return _0x2d3764[_0x1a4e('0xf4c')](_0x440b30),_0x2d3764[_0x1a4e('0xf4c')](_0x436452),_0x4398b5;}function _0x220ebc(_0x440b30){return _0x30ccaf(_0x36191d(_0x440b30,_0xbd18f7,_0x174ca5),_0x440b30+'');}function _0x408a92(_0x440b30){return _0x48f8f6(_0x440b30,_0x75a98e,_0x499a6e);}function _0x5482db(_0x440b30){return _0x48f8f6(_0x440b30,_0x1501a6,_0x5c88fe);}var _0x5ac259=_0x3e6aad?function(_0x440b30){return _0x3e6aad[_0x1a4e('0x179')](_0x440b30);}:_0x20a5ae;function _0xb049c2(_0x440b30){for(var _0x436452=_0x440b30['name']+'',_0x51447d=_0x3192fa[_0x436452],_0x1337bb=_0x43f346[_0x1a4e('0x1')](_0x3192fa,_0x436452)?_0x51447d[_0x1a4e('0x1e')]:0x0;_0x1337bb--;){var _0x2505f4=_0x51447d[_0x1337bb],_0xbd18f7=_0x2505f4[_0x1a4e('0x102d')];if(null==_0xbd18f7||_0xbd18f7==_0x440b30)return _0x2505f4[_0x1a4e('0x2cb')];}return _0x436452;}function _0x44af84(_0x440b30){return(_0x43f346[_0x1a4e('0x1')](_0x4d4771,_0x1a4e('0x1031'))?_0x4d4771:_0x440b30)['placeholder'];}function _0x53074b(){var _0x440b30=_0x4d4771[_0x1a4e('0x1032')]||_0x1c7664;return _0x440b30=_0x440b30===_0x1c7664?_0x3855d1:_0x440b30,arguments[_0x1a4e('0x1e')]?_0x440b30(arguments[0x0],arguments[0x1]):_0x440b30;}function _0xc0e986(_0x440b30,_0x436452){var _0x51447d,_0x1337bb,_0x2505f4=_0x440b30[_0x1a4e('0xfb8')];return('string'==(_0x1337bb=typeof(_0x51447d=_0x436452))||'number'==_0x1337bb||_0x1a4e('0xb1b')==_0x1337bb||_0x1a4e('0x34b')==_0x1337bb?'__proto__'!==_0x51447d:null===_0x51447d)?_0x2505f4[_0x1a4e('0x9')==typeof _0x436452?'string':_0x1a4e('0xaa4')]:_0x2505f4['map'];}function _0x40844a(_0x440b30){for(var _0x436452=_0x75a98e(_0x440b30),_0x51447d=_0x436452['length'];_0x51447d--;){var _0x1337bb=_0x436452[_0x51447d],_0x2505f4=_0x440b30[_0x1337bb];_0x436452[_0x51447d]=[_0x1337bb,_0x2505f4,_0x2ba16a(_0x2505f4)];}return _0x436452;}function _0x11645e(_0x440b30,_0x436452){var _0x51447d=function(_0x440b30,_0x436452){return null==_0x440b30?_0xbd18f7:_0x440b30[_0x436452];}(_0x440b30,_0x436452);return _0x4e3fe2(_0x51447d)?_0x51447d:_0xbd18f7;}var _0x499a6e=_0x443225?function(_0x440b30){return null==_0x440b30?[]:(_0x440b30=_0x27862c(_0x440b30),_0x57a63d(_0x443225(_0x440b30),function(_0x436452){return _0x5aa96f[_0x1a4e('0x1')](_0x440b30,_0x436452);}));}:_0x32ec43,_0x5c88fe=_0x443225?function(_0x440b30){for(var _0x436452=[];_0x440b30;)_0x2eb09c(_0x436452,_0x499a6e(_0x440b30)),_0x440b30=_0x509e3e(_0x440b30);return _0x436452;}:_0x32ec43,_0x1fae50=_0x4b4fdc;function _0x57935b(_0x440b30,_0x436452,_0x51447d){for(var _0x1337bb=-0x1,_0x2505f4=(_0x436452=_0x5f205e(_0x436452,_0x440b30))[_0x1a4e('0x1e')],_0xbd18f7=!0x1;++_0x1337bb<_0x2505f4;){var _0x2d3764=_0x3beb67(_0x436452[_0x1337bb]);if(!(_0xbd18f7=null!=_0x440b30&&_0x51447d(_0x440b30,_0x2d3764)))break;_0x440b30=_0x440b30[_0x2d3764];}return _0xbd18f7||++_0x1337bb!=_0x2505f4?_0xbd18f7:!!(_0x2505f4=null==_0x440b30?0x0:_0x440b30['length'])&&_0x2d9e58(_0x2505f4)&&_0x8d873f(_0x2d3764,_0x2505f4)&&(_0x51876e(_0x440b30)||_0x213c10(_0x440b30));}function _0x13e619(_0x440b30){return'function'!=typeof _0x440b30[_0x1a4e('0x10')]||_0x5131fc(_0x440b30)?{}:_0x33406c(_0x509e3e(_0x440b30));}function _0x32ebbe(_0x440b30){return _0x51876e(_0x440b30)||_0x213c10(_0x440b30)||!!(_0x30edfd&&_0x440b30&&_0x440b30[_0x30edfd]);}function _0x8d873f(_0x440b30,_0x436452){var _0x51447d=typeof _0x440b30;return!!(_0x436452=null==_0x436452?_0x54dba2:_0x436452)&&('number'==_0x51447d||_0x1a4e('0xb1b')!=_0x51447d&&_0x562bc1[_0x1a4e('0x8d0')](_0x440b30))&&_0x440b30>-0x1&&_0x440b30%0x1==0x0&&_0x440b30<_0x436452;}function _0x1c57b9(_0x440b30,_0x436452,_0x51447d){if(!_0x4577ce(_0x51447d))return!0x1;var _0x1337bb=typeof _0x436452;return!!(_0x1a4e('0x3d')==_0x1337bb?_0x4ffcbd(_0x51447d)&&_0x8d873f(_0x436452,_0x51447d['length']):_0x1a4e('0x9')==_0x1337bb&&_0x436452 in _0x51447d)&&_0x37d7c6(_0x51447d[_0x436452],_0x440b30);}function _0x34fb7f(_0x440b30,_0x436452){if(_0x51876e(_0x440b30))return!0x1;var _0x51447d=typeof _0x440b30;return!(_0x1a4e('0x3d')!=_0x51447d&&_0x1a4e('0xb1b')!=_0x51447d&&'boolean'!=_0x51447d&&null!=_0x440b30&&!_0x3a6fb4(_0x440b30))||_0x47697b[_0x1a4e('0x8d0')](_0x440b30)||!_0x4b3678[_0x1a4e('0x8d0')](_0x440b30)||null!=_0x436452&&_0x440b30 in _0x27862c(_0x436452);}function _0x33a128(_0x440b30){var _0x436452=_0xb049c2(_0x440b30),_0x51447d=_0x4d4771[_0x436452];if(_0x1a4e('0x68')!=typeof _0x51447d||!(_0x436452 in _0x2de872['prototype']))return!0x1;if(_0x440b30===_0x51447d)return!0x0;var _0x1337bb=_0x5ac259(_0x51447d);return!!_0x1337bb&&_0x440b30===_0x1337bb[0x0];}(_0xfda5ac&&_0x1fae50(new _0xfda5ac(new ArrayBuffer(0x1)))!=_0x35fae4||_0x3d2bb3&&_0x1fae50(new _0x3d2bb3())!=_0x2cc58f||_0x2c7025&&_0x1a4e('0xfc4')!=_0x1fae50(_0x2c7025['resolve']())||_0x32bbe2&&_0x1fae50(new _0x32bbe2())!=_0x104b15||_0x114e66&&_0x1fae50(new _0x114e66())!=_0x1e84c7)&&(_0x1fae50=function(_0x440b30){var _0x436452=_0x4b4fdc(_0x440b30),_0x51447d=_0x436452==_0x4d7fd4?_0x440b30[_0x1a4e('0x10')]:_0xbd18f7,_0x1337bb=_0x51447d?_0x35ba0d(_0x51447d):'';if(_0x1337bb)switch(_0x1337bb){case _0x11f250:return _0x35fae4;case _0x5736e3:return _0x2cc58f;case _0x530a16:return _0x1a4e('0xfc4');case _0x4762eb:return _0x104b15;case _0x40300d:return _0x1e84c7;}return _0x436452;});var _0x2b890b=_0x5aa32f?_0xd96647:_0x519017;function _0x5131fc(_0x440b30){var _0x436452=_0x440b30&&_0x440b30[_0x1a4e('0x10')];return _0x440b30===('function'==typeof _0x436452&&_0x436452['prototype']||_0x32b6f2);}function _0x2ba16a(_0x440b30){return _0x440b30==_0x440b30&&!_0x4577ce(_0x440b30);}function _0x33d370(_0x440b30,_0x436452){return function(_0x51447d){return null!=_0x51447d&&_0x51447d[_0x440b30]===_0x436452&&(_0x436452!==_0xbd18f7||_0x440b30 in _0x27862c(_0x51447d));};}function _0x36191d(_0x440b30,_0x436452,_0x51447d){return _0x436452=_0x44e3db(_0x436452===_0xbd18f7?_0x440b30[_0x1a4e('0x1e')]-0x1:_0x436452,0x0),function(){for(var _0x2505f4=arguments,_0xbd18f7=-0x1,_0x2d3764=_0x44e3db(_0x2505f4[_0x1a4e('0x1e')]-_0x436452,0x0),_0x3547b5=_0x1337bb(_0x2d3764);++_0xbd18f7<_0x2d3764;)_0x3547b5[_0xbd18f7]=_0x2505f4[_0x436452+_0xbd18f7];_0xbd18f7=-0x1;for(var _0x4dcadc=_0x1337bb(_0x436452+0x1);++_0xbd18f7<_0x436452;)_0x4dcadc[_0xbd18f7]=_0x2505f4[_0xbd18f7];return _0x4dcadc[_0x436452]=_0x51447d(_0x3547b5),_0x252c1e(_0x440b30,this,_0x4dcadc);};}function _0x47ff14(_0x440b30,_0x436452){return _0x436452['length']<0x2?_0x440b30:_0x40c6b1(_0x440b30,_0x1eaaa2(_0x436452,0x0,-0x1));}function _0x3c39c0(_0x440b30,_0x436452){if('__proto__'!=_0x436452)return _0x440b30[_0x436452];}var _0x51d794=_0x97dd57(_0x12247a),_0x3685b6=_0x11f6ce||function(_0x440b30,_0x436452){return _0x4c1475[_0x1a4e('0x1016')](_0x440b30,_0x436452);},_0x30ccaf=_0x97dd57(_0x403d19);function _0x3c1736(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x436452+'';return _0x30ccaf(_0x440b30,function(_0x440b30,_0x436452){var _0x51447d=_0x436452[_0x1a4e('0x1e')];if(!_0x51447d)return _0x440b30;var _0x1337bb=_0x51447d-0x1;return _0x436452[_0x1337bb]=(_0x51447d>0x1?'&\x20':'')+_0x436452[_0x1337bb],_0x436452=_0x436452[_0x1a4e('0x9e')](_0x51447d>0x2?',\x20':'\x20'),_0x440b30[_0x1a4e('0x115')](_0x4c51b0,_0x1a4e('0x1033')+_0x436452+_0x1a4e('0x1034'));}(_0x1337bb,function(_0x440b30,_0x436452){return _0x44019c(_0x538fd2,function(_0x51447d){var _0x1337bb='_.'+_0x51447d[0x0];_0x436452&_0x51447d[0x1]&&!_0x50dde6(_0x440b30,_0x1337bb)&&_0x440b30[_0x1a4e('0x46')](_0x1337bb);}),_0x440b30[_0x1a4e('0x89')]();}(function(_0x440b30){var _0x436452=_0x440b30[_0x1a4e('0x909')](_0x38832f);return _0x436452?_0x436452[0x1][_0x1a4e('0x2be')](_0xe97e38):[];}(_0x1337bb),_0x51447d)));}function _0x97dd57(_0x440b30){var _0x436452=0x0,_0x51447d=0x0;return function(){var _0x1337bb=_0xbb4035(),_0x2505f4=_0x1a08ca-(_0x1337bb-_0x51447d);if(_0x51447d=_0x1337bb,_0x2505f4>0x0){if(++_0x436452>=_0x58e26a)return arguments[0x0];}else _0x436452=0x0;return _0x440b30[_0x1a4e('0x8b')](_0xbd18f7,arguments);};}function _0x3214ce(_0x440b30,_0x436452){var _0x51447d=-0x1,_0x1337bb=_0x440b30[_0x1a4e('0x1e')],_0x2505f4=_0x1337bb-0x1;for(_0x436452=_0x436452===_0xbd18f7?_0x1337bb:_0x436452;++_0x51447d<_0x436452;){var _0x2d3764=_0x4b9e1c(_0x51447d,_0x2505f4),_0x3547b5=_0x440b30[_0x2d3764];_0x440b30[_0x2d3764]=_0x440b30[_0x51447d],_0x440b30[_0x51447d]=_0x3547b5;}return _0x440b30['length']=_0x436452,_0x440b30;}var _0x5691e6=function(_0x440b30){var _0x436452=_0x3f564a(_0x440b30,function(_0x440b30){return _0x51447d[_0x1a4e('0x220')]===_0x599dd1&&_0x51447d['clear'](),_0x440b30;}),_0x51447d=_0x436452[_0x1a4e('0xa67')];return _0x436452;}(function(_0x440b30){var _0x436452=[];return 0x2e===_0x440b30[_0x1a4e('0x913')](0x0)&&_0x436452['push'](''),_0x440b30[_0x1a4e('0x115')](_0x3429f6,function(_0x440b30,_0x51447d,_0x1337bb,_0x2505f4){_0x436452[_0x1a4e('0x46')](_0x1337bb?_0x2505f4[_0x1a4e('0x115')](_0x366d9f,'$1'):_0x51447d||_0x440b30);}),_0x436452;});function _0x3beb67(_0x440b30){if(_0x1a4e('0x9')==typeof _0x440b30||_0x3a6fb4(_0x440b30))return _0x440b30;var _0x436452=_0x440b30+'';return'0'==_0x436452&&0x1/_0x440b30==-_0x3f690c?'-0':_0x436452;}function _0x35ba0d(_0x440b30){if(null!=_0x440b30){try{return _0x2023fc[_0x1a4e('0x1')](_0x440b30);}catch(_0x5c5b5e){}try{return _0x440b30+'';}catch(_0x3ffaa1){}}return'';}function _0x275bb2(_0x440b30){if(_0x440b30 instanceof _0x2de872)return _0x440b30[_0x1a4e('0x240')]();var _0x436452=new _0x52c0b4(_0x440b30[_0x1a4e('0x1023')],_0x440b30[_0x1a4e('0x1025')]);return _0x436452[_0x1a4e('0x1024')]=_0x35e077(_0x440b30[_0x1a4e('0x1024')]),_0x436452[_0x1a4e('0x1035')]=_0x440b30[_0x1a4e('0x1035')],_0x436452['__values__']=_0x440b30[_0x1a4e('0x1026')],_0x436452;}var _0x52796b=_0x53dd60(function(_0x440b30,_0x436452){return _0x22cef3(_0x440b30)?_0x52c0df(_0x440b30,_0x5060d6(_0x436452,0x1,_0x22cef3,!0x0)):[];}),_0xd039ed=_0x53dd60(function(_0x440b30,_0x436452){var _0x51447d=_0x1294b9(_0x436452);return _0x22cef3(_0x51447d)&&(_0x51447d=_0xbd18f7),_0x22cef3(_0x440b30)?_0x52c0df(_0x440b30,_0x5060d6(_0x436452,0x1,_0x22cef3,!0x0),_0x53074b(_0x51447d,0x2)):[];}),_0x284c34=_0x53dd60(function(_0x440b30,_0x436452){var _0x51447d=_0x1294b9(_0x436452);return _0x22cef3(_0x51447d)&&(_0x51447d=_0xbd18f7),_0x22cef3(_0x440b30)?_0x52c0df(_0x440b30,_0x5060d6(_0x436452,0x1,_0x22cef3,!0x0),_0xbd18f7,_0x51447d):[];});function _0x4b2366(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];if(!_0x1337bb)return-0x1;var _0x2505f4=null==_0x51447d?0x0:_0x2f5079(_0x51447d);return _0x2505f4<0x0&&(_0x2505f4=_0x44e3db(_0x1337bb+_0x2505f4,0x0)),_0x265615(_0x440b30,_0x53074b(_0x436452,0x3),_0x2505f4);}function _0x4e21a5(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==_0x440b30?0x0:_0x440b30['length'];if(!_0x1337bb)return-0x1;var _0x2505f4=_0x1337bb-0x1;return _0x51447d!==_0xbd18f7&&(_0x2505f4=_0x2f5079(_0x51447d),_0x2505f4=_0x51447d<0x0?_0x44e3db(_0x1337bb+_0x2505f4,0x0):_0x2a9a65(_0x2505f4,_0x1337bb-0x1)),_0x265615(_0x440b30,_0x53074b(_0x436452,0x3),_0x2505f4,!0x0);}function _0x174ca5(_0x440b30){return null!=_0x440b30&&_0x440b30['length']?_0x5060d6(_0x440b30,0x1):[];}function _0x492b13(_0x440b30){return _0x440b30&&_0x440b30['length']?_0x440b30[0x0]:_0xbd18f7;}var _0x1bc92d=_0x53dd60(function(_0x440b30){var _0x436452=_0x4c9459(_0x440b30,_0x43d58f);return _0x436452[_0x1a4e('0x1e')]&&_0x436452[0x0]===_0x440b30[0x0]?_0x7f705d(_0x436452):[];}),_0x57930d=_0x53dd60(function(_0x440b30){var _0x436452=_0x1294b9(_0x440b30),_0x51447d=_0x4c9459(_0x440b30,_0x43d58f);return _0x436452===_0x1294b9(_0x51447d)?_0x436452=_0xbd18f7:_0x51447d['pop'](),_0x51447d[_0x1a4e('0x1e')]&&_0x51447d[0x0]===_0x440b30[0x0]?_0x7f705d(_0x51447d,_0x53074b(_0x436452,0x2)):[];}),_0x525bc5=_0x53dd60(function(_0x440b30){var _0x436452=_0x1294b9(_0x440b30),_0x51447d=_0x4c9459(_0x440b30,_0x43d58f);return(_0x436452='function'==typeof _0x436452?_0x436452:_0xbd18f7)&&_0x51447d['pop'](),_0x51447d[_0x1a4e('0x1e')]&&_0x51447d[0x0]===_0x440b30[0x0]?_0x7f705d(_0x51447d,_0xbd18f7,_0x436452):[];});function _0x1294b9(_0x440b30){var _0x436452=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];return _0x436452?_0x440b30[_0x436452-0x1]:_0xbd18f7;}var _0x8d5b3e=_0x53dd60(_0x2d2b0f);function _0x2d2b0f(_0x440b30,_0x436452){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]&&_0x436452&&_0x436452['length']?_0x8ae651(_0x440b30,_0x436452):_0x440b30;}var _0x3f9c3e=_0x220ebc(function(_0x440b30,_0x436452){var _0x51447d=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')],_0x1337bb=_0x521e5b(_0x440b30,_0x436452);return _0x390a4f(_0x440b30,_0x4c9459(_0x436452,function(_0x440b30){return _0x8d873f(_0x440b30,_0x51447d)?+_0x440b30:_0x440b30;})[_0x1a4e('0x89')](_0x48b3f0)),_0x1337bb;});function _0x3ec9c0(_0x440b30){return null==_0x440b30?_0x440b30:_0x1fd47e[_0x1a4e('0x1')](_0x440b30);}var _0x5eaf86=_0x53dd60(function(_0x440b30){return _0x44c8d1(_0x5060d6(_0x440b30,0x1,_0x22cef3,!0x0));}),_0x1dbf7a=_0x53dd60(function(_0x440b30){var _0x436452=_0x1294b9(_0x440b30);return _0x22cef3(_0x436452)&&(_0x436452=_0xbd18f7),_0x44c8d1(_0x5060d6(_0x440b30,0x1,_0x22cef3,!0x0),_0x53074b(_0x436452,0x2));}),_0x40941c=_0x53dd60(function(_0x440b30){var _0x436452=_0x1294b9(_0x440b30);return _0x436452=_0x1a4e('0x68')==typeof _0x436452?_0x436452:_0xbd18f7,_0x44c8d1(_0x5060d6(_0x440b30,0x1,_0x22cef3,!0x0),_0xbd18f7,_0x436452);});function _0xe7ba9(_0x440b30){if(!_0x440b30||!_0x440b30[_0x1a4e('0x1e')])return[];var _0x436452=0x0;return _0x440b30=_0x57a63d(_0x440b30,function(_0x440b30){if(_0x22cef3(_0x440b30))return _0x436452=_0x44e3db(_0x440b30['length'],_0x436452),!0x0;}),_0x17d56f(_0x436452,function(_0x436452){return _0x4c9459(_0x440b30,_0x1dce68(_0x436452));});}function _0x403d02(_0x440b30,_0x436452){if(!_0x440b30||!_0x440b30['length'])return[];var _0x51447d=_0xe7ba9(_0x440b30);return null==_0x436452?_0x51447d:_0x4c9459(_0x51447d,function(_0x440b30){return _0x252c1e(_0x436452,_0xbd18f7,_0x440b30);});}var _0x1a87c3=_0x53dd60(function(_0x440b30,_0x436452){return _0x22cef3(_0x440b30)?_0x52c0df(_0x440b30,_0x436452):[];}),_0x264dc0=_0x53dd60(function(_0x440b30){return _0x4d1f54(_0x57a63d(_0x440b30,_0x22cef3));}),_0x1085f2=_0x53dd60(function(_0x440b30){var _0x436452=_0x1294b9(_0x440b30);return _0x22cef3(_0x436452)&&(_0x436452=_0xbd18f7),_0x4d1f54(_0x57a63d(_0x440b30,_0x22cef3),_0x53074b(_0x436452,0x2));}),_0x979655=_0x53dd60(function(_0x440b30){var _0x436452=_0x1294b9(_0x440b30);return _0x436452=_0x1a4e('0x68')==typeof _0x436452?_0x436452:_0xbd18f7,_0x4d1f54(_0x57a63d(_0x440b30,_0x22cef3),_0xbd18f7,_0x436452);}),_0x4ea621=_0x53dd60(_0xe7ba9);var _0x473f1a=_0x53dd60(function(_0x440b30){var _0x436452=_0x440b30['length'],_0x51447d=_0x436452>0x1?_0x440b30[_0x436452-0x1]:_0xbd18f7;return _0x51447d=_0x1a4e('0x68')==typeof _0x51447d?(_0x440b30['pop'](),_0x51447d):_0xbd18f7,_0x403d02(_0x440b30,_0x51447d);});function _0x440f61(_0x440b30){var _0x436452=_0x4d4771(_0x440b30);return _0x436452[_0x1a4e('0x1025')]=!0x0,_0x436452;}function _0x41a32f(_0x440b30,_0x436452){return _0x436452(_0x440b30);}var _0x3f9faf=_0x220ebc(function(_0x440b30){var _0x436452=_0x440b30[_0x1a4e('0x1e')],_0x51447d=_0x436452?_0x440b30[0x0]:0x0,_0x1337bb=this[_0x1a4e('0x1023')],_0x2505f4=function(_0x436452){return _0x521e5b(_0x436452,_0x440b30);};return!(_0x436452>0x1||this[_0x1a4e('0x1024')][_0x1a4e('0x1e')])&&_0x1337bb instanceof _0x2de872&&_0x8d873f(_0x51447d)?((_0x1337bb=_0x1337bb[_0x1a4e('0x78')](_0x51447d,+_0x51447d+(_0x436452?0x1:0x0)))['__actions__'][_0x1a4e('0x46')]({'func':_0x41a32f,'args':[_0x2505f4],'thisArg':_0xbd18f7}),new _0x52c0b4(_0x1337bb,this[_0x1a4e('0x1025')])[_0x1a4e('0x102f')](function(_0x440b30){return _0x436452&&!_0x440b30[_0x1a4e('0x1e')]&&_0x440b30[_0x1a4e('0x46')](_0xbd18f7),_0x440b30;})):this[_0x1a4e('0x102f')](_0x2505f4);});var _0x281c8b=_0x2c96f3(function(_0x440b30,_0x436452,_0x51447d){_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x51447d)?++_0x440b30[_0x51447d]:_0x429aa1(_0x440b30,_0x51447d,0x1);});var _0x2c4016=_0x3065a7(_0x4b2366),_0x160dc3=_0x3065a7(_0x4e21a5);function _0xf52628(_0x440b30,_0x436452){return(_0x51876e(_0x440b30)?_0x44019c:_0xf54e13)(_0x440b30,_0x53074b(_0x436452,0x3));}function _0x56508(_0x440b30,_0x436452){return(_0x51876e(_0x440b30)?_0x22733f:_0x227d8b)(_0x440b30,_0x53074b(_0x436452,0x3));}var _0x4a3401=_0x2c96f3(function(_0x440b30,_0x436452,_0x51447d){_0x43f346['call'](_0x440b30,_0x51447d)?_0x440b30[_0x51447d]['push'](_0x436452):_0x429aa1(_0x440b30,_0x51447d,[_0x436452]);});var _0x54fe33=_0x53dd60(function(_0x440b30,_0x436452,_0x51447d){var _0x2505f4=-0x1,_0xbd18f7=_0x1a4e('0x68')==typeof _0x436452,_0x2d3764=_0x4ffcbd(_0x440b30)?_0x1337bb(_0x440b30[_0x1a4e('0x1e')]):[];return _0xf54e13(_0x440b30,function(_0x440b30){_0x2d3764[++_0x2505f4]=_0xbd18f7?_0x252c1e(_0x436452,_0x440b30,_0x51447d):_0x2206f3(_0x440b30,_0x436452,_0x51447d);}),_0x2d3764;}),_0x34a7a5=_0x2c96f3(function(_0x440b30,_0x436452,_0x51447d){_0x429aa1(_0x440b30,_0x51447d,_0x436452);});function _0x402d35(_0x440b30,_0x436452){return(_0x51876e(_0x440b30)?_0x4c9459:_0x1c789a)(_0x440b30,_0x53074b(_0x436452,0x3));}var _0xe3b618=_0x2c96f3(function(_0x440b30,_0x436452,_0x51447d){_0x440b30[_0x51447d?0x0:0x1][_0x1a4e('0x46')](_0x436452);},function(){return[[],[]];});var _0x27763f=_0x53dd60(function(_0x440b30,_0x436452){if(null==_0x440b30)return[];var _0x51447d=_0x436452[_0x1a4e('0x1e')];return _0x51447d>0x1&&_0x1c57b9(_0x440b30,_0x436452[0x0],_0x436452[0x1])?_0x436452=[]:_0x51447d>0x2&&_0x1c57b9(_0x436452[0x0],_0x436452[0x1],_0x436452[0x2])&&(_0x436452=[_0x436452[0x0]]),_0x36a49a(_0x440b30,_0x5060d6(_0x436452,0x1),[]);}),_0x4afe11=_0x46f42b||function(){return _0x4c1475[_0x1a4e('0x100c')][_0x1a4e('0xe3f')]();};function _0x34ef8a(_0x440b30,_0x436452,_0x51447d){return _0x436452=_0x51447d?_0xbd18f7:_0x436452,_0x436452=_0x440b30&&null==_0x436452?_0x440b30['length']:_0x436452,_0x589e78(_0x440b30,_0x555c0d,_0xbd18f7,_0xbd18f7,_0xbd18f7,_0xbd18f7,_0x436452);}function _0x366661(_0x440b30,_0x436452){var _0x51447d;if(_0x1a4e('0x68')!=typeof _0x436452)throw new _0xbeae25(_0x4dcadc);return _0x440b30=_0x2f5079(_0x440b30),function(){return--_0x440b30>0x0&&(_0x51447d=_0x436452[_0x1a4e('0x8b')](this,arguments)),_0x440b30<=0x1&&(_0x436452=_0xbd18f7),_0x51447d;};}var _0xcc6835=_0x53dd60(function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x537c5a;if(_0x51447d['length']){var _0x2505f4=_0x1146c7(_0x51447d,_0x44af84(_0xcc6835));_0x1337bb|=_0x4e5f4e;}return _0x589e78(_0x440b30,_0x1337bb,_0x436452,_0x51447d,_0x2505f4);}),_0x4dd0de=_0x53dd60(function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x537c5a|_0x2f97d8;if(_0x51447d['length']){var _0x2505f4=_0x1146c7(_0x51447d,_0x44af84(_0x4dd0de));_0x1337bb|=_0x4e5f4e;}return _0x589e78(_0x436452,_0x1337bb,_0x440b30,_0x51447d,_0x2505f4);});function _0x89d4ec(_0x440b30,_0x436452,_0x51447d){var _0x1337bb,_0x2505f4,_0x2d3764,_0x3547b5,_0x378c12,_0x599dd1,_0x545383=0x0,_0x4398b5=!0x1,_0x3eecdb=!0x1,_0x1b35a2=!0x0;if(_0x1a4e('0x68')!=typeof _0x440b30)throw new _0xbeae25(_0x4dcadc);function _0x5c5d87(_0x436452){var _0x51447d=_0x1337bb,_0x2d3764=_0x2505f4;return _0x1337bb=_0x2505f4=_0xbd18f7,_0x545383=_0x436452,_0x3547b5=_0x440b30[_0x1a4e('0x8b')](_0x2d3764,_0x51447d);}function _0x3ae387(_0x440b30){var _0x51447d=_0x440b30-_0x599dd1;return _0x599dd1===_0xbd18f7||_0x51447d>=_0x436452||_0x51447d<0x0||_0x3eecdb&&_0x440b30-_0x545383>=_0x2d3764;}function _0x537c5a(){var _0x440b30=_0x4afe11();if(_0x3ae387(_0x440b30))return _0x2f97d8(_0x440b30);_0x378c12=_0x3685b6(_0x537c5a,function(_0x440b30){var _0x51447d=_0x436452-(_0x440b30-_0x599dd1);return _0x3eecdb?_0x2a9a65(_0x51447d,_0x2d3764-(_0x440b30-_0x545383)):_0x51447d;}(_0x440b30));}function _0x2f97d8(_0x440b30){return _0x378c12=_0xbd18f7,_0x1b35a2&&_0x1337bb?_0x5c5d87(_0x440b30):(_0x1337bb=_0x2505f4=_0xbd18f7,_0x3547b5);}function _0x283521(){var _0x440b30=_0x4afe11(),_0x51447d=_0x3ae387(_0x440b30);if(_0x1337bb=arguments,_0x2505f4=this,_0x599dd1=_0x440b30,_0x51447d){if(_0x378c12===_0xbd18f7)return function(_0x440b30){return _0x545383=_0x440b30,_0x378c12=_0x3685b6(_0x537c5a,_0x436452),_0x4398b5?_0x5c5d87(_0x440b30):_0x3547b5;}(_0x599dd1);if(_0x3eecdb)return _0x378c12=_0x3685b6(_0x537c5a,_0x436452),_0x5c5d87(_0x599dd1);}return _0x378c12===_0xbd18f7&&(_0x378c12=_0x3685b6(_0x537c5a,_0x436452)),_0x3547b5;}return _0x436452=_0x49a300(_0x436452)||0x0,_0x4577ce(_0x51447d)&&(_0x4398b5=!!_0x51447d['leading'],_0x2d3764=(_0x3eecdb=_0x1a4e('0x1036')in _0x51447d)?_0x44e3db(_0x49a300(_0x51447d['maxWait'])||0x0,_0x436452):_0x2d3764,_0x1b35a2='trailing'in _0x51447d?!!_0x51447d[_0x1a4e('0x1037')]:_0x1b35a2),_0x283521[_0x1a4e('0x1038')]=function(){_0x378c12!==_0xbd18f7&&_0x4ccddf(_0x378c12),_0x545383=0x0,_0x1337bb=_0x599dd1=_0x2505f4=_0x378c12=_0xbd18f7;},_0x283521[_0x1a4e('0xa6f')]=function(){return _0x378c12===_0xbd18f7?_0x3547b5:_0x2f97d8(_0x4afe11());},_0x283521;}var _0x4e7e7a=_0x53dd60(function(_0x440b30,_0x436452){return _0x342f27(_0x440b30,0x1,_0x436452);}),_0x9b0ba0=_0x53dd60(function(_0x440b30,_0x436452,_0x51447d){return _0x342f27(_0x440b30,_0x49a300(_0x436452)||0x0,_0x51447d);});function _0x3f564a(_0x440b30,_0x436452){if(_0x1a4e('0x68')!=typeof _0x440b30||null!=_0x436452&&_0x1a4e('0x68')!=typeof _0x436452)throw new _0xbeae25(_0x4dcadc);var _0x51447d=function(){var _0x1337bb=arguments,_0x2505f4=_0x436452?_0x436452[_0x1a4e('0x8b')](this,_0x1337bb):_0x1337bb[0x0],_0xbd18f7=_0x51447d['cache'];if(_0xbd18f7['has'](_0x2505f4))return _0xbd18f7['get'](_0x2505f4);var _0x2d3764=_0x440b30[_0x1a4e('0x8b')](this,_0x1337bb);return _0x51447d[_0x1a4e('0xa67')]=_0xbd18f7[_0x1a4e('0x17a')](_0x2505f4,_0x2d3764)||_0xbd18f7,_0x2d3764;};return _0x51447d['cache']=new(_0x3f564a[(_0x1a4e('0x1039'))]||_0x1ca455)(),_0x51447d;}function _0xedd9ef(_0x440b30){if(_0x1a4e('0x68')!=typeof _0x440b30)throw new _0xbeae25(_0x4dcadc);return function(){var _0x436452=arguments;switch(_0x436452[_0x1a4e('0x1e')]){case 0x0:return!_0x440b30[_0x1a4e('0x1')](this);case 0x1:return!_0x440b30['call'](this,_0x436452[0x0]);case 0x2:return!_0x440b30[_0x1a4e('0x1')](this,_0x436452[0x0],_0x436452[0x1]);case 0x3:return!_0x440b30[_0x1a4e('0x1')](this,_0x436452[0x0],_0x436452[0x1],_0x436452[0x2]);}return!_0x440b30['apply'](this,_0x436452);};}_0x3f564a[_0x1a4e('0x1039')]=_0x1ca455;var _0x21e485=_0x3c7662(function(_0x440b30,_0x436452){var _0x51447d=(_0x436452=0x1==_0x436452['length']&&_0x51876e(_0x436452[0x0])?_0x4c9459(_0x436452[0x0],_0x11c8df(_0x53074b())):_0x4c9459(_0x5060d6(_0x436452,0x1),_0x11c8df(_0x53074b())))[_0x1a4e('0x1e')];return _0x53dd60(function(_0x1337bb){for(var _0x2505f4=-0x1,_0xbd18f7=_0x2a9a65(_0x1337bb['length'],_0x51447d);++_0x2505f4<_0xbd18f7;)_0x1337bb[_0x2505f4]=_0x436452[_0x2505f4][_0x1a4e('0x1')](this,_0x1337bb[_0x2505f4]);return _0x252c1e(_0x440b30,this,_0x1337bb);});}),_0x5897db=_0x53dd60(function(_0x440b30,_0x436452){var _0x51447d=_0x1146c7(_0x436452,_0x44af84(_0x5897db));return _0x589e78(_0x440b30,_0x4e5f4e,_0xbd18f7,_0x436452,_0x51447d);}),_0x2a5d5a=_0x53dd60(function(_0x440b30,_0x436452){var _0x51447d=_0x1146c7(_0x436452,_0x44af84(_0x2a5d5a));return _0x589e78(_0x440b30,_0x4e14a3,_0xbd18f7,_0x436452,_0x51447d);}),_0x3379bd=_0x220ebc(function(_0x440b30,_0x436452){return _0x589e78(_0x440b30,_0x2d31be,_0xbd18f7,_0xbd18f7,_0xbd18f7,_0x436452);});function _0x37d7c6(_0x440b30,_0x436452){return _0x440b30===_0x436452||_0x440b30!=_0x440b30&&_0x436452!=_0x436452;}var _0x30ea36=_0x1027dd(_0x11873f),_0x47c60b=_0x1027dd(function(_0x440b30,_0x436452){return _0x440b30>=_0x436452;}),_0x213c10=_0x5db144(function(){return arguments;}())?_0x5db144:function(_0x440b30){return _0x5c0817(_0x440b30)&&_0x43f346['call'](_0x440b30,_0x1a4e('0x1db'))&&!_0x5aa96f[_0x1a4e('0x1')](_0x440b30,'callee');},_0x51876e=_0x1337bb[_0x1a4e('0x15')],_0x540e25=_0x4356f4?_0x11c8df(_0x4356f4):function(_0x440b30){return _0x5c0817(_0x440b30)&&_0x4b4fdc(_0x440b30)==_0x198859;};function _0x4ffcbd(_0x440b30){return null!=_0x440b30&&_0x2d9e58(_0x440b30['length'])&&!_0xd96647(_0x440b30);}function _0x22cef3(_0x440b30){return _0x5c0817(_0x440b30)&&_0x4ffcbd(_0x440b30);}var _0x1ed8f9=_0x17f84a||_0x519017,_0x6e627c=_0x24b27f?_0x11c8df(_0x24b27f):function(_0x440b30){return _0x5c0817(_0x440b30)&&_0x4b4fdc(_0x440b30)==_0x16ffcb;};function _0x3a8b97(_0x440b30){if(!_0x5c0817(_0x440b30))return!0x1;var _0x436452=_0x4b4fdc(_0x440b30);return _0x436452==_0xe5a1d0||_0x436452==_0x231b40||'string'==typeof _0x440b30['message']&&_0x1a4e('0x9')==typeof _0x440b30['name']&&!_0x578ef5(_0x440b30);}function _0xd96647(_0x440b30){if(!_0x4577ce(_0x440b30))return!0x1;var _0x436452=_0x4b4fdc(_0x440b30);return _0x436452==_0x154200||_0x436452==_0x393021||_0x436452==_0x4afbf1||_0x436452==_0x2205fd;}function _0x4cde8e(_0x440b30){return'number'==typeof _0x440b30&&_0x440b30==_0x2f5079(_0x440b30);}function _0x2d9e58(_0x440b30){return _0x1a4e('0x3d')==typeof _0x440b30&&_0x440b30>-0x1&&_0x440b30%0x1==0x0&&_0x440b30<=_0x54dba2;}function _0x4577ce(_0x440b30){var _0x436452=typeof _0x440b30;return null!=_0x440b30&&('object'==_0x436452||_0x1a4e('0x68')==_0x436452);}function _0x5c0817(_0x440b30){return null!=_0x440b30&&_0x1a4e('0x85')==typeof _0x440b30;}var _0x5deb42=_0x2106f9?_0x11c8df(_0x2106f9):function(_0x440b30){return _0x5c0817(_0x440b30)&&_0x1fae50(_0x440b30)==_0x2cc58f;};function _0x53061d(_0x440b30){return _0x1a4e('0x3d')==typeof _0x440b30||_0x5c0817(_0x440b30)&&_0x4b4fdc(_0x440b30)==_0x114ec0;}function _0x578ef5(_0x440b30){if(!_0x5c0817(_0x440b30)||_0x4b4fdc(_0x440b30)!=_0x4d7fd4)return!0x1;var _0x436452=_0x509e3e(_0x440b30);if(null===_0x436452)return!0x0;var _0x51447d=_0x43f346[_0x1a4e('0x1')](_0x436452,_0x1a4e('0x10'))&&_0x436452[_0x1a4e('0x10')];return _0x1a4e('0x68')==typeof _0x51447d&&_0x51447d instanceof _0x51447d&&_0x2023fc[_0x1a4e('0x1')](_0x51447d)==_0x33ca0b;}var _0x45caec=_0x317149?_0x11c8df(_0x317149):function(_0x440b30){return _0x5c0817(_0x440b30)&&_0x4b4fdc(_0x440b30)==_0x4e13ee;};var _0xc813e5=_0x897de8?_0x11c8df(_0x897de8):function(_0x440b30){return _0x5c0817(_0x440b30)&&_0x1fae50(_0x440b30)==_0x104b15;};function _0x1b8c51(_0x440b30){return _0x1a4e('0x9')==typeof _0x440b30||!_0x51876e(_0x440b30)&&_0x5c0817(_0x440b30)&&_0x4b4fdc(_0x440b30)==_0x1d0bf4;}function _0x3a6fb4(_0x440b30){return _0x1a4e('0xb1b')==typeof _0x440b30||_0x5c0817(_0x440b30)&&_0x4b4fdc(_0x440b30)==_0x54e940;}var _0x30f66f=_0x55135e?_0x11c8df(_0x55135e):function(_0x440b30){return _0x5c0817(_0x440b30)&&_0x2d9e58(_0x440b30['length'])&&!!_0x3dd4f7[_0x4b4fdc(_0x440b30)];};var _0x4bc6c2=_0x1027dd(_0x2ae816),_0x4aa680=_0x1027dd(function(_0x440b30,_0x436452){return _0x440b30<=_0x436452;});function _0x2fe9c0(_0x440b30){if(!_0x440b30)return[];if(_0x4ffcbd(_0x440b30))return _0x1b8c51(_0x440b30)?_0x1dd38d(_0x440b30):_0x35e077(_0x440b30);if(_0x165fc1&&_0x440b30[_0x165fc1])return function(_0x440b30){for(var _0x436452,_0x51447d=[];!(_0x436452=_0x440b30[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x51447d[_0x1a4e('0x46')](_0x436452['value']);return _0x51447d;}(_0x440b30[_0x165fc1]());var _0x436452=_0x1fae50(_0x440b30);return(_0x436452==_0x2cc58f?_0x14af7f:_0x436452==_0x104b15?_0x20696f:_0x102a24)(_0x440b30);}function _0x52ce46(_0x440b30){return _0x440b30?(_0x440b30=_0x49a300(_0x440b30))===_0x3f690c||_0x440b30===-_0x3f690c?(_0x440b30<0x0?-0x1:0x1)*_0x5588ae:_0x440b30==_0x440b30?_0x440b30:0x0:0x0===_0x440b30?_0x440b30:0x0;}function _0x2f5079(_0x440b30){var _0x436452=_0x52ce46(_0x440b30),_0x51447d=_0x436452%0x1;return _0x436452==_0x436452?_0x51447d?_0x436452-_0x51447d:_0x436452:0x0;}function _0x49b9e1(_0x440b30){return _0x440b30?_0x5312f4(_0x2f5079(_0x440b30),0x0,_0x5b2d0e):0x0;}function _0x49a300(_0x440b30){if(_0x1a4e('0x3d')==typeof _0x440b30)return _0x440b30;if(_0x3a6fb4(_0x440b30))return _0x1d906b;if(_0x4577ce(_0x440b30)){var _0x436452=_0x1a4e('0x68')==typeof _0x440b30['valueOf']?_0x440b30[_0x1a4e('0x263')]():_0x440b30;_0x440b30=_0x4577ce(_0x436452)?_0x436452+'':_0x436452;}if(_0x1a4e('0x9')!=typeof _0x440b30)return 0x0===_0x440b30?_0x440b30:+_0x440b30;_0x440b30=_0x440b30['replace'](_0x5e4981,'');var _0x51447d=_0x51303a[_0x1a4e('0x8d0')](_0x440b30);return _0x51447d||_0x394b34[_0x1a4e('0x8d0')](_0x440b30)?_0x1e8de5(_0x440b30[_0x1a4e('0x78')](0x2),_0x51447d?0x2:0x8):_0x59ee37['test'](_0x440b30)?_0x1d906b:+_0x440b30;}function _0x1cd8c6(_0x440b30){return _0x58e4fc(_0x440b30,_0x1501a6(_0x440b30));}function _0x532093(_0x440b30){return null==_0x440b30?'':_0xaa28c8(_0x440b30);}var _0xb88048=_0x495dc5(function(_0x440b30,_0x436452){if(_0x5131fc(_0x436452)||_0x4ffcbd(_0x436452))_0x58e4fc(_0x436452,_0x75a98e(_0x436452),_0x440b30);else for(var _0x51447d in _0x436452)_0x43f346[_0x1a4e('0x1')](_0x436452,_0x51447d)&&_0x2e6e6e(_0x440b30,_0x51447d,_0x436452[_0x51447d]);}),_0x1fb952=_0x495dc5(function(_0x440b30,_0x436452){_0x58e4fc(_0x436452,_0x1501a6(_0x436452),_0x440b30);}),_0x4ec72d=_0x495dc5(function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){_0x58e4fc(_0x436452,_0x1501a6(_0x436452),_0x440b30,_0x1337bb);}),_0x17e42f=_0x495dc5(function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){_0x58e4fc(_0x436452,_0x75a98e(_0x436452),_0x440b30,_0x1337bb);}),_0x6b7e22=_0x220ebc(_0x521e5b);var _0x328009=_0x53dd60(function(_0x440b30,_0x436452){_0x440b30=_0x27862c(_0x440b30);var _0x51447d=-0x1,_0x1337bb=_0x436452[_0x1a4e('0x1e')],_0x2505f4=_0x1337bb>0x2?_0x436452[0x2]:_0xbd18f7;for(_0x2505f4&&_0x1c57b9(_0x436452[0x0],_0x436452[0x1],_0x2505f4)&&(_0x1337bb=0x1);++_0x51447d<_0x1337bb;)for(var _0x2d3764=_0x436452[_0x51447d],_0x3547b5=_0x1501a6(_0x2d3764),_0x4dcadc=-0x1,_0x378c12=_0x3547b5[_0x1a4e('0x1e')];++_0x4dcadc<_0x378c12;){var _0x599dd1=_0x3547b5[_0x4dcadc],_0x545383=_0x440b30[_0x599dd1];(_0x545383===_0xbd18f7||_0x37d7c6(_0x545383,_0x32b6f2[_0x599dd1])&&!_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x599dd1))&&(_0x440b30[_0x599dd1]=_0x2d3764[_0x599dd1]);}return _0x440b30;}),_0x16717c=_0x53dd60(function(_0x440b30){return _0x440b30[_0x1a4e('0x46')](_0xbd18f7,_0x38c223),_0x252c1e(_0xb3b202,_0xbd18f7,_0x440b30);});function _0x27ebd7(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==_0x440b30?_0xbd18f7:_0x40c6b1(_0x440b30,_0x436452);return _0x1337bb===_0xbd18f7?_0x51447d:_0x1337bb;}function _0x3de7bb(_0x440b30,_0x436452){return null!=_0x440b30&&_0x57935b(_0x440b30,_0x436452,_0x39d94c);}var _0x13778d=_0x8fd7f6(function(_0x440b30,_0x436452,_0x51447d){null!=_0x436452&&_0x1a4e('0x68')!=typeof _0x436452['toString']&&(_0x436452=_0x56d20d[_0x1a4e('0x1')](_0x436452)),_0x440b30[_0x436452]=_0x51447d;},_0x5050ea(_0x4d1133)),_0x8f954f=_0x8fd7f6(function(_0x440b30,_0x436452,_0x51447d){null!=_0x436452&&_0x1a4e('0x68')!=typeof _0x436452['toString']&&(_0x436452=_0x56d20d[_0x1a4e('0x1')](_0x436452)),_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x436452)?_0x440b30[_0x436452]['push'](_0x51447d):_0x440b30[_0x436452]=[_0x51447d];},_0x53074b),_0x2150b7=_0x53dd60(_0x2206f3);function _0x75a98e(_0x440b30){return _0x4ffcbd(_0x440b30)?_0x30feb7(_0x440b30):_0x3cf81e(_0x440b30);}function _0x1501a6(_0x440b30){return _0x4ffcbd(_0x440b30)?_0x30feb7(_0x440b30,!0x0):_0x4e3a09(_0x440b30);}var _0x2fda01=_0x495dc5(function(_0x440b30,_0x436452,_0x51447d){_0xa3db78(_0x440b30,_0x436452,_0x51447d);}),_0xb3b202=_0x495dc5(function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){_0xa3db78(_0x440b30,_0x436452,_0x51447d,_0x1337bb);}),_0x2e59bb=_0x220ebc(function(_0x440b30,_0x436452){var _0x51447d={};if(null==_0x440b30)return _0x51447d;var _0x1337bb=!0x1;_0x436452=_0x4c9459(_0x436452,function(_0x436452){return _0x436452=_0x5f205e(_0x436452,_0x440b30),_0x1337bb||(_0x1337bb=_0x436452['length']>0x1),_0x436452;}),_0x58e4fc(_0x440b30,_0x5482db(_0x440b30),_0x51447d),_0x1337bb&&(_0x51447d=_0x3fb61c(_0x51447d,_0x4398b5|_0x3eecdb|_0x1b35a2,_0x17068c));for(var _0x2505f4=_0x436452[_0x1a4e('0x1e')];_0x2505f4--;)_0x14beb5(_0x51447d,_0x436452[_0x2505f4]);return _0x51447d;});var _0x53df8f=_0x220ebc(function(_0x440b30,_0x436452){return null==_0x440b30?{}:function(_0x440b30,_0x436452){return _0x73ef80(_0x440b30,_0x436452,function(_0x436452,_0x51447d){return _0x3de7bb(_0x440b30,_0x51447d);});}(_0x440b30,_0x436452);});function _0x11bd37(_0x440b30,_0x436452){if(null==_0x440b30)return{};var _0x51447d=_0x4c9459(_0x5482db(_0x440b30),function(_0x440b30){return[_0x440b30];});return _0x436452=_0x53074b(_0x436452),_0x73ef80(_0x440b30,_0x51447d,function(_0x440b30,_0x51447d){return _0x436452(_0x440b30,_0x51447d[0x0]);});}var _0x47fad7=_0x78031b(_0x75a98e),_0x1740f0=_0x78031b(_0x1501a6);function _0x102a24(_0x440b30){return null==_0x440b30?[]:_0x4e0b90(_0x440b30,_0x75a98e(_0x440b30));}var _0x28ce62=_0x3da7bf(function(_0x440b30,_0x436452,_0x51447d){return _0x436452=_0x436452[_0x1a4e('0x2b2')](),_0x440b30+(_0x51447d?_0x554394(_0x436452):_0x436452);});function _0x554394(_0x440b30){return _0x25826a(_0x532093(_0x440b30)[_0x1a4e('0x2b2')]());}function _0x5bb904(_0x440b30){return(_0x440b30=_0x532093(_0x440b30))&&_0x440b30[_0x1a4e('0x115')](_0x32d04a,_0x44220f)['replace'](_0x1729d1,'');}var _0x58467c=_0x3da7bf(function(_0x440b30,_0x436452,_0x51447d){return _0x440b30+(_0x51447d?'-':'')+_0x436452[_0x1a4e('0x2b2')]();}),_0x217323=_0x3da7bf(function(_0x440b30,_0x436452,_0x51447d){return _0x440b30+(_0x51447d?'\x20':'')+_0x436452[_0x1a4e('0x2b2')]();}),_0x123252=_0x4c903e('toLowerCase');var _0x1ab997=_0x3da7bf(function(_0x440b30,_0x436452,_0x51447d){return _0x440b30+(_0x51447d?'_':'')+_0x436452[_0x1a4e('0x2b2')]();});var _0x1c174f=_0x3da7bf(function(_0x440b30,_0x436452,_0x51447d){return _0x440b30+(_0x51447d?'\x20':'')+_0x25826a(_0x436452);});var _0x5656d4=_0x3da7bf(function(_0x440b30,_0x436452,_0x51447d){return _0x440b30+(_0x51447d?'\x20':'')+_0x436452[_0x1a4e('0x257')]();}),_0x25826a=_0x4c903e(_0x1a4e('0x257'));function _0x33c30f(_0x440b30,_0x436452,_0x51447d){return _0x440b30=_0x532093(_0x440b30),(_0x436452=_0x51447d?_0xbd18f7:_0x436452)===_0xbd18f7?function(_0x440b30){return _0x267982[_0x1a4e('0x8d0')](_0x440b30);}(_0x440b30)?function(_0x440b30){return _0x440b30['match'](_0x4f815c)||[];}(_0x440b30):function(_0x440b30){return _0x440b30['match'](_0xf3b008)||[];}(_0x440b30):_0x440b30[_0x1a4e('0x909')](_0x436452)||[];}var _0x465ef8=_0x53dd60(function(_0x440b30,_0x436452){try{return _0x252c1e(_0x440b30,_0xbd18f7,_0x436452);}catch(_0x527d93){return _0x3a8b97(_0x527d93)?_0x527d93:new _0x27eedc(_0x527d93);}}),_0x363046=_0x220ebc(function(_0x440b30,_0x436452){return _0x44019c(_0x436452,function(_0x436452){_0x436452=_0x3beb67(_0x436452),_0x429aa1(_0x440b30,_0x436452,_0xcc6835(_0x440b30[_0x436452],_0x440b30));}),_0x440b30;});function _0x5050ea(_0x440b30){return function(){return _0x440b30;};}var _0x3f6e00=_0x19e935(),_0x2af3f3=_0x19e935(!0x0);function _0x4d1133(_0x440b30){return _0x440b30;}function _0x1c7664(_0x440b30){return _0x3855d1('function'==typeof _0x440b30?_0x440b30:_0x3fb61c(_0x440b30,_0x4398b5));}var _0x578ecb=_0x53dd60(function(_0x440b30,_0x436452){return function(_0x51447d){return _0x2206f3(_0x51447d,_0x440b30,_0x436452);};}),_0x447fe1=_0x53dd60(function(_0x440b30,_0x436452){return function(_0x51447d){return _0x2206f3(_0x440b30,_0x51447d,_0x436452);};});function _0x125b77(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x75a98e(_0x436452),_0x2505f4=_0x4073c8(_0x436452,_0x1337bb);null!=_0x51447d||_0x4577ce(_0x436452)&&(_0x2505f4['length']||!_0x1337bb[_0x1a4e('0x1e')])||(_0x51447d=_0x436452,_0x436452=_0x440b30,_0x440b30=this,_0x2505f4=_0x4073c8(_0x436452,_0x75a98e(_0x436452)));var _0xbd18f7=!(_0x4577ce(_0x51447d)&&'chain'in _0x51447d&&!_0x51447d[_0x1a4e('0x103a')]),_0x2d3764=_0xd96647(_0x440b30);return _0x44019c(_0x2505f4,function(_0x51447d){var _0x1337bb=_0x436452[_0x51447d];_0x440b30[_0x51447d]=_0x1337bb,_0x2d3764&&(_0x440b30[_0x1a4e('0xa')][_0x51447d]=function(){var _0x436452=this[_0x1a4e('0x1025')];if(_0xbd18f7||_0x436452){var _0x51447d=_0x440b30(this[_0x1a4e('0x1023')]),_0x2505f4=_0x51447d[_0x1a4e('0x1024')]=_0x35e077(this[_0x1a4e('0x1024')]);return _0x2505f4[_0x1a4e('0x46')]({'func':_0x1337bb,'args':arguments,'thisArg':_0x440b30}),_0x51447d[_0x1a4e('0x1025')]=_0x436452,_0x51447d;}return _0x1337bb[_0x1a4e('0x8b')](_0x440b30,_0x2eb09c([this['value']()],arguments));});}),_0x440b30;}function _0x20a5ae(){}var _0x37a016=_0x390ab2(_0x4c9459),_0x29e0df=_0x390ab2(_0x30e0e3),_0x415f5c=_0x390ab2(_0x2ebb05);function _0x40a04(_0x440b30){return _0x34fb7f(_0x440b30)?_0x1dce68(_0x3beb67(_0x440b30)):function(_0x440b30){return function(_0x436452){return _0x40c6b1(_0x436452,_0x440b30);};}(_0x440b30);}var _0x241ab9=_0x367346(),_0xfff387=_0x367346(!0x0);function _0x32ec43(){return[];}function _0x519017(){return!0x1;}var _0x273b0b=_0x37fa83(function(_0x440b30,_0x436452){return _0x440b30+_0x436452;},0x0),_0x507535=_0x5da572(_0x1a4e('0x6d')),_0x4c4c77=_0x37fa83(function(_0x440b30,_0x436452){return _0x440b30/_0x436452;},0x1),_0x3a9a26=_0x5da572(_0x1a4e('0xb4'));var _0x563aa4,_0x2f0a5b=_0x37fa83(function(_0x440b30,_0x436452){return _0x440b30*_0x436452;},0x1),_0x57f05c=_0x5da572(_0x1a4e('0x2a')),_0x10020d=_0x37fa83(function(_0x440b30,_0x436452){return _0x440b30-_0x436452;},0x0);return _0x4d4771[_0x1a4e('0x103b')]=function(_0x440b30,_0x436452){if(_0x1a4e('0x68')!=typeof _0x436452)throw new _0xbeae25(_0x4dcadc);return _0x440b30=_0x2f5079(_0x440b30),function(){if(--_0x440b30<0x1)return _0x436452[_0x1a4e('0x8b')](this,arguments);};},_0x4d4771[_0x1a4e('0xffc')]=_0x34ef8a,_0x4d4771[_0x1a4e('0x200')]=_0xb88048,_0x4d4771[_0x1a4e('0x103c')]=_0x1fb952,_0x4d4771[_0x1a4e('0x103d')]=_0x4ec72d,_0x4d4771[_0x1a4e('0x103e')]=_0x17e42f,_0x4d4771['at']=_0x6b7e22,_0x4d4771[_0x1a4e('0x103f')]=_0x366661,_0x4d4771['bind']=_0xcc6835,_0x4d4771[_0x1a4e('0x1040')]=_0x363046,_0x4d4771[_0x1a4e('0xffd')]=_0x4dd0de,_0x4d4771[_0x1a4e('0x1041')]=function(){if(!arguments[_0x1a4e('0x1e')])return[];var _0x440b30=arguments[0x0];return _0x51876e(_0x440b30)?_0x440b30:[_0x440b30];},_0x4d4771[_0x1a4e('0x103a')]=_0x440f61,_0x4d4771[_0x1a4e('0x1042')]=function(_0x440b30,_0x436452,_0x51447d){_0x436452=(_0x51447d?_0x1c57b9(_0x440b30,_0x436452,_0x51447d):_0x436452===_0xbd18f7)?0x1:_0x44e3db(_0x2f5079(_0x436452),0x0);var _0x2505f4=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];if(!_0x2505f4||_0x436452<0x1)return[];for(var _0x2d3764=0x0,_0x3547b5=0x0,_0x4dcadc=_0x1337bb(_0x323fb8(_0x2505f4/_0x436452));_0x2d3764<_0x2505f4;)_0x4dcadc[_0x3547b5++]=_0x1eaaa2(_0x440b30,_0x2d3764,_0x2d3764+=_0x436452);return _0x4dcadc;},_0x4d4771['compact']=function(_0x440b30){for(var _0x436452=-0x1,_0x51447d=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')],_0x1337bb=0x0,_0x2505f4=[];++_0x436452<_0x51447d;){var _0xbd18f7=_0x440b30[_0x436452];_0xbd18f7&&(_0x2505f4[_0x1337bb++]=_0xbd18f7);}return _0x2505f4;},_0x4d4771[_0x1a4e('0x9a')]=function(){var _0x440b30=arguments[_0x1a4e('0x1e')];if(!_0x440b30)return[];for(var _0x436452=_0x1337bb(_0x440b30-0x1),_0x51447d=arguments[0x0],_0x2505f4=_0x440b30;_0x2505f4--;)_0x436452[_0x2505f4-0x1]=arguments[_0x2505f4];return _0x2eb09c(_0x51876e(_0x51447d)?_0x35e077(_0x51447d):[_0x51447d],_0x5060d6(_0x436452,0x1));},_0x4d4771[_0x1a4e('0x1043')]=function(_0x440b30){var _0x436452=null==_0x440b30?0x0:_0x440b30['length'],_0x51447d=_0x53074b();return _0x440b30=_0x436452?_0x4c9459(_0x440b30,function(_0x440b30){if('function'!=typeof _0x440b30[0x1])throw new _0xbeae25(_0x4dcadc);return[_0x51447d(_0x440b30[0x0]),_0x440b30[0x1]];}):[],_0x53dd60(function(_0x51447d){for(var _0x1337bb=-0x1;++_0x1337bb<_0x436452;){var _0x2505f4=_0x440b30[_0x1337bb];if(_0x252c1e(_0x2505f4[0x0],this,_0x51447d))return _0x252c1e(_0x2505f4[0x1],this,_0x51447d);}});},_0x4d4771[_0x1a4e('0x1044')]=function(_0x440b30){return function(_0x440b30){var _0x436452=_0x75a98e(_0x440b30);return function(_0x51447d){return _0x2c844f(_0x51447d,_0x440b30,_0x436452);};}(_0x3fb61c(_0x440b30,_0x4398b5));},_0x4d4771[_0x1a4e('0x1045')]=_0x5050ea,_0x4d4771[_0x1a4e('0x1046')]=_0x281c8b,_0x4d4771[_0x1a4e('0x7')]=function(_0x440b30,_0x436452){var _0x51447d=_0x33406c(_0x440b30);return null==_0x436452?_0x51447d:_0x325ae7(_0x51447d,_0x436452);},_0x4d4771['curry']=function _0x440b30(_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=_0x589e78(_0x436452,_0x26da39,_0xbd18f7,_0xbd18f7,_0xbd18f7,_0xbd18f7,_0xbd18f7,_0x51447d=_0x1337bb?_0xbd18f7:_0x51447d);return _0x2505f4[_0x1a4e('0x1031')]=_0x440b30[_0x1a4e('0x1031')],_0x2505f4;},_0x4d4771[_0x1a4e('0xffe')]=function _0x440b30(_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=_0x589e78(_0x436452,_0x47a10e,_0xbd18f7,_0xbd18f7,_0xbd18f7,_0xbd18f7,_0xbd18f7,_0x51447d=_0x1337bb?_0xbd18f7:_0x51447d);return _0x2505f4['placeholder']=_0x440b30[_0x1a4e('0x1031')],_0x2505f4;},_0x4d4771['debounce']=_0x89d4ec,_0x4d4771[_0x1a4e('0x1047')]=_0x328009,_0x4d4771[_0x1a4e('0x1048')]=_0x16717c,_0x4d4771[_0x1a4e('0x1049')]=_0x4e7e7a,_0x4d4771[_0x1a4e('0x183')]=_0x9b0ba0,_0x4d4771[_0x1a4e('0x719')]=_0x52796b,_0x4d4771[_0x1a4e('0x104a')]=_0xd039ed,_0x4d4771[_0x1a4e('0x104b')]=_0x284c34,_0x4d4771['drop']=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];return _0x1337bb?_0x1eaaa2(_0x440b30,(_0x436452=_0x51447d||_0x436452===_0xbd18f7?0x1:_0x2f5079(_0x436452))<0x0?0x0:_0x436452,_0x1337bb):[];},_0x4d4771['dropRight']=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==_0x440b30?0x0:_0x440b30['length'];return _0x1337bb?_0x1eaaa2(_0x440b30,0x0,(_0x436452=_0x1337bb-(_0x436452=_0x51447d||_0x436452===_0xbd18f7?0x1:_0x2f5079(_0x436452)))<0x0?0x0:_0x436452):[];},_0x4d4771[_0x1a4e('0x104c')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30['length']?_0x424ac6(_0x440b30,_0x53074b(_0x436452,0x3),!0x0,!0x0):[];},_0x4d4771[_0x1a4e('0x104d')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x424ac6(_0x440b30,_0x53074b(_0x436452,0x3),!0x0):[];},_0x4d4771[_0x1a4e('0x22c')]=function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=null==_0x440b30?0x0:_0x440b30['length'];return _0x2505f4?(_0x51447d&&_0x1a4e('0x3d')!=typeof _0x51447d&&_0x1c57b9(_0x440b30,_0x436452,_0x51447d)&&(_0x51447d=0x0,_0x1337bb=_0x2505f4),function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){var _0x2505f4=_0x440b30[_0x1a4e('0x1e')];for((_0x51447d=_0x2f5079(_0x51447d))<0x0&&(_0x51447d=-_0x51447d>_0x2505f4?0x0:_0x2505f4+_0x51447d),(_0x1337bb=_0x1337bb===_0xbd18f7||_0x1337bb>_0x2505f4?_0x2505f4:_0x2f5079(_0x1337bb))<0x0&&(_0x1337bb+=_0x2505f4),_0x1337bb=_0x51447d>_0x1337bb?0x0:_0x49b9e1(_0x1337bb);_0x51447d<_0x1337bb;)_0x440b30[_0x51447d++]=_0x436452;return _0x440b30;}(_0x440b30,_0x436452,_0x51447d,_0x1337bb)):[];},_0x4d4771[_0x1a4e('0xd9')]=function(_0x440b30,_0x436452){return(_0x51876e(_0x440b30)?_0x57a63d:_0x327d84)(_0x440b30,_0x53074b(_0x436452,0x3));},_0x4d4771[_0x1a4e('0x104e')]=function(_0x440b30,_0x436452){return _0x5060d6(_0x402d35(_0x440b30,_0x436452),0x1);},_0x4d4771[_0x1a4e('0x104f')]=function(_0x440b30,_0x436452){return _0x5060d6(_0x402d35(_0x440b30,_0x436452),_0x3f690c);},_0x4d4771[_0x1a4e('0x1050')]=function(_0x440b30,_0x436452,_0x51447d){return _0x51447d=_0x51447d===_0xbd18f7?0x1:_0x2f5079(_0x51447d),_0x5060d6(_0x402d35(_0x440b30,_0x436452),_0x51447d);},_0x4d4771['flatten']=_0x174ca5,_0x4d4771[_0x1a4e('0x1051')]=function(_0x440b30){return null!=_0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x5060d6(_0x440b30,_0x3f690c):[];},_0x4d4771[_0x1a4e('0x1052')]=function(_0x440b30,_0x436452){return null!=_0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x5060d6(_0x440b30,_0x436452=_0x436452===_0xbd18f7?0x1:_0x2f5079(_0x436452)):[];},_0x4d4771[_0x1a4e('0x41d')]=function(_0x440b30){return _0x589e78(_0x440b30,_0x2ce9e7);},_0x4d4771[_0x1a4e('0x1053')]=_0x3f6e00,_0x4d4771[_0x1a4e('0x1054')]=_0x2af3f3,_0x4d4771[_0x1a4e('0x1055')]=function(_0x440b30){for(var _0x436452=-0x1,_0x51447d=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')],_0x1337bb={};++_0x436452<_0x51447d;){var _0x2505f4=_0x440b30[_0x436452];_0x1337bb[_0x2505f4[0x0]]=_0x2505f4[0x1];}return _0x1337bb;},_0x4d4771[_0x1a4e('0x1056')]=function(_0x440b30){return null==_0x440b30?[]:_0x4073c8(_0x440b30,_0x75a98e(_0x440b30));},_0x4d4771[_0x1a4e('0x1057')]=function(_0x440b30){return null==_0x440b30?[]:_0x4073c8(_0x440b30,_0x1501a6(_0x440b30));},_0x4d4771[_0x1a4e('0x1058')]=_0x4a3401,_0x4d4771[_0x1a4e('0x1059')]=function(_0x440b30){return null!=_0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x1eaaa2(_0x440b30,0x0,-0x1):[];},_0x4d4771[_0x1a4e('0x148')]=_0x1bc92d,_0x4d4771[_0x1a4e('0x105a')]=_0x57930d,_0x4d4771[_0x1a4e('0x105b')]=_0x525bc5,_0x4d4771[_0x1a4e('0x13d')]=_0x13778d,_0x4d4771['invertBy']=_0x8f954f,_0x4d4771[_0x1a4e('0x105c')]=_0x54fe33,_0x4d4771[_0x1a4e('0x1032')]=_0x1c7664,_0x4d4771['keyBy']=_0x34a7a5,_0x4d4771['keys']=_0x75a98e,_0x4d4771[_0x1a4e('0x105d')]=_0x1501a6,_0x4d4771[_0x1a4e('0x21')]=_0x402d35,_0x4d4771['mapKeys']=function(_0x440b30,_0x436452){var _0x51447d={};return _0x436452=_0x53074b(_0x436452,0x3),_0x48a4a0(_0x440b30,function(_0x440b30,_0x1337bb,_0x2505f4){_0x429aa1(_0x51447d,_0x436452(_0x440b30,_0x1337bb,_0x2505f4),_0x440b30);}),_0x51447d;},_0x4d4771[_0x1a4e('0x105e')]=function(_0x440b30,_0x436452){var _0x51447d={};return _0x436452=_0x53074b(_0x436452,0x3),_0x48a4a0(_0x440b30,function(_0x440b30,_0x1337bb,_0x2505f4){_0x429aa1(_0x51447d,_0x1337bb,_0x436452(_0x440b30,_0x1337bb,_0x2505f4));}),_0x51447d;},_0x4d4771[_0x1a4e('0x105f')]=function(_0x440b30){return _0x1c6d38(_0x3fb61c(_0x440b30,_0x4398b5));},_0x4d4771[_0x1a4e('0x1060')]=function(_0x440b30,_0x436452){return _0x3a19aa(_0x440b30,_0x3fb61c(_0x436452,_0x4398b5));},_0x4d4771['memoize']=_0x3f564a,_0x4d4771[_0x1a4e('0x41b')]=_0x2fda01,_0x4d4771[_0x1a4e('0x1061')]=_0xb3b202,_0x4d4771[_0x1a4e('0x1062')]=_0x578ecb,_0x4d4771[_0x1a4e('0x1063')]=_0x447fe1,_0x4d4771[_0x1a4e('0x1064')]=_0x125b77,_0x4d4771[_0x1a4e('0x27d')]=_0xedd9ef,_0x4d4771[_0x1a4e('0x1065')]=function(_0x440b30){return _0x440b30=_0x2f5079(_0x440b30),_0x53dd60(function(_0x436452){return _0x46b1a8(_0x436452,_0x440b30);});},_0x4d4771[_0x1a4e('0x1066')]=_0x2e59bb,_0x4d4771[_0x1a4e('0x1067')]=function(_0x440b30,_0x436452){return _0x11bd37(_0x440b30,_0xedd9ef(_0x53074b(_0x436452)));},_0x4d4771['once']=function(_0x440b30){return _0x366661(0x2,_0x440b30);},_0x4d4771[_0x1a4e('0x1068')]=function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){return null==_0x440b30?[]:(_0x51876e(_0x436452)||(_0x436452=null==_0x436452?[]:[_0x436452]),_0x51876e(_0x51447d=_0x1337bb?_0xbd18f7:_0x51447d)||(_0x51447d=null==_0x51447d?[]:[_0x51447d]),_0x36a49a(_0x440b30,_0x436452,_0x51447d));},_0x4d4771[_0x1a4e('0x1069')]=_0x37a016,_0x4d4771[_0x1a4e('0x106a')]=_0x21e485,_0x4d4771['overEvery']=_0x29e0df,_0x4d4771[_0x1a4e('0x106b')]=_0x415f5c,_0x4d4771['partial']=_0x5897db,_0x4d4771[_0x1a4e('0x106c')]=_0x2a5d5a,_0x4d4771[_0x1a4e('0x106d')]=_0xe3b618,_0x4d4771[_0x1a4e('0x106e')]=_0x53df8f,_0x4d4771[_0x1a4e('0x106f')]=_0x11bd37,_0x4d4771[_0x1a4e('0x81e')]=_0x40a04,_0x4d4771['propertyOf']=function(_0x440b30){return function(_0x436452){return null==_0x440b30?_0xbd18f7:_0x40c6b1(_0x440b30,_0x436452);};},_0x4d4771[_0x1a4e('0x1070')]=_0x8d5b3e,_0x4d4771[_0x1a4e('0x1071')]=_0x2d2b0f,_0x4d4771[_0x1a4e('0x1072')]=function(_0x440b30,_0x436452,_0x51447d){return _0x440b30&&_0x440b30['length']&&_0x436452&&_0x436452[_0x1a4e('0x1e')]?_0x8ae651(_0x440b30,_0x436452,_0x53074b(_0x51447d,0x2)):_0x440b30;},_0x4d4771[_0x1a4e('0x1073')]=function(_0x440b30,_0x436452,_0x51447d){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]&&_0x436452&&_0x436452[_0x1a4e('0x1e')]?_0x8ae651(_0x440b30,_0x436452,_0xbd18f7,_0x51447d):_0x440b30;},_0x4d4771[_0x1a4e('0x1074')]=_0x3f9c3e,_0x4d4771[_0x1a4e('0x1075')]=_0x241ab9,_0x4d4771[_0x1a4e('0x1076')]=_0xfff387,_0x4d4771['rearg']=_0x3379bd,_0x4d4771[_0x1a4e('0x1077')]=function(_0x440b30,_0x436452){return(_0x51876e(_0x440b30)?_0x57a63d:_0x327d84)(_0x440b30,_0xedd9ef(_0x53074b(_0x436452,0x3)));},_0x4d4771[_0x1a4e('0x82')]=function(_0x440b30,_0x436452){var _0x51447d=[];if(!_0x440b30||!_0x440b30[_0x1a4e('0x1e')])return _0x51447d;var _0x1337bb=-0x1,_0x2505f4=[],_0xbd18f7=_0x440b30[_0x1a4e('0x1e')];for(_0x436452=_0x53074b(_0x436452,0x3);++_0x1337bb<_0xbd18f7;){var _0x2d3764=_0x440b30[_0x1337bb];_0x436452(_0x2d3764,_0x1337bb,_0x440b30)&&(_0x51447d[_0x1a4e('0x46')](_0x2d3764),_0x2505f4[_0x1a4e('0x46')](_0x1337bb));}return _0x390a4f(_0x440b30,_0x2505f4),_0x51447d;},_0x4d4771[_0x1a4e('0x1078')]=function(_0x440b30,_0x436452){if(_0x1a4e('0x68')!=typeof _0x440b30)throw new _0xbeae25(_0x4dcadc);return _0x53dd60(_0x440b30,_0x436452=_0x436452===_0xbd18f7?_0x436452:_0x2f5079(_0x436452));},_0x4d4771[_0x1a4e('0x9b')]=_0x3ec9c0,_0x4d4771[_0x1a4e('0x1079')]=function(_0x440b30,_0x436452,_0x51447d){return _0x436452=(_0x51447d?_0x1c57b9(_0x440b30,_0x436452,_0x51447d):_0x436452===_0xbd18f7)?0x1:_0x2f5079(_0x436452),(_0x51876e(_0x440b30)?_0x1b5508:_0x39b4b2)(_0x440b30,_0x436452);},_0x4d4771[_0x1a4e('0x17a')]=function(_0x440b30,_0x436452,_0x51447d){return null==_0x440b30?_0x440b30:_0x24b277(_0x440b30,_0x436452,_0x51447d);},_0x4d4771[_0x1a4e('0x107a')]=function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){return _0x1337bb=_0x1a4e('0x68')==typeof _0x1337bb?_0x1337bb:_0xbd18f7,null==_0x440b30?_0x440b30:_0x24b277(_0x440b30,_0x436452,_0x51447d,_0x1337bb);},_0x4d4771['shuffle']=function(_0x440b30){return(_0x51876e(_0x440b30)?_0x25615b:_0x160f02)(_0x440b30);},_0x4d4771[_0x1a4e('0x78')]=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==_0x440b30?0x0:_0x440b30['length'];return _0x1337bb?(_0x51447d&&_0x1a4e('0x3d')!=typeof _0x51447d&&_0x1c57b9(_0x440b30,_0x436452,_0x51447d)?(_0x436452=0x0,_0x51447d=_0x1337bb):(_0x436452=null==_0x436452?0x0:_0x2f5079(_0x436452),_0x51447d=_0x51447d===_0xbd18f7?_0x1337bb:_0x2f5079(_0x51447d)),_0x1eaaa2(_0x440b30,_0x436452,_0x51447d)):[];},_0x4d4771[_0x1a4e('0x107b')]=_0x27763f,_0x4d4771[_0x1a4e('0x107c')]=function(_0x440b30){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x589590(_0x440b30):[];},_0x4d4771[_0x1a4e('0x107d')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30['length']?_0x589590(_0x440b30,_0x53074b(_0x436452,0x2)):[];},_0x4d4771[_0x1a4e('0x2be')]=function(_0x440b30,_0x436452,_0x51447d){return _0x51447d&&_0x1a4e('0x3d')!=typeof _0x51447d&&_0x1c57b9(_0x440b30,_0x436452,_0x51447d)&&(_0x436452=_0x51447d=_0xbd18f7),(_0x51447d=_0x51447d===_0xbd18f7?_0x5b2d0e:_0x51447d>>>0x0)?(_0x440b30=_0x532093(_0x440b30))&&(_0x1a4e('0x9')==typeof _0x436452||null!=_0x436452&&!_0x45caec(_0x436452))&&!(_0x436452=_0xaa28c8(_0x436452))&&_0x3108e6(_0x440b30)?_0x4830ec(_0x1dd38d(_0x440b30),0x0,_0x51447d):_0x440b30[_0x1a4e('0x2be')](_0x436452,_0x51447d):[];},_0x4d4771[_0x1a4e('0x107e')]=function(_0x440b30,_0x436452){if('function'!=typeof _0x440b30)throw new _0xbeae25(_0x4dcadc);return _0x436452=null==_0x436452?0x0:_0x44e3db(_0x2f5079(_0x436452),0x0),_0x53dd60(function(_0x51447d){var _0x1337bb=_0x51447d[_0x436452],_0x2505f4=_0x4830ec(_0x51447d,0x0,_0x436452);return _0x1337bb&&_0x2eb09c(_0x2505f4,_0x1337bb),_0x252c1e(_0x440b30,this,_0x2505f4);});},_0x4d4771[_0x1a4e('0x107f')]=function(_0x440b30){var _0x436452=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];return _0x436452?_0x1eaaa2(_0x440b30,0x1,_0x436452):[];},_0x4d4771[_0x1a4e('0x1080')]=function(_0x440b30,_0x436452,_0x51447d){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x1eaaa2(_0x440b30,0x0,(_0x436452=_0x51447d||_0x436452===_0xbd18f7?0x1:_0x2f5079(_0x436452))<0x0?0x0:_0x436452):[];},_0x4d4771['takeRight']=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];return _0x1337bb?_0x1eaaa2(_0x440b30,(_0x436452=_0x1337bb-(_0x436452=_0x51447d||_0x436452===_0xbd18f7?0x1:_0x2f5079(_0x436452)))<0x0?0x0:_0x436452,_0x1337bb):[];},_0x4d4771[_0x1a4e('0x1081')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x424ac6(_0x440b30,_0x53074b(_0x436452,0x3),!0x1,!0x0):[];},_0x4d4771[_0x1a4e('0x1082')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30['length']?_0x424ac6(_0x440b30,_0x53074b(_0x436452,0x3)):[];},_0x4d4771['tap']=function(_0x440b30,_0x436452){return _0x436452(_0x440b30),_0x440b30;},_0x4d4771[_0x1a4e('0x1083')]=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=!0x0,_0x2505f4=!0x0;if('function'!=typeof _0x440b30)throw new _0xbeae25(_0x4dcadc);return _0x4577ce(_0x51447d)&&(_0x1337bb='leading'in _0x51447d?!!_0x51447d[_0x1a4e('0x1084')]:_0x1337bb,_0x2505f4='trailing'in _0x51447d?!!_0x51447d[_0x1a4e('0x1037')]:_0x2505f4),_0x89d4ec(_0x440b30,_0x436452,{'leading':_0x1337bb,'maxWait':_0x436452,'trailing':_0x2505f4});},_0x4d4771[_0x1a4e('0x102f')]=_0x41a32f,_0x4d4771[_0x1a4e('0x347')]=_0x2fe9c0,_0x4d4771[_0x1a4e('0x1085')]=_0x47fad7,_0x4d4771[_0x1a4e('0x1086')]=_0x1740f0,_0x4d4771[_0x1a4e('0x1087')]=function(_0x440b30){return _0x51876e(_0x440b30)?_0x4c9459(_0x440b30,_0x3beb67):_0x3a6fb4(_0x440b30)?[_0x440b30]:_0x35e077(_0x5691e6(_0x532093(_0x440b30)));},_0x4d4771[_0x1a4e('0x1088')]=_0x1cd8c6,_0x4d4771['transform']=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x51876e(_0x440b30),_0x2505f4=_0x1337bb||_0x1ed8f9(_0x440b30)||_0x30f66f(_0x440b30);if(_0x436452=_0x53074b(_0x436452,0x4),null==_0x51447d){var _0xbd18f7=_0x440b30&&_0x440b30[_0x1a4e('0x10')];_0x51447d=_0x2505f4?_0x1337bb?new _0xbd18f7():[]:_0x4577ce(_0x440b30)&&_0xd96647(_0xbd18f7)?_0x33406c(_0x509e3e(_0x440b30)):{};}return(_0x2505f4?_0x44019c:_0x48a4a0)(_0x440b30,function(_0x440b30,_0x1337bb,_0x2505f4){return _0x436452(_0x51447d,_0x440b30,_0x1337bb,_0x2505f4);}),_0x51447d;},_0x4d4771[_0x1a4e('0x1089')]=function(_0x440b30){return _0x34ef8a(_0x440b30,0x1);},_0x4d4771[_0x1a4e('0x147')]=_0x5eaf86,_0x4d4771[_0x1a4e('0x108a')]=_0x1dbf7a,_0x4d4771['unionWith']=_0x40941c,_0x4d4771['uniq']=function(_0x440b30){return _0x440b30&&_0x440b30['length']?_0x44c8d1(_0x440b30):[];},_0x4d4771['uniqBy']=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x44c8d1(_0x440b30,_0x53074b(_0x436452,0x2)):[];},_0x4d4771[_0x1a4e('0x108b')]=function(_0x440b30,_0x436452){return _0x436452=_0x1a4e('0x68')==typeof _0x436452?_0x436452:_0xbd18f7,_0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x44c8d1(_0x440b30,_0xbd18f7,_0x436452):[];},_0x4d4771['unset']=function(_0x440b30,_0x436452){return null==_0x440b30||_0x14beb5(_0x440b30,_0x436452);},_0x4d4771['unzip']=_0xe7ba9,_0x4d4771['unzipWith']=_0x403d02,_0x4d4771[_0x1a4e('0x937')]=function(_0x440b30,_0x436452,_0x51447d){return null==_0x440b30?_0x440b30:_0x83de27(_0x440b30,_0x436452,_0x54cee3(_0x51447d));},_0x4d4771['updateWith']=function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){return _0x1337bb=_0x1a4e('0x68')==typeof _0x1337bb?_0x1337bb:_0xbd18f7,null==_0x440b30?_0x440b30:_0x83de27(_0x440b30,_0x436452,_0x54cee3(_0x51447d),_0x1337bb);},_0x4d4771[_0x1a4e('0x35b')]=_0x102a24,_0x4d4771[_0x1a4e('0x108c')]=function(_0x440b30){return null==_0x440b30?[]:_0x4e0b90(_0x440b30,_0x1501a6(_0x440b30));},_0x4d4771[_0x1a4e('0x108d')]=_0x1a87c3,_0x4d4771[_0x1a4e('0x981')]=_0x33c30f,_0x4d4771[_0x1a4e('0x24f')]=function(_0x440b30,_0x436452){return _0x5897db(_0x54cee3(_0x436452),_0x440b30);},_0x4d4771[_0x1a4e('0x9b5')]=_0x264dc0,_0x4d4771[_0x1a4e('0x108e')]=_0x1085f2,_0x4d4771[_0x1a4e('0x108f')]=_0x979655,_0x4d4771['zip']=_0x4ea621,_0x4d4771[_0x1a4e('0x1090')]=function(_0x440b30,_0x436452){return _0xa30fed(_0x440b30||[],_0x436452||[],_0x2e6e6e);},_0x4d4771['zipObjectDeep']=function(_0x440b30,_0x436452){return _0xa30fed(_0x440b30||[],_0x436452||[],_0x24b277);},_0x4d4771['zipWith']=_0x473f1a,_0x4d4771['entries']=_0x47fad7,_0x4d4771[_0x1a4e('0x1091')]=_0x1740f0,_0x4d4771[_0x1a4e('0xeff')]=_0x1fb952,_0x4d4771['extendWith']=_0x4ec72d,_0x125b77(_0x4d4771,_0x4d4771),_0x4d4771[_0x1a4e('0x177')]=_0x273b0b,_0x4d4771[_0x1a4e('0x1092')]=_0x465ef8,_0x4d4771['camelCase']=_0x28ce62,_0x4d4771[_0x1a4e('0x1093')]=_0x554394,_0x4d4771[_0x1a4e('0x6d')]=_0x507535,_0x4d4771[_0x1a4e('0x24e')]=function(_0x440b30,_0x436452,_0x51447d){return _0x51447d===_0xbd18f7&&(_0x51447d=_0x436452,_0x436452=_0xbd18f7),_0x51447d!==_0xbd18f7&&(_0x51447d=(_0x51447d=_0x49a300(_0x51447d))==_0x51447d?_0x51447d:0x0),_0x436452!==_0xbd18f7&&(_0x436452=(_0x436452=_0x49a300(_0x436452))==_0x436452?_0x436452:0x0),_0x5312f4(_0x49a300(_0x440b30),_0x436452,_0x51447d);},_0x4d4771['clone']=function(_0x440b30){return _0x3fb61c(_0x440b30,_0x1b35a2);},_0x4d4771['cloneDeep']=function(_0x440b30){return _0x3fb61c(_0x440b30,_0x4398b5|_0x1b35a2);},_0x4d4771['cloneDeepWith']=function(_0x440b30,_0x436452){return _0x3fb61c(_0x440b30,_0x4398b5|_0x1b35a2,_0x436452=_0x1a4e('0x68')==typeof _0x436452?_0x436452:_0xbd18f7);},_0x4d4771[_0x1a4e('0x1094')]=function(_0x440b30,_0x436452){return _0x3fb61c(_0x440b30,_0x1b35a2,_0x436452=_0x1a4e('0x68')==typeof _0x436452?_0x436452:_0xbd18f7);},_0x4d4771[_0x1a4e('0x1095')]=function(_0x440b30,_0x436452){return null==_0x436452||_0x2c844f(_0x440b30,_0x436452,_0x75a98e(_0x436452));},_0x4d4771[_0x1a4e('0x1096')]=_0x5bb904,_0x4d4771[_0x1a4e('0x1097')]=function(_0x440b30,_0x436452){return null==_0x440b30||_0x440b30!=_0x440b30?_0x436452:_0x440b30;},_0x4d4771[_0x1a4e('0x25d')]=_0x4c4c77,_0x4d4771[_0x1a4e('0x1098')]=function(_0x440b30,_0x436452,_0x51447d){_0x440b30=_0x532093(_0x440b30),_0x436452=_0xaa28c8(_0x436452);var _0x1337bb=_0x440b30[_0x1a4e('0x1e')],_0x2505f4=_0x51447d=_0x51447d===_0xbd18f7?_0x1337bb:_0x5312f4(_0x2f5079(_0x51447d),0x0,_0x1337bb);return(_0x51447d-=_0x436452[_0x1a4e('0x1e')])>=0x0&&_0x440b30[_0x1a4e('0x78')](_0x51447d,_0x2505f4)==_0x436452;},_0x4d4771['eq']=_0x37d7c6,_0x4d4771[_0x1a4e('0x1099')]=function(_0x440b30){return(_0x440b30=_0x532093(_0x440b30))&&_0x4c97a0[_0x1a4e('0x8d0')](_0x440b30)?_0x440b30[_0x1a4e('0x115')](_0x293aba,_0x10e3b0):_0x440b30;},_0x4d4771[_0x1a4e('0x109a')]=function(_0x440b30){return(_0x440b30=_0x532093(_0x440b30))&&_0x6a5e7e[_0x1a4e('0x8d0')](_0x440b30)?_0x440b30[_0x1a4e('0x115')](_0x5b3201,_0x1a4e('0xf92')):_0x440b30;},_0x4d4771[_0x1a4e('0x114')]=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x51876e(_0x440b30)?_0x30e0e3:_0x17ec32;return _0x51447d&&_0x1c57b9(_0x440b30,_0x436452,_0x51447d)&&(_0x436452=_0xbd18f7),_0x1337bb(_0x440b30,_0x53074b(_0x436452,0x3));},_0x4d4771[_0x1a4e('0x1c7')]=_0x2c4016,_0x4d4771['findIndex']=_0x4b2366,_0x4d4771[_0x1a4e('0x109b')]=function(_0x440b30,_0x436452){return _0x3fd77b(_0x440b30,_0x53074b(_0x436452,0x3),_0x48a4a0);},_0x4d4771[_0x1a4e('0x109c')]=_0x160dc3,_0x4d4771[_0x1a4e('0x109d')]=_0x4e21a5,_0x4d4771[_0x1a4e('0x109e')]=function(_0x440b30,_0x436452){return _0x3fd77b(_0x440b30,_0x53074b(_0x436452,0x3),_0x17d698);},_0x4d4771[_0x1a4e('0xb4')]=_0x3a9a26,_0x4d4771[_0x1a4e('0x3b')]=_0xf52628,_0x4d4771[_0x1a4e('0x109f')]=_0x56508,_0x4d4771[_0x1a4e('0x10a0')]=function(_0x440b30,_0x436452){return null==_0x440b30?_0x440b30:_0x45185c(_0x440b30,_0x53074b(_0x436452,0x3),_0x1501a6);},_0x4d4771['forInRight']=function(_0x440b30,_0x436452){return null==_0x440b30?_0x440b30:_0x2154ed(_0x440b30,_0x53074b(_0x436452,0x3),_0x1501a6);},_0x4d4771[_0x1a4e('0x10a1')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x48a4a0(_0x440b30,_0x53074b(_0x436452,0x3));},_0x4d4771[_0x1a4e('0x10a2')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x17d698(_0x440b30,_0x53074b(_0x436452,0x3));},_0x4d4771[_0x1a4e('0x179')]=_0x27ebd7,_0x4d4771['gt']=_0x30ea36,_0x4d4771[_0x1a4e('0x10a3')]=_0x47c60b,_0x4d4771[_0x1a4e('0x178')]=function(_0x440b30,_0x436452){return null!=_0x440b30&&_0x57935b(_0x440b30,_0x436452,_0x1329e0);},_0x4d4771[_0x1a4e('0x10a4')]=_0x3de7bb,_0x4d4771['head']=_0x492b13,_0x4d4771[_0x1a4e('0x10a5')]=_0x4d1133,_0x4d4771[_0x1a4e('0xae5')]=function(_0x440b30,_0x436452,_0x51447d,_0x1337bb){_0x440b30=_0x4ffcbd(_0x440b30)?_0x440b30:_0x102a24(_0x440b30),_0x51447d=_0x51447d&&!_0x1337bb?_0x2f5079(_0x51447d):0x0;var _0x2505f4=_0x440b30[_0x1a4e('0x1e')];return _0x51447d<0x0&&(_0x51447d=_0x44e3db(_0x2505f4+_0x51447d,0x0)),_0x1b8c51(_0x440b30)?_0x51447d<=_0x2505f4&&_0x440b30[_0x1a4e('0x3e')](_0x436452,_0x51447d)>-0x1:!!_0x2505f4&&_0x3790a1(_0x440b30,_0x436452,_0x51447d)>-0x1;},_0x4d4771['indexOf']=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];if(!_0x1337bb)return-0x1;var _0x2505f4=null==_0x51447d?0x0:_0x2f5079(_0x51447d);return _0x2505f4<0x0&&(_0x2505f4=_0x44e3db(_0x1337bb+_0x2505f4,0x0)),_0x3790a1(_0x440b30,_0x436452,_0x2505f4);},_0x4d4771['inRange']=function(_0x440b30,_0x436452,_0x51447d){return _0x436452=_0x52ce46(_0x436452),_0x51447d===_0xbd18f7?(_0x51447d=_0x436452,_0x436452=0x0):_0x51447d=_0x52ce46(_0x51447d),function(_0x440b30,_0x436452,_0x51447d){return _0x440b30>=_0x2a9a65(_0x436452,_0x51447d)&&_0x440b30<_0x44e3db(_0x436452,_0x51447d);}(_0x440b30=_0x49a300(_0x440b30),_0x436452,_0x51447d);},_0x4d4771[_0x1a4e('0x10a6')]=_0x2150b7,_0x4d4771['isArguments']=_0x213c10,_0x4d4771[_0x1a4e('0x15')]=_0x51876e,_0x4d4771[_0x1a4e('0x101b')]=_0x540e25,_0x4d4771['isArrayLike']=_0x4ffcbd,_0x4d4771['isArrayLikeObject']=_0x22cef3,_0x4d4771['isBoolean']=function(_0x440b30){return!0x0===_0x440b30||!0x1===_0x440b30||_0x5c0817(_0x440b30)&&_0x4b4fdc(_0x440b30)==_0x25458f;},_0x4d4771[_0x1a4e('0x871')]=_0x1ed8f9,_0x4d4771[_0x1a4e('0xb1f')]=_0x6e627c,_0x4d4771[_0x1a4e('0x10a7')]=function(_0x440b30){return _0x5c0817(_0x440b30)&&0x1===_0x440b30[_0x1a4e('0xfa8')]&&!_0x578ef5(_0x440b30);},_0x4d4771[_0x1a4e('0x149')]=function(_0x440b30){if(null==_0x440b30)return!0x0;if(_0x4ffcbd(_0x440b30)&&(_0x51876e(_0x440b30)||_0x1a4e('0x9')==typeof _0x440b30||'function'==typeof _0x440b30['splice']||_0x1ed8f9(_0x440b30)||_0x30f66f(_0x440b30)||_0x213c10(_0x440b30)))return!_0x440b30[_0x1a4e('0x1e')];var _0x436452=_0x1fae50(_0x440b30);if(_0x436452==_0x2cc58f||_0x436452==_0x104b15)return!_0x440b30[_0x1a4e('0x220')];if(_0x5131fc(_0x440b30))return!_0x3cf81e(_0x440b30)[_0x1a4e('0x1e')];for(var _0x51447d in _0x440b30)if(_0x43f346[_0x1a4e('0x1')](_0x440b30,_0x51447d))return!0x1;return!0x0;},_0x4d4771['isEqual']=function(_0x440b30,_0x436452){return _0x304087(_0x440b30,_0x436452);},_0x4d4771[_0x1a4e('0x10a8')]=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=(_0x51447d=_0x1a4e('0x68')==typeof _0x51447d?_0x51447d:_0xbd18f7)?_0x51447d(_0x440b30,_0x436452):_0xbd18f7;return _0x1337bb===_0xbd18f7?_0x304087(_0x440b30,_0x436452,_0xbd18f7,_0x51447d):!!_0x1337bb;},_0x4d4771[_0x1a4e('0x8b4')]=_0x3a8b97,_0x4d4771['isFinite']=function(_0x440b30){return _0x1a4e('0x3d')==typeof _0x440b30&&_0x8e60d7(_0x440b30);},_0x4d4771['isFunction']=_0xd96647,_0x4d4771[_0x1a4e('0x22f')]=_0x4cde8e,_0x4d4771[_0x1a4e('0x10a9')]=_0x2d9e58,_0x4d4771[_0x1a4e('0x101c')]=_0x5deb42,_0x4d4771['isMatch']=function(_0x440b30,_0x436452){return _0x440b30===_0x436452||_0x48c8a3(_0x440b30,_0x436452,_0x40844a(_0x436452));},_0x4d4771['isMatchWith']=function(_0x440b30,_0x436452,_0x51447d){return _0x51447d=_0x1a4e('0x68')==typeof _0x51447d?_0x51447d:_0xbd18f7,_0x48c8a3(_0x440b30,_0x436452,_0x40844a(_0x436452),_0x51447d);},_0x4d4771[_0x1a4e('0x231')]=function(_0x440b30){return _0x53061d(_0x440b30)&&_0x440b30!=+_0x440b30;},_0x4d4771['isNative']=function(_0x440b30){if(_0x2b890b(_0x440b30))throw new _0x27eedc(_0x3547b5);return _0x4e3fe2(_0x440b30);},_0x4d4771[_0x1a4e('0x10aa')]=function(_0x440b30){return null==_0x440b30;},_0x4d4771[_0x1a4e('0x29d')]=function(_0x440b30){return null===_0x440b30;},_0x4d4771[_0x1a4e('0x84c')]=_0x53061d,_0x4d4771[_0x1a4e('0x84d')]=_0x4577ce,_0x4d4771[_0x1a4e('0x10ab')]=_0x5c0817,_0x4d4771[_0x1a4e('0x10ac')]=_0x578ef5,_0x4d4771[_0x1a4e('0xb1d')]=_0x45caec,_0x4d4771[_0x1a4e('0x10ad')]=function(_0x440b30){return _0x4cde8e(_0x440b30)&&_0x440b30>=-_0x54dba2&&_0x440b30<=_0x54dba2;},_0x4d4771['isSet']=_0xc813e5,_0x4d4771[_0x1a4e('0xb19')]=_0x1b8c51,_0x4d4771['isSymbol']=_0x3a6fb4,_0x4d4771[_0x1a4e('0x10ae')]=_0x30f66f,_0x4d4771[_0x1a4e('0xb1c')]=function(_0x440b30){return _0x440b30===_0xbd18f7;},_0x4d4771[_0x1a4e('0x10af')]=function(_0x440b30){return _0x5c0817(_0x440b30)&&_0x1fae50(_0x440b30)==_0x1e84c7;},_0x4d4771[_0x1a4e('0x10b0')]=function(_0x440b30){return _0x5c0817(_0x440b30)&&_0x4b4fdc(_0x440b30)==_0x1fb4dd;},_0x4d4771['join']=function(_0x440b30,_0x436452){return null==_0x440b30?'':_0x5a3cc3['call'](_0x440b30,_0x436452);},_0x4d4771['kebabCase']=_0x58467c,_0x4d4771[_0x1a4e('0x10b1')]=_0x1294b9,_0x4d4771[_0x1a4e('0x471')]=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];if(!_0x1337bb)return-0x1;var _0x2505f4=_0x1337bb;return _0x51447d!==_0xbd18f7&&(_0x2505f4=(_0x2505f4=_0x2f5079(_0x51447d))<0x0?_0x44e3db(_0x1337bb+_0x2505f4,0x0):_0x2a9a65(_0x2505f4,_0x1337bb-0x1)),_0x436452==_0x436452?function(_0x440b30,_0x436452,_0x51447d){for(var _0x1337bb=_0x51447d+0x1;_0x1337bb--;)if(_0x440b30[_0x1337bb]===_0x436452)return _0x1337bb;return _0x1337bb;}(_0x440b30,_0x436452,_0x2505f4):_0x265615(_0x440b30,_0x3b5870,_0x2505f4,!0x0);},_0x4d4771[_0x1a4e('0x10b2')]=_0x217323,_0x4d4771[_0x1a4e('0x10b3')]=_0x123252,_0x4d4771['lt']=_0x4bc6c2,_0x4d4771[_0x1a4e('0x9e7')]=_0x4aa680,_0x4d4771['max']=function(_0x440b30){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x308e76(_0x440b30,_0x4d1133,_0x11873f):_0xbd18f7;},_0x4d4771[_0x1a4e('0x10b4')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x308e76(_0x440b30,_0x53074b(_0x436452,0x2),_0x11873f):_0xbd18f7;},_0x4d4771[_0x1a4e('0x10b5')]=function(_0x440b30){return _0x3cb927(_0x440b30,_0x4d1133);},_0x4d4771[_0x1a4e('0x10b6')]=function(_0x440b30,_0x436452){return _0x3cb927(_0x440b30,_0x53074b(_0x436452,0x2));},_0x4d4771[_0x1a4e('0x74')]=function(_0x440b30){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x308e76(_0x440b30,_0x4d1133,_0x2ae816):_0xbd18f7;},_0x4d4771[_0x1a4e('0x10b7')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x308e76(_0x440b30,_0x53074b(_0x436452,0x2),_0x2ae816):_0xbd18f7;},_0x4d4771[_0x1a4e('0x10b8')]=_0x32ec43,_0x4d4771[_0x1a4e('0x10b9')]=_0x519017,_0x4d4771[_0x1a4e('0x10ba')]=function(){return{};},_0x4d4771[_0x1a4e('0x10bb')]=function(){return'';},_0x4d4771[_0x1a4e('0x10bc')]=function(){return!0x0;},_0x4d4771['multiply']=_0x2f0a5b,_0x4d4771[_0x1a4e('0x10bd')]=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x46b1a8(_0x440b30,_0x2f5079(_0x436452)):_0xbd18f7;},_0x4d4771[_0x1a4e('0x10be')]=function(){return _0x4c1475['_']===this&&(_0x4c1475['_']=_0x3e8d41),this;},_0x4d4771[_0x1a4e('0x10bf')]=_0x20a5ae,_0x4d4771[_0x1a4e('0xe3f')]=_0x4afe11,_0x4d4771[_0x1a4e('0x10c0')]=function(_0x440b30,_0x436452,_0x51447d){_0x440b30=_0x532093(_0x440b30);var _0x1337bb=(_0x436452=_0x2f5079(_0x436452))?_0x4b3931(_0x440b30):0x0;if(!_0x436452||_0x1337bb>=_0x436452)return _0x440b30;var _0x2505f4=(_0x436452-_0x1337bb)/0x2;return _0x1bce5c(_0x3331db(_0x2505f4),_0x51447d)+_0x440b30+_0x1bce5c(_0x323fb8(_0x2505f4),_0x51447d);},_0x4d4771[_0x1a4e('0x10c1')]=function(_0x440b30,_0x436452,_0x51447d){_0x440b30=_0x532093(_0x440b30);var _0x1337bb=(_0x436452=_0x2f5079(_0x436452))?_0x4b3931(_0x440b30):0x0;return _0x436452&&_0x1337bb<_0x436452?_0x440b30+_0x1bce5c(_0x436452-_0x1337bb,_0x51447d):_0x440b30;},_0x4d4771['padStart']=function(_0x440b30,_0x436452,_0x51447d){_0x440b30=_0x532093(_0x440b30);var _0x1337bb=(_0x436452=_0x2f5079(_0x436452))?_0x4b3931(_0x440b30):0x0;return _0x436452&&_0x1337bb<_0x436452?_0x1bce5c(_0x436452-_0x1337bb,_0x51447d)+_0x440b30:_0x440b30;},_0x4d4771[_0x1a4e('0x282')]=function(_0x440b30,_0x436452,_0x51447d){return _0x51447d||null==_0x436452?_0x436452=0x0:_0x436452&&(_0x436452=+_0x436452),_0x39d685(_0x532093(_0x440b30)['replace'](_0x42d7b3,''),_0x436452||0x0);},_0x4d4771['random']=function(_0x440b30,_0x436452,_0x51447d){if(_0x51447d&&_0x1a4e('0x34b')!=typeof _0x51447d&&_0x1c57b9(_0x440b30,_0x436452,_0x51447d)&&(_0x436452=_0x51447d=_0xbd18f7),_0x51447d===_0xbd18f7&&(_0x1a4e('0x34b')==typeof _0x436452?(_0x51447d=_0x436452,_0x436452=_0xbd18f7):_0x1a4e('0x34b')==typeof _0x440b30&&(_0x51447d=_0x440b30,_0x440b30=_0xbd18f7)),_0x440b30===_0xbd18f7&&_0x436452===_0xbd18f7?(_0x440b30=0x0,_0x436452=0x1):(_0x440b30=_0x52ce46(_0x440b30),_0x436452===_0xbd18f7?(_0x436452=_0x440b30,_0x440b30=0x0):_0x436452=_0x52ce46(_0x436452)),_0x440b30>_0x436452){var _0x1337bb=_0x440b30;_0x440b30=_0x436452,_0x436452=_0x1337bb;}if(_0x51447d||_0x440b30%0x1||_0x436452%0x1){var _0x2505f4=_0x339f2e();return _0x2a9a65(_0x440b30+_0x2505f4*(_0x436452-_0x440b30+_0x357152(_0x1a4e('0x10c2')+((_0x2505f4+'')[_0x1a4e('0x1e')]-0x1))),_0x436452);}return _0x4b9e1c(_0x440b30,_0x436452);},_0x4d4771[_0x1a4e('0xbb')]=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x51876e(_0x440b30)?_0x6683bb:_0x5817b5,_0x2505f4=arguments[_0x1a4e('0x1e')]<0x3;return _0x1337bb(_0x440b30,_0x53074b(_0x436452,0x4),_0x51447d,_0x2505f4,_0xf54e13);},_0x4d4771[_0x1a4e('0xe1f')]=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x51876e(_0x440b30)?_0x3a885b:_0x5817b5,_0x2505f4=arguments[_0x1a4e('0x1e')]<0x3;return _0x1337bb(_0x440b30,_0x53074b(_0x436452,0x4),_0x51447d,_0x2505f4,_0x227d8b);},_0x4d4771['repeat']=function(_0x440b30,_0x436452,_0x51447d){return _0x436452=(_0x51447d?_0x1c57b9(_0x440b30,_0x436452,_0x51447d):_0x436452===_0xbd18f7)?0x1:_0x2f5079(_0x436452),_0x58748e(_0x532093(_0x440b30),_0x436452);},_0x4d4771[_0x1a4e('0x115')]=function(){var _0x440b30=arguments,_0x436452=_0x532093(_0x440b30[0x0]);return _0x440b30[_0x1a4e('0x1e')]<0x3?_0x436452:_0x436452[_0x1a4e('0x115')](_0x440b30[0x1],_0x440b30[0x2]);},_0x4d4771['result']=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=-0x1,_0x2505f4=(_0x436452=_0x5f205e(_0x436452,_0x440b30))[_0x1a4e('0x1e')];for(_0x2505f4||(_0x2505f4=0x1,_0x440b30=_0xbd18f7);++_0x1337bb<_0x2505f4;){var _0x2d3764=null==_0x440b30?_0xbd18f7:_0x440b30[_0x3beb67(_0x436452[_0x1337bb])];_0x2d3764===_0xbd18f7&&(_0x1337bb=_0x2505f4,_0x2d3764=_0x51447d),_0x440b30=_0xd96647(_0x2d3764)?_0x2d3764[_0x1a4e('0x1')](_0x440b30):_0x2d3764;}return _0x440b30;},_0x4d4771['round']=_0x57f05c,_0x4d4771[_0x1a4e('0x10c3')]=_0x440b30,_0x4d4771[_0x1a4e('0x7bb')]=function(_0x440b30){return(_0x51876e(_0x440b30)?_0x52d803:_0x3cb9cf)(_0x440b30);},_0x4d4771[_0x1a4e('0x220')]=function(_0x440b30){if(null==_0x440b30)return 0x0;if(_0x4ffcbd(_0x440b30))return _0x1b8c51(_0x440b30)?_0x4b3931(_0x440b30):_0x440b30[_0x1a4e('0x1e')];var _0x436452=_0x1fae50(_0x440b30);return _0x436452==_0x2cc58f||_0x436452==_0x104b15?_0x440b30[_0x1a4e('0x220')]:_0x3cf81e(_0x440b30)[_0x1a4e('0x1e')];},_0x4d4771['snakeCase']=_0x1ab997,_0x4d4771[_0x1a4e('0x1c2')]=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x51876e(_0x440b30)?_0x2ebb05:_0x552957;return _0x51447d&&_0x1c57b9(_0x440b30,_0x436452,_0x51447d)&&(_0x436452=_0xbd18f7),_0x1337bb(_0x440b30,_0x53074b(_0x436452,0x3));},_0x4d4771[_0x1a4e('0x10c4')]=function(_0x440b30,_0x436452){return _0x562dc9(_0x440b30,_0x436452);},_0x4d4771[_0x1a4e('0x10c5')]=function(_0x440b30,_0x436452,_0x51447d){return _0x13329c(_0x440b30,_0x436452,_0x53074b(_0x51447d,0x2));},_0x4d4771[_0x1a4e('0x10c6')]=function(_0x440b30,_0x436452){var _0x51447d=null==_0x440b30?0x0:_0x440b30[_0x1a4e('0x1e')];if(_0x51447d){var _0x1337bb=_0x562dc9(_0x440b30,_0x436452);if(_0x1337bb<_0x51447d&&_0x37d7c6(_0x440b30[_0x1337bb],_0x436452))return _0x1337bb;}return-0x1;},_0x4d4771['sortedLastIndex']=function(_0x440b30,_0x436452){return _0x562dc9(_0x440b30,_0x436452,!0x0);},_0x4d4771[_0x1a4e('0x10c7')]=function(_0x440b30,_0x436452,_0x51447d){return _0x13329c(_0x440b30,_0x436452,_0x53074b(_0x51447d,0x2),!0x0);},_0x4d4771[_0x1a4e('0x10c8')]=function(_0x440b30,_0x436452){if(null!=_0x440b30&&_0x440b30[_0x1a4e('0x1e')]){var _0x51447d=_0x562dc9(_0x440b30,_0x436452,!0x0)-0x1;if(_0x37d7c6(_0x440b30[_0x51447d],_0x436452))return _0x51447d;}return-0x1;},_0x4d4771[_0x1a4e('0x10c9')]=_0x1c174f,_0x4d4771[_0x1a4e('0xdfb')]=function(_0x440b30,_0x436452,_0x51447d){return _0x440b30=_0x532093(_0x440b30),_0x51447d=null==_0x51447d?0x0:_0x5312f4(_0x2f5079(_0x51447d),0x0,_0x440b30['length']),_0x436452=_0xaa28c8(_0x436452),_0x440b30[_0x1a4e('0x78')](_0x51447d,_0x51447d+_0x436452[_0x1a4e('0x1e')])==_0x436452;},_0x4d4771['subtract']=_0x10020d,_0x4d4771[_0x1a4e('0x168')]=function(_0x440b30){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x1ac656(_0x440b30,_0x4d1133):0x0;},_0x4d4771['sumBy']=function(_0x440b30,_0x436452){return _0x440b30&&_0x440b30[_0x1a4e('0x1e')]?_0x1ac656(_0x440b30,_0x53074b(_0x436452,0x2)):0x0;},_0x4d4771[_0x1a4e('0xe19')]=function(_0x440b30,_0x436452,_0x51447d){var _0x1337bb=_0x4d4771['templateSettings'];_0x51447d&&_0x1c57b9(_0x440b30,_0x436452,_0x51447d)&&(_0x436452=_0xbd18f7),_0x440b30=_0x532093(_0x440b30),_0x436452=_0x4ec72d({},_0x436452,_0x1337bb,_0x28ba44);var _0x2505f4,_0x2d3764,_0x3547b5=_0x4ec72d({},_0x436452[_0x1a4e('0x10ca')],_0x1337bb['imports'],_0x28ba44),_0x4dcadc=_0x75a98e(_0x3547b5),_0x378c12=_0x4e0b90(_0x3547b5,_0x4dcadc),_0x599dd1=0x0,_0x545383=_0x436452['interpolate']||_0x1e08a0,_0x4398b5='__p\x20+=\x20\x27',_0x3eecdb=_0x160440((_0x436452['escape']||_0x1e08a0)[_0x1a4e('0xfaa')]+'|'+_0x545383['source']+'|'+(_0x545383===_0x2c353e?_0x1de281:_0x1e08a0)['source']+'|'+(_0x436452[_0x1a4e('0x10cb')]||_0x1e08a0)['source']+'|$','g'),_0x1b35a2=_0x1a4e('0xdfc')+(_0x1a4e('0x10cc')in _0x436452?_0x436452[_0x1a4e('0x10cc')]:_0x1a4e('0x10cd')+ ++_0x3d90d7+']')+'\x0a';_0x440b30[_0x1a4e('0x115')](_0x3eecdb,function(_0x436452,_0x51447d,_0x1337bb,_0xbd18f7,_0x3547b5,_0x4dcadc){return _0x1337bb||(_0x1337bb=_0xbd18f7),_0x4398b5+=_0x440b30['slice'](_0x599dd1,_0x4dcadc)[_0x1a4e('0x115')](_0x2d787b,_0x3a81e5),_0x51447d&&(_0x2505f4=!0x0,_0x4398b5+=_0x1a4e('0x10ce')+_0x51447d+_0x1a4e('0x10cf')),_0x3547b5&&(_0x2d3764=!0x0,_0x4398b5+=_0x1a4e('0x10d0')+_0x3547b5+_0x1a4e('0x10d1')),_0x1337bb&&(_0x4398b5+=_0x1a4e('0x10d2')+_0x1337bb+_0x1a4e('0x10d3')),_0x599dd1=_0x4dcadc+_0x436452[_0x1a4e('0x1e')],_0x436452;}),_0x4398b5+=_0x1a4e('0x10d0');var _0x5c5d87=_0x436452[_0x1a4e('0x10d4')];_0x5c5d87||(_0x4398b5='with\x20(obj)\x20{\x0a'+_0x4398b5+'\x0a}\x0a'),_0x4398b5=(_0x2d3764?_0x4398b5[_0x1a4e('0x115')](_0x1d05b1,''):_0x4398b5)[_0x1a4e('0x115')](_0x3eebed,'$1')[_0x1a4e('0x115')](_0x4393ef,_0x1a4e('0x10d5')),_0x4398b5=_0x1a4e('0x10d6')+(_0x5c5d87||'obj')+_0x1a4e('0x10d7')+(_0x5c5d87?'':_0x1a4e('0x10d8'))+_0x1a4e('0x10d9')+(_0x2505f4?_0x1a4e('0x10da'):'')+(_0x2d3764?_0x1a4e('0x10db'):';\x0a')+_0x4398b5+_0x1a4e('0x10dc');var _0x3ae387=_0x465ef8(function(){return _0x1f4c91(_0x4dcadc,_0x1b35a2+_0x1a4e('0x10dd')+_0x4398b5)[_0x1a4e('0x8b')](_0xbd18f7,_0x378c12);});if(_0x3ae387[_0x1a4e('0xfaa')]=_0x4398b5,_0x3a8b97(_0x3ae387))throw _0x3ae387;return _0x3ae387;},_0x4d4771[_0x1a4e('0x10de')]=function(_0x440b30,_0x436452){if((_0x440b30=_0x2f5079(_0x440b30))<0x1||_0x440b30>_0x54dba2)return[];var _0x51447d=_0x5b2d0e,_0x1337bb=_0x2a9a65(_0x440b30,_0x5b2d0e);_0x436452=_0x53074b(_0x436452),_0x440b30-=_0x5b2d0e;for(var _0x2505f4=_0x17d56f(_0x1337bb,_0x436452);++_0x51447d<_0x440b30;)_0x436452(_0x51447d);return _0x2505f4;},_0x4d4771['toFinite']=_0x52ce46,_0x4d4771[_0x1a4e('0x10df')]=_0x2f5079,_0x4d4771[_0x1a4e('0x10e0')]=_0x49b9e1,_0x4d4771[_0x1a4e('0x10e1')]=function(_0x440b30){return _0x532093(_0x440b30)[_0x1a4e('0x2b2')]();},_0x4d4771['toNumber']=_0x49a300,_0x4d4771[_0x1a4e('0x10e2')]=function(_0x440b30){return _0x440b30?_0x5312f4(_0x2f5079(_0x440b30),-_0x54dba2,_0x54dba2):0x0===_0x440b30?_0x440b30:0x0;},_0x4d4771[_0x1a4e('0x95')]=_0x532093,_0x4d4771[_0x1a4e('0x10e3')]=function(_0x440b30){return _0x532093(_0x440b30)['toUpperCase']();},_0x4d4771[_0x1a4e('0x2bd')]=function(_0x440b30,_0x436452,_0x51447d){if((_0x440b30=_0x532093(_0x440b30))&&(_0x51447d||_0x436452===_0xbd18f7))return _0x440b30[_0x1a4e('0x115')](_0x5e4981,'');if(!_0x440b30||!(_0x436452=_0xaa28c8(_0x436452)))return _0x440b30;var _0x1337bb=_0x1dd38d(_0x440b30),_0x2505f4=_0x1dd38d(_0x436452);return _0x4830ec(_0x1337bb,_0x5c6022(_0x1337bb,_0x2505f4),_0x4040cc(_0x1337bb,_0x2505f4)+0x1)[_0x1a4e('0x9e')]('');},_0x4d4771['trimEnd']=function(_0x440b30,_0x436452,_0x51447d){if((_0x440b30=_0x532093(_0x440b30))&&(_0x51447d||_0x436452===_0xbd18f7))return _0x440b30[_0x1a4e('0x115')](_0x7848e4,'');if(!_0x440b30||!(_0x436452=_0xaa28c8(_0x436452)))return _0x440b30;var _0x1337bb=_0x1dd38d(_0x440b30);return _0x4830ec(_0x1337bb,0x0,_0x4040cc(_0x1337bb,_0x1dd38d(_0x436452))+0x1)[_0x1a4e('0x9e')]('');},_0x4d4771['trimStart']=function(_0x440b30,_0x436452,_0x51447d){if((_0x440b30=_0x532093(_0x440b30))&&(_0x51447d||_0x436452===_0xbd18f7))return _0x440b30[_0x1a4e('0x115')](_0x42d7b3,'');if(!_0x440b30||!(_0x436452=_0xaa28c8(_0x436452)))return _0x440b30;var _0x1337bb=_0x1dd38d(_0x440b30);return _0x4830ec(_0x1337bb,_0x5c6022(_0x1337bb,_0x1dd38d(_0x436452)))[_0x1a4e('0x9e')]('');},_0x4d4771[_0x1a4e('0x7d2')]=function(_0x440b30,_0x436452){var _0x51447d=_0x4fb86d,_0x1337bb=_0xfc17c1;if(_0x4577ce(_0x436452)){var _0x2505f4=_0x1a4e('0x10e4')in _0x436452?_0x436452[_0x1a4e('0x10e4')]:_0x2505f4;_0x51447d='length'in _0x436452?_0x2f5079(_0x436452['length']):_0x51447d,_0x1337bb=_0x1a4e('0x10e5')in _0x436452?_0xaa28c8(_0x436452[_0x1a4e('0x10e5')]):_0x1337bb;}var _0x2d3764=(_0x440b30=_0x532093(_0x440b30))[_0x1a4e('0x1e')];if(_0x3108e6(_0x440b30)){var _0x3547b5=_0x1dd38d(_0x440b30);_0x2d3764=_0x3547b5['length'];}if(_0x51447d>=_0x2d3764)return _0x440b30;var _0x4dcadc=_0x51447d-_0x4b3931(_0x1337bb);if(_0x4dcadc<0x1)return _0x1337bb;var _0x378c12=_0x3547b5?_0x4830ec(_0x3547b5,0x0,_0x4dcadc)[_0x1a4e('0x9e')](''):_0x440b30[_0x1a4e('0x78')](0x0,_0x4dcadc);if(_0x2505f4===_0xbd18f7)return _0x378c12+_0x1337bb;if(_0x3547b5&&(_0x4dcadc+=_0x378c12[_0x1a4e('0x1e')]-_0x4dcadc),_0x45caec(_0x2505f4)){if(_0x440b30[_0x1a4e('0x78')](_0x4dcadc)[_0x1a4e('0x83')](_0x2505f4)){var _0x599dd1,_0x545383=_0x378c12;for(_0x2505f4[_0x1a4e('0x10e6')]||(_0x2505f4=_0x160440(_0x2505f4[_0x1a4e('0xfaa')],_0x532093(_0x522990['exec'](_0x2505f4))+'g')),_0x2505f4['lastIndex']=0x0;_0x599dd1=_0x2505f4[_0x1a4e('0x2af')](_0x545383);)var _0x4398b5=_0x599dd1[_0x1a4e('0xbd')];_0x378c12=_0x378c12[_0x1a4e('0x78')](0x0,_0x4398b5===_0xbd18f7?_0x4dcadc:_0x4398b5);}}else if(_0x440b30[_0x1a4e('0x3e')](_0xaa28c8(_0x2505f4),_0x4dcadc)!=_0x4dcadc){var _0x3eecdb=_0x378c12[_0x1a4e('0x471')](_0x2505f4);_0x3eecdb>-0x1&&(_0x378c12=_0x378c12[_0x1a4e('0x78')](0x0,_0x3eecdb));}return _0x378c12+_0x1337bb;},_0x4d4771[_0x1a4e('0x10e7')]=function(_0x440b30){return(_0x440b30=_0x532093(_0x440b30))&&_0x2921b8[_0x1a4e('0x8d0')](_0x440b30)?_0x440b30[_0x1a4e('0x115')](_0x41cbc6,_0x4362fc):_0x440b30;},_0x4d4771[_0x1a4e('0x10e8')]=function(_0x440b30){var _0x436452=++_0x3d876f;return _0x532093(_0x440b30)+_0x436452;},_0x4d4771[_0x1a4e('0x10e9')]=_0x5656d4,_0x4d4771[_0x1a4e('0x10ea')]=_0x25826a,_0x4d4771['each']=_0xf52628,_0x4d4771[_0x1a4e('0x10eb')]=_0x56508,_0x4d4771['first']=_0x492b13,_0x125b77(_0x4d4771,(_0x563aa4={},_0x48a4a0(_0x4d4771,function(_0x440b30,_0x436452){_0x43f346[_0x1a4e('0x1')](_0x4d4771[_0x1a4e('0xa')],_0x436452)||(_0x563aa4[_0x436452]=_0x440b30);}),_0x563aa4),{'chain':!0x1}),_0x4d4771[_0x1a4e('0x10ec')]=_0x1a4e('0x10ed'),_0x44019c([_0x1a4e('0x945'),_0x1a4e('0xffd'),_0x1a4e('0x10ee'),_0x1a4e('0xffe'),_0x1a4e('0xfff'),_0x1a4e('0x106c')],function(_0x440b30){_0x4d4771[_0x440b30][_0x1a4e('0x1031')]=_0x4d4771;}),_0x44019c(['drop',_0x1a4e('0x1080')],function(_0x440b30,_0x436452){_0x2de872[_0x1a4e('0xa')][_0x440b30]=function(_0x51447d){_0x51447d=_0x51447d===_0xbd18f7?0x1:_0x44e3db(_0x2f5079(_0x51447d),0x0);var _0x1337bb=this[_0x1a4e('0x1028')]&&!_0x436452?new _0x2de872(this):this[_0x1a4e('0x240')]();return _0x1337bb[_0x1a4e('0x1028')]?_0x1337bb['__takeCount__']=_0x2a9a65(_0x51447d,_0x1337bb[_0x1a4e('0x10ef')]):_0x1337bb[_0x1a4e('0x102a')][_0x1a4e('0x46')]({'size':_0x2a9a65(_0x51447d,_0x5b2d0e),'type':_0x440b30+(_0x1337bb[_0x1a4e('0x1027')]<0x0?_0x1a4e('0x10f0'):'')}),_0x1337bb;},_0x2de872[_0x1a4e('0xa')][_0x440b30+'Right']=function(_0x436452){return this[_0x1a4e('0x9b')]()[_0x440b30](_0x436452)[_0x1a4e('0x9b')]();};}),_0x44019c([_0x1a4e('0xd9'),_0x1a4e('0x21'),'takeWhile'],function(_0x440b30,_0x436452){var _0x51447d=_0x436452+0x1,_0x1337bb=_0x51447d==_0xaf5d8d||0x3==_0x51447d;_0x2de872[_0x1a4e('0xa')][_0x440b30]=function(_0x440b30){var _0x436452=this['clone']();return _0x436452['__iteratees__'][_0x1a4e('0x46')]({'iteratee':_0x53074b(_0x440b30,0x3),'type':_0x51447d}),_0x436452[_0x1a4e('0x1028')]=_0x436452[_0x1a4e('0x1028')]||_0x1337bb,_0x436452;};}),_0x44019c([_0x1a4e('0x10f1'),'last'],function(_0x440b30,_0x436452){var _0x51447d='take'+(_0x436452?_0x1a4e('0x10f0'):'');_0x2de872[_0x1a4e('0xa')][_0x440b30]=function(){return this[_0x51447d](0x1)[_0x1a4e('0x255')]()[0x0];};}),_0x44019c([_0x1a4e('0x1059'),'tail'],function(_0x440b30,_0x436452){var _0x51447d=_0x1a4e('0x10f2')+(_0x436452?'':_0x1a4e('0x10f0'));_0x2de872[_0x1a4e('0xa')][_0x440b30]=function(){return this['__filtered__']?new _0x2de872(this):this[_0x51447d](0x1);};}),_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x10f3')]=function(){return this[_0x1a4e('0xd9')](_0x4d1133);},_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x1c7')]=function(_0x440b30){return this[_0x1a4e('0xd9')](_0x440b30)[_0x1a4e('0x10f1')]();},_0x2de872[_0x1a4e('0xa')]['findLast']=function(_0x440b30){return this[_0x1a4e('0x9b')]()[_0x1a4e('0x1c7')](_0x440b30);},_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x105c')]=_0x53dd60(function(_0x440b30,_0x436452){return'function'==typeof _0x440b30?new _0x2de872(this):this[_0x1a4e('0x21')](function(_0x51447d){return _0x2206f3(_0x51447d,_0x440b30,_0x436452);});}),_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x1077')]=function(_0x440b30){return this[_0x1a4e('0xd9')](_0xedd9ef(_0x53074b(_0x440b30)));},_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x78')]=function(_0x440b30,_0x436452){_0x440b30=_0x2f5079(_0x440b30);var _0x51447d=this;return _0x51447d['__filtered__']&&(_0x440b30>0x0||_0x436452<0x0)?new _0x2de872(_0x51447d):(_0x440b30<0x0?_0x51447d=_0x51447d[_0x1a4e('0x10f4')](-_0x440b30):_0x440b30&&(_0x51447d=_0x51447d[_0x1a4e('0x10f2')](_0x440b30)),_0x436452!==_0xbd18f7&&(_0x51447d=(_0x436452=_0x2f5079(_0x436452))<0x0?_0x51447d[_0x1a4e('0x10f5')](-_0x436452):_0x51447d[_0x1a4e('0x1080')](_0x436452-_0x440b30)),_0x51447d);},_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x1081')]=function(_0x440b30){return this[_0x1a4e('0x9b')]()['takeWhile'](_0x440b30)[_0x1a4e('0x9b')]();},_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x347')]=function(){return this[_0x1a4e('0x1080')](_0x5b2d0e);},_0x48a4a0(_0x2de872[_0x1a4e('0xa')],function(_0x440b30,_0x436452){var _0x51447d=/^(?:filter|find|map|reject)|While$/['test'](_0x436452),_0x1337bb=/^(?:head|last)$/['test'](_0x436452),_0x2505f4=_0x4d4771[_0x1337bb?_0x1a4e('0x1080')+(_0x1a4e('0x10b1')==_0x436452?_0x1a4e('0x10f0'):''):_0x436452],_0x2d3764=_0x1337bb||/^find/['test'](_0x436452);_0x2505f4&&(_0x4d4771[_0x1a4e('0xa')][_0x436452]=function(){var _0x436452=this[_0x1a4e('0x1023')],_0x3547b5=_0x1337bb?[0x1]:arguments,_0x4dcadc=_0x436452 instanceof _0x2de872,_0x378c12=_0x3547b5[0x0],_0x599dd1=_0x4dcadc||_0x51876e(_0x436452),_0x545383=function(_0x440b30){var _0x436452=_0x2505f4[_0x1a4e('0x8b')](_0x4d4771,_0x2eb09c([_0x440b30],_0x3547b5));return _0x1337bb&&_0x4398b5?_0x436452[0x0]:_0x436452;};_0x599dd1&&_0x51447d&&'function'==typeof _0x378c12&&0x1!=_0x378c12[_0x1a4e('0x1e')]&&(_0x4dcadc=_0x599dd1=!0x1);var _0x4398b5=this[_0x1a4e('0x1025')],_0x3eecdb=!!this[_0x1a4e('0x1024')]['length'],_0x1b35a2=_0x2d3764&&!_0x4398b5,_0x5c5d87=_0x4dcadc&&!_0x3eecdb;if(!_0x2d3764&&_0x599dd1){_0x436452=_0x5c5d87?_0x436452:new _0x2de872(this);var _0x3ae387=_0x440b30[_0x1a4e('0x8b')](_0x436452,_0x3547b5);return _0x3ae387[_0x1a4e('0x1024')][_0x1a4e('0x46')]({'func':_0x41a32f,'args':[_0x545383],'thisArg':_0xbd18f7}),new _0x52c0b4(_0x3ae387,_0x4398b5);}return _0x1b35a2&&_0x5c5d87?_0x440b30['apply'](this,_0x3547b5):(_0x3ae387=this[_0x1a4e('0x102f')](_0x545383),_0x1b35a2?_0x1337bb?_0x3ae387[_0x1a4e('0x255')]()[0x0]:_0x3ae387[_0x1a4e('0x255')]():_0x3ae387);});}),_0x44019c([_0x1a4e('0x76'),_0x1a4e('0x46'),_0x1a4e('0x7d'),_0x1a4e('0x89'),_0x1a4e('0x8a'),_0x1a4e('0x66')],function(_0x440b30){var _0x436452=_0x3693ee[_0x440b30],_0x51447d=/^(?:push|sort|unshift)$/[_0x1a4e('0x8d0')](_0x440b30)?_0x1a4e('0x10f6'):'thru',_0x1337bb=/^(?:pop|shift)$/[_0x1a4e('0x8d0')](_0x440b30);_0x4d4771[_0x1a4e('0xa')][_0x440b30]=function(){var _0x440b30=arguments;if(_0x1337bb&&!this['__chain__']){var _0x2505f4=this[_0x1a4e('0x255')]();return _0x436452[_0x1a4e('0x8b')](_0x51876e(_0x2505f4)?_0x2505f4:[],_0x440b30);}return this[_0x51447d](function(_0x51447d){return _0x436452[_0x1a4e('0x8b')](_0x51876e(_0x51447d)?_0x51447d:[],_0x440b30);});};}),_0x48a4a0(_0x2de872[_0x1a4e('0xa')],function(_0x440b30,_0x436452){var _0x51447d=_0x4d4771[_0x436452];if(_0x51447d){var _0x1337bb=_0x51447d[_0x1a4e('0x2cb')]+'';(_0x3192fa[_0x1337bb]||(_0x3192fa[_0x1337bb]=[]))['push']({'name':_0x436452,'func':_0x51447d});}}),_0x3192fa[_0x3f6aec(_0xbd18f7,_0x2f97d8)['name']]=[{'name':_0x1a4e('0x1030'),'func':_0xbd18f7}],_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x240')]=function(){var _0x440b30=new _0x2de872(this[_0x1a4e('0x1023')]);return _0x440b30[_0x1a4e('0x1024')]=_0x35e077(this[_0x1a4e('0x1024')]),_0x440b30[_0x1a4e('0x1027')]=this[_0x1a4e('0x1027')],_0x440b30['__filtered__']=this[_0x1a4e('0x1028')],_0x440b30['__iteratees__']=_0x35e077(this[_0x1a4e('0x1029')]),_0x440b30[_0x1a4e('0x10ef')]=this[_0x1a4e('0x10ef')],_0x440b30['__views__']=_0x35e077(this[_0x1a4e('0x102a')]),_0x440b30;},_0x2de872[_0x1a4e('0xa')][_0x1a4e('0x9b')]=function(){if(this[_0x1a4e('0x1028')]){var _0x440b30=new _0x2de872(this);_0x440b30[_0x1a4e('0x1027')]=-0x1,_0x440b30[_0x1a4e('0x1028')]=!0x0;}else(_0x440b30=this[_0x1a4e('0x240')]())[_0x1a4e('0x1027')]*=-0x1;return _0x440b30;},_0x2de872[_0x1a4e('0xa')]['value']=function(){var _0x440b30=this[_0x1a4e('0x1023')][_0x1a4e('0x255')](),_0x436452=this[_0x1a4e('0x1027')],_0x51447d=_0x51876e(_0x440b30),_0x1337bb=_0x436452<0x0,_0x2505f4=_0x51447d?_0x440b30[_0x1a4e('0x1e')]:0x0,_0xbd18f7=function(_0x440b30,_0x436452,_0x51447d){for(var _0x1337bb=-0x1,_0x2505f4=_0x51447d[_0x1a4e('0x1e')];++_0x1337bb<_0x2505f4;){var _0xbd18f7=_0x51447d[_0x1337bb],_0x2d3764=_0xbd18f7[_0x1a4e('0x220')];switch(_0xbd18f7[_0x1a4e('0x40')]){case _0x1a4e('0x10f2'):_0x440b30+=_0x2d3764;break;case _0x1a4e('0x10f5'):_0x436452-=_0x2d3764;break;case _0x1a4e('0x1080'):_0x436452=_0x2a9a65(_0x436452,_0x440b30+_0x2d3764);break;case'takeRight':_0x440b30=_0x44e3db(_0x440b30,_0x436452-_0x2d3764);}}return{'start':_0x440b30,'end':_0x436452};}(0x0,_0x2505f4,this[_0x1a4e('0x102a')]),_0x2d3764=_0xbd18f7['start'],_0x3547b5=_0xbd18f7[_0x1a4e('0xca')],_0x4dcadc=_0x3547b5-_0x2d3764,_0x378c12=_0x1337bb?_0x3547b5:_0x2d3764-0x1,_0x599dd1=this[_0x1a4e('0x1029')],_0x545383=_0x599dd1[_0x1a4e('0x1e')],_0x4398b5=0x0,_0x3eecdb=_0x2a9a65(_0x4dcadc,this[_0x1a4e('0x10ef')]);if(!_0x51447d||!_0x1337bb&&_0x2505f4==_0x4dcadc&&_0x3eecdb==_0x4dcadc)return _0x30fc9c(_0x440b30,this['__actions__']);var _0x1b35a2=[];_0x13c1a3:for(;_0x4dcadc--&&_0x4398b5<_0x3eecdb;){for(var _0x5c5d87=-0x1,_0x3ae387=_0x440b30[_0x378c12+=_0x436452];++_0x5c5d87<_0x545383;){var _0x537c5a=_0x599dd1[_0x5c5d87],_0x2f97d8=_0x537c5a[_0x1a4e('0x1032')],_0x283521=_0x537c5a[_0x1a4e('0x40')],_0x26da39=_0x2f97d8(_0x3ae387);if(_0x283521==_0x546a0c)_0x3ae387=_0x26da39;else if(!_0x26da39){if(_0x283521==_0xaf5d8d)continue _0x13c1a3;break _0x13c1a3;}}_0x1b35a2[_0x4398b5++]=_0x3ae387;}return _0x1b35a2;},_0x4d4771[_0x1a4e('0xa')]['at']=_0x3f9faf,_0x4d4771[_0x1a4e('0xa')][_0x1a4e('0x103a')]=function(){return _0x440f61(this);},_0x4d4771['prototype']['commit']=function(){return new _0x52c0b4(this[_0x1a4e('0x255')](),this[_0x1a4e('0x1025')]);},_0x4d4771[_0x1a4e('0xa')][_0x1a4e('0x7e')]=function(){this[_0x1a4e('0x1026')]===_0xbd18f7&&(this[_0x1a4e('0x1026')]=_0x2fe9c0(this[_0x1a4e('0x255')]()));var _0x440b30=this[_0x1a4e('0x1035')]>=this[_0x1a4e('0x1026')][_0x1a4e('0x1e')];return{'done':_0x440b30,'value':_0x440b30?_0xbd18f7:this[_0x1a4e('0x1026')][this[_0x1a4e('0x1035')]++]};},_0x4d4771[_0x1a4e('0xa')]['plant']=function(_0x440b30){for(var _0x436452,_0x51447d=this;_0x51447d instanceof _0x3cde43;){var _0x1337bb=_0x275bb2(_0x51447d);_0x1337bb[_0x1a4e('0x1035')]=0x0,_0x1337bb['__values__']=_0xbd18f7,_0x436452?_0x2505f4[_0x1a4e('0x1023')]=_0x1337bb:_0x436452=_0x1337bb;var _0x2505f4=_0x1337bb;_0x51447d=_0x51447d[_0x1a4e('0x1023')];}return _0x2505f4[_0x1a4e('0x1023')]=_0x440b30,_0x436452;},_0x4d4771[_0x1a4e('0xa')][_0x1a4e('0x9b')]=function(){var _0x440b30=this[_0x1a4e('0x1023')];if(_0x440b30 instanceof _0x2de872){var _0x436452=_0x440b30;return this['__actions__']['length']&&(_0x436452=new _0x2de872(this)),(_0x436452=_0x436452['reverse']())['__actions__']['push']({'func':_0x41a32f,'args':[_0x3ec9c0],'thisArg':_0xbd18f7}),new _0x52c0b4(_0x436452,this[_0x1a4e('0x1025')]);}return this[_0x1a4e('0x102f')](_0x3ec9c0);},_0x4d4771[_0x1a4e('0xa')][_0x1a4e('0xb9')]=_0x4d4771[_0x1a4e('0xa')]['valueOf']=_0x4d4771[_0x1a4e('0xa')]['value']=function(){return _0x30fc9c(this[_0x1a4e('0x1023')],this[_0x1a4e('0x1024')]);},_0x4d4771[_0x1a4e('0xa')][_0x1a4e('0x10f7')]=_0x4d4771[_0x1a4e('0xa')][_0x1a4e('0x10f1')],_0x165fc1&&(_0x4d4771[_0x1a4e('0xa')][_0x165fc1]=function(){return this;}),_0x4d4771;}();_0x4c1475['_']=_0x70d4ef,(_0x2505f4=function(){return _0x70d4ef;}[_0x1a4e('0x1')](_0x436452,_0x51447d,_0x436452,_0x1337bb))===_0xbd18f7||(_0x1337bb['exports']=_0x2505f4);}[_0x1a4e('0x1')](this));}['call'](this,_0x51447d(_0x1a4e('0xb07')),_0x51447d(_0x1a4e('0xa20'))(_0x440b30)));},'./node_modules/lodash/mergeWith.js':function(_0xf6cf3e,_0x13c3f3,_0x2c13d6){var _0x9596fa=_0x2c13d6(_0x1a4e('0x10f8')),_0x4695b0=_0x2c13d6(_0x1a4e('0x10f9'))(function(_0xf6cf3e,_0x13c3f3,_0x2c13d6,_0x4695b0){_0x9596fa(_0xf6cf3e,_0x13c3f3,_0x2c13d6,_0x4695b0);});_0xf6cf3e[_0x1a4e('0x0')]=_0x4695b0;},'./node_modules/lodash/noop.js':function(_0x4c2c67,_0x5a687e){_0x4c2c67[_0x1a4e('0x0')]=function(){};},'./node_modules/lodash/snakeCase.js':function(_0x56ec46,_0x30c70a,_0x3a72d2){var _0xb80edf=_0x3a72d2(_0x1a4e('0x10fa'))(function(_0x56ec46,_0x30c70a,_0x3a72d2){return _0x56ec46+(_0x3a72d2?'_':'')+_0x30c70a['toLowerCase']();});_0x56ec46[_0x1a4e('0x0')]=_0xb80edf;},'./node_modules/lodash/stubArray.js':function(_0x12d8a9,_0x36bd20){_0x12d8a9[_0x1a4e('0x0')]=function(){return[];};},'./node_modules/lodash/stubFalse.js':function(_0x4892d0,_0x456db5){_0x4892d0[_0x1a4e('0x0')]=function(){return!0x1;};},'./node_modules/lodash/toPlainObject.js':function(_0x461d45,_0x3a42f5,_0x43db5f){var _0x3cd8e0=_0x43db5f(_0x1a4e('0xf65')),_0x5a8737=_0x43db5f(_0x1a4e('0xf66'));_0x461d45['exports']=function(_0x461d45){return _0x3cd8e0(_0x461d45,_0x5a8737(_0x461d45));};},'./node_modules/lodash/toString.js':function(_0x2d9346,_0x23b057,_0x2b0370){var _0x4581ca=_0x2b0370('./node_modules/lodash/_baseToString.js');_0x2d9346[_0x1a4e('0x0')]=function(_0x2d9346){return null==_0x2d9346?'':_0x4581ca(_0x2d9346);};},'./node_modules/lodash/words.js':function(_0x25322e,_0x35f69f,_0x30125e){var _0x35a93d=_0x30125e(_0x1a4e('0x10fb')),_0x1dca21=_0x30125e(_0x1a4e('0x10fc')),_0x11bb84=_0x30125e('./node_modules/lodash/toString.js'),_0x3ccba7=_0x30125e(_0x1a4e('0x10fd'));_0x25322e[_0x1a4e('0x0')]=function(_0x25322e,_0x35f69f,_0x30125e){return _0x25322e=_0x11bb84(_0x25322e),void 0x0===(_0x35f69f=_0x30125e?void 0x0:_0x35f69f)?_0x1dca21(_0x25322e)?_0x3ccba7(_0x25322e):_0x35a93d(_0x25322e):_0x25322e['match'](_0x35f69f)||[];};},'./node_modules/md5.js/index.js':function(_0x5ac8e4,_0x313c91,_0x96f04f){'use strict';var _0xbaf3eb=_0x96f04f(_0x1a4e('0x863')),_0x3ce662=_0x96f04f('./node_modules/hash-base/index.js'),_0x25b239=_0x96f04f('./node_modules/safe-buffer/index.js')['Buffer'],_0x480293=new Array(0x10);function _0x59a3bf(){_0x3ce662['call'](this,0x40),this['_a']=0x67452301,this['_b']=0xefcdab89,this['_c']=0x98badcfe,this['_d']=0x10325476;}function _0x3b5e86(_0x5ac8e4,_0x313c91){return _0x5ac8e4<<_0x313c91|_0x5ac8e4>>>0x20-_0x313c91;}function _0x2a57a9(_0x5ac8e4,_0x313c91,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x480293){return _0x3b5e86(_0x5ac8e4+(_0x313c91&_0x96f04f|~_0x313c91&_0xbaf3eb)+_0x3ce662+_0x25b239|0x0,_0x480293)+_0x313c91|0x0;}function _0x5bfafa(_0x5ac8e4,_0x313c91,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x480293){return _0x3b5e86(_0x5ac8e4+(_0x313c91&_0xbaf3eb|_0x96f04f&~_0xbaf3eb)+_0x3ce662+_0x25b239|0x0,_0x480293)+_0x313c91|0x0;}function _0x5d98ec(_0x5ac8e4,_0x313c91,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x480293){return _0x3b5e86(_0x5ac8e4+(_0x313c91^_0x96f04f^_0xbaf3eb)+_0x3ce662+_0x25b239|0x0,_0x480293)+_0x313c91|0x0;}function _0x16d578(_0x5ac8e4,_0x313c91,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x480293){return _0x3b5e86(_0x5ac8e4+(_0x96f04f^(_0x313c91|~_0xbaf3eb))+_0x3ce662+_0x25b239|0x0,_0x480293)+_0x313c91|0x0;}_0xbaf3eb(_0x59a3bf,_0x3ce662),_0x59a3bf[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(){for(var _0x5ac8e4=_0x480293,_0x313c91=0x0;_0x313c91<0x10;++_0x313c91)_0x5ac8e4[_0x313c91]=this[_0x1a4e('0xda9')]['readInt32LE'](0x4*_0x313c91);var _0x96f04f=this['_a'],_0xbaf3eb=this['_b'],_0x3ce662=this['_c'],_0x25b239=this['_d'];_0x96f04f=_0x2a57a9(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0x0],0xd76aa478,0x7),_0x25b239=_0x2a57a9(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x1],0xe8c7b756,0xc),_0x3ce662=_0x2a57a9(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0x2],0x242070db,0x11),_0xbaf3eb=_0x2a57a9(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x3],0xc1bdceee,0x16),_0x96f04f=_0x2a57a9(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0x4],0xf57c0faf,0x7),_0x25b239=_0x2a57a9(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x5],0x4787c62a,0xc),_0x3ce662=_0x2a57a9(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0x6],0xa8304613,0x11),_0xbaf3eb=_0x2a57a9(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x7],0xfd469501,0x16),_0x96f04f=_0x2a57a9(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0x8],0x698098d8,0x7),_0x25b239=_0x2a57a9(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x9],0x8b44f7af,0xc),_0x3ce662=_0x2a57a9(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0xa],0xffff5bb1,0x11),_0xbaf3eb=_0x2a57a9(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0xb],0x895cd7be,0x16),_0x96f04f=_0x2a57a9(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0xc],0x6b901122,0x7),_0x25b239=_0x2a57a9(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0xd],0xfd987193,0xc),_0x3ce662=_0x2a57a9(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0xe],0xa679438e,0x11),_0x96f04f=_0x5bfafa(_0x96f04f,_0xbaf3eb=_0x2a57a9(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0xf],0x49b40821,0x16),_0x3ce662,_0x25b239,_0x5ac8e4[0x1],0xf61e2562,0x5),_0x25b239=_0x5bfafa(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x6],0xc040b340,0x9),_0x3ce662=_0x5bfafa(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0xb],0x265e5a51,0xe),_0xbaf3eb=_0x5bfafa(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x0],0xe9b6c7aa,0x14),_0x96f04f=_0x5bfafa(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0x5],0xd62f105d,0x5),_0x25b239=_0x5bfafa(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0xa],0x2441453,0x9),_0x3ce662=_0x5bfafa(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0xf],0xd8a1e681,0xe),_0xbaf3eb=_0x5bfafa(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x4],0xe7d3fbc8,0x14),_0x96f04f=_0x5bfafa(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0x9],0x21e1cde6,0x5),_0x25b239=_0x5bfafa(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0xe],0xc33707d6,0x9),_0x3ce662=_0x5bfafa(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0x3],0xf4d50d87,0xe),_0xbaf3eb=_0x5bfafa(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x8],0x455a14ed,0x14),_0x96f04f=_0x5bfafa(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0xd],0xa9e3e905,0x5),_0x25b239=_0x5bfafa(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x2],0xfcefa3f8,0x9),_0x3ce662=_0x5bfafa(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0x7],0x676f02d9,0xe),_0x96f04f=_0x5d98ec(_0x96f04f,_0xbaf3eb=_0x5bfafa(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0xc],0x8d2a4c8a,0x14),_0x3ce662,_0x25b239,_0x5ac8e4[0x5],0xfffa3942,0x4),_0x25b239=_0x5d98ec(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x8],0x8771f681,0xb),_0x3ce662=_0x5d98ec(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0xb],0x6d9d6122,0x10),_0xbaf3eb=_0x5d98ec(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0xe],0xfde5380c,0x17),_0x96f04f=_0x5d98ec(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0x1],0xa4beea44,0x4),_0x25b239=_0x5d98ec(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x4],0x4bdecfa9,0xb),_0x3ce662=_0x5d98ec(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0x7],0xf6bb4b60,0x10),_0xbaf3eb=_0x5d98ec(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0xa],0xbebfbc70,0x17),_0x96f04f=_0x5d98ec(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0xd],0x289b7ec6,0x4),_0x25b239=_0x5d98ec(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x0],0xeaa127fa,0xb),_0x3ce662=_0x5d98ec(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0x3],0xd4ef3085,0x10),_0xbaf3eb=_0x5d98ec(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x6],0x4881d05,0x17),_0x96f04f=_0x5d98ec(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0x9],0xd9d4d039,0x4),_0x25b239=_0x5d98ec(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0xc],0xe6db99e5,0xb),_0x3ce662=_0x5d98ec(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0xf],0x1fa27cf8,0x10),_0x96f04f=_0x16d578(_0x96f04f,_0xbaf3eb=_0x5d98ec(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x2],0xc4ac5665,0x17),_0x3ce662,_0x25b239,_0x5ac8e4[0x0],0xf4292244,0x6),_0x25b239=_0x16d578(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x7],0x432aff97,0xa),_0x3ce662=_0x16d578(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0xe],0xab9423a7,0xf),_0xbaf3eb=_0x16d578(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x5],0xfc93a039,0x15),_0x96f04f=_0x16d578(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0xc],0x655b59c3,0x6),_0x25b239=_0x16d578(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0x3],0x8f0ccc92,0xa),_0x3ce662=_0x16d578(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0xa],0xffeff47d,0xf),_0xbaf3eb=_0x16d578(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x1],0x85845dd1,0x15),_0x96f04f=_0x16d578(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0x8],0x6fa87e4f,0x6),_0x25b239=_0x16d578(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0xf],0xfe2ce6e0,0xa),_0x3ce662=_0x16d578(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0x6],0xa3014314,0xf),_0xbaf3eb=_0x16d578(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0xd],0x4e0811a1,0x15),_0x96f04f=_0x16d578(_0x96f04f,_0xbaf3eb,_0x3ce662,_0x25b239,_0x5ac8e4[0x4],0xf7537e82,0x6),_0x25b239=_0x16d578(_0x25b239,_0x96f04f,_0xbaf3eb,_0x3ce662,_0x5ac8e4[0xb],0xbd3af235,0xa),_0x3ce662=_0x16d578(_0x3ce662,_0x25b239,_0x96f04f,_0xbaf3eb,_0x5ac8e4[0x2],0x2ad7d2bb,0xf),_0xbaf3eb=_0x16d578(_0xbaf3eb,_0x3ce662,_0x25b239,_0x96f04f,_0x5ac8e4[0x9],0xeb86d391,0x15),this['_a']=this['_a']+_0x96f04f|0x0,this['_b']=this['_b']+_0xbaf3eb|0x0,this['_c']=this['_c']+_0x3ce662|0x0,this['_d']=this['_d']+_0x25b239|0x0;},_0x59a3bf['prototype'][_0x1a4e('0xdb1')]=function(){this[_0x1a4e('0xda9')][this[_0x1a4e('0xdab')]++]=0x80,this[_0x1a4e('0xdab')]>0x38&&(this['_block'][_0x1a4e('0x22c')](0x0,this[_0x1a4e('0xdab')],0x40),this[_0x1a4e('0xa74')](),this[_0x1a4e('0xdab')]=0x0),this['_block'][_0x1a4e('0x22c')](0x0,this['_blockOffset'],0x38),this[_0x1a4e('0xda9')][_0x1a4e('0xafb')](this[_0x1a4e('0xdb0')][0x0],0x38),this[_0x1a4e('0xda9')][_0x1a4e('0xafb')](this[_0x1a4e('0xdb0')][0x1],0x3c),this['_update']();var _0x5ac8e4=_0x25b239['allocUnsafe'](0x10);return _0x5ac8e4[_0x1a4e('0x10fe')](this['_a'],0x0),_0x5ac8e4[_0x1a4e('0x10fe')](this['_b'],0x4),_0x5ac8e4[_0x1a4e('0x10fe')](this['_c'],0x8),_0x5ac8e4[_0x1a4e('0x10fe')](this['_d'],0xc),_0x5ac8e4;},_0x5ac8e4[_0x1a4e('0x0')]=_0x59a3bf;},'./node_modules/miller-rabin/lib/mr.js':function(_0x1112bc,_0x2f65d7,_0x22f8ee){var _0x13301c=_0x22f8ee(_0x1a4e('0xaac')),_0x5afa63=_0x22f8ee(_0x1a4e('0xb9b'));function _0xe033c5(_0x1112bc){this[_0x1a4e('0xa21')]=_0x1112bc||new _0x5afa63[(_0x1a4e('0xa23'))]();}_0x1112bc[_0x1a4e('0x0')]=_0xe033c5,_0xe033c5['create']=function(_0x1112bc){return new _0xe033c5(_0x1112bc);},_0xe033c5[_0x1a4e('0xa')][_0x1a4e('0x10ff')]=function(_0x1112bc){var _0x2f65d7=_0x1112bc[_0x1a4e('0x9a6')](),_0x22f8ee=Math[_0x1a4e('0x6d')](_0x2f65d7/0x8);do{var _0x5afa63=new _0x13301c(this[_0x1a4e('0xa21')][_0x1a4e('0xa22')](_0x22f8ee));}while(_0x5afa63[_0x1a4e('0x97b')](_0x1112bc)>=0x0);return _0x5afa63;},_0xe033c5['prototype'][_0x1a4e('0x1100')]=function(_0x1112bc,_0x2f65d7){var _0x22f8ee=_0x2f65d7[_0x1a4e('0x16a')](_0x1112bc);return _0x1112bc[_0x1a4e('0x177')](this[_0x1a4e('0x10ff')](_0x22f8ee));},_0xe033c5['prototype'][_0x1a4e('0x8d0')]=function(_0x1112bc,_0x2f65d7,_0x22f8ee){var _0x5afa63=_0x1112bc[_0x1a4e('0x9a6')](),_0xe033c5=_0x13301c[_0x1a4e('0xa1f')](_0x1112bc),_0xc2012f=new _0x13301c(0x1)['toRed'](_0xe033c5);_0x2f65d7||(_0x2f65d7=Math[_0x1a4e('0x6c')](0x1,_0x5afa63/0x30|0x0));for(var _0x538aef=_0x1112bc[_0x1a4e('0x9d2')](0x1),_0x522e4f=0x0;!_0x538aef[_0x1a4e('0x9cd')](_0x522e4f);_0x522e4f++);for(var _0x27b917=_0x1112bc[_0x1a4e('0x9cb')](_0x522e4f),_0x137015=_0x538aef[_0x1a4e('0x9e8')](_0xe033c5);_0x2f65d7>0x0;_0x2f65d7--){var _0x4319d2=this[_0x1a4e('0x1100')](new _0x13301c(0x2),_0x538aef);_0x22f8ee&&_0x22f8ee(_0x4319d2);var _0x52b55e=_0x4319d2['toRed'](_0xe033c5)['redPow'](_0x27b917);if(0x0!==_0x52b55e[_0x1a4e('0x97b')](_0xc2012f)&&0x0!==_0x52b55e[_0x1a4e('0x97b')](_0x137015)){for(var _0x33b786=0x1;_0x33b786<_0x522e4f;_0x33b786++){if(0x0===(_0x52b55e=_0x52b55e[_0x1a4e('0x9ff')]())[_0x1a4e('0x97b')](_0xc2012f))return!0x1;if(0x0===_0x52b55e[_0x1a4e('0x97b')](_0x137015))break;}if(_0x33b786===_0x522e4f)return!0x1;}}return!0x0;},_0xe033c5[_0x1a4e('0xa')][_0x1a4e('0x1101')]=function(_0x1112bc,_0x2f65d7){var _0x22f8ee=_0x1112bc[_0x1a4e('0x9a6')](),_0x5afa63=_0x13301c['mont'](_0x1112bc),_0xe033c5=new _0x13301c(0x1)[_0x1a4e('0x9e8')](_0x5afa63);_0x2f65d7||(_0x2f65d7=Math[_0x1a4e('0x6c')](0x1,_0x22f8ee/0x30|0x0));for(var _0x4c8079=_0x1112bc[_0x1a4e('0x9d2')](0x1),_0x8f4318=0x0;!_0x4c8079[_0x1a4e('0x9cd')](_0x8f4318);_0x8f4318++);for(var _0x123fb0=_0x1112bc[_0x1a4e('0x9cb')](_0x8f4318),_0x40b316=_0x4c8079[_0x1a4e('0x9e8')](_0x5afa63);_0x2f65d7>0x0;_0x2f65d7--){var _0x1710ad=this[_0x1a4e('0x1100')](new _0x13301c(0x2),_0x4c8079),_0x435236=_0x1112bc[_0x1a4e('0xea8')](_0x1710ad);if(0x0!==_0x435236[_0x1a4e('0x9e0')](0x1))return _0x435236;var _0x35d2da=_0x1710ad[_0x1a4e('0x9e8')](_0x5afa63)[_0x1a4e('0xa92')](_0x123fb0);if(0x0!==_0x35d2da['cmp'](_0xe033c5)&&0x0!==_0x35d2da['cmp'](_0x40b316)){for(var _0xff6de9=0x1;_0xff6de9<_0x8f4318;_0xff6de9++){if(0x0===(_0x35d2da=_0x35d2da[_0x1a4e('0x9ff')]())['cmp'](_0xe033c5))return _0x35d2da['fromRed']()[_0x1a4e('0x9d2')](0x1)[_0x1a4e('0xea8')](_0x1112bc);if(0x0===_0x35d2da[_0x1a4e('0x97b')](_0x40b316))break;}if(_0xff6de9===_0x8f4318)return(_0x35d2da=_0x35d2da[_0x1a4e('0x9ff')]())['fromRed']()[_0x1a4e('0x9d2')](0x1)[_0x1a4e('0xea8')](_0x1112bc);}}return!0x1;};},'./node_modules/minimalistic-assert/index.js':function(_0x1a6739,_0x2379bc){function _0x5c401e(_0x1a6739,_0x2379bc){if(!_0x1a6739)throw new Error(_0x2379bc||'Assertion\x20failed');}_0x1a6739[_0x1a4e('0x0')]=_0x5c401e,_0x5c401e[_0x1a4e('0x39e')]=function(_0x1a6739,_0x2379bc,_0x5c401e){if(_0x1a6739!=_0x2379bc)throw new Error(_0x5c401e||_0x1a4e('0x1102')+_0x1a6739+_0x1a4e('0x1103')+_0x2379bc);};},'./node_modules/minimalistic-crypto-utils/lib/utils.js':function(_0x252a50,_0x31d793,_0x2940b7){'use strict';var _0x3cfc4e=_0x31d793;function _0x267426(_0x252a50){return 0x1===_0x252a50[_0x1a4e('0x1e')]?'0'+_0x252a50:_0x252a50;}function _0xf67847(_0x252a50){for(var _0x31d793='',_0x2940b7=0x0;_0x2940b7<_0x252a50['length'];_0x2940b7++)_0x31d793+=_0x267426(_0x252a50[_0x2940b7][_0x1a4e('0x95')](0x10));return _0x31d793;}_0x3cfc4e[_0x1a4e('0x347')]=function(_0x252a50,_0x31d793){if(Array[_0x1a4e('0x15')](_0x252a50))return _0x252a50[_0x1a4e('0x78')]();if(!_0x252a50)return[];var _0x2940b7=[];if(_0x1a4e('0x9')!=typeof _0x252a50){for(var _0x3cfc4e=0x0;_0x3cfc4e<_0x252a50[_0x1a4e('0x1e')];_0x3cfc4e++)_0x2940b7[_0x3cfc4e]=0x0|_0x252a50[_0x3cfc4e];return _0x2940b7;}if(_0x1a4e('0x823')===_0x31d793)for((_0x252a50=_0x252a50[_0x1a4e('0x115')](/[^a-z0-9]+/gi,''))[_0x1a4e('0x1e')]%0x2!=0x0&&(_0x252a50='0'+_0x252a50),_0x3cfc4e=0x0;_0x3cfc4e<_0x252a50['length'];_0x3cfc4e+=0x2)_0x2940b7[_0x1a4e('0x46')](parseInt(_0x252a50[_0x3cfc4e]+_0x252a50[_0x3cfc4e+0x1],0x10));else for(_0x3cfc4e=0x0;_0x3cfc4e<_0x252a50['length'];_0x3cfc4e++){var _0x267426=_0x252a50[_0x1a4e('0x913')](_0x3cfc4e),_0xf67847=_0x267426>>0x8,_0x5f45fb=0xff&_0x267426;_0xf67847?_0x2940b7[_0x1a4e('0x46')](_0xf67847,_0x5f45fb):_0x2940b7[_0x1a4e('0x46')](_0x5f45fb);}return _0x2940b7;},_0x3cfc4e['zero2']=_0x267426,_0x3cfc4e['toHex']=_0xf67847,_0x3cfc4e[_0x1a4e('0x86d')]=function(_0x252a50,_0x31d793){return _0x1a4e('0x823')===_0x31d793?_0xf67847(_0x252a50):_0x252a50;};},'./node_modules/parse-asn1/aesid.json':function(_0x2ca85e){_0x2ca85e['exports']=JSON[_0x1a4e('0x25a')](_0x1a4e('0x1104'));},'./node_modules/parse-asn1/asn1.js':function(_0x9ddb73,_0x53b896,_0x14a0d0){'use strict';var _0x168ac0=_0x14a0d0(_0x1a4e('0x8ef'));_0x53b896[_0x1a4e('0x1105')]=_0x14a0d0(_0x1a4e('0x1106'));var _0x3dfe95=_0x168ac0['define'](_0x1a4e('0x1107'),function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0xb98'))[_0x1a4e('0x88a')](),this['key']('modulus')[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')](_0x1a4e('0xa93'))[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')](_0x1a4e('0x1108'))[_0x1a4e('0x88a')](),this['key'](_0x1a4e('0xa95'))[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')](_0x1a4e('0xa96'))['int'](),this['key'](_0x1a4e('0xa97'))[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')](_0x1a4e('0xa98'))[_0x1a4e('0x88a')](),this['key']('coefficient')[_0x1a4e('0x88a')]());});_0x53b896[_0x1a4e('0x1107')]=_0x3dfe95;var _0x2afbf4=_0x168ac0[_0x1a4e('0x85d')](_0x1a4e('0x1109'),function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0xa91'))[_0x1a4e('0x88a')](),this['key'](_0x1a4e('0xa93'))[_0x1a4e('0x88a')]());});_0x53b896[_0x1a4e('0x1109')]=_0x2afbf4;var _0x488938=_0x168ac0[_0x1a4e('0x85d')](_0x1a4e('0x110a'),function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0xaba'))[_0x1a4e('0x895')](_0x83dc29),this[_0x1a4e('0x35f')](_0x1a4e('0x110b'))[_0x1a4e('0x8e8')]());});_0x53b896[_0x1a4e('0x110c')]=_0x488938;var _0x83dc29=_0x168ac0[_0x1a4e('0x85d')](_0x1a4e('0x110d'),function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0xaba'))[_0x1a4e('0x886')](),this['key'](_0x1a4e('0x60'))[_0x1a4e('0x8be')]()['optional'](),this[_0x1a4e('0x35f')](_0x1a4e('0xab0'))[_0x1a4e('0x886')]()[_0x1a4e('0x896')](),this[_0x1a4e('0x35f')]('params')[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')]('p')[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')]('q')['int'](),this['key']('g')[_0x1a4e('0x88a')]())[_0x1a4e('0x896')]());}),_0x4130c2=_0x168ac0[_0x1a4e('0x85d')](_0x1a4e('0x110e'),function(){this[_0x1a4e('0x884')]()['obj'](this['key']('version')['int'](),this[_0x1a4e('0x35f')](_0x1a4e('0xaba'))['use'](_0x83dc29),this[_0x1a4e('0x35f')](_0x1a4e('0x110f'))[_0x1a4e('0x8bb')]());});_0x53b896[_0x1a4e('0x1110')]=_0x4130c2;var _0x57fb76=_0x168ac0[_0x1a4e('0x85d')](_0x1a4e('0x1111'),function(){this['seq']()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0xaba'))['seq']()['obj'](this['key']('id')[_0x1a4e('0x886')](),this['key']('decrypt')[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0x1112'))[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')]('id')['objid'](),this[_0x1a4e('0x35f')](_0x1a4e('0x1113'))[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')]('salt')[_0x1a4e('0x8bb')](),this[_0x1a4e('0x35f')]('iters')[_0x1a4e('0x88a')]())),this[_0x1a4e('0x35f')](_0x1a4e('0x1114'))[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0x1115'))[_0x1a4e('0x886')](),this['key']('iv')[_0x1a4e('0x8bb')]()))),this[_0x1a4e('0x35f')](_0x1a4e('0x110f'))[_0x1a4e('0x8bb')]());});_0x53b896['EncryptedPrivateKey']=_0x57fb76;var _0x48e843=_0x168ac0[_0x1a4e('0x85d')](_0x1a4e('0x1116'),function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0xb98'))['int'](),this[_0x1a4e('0x35f')]('p')[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')]('q')['int'](),this[_0x1a4e('0x35f')]('g')[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')]('pub_key')[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')](_0x1a4e('0x1117'))[_0x1a4e('0x88a')]());});_0x53b896[_0x1a4e('0x1116')]=_0x48e843,_0x53b896[_0x1a4e('0x1118')]=_0x168ac0[_0x1a4e('0x85d')]('DSAparam',function(){this['int']();});var _0x4f1033=_0x168ac0[_0x1a4e('0x85d')](_0x1a4e('0x1119'),function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0xb98'))[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')]('privateKey')[_0x1a4e('0x8bb')](),this[_0x1a4e('0x35f')](_0x1a4e('0x111a'))['optional']()[_0x1a4e('0x897')](0x0)[_0x1a4e('0x895')](_0x31501c),this['key'](_0x1a4e('0x111b'))[_0x1a4e('0x896')]()[_0x1a4e('0x897')](0x1)[_0x1a4e('0x8e8')]());});_0x53b896[_0x1a4e('0x1119')]=_0x4f1033;var _0x31501c=_0x168ac0[_0x1a4e('0x85d')]('ECParameters',function(){this[_0x1a4e('0x89e')]({'namedCurve':this['objid']()});});_0x53b896[_0x1a4e('0xabc')]=_0x168ac0[_0x1a4e('0x85d')](_0x1a4e('0xabc'),function(){this['seq']()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')]('r')['int'](),this['key']('s')['int']());});},'./node_modules/parse-asn1/certificate.js':function(_0x356d10,_0x8a8e59,_0x15e298){'use strict';var _0x144d0f=_0x15e298(_0x1a4e('0x8ef')),_0x153e6d=_0x144d0f[_0x1a4e('0x85d')]('Time',function(){this[_0x1a4e('0x89e')]({'utcTime':this[_0x1a4e('0x8d2')](),'generalTime':this[_0x1a4e('0x888')]()});}),_0x18ab2e=_0x144d0f[_0x1a4e('0x85d')]('AttributeTypeValue',function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0x40'))[_0x1a4e('0x886')](),this[_0x1a4e('0x35f')](_0x1a4e('0x255'))[_0x1a4e('0x899')]());}),_0x21fcf6=_0x144d0f[_0x1a4e('0x85d')](_0x1a4e('0x110d'),function(){this[_0x1a4e('0x884')]()['obj'](this[_0x1a4e('0x35f')](_0x1a4e('0xaba'))['objid'](),this[_0x1a4e('0x35f')](_0x1a4e('0x111a'))['optional'](),this[_0x1a4e('0x35f')](_0x1a4e('0xab0'))['objid']()[_0x1a4e('0x896')]());}),_0x2f862e=_0x144d0f[_0x1a4e('0x85d')](_0x1a4e('0x110a'),function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0xaba'))[_0x1a4e('0x895')](_0x21fcf6),this[_0x1a4e('0x35f')]('subjectPublicKey')['bitstr']());}),_0x3eaee7=_0x144d0f[_0x1a4e('0x85d')](_0x1a4e('0x111c'),function(){this['setof'](_0x18ab2e);}),_0x608720=_0x144d0f['define'](_0x1a4e('0x111d'),function(){this['seqof'](_0x3eaee7);}),_0x4f71ac=_0x144d0f[_0x1a4e('0x85d')](_0x1a4e('0x111e'),function(){this[_0x1a4e('0x89e')]({'rdnSequence':this[_0x1a4e('0x895')](_0x608720)});}),_0x3c6de2=_0x144d0f[_0x1a4e('0x85d')](_0x1a4e('0x111f'),function(){this['seq']()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')]('notBefore')[_0x1a4e('0x895')](_0x153e6d),this[_0x1a4e('0x35f')]('notAfter')[_0x1a4e('0x895')](_0x153e6d));}),_0x4d7ab1=_0x144d0f[_0x1a4e('0x85d')]('Extension',function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')]('extnID')[_0x1a4e('0x886')](),this[_0x1a4e('0x35f')](_0x1a4e('0x1120'))[_0x1a4e('0x887')]()[_0x1a4e('0x1121')](!0x1),this[_0x1a4e('0x35f')](_0x1a4e('0x1122'))[_0x1a4e('0x8bb')]());}),_0x3afa68=_0x144d0f[_0x1a4e('0x85d')]('TBSCertificate',function(){this[_0x1a4e('0x884')]()[_0x1a4e('0x89f')](this['key'](_0x1a4e('0xb98'))[_0x1a4e('0x897')](0x0)['int']()['optional'](),this['key'](_0x1a4e('0x1123'))[_0x1a4e('0x88a')](),this[_0x1a4e('0x35f')]('signature')[_0x1a4e('0x895')](_0x21fcf6),this[_0x1a4e('0x35f')](_0x1a4e('0x1124'))[_0x1a4e('0x895')](_0x4f71ac),this[_0x1a4e('0x35f')]('validity')['use'](_0x3c6de2),this[_0x1a4e('0x35f')](_0x1a4e('0x1125'))[_0x1a4e('0x895')](_0x4f71ac),this['key'](_0x1a4e('0x1126'))[_0x1a4e('0x895')](_0x2f862e),this['key'](_0x1a4e('0x1127'))[_0x1a4e('0x898')](0x1)[_0x1a4e('0x8e8')]()['optional'](),this[_0x1a4e('0x35f')](_0x1a4e('0x1128'))[_0x1a4e('0x898')](0x2)[_0x1a4e('0x8e8')]()[_0x1a4e('0x896')](),this['key']('extensions')[_0x1a4e('0x897')](0x3)[_0x1a4e('0x8bd')](_0x4d7ab1)[_0x1a4e('0x896')]());}),_0x270340=_0x144d0f[_0x1a4e('0x85d')](_0x1a4e('0x1129'),function(){this['seq']()[_0x1a4e('0x89f')](this[_0x1a4e('0x35f')](_0x1a4e('0x112a'))[_0x1a4e('0x895')](_0x3afa68),this[_0x1a4e('0x35f')]('signatureAlgorithm')[_0x1a4e('0x895')](_0x21fcf6),this['key'](_0x1a4e('0x112b'))[_0x1a4e('0x8e8')]());});_0x356d10[_0x1a4e('0x0')]=_0x270340;},'./node_modules/parse-asn1/fixProc.js':function(_0x5526e0,_0x2f6a73,_0xdb5648){var _0x33d79d=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,_0x427eec=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,_0x4a0479=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,_0x16e5bb=_0xdb5648(_0x1a4e('0xa64')),_0x1c3eaa=_0xdb5648('./node_modules/browserify-aes/browser.js'),_0x2eb485=_0xdb5648(_0x1a4e('0xa2d'))[_0x1a4e('0x870')];_0x5526e0[_0x1a4e('0x0')]=function(_0x5526e0,_0x2f6a73){var _0xdb5648,_0x8e0493=_0x5526e0['toString'](),_0x52198a=_0x8e0493['match'](_0x33d79d);if(_0x52198a){var _0xf37ac5=_0x1a4e('0x112c')+_0x52198a[0x1],_0x1e179c=_0x2eb485['from'](_0x52198a[0x2],_0x1a4e('0x823')),_0x45be97=_0x2eb485[_0x1a4e('0x1b5')](_0x52198a[0x3][_0x1a4e('0x115')](/[\r\n]/g,''),_0x1a4e('0x90d')),_0x3a256c=_0x16e5bb(_0x2f6a73,_0x1e179c[_0x1a4e('0x78')](0x0,0x8),parseInt(_0x52198a[0x1],0xa))['key'],_0x4df4bb=[],_0x36c69d=_0x1c3eaa[_0x1a4e('0xa5d')](_0xf37ac5,_0x3a256c,_0x1e179c);_0x4df4bb['push'](_0x36c69d['update'](_0x45be97)),_0x4df4bb[_0x1a4e('0x46')](_0x36c69d[_0x1a4e('0xaa')]()),_0xdb5648=_0x2eb485[_0x1a4e('0x9a')](_0x4df4bb);}else{var _0x4832ff=_0x8e0493['match'](_0x4a0479);_0xdb5648=new _0x2eb485(_0x4832ff[0x2][_0x1a4e('0x115')](/[\r\n]/g,''),_0x1a4e('0x90d'));}return{'tag':_0x8e0493['match'](_0x427eec)[0x1],'data':_0xdb5648};};},'./node_modules/parse-asn1/index.js':function(_0x1c0fac,_0x5ba015,_0x2d17e8){var _0x39c848=_0x2d17e8(_0x1a4e('0x112d')),_0x3661d5=_0x2d17e8(_0x1a4e('0x112e')),_0x493003=_0x2d17e8(_0x1a4e('0x112f')),_0xc53082=_0x2d17e8(_0x1a4e('0xa82')),_0x561842=_0x2d17e8(_0x1a4e('0x1130')),_0x1b6c69=_0x2d17e8('./node_modules/safe-buffer/index.js')[_0x1a4e('0x870')];function _0x235136(_0x1c0fac){var _0x5ba015;_0x1a4e('0x85')!=typeof _0x1c0fac||_0x1b6c69[_0x1a4e('0x871')](_0x1c0fac)||(_0x5ba015=_0x1c0fac['passphrase'],_0x1c0fac=_0x1c0fac[_0x1a4e('0x35f')]),'string'==typeof _0x1c0fac&&(_0x1c0fac=_0x1b6c69[_0x1a4e('0x1b5')](_0x1c0fac));var _0x2d17e8,_0x235136,_0x30745a=_0x493003(_0x1c0fac,_0x5ba015),_0x2db447=_0x30745a['tag'],_0x56eeb3=_0x30745a[_0x1a4e('0x7f')];switch(_0x2db447){case _0x1a4e('0x1131'):_0x235136=_0x39c848[_0x1a4e('0x1105')][_0x1a4e('0x8f3')](_0x56eeb3,_0x1a4e('0x86c'))[_0x1a4e('0x112a')][_0x1a4e('0x1126')];case _0x1a4e('0x1132'):switch(_0x235136||(_0x235136=_0x39c848[_0x1a4e('0x110c')][_0x1a4e('0x8f3')](_0x56eeb3,_0x1a4e('0x86c'))),_0x2d17e8=_0x235136[_0x1a4e('0xaba')][_0x1a4e('0xaba')][_0x1a4e('0x9e')]('.')){case _0x1a4e('0x1133'):return _0x39c848[_0x1a4e('0x1109')][_0x1a4e('0x8f3')](_0x235136['subjectPublicKey']['data'],_0x1a4e('0x86c'));case _0x1a4e('0x1134'):return _0x235136[_0x1a4e('0x110f')]=_0x235136[_0x1a4e('0x110b')],{'type':'ec','data':_0x235136};case'1.2.840.10040.4.1':return _0x235136[_0x1a4e('0xaba')][_0x1a4e('0xab4')][_0x1a4e('0x1135')]=_0x39c848[_0x1a4e('0x1118')][_0x1a4e('0x8f3')](_0x235136[_0x1a4e('0x110b')][_0x1a4e('0x7f')],_0x1a4e('0x86c')),{'type':_0x1a4e('0xabb'),'data':_0x235136['algorithm'][_0x1a4e('0xab4')]};default:throw new Error('unknown\x20key\x20id\x20'+_0x2d17e8);}throw new Error(_0x1a4e('0x1136')+_0x2db447);case'ENCRYPTED\x20PRIVATE\x20KEY':_0x56eeb3=function(_0x1c0fac,_0x5ba015){var _0x2d17e8=_0x1c0fac['algorithm'][_0x1a4e('0xa6e')]['kde']['kdeparams'][_0x1a4e('0x1137')],_0x39c848=parseInt(_0x1c0fac['algorithm'][_0x1a4e('0xa6e')][_0x1a4e('0x1112')][_0x1a4e('0x1113')][_0x1a4e('0x1138')][_0x1a4e('0x95')](),0xa),_0x493003=_0x3661d5[_0x1c0fac[_0x1a4e('0xaba')][_0x1a4e('0xa6e')][_0x1a4e('0x1114')][_0x1a4e('0x1115')][_0x1a4e('0x9e')]('.')],_0x235136=_0x1c0fac[_0x1a4e('0xaba')][_0x1a4e('0xa6e')][_0x1a4e('0x1114')]['iv'],_0x30745a=_0x1c0fac[_0x1a4e('0x110f')],_0x2db447=parseInt(_0x493003[_0x1a4e('0x2be')]('-')[0x1],0xa)/0x8,_0x56eeb3=_0x561842[_0x1a4e('0xb4f')](_0x5ba015,_0x2d17e8,_0x39c848,_0x2db447,_0x1a4e('0xb4b')),_0xaa3df2=_0xc53082['createDecipheriv'](_0x493003,_0x56eeb3,_0x235136),_0x4a9ac4=[];return _0x4a9ac4[_0x1a4e('0x46')](_0xaa3df2['update'](_0x30745a)),_0x4a9ac4[_0x1a4e('0x46')](_0xaa3df2[_0x1a4e('0xaa')]()),_0x1b6c69[_0x1a4e('0x9a')](_0x4a9ac4);}(_0x56eeb3=_0x39c848['EncryptedPrivateKey']['decode'](_0x56eeb3,'der'),_0x5ba015);case _0x1a4e('0x1139'):switch(_0x2d17e8=(_0x235136=_0x39c848['PrivateKey'][_0x1a4e('0x8f3')](_0x56eeb3,_0x1a4e('0x86c')))[_0x1a4e('0xaba')][_0x1a4e('0xaba')][_0x1a4e('0x9e')]('.')){case _0x1a4e('0x1133'):return _0x39c848[_0x1a4e('0x1107')]['decode'](_0x235136[_0x1a4e('0x110f')],_0x1a4e('0x86c'));case _0x1a4e('0x1134'):return{'curve':_0x235136[_0x1a4e('0xaba')]['curve'],'privateKey':_0x39c848[_0x1a4e('0x1119')]['decode'](_0x235136['subjectPrivateKey'],_0x1a4e('0x86c'))[_0x1a4e('0x113a')]};case _0x1a4e('0x113b'):return _0x235136[_0x1a4e('0xaba')][_0x1a4e('0xab4')][_0x1a4e('0x1117')]=_0x39c848[_0x1a4e('0x1118')][_0x1a4e('0x8f3')](_0x235136['subjectPrivateKey'],'der'),{'type':_0x1a4e('0xabb'),'params':_0x235136['algorithm'][_0x1a4e('0xab4')]};default:throw new Error(_0x1a4e('0x113c')+_0x2d17e8);}throw new Error(_0x1a4e('0x1136')+_0x2db447);case _0x1a4e('0x113d'):return _0x39c848[_0x1a4e('0x1109')][_0x1a4e('0x8f3')](_0x56eeb3,_0x1a4e('0x86c'));case'RSA\x20PRIVATE\x20KEY':return _0x39c848['RSAPrivateKey'][_0x1a4e('0x8f3')](_0x56eeb3,_0x1a4e('0x86c'));case _0x1a4e('0x113e'):return{'type':_0x1a4e('0xabb'),'params':_0x39c848[_0x1a4e('0x1116')][_0x1a4e('0x8f3')](_0x56eeb3,_0x1a4e('0x86c'))};case _0x1a4e('0x113f'):return{'curve':(_0x56eeb3=_0x39c848[_0x1a4e('0x1119')]['decode'](_0x56eeb3,_0x1a4e('0x86c')))[_0x1a4e('0x111a')][_0x1a4e('0x255')],'privateKey':_0x56eeb3[_0x1a4e('0x113a')]};default:throw new Error(_0x1a4e('0x1136')+_0x2db447);}}_0x1c0fac[_0x1a4e('0x0')]=_0x235136,_0x235136['signature']=_0x39c848['signature'];},'./node_modules/path-browserify/index.js':function(_0x363888,_0x1f8505,_0x1f4e9d){(function(_0x363888){function _0x1f4e9d(_0x363888,_0x1f8505){for(var _0x1f4e9d=0x0,_0x2331b5=_0x363888['length']-0x1;_0x2331b5>=0x0;_0x2331b5--){var _0x298a8b=_0x363888[_0x2331b5];'.'===_0x298a8b?_0x363888[_0x1a4e('0x8a')](_0x2331b5,0x1):'..'===_0x298a8b?(_0x363888[_0x1a4e('0x8a')](_0x2331b5,0x1),_0x1f4e9d++):_0x1f4e9d&&(_0x363888[_0x1a4e('0x8a')](_0x2331b5,0x1),_0x1f4e9d--);}if(_0x1f8505)for(;_0x1f4e9d--;_0x1f4e9d)_0x363888['unshift']('..');return _0x363888;}function _0x21ad34(_0x363888,_0x1f8505){if(_0x363888[_0x1a4e('0xd9')])return _0x363888[_0x1a4e('0xd9')](_0x1f8505);for(var _0x1f4e9d=[],_0x21ad34=0x0;_0x21ad34<_0x363888['length'];_0x21ad34++)_0x1f8505(_0x363888[_0x21ad34],_0x21ad34,_0x363888)&&_0x1f4e9d[_0x1a4e('0x46')](_0x363888[_0x21ad34]);return _0x1f4e9d;}_0x1f8505['resolve']=function(){for(var _0x1f8505='',_0x194682=!0x1,_0x535257=arguments['length']-0x1;_0x535257>=-0x1&&!_0x194682;_0x535257--){var _0xb4c16e=_0x535257>=0x0?arguments[_0x535257]:_0x363888[_0x1a4e('0x1140')]();if(_0x1a4e('0x9')!=typeof _0xb4c16e)throw new TypeError(_0x1a4e('0x1141'));_0xb4c16e&&(_0x1f8505=_0xb4c16e+'/'+_0x1f8505,_0x194682='/'===_0xb4c16e[_0x1a4e('0x278')](0x0));}return(_0x194682?'/':'')+(_0x1f8505=_0x1f4e9d(_0x21ad34(_0x1f8505[_0x1a4e('0x2be')]('/'),function(_0x363888){return!!_0x363888;}),!_0x194682)[_0x1a4e('0x9e')]('/'))||'.';},_0x1f8505[_0x1a4e('0x330')]=function(_0x363888){var _0xb76508=_0x1f8505[_0x1a4e('0x1142')](_0x363888),_0x277ddc='/'===_0xc44b70(_0x363888,-0x1);return(_0x363888=_0x1f4e9d(_0x21ad34(_0x363888[_0x1a4e('0x2be')]('/'),function(_0x363888){return!!_0x363888;}),!_0xb76508)[_0x1a4e('0x9e')]('/'))||_0xb76508||(_0x363888='.'),_0x363888&&_0x277ddc&&(_0x363888+='/'),(_0xb76508?'/':'')+_0x363888;},_0x1f8505[_0x1a4e('0x1142')]=function(_0x363888){return'/'===_0x363888[_0x1a4e('0x278')](0x0);},_0x1f8505['join']=function(){var _0x363888=Array[_0x1a4e('0xa')]['slice'][_0x1a4e('0x1')](arguments,0x0);return _0x1f8505[_0x1a4e('0x330')](_0x21ad34(_0x363888,function(_0x363888,_0x1f8505){if(_0x1a4e('0x9')!=typeof _0x363888)throw new TypeError('Arguments\x20to\x20path.join\x20must\x20be\x20strings');return _0x363888;})[_0x1a4e('0x9e')]('/'));},_0x1f8505[_0x1a4e('0x1143')]=function(_0x363888,_0x1f4e9d){function _0x21ad34(_0x363888){for(var _0x1f8505=0x0;_0x1f8505<_0x363888[_0x1a4e('0x1e')]&&''===_0x363888[_0x1f8505];_0x1f8505++);for(var _0x1f4e9d=_0x363888[_0x1a4e('0x1e')]-0x1;_0x1f4e9d>=0x0&&''===_0x363888[_0x1f4e9d];_0x1f4e9d--);return _0x1f8505>_0x1f4e9d?[]:_0x363888[_0x1a4e('0x78')](_0x1f8505,_0x1f4e9d-_0x1f8505+0x1);}_0x363888=_0x1f8505[_0x1a4e('0xe20')](_0x363888)[_0x1a4e('0x254')](0x1),_0x1f4e9d=_0x1f8505[_0x1a4e('0xe20')](_0x1f4e9d)['substr'](0x1);for(var _0x2f98b3=_0x21ad34(_0x363888[_0x1a4e('0x2be')]('/')),_0x5f1d23=_0x21ad34(_0x1f4e9d[_0x1a4e('0x2be')]('/')),_0x483e3b=Math[_0x1a4e('0x74')](_0x2f98b3[_0x1a4e('0x1e')],_0x5f1d23['length']),_0x19bb87=_0x483e3b,_0x14053c=0x0;_0x14053c<_0x483e3b;_0x14053c++)if(_0x2f98b3[_0x14053c]!==_0x5f1d23[_0x14053c]){_0x19bb87=_0x14053c;break;}var _0x29d0f2=[];for(_0x14053c=_0x19bb87;_0x14053c<_0x2f98b3[_0x1a4e('0x1e')];_0x14053c++)_0x29d0f2[_0x1a4e('0x46')]('..');return(_0x29d0f2=_0x29d0f2[_0x1a4e('0x9a')](_0x5f1d23[_0x1a4e('0x78')](_0x19bb87)))['join']('/');},_0x1f8505[_0x1a4e('0x1144')]='/',_0x1f8505[_0x1a4e('0x1145')]=':',_0x1f8505['dirname']=function(_0x363888){if(_0x1a4e('0x9')!=typeof _0x363888&&(_0x363888+=''),0x0===_0x363888['length'])return'.';for(var _0x1f8505=_0x363888[_0x1a4e('0x913')](0x0),_0x1f4e9d=0x2f===_0x1f8505,_0x21ad34=-0x1,_0xff49ae=!0x0,_0x282766=_0x363888['length']-0x1;_0x282766>=0x1;--_0x282766)if(0x2f===(_0x1f8505=_0x363888[_0x1a4e('0x913')](_0x282766))){if(!_0xff49ae){_0x21ad34=_0x282766;break;}}else _0xff49ae=!0x1;return-0x1===_0x21ad34?_0x1f4e9d?'/':'.':_0x1f4e9d&&0x1===_0x21ad34?'/':_0x363888[_0x1a4e('0x78')](0x0,_0x21ad34);},_0x1f8505['basename']=function(_0x363888,_0x1f8505){var _0x1f4e9d=function(_0x363888){_0x1a4e('0x9')!=typeof _0x363888&&(_0x363888+='');var _0x1f8505,_0x1f4e9d=0x0,_0x21ad34=-0x1,_0x3c7211=!0x0;for(_0x1f8505=_0x363888[_0x1a4e('0x1e')]-0x1;_0x1f8505>=0x0;--_0x1f8505)if(0x2f===_0x363888[_0x1a4e('0x913')](_0x1f8505)){if(!_0x3c7211){_0x1f4e9d=_0x1f8505+0x1;break;}}else-0x1===_0x21ad34&&(_0x3c7211=!0x1,_0x21ad34=_0x1f8505+0x1);return-0x1===_0x21ad34?'':_0x363888[_0x1a4e('0x78')](_0x1f4e9d,_0x21ad34);}(_0x363888);return _0x1f8505&&_0x1f4e9d[_0x1a4e('0x254')](-0x1*_0x1f8505[_0x1a4e('0x1e')])===_0x1f8505&&(_0x1f4e9d=_0x1f4e9d[_0x1a4e('0x254')](0x0,_0x1f4e9d['length']-_0x1f8505[_0x1a4e('0x1e')])),_0x1f4e9d;},_0x1f8505[_0x1a4e('0x1146')]=function(_0x363888){_0x1a4e('0x9')!=typeof _0x363888&&(_0x363888+='');for(var _0x1f8505=-0x1,_0x1f4e9d=0x0,_0x21ad34=-0x1,_0x2b2377=!0x0,_0x2aec39=0x0,_0x5c89f7=_0x363888[_0x1a4e('0x1e')]-0x1;_0x5c89f7>=0x0;--_0x5c89f7){var _0x20f97f=_0x363888[_0x1a4e('0x913')](_0x5c89f7);if(0x2f!==_0x20f97f)-0x1===_0x21ad34&&(_0x2b2377=!0x1,_0x21ad34=_0x5c89f7+0x1),0x2e===_0x20f97f?-0x1===_0x1f8505?_0x1f8505=_0x5c89f7:0x1!==_0x2aec39&&(_0x2aec39=0x1):-0x1!==_0x1f8505&&(_0x2aec39=-0x1);else if(!_0x2b2377){_0x1f4e9d=_0x5c89f7+0x1;break;}}return-0x1===_0x1f8505||-0x1===_0x21ad34||0x0===_0x2aec39||0x1===_0x2aec39&&_0x1f8505===_0x21ad34-0x1&&_0x1f8505===_0x1f4e9d+0x1?'':_0x363888[_0x1a4e('0x78')](_0x1f8505,_0x21ad34);};var _0xc44b70='b'==='ab'[_0x1a4e('0x254')](-0x1)?function(_0x363888,_0x1f8505,_0x1f4e9d){return _0x363888[_0x1a4e('0x254')](_0x1f8505,_0x1f4e9d);}:function(_0x363888,_0x1f8505,_0x1f4e9d){return _0x1f8505<0x0&&(_0x1f8505=_0x363888[_0x1a4e('0x1e')]+_0x1f8505),_0x363888[_0x1a4e('0x254')](_0x1f8505,_0x1f4e9d);};}[_0x1a4e('0x1')](this,_0x1f4e9d('./node_modules/process/browser.js')));},'./node_modules/pbkdf2/browser.js':function(_0xf4c84c,_0x202cdb,_0x21de02){_0x202cdb[_0x1a4e('0xb4e')]=_0x21de02(_0x1a4e('0x1147')),_0x202cdb[_0x1a4e('0xb4f')]=_0x21de02(_0x1a4e('0x1148'));},'./node_modules/pbkdf2/lib/async.js':function(_0x34386d,_0x49c83b,_0x40bc28){(function(_0x49c83b,_0x52b83f){var _0x2988d6,_0x3021bb=_0x40bc28('./node_modules/pbkdf2/lib/precondition.js'),_0x1a6b98=_0x40bc28(_0x1a4e('0x1149')),_0x21e241=_0x40bc28(_0x1a4e('0x1148')),_0x3458b5=_0x40bc28('./node_modules/safe-buffer/index.js')[_0x1a4e('0x870')],_0xabbbbe=_0x49c83b[_0x1a4e('0xa27')]&&_0x49c83b['crypto'][_0x1a4e('0x114a')],_0x116c41={'sha':_0x1a4e('0x114b'),'sha-1':_0x1a4e('0x114b'),'sha1':_0x1a4e('0x114b'),'sha256':_0x1a4e('0x114c'),'sha-256':'SHA-256','sha384':_0x1a4e('0x114d'),'sha-384':'SHA-384','sha-512':'SHA-512','sha512':_0x1a4e('0x114e')},_0x5cb473=[];function _0x22bbab(_0x34386d,_0x49c83b,_0x40bc28,_0x52b83f,_0x2988d6){return _0xabbbbe[_0x1a4e('0x114f')]('raw',_0x34386d,{'name':_0x1a4e('0x1150')},!0x1,[_0x1a4e('0x1151')])[_0x1a4e('0xdf8')](function(_0x34386d){return _0xabbbbe[_0x1a4e('0x1151')]({'name':_0x1a4e('0x1150'),'salt':_0x49c83b,'iterations':_0x40bc28,'hash':{'name':_0x2988d6}},_0x34386d,_0x52b83f<<0x3);})['then'](function(_0x34386d){return _0x3458b5[_0x1a4e('0x1b5')](_0x34386d);});}_0x34386d[_0x1a4e('0x0')]=function(_0x34386d,_0x40bc28,_0x1deebf,_0x4c54fb,_0x9e4212,_0x122404){_0x1a4e('0x68')==typeof _0x9e4212&&(_0x122404=_0x9e4212,_0x9e4212=void 0x0);var _0x42391d=_0x116c41[(_0x9e4212=_0x9e4212||_0x1a4e('0xb4b'))['toLowerCase']()];if(!_0x42391d||_0x1a4e('0x68')!=typeof _0x49c83b[_0x1a4e('0xf55')])return _0x52b83f[_0x1a4e('0x1152')](function(){var _0x49c83b;try{_0x49c83b=_0x21e241(_0x34386d,_0x40bc28,_0x1deebf,_0x4c54fb,_0x9e4212);}catch(_0x1e566){return _0x122404(_0x1e566);}_0x122404(null,_0x49c83b);});if(_0x3021bb(_0x34386d,_0x40bc28,_0x1deebf,_0x4c54fb),'function'!=typeof _0x122404)throw new Error(_0x1a4e('0x1153'));_0x3458b5['isBuffer'](_0x34386d)||(_0x34386d=_0x3458b5[_0x1a4e('0x1b5')](_0x34386d,_0x1a6b98)),_0x3458b5[_0x1a4e('0x871')](_0x40bc28)||(_0x40bc28=_0x3458b5['from'](_0x40bc28,_0x1a6b98)),function(_0x34386d,_0x49c83b){_0x34386d[_0x1a4e('0xdf8')](function(_0x34386d){_0x52b83f[_0x1a4e('0x1152')](function(){_0x49c83b(null,_0x34386d);});},function(_0x34386d){_0x52b83f[_0x1a4e('0x1152')](function(){_0x49c83b(_0x34386d);});});}(function(_0x34386d){if(_0x49c83b['process']&&!_0x49c83b[_0x1a4e('0x1154')][_0x1a4e('0x1155')])return Promise['resolve'](!0x1);if(!_0xabbbbe||!_0xabbbbe[_0x1a4e('0x114f')]||!_0xabbbbe['deriveBits'])return Promise[_0x1a4e('0xe20')](!0x1);if(void 0x0!==_0x5cb473[_0x34386d])return _0x5cb473[_0x34386d];var _0x40bc28=_0x22bbab(_0x2988d6=_0x2988d6||_0x3458b5[_0x1a4e('0xa43')](0x8),_0x2988d6,0xa,0x80,_0x34386d)[_0x1a4e('0xdf8')](function(){return!0x0;})['catch'](function(){return!0x1;});return _0x5cb473[_0x34386d]=_0x40bc28,_0x40bc28;}(_0x42391d)[_0x1a4e('0xdf8')](function(_0x49c83b){return _0x49c83b?_0x22bbab(_0x34386d,_0x40bc28,_0x1deebf,_0x4c54fb,_0x42391d):_0x21e241(_0x34386d,_0x40bc28,_0x1deebf,_0x4c54fb,_0x9e4212);}),_0x122404);};}[_0x1a4e('0x1')](this,_0x40bc28('./node_modules/webpack/buildin/global.js'),_0x40bc28('./node_modules/process/browser.js')));},'./node_modules/pbkdf2/lib/default-encoding.js':function(_0x40f7f4,_0x40994e,_0x38d7d3){(function(_0x40994e){var _0x38d7d3;_0x40994e[_0x1a4e('0x1155')]?_0x38d7d3='utf-8':_0x38d7d3=parseInt(_0x40994e[_0x1a4e('0xb98')][_0x1a4e('0x2be')]('.')[0x0]['slice'](0x1),0xa)>=0x6?_0x1a4e('0xad1'):_0x1a4e('0xacc');_0x40f7f4[_0x1a4e('0x0')]=_0x38d7d3;}[_0x1a4e('0x1')](this,_0x38d7d3(_0x1a4e('0x1156'))));},'./node_modules/pbkdf2/lib/precondition.js':function(_0x327ed6,_0x123826,_0x31a633){(function(_0x123826){var _0x31a633=Math[_0x1a4e('0x8e')](0x2,0x1e)-0x1;function _0x444b40(_0x327ed6,_0x31a633){if(_0x1a4e('0x9')!=typeof _0x327ed6&&!_0x123826[_0x1a4e('0x871')](_0x327ed6))throw new TypeError(_0x31a633+_0x1a4e('0x1157'));}_0x327ed6['exports']=function(_0x327ed6,_0x123826,_0x4b1344,_0x4f5ffa){if(_0x444b40(_0x327ed6,_0x1a4e('0x1158')),_0x444b40(_0x123826,_0x1a4e('0x1159')),_0x1a4e('0x3d')!=typeof _0x4b1344)throw new TypeError(_0x1a4e('0x115a'));if(_0x4b1344<0x0)throw new TypeError(_0x1a4e('0x115b'));if(_0x1a4e('0x3d')!=typeof _0x4f5ffa)throw new TypeError(_0x1a4e('0x115c'));if(_0x4f5ffa<0x0||_0x4f5ffa>_0x31a633||_0x4f5ffa!=_0x4f5ffa)throw new TypeError(_0x1a4e('0x115d'));};}[_0x1a4e('0x1')](this,_0x31a633('./node_modules/buffer/index.js')[_0x1a4e('0x870')]));},'./node_modules/pbkdf2/lib/sync-browser.js':function(_0xd83e70,_0x16ef28,_0x4d61d7){var _0x4d6a38=_0x4d61d7(_0x1a4e('0x115e')),_0x358c02=_0x4d61d7('./node_modules/ripemd160/index.js'),_0x3eccec=_0x4d61d7(_0x1a4e('0xb3b')),_0x2484b6=_0x4d61d7(_0x1a4e('0x115f')),_0x582671=_0x4d61d7(_0x1a4e('0x1149')),_0x161358=_0x4d61d7('./node_modules/safe-buffer/index.js')[_0x1a4e('0x870')],_0x2096ea=_0x161358[_0x1a4e('0xa43')](0x80),_0x36919d={'md5':0x10,'sha1':0x14,'sha224':0x1c,'sha256':0x20,'sha384':0x30,'sha512':0x40,'rmd160':0x14,'ripemd160':0x14};function _0x1ae476(_0xd83e70,_0x16ef28,_0x4d61d7){var _0x2484b6=function(_0xd83e70){return _0x1a4e('0xb3d')===_0xd83e70||'ripemd160'===_0xd83e70?function(_0xd83e70){return new _0x358c02()[_0x1a4e('0x937')](_0xd83e70)['digest']();}:'md5'===_0xd83e70?_0x4d6a38:function(_0x16ef28){return _0x3eccec(_0xd83e70)[_0x1a4e('0x937')](_0x16ef28)[_0x1a4e('0xaa9')]();};}(_0xd83e70),_0x582671=_0x1a4e('0xb3f')===_0xd83e70||_0x1a4e('0xb40')===_0xd83e70?0x80:0x40;_0x16ef28['length']>_0x582671?_0x16ef28=_0x2484b6(_0x16ef28):_0x16ef28['length']<_0x582671&&(_0x16ef28=_0x161358[_0x1a4e('0x9a')]([_0x16ef28,_0x2096ea],_0x582671));for(var _0x1ae476=_0x161358[_0x1a4e('0xa3c')](_0x582671+_0x36919d[_0xd83e70]),_0x594857=_0x161358['allocUnsafe'](_0x582671+_0x36919d[_0xd83e70]),_0x97dbb6=0x0;_0x97dbb6<_0x582671;_0x97dbb6++)_0x1ae476[_0x97dbb6]=0x36^_0x16ef28[_0x97dbb6],_0x594857[_0x97dbb6]=0x5c^_0x16ef28[_0x97dbb6];var _0x3c64dd=_0x161358[_0x1a4e('0xa3c')](_0x582671+_0x4d61d7+0x4);_0x1ae476[_0x1a4e('0xea')](_0x3c64dd,0x0,0x0,_0x582671),this[_0x1a4e('0x1160')]=_0x3c64dd,this['ipad2']=_0x1ae476,this[_0x1a4e('0x1161')]=_0x594857,this[_0x1a4e('0x1162')]=_0xd83e70,this['blocksize']=_0x582671,this[_0x1a4e('0xaa4')]=_0x2484b6,this[_0x1a4e('0x220')]=_0x36919d[_0xd83e70];}_0x1ae476[_0x1a4e('0xa')][_0x1a4e('0x1f3')]=function(_0xd83e70,_0x16ef28){return _0xd83e70[_0x1a4e('0xea')](_0x16ef28,this[_0x1a4e('0x1163')]),this['hash'](_0x16ef28)[_0x1a4e('0xea')](this[_0x1a4e('0x1161')],this[_0x1a4e('0x1163')]),this[_0x1a4e('0xaa4')](this[_0x1a4e('0x1161')]);},_0xd83e70[_0x1a4e('0x0')]=function(_0xd83e70,_0x16ef28,_0x4d61d7,_0x4d6a38,_0x358c02){_0x2484b6(_0xd83e70,_0x16ef28,_0x4d61d7,_0x4d6a38),_0x161358[_0x1a4e('0x871')](_0xd83e70)||(_0xd83e70=_0x161358[_0x1a4e('0x1b5')](_0xd83e70,_0x582671)),_0x161358[_0x1a4e('0x871')](_0x16ef28)||(_0x16ef28=_0x161358[_0x1a4e('0x1b5')](_0x16ef28,_0x582671));var _0x3eccec=new _0x1ae476(_0x358c02=_0x358c02||_0x1a4e('0xb4b'),_0xd83e70,_0x16ef28[_0x1a4e('0x1e')]),_0x2096ea=_0x161358[_0x1a4e('0xa3c')](_0x4d6a38),_0x463f52=_0x161358[_0x1a4e('0xa3c')](_0x16ef28[_0x1a4e('0x1e')]+0x4);_0x16ef28['copy'](_0x463f52,0x0,0x0,_0x16ef28[_0x1a4e('0x1e')]);for(var _0x50d788=0x0,_0x2b1863=_0x36919d[_0x358c02],_0x7e111e=Math[_0x1a4e('0x6d')](_0x4d6a38/_0x2b1863),_0x225445=0x1;_0x225445<=_0x7e111e;_0x225445++){_0x463f52[_0x1a4e('0xa39')](_0x225445,_0x16ef28[_0x1a4e('0x1e')]);for(var _0x10c112=_0x3eccec[_0x1a4e('0x1f3')](_0x463f52,_0x3eccec[_0x1a4e('0x1160')]),_0x3ef1e1=_0x10c112,_0xe34ef2=0x1;_0xe34ef2<_0x4d61d7;_0xe34ef2++){_0x3ef1e1=_0x3eccec['run'](_0x3ef1e1,_0x3eccec[_0x1a4e('0x1164')]);for(var _0x32d9a7=0x0;_0x32d9a7<_0x2b1863;_0x32d9a7++)_0x10c112[_0x32d9a7]^=_0x3ef1e1[_0x32d9a7];}_0x10c112[_0x1a4e('0xea')](_0x2096ea,_0x50d788),_0x50d788+=_0x2b1863;}return _0x2096ea;};},'./node_modules/piexifjs/piexif.js':function(_0x54808a,_0x1820ea,_0x3b56de){!function(){'use strict';var _0x3b56de={};function _0x541778(_0x54808a){return _0x3c61ef('>'+_0x54d411('B',_0x54808a[_0x1a4e('0x1e')]),_0x54808a);}function _0x56f0e3(_0x54808a){return _0x3c61ef('>'+_0x54d411('H',_0x54808a[_0x1a4e('0x1e')]),_0x54808a);}function _0x35c37d(_0x54808a){return _0x3c61ef('>'+_0x54d411('L',_0x54808a[_0x1a4e('0x1e')]),_0x54808a);}function _0xdb83a1(_0x54808a,_0x1820ea,_0x3b56de){var _0xdb83a1,_0x7f90e2,_0x5f09f9,_0x4ca370,_0x2810b9='',_0x48f58e='';if(_0x1a4e('0x1165')==_0x1820ea)(_0xdb83a1=_0x54808a[_0x1a4e('0x1e')])<=0x4?_0x48f58e=_0x541778(_0x54808a)+_0x54d411('',0x4-_0xdb83a1):(_0x48f58e=_0x3c61ef('>L',[_0x3b56de]),_0x2810b9=_0x541778(_0x54808a));else if(_0x1a4e('0x1166')==_0x1820ea)(_0xdb83a1=_0x54808a[_0x1a4e('0x1e')])<=0x2?_0x48f58e=_0x56f0e3(_0x54808a)+_0x54d411('',0x2-_0xdb83a1):(_0x48f58e=_0x3c61ef('>L',[_0x3b56de]),_0x2810b9=_0x56f0e3(_0x54808a));else if(_0x1a4e('0x1167')==_0x1820ea)(_0xdb83a1=_0x54808a[_0x1a4e('0x1e')])<=0x1?_0x48f58e=_0x35c37d(_0x54808a):(_0x48f58e=_0x3c61ef('>L',[_0x3b56de]),_0x2810b9=_0x35c37d(_0x54808a));else if(_0x1a4e('0x1168')==_0x1820ea)(_0xdb83a1=(_0x7f90e2=_0x54808a+'')[_0x1a4e('0x1e')])>0x4?(_0x48f58e=_0x3c61ef('>L',[_0x3b56de]),_0x2810b9=_0x7f90e2):_0x48f58e=_0x7f90e2+_0x54d411('',0x4-_0xdb83a1);else if(_0x1a4e('0x1169')==_0x1820ea){if(_0x1a4e('0x3d')==typeof _0x54808a[0x0])_0xdb83a1=0x1,_0x5f09f9=_0x54808a[0x0],_0x4ca370=_0x54808a[0x1],_0x7f90e2=_0x3c61ef('>L',[_0x5f09f9])+_0x3c61ef('>L',[_0x4ca370]);else{_0xdb83a1=_0x54808a['length'],_0x7f90e2='';for(var _0x5bc8e8=0x0;_0x5bc8e8<_0xdb83a1;_0x5bc8e8++)_0x5f09f9=_0x54808a[_0x5bc8e8][0x0],_0x4ca370=_0x54808a[_0x5bc8e8][0x1],_0x7f90e2+=_0x3c61ef('>L',[_0x5f09f9])+_0x3c61ef('>L',[_0x4ca370]);}_0x48f58e=_0x3c61ef('>L',[_0x3b56de]),_0x2810b9=_0x7f90e2;}else if(_0x1a4e('0x116a')==_0x1820ea){if(_0x1a4e('0x3d')==typeof _0x54808a[0x0])_0xdb83a1=0x1,_0x5f09f9=_0x54808a[0x0],_0x4ca370=_0x54808a[0x1],_0x7f90e2=_0x3c61ef('>l',[_0x5f09f9])+_0x3c61ef('>l',[_0x4ca370]);else{_0xdb83a1=_0x54808a['length'],_0x7f90e2='';for(_0x5bc8e8=0x0;_0x5bc8e8<_0xdb83a1;_0x5bc8e8++)_0x5f09f9=_0x54808a[_0x5bc8e8][0x0],_0x4ca370=_0x54808a[_0x5bc8e8][0x1],_0x7f90e2+=_0x3c61ef('>l',[_0x5f09f9])+_0x3c61ef('>l',[_0x4ca370]);}_0x48f58e=_0x3c61ef('>L',[_0x3b56de]),_0x2810b9=_0x7f90e2;}else _0x1a4e('0x116b')==_0x1820ea&&((_0xdb83a1=_0x54808a[_0x1a4e('0x1e')])>0x4?(_0x48f58e=_0x3c61ef('>L',[_0x3b56de]),_0x2810b9=_0x54808a):_0x48f58e=_0x54808a+_0x54d411('',0x4-_0xdb83a1));return[_0x3c61ef('>L',[_0xdb83a1]),_0x48f58e,_0x2810b9];}function _0x1befbc(_0x54808a,_0x1820ea,_0x3b56de){var _0x541778,_0x56f0e3=Object['keys'](_0x54808a)[_0x1a4e('0x1e')],_0x35c37d=_0x3c61ef('>H',[_0x56f0e3]);_0x541778=[_0x1a4e('0x116c'),'1st'][_0x1a4e('0x3e')](_0x1820ea)>-0x1?0x2+0xc*_0x56f0e3+0x4:0x2+0xc*_0x56f0e3;var _0x1befbc='',_0x5b5d5f='';for(var _0x5e8015 in _0x54808a)if('string'==typeof _0x5e8015&&(_0x5e8015=parseInt(_0x5e8015)),!(_0x1a4e('0x116c')==_0x1820ea&&[0x8769,0x8825]['indexOf'](_0x5e8015)>-0x1||_0x1a4e('0x116d')==_0x1820ea&&0xa005==_0x5e8015||'1st'==_0x1820ea&&[0x201,0x202]['indexOf'](_0x5e8015)>-0x1)){var _0x595bf3=_0x54808a[_0x5e8015],_0x4d2079=_0x3c61ef('>H',[_0x5e8015]),_0x71dd57=_0x432b7d[_0x1820ea][_0x5e8015][_0x1a4e('0x40')],_0x54d317=_0x3c61ef('>H',[_0x281774[_0x71dd57]]);_0x1a4e('0x3d')==typeof _0x595bf3&&(_0x595bf3=[_0x595bf3]);var _0xcec8cc=_0xdb83a1(_0x595bf3,_0x71dd57,0x8+_0x541778+_0x3b56de+_0x5b5d5f[_0x1a4e('0x1e')]);_0x1befbc+=_0x4d2079+_0x54d317+_0xcec8cc[0x0]+_0xcec8cc[0x1],_0x5b5d5f+=_0xcec8cc[0x2];}return[_0x35c37d+_0x1befbc,_0x5b5d5f];}function _0x5d6b76(_0x54808a){var _0x1820ea;if('ÿØ'==_0x54808a[_0x1a4e('0x78')](0x0,0x2))_0x1820ea=function(_0x54808a){for(var _0x1820ea,_0x3b56de=0x0;_0x3b56de<_0x54808a[_0x1a4e('0x1e')];_0x3b56de++)if('ÿá'==(_0x1820ea=_0x54808a[_0x3b56de])[_0x1a4e('0x78')](0x0,0x2)&&_0x1a4e('0x116e')==_0x1820ea[_0x1a4e('0x78')](0x4,0xa))return _0x1820ea;return null;}(_0x1b0db4(_0x54808a)),this['tiftag']=_0x1820ea?_0x1820ea[_0x1a4e('0x78')](0xa):null;else if(['II','MM']['indexOf'](_0x54808a['slice'](0x0,0x2))>-0x1)this[_0x1a4e('0x116f')]=_0x54808a;else{if(_0x1a4e('0x116d')!=_0x54808a[_0x1a4e('0x78')](0x0,0x4))throw new Error('Given\x20file\x20is\x20neither\x20JPEG\x20nor\x20TIFF.');this[_0x1a4e('0x116f')]=_0x54808a[_0x1a4e('0x78')](0x6);}}if(_0x3b56de[_0x1a4e('0xb98')]=_0x1a4e('0x1170'),_0x3b56de[_0x1a4e('0x82')]=function(_0x54808a){var _0x1820ea=!0x1;if('ÿØ'==_0x54808a[_0x1a4e('0x78')](0x0,0x2));else{if('data:image/jpeg;base64,'!=_0x54808a[_0x1a4e('0x78')](0x0,0x17)&&_0x1a4e('0x1171')!=_0x54808a[_0x1a4e('0x78')](0x0,0x16))throw new Error(_0x1a4e('0x1172'));_0x54808a=_0x34dae9(_0x54808a[_0x1a4e('0x2be')](',')[0x1]),_0x1820ea=!0x0;}var _0x3b56de=_0x1b0db4(_0x54808a)['filter'](function(_0x54808a){return!('ÿá'==_0x54808a[_0x1a4e('0x78')](0x0,0x2)&&_0x1a4e('0x116e')==_0x54808a[_0x1a4e('0x78')](0x4,0xa));})[_0x1a4e('0x9e')]('');return _0x1820ea&&(_0x3b56de=_0x1a4e('0x1173')+_0x519215(_0x3b56de)),_0x3b56de;},_0x3b56de[_0x1a4e('0x7c')]=function(_0x54808a,_0x1820ea){var _0x3b56de=!0x1;if(_0x1a4e('0x116e')!=_0x54808a[_0x1a4e('0x78')](0x0,0x6))throw new Error('Given\x20data\x20is\x20not\x20exif.');if('ÿØ'==_0x1820ea[_0x1a4e('0x78')](0x0,0x2));else{if(_0x1a4e('0x1173')!=_0x1820ea[_0x1a4e('0x78')](0x0,0x17)&&_0x1a4e('0x1171')!=_0x1820ea[_0x1a4e('0x78')](0x0,0x16))throw new Error(_0x1a4e('0x1172'));_0x1820ea=_0x34dae9(_0x1820ea['split'](',')[0x1]),_0x3b56de=!0x0;}var _0x541778='ÿá'+_0x3c61ef('>H',[_0x54808a[_0x1a4e('0x1e')]+0x2])+_0x54808a,_0x56f0e3=function(_0x54808a,_0x1820ea){var _0x3b56de=!0x1,_0x541778=[];_0x54808a['forEach'](function(_0x56f0e3,_0x35c37d){'ÿá'==_0x56f0e3[_0x1a4e('0x78')](0x0,0x2)&&'Exif'==_0x56f0e3['slice'](0x4,0xa)&&(_0x3b56de?_0x541778[_0x1a4e('0x66')](_0x35c37d):(_0x54808a[_0x35c37d]=_0x1820ea,_0x3b56de=!0x0));}),_0x541778[_0x1a4e('0x3b')](function(_0x1820ea){_0x54808a[_0x1a4e('0x8a')](_0x1820ea,0x1);}),!_0x3b56de&&_0x1820ea&&(_0x54808a=[_0x54808a[0x0],_0x1820ea][_0x1a4e('0x9a')](_0x54808a[_0x1a4e('0x78')](0x1)));return _0x54808a[_0x1a4e('0x9e')]('');}(_0x1b0db4(_0x1820ea),_0x541778);return _0x3b56de&&(_0x56f0e3='data:image/jpeg;base64,'+_0x519215(_0x56f0e3)),_0x56f0e3;},_0x3b56de[_0x1a4e('0x7b')]=function(_0x54808a){var _0x1820ea;if('string'!=typeof _0x54808a)throw new Error(_0x1a4e('0x1174'));if('ÿØ'==_0x54808a[_0x1a4e('0x78')](0x0,0x2))_0x1820ea=_0x54808a;else if(_0x1a4e('0x1173')==_0x54808a[_0x1a4e('0x78')](0x0,0x17)||'data:image/jpg;base64,'==_0x54808a[_0x1a4e('0x78')](0x0,0x16))_0x1820ea=_0x34dae9(_0x54808a[_0x1a4e('0x2be')](',')[0x1]);else{if(_0x1a4e('0x116d')!=_0x54808a[_0x1a4e('0x78')](0x0,0x4))throw new Error('\x27load\x27\x20gots\x20invalid\x20file\x20data.');_0x1820ea=_0x54808a['slice'](0x6);}var _0x3b56de={'0th':{},'Exif':{},'GPS':{},'Interop':{},'1st':{},'thumbnail':null},_0x541778=new _0x5d6b76(_0x1820ea);if(null===_0x541778[_0x1a4e('0x116f')])return _0x3b56de;'II'==_0x541778[_0x1a4e('0x116f')][_0x1a4e('0x78')](0x0,0x2)?_0x541778[_0x1a4e('0x1175')]='<':_0x541778[_0x1a4e('0x1175')]='>';var _0x56f0e3=_0x4fa591(_0x541778[_0x1a4e('0x1175')]+'L',_0x541778['tiftag'][_0x1a4e('0x78')](0x4,0x8))[0x0];_0x3b56de['0th']=_0x541778[_0x1a4e('0x1176')](_0x56f0e3,'0th');var _0x35c37d=_0x3b56de[_0x1a4e('0x116c')]['first_ifd_pointer'];if(delete _0x3b56de[_0x1a4e('0x116c')][_0x1a4e('0x1177')],0x8769 in _0x3b56de[_0x1a4e('0x116c')]&&(_0x56f0e3=_0x3b56de[_0x1a4e('0x116c')][0x8769],_0x3b56de[_0x1a4e('0x116d')]=_0x541778[_0x1a4e('0x1176')](_0x56f0e3,'Exif')),0x8825 in _0x3b56de[_0x1a4e('0x116c')]&&(_0x56f0e3=_0x3b56de[_0x1a4e('0x116c')][0x8825],_0x3b56de['GPS']=_0x541778[_0x1a4e('0x1176')](_0x56f0e3,_0x1a4e('0x1178'))),0xa005 in _0x3b56de[_0x1a4e('0x116d')]&&(_0x56f0e3=_0x3b56de[_0x1a4e('0x116d')][0xa005],_0x3b56de['Interop']=_0x541778[_0x1a4e('0x1176')](_0x56f0e3,_0x1a4e('0x1179'))),_0x1a4e('0x117a')!=_0x35c37d&&(_0x56f0e3=_0x4fa591(_0x541778[_0x1a4e('0x1175')]+'L',_0x35c37d)[0x0],_0x3b56de[_0x1a4e('0x117b')]=_0x541778['get_ifd'](_0x56f0e3,_0x1a4e('0x117b')),0x201 in _0x3b56de['1st']&&0x202 in _0x3b56de[_0x1a4e('0x117b')])){var _0xdb83a1=_0x3b56de[_0x1a4e('0x117b')][0x201]+_0x3b56de[_0x1a4e('0x117b')][0x202],_0x1befbc=_0x541778[_0x1a4e('0x116f')][_0x1a4e('0x78')](_0x3b56de[_0x1a4e('0x117b')][0x201],_0xdb83a1);_0x3b56de[_0x1a4e('0x117c')]=_0x1befbc;}return _0x3b56de;},_0x3b56de['dump']=function(_0x54808a){var _0x1820ea,_0x541778,_0x56f0e3,_0x35c37d,_0xdb83a1,_0x5d6b76,_0x5165f0=(_0x1820ea=_0x54808a,JSON[_0x1a4e('0x25a')](JSON['stringify'](_0x1820ea))),_0x550fd3=!0x1,_0x48146f=!0x1,_0x2c3b9e=!0x1,_0xc2a85a=!0x1;_0x541778=_0x1a4e('0x116c')in _0x5165f0?_0x5165f0[_0x1a4e('0x116c')]:{},_0x1a4e('0x116d')in _0x5165f0&&Object[_0x1a4e('0x56')](_0x5165f0[_0x1a4e('0x116d')])[_0x1a4e('0x1e')]||_0x1a4e('0x1179')in _0x5165f0&&Object[_0x1a4e('0x56')](_0x5165f0[_0x1a4e('0x1179')])['length']?(_0x541778[0x8769]=0x1,_0x550fd3=!0x0,_0x56f0e3=_0x5165f0['Exif'],_0x1a4e('0x1179')in _0x5165f0&&Object[_0x1a4e('0x56')](_0x5165f0[_0x1a4e('0x1179')])[_0x1a4e('0x1e')]?(_0x56f0e3[0xa005]=0x1,_0x2c3b9e=!0x0,_0x35c37d=_0x5165f0['Interop']):Object[_0x1a4e('0x56')](_0x56f0e3)['indexOf'](_0x3b56de[_0x1a4e('0x117d')][_0x1a4e('0x117e')][_0x1a4e('0x95')]())>-0x1&&delete _0x56f0e3[0xa005]):Object[_0x1a4e('0x56')](_0x541778)[_0x1a4e('0x3e')](_0x3b56de[_0x1a4e('0x117f')][_0x1a4e('0x1180')][_0x1a4e('0x95')]())>-0x1&&delete _0x541778[0x8769],_0x1a4e('0x1178')in _0x5165f0&&Object[_0x1a4e('0x56')](_0x5165f0[_0x1a4e('0x1178')])['length']?(_0x541778[_0x3b56de[_0x1a4e('0x117f')][_0x1a4e('0x1181')]]=0x1,_0x48146f=!0x0,_0xdb83a1=_0x5165f0[_0x1a4e('0x1178')]):Object[_0x1a4e('0x56')](_0x541778)[_0x1a4e('0x3e')](_0x3b56de['ImageIFD'][_0x1a4e('0x1181')][_0x1a4e('0x95')]())>-0x1&&delete _0x541778[_0x3b56de[_0x1a4e('0x117f')][_0x1a4e('0x1181')]],'1st'in _0x5165f0&&_0x1a4e('0x117c')in _0x5165f0&&null!=_0x5165f0[_0x1a4e('0x117c')]&&(_0xc2a85a=!0x0,_0x5165f0['1st'][0x201]=0x1,_0x5165f0['1st'][0x202]=0x1,_0x5d6b76=_0x5165f0[_0x1a4e('0x117b')]);var _0x1d78c3,_0x3ead9f,_0x36e5f3,_0x697c62=_0x1befbc(_0x541778,'0th',0x0),_0x62a66f=_0x697c62[0x0][_0x1a4e('0x1e')]+0xc*_0x550fd3+0xc*_0x48146f+0x4+_0x697c62[0x1]['length'],_0x2243db='',_0xbecfe=0x0,_0x16aebd='',_0x312c50=0x0,_0x429a57='',_0xcb26e2=0x0,_0xb953b='';(_0x550fd3&&(_0xbecfe=(_0x1d78c3=_0x1befbc(_0x56f0e3,'Exif',_0x62a66f))[0x0]['length']+0xc*_0x2c3b9e+_0x1d78c3[0x1][_0x1a4e('0x1e')]),_0x48146f&&(_0x312c50=(_0x16aebd=_0x1befbc(_0xdb83a1,_0x1a4e('0x1178'),_0x62a66f+_0xbecfe)['join'](''))[_0x1a4e('0x1e')]),_0x2c3b9e)&&(_0xcb26e2=(_0x429a57=_0x1befbc(_0x35c37d,_0x1a4e('0x1179'),_0x62a66f+_0xbecfe+_0x312c50)[_0x1a4e('0x9e')](''))[_0x1a4e('0x1e')]);if(_0xc2a85a&&(_0x3ead9f=_0x1befbc(_0x5d6b76,_0x1a4e('0x117b'),_0x62a66f+_0xbecfe+_0x312c50+_0xcb26e2),(_0x36e5f3=function(_0x54808a){var _0x1820ea=_0x1b0db4(_0x54808a);for(;'ÿà'<=_0x1820ea[0x1][_0x1a4e('0x78')](0x0,0x2)&&_0x1820ea[0x1][_0x1a4e('0x78')](0x0,0x2)<='ÿï';)_0x1820ea=[_0x1820ea[0x0]][_0x1a4e('0x9a')](_0x1820ea[_0x1a4e('0x78')](0x2));return _0x1820ea[_0x1a4e('0x9e')]('');}(_0x5165f0[_0x1a4e('0x117c')]))[_0x1a4e('0x1e')]>0xfa00))throw new Error(_0x1a4e('0x1182'));var _0x150a48='',_0x191187='',_0x104db7='',_0x15b554='';if(_0x550fd3){var _0x390e3f=_0x3c61ef('>L',[_0x4bd152=0x8+_0x62a66f]);_0x150a48=_0x3c61ef('>H',[0x8769])+_0x3c61ef('>H',[_0x281774['Long']])+_0x3c61ef('>L',[0x1])+_0x390e3f;}if(_0x48146f){_0x390e3f=_0x3c61ef('>L',[_0x4bd152=0x8+_0x62a66f+_0xbecfe]);_0x191187=_0x3c61ef('>H',[0x8825])+_0x3c61ef('>H',[_0x281774[_0x1a4e('0x1167')]])+_0x3c61ef('>L',[0x1])+_0x390e3f;}if(_0x2c3b9e){_0x390e3f=_0x3c61ef('>L',[_0x4bd152=0x8+_0x62a66f+_0xbecfe+_0x312c50]);_0x104db7=_0x3c61ef('>H',[0xa005])+_0x3c61ef('>H',[_0x281774[_0x1a4e('0x1167')]])+_0x3c61ef('>L',[0x1])+_0x390e3f;}if(_0xc2a85a){var _0x4bd152;_0x15b554=_0x3c61ef('>L',[_0x4bd152=0x8+_0x62a66f+_0xbecfe+_0x312c50+_0xcb26e2]);var _0x17094f=_0x1a4e('0x1183')+_0x3c61ef('>L',[_0x4bd152+_0x3ead9f[0x0][_0x1a4e('0x1e')]+0x18+0x4+_0x3ead9f[0x1][_0x1a4e('0x1e')]]),_0x34a488=_0x1a4e('0x1184')+_0x3c61ef('>L',[_0x36e5f3['length']]);_0xb953b=_0x3ead9f[0x0]+_0x17094f+_0x34a488+_0x1a4e('0x117a')+_0x3ead9f[0x1]+_0x36e5f3;}var _0x4b4284=_0x697c62[0x0]+_0x150a48+_0x191187+_0x15b554+_0x697c62[0x1];return _0x550fd3&&(_0x2243db=_0x1d78c3[0x0]+_0x104db7+_0x1d78c3[0x1]),_0x1a4e('0x1185')+_0x4b4284+_0x2243db+_0x16aebd+_0x429a57+_0xb953b;},_0x5d6b76['prototype']={'get_ifd':function(_0x54808a,_0x1820ea){var _0x3b56de,_0x541778={},_0x56f0e3=_0x4fa591(this[_0x1a4e('0x1175')]+'H',this['tiftag'][_0x1a4e('0x78')](_0x54808a,_0x54808a+0x2))[0x0],_0x35c37d=_0x54808a+0x2;_0x3b56de=[_0x1a4e('0x116c'),_0x1a4e('0x117b')]['indexOf'](_0x1820ea)>-0x1?_0x1a4e('0x1186'):_0x1820ea;for(var _0xdb83a1=0x0;_0xdb83a1<_0x56f0e3;_0xdb83a1++){_0x54808a=_0x35c37d+0xc*_0xdb83a1;var _0x1befbc=_0x4fa591(this[_0x1a4e('0x1175')]+'H',this['tiftag'][_0x1a4e('0x78')](_0x54808a,_0x54808a+0x2))[0x0],_0x5d6b76=[_0x4fa591(this[_0x1a4e('0x1175')]+'H',this['tiftag']['slice'](_0x54808a+0x2,_0x54808a+0x4))[0x0],_0x4fa591(this[_0x1a4e('0x1175')]+'L',this[_0x1a4e('0x116f')][_0x1a4e('0x78')](_0x54808a+0x4,_0x54808a+0x8))[0x0],this['tiftag']['slice'](_0x54808a+0x8,_0x54808a+0xc)];_0x1befbc in _0x432b7d[_0x3b56de]&&(_0x541778[_0x1befbc]=this['convert_value'](_0x5d6b76));}return _0x1a4e('0x116c')==_0x1820ea&&(_0x54808a=_0x35c37d+0xc*_0x56f0e3,_0x541778[_0x1a4e('0x1177')]=this[_0x1a4e('0x116f')]['slice'](_0x54808a,_0x54808a+0x4)),_0x541778;},'convert_value':function(_0x54808a){var _0x1820ea,_0x3b56de=null,_0x541778=_0x54808a[0x0],_0x56f0e3=_0x54808a[0x1],_0x35c37d=_0x54808a[0x2];if(0x1==_0x541778)_0x56f0e3>0x4?(_0x1820ea=_0x4fa591(this['endian_mark']+'L',_0x35c37d)[0x0],_0x3b56de=_0x4fa591(this[_0x1a4e('0x1175')]+_0x54d411('B',_0x56f0e3),this[_0x1a4e('0x116f')]['slice'](_0x1820ea,_0x1820ea+_0x56f0e3))):_0x3b56de=_0x4fa591(this['endian_mark']+_0x54d411('B',_0x56f0e3),_0x35c37d[_0x1a4e('0x78')](0x0,_0x56f0e3));else if(0x2==_0x541778)_0x56f0e3>0x4?(_0x1820ea=_0x4fa591(this[_0x1a4e('0x1175')]+'L',_0x35c37d)[0x0],_0x3b56de=this['tiftag'][_0x1a4e('0x78')](_0x1820ea,_0x1820ea+_0x56f0e3-0x1)):_0x3b56de=_0x35c37d[_0x1a4e('0x78')](0x0,_0x56f0e3-0x1);else if(0x3==_0x541778)_0x56f0e3>0x2?(_0x1820ea=_0x4fa591(this['endian_mark']+'L',_0x35c37d)[0x0],_0x3b56de=_0x4fa591(this[_0x1a4e('0x1175')]+_0x54d411('H',_0x56f0e3),this[_0x1a4e('0x116f')][_0x1a4e('0x78')](_0x1820ea,_0x1820ea+0x2*_0x56f0e3))):_0x3b56de=_0x4fa591(this['endian_mark']+_0x54d411('H',_0x56f0e3),_0x35c37d['slice'](0x0,0x2*_0x56f0e3));else if(0x4==_0x541778)_0x56f0e3>0x1?(_0x1820ea=_0x4fa591(this[_0x1a4e('0x1175')]+'L',_0x35c37d)[0x0],_0x3b56de=_0x4fa591(this['endian_mark']+_0x54d411('L',_0x56f0e3),this['tiftag'][_0x1a4e('0x78')](_0x1820ea,_0x1820ea+0x4*_0x56f0e3))):_0x3b56de=_0x4fa591(this[_0x1a4e('0x1175')]+_0x54d411('L',_0x56f0e3),_0x35c37d);else if(0x5==_0x541778)if(_0x1820ea=_0x4fa591(this['endian_mark']+'L',_0x35c37d)[0x0],_0x56f0e3>0x1){_0x3b56de=[];for(var _0xdb83a1=0x0;_0xdb83a1<_0x56f0e3;_0xdb83a1++)_0x3b56de[_0x1a4e('0x46')]([_0x4fa591(this['endian_mark']+'L',this[_0x1a4e('0x116f')]['slice'](_0x1820ea+0x8*_0xdb83a1,_0x1820ea+0x4+0x8*_0xdb83a1))[0x0],_0x4fa591(this[_0x1a4e('0x1175')]+'L',this[_0x1a4e('0x116f')]['slice'](_0x1820ea+0x4+0x8*_0xdb83a1,_0x1820ea+0x8+0x8*_0xdb83a1))[0x0]]);}else _0x3b56de=[_0x4fa591(this[_0x1a4e('0x1175')]+'L',this[_0x1a4e('0x116f')][_0x1a4e('0x78')](_0x1820ea,_0x1820ea+0x4))[0x0],_0x4fa591(this[_0x1a4e('0x1175')]+'L',this[_0x1a4e('0x116f')][_0x1a4e('0x78')](_0x1820ea+0x4,_0x1820ea+0x8))[0x0]];else if(0x7==_0x541778)_0x56f0e3>0x4?(_0x1820ea=_0x4fa591(this['endian_mark']+'L',_0x35c37d)[0x0],_0x3b56de=this['tiftag'][_0x1a4e('0x78')](_0x1820ea,_0x1820ea+_0x56f0e3)):_0x3b56de=_0x35c37d[_0x1a4e('0x78')](0x0,_0x56f0e3);else if(0x9==_0x541778)_0x56f0e3>0x1?(_0x1820ea=_0x4fa591(this[_0x1a4e('0x1175')]+'L',_0x35c37d)[0x0],_0x3b56de=_0x4fa591(this[_0x1a4e('0x1175')]+_0x54d411('l',_0x56f0e3),this[_0x1a4e('0x116f')][_0x1a4e('0x78')](_0x1820ea,_0x1820ea+0x4*_0x56f0e3))):_0x3b56de=_0x4fa591(this[_0x1a4e('0x1175')]+_0x54d411('l',_0x56f0e3),_0x35c37d);else{if(0xa!=_0x541778)throw new Error(_0x1a4e('0x1187')+_0x541778);if(_0x1820ea=_0x4fa591(this[_0x1a4e('0x1175')]+'L',_0x35c37d)[0x0],_0x56f0e3>0x1){_0x3b56de=[];for(_0xdb83a1=0x0;_0xdb83a1<_0x56f0e3;_0xdb83a1++)_0x3b56de[_0x1a4e('0x46')]([_0x4fa591(this[_0x1a4e('0x1175')]+'l',this[_0x1a4e('0x116f')][_0x1a4e('0x78')](_0x1820ea+0x8*_0xdb83a1,_0x1820ea+0x4+0x8*_0xdb83a1))[0x0],_0x4fa591(this[_0x1a4e('0x1175')]+'l',this[_0x1a4e('0x116f')][_0x1a4e('0x78')](_0x1820ea+0x4+0x8*_0xdb83a1,_0x1820ea+0x8+0x8*_0xdb83a1))[0x0]]);}else _0x3b56de=[_0x4fa591(this['endian_mark']+'l',this['tiftag'][_0x1a4e('0x78')](_0x1820ea,_0x1820ea+0x4))[0x0],_0x4fa591(this[_0x1a4e('0x1175')]+'l',this[_0x1a4e('0x116f')][_0x1a4e('0x78')](_0x1820ea+0x4,_0x1820ea+0x8))[0x0]];}return _0x3b56de instanceof Array&&0x1==_0x3b56de[_0x1a4e('0x1e')]?_0x3b56de[0x0]:_0x3b56de;}},_0x1a4e('0x3')!=typeof window&&_0x1a4e('0x68')==typeof window['btoa'])var _0x519215=window[_0x1a4e('0x1188')];if(void 0x0===_0x519215)_0x519215=function(_0x54808a){for(var _0x1820ea,_0x3b56de,_0x541778,_0x56f0e3,_0x35c37d,_0xdb83a1,_0x1befbc,_0x5d6b76='',_0x519215=0x0,_0x14c34b=_0x1a4e('0x1189');_0x519215<_0x54808a[_0x1a4e('0x1e')];)_0x56f0e3=(_0x1820ea=_0x54808a[_0x1a4e('0x913')](_0x519215++))>>0x2,_0x35c37d=(0x3&_0x1820ea)<<0x4|(_0x3b56de=_0x54808a[_0x1a4e('0x913')](_0x519215++))>>0x4,_0xdb83a1=(0xf&_0x3b56de)<<0x2|(_0x541778=_0x54808a['charCodeAt'](_0x519215++))>>0x6,_0x1befbc=0x3f&_0x541778,isNaN(_0x3b56de)?_0xdb83a1=_0x1befbc=0x40:isNaN(_0x541778)&&(_0x1befbc=0x40),_0x5d6b76=_0x5d6b76+_0x14c34b[_0x1a4e('0x278')](_0x56f0e3)+_0x14c34b[_0x1a4e('0x278')](_0x35c37d)+_0x14c34b[_0x1a4e('0x278')](_0xdb83a1)+_0x14c34b[_0x1a4e('0x278')](_0x1befbc);return _0x5d6b76;};if(_0x1a4e('0x3')!=typeof window&&_0x1a4e('0x68')==typeof window[_0x1a4e('0x118a')])var _0x34dae9=window[_0x1a4e('0x118a')];if(void 0x0===_0x34dae9)_0x34dae9=function(_0x54808a){var _0x1820ea,_0x3b56de,_0x541778,_0x56f0e3,_0x35c37d,_0xdb83a1,_0x1befbc='',_0x5d6b76=0x0,_0x519215=_0x1a4e('0x1189');for(_0x54808a=_0x54808a['replace'](/[^A-Za-z0-9\+\/\=]/g,'');_0x5d6b76<_0x54808a[_0x1a4e('0x1e')];)_0x1820ea=_0x519215[_0x1a4e('0x3e')](_0x54808a['charAt'](_0x5d6b76++))<<0x2|(_0x56f0e3=_0x519215[_0x1a4e('0x3e')](_0x54808a[_0x1a4e('0x278')](_0x5d6b76++)))>>0x4,_0x3b56de=(0xf&_0x56f0e3)<<0x4|(_0x35c37d=_0x519215['indexOf'](_0x54808a[_0x1a4e('0x278')](_0x5d6b76++)))>>0x2,_0x541778=(0x3&_0x35c37d)<<0x6|(_0xdb83a1=_0x519215[_0x1a4e('0x3e')](_0x54808a[_0x1a4e('0x278')](_0x5d6b76++))),_0x1befbc+=String[_0x1a4e('0x8fe')](_0x1820ea),0x40!=_0x35c37d&&(_0x1befbc+=String['fromCharCode'](_0x3b56de)),0x40!=_0xdb83a1&&(_0x1befbc+=String['fromCharCode'](_0x541778));return _0x1befbc;};function _0x3c61ef(_0x54808a,_0x1820ea){if(!(_0x1820ea instanceof Array))throw new Error('\x27pack\x27\x20error.\x20Got\x20invalid\x20type\x20argument.');if(_0x54808a['length']-0x1!=_0x1820ea[_0x1a4e('0x1e')])throw new Error('\x27pack\x27\x20error.\x20'+(_0x54808a[_0x1a4e('0x1e')]-0x1)+_0x1a4e('0x118b')+_0x1820ea[_0x1a4e('0x1e')]+'\x20elements.');var _0x3b56de;if('<'==_0x54808a[0x0])_0x3b56de=!0x0;else{if('>'!=_0x54808a[0x0])throw new Error('');_0x3b56de=!0x1;}for(var _0x541778='',_0x56f0e3=0x1,_0x35c37d=null,_0xdb83a1=null,_0x1befbc=null;_0xdb83a1=_0x54808a[_0x56f0e3];){if('b'==_0xdb83a1[_0x1a4e('0x2b2')]()){if(_0x35c37d=_0x1820ea[_0x56f0e3-0x1],'b'==_0xdb83a1&&_0x35c37d<0x0&&(_0x35c37d+=0x100),_0x35c37d>0xff||_0x35c37d<0x0)throw new Error(_0x1a4e('0x118c'));_0x1befbc=String[_0x1a4e('0x8fe')](_0x35c37d);}else if('H'==_0xdb83a1){if((_0x35c37d=_0x1820ea[_0x56f0e3-0x1])>0xffff||_0x35c37d<0x0)throw new Error('\x27pack\x27\x20error.');_0x1befbc=String[_0x1a4e('0x8fe')](Math[_0x1a4e('0xb4')](_0x35c37d%0x10000/0x100))+String[_0x1a4e('0x8fe')](_0x35c37d%0x100),_0x3b56de&&(_0x1befbc=_0x1befbc[_0x1a4e('0x2be')]('')[_0x1a4e('0x9b')]()[_0x1a4e('0x9e')](''));}else{if('l'!=_0xdb83a1[_0x1a4e('0x2b2')]())throw new Error(_0x1a4e('0x118c'));if(_0x35c37d=_0x1820ea[_0x56f0e3-0x1],'l'==_0xdb83a1&&_0x35c37d<0x0&&(_0x35c37d+=0x100000000),_0x35c37d>0xffffffff||_0x35c37d<0x0)throw new Error(_0x1a4e('0x118c'));_0x1befbc=String[_0x1a4e('0x8fe')](Math[_0x1a4e('0xb4')](_0x35c37d/0x1000000))+String[_0x1a4e('0x8fe')](Math[_0x1a4e('0xb4')](_0x35c37d%0x1000000/0x10000))+String[_0x1a4e('0x8fe')](Math[_0x1a4e('0xb4')](_0x35c37d%0x10000/0x100))+String[_0x1a4e('0x8fe')](_0x35c37d%0x100),_0x3b56de&&(_0x1befbc=_0x1befbc[_0x1a4e('0x2be')]('')[_0x1a4e('0x9b')]()[_0x1a4e('0x9e')](''));}_0x541778+=_0x1befbc,_0x56f0e3+=0x1;}return _0x541778;}function _0x4fa591(_0x54808a,_0x1820ea){if(_0x1a4e('0x9')!=typeof _0x1820ea)throw new Error(_0x1a4e('0x118d'));for(var _0x3b56de,_0x541778=0x0,_0x56f0e3=0x1;_0x56f0e3<_0x54808a['length'];_0x56f0e3++)if('b'==_0x54808a[_0x56f0e3][_0x1a4e('0x2b2')]())_0x541778+=0x1;else if('h'==_0x54808a[_0x56f0e3][_0x1a4e('0x2b2')]())_0x541778+=0x2;else{if('l'!=_0x54808a[_0x56f0e3][_0x1a4e('0x2b2')]())throw new Error(_0x1a4e('0x118e'));_0x541778+=0x4;}if(_0x541778!=_0x1820ea[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0x118f')+_0x541778+':'+_0x1820ea[_0x1a4e('0x1e')]);if('<'==_0x54808a[0x0])_0x3b56de=!0x0;else{if('>'!=_0x54808a[0x0])throw new Error('\x27unpack\x27\x20error.');_0x3b56de=!0x1;}for(var _0x35c37d=[],_0xdb83a1=0x0,_0x1befbc=0x1,_0x5d6b76=null,_0x519215=null,_0x34dae9=null,_0x3c61ef='';_0x519215=_0x54808a[_0x1befbc];){if('b'==_0x519215[_0x1a4e('0x2b2')]())_0x34dae9=0x1,_0x5d6b76=(_0x3c61ef=_0x1820ea[_0x1a4e('0x78')](_0xdb83a1,_0xdb83a1+_0x34dae9))[_0x1a4e('0x913')](0x0),'b'==_0x519215&&_0x5d6b76>=0x80&&(_0x5d6b76-=0x100);else if('H'==_0x519215)_0x34dae9=0x2,_0x3c61ef=_0x1820ea[_0x1a4e('0x78')](_0xdb83a1,_0xdb83a1+_0x34dae9),_0x3b56de&&(_0x3c61ef=_0x3c61ef['split']('')['reverse']()[_0x1a4e('0x9e')]('')),_0x5d6b76=0x100*_0x3c61ef[_0x1a4e('0x913')](0x0)+_0x3c61ef[_0x1a4e('0x913')](0x1);else{if('l'!=_0x519215[_0x1a4e('0x2b2')]())throw new Error('\x27unpack\x27\x20error.\x20'+_0x519215);_0x34dae9=0x4,_0x3c61ef=_0x1820ea['slice'](_0xdb83a1,_0xdb83a1+_0x34dae9),_0x3b56de&&(_0x3c61ef=_0x3c61ef[_0x1a4e('0x2be')]('')[_0x1a4e('0x9b')]()[_0x1a4e('0x9e')]('')),_0x5d6b76=0x1000000*_0x3c61ef[_0x1a4e('0x913')](0x0)+0x10000*_0x3c61ef[_0x1a4e('0x913')](0x1)+0x100*_0x3c61ef[_0x1a4e('0x913')](0x2)+_0x3c61ef[_0x1a4e('0x913')](0x3),'l'==_0x519215&&_0x5d6b76>=0x80000000&&(_0x5d6b76-=0x100000000);}_0x35c37d[_0x1a4e('0x46')](_0x5d6b76),_0xdb83a1+=_0x34dae9,_0x1befbc+=0x1;}return _0x35c37d;}function _0x54d411(_0x54808a,_0x1820ea){for(var _0x3b56de='',_0x541778=0x0;_0x541778<_0x1820ea;_0x541778++)_0x3b56de+=_0x54808a;return _0x3b56de;}function _0x1b0db4(_0x54808a){if('ÿØ'!=_0x54808a[_0x1a4e('0x78')](0x0,0x2))throw new Error('Given\x20data\x20isn\x27t\x20JPEG.');for(var _0x1820ea=0x2,_0x3b56de=['ÿØ'];;){if('ÿÚ'==_0x54808a['slice'](_0x1820ea,_0x1820ea+0x2)){_0x3b56de[_0x1a4e('0x46')](_0x54808a[_0x1a4e('0x78')](_0x1820ea));break;}var _0x541778=_0x1820ea+_0x4fa591('>H',_0x54808a['slice'](_0x1820ea+0x2,_0x1820ea+0x4))[0x0]+0x2;if(_0x3b56de[_0x1a4e('0x46')](_0x54808a[_0x1a4e('0x78')](_0x1820ea,_0x541778)),(_0x1820ea=_0x541778)>=_0x54808a[_0x1a4e('0x1e')])throw new Error('Wrong\x20JPEG\x20data.');}return _0x3b56de;}var _0x281774={'Byte':0x1,'Ascii':0x2,'Short':0x3,'Long':0x4,'Rational':0x5,'Undefined':0x7,'SLong':0x9,'SRational':0xa},_0x432b7d={'Image':{11:{'name':'ProcessingSoftware','type':_0x1a4e('0x1168')},254:{'name':_0x1a4e('0x1190'),'type':'Long'},255:{'name':_0x1a4e('0x1191'),'type':_0x1a4e('0x1166')},256:{'name':_0x1a4e('0x1192'),'type':'Long'},257:{'name':'ImageLength','type':_0x1a4e('0x1167')},258:{'name':_0x1a4e('0x1193'),'type':'Short'},259:{'name':'Compression','type':_0x1a4e('0x1166')},262:{'name':'PhotometricInterpretation','type':_0x1a4e('0x1166')},263:{'name':_0x1a4e('0x1194'),'type':'Short'},264:{'name':_0x1a4e('0x1195'),'type':'Short'},265:{'name':_0x1a4e('0x1196'),'type':'Short'},266:{'name':_0x1a4e('0x1197'),'type':_0x1a4e('0x1166')},269:{'name':_0x1a4e('0x1198'),'type':_0x1a4e('0x1168')},270:{'name':_0x1a4e('0x1199'),'type':_0x1a4e('0x1168')},271:{'name':_0x1a4e('0x119a'),'type':'Ascii'},272:{'name':'Model','type':_0x1a4e('0x1168')},273:{'name':_0x1a4e('0x119b'),'type':_0x1a4e('0x1167')},274:{'name':_0x1a4e('0x119c'),'type':_0x1a4e('0x1166')},277:{'name':_0x1a4e('0x119d'),'type':_0x1a4e('0x1166')},278:{'name':'RowsPerStrip','type':_0x1a4e('0x1167')},279:{'name':_0x1a4e('0x119e'),'type':_0x1a4e('0x1167')},282:{'name':'XResolution','type':'Rational'},283:{'name':_0x1a4e('0x119f'),'type':_0x1a4e('0x1169')},284:{'name':'PlanarConfiguration','type':_0x1a4e('0x1166')},290:{'name':_0x1a4e('0x11a0'),'type':_0x1a4e('0x1166')},291:{'name':'GrayResponseCurve','type':'Short'},292:{'name':'T4Options','type':'Long'},293:{'name':_0x1a4e('0x11a1'),'type':_0x1a4e('0x1167')},296:{'name':_0x1a4e('0x11a2'),'type':'Short'},301:{'name':_0x1a4e('0x11a3'),'type':_0x1a4e('0x1166')},305:{'name':'Software','type':_0x1a4e('0x1168')},306:{'name':_0x1a4e('0x11a4'),'type':_0x1a4e('0x1168')},315:{'name':'Artist','type':'Ascii'},316:{'name':'HostComputer','type':_0x1a4e('0x1168')},317:{'name':'Predictor','type':_0x1a4e('0x1166')},318:{'name':_0x1a4e('0x11a5'),'type':_0x1a4e('0x1169')},319:{'name':_0x1a4e('0x11a6'),'type':'Rational'},320:{'name':_0x1a4e('0x11a7'),'type':'Short'},321:{'name':_0x1a4e('0x11a8'),'type':'Short'},322:{'name':_0x1a4e('0x11a9'),'type':_0x1a4e('0x1166')},323:{'name':_0x1a4e('0x11aa'),'type':_0x1a4e('0x1166')},324:{'name':_0x1a4e('0x11ab'),'type':'Short'},325:{'name':_0x1a4e('0x11ac'),'type':_0x1a4e('0x1166')},330:{'name':'SubIFDs','type':'Long'},332:{'name':_0x1a4e('0x11ad'),'type':_0x1a4e('0x1166')},333:{'name':_0x1a4e('0x11ae'),'type':_0x1a4e('0x1168')},334:{'name':'NumberOfInks','type':'Short'},336:{'name':'DotRange','type':_0x1a4e('0x1165')},337:{'name':_0x1a4e('0x11af'),'type':'Ascii'},338:{'name':_0x1a4e('0x11b0'),'type':_0x1a4e('0x1166')},339:{'name':_0x1a4e('0x11b1'),'type':_0x1a4e('0x1166')},340:{'name':_0x1a4e('0x11b2'),'type':'Short'},341:{'name':_0x1a4e('0x11b3'),'type':'Short'},342:{'name':_0x1a4e('0x11b4'),'type':'Short'},343:{'name':'ClipPath','type':_0x1a4e('0x1165')},344:{'name':_0x1a4e('0x11b5'),'type':_0x1a4e('0x1167')},345:{'name':_0x1a4e('0x11b6'),'type':'Long'},346:{'name':_0x1a4e('0x11b7'),'type':'Short'},347:{'name':'JPEGTables','type':'Undefined'},351:{'name':_0x1a4e('0x11b8'),'type':'Short'},512:{'name':_0x1a4e('0x11b9'),'type':_0x1a4e('0x1167')},513:{'name':_0x1a4e('0x11ba'),'type':_0x1a4e('0x1167')},514:{'name':_0x1a4e('0x11bb'),'type':_0x1a4e('0x1167')},515:{'name':_0x1a4e('0x11bc'),'type':_0x1a4e('0x1166')},517:{'name':_0x1a4e('0x11bd'),'type':_0x1a4e('0x1166')},518:{'name':_0x1a4e('0x11be'),'type':_0x1a4e('0x1166')},519:{'name':_0x1a4e('0x11bf'),'type':_0x1a4e('0x1167')},520:{'name':_0x1a4e('0x11c0'),'type':'Long'},521:{'name':_0x1a4e('0x11c1'),'type':_0x1a4e('0x1167')},529:{'name':_0x1a4e('0x11c2'),'type':_0x1a4e('0x1169')},530:{'name':_0x1a4e('0x11c3'),'type':_0x1a4e('0x1166')},531:{'name':_0x1a4e('0x11c4'),'type':_0x1a4e('0x1166')},532:{'name':_0x1a4e('0x11c5'),'type':'Rational'},700:{'name':'XMLPacket','type':_0x1a4e('0x1165')},18246:{'name':'Rating','type':_0x1a4e('0x1166')},18249:{'name':_0x1a4e('0x11c6'),'type':_0x1a4e('0x1166')},32781:{'name':'ImageID','type':'Ascii'},33421:{'name':'CFARepeatPatternDim','type':_0x1a4e('0x1166')},33422:{'name':_0x1a4e('0x11c7'),'type':_0x1a4e('0x1165')},33423:{'name':_0x1a4e('0x11c8'),'type':'Rational'},33432:{'name':_0x1a4e('0x11c9'),'type':'Ascii'},33434:{'name':'ExposureTime','type':'Rational'},34377:{'name':_0x1a4e('0x11ca'),'type':_0x1a4e('0x1165')},34665:{'name':_0x1a4e('0x1180'),'type':_0x1a4e('0x1167')},34675:{'name':_0x1a4e('0x11cb'),'type':_0x1a4e('0x116b')},34853:{'name':_0x1a4e('0x1181'),'type':_0x1a4e('0x1167')},34857:{'name':_0x1a4e('0x11cc'),'type':_0x1a4e('0x1166')},34858:{'name':_0x1a4e('0x11cd'),'type':'Long'},34859:{'name':_0x1a4e('0x11ce'),'type':_0x1a4e('0x1166')},37387:{'name':'FlashEnergy','type':'Rational'},37388:{'name':_0x1a4e('0x11cf'),'type':'Undefined'},37389:{'name':'Noise','type':_0x1a4e('0x116b')},37390:{'name':_0x1a4e('0x11d0'),'type':_0x1a4e('0x1169')},37391:{'name':_0x1a4e('0x11d1'),'type':_0x1a4e('0x1169')},37392:{'name':_0x1a4e('0x11d2'),'type':_0x1a4e('0x1166')},37393:{'name':'ImageNumber','type':'Long'},37394:{'name':_0x1a4e('0x11d3'),'type':_0x1a4e('0x1168')},37395:{'name':_0x1a4e('0x11d4'),'type':'Ascii'},37397:{'name':'ExposureIndex','type':_0x1a4e('0x1169')},37398:{'name':'TIFFEPStandardID','type':'Byte'},37399:{'name':_0x1a4e('0x11d5'),'type':_0x1a4e('0x1166')},40091:{'name':'XPTitle','type':_0x1a4e('0x1165')},40092:{'name':_0x1a4e('0x11d6'),'type':_0x1a4e('0x1165')},40093:{'name':_0x1a4e('0x11d7'),'type':_0x1a4e('0x1165')},40094:{'name':'XPKeywords','type':_0x1a4e('0x1165')},40095:{'name':_0x1a4e('0x11d8'),'type':_0x1a4e('0x1165')},50341:{'name':_0x1a4e('0x11d9'),'type':_0x1a4e('0x116b')},50706:{'name':_0x1a4e('0x11da'),'type':_0x1a4e('0x1165')},50707:{'name':_0x1a4e('0x11db'),'type':'Byte'},50708:{'name':'UniqueCameraModel','type':_0x1a4e('0x1168')},50709:{'name':_0x1a4e('0x11dc'),'type':_0x1a4e('0x1165')},50710:{'name':'CFAPlaneColor','type':'Byte'},50711:{'name':_0x1a4e('0x11dd'),'type':_0x1a4e('0x1166')},50712:{'name':'LinearizationTable','type':'Short'},50713:{'name':_0x1a4e('0x11de'),'type':_0x1a4e('0x1166')},50714:{'name':_0x1a4e('0x11df'),'type':'Rational'},50715:{'name':_0x1a4e('0x11e0'),'type':_0x1a4e('0x116a')},50716:{'name':'BlackLevelDeltaV','type':_0x1a4e('0x116a')},50717:{'name':'WhiteLevel','type':'Short'},50718:{'name':'DefaultScale','type':_0x1a4e('0x1169')},50719:{'name':_0x1a4e('0x11e1'),'type':_0x1a4e('0x1166')},50720:{'name':_0x1a4e('0x11e2'),'type':_0x1a4e('0x1166')},50721:{'name':'ColorMatrix1','type':_0x1a4e('0x116a')},50722:{'name':_0x1a4e('0x11e3'),'type':_0x1a4e('0x116a')},50723:{'name':_0x1a4e('0x11e4'),'type':_0x1a4e('0x116a')},50724:{'name':_0x1a4e('0x11e5'),'type':_0x1a4e('0x116a')},50725:{'name':_0x1a4e('0x11e6'),'type':_0x1a4e('0x116a')},50726:{'name':'ReductionMatrix2','type':'SRational'},50727:{'name':_0x1a4e('0x11e7'),'type':_0x1a4e('0x1169')},50728:{'name':'AsShotNeutral','type':'Short'},50729:{'name':_0x1a4e('0x11e8'),'type':_0x1a4e('0x1169')},50730:{'name':_0x1a4e('0x11e9'),'type':_0x1a4e('0x116a')},50731:{'name':_0x1a4e('0x11ea'),'type':_0x1a4e('0x1169')},50732:{'name':'BaselineSharpness','type':_0x1a4e('0x1169')},50733:{'name':_0x1a4e('0x11eb'),'type':_0x1a4e('0x1167')},50734:{'name':_0x1a4e('0x11ec'),'type':_0x1a4e('0x1169')},50735:{'name':'CameraSerialNumber','type':_0x1a4e('0x1168')},50736:{'name':_0x1a4e('0x11ed'),'type':'Rational'},50737:{'name':'ChromaBlurRadius','type':_0x1a4e('0x1169')},50738:{'name':_0x1a4e('0x11ee'),'type':_0x1a4e('0x1169')},50739:{'name':_0x1a4e('0x11ef'),'type':_0x1a4e('0x116a')},50740:{'name':_0x1a4e('0x11f0'),'type':_0x1a4e('0x1165')},50741:{'name':'MakerNoteSafety','type':_0x1a4e('0x1166')},50778:{'name':'CalibrationIlluminant1','type':_0x1a4e('0x1166')},50779:{'name':_0x1a4e('0x11f1'),'type':_0x1a4e('0x1166')},50780:{'name':'BestQualityScale','type':_0x1a4e('0x1169')},50781:{'name':_0x1a4e('0x11f2'),'type':'Byte'},50827:{'name':_0x1a4e('0x11f3'),'type':_0x1a4e('0x1165')},50828:{'name':_0x1a4e('0x11f4'),'type':'Undefined'},50829:{'name':_0x1a4e('0x11f5'),'type':_0x1a4e('0x1166')},50830:{'name':_0x1a4e('0x11f6'),'type':'Short'},50831:{'name':_0x1a4e('0x11f7'),'type':_0x1a4e('0x116b')},50832:{'name':_0x1a4e('0x11f8'),'type':'SRational'},50833:{'name':_0x1a4e('0x11f9'),'type':_0x1a4e('0x116b')},50834:{'name':'CurrentPreProfileMatrix','type':_0x1a4e('0x116a')},50879:{'name':_0x1a4e('0x11fa'),'type':_0x1a4e('0x1166')},50931:{'name':_0x1a4e('0x11fb'),'type':_0x1a4e('0x1165')},50932:{'name':_0x1a4e('0x11fc'),'type':_0x1a4e('0x1165')},50934:{'name':'AsShotProfileName','type':_0x1a4e('0x1165')},50935:{'name':_0x1a4e('0x11fd'),'type':_0x1a4e('0x1169')},50936:{'name':'ProfileName','type':'Byte'},50937:{'name':_0x1a4e('0x11fe'),'type':_0x1a4e('0x1167')},50938:{'name':_0x1a4e('0x11ff'),'type':_0x1a4e('0x1200')},50939:{'name':'ProfileHueSatMapData2','type':_0x1a4e('0x1200')},50940:{'name':_0x1a4e('0x1201'),'type':_0x1a4e('0x1200')},50941:{'name':_0x1a4e('0x1202'),'type':_0x1a4e('0x1167')},50942:{'name':_0x1a4e('0x1203'),'type':_0x1a4e('0x1165')},50964:{'name':'ForwardMatrix1','type':'SRational'},50965:{'name':'ForwardMatrix2','type':_0x1a4e('0x116a')},50966:{'name':_0x1a4e('0x1204'),'type':_0x1a4e('0x1165')},50967:{'name':_0x1a4e('0x1205'),'type':'Byte'},50968:{'name':_0x1a4e('0x1206'),'type':_0x1a4e('0x1165')},50969:{'name':_0x1a4e('0x1207'),'type':_0x1a4e('0x1165')},50970:{'name':'PreviewColorSpace','type':_0x1a4e('0x1167')},50971:{'name':_0x1a4e('0x1208'),'type':_0x1a4e('0x1168')},50972:{'name':_0x1a4e('0x1209'),'type':_0x1a4e('0x116b')},50973:{'name':_0x1a4e('0x120a'),'type':_0x1a4e('0x116b')},50974:{'name':_0x1a4e('0x120b'),'type':_0x1a4e('0x1167')},50975:{'name':_0x1a4e('0x120c'),'type':_0x1a4e('0x1167')},50981:{'name':_0x1a4e('0x120d'),'type':_0x1a4e('0x1167')},50982:{'name':_0x1a4e('0x120e'),'type':_0x1a4e('0x1200')},51008:{'name':_0x1a4e('0x120f'),'type':_0x1a4e('0x116b')},51009:{'name':_0x1a4e('0x1210'),'type':'Undefined'},51022:{'name':_0x1a4e('0x1211'),'type':_0x1a4e('0x116b')}},'Exif':{33434:{'name':'ExposureTime','type':_0x1a4e('0x1169')},33437:{'name':_0x1a4e('0x1212'),'type':'Rational'},34850:{'name':_0x1a4e('0x1213'),'type':'Short'},34852:{'name':'SpectralSensitivity','type':_0x1a4e('0x1168')},34855:{'name':_0x1a4e('0x1214'),'type':_0x1a4e('0x1166')},34856:{'name':_0x1a4e('0x1215'),'type':_0x1a4e('0x116b')},34864:{'name':_0x1a4e('0x1216'),'type':_0x1a4e('0x1166')},34865:{'name':_0x1a4e('0x1217'),'type':_0x1a4e('0x1167')},34866:{'name':_0x1a4e('0x1218'),'type':'Long'},34867:{'name':'ISOSpeed','type':_0x1a4e('0x1167')},34868:{'name':_0x1a4e('0x1219'),'type':_0x1a4e('0x1167')},34869:{'name':_0x1a4e('0x121a'),'type':'Long'},36864:{'name':'ExifVersion','type':_0x1a4e('0x116b')},36867:{'name':_0x1a4e('0x121b'),'type':_0x1a4e('0x1168')},36868:{'name':_0x1a4e('0x121c'),'type':_0x1a4e('0x1168')},37121:{'name':_0x1a4e('0x121d'),'type':_0x1a4e('0x116b')},37122:{'name':'CompressedBitsPerPixel','type':_0x1a4e('0x1169')},37377:{'name':_0x1a4e('0x121e'),'type':_0x1a4e('0x116a')},37378:{'name':_0x1a4e('0x121f'),'type':'Rational'},37379:{'name':_0x1a4e('0x1220'),'type':'SRational'},37380:{'name':'ExposureBiasValue','type':'SRational'},37381:{'name':_0x1a4e('0x1221'),'type':'Rational'},37382:{'name':_0x1a4e('0x1222'),'type':_0x1a4e('0x1169')},37383:{'name':_0x1a4e('0x1223'),'type':'Short'},37384:{'name':_0x1a4e('0x1224'),'type':_0x1a4e('0x1166')},37385:{'name':'Flash','type':_0x1a4e('0x1166')},37386:{'name':_0x1a4e('0x1225'),'type':_0x1a4e('0x1169')},37396:{'name':_0x1a4e('0x1226'),'type':_0x1a4e('0x1166')},37500:{'name':_0x1a4e('0x1227'),'type':_0x1a4e('0x116b')},37510:{'name':_0x1a4e('0x1228'),'type':_0x1a4e('0x1168')},37520:{'name':_0x1a4e('0x1229'),'type':_0x1a4e('0x1168')},37521:{'name':_0x1a4e('0x122a'),'type':'Ascii'},37522:{'name':_0x1a4e('0x122b'),'type':_0x1a4e('0x1168')},40960:{'name':_0x1a4e('0x122c'),'type':_0x1a4e('0x116b')},40961:{'name':_0x1a4e('0x122d'),'type':'Short'},40962:{'name':'PixelXDimension','type':_0x1a4e('0x1167')},40963:{'name':_0x1a4e('0x122e'),'type':_0x1a4e('0x1167')},40964:{'name':_0x1a4e('0x122f'),'type':_0x1a4e('0x1168')},40965:{'name':_0x1a4e('0x117e'),'type':_0x1a4e('0x1167')},41483:{'name':_0x1a4e('0x1230'),'type':_0x1a4e('0x1169')},41484:{'name':_0x1a4e('0x11cf'),'type':_0x1a4e('0x116b')},41486:{'name':'FocalPlaneXResolution','type':'Rational'},41487:{'name':_0x1a4e('0x11d1'),'type':_0x1a4e('0x1169')},41488:{'name':_0x1a4e('0x11d2'),'type':_0x1a4e('0x1166')},41492:{'name':_0x1a4e('0x1231'),'type':_0x1a4e('0x1166')},41493:{'name':'ExposureIndex','type':_0x1a4e('0x1169')},41495:{'name':'SensingMethod','type':_0x1a4e('0x1166')},41728:{'name':_0x1a4e('0x1232'),'type':'Undefined'},41729:{'name':'SceneType','type':_0x1a4e('0x116b')},41730:{'name':_0x1a4e('0x11c7'),'type':_0x1a4e('0x116b')},41985:{'name':_0x1a4e('0x1233'),'type':_0x1a4e('0x1166')},41986:{'name':_0x1a4e('0x1234'),'type':_0x1a4e('0x1166')},41987:{'name':_0x1a4e('0x1235'),'type':_0x1a4e('0x1166')},41988:{'name':_0x1a4e('0x1236'),'type':_0x1a4e('0x1169')},41989:{'name':_0x1a4e('0x1237'),'type':'Short'},41990:{'name':_0x1a4e('0x1238'),'type':'Short'},41991:{'name':_0x1a4e('0x1239'),'type':_0x1a4e('0x1166')},41992:{'name':_0x1a4e('0x123a'),'type':_0x1a4e('0x1166')},41993:{'name':_0x1a4e('0x123b'),'type':_0x1a4e('0x1166')},41994:{'name':_0x1a4e('0x123c'),'type':_0x1a4e('0x1166')},41995:{'name':_0x1a4e('0x123d'),'type':'Undefined'},41996:{'name':_0x1a4e('0x123e'),'type':_0x1a4e('0x1166')},42016:{'name':_0x1a4e('0x123f'),'type':_0x1a4e('0x1168')},42032:{'name':_0x1a4e('0x1240'),'type':_0x1a4e('0x1168')},42033:{'name':_0x1a4e('0x1241'),'type':_0x1a4e('0x1168')},42034:{'name':_0x1a4e('0x1242'),'type':_0x1a4e('0x1169')},42035:{'name':_0x1a4e('0x1243'),'type':_0x1a4e('0x1168')},42036:{'name':_0x1a4e('0x1244'),'type':_0x1a4e('0x1168')},42037:{'name':_0x1a4e('0x1245'),'type':_0x1a4e('0x1168')},42240:{'name':_0x1a4e('0x1246'),'type':'Rational'}},'GPS':{0:{'name':'GPSVersionID','type':_0x1a4e('0x1165')},1:{'name':_0x1a4e('0x1247'),'type':'Ascii'},2:{'name':_0x1a4e('0x1248'),'type':_0x1a4e('0x1169')},3:{'name':_0x1a4e('0x1249'),'type':_0x1a4e('0x1168')},4:{'name':_0x1a4e('0x124a'),'type':_0x1a4e('0x1169')},5:{'name':'GPSAltitudeRef','type':'Byte'},6:{'name':_0x1a4e('0x124b'),'type':_0x1a4e('0x1169')},7:{'name':_0x1a4e('0x124c'),'type':'Rational'},8:{'name':_0x1a4e('0x124d'),'type':_0x1a4e('0x1168')},9:{'name':'GPSStatus','type':_0x1a4e('0x1168')},10:{'name':_0x1a4e('0x124e'),'type':_0x1a4e('0x1168')},11:{'name':_0x1a4e('0x124f'),'type':'Rational'},12:{'name':_0x1a4e('0x1250'),'type':_0x1a4e('0x1168')},13:{'name':_0x1a4e('0x1251'),'type':_0x1a4e('0x1169')},14:{'name':_0x1a4e('0x1252'),'type':_0x1a4e('0x1168')},15:{'name':_0x1a4e('0x1253'),'type':_0x1a4e('0x1169')},16:{'name':_0x1a4e('0x1254'),'type':'Ascii'},17:{'name':'GPSImgDirection','type':_0x1a4e('0x1169')},18:{'name':_0x1a4e('0x1255'),'type':_0x1a4e('0x1168')},19:{'name':_0x1a4e('0x1256'),'type':_0x1a4e('0x1168')},20:{'name':_0x1a4e('0x1257'),'type':_0x1a4e('0x1169')},21:{'name':'GPSDestLongitudeRef','type':_0x1a4e('0x1168')},22:{'name':_0x1a4e('0x1258'),'type':_0x1a4e('0x1169')},23:{'name':'GPSDestBearingRef','type':_0x1a4e('0x1168')},24:{'name':_0x1a4e('0x1259'),'type':'Rational'},25:{'name':_0x1a4e('0x125a'),'type':'Ascii'},26:{'name':_0x1a4e('0x125b'),'type':_0x1a4e('0x1169')},27:{'name':_0x1a4e('0x125c'),'type':'Undefined'},28:{'name':_0x1a4e('0x125d'),'type':_0x1a4e('0x116b')},29:{'name':'GPSDateStamp','type':_0x1a4e('0x1168')},30:{'name':'GPSDifferential','type':_0x1a4e('0x1166')},31:{'name':'GPSHPositioningError','type':_0x1a4e('0x1169')}},'Interop':{1:{'name':_0x1a4e('0x125e'),'type':'Ascii'}}};_0x432b7d[_0x1a4e('0x116c')]=_0x432b7d[_0x1a4e('0x1186')],_0x432b7d[_0x1a4e('0x117b')]=_0x432b7d[_0x1a4e('0x1186')],_0x3b56de['TAGS']=_0x432b7d,_0x3b56de['ImageIFD']={'ProcessingSoftware':0xb,'NewSubfileType':0xfe,'SubfileType':0xff,'ImageWidth':0x100,'ImageLength':0x101,'BitsPerSample':0x102,'Compression':0x103,'PhotometricInterpretation':0x106,'Threshholding':0x107,'CellWidth':0x108,'CellLength':0x109,'FillOrder':0x10a,'DocumentName':0x10d,'ImageDescription':0x10e,'Make':0x10f,'Model':0x110,'StripOffsets':0x111,'Orientation':0x112,'SamplesPerPixel':0x115,'RowsPerStrip':0x116,'StripByteCounts':0x117,'XResolution':0x11a,'YResolution':0x11b,'PlanarConfiguration':0x11c,'GrayResponseUnit':0x122,'GrayResponseCurve':0x123,'T4Options':0x124,'T6Options':0x125,'ResolutionUnit':0x128,'TransferFunction':0x12d,'Software':0x131,'DateTime':0x132,'Artist':0x13b,'HostComputer':0x13c,'Predictor':0x13d,'WhitePoint':0x13e,'PrimaryChromaticities':0x13f,'ColorMap':0x140,'HalftoneHints':0x141,'TileWidth':0x142,'TileLength':0x143,'TileOffsets':0x144,'TileByteCounts':0x145,'SubIFDs':0x14a,'InkSet':0x14c,'InkNames':0x14d,'NumberOfInks':0x14e,'DotRange':0x150,'TargetPrinter':0x151,'ExtraSamples':0x152,'SampleFormat':0x153,'SMinSampleValue':0x154,'SMaxSampleValue':0x155,'TransferRange':0x156,'ClipPath':0x157,'XClipPathUnits':0x158,'YClipPathUnits':0x159,'Indexed':0x15a,'JPEGTables':0x15b,'OPIProxy':0x15f,'JPEGProc':0x200,'JPEGInterchangeFormat':0x201,'JPEGInterchangeFormatLength':0x202,'JPEGRestartInterval':0x203,'JPEGLosslessPredictors':0x205,'JPEGPointTransforms':0x206,'JPEGQTables':0x207,'JPEGDCTables':0x208,'JPEGACTables':0x209,'YCbCrCoefficients':0x211,'YCbCrSubSampling':0x212,'YCbCrPositioning':0x213,'ReferenceBlackWhite':0x214,'XMLPacket':0x2bc,'Rating':0x4746,'RatingPercent':0x4749,'ImageID':0x800d,'CFARepeatPatternDim':0x828d,'CFAPattern':0x828e,'BatteryLevel':0x828f,'Copyright':0x8298,'ExposureTime':0x829a,'ImageResources':0x8649,'ExifTag':0x8769,'InterColorProfile':0x8773,'GPSTag':0x8825,'Interlace':0x8829,'TimeZoneOffset':0x882a,'SelfTimerMode':0x882b,'FlashEnergy':0x920b,'SpatialFrequencyResponse':0x920c,'Noise':0x920d,'FocalPlaneXResolution':0x920e,'FocalPlaneYResolution':0x920f,'FocalPlaneResolutionUnit':0x9210,'ImageNumber':0x9211,'SecurityClassification':0x9212,'ImageHistory':0x9213,'ExposureIndex':0x9215,'TIFFEPStandardID':0x9216,'SensingMethod':0x9217,'XPTitle':0x9c9b,'XPComment':0x9c9c,'XPAuthor':0x9c9d,'XPKeywords':0x9c9e,'XPSubject':0x9c9f,'PrintImageMatching':0xc4a5,'DNGVersion':0xc612,'DNGBackwardVersion':0xc613,'UniqueCameraModel':0xc614,'LocalizedCameraModel':0xc615,'CFAPlaneColor':0xc616,'CFALayout':0xc617,'LinearizationTable':0xc618,'BlackLevelRepeatDim':0xc619,'BlackLevel':0xc61a,'BlackLevelDeltaH':0xc61b,'BlackLevelDeltaV':0xc61c,'WhiteLevel':0xc61d,'DefaultScale':0xc61e,'DefaultCropOrigin':0xc61f,'DefaultCropSize':0xc620,'ColorMatrix1':0xc621,'ColorMatrix2':0xc622,'CameraCalibration1':0xc623,'CameraCalibration2':0xc624,'ReductionMatrix1':0xc625,'ReductionMatrix2':0xc626,'AnalogBalance':0xc627,'AsShotNeutral':0xc628,'AsShotWhiteXY':0xc629,'BaselineExposure':0xc62a,'BaselineNoise':0xc62b,'BaselineSharpness':0xc62c,'BayerGreenSplit':0xc62d,'LinearResponseLimit':0xc62e,'CameraSerialNumber':0xc62f,'LensInfo':0xc630,'ChromaBlurRadius':0xc631,'AntiAliasStrength':0xc632,'ShadowScale':0xc633,'DNGPrivateData':0xc634,'MakerNoteSafety':0xc635,'CalibrationIlluminant1':0xc65a,'CalibrationIlluminant2':0xc65b,'BestQualityScale':0xc65c,'RawDataUniqueID':0xc65d,'OriginalRawFileName':0xc68b,'OriginalRawFileData':0xc68c,'ActiveArea':0xc68d,'MaskedAreas':0xc68e,'AsShotICCProfile':0xc68f,'AsShotPreProfileMatrix':0xc690,'CurrentICCProfile':0xc691,'CurrentPreProfileMatrix':0xc692,'ColorimetricReference':0xc6bf,'CameraCalibrationSignature':0xc6f3,'ProfileCalibrationSignature':0xc6f4,'AsShotProfileName':0xc6f6,'NoiseReductionApplied':0xc6f7,'ProfileName':0xc6f8,'ProfileHueSatMapDims':0xc6f9,'ProfileHueSatMapData1':0xc6fa,'ProfileHueSatMapData2':0xc6fb,'ProfileToneCurve':0xc6fc,'ProfileEmbedPolicy':0xc6fd,'ProfileCopyright':0xc6fe,'ForwardMatrix1':0xc714,'ForwardMatrix2':0xc715,'PreviewApplicationName':0xc716,'PreviewApplicationVersion':0xc717,'PreviewSettingsName':0xc718,'PreviewSettingsDigest':0xc719,'PreviewColorSpace':0xc71a,'PreviewDateTime':0xc71b,'RawImageDigest':0xc71c,'OriginalRawFileDigest':0xc71d,'SubTileBlockSize':0xc71e,'RowInterleaveFactor':0xc71f,'ProfileLookTableDims':0xc725,'ProfileLookTableData':0xc726,'OpcodeList1':0xc740,'OpcodeList2':0xc741,'OpcodeList3':0xc74e,'NoiseProfile':0xc761},_0x3b56de[_0x1a4e('0x117d')]={'ExposureTime':0x829a,'FNumber':0x829d,'ExposureProgram':0x8822,'SpectralSensitivity':0x8824,'ISOSpeedRatings':0x8827,'OECF':0x8828,'SensitivityType':0x8830,'StandardOutputSensitivity':0x8831,'RecommendedExposureIndex':0x8832,'ISOSpeed':0x8833,'ISOSpeedLatitudeyyy':0x8834,'ISOSpeedLatitudezzz':0x8835,'ExifVersion':0x9000,'DateTimeOriginal':0x9003,'DateTimeDigitized':0x9004,'ComponentsConfiguration':0x9101,'CompressedBitsPerPixel':0x9102,'ShutterSpeedValue':0x9201,'ApertureValue':0x9202,'BrightnessValue':0x9203,'ExposureBiasValue':0x9204,'MaxApertureValue':0x9205,'SubjectDistance':0x9206,'MeteringMode':0x9207,'LightSource':0x9208,'Flash':0x9209,'FocalLength':0x920a,'SubjectArea':0x9214,'MakerNote':0x927c,'UserComment':0x9286,'SubSecTime':0x9290,'SubSecTimeOriginal':0x9291,'SubSecTimeDigitized':0x9292,'FlashpixVersion':0xa000,'ColorSpace':0xa001,'PixelXDimension':0xa002,'PixelYDimension':0xa003,'RelatedSoundFile':0xa004,'InteroperabilityTag':0xa005,'FlashEnergy':0xa20b,'SpatialFrequencyResponse':0xa20c,'FocalPlaneXResolution':0xa20e,'FocalPlaneYResolution':0xa20f,'FocalPlaneResolutionUnit':0xa210,'SubjectLocation':0xa214,'ExposureIndex':0xa215,'SensingMethod':0xa217,'FileSource':0xa300,'SceneType':0xa301,'CFAPattern':0xa302,'CustomRendered':0xa401,'ExposureMode':0xa402,'WhiteBalance':0xa403,'DigitalZoomRatio':0xa404,'FocalLengthIn35mmFilm':0xa405,'SceneCaptureType':0xa406,'GainControl':0xa407,'Contrast':0xa408,'Saturation':0xa409,'Sharpness':0xa40a,'DeviceSettingDescription':0xa40b,'SubjectDistanceRange':0xa40c,'ImageUniqueID':0xa420,'CameraOwnerName':0xa430,'BodySerialNumber':0xa431,'LensSpecification':0xa432,'LensMake':0xa433,'LensModel':0xa434,'LensSerialNumber':0xa435,'Gamma':0xa500},_0x3b56de[_0x1a4e('0x125f')]={'GPSVersionID':0x0,'GPSLatitudeRef':0x1,'GPSLatitude':0x2,'GPSLongitudeRef':0x3,'GPSLongitude':0x4,'GPSAltitudeRef':0x5,'GPSAltitude':0x6,'GPSTimeStamp':0x7,'GPSSatellites':0x8,'GPSStatus':0x9,'GPSMeasureMode':0xa,'GPSDOP':0xb,'GPSSpeedRef':0xc,'GPSSpeed':0xd,'GPSTrackRef':0xe,'GPSTrack':0xf,'GPSImgDirectionRef':0x10,'GPSImgDirection':0x11,'GPSMapDatum':0x12,'GPSDestLatitudeRef':0x13,'GPSDestLatitude':0x14,'GPSDestLongitudeRef':0x15,'GPSDestLongitude':0x16,'GPSDestBearingRef':0x17,'GPSDestBearing':0x18,'GPSDestDistanceRef':0x19,'GPSDestDistance':0x1a,'GPSProcessingMethod':0x1b,'GPSAreaInformation':0x1c,'GPSDateStamp':0x1d,'GPSDifferential':0x1e,'GPSHPositioningError':0x1f},_0x3b56de[_0x1a4e('0x1260')]={'InteroperabilityIndex':0x1},_0x3b56de['GPSHelper']={'degToDmsRational':function(_0x54808a){var _0x1820ea=Math[_0x1a4e('0x65')](_0x54808a),_0x3b56de=_0x1820ea%0x1*0x3c,_0x541778=_0x3b56de%0x1*0x3c;return[[Math[_0x1a4e('0xb4')](_0x1820ea),0x1],[Math['floor'](_0x3b56de),0x1],[Math[_0x1a4e('0x2a')](0x64*_0x541778),0x64]];},'dmsRationalToDeg':function(_0x54808a,_0x1820ea){var _0x3b56de='S'===_0x1820ea||'W'===_0x1820ea?-0x1:0x1;return(_0x54808a[0x0][0x0]/_0x54808a[0x0][0x1]+_0x54808a[0x1][0x0]/_0x54808a[0x1][0x1]/0x3c+_0x54808a[0x2][0x0]/_0x54808a[0x2][0x1]/0xe10)*_0x3b56de;}},_0x54808a[_0x1a4e('0x0')]&&(_0x1820ea=_0x54808a[_0x1a4e('0x0')]=_0x3b56de),_0x1820ea['piexif']=_0x3b56de;}();},'./node_modules/process-nextick-args/index.js':function(_0x528da0,_0x493674,_0x570e3e){'use strict';(function(_0x493674){void 0x0===_0x493674||!_0x493674['version']||0x0===_0x493674['version'][_0x1a4e('0x3e')](_0x1a4e('0x1261'))||0x0===_0x493674[_0x1a4e('0xb98')][_0x1a4e('0x3e')](_0x1a4e('0x1262'))&&0x0!==_0x493674[_0x1a4e('0xb98')][_0x1a4e('0x3e')](_0x1a4e('0x1263'))?_0x528da0[_0x1a4e('0x0')]={'nextTick':function(_0x528da0,_0x570e3e,_0x4f9ee7,_0xbb9fc3){if(_0x1a4e('0x68')!=typeof _0x528da0)throw new TypeError(_0x1a4e('0x1264'));var _0x340d01,_0x3e0d31,_0x4116b1=arguments[_0x1a4e('0x1e')];switch(_0x4116b1){case 0x0:case 0x1:return _0x493674[_0x1a4e('0x1152')](_0x528da0);case 0x2:return _0x493674[_0x1a4e('0x1152')](function(){_0x528da0[_0x1a4e('0x1')](null,_0x570e3e);});case 0x3:return _0x493674[_0x1a4e('0x1152')](function(){_0x528da0[_0x1a4e('0x1')](null,_0x570e3e,_0x4f9ee7);});case 0x4:return _0x493674[_0x1a4e('0x1152')](function(){_0x528da0[_0x1a4e('0x1')](null,_0x570e3e,_0x4f9ee7,_0xbb9fc3);});default:for(_0x340d01=new Array(_0x4116b1-0x1),_0x3e0d31=0x0;_0x3e0d31<_0x340d01[_0x1a4e('0x1e')];)_0x340d01[_0x3e0d31++]=arguments[_0x3e0d31];return _0x493674[_0x1a4e('0x1152')](function(){_0x528da0[_0x1a4e('0x8b')](null,_0x340d01);});}}}:_0x528da0['exports']=_0x493674;}[_0x1a4e('0x1')](this,_0x570e3e(_0x1a4e('0x1156'))));},'./node_modules/process/browser.js':function(_0x635b5e,_0x4f0768){var _0x69c3c7,_0x57f43a,_0x2cc2bf=_0x635b5e[_0x1a4e('0x0')]={};function _0x2ca214(){throw new Error(_0x1a4e('0x1265'));}function _0x50ab8a(){throw new Error(_0x1a4e('0x1266'));}function _0x4bb804(_0x635b5e){if(_0x69c3c7===setTimeout)return setTimeout(_0x635b5e,0x0);if((_0x69c3c7===_0x2ca214||!_0x69c3c7)&&setTimeout)return _0x69c3c7=setTimeout,setTimeout(_0x635b5e,0x0);try{return _0x69c3c7(_0x635b5e,0x0);}catch(_0x17434e){try{return _0x69c3c7['call'](null,_0x635b5e,0x0);}catch(_0x5afbf8){return _0x69c3c7[_0x1a4e('0x1')](this,_0x635b5e,0x0);}}}!function(){try{_0x69c3c7='function'==typeof setTimeout?setTimeout:_0x2ca214;}catch(_0x35fbd6){_0x69c3c7=_0x2ca214;}try{_0x57f43a=_0x1a4e('0x68')==typeof clearTimeout?clearTimeout:_0x50ab8a;}catch(_0x1205e9){_0x57f43a=_0x50ab8a;}}();var _0x1e8419,_0x4de367=[],_0xf5252b=!0x1,_0x3e5ef2=-0x1;function _0x7ca102(){_0xf5252b&&_0x1e8419&&(_0xf5252b=!0x1,_0x1e8419[_0x1a4e('0x1e')]?_0x4de367=_0x1e8419[_0x1a4e('0x9a')](_0x4de367):_0x3e5ef2=-0x1,_0x4de367[_0x1a4e('0x1e')]&&_0x4b0187());}function _0x4b0187(){if(!_0xf5252b){var _0x635b5e=_0x4bb804(_0x7ca102);_0xf5252b=!0x0;for(var _0x4f0768=_0x4de367['length'];_0x4f0768;){for(_0x1e8419=_0x4de367,_0x4de367=[];++_0x3e5ef2<_0x4f0768;)_0x1e8419&&_0x1e8419[_0x3e5ef2][_0x1a4e('0x1f3')]();_0x3e5ef2=-0x1,_0x4f0768=_0x4de367[_0x1a4e('0x1e')];}_0x1e8419=null,_0xf5252b=!0x1,function(_0x635b5e){if(_0x57f43a===clearTimeout)return clearTimeout(_0x635b5e);if((_0x57f43a===_0x50ab8a||!_0x57f43a)&&clearTimeout)return _0x57f43a=clearTimeout,clearTimeout(_0x635b5e);try{_0x57f43a(_0x635b5e);}catch(_0x20cc9a){try{return _0x57f43a['call'](null,_0x635b5e);}catch(_0x133537){return _0x57f43a['call'](this,_0x635b5e);}}}(_0x635b5e);}}function _0x547546(_0x635b5e,_0x4f0768){this['fun']=_0x635b5e,this['array']=_0x4f0768;}function _0x4cf21e(){}_0x2cc2bf[_0x1a4e('0x1152')]=function(_0x635b5e){var _0x4f0768=new Array(arguments[_0x1a4e('0x1e')]-0x1);if(arguments[_0x1a4e('0x1e')]>0x1)for(var _0x69c3c7=0x1;_0x69c3c7_0x107f9a||new _0x2f74d2(_0x96673)[_0x1a4e('0x97b')](_0x440216[_0x1a4e('0xa91')])>=0x0)throw new Error(_0x1a4e('0x1273'));_0x2f2b5b=_0x5b90e8?_0x52d080(new _0x2f74d2(_0x96673),_0x440216):_0x2392ab(_0x96673,_0x440216);var _0x4ae9c0=_0x41b06a['alloc'](_0x107f9a-_0x2f2b5b[_0x1a4e('0x1e')]);if(_0x2f2b5b=_0x41b06a[_0x1a4e('0x9a')]([_0x4ae9c0,_0x2f2b5b],_0x107f9a),0x4===_0x148e9f)return function(_0x567e39,_0x96673){var _0x5b90e8=_0x567e39['modulus'][_0x1a4e('0x876')](),_0x1cf344=_0x281e16(_0x1a4e('0xb4b'))[_0x1a4e('0x937')](_0x41b06a[_0x1a4e('0xa43')](0x0))[_0x1a4e('0xaa9')](),_0x2f74d2=_0x1cf344[_0x1a4e('0x1e')];if(0x0!==_0x96673[0x0])throw new Error(_0x1a4e('0x1273'));var _0x2392ab=_0x96673[_0x1a4e('0x78')](0x1,_0x2f74d2+0x1),_0x52d080=_0x96673['slice'](_0x2f74d2+0x1),_0x148e9f=_0x7e5858(_0x2392ab,_0x4cde0e(_0x52d080,_0x2f74d2)),_0x2f2b5b=_0x7e5858(_0x52d080,_0x4cde0e(_0x148e9f,_0x5b90e8-_0x2f74d2-0x1));if(function(_0x567e39,_0x96673){_0x567e39=_0x41b06a[_0x1a4e('0x1b5')](_0x567e39),_0x96673=_0x41b06a[_0x1a4e('0x1b5')](_0x96673);var _0x5b90e8=0x0,_0x1cf344=_0x567e39[_0x1a4e('0x1e')];_0x567e39[_0x1a4e('0x1e')]!==_0x96673[_0x1a4e('0x1e')]&&(_0x5b90e8++,_0x1cf344=Math[_0x1a4e('0x74')](_0x567e39[_0x1a4e('0x1e')],_0x96673[_0x1a4e('0x1e')]));var _0x4cde0e=-0x1;for(;++_0x4cde0e<_0x1cf344;)_0x5b90e8+=_0x567e39[_0x4cde0e]^_0x96673[_0x4cde0e];return _0x5b90e8;}(_0x1cf344,_0x2f2b5b[_0x1a4e('0x78')](0x0,_0x2f74d2)))throw new Error('decryption\x20error');var _0x440216=_0x2f74d2;for(;0x0===_0x2f2b5b[_0x440216];)_0x440216++;if(0x1!==_0x2f2b5b[_0x440216++])throw new Error('decryption\x20error');return _0x2f2b5b[_0x1a4e('0x78')](_0x440216);}(_0x440216,_0x2f2b5b);if(0x1===_0x148e9f)return function(_0x567e39,_0x96673,_0x5b90e8){var _0x1cf344=_0x96673[_0x1a4e('0x78')](0x0,0x2),_0x4cde0e=0x2,_0x7e5858=0x0;for(;0x0!==_0x96673[_0x4cde0e++];)if(_0x4cde0e>=_0x96673[_0x1a4e('0x1e')]){_0x7e5858++;break;}var _0x2f74d2=_0x96673[_0x1a4e('0x78')](0x2,_0x4cde0e-0x1);('0002'!==_0x1cf344['toString'](_0x1a4e('0x823'))&&!_0x5b90e8||_0x1a4e('0xed4')!==_0x1cf344[_0x1a4e('0x95')]('hex')&&_0x5b90e8)&&_0x7e5858++;_0x2f74d2[_0x1a4e('0x1e')]<0x8&&_0x7e5858++;if(_0x7e5858)throw new Error(_0x1a4e('0x1273'));return _0x96673[_0x1a4e('0x78')](_0x4cde0e);}(0x0,_0x2f2b5b,_0x5b90e8);if(0x3===_0x148e9f)return _0x2f2b5b;throw new Error(_0x1a4e('0x1274'));};},'./node_modules/public-encrypt/publicEncrypt.js':function(_0x231245,_0x4bfe01,_0x32f727){var _0x5b7fab=_0x32f727(_0x1a4e('0xab7')),_0x5bc509=_0x32f727(_0x1a4e('0xb8a')),_0x4d80d7=_0x32f727('./node_modules/create-hash/browser.js'),_0x27e9ed=_0x32f727(_0x1a4e('0x126f')),_0x5acd90=_0x32f727(_0x1a4e('0x1270')),_0x5b864d=_0x32f727(_0x1a4e('0xaac')),_0xa0f875=_0x32f727(_0x1a4e('0x1275')),_0x12caad=_0x32f727('./node_modules/browserify-rsa/index.js'),_0x3f4214=_0x32f727(_0x1a4e('0xa2d'))['Buffer'];_0x231245['exports']=function(_0x231245,_0x4bfe01,_0x32f727){var _0x572c5f;_0x572c5f=_0x231245[_0x1a4e('0x1272')]?_0x231245[_0x1a4e('0x1272')]:_0x32f727?0x1:0x4;var _0x44106d,_0x288b09=_0x5b7fab(_0x231245);if(0x4===_0x572c5f)_0x44106d=function(_0x231245,_0x4bfe01){var _0x32f727=_0x231245[_0x1a4e('0xa91')][_0x1a4e('0x876')](),_0x5b7fab=_0x4bfe01[_0x1a4e('0x1e')],_0xa0f875=_0x4d80d7(_0x1a4e('0xb4b'))['update'](_0x3f4214[_0x1a4e('0xa43')](0x0))[_0x1a4e('0xaa9')](),_0x12caad=_0xa0f875[_0x1a4e('0x1e')],_0x572c5f=0x2*_0x12caad;if(_0x5b7fab>_0x32f727-_0x572c5f-0x2)throw new Error('message\x20too\x20long');var _0x44106d=_0x3f4214[_0x1a4e('0xa43')](_0x32f727-_0x5b7fab-_0x572c5f-0x2),_0x288b09=_0x32f727-_0x12caad-0x1,_0x10ca8f=_0x5bc509(_0x12caad),_0x1cc63f=_0x5acd90(_0x3f4214[_0x1a4e('0x9a')]([_0xa0f875,_0x44106d,_0x3f4214[_0x1a4e('0xa43')](0x1,0x1),_0x4bfe01],_0x288b09),_0x27e9ed(_0x10ca8f,_0x288b09)),_0x4e642b=_0x5acd90(_0x10ca8f,_0x27e9ed(_0x1cc63f,_0x12caad));return new _0x5b864d(_0x3f4214['concat']([_0x3f4214[_0x1a4e('0xa43')](0x1),_0x4e642b,_0x1cc63f],_0x32f727));}(_0x288b09,_0x4bfe01);else if(0x1===_0x572c5f)_0x44106d=function(_0x231245,_0x4bfe01,_0x32f727){var _0x5b7fab,_0x4d80d7=_0x4bfe01['length'],_0x27e9ed=_0x231245['modulus'][_0x1a4e('0x876')]();if(_0x4d80d7>_0x27e9ed-0xb)throw new Error(_0x1a4e('0x1276'));_0x5b7fab=_0x32f727?_0x3f4214[_0x1a4e('0xa43')](_0x27e9ed-_0x4d80d7-0x3,0xff):function(_0x231245){var _0x4bfe01,_0x32f727=_0x3f4214[_0x1a4e('0xa3c')](_0x231245),_0x5b7fab=0x0,_0x4d80d7=_0x5bc509(0x2*_0x231245),_0x27e9ed=0x0;for(;_0x5b7fab<_0x231245;)_0x27e9ed===_0x4d80d7[_0x1a4e('0x1e')]&&(_0x4d80d7=_0x5bc509(0x2*_0x231245),_0x27e9ed=0x0),(_0x4bfe01=_0x4d80d7[_0x27e9ed++])&&(_0x32f727[_0x5b7fab++]=_0x4bfe01);return _0x32f727;}(_0x27e9ed-_0x4d80d7-0x3);return new _0x5b864d(_0x3f4214['concat']([_0x3f4214[_0x1a4e('0x1b5')]([0x0,_0x32f727?0x1:0x2]),_0x5b7fab,_0x3f4214[_0x1a4e('0xa43')](0x1),_0x4bfe01],_0x27e9ed));}(_0x288b09,_0x4bfe01,_0x32f727);else{if(0x3!==_0x572c5f)throw new Error('unknown\x20padding');if((_0x44106d=new _0x5b864d(_0x4bfe01))[_0x1a4e('0x97b')](_0x288b09[_0x1a4e('0xa91')])>=0x0)throw new Error(_0x1a4e('0x1277'));}return _0x32f727?_0x12caad(_0x44106d,_0x288b09):_0xa0f875(_0x44106d,_0x288b09);};},'./node_modules/public-encrypt/withPublic.js':function(_0x4a2ab7,_0x4c4af3,_0x3faf08){var _0x1212be=_0x3faf08(_0x1a4e('0xaac')),_0x50a914=_0x3faf08(_0x1a4e('0xa2d'))['Buffer'];_0x4a2ab7[_0x1a4e('0x0')]=function(_0x4a2ab7,_0x4c4af3){return _0x50a914[_0x1a4e('0x1b5')](_0x4a2ab7[_0x1a4e('0x9e8')](_0x1212be[_0x1a4e('0xa1f')](_0x4c4af3[_0x1a4e('0xa91')]))[_0x1a4e('0xa92')](new _0x1212be(_0x4c4af3[_0x1a4e('0xa93')]))['fromRed']()[_0x1a4e('0x347')]());};},'./node_modules/public-encrypt/xor.js':function(_0x4df209,_0x3eced5){_0x4df209[_0x1a4e('0x0')]=function(_0x4df209,_0x3eced5){for(var _0x2e7bd3=_0x4df209[_0x1a4e('0x1e')],_0x4c53ef=-0x1;++_0x4c53ef<_0x2e7bd3;)_0x4df209[_0x4c53ef]^=_0x3eced5[_0x4c53ef];return _0x4df209;};},'./node_modules/qiankun/es/addons/engineFlag.js':function(_0x24a11f,_0x6683fe,_0x50b2fb){'use strict';_0x50b2fb['r'](_0x6683fe),_0x50b2fb['d'](_0x6683fe,_0x1a4e('0x8'),function(){return _0x23a142;});var _0x3013b5=_0x50b2fb('./node_modules/qiankun/node_modules/@babel/runtime/regenerator/index.js'),_0x2655c4=_0x50b2fb['n'](_0x3013b5),_0x136c21=_0x50b2fb(_0x1a4e('0x1278'));function _0x23a142(_0x24a11f){return{'beforeLoad':function(){return Object(_0x136c21[_0x1a4e('0x1279')])(this,void 0x0,void 0x0,_0x2655c4['a'][_0x1a4e('0xe08')](function _0x6683fe(){return _0x2655c4['a'][_0x1a4e('0x24f')](function(_0x6683fe){for(;;)switch(_0x6683fe[_0x1a4e('0xac')]=_0x6683fe['next']){case 0x0:_0x24a11f[_0x1a4e('0x127a')]=!0x0;case 0x1:case _0x1a4e('0xca'):return _0x6683fe[_0x1a4e('0x127b')]();}},_0x6683fe);}));},'beforeMount':function(){return Object(_0x136c21[_0x1a4e('0x1279')])(this,void 0x0,void 0x0,_0x2655c4['a'][_0x1a4e('0xe08')](function _0x6683fe(){return _0x2655c4['a'][_0x1a4e('0x24f')](function(_0x6683fe){for(;;)switch(_0x6683fe[_0x1a4e('0xac')]=_0x6683fe[_0x1a4e('0x7e')]){case 0x0:_0x24a11f['__POWERED_BY_QIANKUN__']=!0x0;case 0x1:case'end':return _0x6683fe[_0x1a4e('0x127b')]();}},_0x6683fe);}));},'beforeUnmount':function(){return Object(_0x136c21['__awaiter'])(this,void 0x0,void 0x0,_0x2655c4['a'][_0x1a4e('0xe08')](function _0x6683fe(){return _0x2655c4['a'][_0x1a4e('0x24f')](function(_0x6683fe){for(;;)switch(_0x6683fe[_0x1a4e('0xac')]=_0x6683fe['next']){case 0x0:delete _0x24a11f['__POWERED_BY_QIANKUN__'];case 0x1:case'end':return _0x6683fe['stop']();}},_0x6683fe);}));}};}},'./node_modules/qiankun/es/addons/index.js':function(_0x722d8f,_0x27f201,_0x36bc6c){'use strict';_0x36bc6c['r'](_0x27f201),_0x36bc6c['d'](_0x27f201,_0x1a4e('0x8'),function(){return _0x37a3a8;});var _0x302837=_0x36bc6c('./node_modules/lodash/concat.js'),_0x3daca4=_0x36bc6c['n'](_0x302837),_0xe61deb=_0x36bc6c(_0x1a4e('0x127c')),_0x13d555=_0x36bc6c['n'](_0xe61deb),_0x326c6f=_0x36bc6c(_0x1a4e('0x127d')),_0x40c0e2=_0x36bc6c(_0x1a4e('0x127e'));function _0x37a3a8(_0x722d8f,_0x27f201){return _0x13d555()({},Object(_0x40c0e2[_0x1a4e('0x8')])(_0x722d8f),Object(_0x326c6f[_0x1a4e('0x8')])(_0x722d8f,_0x27f201),function(_0x722d8f,_0x27f201){return _0x3daca4()(null!=_0x722d8f?_0x722d8f:[],null!=_0x27f201?_0x27f201:[]);});}},'./node_modules/qiankun/es/addons/runtimePublicPath.js':function(_0xe8299c,_0x5d8263,_0xc250e2){'use strict';_0xc250e2['r'](_0x5d8263),_0xc250e2['d'](_0x5d8263,_0x1a4e('0x8'),function(){return _0x70a24a;});var _0xd67e5b=_0xc250e2('./node_modules/qiankun/node_modules/@babel/runtime/regenerator/index.js'),_0x190180=_0xc250e2['n'](_0xd67e5b),_0x4181ac=_0xc250e2('./node_modules/tslib/tslib.es6.js'),_0x2f51a0=window[_0x1a4e('0x127f')];function _0x70a24a(_0xe8299c){var _0x5d8263=arguments[_0x1a4e('0x1e')]>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:'/',_0xc250e2=!0x1;return{'beforeLoad':function(){return Object(_0x4181ac[_0x1a4e('0x1279')])(this,void 0x0,void 0x0,_0x190180['a']['mark'](function _0xc250e2(){return _0x190180['a']['wrap'](function(_0xc250e2){for(;;)switch(_0xc250e2[_0x1a4e('0xac')]=_0xc250e2[_0x1a4e('0x7e')]){case 0x0:_0xe8299c[_0x1a4e('0x127f')]=_0x5d8263;case 0x1:case _0x1a4e('0xca'):return _0xc250e2[_0x1a4e('0x127b')]();}},_0xc250e2);}));},'beforeMount':function(){return Object(_0x4181ac['__awaiter'])(this,void 0x0,void 0x0,_0x190180['a'][_0x1a4e('0xe08')](function _0xd67e5b(){return _0x190180['a']['wrap'](function(_0xd67e5b){for(;;)switch(_0xd67e5b['prev']=_0xd67e5b[_0x1a4e('0x7e')]){case 0x0:_0xc250e2&&(_0xe8299c[_0x1a4e('0x127f')]=_0x5d8263);case 0x1:case _0x1a4e('0xca'):return _0xd67e5b[_0x1a4e('0x127b')]();}},_0xd67e5b);}));},'beforeUnmount':function(){return Object(_0x4181ac[_0x1a4e('0x1279')])(this,void 0x0,void 0x0,_0x190180['a'][_0x1a4e('0xe08')](function _0x5d8263(){return _0x190180['a'][_0x1a4e('0x24f')](function(_0x5d8263){for(;;)switch(_0x5d8263['prev']=_0x5d8263[_0x1a4e('0x7e')]){case 0x0:void 0x0===_0x2f51a0?delete _0xe8299c['__INJECTED_PUBLIC_PATH_BY_QIANKUN__']:_0xe8299c[_0x1a4e('0x127f')]=_0x2f51a0,_0xc250e2=!0x0;case 0x2:case _0x1a4e('0xca'):return _0x5d8263[_0x1a4e('0x127b')]();}},_0x5d8263);}));}};}},'./node_modules/qiankun/es/apis.js':function(_0x5c3b3c,_0x963cde,_0x29bc6b){'use strict';_0x29bc6b['r'](_0x963cde),_0x29bc6b['d'](_0x963cde,'frameworkConfiguration',function(){return _0x572bda;}),_0x29bc6b['d'](_0x963cde,_0x1a4e('0x1280'),function(){return _0x437fa3;}),_0x29bc6b['d'](_0x963cde,_0x1a4e('0x1281'),function(){return _0x175116;}),_0x29bc6b['d'](_0x963cde,'start',function(){return _0x554308;});var _0x389750=_0x29bc6b('./node_modules/qiankun/node_modules/@babel/runtime/regenerator/index.js'),_0xece984=_0x29bc6b['n'](_0x389750),_0x3fe5a3=_0x29bc6b('./node_modules/lodash/noop.js'),_0x29bf63=_0x29bc6b['n'](_0x3fe5a3),_0x30f106=_0x29bc6b(_0x1a4e('0x1282')),_0x2267b3=_0x29bc6b('./node_modules/tslib/tslib.es6.js'),_0x29f868=_0x29bc6b('./node_modules/single-spa/lib/esm/single-spa.min.js'),_0x5aa237=_0x29bc6b(_0x1a4e('0x1283')),_0x53f6d6=_0x29bc6b(_0x1a4e('0x1284')),_0x3cbb0d=_0x29bc6b(_0x1a4e('0x1285')),_0x54b0b6=[],_0x572bda={},_0x10f8a9=new _0x3cbb0d[(_0x1a4e('0x1286'))]();function _0x437fa3(_0x5c3b3c,_0x963cde){var _0x29bc6b=this,_0x389750=_0x5c3b3c[_0x1a4e('0xd9')](function(_0x5c3b3c){return!_0x54b0b6[_0x1a4e('0x1c2')](function(_0x963cde){return _0x963cde[_0x1a4e('0x2cb')]===_0x5c3b3c['name'];});});_0x54b0b6=[][_0x1a4e('0x9a')](Object(_0x30f106[_0x1a4e('0x8')])(_0x54b0b6),Object(_0x30f106[_0x1a4e('0x8')])(_0x389750)),_0x389750[_0x1a4e('0x3b')](function(_0x5c3b3c){var _0x389750=_0x5c3b3c['name'],_0x3fe5a3=_0x5c3b3c['activeRule'],_0x53f6d6=_0x5c3b3c[_0x1a4e('0x1287')],_0x54b0b6=void 0x0===_0x53f6d6?_0x29bf63['a']:_0x53f6d6,_0x437fa3=_0x5c3b3c[_0x1a4e('0x1288')],_0x47489b=Object(_0x2267b3[_0x1a4e('0x1289')])(_0x5c3b3c,[_0x1a4e('0x2cb'),'activeRule','loader','props']);Object(_0x29f868['registerApplication'])({'name':_0x389750,'app':function(){return Object(_0x2267b3['__awaiter'])(_0x29bc6b,void 0x0,void 0x0,_0xece984['a'][_0x1a4e('0xe08')](function _0x5c3b3c(){var _0x29bc6b,_0x3fe5a3,_0x29bf63,_0x29f868=this;return _0xece984['a'][_0x1a4e('0x24f')](function(_0x5c3b3c){for(;;)switch(_0x5c3b3c['prev']=_0x5c3b3c[_0x1a4e('0x7e')]){case 0x0:return _0x54b0b6(!0x0),_0x5c3b3c[_0x1a4e('0x7e')]=0x3,_0x10f8a9['promise'];case 0x3:return _0x5c3b3c[_0x1a4e('0x7e')]=0x5,Object(_0x5aa237['loadApp'])(Object['assign']({'name':_0x389750,'props':_0x437fa3},_0x47489b),_0x572bda,_0x963cde);case 0x5:return _0x29bc6b=_0x5c3b3c[_0x1a4e('0x128a')],_0x3fe5a3=_0x29bc6b[_0x1a4e('0x128b')],_0x29bf63=Object(_0x2267b3[_0x1a4e('0x1289')])(_0x29bc6b,[_0x1a4e('0x128b')]),_0x5c3b3c['abrupt'](_0x1a4e('0xe40'),Object['assign']({'mount':[function(){return Object(_0x2267b3[_0x1a4e('0x1279')])(_0x29f868,void 0x0,void 0x0,_0xece984['a'][_0x1a4e('0xe08')](function _0x5c3b3c(){return _0xece984['a'][_0x1a4e('0x24f')](function(_0x5c3b3c){for(;;)switch(_0x5c3b3c[_0x1a4e('0xac')]=_0x5c3b3c[_0x1a4e('0x7e')]){case 0x0:return _0x5c3b3c['abrupt']('return',_0x54b0b6(!0x0));case 0x1:case _0x1a4e('0xca'):return _0x5c3b3c[_0x1a4e('0x127b')]();}},_0x5c3b3c);}));}][_0x1a4e('0x9a')](Object(_0x30f106[_0x1a4e('0x8')])(Object(_0x3cbb0d['toArray'])(_0x3fe5a3)),[function(){return Object(_0x2267b3[_0x1a4e('0x1279')])(_0x29f868,void 0x0,void 0x0,_0xece984['a'][_0x1a4e('0xe08')](function _0x5c3b3c(){return _0xece984['a'][_0x1a4e('0x24f')](function(_0x5c3b3c){for(;;)switch(_0x5c3b3c['prev']=_0x5c3b3c[_0x1a4e('0x7e')]){case 0x0:return _0x5c3b3c['abrupt'](_0x1a4e('0xe40'),_0x54b0b6(!0x1));case 0x1:case'end':return _0x5c3b3c[_0x1a4e('0x127b')]();}},_0x5c3b3c);}));}])},_0x29bf63));case 0x9:case _0x1a4e('0xca'):return _0x5c3b3c['stop']();}},_0x5c3b3c);}));},'activeWhen':_0x3fe5a3,'customProps':_0x437fa3});});}function _0x175116(_0x5c3b3c,_0x963cde,_0x29bc6b){var _0x389750=_0x5c3b3c[_0x1a4e('0x1288')];return Object(_0x29f868[_0x1a4e('0x128c')])(function(){return Object(_0x5aa237[_0x1a4e('0x128d')])(_0x5c3b3c,null!=_0x963cde?_0x963cde:_0x572bda,_0x29bc6b);},Object[_0x1a4e('0x200')]({'domElement':document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'))},_0x389750));}function _0x554308(){var _0x5c3b3c=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{},_0x963cde=_0x572bda=Object['assign']({'prefetch':!0x0,'singular':!0x0,'sandbox':!0x0},_0x5c3b3c),_0x29bc6b=_0x963cde['prefetch'],_0x389750=_0x963cde['sandbox'],_0xece984=_0x963cde[_0x1a4e('0x128e')],_0x3fe5a3=_0x963cde[_0x1a4e('0x128f')],_0x29bf63=Object(_0x2267b3[_0x1a4e('0x1289')])(_0x572bda,['prefetch',_0x1a4e('0x1290'),'singular',_0x1a4e('0x128f')]);_0x29bc6b&&Object(_0x53f6d6[_0x1a4e('0x1291')])(_0x54b0b6,_0x29bc6b,_0x29bf63),_0x389750&&(window['Proxy']||(console['warn']('[qiankun]\x20Miss\x20window.Proxy,\x20proxySandbox\x20will\x20degenerate\x20into\x20snapshotSandbox'),_0xece984||(console['error'](_0x1a4e('0x1292')),_0x572bda[_0x1a4e('0x128e')]=!0x0))),Object(_0x29f868[_0x1a4e('0xc9')])({'urlRerouteOnly':_0x3fe5a3}),_0x10f8a9[_0x1a4e('0xe20')]();}},'./node_modules/qiankun/es/effects.js':function(_0x65096,_0x440ce1,_0x1ef0a4){'use strict';_0x1ef0a4['r'](_0x440ce1),_0x1ef0a4['d'](_0x440ce1,_0x1a4e('0x1293'),function(){return _0x3597ac;}),_0x1ef0a4['d'](_0x440ce1,'runDefaultMountEffects',function(){return _0x1fbbbf;}),_0x1ef0a4['d'](_0x440ce1,_0x1a4e('0x1294'),function(){return _0x2199c3;});var _0x8b9ba2=_0x1ef0a4('./node_modules/single-spa/lib/esm/single-spa.min.js'),_0x169051='[qiankun]\x20first\x20app\x20mounted';function _0x3597ac(_0x65096){window[_0x1a4e('0xec5')]('single-spa:no-app-change',function _0x440ce1(){Object(_0x8b9ba2['getMountedApps'])()[_0x1a4e('0x1e')]||Object(_0x8b9ba2[_0x1a4e('0x1295')])(_0x65096),window['removeEventListener'](_0x1a4e('0x1296'),_0x440ce1);});}function _0x1fbbbf(_0x65096){console[_0x1a4e('0xe3c')](_0x1a4e('0x1297')),_0x3597ac(_0x65096);}function _0x2199c3(_0x65096){window[_0x1a4e('0xec5')](_0x1a4e('0x1298'),function _0x440ce1(){console[_0x1a4e('0x1299')](_0x169051),_0x65096(),window[_0x1a4e('0xec2')](_0x1a4e('0x1298'),_0x440ce1);});}console[_0x1a4e('0x129a')](_0x169051);},'./node_modules/qiankun/es/errorHandler.js':function(_0x7bcbfd,_0x2203a6,_0x41c74a){'use strict';_0x41c74a['r'](_0x2203a6),_0x41c74a['d'](_0x2203a6,_0x1a4e('0x129b'),function(){return _0x564577;}),_0x41c74a['d'](_0x2203a6,_0x1a4e('0x129c'),function(){return _0x562615;});var _0x1c0be0=_0x41c74a(_0x1a4e('0x129d'));function _0x564577(_0x7bcbfd){window[_0x1a4e('0xec5')](_0x1a4e('0x873'),_0x7bcbfd),window[_0x1a4e('0xec5')](_0x1a4e('0x129e'),_0x7bcbfd);}function _0x562615(_0x7bcbfd){window[_0x1a4e('0xec2')](_0x1a4e('0x873'),_0x7bcbfd),window[_0x1a4e('0xec2')](_0x1a4e('0x129e'),_0x7bcbfd);}_0x41c74a['d'](_0x2203a6,_0x1a4e('0x129f'),function(){return _0x1c0be0[_0x1a4e('0x129f')];}),_0x41c74a['d'](_0x2203a6,'removeErrorHandler',function(){return _0x1c0be0[_0x1a4e('0x12a0')];});},'./node_modules/qiankun/es/globalState.js':function(_0x48cac6,_0x5ee2d0,_0x51e4fd){'use strict';_0x51e4fd['r'](_0x5ee2d0),_0x51e4fd['d'](_0x5ee2d0,_0x1a4e('0x12a1'),function(){return _0x59bb5d;}),_0x51e4fd['d'](_0x5ee2d0,_0x1a4e('0x12a2'),function(){return _0x249047;});var _0x325795=_0x51e4fd('./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/defineProperty.js'),_0x44a532=_0x51e4fd(_0x1a4e('0x12a3')),_0x57c0f9=_0x51e4fd['n'](_0x44a532),_0x389b37={},_0x5ee1dc={};function _0x4acf0c(_0x48cac6,_0x5ee2d0){Object['keys'](_0x5ee1dc)['forEach'](function(_0x51e4fd){_0x5ee1dc[_0x51e4fd]instanceof Function&&_0x5ee1dc[_0x51e4fd](_0x57c0f9()(_0x48cac6),_0x57c0f9()(_0x5ee2d0));});}function _0x59bb5d(){var _0x48cac6=arguments[_0x1a4e('0x1e')]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x48cac6===_0x389b37)console[_0x1a4e('0xe3c')](_0x1a4e('0x12a4'));else{var _0x5ee2d0=_0x57c0f9()(_0x389b37);_0x4acf0c(_0x389b37=_0x57c0f9()(_0x48cac6),_0x5ee2d0);}return _0x249047(_0x1a4e('0x12a5')['concat'](+new Date()),!0x0);}function _0x249047(_0x48cac6,_0x5ee2d0){return{'onGlobalStateChange':function(_0x5ee2d0,_0x51e4fd){if(_0x5ee2d0 instanceof Function){_0x5ee1dc[_0x48cac6]&&console[_0x1a4e('0xe3c')]('[qiankun]\x20\x27'[_0x1a4e('0x9a')](_0x48cac6,'\x27\x20global\x20listener\x20already\x20exists\x20before\x20this,\x20new\x20listener\x20will\x20overwrite\x20it.')),_0x5ee1dc[_0x48cac6]=_0x5ee2d0;var _0x325795=_0x57c0f9()(_0x389b37);_0x51e4fd&&_0x5ee2d0(_0x325795,_0x325795);}else console[_0x1a4e('0x873')]('[qiankun]\x20callback\x20must\x20be\x20function!');},'setGlobalState':function(){var _0x48cac6=arguments[_0x1a4e('0x1e')]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x48cac6===_0x389b37)return console['warn'](_0x1a4e('0x12a4')),!0x1;var _0x51e4fd=[],_0x44a532=_0x57c0f9()(_0x389b37);return _0x389b37=_0x57c0f9()(Object[_0x1a4e('0x56')](_0x48cac6)[_0x1a4e('0xbb')](function(_0x44a532,_0x57c0f9){return _0x5ee2d0||_0x44a532['hasOwnProperty'](_0x57c0f9)?(_0x51e4fd[_0x1a4e('0x46')](_0x57c0f9),Object[_0x1a4e('0x200')](_0x44a532,Object(_0x325795[_0x1a4e('0x8')])({},_0x57c0f9,_0x48cac6[_0x57c0f9]))):(console[_0x1a4e('0xe3c')](_0x1a4e('0x12a6')['concat'](_0x57c0f9,'\x27\x20not\x20declared\x20when\x20init\x20state!')),_0x44a532);},_0x389b37)),0x0===_0x51e4fd[_0x1a4e('0x1e')]?(console['warn'](_0x1a4e('0x12a4')),!0x1):(_0x4acf0c(_0x389b37,_0x44a532),!0x0);},'offGlobalStateChange':function(){return delete _0x5ee1dc[_0x48cac6],!0x0;}};}},'./node_modules/qiankun/es/index.js':function(_0x34eb0b,_0x4f6234,_0x3d2d82){'use strict';_0x3d2d82['r'](_0x4f6234);var _0x848f79=_0x3d2d82(_0x1a4e('0x12a7'));_0x3d2d82['d'](_0x4f6234,_0x1a4e('0x1281'),function(){return _0x848f79['loadMicroApp'];}),_0x3d2d82['d'](_0x4f6234,_0x1a4e('0x1280'),function(){return _0x848f79['registerMicroApps'];}),_0x3d2d82['d'](_0x4f6234,'start',function(){return _0x848f79[_0x1a4e('0xc9')];});var _0x5b29bb=_0x3d2d82('./node_modules/qiankun/es/globalState.js');_0x3d2d82['d'](_0x4f6234,'initGlobalState',function(){return _0x5b29bb[_0x1a4e('0x12a1')];});var _0x2298e2=_0x3d2d82(_0x1a4e('0x12a8'));_0x3d2d82['d'](_0x4f6234,'addErrorHandler',function(){return _0x2298e2['addErrorHandler'];}),_0x3d2d82['d'](_0x4f6234,_0x1a4e('0x12a0'),function(){return _0x2298e2[_0x1a4e('0x12a0')];}),_0x3d2d82['d'](_0x4f6234,_0x1a4e('0x129b'),function(){return _0x2298e2[_0x1a4e('0x129b')];}),_0x3d2d82['d'](_0x4f6234,_0x1a4e('0x129c'),function(){return _0x2298e2['removeGlobalUncaughtErrorHandler'];});var _0x3778fa=_0x3d2d82(_0x1a4e('0x12a9'));_0x3d2d82['d'](_0x4f6234,_0x1a4e('0x1293'),function(){return _0x3778fa[_0x1a4e('0x1293')];}),_0x3d2d82['d'](_0x4f6234,_0x1a4e('0x12aa'),function(){return _0x3778fa[_0x1a4e('0x12aa')];}),_0x3d2d82['d'](_0x4f6234,'runAfterFirstMounted',function(){return _0x3778fa[_0x1a4e('0x1294')];});var _0x5e975c=_0x3d2d82(_0x1a4e('0x12ab'));_0x3d2d82['d'](_0x4f6234,_0x1a4e('0x12ac'),function(){return _0x5e975c[_0x1a4e('0x12ac')];});var _0x1bb0ae=_0x3d2d82(_0x1a4e('0x1284'));_0x3d2d82['d'](_0x4f6234,_0x1a4e('0x12ad'),function(){return _0x1bb0ae[_0x1a4e('0x12ae')];});},'./node_modules/qiankun/es/interfaces.js':function(_0x5784ca,_0x464229,_0x57090f){'use strict';var _0x4b7de1;_0x57090f['r'](_0x464229),_0x57090f['d'](_0x464229,_0x1a4e('0x12ac'),function(){return _0x4b7de1;}),function(_0x5784ca){_0x5784ca[_0x1a4e('0x12af')]=_0x1a4e('0x12af'),_0x5784ca[_0x1a4e('0x12b0')]=_0x1a4e('0x12b0'),_0x5784ca[_0x1a4e('0x12b1')]='LegacyProxy';}(_0x4b7de1||(_0x4b7de1={}));},'./node_modules/qiankun/es/loader.js':function(_0x77a64c,_0x3bc2c1,_0x348445){'use strict';_0x348445['r'](_0x3bc2c1),_0x348445['d'](_0x3bc2c1,_0x1a4e('0x128d'),function(){return _0x4740d0;});var _0x38d479=_0x348445(_0x1a4e('0x12b2')),_0x45c8be=_0x348445['n'](_0x38d479),_0x2d5692=_0x348445('./node_modules/lodash/mergeWith.js'),_0x279131=_0x348445['n'](_0x2d5692),_0x50f002=_0x348445(_0x1a4e('0x12b3')),_0x22fd24=_0x348445(_0x1a4e('0x12b4')),_0x3538d5=_0x348445['n'](_0x22fd24),_0x5cd909=_0x348445('./node_modules/tslib/tslib.es6.js'),_0x2285e7=_0x348445(_0x1a4e('0x12b5')),_0x5d77a4=_0x348445(_0x1a4e('0x12b6')),_0xe6bd0a=_0x348445('./node_modules/qiankun/es/globalState.js'),_0x721bf6=_0x348445(_0x1a4e('0x12b7')),_0x14db48=_0x348445(_0x1a4e('0x1285'));function _0x3615e5(_0x77a64c,_0x3bc2c1){if(!_0x77a64c){if(_0x3bc2c1)throw new Error(_0x3bc2c1);throw new Error('[qiankun]\x20element\x20not\x20existed!');}}function _0x1fc961(_0x77a64c,_0x3bc2c1){var _0x348445=arguments[_0x1a4e('0x1e')]>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:window;return _0x77a64c[_0x1a4e('0x1e')]?_0x77a64c[_0x1a4e('0xbb')](function(_0x77a64c,_0x38d479){return _0x77a64c[_0x1a4e('0xdf8')](function(){return _0x38d479(_0x3bc2c1,_0x348445);});},Promise[_0x1a4e('0xe20')]()):Promise[_0x1a4e('0xe20')]();}function _0xa680d(_0x77a64c,_0x3bc2c1){return Object(_0x5cd909[_0x1a4e('0x1279')])(this,void 0x0,void 0x0,_0x3538d5['a']['mark'](function _0x348445(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x348445){for(;;)switch(_0x348445['prev']=_0x348445[_0x1a4e('0x7e')]){case 0x0:return _0x348445[_0x1a4e('0x12b8')](_0x1a4e('0xe40'),_0x1a4e('0x68')==typeof _0x77a64c?_0x77a64c(_0x3bc2c1):!!_0x77a64c);case 0x1:case _0x1a4e('0xca'):return _0x348445[_0x1a4e('0x127b')]();}},_0x348445);}));}var _0xda35df=document[_0x1a4e('0x10f1')]['attachShadow']||document[_0x1a4e('0x10f1')][_0x1a4e('0x12b9')];function _0x1ae808(_0x77a64c,_0x3bc2c1){var _0x348445=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));_0x348445[_0x1a4e('0x12ba')]=_0x77a64c;var _0x38d479=_0x348445[_0x1a4e('0x12bb')];if(_0x3bc2c1)if(_0xda35df){var _0x45c8be=_0x38d479[_0x1a4e('0x12ba')];_0x38d479['innerHTML']='',(_0x38d479['attachShadow']?_0x38d479['attachShadow']({'mode':_0x1a4e('0x12bc')}):_0x38d479[_0x1a4e('0x12b9')]())[_0x1a4e('0x12ba')]=_0x45c8be;}else console['warn'](_0x1a4e('0x12bd'));return _0x38d479;}function _0x12a5bb(_0x77a64c,_0x3bc2c1,_0x348445,_0x38d479,_0x45c8be,_0x2d5692){return function(){if(_0x348445){if(_0x38d479)throw new Error(_0x1a4e('0x12be'));if(_0x45c8be)throw new Error('[qiankun]:\x20experimentalStyleIsolation\x20can\x20not\x20be\x20used\x20with\x20legacy\x20render!');var _0x279131=document['getElementById'](Object(_0x14db48[_0x1a4e('0x12bf')])(_0x3bc2c1));return _0x3615e5(_0x279131,'[qiankun]\x20Wrapper\x20element\x20for\x20'[_0x1a4e('0x9a')](_0x77a64c,'\x20with\x20instance\x20')[_0x1a4e('0x9a')](_0x3bc2c1,_0x1a4e('0x12c0'))),_0x279131;}var _0x50f002=_0x2d5692();(_0x3615e5(_0x50f002,_0x1a4e('0x12c1')[_0x1a4e('0x9a')](_0x77a64c,'\x20with\x20instance\x20')[_0x1a4e('0x9a')](_0x3bc2c1,'\x20is\x20not\x20existed!')),_0x45c8be)&&(_0x50f002['getAttribute'](_0x721bf6[_0x1a4e('0x12c2')]['QiankunCSSRewriteAttr'])||_0x50f002['setAttribute'](_0x721bf6[_0x1a4e('0x12c2')][_0x1a4e('0x12c3')],_0x77a64c));return _0x38d479?_0x50f002['shadowRoot']:_0x50f002;};}var _0x42d366,_0x550da8=HTMLElement[_0x1a4e('0xa')][_0x1a4e('0x12c4')],_0x511faa=HTMLElement['prototype'][_0x1a4e('0x12c5')];function _0x39b1ca(_0x77a64c,_0x3bc2c1,_0x348445,_0x38d479){return function(_0x45c8be,_0x2d5692){var _0x279131=_0x45c8be['element'],_0x50f002=_0x45c8be[_0x1a4e('0x12c6')];if(_0x38d479)return console[_0x1a4e('0xe3c')]('[qiankun]\x20Custom\x20rendering\x20function\x20is\x20deprecated,\x20you\x20can\x20use\x20the\x20container\x20element\x20setting\x20instead!'),_0x38d479({'loading':_0x50f002,'appContent':_0x279131?_0x3bc2c1:''});var _0x22fd24=_0x1a4e('0x9')==typeof _0x348445?document['querySelector'](_0x348445):_0x348445;_0x1a4e('0x12c7')!==_0x2d5692&&_0x3615e5(_0x22fd24,function(){switch(_0x2d5692){case _0x1a4e('0x12c6'):case _0x1a4e('0x12c8'):return _0x1a4e('0x12c9')[_0x1a4e('0x9a')](_0x348445,'\x20not\x20existed\x20while\x20')[_0x1a4e('0x9a')](_0x77a64c,'\x20')[_0x1a4e('0x9a')](_0x2d5692,'!');case'mounted':return _0x1a4e('0x12c9')[_0x1a4e('0x9a')](_0x348445,_0x1a4e('0x12ca'))[_0x1a4e('0x9a')](_0x77a64c,'\x20')[_0x1a4e('0x9a')](_0x2d5692,'!');default:return'[qiankun]\x20Target\x20container\x20with\x20'[_0x1a4e('0x9a')](_0x348445,_0x1a4e('0x12cb'))[_0x1a4e('0x9a')](_0x77a64c,_0x1a4e('0x12cc'));}}());if(_0x22fd24&&!_0x22fd24[_0x1a4e('0x2ac')](_0x279131)){for(;_0x22fd24['firstChild'];)_0x511faa[_0x1a4e('0x1')](_0x22fd24,_0x22fd24[_0x1a4e('0x12bb')]);_0x279131&&_0x550da8[_0x1a4e('0x1')](_0x22fd24,_0x279131);}};}function _0x3b35a0(_0x77a64c,_0x3bc2c1,_0x348445){if(Object(_0x14db48[_0x1a4e('0x12cd')])(_0x77a64c))return _0x77a64c;console[_0x1a4e('0xe3c')]('[qiankun]\x20lifecycle\x20not\x20found\x20from\x20'['concat'](_0x3bc2c1,'\x20entry\x20exports,\x20fallback\x20to\x20get\x20from\x20window[\x27')[_0x1a4e('0x9a')](_0x3bc2c1,'\x27]'));var _0x38d479=_0x348445[_0x3bc2c1];if(Object(_0x14db48[_0x1a4e('0x12cd')])(_0x38d479))return _0x38d479;throw new Error(_0x1a4e('0x12ce')[_0x1a4e('0x9a')](_0x3bc2c1,_0x1a4e('0x12cf')));}function _0x4740d0(_0x77a64c){var _0x3bc2c1=arguments[_0x1a4e('0x1e')]>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:{},_0x348445=arguments[_0x1a4e('0x1e')]>0x2?arguments[0x2]:void 0x0;return Object(_0x5cd909[_0x1a4e('0x1279')])(this,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x38d479(){var _0x2d5692,_0x22fd24,_0x3615e5,_0xda35df,_0x550da8,_0x511faa,_0x4740d0,_0x3466bc,_0x23044f,_0x2ade0a,_0x13b0d5,_0x250718,_0x579c70,_0x2e7b58,_0x5a5652,_0x1539d6,_0x560e6b,_0x26706f,_0x5aa001,_0x19e454,_0xc10902,_0x294563,_0x34c18b,_0x2c6752,_0x862f3d,_0x552f7c,_0x4f5127,_0x49df29,_0x17dd12,_0x39a5b7,_0x1e3c3e,_0x174a3f,_0x27f137,_0x3254e3,_0x43cfba,_0x492b31,_0x6f97ae,_0x331e97,_0x5b7ddd,_0x5b948b,_0x4f7f64,_0x1d61c8,_0x48b74e,_0x5d77e6,_0x3d2add,_0x2ca58a,_0x47e955,_0x6b1f69,_0x5c4706=this;return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x38d479){for(;;)switch(_0x38d479[_0x1a4e('0xac')]=_0x38d479[_0x1a4e('0x7e')]){case 0x0:return _0x2d5692=_0x77a64c[_0x1a4e('0xe1b')],_0x22fd24=_0x77a64c[_0x1a4e('0x2cb')],_0x3615e5=''[_0x1a4e('0x9a')](_0x22fd24,'_')[_0x1a4e('0x9a')](+new Date(),'_')[_0x1a4e('0x9a')](Math['floor'](0x3e8*Math[_0x1a4e('0x12e')]())),_0xda35df=_0x1a4e('0x12d0')[_0x1a4e('0x9a')](_0x3615e5,_0x1a4e('0x12d1')),Object(_0x14db48['performanceMark'])(_0xda35df),_0x550da8=_0x3bc2c1[_0x1a4e('0x128e')],_0x511faa=void 0x0!==_0x550da8&&_0x550da8,_0x4740d0=_0x3bc2c1[_0x1a4e('0x1290')],_0x3466bc=void 0x0===_0x4740d0||_0x4740d0,_0x23044f=_0x3bc2c1[_0x1a4e('0x12d2')],_0x2ade0a=Object(_0x5cd909['__rest'])(_0x3bc2c1,[_0x1a4e('0x128e'),'sandbox',_0x1a4e('0x12d2')]),_0x38d479[_0x1a4e('0x7e')]=0x7,Object(_0x2285e7['importEntry'])(_0x2d5692,_0x2ade0a);case 0x7:return _0x13b0d5=_0x38d479[_0x1a4e('0x128a')],_0x250718=_0x13b0d5[_0x1a4e('0xe19')],_0x579c70=_0x13b0d5[_0x1a4e('0xdf2')],_0x2e7b58=_0x13b0d5[_0x1a4e('0x12d3')],_0x38d479[_0x1a4e('0x7e')]=0xd,_0xa680d(_0x511faa,_0x77a64c);case 0xd:if(!_0x38d479['sent']){_0x38d479[_0x1a4e('0x7e')]=0x10;break;}return _0x38d479[_0x1a4e('0x7e')]=0x10,_0x42d366&&_0x42d366[_0x1a4e('0x12d4')];case 0x10:return _0x5a5652='object'===Object(_0x50f002['default'])(_0x3466bc)&&!!_0x3466bc[_0x1a4e('0x12d5')],_0x1539d6=Object(_0x14db48['isEnableScopedCSS'])(_0x3bc2c1),_0x560e6b=Object(_0x14db48['getDefaultTplWrapper'])(_0x3615e5,_0x22fd24)(_0x250718),(_0x26706f=_0x1ae808(_0x560e6b,_0x5a5652))&&Object(_0x14db48[_0x1a4e('0x12d6')])(_0x3bc2c1)&&(_0x26706f[_0x1a4e('0x12d7')]('style')||[])['forEach'](function(_0x77a64c){_0x721bf6[_0x1a4e('0x12c2')][_0x1a4e('0x1154')](_0x26706f,_0x77a64c,_0x22fd24);}),_0x5aa001=_0x1a4e('0x12d8')in _0x77a64c?_0x77a64c[_0x1a4e('0x12d8')]:void 0x0,_0x19e454=_0x1a4e('0x12d9')in _0x77a64c?_0x77a64c[_0x1a4e('0x12d9')]:void 0x0,(_0xc10902=_0x39b1ca(_0x22fd24,_0x560e6b,_0x5aa001,_0x19e454))({'element':_0x26706f,'loading':!0x0},_0x1a4e('0x12c6')),_0x294563=_0x12a5bb(_0x22fd24,_0x3615e5,!!_0x19e454,_0x5a5652,_0x1539d6,function(){return _0x26706f;}),_0x34c18b=window,_0x2c6752=function(){return Promise[_0x1a4e('0xe20')]();},_0x862f3d=function(){return Promise[_0x1a4e('0xe20')]();},_0x3466bc&&(_0x552f7c=Object(_0x721bf6[_0x1a4e('0x12da')])(_0x22fd24,_0x294563,Boolean(_0x511faa),_0x1539d6,_0x23044f),_0x34c18b=_0x552f7c['proxy'],_0x2c6752=_0x552f7c[_0x1a4e('0x128b')],_0x862f3d=_0x552f7c['unmount']),_0x4f5127=_0x279131()({},Object(_0x5d77a4[_0x1a4e('0x8')])(_0x34c18b,_0x2e7b58),_0x348445,function(_0x77a64c,_0x3bc2c1){return _0x45c8be()(null!=_0x77a64c?_0x77a64c:[],null!=_0x3bc2c1?_0x3bc2c1:[]);}),_0x49df29=_0x4f5127[_0x1a4e('0x12db')],_0x17dd12=void 0x0===_0x49df29?[]:_0x49df29,_0x39a5b7=_0x4f5127[_0x1a4e('0x12dc')],_0x1e3c3e=void 0x0===_0x39a5b7?[]:_0x39a5b7,_0x174a3f=_0x4f5127['afterMount'],_0x27f137=void 0x0===_0x174a3f?[]:_0x174a3f,_0x3254e3=_0x4f5127[_0x1a4e('0x12dd')],_0x43cfba=void 0x0===_0x3254e3?[]:_0x3254e3,_0x492b31=_0x4f5127[_0x1a4e('0x12de')],_0x6f97ae=void 0x0===_0x492b31?[]:_0x492b31,_0x38d479[_0x1a4e('0x7e')]=0x21,_0x1fc961(Object(_0x14db48['toArray'])(_0x6f97ae),_0x77a64c,_0x34c18b);case 0x21:return _0x38d479['next']=0x23,_0x579c70(_0x34c18b,!_0x511faa);case 0x23:return _0x331e97=_0x38d479[_0x1a4e('0x128a')],_0x5b7ddd=_0x3b35a0(_0x331e97,_0x22fd24,_0x34c18b),_0x5b948b=_0x5b7ddd[_0x1a4e('0x12df')],_0x4f7f64=_0x5b7ddd[_0x1a4e('0x128b')],_0x1d61c8=_0x5b7ddd['unmount'],_0x48b74e=_0x5b7ddd[_0x1a4e('0x937')],_0x5d77e6=Object(_0xe6bd0a[_0x1a4e('0x12a2')])(_0x3615e5),_0x3d2add=_0x5d77e6['onGlobalStateChange'],_0x2ca58a=_0x5d77e6[_0x1a4e('0x12e0')],_0x47e955=_0x5d77e6[_0x1a4e('0x12e1')],_0x6b1f69={'name':_0x3615e5,'bootstrap':_0x5b948b,'mount':[function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a']['mark'](function _0x77a64c(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x77a64c){for(;;)switch(_0x77a64c['prev']=_0x77a64c['next']){case 0x0:performance[_0x1a4e('0x12e2')](_0xda35df,_0x1a4e('0xe08'))[_0x1a4e('0x1e')]||Object(_0x14db48[_0x1a4e('0x12e3')])(_0xda35df);case 0x1:case'end':return _0x77a64c[_0x1a4e('0x127b')]();}},_0x77a64c);}));},function(){return Object(_0x5cd909['__awaiter'])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x3bc2c1(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x3bc2c1){for(;;)switch(_0x3bc2c1['prev']=_0x3bc2c1['next']){case 0x0:return _0x3bc2c1['next']=0x2,_0xa680d(_0x511faa,_0x77a64c);case 0x2:if(_0x3bc2c1['t0']=_0x3bc2c1['sent'],!_0x3bc2c1['t0']){_0x3bc2c1['next']=0x5;break;}_0x3bc2c1['t0']=_0x42d366;case 0x5:if(!_0x3bc2c1['t0']){_0x3bc2c1['next']=0x7;break;}return _0x3bc2c1[_0x1a4e('0x12b8')]('return',_0x42d366[_0x1a4e('0x12d4')]);case 0x7:return _0x3bc2c1[_0x1a4e('0x12b8')](_0x1a4e('0xe40'),void 0x0);case 0x8:case _0x1a4e('0xca'):return _0x3bc2c1[_0x1a4e('0x127b')]();}},_0x3bc2c1);}));},function(){return Object(_0x5cd909['__awaiter'])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a']['mark'](function _0x77a64c(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x77a64c){for(;;)switch(_0x77a64c[_0x1a4e('0xac')]=_0x77a64c[_0x1a4e('0x7e')]){case 0x0:_0x26706f=_0x26706f||_0x1ae808(_0x560e6b,_0x5a5652),_0xc10902({'element':_0x26706f,'loading':!0x0},_0x1a4e('0x12c8'));case 0x2:case _0x1a4e('0xca'):return _0x77a64c[_0x1a4e('0x127b')]();}},_0x77a64c);}));},_0x2c6752,function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x3bc2c1(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x3bc2c1){for(;;)switch(_0x3bc2c1[_0x1a4e('0xac')]=_0x3bc2c1[_0x1a4e('0x7e')]){case 0x0:return _0x3bc2c1[_0x1a4e('0x12b8')]('return',_0x1fc961(Object(_0x14db48[_0x1a4e('0x347')])(_0x43cfba),_0x77a64c,_0x34c18b));case 0x1:case _0x1a4e('0xca'):return _0x3bc2c1[_0x1a4e('0x127b')]();}},_0x3bc2c1);}));},function(_0x77a64c){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x3bc2c1(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x3bc2c1){for(;;)switch(_0x3bc2c1['prev']=_0x3bc2c1[_0x1a4e('0x7e')]){case 0x0:return _0x3bc2c1[_0x1a4e('0x12b8')](_0x1a4e('0xe40'),_0x4f7f64(Object[_0x1a4e('0x200')](Object['assign']({},_0x77a64c),{'container':_0x294563(),'setGlobalState':_0x2ca58a,'onGlobalStateChange':_0x3d2add})));case 0x1:case _0x1a4e('0xca'):return _0x3bc2c1[_0x1a4e('0x127b')]();}},_0x3bc2c1);}));},function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x77a64c(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x77a64c){for(;;)switch(_0x77a64c[_0x1a4e('0xac')]=_0x77a64c[_0x1a4e('0x7e')]){case 0x0:return _0x77a64c[_0x1a4e('0x12b8')]('return',_0xc10902({'element':_0x26706f,'loading':!0x1},_0x1a4e('0x12e4')));case 0x1:case _0x1a4e('0xca'):return _0x77a64c[_0x1a4e('0x127b')]();}},_0x77a64c);}));},function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x3bc2c1(){return _0x3538d5['a']['wrap'](function(_0x3bc2c1){for(;;)switch(_0x3bc2c1[_0x1a4e('0xac')]=_0x3bc2c1[_0x1a4e('0x7e')]){case 0x0:return _0x3bc2c1[_0x1a4e('0x12b8')](_0x1a4e('0xe40'),_0x1fc961(Object(_0x14db48[_0x1a4e('0x347')])(_0x27f137),_0x77a64c,_0x34c18b));case 0x1:case _0x1a4e('0xca'):return _0x3bc2c1[_0x1a4e('0x127b')]();}},_0x3bc2c1);}));},function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x3bc2c1(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x3bc2c1){for(;;)switch(_0x3bc2c1[_0x1a4e('0xac')]=_0x3bc2c1['next']){case 0x0:return _0x3bc2c1['next']=0x2,_0xa680d(_0x511faa,_0x77a64c);case 0x2:if(!_0x3bc2c1['sent']){_0x3bc2c1[_0x1a4e('0x7e')]=0x4;break;}_0x42d366=new _0x14db48['Deferred']();case 0x4:case _0x1a4e('0xca'):return _0x3bc2c1['stop']();}},_0x3bc2c1);}));},function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x77a64c(){var _0x3bc2c1;return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x77a64c){for(;;)switch(_0x77a64c[_0x1a4e('0xac')]=_0x77a64c[_0x1a4e('0x7e')]){case 0x0:_0x3bc2c1=_0x1a4e('0x12d0')[_0x1a4e('0x9a')](_0x3615e5,'\x20Loading\x20Consuming'),Object(_0x14db48[_0x1a4e('0x12e5')])(_0x3bc2c1,_0xda35df);case 0x1:case _0x1a4e('0xca'):return _0x77a64c[_0x1a4e('0x127b')]();}},_0x77a64c);}));}],'unmount':[function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x3bc2c1(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x3bc2c1){for(;;)switch(_0x3bc2c1[_0x1a4e('0xac')]=_0x3bc2c1[_0x1a4e('0x7e')]){case 0x0:return _0x3bc2c1[_0x1a4e('0x12b8')](_0x1a4e('0xe40'),_0x1fc961(Object(_0x14db48[_0x1a4e('0x347')])(_0x17dd12),_0x77a64c,_0x34c18b));case 0x1:case'end':return _0x3bc2c1['stop']();}},_0x3bc2c1);}));},function(_0x77a64c){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x3bc2c1(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x3bc2c1){for(;;)switch(_0x3bc2c1[_0x1a4e('0xac')]=_0x3bc2c1['next']){case 0x0:return _0x3bc2c1[_0x1a4e('0x12b8')](_0x1a4e('0xe40'),_0x1d61c8(Object[_0x1a4e('0x200')](Object['assign']({},_0x77a64c),{'container':_0x294563()})));case 0x1:case'end':return _0x3bc2c1[_0x1a4e('0x127b')]();}},_0x3bc2c1);}));},_0x862f3d,function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x3bc2c1(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x3bc2c1){for(;;)switch(_0x3bc2c1[_0x1a4e('0xac')]=_0x3bc2c1['next']){case 0x0:return _0x3bc2c1[_0x1a4e('0x12b8')](_0x1a4e('0xe40'),_0x1fc961(Object(_0x14db48[_0x1a4e('0x347')])(_0x1e3c3e),_0x77a64c,_0x34c18b));case 0x1:case _0x1a4e('0xca'):return _0x3bc2c1[_0x1a4e('0x127b')]();}},_0x3bc2c1);}));},function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x77a64c(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x77a64c){for(;;)switch(_0x77a64c[_0x1a4e('0xac')]=_0x77a64c[_0x1a4e('0x7e')]){case 0x0:_0xc10902({'element':null,'loading':!0x1},_0x1a4e('0x12c7')),_0x47e955(_0x3615e5),_0x26706f=null;case 0x3:case _0x1a4e('0xca'):return _0x77a64c[_0x1a4e('0x127b')]();}},_0x77a64c);}));},function(){return Object(_0x5cd909[_0x1a4e('0x1279')])(_0x5c4706,void 0x0,void 0x0,_0x3538d5['a'][_0x1a4e('0xe08')](function _0x3bc2c1(){return _0x3538d5['a'][_0x1a4e('0x24f')](function(_0x3bc2c1){for(;;)switch(_0x3bc2c1['prev']=_0x3bc2c1[_0x1a4e('0x7e')]){case 0x0:return _0x3bc2c1[_0x1a4e('0x7e')]=0x2,_0xa680d(_0x511faa,_0x77a64c);case 0x2:if(_0x3bc2c1['t0']=_0x3bc2c1[_0x1a4e('0x128a')],!_0x3bc2c1['t0']){_0x3bc2c1[_0x1a4e('0x7e')]=0x5;break;}_0x3bc2c1['t0']=_0x42d366;case 0x5:if(!_0x3bc2c1['t0']){_0x3bc2c1[_0x1a4e('0x7e')]=0x7;break;}_0x42d366[_0x1a4e('0xe20')]();case 0x7:case _0x1a4e('0xca'):return _0x3bc2c1['stop']();}},_0x3bc2c1);}));}]},_0x1a4e('0x68')==typeof _0x48b74e&&(_0x6b1f69[_0x1a4e('0x937')]=_0x48b74e),_0x38d479[_0x1a4e('0x12b8')]('return',_0x6b1f69);case 0x29:case _0x1a4e('0xca'):return _0x38d479[_0x1a4e('0x127b')]();}},_0x38d479);}));}},'./node_modules/qiankun/es/prefetch.js':function(_0x41997b,_0x50a2f3,_0x160086){'use strict';_0x160086['r'](_0x50a2f3),_0x160086['d'](_0x50a2f3,_0x1a4e('0x12ae'),function(){return _0x3c3bc2;}),_0x160086['d'](_0x50a2f3,_0x1a4e('0x1291'),function(){return _0x3abf75;});var _0x2145a3=_0x160086(_0x1a4e('0xf91')),_0x3a0f23=_0x160086['n'](_0x2145a3),_0x4da71f=_0x160086(_0x1a4e('0x12b4')),_0x2694d1=_0x160086['n'](_0x4da71f),_0x291789=_0x160086(_0x1a4e('0x1278')),_0x11023b=_0x160086(_0x1a4e('0x12b5')),_0x56c3f2=_0x160086('./node_modules/single-spa/lib/esm/single-spa.min.js'),_0x56cb02=window[_0x1a4e('0xe07')]||function(_0x41997b){var _0x50a2f3=Date['now']();return setTimeout(function(){_0x41997b({'didTimeout':!0x1,'timeRemaining':function(){return Math[_0x1a4e('0x6c')](0x0,0x32-(Date[_0x1a4e('0xe3f')]()-_0x50a2f3));}});},0x1);},_0x194d37=!!navigator[_0x1a4e('0x12e6')]&&(navigator[_0x1a4e('0x12e6')][_0x1a4e('0x12e7')]||_0x1a4e('0x12e8')!==navigator['connection'][_0x1a4e('0x40')]&&_0x1a4e('0x12e9')!==navigator[_0x1a4e('0x12e6')]['type']&&/(2|3)g/['test'](navigator[_0x1a4e('0x12e6')][_0x1a4e('0x12ea')]));function _0x5ecd33(_0x41997b,_0x50a2f3){var _0x160086=this;navigator['onLine']&&!_0x194d37&&_0x56cb02(function(){return Object(_0x291789['__awaiter'])(_0x160086,void 0x0,void 0x0,_0x2694d1['a'][_0x1a4e('0xe08')](function _0x160086(){var _0x2145a3,_0x3a0f23,_0x4da71f;return _0x2694d1['a']['wrap'](function(_0x160086){for(;;)switch(_0x160086[_0x1a4e('0xac')]=_0x160086[_0x1a4e('0x7e')]){case 0x0:return _0x160086['next']=0x2,Object(_0x11023b[_0x1a4e('0xdf3')])(_0x41997b,_0x50a2f3);case 0x2:_0x2145a3=_0x160086[_0x1a4e('0x128a')],_0x3a0f23=_0x2145a3[_0x1a4e('0xdf1')],_0x4da71f=_0x2145a3[_0x1a4e('0xdf0')],_0x56cb02(_0x4da71f),_0x56cb02(_0x3a0f23);case 0x7:case'end':return _0x160086[_0x1a4e('0x127b')]();}},_0x160086);}));});}function _0x38d54f(_0x41997b,_0x50a2f3){window[_0x1a4e('0xec5')](_0x1a4e('0x1298'),function _0x160086(){var _0x2145a3=Object(_0x56c3f2[_0x1a4e('0x12eb')])(),_0x3a0f23=_0x41997b[_0x1a4e('0xd9')](function(_0x41997b){return-0x1===_0x2145a3[_0x1a4e('0x3e')](_0x41997b[_0x1a4e('0x2cb')]);});console[_0x1a4e('0x58')]('[qiankun]\x20prefetch\x20starting\x20after\x20'[_0x1a4e('0x9a')](_0x2145a3,'\x20mounted...'),_0x3a0f23),_0x3a0f23[_0x1a4e('0x3b')](function(_0x41997b){return _0x5ecd33(_0x41997b['entry'],_0x50a2f3);}),window[_0x1a4e('0xec2')](_0x1a4e('0x1298'),_0x160086);});}function _0x3c3bc2(_0x41997b,_0x50a2f3){console['log'](_0x1a4e('0x12ec'),_0x41997b),_0x41997b['forEach'](function(_0x41997b){return _0x5ecd33(_0x41997b[_0x1a4e('0xe1b')],_0x50a2f3);});}function _0x3abf75(_0x41997b,_0x50a2f3,_0x160086){var _0x2145a3=this,_0x4da71f=function(_0x50a2f3){return _0x41997b[_0x1a4e('0xd9')](function(_0x41997b){return _0x50a2f3['includes'](_0x41997b[_0x1a4e('0x2cb')]);});};if(Array[_0x1a4e('0x15')](_0x50a2f3))_0x38d54f(_0x4da71f(_0x50a2f3),_0x160086);else if(_0x3a0f23()(_0x50a2f3))Object(_0x291789['__awaiter'])(_0x2145a3,void 0x0,void 0x0,_0x2694d1['a'][_0x1a4e('0xe08')](function _0x2145a3(){var _0x3a0f23,_0x291789,_0x11023b,_0x56c3f2,_0x56cb02;return _0x2694d1['a'][_0x1a4e('0x24f')](function(_0x2145a3){for(;;)switch(_0x2145a3[_0x1a4e('0xac')]=_0x2145a3[_0x1a4e('0x7e')]){case 0x0:return _0x2145a3[_0x1a4e('0x7e')]=0x2,_0x50a2f3(_0x41997b);case 0x2:_0x3a0f23=_0x2145a3[_0x1a4e('0x128a')],_0x291789=_0x3a0f23[_0x1a4e('0x12ed')],_0x11023b=void 0x0===_0x291789?[]:_0x291789,_0x56c3f2=_0x3a0f23[_0x1a4e('0x12ee')],_0x56cb02=void 0x0===_0x56c3f2?[]:_0x56c3f2,_0x3c3bc2(_0x4da71f(_0x11023b),_0x160086),_0x38d54f(_0x4da71f(_0x56cb02),_0x160086);case 0x9:case _0x1a4e('0xca'):return _0x2145a3[_0x1a4e('0x127b')]();}},_0x2145a3);}));else switch(_0x50a2f3){case!0x0:_0x38d54f(_0x41997b,_0x160086);break;case _0x1a4e('0xb8'):_0x3c3bc2(_0x41997b,_0x160086);}}},'./node_modules/qiankun/es/sandbox/common.js':function(_0x54e6ac,_0x38e977,_0x1b32f8){'use strict';_0x1b32f8['r'](_0x38e977),_0x1b32f8['d'](_0x38e977,_0x1a4e('0x12ef'),function(){return _0x1f4ed1;}),_0x1b32f8['d'](_0x38e977,_0x1a4e('0x12f0'),function(){return _0x340ff9;}),_0x1b32f8['d'](_0x38e977,_0x1a4e('0x12f1'),function(){return _0x576b29;});var _0x141d92=_0x1b32f8('./node_modules/qiankun/es/utils.js'),_0x1f4ed1=Symbol(_0x1a4e('0x12f2')),_0x281089=Symbol('bound\x20value');function _0x340ff9(_0x54e6ac,_0x38e977){if(Object(_0x141d92[_0x1a4e('0x12f3')])(_0x38e977)&&!Object(_0x141d92[_0x1a4e('0x12f4')])(_0x38e977)&&!Object(_0x141d92['isConstructable'])(_0x38e977)){if(_0x38e977[_0x281089])return _0x38e977[_0x281089];var _0x1b32f8=_0x38e977[_0x1a4e('0x945')](_0x54e6ac);return Object[_0x1a4e('0x56')](_0x38e977)[_0x1a4e('0x3b')](function(_0x54e6ac){return _0x1b32f8[_0x54e6ac]=_0x38e977[_0x54e6ac];}),Object[_0x1a4e('0x2')](_0x38e977,_0x281089,{'enumerable':!0x1,'value':_0x1b32f8}),_0x1b32f8;}return _0x38e977;}var _0x5881a5=new Map();function _0x576b29(_0x54e6ac){var _0x38e977=_0x5881a5[_0x1a4e('0x179')](_0x54e6ac);if(!_0x38e977){var _0x1b32f8=_0x54e6ac();return _0x5881a5['set'](_0x54e6ac,_0x1b32f8),_0x1b32f8;}return _0x38e977;}},'./node_modules/qiankun/es/sandbox/index.js':function(_0x4270d0,_0xb86b2f,_0x3a95c9){'use strict';_0x3a95c9['r'](_0xb86b2f),_0x3a95c9['d'](_0xb86b2f,_0x1a4e('0x12da'),function(){return _0x517bdf;});var _0x317750=_0x3a95c9('./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js'),_0x15143d=_0x3a95c9('./node_modules/qiankun/node_modules/@babel/runtime/regenerator/index.js'),_0x1ad42f=_0x3a95c9['n'](_0x15143d),_0x584805=_0x3a95c9(_0x1a4e('0x1278')),_0x115bef=_0x3a95c9(_0x1a4e('0x12f5')),_0x3ac23b=_0x3a95c9('./node_modules/qiankun/es/sandbox/patchers/index.js'),_0x485e1e=_0x3a95c9(_0x1a4e('0x12f6')),_0x3884f1=_0x3a95c9(_0x1a4e('0x12f7'));function _0x517bdf(_0x4270d0,_0xb86b2f,_0x3a95c9,_0x15143d,_0x517bdf){var _0x5f1054;_0x5f1054=window['Proxy']?_0x3a95c9?new _0x115bef[(_0x1a4e('0x8'))](_0x4270d0):new _0x485e1e[(_0x1a4e('0x8'))](_0x4270d0):new _0x3884f1['default'](_0x4270d0);var _0x119562=Object(_0x3ac23b[_0x1a4e('0x12f8')])(_0x4270d0,_0xb86b2f,_0x5f1054,_0x3a95c9,_0x15143d,_0x517bdf),_0xa9b6a8=[],_0x5e3181=[];return{'proxy':_0x5f1054[_0x1a4e('0xdfd')],'mount':function(){return Object(_0x584805[_0x1a4e('0x1279')])(this,void 0x0,void 0x0,_0x1ad42f['a'][_0x1a4e('0xe08')](function _0x317750(){var _0x584805,_0x115bef;return _0x1ad42f['a'][_0x1a4e('0x24f')](function(_0x317750){for(;;)switch(_0x317750['prev']=_0x317750['next']){case 0x0:_0x5f1054['active'](),_0x584805=_0x5e3181[_0x1a4e('0x78')](0x0,_0x119562[_0x1a4e('0x1e')]),_0x115bef=_0x5e3181[_0x1a4e('0x78')](_0x119562[_0x1a4e('0x1e')]),_0x584805[_0x1a4e('0x1e')]&&_0x584805[_0x1a4e('0x3b')](function(_0x4270d0){return _0x4270d0();}),_0xa9b6a8=Object(_0x3ac23b[_0x1a4e('0x12f9')])(_0x4270d0,_0xb86b2f,_0x5f1054,_0x3a95c9,_0x15143d,_0x517bdf),_0x115bef['length']&&_0x115bef[_0x1a4e('0x3b')](function(_0x4270d0){return _0x4270d0();}),_0x5e3181=[];case 0x7:case'end':return _0x317750[_0x1a4e('0x127b')]();}},_0x317750);}));},'unmount':function(){return Object(_0x584805[_0x1a4e('0x1279')])(this,void 0x0,void 0x0,_0x1ad42f['a'][_0x1a4e('0xe08')](function _0x4270d0(){return _0x1ad42f['a'][_0x1a4e('0x24f')](function(_0x4270d0){for(;;)switch(_0x4270d0[_0x1a4e('0xac')]=_0x4270d0['next']){case 0x0:_0x5e3181=[]['concat'](Object(_0x317750[_0x1a4e('0x8')])(_0x119562),Object(_0x317750[_0x1a4e('0x8')])(_0xa9b6a8))[_0x1a4e('0x21')](function(_0x4270d0){return _0x4270d0();}),_0x5f1054[_0x1a4e('0x12fa')]();case 0x2:case _0x1a4e('0xca'):return _0x4270d0['stop']();}},_0x4270d0);}));}};}_0x3a95c9['d'](_0xb86b2f,_0x1a4e('0x12c2'),function(){return _0x3ac23b['css'];});},'./node_modules/qiankun/es/sandbox/legacy/sandbox.js':function(_0x4c474f,_0x5c2a12,_0x611d01){'use strict';_0x611d01['r'](_0x5c2a12),_0x611d01['d'](_0x5c2a12,'default',function(){return _0x23b478;});var _0x4db64b=_0x611d01(_0x1a4e('0x1282')),_0x5b8a35=_0x611d01('./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/classCallCheck.js'),_0x39ea23=_0x611d01('./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/createClass.js'),_0x38cf0f=_0x611d01(_0x1a4e('0x12b3')),_0x25900e=_0x611d01(_0x1a4e('0x12ab')),_0x1495ac=_0x611d01(_0x1a4e('0x12fb'));function _0x505c88(_0x4c474f,_0x5c2a12,_0x611d01){void 0x0===_0x5c2a12&&_0x611d01?delete window[_0x4c474f]:function(_0x4c474f,_0x5c2a12){var _0x611d01=Object[_0x1a4e('0x12fc')](_0x4c474f,_0x5c2a12);return!_0x611d01||_0x611d01['configurable'];}(window,_0x4c474f)&&_0x1a4e('0xb1b')!==Object(_0x38cf0f[_0x1a4e('0x8')])(_0x4c474f)&&(Object[_0x1a4e('0x2')](window,_0x4c474f,{'writable':!0x0,'configurable':!0x0}),window[_0x4c474f]=_0x5c2a12);}var _0x23b478=function(){function _0x4c474f(_0x5c2a12){Object(_0x5b8a35[_0x1a4e('0x8')])(this,_0x4c474f),this[_0x1a4e('0x12fd')]=new Map(),this['modifiedPropsOriginalValueMapInSandbox']=new Map(),this[_0x1a4e('0x12fe')]=new Map(),this[_0x1a4e('0x12ff')]=!0x0,this[_0x1a4e('0x2cb')]=_0x5c2a12,this['type']=_0x25900e['SandBoxType'][_0x1a4e('0x12b1')];var _0x611d01=this[_0x1a4e('0x12fd')],_0x4db64b=this[_0x1a4e('0x1300')],_0x39ea23=this[_0x1a4e('0x12fe')],_0x38cf0f=this,_0x505c88=window,_0x23b478=Object[_0x1a4e('0x7')](null),_0x1d94bf=new Proxy(_0x23b478,{'set':function(_0x4c474f,_0x5b8a35,_0x25900e){if(_0x38cf0f[_0x1a4e('0x12ff')]){if(_0x505c88[_0x1a4e('0xb')](_0x5b8a35)){if(!_0x4db64b['has'](_0x5b8a35)){var _0x1495ac=_0x505c88[_0x5b8a35];_0x4db64b['set'](_0x5b8a35,_0x1495ac);}}else _0x611d01[_0x1a4e('0x17a')](_0x5b8a35,_0x25900e);return _0x39ea23[_0x1a4e('0x17a')](_0x5b8a35,_0x25900e),_0x505c88[_0x5b8a35]=_0x25900e,!0x0;}return console[_0x1a4e('0xe3c')](_0x1a4e('0x1301')['concat'](_0x5b8a35[_0x1a4e('0x95')](),'\x20while\x20sandbox\x20destroyed\x20or\x20inactive\x20in\x20')[_0x1a4e('0x9a')](_0x5c2a12,'!')),!0x0;},'get':function(_0x4c474f,_0x5c2a12){if(_0x1a4e('0x5e')===_0x5c2a12||'parent'===_0x5c2a12||_0x1a4e('0x1302')===_0x5c2a12||_0x1a4e('0x1303')===_0x5c2a12)return _0x1d94bf;var _0x611d01=_0x505c88[_0x5c2a12];return Object(_0x1495ac[_0x1a4e('0x12f0')])(_0x505c88,_0x611d01);},'has':function(_0x4c474f,_0x5c2a12){return _0x5c2a12 in _0x505c88;}});this[_0x1a4e('0xdfd')]=_0x1d94bf;}return Object(_0x39ea23[_0x1a4e('0x8')])(_0x4c474f,[{'key':_0x1a4e('0x1304'),'value':function(){this[_0x1a4e('0x12ff')]||this[_0x1a4e('0x12fe')][_0x1a4e('0x3b')](function(_0x4c474f,_0x5c2a12){return _0x505c88(_0x5c2a12,_0x4c474f);}),this['sandboxRunning']=!0x0;}},{'key':_0x1a4e('0x12fa'),'value':function(){console[_0x1a4e('0x1305')](_0x1a4e('0x1306')[_0x1a4e('0x9a')](this[_0x1a4e('0x2cb')],_0x1a4e('0x1307')),[]['concat'](Object(_0x4db64b[_0x1a4e('0x8')])(this[_0x1a4e('0x12fd')]['keys']()),Object(_0x4db64b[_0x1a4e('0x8')])(this[_0x1a4e('0x1300')][_0x1a4e('0x56')]()))),this[_0x1a4e('0x1300')][_0x1a4e('0x3b')](function(_0x4c474f,_0x5c2a12){return _0x505c88(_0x5c2a12,_0x4c474f);}),this[_0x1a4e('0x12fd')][_0x1a4e('0x3b')](function(_0x4c474f,_0x5c2a12){return _0x505c88(_0x5c2a12,void 0x0,!0x0);}),this[_0x1a4e('0x12ff')]=!0x1;}}]),_0x4c474f;}();},'./node_modules/qiankun/es/sandbox/noise/systemjs.js':function(_0x2bd2aa,_0x479463,_0xa55227){'use strict';function _0x246750(_0x2bd2aa,_0x479463){_0x1a4e('0x1308')===_0x2bd2aa&&(window[_0x1a4e('0x1308')]=_0x479463),_0x1a4e('0x1309')===_0x2bd2aa&&(window['__cjsWrapper']=_0x479463);}function _0x5e6567(_0x2bd2aa,_0x479463){_0x479463&&(_0x2bd2aa['hasOwnProperty'](_0x1a4e('0x1308'))&&delete window['System'],_0x2bd2aa[_0x1a4e('0xb')](_0x1a4e('0x1309'))&&delete window[_0x1a4e('0x1309')]);}_0xa55227['r'](_0x479463),_0xa55227['d'](_0x479463,'interceptSystemJsProps',function(){return _0x246750;}),_0xa55227['d'](_0x479463,_0x1a4e('0x130a'),function(){return _0x5e6567;});},'./node_modules/qiankun/es/sandbox/patchers/css.js':function(_0x27768a,_0x2083d5,_0x19b24d){'use strict';_0x19b24d['r'](_0x2083d5),_0x19b24d['d'](_0x2083d5,'ScopedCSS',function(){return _0x45e78c;}),_0x19b24d['d'](_0x2083d5,_0x1a4e('0x12c3'),function(){return _0x2ce93d;}),_0x19b24d['d'](_0x2083d5,_0x1a4e('0x1154'),function(){return _0xba59b4;});var _0x14acc2,_0x2c6864=_0x19b24d(_0x1a4e('0x130b')),_0x258879=_0x19b24d(_0x1a4e('0x130c'));!function(_0x27768a){_0x27768a[_0x27768a['STYLE']=0x1]='STYLE',_0x27768a[_0x27768a['MEDIA']=0x4]=_0x1a4e('0x130d'),_0x27768a[_0x27768a[_0x1a4e('0x130e')]=0xc]=_0x1a4e('0x130e'),_0x27768a[_0x27768a[_0x1a4e('0x130f')]=0x3]=_0x1a4e('0x130f'),_0x27768a[_0x27768a[_0x1a4e('0x1310')]=0x5]=_0x1a4e('0x1310'),_0x27768a[_0x27768a[_0x1a4e('0x1311')]=0x6]=_0x1a4e('0x1311'),_0x27768a[_0x27768a['KEYFRAMES']=0x7]=_0x1a4e('0x1312'),_0x27768a[_0x27768a[_0x1a4e('0x1313')]=0x8]=_0x1a4e('0x1313');}(_0x14acc2||(_0x14acc2={}));var _0x5a18c5,_0x1051ce=function(_0x27768a){return[]['slice'][_0x1a4e('0x1')](_0x27768a,0x0);},_0x45e78c=function(){function _0x27768a(){Object(_0x2c6864['default'])(this,_0x27768a);var _0x2083d5=document[_0x1a4e('0xe3d')]('style');document['body'][_0x1a4e('0x12c4')](_0x2083d5),this[_0x1a4e('0x1314')]=_0x2083d5,this[_0x1a4e('0x1315')]=_0x2083d5[_0x1a4e('0x1315')],this[_0x1a4e('0x1315')][_0x1a4e('0x1316')]=!0x0;}return Object(_0x258879['default'])(_0x27768a,[{'key':_0x1a4e('0x1154'),'value':function(_0x2083d5){var _0x19b24d,_0x14acc2=this,_0x2c6864=arguments[_0x1a4e('0x1e')]>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:'';if(''!==_0x2083d5['textContent']){var _0x258879=document[_0x1a4e('0x1317')](_0x2083d5[_0x1a4e('0x1318')]||'');this[_0x1a4e('0x1314')][_0x1a4e('0x12c4')](_0x258879);var _0x5a18c5=this[_0x1a4e('0x1314')][_0x1a4e('0x1315')],_0x45e78c=_0x1051ce(null!==(_0x19b24d=null==_0x5a18c5?void 0x0:_0x5a18c5[_0x1a4e('0x1319')])&&void 0x0!==_0x19b24d?_0x19b24d:[]),_0x519f2a=this[_0x1a4e('0x131a')](_0x45e78c,_0x2c6864);return _0x2083d5[_0x1a4e('0x1318')]=_0x519f2a,void this[_0x1a4e('0x1314')][_0x1a4e('0x12c5')](_0x258879);}var _0x2996c0=new MutationObserver(function(_0x19b24d){for(var _0x258879,_0x5a18c5=0x0;_0x5a18c5<_0x19b24d[_0x1a4e('0x1e')];_0x5a18c5+=0x1){var _0x45e78c=_0x19b24d[_0x5a18c5];if(_0x27768a['ModifiedTag']in _0x2083d5)return;if(_0x1a4e('0x131b')===_0x45e78c['type']){var _0x519f2a=_0x2083d5[_0x1a4e('0x1315')],_0x2996c0=_0x1051ce(null!==(_0x258879=null==_0x519f2a?void 0x0:_0x519f2a[_0x1a4e('0x1319')])&&void 0x0!==_0x258879?_0x258879:[]),_0x206287=_0x14acc2['rewrite'](_0x2996c0,_0x2c6864);_0x2083d5[_0x1a4e('0x1318')]=_0x206287,_0x2083d5[_0x27768a[_0x1a4e('0x131c')]]=!0x0;}}});_0x2996c0[_0x1a4e('0x131d')](_0x2083d5,{'childList':!0x0});}},{'key':'rewrite','value':function(_0x27768a){var _0x2083d5=this,_0x19b24d=arguments[_0x1a4e('0x1e')]>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:'',_0x2c6864='';return _0x27768a['forEach'](function(_0x27768a){switch(_0x27768a[_0x1a4e('0x40')]){case _0x14acc2[_0x1a4e('0x131e')]:_0x2c6864+=_0x2083d5['ruleStyle'](_0x27768a,_0x19b24d);break;case _0x14acc2['MEDIA']:_0x2c6864+=_0x2083d5[_0x1a4e('0x131f')](_0x27768a,_0x19b24d);break;case _0x14acc2['SUPPORTS']:_0x2c6864+=_0x2083d5[_0x1a4e('0x1320')](_0x27768a,_0x19b24d);break;default:_0x2c6864+=''['concat'](_0x27768a['cssText']);}}),_0x2c6864;}},{'key':_0x1a4e('0x1321'),'value':function(_0x27768a,_0x2083d5){var _0x19b24d=/((?:[^\w\-.#]|^)(body|html|:root))/gm,_0x14acc2=/(html[^\w{[]+)/gm,_0x2c6864=_0x27768a['selectorText'][_0x1a4e('0x2bd')](),_0x258879=_0x27768a[_0x1a4e('0x1322')];if(_0x1a4e('0xe1e')===_0x2c6864||_0x1a4e('0x8f2')===_0x2c6864||_0x1a4e('0x1323')===_0x2c6864)return _0x258879[_0x1a4e('0x115')](_0x19b24d,_0x2083d5);if(_0x14acc2[_0x1a4e('0x8d0')](_0x27768a['selectorText'])){/(html[^\w{]+)(\+|~)/gm['test'](_0x27768a[_0x1a4e('0x1324')])||(_0x258879=_0x258879[_0x1a4e('0x115')](_0x14acc2,''));}return _0x258879=_0x258879[_0x1a4e('0x115')](/^[\s\S]+{/,function(_0x27768a){return _0x27768a[_0x1a4e('0x115')](/(^|,\n?)([^,]+)/g,function(_0x27768a,_0x14acc2,_0x2c6864){return _0x19b24d[_0x1a4e('0x8d0')](_0x27768a)?_0x27768a[_0x1a4e('0x115')](_0x19b24d,function(_0x27768a){return _0x27768a&&[',','('][_0x1a4e('0xae5')](_0x27768a[0x0])?''[_0x1a4e('0x9a')](_0x27768a[0x0])['concat'](_0x2083d5):_0x2083d5;}):''['concat'](_0x14acc2)[_0x1a4e('0x9a')](_0x2083d5,'\x20')[_0x1a4e('0x9a')](_0x2c6864[_0x1a4e('0x115')](/^ */,''));});});}},{'key':_0x1a4e('0x131f'),'value':function(_0x27768a,_0x2083d5){var _0x19b24d=this[_0x1a4e('0x131a')](_0x1051ce(_0x27768a[_0x1a4e('0x1319')]),_0x2083d5);return _0x1a4e('0x1325')[_0x1a4e('0x9a')](_0x27768a[_0x1a4e('0x1326')],'\x20{')['concat'](_0x19b24d,'}');}},{'key':'ruleSupport','value':function(_0x27768a,_0x2083d5){var _0x19b24d=this[_0x1a4e('0x131a')](_0x1051ce(_0x27768a[_0x1a4e('0x1319')]),_0x2083d5);return'@supports\x20'[_0x1a4e('0x9a')](_0x27768a['conditionText'],'\x20{')['concat'](_0x19b24d,'}');}}]),_0x27768a;}();_0x45e78c['ModifiedTag']=_0x1a4e('0x1327');var _0x2ce93d=_0x1a4e('0x1328'),_0xba59b4=function(_0x27768a,_0x2083d5,_0x19b24d){_0x5a18c5||(_0x5a18c5=new _0x45e78c()),_0x1a4e('0x1329')===_0x2083d5['tagName']&&console[_0x1a4e('0xe3c')](_0x1a4e('0x132a'));if(_0x27768a){var _0x14acc2=(_0x27768a['tagName']||'')[_0x1a4e('0x2b2')]();if(_0x14acc2&&'STYLE'===_0x2083d5[_0x1a4e('0x132b')]){var _0x2c6864=''[_0x1a4e('0x9a')](_0x14acc2,'[')[_0x1a4e('0x9a')](_0x2ce93d,'=\x22')['concat'](_0x19b24d,'\x22]');_0x5a18c5[_0x1a4e('0x1154')](_0x2083d5,_0x2c6864);}}};},'./node_modules/qiankun/es/sandbox/patchers/dynamicAppend.js':function(_0x263f4c,_0x205cf9,_0x29d8c9){'use strict';_0x29d8c9['r'](_0x205cf9),_0x29d8c9['d'](_0x205cf9,_0x1a4e('0x8'),function(){return _0x4675c9;});var _0x37eb37=_0x29d8c9(_0x1a4e('0x132c')),_0x3c374e=_0x29d8c9['n'](_0x37eb37),_0x155367=_0x29d8c9(_0x1a4e('0xf91')),_0xe0ba89=_0x29d8c9['n'](_0x155367),_0x56d6b0=_0x29d8c9(_0x1a4e('0x12b5')),_0x436b84=_0x29d8c9(_0x1a4e('0x129d')),_0x2f31ee=_0x29d8c9(_0x1a4e('0x12a7')),_0x4f4d7b=_0x29d8c9(_0x1a4e('0x12fb')),_0x51a6ad=_0x29d8c9('./node_modules/qiankun/es/sandbox/patchers/css.js'),_0x3ba131=Symbol(_0x1a4e('0x132d')),_0x30751d=Symbol('attach-proxy-container'),_0x3688ee=HTMLHeadElement[_0x1a4e('0xa')][_0x1a4e('0x12c4')],_0x2e4d41=HTMLHeadElement[_0x1a4e('0xa')][_0x1a4e('0x12c5')],_0x5917e2=HTMLBodyElement['prototype'][_0x1a4e('0x12c4')],_0x230348=HTMLBodyElement[_0x1a4e('0xa')]['removeChild'],_0x219062=HTMLHeadElement['prototype'][_0x1a4e('0x132e')],_0x1fbf45=HTMLElement[_0x1a4e('0xa')][_0x1a4e('0x12c5')],_0x1761bd=Document[_0x1a4e('0xa')][_0x1a4e('0xe3d')],_0x48b4ff=_0x1a4e('0x132f'),_0x3210dc='LINK',_0x213fc1=_0x1a4e('0x131e'),_0x80ec85=new Map();function _0x7db9e(_0x263f4c){return(null==_0x263f4c?void 0x0:_0x263f4c[_0x1a4e('0x257')]())===_0x3210dc||(null==_0x263f4c?void 0x0:_0x263f4c[_0x1a4e('0x257')]())===_0x213fc1||(null==_0x263f4c?void 0x0:_0x263f4c['toUpperCase']())===_0x48b4ff;}function _0xd0c438(_0x263f4c){var _0x205cf9,_0x29d8c9;return!_0x263f4c['textContent']&&((null===(_0x205cf9=_0x263f4c[_0x1a4e('0x1315')])||void 0x0===_0x205cf9?void 0x0:_0x205cf9[_0x1a4e('0x1319')][_0x1a4e('0x1e')])||(null===(_0x29d8c9=_0x351fa3(_0x263f4c))||void 0x0===_0x29d8c9?void 0x0:_0x29d8c9[_0x1a4e('0x1e')]));}function _0x351fa3(_0x263f4c){return _0x263f4c[_0x3ba131];}function _0x4af2b8(_0x263f4c,_0x205cf9){return Object['defineProperties'](_0x263f4c,{'srcElement':{'get':_0x205cf9},'target':{'get':_0x205cf9}}),_0x263f4c;}function _0x17ee98(_0x263f4c){return function(_0x205cf9,_0x29d8c9){var _0x37eb37=_0x205cf9,_0x3c374e=_0x263f4c[_0x1a4e('0x1330')];if(_0x37eb37[_0x1a4e('0x132b')]){var _0x155367=_0x263f4c[_0x1a4e('0xec0')],_0x4f4d7b=_0x263f4c[_0x1a4e('0x1331')],_0x3ba131=_0x263f4c[_0x1a4e('0xdfd')],_0x3688ee=_0x263f4c[_0x1a4e('0x128e')],_0x2e4d41=_0x263f4c[_0x1a4e('0x1332')],_0x5917e2=_0x263f4c[_0x1a4e('0x1333')],_0x230348=_0x263f4c[_0x1a4e('0x12d2')],_0x219062=_0x37eb37[_0x30751d];_0x219062&&(_0x155367=_0x219062[_0x1a4e('0xec0')],_0x3688ee=_0x219062['singular'],_0x4f4d7b=_0x219062[_0x1a4e('0x1331')],_0x2e4d41=_0x219062[_0x1a4e('0x1332')],_0x3ba131=_0x219062[_0x1a4e('0xdfd')]);var _0x1fbf45=_0x3688ee?Object(_0x436b84['checkActivityFunctions'])(window[_0x1a4e('0xbc')])['some'](function(_0x263f4c){return _0x263f4c===_0x155367;}):!!_0x219062;switch(_0x37eb37[_0x1a4e('0x132b')]){case _0x3210dc:case _0x213fc1:var _0x1761bd=_0x205cf9,_0x80ec85=_0x1761bd[_0x1a4e('0xe3b')];if(!_0x1fbf45||_0x230348&&_0x80ec85&&_0x230348(_0x80ec85))return _0x3c374e['call'](this,_0x37eb37,_0x29d8c9);var _0x7db9e=_0x4f4d7b();_0x5917e2&&_0x51a6ad['process'](_0x7db9e,_0x1761bd,_0x155367),_0x2e4d41['push'](_0x1761bd);var _0xd0c438=_0x7db9e['contains'](_0x29d8c9)?_0x29d8c9:null;return _0x3c374e[_0x1a4e('0x1')](_0x7db9e,_0x1761bd,_0xd0c438);case _0x48b4ff:var _0x351fa3=_0x37eb37,_0x17ee98=_0x351fa3[_0x1a4e('0xe05')],_0x173e60=_0x351fa3['text'];if(!_0x1fbf45||_0x230348&&_0x17ee98&&_0x230348(_0x17ee98))return _0x3c374e[_0x1a4e('0x1')](this,_0x37eb37,_0x29d8c9);var _0x21e849=_0x4f4d7b(),_0x2832e3=_0x2f31ee[_0x1a4e('0x1334')][_0x1a4e('0xdf6')],_0x52da91=_0x21e849['contains'](_0x29d8c9)?_0x29d8c9:null;if(_0x17ee98){Object(_0x56d6b0[_0x1a4e('0xdf2')])(null,[_0x17ee98],_0x3ba131,{'fetch':_0x2832e3,'strictGlobal':!_0x3688ee,'beforeExec':function(){Object[_0x1a4e('0x2')](document,_0x1a4e('0x1335'),{'get':function(){return _0x37eb37;},'configurable':!0x0});},'success':function(){var _0x263f4c=new CustomEvent(_0x1a4e('0x7b'));_0xe0ba89()(_0x37eb37[_0x1a4e('0x1336')])?_0x37eb37[_0x1a4e('0x1336')](_0x4af2b8(_0x263f4c,function(){return _0x37eb37;})):_0x37eb37[_0x1a4e('0x1337')](_0x263f4c),_0x37eb37=null;},'error':function(){var _0x263f4c=new CustomEvent(_0x1a4e('0x873'));_0xe0ba89()(_0x37eb37[_0x1a4e('0x1338')])?_0x37eb37[_0x1a4e('0x1338')](_0x4af2b8(_0x263f4c,function(){return _0x37eb37;})):_0x37eb37[_0x1a4e('0x1337')](_0x263f4c),_0x37eb37=null;}});var _0x35f19a=document[_0x1a4e('0x1339')](_0x1a4e('0x133a')['concat'](_0x17ee98,_0x1a4e('0x133b')));return _0x3c374e[_0x1a4e('0x1')](_0x21e849,_0x35f19a,_0x52da91);}Object(_0x56d6b0[_0x1a4e('0xdf2')])(null,['')],_0x3ba131,{'strictGlobal':!_0x3688ee,'success':_0x37eb37['onload'],'error':_0x37eb37['onerror']});var _0xafd083=document[_0x1a4e('0x1339')](_0x1a4e('0x133c'));return _0x3c374e[_0x1a4e('0x1')](_0x21e849,_0xafd083,_0x52da91);}}return _0x3c374e['call'](this,_0x37eb37,_0x29d8c9);};}function _0x43eeac(_0x263f4c){return function(_0x205cf9){var _0x29d8c9=_0x263f4c[_0x1a4e('0x133d')];try{if(_0x7db9e(_0x205cf9['tagName'])){var _0x37eb37=_0x263f4c[_0x1a4e('0x1331')],_0x3c374e=_0x205cf9[_0x30751d];_0x3c374e&&(_0x37eb37=_0x3c374e[_0x1a4e('0x1331')]);var _0x155367=_0x37eb37();if(_0x155367['contains'](_0x205cf9))return _0x1fbf45[_0x1a4e('0x1')](_0x155367,_0x205cf9);}}catch(_0x51beab){console[_0x1a4e('0xe3c')](_0x51beab);}return _0x29d8c9['call'](this,_0x205cf9);};}var _0x251d52=0x0,_0x13b40c=0x0;function _0x4675c9(_0x263f4c,_0x205cf9,_0x29d8c9){var _0x37eb37=!(arguments[_0x1a4e('0x1e')]>0x3&&void 0x0!==arguments[0x3])||arguments[0x3],_0x155367=!(arguments[_0x1a4e('0x1e')]>0x4&&void 0x0!==arguments[0x4])||arguments[0x4],_0xe0ba89=arguments['length']>0x5&&void 0x0!==arguments[0x5]&&arguments[0x5],_0x56d6b0=arguments[_0x1a4e('0x1e')]>0x6?arguments[0x6]:void 0x0,_0x436b84=[],_0x2f31ee=function(_0x263f4c,_0x205cf9,_0x29d8c9,_0x37eb37,_0x155367){return _0x29d8c9?_0x3c374e['a']:(_0x80ec85[_0x1a4e('0x17a')](_0x37eb37,{'appName':_0x263f4c,'proxy':_0x37eb37,'appWrapperGetter':_0x205cf9,'dynamicStyleSheetElements':_0x155367,'singular':_0x29d8c9}),Document[_0x1a4e('0xa')]['createElement']===_0x1761bd&&(Document[_0x1a4e('0xa')][_0x1a4e('0xe3d')]=function(_0x263f4c,_0x205cf9){var _0x29d8c9=_0x1761bd[_0x1a4e('0x1')](this,_0x263f4c,_0x205cf9);if(_0x7db9e(_0x263f4c)){var _0x37eb37=_0x80ec85[_0x1a4e('0x179')](this[_0x4f4d7b[_0x1a4e('0x12ef')]]);_0x37eb37&&Object[_0x1a4e('0x2')](_0x29d8c9,_0x30751d,{'value':_0x37eb37,'enumerable':!0x1});}return _0x29d8c9;}),function(_0x263f4c){_0x80ec85['delete'](_0x37eb37),_0x263f4c&&(Document[_0x1a4e('0xa')][_0x1a4e('0xe3d')]=_0x1761bd);});}(_0x263f4c,_0x205cf9,_0x155367,_0x29d8c9,_0x436b84),_0x51a6ad=function(_0x263f4c,_0x205cf9,_0x29d8c9){var _0x37eb37=!(arguments[_0x1a4e('0x1e')]>0x3&&void 0x0!==arguments[0x3])||arguments[0x3],_0x3c374e=arguments[_0x1a4e('0x1e')]>0x4&&void 0x0!==arguments[0x4]&&arguments[0x4],_0x155367=arguments['length']>0x5?arguments[0x5]:void 0x0,_0xe0ba89=arguments[_0x1a4e('0x1e')]>0x6?arguments[0x6]:void 0x0;return HTMLHeadElement[_0x1a4e('0xa')][_0x1a4e('0x12c4')]===_0x3688ee&&HTMLBodyElement[_0x1a4e('0xa')][_0x1a4e('0x12c4')]===_0x5917e2&&HTMLHeadElement[_0x1a4e('0xa')][_0x1a4e('0x132e')]===_0x219062&&(HTMLHeadElement[_0x1a4e('0xa')][_0x1a4e('0x12c4')]=_0x17ee98({'rawDOMAppendOrInsertBefore':_0x3688ee,'appName':_0x263f4c,'appWrapperGetter':_0x205cf9,'proxy':_0x29d8c9,'singular':_0x37eb37,'dynamicStyleSheetElements':_0x155367,'scopedCSS':_0x3c374e,'excludeAssetFilter':_0xe0ba89}),HTMLBodyElement[_0x1a4e('0xa')][_0x1a4e('0x12c4')]=_0x17ee98({'rawDOMAppendOrInsertBefore':_0x5917e2,'appName':_0x263f4c,'appWrapperGetter':_0x205cf9,'proxy':_0x29d8c9,'singular':_0x37eb37,'dynamicStyleSheetElements':_0x155367,'scopedCSS':_0x3c374e,'excludeAssetFilter':_0xe0ba89}),HTMLHeadElement[_0x1a4e('0xa')][_0x1a4e('0x132e')]=_0x17ee98({'rawDOMAppendOrInsertBefore':_0x219062,'appName':_0x263f4c,'appWrapperGetter':_0x205cf9,'proxy':_0x29d8c9,'singular':_0x37eb37,'dynamicStyleSheetElements':_0x155367,'scopedCSS':_0x3c374e,'excludeAssetFilter':_0xe0ba89})),HTMLHeadElement[_0x1a4e('0xa')][_0x1a4e('0x12c5')]===_0x2e4d41&&HTMLBodyElement[_0x1a4e('0xa')][_0x1a4e('0x12c5')]===_0x230348&&(HTMLHeadElement[_0x1a4e('0xa')][_0x1a4e('0x12c5')]=_0x43eeac({'appWrapperGetter':_0x205cf9,'headOrBodyRemoveChild':_0x2e4d41}),HTMLBodyElement[_0x1a4e('0xa')][_0x1a4e('0x12c5')]=_0x43eeac({'appWrapperGetter':_0x205cf9,'headOrBodyRemoveChild':_0x230348})),function(_0x263f4c){_0x263f4c&&(HTMLHeadElement[_0x1a4e('0xa')][_0x1a4e('0x12c4')]=_0x3688ee,HTMLHeadElement[_0x1a4e('0xa')]['removeChild']=_0x2e4d41,HTMLBodyElement[_0x1a4e('0xa')]['appendChild']=_0x5917e2,HTMLBodyElement['prototype'][_0x1a4e('0x12c5')]=_0x230348,HTMLHeadElement['prototype'][_0x1a4e('0x132e')]=_0x219062);};}(_0x263f4c,_0x205cf9,_0x29d8c9,_0x155367,_0xe0ba89,_0x436b84,_0x56d6b0);return _0x37eb37||_0x251d52++,_0x37eb37&&_0x13b40c++,function(){_0x37eb37||0x0===_0x251d52||_0x251d52--,_0x37eb37&&_0x13b40c--;var _0x263f4c=0x0===_0x13b40c&&0x0===_0x251d52;return _0x51a6ad(_0x263f4c),_0x2f31ee(_0x263f4c),_0x436b84[_0x1a4e('0x3b')](function(_0x263f4c){var _0x205cf9,_0x29d8c9;_0x263f4c instanceof HTMLStyleElement&&_0xd0c438(_0x263f4c)&&_0x263f4c[_0x1a4e('0x1315')]&&(_0x205cf9=_0x263f4c,_0x29d8c9=_0x263f4c[_0x1a4e('0x1315')]['cssRules'],Object[_0x1a4e('0x2')](_0x205cf9,_0x3ba131,{'value':_0x29d8c9,'configurable':!0x0,'enumerable':!0x1}));}),function(){_0x436b84['forEach'](function(_0x263f4c){if(document[_0x1a4e('0x10f1')][_0x1a4e('0x12c4')][_0x1a4e('0x1')](_0x205cf9(),_0x263f4c),_0x263f4c instanceof HTMLStyleElement&&_0xd0c438(_0x263f4c)){var _0x29d8c9=_0x351fa3(_0x263f4c);if(_0x29d8c9)for(var _0x37eb37=0x0;_0x37eb37<_0x29d8c9[_0x1a4e('0x1e')];_0x37eb37++){var _0x3c374e=_0x29d8c9[_0x37eb37];_0x263f4c[_0x1a4e('0x1315')][_0x1a4e('0x133e')](_0x3c374e[_0x1a4e('0x1322')]);}}}),_0x37eb37&&(_0x436b84=[]);};};}},'./node_modules/qiankun/es/sandbox/patchers/historyListener.js':function(_0x12a2ce,_0x1052ec,_0x44e502){'use strict';_0x44e502['r'](_0x1052ec),_0x44e502['d'](_0x1052ec,_0x1a4e('0x8'),function(){return _0x559407;});var _0x1552fb=_0x44e502(_0x1a4e('0xf91')),_0x4685f6=_0x44e502['n'](_0x1552fb),_0x237685=_0x44e502('./node_modules/lodash/noop.js'),_0x4c1ed2=_0x44e502['n'](_0x237685);function _0x559407(){var _0x12a2ce=function(_0x12a2ce){return _0x4c1ed2['a'];},_0x1052ec=[],_0x44e502=[];return window[_0x1a4e('0x133f')]&&_0x4685f6()(window[_0x1a4e('0x133f')]['listen'])&&(_0x12a2ce=window[_0x1a4e('0x133f')][_0x1a4e('0x1340')][_0x1a4e('0x945')](window['g_history']),window['g_history'][_0x1a4e('0x1340')]=function(_0x1552fb){_0x1052ec[_0x1a4e('0x46')](_0x1552fb);var _0x4685f6=_0x12a2ce(_0x1552fb);return _0x44e502[_0x1a4e('0x46')](_0x4685f6),function(){_0x4685f6(),_0x44e502[_0x1a4e('0x8a')](_0x44e502[_0x1a4e('0x3e')](_0x4685f6),0x1),_0x1052ec[_0x1a4e('0x8a')](_0x1052ec[_0x1a4e('0x3e')](_0x1552fb),0x1);};}),function(){var _0x1552fb=_0x4c1ed2['a'];return _0x1052ec[_0x1a4e('0x1e')]&&(_0x1552fb=function(){_0x1052ec[_0x1a4e('0x3b')](function(_0x12a2ce){return window[_0x1a4e('0x133f')][_0x1a4e('0x1340')](_0x12a2ce);});}),_0x44e502[_0x1a4e('0x3b')](function(_0x12a2ce){return _0x12a2ce();}),window['g_history']&&_0x4685f6()(window[_0x1a4e('0x133f')][_0x1a4e('0x1340')])&&(window[_0x1a4e('0x133f')][_0x1a4e('0x1340')]=_0x12a2ce),_0x1552fb;};}},'./node_modules/qiankun/es/sandbox/patchers/index.js':function(_0x22f1c,_0x5b080c,_0x276063){'use strict';_0x276063['r'](_0x5b080c),_0x276063['d'](_0x5b080c,_0x1a4e('0x12f9'),function(){return _0x563a25;}),_0x276063['d'](_0x5b080c,_0x1a4e('0x12f8'),function(){return _0xac879e;});var _0x55e08e=_0x276063('./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/defineProperty.js'),_0x4f47dd=_0x276063(_0x1a4e('0x12ab')),_0x1201d1=_0x276063('./node_modules/qiankun/es/sandbox/patchers/dynamicAppend.js'),_0x1b5c69=_0x276063(_0x1a4e('0x1341')),_0x462ee0=_0x276063('./node_modules/qiankun/es/sandbox/patchers/interval.js'),_0xc40a5f=_0x276063('./node_modules/qiankun/es/sandbox/patchers/windowListener.js'),_0x17603c=_0x276063(_0x1a4e('0x1342'));function _0x563a25(_0x22f1c,_0x5b080c,_0x276063,_0x17603c,_0x563a25,_0xaadbbe){var _0x26d5d8,_0x4bf5b,_0x39762b=[function(){return Object(_0x462ee0['default'])(_0x276063[_0x1a4e('0xdfd')]);},function(){return Object(_0xc40a5f[_0x1a4e('0x8')])(_0x276063[_0x1a4e('0xdfd')]);},function(){return Object(_0x1b5c69[_0x1a4e('0x8')])();},function(){return Object(_0x1201d1[_0x1a4e('0x8')])(_0x22f1c,_0x5b080c,_0x276063[_0x1a4e('0xdfd')],!0x0,_0x17603c,_0x563a25,_0xaadbbe);}];return null===(_0x4bf5b=(_0x26d5d8={},Object(_0x55e08e[_0x1a4e('0x8')])(_0x26d5d8,_0x4f47dd['SandBoxType'][_0x1a4e('0x12b1')],[][_0x1a4e('0x9a')](_0x39762b)),Object(_0x55e08e['default'])(_0x26d5d8,_0x4f47dd[_0x1a4e('0x12ac')][_0x1a4e('0x12af')],[][_0x1a4e('0x9a')](_0x39762b)),Object(_0x55e08e['default'])(_0x26d5d8,_0x4f47dd['SandBoxType'][_0x1a4e('0x12b0')],_0x39762b),_0x26d5d8)[_0x276063[_0x1a4e('0x40')]])||void 0x0===_0x4bf5b?void 0x0:_0x4bf5b[_0x1a4e('0x21')](function(_0x22f1c){return _0x22f1c();});}function _0xac879e(_0x22f1c,_0x5b080c,_0x276063,_0x1b5c69,_0x462ee0,_0xc40a5f){var _0x17603c,_0x563a25,_0xac879e=[function(){return Object(_0x1201d1['default'])(_0x22f1c,_0x5b080c,_0x276063[_0x1a4e('0xdfd')],!0x1,_0x1b5c69,_0x462ee0,_0xc40a5f);}];return null===(_0x563a25=(_0x17603c={},Object(_0x55e08e[_0x1a4e('0x8')])(_0x17603c,_0x4f47dd['SandBoxType'][_0x1a4e('0x12b1')],_0xac879e),Object(_0x55e08e[_0x1a4e('0x8')])(_0x17603c,_0x4f47dd['SandBoxType'][_0x1a4e('0x12af')],_0xac879e),Object(_0x55e08e[_0x1a4e('0x8')])(_0x17603c,_0x4f47dd[_0x1a4e('0x12ac')][_0x1a4e('0x12b0')],_0xac879e),_0x17603c)[_0x276063[_0x1a4e('0x40')]])||void 0x0===_0x563a25?void 0x0:_0x563a25[_0x1a4e('0x21')](function(_0x22f1c){return _0x22f1c();});}_0x276063['d'](_0x5b080c,_0x1a4e('0x12c2'),function(){return _0x17603c;});},'./node_modules/qiankun/es/sandbox/patchers/interval.js':function(_0x1a8536,_0x24e5a3,_0x1d66cf){'use strict';_0x1d66cf['r'](_0x24e5a3),_0x1d66cf['d'](_0x24e5a3,'default',function(){return _0xfd02cd;});var _0x58ef5e=_0x1d66cf(_0x1a4e('0x132c')),_0x456ba8=_0x1d66cf['n'](_0x58ef5e),_0x19bb5e=_0x1d66cf(_0x1a4e('0x1282')),_0x49fe75=window[_0x1a4e('0x1343')],_0x57669f=window[_0x1a4e('0x1344')];function _0xfd02cd(_0x1a8536){var _0x24e5a3=[];return _0x1a8536[_0x1a4e('0x1344')]=function(_0x1a8536){return _0x24e5a3=_0x24e5a3[_0x1a4e('0xd9')](function(_0x24e5a3){return _0x24e5a3!==_0x1a8536;}),_0x57669f(_0x1a8536);},_0x1a8536[_0x1a4e('0x1343')]=function(_0x1a8536,_0x1d66cf){for(var _0x58ef5e=arguments[_0x1a4e('0x1e')],_0x456ba8=new Array(_0x58ef5e>0x2?_0x58ef5e-0x2:0x0),_0x57669f=0x2;_0x57669f<_0x58ef5e;_0x57669f++)_0x456ba8[_0x57669f-0x2]=arguments[_0x57669f];var _0xfd02cd=_0x49fe75[_0x1a4e('0x8b')](void 0x0,[_0x1a8536,_0x1d66cf][_0x1a4e('0x9a')](_0x456ba8));return _0x24e5a3=[]['concat'](Object(_0x19bb5e['default'])(_0x24e5a3),[_0xfd02cd]),_0xfd02cd;},function(){return _0x24e5a3['forEach'](function(_0x24e5a3){return _0x1a8536[_0x1a4e('0x1344')](_0x24e5a3);}),_0x1a8536[_0x1a4e('0x1343')]=_0x49fe75,_0x1a8536[_0x1a4e('0x1344')]=_0x57669f,_0x456ba8['a'];};}},'./node_modules/qiankun/es/sandbox/patchers/windowListener.js':function(_0x2bdf27,_0x240c7f,_0x2a2cd3){'use strict';_0x2a2cd3['r'](_0x240c7f),_0x2a2cd3['d'](_0x240c7f,_0x1a4e('0x8'),function(){return _0x5f3b52;});var _0x3c617f=_0x2a2cd3('./node_modules/lodash/noop.js'),_0x94b9a2=_0x2a2cd3['n'](_0x3c617f),_0x41952c=_0x2a2cd3(_0x1a4e('0x1282')),_0x565aeb=window[_0x1a4e('0xec5')],_0x885129=window[_0x1a4e('0xec2')];function _0x5f3b52(_0x2bdf27){var _0x240c7f=new Map();return _0x2bdf27[_0x1a4e('0xec5')]=function(_0x2bdf27,_0x2a2cd3,_0x3c617f){var _0x94b9a2=_0x240c7f['get'](_0x2bdf27)||[];return _0x240c7f['set'](_0x2bdf27,[][_0x1a4e('0x9a')](Object(_0x41952c[_0x1a4e('0x8')])(_0x94b9a2),[_0x2a2cd3])),_0x565aeb[_0x1a4e('0x1')](window,_0x2bdf27,_0x2a2cd3,_0x3c617f);},_0x2bdf27[_0x1a4e('0xec2')]=function(_0x2bdf27,_0x2a2cd3,_0x3c617f){var _0x94b9a2=_0x240c7f[_0x1a4e('0x179')](_0x2bdf27);return _0x94b9a2&&_0x94b9a2[_0x1a4e('0x1e')]&&-0x1!==_0x94b9a2[_0x1a4e('0x3e')](_0x2a2cd3)&&_0x94b9a2[_0x1a4e('0x8a')](_0x94b9a2[_0x1a4e('0x3e')](_0x2a2cd3),0x1),_0x885129[_0x1a4e('0x1')](window,_0x2bdf27,_0x2a2cd3,_0x3c617f);},function(){return _0x240c7f[_0x1a4e('0x3b')](function(_0x240c7f,_0x2a2cd3){return Object(_0x41952c[_0x1a4e('0x8')])(_0x240c7f)[_0x1a4e('0x3b')](function(_0x240c7f){return _0x2bdf27[_0x1a4e('0xec2')](_0x2a2cd3,_0x240c7f);});}),_0x2bdf27[_0x1a4e('0xec5')]=_0x565aeb,_0x2bdf27[_0x1a4e('0xec2')]=_0x885129,_0x94b9a2['a'];};}},'./node_modules/qiankun/es/sandbox/proxySandbox.js':function(_0x121352,_0x20adbb,_0x1012d5){'use strict';_0x1012d5['r'](_0x20adbb),_0x1012d5['d'](_0x20adbb,'default',function(){return _0x4bf5c4;});var _0x4ee13e=_0x1012d5(_0x1a4e('0x1282')),_0x29bbc3=_0x1012d5(_0x1a4e('0x130b')),_0x38c461=_0x1012d5(_0x1a4e('0x130c')),_0x3afc71=_0x1012d5(_0x1a4e('0x12ab')),_0xda1a1b=_0x1012d5(_0x1a4e('0x1285')),_0x3e2770=_0x1012d5('./node_modules/qiankun/es/sandbox/common.js'),_0x3384f0=_0x1012d5('./node_modules/qiankun/es/sandbox/noise/systemjs.js'),_0x39387f=Object[_0x1a4e('0x2')],_0x412164={'undefined':!0x0,'Array':!0x0,'Object':!0x0,'String':!0x0,'Boolean':!0x0,'Math':!0x0,'eval':!0x0,'Number':!0x0,'Symbol':!0x0,'parseFloat':!0x0,'Float32Array':!0x0};var _0x57c65e=0x0,_0x4bf5c4=function(){function _0x121352(_0x20adbb){Object(_0x29bbc3[_0x1a4e('0x8')])(this,_0x121352),this['updatedValueSet']=new Set(),this[_0x1a4e('0x12ff')]=!0x0,this[_0x1a4e('0x2cb')]=_0x20adbb,this[_0x1a4e('0x40')]=_0x3afc71[_0x1a4e('0x12ac')]['Proxy'];var _0x1012d5=this[_0x1a4e('0x1345')],_0x4ee13e=this,_0x38c461=window,_0x57c65e=function(_0x121352){var _0x20adbb=new Map(),_0x1012d5={};return Object[_0x1a4e('0xd86')](_0x121352)['filter'](function(_0x20adbb){var _0x1012d5=Object[_0x1a4e('0x12fc')](_0x121352,_0x20adbb);return!(null==_0x1012d5?void 0x0:_0x1012d5['configurable']);})['forEach'](function(_0x4ee13e){var _0x29bbc3=Object[_0x1a4e('0x12fc')](_0x121352,_0x4ee13e);if(_0x29bbc3){var _0x38c461=Object['prototype'][_0x1a4e('0xb')][_0x1a4e('0x1')](_0x29bbc3,'get');'top'!==_0x4ee13e&&_0x1a4e('0x11c')!==_0x4ee13e&&'self'!==_0x4ee13e&&_0x1a4e('0x1302')!==_0x4ee13e||(_0x29bbc3['configurable']=!0x0,_0x38c461||(_0x29bbc3[_0x1a4e('0x1346')]=!0x0)),_0x38c461&&_0x20adbb['set'](_0x4ee13e,!0x0),_0x39387f(_0x1012d5,_0x4ee13e,Object[_0x1a4e('0x151')](_0x29bbc3));}}),{'fakeWindow':_0x1012d5,'propertiesWithGetter':_0x20adbb};}(_0x38c461),_0x4bf5c4=_0x57c65e[_0x1a4e('0x1347')],_0x895965=_0x57c65e['propertiesWithGetter'],_0x177dbb=new Map(),_0x391f4b=function(_0x121352){return _0x4bf5c4['hasOwnProperty'](_0x121352)||_0x38c461[_0x1a4e('0xb')](_0x121352);},_0x312022=new Proxy(_0x4bf5c4,{'set':function(_0x121352,_0x29bbc3,_0x38c461){return _0x4ee13e['sandboxRunning']?(_0x121352[_0x29bbc3]=_0x38c461,_0x1012d5[_0x1a4e('0x177')](_0x29bbc3),Object(_0x3384f0['interceptSystemJsProps'])(_0x29bbc3,_0x38c461),!0x0):(console[_0x1a4e('0xe3c')](_0x1a4e('0x1301')['concat'](_0x29bbc3[_0x1a4e('0x95')](),_0x1a4e('0x1348'))[_0x1a4e('0x9a')](_0x20adbb,'!')),!0x0);},'get':function(_0x121352,_0x20adbb){if(_0x20adbb===Symbol[_0x1a4e('0x1349')])return _0x412164;if(_0x1a4e('0x1302')===_0x20adbb||_0x1a4e('0x1303')===_0x20adbb)return _0x312022;if(_0x1a4e('0x5e')===_0x20adbb||_0x1a4e('0x11c')===_0x20adbb)return _0x38c461===_0x38c461[_0x1a4e('0x11c')]?_0x312022:_0x38c461[_0x20adbb];if(_0x1a4e('0xb')===_0x20adbb)return _0x391f4b;if(_0x1a4e('0x134a')===_0x20adbb)return document[_0x3e2770['attachDocProxySymbol']]=_0x312022,Object(_0xda1a1b[_0x1a4e('0x1152')])(function(){return delete document[_0x3e2770[_0x1a4e('0x12ef')]];}),document;var _0x1012d5=_0x895965['has'](_0x20adbb)?_0x38c461[_0x20adbb]:_0x121352[_0x20adbb]||_0x38c461[_0x20adbb];return Object(_0x3e2770[_0x1a4e('0x12f0')])(_0x38c461,_0x1012d5);},'has':function(_0x121352,_0x20adbb){return _0x20adbb in _0x412164||_0x20adbb in _0x121352||_0x20adbb in _0x38c461;},'getOwnPropertyDescriptor':function(_0x121352,_0x20adbb){if(_0x121352[_0x1a4e('0xb')](_0x20adbb)){var _0x1012d5=Object['getOwnPropertyDescriptor'](_0x121352,_0x20adbb);return _0x177dbb['set'](_0x20adbb,_0x1a4e('0xd95')),_0x1012d5;}if(_0x38c461[_0x1a4e('0xb')](_0x20adbb)){var _0x4ee13e=Object[_0x1a4e('0x12fc')](_0x38c461,_0x20adbb);return _0x177dbb['set'](_0x20adbb,_0x1a4e('0x134b')),_0x4ee13e;}},'ownKeys':function(_0x121352){return Object(_0xda1a1b[_0x1a4e('0x134c')])(Reflect[_0x1a4e('0xd84')](_0x38c461)[_0x1a4e('0x9a')](Reflect[_0x1a4e('0xd84')](_0x121352)));},'defineProperty':function(_0x121352,_0x20adbb,_0x1012d5){switch(_0x177dbb[_0x1a4e('0x179')](_0x20adbb)){case _0x1a4e('0x134b'):return Reflect[_0x1a4e('0x2')](_0x38c461,_0x20adbb,_0x1012d5);default:return Reflect[_0x1a4e('0x2')](_0x121352,_0x20adbb,_0x1012d5);}},'deleteProperty':function(_0x121352,_0x20adbb){return!_0x121352[_0x1a4e('0xb')](_0x20adbb)||(delete _0x121352[_0x20adbb],_0x1012d5['delete'](_0x20adbb),!0x0);}});this['proxy']=_0x312022;}return Object(_0x38c461[_0x1a4e('0x8')])(_0x121352,[{'key':_0x1a4e('0x1304'),'value':function(){this['sandboxRunning']||_0x57c65e++,this[_0x1a4e('0x12ff')]=!0x0;}},{'key':_0x1a4e('0x12fa'),'value':function(){console[_0x1a4e('0x1305')](_0x1a4e('0x1306')[_0x1a4e('0x9a')](this[_0x1a4e('0x2cb')],_0x1a4e('0x1307')),Object(_0x4ee13e[_0x1a4e('0x8')])(this[_0x1a4e('0x1345')][_0x1a4e('0x56')]())),Object(_0x3384f0[_0x1a4e('0x130a')])(this['proxy'],0x0==--_0x57c65e),this[_0x1a4e('0x12ff')]=!0x1;}}]),_0x121352;}();},'./node_modules/qiankun/es/sandbox/snapshotSandbox.js':function(_0x2c6d24,_0x81d421,_0x4dcab8){'use strict';_0x4dcab8['r'](_0x81d421),_0x4dcab8['d'](_0x81d421,_0x1a4e('0x8'),function(){return _0x19886f;});var _0x1500d8=_0x4dcab8(_0x1a4e('0x130b')),_0x5474a9=_0x4dcab8(_0x1a4e('0x130c')),_0x48bfa2=_0x4dcab8(_0x1a4e('0x12ab'));function _0x18d554(_0x2c6d24,_0x81d421){for(var _0x4dcab8 in _0x2c6d24)_0x2c6d24[_0x1a4e('0xb')](_0x4dcab8)&&_0x81d421(_0x4dcab8);}var _0x19886f=function(){function _0x2c6d24(_0x81d421){Object(_0x1500d8[_0x1a4e('0x8')])(this,_0x2c6d24),this[_0x1a4e('0x12ff')]=!0x0,this['modifyPropsMap']={},this[_0x1a4e('0x2cb')]=_0x81d421,this[_0x1a4e('0xdfd')]=window,this['type']=_0x48bfa2[_0x1a4e('0x12ac')][_0x1a4e('0x12b0')];}return Object(_0x5474a9['default'])(_0x2c6d24,[{'key':_0x1a4e('0x1304'),'value':function(){var _0x2c6d24=this;this[_0x1a4e('0x134d')]={},_0x18d554(window,function(_0x81d421){_0x2c6d24[_0x1a4e('0x134d')][_0x81d421]=window[_0x81d421];}),Object[_0x1a4e('0x56')](this[_0x1a4e('0x134e')])['forEach'](function(_0x81d421){window[_0x81d421]=_0x2c6d24[_0x1a4e('0x134e')][_0x81d421];}),this['sandboxRunning']=!0x0;}},{'key':_0x1a4e('0x12fa'),'value':function(){var _0x2c6d24=this;this[_0x1a4e('0x134e')]={},_0x18d554(window,function(_0x81d421){window[_0x81d421]!==_0x2c6d24[_0x1a4e('0x134d')][_0x81d421]&&(_0x2c6d24[_0x1a4e('0x134e')][_0x81d421]=window[_0x81d421],window[_0x81d421]=_0x2c6d24[_0x1a4e('0x134d')][_0x81d421]);}),console[_0x1a4e('0x1305')](_0x1a4e('0x1306')['concat'](this[_0x1a4e('0x2cb')],_0x1a4e('0x134f')),Object[_0x1a4e('0x56')](this[_0x1a4e('0x134e')])),this[_0x1a4e('0x12ff')]=!0x1;}}]),_0x2c6d24;}();},'./node_modules/qiankun/es/utils.js':function(_0x1fc2ca,_0xd1dfa6,_0x34db62){'use strict';_0x34db62['r'](_0xd1dfa6),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x347'),function(){return _0x51a549;}),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x1350'),function(){return _0x2db963;}),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x1152'),function(){return _0x35b7a3;}),_0x34db62['d'](_0xd1dfa6,'isConstructable',function(){return _0x5b46e0;}),_0x34db62['d'](_0xd1dfa6,'isCallable',function(){return _0x1b8e79;}),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x12f4'),function(){return _0x381b5b;}),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x134c'),function(){return _0x335425;}),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x1351'),function(){return _0x3db43b;}),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x12bf'),function(){return _0x563607;}),_0x34db62['d'](_0xd1dfa6,'validateExportLifecycle',function(){return _0x44dce4;}),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x1286'),function(){return _0x5db82e;}),_0x34db62['d'](_0xd1dfa6,'performanceMark',function(){return _0x5ecfd6;}),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x12e5'),function(){return _0x4ce5cf;}),_0x34db62['d'](_0xd1dfa6,_0x1a4e('0x12d6'),function(){return _0x1d545d;});var _0x269584=_0x34db62(_0x1a4e('0x12b3')),_0x326493=_0x34db62(_0x1a4e('0x130b')),_0x48c478=_0x34db62(_0x1a4e('0xf91')),_0x79e1f2=_0x34db62['n'](_0x48c478),_0xc84e0c=_0x34db62(_0x1a4e('0x1352')),_0x4fd96e=_0x34db62['n'](_0xc84e0c);function _0x51a549(_0x1fc2ca){return Array[_0x1a4e('0x15')](_0x1fc2ca)?_0x1fc2ca:[_0x1fc2ca];}function _0x2db963(_0x1fc2ca){return new Promise(function(_0xd1dfa6){return setTimeout(_0xd1dfa6,_0x1fc2ca);});}function _0x35b7a3(_0x1fc2ca){Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](_0x1fc2ca);}function _0x5b46e0(_0x1fc2ca){return _0x1fc2ca[_0x1a4e('0xa')]&&_0x1fc2ca[_0x1a4e('0xa')][_0x1a4e('0x10')]===_0x1fc2ca&&Object['getOwnPropertyNames'](_0x1fc2ca[_0x1a4e('0xa')])[_0x1a4e('0x1e')]>0x1||/^function\b\s[A-Z].*/[_0x1a4e('0x8d0')](_0x1fc2ca[_0x1a4e('0x95')]())||/^class\b/[_0x1a4e('0x8d0')](_0x1fc2ca[_0x1a4e('0x95')]());}var _0x1b8e79=_0x1a4e('0x68')==typeof document[_0x1a4e('0xb8')]&&void 0x0===document[_0x1a4e('0xb8')]?function(_0x1fc2ca){return _0x1a4e('0x68')==typeof _0x1fc2ca&&void 0x0!==_0x1fc2ca;}:function(_0x1fc2ca){return _0x1a4e('0x68')==typeof _0x1fc2ca;};function _0x381b5b(_0x1fc2ca){return 0x0===_0x1fc2ca[_0x1a4e('0x2cb')]['indexOf']('bound\x20')&&!_0x1fc2ca[_0x1a4e('0xb')](_0x1a4e('0xa'));}function _0x335425(_0x1fc2ca){return _0x1fc2ca[_0x1a4e('0xd9')](function(_0x1fc2ca){return!(_0x1fc2ca in this)&&(this[_0x1fc2ca]=!0x0);},{});}function _0x3db43b(_0x1fc2ca,_0xd1dfa6){return function(_0x34db62){return _0x1a4e('0x1353')[_0x1a4e('0x9a')](_0x563607(_0x1fc2ca),_0x1a4e('0x1354'))['concat'](_0xd1dfa6,'\x22>')['concat'](_0x34db62,_0x1a4e('0x1355'));};}function _0x563607(_0x1fc2ca){return'__qiankun_microapp_wrapper_for_'['concat'](_0x4fd96e()(_0x1fc2ca),'__');}function _0x44dce4(_0x1fc2ca){var _0xd1dfa6=null!=_0x1fc2ca?_0x1fc2ca:{},_0x34db62=_0xd1dfa6['bootstrap'],_0x269584=_0xd1dfa6[_0x1a4e('0x128b')],_0x326493=_0xd1dfa6[_0x1a4e('0x1356')];return _0x79e1f2()(_0x34db62)&&_0x79e1f2()(_0x269584)&&_0x79e1f2()(_0x326493);}var _0x5db82e=function _0x1fc2ca(){var _0xd1dfa6=this;Object(_0x326493[_0x1a4e('0x8')])(this,_0x1fc2ca),this[_0x1a4e('0x12d4')]=new Promise(function(_0x1fc2ca,_0x34db62){_0xd1dfa6['resolve']=_0x1fc2ca,_0xd1dfa6[_0x1a4e('0x1077')]=_0x34db62;});},_0x489e37=_0x1a4e('0x3')!=typeof performance&&_0x1a4e('0x68')==typeof performance['mark']&&'function'==typeof performance[_0x1a4e('0xe09')]&&_0x1a4e('0x68')==typeof performance[_0x1a4e('0xe0a')]&&_0x1a4e('0x68')==typeof performance[_0x1a4e('0xe0b')];function _0x5ecfd6(_0x1fc2ca){_0x489e37&&performance[_0x1a4e('0xe08')](_0x1fc2ca);}function _0x4ce5cf(_0x1fc2ca,_0xd1dfa6){_0x489e37&&(performance[_0x1a4e('0xe0a')](_0x1fc2ca,_0xd1dfa6),performance[_0x1a4e('0xe09')](_0xd1dfa6),performance[_0x1a4e('0xe0b')](_0x1fc2ca));}function _0x1d545d(_0x1fc2ca){return _0x1a4e('0x85')===Object(_0x269584[_0x1a4e('0x8')])(_0x1fc2ca[_0x1a4e('0x1290')])&&(!_0x1fc2ca[_0x1a4e('0x1290')][_0x1a4e('0x12d5')]&&!!_0x1fc2ca[_0x1a4e('0x1290')]['experimentalStyleIsolation']);}},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js':function(_0x4c79c6,_0x13381d,_0x3d33df){'use strict';function _0x9e4fa3(_0x4c79c6,_0x13381d){(null==_0x13381d||_0x13381d>_0x4c79c6[_0x1a4e('0x1e')])&&(_0x13381d=_0x4c79c6['length']);for(var _0x3d33df=0x0,_0x9e4fa3=new Array(_0x13381d);_0x3d33df<_0x13381d;_0x3d33df++)_0x9e4fa3[_0x3d33df]=_0x4c79c6[_0x3d33df];return _0x9e4fa3;}_0x3d33df['r'](_0x13381d),_0x3d33df['d'](_0x13381d,_0x1a4e('0x8'),function(){return _0x9e4fa3;});},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js':function(_0x278167,_0x2daf93,_0x450d74){'use strict';_0x450d74['r'](_0x2daf93),_0x450d74['d'](_0x2daf93,_0x1a4e('0x8'),function(){return _0x4e1ed5;});var _0x47d49d=_0x450d74(_0x1a4e('0x1357'));function _0x4e1ed5(_0x278167){if(Array[_0x1a4e('0x15')](_0x278167))return Object(_0x47d49d['default'])(_0x278167);}},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/classCallCheck.js':function(_0xa2f2ef,_0x562092,_0x356920){'use strict';function _0x5e3a13(_0xa2f2ef,_0x562092){if(!(_0xa2f2ef instanceof _0x562092))throw new TypeError(_0x1a4e('0x1358'));}_0x356920['r'](_0x562092),_0x356920['d'](_0x562092,_0x1a4e('0x8'),function(){return _0x5e3a13;});},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/createClass.js':function(_0x28a99f,_0x4fb676,_0x3c3c05){'use strict';function _0x13b329(_0x28a99f,_0x4fb676){for(var _0x3c3c05=0x0;_0x3c3c05<_0x4fb676['length'];_0x3c3c05++){var _0x13b329=_0x4fb676[_0x3c3c05];_0x13b329[_0x1a4e('0x1359')]=_0x13b329[_0x1a4e('0x1359')]||!0x1,_0x13b329[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x13b329&&(_0x13b329[_0x1a4e('0x1346')]=!0x0),Object[_0x1a4e('0x2')](_0x28a99f,_0x13b329['key'],_0x13b329);}}function _0x54f6e3(_0x28a99f,_0x4fb676,_0x3c3c05){return _0x4fb676&&_0x13b329(_0x28a99f['prototype'],_0x4fb676),_0x3c3c05&&_0x13b329(_0x28a99f,_0x3c3c05),_0x28a99f;}_0x3c3c05['r'](_0x4fb676),_0x3c3c05['d'](_0x4fb676,_0x1a4e('0x8'),function(){return _0x54f6e3;});},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/defineProperty.js':function(_0x4e1a4c,_0x1e40ce,_0x54f4ae){'use strict';function _0x4d9d8b(_0x4e1a4c,_0x1e40ce,_0x54f4ae){return _0x1e40ce in _0x4e1a4c?Object[_0x1a4e('0x2')](_0x4e1a4c,_0x1e40ce,{'value':_0x54f4ae,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x4e1a4c[_0x1e40ce]=_0x54f4ae,_0x4e1a4c;}_0x54f4ae['r'](_0x1e40ce),_0x54f4ae['d'](_0x1e40ce,_0x1a4e('0x8'),function(){return _0x4d9d8b;});},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/iterableToArray.js':function(_0x15f349,_0x65615e,_0x1065e4){'use strict';function _0x2b45df(_0x15f349){if(_0x1a4e('0x3')!=typeof Symbol&&Symbol[_0x1a4e('0x335')]in Object(_0x15f349))return Array[_0x1a4e('0x1b5')](_0x15f349);}_0x1065e4['r'](_0x65615e),_0x1065e4['d'](_0x65615e,_0x1a4e('0x8'),function(){return _0x2b45df;});},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js':function(_0x298805,_0x284c67,_0x170a77){'use strict';function _0x5361e4(){throw new TypeError(_0x1a4e('0x135b'));}_0x170a77['r'](_0x284c67),_0x170a77['d'](_0x284c67,_0x1a4e('0x8'),function(){return _0x5361e4;});},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js':function(_0x5aa04d,_0x4e3485,_0x2785bb){'use strict';_0x2785bb['r'](_0x4e3485),_0x2785bb['d'](_0x4e3485,_0x1a4e('0x8'),function(){return _0x257dd7;});var _0x182875=_0x2785bb(_0x1a4e('0x135c')),_0x240769=_0x2785bb(_0x1a4e('0x135d')),_0x275b5a=_0x2785bb(_0x1a4e('0x135e')),_0x340353=_0x2785bb(_0x1a4e('0x135f'));function _0x257dd7(_0x5aa04d){return Object(_0x182875['default'])(_0x5aa04d)||Object(_0x240769['default'])(_0x5aa04d)||Object(_0x275b5a['default'])(_0x5aa04d)||Object(_0x340353[_0x1a4e('0x8')])();}},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/typeof.js':function(_0x1129df,_0x590a26,_0x24de2f){'use strict';function _0x51caa5(_0x1129df){return(_0x51caa5='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x1129df){return typeof _0x1129df;}:function(_0x1129df){return _0x1129df&&_0x1a4e('0x68')==typeof Symbol&&_0x1129df[_0x1a4e('0x10')]===Symbol&&_0x1129df!==Symbol[_0x1a4e('0xa')]?_0x1a4e('0xb1b'):typeof _0x1129df;})(_0x1129df);}_0x24de2f['r'](_0x590a26),_0x24de2f['d'](_0x590a26,_0x1a4e('0x8'),function(){return _0x51caa5;});},'./node_modules/qiankun/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js':function(_0x1cb7bc,_0x77e9c6,_0x4c9102){'use strict';_0x4c9102['r'](_0x77e9c6),_0x4c9102['d'](_0x77e9c6,_0x1a4e('0x8'),function(){return _0x258c7b;});var _0x39a57b=_0x4c9102(_0x1a4e('0x1357'));function _0x258c7b(_0x1cb7bc,_0x77e9c6){if(_0x1cb7bc){if(_0x1a4e('0x9')==typeof _0x1cb7bc)return Object(_0x39a57b[_0x1a4e('0x8')])(_0x1cb7bc,_0x77e9c6);var _0x4c9102=Object[_0x1a4e('0xa')][_0x1a4e('0x95')][_0x1a4e('0x1')](_0x1cb7bc)[_0x1a4e('0x78')](0x8,-0x1);return'Object'===_0x4c9102&&_0x1cb7bc['constructor']&&(_0x4c9102=_0x1cb7bc['constructor'][_0x1a4e('0x2cb')]),_0x1a4e('0xf51')===_0x4c9102||_0x1a4e('0xe45')===_0x4c9102?Array[_0x1a4e('0x1b5')](_0x1cb7bc):'Arguments'===_0x4c9102||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x4c9102)?Object(_0x39a57b[_0x1a4e('0x8')])(_0x1cb7bc,_0x77e9c6):void 0x0;}}},'./node_modules/qiankun/node_modules/@babel/runtime/regenerator/index.js':function(_0x557817,_0x2fa758,_0x2ee7ee){_0x557817[_0x1a4e('0x0')]=_0x2ee7ee('./node_modules/qiankun/node_modules/regenerator-runtime/runtime.js');},'./node_modules/qiankun/node_modules/regenerator-runtime/runtime.js':function(_0x249281,_0x3ad2a6,_0x20895b){var _0xffd95c=function(_0x249281){'use strict';var _0x3ad2a6,_0x20895b=Object[_0x1a4e('0xa')],_0xffd95c=_0x20895b['hasOwnProperty'],_0x2ac8e7=_0x1a4e('0x68')==typeof Symbol?Symbol:{},_0x11ac0d=_0x2ac8e7[_0x1a4e('0x335')]||'@@iterator',_0x22605a=_0x2ac8e7['asyncIterator']||_0x1a4e('0x1360'),_0x1f84c3=_0x2ac8e7[_0x1a4e('0x4')]||'@@toStringTag';function _0x4977cb(_0x249281,_0x3ad2a6,_0x20895b){return Object[_0x1a4e('0x2')](_0x249281,_0x3ad2a6,{'value':_0x20895b,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}),_0x249281[_0x3ad2a6];}try{_0x4977cb({},'');}catch(_0x27c54b){_0x4977cb=function(_0x27c54b,_0x3ad2a6,_0x20895b){return _0x27c54b[_0x3ad2a6]=_0x20895b;};}function _0x4a1e2e(_0x249281,_0x3ad2a6,_0x20895b,_0xffd95c){var _0x2ac8e7=_0x3ad2a6&&_0x3ad2a6[_0x1a4e('0xa')]instanceof _0x3b7aa6?_0x3ad2a6:_0x3b7aa6,_0x11ac0d=Object[_0x1a4e('0x7')](_0x2ac8e7[_0x1a4e('0xa')]),_0x22605a=new _0x5e0f17(_0xffd95c||[]);return _0x11ac0d[_0x1a4e('0x1361')]=function(_0x249281,_0x3ad2a6,_0x20895b){var _0xffd95c=_0x2b444c;return function(_0x2ac8e7,_0x11ac0d){if(_0xffd95c===_0x1174e7)throw new Error('Generator\x20is\x20already\x20running');if(_0xffd95c===_0x240496){if(_0x1a4e('0x1362')===_0x2ac8e7)throw _0x11ac0d;return _0x33f380();}for(_0x20895b[_0x1a4e('0x1062')]=_0x2ac8e7,_0x20895b[_0x1a4e('0x1363')]=_0x11ac0d;;){var _0x22605a=_0x20895b[_0x1a4e('0x1364')];if(_0x22605a){var _0x1f84c3=_0x24806c(_0x22605a,_0x20895b);if(_0x1f84c3){if(_0x1f84c3===_0x424e88)continue;return _0x1f84c3;}}if('next'===_0x20895b[_0x1a4e('0x1062')])_0x20895b[_0x1a4e('0x128a')]=_0x20895b['_sent']=_0x20895b['arg'];else if(_0x1a4e('0x1362')===_0x20895b[_0x1a4e('0x1062')]){if(_0xffd95c===_0x2b444c)throw _0xffd95c=_0x240496,_0x20895b[_0x1a4e('0x1363')];_0x20895b[_0x1a4e('0x1365')](_0x20895b[_0x1a4e('0x1363')]);}else _0x1a4e('0xe40')===_0x20895b[_0x1a4e('0x1062')]&&_0x20895b[_0x1a4e('0x12b8')](_0x1a4e('0xe40'),_0x20895b[_0x1a4e('0x1363')]);_0xffd95c=_0x1174e7;var _0x4977cb=_0x4d404d(_0x249281,_0x3ad2a6,_0x20895b);if(_0x1a4e('0x951')===_0x4977cb[_0x1a4e('0x40')]){if(_0xffd95c=_0x20895b[_0x1a4e('0x3c2')]?_0x240496:_0x29edd8,_0x4977cb[_0x1a4e('0x1363')]===_0x424e88)continue;return{'value':_0x4977cb[_0x1a4e('0x1363')],'done':_0x20895b['done']};}_0x1a4e('0x1362')===_0x4977cb['type']&&(_0xffd95c=_0x240496,_0x20895b[_0x1a4e('0x1062')]=_0x1a4e('0x1362'),_0x20895b['arg']=_0x4977cb[_0x1a4e('0x1363')]);}};}(_0x249281,_0x20895b,_0x22605a),_0x11ac0d;}function _0x4d404d(_0x249281,_0x3ad2a6,_0x20895b){try{return{'type':'normal','arg':_0x249281[_0x1a4e('0x1')](_0x3ad2a6,_0x20895b)};}catch(_0x4c010a){return{'type':_0x1a4e('0x1362'),'arg':_0x4c010a};}}_0x249281[_0x1a4e('0x24f')]=_0x4a1e2e;var _0x2b444c=_0x1a4e('0x1366'),_0x29edd8=_0x1a4e('0x1367'),_0x1174e7='executing',_0x240496=_0x1a4e('0x1368'),_0x424e88={};function _0x3b7aa6(){}function _0x479ba6(){}function _0x399c11(){}var _0x7430f1={};_0x7430f1[_0x11ac0d]=function(){return this;};var _0x2acaf1=Object[_0x1a4e('0xd98')],_0x4992ae=_0x2acaf1&&_0x2acaf1(_0x2acaf1(_0x21db84([])));_0x4992ae&&_0x4992ae!==_0x20895b&&_0xffd95c[_0x1a4e('0x1')](_0x4992ae,_0x11ac0d)&&(_0x7430f1=_0x4992ae);var _0x1f6fbd=_0x399c11[_0x1a4e('0xa')]=_0x3b7aa6[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x7430f1);function _0x28a68d(_0x249281){['next',_0x1a4e('0x1362'),_0x1a4e('0xe40')]['forEach'](function(_0x3ad2a6){_0x4977cb(_0x249281,_0x3ad2a6,function(_0x249281){return this[_0x1a4e('0x1361')](_0x3ad2a6,_0x249281);});});}function _0x33fecb(_0x249281,_0x3ad2a6){var _0x20895b;this[_0x1a4e('0x1361')]=function(_0x2ac8e7,_0x11ac0d){function _0x22605a(){return new _0x3ad2a6(function(_0x20895b,_0x22605a){!function _0x20895b(_0x2ac8e7,_0x11ac0d,_0x22605a,_0x1f84c3){var _0x4977cb=_0x4d404d(_0x249281[_0x2ac8e7],_0x249281,_0x11ac0d);if(_0x1a4e('0x1362')!==_0x4977cb[_0x1a4e('0x40')]){var _0x4a1e2e=_0x4977cb[_0x1a4e('0x1363')],_0x2b444c=_0x4a1e2e[_0x1a4e('0x255')];return _0x2b444c&&'object'==typeof _0x2b444c&&_0xffd95c[_0x1a4e('0x1')](_0x2b444c,_0x1a4e('0x1369'))?_0x3ad2a6['resolve'](_0x2b444c[_0x1a4e('0x1369')])[_0x1a4e('0xdf8')](function(_0x249281){_0x20895b(_0x1a4e('0x7e'),_0x249281,_0x22605a,_0x1f84c3);},function(_0x249281){_0x20895b('throw',_0x249281,_0x22605a,_0x1f84c3);}):_0x3ad2a6['resolve'](_0x2b444c)['then'](function(_0x249281){_0x4a1e2e['value']=_0x249281,_0x22605a(_0x4a1e2e);},function(_0x249281){return _0x20895b('throw',_0x249281,_0x22605a,_0x1f84c3);});}_0x1f84c3(_0x4977cb[_0x1a4e('0x1363')]);}(_0x2ac8e7,_0x11ac0d,_0x20895b,_0x22605a);});}return _0x20895b=_0x20895b?_0x20895b[_0x1a4e('0xdf8')](_0x22605a,_0x22605a):_0x22605a();};}function _0x24806c(_0x249281,_0x20895b){var _0xffd95c=_0x249281[_0x1a4e('0x335')][_0x20895b['method']];if(_0xffd95c===_0x3ad2a6){if(_0x20895b[_0x1a4e('0x1364')]=null,_0x1a4e('0x1362')===_0x20895b[_0x1a4e('0x1062')]){if(_0x249281['iterator'][_0x1a4e('0xe40')]&&(_0x20895b[_0x1a4e('0x1062')]=_0x1a4e('0xe40'),_0x20895b[_0x1a4e('0x1363')]=_0x3ad2a6,_0x24806c(_0x249281,_0x20895b),_0x1a4e('0x1362')===_0x20895b[_0x1a4e('0x1062')]))return _0x424e88;_0x20895b[_0x1a4e('0x1062')]='throw',_0x20895b[_0x1a4e('0x1363')]=new TypeError('The\x20iterator\x20does\x20not\x20provide\x20a\x20\x27throw\x27\x20method');}return _0x424e88;}var _0x2ac8e7=_0x4d404d(_0xffd95c,_0x249281[_0x1a4e('0x335')],_0x20895b['arg']);if(_0x1a4e('0x1362')===_0x2ac8e7[_0x1a4e('0x40')])return _0x20895b[_0x1a4e('0x1062')]=_0x1a4e('0x1362'),_0x20895b[_0x1a4e('0x1363')]=_0x2ac8e7['arg'],_0x20895b['delegate']=null,_0x424e88;var _0x11ac0d=_0x2ac8e7['arg'];return _0x11ac0d?_0x11ac0d['done']?(_0x20895b[_0x249281[_0x1a4e('0x136a')]]=_0x11ac0d[_0x1a4e('0x255')],_0x20895b[_0x1a4e('0x7e')]=_0x249281[_0x1a4e('0x136b')],'return'!==_0x20895b[_0x1a4e('0x1062')]&&(_0x20895b[_0x1a4e('0x1062')]=_0x1a4e('0x7e'),_0x20895b[_0x1a4e('0x1363')]=_0x3ad2a6),_0x20895b[_0x1a4e('0x1364')]=null,_0x424e88):_0x11ac0d:(_0x20895b[_0x1a4e('0x1062')]='throw',_0x20895b[_0x1a4e('0x1363')]=new TypeError(_0x1a4e('0x136c')),_0x20895b[_0x1a4e('0x1364')]=null,_0x424e88);}function _0x31ca08(_0x249281){var _0x3ad2a6={'tryLoc':_0x249281[0x0]};0x1 in _0x249281&&(_0x3ad2a6[_0x1a4e('0x136d')]=_0x249281[0x1]),0x2 in _0x249281&&(_0x3ad2a6[_0x1a4e('0x136e')]=_0x249281[0x2],_0x3ad2a6[_0x1a4e('0x136f')]=_0x249281[0x3]),this[_0x1a4e('0x1370')][_0x1a4e('0x46')](_0x3ad2a6);}function _0x19f4dd(_0x249281){var _0x3ad2a6=_0x249281[_0x1a4e('0x1371')]||{};_0x3ad2a6['type']='normal',delete _0x3ad2a6['arg'],_0x249281[_0x1a4e('0x1371')]=_0x3ad2a6;}function _0x5e0f17(_0x249281){this[_0x1a4e('0x1370')]=[{'tryLoc':_0x1a4e('0x1372')}],_0x249281[_0x1a4e('0x3b')](_0x31ca08,this),this[_0x1a4e('0x138')](!0x0);}function _0x21db84(_0x249281){if(_0x249281){var _0x20895b=_0x249281[_0x11ac0d];if(_0x20895b)return _0x20895b[_0x1a4e('0x1')](_0x249281);if(_0x1a4e('0x68')==typeof _0x249281[_0x1a4e('0x7e')])return _0x249281;if(!isNaN(_0x249281[_0x1a4e('0x1e')])){var _0x2ac8e7=-0x1,_0x22605a=function _0x20895b(){for(;++_0x2ac8e7<_0x249281[_0x1a4e('0x1e')];)if(_0xffd95c[_0x1a4e('0x1')](_0x249281,_0x2ac8e7))return _0x20895b[_0x1a4e('0x255')]=_0x249281[_0x2ac8e7],_0x20895b[_0x1a4e('0x3c2')]=!0x1,_0x20895b;return _0x20895b[_0x1a4e('0x255')]=_0x3ad2a6,_0x20895b[_0x1a4e('0x3c2')]=!0x0,_0x20895b;};return _0x22605a['next']=_0x22605a;}}return{'next':_0x33f380};}function _0x33f380(){return{'value':_0x3ad2a6,'done':!0x0};}return _0x479ba6[_0x1a4e('0xa')]=_0x1f6fbd[_0x1a4e('0x10')]=_0x399c11,_0x399c11['constructor']=_0x479ba6,_0x479ba6['displayName']=_0x4977cb(_0x399c11,_0x1f84c3,_0x1a4e('0x1373')),_0x249281[_0x1a4e('0x1374')]=function(_0x249281){var _0x3ad2a6=_0x1a4e('0x68')==typeof _0x249281&&_0x249281[_0x1a4e('0x10')];return!!_0x3ad2a6&&(_0x3ad2a6===_0x479ba6||_0x1a4e('0x1373')===(_0x3ad2a6[_0x1a4e('0x1375')]||_0x3ad2a6[_0x1a4e('0x2cb')]));},_0x249281['mark']=function(_0x249281){return Object['setPrototypeOf']?Object[_0x1a4e('0xe4a')](_0x249281,_0x399c11):(_0x249281[_0x1a4e('0x295')]=_0x399c11,_0x4977cb(_0x249281,_0x1f84c3,'GeneratorFunction')),_0x249281['prototype']=Object[_0x1a4e('0x7')](_0x1f6fbd),_0x249281;},_0x249281[_0x1a4e('0x1376')]=function(_0x249281){return{'__await':_0x249281};},_0x28a68d(_0x33fecb[_0x1a4e('0xa')]),_0x33fecb[_0x1a4e('0xa')][_0x22605a]=function(){return this;},_0x249281[_0x1a4e('0x1377')]=_0x33fecb,_0x249281[_0x1a4e('0xe06')]=function(_0x3ad2a6,_0x20895b,_0xffd95c,_0x2ac8e7,_0x11ac0d){void 0x0===_0x11ac0d&&(_0x11ac0d=Promise);var _0x22605a=new _0x33fecb(_0x4a1e2e(_0x3ad2a6,_0x20895b,_0xffd95c,_0x2ac8e7),_0x11ac0d);return _0x249281[_0x1a4e('0x1374')](_0x20895b)?_0x22605a:_0x22605a['next']()[_0x1a4e('0xdf8')](function(_0x249281){return _0x249281[_0x1a4e('0x3c2')]?_0x249281[_0x1a4e('0x255')]:_0x22605a[_0x1a4e('0x7e')]();});},_0x28a68d(_0x1f6fbd),_0x4977cb(_0x1f6fbd,_0x1f84c3,_0x1a4e('0x1378')),_0x1f6fbd[_0x11ac0d]=function(){return this;},_0x1f6fbd['toString']=function(){return'[object\x20Generator]';},_0x249281[_0x1a4e('0x56')]=function(_0x249281){var _0x3ad2a6=[];for(var _0x20895b in _0x249281)_0x3ad2a6['push'](_0x20895b);return _0x3ad2a6[_0x1a4e('0x9b')](),function _0x20895b(){for(;_0x3ad2a6['length'];){var _0xffd95c=_0x3ad2a6[_0x1a4e('0x76')]();if(_0xffd95c in _0x249281)return _0x20895b[_0x1a4e('0x255')]=_0xffd95c,_0x20895b['done']=!0x1,_0x20895b;}return _0x20895b[_0x1a4e('0x3c2')]=!0x0,_0x20895b;};},_0x249281['values']=_0x21db84,_0x5e0f17['prototype']={'constructor':_0x5e0f17,'reset':function(_0x249281){if(this[_0x1a4e('0xac')]=0x0,this['next']=0x0,this[_0x1a4e('0x128a')]=this[_0x1a4e('0x1379')]=_0x3ad2a6,this[_0x1a4e('0x3c2')]=!0x1,this[_0x1a4e('0x1364')]=null,this[_0x1a4e('0x1062')]=_0x1a4e('0x7e'),this[_0x1a4e('0x1363')]=_0x3ad2a6,this[_0x1a4e('0x1370')][_0x1a4e('0x3b')](_0x19f4dd),!_0x249281)for(var _0x20895b in this)'t'===_0x20895b[_0x1a4e('0x278')](0x0)&&_0xffd95c['call'](this,_0x20895b)&&!isNaN(+_0x20895b[_0x1a4e('0x78')](0x1))&&(this[_0x20895b]=_0x3ad2a6);},'stop':function(){this['done']=!0x0;var _0x249281=this[_0x1a4e('0x1370')][0x0][_0x1a4e('0x1371')];if('throw'===_0x249281[_0x1a4e('0x40')])throw _0x249281[_0x1a4e('0x1363')];return this[_0x1a4e('0x137a')];},'dispatchException':function(_0x249281){if(this['done'])throw _0x249281;var _0x20895b=this;function _0x2ac8e7(_0xffd95c,_0x2ac8e7){return _0x1f84c3['type']=_0x1a4e('0x1362'),_0x1f84c3[_0x1a4e('0x1363')]=_0x249281,_0x20895b[_0x1a4e('0x7e')]=_0xffd95c,_0x2ac8e7&&(_0x20895b[_0x1a4e('0x1062')]='next',_0x20895b[_0x1a4e('0x1363')]=_0x3ad2a6),!!_0x2ac8e7;}for(var _0x11ac0d=this[_0x1a4e('0x1370')]['length']-0x1;_0x11ac0d>=0x0;--_0x11ac0d){var _0x22605a=this[_0x1a4e('0x1370')][_0x11ac0d],_0x1f84c3=_0x22605a[_0x1a4e('0x1371')];if(_0x1a4e('0x1372')===_0x22605a[_0x1a4e('0x137b')])return _0x2ac8e7(_0x1a4e('0xca'));if(_0x22605a[_0x1a4e('0x137b')]<=this[_0x1a4e('0xac')]){var _0x4977cb=_0xffd95c[_0x1a4e('0x1')](_0x22605a,_0x1a4e('0x136d')),_0x4a1e2e=_0xffd95c[_0x1a4e('0x1')](_0x22605a,'finallyLoc');if(_0x4977cb&&_0x4a1e2e){if(this[_0x1a4e('0xac')]<_0x22605a[_0x1a4e('0x136d')])return _0x2ac8e7(_0x22605a[_0x1a4e('0x136d')],!0x0);if(this['prev']<_0x22605a[_0x1a4e('0x136e')])return _0x2ac8e7(_0x22605a[_0x1a4e('0x136e')]);}else if(_0x4977cb){if(this[_0x1a4e('0xac')]<_0x22605a['catchLoc'])return _0x2ac8e7(_0x22605a[_0x1a4e('0x136d')],!0x0);}else{if(!_0x4a1e2e)throw new Error(_0x1a4e('0x137c'));if(this['prev']<_0x22605a[_0x1a4e('0x136e')])return _0x2ac8e7(_0x22605a[_0x1a4e('0x136e')]);}}}},'abrupt':function(_0x249281,_0x3ad2a6){for(var _0x20895b=this[_0x1a4e('0x1370')][_0x1a4e('0x1e')]-0x1;_0x20895b>=0x0;--_0x20895b){var _0x2ac8e7=this[_0x1a4e('0x1370')][_0x20895b];if(_0x2ac8e7[_0x1a4e('0x137b')]<=this[_0x1a4e('0xac')]&&_0xffd95c['call'](_0x2ac8e7,_0x1a4e('0x136e'))&&this['prev']<_0x2ac8e7[_0x1a4e('0x136e')]){var _0x11ac0d=_0x2ac8e7;break;}}_0x11ac0d&&(_0x1a4e('0x137d')===_0x249281||_0x1a4e('0x137e')===_0x249281)&&_0x11ac0d[_0x1a4e('0x137b')]<=_0x3ad2a6&&_0x3ad2a6<=_0x11ac0d['finallyLoc']&&(_0x11ac0d=null);var _0x22605a=_0x11ac0d?_0x11ac0d['completion']:{};return _0x22605a[_0x1a4e('0x40')]=_0x249281,_0x22605a[_0x1a4e('0x1363')]=_0x3ad2a6,_0x11ac0d?(this['method']=_0x1a4e('0x7e'),this[_0x1a4e('0x7e')]=_0x11ac0d[_0x1a4e('0x136e')],_0x424e88):this[_0x1a4e('0x137f')](_0x22605a);},'complete':function(_0x249281,_0x3ad2a6){if(_0x1a4e('0x1362')===_0x249281[_0x1a4e('0x40')])throw _0x249281[_0x1a4e('0x1363')];return _0x1a4e('0x137d')===_0x249281[_0x1a4e('0x40')]||'continue'===_0x249281[_0x1a4e('0x40')]?this[_0x1a4e('0x7e')]=_0x249281[_0x1a4e('0x1363')]:_0x1a4e('0xe40')===_0x249281[_0x1a4e('0x40')]?(this['rval']=this[_0x1a4e('0x1363')]=_0x249281[_0x1a4e('0x1363')],this[_0x1a4e('0x1062')]=_0x1a4e('0xe40'),this[_0x1a4e('0x7e')]=_0x1a4e('0xca')):_0x1a4e('0x951')===_0x249281['type']&&_0x3ad2a6&&(this['next']=_0x3ad2a6),_0x424e88;},'finish':function(_0x249281){for(var _0x3ad2a6=this[_0x1a4e('0x1370')][_0x1a4e('0x1e')]-0x1;_0x3ad2a6>=0x0;--_0x3ad2a6){var _0x20895b=this[_0x1a4e('0x1370')][_0x3ad2a6];if(_0x20895b[_0x1a4e('0x136e')]===_0x249281)return this[_0x1a4e('0x137f')](_0x20895b[_0x1a4e('0x1371')],_0x20895b[_0x1a4e('0x136f')]),_0x19f4dd(_0x20895b),_0x424e88;}},'catch':function(_0x249281){for(var _0x3ad2a6=this[_0x1a4e('0x1370')][_0x1a4e('0x1e')]-0x1;_0x3ad2a6>=0x0;--_0x3ad2a6){var _0x20895b=this[_0x1a4e('0x1370')][_0x3ad2a6];if(_0x20895b[_0x1a4e('0x137b')]===_0x249281){var _0xffd95c=_0x20895b['completion'];if('throw'===_0xffd95c['type']){var _0x2ac8e7=_0xffd95c[_0x1a4e('0x1363')];_0x19f4dd(_0x20895b);}return _0x2ac8e7;}}throw new Error(_0x1a4e('0x1380'));},'delegateYield':function(_0x249281,_0x20895b,_0xffd95c){return this[_0x1a4e('0x1364')]={'iterator':_0x21db84(_0x249281),'resultName':_0x20895b,'nextLoc':_0xffd95c},_0x1a4e('0x7e')===this[_0x1a4e('0x1062')]&&(this[_0x1a4e('0x1363')]=_0x3ad2a6),_0x424e88;}},_0x249281;}(_0x249281[_0x1a4e('0x0')]);try{regeneratorRuntime=_0xffd95c;}catch(_0x3bbe25){Function('r',_0x1a4e('0x1381'))(_0xffd95c);}},'./node_modules/randombytes/browser.js':function(_0x30b4d8,_0x5ad8ef,_0x5d58b3){'use strict';(function(_0x5ad8ef,_0x215dec){var _0x472af7=0x10000,_0x452763=0xffffffff;var _0x18b2b1=_0x5d58b3(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0xf39987=_0x5ad8ef[_0x1a4e('0xa27')]||_0x5ad8ef[_0x1a4e('0xa28')];_0xf39987&&_0xf39987[_0x1a4e('0xa29')]?_0x30b4d8[_0x1a4e('0x0')]=function(_0x30b4d8,_0x5ad8ef){if(_0x30b4d8>_0x452763)throw new RangeError(_0x1a4e('0x1382'));var _0x5d58b3=_0x18b2b1[_0x1a4e('0xa3c')](_0x30b4d8);if(_0x30b4d8>0x0)if(_0x30b4d8>_0x472af7)for(var _0x1e2855=0x0;_0x1e2855<_0x30b4d8;_0x1e2855+=_0x472af7)_0xf39987[_0x1a4e('0xa29')](_0x5d58b3[_0x1a4e('0x78')](_0x1e2855,_0x1e2855+_0x472af7));else _0xf39987[_0x1a4e('0xa29')](_0x5d58b3);if('function'==typeof _0x5ad8ef)return _0x215dec[_0x1a4e('0x1152')](function(){_0x5ad8ef(null,_0x5d58b3);});return _0x5d58b3;}:_0x30b4d8[_0x1a4e('0x0')]=function(){throw new Error('Secure\x20random\x20number\x20generation\x20is\x20not\x20supported\x20by\x20this\x20browser.\x0aUse\x20Chrome,\x20Firefox\x20or\x20Internet\x20Explorer\x2011');};}[_0x1a4e('0x1')](this,_0x5d58b3(_0x1a4e('0xb07')),_0x5d58b3(_0x1a4e('0x1156'))));},'./node_modules/randomfill/browser.js':function(_0x691daa,_0x4626ed,_0x48a5f5){'use strict';(function(_0x691daa,_0x31d5af){function _0x5d996c(){throw new Error(_0x1a4e('0x1383'));}var _0x4fa2eb=_0x48a5f5(_0x1a4e('0xa2d')),_0x1cb78e=_0x48a5f5(_0x1a4e('0xb8a')),_0x2e92bc=_0x4fa2eb['Buffer'],_0x4346b5=_0x4fa2eb[_0x1a4e('0xad9')],_0x1abbb5=_0x691daa['crypto']||_0x691daa[_0x1a4e('0xa28')],_0x543d99=Math[_0x1a4e('0x8e')](0x2,0x20)-0x1;function _0x568d28(_0x691daa,_0x4626ed){if(_0x1a4e('0x3d')!=typeof _0x691daa||_0x691daa!=_0x691daa)throw new TypeError(_0x1a4e('0x1384'));if(_0x691daa>_0x543d99||_0x691daa<0x0)throw new TypeError('offset\x20must\x20be\x20a\x20uint32');if(_0x691daa>_0x4346b5||_0x691daa>_0x4626ed)throw new RangeError(_0x1a4e('0x1385'));}function _0x570d29(_0x691daa,_0x4626ed,_0x48a5f5){if(_0x1a4e('0x3d')!=typeof _0x691daa||_0x691daa!=_0x691daa)throw new TypeError(_0x1a4e('0x1386'));if(_0x691daa>_0x543d99||_0x691daa<0x0)throw new TypeError('size\x20must\x20be\x20a\x20uint32');if(_0x691daa+_0x4626ed>_0x48a5f5||_0x691daa>_0x4346b5)throw new RangeError(_0x1a4e('0x1387'));}function _0x155325(_0x691daa,_0x4626ed,_0x48a5f5,_0x5d996c){if(_0x31d5af['browser']){var _0x4fa2eb=_0x691daa['buffer'],_0x2e92bc=new Uint8Array(_0x4fa2eb,_0x4626ed,_0x48a5f5);return _0x1abbb5[_0x1a4e('0xa29')](_0x2e92bc),_0x5d996c?void _0x31d5af[_0x1a4e('0x1152')](function(){_0x5d996c(null,_0x691daa);}):_0x691daa;}if(!_0x5d996c)return _0x1cb78e(_0x48a5f5)[_0x1a4e('0xea')](_0x691daa,_0x4626ed),_0x691daa;_0x1cb78e(_0x48a5f5,function(_0x48a5f5,_0x31d5af){if(_0x48a5f5)return _0x5d996c(_0x48a5f5);_0x31d5af['copy'](_0x691daa,_0x4626ed),_0x5d996c(null,_0x691daa);});}_0x1abbb5&&_0x1abbb5['getRandomValues']||!_0x31d5af[_0x1a4e('0x1155')]?(_0x4626ed[_0x1a4e('0xb62')]=function(_0x4626ed,_0x48a5f5,_0x31d5af,_0x5d996c){if(!(_0x2e92bc[_0x1a4e('0x871')](_0x4626ed)||_0x4626ed instanceof _0x691daa[_0x1a4e('0xf5c')]))throw new TypeError('\x22buf\x22\x20argument\x20must\x20be\x20a\x20Buffer\x20or\x20Uint8Array');if(_0x1a4e('0x68')==typeof _0x48a5f5)_0x5d996c=_0x48a5f5,_0x48a5f5=0x0,_0x31d5af=_0x4626ed[_0x1a4e('0x1e')];else if(_0x1a4e('0x68')==typeof _0x31d5af)_0x5d996c=_0x31d5af,_0x31d5af=_0x4626ed[_0x1a4e('0x1e')]-_0x48a5f5;else if(_0x1a4e('0x68')!=typeof _0x5d996c)throw new TypeError('\x22cb\x22\x20argument\x20must\x20be\x20a\x20function');return _0x568d28(_0x48a5f5,_0x4626ed[_0x1a4e('0x1e')]),_0x570d29(_0x31d5af,_0x48a5f5,_0x4626ed[_0x1a4e('0x1e')]),_0x155325(_0x4626ed,_0x48a5f5,_0x31d5af,_0x5d996c);},_0x4626ed[_0x1a4e('0xb63')]=function(_0x4626ed,_0x48a5f5,_0x31d5af){void 0x0===_0x48a5f5&&(_0x48a5f5=0x0);if(!(_0x2e92bc[_0x1a4e('0x871')](_0x4626ed)||_0x4626ed instanceof _0x691daa[_0x1a4e('0xf5c')]))throw new TypeError(_0x1a4e('0x1388'));_0x568d28(_0x48a5f5,_0x4626ed[_0x1a4e('0x1e')]),void 0x0===_0x31d5af&&(_0x31d5af=_0x4626ed[_0x1a4e('0x1e')]-_0x48a5f5);return _0x570d29(_0x31d5af,_0x48a5f5,_0x4626ed[_0x1a4e('0x1e')]),_0x155325(_0x4626ed,_0x48a5f5,_0x31d5af);}):(_0x4626ed['randomFill']=_0x5d996c,_0x4626ed['randomFillSync']=_0x5d996c);}[_0x1a4e('0x1')](this,_0x48a5f5(_0x1a4e('0xb07')),_0x48a5f5(_0x1a4e('0x1156'))));},'./node_modules/readable-stream/duplex-browser.js':function(_0x56a84b,_0x3cd821,_0xbd9dd0){_0x56a84b[_0x1a4e('0x0')]=_0xbd9dd0(_0x1a4e('0x1389'));},'./node_modules/readable-stream/lib/_stream_duplex.js':function(_0x7d7393,_0x3f9f75,_0x14f787){'use strict';var _0x2384c9=_0x14f787('./node_modules/process-nextick-args/index.js'),_0x43aa66=Object[_0x1a4e('0x56')]||function(_0x7d7393){var _0x3f9f75=[];for(var _0x14f787 in _0x7d7393)_0x3f9f75[_0x1a4e('0x46')](_0x14f787);return _0x3f9f75;};_0x7d7393[_0x1a4e('0x0')]=_0x11a556;var _0xa563da=_0x14f787(_0x1a4e('0x138a'));_0xa563da[_0x1a4e('0xdd4')]=_0x14f787(_0x1a4e('0x863'));var _0x1c336e=_0x14f787(_0x1a4e('0x138b')),_0x2ebb27=_0x14f787(_0x1a4e('0x138c'));_0xa563da[_0x1a4e('0xdd4')](_0x11a556,_0x1c336e);for(var _0x406899=_0x43aa66(_0x2ebb27[_0x1a4e('0xa')]),_0xd1f029=0x0;_0xd1f029<_0x406899[_0x1a4e('0x1e')];_0xd1f029++){var _0x108ce4=_0x406899[_0xd1f029];_0x11a556['prototype'][_0x108ce4]||(_0x11a556['prototype'][_0x108ce4]=_0x2ebb27[_0x1a4e('0xa')][_0x108ce4]);}function _0x11a556(_0x7d7393){if(!(this instanceof _0x11a556))return new _0x11a556(_0x7d7393);_0x1c336e[_0x1a4e('0x1')](this,_0x7d7393),_0x2ebb27[_0x1a4e('0x1')](this,_0x7d7393),_0x7d7393&&!0x1===_0x7d7393[_0x1a4e('0x138d')]&&(this[_0x1a4e('0x138d')]=!0x1),_0x7d7393&&!0x1===_0x7d7393[_0x1a4e('0x1346')]&&(this[_0x1a4e('0x1346')]=!0x1),this['allowHalfOpen']=!0x0,_0x7d7393&&!0x1===_0x7d7393[_0x1a4e('0x138e')]&&(this[_0x1a4e('0x138e')]=!0x1),this[_0x1a4e('0xd9e')](_0x1a4e('0xca'),_0x4e90e2);}function _0x4e90e2(){this[_0x1a4e('0x138e')]||this[_0x1a4e('0x138f')][_0x1a4e('0x1390')]||_0x2384c9[_0x1a4e('0x1152')](_0x558e18,this);}function _0x558e18(_0x7d7393){_0x7d7393[_0x1a4e('0xca')]();}Object['defineProperty'](_0x11a556[_0x1a4e('0xa')],_0x1a4e('0x1391'),{'enumerable':!0x1,'get':function(){return this[_0x1a4e('0x138f')]['highWaterMark'];}}),Object[_0x1a4e('0x2')](_0x11a556[_0x1a4e('0xa')],_0x1a4e('0x1392'),{'get':function(){return void 0x0!==this[_0x1a4e('0x1393')]&&void 0x0!==this[_0x1a4e('0x138f')]&&(this[_0x1a4e('0x1393')][_0x1a4e('0x1392')]&&this[_0x1a4e('0x138f')]['destroyed']);},'set':function(_0x7d7393){void 0x0!==this[_0x1a4e('0x1393')]&&void 0x0!==this[_0x1a4e('0x138f')]&&(this[_0x1a4e('0x1393')]['destroyed']=_0x7d7393,this[_0x1a4e('0x138f')][_0x1a4e('0x1392')]=_0x7d7393);}}),_0x11a556[_0x1a4e('0xa')]['_destroy']=function(_0x7d7393,_0x3f9f75){this[_0x1a4e('0x46')](null),this['end'](),_0x2384c9[_0x1a4e('0x1152')](_0x3f9f75,_0x7d7393);};},'./node_modules/readable-stream/lib/_stream_passthrough.js':function(_0x4b9ee8,_0xec1416,_0x3d5989){'use strict';_0x4b9ee8[_0x1a4e('0x0')]=_0x1c0440;var _0xdf3ae1=_0x3d5989(_0x1a4e('0x1394')),_0x27c5fe=_0x3d5989('./node_modules/core-util-is/lib/util.js');function _0x1c0440(_0x4b9ee8){if(!(this instanceof _0x1c0440))return new _0x1c0440(_0x4b9ee8);_0xdf3ae1['call'](this,_0x4b9ee8);}_0x27c5fe['inherits']=_0x3d5989(_0x1a4e('0x863')),_0x27c5fe[_0x1a4e('0xdd4')](_0x1c0440,_0xdf3ae1),_0x1c0440[_0x1a4e('0xa')][_0x1a4e('0xb15')]=function(_0x4b9ee8,_0xec1416,_0x3d5989){_0x3d5989(null,_0x4b9ee8);};},'./node_modules/readable-stream/lib/_stream_readable.js':function(_0x28f6e5,_0x929179,_0x24b3f2){'use strict';(function(_0x929179,_0x456807){var _0x1a4ab0=_0x24b3f2(_0x1a4e('0x1395'));_0x28f6e5[_0x1a4e('0x0')]=_0x4e363d;var _0x1f267b,_0x3b36a3=_0x24b3f2(_0x1a4e('0xabf'));_0x4e363d['ReadableState']=_0x2fc562;_0x24b3f2(_0x1a4e('0x1396'))[_0x1a4e('0xd87')];var _0xe41bf0=function(_0x28f6e5,_0x929179){return _0x28f6e5['listeners'](_0x929179)[_0x1a4e('0x1e')];},_0x55e7f7=_0x24b3f2(_0x1a4e('0x1397')),_0x3b2e60=_0x24b3f2(_0x1a4e('0xa2d'))['Buffer'],_0x32e71c=_0x929179[_0x1a4e('0xf5c')]||function(){};var _0x4e7e83=_0x24b3f2(_0x1a4e('0x138a'));_0x4e7e83[_0x1a4e('0xdd4')]=_0x24b3f2(_0x1a4e('0x863'));var _0x22bc6d=_0x24b3f2(0x1),_0x11e501=void 0x0;_0x11e501=_0x22bc6d&&_0x22bc6d[_0x1a4e('0x1398')]?_0x22bc6d[_0x1a4e('0x1398')]('stream'):function(){};var _0x28a57c,_0x34b477=_0x24b3f2(_0x1a4e('0x1399')),_0x5216ba=_0x24b3f2(_0x1a4e('0x139a'));_0x4e7e83['inherits'](_0x4e363d,_0x55e7f7);var _0x31b898=['error',_0x1a4e('0x139b'),_0x1a4e('0x139c'),_0x1a4e('0x139d'),'resume'];function _0x2fc562(_0x28f6e5,_0x929179){_0x28f6e5=_0x28f6e5||{};var _0x456807=_0x929179 instanceof(_0x1f267b=_0x1f267b||_0x24b3f2('./node_modules/readable-stream/lib/_stream_duplex.js'));this[_0x1a4e('0x139e')]=!!_0x28f6e5[_0x1a4e('0x139e')],_0x456807&&(this[_0x1a4e('0x139e')]=this[_0x1a4e('0x139e')]||!!_0x28f6e5[_0x1a4e('0x139f')]);var _0x1a4ab0=_0x28f6e5['highWaterMark'],_0x3b36a3=_0x28f6e5[_0x1a4e('0x13a0')],_0xe41bf0=this['objectMode']?0x10:0x4000;this[_0x1a4e('0x13a1')]=_0x1a4ab0||0x0===_0x1a4ab0?_0x1a4ab0:_0x456807&&(_0x3b36a3||0x0===_0x3b36a3)?_0x3b36a3:_0xe41bf0,this[_0x1a4e('0x13a1')]=Math[_0x1a4e('0xb4')](this['highWaterMark']),this[_0x1a4e('0x613')]=new _0x34b477(),this['length']=0x0,this[_0x1a4e('0x13a2')]=null,this[_0x1a4e('0x13a3')]=0x0,this['flowing']=null,this[_0x1a4e('0x1390')]=!0x1,this[_0x1a4e('0x13a4')]=!0x1,this[_0x1a4e('0x13a5')]=!0x1,this[_0x1a4e('0x13a6')]=!0x0,this[_0x1a4e('0x13a7')]=!0x1,this[_0x1a4e('0x13a8')]=!0x1,this['readableListening']=!0x1,this[_0x1a4e('0x13a9')]=!0x1,this[_0x1a4e('0x1392')]=!0x1,this[_0x1a4e('0x13aa')]=_0x28f6e5['defaultEncoding']||_0x1a4e('0xac4'),this[_0x1a4e('0x13ab')]=0x0,this[_0x1a4e('0x13ac')]=!0x1,this[_0x1a4e('0x13ad')]=null,this[_0x1a4e('0x13ae')]=null,_0x28f6e5['encoding']&&(_0x28a57c||(_0x28a57c=_0x24b3f2(_0x1a4e('0xb09'))[_0x1a4e('0xb0a')]),this[_0x1a4e('0x13ad')]=new _0x28a57c(_0x28f6e5[_0x1a4e('0x13ae')]),this['encoding']=_0x28f6e5[_0x1a4e('0x13ae')]);}function _0x4e363d(_0x28f6e5){if(_0x1f267b=_0x1f267b||_0x24b3f2('./node_modules/readable-stream/lib/_stream_duplex.js'),!(this instanceof _0x4e363d))return new _0x4e363d(_0x28f6e5);this[_0x1a4e('0x1393')]=new _0x2fc562(_0x28f6e5,this),this[_0x1a4e('0x138d')]=!0x0,_0x28f6e5&&(_0x1a4e('0x68')==typeof _0x28f6e5[_0x1a4e('0x144')]&&(this[_0x1a4e('0x13af')]=_0x28f6e5[_0x1a4e('0x144')]),'function'==typeof _0x28f6e5[_0x1a4e('0x139c')]&&(this[_0x1a4e('0x13b0')]=_0x28f6e5['destroy'])),_0x55e7f7[_0x1a4e('0x1')](this);}function _0x403f86(_0x28f6e5,_0x929179,_0x24b3f2,_0x456807,_0x1a4ab0){var _0x1f267b,_0x3b36a3=_0x28f6e5[_0x1a4e('0x1393')];null===_0x929179?(_0x3b36a3[_0x1a4e('0x13a5')]=!0x1,function(_0x28f6e5,_0x929179){if(_0x929179[_0x1a4e('0x1390')])return;if(_0x929179[_0x1a4e('0x13ad')]){var _0x24b3f2=_0x929179[_0x1a4e('0x13ad')][_0x1a4e('0xca')]();_0x24b3f2&&_0x24b3f2[_0x1a4e('0x1e')]&&(_0x929179[_0x1a4e('0x613')][_0x1a4e('0x46')](_0x24b3f2),_0x929179[_0x1a4e('0x1e')]+=_0x929179[_0x1a4e('0x139e')]?0x1:_0x24b3f2[_0x1a4e('0x1e')]);}_0x929179['ended']=!0x0,_0xe74146(_0x28f6e5);}(_0x28f6e5,_0x3b36a3)):(_0x1a4ab0||(_0x1f267b=function(_0x28f6e5,_0x929179){var _0x24b3f2;_0x456807=_0x929179,_0x3b2e60['isBuffer'](_0x456807)||_0x456807 instanceof _0x32e71c||_0x1a4e('0x9')==typeof _0x929179||void 0x0===_0x929179||_0x28f6e5[_0x1a4e('0x139e')]||(_0x24b3f2=new TypeError('Invalid\x20non-string/buffer\x20chunk'));var _0x456807;return _0x24b3f2;}(_0x3b36a3,_0x929179)),_0x1f267b?_0x28f6e5['emit'](_0x1a4e('0x873'),_0x1f267b):_0x3b36a3[_0x1a4e('0x139e')]||_0x929179&&_0x929179[_0x1a4e('0x1e')]>0x0?(_0x1a4e('0x9')==typeof _0x929179||_0x3b36a3[_0x1a4e('0x139e')]||Object[_0x1a4e('0xd98')](_0x929179)===_0x3b2e60[_0x1a4e('0xa')]||(_0x929179=function(_0x28f6e5){return _0x3b2e60[_0x1a4e('0x1b5')](_0x28f6e5);}(_0x929179)),_0x456807?_0x3b36a3[_0x1a4e('0x13a4')]?_0x28f6e5[_0x1a4e('0xd8c')](_0x1a4e('0x873'),new Error(_0x1a4e('0x13b1'))):_0x240078(_0x28f6e5,_0x3b36a3,_0x929179,!0x0):_0x3b36a3['ended']?_0x28f6e5[_0x1a4e('0xd8c')](_0x1a4e('0x873'),new Error(_0x1a4e('0x13b2'))):(_0x3b36a3[_0x1a4e('0x13a5')]=!0x1,_0x3b36a3[_0x1a4e('0x13ad')]&&!_0x24b3f2?(_0x929179=_0x3b36a3[_0x1a4e('0x13ad')]['write'](_0x929179),_0x3b36a3['objectMode']||0x0!==_0x929179[_0x1a4e('0x1e')]?_0x240078(_0x28f6e5,_0x3b36a3,_0x929179,!0x1):_0x2bffb6(_0x28f6e5,_0x3b36a3)):_0x240078(_0x28f6e5,_0x3b36a3,_0x929179,!0x1))):_0x456807||(_0x3b36a3['reading']=!0x1));return function(_0x28f6e5){return!_0x28f6e5['ended']&&(_0x28f6e5[_0x1a4e('0x13a7')]||_0x28f6e5[_0x1a4e('0x1e')]<_0x28f6e5[_0x1a4e('0x13a1')]||0x0===_0x28f6e5['length']);}(_0x3b36a3);}function _0x240078(_0x28f6e5,_0x929179,_0x24b3f2,_0x456807){_0x929179[_0x1a4e('0x13b3')]&&0x0===_0x929179[_0x1a4e('0x1e')]&&!_0x929179[_0x1a4e('0x13a6')]?(_0x28f6e5[_0x1a4e('0xd8c')]('data',_0x24b3f2),_0x28f6e5[_0x1a4e('0x144')](0x0)):(_0x929179[_0x1a4e('0x1e')]+=_0x929179[_0x1a4e('0x139e')]?0x1:_0x24b3f2[_0x1a4e('0x1e')],_0x456807?_0x929179['buffer']['unshift'](_0x24b3f2):_0x929179[_0x1a4e('0x613')][_0x1a4e('0x46')](_0x24b3f2),_0x929179[_0x1a4e('0x13a7')]&&_0xe74146(_0x28f6e5)),_0x2bffb6(_0x28f6e5,_0x929179);}Object[_0x1a4e('0x2')](_0x4e363d[_0x1a4e('0xa')],_0x1a4e('0x1392'),{'get':function(){return void 0x0!==this['_readableState']&&this['_readableState'][_0x1a4e('0x1392')];},'set':function(_0x28f6e5){this['_readableState']&&(this[_0x1a4e('0x1393')][_0x1a4e('0x1392')]=_0x28f6e5);}}),_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x139c')]=_0x5216ba[_0x1a4e('0x139c')],_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x13b4')]=_0x5216ba['undestroy'],_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x13b0')]=function(_0x28f6e5,_0x929179){this['push'](null),_0x929179(_0x28f6e5);},_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x46')]=function(_0x28f6e5,_0x929179){var _0x24b3f2,_0x456807=this[_0x1a4e('0x1393')];return _0x456807[_0x1a4e('0x139e')]?_0x24b3f2=!0x0:_0x1a4e('0x9')==typeof _0x28f6e5&&((_0x929179=_0x929179||_0x456807[_0x1a4e('0x13aa')])!==_0x456807[_0x1a4e('0x13ae')]&&(_0x28f6e5=_0x3b2e60['from'](_0x28f6e5,_0x929179),_0x929179=''),_0x24b3f2=!0x0),_0x403f86(this,_0x28f6e5,_0x929179,!0x1,_0x24b3f2);},_0x4e363d[_0x1a4e('0xa')]['unshift']=function(_0x28f6e5){return _0x403f86(this,_0x28f6e5,null,!0x0,!0x1);},_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x13b5')]=function(){return!0x1===this[_0x1a4e('0x1393')][_0x1a4e('0x13b3')];},_0x4e363d[_0x1a4e('0xa')]['setEncoding']=function(_0x28f6e5){return _0x28a57c||(_0x28a57c=_0x24b3f2(_0x1a4e('0xb09'))[_0x1a4e('0xb0a')]),this['_readableState']['decoder']=new _0x28a57c(_0x28f6e5),this[_0x1a4e('0x1393')]['encoding']=_0x28f6e5,this;};var _0x1506af=0x800000;function _0x46c386(_0x28f6e5,_0x929179){return _0x28f6e5<=0x0||0x0===_0x929179[_0x1a4e('0x1e')]&&_0x929179[_0x1a4e('0x1390')]?0x0:_0x929179[_0x1a4e('0x139e')]?0x1:_0x28f6e5!=_0x28f6e5?_0x929179[_0x1a4e('0x13b3')]&&_0x929179[_0x1a4e('0x1e')]?_0x929179['buffer'][_0x1a4e('0x10f1')][_0x1a4e('0x7f')][_0x1a4e('0x1e')]:_0x929179[_0x1a4e('0x1e')]:(_0x28f6e5>_0x929179['highWaterMark']&&(_0x929179[_0x1a4e('0x13a1')]=function(_0x28f6e5){return _0x28f6e5>=_0x1506af?_0x28f6e5=_0x1506af:(_0x28f6e5--,_0x28f6e5|=_0x28f6e5>>>0x1,_0x28f6e5|=_0x28f6e5>>>0x2,_0x28f6e5|=_0x28f6e5>>>0x4,_0x28f6e5|=_0x28f6e5>>>0x8,_0x28f6e5|=_0x28f6e5>>>0x10,_0x28f6e5++),_0x28f6e5;}(_0x28f6e5)),_0x28f6e5<=_0x929179[_0x1a4e('0x1e')]?_0x28f6e5:_0x929179[_0x1a4e('0x1390')]?_0x929179[_0x1a4e('0x1e')]:(_0x929179['needReadable']=!0x0,0x0));}function _0xe74146(_0x28f6e5){var _0x929179=_0x28f6e5[_0x1a4e('0x1393')];_0x929179[_0x1a4e('0x13a7')]=!0x1,_0x929179[_0x1a4e('0x13a8')]||(_0x11e501(_0x1a4e('0x13b6'),_0x929179[_0x1a4e('0x13b3')]),_0x929179['emittedReadable']=!0x0,_0x929179[_0x1a4e('0x13a6')]?_0x1a4ab0[_0x1a4e('0x1152')](_0x32e704,_0x28f6e5):_0x32e704(_0x28f6e5));}function _0x32e704(_0x28f6e5){_0x11e501(_0x1a4e('0x13b7')),_0x28f6e5[_0x1a4e('0xd8c')](_0x1a4e('0x138d')),_0x17d81c(_0x28f6e5);}function _0x2bffb6(_0x28f6e5,_0x929179){_0x929179['readingMore']||(_0x929179[_0x1a4e('0x13ac')]=!0x0,_0x1a4ab0[_0x1a4e('0x1152')](_0x5c8bbb,_0x28f6e5,_0x929179));}function _0x5c8bbb(_0x28f6e5,_0x929179){for(var _0x24b3f2=_0x929179[_0x1a4e('0x1e')];!_0x929179[_0x1a4e('0x13a5')]&&!_0x929179['flowing']&&!_0x929179[_0x1a4e('0x1390')]&&_0x929179[_0x1a4e('0x1e')]<_0x929179[_0x1a4e('0x13a1')]&&(_0x11e501('maybeReadMore\x20read\x200'),_0x28f6e5['read'](0x0),_0x24b3f2!==_0x929179['length']);)_0x24b3f2=_0x929179[_0x1a4e('0x1e')];_0x929179['readingMore']=!0x1;}function _0x19a392(_0x28f6e5){_0x11e501(_0x1a4e('0x13b8')),_0x28f6e5['read'](0x0);}function _0x1a41eb(_0x28f6e5,_0x929179){_0x929179[_0x1a4e('0x13a5')]||(_0x11e501('resume\x20read\x200'),_0x28f6e5[_0x1a4e('0x144')](0x0)),_0x929179[_0x1a4e('0x13a9')]=!0x1,_0x929179[_0x1a4e('0x13ab')]=0x0,_0x28f6e5['emit']('resume'),_0x17d81c(_0x28f6e5),_0x929179[_0x1a4e('0x13b3')]&&!_0x929179[_0x1a4e('0x13a5')]&&_0x28f6e5[_0x1a4e('0x144')](0x0);}function _0x17d81c(_0x28f6e5){var _0x929179=_0x28f6e5[_0x1a4e('0x1393')];for(_0x11e501(_0x1a4e('0x1053'),_0x929179[_0x1a4e('0x13b3')]);_0x929179[_0x1a4e('0x13b3')]&&null!==_0x28f6e5['read'](););}function _0x138fea(_0x28f6e5,_0x929179){return 0x0===_0x929179['length']?null:(_0x929179[_0x1a4e('0x139e')]?_0x24b3f2=_0x929179[_0x1a4e('0x613')][_0x1a4e('0x7d')]():!_0x28f6e5||_0x28f6e5>=_0x929179['length']?(_0x24b3f2=_0x929179[_0x1a4e('0x13ad')]?_0x929179[_0x1a4e('0x613')]['join'](''):0x1===_0x929179[_0x1a4e('0x613')][_0x1a4e('0x1e')]?_0x929179[_0x1a4e('0x613')]['head'][_0x1a4e('0x7f')]:_0x929179['buffer'][_0x1a4e('0x9a')](_0x929179[_0x1a4e('0x1e')]),_0x929179[_0x1a4e('0x613')][_0x1a4e('0xb5')]()):_0x24b3f2=function(_0x28f6e5,_0x929179,_0x24b3f2){var _0x456807;_0x28f6e5<_0x929179[_0x1a4e('0x10f1')][_0x1a4e('0x7f')][_0x1a4e('0x1e')]?(_0x456807=_0x929179[_0x1a4e('0x10f1')][_0x1a4e('0x7f')][_0x1a4e('0x78')](0x0,_0x28f6e5),_0x929179[_0x1a4e('0x10f1')][_0x1a4e('0x7f')]=_0x929179[_0x1a4e('0x10f1')]['data']['slice'](_0x28f6e5)):_0x456807=_0x28f6e5===_0x929179['head']['data'][_0x1a4e('0x1e')]?_0x929179[_0x1a4e('0x7d')]():_0x24b3f2?function(_0x28f6e5,_0x929179){var _0x24b3f2=_0x929179['head'],_0x456807=0x1,_0x1a4ab0=_0x24b3f2['data'];_0x28f6e5-=_0x1a4ab0[_0x1a4e('0x1e')];for(;_0x24b3f2=_0x24b3f2['next'];){var _0x1f267b=_0x24b3f2[_0x1a4e('0x7f')],_0x3b36a3=_0x28f6e5>_0x1f267b[_0x1a4e('0x1e')]?_0x1f267b[_0x1a4e('0x1e')]:_0x28f6e5;if(_0x3b36a3===_0x1f267b[_0x1a4e('0x1e')]?_0x1a4ab0+=_0x1f267b:_0x1a4ab0+=_0x1f267b[_0x1a4e('0x78')](0x0,_0x28f6e5),0x0===(_0x28f6e5-=_0x3b36a3)){_0x3b36a3===_0x1f267b[_0x1a4e('0x1e')]?(++_0x456807,_0x24b3f2[_0x1a4e('0x7e')]?_0x929179['head']=_0x24b3f2['next']:_0x929179[_0x1a4e('0x10f1')]=_0x929179[_0x1a4e('0x107f')]=null):(_0x929179[_0x1a4e('0x10f1')]=_0x24b3f2,_0x24b3f2[_0x1a4e('0x7f')]=_0x1f267b[_0x1a4e('0x78')](_0x3b36a3));break;}++_0x456807;}return _0x929179[_0x1a4e('0x1e')]-=_0x456807,_0x1a4ab0;}(_0x28f6e5,_0x929179):function(_0x28f6e5,_0x929179){var _0x24b3f2=_0x3b2e60[_0x1a4e('0xa3c')](_0x28f6e5),_0x456807=_0x929179[_0x1a4e('0x10f1')],_0x1a4ab0=0x1;_0x456807[_0x1a4e('0x7f')]['copy'](_0x24b3f2),_0x28f6e5-=_0x456807['data'][_0x1a4e('0x1e')];for(;_0x456807=_0x456807[_0x1a4e('0x7e')];){var _0x1f267b=_0x456807[_0x1a4e('0x7f')],_0x3b36a3=_0x28f6e5>_0x1f267b[_0x1a4e('0x1e')]?_0x1f267b['length']:_0x28f6e5;if(_0x1f267b[_0x1a4e('0xea')](_0x24b3f2,_0x24b3f2[_0x1a4e('0x1e')]-_0x28f6e5,0x0,_0x3b36a3),0x0===(_0x28f6e5-=_0x3b36a3)){_0x3b36a3===_0x1f267b[_0x1a4e('0x1e')]?(++_0x1a4ab0,_0x456807[_0x1a4e('0x7e')]?_0x929179[_0x1a4e('0x10f1')]=_0x456807[_0x1a4e('0x7e')]:_0x929179['head']=_0x929179[_0x1a4e('0x107f')]=null):(_0x929179[_0x1a4e('0x10f1')]=_0x456807,_0x456807[_0x1a4e('0x7f')]=_0x1f267b[_0x1a4e('0x78')](_0x3b36a3));break;}++_0x1a4ab0;}return _0x929179[_0x1a4e('0x1e')]-=_0x1a4ab0,_0x24b3f2;}(_0x28f6e5,_0x929179);return _0x456807;}(_0x28f6e5,_0x929179[_0x1a4e('0x613')],_0x929179[_0x1a4e('0x13ad')]),_0x24b3f2);var _0x24b3f2;}function _0xb87a6a(_0x28f6e5){var _0x929179=_0x28f6e5[_0x1a4e('0x1393')];if(_0x929179[_0x1a4e('0x1e')]>0x0)throw new Error(_0x1a4e('0x13b9'));_0x929179[_0x1a4e('0x13a4')]||(_0x929179[_0x1a4e('0x1390')]=!0x0,_0x1a4ab0[_0x1a4e('0x1152')](_0x1e2a5e,_0x929179,_0x28f6e5));}function _0x1e2a5e(_0x28f6e5,_0x929179){_0x28f6e5[_0x1a4e('0x13a4')]||0x0!==_0x28f6e5[_0x1a4e('0x1e')]||(_0x28f6e5[_0x1a4e('0x13a4')]=!0x0,_0x929179[_0x1a4e('0x138d')]=!0x1,_0x929179[_0x1a4e('0xd8c')](_0x1a4e('0xca')));}function _0x2f86ff(_0x28f6e5,_0x929179){for(var _0x24b3f2=0x0,_0x456807=_0x28f6e5[_0x1a4e('0x1e')];_0x24b3f2<_0x456807;_0x24b3f2++)if(_0x28f6e5[_0x24b3f2]===_0x929179)return _0x24b3f2;return-0x1;}_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x144')]=function(_0x28f6e5){_0x11e501(_0x1a4e('0x144'),_0x28f6e5),_0x28f6e5=parseInt(_0x28f6e5,0xa);var _0x929179=this[_0x1a4e('0x1393')],_0x24b3f2=_0x28f6e5;if(0x0!==_0x28f6e5&&(_0x929179[_0x1a4e('0x13a8')]=!0x1),0x0===_0x28f6e5&&_0x929179[_0x1a4e('0x13a7')]&&(_0x929179['length']>=_0x929179[_0x1a4e('0x13a1')]||_0x929179[_0x1a4e('0x1390')]))return _0x11e501(_0x1a4e('0x13ba'),_0x929179['length'],_0x929179['ended']),0x0===_0x929179[_0x1a4e('0x1e')]&&_0x929179[_0x1a4e('0x1390')]?_0xb87a6a(this):_0xe74146(this),null;if(0x0===(_0x28f6e5=_0x46c386(_0x28f6e5,_0x929179))&&_0x929179[_0x1a4e('0x1390')])return 0x0===_0x929179[_0x1a4e('0x1e')]&&_0xb87a6a(this),null;var _0x456807,_0x1a4ab0=_0x929179['needReadable'];return _0x11e501('need\x20readable',_0x1a4ab0),(0x0===_0x929179[_0x1a4e('0x1e')]||_0x929179[_0x1a4e('0x1e')]-_0x28f6e5<_0x929179[_0x1a4e('0x13a1')])&&_0x11e501(_0x1a4e('0x13bb'),_0x1a4ab0=!0x0),_0x929179[_0x1a4e('0x1390')]||_0x929179[_0x1a4e('0x13a5')]?_0x11e501('reading\x20or\x20ended',_0x1a4ab0=!0x1):_0x1a4ab0&&(_0x11e501(_0x1a4e('0x13bc')),_0x929179[_0x1a4e('0x13a5')]=!0x0,_0x929179[_0x1a4e('0x13a6')]=!0x0,0x0===_0x929179['length']&&(_0x929179[_0x1a4e('0x13a7')]=!0x0),this[_0x1a4e('0x13af')](_0x929179['highWaterMark']),_0x929179['sync']=!0x1,_0x929179[_0x1a4e('0x13a5')]||(_0x28f6e5=_0x46c386(_0x24b3f2,_0x929179))),null===(_0x456807=_0x28f6e5>0x0?_0x138fea(_0x28f6e5,_0x929179):null)?(_0x929179[_0x1a4e('0x13a7')]=!0x0,_0x28f6e5=0x0):_0x929179[_0x1a4e('0x1e')]-=_0x28f6e5,0x0===_0x929179[_0x1a4e('0x1e')]&&(_0x929179[_0x1a4e('0x1390')]||(_0x929179[_0x1a4e('0x13a7')]=!0x0),_0x24b3f2!==_0x28f6e5&&_0x929179[_0x1a4e('0x1390')]&&_0xb87a6a(this)),null!==_0x456807&&this[_0x1a4e('0xd8c')](_0x1a4e('0x7f'),_0x456807),_0x456807;},_0x4e363d['prototype'][_0x1a4e('0x13af')]=function(_0x28f6e5){this[_0x1a4e('0xd8c')](_0x1a4e('0x873'),new Error(_0x1a4e('0x13bd')));},_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x13be')]=function(_0x28f6e5,_0x929179){var _0x24b3f2=this,_0x1f267b=this[_0x1a4e('0x1393')];switch(_0x1f267b[_0x1a4e('0x13a3')]){case 0x0:_0x1f267b[_0x1a4e('0x13a2')]=_0x28f6e5;break;case 0x1:_0x1f267b['pipes']=[_0x1f267b[_0x1a4e('0x13a2')],_0x28f6e5];break;default:_0x1f267b[_0x1a4e('0x13a2')][_0x1a4e('0x46')](_0x28f6e5);}_0x1f267b[_0x1a4e('0x13a3')]+=0x1,_0x11e501('pipe\x20count=%d\x20opts=%j',_0x1f267b[_0x1a4e('0x13a3')],_0x929179);var _0x55e7f7=(!_0x929179||!0x1!==_0x929179[_0x1a4e('0xca')])&&_0x28f6e5!==_0x456807[_0x1a4e('0x13bf')]&&_0x28f6e5!==_0x456807[_0x1a4e('0x13c0')]?_0x32e71c:_0x4e363d;function _0x3b2e60(_0x929179,_0x456807){_0x11e501('onunpipe'),_0x929179===_0x24b3f2&&_0x456807&&!0x1===_0x456807['hasUnpiped']&&(_0x456807['hasUnpiped']=!0x0,_0x11e501(_0x1a4e('0x13c1')),_0x28f6e5[_0x1a4e('0xda0')]('close',_0x31b898),_0x28f6e5[_0x1a4e('0xda0')](_0x1a4e('0x13c2'),_0x2fc562),_0x28f6e5[_0x1a4e('0xda0')](_0x1a4e('0x13c3'),_0x4e7e83),_0x28f6e5['removeListener'](_0x1a4e('0x873'),_0x5216ba),_0x28f6e5['removeListener'](_0x1a4e('0x13c4'),_0x3b2e60),_0x24b3f2[_0x1a4e('0xda0')](_0x1a4e('0xca'),_0x32e71c),_0x24b3f2[_0x1a4e('0xda0')](_0x1a4e('0xca'),_0x4e363d),_0x24b3f2[_0x1a4e('0xda0')](_0x1a4e('0x7f'),_0x34b477),_0x22bc6d=!0x0,!_0x1f267b[_0x1a4e('0x13ab')]||_0x28f6e5[_0x1a4e('0x138f')]&&!_0x28f6e5[_0x1a4e('0x138f')][_0x1a4e('0x13c5')]||_0x4e7e83());}function _0x32e71c(){_0x11e501(_0x1a4e('0x13c6')),_0x28f6e5[_0x1a4e('0xca')]();}_0x1f267b[_0x1a4e('0x13a4')]?_0x1a4ab0[_0x1a4e('0x1152')](_0x55e7f7):_0x24b3f2['once']('end',_0x55e7f7),_0x28f6e5['on'](_0x1a4e('0x13c4'),_0x3b2e60);var _0x4e7e83=function(_0x28f6e5){return function(){var _0x929179=_0x28f6e5['_readableState'];_0x11e501('pipeOnDrain',_0x929179[_0x1a4e('0x13ab')]),_0x929179[_0x1a4e('0x13ab')]&&_0x929179[_0x1a4e('0x13ab')]--,0x0===_0x929179[_0x1a4e('0x13ab')]&&_0xe41bf0(_0x28f6e5,_0x1a4e('0x7f'))&&(_0x929179[_0x1a4e('0x13b3')]=!0x0,_0x17d81c(_0x28f6e5));};}(_0x24b3f2);_0x28f6e5['on'](_0x1a4e('0x13c3'),_0x4e7e83);var _0x22bc6d=!0x1;var _0x28a57c=!0x1;function _0x34b477(_0x929179){_0x11e501(_0x1a4e('0x13c7')),_0x28a57c=!0x1,!0x1!==_0x28f6e5[_0x1a4e('0x146')](_0x929179)||_0x28a57c||((0x1===_0x1f267b[_0x1a4e('0x13a3')]&&_0x1f267b[_0x1a4e('0x13a2')]===_0x28f6e5||_0x1f267b[_0x1a4e('0x13a3')]>0x1&&-0x1!==_0x2f86ff(_0x1f267b[_0x1a4e('0x13a2')],_0x28f6e5))&&!_0x22bc6d&&(_0x11e501('false\x20write\x20response,\x20pause',_0x24b3f2[_0x1a4e('0x1393')][_0x1a4e('0x13ab')]),_0x24b3f2[_0x1a4e('0x1393')][_0x1a4e('0x13ab')]++,_0x28a57c=!0x0),_0x24b3f2[_0x1a4e('0x139d')]());}function _0x5216ba(_0x929179){_0x11e501(_0x1a4e('0x1338'),_0x929179),_0x4e363d(),_0x28f6e5[_0x1a4e('0xda0')]('error',_0x5216ba),0x0===_0xe41bf0(_0x28f6e5,'error')&&_0x28f6e5[_0x1a4e('0xd8c')]('error',_0x929179);}function _0x31b898(){_0x28f6e5[_0x1a4e('0xda0')](_0x1a4e('0x13c2'),_0x2fc562),_0x4e363d();}function _0x2fc562(){_0x11e501(_0x1a4e('0x13c8')),_0x28f6e5[_0x1a4e('0xda0')](_0x1a4e('0x139b'),_0x31b898),_0x4e363d();}function _0x4e363d(){_0x11e501(_0x1a4e('0x13c4')),_0x24b3f2[_0x1a4e('0x13c4')](_0x28f6e5);}return _0x24b3f2['on'](_0x1a4e('0x7f'),_0x34b477),function(_0x28f6e5,_0x929179,_0x24b3f2){if(_0x1a4e('0x68')==typeof _0x28f6e5['prependListener'])return _0x28f6e5['prependListener'](_0x929179,_0x24b3f2);_0x28f6e5['_events']&&_0x28f6e5['_events'][_0x929179]?_0x3b36a3(_0x28f6e5[_0x1a4e('0xd8b')][_0x929179])?_0x28f6e5[_0x1a4e('0xd8b')][_0x929179][_0x1a4e('0x66')](_0x24b3f2):_0x28f6e5[_0x1a4e('0xd8b')][_0x929179]=[_0x24b3f2,_0x28f6e5[_0x1a4e('0xd8b')][_0x929179]]:_0x28f6e5['on'](_0x929179,_0x24b3f2);}(_0x28f6e5,_0x1a4e('0x873'),_0x5216ba),_0x28f6e5[_0x1a4e('0xd9e')](_0x1a4e('0x139b'),_0x31b898),_0x28f6e5[_0x1a4e('0xd9e')](_0x1a4e('0x13c2'),_0x2fc562),_0x28f6e5[_0x1a4e('0xd8c')](_0x1a4e('0x13be'),_0x24b3f2),_0x1f267b[_0x1a4e('0x13b3')]||(_0x11e501(_0x1a4e('0x13c9')),_0x24b3f2[_0x1a4e('0x13ca')]()),_0x28f6e5;},_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x13c4')]=function(_0x28f6e5){var _0x929179=this[_0x1a4e('0x1393')],_0x24b3f2={'hasUnpiped':!0x1};if(0x0===_0x929179[_0x1a4e('0x13a3')])return this;if(0x1===_0x929179[_0x1a4e('0x13a3')])return _0x28f6e5&&_0x28f6e5!==_0x929179['pipes']?this:(_0x28f6e5||(_0x28f6e5=_0x929179['pipes']),_0x929179[_0x1a4e('0x13a2')]=null,_0x929179['pipesCount']=0x0,_0x929179[_0x1a4e('0x13b3')]=!0x1,_0x28f6e5&&_0x28f6e5['emit'](_0x1a4e('0x13c4'),this,_0x24b3f2),this);if(!_0x28f6e5){var _0x456807=_0x929179['pipes'],_0x1a4ab0=_0x929179[_0x1a4e('0x13a3')];_0x929179[_0x1a4e('0x13a2')]=null,_0x929179[_0x1a4e('0x13a3')]=0x0,_0x929179[_0x1a4e('0x13b3')]=!0x1;for(var _0x1f267b=0x0;_0x1f267b<_0x1a4ab0;_0x1f267b++)_0x456807[_0x1f267b][_0x1a4e('0xd8c')](_0x1a4e('0x13c4'),this,_0x24b3f2);return this;}var _0x3b36a3=_0x2f86ff(_0x929179[_0x1a4e('0x13a2')],_0x28f6e5);return-0x1===_0x3b36a3?this:(_0x929179[_0x1a4e('0x13a2')][_0x1a4e('0x8a')](_0x3b36a3,0x1),_0x929179[_0x1a4e('0x13a3')]-=0x1,0x1===_0x929179[_0x1a4e('0x13a3')]&&(_0x929179[_0x1a4e('0x13a2')]=_0x929179[_0x1a4e('0x13a2')][0x0]),_0x28f6e5[_0x1a4e('0xd8c')](_0x1a4e('0x13c4'),this,_0x24b3f2),this);},_0x4e363d[_0x1a4e('0xa')]['on']=function(_0x28f6e5,_0x929179){var _0x24b3f2=_0x55e7f7['prototype']['on'][_0x1a4e('0x1')](this,_0x28f6e5,_0x929179);if(_0x1a4e('0x7f')===_0x28f6e5)!0x1!==this[_0x1a4e('0x1393')][_0x1a4e('0x13b3')]&&this[_0x1a4e('0x13ca')]();else if(_0x1a4e('0x138d')===_0x28f6e5){var _0x456807=this[_0x1a4e('0x1393')];_0x456807['endEmitted']||_0x456807['readableListening']||(_0x456807[_0x1a4e('0x13cb')]=_0x456807[_0x1a4e('0x13a7')]=!0x0,_0x456807[_0x1a4e('0x13a8')]=!0x1,_0x456807['reading']?_0x456807[_0x1a4e('0x1e')]&&_0xe74146(this):_0x1a4ab0[_0x1a4e('0x1152')](_0x19a392,this));}return _0x24b3f2;},_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0xd9c')]=_0x4e363d[_0x1a4e('0xa')]['on'],_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x13ca')]=function(){var _0x28f6e5=this[_0x1a4e('0x1393')];return _0x28f6e5['flowing']||(_0x11e501(_0x1a4e('0x13ca')),_0x28f6e5['flowing']=!0x0,function(_0x28f6e5,_0x929179){_0x929179['resumeScheduled']||(_0x929179[_0x1a4e('0x13a9')]=!0x0,_0x1a4ab0[_0x1a4e('0x1152')](_0x1a41eb,_0x28f6e5,_0x929179));}(this,_0x28f6e5)),this;},_0x4e363d[_0x1a4e('0xa')][_0x1a4e('0x139d')]=function(){return _0x11e501(_0x1a4e('0x13cc'),this[_0x1a4e('0x1393')][_0x1a4e('0x13b3')]),!0x1!==this['_readableState'][_0x1a4e('0x13b3')]&&(_0x11e501(_0x1a4e('0x139d')),this[_0x1a4e('0x1393')][_0x1a4e('0x13b3')]=!0x1,this[_0x1a4e('0xd8c')]('pause')),this;},_0x4e363d[_0x1a4e('0xa')]['wrap']=function(_0x28f6e5){var _0x929179=this,_0x24b3f2=this['_readableState'],_0x456807=!0x1;for(var _0x1a4ab0 in _0x28f6e5['on']('end',function(){if(_0x11e501(_0x1a4e('0x13cd')),_0x24b3f2[_0x1a4e('0x13ad')]&&!_0x24b3f2[_0x1a4e('0x1390')]){var _0x28f6e5=_0x24b3f2[_0x1a4e('0x13ad')][_0x1a4e('0xca')]();_0x28f6e5&&_0x28f6e5[_0x1a4e('0x1e')]&&_0x929179[_0x1a4e('0x46')](_0x28f6e5);}_0x929179[_0x1a4e('0x46')](null);}),_0x28f6e5['on'](_0x1a4e('0x7f'),function(_0x1a4ab0){(_0x11e501(_0x1a4e('0x13ce')),_0x24b3f2[_0x1a4e('0x13ad')]&&(_0x1a4ab0=_0x24b3f2[_0x1a4e('0x13ad')][_0x1a4e('0x146')](_0x1a4ab0)),_0x24b3f2[_0x1a4e('0x139e')]&&null==_0x1a4ab0)||(_0x24b3f2['objectMode']||_0x1a4ab0&&_0x1a4ab0[_0x1a4e('0x1e')])&&(_0x929179[_0x1a4e('0x46')](_0x1a4ab0)||(_0x456807=!0x0,_0x28f6e5[_0x1a4e('0x139d')]()));}),_0x28f6e5)void 0x0===this[_0x1a4ab0]&&_0x1a4e('0x68')==typeof _0x28f6e5[_0x1a4ab0]&&(this[_0x1a4ab0]=function(_0x929179){return function(){return _0x28f6e5[_0x929179]['apply'](_0x28f6e5,arguments);};}(_0x1a4ab0));for(var _0x1f267b=0x0;_0x1f267b<_0x31b898[_0x1a4e('0x1e')];_0x1f267b++)_0x28f6e5['on'](_0x31b898[_0x1f267b],this[_0x1a4e('0xd8c')][_0x1a4e('0x945')](this,_0x31b898[_0x1f267b]));return this['_read']=function(_0x929179){_0x11e501(_0x1a4e('0x13cf'),_0x929179),_0x456807&&(_0x456807=!0x1,_0x28f6e5[_0x1a4e('0x13ca')]());},this;},Object[_0x1a4e('0x2')](_0x4e363d[_0x1a4e('0xa')],_0x1a4e('0x13a0'),{'enumerable':!0x1,'get':function(){return this[_0x1a4e('0x1393')][_0x1a4e('0x13a1')];}}),_0x4e363d[_0x1a4e('0x13d0')]=_0x138fea;}['call'](this,_0x24b3f2(_0x1a4e('0xb07')),_0x24b3f2(_0x1a4e('0x1156'))));},'./node_modules/readable-stream/lib/_stream_transform.js':function(_0x43fa10,_0x2e8bd2,_0xd2f144){'use strict';_0x43fa10[_0x1a4e('0x0')]=_0x386d2e;var _0x2ba86c=_0xd2f144(_0x1a4e('0x1389')),_0x4bda04=_0xd2f144(_0x1a4e('0x138a'));function _0x105d40(_0x43fa10,_0x2e8bd2){var _0xd2f144=this['_transformState'];_0xd2f144['transforming']=!0x1;var _0x2ba86c=_0xd2f144[_0x1a4e('0x13d1')];if(!_0x2ba86c)return this['emit']('error',new Error('write\x20callback\x20called\x20multiple\x20times'));_0xd2f144['writechunk']=null,_0xd2f144[_0x1a4e('0x13d1')]=null,null!=_0x2e8bd2&&this['push'](_0x2e8bd2),_0x2ba86c(_0x43fa10);var _0x4bda04=this[_0x1a4e('0x1393')];_0x4bda04[_0x1a4e('0x13a5')]=!0x1,(_0x4bda04[_0x1a4e('0x13a7')]||_0x4bda04[_0x1a4e('0x1e')]<_0x4bda04['highWaterMark'])&&this[_0x1a4e('0x13af')](_0x4bda04[_0x1a4e('0x13a1')]);}function _0x386d2e(_0x43fa10){if(!(this instanceof _0x386d2e))return new _0x386d2e(_0x43fa10);_0x2ba86c[_0x1a4e('0x1')](this,_0x43fa10),this[_0x1a4e('0x13d2')]={'afterTransform':_0x105d40[_0x1a4e('0x945')](this),'needTransform':!0x1,'transforming':!0x1,'writecb':null,'writechunk':null,'writeencoding':null},this[_0x1a4e('0x1393')][_0x1a4e('0x13a7')]=!0x0,this[_0x1a4e('0x1393')][_0x1a4e('0x13a6')]=!0x1,_0x43fa10&&('function'==typeof _0x43fa10[_0x1a4e('0x93')]&&(this['_transform']=_0x43fa10[_0x1a4e('0x93')]),'function'==typeof _0x43fa10['flush']&&(this[_0x1a4e('0xb16')]=_0x43fa10[_0x1a4e('0xa6f')])),this['on'](_0x1a4e('0x13d3'),_0x2b2f8d);}function _0x2b2f8d(){var _0x43fa10=this;_0x1a4e('0x68')==typeof this[_0x1a4e('0xb16')]?this[_0x1a4e('0xb16')](function(_0x2e8bd2,_0xd2f144){_0x1efa58(_0x43fa10,_0x2e8bd2,_0xd2f144);}):_0x1efa58(this,null,null);}function _0x1efa58(_0x43fa10,_0x2e8bd2,_0xd2f144){if(_0x2e8bd2)return _0x43fa10[_0x1a4e('0xd8c')]('error',_0x2e8bd2);if(null!=_0xd2f144&&_0x43fa10[_0x1a4e('0x46')](_0xd2f144),_0x43fa10['_writableState'][_0x1a4e('0x1e')])throw new Error('Calling\x20transform\x20done\x20when\x20ws.length\x20!=\x200');if(_0x43fa10[_0x1a4e('0x13d2')][_0x1a4e('0x13d4')])throw new Error(_0x1a4e('0x13d5'));return _0x43fa10['push'](null);}_0x4bda04[_0x1a4e('0xdd4')]=_0xd2f144(_0x1a4e('0x863')),_0x4bda04[_0x1a4e('0xdd4')](_0x386d2e,_0x2ba86c),_0x386d2e[_0x1a4e('0xa')][_0x1a4e('0x46')]=function(_0x43fa10,_0x2e8bd2){return this[_0x1a4e('0x13d2')]['needTransform']=!0x1,_0x2ba86c[_0x1a4e('0xa')][_0x1a4e('0x46')]['call'](this,_0x43fa10,_0x2e8bd2);},_0x386d2e[_0x1a4e('0xa')]['_transform']=function(_0x43fa10,_0x2e8bd2,_0xd2f144){throw new Error(_0x1a4e('0x13d6'));},_0x386d2e[_0x1a4e('0xa')][_0x1a4e('0xaa8')]=function(_0x43fa10,_0x2e8bd2,_0xd2f144){var _0x2ba86c=this['_transformState'];if(_0x2ba86c[_0x1a4e('0x13d1')]=_0xd2f144,_0x2ba86c[_0x1a4e('0x13d7')]=_0x43fa10,_0x2ba86c[_0x1a4e('0x13d8')]=_0x2e8bd2,!_0x2ba86c[_0x1a4e('0x13d4')]){var _0x4bda04=this[_0x1a4e('0x1393')];(_0x2ba86c[_0x1a4e('0x13d9')]||_0x4bda04[_0x1a4e('0x13a7')]||_0x4bda04[_0x1a4e('0x1e')]<_0x4bda04[_0x1a4e('0x13a1')])&&this['_read'](_0x4bda04['highWaterMark']);}},_0x386d2e[_0x1a4e('0xa')]['_read']=function(_0x43fa10){var _0x2e8bd2=this['_transformState'];null!==_0x2e8bd2[_0x1a4e('0x13d7')]&&_0x2e8bd2[_0x1a4e('0x13d1')]&&!_0x2e8bd2[_0x1a4e('0x13d4')]?(_0x2e8bd2[_0x1a4e('0x13d4')]=!0x0,this[_0x1a4e('0xb15')](_0x2e8bd2[_0x1a4e('0x13d7')],_0x2e8bd2[_0x1a4e('0x13d8')],_0x2e8bd2[_0x1a4e('0x13da')])):_0x2e8bd2['needTransform']=!0x0;},_0x386d2e[_0x1a4e('0xa')][_0x1a4e('0x13b0')]=function(_0x43fa10,_0x2e8bd2){var _0xd2f144=this;_0x2ba86c[_0x1a4e('0xa')][_0x1a4e('0x13b0')]['call'](this,_0x43fa10,function(_0x43fa10){_0x2e8bd2(_0x43fa10),_0xd2f144['emit'](_0x1a4e('0x139b'));});};},'./node_modules/readable-stream/lib/_stream_writable.js':function(_0x43c140,_0xe2ab0f,_0x43bb2a){'use strict';(function(_0xe2ab0f,_0x1be5e0,_0x489521){var _0xad2045=_0x43bb2a(_0x1a4e('0x1395'));function _0x2809cc(_0x43c140){var _0xe2ab0f=this;this['next']=null,this[_0x1a4e('0xe1b')]=null,this[_0x1a4e('0x13c2')]=function(){!function(_0x43c140,_0xe2ab0f,_0x43bb2a){var _0x1be5e0=_0x43c140[_0x1a4e('0xe1b')];_0x43c140[_0x1a4e('0xe1b')]=null;for(;_0x1be5e0;){var _0x489521=_0x1be5e0[_0x1a4e('0x13db')];_0xe2ab0f[_0x1a4e('0x13dc')]--,_0x489521(_0x43bb2a),_0x1be5e0=_0x1be5e0[_0x1a4e('0x7e')];}_0xe2ab0f[_0x1a4e('0x13dd')]?_0xe2ab0f[_0x1a4e('0x13dd')][_0x1a4e('0x7e')]=_0x43c140:_0xe2ab0f[_0x1a4e('0x13dd')]=_0x43c140;}(_0xe2ab0f,_0x43c140);};}_0x43c140[_0x1a4e('0x0')]=_0x1d4160;var _0x5b9830,_0x2ac222=!_0xe2ab0f['browser']&&['v0.10',_0x1a4e('0x13de')][_0x1a4e('0x3e')](_0xe2ab0f[_0x1a4e('0xb98')][_0x1a4e('0x78')](0x0,0x5))>-0x1?_0x1be5e0:_0xad2045[_0x1a4e('0x1152')];_0x1d4160[_0x1a4e('0x13df')]=_0x5b23ff;var _0x1cceef=_0x43bb2a(_0x1a4e('0x138a'));_0x1cceef[_0x1a4e('0xdd4')]=_0x43bb2a('./node_modules/inherits/inherits_browser.js');var _0x5b7d04={'deprecate':_0x43bb2a(_0x1a4e('0x13e0'))},_0x187197=_0x43bb2a('./node_modules/readable-stream/lib/internal/streams/stream-browser.js'),_0xb1cae3=_0x43bb2a('./node_modules/safe-buffer/index.js')['Buffer'],_0xc4bdd0=_0x489521[_0x1a4e('0xf5c')]||function(){};var _0x23d4f2,_0x11d36d=_0x43bb2a('./node_modules/readable-stream/lib/internal/streams/destroy.js');function _0x3025f2(){}function _0x5b23ff(_0x43c140,_0xe2ab0f){_0x5b9830=_0x5b9830||_0x43bb2a('./node_modules/readable-stream/lib/_stream_duplex.js'),_0x43c140=_0x43c140||{};var _0x1be5e0=_0xe2ab0f instanceof _0x5b9830;this[_0x1a4e('0x139e')]=!!_0x43c140[_0x1a4e('0x139e')],_0x1be5e0&&(this[_0x1a4e('0x139e')]=this[_0x1a4e('0x139e')]||!!_0x43c140['writableObjectMode']);var _0x489521=_0x43c140[_0x1a4e('0x13a1')],_0x1cceef=_0x43c140[_0x1a4e('0x1391')],_0x5b7d04=this[_0x1a4e('0x139e')]?0x10:0x4000;this['highWaterMark']=_0x489521||0x0===_0x489521?_0x489521:_0x1be5e0&&(_0x1cceef||0x0===_0x1cceef)?_0x1cceef:_0x5b7d04,this[_0x1a4e('0x13a1')]=Math[_0x1a4e('0xb4')](this['highWaterMark']),this[_0x1a4e('0x13e1')]=!0x1,this[_0x1a4e('0x13c5')]=!0x1,this[_0x1a4e('0x13e2')]=!0x1,this[_0x1a4e('0x1390')]=!0x1,this['finished']=!0x1,this[_0x1a4e('0x1392')]=!0x1;var _0x187197=!0x1===_0x43c140[_0x1a4e('0x13e3')];this['decodeStrings']=!_0x187197,this['defaultEncoding']=_0x43c140[_0x1a4e('0x13aa')]||'utf8',this[_0x1a4e('0x1e')]=0x0,this['writing']=!0x1,this[_0x1a4e('0x13e4')]=0x0,this[_0x1a4e('0x13a6')]=!0x0,this['bufferProcessing']=!0x1,this[_0x1a4e('0x13e5')]=function(_0x43c140){!function(_0x43c140,_0xe2ab0f){var _0x43bb2a=_0x43c140[_0x1a4e('0x138f')],_0x1be5e0=_0x43bb2a[_0x1a4e('0x13a6')],_0x489521=_0x43bb2a[_0x1a4e('0x13d1')];if(function(_0x43c140){_0x43c140[_0x1a4e('0x13e6')]=!0x1,_0x43c140['writecb']=null,_0x43c140[_0x1a4e('0x1e')]-=_0x43c140[_0x1a4e('0x13e7')],_0x43c140[_0x1a4e('0x13e7')]=0x0;}(_0x43bb2a),_0xe2ab0f)!function(_0x43c140,_0xe2ab0f,_0x43bb2a,_0x1be5e0,_0x489521){--_0xe2ab0f[_0x1a4e('0x13dc')],_0x43bb2a?(_0xad2045[_0x1a4e('0x1152')](_0x489521,_0x1be5e0),_0xad2045['nextTick'](_0x295622,_0x43c140,_0xe2ab0f),_0x43c140['_writableState']['errorEmitted']=!0x0,_0x43c140[_0x1a4e('0xd8c')](_0x1a4e('0x873'),_0x1be5e0)):(_0x489521(_0x1be5e0),_0x43c140[_0x1a4e('0x138f')][_0x1a4e('0x13e8')]=!0x0,_0x43c140[_0x1a4e('0xd8c')]('error',_0x1be5e0),_0x295622(_0x43c140,_0xe2ab0f));}(_0x43c140,_0x43bb2a,_0x1be5e0,_0xe2ab0f,_0x489521);else{var _0x2809cc=_0x117839(_0x43bb2a);_0x2809cc||_0x43bb2a[_0x1a4e('0x13e4')]||_0x43bb2a['bufferProcessing']||!_0x43bb2a[_0x1a4e('0x13e9')]||_0x28e25d(_0x43c140,_0x43bb2a),_0x1be5e0?_0x2ac222(_0x259b33,_0x43c140,_0x43bb2a,_0x2809cc,_0x489521):_0x259b33(_0x43c140,_0x43bb2a,_0x2809cc,_0x489521);}}(_0xe2ab0f,_0x43c140);},this[_0x1a4e('0x13d1')]=null,this[_0x1a4e('0x13e7')]=0x0,this[_0x1a4e('0x13e9')]=null,this[_0x1a4e('0x13ea')]=null,this['pendingcb']=0x0,this[_0x1a4e('0x13eb')]=!0x1,this[_0x1a4e('0x13e8')]=!0x1,this[_0x1a4e('0x13ec')]=0x0,this[_0x1a4e('0x13dd')]=new _0x2809cc(this);}function _0x1d4160(_0x43c140){if(_0x5b9830=_0x5b9830||_0x43bb2a('./node_modules/readable-stream/lib/_stream_duplex.js'),!(_0x23d4f2[_0x1a4e('0x1')](_0x1d4160,this)||this instanceof _0x5b9830))return new _0x1d4160(_0x43c140);this[_0x1a4e('0x138f')]=new _0x5b23ff(_0x43c140,this),this[_0x1a4e('0x1346')]=!0x0,_0x43c140&&('function'==typeof _0x43c140[_0x1a4e('0x146')]&&(this[_0x1a4e('0xaa8')]=_0x43c140['write']),_0x1a4e('0x68')==typeof _0x43c140['writev']&&(this['_writev']=_0x43c140[_0x1a4e('0x13ed')]),'function'==typeof _0x43c140[_0x1a4e('0x139c')]&&(this['_destroy']=_0x43c140[_0x1a4e('0x139c')]),_0x1a4e('0x68')==typeof _0x43c140[_0x1a4e('0xaa')]&&(this[_0x1a4e('0xa50')]=_0x43c140[_0x1a4e('0xaa')])),_0x187197[_0x1a4e('0x1')](this);}function _0x5ca832(_0x43c140,_0xe2ab0f,_0x43bb2a,_0x1be5e0,_0x489521,_0xad2045,_0x2809cc){_0xe2ab0f[_0x1a4e('0x13e7')]=_0x1be5e0,_0xe2ab0f[_0x1a4e('0x13d1')]=_0x2809cc,_0xe2ab0f[_0x1a4e('0x13e6')]=!0x0,_0xe2ab0f['sync']=!0x0,_0x43bb2a?_0x43c140['_writev'](_0x489521,_0xe2ab0f['onwrite']):_0x43c140[_0x1a4e('0xaa8')](_0x489521,_0xad2045,_0xe2ab0f[_0x1a4e('0x13e5')]),_0xe2ab0f[_0x1a4e('0x13a6')]=!0x1;}function _0x259b33(_0x43c140,_0xe2ab0f,_0x43bb2a,_0x1be5e0){_0x43bb2a||function(_0x43c140,_0xe2ab0f){0x0===_0xe2ab0f[_0x1a4e('0x1e')]&&_0xe2ab0f['needDrain']&&(_0xe2ab0f['needDrain']=!0x1,_0x43c140['emit'](_0x1a4e('0x13c3')));}(_0x43c140,_0xe2ab0f),_0xe2ab0f[_0x1a4e('0x13dc')]--,_0x1be5e0(),_0x295622(_0x43c140,_0xe2ab0f);}function _0x28e25d(_0x43c140,_0xe2ab0f){_0xe2ab0f['bufferProcessing']=!0x0;var _0x43bb2a=_0xe2ab0f[_0x1a4e('0x13e9')];if(_0x43c140[_0x1a4e('0x13ee')]&&_0x43bb2a&&_0x43bb2a[_0x1a4e('0x7e')]){var _0x1be5e0=_0xe2ab0f[_0x1a4e('0x13ec')],_0x489521=new Array(_0x1be5e0),_0xad2045=_0xe2ab0f[_0x1a4e('0x13dd')];_0xad2045['entry']=_0x43bb2a;for(var _0x5b9830=0x0,_0x2ac222=!0x0;_0x43bb2a;)_0x489521[_0x5b9830]=_0x43bb2a,_0x43bb2a[_0x1a4e('0x13ef')]||(_0x2ac222=!0x1),_0x43bb2a=_0x43bb2a[_0x1a4e('0x7e')],_0x5b9830+=0x1;_0x489521[_0x1a4e('0x13f0')]=_0x2ac222,_0x5ca832(_0x43c140,_0xe2ab0f,!0x0,_0xe2ab0f['length'],_0x489521,'',_0xad2045[_0x1a4e('0x13c2')]),_0xe2ab0f['pendingcb']++,_0xe2ab0f[_0x1a4e('0x13ea')]=null,_0xad2045[_0x1a4e('0x7e')]?(_0xe2ab0f['corkedRequestsFree']=_0xad2045[_0x1a4e('0x7e')],_0xad2045[_0x1a4e('0x7e')]=null):_0xe2ab0f[_0x1a4e('0x13dd')]=new _0x2809cc(_0xe2ab0f),_0xe2ab0f[_0x1a4e('0x13ec')]=0x0;}else{for(;_0x43bb2a;){var _0x1cceef=_0x43bb2a[_0x1a4e('0x1042')],_0x5b7d04=_0x43bb2a[_0x1a4e('0x13ae')],_0x187197=_0x43bb2a[_0x1a4e('0x13db')];if(_0x5ca832(_0x43c140,_0xe2ab0f,!0x1,_0xe2ab0f['objectMode']?0x1:_0x1cceef[_0x1a4e('0x1e')],_0x1cceef,_0x5b7d04,_0x187197),_0x43bb2a=_0x43bb2a[_0x1a4e('0x7e')],_0xe2ab0f[_0x1a4e('0x13ec')]--,_0xe2ab0f[_0x1a4e('0x13e6')])break;}null===_0x43bb2a&&(_0xe2ab0f[_0x1a4e('0x13ea')]=null);}_0xe2ab0f['bufferedRequest']=_0x43bb2a,_0xe2ab0f['bufferProcessing']=!0x1;}function _0x117839(_0x43c140){return _0x43c140[_0x1a4e('0x13e2')]&&0x0===_0x43c140[_0x1a4e('0x1e')]&&null===_0x43c140[_0x1a4e('0x13e9')]&&!_0x43c140[_0x1a4e('0x13f1')]&&!_0x43c140[_0x1a4e('0x13e6')];}function _0x519703(_0x43c140,_0xe2ab0f){_0x43c140[_0x1a4e('0xa50')](function(_0x43bb2a){_0xe2ab0f[_0x1a4e('0x13dc')]--,_0x43bb2a&&_0x43c140[_0x1a4e('0xd8c')]('error',_0x43bb2a),_0xe2ab0f[_0x1a4e('0x13eb')]=!0x0,_0x43c140['emit'](_0x1a4e('0x13d3')),_0x295622(_0x43c140,_0xe2ab0f);});}function _0x295622(_0x43c140,_0xe2ab0f){var _0x43bb2a=_0x117839(_0xe2ab0f);return _0x43bb2a&&(!function(_0x43c140,_0xe2ab0f){_0xe2ab0f[_0x1a4e('0x13eb')]||_0xe2ab0f['finalCalled']||(_0x1a4e('0x68')==typeof _0x43c140[_0x1a4e('0xa50')]?(_0xe2ab0f['pendingcb']++,_0xe2ab0f[_0x1a4e('0x13e1')]=!0x0,_0xad2045[_0x1a4e('0x1152')](_0x519703,_0x43c140,_0xe2ab0f)):(_0xe2ab0f[_0x1a4e('0x13eb')]=!0x0,_0x43c140[_0x1a4e('0xd8c')](_0x1a4e('0x13d3'))));}(_0x43c140,_0xe2ab0f),0x0===_0xe2ab0f[_0x1a4e('0x13dc')]&&(_0xe2ab0f['finished']=!0x0,_0x43c140[_0x1a4e('0xd8c')](_0x1a4e('0x13c2')))),_0x43bb2a;}_0x1cceef['inherits'](_0x1d4160,_0x187197),_0x5b23ff[_0x1a4e('0xa')]['getBuffer']=function(){for(var _0x43c140=this[_0x1a4e('0x13e9')],_0xe2ab0f=[];_0x43c140;)_0xe2ab0f[_0x1a4e('0x46')](_0x43c140),_0x43c140=_0x43c140[_0x1a4e('0x7e')];return _0xe2ab0f;},function(){try{Object[_0x1a4e('0x2')](_0x5b23ff[_0x1a4e('0xa')],_0x1a4e('0x613'),{'get':_0x5b7d04['deprecate'](function(){return this[_0x1a4e('0x13f2')]();},_0x1a4e('0x13f3'),'DEP0003')});}catch(_0x3f2957){}}(),_0x1a4e('0x68')==typeof Symbol&&Symbol['hasInstance']&&_0x1a4e('0x68')==typeof Function[_0x1a4e('0xa')][Symbol['hasInstance']]?(_0x23d4f2=Function['prototype'][Symbol[_0x1a4e('0x13f4')]],Object[_0x1a4e('0x2')](_0x1d4160,Symbol[_0x1a4e('0x13f4')],{'value':function(_0x43c140){return!!_0x23d4f2['call'](this,_0x43c140)||this===_0x1d4160&&(_0x43c140&&_0x43c140[_0x1a4e('0x138f')]instanceof _0x5b23ff);}})):_0x23d4f2=function(_0x43c140){return _0x43c140 instanceof this;},_0x1d4160[_0x1a4e('0xa')][_0x1a4e('0x13be')]=function(){this[_0x1a4e('0xd8c')](_0x1a4e('0x873'),new Error(_0x1a4e('0x13f5')));},_0x1d4160[_0x1a4e('0xa')][_0x1a4e('0x146')]=function(_0x43c140,_0xe2ab0f,_0x43bb2a){var _0x1be5e0,_0x489521=this['_writableState'],_0x2809cc=!0x1,_0x5b9830=!_0x489521[_0x1a4e('0x139e')]&&(_0x1be5e0=_0x43c140,_0xb1cae3[_0x1a4e('0x871')](_0x1be5e0)||_0x1be5e0 instanceof _0xc4bdd0);return _0x5b9830&&!_0xb1cae3['isBuffer'](_0x43c140)&&(_0x43c140=function(_0x43c140){return _0xb1cae3[_0x1a4e('0x1b5')](_0x43c140);}(_0x43c140)),'function'==typeof _0xe2ab0f&&(_0x43bb2a=_0xe2ab0f,_0xe2ab0f=null),_0x5b9830?_0xe2ab0f=_0x1a4e('0x613'):_0xe2ab0f||(_0xe2ab0f=_0x489521[_0x1a4e('0x13aa')]),_0x1a4e('0x68')!=typeof _0x43bb2a&&(_0x43bb2a=_0x3025f2),_0x489521['ended']?function(_0x43c140,_0xe2ab0f){var _0x43bb2a=new Error(_0x1a4e('0x13f6'));_0x43c140[_0x1a4e('0xd8c')]('error',_0x43bb2a),_0xad2045[_0x1a4e('0x1152')](_0xe2ab0f,_0x43bb2a);}(this,_0x43bb2a):(_0x5b9830||function(_0x43c140,_0xe2ab0f,_0x43bb2a,_0x1be5e0){var _0x489521=!0x0,_0x2809cc=!0x1;return null===_0x43bb2a?_0x2809cc=new TypeError(_0x1a4e('0x13f7')):_0x1a4e('0x9')==typeof _0x43bb2a||void 0x0===_0x43bb2a||_0xe2ab0f['objectMode']||(_0x2809cc=new TypeError(_0x1a4e('0x13f8'))),_0x2809cc&&(_0x43c140[_0x1a4e('0xd8c')](_0x1a4e('0x873'),_0x2809cc),_0xad2045[_0x1a4e('0x1152')](_0x1be5e0,_0x2809cc),_0x489521=!0x1),_0x489521;}(this,_0x489521,_0x43c140,_0x43bb2a))&&(_0x489521['pendingcb']++,_0x2809cc=function(_0x43c140,_0xe2ab0f,_0x43bb2a,_0x1be5e0,_0x489521,_0xad2045){if(!_0x43bb2a){var _0x2809cc=function(_0x43c140,_0xe2ab0f,_0x43bb2a){_0x43c140[_0x1a4e('0x139e')]||!0x1===_0x43c140[_0x1a4e('0x13e3')]||_0x1a4e('0x9')!=typeof _0xe2ab0f||(_0xe2ab0f=_0xb1cae3[_0x1a4e('0x1b5')](_0xe2ab0f,_0x43bb2a));return _0xe2ab0f;}(_0xe2ab0f,_0x1be5e0,_0x489521);_0x1be5e0!==_0x2809cc&&(_0x43bb2a=!0x0,_0x489521='buffer',_0x1be5e0=_0x2809cc);}var _0x5b9830=_0xe2ab0f[_0x1a4e('0x139e')]?0x1:_0x1be5e0[_0x1a4e('0x1e')];_0xe2ab0f[_0x1a4e('0x1e')]+=_0x5b9830;var _0x2ac222=_0xe2ab0f[_0x1a4e('0x1e')]<_0xe2ab0f[_0x1a4e('0x13a1')];_0x2ac222||(_0xe2ab0f[_0x1a4e('0x13c5')]=!0x0);if(_0xe2ab0f[_0x1a4e('0x13e6')]||_0xe2ab0f[_0x1a4e('0x13e4')]){var _0x1cceef=_0xe2ab0f['lastBufferedRequest'];_0xe2ab0f[_0x1a4e('0x13ea')]={'chunk':_0x1be5e0,'encoding':_0x489521,'isBuf':_0x43bb2a,'callback':_0xad2045,'next':null},_0x1cceef?_0x1cceef[_0x1a4e('0x7e')]=_0xe2ab0f[_0x1a4e('0x13ea')]:_0xe2ab0f[_0x1a4e('0x13e9')]=_0xe2ab0f[_0x1a4e('0x13ea')],_0xe2ab0f['bufferedRequestCount']+=0x1;}else _0x5ca832(_0x43c140,_0xe2ab0f,!0x1,_0x5b9830,_0x1be5e0,_0x489521,_0xad2045);return _0x2ac222;}(this,_0x489521,_0x5b9830,_0x43c140,_0xe2ab0f,_0x43bb2a)),_0x2809cc;},_0x1d4160['prototype'][_0x1a4e('0x13f9')]=function(){this[_0x1a4e('0x138f')]['corked']++;},_0x1d4160[_0x1a4e('0xa')]['uncork']=function(){var _0x43c140=this[_0x1a4e('0x138f')];_0x43c140[_0x1a4e('0x13e4')]&&(_0x43c140[_0x1a4e('0x13e4')]--,_0x43c140[_0x1a4e('0x13e6')]||_0x43c140[_0x1a4e('0x13e4')]||_0x43c140['finished']||_0x43c140[_0x1a4e('0x13fa')]||!_0x43c140['bufferedRequest']||_0x28e25d(this,_0x43c140));},_0x1d4160[_0x1a4e('0xa')][_0x1a4e('0x13fb')]=function(_0x43c140){if(_0x1a4e('0x9')==typeof _0x43c140&&(_0x43c140=_0x43c140['toLowerCase']()),!(['hex',_0x1a4e('0xac4'),_0x1a4e('0xad1'),'ascii',_0x1a4e('0xacc'),'base64',_0x1a4e('0xacd'),_0x1a4e('0xace'),_0x1a4e('0xacf'),_0x1a4e('0xad0'),'raw'][_0x1a4e('0x3e')]((_0x43c140+'')[_0x1a4e('0x2b2')]())>-0x1))throw new TypeError('Unknown\x20encoding:\x20'+_0x43c140);return this[_0x1a4e('0x138f')]['defaultEncoding']=_0x43c140,this;},Object[_0x1a4e('0x2')](_0x1d4160[_0x1a4e('0xa')],_0x1a4e('0x1391'),{'enumerable':!0x1,'get':function(){return this[_0x1a4e('0x138f')][_0x1a4e('0x13a1')];}}),_0x1d4160[_0x1a4e('0xa')]['_write']=function(_0x43c140,_0xe2ab0f,_0x43bb2a){_0x43bb2a(new Error(_0x1a4e('0x13fc')));},_0x1d4160['prototype']['_writev']=null,_0x1d4160[_0x1a4e('0xa')]['end']=function(_0x43c140,_0xe2ab0f,_0x43bb2a){var _0x1be5e0=this[_0x1a4e('0x138f')];'function'==typeof _0x43c140?(_0x43bb2a=_0x43c140,_0x43c140=null,_0xe2ab0f=null):_0x1a4e('0x68')==typeof _0xe2ab0f&&(_0x43bb2a=_0xe2ab0f,_0xe2ab0f=null),null!=_0x43c140&&this[_0x1a4e('0x146')](_0x43c140,_0xe2ab0f),_0x1be5e0[_0x1a4e('0x13e4')]&&(_0x1be5e0['corked']=0x1,this['uncork']()),_0x1be5e0[_0x1a4e('0x13e2')]||_0x1be5e0[_0x1a4e('0x13f1')]||function(_0x43c140,_0xe2ab0f,_0x43bb2a){_0xe2ab0f['ending']=!0x0,_0x295622(_0x43c140,_0xe2ab0f),_0x43bb2a&&(_0xe2ab0f[_0x1a4e('0x13f1')]?_0xad2045[_0x1a4e('0x1152')](_0x43bb2a):_0x43c140[_0x1a4e('0xd9e')]('finish',_0x43bb2a));_0xe2ab0f[_0x1a4e('0x1390')]=!0x0,_0x43c140[_0x1a4e('0x1346')]=!0x1;}(this,_0x1be5e0,_0x43bb2a);},Object[_0x1a4e('0x2')](_0x1d4160[_0x1a4e('0xa')],'destroyed',{'get':function(){return void 0x0!==this[_0x1a4e('0x138f')]&&this['_writableState']['destroyed'];},'set':function(_0x43c140){this[_0x1a4e('0x138f')]&&(this[_0x1a4e('0x138f')][_0x1a4e('0x1392')]=_0x43c140);}}),_0x1d4160[_0x1a4e('0xa')][_0x1a4e('0x139c')]=_0x11d36d[_0x1a4e('0x139c')],_0x1d4160[_0x1a4e('0xa')]['_undestroy']=_0x11d36d['undestroy'],_0x1d4160[_0x1a4e('0xa')][_0x1a4e('0x13b0')]=function(_0x43c140,_0xe2ab0f){this['end'](),_0xe2ab0f(_0x43c140);};}[_0x1a4e('0x1')](this,_0x43bb2a(_0x1a4e('0x1156')),_0x43bb2a('./node_modules/timers-browserify/main.js')['setImmediate'],_0x43bb2a(_0x1a4e('0xb07'))));},'./node_modules/readable-stream/lib/internal/streams/BufferList.js':function(_0x3fbfaa,_0x5ba22a,_0x41ec31){'use strict';var _0x56b071=_0x41ec31('./node_modules/safe-buffer/index.js')['Buffer'],_0x1e5e72=_0x41ec31(0x2);_0x3fbfaa[_0x1a4e('0x0')]=function(){function _0x3fbfaa(){!function(_0x3fbfaa,_0x5ba22a){if(!(_0x3fbfaa instanceof _0x5ba22a))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}(this,_0x3fbfaa),this[_0x1a4e('0x10f1')]=null,this[_0x1a4e('0x107f')]=null,this[_0x1a4e('0x1e')]=0x0;}return _0x3fbfaa[_0x1a4e('0xa')]['push']=function(_0x3fbfaa){var _0x5ba22a={'data':_0x3fbfaa,'next':null};this[_0x1a4e('0x1e')]>0x0?this[_0x1a4e('0x107f')][_0x1a4e('0x7e')]=_0x5ba22a:this[_0x1a4e('0x10f1')]=_0x5ba22a,this[_0x1a4e('0x107f')]=_0x5ba22a,++this[_0x1a4e('0x1e')];},_0x3fbfaa[_0x1a4e('0xa')][_0x1a4e('0x66')]=function(_0x3fbfaa){var _0x5ba22a={'data':_0x3fbfaa,'next':this[_0x1a4e('0x10f1')]};0x0===this[_0x1a4e('0x1e')]&&(this[_0x1a4e('0x107f')]=_0x5ba22a),this[_0x1a4e('0x10f1')]=_0x5ba22a,++this[_0x1a4e('0x1e')];},_0x3fbfaa[_0x1a4e('0xa')][_0x1a4e('0x7d')]=function(){if(0x0!==this[_0x1a4e('0x1e')]){var _0x3fbfaa=this[_0x1a4e('0x10f1')][_0x1a4e('0x7f')];return 0x1===this[_0x1a4e('0x1e')]?this['head']=this[_0x1a4e('0x107f')]=null:this[_0x1a4e('0x10f1')]=this[_0x1a4e('0x10f1')][_0x1a4e('0x7e')],--this[_0x1a4e('0x1e')],_0x3fbfaa;}},_0x3fbfaa[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x10f1')]=this['tail']=null,this[_0x1a4e('0x1e')]=0x0;},_0x3fbfaa[_0x1a4e('0xa')]['join']=function(_0x3fbfaa){if(0x0===this[_0x1a4e('0x1e')])return'';for(var _0x5ba22a=this['head'],_0x41ec31=''+_0x5ba22a[_0x1a4e('0x7f')];_0x5ba22a=_0x5ba22a[_0x1a4e('0x7e')];)_0x41ec31+=_0x3fbfaa+_0x5ba22a[_0x1a4e('0x7f')];return _0x41ec31;},_0x3fbfaa[_0x1a4e('0xa')][_0x1a4e('0x9a')]=function(_0x3fbfaa){if(0x0===this[_0x1a4e('0x1e')])return _0x56b071[_0x1a4e('0xa43')](0x0);if(0x1===this[_0x1a4e('0x1e')])return this[_0x1a4e('0x10f1')][_0x1a4e('0x7f')];for(var _0x5ba22a,_0x41ec31,_0x1e5e72,_0x498050=_0x56b071['allocUnsafe'](_0x3fbfaa>>>0x0),_0xe22f86=this['head'],_0x2f3af2=0x0;_0xe22f86;)_0x5ba22a=_0xe22f86['data'],_0x41ec31=_0x498050,_0x1e5e72=_0x2f3af2,_0x5ba22a['copy'](_0x41ec31,_0x1e5e72),_0x2f3af2+=_0xe22f86['data'][_0x1a4e('0x1e')],_0xe22f86=_0xe22f86['next'];return _0x498050;},_0x3fbfaa;}(),_0x1e5e72&&_0x1e5e72[_0x1a4e('0xae2')]&&_0x1e5e72[_0x1a4e('0xae2')]['custom']&&(_0x3fbfaa[_0x1a4e('0x0')][_0x1a4e('0xa')][_0x1e5e72[_0x1a4e('0xae2')][_0x1a4e('0x13fd')]]=function(){var _0x3fbfaa=_0x1e5e72[_0x1a4e('0xae2')]({'length':this['length']});return this['constructor'][_0x1a4e('0x2cb')]+'\x20'+_0x3fbfaa;});},'./node_modules/readable-stream/lib/internal/streams/destroy.js':function(_0x142b5b,_0x22308f,_0x3a7365){'use strict';var _0xcefabf=_0x3a7365(_0x1a4e('0x1395'));function _0x40a210(_0x142b5b,_0x22308f){_0x142b5b[_0x1a4e('0xd8c')](_0x1a4e('0x873'),_0x22308f);}_0x142b5b[_0x1a4e('0x0')]={'destroy':function(_0x142b5b,_0x22308f){var _0x3a7365=this,_0x3044e6=this[_0x1a4e('0x1393')]&&this[_0x1a4e('0x1393')]['destroyed'],_0x30a51b=this['_writableState']&&this[_0x1a4e('0x138f')][_0x1a4e('0x1392')];return _0x3044e6||_0x30a51b?(_0x22308f?_0x22308f(_0x142b5b):!_0x142b5b||this['_writableState']&&this[_0x1a4e('0x138f')][_0x1a4e('0x13e8')]||_0xcefabf['nextTick'](_0x40a210,this,_0x142b5b),this):(this['_readableState']&&(this['_readableState'][_0x1a4e('0x1392')]=!0x0),this[_0x1a4e('0x138f')]&&(this['_writableState'][_0x1a4e('0x1392')]=!0x0),this[_0x1a4e('0x13b0')](_0x142b5b||null,function(_0x142b5b){!_0x22308f&&_0x142b5b?(_0xcefabf[_0x1a4e('0x1152')](_0x40a210,_0x3a7365,_0x142b5b),_0x3a7365['_writableState']&&(_0x3a7365[_0x1a4e('0x138f')]['errorEmitted']=!0x0)):_0x22308f&&_0x22308f(_0x142b5b);}),this);},'undestroy':function(){this[_0x1a4e('0x1393')]&&(this[_0x1a4e('0x1393')][_0x1a4e('0x1392')]=!0x1,this['_readableState'][_0x1a4e('0x13a5')]=!0x1,this[_0x1a4e('0x1393')][_0x1a4e('0x1390')]=!0x1,this['_readableState']['endEmitted']=!0x1),this['_writableState']&&(this[_0x1a4e('0x138f')][_0x1a4e('0x1392')]=!0x1,this[_0x1a4e('0x138f')]['ended']=!0x1,this[_0x1a4e('0x138f')][_0x1a4e('0x13e2')]=!0x1,this['_writableState'][_0x1a4e('0x13f1')]=!0x1,this[_0x1a4e('0x138f')][_0x1a4e('0x13e8')]=!0x1);}};},'./node_modules/readable-stream/lib/internal/streams/stream-browser.js':function(_0x18e74c,_0x18b79e,_0x362537){_0x18e74c[_0x1a4e('0x0')]=_0x362537('./node_modules/events/events.js')['EventEmitter'];},'./node_modules/readable-stream/passthrough.js':function(_0x3bbd24,_0x32bdaf,_0x2d4ba7){_0x3bbd24[_0x1a4e('0x0')]=_0x2d4ba7(_0x1a4e('0x13fe'))['PassThrough'];},'./node_modules/readable-stream/readable-browser.js':function(_0x55f5da,_0x5f407d,_0x3065a9){(_0x5f407d=_0x55f5da['exports']=_0x3065a9(_0x1a4e('0x138b')))[_0x1a4e('0x13ff')]=_0x5f407d,_0x5f407d['Readable']=_0x5f407d,_0x5f407d[_0x1a4e('0xaa1')]=_0x3065a9(_0x1a4e('0x138c')),_0x5f407d[_0x1a4e('0x1400')]=_0x3065a9(_0x1a4e('0x1389')),_0x5f407d[_0x1a4e('0xb08')]=_0x3065a9(_0x1a4e('0x1394')),_0x5f407d[_0x1a4e('0x1401')]=_0x3065a9('./node_modules/readable-stream/lib/_stream_passthrough.js');},'./node_modules/readable-stream/transform.js':function(_0x213067,_0x4f9a64,_0x4744e3){_0x213067[_0x1a4e('0x0')]=_0x4744e3('./node_modules/readable-stream/readable-browser.js')[_0x1a4e('0xb08')];},'./node_modules/readable-stream/writable-browser.js':function(_0x1da388,_0x37dc64,_0xc8ea62){_0x1da388[_0x1a4e('0x0')]=_0xc8ea62(_0x1a4e('0x138c'));},'./node_modules/ripemd160/index.js':function(_0x26d4b2,_0x377fca,_0x23f03b){'use strict';var _0x4b32f3=_0x23f03b(_0x1a4e('0x86f'))[_0x1a4e('0x870')],_0x3f4cf9=_0x23f03b(_0x1a4e('0x863')),_0x35bc8c=_0x23f03b(_0x1a4e('0x1402')),_0x83eb35=new Array(0x10),_0x18cf8d=[0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xb,0xc,0xd,0xe,0xf,0x7,0x4,0xd,0x1,0xa,0x6,0xf,0x3,0xc,0x0,0x9,0x5,0x2,0xe,0xb,0x8,0x3,0xa,0xe,0x4,0x9,0xf,0x8,0x1,0x2,0x7,0x0,0x6,0xd,0xb,0x5,0xc,0x1,0x9,0xb,0xa,0x0,0x8,0xc,0x4,0xd,0x3,0x7,0xf,0xe,0x5,0x6,0x2,0x4,0x0,0x5,0x9,0x7,0xc,0x2,0xa,0xe,0x1,0x3,0x8,0xb,0x6,0xf,0xd],_0x15be67=[0x5,0xe,0x7,0x0,0x9,0x2,0xb,0x4,0xd,0x6,0xf,0x8,0x1,0xa,0x3,0xc,0x6,0xb,0x3,0x7,0x0,0xd,0x5,0xa,0xe,0xf,0x8,0xc,0x4,0x9,0x1,0x2,0xf,0x5,0x1,0x3,0x7,0xe,0x6,0x9,0xb,0x8,0xc,0x2,0xa,0x0,0x4,0xd,0x8,0x6,0x4,0x1,0x3,0xb,0xf,0x0,0x5,0xc,0x2,0xd,0x9,0x7,0xa,0xe,0xc,0xf,0xa,0x4,0x1,0x5,0x8,0x7,0x6,0x2,0xd,0xe,0x0,0x3,0x9,0xb],_0x5ccfc2=[0xb,0xe,0xf,0xc,0x5,0x8,0x7,0x9,0xb,0xd,0xe,0xf,0x6,0x7,0x9,0x8,0x7,0x6,0x8,0xd,0xb,0x9,0x7,0xf,0x7,0xc,0xf,0x9,0xb,0x7,0xd,0xc,0xb,0xd,0x6,0x7,0xe,0x9,0xd,0xf,0xe,0x8,0xd,0x6,0x5,0xc,0x7,0x5,0xb,0xc,0xe,0xf,0xe,0xf,0x9,0x8,0x9,0xe,0x5,0x6,0x8,0x6,0x5,0xc,0x9,0xf,0x5,0xb,0x6,0x8,0xd,0xc,0x5,0xc,0xd,0xe,0xb,0x8,0x5,0x6],_0x57363e=[0x8,0x9,0x9,0xb,0xd,0xf,0xf,0x5,0x7,0x7,0x8,0xb,0xe,0xe,0xc,0x6,0x9,0xd,0xf,0x7,0xc,0x8,0x9,0xb,0x7,0x7,0xc,0x7,0x6,0xf,0xd,0xb,0x9,0x7,0xf,0xb,0x8,0x6,0x6,0xe,0xc,0xd,0x5,0xe,0xd,0xd,0x7,0x5,0xf,0x5,0x8,0xb,0xe,0xe,0x6,0xe,0x6,0x9,0xc,0x9,0xc,0x5,0xf,0x8,0x8,0x5,0xc,0x9,0xc,0x5,0xe,0x6,0x8,0xd,0x6,0x5,0xf,0xd,0xb,0xb],_0x10dd52=[0x0,0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xa953fd4e],_0x2a1673=[0x50a28be6,0x5c4dd124,0x6d703ef3,0x7a6d76e9,0x0];function _0xcb36c7(){_0x35bc8c['call'](this,0x40),this['_a']=0x67452301,this['_b']=0xefcdab89,this['_c']=0x98badcfe,this['_d']=0x10325476,this['_e']=0xc3d2e1f0;}function _0x22d1a8(_0x26d4b2,_0x377fca){return _0x26d4b2<<_0x377fca|_0x26d4b2>>>0x20-_0x377fca;}function _0x5f00ea(_0x26d4b2,_0x377fca,_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0x83eb35,_0x18cf8d){return _0x22d1a8(_0x26d4b2+(_0x377fca^_0x23f03b^_0x4b32f3)+_0x35bc8c+_0x83eb35|0x0,_0x18cf8d)+_0x3f4cf9|0x0;}function _0x5f0d1e(_0x26d4b2,_0x377fca,_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0x83eb35,_0x18cf8d){return _0x22d1a8(_0x26d4b2+(_0x377fca&_0x23f03b|~_0x377fca&_0x4b32f3)+_0x35bc8c+_0x83eb35|0x0,_0x18cf8d)+_0x3f4cf9|0x0;}function _0x48d6e5(_0x26d4b2,_0x377fca,_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0x83eb35,_0x18cf8d){return _0x22d1a8(_0x26d4b2+((_0x377fca|~_0x23f03b)^_0x4b32f3)+_0x35bc8c+_0x83eb35|0x0,_0x18cf8d)+_0x3f4cf9|0x0;}function _0x41fbdc(_0x26d4b2,_0x377fca,_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0x83eb35,_0x18cf8d){return _0x22d1a8(_0x26d4b2+(_0x377fca&_0x4b32f3|_0x23f03b&~_0x4b32f3)+_0x35bc8c+_0x83eb35|0x0,_0x18cf8d)+_0x3f4cf9|0x0;}function _0x57a52b(_0x26d4b2,_0x377fca,_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0x83eb35,_0x18cf8d){return _0x22d1a8(_0x26d4b2+(_0x377fca^(_0x23f03b|~_0x4b32f3))+_0x35bc8c+_0x83eb35|0x0,_0x18cf8d)+_0x3f4cf9|0x0;}_0x3f4cf9(_0xcb36c7,_0x35bc8c),_0xcb36c7[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(){for(var _0x26d4b2=_0x83eb35,_0x377fca=0x0;_0x377fca<0x10;++_0x377fca)_0x26d4b2[_0x377fca]=this[_0x1a4e('0xda9')]['readInt32LE'](0x4*_0x377fca);for(var _0x23f03b=0x0|this['_a'],_0x4b32f3=0x0|this['_b'],_0x3f4cf9=0x0|this['_c'],_0x35bc8c=0x0|this['_d'],_0xcb36c7=0x0|this['_e'],_0x49b599=0x0|this['_a'],_0xf9eae3=0x0|this['_b'],_0x16ec7f=0x0|this['_c'],_0x39464d=0x0|this['_d'],_0x3ef334=0x0|this['_e'],_0x2904ce=0x0;_0x2904ce<0x50;_0x2904ce+=0x1){var _0x5b1839,_0x9c9e57;_0x2904ce<0x10?(_0x5b1839=_0x5f00ea(_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0xcb36c7,_0x26d4b2[_0x18cf8d[_0x2904ce]],_0x10dd52[0x0],_0x5ccfc2[_0x2904ce]),_0x9c9e57=_0x57a52b(_0x49b599,_0xf9eae3,_0x16ec7f,_0x39464d,_0x3ef334,_0x26d4b2[_0x15be67[_0x2904ce]],_0x2a1673[0x0],_0x57363e[_0x2904ce])):_0x2904ce<0x20?(_0x5b1839=_0x5f0d1e(_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0xcb36c7,_0x26d4b2[_0x18cf8d[_0x2904ce]],_0x10dd52[0x1],_0x5ccfc2[_0x2904ce]),_0x9c9e57=_0x41fbdc(_0x49b599,_0xf9eae3,_0x16ec7f,_0x39464d,_0x3ef334,_0x26d4b2[_0x15be67[_0x2904ce]],_0x2a1673[0x1],_0x57363e[_0x2904ce])):_0x2904ce<0x30?(_0x5b1839=_0x48d6e5(_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0xcb36c7,_0x26d4b2[_0x18cf8d[_0x2904ce]],_0x10dd52[0x2],_0x5ccfc2[_0x2904ce]),_0x9c9e57=_0x48d6e5(_0x49b599,_0xf9eae3,_0x16ec7f,_0x39464d,_0x3ef334,_0x26d4b2[_0x15be67[_0x2904ce]],_0x2a1673[0x2],_0x57363e[_0x2904ce])):_0x2904ce<0x40?(_0x5b1839=_0x41fbdc(_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0xcb36c7,_0x26d4b2[_0x18cf8d[_0x2904ce]],_0x10dd52[0x3],_0x5ccfc2[_0x2904ce]),_0x9c9e57=_0x5f0d1e(_0x49b599,_0xf9eae3,_0x16ec7f,_0x39464d,_0x3ef334,_0x26d4b2[_0x15be67[_0x2904ce]],_0x2a1673[0x3],_0x57363e[_0x2904ce])):(_0x5b1839=_0x57a52b(_0x23f03b,_0x4b32f3,_0x3f4cf9,_0x35bc8c,_0xcb36c7,_0x26d4b2[_0x18cf8d[_0x2904ce]],_0x10dd52[0x4],_0x5ccfc2[_0x2904ce]),_0x9c9e57=_0x5f00ea(_0x49b599,_0xf9eae3,_0x16ec7f,_0x39464d,_0x3ef334,_0x26d4b2[_0x15be67[_0x2904ce]],_0x2a1673[0x4],_0x57363e[_0x2904ce])),_0x23f03b=_0xcb36c7,_0xcb36c7=_0x35bc8c,_0x35bc8c=_0x22d1a8(_0x3f4cf9,0xa),_0x3f4cf9=_0x4b32f3,_0x4b32f3=_0x5b1839,_0x49b599=_0x3ef334,_0x3ef334=_0x39464d,_0x39464d=_0x22d1a8(_0x16ec7f,0xa),_0x16ec7f=_0xf9eae3,_0xf9eae3=_0x9c9e57;}var _0x38a9e7=this['_b']+_0x3f4cf9+_0x39464d|0x0;this['_b']=this['_c']+_0x35bc8c+_0x3ef334|0x0,this['_c']=this['_d']+_0xcb36c7+_0x49b599|0x0,this['_d']=this['_e']+_0x23f03b+_0xf9eae3|0x0,this['_e']=this['_a']+_0x4b32f3+_0x16ec7f|0x0,this['_a']=_0x38a9e7;},_0xcb36c7[_0x1a4e('0xa')]['_digest']=function(){this[_0x1a4e('0xda9')][this['_blockOffset']++]=0x80,this[_0x1a4e('0xdab')]>0x38&&(this[_0x1a4e('0xda9')][_0x1a4e('0x22c')](0x0,this[_0x1a4e('0xdab')],0x40),this[_0x1a4e('0xa74')](),this['_blockOffset']=0x0),this['_block'][_0x1a4e('0x22c')](0x0,this[_0x1a4e('0xdab')],0x38),this[_0x1a4e('0xda9')][_0x1a4e('0xafb')](this[_0x1a4e('0xdb0')][0x0],0x38),this[_0x1a4e('0xda9')][_0x1a4e('0xafb')](this[_0x1a4e('0xdb0')][0x1],0x3c),this['_update']();var _0x26d4b2=_0x4b32f3[_0x1a4e('0xa43')]?_0x4b32f3['alloc'](0x14):new _0x4b32f3(0x14);return _0x26d4b2['writeInt32LE'](this['_a'],0x0),_0x26d4b2[_0x1a4e('0x10fe')](this['_b'],0x4),_0x26d4b2[_0x1a4e('0x10fe')](this['_c'],0x8),_0x26d4b2[_0x1a4e('0x10fe')](this['_d'],0xc),_0x26d4b2[_0x1a4e('0x10fe')](this['_e'],0x10),_0x26d4b2;},_0x26d4b2[_0x1a4e('0x0')]=_0xcb36c7;},'./node_modules/rxjs/_esm5/index.js':function(_0xd28899,_0x14b92a,_0x208be5){'use strict';_0x208be5['r'](_0x14b92a);var _0x3420d1=_0x208be5(_0x1a4e('0x1403'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1404'),function(){return _0x3420d1['Observable'];});var _0x538ec0=_0x208be5(_0x1a4e('0x1405'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1406'),function(){return _0x538ec0[_0x1a4e('0x1406')];});var _0x1b6e5c=_0x208be5(_0x1a4e('0x1407'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1408'),function(){return _0x1b6e5c['GroupedObservable'];});var _0xb2489b=_0x208be5(_0x1a4e('0x1409'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x140a'),function(){return _0xb2489b['observable'];});var _0x1af90a=_0x208be5(_0x1a4e('0x140b'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x140c'),function(){return _0x1af90a['Subject'];});var _0x4def8e=_0x208be5('./node_modules/rxjs/_esm5/internal/BehaviorSubject.js');_0x208be5['d'](_0x14b92a,_0x1a4e('0x140d'),function(){return _0x4def8e[_0x1a4e('0x140d')];});var _0x4a4f97=_0x208be5(_0x1a4e('0x140e'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x140f'),function(){return _0x4a4f97['ReplaySubject'];});var _0x4d4df8=_0x208be5('./node_modules/rxjs/_esm5/internal/AsyncSubject.js');_0x208be5['d'](_0x14b92a,'AsyncSubject',function(){return _0x4d4df8[_0x1a4e('0x1410')];});var _0x1415a9=_0x208be5(_0x1a4e('0x1411'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1412'),function(){return _0x1415a9[_0x1a4e('0x1413')];});var _0x2e1e69=_0x208be5(_0x1a4e('0x1414'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1415'),function(){return _0x2e1e69[_0x1a4e('0xe06')];});var _0x59ba9e=_0x208be5('./node_modules/rxjs/_esm5/internal/scheduler/queue.js');_0x208be5['d'](_0x14b92a,_0x1a4e('0x1416'),function(){return _0x59ba9e[_0x1a4e('0x1417')];});var _0x17b0b5=_0x208be5(_0x1a4e('0x1418'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1419'),function(){return _0x17b0b5['animationFrame'];});var _0x159ced=_0x208be5(_0x1a4e('0x141a'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x141b'),function(){return _0x159ced['VirtualTimeScheduler'];}),_0x208be5['d'](_0x14b92a,'VirtualAction',function(){return _0x159ced[_0x1a4e('0x141c')];});var _0x5e8f42=_0x208be5('./node_modules/rxjs/_esm5/internal/Scheduler.js');_0x208be5['d'](_0x14b92a,_0x1a4e('0x141d'),function(){return _0x5e8f42[_0x1a4e('0x141d')];});var _0x188ba1=_0x208be5(_0x1a4e('0x141e'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x141f'),function(){return _0x188ba1[_0x1a4e('0x141f')];});var _0x10abee=_0x208be5(_0x1a4e('0x1420'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1421'),function(){return _0x10abee[_0x1a4e('0x1421')];});var _0x29e57b=_0x208be5(_0x1a4e('0x1422'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1423'),function(){return _0x29e57b[_0x1a4e('0x1423')];}),_0x208be5['d'](_0x14b92a,_0x1a4e('0x1424'),function(){return _0x29e57b['NotificationKind'];});var _0x30848a=_0x208be5(_0x1a4e('0x1425'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x13be'),function(){return _0x30848a[_0x1a4e('0x13be')];});var _0x532b8e=_0x208be5(_0x1a4e('0x1426'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x10bf'),function(){return _0x532b8e[_0x1a4e('0x10bf')];});var _0x3a5c7d=_0x208be5(_0x1a4e('0x1427'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x10a5'),function(){return _0x3a5c7d[_0x1a4e('0x10a5')];});var _0x1c5573=_0x208be5(_0x1a4e('0x1428'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1429'),function(){return _0x1c5573[_0x1a4e('0x1429')];});var _0xf27a59=_0x208be5(_0x1a4e('0x142a'));_0x208be5['d'](_0x14b92a,'ArgumentOutOfRangeError',function(){return _0xf27a59[_0x1a4e('0x142b')];});var _0x46d135=_0x208be5(_0x1a4e('0x142c'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x142d'),function(){return _0x46d135[_0x1a4e('0x142d')];});var _0x242182=_0x208be5(_0x1a4e('0x142e'));_0x208be5['d'](_0x14b92a,'ObjectUnsubscribedError',function(){return _0x242182[_0x1a4e('0x142f')];});var _0x319031=_0x208be5(_0x1a4e('0x1430'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1431'),function(){return _0x319031['UnsubscriptionError'];});var _0x2b75d9=_0x208be5(_0x1a4e('0x1432'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1433'),function(){return _0x2b75d9[_0x1a4e('0x1433')];});var _0x13aeb2=_0x208be5('./node_modules/rxjs/_esm5/internal/observable/bindCallback.js');_0x208be5['d'](_0x14b92a,_0x1a4e('0x1434'),function(){return _0x13aeb2['bindCallback'];});var _0x3c8bec=_0x208be5(_0x1a4e('0x1435'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1436'),function(){return _0x3c8bec[_0x1a4e('0x1436')];});var _0x4b974e=_0x208be5(_0x1a4e('0x1437'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1438'),function(){return _0x4b974e[_0x1a4e('0x1438')];});var _0x4c3325=_0x208be5(_0x1a4e('0x1439'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x9a'),function(){return _0x4c3325['concat'];});var _0x1b307d=_0x208be5('./node_modules/rxjs/_esm5/internal/observable/defer.js');_0x208be5['d'](_0x14b92a,_0x1a4e('0x1049'),function(){return _0x1b307d[_0x1a4e('0x1049')];});var _0x5580a6=_0x208be5(_0x1a4e('0x143a'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x3ec'),function(){return _0x5580a6[_0x1a4e('0x3ec')];});var _0x3ad87b=_0x208be5(_0x1a4e('0x143b'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x143c'),function(){return _0x3ad87b['forkJoin'];});var _0x2c4a15=_0x208be5(_0x1a4e('0x143d'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1b5'),function(){return _0x2c4a15['from'];});var _0x397918=_0x208be5(_0x1a4e('0x143e'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x143f'),function(){return _0x397918[_0x1a4e('0x143f')];});var _0x46ef30=_0x208be5(_0x1a4e('0x1440'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1441'),function(){return _0x46ef30[_0x1a4e('0x1441')];});var _0x3b377f=_0x208be5(_0x1a4e('0x1442'));_0x208be5['d'](_0x14b92a,'generate',function(){return _0x3b377f[_0x1a4e('0xa22')];});var _0x4ac28e=_0x208be5(_0x1a4e('0x1443'));_0x208be5['d'](_0x14b92a,'iif',function(){return _0x4ac28e[_0x1a4e('0x1444')];});var _0xb9322d=_0x208be5('./node_modules/rxjs/_esm5/internal/observable/interval.js');_0x208be5['d'](_0x14b92a,_0x1a4e('0x965'),function(){return _0xb9322d[_0x1a4e('0x965')];});var _0x2adedd=_0x208be5('./node_modules/rxjs/_esm5/internal/observable/merge.js');_0x208be5['d'](_0x14b92a,_0x1a4e('0x41b'),function(){return _0x2adedd[_0x1a4e('0x41b')];});var _0xc4d567=_0x208be5('./node_modules/rxjs/_esm5/internal/observable/never.js');_0x208be5['d'](_0x14b92a,_0x1a4e('0x1445'),function(){return _0xc4d567[_0x1a4e('0x1445')];});var _0x4e76cb=_0x208be5('./node_modules/rxjs/_esm5/internal/observable/of.js');_0x208be5['d'](_0x14b92a,'of',function(){return _0x4e76cb['of'];});var _0x5d0b71=_0x208be5(_0x1a4e('0x1446'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1447'),function(){return _0x5d0b71['onErrorResumeNext'];});var _0x105c78=_0x208be5(_0x1a4e('0x1448'));_0x208be5['d'](_0x14b92a,'pairs',function(){return _0x105c78[_0x1a4e('0x1449')];});var _0x20eba9=_0x208be5(_0x1a4e('0x144a'));_0x208be5['d'](_0x14b92a,'partition',function(){return _0x20eba9[_0x1a4e('0x106d')];});var _0x4f77ef=_0x208be5(_0x1a4e('0x144b'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x144c'),function(){return _0x4f77ef[_0x1a4e('0x144c')];});var _0x4c2ad8=_0x208be5(_0x1a4e('0x144d'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1075'),function(){return _0x4c2ad8['range'];});var _0x40fc45=_0x208be5(_0x1a4e('0x144e'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x144f'),function(){return _0x40fc45[_0x1a4e('0x144f')];});var _0x433e86=_0x208be5(_0x1a4e('0x1450'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1451'),function(){return _0x433e86['timer'];});var _0xaf0464=_0x208be5(_0x1a4e('0x1452'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1453'),function(){return _0xaf0464[_0x1a4e('0x1453')];});var _0x557f84=_0x208be5('./node_modules/rxjs/_esm5/internal/observable/zip.js');_0x208be5['d'](_0x14b92a,'zip',function(){return _0x557f84[_0x1a4e('0x1454')];});var _0x2bfa96=_0x208be5(_0x1a4e('0x1455'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1456'),function(){return _0x2bfa96['scheduled'];}),_0x208be5['d'](_0x14b92a,_0x1a4e('0x2b0'),function(){return _0x5580a6[_0x1a4e('0x2b0')];}),_0x208be5['d'](_0x14b92a,_0x1a4e('0x1457'),function(){return _0xc4d567['NEVER'];});var _0x1afc72=_0x208be5(_0x1a4e('0x1458'));_0x208be5['d'](_0x14b92a,_0x1a4e('0x1459'),function(){return _0x1afc72[_0x1a4e('0x1459')];});},'./node_modules/rxjs/_esm5/internal/AsyncSubject.js':function(_0x1a98c8,_0x5eeacc,_0x49d93c){'use strict';_0x49d93c['r'](_0x5eeacc),_0x49d93c['d'](_0x5eeacc,_0x1a4e('0x1410'),function(){return _0x467f;});var _0x556d98=_0x49d93c(_0x1a4e('0x1278')),_0x210362=_0x49d93c(_0x1a4e('0x140b')),_0x437c63=_0x49d93c(_0x1a4e('0x141e')),_0x467f=function(_0x1a98c8){function _0x5eeacc(){var _0x5eeacc=null!==_0x1a98c8&&_0x1a98c8[_0x1a4e('0x8b')](this,arguments)||this;return _0x5eeacc[_0x1a4e('0x255')]=null,_0x5eeacc[_0x1a4e('0x336')]=!0x1,_0x5eeacc[_0x1a4e('0x145a')]=!0x1,_0x5eeacc;}return _0x556d98[_0x1a4e('0x145b')](_0x5eeacc,_0x1a98c8),_0x5eeacc[_0x1a4e('0xa')][_0x1a4e('0x145c')]=function(_0x5eeacc){return this[_0x1a4e('0x145d')]?(_0x5eeacc[_0x1a4e('0x873')](this[_0x1a4e('0x145e')]),_0x437c63[_0x1a4e('0x141f')][_0x1a4e('0x2b0')]):this[_0x1a4e('0x145a')]&&this[_0x1a4e('0x336')]?(_0x5eeacc[_0x1a4e('0x7e')](this[_0x1a4e('0x255')]),_0x5eeacc[_0x1a4e('0x137f')](),_0x437c63[_0x1a4e('0x141f')][_0x1a4e('0x2b0')]):_0x1a98c8['prototype'][_0x1a4e('0x145c')][_0x1a4e('0x1')](this,_0x5eeacc);},_0x5eeacc[_0x1a4e('0xa')][_0x1a4e('0x7e')]=function(_0x1a98c8){this[_0x1a4e('0x145a')]||(this[_0x1a4e('0x255')]=_0x1a98c8,this[_0x1a4e('0x336')]=!0x0);},_0x5eeacc[_0x1a4e('0xa')][_0x1a4e('0x873')]=function(_0x5eeacc){this['hasCompleted']||_0x1a98c8['prototype'][_0x1a4e('0x873')][_0x1a4e('0x1')](this,_0x5eeacc);},_0x5eeacc[_0x1a4e('0xa')][_0x1a4e('0x137f')]=function(){this[_0x1a4e('0x145a')]=!0x0,this[_0x1a4e('0x336')]&&_0x1a98c8[_0x1a4e('0xa')][_0x1a4e('0x7e')][_0x1a4e('0x1')](this,this['value']),_0x1a98c8[_0x1a4e('0xa')]['complete'][_0x1a4e('0x1')](this);},_0x5eeacc;}(_0x210362[_0x1a4e('0x140c')]);},'./node_modules/rxjs/_esm5/internal/BehaviorSubject.js':function(_0x359a07,_0x31f68e,_0x535262){'use strict';_0x535262['r'](_0x31f68e),_0x535262['d'](_0x31f68e,_0x1a4e('0x140d'),function(){return _0x11e118;});var _0x177f2e=_0x535262('./node_modules/tslib/tslib.es6.js'),_0x4c8df9=_0x535262('./node_modules/rxjs/_esm5/internal/Subject.js'),_0x54eb70=_0x535262('./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js'),_0x11e118=function(_0x359a07){function _0x31f68e(_0x31f68e){var _0x535262=_0x359a07[_0x1a4e('0x1')](this)||this;return _0x535262[_0x1a4e('0x145f')]=_0x31f68e,_0x535262;}return _0x177f2e[_0x1a4e('0x145b')](_0x31f68e,_0x359a07),Object['defineProperty'](_0x31f68e[_0x1a4e('0xa')],'value',{'get':function(){return this[_0x1a4e('0x1460')]();},'enumerable':!0x0,'configurable':!0x0}),_0x31f68e[_0x1a4e('0xa')][_0x1a4e('0x145c')]=function(_0x31f68e){var _0x535262=_0x359a07[_0x1a4e('0xa')][_0x1a4e('0x145c')]['call'](this,_0x31f68e);return _0x535262&&!_0x535262['closed']&&_0x31f68e[_0x1a4e('0x7e')](this[_0x1a4e('0x145f')]),_0x535262;},_0x31f68e[_0x1a4e('0xa')][_0x1a4e('0x1460')]=function(){if(this[_0x1a4e('0x145d')])throw this['thrownError'];if(this[_0x1a4e('0x62')])throw new _0x54eb70['ObjectUnsubscribedError']();return this[_0x1a4e('0x145f')];},_0x31f68e['prototype'][_0x1a4e('0x7e')]=function(_0x31f68e){_0x359a07['prototype']['next'][_0x1a4e('0x1')](this,this[_0x1a4e('0x145f')]=_0x31f68e);},_0x31f68e;}(_0x4c8df9['Subject']);},'./node_modules/rxjs/_esm5/internal/InnerSubscriber.js':function(_0x3ce581,_0x23f236,_0x251f37){'use strict';_0x251f37['r'](_0x23f236),_0x251f37['d'](_0x23f236,_0x1a4e('0x1461'),function(){return _0x149b26;});var _0x97ce99=_0x251f37(_0x1a4e('0x1278')),_0x149b26=function(_0x3ce581){function _0x23f236(_0x23f236,_0x251f37,_0x97ce99){var _0x149b26=_0x3ce581[_0x1a4e('0x1')](this)||this;return _0x149b26[_0x1a4e('0x11c')]=_0x23f236,_0x149b26[_0x1a4e('0x1462')]=_0x251f37,_0x149b26[_0x1a4e('0x1463')]=_0x97ce99,_0x149b26['index']=0x0,_0x149b26;}return _0x97ce99[_0x1a4e('0x145b')](_0x23f236,_0x3ce581),_0x23f236[_0x1a4e('0xa')][_0x1a4e('0x477')]=function(_0x3ce581){this[_0x1a4e('0x11c')][_0x1a4e('0x1464')](this[_0x1a4e('0x1462')],_0x3ce581,this['outerIndex'],this[_0x1a4e('0xbd')]++,this);},_0x23f236[_0x1a4e('0xa')][_0x1a4e('0x1465')]=function(_0x3ce581){this['parent'][_0x1a4e('0x1466')](_0x3ce581,this),this[_0x1a4e('0x1467')]();},_0x23f236[_0x1a4e('0xa')][_0x1a4e('0x1468')]=function(){this['parent'][_0x1a4e('0x1469')](this),this[_0x1a4e('0x1467')]();},_0x23f236;}(_0x251f37(_0x1a4e('0x1420'))[_0x1a4e('0x1421')]);},'./node_modules/rxjs/_esm5/internal/Notification.js':function(_0x51319f,_0xbe70c2,_0x21e12a){'use strict';_0x21e12a['r'](_0xbe70c2),_0x21e12a['d'](_0xbe70c2,_0x1a4e('0x1424'),function(){return _0x4ef1c6;}),_0x21e12a['d'](_0xbe70c2,_0x1a4e('0x1423'),function(){return _0xd1955f;});var _0x4ef1c6,_0x5691ff=_0x21e12a(_0x1a4e('0x143a')),_0x15c7e2=_0x21e12a(_0x1a4e('0x146a')),_0xaf28bd=_0x21e12a(_0x1a4e('0x144e'));_0x4ef1c6||(_0x4ef1c6={});var _0xd1955f=function(){function _0x51319f(_0x51319f,_0xbe70c2,_0x21e12a){this[_0x1a4e('0x146b')]=_0x51319f,this['value']=_0xbe70c2,this[_0x1a4e('0x873')]=_0x21e12a,this['hasValue']='N'===_0x51319f;}return _0x51319f['prototype'][_0x1a4e('0x131d')]=function(_0x51319f){switch(this[_0x1a4e('0x146b')]){case'N':return _0x51319f[_0x1a4e('0x7e')]&&_0x51319f['next'](this[_0x1a4e('0x255')]);case'E':return _0x51319f[_0x1a4e('0x873')]&&_0x51319f[_0x1a4e('0x873')](this[_0x1a4e('0x873')]);case'C':return _0x51319f[_0x1a4e('0x137f')]&&_0x51319f[_0x1a4e('0x137f')]();}},_0x51319f[_0x1a4e('0xa')]['do']=function(_0x51319f,_0xbe70c2,_0x21e12a){switch(this[_0x1a4e('0x146b')]){case'N':return _0x51319f&&_0x51319f(this[_0x1a4e('0x255')]);case'E':return _0xbe70c2&&_0xbe70c2(this['error']);case'C':return _0x21e12a&&_0x21e12a();}},_0x51319f[_0x1a4e('0xa')][_0x1a4e('0x146c')]=function(_0x51319f,_0xbe70c2,_0x21e12a){return _0x51319f&&'function'==typeof _0x51319f[_0x1a4e('0x7e')]?this['observe'](_0x51319f):this['do'](_0x51319f,_0xbe70c2,_0x21e12a);},_0x51319f[_0x1a4e('0xa')][_0x1a4e('0x146d')]=function(){switch(this[_0x1a4e('0x146b')]){case'N':return Object(_0x15c7e2['of'])(this[_0x1a4e('0x255')]);case'E':return Object(_0xaf28bd['throwError'])(this[_0x1a4e('0x873')]);case'C':return Object(_0x5691ff[_0x1a4e('0x3ec')])();}throw new Error(_0x1a4e('0x146e'));},_0x51319f['createNext']=function(_0xbe70c2){return void 0x0!==_0xbe70c2?new _0x51319f('N',_0xbe70c2):_0x51319f['undefinedValueNotification'];},_0x51319f[_0x1a4e('0x146f')]=function(_0xbe70c2){return new _0x51319f('E',void 0x0,_0xbe70c2);},_0x51319f['createComplete']=function(){return _0x51319f[_0x1a4e('0x1470')];},_0x51319f[_0x1a4e('0x1470')]=new _0x51319f('C'),_0x51319f['undefinedValueNotification']=new _0x51319f('N',void 0x0),_0x51319f;}();},'./node_modules/rxjs/_esm5/internal/Observable.js':function(_0x533b35,_0x3e4b6d,_0x455330){'use strict';_0x455330['r'](_0x3e4b6d),_0x455330['d'](_0x3e4b6d,_0x1a4e('0x1404'),function(){return _0x400414;});var _0x388f6a=_0x455330(_0x1a4e('0x1471')),_0x2737d5=_0x455330('./node_modules/rxjs/_esm5/internal/util/toSubscriber.js'),_0x2f7142=_0x455330(_0x1a4e('0x1409')),_0x3efa7e=_0x455330(_0x1a4e('0x1425')),_0x570dd2=_0x455330(_0x1a4e('0x1458')),_0x400414=function(){function _0x533b35(_0x533b35){this[_0x1a4e('0x1472')]=!0x1,_0x533b35&&(this['_subscribe']=_0x533b35);}return _0x533b35['prototype'][_0x1a4e('0x1473')]=function(_0x3e4b6d){var _0x455330=new _0x533b35();return _0x455330[_0x1a4e('0xfaa')]=this,_0x455330[_0x1a4e('0x1474')]=_0x3e4b6d,_0x455330;},_0x533b35[_0x1a4e('0xa')][_0x1a4e('0x1475')]=function(_0x533b35,_0x3e4b6d,_0x455330){var _0x388f6a=this[_0x1a4e('0x1474')],_0x2f7142=Object(_0x2737d5[_0x1a4e('0x1476')])(_0x533b35,_0x3e4b6d,_0x455330);if(_0x388f6a?_0x2f7142['add'](_0x388f6a[_0x1a4e('0x1')](_0x2f7142,this[_0x1a4e('0xfaa')])):_0x2f7142[_0x1a4e('0x177')](this[_0x1a4e('0xfaa')]||_0x570dd2[_0x1a4e('0x1459')][_0x1a4e('0x1477')]&&!_0x2f7142[_0x1a4e('0x1478')]?this[_0x1a4e('0x145c')](_0x2f7142):this[_0x1a4e('0x1479')](_0x2f7142)),_0x570dd2[_0x1a4e('0x1459')]['useDeprecatedSynchronousErrorHandling']&&_0x2f7142[_0x1a4e('0x1478')]&&(_0x2f7142[_0x1a4e('0x1478')]=!0x1,_0x2f7142[_0x1a4e('0x147a')]))throw _0x2f7142[_0x1a4e('0x147b')];return _0x2f7142;},_0x533b35[_0x1a4e('0xa')][_0x1a4e('0x1479')]=function(_0x533b35){try{return this['_subscribe'](_0x533b35);}catch(_0xf590b6){_0x570dd2['config']['useDeprecatedSynchronousErrorHandling']&&(_0x533b35[_0x1a4e('0x147a')]=!0x0,_0x533b35[_0x1a4e('0x147b')]=_0xf590b6),Object(_0x388f6a[_0x1a4e('0x147c')])(_0x533b35)?_0x533b35[_0x1a4e('0x873')](_0xf590b6):console[_0x1a4e('0xe3c')](_0xf590b6);}},_0x533b35['prototype'][_0x1a4e('0x3b')]=function(_0x533b35,_0x3e4b6d){var _0x455330=this;return new(_0x3e4b6d=(_0x2d5c02(_0x3e4b6d)))(function(_0x3e4b6d,_0x388f6a){var _0x2737d5;_0x2737d5=_0x455330[_0x1a4e('0x1475')](function(_0x3e4b6d){try{_0x533b35(_0x3e4b6d);}catch(_0x133faf){_0x388f6a(_0x133faf),_0x2737d5&&_0x2737d5[_0x1a4e('0x1467')]();}},_0x388f6a,_0x3e4b6d);});},_0x533b35[_0x1a4e('0xa')][_0x1a4e('0x145c')]=function(_0x533b35){var _0x3e4b6d=this['source'];return _0x3e4b6d&&_0x3e4b6d[_0x1a4e('0x1475')](_0x533b35);},_0x533b35[_0x1a4e('0xa')][_0x2f7142[_0x1a4e('0x140a')]]=function(){return this;},_0x533b35[_0x1a4e('0xa')][_0x1a4e('0x13be')]=function(){for(var _0x533b35=[],_0x3e4b6d=0x0;_0x3e4b6dthis[_0x1a4e('0x1485')]&&_0x5e96a5[_0x1a4e('0x7d')](),_0x67013f[_0x1a4e('0xa')][_0x1a4e('0x7e')][_0x1a4e('0x1')](this,_0x1718c6);},_0x1718c6[_0x1a4e('0xa')]['nextTimeWindow']=function(_0x1718c6){this[_0x1a4e('0xd8b')]['push'](new _0x4d0c8c(this['_getNow'](),_0x1718c6)),this[_0x1a4e('0x1489')](),_0x67013f[_0x1a4e('0xa')]['next']['call'](this,_0x1718c6);},_0x1718c6[_0x1a4e('0xa')][_0x1a4e('0x145c')]=function(_0x67013f){var _0x1718c6,_0x5e96a5=this[_0x1a4e('0x1484')],_0x3f0145=_0x5e96a5?this['_events']:this[_0x1a4e('0x1489')](),_0x129520=this[_0x1a4e('0x1483')],_0x261622=_0x3f0145[_0x1a4e('0x1e')];if(this[_0x1a4e('0x62')])throw new _0x145792[(_0x1a4e('0x142f'))]();if(this[_0x1a4e('0x148a')]||this[_0x1a4e('0x145d')]?_0x1718c6=_0x5bf2d7[_0x1a4e('0x141f')][_0x1a4e('0x2b0')]:(this[_0x1a4e('0x148b')]['push'](_0x67013f),_0x1718c6=new _0x12f7f7['SubjectSubscription'](this,_0x67013f)),_0x129520&&_0x67013f[_0x1a4e('0x177')](_0x67013f=new _0x1fa45c[(_0x1a4e('0x148c'))](_0x67013f,_0x129520)),_0x5e96a5)for(var _0x3f06a3=0x0;_0x3f06a3<_0x261622&&!_0x67013f[_0x1a4e('0x62')];_0x3f06a3++)_0x67013f[_0x1a4e('0x7e')](_0x3f0145[_0x3f06a3]);else for(_0x3f06a3=0x0;_0x3f06a3<_0x261622&&!_0x67013f['closed'];_0x3f06a3++)_0x67013f[_0x1a4e('0x7e')](_0x3f0145[_0x3f06a3][_0x1a4e('0x255')]);return this[_0x1a4e('0x145d')]?_0x67013f[_0x1a4e('0x873')](this[_0x1a4e('0x145e')]):this[_0x1a4e('0x148a')]&&_0x67013f[_0x1a4e('0x137f')](),_0x1718c6;},_0x1718c6[_0x1a4e('0xa')][_0x1a4e('0x148d')]=function(){return(this[_0x1a4e('0x1483')]||_0x261622[_0x1a4e('0x1417')])[_0x1a4e('0xe3f')]();},_0x1718c6[_0x1a4e('0xa')][_0x1a4e('0x1489')]=function(){for(var _0x67013f=this[_0x1a4e('0x148d')](),_0x1718c6=this['_bufferSize'],_0x5e96a5=this[_0x1a4e('0x1486')],_0x3f0145=this[_0x1a4e('0xd8b')],_0x129520=_0x3f0145[_0x1a4e('0x1e')],_0x261622=0x0;_0x261622<_0x129520&&!(_0x67013f-_0x3f0145[_0x261622][_0x1a4e('0x129a')]<_0x5e96a5);)_0x261622++;return _0x129520>_0x1718c6&&(_0x261622=Math[_0x1a4e('0x6c')](_0x261622,_0x129520-_0x1718c6)),_0x261622>0x0&&_0x3f0145[_0x1a4e('0x8a')](0x0,_0x261622),_0x3f0145;},_0x1718c6;}(_0x129520[_0x1a4e('0x140c')]),_0x4d0c8c=function(){return function(_0x67013f,_0x1718c6){this[_0x1a4e('0x129a')]=_0x67013f,this[_0x1a4e('0x255')]=_0x1718c6;};}();},'./node_modules/rxjs/_esm5/internal/Scheduler.js':function(_0x466548,_0x3a985d,_0x30f6ab){'use strict';_0x30f6ab['r'](_0x3a985d),_0x30f6ab['d'](_0x3a985d,_0x1a4e('0x141d'),function(){return _0x31a693;});var _0x31a693=function(){function _0x466548(_0x3a985d,_0x30f6ab){void 0x0===_0x30f6ab&&(_0x30f6ab=_0x466548[_0x1a4e('0xe3f')]),this[_0x1a4e('0x148e')]=_0x3a985d,this[_0x1a4e('0xe3f')]=_0x30f6ab;}return _0x466548['prototype']['schedule']=function(_0x466548,_0x3a985d,_0x30f6ab){return void 0x0===_0x3a985d&&(_0x3a985d=0x0),new this['SchedulerAction'](this,_0x466548)[_0x1a4e('0x148f')](_0x30f6ab,_0x3a985d);},_0x466548[_0x1a4e('0xe3f')]=function(){return Date[_0x1a4e('0xe3f')]();},_0x466548;}();},'./node_modules/rxjs/_esm5/internal/Subject.js':function(_0x36544a,_0xfec0de,_0x4b580f){'use strict';_0x4b580f['r'](_0xfec0de),_0x4b580f['d'](_0xfec0de,'SubjectSubscriber',function(){return _0x5bcf65;}),_0x4b580f['d'](_0xfec0de,_0x1a4e('0x140c'),function(){return _0x153fc5;}),_0x4b580f['d'](_0xfec0de,_0x1a4e('0x1490'),function(){return _0x5623ec;});var _0x2e7f0d=_0x4b580f(_0x1a4e('0x1278')),_0x476748=_0x4b580f(_0x1a4e('0x1403')),_0x52f86d=_0x4b580f('./node_modules/rxjs/_esm5/internal/Subscriber.js'),_0x313d7f=_0x4b580f(_0x1a4e('0x141e')),_0x26f345=_0x4b580f('./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js'),_0x5b4390=_0x4b580f(_0x1a4e('0x1491')),_0xca1574=_0x4b580f(_0x1a4e('0x1492')),_0x5bcf65=function(_0x36544a){function _0xfec0de(_0xfec0de){var _0x4b580f=_0x36544a['call'](this,_0xfec0de)||this;return _0x4b580f[_0x1a4e('0x7c8')]=_0xfec0de,_0x4b580f;}return _0x2e7f0d[_0x1a4e('0x145b')](_0xfec0de,_0x36544a),_0xfec0de;}(_0x52f86d[_0x1a4e('0x1421')]),_0x153fc5=function(_0x36544a){function _0xfec0de(){var _0xfec0de=_0x36544a['call'](this)||this;return _0xfec0de[_0x1a4e('0x148b')]=[],_0xfec0de['closed']=!0x1,_0xfec0de[_0x1a4e('0x148a')]=!0x1,_0xfec0de[_0x1a4e('0x145d')]=!0x1,_0xfec0de[_0x1a4e('0x145e')]=null,_0xfec0de;}return _0x2e7f0d['__extends'](_0xfec0de,_0x36544a),_0xfec0de[_0x1a4e('0xa')][_0xca1574['rxSubscriber']]=function(){return new _0x5bcf65(this);},_0xfec0de[_0x1a4e('0xa')]['lift']=function(_0x36544a){var _0xfec0de=new _0x5623ec(this,this);return _0xfec0de['operator']=_0x36544a,_0xfec0de;},_0xfec0de[_0x1a4e('0xa')][_0x1a4e('0x7e')]=function(_0x36544a){if(this['closed'])throw new _0x26f345[(_0x1a4e('0x142f'))]();if(!this['isStopped'])for(var _0xfec0de=this[_0x1a4e('0x148b')],_0x4b580f=_0xfec0de[_0x1a4e('0x1e')],_0x2e7f0d=_0xfec0de['slice'](),_0x476748=0x0;_0x476748<_0x4b580f;_0x476748++)_0x2e7f0d[_0x476748]['next'](_0x36544a);},_0xfec0de['prototype']['error']=function(_0x36544a){if(this[_0x1a4e('0x62')])throw new _0x26f345['ObjectUnsubscribedError']();this[_0x1a4e('0x145d')]=!0x0,this[_0x1a4e('0x145e')]=_0x36544a,this[_0x1a4e('0x148a')]=!0x0;for(var _0xfec0de=this[_0x1a4e('0x148b')],_0x4b580f=_0xfec0de[_0x1a4e('0x1e')],_0x2e7f0d=_0xfec0de[_0x1a4e('0x78')](),_0x476748=0x0;_0x476748<_0x4b580f;_0x476748++)_0x2e7f0d[_0x476748][_0x1a4e('0x873')](_0x36544a);this[_0x1a4e('0x148b')][_0x1a4e('0x1e')]=0x0;},_0xfec0de[_0x1a4e('0xa')][_0x1a4e('0x137f')]=function(){if(this['closed'])throw new _0x26f345[(_0x1a4e('0x142f'))]();this[_0x1a4e('0x148a')]=!0x0;for(var _0x36544a=this[_0x1a4e('0x148b')],_0xfec0de=_0x36544a[_0x1a4e('0x1e')],_0x4b580f=_0x36544a[_0x1a4e('0x78')](),_0x2e7f0d=0x0;_0x2e7f0d<_0xfec0de;_0x2e7f0d++)_0x4b580f[_0x2e7f0d]['complete']();this['observers']['length']=0x0;},_0xfec0de[_0x1a4e('0xa')][_0x1a4e('0x1467')]=function(){this['isStopped']=!0x0,this['closed']=!0x0,this[_0x1a4e('0x148b')]=null;},_0xfec0de['prototype'][_0x1a4e('0x1479')]=function(_0xfec0de){if(this['closed'])throw new _0x26f345['ObjectUnsubscribedError']();return _0x36544a['prototype'][_0x1a4e('0x1479')][_0x1a4e('0x1')](this,_0xfec0de);},_0xfec0de[_0x1a4e('0xa')]['_subscribe']=function(_0x36544a){if(this[_0x1a4e('0x62')])throw new _0x26f345['ObjectUnsubscribedError']();return this[_0x1a4e('0x145d')]?(_0x36544a[_0x1a4e('0x873')](this[_0x1a4e('0x145e')]),_0x313d7f['Subscription']['EMPTY']):this['isStopped']?(_0x36544a[_0x1a4e('0x137f')](),_0x313d7f[_0x1a4e('0x141f')][_0x1a4e('0x2b0')]):(this[_0x1a4e('0x148b')][_0x1a4e('0x46')](_0x36544a),new _0x5b4390[(_0x1a4e('0x1493'))](this,_0x36544a));},_0xfec0de[_0x1a4e('0xa')][_0x1a4e('0x1494')]=function(){var _0x36544a=new _0x476748['Observable']();return _0x36544a[_0x1a4e('0xfaa')]=this,_0x36544a;},_0xfec0de['create']=function(_0x36544a,_0xfec0de){return new _0x5623ec(_0x36544a,_0xfec0de);},_0xfec0de;}(_0x476748[_0x1a4e('0x1404')]),_0x5623ec=function(_0x36544a){function _0xfec0de(_0xfec0de,_0x4b580f){var _0x2e7f0d=_0x36544a['call'](this)||this;return _0x2e7f0d[_0x1a4e('0x7c8')]=_0xfec0de,_0x2e7f0d[_0x1a4e('0xfaa')]=_0x4b580f,_0x2e7f0d;}return _0x2e7f0d['__extends'](_0xfec0de,_0x36544a),_0xfec0de[_0x1a4e('0xa')][_0x1a4e('0x7e')]=function(_0x36544a){var _0xfec0de=this['destination'];_0xfec0de&&_0xfec0de[_0x1a4e('0x7e')]&&_0xfec0de[_0x1a4e('0x7e')](_0x36544a);},_0xfec0de['prototype'][_0x1a4e('0x873')]=function(_0x36544a){var _0xfec0de=this['destination'];_0xfec0de&&_0xfec0de[_0x1a4e('0x873')]&&this['destination'][_0x1a4e('0x873')](_0x36544a);},_0xfec0de[_0x1a4e('0xa')][_0x1a4e('0x137f')]=function(){var _0x36544a=this[_0x1a4e('0x7c8')];_0x36544a&&_0x36544a[_0x1a4e('0x137f')]&&this[_0x1a4e('0x7c8')][_0x1a4e('0x137f')]();},_0xfec0de['prototype'][_0x1a4e('0x145c')]=function(_0x36544a){return this[_0x1a4e('0xfaa')]?this['source']['subscribe'](_0x36544a):_0x313d7f[_0x1a4e('0x141f')]['EMPTY'];},_0xfec0de;}(_0x153fc5);},'./node_modules/rxjs/_esm5/internal/SubjectSubscription.js':function(_0x5ae561,_0x2bb97b,_0x55bbe6){'use strict';_0x55bbe6['r'](_0x2bb97b),_0x55bbe6['d'](_0x2bb97b,_0x1a4e('0x1493'),function(){return _0x2fe8c2;});var _0x1311f6=_0x55bbe6(_0x1a4e('0x1278')),_0x2fe8c2=function(_0x5ae561){function _0x2bb97b(_0x2bb97b,_0x55bbe6){var _0x1311f6=_0x5ae561[_0x1a4e('0x1')](this)||this;return _0x1311f6[_0x1a4e('0x1125')]=_0x2bb97b,_0x1311f6[_0x1a4e('0x1495')]=_0x55bbe6,_0x1311f6[_0x1a4e('0x62')]=!0x1,_0x1311f6;}return _0x1311f6['__extends'](_0x2bb97b,_0x5ae561),_0x2bb97b['prototype'][_0x1a4e('0x1467')]=function(){if(!this[_0x1a4e('0x62')]){this[_0x1a4e('0x62')]=!0x0;var _0x5ae561=this[_0x1a4e('0x1125')],_0x2bb97b=_0x5ae561[_0x1a4e('0x148b')];if(this['subject']=null,_0x2bb97b&&0x0!==_0x2bb97b['length']&&!_0x5ae561['isStopped']&&!_0x5ae561[_0x1a4e('0x62')]){var _0x55bbe6=_0x2bb97b[_0x1a4e('0x3e')](this['subscriber']);-0x1!==_0x55bbe6&&_0x2bb97b[_0x1a4e('0x8a')](_0x55bbe6,0x1);}}},_0x2bb97b;}(_0x55bbe6(_0x1a4e('0x141e'))[_0x1a4e('0x141f')]);},'./node_modules/rxjs/_esm5/internal/Subscriber.js':function(_0x4c3898,_0x3899d0,_0x10c76b){'use strict';_0x10c76b['r'](_0x3899d0),_0x10c76b['d'](_0x3899d0,'Subscriber',function(){return _0x4cc842;}),_0x10c76b['d'](_0x3899d0,_0x1a4e('0x1496'),function(){return _0x49aecb;});var _0x30fef0=_0x10c76b(_0x1a4e('0x1278')),_0x2b8c54=_0x10c76b(_0x1a4e('0x1497')),_0x57f865=_0x10c76b(_0x1a4e('0x1498')),_0x510060=_0x10c76b('./node_modules/rxjs/_esm5/internal/Subscription.js'),_0x547245=_0x10c76b(_0x1a4e('0x1492')),_0x4e14e8=_0x10c76b(_0x1a4e('0x1458')),_0x249ead=_0x10c76b(_0x1a4e('0x1499')),_0x4cc842=function(_0x4c3898){function _0x3899d0(_0x10c76b,_0x30fef0,_0x2b8c54){var _0x510060=_0x4c3898[_0x1a4e('0x1')](this)||this;switch(_0x510060[_0x1a4e('0x147b')]=null,_0x510060[_0x1a4e('0x147a')]=!0x1,_0x510060[_0x1a4e('0x1478')]=!0x1,_0x510060['isStopped']=!0x1,arguments[_0x1a4e('0x1e')]){case 0x0:_0x510060[_0x1a4e('0x7c8')]=_0x57f865['empty'];break;case 0x1:if(!_0x10c76b){_0x510060[_0x1a4e('0x7c8')]=_0x57f865[_0x1a4e('0x3ec')];break;}if('object'==typeof _0x10c76b){_0x10c76b instanceof _0x3899d0?(_0x510060['syncErrorThrowable']=_0x10c76b[_0x1a4e('0x1478')],_0x510060[_0x1a4e('0x7c8')]=_0x10c76b,_0x10c76b[_0x1a4e('0x177')](_0x510060)):(_0x510060[_0x1a4e('0x1478')]=!0x0,_0x510060[_0x1a4e('0x7c8')]=new _0x49aecb(_0x510060,_0x10c76b));break;}default:_0x510060[_0x1a4e('0x1478')]=!0x0,_0x510060[_0x1a4e('0x7c8')]=new _0x49aecb(_0x510060,_0x10c76b,_0x30fef0,_0x2b8c54);}return _0x510060;}return _0x30fef0[_0x1a4e('0x145b')](_0x3899d0,_0x4c3898),_0x3899d0['prototype'][_0x547245[_0x1a4e('0x149a')]]=function(){return this;},_0x3899d0['create']=function(_0x4c3898,_0x10c76b,_0x30fef0){var _0x2b8c54=new _0x3899d0(_0x4c3898,_0x10c76b,_0x30fef0);return _0x2b8c54[_0x1a4e('0x1478')]=!0x1,_0x2b8c54;},_0x3899d0['prototype']['next']=function(_0x4c3898){this['isStopped']||this[_0x1a4e('0x477')](_0x4c3898);},_0x3899d0[_0x1a4e('0xa')][_0x1a4e('0x873')]=function(_0x4c3898){this[_0x1a4e('0x148a')]||(this['isStopped']=!0x0,this[_0x1a4e('0x1465')](_0x4c3898));},_0x3899d0[_0x1a4e('0xa')]['complete']=function(){this['isStopped']||(this['isStopped']=!0x0,this[_0x1a4e('0x1468')]());},_0x3899d0['prototype']['unsubscribe']=function(){this[_0x1a4e('0x62')]||(this['isStopped']=!0x0,_0x4c3898[_0x1a4e('0xa')][_0x1a4e('0x1467')][_0x1a4e('0x1')](this));},_0x3899d0[_0x1a4e('0xa')][_0x1a4e('0x477')]=function(_0x4c3898){this[_0x1a4e('0x7c8')][_0x1a4e('0x7e')](_0x4c3898);},_0x3899d0[_0x1a4e('0xa')][_0x1a4e('0x1465')]=function(_0x4c3898){this[_0x1a4e('0x7c8')][_0x1a4e('0x873')](_0x4c3898),this['unsubscribe']();},_0x3899d0[_0x1a4e('0xa')][_0x1a4e('0x1468')]=function(){this[_0x1a4e('0x7c8')][_0x1a4e('0x137f')](),this['unsubscribe']();},_0x3899d0[_0x1a4e('0xa')]['_unsubscribeAndRecycle']=function(){var _0x4c3898=this[_0x1a4e('0x149b')];return this[_0x1a4e('0x149b')]=null,this[_0x1a4e('0x1467')](),this[_0x1a4e('0x62')]=!0x1,this['isStopped']=!0x1,this[_0x1a4e('0x149b')]=_0x4c3898,this;},_0x3899d0;}(_0x510060[_0x1a4e('0x141f')]),_0x49aecb=function(_0x4c3898){function _0x3899d0(_0x3899d0,_0x10c76b,_0x30fef0,_0x510060){var _0x547245,_0x4e14e8=_0x4c3898['call'](this)||this;_0x4e14e8[_0x1a4e('0x149c')]=_0x3899d0;var _0x249ead=_0x4e14e8;return Object(_0x2b8c54[_0x1a4e('0xb21')])(_0x10c76b)?_0x547245=_0x10c76b:_0x10c76b&&(_0x547245=_0x10c76b[_0x1a4e('0x7e')],_0x30fef0=_0x10c76b[_0x1a4e('0x873')],_0x510060=_0x10c76b[_0x1a4e('0x137f')],_0x10c76b!==_0x57f865['empty']&&(_0x249ead=Object[_0x1a4e('0x7')](_0x10c76b),Object(_0x2b8c54[_0x1a4e('0xb21')])(_0x249ead['unsubscribe'])&&_0x4e14e8[_0x1a4e('0x177')](_0x249ead['unsubscribe'][_0x1a4e('0x945')](_0x249ead)),_0x249ead[_0x1a4e('0x1467')]=_0x4e14e8[_0x1a4e('0x1467')][_0x1a4e('0x945')](_0x4e14e8))),_0x4e14e8[_0x1a4e('0x514')]=_0x249ead,_0x4e14e8[_0x1a4e('0x477')]=_0x547245,_0x4e14e8['_error']=_0x30fef0,_0x4e14e8[_0x1a4e('0x1468')]=_0x510060,_0x4e14e8;}return _0x30fef0[_0x1a4e('0x145b')](_0x3899d0,_0x4c3898),_0x3899d0[_0x1a4e('0xa')]['next']=function(_0x4c3898){if(!this[_0x1a4e('0x148a')]&&this['_next']){var _0x3899d0=this[_0x1a4e('0x149c')];_0x4e14e8[_0x1a4e('0x1459')][_0x1a4e('0x1477')]&&_0x3899d0[_0x1a4e('0x1478')]?this[_0x1a4e('0x149d')](_0x3899d0,this[_0x1a4e('0x477')],_0x4c3898)&&this[_0x1a4e('0x1467')]():this[_0x1a4e('0x149e')](this[_0x1a4e('0x477')],_0x4c3898);}},_0x3899d0[_0x1a4e('0xa')][_0x1a4e('0x873')]=function(_0x4c3898){if(!this['isStopped']){var _0x3899d0=this[_0x1a4e('0x149c')],_0x10c76b=_0x4e14e8[_0x1a4e('0x1459')][_0x1a4e('0x1477')];if(this['_error'])_0x10c76b&&_0x3899d0['syncErrorThrowable']?(this[_0x1a4e('0x149d')](_0x3899d0,this['_error'],_0x4c3898),this[_0x1a4e('0x1467')]()):(this['__tryOrUnsub'](this[_0x1a4e('0x1465')],_0x4c3898),this[_0x1a4e('0x1467')]());else if(_0x3899d0[_0x1a4e('0x1478')])_0x10c76b?(_0x3899d0['syncErrorValue']=_0x4c3898,_0x3899d0[_0x1a4e('0x147a')]=!0x0):Object(_0x249ead['hostReportError'])(_0x4c3898),this['unsubscribe']();else{if(this['unsubscribe'](),_0x10c76b)throw _0x4c3898;Object(_0x249ead[_0x1a4e('0x147f')])(_0x4c3898);}}},_0x3899d0[_0x1a4e('0xa')][_0x1a4e('0x137f')]=function(){var _0x4c3898=this;if(!this[_0x1a4e('0x148a')]){var _0x3899d0=this[_0x1a4e('0x149c')];if(this[_0x1a4e('0x1468')]){var _0x10c76b=function(){return _0x4c3898[_0x1a4e('0x1468')][_0x1a4e('0x1')](_0x4c3898[_0x1a4e('0x514')]);};_0x4e14e8[_0x1a4e('0x1459')]['useDeprecatedSynchronousErrorHandling']&&_0x3899d0[_0x1a4e('0x1478')]?(this[_0x1a4e('0x149d')](_0x3899d0,_0x10c76b),this[_0x1a4e('0x1467')]()):(this[_0x1a4e('0x149e')](_0x10c76b),this[_0x1a4e('0x1467')]());}else this['unsubscribe']();}},_0x3899d0[_0x1a4e('0xa')]['__tryOrUnsub']=function(_0x4c3898,_0x3899d0){try{_0x4c3898['call'](this[_0x1a4e('0x514')],_0x3899d0);}catch(_0x234c64){if(this[_0x1a4e('0x1467')](),_0x4e14e8[_0x1a4e('0x1459')][_0x1a4e('0x1477')])throw _0x234c64;Object(_0x249ead[_0x1a4e('0x147f')])(_0x234c64);}},_0x3899d0['prototype'][_0x1a4e('0x149d')]=function(_0x4c3898,_0x3899d0,_0x10c76b){if(!_0x4e14e8[_0x1a4e('0x1459')][_0x1a4e('0x1477')])throw new Error(_0x1a4e('0x149f'));try{_0x3899d0[_0x1a4e('0x1')](this['_context'],_0x10c76b);}catch(_0x19462a){return _0x4e14e8[_0x1a4e('0x1459')][_0x1a4e('0x1477')]?(_0x4c3898[_0x1a4e('0x147b')]=_0x19462a,_0x4c3898[_0x1a4e('0x147a')]=!0x0,!0x0):(Object(_0x249ead[_0x1a4e('0x147f')])(_0x19462a),!0x0);}return!0x1;},_0x3899d0[_0x1a4e('0xa')]['_unsubscribe']=function(){var _0x4c3898=this[_0x1a4e('0x149c')];this['_context']=null,this['_parentSubscriber']=null,_0x4c3898[_0x1a4e('0x1467')]();},_0x3899d0;}(_0x4cc842);},'./node_modules/rxjs/_esm5/internal/Subscription.js':function(_0x1a2f84,_0x782aa8,_0x45e6c6){'use strict';_0x45e6c6['r'](_0x782aa8),_0x45e6c6['d'](_0x782aa8,_0x1a4e('0x141f'),function(){return _0x531c04;});var _0x56ec3c=_0x45e6c6('./node_modules/rxjs/_esm5/internal/util/isArray.js'),_0x31cfed=_0x45e6c6(_0x1a4e('0x14a0')),_0x1b7401=_0x45e6c6(_0x1a4e('0x1497')),_0x50bba2=_0x45e6c6(_0x1a4e('0x1430')),_0x531c04=function(){function _0x1a2f84(_0x1a2f84){this[_0x1a4e('0x62')]=!0x1,this['_parentOrParents']=null,this[_0x1a4e('0x14a1')]=null,_0x1a2f84&&(this['_unsubscribe']=_0x1a2f84);}var _0x782aa8;return _0x1a2f84[_0x1a4e('0xa')][_0x1a4e('0x1467')]=function(){var _0x782aa8;if(!this['closed']){var _0x45e6c6=this[_0x1a4e('0x149b')],_0x531c04=this[_0x1a4e('0x14a2')],_0x304c52=this[_0x1a4e('0x14a1')];if(this['closed']=!0x0,this['_parentOrParents']=null,this[_0x1a4e('0x14a1')]=null,_0x45e6c6 instanceof _0x1a2f84)_0x45e6c6['remove'](this);else if(null!==_0x45e6c6)for(var _0x5d4e50=0x0;_0x5d4e50<_0x45e6c6[_0x1a4e('0x1e')];++_0x5d4e50){_0x45e6c6[_0x5d4e50][_0x1a4e('0x82')](this);}if(Object(_0x1b7401[_0x1a4e('0xb21')])(_0x531c04))try{_0x531c04[_0x1a4e('0x1')](this);}catch(_0x4e662b){_0x782aa8=_0x4e662b instanceof _0x50bba2[_0x1a4e('0x1431')]?_0x235eff(_0x4e662b[_0x1a4e('0x8dd')]):[_0x4e662b];}if(Object(_0x56ec3c[_0x1a4e('0x15')])(_0x304c52)){_0x5d4e50=-0x1;for(var _0x48fa58=_0x304c52[_0x1a4e('0x1e')];++_0x5d4e50<_0x48fa58;){var _0x5a0cfa=_0x304c52[_0x5d4e50];if(Object(_0x31cfed['isObject'])(_0x5a0cfa))try{_0x5a0cfa['unsubscribe']();}catch(_0xc15dd2){_0x782aa8=_0x782aa8||[],_0xc15dd2 instanceof _0x50bba2[_0x1a4e('0x1431')]?_0x782aa8=_0x782aa8[_0x1a4e('0x9a')](_0x235eff(_0xc15dd2[_0x1a4e('0x8dd')])):_0x782aa8[_0x1a4e('0x46')](_0xc15dd2);}}}if(_0x782aa8)throw new _0x50bba2[(_0x1a4e('0x1431'))](_0x782aa8);}},_0x1a2f84[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x782aa8){var _0x45e6c6=_0x782aa8;if(!_0x782aa8)return _0x1a2f84[_0x1a4e('0x2b0')];switch(typeof _0x782aa8){case _0x1a4e('0x68'):_0x45e6c6=new _0x1a2f84(_0x782aa8);case _0x1a4e('0x85'):if(_0x45e6c6===this||_0x45e6c6[_0x1a4e('0x62')]||_0x1a4e('0x68')!=typeof _0x45e6c6[_0x1a4e('0x1467')])return _0x45e6c6;if(this[_0x1a4e('0x62')])return _0x45e6c6['unsubscribe'](),_0x45e6c6;if(!(_0x45e6c6 instanceof _0x1a2f84)){var _0x56ec3c=_0x45e6c6;(_0x45e6c6=new _0x1a2f84())[_0x1a4e('0x14a1')]=[_0x56ec3c];}break;default:throw new Error('unrecognized\x20teardown\x20'+_0x782aa8+_0x1a4e('0x14a3'));}var _0x31cfed=_0x45e6c6['_parentOrParents'];if(null===_0x31cfed)_0x45e6c6['_parentOrParents']=this;else if(_0x31cfed instanceof _0x1a2f84){if(_0x31cfed===this)return _0x45e6c6;_0x45e6c6[_0x1a4e('0x149b')]=[_0x31cfed,this];}else{if(-0x1!==_0x31cfed[_0x1a4e('0x3e')](this))return _0x45e6c6;_0x31cfed[_0x1a4e('0x46')](this);}var _0x1b7401=this[_0x1a4e('0x14a1')];return null===_0x1b7401?this[_0x1a4e('0x14a1')]=[_0x45e6c6]:_0x1b7401[_0x1a4e('0x46')](_0x45e6c6),_0x45e6c6;},_0x1a2f84[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x1a2f84){var _0x782aa8=this['_subscriptions'];if(_0x782aa8){var _0x45e6c6=_0x782aa8[_0x1a4e('0x3e')](_0x1a2f84);-0x1!==_0x45e6c6&&_0x782aa8[_0x1a4e('0x8a')](_0x45e6c6,0x1);}},_0x1a2f84[_0x1a4e('0x2b0')]=((_0x782aa8=new _0x1a2f84())['closed']=!0x0,_0x782aa8),_0x1a2f84;}();function _0x235eff(_0x1a2f84){return _0x1a2f84[_0x1a4e('0xbb')](function(_0x1a2f84,_0x782aa8){return _0x1a2f84[_0x1a4e('0x9a')](_0x782aa8 instanceof _0x50bba2[_0x1a4e('0x1431')]?_0x782aa8['errors']:_0x782aa8);},[]);}},'./node_modules/rxjs/_esm5/internal/config.js':function(_0x26ad65,_0xd23948,_0x41fca3){'use strict';_0x41fca3['r'](_0xd23948),_0x41fca3['d'](_0xd23948,_0x1a4e('0x1459'),function(){return _0x38fb50;});var _0x29fc71=!0x1,_0x38fb50={'Promise':void 0x0,set 'useDeprecatedSynchronousErrorHandling'(_0x26ad65){_0x26ad65&&new Error()[_0x1a4e('0x2cd')];_0x29fc71=_0x26ad65;},get 'useDeprecatedSynchronousErrorHandling'(){return _0x29fc71;}};},'./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js':function(_0x3058ef,_0x47078f,_0x4c74be){'use strict';_0x4c74be['r'](_0x47078f),_0x4c74be['d'](_0x47078f,'ConnectableObservable',function(){return _0x494363;}),_0x4c74be['d'](_0x47078f,_0x1a4e('0x14a4'),function(){return _0x3ec8f6;});var _0x352272=_0x4c74be(_0x1a4e('0x1278')),_0x2fddf6=_0x4c74be(_0x1a4e('0x140b')),_0x43ebc2=_0x4c74be(_0x1a4e('0x1403')),_0x1eaa7f=_0x4c74be('./node_modules/rxjs/_esm5/internal/Subscriber.js'),_0x3c2b8d=_0x4c74be('./node_modules/rxjs/_esm5/internal/Subscription.js'),_0x12852c=_0x4c74be(_0x1a4e('0x14a5')),_0x494363=function(_0x3058ef){function _0x47078f(_0x47078f,_0x4c74be){var _0x352272=_0x3058ef[_0x1a4e('0x1')](this)||this;return _0x352272[_0x1a4e('0xfaa')]=_0x47078f,_0x352272[_0x1a4e('0x14a6')]=_0x4c74be,_0x352272[_0x1a4e('0x14a7')]=0x0,_0x352272['_isComplete']=!0x1,_0x352272;}return _0x352272['__extends'](_0x47078f,_0x3058ef),_0x47078f[_0x1a4e('0xa')][_0x1a4e('0x145c')]=function(_0x3058ef){return this['getSubject']()[_0x1a4e('0x1475')](_0x3058ef);},_0x47078f[_0x1a4e('0xa')][_0x1a4e('0x14a8')]=function(){var _0x3058ef=this['_subject'];return _0x3058ef&&!_0x3058ef['isStopped']||(this[_0x1a4e('0x14a9')]=this[_0x1a4e('0x14a6')]()),this[_0x1a4e('0x14a9')];},_0x47078f[_0x1a4e('0xa')][_0x1a4e('0x14aa')]=function(){var _0x3058ef=this[_0x1a4e('0x14ab')];return _0x3058ef||(this['_isComplete']=!0x1,(_0x3058ef=this['_connection']=new _0x3c2b8d[(_0x1a4e('0x141f'))]())[_0x1a4e('0x177')](this['source']['subscribe'](new _0x5d0b81(this[_0x1a4e('0x14a8')](),this))),_0x3058ef[_0x1a4e('0x62')]&&(this[_0x1a4e('0x14ab')]=null,_0x3058ef=_0x3c2b8d[_0x1a4e('0x141f')][_0x1a4e('0x2b0')])),_0x3058ef;},_0x47078f[_0x1a4e('0xa')]['refCount']=function(){return Object(_0x12852c['refCount'])()(this);},_0x47078f;}(_0x43ebc2[_0x1a4e('0x1404')]),_0x3ec8f6=function(){var _0x3058ef=_0x494363['prototype'];return{'operator':{'value':null},'_refCount':{'value':0x0,'writable':!0x0},'_subject':{'value':null,'writable':!0x0},'_connection':{'value':null,'writable':!0x0},'_subscribe':{'value':_0x3058ef[_0x1a4e('0x145c')]},'_isComplete':{'value':_0x3058ef['_isComplete'],'writable':!0x0},'getSubject':{'value':_0x3058ef[_0x1a4e('0x14a8')]},'connect':{'value':_0x3058ef['connect']},'refCount':{'value':_0x3058ef[_0x1a4e('0x14ac')]}};}(),_0x5d0b81=function(_0x3058ef){function _0x47078f(_0x47078f,_0x4c74be){var _0x352272=_0x3058ef['call'](this,_0x47078f)||this;return _0x352272['connectable']=_0x4c74be,_0x352272;}return _0x352272['__extends'](_0x47078f,_0x3058ef),_0x47078f[_0x1a4e('0xa')]['_error']=function(_0x47078f){this['_unsubscribe'](),_0x3058ef[_0x1a4e('0xa')][_0x1a4e('0x1465')][_0x1a4e('0x1')](this,_0x47078f);},_0x47078f[_0x1a4e('0xa')][_0x1a4e('0x1468')]=function(){this['connectable'][_0x1a4e('0x14ad')]=!0x0,this[_0x1a4e('0x14a2')](),_0x3058ef[_0x1a4e('0xa')]['_complete'][_0x1a4e('0x1')](this);},_0x47078f[_0x1a4e('0xa')][_0x1a4e('0x14a2')]=function(){var _0x3058ef=this[_0x1a4e('0x14ae')];if(_0x3058ef){this[_0x1a4e('0x14ae')]=null;var _0x47078f=_0x3058ef[_0x1a4e('0x14ab')];_0x3058ef[_0x1a4e('0x14a7')]=0x0,_0x3058ef[_0x1a4e('0x14a9')]=null,_0x3058ef[_0x1a4e('0x14ab')]=null,_0x47078f&&_0x47078f[_0x1a4e('0x1467')]();}},_0x47078f;}(_0x2fddf6[_0x1a4e('0x14af')]);_0x1eaa7f[_0x1a4e('0x1421')];},'./node_modules/rxjs/_esm5/internal/observable/bindCallback.js':function(_0x2d778e,_0x4ca732,_0x1cdcd8){'use strict';_0x1cdcd8['r'](_0x4ca732),_0x1cdcd8['d'](_0x4ca732,_0x1a4e('0x1434'),function(){return _0x5d3195;});var _0x5c8a11=_0x1cdcd8(_0x1a4e('0x1403')),_0x15e21c=_0x1cdcd8(_0x1a4e('0x14b0')),_0x5c754b=_0x1cdcd8(_0x1a4e('0x14b1')),_0x252cbe=_0x1cdcd8(_0x1a4e('0x1471')),_0x291184=_0x1cdcd8(_0x1a4e('0x14b2')),_0x4ea009=_0x1cdcd8('./node_modules/rxjs/_esm5/internal/util/isScheduler.js');function _0x5d3195(_0x2d778e,_0x4ca732,_0x1cdcd8){if(_0x4ca732){if(!Object(_0x4ea009[_0x1a4e('0x14b3')])(_0x4ca732))return function(){for(var _0x5c8a11=[],_0x15e21c=0x0;_0x15e21c0x1?_0x33fb26[_0x1a4e('0x7e')](Array[_0x1a4e('0xa')][_0x1a4e('0x78')][_0x1a4e('0x1')](arguments)):_0x33fb26[_0x1a4e('0x7e')](_0x4d3e5f);},_0x33fb26,_0xad4802);});}},'./node_modules/rxjs/_esm5/internal/observable/fromEventPattern.js':function(_0x3db5f5,_0x3acf0b,_0x44a7e5){'use strict';_0x44a7e5['r'](_0x3acf0b),_0x44a7e5['d'](_0x3acf0b,_0x1a4e('0x1441'),function(){return _0x1e6a27;});var _0x102ad9=_0x44a7e5(_0x1a4e('0x1403')),_0xbc466=_0x44a7e5('./node_modules/rxjs/_esm5/internal/util/isArray.js'),_0x402630=_0x44a7e5('./node_modules/rxjs/_esm5/internal/util/isFunction.js'),_0x351f70=_0x44a7e5(_0x1a4e('0x14b1'));function _0x1e6a27(_0x3db5f5,_0x3acf0b,_0x44a7e5){return _0x44a7e5?_0x1e6a27(_0x3db5f5,_0x3acf0b)[_0x1a4e('0x13be')](Object(_0x351f70['map'])(function(_0x3db5f5){return Object(_0xbc466['isArray'])(_0x3db5f5)?_0x44a7e5[_0x1a4e('0x8b')](void 0x0,_0x3db5f5):_0x44a7e5(_0x3db5f5);})):new _0x102ad9[(_0x1a4e('0x1404'))](function(_0x44a7e5){var _0x102ad9,_0xbc466=function(){for(var _0x3db5f5=[],_0x3acf0b=0x0;_0x3acf0b0x1&&'number'==typeof _0x1529a6[_0x1529a6[_0x1a4e('0x1e')]-0x1]&&(_0x9b00fb=_0x1529a6[_0x1a4e('0x76')]())):_0x1a4e('0x3d')==typeof _0x3d4fd7&&(_0x9b00fb=_0x1529a6[_0x1a4e('0x76')]()),null===_0x2cab3f&&0x1===_0x1529a6[_0x1a4e('0x1e')]&&_0x1529a6[0x0]instanceof _0x10b640['Observable']?_0x1529a6[0x0]:Object(_0x41e4e6[_0x1a4e('0x14ce')])(_0x9b00fb)(Object(_0x4b8592[_0x1a4e('0x14bb')])(_0x1529a6,_0x2cab3f));}},'./node_modules/rxjs/_esm5/internal/observable/never.js':function(_0x5786e5,_0x3379fa,_0x3caa67){'use strict';_0x3caa67['r'](_0x3379fa),_0x3caa67['d'](_0x3379fa,_0x1a4e('0x1457'),function(){return _0x34ed0a;}),_0x3caa67['d'](_0x3379fa,'never',function(){return _0x1e7b47;});var _0x1ecaf5=_0x3caa67(_0x1a4e('0x1403')),_0x5eddb6=_0x3caa67(_0x1a4e('0x1426')),_0x34ed0a=new _0x1ecaf5[(_0x1a4e('0x1404'))](_0x5eddb6[_0x1a4e('0x10bf')]);function _0x1e7b47(){return _0x34ed0a;}},'./node_modules/rxjs/_esm5/internal/observable/of.js':function(_0x6e031d,_0x50ded6,_0x552eb4){'use strict';_0x552eb4['r'](_0x50ded6),_0x552eb4['d'](_0x50ded6,'of',function(){return _0x28d8c9;});var _0x55b13e=_0x552eb4(_0x1a4e('0x14b5')),_0x449c37=_0x552eb4(_0x1a4e('0x14ba')),_0x2fba86=_0x552eb4(_0x1a4e('0x14c4'));function _0x28d8c9(){for(var _0x6e031d=[],_0x50ded6=0x0;_0x50ded6=_0x37d755){_0x5dfd0e[_0x1a4e('0x137f')]();break;}if(_0x5dfd0e['next'](_0x53c574++),_0x5dfd0e[_0x1a4e('0x62')])break;}});}function _0x228d23(_0x566b22){var _0x37d755=_0x566b22[_0x1a4e('0xc9')],_0xf1e706=_0x566b22[_0x1a4e('0xbd')],_0x5dfd0e=_0x566b22[_0x1a4e('0x389')],_0x3090d8=_0x566b22[_0x1a4e('0x1495')];_0xf1e706>=_0x5dfd0e?_0x3090d8[_0x1a4e('0x137f')]():(_0x3090d8[_0x1a4e('0x7e')](_0x37d755),_0x3090d8[_0x1a4e('0x62')]||(_0x566b22[_0x1a4e('0xbd')]=_0xf1e706+0x1,_0x566b22['start']=_0x37d755+0x1,this[_0x1a4e('0x148f')](_0x566b22)));}},'./node_modules/rxjs/_esm5/internal/observable/throwError.js':function(_0x1c9490,_0x9d5ded,_0x42dc1a){'use strict';_0x42dc1a['r'](_0x9d5ded),_0x42dc1a['d'](_0x9d5ded,'throwError',function(){return _0x1e07b5;});var _0x2f86d7=_0x42dc1a(_0x1a4e('0x1403'));function _0x1e07b5(_0x1c9490,_0x9d5ded){return _0x9d5ded?new _0x2f86d7[(_0x1a4e('0x1404'))](function(_0x42dc1a){return _0x9d5ded[_0x1a4e('0x148f')](_0x10f90b,0x0,{'error':_0x1c9490,'subscriber':_0x42dc1a});}):new _0x2f86d7[(_0x1a4e('0x1404'))](function(_0x9d5ded){return _0x9d5ded['error'](_0x1c9490);});}function _0x10f90b(_0x1c9490){var _0x9d5ded=_0x1c9490[_0x1a4e('0x873')];_0x1c9490[_0x1a4e('0x1495')][_0x1a4e('0x873')](_0x9d5ded);}},'./node_modules/rxjs/_esm5/internal/observable/timer.js':function(_0x20d7d0,_0x4fd5dc,_0x2563d4){'use strict';_0x2563d4['r'](_0x4fd5dc),_0x2563d4['d'](_0x4fd5dc,_0x1a4e('0x1451'),function(){return _0x58de70;});var _0x3108db=_0x2563d4(_0x1a4e('0x1403')),_0x3da6d1=_0x2563d4(_0x1a4e('0x1414')),_0x59862f=_0x2563d4(_0x1a4e('0x14cb')),_0x1e2a4e=_0x2563d4(_0x1a4e('0x14b5'));function _0x58de70(_0x20d7d0,_0x4fd5dc,_0x2563d4){void 0x0===_0x20d7d0&&(_0x20d7d0=0x0);var _0x58de70=-0x1;return Object(_0x59862f['isNumeric'])(_0x4fd5dc)?_0x58de70=Number(_0x4fd5dc)<0x1?0x1:Number(_0x4fd5dc):Object(_0x1e2a4e[_0x1a4e('0x14b3')])(_0x4fd5dc)&&(_0x2563d4=_0x4fd5dc),Object(_0x1e2a4e[_0x1a4e('0x14b3')])(_0x2563d4)||(_0x2563d4=_0x3da6d1[_0x1a4e('0xe06')]),new _0x3108db[(_0x1a4e('0x1404'))](function(_0x4fd5dc){var _0x3108db=Object(_0x59862f['isNumeric'])(_0x20d7d0)?_0x20d7d0:+_0x20d7d0-_0x2563d4[_0x1a4e('0xe3f')]();return _0x2563d4['schedule'](_0x39eb30,_0x3108db,{'index':0x0,'period':_0x58de70,'subscriber':_0x4fd5dc});});}function _0x39eb30(_0x20d7d0){var _0x4fd5dc=_0x20d7d0[_0x1a4e('0xbd')],_0x2563d4=_0x20d7d0[_0x1a4e('0x14cc')],_0x3108db=_0x20d7d0[_0x1a4e('0x1495')];if(_0x3108db['next'](_0x4fd5dc),!_0x3108db[_0x1a4e('0x62')]){if(-0x1===_0x2563d4)return _0x3108db[_0x1a4e('0x137f')]();_0x20d7d0[_0x1a4e('0xbd')]=_0x4fd5dc+0x1,this[_0x1a4e('0x148f')](_0x20d7d0,_0x2563d4);}}},'./node_modules/rxjs/_esm5/internal/observable/using.js':function(_0x1c7459,_0x49a651,_0x418b8a){'use strict';_0x418b8a['r'](_0x49a651),_0x418b8a['d'](_0x49a651,_0x1a4e('0x1453'),function(){return _0x31388c;});var _0x33a8bf=_0x418b8a(_0x1a4e('0x1403')),_0x2fd3dc=_0x418b8a(_0x1a4e('0x143d')),_0x394b24=_0x418b8a(_0x1a4e('0x143a'));function _0x31388c(_0x1c7459,_0x49a651){return new _0x33a8bf[(_0x1a4e('0x1404'))](function(_0x418b8a){var _0x33a8bf,_0x31388c;try{_0x33a8bf=_0x1c7459();}catch(_0x371eb1){return void _0x418b8a['error'](_0x371eb1);}try{_0x31388c=_0x49a651(_0x33a8bf);}catch(_0x158c7b){return void _0x418b8a[_0x1a4e('0x873')](_0x158c7b);}var _0x4c66b2=(_0x31388c?Object(_0x2fd3dc[_0x1a4e('0x1b5')])(_0x31388c):_0x394b24[_0x1a4e('0x2b0')])['subscribe'](_0x418b8a);return function(){_0x4c66b2[_0x1a4e('0x1467')](),_0x33a8bf&&_0x33a8bf[_0x1a4e('0x1467')]();};});}},'./node_modules/rxjs/_esm5/internal/observable/zip.js':function(_0x361474,_0x24cc7a,_0x3fa670){'use strict';_0x3fa670['r'](_0x24cc7a),_0x3fa670['d'](_0x24cc7a,'zip',function(){return _0x3d809c;}),_0x3fa670['d'](_0x24cc7a,'ZipOperator',function(){return _0x4b4015;}),_0x3fa670['d'](_0x24cc7a,_0x1a4e('0x14d9'),function(){return _0x11fdb5;});var _0x56b585=_0x3fa670(_0x1a4e('0x1278')),_0x17a99c=_0x3fa670(_0x1a4e('0x14ba')),_0x1e6d5c=_0x3fa670(_0x1a4e('0x14b2')),_0x1d701e=_0x3fa670('./node_modules/rxjs/_esm5/internal/Subscriber.js'),_0xb27ca7=_0x3fa670('./node_modules/rxjs/_esm5/internal/OuterSubscriber.js'),_0x22d8b2=_0x3fa670('./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js'),_0x42467c=_0x3fa670('./node_modules/rxjs/_esm5/internal/symbol/iterator.js');function _0x3d809c(){for(var _0x361474=[],_0x24cc7a=0x0;_0x24cc7athis['index'];},_0x361474[_0x1a4e('0xa')]['hasCompleted']=function(){return this[_0x1a4e('0xf12')][_0x1a4e('0x1e')]===this[_0x1a4e('0xbd')];},_0x361474;}(),_0x2fde52=function(_0x361474){function _0x24cc7a(_0x24cc7a,_0x3fa670,_0x56b585){var _0x17a99c=_0x361474[_0x1a4e('0x1')](this,_0x24cc7a)||this;return _0x17a99c[_0x1a4e('0x11c')]=_0x3fa670,_0x17a99c[_0x1a4e('0x140a')]=_0x56b585,_0x17a99c[_0x1a4e('0x14db')]=!0x0,_0x17a99c[_0x1a4e('0x613')]=[],_0x17a99c[_0x1a4e('0x14e0')]=!0x1,_0x17a99c;}return _0x56b585[_0x1a4e('0x145b')](_0x24cc7a,_0x361474),_0x24cc7a[_0x1a4e('0xa')][_0x42467c[_0x1a4e('0x335')]]=function(){return this;},_0x24cc7a[_0x1a4e('0xa')]['next']=function(){var _0x361474=this['buffer'];return 0x0===_0x361474[_0x1a4e('0x1e')]&&this[_0x1a4e('0x14e0')]?{'value':null,'done':!0x0}:{'value':_0x361474['shift'](),'done':!0x1};},_0x24cc7a[_0x1a4e('0xa')][_0x1a4e('0x14dd')]=function(){return this[_0x1a4e('0x613')][_0x1a4e('0x1e')]>0x0;},_0x24cc7a[_0x1a4e('0xa')]['hasCompleted']=function(){return 0x0===this['buffer']['length']&&this[_0x1a4e('0x14e0')];},_0x24cc7a['prototype'][_0x1a4e('0x1469')]=function(){this[_0x1a4e('0x613')]['length']>0x0?(this['isComplete']=!0x0,this[_0x1a4e('0x11c')][_0x1a4e('0x14e1')]()):this[_0x1a4e('0x7c8')][_0x1a4e('0x137f')]();},_0x24cc7a[_0x1a4e('0xa')][_0x1a4e('0x1464')]=function(_0x361474,_0x24cc7a,_0x3fa670,_0x56b585,_0x17a99c){this[_0x1a4e('0x613')][_0x1a4e('0x46')](_0x24cc7a),this[_0x1a4e('0x11c')][_0x1a4e('0x14dc')]();},_0x24cc7a[_0x1a4e('0xa')][_0x1a4e('0x1475')]=function(_0x361474,_0x24cc7a){return Object(_0x22d8b2['subscribeToResult'])(this,this['observable'],this,_0x24cc7a);},_0x24cc7a;}(_0xb27ca7[_0x1a4e('0x1480')]);},'./node_modules/rxjs/_esm5/internal/operators/concatAll.js':function(_0x56b37d,_0x5373fb,_0x21177f){'use strict';_0x21177f['r'](_0x5373fb),_0x21177f['d'](_0x5373fb,_0x1a4e('0x14c1'),function(){return _0x2e329f;});var _0x4746be=_0x21177f(_0x1a4e('0x14cd'));function _0x2e329f(){return Object(_0x4746be[_0x1a4e('0x14ce')])(0x1);}},'./node_modules/rxjs/_esm5/internal/operators/filter.js':function(_0x19446c,_0x5d0f5a,_0x157a6f){'use strict';_0x157a6f['r'](_0x5d0f5a),_0x157a6f['d'](_0x5d0f5a,_0x1a4e('0xd9'),function(){return _0x2cdee3;});var _0x116865=_0x157a6f(_0x1a4e('0x1278')),_0x5cf820=_0x157a6f(_0x1a4e('0x1420'));function _0x2cdee3(_0x19446c,_0x5d0f5a){return function(_0x157a6f){return _0x157a6f[_0x1a4e('0x1473')](new _0x3040ab(_0x19446c,_0x5d0f5a));};}var _0x3040ab=function(){function _0x19446c(_0x19446c,_0x5d0f5a){this['predicate']=_0x19446c,this[_0x1a4e('0x102e')]=_0x5d0f5a;}return _0x19446c[_0x1a4e('0xa')]['call']=function(_0x19446c,_0x5d0f5a){return _0x5d0f5a['subscribe'](new _0x509008(_0x19446c,this[_0x1a4e('0x14e2')],this['thisArg']));},_0x19446c;}(),_0x509008=function(_0x19446c){function _0x5d0f5a(_0x5d0f5a,_0x157a6f,_0x116865){var _0x5cf820=_0x19446c[_0x1a4e('0x1')](this,_0x5d0f5a)||this;return _0x5cf820[_0x1a4e('0x14e2')]=_0x157a6f,_0x5cf820[_0x1a4e('0x102e')]=_0x116865,_0x5cf820[_0x1a4e('0x389')]=0x0,_0x5cf820;}return _0x116865[_0x1a4e('0x145b')](_0x5d0f5a,_0x19446c),_0x5d0f5a[_0x1a4e('0xa')][_0x1a4e('0x477')]=function(_0x19446c){var _0x5d0f5a;try{_0x5d0f5a=this['predicate']['call'](this[_0x1a4e('0x102e')],_0x19446c,this[_0x1a4e('0x389')]++);}catch(_0x3546c1){return void this['destination'][_0x1a4e('0x873')](_0x3546c1);}_0x5d0f5a&&this['destination'][_0x1a4e('0x7e')](_0x19446c);},_0x5d0f5a;}(_0x5cf820[_0x1a4e('0x1421')]);},'./node_modules/rxjs/_esm5/internal/operators/groupBy.js':function(_0x4ea6f3,_0x129c40,_0x5d2e60){'use strict';_0x5d2e60['r'](_0x129c40),_0x5d2e60['d'](_0x129c40,_0x1a4e('0x1058'),function(){return _0x426987;}),_0x5d2e60['d'](_0x129c40,_0x1a4e('0x1408'),function(){return _0x379fae;});var _0x27fe6a=_0x5d2e60(_0x1a4e('0x1278')),_0x5a007e=_0x5d2e60(_0x1a4e('0x1420')),_0x76aacc=_0x5d2e60(_0x1a4e('0x141e')),_0x55dac5=_0x5d2e60('./node_modules/rxjs/_esm5/internal/Observable.js'),_0x149417=_0x5d2e60(_0x1a4e('0x140b'));function _0x426987(_0x4ea6f3,_0x129c40,_0x5d2e60,_0x27fe6a){return function(_0x5a007e){return _0x5a007e[_0x1a4e('0x1473')](new _0xfcedea(_0x4ea6f3,_0x129c40,_0x5d2e60,_0x27fe6a));};}var _0xfcedea=function(){function _0x4ea6f3(_0x4ea6f3,_0x129c40,_0x5d2e60,_0x27fe6a){this[_0x1a4e('0x14e3')]=_0x4ea6f3,this[_0x1a4e('0x14e4')]=_0x129c40,this[_0x1a4e('0x14e5')]=_0x5d2e60,this['subjectSelector']=_0x27fe6a;}return _0x4ea6f3['prototype']['call']=function(_0x4ea6f3,_0x129c40){return _0x129c40[_0x1a4e('0x1475')](new _0x486728(_0x4ea6f3,this['keySelector'],this[_0x1a4e('0x14e4')],this[_0x1a4e('0x14e5')],this[_0x1a4e('0x14e6')]));},_0x4ea6f3;}(),_0x486728=function(_0x4ea6f3){function _0x129c40(_0x129c40,_0x5d2e60,_0x27fe6a,_0x5a007e,_0x76aacc){var _0x55dac5=_0x4ea6f3[_0x1a4e('0x1')](this,_0x129c40)||this;return _0x55dac5['keySelector']=_0x5d2e60,_0x55dac5[_0x1a4e('0x14e4')]=_0x27fe6a,_0x55dac5[_0x1a4e('0x14e5')]=_0x5a007e,_0x55dac5['subjectSelector']=_0x76aacc,_0x55dac5[_0x1a4e('0x14e7')]=null,_0x55dac5[_0x1a4e('0x14e8')]=!0x1,_0x55dac5[_0x1a4e('0x389')]=0x0,_0x55dac5;}return _0x27fe6a[_0x1a4e('0x145b')](_0x129c40,_0x4ea6f3),_0x129c40[_0x1a4e('0xa')][_0x1a4e('0x477')]=function(_0x4ea6f3){var _0x129c40;try{_0x129c40=this['keySelector'](_0x4ea6f3);}catch(_0x17ffbb){return void this[_0x1a4e('0x873')](_0x17ffbb);}this['_group'](_0x4ea6f3,_0x129c40);},_0x129c40[_0x1a4e('0xa')][_0x1a4e('0x14e9')]=function(_0x4ea6f3,_0x129c40){var _0x5d2e60=this[_0x1a4e('0x14e7')];_0x5d2e60||(_0x5d2e60=this['groups']=new Map());var _0x27fe6a,_0x5a007e=_0x5d2e60[_0x1a4e('0x179')](_0x129c40);if(this[_0x1a4e('0x14e4')])try{_0x27fe6a=this[_0x1a4e('0x14e4')](_0x4ea6f3);}catch(_0x144a16){this[_0x1a4e('0x873')](_0x144a16);}else _0x27fe6a=_0x4ea6f3;if(!_0x5a007e){_0x5a007e=this[_0x1a4e('0x14e6')]?this[_0x1a4e('0x14e6')]():new _0x149417['Subject'](),_0x5d2e60['set'](_0x129c40,_0x5a007e);var _0x76aacc=new _0x379fae(_0x129c40,_0x5a007e,this);if(this[_0x1a4e('0x7c8')][_0x1a4e('0x7e')](_0x76aacc),this[_0x1a4e('0x14e5')]){var _0x55dac5=void 0x0;try{_0x55dac5=this['durationSelector'](new _0x379fae(_0x129c40,_0x5a007e));}catch(_0x14d82e){return void this[_0x1a4e('0x873')](_0x14d82e);}this['add'](_0x55dac5[_0x1a4e('0x1475')](new _0x3d8a24(_0x129c40,_0x5a007e,this)));}}_0x5a007e[_0x1a4e('0x62')]||_0x5a007e[_0x1a4e('0x7e')](_0x27fe6a);},_0x129c40['prototype'][_0x1a4e('0x1465')]=function(_0x4ea6f3){var _0x129c40=this[_0x1a4e('0x14e7')];_0x129c40&&(_0x129c40[_0x1a4e('0x3b')](function(_0x129c40,_0x5d2e60){_0x129c40[_0x1a4e('0x873')](_0x4ea6f3);}),_0x129c40[_0x1a4e('0xb5')]()),this[_0x1a4e('0x7c8')][_0x1a4e('0x873')](_0x4ea6f3);},_0x129c40['prototype']['_complete']=function(){var _0x4ea6f3=this[_0x1a4e('0x14e7')];_0x4ea6f3&&(_0x4ea6f3['forEach'](function(_0x4ea6f3,_0x129c40){_0x4ea6f3[_0x1a4e('0x137f')]();}),_0x4ea6f3[_0x1a4e('0xb5')]()),this[_0x1a4e('0x7c8')]['complete']();},_0x129c40['prototype']['removeGroup']=function(_0x4ea6f3){this[_0x1a4e('0x14e7')][_0x1a4e('0xf4c')](_0x4ea6f3);},_0x129c40[_0x1a4e('0xa')]['unsubscribe']=function(){this['closed']||(this['attemptedToUnsubscribe']=!0x0,0x0===this[_0x1a4e('0x389')]&&_0x4ea6f3[_0x1a4e('0xa')]['unsubscribe'][_0x1a4e('0x1')](this));},_0x129c40;}(_0x5a007e['Subscriber']),_0x3d8a24=function(_0x4ea6f3){function _0x129c40(_0x129c40,_0x5d2e60,_0x27fe6a){var _0x5a007e=_0x4ea6f3[_0x1a4e('0x1')](this,_0x5d2e60)||this;return _0x5a007e[_0x1a4e('0x35f')]=_0x129c40,_0x5a007e[_0x1a4e('0x14ea')]=_0x5d2e60,_0x5a007e[_0x1a4e('0x11c')]=_0x27fe6a,_0x5a007e;}return _0x27fe6a[_0x1a4e('0x145b')](_0x129c40,_0x4ea6f3),_0x129c40[_0x1a4e('0xa')]['_next']=function(_0x4ea6f3){this['complete']();},_0x129c40['prototype']['_unsubscribe']=function(){var _0x4ea6f3=this[_0x1a4e('0x11c')],_0x129c40=this[_0x1a4e('0x35f')];this['key']=this[_0x1a4e('0x11c')]=null,_0x4ea6f3&&_0x4ea6f3[_0x1a4e('0x14eb')](_0x129c40);},_0x129c40;}(_0x5a007e[_0x1a4e('0x1421')]),_0x379fae=function(_0x4ea6f3){function _0x129c40(_0x129c40,_0x5d2e60,_0x27fe6a){var _0x5a007e=_0x4ea6f3[_0x1a4e('0x1')](this)||this;return _0x5a007e[_0x1a4e('0x35f')]=_0x129c40,_0x5a007e[_0x1a4e('0x14ec')]=_0x5d2e60,_0x5a007e[_0x1a4e('0x14ed')]=_0x27fe6a,_0x5a007e;}return _0x27fe6a['__extends'](_0x129c40,_0x4ea6f3),_0x129c40[_0x1a4e('0xa')][_0x1a4e('0x145c')]=function(_0x4ea6f3){var _0x129c40=new _0x76aacc[(_0x1a4e('0x141f'))](),_0x5d2e60=this[_0x1a4e('0x14ed')],_0x27fe6a=this[_0x1a4e('0x14ec')];return _0x5d2e60&&!_0x5d2e60['closed']&&_0x129c40['add'](new _0x370104(_0x5d2e60)),_0x129c40[_0x1a4e('0x177')](_0x27fe6a[_0x1a4e('0x1475')](_0x4ea6f3)),_0x129c40;},_0x129c40;}(_0x55dac5[_0x1a4e('0x1404')]),_0x370104=function(_0x4ea6f3){function _0x129c40(_0x129c40){var _0x5d2e60=_0x4ea6f3['call'](this)||this;return _0x5d2e60[_0x1a4e('0x11c')]=_0x129c40,_0x129c40['count']++,_0x5d2e60;}return _0x27fe6a[_0x1a4e('0x145b')](_0x129c40,_0x4ea6f3),_0x129c40[_0x1a4e('0xa')]['unsubscribe']=function(){var _0x129c40=this['parent'];_0x129c40[_0x1a4e('0x62')]||this[_0x1a4e('0x62')]||(_0x4ea6f3[_0x1a4e('0xa')][_0x1a4e('0x1467')][_0x1a4e('0x1')](this),_0x129c40[_0x1a4e('0x389')]-=0x1,0x0===_0x129c40[_0x1a4e('0x389')]&&_0x129c40[_0x1a4e('0x14e8')]&&_0x129c40[_0x1a4e('0x1467')]());},_0x129c40;}(_0x76aacc[_0x1a4e('0x141f')]);},'./node_modules/rxjs/_esm5/internal/operators/map.js':function(_0x2c3e3f,_0x5101da,_0x1981a5){'use strict';_0x1981a5['r'](_0x5101da),_0x1981a5['d'](_0x5101da,_0x1a4e('0x21'),function(){return _0x23bfc2;}),_0x1981a5['d'](_0x5101da,_0x1a4e('0x14ee'),function(){return _0xbe62ef;});var _0x56ec01=_0x1981a5(_0x1a4e('0x1278')),_0xf30660=_0x1981a5('./node_modules/rxjs/_esm5/internal/Subscriber.js');function _0x23bfc2(_0x2c3e3f,_0x5101da){return function(_0x1981a5){if('function'!=typeof _0x2c3e3f)throw new TypeError(_0x1a4e('0x14ef'));return _0x1981a5[_0x1a4e('0x1473')](new _0xbe62ef(_0x2c3e3f,_0x5101da));};}var _0xbe62ef=function(){function _0x2c3e3f(_0x2c3e3f,_0x5101da){this[_0x1a4e('0x500')]=_0x2c3e3f,this[_0x1a4e('0x102e')]=_0x5101da;}return _0x2c3e3f[_0x1a4e('0xa')]['call']=function(_0x2c3e3f,_0x5101da){return _0x5101da[_0x1a4e('0x1475')](new _0x356497(_0x2c3e3f,this['project'],this[_0x1a4e('0x102e')]));},_0x2c3e3f;}(),_0x356497=function(_0x2c3e3f){function _0x5101da(_0x5101da,_0x1981a5,_0x56ec01){var _0xf30660=_0x2c3e3f[_0x1a4e('0x1')](this,_0x5101da)||this;return _0xf30660[_0x1a4e('0x500')]=_0x1981a5,_0xf30660[_0x1a4e('0x389')]=0x0,_0xf30660[_0x1a4e('0x102e')]=_0x56ec01||_0xf30660,_0xf30660;}return _0x56ec01['__extends'](_0x5101da,_0x2c3e3f),_0x5101da[_0x1a4e('0xa')][_0x1a4e('0x477')]=function(_0x2c3e3f){var _0x5101da;try{_0x5101da=this[_0x1a4e('0x500')][_0x1a4e('0x1')](this[_0x1a4e('0x102e')],_0x2c3e3f,this[_0x1a4e('0x389')]++);}catch(_0x5a1588){return void this[_0x1a4e('0x7c8')]['error'](_0x5a1588);}this[_0x1a4e('0x7c8')][_0x1a4e('0x7e')](_0x5101da);},_0x5101da;}(_0xf30660[_0x1a4e('0x1421')]);},'./node_modules/rxjs/_esm5/internal/operators/mergeAll.js':function(_0x363897,_0x33dc28,_0x2265d3){'use strict';_0x2265d3['r'](_0x33dc28),_0x2265d3['d'](_0x33dc28,_0x1a4e('0x14ce'),function(){return _0x5c8665;});var _0x5db204=_0x2265d3(_0x1a4e('0x14f0')),_0x271ce6=_0x2265d3(_0x1a4e('0x1427'));function _0x5c8665(_0x363897){return void 0x0===_0x363897&&(_0x363897=Number[_0x1a4e('0x4d5')]),Object(_0x5db204[_0x1a4e('0x14f1')])(_0x271ce6[_0x1a4e('0x10a5')],_0x363897);}},'./node_modules/rxjs/_esm5/internal/operators/mergeMap.js':function(_0x2fe38b,_0x5a19e5,_0x4b57c2){'use strict';_0x4b57c2['r'](_0x5a19e5),_0x4b57c2['d'](_0x5a19e5,_0x1a4e('0x14f1'),function(){return _0x5e7a6e;}),_0x4b57c2['d'](_0x5a19e5,_0x1a4e('0x14f2'),function(){return _0x4a0e90;}),_0x4b57c2['d'](_0x5a19e5,_0x1a4e('0x14f3'),function(){return _0x3fc266;});var _0x571dae=_0x4b57c2('./node_modules/tslib/tslib.es6.js'),_0x2e886f=_0x4b57c2(_0x1a4e('0x14b9')),_0x5d2193=_0x4b57c2(_0x1a4e('0x14d6')),_0xe076ef=_0x4b57c2('./node_modules/rxjs/_esm5/internal/InnerSubscriber.js'),_0x3b272a=_0x4b57c2(_0x1a4e('0x14b1')),_0x3fdae4=_0x4b57c2(_0x1a4e('0x143d'));function _0x5e7a6e(_0x2fe38b,_0x5a19e5,_0x4b57c2){return void 0x0===_0x4b57c2&&(_0x4b57c2=Number['POSITIVE_INFINITY']),_0x1a4e('0x68')==typeof _0x5a19e5?function(_0x571dae){return _0x571dae[_0x1a4e('0x13be')](_0x5e7a6e(function(_0x4b57c2,_0x571dae){return Object(_0x3fdae4['from'])(_0x2fe38b(_0x4b57c2,_0x571dae))[_0x1a4e('0x13be')](Object(_0x3b272a['map'])(function(_0x2fe38b,_0x2e886f){return _0x5a19e5(_0x4b57c2,_0x2fe38b,_0x571dae,_0x2e886f);}));},_0x4b57c2));}:(_0x1a4e('0x3d')==typeof _0x5a19e5&&(_0x4b57c2=_0x5a19e5),function(_0x5a19e5){return _0x5a19e5[_0x1a4e('0x1473')](new _0x4a0e90(_0x2fe38b,_0x4b57c2));});}var _0x4a0e90=function(){function _0x2fe38b(_0x2fe38b,_0x5a19e5){void 0x0===_0x5a19e5&&(_0x5a19e5=Number[_0x1a4e('0x4d5')]),this[_0x1a4e('0x500')]=_0x2fe38b,this[_0x1a4e('0x14f4')]=_0x5a19e5;}return _0x2fe38b[_0x1a4e('0xa')][_0x1a4e('0x1')]=function(_0x2fe38b,_0x5a19e5){return _0x5a19e5[_0x1a4e('0x1475')](new _0x3fc266(_0x2fe38b,this[_0x1a4e('0x500')],this['concurrent']));},_0x2fe38b;}(),_0x3fc266=function(_0x2fe38b){function _0x5a19e5(_0x5a19e5,_0x4b57c2,_0x571dae){void 0x0===_0x571dae&&(_0x571dae=Number[_0x1a4e('0x4d5')]);var _0x2e886f=_0x2fe38b['call'](this,_0x5a19e5)||this;return _0x2e886f[_0x1a4e('0x500')]=_0x4b57c2,_0x2e886f['concurrent']=_0x571dae,_0x2e886f[_0x1a4e('0x145a')]=!0x1,_0x2e886f[_0x1a4e('0x613')]=[],_0x2e886f[_0x1a4e('0x1304')]=0x0,_0x2e886f['index']=0x0,_0x2e886f;}return _0x571dae[_0x1a4e('0x145b')](_0x5a19e5,_0x2fe38b),_0x5a19e5['prototype'][_0x1a4e('0x477')]=function(_0x2fe38b){this[_0x1a4e('0x1304')]0x0?this[_0x1a4e('0x477')](_0x5a19e5[_0x1a4e('0x7d')]()):0x0===this['active']&&this[_0x1a4e('0x145a')]&&this[_0x1a4e('0x7c8')][_0x1a4e('0x137f')]();},_0x5a19e5;}(_0x5d2193['OuterSubscriber']);},'./node_modules/rxjs/_esm5/internal/operators/observeOn.js':function(_0x399eae,_0x2458ba,_0x3d41e3){'use strict';_0x3d41e3['r'](_0x2458ba),_0x3d41e3['d'](_0x2458ba,_0x1a4e('0x14f7'),function(){return _0x4e23bc;}),_0x3d41e3['d'](_0x2458ba,'ObserveOnOperator',function(){return _0x3dc2a5;}),_0x3d41e3['d'](_0x2458ba,_0x1a4e('0x148c'),function(){return _0x27b442;}),_0x3d41e3['d'](_0x2458ba,'ObserveOnMessage',function(){return _0x3cd4ef;});var _0x59eb3e=_0x3d41e3(_0x1a4e('0x1278')),_0x4fdf73=_0x3d41e3(_0x1a4e('0x1420')),_0x5f0655=_0x3d41e3(_0x1a4e('0x1422'));function _0x4e23bc(_0x399eae,_0x2458ba){return void 0x0===_0x2458ba&&(_0x2458ba=0x0),function(_0x3d41e3){return _0x3d41e3[_0x1a4e('0x1473')](new _0x3dc2a5(_0x399eae,_0x2458ba));};}var _0x3dc2a5=function(){function _0x399eae(_0x399eae,_0x2458ba){void 0x0===_0x2458ba&&(_0x2458ba=0x0),this[_0x1a4e('0x1483')]=_0x399eae,this[_0x1a4e('0x183')]=_0x2458ba;}return _0x399eae[_0x1a4e('0xa')]['call']=function(_0x399eae,_0x2458ba){return _0x2458ba['subscribe'](new _0x27b442(_0x399eae,this[_0x1a4e('0x1483')],this[_0x1a4e('0x183')]));},_0x399eae;}(),_0x27b442=function(_0x399eae){function _0x2458ba(_0x2458ba,_0x3d41e3,_0x59eb3e){void 0x0===_0x59eb3e&&(_0x59eb3e=0x0);var _0x4fdf73=_0x399eae[_0x1a4e('0x1')](this,_0x2458ba)||this;return _0x4fdf73[_0x1a4e('0x1483')]=_0x3d41e3,_0x4fdf73[_0x1a4e('0x183')]=_0x59eb3e,_0x4fdf73;}return _0x59eb3e[_0x1a4e('0x145b')](_0x2458ba,_0x399eae),_0x2458ba['dispatch']=function(_0x399eae){var _0x2458ba=_0x399eae[_0x1a4e('0x14f8')],_0x3d41e3=_0x399eae[_0x1a4e('0x7c8')];_0x2458ba[_0x1a4e('0x131d')](_0x3d41e3),this[_0x1a4e('0x1467')]();},_0x2458ba[_0x1a4e('0xa')][_0x1a4e('0x14f9')]=function(_0x399eae){this[_0x1a4e('0x7c8')][_0x1a4e('0x177')](this[_0x1a4e('0x1483')][_0x1a4e('0x148f')](_0x2458ba['dispatch'],this[_0x1a4e('0x183')],new _0x3cd4ef(_0x399eae,this[_0x1a4e('0x7c8')])));},_0x2458ba[_0x1a4e('0xa')][_0x1a4e('0x477')]=function(_0x399eae){this['scheduleMessage'](_0x5f0655[_0x1a4e('0x1423')]['createNext'](_0x399eae));},_0x2458ba[_0x1a4e('0xa')]['_error']=function(_0x399eae){this[_0x1a4e('0x14f9')](_0x5f0655[_0x1a4e('0x1423')]['createError'](_0x399eae)),this[_0x1a4e('0x1467')]();},_0x2458ba['prototype'][_0x1a4e('0x1468')]=function(){this['scheduleMessage'](_0x5f0655[_0x1a4e('0x1423')][_0x1a4e('0x14fa')]()),this['unsubscribe']();},_0x2458ba;}(_0x4fdf73[_0x1a4e('0x1421')]),_0x3cd4ef=function(){return function(_0x399eae,_0x2458ba){this[_0x1a4e('0x14f8')]=_0x399eae,this[_0x1a4e('0x7c8')]=_0x2458ba;};}();},'./node_modules/rxjs/_esm5/internal/operators/refCount.js':function(_0x95651f,_0x347a4b,_0x253d66){'use strict';_0x253d66['r'](_0x347a4b),_0x253d66['d'](_0x347a4b,_0x1a4e('0x14ac'),function(){return _0x143d8a;});var _0x53622e=_0x253d66(_0x1a4e('0x1278')),_0x47090d=_0x253d66('./node_modules/rxjs/_esm5/internal/Subscriber.js');function _0x143d8a(){return function(_0x95651f){return _0x95651f[_0x1a4e('0x1473')](new _0x923197(_0x95651f));};}var _0x923197=function(){function _0x95651f(_0x95651f){this[_0x1a4e('0x14ae')]=_0x95651f;}return _0x95651f[_0x1a4e('0xa')]['call']=function(_0x95651f,_0x347a4b){var _0x253d66=this[_0x1a4e('0x14ae')];_0x253d66[_0x1a4e('0x14a7')]++;var _0x53622e=new _0x2bad7a(_0x95651f,_0x253d66),_0x47090d=_0x347a4b[_0x1a4e('0x1475')](_0x53622e);return _0x53622e[_0x1a4e('0x62')]||(_0x53622e[_0x1a4e('0x12e6')]=_0x253d66['connect']()),_0x47090d;},_0x95651f;}(),_0x2bad7a=function(_0x95651f){function _0x347a4b(_0x347a4b,_0x253d66){var _0x53622e=_0x95651f[_0x1a4e('0x1')](this,_0x347a4b)||this;return _0x53622e[_0x1a4e('0x14ae')]=_0x253d66,_0x53622e;}return _0x53622e[_0x1a4e('0x145b')](_0x347a4b,_0x95651f),_0x347a4b[_0x1a4e('0xa')][_0x1a4e('0x14a2')]=function(){var _0x95651f=this['connectable'];if(_0x95651f){this[_0x1a4e('0x14ae')]=null;var _0x347a4b=_0x95651f['_refCount'];if(_0x347a4b<=0x0)this[_0x1a4e('0x12e6')]=null;else if(_0x95651f[_0x1a4e('0x14a7')]=_0x347a4b-0x1,_0x347a4b>0x1)this['connection']=null;else{var _0x253d66=this[_0x1a4e('0x12e6')],_0x53622e=_0x95651f[_0x1a4e('0x14ab')];this[_0x1a4e('0x12e6')]=null,!_0x53622e||_0x253d66&&_0x53622e!==_0x253d66||_0x53622e[_0x1a4e('0x1467')]();}}else this['connection']=null;},_0x347a4b;}(_0x47090d['Subscriber']);},'./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js':function(_0x1f7fd6,_0x1ad56e,_0x42ae4a){'use strict';_0x42ae4a['r'](_0x1ad56e),_0x42ae4a['d'](_0x1ad56e,'scheduleArray',function(){return _0x5416da;});var _0x344a18=_0x42ae4a(_0x1a4e('0x1403')),_0x31206e=_0x42ae4a('./node_modules/rxjs/_esm5/internal/Subscription.js');function _0x5416da(_0x1f7fd6,_0x1ad56e){return new _0x344a18['Observable'](function(_0x42ae4a){var _0x344a18=new _0x31206e[(_0x1a4e('0x141f'))](),_0x5416da=0x0;return _0x344a18['add'](_0x1ad56e['schedule'](function(){_0x5416da!==_0x1f7fd6['length']?(_0x42ae4a[_0x1a4e('0x7e')](_0x1f7fd6[_0x5416da++]),_0x42ae4a[_0x1a4e('0x62')]||_0x344a18[_0x1a4e('0x177')](this[_0x1a4e('0x148f')]())):_0x42ae4a[_0x1a4e('0x137f')]();})),_0x344a18;});}},'./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js':function(_0xdd5367,_0x40048e,_0x235ce8){'use strict';_0x235ce8['r'](_0x40048e),_0x235ce8['d'](_0x40048e,_0x1a4e('0x14fb'),function(){return _0x4abda3;});var _0x392b43=_0x235ce8(_0x1a4e('0x1403')),_0x444bcf=_0x235ce8(_0x1a4e('0x141e')),_0x568d35=_0x235ce8(_0x1a4e('0x14fc'));function _0x4abda3(_0xdd5367,_0x40048e){if(!_0xdd5367)throw new Error(_0x1a4e('0x14fd'));return new _0x392b43[(_0x1a4e('0x1404'))](function(_0x235ce8){var _0x392b43,_0x4abda3=new _0x444bcf[(_0x1a4e('0x141f'))]();return _0x4abda3[_0x1a4e('0x177')](function(){_0x392b43&&_0x1a4e('0x68')==typeof _0x392b43[_0x1a4e('0xe40')]&&_0x392b43[_0x1a4e('0xe40')]();}),_0x4abda3[_0x1a4e('0x177')](_0x40048e['schedule'](function(){_0x392b43=_0xdd5367[_0x568d35[_0x1a4e('0x335')]](),_0x4abda3[_0x1a4e('0x177')](_0x40048e[_0x1a4e('0x148f')](function(){if(!_0x235ce8[_0x1a4e('0x62')]){var _0xdd5367,_0x40048e;try{var _0x444bcf=_0x392b43['next']();_0xdd5367=_0x444bcf['value'],_0x40048e=_0x444bcf['done'];}catch(_0x2344ac){return void _0x235ce8['error'](_0x2344ac);}_0x40048e?_0x235ce8[_0x1a4e('0x137f')]():(_0x235ce8[_0x1a4e('0x7e')](_0xdd5367),this['schedule']());}}));})),_0x4abda3;});}},'./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js':function(_0x3e2e63,_0x109d15,_0x125b11){'use strict';_0x125b11['r'](_0x109d15),_0x125b11['d'](_0x109d15,_0x1a4e('0x14fe'),function(){return _0x1a1dce;});var _0x3e8980=_0x125b11(_0x1a4e('0x1403')),_0xa7d343=_0x125b11('./node_modules/rxjs/_esm5/internal/Subscription.js'),_0x1764e8=_0x125b11(_0x1a4e('0x1409'));function _0x1a1dce(_0x3e2e63,_0x109d15){return new _0x3e8980[(_0x1a4e('0x1404'))](function(_0x125b11){var _0x3e8980=new _0xa7d343[(_0x1a4e('0x141f'))]();return _0x3e8980[_0x1a4e('0x177')](_0x109d15[_0x1a4e('0x148f')](function(){var _0xa7d343=_0x3e2e63[_0x1764e8[_0x1a4e('0x140a')]]();_0x3e8980[_0x1a4e('0x177')](_0xa7d343[_0x1a4e('0x1475')]({'next':function(_0x3e2e63){_0x3e8980[_0x1a4e('0x177')](_0x109d15[_0x1a4e('0x148f')](function(){return _0x125b11[_0x1a4e('0x7e')](_0x3e2e63);}));},'error':function(_0x3e2e63){_0x3e8980[_0x1a4e('0x177')](_0x109d15[_0x1a4e('0x148f')](function(){return _0x125b11[_0x1a4e('0x873')](_0x3e2e63);}));},'complete':function(){_0x3e8980['add'](_0x109d15['schedule'](function(){return _0x125b11[_0x1a4e('0x137f')]();}));}}));})),_0x3e8980;});}},'./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js':function(_0x452640,_0x4d0bba,_0x46d7ba){'use strict';_0x46d7ba['r'](_0x4d0bba),_0x46d7ba['d'](_0x4d0bba,_0x1a4e('0x14ff'),function(){return _0x3ee8e4;});var _0xafa544=_0x46d7ba(_0x1a4e('0x1403')),_0x213fe4=_0x46d7ba(_0x1a4e('0x141e'));function _0x3ee8e4(_0x452640,_0x4d0bba){return new _0xafa544[(_0x1a4e('0x1404'))](function(_0x46d7ba){var _0xafa544=new _0x213fe4[(_0x1a4e('0x141f'))]();return _0xafa544[_0x1a4e('0x177')](_0x4d0bba[_0x1a4e('0x148f')](function(){return _0x452640[_0x1a4e('0xdf8')](function(_0x452640){_0xafa544[_0x1a4e('0x177')](_0x4d0bba[_0x1a4e('0x148f')](function(){_0x46d7ba[_0x1a4e('0x7e')](_0x452640),_0xafa544[_0x1a4e('0x177')](_0x4d0bba['schedule'](function(){return _0x46d7ba['complete']();}));}));},function(_0x452640){_0xafa544[_0x1a4e('0x177')](_0x4d0bba[_0x1a4e('0x148f')](function(){return _0x46d7ba[_0x1a4e('0x873')](_0x452640);}));});})),_0xafa544;});}},'./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js':function(_0x46f4a3,_0x485fbd,_0x569119){'use strict';_0x569119['r'](_0x485fbd),_0x569119['d'](_0x485fbd,_0x1a4e('0x1456'),function(){return _0x48636b;});var _0x451aa7=_0x569119(_0x1a4e('0x1500')),_0x51e796=_0x569119(_0x1a4e('0x1501')),_0x18ab57=_0x569119(_0x1a4e('0x14c4')),_0x5e9b66=_0x569119('./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js'),_0x199348=_0x569119(_0x1a4e('0x1502')),_0x4c0d1c=_0x569119(_0x1a4e('0x1503')),_0xf17495=_0x569119(_0x1a4e('0x1504')),_0x295188=_0x569119(_0x1a4e('0x1505'));function _0x48636b(_0x46f4a3,_0x485fbd){if(null!=_0x46f4a3){if(Object(_0x199348[_0x1a4e('0x1506')])(_0x46f4a3))return Object(_0x451aa7['scheduleObservable'])(_0x46f4a3,_0x485fbd);if(Object(_0x4c0d1c['isPromise'])(_0x46f4a3))return Object(_0x51e796[_0x1a4e('0x14ff')])(_0x46f4a3,_0x485fbd);if(Object(_0xf17495[_0x1a4e('0x1507')])(_0x46f4a3))return Object(_0x18ab57[_0x1a4e('0x14cf')])(_0x46f4a3,_0x485fbd);if(Object(_0x295188['isIterable'])(_0x46f4a3)||_0x1a4e('0x9')==typeof _0x46f4a3)return Object(_0x5e9b66['scheduleIterable'])(_0x46f4a3,_0x485fbd);}throw new TypeError((null!==_0x46f4a3&&typeof _0x46f4a3||_0x46f4a3)+'\x20is\x20not\x20observable');}},'./node_modules/rxjs/_esm5/internal/scheduler/Action.js':function(_0x18c566,_0x53d7c4,_0x286285){'use strict';_0x286285['r'](_0x53d7c4),_0x286285['d'](_0x53d7c4,_0x1a4e('0x1508'),function(){return _0x4c82d6;});var _0xfe7208=_0x286285('./node_modules/tslib/tslib.es6.js'),_0x4c82d6=function(_0x18c566){function _0x53d7c4(_0x53d7c4,_0x286285){return _0x18c566[_0x1a4e('0x1')](this)||this;}return _0xfe7208[_0x1a4e('0x145b')](_0x53d7c4,_0x18c566),_0x53d7c4[_0x1a4e('0xa')][_0x1a4e('0x148f')]=function(_0x18c566,_0x53d7c4){return void 0x0===_0x53d7c4&&(_0x53d7c4=0x0),this;},_0x53d7c4;}(_0x286285('./node_modules/rxjs/_esm5/internal/Subscription.js')[_0x1a4e('0x141f')]);},'./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameAction.js':function(_0x5b1a86,_0x5a71fe,_0x5c13d4){'use strict';_0x5c13d4['r'](_0x5a71fe),_0x5c13d4['d'](_0x5a71fe,_0x1a4e('0x1509'),function(){return _0x165203;});var _0x14d543=_0x5c13d4(_0x1a4e('0x1278')),_0x165203=function(_0x5b1a86){function _0x5a71fe(_0x5a71fe,_0x5c13d4){var _0x14d543=_0x5b1a86[_0x1a4e('0x1')](this,_0x5a71fe,_0x5c13d4)||this;return _0x14d543['scheduler']=_0x5a71fe,_0x14d543[_0x1a4e('0x150a')]=_0x5c13d4,_0x14d543;}return _0x14d543['__extends'](_0x5a71fe,_0x5b1a86),_0x5a71fe[_0x1a4e('0xa')][_0x1a4e('0x150b')]=function(_0x5a71fe,_0x5c13d4,_0x14d543){return void 0x0===_0x14d543&&(_0x14d543=0x0),null!==_0x14d543&&_0x14d543>0x0?_0x5b1a86['prototype'][_0x1a4e('0x150b')][_0x1a4e('0x1')](this,_0x5a71fe,_0x5c13d4,_0x14d543):(_0x5a71fe[_0x1a4e('0x150c')][_0x1a4e('0x46')](this),_0x5a71fe[_0x1a4e('0x1456')]||(_0x5a71fe[_0x1a4e('0x1456')]=requestAnimationFrame(function(){return _0x5a71fe[_0x1a4e('0xa6f')](null);})));},_0x5a71fe[_0x1a4e('0xa')]['recycleAsyncId']=function(_0x5a71fe,_0x5c13d4,_0x14d543){if(void 0x0===_0x14d543&&(_0x14d543=0x0),null!==_0x14d543&&_0x14d543>0x0||null===_0x14d543&&this[_0x1a4e('0x183')]>0x0)return _0x5b1a86[_0x1a4e('0xa')]['recycleAsyncId'][_0x1a4e('0x1')](this,_0x5a71fe,_0x5c13d4,_0x14d543);0x0===_0x5a71fe[_0x1a4e('0x150c')][_0x1a4e('0x1e')]&&(cancelAnimationFrame(_0x5c13d4),_0x5a71fe[_0x1a4e('0x1456')]=void 0x0);},_0x5a71fe;}(_0x5c13d4('./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js')['AsyncAction']);},'./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameScheduler.js':function(_0x14a99c,_0x503297,_0x1d04dc){'use strict';_0x1d04dc['r'](_0x503297),_0x1d04dc['d'](_0x503297,_0x1a4e('0x150d'),function(){return _0x4c52a2;});var _0x226c81=_0x1d04dc(_0x1a4e('0x1278')),_0x4c52a2=function(_0x14a99c){function _0x503297(){return null!==_0x14a99c&&_0x14a99c['apply'](this,arguments)||this;}return _0x226c81[_0x1a4e('0x145b')](_0x503297,_0x14a99c),_0x503297['prototype']['flush']=function(_0x14a99c){this[_0x1a4e('0x1304')]=!0x0,this['scheduled']=void 0x0;var _0x503297,_0x1d04dc=this[_0x1a4e('0x150c')],_0x226c81=-0x1,_0x4c52a2=_0x1d04dc['length'];_0x14a99c=_0x14a99c||_0x1d04dc[_0x1a4e('0x7d')]();do{if(_0x503297=_0x14a99c['execute'](_0x14a99c[_0x1a4e('0xa46')],_0x14a99c[_0x1a4e('0x183')]))break;}while(++_0x226c81<_0x4c52a2&&(_0x14a99c=_0x1d04dc['shift']()));if(this[_0x1a4e('0x1304')]=!0x1,_0x503297){for(;++_0x226c81<_0x4c52a2&&(_0x14a99c=_0x1d04dc[_0x1a4e('0x7d')]());)_0x14a99c['unsubscribe']();throw _0x503297;}},_0x503297;}(_0x1d04dc(_0x1a4e('0x150e'))[_0x1a4e('0x150f')]);},'./node_modules/rxjs/_esm5/internal/scheduler/AsapAction.js':function(_0x2b9322,_0x2d943a,_0x58fd17){'use strict';_0x58fd17['r'](_0x2d943a),_0x58fd17['d'](_0x2d943a,_0x1a4e('0x1510'),function(){return _0x5403f1;});var _0x300bb2=_0x58fd17('./node_modules/tslib/tslib.es6.js'),_0x2042d5=_0x58fd17(_0x1a4e('0x1511')),_0x5403f1=function(_0x2b9322){function _0x2d943a(_0x2d943a,_0x58fd17){var _0x300bb2=_0x2b9322[_0x1a4e('0x1')](this,_0x2d943a,_0x58fd17)||this;return _0x300bb2[_0x1a4e('0x1483')]=_0x2d943a,_0x300bb2[_0x1a4e('0x150a')]=_0x58fd17,_0x300bb2;}return _0x300bb2['__extends'](_0x2d943a,_0x2b9322),_0x2d943a['prototype']['requestAsyncId']=function(_0x2d943a,_0x58fd17,_0x300bb2){return void 0x0===_0x300bb2&&(_0x300bb2=0x0),null!==_0x300bb2&&_0x300bb2>0x0?_0x2b9322['prototype'][_0x1a4e('0x150b')]['call'](this,_0x2d943a,_0x58fd17,_0x300bb2):(_0x2d943a[_0x1a4e('0x150c')][_0x1a4e('0x46')](this),_0x2d943a[_0x1a4e('0x1456')]||(_0x2d943a[_0x1a4e('0x1456')]=_0x2042d5[_0x1a4e('0x1512')][_0x1a4e('0x1513')](_0x2d943a['flush'][_0x1a4e('0x945')](_0x2d943a,null))));},_0x2d943a[_0x1a4e('0xa')]['recycleAsyncId']=function(_0x2d943a,_0x58fd17,_0x300bb2){if(void 0x0===_0x300bb2&&(_0x300bb2=0x0),null!==_0x300bb2&&_0x300bb2>0x0||null===_0x300bb2&&this[_0x1a4e('0x183')]>0x0)return _0x2b9322[_0x1a4e('0xa')][_0x1a4e('0x1514')][_0x1a4e('0x1')](this,_0x2d943a,_0x58fd17,_0x300bb2);0x0===_0x2d943a[_0x1a4e('0x150c')][_0x1a4e('0x1e')]&&(_0x2042d5[_0x1a4e('0x1512')][_0x1a4e('0x1515')](_0x58fd17),_0x2d943a[_0x1a4e('0x1456')]=void 0x0);},_0x2d943a;}(_0x58fd17(_0x1a4e('0x1516'))[_0x1a4e('0x1517')]);},'./node_modules/rxjs/_esm5/internal/scheduler/AsapScheduler.js':function(_0x3b2929,_0x48a272,_0x389a85){'use strict';_0x389a85['r'](_0x48a272),_0x389a85['d'](_0x48a272,'AsapScheduler',function(){return _0x253aba;});var _0x459e9a=_0x389a85('./node_modules/tslib/tslib.es6.js'),_0x253aba=function(_0x3b2929){function _0x48a272(){return null!==_0x3b2929&&_0x3b2929['apply'](this,arguments)||this;}return _0x459e9a[_0x1a4e('0x145b')](_0x48a272,_0x3b2929),_0x48a272[_0x1a4e('0xa')][_0x1a4e('0xa6f')]=function(_0x3b2929){this[_0x1a4e('0x1304')]=!0x0,this[_0x1a4e('0x1456')]=void 0x0;var _0x48a272,_0x389a85=this[_0x1a4e('0x150c')],_0x459e9a=-0x1,_0x253aba=_0x389a85[_0x1a4e('0x1e')];_0x3b2929=_0x3b2929||_0x389a85[_0x1a4e('0x7d')]();do{if(_0x48a272=_0x3b2929['execute'](_0x3b2929['state'],_0x3b2929[_0x1a4e('0x183')]))break;}while(++_0x459e9a<_0x253aba&&(_0x3b2929=_0x389a85[_0x1a4e('0x7d')]()));if(this[_0x1a4e('0x1304')]=!0x1,_0x48a272){for(;++_0x459e9a<_0x253aba&&(_0x3b2929=_0x389a85[_0x1a4e('0x7d')]());)_0x3b2929[_0x1a4e('0x1467')]();throw _0x48a272;}},_0x48a272;}(_0x389a85(_0x1a4e('0x150e'))['AsyncScheduler']);},'./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js':function(_0x29fd09,_0x2d3e73,_0x239f1b){'use strict';_0x239f1b['r'](_0x2d3e73),_0x239f1b['d'](_0x2d3e73,_0x1a4e('0x1517'),function(){return _0xbb367c;});var _0x3976ae=_0x239f1b('./node_modules/tslib/tslib.es6.js'),_0xbb367c=function(_0x29fd09){function _0x2d3e73(_0x2d3e73,_0x239f1b){var _0x3976ae=_0x29fd09[_0x1a4e('0x1')](this,_0x2d3e73,_0x239f1b)||this;return _0x3976ae['scheduler']=_0x2d3e73,_0x3976ae['work']=_0x239f1b,_0x3976ae[_0x1a4e('0xdbc')]=!0x1,_0x3976ae;}return _0x3976ae['__extends'](_0x2d3e73,_0x29fd09),_0x2d3e73[_0x1a4e('0xa')]['schedule']=function(_0x29fd09,_0x2d3e73){if(void 0x0===_0x2d3e73&&(_0x2d3e73=0x0),this[_0x1a4e('0x62')])return this;this[_0x1a4e('0xa46')]=_0x29fd09;var _0x239f1b=this['id'],_0x3976ae=this[_0x1a4e('0x1483')];return null!=_0x239f1b&&(this['id']=this['recycleAsyncId'](_0x3976ae,_0x239f1b,_0x2d3e73)),this[_0x1a4e('0xdbc')]=!0x0,this['delay']=_0x2d3e73,this['id']=this['id']||this[_0x1a4e('0x150b')](_0x3976ae,this['id'],_0x2d3e73),this;},_0x2d3e73['prototype'][_0x1a4e('0x150b')]=function(_0x29fd09,_0x2d3e73,_0x239f1b){return void 0x0===_0x239f1b&&(_0x239f1b=0x0),setInterval(_0x29fd09[_0x1a4e('0xa6f')][_0x1a4e('0x945')](_0x29fd09,this),_0x239f1b);},_0x2d3e73['prototype'][_0x1a4e('0x1514')]=function(_0x29fd09,_0x2d3e73,_0x239f1b){if(void 0x0===_0x239f1b&&(_0x239f1b=0x0),null!==_0x239f1b&&this[_0x1a4e('0x183')]===_0x239f1b&&!0x1===this[_0x1a4e('0xdbc')])return _0x2d3e73;clearInterval(_0x2d3e73);},_0x2d3e73[_0x1a4e('0xa')]['execute']=function(_0x29fd09,_0x2d3e73){if(this[_0x1a4e('0x62')])return new Error(_0x1a4e('0x1518'));this[_0x1a4e('0xdbc')]=!0x1;var _0x239f1b=this[_0x1a4e('0x1519')](_0x29fd09,_0x2d3e73);if(_0x239f1b)return _0x239f1b;!0x1===this[_0x1a4e('0xdbc')]&&null!=this['id']&&(this['id']=this[_0x1a4e('0x1514')](this['scheduler'],this['id'],null));},_0x2d3e73[_0x1a4e('0xa')][_0x1a4e('0x1519')]=function(_0x29fd09,_0x2d3e73){var _0x239f1b=!0x1,_0x3976ae=void 0x0;try{this[_0x1a4e('0x150a')](_0x29fd09);}catch(_0x372d65){_0x239f1b=!0x0,_0x3976ae=!!_0x372d65&&_0x372d65||new Error(_0x372d65);}if(_0x239f1b)return this[_0x1a4e('0x1467')](),_0x3976ae;},_0x2d3e73[_0x1a4e('0xa')][_0x1a4e('0x14a2')]=function(){var _0x29fd09=this['id'],_0x2d3e73=this[_0x1a4e('0x1483')],_0x239f1b=_0x2d3e73[_0x1a4e('0x150c')],_0x3976ae=_0x239f1b['indexOf'](this);this[_0x1a4e('0x150a')]=null,this[_0x1a4e('0xa46')]=null,this[_0x1a4e('0xdbc')]=!0x1,this[_0x1a4e('0x1483')]=null,-0x1!==_0x3976ae&&_0x239f1b[_0x1a4e('0x8a')](_0x3976ae,0x1),null!=_0x29fd09&&(this['id']=this[_0x1a4e('0x1514')](_0x2d3e73,_0x29fd09,null)),this[_0x1a4e('0x183')]=null;},_0x2d3e73;}(_0x239f1b(_0x1a4e('0x151a'))[_0x1a4e('0x1508')]);},'./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js':function(_0x1b207d,_0x514f1b,_0x95f8f6){'use strict';_0x95f8f6['r'](_0x514f1b),_0x95f8f6['d'](_0x514f1b,_0x1a4e('0x150f'),function(){return _0x238e8d;});var _0x557cb2=_0x95f8f6(_0x1a4e('0x1278')),_0x2de8c2=_0x95f8f6(_0x1a4e('0x151b')),_0x238e8d=function(_0x1b207d){function _0x514f1b(_0x95f8f6,_0x557cb2){void 0x0===_0x557cb2&&(_0x557cb2=_0x2de8c2['Scheduler'][_0x1a4e('0xe3f')]);var _0x238e8d=_0x1b207d[_0x1a4e('0x1')](this,_0x95f8f6,function(){return _0x514f1b[_0x1a4e('0x1364')]&&_0x514f1b['delegate']!==_0x238e8d?_0x514f1b[_0x1a4e('0x1364')][_0x1a4e('0xe3f')]():_0x557cb2();})||this;return _0x238e8d[_0x1a4e('0x150c')]=[],_0x238e8d['active']=!0x1,_0x238e8d['scheduled']=void 0x0,_0x238e8d;}return _0x557cb2[_0x1a4e('0x145b')](_0x514f1b,_0x1b207d),_0x514f1b[_0x1a4e('0xa')][_0x1a4e('0x148f')]=function(_0x95f8f6,_0x557cb2,_0x2de8c2){return void 0x0===_0x557cb2&&(_0x557cb2=0x0),_0x514f1b[_0x1a4e('0x1364')]&&_0x514f1b[_0x1a4e('0x1364')]!==this?_0x514f1b[_0x1a4e('0x1364')][_0x1a4e('0x148f')](_0x95f8f6,_0x557cb2,_0x2de8c2):_0x1b207d[_0x1a4e('0xa')][_0x1a4e('0x148f')]['call'](this,_0x95f8f6,_0x557cb2,_0x2de8c2);},_0x514f1b['prototype'][_0x1a4e('0xa6f')]=function(_0x1b207d){var _0x514f1b=this[_0x1a4e('0x150c')];if(this[_0x1a4e('0x1304')])_0x514f1b[_0x1a4e('0x46')](_0x1b207d);else{var _0x95f8f6;this['active']=!0x0;do{if(_0x95f8f6=_0x1b207d[_0x1a4e('0x6c3')](_0x1b207d['state'],_0x1b207d[_0x1a4e('0x183')]))break;}while(_0x1b207d=_0x514f1b[_0x1a4e('0x7d')]());if(this[_0x1a4e('0x1304')]=!0x1,_0x95f8f6){for(;_0x1b207d=_0x514f1b[_0x1a4e('0x7d')]();)_0x1b207d['unsubscribe']();throw _0x95f8f6;}}},_0x514f1b;}(_0x2de8c2[_0x1a4e('0x141d')]);},'./node_modules/rxjs/_esm5/internal/scheduler/QueueAction.js':function(_0x5a3ca2,_0x341581,_0x28a3c4){'use strict';_0x28a3c4['r'](_0x341581),_0x28a3c4['d'](_0x341581,_0x1a4e('0x151c'),function(){return _0x10a476;});var _0x2f1312=_0x28a3c4(_0x1a4e('0x1278')),_0x10a476=function(_0x5a3ca2){function _0x341581(_0x341581,_0x28a3c4){var _0x2f1312=_0x5a3ca2[_0x1a4e('0x1')](this,_0x341581,_0x28a3c4)||this;return _0x2f1312[_0x1a4e('0x1483')]=_0x341581,_0x2f1312[_0x1a4e('0x150a')]=_0x28a3c4,_0x2f1312;}return _0x2f1312['__extends'](_0x341581,_0x5a3ca2),_0x341581[_0x1a4e('0xa')][_0x1a4e('0x148f')]=function(_0x341581,_0x28a3c4){return void 0x0===_0x28a3c4&&(_0x28a3c4=0x0),_0x28a3c4>0x0?_0x5a3ca2[_0x1a4e('0xa')][_0x1a4e('0x148f')][_0x1a4e('0x1')](this,_0x341581,_0x28a3c4):(this[_0x1a4e('0x183')]=_0x28a3c4,this[_0x1a4e('0xa46')]=_0x341581,this['scheduler'][_0x1a4e('0xa6f')](this),this);},_0x341581['prototype'][_0x1a4e('0x6c3')]=function(_0x341581,_0x28a3c4){return _0x28a3c4>0x0||this[_0x1a4e('0x62')]?_0x5a3ca2[_0x1a4e('0xa')]['execute']['call'](this,_0x341581,_0x28a3c4):this['_execute'](_0x341581,_0x28a3c4);},_0x341581[_0x1a4e('0xa')][_0x1a4e('0x150b')]=function(_0x341581,_0x28a3c4,_0x2f1312){return void 0x0===_0x2f1312&&(_0x2f1312=0x0),null!==_0x2f1312&&_0x2f1312>0x0||null===_0x2f1312&&this['delay']>0x0?_0x5a3ca2[_0x1a4e('0xa')][_0x1a4e('0x150b')]['call'](this,_0x341581,_0x28a3c4,_0x2f1312):_0x341581['flush'](this);},_0x341581;}(_0x28a3c4(_0x1a4e('0x1516'))[_0x1a4e('0x1517')]);},'./node_modules/rxjs/_esm5/internal/scheduler/QueueScheduler.js':function(_0x1e3cc6,_0x353725,_0x1cf087){'use strict';_0x1cf087['r'](_0x353725),_0x1cf087['d'](_0x353725,_0x1a4e('0x151d'),function(){return _0x1b85ff;});var _0x4a149f=_0x1cf087(_0x1a4e('0x1278')),_0x1b85ff=function(_0x1e3cc6){function _0x353725(){return null!==_0x1e3cc6&&_0x1e3cc6[_0x1a4e('0x8b')](this,arguments)||this;}return _0x4a149f[_0x1a4e('0x145b')](_0x353725,_0x1e3cc6),_0x353725;}(_0x1cf087(_0x1a4e('0x150e'))[_0x1a4e('0x150f')]);},'./node_modules/rxjs/_esm5/internal/scheduler/VirtualTimeScheduler.js':function(_0x4f4067,_0x1b1ddb,_0x22eacf){'use strict';_0x22eacf['r'](_0x1b1ddb),_0x22eacf['d'](_0x1b1ddb,_0x1a4e('0x141b'),function(){return _0x3bff12;}),_0x22eacf['d'](_0x1b1ddb,_0x1a4e('0x141c'),function(){return _0x31fe4f;});var _0x3201b9=_0x22eacf('./node_modules/tslib/tslib.es6.js'),_0x42ed0b=_0x22eacf(_0x1a4e('0x1516')),_0x3bff12=function(_0x4f4067){function _0x1b1ddb(_0x1b1ddb,_0x22eacf){void 0x0===_0x1b1ddb&&(_0x1b1ddb=_0x31fe4f),void 0x0===_0x22eacf&&(_0x22eacf=Number[_0x1a4e('0x4d5')]);var _0x3201b9=_0x4f4067[_0x1a4e('0x1')](this,_0x1b1ddb,function(){return _0x3201b9[_0x1a4e('0x151e')];})||this;return _0x3201b9[_0x1a4e('0x151f')]=_0x22eacf,_0x3201b9[_0x1a4e('0x151e')]=0x0,_0x3201b9[_0x1a4e('0xbd')]=-0x1,_0x3201b9;}return _0x3201b9[_0x1a4e('0x145b')](_0x1b1ddb,_0x4f4067),_0x1b1ddb[_0x1a4e('0xa')][_0x1a4e('0xa6f')]=function(){for(var _0x4f4067,_0x1b1ddb,_0x22eacf=this[_0x1a4e('0x150c')],_0x3201b9=this['maxFrames'];(_0x1b1ddb=_0x22eacf[0x0])&&_0x1b1ddb[_0x1a4e('0x183')]<=_0x3201b9&&(_0x22eacf[_0x1a4e('0x7d')](),this[_0x1a4e('0x151e')]=_0x1b1ddb[_0x1a4e('0x183')],!(_0x4f4067=_0x1b1ddb[_0x1a4e('0x6c3')](_0x1b1ddb['state'],_0x1b1ddb[_0x1a4e('0x183')]))););if(_0x4f4067){for(;_0x1b1ddb=_0x22eacf[_0x1a4e('0x7d')]();)_0x1b1ddb[_0x1a4e('0x1467')]();throw _0x4f4067;}},_0x1b1ddb[_0x1a4e('0x1520')]=0xa,_0x1b1ddb;}(_0x22eacf(_0x1a4e('0x150e'))[_0x1a4e('0x150f')]),_0x31fe4f=function(_0x4f4067){function _0x1b1ddb(_0x1b1ddb,_0x22eacf,_0x3201b9){void 0x0===_0x3201b9&&(_0x3201b9=_0x1b1ddb[_0x1a4e('0xbd')]+=0x1);var _0x42ed0b=_0x4f4067[_0x1a4e('0x1')](this,_0x1b1ddb,_0x22eacf)||this;return _0x42ed0b[_0x1a4e('0x1483')]=_0x1b1ddb,_0x42ed0b[_0x1a4e('0x150a')]=_0x22eacf,_0x42ed0b[_0x1a4e('0xbd')]=_0x3201b9,_0x42ed0b[_0x1a4e('0x1304')]=!0x0,_0x42ed0b['index']=_0x1b1ddb[_0x1a4e('0xbd')]=_0x3201b9,_0x42ed0b;}return _0x3201b9['__extends'](_0x1b1ddb,_0x4f4067),_0x1b1ddb['prototype'][_0x1a4e('0x148f')]=function(_0x22eacf,_0x3201b9){if(void 0x0===_0x3201b9&&(_0x3201b9=0x0),!this['id'])return _0x4f4067[_0x1a4e('0xa')][_0x1a4e('0x148f')]['call'](this,_0x22eacf,_0x3201b9);this[_0x1a4e('0x1304')]=!0x1;var _0x42ed0b=new _0x1b1ddb(this[_0x1a4e('0x1483')],this[_0x1a4e('0x150a')]);return this[_0x1a4e('0x177')](_0x42ed0b),_0x42ed0b[_0x1a4e('0x148f')](_0x22eacf,_0x3201b9);},_0x1b1ddb[_0x1a4e('0xa')][_0x1a4e('0x150b')]=function(_0x4f4067,_0x22eacf,_0x3201b9){void 0x0===_0x3201b9&&(_0x3201b9=0x0),this[_0x1a4e('0x183')]=_0x4f4067['frame']+_0x3201b9;var _0x42ed0b=_0x4f4067['actions'];return _0x42ed0b[_0x1a4e('0x46')](this),_0x42ed0b['sort'](_0x1b1ddb[_0x1a4e('0x1521')]),!0x0;},_0x1b1ddb[_0x1a4e('0xa')][_0x1a4e('0x1514')]=function(_0x4f4067,_0x1b1ddb,_0x22eacf){void 0x0===_0x22eacf&&(_0x22eacf=0x0);},_0x1b1ddb[_0x1a4e('0xa')]['_execute']=function(_0x1b1ddb,_0x22eacf){if(!0x0===this['active'])return _0x4f4067[_0x1a4e('0xa')][_0x1a4e('0x1519')][_0x1a4e('0x1')](this,_0x1b1ddb,_0x22eacf);},_0x1b1ddb[_0x1a4e('0x1521')]=function(_0x4f4067,_0x1b1ddb){return _0x4f4067['delay']===_0x1b1ddb[_0x1a4e('0x183')]?_0x4f4067['index']===_0x1b1ddb[_0x1a4e('0xbd')]?0x0:_0x4f4067[_0x1a4e('0xbd')]>_0x1b1ddb['index']?0x1:-0x1:_0x4f4067[_0x1a4e('0x183')]>_0x1b1ddb[_0x1a4e('0x183')]?0x1:-0x1;},_0x1b1ddb;}(_0x42ed0b[_0x1a4e('0x1517')]);},'./node_modules/rxjs/_esm5/internal/scheduler/animationFrame.js':function(_0x41ab3b,_0x162548,_0x4fa638){'use strict';_0x4fa638['r'](_0x162548),_0x4fa638['d'](_0x162548,_0x1a4e('0x1522'),function(){return _0x15715d;});var _0x1f7a92=_0x4fa638(_0x1a4e('0x1523')),_0x15715d=new(_0x4fa638(_0x1a4e('0x1524')))['AnimationFrameScheduler'](_0x1f7a92[_0x1a4e('0x1509')]);},'./node_modules/rxjs/_esm5/internal/scheduler/asap.js':function(_0x4edde8,_0x87dda5,_0x4e00db){'use strict';_0x4e00db['r'](_0x87dda5),_0x4e00db['d'](_0x87dda5,'asap',function(){return _0x36c8df;});var _0x38acff=_0x4e00db(_0x1a4e('0x1525')),_0x36c8df=new(_0x4e00db(_0x1a4e('0x1526')))[(_0x1a4e('0x1527'))](_0x38acff[_0x1a4e('0x1510')]);},'./node_modules/rxjs/_esm5/internal/scheduler/async.js':function(_0x5f48b1,_0x1fdd77,_0x37bf6){'use strict';_0x37bf6['r'](_0x1fdd77),_0x37bf6['d'](_0x1fdd77,_0x1a4e('0xe06'),function(){return _0x1039b7;});var _0x1b59fe=_0x37bf6('./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js'),_0x1039b7=new(_0x37bf6(_0x1a4e('0x150e')))[(_0x1a4e('0x150f'))](_0x1b59fe[_0x1a4e('0x1517')]);},'./node_modules/rxjs/_esm5/internal/scheduler/queue.js':function(_0x30b90f,_0x22a4ec,_0x9cead6){'use strict';_0x9cead6['r'](_0x22a4ec),_0x9cead6['d'](_0x22a4ec,_0x1a4e('0x1417'),function(){return _0x3c2dc9;});var _0x2bec01=_0x9cead6(_0x1a4e('0x1528')),_0x3c2dc9=new(_0x9cead6(_0x1a4e('0x1529')))[(_0x1a4e('0x151d'))](_0x2bec01[_0x1a4e('0x151c')]);},'./node_modules/rxjs/_esm5/internal/symbol/iterator.js':function(_0xc926cb,_0x2c59d5,_0x293945){'use strict';function _0x3d43af(){return _0x1a4e('0x68')==typeof Symbol&&Symbol['iterator']?Symbol[_0x1a4e('0x335')]:_0x1a4e('0x152a');}_0x293945['r'](_0x2c59d5),_0x293945['d'](_0x2c59d5,'getSymbolIterator',function(){return _0x3d43af;}),_0x293945['d'](_0x2c59d5,'iterator',function(){return _0xbb57d6;}),_0x293945['d'](_0x2c59d5,_0x1a4e('0x152b'),function(){return _0x2641b0;});var _0xbb57d6=_0x3d43af(),_0x2641b0=_0xbb57d6;},'./node_modules/rxjs/_esm5/internal/symbol/observable.js':function(_0x3d6596,_0x2540e3,_0x3d8a81){'use strict';_0x3d8a81['r'](_0x2540e3),_0x3d8a81['d'](_0x2540e3,_0x1a4e('0x140a'),function(){return _0x1be323;});var _0x1be323=function(){return'function'==typeof Symbol&&Symbol[_0x1a4e('0x140a')]||'@@observable';}();},'./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js':function(_0xa5c677,_0x1aa6c5,_0x3f5993){'use strict';_0x3f5993['r'](_0x1aa6c5),_0x3f5993['d'](_0x1aa6c5,_0x1a4e('0x149a'),function(){return _0x4fe175;}),_0x3f5993['d'](_0x1aa6c5,_0x1a4e('0x152c'),function(){return _0x14bb7d;});var _0x4fe175=function(){return _0x1a4e('0x68')==typeof Symbol?Symbol(_0x1a4e('0x149a')):_0x1a4e('0x152d')+Math['random']();}(),_0x14bb7d=_0x4fe175;},'./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js':function(_0x308801,_0xd87cb1,_0x26cd88){'use strict';_0x26cd88['r'](_0xd87cb1),_0x26cd88['d'](_0xd87cb1,_0x1a4e('0x142b'),function(){return _0x418261;});var _0x418261=function(){function _0x308801(){return Error[_0x1a4e('0x1')](this),this[_0x1a4e('0x133')]=_0x1a4e('0x152e'),this['name']=_0x1a4e('0x142b'),this;}return _0x308801[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](Error[_0x1a4e('0xa')]),_0x308801;}();},'./node_modules/rxjs/_esm5/internal/util/EmptyError.js':function(_0x1c4edb,_0x143f6c,_0x3398bb){'use strict';_0x3398bb['r'](_0x143f6c),_0x3398bb['d'](_0x143f6c,_0x1a4e('0x142d'),function(){return _0x5366e4;});var _0x5366e4=function(){function _0x1c4edb(){return Error[_0x1a4e('0x1')](this),this[_0x1a4e('0x133')]='no\x20elements\x20in\x20sequence',this[_0x1a4e('0x2cb')]=_0x1a4e('0x142d'),this;}return _0x1c4edb['prototype']=Object['create'](Error[_0x1a4e('0xa')]),_0x1c4edb;}();},'./node_modules/rxjs/_esm5/internal/util/Immediate.js':function(_0x25e827,_0x3ddf95,_0x3880bf){'use strict';_0x3880bf['r'](_0x3ddf95),_0x3880bf['d'](_0x3ddf95,_0x1a4e('0x1512'),function(){return _0x5da429;}),_0x3880bf['d'](_0x3ddf95,'TestTools',function(){return _0x50cc34;});var _0x4628b8=0x1,_0x4bc893=function(){return Promise[_0x1a4e('0xe20')]();}(),_0x54fbb3={};function _0x116c23(_0x25e827){return _0x25e827 in _0x54fbb3&&(delete _0x54fbb3[_0x25e827],!0x0);}var _0x5da429={'setImmediate':function(_0x25e827){var _0x3ddf95=_0x4628b8++;return _0x54fbb3[_0x3ddf95]=!0x0,_0x4bc893[_0x1a4e('0xdf8')](function(){return _0x116c23(_0x3ddf95)&&_0x25e827();}),_0x3ddf95;},'clearImmediate':function(_0x25e827){_0x116c23(_0x25e827);}},_0x50cc34={'pending':function(){return Object[_0x1a4e('0x56')](_0x54fbb3)[_0x1a4e('0x1e')];}};},'./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js':function(_0x4157bf,_0x5cc315,_0x2ce61f){'use strict';_0x2ce61f['r'](_0x5cc315),_0x2ce61f['d'](_0x5cc315,'ObjectUnsubscribedError',function(){return _0x532b56;});var _0x532b56=function(){function _0x4157bf(){return Error[_0x1a4e('0x1')](this),this['message']=_0x1a4e('0x152f'),this[_0x1a4e('0x2cb')]=_0x1a4e('0x142f'),this;}return _0x4157bf[_0x1a4e('0xa')]=Object['create'](Error[_0x1a4e('0xa')]),_0x4157bf;}();},'./node_modules/rxjs/_esm5/internal/util/TimeoutError.js':function(_0x5927e7,_0x543131,_0x1841c4){'use strict';_0x1841c4['r'](_0x543131),_0x1841c4['d'](_0x543131,_0x1a4e('0x1433'),function(){return _0x72031a;});var _0x72031a=function(){function _0x5927e7(){return Error[_0x1a4e('0x1')](this),this[_0x1a4e('0x133')]=_0x1a4e('0x1530'),this[_0x1a4e('0x2cb')]=_0x1a4e('0x1433'),this;}return _0x5927e7['prototype']=Object[_0x1a4e('0x7')](Error['prototype']),_0x5927e7;}();},'./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js':function(_0x9565b4,_0x4b68b5,_0x24d401){'use strict';_0x24d401['r'](_0x4b68b5),_0x24d401['d'](_0x4b68b5,_0x1a4e('0x1431'),function(){return _0x5103f2;});var _0x5103f2=function(){function _0x9565b4(_0x9565b4){return Error[_0x1a4e('0x1')](this),this['message']=_0x9565b4?_0x9565b4[_0x1a4e('0x1e')]+_0x1a4e('0x1531')+_0x9565b4[_0x1a4e('0x21')](function(_0x9565b4,_0x4b68b5){return _0x4b68b5+0x1+')\x20'+_0x9565b4['toString']();})[_0x1a4e('0x9e')](_0x1a4e('0x1532')):'',this[_0x1a4e('0x2cb')]='UnsubscriptionError',this[_0x1a4e('0x8dd')]=_0x9565b4,this;}return _0x9565b4['prototype']=Object[_0x1a4e('0x7')](Error['prototype']),_0x9565b4;}();},'./node_modules/rxjs/_esm5/internal/util/canReportError.js':function(_0x537733,_0x597368,_0x26c8b5){'use strict';_0x26c8b5['r'](_0x597368),_0x26c8b5['d'](_0x597368,_0x1a4e('0x147c'),function(){return _0x1e30b2;});var _0x2a33c3=_0x26c8b5(_0x1a4e('0x1420'));function _0x1e30b2(_0x537733){for(;_0x537733;){var _0x597368=_0x537733,_0x26c8b5=_0x597368['closed'],_0x1e30b2=_0x597368[_0x1a4e('0x7c8')],_0x20d728=_0x597368[_0x1a4e('0x148a')];if(_0x26c8b5||_0x20d728)return!0x1;_0x537733=_0x1e30b2&&_0x1e30b2 instanceof _0x2a33c3[_0x1a4e('0x1421')]?_0x1e30b2:null;}return!0x0;}},'./node_modules/rxjs/_esm5/internal/util/hostReportError.js':function(_0x5d9696,_0x34274d,_0x308fb9){'use strict';function _0xed6edd(_0x5d9696){setTimeout(function(){throw _0x5d9696;},0x0);}_0x308fb9['r'](_0x34274d),_0x308fb9['d'](_0x34274d,'hostReportError',function(){return _0xed6edd;});},'./node_modules/rxjs/_esm5/internal/util/identity.js':function(_0x35923a,_0x2ecca9,_0x33a06a){'use strict';function _0x355761(_0x35923a){return _0x35923a;}_0x33a06a['r'](_0x2ecca9),_0x33a06a['d'](_0x2ecca9,_0x1a4e('0x10a5'),function(){return _0x355761;});},'./node_modules/rxjs/_esm5/internal/util/isArray.js':function(_0x55f6a2,_0x50ac65,_0x41e01d){'use strict';_0x41e01d['r'](_0x50ac65),_0x41e01d['d'](_0x50ac65,_0x1a4e('0x15'),function(){return _0x48afff;});var _0x48afff=function(){return Array[_0x1a4e('0x15')]||function(_0x55f6a2){return _0x55f6a2&&_0x1a4e('0x3d')==typeof _0x55f6a2['length'];};}();},'./node_modules/rxjs/_esm5/internal/util/isArrayLike.js':function(_0x358dcc,_0x3b0f1e,_0x3271c4){'use strict';_0x3271c4['r'](_0x3b0f1e),_0x3271c4['d'](_0x3b0f1e,'isArrayLike',function(){return _0xbd657d;});var _0xbd657d=function(_0x358dcc){return _0x358dcc&&_0x1a4e('0x3d')==typeof _0x358dcc[_0x1a4e('0x1e')]&&_0x1a4e('0x68')!=typeof _0x358dcc;};},'./node_modules/rxjs/_esm5/internal/util/isFunction.js':function(_0x7db3d2,_0x441b81,_0x383ecc){'use strict';function _0x14d063(_0x7db3d2){return _0x1a4e('0x68')==typeof _0x7db3d2;}_0x383ecc['r'](_0x441b81),_0x383ecc['d'](_0x441b81,'isFunction',function(){return _0x14d063;});},'./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js':function(_0x3c9b50,_0x4560a5,_0x2e9f32){'use strict';_0x2e9f32['r'](_0x4560a5),_0x2e9f32['d'](_0x4560a5,_0x1a4e('0x1506'),function(){return _0x59c0d2;});var _0xe0a849=_0x2e9f32(_0x1a4e('0x1409'));function _0x59c0d2(_0x3c9b50){return _0x3c9b50&&'function'==typeof _0x3c9b50[_0xe0a849['observable']];}},'./node_modules/rxjs/_esm5/internal/util/isIterable.js':function(_0x2ae2d5,_0x4ba67d,_0x29e53f){'use strict';_0x29e53f['r'](_0x4ba67d),_0x29e53f['d'](_0x4ba67d,_0x1a4e('0x1533'),function(){return _0x287153;});var _0x31f099=_0x29e53f(_0x1a4e('0x14fc'));function _0x287153(_0x2ae2d5){return _0x2ae2d5&&'function'==typeof _0x2ae2d5[_0x31f099['iterator']];}},'./node_modules/rxjs/_esm5/internal/util/isNumeric.js':function(_0x3b79f2,_0x5ef0c4,_0x200e42){'use strict';_0x200e42['r'](_0x5ef0c4),_0x200e42['d'](_0x5ef0c4,_0x1a4e('0x1534'),function(){return _0x2ede4d;});var _0x269115=_0x200e42('./node_modules/rxjs/_esm5/internal/util/isArray.js');function _0x2ede4d(_0x3b79f2){return!Object(_0x269115['isArray'])(_0x3b79f2)&&_0x3b79f2-parseFloat(_0x3b79f2)+0x1>=0x0;}},'./node_modules/rxjs/_esm5/internal/util/isObject.js':function(_0x1a0978,_0x570cc4,_0x16b481){'use strict';function _0x4ebd2e(_0x1a0978){return null!==_0x1a0978&&'object'==typeof _0x1a0978;}_0x16b481['r'](_0x570cc4),_0x16b481['d'](_0x570cc4,'isObject',function(){return _0x4ebd2e;});},'./node_modules/rxjs/_esm5/internal/util/isObservable.js':function(_0x472886,_0x5e8503,_0x15060d){'use strict';_0x15060d['r'](_0x5e8503),_0x15060d['d'](_0x5e8503,'isObservable',function(){return _0x1db67a;});var _0x169a35=_0x15060d(_0x1a4e('0x1403'));function _0x1db67a(_0x472886){return!!_0x472886&&(_0x472886 instanceof _0x169a35['Observable']||'function'==typeof _0x472886[_0x1a4e('0x1473')]&&_0x1a4e('0x68')==typeof _0x472886[_0x1a4e('0x1475')]);}},'./node_modules/rxjs/_esm5/internal/util/isPromise.js':function(_0xc37708,_0xb7975d,_0x2d9ff1){'use strict';function _0x4f2353(_0xc37708){return!!_0xc37708&&_0x1a4e('0x68')!=typeof _0xc37708[_0x1a4e('0x1475')]&&_0x1a4e('0x68')==typeof _0xc37708['then'];}_0x2d9ff1['r'](_0xb7975d),_0x2d9ff1['d'](_0xb7975d,_0x1a4e('0x1535'),function(){return _0x4f2353;});},'./node_modules/rxjs/_esm5/internal/util/isScheduler.js':function(_0x21067f,_0x2775ac,_0x54f75b){'use strict';function _0x35dcca(_0x21067f){return _0x21067f&&'function'==typeof _0x21067f[_0x1a4e('0x148f')];}_0x54f75b['r'](_0x2775ac),_0x54f75b['d'](_0x2775ac,_0x1a4e('0x14b3'),function(){return _0x35dcca;});},'./node_modules/rxjs/_esm5/internal/util/noop.js':function(_0x44f261,_0x91da8a,_0x3a15da){'use strict';function _0x2236e8(){}_0x3a15da['r'](_0x91da8a),_0x3a15da['d'](_0x91da8a,'noop',function(){return _0x2236e8;});},'./node_modules/rxjs/_esm5/internal/util/not.js':function(_0x37abc9,_0x498a2d,_0xf18a74){'use strict';function _0x53e6e5(_0x37abc9,_0x498a2d){function _0xf18a74(){return!_0xf18a74[_0x1a4e('0x1536')][_0x1a4e('0x8b')](_0xf18a74[_0x1a4e('0x102e')],arguments);}return _0xf18a74[_0x1a4e('0x1536')]=_0x37abc9,_0xf18a74[_0x1a4e('0x102e')]=_0x498a2d,_0xf18a74;}_0xf18a74['r'](_0x498a2d),_0xf18a74['d'](_0x498a2d,_0x1a4e('0xe99'),function(){return _0x53e6e5;});},'./node_modules/rxjs/_esm5/internal/util/pipe.js':function(_0xb75f0e,_0x420a27,_0x55b056){'use strict';_0x55b056['r'](_0x420a27),_0x55b056['d'](_0x420a27,_0x1a4e('0x13be'),function(){return _0x4bcdc6;}),_0x55b056['d'](_0x420a27,_0x1a4e('0x1537'),function(){return _0x2dc60d;});var _0xc8ab19=_0x55b056('./node_modules/rxjs/_esm5/internal/util/noop.js');function _0x4bcdc6(){for(var _0xb75f0e=[],_0x420a27=0x0;_0x420a27=this[_0x1a4e('0x154c')]&&(this['_update'](this['_block']),this['_block']['fill'](0x0));var _0x256597=0x8*this[_0x1a4e('0xa4b')];if(_0x256597<=0xffffffff)this[_0x1a4e('0xda9')][_0x1a4e('0xa39')](_0x256597,this['_blockSize']-0x4);else{var _0x2923fd=(0xffffffff&_0x256597)>>>0x0,_0x4b90a8=(_0x256597-_0x2923fd)/0x100000000;this[_0x1a4e('0xda9')][_0x1a4e('0xa39')](_0x4b90a8,this[_0x1a4e('0xdaa')]-0x8),this[_0x1a4e('0xda9')][_0x1a4e('0xa39')](_0x2923fd,this[_0x1a4e('0xdaa')]-0x4);}this[_0x1a4e('0xa74')](this['_block']);var _0x2795d2=this[_0x1a4e('0xaa7')]();return _0x41d768?_0x2795d2['toString'](_0x41d768):_0x2795d2;},_0x4b90a8[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(){throw new Error(_0x1a4e('0x154d'));},_0x41d768['exports']=_0x4b90a8;},'./node_modules/sha.js/index.js':function(_0x1f4fd9,_0x406e5e,_0x59da48){(_0x406e5e=_0x1f4fd9[_0x1a4e('0x0')]=function(_0x1f4fd9){_0x1f4fd9=_0x1f4fd9['toLowerCase']();var _0x59da48=_0x406e5e[_0x1f4fd9];if(!_0x59da48)throw new Error(_0x1f4fd9+'\x20is\x20not\x20supported\x20(we\x20accept\x20pull\x20requests)');return new _0x59da48();})['sha']=_0x59da48(_0x1a4e('0x154e')),_0x406e5e[_0x1a4e('0xb4b')]=_0x59da48(_0x1a4e('0x154f')),_0x406e5e[_0x1a4e('0xdba')]=_0x59da48(_0x1a4e('0x1550')),_0x406e5e['sha256']=_0x59da48('./node_modules/sha.js/sha256.js'),_0x406e5e['sha384']=_0x59da48(_0x1a4e('0x1551')),_0x406e5e['sha512']=_0x59da48(_0x1a4e('0x1552'));},'./node_modules/sha.js/sha.js':function(_0x503c14,_0x18c953,_0x2a67b4){var _0x3c3da8=_0x2a67b4(_0x1a4e('0x863')),_0x81ff27=_0x2a67b4(_0x1a4e('0x1553')),_0x1a3f55=_0x2a67b4(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x40fbc1=[0x5a827999,0x6ed9eba1,-0x70e44324,-0x359d3e2a],_0xf1d19f=new Array(0x50);function _0x1edfa7(){this[_0x1a4e('0x1fd')](),this['_w']=_0xf1d19f,_0x81ff27[_0x1a4e('0x1')](this,0x40,0x38);}function _0x402d19(_0x503c14){return _0x503c14<<0x1e|_0x503c14>>>0x2;}function _0x3b7047(_0x503c14,_0x18c953,_0x2a67b4,_0x3c3da8){return 0x0===_0x503c14?_0x18c953&_0x2a67b4|~_0x18c953&_0x3c3da8:0x2===_0x503c14?_0x18c953&_0x2a67b4|_0x18c953&_0x3c3da8|_0x2a67b4&_0x3c3da8:_0x18c953^_0x2a67b4^_0x3c3da8;}_0x3c3da8(_0x1edfa7,_0x81ff27),_0x1edfa7[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){return this['_a']=0x67452301,this['_b']=0xefcdab89,this['_c']=0x98badcfe,this['_d']=0x10325476,this['_e']=0xc3d2e1f0,this;},_0x1edfa7[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(_0x503c14){for(var _0x18c953,_0x2a67b4=this['_w'],_0x3c3da8=0x0|this['_a'],_0x81ff27=0x0|this['_b'],_0x1a3f55=0x0|this['_c'],_0xf1d19f=0x0|this['_d'],_0x1edfa7=0x0|this['_e'],_0x4b9fcc=0x0;_0x4b9fcc<0x10;++_0x4b9fcc)_0x2a67b4[_0x4b9fcc]=_0x503c14['readInt32BE'](0x4*_0x4b9fcc);for(;_0x4b9fcc<0x50;++_0x4b9fcc)_0x2a67b4[_0x4b9fcc]=_0x2a67b4[_0x4b9fcc-0x3]^_0x2a67b4[_0x4b9fcc-0x8]^_0x2a67b4[_0x4b9fcc-0xe]^_0x2a67b4[_0x4b9fcc-0x10];for(var _0x566717=0x0;_0x566717<0x50;++_0x566717){var _0x4bc0bd=~~(_0x566717/0x14),_0x326a21=0x0|((_0x18c953=_0x3c3da8)<<0x5|_0x18c953>>>0x1b)+_0x3b7047(_0x4bc0bd,_0x81ff27,_0x1a3f55,_0xf1d19f)+_0x1edfa7+_0x2a67b4[_0x566717]+_0x40fbc1[_0x4bc0bd];_0x1edfa7=_0xf1d19f,_0xf1d19f=_0x1a3f55,_0x1a3f55=_0x402d19(_0x81ff27),_0x81ff27=_0x3c3da8,_0x3c3da8=_0x326a21;}this['_a']=_0x3c3da8+this['_a']|0x0,this['_b']=_0x81ff27+this['_b']|0x0,this['_c']=_0x1a3f55+this['_c']|0x0,this['_d']=_0xf1d19f+this['_d']|0x0,this['_e']=_0x1edfa7+this['_e']|0x0;},_0x1edfa7[_0x1a4e('0xa')]['_hash']=function(){var _0x503c14=_0x1a3f55[_0x1a4e('0xa3c')](0x14);return _0x503c14['writeInt32BE'](0x0|this['_a'],0x0),_0x503c14['writeInt32BE'](0x0|this['_b'],0x4),_0x503c14[_0x1a4e('0xb01')](0x0|this['_c'],0x8),_0x503c14[_0x1a4e('0xb01')](0x0|this['_d'],0xc),_0x503c14[_0x1a4e('0xb01')](0x0|this['_e'],0x10),_0x503c14;},_0x503c14[_0x1a4e('0x0')]=_0x1edfa7;},'./node_modules/sha.js/sha1.js':function(_0x1900d5,_0xdd673e,_0x1e8566){var _0x39e984=_0x1e8566(_0x1a4e('0x863')),_0x50ae6b=_0x1e8566(_0x1a4e('0x1553')),_0x194283=_0x1e8566(_0x1a4e('0xa2d'))['Buffer'],_0x2f4425=[0x5a827999,0x6ed9eba1,-0x70e44324,-0x359d3e2a],_0x53e095=new Array(0x50);function _0x242f43(){this[_0x1a4e('0x1fd')](),this['_w']=_0x53e095,_0x50ae6b['call'](this,0x40,0x38);}function _0x4d58b6(_0x1900d5){return _0x1900d5<<0x5|_0x1900d5>>>0x1b;}function _0x1e134c(_0x1900d5){return _0x1900d5<<0x1e|_0x1900d5>>>0x2;}function _0x68d7bd(_0x1900d5,_0xdd673e,_0x1e8566,_0x39e984){return 0x0===_0x1900d5?_0xdd673e&_0x1e8566|~_0xdd673e&_0x39e984:0x2===_0x1900d5?_0xdd673e&_0x1e8566|_0xdd673e&_0x39e984|_0x1e8566&_0x39e984:_0xdd673e^_0x1e8566^_0x39e984;}_0x39e984(_0x242f43,_0x50ae6b),_0x242f43[_0x1a4e('0xa')]['init']=function(){return this['_a']=0x67452301,this['_b']=0xefcdab89,this['_c']=0x98badcfe,this['_d']=0x10325476,this['_e']=0xc3d2e1f0,this;},_0x242f43[_0x1a4e('0xa')][_0x1a4e('0xa74')]=function(_0x1900d5){for(var _0xdd673e,_0x1e8566=this['_w'],_0x39e984=0x0|this['_a'],_0x50ae6b=0x0|this['_b'],_0x194283=0x0|this['_c'],_0x53e095=0x0|this['_d'],_0x242f43=0x0|this['_e'],_0x1b12ea=0x0;_0x1b12ea<0x10;++_0x1b12ea)_0x1e8566[_0x1b12ea]=_0x1900d5['readInt32BE'](0x4*_0x1b12ea);for(;_0x1b12ea<0x50;++_0x1b12ea)_0x1e8566[_0x1b12ea]=(_0xdd673e=_0x1e8566[_0x1b12ea-0x3]^_0x1e8566[_0x1b12ea-0x8]^_0x1e8566[_0x1b12ea-0xe]^_0x1e8566[_0x1b12ea-0x10])<<0x1|_0xdd673e>>>0x1f;for(var _0x26a204=0x0;_0x26a204<0x50;++_0x26a204){var _0xd884c6=~~(_0x26a204/0x14),_0x5d7fd8=_0x4d58b6(_0x39e984)+_0x68d7bd(_0xd884c6,_0x50ae6b,_0x194283,_0x53e095)+_0x242f43+_0x1e8566[_0x26a204]+_0x2f4425[_0xd884c6]|0x0;_0x242f43=_0x53e095,_0x53e095=_0x194283,_0x194283=_0x1e134c(_0x50ae6b),_0x50ae6b=_0x39e984,_0x39e984=_0x5d7fd8;}this['_a']=_0x39e984+this['_a']|0x0,this['_b']=_0x50ae6b+this['_b']|0x0,this['_c']=_0x194283+this['_c']|0x0,this['_d']=_0x53e095+this['_d']|0x0,this['_e']=_0x242f43+this['_e']|0x0;},_0x242f43[_0x1a4e('0xa')][_0x1a4e('0xaa7')]=function(){var _0x1900d5=_0x194283[_0x1a4e('0xa3c')](0x14);return _0x1900d5[_0x1a4e('0xb01')](0x0|this['_a'],0x0),_0x1900d5[_0x1a4e('0xb01')](0x0|this['_b'],0x4),_0x1900d5[_0x1a4e('0xb01')](0x0|this['_c'],0x8),_0x1900d5[_0x1a4e('0xb01')](0x0|this['_d'],0xc),_0x1900d5['writeInt32BE'](0x0|this['_e'],0x10),_0x1900d5;},_0x1900d5['exports']=_0x242f43;},'./node_modules/sha.js/sha224.js':function(_0x24b937,_0x237cfd,_0x3738a1){var _0x4fc75c=_0x3738a1(_0x1a4e('0x863')),_0x90933=_0x3738a1(_0x1a4e('0x1554')),_0xd8ebd1=_0x3738a1(_0x1a4e('0x1553')),_0x38b59a=_0x3738a1(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0xefe86e=new Array(0x40);function _0x59e0f0(){this[_0x1a4e('0x1fd')](),this['_w']=_0xefe86e,_0xd8ebd1[_0x1a4e('0x1')](this,0x40,0x38);}_0x4fc75c(_0x59e0f0,_0x90933),_0x59e0f0[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){return this['_a']=0xc1059ed8,this['_b']=0x367cd507,this['_c']=0x3070dd17,this['_d']=0xf70e5939,this['_e']=0xffc00b31,this['_f']=0x68581511,this['_g']=0x64f98fa7,this['_h']=0xbefa4fa4,this;},_0x59e0f0[_0x1a4e('0xa')][_0x1a4e('0xaa7')]=function(){var _0x24b937=_0x38b59a[_0x1a4e('0xa3c')](0x1c);return _0x24b937[_0x1a4e('0xb01')](this['_a'],0x0),_0x24b937[_0x1a4e('0xb01')](this['_b'],0x4),_0x24b937[_0x1a4e('0xb01')](this['_c'],0x8),_0x24b937[_0x1a4e('0xb01')](this['_d'],0xc),_0x24b937[_0x1a4e('0xb01')](this['_e'],0x10),_0x24b937[_0x1a4e('0xb01')](this['_f'],0x14),_0x24b937['writeInt32BE'](this['_g'],0x18),_0x24b937;},_0x24b937[_0x1a4e('0x0')]=_0x59e0f0;},'./node_modules/sha.js/sha256.js':function(_0x4a3b73,_0x40bcec,_0x1ba941){var _0xdda99=_0x1ba941(_0x1a4e('0x863')),_0xa7cba=_0x1ba941('./node_modules/sha.js/hash.js'),_0x569db8=_0x1ba941(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x54add6=[0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2],_0x49473e=new Array(0x40);function _0x1abe01(){this[_0x1a4e('0x1fd')](),this['_w']=_0x49473e,_0xa7cba[_0x1a4e('0x1')](this,0x40,0x38);}function _0x60687b(_0x4a3b73,_0x40bcec,_0x1ba941){return _0x1ba941^_0x4a3b73&(_0x40bcec^_0x1ba941);}function _0x47f6b8(_0x4a3b73,_0x40bcec,_0x1ba941){return _0x4a3b73&_0x40bcec|_0x1ba941&(_0x4a3b73|_0x40bcec);}function _0x4a800e(_0x4a3b73){return(_0x4a3b73>>>0x2|_0x4a3b73<<0x1e)^(_0x4a3b73>>>0xd|_0x4a3b73<<0x13)^(_0x4a3b73>>>0x16|_0x4a3b73<<0xa);}function _0x480ff7(_0x4a3b73){return(_0x4a3b73>>>0x6|_0x4a3b73<<0x1a)^(_0x4a3b73>>>0xb|_0x4a3b73<<0x15)^(_0x4a3b73>>>0x19|_0x4a3b73<<0x7);}function _0x35527a(_0x4a3b73){return(_0x4a3b73>>>0x7|_0x4a3b73<<0x19)^(_0x4a3b73>>>0x12|_0x4a3b73<<0xe)^_0x4a3b73>>>0x3;}_0xdda99(_0x1abe01,_0xa7cba),_0x1abe01['prototype'][_0x1a4e('0x1fd')]=function(){return this['_a']=0x6a09e667,this['_b']=0xbb67ae85,this['_c']=0x3c6ef372,this['_d']=0xa54ff53a,this['_e']=0x510e527f,this['_f']=0x9b05688c,this['_g']=0x1f83d9ab,this['_h']=0x5be0cd19,this;},_0x1abe01['prototype'][_0x1a4e('0xa74')]=function(_0x4a3b73){for(var _0x40bcec,_0x1ba941=this['_w'],_0xdda99=0x0|this['_a'],_0xa7cba=0x0|this['_b'],_0x569db8=0x0|this['_c'],_0x49473e=0x0|this['_d'],_0x1abe01=0x0|this['_e'],_0x502442=0x0|this['_f'],_0x5621c2=0x0|this['_g'],_0xb7ce9e=0x0|this['_h'],_0x59f580=0x0;_0x59f580<0x10;++_0x59f580)_0x1ba941[_0x59f580]=_0x4a3b73[_0x1a4e('0xaf4')](0x4*_0x59f580);for(;_0x59f580<0x40;++_0x59f580)_0x1ba941[_0x59f580]=0x0|(((_0x40bcec=_0x1ba941[_0x59f580-0x2])>>>0x11|_0x40bcec<<0xf)^(_0x40bcec>>>0x13|_0x40bcec<<0xd)^_0x40bcec>>>0xa)+_0x1ba941[_0x59f580-0x7]+_0x35527a(_0x1ba941[_0x59f580-0xf])+_0x1ba941[_0x59f580-0x10];for(var _0x3c22ef=0x0;_0x3c22ef<0x40;++_0x3c22ef){var _0xcdd68a=_0xb7ce9e+_0x480ff7(_0x1abe01)+_0x60687b(_0x1abe01,_0x502442,_0x5621c2)+_0x54add6[_0x3c22ef]+_0x1ba941[_0x3c22ef]|0x0,_0x1fa730=_0x4a800e(_0xdda99)+_0x47f6b8(_0xdda99,_0xa7cba,_0x569db8)|0x0;_0xb7ce9e=_0x5621c2,_0x5621c2=_0x502442,_0x502442=_0x1abe01,_0x1abe01=_0x49473e+_0xcdd68a|0x0,_0x49473e=_0x569db8,_0x569db8=_0xa7cba,_0xa7cba=_0xdda99,_0xdda99=_0xcdd68a+_0x1fa730|0x0;}this['_a']=_0xdda99+this['_a']|0x0,this['_b']=_0xa7cba+this['_b']|0x0,this['_c']=_0x569db8+this['_c']|0x0,this['_d']=_0x49473e+this['_d']|0x0,this['_e']=_0x1abe01+this['_e']|0x0,this['_f']=_0x502442+this['_f']|0x0,this['_g']=_0x5621c2+this['_g']|0x0,this['_h']=_0xb7ce9e+this['_h']|0x0;},_0x1abe01[_0x1a4e('0xa')][_0x1a4e('0xaa7')]=function(){var _0x4a3b73=_0x569db8['allocUnsafe'](0x20);return _0x4a3b73['writeInt32BE'](this['_a'],0x0),_0x4a3b73[_0x1a4e('0xb01')](this['_b'],0x4),_0x4a3b73[_0x1a4e('0xb01')](this['_c'],0x8),_0x4a3b73['writeInt32BE'](this['_d'],0xc),_0x4a3b73[_0x1a4e('0xb01')](this['_e'],0x10),_0x4a3b73[_0x1a4e('0xb01')](this['_f'],0x14),_0x4a3b73[_0x1a4e('0xb01')](this['_g'],0x18),_0x4a3b73[_0x1a4e('0xb01')](this['_h'],0x1c),_0x4a3b73;},_0x4a3b73[_0x1a4e('0x0')]=_0x1abe01;},'./node_modules/sha.js/sha384.js':function(_0x3bcb42,_0x35a103,_0xcd4462){var _0xe44601=_0xcd4462('./node_modules/inherits/inherits_browser.js'),_0x388e48=_0xcd4462('./node_modules/sha.js/sha512.js'),_0xbd8a23=_0xcd4462(_0x1a4e('0x1553')),_0x401ec5=_0xcd4462(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x16b9f4=new Array(0xa0);function _0xf9775a(){this[_0x1a4e('0x1fd')](),this['_w']=_0x16b9f4,_0xbd8a23[_0x1a4e('0x1')](this,0x80,0x70);}_0xe44601(_0xf9775a,_0x388e48),_0xf9775a[_0x1a4e('0xa')]['init']=function(){return this[_0x1a4e('0x1555')]=0xcbbb9d5d,this[_0x1a4e('0x1556')]=0x629a292a,this[_0x1a4e('0x1557')]=0x9159015a,this['_dh']=0x152fecd8,this[_0x1a4e('0x1558')]=0x67332667,this[_0x1a4e('0x1559')]=0x8eb44a87,this[_0x1a4e('0x155a')]=0xdb0c2e0d,this[_0x1a4e('0x155b')]=0x47b5481d,this[_0x1a4e('0x155c')]=0xc1059ed8,this[_0x1a4e('0x155d')]=0x367cd507,this['_cl']=0x3070dd17,this['_dl']=0xf70e5939,this[_0x1a4e('0x155e')]=0xffc00b31,this[_0x1a4e('0x155f')]=0x68581511,this[_0x1a4e('0x1560')]=0x64f98fa7,this[_0x1a4e('0x1561')]=0xbefa4fa4,this;},_0xf9775a[_0x1a4e('0xa')][_0x1a4e('0xaa7')]=function(){var _0x3bcb42=_0x401ec5[_0x1a4e('0xa3c')](0x30);function _0x35a103(_0x35a103,_0xcd4462,_0xe44601){_0x3bcb42['writeInt32BE'](_0x35a103,_0xe44601),_0x3bcb42[_0x1a4e('0xb01')](_0xcd4462,_0xe44601+0x4);}return _0x35a103(this[_0x1a4e('0x1555')],this[_0x1a4e('0x155c')],0x0),_0x35a103(this[_0x1a4e('0x1556')],this[_0x1a4e('0x155d')],0x8),_0x35a103(this[_0x1a4e('0x1557')],this[_0x1a4e('0x1562')],0x10),_0x35a103(this[_0x1a4e('0x1563')],this['_dl'],0x18),_0x35a103(this[_0x1a4e('0x1558')],this[_0x1a4e('0x155e')],0x20),_0x35a103(this[_0x1a4e('0x1559')],this[_0x1a4e('0x155f')],0x28),_0x3bcb42;},_0x3bcb42['exports']=_0xf9775a;},'./node_modules/sha.js/sha512.js':function(_0x7db80b,_0x500085,_0x2045a4){var _0x27ba3e=_0x2045a4(_0x1a4e('0x863')),_0x25e1da=_0x2045a4('./node_modules/sha.js/hash.js'),_0x2135c2=_0x2045a4('./node_modules/safe-buffer/index.js')[_0x1a4e('0x870')],_0x7e1d1f=[0x428a2f98,0xd728ae22,0x71374491,0x23ef65cd,0xb5c0fbcf,0xec4d3b2f,0xe9b5dba5,0x8189dbbc,0x3956c25b,0xf348b538,0x59f111f1,0xb605d019,0x923f82a4,0xaf194f9b,0xab1c5ed5,0xda6d8118,0xd807aa98,0xa3030242,0x12835b01,0x45706fbe,0x243185be,0x4ee4b28c,0x550c7dc3,0xd5ffb4e2,0x72be5d74,0xf27b896f,0x80deb1fe,0x3b1696b1,0x9bdc06a7,0x25c71235,0xc19bf174,0xcf692694,0xe49b69c1,0x9ef14ad2,0xefbe4786,0x384f25e3,0xfc19dc6,0x8b8cd5b5,0x240ca1cc,0x77ac9c65,0x2de92c6f,0x592b0275,0x4a7484aa,0x6ea6e483,0x5cb0a9dc,0xbd41fbd4,0x76f988da,0x831153b5,0x983e5152,0xee66dfab,0xa831c66d,0x2db43210,0xb00327c8,0x98fb213f,0xbf597fc7,0xbeef0ee4,0xc6e00bf3,0x3da88fc2,0xd5a79147,0x930aa725,0x6ca6351,0xe003826f,0x14292967,0xa0e6e70,0x27b70a85,0x46d22ffc,0x2e1b2138,0x5c26c926,0x4d2c6dfc,0x5ac42aed,0x53380d13,0x9d95b3df,0x650a7354,0x8baf63de,0x766a0abb,0x3c77b2a8,0x81c2c92e,0x47edaee6,0x92722c85,0x1482353b,0xa2bfe8a1,0x4cf10364,0xa81a664b,0xbc423001,0xc24b8b70,0xd0f89791,0xc76c51a3,0x654be30,0xd192e819,0xd6ef5218,0xd6990624,0x5565a910,0xf40e3585,0x5771202a,0x106aa070,0x32bbd1b8,0x19a4c116,0xb8d2d0c8,0x1e376c08,0x5141ab53,0x2748774c,0xdf8eeb99,0x34b0bcb5,0xe19b48a8,0x391c0cb3,0xc5c95a63,0x4ed8aa4a,0xe3418acb,0x5b9cca4f,0x7763e373,0x682e6ff3,0xd6b2b8a3,0x748f82ee,0x5defb2fc,0x78a5636f,0x43172f60,0x84c87814,0xa1f0ab72,0x8cc70208,0x1a6439ec,0x90befffa,0x23631e28,0xa4506ceb,0xde82bde9,0xbef9a3f7,0xb2c67915,0xc67178f2,0xe372532b,0xca273ece,0xea26619c,0xd186b8c7,0x21c0c207,0xeada7dd6,0xcde0eb1e,0xf57d4f7f,0xee6ed178,0x6f067aa,0x72176fba,0xa637dc5,0xa2c898a6,0x113f9804,0xbef90dae,0x1b710b35,0x131c471b,0x28db77f5,0x23047d84,0x32caab7b,0x40c72493,0x3c9ebe0a,0x15c9bebc,0x431d67c4,0x9c100d4c,0x4cc5d4be,0xcb3e42b6,0x597f299c,0xfc657e2a,0x5fcb6fab,0x3ad6faec,0x6c44198c,0x4a475817],_0xf0f6b9=new Array(0xa0);function _0xdaaf69(){this['init'](),this['_w']=_0xf0f6b9,_0x25e1da[_0x1a4e('0x1')](this,0x80,0x70);}function _0x3099c3(_0x7db80b,_0x500085,_0x2045a4){return _0x2045a4^_0x7db80b&(_0x500085^_0x2045a4);}function _0x1f4bd4(_0x7db80b,_0x500085,_0x2045a4){return _0x7db80b&_0x500085|_0x2045a4&(_0x7db80b|_0x500085);}function _0x5f0853(_0x7db80b,_0x500085){return(_0x7db80b>>>0x1c|_0x500085<<0x4)^(_0x500085>>>0x2|_0x7db80b<<0x1e)^(_0x500085>>>0x7|_0x7db80b<<0x19);}function _0x5dd0fc(_0x7db80b,_0x500085){return(_0x7db80b>>>0xe|_0x500085<<0x12)^(_0x7db80b>>>0x12|_0x500085<<0xe)^(_0x500085>>>0x9|_0x7db80b<<0x17);}function _0xbeb825(_0x7db80b,_0x500085){return(_0x7db80b>>>0x1|_0x500085<<0x1f)^(_0x7db80b>>>0x8|_0x500085<<0x18)^_0x7db80b>>>0x7;}function _0x27e9ff(_0x7db80b,_0x500085){return(_0x7db80b>>>0x1|_0x500085<<0x1f)^(_0x7db80b>>>0x8|_0x500085<<0x18)^(_0x7db80b>>>0x7|_0x500085<<0x19);}function _0x14bc67(_0x7db80b,_0x500085){return(_0x7db80b>>>0x13|_0x500085<<0xd)^(_0x500085>>>0x1d|_0x7db80b<<0x3)^_0x7db80b>>>0x6;}function _0x66d05e(_0x7db80b,_0x500085){return(_0x7db80b>>>0x13|_0x500085<<0xd)^(_0x500085>>>0x1d|_0x7db80b<<0x3)^(_0x7db80b>>>0x6|_0x500085<<0x1a);}function _0x5a4b29(_0x7db80b,_0x500085){return _0x7db80b>>>0x0<_0x500085>>>0x0?0x1:0x0;}_0x27ba3e(_0xdaaf69,_0x25e1da),_0xdaaf69[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){return this[_0x1a4e('0x1555')]=0x6a09e667,this[_0x1a4e('0x1556')]=0xbb67ae85,this['_ch']=0x3c6ef372,this[_0x1a4e('0x1563')]=0xa54ff53a,this[_0x1a4e('0x1558')]=0x510e527f,this[_0x1a4e('0x1559')]=0x9b05688c,this['_gh']=0x1f83d9ab,this['_hh']=0x5be0cd19,this[_0x1a4e('0x155c')]=0xf3bcc908,this[_0x1a4e('0x155d')]=0x84caa73b,this['_cl']=0xfe94f82b,this[_0x1a4e('0x1564')]=0x5f1d36f1,this[_0x1a4e('0x155e')]=0xade682d1,this[_0x1a4e('0x155f')]=0x2b3e6c1f,this[_0x1a4e('0x1560')]=0xfb41bd6b,this[_0x1a4e('0x1561')]=0x137e2179,this;},_0xdaaf69['prototype'][_0x1a4e('0xa74')]=function(_0x7db80b){for(var _0x500085=this['_w'],_0x2045a4=0x0|this['_ah'],_0x27ba3e=0x0|this['_bh'],_0x25e1da=0x0|this[_0x1a4e('0x1557')],_0x2135c2=0x0|this['_dh'],_0xf0f6b9=0x0|this[_0x1a4e('0x1558')],_0xdaaf69=0x0|this[_0x1a4e('0x1559')],_0x48bbe8=0x0|this[_0x1a4e('0x155a')],_0x1193bf=0x0|this[_0x1a4e('0x155b')],_0x543634=0x0|this[_0x1a4e('0x155c')],_0x4114b1=0x0|this[_0x1a4e('0x155d')],_0x295edc=0x0|this['_cl'],_0x37c109=0x0|this[_0x1a4e('0x1564')],_0xdc9908=0x0|this[_0x1a4e('0x155e')],_0x2cce6d=0x0|this[_0x1a4e('0x155f')],_0x24366f=0x0|this[_0x1a4e('0x1560')],_0x44180e=0x0|this[_0x1a4e('0x1561')],_0x1eac28=0x0;_0x1eac28<0x20;_0x1eac28+=0x2)_0x500085[_0x1eac28]=_0x7db80b[_0x1a4e('0xaf4')](0x4*_0x1eac28),_0x500085[_0x1eac28+0x1]=_0x7db80b[_0x1a4e('0xaf4')](0x4*_0x1eac28+0x4);for(;_0x1eac28<0xa0;_0x1eac28+=0x2){var _0x2e36ca=_0x500085[_0x1eac28-0x1e],_0x1f3988=_0x500085[_0x1eac28-0x1e+0x1],_0x457b61=_0xbeb825(_0x2e36ca,_0x1f3988),_0x5b9620=_0x27e9ff(_0x1f3988,_0x2e36ca),_0x17b138=_0x14bc67(_0x2e36ca=_0x500085[_0x1eac28-0x4],_0x1f3988=_0x500085[_0x1eac28-0x4+0x1]),_0x1be230=_0x66d05e(_0x1f3988,_0x2e36ca),_0x3b72dd=_0x500085[_0x1eac28-0xe],_0x45cb6a=_0x500085[_0x1eac28-0xe+0x1],_0x2aedfa=_0x500085[_0x1eac28-0x20],_0x7bbe7=_0x500085[_0x1eac28-0x20+0x1],_0x3ffd47=_0x5b9620+_0x45cb6a|0x0,_0x229483=_0x457b61+_0x3b72dd+_0x5a4b29(_0x3ffd47,_0x5b9620)|0x0;_0x229483=(_0x229483=_0x229483+_0x17b138+_0x5a4b29(_0x3ffd47=_0x3ffd47+_0x1be230|0x0,_0x1be230)|0x0)+_0x2aedfa+_0x5a4b29(_0x3ffd47=_0x3ffd47+_0x7bbe7|0x0,_0x7bbe7)|0x0,_0x500085[_0x1eac28]=_0x229483,_0x500085[_0x1eac28+0x1]=_0x3ffd47;}for(var _0x5bfae0=0x0;_0x5bfae0<0xa0;_0x5bfae0+=0x2){_0x229483=_0x500085[_0x5bfae0],_0x3ffd47=_0x500085[_0x5bfae0+0x1];var _0x5e5f9a=_0x1f4bd4(_0x2045a4,_0x27ba3e,_0x25e1da),_0x5c40a5=_0x1f4bd4(_0x543634,_0x4114b1,_0x295edc),_0x4fe27b=_0x5f0853(_0x2045a4,_0x543634),_0xb75cc7=_0x5f0853(_0x543634,_0x2045a4),_0x4d4a27=_0x5dd0fc(_0xf0f6b9,_0xdc9908),_0xf70d8f=_0x5dd0fc(_0xdc9908,_0xf0f6b9),_0x507973=_0x7e1d1f[_0x5bfae0],_0x1f0297=_0x7e1d1f[_0x5bfae0+0x1],_0x261e8b=_0x3099c3(_0xf0f6b9,_0xdaaf69,_0x48bbe8),_0x50d3a0=_0x3099c3(_0xdc9908,_0x2cce6d,_0x24366f),_0xf1b437=_0x44180e+_0xf70d8f|0x0,_0xfbef95=_0x1193bf+_0x4d4a27+_0x5a4b29(_0xf1b437,_0x44180e)|0x0;_0xfbef95=(_0xfbef95=(_0xfbef95=_0xfbef95+_0x261e8b+_0x5a4b29(_0xf1b437=_0xf1b437+_0x50d3a0|0x0,_0x50d3a0)|0x0)+_0x507973+_0x5a4b29(_0xf1b437=_0xf1b437+_0x1f0297|0x0,_0x1f0297)|0x0)+_0x229483+_0x5a4b29(_0xf1b437=_0xf1b437+_0x3ffd47|0x0,_0x3ffd47)|0x0;var _0x580506=_0xb75cc7+_0x5c40a5|0x0,_0x3c4298=_0x4fe27b+_0x5e5f9a+_0x5a4b29(_0x580506,_0xb75cc7)|0x0;_0x1193bf=_0x48bbe8,_0x44180e=_0x24366f,_0x48bbe8=_0xdaaf69,_0x24366f=_0x2cce6d,_0xdaaf69=_0xf0f6b9,_0x2cce6d=_0xdc9908,_0xf0f6b9=_0x2135c2+_0xfbef95+_0x5a4b29(_0xdc9908=_0x37c109+_0xf1b437|0x0,_0x37c109)|0x0,_0x2135c2=_0x25e1da,_0x37c109=_0x295edc,_0x25e1da=_0x27ba3e,_0x295edc=_0x4114b1,_0x27ba3e=_0x2045a4,_0x4114b1=_0x543634,_0x2045a4=_0xfbef95+_0x3c4298+_0x5a4b29(_0x543634=_0xf1b437+_0x580506|0x0,_0xf1b437)|0x0;}this[_0x1a4e('0x155c')]=this[_0x1a4e('0x155c')]+_0x543634|0x0,this[_0x1a4e('0x155d')]=this[_0x1a4e('0x155d')]+_0x4114b1|0x0,this[_0x1a4e('0x1562')]=this['_cl']+_0x295edc|0x0,this[_0x1a4e('0x1564')]=this[_0x1a4e('0x1564')]+_0x37c109|0x0,this[_0x1a4e('0x155e')]=this[_0x1a4e('0x155e')]+_0xdc9908|0x0,this[_0x1a4e('0x155f')]=this[_0x1a4e('0x155f')]+_0x2cce6d|0x0,this[_0x1a4e('0x1560')]=this['_gl']+_0x24366f|0x0,this['_hl']=this[_0x1a4e('0x1561')]+_0x44180e|0x0,this[_0x1a4e('0x1555')]=this[_0x1a4e('0x1555')]+_0x2045a4+_0x5a4b29(this[_0x1a4e('0x155c')],_0x543634)|0x0,this[_0x1a4e('0x1556')]=this['_bh']+_0x27ba3e+_0x5a4b29(this[_0x1a4e('0x155d')],_0x4114b1)|0x0,this['_ch']=this['_ch']+_0x25e1da+_0x5a4b29(this['_cl'],_0x295edc)|0x0,this['_dh']=this[_0x1a4e('0x1563')]+_0x2135c2+_0x5a4b29(this[_0x1a4e('0x1564')],_0x37c109)|0x0,this[_0x1a4e('0x1558')]=this['_eh']+_0xf0f6b9+_0x5a4b29(this['_el'],_0xdc9908)|0x0,this[_0x1a4e('0x1559')]=this[_0x1a4e('0x1559')]+_0xdaaf69+_0x5a4b29(this[_0x1a4e('0x155f')],_0x2cce6d)|0x0,this[_0x1a4e('0x155a')]=this[_0x1a4e('0x155a')]+_0x48bbe8+_0x5a4b29(this[_0x1a4e('0x1560')],_0x24366f)|0x0,this[_0x1a4e('0x155b')]=this['_hh']+_0x1193bf+_0x5a4b29(this['_hl'],_0x44180e)|0x0;},_0xdaaf69[_0x1a4e('0xa')][_0x1a4e('0xaa7')]=function(){var _0x7db80b=_0x2135c2[_0x1a4e('0xa3c')](0x40);function _0x500085(_0x500085,_0x2045a4,_0x27ba3e){_0x7db80b['writeInt32BE'](_0x500085,_0x27ba3e),_0x7db80b['writeInt32BE'](_0x2045a4,_0x27ba3e+0x4);}return _0x500085(this[_0x1a4e('0x1555')],this[_0x1a4e('0x155c')],0x0),_0x500085(this[_0x1a4e('0x1556')],this[_0x1a4e('0x155d')],0x8),_0x500085(this[_0x1a4e('0x1557')],this[_0x1a4e('0x1562')],0x10),_0x500085(this[_0x1a4e('0x1563')],this[_0x1a4e('0x1564')],0x18),_0x500085(this[_0x1a4e('0x1558')],this['_el'],0x20),_0x500085(this[_0x1a4e('0x1559')],this['_fl'],0x28),_0x500085(this[_0x1a4e('0x155a')],this['_gl'],0x30),_0x500085(this['_hh'],this[_0x1a4e('0x1561')],0x38),_0x7db80b;},_0x7db80b[_0x1a4e('0x0')]=_0xdaaf69;},'./node_modules/single-spa/lib/esm/single-spa.min.js':function(_0x4a0e19,_0x284052,_0x2664f8){'use strict';_0x2664f8['r'](_0x284052),function(_0x4a0e19){_0x2664f8['d'](_0x284052,_0x1a4e('0x1565'),function(){return _0x151ed8;}),_0x2664f8['d'](_0x284052,'LOADING_SOURCE_CODE',function(){return _0x43ac54;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1566'),function(){return _0x2098b9;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1567'),function(){return _0x3a1ae8;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1568'),function(){return _0x4cd735;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1569'),function(){return _0x308169;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x156a'),function(){return _0x2bafd6;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x156b'),function(){return _0x46c64c;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x156c'),function(){return _0x342399;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x156d'),function(){return _0x3b894d;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x156e'),function(){return _0x2cd936;}),_0x2664f8['d'](_0x284052,'addErrorHandler',function(){return _0x3966d8;}),_0x2664f8['d'](_0x284052,'checkActivityFunctions',function(){return _0x1da394;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x156f'),function(){return _0x1e3784;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1570'),function(){return _0x4eefe1;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1571'),function(){return _0xd7b1d2;}),_0x2664f8['d'](_0x284052,'getMountedApps',function(){return _0x2e4545;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x128c'),function(){return _0x4623e7;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1295'),function(){return _0x49f9dd;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1572'),function(){return _0x51f5cb;}),_0x2664f8['d'](_0x284052,'registerApplication',function(){return _0x2525f5;}),_0x2664f8['d'](_0x284052,'removeErrorHandler',function(){return _0x536170;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1573'),function(){return _0x265847;}),_0x2664f8['d'](_0x284052,'setMountMaxTime',function(){return _0x239f75;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1574'),function(){return _0x18d644;}),_0x2664f8['d'](_0x284052,'setUnmountMaxTime',function(){return _0x3b7993;}),_0x2664f8['d'](_0x284052,_0x1a4e('0xc9'),function(){return _0x348515;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1575'),function(){return _0x53514a;}),_0x2664f8['d'](_0x284052,_0x1a4e('0x1576'),function(){return _0x14c036;});var _0xe5c93a=Object['freeze']({'__proto__':null,get 'start'(){return _0x348515;},get 'ensureJQuerySupport'(){return _0x1e3784;},get 'setBootstrapMaxTime'(){return _0x265847;},get 'setMountMaxTime'(){return _0x239f75;},get 'setUnmountMaxTime'(){return _0x3b7993;},get 'setUnloadMaxTime'(){return _0x18d644;},get 'registerApplication'(){return _0x2525f5;},get 'getMountedApps'(){return _0x2e4545;},get 'getAppStatus'(){return _0xd7b1d2;},get 'unloadApplication'(){return _0x14c036;},get 'checkActivityFunctions'(){return _0x1da394;},get 'getAppNames'(){return _0x4eefe1;},get 'pathToActiveWhen'(){return _0x51f5cb;},get 'navigateToUrl'(){return _0x49f9dd;},get 'triggerAppChange'(){return _0x53514a;},get 'addErrorHandler'(){return _0x3966d8;},get 'removeErrorHandler'(){return _0x536170;},get 'mountRootParcel'(){return _0x4623e7;},get 'NOT_LOADED'(){return _0x2bafd6;},get 'LOADING_SOURCE_CODE'(){return _0x43ac54;},get 'NOT_BOOTSTRAPPED'(){return _0x308169;},get 'BOOTSTRAPPING'(){return _0x151ed8;},get 'NOT_MOUNTED'(){return _0x46c64c;},get 'MOUNTING'(){return _0x4cd735;},get 'UPDATING'(){return _0x2cd936;},get 'LOAD_ERROR'(){return _0x2098b9;},get 'MOUNTED'(){return _0x3a1ae8;},get 'UNMOUNTING'(){return _0x3b894d;},get 'SKIP_BECAUSE_BROKEN'(){return _0x342399;}});function _0x577bab(_0x4a0e19){return(_0x577bab=_0x1a4e('0x68')==typeof Symbol&&_0x1a4e('0xb1b')==typeof Symbol['iterator']?function(_0x4a0e19){return typeof _0x4a0e19;}:function(_0x4a0e19){return _0x4a0e19&&_0x1a4e('0x68')==typeof Symbol&&_0x4a0e19['constructor']===Symbol&&_0x4a0e19!==Symbol[_0x1a4e('0xa')]?_0x1a4e('0xb1b'):typeof _0x4a0e19;})(_0x4a0e19);}function _0x5db94e(_0x4a0e19,_0x284052,_0x2664f8){return _0x284052 in _0x4a0e19?Object[_0x1a4e('0x2')](_0x4a0e19,_0x284052,{'value':_0x2664f8,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x4a0e19[_0x284052]=_0x2664f8,_0x4a0e19;}var _0x49ec55=(_0x1a4e('0x3')!=typeof globalThis?globalThis:_0x1a4e('0x3')!=typeof window?window:void 0x0!==_0x4a0e19?_0x4a0e19:_0x1a4e('0x3')!=typeof self?self:{})[_0x1a4e('0x1577')],_0x1e9232=function(){try{var _0x4a0e19=new _0x49ec55(_0x1a4e('0x1578'),{'detail':{'foo':_0x1a4e('0x1579')}});return _0x1a4e('0x1578')===_0x4a0e19[_0x1a4e('0x40')]&&_0x1a4e('0x1579')===_0x4a0e19[_0x1a4e('0x157a')][_0x1a4e('0xad7')];}catch(_0x181814){}return!0x1;}()?_0x49ec55:_0x1a4e('0x3')!=typeof document&&_0x1a4e('0x68')==typeof document[_0x1a4e('0x157b')]?function(_0x4a0e19,_0x284052){var _0x2664f8=document[_0x1a4e('0x157b')]('CustomEvent');return _0x284052?_0x2664f8['initCustomEvent'](_0x4a0e19,_0x284052[_0x1a4e('0x157c')],_0x284052[_0x1a4e('0x157d')],_0x284052[_0x1a4e('0x157a')]):_0x2664f8[_0x1a4e('0x157e')](_0x4a0e19,!0x1,!0x1,void 0x0),_0x2664f8;}:function(_0x4a0e19,_0x284052){var _0x2664f8=document[_0x1a4e('0x157f')]();return _0x2664f8[_0x1a4e('0x40')]=_0x4a0e19,_0x284052?(_0x2664f8[_0x1a4e('0x157c')]=Boolean(_0x284052[_0x1a4e('0x157c')]),_0x2664f8[_0x1a4e('0x157d')]=Boolean(_0x284052[_0x1a4e('0x157d')]),_0x2664f8[_0x1a4e('0x157a')]=_0x284052[_0x1a4e('0x157a')]):(_0x2664f8[_0x1a4e('0x157c')]=!0x1,_0x2664f8[_0x1a4e('0x157d')]=!0x1,_0x2664f8[_0x1a4e('0x157a')]=void 0x0),_0x2664f8;},_0x3a1137=[];function _0x4428fc(_0x4a0e19,_0x284052,_0x2664f8){var _0xe5c93a=_0x477068(_0x4a0e19,_0x284052,_0x2664f8);_0x3a1137[_0x1a4e('0x1e')]?_0x3a1137['forEach'](function(_0x4a0e19){return _0x4a0e19(_0xe5c93a);}):setTimeout(function(){throw _0xe5c93a;});}function _0x3966d8(_0x4a0e19){if(_0x1a4e('0x68')!=typeof _0x4a0e19)throw Error(_0x4cf9d8(0x1c,!0x1));_0x3a1137[_0x1a4e('0x46')](_0x4a0e19);}function _0x536170(_0x4a0e19){if('function'!=typeof _0x4a0e19)throw Error(_0x4cf9d8(0x1d,!0x1));var _0x284052=!0x1;return _0x3a1137=_0x3a1137[_0x1a4e('0xd9')](function(_0x2664f8){var _0xe5c93a=_0x2664f8===_0x4a0e19;return _0x284052=_0x284052||_0xe5c93a,!_0xe5c93a;}),_0x284052;}function _0x4cf9d8(_0x4a0e19,_0x284052){for(var _0x2664f8=arguments['length'],_0xe5c93a=new Array(_0x2664f8>0x2?_0x2664f8-0x2:0x0),_0x577bab=0x2;_0x577bab<_0x2664f8;_0x577bab++)_0xe5c93a[_0x577bab-0x2]=arguments[_0x577bab];return _0x1a4e('0x1580')[_0x1a4e('0x9a')](_0x4a0e19,':\x20')[_0x1a4e('0x9a')](_0x284052?_0x284052+'\x20':'',_0x1a4e('0x1581'))[_0x1a4e('0x9a')](_0x4a0e19)['concat'](_0xe5c93a[_0x1a4e('0x1e')]?_0x1a4e('0x1582')[_0x1a4e('0x9a')](_0xe5c93a['join'](_0x1a4e('0x1582'))):'');}function _0x477068(_0x4a0e19,_0x284052,_0x2664f8){var _0xe5c93a,_0x577bab=''[_0x1a4e('0x9a')](_0x128566(_0x284052),'\x20\x27')[_0x1a4e('0x9a')](_0x30a652(_0x284052),'\x27\x20died\x20in\x20status\x20')[_0x1a4e('0x9a')](_0x284052[_0x1a4e('0xe02')],':\x20');if(_0x4a0e19 instanceof Error){try{_0x4a0e19[_0x1a4e('0x133')]=_0x577bab+_0x4a0e19['message'];}catch(_0x2b4188){}_0xe5c93a=_0x4a0e19;}else{console['warn'](_0x4cf9d8(0x1e,!0x1,_0x284052[_0x1a4e('0xe02')],_0x30a652(_0x284052)));try{_0xe5c93a=Error(_0x577bab+JSON[_0x1a4e('0xd7')](_0x4a0e19));}catch(_0x50df9d){_0xe5c93a=_0x2b4188;}}return _0xe5c93a['appOrParcelName']=_0x30a652(_0x284052),_0x284052[_0x1a4e('0xe02')]=_0x2664f8,_0xe5c93a;}var _0x2bafd6=_0x1a4e('0x156a'),_0x43ac54='LOADING_SOURCE_CODE',_0x308169=_0x1a4e('0x1569'),_0x151ed8='BOOTSTRAPPING',_0x46c64c=_0x1a4e('0x156b'),_0x4cd735='MOUNTING',_0x3a1ae8='MOUNTED',_0x2cd936='UPDATING',_0x3b894d=_0x1a4e('0x156d'),_0x2098b9='LOAD_ERROR',_0x342399=_0x1a4e('0x156c');function _0x24bb7d(_0x4a0e19){return _0x4a0e19[_0x1a4e('0xe02')]===_0x3a1ae8;}function _0x8f4b7b(_0x4a0e19){try{return _0x4a0e19[_0x1a4e('0x1583')](window[_0x1a4e('0xbc')]);}catch(_0x2b4aca){return _0x4428fc(_0x2b4aca,_0x4a0e19,_0x342399),!0x1;}}function _0x30a652(_0x4a0e19){return _0x4a0e19[_0x1a4e('0x2cb')];}function _0x6e9286(_0x4a0e19){return Boolean(_0x4a0e19[_0x1a4e('0x1584')]);}function _0x128566(_0x4a0e19){return _0x6e9286(_0x4a0e19)?_0x1a4e('0x1585'):'application';}function _0x4750e2(){for(var _0x4a0e19=arguments[_0x1a4e('0x1e')]-0x1;_0x4a0e19>0x0;_0x4a0e19--)for(var _0x284052 in arguments[_0x4a0e19])_0x1a4e('0x295')!==_0x284052&&(arguments[_0x4a0e19-0x1][_0x284052]=arguments[_0x4a0e19][_0x284052]);return arguments[0x0];}function _0x37d5c2(_0x4a0e19,_0x284052){for(var _0x2664f8=0x0;_0x2664f8<_0x4a0e19[_0x1a4e('0x1e')];_0x2664f8++)if(_0x284052(_0x4a0e19[_0x2664f8]))return _0x4a0e19[_0x2664f8];return null;}function _0x639d0f(_0x4a0e19){return _0x4a0e19&&(_0x1a4e('0x68')==typeof _0x4a0e19||(_0x284052=_0x4a0e19,Array[_0x1a4e('0x15')](_0x284052)&&!_0x37d5c2(_0x284052,function(_0x4a0e19){return'function'!=typeof _0x4a0e19;})));var _0x284052;}function _0x12b2cb(_0x4a0e19,_0x284052){var _0x2664f8=_0x4a0e19[_0x284052]||[];0x0===(_0x2664f8=Array[_0x1a4e('0x15')](_0x2664f8)?_0x2664f8:[_0x2664f8])[_0x1a4e('0x1e')]&&(_0x2664f8=[function(){return Promise['resolve']();}]);var _0xe5c93a=_0x128566(_0x4a0e19),_0x577bab=_0x30a652(_0x4a0e19);return function(_0x4a0e19){return _0x2664f8['reduce'](function(_0x2664f8,_0x5db94e,_0x49ec55){return _0x2664f8['then'](function(){var _0x2664f8=_0x5db94e(_0x4a0e19);return _0x4f3e50(_0x2664f8)?_0x2664f8:Promise['reject'](_0x4cf9d8(0xf,!0x1,_0xe5c93a,_0x577bab,_0x284052,_0x49ec55));});},Promise[_0x1a4e('0xe20')]());};}function _0x4f3e50(_0x4a0e19){return _0x4a0e19&&'function'==typeof _0x4a0e19[_0x1a4e('0xdf8')]&&_0x1a4e('0x68')==typeof _0x4a0e19[_0x1a4e('0x1586')];}function _0x24af31(_0x4a0e19,_0x284052){return Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](function(){return _0x4a0e19[_0x1a4e('0xe02')]!==_0x308169?_0x4a0e19:(_0x4a0e19[_0x1a4e('0xe02')]=_0x151ed8,_0x4a0e19[_0x1a4e('0x12df')]?_0x33cede(_0x4a0e19,_0x1a4e('0x12df'))[_0x1a4e('0xdf8')](_0x2664f8)[_0x1a4e('0x1586')](function(_0x2664f8){if(_0x284052)throw _0x477068(_0x2664f8,_0x4a0e19,_0x342399);return _0x4428fc(_0x2664f8,_0x4a0e19,_0x342399),_0x4a0e19;}):Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](_0x2664f8));});function _0x2664f8(){return _0x4a0e19[_0x1a4e('0xe02')]=_0x46c64c,_0x4a0e19;}}function _0x5b576b(_0x4a0e19,_0x284052){return Promise['resolve']()['then'](function(){if(_0x4a0e19[_0x1a4e('0xe02')]!==_0x3a1ae8)return _0x4a0e19;_0x4a0e19[_0x1a4e('0xe02')]=_0x3b894d;var _0x2664f8=Object['keys'](_0x4a0e19[_0x1a4e('0x1587')])[_0x1a4e('0x21')](function(_0x284052){return _0x4a0e19[_0x1a4e('0x1587')][_0x284052][_0x1a4e('0x1584')]();});return Promise[_0x1a4e('0xb8')](_0x2664f8)[_0x1a4e('0xdf8')](_0xe5c93a,function(_0x2664f8){return _0xe5c93a()[_0x1a4e('0xdf8')](function(){var _0xe5c93a=Error(_0x2664f8[_0x1a4e('0x133')]);if(_0x284052)throw _0x477068(_0xe5c93a,_0x4a0e19,_0x342399);_0x4428fc(_0xe5c93a,_0x4a0e19,_0x342399);});})[_0x1a4e('0xdf8')](function(){return _0x4a0e19;});function _0xe5c93a(){return _0x33cede(_0x4a0e19,'unmount')['then'](function(){_0x4a0e19['status']=_0x46c64c;})[_0x1a4e('0x1586')](function(_0x2664f8){if(_0x284052)throw _0x477068(_0x2664f8,_0x4a0e19,_0x342399);_0x4428fc(_0x2664f8,_0x4a0e19,_0x342399);});}});}var _0x10d4b9=!0x1,_0xfa0374=!0x1;function _0xaa374c(_0x4a0e19,_0x284052){return Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](function(){return _0x4a0e19[_0x1a4e('0xe02')]!==_0x46c64c?_0x4a0e19:(_0x10d4b9||(window[_0x1a4e('0x1337')](new _0x1e9232(_0x1a4e('0x1588'))),_0x10d4b9=!0x0),_0x33cede(_0x4a0e19,_0x1a4e('0x128b'))[_0x1a4e('0xdf8')](function(){return _0x4a0e19['status']=_0x3a1ae8,_0xfa0374||(window[_0x1a4e('0x1337')](new _0x1e9232('single-spa:first-mount')),_0xfa0374=!0x0),_0x4a0e19;})[_0x1a4e('0x1586')](function(_0x2664f8){return _0x4a0e19[_0x1a4e('0xe02')]=_0x3a1ae8,_0x5b576b(_0x4a0e19,!0x0)[_0x1a4e('0xdf8')](_0xe5c93a,_0xe5c93a);function _0xe5c93a(){if(_0x284052)throw _0x477068(_0x2664f8,_0x4a0e19,_0x342399);return _0x4428fc(_0x2664f8,_0x4a0e19,_0x342399),_0x4a0e19;}}));});}var _0x18b7a5=0x0,_0x825283={'parcels':{}};function _0x4623e7(){return _0x46cc2c[_0x1a4e('0x8b')](_0x825283,arguments);}function _0x46cc2c(_0x4a0e19,_0x284052){var _0x2664f8=this;if(!_0x4a0e19||_0x1a4e('0x85')!==_0x577bab(_0x4a0e19)&&_0x1a4e('0x68')!=typeof _0x4a0e19)throw Error(_0x4cf9d8(0x2,!0x1));if(_0x4a0e19[_0x1a4e('0x2cb')]&&_0x1a4e('0x9')!=typeof _0x4a0e19[_0x1a4e('0x2cb')])throw Error(_0x4cf9d8(0x3,!0x1,_0x577bab(_0x4a0e19['name'])));if('object'!==_0x577bab(_0x284052))throw Error(_0x4cf9d8(0x4,!0x1,name,_0x577bab(_0x284052)));if(!_0x284052[_0x1a4e('0x1589')])throw Error(_0x4cf9d8(0x5,!0x1,name));var _0xe5c93a,_0x5db94e=_0x18b7a5++,_0x49ec55=_0x1a4e('0x68')==typeof _0x4a0e19,_0x1e9232=_0x49ec55?_0x4a0e19:function(){return Promise['resolve'](_0x4a0e19);},_0x3a1137={'id':_0x5db94e,'parcels':{},'status':_0x49ec55?_0x43ac54:_0x308169,'customProps':_0x284052,'parentName':_0x30a652(_0x2664f8),'unmountThisParcel':function(){if(_0x3a1137['status']!==_0x3a1ae8)throw Error(_0x4cf9d8(0x6,!0x1,name,_0x3a1137['status']));return _0x5b576b(_0x3a1137,!0x0)[_0x1a4e('0xdf8')](function(_0x4a0e19){return _0x3a1137[_0x1a4e('0x158a')]&&delete _0x2664f8[_0x1a4e('0x1587')][_0x3a1137['id']],_0x4a0e19;})[_0x1a4e('0xdf8')](function(_0x4a0e19){return _0x3966d8(_0x4a0e19),_0x4a0e19;})[_0x1a4e('0x1586')](function(_0x4a0e19){throw _0x3a1137[_0x1a4e('0xe02')]=_0x342399,_0x536170(_0x4a0e19),_0x4a0e19;});}};_0x2664f8[_0x1a4e('0x1587')][_0x5db94e]=_0x3a1137;var _0x4428fc=_0x1e9232();if(!_0x4428fc||_0x1a4e('0x68')!=typeof _0x4428fc['then'])throw Error(_0x4cf9d8(0x7,!0x1));var _0x3966d8,_0x536170,_0x2bafd6=(_0x4428fc=_0x4428fc[_0x1a4e('0xdf8')](function(_0x4a0e19){if(!_0x4a0e19)throw Error(_0x4cf9d8(0x8,!0x1));var _0x284052=_0x4a0e19['name']||'parcel-'[_0x1a4e('0x9a')](_0x5db94e);if(Object[_0x1a4e('0xa')][_0x1a4e('0xb')][_0x1a4e('0x1')](_0x4a0e19,'bootstrap')&&!_0x639d0f(_0x4a0e19[_0x1a4e('0x12df')]))throw Error(_0x4cf9d8(0x9,!0x1,_0x284052));if(!_0x639d0f(_0x4a0e19[_0x1a4e('0x128b')]))throw Error(_0x4cf9d8(0xa,!0x1,_0x284052));if(!_0x639d0f(_0x4a0e19[_0x1a4e('0x1356')]))throw Error(_0x4cf9d8(0xb,!0x1,_0x284052));if(_0x4a0e19[_0x1a4e('0x937')]&&!_0x639d0f(_0x4a0e19['update']))throw Error(_0x4cf9d8(0xc,!0x1,_0x284052));var _0x2664f8=_0x12b2cb(_0x4a0e19,_0x1a4e('0x12df')),_0x577bab=_0x12b2cb(_0x4a0e19,'mount'),_0x49ec55=_0x12b2cb(_0x4a0e19,_0x1a4e('0x1356'));_0x3a1137[_0x1a4e('0xe02')]=_0x308169,_0x3a1137['name']=_0x284052,_0x3a1137[_0x1a4e('0x12df')]=_0x2664f8,_0x3a1137[_0x1a4e('0x128b')]=_0x577bab,_0x3a1137[_0x1a4e('0x1356')]=_0x49ec55,_0x3a1137[_0x1a4e('0x158b')]=_0x327869(_0x4a0e19[_0x1a4e('0x158b')]),_0x4a0e19[_0x1a4e('0x937')]&&(_0x3a1137[_0x1a4e('0x937')]=_0x12b2cb(_0x4a0e19,_0x1a4e('0x937')),_0xe5c93a[_0x1a4e('0x937')]=function(_0x4a0e19){return _0x3a1137[_0x1a4e('0x158c')]=_0x4a0e19,_0x5285ce(function(_0x4a0e19){return Promise['resolve']()[_0x1a4e('0xdf8')](function(){if(_0x4a0e19[_0x1a4e('0xe02')]!==_0x3a1ae8)throw Error(_0x4cf9d8(0x20,!0x1,_0x30a652(_0x4a0e19)));return _0x4a0e19[_0x1a4e('0xe02')]=_0x2cd936,_0x33cede(_0x4a0e19,_0x1a4e('0x937'))[_0x1a4e('0xdf8')](function(){return _0x4a0e19[_0x1a4e('0xe02')]=_0x3a1ae8,_0x4a0e19;})[_0x1a4e('0x1586')](function(_0x284052){throw _0x477068(_0x284052,_0x4a0e19,_0x342399);});});}(_0x3a1137));});}))[_0x1a4e('0xdf8')](function(){return _0x24af31(_0x3a1137,!0x0);}),_0x151ed8=_0x2bafd6[_0x1a4e('0xdf8')](function(){return _0xaa374c(_0x3a1137,!0x0);}),_0x4cd735=new Promise(function(_0x4a0e19,_0x284052){_0x3966d8=_0x4a0e19,_0x536170=_0x284052;});return _0xe5c93a={'mount':function(){return _0x5285ce(Promise[_0x1a4e('0xe20')]()['then'](function(){if(_0x3a1137[_0x1a4e('0xe02')]!==_0x46c64c)throw Error(_0x4cf9d8(0xd,!0x1,name,_0x3a1137[_0x1a4e('0xe02')]));return _0x2664f8[_0x1a4e('0x1587')][_0x5db94e]=_0x3a1137,_0xaa374c(_0x3a1137);}));},'unmount':function(){return _0x5285ce(_0x3a1137[_0x1a4e('0x1584')]());},'getStatus':function(){return _0x3a1137[_0x1a4e('0xe02')];},'loadPromise':_0x5285ce(_0x4428fc),'bootstrapPromise':_0x5285ce(_0x2bafd6),'mountPromise':_0x5285ce(_0x151ed8),'unmountPromise':_0x5285ce(_0x4cd735)};}function _0x5285ce(_0x4a0e19){return _0x4a0e19['then'](function(){return null;});}function _0x14dc4d(_0x4a0e19){var _0x284052=_0x30a652(_0x4a0e19),_0x2664f8='function'==typeof _0x4a0e19[_0x1a4e('0x158c')]?_0x4a0e19[_0x1a4e('0x158c')](_0x284052,window[_0x1a4e('0xbc')]):_0x4a0e19['customProps'];(_0x1a4e('0x85')!==_0x577bab(_0x2664f8)||null===_0x2664f8||Array[_0x1a4e('0x15')](_0x2664f8))&&(_0x2664f8={},console[_0x1a4e('0xe3c')](_0x4cf9d8(0x28,!0x1),_0x284052,_0x2664f8));var _0x5db94e=_0x4750e2({},_0x2664f8,{'name':_0x284052,'mountParcel':_0x46cc2c[_0x1a4e('0x945')](_0x4a0e19),'singleSpa':_0xe5c93a});return _0x6e9286(_0x4a0e19)&&(_0x5db94e[_0x1a4e('0x158d')]=_0x4a0e19[_0x1a4e('0x1584')]),_0x5db94e;}var _0x4f4c83={'bootstrap':{'millis':0xfa0,'dieOnTimeout':!0x1,'warningMillis':0x3e8},'mount':{'millis':0xbb8,'dieOnTimeout':!0x1,'warningMillis':0x3e8},'unmount':{'millis':0xbb8,'dieOnTimeout':!0x1,'warningMillis':0x3e8},'unload':{'millis':0xbb8,'dieOnTimeout':!0x1,'warningMillis':0x3e8},'update':{'millis':0xbb8,'dieOnTimeout':!0x1,'warningMillis':0x3e8}};function _0x265847(_0x4a0e19,_0x284052,_0x2664f8){if(_0x1a4e('0x3d')!=typeof _0x4a0e19||_0x4a0e19<=0x0)throw Error(_0x4cf9d8(0x10,!0x1));_0x4f4c83['bootstrap']={'millis':_0x4a0e19,'dieOnTimeout':_0x284052,'warningMillis':_0x2664f8||0x3e8};}function _0x239f75(_0x4a0e19,_0x284052,_0x2664f8){if(_0x1a4e('0x3d')!=typeof _0x4a0e19||_0x4a0e19<=0x0)throw Error(_0x4cf9d8(0x11,!0x1));_0x4f4c83[_0x1a4e('0x128b')]={'millis':_0x4a0e19,'dieOnTimeout':_0x284052,'warningMillis':_0x2664f8||0x3e8};}function _0x3b7993(_0x4a0e19,_0x284052,_0x2664f8){if(_0x1a4e('0x3d')!=typeof _0x4a0e19||_0x4a0e19<=0x0)throw Error(_0x4cf9d8(0x12,!0x1));_0x4f4c83[_0x1a4e('0x1356')]={'millis':_0x4a0e19,'dieOnTimeout':_0x284052,'warningMillis':_0x2664f8||0x3e8};}function _0x18d644(_0x4a0e19,_0x284052,_0x2664f8){if('number'!=typeof _0x4a0e19||_0x4a0e19<=0x0)throw Error(_0x4cf9d8(0x13,!0x1));_0x4f4c83[_0x1a4e('0x158e')]={'millis':_0x4a0e19,'dieOnTimeout':_0x284052,'warningMillis':_0x2664f8||0x3e8};}function _0x33cede(_0x4a0e19,_0x284052){var _0x2664f8=_0x4a0e19[_0x1a4e('0x158b')][_0x284052],_0xe5c93a=_0x2664f8[_0x1a4e('0x158f')],_0x577bab=_0x128566(_0x4a0e19);return new Promise(function(_0x5db94e,_0x49ec55){var _0x1e9232=!0x1,_0x3a1137=!0x1;_0x4a0e19[_0x284052](_0x14dc4d(_0x4a0e19))['then'](function(_0x4a0e19){_0x1e9232=!0x0,_0x5db94e(_0x4a0e19);})[_0x1a4e('0x1586')](function(_0x4a0e19){_0x1e9232=!0x0,_0x49ec55(_0x4a0e19);}),setTimeout(function(){return _0x3966d8(0x1);},_0xe5c93a),setTimeout(function(){return _0x3966d8(!0x0);},_0x2664f8[_0x1a4e('0xf2a')]);var _0x4428fc=_0x4cf9d8(0x1f,!0x1,_0x284052,_0x577bab,_0x30a652(_0x4a0e19),_0x2664f8[_0x1a4e('0xf2a')]);function _0x3966d8(_0x4a0e19){if(!_0x1e9232)if(!0x0===_0x4a0e19)_0x3a1137=!0x0,_0x2664f8[_0x1a4e('0x1590')]?_0x49ec55(Error(_0x4428fc)):console[_0x1a4e('0x873')](_0x4428fc);else if(!_0x3a1137){var _0x284052=_0x4a0e19,_0x577bab=_0x284052*_0xe5c93a;console[_0x1a4e('0xe3c')](_0x4428fc),_0x577bab+_0xe5c93a<_0x2664f8[_0x1a4e('0xf2a')]&&setTimeout(function(){return _0x3966d8(_0x284052+0x1);},_0xe5c93a);}}});}function _0x327869(_0x4a0e19){var _0x284052={};for(var _0x2664f8 in _0x4f4c83)_0x284052[_0x2664f8]=_0x4750e2({},_0x4f4c83[_0x2664f8],_0x4a0e19&&_0x4a0e19[_0x2664f8]||{});return _0x284052;}function _0x36e8cc(_0x4a0e19){return Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](function(){return _0x4a0e19[_0x1a4e('0x1591')]?_0x4a0e19[_0x1a4e('0x1591')]:_0x4a0e19['status']!==_0x2bafd6&&_0x4a0e19['status']!==_0x2098b9?_0x4a0e19:(_0x4a0e19[_0x1a4e('0xe02')]=_0x43ac54,_0x4a0e19[_0x1a4e('0x1591')]=Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](function(){var _0xe5c93a=_0x4a0e19[_0x1a4e('0x128d')](_0x14dc4d(_0x4a0e19));if(!_0x4f3e50(_0xe5c93a))throw _0x2664f8=!0x0,Error(_0x4cf9d8(0x21,!0x1,_0x30a652(_0x4a0e19)));return _0xe5c93a[_0x1a4e('0xdf8')](function(_0x2664f8){var _0xe5c93a;_0x4a0e19[_0x1a4e('0x1592')]=null,_0x1a4e('0x85')!==_0x577bab(_0x284052=_0x2664f8)&&(_0xe5c93a=0x22),Object[_0x1a4e('0xa')][_0x1a4e('0xb')][_0x1a4e('0x1')](_0x284052,_0x1a4e('0x12df'))&&!_0x639d0f(_0x284052[_0x1a4e('0x12df')])&&(_0xe5c93a=0x23),_0x639d0f(_0x284052[_0x1a4e('0x128b')])||(_0xe5c93a=0x24),_0x639d0f(_0x284052['unmount'])||(_0xe5c93a=0x25);var _0x5db94e=_0x128566(_0x284052);if(_0xe5c93a){var _0x49ec55;try{_0x49ec55=JSON[_0x1a4e('0xd7')](_0x284052);}catch(_0x15ccae){}return console[_0x1a4e('0x873')](_0x4cf9d8(_0xe5c93a,!0x1,_0x5db94e,_0x30a652(_0x4a0e19),_0x49ec55),_0x284052),_0x4428fc(void 0x0,_0x4a0e19,_0x342399),_0x4a0e19;}return _0x284052[_0x1a4e('0x1593')]&&_0x284052[_0x1a4e('0x1593')][_0x1a4e('0x1594')]&&(_0x4a0e19[_0x1a4e('0x1593')][_0x1a4e('0x1594')]=_0x4750e2({},_0x4a0e19[_0x1a4e('0x1593')][_0x1a4e('0x1594')],_0x284052['devtools'][_0x1a4e('0x1594')])),_0x4a0e19[_0x1a4e('0xe02')]=_0x308169,_0x4a0e19['bootstrap']=_0x12b2cb(_0x284052,_0x1a4e('0x12df')),_0x4a0e19['mount']=_0x12b2cb(_0x284052,_0x1a4e('0x128b')),_0x4a0e19[_0x1a4e('0x1356')]=_0x12b2cb(_0x284052,'unmount'),_0x4a0e19[_0x1a4e('0x158e')]=_0x12b2cb(_0x284052,_0x1a4e('0x158e')),_0x4a0e19[_0x1a4e('0x158b')]=_0x327869(_0x284052[_0x1a4e('0x158b')]),delete _0x4a0e19['loadPromise'],_0x4a0e19;});})['catch'](function(_0x284052){var _0xe5c93a;return delete _0x4a0e19['loadPromise'],_0x2664f8?_0xe5c93a=_0x342399:(_0xe5c93a=_0x2098b9,_0x4a0e19[_0x1a4e('0x1592')]=new Date()[_0x1a4e('0xe9')]()),_0x4428fc(_0x284052,_0x4a0e19,_0xe5c93a),_0x4a0e19;}));var _0x284052,_0x2664f8;});}var _0x2ec8bf,_0x535f37='undefined'!=typeof window,_0x46224f={'hashchange':[],'popstate':[]},_0x45fff4=[_0x1a4e('0x1595'),_0x1a4e('0x1596')];function _0x49f9dd(_0x4a0e19){var _0x284052;if('string'==typeof _0x4a0e19)_0x284052=_0x4a0e19;else if(this&&this[_0x1a4e('0xe3b')])_0x284052=this[_0x1a4e('0xe3b')];else{if(!(_0x4a0e19&&_0x4a0e19[_0x1a4e('0x1597')]&&_0x4a0e19['currentTarget']['href']&&_0x4a0e19[_0x1a4e('0x1598')]))throw Error(_0x4cf9d8(0xe,!0x1));_0x284052=_0x4a0e19[_0x1a4e('0x1597')]['href'],_0x4a0e19[_0x1a4e('0x1598')]();}var _0x2664f8=_0x7d1089(window[_0x1a4e('0xbc')][_0x1a4e('0xe3b')]),_0xe5c93a=_0x7d1089(_0x284052);0x0===_0x284052[_0x1a4e('0x3e')]('#')?window[_0x1a4e('0xbc')]['hash']=_0xe5c93a['hash']:_0x2664f8[_0x1a4e('0x1599')]!==_0xe5c93a[_0x1a4e('0x1599')]&&_0xe5c93a['host']?window['location'][_0x1a4e('0xe3b')]=_0x284052:_0xe5c93a[_0x1a4e('0x159a')]===_0x2664f8[_0x1a4e('0x159a')]&&_0xe5c93a[_0x1a4e('0x83')]===_0x2664f8[_0x1a4e('0x83')]?window[_0x1a4e('0xbc')][_0x1a4e('0xaa4')]=_0xe5c93a[_0x1a4e('0xaa4')]:window[_0x1a4e('0x159b')][_0x1a4e('0x159c')](null,null,_0x284052);}function _0x88f8d0(_0x4a0e19){var _0x284052=this;if(_0x4a0e19){var _0x2664f8=_0x4a0e19[0x0]['type'];_0x45fff4[_0x1a4e('0x3e')](_0x2664f8)>=0x0&&_0x46224f[_0x2664f8][_0x1a4e('0x3b')](function(_0x2664f8){try{_0x2664f8[_0x1a4e('0x8b')](_0x284052,_0x4a0e19);}catch(_0x41bded){setTimeout(function(){throw _0x41bded;});}});}}function _0x1d38f3(){_0x5131de([],arguments);}function _0x41c5da(_0x4a0e19,_0x284052){return function(){var _0x2664f8=window['location'][_0x1a4e('0xe3b')],_0xe5c93a=_0x4a0e19[_0x1a4e('0x8b')](this,arguments),_0x577bab=window[_0x1a4e('0xbc')][_0x1a4e('0xe3b')];return _0x2ec8bf&&_0x2664f8===_0x577bab||_0x1d38f3(_0x470a95(window[_0x1a4e('0x159b')][_0x1a4e('0xa46')],_0x284052)),_0xe5c93a;};}function _0x470a95(_0x4a0e19,_0x284052){var _0x2664f8;try{_0x2664f8=new PopStateEvent(_0x1a4e('0x1596'),{'state':_0x4a0e19});}catch(_0x591715){(_0x2664f8=document['createEvent'](_0x1a4e('0x159d')))[_0x1a4e('0x159e')](_0x1a4e('0x1596'),!0x1,!0x1,_0x4a0e19);}return _0x2664f8['singleSpa']=!0x0,_0x2664f8[_0x1a4e('0x159f')]=_0x284052,_0x2664f8;}if(_0x535f37){window[_0x1a4e('0xec5')](_0x1a4e('0x1595'),_0x1d38f3),window[_0x1a4e('0xec5')](_0x1a4e('0x1596'),_0x1d38f3);var _0x2736a9=window[_0x1a4e('0xec5')],_0x79fd48=window['removeEventListener'];window['addEventListener']=function(_0x4a0e19,_0x284052){if(!(_0x1a4e('0x68')==typeof _0x284052&&_0x45fff4[_0x1a4e('0x3e')](_0x4a0e19)>=0x0)||_0x37d5c2(_0x46224f[_0x4a0e19],function(_0x4a0e19){return _0x4a0e19===_0x284052;}))return _0x2736a9['apply'](this,arguments);_0x46224f[_0x4a0e19][_0x1a4e('0x46')](_0x284052);},window['removeEventListener']=function(_0x4a0e19,_0x284052){if(!(_0x1a4e('0x68')==typeof _0x284052&&_0x45fff4[_0x1a4e('0x3e')](_0x4a0e19)>=0x0))return _0x79fd48['apply'](this,arguments);_0x46224f[_0x4a0e19]=_0x46224f[_0x4a0e19][_0x1a4e('0xd9')](function(_0x4a0e19){return _0x4a0e19!==_0x284052;});},window['history'][_0x1a4e('0x159c')]=_0x41c5da(window['history']['pushState'],_0x1a4e('0x159c')),window[_0x1a4e('0x159b')][_0x1a4e('0x15a0')]=_0x41c5da(window['history']['replaceState'],'replaceState'),window[_0x1a4e('0x15a1')]?console[_0x1a4e('0xe3c')](_0x4cf9d8(0x29,!0x1)):window[_0x1a4e('0x15a1')]=_0x49f9dd;}function _0x7d1089(_0x4a0e19){var _0x284052=document[_0x1a4e('0xe3d')]('a');return _0x284052['href']=_0x4a0e19,_0x284052;}var _0x1981b1=!0x1;function _0x1e3784(){var _0x4a0e19=arguments[_0x1a4e('0x1e')]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:window[_0x1a4e('0x15a2')];if(_0x4a0e19||window['$']&&window['$']['fn']&&window['$']['fn'][_0x1a4e('0x15a3')]&&(_0x4a0e19=window['$']),_0x4a0e19&&!_0x1981b1){var _0x284052=_0x4a0e19['fn']['on'],_0x2664f8=_0x4a0e19['fn']['off'];_0x4a0e19['fn']['on']=function(_0x4a0e19,_0x2664f8){return _0x3900b4[_0x1a4e('0x1')](this,_0x284052,window[_0x1a4e('0xec5')],_0x4a0e19,_0x2664f8,arguments);},_0x4a0e19['fn'][_0x1a4e('0xda1')]=function(_0x4a0e19,_0x284052){return _0x3900b4[_0x1a4e('0x1')](this,_0x2664f8,window[_0x1a4e('0xec2')],_0x4a0e19,_0x284052,arguments);},_0x1981b1=!0x0;}}function _0x3900b4(_0x4a0e19,_0x284052,_0x2664f8,_0xe5c93a,_0x577bab){return _0x1a4e('0x9')!=typeof _0x2664f8?_0x4a0e19[_0x1a4e('0x8b')](this,_0x577bab):(_0x2664f8['split'](/\s+/)[_0x1a4e('0x3b')](function(_0x4a0e19){_0x45fff4[_0x1a4e('0x3e')](_0x4a0e19)>=0x0&&(_0x284052(_0x4a0e19,_0xe5c93a),_0x2664f8=_0x2664f8[_0x1a4e('0x115')](_0x4a0e19,''));}),''===_0x2664f8[_0x1a4e('0x2bd')]()?this:_0x4a0e19[_0x1a4e('0x8b')](this,_0x577bab));}var _0x37c58c={};function _0x30ceda(_0x4a0e19){return Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](function(){var _0x284052=_0x37c58c[_0x30a652(_0x4a0e19)];return _0x284052?_0x4a0e19[_0x1a4e('0xe02')]===_0x2bafd6?(_0x4b3bb0(_0x4a0e19,_0x284052),_0x4a0e19):_0x1a4e('0x15a4')===_0x4a0e19[_0x1a4e('0xe02')]?_0x284052[_0x1a4e('0x12d4')][_0x1a4e('0xdf8')](function(){return _0x4a0e19;}):_0x4a0e19[_0x1a4e('0xe02')]!==_0x46c64c?_0x4a0e19:(_0x4a0e19[_0x1a4e('0xe02')]=_0x1a4e('0x15a4'),_0x33cede(_0x4a0e19,_0x1a4e('0x158e'))['then'](function(){return _0x4b3bb0(_0x4a0e19,_0x284052),_0x4a0e19;})[_0x1a4e('0x1586')](function(_0x2664f8){return function(_0x4a0e19,_0x284052,_0x2664f8){delete _0x37c58c[_0x30a652(_0x4a0e19)],delete _0x4a0e19[_0x1a4e('0x12df')],delete _0x4a0e19[_0x1a4e('0x128b')],delete _0x4a0e19[_0x1a4e('0x1356')],delete _0x4a0e19['unload'],_0x4428fc(_0x2664f8,_0x4a0e19,_0x342399),_0x284052['reject'](_0x2664f8);}(_0x4a0e19,_0x284052,_0x2664f8),_0x4a0e19;})):_0x4a0e19;});}function _0x4b3bb0(_0x4a0e19,_0x284052){delete _0x37c58c[_0x30a652(_0x4a0e19)],delete _0x4a0e19[_0x1a4e('0x12df')],delete _0x4a0e19['mount'],delete _0x4a0e19[_0x1a4e('0x1356')],delete _0x4a0e19['unload'],_0x4a0e19[_0x1a4e('0xe02')]=_0x2bafd6,_0x284052[_0x1a4e('0xe20')]();}function _0x3e719a(_0x4a0e19,_0x284052,_0x2664f8,_0xe5c93a){_0x37c58c[_0x30a652(_0x4a0e19)]={'app':_0x4a0e19,'resolve':_0x2664f8,'reject':_0xe5c93a},Object[_0x1a4e('0x2')](_0x37c58c[_0x30a652(_0x4a0e19)],'promise',{'get':_0x284052});}function _0x3424da(_0x4a0e19){return _0x37c58c[_0x4a0e19];}var _0x4dc028=[];function _0x549900(){var _0x4a0e19=[],_0x284052=[],_0x2664f8=[],_0xe5c93a=[],_0x577bab=new Date()[_0x1a4e('0xe9')]();return _0x4dc028[_0x1a4e('0x3b')](function(_0x5db94e){var _0x49ec55=_0x5db94e[_0x1a4e('0xe02')]!==_0x342399&&_0x8f4b7b(_0x5db94e);switch(_0x5db94e['status']){case _0x2098b9:_0x577bab-_0x5db94e[_0x1a4e('0x1592')]>=0xc8&&_0x2664f8[_0x1a4e('0x46')](_0x5db94e);break;case _0x2bafd6:case _0x43ac54:_0x49ec55&&_0x2664f8[_0x1a4e('0x46')](_0x5db94e);break;case _0x308169:case _0x46c64c:!_0x49ec55&&_0x3424da(_0x30a652(_0x5db94e))?_0x4a0e19['push'](_0x5db94e):_0x49ec55&&_0xe5c93a[_0x1a4e('0x46')](_0x5db94e);break;case _0x3a1ae8:_0x49ec55||_0x284052[_0x1a4e('0x46')](_0x5db94e);}}),{'appsToUnload':_0x4a0e19,'appsToUnmount':_0x284052,'appsToLoad':_0x2664f8,'appsToMount':_0xe5c93a};}function _0x2e4545(){return _0x4dc028[_0x1a4e('0xd9')](_0x24bb7d)[_0x1a4e('0x21')](_0x30a652);}function _0x4eefe1(){return _0x4dc028['map'](_0x30a652);}function _0xd7b1d2(_0x4a0e19){var _0x284052=_0x37d5c2(_0x4dc028,function(_0x284052){return _0x30a652(_0x284052)===_0x4a0e19;});return _0x284052?_0x284052[_0x1a4e('0xe02')]:null;}function _0x2525f5(_0x4a0e19,_0x284052,_0x2664f8,_0xe5c93a){var _0x5db94e=function(_0x4a0e19,_0x284052,_0x2664f8,_0xe5c93a){var _0x5db94e,_0x49ec55={'name':null,'loadApp':null,'activeWhen':null,'customProps':null};return _0x1a4e('0x85')===_0x577bab(_0x4a0e19)?(function(_0x4a0e19){if(Array[_0x1a4e('0x15')](_0x4a0e19)||null===_0x4a0e19)throw Error(_0x4cf9d8(0x27,!0x1));var _0x284052=['name',_0x1a4e('0x15a5'),_0x1a4e('0x1583'),_0x1a4e('0x158c')],_0x2664f8=Object[_0x1a4e('0x56')](_0x4a0e19)[_0x1a4e('0xbb')](function(_0x4a0e19,_0x2664f8){return _0x284052[_0x1a4e('0x3e')](_0x2664f8)>=0x0?_0x4a0e19:_0x4a0e19[_0x1a4e('0x9a')](_0x2664f8);},[]);if(0x0!==_0x2664f8[_0x1a4e('0x1e')])throw Error(_0x4cf9d8(0x26,!0x1,_0x284052[_0x1a4e('0x9e')](',\x20'),_0x2664f8[_0x1a4e('0x9e')](',\x20')));if(_0x1a4e('0x9')!=typeof _0x4a0e19[_0x1a4e('0x2cb')]||0x0===_0x4a0e19['name'][_0x1a4e('0x1e')])throw Error(_0x4cf9d8(0x14,!0x1));if(_0x1a4e('0x85')!==_0x577bab(_0x4a0e19[_0x1a4e('0x15a5')])&&'function'!=typeof _0x4a0e19[_0x1a4e('0x15a5')])throw Error(_0x4cf9d8(0x14,!0x1));var _0xe5c93a=function(_0x4a0e19){return _0x1a4e('0x9')==typeof _0x4a0e19||_0x1a4e('0x68')==typeof _0x4a0e19;};if(!(_0xe5c93a(_0x4a0e19[_0x1a4e('0x1583')])||Array[_0x1a4e('0x15')](_0x4a0e19[_0x1a4e('0x1583')])&&_0x4a0e19[_0x1a4e('0x1583')][_0x1a4e('0x114')](_0xe5c93a)))throw Error(_0x4cf9d8(0x18,!0x1));if(!_0x267b05(_0x4a0e19[_0x1a4e('0x158c')]))throw Error(_0x4cf9d8(0x16,!0x1));}(_0x4a0e19),_0x49ec55[_0x1a4e('0x2cb')]=_0x4a0e19[_0x1a4e('0x2cb')],_0x49ec55[_0x1a4e('0x128d')]=_0x4a0e19[_0x1a4e('0x15a5')],_0x49ec55[_0x1a4e('0x1583')]=_0x4a0e19[_0x1a4e('0x1583')],_0x49ec55[_0x1a4e('0x158c')]=_0x4a0e19[_0x1a4e('0x158c')]):(function(_0x4a0e19,_0x284052,_0x2664f8,_0xe5c93a){if('string'!=typeof _0x4a0e19||0x0===_0x4a0e19[_0x1a4e('0x1e')])throw Error(_0x4cf9d8(0x14,!0x1));if(!_0x284052)throw Error(_0x4cf9d8(0x17,!0x1));if(_0x1a4e('0x68')!=typeof _0x2664f8)throw Error(_0x4cf9d8(0x18,!0x1));if(!_0x267b05(_0xe5c93a))throw Error(_0x4cf9d8(0x16,!0x1));}(_0x4a0e19,_0x284052,_0x2664f8,_0xe5c93a),_0x49ec55['name']=_0x4a0e19,_0x49ec55[_0x1a4e('0x128d')]=_0x284052,_0x49ec55[_0x1a4e('0x1583')]=_0x2664f8,_0x49ec55[_0x1a4e('0x158c')]=_0xe5c93a),_0x49ec55[_0x1a4e('0x128d')]=_0x1a4e('0x68')!=typeof(_0x5db94e=_0x49ec55[_0x1a4e('0x128d')])?function(){return Promise[_0x1a4e('0xe20')](_0x5db94e);}:_0x5db94e,_0x49ec55[_0x1a4e('0x158c')]=_0x49ec55['customProps']||{},_0x49ec55[_0x1a4e('0x1583')]=function(_0x4a0e19){var _0x284052=Array[_0x1a4e('0x15')](_0x4a0e19)?_0x4a0e19:[_0x4a0e19];return _0x284052=_0x284052[_0x1a4e('0x21')](function(_0x4a0e19){return _0x1a4e('0x68')==typeof _0x4a0e19?_0x4a0e19:_0x51f5cb(_0x4a0e19);}),function(_0x4a0e19){return _0x284052['some'](function(_0x284052){return _0x284052(_0x4a0e19);});};}(_0x49ec55[_0x1a4e('0x1583')]),_0x49ec55;}(_0x4a0e19,_0x284052,_0x2664f8,_0xe5c93a);if(-0x1!==_0x4eefe1()[_0x1a4e('0x3e')](_0x5db94e[_0x1a4e('0x2cb')]))throw Error(_0x4cf9d8(0x15,!0x1,_0x5db94e['name']));_0x4dc028[_0x1a4e('0x46')](_0x4750e2({'loadErrorTime':null,'status':_0x2bafd6,'parcels':{},'devtools':{'overlays':{'options':{},'selectors':[]}}},_0x5db94e)),_0x535f37&&(_0x1e3784(),_0x5131de());}function _0x1da394(){var _0x4a0e19=arguments[_0x1a4e('0x1e')]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:window[_0x1a4e('0xbc')];return _0x4dc028[_0x1a4e('0xd9')](function(_0x284052){return _0x284052[_0x1a4e('0x1583')](_0x4a0e19);})[_0x1a4e('0x21')](_0x30a652);}function _0x14c036(_0x4a0e19){var _0x284052=arguments[_0x1a4e('0x1e')]>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:{'waitForUnmount':!0x1};if('string'!=typeof _0x4a0e19)throw Error(_0x4cf9d8(0x1a,!0x1));var _0x2664f8=_0x37d5c2(_0x4dc028,function(_0x284052){return _0x30a652(_0x284052)===_0x4a0e19;});if(!_0x2664f8)throw Error(_0x4cf9d8(0x1b,!0x1,_0x4a0e19));var _0xe5c93a,_0x577bab=_0x3424da(_0x30a652(_0x2664f8));if(_0x284052&&_0x284052['waitForUnmount']){if(_0x577bab)return _0x577bab[_0x1a4e('0x12d4')];var _0x5db94e=new Promise(function(_0x4a0e19,_0x284052){_0x3e719a(_0x2664f8,function(){return _0x5db94e;},_0x4a0e19,_0x284052);});return _0x5db94e;}return _0x577bab?(_0xe5c93a=_0x577bab['promise'],_0x2fa1f4(_0x2664f8,_0x577bab[_0x1a4e('0xe20')],_0x577bab[_0x1a4e('0x1077')])):_0xe5c93a=new Promise(function(_0x4a0e19,_0x284052){_0x3e719a(_0x2664f8,function(){return _0xe5c93a;},_0x4a0e19,_0x284052),_0x2fa1f4(_0x2664f8,_0x4a0e19,_0x284052);}),_0xe5c93a;}function _0x2fa1f4(_0x4a0e19,_0x284052,_0x2664f8){_0x5b576b(_0x4a0e19)['then'](_0x30ceda)[_0x1a4e('0xdf8')](function(){_0x284052(),setTimeout(function(){_0x5131de();});})[_0x1a4e('0x1586')](_0x2664f8);}function _0x267b05(_0x4a0e19){return!_0x4a0e19||'function'==typeof _0x4a0e19||_0x1a4e('0x85')===_0x577bab(_0x4a0e19)&&null!==_0x4a0e19&&!Array['isArray'](_0x4a0e19);}function _0x51f5cb(_0x4a0e19){var _0x284052=function(_0x4a0e19){var _0x284052=0x0,_0x2664f8=!0x1,_0xe5c93a='^';'/'!==_0x4a0e19[0x0]&&(_0x4a0e19='/'+_0x4a0e19);for(var _0x577bab=0x0;_0x577bab<_0x4a0e19[_0x1a4e('0x1e')];_0x577bab++){var _0x5db94e=_0x4a0e19[_0x577bab];(!_0x2664f8&&':'===_0x5db94e||_0x2664f8&&'/'===_0x5db94e)&&_0x49ec55(_0x577bab);}return _0x49ec55(_0x4a0e19['length']),new RegExp(_0xe5c93a,'i');function _0x49ec55(_0x577bab){var _0x5db94e=_0x4a0e19[_0x1a4e('0x78')](_0x284052,_0x577bab)[_0x1a4e('0x115')](/[|\\{}()[\]^$+*?.]/g,'\x5c$&');_0xe5c93a+=_0x2664f8?_0x1a4e('0x15a6'):_0x5db94e,_0x577bab!==_0x4a0e19['length']||_0x2664f8||(_0xe5c93a='/'===_0xe5c93a[_0x1a4e('0x278')](_0xe5c93a[_0x1a4e('0x1e')]-0x1)?''[_0x1a4e('0x9a')](_0xe5c93a,_0x1a4e('0x15a7')):''['concat'](_0xe5c93a,_0x1a4e('0x15a8'))),_0x2664f8=!_0x2664f8,_0x284052=_0x577bab;}}(_0x4a0e19);return function(_0x4a0e19){var _0x2664f8=_0x4a0e19['href']['replace'](_0x4a0e19[_0x1a4e('0x107')],'')[_0x1a4e('0x115')](_0x4a0e19[_0x1a4e('0x83')],'')['split']('?')[0x0];return _0x284052[_0x1a4e('0x8d0')](_0x2664f8);};}var _0x1b8e5f=!0x1,_0x528752=[];function _0x53514a(){return _0x5131de();}function _0x5131de(){var _0x4a0e19=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:[],_0x284052=arguments[_0x1a4e('0x1e')]>0x1?arguments[0x1]:void 0x0;if(_0x1b8e5f)return new Promise(function(_0x4a0e19,_0x2664f8){_0x528752['push']({'resolve':_0x4a0e19,'reject':_0x2664f8,'eventArguments':_0x284052});});var _0x2664f8,_0xe5c93a=_0x549900(),_0x577bab=_0xe5c93a[_0x1a4e('0x15a9')],_0x49ec55=_0xe5c93a[_0x1a4e('0x15aa')],_0x3a1137=_0xe5c93a['appsToLoad'],_0x4428fc=_0xe5c93a['appsToMount'];return _0x1f7af2?(_0x1b8e5f=!0x0,_0x2664f8=_0x577bab[_0x1a4e('0x9a')](_0x3a1137,_0x49ec55,_0x4428fc),Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](function(){window['dispatchEvent'](new _0x1e9232(0x0===_0x2664f8[_0x1a4e('0x1e')]?_0x1a4e('0x15ab'):_0x1a4e('0x15ac'),_0x4cf9d8(!0x0))),window[_0x1a4e('0x1337')](new _0x1e9232(_0x1a4e('0x15ad'),_0x4cf9d8(!0x0)));var _0x284052=_0x577bab[_0x1a4e('0x21')](_0x30ceda),_0xe5c93a=_0x49ec55[_0x1a4e('0x21')](_0x5b576b)[_0x1a4e('0x21')](function(_0x4a0e19){return _0x4a0e19['then'](_0x30ceda);})['concat'](_0x284052),_0x5db94e=Promise['all'](_0xe5c93a);_0x5db94e[_0x1a4e('0xdf8')](function(){window['dispatchEvent'](new _0x1e9232('single-spa:before-mount-routing-event',_0x4cf9d8(!0x0)));});var _0x477068=_0x3a1137[_0x1a4e('0x21')](function(_0x4a0e19){return _0x36e8cc(_0x4a0e19)[_0x1a4e('0xdf8')](function(_0x4a0e19){return _0x4e16b6(_0x4a0e19,_0x5db94e);});}),_0x2bafd6=_0x4428fc['filter'](function(_0x4a0e19){return _0x3a1137['indexOf'](_0x4a0e19)<0x0;})[_0x1a4e('0x21')](function(_0x4a0e19){return _0x4e16b6(_0x4a0e19,_0x5db94e);});return _0x5db94e['catch'](function(_0x4a0e19){throw _0x536170(),_0x4a0e19;})[_0x1a4e('0xdf8')](function(){return _0x536170(),Promise[_0x1a4e('0xb8')](_0x477068[_0x1a4e('0x9a')](_0x2bafd6))['catch'](function(_0x284052){throw _0x4a0e19[_0x1a4e('0x3b')](function(_0x4a0e19){return _0x4a0e19['reject'](_0x284052);}),_0x284052;})[_0x1a4e('0xdf8')](_0x3966d8);});})):(_0x2664f8=_0x3a1137,Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](function(){var _0x4a0e19=_0x3a1137[_0x1a4e('0x21')](_0x36e8cc);return Promise[_0x1a4e('0xb8')](_0x4a0e19)[_0x1a4e('0xdf8')](_0x536170)[_0x1a4e('0xdf8')](function(){return[];})[_0x1a4e('0x1586')](function(_0x4a0e19){throw _0x536170(),_0x4a0e19;});}));function _0x3966d8(){var _0x284052=_0x2e4545();_0x4a0e19[_0x1a4e('0x3b')](function(_0x4a0e19){return _0x4a0e19[_0x1a4e('0xe20')](_0x284052);});try{var _0xe5c93a=0x0===_0x2664f8[_0x1a4e('0x1e')]?_0x1a4e('0x1296'):_0x1a4e('0x15ae');window[_0x1a4e('0x1337')](new _0x1e9232(_0xe5c93a,_0x4cf9d8())),window['dispatchEvent'](new _0x1e9232(_0x1a4e('0x15af'),_0x4cf9d8()));}catch(_0x81530e){setTimeout(function(){throw _0x81530e;});}if(_0x1b8e5f=!0x1,_0x528752[_0x1a4e('0x1e')]>0x0){var _0x577bab=_0x528752;_0x528752=[],_0x5131de(_0x577bab);}return _0x284052;}function _0x536170(){_0x4a0e19[_0x1a4e('0x3b')](function(_0x4a0e19){_0x88f8d0(_0x4a0e19[_0x1a4e('0x15b0')]);}),_0x88f8d0(_0x284052);}function _0x4cf9d8(){var _0x4a0e19,_0xe5c93a=arguments[_0x1a4e('0x1e')]>0x0&&void 0x0!==arguments[0x0]&&arguments[0x0],_0x1e9232={},_0x3966d8=(_0x5db94e(_0x4a0e19={},_0x3a1ae8,[]),_0x5db94e(_0x4a0e19,_0x46c64c,[]),_0x5db94e(_0x4a0e19,_0x2bafd6,[]),_0x5db94e(_0x4a0e19,_0x342399,[]),_0x4a0e19);return _0xe5c93a?(_0x3a1137[_0x1a4e('0x9a')](_0x4428fc)['forEach'](function(_0x4a0e19,_0x284052){_0x536170(_0x4a0e19,_0x3a1ae8);}),_0x577bab[_0x1a4e('0x3b')](function(_0x4a0e19){_0x536170(_0x4a0e19,_0x2bafd6);}),_0x49ec55[_0x1a4e('0x3b')](function(_0x4a0e19){_0x536170(_0x4a0e19,_0x46c64c);})):_0x2664f8[_0x1a4e('0x3b')](function(_0x4a0e19){_0x536170(_0x4a0e19);}),{'detail':{'newAppStatuses':_0x1e9232,'appsByNewStatus':_0x3966d8,'totalAppChanges':_0x2664f8[_0x1a4e('0x1e')],'originalEvent':null==_0x284052?void 0x0:_0x284052[0x0]}};function _0x536170(_0x4a0e19,_0x284052){var _0x2664f8=_0x30a652(_0x4a0e19);_0x284052=_0x284052||_0xd7b1d2(_0x2664f8),_0x1e9232[_0x2664f8]=_0x284052,(_0x3966d8[_0x284052]=_0x3966d8[_0x284052]||[])['push'](_0x2664f8);}}}function _0x4e16b6(_0x4a0e19,_0x284052){return _0x8f4b7b(_0x4a0e19)?_0x24af31(_0x4a0e19)[_0x1a4e('0xdf8')](function(_0x4a0e19){return _0x284052[_0x1a4e('0xdf8')](function(){return _0x8f4b7b(_0x4a0e19)?_0xaa374c(_0x4a0e19):_0x4a0e19;});}):_0x284052['then'](function(){return _0x4a0e19;});}var _0x1f7af2=!0x1;function _0x348515(_0x4a0e19){var _0x284052;_0x1f7af2=!0x0,_0x4a0e19&&_0x4a0e19[_0x1a4e('0x128f')]&&(_0x284052=_0x4a0e19[_0x1a4e('0x128f')],_0x2ec8bf=_0x284052),_0x535f37&&_0x5131de();}_0x535f37&&setTimeout(function(){_0x1f7af2||console[_0x1a4e('0xe3c')](_0x4cf9d8(0x1,!0x1));},0x1388);var _0xcef454={'getRawAppData':function(){return[][_0x1a4e('0x9a')](_0x4dc028);},'reroute':_0x5131de,'NOT_LOADED':_0x2bafd6,'toLoadPromise':_0x36e8cc,'toBootstrapPromise':_0x24af31,'unregisterApplication':function(_0x4a0e19){if(0x0===_0x4dc028[_0x1a4e('0xd9')](function(_0x284052){return _0x30a652(_0x284052)===_0x4a0e19;})[_0x1a4e('0x1e')])throw Error(_0x4cf9d8(0x19,!0x1,_0x4a0e19));return _0x14c036(_0x4a0e19)[_0x1a4e('0xdf8')](function(){var _0x284052=_0x4dc028[_0x1a4e('0x21')](_0x30a652)[_0x1a4e('0x3e')](_0x4a0e19);_0x4dc028[_0x1a4e('0x8a')](_0x284052,0x1);});}};_0x535f37&&window['__SINGLE_SPA_DEVTOOLS__']&&(window['__SINGLE_SPA_DEVTOOLS__']['exposedMethods']=_0xcef454);}[_0x1a4e('0x1')](this,_0x2664f8(_0x1a4e('0xb07')));},'./node_modules/source-map-support/node_modules/source-map/lib/array-set.js':function(_0x162dda,_0x23e4aa,_0x31bdaf){var _0x48535f=_0x31bdaf('./node_modules/source-map-support/node_modules/source-map/lib/util.js'),_0x5e83d4=Object['prototype'][_0x1a4e('0xb')],_0x572ae8='undefined'!=typeof Map;function _0x39f302(){this[_0x1a4e('0x15b1')]=[],this[_0x1a4e('0x15b2')]=_0x572ae8?new Map():Object[_0x1a4e('0x7')](null);}_0x39f302[_0x1a4e('0x14bb')]=function(_0x162dda,_0x23e4aa){for(var _0x31bdaf=new _0x39f302(),_0x48535f=0x0,_0x5e83d4=_0x162dda[_0x1a4e('0x1e')];_0x48535f<_0x5e83d4;_0x48535f++)_0x31bdaf[_0x1a4e('0x177')](_0x162dda[_0x48535f],_0x23e4aa);return _0x31bdaf;},_0x39f302[_0x1a4e('0xa')][_0x1a4e('0x220')]=function(){return _0x572ae8?this[_0x1a4e('0x15b2')][_0x1a4e('0x220')]:Object[_0x1a4e('0xd86')](this[_0x1a4e('0x15b2')])['length'];},_0x39f302[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x162dda,_0x23e4aa){var _0x31bdaf=_0x572ae8?_0x162dda:_0x48535f['toSetString'](_0x162dda),_0x39f302=_0x572ae8?this[_0x1a4e('0x178')](_0x162dda):_0x5e83d4[_0x1a4e('0x1')](this[_0x1a4e('0x15b2')],_0x31bdaf),_0x2e83da=this[_0x1a4e('0x15b1')]['length'];_0x39f302&&!_0x23e4aa||this[_0x1a4e('0x15b1')]['push'](_0x162dda),_0x39f302||(_0x572ae8?this['_set'][_0x1a4e('0x17a')](_0x162dda,_0x2e83da):this[_0x1a4e('0x15b2')][_0x31bdaf]=_0x2e83da);},_0x39f302[_0x1a4e('0xa')]['has']=function(_0x162dda){if(_0x572ae8)return this[_0x1a4e('0x15b2')][_0x1a4e('0x178')](_0x162dda);var _0x23e4aa=_0x48535f[_0x1a4e('0x15b3')](_0x162dda);return _0x5e83d4['call'](this['_set'],_0x23e4aa);},_0x39f302[_0x1a4e('0xa')][_0x1a4e('0x3e')]=function(_0x162dda){if(_0x572ae8){var _0x23e4aa=this['_set']['get'](_0x162dda);if(_0x23e4aa>=0x0)return _0x23e4aa;}else{var _0x31bdaf=_0x48535f[_0x1a4e('0x15b3')](_0x162dda);if(_0x5e83d4[_0x1a4e('0x1')](this[_0x1a4e('0x15b2')],_0x31bdaf))return this[_0x1a4e('0x15b2')][_0x31bdaf];}throw new Error('\x22'+_0x162dda+'\x22\x20is\x20not\x20in\x20the\x20set.');},_0x39f302[_0x1a4e('0xa')]['at']=function(_0x162dda){if(_0x162dda>=0x0&&_0x162dda>>=0x5)>0x0&&(_0x6ef091|=0x20),_0x368dda+=_0x7a9453[_0x1a4e('0x86d')](_0x6ef091);}while(_0x5dbc9f>0x0);return _0x368dda;},_0x6ef091[_0x1a4e('0x8f3')]=function(_0x8e2b1b,_0x6ef091,_0x368dda){var _0x586ccd,_0x1ae473,_0xee2c9d,_0x38cf51,_0x3e03b3=_0x8e2b1b[_0x1a4e('0x1e')],_0x5d6336=0x0,_0x418188=0x0;do{if(_0x6ef091>=_0x3e03b3)throw new Error(_0x1a4e('0x15b7'));if(-0x1===(_0x1ae473=_0x7a9453[_0x1a4e('0x8f3')](_0x8e2b1b['charCodeAt'](_0x6ef091++))))throw new Error('Invalid\x20base64\x20digit:\x20'+_0x8e2b1b[_0x1a4e('0x278')](_0x6ef091-0x1));_0x586ccd=!!(0x20&_0x1ae473),_0x5d6336+=(_0x1ae473&=0x1f)<<_0x418188,_0x418188+=0x5;}while(_0x586ccd);_0x368dda[_0x1a4e('0x255')]=(_0x38cf51=(_0xee2c9d=_0x5d6336)>>0x1,0x1==(0x1&_0xee2c9d)?-_0x38cf51:_0x38cf51),_0x368dda['rest']=_0x6ef091;};},'./node_modules/source-map-support/node_modules/source-map/lib/base64.js':function(_0x5c5571,_0x4a2c21){var _0x2d7d2c=_0x1a4e('0xe49')[_0x1a4e('0x2be')]('');_0x4a2c21['encode']=function(_0x5c5571){if(0x0<=_0x5c5571&&_0x5c5571<_0x2d7d2c[_0x1a4e('0x1e')])return _0x2d7d2c[_0x5c5571];throw new TypeError(_0x1a4e('0x15b8')+_0x5c5571);},_0x4a2c21[_0x1a4e('0x8f3')]=function(_0x5c5571){return 0x41<=_0x5c5571&&_0x5c5571<=0x5a?_0x5c5571-0x41:0x61<=_0x5c5571&&_0x5c5571<=0x7a?_0x5c5571-0x61+0x1a:0x30<=_0x5c5571&&_0x5c5571<=0x39?_0x5c5571-0x30+0x34:0x2b==_0x5c5571?0x3e:0x2f==_0x5c5571?0x3f:-0x1;};},'./node_modules/source-map-support/node_modules/source-map/lib/binary-search.js':function(_0x5ea482,_0x3854fb){_0x3854fb[_0x1a4e('0x15b9')]=0x1,_0x3854fb[_0x1a4e('0x15ba')]=0x2,_0x3854fb['search']=function(_0x5ea482,_0x67940,_0x36eca1,_0x19c350){if(0x0===_0x67940[_0x1a4e('0x1e')])return-0x1;var _0x958464=function _0x5ea482(_0x67940,_0x36eca1,_0x19c350,_0x958464,_0x4d787d,_0x37ed4c){var _0x196282=Math[_0x1a4e('0xb4')]((_0x36eca1-_0x67940)/0x2)+_0x67940,_0x26b6a5=_0x4d787d(_0x19c350,_0x958464[_0x196282],!0x0);return 0x0===_0x26b6a5?_0x196282:_0x26b6a5>0x0?_0x36eca1-_0x196282>0x1?_0x5ea482(_0x196282,_0x36eca1,_0x19c350,_0x958464,_0x4d787d,_0x37ed4c):_0x37ed4c==_0x3854fb[_0x1a4e('0x15ba')]?_0x36eca1<_0x958464[_0x1a4e('0x1e')]?_0x36eca1:-0x1:_0x196282:_0x196282-_0x67940>0x1?_0x5ea482(_0x67940,_0x196282,_0x19c350,_0x958464,_0x4d787d,_0x37ed4c):_0x37ed4c==_0x3854fb['LEAST_UPPER_BOUND']?_0x196282:_0x67940<0x0?-0x1:_0x67940;}(-0x1,_0x67940[_0x1a4e('0x1e')],_0x5ea482,_0x67940,_0x36eca1,_0x19c350||_0x3854fb[_0x1a4e('0x15b9')]);if(_0x958464<0x0)return-0x1;for(;_0x958464-0x1>=0x0&&0x0===_0x36eca1(_0x67940[_0x958464],_0x67940[_0x958464-0x1],!0x0);)--_0x958464;return _0x958464;};},'./node_modules/source-map-support/node_modules/source-map/lib/mapping-list.js':function(_0x3a739b,_0x5754d7,_0x25b46a){var _0x35c9d7=_0x25b46a('./node_modules/source-map-support/node_modules/source-map/lib/util.js');function _0x1c6a4c(){this[_0x1a4e('0x15b1')]=[],this[_0x1a4e('0x15bb')]=!0x0,this['_last']={'generatedLine':-0x1,'generatedColumn':0x0};}_0x1c6a4c[_0x1a4e('0xa')][_0x1a4e('0x15bc')]=function(_0x3a739b,_0x5754d7){this[_0x1a4e('0x15b1')][_0x1a4e('0x3b')](_0x3a739b,_0x5754d7);},_0x1c6a4c[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x3a739b){var _0x5754d7,_0x25b46a,_0x1c6a4c,_0x2090d2,_0xfc1ecd,_0x38792d;_0x5754d7=this[_0x1a4e('0xa65')],_0x25b46a=_0x3a739b,_0x1c6a4c=_0x5754d7[_0x1a4e('0x15bd')],_0x2090d2=_0x25b46a[_0x1a4e('0x15bd')],_0xfc1ecd=_0x5754d7[_0x1a4e('0x15be')],_0x38792d=_0x25b46a[_0x1a4e('0x15be')],_0x2090d2>_0x1c6a4c||_0x2090d2==_0x1c6a4c&&_0x38792d>=_0xfc1ecd||_0x35c9d7[_0x1a4e('0x15bf')](_0x5754d7,_0x25b46a)<=0x0?(this[_0x1a4e('0xa65')]=_0x3a739b,this[_0x1a4e('0x15b1')][_0x1a4e('0x46')](_0x3a739b)):(this[_0x1a4e('0x15bb')]=!0x1,this[_0x1a4e('0x15b1')][_0x1a4e('0x46')](_0x3a739b));},_0x1c6a4c[_0x1a4e('0xa')][_0x1a4e('0x347')]=function(){return this[_0x1a4e('0x15bb')]||(this[_0x1a4e('0x15b1')][_0x1a4e('0x89')](_0x35c9d7[_0x1a4e('0x15bf')]),this[_0x1a4e('0x15bb')]=!0x0),this[_0x1a4e('0x15b1')];},_0x5754d7['MappingList']=_0x1c6a4c;},'./node_modules/source-map-support/node_modules/source-map/lib/quick-sort.js':function(_0x13ed51,_0x926b16){function _0x10a92c(_0x13ed51,_0x926b16,_0x10a92c){var _0x48ab74=_0x13ed51[_0x926b16];_0x13ed51[_0x926b16]=_0x13ed51[_0x10a92c],_0x13ed51[_0x10a92c]=_0x48ab74;}function _0x5551bd(_0x13ed51,_0x926b16,_0x3fcd65,_0x4a5c4a){if(_0x3fcd65<_0x4a5c4a){var _0x34f891=_0x3fcd65-0x1;_0x10a92c(_0x13ed51,(_0x2bdcb1=_0x3fcd65,_0x2c2763=_0x4a5c4a,Math[_0x1a4e('0x2a')](_0x2bdcb1+Math['random']()*(_0x2c2763-_0x2bdcb1))),_0x4a5c4a);for(var _0x488882=_0x13ed51[_0x4a5c4a],_0x1571f9=_0x3fcd65;_0x1571f9<_0x4a5c4a;_0x1571f9++)_0x926b16(_0x13ed51[_0x1571f9],_0x488882)<=0x0&&_0x10a92c(_0x13ed51,_0x34f891+=0x1,_0x1571f9);_0x10a92c(_0x13ed51,_0x34f891+0x1,_0x1571f9);var _0x508ef6=_0x34f891+0x1;_0x5551bd(_0x13ed51,_0x926b16,_0x3fcd65,_0x508ef6-0x1),_0x5551bd(_0x13ed51,_0x926b16,_0x508ef6+0x1,_0x4a5c4a);}var _0x2bdcb1,_0x2c2763;}_0x926b16['quickSort']=function(_0x13ed51,_0x926b16){_0x5551bd(_0x13ed51,_0x926b16,0x0,_0x13ed51['length']-0x1);};},'./node_modules/source-map-support/node_modules/source-map/lib/source-map-consumer.js':function(_0x3f76a2,_0x446101,_0xc9a3d5){var _0x5a197f=_0xc9a3d5('./node_modules/source-map-support/node_modules/source-map/lib/util.js'),_0x334c25=_0xc9a3d5(_0x1a4e('0x15c0')),_0x34e92e=_0xc9a3d5('./node_modules/source-map-support/node_modules/source-map/lib/array-set.js')[_0x1a4e('0x15b5')],_0x21556f=_0xc9a3d5('./node_modules/source-map-support/node_modules/source-map/lib/base64-vlq.js'),_0x22363e=_0xc9a3d5(_0x1a4e('0x15c1'))[_0x1a4e('0x15c2')];function _0x4f97c7(_0x3f76a2){var _0x446101=_0x3f76a2;return _0x1a4e('0x9')==typeof _0x3f76a2&&(_0x446101=JSON[_0x1a4e('0x25a')](_0x3f76a2[_0x1a4e('0x115')](/^\)\]\}'/,''))),null!=_0x446101[_0x1a4e('0x15c3')]?new _0x45cb7e(_0x446101):new _0x2693f5(_0x446101);}function _0x2693f5(_0x3f76a2){var _0x446101=_0x3f76a2;'string'==typeof _0x3f76a2&&(_0x446101=JSON[_0x1a4e('0x25a')](_0x3f76a2[_0x1a4e('0x115')](/^\)\]\}'/,'')));var _0xc9a3d5=_0x5a197f['getArg'](_0x446101,'version'),_0x334c25=_0x5a197f[_0x1a4e('0x15c4')](_0x446101,_0x1a4e('0x15c5')),_0x21556f=_0x5a197f[_0x1a4e('0x15c4')](_0x446101,'names',[]),_0x22363e=_0x5a197f['getArg'](_0x446101,_0x1a4e('0x15c6'),null),_0x4f97c7=_0x5a197f['getArg'](_0x446101,_0x1a4e('0x15c7'),null),_0x2693f5=_0x5a197f[_0x1a4e('0x15c4')](_0x446101,_0x1a4e('0x15c8')),_0x32a6cf=_0x5a197f[_0x1a4e('0x15c4')](_0x446101,_0x1a4e('0x15c9'),null);if(_0xc9a3d5!=this[_0x1a4e('0x15ca')])throw new Error('Unsupported\x20version:\x20'+_0xc9a3d5);_0x334c25=_0x334c25[_0x1a4e('0x21')](String)[_0x1a4e('0x21')](_0x5a197f[_0x1a4e('0x330')])[_0x1a4e('0x21')](function(_0x3f76a2){return _0x22363e&&_0x5a197f[_0x1a4e('0x1142')](_0x22363e)&&_0x5a197f[_0x1a4e('0x1142')](_0x3f76a2)?_0x5a197f[_0x1a4e('0x1143')](_0x22363e,_0x3f76a2):_0x3f76a2;}),this['_names']=_0x34e92e[_0x1a4e('0x14bb')](_0x21556f[_0x1a4e('0x21')](String),!0x0),this['_sources']=_0x34e92e[_0x1a4e('0x14bb')](_0x334c25,!0x0),this[_0x1a4e('0x15c6')]=_0x22363e,this[_0x1a4e('0x15c7')]=_0x4f97c7,this[_0x1a4e('0x15cb')]=_0x2693f5,this[_0x1a4e('0x15c9')]=_0x32a6cf;}function _0x2c3041(){this['generatedLine']=0x0,this[_0x1a4e('0x15be')]=0x0,this['source']=null,this[_0x1a4e('0x15cc')]=null,this[_0x1a4e('0x15cd')]=null,this[_0x1a4e('0x2cb')]=null;}function _0x45cb7e(_0x3f76a2){var _0x446101=_0x3f76a2;_0x1a4e('0x9')==typeof _0x3f76a2&&(_0x446101=JSON[_0x1a4e('0x25a')](_0x3f76a2['replace'](/^\)\]\}'/,'')));var _0xc9a3d5=_0x5a197f[_0x1a4e('0x15c4')](_0x446101,'version'),_0x334c25=_0x5a197f[_0x1a4e('0x15c4')](_0x446101,_0x1a4e('0x15c3'));if(_0xc9a3d5!=this[_0x1a4e('0x15ca')])throw new Error(_0x1a4e('0x15ce')+_0xc9a3d5);this['_sources']=new _0x34e92e(),this['_names']=new _0x34e92e();var _0x21556f={'line':-0x1,'column':0x0};this['_sections']=_0x334c25[_0x1a4e('0x21')](function(_0x3f76a2){if(_0x3f76a2[_0x1a4e('0x15cf')])throw new Error(_0x1a4e('0x15d0'));var _0x446101=_0x5a197f[_0x1a4e('0x15c4')](_0x3f76a2,_0x1a4e('0x1af')),_0xc9a3d5=_0x5a197f['getArg'](_0x446101,'line'),_0x334c25=_0x5a197f[_0x1a4e('0x15c4')](_0x446101,_0x1a4e('0x15d1'));if(_0xc9a3d5<_0x21556f[_0x1a4e('0xc5')]||_0xc9a3d5===_0x21556f['line']&&_0x334c25<_0x21556f[_0x1a4e('0x15d1')])throw new Error(_0x1a4e('0x15d2'));return _0x21556f=_0x446101,{'generatedOffset':{'generatedLine':_0xc9a3d5+0x1,'generatedColumn':_0x334c25+0x1},'consumer':new _0x4f97c7(_0x5a197f[_0x1a4e('0x15c4')](_0x3f76a2,_0x1a4e('0x21')))};});}_0x4f97c7[_0x1a4e('0x15d3')]=function(_0x3f76a2){return _0x2693f5['fromSourceMap'](_0x3f76a2);},_0x4f97c7[_0x1a4e('0xa')]['_version']=0x3,_0x4f97c7[_0x1a4e('0xa')][_0x1a4e('0x15d4')]=null,Object[_0x1a4e('0x2')](_0x4f97c7[_0x1a4e('0xa')],_0x1a4e('0x15d5'),{'get':function(){return this[_0x1a4e('0x15d4')]||this['_parseMappings'](this[_0x1a4e('0x15cb')],this[_0x1a4e('0x15c6')]),this['__generatedMappings'];}}),_0x4f97c7['prototype']['__originalMappings']=null,Object[_0x1a4e('0x2')](_0x4f97c7[_0x1a4e('0xa')],'_originalMappings',{'get':function(){return this[_0x1a4e('0x15d6')]||this[_0x1a4e('0x15d7')](this[_0x1a4e('0x15cb')],this[_0x1a4e('0x15c6')]),this[_0x1a4e('0x15d6')];}}),_0x4f97c7['prototype'][_0x1a4e('0x15d8')]=function(_0x3f76a2,_0x446101){var _0xc9a3d5=_0x3f76a2[_0x1a4e('0x278')](_0x446101);return';'===_0xc9a3d5||','===_0xc9a3d5;},_0x4f97c7[_0x1a4e('0xa')][_0x1a4e('0x15d7')]=function(_0x3f76a2,_0x446101){throw new Error(_0x1a4e('0x15d9'));},_0x4f97c7[_0x1a4e('0x15da')]=0x1,_0x4f97c7[_0x1a4e('0x15db')]=0x2,_0x4f97c7['GREATEST_LOWER_BOUND']=0x1,_0x4f97c7[_0x1a4e('0x15ba')]=0x2,_0x4f97c7[_0x1a4e('0xa')]['eachMapping']=function(_0x3f76a2,_0x446101,_0xc9a3d5){var _0x334c25,_0x34e92e=_0x446101||null;switch(_0xc9a3d5||_0x4f97c7[_0x1a4e('0x15da')]){case _0x4f97c7[_0x1a4e('0x15da')]:_0x334c25=this[_0x1a4e('0x15d5')];break;case _0x4f97c7[_0x1a4e('0x15db')]:_0x334c25=this[_0x1a4e('0x15dc')];break;default:throw new Error(_0x1a4e('0x15dd'));}var _0x21556f=this[_0x1a4e('0x15c6')];_0x334c25['map'](function(_0x3f76a2){var _0x446101=null===_0x3f76a2[_0x1a4e('0xfaa')]?null:this[_0x1a4e('0x15de')]['at'](_0x3f76a2[_0x1a4e('0xfaa')]);return null!=_0x446101&&null!=_0x21556f&&(_0x446101=_0x5a197f[_0x1a4e('0x9e')](_0x21556f,_0x446101)),{'source':_0x446101,'generatedLine':_0x3f76a2[_0x1a4e('0x15bd')],'generatedColumn':_0x3f76a2[_0x1a4e('0x15be')],'originalLine':_0x3f76a2[_0x1a4e('0x15cc')],'originalColumn':_0x3f76a2[_0x1a4e('0x15cd')],'name':null===_0x3f76a2[_0x1a4e('0x2cb')]?null:this['_names']['at'](_0x3f76a2[_0x1a4e('0x2cb')])};},this)['forEach'](_0x3f76a2,_0x34e92e);},_0x4f97c7['prototype'][_0x1a4e('0x15df')]=function(_0x3f76a2){var _0x446101=_0x5a197f[_0x1a4e('0x15c4')](_0x3f76a2,_0x1a4e('0xc5')),_0xc9a3d5={'source':_0x5a197f[_0x1a4e('0x15c4')](_0x3f76a2,_0x1a4e('0xfaa')),'originalLine':_0x446101,'originalColumn':_0x5a197f[_0x1a4e('0x15c4')](_0x3f76a2,_0x1a4e('0x15d1'),0x0)};if(null!=this[_0x1a4e('0x15c6')]&&(_0xc9a3d5[_0x1a4e('0xfaa')]=_0x5a197f[_0x1a4e('0x1143')](this[_0x1a4e('0x15c6')],_0xc9a3d5[_0x1a4e('0xfaa')])),!this['_sources']['has'](_0xc9a3d5[_0x1a4e('0xfaa')]))return[];_0xc9a3d5[_0x1a4e('0xfaa')]=this[_0x1a4e('0x15de')]['indexOf'](_0xc9a3d5['source']);var _0x34e92e=[],_0x21556f=this[_0x1a4e('0x15e0')](_0xc9a3d5,this[_0x1a4e('0x15dc')],_0x1a4e('0x15cc'),_0x1a4e('0x15cd'),_0x5a197f[_0x1a4e('0x15e1')],_0x334c25[_0x1a4e('0x15ba')]);if(_0x21556f>=0x0){var _0x22363e=this[_0x1a4e('0x15dc')][_0x21556f];if(void 0x0===_0x3f76a2[_0x1a4e('0x15d1')])for(var _0x4f97c7=_0x22363e['originalLine'];_0x22363e&&_0x22363e[_0x1a4e('0x15cc')]===_0x4f97c7;)_0x34e92e[_0x1a4e('0x46')]({'line':_0x5a197f[_0x1a4e('0x15c4')](_0x22363e,_0x1a4e('0x15bd'),null),'column':_0x5a197f['getArg'](_0x22363e,'generatedColumn',null),'lastColumn':_0x5a197f['getArg'](_0x22363e,_0x1a4e('0x15e2'),null)}),_0x22363e=this[_0x1a4e('0x15dc')][++_0x21556f];else for(var _0x2693f5=_0x22363e['originalColumn'];_0x22363e&&_0x22363e['originalLine']===_0x446101&&_0x22363e[_0x1a4e('0x15cd')]==_0x2693f5;)_0x34e92e[_0x1a4e('0x46')]({'line':_0x5a197f[_0x1a4e('0x15c4')](_0x22363e,_0x1a4e('0x15bd'),null),'column':_0x5a197f[_0x1a4e('0x15c4')](_0x22363e,'generatedColumn',null),'lastColumn':_0x5a197f['getArg'](_0x22363e,_0x1a4e('0x15e2'),null)}),_0x22363e=this[_0x1a4e('0x15dc')][++_0x21556f];}return _0x34e92e;},_0x446101['SourceMapConsumer']=_0x4f97c7,_0x2693f5[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x4f97c7['prototype']),_0x2693f5[_0x1a4e('0xa')][_0x1a4e('0x15e3')]=_0x4f97c7,_0x2693f5['fromSourceMap']=function(_0x3f76a2){var _0x446101=Object[_0x1a4e('0x7')](_0x2693f5[_0x1a4e('0xa')]),_0xc9a3d5=_0x446101[_0x1a4e('0x15e4')]=_0x34e92e[_0x1a4e('0x14bb')](_0x3f76a2['_names']['toArray'](),!0x0),_0x334c25=_0x446101[_0x1a4e('0x15de')]=_0x34e92e[_0x1a4e('0x14bb')](_0x3f76a2[_0x1a4e('0x15de')][_0x1a4e('0x347')](),!0x0);_0x446101['sourceRoot']=_0x3f76a2[_0x1a4e('0x15e5')],_0x446101[_0x1a4e('0x15c7')]=_0x3f76a2[_0x1a4e('0x15e6')](_0x446101['_sources'][_0x1a4e('0x347')](),_0x446101[_0x1a4e('0x15c6')]),_0x446101[_0x1a4e('0x15c9')]=_0x3f76a2[_0x1a4e('0x15e7')];for(var _0x21556f=_0x3f76a2[_0x1a4e('0x15cb')][_0x1a4e('0x347')]()[_0x1a4e('0x78')](),_0x4f97c7=_0x446101['__generatedMappings']=[],_0x45cb7e=_0x446101[_0x1a4e('0x15d6')]=[],_0x3a79b7=0x0,_0x4b9dcc=_0x21556f['length'];_0x3a79b7<_0x4b9dcc;_0x3a79b7++){var _0x11df47=_0x21556f[_0x3a79b7],_0x38d3d2=new _0x2c3041();_0x38d3d2[_0x1a4e('0x15bd')]=_0x11df47[_0x1a4e('0x15bd')],_0x38d3d2[_0x1a4e('0x15be')]=_0x11df47[_0x1a4e('0x15be')],_0x11df47[_0x1a4e('0xfaa')]&&(_0x38d3d2[_0x1a4e('0xfaa')]=_0x334c25[_0x1a4e('0x3e')](_0x11df47['source']),_0x38d3d2[_0x1a4e('0x15cc')]=_0x11df47[_0x1a4e('0x15cc')],_0x38d3d2[_0x1a4e('0x15cd')]=_0x11df47[_0x1a4e('0x15cd')],_0x11df47[_0x1a4e('0x2cb')]&&(_0x38d3d2[_0x1a4e('0x2cb')]=_0xc9a3d5[_0x1a4e('0x3e')](_0x11df47[_0x1a4e('0x2cb')])),_0x45cb7e[_0x1a4e('0x46')](_0x38d3d2)),_0x4f97c7[_0x1a4e('0x46')](_0x38d3d2);}return _0x22363e(_0x446101[_0x1a4e('0x15d6')],_0x5a197f[_0x1a4e('0x15e1')]),_0x446101;},_0x2693f5[_0x1a4e('0xa')][_0x1a4e('0x15ca')]=0x3,Object[_0x1a4e('0x2')](_0x2693f5[_0x1a4e('0xa')],'sources',{'get':function(){return this['_sources']['toArray']()[_0x1a4e('0x21')](function(_0x3f76a2){return null!=this[_0x1a4e('0x15c6')]?_0x5a197f[_0x1a4e('0x9e')](this[_0x1a4e('0x15c6')],_0x3f76a2):_0x3f76a2;},this);}}),_0x2693f5[_0x1a4e('0xa')]['_parseMappings']=function(_0x3f76a2,_0x446101){for(var _0xc9a3d5,_0x334c25,_0x34e92e,_0x4f97c7,_0x2693f5,_0x45cb7e=0x1,_0x46df7d=0x0,_0x4112c1=0x0,_0x8b21db=0x0,_0x41678f=0x0,_0x532c7b=0x0,_0xe40153=_0x3f76a2[_0x1a4e('0x1e')],_0x7fd836=0x0,_0xa89284={},_0x24b703={},_0x2343e2=[],_0x5ba00c=[];_0x7fd836<_0xe40153;)if(';'===_0x3f76a2[_0x1a4e('0x278')](_0x7fd836))_0x45cb7e++,_0x7fd836++,_0x46df7d=0x0;else if(','===_0x3f76a2[_0x1a4e('0x278')](_0x7fd836))_0x7fd836++;else{for((_0xc9a3d5=new _0x2c3041())[_0x1a4e('0x15bd')]=_0x45cb7e,_0x4f97c7=_0x7fd836;_0x4f97c7<_0xe40153&&!this[_0x1a4e('0x15d8')](_0x3f76a2,_0x4f97c7);_0x4f97c7++);if(_0x34e92e=_0xa89284[_0x334c25=_0x3f76a2[_0x1a4e('0x78')](_0x7fd836,_0x4f97c7)])_0x7fd836+=_0x334c25[_0x1a4e('0x1e')];else{for(_0x34e92e=[];_0x7fd836<_0x4f97c7;)_0x21556f[_0x1a4e('0x8f3')](_0x3f76a2,_0x7fd836,_0x24b703),_0x2693f5=_0x24b703[_0x1a4e('0x255')],_0x7fd836=_0x24b703[_0x1a4e('0x1078')],_0x34e92e[_0x1a4e('0x46')](_0x2693f5);if(0x2===_0x34e92e[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0x15e8'));if(0x3===_0x34e92e[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0x15e9'));_0xa89284[_0x334c25]=_0x34e92e;}_0xc9a3d5[_0x1a4e('0x15be')]=_0x46df7d+_0x34e92e[0x0],_0x46df7d=_0xc9a3d5['generatedColumn'],_0x34e92e[_0x1a4e('0x1e')]>0x1&&(_0xc9a3d5[_0x1a4e('0xfaa')]=_0x41678f+_0x34e92e[0x1],_0x41678f+=_0x34e92e[0x1],_0xc9a3d5[_0x1a4e('0x15cc')]=_0x4112c1+_0x34e92e[0x2],_0x4112c1=_0xc9a3d5[_0x1a4e('0x15cc')],_0xc9a3d5[_0x1a4e('0x15cc')]+=0x1,_0xc9a3d5['originalColumn']=_0x8b21db+_0x34e92e[0x3],_0x8b21db=_0xc9a3d5[_0x1a4e('0x15cd')],_0x34e92e['length']>0x4&&(_0xc9a3d5[_0x1a4e('0x2cb')]=_0x532c7b+_0x34e92e[0x4],_0x532c7b+=_0x34e92e[0x4])),_0x5ba00c[_0x1a4e('0x46')](_0xc9a3d5),_0x1a4e('0x3d')==typeof _0xc9a3d5['originalLine']&&_0x2343e2[_0x1a4e('0x46')](_0xc9a3d5);}_0x22363e(_0x5ba00c,_0x5a197f[_0x1a4e('0x15ea')]),this[_0x1a4e('0x15d4')]=_0x5ba00c,_0x22363e(_0x2343e2,_0x5a197f[_0x1a4e('0x15e1')]),this[_0x1a4e('0x15d6')]=_0x2343e2;},_0x2693f5[_0x1a4e('0xa')][_0x1a4e('0x15e0')]=function(_0x3f76a2,_0x446101,_0xc9a3d5,_0x5a197f,_0x34e92e,_0x21556f){if(_0x3f76a2[_0xc9a3d5]<=0x0)throw new TypeError(_0x1a4e('0x15eb')+_0x3f76a2[_0xc9a3d5]);if(_0x3f76a2[_0x5a197f]<0x0)throw new TypeError(_0x1a4e('0x15ec')+_0x3f76a2[_0x5a197f]);return _0x334c25[_0x1a4e('0x83')](_0x3f76a2,_0x446101,_0x34e92e,_0x21556f);},_0x2693f5[_0x1a4e('0xa')][_0x1a4e('0x15ed')]=function(){for(var _0x3f76a2=0x0;_0x3f76a2=0x0){var _0x334c25=this[_0x1a4e('0x15d5')][_0xc9a3d5];if(_0x334c25[_0x1a4e('0x15bd')]===_0x446101[_0x1a4e('0x15bd')]){var _0x34e92e=_0x5a197f['getArg'](_0x334c25,_0x1a4e('0xfaa'),null);null!==_0x34e92e&&(_0x34e92e=this[_0x1a4e('0x15de')]['at'](_0x34e92e),null!=this[_0x1a4e('0x15c6')]&&(_0x34e92e=_0x5a197f['join'](this[_0x1a4e('0x15c6')],_0x34e92e)));var _0x21556f=_0x5a197f[_0x1a4e('0x15c4')](_0x334c25,'name',null);return null!==_0x21556f&&(_0x21556f=this['_names']['at'](_0x21556f)),{'source':_0x34e92e,'line':_0x5a197f['getArg'](_0x334c25,'originalLine',null),'column':_0x5a197f[_0x1a4e('0x15c4')](_0x334c25,'originalColumn',null),'name':_0x21556f};}}return{'source':null,'line':null,'column':null,'name':null};},_0x2693f5[_0x1a4e('0xa')]['hasContentsOfAllSources']=function(){return!!this['sourcesContent']&&(this['sourcesContent'][_0x1a4e('0x1e')]>=this[_0x1a4e('0x15de')]['size']()&&!this['sourcesContent'][_0x1a4e('0x1c2')](function(_0x3f76a2){return null==_0x3f76a2;}));},_0x2693f5[_0x1a4e('0xa')][_0x1a4e('0x15ef')]=function(_0x3f76a2,_0x446101){if(!this[_0x1a4e('0x15c7')])return null;if(null!=this[_0x1a4e('0x15c6')]&&(_0x3f76a2=_0x5a197f[_0x1a4e('0x1143')](this[_0x1a4e('0x15c6')],_0x3f76a2)),this[_0x1a4e('0x15de')][_0x1a4e('0x178')](_0x3f76a2))return this[_0x1a4e('0x15c7')][this['_sources'][_0x1a4e('0x3e')](_0x3f76a2)];var _0xc9a3d5;if(null!=this[_0x1a4e('0x15c6')]&&(_0xc9a3d5=_0x5a197f[_0x1a4e('0x15f0')](this[_0x1a4e('0x15c6')]))){var _0x334c25=_0x3f76a2[_0x1a4e('0x115')](/^file:\/\//,'');if('file'==_0xc9a3d5[_0x1a4e('0x15f1')]&&this[_0x1a4e('0x15de')][_0x1a4e('0x178')](_0x334c25))return this['sourcesContent'][this[_0x1a4e('0x15de')][_0x1a4e('0x3e')](_0x334c25)];if((!_0xc9a3d5[_0x1a4e('0x64')]||'/'==_0xc9a3d5['path'])&&this[_0x1a4e('0x15de')][_0x1a4e('0x178')]('/'+_0x3f76a2))return this[_0x1a4e('0x15c7')][this[_0x1a4e('0x15de')]['indexOf']('/'+_0x3f76a2)];}if(_0x446101)return null;throw new Error('\x22'+_0x3f76a2+'\x22\x20is\x20not\x20in\x20the\x20SourceMap.');},_0x2693f5[_0x1a4e('0xa')][_0x1a4e('0x15f2')]=function(_0x3f76a2){var _0x446101=_0x5a197f[_0x1a4e('0x15c4')](_0x3f76a2,_0x1a4e('0xfaa'));if(null!=this[_0x1a4e('0x15c6')]&&(_0x446101=_0x5a197f[_0x1a4e('0x1143')](this[_0x1a4e('0x15c6')],_0x446101)),!this[_0x1a4e('0x15de')][_0x1a4e('0x178')](_0x446101))return{'line':null,'column':null,'lastColumn':null};var _0xc9a3d5={'source':_0x446101=this[_0x1a4e('0x15de')]['indexOf'](_0x446101),'originalLine':_0x5a197f[_0x1a4e('0x15c4')](_0x3f76a2,_0x1a4e('0xc5')),'originalColumn':_0x5a197f[_0x1a4e('0x15c4')](_0x3f76a2,'column')},_0x334c25=this['_findMapping'](_0xc9a3d5,this[_0x1a4e('0x15dc')],'originalLine','originalColumn',_0x5a197f[_0x1a4e('0x15e1')],_0x5a197f['getArg'](_0x3f76a2,_0x1a4e('0x15f3'),_0x4f97c7['GREATEST_LOWER_BOUND']));if(_0x334c25>=0x0){var _0x34e92e=this[_0x1a4e('0x15dc')][_0x334c25];if(_0x34e92e[_0x1a4e('0xfaa')]===_0xc9a3d5['source'])return{'line':_0x5a197f['getArg'](_0x34e92e,_0x1a4e('0x15bd'),null),'column':_0x5a197f[_0x1a4e('0x15c4')](_0x34e92e,_0x1a4e('0x15be'),null),'lastColumn':_0x5a197f[_0x1a4e('0x15c4')](_0x34e92e,'lastGeneratedColumn',null)};}return{'line':null,'column':null,'lastColumn':null};},_0x446101[_0x1a4e('0x15f4')]=_0x2693f5,_0x45cb7e['prototype']=Object[_0x1a4e('0x7')](_0x4f97c7[_0x1a4e('0xa')]),_0x45cb7e[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x4f97c7,_0x45cb7e[_0x1a4e('0xa')][_0x1a4e('0x15ca')]=0x3,Object[_0x1a4e('0x2')](_0x45cb7e[_0x1a4e('0xa')],'sources',{'get':function(){for(var _0x3f76a2=[],_0x446101=0x0;_0x4461010x0&&_0x18e455[_0x1a4e('0x15d1')]>=0x0)||_0xa79d6a||_0x2c4457||_0x49adc1)&&!(_0x18e455&&'line'in _0x18e455&&_0x1a4e('0x15d1')in _0x18e455&&_0xa79d6a&&_0x1a4e('0xc5')in _0xa79d6a&&_0x1a4e('0x15d1')in _0xa79d6a&&_0x18e455[_0x1a4e('0xc5')]>0x0&&_0x18e455[_0x1a4e('0x15d1')]>=0x0&&_0xa79d6a[_0x1a4e('0xc5')]>0x0&&_0xa79d6a['column']>=0x0&&_0x2c4457))throw new Error(_0x1a4e('0x1609')+JSON[_0x1a4e('0xd7')]({'generated':_0x18e455,'source':_0x2c4457,'original':_0xa79d6a,'name':_0x49adc1}));},_0x5c6a51['prototype'][_0x1a4e('0x160a')]=function(){for(var _0x18e455,_0xa79d6a,_0x2c4457,_0x1fe99c,_0x391a13=0x0,_0x5c6a51=0x1,_0x1bf277=0x0,_0x9c4c13=0x0,_0x5eab35=0x0,_0x481347=0x0,_0x6c290b='',_0xefdf1e=this[_0x1a4e('0x15cb')][_0x1a4e('0x347')](),_0x4c1cb3=0x0,_0x589212=_0xefdf1e[_0x1a4e('0x1e')];_0x4c1cb3<_0x589212;_0x4c1cb3++){if(_0x18e455='',(_0xa79d6a=_0xefdf1e[_0x4c1cb3])[_0x1a4e('0x15bd')]!==_0x5c6a51)for(_0x391a13=0x0;_0xa79d6a[_0x1a4e('0x15bd')]!==_0x5c6a51;)_0x18e455+=';',_0x5c6a51++;else if(_0x4c1cb3>0x0){if(!_0x341170[_0x1a4e('0x15bf')](_0xa79d6a,_0xefdf1e[_0x4c1cb3-0x1]))continue;_0x18e455+=',';}_0x18e455+=_0x49adc1['encode'](_0xa79d6a[_0x1a4e('0x15be')]-_0x391a13),_0x391a13=_0xa79d6a[_0x1a4e('0x15be')],null!=_0xa79d6a['source']&&(_0x1fe99c=this[_0x1a4e('0x15de')][_0x1a4e('0x3e')](_0xa79d6a[_0x1a4e('0xfaa')]),_0x18e455+=_0x49adc1[_0x1a4e('0x86d')](_0x1fe99c-_0x481347),_0x481347=_0x1fe99c,_0x18e455+=_0x49adc1[_0x1a4e('0x86d')](_0xa79d6a[_0x1a4e('0x15cc')]-0x1-_0x9c4c13),_0x9c4c13=_0xa79d6a[_0x1a4e('0x15cc')]-0x1,_0x18e455+=_0x49adc1[_0x1a4e('0x86d')](_0xa79d6a[_0x1a4e('0x15cd')]-_0x1bf277),_0x1bf277=_0xa79d6a[_0x1a4e('0x15cd')],null!=_0xa79d6a[_0x1a4e('0x2cb')]&&(_0x2c4457=this[_0x1a4e('0x15e4')][_0x1a4e('0x3e')](_0xa79d6a['name']),_0x18e455+=_0x49adc1[_0x1a4e('0x86d')](_0x2c4457-_0x5eab35),_0x5eab35=_0x2c4457)),_0x6c290b+=_0x18e455;}return _0x6c290b;},_0x5c6a51[_0x1a4e('0xa')]['_generateSourcesContent']=function(_0x18e455,_0xa79d6a){return _0x18e455[_0x1a4e('0x21')](function(_0x18e455){if(!this[_0x1a4e('0x15ff')])return null;null!=_0xa79d6a&&(_0x18e455=_0x341170[_0x1a4e('0x1143')](_0xa79d6a,_0x18e455));var _0x2c4457=_0x341170[_0x1a4e('0x15b3')](_0x18e455);return Object[_0x1a4e('0xa')][_0x1a4e('0xb')][_0x1a4e('0x1')](this[_0x1a4e('0x15ff')],_0x2c4457)?this['_sourcesContents'][_0x2c4457]:null;},this);},_0x5c6a51[_0x1a4e('0xa')]['toJSON']=function(){var _0x18e455={'version':this[_0x1a4e('0x15ca')],'sources':this['_sources']['toArray'](),'names':this[_0x1a4e('0x15e4')][_0x1a4e('0x347')](),'mappings':this[_0x1a4e('0x160a')]()};return null!=this[_0x1a4e('0x15e7')]&&(_0x18e455[_0x1a4e('0x15c9')]=this[_0x1a4e('0x15e7')]),null!=this[_0x1a4e('0x15e5')]&&(_0x18e455[_0x1a4e('0x15c6')]=this['_sourceRoot']),this[_0x1a4e('0x15ff')]&&(_0x18e455[_0x1a4e('0x15c7')]=this[_0x1a4e('0x15e6')](_0x18e455['sources'],_0x18e455[_0x1a4e('0x15c6')])),_0x18e455;},_0x5c6a51[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return JSON[_0x1a4e('0xd7')](this[_0x1a4e('0xb9')]());},_0xa79d6a[_0x1a4e('0x160b')]=_0x5c6a51;},'./node_modules/source-map-support/node_modules/source-map/lib/source-node.js':function(_0x5cff07,_0x36d8d2,_0x14aba6){var _0x1354d6=_0x14aba6(_0x1a4e('0x160c'))[_0x1a4e('0x160b')],_0x3e5810=_0x14aba6('./node_modules/source-map-support/node_modules/source-map/lib/util.js'),_0x2f5bd7=/(\r?\n)/,_0x2d563f=_0x1a4e('0x160d');function _0x672f3f(_0x5cff07,_0x36d8d2,_0x14aba6,_0x1354d6,_0x3e5810){this[_0x1a4e('0x6f')]=[],this[_0x1a4e('0x160e')]={},this['line']=null==_0x5cff07?null:_0x5cff07,this[_0x1a4e('0x15d1')]=null==_0x36d8d2?null:_0x36d8d2,this['source']=null==_0x14aba6?null:_0x14aba6,this['name']=null==_0x3e5810?null:_0x3e5810,this[_0x2d563f]=!0x0,null!=_0x1354d6&&this[_0x1a4e('0x177')](_0x1354d6);}_0x672f3f[_0x1a4e('0x160f')]=function(_0x5cff07,_0x36d8d2,_0x14aba6){var _0x1354d6=new _0x672f3f(),_0x2d563f=_0x5cff07[_0x1a4e('0x2be')](_0x2f5bd7),_0x18fda9=0x0,_0x177d6f=function(){return _0x5cff07()+(_0x5cff07()||'');function _0x5cff07(){return _0x18fda9<_0x2d563f[_0x1a4e('0x1e')]?_0x2d563f[_0x18fda9++]:void 0x0;}},_0x2772c1=0x1,_0x3ac9ea=0x0,_0xb299ba=null;return _0x36d8d2[_0x1a4e('0x1600')](function(_0x5cff07){if(null!==_0xb299ba){if(!(_0x2772c1<_0x5cff07[_0x1a4e('0x15bd')])){var _0x36d8d2=(_0x14aba6=_0x2d563f[_0x18fda9])[_0x1a4e('0x254')](0x0,_0x5cff07[_0x1a4e('0x15be')]-_0x3ac9ea);return _0x2d563f[_0x18fda9]=_0x14aba6[_0x1a4e('0x254')](_0x5cff07[_0x1a4e('0x15be')]-_0x3ac9ea),_0x3ac9ea=_0x5cff07[_0x1a4e('0x15be')],_0x5b1171(_0xb299ba,_0x36d8d2),void(_0xb299ba=_0x5cff07);}_0x5b1171(_0xb299ba,_0x177d6f()),_0x2772c1++,_0x3ac9ea=0x0;}for(;_0x2772c1<_0x5cff07[_0x1a4e('0x15bd')];)_0x1354d6['add'](_0x177d6f()),_0x2772c1++;if(_0x3ac9ea<_0x5cff07[_0x1a4e('0x15be')]){var _0x14aba6=_0x2d563f[_0x18fda9];_0x1354d6[_0x1a4e('0x177')](_0x14aba6[_0x1a4e('0x254')](0x0,_0x5cff07[_0x1a4e('0x15be')])),_0x2d563f[_0x18fda9]=_0x14aba6[_0x1a4e('0x254')](_0x5cff07[_0x1a4e('0x15be')]),_0x3ac9ea=_0x5cff07[_0x1a4e('0x15be')];}_0xb299ba=_0x5cff07;},this),_0x18fda9<_0x2d563f[_0x1a4e('0x1e')]&&(_0xb299ba&&_0x5b1171(_0xb299ba,_0x177d6f()),_0x1354d6[_0x1a4e('0x177')](_0x2d563f[_0x1a4e('0x8a')](_0x18fda9)['join'](''))),_0x36d8d2[_0x1a4e('0x15c5')]['forEach'](function(_0x5cff07){var _0x2f5bd7=_0x36d8d2[_0x1a4e('0x15ef')](_0x5cff07);null!=_0x2f5bd7&&(null!=_0x14aba6&&(_0x5cff07=_0x3e5810[_0x1a4e('0x9e')](_0x14aba6,_0x5cff07)),_0x1354d6[_0x1a4e('0x1602')](_0x5cff07,_0x2f5bd7));}),_0x1354d6;function _0x5b1171(_0x5cff07,_0x36d8d2){if(null===_0x5cff07||void 0x0===_0x5cff07['source'])_0x1354d6[_0x1a4e('0x177')](_0x36d8d2);else{var _0x2f5bd7=_0x14aba6?_0x3e5810['join'](_0x14aba6,_0x5cff07['source']):_0x5cff07[_0x1a4e('0xfaa')];_0x1354d6['add'](new _0x672f3f(_0x5cff07[_0x1a4e('0x15cc')],_0x5cff07[_0x1a4e('0x15cd')],_0x2f5bd7,_0x36d8d2,_0x5cff07[_0x1a4e('0x2cb')]));}}},_0x672f3f[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x5cff07){if(Array[_0x1a4e('0x15')](_0x5cff07))_0x5cff07[_0x1a4e('0x3b')](function(_0x5cff07){this['add'](_0x5cff07);},this);else{if(!_0x5cff07[_0x2d563f]&&'string'!=typeof _0x5cff07)throw new TypeError('Expected\x20a\x20SourceNode,\x20string,\x20or\x20an\x20array\x20of\x20SourceNodes\x20and\x20strings.\x20Got\x20'+_0x5cff07);_0x5cff07&&this[_0x1a4e('0x6f')][_0x1a4e('0x46')](_0x5cff07);}return this;},_0x672f3f[_0x1a4e('0xa')][_0x1a4e('0x1610')]=function(_0x5cff07){if(Array[_0x1a4e('0x15')](_0x5cff07))for(var _0x36d8d2=_0x5cff07[_0x1a4e('0x1e')]-0x1;_0x36d8d2>=0x0;_0x36d8d2--)this[_0x1a4e('0x1610')](_0x5cff07[_0x36d8d2]);else{if(!_0x5cff07[_0x2d563f]&&'string'!=typeof _0x5cff07)throw new TypeError(_0x1a4e('0x1611')+_0x5cff07);this[_0x1a4e('0x6f')][_0x1a4e('0x66')](_0x5cff07);}return this;},_0x672f3f[_0x1a4e('0xa')][_0x1a4e('0x1612')]=function(_0x5cff07){for(var _0x36d8d2,_0x14aba6=0x0,_0x1354d6=this[_0x1a4e('0x6f')][_0x1a4e('0x1e')];_0x14aba6<_0x1354d6;_0x14aba6++)(_0x36d8d2=this[_0x1a4e('0x6f')][_0x14aba6])[_0x2d563f]?_0x36d8d2[_0x1a4e('0x1612')](_0x5cff07):''!==_0x36d8d2&&_0x5cff07(_0x36d8d2,{'source':this[_0x1a4e('0xfaa')],'line':this['line'],'column':this[_0x1a4e('0x15d1')],'name':this[_0x1a4e('0x2cb')]});},_0x672f3f[_0x1a4e('0xa')][_0x1a4e('0x9e')]=function(_0x5cff07){var _0x36d8d2,_0x14aba6,_0x1354d6=this[_0x1a4e('0x6f')][_0x1a4e('0x1e')];if(_0x1354d6>0x0){for(_0x36d8d2=[],_0x14aba6=0x0;_0x14aba6<_0x1354d6-0x1;_0x14aba6++)_0x36d8d2['push'](this[_0x1a4e('0x6f')][_0x14aba6]),_0x36d8d2[_0x1a4e('0x46')](_0x5cff07);_0x36d8d2['push'](this[_0x1a4e('0x6f')][_0x14aba6]),this['children']=_0x36d8d2;}return this;},_0x672f3f[_0x1a4e('0xa')][_0x1a4e('0x1613')]=function(_0x5cff07,_0x36d8d2){var _0x14aba6=this[_0x1a4e('0x6f')][this[_0x1a4e('0x6f')][_0x1a4e('0x1e')]-0x1];return _0x14aba6[_0x2d563f]?_0x14aba6[_0x1a4e('0x1613')](_0x5cff07,_0x36d8d2):_0x1a4e('0x9')==typeof _0x14aba6?this[_0x1a4e('0x6f')][this[_0x1a4e('0x6f')][_0x1a4e('0x1e')]-0x1]=_0x14aba6[_0x1a4e('0x115')](_0x5cff07,_0x36d8d2):this[_0x1a4e('0x6f')][_0x1a4e('0x46')](''[_0x1a4e('0x115')](_0x5cff07,_0x36d8d2)),this;},_0x672f3f[_0x1a4e('0xa')]['setSourceContent']=function(_0x5cff07,_0x36d8d2){this[_0x1a4e('0x160e')][_0x3e5810[_0x1a4e('0x15b3')](_0x5cff07)]=_0x36d8d2;},_0x672f3f[_0x1a4e('0xa')][_0x1a4e('0x1614')]=function(_0x5cff07){for(var _0x36d8d2=0x0,_0x14aba6=this[_0x1a4e('0x6f')][_0x1a4e('0x1e')];_0x36d8d2<_0x14aba6;_0x36d8d2++)this[_0x1a4e('0x6f')][_0x36d8d2][_0x2d563f]&&this[_0x1a4e('0x6f')][_0x36d8d2]['walkSourceContents'](_0x5cff07);var _0x1354d6=Object['keys'](this[_0x1a4e('0x160e')]);for(_0x36d8d2=0x0,_0x14aba6=_0x1354d6[_0x1a4e('0x1e')];_0x36d8d2<_0x14aba6;_0x36d8d2++)_0x5cff07(_0x3e5810[_0x1a4e('0x1615')](_0x1354d6[_0x36d8d2]),this[_0x1a4e('0x160e')][_0x1354d6[_0x36d8d2]]);},_0x672f3f[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){var _0x5cff07='';return this[_0x1a4e('0x1612')](function(_0x36d8d2){_0x5cff07+=_0x36d8d2;}),_0x5cff07;},_0x672f3f[_0x1a4e('0xa')][_0x1a4e('0x1616')]=function(_0x5cff07){var _0x36d8d2={'code':'','line':0x1,'column':0x0},_0x14aba6=new _0x1354d6(_0x5cff07),_0x3e5810=!0x1,_0x2f5bd7=null,_0x2d563f=null,_0x672f3f=null,_0x450ca4=null;return this[_0x1a4e('0x1612')](function(_0x5cff07,_0x1354d6){_0x36d8d2[_0x1a4e('0x1617')]+=_0x5cff07,null!==_0x1354d6[_0x1a4e('0xfaa')]&&null!==_0x1354d6[_0x1a4e('0xc5')]&&null!==_0x1354d6[_0x1a4e('0x15d1')]?(_0x2f5bd7===_0x1354d6[_0x1a4e('0xfaa')]&&_0x2d563f===_0x1354d6['line']&&_0x672f3f===_0x1354d6['column']&&_0x450ca4===_0x1354d6[_0x1a4e('0x2cb')]||_0x14aba6[_0x1a4e('0x1601')]({'source':_0x1354d6['source'],'original':{'line':_0x1354d6[_0x1a4e('0xc5')],'column':_0x1354d6[_0x1a4e('0x15d1')]},'generated':{'line':_0x36d8d2[_0x1a4e('0xc5')],'column':_0x36d8d2[_0x1a4e('0x15d1')]},'name':_0x1354d6[_0x1a4e('0x2cb')]}),_0x2f5bd7=_0x1354d6[_0x1a4e('0xfaa')],_0x2d563f=_0x1354d6[_0x1a4e('0xc5')],_0x672f3f=_0x1354d6['column'],_0x450ca4=_0x1354d6[_0x1a4e('0x2cb')],_0x3e5810=!0x0):_0x3e5810&&(_0x14aba6[_0x1a4e('0x1601')]({'generated':{'line':_0x36d8d2[_0x1a4e('0xc5')],'column':_0x36d8d2[_0x1a4e('0x15d1')]}}),_0x2f5bd7=null,_0x3e5810=!0x1);for(var _0x3a8076=0x0,_0xf1fe54=_0x5cff07[_0x1a4e('0x1e')];_0x3a8076<_0xf1fe54;_0x3a8076++)0xa===_0x5cff07[_0x1a4e('0x913')](_0x3a8076)?(_0x36d8d2[_0x1a4e('0xc5')]++,_0x36d8d2[_0x1a4e('0x15d1')]=0x0,_0x3a8076+0x1===_0xf1fe54?(_0x2f5bd7=null,_0x3e5810=!0x1):_0x3e5810&&_0x14aba6[_0x1a4e('0x1601')]({'source':_0x1354d6[_0x1a4e('0xfaa')],'original':{'line':_0x1354d6[_0x1a4e('0xc5')],'column':_0x1354d6[_0x1a4e('0x15d1')]},'generated':{'line':_0x36d8d2[_0x1a4e('0xc5')],'column':_0x36d8d2[_0x1a4e('0x15d1')]},'name':_0x1354d6[_0x1a4e('0x2cb')]})):_0x36d8d2['column']++;}),this[_0x1a4e('0x1614')](function(_0x5cff07,_0x36d8d2){_0x14aba6[_0x1a4e('0x1602')](_0x5cff07,_0x36d8d2);}),{'code':_0x36d8d2[_0x1a4e('0x1617')],'map':_0x14aba6};},_0x36d8d2['SourceNode']=_0x672f3f;},'./node_modules/source-map-support/node_modules/source-map/lib/util.js':function(_0x451af0,_0x30f7cf){_0x30f7cf[_0x1a4e('0x15c4')]=function(_0x451af0,_0x30f7cf,_0x1d1798){if(_0x30f7cf in _0x451af0)return _0x451af0[_0x30f7cf];if(0x3===arguments[_0x1a4e('0x1e')])return _0x1d1798;throw new Error('\x22'+_0x30f7cf+_0x1a4e('0x1618'));};var _0x185cab=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,_0x24bc63=/^data:.+\,.+$/;function _0x158a7a(_0x451af0){var _0x30f7cf=_0x451af0[_0x1a4e('0x909')](_0x185cab);return _0x30f7cf?{'scheme':_0x30f7cf[0x1],'auth':_0x30f7cf[0x2],'host':_0x30f7cf[0x3],'port':_0x30f7cf[0x4],'path':_0x30f7cf[0x5]}:null;}function _0x4b6f18(_0x451af0){var _0x30f7cf='';return _0x451af0[_0x1a4e('0x15f1')]&&(_0x30f7cf+=_0x451af0[_0x1a4e('0x15f1')]+':'),_0x30f7cf+='//',_0x451af0[_0x1a4e('0xa6d')]&&(_0x30f7cf+=_0x451af0[_0x1a4e('0xa6d')]+'@'),_0x451af0[_0x1a4e('0x1599')]&&(_0x30f7cf+=_0x451af0[_0x1a4e('0x1599')]),_0x451af0[_0x1a4e('0x1619')]&&(_0x30f7cf+=':'+_0x451af0[_0x1a4e('0x1619')]),_0x451af0[_0x1a4e('0x64')]&&(_0x30f7cf+=_0x451af0[_0x1a4e('0x64')]),_0x30f7cf;}function _0x1003d6(_0x451af0){var _0x185cab=_0x451af0,_0x24bc63=_0x158a7a(_0x451af0);if(_0x24bc63){if(!_0x24bc63[_0x1a4e('0x64')])return _0x451af0;_0x185cab=_0x24bc63['path'];}for(var _0x1003d6,_0x5868e5=_0x30f7cf[_0x1a4e('0x1142')](_0x185cab),_0x1b5d03=_0x185cab[_0x1a4e('0x2be')](/\/+/),_0x3c974f=0x0,_0x4f3315=_0x1b5d03['length']-0x1;_0x4f3315>=0x0;_0x4f3315--)'.'===(_0x1003d6=_0x1b5d03[_0x4f3315])?_0x1b5d03['splice'](_0x4f3315,0x1):'..'===_0x1003d6?_0x3c974f++:_0x3c974f>0x0&&(''===_0x1003d6?(_0x1b5d03[_0x1a4e('0x8a')](_0x4f3315+0x1,_0x3c974f),_0x3c974f=0x0):(_0x1b5d03[_0x1a4e('0x8a')](_0x4f3315,0x2),_0x3c974f--));return''===(_0x185cab=_0x1b5d03[_0x1a4e('0x9e')]('/'))&&(_0x185cab=_0x5868e5?'/':'.'),_0x24bc63?(_0x24bc63[_0x1a4e('0x64')]=_0x185cab,_0x4b6f18(_0x24bc63)):_0x185cab;}_0x30f7cf['urlParse']=_0x158a7a,_0x30f7cf['urlGenerate']=_0x4b6f18,_0x30f7cf[_0x1a4e('0x330')]=_0x1003d6,_0x30f7cf[_0x1a4e('0x9e')]=function(_0x451af0,_0x30f7cf){''===_0x451af0&&(_0x451af0='.'),''===_0x30f7cf&&(_0x30f7cf='.');var _0x185cab=_0x158a7a(_0x30f7cf),_0x43b5b8=_0x158a7a(_0x451af0);if(_0x43b5b8&&(_0x451af0=_0x43b5b8[_0x1a4e('0x64')]||'/'),_0x185cab&&!_0x185cab[_0x1a4e('0x15f1')])return _0x43b5b8&&(_0x185cab[_0x1a4e('0x15f1')]=_0x43b5b8[_0x1a4e('0x15f1')]),_0x4b6f18(_0x185cab);if(_0x185cab||_0x30f7cf['match'](_0x24bc63))return _0x30f7cf;if(_0x43b5b8&&!_0x43b5b8[_0x1a4e('0x1599')]&&!_0x43b5b8[_0x1a4e('0x64')])return _0x43b5b8[_0x1a4e('0x1599')]=_0x30f7cf,_0x4b6f18(_0x43b5b8);var _0x39123c='/'===_0x30f7cf[_0x1a4e('0x278')](0x0)?_0x30f7cf:_0x1003d6(_0x451af0['replace'](/\/+$/,'')+'/'+_0x30f7cf);return _0x43b5b8?(_0x43b5b8[_0x1a4e('0x64')]=_0x39123c,_0x4b6f18(_0x43b5b8)):_0x39123c;},_0x30f7cf[_0x1a4e('0x1142')]=function(_0x451af0){return'/'===_0x451af0[_0x1a4e('0x278')](0x0)||!!_0x451af0[_0x1a4e('0x909')](_0x185cab);},_0x30f7cf['relative']=function(_0x451af0,_0x30f7cf){''===_0x451af0&&(_0x451af0='.'),_0x451af0=_0x451af0[_0x1a4e('0x115')](/\/$/,'');for(var _0x185cab=0x0;0x0!==_0x30f7cf[_0x1a4e('0x3e')](_0x451af0+'/');){var _0x24bc63=_0x451af0['lastIndexOf']('/');if(_0x24bc63<0x0)return _0x30f7cf;if((_0x451af0=_0x451af0[_0x1a4e('0x78')](0x0,_0x24bc63))[_0x1a4e('0x909')](/^([^\/]+:\/)?\/*$/))return _0x30f7cf;++_0x185cab;}return Array(_0x185cab+0x1)[_0x1a4e('0x9e')](_0x1a4e('0x161a'))+_0x30f7cf[_0x1a4e('0x254')](_0x451af0[_0x1a4e('0x1e')]+0x1);};var _0x33f313=!(_0x1a4e('0x295')in Object['create'](null));function _0xf7d47e(_0x451af0){return _0x451af0;}function _0x15805f(_0x451af0){if(!_0x451af0)return!0x1;var _0x30f7cf=_0x451af0[_0x1a4e('0x1e')];if(_0x30f7cf<0x9)return!0x1;if(0x5f!==_0x451af0[_0x1a4e('0x913')](_0x30f7cf-0x1)||0x5f!==_0x451af0[_0x1a4e('0x913')](_0x30f7cf-0x2)||0x6f!==_0x451af0['charCodeAt'](_0x30f7cf-0x3)||0x74!==_0x451af0['charCodeAt'](_0x30f7cf-0x4)||0x6f!==_0x451af0[_0x1a4e('0x913')](_0x30f7cf-0x5)||0x72!==_0x451af0[_0x1a4e('0x913')](_0x30f7cf-0x6)||0x70!==_0x451af0['charCodeAt'](_0x30f7cf-0x7)||0x5f!==_0x451af0[_0x1a4e('0x913')](_0x30f7cf-0x8)||0x5f!==_0x451af0[_0x1a4e('0x913')](_0x30f7cf-0x9))return!0x1;for(var _0x185cab=_0x30f7cf-0xa;_0x185cab>=0x0;_0x185cab--)if(0x24!==_0x451af0[_0x1a4e('0x913')](_0x185cab))return!0x1;return!0x0;}function _0x2ec8ff(_0x451af0,_0x30f7cf){return _0x451af0===_0x30f7cf?0x0:_0x451af0>_0x30f7cf?0x1:-0x1;}_0x30f7cf[_0x1a4e('0x15b3')]=_0x33f313?_0xf7d47e:function(_0x451af0){return _0x15805f(_0x451af0)?'$'+_0x451af0:_0x451af0;},_0x30f7cf[_0x1a4e('0x1615')]=_0x33f313?_0xf7d47e:function(_0x451af0){return _0x15805f(_0x451af0)?_0x451af0[_0x1a4e('0x78')](0x1):_0x451af0;},_0x30f7cf['compareByOriginalPositions']=function(_0x451af0,_0x30f7cf,_0x185cab){var _0x24bc63=_0x451af0['source']-_0x30f7cf[_0x1a4e('0xfaa')];return 0x0!==_0x24bc63?_0x24bc63:0x0!=(_0x24bc63=_0x451af0[_0x1a4e('0x15cc')]-_0x30f7cf['originalLine'])?_0x24bc63:0x0!=(_0x24bc63=_0x451af0[_0x1a4e('0x15cd')]-_0x30f7cf[_0x1a4e('0x15cd')])||_0x185cab?_0x24bc63:0x0!=(_0x24bc63=_0x451af0[_0x1a4e('0x15be')]-_0x30f7cf[_0x1a4e('0x15be')])?_0x24bc63:0x0!=(_0x24bc63=_0x451af0['generatedLine']-_0x30f7cf['generatedLine'])?_0x24bc63:_0x451af0[_0x1a4e('0x2cb')]-_0x30f7cf[_0x1a4e('0x2cb')];},_0x30f7cf[_0x1a4e('0x15ea')]=function(_0x451af0,_0x30f7cf,_0x185cab){var _0x24bc63=_0x451af0[_0x1a4e('0x15bd')]-_0x30f7cf[_0x1a4e('0x15bd')];return 0x0!==_0x24bc63?_0x24bc63:0x0!=(_0x24bc63=_0x451af0[_0x1a4e('0x15be')]-_0x30f7cf[_0x1a4e('0x15be')])||_0x185cab?_0x24bc63:0x0!=(_0x24bc63=_0x451af0[_0x1a4e('0xfaa')]-_0x30f7cf[_0x1a4e('0xfaa')])?_0x24bc63:0x0!=(_0x24bc63=_0x451af0[_0x1a4e('0x15cc')]-_0x30f7cf['originalLine'])?_0x24bc63:0x0!=(_0x24bc63=_0x451af0[_0x1a4e('0x15cd')]-_0x30f7cf[_0x1a4e('0x15cd')])?_0x24bc63:_0x451af0['name']-_0x30f7cf[_0x1a4e('0x2cb')];},_0x30f7cf['compareByGeneratedPositionsInflated']=function(_0x451af0,_0x30f7cf){var _0x185cab=_0x451af0[_0x1a4e('0x15bd')]-_0x30f7cf[_0x1a4e('0x15bd')];return 0x0!==_0x185cab?_0x185cab:0x0!=(_0x185cab=_0x451af0['generatedColumn']-_0x30f7cf['generatedColumn'])?_0x185cab:0x0!==(_0x185cab=_0x2ec8ff(_0x451af0[_0x1a4e('0xfaa')],_0x30f7cf['source']))?_0x185cab:0x0!=(_0x185cab=_0x451af0[_0x1a4e('0x15cc')]-_0x30f7cf[_0x1a4e('0x15cc')])?_0x185cab:0x0!=(_0x185cab=_0x451af0[_0x1a4e('0x15cd')]-_0x30f7cf[_0x1a4e('0x15cd')])?_0x185cab:_0x2ec8ff(_0x451af0[_0x1a4e('0x2cb')],_0x30f7cf['name']);};},'./node_modules/source-map-support/node_modules/source-map/source-map.js':function(_0x1c0524,_0x4da467,_0x486f0a){_0x4da467[_0x1a4e('0x160b')]=_0x486f0a(_0x1a4e('0x160c'))[_0x1a4e('0x160b')],_0x4da467['SourceMapConsumer']=_0x486f0a(_0x1a4e('0x161b'))[_0x1a4e('0x161c')],_0x4da467[_0x1a4e('0x161d')]=_0x486f0a('./node_modules/source-map-support/node_modules/source-map/lib/source-node.js')['SourceNode'];},'./node_modules/source-map-support/source-map-support.js':function(_0x419012,_0x410e8e,_0x52a9ec){(function(_0x419012,_0x5a4493){var _0x2ca914,_0x5ad53a=_0x52a9ec(_0x1a4e('0x161e'))[_0x1a4e('0x161c')],_0x53bea7=_0x52a9ec(_0x1a4e('0x161f'));try{(_0x2ca914=_0x52a9ec('./node_modules/fs/index.js'))[_0x1a4e('0x1620')]&&_0x2ca914[_0x1a4e('0x1621')]||(_0x2ca914=null);}catch(_0x1c4487){}var _0x5afcf4=!0x1,_0x268b2e=!0x1,_0x176b8f=!0x1,_0x95e435=_0x1a4e('0x1622'),_0x468c9e={},_0x2036fc={},_0x25c7d9=/^data:application\/json[^,]+base64,/,_0x453771=[],_0x2e4242=[];function _0x162330(){return'browser'===_0x95e435||_0x1a4e('0x80')!==_0x95e435&&(_0x1a4e('0x3')!=typeof window&&'function'==typeof XMLHttpRequest&&!(window[_0x1a4e('0xfd8')]&&window[_0x1a4e('0xa6c')]&&window[_0x1a4e('0x1154')]&&_0x1a4e('0x1623')===window[_0x1a4e('0x1154')][_0x1a4e('0x40')]));}function _0x25f32a(_0x419012){return function(_0x410e8e){for(var _0x52a9ec=0x0;_0x52a9ec<_0x419012[_0x1a4e('0x1e')];_0x52a9ec++){var _0x5a4493=_0x419012[_0x52a9ec](_0x410e8e);if(_0x5a4493)return _0x5a4493;}return null;};}var _0x7c83c6=_0x25f32a(_0x453771);function _0x337f3e(_0x419012,_0x410e8e){if(!_0x419012)return _0x410e8e;var _0x52a9ec=_0x53bea7[_0x1a4e('0x1624')](_0x419012),_0x5a4493=/^\w+:\/\/[^\/]*/[_0x1a4e('0x2af')](_0x52a9ec),_0x2ca914=_0x5a4493?_0x5a4493[0x0]:'';return _0x2ca914+_0x53bea7[_0x1a4e('0xe20')](_0x52a9ec[_0x1a4e('0x78')](_0x2ca914[_0x1a4e('0x1e')]),_0x410e8e);}_0x453771['push'](function(_0x419012){if((_0x419012=_0x419012[_0x1a4e('0x2bd')]())in _0x468c9e)return _0x468c9e[_0x419012];var _0x410e8e=null;if(_0x2ca914){if(_0x2ca914[_0x1a4e('0x1620')](_0x419012))try{_0x410e8e=_0x2ca914[_0x1a4e('0x1621')](_0x419012,_0x1a4e('0xac4'));}catch(_0x45b5b1){_0x410e8e='';}}else{var _0x52a9ec=new XMLHttpRequest();_0x52a9ec[_0x1a4e('0x12bc')](_0x1a4e('0x1625'),_0x419012,!0x1),_0x52a9ec[_0x1a4e('0x1626')](null);_0x410e8e=null;0x4===_0x52a9ec[_0x1a4e('0x1627')]&&0xc8===_0x52a9ec[_0x1a4e('0xe02')]&&(_0x410e8e=_0x52a9ec[_0x1a4e('0x1628')]);}return _0x468c9e[_0x419012]=_0x410e8e;});var _0x236704=_0x25f32a(_0x2e4242);function _0x54acff(_0x419012){var _0x410e8e=_0x2036fc[_0x419012[_0x1a4e('0xfaa')]];if(!_0x410e8e){var _0x52a9ec=_0x236704(_0x419012[_0x1a4e('0xfaa')]);_0x52a9ec?(_0x410e8e=_0x2036fc[_0x419012['source']]={'url':_0x52a9ec['url'],'map':new _0x5ad53a(_0x52a9ec['map'])})[_0x1a4e('0x21')][_0x1a4e('0x15c7')]&&_0x410e8e['map'][_0x1a4e('0x15c5')][_0x1a4e('0x3b')](function(_0x419012,_0x52a9ec){var _0x5a4493=_0x410e8e['map'][_0x1a4e('0x15c7')][_0x52a9ec];if(_0x5a4493){var _0x2ca914=_0x337f3e(_0x410e8e[_0x1a4e('0x15cf')],_0x419012);_0x468c9e[_0x2ca914]=_0x5a4493;}}):_0x410e8e=_0x2036fc[_0x419012[_0x1a4e('0xfaa')]]={'url':null,'map':null};}if(_0x410e8e&&_0x410e8e[_0x1a4e('0x21')]){var _0x5a4493=_0x410e8e[_0x1a4e('0x21')][_0x1a4e('0x15ee')](_0x419012);if(null!==_0x5a4493['source'])return _0x5a4493[_0x1a4e('0xfaa')]=_0x337f3e(_0x410e8e[_0x1a4e('0x15cf')],_0x5a4493[_0x1a4e('0xfaa')]),_0x5a4493;}return _0x419012;}function _0x10ba3c(){var _0x419012,_0x410e8e='';if(this[_0x1a4e('0x1629')]())_0x410e8e='native';else{!(_0x419012=this[_0x1a4e('0x162a')]())&&this[_0x1a4e('0x162b')]()&&(_0x410e8e=this[_0x1a4e('0x162c')](),_0x410e8e+=',\x20'),_0x410e8e+=_0x419012||_0x1a4e('0x162d');var _0x52a9ec=this[_0x1a4e('0x162e')]();if(null!=_0x52a9ec){_0x410e8e+=':'+_0x52a9ec;var _0x5a4493=this[_0x1a4e('0x162f')]();_0x5a4493&&(_0x410e8e+=':'+_0x5a4493);}}var _0x2ca914='',_0x5ad53a=this['getFunctionName'](),_0x53bea7=!0x0,_0x5afcf4=this[_0x1a4e('0x1630')]();if(!(this['isToplevel']()||_0x5afcf4)){var _0x268b2e=this[_0x1a4e('0x1631')]();_0x1a4e('0xf78')===_0x268b2e&&(_0x268b2e=_0x1a4e('0xe7f'));var _0x176b8f=this[_0x1a4e('0x1632')]();_0x5ad53a?(_0x268b2e&&0x0!=_0x5ad53a[_0x1a4e('0x3e')](_0x268b2e)&&(_0x2ca914+=_0x268b2e+'.'),_0x2ca914+=_0x5ad53a,_0x176b8f&&_0x5ad53a[_0x1a4e('0x3e')]('.'+_0x176b8f)!=_0x5ad53a[_0x1a4e('0x1e')]-_0x176b8f['length']-0x1&&(_0x2ca914+=_0x1a4e('0x1633')+_0x176b8f+']')):_0x2ca914+=_0x268b2e+'.'+(_0x176b8f||_0x1a4e('0x162d'));}else _0x5afcf4?_0x2ca914+=_0x1a4e('0x1634')+(_0x5ad53a||_0x1a4e('0x162d')):_0x5ad53a?_0x2ca914+=_0x5ad53a:(_0x2ca914+=_0x410e8e,_0x53bea7=!0x1);return _0x53bea7&&(_0x2ca914+='\x20('+_0x410e8e+')'),_0x2ca914;}function _0x563e97(_0x419012){var _0x410e8e={};return Object[_0x1a4e('0xd86')](Object[_0x1a4e('0xd98')](_0x419012))[_0x1a4e('0x3b')](function(_0x52a9ec){_0x410e8e[_0x52a9ec]=/^(?:is|get)/['test'](_0x52a9ec)?function(){return _0x419012[_0x52a9ec][_0x1a4e('0x1')](_0x419012);}:_0x419012[_0x52a9ec];}),_0x410e8e[_0x1a4e('0x95')]=_0x10ba3c,_0x410e8e;}function _0x56e4d8(_0x419012){if(_0x419012[_0x1a4e('0x1629')]())return _0x419012;var _0x410e8e=_0x419012[_0x1a4e('0x1635')]()||_0x419012[_0x1a4e('0x162a')]();if(_0x410e8e){var _0x52a9ec=_0x419012[_0x1a4e('0x162e')](),_0x5a4493=_0x419012[_0x1a4e('0x162f')]()-0x1;0x1===_0x52a9ec&&_0x5a4493>0x3e&&!_0x162330()&&!_0x419012[_0x1a4e('0x162b')]()&&(_0x5a4493-=0x3e);var _0x2ca914=_0x54acff({'source':_0x410e8e,'line':_0x52a9ec,'column':_0x5a4493});return(_0x419012=_0x563e97(_0x419012))[_0x1a4e('0x1635')]=function(){return _0x2ca914[_0x1a4e('0xfaa')];},_0x419012[_0x1a4e('0x162e')]=function(){return _0x2ca914[_0x1a4e('0xc5')];},_0x419012['getColumnNumber']=function(){return _0x2ca914['column']+0x1;},_0x419012[_0x1a4e('0x162a')]=function(){return _0x2ca914[_0x1a4e('0xfaa')];},_0x419012;}var _0x5ad53a=_0x419012['isEval']()&&_0x419012[_0x1a4e('0x162c')]();return _0x5ad53a?(_0x5ad53a=function _0x419012(_0x410e8e){var _0x52a9ec=/^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/[_0x1a4e('0x2af')](_0x410e8e);if(_0x52a9ec){var _0x5a4493=_0x54acff({'source':_0x52a9ec[0x2],'line':+_0x52a9ec[0x3],'column':_0x52a9ec[0x4]-0x1});return _0x1a4e('0x1636')+_0x52a9ec[0x1]+'\x20('+_0x5a4493[_0x1a4e('0xfaa')]+':'+_0x5a4493[_0x1a4e('0xc5')]+':'+(_0x5a4493[_0x1a4e('0x15d1')]+0x1)+')';}return(_0x52a9ec=/^eval at ([^(]+) \((.+)\)$/[_0x1a4e('0x2af')](_0x410e8e))?_0x1a4e('0x1636')+_0x52a9ec[0x1]+'\x20('+_0x419012(_0x52a9ec[0x2])+')':_0x410e8e;}(_0x5ad53a),(_0x419012=_0x563e97(_0x419012))[_0x1a4e('0x162c')]=function(){return _0x5ad53a;},_0x419012):_0x419012;}function _0x37fa0d(_0x419012,_0x410e8e){return _0x176b8f&&(_0x468c9e={},_0x2036fc={}),_0x419012+_0x410e8e[_0x1a4e('0x21')](function(_0x419012){return _0x1a4e('0x1637')+_0x56e4d8(_0x419012);})[_0x1a4e('0x9e')]('');}function _0x549e9f(_0x419012){var _0x410e8e=/\n at [^(]+ \((.*):(\d+):(\d+)\)/[_0x1a4e('0x2af')](_0x419012[_0x1a4e('0x2cd')]);if(_0x410e8e){var _0x52a9ec=_0x410e8e[0x1],_0x5a4493=+_0x410e8e[0x2],_0x5ad53a=+_0x410e8e[0x3],_0x53bea7=_0x468c9e[_0x52a9ec];if(!_0x53bea7&&_0x2ca914&&_0x2ca914['existsSync'](_0x52a9ec))try{_0x53bea7=_0x2ca914[_0x1a4e('0x1621')](_0x52a9ec,_0x1a4e('0xac4'));}catch(_0x5638ef){_0x53bea7='';}if(_0x53bea7){var _0x5afcf4=_0x53bea7['split'](/(?:\r\n|\r|\n)/)[_0x5a4493-0x1];if(_0x5afcf4)return _0x52a9ec+':'+_0x5a4493+'\x0a'+_0x5afcf4+'\x0a'+new Array(_0x5ad53a)[_0x1a4e('0x9e')]('\x20')+'^';}}return null;}function _0x2183fb(_0x410e8e){var _0x52a9ec=_0x549e9f(_0x410e8e);_0x52a9ec&&(console[_0x1a4e('0x873')](),console[_0x1a4e('0x873')](_0x52a9ec)),console[_0x1a4e('0x873')](_0x410e8e[_0x1a4e('0x2cd')]),_0x419012['exit'](0x1);}_0x2e4242[_0x1a4e('0x46')](function(_0x419012){var _0x410e8e,_0x52a9ec=function(_0x419012){var _0x410e8e;if(_0x162330())try{var _0x52a9ec=new XMLHttpRequest();_0x52a9ec[_0x1a4e('0x12bc')]('GET',_0x419012,!0x1),_0x52a9ec[_0x1a4e('0x1626')](null),_0x410e8e=0x4===_0x52a9ec[_0x1a4e('0x1627')]?_0x52a9ec[_0x1a4e('0x1628')]:null;var _0x5a4493=_0x52a9ec[_0x1a4e('0x1638')]('SourceMap')||_0x52a9ec[_0x1a4e('0x1638')](_0x1a4e('0x1639'));if(_0x5a4493)return _0x5a4493;}catch(_0x20237c){}_0x410e8e=_0x7c83c6(_0x419012);for(var _0x2ca914,_0x5ad53a,_0x53bea7=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/)[ \t]*$)/gm;_0x5ad53a=_0x53bea7[_0x1a4e('0x2af')](_0x410e8e);)_0x2ca914=_0x5ad53a;return _0x2ca914?_0x2ca914[0x1]:null;}(_0x419012);if(!_0x52a9ec)return null;if(_0x25c7d9[_0x1a4e('0x8d0')](_0x52a9ec)){var _0x2ca914=_0x52a9ec['slice'](_0x52a9ec[_0x1a4e('0x3e')](',')+0x1);_0x410e8e=new _0x5a4493(_0x2ca914,_0x1a4e('0x90d'))['toString'](),_0x52a9ec=_0x419012;}else _0x52a9ec=_0x337f3e(_0x419012,_0x52a9ec),_0x410e8e=_0x7c83c6(_0x52a9ec);return _0x410e8e?{'url':_0x52a9ec,'map':_0x410e8e}:null;}),_0x410e8e[_0x1a4e('0x163a')]=_0x56e4d8,_0x410e8e['getErrorSource']=_0x549e9f,_0x410e8e[_0x1a4e('0x163b')]=_0x54acff,_0x410e8e[_0x1a4e('0x163c')]=_0x236704,_0x410e8e[_0x1a4e('0x163d')]=function(_0x410e8e){if((_0x410e8e=_0x410e8e||{})['environment']&&(_0x95e435=_0x410e8e[_0x1a4e('0x163e')],-0x1===[_0x1a4e('0x80'),_0x1a4e('0x1155'),'auto'][_0x1a4e('0x3e')](_0x95e435)))throw new Error('environment\x20'+_0x95e435+'\x20was\x20unknown.\x20Available\x20options\x20are\x20{auto,\x20browser,\x20node}');if(_0x410e8e[_0x1a4e('0x163f')]&&(_0x410e8e[_0x1a4e('0x1640')]&&(_0x453771[_0x1a4e('0x1e')]=0x0),_0x453771[_0x1a4e('0x66')](_0x410e8e['retrieveFile'])),_0x410e8e[_0x1a4e('0x163c')]&&(_0x410e8e[_0x1a4e('0x1641')]&&(_0x2e4242[_0x1a4e('0x1e')]=0x0),_0x2e4242[_0x1a4e('0x66')](_0x410e8e['retrieveSourceMap'])),_0x410e8e['hookRequire']&&!_0x162330()){var _0x5a4493;try{_0x5a4493=_0x52a9ec(!function(){var _0x419012=new Error(_0x1a4e('0x1642'));throw _0x419012[_0x1a4e('0x1617')]=_0x1a4e('0x1643'),_0x419012;}());}catch(_0x16f8f4){}var _0x2ca914=_0x5a4493['prototype']['_compile'];_0x2ca914[_0x1a4e('0x1644')]||(_0x5a4493['prototype'][_0x1a4e('0x1645')]=function(_0x419012,_0x410e8e){return _0x468c9e[_0x410e8e]=_0x419012,_0x2036fc[_0x410e8e]=void 0x0,_0x2ca914[_0x1a4e('0x1')](this,_0x419012,_0x410e8e);},_0x5a4493[_0x1a4e('0xa')][_0x1a4e('0x1645')][_0x1a4e('0x1644')]=!0x0);}var _0x5ad53a;(_0x176b8f||(_0x176b8f=_0x1a4e('0x1646')in _0x410e8e&&_0x410e8e[_0x1a4e('0x1646')]),_0x5afcf4||(_0x5afcf4=!0x0,Error[_0x1a4e('0x1647')]=_0x37fa0d),_0x268b2e)||(!(_0x1a4e('0x1648')in _0x410e8e)||_0x410e8e[_0x1a4e('0x1648')])&&_0x1a4e('0x85')==typeof _0x419012&&null!==_0x419012&&_0x1a4e('0x68')==typeof _0x419012['on']&&(_0x268b2e=!0x0,_0x5ad53a=_0x419012[_0x1a4e('0xd8c')],_0x419012[_0x1a4e('0xd8c')]=function(_0x419012){if(_0x1a4e('0x1649')===_0x419012){var _0x410e8e=arguments[0x1]&&arguments[0x1][_0x1a4e('0x2cd')],_0x52a9ec=this[_0x1a4e('0xda3')](_0x419012)[_0x1a4e('0x1e')]>0x0;if(_0x410e8e&&!_0x52a9ec)return _0x2183fb(arguments[0x1]);}return _0x5ad53a['apply'](this,arguments);});};}[_0x1a4e('0x1')](this,_0x52a9ec(_0x1a4e('0x1156')),_0x52a9ec('./node_modules/buffer/index.js')[_0x1a4e('0x870')]));},'./node_modules/stream-browserify/index.js':function(_0x27a48e,_0xcccb21,_0x176414){_0x27a48e[_0x1a4e('0x0')]=_0x2c2019;var _0x130f8b=_0x176414('./node_modules/events/events.js')[_0x1a4e('0xd87')];function _0x2c2019(){_0x130f8b[_0x1a4e('0x1')](this);}_0x176414(_0x1a4e('0x863'))(_0x2c2019,_0x130f8b),_0x2c2019[_0x1a4e('0x164a')]=_0x176414('./node_modules/readable-stream/readable-browser.js'),_0x2c2019['Writable']=_0x176414('./node_modules/readable-stream/writable-browser.js'),_0x2c2019[_0x1a4e('0x1400')]=_0x176414(_0x1a4e('0x164b')),_0x2c2019['Transform']=_0x176414('./node_modules/readable-stream/transform.js'),_0x2c2019[_0x1a4e('0x1401')]=_0x176414(_0x1a4e('0x164c')),_0x2c2019[_0x1a4e('0x13ff')]=_0x2c2019,_0x2c2019[_0x1a4e('0xa')][_0x1a4e('0x13be')]=function(_0x27a48e,_0xcccb21){var _0x176414=this;function _0x2c2019(_0xcccb21){_0x27a48e[_0x1a4e('0x1346')]&&!0x1===_0x27a48e[_0x1a4e('0x146')](_0xcccb21)&&_0x176414['pause']&&_0x176414['pause']();}function _0x26663d(){_0x176414[_0x1a4e('0x138d')]&&_0x176414[_0x1a4e('0x13ca')]&&_0x176414[_0x1a4e('0x13ca')]();}_0x176414['on'](_0x1a4e('0x7f'),_0x2c2019),_0x27a48e['on']('drain',_0x26663d),_0x27a48e['_isStdio']||_0xcccb21&&!0x1===_0xcccb21[_0x1a4e('0xca')]||(_0x176414['on'](_0x1a4e('0xca'),_0x156130),_0x176414['on'](_0x1a4e('0x139b'),_0x2c608e));var _0x2e4c9d=!0x1;function _0x156130(){_0x2e4c9d||(_0x2e4c9d=!0x0,_0x27a48e[_0x1a4e('0xca')]());}function _0x2c608e(){_0x2e4c9d||(_0x2e4c9d=!0x0,'function'==typeof _0x27a48e[_0x1a4e('0x139c')]&&_0x27a48e['destroy']());}function _0x3cfcbb(_0x27a48e){if(_0x6a4ec3(),0x0===_0x130f8b[_0x1a4e('0xda5')](this,_0x1a4e('0x873')))throw _0x27a48e;}function _0x6a4ec3(){_0x176414[_0x1a4e('0xda0')](_0x1a4e('0x7f'),_0x2c2019),_0x27a48e[_0x1a4e('0xda0')](_0x1a4e('0x13c3'),_0x26663d),_0x176414['removeListener']('end',_0x156130),_0x176414[_0x1a4e('0xda0')]('close',_0x2c608e),_0x176414['removeListener'](_0x1a4e('0x873'),_0x3cfcbb),_0x27a48e['removeListener'](_0x1a4e('0x873'),_0x3cfcbb),_0x176414['removeListener'](_0x1a4e('0xca'),_0x6a4ec3),_0x176414[_0x1a4e('0xda0')](_0x1a4e('0x139b'),_0x6a4ec3),_0x27a48e['removeListener']('close',_0x6a4ec3);}return _0x176414['on']('error',_0x3cfcbb),_0x27a48e['on']('error',_0x3cfcbb),_0x176414['on'](_0x1a4e('0xca'),_0x6a4ec3),_0x176414['on'](_0x1a4e('0x139b'),_0x6a4ec3),_0x27a48e['on'](_0x1a4e('0x139b'),_0x6a4ec3),_0x27a48e['emit'](_0x1a4e('0x13be'),_0x176414),_0x27a48e;};},'./node_modules/string_decoder/lib/string_decoder.js':function(_0x577320,_0x441c8c,_0x5ef5a3){'use strict';var _0x2eb85c=_0x5ef5a3(_0x1a4e('0xa2d'))[_0x1a4e('0x870')],_0x56b693=_0x2eb85c[_0x1a4e('0xac5')]||function(_0x577320){switch((_0x577320=''+_0x577320)&&_0x577320[_0x1a4e('0x2b2')]()){case'hex':case _0x1a4e('0xac4'):case _0x1a4e('0xad1'):case _0x1a4e('0x900'):case _0x1a4e('0xacc'):case _0x1a4e('0x90d'):case _0x1a4e('0xacd'):case _0x1a4e('0xace'):case'utf16le':case _0x1a4e('0xad0'):case _0x1a4e('0x87e'):return!0x0;default:return!0x1;}};function _0x4597eb(_0x577320){var _0x441c8c;switch(this[_0x1a4e('0x13ae')]=function(_0x577320){var _0x441c8c=function(_0x577320){if(!_0x577320)return'utf8';for(var _0x441c8c;;)switch(_0x577320){case _0x1a4e('0xac4'):case _0x1a4e('0xad1'):return _0x1a4e('0xac4');case _0x1a4e('0xacd'):case'ucs-2':case _0x1a4e('0xacf'):case _0x1a4e('0xad0'):return'utf16le';case _0x1a4e('0xacb'):case _0x1a4e('0xacc'):return _0x1a4e('0xacb');case _0x1a4e('0x90d'):case _0x1a4e('0x900'):case _0x1a4e('0x823'):return _0x577320;default:if(_0x441c8c)return;_0x577320=(''+_0x577320)[_0x1a4e('0x2b2')](),_0x441c8c=!0x0;}}(_0x577320);if(_0x1a4e('0x9')!=typeof _0x441c8c&&(_0x2eb85c[_0x1a4e('0xac5')]===_0x56b693||!_0x56b693(_0x577320)))throw new Error(_0x1a4e('0xae8')+_0x577320);return _0x441c8c||_0x577320;}(_0x577320),this[_0x1a4e('0x13ae')]){case _0x1a4e('0xacf'):this['text']=_0x24a2c2,this[_0x1a4e('0xca')]=_0x5adcd8,_0x441c8c=0x4;break;case _0x1a4e('0xac4'):this[_0x1a4e('0x164d')]=_0x201485,_0x441c8c=0x4;break;case _0x1a4e('0x90d'):this[_0x1a4e('0xe04')]=_0x498748,this[_0x1a4e('0xca')]=_0x170e2c,_0x441c8c=0x3;break;default:return this[_0x1a4e('0x146')]=_0x2179eb,void(this[_0x1a4e('0xca')]=_0xa80166);}this[_0x1a4e('0x164e')]=0x0,this[_0x1a4e('0x164f')]=0x0,this['lastChar']=_0x2eb85c[_0x1a4e('0xa3c')](_0x441c8c);}function _0x43d128(_0x577320){return _0x577320<=0x7f?0x0:_0x577320>>0x5==0x6?0x2:_0x577320>>0x4==0xe?0x3:_0x577320>>0x3==0x1e?0x4:_0x577320>>0x6==0x2?-0x1:-0x2;}function _0x201485(_0x577320){var _0x441c8c=this[_0x1a4e('0x164f')]-this[_0x1a4e('0x164e')],_0x5ef5a3=function(_0x577320,_0x441c8c,_0x5ef5a3){if(0x80!=(0xc0&_0x441c8c[0x0]))return _0x577320[_0x1a4e('0x164e')]=0x0,'�';if(_0x577320[_0x1a4e('0x164e')]>0x1&&_0x441c8c[_0x1a4e('0x1e')]>0x1){if(0x80!=(0xc0&_0x441c8c[0x1]))return _0x577320['lastNeed']=0x1,'�';if(_0x577320[_0x1a4e('0x164e')]>0x2&&_0x441c8c[_0x1a4e('0x1e')]>0x2&&0x80!=(0xc0&_0x441c8c[0x2]))return _0x577320[_0x1a4e('0x164e')]=0x2,'�';}}(this,_0x577320);return void 0x0!==_0x5ef5a3?_0x5ef5a3:this[_0x1a4e('0x164e')]<=_0x577320[_0x1a4e('0x1e')]?(_0x577320[_0x1a4e('0xea')](this[_0x1a4e('0x1650')],_0x441c8c,0x0,this[_0x1a4e('0x164e')]),this[_0x1a4e('0x1650')][_0x1a4e('0x95')](this[_0x1a4e('0x13ae')],0x0,this['lastTotal'])):(_0x577320[_0x1a4e('0xea')](this['lastChar'],_0x441c8c,0x0,_0x577320['length']),void(this[_0x1a4e('0x164e')]-=_0x577320[_0x1a4e('0x1e')]));}function _0x24a2c2(_0x577320,_0x441c8c){if((_0x577320[_0x1a4e('0x1e')]-_0x441c8c)%0x2==0x0){var _0x5ef5a3=_0x577320['toString'](_0x1a4e('0xacf'),_0x441c8c);if(_0x5ef5a3){var _0x2eb85c=_0x5ef5a3[_0x1a4e('0x913')](_0x5ef5a3['length']-0x1);if(_0x2eb85c>=0xd800&&_0x2eb85c<=0xdbff)return this[_0x1a4e('0x164e')]=0x2,this[_0x1a4e('0x164f')]=0x4,this[_0x1a4e('0x1650')][0x0]=_0x577320[_0x577320[_0x1a4e('0x1e')]-0x2],this[_0x1a4e('0x1650')][0x1]=_0x577320[_0x577320[_0x1a4e('0x1e')]-0x1],_0x5ef5a3[_0x1a4e('0x78')](0x0,-0x1);}return _0x5ef5a3;}return this['lastNeed']=0x1,this[_0x1a4e('0x164f')]=0x2,this[_0x1a4e('0x1650')][0x0]=_0x577320[_0x577320[_0x1a4e('0x1e')]-0x1],_0x577320[_0x1a4e('0x95')]('utf16le',_0x441c8c,_0x577320['length']-0x1);}function _0x5adcd8(_0x577320){var _0x441c8c=_0x577320&&_0x577320[_0x1a4e('0x1e')]?this[_0x1a4e('0x146')](_0x577320):'';if(this['lastNeed']){var _0x5ef5a3=this[_0x1a4e('0x164f')]-this[_0x1a4e('0x164e')];return _0x441c8c+this[_0x1a4e('0x1650')]['toString'](_0x1a4e('0xacf'),0x0,_0x5ef5a3);}return _0x441c8c;}function _0x498748(_0x577320,_0x441c8c){var _0x5ef5a3=(_0x577320[_0x1a4e('0x1e')]-_0x441c8c)%0x3;return 0x0===_0x5ef5a3?_0x577320[_0x1a4e('0x95')](_0x1a4e('0x90d'),_0x441c8c):(this['lastNeed']=0x3-_0x5ef5a3,this[_0x1a4e('0x164f')]=0x3,0x1===_0x5ef5a3?this[_0x1a4e('0x1650')][0x0]=_0x577320[_0x577320[_0x1a4e('0x1e')]-0x1]:(this[_0x1a4e('0x1650')][0x0]=_0x577320[_0x577320['length']-0x2],this[_0x1a4e('0x1650')][0x1]=_0x577320[_0x577320[_0x1a4e('0x1e')]-0x1]),_0x577320[_0x1a4e('0x95')](_0x1a4e('0x90d'),_0x441c8c,_0x577320[_0x1a4e('0x1e')]-_0x5ef5a3));}function _0x170e2c(_0x577320){var _0x441c8c=_0x577320&&_0x577320[_0x1a4e('0x1e')]?this[_0x1a4e('0x146')](_0x577320):'';return this['lastNeed']?_0x441c8c+this[_0x1a4e('0x1650')][_0x1a4e('0x95')]('base64',0x0,0x3-this[_0x1a4e('0x164e')]):_0x441c8c;}function _0x2179eb(_0x577320){return _0x577320['toString'](this[_0x1a4e('0x13ae')]);}function _0xa80166(_0x577320){return _0x577320&&_0x577320['length']?this[_0x1a4e('0x146')](_0x577320):'';}_0x441c8c['StringDecoder']=_0x4597eb,_0x4597eb[_0x1a4e('0xa')][_0x1a4e('0x146')]=function(_0x577320){if(0x0===_0x577320[_0x1a4e('0x1e')])return'';var _0x441c8c,_0x5ef5a3;if(this[_0x1a4e('0x164e')]){if(void 0x0===(_0x441c8c=this[_0x1a4e('0x164d')](_0x577320)))return'';_0x5ef5a3=this[_0x1a4e('0x164e')],this[_0x1a4e('0x164e')]=0x0;}else _0x5ef5a3=0x0;return _0x5ef5a3<_0x577320[_0x1a4e('0x1e')]?_0x441c8c?_0x441c8c+this['text'](_0x577320,_0x5ef5a3):this[_0x1a4e('0xe04')](_0x577320,_0x5ef5a3):_0x441c8c||'';},_0x4597eb[_0x1a4e('0xa')][_0x1a4e('0xca')]=function(_0x577320){var _0x441c8c=_0x577320&&_0x577320['length']?this[_0x1a4e('0x146')](_0x577320):'';return this[_0x1a4e('0x164e')]?_0x441c8c+'�':_0x441c8c;},_0x4597eb[_0x1a4e('0xa')]['text']=function(_0x577320,_0x441c8c){var _0x5ef5a3=function(_0x577320,_0x441c8c,_0x5ef5a3){var _0x2eb85c=_0x441c8c['length']-0x1;if(_0x2eb85c<_0x5ef5a3)return 0x0;var _0x56b693=_0x43d128(_0x441c8c[_0x2eb85c]);if(_0x56b693>=0x0)return _0x56b693>0x0&&(_0x577320[_0x1a4e('0x164e')]=_0x56b693-0x1),_0x56b693;if(--_0x2eb85c<_0x5ef5a3||-0x2===_0x56b693)return 0x0;if((_0x56b693=_0x43d128(_0x441c8c[_0x2eb85c]))>=0x0)return _0x56b693>0x0&&(_0x577320[_0x1a4e('0x164e')]=_0x56b693-0x2),_0x56b693;if(--_0x2eb85c<_0x5ef5a3||-0x2===_0x56b693)return 0x0;if((_0x56b693=_0x43d128(_0x441c8c[_0x2eb85c]))>=0x0)return _0x56b693>0x0&&(0x2===_0x56b693?_0x56b693=0x0:_0x577320[_0x1a4e('0x164e')]=_0x56b693-0x3),_0x56b693;return 0x0;}(this,_0x577320,_0x441c8c);if(!this[_0x1a4e('0x164e')])return _0x577320[_0x1a4e('0x95')](_0x1a4e('0xac4'),_0x441c8c);this[_0x1a4e('0x164f')]=_0x5ef5a3;var _0x2eb85c=_0x577320['length']-(_0x5ef5a3-this[_0x1a4e('0x164e')]);return _0x577320[_0x1a4e('0xea')](this[_0x1a4e('0x1650')],0x0,_0x2eb85c),_0x577320['toString']('utf8',_0x441c8c,_0x2eb85c);},_0x4597eb[_0x1a4e('0xa')][_0x1a4e('0x164d')]=function(_0x577320){if(this['lastNeed']<=_0x577320[_0x1a4e('0x1e')])return _0x577320[_0x1a4e('0xea')](this[_0x1a4e('0x1650')],this[_0x1a4e('0x164f')]-this[_0x1a4e('0x164e')],0x0,this[_0x1a4e('0x164e')]),this[_0x1a4e('0x1650')][_0x1a4e('0x95')](this[_0x1a4e('0x13ae')],0x0,this['lastTotal']);_0x577320['copy'](this['lastChar'],this[_0x1a4e('0x164f')]-this['lastNeed'],0x0,_0x577320['length']),this[_0x1a4e('0x164e')]-=_0x577320[_0x1a4e('0x1e')];};},'./node_modules/timers-browserify/main.js':function(_0x3edce1,_0x68d6ad,_0x3d342f){(function(_0x3edce1){var _0x3bed41=void 0x0!==_0x3edce1&&_0x3edce1||'undefined'!=typeof self&&self||window,_0x74dc47=Function[_0x1a4e('0xa')][_0x1a4e('0x8b')];function _0x1a0b5e(_0x3edce1,_0x68d6ad){this['_id']=_0x3edce1,this['_clearFn']=_0x68d6ad;}_0x68d6ad[_0x1a4e('0x1016')]=function(){return new _0x1a0b5e(_0x74dc47['call'](setTimeout,_0x3bed41,arguments),clearTimeout);},_0x68d6ad[_0x1a4e('0x1343')]=function(){return new _0x1a0b5e(_0x74dc47[_0x1a4e('0x1')](setInterval,_0x3bed41,arguments),clearInterval);},_0x68d6ad[_0x1a4e('0x1015')]=_0x68d6ad[_0x1a4e('0x1344')]=function(_0x3edce1){_0x3edce1&&_0x3edce1[_0x1a4e('0x139b')]();},_0x1a0b5e[_0x1a4e('0xa')][_0x1a4e('0x1651')]=_0x1a0b5e[_0x1a4e('0xa')][_0x1a4e('0x1652')]=function(){},_0x1a0b5e[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x1653')]['call'](_0x3bed41,this[_0x1a4e('0x515')]);},_0x68d6ad[_0x1a4e('0x1654')]=function(_0x3edce1,_0x68d6ad){clearTimeout(_0x3edce1['_idleTimeoutId']),_0x3edce1[_0x1a4e('0x1655')]=_0x68d6ad;},_0x68d6ad['unenroll']=function(_0x3edce1){clearTimeout(_0x3edce1['_idleTimeoutId']),_0x3edce1['_idleTimeout']=-0x1;},_0x68d6ad[_0x1a4e('0x1656')]=_0x68d6ad[_0x1a4e('0x1304')]=function(_0x3edce1){clearTimeout(_0x3edce1[_0x1a4e('0x1657')]);var _0x68d6ad=_0x3edce1['_idleTimeout'];_0x68d6ad>=0x0&&(_0x3edce1[_0x1a4e('0x1657')]=setTimeout(function(){_0x3edce1[_0x1a4e('0x1658')]&&_0x3edce1[_0x1a4e('0x1658')]();},_0x68d6ad));},_0x3d342f('./node_modules/setimmediate/setImmediate.js'),_0x68d6ad['setImmediate']=_0x1a4e('0x3')!=typeof self&&self[_0x1a4e('0x1513')]||void 0x0!==_0x3edce1&&_0x3edce1['setImmediate']||this&&this[_0x1a4e('0x1513')],_0x68d6ad[_0x1a4e('0x1515')]=_0x1a4e('0x3')!=typeof self&&self['clearImmediate']||void 0x0!==_0x3edce1&&_0x3edce1[_0x1a4e('0x1515')]||this&&this['clearImmediate'];}[_0x1a4e('0x1')](this,_0x3d342f('./node_modules/webpack/buildin/global.js')));},'./node_modules/tslib/tslib.es6.js':function(_0x593767,_0x1dc30f,_0x4615c1){'use strict';_0x4615c1['r'](_0x1dc30f),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x145b'),function(){return _0xfabd27;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1659'),function(){return _0x4100c3;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1289'),function(){return _0x40c931;}),_0x4615c1['d'](_0x1dc30f,'__decorate',function(){return _0x16bba4;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x165a'),function(){return _0x50bda9;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x165b'),function(){return _0x39188e;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1279'),function(){return _0x10a3b0;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x165c'),function(){return _0x173b9f;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x165d'),function(){return _0x49895e;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x165e'),function(){return _0x4d9898;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x165f'),function(){return _0x35f593;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1660'),function(){return _0x1bdc44;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1661'),function(){return _0x361b5a;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1369'),function(){return _0x5bff50;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1662'),function(){return _0x17183d;}),_0x4615c1['d'](_0x1dc30f,'__asyncDelegator',function(){return _0x4cd860;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1663'),function(){return _0x1e3e7f;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1664'),function(){return _0x49ff3b;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1665'),function(){return _0x595146;}),_0x4615c1['d'](_0x1dc30f,_0x1a4e('0x1666'),function(){return _0x3d55b1;});var _0x1d3a99=function(_0x593767,_0x1dc30f){return(_0x1d3a99=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x593767,_0x1dc30f){_0x593767['__proto__']=_0x1dc30f;}||function(_0x593767,_0x1dc30f){for(var _0x4615c1 in _0x1dc30f)_0x1dc30f[_0x1a4e('0xb')](_0x4615c1)&&(_0x593767[_0x4615c1]=_0x1dc30f[_0x4615c1]);})(_0x593767,_0x1dc30f);};function _0xfabd27(_0x593767,_0x1dc30f){function _0x4615c1(){this[_0x1a4e('0x10')]=_0x593767;}_0x1d3a99(_0x593767,_0x1dc30f),_0x593767[_0x1a4e('0xa')]=null===_0x1dc30f?Object['create'](_0x1dc30f):(_0x4615c1[_0x1a4e('0xa')]=_0x1dc30f[_0x1a4e('0xa')],new _0x4615c1());}var _0x4100c3=function(){return(_0x4100c3=Object[_0x1a4e('0x200')]||function(_0x593767){for(var _0x1dc30f,_0x4615c1=0x1,_0x1d3a99=arguments[_0x1a4e('0x1e')];_0x4615c1<_0x1d3a99;_0x4615c1++)for(var _0xfabd27 in _0x1dc30f=arguments[_0x4615c1])Object['prototype'][_0x1a4e('0xb')][_0x1a4e('0x1')](_0x1dc30f,_0xfabd27)&&(_0x593767[_0xfabd27]=_0x1dc30f[_0xfabd27]);return _0x593767;})[_0x1a4e('0x8b')](this,arguments);};function _0x40c931(_0x593767,_0x1dc30f){var _0x4615c1={};for(var _0x1d3a99 in _0x593767)Object[_0x1a4e('0xa')][_0x1a4e('0xb')][_0x1a4e('0x1')](_0x593767,_0x1d3a99)&&_0x1dc30f[_0x1a4e('0x3e')](_0x1d3a99)<0x0&&(_0x4615c1[_0x1d3a99]=_0x593767[_0x1d3a99]);if(null!=_0x593767&&_0x1a4e('0x68')==typeof Object['getOwnPropertySymbols']){var _0xfabd27=0x0;for(_0x1d3a99=Object['getOwnPropertySymbols'](_0x593767);_0xfabd27<_0x1d3a99[_0x1a4e('0x1e')];_0xfabd27++)_0x1dc30f[_0x1a4e('0x3e')](_0x1d3a99[_0xfabd27])<0x0&&Object['prototype']['propertyIsEnumerable'][_0x1a4e('0x1')](_0x593767,_0x1d3a99[_0xfabd27])&&(_0x4615c1[_0x1d3a99[_0xfabd27]]=_0x593767[_0x1d3a99[_0xfabd27]]);}return _0x4615c1;}function _0x16bba4(_0x593767,_0x1dc30f,_0x4615c1,_0x1d3a99){var _0xfabd27,_0x4100c3=arguments[_0x1a4e('0x1e')],_0x40c931=_0x4100c3<0x3?_0x1dc30f:null===_0x1d3a99?_0x1d3a99=Object[_0x1a4e('0x12fc')](_0x1dc30f,_0x4615c1):_0x1d3a99;if(_0x1a4e('0x85')==typeof Reflect&&'function'==typeof Reflect[_0x1a4e('0x1667')])_0x40c931=Reflect['decorate'](_0x593767,_0x1dc30f,_0x4615c1,_0x1d3a99);else for(var _0x16bba4=_0x593767[_0x1a4e('0x1e')]-0x1;_0x16bba4>=0x0;_0x16bba4--)(_0xfabd27=_0x593767[_0x16bba4])&&(_0x40c931=(_0x4100c3<0x3?_0xfabd27(_0x40c931):_0x4100c3>0x3?_0xfabd27(_0x1dc30f,_0x4615c1,_0x40c931):_0xfabd27(_0x1dc30f,_0x4615c1))||_0x40c931);return _0x4100c3>0x3&&_0x40c931&&Object[_0x1a4e('0x2')](_0x1dc30f,_0x4615c1,_0x40c931),_0x40c931;}function _0x50bda9(_0x593767,_0x1dc30f){return function(_0x4615c1,_0x1d3a99){_0x1dc30f(_0x4615c1,_0x1d3a99,_0x593767);};}function _0x39188e(_0x593767,_0x1dc30f){if(_0x1a4e('0x85')==typeof Reflect&&_0x1a4e('0x68')==typeof Reflect[_0x1a4e('0x1668')])return Reflect[_0x1a4e('0x1668')](_0x593767,_0x1dc30f);}function _0x10a3b0(_0x593767,_0x1dc30f,_0x4615c1,_0x1d3a99){return new(_0x4615c1||(_0x4615c1=Promise))(function(_0xfabd27,_0x4100c3){function _0x40c931(_0x593767){try{_0x50bda9(_0x1d3a99['next'](_0x593767));}catch(_0xf1a1e3){_0x4100c3(_0xf1a1e3);}}function _0x16bba4(_0x593767){try{_0x50bda9(_0x1d3a99[_0x1a4e('0x1362')](_0x593767));}catch(_0x5befbd){_0x4100c3(_0x5befbd);}}function _0x50bda9(_0x593767){_0x593767['done']?_0xfabd27(_0x593767[_0x1a4e('0x255')]):new _0x4615c1(function(_0x1dc30f){_0x1dc30f(_0x593767[_0x1a4e('0x255')]);})[_0x1a4e('0xdf8')](_0x40c931,_0x16bba4);}_0x50bda9((_0x1d3a99=_0x1d3a99[_0x1a4e('0x8b')](_0x593767,_0x1dc30f||[]))[_0x1a4e('0x7e')]());});}function _0x173b9f(_0x593767,_0x1dc30f){var _0x4615c1,_0x1d3a99,_0xfabd27,_0x4100c3,_0x40c931={'label':0x0,'sent':function(){if(0x1&_0xfabd27[0x0])throw _0xfabd27[0x1];return _0xfabd27[0x1];},'trys':[],'ops':[]};return _0x4100c3={'next':_0x16bba4(0x0),'throw':_0x16bba4(0x1),'return':_0x16bba4(0x2)},_0x1a4e('0x68')==typeof Symbol&&(_0x4100c3[Symbol['iterator']]=function(){return this;}),_0x4100c3;function _0x16bba4(_0x4100c3){return function(_0x16bba4){return function(_0x4100c3){if(_0x4615c1)throw new TypeError('Generator\x20is\x20already\x20executing.');for(;_0x40c931;)try{if(_0x4615c1=0x1,_0x1d3a99&&(_0xfabd27=0x2&_0x4100c3[0x0]?_0x1d3a99[_0x1a4e('0xe40')]:_0x4100c3[0x0]?_0x1d3a99['throw']||((_0xfabd27=_0x1d3a99['return'])&&_0xfabd27[_0x1a4e('0x1')](_0x1d3a99),0x0):_0x1d3a99[_0x1a4e('0x7e')])&&!(_0xfabd27=_0xfabd27[_0x1a4e('0x1')](_0x1d3a99,_0x4100c3[0x1]))[_0x1a4e('0x3c2')])return _0xfabd27;switch(_0x1d3a99=0x0,_0xfabd27&&(_0x4100c3=[0x2&_0x4100c3[0x0],_0xfabd27[_0x1a4e('0x255')]]),_0x4100c3[0x0]){case 0x0:case 0x1:_0xfabd27=_0x4100c3;break;case 0x4:return _0x40c931[_0x1a4e('0x1bc')]++,{'value':_0x4100c3[0x1],'done':!0x1};case 0x5:_0x40c931[_0x1a4e('0x1bc')]++,_0x1d3a99=_0x4100c3[0x1],_0x4100c3=[0x0];continue;case 0x7:_0x4100c3=_0x40c931['ops'][_0x1a4e('0x76')](),_0x40c931[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;default:if(!(_0xfabd27=(_0xfabd27=_0x40c931[_0x1a4e('0x1669')])['length']>0x0&&_0xfabd27[_0xfabd27[_0x1a4e('0x1e')]-0x1])&&(0x6===_0x4100c3[0x0]||0x2===_0x4100c3[0x0])){_0x40c931=0x0;continue;}if(0x3===_0x4100c3[0x0]&&(!_0xfabd27||_0x4100c3[0x1]>_0xfabd27[0x0]&&_0x4100c3[0x1]<_0xfabd27[0x3])){_0x40c931[_0x1a4e('0x1bc')]=_0x4100c3[0x1];break;}if(0x6===_0x4100c3[0x0]&&_0x40c931[_0x1a4e('0x1bc')]<_0xfabd27[0x1]){_0x40c931[_0x1a4e('0x1bc')]=_0xfabd27[0x1],_0xfabd27=_0x4100c3;break;}if(_0xfabd27&&_0x40c931[_0x1a4e('0x1bc')]<_0xfabd27[0x2]){_0x40c931[_0x1a4e('0x1bc')]=_0xfabd27[0x2],_0x40c931[_0x1a4e('0x166a')]['push'](_0x4100c3);break;}_0xfabd27[0x2]&&_0x40c931[_0x1a4e('0x166a')]['pop'](),_0x40c931[_0x1a4e('0x1669')]['pop']();continue;}_0x4100c3=_0x1dc30f[_0x1a4e('0x1')](_0x593767,_0x40c931);}catch(_0x111459){_0x4100c3=[0x6,_0x111459],_0x1d3a99=0x0;}finally{_0x4615c1=_0xfabd27=0x0;}if(0x5&_0x4100c3[0x0])throw _0x4100c3[0x1];return{'value':_0x4100c3[0x0]?_0x4100c3[0x1]:void 0x0,'done':!0x0};}([_0x4100c3,_0x16bba4]);};}}function _0x49895e(_0x593767,_0x1dc30f){for(var _0x4615c1 in _0x593767)_0x1dc30f[_0x1a4e('0xb')](_0x4615c1)||(_0x1dc30f[_0x4615c1]=_0x593767[_0x4615c1]);}function _0x4d9898(_0x593767){var _0x1dc30f=_0x1a4e('0x68')==typeof Symbol&&_0x593767[Symbol[_0x1a4e('0x335')]],_0x4615c1=0x0;return _0x1dc30f?_0x1dc30f[_0x1a4e('0x1')](_0x593767):{'next':function(){return _0x593767&&_0x4615c1>=_0x593767[_0x1a4e('0x1e')]&&(_0x593767=void 0x0),{'value':_0x593767&&_0x593767[_0x4615c1++],'done':!_0x593767};}};}function _0x35f593(_0x593767,_0x1dc30f){var _0x4615c1=_0x1a4e('0x68')==typeof Symbol&&_0x593767[Symbol['iterator']];if(!_0x4615c1)return _0x593767;var _0x1d3a99,_0xfabd27,_0x4100c3=_0x4615c1[_0x1a4e('0x1')](_0x593767),_0x40c931=[];try{for(;(void 0x0===_0x1dc30f||_0x1dc30f-->0x0)&&!(_0x1d3a99=_0x4100c3[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x40c931['push'](_0x1d3a99[_0x1a4e('0x255')]);}catch(_0x2a4ded){_0xfabd27={'error':_0x2a4ded};}finally{try{_0x1d3a99&&!_0x1d3a99['done']&&(_0x4615c1=_0x4100c3[_0x1a4e('0xe40')])&&_0x4615c1[_0x1a4e('0x1')](_0x4100c3);}finally{if(_0xfabd27)throw _0xfabd27[_0x1a4e('0x873')];}}return _0x40c931;}function _0x1bdc44(){for(var _0x593767=[],_0x1dc30f=0x0;_0x1dc30f0x1||_0x16bba4(_0x593767,_0x1dc30f);});});}function _0x16bba4(_0x593767,_0x1dc30f){try{(_0x4615c1=_0xfabd27[_0x593767](_0x1dc30f))[_0x1a4e('0x255')]instanceof _0x5bff50?Promise['resolve'](_0x4615c1[_0x1a4e('0x255')]['v'])[_0x1a4e('0xdf8')](_0x50bda9,_0x39188e):_0x10a3b0(_0x4100c3[0x0][0x2],_0x4615c1);}catch(_0x46c168){_0x10a3b0(_0x4100c3[0x0][0x3],_0x46c168);}var _0x4615c1;}function _0x50bda9(_0x593767){_0x16bba4(_0x1a4e('0x7e'),_0x593767);}function _0x39188e(_0x593767){_0x16bba4(_0x1a4e('0x1362'),_0x593767);}function _0x10a3b0(_0x593767,_0x1dc30f){_0x593767(_0x1dc30f),_0x4100c3[_0x1a4e('0x7d')](),_0x4100c3[_0x1a4e('0x1e')]&&_0x16bba4(_0x4100c3[0x0][0x0],_0x4100c3[0x0][0x1]);}}function _0x4cd860(_0x593767){var _0x1dc30f,_0x4615c1;return _0x1dc30f={},_0x1d3a99('next'),_0x1d3a99('throw',function(_0x593767){throw _0x593767;}),_0x1d3a99('return'),_0x1dc30f[Symbol['iterator']]=function(){return this;},_0x1dc30f;function _0x1d3a99(_0x1d3a99,_0xfabd27){_0x1dc30f[_0x1d3a99]=_0x593767[_0x1d3a99]?function(_0x1dc30f){return(_0x4615c1=!_0x4615c1)?{'value':_0x5bff50(_0x593767[_0x1d3a99](_0x1dc30f)),'done':_0x1a4e('0xe40')===_0x1d3a99}:_0xfabd27?_0xfabd27(_0x1dc30f):_0x1dc30f;}:_0xfabd27;}}function _0x1e3e7f(_0x593767){if(!Symbol['asyncIterator'])throw new TypeError(_0x1a4e('0x166c'));var _0x1dc30f,_0x4615c1=_0x593767[Symbol[_0x1a4e('0x166b')]];return _0x4615c1?_0x4615c1[_0x1a4e('0x1')](_0x593767):(_0x593767=_0x4d9898(_0x593767),_0x1dc30f={},_0x1d3a99(_0x1a4e('0x7e')),_0x1d3a99(_0x1a4e('0x1362')),_0x1d3a99(_0x1a4e('0xe40')),_0x1dc30f[Symbol[_0x1a4e('0x166b')]]=function(){return this;},_0x1dc30f);function _0x1d3a99(_0x4615c1){_0x1dc30f[_0x4615c1]=_0x593767[_0x4615c1]&&function(_0x1dc30f){return new Promise(function(_0x1d3a99,_0xfabd27){(function(_0x593767,_0x1dc30f,_0x4615c1,_0x1d3a99){Promise[_0x1a4e('0xe20')](_0x1d3a99)[_0x1a4e('0xdf8')](function(_0x1dc30f){_0x593767({'value':_0x1dc30f,'done':_0x4615c1});},_0x1dc30f);}(_0x1d3a99,_0xfabd27,(_0x1dc30f=_0x593767[_0x4615c1](_0x1dc30f))[_0x1a4e('0x3c2')],_0x1dc30f['value']));});};}}function _0x49ff3b(_0x593767,_0x1dc30f){return Object['defineProperty']?Object['defineProperty'](_0x593767,_0x1a4e('0x87e'),{'value':_0x1dc30f}):_0x593767[_0x1a4e('0x87e')]=_0x1dc30f,_0x593767;}function _0x595146(_0x593767){if(_0x593767&&_0x593767[_0x1a4e('0x6')])return _0x593767;var _0x1dc30f={};if(null!=_0x593767)for(var _0x4615c1 in _0x593767)Object[_0x1a4e('0xb')]['call'](_0x593767,_0x4615c1)&&(_0x1dc30f[_0x4615c1]=_0x593767[_0x4615c1]);return _0x1dc30f[_0x1a4e('0x8')]=_0x593767,_0x1dc30f;}function _0x3d55b1(_0x593767){return _0x593767&&_0x593767[_0x1a4e('0x6')]?_0x593767:{'default':_0x593767};}},'./node_modules/typedoc/dist/lib/ts-internal.js':function(_0x174346,_0x273651,_0x324733){'use strict';Object['defineProperty'](_0x273651,_0x1a4e('0x6'),{'value':!0x0});const _0x224057=_0x324733('./node_modules/typedoc/node_modules/typescript/lib/typescript.js');_0x273651['createCompilerDiagnostic']=function(){return _0x224057[_0x1a4e('0x166d')][_0x1a4e('0x8b')](this,arguments);},_0x273651[_0x1a4e('0x166e')]=function(_0x174346,_0x273651){return _0x224057[_0x1a4e('0x166e')]['apply'](this,arguments);},_0x273651[_0x1a4e('0x166f')]=function(_0x174346){return _0x224057['normalizeSlashes'][_0x1a4e('0x8b')](this,arguments);},_0x273651[_0x1a4e('0x1670')]=function(_0x174346){return _0x224057[_0x1a4e('0x1670')][_0x1a4e('0x8b')](this,arguments);},_0x273651[_0x1a4e('0x1671')]=function(){return _0x224057[_0x1a4e('0x1671')][_0x1a4e('0x8b')](this,arguments);},_0x273651[_0x1a4e('0x1672')]=function(_0x174346){return _0x224057[_0x1a4e('0x1672')](_0x174346);},_0x273651[_0x1a4e('0x1673')]=function(_0x174346,_0x273651){return _0x224057[_0x1a4e('0x1673')](_0x174346,_0x273651);},_0x273651['getSourceFileOfNode']=function(_0x174346){return _0x224057[_0x1a4e('0x1674')][_0x1a4e('0x8b')](this,arguments);},_0x273651['getTextOfNode']=function(_0x174346,_0x273651=!0x1){return _0x224057[_0x1a4e('0x1675')]['apply'](this,arguments);},_0x273651[_0x1a4e('0x1676')]=function(_0x174346){return _0x224057[_0x1a4e('0x1676')]['apply'](this,arguments);},_0x273651['getJSDocCommentRanges']=function(_0x174346,_0x273651){return _0x224057[_0x1a4e('0x1677')][_0x1a4e('0x8b')](this,arguments);},_0x273651['isBindingPattern']=function(_0x174346){return _0x224057[_0x1a4e('0x1678')][_0x1a4e('0x8b')](this,arguments);},_0x273651[_0x1a4e('0x1679')]=function(_0x174346){return _0x224057['getEffectiveBaseTypeNode'][_0x1a4e('0x8b')](this,arguments);},_0x273651[_0x1a4e('0x167a')]=function(_0x174346){return _0x224057['getClassImplementsHeritageClauseElements'][_0x1a4e('0x8b')](this,arguments);},_0x273651[_0x1a4e('0x167b')]=function(_0x174346){return _0x224057[_0x1a4e('0x167b')][_0x1a4e('0x8b')](this,arguments);},_0x273651[_0x1a4e('0x167c')]=_0x224057['CharacterCodes'],_0x273651['optionDeclarations']=_0x224057['optionDeclarations'],_0x273651[_0x1a4e('0x167d')]=_0x224057['Diagnostics'];},'./node_modules/typedoc/dist/lib/utils sync recursive':function(_0x12cc3e,_0x4f032e){function _0x2d2491(_0x12cc3e){var _0x4f032e=new Error(_0x1a4e('0x167e')+_0x12cc3e+'\x27');throw _0x4f032e['code']=_0x1a4e('0x1643'),_0x4f032e;}_0x2d2491[_0x1a4e('0x56')]=function(){return[];},_0x2d2491[_0x1a4e('0xe20')]=_0x2d2491,_0x12cc3e[_0x1a4e('0x0')]=_0x2d2491,_0x2d2491['id']='./node_modules/typedoc/dist/lib/utils\x20sync\x20recursive';},'./node_modules/typedoc/dist/lib/utils/component.js':function(_0x2bee69,_0x544c74,_0x35a54b){'use strict';Object['defineProperty'](_0x544c74,_0x1a4e('0x6'),{'value':!0x0});const _0x46bea5=_0x35a54b(_0x1a4e('0x167f')),_0x3d0428=_0x35a54b('./node_modules/typedoc/dist/lib/utils/events.js'),_0x227ca6=[];_0x544c74[_0x1a4e('0x1680')]=function(_0x2bee69){return _0x544c74=>{const _0x35a54b=_0x544c74['prototype'];if(!(_0x35a54b instanceof _0x172f6e))throw new Error(_0x1a4e('0x1681'));if(_0x2bee69[_0x1a4e('0x1682')]){if(!(_0x35a54b instanceof _0x520f7d))throw new Error(_0x1a4e('0x1683'));_0x227ca6[_0x1a4e('0x46')]({'host':_0x35a54b,'child':_0x2bee69['childClass']});}const _0x46bea5=_0x2bee69[_0x1a4e('0x2cb')];_0x46bea5&&(_0x35a54b[_0x1a4e('0x1684')]=_0x46bea5);const _0x3d0428=!!_0x2bee69[_0x1a4e('0x1685')];if(_0x46bea5&&!_0x3d0428)for(const _0x2bee69 of _0x227ca6){if(!(_0x35a54b instanceof _0x2bee69[_0x1a4e('0x1686')]))continue;const _0x3d0428=_0x2bee69[_0x1a4e('0x1599')];_0x3d0428['_defaultComponents']=_0x3d0428[_0x1a4e('0x1687')]||{},_0x3d0428[_0x1a4e('0x1687')][_0x46bea5]=_0x544c74;break;}};},_0x544c74[_0x1a4e('0x1688')]=function(_0x2bee69){return function(_0x544c74,_0x35a54b){if(!(_0x544c74 instanceof _0x172f6e))throw new Error(_0x1a4e('0x1689'));_0x2bee69[_0x1a4e('0x168a')]=_0x544c74[_0x1a4e('0x168b')],_0x544c74[_0x1a4e('0x168c')]=_0x544c74[_0x1a4e('0x168c')]||[],_0x544c74[_0x1a4e('0x168c')]['push'](_0x2bee69),Object[_0x1a4e('0x2')](_0x544c74,_0x35a54b,{'get':function(){return this[_0x1a4e('0x8e5')][_0x1a4e('0x8dc')]['getValue'](_0x2bee69[_0x1a4e('0x2cb')]);},'enumerable':!0x0,'configurable':!0x0});};};class _0x27f99f extends _0x3d0428[_0x1a4e('0x168d')]{constructor(_0x2bee69,_0x544c74,_0x35a54b){super(_0x2bee69),this[_0x1a4e('0x168e')]=_0x544c74,this[_0x1a4e('0x168a')]=_0x35a54b;}}_0x27f99f['ADDED']=_0x1a4e('0x168f'),_0x27f99f[_0x1a4e('0x1690')]=_0x1a4e('0x1691'),_0x544c74['ComponentEvent']=_0x27f99f,_0x544c74[_0x1a4e('0x1692')]=Symbol();class _0x172f6e extends _0x3d0428['EventDispatcher']{constructor(_0x2bee69){super(),this[_0x1a4e('0x1693')]=_0x2bee69,this['initialize']();}[_0x1a4e('0x654')](){}[_0x1a4e('0x1694')](_0x2bee69,..._0x35a54b){return super[_0x1a4e('0x1695')](_0x2bee69,..._0x35a54b),this[_0x1a4e('0x168e')]instanceof _0x172f6e&&this['_componentOwner']!==_0x544c74[_0x1a4e('0x1692')]&&this['owner']['bubble'](_0x2bee69,..._0x35a54b),this;}[_0x1a4e('0x1696')](){return(this[_0x1a4e('0x168c')]||[])[_0x1a4e('0x78')]();}get[_0x1a4e('0x8e5')](){return this['_componentOwner']===_0x544c74[_0x1a4e('0x1692')]?this:this[_0x1a4e('0x1693')][_0x1a4e('0x8e5')];}get[_0x1a4e('0x168e')](){return this[_0x1a4e('0x1693')]===_0x544c74[_0x1a4e('0x1692')]?this:this[_0x1a4e('0x1693')];}}_0x544c74['AbstractComponent']=_0x172f6e;class _0x520f7d extends _0x172f6e{constructor(_0x2bee69){super(_0x2bee69),_0x46bea5[_0x1a4e('0x3c3')](this['_defaultComponents']||{})[_0x1a4e('0x3b')](([_0x2bee69,_0x544c74])=>{this['addComponent'](_0x2bee69,_0x544c74);});}[_0x1a4e('0x1697')](_0x2bee69){return(this[_0x1a4e('0x1698')]||{})[_0x2bee69];}['getComponents'](){return _0x46bea5[_0x1a4e('0x35b')](this[_0x1a4e('0x1698')]);}[_0x1a4e('0x1699')](_0x2bee69){return!!(this[_0x1a4e('0x1698')]||{})[_0x2bee69];}[_0x1a4e('0x169a')](_0x2bee69,_0x544c74){if(this['_componentChildren']||(this[_0x1a4e('0x1698')]={}),this[_0x1a4e('0x1698')][_0x2bee69])return this[_0x1a4e('0x1698')][_0x2bee69];{const _0x35a54b=_0x1a4e('0x68')==typeof _0x544c74?new _0x544c74(this):_0x544c74,_0x46bea5=new _0x27f99f(_0x27f99f[_0x1a4e('0x169b')],this,_0x35a54b);return this['bubble'](_0x46bea5),this[_0x1a4e('0x1698')][_0x2bee69]=_0x35a54b,_0x35a54b;}}[_0x1a4e('0x169c')](_0x2bee69){const _0x544c74=(this[_0x1a4e('0x1698')]||{})[_0x2bee69];if(_0x544c74)return delete this['_componentChildren'][_0x2bee69],_0x544c74['stopListening'](),this['bubble'](new _0x27f99f(_0x27f99f[_0x1a4e('0x1690')],this,_0x544c74)),_0x544c74;}[_0x1a4e('0x169d')](){for(const _0x2bee69 of _0x46bea5[_0x1a4e('0x35b')](this['_componentChildren']))_0x2bee69[_0x1a4e('0x169e')]();this['_componentChildren']={};}}_0x544c74['ChildableComponent']=_0x520f7d;},'./node_modules/typedoc/dist/lib/utils/events.js':function(_0x3a4fa8,_0x29d793,_0x27bc16){'use strict';Object['defineProperty'](_0x29d793,_0x1a4e('0x6'),{'value':!0x0});const _0x5bf79c=_0x27bc16(_0x1a4e('0x167f')),_0x13c6c4=/\s+/;function _0x59b3ce(_0x3a4fa8,_0x29d793,_0x27bc16,_0x49e87,_0x268a9e){let _0x3db1f8,_0x343e03=0x0;if(_0x27bc16&&'object'==typeof _0x27bc16){void 0x0!==_0x49e87&&_0x1a4e('0x8cb')in _0x268a9e&&void 0x0===_0x268a9e[_0x1a4e('0x8cb')]&&(_0x268a9e[_0x1a4e('0x8cb')]=_0x49e87);for(_0x3db1f8=_0x5bf79c[_0x1a4e('0x56')](_0x27bc16);_0x343e03<_0x3db1f8[_0x1a4e('0x1e')];_0x343e03++)_0x29d793=_0x59b3ce(_0x3a4fa8,_0x29d793,_0x3db1f8[_0x343e03],_0x27bc16[_0x3db1f8[_0x343e03]],_0x268a9e);}else if(_0x27bc16&&_0x1a4e('0x9')==typeof _0x27bc16&&_0x13c6c4[_0x1a4e('0x8d0')](_0x27bc16))for(_0x3db1f8=_0x27bc16[_0x1a4e('0x2be')](_0x13c6c4);_0x343e03<_0x3db1f8[_0x1a4e('0x1e')];_0x343e03++)_0x29d793=_0x3a4fa8(_0x29d793,_0x3db1f8[_0x343e03],_0x49e87,_0x268a9e);else _0x29d793=_0x3a4fa8(_0x29d793,_0x27bc16,_0x49e87,_0x268a9e);return _0x29d793;}function _0x5c8790(_0x3a4fa8,_0x29d793,_0x27bc16,_0x5bf79c){if(_0x27bc16){const _0x13c6c4=_0x3a4fa8[_0x29d793]||(_0x3a4fa8[_0x29d793]=[]),_0x59b3ce=_0x5bf79c['context'],_0x5c8790=_0x5bf79c[_0x1a4e('0x169f')],_0x841523=_0x5bf79c[_0x1a4e('0x16a0')],_0x170f3a=_0x5bf79c[_0x1a4e('0x16a1')];_0x841523&&_0x841523[_0x1a4e('0x389')]++,_0x13c6c4[_0x1a4e('0x46')]({'callback':_0x27bc16,'context':_0x59b3ce,'ctx':_0x59b3ce||_0x5c8790,'listening':_0x841523,'priority':_0x170f3a}),_0x13c6c4['sort']((_0x3a4fa8,_0x29d793)=>_0x29d793['priority']-_0x3a4fa8['priority']);}return _0x3a4fa8;}function _0x28eb35(_0x3a4fa8,_0x29d793,_0x27bc16,_0x13c6c4){if(!_0x3a4fa8)return;let _0x59b3ce,_0x5c8790=0x0;const _0x28eb35=_0x13c6c4[_0x1a4e('0x8cb')],_0x1c4daf=_0x13c6c4[_0x1a4e('0xda3')];if(!_0x29d793&&!_0x27bc16&&!_0x28eb35){const _0x3a4fa8=_0x5bf79c[_0x1a4e('0x56')](_0x1c4daf);for(;_0x5c8790<_0x3a4fa8[_0x1a4e('0x1e')];_0x5c8790++)delete _0x1c4daf[(_0x59b3ce=_0x1c4daf[_0x3a4fa8[_0x5c8790]])['id']],delete _0x59b3ce[_0x1a4e('0x16a2')][_0x59b3ce[_0x1a4e('0x16a3')]];return;}const _0xfb4ebb=_0x29d793?[_0x29d793]:_0x5bf79c[_0x1a4e('0x56')](_0x3a4fa8);for(;_0x5c8790<_0xfb4ebb[_0x1a4e('0x1e')];_0x5c8790++){const _0x5bf79c=_0x3a4fa8[_0x29d793=_0xfb4ebb[_0x5c8790]];if(!_0x5bf79c)break;const _0x13c6c4=[];for(let _0x3a4fa8=0x0;_0x3a4fa8<_0x5bf79c[_0x1a4e('0x1e')];_0x3a4fa8++){const _0x29d793=_0x5bf79c[_0x3a4fa8];_0x27bc16&&_0x27bc16!==_0x29d793['callback']&&_0x27bc16!==_0x29d793[_0x1a4e('0x13db')][_0x1a4e('0x16a4')]||_0x28eb35&&_0x28eb35!==_0x29d793[_0x1a4e('0x8cb')]?_0x13c6c4['push'](_0x29d793):(_0x59b3ce=_0x29d793[_0x1a4e('0x16a0')])&&0x0==--_0x59b3ce[_0x1a4e('0x389')]&&(delete _0x1c4daf[_0x59b3ce['id']],delete _0x59b3ce[_0x1a4e('0x16a2')][_0x59b3ce[_0x1a4e('0x16a3')]]);}_0x13c6c4[_0x1a4e('0x1e')]?_0x3a4fa8[_0x29d793]=_0x13c6c4:delete _0x3a4fa8[_0x29d793];}return _0x5bf79c[_0x1a4e('0x220')](_0x3a4fa8)?_0x3a4fa8:void 0x0;}function _0x3f2ff2(_0x3a4fa8,_0x29d793,_0x27bc16,_0x13c6c4){if(_0x27bc16){const _0x59b3ce=_0x3a4fa8[_0x29d793]=_0x5bf79c[_0x1a4e('0xd9e')](function(){_0x13c6c4(_0x29d793,_0x59b3ce),_0x27bc16[_0x1a4e('0x8b')](this,arguments);});_0x59b3ce[_0x1a4e('0x16a4')]=_0x27bc16;}return _0x3a4fa8;}function _0x3bc418(_0x3a4fa8,_0x29d793,_0x27bc16,_0x5bf79c,_0x13c6c4=function(_0x3a4fa8,_0x29d793){let _0x27bc16,_0x5bf79c=-0x1,_0x13c6c4=_0x3a4fa8[_0x1a4e('0x1e')],_0x59b3ce=_0x29d793[0x0],_0x5c8790=_0x29d793[0x1],_0x28eb35=_0x29d793[0x2];switch(_0x29d793[_0x1a4e('0x1e')]){case 0x0:for(;++_0x5bf79c<_0x13c6c4;)(_0x27bc16=_0x3a4fa8[_0x5bf79c])[_0x1a4e('0x13db')][_0x1a4e('0x1')](_0x27bc16[_0x1a4e('0x169f')]);return;case 0x1:for(;++_0x5bf79c<_0x13c6c4;)(_0x27bc16=_0x3a4fa8[_0x5bf79c])[_0x1a4e('0x13db')][_0x1a4e('0x1')](_0x27bc16[_0x1a4e('0x169f')],_0x59b3ce);return;case 0x2:for(;++_0x5bf79c<_0x13c6c4;)(_0x27bc16=_0x3a4fa8[_0x5bf79c])[_0x1a4e('0x13db')][_0x1a4e('0x1')](_0x27bc16['ctx'],_0x59b3ce,_0x5c8790);return;case 0x3:for(;++_0x5bf79c<_0x13c6c4;)(_0x27bc16=_0x3a4fa8[_0x5bf79c])[_0x1a4e('0x13db')][_0x1a4e('0x1')](_0x27bc16[_0x1a4e('0x169f')],_0x59b3ce,_0x5c8790,_0x28eb35);return;default:for(;++_0x5bf79c<_0x13c6c4;)(_0x27bc16=_0x3a4fa8[_0x5bf79c])[_0x1a4e('0x13db')][_0x1a4e('0x8b')](_0x27bc16[_0x1a4e('0x169f')],_0x29d793);return;}}){if(_0x3a4fa8){const _0x27bc16=_0x3a4fa8[_0x29d793];let _0x59b3ce=_0x3a4fa8['all'];_0x27bc16&&_0x59b3ce&&(_0x59b3ce=_0x59b3ce[_0x1a4e('0x78')]()),_0x27bc16&&_0x13c6c4(_0x27bc16,_0x5bf79c),_0x59b3ce&&_0x13c6c4(_0x59b3ce,[_0x29d793][_0x1a4e('0x9a')](_0x5bf79c));}return _0x3a4fa8;}class _0x3ec559{constructor(_0x3a4fa8){this[_0x1a4e('0x16a5')]=!0x1,this[_0x1a4e('0x16a6')]=!0x1,this[_0x1a4e('0x3d3')]=_0x3a4fa8;}[_0x1a4e('0x16a7')](){this[_0x1a4e('0x16a5')]=!0x0;}['preventDefault'](){this['_isDefaultPrevented']=!0x0;}get[_0x1a4e('0x2cb')](){return this[_0x1a4e('0x3d3')];}get[_0x1a4e('0x16a8')](){return this[_0x1a4e('0x16a5')];}get[_0x1a4e('0x16a9')](){return this[_0x1a4e('0x16a6')];}}_0x29d793[_0x1a4e('0x168d')]=_0x3ec559;_0x29d793[_0x1a4e('0x16aa')]=class{get[_0x1a4e('0x16ab')](){return this[_0x1a4e('0x16ac')]||(this[_0x1a4e('0x16ac')]=_0x5bf79c[_0x1a4e('0x10e8')]('l'));}['on'](_0x3a4fa8,_0x29d793,_0x27bc16,_0x5bf79c){return this[_0x1a4e('0x16ad')](_0x3a4fa8,_0x29d793,_0x27bc16,_0x5bf79c),this;}['internalOn'](_0x3a4fa8,_0x29d793,_0x27bc16,_0x5bf79c=0x0,_0x13c6c4){this[_0x1a4e('0xd8b')]=_0x59b3ce(_0x5c8790,this[_0x1a4e('0xd8b')]||{},_0x3a4fa8,_0x29d793,{'context':_0x27bc16,'ctx':this,'listening':_0x13c6c4,'priority':_0x5bf79c}),_0x13c6c4&&((this[_0x1a4e('0x16ae')]||(this[_0x1a4e('0x16ae')]={}))[_0x13c6c4['id']]=_0x13c6c4);}['once'](_0x3a4fa8,_0x29d793,_0x27bc16,_0x13c6c4){const _0x5c8790=_0x59b3ce(_0x3f2ff2,{},_0x3a4fa8,_0x29d793,_0x5bf79c[_0x1a4e('0x945')](this[_0x1a4e('0xda1')],this));return this['on'](_0x5c8790,void 0x0,_0x27bc16,_0x13c6c4);}[_0x1a4e('0xda1')](_0x3a4fa8,_0x29d793,_0x27bc16){return this[_0x1a4e('0xd8b')]?(this[_0x1a4e('0xd8b')]=_0x59b3ce(_0x28eb35,this[_0x1a4e('0xd8b')],_0x3a4fa8,_0x29d793,{'context':_0x27bc16,'listeners':this[_0x1a4e('0x16ae')]}),this):this;}['listenTo'](_0x3a4fa8,_0x29d793,_0x27bc16,_0x5bf79c){if(!_0x3a4fa8)return this;const _0x13c6c4=_0x3a4fa8[_0x1a4e('0x16ab')],_0x59b3ce=this['_listeningTo']||(this[_0x1a4e('0x16af')]={});let _0x5c8790=_0x59b3ce[_0x13c6c4];if(!_0x5c8790){const _0x29d793=this[_0x1a4e('0x16ab')];_0x5c8790=_0x59b3ce[_0x13c6c4]={'obj':_0x3a4fa8,'objId':_0x13c6c4,'id':_0x29d793,'listeningTo':_0x59b3ce,'count':0x0};}return _0x3a4fa8[_0x1a4e('0x16ad')](_0x29d793,_0x27bc16,this,_0x5bf79c,_0x5c8790),this;}[_0x1a4e('0x16b0')](_0x3a4fa8,_0x29d793,_0x27bc16,_0x13c6c4){const _0x5c8790=_0x59b3ce(_0x3f2ff2,{},_0x29d793,_0x27bc16,_0x5bf79c[_0x1a4e('0x945')](this[_0x1a4e('0x169e')],this,_0x3a4fa8));return this[_0x1a4e('0x16b1')](_0x3a4fa8,_0x5c8790,void 0x0,_0x13c6c4);}['stopListening'](_0x3a4fa8,_0x29d793,_0x27bc16){const _0x13c6c4=this[_0x1a4e('0x16af')];if(!_0x13c6c4)return this;const _0x59b3ce=_0x3a4fa8?[_0x3a4fa8[_0x1a4e('0x16ab')]]:_0x5bf79c[_0x1a4e('0x56')](_0x13c6c4);for(let _0x3a4fa8=0x0;_0x3a4fa8<_0x59b3ce[_0x1a4e('0x1e')];_0x3a4fa8++){const _0x5bf79c=_0x13c6c4[_0x59b3ce[_0x3a4fa8]];if(!_0x5bf79c)break;_0x5bf79c[_0x1a4e('0x89f')][_0x1a4e('0xda1')](_0x29d793,_0x27bc16,this);}return _0x5bf79c['isEmpty'](_0x13c6c4)&&(this[_0x1a4e('0x16af')]=void 0x0),this;}['trigger'](_0x3a4fa8,..._0x29d793){return this[_0x1a4e('0xd8b')]?(_0x3a4fa8 instanceof _0x3ec559?_0x3bc418(this[_0x1a4e('0xd8b')],_0x3a4fa8['name'],0x0,[_0x3a4fa8],(_0x29d793,_0x27bc16)=>{let _0x5bf79c,_0x13c6c4=-0x1,_0x59b3ce=_0x29d793[_0x1a4e('0x1e')];for(;++_0x13c6c4<_0x59b3ce;){if(_0x3a4fa8['isPropagationStopped'])return;(_0x5bf79c=_0x29d793[_0x13c6c4])['callback']['apply'](_0x5bf79c[_0x1a4e('0x169f')],_0x27bc16);}}):_0x59b3ce(_0x3bc418,this[_0x1a4e('0xd8b')],_0x3a4fa8,void 0x0,_0x29d793),this):this;}};},'./node_modules/typedoc/dist/lib/utils/fs.js':function(_0x4e322c,_0x1f9985,_0x4bf203){'use strict';Object[_0x1a4e('0x2')](_0x1f9985,_0x1a4e('0x6'),{'value':!0x0});const _0x404c37=_0x4bf203(_0x1a4e('0x16b2')),_0x2406f4=_0x4bf203(_0x1a4e('0x16b3')),_0x1a2d53=_0x4bf203('./node_modules/fs/index.js'),_0xaac3e3={};function _0x2bafad(_0x4e322c){return _0x4e322c['replace'](/\\/g,'/');}function _0x1b72f3(_0x4e322c){return!!_0xaac3e3[_0x1a4e('0xb')](_0x4e322c)||!!_0x404c37[_0x1a4e('0x16b4')][_0x1a4e('0x16b5')](_0x4e322c)&&(_0xaac3e3[_0x4e322c]=!0x0,!0x0);}function _0x2ac668(_0x4e322c){if(_0x4e322c[_0x1a4e('0x1e')]>_0x2406f4[_0x1a4e('0x1670')](_0x4e322c)&&!_0x1b72f3(_0x4e322c)){_0x2ac668(_0x2406f4[_0x1a4e('0x1671')](_0x4e322c)),_0x404c37[_0x1a4e('0x16b4')][_0x1a4e('0x16b6')](_0x4e322c);}}_0x1f9985[_0x1a4e('0x1672')]=_0x2bafad,_0x1f9985[_0x1a4e('0x16b5')]=_0x1b72f3,_0x1f9985['ensureDirectoriesExist']=_0x2ac668,_0x1f9985[_0x1a4e('0x16b7')]=function(_0x4e322c,_0x1f9985,_0x4bf203,_0x1a2d53){try{_0x2ac668(_0x2406f4[_0x1a4e('0x1671')](_0x2bafad(_0x4e322c))),_0x404c37[_0x1a4e('0x16b4')][_0x1a4e('0x16b7')](_0x4e322c,_0x1f9985,_0x4bf203);}catch(_0x345a10){_0x1a2d53&&_0x1a2d53(_0x345a10['message']);}},_0x1f9985[_0x1a4e('0x16b8')]=function(_0x4e322c){const _0x1f9985=_0x1a2d53['readFileSync'](_0x4e322c);switch(_0x1f9985[0x0]){case 0xfe:if(0xff===_0x1f9985[0x1]){let _0x4e322c=0x0;for(;_0x4e322c+0x1<_0x1f9985[_0x1a4e('0x1e')];){const _0x4bf203=_0x1f9985[_0x4e322c];_0x1f9985[_0x4e322c]=_0x1f9985[_0x4e322c+0x1],_0x1f9985[_0x4e322c+0x1]=_0x4bf203,_0x4e322c+=0x2;}return _0x1f9985[_0x1a4e('0x95')](_0x1a4e('0xacd'),0x2);}break;case 0xff:if(0xfe===_0x1f9985[0x1])return _0x1f9985[_0x1a4e('0x95')](_0x1a4e('0xacd'),0x2);break;case 0xef:if(0xbb===_0x1f9985[0x1])return _0x1f9985['toString'](_0x1a4e('0xac4'),0x3);}return _0x1f9985[_0x1a4e('0x95')](_0x1a4e('0xac4'),0x0);};},'./node_modules/typedoc/dist/lib/utils/index.js':function(_0x36ec29,_0x575baa,_0x1f5540){'use strict';Object[_0x1a4e('0x2')](_0x575baa,_0x1a4e('0x6'),{'value':!0x0});var _0x10ee9d=_0x1f5540(_0x1a4e('0x16b9'));_0x575baa[_0x1a4e('0x1680')]=_0x10ee9d['Component'],_0x575baa['Option']=_0x10ee9d[_0x1a4e('0x1688')],_0x575baa[_0x1a4e('0x16ba')]=_0x10ee9d[_0x1a4e('0x16ba')],_0x575baa[_0x1a4e('0x16bb')]=_0x10ee9d[_0x1a4e('0x16bb')];var _0x4ae8bb=_0x1f5540(_0x1a4e('0x16bc'));_0x575baa[_0x1a4e('0x168d')]=_0x4ae8bb[_0x1a4e('0x168d')],_0x575baa['EventDispatcher']=_0x4ae8bb[_0x1a4e('0x16aa')];var _0x46d486=_0x1f5540(_0x1a4e('0x16bd'));_0x575baa[_0x1a4e('0x1672')]=_0x46d486[_0x1a4e('0x1672')],_0x575baa['directoryExists']=_0x46d486['directoryExists'],_0x575baa[_0x1a4e('0x16be')]=_0x46d486[_0x1a4e('0x16be')],_0x575baa[_0x1a4e('0x16b7')]=_0x46d486[_0x1a4e('0x16b7')];var _0x37cb7a=_0x1f5540(_0x1a4e('0x16bf'));_0x575baa[_0x1a4e('0x16c0')]=_0x37cb7a[_0x1a4e('0x16c0')],_0x575baa[_0x1a4e('0x16c1')]=_0x37cb7a['LogLevel'],_0x575baa[_0x1a4e('0x16c2')]=_0x37cb7a[_0x1a4e('0x16c2')],_0x575baa[_0x1a4e('0x16c3')]=_0x37cb7a['CallbackLogger'];var _0x444b08=_0x1f5540(_0x1a4e('0x16c4'));_0x575baa[_0x1a4e('0x16c5')]=_0x444b08[_0x1a4e('0x16c5')];},'./node_modules/typedoc/dist/lib/utils/loggers.js':function(_0x47f4c1,_0xb851ed,_0x43b214){'use strict';Object[_0x1a4e('0x2')](_0xb851ed,_0x1a4e('0x6'),{'value':!0x0});const _0x4d556b=_0x43b214('./node_modules/typedoc/node_modules/typescript/lib/typescript.js'),_0x5c3bea=_0x43b214(_0x1a4e('0x16c6'));var _0x32205d;!function(_0x47f4c1){_0x47f4c1[_0x47f4c1[_0x1a4e('0x16c7')]=0x0]=_0x1a4e('0x16c7'),_0x47f4c1[_0x47f4c1['Info']=0x1]=_0x1a4e('0x16c8'),_0x47f4c1[_0x47f4c1[_0x1a4e('0x16c9')]=0x2]=_0x1a4e('0x16c9'),_0x47f4c1[_0x47f4c1[_0x1a4e('0x101f')]=0x3]=_0x1a4e('0x101f'),_0x47f4c1[_0x47f4c1[_0x1a4e('0x16ca')]=0x4]=_0x1a4e('0x16ca');}(_0x32205d=_0xb851ed['LogLevel']||(_0xb851ed[_0x1a4e('0x16c1')]={}));class _0x246b94{constructor(){this[_0x1a4e('0x16cb')]=0x0;}[_0x1a4e('0x16cc')](){return this[_0x1a4e('0x16cb')]>0x0;}[_0x1a4e('0x16cd')](){this['errorCount']=0x0;}[_0x1a4e('0x146')](_0x47f4c1,..._0xb851ed){this[_0x1a4e('0x58')](_0x5c3bea[_0x1a4e('0x390')][_0x1a4e('0x8b')](this,arguments),_0x32205d[_0x1a4e('0x16c8')]);}[_0x1a4e('0x16ce')](_0x47f4c1,..._0xb851ed){this['log'](_0x5c3bea['format']['apply'](this,arguments),_0x32205d[_0x1a4e('0x16c8')],!0x0);}['success'](_0x47f4c1,..._0xb851ed){this[_0x1a4e('0x58')](_0x5c3bea[_0x1a4e('0x390')][_0x1a4e('0x8b')](this,arguments),_0x32205d[_0x1a4e('0x16ca')]);}[_0x1a4e('0x57')](_0x47f4c1,..._0xb851ed){this['log'](_0x5c3bea['format'][_0x1a4e('0x8b')](this,arguments),_0x32205d[_0x1a4e('0x16c7')]);}['warn'](_0x47f4c1,..._0xb851ed){this[_0x1a4e('0x58')](_0x5c3bea[_0x1a4e('0x390')][_0x1a4e('0x8b')](this,arguments),_0x32205d[_0x1a4e('0x16c9')]);}['error'](_0x47f4c1,..._0xb851ed){this['log'](_0x5c3bea['format'][_0x1a4e('0x8b')](this,arguments),_0x32205d[_0x1a4e('0x101f')]);}['log'](_0x47f4c1,_0xb851ed=_0x32205d['Info'],_0x43b214){_0xb851ed===_0x32205d['Error']&&(this[_0x1a4e('0x16cb')]+=0x1);}['diagnostics'](_0x47f4c1){_0x47f4c1[_0x1a4e('0x3b')](_0x47f4c1=>{this[_0x1a4e('0x16cf')](_0x47f4c1);});}[_0x1a4e('0x16cf')](_0x47f4c1){let _0xb851ed;switch(_0x47f4c1['file']?(_0xb851ed=_0x47f4c1['file']['fileName'],_0xb851ed+='('+_0x4d556b['getLineAndCharacterOfPosition'](_0x47f4c1[_0x1a4e('0x15c9')],_0x47f4c1[_0x1a4e('0xc9')]||0x0)[_0x1a4e('0xc5')]+')',_0xb851ed+=_0x4d556b[_0x1a4e('0x16b4')][_0x1a4e('0x16d0')]+'\x20'+_0x4d556b[_0x1a4e('0x16d1')](_0x47f4c1['messageText'],_0x4d556b[_0x1a4e('0x16b4')]['newLine'])):_0xb851ed=_0x4d556b[_0x1a4e('0x16d1')](_0x47f4c1[_0x1a4e('0x16d2')],_0x4d556b['sys'][_0x1a4e('0x16d0')]),_0x47f4c1['category']){case _0x4d556b[_0x1a4e('0x16d3')][_0x1a4e('0x101f')]:this['log'](_0xb851ed,_0x32205d[_0x1a4e('0x101f')]);break;case _0x4d556b['DiagnosticCategory'][_0x1a4e('0x16d4')]:this[_0x1a4e('0x58')](_0xb851ed,_0x32205d[_0x1a4e('0x16c9')]);break;case _0x4d556b[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')]:this['log'](_0xb851ed,_0x32205d[_0x1a4e('0x16c8')]);}}}_0xb851ed[_0x1a4e('0x16c0')]=_0x246b94;_0xb851ed[_0x1a4e('0x16c2')]=class extends _0x246b94{['log'](_0x47f4c1,_0xb851ed=_0x32205d[_0x1a4e('0x16c8')],_0x43b214){_0xb851ed===_0x32205d[_0x1a4e('0x101f')]&&(this[_0x1a4e('0x16cb')]+=0x1);let _0x5c3bea='';_0xb851ed===_0x32205d['Error']&&(_0x5c3bea+=_0x1a4e('0x16d6')),_0xb851ed===_0x32205d['Warn']&&(_0x5c3bea+=_0x1a4e('0x16d7')),_0x5c3bea+=_0x47f4c1,(_0x43b214||_0xb851ed===_0x32205d[_0x1a4e('0x16ca')])&&_0x4d556b[_0x1a4e('0x16b4')][_0x1a4e('0x146')](_0x4d556b['sys'][_0x1a4e('0x16d0')]),_0x4d556b['sys'][_0x1a4e('0x146')](_0x5c3bea+_0x4d556b[_0x1a4e('0x16b4')][_0x1a4e('0x16d0')]),_0xb851ed===_0x32205d[_0x1a4e('0x16ca')]&&_0x4d556b[_0x1a4e('0x16b4')][_0x1a4e('0x146')](_0x4d556b[_0x1a4e('0x16b4')]['newLine']);}};_0xb851ed[_0x1a4e('0x16c3')]=class extends _0x246b94{constructor(_0x47f4c1){super(),this['callback']=_0x47f4c1;}[_0x1a4e('0x58')](_0x47f4c1,_0xb851ed=_0x32205d[_0x1a4e('0x16c8')],_0x43b214){_0xb851ed===_0x32205d[_0x1a4e('0x101f')]&&(this['errorCount']+=0x1),this['callback'](_0x47f4c1,_0xb851ed,_0x43b214);}};},'./node_modules/typedoc/dist/lib/utils/options/declaration.js':function(_0xf544ef,_0xd90ebf,_0x1cdb6f){'use strict';Object[_0x1a4e('0x2')](_0xd90ebf,_0x1a4e('0x6'),{'value':!0x0});const _0x487df9=_0x1cdb6f(_0x1a4e('0x167f'));var _0x201432,_0xa0b9a6;!function(_0xf544ef){_0xf544ef[_0xf544ef[_0x1a4e('0x16d8')]=0x0]='File',_0xf544ef[_0xf544ef[_0x1a4e('0x16d9')]=0x1]=_0x1a4e('0x16d9');}(_0xd90ebf['ParameterHint']||(_0xd90ebf['ParameterHint']={})),function(_0xf544ef){_0xf544ef[_0xf544ef[_0x1a4e('0x1011')]=0x0]=_0x1a4e('0x1011'),_0xf544ef[_0xf544ef[_0x1a4e('0x16da')]=0x1]=_0x1a4e('0x16da'),_0xf544ef[_0xf544ef[_0x1a4e('0x16db')]=0x2]=_0x1a4e('0x16db'),_0xf544ef[_0xf544ef[_0x1a4e('0xf51')]=0x3]=_0x1a4e('0xf51'),_0xf544ef[_0xf544ef['Mixed']=0x4]=_0x1a4e('0x16dc'),_0xf544ef[_0xf544ef['Array']=0x5]=_0x1a4e('0x104');}(_0x201432=_0xd90ebf['ParameterType']||(_0xd90ebf[_0x1a4e('0x16dd')]={})),function(_0xf544ef){_0xf544ef[_0xf544ef[_0x1a4e('0x16de')]=0x0]=_0x1a4e('0x16de'),_0xf544ef[_0xf544ef['TypeScript']=0x1]=_0x1a4e('0x16df');}(_0xa0b9a6=_0xd90ebf[_0x1a4e('0x16e0')]||(_0xd90ebf[_0x1a4e('0x16e0')]={}));_0xd90ebf[_0x1a4e('0x16e1')]=class{constructor(_0xf544ef){this['type']=_0x201432[_0x1a4e('0x1011')],this['scope']=_0xa0b9a6[_0x1a4e('0x16de')];for(let _0xd90ebf in _0xf544ef)this[_0xd90ebf]=_0xf544ef[_0xd90ebf];}[_0x1a4e('0x16e2')](){const _0xf544ef=[this['name']['toLowerCase']()];return this['short']&&_0xf544ef['push'](this['short'][_0x1a4e('0x2b2')]()),_0xf544ef;}['convert'](_0xf544ef,_0xd90ebf){switch(this[_0x1a4e('0x40')]){case _0x201432['Number']:_0xf544ef=parseInt(_0xf544ef+'',0xa);break;case _0x201432[_0x1a4e('0x16db')]:_0xf544ef=!!_0xf544ef;break;case _0x201432[_0x1a4e('0x1011')]:_0xf544ef=_0xf544ef?_0xf544ef+'':'';break;case _0x201432['Array']:_0xf544ef?_0x1a4e('0x9')==typeof _0xf544ef&&(_0xf544ef=_0xf544ef[_0x1a4e('0x2be')](',')):_0xf544ef=[];break;case _0x201432['Map']:const _0x1cdb6f=this[_0x1a4e('0x21')]||{};if(_0x1a4e('0x85')!==_0x1cdb6f){const _0x201432=_0xf544ef?(_0xf544ef+'')[_0x1a4e('0x2b2')]():'',_0xa0b9a6=_0x487df9['values'](_0x1cdb6f);_0x1cdb6f instanceof Map?_0xf544ef=_0x1cdb6f[_0x1a4e('0x178')](_0x201432)?_0x1cdb6f[_0x1a4e('0x179')](_0x201432):_0xf544ef:_0x201432 in _0x1cdb6f?_0xf544ef=_0x1cdb6f[_0x201432]:-0x1===_0xa0b9a6[_0x1a4e('0x3e')](_0xf544ef)&&_0xd90ebf&&(this['mapError']?_0xd90ebf(this[_0x1a4e('0x16e3')]):_0xd90ebf(_0x1a4e('0x16e4'),this[_0x1a4e('0x2cb')]));}}return _0xf544ef;}};},'./node_modules/typedoc/dist/lib/utils/plugins.js':function(_0x223f03,_0x32dc46,_0x3a2629){'use strict';(function(_0x223f03){var _0xb1ba38=this&&this[_0x1a4e('0x16e5')]||function(_0x223f03,_0x32dc46,_0x3a2629,_0xb1ba38){var _0x4db682,_0x1db9c7=arguments[_0x1a4e('0x1e')],_0x3b7488=_0x1db9c7<0x3?_0x32dc46:null===_0xb1ba38?_0xb1ba38=Object[_0x1a4e('0x12fc')](_0x32dc46,_0x3a2629):_0xb1ba38;if(_0x1a4e('0x85')==typeof Reflect&&_0x1a4e('0x68')==typeof Reflect[_0x1a4e('0x1667')])_0x3b7488=Reflect[_0x1a4e('0x1667')](_0x223f03,_0x32dc46,_0x3a2629,_0xb1ba38);else for(var _0x226367=_0x223f03[_0x1a4e('0x1e')]-0x1;_0x226367>=0x0;_0x226367--)(_0x4db682=_0x223f03[_0x226367])&&(_0x3b7488=(_0x1db9c7<0x3?_0x4db682(_0x3b7488):_0x1db9c7>0x3?_0x4db682(_0x32dc46,_0x3a2629,_0x3b7488):_0x4db682(_0x32dc46,_0x3a2629))||_0x3b7488);return _0x1db9c7>0x3&&_0x3b7488&&Object['defineProperty'](_0x32dc46,_0x3a2629,_0x3b7488),_0x3b7488;};Object[_0x1a4e('0x2')](_0x32dc46,_0x1a4e('0x6'),{'value':!0x0});const _0x4cc771=_0x3a2629('./node_modules/fs/index.js'),_0x39fbd2=_0x3a2629(_0x1a4e('0x161f')),_0x259699=_0x3a2629(_0x1a4e('0x16b9')),_0x1e29b7=_0x3a2629('./node_modules/typedoc/dist/lib/utils/options/declaration.js');let _0x4e1a43=class extends _0x259699[_0x1a4e('0x16ba')]{[_0x1a4e('0x7b')](){const _0x223f03=this['application'][_0x1a4e('0x16e6')],_0x32dc46=this[_0x1a4e('0x16e7')]||this[_0x1a4e('0x16e8')]();let _0xb1ba38,_0x4cc771=_0x32dc46[_0x1a4e('0x1e')];for(_0xb1ba38=0x0;_0xb1ba38<_0x4cc771;_0xb1ba38++){const _0x3a2629=_0x32dc46[_0xb1ba38];if(_0x1a4e('0x9')!=typeof _0x3a2629)return _0x223f03[_0x1a4e('0x873')](_0x1a4e('0x16e9'),_0x3a2629),!0x1;if(_0x1a4e('0x60')===_0x3a2629['toLowerCase']())return!0x0;}for(_0xb1ba38=0x0;_0xb1ba38<_0x4cc771;_0xb1ba38++){const _0x4cc771=_0x32dc46[_0xb1ba38];try{const _0x32dc46=_0x3a2629(_0x1a4e('0x16ea'))(_0x4cc771);'function'==typeof(_0x1a4e('0x68')==typeof _0x32dc46[_0x1a4e('0x7b')]?_0x32dc46[_0x1a4e('0x7b')]:_0x32dc46)?(_0x32dc46(this),_0x223f03[_0x1a4e('0x146')](_0x1a4e('0x16eb'),_0x4cc771)):_0x223f03[_0x1a4e('0x873')]('Invalid\x20structure\x20in\x20plugin\x20%s,\x20no\x20function\x20found.',_0x4cc771);}catch(_0xa55230){return _0x223f03[_0x1a4e('0x873')](_0x1a4e('0x16ec'),_0x4cc771),_0x223f03[_0x1a4e('0x16ce')](_0xa55230[_0x1a4e('0x2cd')]),!0x1;}}return!0x0;}[_0x1a4e('0x16e8')](){const _0x32dc46=[],_0x3a2629=this[_0x1a4e('0x8e5')][_0x1a4e('0x16e6')];return function(){let _0x32dc46,_0x3a2629=_0x223f03[_0x1a4e('0x1140')]();do{const _0x223f03=_0x39fbd2[_0x1a4e('0x9e')](_0x3a2629,_0x1a4e('0x16ed'));_0x4cc771[_0x1a4e('0x1620')](_0x223f03)&&_0x4cc771[_0x1a4e('0x16ee')](_0x223f03)[_0x1a4e('0x16ef')]()&&_0xb1ba38(_0x223f03),_0x32dc46=_0x3a2629,_0x3a2629=_0x39fbd2['resolve'](_0x39fbd2[_0x1a4e('0x9e')](_0x32dc46,'..'));}while(_0x32dc46!==_0x3a2629);}(),_0x32dc46;function _0xb1ba38(_0x223f03){const _0xb1ba38=[];_0x4cc771[_0x1a4e('0x16f0')](_0x223f03)[_0x1a4e('0x3b')](_0x32dc46=>{const _0x3a2629=_0x39fbd2['join'](_0x223f03,_0x32dc46);_0x32dc46[_0x1a4e('0xdfb')]('@')&&_0x4cc771[_0x1a4e('0x16f0')](_0x3a2629)[_0x1a4e('0x3b')](_0x223f03=>{_0xb1ba38[_0x1a4e('0x46')](_0x39fbd2['join'](_0x32dc46,_0x223f03));}),_0xb1ba38[_0x1a4e('0x46')](_0x32dc46);}),_0xb1ba38[_0x1a4e('0x3b')](_0xb1ba38=>{const _0x259699=_0x39fbd2['join'](_0x223f03,_0xb1ba38,_0x1a4e('0x16f1'));_0x4cc771[_0x1a4e('0x1620')](_0x259699)&&function(_0x223f03){const _0x32dc46=_0x223f03[_0x1a4e('0x16f2')];if(!_0x32dc46||!Array[_0x1a4e('0x15')](_0x32dc46))return!0x1;for(let _0x223f03=0x0,_0x3a2629=_0x32dc46[_0x1a4e('0x1e')];_0x223f03<_0x3a2629;_0x223f03++){const _0x3a2629=_0x32dc46[_0x223f03];if(_0x1a4e('0x9')==typeof _0x3a2629&&_0x1a4e('0x16f3')===_0x3a2629[_0x1a4e('0x2b2')]())return!0x0;}return!0x1;}(function(_0x223f03){try{return JSON['parse'](_0x4cc771[_0x1a4e('0x1621')](_0x223f03,{'encoding':'utf-8'}));}catch(_0x5bf7e4){return _0x3a2629[_0x1a4e('0x873')](_0x1a4e('0x16f4'),_0x223f03),{};}}(_0x259699))&&_0x32dc46[_0x1a4e('0x46')](_0x39fbd2[_0x1a4e('0x9e')](_0x223f03,_0xb1ba38));});}}};_0xb1ba38([_0x259699[_0x1a4e('0x1688')]({'name':_0x1a4e('0x16f5'),'help':'Specify\x20the\x20npm\x20plugins\x20that\x20should\x20be\x20loaded.\x20Omit\x20to\x20load\x20all\x20installed\x20plugins,\x20set\x20to\x20\x27none\x27\x20to\x20load\x20no\x20plugins.','type':_0x1e29b7[_0x1a4e('0x16dd')][_0x1a4e('0x104')]})],_0x4e1a43[_0x1a4e('0xa')],'plugins',void 0x0),_0x4e1a43=_0xb1ba38([_0x259699[_0x1a4e('0x1680')]({'name':_0x1a4e('0x16f6'),'internal':!0x0})],_0x4e1a43),_0x32dc46[_0x1a4e('0x16c5')]=_0x4e1a43;}['call'](this,_0x3a2629(_0x1a4e('0x1156'))));},'./node_modules/typedoc/node_modules/typescript/lib sync recursive':function(_0x5efcd3,_0x5110b1){function _0x336be0(_0x5efcd3){var _0x5110b1=new Error('Cannot\x20find\x20module\x20\x27'+_0x5efcd3+'\x27');throw _0x5110b1['code']=_0x1a4e('0x1643'),_0x5110b1;}_0x336be0[_0x1a4e('0x56')]=function(){return[];},_0x336be0[_0x1a4e('0xe20')]=_0x336be0,_0x5efcd3[_0x1a4e('0x0')]=_0x336be0,_0x336be0['id']=_0x1a4e('0x16f7');},'./node_modules/typedoc/node_modules/typescript/lib/typescript.js':function(_0x368e5a,_0x146f6e,_0x2327c6){'use strict';(function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9,_0x420b32=this&&this[_0x1a4e('0x1659')]||function(){return(_0x420b32=Object['assign']||function(_0x368e5a){for(var _0x146f6e,_0x2327c6=0x1,_0x55ff7e=arguments['length'];_0x2327c6<_0x55ff7e;_0x2327c6++)for(var _0x1adc17 in _0x146f6e=arguments[_0x2327c6])Object[_0x1a4e('0xa')][_0x1a4e('0xb')]['call'](_0x146f6e,_0x1adc17)&&(_0x368e5a[_0x1adc17]=_0x146f6e[_0x1adc17]);return _0x368e5a;})[_0x1a4e('0x8b')](this,arguments);},_0x1b06ad=this&&this[_0x1a4e('0x165c')]||function(_0x368e5a,_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9={'label':0x0,'sent':function(){if(0x1&_0x1adc17[0x0])throw _0x1adc17[0x1];return _0x1adc17[0x1];},'trys':[],'ops':[]};return _0xf79407={'next':_0x420b32(0x0),'throw':_0x420b32(0x1),'return':_0x420b32(0x2)},_0x1a4e('0x68')==typeof Symbol&&(_0xf79407[Symbol['iterator']]=function(){return this;}),_0xf79407;function _0x420b32(_0xf79407){return function(_0x420b32){return function(_0xf79407){if(_0x2327c6)throw new TypeError(_0x1a4e('0x16f8'));for(;_0x2c9ec9;)try{if(_0x2327c6=0x1,_0x55ff7e&&(_0x1adc17=0x2&_0xf79407[0x0]?_0x55ff7e[_0x1a4e('0xe40')]:_0xf79407[0x0]?_0x55ff7e[_0x1a4e('0x1362')]||((_0x1adc17=_0x55ff7e[_0x1a4e('0xe40')])&&_0x1adc17[_0x1a4e('0x1')](_0x55ff7e),0x0):_0x55ff7e[_0x1a4e('0x7e')])&&!(_0x1adc17=_0x1adc17[_0x1a4e('0x1')](_0x55ff7e,_0xf79407[0x1]))['done'])return _0x1adc17;switch(_0x55ff7e=0x0,_0x1adc17&&(_0xf79407=[0x2&_0xf79407[0x0],_0x1adc17[_0x1a4e('0x255')]]),_0xf79407[0x0]){case 0x0:case 0x1:_0x1adc17=_0xf79407;break;case 0x4:return _0x2c9ec9[_0x1a4e('0x1bc')]++,{'value':_0xf79407[0x1],'done':!0x1};case 0x5:_0x2c9ec9['label']++,_0x55ff7e=_0xf79407[0x1],_0xf79407=[0x0];continue;case 0x7:_0xf79407=_0x2c9ec9['ops'][_0x1a4e('0x76')](),_0x2c9ec9[_0x1a4e('0x1669')]['pop']();continue;default:if(!(_0x1adc17=(_0x1adc17=_0x2c9ec9[_0x1a4e('0x1669')])['length']>0x0&&_0x1adc17[_0x1adc17[_0x1a4e('0x1e')]-0x1])&&(0x6===_0xf79407[0x0]||0x2===_0xf79407[0x0])){_0x2c9ec9=0x0;continue;}if(0x3===_0xf79407[0x0]&&(!_0x1adc17||_0xf79407[0x1]>_0x1adc17[0x0]&&_0xf79407[0x1]<_0x1adc17[0x3])){_0x2c9ec9['label']=_0xf79407[0x1];break;}if(0x6===_0xf79407[0x0]&&_0x2c9ec9['label']<_0x1adc17[0x1]){_0x2c9ec9['label']=_0x1adc17[0x1],_0x1adc17=_0xf79407;break;}if(_0x1adc17&&_0x2c9ec9['label']<_0x1adc17[0x2]){_0x2c9ec9['label']=_0x1adc17[0x2],_0x2c9ec9[_0x1a4e('0x166a')]['push'](_0xf79407);break;}_0x1adc17[0x2]&&_0x2c9ec9[_0x1a4e('0x166a')]['pop'](),_0x2c9ec9[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;}_0xf79407=_0x146f6e[_0x1a4e('0x1')](_0x368e5a,_0x2c9ec9);}catch(_0x1b4422){_0xf79407=[0x6,_0x1b4422],_0x55ff7e=0x0;}finally{_0x2327c6=_0x1adc17=0x0;}if(0x5&_0xf79407[0x0])throw _0xf79407[0x1];return{'value':_0xf79407[0x0]?_0xf79407[0x1]:void 0x0,'done':!0x0};}([_0xf79407,_0x420b32]);};}},_0x326eae=this&&this[_0x1a4e('0x1664')]||function(_0x368e5a,_0x146f6e){return Object[_0x1a4e('0x2')]?Object[_0x1a4e('0x2')](_0x368e5a,_0x1a4e('0x87e'),{'value':_0x146f6e}):_0x368e5a[_0x1a4e('0x87e')]=_0x146f6e,_0x368e5a;},_0x56674b=this&&this[_0x1a4e('0x145b')]||(_0x2c9ec9=function(_0x368e5a,_0x146f6e){return(_0x2c9ec9=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x368e5a,_0x146f6e){_0x368e5a[_0x1a4e('0x295')]=_0x146f6e;}||function(_0x368e5a,_0x146f6e){for(var _0x2327c6 in _0x146f6e)_0x146f6e[_0x1a4e('0xb')](_0x2327c6)&&(_0x368e5a[_0x2327c6]=_0x146f6e[_0x2327c6]);})(_0x368e5a,_0x146f6e);},function(_0x368e5a,_0x146f6e){function _0x2327c6(){this['constructor']=_0x368e5a;}_0x2c9ec9(_0x368e5a,_0x146f6e),_0x368e5a[_0x1a4e('0xa')]=null===_0x146f6e?Object[_0x1a4e('0x7')](_0x146f6e):(_0x2327c6['prototype']=_0x146f6e['prototype'],new _0x2327c6());});!function(_0x368e5a){_0x368e5a['versionMajorMinor']=_0x1a4e('0x16f9'),_0x368e5a[_0x1a4e('0xb98')]=_0x368e5a[_0x1a4e('0x16fa')]+'.4';}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x16fb')]=-0x1]=_0x1a4e('0x16fb'),_0x368e5a[_0x368e5a[_0x1a4e('0x16fc')]=0x0]=_0x1a4e('0x16fc'),_0x368e5a[_0x368e5a[_0x1a4e('0x16fd')]=0x1]='GreaterThan';}(_0x368e5a['Comparison']||(_0x368e5a[_0x1a4e('0x16fe')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(){var _0x368e5a=Object[_0x1a4e('0x7')](null);return _0x368e5a['__']=void 0x0,delete _0x368e5a['__'],_0x368e5a;}function _0x2327c6(){return new _0x368e5a[(_0x1a4e('0x16ff'))]();}var _0x55ff7e;function _0x1adc17(_0x368e5a,_0x146f6e,_0x2327c6){if(void 0x0===_0x2327c6&&(_0x2327c6=_0x19f359),_0x368e5a)for(var _0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){if(_0x2327c6(_0x1adc17[_0x55ff7e],_0x146f6e))return!0x0;}return!0x1;}function _0xf79407(_0x368e5a,_0x146f6e){var _0x2327c6;if(_0x368e5a){_0x2327c6=[];for(var _0x55ff7e=0x0;_0x55ff7e<_0x368e5a['length'];_0x55ff7e++)_0x2327c6[_0x1a4e('0x46')](_0x146f6e(_0x368e5a[_0x55ff7e],_0x55ff7e));}return _0x2327c6;}function _0x2c9ec9(_0x368e5a,_0x146f6e){if(_0x368e5a){if(!_0x146f6e)return _0x368e5a[_0x1a4e('0x1e')]>0x0;for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){if(_0x146f6e(_0x55ff7e[_0x2327c6]))return!0x0;}}return!0x1;}function _0x420b32(_0x368e5a,_0x146f6e){return void 0x0===_0x146f6e?_0x368e5a:void 0x0===_0x368e5a?[_0x146f6e]:(_0x368e5a[_0x1a4e('0x46')](_0x146f6e),_0x368e5a);}function _0x1b06ad(_0x368e5a,_0x146f6e){return _0x146f6e<0x0?_0x368e5a[_0x1a4e('0x1e')]+_0x146f6e:_0x146f6e;}function _0x326eae(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(void 0x0===_0x146f6e||0x0===_0x146f6e[_0x1a4e('0x1e')])return _0x368e5a;if(void 0x0===_0x368e5a)return _0x146f6e[_0x1a4e('0x78')](_0x2327c6,_0x55ff7e);_0x2327c6=void 0x0===_0x2327c6?0x0:_0x1b06ad(_0x146f6e,_0x2327c6),_0x55ff7e=void 0x0===_0x55ff7e?_0x146f6e[_0x1a4e('0x1e')]:_0x1b06ad(_0x146f6e,_0x55ff7e);for(var _0x1adc17=_0x2327c6;_0x1adc17<_0x55ff7e&&_0x1adc17<_0x146f6e['length'];_0x1adc17++)void 0x0!==_0x146f6e[_0x1adc17]&&_0x368e5a[_0x1a4e('0x46')](_0x146f6e[_0x1adc17]);return _0x368e5a;}function _0x56674b(_0x368e5a,_0x146f6e,_0x2327c6){return!_0x1adc17(_0x368e5a,_0x146f6e,_0x2327c6)&&(_0x368e5a[_0x1a4e('0x46')](_0x146f6e),!0x0);}function _0x6beecd(_0x368e5a,_0x146f6e,_0x2327c6){_0x146f6e[_0x1a4e('0x89')](function(_0x146f6e,_0x55ff7e){return _0x2327c6(_0x368e5a[_0x146f6e],_0x368e5a[_0x55ff7e])||_0x4447b3(_0x146f6e,_0x55ff7e);});}function _0x296f4a(_0x368e5a,_0x146f6e){return 0x0===_0x368e5a[_0x1a4e('0x1e')]?_0x368e5a:_0x368e5a[_0x1a4e('0x78')]()['sort'](_0x146f6e);}function _0x3e10ff(_0x368e5a){var _0x146f6e=0x0;return{'next':function(){return _0x146f6e===_0x368e5a[_0x1a4e('0x1e')]?{'value':void 0x0,'done':!0x0}:{'value':_0x368e5a[++_0x146f6e-0x1],'done':!0x1};}};}function _0x103bde(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0xb800(_0x368e5a,_0x2327c6(_0x146f6e),_0x2327c6,_0x55ff7e,_0x1adc17);}function _0xb800(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(!_0x2c9ec9(_0x368e5a))return-0x1;for(var _0xf79407=_0x1adc17||0x0,_0x420b32=_0x368e5a[_0x1a4e('0x1e')]-0x1;_0xf79407<=_0x420b32;){var _0x1b06ad=_0xf79407+(_0x420b32-_0xf79407>>0x1);switch(_0x55ff7e(_0x2327c6(_0x368e5a[_0x1b06ad]),_0x146f6e)){case-0x1:_0xf79407=_0x1b06ad+0x1;break;case 0x0:return _0x1b06ad;case 0x1:_0x420b32=_0x1b06ad-0x1;}}return~_0xf79407;}function _0x355d4d(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x368e5a&&_0x368e5a[_0x1a4e('0x1e')]>0x0){var _0xf79407=_0x368e5a[_0x1a4e('0x1e')];if(_0xf79407>0x0){var _0x2c9ec9=void 0x0===_0x55ff7e||_0x55ff7e<0x0?0x0:_0x55ff7e,_0x420b32=void 0x0===_0x1adc17||_0x2c9ec9+_0x1adc17>_0xf79407-0x1?_0xf79407-0x1:_0x2c9ec9+_0x1adc17,_0x1b06ad=void 0x0;for(arguments[_0x1a4e('0x1e')]<=0x2?(_0x1b06ad=_0x368e5a[_0x2c9ec9],_0x2c9ec9++):_0x1b06ad=_0x2327c6;_0x2c9ec9<=_0x420b32;)_0x1b06ad=_0x146f6e(_0x1b06ad,_0x368e5a[_0x2c9ec9],_0x2c9ec9),_0x2c9ec9++;return _0x1b06ad;}}return _0x2327c6;}_0x368e5a[_0x1a4e('0x1700')]=[],_0x368e5a['createMap']=_0x2327c6,_0x368e5a['createMapFromEntries']=function(_0x368e5a){for(var _0x146f6e=_0x2327c6(),_0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e],_0x2c9ec9=_0xf79407[0x0],_0x420b32=_0xf79407[0x1];_0x146f6e[_0x1a4e('0x17a')](_0x2c9ec9,_0x420b32);}return _0x146f6e;},_0x368e5a[_0x1a4e('0x1701')]=function(_0x146f6e){var _0x2327c6=new _0x368e5a[(_0x1a4e('0x16ff'))]();for(var _0x55ff7e in _0x146f6e)_0x3fdb16[_0x1a4e('0x1')](_0x146f6e,_0x55ff7e)&&_0x2327c6['set'](_0x55ff7e,_0x146f6e[_0x55ff7e]);return _0x2327c6;},_0x368e5a[_0x1a4e('0x16ff')]=_0x1a4e('0x3')!=typeof Map&&_0x1a4e('0x3c3')in Map['prototype']?Map:(_0x55ff7e=function(){function _0x368e5a(_0x368e5a,_0x146f6e){this[_0x1a4e('0xbd')]=0x0,this[_0x1a4e('0x7f')]=_0x368e5a,this['selector']=_0x146f6e,this['keys']=Object['keys'](_0x368e5a);}return _0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x7e')]=function(){var _0x368e5a=this[_0x1a4e('0xbd')];return _0x368e5a=0x0;_0x2327c6--){var _0x55ff7e=_0x368e5a[_0x2327c6];if(_0x146f6e(_0x55ff7e,_0x2327c6))return _0x55ff7e;}},_0x368e5a[_0x1a4e('0x5cb')]=function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x2327c6||0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++)if(_0x146f6e(_0x368e5a[_0x55ff7e],_0x55ff7e))return _0x55ff7e;return-0x1;},_0x368e5a[_0x1a4e('0x109d')]=function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=void 0x0===_0x2327c6?_0x368e5a[_0x1a4e('0x1e')]-0x1:_0x2327c6;_0x55ff7e>=0x0;_0x55ff7e--)if(_0x146f6e(_0x368e5a[_0x55ff7e],_0x55ff7e))return _0x55ff7e;return-0x1;},_0x368e5a[_0x1a4e('0x1708')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];_0x2327c6++){var _0x55ff7e=_0x146f6e(_0x368e5a[_0x2327c6],_0x2327c6);if(_0x55ff7e)return _0x55ff7e;}return _0x32cd1e[_0x1a4e('0x1709')]();},_0x368e5a[_0x1a4e('0x2ac')]=_0x1adc17,_0x368e5a[_0x1a4e('0x170a')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=_0x19f359),_0x368e5a[_0x1a4e('0x1e')]===_0x146f6e['length']&&_0x368e5a[_0x1a4e('0x114')](function(_0x368e5a,_0x55ff7e){return _0x2327c6(_0x368e5a,_0x146f6e[_0x55ff7e]);});},_0x368e5a[_0x1a4e('0x170b')]=function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x2327c6||0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++)if(_0x1adc17(_0x146f6e,_0x368e5a['charCodeAt'](_0x55ff7e)))return _0x55ff7e;return-0x1;},_0x368e5a[_0x1a4e('0x170c')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=0x0;if(_0x368e5a)for(var _0x55ff7e=0x0;_0x55ff7e<_0x368e5a['length'];_0x55ff7e++)_0x146f6e(_0x368e5a[_0x55ff7e],_0x55ff7e)&&_0x2327c6++;return _0x2327c6;},_0x368e5a['filter']=function(_0x368e5a,_0x146f6e){if(_0x368e5a){for(var _0x2327c6=_0x368e5a['length'],_0x55ff7e=0x0;_0x55ff7e<_0x2327c6&&_0x146f6e(_0x368e5a[_0x55ff7e]);)_0x55ff7e++;if(_0x55ff7e<_0x2327c6){var _0x1adc17=_0x368e5a[_0x1a4e('0x78')](0x0,_0x55ff7e);for(_0x55ff7e++;_0x55ff7e<_0x2327c6;){var _0xf79407=_0x368e5a[_0x55ff7e];_0x146f6e(_0xf79407)&&_0x1adc17[_0x1a4e('0x46')](_0xf79407),_0x55ff7e++;}return _0x1adc17;}}return _0x368e5a;},_0x368e5a['filterMutate']=function(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++)_0x146f6e(_0x368e5a[_0x55ff7e],_0x55ff7e,_0x368e5a)&&(_0x368e5a[_0x2327c6]=_0x368e5a[_0x55ff7e],_0x2327c6++);_0x368e5a[_0x1a4e('0x1e')]=_0x2327c6;},_0x368e5a['clear']=function(_0x368e5a){_0x368e5a[_0x1a4e('0x1e')]=0x0;},_0x368e5a[_0x1a4e('0x21')]=_0xf79407,_0x368e5a['mapIterator']=function(_0x368e5a,_0x146f6e){return{'next':function(){var _0x2327c6=_0x368e5a['next']();return _0x2327c6[_0x1a4e('0x3c2')]?_0x2327c6:{'value':_0x146f6e(_0x2327c6['value']),'done':!0x1};}};},_0x368e5a[_0x1a4e('0x170d')]=function(_0x368e5a,_0x146f6e){if(_0x368e5a)for(var _0x2327c6=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];_0x2327c6++){var _0x55ff7e=_0x368e5a[_0x2327c6],_0x1adc17=_0x146f6e(_0x55ff7e,_0x2327c6);if(_0x55ff7e!==_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x78')](0x0,_0x2327c6);for(_0xf79407[_0x1a4e('0x46')](_0x1adc17),_0x2327c6++;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];_0x2327c6++)_0xf79407[_0x1a4e('0x46')](_0x146f6e(_0x368e5a[_0x2327c6],_0x2327c6));return _0xf79407;}}return _0x368e5a;},_0x368e5a['flatten']=function(_0x368e5a){var _0x146f6e;if(_0x368e5a){_0x146f6e=[];for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a;_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x1adc17&&(_0x1a325e(_0x1adc17)?_0x326eae(_0x146f6e,_0x1adc17):_0x146f6e['push'](_0x1adc17));}}return _0x146f6e;},_0x368e5a[_0x1a4e('0x104e')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e;if(_0x146f6e)for(var _0x1adc17=0x0;_0x1adc17<_0x146f6e[_0x1a4e('0x1e')];_0x1adc17++){var _0xf79407=_0x2327c6(_0x146f6e[_0x1adc17],_0x1adc17);_0xf79407&&(_0x55ff7e=_0x1a325e(_0xf79407)?_0x326eae(_0x55ff7e,_0xf79407):_0x420b32(_0x55ff7e,_0xf79407));}return _0x55ff7e||_0x368e5a[_0x1a4e('0x1700')];},_0x368e5a[_0x1a4e('0x170e')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=[];if(_0x368e5a)for(var _0x55ff7e=0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x146f6e(_0x368e5a[_0x55ff7e],_0x55ff7e);_0x1adc17&&(_0x1a325e(_0x1adc17)?_0x326eae(_0x2327c6,_0x1adc17):_0x2327c6[_0x1a4e('0x46')](_0x1adc17));}return _0x2327c6;},_0x368e5a[_0x1a4e('0x170f')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x7e')]();if(_0x55ff7e[_0x1a4e('0x3c2')])return _0x368e5a[_0x1a4e('0x1710')];var _0x1adc17=_0xf79407(_0x55ff7e[_0x1a4e('0x255')]);return{'next':function(){for(;;){var _0x368e5a=_0x1adc17[_0x1a4e('0x7e')]();if(!_0x368e5a[_0x1a4e('0x3c2')])return _0x368e5a;var _0x2327c6=_0x146f6e[_0x1a4e('0x7e')]();if(_0x2327c6[_0x1a4e('0x3c2')])return _0x2327c6;_0x1adc17=_0xf79407(_0x2327c6[_0x1a4e('0x255')]);}}};function _0xf79407(_0x146f6e){var _0x55ff7e=_0x2327c6(_0x146f6e);return void 0x0===_0x55ff7e?_0x368e5a['emptyIterator']:_0x1a325e(_0x55ff7e)?_0x3e10ff(_0x55ff7e):_0x55ff7e;}},_0x368e5a[_0x1a4e('0x1711')]=function(_0x368e5a,_0x146f6e){var _0x2327c6;if(_0x368e5a)for(var _0x55ff7e=0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x368e5a[_0x55ff7e],_0xf79407=_0x146f6e(_0x1adc17,_0x55ff7e);(_0x2327c6||_0x1adc17!==_0xf79407||_0x1a325e(_0xf79407))&&(_0x2327c6||(_0x2327c6=_0x368e5a[_0x1a4e('0x78')](0x0,_0x55ff7e)),_0x1a325e(_0xf79407)?_0x326eae(_0x2327c6,_0xf79407):_0x2327c6[_0x1a4e('0x46')](_0xf79407));}return _0x2327c6||_0x368e5a;},_0x368e5a[_0x1a4e('0x1712')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x0;_0x55ff7e<_0x368e5a['length'];_0x55ff7e++){var _0x1adc17=_0x146f6e(_0x368e5a[_0x55ff7e],_0x55ff7e);if(void 0x0===_0x1adc17)return;_0x2327c6['push'](_0x1adc17);}return _0x2327c6;},_0x368e5a[_0x1a4e('0x1713')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=[];if(_0x368e5a)for(var _0x55ff7e=0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x146f6e(_0x368e5a[_0x55ff7e],_0x55ff7e);void 0x0!==_0x1adc17&&_0x2327c6[_0x1a4e('0x46')](_0x1adc17);}return _0x2327c6;},_0x368e5a[_0x1a4e('0x1714')]=function(_0x368e5a,_0x146f6e){return{'next':function(){for(;;){var _0x2327c6=_0x368e5a[_0x1a4e('0x7e')]();if(_0x2327c6[_0x1a4e('0x3c2')])return _0x2327c6;var _0x55ff7e=_0x146f6e(_0x2327c6['value']);if(void 0x0!==_0x55ff7e)return{'value':_0x55ff7e,'done':!0x1};}}};},_0x368e5a[_0x1a4e('0x1710')]={'next':function(){return{'value':void 0x0,'done':!0x0};}},_0x368e5a['singleIterator']=function(_0x368e5a){var _0x146f6e=!0x1;return{'next':function(){var _0x2327c6=_0x146f6e;return _0x146f6e=!0x0,_0x2327c6?{'value':void 0x0,'done':!0x0}:{'value':_0x368e5a,'done':!0x1};}};},_0x368e5a[_0x1a4e('0x1715')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e;if(_0x368e5a){_0x55ff7e=[];for(var _0x1adc17=_0x368e5a[_0x1a4e('0x1e')],_0xf79407=void 0x0,_0x2c9ec9=void 0x0,_0x420b32=0x0,_0x1b06ad=0x0;_0x420b32<_0x1adc17;){for(;_0x1b06ad<_0x1adc17;){if(_0x2c9ec9=_0x146f6e(_0x368e5a[_0x1b06ad],_0x1b06ad),0x0===_0x1b06ad)_0xf79407=_0x2c9ec9;else if(_0x2c9ec9!==_0xf79407)break;_0x1b06ad++;}if(_0x420b32<_0x1b06ad){var _0x326eae=_0x2327c6(_0x368e5a[_0x1a4e('0x78')](_0x420b32,_0x1b06ad),_0xf79407,_0x420b32,_0x1b06ad);_0x326eae&&_0x55ff7e[_0x1a4e('0x46')](_0x326eae),_0x420b32=_0x1b06ad;}_0xf79407=_0x2c9ec9,_0x1b06ad++;}}return _0x55ff7e;},_0x368e5a[_0x1a4e('0x1716')]=function(_0x368e5a,_0x146f6e){if(_0x368e5a){var _0x55ff7e=_0x2327c6();return _0x368e5a[_0x1a4e('0x3b')](function(_0x368e5a,_0x2327c6){var _0x1adc17=_0x146f6e(_0x2327c6,_0x368e5a),_0xf79407=_0x1adc17[0x0],_0x2c9ec9=_0x1adc17[0x1];_0x55ff7e[_0x1a4e('0x17a')](_0xf79407,_0x2c9ec9);}),_0x55ff7e;}},_0x368e5a[_0x1a4e('0x1c2')]=_0x2c9ec9,_0x368e5a['getRangesWhere']=function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e,_0x1adc17=0x0;_0x1adc17<_0x368e5a[_0x1a4e('0x1e')];_0x1adc17++)_0x146f6e(_0x368e5a[_0x1adc17])?_0x55ff7e=void 0x0===_0x55ff7e?_0x1adc17:_0x55ff7e:void 0x0!==_0x55ff7e&&(_0x2327c6(_0x55ff7e,_0x1adc17),_0x55ff7e=void 0x0);void 0x0!==_0x55ff7e&&_0x2327c6(_0x55ff7e,_0x368e5a[_0x1a4e('0x1e')]);},_0x368e5a[_0x1a4e('0x1717')]=function(_0x368e5a,_0x146f6e){return _0x2c9ec9(_0x146f6e)?_0x2c9ec9(_0x368e5a)?_0x368e5a['concat'](_0x146f6e):_0x146f6e:_0x368e5a;},_0x368e5a['deduplicate']=function(_0x368e5a,_0x146f6e,_0x2327c6){return 0x0===_0x368e5a[_0x1a4e('0x1e')]?[]:0x1===_0x368e5a[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x78')]():_0x2327c6?function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['map'](function(_0x368e5a,_0x146f6e){return _0x146f6e;});_0x6beecd(_0x368e5a,_0x55ff7e,_0x2327c6);for(var _0x1adc17=_0x368e5a[_0x55ff7e[0x0]],_0xf79407=[_0x55ff7e[0x0]],_0x2c9ec9=0x1;_0x2c9ec9<_0x55ff7e[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x420b32=_0x55ff7e[_0x2c9ec9],_0x1b06ad=_0x368e5a[_0x420b32];_0x146f6e(_0x1adc17,_0x1b06ad)||(_0xf79407[_0x1a4e('0x46')](_0x420b32),_0x1adc17=_0x1b06ad);}return _0xf79407[_0x1a4e('0x89')](),_0xf79407[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x146f6e];});}(_0x368e5a,_0x146f6e,_0x2327c6):function(_0x368e5a,_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17['length'];_0x55ff7e++)_0x56674b(_0x2327c6,_0x1adc17[_0x55ff7e],_0x146f6e);return _0x2327c6;}(_0x368e5a,_0x146f6e);},_0x368e5a[_0x1a4e('0x1718')]=function(_0x368e5a,_0x146f6e,_0x2327c6){if(0x0!==_0x368e5a['length']){var _0x55ff7e=_0x103bde(_0x368e5a,_0x146f6e,_0x3c146a,_0x2327c6);_0x55ff7e<0x0&&_0x368e5a[_0x1a4e('0x8a')](~_0x55ff7e,0x0,_0x146f6e);}else _0x368e5a[_0x1a4e('0x46')](_0x146f6e);},_0x368e5a[_0x1a4e('0x1719')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return function(_0x146f6e,_0x2327c6){if(0x0===_0x146f6e[_0x1a4e('0x1e')])return _0x368e5a[_0x1a4e('0x1700')];for(var _0x55ff7e=_0x146f6e[0x0],_0x1adc17=[_0x55ff7e],_0xf79407=0x1;_0xf79407<_0x146f6e['length'];_0xf79407++){var _0x2c9ec9=_0x146f6e[_0xf79407];switch(_0x2327c6(_0x2c9ec9,_0x55ff7e)){case!0x0:case 0x0:continue;case-0x1:return _0x32cd1e['fail']('Array\x20is\x20unsorted.');}_0x1adc17['push'](_0x55ff7e=_0x2c9ec9);}return _0x1adc17;}(_0x296f4a(_0x146f6e,_0x2327c6),_0x55ff7e||_0x2327c6||_0x5988fd);},_0x368e5a[_0x1a4e('0x171a')]=function(_0x368e5a,_0x146f6e,_0x2327c6){if(void 0x0===_0x2327c6&&(_0x2327c6=_0x19f359),!_0x368e5a||!_0x146f6e)return _0x368e5a===_0x146f6e;if(_0x368e5a[_0x1a4e('0x1e')]!==_0x146f6e[_0x1a4e('0x1e')])return!0x1;for(var _0x55ff7e=0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++)if(!_0x2327c6(_0x368e5a[_0x55ff7e],_0x146f6e[_0x55ff7e],_0x55ff7e))return!0x1;return!0x0;},_0x368e5a[_0x1a4e('0x10f3')]=function(_0x368e5a){var _0x146f6e;if(_0x368e5a)for(var _0x2327c6=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];_0x2327c6++){var _0x55ff7e=_0x368e5a[_0x2327c6];!_0x146f6e&&_0x55ff7e||(_0x146f6e||(_0x146f6e=_0x368e5a[_0x1a4e('0x78')](0x0,_0x2327c6)),_0x55ff7e&&_0x146f6e[_0x1a4e('0x46')](_0x55ff7e));}return _0x146f6e||_0x368e5a;},_0x368e5a[_0x1a4e('0x171b')]=function(_0x368e5a,_0x146f6e,_0x2327c6){if(!_0x146f6e||!_0x368e5a||0x0===_0x146f6e[_0x1a4e('0x1e')]||0x0===_0x368e5a[_0x1a4e('0x1e')])return _0x146f6e;var _0x55ff7e=[];_0x362dcb:for(var _0x1adc17=0x0,_0xf79407=0x0;_0xf79407<_0x146f6e[_0x1a4e('0x1e')];_0xf79407++){_0xf79407>0x0&&_0x32cd1e['assertGreaterThanOrEqual'](_0x2327c6(_0x146f6e[_0xf79407],_0x146f6e[_0xf79407-0x1]),0x0);_0x2ce749:for(var _0x2c9ec9=_0x1adc17;_0x1adc17<_0x368e5a['length'];_0x1adc17++)switch(_0x1adc17>_0x2c9ec9&&_0x32cd1e[_0x1a4e('0x171c')](_0x2327c6(_0x368e5a[_0x1adc17],_0x368e5a[_0x1adc17-0x1]),0x0),_0x2327c6(_0x146f6e[_0xf79407],_0x368e5a[_0x1adc17])){case-0x1:_0x55ff7e['push'](_0x146f6e[_0xf79407]);continue _0x362dcb;case 0x0:continue _0x362dcb;case 0x1:continue _0x2ce749;}}return _0x55ff7e;},_0x368e5a[_0x1a4e('0x168')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++)_0x2327c6+=_0x1adc17[_0x55ff7e][_0x146f6e];return _0x2327c6;},_0x368e5a['append']=_0x420b32,_0x368e5a['addRange']=_0x326eae,_0x368e5a[_0x1a4e('0x171d')]=_0x56674b,_0x368e5a['appendIfUnique']=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x368e5a?(_0x56674b(_0x368e5a,_0x146f6e,_0x2327c6),_0x368e5a):[_0x146f6e];},_0x368e5a[_0x1a4e('0x89')]=_0x296f4a,_0x368e5a[_0x1a4e('0x171e')]=_0x3e10ff,_0x368e5a[_0x1a4e('0x171f')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x21')](function(_0x368e5a,_0x146f6e){return _0x146f6e;});return _0x6beecd(_0x368e5a,_0x2327c6,_0x146f6e),_0x2327c6[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x146f6e];});},_0x368e5a['rangeEquals']=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){for(;_0x2327c6<_0x55ff7e;){if(_0x368e5a[_0x2327c6]!==_0x146f6e[_0x2327c6])return!0x1;_0x2327c6++;}return!0x0;},_0x368e5a[_0x1a4e('0x1720')]=function(_0x368e5a,_0x146f6e){if(_0x368e5a&&(_0x146f6e=_0x1b06ad(_0x368e5a,_0x146f6e))<_0x368e5a[_0x1a4e('0x1e')])return _0x368e5a[_0x146f6e];},_0x368e5a[_0x1a4e('0x1721')]=function(_0x368e5a){return 0x0===_0x368e5a[_0x1a4e('0x1e')]?void 0x0:_0x368e5a[0x0];},_0x368e5a[_0x1a4e('0x10f7')]=function(_0x368e5a){return _0x32cd1e[_0x1a4e('0xba0')](0x0!==_0x368e5a['length']),_0x368e5a[0x0];},_0x368e5a[_0x1a4e('0x1722')]=function(_0x368e5a){return 0x0===_0x368e5a[_0x1a4e('0x1e')]?void 0x0:_0x368e5a[_0x368e5a[_0x1a4e('0x1e')]-0x1];},_0x368e5a[_0x1a4e('0x10b1')]=function(_0x368e5a){return _0x32cd1e[_0x1a4e('0xba0')](0x0!==_0x368e5a['length']),_0x368e5a[_0x368e5a[_0x1a4e('0x1e')]-0x1];},_0x368e5a['singleOrUndefined']=function(_0x368e5a){return _0x368e5a&&0x1===_0x368e5a['length']?_0x368e5a[0x0]:void 0x0;},_0x368e5a[_0x1a4e('0x1723')]=function(_0x368e5a){return _0x368e5a&&0x1===_0x368e5a['length']?_0x368e5a[0x0]:_0x368e5a;},_0x368e5a[_0x1a4e('0x1724')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x78')](0x0);return _0x55ff7e[_0x146f6e]=_0x2327c6,_0x55ff7e;},_0x368e5a[_0x1a4e('0x1725')]=_0x103bde,_0x368e5a[_0x1a4e('0x1726')]=_0xb800,_0x368e5a[_0x1a4e('0x1727')]=_0x355d4d;var _0x32cd1e,_0x3fdb16=Object['prototype'][_0x1a4e('0xb')];function _0x1e65b8(_0x368e5a,_0x146f6e){return _0x3fdb16[_0x1a4e('0x1')](_0x368e5a,_0x146f6e);}function _0x27a2d7(_0x368e5a,_0x146f6e){for(var _0x2327c6,_0x55ff7e=[],_0x1adc17=_0x368e5a[_0x1a4e('0x7e')](),_0xf79407=_0x1adc17[_0x1a4e('0x255')],_0x2c9ec9=_0x1adc17[_0x1a4e('0x3c2')];!_0x2c9ec9;_0xf79407=(_0x2327c6=_0x368e5a[_0x1a4e('0x7e')]())['value'],_0x2c9ec9=_0x2327c6[_0x1a4e('0x3c2')],_0x2327c6)_0x55ff7e[_0x1a4e('0x46')](_0x146f6e?_0x146f6e(_0xf79407):_0xf79407);return _0x55ff7e;}function _0x4f3022(_0x368e5a,_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=_0x3c146a);for(var _0x55ff7e=_0x26df19(),_0x1adc17=0x0,_0xf79407=_0x368e5a;_0x1adc17<_0xf79407['length'];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x55ff7e['add'](_0x146f6e(_0x2c9ec9),_0x2327c6(_0x2c9ec9));}return _0x55ff7e;}function _0x26df19(){var _0x368e5a=_0x2327c6();return _0x368e5a['add']=_0x3170d8,_0x368e5a[_0x1a4e('0x82')]=_0x74054,_0x368e5a;}function _0x3170d8(_0x368e5a,_0x146f6e){var _0x2327c6=this['get'](_0x368e5a);return _0x2327c6?_0x2327c6['push'](_0x146f6e):this[_0x1a4e('0x17a')](_0x368e5a,_0x2327c6=[_0x146f6e]),_0x2327c6;}function _0x74054(_0x368e5a,_0x146f6e){var _0x2327c6=this['get'](_0x368e5a);_0x2327c6&&(_0x63801e(_0x2327c6,_0x146f6e),_0x2327c6[_0x1a4e('0x1e')]||this[_0x1a4e('0xf4c')](_0x368e5a));}function _0x1a325e(_0x368e5a){return Array['isArray']?Array[_0x1a4e('0x15')](_0x368e5a):_0x368e5a instanceof Array;}function _0x5e5116(_0x368e5a){}function _0x3c146a(_0x368e5a){return _0x368e5a;}function _0x4f6c76(_0x368e5a){return _0x368e5a[_0x1a4e('0x2b2')]();}function _0x1b25f1(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x1adc17){for(var _0xf79407=[],_0x2c9ec9=0x0;_0x2c9ec9_0x146f6e?0x1:0x0;}function _0x5988fd(_0x368e5a,_0x146f6e){return _0x41e8d0(_0x368e5a,_0x146f6e);}_0x368e5a['hasProperty']=_0x1e65b8,_0x368e5a[_0x1a4e('0x391')]=function(_0x368e5a,_0x146f6e){return _0x3fdb16[_0x1a4e('0x1')](_0x368e5a,_0x146f6e)?_0x368e5a[_0x146f6e]:void 0x0;},_0x368e5a['getOwnKeys']=function(_0x368e5a){var _0x146f6e=[];for(var _0x2327c6 in _0x368e5a)_0x3fdb16[_0x1a4e('0x1')](_0x368e5a,_0x2327c6)&&_0x146f6e[_0x1a4e('0x46')](_0x2327c6);return _0x146f6e;},_0x368e5a[_0x1a4e('0x1728')]=function(_0x368e5a){var _0x146f6e=[];for(var _0x2327c6 in _0x368e5a)_0x3fdb16[_0x1a4e('0x1')](_0x368e5a,_0x2327c6)&&_0x146f6e[_0x1a4e('0x46')](_0x368e5a[_0x2327c6]);return _0x146f6e;},_0x368e5a[_0x1a4e('0x1729')]=_0x27a2d7,_0x368e5a[_0x1a4e('0x200')]=function(_0x368e5a){for(var _0x146f6e=[],_0x2327c6=0x1;_0x2327c6=_0x146f6e;},_0x368e5a[_0x1a4e('0xba0')]=function _0x368e5a(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x2327c6||(_0x1adc17&&(_0x55ff7e+=_0x1a4e('0x173b')+(_0x1a4e('0x9')==typeof _0x1adc17?_0x1adc17:_0x1adc17())),_0x146f6e(_0x55ff7e?_0x1a4e('0x173c')+_0x55ff7e:_0x1a4e('0x173d'),_0xf79407||_0x368e5a));},_0x368e5a[_0x1a4e('0x1706')]=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a!==_0x2327c6&&_0x146f6e(_0x1a4e('0x2d1')+_0x368e5a+_0x1a4e('0x173e')+_0x2327c6+'.\x20'+(_0x55ff7e?_0x1adc17?_0x55ff7e+'\x20'+_0x1adc17:_0x55ff7e:''));},_0x368e5a[_0x1a4e('0x173f')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){_0x368e5a>=_0x2327c6&&_0x146f6e(_0x1a4e('0x2d1')+_0x368e5a+_0x1a4e('0x1740')+_0x2327c6+'.\x20'+(_0x55ff7e||''));},_0x368e5a[_0x1a4e('0x1741')]=function(_0x368e5a,_0x2327c6){_0x368e5a>_0x2327c6&&_0x146f6e(_0x1a4e('0x2d1')+_0x368e5a+_0x1a4e('0x1742')+_0x2327c6);},_0x368e5a[_0x1a4e('0x171c')]=function(_0x368e5a,_0x2327c6){_0x368e5a<_0x2327c6&&_0x146f6e(_0x1a4e('0x2d1')+_0x368e5a+_0x1a4e('0x1743')+_0x2327c6);},_0x368e5a[_0x1a4e('0x1709')]=_0x146f6e,_0x368e5a[_0x1a4e('0x1744')]=_0x2327c6,_0x368e5a[_0x1a4e('0x1745')]=function(_0x368e5a,_0x146f6e){for(var _0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17['length'];_0x55ff7e++)_0x2327c6(_0x1adc17[_0x55ff7e],_0x146f6e);return _0x368e5a;},_0x368e5a[_0x1a4e('0x1746')]=function _0x2327c6(_0x55ff7e,_0x1adc17,_0xf79407){return void 0x0===_0x1adc17&&(_0x1adc17=_0x1a4e('0x1747')),_0x146f6e(_0x1adc17+'\x20'+('kind'in _0x55ff7e&&_0x1a4e('0xa4')in _0x55ff7e?'SyntaxKind:\x20'+_0x368e5a['showSyntaxKind'](_0x55ff7e):JSON[_0x1a4e('0xd7')](_0x55ff7e)),_0xf79407||_0x2327c6);},_0x368e5a[_0x1a4e('0x1748')]=function(_0x368e5a){if(_0x1a4e('0x68')!=typeof _0x368e5a)return'';if(_0x368e5a['hasOwnProperty'](_0x1a4e('0x2cb')))return _0x368e5a['name'];var _0x146f6e=Function['prototype'][_0x1a4e('0x95')]['call'](_0x368e5a),_0x2327c6=/^function\s+([\w\$]+)\s*\(/[_0x1a4e('0x2af')](_0x146f6e);return _0x2327c6?_0x2327c6[0x1]:'';};}(_0x32cd1e=_0x368e5a[_0x1a4e('0x1749')]||(_0x368e5a[_0x1a4e('0x1749')]={})),_0x368e5a['equateValues']=_0x19f359,_0x368e5a['equateStringsCaseInsensitive']=function(_0x368e5a,_0x146f6e){return _0x368e5a===_0x146f6e||void 0x0!==_0x368e5a&&void 0x0!==_0x146f6e&&_0x368e5a[_0x1a4e('0x257')]()===_0x146f6e[_0x1a4e('0x257')]();},_0x368e5a['equateStringsCaseSensitive']=function(_0x368e5a,_0x146f6e){return _0x19f359(_0x368e5a,_0x146f6e);},_0x368e5a['compareValues']=_0x4447b3,_0x368e5a[_0x1a4e('0x74')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return-0x1===_0x2327c6(_0x368e5a,_0x146f6e)?_0x368e5a:_0x146f6e;},_0x368e5a['compareStringsCaseInsensitive']=_0x1fdc16,_0x368e5a[_0x1a4e('0x174a')]=_0x5988fd,_0x368e5a['getStringComparer']=function(_0x368e5a){return _0x368e5a?_0x1fdc16:_0x5988fd;};var _0x135ca1,_0x2d9d76,_0x320bae=function(){var _0x368e5a,_0x146f6e,_0x2327c6=function(){if(_0x1a4e('0x85')==typeof Intl&&'function'==typeof Intl[_0x1a4e('0x174b')])return _0x1adc17;if(_0x1a4e('0x68')==typeof String[_0x1a4e('0xa')][_0x1a4e('0x174c')]&&_0x1a4e('0x68')==typeof String[_0x1a4e('0xa')][_0x1a4e('0x174d')]&&'a'[_0x1a4e('0x174c')]('B')<0x0)return _0xf79407;return _0x2c9ec9;}();return function(_0x55ff7e){return void 0x0===_0x55ff7e?_0x368e5a||(_0x368e5a=_0x2327c6(_0x55ff7e)):_0x1a4e('0x174e')===_0x55ff7e?_0x146f6e||(_0x146f6e=_0x2327c6(_0x55ff7e)):_0x2327c6(_0x55ff7e);};function _0x55ff7e(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x368e5a===_0x146f6e)return 0x0;if(void 0x0===_0x368e5a)return-0x1;if(void 0x0===_0x146f6e)return 0x1;var _0x55ff7e=_0x2327c6(_0x368e5a,_0x146f6e);return _0x55ff7e<0x0?-0x1:_0x55ff7e>0x0?0x1:0x0;}function _0x1adc17(_0x368e5a){var _0x146f6e=new Intl['Collator'](_0x368e5a,{'usage':_0x1a4e('0x89'),'sensitivity':_0x1a4e('0x174f')})[_0x1a4e('0x77')];return function(_0x368e5a,_0x2327c6){return _0x55ff7e(_0x368e5a,_0x2327c6,_0x146f6e);};}function _0xf79407(_0x368e5a){return void 0x0!==_0x368e5a?_0x2c9ec9():function(_0x368e5a,_0x2327c6){return _0x55ff7e(_0x368e5a,_0x2327c6,_0x146f6e);};function _0x146f6e(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x174c')](_0x146f6e);}}function _0x2c9ec9(){return function(_0x146f6e,_0x2327c6){return _0x55ff7e(_0x146f6e,_0x2327c6,_0x368e5a);};function _0x368e5a(_0x368e5a,_0x2327c6){return _0x146f6e(_0x368e5a[_0x1a4e('0x257')](),_0x2327c6[_0x1a4e('0x257')]())||_0x146f6e(_0x368e5a,_0x2327c6);}function _0x146f6e(_0x368e5a,_0x146f6e){return _0x368e5a<_0x146f6e?-0x1:_0x368e5a>_0x146f6e?0x1:0x0;}}}();function _0x47a60f(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=new Array(_0x146f6e[_0x1a4e('0x1e')]+0x1),_0x1adc17=new Array(_0x146f6e['length']+0x1),_0xf79407=_0x2327c6+0x1,_0x2c9ec9=0x0;_0x2c9ec9<=_0x146f6e[_0x1a4e('0x1e')];_0x2c9ec9++)_0x55ff7e[_0x2c9ec9]=_0x2c9ec9;for(_0x2c9ec9=0x1;_0x2c9ec9<=_0x368e5a[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x420b32=_0x368e5a['charCodeAt'](_0x2c9ec9-0x1),_0x1b06ad=_0x2c9ec9>_0x2327c6?_0x2c9ec9-_0x2327c6:0x1,_0x326eae=_0x146f6e[_0x1a4e('0x1e')]>_0x2327c6+_0x2c9ec9?_0x2327c6+_0x2c9ec9:_0x146f6e['length'];_0x1adc17[0x0]=_0x2c9ec9;for(var _0x56674b=_0x2c9ec9,_0x6beecd=0x1;_0x6beecd<_0x1b06ad;_0x6beecd++)_0x1adc17[_0x6beecd]=_0xf79407;for(_0x6beecd=_0x1b06ad;_0x6beecd<=_0x326eae;_0x6beecd++){var _0x296f4a=_0x420b32===_0x146f6e['charCodeAt'](_0x6beecd-0x1)?_0x55ff7e[_0x6beecd-0x1]:Math[_0x1a4e('0x74')](_0x55ff7e[_0x6beecd]+0x1,_0x1adc17[_0x6beecd-0x1]+0x1,_0x55ff7e[_0x6beecd-0x1]+0x2);_0x1adc17[_0x6beecd]=_0x296f4a,_0x56674b=Math['min'](_0x56674b,_0x296f4a);}for(_0x6beecd=_0x326eae+0x1;_0x6beecd<=_0x146f6e[_0x1a4e('0x1e')];_0x6beecd++)_0x1adc17[_0x6beecd]=_0xf79407;if(_0x56674b>_0x2327c6)return;var _0x3e10ff=_0x55ff7e;_0x55ff7e=_0x1adc17,_0x1adc17=_0x3e10ff;}var _0x103bde=_0x55ff7e[_0x146f6e['length']];return _0x103bde>_0x2327c6?void 0x0:_0x103bde;}function _0x2f59df(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1e')]-_0x146f6e[_0x1a4e('0x1e')];return _0x2327c6>=0x0&&_0x368e5a['indexOf'](_0x146f6e,_0x2327c6)===_0x2327c6;}function _0x32dee1(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x1e')]>_0x146f6e[_0x1a4e('0x1e')]&&_0x2f59df(_0x368e5a,_0x146f6e);}function _0xb54b6f(_0x368e5a,_0x146f6e){for(var _0x2327c6=_0x146f6e;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')]-0x1;_0x2327c6++)_0x368e5a[_0x2327c6]=_0x368e5a[_0x2327c6+0x1];_0x368e5a['pop']();}function _0x4c8c2c(_0x368e5a,_0x146f6e){_0x368e5a[_0x146f6e]=_0x368e5a[_0x368e5a[_0x1a4e('0x1e')]-0x1],_0x368e5a['pop']();}function _0x63801e(_0x368e5a,_0x146f6e){return function(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];_0x2327c6++)if(_0x146f6e(_0x368e5a[_0x2327c6]))return _0x4c8c2c(_0x368e5a,_0x2327c6),!0x0;return!0x1;}(_0x368e5a,function(_0x368e5a){return _0x368e5a===_0x146f6e;});}function _0x2c7e73(_0x368e5a,_0x146f6e){return 0x0===_0x368e5a['lastIndexOf'](_0x146f6e,0x0);}function _0x2cc373(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1750')],_0x55ff7e=_0x368e5a[_0x1a4e('0x1751')];return _0x146f6e[_0x1a4e('0x1e')]>=_0x2327c6[_0x1a4e('0x1e')]+_0x55ff7e['length']&&_0x2c7e73(_0x146f6e,_0x2327c6)&&_0x2f59df(_0x146f6e,_0x55ff7e);}_0x368e5a[_0x1a4e('0x1752')]=function(){return _0x2d9d76;},_0x368e5a[_0x1a4e('0x1753')]=function(_0x368e5a){_0x2d9d76!==_0x368e5a&&(_0x2d9d76=_0x368e5a,_0x135ca1=void 0x0);},_0x368e5a[_0x1a4e('0x1754')]=function(_0x368e5a,_0x146f6e){return(_0x135ca1||(_0x135ca1=_0x320bae(_0x2d9d76)))(_0x368e5a,_0x146f6e);},_0x368e5a[_0x1a4e('0x1755')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a===_0x146f6e?0x0:void 0x0===_0x368e5a?-0x1:void 0x0===_0x146f6e?0x1:_0x55ff7e(_0x368e5a[_0x2327c6],_0x146f6e[_0x2327c6]);},_0x368e5a[_0x1a4e('0x1756')]=function(_0x368e5a,_0x146f6e){return _0x4447b3(_0x368e5a?0x1:0x0,_0x146f6e?0x1:0x0);},_0x368e5a[_0x1a4e('0x1757')]=function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e,_0x1adc17=Math[_0x1a4e('0x74')](0x2,Math[_0x1a4e('0xb4')](0.34*_0x368e5a['length'])),_0xf79407=Math[_0x1a4e('0xb4')](0.4*_0x368e5a[_0x1a4e('0x1e')])+0x1,_0x2c9ec9=!0x1,_0x420b32=_0x368e5a[_0x1a4e('0x2b2')](),_0x1b06ad=0x0,_0x326eae=_0x146f6e;_0x1b06ad<_0x326eae['length'];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x6beecd=_0x2327c6(_0x56674b);if(void 0x0!==_0x6beecd&&Math['abs'](_0x6beecd[_0x1a4e('0x1e')]-_0x420b32[_0x1a4e('0x1e')])<=_0x1adc17){var _0x296f4a=_0x6beecd[_0x1a4e('0x2b2')]();if(_0x296f4a===_0x420b32){if(_0x6beecd===_0x368e5a)continue;return _0x56674b;}if(_0x2c9ec9)continue;if(_0x6beecd[_0x1a4e('0x1e')]<0x3)continue;var _0x3e10ff=_0x47a60f(_0x420b32,_0x296f4a,_0xf79407-0x1);if(void 0x0===_0x3e10ff)continue;_0x3e10ff<0x3?(_0x2c9ec9=!0x0,_0x55ff7e=_0x56674b):(_0x32cd1e['assert'](_0x3e10ff<_0xf79407),_0xf79407=_0x3e10ff,_0x55ff7e=_0x56674b);}}return _0x55ff7e;},_0x368e5a['endsWith']=_0x2f59df,_0x368e5a[_0x1a4e('0x1758')]=function(_0x368e5a,_0x146f6e){return _0x2f59df(_0x368e5a,_0x146f6e)?_0x368e5a[_0x1a4e('0x78')](0x0,_0x368e5a[_0x1a4e('0x1e')]-_0x146f6e[_0x1a4e('0x1e')]):_0x368e5a;},_0x368e5a[_0x1a4e('0x1759')]=function(_0x368e5a,_0x146f6e){return _0x2f59df(_0x368e5a,_0x146f6e)?_0x368e5a[_0x1a4e('0x78')](0x0,_0x368e5a[_0x1a4e('0x1e')]-_0x146f6e[_0x1a4e('0x1e')]):void 0x0;},_0x368e5a[_0x1a4e('0x175a')]=function(_0x368e5a,_0x146f6e){return-0x1!==_0x368e5a[_0x1a4e('0x3e')](_0x146f6e);},_0x368e5a[_0x1a4e('0x175b')]=_0x32dee1,_0x368e5a[_0x1a4e('0x175c')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++)if(_0x32dee1(_0x368e5a,_0x55ff7e[_0x2327c6]))return!0x0;return!0x1;},_0x368e5a[_0x1a4e('0x175d')]=function(_0x368e5a){var _0x146f6e=/[.-]((min)|(\d+(\.\d+)*))$/;return _0x368e5a[_0x1a4e('0x115')](_0x146f6e,'')[_0x1a4e('0x115')](_0x146f6e,'');},_0x368e5a[_0x1a4e('0x175e')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];_0x2327c6++)if(_0x368e5a[_0x2327c6]===_0x146f6e)return _0xb54b6f(_0x368e5a,_0x2327c6),!0x0;return!0x1;},_0x368e5a['orderedRemoveItemAt']=_0xb54b6f,_0x368e5a[_0x1a4e('0x175f')]=_0x4c8c2c,_0x368e5a[_0x1a4e('0x1760')]=_0x63801e,_0x368e5a[_0x1a4e('0x1761')]=function(_0x368e5a){return _0x368e5a?_0x3c146a:_0x4f6c76;},_0x368e5a[_0x1a4e('0x1762')]=function(_0x368e5a){return _0x368e5a[_0x1a4e('0x1750')]+'*'+_0x368e5a[_0x1a4e('0x1751')];},_0x368e5a[_0x1a4e('0x1763')]=function(_0x368e5a,_0x146f6e){return _0x32cd1e[_0x1a4e('0xba0')](_0x2cc373(_0x368e5a,_0x146f6e)),_0x146f6e[_0x1a4e('0x281')](_0x368e5a[_0x1a4e('0x1750')][_0x1a4e('0x1e')],_0x146f6e['length']-_0x368e5a[_0x1a4e('0x1751')][_0x1a4e('0x1e')]);},_0x368e5a['findBestPatternMatch']=function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e,_0x1adc17=-0x1,_0xf79407=0x0,_0x2c9ec9=_0x368e5a;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x146f6e(_0x420b32);_0x2cc373(_0x1b06ad,_0x2327c6)&&_0x1b06ad[_0x1a4e('0x1750')]['length']>_0x1adc17&&(_0x1adc17=_0x1b06ad[_0x1a4e('0x1750')][_0x1a4e('0x1e')],_0x55ff7e=_0x420b32);}return _0x55ff7e;},_0x368e5a[_0x1a4e('0xdfb')]=_0x2c7e73,_0x368e5a[_0x1a4e('0x1764')]=function(_0x368e5a,_0x146f6e){return _0x2c7e73(_0x368e5a,_0x146f6e)?_0x368e5a[_0x1a4e('0x254')](_0x146f6e[_0x1a4e('0x1e')]):_0x368e5a;},_0x368e5a[_0x1a4e('0x1765')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=_0x3c146a),_0x2c7e73(_0x2327c6(_0x368e5a),_0x2327c6(_0x146f6e))?_0x368e5a[_0x1a4e('0x281')](_0x146f6e[_0x1a4e('0x1e')]):void 0x0;},_0x368e5a[_0x1a4e('0x9b2')]=function(_0x368e5a,_0x146f6e){return function(_0x2327c6){return _0x368e5a(_0x2327c6)&&_0x146f6e(_0x2327c6);};},_0x368e5a['or']=function(_0x368e5a,_0x146f6e){return function(_0x2327c6){return _0x368e5a(_0x2327c6)||_0x146f6e(_0x2327c6);};},_0x368e5a[_0x1a4e('0x1766')]=function(_0x368e5a){},_0x368e5a[_0x1a4e('0x1767')]=function(_0x368e5a){return void 0x0===_0x368e5a?void 0x0:[_0x368e5a];},_0x368e5a[_0x1a4e('0x1768')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0xf79407=_0xf79407||_0x5e5116;for(var _0x2c9ec9=0x0,_0x420b32=0x0,_0x1b06ad=_0x368e5a[_0x1a4e('0x1e')],_0x326eae=_0x146f6e[_0x1a4e('0x1e')];_0x2c9ec9<_0x1b06ad&&_0x420b32<_0x326eae;){var _0x56674b=_0x368e5a[_0x2c9ec9],_0x6beecd=_0x146f6e[_0x420b32],_0x296f4a=_0x2327c6(_0x56674b,_0x6beecd);-0x1===_0x296f4a?(_0x55ff7e(_0x56674b),_0x2c9ec9++):0x1===_0x296f4a?(_0x1adc17(_0x6beecd),_0x420b32++):(_0xf79407(_0x6beecd,_0x56674b),_0x2c9ec9++,_0x420b32++);}for(;_0x2c9ec9<_0x1b06ad;)_0x55ff7e(_0x368e5a[_0x2c9ec9++]);for(;_0x420b32<_0x326eae;)_0x1adc17(_0x146f6e[_0x420b32++]);},_0x368e5a[_0x1a4e('0x22c')]=function(_0x368e5a,_0x146f6e){return new Array(_0x368e5a)['fill'](0x0)['map'](function(_0x368e5a,_0x2327c6){return _0x146f6e(_0x2327c6);});};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a['timestamp']=_0x1a4e('0x3')!=typeof performance&&performance[_0x1a4e('0xe3f')]?function(){return performance[_0x1a4e('0xe3f')]();}:Date[_0x1a4e('0xe3f')]?Date[_0x1a4e('0xe3f')]:function(){return+new Date();};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407=_0x1a4e('0x68')==typeof onProfilerEvent&&!0x0===onProfilerEvent[_0x1a4e('0x1769')]?onProfilerEvent:function(){},_0x2c9ec9=!0x1,_0x420b32=0x0;function _0x1b06ad(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=0x0;return{'enter':function(){0x1==++_0x1adc17&&_0x326eae(_0x2327c6);},'exit':function(){0x0==--_0x1adc17?(_0x326eae(_0x55ff7e),_0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e)):_0x1adc17<0x0&&_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x176a'));}};}function _0x326eae(_0x146f6e){_0x2c9ec9&&(_0x55ff7e['set'](_0x146f6e,_0x368e5a['timestamp']()),_0x2327c6[_0x1a4e('0x17a')](_0x146f6e,(_0x2327c6[_0x1a4e('0x179')](_0x146f6e)||0x0)+0x1),_0xf79407(_0x146f6e));}function _0x56674b(_0x146f6e,_0x2327c6,_0xf79407){if(_0x2c9ec9){var _0x1b06ad=_0xf79407&&_0x55ff7e[_0x1a4e('0x179')](_0xf79407)||_0x368e5a['timestamp'](),_0x326eae=_0x2327c6&&_0x55ff7e['get'](_0x2327c6)||_0x420b32;_0x1adc17[_0x1a4e('0x17a')](_0x146f6e,(_0x1adc17['get'](_0x146f6e)||0x0)+(_0x1b06ad-_0x326eae));}}_0x146f6e[_0x1a4e('0x176b')]=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a?_0x1b06ad(_0x2327c6,_0x55ff7e,_0x1adc17):_0x146f6e[_0x1a4e('0x176c')];},_0x146f6e[_0x1a4e('0x176d')]=_0x1b06ad,_0x146f6e['nullTimer']={'enter':_0x368e5a[_0x1a4e('0x10bf')],'exit':_0x368e5a['noop']},_0x146f6e['mark']=_0x326eae,_0x146f6e[_0x1a4e('0xe0a')]=_0x56674b,_0x146f6e[_0x1a4e('0x176e')]=function(_0x368e5a){return _0x2327c6&&_0x2327c6['get'](_0x368e5a)||0x0;},_0x146f6e[_0x1a4e('0x176f')]=function(_0x368e5a){return _0x1adc17&&_0x1adc17[_0x1a4e('0x179')](_0x368e5a)||0x0;},_0x146f6e[_0x1a4e('0x1770')]=function(_0x368e5a){_0x1adc17[_0x1a4e('0x3b')](function(_0x146f6e,_0x2327c6){_0x368e5a(_0x2327c6,_0x146f6e);});},_0x146f6e[_0x1a4e('0x1771')]=function(){_0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x55ff7e=_0x368e5a[_0x1a4e('0x1772')](),_0x1adc17=_0x368e5a['createMap'](),_0x2c9ec9=!0x0,_0x420b32=_0x368e5a['timestamp']();},_0x146f6e[_0x1a4e('0x1773')]=function(){_0x2c9ec9=!0x1;};}(_0x368e5a[_0x1a4e('0x1774')]||(_0x368e5a[_0x1a4e('0x1774')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e=/^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,_0x2327c6=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i,_0x55ff7e=/^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i,_0x1adc17=/^(0|[1-9]\d*)$/,_0xf79407=function(){function _0x146f6e(_0x146f6e,_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad){if(void 0x0===_0x1adc17&&(_0x1adc17=0x0),void 0x0===_0xf79407&&(_0xf79407=0x0),void 0x0===_0x420b32&&(_0x420b32=''),void 0x0===_0x1b06ad&&(_0x1b06ad=''),_0x1a4e('0x9')==typeof _0x146f6e){var _0x326eae=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x2c9ec9(_0x146f6e),_0x1a4e('0x1775'));_0x146f6e=_0x326eae[_0x1a4e('0x1776')],_0x1adc17=_0x326eae[_0x1a4e('0x1777')],_0xf79407=_0x326eae[_0x1a4e('0x1778')],_0x420b32=_0x326eae[_0x1a4e('0x1779')],_0x1b06ad=_0x326eae[_0x1a4e('0x4c6')];}_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e>=0x0,_0x1a4e('0x177a')),_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1adc17>=0x0,_0x1a4e('0x177b')),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0xf79407>=0x0,'Invalid\x20argument:\x20patch'),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x420b32||_0x2327c6[_0x1a4e('0x8d0')](_0x420b32),'Invalid\x20argument:\x20prerelease'),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x1b06ad||_0x55ff7e['test'](_0x1b06ad),_0x1a4e('0x177c')),this[_0x1a4e('0x1776')]=_0x146f6e,this[_0x1a4e('0x1777')]=_0x1adc17,this[_0x1a4e('0x1778')]=_0xf79407,this[_0x1a4e('0x1779')]=_0x420b32?_0x420b32[_0x1a4e('0x2be')]('.'):_0x368e5a[_0x1a4e('0x1700')],this['build']=_0x1b06ad?_0x1b06ad[_0x1a4e('0x2be')]('.'):_0x368e5a[_0x1a4e('0x1700')];}return _0x146f6e[_0x1a4e('0x177d')]=function(_0x368e5a){var _0x2327c6=_0x2c9ec9(_0x368e5a);if(_0x2327c6)return new _0x146f6e(_0x2327c6[_0x1a4e('0x1776')],_0x2327c6[_0x1a4e('0x1777')],_0x2327c6['patch'],_0x2327c6[_0x1a4e('0x1779')],_0x2327c6['build']);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2a7')]=function(_0x146f6e){return this===_0x146f6e?0x0:void 0x0===_0x146f6e?0x1:_0x368e5a[_0x1a4e('0x166e')](this[_0x1a4e('0x1776')],_0x146f6e[_0x1a4e('0x1776')])||_0x368e5a[_0x1a4e('0x166e')](this[_0x1a4e('0x1777')],_0x146f6e['minor'])||_0x368e5a[_0x1a4e('0x166e')](this[_0x1a4e('0x1778')],_0x146f6e[_0x1a4e('0x1778')])||function(_0x146f6e,_0x2327c6){if(_0x146f6e===_0x2327c6)return 0x0;if(0x0===_0x146f6e['length'])return 0x0===_0x2327c6['length']?0x0:0x1;if(0x0===_0x2327c6['length'])return-0x1;for(var _0x55ff7e=Math[_0x1a4e('0x74')](_0x146f6e[_0x1a4e('0x1e')],_0x2327c6[_0x1a4e('0x1e')]),_0xf79407=0x0;_0xf79407<_0x55ff7e;_0xf79407++){var _0x2c9ec9=_0x146f6e[_0xf79407],_0x420b32=_0x2327c6[_0xf79407];if(_0x2c9ec9!==_0x420b32){var _0x1b06ad=_0x1adc17[_0x1a4e('0x8d0')](_0x2c9ec9),_0x326eae=_0x1adc17[_0x1a4e('0x8d0')](_0x420b32);if(_0x1b06ad||_0x326eae){if(_0x1b06ad!==_0x326eae)return _0x1b06ad?-0x1:0x1;var _0x56674b=_0x368e5a[_0x1a4e('0x166e')](+_0x2c9ec9,+_0x420b32);if(_0x56674b)return _0x56674b;}else{var _0x56674b=_0x368e5a[_0x1a4e('0x174a')](_0x2c9ec9,_0x420b32);if(_0x56674b)return _0x56674b;}}}return _0x368e5a[_0x1a4e('0x166e')](_0x146f6e[_0x1a4e('0x1e')],_0x2327c6[_0x1a4e('0x1e')]);}(this['prerelease'],_0x146f6e[_0x1a4e('0x1779')]);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x177e')]=function(_0x2327c6){switch(_0x2327c6){case _0x1a4e('0x1776'):return new _0x146f6e(this[_0x1a4e('0x1776')]+0x1,0x0,0x0);case _0x1a4e('0x1777'):return new _0x146f6e(this[_0x1a4e('0x1776')],this[_0x1a4e('0x1777')]+0x1,0x0);case'patch':return new _0x146f6e(this[_0x1a4e('0x1776')],this[_0x1a4e('0x1777')],this[_0x1a4e('0x1778')]+0x1);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){var _0x146f6e=this[_0x1a4e('0x1776')]+'.'+this[_0x1a4e('0x1777')]+'.'+this['patch'];return _0x368e5a[_0x1a4e('0x1c2')](this['prerelease'])&&(_0x146f6e+='-'+this[_0x1a4e('0x1779')][_0x1a4e('0x9e')]('.')),_0x368e5a[_0x1a4e('0x1c2')](this[_0x1a4e('0x4c6')])&&(_0x146f6e+='+'+this[_0x1a4e('0x4c6')][_0x1a4e('0x9e')]('.')),_0x146f6e;},_0x146f6e[_0x1a4e('0xbc6')]=new _0x146f6e(0x0,0x0,0x0),_0x146f6e;}();function _0x2c9ec9(_0x368e5a){var _0x1adc17=_0x146f6e[_0x1a4e('0x2af')](_0x368e5a);if(_0x1adc17){var _0xf79407=_0x1adc17[0x1],_0x2c9ec9=_0x1adc17[0x2],_0x420b32=void 0x0===_0x2c9ec9?'0':_0x2c9ec9,_0x1b06ad=_0x1adc17[0x3],_0x326eae=void 0x0===_0x1b06ad?'0':_0x1b06ad,_0x56674b=_0x1adc17[0x4],_0x29c720=void 0x0===_0x56674b?'':_0x56674b,_0xa603d4=_0x1adc17[0x5],_0x51dbd7=void 0x0===_0xa603d4?'':_0xa603d4;if((!_0x29c720||_0x2327c6['test'](_0x29c720))&&(!_0x51dbd7||_0x55ff7e['test'](_0x51dbd7)))return{'major':parseInt(_0xf79407,0xa),'minor':parseInt(_0x420b32,0xa),'patch':parseInt(_0x326eae,0xa),'prerelease':_0x29c720,'build':_0x51dbd7};}}_0x368e5a[_0x1a4e('0x177f')]=_0xf79407;var _0x420b32=function(){function _0x146f6e(_0x146f6e){this[_0x1a4e('0x1780')]=_0x146f6e?_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x423f67(_0x146f6e),_0x1a4e('0x1781')):_0x368e5a[_0x1a4e('0x1700')];}return _0x146f6e['tryParse']=function(_0x368e5a){var _0x2327c6=_0x423f67(_0x368e5a);if(_0x2327c6){var _0x55ff7e=new _0x146f6e('');return _0x55ff7e[_0x1a4e('0x1780')]=_0x2327c6,_0x55ff7e;}},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x8d0')]=function(_0x368e5a){return _0x1a4e('0x9')==typeof _0x368e5a&&(_0x368e5a=new _0xf79407(_0x368e5a)),function(_0x368e5a,_0x146f6e){if(0x0===_0x146f6e[_0x1a4e('0x1e')])return!0x0;for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(_0x845757(_0x368e5a,_0x1adc17))return!0x0;}return!0x1;}(_0x368e5a,this['_alternatives']);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return _0x146f6e=this[_0x1a4e('0x1780')],_0x368e5a[_0x1a4e('0x21')](_0x146f6e,_0x323ac1)[_0x1a4e('0x9e')](_0x1a4e('0x1782'))||'*';var _0x146f6e;},_0x146f6e;}();_0x368e5a[_0x1a4e('0x1783')]=_0x420b32;var _0x1b06ad=/\s*\|\|\s*/g,_0x326eae=/\s+/g,_0x56674b=/^([xX*0]|[1-9]\d*)(?:\.([xX*0]|[1-9]\d*)(?:\.([xX*0]|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,_0x4b2462=/^\s*([a-z0-9-+.*]+)\s+-\s+([a-z0-9-+.*]+)\s*$/i,_0x3e467a=/^\s*(~|\^|<|<=|>|>=|=)?\s*([a-z0-9-+.*]+)$/i;function _0x423f67(_0x368e5a){for(var _0x146f6e=[],_0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2bd')]()['split'](_0x1b06ad);_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(_0x1adc17){var _0xf79407=[],_0x2c9ec9=_0x4b2462[_0x1a4e('0x2af')](_0x1adc17);if(_0x2c9ec9){if(!_0x6a27c(_0x2c9ec9[0x1],_0x2c9ec9[0x2],_0xf79407))return;}else for(var _0x420b32=0x0,_0x56674b=_0x1adc17[_0x1a4e('0x2be')](_0x326eae);_0x420b32<_0x56674b[_0x1a4e('0x1e')];_0x420b32++){var _0x423f67=_0x56674b[_0x420b32],_0x39e3b4=_0x3e467a[_0x1a4e('0x2af')](_0x423f67);if(!_0x39e3b4||!_0x16c853(_0x39e3b4[0x1],_0x39e3b4[0x2],_0xf79407))return;}_0x146f6e[_0x1a4e('0x46')](_0xf79407);}}return _0x146f6e;}function _0x16830a(_0x368e5a){var _0x146f6e=_0x56674b[_0x1a4e('0x2af')](_0x368e5a);if(_0x146f6e){var _0x2327c6=_0x146f6e[0x1],_0x55ff7e=_0x146f6e[0x2],_0x1adc17=void 0x0===_0x55ff7e?'*':_0x55ff7e,_0x2c9ec9=_0x146f6e[0x3],_0x420b32=void 0x0===_0x2c9ec9?'*':_0x2c9ec9,_0x1b06ad=_0x146f6e[0x4],_0x326eae=_0x146f6e[0x5];return{'version':new _0xf79407(_0x53a954(_0x2327c6)?0x0:parseInt(_0x2327c6,0xa),_0x53a954(_0x2327c6)||_0x53a954(_0x1adc17)?0x0:parseInt(_0x1adc17,0xa),_0x53a954(_0x2327c6)||_0x53a954(_0x1adc17)||_0x53a954(_0x420b32)?0x0:parseInt(_0x420b32,0xa),_0x1b06ad,_0x326eae),'major':_0x2327c6,'minor':_0x1adc17,'patch':_0x420b32};}}function _0x6a27c(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x16830a(_0x368e5a);if(!_0x55ff7e)return!0x1;var _0x1adc17=_0x16830a(_0x146f6e);return!!_0x1adc17&&(_0x53a954(_0x55ff7e[_0x1a4e('0x1776')])||_0x2327c6[_0x1a4e('0x46')](_0x4c4850('>=',_0x55ff7e['version'])),_0x53a954(_0x1adc17['major'])||_0x2327c6[_0x1a4e('0x46')](_0x53a954(_0x1adc17[_0x1a4e('0x1777')])?_0x4c4850('<',_0x1adc17[_0x1a4e('0xb98')][_0x1a4e('0x177e')]('major')):_0x53a954(_0x1adc17[_0x1a4e('0x1778')])?_0x4c4850('<',_0x1adc17['version'][_0x1a4e('0x177e')](_0x1a4e('0x1777'))):_0x4c4850('<=',_0x1adc17[_0x1a4e('0xb98')])),!0x0);}function _0x16c853(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x16830a(_0x146f6e);if(!_0x55ff7e)return!0x1;var _0x1adc17=_0x55ff7e[_0x1a4e('0xb98')],_0x2c9ec9=_0x55ff7e[_0x1a4e('0x1776')],_0x420b32=_0x55ff7e[_0x1a4e('0x1777')],_0x1b06ad=_0x55ff7e[_0x1a4e('0x1778')];if(_0x53a954(_0x2c9ec9))'<'!==_0x368e5a&&'>'!==_0x368e5a||_0x2327c6[_0x1a4e('0x46')](_0x4c4850('<',_0xf79407['zero']));else switch(_0x368e5a){case'~':_0x2327c6[_0x1a4e('0x46')](_0x4c4850('>=',_0x1adc17)),_0x2327c6[_0x1a4e('0x46')](_0x4c4850('<',_0x1adc17[_0x1a4e('0x177e')](_0x53a954(_0x420b32)?'major':_0x1a4e('0x1777'))));break;case'^':_0x2327c6[_0x1a4e('0x46')](_0x4c4850('>=',_0x1adc17)),_0x2327c6[_0x1a4e('0x46')](_0x4c4850('<',_0x1adc17[_0x1a4e('0x177e')](_0x1adc17[_0x1a4e('0x1776')]>0x0||_0x53a954(_0x420b32)?_0x1a4e('0x1776'):_0x1adc17['minor']>0x0||_0x53a954(_0x1b06ad)?_0x1a4e('0x1777'):_0x1a4e('0x1778'))));break;case'<':case'>=':_0x2327c6['push'](_0x4c4850(_0x368e5a,_0x1adc17));break;case'<=':case'>':_0x2327c6[_0x1a4e('0x46')](_0x53a954(_0x420b32)?_0x4c4850('<='===_0x368e5a?'<':'>=',_0x1adc17[_0x1a4e('0x177e')]('major')):_0x53a954(_0x1b06ad)?_0x4c4850('<='===_0x368e5a?'<':'>=',_0x1adc17[_0x1a4e('0x177e')](_0x1a4e('0x1777'))):_0x4c4850(_0x368e5a,_0x1adc17));break;case'=':case void 0x0:_0x53a954(_0x420b32)||_0x53a954(_0x1b06ad)?(_0x2327c6[_0x1a4e('0x46')](_0x4c4850('>=',_0x1adc17)),_0x2327c6['push'](_0x4c4850('<',_0x1adc17[_0x1a4e('0x177e')](_0x53a954(_0x420b32)?_0x1a4e('0x1776'):_0x1a4e('0x1777'))))):_0x2327c6[_0x1a4e('0x46')](_0x4c4850('=',_0x1adc17));break;default:return!0x1;}return!0x0;}function _0x53a954(_0x368e5a){return'*'===_0x368e5a||'x'===_0x368e5a||'X'===_0x368e5a;}function _0x4c4850(_0x368e5a,_0x146f6e){return{'operator':_0x368e5a,'operand':_0x146f6e};}function _0x845757(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(!_0x5e5492(_0x368e5a,_0x1adc17[_0x1a4e('0x1474')],_0x1adc17[_0x1a4e('0x1784')]))return!0x1;}return!0x0;}function _0x5e5492(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x2a7')](_0x55ff7e);switch(_0x2327c6){case'<':return _0x1adc17<0x0;case'<=':return _0x1adc17<=0x0;case'>':return _0x1adc17>0x0;case'>=':return _0x1adc17>=0x0;case'=':return 0x0===_0x1adc17;default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x2327c6);}}function _0x323ac1(_0x146f6e){return _0x368e5a[_0x1a4e('0x21')](_0x146f6e,_0x340318)[_0x1a4e('0x9e')]('\x20');}function _0x340318(_0x368e5a){return''+_0x368e5a[_0x1a4e('0x1474')]+_0x368e5a[_0x1a4e('0x1784')];}}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1785')]=0x0]=_0x1a4e('0x1785'),_0x368e5a[_0x368e5a['EndOfFileToken']=0x1]='EndOfFileToken',_0x368e5a[_0x368e5a['SingleLineCommentTrivia']=0x2]=_0x1a4e('0x1786'),_0x368e5a[_0x368e5a[_0x1a4e('0x1787')]=0x3]='MultiLineCommentTrivia',_0x368e5a[_0x368e5a[_0x1a4e('0x1788')]=0x4]=_0x1a4e('0x1788'),_0x368e5a[_0x368e5a[_0x1a4e('0x1789')]=0x5]=_0x1a4e('0x1789'),_0x368e5a[_0x368e5a[_0x1a4e('0x178a')]=0x6]=_0x1a4e('0x178a'),_0x368e5a[_0x368e5a[_0x1a4e('0x178b')]=0x7]=_0x1a4e('0x178b'),_0x368e5a[_0x368e5a['NumericLiteral']=0x8]=_0x1a4e('0x178c'),_0x368e5a[_0x368e5a[_0x1a4e('0x178d')]=0x9]=_0x1a4e('0x178d'),_0x368e5a[_0x368e5a['StringLiteral']=0xa]=_0x1a4e('0x178e'),_0x368e5a[_0x368e5a[_0x1a4e('0x178f')]=0xb]=_0x1a4e('0x178f'),_0x368e5a[_0x368e5a['JsxTextAllWhiteSpaces']=0xc]=_0x1a4e('0x1790'),_0x368e5a[_0x368e5a[_0x1a4e('0x1791')]=0xd]=_0x1a4e('0x1791'),_0x368e5a[_0x368e5a[_0x1a4e('0x1792')]=0xe]=_0x1a4e('0x1792'),_0x368e5a[_0x368e5a[_0x1a4e('0x1793')]=0xf]=_0x1a4e('0x1793'),_0x368e5a[_0x368e5a['TemplateMiddle']=0x10]=_0x1a4e('0x1794'),_0x368e5a[_0x368e5a['TemplateTail']=0x11]=_0x1a4e('0x1795'),_0x368e5a[_0x368e5a[_0x1a4e('0x1796')]=0x12]=_0x1a4e('0x1796'),_0x368e5a[_0x368e5a[_0x1a4e('0x1797')]=0x13]=_0x1a4e('0x1797'),_0x368e5a[_0x368e5a[_0x1a4e('0x1798')]=0x14]=_0x1a4e('0x1798'),_0x368e5a[_0x368e5a[_0x1a4e('0x1799')]=0x15]=_0x1a4e('0x1799'),_0x368e5a[_0x368e5a['OpenBracketToken']=0x16]=_0x1a4e('0x179a'),_0x368e5a[_0x368e5a[_0x1a4e('0x179b')]=0x17]=_0x1a4e('0x179b'),_0x368e5a[_0x368e5a[_0x1a4e('0x179c')]=0x18]=_0x1a4e('0x179c'),_0x368e5a[_0x368e5a['DotDotDotToken']=0x19]=_0x1a4e('0x179d'),_0x368e5a[_0x368e5a[_0x1a4e('0x179e')]=0x1a]=_0x1a4e('0x179e'),_0x368e5a[_0x368e5a['CommaToken']=0x1b]='CommaToken',_0x368e5a[_0x368e5a['LessThanToken']=0x1c]=_0x1a4e('0x179f'),_0x368e5a[_0x368e5a[_0x1a4e('0x17a0')]=0x1d]=_0x1a4e('0x17a0'),_0x368e5a[_0x368e5a[_0x1a4e('0x17a1')]=0x1e]='GreaterThanToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17a2')]=0x1f]=_0x1a4e('0x17a2'),_0x368e5a[_0x368e5a[_0x1a4e('0x17a3')]=0x20]=_0x1a4e('0x17a3'),_0x368e5a[_0x368e5a[_0x1a4e('0x17a4')]=0x21]='EqualsEqualsToken',_0x368e5a[_0x368e5a['ExclamationEqualsToken']=0x22]=_0x1a4e('0x17a5'),_0x368e5a[_0x368e5a[_0x1a4e('0x17a6')]=0x23]='EqualsEqualsEqualsToken',_0x368e5a[_0x368e5a['ExclamationEqualsEqualsToken']=0x24]=_0x1a4e('0x17a7'),_0x368e5a[_0x368e5a[_0x1a4e('0x17a8')]=0x25]=_0x1a4e('0x17a8'),_0x368e5a[_0x368e5a[_0x1a4e('0x17a9')]=0x26]='PlusToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17aa')]=0x27]='MinusToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17ab')]=0x28]='AsteriskToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17ac')]=0x29]='AsteriskAsteriskToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17ad')]=0x2a]=_0x1a4e('0x17ad'),_0x368e5a[_0x368e5a[_0x1a4e('0x17ae')]=0x2b]=_0x1a4e('0x17ae'),_0x368e5a[_0x368e5a[_0x1a4e('0x17af')]=0x2c]=_0x1a4e('0x17af'),_0x368e5a[_0x368e5a[_0x1a4e('0x17b0')]=0x2d]=_0x1a4e('0x17b0'),_0x368e5a[_0x368e5a[_0x1a4e('0x17b1')]=0x2e]=_0x1a4e('0x17b1'),_0x368e5a[_0x368e5a['GreaterThanGreaterThanToken']=0x2f]=_0x1a4e('0x17b2'),_0x368e5a[_0x368e5a['GreaterThanGreaterThanGreaterThanToken']=0x30]=_0x1a4e('0x17b3'),_0x368e5a[_0x368e5a[_0x1a4e('0x17b4')]=0x31]='AmpersandToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17b5')]=0x32]=_0x1a4e('0x17b5'),_0x368e5a[_0x368e5a[_0x1a4e('0x17b6')]=0x33]='CaretToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17b7')]=0x34]='ExclamationToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17b8')]=0x35]=_0x1a4e('0x17b8'),_0x368e5a[_0x368e5a['AmpersandAmpersandToken']=0x36]=_0x1a4e('0x17b9'),_0x368e5a[_0x368e5a[_0x1a4e('0x17ba')]=0x37]=_0x1a4e('0x17ba'),_0x368e5a[_0x368e5a[_0x1a4e('0x17bb')]=0x38]=_0x1a4e('0x17bb'),_0x368e5a[_0x368e5a[_0x1a4e('0x17bc')]=0x39]='ColonToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17bd')]=0x3a]=_0x1a4e('0x17bd'),_0x368e5a[_0x368e5a[_0x1a4e('0x17be')]=0x3b]='EqualsToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17bf')]=0x3c]='PlusEqualsToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17c0')]=0x3d]='MinusEqualsToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17c1')]=0x3e]='AsteriskEqualsToken',_0x368e5a[_0x368e5a['AsteriskAsteriskEqualsToken']=0x3f]=_0x1a4e('0x17c2'),_0x368e5a[_0x368e5a[_0x1a4e('0x17c3')]=0x40]=_0x1a4e('0x17c3'),_0x368e5a[_0x368e5a[_0x1a4e('0x17c4')]=0x41]=_0x1a4e('0x17c4'),_0x368e5a[_0x368e5a['LessThanLessThanEqualsToken']=0x42]=_0x1a4e('0x17c5'),_0x368e5a[_0x368e5a[_0x1a4e('0x17c6')]=0x43]=_0x1a4e('0x17c6'),_0x368e5a[_0x368e5a['GreaterThanGreaterThanGreaterThanEqualsToken']=0x44]=_0x1a4e('0x17c7'),_0x368e5a[_0x368e5a['AmpersandEqualsToken']=0x45]=_0x1a4e('0x17c8'),_0x368e5a[_0x368e5a[_0x1a4e('0x17c9')]=0x46]='BarEqualsToken',_0x368e5a[_0x368e5a[_0x1a4e('0x17ca')]=0x47]=_0x1a4e('0x17ca'),_0x368e5a[_0x368e5a[_0x1a4e('0x17cb')]=0x48]='Identifier',_0x368e5a[_0x368e5a[_0x1a4e('0x17cc')]=0x49]='BreakKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x17cd')]=0x4a]=_0x1a4e('0x17cd'),_0x368e5a[_0x368e5a['CatchKeyword']=0x4b]=_0x1a4e('0x17ce'),_0x368e5a[_0x368e5a[_0x1a4e('0x17cf')]=0x4c]=_0x1a4e('0x17cf'),_0x368e5a[_0x368e5a[_0x1a4e('0x17d0')]=0x4d]=_0x1a4e('0x17d0'),_0x368e5a[_0x368e5a[_0x1a4e('0x17d1')]=0x4e]=_0x1a4e('0x17d1'),_0x368e5a[_0x368e5a[_0x1a4e('0x17d2')]=0x4f]=_0x1a4e('0x17d2'),_0x368e5a[_0x368e5a[_0x1a4e('0x17d3')]=0x50]=_0x1a4e('0x17d3'),_0x368e5a[_0x368e5a[_0x1a4e('0x17d4')]=0x51]=_0x1a4e('0x17d4'),_0x368e5a[_0x368e5a[_0x1a4e('0x17d5')]=0x52]='DoKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x17d6')]=0x53]=_0x1a4e('0x17d6'),_0x368e5a[_0x368e5a['EnumKeyword']=0x54]=_0x1a4e('0x17d7'),_0x368e5a[_0x368e5a[_0x1a4e('0x17d8')]=0x55]=_0x1a4e('0x17d8'),_0x368e5a[_0x368e5a[_0x1a4e('0x17d9')]=0x56]=_0x1a4e('0x17d9'),_0x368e5a[_0x368e5a['FalseKeyword']=0x57]=_0x1a4e('0x17da'),_0x368e5a[_0x368e5a['FinallyKeyword']=0x58]=_0x1a4e('0x17db'),_0x368e5a[_0x368e5a[_0x1a4e('0x17dc')]=0x59]='ForKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x17dd')]=0x5a]=_0x1a4e('0x17dd'),_0x368e5a[_0x368e5a[_0x1a4e('0x17de')]=0x5b]=_0x1a4e('0x17de'),_0x368e5a[_0x368e5a[_0x1a4e('0x17df')]=0x5c]=_0x1a4e('0x17df'),_0x368e5a[_0x368e5a[_0x1a4e('0x17e0')]=0x5d]='InKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x17e1')]=0x5e]=_0x1a4e('0x17e1'),_0x368e5a[_0x368e5a[_0x1a4e('0x17e2')]=0x5f]=_0x1a4e('0x17e2'),_0x368e5a[_0x368e5a[_0x1a4e('0x17e3')]=0x60]=_0x1a4e('0x17e3'),_0x368e5a[_0x368e5a[_0x1a4e('0x17e4')]=0x61]=_0x1a4e('0x17e4'),_0x368e5a[_0x368e5a[_0x1a4e('0x17e5')]=0x62]='SuperKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x17e6')]=0x63]=_0x1a4e('0x17e6'),_0x368e5a[_0x368e5a[_0x1a4e('0x17e7')]=0x64]=_0x1a4e('0x17e7'),_0x368e5a[_0x368e5a['ThrowKeyword']=0x65]=_0x1a4e('0x17e8'),_0x368e5a[_0x368e5a[_0x1a4e('0x17e9')]=0x66]=_0x1a4e('0x17e9'),_0x368e5a[_0x368e5a[_0x1a4e('0x17ea')]=0x67]=_0x1a4e('0x17ea'),_0x368e5a[_0x368e5a[_0x1a4e('0x17eb')]=0x68]=_0x1a4e('0x17eb'),_0x368e5a[_0x368e5a[_0x1a4e('0x17ec')]=0x69]=_0x1a4e('0x17ec'),_0x368e5a[_0x368e5a[_0x1a4e('0x17ed')]=0x6a]='VoidKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x17ee')]=0x6b]=_0x1a4e('0x17ee'),_0x368e5a[_0x368e5a['WithKeyword']=0x6c]=_0x1a4e('0x17ef'),_0x368e5a[_0x368e5a[_0x1a4e('0x17f0')]=0x6d]=_0x1a4e('0x17f0'),_0x368e5a[_0x368e5a[_0x1a4e('0x17f1')]=0x6e]=_0x1a4e('0x17f1'),_0x368e5a[_0x368e5a[_0x1a4e('0x17f2')]=0x6f]='LetKeyword',_0x368e5a[_0x368e5a['PackageKeyword']=0x70]=_0x1a4e('0x17f3'),_0x368e5a[_0x368e5a[_0x1a4e('0x17f4')]=0x71]=_0x1a4e('0x17f4'),_0x368e5a[_0x368e5a[_0x1a4e('0x17f5')]=0x72]=_0x1a4e('0x17f5'),_0x368e5a[_0x368e5a['PublicKeyword']=0x73]=_0x1a4e('0x17f6'),_0x368e5a[_0x368e5a['StaticKeyword']=0x74]=_0x1a4e('0x17f7'),_0x368e5a[_0x368e5a[_0x1a4e('0x17f8')]=0x75]=_0x1a4e('0x17f8'),_0x368e5a[_0x368e5a[_0x1a4e('0x17f9')]=0x76]=_0x1a4e('0x17f9'),_0x368e5a[_0x368e5a[_0x1a4e('0x17fa')]=0x77]='AsKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x17fb')]=0x78]=_0x1a4e('0x17fb'),_0x368e5a[_0x368e5a[_0x1a4e('0x17fc')]=0x79]=_0x1a4e('0x17fc'),_0x368e5a[_0x368e5a[_0x1a4e('0x17fd')]=0x7a]=_0x1a4e('0x17fd'),_0x368e5a[_0x368e5a['BooleanKeyword']=0x7b]=_0x1a4e('0x17fe'),_0x368e5a[_0x368e5a[_0x1a4e('0x17ff')]=0x7c]=_0x1a4e('0x17ff'),_0x368e5a[_0x368e5a[_0x1a4e('0x1800')]=0x7d]=_0x1a4e('0x1800'),_0x368e5a[_0x368e5a[_0x1a4e('0x1801')]=0x7e]='GetKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x1802')]=0x7f]=_0x1a4e('0x1802'),_0x368e5a[_0x368e5a[_0x1a4e('0x1803')]=0x80]=_0x1a4e('0x1803'),_0x368e5a[_0x368e5a[_0x1a4e('0x1804')]=0x81]=_0x1a4e('0x1804'),_0x368e5a[_0x368e5a[_0x1a4e('0x1805')]=0x82]=_0x1a4e('0x1805'),_0x368e5a[_0x368e5a[_0x1a4e('0x1806')]=0x83]='NamespaceKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x1807')]=0x84]=_0x1a4e('0x1807'),_0x368e5a[_0x368e5a[_0x1a4e('0x1808')]=0x85]=_0x1a4e('0x1808'),_0x368e5a[_0x368e5a['RequireKeyword']=0x86]='RequireKeyword',_0x368e5a[_0x368e5a['NumberKeyword']=0x87]='NumberKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x1809')]=0x88]=_0x1a4e('0x1809'),_0x368e5a[_0x368e5a[_0x1a4e('0x180a')]=0x89]=_0x1a4e('0x180a'),_0x368e5a[_0x368e5a[_0x1a4e('0x180b')]=0x8a]=_0x1a4e('0x180b'),_0x368e5a[_0x368e5a[_0x1a4e('0x180c')]=0x8b]=_0x1a4e('0x180c'),_0x368e5a[_0x368e5a[_0x1a4e('0x180d')]=0x8c]=_0x1a4e('0x180d'),_0x368e5a[_0x368e5a[_0x1a4e('0x180e')]=0x8d]=_0x1a4e('0x180e'),_0x368e5a[_0x368e5a['UniqueKeyword']=0x8e]=_0x1a4e('0x180f'),_0x368e5a[_0x368e5a['UnknownKeyword']=0x8f]=_0x1a4e('0x1810'),_0x368e5a[_0x368e5a[_0x1a4e('0x1811')]=0x90]=_0x1a4e('0x1811'),_0x368e5a[_0x368e5a[_0x1a4e('0x1812')]=0x91]='GlobalKeyword',_0x368e5a[_0x368e5a['BigIntKeyword']=0x92]='BigIntKeyword',_0x368e5a[_0x368e5a[_0x1a4e('0x1813')]=0x93]=_0x1a4e('0x1813'),_0x368e5a[_0x368e5a[_0x1a4e('0x1814')]=0x94]=_0x1a4e('0x1814'),_0x368e5a[_0x368e5a[_0x1a4e('0x1815')]=0x95]=_0x1a4e('0x1815'),_0x368e5a[_0x368e5a['TypeParameter']=0x96]=_0x1a4e('0x1816'),_0x368e5a[_0x368e5a['Parameter']=0x97]=_0x1a4e('0x1817'),_0x368e5a[_0x368e5a['Decorator']=0x98]='Decorator',_0x368e5a[_0x368e5a['PropertySignature']=0x99]='PropertySignature',_0x368e5a[_0x368e5a[_0x1a4e('0x1818')]=0x9a]=_0x1a4e('0x1818'),_0x368e5a[_0x368e5a[_0x1a4e('0x1819')]=0x9b]=_0x1a4e('0x1819'),_0x368e5a[_0x368e5a[_0x1a4e('0x181a')]=0x9c]=_0x1a4e('0x181a'),_0x368e5a[_0x368e5a[_0x1a4e('0x181b')]=0x9d]=_0x1a4e('0x181b'),_0x368e5a[_0x368e5a[_0x1a4e('0x181c')]=0x9e]=_0x1a4e('0x181c'),_0x368e5a[_0x368e5a['SetAccessor']=0x9f]=_0x1a4e('0x181d'),_0x368e5a[_0x368e5a[_0x1a4e('0x181e')]=0xa0]=_0x1a4e('0x181e'),_0x368e5a[_0x368e5a[_0x1a4e('0x181f')]=0xa1]=_0x1a4e('0x181f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1820')]=0xa2]=_0x1a4e('0x1820'),_0x368e5a[_0x368e5a['TypePredicate']=0xa3]='TypePredicate',_0x368e5a[_0x368e5a[_0x1a4e('0x1821')]=0xa4]=_0x1a4e('0x1821'),_0x368e5a[_0x368e5a['FunctionType']=0xa5]=_0x1a4e('0x1822'),_0x368e5a[_0x368e5a['ConstructorType']=0xa6]=_0x1a4e('0x1823'),_0x368e5a[_0x368e5a['TypeQuery']=0xa7]=_0x1a4e('0x1824'),_0x368e5a[_0x368e5a[_0x1a4e('0x1825')]=0xa8]='TypeLiteral',_0x368e5a[_0x368e5a[_0x1a4e('0x1826')]=0xa9]=_0x1a4e('0x1826'),_0x368e5a[_0x368e5a[_0x1a4e('0x1827')]=0xaa]=_0x1a4e('0x1827'),_0x368e5a[_0x368e5a[_0x1a4e('0x1828')]=0xab]=_0x1a4e('0x1828'),_0x368e5a[_0x368e5a[_0x1a4e('0x1829')]=0xac]=_0x1a4e('0x1829'),_0x368e5a[_0x368e5a['UnionType']=0xad]=_0x1a4e('0x182a'),_0x368e5a[_0x368e5a[_0x1a4e('0x182b')]=0xae]=_0x1a4e('0x182b'),_0x368e5a[_0x368e5a[_0x1a4e('0x182c')]=0xaf]=_0x1a4e('0x182c'),_0x368e5a[_0x368e5a[_0x1a4e('0x182d')]=0xb0]=_0x1a4e('0x182d'),_0x368e5a[_0x368e5a[_0x1a4e('0x182e')]=0xb1]=_0x1a4e('0x182e'),_0x368e5a[_0x368e5a[_0x1a4e('0x182f')]=0xb2]=_0x1a4e('0x182f'),_0x368e5a[_0x368e5a['TypeOperator']=0xb3]=_0x1a4e('0x1830'),_0x368e5a[_0x368e5a['IndexedAccessType']=0xb4]=_0x1a4e('0x1831'),_0x368e5a[_0x368e5a['MappedType']=0xb5]=_0x1a4e('0x1832'),_0x368e5a[_0x368e5a[_0x1a4e('0x1833')]=0xb6]=_0x1a4e('0x1833'),_0x368e5a[_0x368e5a[_0x1a4e('0x1834')]=0xb7]='ImportType',_0x368e5a[_0x368e5a[_0x1a4e('0x1835')]=0xb8]=_0x1a4e('0x1835'),_0x368e5a[_0x368e5a['ArrayBindingPattern']=0xb9]=_0x1a4e('0x1836'),_0x368e5a[_0x368e5a['BindingElement']=0xba]='BindingElement',_0x368e5a[_0x368e5a[_0x1a4e('0x1837')]=0xbb]='ArrayLiteralExpression',_0x368e5a[_0x368e5a[_0x1a4e('0x1838')]=0xbc]=_0x1a4e('0x1838'),_0x368e5a[_0x368e5a[_0x1a4e('0x1839')]=0xbd]=_0x1a4e('0x1839'),_0x368e5a[_0x368e5a[_0x1a4e('0x183a')]=0xbe]=_0x1a4e('0x183a'),_0x368e5a[_0x368e5a[_0x1a4e('0x183b')]=0xbf]=_0x1a4e('0x183b'),_0x368e5a[_0x368e5a[_0x1a4e('0x183c')]=0xc0]=_0x1a4e('0x183c'),_0x368e5a[_0x368e5a[_0x1a4e('0x183d')]=0xc1]='TaggedTemplateExpression',_0x368e5a[_0x368e5a[_0x1a4e('0x183e')]=0xc2]=_0x1a4e('0x183e'),_0x368e5a[_0x368e5a[_0x1a4e('0x183f')]=0xc3]=_0x1a4e('0x183f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1840')]=0xc4]=_0x1a4e('0x1840'),_0x368e5a[_0x368e5a[_0x1a4e('0x1841')]=0xc5]=_0x1a4e('0x1841'),_0x368e5a[_0x368e5a[_0x1a4e('0x1842')]=0xc6]=_0x1a4e('0x1842'),_0x368e5a[_0x368e5a[_0x1a4e('0x1843')]=0xc7]='TypeOfExpression',_0x368e5a[_0x368e5a['VoidExpression']=0xc8]=_0x1a4e('0x1844'),_0x368e5a[_0x368e5a['AwaitExpression']=0xc9]='AwaitExpression',_0x368e5a[_0x368e5a[_0x1a4e('0x1845')]=0xca]='PrefixUnaryExpression',_0x368e5a[_0x368e5a[_0x1a4e('0x1846')]=0xcb]=_0x1a4e('0x1846'),_0x368e5a[_0x368e5a['BinaryExpression']=0xcc]=_0x1a4e('0x1847'),_0x368e5a[_0x368e5a[_0x1a4e('0x1848')]=0xcd]='ConditionalExpression',_0x368e5a[_0x368e5a['TemplateExpression']=0xce]='TemplateExpression',_0x368e5a[_0x368e5a['YieldExpression']=0xcf]=_0x1a4e('0x1849'),_0x368e5a[_0x368e5a['SpreadElement']=0xd0]='SpreadElement',_0x368e5a[_0x368e5a[_0x1a4e('0x184a')]=0xd1]=_0x1a4e('0x184a'),_0x368e5a[_0x368e5a['OmittedExpression']=0xd2]='OmittedExpression',_0x368e5a[_0x368e5a[_0x1a4e('0x184b')]=0xd3]='ExpressionWithTypeArguments',_0x368e5a[_0x368e5a[_0x1a4e('0x184c')]=0xd4]=_0x1a4e('0x184c'),_0x368e5a[_0x368e5a[_0x1a4e('0x184d')]=0xd5]=_0x1a4e('0x184d'),_0x368e5a[_0x368e5a[_0x1a4e('0x184e')]=0xd6]=_0x1a4e('0x184e'),_0x368e5a[_0x368e5a[_0x1a4e('0x184f')]=0xd7]=_0x1a4e('0x184f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1850')]=0xd8]=_0x1a4e('0x1850'),_0x368e5a[_0x368e5a[_0x1a4e('0x1851')]=0xd9]=_0x1a4e('0x1851'),_0x368e5a[_0x368e5a[_0x1a4e('0x1852')]=0xda]=_0x1a4e('0x1852'),_0x368e5a[_0x368e5a[_0x1a4e('0x1853')]=0xdb]=_0x1a4e('0x1853'),_0x368e5a[_0x368e5a[_0x1a4e('0x1854')]=0xdc]=_0x1a4e('0x1854'),_0x368e5a[_0x368e5a['ExpressionStatement']=0xdd]='ExpressionStatement',_0x368e5a[_0x368e5a['IfStatement']=0xde]=_0x1a4e('0x1855'),_0x368e5a[_0x368e5a[_0x1a4e('0x1856')]=0xdf]=_0x1a4e('0x1856'),_0x368e5a[_0x368e5a[_0x1a4e('0x1857')]=0xe0]=_0x1a4e('0x1857'),_0x368e5a[_0x368e5a[_0x1a4e('0x1858')]=0xe1]=_0x1a4e('0x1858'),_0x368e5a[_0x368e5a[_0x1a4e('0x1859')]=0xe2]=_0x1a4e('0x1859'),_0x368e5a[_0x368e5a[_0x1a4e('0x185a')]=0xe3]=_0x1a4e('0x185a'),_0x368e5a[_0x368e5a[_0x1a4e('0x185b')]=0xe4]='ContinueStatement',_0x368e5a[_0x368e5a[_0x1a4e('0x185c')]=0xe5]='BreakStatement',_0x368e5a[_0x368e5a[_0x1a4e('0x185d')]=0xe6]=_0x1a4e('0x185d'),_0x368e5a[_0x368e5a[_0x1a4e('0x185e')]=0xe7]=_0x1a4e('0x185e'),_0x368e5a[_0x368e5a[_0x1a4e('0x185f')]=0xe8]='SwitchStatement',_0x368e5a[_0x368e5a[_0x1a4e('0x1860')]=0xe9]=_0x1a4e('0x1860'),_0x368e5a[_0x368e5a[_0x1a4e('0x1861')]=0xea]=_0x1a4e('0x1861'),_0x368e5a[_0x368e5a['TryStatement']=0xeb]=_0x1a4e('0x1862'),_0x368e5a[_0x368e5a['DebuggerStatement']=0xec]='DebuggerStatement',_0x368e5a[_0x368e5a[_0x1a4e('0x1863')]=0xed]=_0x1a4e('0x1863'),_0x368e5a[_0x368e5a['VariableDeclarationList']=0xee]=_0x1a4e('0x1864'),_0x368e5a[_0x368e5a[_0x1a4e('0x1865')]=0xef]=_0x1a4e('0x1865'),_0x368e5a[_0x368e5a['ClassDeclaration']=0xf0]='ClassDeclaration',_0x368e5a[_0x368e5a[_0x1a4e('0x1866')]=0xf1]='InterfaceDeclaration',_0x368e5a[_0x368e5a['TypeAliasDeclaration']=0xf2]=_0x1a4e('0x1867'),_0x368e5a[_0x368e5a[_0x1a4e('0x1868')]=0xf3]=_0x1a4e('0x1868'),_0x368e5a[_0x368e5a[_0x1a4e('0x1869')]=0xf4]=_0x1a4e('0x1869'),_0x368e5a[_0x368e5a[_0x1a4e('0x186a')]=0xf5]=_0x1a4e('0x186a'),_0x368e5a[_0x368e5a[_0x1a4e('0x186b')]=0xf6]=_0x1a4e('0x186b'),_0x368e5a[_0x368e5a[_0x1a4e('0x186c')]=0xf7]=_0x1a4e('0x186c'),_0x368e5a[_0x368e5a[_0x1a4e('0x186d')]=0xf8]='ImportEqualsDeclaration',_0x368e5a[_0x368e5a['ImportDeclaration']=0xf9]='ImportDeclaration',_0x368e5a[_0x368e5a['ImportClause']=0xfa]=_0x1a4e('0x186e'),_0x368e5a[_0x368e5a[_0x1a4e('0x186f')]=0xfb]=_0x1a4e('0x186f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1870')]=0xfc]='NamedImports',_0x368e5a[_0x368e5a['ImportSpecifier']=0xfd]=_0x1a4e('0x1871'),_0x368e5a[_0x368e5a['ExportAssignment']=0xfe]='ExportAssignment',_0x368e5a[_0x368e5a[_0x1a4e('0x1872')]=0xff]=_0x1a4e('0x1872'),_0x368e5a[_0x368e5a['NamedExports']=0x100]=_0x1a4e('0x1873'),_0x368e5a[_0x368e5a['ExportSpecifier']=0x101]=_0x1a4e('0x1874'),_0x368e5a[_0x368e5a[_0x1a4e('0x1875')]=0x102]=_0x1a4e('0x1875'),_0x368e5a[_0x368e5a['ExternalModuleReference']=0x103]=_0x1a4e('0x1876'),_0x368e5a[_0x368e5a[_0x1a4e('0x1877')]=0x104]=_0x1a4e('0x1877'),_0x368e5a[_0x368e5a[_0x1a4e('0x1878')]=0x105]='JsxSelfClosingElement',_0x368e5a[_0x368e5a[_0x1a4e('0x1879')]=0x106]=_0x1a4e('0x1879'),_0x368e5a[_0x368e5a[_0x1a4e('0x187a')]=0x107]='JsxClosingElement',_0x368e5a[_0x368e5a['JsxFragment']=0x108]='JsxFragment',_0x368e5a[_0x368e5a[_0x1a4e('0x187b')]=0x109]=_0x1a4e('0x187b'),_0x368e5a[_0x368e5a['JsxClosingFragment']=0x10a]='JsxClosingFragment',_0x368e5a[_0x368e5a[_0x1a4e('0x187c')]=0x10b]=_0x1a4e('0x187c'),_0x368e5a[_0x368e5a['JsxAttributes']=0x10c]=_0x1a4e('0x187d'),_0x368e5a[_0x368e5a[_0x1a4e('0x187e')]=0x10d]=_0x1a4e('0x187e'),_0x368e5a[_0x368e5a['JsxExpression']=0x10e]=_0x1a4e('0x187f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1880')]=0x10f]='CaseClause',_0x368e5a[_0x368e5a[_0x1a4e('0x1881')]=0x110]=_0x1a4e('0x1881'),_0x368e5a[_0x368e5a[_0x1a4e('0x1882')]=0x111]=_0x1a4e('0x1882'),_0x368e5a[_0x368e5a[_0x1a4e('0x1883')]=0x112]=_0x1a4e('0x1883'),_0x368e5a[_0x368e5a[_0x1a4e('0x1884')]=0x113]=_0x1a4e('0x1884'),_0x368e5a[_0x368e5a[_0x1a4e('0x1885')]=0x114]=_0x1a4e('0x1885'),_0x368e5a[_0x368e5a['SpreadAssignment']=0x115]=_0x1a4e('0x1886'),_0x368e5a[_0x368e5a[_0x1a4e('0x1887')]=0x116]=_0x1a4e('0x1887'),_0x368e5a[_0x368e5a[_0x1a4e('0x1888')]=0x117]=_0x1a4e('0x1888'),_0x368e5a[_0x368e5a[_0x1a4e('0x1889')]=0x118]=_0x1a4e('0x1889'),_0x368e5a[_0x368e5a[_0x1a4e('0x188a')]=0x119]=_0x1a4e('0x188a'),_0x368e5a[_0x368e5a['InputFiles']=0x11a]='InputFiles',_0x368e5a[_0x368e5a[_0x1a4e('0x188b')]=0x11b]=_0x1a4e('0x188b'),_0x368e5a[_0x368e5a[_0x1a4e('0x188c')]=0x11c]=_0x1a4e('0x188c'),_0x368e5a[_0x368e5a[_0x1a4e('0x188d')]=0x11d]=_0x1a4e('0x188d'),_0x368e5a[_0x368e5a[_0x1a4e('0x188e')]=0x11e]=_0x1a4e('0x188e'),_0x368e5a[_0x368e5a[_0x1a4e('0x188f')]=0x11f]=_0x1a4e('0x188f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1890')]=0x120]=_0x1a4e('0x1890'),_0x368e5a[_0x368e5a[_0x1a4e('0x1891')]=0x121]=_0x1a4e('0x1891'),_0x368e5a[_0x368e5a[_0x1a4e('0x1892')]=0x122]=_0x1a4e('0x1892'),_0x368e5a[_0x368e5a[_0x1a4e('0x1893')]=0x123]='JSDocComment',_0x368e5a[_0x368e5a[_0x1a4e('0x1894')]=0x124]='JSDocTypeLiteral',_0x368e5a[_0x368e5a['JSDocSignature']=0x125]=_0x1a4e('0x1895'),_0x368e5a[_0x368e5a[_0x1a4e('0x1896')]=0x126]=_0x1a4e('0x1896'),_0x368e5a[_0x368e5a[_0x1a4e('0x1897')]=0x127]=_0x1a4e('0x1897'),_0x368e5a[_0x368e5a[_0x1a4e('0x1898')]=0x128]=_0x1a4e('0x1898'),_0x368e5a[_0x368e5a[_0x1a4e('0x1899')]=0x129]='JSDocCallbackTag',_0x368e5a[_0x368e5a[_0x1a4e('0x189a')]=0x12a]=_0x1a4e('0x189a'),_0x368e5a[_0x368e5a['JSDocParameterTag']=0x12b]=_0x1a4e('0x189b'),_0x368e5a[_0x368e5a['JSDocReturnTag']=0x12c]=_0x1a4e('0x189c'),_0x368e5a[_0x368e5a['JSDocThisTag']=0x12d]=_0x1a4e('0x189d'),_0x368e5a[_0x368e5a[_0x1a4e('0x189e')]=0x12e]='JSDocTypeTag',_0x368e5a[_0x368e5a[_0x1a4e('0x189f')]=0x12f]=_0x1a4e('0x189f'),_0x368e5a[_0x368e5a[_0x1a4e('0x18a0')]=0x130]=_0x1a4e('0x18a0'),_0x368e5a[_0x368e5a[_0x1a4e('0x18a1')]=0x131]='JSDocPropertyTag',_0x368e5a[_0x368e5a[_0x1a4e('0x18a2')]=0x132]=_0x1a4e('0x18a2'),_0x368e5a[_0x368e5a[_0x1a4e('0x18a3')]=0x133]=_0x1a4e('0x18a3'),_0x368e5a[_0x368e5a[_0x1a4e('0x18a4')]=0x134]=_0x1a4e('0x18a4'),_0x368e5a[_0x368e5a[_0x1a4e('0x18a5')]=0x135]=_0x1a4e('0x18a5'),_0x368e5a[_0x368e5a[_0x1a4e('0x18a6')]=0x136]='MergeDeclarationMarker',_0x368e5a[_0x368e5a[_0x1a4e('0x18a7')]=0x137]=_0x1a4e('0x18a7'),_0x368e5a[_0x368e5a['Count']=0x138]='Count',_0x368e5a[_0x368e5a[_0x1a4e('0x18a8')]=0x3b]=_0x1a4e('0x18a8'),_0x368e5a[_0x368e5a[_0x1a4e('0x18a9')]=0x47]='LastAssignment',_0x368e5a[_0x368e5a['FirstCompoundAssignment']=0x3c]=_0x1a4e('0x18aa'),_0x368e5a[_0x368e5a['LastCompoundAssignment']=0x47]=_0x1a4e('0x18ab'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ac')]=0x49]='FirstReservedWord',_0x368e5a[_0x368e5a[_0x1a4e('0x18ad')]=0x6c]=_0x1a4e('0x18ad'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ae')]=0x49]=_0x1a4e('0x18ae'),_0x368e5a[_0x368e5a[_0x1a4e('0x18af')]=0x93]=_0x1a4e('0x18af'),_0x368e5a[_0x368e5a[_0x1a4e('0x18b0')]=0x6d]=_0x1a4e('0x18b0'),_0x368e5a[_0x368e5a[_0x1a4e('0x18b1')]=0x75]='LastFutureReservedWord',_0x368e5a[_0x368e5a[_0x1a4e('0x18b2')]=0xa3]=_0x1a4e('0x18b2'),_0x368e5a[_0x368e5a['LastTypeNode']=0xb7]=_0x1a4e('0x18b3'),_0x368e5a[_0x368e5a['FirstPunctuation']=0x12]=_0x1a4e('0x18b4'),_0x368e5a[_0x368e5a[_0x1a4e('0x18b5')]=0x47]=_0x1a4e('0x18b5'),_0x368e5a[_0x368e5a[_0x1a4e('0x18b6')]=0x0]=_0x1a4e('0x18b6'),_0x368e5a[_0x368e5a['LastToken']=0x93]=_0x1a4e('0x18b7'),_0x368e5a[_0x368e5a[_0x1a4e('0x18b8')]=0x2]='FirstTriviaToken',_0x368e5a[_0x368e5a[_0x1a4e('0x18b9')]=0x7]=_0x1a4e('0x18b9'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ba')]=0x8]=_0x1a4e('0x18ba'),_0x368e5a[_0x368e5a[_0x1a4e('0x18bb')]=0xe]=_0x1a4e('0x18bb'),_0x368e5a[_0x368e5a[_0x1a4e('0x18bc')]=0xe]=_0x1a4e('0x18bc'),_0x368e5a[_0x368e5a[_0x1a4e('0x18bd')]=0x11]=_0x1a4e('0x18bd'),_0x368e5a[_0x368e5a[_0x1a4e('0x18be')]=0x1c]=_0x1a4e('0x18be'),_0x368e5a[_0x368e5a['LastBinaryOperator']=0x47]='LastBinaryOperator',_0x368e5a[_0x368e5a[_0x1a4e('0x18bf')]=0x94]=_0x1a4e('0x18bf'),_0x368e5a[_0x368e5a['FirstJSDocNode']=0x11b]=_0x1a4e('0x18c0'),_0x368e5a[_0x368e5a[_0x1a4e('0x18c1')]=0x131]=_0x1a4e('0x18c1'),_0x368e5a[_0x368e5a[_0x1a4e('0x18c2')]=0x126]=_0x1a4e('0x18c2'),_0x368e5a[_0x368e5a['LastJSDocTagNode']=0x131]=_0x1a4e('0x18c3'),_0x368e5a[_0x368e5a[_0x1a4e('0x18c4')]=0x76]=_0x1a4e('0x18c4'),_0x368e5a[_0x368e5a['LastContextualKeyword']=0x93]='LastContextualKeyword';}(_0x368e5a[_0x1a4e('0x18c5')]||(_0x368e5a[_0x1a4e('0x18c5')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['None']=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x18c6')]=0x1]='Let',_0x368e5a[_0x368e5a['Const']=0x2]=_0x1a4e('0x18c7'),_0x368e5a[_0x368e5a[_0x1a4e('0x18c8')]=0x4]=_0x1a4e('0x18c8'),_0x368e5a[_0x368e5a[_0x1a4e('0x18c9')]=0x8]='Synthesized',_0x368e5a[_0x368e5a[_0x1a4e('0x18ca')]=0x10]=_0x1a4e('0x18ca'),_0x368e5a[_0x368e5a[_0x1a4e('0x18cb')]=0x20]=_0x1a4e('0x18cb'),_0x368e5a[_0x368e5a[_0x1a4e('0x18cc')]=0x40]='ContainsThis',_0x368e5a[_0x368e5a['HasImplicitReturn']=0x80]=_0x1a4e('0x18cd'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ce')]=0x100]='HasExplicitReturn',_0x368e5a[_0x368e5a[_0x1a4e('0x18cf')]=0x200]=_0x1a4e('0x18cf'),_0x368e5a[_0x368e5a[_0x1a4e('0x18d0')]=0x400]=_0x1a4e('0x18d0'),_0x368e5a[_0x368e5a[_0x1a4e('0x18d1')]=0x800]='DisallowInContext',_0x368e5a[_0x368e5a[_0x1a4e('0x18d2')]=0x1000]=_0x1a4e('0x18d2'),_0x368e5a[_0x368e5a[_0x1a4e('0x18d3')]=0x2000]=_0x1a4e('0x18d3'),_0x368e5a[_0x368e5a[_0x1a4e('0x18d4')]=0x4000]=_0x1a4e('0x18d4'),_0x368e5a[_0x368e5a['ThisNodeHasError']=0x8000]=_0x1a4e('0x18d5'),_0x368e5a[_0x368e5a[_0x1a4e('0x18d6')]=0x10000]=_0x1a4e('0x18d6'),_0x368e5a[_0x368e5a[_0x1a4e('0x18d7')]=0x20000]=_0x1a4e('0x18d7'),_0x368e5a[_0x368e5a['HasAggregatedChildData']=0x40000]='HasAggregatedChildData',_0x368e5a[_0x368e5a[_0x1a4e('0x18d8')]=0x80000]=_0x1a4e('0x18d8'),_0x368e5a[_0x368e5a[_0x1a4e('0x18d9')]=0x100000]=_0x1a4e('0x18d9'),_0x368e5a[_0x368e5a[_0x1a4e('0x18da')]=0x200000]='JSDoc',_0x368e5a[_0x368e5a[_0x1a4e('0x18db')]=0x400000]=_0x1a4e('0x18db'),_0x368e5a[_0x368e5a[_0x1a4e('0x18dc')]=0x800000]=_0x1a4e('0x18dc'),_0x368e5a[_0x368e5a[_0x1a4e('0x18dd')]=0x1000000]=_0x1a4e('0x18dd'),_0x368e5a[_0x368e5a[_0x1a4e('0x18de')]=0x3]=_0x1a4e('0x18de'),_0x368e5a[_0x368e5a['ReachabilityCheckFlags']=0x180]=_0x1a4e('0x18df'),_0x368e5a[_0x368e5a[_0x1a4e('0x18e0')]=0x580]=_0x1a4e('0x18e0'),_0x368e5a[_0x368e5a[_0x1a4e('0x18e1')]=0xc17800]=_0x1a4e('0x18e1'),_0x368e5a[_0x368e5a[_0x1a4e('0x18e2')]=0x5000]=_0x1a4e('0x18e2'),_0x368e5a[_0x368e5a[_0x1a4e('0x18e3')]=0x180000]=_0x1a4e('0x18e3');}(_0x368e5a[_0x1a4e('0x18e4')]||(_0x368e5a[_0x1a4e('0x18e4')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]='None',_0x368e5a[_0x368e5a[_0x1a4e('0x18e5')]=0x1]=_0x1a4e('0x18e5'),_0x368e5a[_0x368e5a[_0x1a4e('0x18db')]=0x2]=_0x1a4e('0x18db'),_0x368e5a[_0x368e5a[_0x1a4e('0x18e6')]=0x4]='Public',_0x368e5a[_0x368e5a[_0x1a4e('0x18e7')]=0x8]='Private',_0x368e5a[_0x368e5a[_0x1a4e('0x18e8')]=0x10]='Protected',_0x368e5a[_0x368e5a[_0x1a4e('0x18e9')]=0x20]=_0x1a4e('0x18e9'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ea')]=0x40]=_0x1a4e('0x18ea'),_0x368e5a[_0x368e5a[_0x1a4e('0x18eb')]=0x80]=_0x1a4e('0x18eb'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ec')]=0x100]='Async',_0x368e5a[_0x368e5a['Default']=0x200]=_0x1a4e('0x18ed'),_0x368e5a[_0x368e5a['Const']=0x800]='Const',_0x368e5a[_0x368e5a[_0x1a4e('0x18ee')]=0x20000000]=_0x1a4e('0x18ee'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ef')]=0x1c]='AccessibilityModifier',_0x368e5a[_0x368e5a['ParameterPropertyModifier']=0x5c]=_0x1a4e('0x18f0'),_0x368e5a[_0x368e5a['NonPublicAccessibilityModifier']=0x18]=_0x1a4e('0x18f1'),_0x368e5a[_0x368e5a['TypeScriptModifier']=0x8de]='TypeScriptModifier',_0x368e5a[_0x368e5a[_0x1a4e('0x18f2')]=0x201]=_0x1a4e('0x18f2'),_0x368e5a[_0x368e5a[_0x1a4e('0x18f3')]=0xbff]=_0x1a4e('0x18f3');}(_0x368e5a['ModifierFlags']||(_0x368e5a['ModifierFlags']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['IntrinsicNamedElement']=0x1]='IntrinsicNamedElement',_0x368e5a[_0x368e5a[_0x1a4e('0x18f4')]=0x2]=_0x1a4e('0x18f4'),_0x368e5a[_0x368e5a[_0x1a4e('0x18f5')]=0x3]=_0x1a4e('0x18f5');}(_0x368e5a['JsxFlags']||(_0x368e5a[_0x1a4e('0x18f6')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Succeeded']=0x1]='Succeeded',_0x368e5a[_0x368e5a[_0x1a4e('0x18f7')]=0x2]=_0x1a4e('0x18f7'),_0x368e5a[_0x368e5a[_0x1a4e('0x18f8')]=0x3]='FailedAndReported';}(_0x368e5a[_0x1a4e('0x18f9')]||(_0x368e5a[_0x1a4e('0x18f9')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]='None',_0x368e5a[_0x368e5a[_0x1a4e('0x18fa')]=0x1]=_0x1a4e('0x18fa'),_0x368e5a[_0x368e5a['Loop']=0x2]=_0x1a4e('0x18fb'),_0x368e5a[_0x368e5a[_0x1a4e('0x18fc')]=0x3]=_0x1a4e('0x18fc'),_0x368e5a[_0x368e5a[_0x1a4e('0x882')]=0x4]=_0x1a4e('0x882'),_0x368e5a[_0x368e5a[_0x1a4e('0x18fd')]=0x7]=_0x1a4e('0x18fd'),_0x368e5a[_0x368e5a[_0x1a4e('0x18fe')]=0x8]=_0x1a4e('0x18fe'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ff')]=0x10]=_0x1a4e('0x18ff'),_0x368e5a[_0x368e5a[_0x1a4e('0x1900')]=0x20]='FileLevel';}(_0x368e5a[_0x1a4e('0x1901')]||(_0x368e5a[_0x1a4e('0x1901')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['PrecedingLineBreak']=0x1]=_0x1a4e('0x1902'),_0x368e5a[_0x368e5a[_0x1a4e('0x1903')]=0x2]=_0x1a4e('0x1903'),_0x368e5a[_0x368e5a[_0x1a4e('0x1904')]=0x4]=_0x1a4e('0x1904'),_0x368e5a[_0x368e5a[_0x1a4e('0x1905')]=0x8]=_0x1a4e('0x1905'),_0x368e5a[_0x368e5a[_0x1a4e('0x1906')]=0x10]=_0x1a4e('0x1906'),_0x368e5a[_0x368e5a[_0x1a4e('0x1907')]=0x20]=_0x1a4e('0x1907'),_0x368e5a[_0x368e5a[_0x1a4e('0x1908')]=0x40]='HexSpecifier',_0x368e5a[_0x368e5a[_0x1a4e('0x1909')]=0x80]='BinarySpecifier',_0x368e5a[_0x368e5a[_0x1a4e('0x190a')]=0x100]=_0x1a4e('0x190a'),_0x368e5a[_0x368e5a[_0x1a4e('0x190b')]=0x200]=_0x1a4e('0x190b'),_0x368e5a[_0x368e5a[_0x1a4e('0x190c')]=0x180]=_0x1a4e('0x190c'),_0x368e5a[_0x368e5a[_0x1a4e('0x190d')]=0x3f0]=_0x1a4e('0x190d');}(_0x368e5a['TokenFlags']||(_0x368e5a['TokenFlags']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x190e')]=0x1]=_0x1a4e('0x190e'),_0x368e5a[_0x368e5a['Start']=0x2]='Start',_0x368e5a[_0x368e5a[_0x1a4e('0x190f')]=0x4]=_0x1a4e('0x190f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1910')]=0x8]=_0x1a4e('0x1910'),_0x368e5a[_0x368e5a[_0x1a4e('0x1911')]=0x10]=_0x1a4e('0x1911'),_0x368e5a[_0x368e5a['TrueCondition']=0x20]=_0x1a4e('0x1912'),_0x368e5a[_0x368e5a[_0x1a4e('0x1913')]=0x40]='FalseCondition',_0x368e5a[_0x368e5a[_0x1a4e('0x1914')]=0x80]='SwitchClause',_0x368e5a[_0x368e5a[_0x1a4e('0x1915')]=0x100]=_0x1a4e('0x1915'),_0x368e5a[_0x368e5a['Referenced']=0x200]=_0x1a4e('0x1916'),_0x368e5a[_0x368e5a['Shared']=0x400]=_0x1a4e('0x1917'),_0x368e5a[_0x368e5a[_0x1a4e('0x1918')]=0x800]=_0x1a4e('0x1918'),_0x368e5a[_0x368e5a[_0x1a4e('0x1919')]=0x1000]='AfterFinally',_0x368e5a[_0x368e5a[_0x1a4e('0x191a')]=0xc]=_0x1a4e('0x191a'),_0x368e5a[_0x368e5a['Condition']=0x60]='Condition';}(_0x368e5a[_0x1a4e('0x191b')]||(_0x368e5a[_0x1a4e('0x191b')]={}));var _0x146f6e,_0x2327c6=function(){};_0x368e5a[_0x1a4e('0x191c')]=_0x2327c6,function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x191d')]=0x0]='Not',_0x368e5a[_0x368e5a['SafeModules']=0x1]=_0x1a4e('0x191e'),_0x368e5a[_0x368e5a[_0x1a4e('0x191f')]=0x2]=_0x1a4e('0x191f');}(_0x368e5a[_0x1a4e('0x1920')]||(_0x368e5a[_0x1a4e('0x1920')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Success']=0x0]=_0x1a4e('0x16ca'),_0x368e5a[_0x368e5a['DiagnosticsPresent_OutputsSkipped']=0x1]=_0x1a4e('0x1921'),_0x368e5a[_0x368e5a[_0x1a4e('0x1922')]=0x2]=_0x1a4e('0x1922');}(_0x368e5a[_0x1a4e('0x1923')]||(_0x368e5a[_0x1a4e('0x1923')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['Literal']=0x1]='Literal',_0x368e5a[_0x368e5a[_0x1a4e('0x1924')]=0x2]=_0x1a4e('0x1924');}(_0x368e5a[_0x1a4e('0x1925')]||(_0x368e5a['UnionReduction']={})),function(_0x368e5a){_0x368e5a[_0x368e5a['None']=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x1926')]=0x1]=_0x1a4e('0x1926'),_0x368e5a[_0x368e5a['WriteArrayAsGenericType']=0x2]=_0x1a4e('0x1927'),_0x368e5a[_0x368e5a[_0x1a4e('0x1928')]=0x4]=_0x1a4e('0x1928'),_0x368e5a[_0x368e5a[_0x1a4e('0x1929')]=0x8]=_0x1a4e('0x1929'),_0x368e5a[_0x368e5a[_0x1a4e('0x192a')]=0x10]=_0x1a4e('0x192a'),_0x368e5a[_0x368e5a[_0x1a4e('0x192b')]=0x20]=_0x1a4e('0x192b'),_0x368e5a[_0x368e5a[_0x1a4e('0x192c')]=0x40]=_0x1a4e('0x192c'),_0x368e5a[_0x368e5a['UseOnlyExternalAliasing']=0x80]=_0x1a4e('0x192d'),_0x368e5a[_0x368e5a[_0x1a4e('0x192e')]=0x100]=_0x1a4e('0x192e'),_0x368e5a[_0x368e5a['WriteTypeParametersInQualifiedName']=0x200]=_0x1a4e('0x192f'),_0x368e5a[_0x368e5a['MultilineObjectLiterals']=0x400]=_0x1a4e('0x1930'),_0x368e5a[_0x368e5a['WriteClassExpressionAsTypeLiteral']=0x800]=_0x1a4e('0x1931'),_0x368e5a[_0x368e5a[_0x1a4e('0x1932')]=0x1000]=_0x1a4e('0x1932'),_0x368e5a[_0x368e5a['OmitParameterModifiers']=0x2000]=_0x1a4e('0x1933'),_0x368e5a[_0x368e5a['UseAliasDefinedOutsideCurrentScope']=0x4000]='UseAliasDefinedOutsideCurrentScope',_0x368e5a[_0x368e5a['AllowThisInObjectLiteral']=0x8000]=_0x1a4e('0x1934'),_0x368e5a[_0x368e5a[_0x1a4e('0x1935')]=0x10000]='AllowQualifedNameInPlaceOfIdentifier',_0x368e5a[_0x368e5a[_0x1a4e('0x1936')]=0x20000]=_0x1a4e('0x1936'),_0x368e5a[_0x368e5a[_0x1a4e('0x1937')]=0x40000]=_0x1a4e('0x1937'),_0x368e5a[_0x368e5a[_0x1a4e('0x1938')]=0x80000]=_0x1a4e('0x1938'),_0x368e5a[_0x368e5a[_0x1a4e('0x1939')]=0x100000]=_0x1a4e('0x1939'),_0x368e5a[_0x368e5a[_0x1a4e('0x193a')]=0x200000]=_0x1a4e('0x193a'),_0x368e5a[_0x368e5a[_0x1a4e('0x193b')]=0x4000000]=_0x1a4e('0x193b'),_0x368e5a[_0x368e5a[_0x1a4e('0x193c')]=0x8000000]=_0x1a4e('0x193c'),_0x368e5a[_0x368e5a[_0x1a4e('0x193d')]=0x42f8000]='IgnoreErrors',_0x368e5a[_0x368e5a[_0x1a4e('0x193e')]=0x400000]=_0x1a4e('0x193e'),_0x368e5a[_0x368e5a['InTypeAlias']=0x800000]='InTypeAlias',_0x368e5a[_0x368e5a[_0x1a4e('0x193f')]=0x1000000]=_0x1a4e('0x193f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1940')]=0x2000000]=_0x1a4e('0x1940');}(_0x368e5a[_0x1a4e('0x1941')]||(_0x368e5a[_0x1a4e('0x1941')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['NoTruncation']=0x1]=_0x1a4e('0x1926'),_0x368e5a[_0x368e5a[_0x1a4e('0x1927')]=0x2]=_0x1a4e('0x1927'),_0x368e5a[_0x368e5a[_0x1a4e('0x1929')]=0x8]=_0x1a4e('0x1929'),_0x368e5a[_0x368e5a['WriteTypeArgumentsOfSignature']=0x20]='WriteTypeArgumentsOfSignature',_0x368e5a[_0x368e5a[_0x1a4e('0x192c')]=0x40]=_0x1a4e('0x192c'),_0x368e5a[_0x368e5a[_0x1a4e('0x192e')]=0x100]=_0x1a4e('0x192e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1930')]=0x400]=_0x1a4e('0x1930'),_0x368e5a[_0x368e5a[_0x1a4e('0x1931')]=0x800]=_0x1a4e('0x1931'),_0x368e5a[_0x368e5a['UseTypeOfFunction']=0x1000]=_0x1a4e('0x1932'),_0x368e5a[_0x368e5a[_0x1a4e('0x1933')]=0x2000]=_0x1a4e('0x1933'),_0x368e5a[_0x368e5a[_0x1a4e('0x1942')]=0x4000]='UseAliasDefinedOutsideCurrentScope',_0x368e5a[_0x368e5a[_0x1a4e('0x1939')]=0x100000]=_0x1a4e('0x1939'),_0x368e5a[_0x368e5a[_0x1a4e('0x1943')]=0x20000]=_0x1a4e('0x1943'),_0x368e5a[_0x368e5a['WriteArrowStyleSignature']=0x40000]=_0x1a4e('0x1944'),_0x368e5a[_0x368e5a[_0x1a4e('0x1945')]=0x80000]=_0x1a4e('0x1945'),_0x368e5a[_0x368e5a[_0x1a4e('0x1946')]=0x200000]=_0x1a4e('0x1946'),_0x368e5a[_0x368e5a[_0x1a4e('0x1947')]=0x400000]=_0x1a4e('0x1947'),_0x368e5a[_0x368e5a['InTypeAlias']=0x800000]='InTypeAlias',_0x368e5a[_0x368e5a[_0x1a4e('0x1948')]=0x0]=_0x1a4e('0x1948'),_0x368e5a[_0x368e5a[_0x1a4e('0x1949')]=0x907d6b]=_0x1a4e('0x1949');}(_0x368e5a['TypeFormatFlags']||(_0x368e5a[_0x1a4e('0x194a')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]='None',_0x368e5a[_0x368e5a[_0x1a4e('0x194b')]=0x1]='WriteTypeParametersOrArguments',_0x368e5a[_0x368e5a[_0x1a4e('0x192d')]=0x2]='UseOnlyExternalAliasing',_0x368e5a[_0x368e5a[_0x1a4e('0x194c')]=0x4]=_0x1a4e('0x194c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1942')]=0x8]='UseAliasDefinedOutsideCurrentScope',_0x368e5a[_0x368e5a[_0x1a4e('0x193c')]=0x10]='DoNotIncludeSymbolChain';}(_0x368e5a[_0x1a4e('0x194d')]||(_0x368e5a[_0x1a4e('0x194d')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x194e')]=0x0]=_0x1a4e('0x194e'),_0x368e5a[_0x368e5a[_0x1a4e('0x194f')]=0x1]=_0x1a4e('0x194f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1950')]=0x2]=_0x1a4e('0x1950');}(_0x368e5a[_0x1a4e('0x1951')]||(_0x368e5a[_0x1a4e('0x1951')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['UnionOrIntersection']=0x0]='UnionOrIntersection',_0x368e5a[_0x368e5a[_0x1a4e('0x1952')]=0x1]=_0x1a4e('0x1952');}(_0x368e5a[_0x1a4e('0x1953')]||(_0x368e5a[_0x1a4e('0x1953')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1954')]=0x0]=_0x1a4e('0x1954'),_0x368e5a[_0x368e5a[_0x1a4e('0x17cb')]=0x1]=_0x1a4e('0x17cb');}(_0x368e5a[_0x1a4e('0x1955')]||(_0x368e5a['TypePredicateKind']={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Unknown']=0x0]=_0x1a4e('0x1785'),_0x368e5a[_0x368e5a[_0x1a4e('0x1956')]=0x1]='TypeWithConstructSignatureAndValue',_0x368e5a[_0x368e5a[_0x1a4e('0x1957')]=0x2]=_0x1a4e('0x1957'),_0x368e5a[_0x368e5a[_0x1a4e('0x1958')]=0x3]='NumberLikeType',_0x368e5a[_0x368e5a[_0x1a4e('0x1959')]=0x4]='BigIntLikeType',_0x368e5a[_0x368e5a['StringLikeType']=0x5]=_0x1a4e('0x195a'),_0x368e5a[_0x368e5a[_0x1a4e('0x195b')]=0x6]=_0x1a4e('0x195b'),_0x368e5a[_0x368e5a[_0x1a4e('0x195c')]=0x7]=_0x1a4e('0x195c'),_0x368e5a[_0x368e5a['ESSymbolType']=0x8]=_0x1a4e('0x195d'),_0x368e5a[_0x368e5a[_0x1a4e('0xf55')]=0x9]=_0x1a4e('0xf55'),_0x368e5a[_0x368e5a[_0x1a4e('0x195e')]=0xa]='TypeWithCallSignature',_0x368e5a[_0x368e5a[_0x1a4e('0x195f')]=0xb]=_0x1a4e('0x195f');}(_0x368e5a['TypeReferenceSerializationKind']||(_0x368e5a[_0x1a4e('0x1960')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['FunctionScopedVariable']=0x1]=_0x1a4e('0x1961'),_0x368e5a[_0x368e5a[_0x1a4e('0x1962')]=0x2]=_0x1a4e('0x1962'),_0x368e5a[_0x368e5a[_0x1a4e('0x1963')]=0x4]=_0x1a4e('0x1963'),_0x368e5a[_0x368e5a[_0x1a4e('0x1887')]=0x8]='EnumMember',_0x368e5a[_0x368e5a['Function']=0x10]='Function',_0x368e5a[_0x368e5a[_0x1a4e('0x1964')]=0x20]=_0x1a4e('0x1964'),_0x368e5a[_0x368e5a['Interface']=0x40]=_0x1a4e('0x1965'),_0x368e5a[_0x368e5a[_0x1a4e('0x1966')]=0x80]='ConstEnum',_0x368e5a[_0x368e5a[_0x1a4e('0x1967')]=0x100]=_0x1a4e('0x1967'),_0x368e5a[_0x368e5a[_0x1a4e('0x1968')]=0x200]=_0x1a4e('0x1968'),_0x368e5a[_0x368e5a[_0x1a4e('0x1969')]=0x400]='NamespaceModule',_0x368e5a[_0x368e5a[_0x1a4e('0x1825')]=0x800]=_0x1a4e('0x1825'),_0x368e5a[_0x368e5a[_0x1a4e('0x196a')]=0x1000]='ObjectLiteral',_0x368e5a[_0x368e5a[_0x1a4e('0x196b')]=0x2000]=_0x1a4e('0x196b'),_0x368e5a[_0x368e5a[_0x1a4e('0x181b')]=0x4000]=_0x1a4e('0x181b'),_0x368e5a[_0x368e5a['GetAccessor']=0x8000]=_0x1a4e('0x181c'),_0x368e5a[_0x368e5a[_0x1a4e('0x181d')]=0x10000]=_0x1a4e('0x181d'),_0x368e5a[_0x368e5a[_0x1a4e('0x196c')]=0x20000]=_0x1a4e('0x196c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1816')]=0x40000]='TypeParameter',_0x368e5a[_0x368e5a['TypeAlias']=0x80000]=_0x1a4e('0x196d'),_0x368e5a[_0x368e5a[_0x1a4e('0x196e')]=0x100000]=_0x1a4e('0x196e'),_0x368e5a[_0x368e5a[_0x1a4e('0x196f')]=0x200000]=_0x1a4e('0x196f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1970')]=0x400000]=_0x1a4e('0x1970'),_0x368e5a[_0x368e5a['ExportStar']=0x800000]='ExportStar',_0x368e5a[_0x368e5a[_0x1a4e('0x1971')]=0x1000000]=_0x1a4e('0x1971'),_0x368e5a[_0x368e5a[_0x1a4e('0x1972')]=0x2000000]='Transient',_0x368e5a[_0x368e5a[_0x1a4e('0x1911')]=0x4000000]=_0x1a4e('0x1911'),_0x368e5a[_0x368e5a[_0x1a4e('0x1973')]=0x8000000]=_0x1a4e('0x1973'),_0x368e5a[_0x368e5a['All']=0x3ffffff]='All',_0x368e5a[_0x368e5a[_0x1a4e('0x1974')]=0x180]=_0x1a4e('0x1974'),_0x368e5a[_0x368e5a['Variable']=0x3]='Variable',_0x368e5a[_0x368e5a[_0x1a4e('0x1975')]=0x401b3bf]=_0x1a4e('0x1975'),_0x368e5a[_0x368e5a[_0x1a4e('0x3d4')]=0x40c09e8]='Type',_0x368e5a[_0x368e5a[_0x1a4e('0x18ca')]=0x780]=_0x1a4e('0x18ca'),_0x368e5a[_0x368e5a[_0x1a4e('0x5')]=0x600]='Module',_0x368e5a[_0x368e5a[_0x1a4e('0x1976')]=0x18000]='Accessor',_0x368e5a[_0x368e5a['FunctionScopedVariableExcludes']=0x401b3be]=_0x1a4e('0x1977'),_0x368e5a[_0x368e5a[_0x1a4e('0x1978')]=0x401b3bf]=_0x1a4e('0x1978'),_0x368e5a[_0x368e5a[_0x1a4e('0x1979')]=0x401b3bf]=_0x1a4e('0x1979'),_0x368e5a[_0x368e5a['PropertyExcludes']=0x0]=_0x1a4e('0x197a'),_0x368e5a[_0x368e5a[_0x1a4e('0x197b')]=0x40dbbff]=_0x1a4e('0x197b'),_0x368e5a[_0x368e5a[_0x1a4e('0x197c')]=0x401b1af]='FunctionExcludes',_0x368e5a[_0x368e5a[_0x1a4e('0x197d')]=0x40db9bf]=_0x1a4e('0x197d'),_0x368e5a[_0x368e5a[_0x1a4e('0x197e')]=0x40c0988]='InterfaceExcludes',_0x368e5a[_0x368e5a['RegularEnumExcludes']=0x40db8ff]=_0x1a4e('0x197f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1980')]=0x40dbb7f]=_0x1a4e('0x1980'),_0x368e5a[_0x368e5a[_0x1a4e('0x1981')]=0x1b08f]=_0x1a4e('0x1981'),_0x368e5a[_0x368e5a[_0x1a4e('0x1982')]=0x0]=_0x1a4e('0x1982'),_0x368e5a[_0x368e5a['MethodExcludes']=0x40193bf]=_0x1a4e('0x1983'),_0x368e5a[_0x368e5a[_0x1a4e('0x1984')]=0x400b3bf]=_0x1a4e('0x1984'),_0x368e5a[_0x368e5a[_0x1a4e('0x1985')]=0x40133bf]=_0x1a4e('0x1985'),_0x368e5a[_0x368e5a[_0x1a4e('0x1986')]=0x40809e8]='TypeParameterExcludes',_0x368e5a[_0x368e5a[_0x1a4e('0x1987')]=0x40c09e8]=_0x1a4e('0x1987'),_0x368e5a[_0x368e5a['AliasExcludes']=0x200000]='AliasExcludes',_0x368e5a[_0x368e5a[_0x1a4e('0x1988')]=0x2807f3]=_0x1a4e('0x1988'),_0x368e5a[_0x368e5a['ExportHasLocal']=0x3b0]=_0x1a4e('0x1989'),_0x368e5a[_0x368e5a[_0x1a4e('0x18de')]=0x1a2]=_0x1a4e('0x18de'),_0x368e5a[_0x368e5a[_0x1a4e('0x198a')]=0x18004]=_0x1a4e('0x198a'),_0x368e5a[_0x368e5a[_0x1a4e('0x198b')]=0x1a004]=_0x1a4e('0x198b'),_0x368e5a[_0x368e5a[_0x1a4e('0x198c')]=0x2c07e0]='Classifiable',_0x368e5a[_0x368e5a['LateBindingContainer']=0x1860]=_0x1a4e('0x198d');}(_0x368e5a[_0x1a4e('0x198e')]||(_0x368e5a[_0x1a4e('0x198e')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x198f')]=0x0]=_0x1a4e('0x198f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1990')]=0x1]=_0x1a4e('0x1990');}(_0x368e5a['EnumKind']||(_0x368e5a[_0x1a4e('0x1991')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1992')]=0x1]=_0x1a4e('0x1992'),_0x368e5a[_0x368e5a[_0x1a4e('0x1993')]=0x2]=_0x1a4e('0x1993'),_0x368e5a[_0x368e5a['SyntheticMethod']=0x4]=_0x1a4e('0x1994'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ea')]=0x8]='Readonly',_0x368e5a[_0x368e5a[_0x1a4e('0x1995')]=0x10]=_0x1a4e('0x1995'),_0x368e5a[_0x368e5a[_0x1a4e('0x1996')]=0x20]=_0x1a4e('0x1996'),_0x368e5a[_0x368e5a[_0x1a4e('0x1997')]=0x40]=_0x1a4e('0x1997'),_0x368e5a[_0x368e5a[_0x1a4e('0x1998')]=0x80]=_0x1a4e('0x1998'),_0x368e5a[_0x368e5a[_0x1a4e('0x1999')]=0x100]=_0x1a4e('0x1999'),_0x368e5a[_0x368e5a[_0x1a4e('0x199a')]=0x200]='ContainsStatic',_0x368e5a[_0x368e5a[_0x1a4e('0x199b')]=0x400]='Late',_0x368e5a[_0x368e5a[_0x1a4e('0x199c')]=0x800]=_0x1a4e('0x199c'),_0x368e5a[_0x368e5a[_0x1a4e('0x199d')]=0x1000]='OptionalParameter',_0x368e5a[_0x368e5a[_0x1a4e('0x199e')]=0x2000]=_0x1a4e('0x199e'),_0x368e5a[_0x368e5a[_0x1a4e('0x199f')]=0x6]=_0x1a4e('0x199f');}(_0x368e5a['CheckFlags']||(_0x368e5a[_0x1a4e('0x19a0')]={})),function(_0x368e5a){_0x368e5a['Call']=_0x1a4e('0x19a1'),_0x368e5a[_0x1a4e('0x181b')]=_0x1a4e('0x19a2'),_0x368e5a[_0x1a4e('0x19a3')]=_0x1a4e('0x19a4'),_0x368e5a[_0x1a4e('0x19a5')]=_0x1a4e('0x19a6'),_0x368e5a[_0x1a4e('0x19a7')]=_0x1a4e('0x19a8'),_0x368e5a['Global']=_0x1a4e('0x19a9'),_0x368e5a[_0x1a4e('0x19aa')]='__missing',_0x368e5a[_0x1a4e('0x3d4')]='__type',_0x368e5a[_0x1a4e('0xfb5')]=_0x1a4e('0x19ab'),_0x368e5a[_0x1a4e('0x19ac')]=_0x1a4e('0x19ad'),_0x368e5a[_0x1a4e('0x1964')]='__class',_0x368e5a['Function']=_0x1a4e('0x19ae'),_0x368e5a[_0x1a4e('0x19af')]=_0x1a4e('0x19b0'),_0x368e5a[_0x1a4e('0x19b1')]=_0x1a4e('0x19b2'),_0x368e5a[_0x1a4e('0x19b3')]=_0x1a4e('0x19b4'),_0x368e5a[_0x1a4e('0x18ed')]=_0x1a4e('0x8'),_0x368e5a[_0x1a4e('0x1954')]=_0x1a4e('0x19b5');}(_0x368e5a['InternalSymbolName']||(_0x368e5a[_0x1a4e('0x19b6')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x19b7')]=0x1]=_0x1a4e('0x19b7'),_0x368e5a[_0x368e5a[_0x1a4e('0x19b8')]=0x2]='LexicalThis',_0x368e5a[_0x368e5a['CaptureThis']=0x4]=_0x1a4e('0x19b9'),_0x368e5a[_0x368e5a['CaptureNewTarget']=0x8]='CaptureNewTarget',_0x368e5a[_0x368e5a[_0x1a4e('0x19ba')]=0x100]=_0x1a4e('0x19ba'),_0x368e5a[_0x368e5a[_0x1a4e('0x19bb')]=0x200]='SuperStatic',_0x368e5a[_0x368e5a[_0x1a4e('0x19bc')]=0x400]=_0x1a4e('0x19bc'),_0x368e5a[_0x368e5a['AsyncMethodWithSuper']=0x800]=_0x1a4e('0x19bd'),_0x368e5a[_0x368e5a[_0x1a4e('0x19be')]=0x1000]='AsyncMethodWithSuperBinding',_0x368e5a[_0x368e5a[_0x1a4e('0x19bf')]=0x2000]='CaptureArguments',_0x368e5a[_0x368e5a[_0x1a4e('0x19c0')]=0x4000]=_0x1a4e('0x19c0'),_0x368e5a[_0x368e5a[_0x1a4e('0x19c1')]=0x8000]=_0x1a4e('0x19c1'),_0x368e5a[_0x368e5a[_0x1a4e('0x19c2')]=0x10000]=_0x1a4e('0x19c2'),_0x368e5a[_0x368e5a['ContainsCapturedBlockScopeBinding']=0x20000]=_0x1a4e('0x19c3'),_0x368e5a[_0x368e5a[_0x1a4e('0x19c4')]=0x40000]='CapturedBlockScopedBinding',_0x368e5a[_0x368e5a[_0x1a4e('0x19c5')]=0x80000]=_0x1a4e('0x19c5'),_0x368e5a[_0x368e5a[_0x1a4e('0x19c6')]=0x100000]=_0x1a4e('0x19c6'),_0x368e5a[_0x368e5a[_0x1a4e('0x19c7')]=0x200000]='BodyScopedClassBinding',_0x368e5a[_0x368e5a['NeedsLoopOutParameter']=0x400000]='NeedsLoopOutParameter',_0x368e5a[_0x368e5a[_0x1a4e('0x19c8')]=0x800000]=_0x1a4e('0x19c8'),_0x368e5a[_0x368e5a[_0x1a4e('0x19c9')]=0x1000000]=_0x1a4e('0x19c9'),_0x368e5a[_0x368e5a[_0x1a4e('0x19ca')]=0x2000000]=_0x1a4e('0x19ca');}(_0x368e5a['NodeCheckFlags']||(_0x368e5a[_0x1a4e('0x19cb')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x19cc')]=0x1]=_0x1a4e('0x19cc'),_0x368e5a[_0x368e5a['Unknown']=0x2]=_0x1a4e('0x1785'),_0x368e5a[_0x368e5a[_0x1a4e('0x1011')]=0x4]=_0x1a4e('0x1011'),_0x368e5a[_0x368e5a[_0x1a4e('0x16da')]=0x8]='Number',_0x368e5a[_0x368e5a[_0x1a4e('0x16db')]=0x10]='Boolean',_0x368e5a[_0x368e5a[_0x1a4e('0x1974')]=0x20]=_0x1a4e('0x1974'),_0x368e5a[_0x368e5a[_0x1a4e('0x19cd')]=0x40]=_0x1a4e('0x19cd'),_0x368e5a[_0x368e5a[_0x1a4e('0x178e')]=0x80]=_0x1a4e('0x178e'),_0x368e5a[_0x368e5a['NumberLiteral']=0x100]=_0x1a4e('0x19ce'),_0x368e5a[_0x368e5a[_0x1a4e('0x19cf')]=0x200]=_0x1a4e('0x19cf'),_0x368e5a[_0x368e5a[_0x1a4e('0x19d0')]=0x400]=_0x1a4e('0x19d0'),_0x368e5a[_0x368e5a[_0x1a4e('0x178d')]=0x800]=_0x1a4e('0x178d'),_0x368e5a[_0x368e5a[_0x1a4e('0x19d1')]=0x1000]=_0x1a4e('0x19d1'),_0x368e5a[_0x368e5a[_0x1a4e('0x19d2')]=0x2000]=_0x1a4e('0x19d2'),_0x368e5a[_0x368e5a['Void']=0x4000]=_0x1a4e('0x19d3'),_0x368e5a[_0x368e5a[_0x1a4e('0x116b')]=0x8000]=_0x1a4e('0x116b'),_0x368e5a[_0x368e5a['Null']=0x10000]=_0x1a4e('0x19d4'),_0x368e5a[_0x368e5a['Never']=0x20000]=_0x1a4e('0x19d5'),_0x368e5a[_0x368e5a['TypeParameter']=0x40000]=_0x1a4e('0x1816'),_0x368e5a[_0x368e5a[_0x1a4e('0xfb5')]=0x80000]='Object',_0x368e5a[_0x368e5a[_0x1a4e('0x19d6')]=0x100000]='Union',_0x368e5a[_0x368e5a[_0x1a4e('0x19d7')]=0x200000]=_0x1a4e('0x19d7'),_0x368e5a[_0x368e5a[_0x1a4e('0x19a5')]=0x400000]='Index',_0x368e5a[_0x368e5a[_0x1a4e('0x19d8')]=0x800000]=_0x1a4e('0x19d8'),_0x368e5a[_0x368e5a[_0x1a4e('0x19d9')]=0x1000000]='Conditional',_0x368e5a[_0x368e5a[_0x1a4e('0x19da')]=0x2000000]=_0x1a4e('0x19da'),_0x368e5a[_0x368e5a['NonPrimitive']=0x4000000]=_0x1a4e('0x19db'),_0x368e5a[_0x368e5a[_0x1a4e('0x19dc')]=0x8000000]=_0x1a4e('0x19dc'),_0x368e5a[_0x368e5a[_0x1a4e('0x19dd')]=0x10000000]='ContainsObjectLiteral',_0x368e5a[_0x368e5a['ContainsAnyFunctionType']=0x20000000]=_0x1a4e('0x19de'),_0x368e5a[_0x368e5a[_0x1a4e('0x19df')]=0x3]=_0x1a4e('0x19df'),_0x368e5a[_0x368e5a['Nullable']=0x18000]=_0x1a4e('0x19e0'),_0x368e5a[_0x368e5a[_0x1a4e('0x1990')]=0xb80]=_0x1a4e('0x1990'),_0x368e5a[_0x368e5a[_0x1a4e('0x19e1')]=0x1ab80]='Unit',_0x368e5a[_0x368e5a[_0x1a4e('0x19e2')]=0x180]=_0x1a4e('0x19e2'),_0x368e5a[_0x368e5a[_0x1a4e('0x19e3')]=0x2180]=_0x1a4e('0x19e3'),_0x368e5a[_0x368e5a[_0x1a4e('0x19e4')]=0x1cb80]=_0x1a4e('0x19e4'),_0x368e5a[_0x368e5a[_0x1a4e('0x19e5')]=0x1cbdc]='PossiblyFalsy',_0x368e5a[_0x368e5a['Intrinsic']=0x403d25f]='Intrinsic',_0x368e5a[_0x368e5a[_0x1a4e('0x19e6')]=0x1fffc]=_0x1a4e('0x19e6'),_0x368e5a[_0x368e5a['StringLike']=0x84]='StringLike',_0x368e5a[_0x368e5a[_0x1a4e('0x19e7')]=0x128]=_0x1a4e('0x19e7'),_0x368e5a[_0x368e5a[_0x1a4e('0x19e8')]=0x840]=_0x1a4e('0x19e8'),_0x368e5a[_0x368e5a['BooleanLike']=0x210]='BooleanLike',_0x368e5a[_0x368e5a[_0x1a4e('0x19e9')]=0x420]='EnumLike',_0x368e5a[_0x368e5a[_0x1a4e('0x19ea')]=0x3000]=_0x1a4e('0x19ea'),_0x368e5a[_0x368e5a[_0x1a4e('0x19eb')]=0xc000]=_0x1a4e('0x19eb'),_0x368e5a[_0x368e5a[_0x1a4e('0x19ec')]=0x401fbfc]='DisjointDomains',_0x368e5a[_0x368e5a[_0x1a4e('0x19ed')]=0x300000]='UnionOrIntersection',_0x368e5a[_0x368e5a[_0x1a4e('0x19ee')]=0x380000]=_0x1a4e('0x19ee'),_0x368e5a[_0x368e5a['TypeVariable']=0x840000]=_0x1a4e('0x19ef'),_0x368e5a[_0x368e5a[_0x1a4e('0x19f0')]=0x3840000]=_0x1a4e('0x19f0'),_0x368e5a[_0x368e5a[_0x1a4e('0x19f1')]=0x400000]=_0x1a4e('0x19f1'),_0x368e5a[_0x368e5a[_0x1a4e('0x19f2')]=0x3c40000]='Instantiable',_0x368e5a[_0x368e5a[_0x1a4e('0x19f3')]=0x3fc0000]=_0x1a4e('0x19f3'),_0x368e5a[_0x368e5a[_0x1a4e('0x19f4')]=0x7fc3bff]=_0x1a4e('0x19f4'),_0x368e5a[_0x368e5a[_0x1a4e('0x19f5')]=0x4081003]=_0x1a4e('0x19f5'),_0x368e5a[_0x368e5a[_0x1a4e('0x19f6')]=0x3fe4023]=_0x1a4e('0x19f6'),_0x368e5a[_0x368e5a[_0x1a4e('0x19f7')]=0x18000000]=_0x1a4e('0x19f7'),_0x368e5a[_0x368e5a[_0x1a4e('0x19f8')]=0x38000000]=_0x1a4e('0x19f8'),_0x368e5a[_0x368e5a['NonWideningType']=0x8000000]=_0x1a4e('0x19f9'),_0x368e5a[_0x368e5a[_0x1a4e('0x19fa')]=0x10000000]=_0x1a4e('0x19fa'),_0x368e5a[_0x368e5a[_0x1a4e('0x19fb')]=0x20000000]=_0x1a4e('0x19fb'),_0x368e5a[_0x368e5a[_0x1a4e('0x19fc')]=0x38000000]='ConstructionFlags',_0x368e5a[_0x368e5a[_0x1a4e('0x19fd')]=0x8000000]=_0x1a4e('0x19fd');}(_0x368e5a[_0x1a4e('0x19fe')]||(_0x368e5a[_0x1a4e('0x19fe')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Class']=0x1]='Class',_0x368e5a[_0x368e5a['Interface']=0x2]=_0x1a4e('0x1965'),_0x368e5a[_0x368e5a['Reference']=0x4]='Reference',_0x368e5a[_0x368e5a[_0x1a4e('0x19ff')]=0x8]=_0x1a4e('0x19ff'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a00')]=0x10]=_0x1a4e('0x1a00'),_0x368e5a[_0x368e5a['Mapped']=0x20]=_0x1a4e('0x1a01'),_0x368e5a[_0x368e5a['Instantiated']=0x40]=_0x1a4e('0x1992'),_0x368e5a[_0x368e5a['ObjectLiteral']=0x80]=_0x1a4e('0x196a'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a02')]=0x100]=_0x1a4e('0x1a02'),_0x368e5a[_0x368e5a['ObjectLiteralPatternWithComputedProperties']=0x200]='ObjectLiteralPatternWithComputedProperties',_0x368e5a[_0x368e5a[_0x1a4e('0x1a03')]=0x400]=_0x1a4e('0x1a03'),_0x368e5a[_0x368e5a[_0x1a4e('0x199c')]=0x800]=_0x1a4e('0x199c'),_0x368e5a[_0x368e5a[_0x1a4e('0x187d')]=0x1000]=_0x1a4e('0x187d'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a04')]=0x2000]='MarkerType',_0x368e5a[_0x368e5a[_0x1a4e('0x1a05')]=0x4000]='JSLiteral',_0x368e5a[_0x368e5a[_0x1a4e('0x1a06')]=0x8000]=_0x1a4e('0x1a06'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a07')]=0x3]=_0x1a4e('0x1a07');}(_0x368e5a[_0x1a4e('0x1a08')]||(_0x368e5a[_0x1a4e('0x1a08')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1a09')]=0x0]=_0x1a4e('0x1a09'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a0a')]=0x1]=_0x1a4e('0x1a0a'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a0b')]=0x2]=_0x1a4e('0x1a0b'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a0c')]=0x3]=_0x1a4e('0x1a0c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a0d')]=0x4]=_0x1a4e('0x1a0d');}(_0x368e5a['Variance']||(_0x368e5a[_0x1a4e('0x1a0e')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1680')]=0x0]=_0x1a4e('0x1680'),_0x368e5a[_0x368e5a['Function']=0x1]=_0x1a4e('0x1a0f'),_0x368e5a[_0x368e5a[_0x1a4e('0x16dc')]=0x2]=_0x1a4e('0x16dc');}(_0x368e5a[_0x1a4e('0x1a10')]||(_0x368e5a[_0x1a4e('0x1a10')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1a11')]=0x0]=_0x1a4e('0x1a11'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a12')]=0x1]='Construct';}(_0x368e5a[_0x1a4e('0x1a13')]||(_0x368e5a[_0x1a4e('0x1a13')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1011')]=0x0]=_0x1a4e('0x1011'),_0x368e5a[_0x368e5a['Number']=0x1]=_0x1a4e('0x16da');}(_0x368e5a[_0x1a4e('0x1a14')]||(_0x368e5a['IndexKind']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1a15')]=0x1]=_0x1a4e('0x1a15'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a16')]=0x2]=_0x1a4e('0x1a16'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a17')]=0x4]=_0x1a4e('0x1a17'),_0x368e5a[_0x368e5a['ReturnType']=0x8]=_0x1a4e('0x1a18'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a19')]=0x10]=_0x1a4e('0x1a19'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a1a')]=0x20]='NoConstraints',_0x368e5a[_0x368e5a[_0x1a4e('0x1a1b')]=0x40]='AlwaysStrict',_0x368e5a[_0x368e5a[_0x1a4e('0x1a1c')]=0x1c]=_0x1a4e('0x1a1c');}(_0x368e5a[_0x1a4e('0x1a1d')]||(_0x368e5a[_0x1a4e('0x1a1d')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a1e')]=0x1]=_0x1a4e('0x1a1e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a1f')]=0x2]=_0x1a4e('0x1a1f');}(_0x368e5a[_0x1a4e('0x1a20')]||(_0x368e5a[_0x1a4e('0x1a20')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['False']=0x0]=_0x1a4e('0x1a21'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a22')]=0x1]=_0x1a4e('0x1a22'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a23')]=-0x1]=_0x1a4e('0x1a23');}(_0x368e5a[_0x1a4e('0x1a24')]||(_0x368e5a[_0x1a4e('0x1a24')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]='None',_0x368e5a[_0x368e5a[_0x1a4e('0x1a25')]=0x1]=_0x1a4e('0x1a25'),_0x368e5a[_0x368e5a[_0x1a4e('0x1973')]=0x2]=_0x1a4e('0x1973'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a26')]=0x3]=_0x1a4e('0x1a26'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a27')]=0x4]=_0x1a4e('0x1a27'),_0x368e5a[_0x368e5a[_0x1a4e('0x1963')]=0x5]='Property',_0x368e5a[_0x368e5a[_0x1a4e('0x1970')]=0x6]=_0x1a4e('0x1970'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a28')]=0x7]=_0x1a4e('0x1a28'),_0x368e5a[_0x368e5a['ObjectDefinePropertyExports']=0x8]=_0x1a4e('0x1a29'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a2a')]=0x9]=_0x1a4e('0x1a2a');}(_0x368e5a['AssignmentDeclarationKind']||(_0x368e5a['AssignmentDeclarationKind']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x16d4')]=0x0]=_0x1a4e('0x16d4'),_0x368e5a[_0x368e5a[_0x1a4e('0x101f')]=0x1]=_0x1a4e('0x101f'),_0x368e5a[_0x368e5a['Suggestion']=0x2]=_0x1a4e('0x1a2b'),_0x368e5a[_0x368e5a[_0x1a4e('0x16d5')]=0x3]=_0x1a4e('0x16d5');}(_0x146f6e=_0x368e5a[_0x1a4e('0x16d3')]||(_0x368e5a[_0x1a4e('0x16d3')]={})),_0x368e5a[_0x1a4e('0x1a2c')]=function(_0x368e5a,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=!0x0);var _0x55ff7e=_0x146f6e[_0x368e5a[_0x1a4e('0x1a2d')]];return _0x2327c6?_0x55ff7e[_0x1a4e('0x2b2')]():_0x55ff7e;},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1a2e')]=0x1]=_0x1a4e('0x1a2e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a2f')]=0x2]=_0x1a4e('0x1a2f');}(_0x368e5a['ModuleResolutionKind']||(_0x368e5a['ModuleResolutionKind']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a30')]=0x1]=_0x1a4e('0x1a30'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a31')]=0x2]=_0x1a4e('0x1a31'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a32')]=0x3]='UMD',_0x368e5a[_0x368e5a[_0x1a4e('0x1308')]=0x4]=_0x1a4e('0x1308'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a33')]=0x5]='ES2015',_0x368e5a[_0x368e5a[_0x1a4e('0x1a34')]=0x6]=_0x1a4e('0x1a34');}(_0x368e5a[_0x1a4e('0x1a35')]||(_0x368e5a['ModuleKind']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['Preserve']=0x1]=_0x1a4e('0x1a36'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a37')]=0x2]=_0x1a4e('0x1a37'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a38')]=0x3]=_0x1a4e('0x1a38');}(_0x368e5a[_0x1a4e('0x1a39')]||(_0x368e5a['JsxEmit']={})),function(_0x368e5a){_0x368e5a[_0x368e5a['CarriageReturnLineFeed']=0x0]=_0x1a4e('0x1a3a'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a3b')]=0x1]=_0x1a4e('0x1a3b');}(_0x368e5a[_0x1a4e('0x1a3c')]||(_0x368e5a[_0x1a4e('0x1a3c')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1785')]=0x0]=_0x1a4e('0x1785'),_0x368e5a[_0x368e5a['JS']=0x1]='JS',_0x368e5a[_0x368e5a[_0x1a4e('0x1a3d')]=0x2]=_0x1a4e('0x1a3d'),_0x368e5a[_0x368e5a['TS']=0x3]='TS',_0x368e5a[_0x368e5a[_0x1a4e('0x1a3e')]=0x4]=_0x1a4e('0x1a3e'),_0x368e5a[_0x368e5a['External']=0x5]=_0x1a4e('0x1a3f'),_0x368e5a[_0x368e5a['JSON']=0x6]=_0x1a4e('0x1a40'),_0x368e5a[_0x368e5a['Deferred']=0x7]='Deferred';}(_0x368e5a[_0x1a4e('0x1a41')]||(_0x368e5a[_0x1a4e('0x1a41')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1a42')]=0x0]='ES3',_0x368e5a[_0x368e5a[_0x1a4e('0x1a43')]=0x1]='ES5',_0x368e5a[_0x368e5a[_0x1a4e('0x1a33')]=0x2]=_0x1a4e('0x1a33'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a44')]=0x3]=_0x1a4e('0x1a44'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a45')]=0x4]='ES2017',_0x368e5a[_0x368e5a['ES2018']=0x5]=_0x1a4e('0x1a46'),_0x368e5a[_0x368e5a['ESNext']=0x6]=_0x1a4e('0x1a34'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a40')]=0x64]=_0x1a4e('0x1a40'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a47')]=0x6]=_0x1a4e('0x1a47');}(_0x368e5a[_0x1a4e('0x1a48')]||(_0x368e5a[_0x1a4e('0x1a48')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1a49')]=0x0]='Standard',_0x368e5a[_0x368e5a[_0x1a4e('0x1a3d')]=0x1]='JSX';}(_0x368e5a[_0x1a4e('0x1a4a')]||(_0x368e5a[_0x1a4e('0x1a4a')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['Recursive']=0x1]='Recursive';}(_0x368e5a[_0x1a4e('0x1a4b')]||(_0x368e5a[_0x1a4e('0x1a4b')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1a4c')]=0x0]=_0x1a4e('0x1a4c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a4d')]=0x7f]=_0x1a4e('0x1a4d'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a4e')]=0xa]=_0x1a4e('0x1a4e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a4f')]=0xd]='carriageReturn',_0x368e5a[_0x368e5a[_0x1a4e('0x1a50')]=0x2028]=_0x1a4e('0x1a50'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a51')]=0x2029]=_0x1a4e('0x1a51'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a52')]=0x85]=_0x1a4e('0x1a52'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a53')]=0x20]='space',_0x368e5a[_0x368e5a[_0x1a4e('0x1a54')]=0xa0]='nonBreakingSpace',_0x368e5a[_0x368e5a[_0x1a4e('0x1a55')]=0x2000]=_0x1a4e('0x1a55'),_0x368e5a[_0x368e5a['emQuad']=0x2001]=_0x1a4e('0x1a56'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a57')]=0x2002]=_0x1a4e('0x1a57'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a58')]=0x2003]=_0x1a4e('0x1a58'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a59')]=0x2004]='threePerEmSpace',_0x368e5a[_0x368e5a[_0x1a4e('0x1a5a')]=0x2005]='fourPerEmSpace',_0x368e5a[_0x368e5a[_0x1a4e('0x1a5b')]=0x2006]=_0x1a4e('0x1a5b'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a5c')]=0x2007]=_0x1a4e('0x1a5c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a5d')]=0x2008]='punctuationSpace',_0x368e5a[_0x368e5a[_0x1a4e('0x1a5e')]=0x2009]=_0x1a4e('0x1a5e'),_0x368e5a[_0x368e5a['hairSpace']=0x200a]='hairSpace',_0x368e5a[_0x368e5a[_0x1a4e('0x1a5f')]=0x200b]=_0x1a4e('0x1a5f'),_0x368e5a[_0x368e5a['narrowNoBreakSpace']=0x202f]=_0x1a4e('0x1a60'),_0x368e5a[_0x368e5a['ideographicSpace']=0x3000]=_0x1a4e('0x1a61'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a62')]=0x205f]=_0x1a4e('0x1a62'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a63')]=0x1680]=_0x1a4e('0x1a63'),_0x368e5a[_0x368e5a['_']=0x5f]='_',_0x368e5a[_0x368e5a['$']=0x24]='$',_0x368e5a[_0x368e5a['_0']=0x30]='_0',_0x368e5a[_0x368e5a['_1']=0x31]='_1',_0x368e5a[_0x368e5a['_2']=0x32]='_2',_0x368e5a[_0x368e5a['_3']=0x33]='_3',_0x368e5a[_0x368e5a['_4']=0x34]='_4',_0x368e5a[_0x368e5a['_5']=0x35]='_5',_0x368e5a[_0x368e5a['_6']=0x36]='_6',_0x368e5a[_0x368e5a['_7']=0x37]='_7',_0x368e5a[_0x368e5a['_8']=0x38]='_8',_0x368e5a[_0x368e5a['_9']=0x39]='_9',_0x368e5a[_0x368e5a['a']=0x61]='a',_0x368e5a[_0x368e5a['b']=0x62]='b',_0x368e5a[_0x368e5a['c']=0x63]='c',_0x368e5a[_0x368e5a['d']=0x64]='d',_0x368e5a[_0x368e5a['e']=0x65]='e',_0x368e5a[_0x368e5a['f']=0x66]='f',_0x368e5a[_0x368e5a['g']=0x67]='g',_0x368e5a[_0x368e5a['h']=0x68]='h',_0x368e5a[_0x368e5a['i']=0x69]='i',_0x368e5a[_0x368e5a['j']=0x6a]='j',_0x368e5a[_0x368e5a['k']=0x6b]='k',_0x368e5a[_0x368e5a['l']=0x6c]='l',_0x368e5a[_0x368e5a['m']=0x6d]='m',_0x368e5a[_0x368e5a['n']=0x6e]='n',_0x368e5a[_0x368e5a['o']=0x6f]='o',_0x368e5a[_0x368e5a['p']=0x70]='p',_0x368e5a[_0x368e5a['q']=0x71]='q',_0x368e5a[_0x368e5a['r']=0x72]='r',_0x368e5a[_0x368e5a['s']=0x73]='s',_0x368e5a[_0x368e5a['t']=0x74]='t',_0x368e5a[_0x368e5a['u']=0x75]='u',_0x368e5a[_0x368e5a['v']=0x76]='v',_0x368e5a[_0x368e5a['w']=0x77]='w',_0x368e5a[_0x368e5a['x']=0x78]='x',_0x368e5a[_0x368e5a['y']=0x79]='y',_0x368e5a[_0x368e5a['z']=0x7a]='z',_0x368e5a[_0x368e5a['A']=0x41]='A',_0x368e5a[_0x368e5a['B']=0x42]='B',_0x368e5a[_0x368e5a['C']=0x43]='C',_0x368e5a[_0x368e5a['D']=0x44]='D',_0x368e5a[_0x368e5a['E']=0x45]='E',_0x368e5a[_0x368e5a['F']=0x46]='F',_0x368e5a[_0x368e5a['G']=0x47]='G',_0x368e5a[_0x368e5a['H']=0x48]='H',_0x368e5a[_0x368e5a['I']=0x49]='I',_0x368e5a[_0x368e5a['J']=0x4a]='J',_0x368e5a[_0x368e5a['K']=0x4b]='K',_0x368e5a[_0x368e5a['L']=0x4c]='L',_0x368e5a[_0x368e5a['M']=0x4d]='M',_0x368e5a[_0x368e5a['N']=0x4e]='N',_0x368e5a[_0x368e5a['O']=0x4f]='O',_0x368e5a[_0x368e5a['P']=0x50]='P',_0x368e5a[_0x368e5a['Q']=0x51]='Q',_0x368e5a[_0x368e5a['R']=0x52]='R',_0x368e5a[_0x368e5a['S']=0x53]='S',_0x368e5a[_0x368e5a['T']=0x54]='T',_0x368e5a[_0x368e5a['U']=0x55]='U',_0x368e5a[_0x368e5a['V']=0x56]='V',_0x368e5a[_0x368e5a['W']=0x57]='W',_0x368e5a[_0x368e5a['X']=0x58]='X',_0x368e5a[_0x368e5a['Y']=0x59]='Y',_0x368e5a[_0x368e5a['Z']=0x5a]='Z',_0x368e5a[_0x368e5a[_0x1a4e('0x1a64')]=0x26]=_0x1a4e('0x1a64'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a65')]=0x2a]='asterisk',_0x368e5a[_0x368e5a['at']=0x40]='at',_0x368e5a[_0x368e5a[_0x1a4e('0x1a66')]=0x5c]='backslash',_0x368e5a[_0x368e5a[_0x1a4e('0x1a67')]=0x60]='backtick',_0x368e5a[_0x368e5a[_0x1a4e('0x1579')]=0x7c]=_0x1a4e('0x1579'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a68')]=0x5e]=_0x1a4e('0x1a68'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a69')]=0x7d]=_0x1a4e('0x1a69'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a6a')]=0x5d]=_0x1a4e('0x1a6a'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a6b')]=0x29]=_0x1a4e('0x1a6b'),_0x368e5a[_0x368e5a['colon']=0x3a]=_0x1a4e('0x1a6c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a6d')]=0x2c]='comma',_0x368e5a[_0x368e5a['dot']=0x2e]='dot',_0x368e5a[_0x368e5a[_0x1a4e('0x1a6e')]=0x22]=_0x1a4e('0x1a6e'),_0x368e5a[_0x368e5a[_0x1a4e('0x23e')]=0x3d]=_0x1a4e('0x23e'),_0x368e5a[_0x368e5a['exclamation']=0x21]=_0x1a4e('0x1a6f'),_0x368e5a[_0x368e5a['greaterThan']=0x3e]='greaterThan',_0x368e5a[_0x368e5a[_0x1a4e('0xaa4')]=0x23]=_0x1a4e('0xaa4'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a70')]=0x3c]=_0x1a4e('0x1a70'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a71')]=0x2d]=_0x1a4e('0x1a71'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a72')]=0x7b]=_0x1a4e('0x1a72'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a73')]=0x5b]='openBracket',_0x368e5a[_0x368e5a['openParen']=0x28]=_0x1a4e('0x1a74'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a75')]=0x25]=_0x1a4e('0x1a75'),_0x368e5a[_0x368e5a['plus']=0x2b]=_0x1a4e('0x1a76'),_0x368e5a[_0x368e5a['question']=0x3f]=_0x1a4e('0x1a77'),_0x368e5a[_0x368e5a['semicolon']=0x3b]=_0x1a4e('0x1a78'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a79')]=0x27]='singleQuote',_0x368e5a[_0x368e5a[_0x1a4e('0x1a7a')]=0x2f]=_0x1a4e('0x1a7a'),_0x368e5a[_0x368e5a['tilde']=0x7e]=_0x1a4e('0x1a7b'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a7c')]=0x8]=_0x1a4e('0x1a7c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a7d')]=0xc]=_0x1a4e('0x1a7d'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a7e')]=0xfeff]=_0x1a4e('0x1a7e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a7f')]=0x9]=_0x1a4e('0x1a7f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a80')]=0xb]=_0x1a4e('0x1a80');}(_0x368e5a['CharacterCodes']||(_0x368e5a[_0x1a4e('0x167c')]={})),function(_0x368e5a){_0x368e5a['Ts']='.ts',_0x368e5a['Tsx']=_0x1a4e('0x1a81'),_0x368e5a[_0x1a4e('0x1a82')]=_0x1a4e('0x1a83'),_0x368e5a['Js']=_0x1a4e('0x1a84'),_0x368e5a[_0x1a4e('0x1a85')]=_0x1a4e('0x1a86'),_0x368e5a['Json']=_0x1a4e('0x1a87');}(_0x368e5a[_0x1a4e('0x1a88')]||(_0x368e5a[_0x1a4e('0x1a88')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['None']=0x0]='None',_0x368e5a[_0x368e5a['TypeScript']=0x1]='TypeScript',_0x368e5a[_0x368e5a[_0x1a4e('0x1a89')]=0x2]='ContainsTypeScript',_0x368e5a[_0x368e5a[_0x1a4e('0x1a8a')]=0x4]=_0x1a4e('0x1a8a'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a8b')]=0x8]=_0x1a4e('0x1a8b'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a8c')]=0x10]=_0x1a4e('0x1a8c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a8d')]=0x20]=_0x1a4e('0x1a8d'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a33')]=0x40]=_0x1a4e('0x1a33'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a8e')]=0x80]=_0x1a4e('0x1a8e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1378')]=0x100]=_0x1a4e('0x1378'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a8f')]=0x200]=_0x1a4e('0x1a8f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a90')]=0x400]=_0x1a4e('0x1a90'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a91')]=0x800]=_0x1a4e('0x1a91'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a92')]=0x1000]='ContainsTypeScriptClassSyntax',_0x368e5a[_0x368e5a[_0x1a4e('0x1a93')]=0x2000]=_0x1a4e('0x1a93'),_0x368e5a[_0x368e5a['ContainsCapturedLexicalThis']=0x4000]=_0x1a4e('0x1a94'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a95')]=0x8000]='ContainsLexicalThisInComputedPropertyName',_0x368e5a[_0x368e5a['ContainsDefaultValueAssignments']=0x10000]=_0x1a4e('0x1a96'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a97')]=0x20000]='ContainsRestOrSpread',_0x368e5a[_0x368e5a[_0x1a4e('0x1a98')]=0x40000]='ContainsObjectRestOrSpread',_0x368e5a[_0x368e5a[_0x1a4e('0x1a99')]=0x80000]='ContainsComputedPropertyName',_0x368e5a[_0x368e5a[_0x1a4e('0x1a9a')]=0x100000]=_0x1a4e('0x1a9a'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a9b')]=0x200000]=_0x1a4e('0x1a9b'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a9c')]=0x400000]=_0x1a4e('0x1a9c'),_0x368e5a[_0x368e5a['ContainsHoistedDeclarationOrCompletion']=0x800000]=_0x1a4e('0x1a9d'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a9e')]=0x1000000]=_0x1a4e('0x1a9e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a9f')]=0x2000000]=_0x1a4e('0x1a9f'),_0x368e5a[_0x368e5a['ContainsSuper']=0x4000000]='ContainsSuper',_0x368e5a[_0x368e5a[_0x1a4e('0x18ee')]=0x20000000]=_0x1a4e('0x18ee'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aa0')]=0x3]=_0x1a4e('0x1aa0'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aa1')]=0x4]=_0x1a4e('0x1aa1'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aa2')]=0x8]=_0x1a4e('0x1aa2'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aa3')]=0x10]=_0x1a4e('0x1aa3'),_0x368e5a[_0x368e5a['AssertES2016']=0x20]=_0x1a4e('0x1aa4'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aa5')]=0xc0]=_0x1a4e('0x1aa5'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aa6')]=0x300]='AssertGenerator',_0x368e5a[_0x368e5a[_0x1a4e('0x1aa7')]=0xc00]=_0x1a4e('0x1aa7'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aa8')]=0x20000541]='OuterExpressionExcludes',_0x368e5a[_0x368e5a['PropertyAccessExcludes']=0x22000541]=_0x1a4e('0x1aa9'),_0x368e5a[_0x368e5a['NodeExcludes']=0x26000541]='NodeExcludes',_0x368e5a[_0x368e5a['ArrowFunctionExcludes']=0x26f53541]=_0x1a4e('0x1aaa'),_0x368e5a[_0x368e5a[_0x1a4e('0x197c')]=0x26f57541]=_0x1a4e('0x197c'),_0x368e5a[_0x368e5a['ConstructorExcludes']=0x26f56541]=_0x1a4e('0x1aab'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aac')]=0x26f56541]=_0x1a4e('0x1aac'),_0x368e5a[_0x368e5a['ClassExcludes']=0x2608f541]=_0x1a4e('0x197d'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aad')]=0x26907541]=_0x1a4e('0x1aad'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aae')]=-0x3]=_0x1a4e('0x1aae'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aaf')]=0x260c9541]='ObjectLiteralExcludes',_0x368e5a[_0x368e5a[_0x1a4e('0x1ab0')]=0x26020541]='ArrayLiteralOrCallOrNewExcludes',_0x368e5a[_0x368e5a[_0x1a4e('0x1ab1')]=0x26240541]=_0x1a4e('0x1ab1'),_0x368e5a[_0x368e5a[_0x1a4e('0x1979')]=0x26000541]='ParameterExcludes',_0x368e5a[_0x368e5a['CatchClauseExcludes']=0x26040541]=_0x1a4e('0x1ab2'),_0x368e5a[_0x368e5a['BindingPatternExcludes']=0x26020541]='BindingPatternExcludes',_0x368e5a[_0x368e5a[_0x1a4e('0x1ab3')]=0x14000]=_0x1a4e('0x1ab3');}(_0x368e5a['TransformFlags']||(_0x368e5a['TransformFlags']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ab4')]=0x1]=_0x1a4e('0x1ab4'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ab5')]=0x2]=_0x1a4e('0x1ab5'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ab6')]=0x4]='NoSubstitution',_0x368e5a[_0x368e5a[_0x1a4e('0x1ab7')]=0x8]='CapturesThis',_0x368e5a[_0x368e5a[_0x1a4e('0x1ab8')]=0x10]=_0x1a4e('0x1ab8'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ab9')]=0x20]=_0x1a4e('0x1ab9'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aba')]=0x30]='NoSourceMap',_0x368e5a[_0x368e5a[_0x1a4e('0x1abb')]=0x40]=_0x1a4e('0x1abb'),_0x368e5a[_0x368e5a[_0x1a4e('0x1abc')]=0x80]=_0x1a4e('0x1abc'),_0x368e5a[_0x368e5a[_0x1a4e('0x1abd')]=0x100]=_0x1a4e('0x1abd'),_0x368e5a[_0x368e5a['NoTokenSourceMaps']=0x180]=_0x1a4e('0x1abe'),_0x368e5a[_0x368e5a[_0x1a4e('0x1abf')]=0x200]=_0x1a4e('0x1abf'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ac0')]=0x400]=_0x1a4e('0x1ac0'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ac1')]=0x600]=_0x1a4e('0x1ac1'),_0x368e5a[_0x368e5a['NoNestedComments']=0x800]=_0x1a4e('0x1ac2'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ac3')]=0x1000]=_0x1a4e('0x1ac3'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ac4')]=0x2000]=_0x1a4e('0x1ac4'),_0x368e5a[_0x368e5a['LocalName']=0x4000]=_0x1a4e('0x1ac5'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ac6')]=0x8000]=_0x1a4e('0x1ac6'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ac7')]=0x10000]=_0x1a4e('0x1ac7'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ac8')]=0x20000]='NoIndentation',_0x368e5a[_0x368e5a[_0x1a4e('0x1ac9')]=0x40000]=_0x1a4e('0x1ac9'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aca')]=0x80000]=_0x1a4e('0x1aca'),_0x368e5a[_0x368e5a[_0x1a4e('0x1acb')]=0x100000]='CustomPrologue',_0x368e5a[_0x368e5a[_0x1a4e('0x1acc')]=0x200000]=_0x1a4e('0x1acc'),_0x368e5a[_0x368e5a[_0x1a4e('0x1acd')]=0x400000]=_0x1a4e('0x1acd'),_0x368e5a[_0x368e5a['Iterator']=0x800000]=_0x1a4e('0x1ace'),_0x368e5a[_0x368e5a[_0x1a4e('0x1acf')]=0x1000000]=_0x1a4e('0x1acf'),_0x368e5a[_0x368e5a['TypeScriptClassWrapper']=0x2000000]=_0x1a4e('0x1ad0'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ad1')]=0x4000000]=_0x1a4e('0x1ad1');}(_0x368e5a[_0x1a4e('0x1ad2')]||(_0x368e5a[_0x1a4e('0x1ad2')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1ad3')]=0x1]=_0x1a4e('0x1ad3'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ad4')]=0x2]=_0x1a4e('0x1ad4'),_0x368e5a[_0x368e5a['Rest']=0x4]=_0x1a4e('0x1ad5'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ad6')]=0x8]=_0x1a4e('0x1ad6'),_0x368e5a[_0x368e5a['Metadata']=0x10]=_0x1a4e('0x1ad7'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ad8')]=0x20]=_0x1a4e('0x1ad8'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ad9')]=0x40]=_0x1a4e('0x1ad9'),_0x368e5a[_0x368e5a[_0x1a4e('0x1378')]=0x80]=_0x1a4e('0x1378'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ada')]=0x100]=_0x1a4e('0x1ada'),_0x368e5a[_0x368e5a[_0x1a4e('0x1adb')]=0x200]=_0x1a4e('0x1adb'),_0x368e5a[_0x368e5a['Spread']=0x400]='Spread',_0x368e5a[_0x368e5a[_0x1a4e('0x1adc')]=0x800]=_0x1a4e('0x1adc'),_0x368e5a[_0x368e5a['AsyncGenerator']=0x1000]=_0x1a4e('0x1add'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ade')]=0x2000]=_0x1a4e('0x1ade'),_0x368e5a[_0x368e5a[_0x1a4e('0x1adf')]=0x4000]=_0x1a4e('0x1adf'),_0x368e5a[_0x368e5a[_0x1a4e('0x19a7')]=0x8000]=_0x1a4e('0x19a7'),_0x368e5a[_0x368e5a['MakeTemplateObject']=0x10000]=_0x1a4e('0x1ae0'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ae1')]=0x1]=_0x1a4e('0x1ae1'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ae2')]=0x10000]=_0x1a4e('0x1ae2'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ae3')]=0x100]=_0x1a4e('0x1ae3'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ae4')]=0x4000]=_0x1a4e('0x1ae4'),_0x368e5a[_0x368e5a['AsyncGeneratorIncludes']=0x1800]=_0x1a4e('0x1ae5'),_0x368e5a[_0x368e5a['AsyncDelegatorIncludes']=0x6800]=_0x1a4e('0x1ae6'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ae7')]=0x600]='SpreadIncludes';}(_0x368e5a[_0x1a4e('0x1ae8')]||(_0x368e5a[_0x1a4e('0x1ae8')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['SourceFile']=0x0]=_0x1a4e('0x1888'),_0x368e5a[_0x368e5a['Expression']=0x1]=_0x1a4e('0x1ae9'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aea')]=0x2]=_0x1a4e('0x1aea'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aeb')]=0x3]='MappedTypeParameter',_0x368e5a[_0x368e5a['Unspecified']=0x4]=_0x1a4e('0x1aec'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aed')]=0x5]=_0x1a4e('0x1aed');}(_0x368e5a[_0x1a4e('0x1aee')]||(_0x368e5a[_0x1a4e('0x1aee')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['None']=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['SingleLine']=0x0]=_0x1a4e('0x1ab4'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aef')]=0x1]=_0x1a4e('0x1aef'),_0x368e5a[_0x368e5a[_0x1a4e('0x1af0')]=0x2]='PreserveLines',_0x368e5a[_0x368e5a[_0x1a4e('0x1af1')]=0x3]=_0x1a4e('0x1af1'),_0x368e5a[_0x368e5a['NotDelimited']=0x0]=_0x1a4e('0x1af2'),_0x368e5a[_0x368e5a[_0x1a4e('0x1af3')]=0x4]='BarDelimited',_0x368e5a[_0x368e5a[_0x1a4e('0x1af4')]=0x8]='AmpersandDelimited',_0x368e5a[_0x368e5a[_0x1a4e('0x1af5')]=0x10]='CommaDelimited',_0x368e5a[_0x368e5a[_0x1a4e('0x1af6')]=0x20]=_0x1a4e('0x1af6'),_0x368e5a[_0x368e5a[_0x1a4e('0x1af7')]=0x3c]='DelimitersMask',_0x368e5a[_0x368e5a['AllowTrailingComma']=0x40]=_0x1a4e('0x1af8'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ac7')]=0x80]=_0x1a4e('0x1ac7'),_0x368e5a[_0x368e5a[_0x1a4e('0x1af9')]=0x100]=_0x1a4e('0x1af9'),_0x368e5a[_0x368e5a[_0x1a4e('0x1afa')]=0x200]=_0x1a4e('0x1afa'),_0x368e5a[_0x368e5a['Braces']=0x400]='Braces',_0x368e5a[_0x368e5a[_0x1a4e('0x1afb')]=0x800]='Parenthesis',_0x368e5a[_0x368e5a[_0x1a4e('0x1afc')]=0x1000]=_0x1a4e('0x1afc'),_0x368e5a[_0x368e5a['SquareBrackets']=0x2000]='SquareBrackets',_0x368e5a[_0x368e5a['BracketsMask']=0x3c00]=_0x1a4e('0x1afd'),_0x368e5a[_0x368e5a['OptionalIfUndefined']=0x4000]='OptionalIfUndefined',_0x368e5a[_0x368e5a[_0x1a4e('0x1afe')]=0x8000]='OptionalIfEmpty',_0x368e5a[_0x368e5a[_0x1a4e('0x1971')]=0xc000]=_0x1a4e('0x1971'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aff')]=0x10000]=_0x1a4e('0x1aff'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b00')]=0x20000]=_0x1a4e('0x1b00'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b01')]=0x40000]=_0x1a4e('0x1b01'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b02')]=0x80000]=_0x1a4e('0x1b02'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b03')]=0x100000]=_0x1a4e('0x1b03'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b04')]=0x40200]='Modifiers',_0x368e5a[_0x368e5a[_0x1a4e('0x1b05')]=0x200]=_0x1a4e('0x1b05'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b06')]=0x300]=_0x1a4e('0x1b06'),_0x368e5a[_0x368e5a['MultiLineTypeLiteralMembers']=0x8081]=_0x1a4e('0x1b07'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b08')]=0x210]=_0x1a4e('0x1b08'),_0x368e5a[_0x368e5a['UnionTypeConstituents']=0x204]=_0x1a4e('0x1b09'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b0a')]=0x208]='IntersectionTypeConstituents',_0x368e5a[_0x368e5a[_0x1a4e('0x1b0b')]=0x80350]=_0x1a4e('0x1b0b'),_0x368e5a[_0x368e5a['ArrayBindingPatternElements']=0x80250]=_0x1a4e('0x1b0c'),_0x368e5a[_0x368e5a['ObjectLiteralExpressionProperties']=0x80792]=_0x1a4e('0x1b0d'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b0e')]=0x22d2]='ArrayLiteralExpressionElements',_0x368e5a[_0x368e5a['CommaListElements']=0x210]=_0x1a4e('0x1b0f'),_0x368e5a[_0x368e5a['CallExpressionArguments']=0xa10]=_0x1a4e('0x1b10'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b11')]=0x4a10]=_0x1a4e('0x1b11'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b12')]=0x40000]=_0x1a4e('0x1b12'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b13')]=0x300]=_0x1a4e('0x1b13'),_0x368e5a[_0x368e5a['MultiLineBlockStatements']=0x81]=_0x1a4e('0x1b14'),_0x368e5a[_0x368e5a['VariableDeclarationList']=0x210]=_0x1a4e('0x1864'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b15')]=0x300]=_0x1a4e('0x1b15'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b16')]=0x1]=_0x1a4e('0x1b16'),_0x368e5a[_0x368e5a['ClassHeritageClauses']=0x0]=_0x1a4e('0x1b17'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b18')]=0x81]='ClassMembers',_0x368e5a[_0x368e5a[_0x1a4e('0x1b19')]=0x81]=_0x1a4e('0x1b19'),_0x368e5a[_0x368e5a['EnumMembers']=0x91]='EnumMembers',_0x368e5a[_0x368e5a[_0x1a4e('0x1b1a')]=0x81]=_0x1a4e('0x1b1a'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b1b')]=0x80350]='NamedImportsOrExportsElements',_0x368e5a[_0x368e5a[_0x1a4e('0x1b1c')]=0x40000]=_0x1a4e('0x1b1c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b1d')]=0x40200]=_0x1a4e('0x1b1d'),_0x368e5a[_0x368e5a['CaseOrDefaultClauseStatements']=0x28081]=_0x1a4e('0x1b1e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b1f')]=0x210]=_0x1a4e('0x1b1f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b20')]=0x20001]=_0x1a4e('0x1b20'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b21')]=0xc001]='Decorators',_0x368e5a[_0x368e5a[_0x1a4e('0x1b22')]=0xd210]=_0x1a4e('0x1b22'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b23')]=0xd210]='TypeParameters',_0x368e5a[_0x368e5a[_0x1a4e('0x1b24')]=0xa10]='Parameters',_0x368e5a[_0x368e5a[_0x1a4e('0x1b25')]=0x2290]=_0x1a4e('0x1b25'),_0x368e5a[_0x368e5a['JSDocComment']=0x21]='JSDocComment';}(_0x368e5a[_0x1a4e('0x1b26')]||(_0x368e5a[_0x1a4e('0x1b26')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b27')]=0x1]='TripleSlashXML',_0x368e5a[_0x368e5a[_0x1a4e('0x1ab4')]=0x2]=_0x1a4e('0x1ab4'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aef')]=0x4]='MultiLine',_0x368e5a[_0x368e5a[_0x1a4e('0x18f3')]=0x7]=_0x1a4e('0x18f3'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ed')]=0x7]=_0x1a4e('0x18ed');}(_0x368e5a['PragmaKindFlags']||(_0x368e5a[_0x1a4e('0x1b28')]={})),_0x368e5a[_0x1a4e('0x1b29')]={'reference':{'args':[{'name':'types','optional':!0x0,'captureSpan':!0x0},{'name':'lib','optional':!0x0,'captureSpan':!0x0},{'name':_0x1a4e('0x64'),'optional':!0x0,'captureSpan':!0x0},{'name':'no-default-lib','optional':!0x0}],'kind':0x1},'amd-dependency':{'args':[{'name':_0x1a4e('0x64')},{'name':_0x1a4e('0x2cb'),'optional':!0x0}],'kind':0x1},'amd-module':{'args':[{'name':'name'}],'kind':0x1},'ts-check':{'kind':0x2},'ts-nocheck':{'kind':0x2},'jsx':{'args':[{'name':'factory'}],'kind':0x4}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0xf79407,_0x2c9ec9;function _0x1b06ad(_0x368e5a){var _0x146f6e;return(_0x146f6e={})[_0x2c9ec9[_0x1a4e('0x1b2a')]]=_0x368e5a[_0x1a4e('0x1b2a')],_0x146f6e[_0x2c9ec9[_0x1a4e('0x1b2b')]]=_0x368e5a[_0x1a4e('0x1b2b')],_0x146f6e[_0x2c9ec9['High']]=_0x368e5a[_0x1a4e('0x1b2c')],_0x146f6e;}_0x368e5a['setStackTraceLimit']=function(){Error[_0x1a4e('0x1b2d')]<0x64&&(Error['stackTraceLimit']=0x64);},function(_0x368e5a){_0x368e5a[_0x368e5a['Created']=0x0]=_0x1a4e('0x1b2e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b2f')]=0x1]='Changed',_0x368e5a[_0x368e5a['Deleted']=0x2]='Deleted';}(_0xf79407=_0x368e5a[_0x1a4e('0x1b30')]||(_0x368e5a['FileWatcherEventKind']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1b2c')]=0x7d0]='High',_0x368e5a[_0x368e5a['Medium']=0x1f4]='Medium',_0x368e5a[_0x368e5a[_0x1a4e('0x1b2a')]=0xfa]='Low';}(_0x2c9ec9=_0x368e5a['PollingInterval']||(_0x368e5a[_0x1a4e('0x1b31')]={})),_0x368e5a[_0x1a4e('0x1b32')]=new Date(0x0);var _0x326eae={'Low':0x20,'Medium':0x40,'High':0x100},_0x56674b=_0x1b06ad(_0x326eae);function _0xd21fa3(_0x146f6e){if(_0x146f6e[_0x1a4e('0x1b33')]){var _0x2327c6=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x55ff7e(_0x368e5a);if(_0x2327c6)return _0x1adc17('Low'),_0x1adc17(_0x1a4e('0x1b2b')),_0x1adc17(_0x1a4e('0x1b2c')),!0x0;return!0x1;function _0x1adc17(_0x368e5a){_0x146f6e[_0x368e5a]=_0x2327c6[_0x368e5a]||_0x146f6e[_0x368e5a];}}('TSC_WATCH_POLLINGINTERVAL',_0x2c9ec9);_0x56674b=_0x1adc17('TSC_WATCH_POLLINGCHUNKSIZE',_0x326eae)||_0x56674b,_0x368e5a[_0x1a4e('0x1b34')]=_0x1adc17(_0x1a4e('0x1b35'),_0x326eae)||_0x368e5a[_0x1a4e('0x1b34')];}function _0x55ff7e(_0x368e5a){var _0x2327c6;return _0x55ff7e(_0x1a4e('0x1b2a')),_0x55ff7e(_0x1a4e('0x1b2b')),_0x55ff7e('High'),_0x2327c6;function _0x55ff7e(_0x55ff7e){var _0x1adc17=function(_0x368e5a,_0x2327c6){return _0x146f6e[_0x1a4e('0x1b33')](_0x368e5a+'_'+_0x2327c6['toUpperCase']());}(_0x368e5a,_0x55ff7e);_0x1adc17&&((_0x2327c6||(_0x2327c6={}))[_0x55ff7e]=Number(_0x1adc17));}}function _0x1adc17(_0x368e5a,_0x146f6e){var _0x1adc17=_0x55ff7e(_0x368e5a);return(_0x2327c6||_0x1adc17)&&_0x1b06ad(_0x1adc17?_0x420b32({},_0x146f6e,_0x1adc17):_0x146f6e);}}function _0x4c1ca0(_0x146f6e){var _0x2327c6=[],_0x55ff7e=[],_0x1adc17=_0x1b06ad(_0x2c9ec9[_0x1a4e('0x1b2a')]),_0xf79407=_0x1b06ad(_0x2c9ec9['Medium']),_0x420b32=_0x1b06ad(_0x2c9ec9[_0x1a4e('0x1b2c')]);return function(_0x146f6e,_0x55ff7e,_0x1adc17){var _0xf79407={'fileName':_0x146f6e,'callback':_0x55ff7e,'unchangedPolls':0x0,'mtime':_0x495eab(_0x146f6e)};return _0x2327c6[_0x1a4e('0x46')](_0xf79407),_0xc8f42e(_0xf79407,_0x1adc17),{'close':function(){_0xf79407['isClosed']=!0x0,_0x368e5a[_0x1a4e('0x1760')](_0x2327c6,_0xf79407);}};};function _0x1b06ad(_0x368e5a){var _0x146f6e=[];return _0x146f6e[_0x1a4e('0x1b36')]=_0x368e5a,_0x146f6e[_0x1a4e('0x1b37')]=0x0,_0x146f6e[_0x1a4e('0x1b38')]=!0x1,_0x146f6e;}function _0x326eae(_0x146f6e){_0x146f6e[_0x1a4e('0x1b37')]=_0x4c1ca0(_0x146f6e,_0x146f6e[_0x1a4e('0x1b36')],_0x146f6e['pollIndex'],_0x56674b[_0x146f6e[_0x1a4e('0x1b36')]]),_0x146f6e[_0x1a4e('0x1e')]?_0x4e094b(_0x146f6e[_0x1a4e('0x1b36')]):(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0===_0x146f6e[_0x1a4e('0x1b37')]),_0x146f6e[_0x1a4e('0x1b38')]=!0x1);}function _0xd21fa3(_0x368e5a){_0x4c1ca0(_0x55ff7e,_0x2c9ec9[_0x1a4e('0x1b2a')],0x0,_0x55ff7e[_0x1a4e('0x1e')]),_0x326eae(_0x368e5a),!_0x368e5a['pollScheduled']&&_0x55ff7e[_0x1a4e('0x1e')]&&_0x4e094b(_0x2c9ec9[_0x1a4e('0x1b2a')]);}function _0x4c1ca0(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){for(var _0x420b32=_0x146f6e[_0x1a4e('0x1e')],_0x1b06ad=_0x1adc17,_0x326eae=0x0;_0x326eae<_0xf79407&&_0x420b32>0x0;_0x4c1ca0(),_0x420b32--){var _0x56674b=_0x146f6e[_0x1adc17];if(_0x56674b)if(_0x56674b[_0x1a4e('0x37d')])_0x146f6e[_0x1adc17]=void 0x0;else{_0x326eae++;var _0xd21fa3=_0x29aad6(_0x56674b,_0x495eab(_0x56674b[_0x1a4e('0x1b39')]));_0x56674b['isClosed']?_0x146f6e[_0x1adc17]=void 0x0:_0xd21fa3?(_0x56674b[_0x1a4e('0x1b3a')]=0x0,_0x146f6e!==_0x55ff7e&&(_0x146f6e[_0x1adc17]=void 0x0,_0x3d17fe(_0x56674b))):_0x56674b[_0x1a4e('0x1b3a')]!==_0x368e5a[_0x1a4e('0x1b34')][_0x2327c6]?_0x56674b[_0x1a4e('0x1b3a')]++:_0x146f6e===_0x55ff7e?(_0x56674b[_0x1a4e('0x1b3a')]=0x1,_0x146f6e[_0x1adc17]=void 0x0,_0xc8f42e(_0x56674b,_0x2c9ec9[_0x1a4e('0x1b2a')])):_0x2327c6!==_0x2c9ec9['High']&&(_0x56674b[_0x1a4e('0x1b3a')]++,_0x146f6e[_0x1adc17]=void 0x0,_0xc8f42e(_0x56674b,_0x2327c6===_0x2c9ec9[_0x1a4e('0x1b2a')]?_0x2c9ec9[_0x1a4e('0x1b2b')]:_0x2c9ec9[_0x1a4e('0x1b2c')])),_0x146f6e[_0x1adc17]&&(_0x1b06ad<_0x1adc17&&(_0x146f6e[_0x1b06ad]=_0x56674b,_0x146f6e[_0x1adc17]=void 0x0),_0x1b06ad++);}}return _0x1adc17;function _0x4c1ca0(){++_0x1adc17===_0x146f6e[_0x1a4e('0x1e')]&&(_0x1b06ad<_0x1adc17&&(_0x146f6e[_0x1a4e('0x1e')]=_0x1b06ad),_0x1adc17=0x0,_0x1b06ad=0x0);}}function _0x444e79(_0x368e5a){switch(_0x368e5a){case _0x2c9ec9['Low']:return _0x1adc17;case _0x2c9ec9[_0x1a4e('0x1b2b')]:return _0xf79407;case _0x2c9ec9[_0x1a4e('0x1b2c')]:return _0x420b32;}}function _0xc8f42e(_0x368e5a,_0x146f6e){_0x444e79(_0x146f6e)[_0x1a4e('0x46')](_0x368e5a),_0xe2614d(_0x146f6e);}function _0x3d17fe(_0x368e5a){_0x55ff7e[_0x1a4e('0x46')](_0x368e5a),_0xe2614d(_0x2c9ec9[_0x1a4e('0x1b2a')]);}function _0xe2614d(_0x368e5a){_0x444e79(_0x368e5a)['pollScheduled']||_0x4e094b(_0x368e5a);}function _0x4e094b(_0x368e5a){_0x444e79(_0x368e5a)[_0x1a4e('0x1b38')]=_0x146f6e['setTimeout'](_0x368e5a===_0x2c9ec9[_0x1a4e('0x1b2a')]?_0xd21fa3:_0x326eae,_0x368e5a,_0x444e79(_0x368e5a));}function _0x495eab(_0x2327c6){return _0x146f6e[_0x1a4e('0x1b3b')](_0x2327c6)||_0x368e5a['missingFileModifiedTime'];}}function _0x29aad6(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1b3c')][_0x1a4e('0xe9')](),_0x55ff7e=_0x146f6e[_0x1a4e('0xe9')]();return _0x2327c6!==_0x55ff7e&&(_0x368e5a['mtime']=_0x146f6e,_0x368e5a[_0x1a4e('0x13db')](_0x368e5a[_0x1a4e('0x1b39')],_0x3a9a35(_0x2327c6,_0x55ff7e)),!0x0);}function _0x3a9a35(_0x368e5a,_0x146f6e){return 0x0===_0x368e5a?_0xf79407[_0x1a4e('0x1b2e')]:0x0===_0x146f6e?_0xf79407[_0x1a4e('0x1b3d')]:_0xf79407['Changed'];}function _0x4fd999(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x55ff7e=_0x368e5a[_0x1a4e('0x1b3e')](),_0x1adc17=_0x368e5a[_0x1a4e('0x1b3f')](!_0x146f6e[_0x1a4e('0x1b40')]),_0xf79407=_0x368e5a[_0x1a4e('0x1761')](_0x146f6e[_0x1a4e('0x1b40')]);return _0x2c9ec9;function _0x2c9ec9(_0x1adc17,_0x2c9ec9){var _0x1b06ad=_0xf79407(_0x1adc17),_0x326eae=_0x2327c6[_0x1a4e('0x179')](_0x1b06ad);return _0x326eae?_0x326eae[_0x1a4e('0x14ac')]++:(_0x326eae={'watcher':_0x146f6e[_0x1a4e('0x1b41')](_0x1adc17,function(_0x146f6e){_0x55ff7e['forEach'](function(_0x2327c6,_0x55ff7e){(_0x55ff7e===_0x1b06ad||_0x368e5a[_0x1a4e('0xdfb')](_0x1b06ad,_0x55ff7e)&&_0x1b06ad[_0x55ff7e['length']]===_0x368e5a[_0x1a4e('0x1b42')])&&_0x2327c6[_0x1a4e('0x3b')](function(_0x368e5a){return _0x368e5a(_0x146f6e);});}),_0x420b32(_0x1adc17,_0x1b06ad);}),'refCount':0x1,'childWatches':_0x368e5a[_0x1a4e('0x1700')]},_0x2327c6[_0x1a4e('0x17a')](_0x1b06ad,_0x326eae),_0x420b32(_0x1adc17,_0x1b06ad)),_0x2c9ec9&&_0x55ff7e[_0x1a4e('0x177')](_0x1b06ad,_0x2c9ec9),{'dirName':_0x1adc17,'close':function(){var _0x146f6e=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x2327c6['get'](_0x1b06ad));_0x2c9ec9&&_0x55ff7e['remove'](_0x1b06ad,_0x2c9ec9),_0x146f6e[_0x1a4e('0x14ac')]--,_0x146f6e[_0x1a4e('0x14ac')]||(_0x2327c6[_0x1a4e('0xf4c')](_0x1b06ad),_0x368e5a['closeFileWatcherOf'](_0x146f6e),_0x146f6e[_0x1a4e('0x1b43')][_0x1a4e('0x3b')](_0x368e5a[_0x1a4e('0x1b44')]));}};}function _0x420b32(_0x55ff7e,_0xf79407){var _0x420b32=_0x2327c6[_0x1a4e('0x179')](_0xf79407);_0x420b32&&(_0x420b32[_0x1a4e('0x1b43')]=function(_0x2327c6,_0x55ff7e){var _0xf79407;return _0x368e5a[_0x1a4e('0x1768')](_0x146f6e[_0x1a4e('0x16b5')](_0x2327c6)?_0x368e5a['mapDefined'](_0x146f6e[_0x1a4e('0x1b45')](_0x2327c6),function(_0x55ff7e){var _0xf79407=_0x368e5a['getNormalizedAbsolutePath'](_0x55ff7e,_0x2327c6);return 0x0===_0x1adc17(_0xf79407,_0x368e5a[_0x1a4e('0x1672')](_0x146f6e[_0x1a4e('0x1b46')](_0xf79407)))?_0xf79407:void 0x0;}):_0x368e5a[_0x1a4e('0x1700')],_0x55ff7e,function(_0x368e5a,_0x146f6e){return _0x1adc17(_0x368e5a,_0x146f6e[_0x1a4e('0x1b47')]);},function(_0x368e5a){_0x420b32(_0x2c9ec9(_0x368e5a));},_0x368e5a[_0x1a4e('0x1b44')],_0x420b32),_0xf79407||_0x368e5a[_0x1a4e('0x1700')];function _0x420b32(_0x368e5a){(_0xf79407||(_0xf79407=[]))['push'](_0x368e5a);}}(_0x55ff7e,_0x420b32['childWatches']));}}function _0x5d051e(){if(void 0x0!==_0x146f6e){var _0x368e5a=_0x146f6e[_0x1a4e('0xb98')];if(_0x368e5a){var _0x2327c6=_0x368e5a['indexOf']('.');if(-0x1!==_0x2327c6)return parseInt(_0x368e5a[_0x1a4e('0x281')](0x1,_0x2327c6));}}}_0x368e5a[_0x1a4e('0x1b34')]=_0x1b06ad(_0x326eae),_0x368e5a[_0x1a4e('0x1b48')]=_0xd21fa3,_0x368e5a['createDynamicPriorityPollingWatchFile']=_0x4c1ca0,_0x368e5a['onWatchedFileStat']=_0x29aad6,_0x368e5a[_0x1a4e('0x1b49')]=_0x3a9a35,_0x368e5a[_0x1a4e('0x1b4a')]=_0x4fd999,_0x368e5a['getNodeMajorVersion']=_0x5d051e,_0x368e5a[_0x1a4e('0x16b4')]=function(){var _0x420b32,_0x1b06ad,_0x326eae='\ufeff';if(_0x1a4e('0x3')!=typeof ChakraHost?(_0x1b06ad=ChakraHost[_0x1a4e('0x1b46')]&&function(_0x368e5a){return ChakraHost['realpath'](_0x368e5a);},_0x420b32={'newLine':ChakraHost[_0x1a4e('0x16d0')]||'\x0d\x0a','args':ChakraHost[_0x1a4e('0x89c')],'useCaseSensitiveFileNames':!!ChakraHost[_0x1a4e('0x1b40')],'write':ChakraHost[_0x1a4e('0x1b4b')],'readFile':function(_0x368e5a,_0x146f6e){return ChakraHost[_0x1a4e('0x16b8')](_0x368e5a);},'writeFile':function(_0x368e5a,_0x146f6e,_0x2327c6){_0x2327c6&&(_0x146f6e=_0x326eae+_0x146f6e),ChakraHost[_0x1a4e('0x16b7')](_0x368e5a,_0x146f6e);},'resolvePath':ChakraHost[_0x1a4e('0x1b4c')],'fileExists':ChakraHost[_0x1a4e('0x1b4d')],'deleteFile':ChakraHost[_0x1a4e('0x1b4e')],'getModifiedTime':ChakraHost[_0x1a4e('0x1b3b')],'setModifiedTime':ChakraHost[_0x1a4e('0x1b4f')],'directoryExists':ChakraHost['directoryExists'],'createDirectory':ChakraHost[_0x1a4e('0x16b6')],'getExecutingFilePath':function(){return ChakraHost[_0x1a4e('0x1b50')];},'getCurrentDirectory':function(){return ChakraHost[_0x1a4e('0x1b51')];},'getDirectories':ChakraHost['getDirectories'],'getEnvironmentVariable':ChakraHost['getEnvironmentVariable']||function(){return'';},'readDirectory':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a['getFileMatcherPatterns'](_0x146f6e,_0x55ff7e,_0x1adc17,!!ChakraHost['useCaseSensitiveFileNames'],ChakraHost['currentDirectory']);return ChakraHost[_0x1a4e('0x1b52')](_0x146f6e,_0x2327c6,_0x2c9ec9[_0x1a4e('0x1b53')],_0x2c9ec9['excludePattern'],_0x2c9ec9[_0x1a4e('0x1b54')],_0x2c9ec9['includeDirectoryPattern']);},'exit':ChakraHost[_0x1a4e('0x1b55')],'realpath':_0x1b06ad}):void 0x0!==_0x146f6e&&_0x146f6e[_0x1a4e('0x1152')]&&!_0x146f6e[_0x1a4e('0x1155')]&&(_0x420b32=function(){var _0x420b32,_0x1b06ad=_0x2327c6(0x5),_0x56674b=_0x2327c6(0x6),_0xd21fa3=_0x2327c6(0x7);try{_0x420b32=_0x2327c6(_0x1a4e('0x1b56'));}catch(_0x50db1f){_0x420b32=void 0x0;}var _0x29aad6,_0x3a9a35=_0x2327c6(_0x1a4e('0x86f'))['Buffer'],_0x43b2e6=_0x5d051e()>=0x4,_0x3f520e=_0xd21fa3[_0x1a4e('0x1b57')](),_0x547541='win32'!==_0x3f520e&&'win64'!==_0x3f520e&&!_0x43cb22((_0x431726=_0x55ff7e,_0x431726[_0x1a4e('0x115')](/\w/g,function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x257')]();return _0x368e5a===_0x146f6e?_0x368e5a['toLowerCase']():_0x146f6e;})));var _0x431726;!function(_0x368e5a){_0x368e5a[_0x368e5a['File']=0x0]='File',_0x368e5a[_0x368e5a[_0x1a4e('0x16d9')]=0x1]=_0x1a4e('0x16d9');}(_0x29aad6||(_0x29aad6={}));var _0x5e905c,_0x1788b6=_0x1a4e('0x1b58')[_0x1a4e('0x1b59')],_0x50d58f='pro'['TSC_WATCHFILE'],_0x293685=_0x1a4e('0x1b58')[_0x1a4e('0x1b5a')],_0x26c835={'args':_0x146f6e[_0x1a4e('0x1b5b')][_0x1a4e('0x78')](0x2),'newLine':_0xd21fa3[_0x1a4e('0x1b5c')],'useCaseSensitiveFileNames':_0x547541,'write':function(_0x368e5a){_0x146f6e[_0x1a4e('0x13bf')][_0x1a4e('0x146')](_0x368e5a);},'writeOutputIsTTY':function(){return _0x146f6e[_0x1a4e('0x13bf')][_0x1a4e('0x1b5d')];},'readFile':function(_0x368e5a,_0x146f6e){if(_0x43cb22(_0x368e5a)){var _0x2327c6=_0x1b06ad[_0x1a4e('0x1621')](_0x368e5a),_0x55ff7e=_0x2327c6[_0x1a4e('0x1e')];if(_0x55ff7e>=0x2&&0xfe===_0x2327c6[0x0]&&0xff===_0x2327c6[0x1]){_0x55ff7e&=-0x2;for(var _0x1adc17=0x0;_0x1adc17<_0x55ff7e;_0x1adc17+=0x2){var _0xf79407=_0x2327c6[_0x1adc17];_0x2327c6[_0x1adc17]=_0x2327c6[_0x1adc17+0x1],_0x2327c6[_0x1adc17+0x1]=_0xf79407;}return _0x2327c6['toString']('utf16le',0x2);}return _0x55ff7e>=0x2&&0xff===_0x2327c6[0x0]&&0xfe===_0x2327c6[0x1]?_0x2327c6[_0x1a4e('0x95')](_0x1a4e('0xacf'),0x2):_0x55ff7e>=0x3&&0xef===_0x2327c6[0x0]&&0xbb===_0x2327c6[0x1]&&0xbf===_0x2327c6[0x2]?_0x2327c6[_0x1a4e('0x95')]('utf8',0x3):_0x2327c6[_0x1a4e('0x95')](_0x1a4e('0xac4'));}},'writeFile':function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e;_0x2327c6&&(_0x146f6e=_0x326eae+_0x146f6e);try{_0x55ff7e=_0x1b06ad[_0x1a4e('0x1b5e')](_0x368e5a,'w'),_0x1b06ad[_0x1a4e('0x1b5f')](_0x55ff7e,_0x146f6e,void 0x0,'utf8');}finally{void 0x0!==_0x55ff7e&&_0x1b06ad[_0x1a4e('0x1b60')](_0x55ff7e);}},'watchFile':function(){switch(_0x50d58f){case _0x1a4e('0x1b61'):return _0x3a1a48;case _0x1a4e('0x1b62'):return _0x4c1ca0({'getModifiedTime':_0x480290,'setTimeout':setTimeout});case _0x1a4e('0x1b63'):return _0x267a83;case'UseFsEventsWithFallbackDynamicPolling':return _0x5e905c=_0x4c1ca0({'getModifiedTime':_0x480290,'setTimeout':setTimeout}),_0x368e5a=_0x5e905c,function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x5e9a7d(_0x146f6e,0x0,_0x492e2c(_0x146f6e,_0x2327c6),!0x1,_0x368e5a,_0x55ff7e);};case'UseFsEventsOnParentDirectory':return _0x485419();}var _0x368e5a;return _0x1788b6?_0x485419():function(_0x368e5a,_0x146f6e){return _0x3a1a48(_0x368e5a,_0x146f6e);};}(),'watchDirectory':function(){if(_0x43b2e6&&(_0x1a4e('0x1b64')===_0x146f6e[_0x1a4e('0x1b57')]||_0x1a4e('0x1b65')===_0x146f6e[_0x1a4e('0x1b57')]))return _0x1705d8;var _0x368e5a='RecursiveDirectoryUsingFsWatchFile'===_0x293685?_0x4c63de(_0x3a1a48):_0x1a4e('0x1b66')===_0x293685?_0x4c63de(_0x5e905c||_0x4c1ca0({'getModifiedTime':_0x480290,'setTimeout':setTimeout})):_0x1705d8,_0x2327c6=_0x4fd999({'useCaseSensitiveFileNames':_0x547541,'directoryExists':_0x593ffb,'getAccessibleSortedChildDirectories':function(_0x368e5a){return _0x6ef982(_0x368e5a)['directories'];},'watchDirectory':_0x368e5a,'realpath':_0x41e1df});return function(_0x146f6e,_0x55ff7e,_0x1adc17){return _0x1adc17?_0x2327c6(_0x146f6e,_0x55ff7e):_0x368e5a(_0x146f6e,_0x55ff7e);};}(),'resolvePath':function(_0x368e5a){return _0x56674b[_0x1a4e('0xe20')](_0x368e5a);},'fileExists':_0x43cb22,'directoryExists':_0x593ffb,'createDirectory':function(_0x368e5a){_0x26c835[_0x1a4e('0x16b5')](_0x368e5a)||_0x1b06ad['mkdirSync'](_0x368e5a);},'getExecutingFilePath':function(){return _0x55ff7e;},'getCurrentDirectory':function(){return _0x146f6e[_0x1a4e('0x1140')]();},'getDirectories':function(_0x146f6e){return _0x368e5a['filter'](_0x1b06ad[_0x1a4e('0x16f0')](_0x146f6e),function(_0x2327c6){return _0x3eb636(_0x368e5a['combinePaths'](_0x146f6e,_0x2327c6),0x1);});},'getEnvironmentVariable':function(_0x368e5a){return _0x1a4e('0x1b58')[_0x368e5a]||'';},'readDirectory':function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a['matchFiles'](_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x547541,_0x146f6e[_0x1a4e('0x1140')](),_0x2c9ec9,_0x6ef982);},'getModifiedTime':_0x480290,'setModifiedTime':function(_0x368e5a,_0x146f6e){try{_0x1b06ad[_0x1a4e('0x1b67')](_0x368e5a,_0x146f6e,_0x146f6e);}catch(_0x38d487){return;}},'deleteFile':function(_0x368e5a){try{return _0x1b06ad[_0x1a4e('0x1b68')](_0x368e5a);}catch(_0x667cb4){return;}},'createHash':_0x420b32?function(_0x368e5a){var _0x146f6e=_0x420b32['createHash'](_0x1a4e('0xb3c'));return _0x146f6e[_0x1a4e('0x937')](_0x368e5a),_0x146f6e[_0x1a4e('0xaa9')](_0x1a4e('0x823'));}:function(_0x368e5a){return''+_0x368e5a[_0x1a4e('0x2be')]('')['map'](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x913')](0x0);})[_0x1a4e('0xbb')](function(_0x368e5a,_0x146f6e){return(_0x368e5a<<0x5)+_0x368e5a+_0x146f6e;},0x1505);},'createSHA256Hash':_0x420b32?function(_0x368e5a){var _0x146f6e=_0x420b32['createHash'](_0x1a4e('0xb4c'));return _0x146f6e[_0x1a4e('0x937')](_0x368e5a),_0x146f6e[_0x1a4e('0xaa9')]('hex');}:void 0x0,'getMemoryUsage':function(){return _0x1adc17['gc']&&_0x1adc17['gc'](),_0x146f6e['memoryUsage']()[_0x1a4e('0x1b69')];},'getFileSize':function(_0x368e5a){try{var _0x146f6e=_0x1b06ad[_0x1a4e('0x16ee')](_0x368e5a);if(_0x146f6e[_0x1a4e('0x1b6a')]())return _0x146f6e['size'];}catch(_0x475a24){}return 0x0;},'exit':function(_0x368e5a){_0x146f6e[_0x1a4e('0x1b6b')](_0x368e5a);},'realpath':_0x41e1df,'debugMode':_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x1b6c')],function(_0x368e5a){return/^--(inspect|debug)(-brk)?(=\d+)?$/i[_0x1a4e('0x8d0')](_0x368e5a);}),'tryEnableSourceMapsForHost':function(){try{_0x2327c6('./node_modules/source-map-support/source-map-support.js')[_0x1a4e('0x163d')]();}catch(_0x4500c0){}},'setTimeout':setTimeout,'clearTimeout':clearTimeout,'clearScreen':function(){_0x146f6e['stdout']['write']('c');},'setBlocking':function(){_0x146f6e[_0x1a4e('0x13bf')]&&_0x146f6e[_0x1a4e('0x13bf')][_0x1a4e('0x1b6d')]&&_0x146f6e[_0x1a4e('0x13bf')][_0x1a4e('0x1b6d')]['setBlocking']&&_0x146f6e[_0x1a4e('0x13bf')]['_handle']['setBlocking'](!0x0);},'bufferFrom':_0x4e022c,'base64decode':function(_0x368e5a){return _0x4e022c(_0x368e5a,_0x1a4e('0x90d'))[_0x1a4e('0x95')]('utf8');},'base64encode':function(_0x368e5a){return _0x4e022c(_0x368e5a)[_0x1a4e('0x95')]('base64');}};return _0x26c835;function _0x4e022c(_0x368e5a,_0x146f6e){return _0x3a9a35[_0x1a4e('0x1b5')]&&_0x3a9a35[_0x1a4e('0x1b5')]!==Int8Array[_0x1a4e('0x1b5')]?_0x3a9a35[_0x1a4e('0x1b5')](_0x368e5a,_0x146f6e):new _0x3a9a35(_0x368e5a,_0x146f6e);}function _0x485419(){var _0x146f6e=_0x368e5a[_0x1a4e('0x1b3e')](),_0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x55ff7e=_0x368e5a[_0x1a4e('0x1761')](_0x547541);return function(_0x1adc17,_0x2c9ec9){var _0x420b32=_0x55ff7e(_0x1adc17);_0x146f6e[_0x1a4e('0x177')](_0x420b32,_0x2c9ec9);var _0x1b06ad=_0x368e5a[_0x1a4e('0x1671')](_0x420b32)||'.',_0x326eae=_0x2327c6[_0x1a4e('0x179')](_0x1b06ad)||function(_0x1adc17,_0x2c9ec9){var _0x420b32=_0x16f92c(_0x1adc17,function(_0x2327c6,_0x2c9ec9){if(_0x368e5a[_0x1a4e('0xb19')](_0x2c9ec9)){var _0x420b32=_0x368e5a['getNormalizedAbsolutePath'](_0x2c9ec9,_0x1adc17),_0x1b06ad=_0x420b32&&_0x146f6e['get'](_0x55ff7e(_0x420b32));if(_0x1b06ad)for(var _0x326eae=0x0,_0x56674b=_0x1b06ad;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0xd21fa3=_0x56674b[_0x326eae];_0xd21fa3(_0x420b32,_0xf79407[_0x1a4e('0x1b2f')]);}}});return _0x420b32[_0x1a4e('0x1b6e')]=0x0,_0x2327c6[_0x1a4e('0x17a')](_0x2c9ec9,_0x420b32),_0x420b32;}(_0x368e5a[_0x1a4e('0x1671')](_0x1adc17)||'.',_0x1b06ad);return _0x326eae[_0x1a4e('0x1b6e')]++,{'close':function(){0x1===_0x326eae['referenceCount']?(_0x326eae['close'](),_0x2327c6['delete'](_0x1b06ad)):_0x326eae[_0x1a4e('0x1b6e')]--,_0x146f6e[_0x1a4e('0x82')](_0x420b32,_0x2c9ec9);}};};}function _0x3a1a48(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e;return _0x1b06ad[_0x1a4e('0x1b6f')](_0x368e5a,{'persistent':!0x0,'interval':_0x2327c6||0xfa},_0x1adc17),{'close':function(){return _0x1b06ad[_0x1a4e('0x1b70')](_0x368e5a,_0x1adc17);}};function _0x1adc17(_0x2327c6,_0x1adc17){var _0x2c9ec9=0x0==+_0x1adc17[_0x1a4e('0x1b3c')]||_0x55ff7e===_0xf79407['Deleted'];if(0x0==+_0x2327c6['mtime']){if(_0x2c9ec9)return;_0x55ff7e=_0xf79407[_0x1a4e('0x1b3d')];}else if(_0x2c9ec9)_0x55ff7e=_0xf79407[_0x1a4e('0x1b2e')];else{if(+_0x2327c6[_0x1a4e('0x1b3c')]==+_0x1adc17[_0x1a4e('0x1b3c')])return;_0x55ff7e=_0xf79407[_0x1a4e('0x1b2f')];}_0x146f6e(_0x368e5a,_0x55ff7e);}}function _0x492e2c(_0x368e5a,_0x146f6e){return function(_0x2327c6){_0x146f6e(_0x368e5a,_0x1a4e('0x1b71')===_0x2327c6?_0x43cb22(_0x368e5a)?_0xf79407[_0x1a4e('0x1b2e')]:_0xf79407[_0x1a4e('0x1b3d')]:_0xf79407[_0x1a4e('0x1b2f')]);};}function _0x5e9a7d(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32){var _0x326eae,_0x56674b=_0x3eb636(_0x368e5a,_0x2327c6)?_0x4c1ca0():_0x29aad6();return{'close':function(){_0x56674b[_0x1a4e('0x139b')](),_0x56674b=void 0x0;}};function _0xd21fa3(_0x368e5a){_0x55ff7e(_0x1a4e('0x1b71'),''),_0x56674b&&(_0x56674b[_0x1a4e('0x139b')](),_0x56674b=_0x368e5a());}function _0x4c1ca0(){void 0x0===_0x326eae&&(_0x326eae=!_0x43b2e6||_0x1a4e('0x1b64')!==_0x146f6e[_0x1a4e('0x1b57')]&&_0x1a4e('0x1b65')!==_0x146f6e[_0x1a4e('0x1b57')]?{'persistent':!0x0}:{'persistent':!0x0,'recursive':!!_0x1adc17});try{var _0x2327c6=_0x1b06ad[_0x1a4e('0x1b72')](_0x368e5a,_0x326eae,_0x55ff7e);return _0x2327c6['on'](_0x1a4e('0x873'),function(){return _0xd21fa3(_0x29aad6);}),_0x2327c6;}catch(_0x1f992d){return _0x2c9ec9(_0x368e5a,function(_0x368e5a){return function(_0x1f992d,_0x2327c6){return _0x368e5a(_0x2327c6===_0xf79407[_0x1a4e('0x1b2f')]?_0x1a4e('0x1b73'):_0x1a4e('0x1b71'),'');};}(_0x55ff7e),_0x420b32);}}function _0x29aad6(){return _0x2c9ec9(_0x368e5a,function(_0x146f6e,_0x55ff7e){_0x55ff7e===_0xf79407[_0x1a4e('0x1b2e')]&&_0x3eb636(_0x368e5a,_0x2327c6)&&_0xd21fa3(_0x4c1ca0);},_0x420b32);}}function _0x267a83(_0x368e5a,_0x146f6e,_0x2327c6){return _0x5e9a7d(_0x368e5a,0x0,_0x492e2c(_0x368e5a,_0x146f6e),!0x1,_0x3a1a48,_0x2327c6);}function _0x16f92c(_0x368e5a,_0x146f6e,_0x2327c6){return _0x5e9a7d(_0x368e5a,0x1,_0x146f6e,!!_0x2327c6,_0x3a1a48);}function _0x1705d8(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x16f92c(_0x146f6e,function(_0x146f6e,_0x2327c6){return function(_0x55ff7e,_0x1adc17){'rename'===_0x55ff7e&&_0x2327c6(_0x1adc17?_0x368e5a[_0x1a4e('0x1672')](_0x368e5a['combinePaths'](_0x146f6e,_0x1adc17)):_0x146f6e);};}(_0x146f6e,_0x2327c6),_0x55ff7e);}function _0x4c63de(_0x368e5a){return function(_0x146f6e,_0x2327c6){return _0x368e5a(_0x146f6e,function(){return _0x2327c6(_0x146f6e);},_0x2c9ec9['Medium']);};}function _0x6ef982(_0x146f6e){try{for(var _0x2327c6=_0x1b06ad[_0x1a4e('0x16f0')](_0x146f6e||'.')[_0x1a4e('0x89')](),_0x55ff7e=[],_0x1adc17=[],_0xf79407=0x0,_0x2c9ec9=_0x2327c6;_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if('.'!==_0x420b32&&'..'!==_0x420b32){var _0x326eae=_0x368e5a[_0x1a4e('0x1673')](_0x146f6e,_0x420b32),_0x56674b=void 0x0;try{_0x56674b=_0x1b06ad[_0x1a4e('0x16ee')](_0x326eae);}catch(_0x238e51){continue;}_0x56674b[_0x1a4e('0x1b6a')]()?_0x55ff7e[_0x1a4e('0x46')](_0x420b32):_0x56674b['isDirectory']()&&_0x1adc17[_0x1a4e('0x46')](_0x420b32);}}return{'files':_0x55ff7e,'directories':_0x1adc17};}catch(_0x1d276c){return _0x238e51[_0x1a4e('0x1b74')];}}function _0x3eb636(_0x368e5a,_0x146f6e){try{var _0x2327c6=_0x1b06ad[_0x1a4e('0x16ee')](_0x368e5a);switch(_0x146f6e){case 0x0:return _0x2327c6['isFile']();case 0x1:return _0x2327c6[_0x1a4e('0x16ef')]();default:return!0x1;}}catch(_0x405f09){return!0x1;}}function _0x43cb22(_0x368e5a){return _0x3eb636(_0x368e5a,0x0);}function _0x593ffb(_0x368e5a){return _0x3eb636(_0x368e5a,0x1);}function _0x41e1df(_0x368e5a){try{return _0x1b06ad[_0x1a4e('0x1b75')](_0x368e5a);}catch(_0x704c06){return _0x368e5a;}}function _0x480290(_0x368e5a){try{return _0x1b06ad[_0x1a4e('0x16ee')](_0x368e5a)['mtime'];}catch(_0x20fee6){return;}}}()),_0x420b32){var _0x56674b=_0x420b32[_0x1a4e('0x16b7')];_0x420b32['writeFile']=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['getDirectoryPath'](_0x368e5a[_0x1a4e('0x166f')](_0x146f6e));_0x1adc17&&!_0x420b32[_0x1a4e('0x16b5')](_0x1adc17)&&function _0x146f6e(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1671')](_0x2327c6),_0xf79407=''!==_0x1adc17&&_0x2327c6!==_0x1adc17&&!_0x55ff7e[_0x1a4e('0x16b5')](_0x1adc17);_0xf79407&&_0x146f6e(_0x1adc17,_0x55ff7e),!_0xf79407&&_0x55ff7e[_0x1a4e('0x16b5')](_0x2327c6)||_0x55ff7e[_0x1a4e('0x16b6')](_0x2327c6);}(_0x1adc17,_0x420b32),_0x56674b[_0x1a4e('0x1')](_0x420b32,_0x146f6e,_0x2327c6,_0x55ff7e);};}return _0x420b32;}(),_0x368e5a[_0x1a4e('0x16b4')]&&_0x368e5a['sys']['getEnvironmentVariable']&&(_0xd21fa3(_0x368e5a[_0x1a4e('0x16b4')]),_0x368e5a[_0x1a4e('0x1749')]['currentAssertionLevel']=/^development$/i[_0x1a4e('0x8d0')](_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x1b33')](_0x1a4e('0x1b76')))?0x1:0x0),_0x368e5a[_0x1a4e('0x16b4')]&&_0x368e5a['sys'][_0x1a4e('0x1b77')]&&(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1b78')]=!0x0);}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return{'code':_0x368e5a,'category':_0x146f6e,'key':_0x2327c6,'message':_0x55ff7e,'reportsUnnecessary':_0x1adc17};}_0x368e5a[_0x1a4e('0x167d')]={'Unterminated_string_literal':_0x146f6e(0x3ea,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b79'),_0x1a4e('0x1b7a')),'Identifier_expected':_0x146f6e(0x3eb,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1b7b'),_0x1a4e('0x1b7c')),'_0_expected':_0x146f6e(0x3ed,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b7d'),'\x27{0}\x27\x20expected.'),'A_file_cannot_have_a_reference_to_itself':_0x146f6e(0x3ee,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b7e'),_0x1a4e('0x1b7f')),'Trailing_comma_not_allowed':_0x146f6e(0x3f1,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1b80'),_0x1a4e('0x1b81')),'Asterisk_Slash_expected':_0x146f6e(0x3f2,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1b82'),_0x1a4e('0x1b83')),'An_element_access_expression_should_take_an_argument':_0x146f6e(0x3f3,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'An_element_access_expression_should_take_an_argument_1011',_0x1a4e('0x1b84')),'Unexpected_token':_0x146f6e(0x3f4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b85'),_0x1a4e('0x1b86')),'A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma':_0x146f6e(0x3f5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b87'),_0x1a4e('0x1b88')),'A_rest_parameter_must_be_last_in_a_parameter_list':_0x146f6e(0x3f6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b89'),_0x1a4e('0x1b8a')),'Parameter_cannot_have_question_mark_and_initializer':_0x146f6e(0x3f7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b8b'),'Parameter\x20cannot\x20have\x20question\x20mark\x20and\x20initializer.'),'A_required_parameter_cannot_follow_an_optional_parameter':_0x146f6e(0x3f8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_required_parameter_cannot_follow_an_optional_parameter_1016','A\x20required\x20parameter\x20cannot\x20follow\x20an\x20optional\x20parameter.'),'An_index_signature_cannot_have_a_rest_parameter':_0x146f6e(0x3f9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b8c'),'An\x20index\x20signature\x20cannot\x20have\x20a\x20rest\x20parameter.'),'An_index_signature_parameter_cannot_have_an_accessibility_modifier':_0x146f6e(0x3fa,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b8d'),_0x1a4e('0x1b8e')),'An_index_signature_parameter_cannot_have_a_question_mark':_0x146f6e(0x3fb,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1b8f'),_0x1a4e('0x1b90')),'An_index_signature_parameter_cannot_have_an_initializer':_0x146f6e(0x3fc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b91'),_0x1a4e('0x1b92')),'An_index_signature_must_have_a_type_annotation':_0x146f6e(0x3fd,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1b93'),_0x1a4e('0x1b94')),'An_index_signature_parameter_must_have_a_type_annotation':_0x146f6e(0x3fe,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b95'),'An\x20index\x20signature\x20parameter\x20must\x20have\x20a\x20type\x20annotation.'),'An_index_signature_parameter_type_must_be_string_or_number':_0x146f6e(0x3ff,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'An_index_signature_parameter_type_must_be_string_or_number_1023',_0x1a4e('0x1b96')),'readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature':_0x146f6e(0x400,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1b97'),_0x1a4e('0x1b98')),'Accessibility_modifier_already_seen':_0x146f6e(0x404,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1b99'),'Accessibility\x20modifier\x20already\x20seen.'),'_0_modifier_must_precede_1_modifier':_0x146f6e(0x405,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b9a'),_0x1a4e('0x1b9b')),'_0_modifier_already_seen':_0x146f6e(0x406,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1b9c'),'\x27{0}\x27\x20modifier\x20already\x20seen.'),'_0_modifier_cannot_appear_on_a_class_element':_0x146f6e(0x407,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'_0_modifier_cannot_appear_on_a_class_element_1031',_0x1a4e('0x1b9d')),'super_must_be_followed_by_an_argument_list_or_member_access':_0x146f6e(0x40a,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1b9e'),_0x1a4e('0x1b9f')),'Only_ambient_modules_can_use_quoted_names':_0x146f6e(0x40b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Only_ambient_modules_can_use_quoted_names_1035',_0x1a4e('0x1ba0')),'Statements_are_not_allowed_in_ambient_contexts':_0x146f6e(0x40c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ba1'),_0x1a4e('0x1ba2')),'A_declare_modifier_cannot_be_used_in_an_already_ambient_context':_0x146f6e(0x40e,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1ba3'),_0x1a4e('0x1ba4')),'Initializers_are_not_allowed_in_ambient_contexts':_0x146f6e(0x40f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ba5'),_0x1a4e('0x1ba6')),'_0_modifier_cannot_be_used_in_an_ambient_context':_0x146f6e(0x410,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1ba7'),_0x1a4e('0x1ba8')),'_0_modifier_cannot_be_used_with_a_class_declaration':_0x146f6e(0x411,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1ba9'),_0x1a4e('0x1baa')),'_0_modifier_cannot_be_used_here':_0x146f6e(0x412,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1bab'),_0x1a4e('0x1bac')),'_0_modifier_cannot_appear_on_a_data_property':_0x146f6e(0x413,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1bad'),_0x1a4e('0x1bae')),'_0_modifier_cannot_appear_on_a_module_or_namespace_element':_0x146f6e(0x414,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044','\x27{0}\x27\x20modifier\x20cannot\x20appear\x20on\x20a\x20module\x20or\x20namespace\x20element.'),'A_0_modifier_cannot_be_used_with_an_interface_declaration':_0x146f6e(0x415,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1baf'),_0x1a4e('0x1bb0')),'A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file':_0x146f6e(0x416,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bb1'),_0x1a4e('0x1bb2')),'A_rest_parameter_cannot_be_optional':_0x146f6e(0x417,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bb3'),_0x1a4e('0x1bb4')),'A_rest_parameter_cannot_have_an_initializer':_0x146f6e(0x418,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1bb5'),'A\x20rest\x20parameter\x20cannot\x20have\x20an\x20initializer.'),'A_set_accessor_must_have_exactly_one_parameter':_0x146f6e(0x419,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1bb6'),'A\x20\x27set\x27\x20accessor\x20must\x20have\x20exactly\x20one\x20parameter.'),'A_set_accessor_cannot_have_an_optional_parameter':_0x146f6e(0x41b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bb7'),_0x1a4e('0x1bb8')),'A_set_accessor_parameter_cannot_have_an_initializer':_0x146f6e(0x41c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bb9'),_0x1a4e('0x1bba')),'A_set_accessor_cannot_have_rest_parameter':_0x146f6e(0x41d,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1bbb'),'A\x20\x27set\x27\x20accessor\x20cannot\x20have\x20rest\x20parameter.'),'A_get_accessor_cannot_have_parameters':_0x146f6e(0x41e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bbc'),_0x1a4e('0x1bbd')),'Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value':_0x146f6e(0x41f,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1bbe'),'Type\x20\x27{0}\x27\x20is\x20not\x20a\x20valid\x20async\x20function\x20return\x20type\x20in\x20ES5/ES3\x20because\x20it\x20does\x20not\x20refer\x20to\x20a\x20Promise-compatible\x20constructor\x20value.'),'Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher':_0x146f6e(0x420,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056',_0x1a4e('0x1bbf')),'An_async_function_or_method_must_have_a_valid_awaitable_return_type':_0x146f6e(0x421,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bc0'),'An\x20async\x20function\x20or\x20method\x20must\x20have\x20a\x20valid\x20awaitable\x20return\x20type.'),'The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member':_0x146f6e(0x422,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bc1'),_0x1a4e('0x1bc2')),'A_promise_must_have_a_then_method':_0x146f6e(0x423,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1bc3'),_0x1a4e('0x1bc4')),'The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback':_0x146f6e(0x424,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1bc5'),_0x1a4e('0x1bc6')),'Enum_member_must_have_initializer':_0x146f6e(0x425,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1bc7'),_0x1a4e('0x1bc8')),'Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method':_0x146f6e(0x426,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bc9'),_0x1a4e('0x1bca')),'An_export_assignment_cannot_be_used_in_a_namespace':_0x146f6e(0x427,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bcb'),_0x1a4e('0x1bcc')),'The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type':_0x146f6e(0x428,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bcd'),_0x1a4e('0x1bce')),'In_ambient_enum_declarations_member_initializer_must_be_constant_expression':_0x146f6e(0x42a,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1bcf'),'In\x20ambient\x20enum\x20declarations\x20member\x20initializer\x20must\x20be\x20constant\x20expression.'),'Unexpected_token_A_constructor_method_accessor_or_property_was_expected':_0x146f6e(0x42c,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1bd0'),'Unexpected\x20token.\x20A\x20constructor,\x20method,\x20accessor,\x20or\x20property\x20was\x20expected.'),'Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces':_0x146f6e(0x42d,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1bd1'),_0x1a4e('0x1bd2')),'_0_modifier_cannot_appear_on_a_type_member':_0x146f6e(0x42e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bd3'),_0x1a4e('0x1bd4')),'_0_modifier_cannot_appear_on_an_index_signature':_0x146f6e(0x42f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bd5'),_0x1a4e('0x1bd6')),'A_0_modifier_cannot_be_used_with_an_import_declaration':_0x146f6e(0x437,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bd7'),'A\x20\x27{0}\x27\x20modifier\x20cannot\x20be\x20used\x20with\x20an\x20import\x20declaration.'),'Invalid_reference_directive_syntax':_0x146f6e(0x43c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Invalid_reference_directive_syntax_1084','Invalid\x20\x27reference\x27\x20directive\x20syntax.'),'Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0':_0x146f6e(0x43d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085',_0x1a4e('0x1bd8')),'An_accessor_cannot_be_declared_in_an_ambient_context':_0x146f6e(0x43e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bd9'),_0x1a4e('0x1bda')),'_0_modifier_cannot_appear_on_a_constructor_declaration':_0x146f6e(0x441,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bdb'),_0x1a4e('0x1bdc')),'_0_modifier_cannot_appear_on_a_parameter':_0x146f6e(0x442,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1bdd'),_0x1a4e('0x1bde')),'Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement':_0x146f6e(0x443,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bdf'),'Only\x20a\x20single\x20variable\x20declaration\x20is\x20allowed\x20in\x20a\x20\x27for...in\x27\x20statement.'),'Type_parameters_cannot_appear_on_a_constructor_declaration':_0x146f6e(0x444,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1be0'),'Type\x20parameters\x20cannot\x20appear\x20on\x20a\x20constructor\x20declaration.'),'Type_annotation_cannot_appear_on_a_constructor_declaration':_0x146f6e(0x445,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Type_annotation_cannot_appear_on_a_constructor_declaration_1093',_0x1a4e('0x1be1')),'An_accessor_cannot_have_type_parameters':_0x146f6e(0x446,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1be2'),_0x1a4e('0x1be3')),'A_set_accessor_cannot_have_a_return_type_annotation':_0x146f6e(0x447,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1be4'),_0x1a4e('0x1be5')),'An_index_signature_must_have_exactly_one_parameter':_0x146f6e(0x448,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1be6'),_0x1a4e('0x1be7')),'_0_list_cannot_be_empty':_0x146f6e(0x449,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1be8'),_0x1a4e('0x1be9')),'Type_parameter_list_cannot_be_empty':_0x146f6e(0x44a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bea'),_0x1a4e('0x1beb')),'Type_argument_list_cannot_be_empty':_0x146f6e(0x44b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bec'),_0x1a4e('0x1bed')),'Invalid_use_of_0_in_strict_mode':_0x146f6e(0x44c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bee'),_0x1a4e('0x1bef')),'with_statements_are_not_allowed_in_strict_mode':_0x146f6e(0x44d,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1bf0'),_0x1a4e('0x1bf1')),'delete_cannot_be_called_on_an_identifier_in_strict_mode':_0x146f6e(0x44e,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1bf2'),_0x1a4e('0x1bf3')),'A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator':_0x146f6e(0x44f,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1bf4'),_0x1a4e('0x1bf5')),'A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement':_0x146f6e(0x450,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bf6'),_0x1a4e('0x1bf7')),'A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement':_0x146f6e(0x451,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bf8'),_0x1a4e('0x1bf9')),'Jump_target_cannot_cross_function_boundary':_0x146f6e(0x453,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Jump_target_cannot_cross_function_boundary_1107',_0x1a4e('0x1bfa')),'A_return_statement_can_only_be_used_within_a_function_body':_0x146f6e(0x454,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bfb'),_0x1a4e('0x1bfc')),'Expression_expected':_0x146f6e(0x455,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Expression_expected_1109',_0x1a4e('0x1bfd')),'Type_expected':_0x146f6e(0x456,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1bfe'),_0x1a4e('0x1bff')),'A_default_clause_cannot_appear_more_than_once_in_a_switch_statement':_0x146f6e(0x459,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c00'),'A\x20\x27default\x27\x20clause\x20cannot\x20appear\x20more\x20than\x20once\x20in\x20a\x20\x27switch\x27\x20statement.'),'Duplicate_label_0':_0x146f6e(0x45a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Duplicate_label_0_1114','Duplicate\x20label\x20\x27{0}\x27.'),'A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement':_0x146f6e(0x45b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c01'),_0x1a4e('0x1c02')),'A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement':_0x146f6e(0x45c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c03'),_0x1a4e('0x1c04')),'An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode':_0x146f6e(0x45d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c05'),_0x1a4e('0x1c06')),'An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name':_0x146f6e(0x45e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118',_0x1a4e('0x1c07')),'An_object_literal_cannot_have_property_and_accessor_with_the_same_name':_0x146f6e(0x45f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c08'),_0x1a4e('0x1c09')),'An_export_assignment_cannot_have_modifiers':_0x146f6e(0x460,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c0a'),'An\x20export\x20assignment\x20cannot\x20have\x20modifiers.'),'Octal_literals_are_not_allowed_in_strict_mode':_0x146f6e(0x461,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c0b'),_0x1a4e('0x1c0c')),'Variable_declaration_list_cannot_be_empty':_0x146f6e(0x463,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c0d'),_0x1a4e('0x1c0e')),'Digit_expected':_0x146f6e(0x464,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Digit_expected_1124',_0x1a4e('0x1c0f')),'Hexadecimal_digit_expected':_0x146f6e(0x465,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Hexadecimal_digit_expected_1125',_0x1a4e('0x1c10')),'Unexpected_end_of_text':_0x146f6e(0x466,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Unexpected_end_of_text_1126',_0x1a4e('0x1c11')),'Invalid_character':_0x146f6e(0x467,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Invalid_character_1127',_0x1a4e('0x1c12')),'Declaration_or_statement_expected':_0x146f6e(0x468,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Declaration_or_statement_expected_1128','Declaration\x20or\x20statement\x20expected.'),'Statement_expected':_0x146f6e(0x469,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c13'),'Statement\x20expected.'),'case_or_default_expected':_0x146f6e(0x46a,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c14'),'\x27case\x27\x20or\x20\x27default\x27\x20expected.'),'Property_or_signature_expected':_0x146f6e(0x46b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c15'),_0x1a4e('0x1c16')),'Enum_member_expected':_0x146f6e(0x46c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c17'),_0x1a4e('0x1c18')),'Variable_declaration_expected':_0x146f6e(0x46e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c19'),'Variable\x20declaration\x20expected.'),'Argument_expression_expected':_0x146f6e(0x46f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c1a'),'Argument\x20expression\x20expected.'),'Property_assignment_expected':_0x146f6e(0x470,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c1b'),_0x1a4e('0x1c1c')),'Expression_or_comma_expected':_0x146f6e(0x471,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c1d'),_0x1a4e('0x1c1e')),'Parameter_declaration_expected':_0x146f6e(0x472,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c1f'),_0x1a4e('0x1c20')),'Type_parameter_declaration_expected':_0x146f6e(0x473,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c21'),_0x1a4e('0x1c22')),'Type_argument_expected':_0x146f6e(0x474,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c23'),_0x1a4e('0x1c24')),'String_literal_expected':_0x146f6e(0x475,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'String_literal_expected_1141',_0x1a4e('0x1c25')),'Line_break_not_permitted_here':_0x146f6e(0x476,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Line_break_not_permitted_here_1142','Line\x20break\x20not\x20permitted\x20here.'),'or_expected':_0x146f6e(0x478,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c26'),_0x1a4e('0x1c27')),'Declaration_expected':_0x146f6e(0x47a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Declaration_expected_1146',_0x1a4e('0x1c28')),'Import_declarations_in_a_namespace_cannot_reference_a_module':_0x146f6e(0x47b,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c29'),_0x1a4e('0x1c2a')),'Cannot_use_imports_exports_or_module_augmentations_when_module_is_none':_0x146f6e(0x47c,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c2b'),_0x1a4e('0x1c2c')),'File_name_0_differs_from_already_included_file_name_1_only_in_casing':_0x146f6e(0x47d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c2d'),'File\x20name\x20\x27{0}\x27\x20differs\x20from\x20already\x20included\x20file\x20name\x20\x27{1}\x27\x20only\x20in\x20casing.'),'new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead':_0x146f6e(0x47e,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150',_0x1a4e('0x1c2e')),'const_declarations_must_be_initialized':_0x146f6e(0x483,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c2f'),_0x1a4e('0x1c30')),'const_declarations_can_only_be_declared_inside_a_block':_0x146f6e(0x484,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c31'),_0x1a4e('0x1c32')),'let_declarations_can_only_be_declared_inside_a_block':_0x146f6e(0x485,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'let_declarations_can_only_be_declared_inside_a_block_1157','\x27let\x27\x20declarations\x20can\x20only\x20be\x20declared\x20inside\x20a\x20block.'),'Unterminated_template_literal':_0x146f6e(0x488,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1c33'),_0x1a4e('0x1c34')),'Unterminated_regular_expression_literal':_0x146f6e(0x489,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c35'),_0x1a4e('0x1c36')),'An_object_member_cannot_be_declared_optional':_0x146f6e(0x48a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c37'),'An\x20object\x20member\x20cannot\x20be\x20declared\x20optional.'),'A_yield_expression_is_only_allowed_in_a_generator_body':_0x146f6e(0x48b,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'A_yield_expression_is_only_allowed_in_a_generator_body_1163','A\x20\x27yield\x27\x20expression\x20is\x20only\x20allowed\x20in\x20a\x20generator\x20body.'),'Computed_property_names_are_not_allowed_in_enums':_0x146f6e(0x48c,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c38'),_0x1a4e('0x1c39')),'A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type':_0x146f6e(0x48d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165',_0x1a4e('0x1c3a')),'A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type':_0x146f6e(0x48e,_0x368e5a['DiagnosticCategory']['Error'],'A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_1166','A\x20computed\x20property\x20name\x20in\x20a\x20class\x20property\x20declaration\x20must\x20refer\x20to\x20an\x20expression\x20whose\x20type\x20is\x20a\x20literal\x20type\x20or\x20a\x20\x27unique\x20symbol\x27\x20type.'),'A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type':_0x146f6e(0x490,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168',_0x1a4e('0x1c3b')),'A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type':_0x146f6e(0x491,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169',_0x1a4e('0x1c3c')),'A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type':_0x146f6e(0x492,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c3d'),_0x1a4e('0x1c3e')),'A_comma_expression_is_not_allowed_in_a_computed_property_name':_0x146f6e(0x493,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c3f'),_0x1a4e('0x1c40')),'extends_clause_already_seen':_0x146f6e(0x494,_0x368e5a['DiagnosticCategory']['Error'],'extends_clause_already_seen_1172',_0x1a4e('0x1c41')),'extends_clause_must_precede_implements_clause':_0x146f6e(0x495,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c42'),_0x1a4e('0x1c43')),'Classes_can_only_extend_a_single_class':_0x146f6e(0x496,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c44'),_0x1a4e('0x1c45')),'implements_clause_already_seen':_0x146f6e(0x497,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'implements_clause_already_seen_1175',_0x1a4e('0x1c46')),'Interface_declaration_cannot_have_implements_clause':_0x146f6e(0x498,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c47'),_0x1a4e('0x1c48')),'Binary_digit_expected':_0x146f6e(0x499,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c49'),_0x1a4e('0x1c4a')),'Octal_digit_expected':_0x146f6e(0x49a,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c4b'),_0x1a4e('0x1c4c')),'Unexpected_token_expected':_0x146f6e(0x49b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Unexpected_token_expected_1179',_0x1a4e('0x1c4d')),'Property_destructuring_pattern_expected':_0x146f6e(0x49c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c4e'),_0x1a4e('0x1c4f')),'Array_element_destructuring_pattern_expected':_0x146f6e(0x49d,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Array_element_destructuring_pattern_expected_1181',_0x1a4e('0x1c50')),'A_destructuring_declaration_must_have_an_initializer':_0x146f6e(0x49e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c51'),'A\x20destructuring\x20declaration\x20must\x20have\x20an\x20initializer.'),'An_implementation_cannot_be_declared_in_ambient_contexts':_0x146f6e(0x49f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c52'),'An\x20implementation\x20cannot\x20be\x20declared\x20in\x20ambient\x20contexts.'),'Modifiers_cannot_appear_here':_0x146f6e(0x4a0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c53'),_0x1a4e('0x1c54')),'Merge_conflict_marker_encountered':_0x146f6e(0x4a1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c55'),_0x1a4e('0x1c56')),'A_rest_element_cannot_have_an_initializer':_0x146f6e(0x4a2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c57'),'A\x20rest\x20element\x20cannot\x20have\x20an\x20initializer.'),'A_parameter_property_may_not_be_declared_using_a_binding_pattern':_0x146f6e(0x4a3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c58'),_0x1a4e('0x1c59')),'Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement':_0x146f6e(0x4a4,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188',_0x1a4e('0x1c5a')),'The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer':_0x146f6e(0x4a5,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c5b'),_0x1a4e('0x1c5c')),'The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer':_0x146f6e(0x4a6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c5d'),'The\x20variable\x20declaration\x20of\x20a\x20\x27for...of\x27\x20statement\x20cannot\x20have\x20an\x20initializer.'),'An_import_declaration_cannot_have_modifiers':_0x146f6e(0x4a7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c5e'),'An\x20import\x20declaration\x20cannot\x20have\x20modifiers.'),'Module_0_has_no_default_export':_0x146f6e(0x4a8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c5f'),_0x1a4e('0x1c60')),'An_export_declaration_cannot_have_modifiers':_0x146f6e(0x4a9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c61'),_0x1a4e('0x1c62')),'Export_declarations_are_not_permitted_in_a_namespace':_0x146f6e(0x4aa,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c63'),_0x1a4e('0x1c64')),'Catch_clause_variable_cannot_have_a_type_annotation':_0x146f6e(0x4ac,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c65'),_0x1a4e('0x1c66')),'Catch_clause_variable_cannot_have_an_initializer':_0x146f6e(0x4ad,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Catch_clause_variable_cannot_have_an_initializer_1197',_0x1a4e('0x1c67')),'An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive':_0x146f6e(0x4ae,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c68'),'An\x20extended\x20Unicode\x20escape\x20value\x20must\x20be\x20between\x200x0\x20and\x200x10FFFF\x20inclusive.'),'Unterminated_Unicode_escape_sequence':_0x146f6e(0x4af,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c69'),'Unterminated\x20Unicode\x20escape\x20sequence.'),'Line_terminator_not_permitted_before_arrow':_0x146f6e(0x4b0,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Line_terminator_not_permitted_before_arrow_1200','Line\x20terminator\x20not\x20permitted\x20before\x20arrow.'),'Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead':_0x146f6e(0x4b2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c6a'),_0x1a4e('0x1c6b')),'Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead':_0x146f6e(0x4b3,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c6c'),_0x1a4e('0x1c6d')),'Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided':_0x146f6e(0x4b5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c6e'),'Cannot\x20re-export\x20a\x20type\x20when\x20the\x20\x27--isolatedModules\x27\x20flag\x20is\x20provided.'),'Decorators_are_not_valid_here':_0x146f6e(0x4b6,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c6f'),'Decorators\x20are\x20not\x20valid\x20here.'),'Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name':_0x146f6e(0x4b7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c70'),_0x1a4e('0x1c71')),'Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided':_0x146f6e(0x4b8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c72'),'Cannot\x20compile\x20namespaces\x20when\x20the\x20\x27--isolatedModules\x27\x20flag\x20is\x20provided.'),'Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided':_0x146f6e(0x4b9,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c73'),_0x1a4e('0x1c74')),'Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode':_0x146f6e(0x4ba,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210',_0x1a4e('0x1c75')),'A_class_declaration_without_the_default_modifier_must_have_a_name':_0x146f6e(0x4bb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c76'),_0x1a4e('0x1c77')),'Identifier_expected_0_is_a_reserved_word_in_strict_mode':_0x146f6e(0x4bc,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1c78'),_0x1a4e('0x1c79')),'Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode':_0x146f6e(0x4bd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c7a'),_0x1a4e('0x1c7b')),'Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode':_0x146f6e(0x4be,_0x368e5a['DiagnosticCategory']['Error'],'Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214',_0x1a4e('0x1c7c')),'Invalid_use_of_0_Modules_are_automatically_in_strict_mode':_0x146f6e(0x4bf,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c7d'),_0x1a4e('0x1c7e')),'Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules':_0x146f6e(0x4c0,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1c7f'),_0x1a4e('0x1c80')),'Export_assignment_is_not_supported_when_module_flag_is_system':_0x146f6e(0x4c2,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c81'),_0x1a4e('0x1c82')),'Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning':_0x146f6e(0x4c3,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c83'),_0x1a4e('0x1c84')),'Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher':_0x146f6e(0x4c4,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220','Generators\x20are\x20only\x20available\x20when\x20targeting\x20ECMAScript\x202015\x20or\x20higher.'),'Generators_are_not_allowed_in_an_ambient_context':_0x146f6e(0x4c5,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c85'),_0x1a4e('0x1c86')),'An_overload_signature_cannot_be_declared_as_a_generator':_0x146f6e(0x4c6,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c87'),_0x1a4e('0x1c88')),'_0_tag_already_specified':_0x146f6e(0x4c7,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c89'),'\x27{0}\x27\x20tag\x20already\x20specified.'),'Signature_0_must_be_a_type_predicate':_0x146f6e(0x4c8,_0x368e5a['DiagnosticCategory']['Error'],'Signature_0_must_be_a_type_predicate_1224','Signature\x20\x27{0}\x27\x20must\x20be\x20a\x20type\x20predicate.'),'Cannot_find_parameter_0':_0x146f6e(0x4c9,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c8a'),_0x1a4e('0x1c8b')),'Type_predicate_0_is_not_assignable_to_1':_0x146f6e(0x4ca,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c8c'),_0x1a4e('0x1c8d')),'Parameter_0_is_not_in_the_same_position_as_parameter_1':_0x146f6e(0x4cb,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c8e'),_0x1a4e('0x1c8f')),'A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods':_0x146f6e(0x4cc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228','A\x20type\x20predicate\x20is\x20only\x20allowed\x20in\x20return\x20type\x20position\x20for\x20functions\x20and\x20methods.'),'A_type_predicate_cannot_reference_a_rest_parameter':_0x146f6e(0x4cd,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1c90'),'A\x20type\x20predicate\x20cannot\x20reference\x20a\x20rest\x20parameter.'),'A_type_predicate_cannot_reference_element_0_in_a_binding_pattern':_0x146f6e(0x4ce,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c91'),_0x1a4e('0x1c92')),'An_export_assignment_can_only_be_used_in_a_module':_0x146f6e(0x4cf,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c93'),_0x1a4e('0x1c94')),'An_import_declaration_can_only_be_used_in_a_namespace_or_module':_0x146f6e(0x4d0,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c95'),_0x1a4e('0x1c96')),'An_export_declaration_can_only_be_used_in_a_module':_0x146f6e(0x4d1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c97'),_0x1a4e('0x1c98')),'An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file':_0x146f6e(0x4d2,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c99'),_0x1a4e('0x1c9a')),'A_namespace_declaration_is_only_allowed_in_a_namespace_or_module':_0x146f6e(0x4d3,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235',_0x1a4e('0x1c9b')),'The_return_type_of_a_property_decorator_function_must_be_either_void_or_any':_0x146f6e(0x4d4,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1c9c'),_0x1a4e('0x1c9d')),'The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any':_0x146f6e(0x4d5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c9e'),'The\x20return\x20type\x20of\x20a\x20parameter\x20decorator\x20function\x20must\x20be\x20either\x20\x27void\x27\x20or\x20\x27any\x27.'),'Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression':_0x146f6e(0x4d6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1c9f'),'Unable\x20to\x20resolve\x20signature\x20of\x20class\x20decorator\x20when\x20called\x20as\x20an\x20expression.'),'Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression':_0x146f6e(0x4d7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ca0'),_0x1a4e('0x1ca1')),'Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression':_0x146f6e(0x4d8,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240',_0x1a4e('0x1ca2')),'Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression':_0x146f6e(0x4d9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241',_0x1a4e('0x1ca3')),'abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration':_0x146f6e(0x4da,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ca4'),'\x27abstract\x27\x20modifier\x20can\x20only\x20appear\x20on\x20a\x20class,\x20method,\x20or\x20property\x20declaration.'),'_0_modifier_cannot_be_used_with_1_modifier':_0x146f6e(0x4db,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1ca5'),_0x1a4e('0x1ca6')),'Abstract_methods_can_only_appear_within_an_abstract_class':_0x146f6e(0x4dc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Abstract_methods_can_only_appear_within_an_abstract_class_1244',_0x1a4e('0x1ca7')),'Method_0_cannot_have_an_implementation_because_it_is_marked_abstract':_0x146f6e(0x4dd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ca8'),_0x1a4e('0x1ca9')),'An_interface_property_cannot_have_an_initializer':_0x146f6e(0x4de,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1caa'),'An\x20interface\x20property\x20cannot\x20have\x20an\x20initializer.'),'A_type_literal_property_cannot_have_an_initializer':_0x146f6e(0x4df,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1cab'),_0x1a4e('0x1cac')),'A_class_member_cannot_have_the_0_keyword':_0x146f6e(0x4e0,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1cad'),_0x1a4e('0x1cae')),'A_decorator_can_only_decorate_a_method_implementation_not_an_overload':_0x146f6e(0x4e1,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1caf'),_0x1a4e('0x1cb0')),'Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5':_0x146f6e(0x4e2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cb1'),_0x1a4e('0x1cb2')),'Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode':_0x146f6e(0x4e3,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1cb3'),_0x1a4e('0x1cb4')),'Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode':_0x146f6e(0x4e4,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1cb5'),_0x1a4e('0x1cb6')),'_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag':_0x146f6e(0x4e5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cb7'),_0x1a4e('0x1cb8')),'A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference':_0x146f6e(0x4e6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cb9'),_0x1a4e('0x1cba')),'A_definite_assignment_assertion_is_not_permitted_in_this_context':_0x146f6e(0x4e7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_definite_assignment_assertion_is_not_permitted_in_this_context_1255',_0x1a4e('0x1cbb')),'A_rest_element_must_be_last_in_a_tuple_type':_0x146f6e(0x4e8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cbc'),_0x1a4e('0x1cbd')),'A_required_element_cannot_follow_an_optional_element':_0x146f6e(0x4e9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_required_element_cannot_follow_an_optional_element_1257','A\x20required\x20element\x20cannot\x20follow\x20an\x20optional\x20element.'),'with_statements_are_not_allowed_in_an_async_function_block':_0x146f6e(0x514,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1cbe'),_0x1a4e('0x1cbf')),'await_expression_is_only_allowed_within_an_async_function':_0x146f6e(0x51c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'await_expression_is_only_allowed_within_an_async_function_1308',_0x1a4e('0x1cc0')),'can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment':_0x146f6e(0x520,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cc1'),'\x27=\x27\x20can\x20only\x20be\x20used\x20in\x20an\x20object\x20literal\x20property\x20inside\x20a\x20destructuring\x20assignment.'),'The_body_of_an_if_statement_cannot_be_the_empty_statement':_0x146f6e(0x521,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cc2'),_0x1a4e('0x1cc3')),'Global_module_exports_may_only_appear_in_module_files':_0x146f6e(0x522,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Global_module_exports_may_only_appear_in_module_files_1314','Global\x20module\x20exports\x20may\x20only\x20appear\x20in\x20module\x20files.'),'Global_module_exports_may_only_appear_in_declaration_files':_0x146f6e(0x523,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cc4'),_0x1a4e('0x1cc5')),'Global_module_exports_may_only_appear_at_top_level':_0x146f6e(0x524,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cc6'),_0x1a4e('0x1cc7')),'A_parameter_property_cannot_be_declared_using_a_rest_parameter':_0x146f6e(0x525,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1cc8'),_0x1a4e('0x1cc9')),'An_abstract_accessor_cannot_have_an_implementation':_0x146f6e(0x526,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1cca'),_0x1a4e('0x1ccb')),'A_default_export_can_only_be_used_in_an_ECMAScript_style_module':_0x146f6e(0x527,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319',_0x1a4e('0x1ccc')),'Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member':_0x146f6e(0x528,_0x368e5a['DiagnosticCategory']['Error'],'Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320',_0x1a4e('0x1ccd')),'Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member':_0x146f6e(0x529,_0x368e5a['DiagnosticCategory']['Error'],'Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321',_0x1a4e('0x1cce')),'Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member':_0x146f6e(0x52a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ccf'),_0x1a4e('0x1cd0')),'Dynamic_import_is_only_supported_when_module_flag_is_commonjs_or_esNext':_0x146f6e(0x52b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cd1'),_0x1a4e('0x1cd2')),'Dynamic_import_must_have_one_specifier_as_an_argument':_0x146f6e(0x52c,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1cd3'),'Dynamic\x20import\x20must\x20have\x20one\x20specifier\x20as\x20an\x20argument.'),'Specifier_of_dynamic_import_cannot_be_spread_element':_0x146f6e(0x52d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Specifier_of_dynamic_import_cannot_be_spread_element_1325','Specifier\x20of\x20dynamic\x20import\x20cannot\x20be\x20spread\x20element.'),'Dynamic_import_cannot_have_type_arguments':_0x146f6e(0x52e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Dynamic_import_cannot_have_type_arguments_1326','Dynamic\x20import\x20cannot\x20have\x20type\x20arguments'),'String_literal_with_double_quotes_expected':_0x146f6e(0x52f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cd4'),_0x1a4e('0x1cd5')),'Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal':_0x146f6e(0x530,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1cd6'),'Property\x20value\x20can\x20only\x20be\x20string\x20literal,\x20numeric\x20literal,\x20\x27true\x27,\x20\x27false\x27,\x20\x27null\x27,\x20object\x20literal\x20or\x20array\x20literal.'),'_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0':_0x146f6e(0x531,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cd7'),_0x1a4e('0x1cd8')),'A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly':_0x146f6e(0x532,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cd9'),_0x1a4e('0x1cda')),'A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly':_0x146f6e(0x533,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1cdb'),_0x1a4e('0x1cdc')),'A_variable_whose_type_is_a_unique_symbol_type_must_be_const':_0x146f6e(0x534,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1cdd'),_0x1a4e('0x1cde')),'unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name':_0x146f6e(0x535,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cdf'),_0x1a4e('0x1ce0')),'unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement':_0x146f6e(0x536,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1ce1'),_0x1a4e('0x1ce2')),'unique_symbol_types_are_not_allowed_here':_0x146f6e(0x537,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1ce3'),_0x1a4e('0x1ce4')),'An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead':_0x146f6e(0x538,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ce5'),_0x1a4e('0x1ce6')),'An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead':_0x146f6e(0x539,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1ce7'),_0x1a4e('0x1ce8')),'infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type':_0x146f6e(0x53a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338','\x27infer\x27\x20declarations\x20are\x20only\x20permitted\x20in\x20the\x20\x27extends\x27\x20clause\x20of\x20a\x20conditional\x20type.'),'Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here':_0x146f6e(0x53b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ce9'),_0x1a4e('0x1cea')),'Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0':_0x146f6e(0x53c,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1ceb'),'Module\x20\x27{0}\x27\x20does\x20not\x20refer\x20to\x20a\x20type,\x20but\x20is\x20used\x20as\x20a\x20type\x20here.\x20Did\x20you\x20mean\x20\x27typeof\x20import(\x27{0}\x27)\x27?'),'Type_arguments_cannot_be_used_here':_0x146f6e(0x53e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cec'),_0x1a4e('0x1ced')),'The_import_meta_meta_property_is_only_allowed_using_ESNext_for_the_target_and_module_compiler_options':_0x146f6e(0x53f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cee'),'The\x20\x27import.meta\x27\x20meta-property\x20is\x20only\x20allowed\x20using\x20\x27ESNext\x27\x20for\x20the\x20\x27target\x27\x20and\x20\x27module\x27\x20compiler\x20options.'),'A_label_is_not_allowed_here':_0x146f6e(0x540,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1cef'),_0x1a4e('0x1cf0')),'An_expression_of_type_void_cannot_be_tested_for_truthiness':_0x146f6e(0x541,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'An_expression_of_type_void_cannot_be_tested_for_truthiness_1345',_0x1a4e('0x1cf1')),'This_parameter_is_not_allowed_with_use_strict_directive':_0x146f6e(0x542,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1cf2'),_0x1a4e('0x1cf3')),'use_strict_directive_cannot_be_used_with_non_simple_parameter_list':_0x146f6e(0x543,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347','\x27use\x20strict\x27\x20directive\x20cannot\x20be\x20used\x20with\x20non-simple\x20parameter\x20list.'),'Non_simple_parameter_declared_here':_0x146f6e(0x544,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Non_simple_parameter_declared_here_1348',_0x1a4e('0x1cf4')),'use_strict_directive_used_here':_0x146f6e(0x545,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cf5'),_0x1a4e('0x1cf6')),'Print_the_final_configuration_instead_of_building':_0x146f6e(0x546,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x1cf7'),_0x1a4e('0x1cf8')),'Duplicate_identifier_0':_0x146f6e(0x8fc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1cf9'),_0x1a4e('0x1cfa')),'Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor':_0x146f6e(0x8fd,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301','Initializer\x20of\x20instance\x20member\x20variable\x20\x27{0}\x27\x20cannot\x20reference\x20identifier\x20\x27{1}\x27\x20declared\x20in\x20the\x20constructor.'),'Static_members_cannot_reference_class_type_parameters':_0x146f6e(0x8fe,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Static_members_cannot_reference_class_type_parameters_2302',_0x1a4e('0x1cfb')),'Circular_definition_of_import_alias_0':_0x146f6e(0x8ff,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1cfc'),_0x1a4e('0x1cfd')),'Cannot_find_name_0':_0x146f6e(0x900,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1cfe'),_0x1a4e('0x1cff')),'Module_0_has_no_exported_member_1':_0x146f6e(0x901,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d00'),'Module\x20\x27{0}\x27\x20has\x20no\x20exported\x20member\x20\x27{1}\x27.'),'File_0_is_not_a_module':_0x146f6e(0x902,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'File_0_is_not_a_module_2306',_0x1a4e('0x1d01')),'Cannot_find_module_0':_0x146f6e(0x903,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d02'),_0x1a4e('0x1d03')),'Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity':_0x146f6e(0x904,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d04'),_0x1a4e('0x1d05')),'An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements':_0x146f6e(0x905,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309','An\x20export\x20assignment\x20cannot\x20be\x20used\x20in\x20a\x20module\x20with\x20other\x20exported\x20elements.'),'Type_0_recursively_references_itself_as_a_base_type':_0x146f6e(0x906,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Type_0_recursively_references_itself_as_a_base_type_2310',_0x1a4e('0x1d06')),'A_class_may_only_extend_another_class':_0x146f6e(0x907,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_class_may_only_extend_another_class_2311','A\x20class\x20may\x20only\x20extend\x20another\x20class.'),'An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members':_0x146f6e(0x908,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d07'),_0x1a4e('0x1d08')),'Type_parameter_0_has_a_circular_constraint':_0x146f6e(0x909,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d09'),_0x1a4e('0x1d0a')),'Generic_type_0_requires_1_type_argument_s':_0x146f6e(0x90a,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d0b'),'Generic\x20type\x20\x27{0}\x27\x20requires\x20{1}\x20type\x20argument(s).'),'Type_0_is_not_generic':_0x146f6e(0x90b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Type_0_is_not_generic_2315','Type\x20\x27{0}\x27\x20is\x20not\x20generic.'),'Global_type_0_must_be_a_class_or_interface_type':_0x146f6e(0x90c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d0c'),'Global\x20type\x20\x27{0}\x27\x20must\x20be\x20a\x20class\x20or\x20interface\x20type.'),'Global_type_0_must_have_1_type_parameter_s':_0x146f6e(0x90d,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d0d'),'Global\x20type\x20\x27{0}\x27\x20must\x20have\x20{1}\x20type\x20parameter(s).'),'Cannot_find_global_type_0':_0x146f6e(0x90e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d0e'),'Cannot\x20find\x20global\x20type\x20\x27{0}\x27.'),'Named_property_0_of_types_1_and_2_are_not_identical':_0x146f6e(0x90f,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d0f'),_0x1a4e('0x1d10')),'Interface_0_cannot_simultaneously_extend_types_1_and_2':_0x146f6e(0x910,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d11'),'Interface\x20\x27{0}\x27\x20cannot\x20simultaneously\x20extend\x20types\x20\x27{1}\x27\x20and\x20\x27{2}\x27.'),'Excessive_stack_depth_comparing_types_0_and_1':_0x146f6e(0x911,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d12'),'Excessive\x20stack\x20depth\x20comparing\x20types\x20\x27{0}\x27\x20and\x20\x27{1}\x27.'),'Type_0_is_not_assignable_to_type_1':_0x146f6e(0x912,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1d13'),_0x1a4e('0x1d14')),'Cannot_redeclare_exported_variable_0':_0x146f6e(0x913,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d15'),_0x1a4e('0x1d16')),'Property_0_is_missing_in_type_1':_0x146f6e(0x914,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d17'),_0x1a4e('0x1d18')),'Property_0_is_private_in_type_1_but_not_in_type_2':_0x146f6e(0x915,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d19'),_0x1a4e('0x1d1a')),'Types_of_property_0_are_incompatible':_0x146f6e(0x916,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d1b'),_0x1a4e('0x1d1c')),'Property_0_is_optional_in_type_1_but_required_in_type_2':_0x146f6e(0x917,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Property_0_is_optional_in_type_1_but_required_in_type_2_2327',_0x1a4e('0x1d1d')),'Types_of_parameters_0_and_1_are_incompatible':_0x146f6e(0x918,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d1e'),_0x1a4e('0x1d1f')),'Index_signature_is_missing_in_type_0':_0x146f6e(0x919,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d20'),_0x1a4e('0x1d21')),'Index_signatures_are_incompatible':_0x146f6e(0x91a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d22'),'Index\x20signatures\x20are\x20incompatible.'),'this_cannot_be_referenced_in_a_module_or_namespace_body':_0x146f6e(0x91b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'this_cannot_be_referenced_in_a_module_or_namespace_body_2331',_0x1a4e('0x1d23')),'this_cannot_be_referenced_in_current_location':_0x146f6e(0x91c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d24'),_0x1a4e('0x1d25')),'this_cannot_be_referenced_in_constructor_arguments':_0x146f6e(0x91d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'this_cannot_be_referenced_in_constructor_arguments_2333',_0x1a4e('0x1d26')),'this_cannot_be_referenced_in_a_static_property_initializer':_0x146f6e(0x91e,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'this_cannot_be_referenced_in_a_static_property_initializer_2334',_0x1a4e('0x1d27')),'super_can_only_be_referenced_in_a_derived_class':_0x146f6e(0x91f,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d28'),_0x1a4e('0x1d29')),'super_cannot_be_referenced_in_constructor_arguments':_0x146f6e(0x920,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'super_cannot_be_referenced_in_constructor_arguments_2336',_0x1a4e('0x1d2a')),'Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors':_0x146f6e(0x921,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1d2b'),_0x1a4e('0x1d2c')),'super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class':_0x146f6e(0x922,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d2d'),_0x1a4e('0x1d2e')),'Property_0_does_not_exist_on_type_1':_0x146f6e(0x923,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d2f'),_0x1a4e('0x1d30')),'Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword':_0x146f6e(0x924,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d31'),_0x1a4e('0x1d32')),'Property_0_is_private_and_only_accessible_within_class_1':_0x146f6e(0x925,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d33'),_0x1a4e('0x1d34')),'An_index_expression_argument_must_be_of_type_string_number_symbol_or_any':_0x146f6e(0x926,_0x368e5a['DiagnosticCategory']['Error'],'An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342',_0x1a4e('0x1d35')),'This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1':_0x146f6e(0x927,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d36'),_0x1a4e('0x1d37')),'Type_0_does_not_satisfy_the_constraint_1':_0x146f6e(0x928,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d38'),'Type\x20\x27{0}\x27\x20does\x20not\x20satisfy\x20the\x20constraint\x20\x27{1}\x27.'),'Argument_of_type_0_is_not_assignable_to_parameter_of_type_1':_0x146f6e(0x929,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d39'),_0x1a4e('0x1d3a')),'Call_target_does_not_contain_any_signatures':_0x146f6e(0x92a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d3b'),_0x1a4e('0x1d3c')),'Untyped_function_calls_may_not_accept_type_arguments':_0x146f6e(0x92b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d3d'),_0x1a4e('0x1d3e')),'Value_of_type_0_is_not_callable_Did_you_mean_to_include_new':_0x146f6e(0x92c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d3f'),_0x1a4e('0x1d40')),'Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures':_0x146f6e(0x92d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d41'),'Cannot\x20invoke\x20an\x20expression\x20whose\x20type\x20lacks\x20a\x20call\x20signature.\x20Type\x20\x27{0}\x27\x20has\x20no\x20compatible\x20call\x20signatures.'),'Only_a_void_function_can_be_called_with_the_new_keyword':_0x146f6e(0x92e,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d42'),_0x1a4e('0x1d43')),'Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature':_0x146f6e(0x92f,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d44'),'Cannot\x20use\x20\x27new\x27\x20with\x20an\x20expression\x20whose\x20type\x20lacks\x20a\x20call\x20or\x20construct\x20signature.'),'Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first':_0x146f6e(0x930,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d45'),'Conversion\x20of\x20type\x20\x27{0}\x27\x20to\x20type\x20\x27{1}\x27\x20may\x20be\x20a\x20mistake\x20because\x20neither\x20type\x20sufficiently\x20overlaps\x20with\x20the\x20other.\x20If\x20this\x20was\x20intentional,\x20convert\x20the\x20expression\x20to\x20\x27unknown\x27\x20first.'),'Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1':_0x146f6e(0x931,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d46'),_0x1a4e('0x1d47')),'This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found':_0x146f6e(0x932,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354',_0x1a4e('0x1d48')),'A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value':_0x146f6e(0x933,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d49'),'A\x20function\x20whose\x20declared\x20type\x20is\x20neither\x20\x27void\x27\x20nor\x20\x27any\x27\x20must\x20return\x20a\x20value.'),'An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type':_0x146f6e(0x934,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d4a'),_0x1a4e('0x1d4b')),'The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access':_0x146f6e(0x935,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d4c'),_0x1a4e('0x1d4d')),'The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter':_0x146f6e(0x936,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d4e'),_0x1a4e('0x1d4f')),'The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type':_0x146f6e(0x937,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d50'),'The\x20right-hand\x20side\x20of\x20an\x20\x27instanceof\x27\x20expression\x20must\x20be\x20of\x20type\x20\x27any\x27\x20or\x20of\x20a\x20type\x20assignable\x20to\x20the\x20\x27Function\x27\x20interface\x20type.'),'The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol':_0x146f6e(0x938,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d51'),'The\x20left-hand\x20side\x20of\x20an\x20\x27in\x27\x20expression\x20must\x20be\x20of\x20type\x20\x27any\x27,\x20\x27string\x27,\x20\x27number\x27,\x20or\x20\x27symbol\x27.'),'The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter':_0x146f6e(0x939,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d52'),'The\x20right-hand\x20side\x20of\x20an\x20\x27in\x27\x20expression\x20must\x20be\x20of\x20type\x20\x27any\x27,\x20an\x20object\x20type\x20or\x20a\x20type\x20parameter.'),'The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type':_0x146f6e(0x93a,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d53'),_0x1a4e('0x1d54')),'The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type':_0x146f6e(0x93b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d55'),_0x1a4e('0x1d56')),'The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access':_0x146f6e(0x93c,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d57'),'The\x20left-hand\x20side\x20of\x20an\x20assignment\x20expression\x20must\x20be\x20a\x20variable\x20or\x20a\x20property\x20access.'),'Operator_0_cannot_be_applied_to_types_1_and_2':_0x146f6e(0x93d,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d58'),'Operator\x20\x27{0}\x27\x20cannot\x20be\x20applied\x20to\x20types\x20\x27{1}\x27\x20and\x20\x27{2}\x27.'),'Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined':_0x146f6e(0x93e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d59'),_0x1a4e('0x1d5a')),'This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap':_0x146f6e(0x93f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d5b'),'This\x20condition\x20will\x20always\x20return\x20\x27{0}\x27\x20since\x20the\x20types\x20\x27{1}\x27\x20and\x20\x27{2}\x27\x20have\x20no\x20overlap.'),'Type_parameter_name_cannot_be_0':_0x146f6e(0x940,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d5c'),_0x1a4e('0x1d5d')),'A_parameter_property_is_only_allowed_in_a_constructor_implementation':_0x146f6e(0x941,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d5e'),_0x1a4e('0x1d5f')),'A_rest_parameter_must_be_of_an_array_type':_0x146f6e(0x942,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_rest_parameter_must_be_of_an_array_type_2370',_0x1a4e('0x1d60')),'A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation':_0x146f6e(0x943,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d61'),_0x1a4e('0x1d62')),'Parameter_0_cannot_be_referenced_in_its_initializer':_0x146f6e(0x944,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d63'),_0x1a4e('0x1d64')),'Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it':_0x146f6e(0x945,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d65'),_0x1a4e('0x1d66')),'Duplicate_string_index_signature':_0x146f6e(0x946,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Duplicate_string_index_signature_2374',_0x1a4e('0x1d67')),'Duplicate_number_index_signature':_0x146f6e(0x947,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d68'),_0x1a4e('0x1d69')),'A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties':_0x146f6e(0x948,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d6a'),_0x1a4e('0x1d6b')),'Constructors_for_derived_classes_must_contain_a_super_call':_0x146f6e(0x949,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Constructors_for_derived_classes_must_contain_a_super_call_2377','Constructors\x20for\x20derived\x20classes\x20must\x20contain\x20a\x20\x27super\x27\x20call.'),'A_get_accessor_must_return_a_value':_0x146f6e(0x94a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_get_accessor_must_return_a_value_2378',_0x1a4e('0x1d6c')),'Getter_and_setter_accessors_do_not_agree_in_visibility':_0x146f6e(0x94b,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d6d'),_0x1a4e('0x1d6e')),'get_and_set_accessor_must_have_the_same_type':_0x146f6e(0x94c,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d6f'),_0x1a4e('0x1d70')),'A_signature_with_an_implementation_cannot_use_a_string_literal_type':_0x146f6e(0x94d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d71'),'A\x20signature\x20with\x20an\x20implementation\x20cannot\x20use\x20a\x20string\x20literal\x20type.'),'Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature':_0x146f6e(0x94e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382','Specialized\x20overload\x20signature\x20is\x20not\x20assignable\x20to\x20any\x20non-specialized\x20signature.'),'Overload_signatures_must_all_be_exported_or_non_exported':_0x146f6e(0x94f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d72'),'Overload\x20signatures\x20must\x20all\x20be\x20exported\x20or\x20non-exported.'),'Overload_signatures_must_all_be_ambient_or_non_ambient':_0x146f6e(0x950,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Overload_signatures_must_all_be_ambient_or_non_ambient_2384',_0x1a4e('0x1d73')),'Overload_signatures_must_all_be_public_private_or_protected':_0x146f6e(0x951,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d74'),'Overload\x20signatures\x20must\x20all\x20be\x20public,\x20private\x20or\x20protected.'),'Overload_signatures_must_all_be_optional_or_required':_0x146f6e(0x952,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d75'),_0x1a4e('0x1d76')),'Function_overload_must_be_static':_0x146f6e(0x953,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d77'),_0x1a4e('0x1d78')),'Function_overload_must_not_be_static':_0x146f6e(0x954,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Function_overload_must_not_be_static_2388',_0x1a4e('0x1d79')),'Function_implementation_name_must_be_0':_0x146f6e(0x955,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d7a'),_0x1a4e('0x1d7b')),'Constructor_implementation_is_missing':_0x146f6e(0x956,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d7c'),'Constructor\x20implementation\x20is\x20missing.'),'Function_implementation_is_missing_or_not_immediately_following_the_declaration':_0x146f6e(0x957,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d7d'),_0x1a4e('0x1d7e')),'Multiple_constructor_implementations_are_not_allowed':_0x146f6e(0x958,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Multiple_constructor_implementations_are_not_allowed_2392',_0x1a4e('0x1d7f')),'Duplicate_function_implementation':_0x146f6e(0x959,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d80'),_0x1a4e('0x1d81')),'Overload_signature_is_not_compatible_with_function_implementation':_0x146f6e(0x95a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Overload_signature_is_not_compatible_with_function_implementation_2394',_0x1a4e('0x1d82')),'Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local':_0x146f6e(0x95b,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1d83'),_0x1a4e('0x1d84')),'Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters':_0x146f6e(0x95c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d85'),'Duplicate\x20identifier\x20\x27arguments\x27.\x20Compiler\x20uses\x20\x27arguments\x27\x20to\x20initialize\x20rest\x20parameters.'),'Declaration_name_conflicts_with_built_in_global_identifier_0':_0x146f6e(0x95d,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d86'),_0x1a4e('0x1d87')),'Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference':_0x146f6e(0x95f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d88'),_0x1a4e('0x1d89')),'Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference':_0x146f6e(0x960,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d8a'),_0x1a4e('0x1d8b')),'Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference':_0x146f6e(0x961,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1d8c'),_0x1a4e('0x1d8d')),'Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference':_0x146f6e(0x962,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d8e'),_0x1a4e('0x1d8f')),'Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2':_0x146f6e(0x963,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d90'),_0x1a4e('0x1d91')),'The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation':_0x146f6e(0x964,_0x368e5a['DiagnosticCategory']['Error'],'The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404','The\x20left-hand\x20side\x20of\x20a\x20\x27for...in\x27\x20statement\x20cannot\x20use\x20a\x20type\x20annotation.'),'The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any':_0x146f6e(0x965,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d92'),_0x1a4e('0x1d93')),'The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access':_0x146f6e(0x966,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406',_0x1a4e('0x1d94')),'The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0':_0x146f6e(0x967,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d95'),_0x1a4e('0x1d96')),'Setters_cannot_return_a_value':_0x146f6e(0x968,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Setters_cannot_return_a_value_2408','Setters\x20cannot\x20return\x20a\x20value.'),'Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class':_0x146f6e(0x969,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d97'),_0x1a4e('0x1d98')),'The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any':_0x146f6e(0x96a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d99'),_0x1a4e('0x1d9a')),'Property_0_of_type_1_is_not_assignable_to_string_index_type_2':_0x146f6e(0x96b,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1d9b'),_0x1a4e('0x1d9c')),'Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2':_0x146f6e(0x96c,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412','Property\x20\x27{0}\x27\x20of\x20type\x20\x27{1}\x27\x20is\x20not\x20assignable\x20to\x20numeric\x20index\x20type\x20\x27{2}\x27.'),'Numeric_index_type_0_is_not_assignable_to_string_index_type_1':_0x146f6e(0x96d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413',_0x1a4e('0x1d9d')),'Class_name_cannot_be_0':_0x146f6e(0x96e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1d9e'),_0x1a4e('0x1d9f')),'Class_0_incorrectly_extends_base_class_1':_0x146f6e(0x96f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1da0'),_0x1a4e('0x1da1')),'Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2':_0x146f6e(0x970,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1da2'),'Property\x20\x27{0}\x27\x20in\x20type\x20\x27{1}\x27\x20is\x20not\x20assignable\x20to\x20the\x20same\x20property\x20in\x20base\x20type\x20\x27{2}\x27.'),'Class_static_side_0_incorrectly_extends_base_class_static_side_1':_0x146f6e(0x971,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1da3'),_0x1a4e('0x1da4')),'Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1':_0x146f6e(0x972,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1da5'),_0x1a4e('0x1da6')),'Class_0_incorrectly_implements_interface_1':_0x146f6e(0x974,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1da7'),_0x1a4e('0x1da8')),'A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members':_0x146f6e(0x976,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1da9'),'A\x20class\x20can\x20only\x20implement\x20an\x20object\x20type\x20or\x20intersection\x20of\x20object\x20types\x20with\x20statically\x20known\x20members.'),'Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor':_0x146f6e(0x977,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1daa'),'Class\x20\x27{0}\x27\x20defines\x20instance\x20member\x20function\x20\x27{1}\x27,\x20but\x20extended\x20class\x20\x27{2}\x27\x20defines\x20it\x20as\x20instance\x20member\x20accessor.'),'Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property':_0x146f6e(0x978,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1dab'),_0x1a4e('0x1dac')),'Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function':_0x146f6e(0x979,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dad'),_0x1a4e('0x1dae')),'Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function':_0x146f6e(0x97a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426',_0x1a4e('0x1daf')),'Interface_name_cannot_be_0':_0x146f6e(0x97b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1db0'),_0x1a4e('0x1db1')),'All_declarations_of_0_must_have_identical_type_parameters':_0x146f6e(0x97c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1db2'),_0x1a4e('0x1db3')),'Interface_0_incorrectly_extends_interface_1':_0x146f6e(0x97e,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1db4'),_0x1a4e('0x1db5')),'Enum_name_cannot_be_0':_0x146f6e(0x97f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1db6'),_0x1a4e('0x1db7')),'In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element':_0x146f6e(0x980,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1db8'),_0x1a4e('0x1db9')),'A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged':_0x146f6e(0x981,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dba'),'A\x20namespace\x20declaration\x20cannot\x20be\x20in\x20a\x20different\x20file\x20from\x20a\x20class\x20or\x20function\x20with\x20which\x20it\x20is\x20merged.'),'A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged':_0x146f6e(0x982,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dbb'),_0x1a4e('0x1dbc')),'Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces':_0x146f6e(0x983,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1dbd'),_0x1a4e('0x1dbe')),'Ambient_module_declaration_cannot_specify_relative_module_name':_0x146f6e(0x984,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1dbf'),_0x1a4e('0x1dc0')),'Module_0_is_hidden_by_a_local_declaration_with_the_same_name':_0x146f6e(0x985,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dc1'),_0x1a4e('0x1dc2')),'Import_name_cannot_be_0':_0x146f6e(0x986,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1dc3'),_0x1a4e('0x1dc4')),'Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name':_0x146f6e(0x987,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dc5'),_0x1a4e('0x1dc6')),'Import_declaration_conflicts_with_local_declaration_of_0':_0x146f6e(0x988,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dc7'),'Import\x20declaration\x20conflicts\x20with\x20local\x20declaration\x20of\x20\x27{0}\x27.'),'Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module':_0x146f6e(0x989,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1dc8'),_0x1a4e('0x1dc9')),'Types_have_separate_declarations_of_a_private_property_0':_0x146f6e(0x98a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dca'),_0x1a4e('0x1dcb')),'Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2':_0x146f6e(0x98b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dcc'),_0x1a4e('0x1dcd')),'Property_0_is_protected_in_type_1_but_public_in_type_2':_0x146f6e(0x98c,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1dce'),_0x1a4e('0x1dcf')),'Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses':_0x146f6e(0x98d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dd0'),_0x1a4e('0x1dd1')),'Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1':_0x146f6e(0x98e,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1dd2'),'Property\x20\x27{0}\x27\x20is\x20protected\x20and\x20only\x20accessible\x20through\x20an\x20instance\x20of\x20class\x20\x27{1}\x27.'),'The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead':_0x146f6e(0x98f,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1dd3'),_0x1a4e('0x1dd4')),'Block_scoped_variable_0_used_before_its_declaration':_0x146f6e(0x990,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dd5'),'Block-scoped\x20variable\x20\x27{0}\x27\x20used\x20before\x20its\x20declaration.'),'Class_0_used_before_its_declaration':_0x146f6e(0x991,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Class_0_used_before_its_declaration_2449',_0x1a4e('0x1dd6')),'Enum_0_used_before_its_declaration':_0x146f6e(0x992,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1dd7'),_0x1a4e('0x1dd8')),'Cannot_redeclare_block_scoped_variable_0':_0x146f6e(0x993,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1dd9'),_0x1a4e('0x1dda')),'An_enum_member_cannot_have_a_numeric_name':_0x146f6e(0x994,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ddb'),_0x1a4e('0x1ddc')),'The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly':_0x146f6e(0x995,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ddd'),'The\x20type\x20argument\x20for\x20type\x20parameter\x20\x27{0}\x27\x20cannot\x20be\x20inferred\x20from\x20the\x20usage.\x20Consider\x20specifying\x20the\x20type\x20arguments\x20explicitly.'),'Variable_0_is_used_before_being_assigned':_0x146f6e(0x996,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dde'),_0x1a4e('0x1ddf')),'Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0':_0x146f6e(0x997,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455',_0x1a4e('0x1de0')),'Type_alias_0_circularly_references_itself':_0x146f6e(0x998,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1de1'),_0x1a4e('0x1de2')),'Type_alias_name_cannot_be_0':_0x146f6e(0x999,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1de3'),_0x1a4e('0x1de4')),'An_AMD_module_cannot_have_multiple_name_assignments':_0x146f6e(0x99a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1de5'),_0x1a4e('0x1de6')),'Type_0_has_no_property_1_and_no_string_index_signature':_0x146f6e(0x99b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1de7'),'Type\x20\x27{0}\x27\x20has\x20no\x20property\x20\x27{1}\x27\x20and\x20no\x20string\x20index\x20signature.'),'Type_0_has_no_property_1':_0x146f6e(0x99c,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Type_0_has_no_property_1_2460',_0x1a4e('0x1de8')),'Type_0_is_not_an_array_type':_0x146f6e(0x99d,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1de9'),_0x1a4e('0x1dea')),'A_rest_element_must_be_last_in_a_destructuring_pattern':_0x146f6e(0x99e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1deb'),_0x1a4e('0x1dec')),'A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature':_0x146f6e(0x99f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ded'),_0x1a4e('0x1dee')),'A_computed_property_name_must_be_of_type_string_number_symbol_or_any':_0x146f6e(0x9a0,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1def'),'A\x20computed\x20property\x20name\x20must\x20be\x20of\x20type\x20\x27string\x27,\x20\x27number\x27,\x20\x27symbol\x27,\x20or\x20\x27any\x27.'),'this_cannot_be_referenced_in_a_computed_property_name':_0x146f6e(0x9a1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1df0'),_0x1a4e('0x1df1')),'super_cannot_be_referenced_in_a_computed_property_name':_0x146f6e(0x9a2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'super_cannot_be_referenced_in_a_computed_property_name_2466',_0x1a4e('0x1df2')),'A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type':_0x146f6e(0x9a3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1df3'),_0x1a4e('0x1df4')),'Cannot_find_global_value_0':_0x146f6e(0x9a4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1df5'),'Cannot\x20find\x20global\x20value\x20\x27{0}\x27.'),'The_0_operator_cannot_be_applied_to_type_symbol':_0x146f6e(0x9a5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1df6'),_0x1a4e('0x1df7')),'Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object':_0x146f6e(0x9a6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1df8'),_0x1a4e('0x1df9')),'A_computed_property_name_of_the_form_0_must_be_of_type_symbol':_0x146f6e(0x9a7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1dfa'),_0x1a4e('0x1dfb')),'Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher':_0x146f6e(0x9a8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472',_0x1a4e('0x1dfc')),'Enum_declarations_must_all_be_const_or_non_const':_0x146f6e(0x9a9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Enum_declarations_must_all_be_const_or_non_const_2473',_0x1a4e('0x1dfd')),'In_const_enum_declarations_member_initializer_must_be_constant_expression':_0x146f6e(0x9aa,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1dfe'),_0x1a4e('0x1dff')),'const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query':_0x146f6e(0x9ab,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e00'),_0x1a4e('0x1e01')),'A_const_enum_member_can_only_be_accessed_using_a_string_literal':_0x146f6e(0x9ac,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e02'),'A\x20const\x20enum\x20member\x20can\x20only\x20be\x20accessed\x20using\x20a\x20string\x20literal.'),'const_enum_member_initializer_was_evaluated_to_a_non_finite_value':_0x146f6e(0x9ad,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e03'),_0x1a4e('0x1e04')),'const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN':_0x146f6e(0x9ae,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e05'),'\x27const\x27\x20enum\x20member\x20initializer\x20was\x20evaluated\x20to\x20disallowed\x20value\x20\x27NaN\x27.'),'Property_0_does_not_exist_on_const_enum_1':_0x146f6e(0x9af,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Property_0_does_not_exist_on_const_enum_1_2479',_0x1a4e('0x1e06')),'let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations':_0x146f6e(0x9b0,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1e07'),_0x1a4e('0x1e08')),'Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1':_0x146f6e(0x9b1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e09'),'Cannot\x20initialize\x20outer\x20scoped\x20variable\x20\x27{0}\x27\x20in\x20the\x20same\x20scope\x20as\x20block\x20scoped\x20declaration\x20\x27{1}\x27.'),'The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation':_0x146f6e(0x9b3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483',_0x1a4e('0x1e0a')),'Export_declaration_conflicts_with_exported_declaration_of_0':_0x146f6e(0x9b4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e0b'),_0x1a4e('0x1e0c')),'The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access':_0x146f6e(0x9b7,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e0d'),_0x1a4e('0x1e0e')),'Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator':_0x146f6e(0x9b8,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488',_0x1a4e('0x1e0f')),'An_iterator_must_have_a_next_method':_0x146f6e(0x9b9,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e10'),'An\x20iterator\x20must\x20have\x20a\x20\x27next()\x27\x20method.'),'The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property':_0x146f6e(0x9ba,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490',_0x1a4e('0x1e11')),'The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern':_0x146f6e(0x9bb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491',_0x1a4e('0x1e12')),'Cannot_redeclare_identifier_0_in_catch_clause':_0x146f6e(0x9bc,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Cannot_redeclare_identifier_0_in_catch_clause_2492',_0x1a4e('0x1e13')),'Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2':_0x146f6e(0x9bd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e14'),_0x1a4e('0x1e15')),'Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher':_0x146f6e(0x9be,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e16'),_0x1a4e('0x1e17')),'Type_0_is_not_an_array_type_or_a_string_type':_0x146f6e(0x9bf,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e18'),'Type\x20\x27{0}\x27\x20is\x20not\x20an\x20array\x20type\x20or\x20a\x20string\x20type.'),'The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression':_0x146f6e(0x9c0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496',_0x1a4e('0x1e19')),'Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct':_0x146f6e(0x9c1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e1a'),_0x1a4e('0x1e1b')),'Module_0_uses_export_and_cannot_be_used_with_export_Asterisk':_0x146f6e(0x9c2,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e1c'),_0x1a4e('0x1e1d')),'An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments':_0x146f6e(0x9c3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e1e'),_0x1a4e('0x1e1f')),'A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments':_0x146f6e(0x9c4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e20'),_0x1a4e('0x1e21')),'A_rest_element_cannot_contain_a_binding_pattern':_0x146f6e(0x9c5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e22'),'A\x20rest\x20element\x20cannot\x20contain\x20a\x20binding\x20pattern.'),'_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation':_0x146f6e(0x9c6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e23'),'\x27{0}\x27\x20is\x20referenced\x20directly\x20or\x20indirectly\x20in\x20its\x20own\x20type\x20annotation.'),'Cannot_find_namespace_0':_0x146f6e(0x9c7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e24'),_0x1a4e('0x1e25')),'Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator':_0x146f6e(0x9c8,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e26'),_0x1a4e('0x1e27')),'A_generator_cannot_have_a_void_type_annotation':_0x146f6e(0x9c9,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e28'),_0x1a4e('0x1e29')),'_0_is_referenced_directly_or_indirectly_in_its_own_base_expression':_0x146f6e(0x9ca,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e2a'),_0x1a4e('0x1e2b')),'Type_0_is_not_a_constructor_function_type':_0x146f6e(0x9cb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e2c'),_0x1a4e('0x1e2d')),'No_base_constructor_has_the_specified_number_of_type_arguments':_0x146f6e(0x9cc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e2e'),'No\x20base\x20constructor\x20has\x20the\x20specified\x20number\x20of\x20type\x20arguments.'),'Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members':_0x146f6e(0x9cd,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e2f'),_0x1a4e('0x1e30')),'Base_constructors_must_all_have_the_same_return_type':_0x146f6e(0x9ce,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e31'),'Base\x20constructors\x20must\x20all\x20have\x20the\x20same\x20return\x20type.'),'Cannot_create_an_instance_of_an_abstract_class':_0x146f6e(0x9cf,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e32'),'Cannot\x20create\x20an\x20instance\x20of\x20an\x20abstract\x20class.'),'Overload_signatures_must_all_be_abstract_or_non_abstract':_0x146f6e(0x9d0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e33'),'Overload\x20signatures\x20must\x20all\x20be\x20abstract\x20or\x20non-abstract.'),'Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression':_0x146f6e(0x9d1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e34'),'Abstract\x20method\x20\x27{0}\x27\x20in\x20class\x20\x27{1}\x27\x20cannot\x20be\x20accessed\x20via\x20super\x20expression.'),'Classes_containing_abstract_methods_must_be_marked_abstract':_0x146f6e(0x9d2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e35'),_0x1a4e('0x1e36')),'Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2':_0x146f6e(0x9d3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515','Non-abstract\x20class\x20\x27{0}\x27\x20does\x20not\x20implement\x20inherited\x20abstract\x20member\x20\x27{1}\x27\x20from\x20class\x20\x27{2}\x27.'),'All_declarations_of_an_abstract_method_must_be_consecutive':_0x146f6e(0x9d4,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1e37'),_0x1a4e('0x1e38')),'Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type':_0x146f6e(0x9d5,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517',_0x1a4e('0x1e39')),'A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard':_0x146f6e(0x9d6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518',_0x1a4e('0x1e3a')),'An_async_iterator_must_have_a_next_method':_0x146f6e(0x9d7,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e3b'),_0x1a4e('0x1e3c')),'Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions':_0x146f6e(0x9d8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e3d'),_0x1a4e('0x1e3e')),'Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions':_0x146f6e(0x9d9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e3f'),'Expression\x20resolves\x20to\x20variable\x20declaration\x20\x27{0}\x27\x20that\x20compiler\x20uses\x20to\x20support\x20async\x20functions.'),'The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method':_0x146f6e(0x9da,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522',_0x1a4e('0x1e40')),'yield_expressions_cannot_be_used_in_a_parameter_initializer':_0x146f6e(0x9db,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e41'),'\x27yield\x27\x20expressions\x20cannot\x20be\x20used\x20in\x20a\x20parameter\x20initializer.'),'await_expressions_cannot_be_used_in_a_parameter_initializer':_0x146f6e(0x9dc,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e42'),_0x1a4e('0x1e43')),'Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value':_0x146f6e(0x9dd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e44'),_0x1a4e('0x1e45')),'A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface':_0x146f6e(0x9de,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e46'),_0x1a4e('0x1e47')),'The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary':_0x146f6e(0x9df,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527',_0x1a4e('0x1e48')),'A_module_cannot_have_multiple_default_exports':_0x146f6e(0x9e0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e49'),_0x1a4e('0x1e4a')),'Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions':_0x146f6e(0x9e1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e4b'),_0x1a4e('0x1e4c')),'Property_0_is_incompatible_with_index_signature':_0x146f6e(0x9e2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e4d'),_0x1a4e('0x1e4e')),'Object_is_possibly_null':_0x146f6e(0x9e3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e4f'),_0x1a4e('0x1e50')),'Object_is_possibly_undefined':_0x146f6e(0x9e4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e51'),_0x1a4e('0x1e52')),'Object_is_possibly_null_or_undefined':_0x146f6e(0x9e5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e53'),'Object\x20is\x20possibly\x20\x27null\x27\x20or\x20\x27undefined\x27.'),'A_function_returning_never_cannot_have_a_reachable_end_point':_0x146f6e(0x9e6,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e54'),_0x1a4e('0x1e55')),'Enum_type_0_has_members_with_initializers_that_are_not_literals':_0x146f6e(0x9e7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e56'),_0x1a4e('0x1e57')),'Type_0_cannot_be_used_to_index_type_1':_0x146f6e(0x9e8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Type_0_cannot_be_used_to_index_type_1_2536',_0x1a4e('0x1e58')),'Type_0_has_no_matching_index_signature_for_type_1':_0x146f6e(0x9e9,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e59'),_0x1a4e('0x1e5a')),'Type_0_cannot_be_used_as_an_index_type':_0x146f6e(0x9ea,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e5b'),_0x1a4e('0x1e5c')),'Cannot_assign_to_0_because_it_is_not_a_variable':_0x146f6e(0x9eb,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e5d'),'Cannot\x20assign\x20to\x20\x27{0}\x27\x20because\x20it\x20is\x20not\x20a\x20variable.'),'Cannot_assign_to_0_because_it_is_a_read_only_property':_0x146f6e(0x9ec,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e5e'),_0x1a4e('0x1e5f')),'The_target_of_an_assignment_must_be_a_variable_or_a_property_access':_0x146f6e(0x9ed,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e60'),_0x1a4e('0x1e61')),'Index_signature_in_type_0_only_permits_reading':_0x146f6e(0x9ee,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Index_signature_in_type_0_only_permits_reading_2542','Index\x20signature\x20in\x20type\x20\x27{0}\x27\x20only\x20permits\x20reading.'),'Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference':_0x146f6e(0x9ef,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e62'),_0x1a4e('0x1e63')),'Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference':_0x146f6e(0x9f0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e64'),'Expression\x20resolves\x20to\x20variable\x20declaration\x20\x27_newTarget\x27\x20that\x20compiler\x20uses\x20to\x20capture\x20\x27new.target\x27\x20meta-property\x20reference.'),'A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any':_0x146f6e(0x9f1,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545',_0x1a4e('0x1e65')),'Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1':_0x146f6e(0x9f2,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e66'),'Property\x20\x27{0}\x27\x20has\x20conflicting\x20declarations\x20and\x20is\x20inaccessible\x20in\x20type\x20\x27{1}\x27.'),'The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property':_0x146f6e(0x9f3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e67'),_0x1a4e('0x1e68')),'Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator':_0x146f6e(0x9f4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e69'),_0x1a4e('0x1e6a')),'Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator':_0x146f6e(0x9f5,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1e6b'),_0x1a4e('0x1e6c')),'Property_0_does_not_exist_on_type_1_Did_you_mean_2':_0x146f6e(0x9f7,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e6d'),_0x1a4e('0x1e6e')),'Cannot_find_name_0_Did_you_mean_1':_0x146f6e(0x9f8,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e6f'),_0x1a4e('0x1e70')),'Computed_values_are_not_permitted_in_an_enum_with_string_valued_members':_0x146f6e(0x9f9,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e71'),_0x1a4e('0x1e72')),'Expected_0_arguments_but_got_1':_0x146f6e(0x9fa,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e73'),_0x1a4e('0x1e74')),'Expected_at_least_0_arguments_but_got_1':_0x146f6e(0x9fb,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1e75'),_0x1a4e('0x1e76')),'Expected_0_arguments_but_got_1_or_more':_0x146f6e(0x9fc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e77'),'Expected\x20{0}\x20arguments,\x20but\x20got\x20{1}\x20or\x20more.'),'Expected_at_least_0_arguments_but_got_1_or_more':_0x146f6e(0x9fd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e78'),_0x1a4e('0x1e79')),'Expected_0_type_arguments_but_got_1':_0x146f6e(0x9fe,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Expected_0_type_arguments_but_got_1_2558',_0x1a4e('0x1e7a')),'Type_0_has_no_properties_in_common_with_type_1':_0x146f6e(0x9ff,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1e7b'),_0x1a4e('0x1e7c')),'Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it':_0x146f6e(0xa00,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560',_0x1a4e('0x1e7d')),'Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2':_0x146f6e(0xa01,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e7e'),'Object\x20literal\x20may\x20only\x20specify\x20known\x20properties,\x20but\x20\x27{0}\x27\x20does\x20not\x20exist\x20in\x20type\x20\x27{1}\x27.\x20Did\x20you\x20mean\x20to\x20write\x20\x27{2}\x27?'),'Base_class_expressions_cannot_reference_class_type_parameters':_0x146f6e(0xa02,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Base_class_expressions_cannot_reference_class_type_parameters_2562',_0x1a4e('0x1e7f')),'The_containing_function_or_module_body_is_too_large_for_control_flow_analysis':_0x146f6e(0xa03,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e80'),_0x1a4e('0x1e81')),'Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor':_0x146f6e(0xa04,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e82'),_0x1a4e('0x1e83')),'Property_0_is_used_before_being_assigned':_0x146f6e(0xa05,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e84'),'Property\x20\x27{0}\x27\x20is\x20used\x20before\x20being\x20assigned.'),'A_rest_element_cannot_have_a_property_name':_0x146f6e(0xa06,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e85'),_0x1a4e('0x1e86')),'Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations':_0x146f6e(0xa07,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e87'),'Enum\x20declarations\x20can\x20only\x20merge\x20with\x20namespace\x20or\x20other\x20enum\x20declarations.'),'Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators':_0x146f6e(0xa08,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1e88'),'Type\x20\x27{0}\x27\x20is\x20not\x20an\x20array\x20type.\x20Use\x20compiler\x20option\x20\x27--downlevelIteration\x27\x20to\x20allow\x20iterating\x20of\x20iterators.'),'Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators':_0x146f6e(0xa09,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e89'),_0x1a4e('0x1e8a')),'Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await':_0x146f6e(0xa0a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await_2570',_0x1a4e('0x1e8b')),'Object_is_of_type_unknown':_0x146f6e(0xa0b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e8c'),'Object\x20is\x20of\x20type\x20\x27unknown\x27.'),'Rest_signatures_are_incompatible':_0x146f6e(0xa0c,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1e8d'),_0x1a4e('0x1e8e')),'Property_0_is_incompatible_with_rest_element_type':_0x146f6e(0xa0d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e8f'),_0x1a4e('0x1e90')),'A_rest_element_type_must_be_an_array_type':_0x146f6e(0xa0e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e91'),_0x1a4e('0x1e92')),'No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments':_0x146f6e(0xa0f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e93'),'No\x20overload\x20expects\x20{0}\x20arguments,\x20but\x20overloads\x20do\x20exist\x20that\x20expect\x20either\x20{1}\x20or\x20{2}\x20arguments.'),'Property_0_is_a_static_member_of_type_1':_0x146f6e(0xa10,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Property_0_is_a_static_member_of_type_1_2576',_0x1a4e('0x1e94')),'Return_type_annotation_circularly_references_itself':_0x146f6e(0xa11,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e95'),_0x1a4e('0x1e96')),'Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig':_0x146f6e(0xa14,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e97'),'Cannot\x20find\x20name\x20\x27{0}\x27.\x20Do\x20you\x20need\x20to\x20install\x20type\x20definitions\x20for\x20node?\x20Try\x20`npm\x20i\x20@types/node`\x20and\x20then\x20add\x20`node`\x20to\x20the\x20types\x20field\x20in\x20your\x20tsconfig.'),'Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig':_0x146f6e(0xa15,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e98'),_0x1a4e('0x1e99')),'Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashjest_or_npm_i_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig':_0x146f6e(0xa16,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1e9a'),_0x1a4e('0x1e9b')),'Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later':_0x146f6e(0xa17,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583',_0x1a4e('0x1e9c')),'Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom':_0x146f6e(0xa18,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e9d'),_0x1a4e('0x1e9e')),'_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later':_0x146f6e(0xa19,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1e9f'),'\x27{0}\x27\x20only\x20refers\x20to\x20a\x20type,\x20but\x20is\x20being\x20used\x20as\x20a\x20value\x20here.\x20Do\x20you\x20need\x20to\x20change\x20your\x20target\x20library?\x20Try\x20changing\x20the\x20`lib`\x20compiler\x20option\x20to\x20es2015\x20or\x20later.'),'Enum_type_0_circularly_references_itself':_0x146f6e(0xa1a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ea0'),_0x1a4e('0x1ea1')),'JSDoc_type_0_circularly_references_itself':_0x146f6e(0xa1b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'JSDoc_type_0_circularly_references_itself_2587',_0x1a4e('0x1ea2')),'Cannot_assign_to_0_because_it_is_a_constant':_0x146f6e(0xa1c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ea3'),_0x1a4e('0x1ea4')),'JSX_element_attributes_type_0_may_not_be_a_union_type':_0x146f6e(0xa28,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ea5'),_0x1a4e('0x1ea6')),'The_return_type_of_a_JSX_element_constructor_must_return_an_object_type':_0x146f6e(0xa29,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1ea7'),_0x1a4e('0x1ea8')),'JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist':_0x146f6e(0xa2a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ea9'),_0x1a4e('0x1eaa')),'Property_0_in_type_1_is_not_assignable_to_type_2':_0x146f6e(0xa2b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1eab'),'Property\x20\x27{0}\x27\x20in\x20type\x20\x27{1}\x27\x20is\x20not\x20assignable\x20to\x20type\x20\x27{2}\x27.'),'JSX_element_type_0_does_not_have_any_construct_or_call_signatures':_0x146f6e(0xa2c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604','JSX\x20element\x20type\x20\x27{0}\x27\x20does\x20not\x20have\x20any\x20construct\x20or\x20call\x20signatures.'),'JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements':_0x146f6e(0xa2d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1eac'),_0x1a4e('0x1ead')),'Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property':_0x146f6e(0xa2e,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1eae'),_0x1a4e('0x1eaf')),'JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property':_0x146f6e(0xa2f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1eb0'),_0x1a4e('0x1eb1')),'The_global_type_JSX_0_may_not_have_more_than_one_property':_0x146f6e(0xa30,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1eb2'),_0x1a4e('0x1eb3')),'JSX_spread_child_must_be_an_array_type':_0x146f6e(0xa31,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1eb4'),_0x1a4e('0x1eb5')),'Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity':_0x146f6e(0xa59,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1eb6'),_0x1a4e('0x1eb7')),'A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums':_0x146f6e(0xa5b,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1eb8'),'A\x20member\x20initializer\x20in\x20a\x20enum\x20declaration\x20cannot\x20reference\x20members\x20declared\x20after\x20it,\x20including\x20members\x20defined\x20in\x20other\x20enums.'),'Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead':_0x146f6e(0xa5c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652',_0x1a4e('0x1eb9')),'Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1':_0x146f6e(0xa5d,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1eba'),_0x1a4e('0x1ebb')),'Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition':_0x146f6e(0xa5e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ebc'),'Exported\x20external\x20package\x20typings\x20file\x20cannot\x20contain\x20tripleslash\x20references.\x20Please\x20contact\x20the\x20package\x20author\x20to\x20update\x20the\x20package\x20definition.'),'Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition':_0x146f6e(0xa60,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656',_0x1a4e('0x1ebd')),'JSX_expressions_must_have_one_parent_element':_0x146f6e(0xa61,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1ebe'),_0x1a4e('0x1ebf')),'Type_0_provides_no_match_for_the_signature_1':_0x146f6e(0xa62,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1ec0'),_0x1a4e('0x1ec1')),'super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher':_0x146f6e(0xa63,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ec2'),_0x1a4e('0x1ec3')),'super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions':_0x146f6e(0xa64,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1ec4'),_0x1a4e('0x1ec5')),'Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module':_0x146f6e(0xa65,_0x368e5a['DiagnosticCategory']['Error'],'Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661','Cannot\x20export\x20\x27{0}\x27.\x20Only\x20local\x20declarations\x20can\x20be\x20exported\x20from\x20a\x20module.'),'Cannot_find_name_0_Did_you_mean_the_static_member_1_0':_0x146f6e(0xa66,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1ec6'),_0x1a4e('0x1ec7')),'Cannot_find_name_0_Did_you_mean_the_instance_member_this_0':_0x146f6e(0xa67,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ec8'),'Cannot\x20find\x20name\x20\x27{0}\x27.\x20Did\x20you\x20mean\x20the\x20instance\x20member\x20\x27this.{0}\x27?'),'Invalid_module_name_in_augmentation_module_0_cannot_be_found':_0x146f6e(0xa68,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ec9'),'Invalid\x20module\x20name\x20in\x20augmentation,\x20module\x20\x27{0}\x27\x20cannot\x20be\x20found.'),'Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented':_0x146f6e(0xa69,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665',_0x1a4e('0x1eca')),'Exports_and_export_assignments_are_not_permitted_in_module_augmentations':_0x146f6e(0xa6a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ecb'),_0x1a4e('0x1ecc')),'Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module':_0x146f6e(0xa6b,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1ecd'),_0x1a4e('0x1ece')),'export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible':_0x146f6e(0xa6c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ecf'),_0x1a4e('0x1ed0')),'Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations':_0x146f6e(0xa6d,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669',_0x1a4e('0x1ed1')),'Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context':_0x146f6e(0xa6e,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1ed2'),_0x1a4e('0x1ed3')),'Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity':_0x146f6e(0xa6f,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1ed4'),_0x1a4e('0x1ed5')),'Cannot_assign_a_0_constructor_type_to_a_1_constructor_type':_0x146f6e(0xa70,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ed6'),_0x1a4e('0x1ed7')),'Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration':_0x146f6e(0xa71,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ed8'),_0x1a4e('0x1ed9')),'Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration':_0x146f6e(0xa72,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1eda'),_0x1a4e('0x1edb')),'Cannot_extend_a_class_0_Class_constructor_is_marked_as_private':_0x146f6e(0xa73,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1edc'),_0x1a4e('0x1edd')),'Accessors_must_both_be_abstract_or_non_abstract':_0x146f6e(0xa74,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ede'),_0x1a4e('0x1edf')),'A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type':_0x146f6e(0xa75,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677',_0x1a4e('0x1ee0')),'Type_0_is_not_comparable_to_type_1':_0x146f6e(0xa76,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1ee1'),_0x1a4e('0x1ee2')),'A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void':_0x146f6e(0xa77,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1ee3'),'A\x20function\x20that\x20is\x20called\x20with\x20the\x20\x27new\x27\x20keyword\x20cannot\x20have\x20a\x20\x27this\x27\x20type\x20that\x20is\x20\x27void\x27.'),'A_0_parameter_must_be_the_first_parameter':_0x146f6e(0xa78,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1ee4'),'A\x20\x27{0}\x27\x20parameter\x20must\x20be\x20the\x20first\x20parameter.'),'A_constructor_cannot_have_a_this_parameter':_0x146f6e(0xa79,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ee5'),_0x1a4e('0x1ee6')),'get_and_set_accessor_must_have_the_same_this_type':_0x146f6e(0xa7a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ee7'),_0x1a4e('0x1ee8')),'this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation':_0x146f6e(0xa7b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ee9'),_0x1a4e('0x1eea')),'The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1':_0x146f6e(0xa7c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1eeb'),_0x1a4e('0x1eec')),'The_this_types_of_each_signature_are_incompatible':_0x146f6e(0xa7d,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1eed'),'The\x20\x27this\x27\x20types\x20of\x20each\x20signature\x20are\x20incompatible.'),'_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead':_0x146f6e(0xa7e,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686',_0x1a4e('0x1eee')),'All_declarations_of_0_must_have_identical_modifiers':_0x146f6e(0xa7f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1eef'),_0x1a4e('0x1ef0')),'Cannot_find_type_definition_file_for_0':_0x146f6e(0xa80,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ef1'),'Cannot\x20find\x20type\x20definition\x20file\x20for\x20\x27{0}\x27.'),'Cannot_extend_an_interface_0_Did_you_mean_implements':_0x146f6e(0xa81,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ef2'),_0x1a4e('0x1ef3')),'An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead':_0x146f6e(0xa83,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691','An\x20import\x20path\x20cannot\x20end\x20with\x20a\x20\x27{0}\x27\x20extension.\x20Consider\x20importing\x20\x27{1}\x27\x20instead.'),'_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible':_0x146f6e(0xa84,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ef4'),'\x27{0}\x27\x20is\x20a\x20primitive,\x20but\x20\x27{1}\x27\x20is\x20a\x20wrapper\x20object.\x20Prefer\x20using\x20\x27{0}\x27\x20when\x20possible.'),'_0_only_refers_to_a_type_but_is_being_used_as_a_value_here':_0x146f6e(0xa85,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1ef5'),'\x27{0}\x27\x20only\x20refers\x20to\x20a\x20type,\x20but\x20is\x20being\x20used\x20as\x20a\x20value\x20here.'),'Namespace_0_has_no_exported_member_1':_0x146f6e(0xa86,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1ef6'),_0x1a4e('0x1ef7')),'Left_side_of_comma_operator_is_unused_and_has_no_side_effects':_0x146f6e(0xa87,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1ef8'),_0x1a4e('0x1ef9'),!0x0),'The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead':_0x146f6e(0xa88,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1efa'),'The\x20\x27Object\x27\x20type\x20is\x20assignable\x20to\x20very\x20few\x20other\x20types.\x20Did\x20you\x20mean\x20to\x20use\x20the\x20\x27any\x27\x20type\x20instead?'),'An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option':_0x146f6e(0xa89,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1efb'),'An\x20async\x20function\x20or\x20method\x20must\x20return\x20a\x20\x27Promise\x27.\x20Make\x20sure\x20you\x20have\x20a\x20declaration\x20for\x20\x27Promise\x27\x20or\x20include\x20\x27ES2015\x27\x20in\x20your\x20`--lib`\x20option.'),'Spread_types_may_only_be_created_from_object_types':_0x146f6e(0xa8a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1efc'),'Spread\x20types\x20may\x20only\x20be\x20created\x20from\x20object\x20types.'),'Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1':_0x146f6e(0xa8b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1efd'),_0x1a4e('0x1efe')),'Rest_types_may_only_be_created_from_object_types':_0x146f6e(0xa8c,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1eff'),'Rest\x20types\x20may\x20only\x20be\x20created\x20from\x20object\x20types.'),'The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access':_0x146f6e(0xa8d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f00'),_0x1a4e('0x1f01')),'_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here':_0x146f6e(0xa8e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f02'),'\x27{0}\x27\x20only\x20refers\x20to\x20a\x20type,\x20but\x20is\x20being\x20used\x20as\x20a\x20namespace\x20here.'),'The_operand_of_a_delete_operator_must_be_a_property_reference':_0x146f6e(0xa8f,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f03'),_0x1a4e('0x1f04')),'The_operand_of_a_delete_operator_cannot_be_a_read_only_property':_0x146f6e(0xa90,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704',_0x1a4e('0x1f05')),'An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option':_0x146f6e(0xa91,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705','An\x20async\x20function\x20or\x20method\x20in\x20ES5/ES3\x20requires\x20the\x20\x27Promise\x27\x20constructor.\x20\x20Make\x20sure\x20you\x20have\x20a\x20declaration\x20for\x20the\x20\x27Promise\x27\x20constructor\x20or\x20include\x20\x27ES2015\x27\x20in\x20your\x20`--lib`\x20option.'),'Required_type_parameters_may_not_follow_optional_type_parameters':_0x146f6e(0xa92,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f06'),_0x1a4e('0x1f07')),'Generic_type_0_requires_between_1_and_2_type_arguments':_0x146f6e(0xa93,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1f08'),_0x1a4e('0x1f09')),'Cannot_use_namespace_0_as_a_value':_0x146f6e(0xa94,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1f0a'),_0x1a4e('0x1f0b')),'Cannot_use_namespace_0_as_a_type':_0x146f6e(0xa95,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f0c'),'Cannot\x20use\x20namespace\x20\x27{0}\x27\x20as\x20a\x20type.'),'_0_are_specified_twice_The_attribute_named_0_will_be_overwritten':_0x146f6e(0xa96,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f0d'),_0x1a4e('0x1f0e')),'A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option':_0x146f6e(0xa97,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711',_0x1a4e('0x1f0f')),'A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option':_0x146f6e(0xa98,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f10'),_0x1a4e('0x1f11')),'Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1':_0x146f6e(0xa99,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713',_0x1a4e('0x1f12')),'The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context':_0x146f6e(0xa9a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f13'),_0x1a4e('0x1f14')),'Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor':_0x146f6e(0xa9b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715','Abstract\x20property\x20\x27{0}\x27\x20in\x20class\x20\x27{1}\x27\x20cannot\x20be\x20accessed\x20in\x20the\x20constructor.'),'Type_parameter_0_has_a_circular_default':_0x146f6e(0xa9c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f15'),_0x1a4e('0x1f16')),'Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2':_0x146f6e(0xa9d,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1f17'),_0x1a4e('0x1f18')),'Duplicate_declaration_0':_0x146f6e(0xa9e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Duplicate_declaration_0_2718',_0x1a4e('0x1f19')),'Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated':_0x146f6e(0xa9f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f1a'),'Type\x20\x27{0}\x27\x20is\x20not\x20assignable\x20to\x20type\x20\x27{1}\x27.\x20Two\x20different\x20types\x20with\x20this\x20name\x20exist,\x20but\x20they\x20are\x20unrelated.'),'Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass':_0x146f6e(0xaa0,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f1b'),_0x1a4e('0x1f1c')),'Cannot_invoke_an_object_which_is_possibly_null':_0x146f6e(0xaa1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f1d'),_0x1a4e('0x1f1e')),'Cannot_invoke_an_object_which_is_possibly_undefined':_0x146f6e(0xaa2,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f1f'),_0x1a4e('0x1f20')),'Cannot_invoke_an_object_which_is_possibly_null_or_undefined':_0x146f6e(0xaa3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f21'),_0x1a4e('0x1f22')),'Module_0_has_no_exported_member_1_Did_you_mean_2':_0x146f6e(0xaa4,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Module_0_has_no_exported_member_1_Did_you_mean_2_2724','Module\x20\x27{0}\x27\x20has\x20no\x20exported\x20member\x20\x27{1}\x27.\x20Did\x20you\x20mean\x20\x27{2}\x27?'),'Class_name_cannot_be_Object_when_targeting_ES5_with_module_0':_0x146f6e(0xaa5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725',_0x1a4e('0x1f23')),'Cannot_find_lib_definition_for_0':_0x146f6e(0xaa6,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Cannot_find_lib_definition_for_0_2726',_0x1a4e('0x1f24')),'Cannot_find_lib_definition_for_0_Did_you_mean_1':_0x146f6e(0xaa7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f25'),_0x1a4e('0x1f26')),'_0_is_declared_here':_0x146f6e(0xaa8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x1f27'),_0x1a4e('0x1f28')),'Property_0_is_used_before_its_initialization':_0x146f6e(0xaa9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f29'),_0x1a4e('0x1f2a')),'An_arrow_function_cannot_have_a_this_parameter':_0x146f6e(0xaaa,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f2b'),'An\x20arrow\x20function\x20cannot\x20have\x20a\x20\x27this\x27\x20parameter.'),'Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String':_0x146f6e(0xaab,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f2c'),_0x1a4e('0x1f2d')),'Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension':_0x146f6e(0xaac,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732',_0x1a4e('0x1f2e')),'It_is_highly_likely_that_you_are_missing_a_semicolon':_0x146f6e(0xaae,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1f2f'),_0x1a4e('0x1f30')),'Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1':_0x146f6e(0xaaf,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f31'),_0x1a4e('0x1f32')),'Operator_0_cannot_be_applied_to_type_1':_0x146f6e(0xab0,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Operator_0_cannot_be_applied_to_type_1_2736','Operator\x20\x27{0}\x27\x20cannot\x20be\x20applied\x20to\x20type\x20\x27{1}\x27.'),'BigInt_literals_are_not_available_when_targeting_lower_than_ESNext':_0x146f6e(0xab1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'BigInt_literals_are_not_available_when_targeting_lower_than_ESNext_2737',_0x1a4e('0x1f33')),'An_outer_value_of_this_is_shadowed_by_this_container':_0x146f6e(0xab2,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x1f34'),_0x1a4e('0x1f35')),'Type_0_is_missing_the_following_properties_from_type_1_Colon_2':_0x146f6e(0xab3,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f36'),'Type\x20\x27{0}\x27\x20is\x20missing\x20the\x20following\x20properties\x20from\x20type\x20\x27{1}\x27:\x20{2}'),'Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more':_0x146f6e(0xab4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f37'),'Type\x20\x27{0}\x27\x20is\x20missing\x20the\x20following\x20properties\x20from\x20type\x20\x27{1}\x27:\x20{2},\x20and\x20{3}\x20more.'),'Property_0_is_missing_in_type_1_but_required_in_type_2':_0x146f6e(0xab5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f38'),_0x1a4e('0x1f39')),'The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary':_0x146f6e(0xab6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742',_0x1a4e('0x1f3a')),'Import_declaration_0_is_using_private_name_1':_0x146f6e(0xfa0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f3b'),'Import\x20declaration\x20\x27{0}\x27\x20is\x20using\x20private\x20name\x20\x27{1}\x27.'),'Type_parameter_0_of_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfa2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f3c'),_0x1a4e('0x1f3d')),'Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0xfa4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f3e'),_0x1a4e('0x1f3f')),'Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0xfa6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f40'),_0x1a4e('0x1f41')),'Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0xfa8,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008',_0x1a4e('0x1f42')),'Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfaa,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f43'),_0x1a4e('0x1f44')),'Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfac,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f45'),'Type\x20parameter\x20\x27{0}\x27\x20of\x20public\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.'),'Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0xfae,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f46'),_0x1a4e('0x1f47')),'Type_parameter_0_of_exported_function_has_or_is_using_private_name_1':_0x146f6e(0xfb0,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1f48'),_0x1a4e('0x1f49')),'Implements_clause_of_exported_class_0_has_or_is_using_private_name_1':_0x146f6e(0xfb3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f4a'),_0x1a4e('0x1f4b')),'extends_clause_of_exported_class_0_has_or_is_using_private_name_1':_0x146f6e(0xfb4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f4c'),_0x1a4e('0x1f4d')),'extends_clause_of_exported_interface_0_has_or_is_using_private_name_1':_0x146f6e(0xfb6,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f4e'),_0x1a4e('0x1f4f')),'Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfb7,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023',_0x1a4e('0x1f50')),'Exported_variable_0_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfb8,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f51'),'Exported\x20variable\x20\x27{0}\x27\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.'),'Exported_variable_0_has_or_is_using_private_name_1':_0x146f6e(0xfb9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Exported_variable_0_has_or_is_using_private_name_1_4025',_0x1a4e('0x1f52')),'Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfba,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1f53'),_0x1a4e('0x1f54')),'Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfbb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f55'),_0x1a4e('0x1f56')),'Public_static_property_0_of_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfbc,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1f57'),_0x1a4e('0x1f58')),'Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfbd,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029',_0x1a4e('0x1f59')),'Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfbe,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030',_0x1a4e('0x1f5a')),'Public_property_0_of_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfbf,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f5b'),_0x1a4e('0x1f5c')),'Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfc0,_0x368e5a['DiagnosticCategory']['Error'],'Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032',_0x1a4e('0x1f5d')),'Property_0_of_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0xfc1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Property_0_of_exported_interface_has_or_is_using_private_name_1_4033','Property\x20\x27{0}\x27\x20of\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.'),'Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfc2,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f5e'),_0x1a4e('0x1f5f')),'Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfc3,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f60'),_0x1a4e('0x1f61')),'Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfc4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036',_0x1a4e('0x1f62')),'Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfc5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f63'),'Parameter\x20type\x20of\x20public\x20setter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.'),'Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfc6,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1f64'),_0x1a4e('0x1f65')),'Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfc7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f66'),_0x1a4e('0x1f67')),'Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfc8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f68'),_0x1a4e('0x1f69')),'Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfc9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041',_0x1a4e('0x1f6a')),'Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfca,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f6b'),'Return\x20type\x20of\x20public\x20getter\x20\x27{0}\x27\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.'),'Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfcb,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f6c'),_0x1a4e('0x1f6d')),'Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1':_0x146f6e(0xfcc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044',_0x1a4e('0x1f6e')),'Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0':_0x146f6e(0xfcd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f6f'),_0x1a4e('0x1f70')),'Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1':_0x146f6e(0xfce,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1f71'),_0x1a4e('0x1f72')),'Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0':_0x146f6e(0xfcf,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047',_0x1a4e('0x1f73')),'Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1':_0x146f6e(0xfd0,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1f74'),'Return\x20type\x20of\x20index\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20private\x20module\x20\x27{1}\x27.'),'Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0':_0x146f6e(0xfd1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049','Return\x20type\x20of\x20index\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{0}\x27.'),'Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named':_0x146f6e(0xfd2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050',_0x1a4e('0x1f75')),'Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1':_0x146f6e(0xfd3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f76'),_0x1a4e('0x1f77')),'Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0':_0x146f6e(0xfd4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f78'),'Return\x20type\x20of\x20public\x20static\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{0}\x27.'),'Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named':_0x146f6e(0xfd5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f79'),_0x1a4e('0x1f7a')),'Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1':_0x146f6e(0xfd6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054',_0x1a4e('0x1f7b')),'Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0':_0x146f6e(0xfd7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f7c'),_0x1a4e('0x1f7d')),'Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1':_0x146f6e(0xfd8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f7e'),'Return\x20type\x20of\x20method\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20name\x20\x27{0}\x27\x20from\x20private\x20module\x20\x27{1}\x27.'),'Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0':_0x146f6e(0xfd9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f7f'),_0x1a4e('0x1f80')),'Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named':_0x146f6e(0xfda,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058',_0x1a4e('0x1f81')),'Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1':_0x146f6e(0xfdb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f82'),_0x1a4e('0x1f83')),'Return_type_of_exported_function_has_or_is_using_private_name_0':_0x146f6e(0xfdc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f84'),_0x1a4e('0x1f85')),'Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfdd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061',_0x1a4e('0x1f86')),'Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfde,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f87'),'Parameter\x20\x27{0}\x27\x20of\x20constructor\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20private\x20module\x20\x27{2}\x27.'),'Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfdf,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f88'),_0x1a4e('0x1f89')),'Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfe0,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f8a'),_0x1a4e('0x1f8b')),'Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0xfe1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f8c'),_0x1a4e('0x1f8d')),'Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfe2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f8e'),_0x1a4e('0x1f8f')),'Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0xfe3,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067','Parameter\x20\x27{0}\x27\x20of\x20call\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.'),'Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfe4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f90'),'Parameter\x20\x27{0}\x27\x20of\x20public\x20static\x20method\x20from\x20exported\x20class\x20has\x20or\x20is\x20using\x20name\x20\x27{1}\x27\x20from\x20external\x20module\x20{2}\x20but\x20cannot\x20be\x20named.'),'Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfe5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f91'),_0x1a4e('0x1f92')),'Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfe6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f93'),_0x1a4e('0x1f94')),'Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfe7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071',_0x1a4e('0x1f95')),'Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfe8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1f96'),_0x1a4e('0x1f97')),'Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1':_0x146f6e(0xfe9,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f98'),_0x1a4e('0x1f99')),'Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfea,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f9a'),_0x1a4e('0x1f9b')),'Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0xfeb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075',_0x1a4e('0x1f9c')),'Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfec,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1f9d'),_0x1a4e('0x1f9e')),'Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xfed,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077',_0x1a4e('0x1f9f')),'Parameter_0_of_exported_function_has_or_is_using_private_name_1':_0x146f6e(0xfee,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fa0'),_0x1a4e('0x1fa1')),'Exported_type_alias_0_has_or_is_using_private_name_1':_0x146f6e(0xff1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Exported_type_alias_0_has_or_is_using_private_name_1_4081','Exported\x20type\x20alias\x20\x27{0}\x27\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.'),'Default_export_of_the_module_has_or_is_using_private_name_0':_0x146f6e(0xff2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Default_export_of_the_module_has_or_is_using_private_name_0_4082',_0x1a4e('0x1fa2')),'Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1':_0x146f6e(0xff3,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1fa3'),_0x1a4e('0x1fa4')),'Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict':_0x146f6e(0xffa,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1fa5'),_0x1a4e('0x1fa6')),'Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0xffb,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091',_0x1a4e('0x1fa7')),'Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0xffc,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092','Parameter\x20\x27{0}\x27\x20of\x20index\x20signature\x20from\x20exported\x20interface\x20has\x20or\x20is\x20using\x20private\x20name\x20\x27{1}\x27.'),'Property_0_of_exported_class_expression_may_not_be_private_or_protected':_0x146f6e(0xffe,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fa8'),_0x1a4e('0x1fa9')),'Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0xfff,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1faa'),_0x1a4e('0x1fab')),'Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0x1000,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fac'),_0x1a4e('0x1fad')),'Public_static_method_0_of_exported_class_has_or_is_using_private_name_1':_0x146f6e(0x1001,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1fae'),_0x1a4e('0x1faf')),'Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named':_0x146f6e(0x1002,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1fb0'),_0x1a4e('0x1fb1')),'Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0x1003,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1fb2'),_0x1a4e('0x1fb3')),'Public_method_0_of_exported_class_has_or_is_using_private_name_1':_0x146f6e(0x1004,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100',_0x1a4e('0x1fb4')),'Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2':_0x146f6e(0x1005,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fb5'),_0x1a4e('0x1fb6')),'Method_0_of_exported_interface_has_or_is_using_private_name_1':_0x146f6e(0x1006,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Method_0_of_exported_interface_has_or_is_using_private_name_1_4102',_0x1a4e('0x1fb7')),'The_current_host_does_not_support_the_0_option':_0x146f6e(0x1389,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fb8'),_0x1a4e('0x1fb9')),'Cannot_find_the_common_subdirectory_path_for_the_input_files':_0x146f6e(0x1391,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1fba'),_0x1a4e('0x1fbb')),'File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0':_0x146f6e(0x1392,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fbc'),_0x1a4e('0x1fbd')),'Cannot_read_file_0_Colon_1':_0x146f6e(0x1394,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fbe'),'Cannot\x20read\x20file\x20\x27{0}\x27:\x20{1}.'),'Failed_to_parse_file_0_Colon_1':_0x146f6e(0x1396,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Failed_to_parse_file_0_Colon_1_5014',_0x1a4e('0x1fbf')),'Unknown_compiler_option_0':_0x146f6e(0x139f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fc0'),_0x1a4e('0x1fc1')),'Compiler_option_0_requires_a_value_of_type_1':_0x146f6e(0x13a0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fc2'),_0x1a4e('0x1fc3')),'Could_not_write_file_0_Colon_1':_0x146f6e(0x13a9,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1fc4'),'Could\x20not\x20write\x20file\x20\x27{0}\x27:\x20{1}.'),'Option_project_cannot_be_mixed_with_source_files_on_a_command_line':_0x146f6e(0x13b2,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1fc5'),_0x1a4e('0x1fc6')),'Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher':_0x146f6e(0x13b7,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1fc7'),_0x1a4e('0x1fc8')),'Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided':_0x146f6e(0x13bb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051',_0x1a4e('0x1fc9')),'Option_0_cannot_be_specified_without_specifying_option_1':_0x146f6e(0x13bc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fca'),_0x1a4e('0x1fcb')),'Option_0_cannot_be_specified_with_option_1':_0x146f6e(0x13bd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Option_0_cannot_be_specified_with_option_1_5053',_0x1a4e('0x1fcc')),'A_tsconfig_json_file_is_already_defined_at_Colon_0':_0x146f6e(0x13be,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fcd'),'A\x20\x27tsconfig.json\x27\x20file\x20is\x20already\x20defined\x20at:\x20\x27{0}\x27.'),'Cannot_write_file_0_because_it_would_overwrite_input_file':_0x146f6e(0x13bf,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x1fce'),_0x1a4e('0x1fcf')),'Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files':_0x146f6e(0x13c0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fd0'),_0x1a4e('0x1fd1')),'Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0':_0x146f6e(0x13c1,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x1fd2'),'Cannot\x20find\x20a\x20tsconfig.json\x20file\x20at\x20the\x20specified\x20directory:\x20\x27{0}\x27.'),'The_specified_path_does_not_exist_Colon_0':_0x146f6e(0x13c2,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'The_specified_path_does_not_exist_Colon_0_5058',_0x1a4e('0x1fd3')),'Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier':_0x146f6e(0x13c3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fd4'),_0x1a4e('0x1fd5')),'Option_paths_cannot_be_used_without_specifying_baseUrl_option':_0x146f6e(0x13c4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fd6'),_0x1a4e('0x1fd7')),'Pattern_0_can_have_at_most_one_Asterisk_character':_0x146f6e(0x13c5,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1fd8'),_0x1a4e('0x1fd9')),'Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character':_0x146f6e(0x13c6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062',_0x1a4e('0x1fda')),'Substitutions_for_pattern_0_should_be_an_array':_0x146f6e(0x13c7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fdb'),_0x1a4e('0x1fdc')),'Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2':_0x146f6e(0x13c8,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x1fdd'),_0x1a4e('0x1fde')),'File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0':_0x146f6e(0x13c9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065','File\x20specification\x20cannot\x20contain\x20a\x20parent\x20directory\x20(\x27..\x27)\x20that\x20appears\x20after\x20a\x20recursive\x20directory\x20wildcard\x20(\x27**\x27):\x20\x27{0}\x27.'),'Substitutions_for_pattern_0_shouldn_t_be_an_empty_array':_0x146f6e(0x13ca,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fdf'),_0x1a4e('0x1fe0')),'Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name':_0x146f6e(0x13cb,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067',_0x1a4e('0x1fe1')),'Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig':_0x146f6e(0x13cc,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068',_0x1a4e('0x1fe2')),'Option_0_cannot_be_specified_without_specifying_option_1_or_option_2':_0x146f6e(0x13cd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fe3'),_0x1a4e('0x1fe4')),'Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy':_0x146f6e(0x13ce,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fe5'),_0x1a4e('0x1fe6')),'Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext':_0x146f6e(0x13cf,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fe7'),_0x1a4e('0x1fe8')),'Unknown_build_option_0':_0x146f6e(0x13d0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Unknown_build_option_0_5072',_0x1a4e('0x1fe9')),'Build_option_0_requires_a_value_of_type_1':_0x146f6e(0x13d1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x1fea'),_0x1a4e('0x1feb')),'Generates_a_sourcemap_for_each_corresponding_d_ts_file':_0x146f6e(0x1770,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x1fec'),_0x1a4e('0x1fed')),'Concatenate_and_emit_output_to_single_file':_0x146f6e(0x1771,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x1fee'),_0x1a4e('0x1fef')),'Generates_corresponding_d_ts_file':_0x146f6e(0x1772,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x1ff0'),_0x1a4e('0x1ff1')),'Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations':_0x146f6e(0x1773,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003',_0x1a4e('0x1ff2')),'Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations':_0x146f6e(0x1774,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x1ff3'),'Specify\x20the\x20location\x20where\x20debugger\x20should\x20locate\x20TypeScript\x20files\x20instead\x20of\x20source\x20locations.'),'Watch_input_files':_0x146f6e(0x1775,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x1ff4'),_0x1a4e('0x1ff5')),'Redirect_output_structure_to_the_directory':_0x146f6e(0x1776,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Redirect_output_structure_to_the_directory_6006',_0x1a4e('0x1ff6')),'Do_not_erase_const_enum_declarations_in_generated_code':_0x146f6e(0x1777,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x1ff7'),_0x1a4e('0x1ff8')),'Do_not_emit_outputs_if_any_errors_were_reported':_0x146f6e(0x1778,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x1ff9'),_0x1a4e('0x1ffa')),'Do_not_emit_comments_to_output':_0x146f6e(0x1779,_0x368e5a[_0x1a4e('0x16d3')]['Message'],'Do_not_emit_comments_to_output_6009',_0x1a4e('0x1ffb')),'Do_not_emit_outputs':_0x146f6e(0x177a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Do_not_emit_outputs_6010',_0x1a4e('0x1ffc')),'Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking':_0x146f6e(0x177b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x1ffd'),'Allow\x20default\x20imports\x20from\x20modules\x20with\x20no\x20default\x20export.\x20This\x20does\x20not\x20affect\x20code\x20emit,\x20just\x20typechecking.'),'Skip_type_checking_of_declaration_files':_0x146f6e(0x177c,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Skip_type_checking_of_declaration_files_6012',_0x1a4e('0x1ffe')),'Do_not_resolve_the_real_path_of_symlinks':_0x146f6e(0x177d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Do_not_resolve_the_real_path_of_symlinks_6013',_0x1a4e('0x1fff')),'Only_emit_d_ts_declaration_files':_0x146f6e(0x177e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2000'),'Only\x20emit\x20\x27.d.ts\x27\x20declaration\x20files.'),'Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_or_ESNEXT':_0x146f6e(0x177f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2001'),_0x1a4e('0x2002')),'Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_or_ESNext':_0x146f6e(0x1780,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_or_ESNext_6016',_0x1a4e('0x2003')),'Print_this_message':_0x146f6e(0x1781,_0x368e5a['DiagnosticCategory']['Message'],'Print_this_message_6017',_0x1a4e('0x2004')),'Print_the_compiler_s_version':_0x146f6e(0x1783,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2005'),'Print\x20the\x20compiler\x27s\x20version.'),'Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json':_0x146f6e(0x1784,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2006'),_0x1a4e('0x2007')),'Syntax_Colon_0':_0x146f6e(0x1787,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Syntax_Colon_0_6023','Syntax:\x20{0}'),'options':_0x146f6e(0x1788,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2008'),'options'),'file':_0x146f6e(0x1789,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2009'),_0x1a4e('0x15c9')),'Examples_Colon_0':_0x146f6e(0x178a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x200a'),_0x1a4e('0x200b')),'Options_Colon':_0x146f6e(0x178b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Options_Colon_6027',_0x1a4e('0x200c')),'Version_0':_0x146f6e(0x178d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x200d'),'Version\x20{0}'),'Insert_command_line_options_and_files_from_a_file':_0x146f6e(0x178e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x200e'),'Insert\x20command\x20line\x20options\x20and\x20files\x20from\x20a\x20file.'),'Starting_compilation_in_watch_mode':_0x146f6e(0x178f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x200f'),_0x1a4e('0x2010')),'File_change_detected_Starting_incremental_compilation':_0x146f6e(0x1790,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'File_change_detected_Starting_incremental_compilation_6032','File\x20change\x20detected.\x20Starting\x20incremental\x20compilation...'),'KIND':_0x146f6e(0x1792,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2011'),'KIND'),'FILE':_0x146f6e(0x1793,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2012'),_0x1a4e('0x2013')),'VERSION':_0x146f6e(0x1794,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2014'),_0x1a4e('0x10ec')),'LOCATION':_0x146f6e(0x1795,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2015'),_0x1a4e('0x2016')),'DIRECTORY':_0x146f6e(0x1796,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'DIRECTORY_6038',_0x1a4e('0x2017')),'STRATEGY':_0x146f6e(0x1797,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'STRATEGY_6039',_0x1a4e('0x2018')),'FILE_OR_DIRECTORY':_0x146f6e(0x1798,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2019'),_0x1a4e('0x201a')),'Generates_corresponding_map_file':_0x146f6e(0x179b,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x201b'),'Generates\x20corresponding\x20\x27.map\x27\x20file.'),'Compiler_option_0_expects_an_argument':_0x146f6e(0x179c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x201c'),_0x1a4e('0x201d')),'Unterminated_quoted_string_in_response_file_0':_0x146f6e(0x179d,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Unterminated_quoted_string_in_response_file_0_6045',_0x1a4e('0x201e')),'Argument_for_0_option_must_be_Colon_1':_0x146f6e(0x179e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x201f'),_0x1a4e('0x2020')),'Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1':_0x146f6e(0x17a0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2021'),_0x1a4e('0x2022')),'Unsupported_locale_0':_0x146f6e(0x17a1,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Unsupported_locale_0_6049',_0x1a4e('0x2023')),'Unable_to_open_file_0':_0x146f6e(0x17a2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2024'),_0x1a4e('0x2025')),'Corrupted_locale_file_0':_0x146f6e(0x17a3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Corrupted_locale_file_0_6051',_0x1a4e('0x2026')),'Raise_error_on_expressions_and_declarations_with_an_implied_any_type':_0x146f6e(0x17a4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2027'),_0x1a4e('0x2028')),'File_0_not_found':_0x146f6e(0x17a5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2029'),_0x1a4e('0x202a')),'File_0_has_unsupported_extension_The_only_supported_extensions_are_1':_0x146f6e(0x17a6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x202b'),_0x1a4e('0x202c')),'Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures':_0x146f6e(0x17a7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x202d'),'Suppress\x20noImplicitAny\x20errors\x20for\x20indexing\x20objects\x20lacking\x20index\x20signatures.'),'Do_not_emit_declarations_for_code_that_has_an_internal_annotation':_0x146f6e(0x17a8,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056',_0x1a4e('0x202e')),'Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir':_0x146f6e(0x17aa,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058',_0x1a4e('0x202f')),'File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files':_0x146f6e(0x17ab,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2030'),_0x1a4e('0x2031')),'Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix':_0x146f6e(0x17ac,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2032'),_0x1a4e('0x2033')),'NEWLINE':_0x146f6e(0x17ad,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2034'),_0x1a4e('0x38f')),'Option_0_can_only_be_specified_in_tsconfig_json_file':_0x146f6e(0x17b0,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x2035'),_0x1a4e('0x2036')),'Enables_experimental_support_for_ES7_decorators':_0x146f6e(0x17b1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2037'),_0x1a4e('0x2038')),'Enables_experimental_support_for_emitting_type_metadata_for_decorators':_0x146f6e(0x17b2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2039'),_0x1a4e('0x203a')),'Enables_experimental_support_for_ES7_async_functions':_0x146f6e(0x17b4,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Enables_experimental_support_for_ES7_async_functions_6068',_0x1a4e('0x203b')),'Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6':_0x146f6e(0x17b5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x203c'),_0x1a4e('0x203d')),'Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file':_0x146f6e(0x17b6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x203e'),'Initializes\x20a\x20TypeScript\x20project\x20and\x20creates\x20a\x20tsconfig.json\x20file.'),'Successfully_created_a_tsconfig_json_file':_0x146f6e(0x17b7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x203f'),_0x1a4e('0x2040')),'Suppress_excess_property_checks_for_object_literals':_0x146f6e(0x17b8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2041'),_0x1a4e('0x2042')),'Stylize_errors_and_messages_using_color_and_context_experimental':_0x146f6e(0x17b9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2043'),_0x1a4e('0x2044')),'Do_not_report_errors_on_unused_labels':_0x146f6e(0x17ba,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2045'),_0x1a4e('0x2046')),'Report_error_when_not_all_code_paths_in_function_return_a_value':_0x146f6e(0x17bb,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2047'),_0x1a4e('0x2048')),'Report_errors_for_fallthrough_cases_in_switch_statement':_0x146f6e(0x17bc,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2049'),_0x1a4e('0x204a')),'Do_not_report_errors_on_unreachable_code':_0x146f6e(0x17bd,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x204b'),_0x1a4e('0x204c')),'Disallow_inconsistently_cased_references_to_the_same_file':_0x146f6e(0x17be,_0x368e5a[_0x1a4e('0x16d3')]['Message'],'Disallow_inconsistently_cased_references_to_the_same_file_6078',_0x1a4e('0x204d')),'Specify_library_files_to_be_included_in_the_compilation':_0x146f6e(0x17bf,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Specify_library_files_to_be_included_in_the_compilation_6079',_0x1a4e('0x204e')),'Specify_JSX_code_generation_Colon_preserve_react_native_or_react':_0x146f6e(0x17c0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x204f'),'Specify\x20JSX\x20code\x20generation:\x20\x27preserve\x27,\x20\x27react-native\x27,\x20or\x20\x27react\x27.'),'File_0_has_an_unsupported_extension_so_skipping_it':_0x146f6e(0x17c1,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2050'),_0x1a4e('0x2051')),'Only_amd_and_system_modules_are_supported_alongside_0':_0x146f6e(0x17c2,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x2052'),_0x1a4e('0x2053')),'Base_directory_to_resolve_non_absolute_module_names':_0x146f6e(0x17c3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Base_directory_to_resolve_non_absolute_module_names_6083','Base\x20directory\x20to\x20resolve\x20non-absolute\x20module\x20names.'),'Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit':_0x146f6e(0x17c4,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2054'),'[Deprecated]\x20Use\x20\x27--jsxFactory\x27\x20instead.\x20Specify\x20the\x20object\x20invoked\x20for\x20createElement\x20when\x20targeting\x20\x27react\x27\x20JSX\x20emit'),'Enable_tracing_of_the_name_resolution_process':_0x146f6e(0x17c5,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Enable_tracing_of_the_name_resolution_process_6085',_0x1a4e('0x2055')),'Resolving_module_0_from_1':_0x146f6e(0x17c6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Resolving_module_0_from_1_6086','========\x20Resolving\x20module\x20\x27{0}\x27\x20from\x20\x27{1}\x27.\x20========'),'Explicitly_specified_module_resolution_kind_Colon_0':_0x146f6e(0x17c7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Explicitly_specified_module_resolution_kind_Colon_0_6087',_0x1a4e('0x2056')),'Module_resolution_kind_is_not_specified_using_0':_0x146f6e(0x17c8,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2057'),'Module\x20resolution\x20kind\x20is\x20not\x20specified,\x20using\x20\x27{0}\x27.'),'Module_name_0_was_successfully_resolved_to_1':_0x146f6e(0x17c9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2058'),_0x1a4e('0x2059')),'Module_name_0_was_not_resolved':_0x146f6e(0x17ca,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Module_name_0_was_not_resolved_6090','========\x20Module\x20name\x20\x27{0}\x27\x20was\x20not\x20resolved.\x20========'),'paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0':_0x146f6e(0x17cb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x205a'),'\x27paths\x27\x20option\x20is\x20specified,\x20looking\x20for\x20a\x20pattern\x20to\x20match\x20module\x20name\x20\x27{0}\x27.'),'Module_name_0_matched_pattern_1':_0x146f6e(0x17cc,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x205b'),_0x1a4e('0x205c')),'Trying_substitution_0_candidate_module_location_Colon_1':_0x146f6e(0x17cd,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x205d'),'Trying\x20substitution\x20\x27{0}\x27,\x20candidate\x20module\x20location:\x20\x27{1}\x27.'),'Resolving_module_name_0_relative_to_base_url_1_2':_0x146f6e(0x17ce,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x205e'),_0x1a4e('0x205f')),'Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1':_0x146f6e(0x17cf,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2060'),_0x1a4e('0x2061')),'File_0_does_not_exist':_0x146f6e(0x17d0,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2062'),_0x1a4e('0x2063')),'File_0_exist_use_it_as_a_name_resolution_result':_0x146f6e(0x17d1,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2064'),'File\x20\x27{0}\x27\x20exist\x20-\x20use\x20it\x20as\x20a\x20name\x20resolution\x20result.'),'Loading_module_0_from_node_modules_folder_target_file_type_1':_0x146f6e(0x17d2,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2065'),_0x1a4e('0x2066')),'Found_package_json_at_0':_0x146f6e(0x17d3,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2067'),'Found\x20\x27package.json\x27\x20at\x20\x27{0}\x27.'),'package_json_does_not_have_a_0_field':_0x146f6e(0x17d4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2068'),'\x27package.json\x27\x20does\x20not\x20have\x20a\x20\x27{0}\x27\x20field.'),'package_json_has_0_field_1_that_references_2':_0x146f6e(0x17d5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'package_json_has_0_field_1_that_references_2_6101',_0x1a4e('0x2069')),'Allow_javascript_files_to_be_compiled':_0x146f6e(0x17d6,_0x368e5a[_0x1a4e('0x16d3')]['Message'],'Allow_javascript_files_to_be_compiled_6102','Allow\x20javascript\x20files\x20to\x20be\x20compiled.'),'Option_0_should_have_array_of_strings_as_a_value':_0x146f6e(0x17d7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x206a'),_0x1a4e('0x206b')),'Checking_if_0_is_the_longest_matching_prefix_for_1_2':_0x146f6e(0x17d8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104',_0x1a4e('0x206c')),'Expected_type_of_0_field_in_package_json_to_be_1_got_2':_0x146f6e(0x17d9,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x206d'),'Expected\x20type\x20of\x20\x27{0}\x27\x20field\x20in\x20\x27package.json\x27\x20to\x20be\x20\x27{1}\x27,\x20got\x20\x27{2}\x27.'),'baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1':_0x146f6e(0x17da,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x206e'),_0x1a4e('0x206f')),'rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0':_0x146f6e(0x17db,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2070'),_0x1a4e('0x2071')),'Longest_matching_prefix_for_0_is_1':_0x146f6e(0x17dc,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2072'),'Longest\x20matching\x20prefix\x20for\x20\x27{0}\x27\x20is\x20\x27{1}\x27.'),'Loading_0_from_the_root_dir_1_candidate_location_2':_0x146f6e(0x17dd,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2073'),_0x1a4e('0x2074')),'Trying_other_entries_in_rootDirs':_0x146f6e(0x17de,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2075'),'Trying\x20other\x20entries\x20in\x20\x27rootDirs\x27.'),'Module_resolution_using_rootDirs_has_failed':_0x146f6e(0x17df,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Module_resolution_using_rootDirs_has_failed_6111',_0x1a4e('0x2076')),'Do_not_emit_use_strict_directives_in_module_output':_0x146f6e(0x17e0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Do_not_emit_use_strict_directives_in_module_output_6112',_0x1a4e('0x2077')),'Enable_strict_null_checks':_0x146f6e(0x17e1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2078'),_0x1a4e('0x2079')),'Unknown_option_excludes_Did_you_mean_exclude':_0x146f6e(0x17e2,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x207a'),_0x1a4e('0x207b')),'Raise_error_on_this_expressions_with_an_implied_any_type':_0x146f6e(0x17e3,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x207c'),'Raise\x20error\x20on\x20\x27this\x27\x20expressions\x20with\x20an\x20implied\x20\x27any\x27\x20type.'),'Resolving_type_reference_directive_0_containing_file_1_root_directory_2':_0x146f6e(0x17e4,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x207d'),_0x1a4e('0x207e')),'Resolving_using_primary_search_paths':_0x146f6e(0x17e5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Resolving_using_primary_search_paths_6117','Resolving\x20using\x20primary\x20search\x20paths...'),'Resolving_from_node_modules_folder':_0x146f6e(0x17e6,_0x368e5a[_0x1a4e('0x16d3')]['Message'],'Resolving_from_node_modules_folder_6118',_0x1a4e('0x207f')),'Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2':_0x146f6e(0x17e7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119',_0x1a4e('0x2080')),'Type_reference_directive_0_was_not_resolved':_0x146f6e(0x17e8,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2081'),_0x1a4e('0x2082')),'Resolving_with_primary_search_path_0':_0x146f6e(0x17e9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2083'),_0x1a4e('0x2084')),'Root_directory_cannot_be_determined_skipping_primary_search_paths':_0x146f6e(0x17ea,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2085'),_0x1a4e('0x2086')),'Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set':_0x146f6e(0x17eb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123',_0x1a4e('0x2087')),'Type_declaration_files_to_be_included_in_compilation':_0x146f6e(0x17ec,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2088'),_0x1a4e('0x2089')),'Looking_up_in_node_modules_folder_initial_location_0':_0x146f6e(0x17ed,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x208a'),'Looking\x20up\x20in\x20\x27node_modules\x27\x20folder,\x20initial\x20location\x20\x27{0}\x27.'),'Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder':_0x146f6e(0x17ee,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x208b'),_0x1a4e('0x208c')),'Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1':_0x146f6e(0x17ef,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127',_0x1a4e('0x208d')),'Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set':_0x146f6e(0x17f0,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x208e'),_0x1a4e('0x208f')),'Resolving_real_path_for_0_result_1':_0x146f6e(0x17f2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Resolving_real_path_for_0_result_1_6130',_0x1a4e('0x2090')),'Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system':_0x146f6e(0x17f3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131','Cannot\x20compile\x20modules\x20using\x20option\x20\x27{0}\x27\x20unless\x20the\x20\x27--module\x27\x20flag\x20is\x20\x27amd\x27\x20or\x20\x27system\x27.'),'File_name_0_has_a_1_extension_stripping_it':_0x146f6e(0x17f4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2091'),_0x1a4e('0x2092')),'_0_is_declared_but_its_value_is_never_read':_0x146f6e(0x17f5,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x2093'),'\x27{0}\x27\x20is\x20declared\x20but\x20its\x20value\x20is\x20never\x20read.',!0x0),'Report_errors_on_unused_locals':_0x146f6e(0x17f6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Report_errors_on_unused_locals_6134',_0x1a4e('0x2094')),'Report_errors_on_unused_parameters':_0x146f6e(0x17f7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2095'),_0x1a4e('0x2096')),'The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files':_0x146f6e(0x17f8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2097'),_0x1a4e('0x2098')),'Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1':_0x146f6e(0x17f9,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137',_0x1a4e('0x2099')),'Property_0_is_declared_but_its_value_is_never_read':_0x146f6e(0x17fa,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x209a'),_0x1a4e('0x209b'),!0x0),'Import_emit_helpers_from_tslib':_0x146f6e(0x17fb,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x209c'),_0x1a4e('0x209d')),'Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2':_0x146f6e(0x17fc,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x209e'),'Auto\x20discovery\x20for\x20typings\x20is\x20enabled\x20in\x20project\x20\x27{0}\x27.\x20Running\x20extra\x20resolution\x20pass\x20for\x20module\x20\x27{1}\x27\x20using\x20cache\x20location\x20\x27{2}\x27.'),'Parse_in_strict_mode_and_emit_use_strict_for_each_source_file':_0x146f6e(0x17fd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x209f'),_0x1a4e('0x20a0')),'Module_0_was_resolved_to_1_but_jsx_is_not_set':_0x146f6e(0x17fe,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x20a1'),_0x1a4e('0x20a2')),'Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1':_0x146f6e(0x1800,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20a3'),'Module\x20\x27{0}\x27\x20was\x20resolved\x20as\x20locally\x20declared\x20ambient\x20module\x20in\x20file\x20\x27{1}\x27.'),'Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified':_0x146f6e(0x1801,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20a4'),_0x1a4e('0x20a5')),'Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h':_0x146f6e(0x1802,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x20a6'),'Specify\x20the\x20JSX\x20factory\x20function\x20to\x20use\x20when\x20targeting\x20\x27react\x27\x20JSX\x20emit,\x20e.g.\x20\x27React.createElement\x27\x20or\x20\x27h\x27.'),'Resolution_for_module_0_was_found_in_cache_from_location_1':_0x146f6e(0x1803,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20a7'),_0x1a4e('0x20a8')),'Directory_0_does_not_exist_skipping_all_lookups_in_it':_0x146f6e(0x1804,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20a9'),'Directory\x20\x27{0}\x27\x20does\x20not\x20exist,\x20skipping\x20all\x20lookups\x20in\x20it.'),'Show_diagnostic_information':_0x146f6e(0x1805,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20aa'),_0x1a4e('0x20ab')),'Show_verbose_diagnostic_information':_0x146f6e(0x1806,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x20ac'),'Show\x20verbose\x20diagnostic\x20information.'),'Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file':_0x146f6e(0x1807,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20ad'),'Emit\x20a\x20single\x20file\x20with\x20source\x20maps\x20instead\x20of\x20having\x20a\x20separate\x20file.'),'Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set':_0x146f6e(0x1808,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20ae'),_0x1a4e('0x20af')),'Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule':_0x146f6e(0x1809,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20b0'),_0x1a4e('0x20b1')),'Print_names_of_generated_files_part_of_the_compilation':_0x146f6e(0x180a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20b2'),'Print\x20names\x20of\x20generated\x20files\x20part\x20of\x20the\x20compilation.'),'Print_names_of_files_part_of_the_compilation':_0x146f6e(0x180b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Print_names_of_files_part_of_the_compilation_6155','Print\x20names\x20of\x20files\x20part\x20of\x20the\x20compilation.'),'The_locale_used_when_displaying_messages_to_the_user_e_g_en_us':_0x146f6e(0x180c,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20b3'),'The\x20locale\x20used\x20when\x20displaying\x20messages\x20to\x20the\x20user\x20(e.g.\x20\x27en-us\x27)'),'Do_not_generate_custom_helper_functions_like_extends_in_compiled_output':_0x146f6e(0x180d,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20b4'),_0x1a4e('0x20b5')),'Do_not_include_the_default_library_file_lib_d_ts':_0x146f6e(0x180e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20b6'),_0x1a4e('0x20b7')),'Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files':_0x146f6e(0x180f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20b8'),_0x1a4e('0x20b9')),'Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files':_0x146f6e(0x1810,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20ba'),_0x1a4e('0x20bb')),'List_of_folders_to_include_type_definitions_from':_0x146f6e(0x1811,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'List_of_folders_to_include_type_definitions_from_6161',_0x1a4e('0x20bc')),'Disable_size_limitations_on_JavaScript_projects':_0x146f6e(0x1812,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20bd'),_0x1a4e('0x20be')),'The_character_set_of_the_input_files':_0x146f6e(0x1813,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20bf'),_0x1a4e('0x20c0')),'Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files':_0x146f6e(0x1814,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20c1'),_0x1a4e('0x20c2')),'Do_not_truncate_error_messages':_0x146f6e(0x1815,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Do_not_truncate_error_messages_6165',_0x1a4e('0x20c3')),'Output_directory_for_generated_declaration_files':_0x146f6e(0x1816,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20c4'),_0x1a4e('0x20c5')),'A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl':_0x146f6e(0x1817,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167','A\x20series\x20of\x20entries\x20which\x20re-map\x20imports\x20to\x20lookup\x20locations\x20relative\x20to\x20the\x20\x27baseUrl\x27.'),'List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime':_0x146f6e(0x1818,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168',_0x1a4e('0x20c6')),'Show_all_compiler_options':_0x146f6e(0x1819,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20c7'),_0x1a4e('0x20c8')),'Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file':_0x146f6e(0x181a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20c9'),_0x1a4e('0x20ca')),'Command_line_Options':_0x146f6e(0x181b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20cb'),_0x1a4e('0x20cc')),'Basic_Options':_0x146f6e(0x181c,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x20cd'),_0x1a4e('0x20ce')),'Strict_Type_Checking_Options':_0x146f6e(0x181d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Strict_Type_Checking_Options_6173',_0x1a4e('0x20cf')),'Module_Resolution_Options':_0x146f6e(0x181e,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x20d0'),_0x1a4e('0x20d1')),'Source_Map_Options':_0x146f6e(0x181f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20d2'),_0x1a4e('0x20d3')),'Additional_Checks':_0x146f6e(0x1820,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20d4'),'Additional\x20Checks'),'Experimental_Options':_0x146f6e(0x1821,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20d5'),_0x1a4e('0x20d6')),'Advanced_Options':_0x146f6e(0x1822,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20d7'),_0x1a4e('0x20d8')),'Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3':_0x146f6e(0x1823,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20d9'),_0x1a4e('0x20da')),'Enable_all_strict_type_checking_options':_0x146f6e(0x1824,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Enable_all_strict_type_checking_options_6180',_0x1a4e('0x20db')),'List_of_language_service_plugins':_0x146f6e(0x1825,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'List_of_language_service_plugins_6181',_0x1a4e('0x20dc')),'Scoped_package_detected_looking_in_0':_0x146f6e(0x1826,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20dd'),_0x1a4e('0x20de')),'Reusing_resolution_of_module_0_to_file_1_from_old_program':_0x146f6e(0x1827,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Reusing_resolution_of_module_0_to_file_1_from_old_program_6183','Reusing\x20resolution\x20of\x20module\x20\x27{0}\x27\x20to\x20file\x20\x27{1}\x27\x20from\x20old\x20program.'),'Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program':_0x146f6e(0x1828,_0x368e5a['DiagnosticCategory']['Message'],'Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184',_0x1a4e('0x20df')),'Disable_strict_checking_of_generic_signatures_in_function_types':_0x146f6e(0x1829,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20e0'),_0x1a4e('0x20e1')),'Enable_strict_checking_of_function_types':_0x146f6e(0x182a,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20e2'),_0x1a4e('0x20e3')),'Enable_strict_checking_of_property_initialization_in_classes':_0x146f6e(0x182b,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x20e4'),_0x1a4e('0x20e5')),'Numeric_separators_are_not_allowed_here':_0x146f6e(0x182c,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x20e6'),_0x1a4e('0x20e7')),'Multiple_consecutive_numeric_separators_are_not_permitted':_0x146f6e(0x182d,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x20e8'),_0x1a4e('0x20e9')),'Found_package_json_at_0_Package_ID_is_1':_0x146f6e(0x182e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Found_package_json_at_0_Package_ID_is_1_6190',_0x1a4e('0x20ea')),'Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen':_0x146f6e(0x182f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20eb'),'Whether\x20to\x20keep\x20outdated\x20console\x20output\x20in\x20watch\x20mode\x20instead\x20of\x20clearing\x20the\x20screen.'),'All_imports_in_import_declaration_are_unused':_0x146f6e(0x1830,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x20ec'),_0x1a4e('0x20ed'),!0x0),'Found_1_error_Watching_for_file_changes':_0x146f6e(0x1831,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20ee'),_0x1a4e('0x20ef')),'Found_0_errors_Watching_for_file_changes':_0x146f6e(0x1832,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x20f0'),'Found\x20{0}\x20errors.\x20Watching\x20for\x20file\x20changes.'),'Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols':_0x146f6e(0x1833,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195',_0x1a4e('0x20f1')),'_0_is_declared_but_never_used':_0x146f6e(0x1834,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x20f2'),_0x1a4e('0x20f3'),!0x0),'Include_modules_imported_with_json_extension':_0x146f6e(0x1835,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Include_modules_imported_with_json_extension_6197',_0x1a4e('0x20f4')),'All_destructured_elements_are_unused':_0x146f6e(0x1836,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'All_destructured_elements_are_unused_6198',_0x1a4e('0x20f5'),!0x0),'All_variables_are_unused':_0x146f6e(0x1837,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'All_variables_are_unused_6199',_0x1a4e('0x20f6'),!0x0),'Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0':_0x146f6e(0x1838,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x20f7'),_0x1a4e('0x20f8')),'Conflicts_are_in_this_file':_0x146f6e(0x1839,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x20f9'),_0x1a4e('0x20fa')),'_0_was_also_declared_here':_0x146f6e(0x183b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'_0_was_also_declared_here_6203',_0x1a4e('0x20fb')),'and_here':_0x146f6e(0x183c,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x20fc'),_0x1a4e('0x20fd')),'All_type_parameters_are_unused':_0x146f6e(0x183d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x20fe'),'All\x20type\x20parameters\x20are\x20unused'),'package_json_has_a_typesVersions_field_with_version_specific_path_mappings':_0x146f6e(0x183e,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x20ff'),_0x1a4e('0x2100')),'package_json_does_not_have_a_typesVersions_entry_that_matches_version_0':_0x146f6e(0x183f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207',_0x1a4e('0x2101')),'package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2':_0x146f6e(0x1840,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2102'),_0x1a4e('0x2103')),'package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range':_0x146f6e(0x1841,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2104'),_0x1a4e('0x2105')),'An_argument_for_0_was_not_provided':_0x146f6e(0x1842,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2106'),_0x1a4e('0x2107')),'An_argument_matching_this_binding_pattern_was_not_provided':_0x146f6e(0x1843,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2108'),'An\x20argument\x20matching\x20this\x20binding\x20pattern\x20was\x20not\x20provided.'),'Did_you_mean_to_call_this_expression':_0x146f6e(0x1844,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2109'),'Did\x20you\x20mean\x20to\x20call\x20this\x20expression?'),'Did_you_mean_to_use_new_with_this_expression':_0x146f6e(0x1845,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x210a'),_0x1a4e('0x210b')),'Enable_strict_bind_call_and_apply_methods_on_functions':_0x146f6e(0x1846,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x210c'),_0x1a4e('0x210d')),'Using_compiler_options_of_project_reference_redirect_0':_0x146f6e(0x1847,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x210e'),_0x1a4e('0x210f')),'Found_1_error':_0x146f6e(0x1848,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2110'),'Found\x201\x20error.'),'Found_0_errors':_0x146f6e(0x1849,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2111'),_0x1a4e('0x2112')),'Projects_to_reference':_0x146f6e(0x189c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2113'),_0x1a4e('0x2114')),'Enable_project_compilation':_0x146f6e(0x189e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2115'),'Enable\x20project\x20compilation'),'Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0':_0x146f6e(0x183a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2116'),_0x1a4e('0x2117')),'Composite_projects_may_not_disable_declaration_emit':_0x146f6e(0x18a0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2118'),_0x1a4e('0x2119')),'Output_file_0_has_not_been_built_from_source_file_1':_0x146f6e(0x18a1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Output_file_0_has_not_been_built_from_source_file_1_6305',_0x1a4e('0x211a')),'Referenced_project_0_must_have_setting_composite_Colon_true':_0x146f6e(0x18a2,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'Referenced_project_0_must_have_setting_composite_Colon_true_6306',_0x1a4e('0x211b')),'File_0_is_not_in_project_file_list_Projects_must_list_all_files_or_use_an_include_pattern':_0x146f6e(0x18a3,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x211c'),_0x1a4e('0x211d')),'Cannot_prepend_project_0_because_it_does_not_have_outFile_set':_0x146f6e(0x18a4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308',_0x1a4e('0x211e')),'Output_file_0_from_project_1_does_not_exist':_0x146f6e(0x18a5,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x211f'),_0x1a4e('0x2120')),'Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2':_0x146f6e(0x18ce,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2121'),_0x1a4e('0x2122')),'Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2':_0x146f6e(0x18cf,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2123'),_0x1a4e('0x2124')),'Project_0_is_out_of_date_because_output_file_1_does_not_exist':_0x146f6e(0x18d0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2125'),_0x1a4e('0x2126')),'Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date':_0x146f6e(0x18d1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2127'),'Project\x20\x27{0}\x27\x20is\x20out\x20of\x20date\x20because\x20its\x20dependency\x20\x27{1}\x27\x20is\x20out\x20of\x20date'),'Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies':_0x146f6e(0x18d2,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2128'),_0x1a4e('0x2129')),'Projects_in_this_build_Colon_0':_0x146f6e(0x18d3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x212a'),_0x1a4e('0x212b')),'A_non_dry_build_would_delete_the_following_files_Colon_0':_0x146f6e(0x18d4,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x212c'),_0x1a4e('0x212d')),'A_non_dry_build_would_build_project_0':_0x146f6e(0x18d5,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x212e'),'A\x20non-dry\x20build\x20would\x20build\x20project\x20\x27{0}\x27'),'Building_project_0':_0x146f6e(0x18d6,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x212f'),_0x1a4e('0x2130')),'Updating_output_timestamps_of_project_0':_0x146f6e(0x18d7,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2131'),'Updating\x20output\x20timestamps\x20of\x20project\x20\x27{0}\x27...'),'delete_this_Project_0_is_up_to_date_because_it_was_previously_built':_0x146f6e(0x18d8,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2132'),_0x1a4e('0x2133')),'Project_0_is_up_to_date':_0x146f6e(0x18d9,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2134'),_0x1a4e('0x2135')),'Skipping_build_of_project_0_because_its_dependency_1_has_errors':_0x146f6e(0x18da,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2136'),_0x1a4e('0x2137')),'Project_0_can_t_be_built_because_its_dependency_1_has_errors':_0x146f6e(0x18db,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2138'),'Project\x20\x27{0}\x27\x20can\x27t\x20be\x20built\x20because\x20its\x20dependency\x20\x27{1}\x27\x20has\x20errors'),'Build_one_or_more_projects_and_their_dependencies_if_out_of_date':_0x146f6e(0x18dc,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2139'),'Build\x20one\x20or\x20more\x20projects\x20and\x20their\x20dependencies,\x20if\x20out\x20of\x20date'),'Delete_the_outputs_of_all_projects':_0x146f6e(0x18dd,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x213a'),'Delete\x20the\x20outputs\x20of\x20all\x20projects'),'Enable_verbose_logging':_0x146f6e(0x18de,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Enable_verbose_logging_6366',_0x1a4e('0x213b')),'Show_what_would_be_built_or_deleted_if_specified_with_clean':_0x146f6e(0x18df,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x213c'),'Show\x20what\x20would\x20be\x20built\x20(or\x20deleted,\x20if\x20specified\x20with\x20\x27--clean\x27)'),'Build_all_projects_including_those_that_appear_to_be_up_to_date':_0x146f6e(0x18e0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x213d'),'Build\x20all\x20projects,\x20including\x20those\x20that\x20appear\x20to\x20be\x20up\x20to\x20date'),'Option_build_must_be_the_first_command_line_argument':_0x146f6e(0x18e1,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x213e'),_0x1a4e('0x213f')),'Options_0_and_1_cannot_be_combined':_0x146f6e(0x18e2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2140'),_0x1a4e('0x2141')),'The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1':_0x146f6e(0x1964,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2142'),_0x1a4e('0x2143')),'The_expected_type_comes_from_this_index_signature':_0x146f6e(0x1965,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2144'),_0x1a4e('0x2145')),'The_expected_type_comes_from_the_return_type_of_this_signature':_0x146f6e(0x1966,_0x368e5a['DiagnosticCategory']['Message'],'The_expected_type_comes_from_the_return_type_of_this_signature_6502',_0x1a4e('0x2146')),'Variable_0_implicitly_has_an_1_type':_0x146f6e(0x1b5d,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x2147'),'Variable\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20type.'),'Parameter_0_implicitly_has_an_1_type':_0x146f6e(0x1b5e,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x2148'),_0x1a4e('0x2149')),'Member_0_implicitly_has_an_1_type':_0x146f6e(0x1b60,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x214a'),_0x1a4e('0x214b')),'new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type':_0x146f6e(0x1b61,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x214c'),'\x27new\x27\x20expression,\x20whose\x20target\x20lacks\x20a\x20construct\x20signature,\x20implicitly\x20has\x20an\x20\x27any\x27\x20type.'),'_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type':_0x146f6e(0x1b62,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x214d'),_0x1a4e('0x214e')),'Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type':_0x146f6e(0x1b63,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x214f'),'Function\x20expression,\x20which\x20lacks\x20return-type\x20annotation,\x20implicitly\x20has\x20an\x20\x27{0}\x27\x20return\x20type.'),'Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type':_0x146f6e(0x1b65,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2150'),_0x1a4e('0x2151')),'Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type':_0x146f6e(0x1b66,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014',_0x1a4e('0x2152')),'Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number':_0x146f6e(0x1b67,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x2153'),'Element\x20implicitly\x20has\x20an\x20\x27any\x27\x20type\x20because\x20index\x20expression\x20is\x20not\x20of\x20type\x20\x27number\x27.'),'Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type':_0x146f6e(0x1b68,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x2154'),_0x1a4e('0x2155')),'Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature':_0x146f6e(0x1b69,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x2156'),'Element\x20implicitly\x20has\x20an\x20\x27any\x27\x20type\x20because\x20type\x20\x27{0}\x27\x20has\x20no\x20index\x20signature.'),'Object_literal_s_property_0_implicitly_has_an_1_type':_0x146f6e(0x1b6a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2157'),_0x1a4e('0x2158')),'Rest_parameter_0_implicitly_has_an_any_type':_0x146f6e(0x1b6b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2159'),_0x1a4e('0x215a')),'Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type':_0x146f6e(0x1b6c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x215b'),_0x1a4e('0x215c')),'_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer':_0x146f6e(0x1b6e,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],'_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022','\x27{0}\x27\x20implicitly\x20has\x20type\x20\x27any\x27\x20because\x20it\x20does\x20not\x20have\x20a\x20type\x20annotation\x20and\x20is\x20referenced\x20directly\x20or\x20indirectly\x20in\x20its\x20own\x20initializer.'),'_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions':_0x146f6e(0x1b6f,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x215d'),_0x1a4e('0x215e')),'Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions':_0x146f6e(0x1b70,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x215f'),'Function\x20implicitly\x20has\x20return\x20type\x20\x27any\x27\x20because\x20it\x20does\x20not\x20have\x20a\x20return\x20type\x20annotation\x20and\x20is\x20referenced\x20directly\x20or\x20indirectly\x20in\x20one\x20of\x20its\x20return\x20expressions.'),'Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type':_0x146f6e(0x1b71,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x2160'),_0x1a4e('0x2161')),'JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists':_0x146f6e(0x1b72,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2162'),_0x1a4e('0x2163')),'Unreachable_code_detected':_0x146f6e(0x1b73,_0x368e5a['DiagnosticCategory']['Error'],'Unreachable_code_detected_7027',_0x1a4e('0x2164'),!0x0),'Unused_label':_0x146f6e(0x1b74,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x2165'),_0x1a4e('0x2166'),!0x0),'Fallthrough_case_in_switch':_0x146f6e(0x1b75,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Fallthrough_case_in_switch_7029',_0x1a4e('0x2167')),'Not_all_code_paths_return_a_value':_0x146f6e(0x1b76,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2168'),_0x1a4e('0x2169')),'Binding_element_0_implicitly_has_an_1_type':_0x146f6e(0x1b77,_0x368e5a['DiagnosticCategory']['Error'],_0x1a4e('0x216a'),_0x1a4e('0x216b')),'Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation':_0x146f6e(0x1b78,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x216c'),_0x1a4e('0x216d')),'Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation':_0x146f6e(0x1b79,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x216e'),_0x1a4e('0x216f')),'Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined':_0x146f6e(0x1b7a,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x2170'),_0x1a4e('0x2171')),'Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0':_0x146f6e(0x1b7b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2172'),'Try\x20`npm\x20install\x20@types/{1}`\x20if\x20it\x20exists\x20or\x20add\x20a\x20new\x20declaration\x20(.d.ts)\x20file\x20containing\x20`declare\x20module\x20\x27{0}\x27;`'),'Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0':_0x146f6e(0x1b7c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2173'),_0x1a4e('0x2174')),'Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports':_0x146f6e(0x1b7d,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2175'),_0x1a4e('0x2176')),'Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead':_0x146f6e(0x1b7e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038','Type\x20originates\x20at\x20this\x20import.\x20A\x20namespace-style\x20import\x20cannot\x20be\x20called\x20or\x20constructed,\x20and\x20will\x20cause\x20a\x20failure\x20at\x20runtime.\x20Consider\x20using\x20a\x20default\x20import\x20or\x20import\x20require\x20here\x20instead.'),'Mapped_object_type_implicitly_has_an_any_template_type':_0x146f6e(0x1b7f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2177'),'Mapped\x20object\x20type\x20implicitly\x20has\x20an\x20\x27any\x27\x20template\x20type.'),'If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1':_0x146f6e(0x1b80,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x2178'),'If\x20the\x20\x27{0}\x27\x20package\x20actually\x20exposes\x20this\x20module,\x20consider\x20sending\x20a\x20pull\x20request\x20to\x20amend\x20\x27https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}`'),'The_containing_arrow_function_captures_the_global_value_of_this_which_implicitly_has_type_any':_0x146f6e(0x1b81,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2179'),_0x1a4e('0x217a')),'Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used':_0x146f6e(0x1b82,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x217b'),_0x1a4e('0x217c')),'Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage':_0x146f6e(0x1b83,_0x368e5a[_0x1a4e('0x16d3')]['Suggestion'],'Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043','Variable\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20type,\x20but\x20a\x20better\x20type\x20may\x20be\x20inferred\x20from\x20usage.'),'Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage':_0x146f6e(0x1b84,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x1a2b')],_0x1a4e('0x217d'),_0x1a4e('0x217e')),'Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage':_0x146f6e(0x1b85,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')],_0x1a4e('0x217f'),'Member\x20\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20type,\x20but\x20a\x20better\x20type\x20may\x20be\x20inferred\x20from\x20usage.'),'Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage':_0x146f6e(0x1b86,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')],_0x1a4e('0x2180'),_0x1a4e('0x2181')),'Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage':_0x146f6e(0x1b87,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')],_0x1a4e('0x2182'),_0x1a4e('0x2183')),'Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage':_0x146f6e(0x1b88,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x1a2b')],_0x1a4e('0x2184'),_0x1a4e('0x2185')),'Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage':_0x146f6e(0x1b89,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')],'Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049',_0x1a4e('0x2186')),'_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage':_0x146f6e(0x1b8a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')],_0x1a4e('0x2187'),'\x27{0}\x27\x20implicitly\x20has\x20an\x20\x27{1}\x27\x20return\x20type,\x20but\x20a\x20better\x20type\x20may\x20be\x20inferred\x20from\x20usage.'),'Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1':_0x146f6e(0x1b8b,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x2188'),_0x1a4e('0x2189')),'You_cannot_rename_this_element':_0x146f6e(0x1f40,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'You_cannot_rename_this_element_8000',_0x1a4e('0x218a')),'You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library':_0x146f6e(0x1f41,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x218b'),_0x1a4e('0x218c')),'import_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f42,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'import_can_only_be_used_in_a_ts_file_8002',_0x1a4e('0x218d')),'export_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f43,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x218e'),_0x1a4e('0x218f')),'type_parameter_declarations_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f44,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'type_parameter_declarations_can_only_be_used_in_a_ts_file_8004',_0x1a4e('0x2190')),'implements_clauses_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f45,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2191'),_0x1a4e('0x2192')),'interface_declarations_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f46,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2193'),_0x1a4e('0x2194')),'module_declarations_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f47,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'module_declarations_can_only_be_used_in_a_ts_file_8007',_0x1a4e('0x2195')),'type_aliases_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f48,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x2196'),_0x1a4e('0x2197')),'_0_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f49,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x2198'),'\x27{0}\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.'),'types_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f4a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x2199'),'\x27types\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.'),'type_arguments_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f4b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x219a'),'\x27type\x20arguments\x27\x20can\x20only\x20be\x20used\x20in\x20a\x20.ts\x20file.'),'parameter_modifiers_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f4c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x219b'),_0x1a4e('0x219c')),'non_null_assertions_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f4d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x219d'),_0x1a4e('0x219e')),'enum_declarations_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f4f,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x219f'),_0x1a4e('0x21a0')),'type_assertion_expressions_can_only_be_used_in_a_ts_file':_0x146f6e(0x1f50,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21a1'),_0x1a4e('0x21a2')),'Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0':_0x146f6e(0x1f51,_0x368e5a[_0x1a4e('0x16d3')]['Error'],'Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017','Octal\x20literal\x20types\x20must\x20use\x20ES2015\x20syntax.\x20Use\x20the\x20syntax\x20\x27{0}\x27.'),'Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0':_0x146f6e(0x1f52,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21a3'),_0x1a4e('0x21a4')),'Report_errors_in_js_files':_0x146f6e(0x1f53,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x21a5'),'Report\x20errors\x20in\x20.js\x20files.'),'JSDoc_types_can_only_be_used_inside_documentation_comments':_0x146f6e(0x1f54,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'JSDoc_types_can_only_be_used_inside_documentation_comments_8020',_0x1a4e('0x21a6')),'JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags':_0x146f6e(0x1f55,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21a7'),_0x1a4e('0x21a8')),'JSDoc_0_is_not_attached_to_a_class':_0x146f6e(0x1f56,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21a9'),_0x1a4e('0x21aa')),'JSDoc_0_1_does_not_match_the_extends_2_clause':_0x146f6e(0x1f57,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21ab'),_0x1a4e('0x21ac')),'JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name':_0x146f6e(0x1f58,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21ad'),_0x1a4e('0x21ae')),'Class_declarations_cannot_have_more_than_one_augments_or_extends_tag':_0x146f6e(0x1f59,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21af'),_0x1a4e('0x21b0')),'Expected_0_type_arguments_provide_these_with_an_extends_tag':_0x146f6e(0x1f5a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21b1'),'Expected\x20{0}\x20type\x20arguments;\x20provide\x20these\x20with\x20an\x20\x27@extends\x27\x20tag.'),'Expected_0_1_type_arguments_provide_these_with_an_extends_tag':_0x146f6e(0x1f5b,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21b2'),_0x1a4e('0x21b3')),'JSDoc_may_only_appear_in_the_last_parameter_of_a_signature':_0x146f6e(0x1f5c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21b4'),_0x1a4e('0x21b5')),'JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type':_0x146f6e(0x1f5d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029',_0x1a4e('0x21b6')),'The_type_of_a_function_declaration_must_match_the_function_s_signature':_0x146f6e(0x1f5e,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21b7'),_0x1a4e('0x21b8')),'You_cannot_rename_a_module_via_a_global_import':_0x146f6e(0x1f5f,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21b9'),_0x1a4e('0x21ba')),'Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause':_0x146f6e(0x232a,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21bb'),_0x1a4e('0x21bc')),'class_expressions_are_not_currently_supported':_0x146f6e(0x232b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21bd'),_0x1a4e('0x21be')),'Language_service_is_disabled':_0x146f6e(0x232c,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21bf'),_0x1a4e('0x21c0')),'JSX_attributes_must_only_be_assigned_a_non_empty_expression':_0x146f6e(0x4268,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21c1'),_0x1a4e('0x21c2')),'JSX_elements_cannot_have_multiple_attributes_with_the_same_name':_0x146f6e(0x4269,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x21c3'),_0x1a4e('0x21c4')),'Expected_corresponding_JSX_closing_tag_for_0':_0x146f6e(0x426a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21c5'),'Expected\x20corresponding\x20JSX\x20closing\x20tag\x20for\x20\x27{0}\x27.'),'JSX_attribute_expected':_0x146f6e(0x426b,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x21c6'),_0x1a4e('0x21c7')),'Cannot_use_JSX_unless_the_jsx_flag_is_provided':_0x146f6e(0x426c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],'Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004','Cannot\x20use\x20JSX\x20unless\x20the\x20\x27--jsx\x27\x20flag\x20is\x20provided.'),'A_constructor_cannot_contain_a_super_call_when_its_class_extends_null':_0x146f6e(0x426d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21c8'),'A\x20constructor\x20cannot\x20contain\x20a\x20\x27super\x27\x20call\x20when\x20its\x20class\x20extends\x20\x27null\x27.'),'An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses':_0x146f6e(0x426e,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21c9'),_0x1a4e('0x21ca')),'A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses':_0x146f6e(0x426f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21cb'),_0x1a4e('0x21cc')),'JSX_element_0_has_no_corresponding_closing_tag':_0x146f6e(0x4270,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x21cd'),'JSX\x20element\x20\x27{0}\x27\x20has\x20no\x20corresponding\x20closing\x20tag.'),'super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class':_0x146f6e(0x4271,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21ce'),'\x27super\x27\x20must\x20be\x20called\x20before\x20accessing\x20\x27this\x27\x20in\x20the\x20constructor\x20of\x20a\x20derived\x20class.'),'Unknown_type_acquisition_option_0':_0x146f6e(0x4272,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21cf'),_0x1a4e('0x21d0')),'super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class':_0x146f6e(0x4273,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21d1'),_0x1a4e('0x21d2')),'_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2':_0x146f6e(0x4274,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21d3'),_0x1a4e('0x21d4')),'Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor':_0x146f6e(0x4275,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21d5'),_0x1a4e('0x21d6')),'JSX_fragment_has_no_corresponding_closing_tag':_0x146f6e(0x4276,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21d7'),_0x1a4e('0x21d8')),'Expected_corresponding_closing_tag_for_JSX_fragment':_0x146f6e(0x4277,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21d9'),'Expected\x20corresponding\x20closing\x20tag\x20for\x20JSX\x20fragment.'),'JSX_fragment_is_not_supported_when_using_jsxFactory':_0x146f6e(0x4278,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21da'),_0x1a4e('0x21db')),'JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma':_0x146f6e(0x4279,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21dc'),_0x1a4e('0x21dd')),'Circularity_detected_while_resolving_configuration_Colon_0':_0x146f6e(0x4650,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21de'),_0x1a4e('0x21df')),'A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not':_0x146f6e(0x4651,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x101f')],_0x1a4e('0x21e0'),'A\x20path\x20in\x20an\x20\x27extends\x27\x20option\x20must\x20be\x20relative\x20or\x20rooted,\x20but\x20\x27{0}\x27\x20is\x20not.'),'The_files_list_in_config_file_0_is_empty':_0x146f6e(0x4652,_0x368e5a[_0x1a4e('0x16d3')]['Error'],_0x1a4e('0x21e1'),_0x1a4e('0x21e2')),'No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2':_0x146f6e(0x4653,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')],_0x1a4e('0x21e3'),_0x1a4e('0x21e4')),'File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module':_0x146f6e(0x13881,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')],_0x1a4e('0x21e5'),_0x1a4e('0x21e6')),'This_constructor_function_may_be_converted_to_a_class_declaration':_0x146f6e(0x13882,_0x368e5a[_0x1a4e('0x16d3')]['Suggestion'],'This_constructor_function_may_be_converted_to_a_class_declaration_80002',_0x1a4e('0x21e7')),'Import_may_be_converted_to_a_default_import':_0x146f6e(0x13883,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x1a2b')],_0x1a4e('0x21e8'),_0x1a4e('0x21e9')),'JSDoc_types_may_be_moved_to_TypeScript_types':_0x146f6e(0x13884,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')],_0x1a4e('0x21ea'),'JSDoc\x20types\x20may\x20be\x20moved\x20to\x20TypeScript\x20types.'),'require_call_may_be_converted_to_an_import':_0x146f6e(0x13885,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')],_0x1a4e('0x21eb'),_0x1a4e('0x21ec')),'This_may_be_converted_to_an_async_function':_0x146f6e(0x13886,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')],_0x1a4e('0x21ed'),_0x1a4e('0x21ee')),'Add_missing_super_call':_0x146f6e(0x15f91,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x21ef'),_0x1a4e('0x21f0')),'Make_super_call_the_first_statement_in_the_constructor':_0x146f6e(0x15f92,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Make_super_call_the_first_statement_in_the_constructor_90002',_0x1a4e('0x21f1')),'Change_extends_to_implements':_0x146f6e(0x15f93,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Change_extends_to_implements_90003',_0x1a4e('0x21f2')),'Remove_declaration_for_Colon_0':_0x146f6e(0x15f94,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x21f3'),_0x1a4e('0x21f4')),'Remove_import_from_0':_0x146f6e(0x15f95,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x21f5'),_0x1a4e('0x21f6')),'Implement_interface_0':_0x146f6e(0x15f96,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x21f7'),_0x1a4e('0x21f8')),'Implement_inherited_abstract_class':_0x146f6e(0x15f97,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x21f9'),_0x1a4e('0x21fa')),'Add_0_to_unresolved_variable':_0x146f6e(0x15f98,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x21fb'),'Add\x20\x27{0}.\x27\x20to\x20unresolved\x20variable'),'Remove_destructuring':_0x146f6e(0x15f99,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x21fc'),'Remove\x20destructuring'),'Remove_variable_statement':_0x146f6e(0x15f9a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x21fd'),_0x1a4e('0x21fe')),'Remove_template_tag':_0x146f6e(0x15f9b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x21ff'),'Remove\x20template\x20tag'),'Remove_type_parameters':_0x146f6e(0x15f9c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2200'),_0x1a4e('0x2201')),'Import_0_from_module_1':_0x146f6e(0x15f9d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Import_0_from_module_1_90013',_0x1a4e('0x2202')),'Change_0_to_1':_0x146f6e(0x15f9e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2203'),_0x1a4e('0x2204')),'Add_0_to_existing_import_declaration_from_1':_0x146f6e(0x15f9f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2205'),_0x1a4e('0x2206')),'Declare_property_0':_0x146f6e(0x15fa0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2207'),_0x1a4e('0x2208')),'Add_index_signature_for_property_0':_0x146f6e(0x15fa1,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2209'),_0x1a4e('0x220a')),'Disable_checking_for_this_file':_0x146f6e(0x15fa2,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x220b'),_0x1a4e('0x220c')),'Ignore_this_error_message':_0x146f6e(0x15fa3,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x220d'),_0x1a4e('0x220e')),'Initialize_property_0_in_the_constructor':_0x146f6e(0x15fa4,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x220f'),_0x1a4e('0x2210')),'Initialize_static_property_0':_0x146f6e(0x15fa5,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2211'),_0x1a4e('0x2212')),'Change_spelling_to_0':_0x146f6e(0x15fa6,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2213'),_0x1a4e('0x2214')),'Declare_method_0':_0x146f6e(0x15fa7,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Declare_method_0_90023','Declare\x20method\x20\x27{0}\x27'),'Declare_static_method_0':_0x146f6e(0x15fa8,_0x368e5a[_0x1a4e('0x16d3')]['Message'],'Declare_static_method_0_90024',_0x1a4e('0x2215')),'Prefix_0_with_an_underscore':_0x146f6e(0x15fa9,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2216'),'Prefix\x20\x27{0}\x27\x20with\x20an\x20underscore'),'Rewrite_as_the_indexed_access_type_0':_0x146f6e(0x15faa,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2217'),_0x1a4e('0x2218')),'Declare_static_property_0':_0x146f6e(0x15fab,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2219'),_0x1a4e('0x221a')),'Call_decorator_expression':_0x146f6e(0x15fac,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x221b'),_0x1a4e('0x221c')),'Add_async_modifier_to_containing_function':_0x146f6e(0x15fad,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Add_async_modifier_to_containing_function_90029',_0x1a4e('0x221d')),'Replace_infer_0_with_unknown':_0x146f6e(0x15fae,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x221e'),_0x1a4e('0x221f')),'Replace_all_unused_infer_with_unknown':_0x146f6e(0x15faf,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2220'),_0x1a4e('0x2221')),'Import_default_0_from_module_1':_0x146f6e(0x15fb0,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2222'),_0x1a4e('0x2223')),'Add_default_import_0_to_existing_import_declaration_from_1':_0x146f6e(0x15fb1,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2224'),_0x1a4e('0x2225')),'Add_parameter_name':_0x146f6e(0x15fb2,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2226'),_0x1a4e('0x2227')),'Convert_function_to_an_ES2015_class':_0x146f6e(0x17319,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2228'),_0x1a4e('0x2229')),'Convert_function_0_to_class':_0x146f6e(0x1731a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x222a'),_0x1a4e('0x222b')),'Extract_to_0_in_1':_0x146f6e(0x1731c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Extract_to_0_in_1_95004',_0x1a4e('0x222c')),'Extract_function':_0x146f6e(0x1731d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Extract_function_95005',_0x1a4e('0x222d')),'Extract_constant':_0x146f6e(0x1731e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x222e'),_0x1a4e('0x222f')),'Extract_to_0_in_enclosing_scope':_0x146f6e(0x1731f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2230'),_0x1a4e('0x2231')),'Extract_to_0_in_1_scope':_0x146f6e(0x17320,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2232'),_0x1a4e('0x2233')),'Annotate_with_type_from_JSDoc':_0x146f6e(0x17321,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2234'),_0x1a4e('0x2235')),'Annotate_with_types_from_JSDoc':_0x146f6e(0x17322,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2236'),_0x1a4e('0x2237')),'Infer_type_of_0_from_usage':_0x146f6e(0x17323,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Infer_type_of_0_from_usage_95011',_0x1a4e('0x2238')),'Infer_parameter_types_from_usage':_0x146f6e(0x17324,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Infer_parameter_types_from_usage_95012',_0x1a4e('0x2239')),'Convert_to_default_import':_0x146f6e(0x17325,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x223a'),_0x1a4e('0x223b')),'Install_0':_0x146f6e(0x17326,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x223c'),'Install\x20\x27{0}\x27'),'Replace_import_with_0':_0x146f6e(0x17327,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x223d'),_0x1a4e('0x223e')),'Use_synthetic_default_member':_0x146f6e(0x17328,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x223f'),_0x1a4e('0x2240')),'Convert_to_ES6_module':_0x146f6e(0x17329,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2241'),_0x1a4e('0x2242')),'Add_undefined_type_to_property_0':_0x146f6e(0x1732a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2243'),_0x1a4e('0x2244')),'Add_initializer_to_property_0':_0x146f6e(0x1732b,_0x368e5a[_0x1a4e('0x16d3')]['Message'],'Add_initializer_to_property_0_95019',_0x1a4e('0x2245')),'Add_definite_assignment_assertion_to_property_0':_0x146f6e(0x1732c,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],'Add_definite_assignment_assertion_to_property_0_95020',_0x1a4e('0x2246')),'Add_all_missing_members':_0x146f6e(0x1732e,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2247'),_0x1a4e('0x2248')),'Infer_all_types_from_usage':_0x146f6e(0x1732f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Infer_all_types_from_usage_95023',_0x1a4e('0x2249')),'Delete_all_unused_declarations':_0x146f6e(0x17330,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x224a'),_0x1a4e('0x224b')),'Prefix_all_unused_declarations_with_where_possible':_0x146f6e(0x17331,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x224c'),_0x1a4e('0x224d')),'Fix_all_detected_spelling_errors':_0x146f6e(0x17332,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x224e'),_0x1a4e('0x224f')),'Add_initializers_to_all_uninitialized_properties':_0x146f6e(0x17333,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2250'),_0x1a4e('0x2251')),'Add_definite_assignment_assertions_to_all_uninitialized_properties':_0x146f6e(0x17334,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2252'),_0x1a4e('0x2253')),'Add_undefined_type_to_all_uninitialized_properties':_0x146f6e(0x17335,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2254'),'Add\x20undefined\x20type\x20to\x20all\x20uninitialized\x20properties'),'Change_all_jsdoc_style_types_to_TypeScript':_0x146f6e(0x17336,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2255'),_0x1a4e('0x2256')),'Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types':_0x146f6e(0x17337,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2257'),'Change\x20all\x20jsdoc-style\x20types\x20to\x20TypeScript\x20(and\x20add\x20\x27|\x20undefined\x27\x20to\x20nullable\x20types)'),'Implement_all_unimplemented_interfaces':_0x146f6e(0x17338,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2258'),_0x1a4e('0x2259')),'Install_all_missing_types_packages':_0x146f6e(0x17339,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x225a'),_0x1a4e('0x225b')),'Rewrite_all_as_indexed_access_types':_0x146f6e(0x1733a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Rewrite_all_as_indexed_access_types_95034',_0x1a4e('0x225c')),'Convert_all_to_default_imports':_0x146f6e(0x1733b,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x225d'),_0x1a4e('0x225e')),'Make_all_super_calls_the_first_statement_in_their_constructor':_0x146f6e(0x1733c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x225f'),_0x1a4e('0x2260')),'Add_qualifier_to_all_unresolved_variables_matching_a_member_name':_0x146f6e(0x1733d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037','Add\x20qualifier\x20to\x20all\x20unresolved\x20variables\x20matching\x20a\x20member\x20name'),'Change_all_extended_interfaces_to_implements':_0x146f6e(0x1733e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Change_all_extended_interfaces_to_implements_95038',_0x1a4e('0x2261')),'Add_all_missing_super_calls':_0x146f6e(0x1733f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2262'),_0x1a4e('0x2263')),'Implement_all_inherited_abstract_classes':_0x146f6e(0x17340,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2264'),_0x1a4e('0x2265')),'Add_all_missing_async_modifiers':_0x146f6e(0x17341,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2266'),_0x1a4e('0x2267')),'Add_ts_ignore_to_all_error_messages':_0x146f6e(0x17342,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x2268'),_0x1a4e('0x2269')),'Annotate_everything_with_types_from_JSDoc':_0x146f6e(0x17343,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x226a'),_0x1a4e('0x226b')),'Add_to_all_uncalled_decorators':_0x146f6e(0x17344,_0x368e5a['DiagnosticCategory']['Message'],'Add_to_all_uncalled_decorators_95044',_0x1a4e('0x226c')),'Convert_all_constructor_functions_to_classes':_0x146f6e(0x17345,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Convert_all_constructor_functions_to_classes_95045','Convert\x20all\x20constructor\x20functions\x20to\x20classes'),'Generate_get_and_set_accessors':_0x146f6e(0x17346,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x226d'),_0x1a4e('0x226e')),'Convert_require_to_import':_0x146f6e(0x17347,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x226f'),_0x1a4e('0x2270')),'Convert_all_require_to_import':_0x146f6e(0x17348,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2271'),'Convert\x20all\x20\x27require\x27\x20to\x20\x27import\x27'),'Move_to_a_new_file':_0x146f6e(0x17349,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2272'),'Move\x20to\x20a\x20new\x20file'),'Remove_unreachable_code':_0x146f6e(0x1734a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2273'),'Remove\x20unreachable\x20code'),'Remove_all_unreachable_code':_0x146f6e(0x1734b,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2274'),_0x1a4e('0x2275')),'Add_missing_typeof':_0x146f6e(0x1734c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2276'),_0x1a4e('0x2277')),'Remove_unused_label':_0x146f6e(0x1734d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Remove_unused_label_95053',_0x1a4e('0x2278')),'Remove_all_unused_labels':_0x146f6e(0x1734e,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2279'),'Remove\x20all\x20unused\x20labels'),'Convert_0_to_mapped_object_type':_0x146f6e(0x1734f,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'Convert_0_to_mapped_object_type_95055','Convert\x20\x27{0}\x27\x20to\x20mapped\x20object\x20type'),'Convert_namespace_import_to_named_imports':_0x146f6e(0x17350,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x227a'),'Convert\x20namespace\x20import\x20to\x20named\x20imports'),'Convert_named_imports_to_namespace_import':_0x146f6e(0x17351,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x227b'),_0x1a4e('0x227c')),'Add_or_remove_braces_in_an_arrow_function':_0x146f6e(0x17352,_0x368e5a['DiagnosticCategory']['Message'],_0x1a4e('0x227d'),_0x1a4e('0x227e')),'Add_braces_to_arrow_function':_0x146f6e(0x17353,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x227f'),_0x1a4e('0x2280')),'Remove_braces_from_arrow_function':_0x146f6e(0x17354,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2281'),_0x1a4e('0x2282')),'Convert_default_export_to_named_export':_0x146f6e(0x17355,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2283'),_0x1a4e('0x2284')),'Convert_named_export_to_default_export':_0x146f6e(0x17356,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2285'),'Convert\x20named\x20export\x20to\x20default\x20export'),'Add_missing_enum_member_0':_0x146f6e(0x17357,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2286'),_0x1a4e('0x2287')),'Add_all_missing_imports':_0x146f6e(0x17358,_0x368e5a['DiagnosticCategory']['Message'],'Add_all_missing_imports_95064','Add\x20all\x20missing\x20imports'),'Convert_to_async_function':_0x146f6e(0x17359,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2288'),_0x1a4e('0x2289')),'Convert_all_to_async_functions':_0x146f6e(0x1735a,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x228a'),'Convert\x20all\x20to\x20async\x20functions'),'Generate_types_for_0':_0x146f6e(0x1735b,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x228b'),_0x1a4e('0x228c')),'Generate_types_for_all_packages_without_types':_0x146f6e(0x1735c,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x228d'),_0x1a4e('0x228e')),'Add_unknown_conversion_for_non_overlapping_types':_0x146f6e(0x1735d,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x228f'),_0x1a4e('0x2290')),'Add_unknown_to_all_conversions_of_non_overlapping_types':_0x146f6e(0x1735e,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2291'),'Add\x20\x27unknown\x27\x20to\x20all\x20conversions\x20of\x20non-overlapping\x20types'),'Add_missing_new_operator_to_call':_0x146f6e(0x1735f,_0x368e5a['DiagnosticCategory'][_0x1a4e('0x16d5')],_0x1a4e('0x2292'),_0x1a4e('0x2293')),'Add_missing_new_operator_to_all_calls':_0x146f6e(0x17360,_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],_0x1a4e('0x2294'),_0x1a4e('0x2295')),'Add_names_to_all_parameters_without_names':_0x146f6e(0x17361,_0x368e5a[_0x1a4e('0x16d3')]['Message'],_0x1a4e('0x2296'),_0x1a4e('0x2297'))};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e;function _0x2327c6(_0x368e5a){return _0x368e5a>=0x48;}_0x368e5a[_0x1a4e('0x2298')]=_0x2327c6,_0x368e5a[_0x1a4e('0x2299')]=function(_0x368e5a){return 0x1e===_0x368e5a||_0x2327c6(_0x368e5a);};var _0x55ff7e=((_0x146f6e={'abstract':0x76,'any':0x78,'as':0x77,'bigint':0x92,'boolean':0x7b,'break':0x49,'case':0x4a,'catch':0x4b,'class':0x4c,'continue':0x4e,'const':0x4d})[_0x1a4e('0x10')]=0x7c,_0x146f6e[_0x1a4e('0x229a')]=0x4f,_0x146f6e[_0x1a4e('0x229b')]=0x7d,_0x146f6e[_0x1a4e('0x8')]=0x50,_0x146f6e['delete']=0x51,_0x146f6e['do']=0x52,_0x146f6e['else']=0x53,_0x146f6e[_0x1a4e('0x889')]=0x54,_0x146f6e[_0x1a4e('0x229c')]=0x55,_0x146f6e[_0x1a4e('0x229d')]=0x56,_0x146f6e[_0x1a4e('0xe7a')]=0x57,_0x146f6e['finally']=0x58,_0x146f6e[_0x1a4e('0x229e')]=0x59,_0x146f6e['from']=0x90,_0x146f6e[_0x1a4e('0x68')]=0x5a,_0x146f6e[_0x1a4e('0x179')]=0x7e,_0x146f6e['if']=0x5b,_0x146f6e[_0x1a4e('0x229f')]=0x6d,_0x146f6e[_0x1a4e('0x22a0')]=0x5c,_0x146f6e['in']=0x5d,_0x146f6e[_0x1a4e('0x22a1')]=0x7f,_0x146f6e['instanceof']=0x5e,_0x146f6e[_0x1a4e('0x22a2')]=0x6e,_0x146f6e['is']=0x80,_0x146f6e[_0x1a4e('0x22a3')]=0x81,_0x146f6e['let']=0x6f,_0x146f6e[_0x1a4e('0xa6c')]=0x82,_0x146f6e[_0x1a4e('0x22a4')]=0x83,_0x146f6e[_0x1a4e('0x1445')]=0x84,_0x146f6e[_0x1a4e('0x22a5')]=0x5f,_0x146f6e[_0x1a4e('0xe7f')]=0x60,_0x146f6e[_0x1a4e('0x3d')]=0x87,_0x146f6e['object']=0x88,_0x146f6e[_0x1a4e('0x22a6')]=0x70,_0x146f6e[_0x1a4e('0x22a7')]=0x71,_0x146f6e[_0x1a4e('0x22a8')]=0x72,_0x146f6e[_0x1a4e('0x22a9')]=0x73,_0x146f6e[_0x1a4e('0x22aa')]=0x85,_0x146f6e[_0x1a4e('0xfd8')]=0x86,_0x146f6e[_0x1a4e('0x10e6')]=0x91,_0x146f6e[_0x1a4e('0xe40')]=0x61,_0x146f6e[_0x1a4e('0x17a')]=0x89,_0x146f6e[_0x1a4e('0x22ab')]=0x74,_0x146f6e[_0x1a4e('0x9')]=0x8a,_0x146f6e[_0x1a4e('0x22ac')]=0x62,_0x146f6e[_0x1a4e('0x22ad')]=0x63,_0x146f6e[_0x1a4e('0xb1b')]=0x8b,_0x146f6e[_0x1a4e('0x19b5')]=0x64,_0x146f6e[_0x1a4e('0x1362')]=0x65,_0x146f6e[_0x1a4e('0xe7b')]=0x66,_0x146f6e['try']=0x67,_0x146f6e[_0x1a4e('0x40')]=0x8c,_0x146f6e[_0x1a4e('0x22ae')]=0x68,_0x146f6e['undefined']=0x8d,_0x146f6e['unique']=0x8e,_0x146f6e[_0x1a4e('0x22af')]=0x8f,_0x146f6e[_0x1a4e('0x22b0')]=0x69,_0x146f6e[_0x1a4e('0x22b1')]=0x6a,_0x146f6e['while']=0x6b,_0x146f6e['with']=0x6c,_0x146f6e[_0x1a4e('0x22b2')]=0x75,_0x146f6e[_0x1a4e('0xe06')]=0x79,_0x146f6e[_0x1a4e('0x22b3')]=0x7a,_0x146f6e['of']=0x93,_0x146f6e),_0x1adc17=_0x368e5a[_0x1a4e('0x1701')](_0x55ff7e),_0xf79407=_0x368e5a[_0x1a4e('0x1701')](_0x420b32({},_0x55ff7e,{'{':0x12,'}':0x13,'(':0x14,')':0x15,'[':0x16,']':0x17,'.':0x18,'...':0x19,';':0x1a,',':0x1b,'<':0x1c,'>':0x1e,'<=':0x1f,'>=':0x20,'==':0x21,'!=':0x22,'===':0x23,'!==':0x24,'=>':0x25,'+':0x26,'-':0x27,'**':0x29,'*':0x28,'/':0x2a,'%':0x2b,'++':0x2c,'--':0x2d,'<<':0x2e,'>':0x2f,'>>>':0x30,'&':0x31,'|':0x32,'^':0x33,'!':0x34,'~':0x35,'&&':0x36,'||':0x37,'?':0x38,':':0x39,'=':0x3b,'+=':0x3c,'-=':0x3d,'*=':0x3e,'**=':0x3f,'/=':0x40,'%=':0x41,'<<=':0x42,'>>=':0x43,'>>>=':0x44,'&=':0x45,'|=':0x46,'^=':0x47,'@':0x3a})),_0x2c9ec9=[0xaa,0xaa,0xb5,0xb5,0xba,0xba,0xc0,0xd6,0xd8,0xf6,0xf8,0x21f,0x222,0x233,0x250,0x2ad,0x2b0,0x2b8,0x2bb,0x2c1,0x2d0,0x2d1,0x2e0,0x2e4,0x2ee,0x2ee,0x37a,0x37a,0x386,0x386,0x388,0x38a,0x38c,0x38c,0x38e,0x3a1,0x3a3,0x3ce,0x3d0,0x3d7,0x3da,0x3f3,0x400,0x481,0x48c,0x4c4,0x4c7,0x4c8,0x4cb,0x4cc,0x4d0,0x4f5,0x4f8,0x4f9,0x531,0x556,0x559,0x559,0x561,0x587,0x5d0,0x5ea,0x5f0,0x5f2,0x621,0x63a,0x640,0x64a,0x671,0x6d3,0x6d5,0x6d5,0x6e5,0x6e6,0x6fa,0x6fc,0x710,0x710,0x712,0x72c,0x780,0x7a5,0x905,0x939,0x93d,0x93d,0x950,0x950,0x958,0x961,0x985,0x98c,0x98f,0x990,0x993,0x9a8,0x9aa,0x9b0,0x9b2,0x9b2,0x9b6,0x9b9,0x9dc,0x9dd,0x9df,0x9e1,0x9f0,0x9f1,0xa05,0xa0a,0xa0f,0xa10,0xa13,0xa28,0xa2a,0xa30,0xa32,0xa33,0xa35,0xa36,0xa38,0xa39,0xa59,0xa5c,0xa5e,0xa5e,0xa72,0xa74,0xa85,0xa8b,0xa8d,0xa8d,0xa8f,0xa91,0xa93,0xaa8,0xaaa,0xab0,0xab2,0xab3,0xab5,0xab9,0xabd,0xabd,0xad0,0xad0,0xae0,0xae0,0xb05,0xb0c,0xb0f,0xb10,0xb13,0xb28,0xb2a,0xb30,0xb32,0xb33,0xb36,0xb39,0xb3d,0xb3d,0xb5c,0xb5d,0xb5f,0xb61,0xb85,0xb8a,0xb8e,0xb90,0xb92,0xb95,0xb99,0xb9a,0xb9c,0xb9c,0xb9e,0xb9f,0xba3,0xba4,0xba8,0xbaa,0xbae,0xbb5,0xbb7,0xbb9,0xc05,0xc0c,0xc0e,0xc10,0xc12,0xc28,0xc2a,0xc33,0xc35,0xc39,0xc60,0xc61,0xc85,0xc8c,0xc8e,0xc90,0xc92,0xca8,0xcaa,0xcb3,0xcb5,0xcb9,0xcde,0xcde,0xce0,0xce1,0xd05,0xd0c,0xd0e,0xd10,0xd12,0xd28,0xd2a,0xd39,0xd60,0xd61,0xd85,0xd96,0xd9a,0xdb1,0xdb3,0xdbb,0xdbd,0xdbd,0xdc0,0xdc6,0xe01,0xe30,0xe32,0xe33,0xe40,0xe46,0xe81,0xe82,0xe84,0xe84,0xe87,0xe88,0xe8a,0xe8a,0xe8d,0xe8d,0xe94,0xe97,0xe99,0xe9f,0xea1,0xea3,0xea5,0xea5,0xea7,0xea7,0xeaa,0xeab,0xead,0xeb0,0xeb2,0xeb3,0xebd,0xebd,0xec0,0xec4,0xec6,0xec6,0xedc,0xedd,0xf00,0xf00,0xf40,0xf47,0xf49,0xf6a,0xf88,0xf8b,0x1000,0x1021,0x1023,0x1027,0x1029,0x102a,0x1050,0x1055,0x10a0,0x10c5,0x10d0,0x10f6,0x1100,0x1159,0x115f,0x11a2,0x11a8,0x11f9,0x1200,0x1206,0x1208,0x1246,0x1248,0x1248,0x124a,0x124d,0x1250,0x1256,0x1258,0x1258,0x125a,0x125d,0x1260,0x1286,0x1288,0x1288,0x128a,0x128d,0x1290,0x12ae,0x12b0,0x12b0,0x12b2,0x12b5,0x12b8,0x12be,0x12c0,0x12c0,0x12c2,0x12c5,0x12c8,0x12ce,0x12d0,0x12d6,0x12d8,0x12ee,0x12f0,0x130e,0x1310,0x1310,0x1312,0x1315,0x1318,0x131e,0x1320,0x1346,0x1348,0x135a,0x13a0,0x13f4,0x1401,0x166c,0x166f,0x1676,0x1681,0x169a,0x16a0,0x16ea,0x1780,0x17b3,0x1820,0x1877,0x1880,0x18a8,0x1e00,0x1e9b,0x1ea0,0x1ef9,0x1f00,0x1f15,0x1f18,0x1f1d,0x1f20,0x1f45,0x1f48,0x1f4d,0x1f50,0x1f57,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f7d,0x1f80,0x1fb4,0x1fb6,0x1fbc,0x1fbe,0x1fbe,0x1fc2,0x1fc4,0x1fc6,0x1fcc,0x1fd0,0x1fd3,0x1fd6,0x1fdb,0x1fe0,0x1fec,0x1ff2,0x1ff4,0x1ff6,0x1ffc,0x207f,0x207f,0x2102,0x2102,0x2107,0x2107,0x210a,0x2113,0x2115,0x2115,0x2119,0x211d,0x2124,0x2124,0x2126,0x2126,0x2128,0x2128,0x212a,0x212d,0x212f,0x2131,0x2133,0x2139,0x2160,0x2183,0x3005,0x3007,0x3021,0x3029,0x3031,0x3035,0x3038,0x303a,0x3041,0x3094,0x309d,0x309e,0x30a1,0x30fa,0x30fc,0x30fe,0x3105,0x312c,0x3131,0x318e,0x31a0,0x31b7,0x3400,0x4db5,0x4e00,0x9fa5,0xa000,0xa48c,0xac00,0xd7a3,0xf900,0xfa2d,0xfb00,0xfb06,0xfb13,0xfb17,0xfb1d,0xfb1d,0xfb1f,0xfb28,0xfb2a,0xfb36,0xfb38,0xfb3c,0xfb3e,0xfb3e,0xfb40,0xfb41,0xfb43,0xfb44,0xfb46,0xfbb1,0xfbd3,0xfd3d,0xfd50,0xfd8f,0xfd92,0xfdc7,0xfdf0,0xfdfb,0xfe70,0xfe72,0xfe74,0xfe74,0xfe76,0xfefc,0xff21,0xff3a,0xff41,0xff5a,0xff66,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc],_0x1b06ad=[0xaa,0xaa,0xb5,0xb5,0xba,0xba,0xc0,0xd6,0xd8,0xf6,0xf8,0x21f,0x222,0x233,0x250,0x2ad,0x2b0,0x2b8,0x2bb,0x2c1,0x2d0,0x2d1,0x2e0,0x2e4,0x2ee,0x2ee,0x300,0x34e,0x360,0x362,0x37a,0x37a,0x386,0x386,0x388,0x38a,0x38c,0x38c,0x38e,0x3a1,0x3a3,0x3ce,0x3d0,0x3d7,0x3da,0x3f3,0x400,0x481,0x483,0x486,0x48c,0x4c4,0x4c7,0x4c8,0x4cb,0x4cc,0x4d0,0x4f5,0x4f8,0x4f9,0x531,0x556,0x559,0x559,0x561,0x587,0x591,0x5a1,0x5a3,0x5b9,0x5bb,0x5bd,0x5bf,0x5bf,0x5c1,0x5c2,0x5c4,0x5c4,0x5d0,0x5ea,0x5f0,0x5f2,0x621,0x63a,0x640,0x655,0x660,0x669,0x670,0x6d3,0x6d5,0x6dc,0x6df,0x6e8,0x6ea,0x6ed,0x6f0,0x6fc,0x710,0x72c,0x730,0x74a,0x780,0x7b0,0x901,0x903,0x905,0x939,0x93c,0x94d,0x950,0x954,0x958,0x963,0x966,0x96f,0x981,0x983,0x985,0x98c,0x98f,0x990,0x993,0x9a8,0x9aa,0x9b0,0x9b2,0x9b2,0x9b6,0x9b9,0x9bc,0x9bc,0x9be,0x9c4,0x9c7,0x9c8,0x9cb,0x9cd,0x9d7,0x9d7,0x9dc,0x9dd,0x9df,0x9e3,0x9e6,0x9f1,0xa02,0xa02,0xa05,0xa0a,0xa0f,0xa10,0xa13,0xa28,0xa2a,0xa30,0xa32,0xa33,0xa35,0xa36,0xa38,0xa39,0xa3c,0xa3c,0xa3e,0xa42,0xa47,0xa48,0xa4b,0xa4d,0xa59,0xa5c,0xa5e,0xa5e,0xa66,0xa74,0xa81,0xa83,0xa85,0xa8b,0xa8d,0xa8d,0xa8f,0xa91,0xa93,0xaa8,0xaaa,0xab0,0xab2,0xab3,0xab5,0xab9,0xabc,0xac5,0xac7,0xac9,0xacb,0xacd,0xad0,0xad0,0xae0,0xae0,0xae6,0xaef,0xb01,0xb03,0xb05,0xb0c,0xb0f,0xb10,0xb13,0xb28,0xb2a,0xb30,0xb32,0xb33,0xb36,0xb39,0xb3c,0xb43,0xb47,0xb48,0xb4b,0xb4d,0xb56,0xb57,0xb5c,0xb5d,0xb5f,0xb61,0xb66,0xb6f,0xb82,0xb83,0xb85,0xb8a,0xb8e,0xb90,0xb92,0xb95,0xb99,0xb9a,0xb9c,0xb9c,0xb9e,0xb9f,0xba3,0xba4,0xba8,0xbaa,0xbae,0xbb5,0xbb7,0xbb9,0xbbe,0xbc2,0xbc6,0xbc8,0xbca,0xbcd,0xbd7,0xbd7,0xbe7,0xbef,0xc01,0xc03,0xc05,0xc0c,0xc0e,0xc10,0xc12,0xc28,0xc2a,0xc33,0xc35,0xc39,0xc3e,0xc44,0xc46,0xc48,0xc4a,0xc4d,0xc55,0xc56,0xc60,0xc61,0xc66,0xc6f,0xc82,0xc83,0xc85,0xc8c,0xc8e,0xc90,0xc92,0xca8,0xcaa,0xcb3,0xcb5,0xcb9,0xcbe,0xcc4,0xcc6,0xcc8,0xcca,0xccd,0xcd5,0xcd6,0xcde,0xcde,0xce0,0xce1,0xce6,0xcef,0xd02,0xd03,0xd05,0xd0c,0xd0e,0xd10,0xd12,0xd28,0xd2a,0xd39,0xd3e,0xd43,0xd46,0xd48,0xd4a,0xd4d,0xd57,0xd57,0xd60,0xd61,0xd66,0xd6f,0xd82,0xd83,0xd85,0xd96,0xd9a,0xdb1,0xdb3,0xdbb,0xdbd,0xdbd,0xdc0,0xdc6,0xdca,0xdca,0xdcf,0xdd4,0xdd6,0xdd6,0xdd8,0xddf,0xdf2,0xdf3,0xe01,0xe3a,0xe40,0xe4e,0xe50,0xe59,0xe81,0xe82,0xe84,0xe84,0xe87,0xe88,0xe8a,0xe8a,0xe8d,0xe8d,0xe94,0xe97,0xe99,0xe9f,0xea1,0xea3,0xea5,0xea5,0xea7,0xea7,0xeaa,0xeab,0xead,0xeb9,0xebb,0xebd,0xec0,0xec4,0xec6,0xec6,0xec8,0xecd,0xed0,0xed9,0xedc,0xedd,0xf00,0xf00,0xf18,0xf19,0xf20,0xf29,0xf35,0xf35,0xf37,0xf37,0xf39,0xf39,0xf3e,0xf47,0xf49,0xf6a,0xf71,0xf84,0xf86,0xf8b,0xf90,0xf97,0xf99,0xfbc,0xfc6,0xfc6,0x1000,0x1021,0x1023,0x1027,0x1029,0x102a,0x102c,0x1032,0x1036,0x1039,0x1040,0x1049,0x1050,0x1059,0x10a0,0x10c5,0x10d0,0x10f6,0x1100,0x1159,0x115f,0x11a2,0x11a8,0x11f9,0x1200,0x1206,0x1208,0x1246,0x1248,0x1248,0x124a,0x124d,0x1250,0x1256,0x1258,0x1258,0x125a,0x125d,0x1260,0x1286,0x1288,0x1288,0x128a,0x128d,0x1290,0x12ae,0x12b0,0x12b0,0x12b2,0x12b5,0x12b8,0x12be,0x12c0,0x12c0,0x12c2,0x12c5,0x12c8,0x12ce,0x12d0,0x12d6,0x12d8,0x12ee,0x12f0,0x130e,0x1310,0x1310,0x1312,0x1315,0x1318,0x131e,0x1320,0x1346,0x1348,0x135a,0x1369,0x1371,0x13a0,0x13f4,0x1401,0x166c,0x166f,0x1676,0x1681,0x169a,0x16a0,0x16ea,0x1780,0x17d3,0x17e0,0x17e9,0x1810,0x1819,0x1820,0x1877,0x1880,0x18a9,0x1e00,0x1e9b,0x1ea0,0x1ef9,0x1f00,0x1f15,0x1f18,0x1f1d,0x1f20,0x1f45,0x1f48,0x1f4d,0x1f50,0x1f57,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f7d,0x1f80,0x1fb4,0x1fb6,0x1fbc,0x1fbe,0x1fbe,0x1fc2,0x1fc4,0x1fc6,0x1fcc,0x1fd0,0x1fd3,0x1fd6,0x1fdb,0x1fe0,0x1fec,0x1ff2,0x1ff4,0x1ff6,0x1ffc,0x203f,0x2040,0x207f,0x207f,0x20d0,0x20dc,0x20e1,0x20e1,0x2102,0x2102,0x2107,0x2107,0x210a,0x2113,0x2115,0x2115,0x2119,0x211d,0x2124,0x2124,0x2126,0x2126,0x2128,0x2128,0x212a,0x212d,0x212f,0x2131,0x2133,0x2139,0x2160,0x2183,0x3005,0x3007,0x3021,0x302f,0x3031,0x3035,0x3038,0x303a,0x3041,0x3094,0x3099,0x309a,0x309d,0x309e,0x30a1,0x30fe,0x3105,0x312c,0x3131,0x318e,0x31a0,0x31b7,0x3400,0x4db5,0x4e00,0x9fa5,0xa000,0xa48c,0xac00,0xd7a3,0xf900,0xfa2d,0xfb00,0xfb06,0xfb13,0xfb17,0xfb1d,0xfb28,0xfb2a,0xfb36,0xfb38,0xfb3c,0xfb3e,0xfb3e,0xfb40,0xfb41,0xfb43,0xfb44,0xfb46,0xfbb1,0xfbd3,0xfd3d,0xfd50,0xfd8f,0xfd92,0xfdc7,0xfdf0,0xfdfb,0xfe20,0xfe23,0xfe33,0xfe34,0xfe4d,0xfe4f,0xfe70,0xfe72,0xfe74,0xfe74,0xfe76,0xfefc,0xff10,0xff19,0xff21,0xff3a,0xff3f,0xff3f,0xff41,0xff5a,0xff65,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc],_0x326eae=[0xaa,0xaa,0xb5,0xb5,0xba,0xba,0xc0,0xd6,0xd8,0xf6,0xf8,0x2c1,0x2c6,0x2d1,0x2e0,0x2e4,0x2ec,0x2ec,0x2ee,0x2ee,0x370,0x374,0x376,0x377,0x37a,0x37d,0x386,0x386,0x388,0x38a,0x38c,0x38c,0x38e,0x3a1,0x3a3,0x3f5,0x3f7,0x481,0x48a,0x527,0x531,0x556,0x559,0x559,0x561,0x587,0x5d0,0x5ea,0x5f0,0x5f2,0x620,0x64a,0x66e,0x66f,0x671,0x6d3,0x6d5,0x6d5,0x6e5,0x6e6,0x6ee,0x6ef,0x6fa,0x6fc,0x6ff,0x6ff,0x710,0x710,0x712,0x72f,0x74d,0x7a5,0x7b1,0x7b1,0x7ca,0x7ea,0x7f4,0x7f5,0x7fa,0x7fa,0x800,0x815,0x81a,0x81a,0x824,0x824,0x828,0x828,0x840,0x858,0x8a0,0x8a0,0x8a2,0x8ac,0x904,0x939,0x93d,0x93d,0x950,0x950,0x958,0x961,0x971,0x977,0x979,0x97f,0x985,0x98c,0x98f,0x990,0x993,0x9a8,0x9aa,0x9b0,0x9b2,0x9b2,0x9b6,0x9b9,0x9bd,0x9bd,0x9ce,0x9ce,0x9dc,0x9dd,0x9df,0x9e1,0x9f0,0x9f1,0xa05,0xa0a,0xa0f,0xa10,0xa13,0xa28,0xa2a,0xa30,0xa32,0xa33,0xa35,0xa36,0xa38,0xa39,0xa59,0xa5c,0xa5e,0xa5e,0xa72,0xa74,0xa85,0xa8d,0xa8f,0xa91,0xa93,0xaa8,0xaaa,0xab0,0xab2,0xab3,0xab5,0xab9,0xabd,0xabd,0xad0,0xad0,0xae0,0xae1,0xb05,0xb0c,0xb0f,0xb10,0xb13,0xb28,0xb2a,0xb30,0xb32,0xb33,0xb35,0xb39,0xb3d,0xb3d,0xb5c,0xb5d,0xb5f,0xb61,0xb71,0xb71,0xb83,0xb83,0xb85,0xb8a,0xb8e,0xb90,0xb92,0xb95,0xb99,0xb9a,0xb9c,0xb9c,0xb9e,0xb9f,0xba3,0xba4,0xba8,0xbaa,0xbae,0xbb9,0xbd0,0xbd0,0xc05,0xc0c,0xc0e,0xc10,0xc12,0xc28,0xc2a,0xc33,0xc35,0xc39,0xc3d,0xc3d,0xc58,0xc59,0xc60,0xc61,0xc85,0xc8c,0xc8e,0xc90,0xc92,0xca8,0xcaa,0xcb3,0xcb5,0xcb9,0xcbd,0xcbd,0xcde,0xcde,0xce0,0xce1,0xcf1,0xcf2,0xd05,0xd0c,0xd0e,0xd10,0xd12,0xd3a,0xd3d,0xd3d,0xd4e,0xd4e,0xd60,0xd61,0xd7a,0xd7f,0xd85,0xd96,0xd9a,0xdb1,0xdb3,0xdbb,0xdbd,0xdbd,0xdc0,0xdc6,0xe01,0xe30,0xe32,0xe33,0xe40,0xe46,0xe81,0xe82,0xe84,0xe84,0xe87,0xe88,0xe8a,0xe8a,0xe8d,0xe8d,0xe94,0xe97,0xe99,0xe9f,0xea1,0xea3,0xea5,0xea5,0xea7,0xea7,0xeaa,0xeab,0xead,0xeb0,0xeb2,0xeb3,0xebd,0xebd,0xec0,0xec4,0xec6,0xec6,0xedc,0xedf,0xf00,0xf00,0xf40,0xf47,0xf49,0xf6c,0xf88,0xf8c,0x1000,0x102a,0x103f,0x103f,0x1050,0x1055,0x105a,0x105d,0x1061,0x1061,0x1065,0x1066,0x106e,0x1070,0x1075,0x1081,0x108e,0x108e,0x10a0,0x10c5,0x10c7,0x10c7,0x10cd,0x10cd,0x10d0,0x10fa,0x10fc,0x1248,0x124a,0x124d,0x1250,0x1256,0x1258,0x1258,0x125a,0x125d,0x1260,0x1288,0x128a,0x128d,0x1290,0x12b0,0x12b2,0x12b5,0x12b8,0x12be,0x12c0,0x12c0,0x12c2,0x12c5,0x12c8,0x12d6,0x12d8,0x1310,0x1312,0x1315,0x1318,0x135a,0x1380,0x138f,0x13a0,0x13f4,0x1401,0x166c,0x166f,0x167f,0x1681,0x169a,0x16a0,0x16ea,0x16ee,0x16f0,0x1700,0x170c,0x170e,0x1711,0x1720,0x1731,0x1740,0x1751,0x1760,0x176c,0x176e,0x1770,0x1780,0x17b3,0x17d7,0x17d7,0x17dc,0x17dc,0x1820,0x1877,0x1880,0x18a8,0x18aa,0x18aa,0x18b0,0x18f5,0x1900,0x191c,0x1950,0x196d,0x1970,0x1974,0x1980,0x19ab,0x19c1,0x19c7,0x1a00,0x1a16,0x1a20,0x1a54,0x1aa7,0x1aa7,0x1b05,0x1b33,0x1b45,0x1b4b,0x1b83,0x1ba0,0x1bae,0x1baf,0x1bba,0x1be5,0x1c00,0x1c23,0x1c4d,0x1c4f,0x1c5a,0x1c7d,0x1ce9,0x1cec,0x1cee,0x1cf1,0x1cf5,0x1cf6,0x1d00,0x1dbf,0x1e00,0x1f15,0x1f18,0x1f1d,0x1f20,0x1f45,0x1f48,0x1f4d,0x1f50,0x1f57,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f7d,0x1f80,0x1fb4,0x1fb6,0x1fbc,0x1fbe,0x1fbe,0x1fc2,0x1fc4,0x1fc6,0x1fcc,0x1fd0,0x1fd3,0x1fd6,0x1fdb,0x1fe0,0x1fec,0x1ff2,0x1ff4,0x1ff6,0x1ffc,0x2071,0x2071,0x207f,0x207f,0x2090,0x209c,0x2102,0x2102,0x2107,0x2107,0x210a,0x2113,0x2115,0x2115,0x2119,0x211d,0x2124,0x2124,0x2126,0x2126,0x2128,0x2128,0x212a,0x212d,0x212f,0x2139,0x213c,0x213f,0x2145,0x2149,0x214e,0x214e,0x2160,0x2188,0x2c00,0x2c2e,0x2c30,0x2c5e,0x2c60,0x2ce4,0x2ceb,0x2cee,0x2cf2,0x2cf3,0x2d00,0x2d25,0x2d27,0x2d27,0x2d2d,0x2d2d,0x2d30,0x2d67,0x2d6f,0x2d6f,0x2d80,0x2d96,0x2da0,0x2da6,0x2da8,0x2dae,0x2db0,0x2db6,0x2db8,0x2dbe,0x2dc0,0x2dc6,0x2dc8,0x2dce,0x2dd0,0x2dd6,0x2dd8,0x2dde,0x2e2f,0x2e2f,0x3005,0x3007,0x3021,0x3029,0x3031,0x3035,0x3038,0x303c,0x3041,0x3096,0x309d,0x309f,0x30a1,0x30fa,0x30fc,0x30ff,0x3105,0x312d,0x3131,0x318e,0x31a0,0x31ba,0x31f0,0x31ff,0x3400,0x4db5,0x4e00,0x9fcc,0xa000,0xa48c,0xa4d0,0xa4fd,0xa500,0xa60c,0xa610,0xa61f,0xa62a,0xa62b,0xa640,0xa66e,0xa67f,0xa697,0xa6a0,0xa6ef,0xa717,0xa71f,0xa722,0xa788,0xa78b,0xa78e,0xa790,0xa793,0xa7a0,0xa7aa,0xa7f8,0xa801,0xa803,0xa805,0xa807,0xa80a,0xa80c,0xa822,0xa840,0xa873,0xa882,0xa8b3,0xa8f2,0xa8f7,0xa8fb,0xa8fb,0xa90a,0xa925,0xa930,0xa946,0xa960,0xa97c,0xa984,0xa9b2,0xa9cf,0xa9cf,0xaa00,0xaa28,0xaa40,0xaa42,0xaa44,0xaa4b,0xaa60,0xaa76,0xaa7a,0xaa7a,0xaa80,0xaaaf,0xaab1,0xaab1,0xaab5,0xaab6,0xaab9,0xaabd,0xaac0,0xaac0,0xaac2,0xaac2,0xaadb,0xaadd,0xaae0,0xaaea,0xaaf2,0xaaf4,0xab01,0xab06,0xab09,0xab0e,0xab11,0xab16,0xab20,0xab26,0xab28,0xab2e,0xabc0,0xabe2,0xac00,0xd7a3,0xd7b0,0xd7c6,0xd7cb,0xd7fb,0xf900,0xfa6d,0xfa70,0xfad9,0xfb00,0xfb06,0xfb13,0xfb17,0xfb1d,0xfb1d,0xfb1f,0xfb28,0xfb2a,0xfb36,0xfb38,0xfb3c,0xfb3e,0xfb3e,0xfb40,0xfb41,0xfb43,0xfb44,0xfb46,0xfbb1,0xfbd3,0xfd3d,0xfd50,0xfd8f,0xfd92,0xfdc7,0xfdf0,0xfdfb,0xfe70,0xfe74,0xfe76,0xfefc,0xff21,0xff3a,0xff41,0xff5a,0xff66,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc],_0x56674b=[0xaa,0xaa,0xb5,0xb5,0xba,0xba,0xc0,0xd6,0xd8,0xf6,0xf8,0x2c1,0x2c6,0x2d1,0x2e0,0x2e4,0x2ec,0x2ec,0x2ee,0x2ee,0x300,0x374,0x376,0x377,0x37a,0x37d,0x386,0x386,0x388,0x38a,0x38c,0x38c,0x38e,0x3a1,0x3a3,0x3f5,0x3f7,0x481,0x483,0x487,0x48a,0x527,0x531,0x556,0x559,0x559,0x561,0x587,0x591,0x5bd,0x5bf,0x5bf,0x5c1,0x5c2,0x5c4,0x5c5,0x5c7,0x5c7,0x5d0,0x5ea,0x5f0,0x5f2,0x610,0x61a,0x620,0x669,0x66e,0x6d3,0x6d5,0x6dc,0x6df,0x6e8,0x6ea,0x6fc,0x6ff,0x6ff,0x710,0x74a,0x74d,0x7b1,0x7c0,0x7f5,0x7fa,0x7fa,0x800,0x82d,0x840,0x85b,0x8a0,0x8a0,0x8a2,0x8ac,0x8e4,0x8fe,0x900,0x963,0x966,0x96f,0x971,0x977,0x979,0x97f,0x981,0x983,0x985,0x98c,0x98f,0x990,0x993,0x9a8,0x9aa,0x9b0,0x9b2,0x9b2,0x9b6,0x9b9,0x9bc,0x9c4,0x9c7,0x9c8,0x9cb,0x9ce,0x9d7,0x9d7,0x9dc,0x9dd,0x9df,0x9e3,0x9e6,0x9f1,0xa01,0xa03,0xa05,0xa0a,0xa0f,0xa10,0xa13,0xa28,0xa2a,0xa30,0xa32,0xa33,0xa35,0xa36,0xa38,0xa39,0xa3c,0xa3c,0xa3e,0xa42,0xa47,0xa48,0xa4b,0xa4d,0xa51,0xa51,0xa59,0xa5c,0xa5e,0xa5e,0xa66,0xa75,0xa81,0xa83,0xa85,0xa8d,0xa8f,0xa91,0xa93,0xaa8,0xaaa,0xab0,0xab2,0xab3,0xab5,0xab9,0xabc,0xac5,0xac7,0xac9,0xacb,0xacd,0xad0,0xad0,0xae0,0xae3,0xae6,0xaef,0xb01,0xb03,0xb05,0xb0c,0xb0f,0xb10,0xb13,0xb28,0xb2a,0xb30,0xb32,0xb33,0xb35,0xb39,0xb3c,0xb44,0xb47,0xb48,0xb4b,0xb4d,0xb56,0xb57,0xb5c,0xb5d,0xb5f,0xb63,0xb66,0xb6f,0xb71,0xb71,0xb82,0xb83,0xb85,0xb8a,0xb8e,0xb90,0xb92,0xb95,0xb99,0xb9a,0xb9c,0xb9c,0xb9e,0xb9f,0xba3,0xba4,0xba8,0xbaa,0xbae,0xbb9,0xbbe,0xbc2,0xbc6,0xbc8,0xbca,0xbcd,0xbd0,0xbd0,0xbd7,0xbd7,0xbe6,0xbef,0xc01,0xc03,0xc05,0xc0c,0xc0e,0xc10,0xc12,0xc28,0xc2a,0xc33,0xc35,0xc39,0xc3d,0xc44,0xc46,0xc48,0xc4a,0xc4d,0xc55,0xc56,0xc58,0xc59,0xc60,0xc63,0xc66,0xc6f,0xc82,0xc83,0xc85,0xc8c,0xc8e,0xc90,0xc92,0xca8,0xcaa,0xcb3,0xcb5,0xcb9,0xcbc,0xcc4,0xcc6,0xcc8,0xcca,0xccd,0xcd5,0xcd6,0xcde,0xcde,0xce0,0xce3,0xce6,0xcef,0xcf1,0xcf2,0xd02,0xd03,0xd05,0xd0c,0xd0e,0xd10,0xd12,0xd3a,0xd3d,0xd44,0xd46,0xd48,0xd4a,0xd4e,0xd57,0xd57,0xd60,0xd63,0xd66,0xd6f,0xd7a,0xd7f,0xd82,0xd83,0xd85,0xd96,0xd9a,0xdb1,0xdb3,0xdbb,0xdbd,0xdbd,0xdc0,0xdc6,0xdca,0xdca,0xdcf,0xdd4,0xdd6,0xdd6,0xdd8,0xddf,0xdf2,0xdf3,0xe01,0xe3a,0xe40,0xe4e,0xe50,0xe59,0xe81,0xe82,0xe84,0xe84,0xe87,0xe88,0xe8a,0xe8a,0xe8d,0xe8d,0xe94,0xe97,0xe99,0xe9f,0xea1,0xea3,0xea5,0xea5,0xea7,0xea7,0xeaa,0xeab,0xead,0xeb9,0xebb,0xebd,0xec0,0xec4,0xec6,0xec6,0xec8,0xecd,0xed0,0xed9,0xedc,0xedf,0xf00,0xf00,0xf18,0xf19,0xf20,0xf29,0xf35,0xf35,0xf37,0xf37,0xf39,0xf39,0xf3e,0xf47,0xf49,0xf6c,0xf71,0xf84,0xf86,0xf97,0xf99,0xfbc,0xfc6,0xfc6,0x1000,0x1049,0x1050,0x109d,0x10a0,0x10c5,0x10c7,0x10c7,0x10cd,0x10cd,0x10d0,0x10fa,0x10fc,0x1248,0x124a,0x124d,0x1250,0x1256,0x1258,0x1258,0x125a,0x125d,0x1260,0x1288,0x128a,0x128d,0x1290,0x12b0,0x12b2,0x12b5,0x12b8,0x12be,0x12c0,0x12c0,0x12c2,0x12c5,0x12c8,0x12d6,0x12d8,0x1310,0x1312,0x1315,0x1318,0x135a,0x135d,0x135f,0x1380,0x138f,0x13a0,0x13f4,0x1401,0x166c,0x166f,0x167f,0x1681,0x169a,0x16a0,0x16ea,0x16ee,0x16f0,0x1700,0x170c,0x170e,0x1714,0x1720,0x1734,0x1740,0x1753,0x1760,0x176c,0x176e,0x1770,0x1772,0x1773,0x1780,0x17d3,0x17d7,0x17d7,0x17dc,0x17dd,0x17e0,0x17e9,0x180b,0x180d,0x1810,0x1819,0x1820,0x1877,0x1880,0x18aa,0x18b0,0x18f5,0x1900,0x191c,0x1920,0x192b,0x1930,0x193b,0x1946,0x196d,0x1970,0x1974,0x1980,0x19ab,0x19b0,0x19c9,0x19d0,0x19d9,0x1a00,0x1a1b,0x1a20,0x1a5e,0x1a60,0x1a7c,0x1a7f,0x1a89,0x1a90,0x1a99,0x1aa7,0x1aa7,0x1b00,0x1b4b,0x1b50,0x1b59,0x1b6b,0x1b73,0x1b80,0x1bf3,0x1c00,0x1c37,0x1c40,0x1c49,0x1c4d,0x1c7d,0x1cd0,0x1cd2,0x1cd4,0x1cf6,0x1d00,0x1de6,0x1dfc,0x1f15,0x1f18,0x1f1d,0x1f20,0x1f45,0x1f48,0x1f4d,0x1f50,0x1f57,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f7d,0x1f80,0x1fb4,0x1fb6,0x1fbc,0x1fbe,0x1fbe,0x1fc2,0x1fc4,0x1fc6,0x1fcc,0x1fd0,0x1fd3,0x1fd6,0x1fdb,0x1fe0,0x1fec,0x1ff2,0x1ff4,0x1ff6,0x1ffc,0x200c,0x200d,0x203f,0x2040,0x2054,0x2054,0x2071,0x2071,0x207f,0x207f,0x2090,0x209c,0x20d0,0x20dc,0x20e1,0x20e1,0x20e5,0x20f0,0x2102,0x2102,0x2107,0x2107,0x210a,0x2113,0x2115,0x2115,0x2119,0x211d,0x2124,0x2124,0x2126,0x2126,0x2128,0x2128,0x212a,0x212d,0x212f,0x2139,0x213c,0x213f,0x2145,0x2149,0x214e,0x214e,0x2160,0x2188,0x2c00,0x2c2e,0x2c30,0x2c5e,0x2c60,0x2ce4,0x2ceb,0x2cf3,0x2d00,0x2d25,0x2d27,0x2d27,0x2d2d,0x2d2d,0x2d30,0x2d67,0x2d6f,0x2d6f,0x2d7f,0x2d96,0x2da0,0x2da6,0x2da8,0x2dae,0x2db0,0x2db6,0x2db8,0x2dbe,0x2dc0,0x2dc6,0x2dc8,0x2dce,0x2dd0,0x2dd6,0x2dd8,0x2dde,0x2de0,0x2dff,0x2e2f,0x2e2f,0x3005,0x3007,0x3021,0x302f,0x3031,0x3035,0x3038,0x303c,0x3041,0x3096,0x3099,0x309a,0x309d,0x309f,0x30a1,0x30fa,0x30fc,0x30ff,0x3105,0x312d,0x3131,0x318e,0x31a0,0x31ba,0x31f0,0x31ff,0x3400,0x4db5,0x4e00,0x9fcc,0xa000,0xa48c,0xa4d0,0xa4fd,0xa500,0xa60c,0xa610,0xa62b,0xa640,0xa66f,0xa674,0xa67d,0xa67f,0xa697,0xa69f,0xa6f1,0xa717,0xa71f,0xa722,0xa788,0xa78b,0xa78e,0xa790,0xa793,0xa7a0,0xa7aa,0xa7f8,0xa827,0xa840,0xa873,0xa880,0xa8c4,0xa8d0,0xa8d9,0xa8e0,0xa8f7,0xa8fb,0xa8fb,0xa900,0xa92d,0xa930,0xa953,0xa960,0xa97c,0xa980,0xa9c0,0xa9cf,0xa9d9,0xaa00,0xaa36,0xaa40,0xaa4d,0xaa50,0xaa59,0xaa60,0xaa76,0xaa7a,0xaa7b,0xaa80,0xaac2,0xaadb,0xaadd,0xaae0,0xaaef,0xaaf2,0xaaf6,0xab01,0xab06,0xab09,0xab0e,0xab11,0xab16,0xab20,0xab26,0xab28,0xab2e,0xabc0,0xabea,0xabec,0xabed,0xabf0,0xabf9,0xac00,0xd7a3,0xd7b0,0xd7c6,0xd7cb,0xd7fb,0xf900,0xfa6d,0xfa70,0xfad9,0xfb00,0xfb06,0xfb13,0xfb17,0xfb1d,0xfb28,0xfb2a,0xfb36,0xfb38,0xfb3c,0xfb3e,0xfb3e,0xfb40,0xfb41,0xfb43,0xfb44,0xfb46,0xfbb1,0xfbd3,0xfd3d,0xfd50,0xfd8f,0xfd92,0xfdc7,0xfdf0,0xfdfb,0xfe00,0xfe0f,0xfe20,0xfe26,0xfe33,0xfe34,0xfe4d,0xfe4f,0xfe70,0xfe74,0xfe76,0xfefc,0xff10,0xff19,0xff21,0xff3a,0xff3f,0xff3f,0xff41,0xff5a,0xff66,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc];function _0x37b748(_0x368e5a,_0x146f6e){if(_0x368e5a<_0x146f6e[0x0])return!0x1;for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x1e')];_0x55ff7e+0x1<_0x1adc17;){if(_0x2327c6=_0x55ff7e+(_0x1adc17-_0x55ff7e)/0x2,_0x146f6e[_0x2327c6-=_0x2327c6%0x2]<=_0x368e5a&&_0x368e5a<=_0x146f6e[_0x2327c6+0x1])return!0x0;_0x368e5a<_0x146f6e[_0x2327c6]?_0x1adc17=_0x2327c6:_0x55ff7e=_0x2327c6+0x2;}return!0x1;}function _0x55a4bd(_0x368e5a,_0x146f6e){return _0x37b748(_0x368e5a,_0x146f6e>=0x1?_0x326eae:_0x2c9ec9);}_0x368e5a[_0x1a4e('0x22b4')]=_0x55a4bd;var _0x202442,_0x1465e4=(_0x202442=[],_0xf79407[_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){_0x202442[_0x368e5a]=_0x146f6e;}),_0x202442);function _0x14429a(_0x368e5a){for(var _0x146f6e=new Array(),_0x2327c6=0x0,_0x55ff7e=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];){var _0x1adc17=_0x368e5a['charCodeAt'](_0x2327c6);switch(_0x2327c6++,_0x1adc17){case 0xd:0xa===_0x368e5a['charCodeAt'](_0x2327c6)&&_0x2327c6++;case 0xa:_0x146f6e[_0x1a4e('0x46')](_0x55ff7e),_0x55ff7e=_0x2327c6;break;default:_0x1adc17>0x7f&&_0x269dc7(_0x1adc17)&&(_0x146f6e[_0x1a4e('0x46')](_0x55ff7e),_0x55ff7e=_0x2327c6);}}return _0x146f6e[_0x1a4e('0x46')](_0x55ff7e),_0x146f6e;}function _0x4dcd19(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){(_0x2327c6<0x0||_0x2327c6>=_0x146f6e[_0x1a4e('0x1e')])&&(_0xf79407?_0x2327c6=_0x2327c6<0x0?0x0:_0x2327c6>=_0x146f6e['length']?_0x146f6e[_0x1a4e('0x1e')]-0x1:_0x2327c6:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x22b5')+_0x2327c6+_0x1a4e('0x22b6')+_0x146f6e[_0x1a4e('0x1e')]+_0x1a4e('0x22b7')+(void 0x0!==_0x1adc17?_0x368e5a[_0x1a4e('0x170a')](_0x146f6e,_0x14429a(_0x1adc17)):_0x1a4e('0x22af'))));var _0x2c9ec9=_0x146f6e[_0x2327c6]+_0x55ff7e;return _0xf79407?_0x2c9ec9>_0x146f6e[_0x2327c6+0x1]?_0x146f6e[_0x2327c6+0x1]:'string'==typeof _0x1adc17&&_0x2c9ec9>_0x1adc17[_0x1a4e('0x1e')]?_0x1adc17[_0x1a4e('0x1e')]:_0x2c9ec9:(_0x2327c6<_0x146f6e['length']-0x1?_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x2c9ec9<_0x146f6e[_0x2327c6+0x1]):void 0x0!==_0x1adc17&&_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2c9ec9<=_0x1adc17[_0x1a4e('0x1e')]),_0x2c9ec9);}function _0x198b87(_0x368e5a){return _0x368e5a[_0x1a4e('0x22b8')]||(_0x368e5a['lineMap']=_0x14429a(_0x368e5a[_0x1a4e('0xe04')]));}function _0x240410(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1725')](_0x146f6e,_0x2327c6,_0x368e5a['identity'],_0x368e5a[_0x1a4e('0x166e')]);return _0x55ff7e<0x0&&(_0x55ff7e=~_0x55ff7e-0x1,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](-0x1!==_0x55ff7e,_0x1a4e('0x22b9'))),{'line':_0x55ff7e,'character':_0x2327c6-_0x146f6e[_0x55ff7e]};}function _0x193514(_0x368e5a){return _0x1e9550(_0x368e5a)||_0x269dc7(_0x368e5a);}function _0x1e9550(_0x368e5a){return 0x20===_0x368e5a||0x9===_0x368e5a||0xb===_0x368e5a||0xc===_0x368e5a||0xa0===_0x368e5a||0x85===_0x368e5a||0x1680===_0x368e5a||_0x368e5a>=0x2000&&_0x368e5a<=0x200b||0x202f===_0x368e5a||0x205f===_0x368e5a||0x3000===_0x368e5a||0xfeff===_0x368e5a;}function _0x269dc7(_0x368e5a){return 0xa===_0x368e5a||0xd===_0x368e5a||0x2028===_0x368e5a||0x2029===_0x368e5a;}function _0x4b0730(_0x368e5a){return _0x368e5a>=0x30&&_0x368e5a<=0x39;}function _0x11c40a(_0x368e5a){return _0x368e5a>=0x30&&_0x368e5a<=0x37;}_0x368e5a[_0x1a4e('0x22ba')]=function(_0x368e5a){return _0x1465e4[_0x368e5a];},_0x368e5a[_0x1a4e('0x22bb')]=function(_0x368e5a){return _0xf79407[_0x1a4e('0x179')](_0x368e5a);},_0x368e5a[_0x1a4e('0x22bc')]=_0x14429a,_0x368e5a[_0x1a4e('0x22bd')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x4dcd19(_0x198b87(_0x368e5a),_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0xe04')]);},_0x368e5a[_0x1a4e('0x22be')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x4dcd19(_0x198b87(_0x368e5a),_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0xe04')],!0x0);},_0x368e5a['computePositionOfLineAndCharacter']=_0x4dcd19,_0x368e5a[_0x1a4e('0x22bf')]=_0x198b87,_0x368e5a[_0x1a4e('0x22c0')]=_0x240410,_0x368e5a[_0x1a4e('0x22c1')]=function(_0x368e5a,_0x146f6e){return _0x240410(_0x198b87(_0x368e5a),_0x146f6e);},_0x368e5a[_0x1a4e('0x22c2')]=_0x193514,_0x368e5a['isWhiteSpaceSingleLine']=_0x1e9550,_0x368e5a[_0x1a4e('0x22c3')]=_0x269dc7,_0x368e5a[_0x1a4e('0x22c4')]=_0x11c40a,_0x368e5a[_0x1a4e('0x22c5')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x913')](_0x146f6e);switch(_0x2327c6){case 0xd:case 0xa:case 0x9:case 0xb:case 0xc:case 0x20:case 0x2f:case 0x3c:case 0x7c:case 0x3d:case 0x3e:return!0x0;case 0x23:return 0x0===_0x146f6e;default:return _0x2327c6>0x7f;}},_0x368e5a[_0x1a4e('0x22c6')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(void 0x0===_0x1adc17&&(_0x1adc17=!0x1),_0x368e5a['positionIsSynthesized'](_0x2327c6))return _0x2327c6;for(;;){var _0xf79407=_0x146f6e['charCodeAt'](_0x2327c6);switch(_0xf79407){case 0xd:0xa===_0x146f6e[_0x1a4e('0x913')](_0x2327c6+0x1)&&_0x2327c6++;case 0xa:if(_0x2327c6++,_0x55ff7e)return _0x2327c6;continue;case 0x9:case 0xb:case 0xc:case 0x20:_0x2327c6++;continue;case 0x2f:if(_0x1adc17)break;if(0x2f===_0x146f6e['charCodeAt'](_0x2327c6+0x1)){for(_0x2327c6+=0x2;_0x2327c6<_0x146f6e[_0x1a4e('0x1e')]&&!_0x269dc7(_0x146f6e['charCodeAt'](_0x2327c6));)_0x2327c6++;continue;}if(0x2a===_0x146f6e[_0x1a4e('0x913')](_0x2327c6+0x1)){for(_0x2327c6+=0x2;_0x2327c6<_0x146f6e[_0x1a4e('0x1e')];){if(0x2a===_0x146f6e[_0x1a4e('0x913')](_0x2327c6)&&0x2f===_0x146f6e[_0x1a4e('0x913')](_0x2327c6+0x1)){_0x2327c6+=0x2;break;}_0x2327c6++;}continue;}break;case 0x3c:case 0x7c:case 0x3d:case 0x3e:if(_0x46021c(_0x146f6e,_0x2327c6)){_0x2327c6=_0x3e3bea(_0x146f6e,_0x2327c6);continue;}break;case 0x23:if(0x0===_0x2327c6&&_0x5973d8(_0x146f6e,_0x2327c6)){_0x2327c6=_0x3a6978(_0x146f6e,_0x2327c6);continue;}break;default:if(_0xf79407>0x7f&&_0x193514(_0xf79407)){_0x2327c6++;continue;}}return _0x2327c6;}};var _0x23dfea=_0x1a4e('0x22c7')[_0x1a4e('0x1e')];function _0x46021c(_0x146f6e,_0x2327c6){if(_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2327c6>=0x0),0x0===_0x2327c6||_0x269dc7(_0x146f6e[_0x1a4e('0x913')](_0x2327c6-0x1))){var _0x55ff7e=_0x146f6e[_0x1a4e('0x913')](_0x2327c6);if(_0x2327c6+_0x23dfea<_0x146f6e[_0x1a4e('0x1e')]){for(var _0x1adc17=0x0;_0x1adc17<_0x23dfea;_0x1adc17++)if(_0x146f6e[_0x1a4e('0x913')](_0x2327c6+_0x1adc17)!==_0x55ff7e)return!0x1;return 0x3d===_0x55ff7e||0x20===_0x146f6e[_0x1a4e('0x913')](_0x2327c6+_0x23dfea);}}return!0x1;}function _0x3e3bea(_0x146f6e,_0x2327c6,_0x55ff7e){_0x55ff7e&&_0x55ff7e(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22c8')],_0x2327c6,_0x23dfea);var _0x1adc17=_0x146f6e[_0x1a4e('0x913')](_0x2327c6),_0xf79407=_0x146f6e[_0x1a4e('0x1e')];if(0x3c===_0x1adc17||0x3e===_0x1adc17)for(;_0x2327c6<_0xf79407&&!_0x269dc7(_0x146f6e[_0x1a4e('0x913')](_0x2327c6));)_0x2327c6++;else for(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x7c===_0x1adc17||0x3d===_0x1adc17);_0x2327c6<_0xf79407;){var _0x2c9ec9=_0x146f6e['charCodeAt'](_0x2327c6);if((0x3d===_0x2c9ec9||0x3e===_0x2c9ec9)&&_0x2c9ec9!==_0x1adc17&&_0x46021c(_0x146f6e,_0x2327c6))break;_0x2327c6++;}return _0x2327c6;}var _0x2f628a=/^#!.*/;function _0x5973d8(_0x146f6e,_0x2327c6){return _0x368e5a['Debug'][_0x1a4e('0xba0')](0x0===_0x2327c6),_0x2f628a[_0x1a4e('0x8d0')](_0x146f6e);}function _0x3a6978(_0x368e5a,_0x146f6e){return _0x146f6e+=_0x2f628a['exec'](_0x368e5a)[0x0][_0x1a4e('0x1e')];}function _0x21f62e(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x37b748=!0x1,_0x55a4bd=_0x55ff7e||0x0===_0x2327c6,_0x202442=_0x2c9ec9;_0x29794a:for(;_0x2327c6>=0x0&&_0x2327c6<_0x146f6e[_0x1a4e('0x1e')];){var _0x1465e4=_0x146f6e[_0x1a4e('0x913')](_0x2327c6);switch(_0x1465e4){case 0xd:0xa===_0x146f6e['charCodeAt'](_0x2327c6+0x1)&&_0x2327c6++;case 0xa:if(_0x2327c6++,_0x55ff7e)break _0x29794a;_0x55a4bd=!0x0,_0x37b748&&(_0x56674b=!0x0);continue;case 0x9:case 0xb:case 0xc:case 0x20:_0x2327c6++;continue;case 0x2f:var _0x14429a=_0x146f6e[_0x1a4e('0x913')](_0x2327c6+0x1),_0x4dcd19=!0x1;if(0x2f===_0x14429a||0x2a===_0x14429a){var _0x198b87=0x2f===_0x14429a?0x2:0x3,_0x240410=_0x2327c6;if(_0x2327c6+=0x2,0x2f===_0x14429a)for(;_0x2327c6<_0x146f6e[_0x1a4e('0x1e')];){if(_0x269dc7(_0x146f6e[_0x1a4e('0x913')](_0x2327c6))){_0x4dcd19=!0x0;break;}_0x2327c6++;}else for(;_0x2327c6<_0x146f6e[_0x1a4e('0x1e')];){if(0x2a===_0x146f6e[_0x1a4e('0x913')](_0x2327c6)&&0x2f===_0x146f6e['charCodeAt'](_0x2327c6+0x1)){_0x2327c6+=0x2;break;}_0x2327c6++;}if(_0x55a4bd){if(_0x37b748&&(_0x202442=_0x1adc17(_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0xf79407,_0x202442),!_0x368e5a&&_0x202442))return _0x202442;_0x420b32=_0x240410,_0x1b06ad=_0x2327c6,_0x326eae=_0x198b87,_0x56674b=_0x4dcd19,_0x37b748=!0x0;}continue;}break _0x29794a;default:if(_0x1465e4>0x7f&&_0x193514(_0x1465e4)){_0x37b748&&_0x269dc7(_0x1465e4)&&(_0x56674b=!0x0),_0x2327c6++;continue;}break _0x29794a;}}return _0x37b748&&(_0x202442=_0x1adc17(_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0xf79407,_0x202442)),_0x202442;}function _0x42d38f(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x21f62e(!0x0,_0x368e5a,_0x146f6e,!0x1,_0x2327c6,_0x55ff7e,_0x1adc17);}function _0x370c0c(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x21f62e(!0x0,_0x368e5a,_0x146f6e,!0x0,_0x2327c6,_0x55ff7e,_0x1adc17);}function _0x2f1bce(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0xf79407||(_0xf79407=[]),_0xf79407[_0x1a4e('0x46')]({'kind':_0x2327c6,'pos':_0x368e5a,'end':_0x146f6e,'hasTrailingNewLine':_0x55ff7e}),_0xf79407;}function _0xbb2288(_0x368e5a,_0x146f6e){return _0x368e5a>=0x41&&_0x368e5a<=0x5a||_0x368e5a>=0x61&&_0x368e5a<=0x7a||0x24===_0x368e5a||0x5f===_0x368e5a||_0x368e5a>0x7f&&_0x55a4bd(_0x368e5a,_0x146f6e);}function _0x3c658f(_0x368e5a,_0x146f6e){return _0x368e5a>=0x41&&_0x368e5a<=0x5a||_0x368e5a>=0x61&&_0x368e5a<=0x7a||_0x368e5a>=0x30&&_0x368e5a<=0x39||0x24===_0x368e5a||0x5f===_0x368e5a||_0x368e5a>0x7f&&function(_0x368e5a,_0x146f6e){return _0x37b748(_0x368e5a,_0x146f6e>=0x1?_0x56674b:_0x1b06ad);}(_0x368e5a,_0x146f6e);}_0x368e5a[_0x1a4e('0x22c9')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x21f62e(!0x1,_0x368e5a,_0x146f6e,!0x1,_0x2327c6,_0x55ff7e);},_0x368e5a[_0x1a4e('0x22ca')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x21f62e(!0x1,_0x368e5a,_0x146f6e,!0x0,_0x2327c6,_0x55ff7e);},_0x368e5a['reduceEachLeadingCommentRange']=_0x42d38f,_0x368e5a[_0x1a4e('0x22cb')]=_0x370c0c,_0x368e5a[_0x1a4e('0x22cc')]=function(_0x368e5a,_0x146f6e){return _0x42d38f(_0x368e5a,_0x146f6e,_0x2f1bce,void 0x0,void 0x0);},_0x368e5a[_0x1a4e('0x22cd')]=function(_0x368e5a,_0x146f6e){return _0x370c0c(_0x368e5a,_0x146f6e,_0x2f1bce,void 0x0,void 0x0);},_0x368e5a[_0x1a4e('0x22ce')]=function(_0x368e5a){var _0x146f6e=_0x2f628a[_0x1a4e('0x2af')](_0x368e5a);if(_0x146f6e)return _0x146f6e[0x0];},_0x368e5a[_0x1a4e('0x22cf')]=_0xbb2288,_0x368e5a[_0x1a4e('0x22d0')]=_0x3c658f,_0x368e5a['isIdentifierText']=function(_0x368e5a,_0x146f6e){if(!_0xbb2288(_0x368e5a['charCodeAt'](0x0),_0x146f6e))return!0x1;for(var _0x2327c6=0x1;_0x2327c6<_0x368e5a['length'];_0x2327c6++)if(!_0x3c658f(_0x368e5a[_0x1a4e('0x913')](_0x2327c6),_0x146f6e))return!0x1;return!0x0;},_0x368e5a[_0x1a4e('0x22d1')]=function(_0x146f6e,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){void 0x0===_0xf79407&&(_0xf79407=0x0);var _0x56674b,_0x37b748,_0x55a4bd,_0x202442,_0x1465e4,_0x14429a,_0x4dcd19,_0x198b87=_0x2c9ec9,_0x240410=0x0;return _0x4e8cf7(_0x198b87,_0x1b06ad,_0x326eae),{'getStartPos':function(){return _0x55a4bd;},'getTextPos':function(){return _0x56674b;},'getToken':function(){return _0x1465e4;},'getTokenPos':function(){return _0x202442;},'getTokenText':function(){return _0x198b87[_0x1a4e('0x281')](_0x202442,_0x56674b);},'getTokenValue':function(){return _0x14429a;},'hasExtendedUnicodeEscape':function(){return 0x0!=(0x8&_0x4dcd19);},'hasPrecedingLineBreak':function(){return 0x0!=(0x1&_0x4dcd19);},'isIdentifier':function(){return 0x48===_0x1465e4||_0x1465e4>0x6c;},'isReservedWord':function(){return _0x1465e4>=0x49&&_0x1465e4<=0x6c;},'isUnterminated':function(){return 0x0!=(0x4&_0x4dcd19);},'getTokenFlags':function(){return _0x4dcd19;},'reScanGreaterToken':function(){if(0x1e===_0x1465e4){if(0x3e===_0x198b87[_0x1a4e('0x913')](_0x56674b))return 0x3e===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x2)?(_0x56674b+=0x3,_0x1465e4=0x44):(_0x56674b+=0x2,_0x1465e4=0x30):0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x43):(_0x56674b++,_0x1465e4=0x2f);if(0x3d===_0x198b87['charCodeAt'](_0x56674b))return _0x56674b++,_0x1465e4=0x20;}return _0x1465e4;},'reScanSlashToken':function(){if(0x2a===_0x1465e4||0x40===_0x1465e4){for(var _0x2327c6=_0x202442+0x1,_0x55ff7e=!0x1,_0x1adc17=!0x1;;){if(_0x2327c6>=_0x37b748){_0x4dcd19|=0x4,_0x23dfea(_0x368e5a['Diagnostics'][_0x1a4e('0x22d2')]);break;}var _0xf79407=_0x198b87['charCodeAt'](_0x2327c6);if(_0x269dc7(_0xf79407)){_0x4dcd19|=0x4,_0x23dfea(_0x368e5a['Diagnostics'][_0x1a4e('0x22d2')]);break;}if(_0x55ff7e)_0x55ff7e=!0x1;else{if(0x2f===_0xf79407&&!_0x1adc17){_0x2327c6++;break;}0x5b===_0xf79407?_0x1adc17=!0x0:0x5c===_0xf79407?_0x55ff7e=!0x0:0x5d===_0xf79407&&(_0x1adc17=!0x1);}_0x2327c6++;}for(;_0x2327c6<_0x37b748&&_0x3c658f(_0x198b87[_0x1a4e('0x913')](_0x2327c6),_0x146f6e);)_0x2327c6++;_0x56674b=_0x2327c6,_0x14429a=_0x198b87[_0x1a4e('0x281')](_0x202442,_0x56674b),_0x1465e4=0xd;}return _0x1465e4;},'reScanTemplateToken':function(){return _0x368e5a['Debug'][_0x1a4e('0xba0')](0x13===_0x1465e4,_0x1a4e('0x22d3')),_0x56674b=_0x202442,_0x1465e4=_0x18680f();},'scanJsxIdentifier':function(){if(_0x2327c6(_0x1465e4)){for(var _0x368e5a=_0x56674b;_0x56674b<_0x37b748;){var _0x55ff7e=_0x198b87['charCodeAt'](_0x56674b);if(0x2d!==_0x55ff7e&&(_0x368e5a===_0x56674b?!_0xbb2288(_0x55ff7e,_0x146f6e):!_0x3c658f(_0x55ff7e,_0x146f6e)))break;_0x56674b++;}_0x14429a+=_0x198b87['substring'](_0x368e5a,_0x56674b);}return _0x1465e4;},'scanJsxAttributeValue':function(){switch(_0x55a4bd=_0x56674b,_0x198b87[_0x1a4e('0x913')](_0x56674b)){case 0x22:case 0x27:return _0x14429a=_0x44e92a(!0x0),_0x1465e4=0xa;default:return _0x3b0586();}},'reScanJsxToken':function(){return _0x56674b=_0x202442=_0x55a4bd,_0x1465e4=_0x2cd54a();},'scanJsxToken':_0x2cd54a,'scanJSDocToken':function(){if(_0x55a4bd=_0x202442=_0x56674b,_0x4dcd19=0x0,_0x56674b>=_0x37b748)return _0x1465e4=0x1;var _0x368e5a=_0x198b87[_0x1a4e('0x913')](_0x56674b);switch(_0x56674b++,_0x368e5a){case 0x9:case 0xb:case 0xc:case 0x20:for(;_0x56674b<_0x37b748&&_0x1e9550(_0x198b87['charCodeAt'](_0x56674b));)_0x56674b++;return _0x1465e4=0x5;case 0x40:return _0x1465e4=0x3a;case 0xa:case 0xd:return _0x4dcd19|=0x1,_0x1465e4=0x4;case 0x2a:return _0x1465e4=0x28;case 0x7b:return _0x1465e4=0x12;case 0x7d:return _0x1465e4=0x13;case 0x5b:return _0x1465e4=0x16;case 0x5d:return _0x1465e4=0x17;case 0x3c:return _0x1465e4=0x1c;case 0x3d:return _0x1465e4=0x3b;case 0x2c:return _0x1465e4=0x1b;case 0x2e:return _0x1465e4=0x18;case 0x60:for(;_0x56674b<_0x37b748&&0x60!==_0x198b87[_0x1a4e('0x913')](_0x56674b);)_0x56674b++;return _0x14429a=_0x198b87[_0x1a4e('0x281')](_0x202442+0x1,_0x56674b),_0x56674b++,_0x1465e4=0xe;}if(_0xbb2288(_0x368e5a,0x6)){for(;_0x3c658f(_0x198b87[_0x1a4e('0x913')](_0x56674b),0x6)&&_0x56674b<_0x37b748;)_0x56674b++;return _0x14429a=_0x198b87['substring'](_0x202442,_0x56674b),_0x1465e4=_0x20625f();}return _0x1465e4=0x0;},'scan':_0x3b0586,'getText':function(){return _0x198b87;},'setText':_0x4e8cf7,'setScriptTarget':function(_0x368e5a){_0x146f6e=_0x368e5a;},'setLanguageVariant':function(_0x368e5a){_0xf79407=_0x368e5a;},'setOnError':function(_0x368e5a){_0x420b32=_0x368e5a;},'setTextPos':_0x10e556,'setInJSDocType':function(_0x368e5a){_0x240410+=_0x368e5a?0x1:-0x1;},'tryScan':function(_0x368e5a){return _0x2a9dac(_0x368e5a,!0x1);},'lookAhead':function(_0x368e5a){return _0x2a9dac(_0x368e5a,!0x0);},'scanRange':function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x37b748,_0x1adc17=_0x56674b,_0xf79407=_0x55a4bd,_0x2c9ec9=_0x202442,_0x420b32=_0x1465e4,_0x1b06ad=_0x14429a,_0x326eae=_0x4dcd19;_0x4e8cf7(_0x198b87,_0x368e5a,_0x146f6e);var _0x240410=_0x2327c6();return _0x37b748=_0x55ff7e,_0x56674b=_0x1adc17,_0x55a4bd=_0xf79407,_0x202442=_0x2c9ec9,_0x1465e4=_0x420b32,_0x14429a=_0x1b06ad,_0x4dcd19=_0x326eae,_0x240410;}};function _0x23dfea(_0x368e5a,_0x146f6e,_0x2327c6){if(void 0x0===_0x146f6e&&(_0x146f6e=_0x56674b),_0x420b32){var _0x55ff7e=_0x56674b;_0x56674b=_0x146f6e,_0x420b32(_0x368e5a,_0x2327c6||0x0),_0x56674b=_0x55ff7e;}}function _0x2f628a(){for(var _0x146f6e=_0x56674b,_0x2327c6=!0x1,_0x55ff7e=!0x1,_0x1adc17='';;){var _0xf79407=_0x198b87[_0x1a4e('0x913')](_0x56674b);if(0x5f!==_0xf79407){if(!_0x4b0730(_0xf79407))break;_0x2327c6=!0x0,_0x55ff7e=!0x1,_0x56674b++;}else _0x4dcd19|=0x200,_0x2327c6?(_0x2327c6=!0x1,_0x55ff7e=!0x0,_0x1adc17+=_0x198b87[_0x1a4e('0x281')](_0x146f6e,_0x56674b)):_0x23dfea(_0x55ff7e?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d4')]:_0x368e5a['Diagnostics']['Numeric_separators_are_not_allowed_here'],_0x56674b,0x1),_0x146f6e=++_0x56674b;}return 0x5f===_0x198b87[_0x1a4e('0x913')](_0x56674b-0x1)&&_0x23dfea(_0x368e5a[_0x1a4e('0x167d')]['Numeric_separators_are_not_allowed_here'],_0x56674b-0x1,0x1),_0x1adc17+_0x198b87[_0x1a4e('0x281')](_0x146f6e,_0x56674b);}function _0x21f62e(){var _0x146f6e,_0x2327c6,_0x55ff7e=_0x56674b,_0x1adc17=_0x2f628a();0x2e===_0x198b87[_0x1a4e('0x913')](_0x56674b)&&(_0x56674b++,_0x146f6e=_0x2f628a());var _0xf79407,_0x2c9ec9=_0x56674b;if(0x45===_0x198b87['charCodeAt'](_0x56674b)||0x65===_0x198b87['charCodeAt'](_0x56674b)){_0x56674b++,_0x4dcd19|=0x10,0x2b!==_0x198b87[_0x1a4e('0x913')](_0x56674b)&&0x2d!==_0x198b87[_0x1a4e('0x913')](_0x56674b)||_0x56674b++;var _0x420b32=_0x56674b,_0x1b06ad=_0x2f628a();_0x1b06ad?(_0x2327c6=_0x198b87[_0x1a4e('0x281')](_0x2c9ec9,_0x420b32)+_0x1b06ad,_0x2c9ec9=_0x56674b):_0x23dfea(_0x368e5a['Diagnostics']['Digit_expected']);}return 0x200&_0x4dcd19?(_0xf79407=_0x1adc17,_0x146f6e&&(_0xf79407+='.'+_0x146f6e),_0x2327c6&&(_0xf79407+=_0x2327c6)):_0xf79407=_0x198b87['substring'](_0x55ff7e,_0x2c9ec9),void 0x0!==_0x146f6e||0x10&_0x4dcd19?{'type':0x8,'value':''+ +_0xf79407}:(_0x14429a=_0xf79407,{'type':_0x393d07(),'value':_0x14429a});}function _0x42d38f(){for(var _0x368e5a=_0x56674b;_0x11c40a(_0x198b87[_0x1a4e('0x913')](_0x56674b));)_0x56674b++;return+_0x198b87[_0x1a4e('0x281')](_0x368e5a,_0x56674b);}function _0x370c0c(_0x368e5a,_0x146f6e){var _0x2327c6=_0x102ee0(_0x368e5a,!0x1,_0x146f6e);return _0x2327c6?parseInt(_0x2327c6,0x10):-0x1;}function _0x2f1bce(_0x368e5a,_0x146f6e){return _0x102ee0(_0x368e5a,!0x0,_0x146f6e);}function _0x102ee0(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=[],_0xf79407=!0x1,_0x2c9ec9=!0x1;_0x1adc17['length']<_0x146f6e||_0x2327c6;){var _0x420b32=_0x198b87[_0x1a4e('0x913')](_0x56674b);if(_0x55ff7e&&0x5f===_0x420b32)_0x4dcd19|=0x200,_0xf79407?(_0xf79407=!0x1,_0x2c9ec9=!0x0):_0x23dfea(_0x2c9ec9?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d4')]:_0x368e5a['Diagnostics'][_0x1a4e('0x22d5')],_0x56674b,0x1),_0x56674b++;else{if(_0xf79407=_0x55ff7e,_0x420b32>=0x41&&_0x420b32<=0x46)_0x420b32+=0x20;else if(!(_0x420b32>=0x30&&_0x420b32<=0x39||_0x420b32>=0x61&&_0x420b32<=0x66))break;_0x1adc17[_0x1a4e('0x46')](_0x420b32),_0x56674b++,_0x2c9ec9=!0x1;}}return _0x1adc17[_0x1a4e('0x1e')]<_0x146f6e&&(_0x1adc17=[]),0x5f===_0x198b87[_0x1a4e('0x913')](_0x56674b-0x1)&&_0x23dfea(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d5')],_0x56674b-0x1,0x1),String[_0x1a4e('0x8fe')][_0x1a4e('0x8b')](String,_0x1adc17);}function _0x44e92a(_0x146f6e){void 0x0===_0x146f6e&&(_0x146f6e=!0x1);for(var _0x2327c6=_0x198b87['charCodeAt'](_0x56674b),_0x55ff7e='',_0x1adc17=++_0x56674b;;){if(_0x56674b>=_0x37b748){_0x55ff7e+=_0x198b87[_0x1a4e('0x281')](_0x1adc17,_0x56674b),_0x4dcd19|=0x4,_0x23dfea(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d6')]);break;}var _0xf79407=_0x198b87[_0x1a4e('0x913')](_0x56674b);if(_0xf79407===_0x2327c6){_0x55ff7e+=_0x198b87[_0x1a4e('0x281')](_0x1adc17,_0x56674b),_0x56674b++;break;}if(0x5c!==_0xf79407||_0x146f6e){if(_0x269dc7(_0xf79407)&&!_0x146f6e){_0x55ff7e+=_0x198b87[_0x1a4e('0x281')](_0x1adc17,_0x56674b),_0x4dcd19|=0x4,_0x23dfea(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d6')]);break;}_0x56674b++;}else _0x55ff7e+=_0x198b87[_0x1a4e('0x281')](_0x1adc17,_0x56674b),_0x55ff7e+=_0x7cd177(),_0x1adc17=_0x56674b;}return _0x55ff7e;}function _0x18680f(){for(var _0x146f6e,_0x2327c6=0x60===_0x198b87[_0x1a4e('0x913')](_0x56674b),_0x55ff7e=++_0x56674b,_0x1adc17='';;){if(_0x56674b>=_0x37b748){_0x1adc17+=_0x198b87[_0x1a4e('0x281')](_0x55ff7e,_0x56674b),_0x4dcd19|=0x4,_0x23dfea(_0x368e5a[_0x1a4e('0x167d')]['Unterminated_template_literal']),_0x146f6e=_0x2327c6?0xe:0x11;break;}var _0xf79407=_0x198b87['charCodeAt'](_0x56674b);if(0x60===_0xf79407){_0x1adc17+=_0x198b87[_0x1a4e('0x281')](_0x55ff7e,_0x56674b),_0x56674b++,_0x146f6e=_0x2327c6?0xe:0x11;break;}if(0x24===_0xf79407&&_0x56674b+0x1<_0x37b748&&0x7b===_0x198b87['charCodeAt'](_0x56674b+0x1)){_0x1adc17+=_0x198b87[_0x1a4e('0x281')](_0x55ff7e,_0x56674b),_0x56674b+=0x2,_0x146f6e=_0x2327c6?0xf:0x10;break;}0x5c!==_0xf79407?0xd!==_0xf79407?_0x56674b++:(_0x1adc17+=_0x198b87['substring'](_0x55ff7e,_0x56674b),++_0x56674b<_0x37b748&&0xa===_0x198b87[_0x1a4e('0x913')](_0x56674b)&&_0x56674b++,_0x1adc17+='\x0a',_0x55ff7e=_0x56674b):(_0x1adc17+=_0x198b87[_0x1a4e('0x281')](_0x55ff7e,_0x56674b),_0x1adc17+=_0x7cd177(),_0x55ff7e=_0x56674b);}return _0x368e5a[_0x1a4e('0x1749')]['assert'](void 0x0!==_0x146f6e),_0x14429a=_0x1adc17,_0x146f6e;}function _0x7cd177(){if(++_0x56674b>=_0x37b748)return _0x23dfea(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d7')]),'';var _0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17=_0x198b87['charCodeAt'](_0x56674b);switch(_0x56674b++,_0x1adc17){case 0x30:return'';case 0x62:return'';case 0x74:return'\x09';case 0x6e:return'\x0a';case 0x76:return'\x0b';case 0x66:return'\x0c';case 0x72:return'\x0d';case 0x27:return'\x27';case 0x22:return'\x22';case 0x75:return _0x56674b<_0x37b748&&0x7b===_0x198b87[_0x1a4e('0x913')](_0x56674b)?(_0x4dcd19|=0x8,_0x56674b++,_0x146f6e=_0x2f1bce(0x1,!0x1),_0x2327c6=_0x146f6e?parseInt(_0x146f6e,0x10):-0x1,_0x55ff7e=!0x1,_0x2327c6<0x0?(_0x23dfea(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d8')]),_0x55ff7e=!0x0):_0x2327c6>0x10ffff&&(_0x23dfea(_0x368e5a[_0x1a4e('0x167d')]['An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive']),_0x55ff7e=!0x0),_0x56674b>=_0x37b748?(_0x23dfea(_0x368e5a[_0x1a4e('0x167d')]['Unexpected_end_of_text']),_0x55ff7e=!0x0):0x7d===_0x198b87[_0x1a4e('0x913')](_0x56674b)?_0x56674b++:(_0x23dfea(_0x368e5a['Diagnostics']['Unterminated_Unicode_escape_sequence']),_0x55ff7e=!0x0),_0x55ff7e?'':function(_0x146f6e){if(_0x368e5a['Debug'][_0x1a4e('0xba0')](0x0<=_0x146f6e&&_0x146f6e<=0x10ffff),_0x146f6e<=0xffff)return String['fromCharCode'](_0x146f6e);var _0x2327c6=Math[_0x1a4e('0xb4')]((_0x146f6e-0x10000)/0x400)+0xd800,_0x55ff7e=(_0x146f6e-0x10000)%0x400+0xdc00;return String[_0x1a4e('0x8fe')](_0x2327c6,_0x55ff7e);}(_0x2327c6)):_0x17defc(0x4);case 0x78:return _0x17defc(0x2);case 0xd:_0x56674b<_0x37b748&&0xa===_0x198b87[_0x1a4e('0x913')](_0x56674b)&&_0x56674b++;case 0xa:case 0x2028:case 0x2029:return'';default:return String[_0x1a4e('0x8fe')](_0x1adc17);}}function _0x17defc(_0x146f6e){var _0x2327c6=_0x370c0c(_0x146f6e,!0x1);return _0x2327c6>=0x0?String[_0x1a4e('0x8fe')](_0x2327c6):(_0x23dfea(_0x368e5a[_0x1a4e('0x167d')]['Hexadecimal_digit_expected']),'');}function _0x13cb72(){if(_0x56674b+0x5<_0x37b748&&0x75===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)){var _0x368e5a=_0x56674b;_0x56674b+=0x2;var _0x146f6e=_0x370c0c(0x4,!0x1);return _0x56674b=_0x368e5a,_0x146f6e;}return-0x1;}function _0x515e95(){for(var _0x368e5a='',_0x2327c6=_0x56674b;_0x56674b<_0x37b748;){var _0x55ff7e=_0x198b87[_0x1a4e('0x913')](_0x56674b);if(_0x3c658f(_0x55ff7e,_0x146f6e))_0x56674b++;else{if(0x5c!==_0x55ff7e)break;if(!((_0x55ff7e=_0x13cb72())>=0x0&&_0x3c658f(_0x55ff7e,_0x146f6e)))break;_0x368e5a+=_0x198b87[_0x1a4e('0x281')](_0x2327c6,_0x56674b),_0x368e5a+=String[_0x1a4e('0x8fe')](_0x55ff7e),_0x2327c6=_0x56674b+=0x6;}}return _0x368e5a+=_0x198b87['substring'](_0x2327c6,_0x56674b);}function _0x20625f(){var _0x368e5a=_0x14429a[_0x1a4e('0x1e')];if(_0x368e5a>=0x2&&_0x368e5a<=0xb){var _0x146f6e=_0x14429a[_0x1a4e('0x913')](0x0);if(_0x146f6e>=0x61&&_0x146f6e<=0x7a){var _0x2327c6=_0x1adc17[_0x1a4e('0x179')](_0x14429a);if(void 0x0!==_0x2327c6)return _0x1465e4=_0x2327c6;}}return _0x1465e4=0x48;}function _0x1fb2d2(_0x146f6e){for(var _0x2327c6='',_0x55ff7e=!0x1,_0x1adc17=!0x1;;){var _0xf79407=_0x198b87['charCodeAt'](_0x56674b);if(0x5f!==_0xf79407){if(_0x55ff7e=!0x0,!_0x4b0730(_0xf79407)||_0xf79407-0x30>=_0x146f6e)break;_0x2327c6+=_0x198b87[_0x56674b],_0x56674b++,_0x1adc17=!0x1;}else _0x4dcd19|=0x200,_0x55ff7e?(_0x55ff7e=!0x1,_0x1adc17=!0x0):_0x23dfea(_0x1adc17?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d4')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d5')],_0x56674b,0x1),_0x56674b++;}return 0x5f===_0x198b87[_0x1a4e('0x913')](_0x56674b-0x1)&&_0x23dfea(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22d5')],_0x56674b-0x1,0x1),_0x2327c6;}function _0x393d07(){if(0x6e===_0x198b87['charCodeAt'](_0x56674b))return _0x14429a+='n',0x180&_0x4dcd19&&(_0x14429a=_0x368e5a[_0x1a4e('0x22d9')](_0x14429a)+'n'),_0x56674b++,0x9;var _0x146f6e=0x80&_0x4dcd19?parseInt(_0x14429a[_0x1a4e('0x78')](0x2),0x2):0x100&_0x4dcd19?parseInt(_0x14429a['slice'](0x2),0x8):+_0x14429a;return _0x14429a=''+_0x146f6e,0x8;}function _0x3b0586(){var _0x2327c6;_0x55a4bd=_0x56674b,_0x4dcd19=0x0;for(var _0x1adc17=!0x1;;){if(_0x202442=_0x56674b,_0x56674b>=_0x37b748)return _0x1465e4=0x1;var _0x2c9ec9=_0x198b87['charCodeAt'](_0x56674b);if(0x23===_0x2c9ec9&&0x0===_0x56674b&&_0x5973d8(_0x198b87,_0x56674b)){if(_0x56674b=_0x3a6978(_0x198b87,_0x56674b),_0x55ff7e)continue;return _0x1465e4=0x6;}switch(_0x2c9ec9){case 0xa:case 0xd:if(_0x4dcd19|=0x1,_0x55ff7e){_0x56674b++;continue;}return 0xd===_0x2c9ec9&&_0x56674b+0x1<_0x37b748&&0xa===_0x198b87['charCodeAt'](_0x56674b+0x1)?_0x56674b+=0x2:_0x56674b++,_0x1465e4=0x4;case 0x9:case 0xb:case 0xc:case 0x20:case 0xa0:case 0x1680:case 0x2000:case 0x2001:case 0x2002:case 0x2003:case 0x2004:case 0x2005:case 0x2006:case 0x2007:case 0x2008:case 0x2009:case 0x200a:case 0x200b:case 0x202f:case 0x205f:case 0x3000:case 0xfeff:if(_0x55ff7e){_0x56674b++;continue;}for(;_0x56674b<_0x37b748&&_0x1e9550(_0x198b87[_0x1a4e('0x913')](_0x56674b));)_0x56674b++;return _0x1465e4=0x5;case 0x21:return 0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x2)?(_0x56674b+=0x3,_0x1465e4=0x24):(_0x56674b+=0x2,_0x1465e4=0x22):(_0x56674b++,_0x1465e4=0x34);case 0x22:case 0x27:return _0x14429a=_0x44e92a(),_0x1465e4=0xa;case 0x60:return _0x1465e4=_0x18680f();case 0x25:return 0x3d===_0x198b87['charCodeAt'](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x41):(_0x56674b++,_0x1465e4=0x2b);case 0x26:return 0x26===_0x198b87['charCodeAt'](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x36):0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x45):(_0x56674b++,_0x1465e4=0x31);case 0x28:return _0x56674b++,_0x1465e4=0x14;case 0x29:return _0x56674b++,_0x1465e4=0x15;case 0x2a:if(0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1))return _0x56674b+=0x2,_0x1465e4=0x3e;if(0x2a===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1))return 0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x2)?(_0x56674b+=0x3,_0x1465e4=0x3f):(_0x56674b+=0x2,_0x1465e4=0x29);if(_0x56674b++,_0x240410&&!_0x1adc17&&0x1&_0x4dcd19){_0x1adc17=!0x0;continue;}return _0x1465e4=0x28;case 0x2b:return 0x2b===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x2c):0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x3c):(_0x56674b++,_0x1465e4=0x26);case 0x2c:return _0x56674b++,_0x1465e4=0x1b;case 0x2d:return 0x2d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x2d):0x3d===_0x198b87['charCodeAt'](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x3d):(_0x56674b++,_0x1465e4=0x27);case 0x2e:return _0x4b0730(_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1))?(_0x14429a=_0x21f62e()[_0x1a4e('0x255')],_0x1465e4=0x8):0x2e===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)&&0x2e===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x2)?(_0x56674b+=0x3,_0x1465e4=0x19):(_0x56674b++,_0x1465e4=0x18);case 0x2f:if(0x2f===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)){for(_0x56674b+=0x2;_0x56674b<_0x37b748&&!_0x269dc7(_0x198b87[_0x1a4e('0x913')](_0x56674b));)_0x56674b++;if(_0x55ff7e)continue;return _0x1465e4=0x2;}if(0x2a===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)){_0x56674b+=0x2,0x2a===_0x198b87[_0x1a4e('0x913')](_0x56674b)&&0x2f!==_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)&&(_0x4dcd19|=0x2);for(var _0x420b32=!0x1;_0x56674b<_0x37b748;){var _0x1b06ad=_0x198b87[_0x1a4e('0x913')](_0x56674b);if(0x2a===_0x1b06ad&&0x2f===_0x198b87['charCodeAt'](_0x56674b+0x1)){_0x56674b+=0x2,_0x420b32=!0x0;break;}_0x269dc7(_0x1b06ad)&&(_0x4dcd19|=0x1),_0x56674b++;}if(_0x420b32||_0x23dfea(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22da')]),_0x55ff7e)continue;return _0x420b32||(_0x4dcd19|=0x4),_0x1465e4=0x3;}return 0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x40):(_0x56674b++,_0x1465e4=0x2a);case 0x30:if(_0x56674b+0x2<_0x37b748&&(0x58===_0x198b87['charCodeAt'](_0x56674b+0x1)||0x78===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)))return _0x56674b+=0x2,(_0x14429a=_0x2f1bce(0x1,!0x0))||(_0x23dfea(_0x368e5a['Diagnostics'][_0x1a4e('0x22d8')]),_0x14429a='0'),_0x14429a='0x'+_0x14429a,_0x4dcd19|=0x40,_0x1465e4=_0x393d07();if(_0x56674b+0x2<_0x37b748&&(0x42===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)||0x62===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)))return _0x56674b+=0x2,(_0x14429a=_0x1fb2d2(0x2))||(_0x23dfea(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22db')]),_0x14429a='0'),_0x14429a='0b'+_0x14429a,_0x4dcd19|=0x80,_0x1465e4=_0x393d07();if(_0x56674b+0x2<_0x37b748&&(0x4f===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)||0x6f===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)))return _0x56674b+=0x2,(_0x14429a=_0x1fb2d2(0x8))||(_0x23dfea(_0x368e5a[_0x1a4e('0x167d')]['Octal_digit_expected']),_0x14429a='0'),_0x14429a='0o'+_0x14429a,_0x4dcd19|=0x100,_0x1465e4=_0x393d07();if(_0x56674b+0x1<_0x37b748&&_0x11c40a(_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)))return _0x14429a=''+_0x42d38f(),_0x4dcd19|=0x20,_0x1465e4=0x8;case 0x31:case 0x32:case 0x33:case 0x34:case 0x35:case 0x36:case 0x37:case 0x38:case 0x39:return _0x2327c6=_0x21f62e(),_0x1465e4=_0x2327c6[_0x1a4e('0x40')],_0x14429a=_0x2327c6[_0x1a4e('0x255')],_0x1465e4;case 0x3a:return _0x56674b++,_0x1465e4=0x39;case 0x3b:return _0x56674b++,_0x1465e4=0x1a;case 0x3c:if(_0x46021c(_0x198b87,_0x56674b)){if(_0x56674b=_0x3e3bea(_0x198b87,_0x56674b,_0x23dfea),_0x55ff7e)continue;return _0x1465e4=0x7;}return 0x3c===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x2)?(_0x56674b+=0x3,_0x1465e4=0x42):(_0x56674b+=0x2,_0x1465e4=0x2e):0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x1f):0x1===_0xf79407&&0x2f===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)&&0x2a!==_0x198b87[_0x1a4e('0x913')](_0x56674b+0x2)?(_0x56674b+=0x2,_0x1465e4=0x1d):(_0x56674b++,_0x1465e4=0x1c);case 0x3d:if(_0x46021c(_0x198b87,_0x56674b)){if(_0x56674b=_0x3e3bea(_0x198b87,_0x56674b,_0x23dfea),_0x55ff7e)continue;return _0x1465e4=0x7;}return 0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x2)?(_0x56674b+=0x3,_0x1465e4=0x23):(_0x56674b+=0x2,_0x1465e4=0x21):0x3e===_0x198b87['charCodeAt'](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x25):(_0x56674b++,_0x1465e4=0x3b);case 0x3e:if(_0x46021c(_0x198b87,_0x56674b)){if(_0x56674b=_0x3e3bea(_0x198b87,_0x56674b,_0x23dfea),_0x55ff7e)continue;return _0x1465e4=0x7;}return _0x56674b++,_0x1465e4=0x1e;case 0x3f:return _0x56674b++,_0x1465e4=0x38;case 0x5b:return _0x56674b++,_0x1465e4=0x16;case 0x5d:return _0x56674b++,_0x1465e4=0x17;case 0x5e:return 0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x47):(_0x56674b++,_0x1465e4=0x33);case 0x7b:return _0x56674b++,_0x1465e4=0x12;case 0x7c:if(_0x46021c(_0x198b87,_0x56674b)){if(_0x56674b=_0x3e3bea(_0x198b87,_0x56674b,_0x23dfea),_0x55ff7e)continue;return _0x1465e4=0x7;}return 0x7c===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x37):0x3d===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x46):(_0x56674b++,_0x1465e4=0x32);case 0x7d:return _0x56674b++,_0x1465e4=0x13;case 0x7e:return _0x56674b++,_0x1465e4=0x35;case 0x40:return _0x56674b++,_0x1465e4=0x3a;case 0x5c:var _0x326eae=_0x13cb72();return _0x326eae>=0x0&&_0xbb2288(_0x326eae,_0x146f6e)?(_0x56674b+=0x6,_0x14429a=String[_0x1a4e('0x8fe')](_0x326eae)+_0x515e95(),_0x1465e4=_0x20625f()):(_0x23dfea(_0x368e5a['Diagnostics']['Invalid_character']),_0x56674b++,_0x1465e4=0x0);default:if(_0xbb2288(_0x2c9ec9,_0x146f6e)){for(_0x56674b++;_0x56674b<_0x37b748&&_0x3c658f(_0x2c9ec9=_0x198b87[_0x1a4e('0x913')](_0x56674b),_0x146f6e);)_0x56674b++;return _0x14429a=_0x198b87[_0x1a4e('0x281')](_0x202442,_0x56674b),0x5c===_0x2c9ec9&&(_0x14429a+=_0x515e95()),_0x1465e4=_0x20625f();}if(_0x1e9550(_0x2c9ec9)){_0x56674b++;continue;}if(_0x269dc7(_0x2c9ec9)){_0x4dcd19|=0x1,_0x56674b++;continue;}return _0x23dfea(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x22dc')]),_0x56674b++,_0x1465e4=0x0;}}}function _0x2cd54a(){if(_0x55a4bd=_0x202442=_0x56674b,_0x56674b>=_0x37b748)return _0x1465e4=0x1;var _0x368e5a=_0x198b87[_0x1a4e('0x913')](_0x56674b);if(0x3c===_0x368e5a)return 0x2f===_0x198b87[_0x1a4e('0x913')](_0x56674b+0x1)?(_0x56674b+=0x2,_0x1465e4=0x1d):(_0x56674b++,_0x1465e4=0x1c);if(0x7b===_0x368e5a)return _0x56674b++,_0x1465e4=0x12;for(var _0x146f6e=0x0;_0x56674b<_0x37b748&&0x7b!==(_0x368e5a=_0x198b87['charCodeAt'](_0x56674b));){if(0x3c===_0x368e5a){if(_0x46021c(_0x198b87,_0x56674b))return _0x56674b=_0x3e3bea(_0x198b87,_0x56674b,_0x23dfea),_0x1465e4=0x7;break;}_0x269dc7(_0x368e5a)&&0x0===_0x146f6e?_0x146f6e=-0x1:_0x193514(_0x368e5a)||(_0x146f6e=_0x56674b),_0x56674b++;}return-0x1===_0x146f6e?0xc:0xb;}function _0x2a9dac(_0x368e5a,_0x146f6e){var _0x2327c6=_0x56674b,_0x55ff7e=_0x55a4bd,_0x1adc17=_0x202442,_0xf79407=_0x1465e4,_0x2c9ec9=_0x14429a,_0x420b32=_0x4dcd19,_0x1b06ad=_0x368e5a();return _0x1b06ad&&!_0x146f6e||(_0x56674b=_0x2327c6,_0x55a4bd=_0x55ff7e,_0x202442=_0x1adc17,_0x1465e4=_0xf79407,_0x14429a=_0x2c9ec9,_0x4dcd19=_0x420b32),_0x1b06ad;}function _0x4e8cf7(_0x368e5a,_0x146f6e,_0x2327c6){_0x198b87=_0x368e5a||'',_0x37b748=void 0x0===_0x2327c6?_0x198b87[_0x1a4e('0x1e')]:_0x146f6e+_0x2327c6,_0x10e556(_0x146f6e||0x0);}function _0x10e556(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e>=0x0),_0x56674b=_0x146f6e,_0x55a4bd=_0x146f6e,_0x202442=_0x146f6e,_0x1465e4=0x0,_0x14429a=void 0x0,_0x4dcd19=0x0;}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x22dd')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22de')](_0x146f6e)||_0x368e5a['isRootedDiskPath'](_0x146f6e);},_0x368e5a[_0x1a4e('0x22df')]=function(_0x146f6e){return _0x368e5a['sortAndDeduplicate'](_0x146f6e,_0x368e5a[_0x1a4e('0x22e0')]);};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a['resolvingEmptyArray']=[],_0x368e5a[_0x1a4e('0x22e1')]=_0x368e5a['createMap'](),_0x368e5a[_0x1a4e('0x22e2')]=_0x368e5a[_0x1a4e('0x22e1')],_0x368e5a[_0x1a4e('0x22e3')]='tslib',_0x368e5a[_0x1a4e('0x22e4')]=0xa0,_0x368e5a['getDeclarationOfKind']=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x22e5')];if(_0x2327c6)for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0xf79407[_0x1a4e('0x146b')]===_0x146f6e)return _0xf79407;}},_0x368e5a['createUnderscoreEscapedMap']=function(){return new _0x368e5a[(_0x1a4e('0x16ff'))]();},_0x368e5a[_0x1a4e('0x22e6')]=function(_0x368e5a){return!!_0x368e5a&&!!_0x368e5a[_0x1a4e('0x220')];},_0x368e5a[_0x1a4e('0x22e7')]=function(_0x146f6e){var _0x2327c6=_0x368e5a['createMap']();if(_0x146f6e)for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e;_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x2327c6[_0x1a4e('0x17a')](_0xf79407[_0x1a4e('0x22e8')],_0xf79407);}return _0x2327c6;};var _0x146f6e,_0x2327c6,_0x55ff7e=(_0x146f6e='',{'getText':function(){return _0x146f6e;},'write':_0x2327c6=function(_0x368e5a){return _0x146f6e+=_0x368e5a;},'rawWrite':_0x2327c6,'writeKeyword':_0x2327c6,'writeOperator':_0x2327c6,'writePunctuation':_0x2327c6,'writeSpace':_0x2327c6,'writeStringLiteral':_0x2327c6,'writeLiteral':_0x2327c6,'writeParameter':_0x2327c6,'writeProperty':_0x2327c6,'writeSymbol':function(_0x368e5a,_0x146f6e){return _0x2327c6(_0x368e5a);},'writeTrailingSemicolon':_0x2327c6,'writeComment':_0x2327c6,'getTextPos':function(){return _0x146f6e[_0x1a4e('0x1e')];},'getLine':function(){return 0x0;},'getColumn':function(){return 0x0;},'getIndent':function(){return 0x0;},'isAtStartOfLine':function(){return!0x1;},'writeLine':function(){return _0x146f6e+='\x20';},'increaseIndent':_0x368e5a['noop'],'decreaseIndent':_0x368e5a[_0x1a4e('0x10bf')],'clear':function(){return _0x146f6e='';},'trackSymbol':_0x368e5a[_0x1a4e('0x10bf')],'reportInaccessibleThisError':_0x368e5a[_0x1a4e('0x10bf')],'reportInaccessibleUniqueSymbolError':_0x368e5a[_0x1a4e('0x10bf')],'reportPrivateInBaseOfClassExpression':_0x368e5a[_0x1a4e('0x10bf')]});function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x55ff7e(_0x368e5a[_0x1a4e('0x22e9')](_0x146f6e)?_0x368e5a[_0x1a4e('0x1672')](_0x146f6e):_0x368e5a[_0x1a4e('0x22ea')](_0x146f6e,_0x2327c6));}function _0xf79407(_0x368e5a,_0x146f6e){for(;_0x368e5a;){var _0x2327c6=_0x146f6e(_0x368e5a);if(_0x1a4e('0x1b55')===_0x2327c6)return;if(_0x2327c6)return _0x368e5a;_0x368e5a=_0x368e5a[_0x1a4e('0x11c')];}}function _0x2c9ec9(_0x368e5a,_0x146f6e){_0x368e5a[_0x1a4e('0x3b')](function(_0x368e5a,_0x2327c6){_0x146f6e['set'](_0x2327c6,_0x368e5a);});}function _0x1b06ad(_0x368e5a){return _0x368e5a[_0x1a4e('0xca')]-_0x368e5a[_0x1a4e('0xa4')];}function _0x326eae(_0x146f6e){return function(_0x146f6e){if(!(0x40000&_0x146f6e['flags'])){var _0x2327c6=0x0!=(0x8000&_0x146f6e[_0x1a4e('0x7b2')])||_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,_0x326eae);_0x2327c6&&(_0x146f6e[_0x1a4e('0x7b2')]|=0x20000),_0x146f6e[_0x1a4e('0x7b2')]|=0x40000;}}(_0x146f6e),0x0!=(0x20000&_0x146f6e[_0x1a4e('0x7b2')]);}function _0x56674b(_0x368e5a){for(;_0x368e5a&&0x117!==_0x368e5a[_0x1a4e('0x146b')];)_0x368e5a=_0x368e5a[_0x1a4e('0x11c')];return _0x368e5a;}function _0x75ae2f(_0x146f6e,_0x2327c6){_0x368e5a['Debug']['assert'](_0x146f6e>=0x0);var _0x55ff7e=_0x368e5a[_0x1a4e('0x22bf')](_0x2327c6),_0x1adc17=_0x146f6e,_0xf79407=_0x2327c6['text'];if(_0x1adc17+0x1===_0x55ff7e[_0x1a4e('0x1e')])return _0xf79407['length']-0x1;var _0x2c9ec9=_0x55ff7e[_0x1adc17],_0x420b32=_0x55ff7e[_0x1adc17+0x1]-0x1;for(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x22c3')](_0xf79407[_0x1a4e('0x913')](_0x420b32)));_0x2c9ec9<=_0x420b32&&_0x368e5a[_0x1a4e('0x22c3')](_0xf79407[_0x1a4e('0x913')](_0x420b32));)_0x420b32--;return _0x420b32;}function _0x5981b8(_0x368e5a){return void 0x0===_0x368e5a||_0x368e5a['pos']===_0x368e5a[_0x1a4e('0xca')]&&_0x368e5a[_0x1a4e('0xa4')]>=0x0&&0x1!==_0x368e5a['kind'];}function _0x14e909(_0x368e5a){return!_0x5981b8(_0x368e5a);}function _0x320657(_0x368e5a,_0x146f6e){return 0x2a===_0x368e5a[_0x1a4e('0x913')](_0x146f6e+0x1)&&0x21===_0x368e5a['charCodeAt'](_0x146f6e+0x2);}function _0x15f4a8(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x5981b8(_0x146f6e)?_0x146f6e[_0x1a4e('0xa4')]:_0x368e5a['isJSDocNode'](_0x146f6e)?_0x368e5a[_0x1a4e('0x22c6')]((_0x2327c6||_0x56674b(_0x146f6e))[_0x1a4e('0xe04')],_0x146f6e[_0x1a4e('0xa4')],!0x1,!0x0):_0x55ff7e&&_0x368e5a['hasJSDocNodes'](_0x146f6e)?_0x15f4a8(_0x146f6e[_0x1a4e('0x22ec')][0x0]):0x132===_0x146f6e[_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x22ed')][_0x1a4e('0x1e')]>0x0?_0x15f4a8(_0x146f6e[_0x1a4e('0x22ed')][0x0],_0x2327c6,_0x55ff7e):_0x368e5a[_0x1a4e('0x22c6')]((_0x2327c6||_0x56674b(_0x146f6e))[_0x1a4e('0xe04')],_0x146f6e['pos']);}function _0x3f9aa2(_0x368e5a,_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=!0x1),_0x5bc7fe(_0x368e5a[_0x1a4e('0xe04')],_0x146f6e,_0x2327c6);}function _0x5bc7fe(_0x146f6e,_0x2327c6,_0x55ff7e){if(void 0x0===_0x55ff7e&&(_0x55ff7e=!0x1),_0x5981b8(_0x2327c6))return'';var _0x1adc17=_0x146f6e[_0x1a4e('0x281')](_0x55ff7e?_0x2327c6['pos']:_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e,_0x2327c6[_0x1a4e('0xa4')]),_0x2327c6[_0x1a4e('0xca')]);return function _0x368e5a(_0x146f6e){return 0x11b===_0x146f6e[_0x1a4e('0x146b')]||_0x146f6e[_0x1a4e('0x11c')]&&_0x368e5a(_0x146f6e[_0x1a4e('0x11c')]);}(_0x2327c6)&&(_0x1adc17=_0x1adc17[_0x1a4e('0x115')](/(^|\r?\n|\r)\s*\*\s*/g,'$1')),_0x1adc17;}function _0xc02ec4(_0x368e5a,_0x146f6e){return void 0x0===_0x146f6e&&(_0x146f6e=!0x1),_0x3f9aa2(_0x56674b(_0x368e5a),_0x368e5a,_0x146f6e);}function _0x1597f2(_0x368e5a){return _0x368e5a['pos'];}function _0x397b9c(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x22ee')];return _0x146f6e&&_0x146f6e[_0x1a4e('0x7b2')]||0x0;}function _0x27211e(_0x368e5a){var _0x146f6e=_0x43ab44(_0x368e5a);return 0xed===_0x146f6e[_0x1a4e('0x146b')]&&0x112===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')];}function _0x1be816(_0x146f6e){return _0x368e5a[_0x1a4e('0x22ef')](_0x146f6e)&&(0xa===_0x146f6e[_0x1a4e('0x2cb')]['kind']||_0x9bca7(_0x146f6e));}function _0x9bca7(_0x368e5a){return!!(0x200&_0x368e5a[_0x1a4e('0x7b2')]);}function _0x5ba27(_0x368e5a){return _0x1be816(_0x368e5a)&&_0x158b29(_0x368e5a);}function _0x158b29(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0x117:return _0x368e5a['isExternalModule'](_0x146f6e['parent']);case 0xf5:return _0x1be816(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e['parent']['parent'][_0x1a4e('0x11c')])&&!_0x368e5a[_0x1a4e('0x22f1')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')]);}return!0x1;}function _0x1b6fc0(_0x146f6e,_0x2327c6){switch(_0x146f6e['kind']){case 0x117:case 0xf6:case 0x112:case 0xf4:case 0xe1:case 0xe2:case 0xe3:case 0x9d:case 0x9c:case 0x9e:case 0x9f:case 0xef:case 0xc4:case 0xc5:return!0x0;case 0xda:return!_0x368e5a['isFunctionLike'](_0x2327c6);}return!0x1;}function _0x54a9d0(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xa0:case 0xa1:case 0x9b:case 0xa2:case 0xa5:case 0xa6:case 0x121:case 0xf0:case 0xd1:case 0xf1:case 0xf2:case 0x12f:case 0xef:case 0x9c:case 0x9d:case 0x9e:case 0x9f:case 0xc4:case 0xc5:return!0x0;default:return _0x368e5a[_0x1a4e('0x1766')](_0x146f6e),!0x1;}}function _0x3c5bac(_0x368e5a){switch(_0x368e5a['kind']){case 0xf9:case 0xf8:return!0x0;default:return!0x1;}}function _0x29e071(_0x368e5a){return _0x368e5a&&0x0!==_0x1b06ad(_0x368e5a)?_0xc02ec4(_0x368e5a):_0x1a4e('0x22f2');}function _0x4bdc3c(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x146f6e[_0x1a4e('0x22f3')];case 0xa:case 0x8:case 0xe:return _0x368e5a[_0x1a4e('0x22f4')](_0x146f6e['text']);case 0x95:return _0x434c79(_0x146f6e['expression'])?_0x368e5a[_0x1a4e('0x22f4')](_0x146f6e['expression'][_0x1a4e('0xe04')]):void 0x0;default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x146f6e);}}function _0x557728(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x3913fc(_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x1b06ad[_0x1a4e('0xc9')],_0x1b06ad[_0x1a4e('0x1e')],_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32);}function _0x2ffb4b(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x22d1')](_0x146f6e[_0x1a4e('0x22f6')],!0x0,_0x146f6e[_0x1a4e('0x22f7')],_0x146f6e[_0x1a4e('0xe04')],void 0x0,_0x2327c6);_0x55ff7e[_0x1a4e('0x22f8')]();var _0x1adc17=_0x55ff7e[_0x1a4e('0x22f9')]();return _0x368e5a[_0x1a4e('0x22fa')](_0x1adc17,_0x55ff7e['getTextPos']());}function _0x3913fc(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6;switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x117:var _0x1adc17=_0x368e5a['skipTrivia'](_0x146f6e[_0x1a4e('0xe04')],0x0,!0x1);return _0x1adc17===_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x1e')]?_0x368e5a['createTextSpan'](0x0,0x0):_0x2ffb4b(_0x146f6e,_0x1adc17);case 0xed:case 0xba:case 0xf0:case 0xd1:case 0xf1:case 0xf4:case 0xf3:case 0x116:case 0xef:case 0xc4:case 0x9c:case 0x9e:case 0x9f:case 0xf2:case 0x9a:case 0x99:_0x55ff7e=_0x2327c6[_0x1a4e('0x2cb')];break;case 0xc5:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e[_0x1a4e('0xe04')],_0x2327c6[_0x1a4e('0xa4')]);if(_0x2327c6[_0x1a4e('0x8f2')]&&0xda===_0x2327c6[_0x1a4e('0x8f2')]['kind']){var _0x1adc17=_0x368e5a[_0x1a4e('0x22c1')](_0x146f6e,_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0xa4')])[_0x1a4e('0xc5')];if(_0x1adc17<_0x368e5a[_0x1a4e('0x22c1')](_0x146f6e,_0x2327c6['body'][_0x1a4e('0xca')])[_0x1a4e('0xc5')])return _0x368e5a[_0x1a4e('0x22fb')](_0x55ff7e,_0x75ae2f(_0x1adc17,_0x146f6e)-_0x55ff7e+0x1);}return _0x368e5a[_0x1a4e('0x22fa')](_0x55ff7e,_0x2327c6[_0x1a4e('0xca')]);}(_0x146f6e,_0x2327c6);}if(void 0x0===_0x55ff7e)return _0x2ffb4b(_0x146f6e,_0x2327c6[_0x1a4e('0xa4')]);var _0xf79407=_0x5981b8(_0x55ff7e),_0x2c9ec9=_0xf79407?_0x55ff7e[_0x1a4e('0xa4')]:_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e[_0x1a4e('0xe04')],_0x55ff7e[_0x1a4e('0xa4')]);return _0xf79407?(_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2c9ec9===_0x55ff7e[_0x1a4e('0xa4')],_0x1a4e('0x22fc')),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x2c9ec9===_0x55ff7e[_0x1a4e('0xca')],_0x1a4e('0x22fc'))):(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x2c9ec9>=_0x55ff7e[_0x1a4e('0xa4')],_0x1a4e('0x22fc')),_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2c9ec9<=_0x55ff7e[_0x1a4e('0xca')],'This\x20failure\x20could\x20trigger\x20https://github.com/Microsoft/TypeScript/issues/20809')),_0x368e5a[_0x1a4e('0x22fa')](_0x2c9ec9,_0x55ff7e['end']);}function _0x3df3a7(_0x146f6e){return!!(0x2&_0x368e5a[_0x1a4e('0x22fd')](_0x146f6e));}function _0x544b98(_0x368e5a){return 0xbf===_0x368e5a[_0x1a4e('0x146b')]&&0x5c===_0x368e5a['expression'][_0x1a4e('0x146b')];}function _0x13808f(_0x146f6e){return _0x368e5a[_0x1a4e('0x22fe')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x22ff')](_0x146f6e[_0x1a4e('0x2300')])&&_0x368e5a['isStringLiteral'](_0x146f6e['argument'][_0x1a4e('0x2301')]);}function _0x6dc86b(_0x368e5a){return 0xdd===_0x368e5a['kind']&&0xa===_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0x146b')];}_0x368e5a[_0x1a4e('0x1087')]=_0x1adc17,_0x368e5a[_0x1a4e('0x2303')]=function(_0x146f6e,_0x2327c6){return _0x146f6e[_0x1a4e('0x2304')]!==_0x2327c6[_0x1a4e('0x2304')]||_0x368e5a[_0x1a4e('0x2305')][_0x1a4e('0x1c2')](function(_0x55ff7e){return!_0x368e5a['isJsonEqual'](_0x368e5a[_0x1a4e('0x2306')](_0x146f6e,_0x55ff7e),_0x368e5a[_0x1a4e('0x2306')](_0x2327c6,_0x55ff7e));});},_0x368e5a['findAncestor']=_0xf79407,_0x368e5a[_0x1a4e('0x2307')]=function(_0x146f6e,_0x2327c6){for(;;){var _0x55ff7e=_0x2327c6(_0x146f6e);if('quit'===_0x55ff7e)return;if(void 0x0!==_0x55ff7e)return _0x55ff7e;if(_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e))return;_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];}},_0x368e5a[_0x1a4e('0x2308')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x3c3')](),_0x1adc17=_0x55ff7e[_0x1a4e('0x7e')](),_0xf79407=_0x1adc17[_0x1a4e('0x255')],_0x2c9ec9=_0x1adc17['done'];!_0x2c9ec9;_0xf79407=(_0x2327c6=_0x55ff7e['next']())[_0x1a4e('0x255')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x3c2')],_0x2327c6){var _0x420b32=_0xf79407[0x0],_0x1b06ad=_0x146f6e(_0xf79407[0x1],_0x420b32);if(_0x1b06ad)return _0x1b06ad;}},_0x368e5a[_0x1a4e('0x2309')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x56')](),_0x1adc17=_0x55ff7e[_0x1a4e('0x7e')](),_0xf79407=_0x1adc17[_0x1a4e('0x255')],_0x2c9ec9=_0x1adc17[_0x1a4e('0x3c2')];!_0x2c9ec9;_0xf79407=(_0x2327c6=_0x55ff7e[_0x1a4e('0x7e')]())[_0x1a4e('0x255')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x3c2')],_0x2327c6){var _0x420b32=_0x146f6e(_0xf79407);if(_0x420b32)return _0x420b32;}},_0x368e5a[_0x1a4e('0x230a')]=_0x2c9ec9,_0x368e5a[_0x1a4e('0x230b')]=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x172b')](_0x146f6e,_0x2327c6||function(_0x368e5a){return _0x368e5a;},function(){return!0x0;});},_0x368e5a[_0x1a4e('0x230c')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1772')]();return _0x2c9ec9(_0x146f6e,_0x2327c6),_0x2327c6;},_0x368e5a[_0x1a4e('0x230d')]=function(_0x368e5a){var _0x146f6e=_0x55ff7e[_0x1a4e('0x230e')]();try{return _0x368e5a(_0x55ff7e),_0x55ff7e[_0x1a4e('0x230e')]();}finally{_0x55ff7e['clear'](),_0x55ff7e[_0x1a4e('0x230f')](_0x146f6e);}},_0x368e5a[_0x1a4e('0x2310')]=_0x1b06ad,_0x368e5a[_0x1a4e('0x2311')]=function(_0x368e5a,_0x146f6e){return _0x368e5a&&_0x368e5a['resolvedModules']&&_0x368e5a[_0x1a4e('0x2312')]['get'](_0x146f6e);},_0x368e5a[_0x1a4e('0x2313')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x146f6e[_0x1a4e('0x2312')]||(_0x146f6e[_0x1a4e('0x2312')]=_0x368e5a[_0x1a4e('0x1772')]()),_0x146f6e[_0x1a4e('0x2312')][_0x1a4e('0x17a')](_0x2327c6,_0x55ff7e);},_0x368e5a[_0x1a4e('0x2314')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x146f6e['resolvedTypeReferenceDirectiveNames']||(_0x146f6e[_0x1a4e('0x2315')]=_0x368e5a[_0x1a4e('0x1772')]()),_0x146f6e[_0x1a4e('0x2315')][_0x1a4e('0x17a')](_0x2327c6,_0x55ff7e);},_0x368e5a[_0x1a4e('0x2316')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x64')]===_0x146f6e['path']&&!_0x368e5a[_0x1a4e('0x1610')]==!_0x146f6e[_0x1a4e('0x1610')]&&!_0x368e5a['circular']==!_0x146f6e[_0x1a4e('0x2317')];},_0x368e5a['moduleResolutionIsEqualTo']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2318')]===_0x146f6e['isExternalLibraryImport']&&_0x368e5a['extension']===_0x146f6e[_0x1a4e('0x2319')]&&_0x368e5a[_0x1a4e('0x231a')]===_0x146f6e[_0x1a4e('0x231a')]&&_0x368e5a[_0x1a4e('0x231b')]===_0x146f6e['originalPath']&&(_0x2327c6=_0x368e5a['packageId'],_0x55ff7e=_0x146f6e['packageId'],_0x2327c6===_0x55ff7e||!!_0x2327c6&&!!_0x55ff7e&&_0x2327c6[_0x1a4e('0x2cb')]===_0x55ff7e[_0x1a4e('0x2cb')]&&_0x2327c6[_0x1a4e('0x231c')]===_0x55ff7e[_0x1a4e('0x231c')]&&_0x2327c6[_0x1a4e('0xb98')]===_0x55ff7e['version']);var _0x2327c6,_0x55ff7e;},_0x368e5a[_0x1a4e('0x231d')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x2cb')],_0x2327c6=_0x368e5a[_0x1a4e('0x231c')];return(_0x2327c6?_0x146f6e+'/'+_0x2327c6:_0x146f6e)+'@'+_0x368e5a[_0x1a4e('0xb98')];},_0x368e5a[_0x1a4e('0x231e')]=function(_0x368e5a,_0x146f6e){return _0x368e5a['resolvedFileName']===_0x146f6e['resolvedFileName']&&_0x368e5a['primary']===_0x146f6e[_0x1a4e('0x231f')];},_0x368e5a[_0x1a4e('0x2320')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0x1e')]===_0x2327c6['length']);for(var _0xf79407=0x0;_0xf79407<_0x146f6e[_0x1a4e('0x1e')];_0xf79407++){var _0x2c9ec9=_0x2327c6[_0xf79407],_0x420b32=_0x55ff7e&&_0x55ff7e[_0x1a4e('0x179')](_0x146f6e[_0xf79407]);if(_0x420b32?!_0x2c9ec9||!_0x1adc17(_0x420b32,_0x2c9ec9):_0x2c9ec9)return!0x0;}return!0x1;},_0x368e5a['containsParseError']=_0x326eae,_0x368e5a[_0x1a4e('0x1674')]=_0x56674b,_0x368e5a[_0x1a4e('0x2321')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xda:case 0xf6:case 0xe1:case 0xe2:case 0xe3:return!0x0;}return!0x1;},_0x368e5a[_0x1a4e('0x2322')]=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e>=0x0),_0x368e5a[_0x1a4e('0x22bf')](_0x2327c6)[_0x146f6e];},_0x368e5a[_0x1a4e('0x2323')]=function(_0x146f6e){var _0x2327c6=_0x56674b(_0x146f6e),_0x55ff7e=_0x368e5a[_0x1a4e('0x22c1')](_0x2327c6,_0x146f6e['pos']);return _0x2327c6[_0x1a4e('0x1b39')]+'('+(_0x55ff7e['line']+0x1)+','+(_0x55ff7e[_0x1a4e('0x2324')]+0x1)+')';},_0x368e5a['getEndLinePosition']=_0x75ae2f,_0x368e5a[_0x1a4e('0x2325')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return!(_0x2327c6&&_0x2327c6(_0x146f6e)||_0x368e5a[_0x1a4e('0x2326')]['has'](_0x146f6e));},_0x368e5a[_0x1a4e('0x2327')]=_0x5981b8,_0x368e5a[_0x1a4e('0x2328')]=_0x14e909,_0x368e5a[_0x1a4e('0x2329')]=function(_0x368e5a,_0x146f6e){if(void 0x0===_0x146f6e||0x0===_0x146f6e['length'])return _0x368e5a;for(var _0x2327c6=0x0;_0x2327c6<_0x368e5a['length']&&_0x6dc86b(_0x368e5a[_0x2327c6]);++_0x2327c6);return _0x368e5a['splice'][_0x1a4e('0x8b')](_0x368e5a,[_0x2327c6,0x0]['concat'](_0x146f6e)),_0x368e5a;},_0x368e5a['isRecognizedTripleSlashComment']=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x2f===_0x146f6e['charCodeAt'](_0x2327c6+0x1)&&_0x2327c6+0x2<_0x55ff7e&&0x2f===_0x146f6e[_0x1a4e('0x913')](_0x2327c6+0x2)){var _0x1adc17=_0x146f6e[_0x1a4e('0x281')](_0x2327c6,_0x55ff7e);return!!(_0x1adc17['match'](_0x368e5a[_0x1a4e('0x232a')])||_0x1adc17[_0x1a4e('0x909')](_0x368e5a[_0x1a4e('0x232b')])||_0x1adc17[_0x1a4e('0x909')](_0x163d8d)||_0x1adc17['match'](_0x4f7a29));}return!0x1;},_0x368e5a[_0x1a4e('0x232c')]=_0x320657,_0x368e5a[_0x1a4e('0x232d')]=_0x15f4a8,_0x368e5a[_0x1a4e('0x232e')]=function(_0x146f6e,_0x2327c6){return _0x5981b8(_0x146f6e)||!_0x146f6e[_0x1a4e('0x232f')]?_0x15f4a8(_0x146f6e,_0x2327c6):_0x368e5a[_0x1a4e('0x22c6')]((_0x2327c6||_0x56674b(_0x146f6e))[_0x1a4e('0xe04')],_0x146f6e['decorators'][_0x1a4e('0xca')]);},_0x368e5a[_0x1a4e('0x2330')]=_0x3f9aa2,_0x368e5a[_0x1a4e('0x2331')]=_0x5bc7fe,_0x368e5a[_0x1a4e('0x1675')]=_0xc02ec4,_0x368e5a[_0x1a4e('0x2332')]=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1725')](_0x146f6e,_0x2327c6,_0x1597f2,_0x368e5a[_0x1a4e('0x166e')]);},_0x368e5a['getEmitFlags']=_0x397b9c,_0x368e5a[_0x1a4e('0x2333')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0xde1b92(_0x146f6e)&&_0x146f6e['parent']&&!(_0x368e5a[_0x1a4e('0x2334')](_0x146f6e)&&0x200&_0x146f6e[_0x1a4e('0x2335')]||_0x368e5a[_0x1a4e('0x2336')](_0x146f6e)))return _0x3f9aa2(_0x2327c6,_0x146f6e);var _0x1adc17=_0x55ff7e||0x1000000&_0x397b9c(_0x146f6e)?_0x41a853:_0x22be75;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xa:return _0x146f6e['singleQuote']?'\x27'+_0x1adc17(_0x146f6e[_0x1a4e('0xe04')],0x27)+'\x27':'\x22'+_0x1adc17(_0x146f6e['text'],0x22)+'\x22';case 0xe:return'`'+_0x1adc17(_0x146f6e[_0x1a4e('0xe04')],0x60)+'`';case 0xf:return'`'+_0x1adc17(_0x146f6e['text'],0x60)+'${';case 0x10:return'}'+_0x1adc17(_0x146f6e[_0x1a4e('0xe04')],0x60)+'${';case 0x11:return'}'+_0x1adc17(_0x146f6e[_0x1a4e('0xe04')],0x60)+'`';case 0x8:case 0x9:case 0xd:return _0x146f6e[_0x1a4e('0xe04')];}return _0x368e5a['Debug'][_0x1a4e('0x1709')](_0x1a4e('0x2337')+_0x146f6e['kind']+'\x27\x20not\x20accounted\x20for.');},_0x368e5a['getTextOfConstantValue']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0xb19')](_0x146f6e)?'\x22'+_0x22be75(_0x146f6e)+'\x22':''+_0x146f6e;},_0x368e5a['makeIdentifierFromModuleName']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2338')](_0x146f6e)[_0x1a4e('0x115')](/^(\d)/,_0x1a4e('0x2339'))[_0x1a4e('0x115')](/\W/g,'_');},_0x368e5a[_0x1a4e('0x233a')]=function(_0x146f6e){return 0x0!=(0x3&_0x368e5a[_0x1a4e('0x22fd')](_0x146f6e))||_0x27211e(_0x146f6e);},_0x368e5a[_0x1a4e('0x233b')]=_0x27211e,_0x368e5a[_0x1a4e('0x233c')]=_0x1be816,_0x368e5a[_0x1a4e('0x233d')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22ef')](_0x146f6e)&&0xa===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x146b')];},_0x368e5a['isNonGlobalAmbientModule']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22ef')](_0x146f6e)&&_0x368e5a['isStringLiteral'](_0x146f6e[_0x1a4e('0x2cb')]);},_0x368e5a[_0x1a4e('0x233e')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22ef')](_0x146f6e)||_0x368e5a['isIdentifier'](_0x146f6e);},_0x368e5a[_0x1a4e('0x233f')]=function(_0x368e5a){return(_0x146f6e=_0x368e5a[_0x1a4e('0x2340')])&&0xf4===_0x146f6e[_0x1a4e('0x146b')]&&!_0x146f6e[_0x1a4e('0x8f2')];var _0x146f6e;},_0x368e5a[_0x1a4e('0x2341')]=function(_0x146f6e){return 0x117===_0x146f6e[_0x1a4e('0x146b')]||0xf4===_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x2342')](_0x146f6e);},_0x368e5a[_0x1a4e('0x2343')]=_0x9bca7,_0x368e5a[_0x1a4e('0x2344')]=_0x5ba27,_0x368e5a[_0x1a4e('0x2345')]=_0x158b29,_0x368e5a['getNonAugmentationDeclaration']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c7')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){return!(_0x5ba27(_0x146f6e)||_0x368e5a['isModuleDeclaration'](_0x146f6e)&&_0x9bca7(_0x146f6e));});},_0x368e5a[_0x1a4e('0x2346')]=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x22f1')](_0x146f6e)||_0x2327c6[_0x1a4e('0x2347')]||_0x368e5a[_0x1a4e('0x2348')](_0x2327c6)===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a30')]&&!!_0x146f6e[_0x1a4e('0x2349')];},_0x368e5a[_0x1a4e('0x234a')]=_0x1b6fc0,_0x368e5a['isDeclarationWithTypeParameters']=function(_0x146f6e){switch(_0x146f6e['kind']){case 0x129:case 0x130:case 0x125:return!0x0;default:return _0x368e5a[_0x1a4e('0x1766')](_0x146f6e),_0x54a9d0(_0x146f6e);}},_0x368e5a[_0x1a4e('0x234b')]=_0x54a9d0,_0x368e5a[_0x1a4e('0x234c')]=_0x3c5bac,_0x368e5a['isLateVisibilityPaintedStatement']=function(_0x368e5a){switch(_0x368e5a['kind']){case 0xf9:case 0xf8:case 0xdb:case 0xf0:case 0xef:case 0xf4:case 0xf2:case 0xf1:case 0xf3:return!0x0;default:return!0x1;}},_0x368e5a[_0x1a4e('0x234d')]=function(_0x146f6e){return _0x3c5bac(_0x146f6e)||_0x368e5a[_0x1a4e('0x234e')](_0x146f6e);},_0x368e5a['getEnclosingBlockScopeContainer']=function(_0x368e5a){return _0xf79407(_0x368e5a[_0x1a4e('0x11c')],function(_0x368e5a){return _0x1b6fc0(_0x368e5a,_0x368e5a[_0x1a4e('0x11c')]);});},_0x368e5a[_0x1a4e('0x1676')]=_0x29e071,_0x368e5a[_0x1a4e('0x234f')]=function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2350')]?_0x29e071(_0x368e5a['declaration'][_0x1a4e('0x111a')][0x0][_0x1a4e('0x2cb')]):void 0x0;},_0x368e5a[_0x1a4e('0x2351')]=_0x4bdc3c,_0x368e5a[_0x1a4e('0x2352')]=function _0x146f6e(_0x2327c6){switch(_0x2327c6['kind']){case 0x48:return 0x0===_0x1b06ad(_0x2327c6)?_0x368e5a[_0x1a4e('0x2353')](_0x2327c6):_0xc02ec4(_0x2327c6);case 0x94:return _0x146f6e(_0x2327c6[_0x1a4e('0x5f')])+'.'+_0x146f6e(_0x2327c6['right']);case 0xbd:return _0x146f6e(_0x2327c6[_0x1a4e('0x2302')])+'.'+_0x146f6e(_0x2327c6[_0x1a4e('0x2cb')]);default:throw _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x2327c6);}},_0x368e5a[_0x1a4e('0x2354')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x557728(_0x56674b(_0x368e5a),_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);},_0x368e5a[_0x1a4e('0x2355')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e[_0x1a4e('0xe04')],_0x2327c6['pos']);return _0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x1b06ad,_0x2327c6[_0x1a4e('0xca')]-_0x1b06ad,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32);},_0x368e5a[_0x1a4e('0x2356')]=_0x557728,_0x368e5a['createDiagnosticForNodeFromMessageChain']=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x56674b(_0x368e5a),_0x1adc17=_0x3913fc(_0x55ff7e,_0x368e5a);return{'file':_0x55ff7e,'start':_0x1adc17['start'],'length':_0x1adc17[_0x1a4e('0x1e')],'code':_0x146f6e[_0x1a4e('0x1617')],'category':_0x146f6e['category'],'messageText':_0x146f6e[_0x1a4e('0x7e')]?_0x146f6e:_0x146f6e[_0x1a4e('0x16d2')],'relatedInformation':_0x2327c6};},_0x368e5a[_0x1a4e('0x2357')]=_0x2ffb4b,_0x368e5a[_0x1a4e('0x2358')]=_0x3913fc,_0x368e5a['isExternalOrCommonJsModule']=function(_0x368e5a){return void 0x0!==(_0x368e5a[_0x1a4e('0x2359')]||_0x368e5a[_0x1a4e('0x2349')]);},_0x368e5a['isJsonSourceFile']=function(_0x368e5a){return 0x6===_0x368e5a[_0x1a4e('0x235a')];},_0x368e5a[_0x1a4e('0x235b')]=function(_0x146f6e){return!!(0x800&_0x368e5a[_0x1a4e('0x235c')](_0x146f6e));},_0x368e5a[_0x1a4e('0x235d')]=function(_0x146f6e){return!(!(0x40&_0x368e5a[_0x1a4e('0x235c')](_0x146f6e))||_0x368e5a[_0x1a4e('0x235e')](_0x146f6e));},_0x368e5a[_0x1a4e('0x235f')]=_0x3df3a7,_0x368e5a[_0x1a4e('0x2360')]=function(_0x146f6e){return!!(0x1&_0x368e5a[_0x1a4e('0x22fd')](_0x146f6e));},_0x368e5a[_0x1a4e('0x2361')]=function(_0x368e5a){return 0xbf===_0x368e5a[_0x1a4e('0x146b')]&&0x62===_0x368e5a[_0x1a4e('0x2302')]['kind'];},_0x368e5a['isImportCall']=_0x544b98,_0x368e5a['isLiteralImportTypeNode']=_0x13808f,_0x368e5a['isPrologueDirective']=_0x6dc86b,_0x368e5a[_0x1a4e('0x2362')]=function(_0x146f6e,_0x2327c6){return 0xb!==_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x22cc')](_0x2327c6[_0x1a4e('0xe04')],_0x146f6e['pos']):void 0x0;},_0x368e5a[_0x1a4e('0x1677')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=0x97===_0x146f6e['kind']||0x96===_0x146f6e[_0x1a4e('0x146b')]||0xc4===_0x146f6e[_0x1a4e('0x146b')]||0xc5===_0x146f6e[_0x1a4e('0x146b')]||0xc3===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['concatenate'](_0x368e5a[_0x1a4e('0x22cd')](_0x2327c6,_0x146f6e[_0x1a4e('0xa4')]),_0x368e5a['getLeadingCommentRanges'](_0x2327c6,_0x146f6e['pos'])):_0x368e5a[_0x1a4e('0x22cc')](_0x2327c6,_0x146f6e[_0x1a4e('0xa4')]);return _0x368e5a[_0x1a4e('0xd9')](_0x55ff7e,function(_0x368e5a){return 0x2a===_0x2327c6[_0x1a4e('0x913')](_0x368e5a['pos']+0x1)&&0x2a===_0x2327c6[_0x1a4e('0x913')](_0x368e5a[_0x1a4e('0xa4')]+0x2)&&0x2f!==_0x2327c6[_0x1a4e('0x913')](_0x368e5a[_0x1a4e('0xa4')]+0x3);});},_0x368e5a['fullTripleSlashReferencePathRegEx']=/^(\/\/\/\s*/;var _0x163d8d=/^(\/\/\/\s*/;_0x368e5a['fullTripleSlashAMDReferencePathRegEx']=/^(\/\/\/\s*/;var _0x4f7a29=/^(\/\/\/\s*/;function _0x1f9f07(_0x146f6e){if(0xa3<=_0x146f6e[_0x1a4e('0x146b')]&&_0x146f6e['kind']<=0xb7)return!0x0;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x78:case 0x8f:case 0x87:case 0x92:case 0x8a:case 0x7b:case 0x8b:case 0x88:case 0x8d:case 0x84:return!0x0;case 0x6a:return 0xc8!==_0x146f6e['parent'][_0x1a4e('0x146b')];case 0xd3:return!_0x1f86e2(_0x146f6e);case 0x96:return 0xb5===_0x146f6e[_0x1a4e('0x11c')]['kind']||0xb0===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')];case 0x48:0x94===_0x146f6e['parent'][_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x5d')]===_0x146f6e?_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]:0xbd===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x146f6e['parent'][_0x1a4e('0x2cb')]===_0x146f6e&&(_0x146f6e=_0x146f6e['parent']),_0x368e5a['Debug'][_0x1a4e('0xba0')](0x48===_0x146f6e[_0x1a4e('0x146b')]||0x94===_0x146f6e[_0x1a4e('0x146b')]||0xbd===_0x146f6e[_0x1a4e('0x146b')],_0x1a4e('0x2363'));case 0x94:case 0xbd:case 0x64:var _0x2327c6=_0x146f6e['parent'];if(0xa7===_0x2327c6[_0x1a4e('0x146b')])return!0x1;if(0xb7===_0x2327c6[_0x1a4e('0x146b')])return!_0x2327c6['isTypeOf'];if(0xa3<=_0x2327c6['kind']&&_0x2327c6[_0x1a4e('0x146b')]<=0xb7)return!0x0;switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xd3:return!_0x1f86e2(_0x2327c6);case 0x96:case 0x12f:return _0x146f6e===_0x2327c6[_0x1a4e('0x2364')];case 0x9a:case 0x99:case 0x97:case 0xed:return _0x146f6e===_0x2327c6[_0x1a4e('0x40')];case 0xef:case 0xc4:case 0xc5:case 0x9d:case 0x9c:case 0x9b:case 0x9e:case 0x9f:return _0x146f6e===_0x2327c6[_0x1a4e('0x40')];case 0xa0:case 0xa1:case 0xa2:case 0xc2:return _0x146f6e===_0x2327c6[_0x1a4e('0x40')];case 0xbf:case 0xc0:return _0x368e5a['contains'](_0x2327c6[_0x1a4e('0x2365')],_0x146f6e);case 0xc1:return!0x1;}}return!0x1;}function _0x4fe73d(_0x368e5a){if(_0x368e5a)switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xba:case 0x116:case 0x97:case 0x113:case 0x9a:case 0x99:case 0x114:case 0xed:return!0x0;}return!0x1;}function _0x285da9(_0x368e5a){return 0xee===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&0xdb===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['kind'];}function _0x35cb9c(_0x368e5a,_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x13')][_0x1a4e('0xd9')](function(_0x368e5a){if(0x113===_0x368e5a[_0x1a4e('0x146b')]){var _0x55ff7e=_0x4bdc3c(_0x368e5a[_0x1a4e('0x2cb')]);return _0x146f6e===_0x55ff7e||!!_0x2327c6&&_0x2327c6===_0x55ff7e;}return!0x1;});}function _0x205491(_0x146f6e){if(_0x146f6e&&_0x146f6e[_0x1a4e('0x2366')][_0x1a4e('0x1e')]){var _0x2327c6=_0x146f6e[_0x1a4e('0x2366')][0x0][_0x1a4e('0x2302')];return _0x368e5a['tryCast'](_0x2327c6,_0x368e5a['isObjectLiteralExpression']);}}function _0x162224(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x205491(_0x146f6e);return _0x55ff7e?_0x35cb9c(_0x55ff7e,_0x2327c6):_0x368e5a['emptyArray'];}function _0x3030c1(_0x146f6e,_0x2327c6){for(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x117!==_0x146f6e[_0x1a4e('0x146b')]);;){if(!(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]))return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x95:if(_0x368e5a[_0x1a4e('0x2367')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]))return _0x146f6e;_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];break;case 0x98:0x97===_0x146f6e['parent']['kind']&&_0x368e5a['isClassElement'](_0x146f6e[_0x1a4e('0x11c')]['parent'])?_0x146f6e=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:_0x368e5a[_0x1a4e('0x2368')](_0x146f6e[_0x1a4e('0x11c')])&&(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]);break;case 0xc5:if(!_0x2327c6)continue;case 0xef:case 0xc4:case 0xf4:case 0x9a:case 0x99:case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:case 0xa0:case 0xa1:case 0xa2:case 0xf3:case 0x117:return _0x146f6e;}}}function _0x70ad38(_0x368e5a,_0x146f6e,_0x2327c6){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xf0:return!0x0;case 0x9a:return 0xf0===_0x146f6e['kind'];case 0x9e:case 0x9f:case 0x9c:return void 0x0!==_0x368e5a[_0x1a4e('0x8f2')]&&0xf0===_0x146f6e[_0x1a4e('0x146b')];case 0x97:return void 0x0!==_0x146f6e[_0x1a4e('0x8f2')]&&(0x9d===_0x146f6e['kind']||0x9c===_0x146f6e['kind']||0x9f===_0x146f6e['kind'])&&0xf0===_0x2327c6['kind'];}return!0x1;}function _0x5b4bef(_0x368e5a,_0x146f6e,_0x2327c6){return void 0x0!==_0x368e5a[_0x1a4e('0x232f')]&&_0x70ad38(_0x368e5a,_0x146f6e,_0x2327c6);}function _0x344db9(_0x368e5a,_0x146f6e,_0x2327c6){return _0x5b4bef(_0x368e5a,_0x146f6e,_0x2327c6)||_0x30f139(_0x368e5a,_0x146f6e);}function _0x30f139(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf0:return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x2369')],function(_0x368e5a){return _0x344db9(_0x368e5a,_0x146f6e,_0x2327c6);});case 0x9c:case 0x9f:return _0x368e5a['some'](_0x146f6e[_0x1a4e('0x111a')],function(_0x368e5a){return _0x5b4bef(_0x368e5a,_0x146f6e,_0x2327c6);});default:return!0x1;}}function _0x5f1fbf(_0x368e5a){var _0x146f6e=_0x368e5a['parent'];return(0x106===_0x146f6e[_0x1a4e('0x146b')]||0x105===_0x146f6e['kind']||0x107===_0x146f6e[_0x1a4e('0x146b')])&&_0x146f6e['tagName']===_0x368e5a;}function _0x29eeb1(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x62:case 0x60:case 0x66:case 0x57:case 0xd:case 0xbb:case 0xbc:case 0xbd:case 0xbe:case 0xbf:case 0xc0:case 0xc1:case 0xd4:case 0xc2:case 0xd5:case 0xc3:case 0xc4:case 0xd1:case 0xc5:case 0xc8:case 0xc6:case 0xc7:case 0xca:case 0xcb:case 0xcc:case 0xcd:case 0xd0:case 0xce:case 0xe:case 0xd2:case 0x104:case 0x105:case 0x108:case 0xcf:case 0xc9:case 0xd6:return!0x0;case 0x94:for(;0x94===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')];)_0x368e5a=_0x368e5a[_0x1a4e('0x11c')];return 0xa7===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||_0x5f1fbf(_0x368e5a);case 0x48:if(0xa7===_0x368e5a['parent'][_0x1a4e('0x146b')]||_0x5f1fbf(_0x368e5a))return!0x0;case 0x8:case 0x9:case 0xa:case 0x64:return _0x196dcd(_0x368e5a);default:return!0x1;}}function _0x196dcd(_0x368e5a){var _0x146f6e=_0x368e5a['parent'];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xed:case 0x97:case 0x9a:case 0x99:case 0x116:case 0x113:case 0xba:return _0x146f6e[_0x1a4e('0x236a')]===_0x368e5a;case 0xdd:case 0xde:case 0xdf:case 0xe0:case 0xe6:case 0xe7:case 0xe8:case 0x10f:case 0xea:return _0x146f6e['expression']===_0x368e5a;case 0xe1:var _0x2327c6=_0x146f6e;return _0x2327c6[_0x1a4e('0x236a')]===_0x368e5a&&0xee!==_0x2327c6[_0x1a4e('0x236a')]['kind']||_0x2327c6[_0x1a4e('0x236b')]===_0x368e5a||_0x2327c6[_0x1a4e('0x236c')]===_0x368e5a;case 0xe2:case 0xe3:var _0x55ff7e=_0x146f6e;return _0x55ff7e['initializer']===_0x368e5a&&0xee!==_0x55ff7e[_0x1a4e('0x236a')][_0x1a4e('0x146b')]||_0x55ff7e[_0x1a4e('0x2302')]===_0x368e5a;case 0xc2:case 0xd4:case 0xd8:case 0x95:return _0x368e5a===_0x146f6e['expression'];case 0x98:case 0x10e:case 0x10d:case 0x115:return!0x0;case 0xd3:return _0x146f6e['expression']===_0x368e5a&&_0x1f86e2(_0x146f6e);case 0x114:return _0x146f6e['objectAssignmentInitializer']===_0x368e5a;default:return _0x29eeb1(_0x146f6e);}}function _0x3381ab(_0x368e5a){return 0xf8===_0x368e5a[_0x1a4e('0x146b')]&&0x103===_0x368e5a[_0x1a4e('0x236d')]['kind'];}function _0x2f3a49(_0x368e5a){return _0x495fe5(_0x368e5a);}function _0x495fe5(_0x368e5a){return!!_0x368e5a&&!!(0x10000&_0x368e5a['flags']);}function _0x36a940(_0x146f6e,_0x2327c6){if(0xbf!==_0x146f6e[_0x1a4e('0x146b')])return!0x1;var _0x55ff7e=_0x146f6e,_0x1adc17=_0x55ff7e['expression'],_0xf79407=_0x55ff7e['arguments'];if(0x48!==_0x1adc17[_0x1a4e('0x146b')]||_0x1a4e('0xfd8')!==_0x1adc17['escapedText'])return!0x1;if(0x1!==_0xf79407['length'])return!0x1;var _0x2c9ec9=_0xf79407[0x0];return!_0x2327c6||_0x368e5a['isStringLiteralLike'](_0x2c9ec9);}function _0x56cd99(_0x146f6e){return _0x495fe5(_0x146f6e)&&_0x146f6e[_0x1a4e('0x236a')]&&_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x236a')])&&0x37===_0x146f6e[_0x1a4e('0x236a')]['operatorToken'][_0x1a4e('0x146b')]&&_0x146f6e['name']&&_0x57f2f8(_0x146f6e[_0x1a4e('0x2cb')])&&_0x4803b0(_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x5f')])?_0x146f6e['initializer']['right']:_0x146f6e[_0x1a4e('0x236a')];}function _0x8515fa(_0x146f6e,_0x2327c6){if(_0x368e5a['isCallExpression'](_0x146f6e)){var _0x55ff7e=_0xaf6b9e(_0x146f6e[_0x1a4e('0x2302')]);return 0xc4===_0x55ff7e[_0x1a4e('0x146b')]||0xc5===_0x55ff7e[_0x1a4e('0x146b')]?_0x146f6e:void 0x0;}return 0xc4===_0x146f6e[_0x1a4e('0x146b')]||0xd1===_0x146f6e[_0x1a4e('0x146b')]||0xc5===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e:_0x368e5a[_0x1a4e('0x236f')](_0x146f6e)&&(0x0===_0x146f6e[_0x1a4e('0x13')]['length']||_0x2327c6)?_0x146f6e:void 0x0;}function _0x4803b0(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)?_0x146f6e['escapedText']===_0x2327c6[_0x1a4e('0x22f3')]:_0x368e5a['isIdentifier'](_0x146f6e)&&_0x368e5a['isPropertyAccessExpression'](_0x2327c6)?(0x64===_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x2370')](_0x2327c6[_0x1a4e('0x2302')])&&(_0x1a4e('0x1302')===_0x2327c6['expression'][_0x1a4e('0x22f3')]||_0x1a4e('0x1303')===_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0x22f3')]||_0x1a4e('0x10e6')===_0x2327c6['expression']['escapedText']))&&_0x4803b0(_0x146f6e,_0x2327c6[_0x1a4e('0x2cb')]):!(!_0x368e5a[_0x1a4e('0x2371')](_0x146f6e)||!_0x368e5a[_0x1a4e('0x2371')](_0x2327c6))&&(_0x146f6e[_0x1a4e('0x2cb')]['escapedText']===_0x2327c6['name'][_0x1a4e('0x22f3')]&&_0x4803b0(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6[_0x1a4e('0x2302')]));}function _0x53d03c(_0x146f6e){return _0x368e5a['isIdentifier'](_0x146f6e)&&'exports'===_0x146f6e[_0x1a4e('0x22f3')];}function _0x404e9b(_0x146f6e){return _0x368e5a[_0x1a4e('0x2371')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['expression'])&&_0x1a4e('0xa6c')===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x22f3')]&&_0x1a4e('0x0')===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')];}function _0x28ecb0(_0x146f6e){var _0x2327c6=function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2372')](_0x146f6e)){if(!_0x25e90a(_0x146f6e))return 0x0;var _0x2327c6=_0x146f6e[_0x1a4e('0x2373')][0x0];return _0x53d03c(_0x2327c6)||_0x404e9b(_0x2327c6)?0x8:_0x368e5a['isPropertyAccessExpression'](_0x2327c6)&&_0x1a4e('0xa')===_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]&&_0x57f2f8(_0x2327c6[_0x1a4e('0x2302')])?0x9:0x7;}if(0x3b!==_0x146f6e['operatorToken'][_0x1a4e('0x146b')]||!_0x368e5a[_0x1a4e('0x2371')](_0x146f6e[_0x1a4e('0x5f')]))return 0x0;var _0x55ff7e=_0x146f6e['left'];if(_0x57f2f8(_0x55ff7e[_0x1a4e('0x2302')])&&_0x1a4e('0xa')===_0x55ff7e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]&&_0x368e5a[_0x1a4e('0x236f')](_0xf04867(_0x146f6e)))return 0x6;return _0x55b315(_0x55ff7e);}(_0x146f6e);return 0x5===_0x2327c6||_0x495fe5(_0x146f6e)?_0x2327c6:0x0;}function _0x25e90a(_0x146f6e){return 0x3===_0x368e5a[_0x1a4e('0x1e')](_0x146f6e[_0x1a4e('0x2373')])&&_0x368e5a[_0x1a4e('0x2371')](_0x146f6e[_0x1a4e('0x2302')])&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['expression'][_0x1a4e('0x2302')])&&_0x1a4e('0xfb5')===_0x368e5a[_0x1a4e('0x2353')](_0x146f6e['expression'][_0x1a4e('0x2302')])&&'defineProperty'===_0x368e5a['idText'](_0x146f6e[_0x1a4e('0x2302')]['name'])&&_0x434c79(_0x146f6e[_0x1a4e('0x2373')][0x1])&&_0x57f2f8(_0x146f6e[_0x1a4e('0x2373')][0x0]);}function _0x55b315(_0x146f6e){if(0x64===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')])return 0x4;if(_0x404e9b(_0x146f6e))return 0x2;if(_0x57f2f8(_0x146f6e[_0x1a4e('0x2302')])){if(_0x51bd9c(_0x146f6e['expression']))return 0x3;for(var _0x2327c6=_0x146f6e;_0x368e5a[_0x1a4e('0x2371')](_0x2327c6[_0x1a4e('0x2302')]);)_0x2327c6=_0x2327c6[_0x1a4e('0x2302')];_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x368e5a['isIdentifier'](_0x2327c6[_0x1a4e('0x2302')]));var _0x55ff7e=_0x2327c6[_0x1a4e('0x2302')];return _0x1a4e('0x0')===_0x55ff7e[_0x1a4e('0x22f3')]||_0x1a4e('0xa6c')===_0x55ff7e[_0x1a4e('0x22f3')]&&'exports'===_0x2327c6['name'][_0x1a4e('0x22f3')]?0x1:0x5;}return 0x0;}function _0xf04867(_0x146f6e){for(;_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x5d')]);)_0x146f6e=_0x146f6e[_0x1a4e('0x5d')];return _0x146f6e[_0x1a4e('0x5d')];}function _0x1f1b73(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xf9:case 0xff:return _0x146f6e[_0x1a4e('0x11c')];case 0x103:return _0x146f6e[_0x1a4e('0x11c')]['parent'];case 0xbf:return _0x544b98(_0x146f6e[_0x1a4e('0x11c')])||_0x36a940(_0x146f6e[_0x1a4e('0x11c')],!0x1)?_0x146f6e[_0x1a4e('0x11c')]:void 0x0;case 0xb6:return _0x368e5a[_0x1a4e('0x1749')]['assert'](_0x368e5a[_0x1a4e('0x2374')](_0x146f6e)),_0x368e5a[_0x1a4e('0x172e')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x22fe')]);default:return;}}function _0x4cf769(_0x368e5a){return 0x130===_0x368e5a[_0x1a4e('0x146b')]||0x129===_0x368e5a['kind'];}function _0x863d8d(_0x146f6e){return _0x368e5a[_0x1a4e('0x2375')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x2302')])&&0x0!==_0x28ecb0(_0x146f6e[_0x1a4e('0x2302')])&&_0x368e5a['isBinaryExpression'](_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x5d')])&&0x37===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x5d')]['operatorToken'][_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x5d')][_0x1a4e('0x5d')]:void 0x0;}function _0x8608f2(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xdb:var _0x146f6e=_0x5c5ffe(_0x368e5a);return _0x146f6e&&_0x146f6e['initializer'];case 0x9a:case 0x113:return _0x368e5a[_0x1a4e('0x236a')];}}function _0x5c5ffe(_0x146f6e){return _0x368e5a[_0x1a4e('0x2376')](_0x146f6e)?_0x368e5a[_0x1a4e('0x1721')](_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')]):void 0x0;}function _0x3bae4b(_0x146f6e){return _0x368e5a[_0x1a4e('0x22ef')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x8f2')]&&0xf4===_0x146f6e[_0x1a4e('0x8f2')]['kind']?_0x146f6e['body']:void 0x0;}function _0x3618c4(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];return 0x113===_0x2327c6[_0x1a4e('0x146b')]||0x9a===_0x2327c6[_0x1a4e('0x146b')]||0xdd===_0x2327c6[_0x1a4e('0x146b')]&&0xbd===_0x146f6e[_0x1a4e('0x146b')]||_0x3bae4b(_0x2327c6)||_0x368e5a[_0x1a4e('0x236e')](_0x146f6e)&&0x3b===_0x146f6e['operatorToken'][_0x1a4e('0x146b')]?_0x2327c6:_0x2327c6['parent']&&(_0x5c5ffe(_0x2327c6[_0x1a4e('0x11c')])===_0x146f6e||_0x368e5a['isBinaryExpression'](_0x2327c6)&&0x3b===_0x2327c6['operatorToken'][_0x1a4e('0x146b')])?_0x2327c6['parent']:_0x2327c6['parent']&&_0x2327c6['parent'][_0x1a4e('0x11c')]&&(_0x5c5ffe(_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')])||_0x8608f2(_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')])===_0x146f6e||_0x863d8d(_0x2327c6[_0x1a4e('0x11c')]['parent']))?_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:void 0x0;}function _0x4f08d3(_0x368e5a){return _0x2d68e6(_0x6ad0f2(_0x368e5a));}function _0x2d68e6(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x863d8d(_0x146f6e)||(_0x2327c6=_0x146f6e,_0x368e5a[_0x1a4e('0x2375')](_0x2327c6)&&_0x2327c6['expression']&&_0x368e5a[_0x1a4e('0x236e')](_0x2327c6['expression'])&&0x3b===_0x2327c6[_0x1a4e('0x2302')]['operatorToken'][_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0x5d')]:void 0x0)||_0x8608f2(_0x146f6e)||_0x5c5ffe(_0x146f6e)||_0x3bae4b(_0x146f6e)||_0x146f6e;return _0x55ff7e&&_0x368e5a[_0x1a4e('0x2342')](_0x55ff7e)?_0x55ff7e:void 0x0;}function _0x6ad0f2(_0x146f6e){return _0x368e5a['Debug'][_0x1a4e('0x1744')](_0xf79407(_0x146f6e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2378')]))[_0x1a4e('0x11c')];}function _0x5b0970(_0x146f6e){var _0x2327c6=_0x368e5a['isJSDocParameterTag'](_0x146f6e)?_0x146f6e[_0x1a4e('0x2379')]&&_0x146f6e[_0x1a4e('0x2379')][_0x1a4e('0x40')]:_0x146f6e[_0x1a4e('0x40')];return void 0x0!==_0x146f6e['dotDotDotToken']||!!_0x2327c6&&0x122===_0x2327c6[_0x1a4e('0x146b')];}function _0x13d9c3(_0x368e5a){for(var _0x146f6e=_0x368e5a[_0x1a4e('0x11c')];;){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xcc:var _0x2327c6=_0x146f6e[_0x1a4e('0x237a')][_0x1a4e('0x146b')];return _0x4f85df(_0x2327c6)&&_0x146f6e[_0x1a4e('0x5f')]===_0x368e5a?0x3b===_0x2327c6?0x1:0x2:0x0;case 0xca:case 0xcb:var _0x55ff7e=_0x146f6e[_0x1a4e('0x1474')];return 0x2c===_0x55ff7e||0x2d===_0x55ff7e?0x2:0x0;case 0xe2:case 0xe3:return _0x146f6e[_0x1a4e('0x236a')]===_0x368e5a?0x1:0x0;case 0xc3:case 0xbb:case 0xd0:case 0xd5:_0x368e5a=_0x146f6e;break;case 0x114:if(_0x146f6e['name']!==_0x368e5a)return 0x0;_0x368e5a=_0x146f6e[_0x1a4e('0x11c')];break;case 0x113:if(_0x146f6e[_0x1a4e('0x2cb')]===_0x368e5a)return 0x0;_0x368e5a=_0x146f6e[_0x1a4e('0x11c')];break;default:return 0x0;}_0x146f6e=_0x368e5a[_0x1a4e('0x11c')];}}function _0x1919e1(_0x368e5a,_0x146f6e){for(;_0x368e5a&&_0x368e5a['kind']===_0x146f6e;)_0x368e5a=_0x368e5a['parent'];return _0x368e5a;}function _0x5807ee(_0x368e5a){return _0x1919e1(_0x368e5a,0xc3);}function _0xaf6b9e(_0x368e5a){for(;0xc3===_0x368e5a[_0x1a4e('0x146b')];)_0x368e5a=_0x368e5a[_0x1a4e('0x2302')];return _0x368e5a;}function _0x112203(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x237b')](_0x146f6e)?_0x146f6e['expression']:_0x146f6e[_0x1a4e('0x5d')];return _0x57f2f8(_0x2327c6)||_0x368e5a[_0x1a4e('0x237c')](_0x2327c6);}function _0x16e100(_0x146f6e){if(_0x495fe5(_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x237d')](_0x146f6e);if(_0x2327c6)return _0x2327c6[_0x1a4e('0x237e')];}return _0x17991c(_0x146f6e);}function _0x17991c(_0x368e5a){var _0x146f6e=_0x3bbfc(_0x368e5a[_0x1a4e('0x237f')],0x56);return _0x146f6e&&_0x146f6e[_0x1a4e('0x2380')]['length']>0x0?_0x146f6e[_0x1a4e('0x2380')][0x0]:void 0x0;}function _0x380f38(_0x368e5a){var _0x146f6e=_0x3bbfc(_0x368e5a['heritageClauses'],0x6d);return _0x146f6e?_0x146f6e[_0x1a4e('0x2380')]:void 0x0;}function _0x275b66(_0x368e5a){var _0x146f6e=_0x3bbfc(_0x368e5a['heritageClauses'],0x56);return _0x146f6e?_0x146f6e[_0x1a4e('0x2380')]:void 0x0;}function _0x3bbfc(_0x368e5a,_0x146f6e){if(_0x368e5a)for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(_0x1adc17[_0x1a4e('0x2381')]===_0x146f6e)return _0x1adc17;}}function _0x271254(_0x368e5a){return 0x49<=_0x368e5a&&_0x368e5a<=0x93;}function _0x57ee5b(_0x368e5a){return 0x76<=_0x368e5a&&_0x368e5a<=0x93;}function _0x5d1933(_0x368e5a){return _0x271254(_0x368e5a)&&!_0x57ee5b(_0x368e5a);}function _0x434c79(_0x146f6e){return _0x368e5a['isStringLiteralLike'](_0x146f6e)||_0x368e5a['isNumericLiteral'](_0x146f6e);}function _0x387534(_0x146f6e){var _0x2327c6=_0x368e5a['getNameOfDeclaration'](_0x146f6e);return!!_0x2327c6&&_0x354bcf(_0x2327c6);}function _0x354bcf(_0x368e5a){return 0x95===_0x368e5a[_0x1a4e('0x146b')]&&!_0x434c79(_0x368e5a['expression'])&&!_0x453135(_0x368e5a['expression']);}function _0x453135(_0x146f6e){return _0x368e5a[_0x1a4e('0x2371')](_0x146f6e)&&_0x42af91(_0x146f6e[_0x1a4e('0x2302')]);}function _0x2e3619(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x146f6e[_0x1a4e('0x22f3')];case 0xa:case 0x8:return _0x368e5a[_0x1a4e('0x22f4')](_0x146f6e[_0x1a4e('0xe04')]);case 0x95:var _0x2327c6=_0x146f6e[_0x1a4e('0x2302')];return _0x453135(_0x2327c6)?_0x339f25(_0x368e5a[_0x1a4e('0x2353')](_0x2327c6[_0x1a4e('0x2cb')])):_0x434c79(_0x2327c6)?_0x368e5a[_0x1a4e('0x22f4')](_0x2327c6[_0x1a4e('0xe04')]):void 0x0;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}function _0x339f25(_0x368e5a){return _0x1a4e('0x2382')+_0x368e5a;}function _0x42af91(_0x368e5a){return 0x48===_0x368e5a[_0x1a4e('0x146b')]&&_0x1a4e('0xf5b')===_0x368e5a['escapedText'];}function _0x43ab44(_0x368e5a){for(;0xba===_0x368e5a[_0x1a4e('0x146b')];)_0x368e5a=_0x368e5a['parent'][_0x1a4e('0x11c')];return _0x368e5a;}function _0xde1b92(_0x146f6e){return _0x368e5a['positionIsSynthesized'](_0x146f6e[_0x1a4e('0xa4')])||_0x368e5a[_0x1a4e('0x2383')](_0x146f6e['end']);}function _0x13a61b(_0x368e5a,_0x146f6e,_0x2327c6){switch(_0x368e5a){case 0xc0:return _0x2327c6?0x0:0x1;case 0xca:case 0xc7:case 0xc8:case 0xc6:case 0xc9:case 0xcd:case 0xcf:return 0x1;case 0xcc:switch(_0x146f6e){case 0x29:case 0x3b:case 0x3c:case 0x3d:case 0x3f:case 0x3e:case 0x40:case 0x41:case 0x42:case 0x43:case 0x44:case 0x45:case 0x47:case 0x46:return 0x1;}}return 0x0;}function _0x24ff39(_0x368e5a){return 0xcc===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x237a')][_0x1a4e('0x146b')]:0xca===_0x368e5a['kind']||0xcb===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x1474')]:_0x368e5a[_0x1a4e('0x146b')];}function _0x37937a(_0x368e5a,_0x146f6e,_0x2327c6){switch(_0x368e5a){case 0x135:return 0x0;case 0xd0:return 0x1;case 0xcf:return 0x2;case 0xcd:return 0x4;case 0xcc:switch(_0x146f6e){case 0x1b:return 0x0;case 0x3b:case 0x3c:case 0x3d:case 0x3f:case 0x3e:case 0x40:case 0x41:case 0x42:case 0x43:case 0x44:case 0x45:case 0x47:case 0x46:return 0x3;default:return _0x56dcf7(_0x146f6e);}case 0xca:case 0xc7:case 0xc8:case 0xc6:case 0xc9:return 0x10;case 0xcb:return 0x11;case 0xbf:return 0x12;case 0xc0:return _0x2327c6?0x13:0x12;case 0xc1:case 0xbd:case 0xbe:return 0x13;case 0x64:case 0x62:case 0x48:case 0x60:case 0x66:case 0x57:case 0x8:case 0x9:case 0xa:case 0xbb:case 0xbc:case 0xc4:case 0xc5:case 0xd1:case 0x104:case 0x105:case 0x108:case 0xd:case 0xe:case 0xce:case 0xc3:case 0xd2:return 0x14;default:return-0x1;}}function _0x56dcf7(_0x368e5a){switch(_0x368e5a){case 0x37:return 0x5;case 0x36:return 0x6;case 0x32:return 0x7;case 0x33:return 0x8;case 0x31:return 0x9;case 0x21:case 0x22:case 0x23:case 0x24:return 0xa;case 0x1c:case 0x1e:case 0x1f:case 0x20:case 0x5e:case 0x5d:case 0x77:return 0xb;case 0x2e:case 0x2f:case 0x30:return 0xc;case 0x26:case 0x27:return 0xd;case 0x28:case 0x2a:case 0x2b:return 0xe;case 0x29:return 0xf;}return-0x1;}_0x368e5a[_0x1a4e('0x2384')]=_0x1f9f07,_0x368e5a[_0x1a4e('0x2385')]=function(_0x368e5a,_0x146f6e){for(;_0x368e5a;){if(_0x368e5a[_0x1a4e('0x146b')]===_0x146f6e)return!0x0;_0x368e5a=_0x368e5a['parent'];}return!0x1;},_0x368e5a[_0x1a4e('0x2386')]=function(_0x146f6e,_0x2327c6){return function _0x146f6e(_0x55ff7e){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xe6:return _0x2327c6(_0x55ff7e);case 0xf6:case 0xda:case 0xde:case 0xdf:case 0xe0:case 0xe1:case 0xe2:case 0xe3:case 0xe7:case 0xe8:case 0x10f:case 0x110:case 0xe9:case 0xeb:case 0x112:return _0x368e5a['forEachChild'](_0x55ff7e,_0x146f6e);}}(_0x146f6e);},_0x368e5a[_0x1a4e('0x2387')]=function(_0x146f6e,_0x2327c6){return function _0x146f6e(_0x55ff7e){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xcf:_0x2327c6(_0x55ff7e);var _0x1adc17=_0x55ff7e[_0x1a4e('0x2302')];return void(_0x1adc17&&_0x146f6e(_0x1adc17));case 0xf3:case 0xf1:case 0xf4:case 0xf2:case 0xf0:case 0xd1:return;default:if(_0x368e5a[_0x1a4e('0x2342')](_0x55ff7e)){if(_0x55ff7e[_0x1a4e('0x2cb')]&&0x95===_0x55ff7e['name'][_0x1a4e('0x146b')])return void _0x146f6e(_0x55ff7e['name'][_0x1a4e('0x2302')]);}else _0x1f9f07(_0x55ff7e)||_0x368e5a[_0x1a4e('0x22eb')](_0x55ff7e,_0x146f6e);}}(_0x146f6e);},_0x368e5a['getRestParameterElementType']=function(_0x146f6e){return _0x146f6e&&0xa9===_0x146f6e['kind']?_0x146f6e[_0x1a4e('0x2388')]:_0x146f6e&&0xa4===_0x146f6e['kind']?_0x368e5a['singleOrUndefined'](_0x146f6e[_0x1a4e('0x2365')]):void 0x0;},_0x368e5a[_0x1a4e('0x2389')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xf1:case 0xf0:case 0xd1:case 0xa8:return _0x368e5a['members'];case 0xbc:return _0x368e5a[_0x1a4e('0x13')];}},_0x368e5a['isVariableLike']=_0x4fe73d,_0x368e5a['isVariableLikeOrAccessor']=function(_0x146f6e){return _0x4fe73d(_0x146f6e)||_0x368e5a[_0x1a4e('0x238a')](_0x146f6e);},_0x368e5a[_0x1a4e('0x238b')]=_0x285da9,_0x368e5a[_0x1a4e('0x238c')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x238d')](_0x146f6e)?_0x3df3a7(_0x146f6e)&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])&&_0x285da9(_0x146f6e):_0x368e5a['isPropertyDeclaration'](_0x146f6e)?_0x488208(_0x146f6e)&&_0x18e9fa(_0x146f6e):_0x368e5a[_0x1a4e('0x238e')](_0x146f6e)&&_0x488208(_0x146f6e);},_0x368e5a['introducesArgumentsExoticObject']=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:case 0xef:case 0xc4:return!0x0;}return!0x1;},_0x368e5a[_0x1a4e('0x238f')]=function(_0x368e5a,_0x146f6e){for(;;){if(_0x146f6e&&_0x146f6e(_0x368e5a),0xe9!==_0x368e5a[_0x1a4e('0x2390')][_0x1a4e('0x146b')])return _0x368e5a[_0x1a4e('0x2390')];_0x368e5a=_0x368e5a['statement'];}},_0x368e5a[_0x1a4e('0x2391')]=function(_0x146f6e){return _0x146f6e&&0xda===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2342')](_0x146f6e[_0x1a4e('0x11c')]);},_0x368e5a['isObjectLiteralMethod']=function(_0x368e5a){return _0x368e5a&&0x9c===_0x368e5a[_0x1a4e('0x146b')]&&0xbc===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2392')]=function(_0x368e5a){return 0x9c===_0x368e5a['kind']&&(0xbc===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0xd1===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]);},_0x368e5a[_0x1a4e('0x2393')]=function(_0x368e5a){return _0x368e5a&&0x1===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isThisTypePredicate']=function(_0x368e5a){return _0x368e5a&&0x0===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2394')]=_0x35cb9c,_0x368e5a[_0x1a4e('0x2395')]=_0x205491,_0x368e5a[_0x1a4e('0x2396')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x1703')](_0x162224(_0x146f6e,_0x2327c6),function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2397')](_0x146f6e[_0x1a4e('0x236a')])?_0x368e5a['find'](_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x2398')],function(_0x146f6e){return _0x368e5a['isStringLiteral'](_0x146f6e)&&_0x146f6e['text']===_0x55ff7e;}):void 0x0;});},_0x368e5a[_0x1a4e('0x2399')]=_0x162224,_0x368e5a['getContainingFunction']=function(_0x146f6e){return _0xf79407(_0x146f6e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2342')]);},_0x368e5a[_0x1a4e('0x239a')]=function(_0x146f6e){return _0xf79407(_0x146f6e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2367')]);},_0x368e5a[_0x1a4e('0x239b')]=_0x3030c1,_0x368e5a[_0x1a4e('0x239c')]=function(_0x368e5a){var _0x146f6e=_0x3030c1(_0x368e5a,!0x1);if(_0x146f6e)switch(_0x146f6e['kind']){case 0x9d:case 0xef:case 0xc4:return _0x146f6e;}},_0x368e5a[_0x1a4e('0x239d')]=function(_0x146f6e,_0x2327c6){for(;;){if(!(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]))return _0x146f6e;switch(_0x146f6e['kind']){case 0x95:_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];break;case 0xef:case 0xc4:case 0xc5:if(!_0x2327c6)continue;case 0x9a:case 0x99:case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:return _0x146f6e;case 0x98:0x97===_0x146f6e[_0x1a4e('0x11c')]['kind']&&_0x368e5a['isClassElement'](_0x146f6e[_0x1a4e('0x11c')]['parent'])?_0x146f6e=_0x146f6e['parent'][_0x1a4e('0x11c')]:_0x368e5a['isClassElement'](_0x146f6e[_0x1a4e('0x11c')])&&(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]);}}},_0x368e5a[_0x1a4e('0x239e')]=function(_0x368e5a){if(0xc4===_0x368e5a[_0x1a4e('0x146b')]||0xc5===_0x368e5a[_0x1a4e('0x146b')]){for(var _0x146f6e=_0x368e5a,_0x2327c6=_0x368e5a[_0x1a4e('0x11c')];0xc3===_0x2327c6[_0x1a4e('0x146b')];)_0x146f6e=_0x2327c6,_0x2327c6=_0x2327c6[_0x1a4e('0x11c')];if(0xbf===_0x2327c6[_0x1a4e('0x146b')]&&_0x2327c6[_0x1a4e('0x2302')]===_0x146f6e)return _0x2327c6;}},_0x368e5a[_0x1a4e('0x239f')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return(0xbd===_0x146f6e||0xbe===_0x146f6e)&&0x62===_0x368e5a['expression']['kind'];},_0x368e5a[_0x1a4e('0x23a0')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return(0xbd===_0x146f6e||0xbe===_0x146f6e)&&0x64===_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x23a1')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xa4:return _0x368e5a[_0x1a4e('0xe7d')];case 0xd3:return _0x57f2f8(_0x368e5a[_0x1a4e('0x2302')])?_0x368e5a[_0x1a4e('0x2302')]:void 0x0;case 0x48:case 0x94:return _0x368e5a;}},_0x368e5a[_0x1a4e('0x23a2')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xc1:return _0x368e5a[_0x1a4e('0x7ba')];case 0x106:case 0x105:return _0x368e5a[_0x1a4e('0x132b')];default:return _0x368e5a[_0x1a4e('0x2302')];}},_0x368e5a['nodeCanBeDecorated']=_0x70ad38,_0x368e5a[_0x1a4e('0x23a3')]=_0x5b4bef,_0x368e5a[_0x1a4e('0x23a4')]=_0x344db9,_0x368e5a['childIsDecorated']=_0x30f139,_0x368e5a['isJSXTagName']=_0x5f1fbf,_0x368e5a['isExpressionNode']=_0x29eeb1,_0x368e5a[_0x1a4e('0x23a5')]=_0x196dcd,_0x368e5a[_0x1a4e('0x23a6')]=_0x3381ab,_0x368e5a[_0x1a4e('0x23a7')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x3381ab(_0x146f6e)),_0x146f6e[_0x1a4e('0x236d')][_0x1a4e('0x2302')];},_0x368e5a[_0x1a4e('0x23a8')]=function(_0x368e5a){return 0xf8===_0x368e5a['kind']&&0x103!==_0x368e5a[_0x1a4e('0x236d')][_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x23a9')]=_0x2f3a49,_0x368e5a[_0x1a4e('0x23aa')]=function(_0x368e5a){return!_0x495fe5(_0x368e5a);},_0x368e5a['isInJSFile']=_0x495fe5,_0x368e5a[_0x1a4e('0x23ab')]=function(_0x368e5a){return!!_0x368e5a&&!!(0x1000000&_0x368e5a[_0x1a4e('0x7b2')]);},_0x368e5a[_0x1a4e('0x23ac')]=function(_0x368e5a){return!!_0x368e5a&&!!(0x200000&_0x368e5a[_0x1a4e('0x7b2')]);},_0x368e5a[_0x1a4e('0x23ad')]=function(_0x146f6e){return _0x368e5a['isTypeReferenceNode'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0xe7d')])&&'Object'===_0x146f6e[_0x1a4e('0xe7d')][_0x1a4e('0x22f3')]&&_0x146f6e['typeArguments']&&0x2===_0x146f6e[_0x1a4e('0x2365')][_0x1a4e('0x1e')]&&(0x8a===_0x146f6e[_0x1a4e('0x2365')][0x0][_0x1a4e('0x146b')]||0x87===_0x146f6e[_0x1a4e('0x2365')][0x0][_0x1a4e('0x146b')]);},_0x368e5a[_0x1a4e('0x23ae')]=_0x36a940,_0x368e5a['isSingleOrDoubleQuote']=function(_0x368e5a){return 0x27===_0x368e5a||0x22===_0x368e5a;},_0x368e5a[_0x1a4e('0x23af')]=function(_0x368e5a,_0x146f6e){return 0x22===_0x3f9aa2(_0x146f6e,_0x368e5a)[_0x1a4e('0x913')](0x0);},_0x368e5a['getDeclarationOfExpando']=function(_0x146f6e){if(_0x146f6e[_0x1a4e('0x11c')]){var _0x2327c6,_0x55ff7e;if(_0x368e5a[_0x1a4e('0x238d')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x236a')]===_0x146f6e){if(!_0x495fe5(_0x146f6e)&&!_0x3df3a7(_0x146f6e[_0x1a4e('0x11c')]))return;_0x2327c6=_0x146f6e['parent']['name'],_0x55ff7e=_0x146f6e['parent'];}else if(_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x11c')])&&0x3b===_0x146f6e[_0x1a4e('0x11c')]['operatorToken'][_0x1a4e('0x146b')]&&_0x146f6e['parent']['right']===_0x146f6e)_0x55ff7e=_0x2327c6=_0x146f6e[_0x1a4e('0x11c')]['left'];else if(_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x11c')])&&0x37===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x237a')][_0x1a4e('0x146b')]&&(_0x368e5a[_0x1a4e('0x238d')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x236a')]===_0x146f6e[_0x1a4e('0x11c')]?(_0x2327c6=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x2cb')],_0x55ff7e=_0x146f6e[_0x1a4e('0x11c')]['parent']):_0x368e5a['isBinaryExpression'](_0x146f6e['parent'][_0x1a4e('0x11c')])&&0x3b===_0x146f6e[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x237a')][_0x1a4e('0x146b')]&&_0x146f6e['parent'][_0x1a4e('0x11c')][_0x1a4e('0x5d')]===_0x146f6e[_0x1a4e('0x11c')]&&(_0x55ff7e=_0x2327c6=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x5f')]),!_0x2327c6||!_0x57f2f8(_0x2327c6)||!_0x4803b0(_0x2327c6,_0x146f6e['parent'][_0x1a4e('0x5f')])))return;if(_0x2327c6&&_0x8515fa(_0x146f6e,_0x51bd9c(_0x2327c6)))return _0x55ff7e;}},_0x368e5a[_0x1a4e('0x23b0')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x236e')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2371')](_0x146f6e)||_0x368e5a['isIdentifier'](_0x146f6e)||_0x368e5a[_0x1a4e('0x2372')](_0x146f6e);},_0x368e5a[_0x1a4e('0x23b1')]=_0x56cd99,_0x368e5a[_0x1a4e('0x23b2')]=function(_0x368e5a){var _0x146f6e=_0x56cd99(_0x368e5a);return _0x146f6e&&_0x8515fa(_0x146f6e,_0x51bd9c(_0x368e5a[_0x1a4e('0x2cb')]));},_0x368e5a[_0x1a4e('0x23b3')]=function(_0x146f6e){if(_0x146f6e&&_0x146f6e[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x11c')])&&0x3b===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x237a')][_0x1a4e('0x146b')]){var _0x2327c6=_0x51bd9c(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x5f')]);return _0x8515fa(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x5d')],_0x2327c6)||function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x236e')](_0x2327c6)&&0x37===_0x2327c6['operatorToken'][_0x1a4e('0x146b')]&&_0x8515fa(_0x2327c6[_0x1a4e('0x5d')],_0x55ff7e);if(_0x1adc17&&_0x4803b0(_0x146f6e,_0x2327c6[_0x1a4e('0x5f')]))return _0x1adc17;}(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x5f')],_0x146f6e['parent']['right'],_0x2327c6);}if(_0x146f6e&&_0x368e5a[_0x1a4e('0x2372')](_0x146f6e)&&_0x25e90a(_0x146f6e)){var _0x55ff7e=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x3b')](_0x146f6e['properties'],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23b4')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])&&_0x1a4e('0x255')===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]&&_0x146f6e['initializer']&&_0x8515fa(_0x146f6e[_0x1a4e('0x236a')],_0x2327c6);});}(_0x146f6e['arguments'][0x2],'prototype'===_0x146f6e['arguments'][0x1][_0x1a4e('0xe04')]);if(_0x55ff7e)return _0x55ff7e;}},_0x368e5a[_0x1a4e('0x23b5')]=_0x8515fa,_0x368e5a[_0x1a4e('0x23b6')]=function(_0x146f6e){var _0x2327c6=_0x368e5a['isVariableDeclaration'](_0x146f6e['parent'])?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]:_0x368e5a[_0x1a4e('0x236e')](_0x146f6e['parent'])&&0x3b===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x237a')][_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x5f')]:void 0x0;return _0x2327c6&&_0x8515fa(_0x146f6e[_0x1a4e('0x5d')],_0x51bd9c(_0x2327c6))&&_0x57f2f8(_0x2327c6)&&_0x4803b0(_0x2327c6,_0x146f6e[_0x1a4e('0x5f')]);},_0x368e5a[_0x1a4e('0x23b7')]=function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x236e')](_0x146f6e['parent'])){var _0x2327c6=0x37===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x237a')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])?_0x146f6e['parent'][_0x1a4e('0x11c')]:_0x146f6e[_0x1a4e('0x11c')];if(0x3b===_0x2327c6[_0x1a4e('0x237a')][_0x1a4e('0x146b')]&&_0x368e5a['isIdentifier'](_0x2327c6[_0x1a4e('0x5f')]))return _0x2327c6['left'];}else if(_0x368e5a[_0x1a4e('0x238d')](_0x146f6e[_0x1a4e('0x11c')]))return _0x146f6e[_0x1a4e('0x11c')]['name'];},_0x368e5a['getRightMostAssignedExpression']=function(_0x368e5a){for(;_0x231c74(_0x368e5a,!0x0);)_0x368e5a=_0x368e5a['right'];return _0x368e5a;},_0x368e5a[_0x1a4e('0x23b8')]=_0x53d03c,_0x368e5a[_0x1a4e('0x23b9')]=_0x404e9b,_0x368e5a[_0x1a4e('0x23ba')]=_0x28ecb0,_0x368e5a[_0x1a4e('0x23bb')]=_0x25e90a,_0x368e5a[_0x1a4e('0x23bc')]=_0x55b315,_0x368e5a[_0x1a4e('0x23bd')]=_0xf04867,_0x368e5a['isPrototypePropertyAssignment']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x236e')](_0x146f6e)&&0x3===_0x28ecb0(_0x146f6e);},_0x368e5a[_0x1a4e('0x23be')]=function(_0x146f6e){return _0x495fe5(_0x146f6e)&&_0x146f6e[_0x1a4e('0x11c')]&&0xdd===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&!!_0x368e5a[_0x1a4e('0x23bf')](_0x146f6e[_0x1a4e('0x11c')]);},_0x368e5a[_0x1a4e('0x23c0')]=function(_0x146f6e){if(!_0x146f6e||!_0x146f6e['valueDeclaration'])return!0x1;var _0x2327c6=_0x146f6e['valueDeclaration'];return 0xef===_0x2327c6[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x238d')](_0x2327c6)&&_0x2327c6[_0x1a4e('0x236a')]&&_0x368e5a[_0x1a4e('0x2342')](_0x2327c6[_0x1a4e('0x236a')]);},_0x368e5a[_0x1a4e('0x23c1')]=function(_0x146f6e){return _0x1f1b73(_0x146f6e)||_0x368e5a[_0x1a4e('0x1749')]['fail'](_0x368e5a['Debug'][_0x1a4e('0x23c2')](_0x146f6e[_0x1a4e('0x11c')]));},_0x368e5a[_0x1a4e('0x23c3')]=_0x1f1b73,_0x368e5a[_0x1a4e('0x23c4')]=function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf9:case 0xff:return _0x146f6e[_0x1a4e('0x23c5')];case 0xf8:return 0x103===_0x146f6e['moduleReference'][_0x1a4e('0x146b')]?_0x146f6e['moduleReference'][_0x1a4e('0x2302')]:void 0x0;case 0xb7:return _0x13808f(_0x146f6e)?_0x146f6e[_0x1a4e('0x2300')][_0x1a4e('0x2301')]:void 0x0;default:return _0x368e5a['Debug'][_0x1a4e('0x1746')](_0x146f6e);}},_0x368e5a['getNamespaceDeclarationNode']=function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf9:return _0x146f6e[_0x1a4e('0x23c6')]&&_0x368e5a[_0x1a4e('0x172e')](_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')],_0x368e5a['isNamespaceImport']);case 0xf8:return _0x146f6e;case 0xff:return;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}},_0x368e5a[_0x1a4e('0x23c8')]=function(_0x368e5a){return 0xf9===_0x368e5a[_0x1a4e('0x146b')]&&!!_0x368e5a[_0x1a4e('0x23c6')]&&!!_0x368e5a['importClause'][_0x1a4e('0x2cb')];},_0x368e5a[_0x1a4e('0x23c9')]=function(_0x368e5a){if(_0x368e5a)switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x97:case 0x9c:case 0x9b:case 0x114:case 0x113:case 0x9a:case 0x99:return void 0x0!==_0x368e5a[_0x1a4e('0x23ca')];}return!0x1;},_0x368e5a[_0x1a4e('0x23cb')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x23cc')](_0x146f6e)?_0x368e5a['firstOrUndefined'](_0x146f6e[_0x1a4e('0x111a')]):void 0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x172e')](_0x2327c6&&_0x2327c6['name'],_0x368e5a[_0x1a4e('0x2370')]);return!!_0x55ff7e&&_0x1a4e('0x22a5')===_0x55ff7e[_0x1a4e('0x22f3')];},_0x368e5a[_0x1a4e('0x23cd')]=_0x4cf769,_0x368e5a[_0x1a4e('0x23ce')]=function(_0x146f6e){return _0x4cf769(_0x146f6e)||_0x368e5a['isTypeAliasDeclaration'](_0x146f6e);},_0x368e5a[_0x1a4e('0x23cf')]=function(_0x146f6e){var _0x2327c6;_0x4fe73d(_0x146f6e)&&_0x368e5a['hasInitializer'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x23d0')](_0x146f6e['initializer'])&&(_0x2327c6=_0x368e5a[_0x1a4e('0x23d1')](_0x2327c6,_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x22ec')]));for(var _0x55ff7e=_0x146f6e;_0x55ff7e&&_0x55ff7e[_0x1a4e('0x11c')];){if(_0x368e5a[_0x1a4e('0x23d0')](_0x55ff7e)&&(_0x2327c6=_0x368e5a['addRange'](_0x2327c6,_0x55ff7e[_0x1a4e('0x22ec')])),0x97===_0x55ff7e['kind']){_0x2327c6=_0x368e5a[_0x1a4e('0x23d1')](_0x2327c6,_0x368e5a[_0x1a4e('0x23d2')](_0x55ff7e));break;}if(0x96===_0x55ff7e[_0x1a4e('0x146b')]){_0x2327c6=_0x368e5a[_0x1a4e('0x23d1')](_0x2327c6,_0x368e5a[_0x1a4e('0x23d3')](_0x55ff7e));break;}_0x55ff7e=_0x3618c4(_0x55ff7e);}return _0x2327c6||_0x368e5a['emptyArray'];},_0x368e5a['getParameterSymbolFromJSDoc']=function(_0x146f6e){if(_0x146f6e[_0x1a4e('0xb1b')])return _0x146f6e[_0x1a4e('0xb1b')];if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['name'])){var _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')],_0x55ff7e=_0x4f08d3(_0x146f6e);if(_0x55ff7e){var _0x1adc17=_0x368e5a['find'](_0x55ff7e[_0x1a4e('0x111a')],function(_0x368e5a){return 0x48===_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]===_0x2327c6;});return _0x1adc17&&_0x1adc17[_0x1a4e('0xb1b')];}}},_0x368e5a[_0x1a4e('0x23d4')]=_0x4f08d3,_0x368e5a[_0x1a4e('0x23d5')]=_0x2d68e6,_0x368e5a[_0x1a4e('0x23d6')]=_0x6ad0f2,_0x368e5a['getTypeParameterFromJsDoc']=function(_0x146f6e){var _0x2327c6=_0x146f6e['name'][_0x1a4e('0x22f3')],_0x55ff7e=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x23d7')];return _0x368e5a[_0x1a4e('0x1c7')](_0x55ff7e,function(_0x368e5a){return _0x368e5a['name'][_0x1a4e('0x22f3')]===_0x2327c6;});},_0x368e5a[_0x1a4e('0x23d8')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1722')](_0x146f6e['parameters']);return!!_0x2327c6&&_0x5b0970(_0x2327c6);},_0x368e5a['isRestParameter']=_0x5b0970,function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['Definite']=0x1]=_0x1a4e('0x23d9'),_0x368e5a[_0x368e5a['Compound']=0x2]=_0x1a4e('0x23da');}(_0x368e5a[_0x1a4e('0x23db')]||(_0x368e5a[_0x1a4e('0x23db')]={})),_0x368e5a[_0x1a4e('0x23dc')]=_0x13d9c3,_0x368e5a[_0x1a4e('0x23dd')]=function(_0x368e5a){return 0x0!==_0x13d9c3(_0x368e5a);},_0x368e5a[_0x1a4e('0x23de')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xda:case 0xdb:case 0xe7:case 0xde:case 0xe8:case 0xf6:case 0x10f:case 0x110:case 0xe9:case 0xe1:case 0xe2:case 0xe3:case 0xdf:case 0xe0:case 0xeb:case 0x112:return!0x0;}return!0x1;},_0x368e5a['isValueSignatureDeclaration']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23df')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23e0')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23e1')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23e2')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23e3')](_0x146f6e);},_0x368e5a[_0x1a4e('0x23e4')]=function(_0x368e5a){return _0x1919e1(_0x368e5a,0xb1);},_0x368e5a['walkUpParenthesizedExpressions']=_0x5807ee,_0x368e5a['skipParentheses']=_0xaf6b9e,_0x368e5a['isDeleteTarget']=function(_0x368e5a){return(0xbd===_0x368e5a[_0x1a4e('0x146b')]||0xbe===_0x368e5a[_0x1a4e('0x146b')])&&(_0x368e5a=_0x5807ee(_0x368e5a['parent']))&&0xc6===_0x368e5a['kind'];},_0x368e5a['isNodeDescendantOf']=function(_0x368e5a,_0x146f6e){for(;_0x368e5a;){if(_0x368e5a===_0x146f6e)return!0x0;_0x368e5a=_0x368e5a['parent'];}return!0x1;},_0x368e5a[_0x1a4e('0x23e5')]=function(_0x146f6e){return!_0x368e5a['isSourceFile'](_0x146f6e)&&!_0x368e5a['isBindingPattern'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x23e6')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')]['name']===_0x146f6e;},_0x368e5a[_0x1a4e('0x23e7')]=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xa:case 0x8:if(_0x368e5a[_0x1a4e('0x23e8')](_0x2327c6))return _0x2327c6[_0x1a4e('0x11c')];case 0x48:if(_0x368e5a[_0x1a4e('0x23e6')](_0x2327c6))return _0x2327c6[_0x1a4e('0x2cb')]===_0x146f6e?_0x2327c6:void 0x0;if(_0x368e5a['isQualifiedName'](_0x2327c6)){var _0x55ff7e=_0x2327c6[_0x1a4e('0x11c')];return _0x368e5a['isJSDocParameterTag'](_0x55ff7e)&&_0x55ff7e[_0x1a4e('0x2cb')]===_0x2327c6?_0x55ff7e:void 0x0;}var _0x1adc17=_0x2327c6[_0x1a4e('0x11c')];return _0x368e5a[_0x1a4e('0x236e')](_0x1adc17)&&0x0!==_0x28ecb0(_0x1adc17)&&(_0x1adc17[_0x1a4e('0x5f')][_0x1a4e('0xb1b')]||_0x1adc17[_0x1a4e('0xb1b')])&&_0x368e5a[_0x1a4e('0x23e9')](_0x1adc17)===_0x146f6e?_0x1adc17:void 0x0;default:return;}},_0x368e5a[_0x1a4e('0x23ea')]=function(_0x146f6e){return(0xa===_0x146f6e[_0x1a4e('0x146b')]||0x8===_0x146f6e[_0x1a4e('0x146b')])&&0x95===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x23e6')](_0x146f6e[_0x1a4e('0x11c')]['parent']);},_0x368e5a[_0x1a4e('0x23eb')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['parent'];switch(_0x146f6e['kind']){case 0x9a:case 0x99:case 0x9c:case 0x9b:case 0x9e:case 0x9f:case 0x116:case 0x113:case 0xbd:return _0x146f6e['name']===_0x368e5a;case 0x94:if(_0x146f6e['right']===_0x368e5a){for(;0x94===_0x146f6e['kind'];)_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];return 0xa7===_0x146f6e[_0x1a4e('0x146b')]||0xa4===_0x146f6e['kind'];}return!0x1;case 0xba:case 0xfd:return _0x146f6e['propertyName']===_0x368e5a;case 0x101:case 0x10b:return!0x0;}return!0x1;},_0x368e5a[_0x1a4e('0x23ec')]=function(_0x146f6e){return 0xf8===_0x146f6e[_0x1a4e('0x146b')]||0xf7===_0x146f6e[_0x1a4e('0x146b')]||0xfa===_0x146f6e[_0x1a4e('0x146b')]&&!!_0x146f6e[_0x1a4e('0x2cb')]||0xfb===_0x146f6e[_0x1a4e('0x146b')]||0xfd===_0x146f6e[_0x1a4e('0x146b')]||0x101===_0x146f6e['kind']||0xfe===_0x146f6e[_0x1a4e('0x146b')]&&_0x112203(_0x146f6e)||_0x368e5a[_0x1a4e('0x236e')](_0x146f6e)&&0x2===_0x28ecb0(_0x146f6e)&&_0x112203(_0x146f6e);},_0x368e5a[_0x1a4e('0x23ed')]=_0x112203,_0x368e5a[_0x1a4e('0x1679')]=_0x16e100,_0x368e5a[_0x1a4e('0x23ee')]=_0x17991c,_0x368e5a[_0x1a4e('0x167a')]=_0x380f38,_0x368e5a['getAllSuperTypeNodes']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23ef')](_0x146f6e)?_0x275b66(_0x146f6e)||_0x368e5a[_0x1a4e('0x1700')]:_0x368e5a['isClassLike'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x1717')](_0x368e5a['singleElementArray'](_0x16e100(_0x146f6e)),_0x380f38(_0x146f6e))||_0x368e5a['emptyArray'];},_0x368e5a[_0x1a4e('0x167b')]=_0x275b66,_0x368e5a[_0x1a4e('0x23f0')]=_0x3bbfc,_0x368e5a['tryResolveScriptReference']=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x146f6e[_0x1a4e('0x23f1')]()[_0x1a4e('0x23f2')]){var _0x1adc17=_0x368e5a['isRootedDiskPath'](_0x55ff7e[_0x1a4e('0x1b39')])?_0x55ff7e['fileName']:_0x368e5a[_0x1a4e('0x1673')](_0x368e5a['getDirectoryPath'](_0x2327c6[_0x1a4e('0x1b39')]),_0x55ff7e['fileName']);return _0x146f6e['getSourceFile'](_0x1adc17);}},_0x368e5a['getAncestor']=function(_0x368e5a,_0x146f6e){for(;_0x368e5a;){if(_0x368e5a[_0x1a4e('0x146b')]===_0x146f6e)return _0x368e5a;_0x368e5a=_0x368e5a['parent'];}},_0x368e5a[_0x1a4e('0x23f3')]=_0x271254,_0x368e5a[_0x1a4e('0x23f4')]=_0x57ee5b,_0x368e5a[_0x1a4e('0x23f5')]=_0x5d1933,_0x368e5a[_0x1a4e('0x23f6')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x22bb')](_0x146f6e);return void 0x0!==_0x2327c6&&_0x5d1933(_0x2327c6);},_0x368e5a[_0x1a4e('0x23f7')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x23f8')];return!!_0x146f6e&&!_0x57ee5b(_0x146f6e);},_0x368e5a[_0x1a4e('0x23f9')]=function(_0x368e5a){return 0x2<=_0x368e5a&&_0x368e5a<=0x7;},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1734')]=0x0]=_0x1a4e('0x1734'),_0x368e5a[_0x368e5a[_0x1a4e('0x1378')]=0x1]='Generator',_0x368e5a[_0x368e5a['Async']=0x2]=_0x1a4e('0x18ec'),_0x368e5a[_0x368e5a['Invalid']=0x4]=_0x1a4e('0x23fa'),_0x368e5a[_0x368e5a[_0x1a4e('0x1add')]=0x3]=_0x1a4e('0x1add');}(_0x368e5a[_0x1a4e('0x23fb')]||(_0x368e5a[_0x1a4e('0x23fb')]={})),_0x368e5a['getFunctionFlags']=function(_0x368e5a){if(!_0x368e5a)return 0x4;var _0x146f6e=0x0;switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xef:case 0xc4:case 0x9c:_0x368e5a[_0x1a4e('0x23fc')]&&(_0x146f6e|=0x1);case 0xc5:_0x2230e2(_0x368e5a,0x100)&&(_0x146f6e|=0x2);}return _0x368e5a[_0x1a4e('0x8f2')]||(_0x146f6e|=0x4),_0x146f6e;},_0x368e5a[_0x1a4e('0x23fd')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xef:case 0xc4:case 0xc5:case 0x9c:return void 0x0!==_0x368e5a['body']&&void 0x0===_0x368e5a[_0x1a4e('0x23fc')]&&_0x2230e2(_0x368e5a,0x100);}return!0x1;},_0x368e5a['isStringOrNumericLiteralLike']=_0x434c79,_0x368e5a[_0x1a4e('0x23fe')]=_0x387534,_0x368e5a[_0x1a4e('0x23ff')]=_0x354bcf,_0x368e5a['isWellKnownSymbolSyntactically']=_0x453135,_0x368e5a['getPropertyNameForPropertyNameNode']=_0x2e3619,_0x368e5a[_0x1a4e('0x2400')]=function(_0x368e5a){switch(_0x368e5a['kind']){case 0x48:case 0xa:case 0xe:case 0x8:return!0x0;default:return!0x1;}},_0x368e5a[_0x1a4e('0x2401')]=function(_0x146f6e){return 0x48===_0x146f6e['kind']?_0x368e5a[_0x1a4e('0x2353')](_0x146f6e):_0x146f6e[_0x1a4e('0xe04')];},_0x368e5a['getEscapedTextOfIdentifierOrLiteral']=function(_0x146f6e){return 0x48===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x22f3')]:_0x368e5a[_0x1a4e('0x22f4')](_0x146f6e['text']);},_0x368e5a['getPropertyNameForKnownSymbolName']=_0x339f25,_0x368e5a[_0x1a4e('0x2402')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0xdfb')](_0x146f6e['escapedName'],'__@');},_0x368e5a[_0x1a4e('0x2403')]=_0x42af91,_0x368e5a[_0x1a4e('0x2404')]=function(_0x368e5a){return _0x1a4e('0x46')===_0x368e5a[_0x1a4e('0x22f3')]||_0x1a4e('0x66')===_0x368e5a[_0x1a4e('0x22f3')];},_0x368e5a[_0x1a4e('0x2405')]=function(_0x368e5a){return 0x97===_0x43ab44(_0x368e5a)['kind'];},_0x368e5a[_0x1a4e('0x2406')]=_0x43ab44,_0x368e5a[_0x1a4e('0x2407')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x9d===_0x146f6e||0xc4===_0x146f6e||0xef===_0x146f6e||0xc5===_0x146f6e||0x9c===_0x146f6e||0x9e===_0x146f6e||0x9f===_0x146f6e||0xf4===_0x146f6e||0x117===_0x146f6e;},_0x368e5a[_0x1a4e('0x2408')]=_0xde1b92,_0x368e5a[_0x1a4e('0x2409')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a['isSourceFile'])||_0x146f6e;},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x240b')]=0x0]=_0x1a4e('0x240b'),_0x368e5a[_0x368e5a[_0x1a4e('0x10f0')]=0x1]=_0x1a4e('0x10f0');}(_0x368e5a[_0x1a4e('0x240c')]||(_0x368e5a['Associativity']={})),_0x368e5a[_0x1a4e('0x240d')]=function(_0x368e5a){var _0x146f6e=_0x24ff39(_0x368e5a),_0x2327c6=0xc0===_0x368e5a[_0x1a4e('0x146b')]&&void 0x0!==_0x368e5a[_0x1a4e('0x2373')];return _0x13a61b(_0x368e5a[_0x1a4e('0x146b')],_0x146f6e,_0x2327c6);},_0x368e5a[_0x1a4e('0x240e')]=_0x13a61b,_0x368e5a[_0x1a4e('0x240f')]=function(_0x368e5a){var _0x146f6e=_0x24ff39(_0x368e5a),_0x2327c6=0xc0===_0x368e5a['kind']&&void 0x0!==_0x368e5a[_0x1a4e('0x2373')];return _0x37937a(_0x368e5a[_0x1a4e('0x146b')],_0x146f6e,_0x2327c6);},_0x368e5a[_0x1a4e('0x2410')]=_0x24ff39,_0x368e5a[_0x1a4e('0x2411')]=_0x37937a,_0x368e5a[_0x1a4e('0x2412')]=_0x56dcf7,_0x368e5a[_0x1a4e('0x2413')]=function(){var _0x146f6e=[],_0x2327c6=[],_0x55ff7e=_0x368e5a[_0x1a4e('0x1772')](),_0x1adc17=!0x1;return{'add':function(_0xf79407){var _0x2c9ec9;_0xf79407['file']?(_0x2c9ec9=_0x55ff7e[_0x1a4e('0x179')](_0xf79407['file'][_0x1a4e('0x1b39')]))||(_0x2c9ec9=[],_0x55ff7e[_0x1a4e('0x17a')](_0xf79407[_0x1a4e('0x15c9')][_0x1a4e('0x1b39')],_0x2c9ec9),_0x368e5a[_0x1a4e('0x1718')](_0x2327c6,_0xf79407[_0x1a4e('0x15c9')]['fileName'],_0x368e5a[_0x1a4e('0x174a')])):(_0x1adc17&&(_0x1adc17=!0x1,_0x146f6e=_0x146f6e[_0x1a4e('0x78')]()),_0x2c9ec9=_0x146f6e),_0x368e5a[_0x1a4e('0x1718')](_0x2c9ec9,_0xf79407,_0x368e5a[_0x1a4e('0x22e0')]);},'lookup':function(_0x2327c6){var _0x1adc17;if(_0x1adc17=_0x2327c6[_0x1a4e('0x15c9')]?_0x55ff7e['get'](_0x2327c6[_0x1a4e('0x15c9')]['fileName']):_0x146f6e){var _0xf79407=_0x368e5a[_0x1a4e('0x1725')](_0x1adc17,_0x2327c6,_0x368e5a['identity'],_0x368e5a['compareDiagnosticsSkipRelatedInformation']);return _0xf79407>=0x0?_0x1adc17[_0xf79407]:void 0x0;}},'getGlobalDiagnostics':function(){return _0x1adc17=!0x0,_0x146f6e;},'getDiagnostics':function(_0x1adc17){if(_0x1adc17)return _0x55ff7e['get'](_0x1adc17)||[];var _0xf79407=_0x368e5a[_0x1a4e('0x170e')](_0x2327c6,function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x179')](_0x368e5a);});return _0x146f6e[_0x1a4e('0x1e')]?(_0xf79407['unshift'][_0x1a4e('0x8b')](_0xf79407,_0x146f6e),_0xf79407):_0xf79407;},'reattachFileDiagnostics':function(_0x146f6e){_0x368e5a['forEach'](_0x55ff7e[_0x1a4e('0x179')](_0x146f6e[_0x1a4e('0x1b39')]),function(_0x368e5a){return _0x368e5a[_0x1a4e('0x15c9')]=_0x146f6e;});}};};var _0xd30d7e=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,_0x20ff1c=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,_0x484e53=/[\\\`\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,_0x3392c9=_0x368e5a[_0x1a4e('0x1701')]({'\t':'\x5ct','\x0B':'\x5cv','\f':'\x5cf','\b':'\x5cb','\r':'\x5cr','\n':'\x5cn','\\':'\x5c\x5c','"':'\x5c\x22','\'':'\x5c\x27','`':'\x5c`','\u2028':_0x1a4e('0x2414'),'\u2029':_0x1a4e('0x2415'),'\x85':'\x5cu0085'});function _0x41a853(_0x368e5a,_0x146f6e){var _0x2327c6=0x60===_0x146f6e?_0x484e53:0x27===_0x146f6e?_0x20ff1c:_0xd30d7e;return _0x368e5a[_0x1a4e('0x115')](_0x2327c6,_0x5870be);}function _0x5870be(_0x368e5a,_0x146f6e,_0x2327c6){if(0x0===_0x368e5a[_0x1a4e('0x913')](0x0)){var _0x55ff7e=_0x2327c6['charCodeAt'](_0x146f6e+_0x368e5a['length']);return _0x55ff7e>=0x30&&_0x55ff7e<=0x39?'\x5cx00':'\x5c0';}return _0x3392c9[_0x1a4e('0x179')](_0x368e5a)||_0x58f7b8(_0x368e5a[_0x1a4e('0x913')](0x0));}function _0x58f7b8(_0x368e5a){return'\x5cu'+(_0x1a4e('0x988')+_0x368e5a[_0x1a4e('0x95')](0x10)[_0x1a4e('0x257')]())['slice'](-0x4);}_0x368e5a[_0x1a4e('0x2416')]=_0x41a853,_0x368e5a['isIntrinsicJsxName']=function(_0x146f6e){var _0x2327c6=_0x146f6e['charCodeAt'](0x0);return _0x2327c6>=0x61&&_0x2327c6<=0x7a||_0x368e5a[_0x1a4e('0x175a')](_0x146f6e,'-');};var _0x4ec71f=/[^\u0000-\u007F]/g;function _0x22be75(_0x368e5a,_0x146f6e){return _0x368e5a=_0x41a853(_0x368e5a,_0x146f6e),_0x4ec71f[_0x1a4e('0x8d0')](_0x368e5a)?_0x368e5a[_0x1a4e('0x115')](_0x4ec71f,function(_0x368e5a){return _0x58f7b8(_0x368e5a[_0x1a4e('0x913')](0x0));}):_0x368e5a;}_0x368e5a[_0x1a4e('0x2417')]=_0x22be75;var _0x21af44=['',_0x1a4e('0x2418')];function _0x9e2e66(_0x368e5a){return void 0x0===_0x21af44[_0x368e5a]&&(_0x21af44[_0x368e5a]=_0x9e2e66(_0x368e5a-0x1)+_0x21af44[0x1]),_0x21af44[_0x368e5a];}function _0x5ac470(){return _0x21af44[0x1][_0x1a4e('0x1e')];}function _0x491a7f(_0x368e5a,_0x146f6e,_0x2327c6){return _0x146f6e[_0x1a4e('0x2419')]||_0x296377(_0x368e5a,_0x146f6e[_0x1a4e('0x1b39')],_0x2327c6&&_0x2327c6[_0x1a4e('0x1b39')]);}function _0x296377(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=function(_0x368e5a){return _0x146f6e[_0x1a4e('0x241a')](_0x368e5a);},_0x2c9ec9=_0x1adc17(_0x55ff7e?_0x368e5a[_0x1a4e('0x1671')](_0x55ff7e):_0x146f6e[_0x1a4e('0x241b')](),_0x146f6e[_0x1a4e('0x241c')](),_0xf79407),_0x420b32=_0x368e5a[_0x1a4e('0x22ea')](_0x2327c6,_0x146f6e[_0x1a4e('0x241c')]()),_0x1b06ad=_0x368e5a[_0x1a4e('0x241d')](_0x2c9ec9,_0x420b32,_0x2c9ec9,_0xf79407,!0x1),_0x326eae=_0x368e5a[_0x1a4e('0x241e')](_0x1b06ad);return _0x55ff7e?_0x368e5a[_0x1a4e('0x241f')](_0x326eae):_0x326eae;}function _0x4f3bc5(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x2420')]||_0x2327c6[_0x1a4e('0x2421')],_0x420b32=_0x2c9ec9?_0x5a4b09(_0x146f6e,_0x2c9ec9,_0x55ff7e,_0x1adc17,_0xf79407):_0x146f6e;return _0x368e5a[_0x1a4e('0x241e')](_0x420b32)+'.d.ts';}function _0x45b743(_0x368e5a,_0x146f6e,_0x2327c6){return!(_0x146f6e[_0x1a4e('0x2422')]&&_0x2f3a49(_0x368e5a)||_0x368e5a[_0x1a4e('0x2423')]||_0x2327c6(_0x368e5a));}function _0x196451(_0x368e5a,_0x146f6e,_0x2327c6){return _0x5a4b09(_0x368e5a,_0x2327c6,_0x146f6e[_0x1a4e('0x241c')](),_0x146f6e[_0x1a4e('0x241b')](),function(_0x368e5a){return _0x146f6e[_0x1a4e('0x241a')](_0x368e5a);});}function _0x5a4b09(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a['getNormalizedAbsolutePath'](_0x146f6e,_0x55ff7e);return _0x2c9ec9=0x0===_0xf79407(_0x2c9ec9)[_0x1a4e('0x3e')](_0xf79407(_0x1adc17))?_0x2c9ec9[_0x1a4e('0x281')](_0x1adc17['length']):_0x2c9ec9,_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x2c9ec9);}function _0x9a99c5(_0x146f6e,_0x2327c6){return _0x368e5a['getLineAndCharacterOfPosition'](_0x146f6e,_0x2327c6)[_0x1a4e('0xc5')];}function _0x196e60(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x22c0')](_0x146f6e,_0x2327c6)[_0x1a4e('0xc5')];}function _0x5ab74e(_0x368e5a){if(_0x368e5a&&_0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')]>0x0){var _0x146f6e=0x2===_0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')]&&_0x9046fd(_0x368e5a['parameters'][0x0]);return _0x368e5a[_0x1a4e('0x111a')][_0x146f6e?0x1:0x0];}}function _0x9046fd(_0x368e5a){return _0x47b57f(_0x368e5a[_0x1a4e('0x2cb')]);}function _0x47b57f(_0x368e5a){return!!_0x368e5a&&0x48===_0x368e5a[_0x1a4e('0x146b')]&&_0xfd9624(_0x368e5a);}function _0xfd9624(_0x368e5a){return 0x64===_0x368e5a['originalKeywordKind'];}function _0x371230(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x40')];return _0x2327c6||!_0x495fe5(_0x146f6e)?_0x2327c6:_0x368e5a[_0x1a4e('0x2424')](_0x146f6e)?_0x146f6e[_0x1a4e('0x2379')]&&_0x146f6e[_0x1a4e('0x2379')]['type']:_0x368e5a[_0x1a4e('0x2425')](_0x146f6e);}function _0x2157d5(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){_0x5d261f(_0x368e5a,_0x146f6e,_0x2327c6[_0x1a4e('0xa4')],_0x55ff7e);}function _0x5d261f(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){_0x55ff7e&&_0x55ff7e[_0x1a4e('0x1e')]&&_0x2327c6!==_0x55ff7e[0x0][_0x1a4e('0xa4')]&&_0x196e60(_0x368e5a,_0x2327c6)!==_0x196e60(_0x368e5a,_0x55ff7e[0x0]['pos'])&&_0x146f6e[_0x1a4e('0x2426')]();}function _0x123630(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){if(_0x55ff7e&&_0x55ff7e[_0x1a4e('0x1e')]>0x0){_0x1adc17&&_0x2327c6[_0x1a4e('0x2427')]('\x20');for(var _0x1b06ad=!0x1,_0x326eae=0x0,_0x56674b=_0x55ff7e;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x75ae2f=_0x56674b[_0x326eae];_0x1b06ad&&(_0x2327c6[_0x1a4e('0x2427')]('\x20'),_0x1b06ad=!0x1),_0x420b32(_0x368e5a,_0x146f6e,_0x2327c6,_0x75ae2f[_0x1a4e('0xa4')],_0x75ae2f[_0x1a4e('0xca')],_0x2c9ec9),_0x75ae2f[_0x1a4e('0x2428')]?_0x2327c6[_0x1a4e('0x2426')]():_0x1b06ad=!0x0;}_0x1b06ad&&_0xf79407&&_0x2327c6[_0x1a4e('0x2427')]('\x20');}}function _0x3f600f(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=Math['min'](_0x146f6e,_0xf79407-0x1),_0x420b32=_0x368e5a[_0x1a4e('0x281')](_0x1adc17,_0x2c9ec9)['replace'](/^\s+|\s+$/g,'');_0x420b32?(_0x2327c6[_0x1a4e('0x2429')](_0x420b32),_0x2c9ec9!==_0x146f6e&&_0x2327c6[_0x1a4e('0x2426')]()):_0x2327c6[_0x1a4e('0x242a')](_0x55ff7e);}function _0x1de883(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=0x0;_0x2327c6<_0x55ff7e&&_0x368e5a[_0x1a4e('0x242b')](_0x146f6e[_0x1a4e('0x913')](_0x2327c6));_0x2327c6++)0x9===_0x146f6e[_0x1a4e('0x913')](_0x2327c6)?_0x1adc17+=_0x5ac470()-_0x1adc17%_0x5ac470():_0x1adc17++;return _0x1adc17;}function _0x2230e2(_0x368e5a,_0x146f6e){return!!_0xe2b7fa(_0x368e5a,_0x146f6e);}function _0x18e9fa(_0x368e5a){return _0x2230e2(_0x368e5a,0x20);}function _0x488208(_0x368e5a){return _0x2230e2(_0x368e5a,0x40);}function _0xe2b7fa(_0x368e5a,_0x146f6e){return _0x4c9c3c(_0x368e5a)&_0x146f6e;}function _0x4c9c3c(_0x368e5a){if(0x20000000&_0x368e5a[_0x1a4e('0x242c')])return-0x20000001&_0x368e5a[_0x1a4e('0x242c')];var _0x146f6e=_0xdb27fa(_0x368e5a);return _0x368e5a[_0x1a4e('0x242c')]=0x20000000|_0x146f6e,_0x146f6e;}function _0xdb27fa(_0x368e5a){var _0x146f6e=0x0;if(_0x368e5a['modifiers'])for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x242d')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){_0x146f6e|=_0x4f6ca9(_0x55ff7e[_0x2327c6]['kind']);}return(0x4&_0x368e5a['flags']||0x48===_0x368e5a['kind']&&_0x368e5a['isInJSDocNamespace'])&&(_0x146f6e|=0x1),_0x146f6e;}function _0x4f6ca9(_0x368e5a){switch(_0x368e5a){case 0x74:return 0x20;case 0x73:return 0x4;case 0x72:return 0x10;case 0x71:return 0x8;case 0x76:return 0x80;case 0x55:return 0x1;case 0x7d:return 0x2;case 0x4d:return 0x800;case 0x50:return 0x200;case 0x79:return 0x100;case 0x85:return 0x40;}return 0x0;}function _0x4f85df(_0x368e5a){return _0x368e5a>=0x3b&&_0x368e5a<=0x47;}function _0x520583(_0x368e5a){var _0x146f6e=_0x429eb4(_0x368e5a);return _0x146f6e&&!_0x146f6e[_0x1a4e('0x242e')]?_0x146f6e['class']:void 0x0;}function _0x429eb4(_0x146f6e){return _0x368e5a[_0x1a4e('0x242f')](_0x146f6e)&&_0x368e5a['isHeritageClause'](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x2367')](_0x146f6e['parent'][_0x1a4e('0x11c')])?{'class':_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],'isImplements':0x6d===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2381')]}:void 0x0;}function _0x231c74(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x236e')](_0x146f6e)&&(_0x2327c6?0x3b===_0x146f6e['operatorToken'][_0x1a4e('0x146b')]:_0x4f85df(_0x146f6e['operatorToken'][_0x1a4e('0x146b')]))&&_0x368e5a[_0x1a4e('0x2430')](_0x146f6e[_0x1a4e('0x5f')]);}function _0x1f86e2(_0x368e5a){return void 0x0!==_0x520583(_0x368e5a);}function _0x57f2f8(_0x368e5a){return 0x48===_0x368e5a['kind']||_0x32c827(_0x368e5a);}function _0x32c827(_0x146f6e){return _0x368e5a[_0x1a4e('0x2371')](_0x146f6e)&&_0x57f2f8(_0x146f6e[_0x1a4e('0x2302')]);}function _0x51bd9c(_0x146f6e){return _0x368e5a[_0x1a4e('0x2371')](_0x146f6e)&&_0x1a4e('0xa')===_0x146f6e[_0x1a4e('0x2cb')]['escapedText'];}_0x368e5a[_0x1a4e('0x2431')]=_0x9e2e66,_0x368e5a[_0x1a4e('0x2432')]=_0x5ac470,_0x368e5a[_0x1a4e('0x2433')]=function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9;function _0x420b32(_0x146f6e){var _0x55ff7e=_0x368e5a['computeLineStarts'](_0x146f6e);_0x55ff7e[_0x1a4e('0x1e')]>0x1?(_0xf79407=_0xf79407+_0x55ff7e['length']-0x1,_0x2c9ec9=_0x2327c6[_0x1a4e('0x1e')]-_0x146f6e[_0x1a4e('0x1e')]+_0x368e5a[_0x1a4e('0x10b1')](_0x55ff7e),_0x1adc17=_0x2c9ec9-_0x2327c6[_0x1a4e('0x1e')]==0x0):_0x1adc17=!0x1;}function _0x1b06ad(_0x368e5a){_0x368e5a&&_0x368e5a['length']&&(_0x1adc17&&(_0x368e5a=_0x9e2e66(_0x55ff7e)+_0x368e5a,_0x1adc17=!0x1),_0x2327c6+=_0x368e5a,_0x420b32(_0x368e5a));}function _0x326eae(){_0x2327c6='',_0x55ff7e=0x0,_0x1adc17=!0x0,_0xf79407=0x0,_0x2c9ec9=0x0;}return _0x326eae(),{'write':_0x1b06ad,'rawWrite':function(_0x368e5a){void 0x0!==_0x368e5a&&(_0x2327c6+=_0x368e5a,_0x420b32(_0x368e5a));},'writeLiteral':function(_0x368e5a){_0x368e5a&&_0x368e5a[_0x1a4e('0x1e')]&&_0x1b06ad(_0x368e5a);},'writeLine':function(){_0x1adc17||(_0xf79407++,_0x2c9ec9=(_0x2327c6+=_0x146f6e)[_0x1a4e('0x1e')],_0x1adc17=!0x0);},'increaseIndent':function(){_0x55ff7e++;},'decreaseIndent':function(){_0x55ff7e--;},'getIndent':function(){return _0x55ff7e;},'getTextPos':function(){return _0x2327c6[_0x1a4e('0x1e')];},'getLine':function(){return _0xf79407;},'getColumn':function(){return _0x1adc17?_0x55ff7e*_0x5ac470():_0x2327c6[_0x1a4e('0x1e')]-_0x2c9ec9;},'getText':function(){return _0x2327c6;},'isAtStartOfLine':function(){return _0x1adc17;},'clear':_0x326eae,'reportInaccessibleThisError':_0x368e5a[_0x1a4e('0x10bf')],'reportPrivateInBaseOfClassExpression':_0x368e5a['noop'],'reportInaccessibleUniqueSymbolError':_0x368e5a[_0x1a4e('0x10bf')],'trackSymbol':_0x368e5a[_0x1a4e('0x10bf')],'writeKeyword':_0x1b06ad,'writeOperator':_0x1b06ad,'writeParameter':_0x1b06ad,'writeProperty':_0x1b06ad,'writePunctuation':_0x1b06ad,'writeSpace':_0x1b06ad,'writeStringLiteral':_0x1b06ad,'writeSymbol':function(_0x368e5a,_0x146f6e){return _0x1b06ad(_0x368e5a);},'writeTrailingSemicolon':_0x1b06ad,'writeComment':_0x1b06ad};},_0x368e5a[_0x1a4e('0x2434')]=function(_0x368e5a){var _0x146f6e=!0x1;function _0x2327c6(){_0x146f6e&&(_0x368e5a[_0x1a4e('0x2435')](';'),_0x146f6e=!0x1);}return _0x420b32({},_0x368e5a,{'writeTrailingSemicolon':function(){_0x146f6e=!0x0;},'writeLiteral':function(_0x146f6e){_0x2327c6(),_0x368e5a[_0x1a4e('0x2436')](_0x146f6e);},'writeStringLiteral':function(_0x146f6e){_0x2327c6(),_0x368e5a[_0x1a4e('0x2437')](_0x146f6e);},'writeSymbol':function(_0x146f6e,_0x55ff7e){_0x2327c6(),_0x368e5a['writeSymbol'](_0x146f6e,_0x55ff7e);},'writePunctuation':function(_0x146f6e){_0x2327c6(),_0x368e5a[_0x1a4e('0x2438')](_0x146f6e);},'writeKeyword':function(_0x146f6e){_0x2327c6(),_0x368e5a[_0x1a4e('0x230f')](_0x146f6e);},'writeOperator':function(_0x146f6e){_0x2327c6(),_0x368e5a[_0x1a4e('0x2439')](_0x146f6e);},'writeParameter':function(_0x146f6e){_0x2327c6(),_0x368e5a[_0x1a4e('0x243a')](_0x146f6e);},'writeSpace':function(_0x146f6e){_0x2327c6(),_0x368e5a['writeSpace'](_0x146f6e);},'writeProperty':function(_0x146f6e){_0x2327c6(),_0x368e5a[_0x1a4e('0x243b')](_0x146f6e);},'writeComment':function(_0x146f6e){_0x2327c6(),_0x368e5a[_0x1a4e('0x2429')](_0x146f6e);},'writeLine':function(){_0x2327c6(),_0x368e5a[_0x1a4e('0x2426')]();},'increaseIndent':function(){_0x2327c6(),_0x368e5a['increaseIndent']();},'decreaseIndent':function(){_0x2327c6(),_0x368e5a[_0x1a4e('0x243c')]();}});},_0x368e5a[_0x1a4e('0x243d')]=_0x491a7f,_0x368e5a[_0x1a4e('0x243e')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x243f')](_0x2327c6);if(_0x55ff7e&&!_0x55ff7e[_0x1a4e('0x2423')])return _0x491a7f(_0x368e5a,_0x55ff7e);},_0x368e5a[_0x1a4e('0x2440')]=_0x296377,_0x368e5a[_0x1a4e('0x2441')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x23f1')]();return(_0x1adc17[_0x1a4e('0x2421')]?_0x368e5a[_0x1a4e('0x241e')](_0x196451(_0x146f6e,_0x2327c6,_0x1adc17[_0x1a4e('0x2421')])):_0x368e5a[_0x1a4e('0x241e')](_0x146f6e))+_0x55ff7e;},_0x368e5a[_0x1a4e('0x2442')]=function(_0x368e5a,_0x146f6e){return _0x4f3bc5(_0x368e5a,_0x146f6e[_0x1a4e('0x23f1')](),_0x146f6e[_0x1a4e('0x241c')](),_0x146f6e[_0x1a4e('0x241b')](),function(_0x368e5a){return _0x146f6e[_0x1a4e('0x241a')](_0x368e5a);});},_0x368e5a[_0x1a4e('0x2443')]=_0x4f3bc5,_0x368e5a[_0x1a4e('0x2444')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x23f1')](),_0x1adc17=function(_0x368e5a){return _0x146f6e['isSourceFileFromExternalLibrary'](_0x368e5a);};if(_0x55ff7e[_0x1a4e('0x2445')]||_0x55ff7e[_0x1a4e('0x303')]){var _0xf79407=_0x368e5a['getEmitModuleKind'](_0x55ff7e),_0x2c9ec9=_0x55ff7e[_0x1a4e('0x2446')]||_0xf79407===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a31')]||_0xf79407===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1308')];return _0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x2447')](),function(_0x146f6e){return(_0x2c9ec9||!_0x368e5a['isExternalModule'](_0x146f6e))&&_0x45b743(_0x146f6e,_0x55ff7e,_0x1adc17);});}var _0x420b32=void 0x0===_0x2327c6?_0x146f6e[_0x1a4e('0x2447')]():[_0x2327c6];return _0x368e5a[_0x1a4e('0xd9')](_0x420b32,function(_0x368e5a){return _0x45b743(_0x368e5a,_0x55ff7e,_0x1adc17);});},_0x368e5a['sourceFileMayBeEmitted']=_0x45b743,_0x368e5a[_0x1a4e('0x2448')]=_0x196451,_0x368e5a['getSourceFilePathInNewDirWorker']=_0x5a4b09,_0x368e5a[_0x1a4e('0x16b7')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){_0x146f6e[_0x1a4e('0x16b7')](_0x55ff7e,_0x1adc17,_0xf79407,function(_0x146f6e){_0x2327c6[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2449')],_0x55ff7e,_0x146f6e));},_0x2c9ec9);},_0x368e5a[_0x1a4e('0x244a')]=_0x9a99c5,_0x368e5a[_0x1a4e('0x244b')]=_0x196e60,_0x368e5a['getFirstConstructorWithBody']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c7')](_0x146f6e[_0x1a4e('0x2369')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23e3')](_0x146f6e)&&_0x14e909(_0x146f6e[_0x1a4e('0x8f2')]);});},_0x368e5a[_0x1a4e('0x244c')]=function(_0x368e5a){var _0x146f6e=_0x5ab74e(_0x368e5a);return _0x146f6e&&_0x146f6e[_0x1a4e('0x40')];},_0x368e5a[_0x1a4e('0x244d')]=function(_0x146f6e){if(_0x146f6e['parameters'][_0x1a4e('0x1e')]&&!_0x368e5a[_0x1a4e('0x244e')](_0x146f6e)){var _0x2327c6=_0x146f6e['parameters'][0x0];if(_0x9046fd(_0x2327c6))return _0x2327c6;}},_0x368e5a[_0x1a4e('0x244f')]=_0x9046fd,_0x368e5a['isThisIdentifier']=_0x47b57f,_0x368e5a[_0x1a4e('0x2450')]=_0xfd9624,_0x368e5a['getAllAccessorDeclarations']=function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9;return _0x387534(_0x2327c6)?(_0x55ff7e=_0x2327c6,0x9e===_0x2327c6[_0x1a4e('0x146b')]?_0xf79407=_0x2327c6:0x9f===_0x2327c6[_0x1a4e('0x146b')]?_0x2c9ec9=_0x2327c6:_0x368e5a['Debug'][_0x1a4e('0x1709')](_0x1a4e('0x2451'))):_0x368e5a['forEach'](_0x146f6e,function(_0x146f6e){_0x368e5a[_0x1a4e('0x238a')](_0x146f6e)&&_0x2230e2(_0x146f6e,0x20)===_0x2230e2(_0x2327c6,0x20)&&_0x2e3619(_0x146f6e[_0x1a4e('0x2cb')])===_0x2e3619(_0x2327c6['name'])&&(_0x55ff7e?_0x1adc17||(_0x1adc17=_0x146f6e):_0x55ff7e=_0x146f6e,0x9e!==_0x146f6e[_0x1a4e('0x146b')]||_0xf79407||(_0xf79407=_0x146f6e),0x9f!==_0x146f6e[_0x1a4e('0x146b')]||_0x2c9ec9||(_0x2c9ec9=_0x146f6e));}),{'firstAccessor':_0x55ff7e,'secondAccessor':_0x1adc17,'getAccessor':_0xf79407,'setAccessor':_0x2c9ec9};},_0x368e5a[_0x1a4e('0x2452')]=_0x371230,_0x368e5a['getTypeAnnotationNode']=function(_0x368e5a){return _0x368e5a['type'];},_0x368e5a['getEffectiveReturnTypeNode']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x244e')](_0x146f6e)?_0x146f6e[_0x1a4e('0x40')]&&_0x146f6e[_0x1a4e('0x40')]['typeExpression']&&_0x146f6e[_0x1a4e('0x40')][_0x1a4e('0x2379')]['type']:_0x146f6e[_0x1a4e('0x40')]||(_0x495fe5(_0x146f6e)?_0x368e5a[_0x1a4e('0x2453')](_0x146f6e):void 0x0);},_0x368e5a[_0x1a4e('0x2454')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x104e')](_0x368e5a['getJSDocTags'](_0x146f6e),function(_0x146f6e){return function(_0x146f6e){return _0x368e5a['isJSDocTemplateTag'](_0x146f6e)&&!(0x123===_0x146f6e[_0x1a4e('0x11c')]['kind']&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2455')][_0x1a4e('0x1c2')](_0x4cf769));}(_0x146f6e)?_0x146f6e[_0x1a4e('0x23d7')]:void 0x0;});},_0x368e5a[_0x1a4e('0x2456')]=function(_0x368e5a){var _0x146f6e=_0x5ab74e(_0x368e5a);return _0x146f6e&&_0x371230(_0x146f6e);},_0x368e5a[_0x1a4e('0x2457')]=_0x2157d5,_0x368e5a['emitNewLineBeforeLeadingCommentsOfPosition']=_0x5d261f,_0x368e5a['emitNewLineBeforeLeadingCommentOfPosition']=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){_0x2327c6!==_0x55ff7e&&_0x196e60(_0x368e5a,_0x2327c6)!==_0x196e60(_0x368e5a,_0x55ff7e)&&_0x146f6e[_0x1a4e('0x2426')]();},_0x368e5a[_0x1a4e('0x2458')]=_0x123630,_0x368e5a['emitDetachedComments']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad,_0x326eae;if(_0x420b32?0x0===_0xf79407[_0x1a4e('0xa4')]&&(_0x1b06ad=_0x368e5a[_0x1a4e('0xd9')](_0x368e5a['getLeadingCommentRanges'](_0x146f6e,_0xf79407[_0x1a4e('0xa4')]),function(_0x368e5a){return _0x320657(_0x146f6e,_0x368e5a[_0x1a4e('0xa4')]);})):_0x1b06ad=_0x368e5a[_0x1a4e('0x22cc')](_0x146f6e,_0xf79407[_0x1a4e('0xa4')]),_0x1b06ad){for(var _0x56674b=[],_0x75ae2f=void 0x0,_0x5981b8=0x0,_0x14e909=_0x1b06ad;_0x5981b8<_0x14e909[_0x1a4e('0x1e')];_0x5981b8++){var _0x15f4a8=_0x14e909[_0x5981b8];if(_0x75ae2f){var _0x3f9aa2=_0x196e60(_0x2327c6,_0x75ae2f[_0x1a4e('0xca')]);if(_0x196e60(_0x2327c6,_0x15f4a8[_0x1a4e('0xa4')])>=_0x3f9aa2+0x2)break;}_0x56674b[_0x1a4e('0x46')](_0x15f4a8),_0x75ae2f=_0x15f4a8;}_0x56674b[_0x1a4e('0x1e')]&&(_0x3f9aa2=_0x196e60(_0x2327c6,_0x368e5a[_0x1a4e('0x10b1')](_0x56674b)[_0x1a4e('0xca')]),_0x196e60(_0x2327c6,_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e,_0xf79407[_0x1a4e('0xa4')]))>=_0x3f9aa2+0x2&&(_0x2157d5(_0x2327c6,_0x55ff7e,_0xf79407,_0x1b06ad),_0x123630(_0x146f6e,_0x2327c6,_0x55ff7e,_0x56674b,!0x1,!0x0,_0x2c9ec9,_0x1adc17),_0x326eae={'nodePos':_0xf79407['pos'],'detachedCommentEndPos':_0x368e5a[_0x1a4e('0x10b1')](_0x56674b)['end']}));}return _0x326eae;},_0x368e5a[_0x1a4e('0x2459')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(0x2a===_0x146f6e['charCodeAt'](_0x1adc17+0x1))for(var _0x420b32=_0x368e5a['computeLineAndCharacterOfPosition'](_0x2327c6,_0x1adc17),_0x1b06ad=_0x2327c6[_0x1a4e('0x1e')],_0x326eae=void 0x0,_0x56674b=_0x1adc17,_0x75ae2f=_0x420b32['line'];_0x56674b<_0xf79407;_0x75ae2f++){var _0x5981b8=_0x75ae2f+0x1===_0x1b06ad?_0x146f6e[_0x1a4e('0x1e')]+0x1:_0x2327c6[_0x75ae2f+0x1];if(_0x56674b!==_0x1adc17){void 0x0===_0x326eae&&(_0x326eae=_0x1de883(_0x146f6e,_0x2327c6[_0x420b32['line']],_0x1adc17));var _0x14e909=_0x55ff7e[_0x1a4e('0x245a')]()*_0x5ac470()-_0x326eae+_0x1de883(_0x146f6e,_0x56674b,_0x5981b8);if(_0x14e909>0x0){var _0x320657=_0x14e909%_0x5ac470(),_0x15f4a8=_0x9e2e66((_0x14e909-_0x320657)/_0x5ac470());for(_0x55ff7e[_0x1a4e('0x242a')](_0x15f4a8);_0x320657;)_0x55ff7e['rawWrite']('\x20'),_0x320657--;}else _0x55ff7e[_0x1a4e('0x242a')]('');}_0x3f600f(_0x146f6e,_0xf79407,_0x55ff7e,_0x2c9ec9,_0x56674b,_0x5981b8),_0x56674b=_0x5981b8;}else _0x55ff7e[_0x1a4e('0x2429')](_0x146f6e[_0x1a4e('0x281')](_0x1adc17,_0xf79407));},_0x368e5a['hasModifiers']=function(_0x368e5a){return 0x0!==_0x4c9c3c(_0x368e5a);},_0x368e5a['hasModifier']=_0x2230e2,_0x368e5a['hasStaticModifier']=_0x18e9fa,_0x368e5a[_0x1a4e('0x245b')]=_0x488208,_0x368e5a['getSelectedModifierFlags']=_0xe2b7fa,_0x368e5a[_0x1a4e('0x245c')]=_0x4c9c3c,_0x368e5a[_0x1a4e('0x245d')]=_0xdb27fa,_0x368e5a[_0x1a4e('0x245e')]=_0x4f6ca9,_0x368e5a[_0x1a4e('0x245f')]=function(_0x368e5a){return 0x37===_0x368e5a||0x36===_0x368e5a||0x34===_0x368e5a;},_0x368e5a[_0x1a4e('0x2460')]=_0x4f85df,_0x368e5a[_0x1a4e('0x2461')]=_0x520583,_0x368e5a['tryGetClassImplementingOrExtendingExpressionWithTypeArguments']=_0x429eb4,_0x368e5a['isAssignmentExpression']=_0x231c74,_0x368e5a[_0x1a4e('0x2462')]=function(_0x368e5a){if(_0x231c74(_0x368e5a,!0x0)){var _0x146f6e=_0x368e5a['left'][_0x1a4e('0x146b')];return 0xbc===_0x146f6e||0xbb===_0x146f6e;}return!0x1;},_0x368e5a['isExpressionWithTypeArgumentsInClassExtendsClause']=_0x1f86e2,_0x368e5a[_0x1a4e('0x2463')]=_0x57f2f8,_0x368e5a[_0x1a4e('0x2464')]=_0x32c827,_0x368e5a[_0x1a4e('0x2465')]=_0x51bd9c,_0x368e5a[_0x1a4e('0x2466')]=function(_0x368e5a){return 0x94===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x5d')]===_0x368e5a||0xbd===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a['parent']['name']===_0x368e5a;},_0x368e5a[_0x1a4e('0x2467')]=function(_0x368e5a){return 0xbc===_0x368e5a[_0x1a4e('0x146b')]&&0x0===_0x368e5a['properties'][_0x1a4e('0x1e')];},_0x368e5a['isEmptyArrayLiteral']=function(_0x368e5a){return 0xbb===_0x368e5a[_0x1a4e('0x146b')]&&0x0===_0x368e5a[_0x1a4e('0x2398')][_0x1a4e('0x1e')];},_0x368e5a[_0x1a4e('0x2468')]=function(_0x146f6e){return function(_0x146f6e){return _0x146f6e&&_0x368e5a[_0x1a4e('0x1e')](_0x146f6e[_0x1a4e('0x22e5')])>0x0&&_0x2230e2(_0x146f6e[_0x1a4e('0x22e5')][0x0],0x200);}(_0x146f6e)?_0x146f6e[_0x1a4e('0x22e5')][0x0][_0x1a4e('0x2469')]:void 0x0;},_0x368e5a[_0x1a4e('0x246a')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c7')](_0x368e5a[_0x1a4e('0x246b')],function(_0x2327c6){return _0x368e5a['fileExtensionIs'](_0x146f6e,_0x2327c6);});};var _0x3d9e57='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';function _0x1caa15(_0x146f6e){for(var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9='',_0x420b32=function(_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=_0x146f6e['length'],_0x1adc17=0x0;_0x1adc17<_0x55ff7e;_0x1adc17++){var _0xf79407=_0x146f6e[_0x1a4e('0x913')](_0x1adc17);_0xf79407<0x80?_0x2327c6['push'](_0xf79407):_0xf79407<0x800?(_0x2327c6[_0x1a4e('0x46')](_0xf79407>>0x6|0xc0),_0x2327c6[_0x1a4e('0x46')](0x3f&_0xf79407|0x80)):_0xf79407<0x10000?(_0x2327c6[_0x1a4e('0x46')](_0xf79407>>0xc|0xe0),_0x2327c6[_0x1a4e('0x46')](_0xf79407>>0x6&0x3f|0x80),_0x2327c6[_0x1a4e('0x46')](0x3f&_0xf79407|0x80)):_0xf79407<0x20000?(_0x2327c6[_0x1a4e('0x46')](_0xf79407>>0x12|0xf0),_0x2327c6[_0x1a4e('0x46')](_0xf79407>>0xc&0x3f|0x80),_0x2327c6['push'](_0xf79407>>0x6&0x3f|0x80),_0x2327c6[_0x1a4e('0x46')](0x3f&_0xf79407|0x80)):_0x368e5a['Debug'][_0x1a4e('0xba0')](!0x1,_0x1a4e('0x246c'));}return _0x2327c6;}(_0x146f6e),_0x1b06ad=0x0,_0x326eae=_0x420b32[_0x1a4e('0x1e')];_0x1b06ad<_0x326eae;)_0x2327c6=_0x420b32[_0x1b06ad]>>0x2,_0x55ff7e=(0x3&_0x420b32[_0x1b06ad])<<0x4|_0x420b32[_0x1b06ad+0x1]>>0x4,_0x1adc17=(0xf&_0x420b32[_0x1b06ad+0x1])<<0x2|_0x420b32[_0x1b06ad+0x2]>>0x6,_0xf79407=0x3f&_0x420b32[_0x1b06ad+0x2],_0x1b06ad+0x1>=_0x326eae?_0x1adc17=_0xf79407=0x40:_0x1b06ad+0x2>=_0x326eae&&(_0xf79407=0x40),_0x2c9ec9+=_0x3d9e57[_0x1a4e('0x278')](_0x2327c6)+_0x3d9e57[_0x1a4e('0x278')](_0x55ff7e)+_0x3d9e57[_0x1a4e('0x278')](_0x1adc17)+_0x3d9e57[_0x1a4e('0x278')](_0xf79407),_0x1b06ad+=0x3;return _0x2c9ec9;}_0x368e5a[_0x1a4e('0x246d')]=_0x1caa15,_0x368e5a[_0x1a4e('0x246e')]=function(_0x368e5a,_0x146f6e){return _0x368e5a&&_0x368e5a[_0x1a4e('0x246e')]?_0x368e5a['base64encode'](_0x146f6e):_0x1caa15(_0x146f6e);},_0x368e5a[_0x1a4e('0x246f')]=function(_0x368e5a,_0x146f6e){if(_0x368e5a&&_0x368e5a[_0x1a4e('0x246f')])return _0x368e5a[_0x1a4e('0x246f')](_0x146f6e);for(var _0x2327c6=_0x146f6e[_0x1a4e('0x1e')],_0x55ff7e=[],_0x1adc17=0x0;_0x1adc17<_0x2327c6&&_0x146f6e['charCodeAt'](_0x1adc17)!==_0x3d9e57[_0x1a4e('0x913')](0x40);){var _0xf79407=_0x3d9e57['indexOf'](_0x146f6e[_0x1adc17]),_0x2c9ec9=_0x3d9e57[_0x1a4e('0x3e')](_0x146f6e[_0x1adc17+0x1]),_0x420b32=_0x3d9e57['indexOf'](_0x146f6e[_0x1adc17+0x2]),_0x1b06ad=_0x3d9e57[_0x1a4e('0x3e')](_0x146f6e[_0x1adc17+0x3]),_0x326eae=(0x3f&_0xf79407)<<0x2|_0x2c9ec9>>0x4&0x3,_0x56674b=(0xf&_0x2c9ec9)<<0x4|_0x420b32>>0x2&0xf,_0x75ae2f=(0x3&_0x420b32)<<0x6|0x3f&_0x1b06ad;0x0===_0x56674b&&0x0!==_0x420b32?_0x55ff7e[_0x1a4e('0x46')](_0x326eae):0x0===_0x75ae2f&&0x0!==_0x1b06ad?_0x55ff7e[_0x1a4e('0x46')](_0x326eae,_0x56674b):_0x55ff7e[_0x1a4e('0x46')](_0x326eae,_0x56674b,_0x75ae2f),_0x1adc17+=0x4;}return function(_0x368e5a){for(var _0x146f6e='',_0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x1e')];_0x2327c6<_0x55ff7e;){var _0x1adc17=_0x368e5a[_0x2327c6];if(_0x1adc17<0x80)_0x146f6e+=String[_0x1a4e('0x8fe')](_0x1adc17),_0x2327c6++;else if(0xc0==(0xc0&_0x1adc17)){for(var _0xf79407=0x3f&_0x1adc17,_0x2c9ec9=_0x368e5a[++_0x2327c6];0x80==(0xc0&_0x2c9ec9);)_0xf79407=_0xf79407<<0x6|0x3f&_0x2c9ec9,_0x2c9ec9=_0x368e5a[++_0x2327c6];_0x146f6e+=String[_0x1a4e('0x8fe')](_0xf79407);}else _0x146f6e+=String[_0x1a4e('0x8fe')](_0x1adc17),_0x2327c6++;}return _0x146f6e;}(_0x55ff7e);},_0x368e5a['readJson']=function(_0x146f6e,_0x2327c6){try{var _0x55ff7e=_0x2327c6[_0x1a4e('0x16b8')](_0x146f6e);if(!_0x55ff7e)return{};var _0x1adc17=_0x368e5a['parseConfigFileTextToJson'](_0x146f6e,_0x55ff7e);return _0x1adc17[_0x1a4e('0x873')]?{}:_0x1adc17[_0x1a4e('0x1459')];}catch(_0x2dfea1){return{};}},_0x368e5a['directoryProbablyExists']=function(_0x368e5a,_0x146f6e){return!_0x146f6e[_0x1a4e('0x16b5')]||_0x146f6e[_0x1a4e('0x16b5')](_0x368e5a);};var _0x18965c,_0x85d64f='\x0d\x0a',_0x4d5193='\x0a';function _0xddb8ed(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x146f6e&&(_0x146f6e=0x0);var _0x1adc17=function(_0x146f6e){var _0x2327c6=[];for(var _0x55ff7e in _0x146f6e){var _0x1adc17=_0x146f6e[_0x55ff7e];_0x1a4e('0x3d')==typeof _0x1adc17&&_0x2327c6[_0x1a4e('0x46')]([_0x1adc17,_0x55ff7e]);}return _0x368e5a[_0x1a4e('0x171f')](_0x2327c6,function(_0x146f6e,_0x2327c6){return _0x368e5a['compareValues'](_0x146f6e[0x0],_0x2327c6[0x0]);});}(_0x2327c6);if(0x0===_0x146f6e)return _0x1adc17['length']>0x0&&0x0===_0x1adc17[0x0][0x0]?_0x1adc17[0x0][0x1]:'0';if(_0x55ff7e){for(var _0xf79407='',_0x2c9ec9=_0x146f6e,_0x420b32=_0x1adc17[_0x1a4e('0x1e')]-0x1;_0x420b32>=0x0&&0x0!==_0x2c9ec9;_0x420b32--){var _0x1b06ad=_0x1adc17[_0x420b32],_0x326eae=_0x1b06ad[0x0],_0x56674b=_0x1b06ad[0x1];0x0!==_0x326eae&&(_0x2c9ec9&_0x326eae)===_0x326eae&&(_0x2c9ec9&=~_0x326eae,_0xf79407=_0x56674b+(_0xf79407?',\x20':'')+_0xf79407);}if(0x0===_0x2c9ec9)return _0xf79407;}else for(var _0x75ae2f=0x0,_0x5981b8=_0x1adc17;_0x75ae2f<_0x5981b8[_0x1a4e('0x1e')];_0x75ae2f++){var _0x14e909=_0x5981b8[_0x75ae2f];_0x326eae=_0x14e909[0x0],_0x56674b=_0x14e909[0x1];if(_0x326eae===_0x146f6e)return _0x56674b;}return _0x146f6e[_0x1a4e('0x95')]();}function _0x39e0d3(_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=_0x146f6e),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x2327c6>=_0x146f6e||-0x1===_0x2327c6),{'pos':_0x146f6e,'end':_0x2327c6};}function _0x222fb9(_0x368e5a,_0x146f6e){return _0x39e0d3(_0x146f6e,_0x368e5a[_0x1a4e('0xca')]);}function _0x285ba4(_0x368e5a){return _0x368e5a['decorators']&&_0x368e5a[_0x1a4e('0x232f')]['length']>0x0?_0x222fb9(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')][_0x1a4e('0xca')]):_0x368e5a;}function _0x5c1293(_0x368e5a,_0x146f6e,_0x2327c6){return _0x12bc99(_0x7bcc83(_0x368e5a,_0x2327c6),_0x146f6e[_0x1a4e('0xca')],_0x2327c6);}function _0x12bc99(_0x368e5a,_0x146f6e,_0x2327c6){return _0x368e5a===_0x146f6e||_0x9a99c5(_0x2327c6,_0x368e5a)===_0x9a99c5(_0x2327c6,_0x146f6e);}function _0x7bcc83(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2383')](_0x146f6e[_0x1a4e('0xa4')])?-0x1:_0x368e5a[_0x1a4e('0x22c6')](_0x2327c6[_0x1a4e('0xe04')],_0x146f6e[_0x1a4e('0xa4')]);}function _0x2d8b37(_0x368e5a){return void 0x0!==_0x368e5a[_0x1a4e('0x236a')];}function _0x49def8(_0x368e5a){return 0x2000000&_0x368e5a[_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x2470')]:0x0;}function _0x3d75d0(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];if(!_0x2327c6)return 0x0;switch(_0x2327c6['kind']){case 0xc3:return _0x3d75d0(_0x2327c6);case 0xcb:case 0xca:var _0x55ff7e=_0x2327c6[_0x1a4e('0x1474')];return 0x2c===_0x55ff7e||0x2d===_0x55ff7e?_0x1b06ad():0x0;case 0xcc:var _0x1adc17=_0x2327c6,_0xf79407=_0x1adc17['left'],_0x2c9ec9=_0x1adc17[_0x1a4e('0x237a')];return _0xf79407===_0x146f6e&&_0x4f85df(_0x2c9ec9[_0x1a4e('0x146b')])?0x3b===_0x2c9ec9[_0x1a4e('0x146b')]?0x1:_0x1b06ad():0x0;case 0xbd:return _0x2327c6[_0x1a4e('0x2cb')]!==_0x146f6e?0x0:_0x3d75d0(_0x2327c6);case 0x113:var _0x420b32=_0x3d75d0(_0x2327c6[_0x1a4e('0x11c')]);return _0x146f6e===_0x2327c6[_0x1a4e('0x2cb')]?function(_0x146f6e){switch(_0x146f6e){case 0x0:return 0x1;case 0x1:return 0x0;case 0x2:return 0x2;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}(_0x420b32):_0x420b32;case 0x114:return _0x146f6e===_0x2327c6[_0x1a4e('0x2471')]?0x0:_0x3d75d0(_0x2327c6[_0x1a4e('0x11c')]);case 0xbb:return _0x3d75d0(_0x2327c6);default:return 0x0;}function _0x1b06ad(){return _0x2327c6[_0x1a4e('0x11c')]&&0xdd===function(_0x368e5a){for(;0xc3===_0x368e5a[_0x1a4e('0x146b')];)_0x368e5a=_0x368e5a[_0x1a4e('0x11c')];return _0x368e5a;}(_0x2327c6[_0x1a4e('0x11c')])[_0x1a4e('0x146b')]?0x1:0x2;}}function _0x2ca87b(_0x146f6e,_0x2327c6){for(;;){var _0x55ff7e=_0x2327c6(_0x146f6e);if(void 0x0!==_0x55ff7e)return _0x55ff7e;var _0x1adc17=_0x368e5a[_0x1a4e('0x1671')](_0x146f6e);if(_0x1adc17===_0x146f6e)return;_0x146f6e=_0x1adc17;}}function _0x201d21(_0x368e5a){if(0x20&_0x368e5a['flags']){var _0x146f6e=_0x413c48(_0x368e5a);return!!_0x146f6e&&_0x2230e2(_0x146f6e,0x80);}return!0x1;}function _0x413c48(_0x146f6e){return _0x368e5a['find'](_0x146f6e[_0x1a4e('0x22e5')],_0x368e5a['isClassLike']);}function _0x28af3d(_0x368e5a){return 0x80000&_0x368e5a[_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x2472')]:0x0;}_0x368e5a[_0x1a4e('0x2473')]=function(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x16d0')]){case 0x0:return _0x85d64f;case 0x1:return _0x4d5193;}return _0x2327c6?_0x2327c6():_0x368e5a[_0x1a4e('0x16b4')]?_0x368e5a[_0x1a4e('0x16b4')]['newLine']:_0x85d64f;},_0x368e5a[_0x1a4e('0x2474')]=function(_0x146f6e){return _0xddb8ed(_0x146f6e,_0x368e5a['SyntaxKind'],!0x1);},_0x368e5a[_0x1a4e('0x2475')]=function(_0x146f6e){return _0xddb8ed(_0x146f6e,_0x368e5a[_0x1a4e('0x2476')],!0x0);},_0x368e5a[_0x1a4e('0x2477')]=function(_0x146f6e){return _0xddb8ed(_0x146f6e,_0x368e5a[_0x1a4e('0x2478')],!0x0);},_0x368e5a[_0x1a4e('0x2479')]=function(_0x146f6e){return _0xddb8ed(_0x146f6e,_0x368e5a['EmitFlags'],!0x0);},_0x368e5a[_0x1a4e('0x247a')]=function(_0x146f6e){return _0xddb8ed(_0x146f6e,_0x368e5a[_0x1a4e('0x198e')],!0x0);},_0x368e5a[_0x1a4e('0x247b')]=function(_0x146f6e){return _0xddb8ed(_0x146f6e,_0x368e5a['TypeFlags'],!0x0);},_0x368e5a[_0x1a4e('0x247c')]=function(_0x146f6e){return _0xddb8ed(_0x146f6e,_0x368e5a[_0x1a4e('0x1a08')],!0x0);},_0x368e5a[_0x1a4e('0x247d')]=_0x39e0d3,_0x368e5a['moveRangeEnd']=function(_0x368e5a,_0x146f6e){return _0x39e0d3(_0x368e5a[_0x1a4e('0xa4')],_0x146f6e);},_0x368e5a[_0x1a4e('0x247e')]=_0x222fb9,_0x368e5a[_0x1a4e('0x247f')]=_0x285ba4,_0x368e5a['moveRangePastModifiers']=function(_0x368e5a){return _0x368e5a['modifiers']&&_0x368e5a[_0x1a4e('0x242d')][_0x1a4e('0x1e')]>0x0?_0x222fb9(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')][_0x1a4e('0xca')]):_0x285ba4(_0x368e5a);},_0x368e5a[_0x1a4e('0x2480')]=function(_0x368e5a){return _0x368e5a[_0x1a4e('0xa4')]===_0x368e5a[_0x1a4e('0xca')];},_0x368e5a[_0x1a4e('0x2481')]=function(_0x146f6e,_0x2327c6){return _0x39e0d3(_0x146f6e,_0x146f6e+_0x368e5a[_0x1a4e('0x22ba')](_0x2327c6)[_0x1a4e('0x1e')]);},_0x368e5a[_0x1a4e('0x2482')]=function(_0x368e5a,_0x146f6e){return _0x5c1293(_0x368e5a,_0x368e5a,_0x146f6e);},_0x368e5a[_0x1a4e('0x2483')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x12bc99(_0x7bcc83(_0x368e5a,_0x2327c6),_0x7bcc83(_0x146f6e,_0x2327c6),_0x2327c6);},_0x368e5a[_0x1a4e('0x2484')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x12bc99(_0x368e5a['end'],_0x146f6e['end'],_0x2327c6);},_0x368e5a[_0x1a4e('0x2485')]=_0x5c1293,_0x368e5a[_0x1a4e('0x2486')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x12bc99(_0x368e5a[_0x1a4e('0xca')],_0x7bcc83(_0x146f6e,_0x2327c6),_0x2327c6);},_0x368e5a[_0x1a4e('0x2487')]=_0x12bc99,_0x368e5a['getStartPositionOfRange']=_0x7bcc83,_0x368e5a[_0x1a4e('0x2488')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e);if(_0x2327c6)switch(_0x2327c6[_0x1a4e('0x11c')]['kind']){case 0xf3:case 0xf4:return _0x2327c6===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2cb')];}return!0x1;},_0x368e5a[_0x1a4e('0x2489')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x22e5')],_0x2d8b37);},_0x368e5a[_0x1a4e('0x248a')]=function(_0x368e5a){return _0x368e5a[_0x1a4e('0x1b72')]&&_0x368e5a[_0x1a4e('0xb')](_0x1a4e('0x1b72'));},_0x368e5a[_0x1a4e('0x1b44')]=function(_0x368e5a){_0x368e5a[_0x1a4e('0x139b')]();},_0x368e5a[_0x1a4e('0x248b')]=_0x49def8,_0x368e5a[_0x1a4e('0x248c')]=function(_0x146f6e){if(_0x146f6e['valueDeclaration']){var _0x2327c6=_0x368e5a[_0x1a4e('0x235c')](_0x146f6e['valueDeclaration']);return _0x146f6e[_0x1a4e('0x11c')]&&0x20&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x7b2')]?_0x2327c6:-0x1d&_0x2327c6;}if(0x6&_0x49def8(_0x146f6e)){var _0x55ff7e=_0x146f6e['checkFlags'];return(0x100&_0x55ff7e?0x8:0x40&_0x55ff7e?0x4:0x10)|(0x200&_0x55ff7e?0x20:0x0);}return 0x400000&_0x146f6e[_0x1a4e('0x7b2')]?0x24:0x0;},_0x368e5a['skipAlias']=function(_0x368e5a,_0x146f6e){return 0x200000&_0x368e5a[_0x1a4e('0x7b2')]?_0x146f6e[_0x1a4e('0x248d')](_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x248e')]=function(_0x368e5a){return _0x368e5a['exportSymbol']?_0x368e5a[_0x1a4e('0x248f')][_0x1a4e('0x7b2')]|_0x368e5a[_0x1a4e('0x7b2')]:_0x368e5a[_0x1a4e('0x7b2')];},_0x368e5a[_0x1a4e('0x2490')]=function(_0x368e5a){return 0x1===_0x3d75d0(_0x368e5a);},_0x368e5a[_0x1a4e('0x2491')]=function(_0x368e5a){return 0x0!==_0x3d75d0(_0x368e5a);},function(_0x368e5a){_0x368e5a[_0x368e5a['Read']=0x0]=_0x1a4e('0x1adb'),_0x368e5a[_0x368e5a['Write']=0x1]='Write',_0x368e5a[_0x368e5a['ReadWrite']=0x2]=_0x1a4e('0x2492');}(_0x18965c||(_0x18965c={})),_0x368e5a[_0x1a4e('0x2493')]=function _0x368e5a(_0x146f6e,_0x2327c6){if(!_0x146f6e||!_0x2327c6||Object['keys'](_0x146f6e)[_0x1a4e('0x1e')]!==Object[_0x1a4e('0x56')](_0x2327c6)[_0x1a4e('0x1e')])return!0x1;for(var _0x55ff7e in _0x146f6e)if('object'==typeof _0x146f6e[_0x55ff7e]){if(!_0x368e5a(_0x146f6e[_0x55ff7e],_0x2327c6[_0x55ff7e]))return!0x1;}else if(_0x1a4e('0x68')!=typeof _0x146f6e[_0x55ff7e]&&_0x146f6e[_0x55ff7e]!==_0x2327c6[_0x55ff7e])return!0x1;return!0x0;},_0x368e5a['clearMap']=function(_0x368e5a,_0x146f6e){_0x368e5a[_0x1a4e('0x3b')](_0x146f6e),_0x368e5a['clear']();},_0x368e5a[_0x1a4e('0x2494')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6['createNewValue'],_0x1adc17=_0x2327c6['onDeleteValue'],_0xf79407=_0x2327c6[_0x1a4e('0x2495')];_0x368e5a[_0x1a4e('0x3b')](function(_0x2327c6,_0x55ff7e){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x179')](_0x55ff7e);void 0x0===_0x2c9ec9?(_0x368e5a[_0x1a4e('0xf4c')](_0x55ff7e),_0x1adc17(_0x2327c6,_0x55ff7e)):_0xf79407&&_0xf79407(_0x2327c6,_0x2c9ec9,_0x55ff7e);}),_0x146f6e['forEach'](function(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x178')](_0x2327c6)||_0x368e5a['set'](_0x2327c6,_0x55ff7e(_0x2327c6,_0x146f6e));});},_0x368e5a[_0x1a4e('0x2496')]=_0x2ca87b,_0x368e5a[_0x1a4e('0x2497')]=function(_0x368e5a){return!!(0x10&_0x28af3d(_0x368e5a))&&!!_0x368e5a[_0x1a4e('0xb1b')]&&_0x201d21(_0x368e5a['symbol']);},_0x368e5a[_0x1a4e('0x2498')]=_0x201d21,_0x368e5a[_0x1a4e('0x2499')]=_0x413c48,_0x368e5a[_0x1a4e('0x249a')]=_0x28af3d,_0x368e5a[_0x1a4e('0x249b')]=function(_0x368e5a,_0x146f6e){return 0x0!==_0x146f6e[_0x1a4e('0x249c')](_0x368e5a,0x0)[_0x1a4e('0x1e')]||0x0!==_0x146f6e['getSignaturesOfType'](_0x368e5a,0x1)[_0x1a4e('0x1e')];},_0x368e5a[_0x1a4e('0x249d')]=function(_0x368e5a,_0x146f6e){return!!_0x2ca87b(_0x368e5a,function(_0x368e5a){return!!_0x146f6e(_0x368e5a)||void 0x0;});},_0x368e5a[_0x1a4e('0x249e')]=function(_0x146f6e){return!!_0x146f6e&&!!_0x146f6e[_0x1a4e('0x22e5')]&&!!_0x146f6e[_0x1a4e('0x22e5')][0x0]&&_0x368e5a['isNamespaceExportDeclaration'](_0x146f6e[_0x1a4e('0x22e5')][0x0]);},_0x368e5a[_0x1a4e('0x249f')]=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x23c5')];return _0x368e5a[_0x1a4e('0x2374')](_0x2327c6)?_0x2327c6[_0x1a4e('0xe04')]:_0xc02ec4(_0x2327c6);},_0x368e5a[_0x1a4e('0x24a0')]=function(_0x146f6e){var _0x2327c6;return _0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,function(_0x368e5a){_0x14e909(_0x368e5a)&&(_0x2327c6=_0x368e5a);},function(_0x368e5a){for(var _0x146f6e=_0x368e5a['length']-0x1;_0x146f6e>=0x0;_0x146f6e--)if(_0x14e909(_0x368e5a[_0x146f6e])){_0x2327c6=_0x368e5a[_0x146f6e];break;}}),_0x2327c6;},_0x368e5a['addToSeen']=function(_0x368e5a,_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=!0x0),_0x146f6e=String(_0x146f6e),!_0x368e5a[_0x1a4e('0x178')](_0x146f6e)&&(_0x368e5a[_0x1a4e('0x17a')](_0x146f6e,_0x2327c6),!0x0);},_0x368e5a[_0x1a4e('0x24a1')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2367')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23ef')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24a2')](_0x146f6e);},_0x368e5a[_0x1a4e('0x24a3')]=function(_0x368e5a){return _0x368e5a>=0xa3&&_0x368e5a<=0xb7||0x78===_0x368e5a||0x8f===_0x368e5a||0x87===_0x368e5a||0x92===_0x368e5a||0x88===_0x368e5a||0x7b===_0x368e5a||0x8a===_0x368e5a||0x8b===_0x368e5a||0x64===_0x368e5a||0x6a===_0x368e5a||0x8d===_0x368e5a||0x60===_0x368e5a||0x84===_0x368e5a||0xd3===_0x368e5a||0x11c===_0x368e5a||0x11d===_0x368e5a||0x11e===_0x368e5a||0x11f===_0x368e5a||0x120===_0x368e5a||0x121===_0x368e5a||0x122===_0x368e5a;};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x368e5a){return _0x368e5a['start']+_0x368e5a[_0x1a4e('0x1e')];}function _0x2327c6(_0x368e5a){return 0x0===_0x368e5a['length'];}function _0x55ff7e(_0x368e5a,_0x146f6e){var _0x2327c6=_0xf79407(_0x368e5a,_0x146f6e);return _0x2327c6&&0x0===_0x2327c6[_0x1a4e('0x1e')]?void 0x0:_0x2327c6;}function _0x1adc17(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x2327c6<=_0x368e5a+_0x146f6e&&_0x2327c6+_0x55ff7e>=_0x368e5a;}function _0xf79407(_0x368e5a,_0x2327c6){var _0x55ff7e=Math[_0x1a4e('0x6c')](_0x368e5a[_0x1a4e('0xc9')],_0x2327c6['start']),_0x1adc17=Math[_0x1a4e('0x74')](_0x146f6e(_0x368e5a),_0x146f6e(_0x2327c6));return _0x55ff7e<=_0x1adc17?_0x420b32(_0x55ff7e,_0x1adc17):void 0x0;}function _0x2c9ec9(_0x368e5a,_0x146f6e){if(_0x368e5a<0x0)throw new Error(_0x1a4e('0x24a4'));if(_0x146f6e<0x0)throw new Error(_0x1a4e('0x24a5'));return{'start':_0x368e5a,'length':_0x146f6e};}function _0x420b32(_0x368e5a,_0x146f6e){return _0x2c9ec9(_0x368e5a,_0x146f6e-_0x368e5a);}function _0x1b06ad(_0x368e5a,_0x146f6e){if(_0x146f6e<0x0)throw new Error('newLength\x20<\x200');return{'span':_0x368e5a,'newLength':_0x146f6e};}function _0x326eae(_0x146f6e){return!!_0x368e5a['isBindingPattern'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x114')](_0x146f6e[_0x1a4e('0x2398')],_0x56674b);}function _0x56674b(_0x146f6e){return!!_0x368e5a['isOmittedExpression'](_0x146f6e)||_0x326eae(_0x146f6e[_0x1a4e('0x2cb')]);}function _0x137817(_0x146f6e){for(var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];_0x368e5a[_0x1a4e('0x24a6')](_0x2327c6[_0x1a4e('0x11c')]);)_0x2327c6=_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')];return _0x2327c6[_0x1a4e('0x11c')];}function _0x51cb92(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e)&&(_0x146f6e=_0x137817(_0x146f6e));var _0x55ff7e=_0x2327c6(_0x146f6e);return 0xed===_0x146f6e['kind']&&(_0x146f6e=_0x146f6e['parent']),_0x146f6e&&0xee===_0x146f6e['kind']&&(_0x55ff7e|=_0x2327c6(_0x146f6e),_0x146f6e=_0x146f6e['parent']),_0x146f6e&&0xdb===_0x146f6e[_0x1a4e('0x146b')]&&(_0x55ff7e|=_0x2327c6(_0x146f6e)),_0x55ff7e;}function _0x464475(_0x368e5a,_0x146f6e){if(_0x368e5a)for(;void 0x0!==_0x368e5a['original'];)_0x368e5a=_0x368e5a['original'];return!_0x146f6e||_0x146f6e(_0x368e5a)?_0x368e5a:void 0x0;}function _0x20c47a(_0x368e5a){return 0x0==(0x8&_0x368e5a[_0x1a4e('0x7b2')]);}function _0x292821(_0x368e5a){var _0x146f6e=_0x368e5a;return _0x146f6e['length']>=0x3&&0x5f===_0x146f6e[_0x1a4e('0x913')](0x0)&&0x5f===_0x146f6e[_0x1a4e('0x913')](0x1)&&0x5f===_0x146f6e[_0x1a4e('0x913')](0x2)?_0x146f6e[_0x1a4e('0x254')](0x1):_0x146f6e;}function _0x21b034(_0x146f6e){var _0x2327c6=_0x4bd1e5(_0x146f6e);return _0x2327c6&&_0x368e5a['isIdentifier'](_0x2327c6)?_0x2327c6:void 0x0;}function _0x5b5c47(_0x146f6e){return _0x146f6e[_0x1a4e('0x2cb')]||function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')]['parent'];if(_0x2327c6){if(_0x368e5a[_0x1a4e('0x23e6')](_0x2327c6))return _0x21b034(_0x2327c6);switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xdb:if(_0x2327c6[_0x1a4e('0x2377')]&&_0x2327c6['declarationList'][_0x1a4e('0x22e5')][0x0])return _0x21b034(_0x2327c6['declarationList'][_0x1a4e('0x22e5')][0x0]);break;case 0xdd:var _0x55ff7e=_0x2327c6[_0x1a4e('0x2302')];switch(_0x55ff7e['kind']){case 0xbd:return _0x55ff7e[_0x1a4e('0x2cb')];case 0xbe:var _0x1adc17=_0x55ff7e[_0x1a4e('0x24a7')];if(_0x368e5a[_0x1a4e('0x2370')](_0x1adc17))return _0x1adc17;}break;case 0xc3:return _0x21b034(_0x2327c6[_0x1a4e('0x2302')]);case 0xe9:if(_0x368e5a[_0x1a4e('0x23e6')](_0x2327c6[_0x1a4e('0x2390')])||_0x368e5a[_0x1a4e('0x24a8')](_0x2327c6[_0x1a4e('0x2390')]))return _0x21b034(_0x2327c6[_0x1a4e('0x2390')]);}}}(_0x146f6e);}function _0xfb15d5(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x146f6e;case 0x131:case 0x12b:var _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')];if(0x94===_0x2327c6['kind'])return _0x2327c6[_0x1a4e('0x5d')];break;case 0xbf:case 0xcc:var _0x55ff7e=_0x146f6e;switch(_0x368e5a[_0x1a4e('0x23ba')](_0x55ff7e)){case 0x1:case 0x4:case 0x5:case 0x3:return _0x55ff7e['left'][_0x1a4e('0x2cb')];case 0x7:case 0x8:case 0x9:return _0x55ff7e[_0x1a4e('0x2373')][0x1];default:return;}case 0x130:return _0x5b5c47(_0x146f6e);case 0xfe:var _0x1adc17=_0x146f6e['expression'];return _0x368e5a[_0x1a4e('0x2370')](_0x1adc17)?_0x1adc17:void 0x0;}return _0x146f6e[_0x1a4e('0x2cb')];}function _0x4bd1e5(_0x146f6e){if(void 0x0!==_0x146f6e)return _0xfb15d5(_0x146f6e)||(_0x368e5a[_0x1a4e('0x23df')](_0x146f6e)||_0x368e5a[_0x1a4e('0x237c')](_0x146f6e)?function(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x11c')])return;if(_0x368e5a[_0x1a4e('0x23b4')](_0x146f6e[_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e[_0x1a4e('0x11c')]))return _0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')];if(_0x368e5a[_0x1a4e('0x236e')](_0x146f6e['parent'])&&_0x146f6e===_0x146f6e['parent'][_0x1a4e('0x5d')]){if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x5f')]))return _0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x5f')];if(_0x368e5a['isPropertyAccessExpression'](_0x146f6e[_0x1a4e('0x11c')]['left']))return _0x146f6e[_0x1a4e('0x11c')]['left'][_0x1a4e('0x2cb')];}}(_0x146f6e):void 0x0);}function _0x3fac8f(_0x146f6e){if(_0x146f6e[_0x1a4e('0x2cb')]){if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['name'])){var _0x2327c6=_0x146f6e['name'][_0x1a4e('0x22f3')];return _0x9319dd(_0x146f6e[_0x1a4e('0x11c')])[_0x1a4e('0xd9')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24a9')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])&&_0x146f6e['name'][_0x1a4e('0x22f3')]===_0x2327c6;});}var _0x55ff7e=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0x146f6e);_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x55ff7e>-0x1,_0x1a4e('0x24aa'));var _0x1adc17=_0x9319dd(_0x146f6e[_0x1a4e('0x11c')])[_0x1a4e('0xd9')](_0x368e5a[_0x1a4e('0x24a9')]);if(_0x55ff7e<_0x1adc17['length'])return[_0x1adc17[_0x55ff7e]];}return _0x368e5a[_0x1a4e('0x1700')];}function _0x73f33e(_0x146f6e){return _0x2f6da2(_0x146f6e,_0x368e5a['isJSDocReturnTag']);}function _0xaed6c5(_0x146f6e){var _0x2327c6=_0x2f6da2(_0x146f6e,_0x368e5a[_0x1a4e('0x24ab')]);if(_0x2327c6&&_0x2327c6[_0x1a4e('0x2379')]&&_0x2327c6[_0x1a4e('0x2379')]['type'])return _0x2327c6;}function _0x32a13f(_0x146f6e){var _0x2327c6=_0x2f6da2(_0x146f6e,_0x368e5a[_0x1a4e('0x24ab')]);return!_0x2327c6&&_0x368e5a[_0x1a4e('0x24ac')](_0x146f6e)&&(_0x2327c6=_0x368e5a['find'](_0x3fac8f(_0x146f6e),function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x2379')];})),_0x2327c6&&_0x2327c6['typeExpression']&&_0x2327c6[_0x1a4e('0x2379')][_0x1a4e('0x40')];}function _0x9319dd(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x24ad')];if(void 0x0===_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x23cf')](_0x146f6e);_0x368e5a['Debug']['assert'](_0x55ff7e[_0x1a4e('0x1e')]<0x2||_0x55ff7e[0x0]!==_0x55ff7e[0x1]),_0x146f6e[_0x1a4e('0x24ad')]=_0x2327c6=_0x368e5a[_0x1a4e('0x104e')](_0x55ff7e,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2378')](_0x146f6e)?_0x146f6e[_0x1a4e('0x2455')]:_0x146f6e;});}return _0x2327c6;}function _0x2f6da2(_0x146f6e,_0x2327c6){return _0x368e5a['find'](_0x9319dd(_0x146f6e),_0x2327c6);}_0x368e5a[_0x1a4e('0x24ae')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0xd95')]){case 0x6:return _0x1a4e('0x24af');case 0x5:return _0x1a4e('0x24b0');case 0x4:return _0x1a4e('0x24b1');case 0x3:return _0x1a4e('0x24b2');case 0x2:return _0x1a4e('0x24b3');default:return'lib.d.ts';}},_0x368e5a[_0x1a4e('0x24b4')]=_0x146f6e,_0x368e5a[_0x1a4e('0x24b5')]=_0x2327c6,_0x368e5a[_0x1a4e('0x24b6')]=function(_0x368e5a,_0x2327c6){return _0x2327c6>=_0x368e5a[_0x1a4e('0xc9')]&&_0x2327c6<_0x146f6e(_0x368e5a);},_0x368e5a[_0x1a4e('0x24b7')]=function(_0x368e5a,_0x146f6e){return _0x146f6e>=_0x368e5a[_0x1a4e('0xa4')]&&_0x146f6e<=_0x368e5a['end'];},_0x368e5a['textSpanContainsTextSpan']=function(_0x368e5a,_0x2327c6){return _0x2327c6[_0x1a4e('0xc9')]>=_0x368e5a[_0x1a4e('0xc9')]&&_0x146f6e(_0x2327c6)<=_0x146f6e(_0x368e5a);},_0x368e5a[_0x1a4e('0x24b8')]=function(_0x368e5a,_0x146f6e){return void 0x0!==_0x55ff7e(_0x368e5a,_0x146f6e);},_0x368e5a[_0x1a4e('0x24b9')]=_0x55ff7e,_0x368e5a[_0x1a4e('0x24ba')]=function(_0x368e5a,_0x146f6e){return _0x1adc17(_0x368e5a['start'],_0x368e5a['length'],_0x146f6e[_0x1a4e('0xc9')],_0x146f6e[_0x1a4e('0x1e')]);},_0x368e5a[_0x1a4e('0x24bb')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x1adc17(_0x368e5a['start'],_0x368e5a['length'],_0x146f6e,_0x2327c6);},_0x368e5a[_0x1a4e('0x24bc')]=_0x1adc17,_0x368e5a[_0x1a4e('0x24bd')]=function(_0x368e5a,_0x2327c6){return _0x2327c6<=_0x146f6e(_0x368e5a)&&_0x2327c6>=_0x368e5a[_0x1a4e('0xc9')];},_0x368e5a[_0x1a4e('0x24be')]=_0xf79407,_0x368e5a[_0x1a4e('0x22fb')]=_0x2c9ec9,_0x368e5a['createTextSpanFromBounds']=_0x420b32,_0x368e5a[_0x1a4e('0x24bf')]=function(_0x368e5a){return _0x2c9ec9(_0x368e5a[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x368e5a[_0x1a4e('0x24c1')]);},_0x368e5a[_0x1a4e('0x24c2')]=function(_0x368e5a){return _0x2327c6(_0x368e5a[_0x1a4e('0x24c0')])&&0x0===_0x368e5a[_0x1a4e('0x24c1')];},_0x368e5a[_0x1a4e('0x24c3')]=_0x1b06ad,_0x368e5a[_0x1a4e('0x24c4')]=_0x1b06ad(_0x2c9ec9(0x0,0x0),0x0),_0x368e5a[_0x1a4e('0x24c5')]=function(_0x2327c6){if(0x0===_0x2327c6[_0x1a4e('0x1e')])return _0x368e5a[_0x1a4e('0x24c4')];if(0x1===_0x2327c6[_0x1a4e('0x1e')])return _0x2327c6[0x0];for(var _0x55ff7e=_0x2327c6[0x0],_0x1adc17=_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0xf79407=_0x146f6e(_0x55ff7e[_0x1a4e('0x24c0')]),_0x2c9ec9=_0x1adc17+_0x55ff7e['newLength'],_0x326eae=0x1;_0x326eae<_0x2327c6[_0x1a4e('0x1e')];_0x326eae++){var _0x56674b=_0x2327c6[_0x326eae],_0x137817=_0x1adc17,_0x51cb92=_0xf79407,_0x464475=_0x2c9ec9,_0x20c47a=_0x56674b['span'][_0x1a4e('0xc9')],_0x292821=_0x146f6e(_0x56674b[_0x1a4e('0x24c0')]),_0x21b034=_0x20c47a+_0x56674b['newLength'];_0x1adc17=Math[_0x1a4e('0x74')](_0x137817,_0x20c47a),_0xf79407=Math[_0x1a4e('0x6c')](_0x51cb92,_0x51cb92+(_0x292821-_0x464475)),_0x2c9ec9=Math[_0x1a4e('0x6c')](_0x21b034,_0x21b034+(_0x464475-_0x292821));}return _0x1b06ad(_0x420b32(_0x1adc17,_0xf79407),_0x2c9ec9-_0x1adc17);},_0x368e5a['getTypeParameterOwner']=function(_0x146f6e){if(_0x146f6e&&0x96===_0x146f6e[_0x1a4e('0x146b')])for(var _0x2327c6=_0x146f6e;_0x2327c6;_0x2327c6=_0x2327c6[_0x1a4e('0x11c')])if(_0x368e5a[_0x1a4e('0x2342')](_0x2327c6)||_0x368e5a[_0x1a4e('0x2367')](_0x2327c6)||0xf1===_0x2327c6[_0x1a4e('0x146b')])return _0x2327c6;},_0x368e5a[_0x1a4e('0x235e')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x5c)&&0x9d===_0x146f6e[_0x1a4e('0x11c')]['kind'];},_0x368e5a[_0x1a4e('0x24c7')]=_0x326eae,_0x368e5a['isEmptyBindingElement']=_0x56674b,_0x368e5a[_0x1a4e('0x24c8')]=_0x137817,_0x368e5a[_0x1a4e('0x235c')]=function(_0x146f6e){return _0x51cb92(_0x146f6e,_0x368e5a['getModifierFlags']);},_0x368e5a['getCombinedNodeFlags']=function(_0x368e5a){return _0x51cb92(_0x368e5a,function(_0x368e5a){return _0x368e5a['flags'];});},_0x368e5a[_0x1a4e('0x24c9')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=/^([a-z]+)([_\-]([a-z]+))?$/[_0x1a4e('0x2af')](_0x146f6e['toLowerCase']());if(_0x1adc17){var _0xf79407=_0x1adc17[0x1];_0x2c9ec9(_0xf79407,_0x1adc17[0x3],_0x55ff7e)||_0x2c9ec9(_0xf79407,void 0x0,_0x55ff7e),_0x368e5a[_0x1a4e('0x1753')](_0x146f6e);}else _0x55ff7e&&_0x55ff7e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x24ca')],'en',_0x1a4e('0x24cb')));function _0x2c9ec9(_0x146f6e,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x1672')](_0x2327c6['getExecutingFilePath']()),_0x2c9ec9=_0x368e5a[_0x1a4e('0x1671')](_0xf79407),_0x420b32=_0x368e5a[_0x1a4e('0x1673')](_0x2c9ec9,_0x146f6e);if(_0x55ff7e&&(_0x420b32=_0x420b32+'-'+_0x55ff7e),_0x420b32=_0x2327c6[_0x1a4e('0x1b4c')](_0x368e5a['combinePaths'](_0x420b32,_0x1a4e('0x24cc'))),!_0x2327c6['fileExists'](_0x420b32))return!0x1;var _0x1b06ad='';try{_0x1b06ad=_0x2327c6[_0x1a4e('0x16b8')](_0x420b32);}catch(_0xbba22c){return _0x1adc17&&_0x1adc17[_0x1a4e('0x46')](_0x368e5a['createCompilerDiagnostic'](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x24cd')],_0x420b32)),!0x1;}try{_0x368e5a[_0x1a4e('0x24ce')]=JSON[_0x1a4e('0x25a')](_0x1b06ad);}catch(_0x28b51e){return _0x1adc17&&_0x1adc17[_0x1a4e('0x46')](_0x368e5a['createCompilerDiagnostic'](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x24cf')],_0x420b32)),!0x1;}return!0x0;}},_0x368e5a[_0x1a4e('0x24d0')]=_0x464475,_0x368e5a['isParseTreeNode']=_0x20c47a,_0x368e5a['getParseTreeNode']=function(_0x368e5a,_0x146f6e){return void 0x0===_0x368e5a||_0x20c47a(_0x368e5a)?_0x368e5a:!_0x20c47a(_0x368e5a=_0x464475(_0x368e5a))||_0x146f6e&&!_0x146f6e(_0x368e5a)?void 0x0:_0x368e5a;},_0x368e5a[_0x1a4e('0x22f4')]=function(_0x368e5a){return _0x368e5a['length']>=0x2&&0x5f===_0x368e5a[_0x1a4e('0x913')](0x0)&&0x5f===_0x368e5a[_0x1a4e('0x913')](0x1)?'_'+_0x368e5a:_0x368e5a;},_0x368e5a[_0x1a4e('0x24d1')]=_0x292821,_0x368e5a[_0x1a4e('0x2353')]=function(_0x368e5a){return _0x292821(_0x368e5a[_0x1a4e('0x22f3')]);},_0x368e5a[_0x1a4e('0x24d2')]=function(_0x368e5a){return _0x292821(_0x368e5a['escapedName']);},_0x368e5a[_0x1a4e('0x24d3')]=_0x5b5c47,_0x368e5a['isNamedDeclaration']=function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x2cb')];},_0x368e5a[_0x1a4e('0x24d4')]=_0xfb15d5,_0x368e5a[_0x1a4e('0x23e9')]=_0x4bd1e5,_0x368e5a[_0x1a4e('0x23d2')]=_0x3fac8f,_0x368e5a['getJSDocTypeParameterTags']=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')];return _0x9319dd(_0x146f6e[_0x1a4e('0x11c')])[_0x1a4e('0xd9')](function(_0x146f6e){return _0x368e5a['isJSDocTemplateTag'](_0x146f6e)&&_0x146f6e[_0x1a4e('0x23d7')][_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a['name'][_0x1a4e('0x22f3')]===_0x2327c6;});});},_0x368e5a[_0x1a4e('0x24d5')]=function(_0x146f6e){return!!_0x2f6da2(_0x146f6e,_0x368e5a[_0x1a4e('0x24a9')]);},_0x368e5a[_0x1a4e('0x237d')]=function(_0x146f6e){return _0x2f6da2(_0x146f6e,_0x368e5a[_0x1a4e('0x24d6')]);},_0x368e5a['getJSDocClassTag']=function(_0x146f6e){return _0x2f6da2(_0x146f6e,_0x368e5a[_0x1a4e('0x24d7')]);},_0x368e5a[_0x1a4e('0x24d8')]=function(_0x146f6e){return _0x2f6da2(_0x146f6e,_0x368e5a[_0x1a4e('0x24d9')]);},_0x368e5a[_0x1a4e('0x24da')]=function(_0x146f6e){return _0x2f6da2(_0x146f6e,_0x368e5a[_0x1a4e('0x24db')]);},_0x368e5a['getJSDocReturnTag']=_0x73f33e,_0x368e5a[_0x1a4e('0x24dc')]=function(_0x146f6e){return _0x2f6da2(_0x146f6e,_0x368e5a['isJSDocTemplateTag']);},_0x368e5a[_0x1a4e('0x23bf')]=_0xaed6c5,_0x368e5a[_0x1a4e('0x2425')]=_0x32a13f,_0x368e5a[_0x1a4e('0x2453')]=function(_0x146f6e){var _0x2327c6=_0x73f33e(_0x146f6e);if(_0x2327c6&&_0x2327c6[_0x1a4e('0x2379')])return _0x2327c6['typeExpression'][_0x1a4e('0x40')];var _0x55ff7e=_0xaed6c5(_0x146f6e);if(_0x55ff7e&&_0x55ff7e['typeExpression']){var _0x1adc17=_0x55ff7e['typeExpression']['type'];if(_0x368e5a[_0x1a4e('0x24a2')](_0x1adc17)){var _0xf79407=_0x368e5a['find'](_0x1adc17[_0x1a4e('0x2369')],_0x368e5a[_0x1a4e('0x24dd')]);return _0xf79407&&_0xf79407[_0x1a4e('0x40')];}if(_0x368e5a[_0x1a4e('0x24de')](_0x1adc17))return _0x1adc17[_0x1a4e('0x40')];}},_0x368e5a[_0x1a4e('0x24df')]=_0x9319dd,_0x368e5a['getAllJSDocTagsOfKind']=function(_0x368e5a,_0x146f6e){return _0x9319dd(_0x368e5a)[_0x1a4e('0xd9')](function(_0x368e5a){return _0x368e5a['kind']===_0x146f6e;});},_0x368e5a['getEffectiveTypeParameterDeclarations']=function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x244e')](_0x146f6e))return _0x368e5a[_0x1a4e('0x1700')];if(_0x368e5a['isJSDocTypeAlias'](_0x146f6e))return _0x368e5a[_0x1a4e('0x1749')]['assert'](0x123===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]),_0x368e5a[_0x1a4e('0x104e')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2455')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24e0')](_0x146f6e)?_0x146f6e[_0x1a4e('0x23d7')]:void 0x0;});if(_0x146f6e[_0x1a4e('0x23d7')])return _0x146f6e[_0x1a4e('0x23d7')];if(_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)){var _0x2327c6=_0x368e5a['getJSDocTypeParameterDeclarations'](_0x146f6e);if(_0x2327c6[_0x1a4e('0x1e')])return _0x2327c6;var _0x55ff7e=_0x32a13f(_0x146f6e);if(_0x55ff7e&&_0x368e5a[_0x1a4e('0x24de')](_0x55ff7e)&&_0x55ff7e[_0x1a4e('0x23d7')])return _0x55ff7e['typeParameters'];}return _0x368e5a[_0x1a4e('0x1700')];},_0x368e5a[_0x1a4e('0x24e2')]=function(_0x146f6e){return _0x146f6e[_0x1a4e('0x2364')]?_0x146f6e[_0x1a4e('0x2364')]:_0x368e5a[_0x1a4e('0x24e0')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x23d7')][0x0]?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2364')]:void 0x0;};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a['isNumericLiteral']=function(_0x368e5a){return 0x8===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isBigIntLiteral']=function(_0x368e5a){return 0x9===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2374')]=function(_0x368e5a){return 0xa===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24e3')]=function(_0x368e5a){return 0xb===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24e4')]=function(_0x368e5a){return 0xd===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24e5')]=function(_0x368e5a){return 0xe===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24e6')]=function(_0x368e5a){return 0xf===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24e7')]=function(_0x368e5a){return 0x10===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24e8')]=function(_0x368e5a){return 0x11===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2370')]=function(_0x368e5a){return 0x48===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24e9')]=function(_0x368e5a){return 0x94===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x23e8')]=function(_0x368e5a){return 0x95===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24ea')]=function(_0x368e5a){return 0x96===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isParameter']=function(_0x368e5a){return 0x97===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24eb')]=function(_0x368e5a){return 0x98===_0x368e5a['kind'];},_0x368e5a['isPropertySignature']=function(_0x368e5a){return 0x99===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24ec')]=function(_0x368e5a){return 0x9a===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isMethodSignature']=function(_0x368e5a){return 0x9b===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24ed')]=function(_0x368e5a){return 0x9c===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x23e3')]=function(_0x368e5a){return 0x9d===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24ee')]=function(_0x368e5a){return 0x9e===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isSetAccessorDeclaration']=function(_0x368e5a){return 0x9f===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24dd')]=function(_0x368e5a){return 0xa0===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24ef')]=function(_0x368e5a){return 0xa1===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24f0')]=function(_0x368e5a){return 0xa2===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24f1')]=function(_0x368e5a){return 0x9f===_0x368e5a['kind']||0x9e===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24f2')]=function(_0x368e5a){return 0xa3===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isTypeReferenceNode']=function(_0x368e5a){return 0xa4===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isFunctionTypeNode']=function(_0x368e5a){return 0xa5===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isConstructorTypeNode']=function(_0x368e5a){return 0xa6===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isTypeQueryNode']=function(_0x368e5a){return 0xa7===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24a2')]=function(_0x368e5a){return 0xa8===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isArrayTypeNode']=function(_0x368e5a){return 0xa9===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24f3')]=function(_0x368e5a){return 0xaa===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24f4')]=function(_0x368e5a){return 0xad===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24f5')]=function(_0x368e5a){return 0xae===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isConditionalTypeNode']=function(_0x368e5a){return 0xaf===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24f6')]=function(_0x368e5a){return 0xb0===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24f7')]=function(_0x368e5a){return 0xb1===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isThisTypeNode']=function(_0x368e5a){return 0xb2===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24f8')]=function(_0x368e5a){return 0xb3===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24f9')]=function(_0x368e5a){return 0xb4===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isMappedTypeNode']=function(_0x368e5a){return 0xb5===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x22ff')]=function(_0x368e5a){return 0xb6===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x22fe')]=function(_0x368e5a){return 0xb7===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isObjectBindingPattern']=function(_0x368e5a){return 0xb8===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24fa')]=function(_0x368e5a){return 0xb9===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isBindingElement']=function(_0x368e5a){return 0xba===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2397')]=function(_0x368e5a){return 0xbb===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isObjectLiteralExpression']=function(_0x368e5a){return 0xbc===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2371')]=function(_0x368e5a){return 0xbd===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isElementAccessExpression']=function(_0x368e5a){return 0xbe===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isCallExpression']=function(_0x368e5a){return 0xbf===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isNewExpression']=function(_0x368e5a){return 0xc0===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24fb')]=function(_0x368e5a){return 0xc1===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24fc')]=function(_0x368e5a){return 0xc2===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24fd')]=function(_0x368e5a){return 0xc3===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24fe')]=function(_0x368e5a){for(;0x134===_0x368e5a[_0x1a4e('0x146b')];)_0x368e5a=_0x368e5a[_0x1a4e('0x2302')];return _0x368e5a;},_0x368e5a[_0x1a4e('0x23df')]=function(_0x368e5a){return 0xc4===_0x368e5a['kind'];},_0x368e5a['isArrowFunction']=function(_0x368e5a){return 0xc5===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24ff')]=function(_0x368e5a){return 0xc6===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2500')]=function(_0x368e5a){return 0xc7===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2501')]=function(_0x368e5a){return 0xc8===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2502')]=function(_0x368e5a){return 0xc9===_0x368e5a['kind'];},_0x368e5a['isPrefixUnaryExpression']=function(_0x368e5a){return 0xca===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2503')]=function(_0x368e5a){return 0xcb===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x236e')]=function(_0x368e5a){return 0xcc===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2504')]=function(_0x368e5a){return 0xcd===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2505')]=function(_0x368e5a){return 0xce===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isYieldExpression']=function(_0x368e5a){return 0xcf===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isSpreadElement']=function(_0x368e5a){return 0xd0===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x237c')]=function(_0x368e5a){return 0xd1===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2506')]=function(_0x368e5a){return 0xd2===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isExpressionWithTypeArguments']=function(_0x368e5a){return 0xd3===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2507')]=function(_0x368e5a){return 0xd4===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2508')]=function(_0x368e5a){return 0xd5===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2509')]=function(_0x368e5a){return 0xd6===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x250a')]=function(_0x368e5a){return 0xd8===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x250b')]=function(_0x368e5a){return 0xd9===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x250c')]=function(_0x368e5a){return 0xda===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2376')]=function(_0x368e5a){return 0xdb===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x250d')]=function(_0x368e5a){return 0xdc===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isExpressionStatement']=function(_0x368e5a){return 0xdd===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x250e')]=function(_0x368e5a){return 0xde===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x250f')]=function(_0x368e5a){return 0xdf===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2510')]=function(_0x368e5a){return 0xe0===_0x368e5a['kind'];},_0x368e5a['isForStatement']=function(_0x368e5a){return 0xe1===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2511')]=function(_0x368e5a){return 0xe2===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2512')]=function(_0x368e5a){return 0xe3===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2513')]=function(_0x368e5a){return 0xe4===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2514')]=function(_0x368e5a){return 0xe5===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2515')]=function(_0x368e5a){return 0xe5===_0x368e5a['kind']||0xe4===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2516')]=function(_0x368e5a){return 0xe6===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2517')]=function(_0x368e5a){return 0xe7===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2518')]=function(_0x368e5a){return 0xe8===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2519')]=function(_0x368e5a){return 0xe9===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x251a')]=function(_0x368e5a){return 0xea===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isTryStatement']=function(_0x368e5a){return 0xeb===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x251b')]=function(_0x368e5a){return 0xec===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x238d')]=function(_0x368e5a){return 0xed===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x251c')]=function(_0x368e5a){return 0xee===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x23e2')]=function(_0x368e5a){return 0xef===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x251d')]=function(_0x368e5a){return 0xf0===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x23ef')]=function(_0x368e5a){return 0xf1===_0x368e5a['kind'];},_0x368e5a['isTypeAliasDeclaration']=function(_0x368e5a){return 0xf2===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isEnumDeclaration']=function(_0x368e5a){return 0xf3===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x22ef')]=function(_0x368e5a){return 0xf4===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x251e')]=function(_0x368e5a){return 0xf5===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x251f')]=function(_0x368e5a){return 0xf6===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2520')]=function(_0x368e5a){return 0xf7===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isImportEqualsDeclaration']=function(_0x368e5a){return 0xf8===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isImportDeclaration']=function(_0x368e5a){return 0xf9===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isImportClause']=function(_0x368e5a){return 0xfa===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isNamespaceImport']=function(_0x368e5a){return 0xfb===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2521')]=function(_0x368e5a){return 0xfc===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2522')]=function(_0x368e5a){return 0xfd===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x237b')]=function(_0x368e5a){return 0xfe===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x234e')]=function(_0x368e5a){return 0xff===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2523')]=function(_0x368e5a){return 0x100===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isExportSpecifier']=function(_0x368e5a){return 0x101===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2524')]=function(_0x368e5a){return 0x102===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2525')]=function(_0x368e5a){return 0x103===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2526')]=function(_0x368e5a){return 0x104===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isJsxSelfClosingElement']=function(_0x368e5a){return 0x105===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2527')]=function(_0x368e5a){return 0x106===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2528')]=function(_0x368e5a){return 0x107===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2529')]=function(_0x368e5a){return 0x108===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x252a')]=function(_0x368e5a){return 0x109===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x252b')]=function(_0x368e5a){return 0x10a===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isJsxAttribute']=function(_0x368e5a){return 0x10b===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isJsxAttributes']=function(_0x368e5a){return 0x10c===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x252c')]=function(_0x368e5a){return 0x10d===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x252d')]=function(_0x368e5a){return 0x10e===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x252e')]=function(_0x368e5a){return 0x10f===_0x368e5a['kind'];},_0x368e5a['isDefaultClause']=function(_0x368e5a){return 0x110===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x252f')]=function(_0x368e5a){return 0x111===_0x368e5a['kind'];},_0x368e5a['isCatchClause']=function(_0x368e5a){return 0x112===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x23b4')]=function(_0x368e5a){return 0x113===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isShorthandPropertyAssignment']=function(_0x368e5a){return 0x114===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2530')]=function(_0x368e5a){return 0x115===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2531')]=function(_0x368e5a){return 0x116===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x22f0')]=function(_0x368e5a){return 0x117===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2532')]=function(_0x368e5a){return 0x118===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2533')]=function(_0x368e5a){return 0x119===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2534')]=function(_0x368e5a){return 0x11b===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2535')]=function(_0x368e5a){return 0x11c===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2536')]=function(_0x368e5a){return 0x11d===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2537')]=function(_0x368e5a){return 0x11e===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isJSDocNonNullableType']=function(_0x368e5a){return 0x11f===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2538')]=function(_0x368e5a){return 0x120===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x23cc')]=function(_0x368e5a){return 0x121===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isJSDocVariadicType']=function(_0x368e5a){return 0x122===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2378')]=function(_0x368e5a){return 0x123===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24d6')]=function(_0x368e5a){return 0x127===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24d7')]=function(_0x368e5a){return 0x128===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24d9')]=function(_0x368e5a){return 0x12a===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24db')]=function(_0x368e5a){return 0x12d===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24a9')]=function(_0x368e5a){return 0x12b===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isJSDocReturnTag']=function(_0x368e5a){return 0x12c===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x24ab')]=function(_0x368e5a){return 0x12e===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x24e0')]=function(_0x368e5a){return 0x12f===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2539')]=function(_0x368e5a){return 0x130===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isJSDocPropertyTag']=function(_0x368e5a){return 0x131===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x2424')]=function(_0x368e5a){return 0x131===_0x368e5a[_0x1a4e('0x146b')]||0x12b===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['isJSDocTypeLiteral']=function(_0x368e5a){return 0x124===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x253a')]=function(_0x368e5a){return 0x129===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x244e')]=function(_0x368e5a){return 0x125===_0x368e5a[_0x1a4e('0x146b')];};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x368e5a){return _0x368e5a>=0x94;}function _0x2327c6(_0x368e5a){return 0x8<=_0x368e5a&&_0x368e5a<=0xe;}function _0x55ff7e(_0x368e5a){return 0xe<=_0x368e5a&&_0x368e5a<=0x11;}function _0x1adc17(_0x368e5a){switch(_0x368e5a){case 0x76:case 0x79:case 0x4d:case 0x7d:case 0x50:case 0x55:case 0x73:case 0x71:case 0x72:case 0x85:case 0x74:return!0x0;}return!0x1;}function _0xf79407(_0x146f6e){return!!(0x5c&_0x368e5a['modifierToFlag'](_0x146f6e));}function _0x2c9ec9(_0x368e5a){return _0x368e5a&&_0x1b06ad(_0x368e5a[_0x1a4e('0x146b')]);}function _0x420b32(_0x368e5a){switch(_0x368e5a){case 0xef:case 0x9c:case 0x9d:case 0x9e:case 0x9f:case 0xc4:case 0xc5:return!0x0;default:return!0x1;}}function _0x1b06ad(_0x368e5a){switch(_0x368e5a){case 0x9b:case 0xa0:case 0x125:case 0xa1:case 0xa2:case 0xa5:case 0x121:case 0xa6:return!0x0;default:return _0x420b32(_0x368e5a);}}function _0x326eae(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x9d===_0x146f6e||0x9a===_0x146f6e||0x9c===_0x146f6e||0x9e===_0x146f6e||0x9f===_0x146f6e||0xa2===_0x146f6e||0xd9===_0x146f6e;}function _0x56674b(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xa1===_0x146f6e||0xa0===_0x146f6e||0x99===_0x146f6e||0x9b===_0x146f6e||0xa2===_0x146f6e;}function _0x3878ec(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x113===_0x146f6e||0x114===_0x146f6e||0x115===_0x146f6e||0x9c===_0x146f6e||0x9e===_0x146f6e||0x9f===_0x146f6e;}function _0x3e4ba5(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xb8:case 0xbc:return!0x0;}return!0x1;}function _0x328fde(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xb9:case 0xbb:return!0x0;}return!0x1;}function _0x51a440(_0x368e5a){switch(_0x368e5a){case 0xbd:case 0xbe:case 0xc0:case 0xbf:case 0x104:case 0x105:case 0x108:case 0xc1:case 0xbb:case 0xc3:case 0xbc:case 0xd1:case 0xc4:case 0x48:case 0xd:case 0x8:case 0x9:case 0xa:case 0xe:case 0xce:case 0x57:case 0x60:case 0x64:case 0x66:case 0x62:case 0xd5:case 0xd6:case 0x5c:return!0x0;default:return!0x1;}}function _0x508516(_0x368e5a){switch(_0x368e5a){case 0xca:case 0xcb:case 0xc6:case 0xc7:case 0xc8:case 0xc9:case 0xc2:return!0x0;default:return _0x51a440(_0x368e5a);}}function _0x3d1349(_0x146f6e){return function(_0x368e5a){switch(_0x368e5a){case 0xcd:case 0xcf:case 0xc5:case 0xcc:case 0xd0:case 0xd4:case 0xd2:case 0x135:case 0x134:return!0x0;default:return _0x508516(_0x368e5a);}}(_0x368e5a[_0x1a4e('0x24fe')](_0x146f6e)['kind']);}function _0x4957ce(_0x368e5a){return 0x134===_0x368e5a['kind'];}function _0xa7dda0(_0x368e5a){return 0x133===_0x368e5a[_0x1a4e('0x146b')];}function _0x633141(_0x368e5a){return 0xef===_0x368e5a||0x102===_0x368e5a||0xf0===_0x368e5a||0xf1===_0x368e5a||0xf2===_0x368e5a||0xf3===_0x368e5a||0xf4===_0x368e5a||0xf9===_0x368e5a||0xf8===_0x368e5a||0xff===_0x368e5a||0xfe===_0x368e5a||0xf7===_0x368e5a;}function _0x49fb07(_0x368e5a){return 0xe5===_0x368e5a||0xe4===_0x368e5a||0xec===_0x368e5a||0xdf===_0x368e5a||0xdd===_0x368e5a||0xdc===_0x368e5a||0xe2===_0x368e5a||0xe3===_0x368e5a||0xe1===_0x368e5a||0xde===_0x368e5a||0xe9===_0x368e5a||0xe6===_0x368e5a||0xe8===_0x368e5a||0xea===_0x368e5a||0xeb===_0x368e5a||0xdb===_0x368e5a||0xe0===_0x368e5a||0xe7===_0x368e5a||0x133===_0x368e5a||0x137===_0x368e5a||0x136===_0x368e5a;}function _0x30eb33(_0x368e5a){return _0x368e5a['kind']>=0x126&&_0x368e5a[_0x1a4e('0x146b')]<=0x131;}function _0x52aa55(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x236a')];}_0x368e5a[_0x1a4e('0x253b')]=function(_0x368e5a){return 0x132===_0x368e5a['kind'];},_0x368e5a[_0x1a4e('0x253c')]=function(_0x368e5a){return _0x146f6e(_0x368e5a['kind']);},_0x368e5a['isNodeKind']=_0x146f6e,_0x368e5a['isToken']=function(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]>=0x0&&_0x368e5a[_0x1a4e('0x146b')]<=0x93;},_0x368e5a[_0x1a4e('0x253d')]=function(_0x368e5a){return _0x368e5a['hasOwnProperty'](_0x1a4e('0xa4'))&&_0x368e5a['hasOwnProperty']('end');},_0x368e5a[_0x1a4e('0x253e')]=_0x2327c6,_0x368e5a[_0x1a4e('0x253f')]=function(_0x368e5a){return _0x2327c6(_0x368e5a['kind']);},_0x368e5a['isTemplateLiteralKind']=_0x55ff7e,_0x368e5a[_0x1a4e('0x2540')]=function(_0x368e5a){return _0x55ff7e(_0x368e5a[_0x1a4e('0x146b')]);},_0x368e5a[_0x1a4e('0x2541')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x10===_0x146f6e||0x11===_0x146f6e;},_0x368e5a[_0x1a4e('0x2542')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2522')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2543')](_0x146f6e);},_0x368e5a[_0x1a4e('0x2544')]=function(_0x368e5a){return 0xa===_0x368e5a[_0x1a4e('0x146b')]||_0x55ff7e(_0x368e5a[_0x1a4e('0x146b')]);},_0x368e5a['isGeneratedIdentifier']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&(0x7&_0x146f6e[_0x1a4e('0x2545')])>0x0;},_0x368e5a[_0x1a4e('0x2546')]=_0x1adc17,_0x368e5a[_0x1a4e('0x2547')]=_0xf79407,_0x368e5a[_0x1a4e('0x2548')]=function(_0x368e5a){return _0xf79407(_0x368e5a)||0x74===_0x368e5a;},_0x368e5a[_0x1a4e('0x2549')]=function(_0x368e5a){return _0x1adc17(_0x368e5a[_0x1a4e('0x146b')]);},_0x368e5a[_0x1a4e('0x254a')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x94===_0x146f6e||0x48===_0x146f6e;},_0x368e5a[_0x1a4e('0x254b')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['kind'];return 0x48===_0x146f6e||0xa===_0x146f6e||0x8===_0x146f6e||0x95===_0x146f6e;},_0x368e5a[_0x1a4e('0x254c')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x48===_0x146f6e||0xb8===_0x146f6e||0xb9===_0x146f6e;},_0x368e5a[_0x1a4e('0x2342')]=_0x2c9ec9,_0x368e5a[_0x1a4e('0x254d')]=function(_0x368e5a){return _0x368e5a&&_0x420b32(_0x368e5a[_0x1a4e('0x146b')]);},_0x368e5a[_0x1a4e('0x254e')]=_0x1b06ad,_0x368e5a[_0x1a4e('0x254f')]=function(_0x146f6e){return _0x368e5a['isSourceFile'](_0x146f6e)||_0x368e5a['isModuleBlock'](_0x146f6e)||_0x368e5a[_0x1a4e('0x250c')](_0x146f6e)&&_0x2c9ec9(_0x146f6e['parent']);},_0x368e5a['isClassElement']=_0x326eae,_0x368e5a['isClassLike']=function(_0x368e5a){return _0x368e5a&&(0xf0===_0x368e5a['kind']||0xd1===_0x368e5a['kind']);},_0x368e5a[_0x1a4e('0x238a')]=function(_0x368e5a){return _0x368e5a&&(0x9e===_0x368e5a[_0x1a4e('0x146b')]||0x9f===_0x368e5a[_0x1a4e('0x146b')]);},_0x368e5a['isMethodOrAccessor']=function(_0x368e5a){switch(_0x368e5a['kind']){case 0x9c:case 0x9e:case 0x9f:return!0x0;default:return!0x1;}},_0x368e5a[_0x1a4e('0x2550')]=_0x56674b,_0x368e5a[_0x1a4e('0x2551')]=function(_0x368e5a){return _0x56674b(_0x368e5a)||_0x326eae(_0x368e5a);},_0x368e5a[_0x1a4e('0x2552')]=_0x3878ec,_0x368e5a[_0x1a4e('0x2553')]=function(_0x146f6e){return _0x368e5a['isTypeNodeKind'](_0x146f6e[_0x1a4e('0x146b')]);},_0x368e5a[_0x1a4e('0x2554')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xa5:case 0xa6:return!0x0;}return!0x1;},_0x368e5a[_0x1a4e('0x1678')]=function(_0x368e5a){if(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xb9===_0x146f6e||0xb8===_0x146f6e;}return!0x1;},_0x368e5a[_0x1a4e('0x2555')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xbb===_0x146f6e||0xbc===_0x146f6e;},_0x368e5a[_0x1a4e('0x2556')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xba===_0x146f6e||0xd2===_0x146f6e;},_0x368e5a['isDeclarationBindingElement']=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xed:case 0x97:case 0xba:return!0x0;}return!0x1;},_0x368e5a[_0x1a4e('0x2557')]=function(_0x368e5a){return _0x3e4ba5(_0x368e5a)||_0x328fde(_0x368e5a);},_0x368e5a['isObjectBindingOrAssignmentPattern']=_0x3e4ba5,_0x368e5a[_0x1a4e('0x2558')]=_0x328fde,_0x368e5a[_0x1a4e('0x2559')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xbd===_0x146f6e||0x94===_0x146f6e||0xb7===_0x146f6e;},_0x368e5a[_0x1a4e('0x255a')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xbd===_0x146f6e||0x94===_0x146f6e;},_0x368e5a[_0x1a4e('0x255b')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x106:case 0x105:case 0xbf:case 0xc0:case 0xc1:case 0x98:return!0x0;default:return!0x1;}},_0x368e5a['isCallOrNewExpression']=function(_0x368e5a){return 0xbf===_0x368e5a[_0x1a4e('0x146b')]||0xc0===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x255c')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['kind'];return 0xce===_0x146f6e||0xe===_0x146f6e;},_0x368e5a[_0x1a4e('0x2430')]=function(_0x146f6e){return _0x51a440(_0x368e5a[_0x1a4e('0x24fe')](_0x146f6e)['kind']);},_0x368e5a['isUnaryExpression']=function(_0x146f6e){return _0x508516(_0x368e5a[_0x1a4e('0x24fe')](_0x146f6e)[_0x1a4e('0x146b')]);},_0x368e5a[_0x1a4e('0x255d')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xcb:return!0x0;case 0xca:return 0x2c===_0x368e5a[_0x1a4e('0x1474')]||0x2d===_0x368e5a[_0x1a4e('0x1474')];default:return!0x1;}},_0x368e5a['isExpression']=_0x3d1349,_0x368e5a[_0x1a4e('0x255e')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xc2===_0x146f6e||0xd4===_0x146f6e;},_0x368e5a['isPartiallyEmittedExpression']=_0x4957ce,_0x368e5a[_0x1a4e('0x255f')]=_0xa7dda0,_0x368e5a['isNotEmittedOrPartiallyEmittedNode']=function(_0x368e5a){return _0xa7dda0(_0x368e5a)||_0x4957ce(_0x368e5a);},_0x368e5a[_0x1a4e('0x2560')]=function _0x368e5a(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xe1:case 0xe2:case 0xe3:case 0xdf:case 0xe0:return!0x0;case 0xe9:return _0x2327c6&&_0x368e5a(_0x146f6e[_0x1a4e('0x2390')],_0x2327c6);}return!0x1;},_0x368e5a[_0x1a4e('0x2561')]=function(_0x368e5a){return 0xe2===_0x368e5a['kind']||0xe3===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2562')]=function(_0x146f6e){return _0x368e5a['isBlock'](_0x146f6e)||_0x3d1349(_0x146f6e);},_0x368e5a[_0x1a4e('0x2563')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x250c')](_0x146f6e);},_0x368e5a['isForInitializer']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x251c')](_0x146f6e)||_0x3d1349(_0x146f6e);},_0x368e5a[_0x1a4e('0x2564')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xf5===_0x146f6e||0xf4===_0x146f6e||0x48===_0x146f6e;},_0x368e5a['isNamespaceBody']=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xf5===_0x146f6e||0xf4===_0x146f6e;},_0x368e5a['isJSDocNamespaceBody']=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x48===_0x146f6e||0xf4===_0x146f6e;},_0x368e5a[_0x1a4e('0x2565')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['kind'];return 0xfc===_0x146f6e||0xfb===_0x146f6e;},_0x368e5a[_0x1a4e('0x2566')]=function(_0x368e5a){return 0xf4===_0x368e5a[_0x1a4e('0x146b')]||0xf3===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x23e6')]=function(_0x146f6e){return 0x96===_0x146f6e[_0x1a4e('0x146b')]?0x12f!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||_0x368e5a['isInJSFile'](_0x146f6e):0xc5===(_0x2327c6=_0x146f6e[_0x1a4e('0x146b')])||0xba===_0x2327c6||0xf0===_0x2327c6||0xd1===_0x2327c6||0x9d===_0x2327c6||0xf3===_0x2327c6||0x116===_0x2327c6||0x101===_0x2327c6||0xef===_0x2327c6||0xc4===_0x2327c6||0x9e===_0x2327c6||0xfa===_0x2327c6||0xf8===_0x2327c6||0xfd===_0x2327c6||0xf1===_0x2327c6||0x10b===_0x2327c6||0x9c===_0x2327c6||0x9b===_0x2327c6||0xf4===_0x2327c6||0xf7===_0x2327c6||0xfb===_0x2327c6||0x97===_0x2327c6||0x113===_0x2327c6||0x9a===_0x2327c6||0x99===_0x2327c6||0x9f===_0x2327c6||0x114===_0x2327c6||0xf2===_0x2327c6||0x96===_0x2327c6||0xed===_0x2327c6||0x130===_0x2327c6||0x129===_0x2327c6||0x131===_0x2327c6;var _0x2327c6;},_0x368e5a[_0x1a4e('0x2567')]=function(_0x368e5a){return _0x633141(_0x368e5a[_0x1a4e('0x146b')]);},_0x368e5a[_0x1a4e('0x2568')]=function(_0x368e5a){return _0x49fb07(_0x368e5a['kind']);},_0x368e5a[_0x1a4e('0x2569')]=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x146b')];return _0x49fb07(_0x2327c6)||_0x633141(_0x2327c6)||function(_0x146f6e){return 0xda===_0x146f6e['kind']&&((void 0x0===_0x146f6e[_0x1a4e('0x11c')]||0xeb!==_0x146f6e[_0x1a4e('0x11c')]['kind']&&0x112!==_0x146f6e['parent'][_0x1a4e('0x146b')])&&!_0x368e5a[_0x1a4e('0x2391')](_0x146f6e));}(_0x146f6e);},_0x368e5a[_0x1a4e('0x256a')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['kind'];return 0x103===_0x146f6e||0x94===_0x146f6e||0x48===_0x146f6e;},_0x368e5a[_0x1a4e('0x256b')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['kind'];return 0x64===_0x146f6e||0x48===_0x146f6e||0xbd===_0x146f6e;},_0x368e5a[_0x1a4e('0x256c')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['kind'];return 0x104===_0x146f6e||0x10e===_0x146f6e||0x105===_0x146f6e||0xb===_0x146f6e||0x108===_0x146f6e;},_0x368e5a['isJsxAttributeLike']=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x10b===_0x146f6e||0x10d===_0x146f6e;},_0x368e5a[_0x1a4e('0x256d')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xa===_0x146f6e||0x10e===_0x146f6e;},_0x368e5a[_0x1a4e('0x256e')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['kind'];return 0x106===_0x146f6e||0x105===_0x146f6e;},_0x368e5a[_0x1a4e('0x256f')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x10f===_0x146f6e||0x110===_0x146f6e;},_0x368e5a[_0x1a4e('0x2570')]=function(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]>=0x11b&&_0x368e5a[_0x1a4e('0x146b')]<=0x131;},_0x368e5a[_0x1a4e('0x2571')]=function(_0x146f6e){return 0x123===_0x146f6e[_0x1a4e('0x146b')]||_0x30eb33(_0x146f6e)||_0x368e5a[_0x1a4e('0x2572')](_0x146f6e)||_0x368e5a[_0x1a4e('0x244e')](_0x146f6e);},_0x368e5a['isJSDocTag']=_0x30eb33,_0x368e5a[_0x1a4e('0x2573')]=function(_0x368e5a){return 0x9f===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x2574')]=function(_0x368e5a){return 0x9e===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a[_0x1a4e('0x23d0')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x22ec')];return!!_0x146f6e&&_0x146f6e[_0x1a4e('0x1e')]>0x0;},_0x368e5a[_0x1a4e('0x2575')]=function(_0x368e5a){return!!_0x368e5a['type'];},_0x368e5a['hasInitializer']=_0x52aa55,_0x368e5a[_0x1a4e('0x2576')]=function(_0x146f6e){return _0x52aa55(_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2577')](_0x146f6e)&&!_0x368e5a['isForInStatement'](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2512')](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2578')](_0x146f6e);},_0x368e5a['isObjectLiteralElement']=function(_0x368e5a){return 0x10b===_0x368e5a[_0x1a4e('0x146b')]||0x10d===_0x368e5a[_0x1a4e('0x146b')]||_0x3878ec(_0x368e5a);},_0x368e5a['isTypeReferenceType']=function(_0x368e5a){return 0xa4===_0x368e5a[_0x1a4e('0x146b')]||0xd3===_0x368e5a[_0x1a4e('0x146b')];};var _0x219c33=0x3fffffff;_0x368e5a[_0x1a4e('0x2579')]=function(_0x146f6e){for(var _0x2327c6=_0x219c33,_0x55ff7e=0x0,_0x1adc17=_0x146f6e;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0xf79407[_0x1a4e('0x1e')]){for(var _0x2c9ec9=0x0;_0x2c9ec9<_0xf79407['length']&&_0x2c9ec9<_0x2327c6&&_0x368e5a['isWhiteSpaceLike'](_0xf79407[_0x1a4e('0x913')](_0x2c9ec9));_0x2c9ec9++);if(_0x2c9ec9<_0x2327c6&&(_0x2327c6=_0x2c9ec9),0x0===_0x2327c6)return 0x0;}}return _0x2327c6===_0x219c33?void 0x0:_0x2327c6;},_0x368e5a['isStringLiteralLike']=function(_0x368e5a){return 0xa===_0x368e5a[_0x1a4e('0x146b')]||0xe===_0x368e5a[_0x1a4e('0x146b')];};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x368e5a,_0x146f6e){this[_0x1a4e('0x7b2')]=_0x368e5a,this[_0x1a4e('0x22e8')]=_0x146f6e,this[_0x1a4e('0x22e5')]=void 0x0,this[_0x1a4e('0x2340')]=void 0x0,this['id']=void 0x0,this[_0x1a4e('0x257a')]=void 0x0,this[_0x1a4e('0x11c')]=void 0x0;}function _0x2327c6(_0x146f6e,_0x2327c6){this[_0x1a4e('0x7b2')]=_0x2327c6,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1b78')]&&(this[_0x1a4e('0x257b')]=_0x146f6e);}function _0x55ff7e(){}function _0x1adc17(_0x368e5a,_0x146f6e,_0x2327c6){this[_0x1a4e('0xa4')]=_0x146f6e,this[_0x1a4e('0xca')]=_0x2327c6,this['kind']=_0x368e5a,this['id']=0x0,this['flags']=0x0,this['modifierFlagsCache']=0x0,this[_0x1a4e('0x257c')]=0x0,this[_0x1a4e('0x11c')]=void 0x0,this[_0x1a4e('0x1604')]=void 0x0;}function _0xf79407(_0x368e5a,_0x146f6e,_0x2327c6){this[_0x1a4e('0x1b39')]=_0x368e5a,this[_0x1a4e('0xe04')]=_0x146f6e,this[_0x1a4e('0x22c6')]=_0x2327c6||function(_0x368e5a){return _0x368e5a;};}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=0x0),_0x146f6e[_0x1a4e('0x115')](/{(\d+)}/g,function(_0x146f6e,_0x1adc17){return''+_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x2327c6[+_0x1adc17+_0x55ff7e]);});}function _0x420b32(_0x146f6e){return _0x368e5a[_0x1a4e('0x24ce')]&&_0x368e5a[_0x1a4e('0x24ce')][_0x146f6e[_0x1a4e('0x35f')]]||_0x146f6e[_0x1a4e('0x133')];}function _0x1b06ad(_0x368e5a){return _0x368e5a['file']?_0x368e5a['file'][_0x1a4e('0x64')]:void 0x0;}function _0x326eae(_0x146f6e,_0x2327c6){return _0x56674b(_0x146f6e,_0x2327c6)||function(_0x146f6e,_0x2327c6){if(!_0x146f6e[_0x1a4e('0x257d')]&&!_0x2327c6[_0x1a4e('0x257d')])return 0x0;if(_0x146f6e['relatedInformation']&&_0x2327c6[_0x1a4e('0x257d')])return _0x368e5a['compareValues'](_0x146f6e[_0x1a4e('0x257d')][_0x1a4e('0x1e')],_0x2327c6[_0x1a4e('0x257d')][_0x1a4e('0x1e')])||_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x257d')],function(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x2327c6[_0x1a4e('0x257d')][_0x146f6e];return _0x326eae(_0x368e5a,_0x55ff7e);})||0x0;return _0x146f6e[_0x1a4e('0x257d')]?-0x1:0x1;}(_0x146f6e,_0x2327c6)||0x0;}function _0x56674b(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x174a')](_0x1b06ad(_0x146f6e),_0x1b06ad(_0x2327c6))||_0x368e5a[_0x1a4e('0x166e')](_0x146f6e[_0x1a4e('0xc9')],_0x2327c6[_0x1a4e('0xc9')])||_0x368e5a[_0x1a4e('0x166e')](_0x146f6e['length'],_0x2327c6[_0x1a4e('0x1e')])||_0x368e5a[_0x1a4e('0x166e')](_0x146f6e[_0x1a4e('0x1617')],_0x2327c6['code'])||function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e,_0x1adc17=_0x2327c6;for(;_0x55ff7e&&_0x1adc17;){var _0xf79407=_0x368e5a[_0x1a4e('0xb19')](_0x55ff7e)?_0x55ff7e:_0x55ff7e['messageText'],_0x2c9ec9=_0x368e5a[_0x1a4e('0xb19')](_0x1adc17)?_0x1adc17:_0x1adc17[_0x1a4e('0x16d2')],_0x420b32=_0x368e5a['compareStringsCaseSensitive'](_0xf79407,_0x2c9ec9);if(_0x420b32)return _0x420b32;_0x55ff7e=_0x368e5a['isString'](_0x55ff7e)?void 0x0:_0x55ff7e[_0x1a4e('0x7e')],_0x1adc17=_0x368e5a['isString'](_0x1adc17)?void 0x0:_0x1adc17[_0x1a4e('0x7e')];}if(!_0x55ff7e&&!_0x1adc17)return 0x0;return _0x55ff7e?0x1:-0x1;}(_0x146f6e[_0x1a4e('0x16d2')],_0x2327c6[_0x1a4e('0x16d2')])||0x0;}function _0x24704d(_0x368e5a){return _0x368e5a[_0x1a4e('0xd95')]||0x0;}function _0x1172da(_0x146f6e){return _0x1a4e('0x3d')==typeof _0x146f6e[_0x1a4e('0xa6c')]?_0x146f6e[_0x1a4e('0xa6c')]:_0x24704d(_0x146f6e)>=0x2?_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')]:_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a30')];}function _0x2c2a71(_0x368e5a){return!(!_0x368e5a[_0x1a4e('0x2350')]&&!_0x368e5a[_0x1a4e('0x257e')]);}function _0x247424(_0x368e5a,_0x146f6e){return void 0x0===_0x368e5a[_0x146f6e]?!!_0x368e5a['strict']:!!_0x368e5a[_0x146f6e];}function _0x31dc99(_0x368e5a,_0x146f6e){return _0x146f6e[_0x1a4e('0x257f')]?_0x247424(_0x368e5a,_0x146f6e['name']):_0x368e5a[_0x146f6e[_0x1a4e('0x2cb')]];}_0x368e5a[_0x1a4e('0x2580')]=function(_0x368e5a){return 0xfc===_0x368e5a[_0x1a4e('0x146b')]||0x100===_0x368e5a[_0x1a4e('0x146b')];},_0x368e5a['objectAllocator']={'getNodeConstructor':function(){return _0x1adc17;},'getTokenConstructor':function(){return _0x1adc17;},'getIdentifierConstructor':function(){return _0x1adc17;},'getSourceFileConstructor':function(){return _0x1adc17;},'getSymbolConstructor':function(){return _0x146f6e;},'getTypeConstructor':function(){return _0x2327c6;},'getSignatureConstructor':function(){return _0x55ff7e;},'getSourceMapSourceConstructor':function(){return _0xf79407;}},_0x368e5a[_0x1a4e('0x2581')]=_0x2c9ec9,_0x368e5a[_0x1a4e('0x2582')]=_0x420b32,_0x368e5a[_0x1a4e('0x22f5')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x171c')](_0x2327c6,0x0),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x171c')](_0x55ff7e,0x0),_0x146f6e&&(_0x368e5a['Debug'][_0x1a4e('0x1741')](_0x2327c6,_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x1e')]),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1741')](_0x2327c6+_0x55ff7e,_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x1e')]));var _0xf79407=_0x420b32(_0x1adc17);return arguments[_0x1a4e('0x1e')]>0x4&&(_0xf79407=_0x2c9ec9(_0xf79407,arguments,0x4)),{'file':_0x146f6e,'start':_0x2327c6,'length':_0x55ff7e,'messageText':_0xf79407,'category':_0x1adc17[_0x1a4e('0x1a2d')],'code':_0x1adc17[_0x1a4e('0x1617')],'reportsUnnecessary':_0x1adc17[_0x1a4e('0x2583')]};},_0x368e5a[_0x1a4e('0x2584')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x420b32(_0x146f6e);return arguments[_0x1a4e('0x1e')]>0x2&&(_0x2327c6=_0x2c9ec9(_0x2327c6,arguments,0x2)),_0x2327c6;},_0x368e5a[_0x1a4e('0x166d')]=function(_0x368e5a){var _0x146f6e=_0x420b32(_0x368e5a);return arguments[_0x1a4e('0x1e')]>0x1&&(_0x146f6e=_0x2c9ec9(_0x146f6e,arguments,0x1)),{'file':void 0x0,'start':void 0x0,'length':void 0x0,'messageText':_0x146f6e,'category':_0x368e5a[_0x1a4e('0x1a2d')],'code':_0x368e5a[_0x1a4e('0x1617')],'reportsUnnecessary':_0x368e5a[_0x1a4e('0x2583')]};},_0x368e5a[_0x1a4e('0x2585')]=function(_0x368e5a){return{'file':void 0x0,'start':void 0x0,'length':void 0x0,'code':_0x368e5a[_0x1a4e('0x1617')],'category':_0x368e5a[_0x1a4e('0x1a2d')],'messageText':_0x368e5a[_0x1a4e('0x7e')]?_0x368e5a:_0x368e5a[_0x1a4e('0x16d2')]};},_0x368e5a[_0x1a4e('0x2586')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x420b32(_0x146f6e);return arguments[_0x1a4e('0x1e')]>0x2&&(_0x2327c6=_0x2c9ec9(_0x2327c6,arguments,0x2)),{'messageText':_0x2327c6,'category':_0x146f6e[_0x1a4e('0x1a2d')],'code':_0x146f6e['code'],'next':_0x368e5a};},_0x368e5a[_0x1a4e('0x2587')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6=_0x368e5a;_0x2327c6[_0x1a4e('0x7e')];)_0x2327c6=_0x2327c6[_0x1a4e('0x7e')];return _0x2327c6[_0x1a4e('0x7e')]=_0x146f6e,_0x368e5a;},_0x368e5a[_0x1a4e('0x22e0')]=_0x326eae,_0x368e5a[_0x1a4e('0x2588')]=_0x56674b,_0x368e5a[_0x1a4e('0x2589')]=_0x24704d,_0x368e5a[_0x1a4e('0x2348')]=_0x1172da,_0x368e5a['getEmitModuleResolutionKind']=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x258a')];return void 0x0===_0x2327c6&&(_0x2327c6=_0x1172da(_0x146f6e)===_0x368e5a['ModuleKind'][_0x1a4e('0x1a30')]?_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')]:_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2e')]),_0x2327c6;},_0x368e5a[_0x1a4e('0x258c')]=function(_0x146f6e){switch(_0x1172da(_0x146f6e)){case _0x368e5a['ModuleKind'][_0x1a4e('0x1a30')]:case _0x368e5a['ModuleKind']['AMD']:case _0x368e5a[_0x1a4e('0x1a35')]['ES2015']:case _0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a34')]:return!0x0;default:return!0x1;}},_0x368e5a['unreachableCodeIsError']=function(_0x368e5a){return!0x1===_0x368e5a[_0x1a4e('0x258d')];},_0x368e5a['unusedLabelIsError']=function(_0x368e5a){return!0x1===_0x368e5a['allowUnusedLabels'];},_0x368e5a[_0x1a4e('0x258e')]=function(_0x368e5a){return!(!_0x2c2a71(_0x368e5a)||!_0x368e5a['declarationMap']);},_0x368e5a[_0x1a4e('0x258f')]=function(_0x146f6e){var _0x2327c6=_0x1172da(_0x146f6e);return void 0x0!==_0x146f6e['allowSyntheticDefaultImports']?_0x146f6e['allowSyntheticDefaultImports']:_0x146f6e[_0x1a4e('0x2590')]||_0x2327c6===_0x368e5a['ModuleKind'][_0x1a4e('0x1308')];},_0x368e5a['getEmitDeclarations']=_0x2c2a71,_0x368e5a[_0x1a4e('0x2591')]=_0x247424,_0x368e5a[_0x1a4e('0x2592')]=function(_0x146f6e,_0x2327c6){return _0x2327c6!==_0x146f6e&&_0x368e5a[_0x1a4e('0x2593')][_0x1a4e('0x1c2')](function(_0x55ff7e){return!_0x368e5a[_0x1a4e('0x2594')](_0x31dc99(_0x2327c6,_0x55ff7e),_0x31dc99(_0x146f6e,_0x55ff7e));});},_0x368e5a[_0x1a4e('0x2306')]=_0x31dc99,_0x368e5a[_0x1a4e('0x2595')]=function(_0x368e5a){for(var _0x146f6e=!0x1,_0x2327c6=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];_0x2327c6++)if(0x2a===_0x368e5a['charCodeAt'](_0x2327c6)){if(_0x146f6e)return!0x1;_0x146f6e=!0x0;}return!0x0;},_0x368e5a[_0x1a4e('0x1b42')]='/';var _0x982ec='\x5c',_0x346cf0=_0x1a4e('0x2596'),_0x1ab14c=/\\/g;function _0x15dcf4(_0x146f6e){return _0x146f6e['replace'](_0x1ab14c,_0x368e5a['directorySeparator']);}function _0x4e1c58(_0x368e5a){return _0x368e5a>=0x61&&_0x368e5a<=0x7a||_0x368e5a>=0x41&&_0x368e5a<=0x5a;}function _0x3c6a9b(_0x146f6e){if(!_0x146f6e)return 0x0;var _0x2327c6=_0x146f6e['charCodeAt'](0x0);if(0x2f===_0x2327c6||0x5c===_0x2327c6){if(_0x146f6e['charCodeAt'](0x1)!==_0x2327c6)return 0x1;var _0x55ff7e=_0x146f6e[_0x1a4e('0x3e')](0x2f===_0x2327c6?_0x368e5a['directorySeparator']:_0x982ec,0x2);return _0x55ff7e<0x0?_0x146f6e[_0x1a4e('0x1e')]:_0x55ff7e+0x1;}if(_0x4e1c58(_0x2327c6)&&0x3a===_0x146f6e[_0x1a4e('0x913')](0x1)){var _0x1adc17=_0x146f6e[_0x1a4e('0x913')](0x2);if(0x2f===_0x1adc17||0x5c===_0x1adc17)return 0x3;if(0x2===_0x146f6e['length'])return 0x2;}var _0xf79407=_0x146f6e[_0x1a4e('0x3e')](_0x346cf0);if(-0x1!==_0xf79407){var _0x2c9ec9=_0xf79407+_0x346cf0[_0x1a4e('0x1e')],_0x420b32=_0x146f6e[_0x1a4e('0x3e')](_0x368e5a[_0x1a4e('0x1b42')],_0x2c9ec9);if(-0x1!==_0x420b32){var _0x1b06ad=_0x146f6e[_0x1a4e('0x78')](0x0,_0xf79407),_0x326eae=_0x146f6e[_0x1a4e('0x78')](_0x2c9ec9,_0x420b32);if(_0x1a4e('0x15c9')===_0x1b06ad&&(''===_0x326eae||'localhost'===_0x326eae)&&_0x4e1c58(_0x146f6e[_0x1a4e('0x913')](_0x420b32+0x1))){var _0x56674b=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x913')](_0x146f6e);if(0x3a===_0x2327c6)return _0x146f6e+0x1;if(0x25===_0x2327c6&&0x33===_0x368e5a[_0x1a4e('0x913')](_0x146f6e+0x1)){var _0x55ff7e=_0x368e5a['charCodeAt'](_0x146f6e+0x2);if(0x61===_0x55ff7e||0x41===_0x55ff7e)return _0x146f6e+0x3;}return-0x1;}(_0x146f6e,_0x420b32+0x2);if(-0x1!==_0x56674b){if(0x2f===_0x146f6e[_0x1a4e('0x913')](_0x56674b))return~(_0x56674b+0x1);if(_0x56674b===_0x146f6e[_0x1a4e('0x1e')])return~_0x56674b;}}return~(_0x420b32+0x1);}return~_0x146f6e[_0x1a4e('0x1e')];}return 0x0;}function _0x5af6f1(_0x368e5a){var _0x146f6e=_0x3c6a9b(_0x368e5a);return _0x146f6e<0x0?~_0x146f6e:_0x146f6e;}function _0x27e88e(_0x368e5a){return _0x3c6a9b(_0x368e5a)>0x0;}function _0x182d8a(_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=''),function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x281')](0x0,_0x2327c6),_0x1adc17=_0x146f6e['substring'](_0x2327c6)[_0x1a4e('0x2be')](_0x368e5a[_0x1a4e('0x1b42')]);return _0x1adc17[_0x1a4e('0x1e')]&&!_0x368e5a['lastOrUndefined'](_0x1adc17)&&_0x1adc17[_0x1a4e('0x76')](),[_0x55ff7e][_0x1a4e('0x9a')](_0x1adc17);}(_0x146f6e=_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x146f6e),_0x5af6f1(_0x146f6e));}function _0x542046(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e))return[];for(var _0x2327c6=[_0x146f6e[0x0]],_0x55ff7e=0x1;_0x55ff7e<_0x146f6e[_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x146f6e[_0x55ff7e];if(_0x1adc17&&'.'!==_0x1adc17){if('..'===_0x1adc17)if(_0x2327c6[_0x1a4e('0x1e')]>0x1){if('..'!==_0x2327c6[_0x2327c6['length']-0x1]){_0x2327c6['pop']();continue;}}else if(_0x2327c6[0x0])continue;_0x2327c6[_0x1a4e('0x46')](_0x1adc17);}}return _0x2327c6;}function _0xb74018(_0x368e5a,_0x146f6e){return _0x542046(_0x182d8a(_0x368e5a,_0x146f6e));}function _0x440d22(_0x146f6e){return 0x0===_0x146f6e[_0x1a4e('0x1e')]?'':(_0x146f6e[0x0]&&_0x368e5a['ensureTrailingDirectorySeparator'](_0x146f6e[0x0]))+_0x146f6e[_0x1a4e('0x78')](0x1)['join'](_0x368e5a['directorySeparator']);}_0x368e5a[_0x1a4e('0x166f')]=_0x15dcf4,_0x368e5a['getRootLength']=_0x5af6f1,_0x368e5a[_0x1a4e('0x1672')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1b4c')](_0x146f6e);},_0x368e5a[_0x1a4e('0x2597')]=function(_0x146f6e){var _0x2327c6=_0x542046(_0x182d8a(_0x146f6e=_0x15dcf4(_0x146f6e))),_0x55ff7e=_0x2327c6[0x0],_0x1adc17=_0x2327c6['slice'](0x1);if(_0x1adc17[_0x1a4e('0x1e')]){var _0xf79407=_0x55ff7e+_0x1adc17['join'](_0x368e5a[_0x1a4e('0x1b42')]);return{'path':_0x368e5a[_0x1a4e('0x2598')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2599')](_0xf79407):_0xf79407,'parts':_0x1adc17};}return{'path':_0x55ff7e,'parts':_0x1adc17};},_0x368e5a[_0x1a4e('0x1671')]=function(_0x146f6e){var _0x2327c6=_0x5af6f1(_0x146f6e=_0x15dcf4(_0x146f6e));return _0x2327c6===_0x146f6e[_0x1a4e('0x1e')]?_0x146f6e:(_0x146f6e=_0x368e5a['removeTrailingDirectorySeparator'](_0x146f6e))[_0x1a4e('0x78')](0x0,Math[_0x1a4e('0x6c')](_0x2327c6,_0x146f6e[_0x1a4e('0x471')](_0x368e5a[_0x1a4e('0x1b42')])));},_0x368e5a[_0x1a4e('0x259a')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e(_0x146f6e),_0xf79407=_0x55ff7e(_0x2327c6);return _0x368e5a['startsWith'](_0x1adc17,_0xf79407+'/')||_0x368e5a[_0x1a4e('0xdfb')](_0x1adc17,_0xf79407+'\x5c');},_0x368e5a[_0x1a4e('0x259b')]=function(_0x368e5a){return _0x3c6a9b(_0x368e5a)<0x0;},_0x368e5a[_0x1a4e('0x22de')]=function(_0x368e5a){return/^\.\.?($|[\\\/])/['test'](_0x368e5a);},_0x368e5a['isRootedDiskPath']=_0x27e88e,_0x368e5a[_0x1a4e('0x259c')]=function(_0x368e5a){var _0x146f6e=_0x3c6a9b(_0x368e5a);return _0x146f6e>0x0&&_0x146f6e===_0x368e5a[_0x1a4e('0x1e')];},_0x368e5a[_0x1a4e('0x259d')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x27e88e(_0x146f6e)?_0x368e5a[_0x1a4e('0x241d')](_0x2327c6,_0x146f6e,_0x2327c6,_0x55ff7e,!0x1):_0x146f6e;},_0x368e5a[_0x1a4e('0x259e')]=_0x182d8a,_0x368e5a[_0x1a4e('0x259f')]=_0x542046,_0x368e5a[_0x1a4e('0x25a0')]=_0xb74018,_0x368e5a[_0x1a4e('0x22ea')]=function(_0x368e5a,_0x146f6e){return _0x440d22(_0xb74018(_0x368e5a,_0x146f6e));},_0x368e5a['getPathFromPathComponents']=_0x440d22;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9=_0x368e5a['reducePathComponents'](_0x368e5a[_0x1a4e('0x259e')](_0x146f6e)),_0x420b32=_0x368e5a['reducePathComponents'](_0x368e5a[_0x1a4e('0x259e')](_0x2327c6));for(_0xf79407=0x0;_0xf79407<_0x2c9ec9['length']&&_0xf79407<_0x420b32[_0x1a4e('0x1e')];_0xf79407++){var _0x1b06ad=_0x1adc17(_0x2c9ec9[_0xf79407]),_0x326eae=_0x1adc17(_0x420b32[_0xf79407]);if(!(0x0===_0xf79407?_0x368e5a[_0x1a4e('0x25a1')]:_0x55ff7e)(_0x1b06ad,_0x326eae))break;}if(0x0===_0xf79407)return _0x420b32;for(var _0x56674b=_0x420b32[_0x1a4e('0x78')](_0xf79407),_0xb7219e=[];_0xf79407<_0x2c9ec9['length'];_0xf79407++)_0xb7219e['push']('..');return[''][_0x1a4e('0x9a')](_0xb7219e,_0x56674b);}function _0x2327c6(_0x2327c6,_0x55ff7e,_0x1adc17){_0x1213a4[_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x1670')](_0x2327c6)>0x0==_0x368e5a[_0x1a4e('0x1670')](_0x55ff7e)>0x0,'Paths\x20must\x20either\x20both\x20be\x20absolute\x20or\x20both\x20be\x20relative');var _0xf79407=_0x1a4e('0x68')==typeof _0x1adc17?_0x1adc17:_0x368e5a['identity'],_0x2c9ec9=_0x146f6e(_0x2327c6,_0x55ff7e,_0x1a4e('0x34b')==typeof _0x1adc17&&_0x1adc17?_0x368e5a[_0x1a4e('0x25a1')]:_0x368e5a[_0x1a4e('0x25a2')],_0xf79407);return _0x368e5a['getPathFromPathComponents'](_0x2c9ec9);}function _0x55ff7e(_0x146f6e){return 0x0!==_0x368e5a['getRootLength'](_0x146f6e)||_0x368e5a[_0x1a4e('0x22de')](_0x146f6e)?_0x146f6e:'./'+_0x146f6e;}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e=_0x368e5a[_0x1a4e('0x166f')](_0x146f6e),_0x368e5a['getRootLength'](_0x146f6e)===_0x146f6e[_0x1a4e('0x1e')])return'';var _0x1adc17=(_0x146f6e=_0x1b06ad(_0x146f6e))[_0x1a4e('0x78')](Math['max'](_0x368e5a[_0x1a4e('0x1670')](_0x146f6e),_0x146f6e[_0x1a4e('0x471')](_0x368e5a['directorySeparator'])+0x1)),_0xf79407=void 0x0!==_0x2327c6&&void 0x0!==_0x55ff7e?_0x5c9aaf(_0x1adc17,_0x2327c6,_0x55ff7e):void 0x0;return _0xf79407?_0x1adc17['slice'](0x0,_0x1adc17['length']-_0xf79407[_0x1a4e('0x1e')]):_0x1adc17;}function _0xf79407(_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x1;_0x55ff7e0x0;)_0x326eae+=')?',_0x4d3fdc--;return _0x326eae;}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x417d28[_0x55ff7e]);});}function _0x4d68b0(_0x368e5a){return!/[.*?]/[_0x1a4e('0x8d0')](_0x368e5a);}function _0x38952(_0x368e5a,_0x146f6e){return'*'===_0x368e5a?_0x146f6e:'?'===_0x368e5a?'[^/]':'\x5c'+_0x368e5a;}function _0xbd8bdc(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9){_0x146f6e=_0x368e5a['normalizePath'](_0x146f6e);var _0x420b32=_0xf79407(_0x2c9ec9=_0x368e5a[_0x1a4e('0x1672')](_0x2c9ec9),_0x146f6e);return{'includeFilePatterns':_0x368e5a['map'](_0x27361e(_0x55ff7e,_0x420b32,_0x1a4e('0x25bd')),function(_0x368e5a){return'^'+_0x368e5a+'$';}),'includeFilePattern':_0x5bc010(_0x55ff7e,_0x420b32,_0x1a4e('0x25bd')),'includeDirectoryPattern':_0x5bc010(_0x55ff7e,_0x420b32,'directories'),'excludePattern':_0x5bc010(_0x2327c6,_0x420b32,_0x1a4e('0x25b6')),'basePaths':_0x3677b6(_0x146f6e,_0x55ff7e,_0x1adc17)};}function _0x37b11f(_0x368e5a,_0x146f6e){return new RegExp(_0x368e5a,_0x146f6e?'':'i');}function _0x3677b6(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=[_0x146f6e];if(_0x2327c6){for(var _0x2c9ec9=[],_0x420b32=0x0,_0x1b06ad=_0x2327c6;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32],_0x56674b=_0x368e5a[_0x1a4e('0x22e9')](_0x326eae)?_0x326eae:_0x368e5a[_0x1a4e('0x1672')](_0xf79407(_0x146f6e,_0x326eae));_0x2c9ec9['push'](_0x3d4a33(_0x56674b));}_0x2c9ec9[_0x1a4e('0x89')](_0x368e5a[_0x1a4e('0x1b3f')](!_0x55ff7e));for(var _0x1e7242=function(_0x2327c6){_0x368e5a[_0x1a4e('0x114')](_0x1adc17,function(_0x368e5a){return!_0x23f0e1(_0x368e5a,_0x2327c6,_0x146f6e,!_0x55ff7e);})&&_0x1adc17['push'](_0x2327c6);},_0x28f369=0x0,_0x4d3fdc=_0x2c9ec9;_0x28f369<_0x4d3fdc[_0x1a4e('0x1e')];_0x28f369++){_0x1e7242(_0x4d3fdc[_0x28f369]);}}return _0x1adc17;}function _0x3d4a33(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x170b')](_0x146f6e,_0x4d3fdc);return _0x2327c6<0x0?_0x4b3deb(_0x146f6e)?_0x1b06ad(_0x368e5a['getDirectoryPath'](_0x146f6e)):_0x146f6e:_0x146f6e['substring'](0x0,_0x146f6e[_0x1a4e('0x471')](_0x368e5a[_0x1a4e('0x1b42')],_0x2327c6));}function _0x1da147(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x254')](_0x368e5a['lastIndexOf']('.'))[_0x1a4e('0x2b2')]()){case _0x1a4e('0x1a84'):return 0x1;case _0x1a4e('0x1a86'):return 0x2;case _0x1a4e('0x25be'):return 0x3;case _0x1a4e('0x1a81'):return 0x4;case _0x1a4e('0x1a87'):return 0x6;default:return 0x0;}}_0x368e5a[_0x1a4e('0x25bf')]=_0x5bc010,_0x368e5a[_0x1a4e('0x25c0')]=_0x27361e,_0x368e5a['isImplicitGlob']=_0x4d68b0,_0x368e5a[_0x1a4e('0x25c1')]=_0xbd8bdc,_0x368e5a['getRegexFromPattern']=_0x37b11f,_0x368e5a[_0x1a4e('0x25c2')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){_0x146f6e=_0x368e5a[_0x1a4e('0x1672')](_0x146f6e),_0x420b32=_0x368e5a[_0x1a4e('0x1672')](_0x420b32);for(var _0x56674b=_0xbd8bdc(_0x146f6e,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32),_0x23f0e1=_0x56674b[_0x1a4e('0x25c3')]&&_0x56674b[_0x1a4e('0x25c3')][_0x1a4e('0x21')](function(_0x368e5a){return _0x37b11f(_0x368e5a,_0x2c9ec9);}),_0x1e7242=_0x56674b[_0x1a4e('0x25c4')]&&_0x37b11f(_0x56674b[_0x1a4e('0x25c4')],_0x2c9ec9),_0x28f369=_0x56674b[_0x1a4e('0x25c5')]&&_0x37b11f(_0x56674b[_0x1a4e('0x25c5')],_0x2c9ec9),_0x4d3fdc=_0x23f0e1?_0x23f0e1[_0x1a4e('0x21')](function(){return[];}):[[]],_0x4b3deb=0x0,_0x7e49d7=_0x56674b[_0x1a4e('0x1b53')];_0x4b3deb<_0x7e49d7[_0x1a4e('0x1e')];_0x4b3deb++){var _0x47645b=_0x7e49d7[_0x4b3deb];_0x52d3a1(_0x47645b,_0xf79407(_0x420b32,_0x47645b),_0x1b06ad);}return _0x368e5a['flatten'](_0x4d3fdc);function _0x52d3a1(_0x146f6e,_0x55ff7e,_0x1adc17){for(var _0x2c9ec9=_0x326eae(_0x146f6e),_0x420b32=_0x2c9ec9[_0x1a4e('0x25bd')],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x25ba')],_0x56674b=function(_0x1adc17){var _0x2c9ec9=_0xf79407(_0x146f6e,_0x1adc17),_0x420b32=_0xf79407(_0x55ff7e,_0x1adc17);if(_0x2327c6&&!_0x368e5a['fileExtensionIsOneOf'](_0x2c9ec9,_0x2327c6))return _0x1a4e('0x137e');if(_0x28f369&&_0x28f369[_0x1a4e('0x8d0')](_0x420b32))return _0x1a4e('0x137e');if(_0x23f0e1){var _0x1b06ad=_0x368e5a['findIndex'](_0x23f0e1,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x8d0')](_0x420b32);});-0x1!==_0x1b06ad&&_0x4d3fdc[_0x1b06ad][_0x1a4e('0x46')](_0x2c9ec9);}else _0x4d3fdc[0x0][_0x1a4e('0x46')](_0x2c9ec9);},_0x4b3deb=0x0,_0x7e49d7=_0x368e5a[_0x1a4e('0x89')](_0x420b32,_0x368e5a[_0x1a4e('0x174a')]);_0x4b3deb<_0x7e49d7[_0x1a4e('0x1e')];_0x4b3deb++)_0x56674b(_0x417d28=_0x7e49d7[_0x4b3deb]);if(void 0x0===_0x1adc17||0x0!=--_0x1adc17)for(var _0x47645b=0x0,_0x17981e=_0x368e5a[_0x1a4e('0x89')](_0x1b06ad,_0x368e5a[_0x1a4e('0x174a')]);_0x47645b<_0x17981e[_0x1a4e('0x1e')];_0x47645b++){var _0x417d28=_0x17981e[_0x47645b],_0x5bc010=_0xf79407(_0x146f6e,_0x417d28),_0x27361e=_0xf79407(_0x55ff7e,_0x417d28);_0x1e7242&&!_0x1e7242[_0x1a4e('0x8d0')](_0x27361e)||_0x28f369&&_0x28f369[_0x1a4e('0x8d0')](_0x27361e)||_0x52d3a1(_0x5bc010,_0x27361e,_0x1adc17);}}},_0x368e5a['ensureScriptKind']=function(_0x368e5a,_0x146f6e){return _0x146f6e||_0x1da147(_0x368e5a)||0x3;},_0x368e5a[_0x1a4e('0x25c6')]=_0x1da147,_0x368e5a[_0x1a4e('0x25c7')]=['.ts','.tsx',_0x1a4e('0x1a83')],_0x368e5a[_0x1a4e('0x25c8')]=[_0x1a4e('0x25be'),'.tsx',_0x1a4e('0x1a83'),_0x1a4e('0x1a87')],_0x368e5a[_0x1a4e('0x246b')]=[_0x1a4e('0x1a83'),_0x1a4e('0x25be'),_0x1a4e('0x1a81')],_0x368e5a[_0x1a4e('0x25c9')]=['.js',_0x1a4e('0x1a86')],_0x368e5a[_0x1a4e('0x25ca')]=[_0x1a4e('0x1a84'),_0x1a4e('0x1a86'),'.json'];var _0x1bbcbf=_0x368e5a[_0x1a4e('0x25c7')][_0x1a4e('0x9a')](_0x368e5a['supportedJSExtensions']),_0x307f52=_0x368e5a['supportedTSExtensions'][_0x1a4e('0x9a')](_0x368e5a[_0x1a4e('0x25c9')],[_0x1a4e('0x1a87')]);function _0x1a7a0b(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e&&_0x146f6e[_0x1a4e('0x25cb')];if(!_0x2327c6||0x0===_0x2327c6[_0x1a4e('0x1e')])return _0x55ff7e?_0x1bbcbf:_0x368e5a[_0x1a4e('0x25c7')];var _0x1adc17=(_0x55ff7e?_0x1bbcbf:_0x368e5a[_0x1a4e('0x25c7')])[_0x1a4e('0x9a')](_0x368e5a[_0x1a4e('0x1713')](_0x2327c6,function(_0x368e5a){return 0x7===_0x368e5a[_0x1a4e('0x235a')]||_0x55ff7e&&(0x1===(_0x146f6e=_0x368e5a[_0x1a4e('0x235a')])||0x2===_0x146f6e)?_0x368e5a[_0x1a4e('0x2319')]:void 0x0;var _0x146f6e;}));return _0x368e5a[_0x1a4e('0x25cc')](_0x1adc17,_0x368e5a[_0x1a4e('0x25a2')],_0x368e5a[_0x1a4e('0x174a')]);}function _0xac78bb(_0x146f6e,_0x2327c6){return _0x146f6e&&_0x146f6e[_0x1a4e('0x25cd')]?_0x2327c6===_0x1bbcbf?_0x307f52:_0x2327c6===_0x368e5a[_0x1a4e('0x25c7')]?_0x368e5a[_0x1a4e('0x25c8')]:_0x2327c6[_0x1a4e('0x9a')]([_0x1a4e('0x1a87')]):_0x2327c6;}function _0x4b8e19(_0x368e5a,_0x146f6e){return _0x368e5a<0x2?0x0:_0x368e5a<_0x146f6e[_0x1a4e('0x1e')]?0x2:_0x146f6e[_0x1a4e('0x1e')];}_0x368e5a[_0x1a4e('0x25ce')]=_0x1a7a0b,_0x368e5a['getSuppoertedExtensionsWithJsonIfResolveJsonModule']=_0xac78bb,_0x368e5a[_0x1a4e('0x25cf')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c2')](_0x368e5a[_0x1a4e('0x25c9')],function(_0x2327c6){return _0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x2327c6);});},_0x368e5a['hasJSOrJsonFileExtension']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x25ca')][_0x1a4e('0x1c2')](function(_0x2327c6){return _0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x2327c6);});},_0x368e5a[_0x1a4e('0x25d0')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c2')](_0x368e5a[_0x1a4e('0x25c7')],function(_0x2327c6){return _0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x2327c6);});},_0x368e5a[_0x1a4e('0x25d1')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x146f6e)return!0x1;for(var _0x1adc17=0x0,_0xf79407=_0xac78bb(_0x2327c6,_0x1a7a0b(_0x2327c6,_0x55ff7e));_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(_0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x2c9ec9))return!0x0;}return!0x1;},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x25d2')]=0x0]=_0x1a4e('0x25d2'),_0x368e5a[_0x368e5a[_0x1a4e('0x25d3')]=0x2]='DeclarationAndJavaScriptFiles',_0x368e5a[_0x368e5a[_0x1a4e('0x25d4')]=0x0]=_0x1a4e('0x25d4'),_0x368e5a[_0x368e5a[_0x1a4e('0x25d5')]=0x2]=_0x1a4e('0x25d5');}(_0x368e5a['ExtensionPriority']||(_0x368e5a[_0x1a4e('0x25d6')]={})),_0x368e5a['getExtensionPriority']=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x2327c6[_0x1a4e('0x1e')]-0x1;_0x55ff7e>=0x0;_0x55ff7e--)if(_0x368e5a['fileExtensionIs'](_0x146f6e,_0x2327c6[_0x55ff7e]))return _0x4b8e19(_0x55ff7e,_0x2327c6);return 0x0;},_0x368e5a['adjustExtensionPriority']=_0x4b8e19,_0x368e5a['getNextLowestExtensionPriority']=function(_0x368e5a,_0x146f6e){return _0x368e5a<0x2?0x2:_0x146f6e['length'];};var _0x1213a4,_0x17d1f1=[_0x1a4e('0x1a83'),_0x1a4e('0x25be'),_0x1a4e('0x1a84'),_0x1a4e('0x1a81'),'.jsx',_0x1a4e('0x1a87')];function _0x1a1f65(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x2327c6)?_0x23e6bb(_0x146f6e,_0x2327c6):void 0x0;}function _0x23e6bb(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x281')](0x0,_0x368e5a[_0x1a4e('0x1e')]-_0x146f6e['length']);}function _0x4a8a3e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=void 0x0!==_0x55ff7e&&void 0x0!==_0x1adc17?_0x5c9aaf(_0x146f6e,_0x55ff7e,_0x1adc17):_0x5c9aaf(_0x146f6e);return _0xf79407?_0x146f6e[_0x1a4e('0x78')](0x0,_0x146f6e[_0x1a4e('0x1e')]-_0xf79407['length'])+(_0x368e5a[_0x1a4e('0xdfb')](_0x2327c6,'.')?_0x2327c6:'.'+_0x2327c6):_0x146f6e;}function _0x2392d8(_0x146f6e){_0x1213a4[_0x1a4e('0xba0')](_0x368e5a['hasZeroOrOneAsteriskCharacter'](_0x146f6e));var _0x2327c6=_0x146f6e[_0x1a4e('0x3e')]('*');return-0x1===_0x2327c6?void 0x0:{'prefix':_0x146f6e[_0x1a4e('0x254')](0x0,_0x2327c6),'suffix':_0x146f6e[_0x1a4e('0x254')](_0x2327c6+0x1)};}function _0x519c7d(_0x368e5a){return'.ts'===_0x368e5a||_0x1a4e('0x1a81')===_0x368e5a||_0x1a4e('0x1a83')===_0x368e5a;}function _0x3a0e00(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c7')](_0x17d1f1,function(_0x2327c6){return _0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x2327c6);});}function _0x5c9aaf(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x2327c6)return function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x1a4e('0x9')==typeof _0x2327c6&&(_0x2327c6=[_0x2327c6]);for(var _0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(_0x368e5a[_0x1a4e('0xdfb')](_0x2c9ec9,'.')||(_0x2c9ec9='.'+_0x2c9ec9),_0x146f6e['length']>=_0x2c9ec9['length']&&'.'===_0x146f6e['charAt'](_0x146f6e[_0x1a4e('0x1e')]-_0x2c9ec9[_0x1a4e('0x1e')])){var _0x420b32=_0x146f6e[_0x1a4e('0x78')](_0x146f6e['length']-_0x2c9ec9['length']);if(_0x55ff7e(_0x420b32,_0x2c9ec9))return _0x420b32;}}return'';}(_0x146f6e,_0x2327c6,_0x55ff7e?_0x368e5a[_0x1a4e('0x25a1')]:_0x368e5a[_0x1a4e('0x25a2')]);var _0xf79407=_0x1adc17(_0x146f6e),_0x2c9ec9=_0xf79407['lastIndexOf']('.');return _0x2c9ec9>=0x0?_0xf79407[_0x1a4e('0x281')](_0x2c9ec9):'';}_0x368e5a[_0x1a4e('0x241e')]=function(_0x368e5a){for(var _0x146f6e=0x0,_0x2327c6=_0x17d1f1;_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x1a1f65(_0x368e5a,_0x2327c6[_0x146f6e]);if(void 0x0!==_0x55ff7e)return _0x55ff7e;}return _0x368e5a;},_0x368e5a[_0x1a4e('0x25d7')]=_0x1a1f65,_0x368e5a[_0x1a4e('0x25d8')]=_0x23e6bb,_0x368e5a[_0x1a4e('0x25d9')]=function(_0x368e5a,_0x146f6e){return _0x4a8a3e(_0x368e5a,_0x146f6e,_0x17d1f1,!0x1);},_0x368e5a[_0x1a4e('0x25da')]=_0x4a8a3e,function(_0x146f6e){function _0x2327c6(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x18c5')];return _0x2327c6?_0x2327c6[_0x146f6e['kind']]:_0x146f6e[_0x1a4e('0x146b')]['toString']();}_0x146f6e[_0x1a4e('0x25db')]=function(_0x146f6e){var _0x55ff7e=_0x368e5a[_0x1a4e('0x198e')];return _0x1a4e('0x25dc')+(_0x55ff7e?function(_0x368e5a,_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x0;_0x55ff7e<=0x1e;_0x55ff7e++){var _0x1adc17=0x1<<_0x55ff7e;_0x368e5a&_0x1adc17&&_0x2327c6[_0x1a4e('0x46')](_0x146f6e[_0x1adc17]);}return _0x2327c6[_0x1a4e('0x9e')]('|');}(_0x146f6e[_0x1a4e('0x7b2')],_0x55ff7e):_0x146f6e[_0x1a4e('0x7b2')])+_0x1a4e('0x25dd')+_0x368e5a['map'](_0x146f6e[_0x1a4e('0x22e5')],_0x2327c6)+'\x20}';},_0x146f6e['showSyntaxKind']=_0x2327c6;}(_0x1213a4=_0x368e5a[_0x1a4e('0x1749')]||(_0x368e5a[_0x1a4e('0x1749')]={})),_0x368e5a['tryParsePattern']=_0x2392d8,_0x368e5a['positionIsSynthesized']=function(_0x368e5a){return!(_0x368e5a>=0x0);},_0x368e5a[_0x1a4e('0x25de')]=_0x519c7d,_0x368e5a['resolutionExtensionIsTSOrJson']=function(_0x368e5a){return _0x519c7d(_0x368e5a)||_0x1a4e('0x1a87')===_0x368e5a;},_0x368e5a[_0x1a4e('0x25df')]=function(_0x368e5a){var _0x146f6e=_0x3a0e00(_0x368e5a);return void 0x0!==_0x146f6e?_0x146f6e:_0x1213a4[_0x1a4e('0x1709')](_0x1a4e('0x25e0')+_0x368e5a+'\x20has\x20unknown\x20extension.');},_0x368e5a[_0x1a4e('0x25e1')]=function(_0x368e5a){return void 0x0!==_0x3a0e00(_0x368e5a);},_0x368e5a['tryGetExtensionFromPath']=_0x3a0e00,_0x368e5a[_0x1a4e('0x25e2')]=_0x5c9aaf,_0x368e5a[_0x1a4e('0x25e3')]=function(_0x368e5a,_0x146f6e){return _0x368e5a['checkJsDirective']?_0x368e5a[_0x1a4e('0x25e4')][_0x1a4e('0x25e5')]:_0x146f6e[_0x1a4e('0x25e6')];},_0x368e5a[_0x1a4e('0x1b74')]={'files':_0x368e5a[_0x1a4e('0x1700')],'directories':_0x368e5a['emptyArray']},_0x368e5a[_0x1a4e('0x25e7')]=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=0x0,_0xf79407=_0x146f6e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x2392d8(_0x2c9ec9);if(_0x420b32)_0x55ff7e['push'](_0x420b32);else if(_0x2c9ec9===_0x2327c6)return _0x2c9ec9;}return _0x368e5a[_0x1a4e('0x25e8')](_0x55ff7e,function(_0x368e5a){return _0x368e5a;},_0x2327c6);},_0x368e5a[_0x1a4e('0x25e9')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x3e')](_0x146f6e);return _0x1213a4[_0x1a4e('0xba0')](-0x1!==_0x2327c6),_0x368e5a[_0x1a4e('0x78')](_0x2327c6);},_0x368e5a[_0x1a4e('0x25ea')]=function(_0x368e5a,_0x146f6e){_0x1213a4['assert'](0x0!==_0x368e5a['length']);for(var _0x2327c6=_0x146f6e(_0x368e5a[0x0]),_0x55ff7e=_0x2327c6,_0x1adc17=0x1;_0x1adc17<_0x368e5a[_0x1a4e('0x1e')];_0x1adc17++){var _0xf79407=_0x146f6e(_0x368e5a[_0x1adc17]);_0xf79407<_0x2327c6?_0x2327c6=_0xf79407:_0xf79407>_0x55ff7e&&(_0x55ff7e=_0xf79407);}return{'min':_0x2327c6,'max':_0x55ff7e};};var _0x4c2d4c=function(){function _0x146f6e(){this[_0x1a4e('0x21')]=_0x368e5a[_0x1a4e('0x1772')]();}return _0x146f6e[_0x1a4e('0xa')]['add']=function(_0x146f6e){this['map'][_0x1a4e('0x17a')](String(_0x368e5a['getNodeId'](_0x146f6e)),_0x146f6e);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x25eb')]=function(_0x368e5a){return!this[_0x1a4e('0x178')](_0x368e5a)&&(this[_0x1a4e('0x177')](_0x368e5a),!0x0);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x178')]=function(_0x146f6e){return this[_0x1a4e('0x21')]['has'](String(_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e)));},_0x146f6e[_0x1a4e('0xa')]['forEach']=function(_0x368e5a){this[_0x1a4e('0x21')][_0x1a4e('0x3b')](_0x368e5a);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x1c2')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2308')](this[_0x1a4e('0x21')],_0x146f6e)||!0x1;},_0x146f6e;}();_0x368e5a[_0x1a4e('0x25ed')]=_0x4c2d4c;var _0x5d4bef=function(){function _0x146f6e(){this[_0x1a4e('0x21')]=_0x368e5a[_0x1a4e('0x1772')]();}return _0x146f6e['prototype'][_0x1a4e('0x179')]=function(_0x146f6e){var _0x2327c6=this[_0x1a4e('0x21')][_0x1a4e('0x179')](String(_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e)));return _0x2327c6&&_0x2327c6[_0x1a4e('0x255')];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x25ee')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this[_0x1a4e('0x179')](_0x368e5a);if(_0x2327c6)return _0x2327c6;var _0x55ff7e=_0x146f6e();return this[_0x1a4e('0x17a')](_0x368e5a,_0x55ff7e),_0x55ff7e;},_0x146f6e[_0x1a4e('0xa')]['set']=function(_0x146f6e,_0x2327c6){this[_0x1a4e('0x21')][_0x1a4e('0x17a')](String(_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e)),{'node':_0x146f6e,'value':_0x2327c6});},_0x146f6e['prototype']['has']=function(_0x146f6e){return this['map'][_0x1a4e('0x178')](String(_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e)));},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3b')]=function(_0x368e5a){this[_0x1a4e('0x21')][_0x1a4e('0x3b')](function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x80')],_0x55ff7e=_0x146f6e[_0x1a4e('0x255')];return _0x368e5a(_0x55ff7e,_0x2327c6);});},_0x146f6e;}();_0x368e5a[_0x1a4e('0x25ef')]=_0x5d4bef,_0x368e5a[_0x1a4e('0x25f0')]=function(_0x146f6e){return{'pos':_0x368e5a[_0x1a4e('0x232d')](_0x146f6e),'end':_0x146f6e[_0x1a4e('0xca')]};},_0x368e5a[_0x1a4e('0x25f1')]=function(_0x368e5a){return{'pos':_0x368e5a['pos']-0x1,'end':_0x368e5a['end']+0x1};},_0x368e5a[_0x1a4e('0x25f2')]=function(_0x368e5a,_0x146f6e){return _0x146f6e[_0x1a4e('0x25f3')]&&_0x368e5a[_0x1a4e('0x2423')]||_0x146f6e[_0x1a4e('0x25f4')]&&_0x368e5a['hasNoDefaultLib'];},_0x368e5a[_0x1a4e('0x2594')]=function _0x146f6e(_0x2327c6,_0x55ff7e){return _0x2327c6===_0x55ff7e||'object'==typeof _0x2327c6&&null!==_0x2327c6&&_0x1a4e('0x85')==typeof _0x55ff7e&&null!==_0x55ff7e&&_0x368e5a['equalOwnProperties'](_0x2327c6,_0x55ff7e,_0x146f6e);},_0x368e5a[_0x1a4e('0x25ee')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x179')](_0x146f6e);if(void 0x0===_0x55ff7e){var _0x1adc17=_0x2327c6();return _0x368e5a[_0x1a4e('0x17a')](_0x146f6e,_0x1adc17),_0x1adc17;}return _0x55ff7e;},_0x368e5a[_0x1a4e('0x22d9')]=function(_0x368e5a){var _0x146f6e;switch(_0x368e5a['charCodeAt'](0x1)){case 0x62:case 0x42:_0x146f6e=0x1;break;case 0x6f:case 0x4f:_0x146f6e=0x3;break;case 0x78:case 0x58:_0x146f6e=0x4;break;default:for(var _0x2327c6=_0x368e5a[_0x1a4e('0x1e')]-0x1,_0x55ff7e=0x0;0x30===_0x368e5a[_0x1a4e('0x913')](_0x55ff7e);)_0x55ff7e++;return _0x368e5a['slice'](_0x55ff7e,_0x2327c6)||'0';}for(var _0x1adc17=_0x368e5a[_0x1a4e('0x1e')]-0x1,_0xf79407=(_0x1adc17-0x2)*_0x146f6e,_0x2c9ec9=new Uint16Array((_0xf79407>>>0x4)+(0xf&_0xf79407?0x1:0x0)),_0x420b32=_0x1adc17-0x1,_0x1b06ad=0x0;_0x420b32>=0x2;_0x420b32--,_0x1b06ad+=_0x146f6e){var _0x326eae=_0x1b06ad>>>0x4,_0x56674b=_0x368e5a['charCodeAt'](_0x420b32),_0x23f0e1=(_0x56674b<=0x39?_0x56674b-0x30:0xa+_0x56674b-(_0x56674b<=0x46?0x41:0x61))<<(0xf&_0x1b06ad);_0x2c9ec9[_0x326eae]|=_0x23f0e1;var _0x1e7242=_0x23f0e1>>>0x10;_0x1e7242&&(_0x2c9ec9[_0x326eae+0x1]|=_0x1e7242);}for(var _0x28f369='',_0x4d3fdc=_0x2c9ec9[_0x1a4e('0x1e')]-0x1,_0x4b3deb=!0x0;_0x4b3deb;){var _0x7e49d7=0x0;for(_0x4b3deb=!0x1,_0x326eae=_0x4d3fdc;_0x326eae>=0x0;_0x326eae--){var _0x47645b=_0x7e49d7<<0x10|_0x2c9ec9[_0x326eae],_0x52d3a1=_0x47645b/0xa|0x0;_0x2c9ec9[_0x326eae]=_0x52d3a1,_0x7e49d7=_0x47645b-0xa*_0x52d3a1,_0x52d3a1&&!_0x4b3deb&&(_0x4d3fdc=_0x326eae,_0x4b3deb=!0x0);}_0x28f369=_0x7e49d7+_0x28f369;}return _0x28f369;},_0x368e5a[_0x1a4e('0x25f5')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x978')],_0x2327c6=_0x368e5a[_0x1a4e('0x25f6')];return(_0x146f6e&&'0'!==_0x2327c6?'-':'')+_0x2327c6;};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32;function _0x1b06ad(_0x368e5a,_0x146f6e){return _0x146f6e&&_0x368e5a(_0x146f6e);}function _0x326eae(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x2327c6){if(_0x146f6e)return _0x146f6e(_0x2327c6);for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6;_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x368e5a(_0x1adc17[_0x55ff7e]);if(_0xf79407)return _0xf79407;}}}function _0x56674b(_0x368e5a,_0x146f6e){return 0x2a===_0x368e5a[_0x1a4e('0x913')](_0x146f6e+0x1)&&0x2a===_0x368e5a['charCodeAt'](_0x146f6e+0x2)&&0x2f!==_0x368e5a[_0x1a4e('0x913')](_0x146f6e+0x3);}function _0x1c692c(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e&&!(_0x146f6e[_0x1a4e('0x146b')]<=0x93))switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x94:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x5f')])||_0x1b06ad(_0x2327c6,_0x146f6e['right']);case 0x96:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2364')])||_0x1b06ad(_0x2327c6,_0x146f6e['default'])||_0x1b06ad(_0x2327c6,_0x146f6e['expression']);case 0x114:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['decorators'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['modifiers'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23ca')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25f7')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25f8')])||_0x1b06ad(_0x2327c6,_0x146f6e['objectAssignmentInitializer']);case 0x115:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0x97:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['decorators'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25f9')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e['questionToken'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')])||_0x1b06ad(_0x2327c6,_0x146f6e['initializer']);case 0x9a:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e['questionToken'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25f7')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236a')]);case 0x99:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23ca')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')])||_0x1b06ad(_0x2327c6,_0x146f6e['initializer']);case 0x113:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['modifiers'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23ca')])||_0x1b06ad(_0x2327c6,_0x146f6e['initializer']);case 0xed:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e['exclamationToken'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236a')]);case 0xba:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25f9')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x81a')])||_0x1b06ad(_0x2327c6,_0x146f6e['name'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236a')]);case 0xa5:case 0xa6:case 0xa0:case 0xa1:case 0xa2:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x23d7')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x111a')])||_0x1b06ad(_0x2327c6,_0x146f6e['type']);case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:case 0xc4:case 0xef:case 0xc5:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23fc')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23ca')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25f7')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x23d7')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x111a')])||_0x1b06ad(_0x2327c6,_0x146f6e['type'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25fa')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x8f2')]);case 0xa4:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0xe7d')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2365')]);case 0xa3:return _0x1b06ad(_0x2327c6,_0x146f6e['parameterName'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')]);case 0xa7:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25fb')]);case 0xa8:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2369')]);case 0xa9:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2388')]);case 0xaa:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x25fc')]);case 0xad:case 0xae:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2380')]);case 0xaf:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25fd')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25fe')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25ff')])||_0x1b06ad(_0x2327c6,_0x146f6e['falseType']);case 0xb0:return _0x1b06ad(_0x2327c6,_0x146f6e['typeParameter']);case 0xb7:return _0x1b06ad(_0x2327c6,_0x146f6e['argument'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2600')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2365')]);case 0xb1:case 0xb3:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')]);case 0xb4:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2601')])||_0x1b06ad(_0x2327c6,_0x146f6e['indexType']);case 0xb5:return _0x1b06ad(_0x2327c6,_0x146f6e['readonlyToken'])||_0x1b06ad(_0x2327c6,_0x146f6e['typeParameter'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23ca')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')]);case 0xb6:return _0x1b06ad(_0x2327c6,_0x146f6e['literal']);case 0xb8:case 0xb9:case 0xbb:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2398')]);case 0xbc:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x13')]);case 0xbd:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')]);case 0xbe:return _0x1b06ad(_0x2327c6,_0x146f6e['expression'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x24a7')]);case 0xbf:case 0xc0:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['typeArguments'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2373')]);case 0xc1:return _0x1b06ad(_0x2327c6,_0x146f6e['tag'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['typeArguments'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0xe19')]);case 0xc2:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0xc3:case 0xc6:case 0xc7:case 0xc8:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0xca:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x1784')]);case 0xcf:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23fc')])||_0x1b06ad(_0x2327c6,_0x146f6e['expression']);case 0xc9:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0xcb:return _0x1b06ad(_0x2327c6,_0x146f6e['operand']);case 0xcc:return _0x1b06ad(_0x2327c6,_0x146f6e['left'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x237a')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x5d')]);case 0xd4:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')]);case 0xd5:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0xd6:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')]);case 0xcd:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236b')])||_0x1b06ad(_0x2327c6,_0x146f6e['questionToken'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2602')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2603')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2604')]);case 0xd0:return _0x1b06ad(_0x2327c6,_0x146f6e['expression']);case 0xda:case 0xf5:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2366')]);case 0x117:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2366')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2605')]);case 0xdb:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['decorators'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['modifiers'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2377')]);case 0xee:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x22e5')]);case 0xdd:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0xde:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2606')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2607')]);case 0xdf:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2390')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0xe0:return _0x1b06ad(_0x2327c6,_0x146f6e['expression'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2390')]);case 0xe1:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236a')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236b')])||_0x1b06ad(_0x2327c6,_0x146f6e['incrementor'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2390')]);case 0xe2:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236a')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2390')]);case 0xe3:return _0x1b06ad(_0x2327c6,_0x146f6e['awaitModifier'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236a')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2390')]);case 0xe4:case 0xe5:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x1bc')]);case 0xe6:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0xe7:return _0x1b06ad(_0x2327c6,_0x146f6e['expression'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2390')]);case 0xe8:return _0x1b06ad(_0x2327c6,_0x146f6e['expression'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2608')]);case 0xf6:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2609')]);case 0x10f:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2366')]);case 0x110:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['statements']);case 0xe9:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x1bc')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2390')]);case 0xea:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0xeb:return _0x1b06ad(_0x2327c6,_0x146f6e['tryBlock'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x260a')])||_0x1b06ad(_0x2327c6,_0x146f6e['finallyBlock']);case 0x112:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x260b')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x260c')]);case 0x98:return _0x1b06ad(_0x2327c6,_0x146f6e['expression']);case 0xf0:case 0xd1:case 0xf1:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['typeParameters'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x237f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2369')]);case 0xf2:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e['name'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x23d7')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')]);case 0xf3:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2369')]);case 0x116:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236a')]);case 0xf4:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e['body']);case 0xf8:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['decorators'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236d')]);case 0xf9:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23c6')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23c5')]);case 0xfa:return _0x1b06ad(_0x2327c6,_0x146f6e['name'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23c7')]);case 0xf7:case 0xfb:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')]);case 0xfc:case 0x100:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['elements']);case 0xff:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x260d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x23c5')]);case 0xfd:case 0x101:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x81a')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')]);case 0xfe:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['decorators'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x242d')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0xce:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x10f1')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x260e')]);case 0xd8:return _0x1b06ad(_0x2327c6,_0x146f6e['expression'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2301')]);case 0x95:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0x111:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['types']);case 0xd3:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2365')]);case 0x103:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0x102:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x232f')]);case 0x135:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2398')]);case 0x104:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x260f')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['children'])||_0x1b06ad(_0x2327c6,_0x146f6e['closingElement']);case 0x108:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2610')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x6f')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2611')]);case 0x105:case 0x106:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x132b')])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2365')])||_0x1b06ad(_0x2327c6,_0x146f6e['attributes']);case 0x10c:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x13')]);case 0x10b:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x236a')]);case 0x10d:return _0x1b06ad(_0x2327c6,_0x146f6e['expression']);case 0x10e:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x25f9')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);case 0x107:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x132b')]);case 0xab:case 0xac:case 0x11b:case 0x11f:case 0x11e:case 0x120:case 0x122:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')]);case 0x121:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['parameters'])||_0x1b06ad(_0x2327c6,_0x146f6e['type']);case 0x123:return _0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e['tags']);case 0x12b:case 0x131:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x132b')])||(_0x146f6e[_0x1a4e('0x2612')]?_0x1b06ad(_0x2327c6,_0x146f6e['name'])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2379')]):_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2379')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')]));case 0x127:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x132b')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x237e')]);case 0x12f:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x132b')])||_0x1b06ad(_0x2327c6,_0x146f6e['constraint'])||_0x326eae(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x23d7')]);case 0x130:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x132b')])||(_0x146f6e[_0x1a4e('0x2379')]&&0x11b===_0x146f6e[_0x1a4e('0x2379')]['kind']?_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2379')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2613')]):_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2613')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2379')]));case 0x129:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x132b')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2613')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2379')]);case 0x12c:case 0x12e:case 0x12d:case 0x12a:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x132b')])||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2379')]);case 0x125:return _0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x23d7')],_0x2327c6)||_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x111a')],_0x2327c6)||_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x40')]);case 0x124:return _0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2614')],_0x2327c6);case 0x126:case 0x128:return _0x1b06ad(_0x2327c6,_0x146f6e['tagName']);case 0x134:return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);}}function _0x114b35(_0x146f6e){return _0x368e5a['fileExtensionIs'](_0x146f6e,_0x1a4e('0x1a83'));}function _0x12e259(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x22d1')](_0x146f6e[_0x1a4e('0x22f6')],!0x1,0x0,_0x2327c6),_0x1adc17=[];;){var _0xf79407=_0x55ff7e[_0x1a4e('0x22f8')]();if(!_0x368e5a[_0x1a4e('0x23f9')](_0xf79407))break;var _0x2c9ec9={'kind':_0x55ff7e['getToken'](),'pos':_0x55ff7e[_0x1a4e('0x22f9')](),'end':_0x55ff7e[_0x1a4e('0x2615')]()};_0x40957e(_0x1adc17,_0x2c9ec9,_0x2327c6[_0x1a4e('0x281')](_0x2c9ec9[_0x1a4e('0xa4')],_0x2c9ec9[_0x1a4e('0xca')]));}_0x146f6e['pragmas']=_0x368e5a[_0x1a4e('0x1772')]();for(var _0x420b32=0x0,_0x1b06ad=_0x1adc17;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];if(_0x146f6e[_0x1a4e('0x2616')][_0x1a4e('0x178')](_0x326eae[_0x1a4e('0x2cb')])){var _0x56674b=_0x146f6e[_0x1a4e('0x2616')]['get'](_0x326eae[_0x1a4e('0x2cb')]);_0x56674b instanceof Array?_0x56674b[_0x1a4e('0x46')](_0x326eae[_0x1a4e('0x89c')]):_0x146f6e[_0x1a4e('0x2616')][_0x1a4e('0x17a')](_0x326eae['name'],[_0x56674b,_0x326eae['args']]);}else _0x146f6e[_0x1a4e('0x2616')][_0x1a4e('0x17a')](_0x326eae['name'],_0x326eae['args']);}}function _0x4a3a80(_0x146f6e,_0x2327c6){_0x146f6e['checkJsDirective']=void 0x0,_0x146f6e[_0x1a4e('0x2617')]=[],_0x146f6e[_0x1a4e('0x2618')]=[],_0x146f6e[_0x1a4e('0x2619')]=[],_0x146f6e[_0x1a4e('0x261a')]=[],_0x146f6e[_0x1a4e('0x261b')]=!0x1,_0x146f6e['pragmas'][_0x1a4e('0x3b')](function(_0x55ff7e,_0x1adc17){switch(_0x1adc17){case'reference':var _0xf79407=_0x146f6e[_0x1a4e('0x2617')],_0x2c9ec9=_0x146f6e[_0x1a4e('0x2618')],_0x420b32=_0x146f6e['libReferenceDirectives'];_0x368e5a[_0x1a4e('0x3b')](_0x368e5a[_0x1a4e('0x347')](_0x55ff7e),function(_0x55ff7e){_0x55ff7e['arguments'][_0x1a4e('0x261c')]?_0x146f6e[_0x1a4e('0x261b')]=!0x0:_0x55ff7e['arguments'][_0x1a4e('0x2380')]?_0x2c9ec9['push']({'pos':_0x55ff7e[_0x1a4e('0x2373')][_0x1a4e('0x2380')]['pos'],'end':_0x55ff7e[_0x1a4e('0x2373')][_0x1a4e('0x2380')]['end'],'fileName':_0x55ff7e[_0x1a4e('0x2373')]['types'][_0x1a4e('0x255')]}):_0x55ff7e[_0x1a4e('0x2373')][_0x1a4e('0x261d')]?_0x420b32[_0x1a4e('0x46')]({'pos':_0x55ff7e[_0x1a4e('0x2373')]['lib'][_0x1a4e('0xa4')],'end':_0x55ff7e['arguments']['lib'][_0x1a4e('0xca')],'fileName':_0x55ff7e[_0x1a4e('0x2373')]['lib'][_0x1a4e('0x255')]}):_0x55ff7e['arguments'][_0x1a4e('0x64')]?_0xf79407[_0x1a4e('0x46')]({'pos':_0x55ff7e['arguments'][_0x1a4e('0x64')][_0x1a4e('0xa4')],'end':_0x55ff7e[_0x1a4e('0x2373')][_0x1a4e('0x64')][_0x1a4e('0xca')],'fileName':_0x55ff7e[_0x1a4e('0x2373')][_0x1a4e('0x64')][_0x1a4e('0x255')]}):_0x2327c6(_0x55ff7e[_0x1a4e('0x1075')]['pos'],_0x55ff7e[_0x1a4e('0x1075')][_0x1a4e('0xca')]-_0x55ff7e[_0x1a4e('0x1075')][_0x1a4e('0xa4')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x261e')]);});break;case _0x1a4e('0x261f'):_0x146f6e[_0x1a4e('0x261a')]=_0x368e5a[_0x1a4e('0x21')](_0x368e5a['toArray'](_0x55ff7e),function(_0x368e5a){return{'name':_0x368e5a[_0x1a4e('0x2373')]['name'],'path':_0x368e5a[_0x1a4e('0x2373')][_0x1a4e('0x64')]};});break;case _0x1a4e('0x2620'):if(_0x55ff7e instanceof Array)for(var _0x1b06ad=0x0,_0x326eae=_0x55ff7e;_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];_0x146f6e[_0x1a4e('0x2419')]&&_0x2327c6(_0x56674b[_0x1a4e('0x1075')][_0x1a4e('0xa4')],_0x56674b[_0x1a4e('0x1075')][_0x1a4e('0xca')]-_0x56674b[_0x1a4e('0x1075')]['pos'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2621')]),_0x146f6e[_0x1a4e('0x2419')]=_0x56674b[_0x1a4e('0x2373')][_0x1a4e('0x2cb')];}else _0x146f6e[_0x1a4e('0x2419')]=_0x55ff7e['arguments']['name'];break;case'ts-nocheck':case _0x1a4e('0x2622'):_0x368e5a[_0x1a4e('0x3b')](_0x368e5a['toArray'](_0x55ff7e),function(_0x368e5a){(!_0x146f6e[_0x1a4e('0x25e4')]||_0x368e5a[_0x1a4e('0x1075')][_0x1a4e('0xa4')]>_0x146f6e[_0x1a4e('0x25e4')][_0x1a4e('0xa4')])&&(_0x146f6e[_0x1a4e('0x25e4')]={'enabled':_0x1a4e('0x2622')===_0x1adc17,'end':_0x368e5a[_0x1a4e('0x1075')][_0x1a4e('0xca')],'pos':_0x368e5a['range'][_0x1a4e('0xa4')]});});break;case'jsx':return;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2623'));}});}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x2624')]=0x1]=_0x1a4e('0x2624'),_0x368e5a[_0x368e5a[_0x1a4e('0x1adc')]=0x2]=_0x1a4e('0x1adc'),_0x368e5a[_0x368e5a[_0x1a4e('0x3d4')]=0x4]='Type',_0x368e5a[_0x368e5a[_0x1a4e('0x2625')]=0x10]='IgnoreMissingOpenBrace',_0x368e5a[_0x368e5a['JSDoc']=0x20]=_0x1a4e('0x18da');}(_0x146f6e||(_0x146f6e={})),_0x368e5a['createNode']=function(_0x146f6e,_0x2c9ec9,_0x420b32){return 0x117===_0x146f6e?new(_0xf79407||(_0xf79407=(_0x368e5a[_0x1a4e('0x2626')][_0x1a4e('0x2627')]())))(_0x146f6e,_0x2c9ec9,_0x420b32):0x48===_0x146f6e?new(_0x1adc17||(_0x1adc17=(_0x368e5a[_0x1a4e('0x2626')]['getIdentifierConstructor']())))(_0x146f6e,_0x2c9ec9,_0x420b32):_0x368e5a[_0x1a4e('0x2628')](_0x146f6e)?new(_0x2327c6||(_0x2327c6=(_0x368e5a[_0x1a4e('0x2626')][_0x1a4e('0x2629')]())))(_0x146f6e,_0x2c9ec9,_0x420b32):new(_0x55ff7e||(_0x55ff7e=(_0x368e5a[_0x1a4e('0x2626')][_0x1a4e('0x262a')]())))(_0x146f6e,_0x2c9ec9,_0x420b32);},_0x368e5a[_0x1a4e('0x262b')]=_0x56674b,_0x368e5a[_0x1a4e('0x22eb')]=_0x1c692c,_0x368e5a[_0x1a4e('0x262c')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x420b32;return void 0x0===_0x1adc17&&(_0x1adc17=!0x1),_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')]('beforeParse'),_0x420b32=0x64===_0x55ff7e?_0x2c9ec9['parseSourceFile'](_0x146f6e,_0x2327c6,_0x55ff7e,void 0x0,_0x1adc17,0x6):_0x2c9ec9[_0x1a4e('0x262d')](_0x146f6e,_0x2327c6,_0x55ff7e,void 0x0,_0x1adc17,_0xf79407),_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')](_0x1a4e('0x262e')),_0x368e5a[_0x1a4e('0x1774')]['measure'](_0x1a4e('0x262f'),_0x1a4e('0x2630'),_0x1a4e('0x262e')),_0x420b32;},_0x368e5a['parseIsolatedEntityName']=function(_0x368e5a,_0x146f6e){return _0x2c9ec9['parseIsolatedEntityName'](_0x368e5a,_0x146f6e);},_0x368e5a['parseJsonText']=function(_0x368e5a,_0x146f6e){return _0x2c9ec9[_0x1a4e('0x2631')](_0x368e5a,_0x146f6e);},_0x368e5a[_0x1a4e('0x22f1')]=function(_0x368e5a){return void 0x0!==_0x368e5a['externalModuleIndicator'];},_0x368e5a[_0x1a4e('0x2632')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e=!0x1);var _0x1adc17=_0x420b32[_0x1a4e('0x2632')](_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);return _0x1adc17[_0x1a4e('0x7b2')]|=0x180000&_0x368e5a[_0x1a4e('0x7b2')],_0x1adc17;},_0x368e5a['parseIsolatedJSDocComment']=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2c9ec9[_0x1a4e('0x2633')][_0x1a4e('0x2634')](_0x368e5a,_0x146f6e,_0x2327c6);return _0x55ff7e&&_0x55ff7e[_0x1a4e('0x22ec')]&&_0x2c9ec9['fixupParentReferences'](_0x55ff7e[_0x1a4e('0x22ec')]),_0x55ff7e;},_0x368e5a[_0x1a4e('0x2635')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x2c9ec9[_0x1a4e('0x2633')][_0x1a4e('0x2635')](_0x368e5a,_0x146f6e,_0x2327c6);},function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x524297,_0x227043,_0x28536b,_0xfad49a,_0x222081,_0x5ec4c1,_0x19e3fa,_0x94756e,_0x1434ae,_0x3faf34=_0x368e5a[_0x1a4e('0x22d1')](0x6,!0x0),_0x17377b=0x2800,_0x344986=!0x1;function _0x4c23f5(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){void 0x0===_0x55ff7e&&(_0x55ff7e=0x2),_0x1547fe(_0x2327c6,_0x55ff7e,_0x1adc17,0x6),(_0x2c9ec9=_0x4c0d02(_0x146f6e,0x2,0x6,!0x1))[_0x1a4e('0x7b2')]=_0x5ec4c1,_0x3dcd5f();var _0x1b06ad=_0x36f1b9();if(0x1===_0x70b93f())_0x2c9ec9[_0x1a4e('0x2366')]=_0x4a58af([],_0x1b06ad,_0x1b06ad),_0x2c9ec9[_0x1a4e('0x2605')]=_0x2cb5b9();else{var _0x326eae=_0x51e3f8(0xdd);switch(_0x70b93f()){case 0x16:_0x326eae[_0x1a4e('0x2302')]=_0x56677c();break;case 0x66:case 0x57:case 0x60:_0x326eae['expression']=_0x2cb5b9();break;case 0x27:_0x53c1e5(function(){return 0x8===_0x3dcd5f()&&0x39!==_0x3dcd5f();})?_0x326eae['expression']=_0x319efc():_0x326eae[_0x1a4e('0x2302')]=_0x45151d();break;case 0x8:case 0xa:if(_0x53c1e5(function(){return 0x39!==_0x3dcd5f();})){_0x326eae['expression']=_0x55ca14();break;}default:_0x326eae['expression']=_0x45151d();}_0x5233b4(_0x326eae),_0x2c9ec9[_0x1a4e('0x2366')]=_0x4a58af([_0x326eae],_0x1b06ad),_0x2c9ec9[_0x1a4e('0x2605')]=_0x1332fc(0x1,_0x368e5a[_0x1a4e('0x167d')]['Unexpected_token']);}_0xf79407&&_0x1ad920(_0x2c9ec9),_0x2c9ec9[_0x1a4e('0x2636')]=_0x420b32;var _0x56674b=_0x2c9ec9;return _0x54622a(),_0x56674b;}function _0x4b5cdd(_0x368e5a){return 0x4===_0x368e5a||0x2===_0x368e5a||0x1===_0x368e5a||0x6===_0x368e5a?0x1:0x0;}function _0x1547fe(_0x146f6e,_0x2c9ec9,_0x326eae,_0x56674b){switch(_0x2327c6=_0x368e5a[_0x1a4e('0x2626')]['getNodeConstructor'](),_0x55ff7e=_0x368e5a['objectAllocator'][_0x1a4e('0x262a')](),_0x1adc17=_0x368e5a[_0x1a4e('0x2626')]['getIdentifierConstructor'](),_0xf79407=_0x368e5a['objectAllocator'][_0x1a4e('0x2627')](),_0x524297=_0x146f6e,_0x1b06ad=_0x326eae,_0x420b32=[],_0x222081=0x0,_0x28536b=_0x368e5a['createMap'](),_0xfad49a=0x0,_0x227043=0x0,_0x56674b){case 0x1:case 0x2:_0x5ec4c1=0x10000;break;case 0x6:_0x5ec4c1=0x1010000;break;default:_0x5ec4c1=0x0;}_0x344986=!0x1,_0x3faf34[_0x1a4e('0x2637')](_0x524297),_0x3faf34['setOnError'](_0x4652a6),_0x3faf34[_0x1a4e('0x2638')](_0x2c9ec9),_0x3faf34[_0x1a4e('0x2639')](_0x4b5cdd(_0x56674b));}function _0x54622a(){_0x3faf34[_0x1a4e('0x2637')](''),_0x3faf34[_0x1a4e('0x263a')](void 0x0),_0x420b32=void 0x0,_0x2c9ec9=void 0x0,_0x28536b=void 0x0,_0x1b06ad=void 0x0,_0x524297=void 0x0;}function _0x7aa688(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x114b35(_0x146f6e);return _0xf79407&&(_0x5ec4c1|=0x400000),(_0x2c9ec9=_0x4c0d02(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407))[_0x1a4e('0x7b2')]=_0x5ec4c1,_0x3dcd5f(),_0x12e259(_0x2c9ec9,_0x524297),_0x4a3a80(_0x2c9ec9,function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x22f5')](_0x2c9ec9,_0x146f6e,_0x2327c6,_0x55ff7e));}),_0x2c9ec9['statements']=_0x51525c(0x0,_0x4a7c0f),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x1===_0x70b93f()),_0x2c9ec9[_0x1a4e('0x2605')]=_0x54d855(_0x2cb5b9()),function(_0x146f6e){_0x146f6e['externalModuleIndicator']=_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2366')],_0x1daf6d)||function(_0x368e5a){return 0x100000&_0x368e5a['flags']?_0x2e1d6a(_0x368e5a):void 0x0;}(_0x146f6e);}(_0x2c9ec9),_0x2c9ec9[_0x1a4e('0x263b')]=_0x227043,_0x2c9ec9[_0x1a4e('0x263c')]=_0xfad49a,_0x2c9ec9[_0x1a4e('0x2326')]=_0x28536b,_0x2c9ec9['parseDiagnostics']=_0x420b32,_0x55ff7e&&_0x1ad920(_0x2c9ec9),_0x2c9ec9;}function _0x54d855(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x146f6e[_0x1a4e('0x22ec')]);var _0x2327c6=_0x368e5a['mapDefined'](_0x368e5a[_0x1a4e('0x1677')](_0x146f6e,_0x2c9ec9[_0x1a4e('0xe04')]),function(_0x368e5a){return _0x1434ae[_0x1a4e('0x263d')](_0x146f6e,_0x368e5a[_0x1a4e('0xa4')],_0x368e5a[_0x1a4e('0xca')]-_0x368e5a[_0x1a4e('0xa4')]);});return _0x2327c6['length']&&(_0x146f6e[_0x1a4e('0x22ec')]=_0x2327c6),_0x146f6e;}function _0x1ad920(_0x146f6e){var _0x2327c6=_0x146f6e;return void _0x1c692c(_0x146f6e,function _0x146f6e(_0x55ff7e){if(_0x55ff7e[_0x1a4e('0x11c')]!==_0x2327c6){_0x55ff7e['parent']=_0x2327c6;var _0x1adc17=_0x2327c6;if(_0x2327c6=_0x55ff7e,_0x1c692c(_0x55ff7e,_0x146f6e),_0x368e5a[_0x1a4e('0x23d0')](_0x55ff7e))for(var _0xf79407=0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x22ec')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x420b32['parent']=_0x55ff7e,_0x2327c6=_0x420b32,_0x1c692c(_0x420b32,_0x146f6e);}_0x2327c6=_0x1adc17;}});}function _0x4c0d02(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0x2c9ec9=new _0xf79407(0x117,0x0,_0x524297[_0x1a4e('0x1e')]);return _0x227043++,_0x2c9ec9['text']=_0x524297,_0x2c9ec9[_0x1a4e('0x263e')]=[],_0x2c9ec9[_0x1a4e('0x263f')]=void 0x0,_0x2c9ec9[_0x1a4e('0x22f6')]=_0x2327c6,_0x2c9ec9['fileName']=_0x368e5a[_0x1a4e('0x1672')](_0x146f6e),_0x2c9ec9[_0x1a4e('0x22f7')]=_0x4b5cdd(_0x55ff7e),_0x2c9ec9[_0x1a4e('0x2423')]=_0x1adc17,_0x2c9ec9[_0x1a4e('0x235a')]=_0x55ff7e,_0x2c9ec9;}function _0x151f76(_0x368e5a,_0x146f6e){_0x368e5a?_0x5ec4c1|=_0x146f6e:_0x5ec4c1&=~_0x146f6e;}function _0x510195(_0x368e5a){_0x151f76(_0x368e5a,0x800);}function _0x15ebe5(_0x368e5a){_0x151f76(_0x368e5a,0x1000);}function _0x4df929(_0x368e5a){_0x151f76(_0x368e5a,0x2000);}function _0xc5ec42(_0x368e5a){_0x151f76(_0x368e5a,0x4000);}function _0x356af3(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a&_0x5ec4c1;if(_0x2327c6){_0x151f76(!0x1,_0x2327c6);var _0x55ff7e=_0x146f6e();return _0x151f76(!0x0,_0x2327c6),_0x55ff7e;}return _0x146f6e();}function _0x516dad(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a&~_0x5ec4c1;if(_0x2327c6){_0x151f76(!0x0,_0x2327c6);var _0x55ff7e=_0x146f6e();return _0x151f76(!0x1,_0x2327c6),_0x55ff7e;}return _0x146f6e();}function _0x591f27(_0x368e5a){return _0x356af3(0x800,_0x368e5a);}function _0x140415(_0x368e5a){return _0x516dad(0x4000,_0x368e5a);}function _0x4d6402(_0x368e5a){return 0x0!=(_0x5ec4c1&_0x368e5a);}function _0x49baf6(){return _0x4d6402(0x1000);}function _0x11c1be(){return _0x4d6402(0x800);}function _0x284bd2(){return _0x4d6402(0x2000);}function _0x254a44(){return _0x4d6402(0x4000);}function _0x9850ad(_0x368e5a,_0x146f6e){_0x36609c(_0x3faf34[_0x1a4e('0x22f9')](),_0x3faf34[_0x1a4e('0x2615')](),_0x368e5a,_0x146f6e);}function _0x21eb45(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x1722')](_0x420b32);_0xf79407&&_0x146f6e===_0xf79407[_0x1a4e('0xc9')]||_0x420b32[_0x1a4e('0x46')](_0x368e5a['createFileDiagnostic'](_0x2c9ec9,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17)),_0x344986=!0x0;}function _0x36609c(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){_0x21eb45(_0x368e5a,_0x146f6e-_0x368e5a,_0x2327c6,_0x55ff7e);}function _0x2ed0b5(_0x368e5a,_0x146f6e,_0x2327c6){_0x36609c(_0x368e5a[_0x1a4e('0xa4')],_0x368e5a['end'],_0x146f6e,_0x2327c6);}function _0x4652a6(_0x368e5a,_0x146f6e){_0x21eb45(_0x3faf34[_0x1a4e('0x2615')](),_0x146f6e,_0x368e5a);}function _0x36f1b9(){return _0x3faf34['getStartPos']();}function _0x70b93f(){return _0x326eae;}function _0x3dcd5f(){return _0x326eae=_0x3faf34[_0x1a4e('0x22f8')]();}function _0x30f5bb(){return _0x326eae=_0x3faf34[_0x1a4e('0x2640')]();}function _0x2677e4(){return _0x326eae=_0x3faf34['scanJsxIdentifier']();}function _0x485cb8(){return _0x326eae=_0x3faf34[_0x1a4e('0x2641')]();}function _0x4a19d3(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x326eae,_0x1adc17=_0x420b32[_0x1a4e('0x1e')],_0xf79407=_0x344986,_0x2c9ec9=_0x5ec4c1,_0x1b06ad=_0x2327c6?_0x3faf34[_0x1a4e('0x2642')](_0x146f6e):_0x3faf34[_0x1a4e('0x2643')](_0x146f6e);return _0x368e5a[_0x1a4e('0x1749')]['assert'](_0x2c9ec9===_0x5ec4c1),_0x1b06ad&&!_0x2327c6||(_0x326eae=_0x55ff7e,_0x420b32[_0x1a4e('0x1e')]=_0x1adc17,_0x344986=_0xf79407),_0x1b06ad;}function _0x53c1e5(_0x368e5a){return _0x4a19d3(_0x368e5a,!0x0);}function _0x1b727c(_0x368e5a){return _0x4a19d3(_0x368e5a,!0x1);}function _0xf83c54(){return 0x48===_0x70b93f()||(0x75!==_0x70b93f()||!_0x49baf6())&&((0x7a!==_0x70b93f()||!_0x254a44())&&_0x70b93f()>0x6c);}function _0x4c6850(_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=!0x0),_0x70b93f()===_0x146f6e?(_0x55ff7e&&_0x3dcd5f(),!0x0):(_0x2327c6?_0x9850ad(_0x2327c6):_0x9850ad(_0x368e5a['Diagnostics'][_0x1a4e('0x2644')],_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e)),!0x1);}function _0xb98295(_0x368e5a){return _0x70b93f()===_0x368e5a&&(_0x3dcd5f(),!0x0);}function _0x3b6f68(_0x368e5a){if(_0x70b93f()===_0x368e5a)return _0x2cb5b9();}function _0x1332fc(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x3b6f68(_0x146f6e)||_0xa004e8(_0x146f6e,!0x1,_0x2327c6||_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2644')],_0x55ff7e||_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e));}function _0x2cb5b9(){var _0x368e5a=_0x51e3f8(_0x70b93f());return _0x3dcd5f(),_0x5233b4(_0x368e5a);}function _0xce0377(){return 0x1a===_0x70b93f()||(0x13===_0x70b93f()||0x1===_0x70b93f()||_0x3faf34['hasPrecedingLineBreak']());}function _0x407d7b(){return _0xce0377()?(0x1a===_0x70b93f()&&_0x3dcd5f(),!0x0):_0x4c6850(0x1a);}function _0x51e3f8(_0x146f6e,_0xf79407){_0x227043++;var _0x2c9ec9=_0xf79407>=0x0?_0xf79407:_0x3faf34[_0x1a4e('0x2645')]();return _0x368e5a[_0x1a4e('0x2628')](_0x146f6e)||0x0===_0x146f6e?new _0x2327c6(_0x146f6e,_0x2c9ec9,_0x2c9ec9):0x48===_0x146f6e?new _0x1adc17(_0x146f6e,_0x2c9ec9,_0x2c9ec9):new _0x55ff7e(_0x146f6e,_0x2c9ec9,_0x2c9ec9);}function _0x2f04f9(_0x368e5a,_0x146f6e){var _0x2327c6=_0x51e3f8(_0x368e5a,_0x146f6e);return 0x2&_0x3faf34[_0x1a4e('0x2646')]()&&_0x54d855(_0x2327c6),_0x2327c6;}function _0x4a58af(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1e')],_0x1adc17=_0x55ff7e>=0x1&&_0x55ff7e<=0x4?_0x368e5a[_0x1a4e('0x78')]():_0x368e5a;return _0x1adc17[_0x1a4e('0xa4')]=_0x146f6e,_0x1adc17[_0x1a4e('0xca')]=void 0x0===_0x2327c6?_0x3faf34[_0x1a4e('0x2645')]():_0x2327c6,_0x1adc17;}function _0x5233b4(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0xca')]=void 0x0===_0x146f6e?_0x3faf34[_0x1a4e('0x2645')]():_0x146f6e,_0x5ec4c1&&(_0x368e5a[_0x1a4e('0x7b2')]|=_0x5ec4c1),_0x344986&&(_0x344986=!0x1,_0x368e5a['flags']|=0x8000),_0x368e5a;}function _0xa004e8(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x2327c6?_0x21eb45(_0x3faf34[_0x1a4e('0x2645')](),0x0,_0x55ff7e,_0x1adc17):_0x55ff7e&&_0x9850ad(_0x55ff7e,_0x1adc17);var _0xf79407=_0x51e3f8(_0x146f6e);return 0x48===_0x146f6e?_0xf79407[_0x1a4e('0x22f3')]='':(_0x368e5a[_0x1a4e('0x253e')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2647')](_0x146f6e))&&(_0xf79407['text']=''),_0x5233b4(_0xf79407);}function _0x4c9c0d(_0x368e5a){var _0x146f6e=_0x28536b['get'](_0x368e5a);return void 0x0===_0x146f6e&&_0x28536b[_0x1a4e('0x17a')](_0x368e5a,_0x146f6e=_0x368e5a),_0x146f6e;}function _0x1395b0(_0x146f6e,_0x2327c6){if(_0xfad49a++,_0x146f6e){var _0x55ff7e=_0x51e3f8(0x48);return 0x48!==_0x70b93f()&&(_0x55ff7e[_0x1a4e('0x23f8')]=_0x70b93f()),_0x55ff7e[_0x1a4e('0x22f3')]=_0x368e5a[_0x1a4e('0x22f4')](_0x4c9c0d(_0x3faf34[_0x1a4e('0x2648')]())),_0x3dcd5f(),_0x5233b4(_0x55ff7e);}return _0xa004e8(0x48,0x1===_0x70b93f(),_0x2327c6||_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2649')]);}function _0xc1d820(_0x368e5a){return _0x1395b0(_0xf83c54(),_0x368e5a);}function _0x2473ce(_0x146f6e){return _0x1395b0(_0x368e5a[_0x1a4e('0x2298')](_0x70b93f()),_0x146f6e);}function _0xfd41b3(){return _0x368e5a[_0x1a4e('0x2298')](_0x70b93f())||0xa===_0x70b93f()||0x8===_0x70b93f();}function _0x33c576(_0x368e5a){if(0xa===_0x70b93f()||0x8===_0x70b93f()){var _0x146f6e=_0x55ca14();return _0x146f6e[_0x1a4e('0xe04')]=_0x4c9c0d(_0x146f6e[_0x1a4e('0xe04')]),_0x146f6e;}return _0x368e5a&&0x16===_0x70b93f()?function(){var _0x368e5a=_0x51e3f8(0x95);return _0x4c6850(0x16),_0x368e5a[_0x1a4e('0x2302')]=_0x591f27(_0x3ae484),_0x4c6850(0x17),_0x5233b4(_0x368e5a);}():_0x2473ce();}function _0xdf81f(){return _0x33c576(!0x0);}function _0x50e026(_0x368e5a){return _0x70b93f()===_0x368e5a&&_0x1b727c(_0x5a47cd);}function _0x262cef(){return _0x3dcd5f(),!_0x3faf34['hasPrecedingLineBreak']()&&_0x20d3ed();}function _0x5a47cd(){switch(_0x70b93f()){case 0x4d:return 0x54===_0x3dcd5f();case 0x55:return _0x3dcd5f(),0x50===_0x70b93f()?_0x53c1e5(_0x458528):0x28!==_0x70b93f()&&0x77!==_0x70b93f()&&0x12!==_0x70b93f()&&_0x20d3ed();case 0x50:return _0x458528();case 0x74:case 0x7e:case 0x89:return _0x3dcd5f(),_0x20d3ed();default:return _0x262cef();}}function _0x20d3ed(){return 0x16===_0x70b93f()||0x12===_0x70b93f()||0x28===_0x70b93f()||0x19===_0x70b93f()||_0xfd41b3();}function _0x458528(){return _0x3dcd5f(),0x4c===_0x70b93f()||0x5a===_0x70b93f()||0x6e===_0x70b93f()||0x76===_0x70b93f()&&_0x53c1e5(_0x4350cf)||0x79===_0x70b93f()&&_0x53c1e5(_0x1adb9c);}function _0xbd6290(_0x146f6e,_0x2327c6){if(_0x3da322(_0x146f6e))return!0x0;switch(_0x146f6e){case 0x0:case 0x1:case 0x3:return!(0x1a===_0x70b93f()&&_0x2327c6)&&_0x4efd9b();case 0x2:return 0x4a===_0x70b93f()||0x50===_0x70b93f();case 0x4:return _0x53c1e5(_0x3e9794);case 0x5:return _0x53c1e5(_0xeadbca)||0x1a===_0x70b93f()&&!_0x2327c6;case 0x6:return 0x16===_0x70b93f()||_0xfd41b3();case 0xc:switch(_0x70b93f()){case 0x16:case 0x28:case 0x19:case 0x18:return!0x0;default:return _0xfd41b3();}case 0x12:return _0xfd41b3();case 0x9:return 0x16===_0x70b93f()||0x19===_0x70b93f()||_0xfd41b3();case 0x7:return 0x12===_0x70b93f()?_0x53c1e5(_0xbdbee3):_0x2327c6?_0xf83c54()&&!_0x347630():_0x3c4834()&&!_0x347630();case 0x8:return _0xbcce2c();case 0xa:return 0x1b===_0x70b93f()||0x19===_0x70b93f()||_0xbcce2c();case 0x13:return _0xf83c54();case 0xf:switch(_0x70b93f()){case 0x1b:case 0x18:return!0x0;}case 0xb:return 0x19===_0x70b93f()||_0x39a78b();case 0x10:return _0x2f91b0(!0x1);case 0x11:return _0x2f91b0(!0x0);case 0x14:case 0x15:return 0x1b===_0x70b93f()||_0x38477d();case 0x16:return _0x2c5699();case 0x17:return _0x368e5a['tokenIsIdentifierOrKeyword'](_0x70b93f());case 0xd:return _0x368e5a[_0x1a4e('0x2298')](_0x70b93f())||0x12===_0x70b93f();case 0xe:return!0x0;}return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]('Non-exhaustive\x20case\x20in\x20\x27isListElement\x27.');}function _0xbdbee3(){if(_0x368e5a[_0x1a4e('0x1749')]['assert'](0x12===_0x70b93f()),0x13===_0x3dcd5f()){var _0x146f6e=_0x3dcd5f();return 0x1b===_0x146f6e||0x12===_0x146f6e||0x56===_0x146f6e||0x6d===_0x146f6e;}return!0x0;}function _0x4595b9(){return _0x3dcd5f(),_0xf83c54();}function _0x47d55c(){return _0x3dcd5f(),_0x368e5a[_0x1a4e('0x2298')](_0x70b93f());}function _0x1d3d03(){return _0x3dcd5f(),_0x368e5a['tokenIsIdentifierOrKeywordOrGreaterThan'](_0x70b93f());}function _0x347630(){return(0x6d===_0x70b93f()||0x56===_0x70b93f())&&_0x53c1e5(_0x10027a);}function _0x10027a(){return _0x3dcd5f(),_0x39a78b();}function _0x3a0e53(){return _0x3dcd5f(),_0x38477d();}function _0x4ce61a(_0x368e5a){if(0x1===_0x70b93f())return!0x0;switch(_0x368e5a){case 0x1:case 0x2:case 0x4:case 0x5:case 0x6:case 0xc:case 0x9:case 0x17:return 0x13===_0x70b93f();case 0x3:return 0x13===_0x70b93f()||0x4a===_0x70b93f()||0x50===_0x70b93f();case 0x7:return 0x12===_0x70b93f()||0x56===_0x70b93f()||0x6d===_0x70b93f();case 0x8:return function(){if(_0xce0377())return!0x0;if(_0x3b43fc(_0x70b93f()))return!0x0;if(0x25===_0x70b93f())return!0x0;return!0x1;}();case 0x13:return 0x1e===_0x70b93f()||0x14===_0x70b93f()||0x12===_0x70b93f()||0x56===_0x70b93f()||0x6d===_0x70b93f();case 0xb:return 0x15===_0x70b93f()||0x1a===_0x70b93f();case 0xf:case 0x15:case 0xa:return 0x17===_0x70b93f();case 0x11:case 0x10:case 0x12:return 0x15===_0x70b93f()||0x17===_0x70b93f();case 0x14:return 0x1b!==_0x70b93f();case 0x16:return 0x12===_0x70b93f()||0x13===_0x70b93f();case 0xd:return 0x1e===_0x70b93f()||0x2a===_0x70b93f();case 0xe:return 0x1c===_0x70b93f()&&_0x53c1e5(_0x392149);default:return!0x1;}}function _0x51525c(_0x368e5a,_0x146f6e){var _0x2327c6=_0x222081;_0x222081|=0x1<<_0x368e5a;for(var _0x55ff7e=[],_0x1adc17=_0x36f1b9();!_0x4ce61a(_0x368e5a);)if(_0xbd6290(_0x368e5a,!0x1)){var _0xf79407=_0x31529d(_0x368e5a,_0x146f6e);_0x55ff7e[_0x1a4e('0x46')](_0xf79407);}else if(_0x2cede3(_0x368e5a))break;return _0x222081=_0x2327c6,_0x4a58af(_0x55ff7e,_0x1adc17);}function _0x31529d(_0x368e5a,_0x146f6e){var _0x2327c6=_0x3da322(_0x368e5a);return _0x2327c6?function(_0x368e5a){return _0x3faf34['setTextPos'](_0x368e5a[_0x1a4e('0xca')]),_0x3dcd5f(),_0x368e5a;}(_0x2327c6):_0x146f6e();}function _0x3da322(_0x146f6e){if(!_0x344986&&_0x1b06ad){var _0x2327c6=_0x1b06ad[_0x1a4e('0x264a')](_0x3faf34[_0x1a4e('0x2645')]());if(!_0x368e5a['nodeIsMissing'](_0x2327c6))if(!_0x2327c6[_0x1a4e('0x264b')])if(!_0x368e5a[_0x1a4e('0x264c')](_0x2327c6))if((0xc17800&_0x2327c6['flags'])===_0x5ec4c1&&function(_0x368e5a,_0x146f6e){switch(_0x146f6e){case 0x5:return function(_0x368e5a){if(_0x368e5a)switch(_0x368e5a['kind']){case 0x9d:case 0xa2:case 0x9e:case 0x9f:case 0x9a:case 0xd9:return!0x0;case 0x9c:var _0x146f6e=_0x368e5a,_0x2327c6=0x48===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&0x7c===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x23f8')];return!_0x2327c6;}return!0x1;}(_0x368e5a);case 0x2:return function(_0x368e5a){if(_0x368e5a)switch(_0x368e5a['kind']){case 0x10f:case 0x110:return!0x0;}return!0x1;}(_0x368e5a);case 0x0:case 0x1:case 0x3:return function(_0x368e5a){if(_0x368e5a)switch(_0x368e5a['kind']){case 0xef:case 0xdb:case 0xda:case 0xde:case 0xdd:case 0xea:case 0xe6:case 0xe8:case 0xe5:case 0xe4:case 0xe2:case 0xe3:case 0xe1:case 0xe0:case 0xe7:case 0xdc:case 0xeb:case 0xe9:case 0xdf:case 0xec:case 0xf9:case 0xf8:case 0xff:case 0xfe:case 0xf4:case 0xf0:case 0xf1:case 0xf3:case 0xf2:return!0x0;}return!0x1;}(_0x368e5a);case 0x6:return function(_0x368e5a){return 0x116===_0x368e5a[_0x1a4e('0x146b')];}(_0x368e5a);case 0x4:return function(_0x368e5a){if(_0x368e5a)switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xa1:case 0x9b:case 0xa2:case 0x99:case 0xa0:return!0x0;}return!0x1;}(_0x368e5a);case 0x8:return function(_0x368e5a){if(0xed!==_0x368e5a[_0x1a4e('0x146b')])return!0x1;return void 0x0===_0x368e5a['initializer'];}(_0x368e5a);case 0x11:case 0x10:return function(_0x368e5a){if(0x97!==_0x368e5a['kind'])return!0x1;return void 0x0===_0x368e5a[_0x1a4e('0x236a')];}(_0x368e5a);case 0x12:return!0x1;}return!0x1;}(_0x2327c6,_0x146f6e))return _0x2327c6[_0x1a4e('0x24ad')]&&(_0x2327c6[_0x1a4e('0x24ad')]=void 0x0),_0x2327c6;}}function _0x2cede3(_0x146f6e){return _0x9850ad(function(_0x146f6e){switch(_0x146f6e){case 0x0:case 0x1:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x264d')];case 0x2:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x264e')];case 0x3:return _0x368e5a[_0x1a4e('0x167d')]['Statement_expected'];case 0x12:case 0x4:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x264f')];case 0x5:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2650')];case 0x6:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2651')];case 0x7:return _0x368e5a['Diagnostics'][_0x1a4e('0x2652')];case 0x8:return _0x368e5a['Diagnostics'][_0x1a4e('0x2653')];case 0x9:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2654')];case 0xa:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2655')];case 0xb:return _0x368e5a[_0x1a4e('0x167d')]['Argument_expression_expected'];case 0xc:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2656')];case 0xf:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2657')];case 0x11:case 0x10:return _0x368e5a['Diagnostics']['Parameter_declaration_expected'];case 0x13:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2658')];case 0x14:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2659')];case 0x15:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x265a')];case 0x16:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x265b')];case 0x17:case 0xd:case 0xe:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2649')];default:return;}}(_0x146f6e)),!!function(){for(var _0x368e5a=0x0;_0x368e5a<0x18;_0x368e5a++)if(_0x222081&0x1<<_0x368e5a&&(_0xbd6290(_0x368e5a,!0x0)||_0x4ce61a(_0x368e5a)))return!0x0;return!0x1;}()||(_0x3dcd5f(),!0x1);}function _0x33e076(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x222081;_0x222081|=0x1<<_0x368e5a;for(var _0x1adc17=[],_0xf79407=_0x36f1b9(),_0x2c9ec9=-0x1;;)if(_0xbd6290(_0x368e5a,!0x1)){var _0x420b32=_0x3faf34['getStartPos']();if(_0x1adc17[_0x1a4e('0x46')](_0x31529d(_0x368e5a,_0x146f6e)),_0x2c9ec9=_0x3faf34[_0x1a4e('0x22f9')](),_0xb98295(0x1b))continue;if(_0x2c9ec9=-0x1,_0x4ce61a(_0x368e5a))break;_0x4c6850(0x1b),_0x2327c6&&0x1a===_0x70b93f()&&!_0x3faf34[_0x1a4e('0x265c')]()&&_0x3dcd5f(),_0x420b32===_0x3faf34[_0x1a4e('0x2645')]()&&_0x3dcd5f();}else{if(_0x4ce61a(_0x368e5a))break;if(_0x2cede3(_0x368e5a))break;}_0x222081=_0x55ff7e;var _0x1b06ad=_0x4a58af(_0x1adc17,_0xf79407);return _0x2c9ec9>=0x0&&(_0x1b06ad[_0x1a4e('0x265d')]=!0x0),_0x1b06ad;}function _0x2eb701(){var _0x368e5a=_0x4a58af([],_0x36f1b9());return _0x368e5a['isMissingList']=!0x0,_0x368e5a;}function _0xcbfeda(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x4c6850(_0x2327c6)){var _0x1adc17=_0x33e076(_0x368e5a,_0x146f6e);return _0x4c6850(_0x55ff7e),_0x1adc17;}return _0x2eb701();}function _0x5ab5e9(_0x368e5a,_0x146f6e){for(var _0x2327c6=_0x368e5a?_0x2473ce(_0x146f6e):_0xc1d820(_0x146f6e),_0x55ff7e=_0x3faf34['getStartPos']();_0xb98295(0x18);){if(0x1c===_0x70b93f()){_0x2327c6[_0x1a4e('0x265e')]=_0x55ff7e;break;}_0x55ff7e=_0x3faf34['getStartPos'](),_0x2327c6=_0x4367f9(_0x2327c6,_0x57e3a2(_0x368e5a));}return _0x2327c6;}function _0x4367f9(_0x368e5a,_0x146f6e){var _0x2327c6=_0x51e3f8(0x94,_0x368e5a['pos']);return _0x2327c6[_0x1a4e('0x5f')]=_0x368e5a,_0x2327c6[_0x1a4e('0x5d')]=_0x146f6e,_0x5233b4(_0x2327c6);}function _0x57e3a2(_0x146f6e){if(_0x3faf34[_0x1a4e('0x265c')]()&&_0x368e5a[_0x1a4e('0x2298')](_0x70b93f())&&_0x53c1e5(_0x568780))return _0xa004e8(0x48,!0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2649')]);return _0x146f6e?_0x2473ce():_0xc1d820();}function _0x57b589(){var _0x146f6e,_0x2327c6=_0x51e3f8(0xce);_0x2327c6['head']=(_0x146f6e=_0x2d2020(_0x70b93f()),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xf===_0x146f6e[_0x1a4e('0x146b')],'Template\x20head\x20has\x20wrong\x20token\x20kind'),_0x146f6e),_0x368e5a['Debug']['assert'](0xf===_0x2327c6['head']['kind'],_0x1a4e('0x265f'));var _0x55ff7e=[],_0x1adc17=_0x36f1b9();do{_0x55ff7e[_0x1a4e('0x46')](_0x16eb82());}while(0x10===_0x368e5a[_0x1a4e('0x10b1')](_0x55ff7e)[_0x1a4e('0x2301')][_0x1a4e('0x146b')]);return _0x2327c6[_0x1a4e('0x260e')]=_0x4a58af(_0x55ff7e,_0x1adc17),_0x5233b4(_0x2327c6);}function _0x16eb82(){var _0x146f6e,_0x2327c6,_0x55ff7e=_0x51e3f8(0xd8);return _0x55ff7e[_0x1a4e('0x2302')]=_0x591f27(_0x3ae484),0x13===_0x70b93f()?(_0x326eae=_0x3faf34['reScanTemplateToken'](),_0x2327c6=_0x2d2020(_0x70b93f()),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x10===_0x2327c6[_0x1a4e('0x146b')]||0x11===_0x2327c6[_0x1a4e('0x146b')],_0x1a4e('0x2660')),_0x146f6e=_0x2327c6):_0x146f6e=_0x1332fc(0x11,_0x368e5a['Diagnostics']['_0_expected'],_0x368e5a[_0x1a4e('0x22ba')](0x13)),_0x55ff7e[_0x1a4e('0x2301')]=_0x146f6e,_0x5233b4(_0x55ff7e);}function _0x55ca14(){return _0x2d2020(_0x70b93f());}function _0x2d2020(_0x368e5a){var _0x146f6e=_0x51e3f8(_0x368e5a);return _0x146f6e[_0x1a4e('0xe04')]=_0x3faf34['getTokenValue'](),_0x3faf34[_0x1a4e('0x2661')]()&&(_0x146f6e[_0x1a4e('0x2661')]=!0x0),_0x3faf34[_0x1a4e('0x2662')]()&&(_0x146f6e[_0x1a4e('0x2662')]=!0x0),0x8===_0x146f6e[_0x1a4e('0x146b')]&&(_0x146f6e[_0x1a4e('0x2335')]=0x3f0&_0x3faf34[_0x1a4e('0x2646')]()),_0x3dcd5f(),_0x5233b4(_0x146f6e),_0x146f6e;}function _0x58fb82(){var _0x146f6e=_0x51e3f8(0xa4);return _0x146f6e[_0x1a4e('0xe7d')]=_0x5ab5e9(!0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x265a')]),_0x3faf34[_0x1a4e('0x265c')]()||0x1c!==_0x70b93f()||(_0x146f6e[_0x1a4e('0x2365')]=_0xcbfeda(0x14,_0x27abe1,0x1c,0x1e)),_0x5233b4(_0x146f6e);}function _0x171869(_0x368e5a){var _0x146f6e=_0x51e3f8(0x11c);return _0x368e5a?_0xc6fdb6(0x120,_0x146f6e):(_0x3dcd5f(),_0x5233b4(_0x146f6e));}function _0x336652(){var _0x368e5a=_0x51e3f8(0x97);return 0x64!==_0x70b93f()&&0x5f!==_0x70b93f()||(_0x368e5a[_0x1a4e('0x2cb')]=_0x2473ce(),_0x4c6850(0x39)),_0x368e5a[_0x1a4e('0x40')]=_0x186641(),_0x5233b4(_0x368e5a);}function _0x186641(){_0x3faf34[_0x1a4e('0x2663')](!0x0);var _0x368e5a=_0x3b6f68(0x19),_0x146f6e=_0x1da276();if(_0x3faf34[_0x1a4e('0x2663')](!0x1),_0x368e5a){var _0x2327c6=_0x51e3f8(0x122,_0x368e5a[_0x1a4e('0xa4')]);_0x2327c6['type']=_0x146f6e,_0x146f6e=_0x5233b4(_0x2327c6);}return 0x3b===_0x70b93f()?_0xc6fdb6(0x120,_0x146f6e):_0x146f6e;}function _0x4c0ecf(){var _0x368e5a=_0x51e3f8(0x96);return _0x368e5a[_0x1a4e('0x2cb')]=_0xc1d820(),_0xb98295(0x56)&&(_0x38477d()||!_0x39a78b()?_0x368e5a[_0x1a4e('0x2364')]=_0x27abe1():_0x368e5a[_0x1a4e('0x2302')]=_0x119f00()),_0xb98295(0x3b)&&(_0x368e5a[_0x1a4e('0x8')]=_0x27abe1()),_0x5233b4(_0x368e5a);}function _0x296007(){if(0x1c===_0x70b93f())return _0xcbfeda(0x13,_0x4c0ecf,0x1c,0x1e);}function _0x1f9d2f(){if(_0xb98295(0x39))return _0x27abe1();}function _0x2f91b0(_0x146f6e){return 0x19===_0x70b93f()||_0xbcce2c()||_0x368e5a[_0x1a4e('0x2546')](_0x70b93f())||0x3a===_0x70b93f()||_0x38477d(!_0x146f6e);}function _0x49b80b(){var _0x146f6e=_0x2f04f9(0x97);return 0x64===_0x70b93f()?(_0x146f6e['name']=_0x1395b0(!0x0),_0x146f6e[_0x1a4e('0x40')]=_0x1f9d2f(),_0x5233b4(_0x146f6e)):(_0x146f6e[_0x1a4e('0x232f')]=_0x1a812b(),_0x146f6e[_0x1a4e('0x242d')]=_0x163721(),_0x146f6e[_0x1a4e('0x25f9')]=_0x3b6f68(0x19),_0x146f6e[_0x1a4e('0x2cb')]=_0x5d42e5(),0x0===_0x368e5a['getFullWidth'](_0x146f6e[_0x1a4e('0x2cb')])&&!_0x368e5a[_0x1a4e('0x2664')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2546')](_0x70b93f())&&_0x3dcd5f(),_0x146f6e[_0x1a4e('0x23ca')]=_0x3b6f68(0x38),_0x146f6e['type']=_0x1f9d2f(),_0x146f6e['initializer']=_0x5c8a4c(),_0x5233b4(_0x146f6e));}function _0xcbcd10(_0x146f6e,_0x2327c6,_0x55ff7e){0x20&_0x2327c6||(_0x55ff7e[_0x1a4e('0x23d7')]=_0x296007());var _0x1adc17=function(_0x368e5a,_0x146f6e){if(!_0x4c6850(0x14))return _0x368e5a[_0x1a4e('0x111a')]=_0x2eb701(),!0x1;var _0x2327c6=_0x49baf6(),_0x55ff7e=_0x254a44();return _0x15ebe5(!!(0x1&_0x146f6e)),_0xc5ec42(!!(0x2&_0x146f6e)),_0x368e5a[_0x1a4e('0x111a')]=0x20&_0x146f6e?_0x33e076(0x11,_0x336652):_0x33e076(0x10,_0x49b80b),_0x15ebe5(_0x2327c6),_0xc5ec42(_0x55ff7e),_0x4c6850(0x15);}(_0x55ff7e,_0x2327c6);return(!function(_0x146f6e,_0x2327c6){if(0x25===_0x146f6e)return _0x4c6850(_0x146f6e),!0x0;if(_0xb98295(0x39))return!0x0;if(_0x2327c6&&0x25===_0x70b93f())return _0x9850ad(_0x368e5a['Diagnostics'][_0x1a4e('0x2644')],_0x368e5a['tokenToString'](0x39)),_0x3dcd5f(),!0x0;return!0x1;}(_0x146f6e,!!(0x4&_0x2327c6))||(_0x55ff7e['type']=_0x1da276(),!function _0x146f6e(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xa4:return _0x368e5a[_0x1a4e('0x2327')](_0x2327c6[_0x1a4e('0xe7d')]);case 0xa5:case 0xa6:var _0x55ff7e=_0x2327c6,_0x1adc17=_0x55ff7e[_0x1a4e('0x111a')],_0xf79407=_0x55ff7e[_0x1a4e('0x40')];return!!_0x1adc17[_0x1a4e('0x2665')]||_0x146f6e(_0xf79407);case 0xb1:return _0x146f6e(_0x2327c6['type']);default:return!0x1;}}(_0x55ff7e[_0x1a4e('0x40')])))&&_0x1adc17;}function _0x2ebed3(){_0xb98295(0x1b)||_0x407d7b();}function _0x10e394(_0x368e5a){var _0x146f6e=_0x2f04f9(_0x368e5a);return 0xa1===_0x368e5a&&_0x4c6850(0x5f),_0xcbcd10(0x39,0x4,_0x146f6e),_0x2ebed3(),_0x5233b4(_0x146f6e);}function _0x35ad3d(){return 0x16===_0x70b93f()&&_0x53c1e5(_0x164e71);}function _0x164e71(){if(_0x3dcd5f(),0x19===_0x70b93f()||0x17===_0x70b93f())return!0x0;if(_0x368e5a[_0x1a4e('0x2546')](_0x70b93f())){if(_0x3dcd5f(),_0xf83c54())return!0x0;}else{if(!_0xf83c54())return!0x1;_0x3dcd5f();}return 0x39===_0x70b93f()||0x1b===_0x70b93f()||0x38===_0x70b93f()&&(_0x3dcd5f(),0x39===_0x70b93f()||0x1b===_0x70b93f()||0x17===_0x70b93f());}function _0x41d68e(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]=0xa2,_0x368e5a['parameters']=_0xcbfeda(0x10,_0x49b80b,0x16,0x17),_0x368e5a[_0x1a4e('0x40')]=_0x31a509(),_0x2ebed3(),_0x5233b4(_0x368e5a);}function _0x3e9794(){if(0x14===_0x70b93f()||0x1c===_0x70b93f())return!0x0;for(var _0x146f6e=!0x1;_0x368e5a['isModifierKind'](_0x70b93f());)_0x146f6e=!0x0,_0x3dcd5f();return 0x16===_0x70b93f()||(_0xfd41b3()&&(_0x146f6e=!0x0,_0x3dcd5f()),!!_0x146f6e&&(0x14===_0x70b93f()||0x1c===_0x70b93f()||0x38===_0x70b93f()||0x39===_0x70b93f()||0x1b===_0x70b93f()||_0xce0377()));}function _0x44d600(){if(0x14===_0x70b93f()||0x1c===_0x70b93f())return _0x10e394(0xa0);if(0x5f===_0x70b93f()&&_0x53c1e5(_0x423619))return _0x10e394(0xa1);var _0x368e5a=_0x2f04f9(0x0);return _0x368e5a[_0x1a4e('0x242d')]=_0x163721(),_0x35ad3d()?_0x41d68e(_0x368e5a):function(_0x368e5a){return _0x368e5a['name']=_0xdf81f(),_0x368e5a[_0x1a4e('0x23ca')]=_0x3b6f68(0x38),0x14===_0x70b93f()||0x1c===_0x70b93f()?(_0x368e5a[_0x1a4e('0x146b')]=0x9b,_0xcbcd10(0x39,0x4,_0x368e5a)):(_0x368e5a['kind']=0x99,_0x368e5a[_0x1a4e('0x40')]=_0x31a509(),0x3b===_0x70b93f()&&(_0x368e5a[_0x1a4e('0x236a')]=_0x5c8a4c())),_0x2ebed3(),_0x5233b4(_0x368e5a);}(_0x368e5a);}function _0x423619(){return _0x3dcd5f(),0x14===_0x70b93f()||0x1c===_0x70b93f();}function _0x1d9fca(){return 0x18===_0x3dcd5f();}function _0x53658c(){switch(_0x3dcd5f()){case 0x14:case 0x1c:case 0x18:return!0x0;}return!0x1;}function _0x239d8a(){var _0x368e5a;return _0x4c6850(0x12)?(_0x368e5a=_0x51525c(0x4,_0x44d600),_0x4c6850(0x13)):_0x368e5a=_0x2eb701(),_0x368e5a;}function _0x4b0d0b(){return _0x3dcd5f(),0x26===_0x70b93f()||0x27===_0x70b93f()?0x85===_0x3dcd5f():(0x85===_0x70b93f()&&_0x3dcd5f(),0x16===_0x70b93f()&&_0x4595b9()&&0x5d===_0x3dcd5f());}function _0x559321(){var _0x368e5a=_0x51e3f8(0xb5);return _0x4c6850(0x12),0x85!==_0x70b93f()&&0x26!==_0x70b93f()&&0x27!==_0x70b93f()||(_0x368e5a['readonlyToken']=_0x2cb5b9(),0x85!==_0x368e5a[_0x1a4e('0x2666')][_0x1a4e('0x146b')]&&_0x1332fc(0x85)),_0x4c6850(0x16),_0x368e5a['typeParameter']=function(){var _0x368e5a=_0x51e3f8(0x96);return _0x368e5a[_0x1a4e('0x2cb')]=_0xc1d820(),_0x4c6850(0x5d),_0x368e5a[_0x1a4e('0x2364')]=_0x27abe1(),_0x5233b4(_0x368e5a);}(),_0x4c6850(0x17),0x38!==_0x70b93f()&&0x26!==_0x70b93f()&&0x27!==_0x70b93f()||(_0x368e5a[_0x1a4e('0x23ca')]=_0x2cb5b9(),0x38!==_0x368e5a[_0x1a4e('0x23ca')][_0x1a4e('0x146b')]&&_0x1332fc(0x38)),_0x368e5a[_0x1a4e('0x40')]=_0x31a509(),_0x407d7b(),_0x4c6850(0x13),_0x5233b4(_0x368e5a);}function _0x4dd0e7(){var _0x368e5a=_0x36f1b9();if(_0xb98295(0x19)){var _0x146f6e=_0x51e3f8(0xac,_0x368e5a);return _0x146f6e[_0x1a4e('0x40')]=_0x27abe1(),_0x5233b4(_0x146f6e);}var _0x2327c6=_0x27abe1();return 0x200000&_0x5ec4c1||0x11e!==_0x2327c6[_0x1a4e('0x146b')]||_0x2327c6[_0x1a4e('0xa4')]!==_0x2327c6[_0x1a4e('0x40')][_0x1a4e('0xa4')]||(_0x2327c6[_0x1a4e('0x146b')]=0xab),_0x2327c6;}function _0x3a5ae8(){var _0x368e5a=_0x2cb5b9();return 0x18===_0x70b93f()?void 0x0:_0x368e5a;}function _0x10a279(_0x368e5a){var _0x146f6e,_0x2327c6=_0x51e3f8(0xb6);_0x368e5a&&((_0x146f6e=_0x51e3f8(0xca))[_0x1a4e('0x1474')]=0x27,_0x3dcd5f());var _0x55ff7e=0x66===_0x70b93f()||0x57===_0x70b93f()?_0x2cb5b9():_0x2d2020(_0x70b93f());return _0x368e5a&&(_0x146f6e[_0x1a4e('0x1784')]=_0x55ff7e,_0x5233b4(_0x146f6e),_0x55ff7e=_0x146f6e),_0x2327c6['literal']=_0x55ff7e,_0x5233b4(_0x2327c6);}function _0x5c93a6(){return _0x3dcd5f(),0x5c===_0x70b93f();}function _0x308297(){_0x2c9ec9[_0x1a4e('0x7b2')]|=0x80000;var _0x146f6e=_0x51e3f8(0xb7);return _0xb98295(0x68)&&(_0x146f6e['isTypeOf']=!0x0),_0x4c6850(0x5c),_0x4c6850(0x14),_0x146f6e[_0x1a4e('0x2300')]=_0x27abe1(),_0x4c6850(0x15),_0xb98295(0x18)&&(_0x146f6e['qualifier']=_0x5ab5e9(!0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x265a')])),_0x146f6e[_0x1a4e('0x2365')]=_0x37501b(),_0x5233b4(_0x146f6e);}function _0x51d627(){return _0x3dcd5f(),0x8===_0x70b93f()||0x9===_0x70b93f();}function _0x230db4(){switch(_0x70b93f()){case 0x78:case 0x8f:case 0x8a:case 0x87:case 0x92:case 0x8b:case 0x7b:case 0x8d:case 0x84:case 0x88:return _0x1b727c(_0x3a5ae8)||_0x58fb82();case 0x28:return _0x171869(!0x1);case 0x3e:return _0x171869(!0x0);case 0x38:return _0x55ff7e=_0x3faf34[_0x1a4e('0x2645')](),_0x3dcd5f(),0x1b===_0x70b93f()||0x13===_0x70b93f()||0x15===_0x70b93f()||0x1e===_0x70b93f()||0x3b===_0x70b93f()||0x32===_0x70b93f()?_0x5233b4(_0x2327c6=_0x51e3f8(0x11d,_0x55ff7e)):((_0x2327c6=_0x51e3f8(0x11e,_0x55ff7e))[_0x1a4e('0x40')]=_0x27abe1(),_0x5233b4(_0x2327c6));case 0x5a:return function(){if(_0x53c1e5(_0x47313c)){var _0x368e5a=_0x2f04f9(0x121);return _0x3dcd5f(),_0xcbcd10(0x39,0x24,_0x368e5a),_0x5233b4(_0x368e5a);}var _0x146f6e=_0x51e3f8(0xa4);return _0x146f6e[_0x1a4e('0xe7d')]=_0x2473ce(),_0x5233b4(_0x146f6e);}();case 0x34:return function(){var _0x368e5a=_0x51e3f8(0x11f);return _0x3dcd5f(),_0x368e5a[_0x1a4e('0x40')]=_0x230db4(),_0x5233b4(_0x368e5a);}();case 0xe:case 0xa:case 0x8:case 0x9:case 0x66:case 0x57:return _0x10a279();case 0x27:return _0x53c1e5(_0x51d627)?_0x10a279(!0x0):_0x58fb82();case 0x6a:case 0x60:return _0x2cb5b9();case 0x64:var _0x368e5a=(_0x146f6e=_0x51e3f8(0xb2),_0x3dcd5f(),_0x5233b4(_0x146f6e));return 0x80!==_0x70b93f()||_0x3faf34[_0x1a4e('0x265c')]()?_0x368e5a:function(_0x368e5a){_0x3dcd5f();var _0x146f6e=_0x51e3f8(0xa3,_0x368e5a[_0x1a4e('0xa4')]);return _0x146f6e[_0x1a4e('0x2667')]=_0x368e5a,_0x146f6e['type']=_0x27abe1(),_0x5233b4(_0x146f6e);}(_0x368e5a);case 0x68:return _0x53c1e5(_0x5c93a6)?_0x308297():function(){var _0x368e5a=_0x51e3f8(0xa7);return _0x4c6850(0x68),_0x368e5a[_0x1a4e('0x25fb')]=_0x5ab5e9(!0x0),_0x5233b4(_0x368e5a);}();case 0x12:return _0x53c1e5(_0x4b0d0b)?_0x559321():function(){var _0x368e5a=_0x51e3f8(0xa8);return _0x368e5a[_0x1a4e('0x2369')]=_0x239d8a(),_0x5233b4(_0x368e5a);}();case 0x16:return function(){var _0x368e5a=_0x51e3f8(0xaa);return _0x368e5a[_0x1a4e('0x25fc')]=_0xcbfeda(0x15,_0x4dd0e7,0x16,0x17),_0x5233b4(_0x368e5a);}();case 0x14:return function(){var _0x368e5a=_0x51e3f8(0xb1);return _0x4c6850(0x14),_0x368e5a['type']=_0x27abe1(),_0x4c6850(0x15),_0x5233b4(_0x368e5a);}();case 0x5c:return _0x308297();default:return _0x58fb82();}var _0x146f6e,_0x2327c6,_0x55ff7e;}function _0x38477d(_0x368e5a){switch(_0x70b93f()){case 0x78:case 0x8f:case 0x8a:case 0x87:case 0x92:case 0x7b:case 0x8b:case 0x8e:case 0x6a:case 0x8d:case 0x60:case 0x64:case 0x68:case 0x84:case 0x12:case 0x16:case 0x1c:case 0x32:case 0x31:case 0x5f:case 0xa:case 0x8:case 0x9:case 0x66:case 0x57:case 0x88:case 0x28:case 0x38:case 0x34:case 0x19:case 0x7f:case 0x5c:return!0x0;case 0x5a:return!_0x368e5a;case 0x27:return!_0x368e5a&&_0x53c1e5(_0x51d627);case 0x14:return!_0x368e5a&&_0x53c1e5(_0x537d31);default:return _0xf83c54();}}function _0x537d31(){return _0x3dcd5f(),0x15===_0x70b93f()||_0x2f91b0(!0x1)||_0x38477d();}function _0xc6fdb6(_0x368e5a,_0x146f6e){_0x3dcd5f();var _0x2327c6=_0x51e3f8(_0x368e5a,_0x146f6e[_0x1a4e('0xa4')]);return _0x2327c6[_0x1a4e('0x40')]=_0x146f6e,_0x5233b4(_0x2327c6);}function _0x19390a(){var _0x368e5a=_0x70b93f();switch(_0x368e5a){case 0x81:case 0x8e:return function(_0x368e5a){var _0x146f6e=_0x51e3f8(0xb3);return _0x4c6850(_0x368e5a),_0x146f6e[_0x1a4e('0x1474')]=_0x368e5a,_0x146f6e[_0x1a4e('0x40')]=_0x19390a(),_0x5233b4(_0x146f6e);}(_0x368e5a);case 0x7f:return function(){var _0x368e5a=_0x51e3f8(0xb0);_0x4c6850(0x7f);var _0x146f6e=_0x51e3f8(0x96);return _0x146f6e['name']=_0xc1d820(),_0x368e5a[_0x1a4e('0x2668')]=_0x5233b4(_0x146f6e),_0x5233b4(_0x368e5a);}();}return function(){for(var _0x368e5a=_0x230db4();!_0x3faf34['hasPrecedingLineBreak']();)switch(_0x70b93f()){case 0x34:_0x368e5a=_0xc6fdb6(0x11f,_0x368e5a);break;case 0x38:if(!(0x200000&_0x5ec4c1)&&_0x53c1e5(_0x3a0e53))return _0x368e5a;_0x368e5a=_0xc6fdb6(0x11e,_0x368e5a);break;case 0x16:var _0x146f6e;_0x4c6850(0x16),_0x38477d()?((_0x146f6e=_0x51e3f8(0xb4,_0x368e5a[_0x1a4e('0xa4')]))[_0x1a4e('0x2601')]=_0x368e5a,_0x146f6e[_0x1a4e('0x2669')]=_0x27abe1(),_0x4c6850(0x17),_0x368e5a=_0x5233b4(_0x146f6e)):((_0x146f6e=_0x51e3f8(0xa9,_0x368e5a[_0x1a4e('0xa4')]))[_0x1a4e('0x2388')]=_0x368e5a,_0x4c6850(0x17),_0x368e5a=_0x5233b4(_0x146f6e));break;default:return _0x368e5a;}return _0x368e5a;}();}function _0x17ac8b(_0x368e5a,_0x146f6e,_0x2327c6){_0xb98295(_0x2327c6);var _0x55ff7e=_0x146f6e();if(_0x70b93f()===_0x2327c6){for(var _0x1adc17=[_0x55ff7e];_0xb98295(_0x2327c6);)_0x1adc17[_0x1a4e('0x46')](_0x146f6e());var _0xf79407=_0x51e3f8(_0x368e5a,_0x55ff7e[_0x1a4e('0xa4')]);_0xf79407[_0x1a4e('0x2380')]=_0x4a58af(_0x1adc17,_0x55ff7e[_0x1a4e('0xa4')]),_0x55ff7e=_0x5233b4(_0xf79407);}return _0x55ff7e;}function _0x3f8cf4(){return _0x17ac8b(0xae,_0x19390a,0x31);}function _0x58a2eb(){if(_0x3dcd5f(),0x15===_0x70b93f()||0x19===_0x70b93f())return!0x0;if(function(){if(_0x368e5a['isModifierKind'](_0x70b93f())&&_0x163721(),_0xf83c54()||0x64===_0x70b93f())return _0x3dcd5f(),!0x0;if(0x16===_0x70b93f()||0x12===_0x70b93f()){var _0x146f6e=_0x420b32[_0x1a4e('0x1e')];return _0x5d42e5(),_0x146f6e===_0x420b32[_0x1a4e('0x1e')];}return!0x1;}()){if(0x39===_0x70b93f()||0x1b===_0x70b93f()||0x38===_0x70b93f()||0x3b===_0x70b93f())return!0x0;if(0x15===_0x70b93f()&&(_0x3dcd5f(),0x25===_0x70b93f()))return!0x0;}return!0x1;}function _0x1da276(){var _0x368e5a=_0xf83c54()&&_0x1b727c(_0x244658),_0x146f6e=_0x27abe1();if(_0x368e5a){var _0x2327c6=_0x51e3f8(0xa3,_0x368e5a[_0x1a4e('0xa4')]);return _0x2327c6[_0x1a4e('0x2667')]=_0x368e5a,_0x2327c6[_0x1a4e('0x40')]=_0x146f6e,_0x5233b4(_0x2327c6);}return _0x146f6e;}function _0x244658(){var _0x368e5a=_0xc1d820();if(0x80===_0x70b93f()&&!_0x3faf34[_0x1a4e('0x265c')]())return _0x3dcd5f(),_0x368e5a;}function _0x27abe1(){return _0x356af3(0x5000,_0x2e5392);}function _0x2e5392(_0x368e5a){if(0x1c===_0x70b93f()||0x14===_0x70b93f()&&_0x53c1e5(_0x58a2eb)||0x5f===_0x70b93f())return function(){var _0x368e5a=_0x36f1b9(),_0x146f6e=_0x2f04f9(_0xb98295(0x5f)?0xa6:0xa5,_0x368e5a);return _0xcbcd10(0x25,0x4,_0x146f6e),_0x5233b4(_0x146f6e);}();var _0x146f6e=_0x17ac8b(0xad,_0x3f8cf4,0x32);if(!_0x368e5a&&!_0x3faf34['hasPrecedingLineBreak']()&&_0xb98295(0x56)){var _0x2327c6=_0x51e3f8(0xaf,_0x146f6e[_0x1a4e('0xa4')]);return _0x2327c6['checkType']=_0x146f6e,_0x2327c6[_0x1a4e('0x25fe')]=_0x2e5392(!0x0),_0x4c6850(0x38),_0x2327c6['trueType']=_0x2e5392(),_0x4c6850(0x39),_0x2327c6[_0x1a4e('0x266a')]=_0x2e5392(),_0x5233b4(_0x2327c6);}return _0x146f6e;}function _0x31a509(){return _0xb98295(0x39)?_0x27abe1():void 0x0;}function _0x3c4834(){switch(_0x70b93f()){case 0x64:case 0x62:case 0x60:case 0x66:case 0x57:case 0x8:case 0x9:case 0xa:case 0xe:case 0xf:case 0x14:case 0x16:case 0x12:case 0x5a:case 0x4c:case 0x5f:case 0x2a:case 0x40:case 0x48:return!0x0;case 0x5c:return _0x53c1e5(_0x53658c);default:return _0xf83c54();}}function _0x39a78b(){if(_0x3c4834())return!0x0;switch(_0x70b93f()){case 0x26:case 0x27:case 0x35:case 0x34:case 0x51:case 0x68:case 0x6a:case 0x2c:case 0x2d:case 0x1c:case 0x7a:case 0x75:return!0x0;default:return!!function(){if(_0x11c1be()&&0x5d===_0x70b93f())return!0x1;return _0x368e5a['getBinaryOperatorPrecedence'](_0x70b93f())>0x0;}()||_0xf83c54();}}function _0x3ae484(){var _0x368e5a=_0x284bd2();_0x368e5a&&_0x4df929(!0x1);for(var _0x146f6e,_0x2327c6=_0x541728();_0x146f6e=_0x3b6f68(0x1b);)_0x2327c6=_0x204b2b(_0x2327c6,_0x146f6e,_0x541728());return _0x368e5a&&_0x4df929(!0x0),_0x2327c6;}function _0x5c8a4c(){return _0xb98295(0x3b)?_0x541728():void 0x0;}function _0x541728(){if(function(){if(0x75===_0x70b93f())return!!_0x49baf6()||_0x53c1e5(_0x1cd956);return!0x1;}())return _0x146f6e=_0x51e3f8(0xcf),_0x3dcd5f(),_0x3faf34['hasPrecedingLineBreak']()||0x28!==_0x70b93f()&&!_0x39a78b()?_0x5233b4(_0x146f6e):(_0x146f6e[_0x1a4e('0x23fc')]=_0x3b6f68(0x28),_0x146f6e[_0x1a4e('0x2302')]=_0x541728(),_0x5233b4(_0x146f6e));var _0x146f6e,_0x2327c6=function(){var _0x146f6e=function(){if(0x14===_0x70b93f()||0x1c===_0x70b93f()||0x79===_0x70b93f())return _0x53c1e5(_0x54f57b);if(0x25===_0x70b93f())return 0x1;return 0x0;}();if(0x0===_0x146f6e)return;var _0x2327c6=0x1===_0x146f6e?_0x14ffef(!0x0):_0x1b727c(_0x7f811b);if(!_0x2327c6)return;var _0x55ff7e=_0x368e5a['hasModifier'](_0x2327c6,0x100),_0x1adc17=_0x70b93f();return _0x2327c6[_0x1a4e('0x25fa')]=_0x1332fc(0x25),_0x2327c6[_0x1a4e('0x8f2')]=0x25===_0x1adc17||0x12===_0x1adc17?_0x55fd14(_0x55ff7e):_0xc1d820(),_0x5233b4(_0x2327c6);}()||function(){if(0x79===_0x70b93f()&&0x1===_0x53c1e5(_0x360a58)){var _0x368e5a=_0x103c3b(),_0x146f6e=_0x315d72(0x0);return _0x3f858b(_0x146f6e,_0x368e5a);}return;}();if(_0x2327c6)return _0x2327c6;var _0x55ff7e=_0x315d72(0x0);return 0x48===_0x55ff7e[_0x1a4e('0x146b')]&&0x25===_0x70b93f()?_0x3f858b(_0x55ff7e):_0x368e5a['isLeftHandSideExpression'](_0x55ff7e)&&_0x368e5a[_0x1a4e('0x2460')](_0x30f5bb())?_0x204b2b(_0x55ff7e,_0x2cb5b9(),_0x541728()):function(_0x146f6e){var _0x2327c6=_0x3b6f68(0x38);if(!_0x2327c6)return _0x146f6e;var _0x55ff7e=_0x51e3f8(0xcd,_0x146f6e[_0x1a4e('0xa4')]);return _0x55ff7e[_0x1a4e('0x236b')]=_0x146f6e,_0x55ff7e[_0x1a4e('0x23ca')]=_0x2327c6,_0x55ff7e[_0x1a4e('0x2602')]=_0x356af3(_0x17377b,_0x541728),_0x55ff7e['colonToken']=_0x1332fc(0x39),_0x55ff7e[_0x1a4e('0x2604')]=_0x368e5a['nodeIsPresent'](_0x55ff7e['colonToken'])?_0x541728():_0xa004e8(0x48,!0x1,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2644')],_0x368e5a[_0x1a4e('0x22ba')](0x39)),_0x5233b4(_0x55ff7e);}(_0x55ff7e);}function _0x3f858b(_0x146f6e,_0x2327c6){var _0x55ff7e;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x25===_0x70b93f(),_0x1a4e('0x266b')),_0x2327c6?(_0x55ff7e=_0x51e3f8(0xc5,_0x2327c6[_0x1a4e('0xa4')]))['modifiers']=_0x2327c6:_0x55ff7e=_0x51e3f8(0xc5,_0x146f6e[_0x1a4e('0xa4')]);var _0x1adc17=_0x51e3f8(0x97,_0x146f6e[_0x1a4e('0xa4')]);return _0x1adc17['name']=_0x146f6e,_0x5233b4(_0x1adc17),_0x55ff7e[_0x1a4e('0x111a')]=_0x4a58af([_0x1adc17],_0x1adc17['pos'],_0x1adc17['end']),_0x55ff7e['equalsGreaterThanToken']=_0x1332fc(0x25),_0x55ff7e[_0x1a4e('0x8f2')]=_0x55fd14(!!_0x2327c6),_0x54d855(_0x5233b4(_0x55ff7e));}function _0x54f57b(){if(0x79===_0x70b93f()){if(_0x3dcd5f(),_0x3faf34['hasPrecedingLineBreak']())return 0x0;if(0x14!==_0x70b93f()&&0x1c!==_0x70b93f())return 0x0;}var _0x146f6e=_0x70b93f(),_0x2327c6=_0x3dcd5f();if(0x14===_0x146f6e){if(0x15===_0x2327c6)switch(_0x3dcd5f()){case 0x25:case 0x39:case 0x12:return 0x1;default:return 0x0;}if(0x16===_0x2327c6||0x12===_0x2327c6)return 0x2;if(0x19===_0x2327c6)return 0x1;if(_0x368e5a[_0x1a4e('0x2546')](_0x2327c6)&&0x79!==_0x2327c6&&_0x53c1e5(_0x4595b9))return 0x1;if(!_0xf83c54()&&0x64!==_0x2327c6)return 0x0;switch(_0x3dcd5f()){case 0x39:return 0x1;case 0x38:return _0x3dcd5f(),0x39===_0x70b93f()||0x1b===_0x70b93f()||0x3b===_0x70b93f()||0x15===_0x70b93f()?0x1:0x0;case 0x1b:case 0x3b:case 0x15:return 0x2;}return 0x0;}return _0x368e5a[_0x1a4e('0x1749')]['assert'](0x1c===_0x146f6e),_0xf83c54()?0x1===_0x2c9ec9['languageVariant']?_0x53c1e5(function(){var _0x368e5a=_0x3dcd5f();if(0x56===_0x368e5a)switch(_0x3dcd5f()){case 0x3b:case 0x1e:return!0x1;default:return!0x0;}else if(0x1b===_0x368e5a)return!0x0;return!0x1;})?0x1:0x0:0x2:0x0;}function _0x7f811b(){return _0x14ffef(!0x1);}function _0x360a58(){if(0x79===_0x70b93f()){if(_0x3dcd5f(),_0x3faf34[_0x1a4e('0x265c')]()||0x25===_0x70b93f())return 0x0;var _0x368e5a=_0x315d72(0x0);if(!_0x3faf34[_0x1a4e('0x265c')]()&&0x48===_0x368e5a[_0x1a4e('0x146b')]&&0x25===_0x70b93f())return 0x1;}return 0x0;}function _0x14ffef(_0x146f6e){var _0x2327c6=_0x2f04f9(0xc5);if(_0x2327c6[_0x1a4e('0x242d')]=_0x103c3b(),(_0xcbcd10(0x39,_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x100)?0x2:0x0,_0x2327c6)||_0x146f6e)&&(_0x146f6e||0x25===_0x70b93f()||0x12===_0x70b93f()))return _0x2327c6;}function _0x55fd14(_0x368e5a){return 0x12===_0x70b93f()?_0x58786e(_0x368e5a?0x2:0x0):0x1a===_0x70b93f()||0x5a===_0x70b93f()||0x4c===_0x70b93f()||!_0x4efd9b()||0x12!==_0x70b93f()&&0x5a!==_0x70b93f()&&0x4c!==_0x70b93f()&&0x3a!==_0x70b93f()&&_0x39a78b()?_0x368e5a?_0x140415(_0x541728):_0x356af3(0x4000,_0x541728):_0x58786e(0x10|(_0x368e5a?0x2:0x0));}function _0x315d72(_0x368e5a){return _0x4f78a0(_0x368e5a,_0x119f00());}function _0x3b43fc(_0x368e5a){return 0x5d===_0x368e5a||0x93===_0x368e5a;}function _0x4f78a0(_0x146f6e,_0x2327c6){for(;;){_0x30f5bb();var _0x55ff7e=_0x368e5a['getBinaryOperatorPrecedence'](_0x70b93f());if(!(0x29===_0x70b93f()?_0x55ff7e>=_0x146f6e:_0x55ff7e>_0x146f6e))break;if(0x5d===_0x70b93f()&&_0x11c1be())break;if(0x77===_0x70b93f()){if(_0x3faf34[_0x1a4e('0x265c')]())break;_0x3dcd5f(),_0x2327c6=_0xc46b2c(_0x2327c6,_0x27abe1());}else _0x2327c6=_0x204b2b(_0x2327c6,_0x2cb5b9(),_0x315d72(_0x55ff7e));}return _0x2327c6;}function _0x204b2b(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x51e3f8(0xcc,_0x368e5a[_0x1a4e('0xa4')]);return _0x55ff7e['left']=_0x368e5a,_0x55ff7e[_0x1a4e('0x237a')]=_0x146f6e,_0x55ff7e['right']=_0x2327c6,_0x5233b4(_0x55ff7e);}function _0xc46b2c(_0x368e5a,_0x146f6e){var _0x2327c6=_0x51e3f8(0xd4,_0x368e5a[_0x1a4e('0xa4')]);return _0x2327c6['expression']=_0x368e5a,_0x2327c6['type']=_0x146f6e,_0x5233b4(_0x2327c6);}function _0x319efc(){var _0x368e5a=_0x51e3f8(0xca);return _0x368e5a[_0x1a4e('0x1474')]=_0x70b93f(),_0x3dcd5f(),_0x368e5a['operand']=_0xe5a7ad(),_0x5233b4(_0x368e5a);}function _0x119f00(){if(function(){switch(_0x70b93f()){case 0x26:case 0x27:case 0x35:case 0x34:case 0x51:case 0x68:case 0x6a:case 0x7a:return!0x1;case 0x1c:if(0x1!==_0x2c9ec9[_0x1a4e('0x22f7')])return!0x1;default:return!0x0;}}()){var _0x146f6e=_0x2ea794();return 0x29===_0x70b93f()?_0x4f78a0(_0x368e5a['getBinaryOperatorPrecedence'](_0x70b93f()),_0x146f6e):_0x146f6e;}var _0x2327c6=_0x70b93f(),_0x55ff7e=_0xe5a7ad();if(0x29===_0x70b93f()){var _0x1adc17=_0x368e5a[_0x1a4e('0x22c6')](_0x524297,_0x55ff7e[_0x1a4e('0xa4')]),_0xf79407=_0x55ff7e[_0x1a4e('0xca')];0xc2===_0x55ff7e[_0x1a4e('0x146b')]?_0x36609c(_0x1adc17,_0xf79407,_0x368e5a[_0x1a4e('0x167d')]['A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses']):_0x36609c(_0x1adc17,_0xf79407,_0x368e5a[_0x1a4e('0x167d')]['An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses'],_0x368e5a[_0x1a4e('0x22ba')](_0x2327c6));}return _0x55ff7e;}function _0xe5a7ad(){switch(_0x70b93f()){case 0x26:case 0x27:case 0x35:case 0x34:return _0x319efc();case 0x51:return _0x368e5a=_0x51e3f8(0xc6),_0x3dcd5f(),_0x368e5a[_0x1a4e('0x2302')]=_0xe5a7ad(),_0x5233b4(_0x368e5a);case 0x68:return function(){var _0x368e5a=_0x51e3f8(0xc7);return _0x3dcd5f(),_0x368e5a[_0x1a4e('0x2302')]=_0xe5a7ad(),_0x5233b4(_0x368e5a);}();case 0x6a:return function(){var _0x368e5a=_0x51e3f8(0xc8);return _0x3dcd5f(),_0x368e5a[_0x1a4e('0x2302')]=_0xe5a7ad(),_0x5233b4(_0x368e5a);}();case 0x1c:return function(){var _0x368e5a=_0x51e3f8(0xc2);return _0x4c6850(0x1c),_0x368e5a[_0x1a4e('0x40')]=_0x27abe1(),_0x4c6850(0x1e),_0x368e5a[_0x1a4e('0x2302')]=_0xe5a7ad(),_0x5233b4(_0x368e5a);}();case 0x7a:if(0x7a===_0x70b93f()&&(_0x254a44()||_0x53c1e5(_0x1cd956)))return function(){var _0x368e5a=_0x51e3f8(0xc9);return _0x3dcd5f(),_0x368e5a[_0x1a4e('0x2302')]=_0xe5a7ad(),_0x5233b4(_0x368e5a);}();default:return _0x2ea794();}var _0x368e5a;}function _0x2ea794(){if(0x2c===_0x70b93f()||0x2d===_0x70b93f())return(_0x146f6e=_0x51e3f8(0xca))[_0x1a4e('0x1474')]=_0x70b93f(),_0x3dcd5f(),_0x146f6e[_0x1a4e('0x1784')]=_0x32a585(),_0x5233b4(_0x146f6e);if(0x1===_0x2c9ec9['languageVariant']&&0x1c===_0x70b93f()&&_0x53c1e5(_0x1d3d03))return _0x4d88fc(!0x0);var _0x146f6e,_0x2327c6=_0x32a585();return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a['isLeftHandSideExpression'](_0x2327c6)),0x2c!==_0x70b93f()&&0x2d!==_0x70b93f()||_0x3faf34['hasPrecedingLineBreak']()?_0x2327c6:((_0x146f6e=_0x51e3f8(0xcb,_0x2327c6[_0x1a4e('0xa4')]))[_0x1a4e('0x1784')]=_0x2327c6,_0x146f6e[_0x1a4e('0x1474')]=_0x70b93f(),_0x3dcd5f(),_0x5233b4(_0x146f6e));}function _0x32a585(){var _0x146f6e;if(0x5c===_0x70b93f())if(_0x53c1e5(_0x423619))_0x2c9ec9['flags']|=0x80000,_0x146f6e=_0x2cb5b9();else if(_0x53c1e5(_0x1d9fca)){var _0x2327c6=_0x3faf34['getStartPos']();_0x3dcd5f(),_0x3dcd5f();var _0x55ff7e=_0x51e3f8(0xd6,_0x2327c6);_0x55ff7e['keywordToken']=0x5c,_0x55ff7e[_0x1a4e('0x2cb')]=_0x2473ce(),_0x146f6e=_0x5233b4(_0x55ff7e),_0x2c9ec9[_0x1a4e('0x7b2')]|=0x100000;}else _0x146f6e=_0x253c52();else _0x146f6e=0x62===_0x70b93f()?function(){var _0x146f6e=_0x2cb5b9();if(0x14===_0x70b93f()||0x18===_0x70b93f()||0x16===_0x70b93f())return _0x146f6e;var _0x2327c6=_0x51e3f8(0xbd,_0x146f6e[_0x1a4e('0xa4')]);return _0x2327c6[_0x1a4e('0x2302')]=_0x146f6e,_0x1332fc(0x18,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x266c')]),_0x2327c6[_0x1a4e('0x2cb')]=_0x57e3a2(!0x0),_0x5233b4(_0x2327c6);}():_0x253c52();return function(_0x368e5a){for(;;)if(_0x368e5a=_0x73256b(_0x368e5a),0x1c!==_0x70b93f()){if(0x14!==_0x70b93f())return _0x368e5a;var _0x146f6e=_0x51e3f8(0xbf,_0x368e5a[_0x1a4e('0xa4')]);_0x146f6e[_0x1a4e('0x2302')]=_0x368e5a,_0x146f6e[_0x1a4e('0x2373')]=_0x1f9e2c(),_0x368e5a=_0x5233b4(_0x146f6e);}else{var _0x2327c6=_0x1b727c(_0x34906b);if(!_0x2327c6)return _0x368e5a;if(_0x13e4ae()){_0x368e5a=_0x1f88ab(_0x368e5a,_0x2327c6);continue;}var _0x146f6e=_0x51e3f8(0xbf,_0x368e5a[_0x1a4e('0xa4')]);_0x146f6e['expression']=_0x368e5a,_0x146f6e[_0x1a4e('0x2365')]=_0x2327c6,_0x146f6e['arguments']=_0x1f9e2c(),_0x368e5a=_0x5233b4(_0x146f6e);}}(_0x146f6e);}function _0x253c52(){return _0x73256b(_0x30dc89());}function _0x4d88fc(_0x146f6e){var _0x2327c6,_0x55ff7e=function(_0x368e5a){var _0x146f6e=_0x3faf34['getStartPos']();if(_0x4c6850(0x1c),0x1e===_0x70b93f()){var _0x2327c6=_0x51e3f8(0x109,_0x146f6e);return _0x485cb8(),_0x5233b4(_0x2327c6);}var _0x55ff7e,_0x1adc17=_0x1402a3(),_0xf79407=_0x37501b(),_0x2c9ec9=(_0x420b32=_0x51e3f8(0x10c),_0x420b32[_0x1a4e('0x13')]=_0x51525c(0xd,_0x1fe366),_0x5233b4(_0x420b32));var _0x420b32;0x1e===_0x70b93f()?(_0x55ff7e=_0x51e3f8(0x106,_0x146f6e),_0x485cb8()):(_0x4c6850(0x2a),_0x368e5a?_0x4c6850(0x1e):(_0x4c6850(0x1e,void 0x0,!0x1),_0x485cb8()),_0x55ff7e=_0x51e3f8(0x105,_0x146f6e));return _0x55ff7e['tagName']=_0x1adc17,_0x55ff7e[_0x1a4e('0x2365')]=_0xf79407,_0x55ff7e[_0x1a4e('0x266d')]=_0x2c9ec9,_0x5233b4(_0x55ff7e);}(_0x146f6e);if(0x106===_0x55ff7e[_0x1a4e('0x146b')])(_0x1adc17=_0x51e3f8(0x104,_0x55ff7e[_0x1a4e('0xa4')]))['openingElement']=_0x55ff7e,_0x1adc17[_0x1a4e('0x6f')]=_0x2f1ea9(_0x1adc17[_0x1a4e('0x260f')]),_0x1adc17[_0x1a4e('0x266e')]=function(_0x368e5a){var _0x146f6e=_0x51e3f8(0x107);_0x4c6850(0x1d),_0x146f6e[_0x1a4e('0x132b')]=_0x1402a3(),_0x368e5a?_0x4c6850(0x1e):(_0x4c6850(0x1e,void 0x0,!0x1),_0x485cb8());return _0x5233b4(_0x146f6e);}(_0x146f6e),_0xe9bb0f(_0x1adc17[_0x1a4e('0x260f')]['tagName'],_0x1adc17[_0x1a4e('0x266e')][_0x1a4e('0x132b')])||_0x2ed0b5(_0x1adc17['closingElement'],_0x368e5a['Diagnostics']['Expected_corresponding_JSX_closing_tag_for_0'],_0x368e5a['getTextOfNodeFromSourceText'](_0x524297,_0x1adc17[_0x1a4e('0x260f')][_0x1a4e('0x132b')])),_0x2327c6=_0x5233b4(_0x1adc17);else if(0x109===_0x55ff7e[_0x1a4e('0x146b')]){var _0x1adc17;(_0x1adc17=_0x51e3f8(0x108,_0x55ff7e[_0x1a4e('0xa4')]))[_0x1a4e('0x2610')]=_0x55ff7e,_0x1adc17['children']=_0x2f1ea9(_0x1adc17[_0x1a4e('0x2610')]),_0x1adc17['closingFragment']=function(_0x146f6e){var _0x2327c6=_0x51e3f8(0x10a);_0x4c6850(0x1d),_0x368e5a[_0x1a4e('0x2298')](_0x70b93f())&&_0x2ed0b5(_0x1402a3(),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x266f')]);_0x146f6e?_0x4c6850(0x1e):(_0x4c6850(0x1e,void 0x0,!0x1),_0x485cb8());return _0x5233b4(_0x2327c6);}(_0x146f6e),_0x2327c6=_0x5233b4(_0x1adc17);}else _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x105===_0x55ff7e[_0x1a4e('0x146b')]),_0x2327c6=_0x55ff7e;if(_0x146f6e&&0x1c===_0x70b93f()){var _0xf79407=_0x1b727c(function(){return _0x4d88fc(!0x0);});if(_0xf79407){_0x9850ad(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2670')]);var _0x2c9ec9=_0x51e3f8(0xcc,_0x2327c6[_0x1a4e('0xa4')]);return _0x2c9ec9[_0x1a4e('0xca')]=_0xf79407['end'],_0x2c9ec9[_0x1a4e('0x5f')]=_0x2327c6,_0x2c9ec9[_0x1a4e('0x5d')]=_0xf79407,_0x2c9ec9['operatorToken']=_0xa004e8(0x1b,!0x1,void 0x0),_0x2c9ec9[_0x1a4e('0x237a')][_0x1a4e('0xa4')]=_0x2c9ec9['operatorToken'][_0x1a4e('0xca')]=_0x2c9ec9[_0x1a4e('0x5d')]['pos'],_0x2c9ec9;}}return _0x2327c6;}function _0x4dacf2(_0x146f6e,_0x2327c6){switch(_0x2327c6){case 0x1:return void(_0x368e5a[_0x1a4e('0x252a')](_0x146f6e)?_0x2ed0b5(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2671')]):_0x2ed0b5(_0x146f6e[_0x1a4e('0x132b')],_0x368e5a[_0x1a4e('0x167d')]['JSX_element_0_has_no_corresponding_closing_tag'],_0x368e5a['getTextOfNodeFromSourceText'](_0x524297,_0x146f6e[_0x1a4e('0x132b')])));case 0x1d:case 0x7:return;case 0xb:case 0xc:return(_0x55ff7e=_0x51e3f8(0xb))['containsOnlyWhiteSpaces']=0xc===_0x326eae,_0x326eae=_0x3faf34['scanJsxToken'](),_0x5233b4(_0x55ff7e);case 0x12:return _0x24a95b(!0x1);case 0x1c:return _0x4d88fc(!0x1);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}var _0x55ff7e;}function _0x2f1ea9(_0x368e5a){var _0x146f6e=[],_0x2327c6=_0x36f1b9(),_0x55ff7e=_0x222081;for(_0x222081|=0x4000;;){var _0x1adc17=_0x4dacf2(_0x368e5a,_0x326eae=_0x3faf34[_0x1a4e('0x2672')]());if(!_0x1adc17)break;_0x146f6e[_0x1a4e('0x46')](_0x1adc17);}return _0x222081=_0x55ff7e,_0x4a58af(_0x146f6e,_0x2327c6);}function _0x1402a3(){_0x2677e4();for(var _0x368e5a=0x64===_0x70b93f()?_0x2cb5b9():_0x2473ce();_0xb98295(0x18);){var _0x146f6e=_0x51e3f8(0xbd,_0x368e5a[_0x1a4e('0xa4')]);_0x146f6e[_0x1a4e('0x2302')]=_0x368e5a,_0x146f6e['name']=_0x57e3a2(!0x0),_0x368e5a=_0x5233b4(_0x146f6e);}return _0x368e5a;}function _0x24a95b(_0x368e5a){var _0x146f6e=_0x51e3f8(0x10e);if(_0x4c6850(0x12))return 0x13!==_0x70b93f()&&(_0x146f6e[_0x1a4e('0x25f9')]=_0x3b6f68(0x19),_0x146f6e[_0x1a4e('0x2302')]=_0x541728()),_0x368e5a?_0x4c6850(0x13):(_0x4c6850(0x13,void 0x0,!0x1),_0x485cb8()),_0x5233b4(_0x146f6e);}function _0x1fe366(){if(0x12===_0x70b93f())return function(){var _0x368e5a=_0x51e3f8(0x10d);return _0x4c6850(0x12),_0x4c6850(0x19),_0x368e5a['expression']=_0x3ae484(),_0x4c6850(0x13),_0x5233b4(_0x368e5a);}();_0x2677e4();var _0x368e5a=_0x51e3f8(0x10b);if(_0x368e5a[_0x1a4e('0x2cb')]=_0x2473ce(),0x3b===_0x70b93f())switch(_0x326eae=_0x3faf34['scanJsxAttributeValue']()){case 0xa:_0x368e5a[_0x1a4e('0x236a')]=_0x55ca14();break;default:_0x368e5a[_0x1a4e('0x236a')]=_0x24a95b(!0x0);}return _0x5233b4(_0x368e5a);}function _0x73256b(_0x146f6e){for(;;){if(_0x3b6f68(0x18)){var _0x2327c6=_0x51e3f8(0xbd,_0x146f6e[_0x1a4e('0xa4')]);_0x2327c6['expression']=_0x146f6e,_0x2327c6[_0x1a4e('0x2cb')]=_0x57e3a2(!0x0),_0x146f6e=_0x5233b4(_0x2327c6);}else if(0x34!==_0x70b93f()||_0x3faf34['hasPrecedingLineBreak']())if(_0x284bd2()||!_0xb98295(0x16)){if(!_0x13e4ae())return _0x146f6e;_0x146f6e=_0x1f88ab(_0x146f6e,void 0x0);}else{var _0x55ff7e=_0x51e3f8(0xbe,_0x146f6e[_0x1a4e('0xa4')]);if(_0x55ff7e[_0x1a4e('0x2302')]=_0x146f6e,0x17===_0x70b93f())_0x55ff7e[_0x1a4e('0x24a7')]=_0xa004e8(0x48,!0x0,_0x368e5a['Diagnostics'][_0x1a4e('0x2673')]);else{var _0x1adc17=_0x591f27(_0x3ae484);_0x368e5a[_0x1a4e('0x2674')](_0x1adc17)&&(_0x1adc17[_0x1a4e('0xe04')]=_0x4c9c0d(_0x1adc17['text'])),_0x55ff7e[_0x1a4e('0x24a7')]=_0x1adc17;}_0x4c6850(0x17),_0x146f6e=_0x5233b4(_0x55ff7e);}else{_0x3dcd5f();var _0xf79407=_0x51e3f8(0xd5,_0x146f6e[_0x1a4e('0xa4')]);_0xf79407[_0x1a4e('0x2302')]=_0x146f6e,_0x146f6e=_0x5233b4(_0xf79407);}}}function _0x13e4ae(){return 0xe===_0x70b93f()||0xf===_0x70b93f();}function _0x1f88ab(_0x368e5a,_0x146f6e){var _0x2327c6=_0x51e3f8(0xc1,_0x368e5a[_0x1a4e('0xa4')]);return _0x2327c6[_0x1a4e('0x7ba')]=_0x368e5a,_0x2327c6[_0x1a4e('0x2365')]=_0x146f6e,_0x2327c6['template']=0xe===_0x70b93f()?_0x55ca14():_0x57b589(),_0x5233b4(_0x2327c6);}function _0x1f9e2c(){_0x4c6850(0x14);var _0x368e5a=_0x33e076(0xb,_0x35da0d);return _0x4c6850(0x15),_0x368e5a;}function _0x34906b(){if(_0xb98295(0x1c)){var _0x368e5a=_0x33e076(0x14,_0x27abe1);if(_0x4c6850(0x1e))return _0x368e5a&&function(){switch(_0x70b93f()){case 0x14:case 0xe:case 0xf:case 0x18:case 0x15:case 0x17:case 0x39:case 0x1a:case 0x38:case 0x21:case 0x23:case 0x22:case 0x24:case 0x36:case 0x37:case 0x33:case 0x31:case 0x32:case 0x13:case 0x1:return!0x0;case 0x1b:case 0x12:default:return!0x1;}}()?_0x368e5a:void 0x0;}}function _0x30dc89(){switch(_0x70b93f()){case 0x8:case 0x9:case 0xa:case 0xe:return _0x55ca14();case 0x64:case 0x62:case 0x60:case 0x66:case 0x57:return _0x2cb5b9();case 0x14:return _0x146f6e=_0x2f04f9(0xc3),_0x4c6850(0x14),_0x146f6e[_0x1a4e('0x2302')]=_0x591f27(_0x3ae484),_0x4c6850(0x15),_0x5233b4(_0x146f6e);case 0x16:return _0x56677c();case 0x12:return _0x45151d();case 0x79:if(!_0x53c1e5(_0x1adb9c))break;return _0x1cdc15();case 0x4c:return _0x460d61(_0x2f04f9(0x0),0xd1);case 0x5a:return _0x1cdc15();case 0x5f:return function(){var _0x146f6e=_0x3faf34['getStartPos']();if(_0x4c6850(0x5f),_0xb98295(0x18)){var _0x2327c6=_0x51e3f8(0xd6,_0x146f6e);return _0x2327c6[_0x1a4e('0x2675')]=0x5f,_0x2327c6[_0x1a4e('0x2cb')]=_0x2473ce(),_0x5233b4(_0x2327c6);}var _0x55ff7e,_0x1adc17=_0x30dc89();for(;;){_0x1adc17=_0x73256b(_0x1adc17),_0x55ff7e=_0x1b727c(_0x34906b),_0x13e4ae()&&(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x55ff7e,'Expected\x20a\x20type\x20argument\x20list;\x20all\x20plain\x20tagged\x20template\x20starts\x20should\x20be\x20consumed\x20in\x20\x27parseMemberExpressionRest\x27'),_0x1adc17=_0x1f88ab(_0x1adc17,_0x55ff7e),_0x55ff7e=void 0x0);break;}var _0xf79407=_0x51e3f8(0xc0,_0x146f6e);_0xf79407[_0x1a4e('0x2302')]=_0x1adc17,_0xf79407[_0x1a4e('0x2365')]=_0x55ff7e,(_0xf79407[_0x1a4e('0x2365')]||0x14===_0x70b93f())&&(_0xf79407[_0x1a4e('0x2373')]=_0x1f9e2c());return _0x5233b4(_0xf79407);}();case 0x2a:case 0x40:if(0xd===(_0x326eae=_0x3faf34[_0x1a4e('0x2676')]()))return _0x55ca14();break;case 0xf:return _0x57b589();}var _0x146f6e;return _0xc1d820(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2652')]);}function _0x486a8e(){return 0x19===_0x70b93f()?(_0x368e5a=_0x51e3f8(0xd0),_0x4c6850(0x19),_0x368e5a[_0x1a4e('0x2302')]=_0x541728(),_0x5233b4(_0x368e5a)):0x1b===_0x70b93f()?_0x51e3f8(0xd2):_0x541728();var _0x368e5a;}function _0x35da0d(){return _0x356af3(_0x17377b,_0x486a8e);}function _0x56677c(){var _0x368e5a=_0x51e3f8(0xbb);return _0x4c6850(0x16),_0x3faf34[_0x1a4e('0x265c')]()&&(_0x368e5a[_0x1a4e('0x2677')]=!0x0),_0x368e5a['elements']=_0x33e076(0xf,_0x486a8e),_0x4c6850(0x17),_0x5233b4(_0x368e5a);}function _0x18a263(){var _0x368e5a=_0x2f04f9(0x0);if(_0x3b6f68(0x19))return _0x368e5a['kind']=0x115,_0x368e5a[_0x1a4e('0x2302')]=_0x541728(),_0x5233b4(_0x368e5a);if(_0x368e5a['decorators']=_0x1a812b(),_0x368e5a[_0x1a4e('0x242d')]=_0x163721(),_0x50e026(0x7e))return _0x52a16b(_0x368e5a,0x9e);if(_0x50e026(0x89))return _0x52a16b(_0x368e5a,0x9f);var _0x146f6e=_0x3b6f68(0x28),_0x2327c6=_0xf83c54();if(_0x368e5a[_0x1a4e('0x2cb')]=_0xdf81f(),_0x368e5a[_0x1a4e('0x23ca')]=_0x3b6f68(0x38),_0x368e5a['exclamationToken']=_0x3b6f68(0x34),_0x146f6e||0x14===_0x70b93f()||0x1c===_0x70b93f())return _0x4ffaab(_0x368e5a,_0x146f6e);if(_0x2327c6&&0x39!==_0x70b93f()){_0x368e5a[_0x1a4e('0x146b')]=0x114;var _0x55ff7e=_0x3b6f68(0x3b);_0x55ff7e&&(_0x368e5a[_0x1a4e('0x25f8')]=_0x55ff7e,_0x368e5a[_0x1a4e('0x2471')]=_0x591f27(_0x541728));}else _0x368e5a[_0x1a4e('0x146b')]=0x113,_0x4c6850(0x39),_0x368e5a[_0x1a4e('0x236a')]=_0x591f27(_0x541728);return _0x5233b4(_0x368e5a);}function _0x45151d(){var _0x368e5a=_0x51e3f8(0xbc);return _0x4c6850(0x12),_0x3faf34[_0x1a4e('0x265c')]()&&(_0x368e5a[_0x1a4e('0x2677')]=!0x0),_0x368e5a[_0x1a4e('0x13')]=_0x33e076(0xc,_0x18a263,!0x0),_0x4c6850(0x13),_0x5233b4(_0x368e5a);}function _0x1cdc15(){var _0x146f6e=_0x284bd2();_0x146f6e&&_0x4df929(!0x1);var _0x2327c6=_0x2f04f9(0xc4);_0x2327c6['modifiers']=_0x163721(),_0x4c6850(0x5a),_0x2327c6['asteriskToken']=_0x3b6f68(0x28);var _0x55ff7e=_0x2327c6['asteriskToken']?0x1:0x0,_0x1adc17=_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x100)?0x2:0x0;return _0x2327c6[_0x1a4e('0x2cb')]=_0x55ff7e&&_0x1adc17?_0x516dad(0x5000,_0x507077):_0x55ff7e?function(_0x368e5a){return _0x516dad(0x1000,_0x368e5a);}(_0x507077):_0x1adc17?_0x140415(_0x507077):_0x507077(),_0xcbcd10(0x39,_0x55ff7e|_0x1adc17,_0x2327c6),_0x2327c6[_0x1a4e('0x8f2')]=_0x58786e(_0x55ff7e|_0x1adc17),_0x146f6e&&_0x4df929(!0x0),_0x5233b4(_0x2327c6);}function _0x507077(){return _0xf83c54()?_0xc1d820():void 0x0;}function _0x3d1ee3(_0x368e5a,_0x146f6e){var _0x2327c6=_0x51e3f8(0xda);return _0x4c6850(0x12,_0x146f6e)||_0x368e5a?(_0x3faf34[_0x1a4e('0x265c')]()&&(_0x2327c6[_0x1a4e('0x2677')]=!0x0),_0x2327c6[_0x1a4e('0x2366')]=_0x51525c(0x1,_0x4a7c0f),_0x4c6850(0x13)):_0x2327c6[_0x1a4e('0x2366')]=_0x2eb701(),_0x5233b4(_0x2327c6);}function _0x58786e(_0x368e5a,_0x146f6e){var _0x2327c6=_0x49baf6();_0x15ebe5(!!(0x1&_0x368e5a));var _0x55ff7e=_0x254a44();_0xc5ec42(!!(0x2&_0x368e5a));var _0x1adc17=_0x284bd2();_0x1adc17&&_0x4df929(!0x1);var _0xf79407=_0x3d1ee3(!!(0x10&_0x368e5a),_0x146f6e);return _0x1adc17&&_0x4df929(!0x0),_0x15ebe5(_0x2327c6),_0xc5ec42(_0x55ff7e),_0xf79407;}function _0x172ef3(){var _0x368e5a=_0x36f1b9();_0x4c6850(0x59);var _0x146f6e,_0x2327c6,_0x55ff7e=_0x3b6f68(0x7a);if(_0x4c6850(0x14),0x1a!==_0x70b93f()&&(_0x146f6e=0x69===_0x70b93f()||0x6f===_0x70b93f()||0x4d===_0x70b93f()?_0x3e9054(!0x0):_0x516dad(0x800,_0x3ae484)),_0x55ff7e?_0x4c6850(0x93):_0xb98295(0x93)){var _0x1adc17=_0x51e3f8(0xe3,_0x368e5a);_0x1adc17[_0x1a4e('0x2678')]=_0x55ff7e,_0x1adc17[_0x1a4e('0x236a')]=_0x146f6e,_0x1adc17['expression']=_0x591f27(_0x541728),_0x4c6850(0x15),_0x2327c6=_0x1adc17;}else if(_0xb98295(0x5d)){var _0xf79407=_0x51e3f8(0xe2,_0x368e5a);_0xf79407[_0x1a4e('0x236a')]=_0x146f6e,_0xf79407[_0x1a4e('0x2302')]=_0x591f27(_0x3ae484),_0x4c6850(0x15),_0x2327c6=_0xf79407;}else{var _0x2c9ec9=_0x51e3f8(0xe1,_0x368e5a);_0x2c9ec9['initializer']=_0x146f6e,_0x4c6850(0x1a),0x1a!==_0x70b93f()&&0x15!==_0x70b93f()&&(_0x2c9ec9[_0x1a4e('0x236b')]=_0x591f27(_0x3ae484)),_0x4c6850(0x1a),0x15!==_0x70b93f()&&(_0x2c9ec9[_0x1a4e('0x236c')]=_0x591f27(_0x3ae484)),_0x4c6850(0x15),_0x2327c6=_0x2c9ec9;}return _0x2327c6[_0x1a4e('0x2390')]=_0x4a7c0f(),_0x5233b4(_0x2327c6);}function _0x455981(_0x368e5a){var _0x146f6e=_0x51e3f8(_0x368e5a);return _0x4c6850(0xe5===_0x368e5a?0x49:0x4e),_0xce0377()||(_0x146f6e[_0x1a4e('0x1bc')]=_0xc1d820()),_0x407d7b(),_0x5233b4(_0x146f6e);}function _0x4b6b97(){return 0x4a===_0x70b93f()?(_0x368e5a=_0x51e3f8(0x10f),_0x4c6850(0x4a),_0x368e5a['expression']=_0x591f27(_0x3ae484),_0x4c6850(0x39),_0x368e5a[_0x1a4e('0x2366')]=_0x51525c(0x3,_0x4a7c0f),_0x5233b4(_0x368e5a)):function(){var _0x368e5a=_0x51e3f8(0x110);return _0x4c6850(0x50),_0x4c6850(0x39),_0x368e5a[_0x1a4e('0x2366')]=_0x51525c(0x3,_0x4a7c0f),_0x5233b4(_0x368e5a);}();var _0x368e5a;}function _0x5e8c80(){var _0x368e5a=_0x51e3f8(0xeb);return _0x4c6850(0x67),_0x368e5a[_0x1a4e('0x2679')]=_0x3d1ee3(!0x1),_0x368e5a[_0x1a4e('0x260a')]=0x4b===_0x70b93f()?function(){var _0x368e5a=_0x51e3f8(0x112);_0x4c6850(0x4b),_0xb98295(0x14)?(_0x368e5a[_0x1a4e('0x260b')]=_0x3b1cfc(),_0x4c6850(0x15)):_0x368e5a[_0x1a4e('0x260b')]=void 0x0;return _0x368e5a[_0x1a4e('0x260c')]=_0x3d1ee3(!0x1),_0x5233b4(_0x368e5a);}():void 0x0,_0x368e5a[_0x1a4e('0x260a')]&&0x58!==_0x70b93f()||(_0x4c6850(0x58),_0x368e5a[_0x1a4e('0x267a')]=_0x3d1ee3(!0x1)),_0x5233b4(_0x368e5a);}function _0x568780(){return _0x3dcd5f(),_0x368e5a['tokenIsIdentifierOrKeyword'](_0x70b93f())&&!_0x3faf34[_0x1a4e('0x265c')]();}function _0x4350cf(){return _0x3dcd5f(),0x4c===_0x70b93f()&&!_0x3faf34[_0x1a4e('0x265c')]();}function _0x1adb9c(){return _0x3dcd5f(),0x5a===_0x70b93f()&&!_0x3faf34[_0x1a4e('0x265c')]();}function _0x1cd956(){return _0x3dcd5f(),(_0x368e5a[_0x1a4e('0x2298')](_0x70b93f())||0x8===_0x70b93f()||0x9===_0x70b93f()||0xa===_0x70b93f())&&!_0x3faf34[_0x1a4e('0x265c')]();}function _0xb91f71(){for(;;)switch(_0x70b93f()){case 0x69:case 0x6f:case 0x4d:case 0x5a:case 0x4c:case 0x54:return!0x0;case 0x6e:case 0x8c:return _0x3dcd5f(),!_0x3faf34[_0x1a4e('0x265c')]()&&_0xf83c54();case 0x82:case 0x83:return _0x2a0226();case 0x76:case 0x79:case 0x7d:case 0x71:case 0x72:case 0x73:case 0x85:if(_0x3dcd5f(),_0x3faf34[_0x1a4e('0x265c')]())return!0x1;continue;case 0x91:return _0x3dcd5f(),0x12===_0x70b93f()||0x48===_0x70b93f()||0x55===_0x70b93f();case 0x5c:return _0x3dcd5f(),0xa===_0x70b93f()||0x28===_0x70b93f()||0x12===_0x70b93f()||_0x368e5a['tokenIsIdentifierOrKeyword'](_0x70b93f());case 0x55:if(_0x3dcd5f(),0x3b===_0x70b93f()||0x28===_0x70b93f()||0x12===_0x70b93f()||0x50===_0x70b93f()||0x77===_0x70b93f())return!0x0;continue;case 0x74:_0x3dcd5f();continue;default:return!0x1;}}function _0x190eef(){return _0x53c1e5(_0xb91f71);}function _0x4efd9b(){switch(_0x70b93f()){case 0x3a:case 0x1a:case 0x12:case 0x69:case 0x6f:case 0x5a:case 0x4c:case 0x54:case 0x5b:case 0x52:case 0x6b:case 0x59:case 0x4e:case 0x49:case 0x61:case 0x6c:case 0x63:case 0x65:case 0x67:case 0x4f:case 0x4b:case 0x58:return!0x0;case 0x5c:return _0x190eef()||_0x53c1e5(_0x53658c);case 0x4d:case 0x55:return _0x190eef();case 0x79:case 0x7d:case 0x6e:case 0x82:case 0x83:case 0x8c:case 0x91:return!0x0;case 0x73:case 0x71:case 0x72:case 0x74:case 0x85:return _0x190eef()||!_0x53c1e5(_0x568780);default:return _0x39a78b();}}function _0x156dff(){return _0x3dcd5f(),_0xf83c54()||0x12===_0x70b93f()||0x16===_0x70b93f();}function _0x4a7c0f(){switch(_0x70b93f()){case 0x1a:return _0x368e5a=_0x51e3f8(0xdc),_0x4c6850(0x1a),_0x5233b4(_0x368e5a);case 0x12:return _0x3d1ee3(!0x1);case 0x69:return _0x3415d1(_0x2f04f9(0xed));case 0x6f:if(_0x53c1e5(_0x156dff))return _0x3415d1(_0x2f04f9(0xed));break;case 0x5a:return _0x454d78(_0x2f04f9(0xef));case 0x4c:return _0x388668(_0x2f04f9(0xf0));case 0x5b:return function(){var _0x368e5a=_0x51e3f8(0xde);return _0x4c6850(0x5b),_0x4c6850(0x14),_0x368e5a[_0x1a4e('0x2302')]=_0x591f27(_0x3ae484),_0x4c6850(0x15),_0x368e5a[_0x1a4e('0x2606')]=_0x4a7c0f(),_0x368e5a['elseStatement']=_0xb98295(0x53)?_0x4a7c0f():void 0x0,_0x5233b4(_0x368e5a);}();case 0x52:return function(){var _0x368e5a=_0x51e3f8(0xdf);return _0x4c6850(0x52),_0x368e5a[_0x1a4e('0x2390')]=_0x4a7c0f(),_0x4c6850(0x6b),_0x4c6850(0x14),_0x368e5a[_0x1a4e('0x2302')]=_0x591f27(_0x3ae484),_0x4c6850(0x15),_0xb98295(0x1a),_0x5233b4(_0x368e5a);}();case 0x6b:return function(){var _0x368e5a=_0x51e3f8(0xe0);return _0x4c6850(0x6b),_0x4c6850(0x14),_0x368e5a[_0x1a4e('0x2302')]=_0x591f27(_0x3ae484),_0x4c6850(0x15),_0x368e5a[_0x1a4e('0x2390')]=_0x4a7c0f(),_0x5233b4(_0x368e5a);}();case 0x59:return _0x172ef3();case 0x4e:return _0x455981(0xe4);case 0x49:return _0x455981(0xe5);case 0x61:return function(){var _0x368e5a=_0x51e3f8(0xe6);return _0x4c6850(0x61),_0xce0377()||(_0x368e5a[_0x1a4e('0x2302')]=_0x591f27(_0x3ae484)),_0x407d7b(),_0x5233b4(_0x368e5a);}();case 0x6c:return function(){var _0x368e5a=_0x51e3f8(0xe7);return _0x4c6850(0x6c),_0x4c6850(0x14),_0x368e5a['expression']=_0x591f27(_0x3ae484),_0x4c6850(0x15),_0x368e5a[_0x1a4e('0x2390')]=_0x516dad(0x800000,_0x4a7c0f),_0x5233b4(_0x368e5a);}();case 0x63:return function(){var _0x368e5a=_0x51e3f8(0xe8);_0x4c6850(0x63),_0x4c6850(0x14),_0x368e5a['expression']=_0x591f27(_0x3ae484),_0x4c6850(0x15);var _0x146f6e=_0x51e3f8(0xf6);return _0x4c6850(0x12),_0x146f6e[_0x1a4e('0x2609')]=_0x51525c(0x2,_0x4b6b97),_0x4c6850(0x13),_0x368e5a[_0x1a4e('0x2608')]=_0x5233b4(_0x146f6e),_0x5233b4(_0x368e5a);}();case 0x65:return function(){var _0x368e5a=_0x51e3f8(0xea);return _0x4c6850(0x65),_0x368e5a['expression']=_0x3faf34[_0x1a4e('0x265c')]()?void 0x0:_0x591f27(_0x3ae484),_0x407d7b(),_0x5233b4(_0x368e5a);}();case 0x67:case 0x4b:case 0x58:return _0x5e8c80();case 0x4f:return function(){var _0x368e5a=_0x51e3f8(0xec);return _0x4c6850(0x4f),_0x407d7b(),_0x5233b4(_0x368e5a);}();case 0x3a:return _0x592605();case 0x79:case 0x6e:case 0x8c:case 0x82:case 0x83:case 0x7d:case 0x4d:case 0x54:case 0x55:case 0x5c:case 0x71:case 0x72:case 0x73:case 0x76:case 0x74:case 0x85:case 0x91:if(_0x190eef())return _0x592605();}var _0x368e5a;return function(){var _0x368e5a=_0x2f04f9(0x0),_0x146f6e=_0x591f27(_0x3ae484);return 0x48===_0x146f6e[_0x1a4e('0x146b')]&&_0xb98295(0x39)?(_0x368e5a[_0x1a4e('0x146b')]=0xe9,_0x368e5a['label']=_0x146f6e,_0x368e5a[_0x1a4e('0x2390')]=_0x4a7c0f()):(_0x368e5a['kind']=0xdd,_0x368e5a[_0x1a4e('0x2302')]=_0x146f6e,_0x407d7b()),_0x5233b4(_0x368e5a);}();}function _0x136932(_0x368e5a){return 0x7d===_0x368e5a[_0x1a4e('0x146b')];}function _0x592605(){var _0x146f6e=_0x2f04f9(0x0);if(_0x146f6e[_0x1a4e('0x232f')]=_0x1a812b(),_0x146f6e['modifiers']=_0x163721(),_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x242d')],_0x136932)){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x242d')];_0x2327c6<_0x55ff7e['length'];_0x2327c6++){_0x55ff7e[_0x2327c6][_0x1a4e('0x7b2')]|=0x400000;}return _0x516dad(0x400000,function(){return _0x47fd80(_0x146f6e);});}return _0x47fd80(_0x146f6e);}function _0x47fd80(_0x146f6e){switch(_0x70b93f()){case 0x69:case 0x6f:case 0x4d:return _0x3415d1(_0x146f6e);case 0x5a:return _0x454d78(_0x146f6e);case 0x4c:return _0x388668(_0x146f6e);case 0x6e:return function(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]=0xf1,_0x4c6850(0x6e),_0x368e5a['name']=_0xc1d820(),_0x368e5a['typeParameters']=_0x296007(),_0x368e5a[_0x1a4e('0x237f')]=_0x30f53c(),_0x368e5a['members']=_0x239d8a(),_0x5233b4(_0x368e5a);}(_0x146f6e);case 0x8c:return function(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]=0xf2,_0x4c6850(0x8c),_0x368e5a[_0x1a4e('0x2cb')]=_0xc1d820(),_0x368e5a[_0x1a4e('0x23d7')]=_0x296007(),_0x4c6850(0x3b),_0x368e5a[_0x1a4e('0x40')]=_0x27abe1(),_0x407d7b(),_0x5233b4(_0x368e5a);}(_0x146f6e);case 0x54:return function(_0x368e5a){_0x368e5a['kind']=0xf3,_0x4c6850(0x54),_0x368e5a[_0x1a4e('0x2cb')]=_0xc1d820(),_0x4c6850(0x12)?(_0x368e5a['members']=_0x33e076(0x6,_0xebedd2),_0x4c6850(0x13)):_0x368e5a['members']=_0x2eb701();return _0x5233b4(_0x368e5a);}(_0x146f6e);case 0x91:case 0x82:case 0x83:return function(_0x368e5a){var _0x146f6e=0x0;if(0x91===_0x70b93f())return _0x424c38(_0x368e5a);if(_0xb98295(0x83))_0x146f6e|=0x10;else if(_0x4c6850(0x82),0xa===_0x70b93f())return _0x424c38(_0x368e5a);return function _0x368e5a(_0x146f6e,_0x2327c6){_0x146f6e[_0x1a4e('0x146b')]=0xf4;var _0x55ff7e=0x10&_0x2327c6;_0x146f6e['flags']|=_0x2327c6;_0x146f6e[_0x1a4e('0x2cb')]=_0xc1d820();_0x146f6e['body']=_0xb98295(0x18)?_0x368e5a(_0x51e3f8(0x0),0x4|_0x55ff7e):_0x19d18e();return _0x5233b4(_0x146f6e);}(_0x368e5a,_0x146f6e);}(_0x146f6e);case 0x5c:return function(_0x368e5a){_0x4c6850(0x5c);var _0x146f6e,_0x2327c6=_0x3faf34[_0x1a4e('0x2645')]();if(_0xf83c54()&&(_0x146f6e=_0xc1d820(),0x1b!==_0x70b93f()&&0x90!==_0x70b93f()))return function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x146b')]=0xf8,_0x368e5a['name']=_0x146f6e,_0x4c6850(0x3b),_0x368e5a['moduleReference']=function(){return 0x86===_0x70b93f()&&_0x53c1e5(_0x47313c)?(_0x368e5a=_0x51e3f8(0x103),_0x4c6850(0x86),_0x4c6850(0x14),_0x368e5a[_0x1a4e('0x2302')]=_0x523e7f(),_0x4c6850(0x15),_0x5233b4(_0x368e5a)):_0x5ab5e9(!0x1);var _0x368e5a;}(),_0x407d7b(),_0x5233b4(_0x368e5a);}(_0x368e5a,_0x146f6e);_0x368e5a[_0x1a4e('0x146b')]=0xf9,(_0x146f6e||0x28===_0x70b93f()||0x12===_0x70b93f())&&(_0x368e5a[_0x1a4e('0x23c6')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x51e3f8(0xfa,_0x146f6e);_0x368e5a&&(_0x2327c6['name']=_0x368e5a);_0x2327c6['name']&&!_0xb98295(0x1b)||(_0x2327c6[_0x1a4e('0x23c7')]=0x28===_0x70b93f()?(_0x55ff7e=_0x51e3f8(0xfb),_0x4c6850(0x28),_0x4c6850(0x77),_0x55ff7e[_0x1a4e('0x2cb')]=_0xc1d820(),_0x5233b4(_0x55ff7e)):_0x5328ad(0xfc));var _0x55ff7e;return _0x5233b4(_0x2327c6);}(_0x146f6e,_0x2327c6),_0x4c6850(0x90));return _0x368e5a[_0x1a4e('0x23c5')]=_0x523e7f(),_0x407d7b(),_0x5233b4(_0x368e5a);}(_0x146f6e);case 0x55:switch(_0x3dcd5f(),_0x70b93f()){case 0x50:case 0x3b:return function(_0x368e5a){_0x368e5a[_0x1a4e('0x146b')]=0xfe,_0xb98295(0x3b)?_0x368e5a[_0x1a4e('0x267b')]=!0x0:_0x4c6850(0x50);return _0x368e5a['expression']=_0x541728(),_0x407d7b(),_0x5233b4(_0x368e5a);}(_0x146f6e);case 0x77:return function(_0x368e5a){return _0x368e5a['kind']=0xf7,_0x4c6850(0x77),_0x4c6850(0x83),_0x368e5a['name']=_0xc1d820(),_0x407d7b(),_0x5233b4(_0x368e5a);}(_0x146f6e);default:return function(_0x368e5a){_0x368e5a[_0x1a4e('0x146b')]=0xff,_0xb98295(0x28)?(_0x4c6850(0x90),_0x368e5a['moduleSpecifier']=_0x523e7f()):(_0x368e5a[_0x1a4e('0x260d')]=_0x5328ad(0x100),(0x90===_0x70b93f()||0xa===_0x70b93f()&&!_0x3faf34[_0x1a4e('0x265c')]())&&(_0x4c6850(0x90),_0x368e5a['moduleSpecifier']=_0x523e7f()));return _0x407d7b(),_0x5233b4(_0x368e5a);}(_0x146f6e);}default:if(_0x146f6e[_0x1a4e('0x232f')]||_0x146f6e[_0x1a4e('0x242d')]){var _0x2327c6=_0xa004e8(0x102,!0x0,_0x368e5a[_0x1a4e('0x167d')]['Declaration_expected']);return _0x2327c6['pos']=_0x146f6e[_0x1a4e('0xa4')],_0x2327c6[_0x1a4e('0x232f')]=_0x146f6e[_0x1a4e('0x232f')],_0x2327c6[_0x1a4e('0x242d')]=_0x146f6e['modifiers'],_0x5233b4(_0x2327c6);}return;}}function _0x2a0226(){return _0x3dcd5f(),!_0x3faf34[_0x1a4e('0x265c')]()&&(_0xf83c54()||0xa===_0x70b93f());}function _0x3d1730(_0x368e5a,_0x146f6e){if(0x12===_0x70b93f()||!_0xce0377())return _0x58786e(_0x368e5a,_0x146f6e);_0x407d7b();}function _0x2a23a7(){if(0x1b===_0x70b93f())return _0x51e3f8(0xd2);var _0x368e5a=_0x51e3f8(0xba);return _0x368e5a[_0x1a4e('0x25f9')]=_0x3b6f68(0x19),_0x368e5a[_0x1a4e('0x2cb')]=_0x5d42e5(),_0x368e5a[_0x1a4e('0x236a')]=_0x5c8a4c(),_0x5233b4(_0x368e5a);}function _0x212fc5(){var _0x368e5a=_0x51e3f8(0xba);_0x368e5a[_0x1a4e('0x25f9')]=_0x3b6f68(0x19);var _0x146f6e=_0xf83c54(),_0x2327c6=_0xdf81f();return _0x146f6e&&0x39!==_0x70b93f()?_0x368e5a[_0x1a4e('0x2cb')]=_0x2327c6:(_0x4c6850(0x39),_0x368e5a[_0x1a4e('0x81a')]=_0x2327c6,_0x368e5a[_0x1a4e('0x2cb')]=_0x5d42e5()),_0x368e5a[_0x1a4e('0x236a')]=_0x5c8a4c(),_0x5233b4(_0x368e5a);}function _0xbcce2c(){return 0x12===_0x70b93f()||0x16===_0x70b93f()||_0xf83c54();}function _0x5d42e5(){return 0x16===_0x70b93f()?(_0x368e5a=_0x51e3f8(0xb9),_0x4c6850(0x16),_0x368e5a[_0x1a4e('0x2398')]=_0x33e076(0xa,_0x2a23a7),_0x4c6850(0x17),_0x5233b4(_0x368e5a)):0x12===_0x70b93f()?function(){var _0x368e5a=_0x51e3f8(0xb8);return _0x4c6850(0x12),_0x368e5a[_0x1a4e('0x2398')]=_0x33e076(0x9,_0x212fc5),_0x4c6850(0x13),_0x5233b4(_0x368e5a);}():_0xc1d820();var _0x368e5a;}function _0x2c4776(){return _0x3b1cfc(!0x0);}function _0x3b1cfc(_0x368e5a){var _0x146f6e=_0x51e3f8(0xed);return _0x146f6e['name']=_0x5d42e5(),_0x368e5a&&0x48===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&0x34===_0x70b93f()&&!_0x3faf34[_0x1a4e('0x265c')]()&&(_0x146f6e['exclamationToken']=_0x2cb5b9()),_0x146f6e[_0x1a4e('0x40')]=_0x31a509(),_0x3b43fc(_0x70b93f())||(_0x146f6e[_0x1a4e('0x236a')]=_0x5c8a4c()),_0x5233b4(_0x146f6e);}function _0x3e9054(_0x146f6e){var _0x2327c6=_0x51e3f8(0xee);switch(_0x70b93f()){case 0x69:break;case 0x6f:_0x2327c6['flags']|=0x1;break;case 0x4d:_0x2327c6[_0x1a4e('0x7b2')]|=0x2;break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();}if(_0x3dcd5f(),0x93===_0x70b93f()&&_0x53c1e5(_0x2001e2))_0x2327c6[_0x1a4e('0x22e5')]=_0x2eb701();else{var _0x55ff7e=_0x11c1be();_0x510195(_0x146f6e),_0x2327c6['declarations']=_0x33e076(0x8,_0x146f6e?_0x3b1cfc:_0x2c4776),_0x510195(_0x55ff7e);}return _0x5233b4(_0x2327c6);}function _0x2001e2(){return _0x4595b9()&&0x15===_0x3dcd5f();}function _0x3415d1(_0x368e5a){return _0x368e5a['kind']=0xdb,_0x368e5a['declarationList']=_0x3e9054(!0x1),_0x407d7b(),_0x5233b4(_0x368e5a);}function _0x454d78(_0x146f6e){_0x146f6e[_0x1a4e('0x146b')]=0xef,_0x4c6850(0x5a),_0x146f6e[_0x1a4e('0x23fc')]=_0x3b6f68(0x28),_0x146f6e[_0x1a4e('0x2cb')]=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x200)?_0x507077():_0xc1d820();var _0x2327c6=_0x146f6e['asteriskToken']?0x1:0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x100)?0x2:0x0;return _0xcbcd10(0x39,_0x2327c6|_0x55ff7e,_0x146f6e),_0x146f6e[_0x1a4e('0x8f2')]=_0x3d1730(_0x2327c6|_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x267c')]),_0x5233b4(_0x146f6e);}function _0x4ffaab(_0x146f6e,_0x2327c6,_0x55ff7e){_0x146f6e['kind']=0x9c,_0x146f6e['asteriskToken']=_0x2327c6;var _0x1adc17=_0x2327c6?0x1:0x0,_0xf79407=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x100)?0x2:0x0;return _0xcbcd10(0x39,_0x1adc17|_0xf79407,_0x146f6e),_0x146f6e[_0x1a4e('0x8f2')]=_0x3d1730(_0x1adc17|_0xf79407,_0x55ff7e),_0x5233b4(_0x146f6e);}function _0x7487b4(_0x146f6e){return _0x146f6e[_0x1a4e('0x146b')]=0x9a,_0x146f6e[_0x1a4e('0x23ca')]||0x34!==_0x70b93f()||_0x3faf34['hasPrecedingLineBreak']()||(_0x146f6e[_0x1a4e('0x25f7')]=_0x2cb5b9()),_0x146f6e[_0x1a4e('0x40')]=_0x31a509(),_0x146f6e[_0x1a4e('0x236a')]=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20)?_0x591f27(_0x5c8a4c):_0x356af3(0x1800,_0x5c8a4c),_0x407d7b(),_0x5233b4(_0x146f6e);}function _0x52a16b(_0x368e5a,_0x146f6e){return _0x368e5a['kind']=_0x146f6e,_0x368e5a[_0x1a4e('0x2cb')]=_0xdf81f(),_0xcbcd10(0x39,0x0,_0x368e5a),_0x368e5a[_0x1a4e('0x8f2')]=_0x3d1730(0x0),_0x5233b4(_0x368e5a);}function _0xeadbca(){var _0x146f6e;if(0x3a===_0x70b93f())return!0x0;for(;_0x368e5a[_0x1a4e('0x2546')](_0x70b93f());){if(_0x146f6e=_0x70b93f(),_0x368e5a['isClassMemberModifier'](_0x146f6e))return!0x0;_0x3dcd5f();}if(0x28===_0x70b93f())return!0x0;if(_0xfd41b3()&&(_0x146f6e=_0x70b93f(),_0x3dcd5f()),0x16===_0x70b93f())return!0x0;if(void 0x0!==_0x146f6e){if(!_0x368e5a['isKeyword'](_0x146f6e)||0x89===_0x146f6e||0x7e===_0x146f6e)return!0x0;switch(_0x70b93f()){case 0x14:case 0x1c:case 0x34:case 0x39:case 0x3b:case 0x38:return!0x0;default:return _0xce0377();}}return!0x1;}function _0x1a812b(){for(var _0x368e5a,_0x146f6e=_0x36f1b9();;){var _0x2327c6=_0x36f1b9();if(!_0xb98295(0x3a))break;var _0x55ff7e=_0x51e3f8(0x98,_0x2327c6);_0x55ff7e[_0x1a4e('0x2302')]=_0x516dad(0x2000,_0x32a585),_0x5233b4(_0x55ff7e),(_0x368e5a||(_0x368e5a=[]))[_0x1a4e('0x46')](_0x55ff7e);}return _0x368e5a&&_0x4a58af(_0x368e5a,_0x146f6e);}function _0x163721(_0x146f6e){for(var _0x2327c6,_0x55ff7e=_0x36f1b9();;){var _0x1adc17=_0x3faf34['getStartPos'](),_0xf79407=_0x70b93f();if(0x4d===_0x70b93f()&&_0x146f6e){if(!_0x1b727c(_0x262cef))break;}else if(!_0x368e5a[_0x1a4e('0x2546')](_0x70b93f())||!_0x1b727c(_0x5a47cd))break;var _0x2c9ec9=_0x5233b4(_0x51e3f8(_0xf79407,_0x1adc17));(_0x2327c6||(_0x2327c6=[]))[_0x1a4e('0x46')](_0x2c9ec9);}return _0x2327c6&&_0x4a58af(_0x2327c6,_0x55ff7e);}function _0x103c3b(){var _0x368e5a;if(0x79===_0x70b93f()){var _0x146f6e=_0x3faf34['getStartPos'](),_0x2327c6=_0x70b93f();_0x3dcd5f(),_0x368e5a=_0x4a58af([_0x5233b4(_0x51e3f8(_0x2327c6,_0x146f6e))],_0x146f6e);}return _0x368e5a;}function _0x352db5(){if(0x1a===_0x70b93f()){var _0x146f6e=_0x51e3f8(0xd9);return _0x3dcd5f(),_0x5233b4(_0x146f6e);}var _0x2327c6=_0x2f04f9(0x0);return _0x2327c6[_0x1a4e('0x232f')]=_0x1a812b(),_0x2327c6[_0x1a4e('0x242d')]=_0x163721(!0x0),_0x50e026(0x7e)?_0x52a16b(_0x2327c6,0x9e):_0x50e026(0x89)?_0x52a16b(_0x2327c6,0x9f):0x7c===_0x70b93f()?function(_0x146f6e){return _0x146f6e['kind']=0x9d,_0x4c6850(0x7c),_0xcbcd10(0x39,0x0,_0x146f6e),_0x146f6e[_0x1a4e('0x8f2')]=_0x3d1730(0x0,_0x368e5a['Diagnostics'][_0x1a4e('0x267c')]),_0x5233b4(_0x146f6e);}(_0x2327c6):_0x35ad3d()?_0x41d68e(_0x2327c6):_0x368e5a[_0x1a4e('0x2298')](_0x70b93f())||0xa===_0x70b93f()||0x8===_0x70b93f()||0x28===_0x70b93f()||0x16===_0x70b93f()?function(_0x146f6e){var _0x2327c6=_0x3b6f68(0x28);return _0x146f6e['name']=_0xdf81f(),_0x146f6e[_0x1a4e('0x23ca')]=_0x3b6f68(0x38),_0x2327c6||0x14===_0x70b93f()||0x1c===_0x70b93f()?_0x4ffaab(_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x267c')]):_0x7487b4(_0x146f6e);}(_0x2327c6):_0x2327c6['decorators']||_0x2327c6['modifiers']?(_0x2327c6[_0x1a4e('0x2cb')]=_0xa004e8(0x48,!0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x267d')]),_0x7487b4(_0x2327c6)):_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]('Should\x20not\x20have\x20attempted\x20to\x20parse\x20class\x20member\x20declaration.');}function _0x388668(_0x368e5a){return _0x460d61(_0x368e5a,0xf0);}function _0x460d61(_0x368e5a,_0x146f6e){return _0x368e5a['kind']=_0x146f6e,_0x4c6850(0x4c),_0x368e5a[_0x1a4e('0x2cb')]=!_0xf83c54()||0x6d===_0x70b93f()&&_0x53c1e5(_0x47d55c)?void 0x0:_0xc1d820(),_0x368e5a['typeParameters']=_0x296007(),_0x368e5a['heritageClauses']=_0x30f53c(),_0x4c6850(0x12)?(_0x368e5a[_0x1a4e('0x2369')]=_0x51525c(0x5,_0x352db5),_0x4c6850(0x13)):_0x368e5a['members']=_0x2eb701(),_0x5233b4(_0x368e5a);}function _0x30f53c(){if(_0x2c5699())return _0x51525c(0x16,_0x56852f);}function _0x56852f(){var _0x146f6e=_0x70b93f();_0x368e5a['Debug'][_0x1a4e('0xba0')](0x56===_0x146f6e||0x6d===_0x146f6e);var _0x2327c6=_0x51e3f8(0x111);return _0x2327c6[_0x1a4e('0x2381')]=_0x146f6e,_0x3dcd5f(),_0x2327c6[_0x1a4e('0x2380')]=_0x33e076(0x7,_0x2b4177),_0x5233b4(_0x2327c6);}function _0x2b4177(){var _0x368e5a=_0x51e3f8(0xd3);return _0x368e5a['expression']=_0x32a585(),_0x368e5a[_0x1a4e('0x2365')]=_0x37501b(),_0x5233b4(_0x368e5a);}function _0x37501b(){return 0x1c===_0x70b93f()?_0xcbfeda(0x14,_0x27abe1,0x1c,0x1e):void 0x0;}function _0x2c5699(){return 0x56===_0x70b93f()||0x6d===_0x70b93f();}function _0xebedd2(){var _0x368e5a=_0x2f04f9(0x116);return _0x368e5a[_0x1a4e('0x2cb')]=_0xdf81f(),_0x368e5a['initializer']=_0x591f27(_0x5c8a4c),_0x5233b4(_0x368e5a);}function _0x19d18e(){var _0x368e5a=_0x51e3f8(0xf5);return _0x4c6850(0x12)?(_0x368e5a[_0x1a4e('0x2366')]=_0x51525c(0x1,_0x4a7c0f),_0x4c6850(0x13)):_0x368e5a[_0x1a4e('0x2366')]=_0x2eb701(),_0x5233b4(_0x368e5a);}function _0x424c38(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]=0xf4,0x91===_0x70b93f()?(_0x368e5a[_0x1a4e('0x2cb')]=_0xc1d820(),_0x368e5a[_0x1a4e('0x7b2')]|=0x200):(_0x368e5a[_0x1a4e('0x2cb')]=_0x55ca14(),_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]=_0x4c9c0d(_0x368e5a['name'][_0x1a4e('0xe04')])),0x12===_0x70b93f()?_0x368e5a[_0x1a4e('0x8f2')]=_0x19d18e():_0x407d7b(),_0x5233b4(_0x368e5a);}function _0x47313c(){return 0x14===_0x3dcd5f();}function _0x392149(){return 0x2a===_0x3dcd5f();}function _0x523e7f(){if(0xa===_0x70b93f()){var _0x368e5a=_0x55ca14();return _0x368e5a[_0x1a4e('0xe04')]=_0x4c9c0d(_0x368e5a['text']),_0x368e5a;}return _0x3ae484();}function _0x5328ad(_0x368e5a){var _0x146f6e=_0x51e3f8(_0x368e5a);return _0x146f6e[_0x1a4e('0x2398')]=_0xcbfeda(0x17,0xfc===_0x368e5a?_0x5f518d:_0x590312,0x12,0x13),_0x5233b4(_0x146f6e);}function _0x590312(){return _0xe06824(0x101);}function _0x5f518d(){return _0xe06824(0xfd);}function _0xe06824(_0x146f6e){var _0x2327c6=_0x51e3f8(_0x146f6e),_0x55ff7e=_0x368e5a[_0x1a4e('0x23f3')](_0x70b93f())&&!_0xf83c54(),_0x1adc17=_0x3faf34[_0x1a4e('0x22f9')](),_0xf79407=_0x3faf34[_0x1a4e('0x2615')](),_0x2c9ec9=_0x2473ce();return 0x77===_0x70b93f()?(_0x2327c6[_0x1a4e('0x81a')]=_0x2c9ec9,_0x4c6850(0x77),_0x55ff7e=_0x368e5a[_0x1a4e('0x23f3')](_0x70b93f())&&!_0xf83c54(),_0x1adc17=_0x3faf34['getTokenPos'](),_0xf79407=_0x3faf34[_0x1a4e('0x2615')](),_0x2327c6[_0x1a4e('0x2cb')]=_0x2473ce()):_0x2327c6[_0x1a4e('0x2cb')]=_0x2c9ec9,0xfd===_0x146f6e&&_0x55ff7e&&_0x36609c(_0x1adc17,_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2649')]),_0x5233b4(_0x2327c6);}function _0x1daf6d(_0x146f6e){return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)||0xf8===_0x146f6e[_0x1a4e('0x146b')]&&0x103===_0x146f6e[_0x1a4e('0x236d')][_0x1a4e('0x146b')]||0xf9===_0x146f6e[_0x1a4e('0x146b')]||0xfe===_0x146f6e[_0x1a4e('0x146b')]||0xff===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e:void 0x0;}function _0x2e1d6a(_0x146f6e){return function(_0x146f6e){return _0x368e5a['isMetaProperty'](_0x146f6e)&&0x5c===_0x146f6e[_0x1a4e('0x2675')]&&_0x1a4e('0x7aa')===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')];}(_0x146f6e)?_0x146f6e:_0x1c692c(_0x146f6e,_0x2e1d6a);}_0x146f6e[_0x1a4e('0x262d')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(void 0x0===_0xf79407&&(_0xf79407=!0x1),0x6===(_0x2c9ec9=_0x368e5a['ensureScriptKind'](_0x146f6e,_0x2c9ec9))){var _0x420b32=_0x4c23f5(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);return _0x368e5a[_0x1a4e('0x267e')](_0x420b32,_0x420b32[_0x1a4e('0x2636')],!0x1,void 0x0,void 0x0),_0x420b32[_0x1a4e('0x2617')]=_0x368e5a[_0x1a4e('0x1700')],_0x420b32[_0x1a4e('0x2618')]=_0x368e5a[_0x1a4e('0x1700')],_0x420b32[_0x1a4e('0x2619')]=_0x368e5a['emptyArray'],_0x420b32['amdDependencies']=_0x368e5a[_0x1a4e('0x1700')],_0x420b32[_0x1a4e('0x261b')]=!0x1,_0x420b32['pragmas']=_0x368e5a[_0x1a4e('0x22e1')],_0x420b32;}_0x1547fe(_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9);var _0x1b06ad=_0x7aa688(_0x146f6e,_0x55ff7e,_0xf79407,_0x2c9ec9);return _0x54622a(),_0x1b06ad;},_0x146f6e[_0x1a4e('0x267f')]=function(_0x368e5a,_0x146f6e){_0x1547fe(_0x368e5a,_0x146f6e,void 0x0,0x1),_0x3dcd5f();var _0x2327c6=_0x5ab5e9(!0x0),_0x55ff7e=0x1===_0x70b93f()&&!_0x420b32['length'];return _0x54622a(),_0x55ff7e?_0x2327c6:void 0x0;},_0x146f6e[_0x1a4e('0x2631')]=_0x4c23f5,_0x146f6e[_0x1a4e('0x2680')]=_0x1ad920,function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2681')]=0x0]=_0x1a4e('0x2681'),_0x368e5a[_0x368e5a['BlockStatements']=0x1]=_0x1a4e('0x2682'),_0x368e5a[_0x368e5a[_0x1a4e('0x2683')]=0x2]=_0x1a4e('0x2683'),_0x368e5a[_0x368e5a['SwitchClauseStatements']=0x3]=_0x1a4e('0x2684'),_0x368e5a[_0x368e5a[_0x1a4e('0x2685')]=0x4]='TypeMembers',_0x368e5a[_0x368e5a[_0x1a4e('0x1b18')]=0x5]=_0x1a4e('0x1b18'),_0x368e5a[_0x368e5a[_0x1a4e('0x2686')]=0x6]='EnumMembers',_0x368e5a[_0x368e5a[_0x1a4e('0x2687')]=0x7]=_0x1a4e('0x2687'),_0x368e5a[_0x368e5a[_0x1a4e('0x2688')]=0x8]=_0x1a4e('0x2688'),_0x368e5a[_0x368e5a[_0x1a4e('0x2689')]=0x9]=_0x1a4e('0x2689'),_0x368e5a[_0x368e5a[_0x1a4e('0x268a')]=0xa]=_0x1a4e('0x268a'),_0x368e5a[_0x368e5a[_0x1a4e('0x268b')]=0xb]=_0x1a4e('0x268b'),_0x368e5a[_0x368e5a[_0x1a4e('0x268c')]=0xc]=_0x1a4e('0x268c'),_0x368e5a[_0x368e5a[_0x1a4e('0x187d')]=0xd]=_0x1a4e('0x187d'),_0x368e5a[_0x368e5a[_0x1a4e('0x268d')]=0xe]='JsxChildren',_0x368e5a[_0x368e5a[_0x1a4e('0x268e')]=0xf]=_0x1a4e('0x268e'),_0x368e5a[_0x368e5a['Parameters']=0x10]=_0x1a4e('0x1b24'),_0x368e5a[_0x368e5a['JSDocParameters']=0x11]='JSDocParameters',_0x368e5a[_0x368e5a[_0x1a4e('0x268f')]=0x12]=_0x1a4e('0x268f'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b23')]=0x13]=_0x1a4e('0x1b23'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b22')]=0x14]='TypeArguments',_0x368e5a[_0x368e5a[_0x1a4e('0x2690')]=0x15]=_0x1a4e('0x2690'),_0x368e5a[_0x368e5a[_0x1a4e('0x1b05')]=0x16]=_0x1a4e('0x1b05'),_0x368e5a[_0x368e5a['ImportOrExportSpecifiers']=0x17]=_0x1a4e('0x2691'),_0x368e5a[_0x368e5a[_0x1a4e('0x2692')]=0x18]=_0x1a4e('0x2692');}(_0x19e3fa||(_0x19e3fa={})),function(_0x368e5a){_0x368e5a[_0x368e5a['False']=0x0]='False',_0x368e5a[_0x368e5a[_0x1a4e('0x1a23')]=0x1]=_0x1a4e('0x1a23'),_0x368e5a[_0x368e5a[_0x1a4e('0x1785')]=0x2]=_0x1a4e('0x1785');}(_0x94756e||(_0x94756e={})),function(_0x146f6e){function _0x2327c6(_0x368e5a){var _0x146f6e=_0x51e3f8(0x11b),_0x2327c6=(_0x368e5a?_0xb98295:_0x4c6850)(0x12);return _0x146f6e[_0x1a4e('0x40')]=_0x516dad(0x200000,_0x186641),_0x368e5a&&!_0x2327c6||_0x4c6850(0x13),_0x1ad920(_0x146f6e),_0x5233b4(_0x146f6e);}var _0x55ff7e,_0x1adc17;function _0xf79407(_0x146f6e,_0x55ff7e){void 0x0===_0x146f6e&&(_0x146f6e=0x0);var _0x1adc17=_0x524297,_0xf79407=void 0x0===_0x55ff7e?_0x1adc17[_0x1a4e('0x1e')]:_0x146f6e+_0x55ff7e;if(_0x55ff7e=_0xf79407-_0x146f6e,_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x146f6e>=0x0),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x146f6e<=_0xf79407),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0xf79407<=_0x1adc17[_0x1a4e('0x1e')]),_0x56674b(_0x1adc17,_0x146f6e)){var _0x2c9ec9,_0x420b32,_0x1b06ad,_0x1c692c=[];return _0x3faf34[_0x1a4e('0x2693')](_0x146f6e+0x3,_0x55ff7e-0x5,function(){var _0x368e5a,_0x2327c6,_0x55ff7e=0x1,_0x326eae=_0x146f6e-Math[_0x1a4e('0x6c')](_0x1adc17['lastIndexOf']('\x0a',_0x146f6e),0x0)+0x4;function _0x56674b(_0x146f6e){_0x368e5a||(_0x368e5a=_0x326eae),_0x1c692c[_0x1a4e('0x46')](_0x146f6e),_0x326eae+=_0x146f6e[_0x1a4e('0x1e')];}for(_0x54d855();_0x1ad920(0x5););_0x1ad920(0x4)&&(_0x55ff7e=0x0,_0x326eae=0x0);_0x5df22e:for(;;){switch(_0x70b93f()){case 0x3a:0x0===_0x55ff7e||0x1===_0x55ff7e?(_0x12e259(_0x1c692c),_0x5ec4c1(_0xfad49a(_0x326eae)),_0x55ff7e=0x0,_0x368e5a=void 0x0,_0x326eae++):_0x56674b(_0x3faf34[_0x1a4e('0x2694')]());break;case 0x4:_0x1c692c['push'](_0x3faf34[_0x1a4e('0x2694')]()),_0x55ff7e=0x0,_0x326eae=0x0;break;case 0x28:var _0x4a3a80=_0x3faf34[_0x1a4e('0x2694')]();0x1===_0x55ff7e||0x2===_0x55ff7e?(_0x55ff7e=0x2,_0x56674b(_0x4a3a80)):(_0x55ff7e=0x1,_0x326eae+=_0x4a3a80[_0x1a4e('0x1e')]);break;case 0x5:var _0x524297=_0x3faf34[_0x1a4e('0x2694')]();0x2===_0x55ff7e?_0x1c692c[_0x1a4e('0x46')](_0x524297):void 0x0!==_0x368e5a&&_0x326eae+_0x524297['length']>_0x368e5a&&_0x1c692c[_0x1a4e('0x46')](_0x524297[_0x1a4e('0x78')](_0x368e5a-_0x326eae-0x1)),_0x326eae+=_0x524297[_0x1a4e('0x1e')];break;case 0x1:break _0x5df22e;default:_0x55ff7e=0x2,_0x56674b(_0x3faf34[_0x1a4e('0x2694')]());}_0x54d855();}return _0x114b35(_0x1c692c),_0x12e259(_0x1c692c),(_0x2327c6=_0x51e3f8(0x123,_0x146f6e))[_0x1a4e('0x2455')]=_0x2c9ec9&&_0x4a58af(_0x2c9ec9,_0x420b32,_0x1b06ad),_0x2327c6[_0x1a4e('0x2695')]=_0x1c692c[_0x1a4e('0x1e')]?_0x1c692c[_0x1a4e('0x9e')](''):void 0x0,_0x5233b4(_0x2327c6,_0xf79407);});}function _0x114b35(_0x368e5a){for(;_0x368e5a[_0x1a4e('0x1e')]&&('\x0a'===_0x368e5a[0x0]||'\x0d'===_0x368e5a[0x0]);)_0x368e5a[_0x1a4e('0x7d')]();}function _0x12e259(_0x368e5a){for(;_0x368e5a[_0x1a4e('0x1e')]&&''===_0x368e5a[_0x368e5a[_0x1a4e('0x1e')]-0x1][_0x1a4e('0x2bd')]();)_0x368e5a[_0x1a4e('0x76')]();}function _0x4a3a80(){for(;;){if(_0x54d855(),0x1===_0x70b93f())return!0x0;if(0x5!==_0x70b93f()&&0x4!==_0x70b93f())return!0x1;}}function _0x227043(){if(0x5!==_0x70b93f()&&0x4!==_0x70b93f()||!_0x53c1e5(_0x4a3a80))for(;0x5===_0x70b93f()||0x4===_0x70b93f();)_0x54d855();}function _0x28536b(){if(0x5!==_0x70b93f()&&0x4!==_0x70b93f()||!_0x53c1e5(_0x4a3a80))for(var _0x368e5a=_0x3faf34[_0x1a4e('0x265c')]();_0x368e5a&&0x28===_0x70b93f()||0x5===_0x70b93f()||0x4===_0x70b93f();)0x4===_0x70b93f()?_0x368e5a=!0x0:0x28===_0x70b93f()&&(_0x368e5a=!0x1),_0x54d855();}function _0xfad49a(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')]['assert'](0x3a===_0x70b93f());var _0x55ff7e=_0x3faf34[_0x1a4e('0x22f9')]();_0x54d855();var _0x1adc17,_0xf79407=_0x4c0d02(void 0x0);switch(_0x28536b(),_0xf79407['escapedText']){case _0x1a4e('0x2696'):case _0x1a4e('0x229d'):_0x1adc17=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x51e3f8(0x127,_0x368e5a);return _0x2327c6['tagName']=_0x146f6e,_0x2327c6[_0x1a4e('0x237e')]=function(){var _0x368e5a=_0xb98295(0x12),_0x146f6e=_0x51e3f8(0xd3);_0x146f6e['expression']=function(){for(var _0x368e5a=_0x4c0d02();_0xb98295(0x18);){var _0x146f6e=_0x51e3f8(0xbd,_0x368e5a[_0x1a4e('0xa4')]);_0x146f6e[_0x1a4e('0x2302')]=_0x368e5a,_0x146f6e[_0x1a4e('0x2cb')]=_0x4c0d02(),_0x368e5a=_0x5233b4(_0x146f6e);}return _0x368e5a;}(),_0x146f6e[_0x1a4e('0x2365')]=_0x37501b();var _0x2327c6=_0x5233b4(_0x146f6e);return _0x368e5a&&_0x4c6850(0x13),_0x2327c6;}(),_0x5233b4(_0x2327c6);}(_0x55ff7e,_0xf79407);break;case _0x1a4e('0x237e'):case _0x1a4e('0x10'):_0x1adc17=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x51e3f8(0x128,_0x368e5a);return _0x2327c6['tagName']=_0x146f6e,_0x5233b4(_0x2327c6);}(_0x55ff7e,_0xf79407);break;case _0x1a4e('0x19b5'):_0x1adc17=function(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x51e3f8(0x12d,_0x368e5a);return _0x55ff7e['tagName']=_0x146f6e,_0x55ff7e[_0x1a4e('0x2379')]=_0x2327c6(!0x0),_0x227043(),_0x5233b4(_0x55ff7e);}(_0x55ff7e,_0xf79407);break;case _0x1a4e('0x889'):_0x1adc17=function(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x51e3f8(0x12a,_0x368e5a);return _0x55ff7e[_0x1a4e('0x132b')]=_0x146f6e,_0x55ff7e[_0x1a4e('0x2379')]=_0x2327c6(!0x0),_0x227043(),_0x5233b4(_0x55ff7e);}(_0x55ff7e,_0xf79407);break;case _0x1a4e('0x1363'):case _0x1a4e('0x2300'):case _0x1a4e('0x195'):return _0x1434ae(_0x55ff7e,_0xf79407,0x2,_0x146f6e);case _0x1a4e('0xe40'):case'returns':_0x1adc17=function(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x3b')](_0x2c9ec9,function(_0x368e5a){return 0x12c===_0x368e5a['kind'];})&&_0x36609c(_0x2327c6[_0x1a4e('0xa4')],_0x3faf34[_0x1a4e('0x22f9')](),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2697')],_0x2327c6[_0x1a4e('0x22f3')]);var _0x55ff7e=_0x51e3f8(0x12c,_0x146f6e);return _0x55ff7e[_0x1a4e('0x132b')]=_0x2327c6,_0x55ff7e[_0x1a4e('0x2379')]=_0x2b279e(),_0x5233b4(_0x55ff7e);}(_0x55ff7e,_0xf79407);break;case _0x1a4e('0xe19'):_0x1adc17=function(_0x146f6e,_0x55ff7e){var _0x1adc17;0x12===_0x70b93f()&&(_0x1adc17=_0x2327c6());var _0xf79407=[],_0x2c9ec9=_0x36f1b9();do{_0x227043();var _0x420b32=_0x51e3f8(0x96);_0x420b32[_0x1a4e('0x2cb')]=_0x4c0d02(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2698')]),_0x5233b4(_0x420b32),_0x227043(),_0xf79407[_0x1a4e('0x46')](_0x420b32);}while(_0x1ad920(0x1b));var _0x1b06ad=_0x51e3f8(0x12f,_0x146f6e);return _0x1b06ad[_0x1a4e('0x132b')]=_0x55ff7e,_0x1b06ad[_0x1a4e('0x2364')]=_0x1adc17,_0x1b06ad['typeParameters']=_0x4a58af(_0xf79407,_0x2c9ec9),_0x5233b4(_0x1b06ad),_0x1b06ad;}(_0x55ff7e,_0xf79407);break;case _0x1a4e('0x40'):_0x1adc17=_0x17377b(_0x55ff7e,_0xf79407);break;case'typedef':_0x1adc17=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2b279e();_0x28536b();var _0xf79407,_0x2c9ec9=_0x51e3f8(0x130,_0x146f6e);if(_0x2c9ec9[_0x1a4e('0x132b')]=_0x2327c6,_0x2c9ec9['fullName']=_0x344986(),_0x2c9ec9['name']=_0x4c23f5(_0x2c9ec9[_0x1a4e('0x2613')]),_0x227043(),_0x2c9ec9[_0x1a4e('0x2695')]=_0x222081(_0x55ff7e),_0x2c9ec9[_0x1a4e('0x2379')]=_0x1adc17,!_0x1adc17||_0x94756e(_0x1adc17[_0x1a4e('0x40')])){for(var _0x420b32=void 0x0,_0x1b06ad=void 0x0,_0x326eae=void 0x0;_0x420b32=_0x1b727c(function(){return _0x1547fe(_0x55ff7e);});)if(_0x1b06ad||(_0x1b06ad=_0x51e3f8(0x124,_0x146f6e)),0x12e===_0x420b32[_0x1a4e('0x146b')]){if(_0x326eae)break;_0x326eae=_0x420b32;}else _0x1b06ad[_0x1a4e('0x2614')]=_0x368e5a['append'](_0x1b06ad[_0x1a4e('0x2614')],_0x420b32);_0x1b06ad&&(_0x1adc17&&0xa9===_0x1adc17['type'][_0x1a4e('0x146b')]&&(_0x1b06ad[_0x1a4e('0x2699')]=!0x0),_0x2c9ec9['typeExpression']=_0x326eae&&_0x326eae[_0x1a4e('0x2379')]&&!_0x94756e(_0x326eae[_0x1a4e('0x2379')]['type'])?_0x326eae[_0x1a4e('0x2379')]:_0x5233b4(_0x1b06ad),_0xf79407=_0x2c9ec9[_0x1a4e('0x2379')][_0x1a4e('0xca')]);}return _0x5233b4(_0x2c9ec9,_0xf79407||void 0x0!==_0x2c9ec9[_0x1a4e('0x2695')]?_0x3faf34[_0x1a4e('0x2645')]():(_0x2c9ec9[_0x1a4e('0x2613')]||_0x2c9ec9[_0x1a4e('0x2379')]||_0x2c9ec9[_0x1a4e('0x132b')])['end']);}(_0x55ff7e,_0xf79407,_0x146f6e);break;case _0x1a4e('0x13db'):_0x1adc17=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0xf79407=_0x51e3f8(0x129,_0x146f6e);_0xf79407['tagName']=_0x2327c6,_0xf79407[_0x1a4e('0x2613')]=_0x344986(),_0xf79407[_0x1a4e('0x2cb')]=_0x4c23f5(_0xf79407[_0x1a4e('0x2613')]),_0x227043(),_0xf79407[_0x1a4e('0x2695')]=_0x222081(_0x55ff7e);var _0x2c9ec9=_0x51e3f8(0x125,_0x146f6e);_0x2c9ec9[_0x1a4e('0x111a')]=[];for(;_0x1adc17=_0x1b727c(function(){return _0x54622a(0x4,_0x55ff7e);});)_0x2c9ec9[_0x1a4e('0x111a')]=_0x368e5a[_0x1a4e('0x252')](_0x2c9ec9[_0x1a4e('0x111a')],_0x1adc17);var _0x420b32=_0x1b727c(function(){if(_0x1ad920(0x3a)){var _0x368e5a=_0xfad49a(_0x55ff7e);if(_0x368e5a&&0x12c===_0x368e5a['kind'])return _0x368e5a;}});_0x420b32&&(_0x2c9ec9[_0x1a4e('0x40')]=_0x420b32);return _0xf79407[_0x1a4e('0x2379')]=_0x5233b4(_0x2c9ec9),_0x5233b4(_0xf79407);}(_0x55ff7e,_0xf79407,_0x146f6e);break;default:_0x1adc17=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x51e3f8(0x126,_0x368e5a);return _0x2327c6[_0x1a4e('0x132b')]=_0x146f6e,_0x5233b4(_0x2327c6);}(_0x55ff7e,_0xf79407);}return _0x1adc17[_0x1a4e('0x2695')]||(_0x1adc17[_0x1a4e('0x2695')]=_0x222081(_0x146f6e+_0x1adc17[_0x1a4e('0xca')]-_0x1adc17[_0x1a4e('0xa4')])),_0x1adc17;}function _0x222081(_0x146f6e){var _0x2327c6,_0x55ff7e=[],_0x1adc17=0x0;function _0xf79407(_0x368e5a){_0x2327c6||(_0x2327c6=_0x146f6e),_0x55ff7e[_0x1a4e('0x46')](_0x368e5a),_0x146f6e+=_0x368e5a[_0x1a4e('0x1e')];}var _0x2c9ec9=_0x70b93f();_0x378f0f:for(;;){switch(_0x2c9ec9){case 0x4:_0x1adc17>=0x1&&(_0x1adc17=0x0,_0x55ff7e[_0x1a4e('0x46')](_0x3faf34[_0x1a4e('0x2694')]())),_0x146f6e=0x0;break;case 0x3a:_0x3faf34['setTextPos'](_0x3faf34[_0x1a4e('0x2615')]()-0x1);case 0x1:break _0x378f0f;case 0x5:if(0x2===_0x1adc17)_0xf79407(_0x3faf34['getTokenText']());else{var _0x420b32=_0x3faf34['getTokenText']();void 0x0!==_0x2327c6&&_0x146f6e+_0x420b32[_0x1a4e('0x1e')]>_0x2327c6&&_0x55ff7e[_0x1a4e('0x46')](_0x420b32[_0x1a4e('0x78')](_0x2327c6-_0x146f6e-0x1)),_0x146f6e+=_0x420b32[_0x1a4e('0x1e')];}break;case 0x12:_0x1adc17=0x2,_0x53c1e5(function(){return 0x3a===_0x54d855()&&_0x368e5a[_0x1a4e('0x2298')](_0x54d855())&&'link'===_0x3faf34['getTokenText']();})&&(_0xf79407(_0x3faf34[_0x1a4e('0x2694')]()),_0x54d855(),_0xf79407(_0x3faf34[_0x1a4e('0x2694')]()),_0x54d855()),_0xf79407(_0x3faf34[_0x1a4e('0x2694')]());break;case 0x28:if(0x0===_0x1adc17){_0x1adc17=0x1,_0x146f6e+=0x1;break;}default:_0x1adc17=0x2,_0xf79407(_0x3faf34[_0x1a4e('0x2694')]());}_0x2c9ec9=_0x54d855();}return _0x114b35(_0x55ff7e),_0x12e259(_0x55ff7e),0x0===_0x55ff7e[_0x1a4e('0x1e')]?void 0x0:_0x55ff7e[_0x1a4e('0x9e')]('');}function _0x5ec4c1(_0x368e5a){_0x368e5a&&(_0x2c9ec9?_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a):(_0x2c9ec9=[_0x368e5a],_0x420b32=_0x368e5a[_0x1a4e('0xa4')]),_0x1b06ad=_0x368e5a[_0x1a4e('0xca')]);}function _0x2b279e(){return _0x28536b(),0x12===_0x70b93f()?_0x2327c6():void 0x0;}function _0x19e3fa(){if(0xe===_0x70b93f())return{'name':_0x1395b0(!0x0),'isBracketed':!0x1};var _0x368e5a=_0xb98295(0x16),_0x146f6e=function(){var _0x368e5a=_0x4c0d02();_0xb98295(0x16)&&_0x4c6850(0x17);for(;_0xb98295(0x18);){var _0x146f6e=_0x4c0d02();_0xb98295(0x16)&&_0x4c6850(0x17),_0x368e5a=_0x4367f9(_0x368e5a,_0x146f6e);}return _0x368e5a;}();return _0x368e5a&&(_0x227043(),_0x3b6f68(0x3b)&&_0x3ae484(),_0x4c6850(0x17)),{'name':_0x146f6e,'isBracketed':_0x368e5a};}function _0x94756e(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x88:return!0x0;case 0xa9:return _0x94756e(_0x146f6e[_0x1a4e('0x2388')]);default:return _0x368e5a[_0x1a4e('0x269a')](_0x146f6e)&&_0x368e5a['isIdentifier'](_0x146f6e[_0x1a4e('0xe7d')])&&'Object'===_0x146f6e[_0x1a4e('0xe7d')][_0x1a4e('0x22f3')];}}function _0x1434ae(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2b279e(),_0x2c9ec9=!_0xf79407;_0x28536b();var _0x420b32=_0x19e3fa(),_0x1b06ad=_0x420b32[_0x1a4e('0x2cb')],_0x326eae=_0x420b32[_0x1a4e('0x269b')];_0x227043(),_0x2c9ec9&&(_0xf79407=_0x2b279e());var _0x56674b=_0x51e3f8(0x1===_0x55ff7e?0x131:0x12b,_0x146f6e),_0x1c692c=_0x222081(_0x1adc17+_0x3faf34[_0x1a4e('0x2645')]()-_0x146f6e),_0x114b35=0x4!==_0x55ff7e&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x146f6e&&_0x94756e(_0x146f6e[_0x1a4e('0x40')])){for(var _0xf79407=_0x51e3f8(0x11b,_0x3faf34[_0x1a4e('0x22f9')]()),_0x2c9ec9=void 0x0,_0x420b32=void 0x0,_0x1b06ad=_0x3faf34['getStartPos'](),_0x326eae=void 0x0;_0x2c9ec9=_0x1b727c(function(){return _0x54622a(_0x55ff7e,_0x1adc17,_0x2327c6);});)0x12b!==_0x2c9ec9[_0x1a4e('0x146b')]&&0x131!==_0x2c9ec9[_0x1a4e('0x146b')]||(_0x326eae=_0x368e5a[_0x1a4e('0x252')](_0x326eae,_0x2c9ec9));if(_0x326eae)return(_0x420b32=_0x51e3f8(0x124,_0x1b06ad))[_0x1a4e('0x2614')]=_0x326eae,0xa9===_0x146f6e[_0x1a4e('0x40')][_0x1a4e('0x146b')]&&(_0x420b32[_0x1a4e('0x2699')]=!0x0),_0xf79407[_0x1a4e('0x40')]=_0x5233b4(_0x420b32),_0x5233b4(_0xf79407);}}(_0xf79407,_0x1b06ad,_0x55ff7e,_0x1adc17);return _0x114b35&&(_0xf79407=_0x114b35,_0x2c9ec9=!0x0),_0x56674b[_0x1a4e('0x132b')]=_0x2327c6,_0x56674b[_0x1a4e('0x2379')]=_0xf79407,_0x56674b[_0x1a4e('0x2cb')]=_0x1b06ad,_0x56674b[_0x1a4e('0x2612')]=_0x2c9ec9,_0x56674b['isBracketed']=_0x326eae,_0x56674b[_0x1a4e('0x2695')]=_0x1c692c,_0x5233b4(_0x56674b);}function _0x17377b(_0x146f6e,_0x55ff7e){_0x368e5a[_0x1a4e('0x3b')](_0x2c9ec9,function(_0x368e5a){return 0x12e===_0x368e5a[_0x1a4e('0x146b')];})&&_0x36609c(_0x55ff7e[_0x1a4e('0xa4')],_0x3faf34[_0x1a4e('0x22f9')](),_0x368e5a[_0x1a4e('0x167d')]['_0_tag_already_specified'],_0x55ff7e[_0x1a4e('0x22f3')]);var _0x1adc17=_0x51e3f8(0x12e,_0x146f6e);return _0x1adc17[_0x1a4e('0x132b')]=_0x55ff7e,_0x1adc17[_0x1a4e('0x2379')]=_0x2327c6(!0x0),_0x5233b4(_0x1adc17);}function _0x344986(_0x146f6e){var _0x2327c6=_0x3faf34[_0x1a4e('0x22f9')]();if(_0x368e5a[_0x1a4e('0x2298')](_0x70b93f())){var _0x55ff7e=_0x4c0d02();if(_0xb98295(0x18)){var _0x1adc17=_0x51e3f8(0xf4,_0x2327c6);return _0x146f6e&&(_0x1adc17[_0x1a4e('0x7b2')]|=0x4),_0x1adc17[_0x1a4e('0x2cb')]=_0x55ff7e,_0x1adc17[_0x1a4e('0x8f2')]=_0x344986(!0x0),_0x5233b4(_0x1adc17);}return _0x146f6e&&(_0x55ff7e[_0x1a4e('0x269c')]=!0x0),_0x55ff7e;}}function _0x4c23f5(_0x146f6e){if(_0x146f6e)for(var _0x2327c6=_0x146f6e;;){if(_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)||!_0x2327c6[_0x1a4e('0x8f2')])return _0x368e5a[_0x1a4e('0x2370')](_0x2327c6)?_0x2327c6:_0x2327c6[_0x1a4e('0x2cb')];_0x2327c6=_0x2327c6[_0x1a4e('0x8f2')];}}function _0x4b5cdd(_0x146f6e,_0x2327c6){for(;!_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)||!_0x368e5a[_0x1a4e('0x2370')](_0x2327c6);){if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)||_0x146f6e[_0x1a4e('0x5d')][_0x1a4e('0x22f3')]!==_0x2327c6['right'][_0x1a4e('0x22f3')])return!0x1;_0x146f6e=_0x146f6e['left'],_0x2327c6=_0x2327c6[_0x1a4e('0x5f')];}return _0x146f6e[_0x1a4e('0x22f3')]===_0x2327c6[_0x1a4e('0x22f3')];}function _0x1547fe(_0x368e5a){return _0x54622a(0x1,_0x368e5a);}function _0x54622a(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=!0x0,_0xf79407=!0x1;;)switch(_0x54d855()){case 0x3a:if(_0x1adc17){var _0x2c9ec9=_0x7aa688(_0x146f6e,_0x2327c6);return!(_0x2c9ec9&&(0x12b===_0x2c9ec9['kind']||0x131===_0x2c9ec9[_0x1a4e('0x146b')])&&0x4!==_0x146f6e&&_0x55ff7e&&(_0x368e5a['isIdentifier'](_0x2c9ec9['name'])||!_0x4b5cdd(_0x55ff7e,_0x2c9ec9[_0x1a4e('0x2cb')]['left'])))&&_0x2c9ec9;}_0xf79407=!0x1;break;case 0x4:_0x1adc17=!0x0,_0xf79407=!0x1;break;case 0x28:_0xf79407&&(_0x1adc17=!0x1),_0xf79407=!0x0;break;case 0x48:_0x1adc17=!0x1;break;case 0x1:return!0x1;}}function _0x7aa688(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x3a===_0x70b93f());var _0x55ff7e=_0x3faf34['getStartPos']();_0x54d855();var _0x1adc17,_0xf79407=_0x4c0d02();switch(_0x227043(),_0xf79407[_0x1a4e('0x22f3')]){case _0x1a4e('0x40'):return 0x1===_0x146f6e&&_0x17377b(_0x55ff7e,_0xf79407);case _0x1a4e('0x269d'):case _0x1a4e('0x81e'):_0x1adc17=0x1;break;case'arg':case'argument':case _0x1a4e('0x195'):_0x1adc17=0x6;break;default:return!0x1;}return!!(_0x146f6e&_0x1adc17)&&_0x1434ae(_0x55ff7e,_0xf79407,_0x146f6e,_0x2327c6);}function _0x54d855(){return _0x326eae=_0x3faf34[_0x1a4e('0x269e')]();}function _0x1ad920(_0x368e5a){return _0x70b93f()===_0x368e5a&&(_0x54d855(),!0x0);}function _0x4c0d02(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2298')](_0x70b93f()))return _0xa004e8(0x48,!_0x146f6e,_0x146f6e||_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2649')]);var _0x2327c6=_0x3faf34[_0x1a4e('0x22f9')](),_0x55ff7e=_0x3faf34['getTextPos'](),_0x1adc17=_0x51e3f8(0x48,_0x2327c6);return _0x1adc17[_0x1a4e('0x22f3')]=_0x368e5a[_0x1a4e('0x22f4')](_0x3faf34[_0x1a4e('0x2694')]()),_0x5233b4(_0x1adc17,_0x55ff7e),_0x54d855(),_0x1adc17;}}_0x146f6e[_0x1a4e('0x2635')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){_0x1547fe(_0x368e5a,0x6,void 0x0,0x1),_0x2c9ec9=_0x4c0d02(_0x1a4e('0x269f'),0x6,0x1,!0x1),_0x3faf34[_0x1a4e('0x2637')](_0x368e5a,_0x146f6e,_0x55ff7e),_0x326eae=_0x3faf34['scan']();var _0x1adc17=_0x2327c6(),_0xf79407=_0x420b32;return _0x54622a(),_0x1adc17?{'jsDocTypeExpression':_0x1adc17,'diagnostics':_0xf79407}:void 0x0;},_0x146f6e['parseJSDocTypeExpression']=_0x2327c6,_0x146f6e[_0x1a4e('0x2634')]=function(_0x368e5a,_0x146f6e,_0x2327c6){_0x1547fe(_0x368e5a,0x6,void 0x0,0x1),_0x2c9ec9={'languageVariant':0x0,'text':_0x368e5a};var _0x55ff7e=_0xf79407(_0x146f6e,_0x2327c6),_0x1adc17=_0x420b32;return _0x54622a(),_0x55ff7e?{'jsDoc':_0x55ff7e,'diagnostics':_0x1adc17}:void 0x0;},_0x146f6e['parseJSDocComment']=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x326eae,_0x1b06ad=_0x420b32[_0x1a4e('0x1e')],_0x56674b=_0x344986,_0x1c692c=_0xf79407(_0x146f6e,_0x2327c6);return _0x1c692c&&(_0x1c692c[_0x1a4e('0x11c')]=_0x368e5a),0x10000&_0x5ec4c1&&(_0x2c9ec9[_0x1a4e('0x26a0')]||(_0x2c9ec9[_0x1a4e('0x26a0')]=[]),(_0x55ff7e=_0x2c9ec9[_0x1a4e('0x26a0')])['push'][_0x1a4e('0x8b')](_0x55ff7e,_0x420b32)),_0x326eae=_0x1adc17,_0x420b32[_0x1a4e('0x1e')]=_0x1b06ad,_0x344986=_0x56674b,_0x1c692c;},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x26a1')]=0x0]=_0x1a4e('0x26a1'),_0x368e5a[_0x368e5a[_0x1a4e('0x26a2')]=0x1]=_0x1a4e('0x26a2'),_0x368e5a[_0x368e5a[_0x1a4e('0x26a3')]=0x2]=_0x1a4e('0x26a3');}(_0x55ff7e||(_0x55ff7e={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1963')]=0x1]='Property',_0x368e5a[_0x368e5a[_0x1a4e('0x1817')]=0x2]=_0x1a4e('0x1817'),_0x368e5a[_0x368e5a[_0x1a4e('0x26a4')]=0x4]=_0x1a4e('0x26a4');}(_0x1adc17||(_0x1adc17={})),_0x146f6e[_0x1a4e('0x26a5')]=_0xf79407;}(_0x1434ae=_0x146f6e['JSDocParser']||(_0x146f6e[_0x1a4e('0x2633')]={}));}(_0x2c9ec9||(_0x2c9ec9={})),function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad){return void(_0x2327c6?_0x56674b(_0x146f6e):_0x326eae(_0x146f6e));function _0x326eae(_0x146f6e){var _0x2327c6='';if(_0x1b06ad&&_0x55ff7e(_0x146f6e)&&(_0x2327c6=_0x2c9ec9[_0x1a4e('0x281')](_0x146f6e[_0x1a4e('0xa4')],_0x146f6e[_0x1a4e('0xca')])),_0x146f6e[_0x1a4e('0x22ed')]&&(_0x146f6e[_0x1a4e('0x22ed')]=void 0x0),_0x146f6e[_0x1a4e('0xa4')]+=_0x1adc17,_0x146f6e[_0x1a4e('0xca')]+=_0x1adc17,_0x1b06ad&&_0x55ff7e(_0x146f6e)&&_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x2327c6===_0x420b32[_0x1a4e('0x281')](_0x146f6e[_0x1a4e('0xa4')],_0x146f6e[_0x1a4e('0xca')])),_0x1c692c(_0x146f6e,_0x326eae,_0x56674b),_0x368e5a['hasJSDocNodes'](_0x146f6e))for(var _0x114b35=0x0,_0x12e259=_0x146f6e[_0x1a4e('0x22ec')];_0x114b35<_0x12e259[_0x1a4e('0x1e')];_0x114b35++){_0x326eae(_0x12e259[_0x114b35]);}_0xf79407(_0x146f6e,_0x1b06ad);}function _0x56674b(_0x368e5a){_0x368e5a['_children']=void 0x0,_0x368e5a['pos']+=_0x1adc17,_0x368e5a['end']+=_0x1adc17;for(var _0x146f6e=0x0,_0x2327c6=_0x368e5a;_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){_0x326eae(_0x2327c6[_0x146f6e]);}}}function _0x55ff7e(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xa:case 0x8:case 0x48:return!0x0;}return!0x1;}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x146f6e[_0x1a4e('0xca')]>=_0x2327c6,'Adjusting\x20an\x20element\x20that\x20was\x20entirely\x20before\x20the\x20change\x20range'),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0xa4')]<=_0x55ff7e,_0x1a4e('0x26a6')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0xa4')]<=_0x146f6e['end']),_0x146f6e['pos']=Math['min'](_0x146f6e[_0x1a4e('0xa4')],_0x1adc17),_0x146f6e[_0x1a4e('0xca')]>=_0x55ff7e?_0x146f6e['end']+=_0xf79407:_0x146f6e['end']=Math[_0x1a4e('0x74')](_0x146f6e[_0x1a4e('0xca')],_0x1adc17),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0xa4')]<=_0x146f6e[_0x1a4e('0xca')]),_0x146f6e[_0x1a4e('0x11c')]&&(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0xa4')]>=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0xa4')]),_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x146f6e['end']<=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0xca')]));}function _0xf79407(_0x146f6e,_0x2327c6){if(_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0xa4')],_0x1adc17=function(_0x146f6e){_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0xa4')]>=_0x55ff7e),_0x55ff7e=_0x146f6e['end'];};if(_0x368e5a[_0x1a4e('0x23d0')](_0x146f6e))for(var _0xf79407=0x0,_0x2c9ec9=_0x146f6e[_0x1a4e('0x22ec')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){_0x1adc17(_0x2c9ec9[_0xf79407]);}_0x1c692c(_0x146f6e,_0x1adc17),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x55ff7e<=_0x146f6e[_0x1a4e('0xca')]);}}function _0x420b32(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x146f6e;if(_0x1c692c(_0x146f6e,function _0x146f6e(_0xf79407){if(_0x368e5a[_0x1a4e('0x2327')](_0xf79407))return;if(!(_0xf79407[_0x1a4e('0xa4')]<=_0x2327c6))return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0xf79407[_0x1a4e('0xa4')]>_0x2327c6),!0x0;if(_0xf79407[_0x1a4e('0xa4')]>=_0x1adc17[_0x1a4e('0xa4')]&&(_0x1adc17=_0xf79407),_0x2327c6<_0xf79407[_0x1a4e('0xca')])return _0x1c692c(_0xf79407,_0x146f6e),!0x0;_0x368e5a[_0x1a4e('0x1749')]['assert'](_0xf79407[_0x1a4e('0xca')]<=_0x2327c6),_0x55ff7e=_0xf79407;}),_0x55ff7e){var _0xf79407=function(_0x146f6e){for(;;){var _0x2327c6=_0x368e5a['getLastChild'](_0x146f6e);if(!_0x2327c6)return _0x146f6e;_0x146f6e=_0x2327c6;}}(_0x55ff7e);_0xf79407[_0x1a4e('0xa4')]>_0x1adc17[_0x1a4e('0xa4')]&&(_0x1adc17=_0xf79407);}return _0x1adc17;}function _0x1b06ad(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e[_0x1a4e('0xe04')];if(_0x55ff7e&&(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0xf79407[_0x1a4e('0x1e')]-_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0x1e')]+_0x55ff7e['newLength']===_0x2327c6[_0x1a4e('0x1e')]),_0x1adc17||_0x368e5a[_0x1a4e('0x1749')]['shouldAssert'](0x3))){var _0x2c9ec9=_0xf79407['substr'](0x0,_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]),_0x420b32=_0x2327c6[_0x1a4e('0x254')](0x0,_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]);_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2c9ec9===_0x420b32);var _0x1b06ad=_0xf79407[_0x1a4e('0x281')](_0x368e5a['textSpanEnd'](_0x55ff7e[_0x1a4e('0x24c0')]),_0xf79407[_0x1a4e('0x1e')]),_0x326eae=_0x2327c6['substring'](_0x368e5a[_0x1a4e('0x24b4')](_0x368e5a['textChangeRangeNewSpan'](_0x55ff7e)),_0x2327c6[_0x1a4e('0x1e')]);_0x368e5a['Debug']['assert'](_0x1b06ad===_0x326eae);}}var _0x326eae;_0x146f6e['updateSourceFile']=function(_0x146f6e,_0x55ff7e,_0x326eae,_0x56674b){if(_0x1b06ad(_0x146f6e,_0x55ff7e,_0x326eae,_0x56674b=_0x56674b||_0x368e5a['Debug'][_0x1a4e('0x1739')](0x2)),_0x368e5a[_0x1a4e('0x24c2')](_0x326eae))return _0x146f6e;if(0x0===_0x146f6e[_0x1a4e('0x2366')][_0x1a4e('0x1e')])return _0x2c9ec9['parseSourceFile'](_0x146f6e[_0x1a4e('0x1b39')],_0x55ff7e,_0x146f6e[_0x1a4e('0x22f6')],void 0x0,!0x0,_0x146f6e['scriptKind']);var _0x114b35=_0x146f6e;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x114b35[_0x1a4e('0x26a7')]),_0x114b35['hasBeenIncrementallyParsed']=!0x0;var _0x12e259=_0x146f6e[_0x1a4e('0xe04')],_0x4a3a80=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2366')],_0x55ff7e=0x0;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x55ff7e<_0x2327c6[_0x1a4e('0x1e')]);var _0x1adc17=_0x2327c6[_0x55ff7e],_0xf79407=-0x1;return{'currentNode':function(_0x2c9ec9){return _0x2c9ec9!==_0xf79407&&(_0x1adc17&&_0x1adc17[_0x1a4e('0xca')]===_0x2c9ec9&&_0x55ff7e<_0x2327c6['length']-0x1&&(_0x1adc17=_0x2327c6[++_0x55ff7e]),_0x1adc17&&_0x1adc17[_0x1a4e('0xa4')]===_0x2c9ec9||function(_0x368e5a){return _0x2327c6=void 0x0,_0x55ff7e=-0x1,_0x1adc17=void 0x0,void _0x1c692c(_0x146f6e,_0xf79407,_0x2c9ec9);function _0xf79407(_0x146f6e){return _0x368e5a>=_0x146f6e['pos']&&_0x368e5a<_0x146f6e['end']&&(_0x1c692c(_0x146f6e,_0xf79407,_0x2c9ec9),!0x0);}function _0x2c9ec9(_0x146f6e){if(_0x368e5a>=_0x146f6e['pos']&&_0x368e5a<_0x146f6e[_0x1a4e('0xca')])for(var _0x420b32=0x0;_0x420b32<_0x146f6e[_0x1a4e('0x1e')];_0x420b32++){var _0x1b06ad=_0x146f6e[_0x420b32];if(_0x1b06ad){if(_0x1b06ad[_0x1a4e('0xa4')]===_0x368e5a)return _0x2327c6=_0x146f6e,_0x55ff7e=_0x420b32,_0x1adc17=_0x1b06ad,!0x0;if(_0x1b06ad[_0x1a4e('0xa4')]<_0x368e5a&&_0x368e5a<_0x1b06ad[_0x1a4e('0xca')])return _0x1c692c(_0x1b06ad,_0xf79407,_0x2c9ec9),!0x0;}}return!0x1;}}(_0x2c9ec9)),_0xf79407=_0x2c9ec9,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x1adc17||_0x1adc17[_0x1a4e('0xa4')]===_0x2c9ec9),_0x1adc17;}};}(_0x146f6e),_0x1cca23=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x2327c6['span'][_0x1a4e('0xc9')],_0x1adc17=0x0;_0x55ff7e>0x0&&_0x1adc17<=0x1;_0x1adc17++){var _0xf79407=_0x420b32(_0x146f6e,_0x55ff7e);_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0xf79407['pos']<=_0x55ff7e);var _0x2c9ec9=_0xf79407[_0x1a4e('0xa4')];_0x55ff7e=Math['max'](0x0,_0x2c9ec9-0x1);}var _0x1b06ad=_0x368e5a[_0x1a4e('0x22fa')](_0x55ff7e,_0x368e5a[_0x1a4e('0x24b4')](_0x2327c6[_0x1a4e('0x24c0')])),_0x326eae=_0x2327c6[_0x1a4e('0x24c1')]+(_0x2327c6[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]-_0x55ff7e);return _0x368e5a[_0x1a4e('0x24c3')](_0x1b06ad,_0x326eae);}(_0x146f6e,_0x326eae);_0x1b06ad(_0x146f6e,_0x55ff7e,_0x1cca23,_0x56674b),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1cca23[_0x1a4e('0x24c0')]['start']<=_0x326eae[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]),_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x24b4')](_0x1cca23['span'])===_0x368e5a[_0x1a4e('0x24b4')](_0x326eae[_0x1a4e('0x24c0')])),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x368e5a[_0x1a4e('0x24b4')](_0x368e5a[_0x1a4e('0x24bf')](_0x1cca23))===_0x368e5a[_0x1a4e('0x24b4')](_0x368e5a[_0x1a4e('0x24bf')](_0x326eae)));var _0x590e94=_0x368e5a[_0x1a4e('0x24bf')](_0x1cca23)[_0x1a4e('0x1e')]-_0x1cca23[_0x1a4e('0x24c0')]['length'];return function(_0x146f6e,_0x55ff7e,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x114b35){return void _0x12e259(_0x146f6e);function _0x12e259(_0x146f6e){if(_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x146f6e['pos']<=_0x146f6e[_0x1a4e('0xca')]),_0x146f6e[_0x1a4e('0xa4')]>_0x2c9ec9)_0x2327c6(_0x146f6e,!0x1,_0x1b06ad,_0x326eae,_0x56674b,_0x114b35);else{var _0x1cca23=_0x146f6e[_0x1a4e('0xca')];if(_0x1cca23>=_0x55ff7e){if(_0x146f6e['intersectsChange']=!0x0,_0x146f6e[_0x1a4e('0x22ed')]=void 0x0,_0x1adc17(_0x146f6e,_0x55ff7e,_0x2c9ec9,_0x420b32,_0x1b06ad),_0x1c692c(_0x146f6e,_0x12e259,_0x4a3a80),_0x368e5a['hasJSDocNodes'](_0x146f6e))for(var _0x590e94=0x0,_0x3a3202=_0x146f6e[_0x1a4e('0x22ec')];_0x590e94<_0x3a3202['length'];_0x590e94++){var _0x217791=_0x3a3202[_0x590e94];_0x12e259(_0x217791);}_0xf79407(_0x146f6e,_0x114b35);}else _0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1cca23<_0x55ff7e);}}function _0x4a3a80(_0x146f6e){if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e['pos']<=_0x146f6e[_0x1a4e('0xca')]),_0x146f6e['pos']>_0x2c9ec9)_0x2327c6(_0x146f6e,!0x0,_0x1b06ad,_0x326eae,_0x56674b,_0x114b35);else{var _0xf79407=_0x146f6e[_0x1a4e('0xca')];if(_0xf79407>=_0x55ff7e){_0x146f6e[_0x1a4e('0x264b')]=!0x0,_0x146f6e[_0x1a4e('0x22ed')]=void 0x0,_0x1adc17(_0x146f6e,_0x55ff7e,_0x2c9ec9,_0x420b32,_0x1b06ad);for(var _0x1c692c=0x0,_0x4a3a80=_0x146f6e;_0x1c692c<_0x4a3a80[_0x1a4e('0x1e')];_0x1c692c++){var _0x1cca23=_0x4a3a80[_0x1c692c];_0x12e259(_0x1cca23);}}else _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0xf79407<_0x55ff7e);}}}(_0x114b35,_0x1cca23[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x368e5a[_0x1a4e('0x24b4')](_0x1cca23['span']),_0x368e5a['textSpanEnd'](_0x368e5a[_0x1a4e('0x24bf')](_0x1cca23)),_0x590e94,_0x12e259,_0x55ff7e,_0x56674b),_0x2c9ec9[_0x1a4e('0x262d')](_0x146f6e[_0x1a4e('0x1b39')],_0x55ff7e,_0x146f6e[_0x1a4e('0x22f6')],_0x4a3a80,!0x0,_0x146f6e[_0x1a4e('0x235a')]);},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1975')]=-0x1]=_0x1a4e('0x1975');}(_0x326eae||(_0x326eae={}));}(_0x420b32||(_0x420b32={})),_0x368e5a['isDeclarationFileName']=_0x114b35,_0x368e5a[_0x1a4e('0x26a8')]=_0x12e259,_0x368e5a[_0x1a4e('0x26a9')]=_0x4a3a80;var _0x47cfb1=_0x368e5a[_0x1a4e('0x1772')]();function _0xb1c282(_0x368e5a){if(_0x47cfb1['has'](_0x368e5a))return _0x47cfb1['get'](_0x368e5a);var _0x146f6e=new RegExp('(\x5cs'+_0x368e5a+'\x5cs*=\x5cs*)(\x27|\x22)(.+?)\x5c2','im');return _0x47cfb1['set'](_0x368e5a,_0x146f6e),_0x146f6e;}var _0x40b03b=/^\/\/\/\s*<(\S+)\s.*?\/>/im,_0xbf8573=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im;function _0x40957e(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=0x2===_0x2327c6['kind']&&_0x40b03b['exec'](_0x55ff7e);if(_0x1adc17){var _0xf79407=_0x1adc17[0x1][_0x1a4e('0x2b2')](),_0x2c9ec9=_0x368e5a[_0x1a4e('0x1b29')][_0xf79407];if(!(_0x2c9ec9&&0x1&_0x2c9ec9[_0x1a4e('0x146b')]))return;if(_0x2c9ec9[_0x1a4e('0x89c')]){for(var _0x420b32={},_0x1b06ad=0x0,_0x326eae=_0x2c9ec9[_0x1a4e('0x89c')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x1c692c=_0xb1c282(_0x56674b['name'])[_0x1a4e('0x2af')](_0x55ff7e);if(!_0x1c692c&&!_0x56674b[_0x1a4e('0x896')])return;if(_0x1c692c)if(_0x56674b['captureSpan']){var _0x114b35=_0x2327c6[_0x1a4e('0xa4')]+_0x1c692c[_0x1a4e('0xbd')]+_0x1c692c[0x1][_0x1a4e('0x1e')]+_0x1c692c[0x2][_0x1a4e('0x1e')];_0x420b32[_0x56674b[_0x1a4e('0x2cb')]]={'value':_0x1c692c[0x3],'pos':_0x114b35,'end':_0x114b35+_0x1c692c[0x3][_0x1a4e('0x1e')]};}else _0x420b32[_0x56674b[_0x1a4e('0x2cb')]]=_0x1c692c[0x3];}_0x146f6e['push']({'name':_0xf79407,'args':{'arguments':_0x420b32,'range':_0x2327c6}});}else _0x146f6e['push']({'name':_0xf79407,'args':{'arguments':{},'range':_0x2327c6}});}else{var _0x12e259=0x2===_0x2327c6[_0x1a4e('0x146b')]&&_0xbf8573[_0x1a4e('0x2af')](_0x55ff7e);if(_0x12e259)return _0x10874e(_0x146f6e,_0x2327c6,0x2,_0x12e259);if(0x3===_0x2327c6[_0x1a4e('0x146b')])for(var _0x4a3a80=/\s*@(\S+)\s*(.*)\s*$/gim,_0x47cfb1=void 0x0;_0x47cfb1=_0x4a3a80['exec'](_0x55ff7e);)_0x10874e(_0x146f6e,_0x2327c6,0x4,_0x47cfb1);}}function _0x10874e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x1adc17){var _0xf79407=_0x1adc17[0x1][_0x1a4e('0x2b2')](),_0x2c9ec9=_0x368e5a['commentPragmas'][_0xf79407];if(_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x146b')]&_0x55ff7e){var _0x420b32=function(_0x146f6e,_0x2327c6){if(!_0x2327c6)return{};if(!_0x146f6e[_0x1a4e('0x89c')])return{};for(var _0x55ff7e=_0x2327c6[_0x1a4e('0x2be')](/\s+/),_0x1adc17={},_0xf79407=0x0;_0xf79407<_0x146f6e[_0x1a4e('0x89c')][_0x1a4e('0x1e')];_0xf79407++){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x89c')][_0xf79407];if(!_0x55ff7e[_0xf79407]&&!_0x2c9ec9[_0x1a4e('0x896')])return _0x1a4e('0x1709');if(_0x2c9ec9[_0x1a4e('0x26aa')])return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x26ab'));_0x1adc17[_0x2c9ec9['name']]=_0x55ff7e[_0xf79407];}return _0x1adc17;}(_0x2c9ec9,_0x1adc17[0x2]);_0x1a4e('0x1709')!==_0x420b32&&_0x146f6e['push']({'name':_0xf79407,'args':{'arguments':_0x420b32,'range':_0x2327c6}});}}}function _0xe9bb0f(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x146b')]===_0x146f6e[_0x1a4e('0x146b')]&&(0x48===_0x368e5a['kind']?_0x368e5a[_0x1a4e('0x22f3')]===_0x146f6e[_0x1a4e('0x22f3')]:0x64===_0x368e5a[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x2cb')]['escapedText']===_0x146f6e['name'][_0x1a4e('0x22f3')]&&_0xe9bb0f(_0x368e5a['expression'],_0x146f6e[_0x1a4e('0x2302')]));}_0x368e5a[_0x1a4e('0x26ac')]=_0xe9bb0f;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a['compileOnSaveCommandLineOption']={'name':_0x1a4e('0x26ad'),'type':'boolean'};var _0x146f6e,_0x2327c6,_0x55ff7e=[[_0x1a4e('0x26ae'),_0x1a4e('0x26af')],[_0x1a4e('0x26b0'),_0x1a4e('0x26b1')],[_0x1a4e('0x26b2'),_0x1a4e('0x26b1')],['es7',_0x1a4e('0x26b3')],[_0x1a4e('0x26b4'),_0x1a4e('0x26b3')],[_0x1a4e('0x26b5'),_0x1a4e('0x26b6')],['es2018','lib.es2018.d.ts'],[_0x1a4e('0x26b7'),_0x1a4e('0x26b8')],[_0x1a4e('0x26b9'),_0x1a4e('0x26ba')],[_0x1a4e('0x26bb'),'lib.dom.iterable.d.ts'],[_0x1a4e('0x26bc'),_0x1a4e('0x26bd')],['webworker.importscripts',_0x1a4e('0x26be')],[_0x1a4e('0x26bf'),_0x1a4e('0x26c0')],[_0x1a4e('0x26c1'),_0x1a4e('0x26c2')],['es2015.collection',_0x1a4e('0x26c3')],[_0x1a4e('0x26c4'),_0x1a4e('0x26c5')],[_0x1a4e('0x26c6'),_0x1a4e('0x26c7')],['es2015.promise',_0x1a4e('0x26c8')],[_0x1a4e('0x26c9'),_0x1a4e('0x26ca')],[_0x1a4e('0x26cb'),_0x1a4e('0x26cc')],[_0x1a4e('0x26cd'),_0x1a4e('0x26ce')],[_0x1a4e('0x26cf'),_0x1a4e('0x26d0')],[_0x1a4e('0x26d1'),_0x1a4e('0x26d2')],[_0x1a4e('0x26d3'),_0x1a4e('0x26d4')],[_0x1a4e('0x26d5'),_0x1a4e('0x26d6')],[_0x1a4e('0x26d7'),_0x1a4e('0x26d8')],[_0x1a4e('0x26d9'),'lib.es2017.intl.d.ts'],[_0x1a4e('0x26da'),_0x1a4e('0x26db')],[_0x1a4e('0x26dc'),_0x1a4e('0x26dd')],[_0x1a4e('0x26de'),'lib.es2018.promise.d.ts'],[_0x1a4e('0x26df'),_0x1a4e('0x26e0')],['esnext.array',_0x1a4e('0x26e1')],[_0x1a4e('0x26e2'),_0x1a4e('0x26e3')],[_0x1a4e('0x26e4'),_0x1a4e('0x26e5')],['esnext.intl',_0x1a4e('0x26e6')],[_0x1a4e('0x26e7'),_0x1a4e('0x26e8')]];function _0x1adc17(_0x368e5a){return _0x368e5a&&void 0x0!==_0x368e5a['enableAutoDiscovery']&&void 0x0===_0x368e5a[_0x1a4e('0x1771')]?{'enable':_0x368e5a[_0x1a4e('0x26e9')],'include':_0x368e5a[_0x1a4e('0x26ea')]||[],'exclude':_0x368e5a[_0x1a4e('0x25b6')]||[]}:_0x368e5a;}function _0xf79407(){return _0x146f6e||(_0x146f6e=_0x2c9ec9(_0x368e5a[_0x1a4e('0x26eb')]));}function _0x2c9ec9(_0x146f6e){var _0x2327c6=_0x368e5a['createMap'](),_0x55ff7e=_0x368e5a['createMap']();return _0x368e5a[_0x1a4e('0x3b')](_0x146f6e,function(_0x368e5a){_0x2327c6[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0x2b2')](),_0x368e5a),_0x368e5a[_0x1a4e('0x26ec')]&&_0x55ff7e[_0x1a4e('0x17a')](_0x368e5a['shortName'],_0x368e5a[_0x1a4e('0x2cb')]);}),{'optionNameMap':_0x2327c6,'shortOptionNames':_0x55ff7e};}function _0x1b06ad(_0x146f6e){return _0x326eae(_0x146f6e,_0x368e5a[_0x1a4e('0x166d')]);}function _0x326eae(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1729')](_0x146f6e['type'][_0x1a4e('0x56')]())[_0x1a4e('0x21')](function(_0x368e5a){return'\x27'+_0x368e5a+'\x27';})[_0x1a4e('0x9e')](',\x20');return _0x2327c6(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x26ed')],'--'+_0x146f6e[_0x1a4e('0x2cb')],_0x55ff7e);}function _0x56674b(_0x368e5a,_0x146f6e,_0x2327c6){return _0x4745d3(_0x368e5a,_0x6caec5(_0x146f6e||''),_0x2327c6);}function _0x4b15ae(_0x146f6e,_0x2327c6,_0x55ff7e){if(void 0x0===_0x2327c6&&(_0x2327c6=''),_0x2327c6=_0x6caec5(_0x2327c6),!_0x368e5a[_0x1a4e('0xdfb')](_0x2327c6,'-')){if(''===_0x2327c6)return[];var _0x1adc17=_0x2327c6[_0x1a4e('0x2be')](',');switch(_0x146f6e[_0x1a4e('0x26ee')][_0x1a4e('0x40')]){case'number':return _0x368e5a[_0x1a4e('0x21')](_0x1adc17,parseInt);case _0x1a4e('0x9'):return _0x368e5a[_0x1a4e('0x21')](_0x1adc17,function(_0x368e5a){return _0x368e5a||'';});default:return _0x368e5a[_0x1a4e('0x1713')](_0x1adc17,function(_0x368e5a){return _0x56674b(_0x146f6e[_0x1a4e('0x26ee')],_0x368e5a,_0x55ff7e);});}}}function _0x592855(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6[0x0],_0x2c9ec9=_0x2327c6[0x1],_0x420b32={},_0x1b06ad=[],_0x326eae=[];return _0x592855(_0x55ff7e),{'options':_0x420b32,'fileNames':_0x1b06ad,'errors':_0x326eae};function _0x592855(_0x2327c6){for(var _0x55ff7e=0x0;_0x55ff7e<_0x2327c6[_0x1a4e('0x1e')];){var _0x1adc17=_0x2327c6[_0x55ff7e];if(_0x55ff7e++,0x40===_0x1adc17[_0x1a4e('0x913')](0x0))_0xf7a842(_0x1adc17[_0x1a4e('0x78')](0x1));else if(0x2d===_0x1adc17['charCodeAt'](0x0)){var _0x592855=_0x2d8e4b(_0x146f6e,_0x1adc17['slice'](0x2d===_0x1adc17[_0x1a4e('0x913')](0x1)?0x2:0x1),!0x0);if(_0x592855)if(_0x592855[_0x1a4e('0x26ef')])_0x326eae[_0x1a4e('0x46')](_0x368e5a['createCompilerDiagnostic'](_0x368e5a[_0x1a4e('0x167d')]['Option_0_can_only_be_specified_in_tsconfig_json_file'],_0x592855[_0x1a4e('0x2cb')]));else switch(_0x2327c6[_0x55ff7e]||'boolean'===_0x592855[_0x1a4e('0x40')]||_0x326eae['push'](_0x368e5a[_0x1a4e('0x166d')](_0x2c9ec9,_0x592855[_0x1a4e('0x2cb')])),_0x592855[_0x1a4e('0x40')]){case _0x1a4e('0x3d'):_0x420b32[_0x592855[_0x1a4e('0x2cb')]]=parseInt(_0x2327c6[_0x55ff7e]),_0x55ff7e++;break;case'boolean':var _0x29de9b=_0x2327c6[_0x55ff7e];_0x420b32[_0x592855[_0x1a4e('0x2cb')]]=_0x1a4e('0xe7a')!==_0x29de9b,_0x1a4e('0xe7a')!==_0x29de9b&&_0x1a4e('0xe7b')!==_0x29de9b||_0x55ff7e++;break;case'string':_0x420b32[_0x592855[_0x1a4e('0x2cb')]]=_0x2327c6[_0x55ff7e]||'',_0x55ff7e++;break;case _0x1a4e('0x26f0'):var _0x4fa00e=_0x4b15ae(_0x592855,_0x2327c6[_0x55ff7e],_0x326eae);_0x420b32[_0x592855['name']]=_0x4fa00e||[],_0x4fa00e&&_0x55ff7e++;break;default:_0x420b32[_0x592855['name']]=_0x56674b(_0x592855,_0x2327c6[_0x55ff7e],_0x326eae),_0x55ff7e++;}else _0x326eae[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x166d')](_0xf79407,_0x1adc17));}else _0x1b06ad[_0x1a4e('0x46')](_0x1adc17);}}function _0xf7a842(_0x146f6e){var _0x2327c6=_0x1adc17?_0x1adc17(_0x146f6e):_0x368e5a[_0x1a4e('0x16b4')]['readFile'](_0x146f6e);if(_0x2327c6){for(var _0x55ff7e=[],_0xf79407=0x0;;){for(;_0xf79407<_0x2327c6[_0x1a4e('0x1e')]&&_0x2327c6['charCodeAt'](_0xf79407)<=0x20;)_0xf79407++;if(_0xf79407>=_0x2327c6[_0x1a4e('0x1e')])break;var _0x2c9ec9=_0xf79407;if(0x22===_0x2327c6['charCodeAt'](_0x2c9ec9)){for(_0xf79407++;_0xf79407<_0x2327c6[_0x1a4e('0x1e')]&&0x22!==_0x2327c6['charCodeAt'](_0xf79407);)_0xf79407++;_0xf79407<_0x2327c6[_0x1a4e('0x1e')]?(_0x55ff7e[_0x1a4e('0x46')](_0x2327c6[_0x1a4e('0x281')](_0x2c9ec9+0x1,_0xf79407)),_0xf79407++):_0x326eae[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x26f1')],_0x146f6e));}else{for(;_0x2327c6[_0x1a4e('0x913')](_0xf79407)>0x20;)_0xf79407++;_0x55ff7e[_0x1a4e('0x46')](_0x2327c6[_0x1a4e('0x281')](_0x2c9ec9,_0xf79407));}}_0x592855(_0x55ff7e);}else _0x326eae[_0x1a4e('0x46')](_0x368e5a['createCompilerDiagnostic'](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x26f2')],_0x146f6e));}}function _0x192538(_0x368e5a,_0x146f6e){return _0x2d8e4b(_0xf79407,_0x368e5a,_0x146f6e);}function _0x2d8e4b(_0x368e5a,_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=!0x1),_0x146f6e=_0x146f6e[_0x1a4e('0x2b2')]();var _0x55ff7e=_0x368e5a(),_0x1adc17=_0x55ff7e[_0x1a4e('0x26f3')],_0xf79407=_0x55ff7e[_0x1a4e('0x26f4')];if(_0x2327c6){var _0x2c9ec9=_0xf79407[_0x1a4e('0x179')](_0x146f6e);void 0x0!==_0x2c9ec9&&(_0x146f6e=_0x2c9ec9);}return _0x1adc17[_0x1a4e('0x179')](_0x146f6e);}function _0x2c6d1a(_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x1;_0x55ff7e=0x0)return _0x1b06ad[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')]['Circularity_detected_while_resolving_configuration_Colon_0'],_0x420b32[_0x1a4e('0x9a')]([_0x326eae])[_0x1a4e('0x9e')](_0x1a4e('0x1c0')))),{'raw':_0x146f6e||_0x26071d(_0x55ff7e,_0x1b06ad)};var _0x56674b=_0x146f6e?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x368e5a[_0x1a4e('0x26ff')](_0x146f6e,_0x1a4e('0x270c'))&&_0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a['Diagnostics']['Unknown_option_excludes_Did_you_mean_exclude']));var _0x2c9ec9,_0x420b32=_0x173469(_0x146f6e[_0x1a4e('0x2706')],_0x55ff7e,_0xf79407,_0x1adc17),_0x1b06ad=_0x4e8dd8(_0x146f6e[_0x1a4e('0x2709')]||_0x146f6e['typingOptions'],_0x55ff7e,_0xf79407,_0x1adc17);if(_0x146f6e[_0x1a4e('0x26ad')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x368e5a['hasProperty'](_0x146f6e,_0x368e5a['compileOnSaveCommandLineOption']['name']))return!0x1;var _0x1adc17=_0x41ef73(_0x368e5a[_0x1a4e('0x270d')],_0x146f6e[_0x1a4e('0x26ad')],_0x2327c6,_0x55ff7e);return'boolean'==typeof _0x1adc17&&_0x1adc17;}(_0x146f6e,_0x55ff7e,_0xf79407),_0x146f6e[_0x1a4e('0x229d')])if(_0x368e5a[_0x1a4e('0xb19')](_0x146f6e['extends'])){var _0x326eae=_0x1adc17?_0x1aff10(_0x1adc17,_0x55ff7e):_0x55ff7e;_0x2c9ec9=_0xe94edb(_0x146f6e['extends'],_0x2327c6,_0x326eae,_0xf79407,_0x368e5a[_0x1a4e('0x166d')]);}else _0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2705')],'extends',_0x1a4e('0x9')));return{'raw':_0x146f6e,'options':_0x420b32,'typeAcquisition':_0x1b06ad,'extendedConfigPath':_0x2c9ec9};}(_0x146f6e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x1b06ad):function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32,_0x1b06ad,_0x326eae,_0x56674b=_0xd8a9c5(_0xf79407),_0x4b15ae={'onSetValidOptionKeyValueInParent':function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1a4e('0x2706')===_0x146f6e||_0x1a4e('0x2709')===_0x146f6e||'typingOptions'===_0x146f6e);var _0x2c9ec9=_0x1a4e('0x2706')===_0x146f6e?_0x56674b:_0x1a4e('0x2709')===_0x146f6e?_0x420b32||(_0x420b32=_0x1ae4b1(_0xf79407)):_0x1b06ad||(_0x1b06ad=_0x1ae4b1(_0xf79407));_0x2c9ec9[_0x2327c6[_0x1a4e('0x2cb')]]=function _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x3543e7(_0x1adc17))return;if('list'===_0x2327c6[_0x1a4e('0x40')]){var _0xf79407=_0x2327c6;return _0xf79407[_0x1a4e('0x26ee')][_0x1a4e('0x270e')]||!_0x368e5a['isString'](_0xf79407[_0x1a4e('0x26ee')][_0x1a4e('0x40')])?_0x368e5a[_0x1a4e('0xd9')](_0x368e5a['map'](_0x1adc17,function(_0x368e5a){return _0x146f6e(_0xf79407[_0x1a4e('0x26ee')],_0x55ff7e,_0x368e5a);}),function(_0x368e5a){return!!_0x368e5a;}):_0x1adc17;}if(!_0x368e5a[_0x1a4e('0xb19')](_0x2327c6[_0x1a4e('0x40')]))return _0x2327c6[_0x1a4e('0x40')][_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0xb19')](_0x1adc17)?_0x1adc17[_0x1a4e('0x2b2')]():_0x1adc17);return _0x44f8a4(_0x2327c6,_0x55ff7e,_0x1adc17);}(_0x2327c6,_0x1adc17,_0x55ff7e);},'onSetValidOptionKeyValueInRoot':function(_0x2327c6,_0x420b32,_0x1b06ad,_0x56674b){switch(_0x2327c6){case _0x1a4e('0x229d'):var _0x4b15ae=_0xf79407?_0x1aff10(_0xf79407,_0x1adc17):_0x1adc17;return void(_0x326eae=_0xe94edb(_0x1b06ad,_0x55ff7e,_0x4b15ae,_0x2c9ec9,function(_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2356')](_0x146f6e,_0x56674b,_0x2327c6,_0x55ff7e);}));}},'onSetUnknownOptionKeyValueInRoot':function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x1a4e('0x270c')===_0x2327c6&&_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2356')](_0x146f6e,_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x270f')]));}},_0x592855=_0x31d530(_0x146f6e,_0x2c9ec9,!0x0,(void 0x0===_0x2327c6&&(_0x2327c6={'name':void 0x0,'type':_0x1a4e('0x85'),'elementOptions':_0x13c39c([{'name':'compilerOptions','type':_0x1a4e('0x85'),'elementOptions':_0x13c39c(_0x368e5a[_0x1a4e('0x26eb')]),'extraKeyDiagnosticMessage':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2710')]},{'name':_0x1a4e('0x2711'),'type':_0x1a4e('0x85'),'elementOptions':_0x13c39c(_0x368e5a['typeAcquisitionDeclarations']),'extraKeyDiagnosticMessage':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2712')]},{'name':_0x1a4e('0x2709'),'type':_0x1a4e('0x85'),'elementOptions':_0x13c39c(_0x368e5a[_0x1a4e('0x2713')]),'extraKeyDiagnosticMessage':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2712')]},{'name':_0x1a4e('0x229d'),'type':_0x1a4e('0x9')},{'name':'references','type':'list','element':{'name':_0x1a4e('0x2702'),'type':'object'}},{'name':'files','type':_0x1a4e('0x26f0'),'element':{'name':_0x1a4e('0x25bd'),'type':_0x1a4e('0x9')}},{'name':_0x1a4e('0x26ea'),'type':'list','element':{'name':_0x1a4e('0x26ea'),'type':_0x1a4e('0x9')}},{'name':_0x1a4e('0x25b6'),'type':_0x1a4e('0x26f0'),'element':{'name':_0x1a4e('0x25b6'),'type':'string'}},_0x368e5a[_0x1a4e('0x270d')]])}),_0x2327c6),_0x4b15ae);_0x420b32||(_0x420b32=_0x1b06ad?void 0x0!==_0x1b06ad[_0x1a4e('0x26e9')]?{'enable':_0x1b06ad['enableAutoDiscovery'],'include':_0x1b06ad[_0x1a4e('0x26ea')],'exclude':_0x1b06ad['exclude']}:_0x1b06ad:_0x1ae4b1(_0xf79407));return{'raw':_0x592855,'options':_0x56674b,'typeAcquisition':_0x420b32,'extendedConfigPath':_0x326eae};}(_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x1b06ad);if(_0x56674b['extendedConfigPath']){_0x420b32=_0x420b32['concat']([_0x326eae]);var _0x4b15ae=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32,_0x1b06ad=_0x2dbceb(_0x2327c6,function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x16b8')](_0x368e5a);});_0x146f6e&&(_0x146f6e['extendedSourceFiles']=[_0x1b06ad[_0x1a4e('0x1b39')]]);if(_0x1b06ad[_0x1a4e('0x2636')][_0x1a4e('0x1e')])return void _0x2c9ec9[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x2c9ec9,_0x1b06ad[_0x1a4e('0x2636')]);var _0x326eae=_0x368e5a[_0x1a4e('0x1671')](_0x2327c6),_0x56674b=_0x4de65b(void 0x0,_0x1b06ad,_0x55ff7e,_0x326eae,_0x368e5a[_0x1a4e('0x2338')](_0x2327c6),_0xf79407,_0x2c9ec9);_0x146f6e&&_0x1b06ad[_0x1a4e('0x2714')]&&(_0x420b32=_0x146f6e['extendedSourceFiles'])[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x420b32,_0x1b06ad[_0x1a4e('0x2714')]);if(_0x55bc3c(_0x56674b)){var _0x4b15ae=_0x368e5a[_0x1a4e('0x259d')](_0x326eae,_0x1adc17,_0x368e5a[_0x1a4e('0x10a5')]),_0x592855=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22e9')](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x1673')](_0x4b15ae,_0x146f6e);},_0x192538=function(_0x146f6e){_0x2d8e4b[_0x146f6e]&&(_0x2d8e4b[_0x146f6e]=_0x368e5a[_0x1a4e('0x21')](_0x2d8e4b[_0x146f6e],_0x592855));},_0x2d8e4b=_0x56674b['raw'];_0x192538(_0x1a4e('0x26ea')),_0x192538('exclude'),_0x192538(_0x1a4e('0x25bd'));}return _0x56674b;}(_0x55ff7e,_0x56674b[_0x1a4e('0x2715')],_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad);if(_0x4b15ae&&_0x55bc3c(_0x4b15ae)){var _0x592855=_0x4b15ae[_0x1a4e('0x87e')],_0x192538=_0x56674b[_0x1a4e('0x87e')],_0x2d8e4b=function(_0x368e5a){var _0x146f6e=_0x192538[_0x368e5a]||_0x592855[_0x368e5a];_0x146f6e&&(_0x192538[_0x368e5a]=_0x146f6e);};_0x2d8e4b(_0x1a4e('0x26ea')),_0x2d8e4b(_0x1a4e('0x25b6')),_0x2d8e4b(_0x1a4e('0x25bd')),void 0x0===_0x192538[_0x1a4e('0x26ad')]&&(_0x192538[_0x1a4e('0x26ad')]=_0x592855[_0x1a4e('0x26ad')]),_0x56674b[_0x1a4e('0x8dc')]=_0x368e5a[_0x1a4e('0x200')]({},_0x4b15ae[_0x1a4e('0x8dc')],_0x56674b[_0x1a4e('0x8dc')]);}}return _0x56674b;}function _0xe94edb(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x146f6e=_0x368e5a[_0x1a4e('0x166f')](_0x146f6e),_0x368e5a['isRootedDiskPath'](_0x146f6e)||_0x368e5a[_0x1a4e('0xdfb')](_0x146f6e,'./')||_0x368e5a[_0x1a4e('0xdfb')](_0x146f6e,_0x1a4e('0x161a'))){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x22ea')](_0x146f6e,_0x55ff7e);return _0x2327c6[_0x1a4e('0x1b4d')](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x1098')](_0x2c9ec9,_0x1a4e('0x1a87'))||(_0x2c9ec9+='.json',_0x2327c6[_0x1a4e('0x1b4d')](_0x2c9ec9))?_0x2c9ec9:void _0x1adc17[_0x1a4e('0x46')](_0xf79407(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2716')],_0x146f6e));}var _0x420b32=_0x368e5a[_0x1a4e('0x2717')](_0x146f6e,_0x368e5a[_0x1a4e('0x1673')](_0x55ff7e,_0x1a4e('0x2703')),{'moduleResolution':_0x368e5a[_0x1a4e('0x258b')]['NodeJs']},_0x2327c6,void 0x0,void 0x0,!0x0);if(_0x420b32[_0x1a4e('0x2718')])return _0x420b32[_0x1a4e('0x2718')][_0x1a4e('0x231a')];_0x1adc17[_0x1a4e('0x46')](_0xf79407(_0x368e5a[_0x1a4e('0x167d')]['File_0_does_not_exist'],_0x146f6e));}function _0xd8a9c5(_0x146f6e){return _0x146f6e&&_0x1a4e('0x2719')===_0x368e5a['getBaseFileName'](_0x146f6e)?{'allowJs':!0x0,'maxNodeModuleJsDepth':0x2,'allowSyntheticDefaultImports':!0x0,'skipLibCheck':!0x0,'noEmit':!0x0}:{};}function _0x173469(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0xd8a9c5(_0x1adc17);return _0x2de8a8(_0x368e5a[_0x1a4e('0x26eb')],_0x146f6e,_0x2327c6,_0xf79407,_0x368e5a['Diagnostics']['Unknown_compiler_option_0'],_0x55ff7e),_0x1adc17&&(_0xf79407[_0x1a4e('0x2304')]=_0x368e5a[_0x1a4e('0x166f')](_0x1adc17)),_0xf79407;}function _0x1ae4b1(_0x146f6e){return{'enable':!!_0x146f6e&&_0x1a4e('0x2719')===_0x368e5a[_0x1a4e('0x2338')](_0x146f6e),'include':[],'exclude':[]};}function _0x4e8dd8(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){var _0x2c9ec9=_0x1ae4b1(_0xf79407),_0x420b32=_0x1adc17(_0x146f6e);return _0x2de8a8(_0x368e5a[_0x1a4e('0x2713')],_0x420b32,_0x2327c6,_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2712')],_0x55ff7e),_0x2c9ec9;}function _0x2de8a8(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(_0x2327c6){var _0x420b32=_0x13c39c(_0x146f6e);for(var _0x1b06ad in _0x2327c6){var _0x326eae=_0x420b32[_0x1a4e('0x179')](_0x1b06ad);_0x326eae?_0x1adc17[_0x326eae['name']]=_0x41ef73(_0x326eae,_0x2327c6[_0x1b06ad],_0x55ff7e,_0x2c9ec9):_0x2c9ec9['push'](_0x368e5a[_0x1a4e('0x166d')](_0xf79407,_0x1b06ad));}}}function _0x41ef73(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x583b99(_0x146f6e,_0x2327c6)){var _0xf79407=_0x146f6e[_0x1a4e('0x40')];return _0x1a4e('0x26f0')===_0xf79407&&_0x368e5a[_0x1a4e('0x15')](_0x2327c6)?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0xd9')](_0x368e5a['map'](_0x2327c6,function(_0x368e5a){return _0x41ef73(_0x146f6e['element'],_0x368e5a,_0x55ff7e,_0x1adc17);}),function(_0x368e5a){return!!_0x368e5a;});}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17):_0x368e5a[_0x1a4e('0xb19')](_0xf79407)?_0x44f8a4(_0x146f6e,_0x55ff7e,_0x2327c6):_0x4745d3(_0x146f6e,_0x2327c6,_0x1adc17);}_0x1adc17[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')]['Compiler_option_0_requires_a_value_of_type_1'],_0x146f6e[_0x1a4e('0x2cb')],_0x585b94(_0x146f6e)));}function _0x44f8a4(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e['isFilePath']&&''===(_0x55ff7e=_0x368e5a[_0x1a4e('0x1672')](_0x368e5a['combinePaths'](_0x2327c6,_0x55ff7e)))&&(_0x55ff7e='.'),_0x55ff7e;}function _0x4745d3(_0x368e5a,_0x146f6e,_0x2327c6){if(!_0x3543e7(_0x146f6e)){var _0x55ff7e=_0x146f6e[_0x1a4e('0x2b2')](),_0x1adc17=_0x368e5a[_0x1a4e('0x40')][_0x1a4e('0x179')](_0x55ff7e);if(void 0x0!==_0x1adc17)return _0x1adc17;_0x2327c6[_0x1a4e('0x46')](_0x1b06ad(_0x368e5a));}}function _0x6caec5(_0x368e5a){return _0x1a4e('0x68')==typeof _0x368e5a[_0x1a4e('0x2bd')]?_0x368e5a[_0x1a4e('0x2bd')]():_0x368e5a[_0x1a4e('0x115')](/^[\s]+|[\s]+$/g,'');}_0x368e5a[_0x1a4e('0x271a')]=_0x55ff7e['map'](function(_0x368e5a){return _0x368e5a[0x0];}),_0x368e5a[_0x1a4e('0x271b')]=_0x368e5a[_0x1a4e('0x271c')](_0x55ff7e),_0x368e5a[_0x1a4e('0x271d')]=[{'name':_0x1a4e('0x271e'),'shortName':'h','type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2700')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x271f')]},{'name':'help','shortName':'?','type':_0x1a4e('0x34b')},{'name':_0x1a4e('0x1b72'),'shortName':'w','type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2700')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2720')]},{'name':_0x1a4e('0x2721'),'type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x1,'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2700')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2722')]},{'name':_0x1a4e('0x2723'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')]['Advanced_Options'],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2724')]},{'name':'listEmittedFiles','type':'boolean','category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')]['Print_names_of_generated_files_part_of_the_compilation']},{'name':_0x1a4e('0x2726'),'type':'boolean','showInSimplifiedHelpView':!0x0,'category':_0x368e5a['Diagnostics']['Command_line_Options'],'description':_0x368e5a[_0x1a4e('0x167d')]['Stylize_errors_and_messages_using_color_and_context_experimental']},{'name':_0x1a4e('0x2727'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')]['Enable_tracing_of_the_name_resolution_process']},{'name':_0x1a4e('0x2728'),'type':'boolean','category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2729')]},{'name':'extendedDiagnostics','type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')]['Show_verbose_diagnostic_information']}],_0x368e5a[_0x1a4e('0x26eb')]=_0x368e5a['commonOptionsWithBuild'][_0x1a4e('0x9a')]([{'name':'all','type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2700')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x272a')]},{'name':_0x1a4e('0xb98'),'shortName':'v','type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2700')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x272b')]},{'name':_0x1a4e('0x1fd'),'type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2700')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x272c')]},{'name':'project','shortName':'p','type':_0x1a4e('0x9'),'isFilePath':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2700')],'paramType':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x272d')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x272e')]},{'name':'build','type':'boolean','shortName':'b','showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')]['Command_line_Options'],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x272f')]},{'name':_0x1a4e('0x2730'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2700')],'isCommandLineOnly':!0x0,'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2731')]},{'name':'target','shortName':'t','type':_0x368e5a[_0x1a4e('0x1701')]({'es3':0x0,'es5':0x1,'es6':0x2,'es2015':0x2,'es2016':0x3,'es2017':0x4,'es2018':0x5,'esnext':0x6}),'affectsSourceFile':!0x0,'affectsModuleResolution':!0x0,'paramType':_0x368e5a['Diagnostics'][_0x1a4e('0x10ec')],'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')]['Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_or_ESNEXT']},{'name':_0x1a4e('0xa6c'),'shortName':'m','type':_0x368e5a['createMapFromTemplate']({'none':_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1733')],'commonjs':_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a30')],'amd':_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a31')],'system':_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1308')],'umd':_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a32')],'es6':_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')],'es2015':_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')],'esnext':_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a34')]}),'affectsModuleResolution':!0x0,'paramType':_0x368e5a[_0x1a4e('0x167d')]['KIND'],'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')]['Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_or_ESNext']},{'name':'lib','type':_0x1a4e('0x26f0'),'element':{'name':_0x1a4e('0x261d'),'type':_0x368e5a[_0x1a4e('0x271b')]},'affectsModuleResolution':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2733')]},{'name':_0x1a4e('0x25cb'),'type':_0x1a4e('0x34b'),'affectsModuleResolution':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2734')]},{'name':'checkJs','type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')]['Report_errors_in_js_files']},{'name':'jsx','type':_0x368e5a[_0x1a4e('0x1701')]({'preserve':0x1,'react-native':0x3,'react':0x2}),'affectsSourceFile':!0x0,'paramType':_0x368e5a[_0x1a4e('0x167d')]['KIND'],'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2735')]},{'name':_0x1a4e('0x2350'),'shortName':'d','type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2736')]},{'name':'declarationMap','type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2732')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2737')]},{'name':_0x1a4e('0x2446'),'type':'boolean','category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2738')]},{'name':'sourceMap','type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')]['Basic_Options'],'description':_0x368e5a[_0x1a4e('0x167d')]['Generates_corresponding_map_file']},{'name':_0x1a4e('0x2445'),'type':_0x1a4e('0x9'),'isFilePath':!0x0,'paramType':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2013')],'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2739')]},{'name':_0x1a4e('0x2421'),'type':_0x1a4e('0x9'),'isFilePath':!0x0,'paramType':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2017')],'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')]['Basic_Options'],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x273a')]},{'name':_0x1a4e('0x273b'),'type':'string','isFilePath':!0x0,'paramType':_0x368e5a[_0x1a4e('0x167d')]['LOCATION'],'category':_0x368e5a[_0x1a4e('0x167d')]['Basic_Options'],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x273c')]},{'name':'composite','type':_0x1a4e('0x34b'),'isTSConfigOnly':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x273d')]},{'name':_0x1a4e('0x273e'),'type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a['Diagnostics']['Basic_Options'],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x273f')]},{'name':_0x1a4e('0x2740'),'type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')]['Basic_Options'],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2741')]},{'name':_0x1a4e('0x2742'),'type':_0x1a4e('0x34b'),'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2743')]},{'name':_0x1a4e('0x2744'),'type':_0x1a4e('0x34b'),'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2745')]},{'name':_0x1a4e('0x2347'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2732')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2746')]},{'name':_0x1a4e('0x1de'),'type':_0x1a4e('0x34b'),'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2747')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2748')]},{'name':_0x1a4e('0x2749'),'type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'strictFlag':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2747')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x274a')]},{'name':'strictNullChecks','type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'strictFlag':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2747')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x274b')]},{'name':_0x1a4e('0x274c'),'type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'strictFlag':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2747')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x274d')]},{'name':'strictBindCallApply','type':_0x1a4e('0x34b'),'strictFlag':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2747')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x274e')]},{'name':_0x1a4e('0x274f'),'type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'strictFlag':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2747')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2750')]},{'name':_0x1a4e('0x2751'),'type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'strictFlag':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2747')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2752')]},{'name':'alwaysStrict','type':_0x1a4e('0x34b'),'affectsSourceFile':!0x0,'strictFlag':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a['Diagnostics']['Strict_Type_Checking_Options'],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2753')]},{'name':'noUnusedLocals','type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2754')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2755')]},{'name':_0x1a4e('0x2756'),'type':'boolean','affectsSemanticDiagnostics':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2754')],'description':_0x368e5a[_0x1a4e('0x167d')]['Report_errors_on_unused_parameters']},{'name':_0x1a4e('0x2757'),'type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2754')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2758')]},{'name':_0x1a4e('0x2759'),'type':_0x1a4e('0x34b'),'affectsBindDiagnostics':!0x0,'affectsSemanticDiagnostics':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2754')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x275a')]},{'name':_0x1a4e('0x258a'),'type':_0x368e5a[_0x1a4e('0x1701')]({'node':_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')],'classic':_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2e')]}),'affectsModuleResolution':!0x0,'paramType':_0x368e5a['Diagnostics'][_0x1a4e('0x2018')],'category':_0x368e5a[_0x1a4e('0x167d')]['Module_Resolution_Options'],'description':_0x368e5a[_0x1a4e('0x167d')]['Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6']},{'name':_0x1a4e('0x275b'),'type':_0x1a4e('0x9'),'affectsModuleResolution':!0x0,'isFilePath':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x275c')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x275d')]},{'name':'paths','type':_0x1a4e('0x85'),'affectsModuleResolution':!0x0,'isTSConfigOnly':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x275c')],'description':_0x368e5a['Diagnostics']['A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl']},{'name':_0x1a4e('0x275e'),'type':_0x1a4e('0x26f0'),'isTSConfigOnly':!0x0,'element':{'name':_0x1a4e('0x275e'),'type':_0x1a4e('0x9'),'isFilePath':!0x0},'affectsModuleResolution':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x275c')],'description':_0x368e5a[_0x1a4e('0x167d')]['List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime']},{'name':_0x1a4e('0x275f'),'type':_0x1a4e('0x26f0'),'element':{'name':_0x1a4e('0x275f'),'type':_0x1a4e('0x9'),'isFilePath':!0x0},'affectsModuleResolution':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')]['Module_Resolution_Options'],'description':_0x368e5a[_0x1a4e('0x167d')]['List_of_folders_to_include_type_definitions_from']},{'name':_0x1a4e('0x2380'),'type':'list','element':{'name':_0x1a4e('0x2380'),'type':'string'},'affectsModuleResolution':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')]['Module_Resolution_Options'],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2760')]},{'name':'allowSyntheticDefaultImports','type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')]['Module_Resolution_Options'],'description':_0x368e5a[_0x1a4e('0x167d')]['Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking']},{'name':_0x1a4e('0x2590'),'type':'boolean','affectsSemanticDiagnostics':!0x0,'showInSimplifiedHelpView':!0x0,'category':_0x368e5a['Diagnostics'][_0x1a4e('0x275c')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2761')]},{'name':'preserveSymlinks','type':'boolean','category':_0x368e5a['Diagnostics'][_0x1a4e('0x275c')],'description':_0x368e5a[_0x1a4e('0x167d')]['Do_not_resolve_the_real_path_of_symlinks']},{'name':'sourceRoot','type':_0x1a4e('0x9'),'paramType':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2016')],'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2762')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2763')]},{'name':_0x1a4e('0x2764'),'type':_0x1a4e('0x9'),'paramType':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2016')],'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2762')],'description':_0x368e5a[_0x1a4e('0x167d')]['Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations']},{'name':'inlineSourceMap','type':'boolean','category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2762')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2765')]},{'name':_0x1a4e('0x2766'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2762')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2767')]},{'name':_0x1a4e('0x2768'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2769')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x276a')]},{'name':_0x1a4e('0x276b'),'type':'boolean','category':_0x368e5a['Diagnostics'][_0x1a4e('0x2769')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x276c')]},{'name':_0x1a4e('0x276d'),'type':_0x1a4e('0x9'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x276e')]},{'name':_0x1a4e('0x25cd'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')]['Include_modules_imported_with_json_extension']},{'name':_0x1a4e('0x303'),'type':_0x1a4e('0x9'),'isFilePath':!0x1,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'paramType':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2013')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x276f')]},{'name':_0x1a4e('0x2770'),'type':_0x1a4e('0x9'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')]['Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit']},{'name':_0x1a4e('0x25f4'),'type':_0x1a4e('0x34b'),'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2771')]},{'name':'charset','type':'string','category':_0x368e5a[_0x1a4e('0x167d')]['Advanced_Options'],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2772')]},{'name':_0x1a4e('0x2773'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')]['Advanced_Options'],'description':_0x368e5a[_0x1a4e('0x167d')]['Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files']},{'name':_0x1a4e('0x2774'),'type':_0x1a4e('0x9'),'category':_0x368e5a[_0x1a4e('0x167d')]['Advanced_Options'],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2775')]},{'name':'newLine','type':_0x368e5a['createMapFromTemplate']({'crlf':0x0,'lf':0x1}),'paramType':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x38f')],'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2776')]},{'name':_0x1a4e('0x2777'),'type':'boolean','category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a['Diagnostics']['Do_not_truncate_error_messages']},{'name':_0x1a4e('0x2778'),'type':_0x1a4e('0x34b'),'affectsModuleResolution':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2779')]},{'name':_0x1a4e('0x23f2'),'type':_0x1a4e('0x34b'),'affectsModuleResolution':!0x0,'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x277a')]},{'name':_0x1a4e('0x277b'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a['Diagnostics']['Do_not_emit_declarations_for_code_that_has_an_internal_annotation']},{'name':'disableSizeLimit','type':_0x1a4e('0x34b'),'affectsSourceFile':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x277c')]},{'name':'noImplicitUseStrict','type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x277d')]},{'name':'noEmitHelpers','type':_0x1a4e('0x34b'),'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2725')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x277e')]},{'name':_0x1a4e('0x277f'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2780')]},{'name':_0x1a4e('0x2781'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2782')]},{'name':_0x1a4e('0x2420'),'type':'string','isFilePath':!0x0,'paramType':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2017')],'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2783')]},{'name':_0x1a4e('0x25f3'),'type':'boolean','category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2784')]},{'name':_0x1a4e('0x2785'),'type':_0x1a4e('0x34b'),'affectsBindDiagnostics':!0x0,'affectsSemanticDiagnostics':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2786')]},{'name':'allowUnreachableCode','type':_0x1a4e('0x34b'),'affectsBindDiagnostics':!0x0,'affectsSemanticDiagnostics':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2787')]},{'name':_0x1a4e('0x2788'),'type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2725')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2789')]},{'name':'suppressImplicitAnyIndexErrors','type':'boolean','affectsSemanticDiagnostics':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x278a')]},{'name':_0x1a4e('0x278b'),'type':_0x1a4e('0x34b'),'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x278c')]},{'name':_0x1a4e('0x278d'),'type':_0x1a4e('0x3d'),'affectsModuleResolution':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x278e')]},{'name':'noStrictGenericChecks','type':_0x1a4e('0x34b'),'affectsSemanticDiagnostics':!0x0,'category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')]['Disable_strict_checking_of_generic_signatures_in_function_types']},{'name':_0x1a4e('0x278f'),'type':_0x1a4e('0x34b'),'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2725')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2790')]},{'name':'plugins','type':_0x1a4e('0x26f0'),'isTSConfigOnly':!0x0,'element':{'name':_0x1a4e('0x16f5'),'type':_0x1a4e('0x85')},'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2791')]}]),_0x368e5a[_0x1a4e('0x2593')]=_0x368e5a[_0x1a4e('0x26eb')][_0x1a4e('0xd9')](function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x2792')];}),_0x368e5a[_0x1a4e('0x2305')]=_0x368e5a[_0x1a4e('0x26eb')][_0x1a4e('0xd9')](function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x2793')];}),_0x368e5a['sourceFileAffectingCompilerOptions']=_0x368e5a[_0x1a4e('0x26eb')][_0x1a4e('0xd9')](function(_0x368e5a){return!!_0x368e5a['affectsSourceFile']||!!_0x368e5a[_0x1a4e('0x2793')]||!!_0x368e5a[_0x1a4e('0x2794')];}),_0x368e5a[_0x1a4e('0x2795')]=_0x368e5a['commonOptionsWithBuild'][_0x1a4e('0x9a')]([{'name':_0x1a4e('0x57'),'shortName':'v','category':_0x368e5a['Diagnostics'][_0x1a4e('0x2700')],'description':_0x368e5a['Diagnostics'][_0x1a4e('0x2796')],'type':_0x1a4e('0x34b')},{'name':_0x1a4e('0x2797'),'shortName':'d','category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2700')],'description':_0x368e5a[_0x1a4e('0x167d')]['Show_what_would_be_built_or_deleted_if_specified_with_clean'],'type':_0x1a4e('0x34b')},{'name':_0x1a4e('0x2798'),'shortName':'f','category':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2700')],'description':_0x368e5a[_0x1a4e('0x167d')]['Build_all_projects_including_those_that_appear_to_be_up_to_date'],'type':_0x1a4e('0x34b')},{'name':_0x1a4e('0x2799'),'category':_0x368e5a['Diagnostics'][_0x1a4e('0x2700')],'description':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x279a')],'type':'boolean'}]),_0x368e5a[_0x1a4e('0x2713')]=[{'name':_0x1a4e('0x26e9'),'type':_0x1a4e('0x34b')},{'name':_0x1a4e('0x1771'),'type':_0x1a4e('0x34b')},{'name':'include','type':_0x1a4e('0x26f0'),'element':{'name':_0x1a4e('0x26ea'),'type':_0x1a4e('0x9')}},{'name':_0x1a4e('0x25b6'),'type':_0x1a4e('0x26f0'),'element':{'name':_0x1a4e('0x25b6'),'type':_0x1a4e('0x9')}}],_0x368e5a[_0x1a4e('0x279b')]={'module':_0x368e5a[_0x1a4e('0x1a35')]['CommonJS'],'target':0x1,'strict':!0x0,'esModuleInterop':!0x0},_0x368e5a['convertEnableAutoDiscoveryToEnable']=_0x1adc17,_0x368e5a[_0x1a4e('0x279c')]=_0x2c9ec9,_0x368e5a['createCompilerDiagnosticForInvalidCustomType']=_0x1b06ad,_0x368e5a[_0x1a4e('0x279d')]=_0x56674b,_0x368e5a[_0x1a4e('0x279e')]=_0x4b15ae,_0x368e5a[_0x1a4e('0x279f')]=function(_0x146f6e,_0x2327c6){return _0x592855(_0xf79407,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2710')],_0x368e5a[_0x1a4e('0x167d')]['Compiler_option_0_expects_an_argument']],_0x146f6e,_0x2327c6);},_0x368e5a['getOptionFromName']=_0x192538,_0x368e5a[_0x1a4e('0x27a0')]=function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x592855(function(){return _0x2327c6||(_0x2327c6=_0x2c9ec9(_0x368e5a[_0x1a4e('0x2795')]));},[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27a1')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27a2')]],_0x146f6e),_0x1adc17=_0x55ff7e['options'],_0xf79407=_0x55ff7e[_0x1a4e('0x2708')],_0x420b32=_0x55ff7e[_0x1a4e('0x8dd')],_0x1b06ad=_0x1adc17;return 0x0===_0xf79407[_0x1a4e('0x1e')]&&_0xf79407[_0x1a4e('0x46')]('.'),_0x1b06ad['clean']&&_0x1b06ad[_0x1a4e('0x2798')]&&_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27a3')],'clean',_0x1a4e('0x2798'))),_0x1b06ad['clean']&&_0x1b06ad['verbose']&&_0x420b32[_0x1a4e('0x46')](_0x368e5a['createCompilerDiagnostic'](_0x368e5a[_0x1a4e('0x167d')]['Options_0_and_1_cannot_be_combined'],_0x1a4e('0x2799'),_0x1a4e('0x57'))),_0x1b06ad[_0x1a4e('0x2799')]&&_0x1b06ad['watch']&&_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27a3')],_0x1a4e('0x2799'),_0x1a4e('0x1b72'))),_0x1b06ad[_0x1a4e('0x1b72')]&&_0x1b06ad[_0x1a4e('0x2797')]&&_0x420b32['push'](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a['Diagnostics'][_0x1a4e('0x27a3')],_0x1a4e('0x1b72'),'dry')),{'buildOptions':_0x1b06ad,'projects':_0xf79407,'errors':_0x420b32};},_0x368e5a[_0x1a4e('0x27a4')]=function(){_0x368e5a['sys'][_0x1a4e('0x146')](_0x2c6d1a(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27a5')],_0x368e5a[_0x1a4e('0xb98')])+_0x368e5a[_0x1a4e('0x16b4')]['newLine']);},_0x368e5a[_0x1a4e('0x27a6')]=function(_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6='');var _0x55ff7e=[],_0x1adc17=_0x2c6d1a(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27a7')],'')[_0x1a4e('0x1e')],_0xf79407=_0x2c6d1a(_0x368e5a[_0x1a4e('0x167d')]['Examples_Colon_0'],'')[_0x1a4e('0x1e')],_0x2c9ec9=Math[_0x1a4e('0x6c')](_0x1adc17,_0xf79407),_0x420b32=_0x1aff10(_0x2c9ec9-_0x1adc17);_0x420b32+=_0x1a4e('0x27a8')+_0x2327c6+'['+_0x2c6d1a(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x8dc')])+_0x1a4e('0x27a9')+_0x2c6d1a(_0x368e5a['Diagnostics'][_0x1a4e('0x15c9')])+_0x1a4e('0x27aa'),_0x55ff7e[_0x1a4e('0x46')](_0x2c6d1a(_0x368e5a[_0x1a4e('0x167d')]['Syntax_Colon_0'],_0x420b32)),_0x55ff7e['push'](_0x368e5a['sys'][_0x1a4e('0x16d0')]+_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x16d0')]);var _0x1b06ad=_0x1aff10(_0x2c9ec9);_0x55ff7e[_0x1a4e('0x46')](_0x2c6d1a(_0x368e5a['Diagnostics'][_0x1a4e('0x27ab')],_0x1aff10(_0x2c9ec9-_0xf79407)+_0x1a4e('0x27ac'))+_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x16d0')]),_0x55ff7e[_0x1a4e('0x46')](_0x1b06ad+_0x1a4e('0x27ad')+_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x16d0')]),_0x55ff7e[_0x1a4e('0x46')](_0x1b06ad+_0x1a4e('0x27ae')+_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x16d0')]),_0x55ff7e['push'](_0x1b06ad+_0x1a4e('0x27af')+_0x368e5a[_0x1a4e('0x16b4')]['newLine']),_0x55ff7e['push'](_0x368e5a['sys']['newLine']),_0x55ff7e[_0x1a4e('0x46')](_0x2c6d1a(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27b0')])+_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x16d0')]),_0x2c9ec9=0x0;for(var _0x326eae=[],_0x56674b=[],_0x4b15ae=_0x368e5a['createMap'](),_0x592855=0x0,_0x192538=_0x146f6e;_0x592855<_0x192538[_0x1a4e('0x1e')];_0x592855++){var _0x2d8e4b=_0x192538[_0x592855];if(_0x2d8e4b['description']){var _0xa1e66a='\x20';_0x2d8e4b[_0x1a4e('0x26ec')]&&(_0xa1e66a+='-'+_0x2d8e4b[_0x1a4e('0x26ec')],_0xa1e66a+=_0x3543e7(_0x2d8e4b),_0xa1e66a+=',\x20'),_0xa1e66a+='--'+_0x2d8e4b[_0x1a4e('0x2cb')],_0xa1e66a+=_0x3543e7(_0x2d8e4b),_0x326eae[_0x1a4e('0x46')](_0xa1e66a);var _0x2dbceb=void 0x0;if(_0x1a4e('0x261d')===_0x2d8e4b['name']){_0x2dbceb=_0x2c6d1a(_0x2d8e4b[_0x1a4e('0x27b1')]);var _0x78892d=_0x2d8e4b[_0x1a4e('0x26ee')][_0x1a4e('0x40')];_0x4b15ae[_0x1a4e('0x17a')](_0x2dbceb,_0x368e5a['arrayFrom'](_0x78892d['keys']())[_0x1a4e('0x21')](function(_0x368e5a){return'\x27'+_0x368e5a+'\x27';}));}else _0x2dbceb=_0x2c6d1a(_0x2d8e4b[_0x1a4e('0x27b1')]);_0x56674b['push'](_0x2dbceb),_0x2c9ec9=Math[_0x1a4e('0x6c')](_0xa1e66a['length'],_0x2c9ec9);}}var _0x13c39c=_0x1a4e('0x27b2')+_0x2c6d1a(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x15c9')])+'>';_0x326eae[_0x1a4e('0x46')](_0x13c39c),_0x56674b[_0x1a4e('0x46')](_0x2c6d1a(_0x368e5a['Diagnostics']['Insert_command_line_options_and_files_from_a_file'])),_0x2c9ec9=Math['max'](_0x13c39c[_0x1a4e('0x1e')],_0x2c9ec9);for(var _0x26071d=0x0;_0x26071d<_0x326eae[_0x1a4e('0x1e')];_0x26071d++){var _0x31d530=_0x326eae[_0x26071d],_0x585b94=(_0x2dbceb=_0x56674b[_0x26071d],_0x4b15ae[_0x1a4e('0x179')](_0x2dbceb));if(_0x55ff7e[_0x1a4e('0x46')](_0x31d530+_0x1aff10(_0x2c9ec9-_0x31d530[_0x1a4e('0x1e')]+0x2)+_0x2dbceb+_0x368e5a['sys']['newLine']),_0x585b94){_0x55ff7e['push'](_0x1aff10(_0x2c9ec9+0x4));for(var _0x583b99=0x0,_0x5e95f1=_0x585b94;_0x583b99<_0x5e95f1[_0x1a4e('0x1e')];_0x583b99++){var _0x5539cd=_0x5e95f1[_0x583b99];_0x55ff7e[_0x1a4e('0x46')](_0x5539cd+'\x20');}_0x55ff7e['push'](_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x16d0')]);}}for(var _0x3de4a8=0x0,_0x1eaca0=_0x55ff7e;_0x3de4a8<_0x1eaca0[_0x1a4e('0x1e')];_0x3de4a8++){var _0x5da361=_0x1eaca0[_0x3de4a8];_0x368e5a[_0x1a4e('0x16b4')]['write'](_0x5da361);}return;function _0x3543e7(_0x368e5a){return void 0x0!==_0x368e5a[_0x1a4e('0x27b3')]?'\x20'+_0x2c6d1a(_0x368e5a[_0x1a4e('0x27b3')]):'';}function _0x1aff10(_0x368e5a){return Array(_0x368e5a+0x1)[_0x1a4e('0x9e')]('\x20');}},_0x368e5a[_0x1a4e('0x27b4')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17;try{_0x1adc17=_0x55ff7e['readFile'](_0x146f6e);}catch(_0x5608c0){var _0xf79407=_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x26f5')],_0x146f6e,_0x5608c0[_0x1a4e('0x133')]);return void _0x55ff7e[_0x1a4e('0x27b5')](_0xf79407);}if(_0x1adc17){var _0x2c9ec9=_0x368e5a['parseJsonText'](_0x146f6e,_0x1adc17),_0x420b32=_0x55ff7e[_0x1a4e('0x241c')]();return _0x2c9ec9[_0x1a4e('0x64')]=_0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x420b32,_0x368e5a[_0x1a4e('0x1761')](_0x55ff7e['useCaseSensitiveFileNames'])),_0x2c9ec9[_0x1a4e('0x27b6')]=_0x2c9ec9['path'],_0x2c9ec9[_0x1a4e('0x27b7')]=_0x2c9ec9[_0x1a4e('0x1b39')],_0x1eaca0(_0x2c9ec9,_0x55ff7e,_0x368e5a[_0x1a4e('0x22ea')](_0x368e5a[_0x1a4e('0x1671')](_0x146f6e),_0x420b32),_0x2327c6,_0x368e5a[_0x1a4e('0x22ea')](_0x146f6e,_0x420b32));}_0xf79407=_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')]['File_0_not_found'],_0x146f6e),_0x55ff7e[_0x1a4e('0x27b5')](_0xf79407);},_0x368e5a[_0x1a4e('0x27b8')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x78892d(_0x146f6e,_0x2327c6);return _0x368e5a['isString'](_0x55ff7e)?_0xa1e66a(_0x146f6e,_0x55ff7e):{'config':{},'error':_0x55ff7e};},_0x368e5a['parseConfigFileTextToJson']=_0xa1e66a,_0x368e5a[_0x1a4e('0x27b9')]=_0x2dbceb,_0x368e5a[_0x1a4e('0x27ba')]=_0x26071d,_0x368e5a[_0x1a4e('0x267e')]=_0x31d530,_0x368e5a['convertToTSConfig']=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1761')](_0x55ff7e[_0x1a4e('0x1b40')]),_0xf79407=_0x368e5a[_0x1a4e('0x21')](_0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x2708')],_0x146f6e[_0x1a4e('0x27bb')]&&_0x146f6e['configFileSpecs'][_0x1a4e('0x27bc')]?function(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x2327c6)return function(_0x368e5a){return!0x0;};var _0x1adc17=_0x368e5a[_0x1a4e('0x25c1')](_0x146f6e,_0x55ff7e,_0x2327c6,_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x1b40')],_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x241c')]()),_0xf79407=_0x1adc17['excludePattern']&&_0x368e5a[_0x1a4e('0x27bd')](_0x1adc17['excludePattern'],_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x1b40')]),_0x2c9ec9=_0x1adc17[_0x1a4e('0x1b54')]&&_0x368e5a['getRegexFromPattern'](_0x1adc17[_0x1a4e('0x1b54')],_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x1b40')]);return _0x2c9ec9?_0xf79407?function(_0x368e5a){return!(_0x2c9ec9[_0x1a4e('0x8d0')](_0x368e5a)&&!_0xf79407['test'](_0x368e5a));}:function(_0x368e5a){return!_0x2c9ec9['test'](_0x368e5a);}:_0xf79407?function(_0x368e5a){return _0xf79407[_0x1a4e('0x8d0')](_0x368e5a);}:function(_0x368e5a){return!0x0;};}(_0x2327c6,_0x146f6e[_0x1a4e('0x27bb')][_0x1a4e('0x27bc')],_0x146f6e[_0x1a4e('0x27bb')][_0x1a4e('0x27be')]):function(_0x368e5a){return!0x0;}),function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2701')](_0x368e5a['getNormalizedAbsolutePath'](_0x2327c6,_0x55ff7e[_0x1a4e('0x241c')]()),_0x368e5a[_0x1a4e('0x22ea')](_0x146f6e,_0x55ff7e[_0x1a4e('0x241c')]()),_0x1adc17);}),_0x2c9ec9=_0x3de4a8(_0x146f6e[_0x1a4e('0x8dc')],{'configFilePath':_0x368e5a[_0x1a4e('0x22ea')](_0x2327c6,_0x55ff7e[_0x1a4e('0x241c')]()),'useCaseSensitiveFileNames':_0x55ff7e[_0x1a4e('0x1b40')]});return _0x420b32({'compilerOptions':_0x420b32({},_0x368e5a['arrayFrom'](_0x2c9ec9[_0x1a4e('0x3c3')]())[_0x1a4e('0xbb')](function(_0x368e5a,_0x146f6e){var _0x2327c6;return _0x420b32({},_0x368e5a,((_0x2327c6={})[_0x146f6e[0x0]]=_0x146f6e[0x1],_0x2327c6));},{}),{'showConfig':void 0x0,'configFile':void 0x0,'configFilePath':void 0x0,'help':void 0x0,'init':void 0x0,'listFiles':void 0x0,'listEmittedFiles':void 0x0,'project':void 0x0}),'references':_0x368e5a['map'](_0x146f6e['projectReferences'],function(_0x368e5a){return _0x420b32({},_0x368e5a,{'path':_0x368e5a[_0x1a4e('0x231b')],'originalPath':void 0x0});}),'files':_0x368e5a[_0x1a4e('0x1e')](_0xf79407)?_0xf79407:void 0x0},_0x146f6e['configFileSpecs']?{'include':_0x5e95f1(_0x146f6e[_0x1a4e('0x27bb')][_0x1a4e('0x27bc')]),'exclude':_0x146f6e[_0x1a4e('0x27bb')]['validatedExcludeSpecs']}:{},{'compilerOnSave':!!_0x146f6e['compileOnSave']||void 0x0});},_0x368e5a[_0x1a4e('0x27bf')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x3de4a8(_0x368e5a[_0x1a4e('0xeff')](_0x146f6e,_0x368e5a[_0x1a4e('0x279b')]));return function(){for(var _0x146f6e=_0x368e5a[_0x1a4e('0x1b3e')](),_0x1b06ad=0x0,_0x326eae=_0x368e5a['optionDeclarations'];_0x1b06ad<_0x326eae['length'];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x4b15ae=_0x56674b[_0x1a4e('0x1a2d')];_0x420b32(_0x56674b)&&_0x146f6e[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x2582')](_0x4b15ae),_0x56674b);}var _0x592855=0x0,_0x192538=0x0,_0x2d8e4b=[],_0x2c6d1a=[];_0x146f6e['forEach'](function(_0x146f6e,_0x2327c6){0x0!==_0x2d8e4b[_0x1a4e('0x1e')]&&(_0x2d8e4b[_0x1a4e('0x46')](''),_0x2c6d1a[_0x1a4e('0x46')]('')),_0x2d8e4b[_0x1a4e('0x46')](_0x1a4e('0x27c0')+_0x2327c6+_0x1a4e('0xdfa')),_0x2c6d1a[_0x1a4e('0x46')]('');for(var _0x55ff7e=0x0,_0x2c9ec9=_0x146f6e;_0x55ff7e<_0x2c9ec9[_0x1a4e('0x1e')];_0x55ff7e++){var _0x420b32=_0x2c9ec9[_0x55ff7e],_0x1b06ad=void 0x0;_0x1b06ad=_0x1adc17[_0x1a4e('0x178')](_0x420b32['name'])?'\x22'+_0x420b32[_0x1a4e('0x2cb')]+_0x1a4e('0x27c1')+JSON['stringify'](_0x1adc17[_0x1a4e('0x179')](_0x420b32[_0x1a4e('0x2cb')]))+((_0x192538+=0x1)===_0x1adc17['size']?'':','):_0x1a4e('0x27c2')+_0x420b32[_0x1a4e('0x2cb')]+_0x1a4e('0x27c1')+JSON[_0x1a4e('0xd7')](_0xf79407(_0x420b32))+',',_0x2d8e4b['push'](_0x1b06ad),_0x2c6d1a['push']('/*\x20'+(_0x420b32[_0x1a4e('0x27b1')]&&_0x368e5a[_0x1a4e('0x2582')](_0x420b32['description'])||_0x420b32[_0x1a4e('0x2cb')])+_0x1a4e('0xdfa')),_0x592855=Math[_0x1a4e('0x6c')](_0x1b06ad[_0x1a4e('0x1e')],_0x592855);}});var _0xa1e66a=_0x2c9ec9(0x2),_0x2dbceb=[];_0x2dbceb[_0x1a4e('0x46')]('{'),_0x2dbceb[_0x1a4e('0x46')](_0xa1e66a+_0x1a4e('0x27c3'));for(var _0x78892d=0x0;_0x78892d<_0x2d8e4b[_0x1a4e('0x1e')];_0x78892d++){var _0x13c39c=_0x2d8e4b[_0x78892d],_0x26071d=_0x2c6d1a[_0x78892d];_0x2dbceb[_0x1a4e('0x46')](_0x13c39c&&''+_0xa1e66a+_0xa1e66a+_0x13c39c+(_0x26071d&&_0x2c9ec9(_0x592855-_0x13c39c[_0x1a4e('0x1e')]+0x2)+_0x26071d));}if(_0x2327c6[_0x1a4e('0x1e')]){_0x2dbceb[_0x1a4e('0x46')](_0xa1e66a+'},'),_0x2dbceb[_0x1a4e('0x46')](_0xa1e66a+_0x1a4e('0x27c4'));for(var _0x78892d=0x0;_0x78892d<_0x2327c6[_0x1a4e('0x1e')];_0x78892d++)_0x2dbceb['push'](''+_0xa1e66a+_0xa1e66a+JSON[_0x1a4e('0xd7')](_0x2327c6[_0x78892d])+(_0x78892d===_0x2327c6[_0x1a4e('0x1e')]-0x1?'':','));_0x2dbceb[_0x1a4e('0x46')](_0xa1e66a+']');}else _0x2dbceb[_0x1a4e('0x46')](_0xa1e66a+'}');return _0x2dbceb['push']('}'),_0x2dbceb[_0x1a4e('0x9e')](_0x55ff7e);}();function _0xf79407(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x40')]){case'number':return 0x1;case _0x1a4e('0x34b'):return!0x0;case _0x1a4e('0x9'):return _0x368e5a[_0x1a4e('0x270e')]?'./':'';case'list':return[];case _0x1a4e('0x85'):return{};default:return _0x368e5a['type'][_0x1a4e('0x56')]()['next']()['value'];}}function _0x2c9ec9(_0x368e5a){return Array(_0x368e5a+0x1)[_0x1a4e('0x9e')]('\x20');}function _0x420b32(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x1a2d')],_0x55ff7e=_0x146f6e['name'];return void 0x0!==_0x2327c6&&_0x2327c6!==_0x368e5a[_0x1a4e('0x167d')]['Command_line_Options']&&(_0x2327c6!==_0x368e5a['Diagnostics']['Advanced_Options']||_0x1adc17[_0x1a4e('0x178')](_0x55ff7e));}},_0x368e5a[_0x1a4e('0x27c5')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x3af690(_0x368e5a,void 0x0,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9);},_0x368e5a[_0x1a4e('0x27c6')]=_0x1eaca0,_0x368e5a[_0x1a4e('0x27c7')]=_0x5da361,_0x368e5a[_0x1a4e('0x27c8')]=_0x33a4db,_0x368e5a[_0x1a4e('0x27c9')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x1adc17[_0x1a4e('0x1e')];return _0x586ad4(_0x146f6e,_0xf79407)?_0x1adc17[_0x1a4e('0x46')](_0x16c2f0(_0x55ff7e,_0x2327c6)):_0x368e5a[_0x1a4e('0x27ca')](_0x1adc17,function(_0x146f6e){return!function(_0x146f6e){return _0x146f6e[_0x1a4e('0x1617')]===_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27cb')][_0x1a4e('0x1617')];}(_0x146f6e);}),_0x2c9ec9!==_0x1adc17[_0x1a4e('0x1e')];},_0x368e5a['convertCompilerOptionsFromJson']=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=[];return{'options':_0x173469(_0x368e5a,_0x146f6e,_0x55ff7e,_0x2327c6),'errors':_0x55ff7e};},_0x368e5a['convertTypeAcquisitionFromJson']=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=[];return{'options':_0x4e8dd8(_0x368e5a,_0x146f6e,_0x55ff7e,_0x2327c6),'errors':_0x55ff7e};};var _0xab0f43=/(^|\/)\*\*\/?$/,_0xe310a3=/(^|\/)\*\*\/(.*\/)?\.\.($|\/)/,_0x319c03=/\/[^\/]*?[*?][^\/]*\//,_0x47242e=/^[^*?]*(?=\/[^\/]*[*?])/;function _0x47b281(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){void 0x0===_0xf79407&&(_0xf79407=[]),_0x2327c6=_0x368e5a[_0x1a4e('0x1672')](_0x2327c6);var _0x2c9ec9,_0x420b32=_0x1adc17['useCaseSensitiveFileNames']?_0x368e5a[_0x1a4e('0x10a5')]:_0x368e5a['toLowerCase'],_0x1b06ad=_0x368e5a[_0x1a4e('0x1772')](),_0x326eae=_0x368e5a[_0x1a4e('0x1772')](),_0x56674b=_0x368e5a[_0x1a4e('0x1772')](),_0x4b15ae=_0x146f6e[_0x1a4e('0x27cc')],_0x592855=_0x146f6e[_0x1a4e('0x27bc')],_0x192538=_0x146f6e[_0x1a4e('0x27be')],_0x2d8e4b=_0x146f6e[_0x1a4e('0x27cd')],_0x2c6d1a=_0x368e5a[_0x1a4e('0x25ce')](_0x55ff7e,_0xf79407),_0xa1e66a=_0x368e5a[_0x1a4e('0x27ce')](_0x55ff7e,_0x2c6d1a);if(_0x4b15ae)for(var _0x2dbceb=0x0,_0x78892d=_0x4b15ae;_0x2dbceb<_0x78892d['length'];_0x2dbceb++){var _0x13c39c=_0x78892d[_0x2dbceb],_0x26071d=_0x368e5a[_0x1a4e('0x22ea')](_0x13c39c,_0x2327c6);_0x1b06ad['set'](_0x420b32(_0x26071d),_0x26071d);}if(_0x592855&&_0x592855[_0x1a4e('0x1e')]>0x0)for(var _0x31d530=function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x1a4e('0x1a87'))){if(!_0x2c9ec9){var _0x55ff7e=_0x592855[_0x1a4e('0xd9')](function(_0x146f6e){return _0x368e5a['endsWith'](_0x146f6e,_0x1a4e('0x1a87'));}),_0xf79407=_0x368e5a[_0x1a4e('0x21')](_0x368e5a[_0x1a4e('0x25c0')](_0x55ff7e,_0x2327c6,_0x1a4e('0x25bd')),function(_0x368e5a){return'^'+_0x368e5a+'$';});_0x2c9ec9=_0xf79407?_0xf79407['map'](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x27bd')](_0x146f6e,_0x1adc17[_0x1a4e('0x1b40')]);}):_0x368e5a[_0x1a4e('0x1700')];}if(-0x1!==_0x368e5a['findIndex'](_0x2c9ec9,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x8d0')](_0x146f6e);})){var _0x4b15ae=_0x420b32(_0x146f6e);_0x1b06ad[_0x1a4e('0x178')](_0x4b15ae)||_0x56674b['has'](_0x4b15ae)||_0x56674b[_0x1a4e('0x17a')](_0x4b15ae,_0x146f6e);}return _0x1a4e('0x137e');}if(function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){for(var _0x2c9ec9=_0x368e5a[_0x1a4e('0x27cf')](_0x146f6e,_0x1adc17),_0x420b32=_0x368e5a['adjustExtensionPriority'](_0x2c9ec9,_0x1adc17),_0x1b06ad=0x0;_0x1b06ad<_0x420b32;_0x1b06ad++){var _0x326eae=_0x1adc17[_0x1b06ad],_0x56674b=_0xf79407(_0x368e5a['changeExtension'](_0x146f6e,_0x326eae));if(_0x2327c6[_0x1a4e('0x178')](_0x56674b)||_0x55ff7e['has'](_0x56674b))return!0x0;}return!0x1;}(_0x146f6e,_0x1b06ad,_0x326eae,_0x2c6d1a,_0x420b32))return _0x1a4e('0x137e');!function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=_0x368e5a[_0x1a4e('0x27cf')](_0x146f6e,_0x55ff7e),_0x2c9ec9=_0x368e5a['getNextLowestExtensionPriority'](_0xf79407,_0x55ff7e);_0x2c9ec9<_0x55ff7e[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x420b32=_0x55ff7e[_0x2c9ec9],_0x1b06ad=_0x1adc17(_0x368e5a[_0x1a4e('0x25d9')](_0x146f6e,_0x420b32));_0x2327c6[_0x1a4e('0xf4c')](_0x1b06ad);}}(_0x146f6e,_0x326eae,_0x2c6d1a,_0x420b32);var _0x192538=_0x420b32(_0x146f6e);_0x1b06ad['has'](_0x192538)||_0x326eae['has'](_0x192538)||_0x326eae['set'](_0x192538,_0x146f6e);},_0x585b94=0x0,_0x583b99=_0x1adc17[_0x1a4e('0x1b52')](_0x2327c6,_0xa1e66a,_0x192538,_0x592855,void 0x0);_0x585b94<_0x583b99['length'];_0x585b94++){_0x31d530(_0x26071d=_0x583b99[_0x585b94]);}var _0x5e95f1=_0x368e5a[_0x1a4e('0x1729')](_0x1b06ad[_0x1a4e('0x35b')]()),_0x5539cd=_0x368e5a[_0x1a4e('0x1729')](_0x326eae[_0x1a4e('0x35b')]());return{'fileNames':_0x5e95f1[_0x1a4e('0x9a')](_0x5539cd,_0x368e5a[_0x1a4e('0x1729')](_0x56674b[_0x1a4e('0x35b')]())),'wildcardDirectories':_0x2d8e4b,'spec':_0x146f6e};}function _0x398c27(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x146f6e[_0x1a4e('0xd9')](function(_0x146f6e){var _0x2c9ec9=function(_0x146f6e,_0x2327c6){if(!_0x2327c6&&_0xab0f43[_0x1a4e('0x8d0')](_0x146f6e))return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27d0')];if(_0xe310a3[_0x1a4e('0x8d0')](_0x146f6e))return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27d1')];}(_0x146f6e,_0x55ff7e);return void 0x0!==_0x2c9ec9&&_0x2327c6[_0x1a4e('0x46')](function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2396')](_0x1adc17,_0xf79407,_0x2327c6);return _0x55ff7e?_0x368e5a[_0x1a4e('0x2356')](_0x1adc17,_0x55ff7e,_0x146f6e,_0x2327c6):_0x368e5a[_0x1a4e('0x166d')](_0x146f6e,_0x2327c6);}(_0x2c9ec9,_0x146f6e)),void 0x0===_0x2c9ec9;});}function _0x1e48df(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x47242e[_0x1a4e('0x2af')](_0x146f6e);return _0x55ff7e?{'key':_0x2327c6?_0x55ff7e[0x0]:_0x55ff7e[0x0][_0x1a4e('0x2b2')](),'flags':_0x319c03[_0x1a4e('0x8d0')](_0x146f6e)?0x1:0x0}:_0x368e5a['isImplicitGlob'](_0x146f6e)?{'key':_0x146f6e,'flags':0x1}:void 0x0;}function _0x10cc20(_0x146f6e,_0x2327c6){switch(_0x2327c6[_0x1a4e('0x40')]){case'object':case _0x1a4e('0x9'):return'';case _0x1a4e('0x3d'):return'number'==typeof _0x146f6e?_0x146f6e:'';case _0x1a4e('0x34b'):return'boolean'==typeof _0x146f6e?_0x146f6e:'';case _0x1a4e('0x26f0'):var _0x55ff7e=_0x2327c6[_0x1a4e('0x26ee')];return _0x368e5a[_0x1a4e('0x15')](_0x146f6e)?_0x146f6e[_0x1a4e('0x21')](function(_0x368e5a){return _0x10cc20(_0x368e5a,_0x55ff7e);}):'';default:return _0x368e5a[_0x1a4e('0x2308')](_0x2327c6['type'],function(_0x368e5a,_0x2327c6){if(_0x368e5a===_0x146f6e)return _0x2327c6;});}}_0x368e5a[_0x1a4e('0x27d2')]=_0x47b281,_0x368e5a[_0x1a4e('0x27d3')]=function(_0x368e5a){var _0x146f6e={};for(var _0x2327c6 in _0x368e5a)if(_0x368e5a[_0x1a4e('0xb')](_0x2327c6)){var _0x55ff7e=_0x192538(_0x2327c6);void 0x0!==_0x55ff7e&&(_0x146f6e[_0x2327c6]=_0x10cc20(_0x368e5a[_0x2327c6],_0x55ff7e));}return _0x146f6e;};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e){_0x146f6e['trace'](_0x368e5a['formatMessage'][_0x1a4e('0x8b')](void 0x0,arguments));}function _0x2327c6(_0x368e5a,_0x146f6e){return!!_0x368e5a[_0x1a4e('0x2727')]&&void 0x0!==_0x146f6e['trace'];}function _0x55ff7e(_0x368e5a,_0x146f6e){return _0x146f6e&&{'path':_0x146f6e['path'],'extension':_0x146f6e[_0x1a4e('0x27d4')],'packageId':_0x368e5a};}function _0x1adc17(_0x368e5a){return _0x55ff7e(void 0x0,_0x368e5a);}function _0xf79407(_0x146f6e){if(_0x146f6e)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0===_0x146f6e[_0x1a4e('0x27d5')]),{'path':_0x146f6e[_0x1a4e('0x64')],'ext':_0x146f6e[_0x1a4e('0x2319')]};}var _0x2c9ec9,_0x1b06ad;function _0x326eae(_0x146f6e){if(_0x146f6e)return _0x368e5a['Debug'][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x25de')](_0x146f6e[_0x1a4e('0x2319')])),{'fileName':_0x146f6e[_0x1a4e('0x64')],'packageId':_0x146f6e[_0x1a4e('0x27d5')]};}function _0x56674b(_0x368e5a,_0x146f6e,_0x2327c6){return{'resolvedModule':_0x368e5a&&{'resolvedFileName':_0x368e5a[_0x1a4e('0x64')],'originalPath':!0x0===_0x368e5a[_0x1a4e('0x231b')]?void 0x0:_0x368e5a[_0x1a4e('0x231b')],'extension':_0x368e5a[_0x1a4e('0x2319')],'isExternalLibraryImport':_0x146f6e,'packageId':_0x368e5a[_0x1a4e('0x27d5')]},'failedLookupLocations':_0x2327c6};}function _0x5be12a(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x368e5a[_0x1a4e('0x26ff')](_0x2327c6,_0x55ff7e)){var _0x2c9ec9=_0x2327c6[_0x55ff7e];if(typeof _0x2c9ec9===_0x1adc17&&null!==_0x2c9ec9)return _0x2c9ec9;_0xf79407[_0x1a4e('0x27d6')]&&_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a['Diagnostics'][_0x1a4e('0x27d7')],_0x55ff7e,_0x1adc17,null===_0x2c9ec9?'null':typeof _0x2c9ec9);}else _0xf79407[_0x1a4e('0x27d6')]&&_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')]['package_json_does_not_have_a_0_field'],_0x55ff7e);}function _0x981d82(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x5be12a(_0x2327c6,_0x55ff7e,_0x1a4e('0x9'),_0xf79407);if(void 0x0!==_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x1672')](_0x368e5a[_0x1a4e('0x1673')](_0x1adc17,_0x2c9ec9));return _0xf79407[_0x1a4e('0x27d6')]&&_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27d8')],_0x55ff7e,_0x2c9ec9,_0x420b32),_0x420b32;}}function _0xb63403(_0x368e5a,_0x146f6e,_0x2327c6){return _0x981d82(_0x368e5a,_0x1a4e('0x27d9'),_0x146f6e,_0x2327c6)||_0x981d82(_0x368e5a,'types',_0x146f6e,_0x2327c6);}function _0xd99d8(_0x368e5a,_0x146f6e,_0x2327c6){return _0x981d82(_0x368e5a,_0x1a4e('0x27da'),_0x146f6e,_0x2327c6);}function _0x3f0058(_0x2327c6,_0x55ff7e){var _0x1adc17=function(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x5be12a(_0x2327c6,_0x1a4e('0x27db'),_0x1a4e('0x85'),_0x55ff7e);if(void 0x0!==_0x1adc17)return _0x55ff7e['traceEnabled']&&_0x146f6e(_0x55ff7e['host'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27dc')]),_0x1adc17;}(_0x2327c6,_0x55ff7e);if(void 0x0!==_0x1adc17){if(_0x55ff7e[_0x1a4e('0x27d6')])for(var _0xf79407 in _0x1adc17)_0x368e5a[_0x1a4e('0x26ff')](_0x1adc17,_0xf79407)&&!_0x368e5a['VersionRange']['tryParse'](_0xf79407)&&_0x146f6e(_0x55ff7e['host'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27dd')],_0xf79407);var _0x2c9ec9=_0x3eea98(_0x1adc17);if(_0x2c9ec9){var _0x420b32=_0x2c9ec9['version'],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x27de')];if(_0x1a4e('0x85')==typeof _0x1b06ad)return _0x2c9ec9;_0x55ff7e[_0x1a4e('0x27d6')]&&_0x146f6e(_0x55ff7e[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27d7')],'typesVersions[\x27'+_0x420b32+'\x27]',_0x1a4e('0x85'),typeof _0x1b06ad);}else _0x55ff7e['traceEnabled']&&_0x146f6e(_0x55ff7e[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27df')],_0x368e5a[_0x1a4e('0x16fa')]);}}function _0x3eea98(_0x146f6e){for(var _0x2327c6 in _0x1b06ad||(_0x1b06ad=new _0x368e5a[(_0x1a4e('0x177f'))](_0x368e5a[_0x1a4e('0xb98')])),_0x146f6e)if(_0x368e5a[_0x1a4e('0x26ff')](_0x146f6e,_0x2327c6)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1783')][_0x1a4e('0x177d')](_0x2327c6);if(void 0x0!==_0x55ff7e&&_0x55ff7e['test'](_0x1b06ad))return{'version':_0x2327c6,'paths':_0x146f6e[_0x2327c6]};}}function _0x1c2da5(_0x146f6e,_0x2327c6){return _0x146f6e[_0x1a4e('0x275f')]?_0x146f6e['typeRoots']:(_0x146f6e['configFilePath']?_0x55ff7e=_0x368e5a[_0x1a4e('0x1671')](_0x146f6e['configFilePath']):_0x2327c6[_0x1a4e('0x241c')]&&(_0x55ff7e=_0x2327c6[_0x1a4e('0x241c')]()),void 0x0!==_0x55ff7e?function(_0x146f6e,_0x2327c6){if(!_0x2327c6[_0x1a4e('0x16b5')])return[_0x368e5a[_0x1a4e('0x1673')](_0x146f6e,_0xde05cd)];var _0x55ff7e;return _0x368e5a[_0x1a4e('0x2496')](_0x368e5a[_0x1a4e('0x1672')](_0x146f6e),function(_0x146f6e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1673')](_0x146f6e,_0xde05cd);_0x2327c6[_0x1a4e('0x16b5')](_0x1adc17)&&(_0x55ff7e||(_0x55ff7e=[]))[_0x1a4e('0x46')](_0x1adc17);}),_0x55ff7e;}(_0x55ff7e,_0x2327c6):void 0x0);var _0x55ff7e;}_0x368e5a[_0x1a4e('0x27e0')]=_0x146f6e,_0x368e5a['isTraceEnabled']=_0x2327c6,function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x16df')]=0x0]=_0x1a4e('0x16df'),_0x368e5a[_0x368e5a[_0x1a4e('0x27e1')]=0x1]=_0x1a4e('0x27e1'),_0x368e5a[_0x368e5a[_0x1a4e('0x27e2')]=0x2]=_0x1a4e('0x27e2'),_0x368e5a[_0x368e5a[_0x1a4e('0x27e3')]=0x3]=_0x1a4e('0x27e3'),_0x368e5a[_0x368e5a[_0x1a4e('0x27e4')]=0x4]=_0x1a4e('0x27e4');}(_0x2c9ec9||(_0x2c9ec9={})),_0x368e5a['getPackageJsonTypesVersionsPaths']=_0x3eea98,_0x368e5a[_0x1a4e('0x27e5')]=_0x1c2da5;var _0xde05cd=_0x368e5a['combinePaths'](_0x1a4e('0x16ed'),_0x1a4e('0x27e6'));function _0x1802ae(){var _0x146f6e=_0x368e5a[_0x1a4e('0x1772')](),_0x2327c6=_0x368e5a[_0x1a4e('0x1772')]();return{'ownMap':_0x146f6e,'redirectsMap':_0x2327c6,'getOrCreateMapOfCacheRedirects':function(_0x55ff7e){if(!_0x55ff7e)return _0x146f6e;var _0x1adc17=_0x55ff7e[_0x1a4e('0x27e7')][_0x1a4e('0x64')],_0xf79407=_0x2327c6[_0x1a4e('0x179')](_0x1adc17);_0xf79407||(_0xf79407=_0x368e5a['createMap'](),_0x2327c6['set'](_0x1adc17,_0xf79407));return _0xf79407;},'clear':function(){_0x146f6e['clear'](),_0x2327c6[_0x1a4e('0xb5')]();}};}function _0x34b43e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return{'getOrCreateCacheForDirectory':function(_0x2327c6,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x1087')](_0x2327c6,_0x55ff7e,_0x1adc17);return _0xf79407(_0x146f6e,_0x2c9ec9,_0x420b32,_0x368e5a[_0x1a4e('0x1772')]);},'getOrCreateCacheForModuleName':function(_0x146f6e,_0x55ff7e){return _0x368e5a['Debug'][_0x1a4e('0xba0')](!_0x368e5a['isExternalModuleNameRelative'](_0x146f6e)),_0xf79407(_0x2327c6,_0x55ff7e,_0x146f6e,_0x2c9ec9);}};function _0xf79407(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['getOrCreateMapOfCacheRedirects'](_0x146f6e),_0xf79407=_0x1adc17[_0x1a4e('0x179')](_0x2327c6);return _0xf79407||(_0xf79407=_0x55ff7e(),_0x1adc17[_0x1a4e('0x17a')](_0x2327c6,_0xf79407)),_0xf79407;}function _0x2c9ec9(){var _0x146f6e=_0x368e5a[_0x1a4e('0x1772')]();return{'get':function(_0x2327c6){return _0x146f6e[_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x1087')](_0x2327c6,_0x55ff7e,_0x1adc17));},'set':function(_0x2327c6,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1087')](_0x2327c6,_0x55ff7e,_0x1adc17);if(_0x146f6e['has'](_0x2c9ec9))return;_0x146f6e[_0x1a4e('0x17a')](_0x2c9ec9,_0xf79407);var _0x420b32=_0xf79407[_0x1a4e('0x2718')]&&(_0xf79407[_0x1a4e('0x2718')][_0x1a4e('0x231b')]||_0xf79407['resolvedModule']['resolvedFileName']),_0x1b06ad=_0x420b32&&function(_0x146f6e,_0x2327c6){var _0xf79407=_0x368e5a['toPath'](_0x368e5a[_0x1a4e('0x1671')](_0x2327c6),_0x55ff7e,_0x1adc17),_0x2c9ec9=0x0,_0x420b32=Math['min'](_0x146f6e[_0x1a4e('0x1e')],_0xf79407['length']);for(;_0x2c9ec9<_0x420b32&&_0x146f6e[_0x1a4e('0x913')](_0x2c9ec9)===_0xf79407[_0x1a4e('0x913')](_0x2c9ec9);)_0x2c9ec9++;if(_0x2c9ec9===_0x146f6e[_0x1a4e('0x1e')]&&(_0xf79407[_0x1a4e('0x1e')]===_0x2c9ec9||_0xf79407[_0x2c9ec9]===_0x368e5a[_0x1a4e('0x1b42')]))return _0x146f6e;var _0x1b06ad=_0x368e5a['getRootLength'](_0x146f6e);if(_0x2c9ec9<_0x1b06ad)return;var _0x326eae=_0x146f6e[_0x1a4e('0x471')](_0x368e5a[_0x1a4e('0x1b42')],_0x2c9ec9-0x1);if(-0x1===_0x326eae)return;return _0x146f6e[_0x1a4e('0x254')](0x0,Math['max'](_0x326eae,_0x1b06ad));}(_0x2c9ec9,_0x420b32),_0x326eae=_0x2c9ec9;for(;_0x326eae!==_0x1b06ad;){var _0x56674b=_0x368e5a[_0x1a4e('0x1671')](_0x326eae);if(_0x56674b===_0x326eae||_0x146f6e[_0x1a4e('0x178')](_0x56674b))break;_0x146f6e[_0x1a4e('0x17a')](_0x56674b,_0xf79407),_0x326eae=_0x56674b;}}};}}function _0x75e2c(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0xf79407[_0x1a4e('0x2706')],_0x420b32=_0x2c9ec9['baseUrl'],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x27de')];if(_0x420b32&&_0x1b06ad&&!_0x368e5a[_0x1a4e('0x22de')](_0x55ff7e))return _0xf79407[_0x1a4e('0x27d6')]&&(_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27e8')],_0x420b32,_0x55ff7e),_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27e9')],_0x55ff7e)),_0x42e0cd(_0x2327c6,_0x55ff7e,_0x420b32,_0x1b06ad,_0x1adc17,!0x1,_0xf79407);}(_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9);return _0x420b32?_0x420b32[_0x1a4e('0x255')]:_0x368e5a['isExternalModuleNameRelative'](_0x55ff7e)?function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(!_0x2c9ec9[_0x1a4e('0x2706')][_0x1a4e('0x275e')])return;_0x2c9ec9[_0x1a4e('0x27d6')]&&_0x146f6e(_0x2c9ec9['host'],_0x368e5a['Diagnostics'][_0x1a4e('0x27ea')],_0x55ff7e);for(var _0x420b32,_0x1b06ad,_0x326eae=_0x368e5a[_0x1a4e('0x1672')](_0x368e5a['combinePaths'](_0x1adc17,_0x55ff7e)),_0x56674b=0x0,_0x5be12a=_0x2c9ec9[_0x1a4e('0x2706')][_0x1a4e('0x275e')];_0x56674b<_0x5be12a[_0x1a4e('0x1e')];_0x56674b++){var _0x981d82=_0x5be12a[_0x56674b],_0xb63403=_0x368e5a['normalizePath'](_0x981d82);_0x368e5a[_0x1a4e('0x1098')](_0xb63403,_0x368e5a[_0x1a4e('0x1b42')])||(_0xb63403+=_0x368e5a[_0x1a4e('0x1b42')]);var _0xd99d8=_0x368e5a[_0x1a4e('0xdfb')](_0x326eae,_0xb63403)&&(void 0x0===_0x1b06ad||_0x1b06ad[_0x1a4e('0x1e')]<_0xb63403[_0x1a4e('0x1e')]);_0x2c9ec9[_0x1a4e('0x27d6')]&&_0x146f6e(_0x2c9ec9['host'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27eb')],_0xb63403,_0x326eae,_0xd99d8),_0xd99d8&&(_0x1b06ad=_0xb63403,_0x420b32=_0x981d82);}if(_0x1b06ad){_0x2c9ec9[_0x1a4e('0x27d6')]&&_0x146f6e(_0x2c9ec9['host'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27ec')],_0x326eae,_0x1b06ad);var _0x3f0058=_0x326eae[_0x1a4e('0x254')](_0x1b06ad['length']);_0x2c9ec9[_0x1a4e('0x27d6')]&&_0x146f6e(_0x2c9ec9[_0x1a4e('0x1599')],_0x368e5a['Diagnostics'][_0x1a4e('0x27ed')],_0x3f0058,_0x1b06ad,_0x326eae);var _0x3eea98=_0xf79407(_0x2327c6,_0x326eae,!_0x368e5a['directoryProbablyExists'](_0x1adc17,_0x2c9ec9['host']),_0x2c9ec9);if(_0x3eea98)return _0x3eea98;_0x2c9ec9['traceEnabled']&&_0x146f6e(_0x2c9ec9[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27ee')]);for(var _0x1c2da5=0x0,_0xde05cd=_0x2c9ec9[_0x1a4e('0x2706')][_0x1a4e('0x275e')];_0x1c2da5<_0xde05cd[_0x1a4e('0x1e')];_0x1c2da5++){var _0x981d82=_0xde05cd[_0x1c2da5];if(_0x981d82!==_0x420b32){var _0x1802ae=_0x368e5a[_0x1a4e('0x1673')](_0x368e5a[_0x1a4e('0x1672')](_0x981d82),_0x3f0058);_0x2c9ec9[_0x1a4e('0x27d6')]&&_0x146f6e(_0x2c9ec9[_0x1a4e('0x1599')],_0x368e5a['Diagnostics']['Loading_0_from_the_root_dir_1_candidate_location_2'],_0x3f0058,_0x981d82,_0x1802ae);var _0x34b43e=_0x368e5a['getDirectoryPath'](_0x1802ae),_0x75e2c=_0xf79407(_0x2327c6,_0x1802ae,!_0x368e5a[_0x1a4e('0x27ef')](_0x34b43e,_0x2c9ec9[_0x1a4e('0x1599')]),_0x2c9ec9);if(_0x75e2c)return _0x75e2c;}}_0x2c9ec9[_0x1a4e('0x27d6')]&&_0x146f6e(_0x2c9ec9[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27f0')]);}return;}(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9):function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0xf79407[_0x1a4e('0x2706')]['baseUrl'];if(!_0x2c9ec9)return;_0xf79407[_0x1a4e('0x27d6')]&&_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a['Diagnostics'][_0x1a4e('0x27e8')],_0x2c9ec9,_0x55ff7e);var _0x420b32=_0x368e5a[_0x1a4e('0x1672')](_0x368e5a[_0x1a4e('0x1673')](_0x2c9ec9,_0x55ff7e));_0xf79407[_0x1a4e('0x27d6')]&&_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')]['Resolving_module_name_0_relative_to_base_url_1_2'],_0x55ff7e,_0x2c9ec9,_0x420b32);return _0x1adc17(_0x2327c6,_0x420b32,!_0x368e5a[_0x1a4e('0x27ef')](_0x368e5a[_0x1a4e('0x1671')](_0x420b32),_0xf79407['host']),_0xf79407);}(_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9);}_0x368e5a[_0x1a4e('0x27f1')]=function(_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad){var _0x56674b=_0x2327c6(_0xf79407,_0x420b32);_0x1b06ad&&(_0xf79407=_0x1b06ad[_0x1a4e('0x27f2')][_0x1a4e('0x8dc')]);var _0x5be12a=[],_0x981d82={'compilerOptions':_0xf79407,'host':_0x420b32,'traceEnabled':_0x56674b,'failedLookupLocations':_0x5be12a},_0xb63403=_0x1c2da5(_0xf79407,_0x420b32);_0x56674b&&(void 0x0===_0x1adc17?void 0x0===_0xb63403?_0x146f6e(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27f3')],_0x55ff7e):_0x146f6e(_0x420b32,_0x368e5a['Diagnostics'][_0x1a4e('0x27f4')],_0x55ff7e,_0xb63403):void 0x0===_0xb63403?_0x146f6e(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27f5')],_0x55ff7e,_0x1adc17):_0x146f6e(_0x420b32,_0x368e5a[_0x1a4e('0x167d')]['Resolving_type_reference_directive_0_containing_file_1_root_directory_2'],_0x55ff7e,_0x1adc17,_0xb63403),_0x1b06ad&&_0x146f6e(_0x420b32,_0x368e5a['Diagnostics'][_0x1a4e('0x27f6')],_0x1b06ad[_0x1a4e('0x27e7')]['fileName']));var _0xd99d8,_0x3f0058=function(){if(_0xb63403&&_0xb63403[_0x1a4e('0x1e')])return _0x56674b&&_0x146f6e(_0x420b32,_0x368e5a['Diagnostics']['Resolving_with_primary_search_path_0'],_0xb63403['join'](',\x20')),_0x368e5a[_0x1a4e('0x1703')](_0xb63403,function(_0x2327c6){var _0x1adc17=_0x368e5a['combinePaths'](_0x2327c6,_0x55ff7e),_0xf79407=_0x368e5a[_0x1a4e('0x1671')](_0x1adc17),_0x1b06ad=_0x368e5a[_0x1a4e('0x27ef')](_0xf79407,_0x420b32);return!_0x1b06ad&&_0x56674b&&_0x146f6e(_0x420b32,_0x368e5a['Diagnostics'][_0x1a4e('0x27f7')],_0xf79407),_0x326eae(_0x47c1ce(_0x2c9ec9[_0x1a4e('0x27e4')],_0x1adc17,!_0x1b06ad,_0x981d82));});_0x56674b&&_0x146f6e(_0x420b32,_0x368e5a['Diagnostics']['Root_directory_cannot_be_determined_skipping_primary_search_paths']);}(),_0x3eea98=!0x0;if(_0x3f0058||(_0x3f0058=function(){var _0x2327c6=_0x1adc17&&_0x368e5a[_0x1a4e('0x1671')](_0x1adc17);if(void 0x0!==_0x2327c6){_0x56674b&&_0x146f6e(_0x420b32,_0x368e5a[_0x1a4e('0x167d')]['Looking_up_in_node_modules_folder_initial_location_0'],_0x2327c6);var _0xf79407=void 0x0;if(_0x368e5a[_0x1a4e('0x22dd')](_0x55ff7e)){var _0x1b06ad=_0x368e5a['normalizePathAndParts'](_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x55ff7e))[_0x1a4e('0x64')];_0xf79407=_0x3dc4a8(_0x2c9ec9['DtsOnly'],_0x1b06ad,!0x1,_0x981d82,!0x0);}else{var _0x5be12a=_0x3aad3f(_0x2c9ec9['DtsOnly'],_0x55ff7e,_0x2327c6,_0x981d82,void 0x0,void 0x0);_0xf79407=_0x5be12a&&_0x5be12a[_0x1a4e('0x255')];}var _0xb63403=_0x326eae(_0xf79407);return!_0xb63403&&_0x56674b&&_0x146f6e(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27f8')],_0x55ff7e),_0xb63403;}_0x56674b&&_0x146f6e(_0x420b32,_0x368e5a[_0x1a4e('0x167d')]['Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder']);}(),_0x3eea98=!0x1),_0x3f0058){var _0xde05cd=_0x3f0058['fileName'],_0x1802ae=_0x3f0058[_0x1a4e('0x27d5')],_0x34b43e=_0xf79407[_0x1a4e('0x27f9')]?_0xde05cd:_0x2c6894(_0xde05cd,_0x420b32,_0x56674b);_0x56674b&&_0x146f6e(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27fa')],_0x55ff7e,_0x34b43e,_0x3eea98),_0xd99d8={'primary':_0x3eea98,'resolvedFileName':_0x34b43e,'packageId':_0x1802ae,'isExternalLibraryImport':_0x2d2a21(_0xde05cd)};}return{'resolvedTypeReferenceDirective':_0xd99d8,'failedLookupLocations':_0x5be12a};},_0x368e5a[_0x1a4e('0x27fb')]=function(_0x146f6e,_0x2327c6){if(_0x146f6e['types'])return _0x146f6e[_0x1a4e('0x2380')];var _0x55ff7e=[];if(_0x2327c6[_0x1a4e('0x16b5')]&&_0x2327c6[_0x1a4e('0x27fc')]){var _0x1adc17=_0x1c2da5(_0x146f6e,_0x2327c6);if(_0x1adc17)for(var _0xf79407=0x0,_0x2c9ec9=_0x1adc17;_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(_0x2327c6[_0x1a4e('0x16b5')](_0x420b32))for(var _0x1b06ad=0x0,_0x326eae=_0x2327c6[_0x1a4e('0x27fc')](_0x420b32);_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x5be12a=_0x368e5a[_0x1a4e('0x1672')](_0x56674b),_0x981d82=_0x368e5a[_0x1a4e('0x1673')](_0x420b32,_0x5be12a,_0x1a4e('0x16f1'));if(!_0x2327c6[_0x1a4e('0x1b4d')](_0x981d82)||null!==_0x368e5a[_0x1a4e('0x27fd')](_0x981d82,_0x2327c6)[_0x1a4e('0x27d9')]){var _0xb63403=_0x368e5a[_0x1a4e('0x2338')](_0x5be12a);0x2e!==_0xb63403[_0x1a4e('0x913')](0x0)&&_0x55ff7e[_0x1a4e('0x46')](_0xb63403);}}}}return _0x55ff7e;},_0x368e5a['createModuleResolutionCache']=function(_0x368e5a,_0x146f6e){return _0x34b43e(_0x1802ae(),_0x1802ae(),_0x368e5a,_0x146f6e);},_0x368e5a['createCacheWithRedirects']=_0x1802ae,_0x368e5a[_0x1a4e('0x27fe')]=_0x34b43e,_0x368e5a[_0x1a4e('0x27ff')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1671')](_0x2327c6),_0xf79407=_0x55ff7e&&_0x55ff7e[_0x1a4e('0x2800')](_0x1adc17);return _0xf79407&&_0xf79407[_0x1a4e('0x179')](_0x146f6e);},_0x368e5a['resolveModuleName']=function(_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=_0x2327c6(_0xf79407,_0x2c9ec9);_0x1b06ad&&(_0xf79407=_0x1b06ad[_0x1a4e('0x27f2')]['options']),_0x326eae&&(_0x146f6e(_0x2c9ec9,_0x368e5a['Diagnostics'][_0x1a4e('0x2801')],_0x55ff7e,_0x1adc17),_0x1b06ad&&_0x146f6e(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27f6')],_0x1b06ad[_0x1a4e('0x27e7')][_0x1a4e('0x1b39')]));var _0x56674b=_0x368e5a[_0x1a4e('0x1671')](_0x1adc17),_0x5be12a=_0x420b32&&_0x420b32[_0x1a4e('0x2800')](_0x56674b,_0x1b06ad),_0x981d82=_0x5be12a&&_0x5be12a[_0x1a4e('0x179')](_0x55ff7e);if(_0x981d82)_0x326eae&&_0x146f6e(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2802')],_0x55ff7e,_0x56674b);else{var _0xb63403=_0xf79407['moduleResolution'];switch(void 0x0===_0xb63403?(_0xb63403=_0x368e5a[_0x1a4e('0x2348')](_0xf79407)===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a30')]?_0x368e5a['ModuleResolutionKind']['NodeJs']:_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2e')],_0x326eae&&_0x146f6e(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2803')],_0x368e5a[_0x1a4e('0x258b')][_0xb63403])):_0x326eae&&_0x146f6e(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2804')],_0x368e5a[_0x1a4e('0x258b')][_0xb63403]),_0xb63403){case _0x368e5a['ModuleResolutionKind'][_0x1a4e('0x1a2f')]:_0x981d82=_0x178d63(_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad);break;case _0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2e')]:_0x981d82=_0x5886a3(_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad);break;default:return _0x368e5a['Debug'][_0x1a4e('0x1709')](_0x1a4e('0x2805')+_0xb63403);}_0x5be12a&&(_0x5be12a[_0x1a4e('0x17a')](_0x55ff7e,_0x981d82),_0x368e5a[_0x1a4e('0x22dd')](_0x55ff7e)||_0x420b32['getOrCreateCacheForModuleName'](_0x55ff7e,_0x1b06ad)['set'](_0x56674b,_0x981d82));}return _0x326eae&&(_0x981d82['resolvedModule']?_0x146f6e(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2806')],_0x55ff7e,_0x981d82[_0x1a4e('0x2718')][_0x1a4e('0x231a')]):_0x146f6e(_0x2c9ec9,_0x368e5a['Diagnostics'][_0x1a4e('0x2807')],_0x55ff7e)),_0x981d82;},_0x368e5a[_0x1a4e('0x2808')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x24e1b5(_0x368e5a,_0x146f6e,_0x2327c6),_0x1adc17=_0x55ff7e[_0x1a4e('0x2718')],_0xf79407=_0x55ff7e[_0x1a4e('0x2809')];if(!_0x1adc17)throw new Error(_0x1a4e('0x280a')+_0x368e5a+'\x27\x20starting\x20at\x20\x27'+_0x146f6e+_0x1a4e('0x280b')+_0xf79407[_0x1a4e('0x9e')](',\x20'));return _0x1adc17['resolvedFileName'];},_0x368e5a[_0x1a4e('0x280c')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x24e1b5(_0x368e5a,_0x146f6e,_0x2327c6)[_0x1a4e('0x2718')];return _0x55ff7e&&_0x55ff7e[_0x1a4e('0x231a')];};var _0x14727c=[_0x2c9ec9[_0x1a4e('0x27e1')]],_0x556ada=[_0x2c9ec9['TypeScript'],_0x2c9ec9[_0x1a4e('0x27e1')]],_0xb0056f=_0x556ada[_0x1a4e('0x9a')]([_0x2c9ec9[_0x1a4e('0x27e2')]]),_0x52b44e=[_0x2c9ec9[_0x1a4e('0x27e3')]];function _0x24e1b5(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x304bcc(_0x146f6e,_0x2327c6,{'moduleResolution':_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')],'allowJs':!0x0},_0x55ff7e,void 0x0,_0x14727c,void 0x0);}function _0x178d63(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){return _0x304bcc(_0x146f6e,_0x368e5a[_0x1a4e('0x1671')](_0x2327c6),_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32?_0x52b44e:_0x55ff7e[_0x1a4e('0x25cd')]?_0xb0056f:_0x556ada,_0x2c9ec9);}function _0x304bcc(_0x55ff7e,_0x1adc17,_0xf79407,_0x1b06ad,_0x326eae,_0x5be12a,_0x981d82){var _0xb63403=_0x2327c6(_0xf79407,_0x1b06ad),_0xd99d8=[],_0x3f0058={'compilerOptions':_0xf79407,'host':_0x1b06ad,'traceEnabled':_0xb63403,'failedLookupLocations':_0xd99d8},_0x3eea98=_0x368e5a['forEach'](_0x5be12a,function(_0x2327c6){return function(_0x2327c6){var _0x56674b=_0x75e2c(_0x2327c6,_0x55ff7e,_0x1adc17,function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x3dc4a8(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,!0x0);},_0x3f0058);if(_0x56674b)return _0x4af0a2({'resolved':_0x56674b,'isExternalLibraryImport':_0x2d2a21(_0x56674b[_0x1a4e('0x64')])});if(_0x368e5a['isExternalModuleNameRelative'](_0x55ff7e)){var _0x5be12a=_0x368e5a[_0x1a4e('0x2597')](_0x368e5a['combinePaths'](_0x1adc17,_0x55ff7e)),_0xd99d8=_0x5be12a[_0x1a4e('0x64')],_0x3eea98=_0x5be12a[_0x1a4e('0x280d')],_0x1c2da5=_0x3dc4a8(_0x2327c6,_0xd99d8,!0x1,_0x3f0058,!0x0);return _0x1c2da5&&_0x4af0a2({'resolved':_0x1c2da5,'isExternalLibraryImport':_0x368e5a[_0x1a4e('0x2ac')](_0x3eea98,_0x1a4e('0x16ed'))});}_0xb63403&&_0x146f6e(_0x1b06ad,_0x368e5a['Diagnostics'][_0x1a4e('0x280e')],_0x55ff7e,_0x2c9ec9[_0x2327c6]);var _0xde05cd=_0x3aad3f(_0x2327c6,_0x55ff7e,_0x1adc17,_0x3f0058,_0x326eae,_0x981d82);if(!_0xde05cd)return;var _0x1802ae=_0xde05cd['value'];if(!_0xf79407[_0x1a4e('0x27f9')]&&_0x1802ae&&!_0x1802ae[_0x1a4e('0x231b')]){var _0x34b43e=_0x2c6894(_0x1802ae[_0x1a4e('0x64')],_0x1b06ad,_0xb63403),_0x14727c=_0x34b43e===_0x1802ae[_0x1a4e('0x64')]?void 0x0:_0x1802ae[_0x1a4e('0x64')];_0x1802ae=_0x420b32({},_0x1802ae,{'path':_0x34b43e,'originalPath':_0x14727c});}return{'value':_0x1802ae&&{'resolved':_0x1802ae,'isExternalLibraryImport':!0x0}};}(_0x2327c6);});if(_0x3eea98&&_0x3eea98[_0x1a4e('0x255')]){var _0x1c2da5=_0x3eea98[_0x1a4e('0x255')];return _0x56674b(_0x1c2da5[_0x1a4e('0x280f')],_0x1c2da5[_0x1a4e('0x2318')],_0xd99d8);}return{'resolvedModule':void 0x0,'failedLookupLocations':_0xd99d8};}function _0x2c6894(_0x2327c6,_0x55ff7e,_0x1adc17){if(!_0x55ff7e[_0x1a4e('0x1b46')])return _0x2327c6;var _0xf79407=_0x368e5a[_0x1a4e('0x1672')](_0x55ff7e[_0x1a4e('0x1b46')](_0x2327c6));return _0x1adc17&&_0x146f6e(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['Resolving_real_path_for_0_result_1'],_0x2327c6,_0xf79407),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x55ff7e[_0x1a4e('0x1b4d')](_0xf79407),_0x2327c6+_0x1a4e('0x2810')+_0xf79407),_0xf79407;}function _0x3dc4a8(_0x2327c6,_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad){if(_0x420b32['traceEnabled']&&_0x146f6e(_0x420b32[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2811')],_0x1adc17,_0x2c9ec9[_0x2327c6]),!_0x368e5a[_0x1a4e('0x2598')](_0x1adc17)){if(!_0xf79407){var _0x326eae=_0x368e5a[_0x1a4e('0x1671')](_0x1adc17);_0x368e5a[_0x1a4e('0x27ef')](_0x326eae,_0x420b32[_0x1a4e('0x1599')])||(_0x420b32[_0x1a4e('0x27d6')]&&_0x146f6e(_0x420b32[_0x1a4e('0x1599')],_0x368e5a['Diagnostics'][_0x1a4e('0x27f7')],_0x326eae),_0xf79407=!0x0);}var _0x56674b=_0x48d8ee(_0x2327c6,_0x1adc17,_0xf79407,_0x420b32);if(_0x56674b){var _0x5be12a=_0x1b06ad?function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1672')](_0x146f6e[_0x1a4e('0x64')]),_0x55ff7e=_0x2327c6[_0x1a4e('0x471')](_0x368e5a[_0x1a4e('0x2812')]);if(-0x1===_0x55ff7e)return;var _0x1adc17=_0x55ff7e+_0x368e5a[_0x1a4e('0x2812')][_0x1a4e('0x1e')],_0xf79407=_0x2e4e38(_0x2327c6,_0x1adc17);0x40===_0x2327c6[_0x1a4e('0x913')](_0x1adc17)&&(_0xf79407=_0x2e4e38(_0x2327c6,_0xf79407));var _0x2c9ec9=_0x2327c6[_0x1a4e('0x78')](0x0,_0xf79407),_0x420b32=_0x368e5a['removeExtension'](_0x2327c6['slice'](_0xf79407+0x1),_0x146f6e['ext'])+'.d.ts';return{'packageDirectory':_0x2c9ec9,'subModuleName':_0x420b32};}(_0x56674b):void 0x0,_0x981d82=_0x5be12a&&_0x189a85(_0x5be12a[_0x1a4e('0x2813')],_0x5be12a[_0x1a4e('0x231c')],!0x1,_0x420b32);return _0x55ff7e(_0x981d82&&_0x981d82[_0x1a4e('0x27d5')],_0x56674b);}}_0xf79407||(_0x368e5a[_0x1a4e('0x27ef')](_0x1adc17,_0x420b32[_0x1a4e('0x1599')])||(_0x420b32[_0x1a4e('0x27d6')]&&_0x146f6e(_0x420b32[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27f7')],_0x1adc17),_0xf79407=!0x0));return _0x47c1ce(_0x2327c6,_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad);}function _0x2d2a21(_0x146f6e){return _0x368e5a['stringContains'](_0x146f6e,_0x368e5a[_0x1a4e('0x2812')]);}function _0x2e4e38(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['indexOf'](_0x368e5a['directorySeparator'],_0x2327c6+0x1);return-0x1===_0x55ff7e?_0x2327c6:_0x55ff7e;}function _0x28b30a(_0x146f6e){return''===_0x146f6e?_0x1a4e('0x2814'):_0x368e5a[_0x1a4e('0x1098')](_0x146f6e,'.d.ts')?_0x146f6e:_0x1a4e('0xbd')===_0x146f6e||_0x368e5a[_0x1a4e('0x1098')](_0x146f6e,_0x1a4e('0x2815'))?_0x146f6e+_0x1a4e('0x1a83'):_0x146f6e+_0x1a4e('0x2816');}function _0xcf8475(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x1adc17(_0x48d8ee(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e));}function _0x48d8ee(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x2327c6===_0x2c9ec9['Json']||_0x2327c6===_0x2c9ec9['TSConfig']){var _0x420b32=_0x368e5a['tryRemoveExtension'](_0x55ff7e,'.json');return void 0x0===_0x420b32&&_0x2327c6===_0x2c9ec9[_0x1a4e('0x27e2')]?void 0x0:_0x529fc9(_0x420b32||_0x55ff7e,_0x2327c6,_0x1adc17,_0xf79407);}var _0x1b06ad=_0x529fc9(_0x55ff7e,_0x2327c6,_0x1adc17,_0xf79407);if(_0x1b06ad)return _0x1b06ad;if(_0x368e5a['hasJSFileExtension'](_0x55ff7e)){var _0x326eae=_0x368e5a['removeFileExtension'](_0x55ff7e);if(_0xf79407[_0x1a4e('0x27d6')]){var _0x56674b=_0x55ff7e[_0x1a4e('0x281')](_0x326eae[_0x1a4e('0x1e')]);_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')]['File_name_0_has_a_1_extension_stripping_it'],_0x55ff7e,_0x56674b);}return _0x529fc9(_0x326eae,_0x2327c6,_0x1adc17,_0xf79407);}}function _0x529fc9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(!_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x1671')](_0x146f6e);_0xf79407&&(_0x55ff7e=!_0x368e5a['directoryProbablyExists'](_0xf79407,_0x1adc17['host']));}switch(_0x2327c6){case _0x2c9ec9[_0x1a4e('0x27e4')]:return _0x420b32('.d.ts');case _0x2c9ec9['TypeScript']:return _0x420b32(_0x1a4e('0x25be'))||_0x420b32(_0x1a4e('0x1a81'))||_0x420b32(_0x1a4e('0x1a83'));case _0x2c9ec9['JavaScript']:return _0x420b32(_0x1a4e('0x1a84'))||_0x420b32('.jsx');case _0x2c9ec9[_0x1a4e('0x27e3')]:case _0x2c9ec9['Json']:return _0x420b32(_0x1a4e('0x1a87'));}function _0x420b32(_0x368e5a){var _0x2327c6=_0x3419f9(_0x146f6e+_0x368e5a,_0x55ff7e,_0x1adc17);return void 0x0===_0x2327c6?void 0x0:{'path':_0x2327c6,'ext':_0x368e5a};}}function _0x3419f9(_0x2327c6,_0x55ff7e,_0x1adc17){if(!_0x55ff7e){if(_0x1adc17[_0x1a4e('0x1599')][_0x1a4e('0x1b4d')](_0x2327c6))return _0x1adc17['traceEnabled']&&_0x146f6e(_0x1adc17[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2817')],_0x2327c6),_0x2327c6;_0x1adc17['traceEnabled']&&_0x146f6e(_0x1adc17['host'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2716')],_0x2327c6);}_0x1adc17[_0x1a4e('0x2809')]['push'](_0x2327c6);}function _0x47c1ce(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){void 0x0===_0xf79407&&(_0xf79407=!0x0);var _0x2c9ec9=_0xf79407?_0x189a85(_0x146f6e,'',_0x2327c6,_0x1adc17):void 0x0,_0x420b32=_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x27d5')],_0x1b06ad=_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x2818')];return _0x55ff7e(_0x420b32,_0x24d3a9(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17,_0x1b06ad,_0x1b06ad&&_0x3f0058(_0x1b06ad,_0x1adc17)));}function _0x189a85(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0xf79407[_0x1a4e('0x1599')],_0x420b32=_0xf79407[_0x1a4e('0x27d6')],_0x1b06ad=!_0x1adc17&&_0x368e5a[_0x1a4e('0x27ef')](_0x2327c6,_0x2c9ec9),_0x326eae=_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x1a4e('0x16f1'));if(_0x1b06ad&&_0x2c9ec9[_0x1a4e('0x1b4d')](_0x326eae)){var _0x56674b=_0x368e5a[_0x1a4e('0x27fd')](_0x326eae,_0x2c9ec9);if(''===_0x55ff7e){var _0x5be12a=_0xb63403(_0x56674b,_0x2327c6,_0xf79407);if('string'==typeof _0x5be12a)_0x55ff7e=_0x28b30a(_0x5be12a['substring'](_0x2327c6['length']+0x1));else{var _0x981d82=_0xd99d8(_0x56674b,_0x2327c6,_0xf79407);if(_0x1a4e('0x9')==typeof _0x981d82&&_0x981d82[_0x1a4e('0x1e')]>_0x2327c6[_0x1a4e('0x1e')]){var _0x3eea98=_0x981d82[_0x1a4e('0x281')](_0x2327c6[_0x1a4e('0x1e')]+0x1);_0x55ff7e=(_0x368e5a['forEach'](_0x368e5a[_0x1a4e('0x25c9')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x25d7')](_0x3eea98,_0x146f6e);})||_0x3eea98)+_0x1a4e('0x1a83');}else _0x55ff7e='index.d.ts';}}_0x368e5a[_0x1a4e('0x1098')](_0x55ff7e,_0x1a4e('0x1a83'))||(_0x55ff7e=_0x28b30a(_0x55ff7e));var _0x1c2da5=_0x3f0058(_0x56674b,_0xf79407),_0xde05cd=_0x1a4e('0x9')==typeof _0x56674b[_0x1a4e('0x2cb')]&&_0x1a4e('0x9')==typeof _0x56674b[_0x1a4e('0xb98')]?{'name':_0x56674b[_0x1a4e('0x2cb')],'subModuleName':_0x55ff7e,'version':_0x56674b['version']}:void 0x0;return _0x420b32&&(_0xde05cd?_0x146f6e(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2819')],_0x326eae,_0x368e5a[_0x1a4e('0x231d')](_0xde05cd)):_0x146f6e(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x281a')],_0x326eae)),{'packageJsonContent':_0x56674b,'packageId':_0xde05cd,'versionPaths':_0x1c2da5};}_0x1b06ad&&_0x420b32&&_0x146f6e(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2716')],_0x326eae),_0xf79407[_0x1a4e('0x2809')]['push'](_0x326eae);}function _0x24d3a9(_0x2327c6,_0x55ff7e,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){var _0x5be12a;if(_0x326eae)switch(_0x2327c6){case _0x2c9ec9[_0x1a4e('0x27e1')]:case _0x2c9ec9['Json']:_0x5be12a=_0xd99d8(_0x326eae,_0x55ff7e,_0x1b06ad);break;case _0x2c9ec9[_0x1a4e('0x16df')]:_0x5be12a=_0xb63403(_0x326eae,_0x55ff7e,_0x1b06ad)||_0xd99d8(_0x326eae,_0x55ff7e,_0x1b06ad);break;case _0x2c9ec9[_0x1a4e('0x27e4')]:_0x5be12a=_0xb63403(_0x326eae,_0x55ff7e,_0x1b06ad);break;case _0x2c9ec9['TSConfig']:_0x5be12a=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x981d82(_0x368e5a,_0x1a4e('0x281b'),_0x146f6e,_0x2327c6);}(_0x326eae,_0x55ff7e,_0x1b06ad);break;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}var _0x3f0058=function(_0x2327c6,_0x55ff7e,_0xf79407,_0x420b32){var _0x1b06ad=_0x3419f9(_0x55ff7e,_0xf79407,_0x420b32);if(_0x1b06ad){var _0x326eae=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['tryGetExtensionFromPath'](_0x2327c6);return void 0x0!==_0x55ff7e&&function(_0x368e5a,_0x146f6e){switch(_0x368e5a){case _0x2c9ec9['JavaScript']:return'.js'===_0x146f6e||'.jsx'===_0x146f6e;case _0x2c9ec9[_0x1a4e('0x27e3')]:case _0x2c9ec9[_0x1a4e('0x27e2')]:return _0x1a4e('0x1a87')===_0x146f6e;case _0x2c9ec9[_0x1a4e('0x16df')]:return _0x1a4e('0x25be')===_0x146f6e||_0x1a4e('0x1a81')===_0x146f6e||'.d.ts'===_0x146f6e;case _0x2c9ec9['DtsOnly']:return _0x1a4e('0x1a83')===_0x146f6e;}}(_0x146f6e,_0x55ff7e)?{'path':_0x2327c6,'ext':_0x55ff7e}:void 0x0;}(_0x2327c6,_0x1b06ad);if(_0x326eae)return _0x1adc17(_0x326eae);_0x420b32[_0x1a4e('0x27d6')]&&_0x146f6e(_0x420b32[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')]['File_0_has_an_unsupported_extension_so_skipping_it'],_0x1b06ad);}return _0x3dc4a8(_0x2327c6===_0x2c9ec9[_0x1a4e('0x27e4')]?_0x2c9ec9['TypeScript']:_0x2327c6,_0x55ff7e,_0xf79407,_0x420b32,!0x1);},_0x3eea98=_0x5be12a?!_0x368e5a[_0x1a4e('0x27ef')](_0x368e5a['getDirectoryPath'](_0x5be12a),_0x1b06ad['host']):void 0x0,_0x1c2da5=_0x420b32||!_0x368e5a[_0x1a4e('0x27ef')](_0x55ff7e,_0x1b06ad[_0x1a4e('0x1599')]),_0xde05cd=_0x368e5a[_0x1a4e('0x1673')](_0x55ff7e,_0x2327c6===_0x2c9ec9['TSConfig']?'tsconfig':_0x1a4e('0xbd'));if(_0x56674b&&(!_0x5be12a||_0x368e5a['containsPath'](_0x55ff7e,_0x5be12a))){var _0x1802ae=_0x368e5a['getRelativePathFromDirectory'](_0x55ff7e,_0x5be12a||_0xde05cd,!0x1);_0x1b06ad[_0x1a4e('0x27d6')]&&_0x146f6e(_0x1b06ad[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')]['package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2'],_0x56674b['version'],_0x368e5a['version'],_0x1802ae);var _0x34b43e=_0x42e0cd(_0x2327c6,_0x1802ae,_0x55ff7e,_0x56674b['paths'],_0x3f0058,_0x3eea98||_0x1c2da5,_0x1b06ad);if(_0x34b43e)return _0xf79407(_0x34b43e['value']);}var _0x75e2c=_0x5be12a&&_0xf79407(_0x3f0058(_0x2327c6,_0x5be12a,_0x3eea98,_0x1b06ad));return _0x75e2c||_0x48d8ee(_0x2327c6,_0xde05cd,_0x1c2da5,_0x1b06ad);}function _0x910514(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x3e')](_0x368e5a[_0x1a4e('0x1b42')]);return'@'===_0x146f6e[0x0]&&(_0x2327c6=_0x146f6e[_0x1a4e('0x3e')](_0x368e5a[_0x1a4e('0x1b42')],_0x2327c6+0x1)),-0x1===_0x2327c6?{'packageName':_0x146f6e,'rest':''}:{'packageName':_0x146f6e[_0x1a4e('0x78')](0x0,_0x2327c6),'rest':_0x146f6e['slice'](_0x2327c6+0x1)};}function _0x3aad3f(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x17808e(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,!0x1,_0x1adc17,_0xf79407);}function _0x17808e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x2c9ec9&&_0x2c9ec9['getOrCreateCacheForModuleName'](_0x2327c6,_0x420b32);return _0x368e5a[_0x1a4e('0x2496')](_0x368e5a[_0x1a4e('0x166f')](_0x55ff7e),function(_0x55ff7e){if(_0x1a4e('0x16ed')!==_0x368e5a[_0x1a4e('0x2338')](_0x55ff7e)){var _0x2c9ec9=_0x2dbeea(_0x1b06ad,_0x2327c6,_0x55ff7e,_0x1adc17);return _0x2c9ec9||_0x4af0a2(_0x1c7997(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407));}});}function _0x1c7997(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32){var _0x1b06ad=_0x368e5a['combinePaths'](_0x1adc17,_0x1a4e('0x16ed')),_0x326eae=_0x368e5a[_0x1a4e('0x27ef')](_0x1b06ad,_0xf79407[_0x1a4e('0x1599')]);!_0x326eae&&_0xf79407[_0x1a4e('0x27d6')]&&_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27f7')],_0x1b06ad);var _0x56674b=_0x420b32?void 0x0:_0x22298e(_0x2327c6,_0x55ff7e,_0x1b06ad,_0x326eae,_0xf79407);if(_0x56674b)return _0x56674b;if(_0x2327c6===_0x2c9ec9['TypeScript']||_0x2327c6===_0x2c9ec9[_0x1a4e('0x27e4')]){var _0x5be12a=_0x368e5a[_0x1a4e('0x1673')](_0x1b06ad,_0x1a4e('0x27e6')),_0x981d82=_0x326eae;return _0x326eae&&!_0x368e5a['directoryProbablyExists'](_0x5be12a,_0xf79407[_0x1a4e('0x1599')])&&(_0xf79407['traceEnabled']&&_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x27f7')],_0x5be12a),_0x981d82=!0x1),_0x22298e(_0x2c9ec9['DtsOnly'],function(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x43bf7e(_0x2327c6);_0x55ff7e['traceEnabled']&&_0x1adc17!==_0x2327c6&&_0x146f6e(_0x55ff7e['host'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x281c')],_0x1adc17);return _0x1adc17;}(_0x55ff7e,_0xf79407),_0x5be12a,_0x981d82,_0xf79407);}}function _0x22298e(_0x2327c6,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae,_0x56674b,_0x5be12a,_0x981d82=_0x368e5a[_0x1a4e('0x1672')](_0x368e5a['combinePaths'](_0x2c9ec9,_0xf79407)),_0xb63403=_0x189a85(_0x981d82,'',!_0x420b32,_0x1b06ad);if(_0xb63403){_0x326eae=_0xb63403[_0x1a4e('0x2818')],_0x56674b=_0xb63403[_0x1a4e('0x27d5')],_0x5be12a=_0xb63403['versionPaths'];var _0xd99d8=_0x48d8ee(_0x2327c6,_0x981d82,!_0x420b32,_0x1b06ad);if(_0xd99d8)return _0x1adc17(_0xd99d8);var _0x3f0058=_0x24d3a9(_0x2327c6,_0x981d82,!_0x420b32,_0x1b06ad,_0x326eae,_0x5be12a);return _0x55ff7e(_0x56674b,_0x3f0058);}var _0x3eea98=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17){var _0xf79407=_0x48d8ee(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17)||_0x24d3a9(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17,_0x326eae,_0x5be12a);return _0x55ff7e(_0x56674b,_0xf79407);},_0x1c2da5=_0x910514(_0xf79407),_0xde05cd=_0x1c2da5[_0x1a4e('0x281d')],_0x1802ae=_0x1c2da5['rest'];if(''!==_0x1802ae){var _0x34b43e=_0x368e5a[_0x1a4e('0x1673')](_0x2c9ec9,_0xde05cd),_0x75e2c=_0x189a85(_0x34b43e,_0x1802ae,!_0x420b32,_0x1b06ad);if(_0x75e2c&&(_0x56674b=_0x75e2c[_0x1a4e('0x27d5')],_0x5be12a=_0x75e2c[_0x1a4e('0x281e')]),_0x5be12a){_0x1b06ad[_0x1a4e('0x27d6')]&&_0x146f6e(_0x1b06ad['host'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x281f')],_0x5be12a['version'],_0x368e5a[_0x1a4e('0xb98')],_0x1802ae);var _0x14727c=_0x420b32&&_0x368e5a[_0x1a4e('0x27ef')](_0x34b43e,_0x1b06ad[_0x1a4e('0x1599')]),_0x556ada=_0x42e0cd(_0x2327c6,_0x1802ae,_0x34b43e,_0x5be12a['paths'],_0x3eea98,!_0x14727c,_0x1b06ad);if(_0x556ada)return _0x556ada[_0x1a4e('0x255')];}}return _0x3eea98(_0x2327c6,_0x981d82,!_0x420b32,_0x1b06ad);}function _0x42e0cd(_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){var _0x56674b=_0x368e5a['matchPatternOrExact'](_0x368e5a[_0x1a4e('0x2820')](_0x2c9ec9),_0x55ff7e);if(_0x56674b){var _0x5be12a=_0x368e5a['isString'](_0x56674b)?void 0x0:_0x368e5a['matchedText'](_0x56674b,_0x55ff7e),_0x981d82=_0x368e5a[_0x1a4e('0xb19')](_0x56674b)?_0x56674b:_0x368e5a[_0x1a4e('0x1762')](_0x56674b);return _0x326eae[_0x1a4e('0x27d6')]&&_0x146f6e(_0x326eae[_0x1a4e('0x1599')],_0x368e5a['Diagnostics'][_0x1a4e('0x2821')],_0x55ff7e,_0x981d82),{'value':_0x368e5a[_0x1a4e('0x3b')](_0x2c9ec9[_0x981d82],function(_0x55ff7e){var _0x2c9ec9=_0x5be12a?_0x55ff7e[_0x1a4e('0x115')]('*',_0x5be12a):_0x55ff7e,_0x56674b=_0x368e5a['normalizePath'](_0x368e5a[_0x1a4e('0x1673')](_0xf79407,_0x2c9ec9));_0x326eae['traceEnabled']&&_0x146f6e(_0x326eae[_0x1a4e('0x1599')],_0x368e5a['Diagnostics'][_0x1a4e('0x2822')],_0x55ff7e,_0x2c9ec9);var _0x981d82=_0x368e5a[_0x1a4e('0x2823')](_0x56674b);if(void 0x0!==_0x981d82){var _0xb63403=_0x3419f9(_0x56674b,_0x1b06ad,_0x326eae);if(void 0x0!==_0xb63403)return _0x1adc17({'path':_0xb63403,'ext':_0x981d82});}return _0x420b32(_0x2327c6,_0x56674b,_0x1b06ad||!_0x368e5a[_0x1a4e('0x27ef')](_0x368e5a[_0x1a4e('0x1671')](_0x56674b),_0x326eae[_0x1a4e('0x1599')]),_0x326eae);})};}}_0x368e5a[_0x1a4e('0x2717')]=_0x178d63,_0x368e5a[_0x1a4e('0x2812')]=_0x1a4e('0x2824'),_0x368e5a[_0x1a4e('0x2825')]=_0x2d2a21,_0x368e5a[_0x1a4e('0x2826')]=_0x910514;var _0x11a0ed='__';function _0x43bf7e(_0x146f6e){if(_0x368e5a[_0x1a4e('0xdfb')](_0x146f6e,'@')){var _0x2327c6=_0x146f6e[_0x1a4e('0x115')](_0x368e5a[_0x1a4e('0x1b42')],_0x11a0ed);if(_0x2327c6!==_0x146f6e)return _0x2327c6[_0x1a4e('0x78')](0x1);}return _0x146f6e;}function _0x417885(_0x146f6e){return _0x368e5a[_0x1a4e('0x175a')](_0x146f6e,_0x11a0ed)?'@'+_0x146f6e['replace'](_0x11a0ed,_0x368e5a[_0x1a4e('0x1b42')]):_0x146f6e;}function _0x2dbeea(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9,_0x420b32=_0x2327c6&&_0x2327c6[_0x1a4e('0x179')](_0x1adc17);if(_0x420b32)return _0xf79407[_0x1a4e('0x27d6')]&&_0x146f6e(_0xf79407[_0x1a4e('0x1599')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2802')],_0x55ff7e,_0x1adc17),(_0x2c9ec9=_0xf79407['failedLookupLocations'])[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x2c9ec9,_0x420b32[_0x1a4e('0x2809')]),{'value':_0x420b32['resolvedModule']&&{'path':_0x420b32[_0x1a4e('0x2718')]['resolvedFileName'],'originalPath':_0x420b32['resolvedModule'][_0x1a4e('0x231b')]||!0x0,'extension':_0x420b32[_0x1a4e('0x2718')][_0x1a4e('0x2319')],'packageId':_0x420b32[_0x1a4e('0x2718')][_0x1a4e('0x27d5')]}};}function _0x5886a3(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad){var _0x326eae=[],_0x5be12a={'compilerOptions':_0x1adc17,'host':_0xf79407,'traceEnabled':_0x2327c6(_0x1adc17,_0xf79407),'failedLookupLocations':_0x326eae},_0x981d82=_0x368e5a['getDirectoryPath'](_0x55ff7e),_0xb63403=_0xd99d8(_0x2c9ec9['TypeScript'])||_0xd99d8(_0x2c9ec9[_0x1a4e('0x27e1')]);return _0x56674b(_0xb63403&&_0xb63403[_0x1a4e('0x255')],!0x1,_0x326eae);function _0xd99d8(_0x2327c6){var _0x55ff7e=_0x75e2c(_0x2327c6,_0x146f6e,_0x981d82,_0xcf8475,_0x5be12a);if(_0x55ff7e)return{'value':_0x55ff7e};if(_0x368e5a[_0x1a4e('0x22dd')](_0x146f6e)){var _0x1adc17=_0x368e5a[_0x1a4e('0x1672')](_0x368e5a[_0x1a4e('0x1673')](_0x981d82,_0x146f6e));return _0x4af0a2(_0xcf8475(_0x2327c6,_0x1adc17,!0x1,_0x5be12a));}var _0xf79407=_0x420b32&&_0x420b32[_0x1a4e('0x2827')](_0x146f6e,_0x1b06ad),_0x326eae=_0x368e5a[_0x1a4e('0x2496')](_0x981d82,function(_0x55ff7e){var _0x1adc17=_0x2dbeea(_0xf79407,_0x146f6e,_0x55ff7e,_0x5be12a);if(_0x1adc17)return _0x1adc17;var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1672')](_0x368e5a[_0x1a4e('0x1673')](_0x55ff7e,_0x146f6e));return _0x4af0a2(_0xcf8475(_0x2327c6,_0x2c9ec9,!0x1,_0x5be12a));});return _0x326eae||(_0x2327c6===_0x2c9ec9['TypeScript']?function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x17808e(_0x2c9ec9['DtsOnly'],_0x368e5a,_0x146f6e,_0x2327c6,!0x0,void 0x0,void 0x0);}(_0x146f6e,_0x981d82,_0x5be12a):void 0x0);}}function _0x4af0a2(_0x368e5a){return void 0x0!==_0x368e5a?{'value':_0x368e5a}:void 0x0;}_0x368e5a[_0x1a4e('0x2828')]=function(_0x368e5a){return _0x1a4e('0x2829')+_0x43bf7e(_0x368e5a);},_0x368e5a['mangleScopedPackageName']=_0x43bf7e,_0x368e5a[_0x1a4e('0x282a')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1764')](_0x146f6e,_0x1a4e('0x2829'));return _0x2327c6!==_0x146f6e?_0x417885(_0x2327c6):_0x146f6e;},_0x368e5a[_0x1a4e('0x282b')]=_0x417885,_0x368e5a[_0x1a4e('0x282c')]=_0x5886a3,_0x368e5a[_0x1a4e('0x282d')]=function(_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad){var _0x326eae=_0x2327c6(_0xf79407,_0x420b32);_0x326eae&&_0x146f6e(_0x420b32,_0x368e5a[_0x1a4e('0x167d')]['Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2'],_0x1adc17,_0x55ff7e,_0x1b06ad);var _0x5be12a=[],_0x981d82={'compilerOptions':_0xf79407,'host':_0x420b32,'traceEnabled':_0x326eae,'failedLookupLocations':_0x5be12a};return _0x56674b(_0x1c7997(_0x2c9ec9['DtsOnly'],_0x55ff7e,_0x1b06ad,_0x981d82,!0x1),!0x0,_0x5be12a);};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e;function _0x2327c6(_0x146f6e){return _0x146f6e[_0x1a4e('0x8f2')]?function _0x146f6e(_0x55ff7e){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xf1:case 0xf2:return 0x0;case 0xf3:if(_0x368e5a[_0x1a4e('0x235b')](_0x55ff7e))return 0x2;break;case 0xf9:case 0xf8:if(!_0x368e5a['hasModifier'](_0x55ff7e,0x1))return 0x0;break;case 0xf5:var _0x1adc17=0x0;return _0x368e5a[_0x1a4e('0x22eb')](_0x55ff7e,function(_0x2327c6){var _0x55ff7e=_0x146f6e(_0x2327c6);switch(_0x55ff7e){case 0x0:return;case 0x2:return void(_0x1adc17=0x2);case 0x1:return _0x1adc17=0x1,!0x0;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x55ff7e);}}),_0x1adc17;case 0xf4:return _0x2327c6(_0x55ff7e);case 0x48:if(_0x55ff7e[_0x1a4e('0x269c')])return 0x0;}return 0x1;}(_0x146f6e[_0x1a4e('0x8f2')]):0x1;}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x282e')]=0x0]=_0x1a4e('0x282e'),_0x368e5a[_0x368e5a[_0x1a4e('0x1992')]=0x1]=_0x1a4e('0x1992'),_0x368e5a[_0x368e5a['ConstEnumOnly']=0x2]=_0x1a4e('0x282f');}(_0x368e5a[_0x1a4e('0x2830')]||(_0x368e5a[_0x1a4e('0x2830')]={})),_0x368e5a[_0x1a4e('0x2831')]=_0x2327c6,function(_0x368e5a){_0x368e5a[_0x368e5a['None']=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x2832')]=0x1]=_0x1a4e('0x2832'),_0x368e5a[_0x368e5a[_0x1a4e('0x2833')]=0x2]=_0x1a4e('0x2833'),_0x368e5a[_0x368e5a['IsControlFlowContainer']=0x4]=_0x1a4e('0x2834'),_0x368e5a[_0x368e5a[_0x1a4e('0x2835')]=0x8]='IsFunctionLike',_0x368e5a[_0x368e5a[_0x1a4e('0x2836')]=0x10]=_0x1a4e('0x2836'),_0x368e5a[_0x368e5a[_0x1a4e('0x2837')]=0x20]=_0x1a4e('0x2837'),_0x368e5a[_0x368e5a['IsInterface']=0x40]=_0x1a4e('0x2838'),_0x368e5a[_0x368e5a['IsObjectLiteralOrClassExpressionMethod']=0x80]='IsObjectLiteralOrClassExpressionMethod';}(_0x146f6e||(_0x146f6e={}));var _0x55ff7e=function(){var _0x146f6e,_0x55ff7e,_0x1d8f3f,_0x348300,_0x4c2dc8,_0x301867,_0x141bf8,_0xeba25f,_0x108508,_0xdc5592,_0x405b5a,_0x278e4d,_0x24fd6d,_0x2d4661,_0x3958fe,_0x4a776b,_0x9340e3,_0x39a503,_0x3cd246,_0x5f1796,_0x14ebbb,_0x2c6ea8,_0x5f1d00,_0x5201c9,_0x2f23ab=0x0,_0x561f5f={'flags':0x1},_0x7ef93d={'flags':0x1},_0x520921=0x0;function _0x1057b5(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x2356')](_0x368e5a[_0x1a4e('0x1674')](_0x2327c6)||_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9);}return function(_0x2327c6,_0x1adc17){_0x146f6e=_0x2327c6,_0x55ff7e=_0x1adc17,_0x1d8f3f=_0x368e5a[_0x1a4e('0x2589')](_0x55ff7e),_0x14ebbb=function(_0x146f6e,_0x2327c6){return!(!_0x368e5a['getStrictOptionValue'](_0x2327c6,_0x1a4e('0x2839'))||_0x146f6e[_0x1a4e('0x2423')])||!!_0x146f6e[_0x1a4e('0x2359')];}(_0x146f6e,_0x1adc17),_0x5f1d00=_0x368e5a[_0x1a4e('0x283a')](),_0x2f23ab=0x0,_0x5201c9=_0x146f6e['isDeclarationFile'],_0x2c6ea8=_0x368e5a[_0x1a4e('0x2626')][_0x1a4e('0x283b')](),_0x146f6e[_0x1a4e('0x283c')]||(_0x444b2f(_0x146f6e),_0x146f6e['symbolCount']=_0x2f23ab,_0x146f6e['classifiableNames']=_0x5f1d00,function(){if(!_0x108508)return;for(var _0x2327c6=_0x4c2dc8,_0x55ff7e=_0xeba25f,_0x1adc17=_0x141bf8,_0xf79407=_0x348300,_0x2c9ec9=_0x405b5a,_0x420b32=0x0,_0x1b06ad=_0x108508;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32],_0x56674b=_0x368e5a[_0x1a4e('0x23d6')](_0x326eae);_0x4c2dc8=_0x368e5a[_0x1a4e('0x283d')](_0x56674b[_0x1a4e('0x11c')],function(_0x368e5a){return!!(0x1&_0x3e0e03(_0x368e5a));})||_0x146f6e,_0x141bf8=_0x368e5a[_0x1a4e('0x283e')](_0x56674b)||_0x146f6e,_0x405b5a={'flags':0x2},_0x348300=_0x326eae,_0x444b2f(_0x326eae[_0x1a4e('0x2379')]),_0x326eae[_0x1a4e('0x2613')]&&0x48!==_0x326eae['fullName'][_0x1a4e('0x146b')]?_0x444b2f(_0x326eae[_0x1a4e('0x2613')]):(_0x348300=_0x326eae[_0x1a4e('0x11c')],_0x45ef1b(_0x326eae,0x80000,0x40c09e8));}_0x4c2dc8=_0x2327c6,_0xeba25f=_0x55ff7e,_0x141bf8=_0x1adc17,_0x348300=_0xf79407,_0x405b5a=_0x2c9ec9;}());_0x146f6e=void 0x0,_0x55ff7e=void 0x0,_0x1d8f3f=void 0x0,_0x348300=void 0x0,_0x4c2dc8=void 0x0,_0x301867=void 0x0,_0x141bf8=void 0x0,_0xeba25f=void 0x0,_0x108508=void 0x0,_0xdc5592=!0x1,_0x405b5a=void 0x0,_0x278e4d=void 0x0,_0x24fd6d=void 0x0,_0x2d4661=void 0x0,_0x3958fe=void 0x0,_0x4a776b=void 0x0,_0x39a503=void 0x0,_0x3cd246=!0x1,_0x5f1796=0x0,_0x520921=0x0;};function _0x54ba82(_0x368e5a,_0x146f6e){return _0x2f23ab++,new _0x2c6ea8(_0x368e5a,_0x146f6e);}function _0x2b2138(_0x146f6e,_0x2327c6,_0x55ff7e){_0x146f6e[_0x1a4e('0x7b2')]|=_0x55ff7e,_0x2327c6['symbol']=_0x146f6e,_0x146f6e[_0x1a4e('0x22e5')]=_0x368e5a[_0x1a4e('0x252')](_0x146f6e[_0x1a4e('0x22e5')],_0x2327c6),0x7a3&_0x55ff7e&&!_0x146f6e[_0x1a4e('0x0')]&&(_0x146f6e['exports']=_0x368e5a['createSymbolTable']()),0x1860&_0x55ff7e&&!_0x146f6e[_0x1a4e('0x2369')]&&(_0x146f6e[_0x1a4e('0x2369')]=_0x368e5a[_0x1a4e('0x22e7')]()),0x401b3bf&_0x55ff7e&&_0x1d5eae(_0x146f6e,_0x2327c6);}function _0x1d5eae(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x2340')];(!_0x55ff7e||_0x368e5a['isAssignmentDeclaration'](_0x55ff7e)&&!_0x368e5a['isAssignmentDeclaration'](_0x2327c6)||_0x55ff7e['kind']!==_0x2327c6[_0x1a4e('0x146b')]&&_0x368e5a['isEffectiveModuleDeclaration'](_0x55ff7e))&&(_0x146f6e[_0x1a4e('0x2340')]=_0x2327c6);}function _0x40d962(_0x146f6e){if(0xfe===_0x146f6e[_0x1a4e('0x146b')])return _0x146f6e[_0x1a4e('0x267b')]?_0x1a4e('0x19b4'):_0x1a4e('0x8');var _0x2327c6=_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e);if(_0x2327c6){if(_0x368e5a[_0x1a4e('0x233c')](_0x146f6e)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2401')](_0x2327c6);return _0x368e5a[_0x1a4e('0x2343')](_0x146f6e)?'__global':'\x22'+_0x55ff7e+'\x22';}if(0x95===_0x2327c6[_0x1a4e('0x146b')]){var _0x1adc17=_0x2327c6[_0x1a4e('0x2302')];return _0x368e5a[_0x1a4e('0x2674')](_0x1adc17)?_0x368e5a[_0x1a4e('0x22f4')](_0x1adc17[_0x1a4e('0xe04')]):(_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x283f')](_0x1adc17)),_0x368e5a['getPropertyNameForKnownSymbolName'](_0x368e5a['idText'](_0x1adc17[_0x1a4e('0x2cb')])));}return _0x368e5a[_0x1a4e('0x2400')](_0x2327c6)?_0x368e5a[_0x1a4e('0x2840')](_0x2327c6):void 0x0;}switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9d:return'__constructor';case 0xa5:case 0xa0:case 0x125:return _0x1a4e('0x19a1');case 0xa6:case 0xa1:return _0x1a4e('0x19a4');case 0xa2:return _0x1a4e('0x19a6');case 0xff:return _0x1a4e('0x19a8');case 0x117:return _0x1a4e('0x19b4');case 0xcc:if(0x2===_0x368e5a[_0x1a4e('0x23ba')](_0x146f6e))return _0x1a4e('0x19b4');_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2841'));break;case 0x121:return _0x368e5a[_0x1a4e('0x23cb')](_0x146f6e)?_0x1a4e('0x19a4'):_0x1a4e('0x19a1');case 0x97:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x121===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')],'Impossible\x20parameter\x20parent\x20kind',function(){return _0x1a4e('0x2842')+(_0x368e5a[_0x1a4e('0x18c5')]?_0x368e5a['SyntaxKind'][_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]]:_0x146f6e[_0x1a4e('0x11c')]['kind'])+_0x1a4e('0x2843');});var _0xf79407=_0x146f6e['parent'],_0x2c9ec9=_0xf79407[_0x1a4e('0x111a')]['indexOf'](_0x146f6e);return _0x1a4e('0x1363')+_0x2c9ec9;}}function _0x3f67f6(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x368e5a['hasDynamicName'](_0x1adc17));var _0x1b06ad,_0x326eae=_0x368e5a[_0x1a4e('0x24c6')](_0x1adc17,0x200),_0x56674b=_0x326eae&&_0x55ff7e?_0x1a4e('0x8'):_0x40d962(_0x1adc17);if(void 0x0===_0x56674b)_0x1b06ad=_0x54ba82(0x0,_0x1a4e('0x2844'));else if(_0x1b06ad=_0x2327c6['get'](_0x56674b),0x2c07e0&_0xf79407&&_0x5f1d00[_0x1a4e('0x17a')](_0x56674b,!0x0),_0x1b06ad){if(_0x420b32&&!_0x1b06ad[_0x1a4e('0x2845')])return _0x1b06ad;if(_0x1b06ad[_0x1a4e('0x7b2')]&_0x2c9ec9)if(_0x1b06ad['isReplaceableByMethod'])_0x2327c6[_0x1a4e('0x17a')](_0x56674b,_0x1b06ad=_0x54ba82(0x0,_0x56674b));else if(!(0x3&_0xf79407&&0x4000000&_0x1b06ad['flags'])){_0x368e5a[_0x1a4e('0x2846')](_0x1adc17)&&(_0x1adc17['name']['parent']=_0x1adc17);var _0x5af075=0x2&_0x1b06ad[_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2847')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2848')],_0x1d8f3f=!0x0;(0x180&_0x1b06ad[_0x1a4e('0x7b2')]||0x180&_0xf79407)&&(_0x5af075=_0x368e5a[_0x1a4e('0x167d')]['Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations'],_0x1d8f3f=!0x1),_0x1b06ad['declarations']&&_0x1b06ad['declarations'][_0x1a4e('0x1e')]&&(_0x326eae?(_0x5af075=_0x368e5a['Diagnostics'][_0x1a4e('0x2849')],_0x1d8f3f=!0x1):_0x1b06ad[_0x1a4e('0x22e5')]&&_0x1b06ad[_0x1a4e('0x22e5')][_0x1a4e('0x1e')]&&0xfe===_0x1adc17[_0x1a4e('0x146b')]&&!_0x1adc17[_0x1a4e('0x267b')]&&(_0x5af075=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2849')],_0x1d8f3f=!0x1));var _0x348300=function(_0x2327c6){_0x146f6e[_0x1a4e('0x263e')]['push'](_0x1057b5(_0x368e5a[_0x1a4e('0x23e9')](_0x2327c6)||_0x2327c6,_0x5af075,_0x1d8f3f?function(_0x146f6e){return _0x368e5a['isNamedDeclaration'](_0x146f6e)?_0x368e5a[_0x1a4e('0x1676')](_0x146f6e['name']):_0x368e5a['unescapeLeadingUnderscores'](_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x40d962(_0x146f6e)));}(_0x2327c6):void 0x0));};_0x368e5a[_0x1a4e('0x3b')](_0x1b06ad[_0x1a4e('0x22e5')],_0x348300),_0x348300(_0x1adc17),_0x1b06ad=_0x54ba82(0x0,_0x56674b);}}else _0x2327c6[_0x1a4e('0x17a')](_0x56674b,_0x1b06ad=_0x54ba82(0x0,_0x56674b)),_0x420b32&&(_0x1b06ad[_0x1a4e('0x2845')]=!0x0);return _0x2b2138(_0x1b06ad,_0x1adc17,_0xf79407),_0x1b06ad['parent']?_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1b06ad['parent']===_0x55ff7e,'Existing\x20symbol\x20parent\x20should\x20match\x20new\x20one'):_0x1b06ad[_0x1a4e('0x11c')]=_0x55ff7e,_0x1b06ad;}function _0x1a46de(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=0x1&_0x368e5a[_0x1a4e('0x235c')](_0x146f6e);if(0x200000&_0x2327c6)return 0x101===_0x146f6e[_0x1a4e('0x146b')]||0xf8===_0x146f6e['kind']&&_0x1adc17?_0x3f67f6(_0x4c2dc8['symbol'][_0x1a4e('0x0')],_0x4c2dc8[_0x1a4e('0xb1b')],_0x146f6e,_0x2327c6,_0x55ff7e):_0x3f67f6(_0x4c2dc8[_0x1a4e('0x283c')],void 0x0,_0x146f6e,_0x2327c6,_0x55ff7e);if(_0x368e5a[_0x1a4e('0x23cd')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)),!_0x368e5a[_0x1a4e('0x233c')](_0x146f6e)&&(_0x1adc17||0x20&_0x4c2dc8[_0x1a4e('0x7b2')])||_0x368e5a[_0x1a4e('0x23cd')](_0x146f6e)){if(_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x200)&&!_0x40d962(_0x146f6e))return _0x3f67f6(_0x4c2dc8[_0x1a4e('0xb1b')][_0x1a4e('0x0')],_0x4c2dc8[_0x1a4e('0xb1b')],_0x146f6e,_0x2327c6,_0x55ff7e);var _0xf79407=0x401b3bf&_0x2327c6?0x100000:0x0,_0x2c9ec9=_0x3f67f6(_0x4c2dc8[_0x1a4e('0x283c')],void 0x0,_0x146f6e,_0xf79407,_0x55ff7e);return _0x2c9ec9['exportSymbol']=_0x3f67f6(_0x4c2dc8['symbol'][_0x1a4e('0x0')],_0x4c2dc8['symbol'],_0x146f6e,_0x2327c6,_0x55ff7e),_0x146f6e[_0x1a4e('0x2469')]=_0x2c9ec9,_0x2c9ec9;}return _0x3f67f6(_0x4c2dc8[_0x1a4e('0x283c')],void 0x0,_0x146f6e,_0x2327c6,_0x55ff7e);}function _0x3c8322(_0x368e5a){if(_0x5201c9)_0x81d55e(_0x368e5a);else if(0x20000000&_0x368e5a['transformFlags'])_0x5201c9=!0x0,_0x81d55e(_0x368e5a),_0x5201c9=!0x1,_0x520921|=_0x368e5a['transformFlags']&~_0x56674b(_0x368e5a[_0x1a4e('0x146b')]);else{var _0x146f6e=_0x520921;_0x520921=0x0,_0x81d55e(_0x368e5a),_0x520921=_0x146f6e|_0x326eae(_0x368e5a,_0x520921);}}function _0x3a76d0(_0x368e5a){_0x200330(_0x368e5a,function(_0x368e5a){return 0xef===_0x368e5a['kind']?_0x444b2f(_0x368e5a):void 0x0;}),_0x200330(_0x368e5a,function(_0x368e5a){return 0xef!==_0x368e5a[_0x1a4e('0x146b')]?_0x444b2f(_0x368e5a):void 0x0;});}function _0x200330(_0x146f6e,_0x2327c6){if(void 0x0===_0x2327c6&&(_0x2327c6=_0x444b2f),void 0x0!==_0x146f6e)if(_0x5201c9)_0x368e5a[_0x1a4e('0x3b')](_0x146f6e,_0x2327c6);else{var _0x55ff7e=_0x520921;_0x520921=0x0;for(var _0x1adc17=0x0,_0xf79407=0x0,_0x2c9ec9=_0x146f6e;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x2327c6(_0x420b32),_0x1adc17|=-0x20000001&_0x420b32[_0x1a4e('0x257c')];}_0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x1adc17,_0x520921|=_0x55ff7e;}}function _0x2c0c36(_0x146f6e){_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,_0x444b2f,_0x200330);}function _0x81d55e(_0x146f6e){if(function(_0x146f6e){if(!(0x1&_0x405b5a[_0x1a4e('0x7b2')]))return!0x1;if(_0x405b5a===_0x561f5f){var _0xf79407=_0x368e5a[_0x1a4e('0x2568')](_0x146f6e)&&0xdc!==_0x146f6e[_0x1a4e('0x146b')]||0xf0===_0x146f6e[_0x1a4e('0x146b')]||0xf4===_0x146f6e[_0x1a4e('0x146b')]&&function(_0x368e5a){var _0x146f6e=_0x2327c6(_0x368e5a);return 0x1===_0x146f6e||0x2===_0x146f6e&&!!_0x55ff7e['preserveConstEnums'];}(_0x146f6e);if(_0xf79407&&(_0x405b5a=_0x7ef93d,!_0x55ff7e[_0x1a4e('0x258d')])){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x284a')](_0x55ff7e)&&!(0x400000&_0x146f6e[_0x1a4e('0x7b2')])&&(!_0x368e5a[_0x1a4e('0x2376')](_0x146f6e)||!!(0x3&_0x368e5a[_0x1a4e('0x22fd')](_0x146f6e[_0x1a4e('0x2377')]))||_0x146f6e[_0x1a4e('0x2377')]['declarations'][_0x1a4e('0x1c2')](function(_0x368e5a){return!!_0x368e5a['initializer'];}));!function(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x2569')](_0x146f6e)&&_0x1adc17(_0x146f6e)&&_0x368e5a[_0x1a4e('0x250c')](_0x146f6e['parent'])){var _0x55ff7e=_0x146f6e[_0x1a4e('0x11c')]['statements'],_0xf79407=_0x368e5a[_0x1a4e('0x25e9')](_0x55ff7e,_0x146f6e);_0x368e5a['getRangesWhere'](_0xf79407,_0x1adc17,function(_0x368e5a,_0x146f6e){return _0x2327c6(_0xf79407[_0x368e5a],_0xf79407[_0x146f6e-0x1]);});}else _0x2327c6(_0x146f6e,_0x146f6e);}(_0x146f6e,function(_0x146f6e,_0x2327c6){return _0x121f69(_0x2c9ec9,_0x146f6e,_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x284b')]);});}}return!0x0;}(_0x146f6e))return _0x2c0c36(_0x146f6e),void _0x359d09(_0x146f6e);switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xe0:!function(_0x368e5a){var _0x146f6e=_0x5e9fcc(),_0x2327c6=_0x1a8ff2(),_0x55ff7e=_0x1a8ff2();_0x4dd644(_0x146f6e,_0x405b5a),_0x405b5a=_0x146f6e,_0x3cf1a2(_0x368e5a[_0x1a4e('0x2302')],_0x2327c6,_0x55ff7e),_0x405b5a=_0x43560d(_0x2327c6),_0x48e416(_0x368e5a[_0x1a4e('0x2390')],_0x55ff7e,_0x146f6e),_0x4dd644(_0x146f6e,_0x405b5a),_0x405b5a=_0x43560d(_0x55ff7e);}(_0x146f6e);break;case 0xdf:!function(_0x146f6e){var _0x2327c6=_0x5e9fcc(),_0x55ff7e=0xe9===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x368e5a['lastOrUndefined'](_0x39a503):void 0x0,_0x1adc17=_0x55ff7e?_0x55ff7e[_0x1a4e('0x284c')]:_0x1a8ff2(),_0xf79407=_0x55ff7e?_0x55ff7e[_0x1a4e('0x284d')]:_0x1a8ff2();_0x4dd644(_0x2327c6,_0x405b5a),_0x405b5a=_0x2327c6,_0x48e416(_0x146f6e[_0x1a4e('0x2390')],_0xf79407,_0x1adc17),_0x4dd644(_0x1adc17,_0x405b5a),_0x405b5a=_0x43560d(_0x1adc17),_0x3cf1a2(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6,_0xf79407),_0x405b5a=_0x43560d(_0xf79407);}(_0x146f6e);break;case 0xe1:!function(_0x368e5a){var _0x146f6e=_0x5e9fcc(),_0x2327c6=_0x1a8ff2(),_0x55ff7e=_0x1a8ff2();_0x444b2f(_0x368e5a['initializer']),_0x4dd644(_0x146f6e,_0x405b5a),_0x405b5a=_0x146f6e,_0x3cf1a2(_0x368e5a[_0x1a4e('0x236b')],_0x2327c6,_0x55ff7e),_0x405b5a=_0x43560d(_0x2327c6),_0x48e416(_0x368e5a['statement'],_0x55ff7e,_0x146f6e),_0x444b2f(_0x368e5a[_0x1a4e('0x236c')]),_0x4dd644(_0x146f6e,_0x405b5a),_0x405b5a=_0x43560d(_0x55ff7e);}(_0x146f6e);break;case 0xe2:case 0xe3:!function(_0x368e5a){var _0x146f6e=_0x5e9fcc(),_0x2327c6=_0x1a8ff2();_0x4dd644(_0x146f6e,_0x405b5a),_0x405b5a=_0x146f6e,0xe3===_0x368e5a[_0x1a4e('0x146b')]&&_0x444b2f(_0x368e5a[_0x1a4e('0x2678')]);_0x444b2f(_0x368e5a[_0x1a4e('0x2302')]),_0x4dd644(_0x2327c6,_0x405b5a),_0x444b2f(_0x368e5a[_0x1a4e('0x236a')]),0xee!==_0x368e5a[_0x1a4e('0x236a')][_0x1a4e('0x146b')]&&_0x25eb54(_0x368e5a[_0x1a4e('0x236a')]);_0x48e416(_0x368e5a[_0x1a4e('0x2390')],_0x2327c6,_0x146f6e),_0x4dd644(_0x146f6e,_0x405b5a),_0x405b5a=_0x43560d(_0x2327c6);}(_0x146f6e);break;case 0xde:!function(_0x368e5a){var _0x146f6e=_0x1a8ff2(),_0x2327c6=_0x1a8ff2(),_0x55ff7e=_0x1a8ff2();_0x3cf1a2(_0x368e5a[_0x1a4e('0x2302')],_0x146f6e,_0x2327c6),_0x405b5a=_0x43560d(_0x146f6e),_0x444b2f(_0x368e5a[_0x1a4e('0x2606')]),_0x4dd644(_0x55ff7e,_0x405b5a),_0x405b5a=_0x43560d(_0x2327c6),_0x444b2f(_0x368e5a[_0x1a4e('0x2607')]),_0x4dd644(_0x55ff7e,_0x405b5a),_0x405b5a=_0x43560d(_0x55ff7e);}(_0x146f6e);break;case 0xe6:case 0xea:!function(_0x368e5a){_0x444b2f(_0x368e5a[_0x1a4e('0x2302')]),0xe6===_0x368e5a['kind']&&(_0x3cd246=!0x0,_0x2d4661&&_0x4dd644(_0x2d4661,_0x405b5a));_0x405b5a=_0x561f5f;}(_0x146f6e);break;case 0xe5:case 0xe4:!function(_0x368e5a){if(_0x444b2f(_0x368e5a['label']),_0x368e5a['label']){var _0x146f6e=function(_0x368e5a){if(_0x39a503)for(var _0x146f6e=0x0,_0x2327c6=_0x39a503;_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x2327c6[_0x146f6e];if(_0x55ff7e['name']===_0x368e5a)return _0x55ff7e;}return;}(_0x368e5a[_0x1a4e('0x1bc')][_0x1a4e('0x22f3')]);_0x146f6e&&(_0x146f6e[_0x1a4e('0x284e')]=!0x0,_0x2d6906(_0x368e5a,_0x146f6e[_0x1a4e('0x284d')],_0x146f6e[_0x1a4e('0x284c')]));}else _0x2d6906(_0x368e5a,_0x278e4d,_0x24fd6d);}(_0x146f6e);break;case 0xeb:!function(_0x368e5a){var _0x146f6e=_0x1a8ff2(),_0x2327c6=_0x405b5a;_0x444b2f(_0x368e5a[_0x1a4e('0x2679')]),_0x4dd644(_0x146f6e,_0x405b5a);var _0x55ff7e=_0x405b5a,_0x1adc17=_0x561f5f;_0x368e5a[_0x1a4e('0x260a')]&&(_0x405b5a=_0x2327c6,_0x444b2f(_0x368e5a[_0x1a4e('0x260a')]),_0x4dd644(_0x146f6e,_0x405b5a),_0x1adc17=_0x405b5a);if(_0x368e5a['finallyBlock']){var _0xf79407={'flags':0x800,'antecedent':_0x2327c6,'lock':{}};if(_0x4dd644(_0x146f6e,_0xf79407),_0x405b5a=_0x43560d(_0x146f6e),_0x444b2f(_0x368e5a[_0x1a4e('0x267a')]),0x1&_0x405b5a['flags']||0x1&_0x55ff7e[_0x1a4e('0x7b2')]&&0x1&_0x1adc17[_0x1a4e('0x7b2')]&&(_0x405b5a=_0x55ff7e===_0x7ef93d||_0x1adc17===_0x7ef93d?_0x7ef93d:_0x561f5f),!(0x1&_0x405b5a[_0x1a4e('0x7b2')])){var _0x2c9ec9={'flags':0x1000,'antecedent':_0x405b5a};_0xf79407[_0x1a4e('0x284f')]=_0x2c9ec9,_0x405b5a=_0x2c9ec9;}}else _0x405b5a=_0x43560d(_0x146f6e);}(_0x146f6e);break;case 0xe8:!function(_0x146f6e){var _0x2327c6=_0x1a8ff2();_0x444b2f(_0x146f6e[_0x1a4e('0x2302')]);var _0x55ff7e=_0x278e4d,_0x1adc17=_0x9340e3;_0x278e4d=_0x2327c6,_0x9340e3=_0x405b5a,_0x444b2f(_0x146f6e['caseBlock']),_0x4dd644(_0x2327c6,_0x405b5a);var _0xf79407=_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2608')][_0x1a4e('0x2609')],function(_0x368e5a){return 0x110===_0x368e5a[_0x1a4e('0x146b')];});_0x146f6e[_0x1a4e('0x2850')]=!_0xf79407&&!_0x2327c6[_0x1a4e('0x2851')],_0xf79407||_0x4dd644(_0x2327c6,_0x16c3a1(_0x9340e3,_0x146f6e,0x0,0x0));_0x278e4d=_0x55ff7e,_0x9340e3=_0x1adc17,_0x405b5a=_0x43560d(_0x2327c6);}(_0x146f6e);break;case 0xf6:!function(_0x146f6e){var _0x2327c6=_0x520921;_0x520921=0x0;for(var _0x1adc17=_0x146f6e['clauses'],_0xf79407=_0x561f5f,_0x2c9ec9=0x0;_0x2c9ec9<_0x1adc17[_0x1a4e('0x1e')];_0x2c9ec9++){for(var _0x420b32=_0x2c9ec9;!_0x1adc17[_0x2c9ec9][_0x1a4e('0x2366')][_0x1a4e('0x1e')]&&_0x2c9ec9+0x1<_0x1adc17[_0x1a4e('0x1e')];)_0x444b2f(_0x1adc17[_0x2c9ec9]),_0x2c9ec9++;var _0x1b06ad=_0x1a8ff2();_0x4dd644(_0x1b06ad,_0x16c3a1(_0x9340e3,_0x146f6e[_0x1a4e('0x11c')],_0x420b32,_0x2c9ec9+0x1)),_0x4dd644(_0x1b06ad,_0xf79407),_0x405b5a=_0x43560d(_0x1b06ad);var _0x326eae=_0x1adc17[_0x2c9ec9];_0x444b2f(_0x326eae),_0xf79407=_0x405b5a,0x1&_0x405b5a['flags']||_0x2c9ec9===_0x1adc17[_0x1a4e('0x1e')]-0x1||!_0x55ff7e[_0x1a4e('0x2759')]||_0x329952(_0x326eae,_0x368e5a['Diagnostics'][_0x1a4e('0x2852')]);}_0x1adc17[_0x1a4e('0x257c')]=0x20000000|_0x520921,_0x520921|=_0x2327c6;}(_0x146f6e);break;case 0x10f:!function(_0x368e5a){var _0x146f6e=_0x405b5a;_0x405b5a=_0x9340e3,_0x444b2f(_0x368e5a[_0x1a4e('0x2302')]),_0x405b5a=_0x146f6e,_0x200330(_0x368e5a[_0x1a4e('0x2366')]);}(_0x146f6e);break;case 0xe9:!function(_0x146f6e){var _0x2327c6=_0x5e9fcc(),_0x1adc17=_0x1a8ff2();_0x444b2f(_0x146f6e[_0x1a4e('0x1bc')]),_0x4dd644(_0x2327c6,_0x405b5a);var _0xf79407=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e={'name':_0x368e5a,'breakTarget':_0x146f6e,'continueTarget':_0x2327c6,'referenced':!0x1};return(_0x39a503||(_0x39a503=[]))[_0x1a4e('0x46')](_0x55ff7e),_0x55ff7e;}(_0x146f6e[_0x1a4e('0x1bc')][_0x1a4e('0x22f3')],_0x1adc17,_0x2327c6);_0x444b2f(_0x146f6e[_0x1a4e('0x2390')]),_0x39a503[_0x1a4e('0x76')](),_0xf79407[_0x1a4e('0x284e')]||_0x55ff7e[_0x1a4e('0x2785')]||function(_0x368e5a,_0x146f6e,_0x2327c6){_0x121f69(_0x368e5a,_0x146f6e,_0x146f6e,_0x2327c6);}(_0x368e5a[_0x1a4e('0x2853')](_0x55ff7e),_0x146f6e[_0x1a4e('0x1bc')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2854')]);_0x146f6e['statement']&&0xdf===_0x146f6e[_0x1a4e('0x2390')][_0x1a4e('0x146b')]||(_0x4dd644(_0x1adc17,_0x405b5a),_0x405b5a=_0x43560d(_0x1adc17));}(_0x146f6e);break;case 0xca:!function(_0x368e5a){if(0x34===_0x368e5a['operator']){var _0x146f6e=_0x3958fe;_0x3958fe=_0x4a776b,_0x4a776b=_0x146f6e,_0x2c0c36(_0x368e5a),_0x4a776b=_0x3958fe,_0x3958fe=_0x146f6e;}else _0x2c0c36(_0x368e5a),0x2c!==_0x368e5a[_0x1a4e('0x1474')]&&0x2d!==_0x368e5a[_0x1a4e('0x1474')]||_0x25eb54(_0x368e5a[_0x1a4e('0x1784')]);}(_0x146f6e);break;case 0xcb:!function(_0x368e5a){_0x2c0c36(_0x368e5a),(0x2c===_0x368e5a['operator']||0x2d===_0x368e5a[_0x1a4e('0x1474')])&&_0x25eb54(_0x368e5a[_0x1a4e('0x1784')]);}(_0x146f6e);break;case 0xcc:!function(_0x146f6e){var _0x2327c6=_0x146f6e['operatorToken'][_0x1a4e('0x146b')];if(0x36===_0x2327c6||0x37===_0x2327c6)if(function(_0x368e5a){for(;0xc3===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0xca===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&0x34===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x1474')];)_0x368e5a=_0x368e5a[_0x1a4e('0x11c')];return!function(_0x368e5a){var _0x146f6e=_0x368e5a['parent'];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xde:case 0xe0:case 0xdf:return _0x146f6e[_0x1a4e('0x2302')]===_0x368e5a;case 0xe1:case 0xcd:return _0x146f6e[_0x1a4e('0x236b')]===_0x368e5a;}return!0x1;}(_0x368e5a)&&!_0x5e20e7(_0x368e5a[_0x1a4e('0x11c')]);}(_0x146f6e)){var _0x55ff7e=_0x1a8ff2();_0x413512(_0x146f6e,_0x55ff7e,_0x55ff7e),_0x405b5a=_0x43560d(_0x55ff7e);}else _0x413512(_0x146f6e,_0x3958fe,_0x4a776b);else if(_0x2c0c36(_0x146f6e),_0x368e5a[_0x1a4e('0x2460')](_0x2327c6)&&!_0x368e5a[_0x1a4e('0x23dd')](_0x146f6e)&&(_0x25eb54(_0x146f6e[_0x1a4e('0x5f')]),0x3b===_0x2327c6&&0xbe===_0x146f6e['left'][_0x1a4e('0x146b')])){var _0x1adc17=_0x146f6e[_0x1a4e('0x5f')];_0x41577f(_0x1adc17[_0x1a4e('0x2302')])&&(_0x405b5a=_0x22ef75(_0x405b5a,_0x146f6e));}}(_0x146f6e);break;case 0xc6:!function(_0x368e5a){_0x2c0c36(_0x368e5a),0xbd===_0x368e5a['expression']['kind']&&_0x25eb54(_0x368e5a['expression']);}(_0x146f6e);break;case 0xcd:!function(_0x368e5a){var _0x146f6e=_0x1a8ff2(),_0x2327c6=_0x1a8ff2(),_0x55ff7e=_0x1a8ff2();_0x3cf1a2(_0x368e5a[_0x1a4e('0x236b')],_0x146f6e,_0x2327c6),_0x405b5a=_0x43560d(_0x146f6e),_0x444b2f(_0x368e5a[_0x1a4e('0x23ca')]),_0x444b2f(_0x368e5a['whenTrue']),_0x4dd644(_0x55ff7e,_0x405b5a),_0x405b5a=_0x43560d(_0x2327c6),_0x444b2f(_0x368e5a['colonToken']),_0x444b2f(_0x368e5a[_0x1a4e('0x2604')]),_0x4dd644(_0x55ff7e,_0x405b5a),_0x405b5a=_0x43560d(_0x55ff7e);}(_0x146f6e);break;case 0xed:!function(_0x146f6e){_0x2c0c36(_0x146f6e),(_0x146f6e[_0x1a4e('0x236a')]||_0x368e5a[_0x1a4e('0x2561')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]))&&function _0x146f6e(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2506')](_0x2327c6)?void 0x0:_0x2327c6['name'];if(_0x368e5a[_0x1a4e('0x1678')](_0x55ff7e))for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e[_0x1a4e('0x2398')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x146f6e(_0x2c9ec9);}else _0x405b5a=_0x126d0(_0x405b5a,_0x2327c6);}(_0x146f6e);}(_0x146f6e);break;case 0xbf:!function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2302')];for(;0xc3===_0x2327c6[_0x1a4e('0x146b')];)_0x2327c6=_0x2327c6[_0x1a4e('0x2302')];0xc4===_0x2327c6[_0x1a4e('0x146b')]||0xc5===_0x2327c6['kind']?(_0x200330(_0x146f6e[_0x1a4e('0x2365')]),_0x200330(_0x146f6e[_0x1a4e('0x2373')]),_0x444b2f(_0x146f6e['expression'])):_0x2c0c36(_0x146f6e);if(0xbd===_0x146f6e['expression']['kind']){var _0x55ff7e=_0x146f6e[_0x1a4e('0x2302')];_0x41577f(_0x55ff7e['expression'])&&_0x368e5a['isPushOrUnshiftIdentifier'](_0x55ff7e[_0x1a4e('0x2cb')])&&(_0x405b5a=_0x22ef75(_0x405b5a,_0x146f6e));}}(_0x146f6e);break;case 0x130:case 0x129:!function(_0x368e5a){_0x368e5a[_0x1a4e('0x132b')]['parent']=_0x368e5a,_0x368e5a[_0x1a4e('0x2613')]&&_0x2d32ea(_0x368e5a,_0x368e5a[_0x1a4e('0x2613')]);}(_0x146f6e);break;case 0x117:_0x3a76d0(_0x146f6e[_0x1a4e('0x2366')]),_0x444b2f(_0x146f6e['endOfFileToken']);break;case 0xda:case 0xf5:_0x3a76d0(_0x146f6e[_0x1a4e('0x2366')]);break;default:_0x2c0c36(_0x146f6e);}_0x359d09(_0x146f6e);}function _0x4d5570(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:case 0x64:case 0xbd:case 0xbe:return _0x41d60f(_0x146f6e);case 0xbf:return function(_0x368e5a){if(_0x368e5a['arguments'])for(var _0x146f6e=0x0,_0x2327c6=_0x368e5a[_0x1a4e('0x2373')];_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x2327c6[_0x146f6e];if(_0x41d60f(_0x55ff7e))return!0x0;}if(0xbd===_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0x146b')]&&_0x41d60f(_0x368e5a[_0x1a4e('0x2302')]['expression']))return!0x0;return!0x1;}(_0x146f6e);case 0xc3:return _0x4d5570(_0x146f6e['expression']);case 0xcc:return function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x237a')][_0x1a4e('0x146b')]){case 0x3b:return _0x41d60f(_0x146f6e['left']);case 0x21:case 0x22:case 0x23:case 0x24:return _0x41577f(_0x146f6e[_0x1a4e('0x5f')])||_0x41577f(_0x146f6e[_0x1a4e('0x5d')])||_0x2b489e(_0x146f6e[_0x1a4e('0x5d')],_0x146f6e[_0x1a4e('0x5f')])||_0x2b489e(_0x146f6e[_0x1a4e('0x5f')],_0x146f6e[_0x1a4e('0x5d')]);case 0x5e:return _0x41577f(_0x146f6e['left']);case 0x5d:return _0x2327c6=_0x146f6e[_0x1a4e('0x5f')],_0x55ff7e=_0x146f6e[_0x1a4e('0x5d')],_0x368e5a[_0x1a4e('0x2855')](_0x2327c6)&&_0x4d5570(_0x55ff7e);case 0x1b:return _0x4d5570(_0x146f6e['right']);}var _0x2327c6,_0x55ff7e;return!0x1;}(_0x146f6e);case 0xca:return 0x34===_0x146f6e[_0x1a4e('0x1474')]&&_0x4d5570(_0x146f6e[_0x1a4e('0x1784')]);case 0xc7:return _0x4d5570(_0x146f6e[_0x1a4e('0x2302')]);}return!0x1;}function _0x41d60f(_0x146f6e){return 0x48===_0x146f6e[_0x1a4e('0x146b')]||0x64===_0x146f6e[_0x1a4e('0x146b')]||0x62===_0x146f6e['kind']||_0x368e5a[_0x1a4e('0x2371')](_0x146f6e)&&_0x41d60f(_0x146f6e['expression'])||_0x368e5a[_0x1a4e('0x2856')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x24a7')]&&(_0x368e5a[_0x1a4e('0x2374')](_0x146f6e['argumentExpression'])||_0x368e5a[_0x1a4e('0x2334')](_0x146f6e[_0x1a4e('0x24a7')]))&&_0x41d60f(_0x146f6e[_0x1a4e('0x2302')]);}function _0x2b489e(_0x146f6e,_0x2327c6){return _0x368e5a['isTypeOfExpression'](_0x146f6e)&&_0x41577f(_0x146f6e[_0x1a4e('0x2302')])&&_0x368e5a[_0x1a4e('0x2855')](_0x2327c6);}function _0x41577f(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xc3:return _0x41577f(_0x368e5a[_0x1a4e('0x2302')]);case 0xcc:switch(_0x368e5a['operatorToken'][_0x1a4e('0x146b')]){case 0x3b:return _0x41577f(_0x368e5a[_0x1a4e('0x5f')]);case 0x1b:return _0x41577f(_0x368e5a[_0x1a4e('0x5d')]);}}return _0x41d60f(_0x368e5a);}function _0x1a8ff2(){return{'flags':0x4,'antecedents':void 0x0};}function _0x5e9fcc(){return{'flags':0x8,'antecedents':void 0x0};}function _0x6e65f4(_0x368e5a){_0x368e5a[_0x1a4e('0x7b2')]|=0x200&_0x368e5a[_0x1a4e('0x7b2')]?0x400:0x200;}function _0x4dd644(_0x146f6e,_0x2327c6){0x1&_0x2327c6[_0x1a4e('0x7b2')]||_0x368e5a[_0x1a4e('0x2ac')](_0x146f6e['antecedents'],_0x2327c6)||((_0x146f6e[_0x1a4e('0x2851')]||(_0x146f6e[_0x1a4e('0x2851')]=[]))['push'](_0x2327c6),_0x6e65f4(_0x2327c6));}function _0x18abe6(_0x368e5a,_0x146f6e,_0x2327c6){return 0x1&_0x146f6e[_0x1a4e('0x7b2')]?_0x146f6e:_0x2327c6?0x66===_0x2327c6[_0x1a4e('0x146b')]&&0x40&_0x368e5a||0x57===_0x2327c6[_0x1a4e('0x146b')]&&0x20&_0x368e5a?_0x561f5f:_0x4d5570(_0x2327c6)?(_0x6e65f4(_0x146f6e),{'flags':_0x368e5a,'expression':_0x2327c6,'antecedent':_0x146f6e}):_0x146f6e:0x20&_0x368e5a?_0x146f6e:_0x561f5f;}function _0x16c3a1(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x4d5570(_0x146f6e[_0x1a4e('0x2302')])?(_0x6e65f4(_0x368e5a),{'flags':0x80,'switchStatement':_0x146f6e,'clauseStart':_0x2327c6,'clauseEnd':_0x55ff7e,'antecedent':_0x368e5a}):_0x368e5a;}function _0x126d0(_0x368e5a,_0x146f6e){return _0x6e65f4(_0x368e5a),{'flags':0x10,'antecedent':_0x368e5a,'node':_0x146f6e};}function _0x22ef75(_0x368e5a,_0x146f6e){_0x6e65f4(_0x368e5a);var _0x2327c6={'flags':0x100,'antecedent':_0x368e5a,'node':_0x146f6e};return _0x2327c6;}function _0x43560d(_0x368e5a){var _0x146f6e=_0x368e5a['antecedents'];return _0x146f6e?0x1===_0x146f6e[_0x1a4e('0x1e')]?_0x146f6e[0x0]:_0x368e5a:_0x561f5f;}function _0x5e20e7(_0x368e5a){for(;;)if(0xc3===_0x368e5a[_0x1a4e('0x146b')])_0x368e5a=_0x368e5a[_0x1a4e('0x2302')];else{if(0xca!==_0x368e5a['kind']||0x34!==_0x368e5a[_0x1a4e('0x1474')])return 0xcc===_0x368e5a[_0x1a4e('0x146b')]&&(0x36===_0x368e5a[_0x1a4e('0x237a')]['kind']||0x37===_0x368e5a[_0x1a4e('0x237a')]['kind']);_0x368e5a=_0x368e5a[_0x1a4e('0x1784')];}}function _0x3cf1a2(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x3958fe,_0x1adc17=_0x4a776b;_0x3958fe=_0x146f6e,_0x4a776b=_0x2327c6,_0x444b2f(_0x368e5a),_0x3958fe=_0x55ff7e,_0x4a776b=_0x1adc17,_0x368e5a&&_0x5e20e7(_0x368e5a)||(_0x4dd644(_0x146f6e,_0x18abe6(0x20,_0x405b5a,_0x368e5a)),_0x4dd644(_0x2327c6,_0x18abe6(0x40,_0x405b5a,_0x368e5a)));}function _0x48e416(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x278e4d,_0x1adc17=_0x24fd6d;_0x278e4d=_0x146f6e,_0x24fd6d=_0x2327c6,_0x444b2f(_0x368e5a),_0x278e4d=_0x55ff7e,_0x24fd6d=_0x1adc17;}function _0x2d6906(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=0xe5===_0x368e5a[_0x1a4e('0x146b')]?_0x146f6e:_0x2327c6;_0x55ff7e&&(_0x4dd644(_0x55ff7e,_0x405b5a),_0x405b5a=_0x561f5f);}function _0x121083(_0x368e5a){0xcc===_0x368e5a['kind']&&0x3b===_0x368e5a['operatorToken'][_0x1a4e('0x146b')]?_0x25eb54(_0x368e5a[_0x1a4e('0x5f')]):_0x25eb54(_0x368e5a);}function _0x25eb54(_0x368e5a){if(_0x41d60f(_0x368e5a))_0x405b5a=_0x126d0(_0x405b5a,_0x368e5a);else if(0xbb===_0x368e5a[_0x1a4e('0x146b')])for(var _0x146f6e=0x0,_0x2327c6=_0x368e5a[_0x1a4e('0x2398')];_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x2327c6[_0x146f6e];0xd0===_0x55ff7e[_0x1a4e('0x146b')]?_0x25eb54(_0x55ff7e[_0x1a4e('0x2302')]):_0x121083(_0x55ff7e);}else if(0xbc===_0x368e5a[_0x1a4e('0x146b')])for(var _0x1adc17=0x0,_0xf79407=_0x368e5a[_0x1a4e('0x13')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];0x113===_0x2c9ec9[_0x1a4e('0x146b')]?_0x121083(_0x2c9ec9['initializer']):0x114===_0x2c9ec9[_0x1a4e('0x146b')]?_0x25eb54(_0x2c9ec9['name']):0x115===_0x2c9ec9[_0x1a4e('0x146b')]&&_0x25eb54(_0x2c9ec9[_0x1a4e('0x2302')]);}}function _0x413512(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1a8ff2();0x36===_0x368e5a[_0x1a4e('0x237a')][_0x1a4e('0x146b')]?_0x3cf1a2(_0x368e5a[_0x1a4e('0x5f')],_0x55ff7e,_0x2327c6):_0x3cf1a2(_0x368e5a[_0x1a4e('0x5f')],_0x146f6e,_0x55ff7e),_0x405b5a=_0x43560d(_0x55ff7e),_0x444b2f(_0x368e5a[_0x1a4e('0x237a')]),_0x3cf1a2(_0x368e5a[_0x1a4e('0x5d')],_0x146f6e,_0x2327c6);}function _0x3e0e03(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xd1:case 0xf0:case 0xf3:case 0xbc:case 0xa8:case 0x124:case 0x10c:return 0x1;case 0xf1:return 0x41;case 0xf4:case 0xf2:case 0xb5:return 0x21;case 0x117:return 0x25;case 0x9c:if(_0x368e5a['isObjectLiteralOrClassExpressionMethod'](_0x146f6e))return 0xad;case 0x9d:case 0xef:case 0x9b:case 0x9e:case 0x9f:case 0xa0:case 0x125:case 0x121:case 0xa5:case 0xa1:case 0xa2:case 0xa6:return 0x2d;case 0xc4:case 0xc5:return 0x3d;case 0xf5:return 0x4;case 0x9a:return _0x146f6e[_0x1a4e('0x236a')]?0x4:0x0;case 0x112:case 0xe1:case 0xe2:case 0xe3:case 0xf6:return 0x2;case 0xda:return _0x368e5a[_0x1a4e('0x2342')](_0x146f6e[_0x1a4e('0x11c')])?0x0:0x2;}return 0x0;}function _0x1c95d8(_0x368e5a){_0xeba25f&&(_0xeba25f[_0x1a4e('0x2857')]=_0x368e5a),_0xeba25f=_0x368e5a;}function _0x44af9b(_0x2327c6,_0x55ff7e,_0x1adc17){switch(_0x4c2dc8[_0x1a4e('0x146b')]){case 0xf4:return _0x1a46de(_0x2327c6,_0x55ff7e,_0x1adc17);case 0x117:return function(_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x22f1')](_0x146f6e)?_0x1a46de(_0x2327c6,_0x55ff7e,_0x1adc17):_0x3f67f6(_0x146f6e['locals'],void 0x0,_0x2327c6,_0x55ff7e,_0x1adc17);}(_0x2327c6,_0x55ff7e,_0x1adc17);case 0xd1:case 0xf0:return function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20)?_0x3f67f6(_0x4c2dc8['symbol'][_0x1a4e('0x0')],_0x4c2dc8[_0x1a4e('0xb1b')],_0x146f6e,_0x2327c6,_0x55ff7e):_0x3f67f6(_0x4c2dc8[_0x1a4e('0xb1b')][_0x1a4e('0x2369')],_0x4c2dc8[_0x1a4e('0xb1b')],_0x146f6e,_0x2327c6,_0x55ff7e);}(_0x2327c6,_0x55ff7e,_0x1adc17);case 0xf3:return _0x3f67f6(_0x4c2dc8[_0x1a4e('0xb1b')][_0x1a4e('0x0')],_0x4c2dc8[_0x1a4e('0xb1b')],_0x2327c6,_0x55ff7e,_0x1adc17);case 0xa8:case 0x124:case 0xbc:case 0xf1:case 0x10c:return _0x3f67f6(_0x4c2dc8['symbol'][_0x1a4e('0x2369')],_0x4c2dc8[_0x1a4e('0xb1b')],_0x2327c6,_0x55ff7e,_0x1adc17);case 0xa5:case 0xa6:case 0xa0:case 0xa1:case 0x125:case 0xa2:case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:case 0xef:case 0xc4:case 0xc5:case 0x121:case 0x130:case 0x129:case 0xf2:case 0xb5:return _0x3f67f6(_0x4c2dc8[_0x1a4e('0x283c')],void 0x0,_0x2327c6,_0x55ff7e,_0x1adc17);}}function _0x4cce35(_0x368e5a){0x400000&_0x368e5a[_0x1a4e('0x7b2')]&&!function(_0x368e5a){var _0x146f6e=0x117===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a:_0x368e5a[_0x1a4e('0x8f2')];if(_0x146f6e&&(0x117===_0x146f6e['kind']||0xf5===_0x146f6e['kind']))for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x2366')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(0xff===_0x1adc17[_0x1a4e('0x146b')]||0xfe===_0x1adc17['kind'])return!0x0;}return!0x1;}(_0x368e5a)?_0x368e5a[_0x1a4e('0x7b2')]|=0x20:_0x368e5a['flags']&=-0x21;}function _0x12255a(_0x368e5a){var _0x146f6e=_0x2327c6(_0x368e5a),_0x55ff7e=0x0!==_0x146f6e;return _0x44af9b(_0x368e5a,_0x55ff7e?0x200:0x400,_0x55ff7e?0x1b08f:0x0),_0x146f6e;}function _0x3cd1b4(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x54ba82(_0x146f6e,_0x2327c6);return 0x1a00c&_0x146f6e&&(_0x55ff7e['parent']=_0x4c2dc8[_0x1a4e('0xb1b')]),_0x2b2138(_0x55ff7e,_0x368e5a,_0x146f6e),_0x55ff7e;}function _0x45ef1b(_0x146f6e,_0x2327c6,_0x55ff7e){switch(_0x141bf8[_0x1a4e('0x146b')]){case 0xf4:_0x1a46de(_0x146f6e,_0x2327c6,_0x55ff7e);break;case 0x117:if(_0x368e5a[_0x1a4e('0x2858')](_0x4c2dc8)){_0x1a46de(_0x146f6e,_0x2327c6,_0x55ff7e);break;}default:_0x141bf8['locals']||(_0x141bf8[_0x1a4e('0x283c')]=_0x368e5a[_0x1a4e('0x22e7')](),_0x1c95d8(_0x141bf8)),_0x3f67f6(_0x141bf8[_0x1a4e('0x283c')],void 0x0,_0x146f6e,_0x2327c6,_0x55ff7e);}}function _0x315a4d(_0x2327c6){!(_0x14ebbb&&_0x2327c6[_0x1a4e('0x23f8')]>=0x6d&&_0x2327c6['originalKeywordKind']<=0x75)||_0x368e5a[_0x1a4e('0x23eb')](_0x2327c6)||0x400000&_0x2327c6[_0x1a4e('0x7b2')]||_0x146f6e[_0x1a4e('0x2636')]['length']||_0x146f6e['bindDiagnostics'][_0x1a4e('0x46')](_0x1057b5(_0x2327c6,function(_0x2327c6){if(_0x368e5a[_0x1a4e('0x239a')](_0x2327c6))return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2859')];if(_0x146f6e[_0x1a4e('0x2359')])return _0x368e5a['Diagnostics'][_0x1a4e('0x285a')];return _0x368e5a[_0x1a4e('0x167d')]['Identifier_expected_0_is_a_reserved_word_in_strict_mode'];}(_0x2327c6),_0x368e5a[_0x1a4e('0x1676')](_0x2327c6)));}function _0xf026d2(_0x2327c6,_0x55ff7e){if(_0x55ff7e&&0x48===_0x55ff7e[_0x1a4e('0x146b')]){var _0x1adc17=_0x55ff7e;if(_0x2c9ec9=_0x1adc17,_0x368e5a[_0x1a4e('0x2370')](_0x2c9ec9)&&(_0x1a4e('0x285b')===_0x2c9ec9[_0x1a4e('0x22f3')]||_0x1a4e('0x2373')===_0x2c9ec9[_0x1a4e('0x22f3')])){var _0xf79407=_0x368e5a[_0x1a4e('0x2358')](_0x146f6e,_0x55ff7e);_0x146f6e[_0x1a4e('0x263e')][_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0xf79407['start'],_0xf79407[_0x1a4e('0x1e')],function(_0x2327c6){if(_0x368e5a[_0x1a4e('0x239a')](_0x2327c6))return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x285c')];if(_0x146f6e['externalModuleIndicator'])return _0x368e5a['Diagnostics'][_0x1a4e('0x285d')];return _0x368e5a[_0x1a4e('0x167d')]['Invalid_use_of_0_in_strict_mode'];}(_0x2327c6),_0x368e5a['idText'](_0x1adc17)));}}var _0x2c9ec9;}function _0x2a759c(_0x368e5a){_0x14ebbb&&_0xf026d2(_0x368e5a,_0x368e5a[_0x1a4e('0x2cb')]);}function _0x276255(_0x2327c6){if(_0x1d8f3f<0x2&&0x117!==_0x141bf8[_0x1a4e('0x146b')]&&0xf4!==_0x141bf8[_0x1a4e('0x146b')]&&!_0x368e5a['isFunctionLike'](_0x141bf8)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2358')](_0x146f6e,_0x2327c6);_0x146f6e['bindDiagnostics'][_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x55ff7e[_0x1a4e('0xc9')],_0x55ff7e['length'],function(_0x2327c6){if(_0x368e5a[_0x1a4e('0x239a')](_0x2327c6))return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x285e')];if(_0x146f6e[_0x1a4e('0x2359')])return _0x368e5a['Diagnostics']['Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode'];return _0x368e5a[_0x1a4e('0x167d')]['Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5'];}(_0x2327c6)));}}function _0x329952(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x2357')](_0x146f6e,_0x2327c6[_0x1a4e('0xa4')]);_0x146f6e[_0x1a4e('0x263e')][_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x420b32[_0x1a4e('0xc9')],_0x420b32[_0x1a4e('0x1e')],_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9));}function _0x121f69(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){!function(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x55ff7e[_0x1a4e('0xa4')],_0x55ff7e[_0x1a4e('0xca')]-_0x55ff7e[_0x1a4e('0xa4')],_0x1adc17);_0x2327c6?_0x146f6e[_0x1a4e('0x263e')]['push'](_0xf79407):_0x146f6e[_0x1a4e('0x263f')]=_0x368e5a[_0x1a4e('0x252')](_0x146f6e[_0x1a4e('0x263f')],_0x420b32({},_0xf79407,{'category':_0x368e5a[_0x1a4e('0x16d3')]['Suggestion']}));}(_0x2327c6,{'pos':_0x368e5a[_0x1a4e('0x232d')](_0x55ff7e,_0x146f6e),'end':_0x1adc17['end']},_0xf79407);}function _0x444b2f(_0x2327c6){if(_0x2327c6){_0x2327c6[_0x1a4e('0x11c')]=_0x348300;var _0x1adc17=_0x14ebbb;if(function(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x48:if(_0x2327c6[_0x1a4e('0x269c')]){for(var _0x1adc17=_0x2327c6['parent'];_0x1adc17&&!_0x368e5a['isJSDocTypeAlias'](_0x1adc17);)_0x1adc17=_0x1adc17[_0x1a4e('0x11c')];_0x45ef1b(_0x1adc17,0x80000,0x40c09e8);break;}case 0x64:return _0x405b5a&&(_0x368e5a[_0x1a4e('0x24a8')](_0x2327c6)||0x114===_0x348300['kind'])&&(_0x2327c6[_0x1a4e('0x285f')]=_0x405b5a),_0x315a4d(_0x2327c6);case 0xbd:case 0xbe:_0x405b5a&&_0x41d60f(_0x2327c6)&&(_0x2327c6[_0x1a4e('0x285f')]=_0x405b5a),_0x368e5a['isSpecialPropertyDeclaration'](_0x2327c6)&&function(_0x146f6e){0x64===_0x146f6e['expression'][_0x1a4e('0x146b')]?_0x59fabd(_0x146f6e):_0x368e5a[_0x1a4e('0x2464')](_0x146f6e)&&0x117===_0x146f6e['parent'][_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&(_0x368e5a['isPrototypeAccess'](_0x146f6e[_0x1a4e('0x2302')])?_0x3cb78b(_0x146f6e,_0x146f6e[_0x1a4e('0x11c')]):_0x328045(_0x146f6e));}(_0x2327c6),_0x368e5a['isInJSFile'](_0x2327c6)&&_0x146f6e[_0x1a4e('0x2349')]&&_0x368e5a[_0x1a4e('0x23b9')](_0x2327c6)&&!_0x1b06ad(_0x141bf8,'module')&&_0x3f67f6(_0x146f6e[_0x1a4e('0x283c')],void 0x0,_0x2327c6[_0x1a4e('0x2302')],0x8000001,0x401b3be);break;case 0xcc:var _0x420b32=_0x368e5a[_0x1a4e('0x23ba')](_0x2327c6);switch(_0x420b32){case 0x1:_0x4c5c99(_0x2327c6);break;case 0x2:!function(_0x2327c6){if(!_0x9b1678(_0x2327c6))return;var _0x55ff7e=_0x368e5a[_0x1a4e('0x2860')](_0x2327c6[_0x1a4e('0x5d')]);if(_0x368e5a[_0x1a4e('0x2467')](_0x55ff7e)||_0x4c2dc8===_0x146f6e&&_0xf79407(_0x146f6e,_0x55ff7e))return;var _0x1adc17=_0x368e5a['exportAssignmentIsAlias'](_0x2327c6)?0x200000:0x100204;_0x3f67f6(_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x0')],_0x146f6e[_0x1a4e('0xb1b')],_0x2327c6,0x4000000|_0x1adc17,0x0);}(_0x2327c6);break;case 0x3:_0x3cb78b(_0x2327c6['left'],_0x2327c6);break;case 0x6:!function(_0x368e5a){_0x368e5a[_0x1a4e('0x5f')][_0x1a4e('0x11c')]=_0x368e5a,_0x368e5a['right'][_0x1a4e('0x11c')]=_0x368e5a;var _0x146f6e=_0x368e5a[_0x1a4e('0x5f')];_0x4d6a11(_0x146f6e[_0x1a4e('0x2302')],_0x146f6e,!0x1);}(_0x2327c6);break;case 0x4:_0x59fabd(_0x2327c6);break;case 0x5:!function(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x5f')],_0x1adc17=_0x5bdffc(_0x55ff7e[_0x1a4e('0x2302')]);if(!_0x368e5a[_0x1a4e('0x24e1')](_0x2327c6)&&!_0x368e5a['isFunctionSymbol'](_0x1adc17))return;_0x2327c6[_0x1a4e('0x5f')][_0x1a4e('0x11c')]=_0x2327c6,_0x2327c6[_0x1a4e('0x5d')][_0x1a4e('0x11c')]=_0x2327c6,_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e[_0x1a4e('0x2302')])&&_0x4c2dc8===_0x146f6e&&_0x2c9ec9(_0x146f6e,_0x55ff7e[_0x1a4e('0x2302')])?_0x4c5c99(_0x2327c6):_0x328045(_0x55ff7e);}(_0x2327c6);break;case 0x0:break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2861'));}return function(_0x146f6e){_0x14ebbb&&_0x368e5a[_0x1a4e('0x2430')](_0x146f6e[_0x1a4e('0x5f')])&&_0x368e5a['isAssignmentOperator'](_0x146f6e[_0x1a4e('0x237a')]['kind'])&&_0xf026d2(_0x146f6e,_0x146f6e[_0x1a4e('0x5f')]);}(_0x2327c6);case 0x112:return function(_0x368e5a){_0x14ebbb&&_0x368e5a[_0x1a4e('0x260b')]&&_0xf026d2(_0x368e5a,_0x368e5a[_0x1a4e('0x260b')][_0x1a4e('0x2cb')]);}(_0x2327c6);case 0xc6:return function(_0x2327c6){if(_0x14ebbb&&0x48===_0x2327c6[_0x1a4e('0x2302')]['kind']){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2358')](_0x146f6e,_0x2327c6[_0x1a4e('0x2302')]);_0x146f6e[_0x1a4e('0x263e')]['push'](_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x55ff7e[_0x1a4e('0xc9')],_0x55ff7e[_0x1a4e('0x1e')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2862')]));}}(_0x2327c6);case 0x8:return function(_0x2327c6){_0x14ebbb&&0x20&_0x2327c6[_0x1a4e('0x2335')]&&_0x146f6e['bindDiagnostics']['push'](_0x1057b5(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2863')]));}(_0x2327c6);case 0xcb:return function(_0x368e5a){_0x14ebbb&&_0xf026d2(_0x368e5a,_0x368e5a[_0x1a4e('0x1784')]);}(_0x2327c6);case 0xca:return function(_0x368e5a){_0x14ebbb&&(0x2c!==_0x368e5a[_0x1a4e('0x1474')]&&0x2d!==_0x368e5a[_0x1a4e('0x1474')]||_0xf026d2(_0x368e5a,_0x368e5a[_0x1a4e('0x1784')]));}(_0x2327c6);case 0xe7:return function(_0x146f6e){_0x14ebbb&&_0x329952(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2864')]);}(_0x2327c6);case 0xe9:return function(_0x146f6e){_0x14ebbb&&_0x55ff7e[_0x1a4e('0xd95')]>=0x2&&(_0x368e5a[_0x1a4e('0x2567')](_0x146f6e[_0x1a4e('0x2390')])||_0x368e5a[_0x1a4e('0x2376')](_0x146f6e[_0x1a4e('0x2390')]))&&_0x329952(_0x146f6e[_0x1a4e('0x1bc')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2865')]);}(_0x2327c6);case 0xb2:return void(_0xdc5592=!0x0);case 0xa3:break;case 0x96:return function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x24e0')](_0x146f6e['parent'])){var _0x2327c6=_0x368e5a[_0x1a4e('0x1c7')](_0x146f6e['parent'][_0x1a4e('0x11c')]['tags'],_0x368e5a[_0x1a4e('0x23cd')])||_0x368e5a[_0x1a4e('0x23d4')](_0x146f6e['parent']);_0x2327c6?(_0x2327c6[_0x1a4e('0x283c')]||(_0x2327c6[_0x1a4e('0x283c')]=_0x368e5a[_0x1a4e('0x22e7')]()),_0x3f67f6(_0x2327c6['locals'],void 0x0,_0x146f6e,0x40000,0x40809e8)):_0x44af9b(_0x146f6e,0x40000,0x40809e8);}else if(0xb0===_0x146f6e['parent'][_0x1a4e('0x146b')]){var _0x55ff7e=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x146f6e){return _0x146f6e[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x2866')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x25fe')]===_0x146f6e;});return _0x2327c6&&_0x2327c6['parent'];}(_0x146f6e[_0x1a4e('0x11c')]);_0x55ff7e?(_0x55ff7e[_0x1a4e('0x283c')]||(_0x55ff7e[_0x1a4e('0x283c')]=_0x368e5a[_0x1a4e('0x22e7')]()),_0x3f67f6(_0x55ff7e[_0x1a4e('0x283c')],void 0x0,_0x146f6e,0x40000,0x40809e8)):_0x3cd1b4(_0x146f6e,0x40000,_0x40d962(_0x146f6e));}else _0x44af9b(_0x146f6e,0x40000,0x40809e8);}(_0x2327c6);case 0x97:return _0x134633(_0x2327c6);case 0xed:return _0x71f400(_0x2327c6);case 0xba:return _0x2327c6['flowNode']=_0x405b5a,_0x71f400(_0x2327c6);case 0x9a:case 0x99:return function(_0x368e5a){return _0x53bc91(_0x368e5a,0x4|(_0x368e5a['questionToken']?0x1000000:0x0),0x0);}(_0x2327c6);case 0x113:case 0x114:return _0x53bc91(_0x2327c6,0x4,0x0);case 0x116:return _0x53bc91(_0x2327c6,0x8,0x40dbbff);case 0xa0:case 0xa1:case 0xa2:return _0x44af9b(_0x2327c6,0x20000,0x0);case 0x9c:case 0x9b:return _0x53bc91(_0x2327c6,0x2000|(_0x2327c6[_0x1a4e('0x23ca')]?0x1000000:0x0),_0x368e5a[_0x1a4e('0x2867')](_0x2327c6)?0x0:0x40193bf);case 0xef:return function(_0x2327c6){_0x146f6e[_0x1a4e('0x2423')]||0x400000&_0x2327c6[_0x1a4e('0x7b2')]||_0x368e5a[_0x1a4e('0x23fd')](_0x2327c6)&&(_0x5f1796|=0x400);_0x2a759c(_0x2327c6),_0x14ebbb?(_0x276255(_0x2327c6),_0x45ef1b(_0x2327c6,0x10,0x401b1af)):_0x44af9b(_0x2327c6,0x10,0x401b1af);}(_0x2327c6);case 0x9d:return _0x44af9b(_0x2327c6,0x4000,0x0);case 0x9e:return _0x53bc91(_0x2327c6,0x8000,0x400b3bf);case 0x9f:return _0x53bc91(_0x2327c6,0x10000,0x40133bf);case 0xa5:case 0x121:case 0x125:case 0xa6:return function(_0x146f6e){var _0x2327c6=_0x54ba82(0x20000,_0x40d962(_0x146f6e));_0x2b2138(_0x2327c6,_0x146f6e,0x20000);var _0x55ff7e=_0x54ba82(0x800,'__type');_0x2b2138(_0x55ff7e,_0x146f6e,0x800),_0x55ff7e[_0x1a4e('0x2369')]=_0x368e5a['createSymbolTable'](),_0x55ff7e[_0x1a4e('0x2369')]['set'](_0x2327c6[_0x1a4e('0x22e8')],_0x2327c6);}(_0x2327c6);case 0xa8:case 0x124:case 0xb5:return function(_0x368e5a){return _0x3cd1b4(_0x368e5a,0x800,'__type');}(_0x2327c6);case 0xbc:return function(_0x2327c6){var _0x55ff7e;if(function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1963')]=0x1]=_0x1a4e('0x1963'),_0x368e5a[_0x368e5a['Accessor']=0x2]=_0x1a4e('0x1976');}(_0x55ff7e||(_0x55ff7e={})),_0x14ebbb)for(var _0x1adc17=_0x368e5a[_0x1a4e('0x283a')](),_0xf79407=0x0,_0x2c9ec9=_0x2327c6[_0x1a4e('0x13')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(0x115!==_0x420b32[_0x1a4e('0x146b')]&&0x48===_0x420b32['name'][_0x1a4e('0x146b')]){var _0x1b06ad=_0x420b32[_0x1a4e('0x2cb')],_0x326eae=0x113===_0x420b32[_0x1a4e('0x146b')]||0x114===_0x420b32['kind']||0x9c===_0x420b32[_0x1a4e('0x146b')]?0x1:0x2,_0x56674b=_0x1adc17['get'](_0x1b06ad[_0x1a4e('0x22f3')]);if(_0x56674b){if(0x1===_0x326eae&&0x1===_0x56674b){var _0x58eefa=_0x368e5a['getErrorSpanForNode'](_0x146f6e,_0x1b06ad);_0x146f6e[_0x1a4e('0x263e')]['push'](_0x368e5a['createFileDiagnostic'](_0x146f6e,_0x58eefa[_0x1a4e('0xc9')],_0x58eefa[_0x1a4e('0x1e')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2868')]));}}else _0x1adc17[_0x1a4e('0x17a')](_0x1b06ad[_0x1a4e('0x22f3')],_0x326eae);}}return _0x3cd1b4(_0x2327c6,0x1000,'__object');}(_0x2327c6);case 0xc4:case 0xc5:return function(_0x2327c6){_0x146f6e[_0x1a4e('0x2423')]||0x400000&_0x2327c6['flags']||_0x368e5a['isAsyncFunction'](_0x2327c6)&&(_0x5f1796|=0x400);_0x405b5a&&(_0x2327c6[_0x1a4e('0x285f')]=_0x405b5a);_0x2a759c(_0x2327c6);var _0x55ff7e=_0x2327c6[_0x1a4e('0x2cb')]?_0x2327c6['name'][_0x1a4e('0x22f3')]:_0x1a4e('0x19ae');return _0x3cd1b4(_0x2327c6,0x10,_0x55ff7e);}(_0x2327c6);case 0xbf:var _0x326eae=_0x368e5a['getAssignmentDeclarationKind'](_0x2327c6);switch(_0x326eae){case 0x7:return function(_0x368e5a){var _0x146f6e=_0x5bdffc(_0x368e5a[_0x1a4e('0x2373')][0x0]),_0x2327c6=0x117===_0x368e5a[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x146b')];_0x146f6e=_0xac7836(_0x146f6e,_0x368e5a[_0x1a4e('0x2373')][0x0],_0x2327c6,!0x1),_0x428eb0(_0x368e5a,_0x146f6e,!0x1);}(_0x2327c6);case 0x8:return function(_0x368e5a){if(!_0x9b1678(_0x368e5a))return;var _0x146f6e=_0x2dde43(_0x368e5a['arguments'][0x0],void 0x0,function(_0x368e5a,_0x146f6e){return _0x146f6e&&_0x2b2138(_0x146f6e,_0x368e5a,0x4000600),_0x146f6e;});if(_0x146f6e){_0x3f67f6(_0x146f6e[_0x1a4e('0x0')],_0x146f6e,_0x368e5a,0x100004,0x0);}}(_0x2327c6);case 0x9:return function(_0x368e5a){var _0x146f6e=_0x5bdffc(_0x368e5a['arguments'][0x0][_0x1a4e('0x2302')]);_0x428eb0(_0x368e5a,_0x146f6e,!0x0);}(_0x2327c6);case 0x0:break;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2869'));}_0x368e5a[_0x1a4e('0x24e1')](_0x2327c6)&&function(_0x2327c6){!_0x146f6e[_0x1a4e('0x2349')]&&_0x368e5a[_0x1a4e('0x23ae')](_0x2327c6,!0x1)&&_0x9b1678(_0x2327c6);}(_0x2327c6);break;case 0xd1:case 0xf0:return _0x14ebbb=!0x0,function(_0x2327c6){if(0xf0===_0x2327c6[_0x1a4e('0x146b')])_0x45ef1b(_0x2327c6,0x20,0x40db9bf);else{var _0x55ff7e=_0x2327c6[_0x1a4e('0x2cb')]?_0x2327c6[_0x1a4e('0x2cb')]['escapedText']:_0x1a4e('0x286a');_0x3cd1b4(_0x2327c6,0x20,_0x55ff7e),_0x2327c6['name']&&_0x5f1d00[_0x1a4e('0x17a')](_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')],!0x0);}var _0x1adc17=_0x2327c6[_0x1a4e('0xb1b')],_0xf79407=_0x54ba82(0x400004,_0x1a4e('0xa')),_0x2c9ec9=_0x1adc17[_0x1a4e('0x0')][_0x1a4e('0x179')](_0xf79407[_0x1a4e('0x22e8')]);_0x2c9ec9&&(_0x2327c6[_0x1a4e('0x2cb')]&&(_0x2327c6[_0x1a4e('0x2cb')]['parent']=_0x2327c6),_0x146f6e[_0x1a4e('0x263e')][_0x1a4e('0x46')](_0x1057b5(_0x2c9ec9[_0x1a4e('0x22e5')][0x0],_0x368e5a['Diagnostics']['Duplicate_identifier_0'],_0x368e5a[_0x1a4e('0x24d2')](_0xf79407))));_0x1adc17[_0x1a4e('0x0')][_0x1a4e('0x17a')](_0xf79407[_0x1a4e('0x22e8')],_0xf79407),_0xf79407['parent']=_0x1adc17;}(_0x2327c6);case 0xf1:return _0x45ef1b(_0x2327c6,0x40,0x40c0988);case 0xf2:return _0x45ef1b(_0x2327c6,0x80000,0x40c09e8);case 0xf3:return function(_0x146f6e){return _0x368e5a['isEnumConst'](_0x146f6e)?_0x45ef1b(_0x146f6e,0x80,0x40dbb7f):_0x45ef1b(_0x146f6e,0x100,0x40db8ff);}(_0x2327c6);case 0xf4:return function(_0x2327c6){if(_0x4cce35(_0x2327c6),_0x368e5a[_0x1a4e('0x233c')](_0x2327c6))if(_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x1)&&_0x329952(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x286b')]),_0x368e5a[_0x1a4e('0x2345')](_0x2327c6))_0x12255a(_0x2327c6);else{var _0x55ff7e=void 0x0;if(0xa===_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]){var _0x1adc17=_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0xe04')];_0x368e5a[_0x1a4e('0x2595')](_0x1adc17)?_0x55ff7e=_0x368e5a[_0x1a4e('0x286c')](_0x1adc17):_0x329952(_0x2327c6['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x286d')],_0x1adc17);}var _0xf79407=_0x44af9b(_0x2327c6,0x200,0x1b08f);_0x146f6e[_0x1a4e('0x286e')]=_0x368e5a['append'](_0x146f6e[_0x1a4e('0x286e')],_0x55ff7e&&{'pattern':_0x55ff7e,'symbol':_0xf79407});}else{var _0x2c9ec9=_0x12255a(_0x2327c6);if(0x0!==_0x2c9ec9){var _0xf79407=_0x2327c6['symbol'];_0xf79407[_0x1a4e('0x286f')]=!(0x130&_0xf79407['flags'])&&0x2===_0x2c9ec9&&!0x1!==_0xf79407[_0x1a4e('0x286f')];}}}(_0x2327c6);case 0x10c:return function(_0x368e5a){return _0x3cd1b4(_0x368e5a,0x1000,_0x1a4e('0x19ad'));}(_0x2327c6);case 0x10b:return function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x44af9b(_0x368e5a,_0x146f6e,_0x2327c6);}(_0x2327c6,0x4,0x0);case 0xf8:case 0xfb:case 0xfd:case 0x101:return _0x44af9b(_0x2327c6,0x200000,0x200000);case 0xf7:return function(_0x2327c6){_0x2327c6[_0x1a4e('0x242d')]&&_0x2327c6[_0x1a4e('0x242d')][_0x1a4e('0x1e')]&&_0x146f6e['bindDiagnostics'][_0x1a4e('0x46')](_0x1057b5(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2870')]));var _0x55ff7e=_0x368e5a['isSourceFile'](_0x2327c6[_0x1a4e('0x11c')])?_0x368e5a[_0x1a4e('0x22f1')](_0x2327c6[_0x1a4e('0x11c')])?_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2423')]?void 0x0:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2871')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2872')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2873')];_0x55ff7e?_0x146f6e[_0x1a4e('0x263e')]['push'](_0x1057b5(_0x2327c6,_0x55ff7e)):(_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2874')]=_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2874')]||_0x368e5a[_0x1a4e('0x22e7')](),_0x3f67f6(_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2874')],_0x146f6e[_0x1a4e('0xb1b')],_0x2327c6,0x200000,0x200000));}(_0x2327c6);case 0xfa:return function(_0x368e5a){_0x368e5a[_0x1a4e('0x2cb')]&&_0x44af9b(_0x368e5a,0x200000,0x200000);}(_0x2327c6);case 0xff:return function(_0x368e5a){_0x4c2dc8[_0x1a4e('0xb1b')]&&_0x4c2dc8[_0x1a4e('0xb1b')][_0x1a4e('0x0')]?_0x368e5a['exportClause']||_0x3f67f6(_0x4c2dc8[_0x1a4e('0xb1b')][_0x1a4e('0x0')],_0x4c2dc8[_0x1a4e('0xb1b')],_0x368e5a,0x800000,0x0):_0x3cd1b4(_0x368e5a,0x800000,_0x40d962(_0x368e5a));}(_0x2327c6);case 0xfe:return function(_0x146f6e){if(_0x4c2dc8[_0x1a4e('0xb1b')]&&_0x4c2dc8[_0x1a4e('0xb1b')][_0x1a4e('0x0')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x23ed')](_0x146f6e)?0x200000:0x4,_0x55ff7e=_0x3f67f6(_0x4c2dc8['symbol'][_0x1a4e('0x0')],_0x4c2dc8[_0x1a4e('0xb1b')],_0x146f6e,_0x2327c6,0x3ffffff);_0x146f6e[_0x1a4e('0x267b')]&&_0x1d5eae(_0x55ff7e,_0x146f6e);}else _0x3cd1b4(_0x146f6e,0x200000,_0x40d962(_0x146f6e));}(_0x2327c6);case 0x117:return _0x195707(_0x2327c6[_0x1a4e('0x2366')]),function(){if(_0x4cce35(_0x146f6e),_0x368e5a[_0x1a4e('0x22f1')](_0x146f6e))_0x538f6c();else if(_0x368e5a[_0x1a4e('0x2875')](_0x146f6e)){_0x538f6c();var _0x2327c6=_0x146f6e[_0x1a4e('0xb1b')];_0x3f67f6(_0x146f6e['symbol']['exports'],_0x146f6e['symbol'],_0x146f6e,0x4,0x3ffffff),_0x146f6e[_0x1a4e('0xb1b')]=_0x2327c6;}}();case 0xda:if(!_0x368e5a['isFunctionLike'](_0x2327c6[_0x1a4e('0x11c')]))return;case 0xf5:return _0x195707(_0x2327c6[_0x1a4e('0x2366')]);case 0x12b:if(0x125===_0x2327c6[_0x1a4e('0x11c')]['kind'])return _0x134633(_0x2327c6);if(0x124!==_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')])break;case 0x131:var _0x56674b=_0x2327c6,_0x1b3294=_0x56674b['isBracketed']||_0x56674b[_0x1a4e('0x2379')]&&0x120===_0x56674b[_0x1a4e('0x2379')][_0x1a4e('0x40')][_0x1a4e('0x146b')]?0x1000004:0x4;return _0x44af9b(_0x56674b,_0x1b3294,0x0);case 0x130:case 0x129:(_0x108508||(_0x108508=[]))[_0x1a4e('0x46')](_0x2327c6);}}(_0x2327c6),_0x2327c6['kind']>0x93){var _0x420b32=_0x348300;_0x348300=_0x2327c6;var _0x56674b=_0x3e0e03(_0x2327c6);0x0===_0x56674b?_0x3c8322(_0x2327c6):function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x4c2dc8,_0x1adc17=_0x301867,_0xf79407=_0x141bf8;0x1&_0x2327c6?(0xc5!==_0x146f6e[_0x1a4e('0x146b')]&&(_0x301867=_0x4c2dc8),_0x4c2dc8=_0x141bf8=_0x146f6e,0x20&_0x2327c6&&(_0x4c2dc8['locals']=_0x368e5a['createSymbolTable']()),_0x1c95d8(_0x4c2dc8)):0x2&_0x2327c6&&((_0x141bf8=_0x146f6e)[_0x1a4e('0x283c')]=void 0x0);if(0x4&_0x2327c6){var _0x2c9ec9=_0x405b5a,_0x420b32=_0x278e4d,_0x1b06ad=_0x24fd6d,_0x326eae=_0x2d4661,_0x56674b=_0x39a503,_0x516001=_0x3cd246,_0x1d8f3f=0x10&_0x2327c6&&!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x100)&&!_0x146f6e[_0x1a4e('0x23fc')]&&!!_0x368e5a[_0x1a4e('0x239e')](_0x146f6e);_0x1d8f3f||(_0x405b5a={'flags':0x2},0x90&_0x2327c6&&(_0x405b5a[_0x1a4e('0x12d8')]=_0x146f6e)),_0x2d4661=_0x1d8f3f||0x9d===_0x146f6e['kind']?_0x1a8ff2():void 0x0,_0x278e4d=void 0x0,_0x24fd6d=void 0x0,_0x39a503=void 0x0,_0x3cd246=!0x1,_0x3c8322(_0x146f6e),_0x146f6e[_0x1a4e('0x7b2')]&=-0x581,!(0x1&_0x405b5a[_0x1a4e('0x7b2')])&&0x8&_0x2327c6&&_0x368e5a['nodeIsPresent'](_0x146f6e[_0x1a4e('0x8f2')])&&(_0x146f6e['flags']|=0x80,_0x3cd246&&(_0x146f6e[_0x1a4e('0x7b2')]|=0x100)),0x117===_0x146f6e[_0x1a4e('0x146b')]&&(_0x146f6e[_0x1a4e('0x7b2')]|=_0x5f1796),_0x2d4661&&(_0x4dd644(_0x2d4661,_0x405b5a),_0x405b5a=_0x43560d(_0x2d4661),0x9d===_0x146f6e['kind']&&(_0x146f6e[_0x1a4e('0x2876')]=_0x405b5a)),_0x1d8f3f||(_0x405b5a=_0x2c9ec9),_0x278e4d=_0x420b32,_0x24fd6d=_0x1b06ad,_0x2d4661=_0x326eae,_0x39a503=_0x56674b,_0x3cd246=_0x516001;}else 0x40&_0x2327c6?(_0xdc5592=!0x1,_0x3c8322(_0x146f6e),_0x146f6e['flags']=_0xdc5592?0x40|_0x146f6e[_0x1a4e('0x7b2')]:-0x41&_0x146f6e[_0x1a4e('0x7b2')]):_0x3c8322(_0x146f6e);_0x4c2dc8=_0x55ff7e,_0x301867=_0x1adc17,_0x141bf8=_0xf79407;}(_0x2327c6,_0x56674b),_0x348300=_0x420b32;}else if(!_0x5201c9&&0x0==(0x20000000&_0x2327c6[_0x1a4e('0x257c')])){_0x520921|=_0x326eae(_0x2327c6,0x0);var _0x420b32=_0x348300;0x1===_0x2327c6[_0x1a4e('0x146b')]&&(_0x348300=_0x2327c6),_0x359d09(_0x2327c6),_0x348300=_0x420b32;}_0x14ebbb=_0x1adc17;}}function _0x359d09(_0x146f6e){if(_0x368e5a[_0x1a4e('0x23d0')](_0x146f6e))if(_0x368e5a['isInJSFile'](_0x146f6e))for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x22ec')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x444b2f(_0x1adc17);}else for(var _0xf79407=0x0,_0x2c9ec9=_0x146f6e[_0x1a4e('0x22ec')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x1adc17=_0x2c9ec9[_0xf79407];_0x2d32ea(_0x146f6e,_0x1adc17);}}function _0x195707(_0x2327c6){if(!_0x14ebbb)for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(!_0x368e5a[_0x1a4e('0x2877')](_0xf79407))return;if(_0x2c9ec9=_0xf79407,_0x420b32=void 0x0,_0x1a4e('0x2878')===(_0x420b32=_0x368e5a['getSourceTextOfNodeFromSourceFile'](_0x146f6e,_0x2c9ec9[_0x1a4e('0x2302')]))||'\x27use\x20strict\x27'===_0x420b32)return void(_0x14ebbb=!0x0);}var _0x2c9ec9,_0x420b32;}function _0x538f6c(){_0x3cd1b4(_0x146f6e,0x200,'\x22'+_0x368e5a[_0x1a4e('0x241e')](_0x146f6e[_0x1a4e('0x1b39')])+'\x22');}function _0x9b1678(_0x368e5a){return!_0x146f6e[_0x1a4e('0x2359')]&&(_0x146f6e['commonJsModuleIndicator']||(_0x146f6e[_0x1a4e('0x2349')]=_0x368e5a,_0x538f6c()),!0x0);}function _0x4c5c99(_0x146f6e){if(_0x9b1678(_0x146f6e)){var _0x2327c6=_0x146f6e[_0x1a4e('0x5f')],_0x55ff7e=_0x2dde43(_0x2327c6[_0x1a4e('0x2302')],void 0x0,function(_0x368e5a,_0x146f6e){return _0x146f6e&&_0x2b2138(_0x146f6e,_0x368e5a,0x4000600),_0x146f6e;});if(_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x237c')](_0x146f6e[_0x1a4e('0x5d')])?0x100024:0x100004;_0x3f67f6(_0x55ff7e[_0x1a4e('0x0')],_0x55ff7e,_0x2327c6,_0x1adc17,0x0);}}}function _0x59fabd(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e));var _0x2327c6=_0x368e5a['getThisContainer'](_0x146f6e,!0x1);switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xef:case 0xc4:var _0x55ff7e=_0x2327c6[_0x1a4e('0xb1b')];if(_0x368e5a['isBinaryExpression'](_0x2327c6['parent'])&&0x3b===_0x2327c6[_0x1a4e('0x11c')]['operatorToken']['kind']){var _0x1adc17=_0x2327c6[_0x1a4e('0x11c')]['left'];_0x368e5a[_0x1a4e('0x2464')](_0x1adc17)&&_0x368e5a[_0x1a4e('0x2465')](_0x1adc17[_0x1a4e('0x2302')])&&(_0x55ff7e=_0x5bdffc(_0x1adc17[_0x1a4e('0x2302')]['expression'],_0x301867));}_0x55ff7e&&(_0x55ff7e[_0x1a4e('0x2369')]=_0x55ff7e[_0x1a4e('0x2369')]||_0x368e5a[_0x1a4e('0x22e7')](),_0x3f67f6(_0x55ff7e[_0x1a4e('0x2369')],_0x55ff7e,_0x146f6e,0x4,0x0));break;case 0x9d:case 0x9a:case 0x9c:case 0x9e:case 0x9f:var _0xf79407=_0x2327c6[_0x1a4e('0x11c')],_0x2c9ec9=_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x20)?_0xf79407[_0x1a4e('0xb1b')]['exports']:_0xf79407['symbol'][_0x1a4e('0x2369')];_0x3f67f6(_0x2c9ec9,_0xf79407[_0x1a4e('0xb1b')],_0x146f6e,0x4,0x0,!0x0);break;case 0x117:break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x23c2')](_0x2327c6));}}function _0x3cb78b(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a['expression'],_0x55ff7e=_0x2327c6[_0x1a4e('0x2302')];_0x368e5a[_0x1a4e('0x11c')]=_0x146f6e,_0x55ff7e[_0x1a4e('0x11c')]=_0x2327c6,_0x2327c6[_0x1a4e('0x11c')]=_0x368e5a,_0x4d6a11(_0x55ff7e,_0x368e5a,!0x0);}function _0x328045(_0x368e5a){_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0x11c')]=_0x368e5a,_0x4d6a11(_0x368e5a['expression'],_0x368e5a,!0x1);}function _0xac7836(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x1adc17&&!_0xf79407&&(!_0x2327c6||!(0x780&_0x2327c6['flags']))){_0x2327c6=_0x2dde43(_0x55ff7e,_0x2327c6,function(_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x55ff7e)return _0x2b2138(_0x55ff7e,_0x2327c6,0x4000600),_0x55ff7e;var _0xf79407=_0x1adc17?_0x1adc17[_0x1a4e('0x0')]:_0x146f6e[_0x1a4e('0x2879')]||(_0x146f6e['jsGlobalAugmentations']=_0x368e5a[_0x1a4e('0x22e7')]());return _0x3f67f6(_0xf79407,_0x1adc17,_0x2327c6,0x4000600,0x1b08f);});}return _0x2327c6;}function _0x428eb0(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x2327c6&&function(_0x146f6e){if(0x430&_0x146f6e[_0x1a4e('0x7b2')])return!0x0;var _0x2327c6=_0x146f6e['valueDeclaration'];if(_0x2327c6&&_0x368e5a[_0x1a4e('0x2372')](_0x2327c6))return!!_0x368e5a[_0x1a4e('0x23b3')](_0x2327c6);var _0x55ff7e=_0x2327c6?_0x368e5a[_0x1a4e('0x238d')](_0x2327c6)?_0x2327c6[_0x1a4e('0x236a')]:_0x368e5a[_0x1a4e('0x236e')](_0x2327c6)?_0x2327c6['right']:_0x368e5a['isPropertyAccessExpression'](_0x2327c6)&&_0x368e5a['isBinaryExpression'](_0x2327c6['parent'])?_0x2327c6[_0x1a4e('0x11c')]['right']:void 0x0:void 0x0;if(_0x55ff7e=_0x55ff7e&&_0x368e5a['getRightMostAssignedExpression'](_0x55ff7e)){var _0x1adc17=_0x368e5a['isPrototypeAccess'](_0x368e5a[_0x1a4e('0x238d')](_0x2327c6)?_0x2327c6[_0x1a4e('0x2cb')]:_0x368e5a['isBinaryExpression'](_0x2327c6)?_0x2327c6['left']:_0x2327c6);return!!_0x368e5a['getExpandoInitializer'](_0x368e5a['isBinaryExpression'](_0x55ff7e)&&0x37===_0x55ff7e['operatorToken'][_0x1a4e('0x146b')]?_0x55ff7e[_0x1a4e('0x5d')]:_0x55ff7e,_0x1adc17);}return!0x1;}(_0x2327c6)){var _0x1adc17=_0x55ff7e?_0x2327c6[_0x1a4e('0x2369')]||(_0x2327c6[_0x1a4e('0x2369')]=_0x368e5a[_0x1a4e('0x22e7')]()):_0x2327c6[_0x1a4e('0x0')]||(_0x2327c6[_0x1a4e('0x0')]=_0x368e5a[_0x1a4e('0x22e7')]()),_0xf79407=_0x368e5a[_0x1a4e('0x254d')](_0x368e5a[_0x1a4e('0x23b3')](_0x146f6e)),_0x2c9ec9=_0xf79407?0x2000:0x4,_0x420b32=_0xf79407?0x40193bf:0x0;_0x3f67f6(_0x1adc17,_0x2327c6,_0x146f6e,0x4000000|_0x2c9ec9,-0x4000001&_0x420b32);}}function _0x4d6a11(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x5bdffc(_0x146f6e),_0xf79407=_0x368e5a[_0x1a4e('0x236e')](_0x2327c6['parent'])?0x117===function(_0x146f6e){for(;_0x368e5a[_0x1a4e('0x236e')](_0x146f6e['parent']);)_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];return _0x146f6e['parent'];}(_0x2327c6[_0x1a4e('0x11c')])['parent']['kind']:0x117===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')];_0x1adc17=_0xac7836(_0x1adc17,_0x2327c6[_0x1a4e('0x2302')],_0xf79407,_0x55ff7e),_0x428eb0(_0x2327c6,_0x1adc17,_0x55ff7e);}function _0x5bdffc(_0x146f6e,_0x2327c6){if(void 0x0===_0x2327c6&&(_0x2327c6=_0x4c2dc8),_0x368e5a[_0x1a4e('0x2370')](_0x146f6e))return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x22f3')]);var _0x55ff7e=_0x5bdffc(_0x146f6e[_0x1a4e('0x2302')]);return _0x55ff7e&&_0x55ff7e['exports']&&_0x55ff7e[_0x1a4e('0x0')][_0x1a4e('0x179')](_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]);}function _0x2dde43(_0x2327c6,_0x55ff7e,_0x1adc17){if(_0xf79407(_0x146f6e,_0x2327c6))return _0x146f6e[_0x1a4e('0xb1b')];if(_0x368e5a[_0x1a4e('0x2370')](_0x2327c6))return _0x1adc17(_0x2327c6,_0x5bdffc(_0x2327c6),_0x55ff7e);var _0x2c9ec9=_0x2dde43(_0x2327c6[_0x1a4e('0x2302')],_0x55ff7e,_0x1adc17);return _0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x0')]?_0x1adc17(_0x2327c6[_0x1a4e('0x2cb')],_0x2c9ec9['exports']['get'](_0x2327c6['name'][_0x1a4e('0x22f3')]),_0x2c9ec9):_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();}function _0x71f400(_0x146f6e){if(_0x14ebbb&&_0xf026d2(_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')]),!_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])){var _0x2327c6=_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&!!_0x368e5a[_0x1a4e('0x24d8')](_0x146f6e),_0x55ff7e=_0x2327c6?0x100:0x0,_0x1adc17=_0x2327c6?0x40db8ff:0x0;_0x368e5a[_0x1a4e('0x233a')](_0x146f6e)?_0x45ef1b(_0x146f6e,0x2|_0x55ff7e,0x401b3bf|_0x1adc17):_0x368e5a[_0x1a4e('0x2405')](_0x146f6e)?_0x44af9b(_0x146f6e,0x1,0x401b3bf):_0x44af9b(_0x146f6e,0x1|_0x55ff7e,0x401b3be|_0x1adc17);}}function _0x134633(_0x146f6e){if((0x12b!==_0x146f6e['kind']||0x125===_0x4c2dc8['kind'])&&(!_0x14ebbb||0x400000&_0x146f6e[_0x1a4e('0x7b2')]||_0xf026d2(_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')]),_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])?_0x3cd1b4(_0x146f6e,0x1,'__'+_0x146f6e[_0x1a4e('0x11c')]['parameters']['indexOf'](_0x146f6e)):_0x44af9b(_0x146f6e,0x1,0x401b3bf),_0x368e5a[_0x1a4e('0x235e')](_0x146f6e))){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')];_0x3f67f6(_0x2327c6[_0x1a4e('0xb1b')][_0x1a4e('0x2369')],_0x2327c6[_0x1a4e('0xb1b')],_0x146f6e,0x4|(_0x146f6e[_0x1a4e('0x23ca')]?0x1000000:0x0),0x0);}}function _0x53bc91(_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e[_0x1a4e('0x2423')]||0x400000&_0x2327c6[_0x1a4e('0x7b2')]||!_0x368e5a[_0x1a4e('0x23fd')](_0x2327c6)||(_0x5f1796|=0x400),_0x405b5a&&_0x368e5a[_0x1a4e('0x2392')](_0x2327c6)&&(_0x2327c6['flowNode']=_0x405b5a),_0x368e5a[_0x1a4e('0x23fe')](_0x2327c6)?_0x3cd1b4(_0x2327c6,_0x55ff7e,_0x1a4e('0x19b0')):_0x44af9b(_0x2327c6,_0x55ff7e,_0x1adc17);}}();function _0x1adc17(_0x146f6e){return!(_0x368e5a['isFunctionDeclaration'](_0x146f6e)||function(_0x146f6e){switch(_0x146f6e['kind']){case 0xf1:case 0xf2:return!0x0;case 0xf4:return 0x1!==_0x2327c6(_0x146f6e);case 0xf3:return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x800);default:return!0x1;}}(_0x146f6e)||_0x368e5a['isEnumDeclaration'](_0x146f6e)||_0x368e5a[_0x1a4e('0x2376')](_0x146f6e)&&!(0x3&_0x368e5a['getCombinedNodeFlags'](_0x146f6e))&&_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](function(_0x368e5a){return!_0x368e5a['initializer'];}));}function _0xf79407(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x23b8')](_0x2327c6)||_0x368e5a[_0x1a4e('0x23b9')](_0x2327c6)||_0x368e5a['isIdentifier'](_0x2327c6)&&_0x2c9ec9(_0x146f6e,_0x2327c6);}function _0x2c9ec9(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1b06ad(_0x146f6e,_0x2327c6['escapedText']);return!!_0x55ff7e&&!!_0x55ff7e[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x238d')](_0x55ff7e[_0x1a4e('0x2340')])&&!!_0x55ff7e[_0x1a4e('0x2340')]['initializer']&&function _0x146f6e(_0x2327c6,_0x55ff7e){return _0xf79407(_0x2327c6,_0x55ff7e)||_0x368e5a[_0x1a4e('0x287a')](_0x55ff7e,!0x0)&&(_0x146f6e(_0x2327c6,_0x55ff7e[_0x1a4e('0x5f')])||_0x146f6e(_0x2327c6,_0x55ff7e[_0x1a4e('0x5d')]));}(_0x146f6e,_0x55ff7e['valueDeclaration']['initializer']);}function _0x1b06ad(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x283c')]&&_0x146f6e['locals']['get'](_0x2327c6);return _0x55ff7e?_0x55ff7e[_0x1a4e('0x248f')]||_0x55ff7e:_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e)&&_0x146f6e['jsGlobalAugmentations']&&_0x146f6e[_0x1a4e('0x2879')]['has'](_0x2327c6)?_0x146f6e['jsGlobalAugmentations'][_0x1a4e('0x179')](_0x2327c6):_0x146f6e[_0x1a4e('0xb1b')]&&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x0')]&&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x0')][_0x1a4e('0x179')](_0x2327c6);}function _0x326eae(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['kind'];switch(_0x55ff7e){case 0xbf:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e,_0x55ff7e=_0x368e5a['expression'];_0x368e5a[_0x1a4e('0x2365')]&&(_0x2327c6|=0x3);(0x20000&_0x146f6e||0x6000000&_0x55ff7e[_0x1a4e('0x257c')])&&(_0x2327c6|=0xc0,0x4000000&_0x55ff7e['transformFlags']&&(_0x2327c6|=0x2000));0x5c===_0x55ff7e[_0x1a4e('0x146b')]&&(_0x2327c6|=0x1000000,0x2000&_0x146f6e&&(_0x2327c6|=0x4000));return _0x368e5a[_0x1a4e('0x257c')]=0x20000000|_0x2327c6,-0x26020542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0xc0:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e;_0x368e5a[_0x1a4e('0x2365')]&&(_0x2327c6|=0x3);0x20000&_0x146f6e&&(_0x2327c6|=0xc0);return _0x368e5a['transformFlags']=0x20000000|_0x2327c6,-0x26020542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0xf4:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=0x3;0x0==(0x2&_0x368e5a[_0x1a4e('0x245c')](_0x146f6e))&&(_0x55ff7e|=_0x2327c6);return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26907542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xc3:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e,_0x55ff7e=_0x368e5a[_0x1a4e('0x2302')],_0x1adc17=_0x55ff7e[_0x1a4e('0x146b')],_0xf79407=_0x55ff7e[_0x1a4e('0x257c')];0xd4!==_0x1adc17&&0xc2!==_0x1adc17||(_0x2327c6|=0x3);0x400&_0xf79407&&(_0x2327c6|=0x400);return _0x368e5a[_0x1a4e('0x257c')]=0x20000000|_0x2327c6,-0x20000542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0xcc:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e,_0x55ff7e=_0x368e5a['operatorToken'][_0x1a4e('0x146b')],_0x1adc17=_0x368e5a['left'][_0x1a4e('0x146b')];0x3b===_0x55ff7e&&0xbc===_0x1adc17?_0x2327c6|=0xcc8:0x3b===_0x55ff7e&&0xbb===_0x1adc17?_0x2327c6|=0xcc0:0x29!==_0x55ff7e&&0x3f!==_0x55ff7e||(_0x2327c6|=0x20);return _0x368e5a['transformFlags']=0x20000000|_0x2327c6,-0x26000542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0xdd:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e;0x400&_0x368e5a['expression'][_0x1a4e('0x257c')]&&(_0x2327c6|=0xc0);return _0x368e5a[_0x1a4e('0x257c')]=0x20000000|_0x2327c6,-0x26000542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0x97:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6,_0x1adc17=_0x146f6e['name'],_0xf79407=_0x146f6e[_0x1a4e('0x236a')],_0x2c9ec9=_0x146f6e[_0x1a4e('0x25f9')];(_0x146f6e['questionToken']||_0x146f6e[_0x1a4e('0x40')]||0x1000&_0x2327c6&&_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x232f')])||_0x368e5a[_0x1a4e('0x287b')](_0x1adc17))&&(_0x55ff7e|=0x3);_0x368e5a['hasModifier'](_0x146f6e,0x5c)&&(_0x55ff7e|=0x1003);0x40000&_0x2327c6&&(_0x55ff7e|=0x8);(0x200000&_0x2327c6||_0xf79407||_0x2c9ec9)&&(_0x55ff7e|=0x100c0);return _0x146f6e['transformFlags']=0x20000000|_0x55ff7e,-0x26000542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xc5:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=0xc0|_0x2327c6;(_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8de)||_0x146f6e['typeParameters']||_0x146f6e[_0x1a4e('0x40')])&&(_0x55ff7e|=0x3);_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x100)&&(_0x55ff7e|=0x10);0x40000&_0x2327c6&&(_0x55ff7e|=0x8);0x2000&_0x2327c6&&(_0x55ff7e|=0x4000);return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26f53542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xc4:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6;(_0x368e5a['hasModifier'](_0x146f6e,0x8de)||_0x146f6e[_0x1a4e('0x23d7')]||_0x146f6e['type'])&&(_0x55ff7e|=0x3);_0x368e5a['hasModifier'](_0x146f6e,0x100)&&(_0x55ff7e|=_0x146f6e[_0x1a4e('0x23fc')]?0x8:0x10);0x40000&_0x2327c6&&(_0x55ff7e|=0x8);0x14000&_0x2327c6&&(_0x55ff7e|=0xc0);_0x146f6e['asteriskToken']&&(_0x55ff7e|=0x300);return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26f57542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xef:return function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x368e5a[_0x1a4e('0x245c')](_0x146f6e);!_0x146f6e[_0x1a4e('0x8f2')]||0x2&_0x1adc17?_0x55ff7e=0x3:(_0x55ff7e=0x800000|_0x2327c6,(0x8de&_0x1adc17||_0x146f6e[_0x1a4e('0x23d7')]||_0x146f6e[_0x1a4e('0x40')])&&(_0x55ff7e|=0x3),0x100&_0x1adc17&&(_0x55ff7e|=_0x146f6e[_0x1a4e('0x23fc')]?0x8:0x10),0x40000&_0x2327c6&&(_0x55ff7e|=0x8),0x14000&_0x2327c6&&(_0x55ff7e|=0xc0),_0x146f6e[_0x1a4e('0x23fc')]&&(_0x55ff7e|=0x300));return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26f57542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xed:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e;_0x2327c6|=0x2000c0,0x40000&_0x146f6e&&(_0x2327c6|=0x8);_0x368e5a[_0x1a4e('0x40')]&&(_0x2327c6|=0x3);return _0x368e5a['transformFlags']=0x20000000|_0x2327c6,-0x26000542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0xee:return function(_0x368e5a,_0x146f6e){var _0x2327c6=0x800000|_0x146f6e;0x200000&_0x146f6e&&(_0x2327c6|=0xc0);0x3&_0x368e5a['flags']&&(_0x2327c6|=0x1000c0);return _0x368e5a[_0x1a4e('0x257c')]=0x20000000|_0x2327c6,-0x26240542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0xdb:return function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x257c')];_0x368e5a['hasModifier'](_0x146f6e,0x2)?_0x55ff7e=0x3:(_0x55ff7e=_0x2327c6,0x200000&_0x1adc17&&(_0x55ff7e|=0xc0));return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26000542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xe9:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6;0x100000&_0x2327c6&&_0x368e5a[_0x1a4e('0x2560')](_0x146f6e,!0x0)&&(_0x55ff7e|=0xc0);return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26000542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xf0:return function(_0x146f6e,_0x2327c6){var _0x55ff7e;_0x368e5a['hasModifier'](_0x146f6e,0x2)?_0x55ff7e=0x3:(_0x55ff7e=0xc0|_0x2327c6,(0x1000&_0x2327c6||_0x146f6e[_0x1a4e('0x23d7')])&&(_0x55ff7e|=0x3),0x8000&_0x2327c6&&(_0x55ff7e|=0x2000));return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x2608f542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xd1:return function(_0x368e5a,_0x146f6e){var _0x2327c6=0xc0|_0x146f6e;(0x1000&_0x146f6e||_0x368e5a[_0x1a4e('0x23d7')])&&(_0x2327c6|=0x3);0x8000&_0x146f6e&&(_0x2327c6|=0x2000);return _0x368e5a[_0x1a4e('0x257c')]=0x20000000|_0x2327c6,-0x2608f542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0x111:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6;switch(_0x146f6e[_0x1a4e('0x2381')]){case 0x56:_0x55ff7e|=0xc0;break;case 0x6d:_0x55ff7e|=0x3;break;default:_0x368e5a[_0x1a4e('0x1749')]['fail'](_0x1a4e('0x287c'));}return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26000542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0x112:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6;_0x146f6e['variableDeclaration']?_0x368e5a[_0x1a4e('0x1678')](_0x146f6e['variableDeclaration'][_0x1a4e('0x2cb')])&&(_0x55ff7e|=0xc0):_0x55ff7e|=0x8;return _0x146f6e['transformFlags']=0x20000000|_0x55ff7e,-0x26040542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xd3:return function(_0x368e5a,_0x146f6e){var _0x2327c6=0xc0|_0x146f6e;_0x368e5a['typeArguments']&&(_0x2327c6|=0x3);return _0x368e5a['transformFlags']=0x20000000|_0x2327c6,-0x26000542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0x9d:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6;!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8de)&&_0x146f6e['body']||(_0x55ff7e|=0x3);0x40000&_0x2327c6&&(_0x55ff7e|=0x8);return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26f56542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0x9a:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=0x3|_0x2327c6;(_0x146f6e[_0x1a4e('0x236a')]||_0x368e5a['isComputedPropertyName'](_0x146f6e[_0x1a4e('0x2cb')]))&&(_0x55ff7e|=0x1000);return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26000542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0x9c:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=0xc0|_0x2327c6;(_0x146f6e[_0x1a4e('0x232f')]||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8de)||_0x146f6e[_0x1a4e('0x23d7')]||_0x146f6e[_0x1a4e('0x40')]||_0x146f6e[_0x1a4e('0x2cb')]&&_0x368e5a[_0x1a4e('0x23e8')](_0x146f6e[_0x1a4e('0x2cb')])||!_0x146f6e[_0x1a4e('0x8f2')])&&(_0x55ff7e|=0x3);0x40000&_0x2327c6&&(_0x55ff7e|=0x8);_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x100)&&(_0x55ff7e|=_0x146f6e['asteriskToken']?0x8:0x10);_0x146f6e[_0x1a4e('0x23fc')]&&(_0x55ff7e|=0x300);return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26f56542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0x9e:case 0x9f:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6;(_0x146f6e[_0x1a4e('0x232f')]||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8de)||_0x146f6e[_0x1a4e('0x40')]||_0x146f6e[_0x1a4e('0x2cb')]&&_0x368e5a[_0x1a4e('0x23e8')](_0x146f6e[_0x1a4e('0x2cb')])||!_0x146f6e[_0x1a4e('0x8f2')])&&(_0x55ff7e|=0x3);0x40000&_0x2327c6&&(_0x55ff7e|=0x8);return _0x146f6e[_0x1a4e('0x257c')]=0x20000000|_0x55ff7e,-0x26f56542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xf8:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6;_0x368e5a['isExternalModuleImportEqualsDeclaration'](_0x146f6e)||(_0x55ff7e|=0x3);return _0x146f6e['transformFlags']=0x20000000|_0x55ff7e,-0x26000542&_0x55ff7e;}(_0x146f6e,_0x2327c6);case 0xbd:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e;0x2000000&_0x2327c6&&(_0x2327c6^=0x2000000,_0x2327c6|=0x4000018);return _0x368e5a[_0x1a4e('0x257c')]=0x20000000|_0x2327c6,-0x22000542&_0x2327c6;}(_0x146f6e,_0x2327c6);case 0xbe:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e;0x2000000&_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0x257c')]&&(_0x2327c6&=-0x2000001,_0x2327c6|=0x4000018);return _0x368e5a['transformFlags']=0x20000000|_0x2327c6,-0x22000542&_0x2327c6;}(_0x146f6e,_0x2327c6);default:return function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6,_0x1adc17=0x26000541;switch(_0x146f6e){case 0x79:case 0xc9:_0x55ff7e|=0x18;break;case 0xc2:case 0xd4:case 0x134:_0x55ff7e|=0x3,_0x1adc17=0x20000541;break;case 0x73:case 0x71:case 0x72:case 0x76:case 0x7d:case 0x4d:case 0xf3:case 0x116:case 0xd5:case 0x85:_0x55ff7e|=0x3;break;case 0x104:case 0x105:case 0x106:case 0xb:case 0x107:case 0x108:case 0x109:case 0x10a:case 0x10b:case 0x10c:case 0x10d:case 0x10e:_0x55ff7e|=0x4;break;case 0xe:case 0xf:case 0x10:case 0x11:case 0xce:case 0xc1:case 0x114:case 0x74:case 0xd6:_0x55ff7e|=0xc0;break;case 0xa:_0x368e5a[_0x1a4e('0x2661')]&&(_0x55ff7e|=0xc0);break;case 0x8:0x180&_0x368e5a[_0x1a4e('0x2335')]&&(_0x55ff7e|=0xc0);break;case 0x9:_0x55ff7e|=0x8;break;case 0xe3:_0x368e5a[_0x1a4e('0x2678')]&&(_0x55ff7e|=0x8),_0x55ff7e|=0xc0;break;case 0xcf:_0x55ff7e|=0x4000c8;break;case 0x78:case 0x87:case 0x92:case 0x84:case 0x88:case 0x8a:case 0x7b:case 0x8b:case 0x6a:case 0x96:case 0x99:case 0x9b:case 0xa0:case 0xa1:case 0xa2:case 0xa3:case 0xa4:case 0xa5:case 0xa6:case 0xa7:case 0xa8:case 0xa9:case 0xaa:case 0xab:case 0xac:case 0xad:case 0xae:case 0xaf:case 0xb0:case 0xb1:case 0xf1:case 0xf2:case 0xb2:case 0xb3:case 0xb4:case 0xb5:case 0xb6:case 0xf7:_0x55ff7e=0x3,_0x1adc17=-0x3;break;case 0x95:_0x55ff7e|=0x80000,0x2000&_0x2327c6&&(_0x55ff7e|=0x8000);break;case 0xd0:_0x55ff7e|=0x200c0;break;case 0x115:_0x55ff7e|=0x40008;break;case 0x62:_0x55ff7e|=0x20000c0,_0x1adc17=0x20000541;break;case 0x64:_0x55ff7e|=0x2000;break;case 0xb8:_0x55ff7e|=0x2000c0,0x20000&_0x2327c6&&(_0x55ff7e|=0x40008),_0x1adc17=0x26020541;break;case 0xb9:_0x55ff7e|=0x2000c0,_0x1adc17=0x26020541;break;case 0xba:_0x55ff7e|=0xc0,_0x368e5a[_0x1a4e('0x25f9')]&&(_0x55ff7e|=0x20000);break;case 0x98:_0x55ff7e|=0x1003;break;case 0xbc:_0x1adc17=0x260c9541,0x80000&_0x2327c6&&(_0x55ff7e|=0xc0),0x8000&_0x2327c6&&(_0x55ff7e|=0x2000),0x40000&_0x2327c6&&(_0x55ff7e|=0x8);break;case 0xbb:case 0xc0:_0x1adc17=0x26020541,0x20000&_0x2327c6&&(_0x55ff7e|=0xc0);break;case 0xdf:case 0xe0:case 0xe1:case 0xe2:0x100000&_0x2327c6&&(_0x55ff7e|=0xc0);break;case 0x117:0x4000&_0x2327c6&&(_0x55ff7e|=0xc0);break;case 0xe6:_0x55ff7e|=0x800008;break;case 0xe4:case 0xe5:_0x55ff7e|=0x800000;}return _0x368e5a['transformFlags']=0x20000000|_0x55ff7e,_0x55ff7e&~_0x1adc17;}(_0x146f6e,_0x55ff7e,_0x2327c6);}}function _0x56674b(_0x368e5a){if(_0x368e5a>=0xa3&&_0x368e5a<=0xb7)return-0x3;switch(_0x368e5a){case 0xbf:case 0xc0:case 0xbb:return 0x26020541;case 0xf4:return 0x26907541;case 0x97:return 0x26000541;case 0xc5:return 0x26f53541;case 0xc4:case 0xef:return 0x26f57541;case 0xee:return 0x26240541;case 0xf0:case 0xd1:return 0x2608f541;case 0x9d:return 0x26f56541;case 0x9c:case 0x9e:case 0x9f:return 0x26f56541;case 0x78:case 0x87:case 0x92:case 0x84:case 0x8a:case 0x88:case 0x7b:case 0x8b:case 0x6a:case 0x96:case 0x99:case 0x9b:case 0xa0:case 0xa1:case 0xa2:case 0xf1:case 0xf2:return-0x3;case 0xbc:return 0x260c9541;case 0x112:return 0x26040541;case 0xb8:case 0xb9:return 0x26020541;case 0xc2:case 0xd4:case 0x134:case 0xc3:case 0x62:return 0x20000541;case 0xbd:case 0xbe:return 0x22000541;default:return 0x26000541;}}function _0x2d32ea(_0x146f6e,_0x2327c6){_0x2327c6[_0x1a4e('0x11c')]=_0x146f6e,_0x368e5a[_0x1a4e('0x22eb')](_0x2327c6,function(_0x368e5a){return _0x2d32ea(_0x2327c6,_0x368e5a);});}_0x368e5a[_0x1a4e('0x287d')]=function(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')](_0x1a4e('0x287e')),_0x55ff7e(_0x146f6e,_0x2327c6),_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')](_0x1a4e('0x287f')),_0x368e5a['performance'][_0x1a4e('0xe0a')](_0x1a4e('0x2880'),_0x1a4e('0x287e'),_0x1a4e('0x287f'));},_0x368e5a[_0x1a4e('0x2881')]=_0xf79407,_0x368e5a[_0x1a4e('0x2882')]=_0x326eae,_0x368e5a[_0x1a4e('0x2883')]=_0x56674b;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a['createGetSymbolWalker']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){return function(_0x2a6566){void 0x0===_0x2a6566&&(_0x2a6566=function(){return!0x0;});var _0x584ecd=[],_0x2d8fe0=[];return{'walkType':function(_0x146f6e){try{return _0x4ba4ee(_0x146f6e),{'visitedTypes':_0x368e5a[_0x1a4e('0x1728')](_0x584ecd),'visitedSymbols':_0x368e5a[_0x1a4e('0x1728')](_0x2d8fe0)};}finally{_0x368e5a['clear'](_0x584ecd),_0x368e5a[_0x1a4e('0xb5')](_0x2d8fe0);}},'walkSymbol':function(_0x146f6e){try{return _0x2b88b0(_0x146f6e),{'visitedTypes':_0x368e5a[_0x1a4e('0x1728')](_0x584ecd),'visitedSymbols':_0x368e5a[_0x1a4e('0x1728')](_0x2d8fe0)};}finally{_0x368e5a[_0x1a4e('0xb5')](_0x584ecd),_0x368e5a[_0x1a4e('0xb5')](_0x2d8fe0);}}};function _0x4ba4ee(_0x146f6e){if(_0x146f6e&&!_0x584ecd[_0x146f6e['id']]){_0x584ecd[_0x146f6e['id']]=_0x146f6e;var _0x2327c6=_0x2b88b0(_0x146f6e['symbol']);if(!_0x2327c6){if(0x80000&_0x146f6e['flags']){var _0x55ff7e=_0x146f6e,_0xf79407=_0x55ff7e['objectFlags'];0x4&_0xf79407&&function(_0x146f6e){_0x4ba4ee(_0x146f6e['target']),_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2365')],_0x4ba4ee);}(_0x146f6e),0x20&_0xf79407&&function(_0x368e5a){_0x4ba4ee(_0x368e5a[_0x1a4e('0x2668')]),_0x4ba4ee(_0x368e5a[_0x1a4e('0x2884')]),_0x4ba4ee(_0x368e5a['templateType']),_0x4ba4ee(_0x368e5a[_0x1a4e('0x2885')]);}(_0x146f6e),0x3&_0xf79407&&(_0x5ba619(_0x2c9ec9=_0x146f6e),_0x368e5a[_0x1a4e('0x3b')](_0x2c9ec9[_0x1a4e('0x23d7')],_0x4ba4ee),_0x368e5a[_0x1a4e('0x3b')](_0x1adc17(_0x2c9ec9),_0x4ba4ee),_0x4ba4ee(_0x2c9ec9[_0x1a4e('0x2886')])),0x18&_0xf79407&&_0x5ba619(_0x55ff7e);}var _0x2c9ec9;0x40000&_0x146f6e[_0x1a4e('0x7b2')]&&function(_0x368e5a){_0x4ba4ee(_0x326eae(_0x368e5a));}(_0x146f6e),0x300000&_0x146f6e[_0x1a4e('0x7b2')]&&function(_0x146f6e){_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2380')],_0x4ba4ee);}(_0x146f6e),0x400000&_0x146f6e['flags']&&function(_0x368e5a){_0x4ba4ee(_0x368e5a[_0x1a4e('0x40')]);}(_0x146f6e),0x800000&_0x146f6e['flags']&&function(_0x368e5a){_0x4ba4ee(_0x368e5a['objectType']),_0x4ba4ee(_0x368e5a[_0x1a4e('0x2669')]),_0x4ba4ee(_0x368e5a[_0x1a4e('0x2364')]);}(_0x146f6e);}}}function _0x2c61fc(_0x1adc17){var _0xf79407=_0x2327c6(_0x1adc17);_0xf79407&&_0x4ba4ee(_0xf79407['type']),_0x368e5a['forEach'](_0x1adc17[_0x1a4e('0x23d7')],_0x4ba4ee);for(var _0x2c9ec9=0x0,_0x420b32=_0x1adc17[_0x1a4e('0x111a')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x2b88b0(_0x1b06ad);}_0x4ba4ee(_0x146f6e(_0x1adc17)),_0x4ba4ee(_0x55ff7e(_0x1adc17));}function _0x5ba619(_0x368e5a){var _0x146f6e=_0x1b06ad(_0x368e5a,0x0);_0x4ba4ee(_0x146f6e);var _0x2327c6=_0x1b06ad(_0x368e5a,0x1);_0x4ba4ee(_0x2327c6);for(var _0x55ff7e=_0xf79407(_0x368e5a),_0x1adc17=0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x2887')];_0x1adc17<_0x2c9ec9[_0x1a4e('0x1e')];_0x1adc17++){var _0x420b32=_0x2c9ec9[_0x1adc17];_0x2c61fc(_0x420b32);}for(var _0x326eae=0x0,_0x56674b=_0x55ff7e[_0x1a4e('0x2888')];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x420b32=_0x56674b[_0x326eae];_0x2c61fc(_0x420b32);}for(var _0x2a6566=0x0,_0x584ecd=_0x55ff7e['properties'];_0x2a6566<_0x584ecd['length'];_0x2a6566++){var _0x2d8fe0=_0x584ecd[_0x2a6566];_0x2b88b0(_0x2d8fe0);}}function _0x2b88b0(_0x146f6e){if(!_0x146f6e)return!0x1;var _0x2327c6=_0x368e5a[_0x1a4e('0x2889')](_0x146f6e);if(_0x2d8fe0[_0x2327c6])return!0x1;if(_0x2d8fe0[_0x2327c6]=_0x146f6e,!_0x2a6566(_0x146f6e))return!0x0;var _0x55ff7e=_0x2c9ec9(_0x146f6e);return _0x4ba4ee(_0x55ff7e),_0x146f6e[_0x1a4e('0x0')]&&_0x146f6e[_0x1a4e('0x0')][_0x1a4e('0x3b')](_0x2b88b0),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x368e5a){if(_0x368e5a[_0x1a4e('0x40')]&&0xa7===_0x368e5a[_0x1a4e('0x40')][_0x1a4e('0x146b')]){var _0x146f6e=_0x368e5a[_0x1a4e('0x40')],_0x2327c6=_0x420b32(_0x56674b(_0x146f6e[_0x1a4e('0x25fb')]));_0x2b88b0(_0x2327c6);}}),!0x1;}};};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6=/^".+"$/,_0x55ff7e=0x1,_0x1adc17=0x1,_0xf79407=0x1,_0x2c9ec9=0x1;function _0x326eae(_0x368e5a){return _0x368e5a['id']||(_0x368e5a['id']=_0x1adc17,_0x1adc17++),_0x368e5a['id'];}function _0x56674b(_0x368e5a){return _0x368e5a['id']||(_0x368e5a['id']=_0x55ff7e,_0x55ff7e++),_0x368e5a['id'];}function _0x415952(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['getModuleInstanceState'](_0x146f6e);return 0x1===_0x55ff7e||_0x2327c6&&0x2===_0x55ff7e;}function _0x46923a(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xfd:case 0x101:return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e);default:return _0x368e5a[_0x1a4e('0x23e5')](_0x146f6e);}}function _0x88bf03(_0x368e5a){switch(_0x368e5a['kind']){case 0xfa:case 0xf8:case 0xfb:case 0xfd:return!0x0;case 0x48:return 0xfd===_0x368e5a[_0x1a4e('0x11c')]['kind'];default:return!0x1;}}_0x368e5a['getNodeId']=_0x326eae,_0x368e5a[_0x1a4e('0x2889')]=_0x56674b,_0x368e5a[_0x1a4e('0x288a')]=_0x415952,_0x368e5a[_0x1a4e('0x288b')]=function(_0x55ff7e,_0x1adc17){var _0x434714,_0x57b692,_0x1ad11f,_0x35bd0a=_0x368e5a['memoize'](function(){var _0x146f6e=_0x368e5a[_0x1a4e('0x1772')]();return _0x55ff7e[_0x1a4e('0x2447')]()[_0x1a4e('0x3b')](function(_0x2327c6){_0x2327c6[_0x1a4e('0x2312')]&&_0x368e5a[_0x1a4e('0x2308')](_0x2327c6[_0x1a4e('0x2312')],function(_0x368e5a){_0x368e5a&&_0x368e5a['packageId']&&_0x146f6e[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x27d5')][_0x1a4e('0x2cb')],!0x0);});}),_0x146f6e;}),_0x36aa2e=_0x368e5a['objectAllocator'][_0x1a4e('0x283b')](),_0x30b3ec=_0x368e5a[_0x1a4e('0x2626')][_0x1a4e('0x288c')](),_0x1b487e=_0x368e5a['objectAllocator']['getSignatureConstructor'](),_0x3d8f5d=0x0,_0x15a30a=0x0,_0x1369b6=0x0,_0x7151b1=0x0,_0x188821=0x0,_0x362306=_0x368e5a['createSymbolTable'](),_0x5934d9=_0x368e5a['identity'],_0x239ab2=_0x55ff7e[_0x1a4e('0x23f1')](),_0x1b8154=_0x368e5a[_0x1a4e('0x2589')](_0x239ab2),_0x2918ee=_0x368e5a[_0x1a4e('0x2348')](_0x239ab2),_0x3c5414=_0x368e5a['getAllowSyntheticDefaultImports'](_0x239ab2),_0x4f3c04=_0x368e5a[_0x1a4e('0x2591')](_0x239ab2,_0x1a4e('0x288d')),_0x43e7af=_0x368e5a[_0x1a4e('0x2591')](_0x239ab2,_0x1a4e('0x274c')),_0x547b08=_0x368e5a[_0x1a4e('0x2591')](_0x239ab2,'strictBindCallApply'),_0x2c2aaa=_0x368e5a[_0x1a4e('0x2591')](_0x239ab2,'strictPropertyInitialization'),_0x59c9de=_0x368e5a[_0x1a4e('0x2591')](_0x239ab2,_0x1a4e('0x2749')),_0xba6af4=_0x368e5a['getStrictOptionValue'](_0x239ab2,'noImplicitThis'),_0x5c483a=!!_0x239ab2[_0x1a4e('0x278f')],_0x44918a=_0x239ab2[_0x1a4e('0x2788')]?0x0:0x8000,_0x425632=function(){var _0x146f6e,_0x2327c6=_0x55ff7e[_0x1a4e('0x288e')]();return _0x2327c6&&(_0x146f6e=_0x368e5a['createMap'](),_0x2327c6[_0x1a4e('0x3b')](function(_0x368e5a,_0x2327c6){if(_0x368e5a&&_0x368e5a[_0x1a4e('0x231a')]){var _0x1adc17=_0x55ff7e[_0x1a4e('0x288f')](_0x368e5a[_0x1a4e('0x231a')]);_0x146f6e[_0x1a4e('0x17a')](_0x1adc17[_0x1a4e('0x64')],_0x2327c6);}})),{'getReferencedExportContainer':_0x28584d,'getReferencedImportDeclaration':_0x5f0ea6,'getReferencedDeclarationWithCollidingName':_0x3e38f8,'isDeclarationWithCollidingName':_0x28b8b5,'isValueAliasDeclaration':function(_0x146f6e){return!(_0x146f6e=_0x368e5a['getParseTreeNode'](_0x146f6e))||_0x458b5e(_0x146f6e);},'hasGlobalName':_0xe58857,'isReferencedAliasDeclaration':function(_0x146f6e,_0x2327c6){return!(_0x146f6e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e))||function _0x146f6e(_0x2327c6,_0x55ff7e){if(_0x368e5a['isAliasSymbolDeclaration'](_0x2327c6)){var _0x1adc17=_0x54a27b(_0x2327c6);if(_0x1adc17&&_0xdba731(_0x1adc17)['referenced'])return!0x0;var _0xf79407=_0xdba731(_0x1adc17)[_0x1a4e('0xd95')];if(_0xf79407&&0x1&_0x368e5a['getModifierFlags'](_0x2327c6)&&0x401b3bf&_0xf79407['flags']&&(_0x239ab2[_0x1a4e('0x2781')]||!_0x242f5f(_0xf79407)))return!0x0;}return!!_0x55ff7e&&!!_0x368e5a[_0x1a4e('0x22eb')](_0x2327c6,function(_0x368e5a){return _0x146f6e(_0x368e5a,_0x55ff7e);});}(_0x146f6e,_0x2327c6);},'getNodeCheckFlags':function(_0x146f6e){return(_0x146f6e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e))?_0x2ebdb0(_0x146f6e):0x0;},'isTopLevelValueImportEqualsWithEntityName':_0x55cf4f,'isDeclarationVisible':_0x5b4203,'isImplementationOfOverload':_0x2118c8,'isRequiredInitializedParameter':_0x49dc3b,'isOptionalUninitializedParameterProperty':_0x1d68ba,'isExpandoFunctionDeclaration':_0xdfe84b,'getPropertiesOfContainerFunction':_0x4b83d0,'createTypeOfDeclaration':_0x4b7981,'createReturnTypeOfSignatureDeclaration':_0x390859,'createTypeOfExpression':_0x36aa2f,'createLiteralConstValue':_0x26510c,'isSymbolAccessible':_0x37eda4,'isEntityNameVisible':_0x1866a8,'getConstantValue':function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x56724e);return _0x2327c6?_0x23958d(_0x2327c6):void 0x0;},'collectLinkedAliases':_0x3c886c,'getReferencedValueDeclaration':_0x5851c2,'getTypeReferenceSerializationKind':_0x517023,'isOptionalParameter':_0x438bd2,'moduleExportsSomeValue':_0x22bf29,'isArgumentsLocalBinding':_0x45d4f5,'getExternalModuleFileFromDeclaration':_0x1cab27,'getTypeReferenceDirectivesForEntityName':function(_0x368e5a){if(_0x146f6e){var _0x2327c6=0x40c0fe8;(0x48===_0x368e5a['kind']&&_0x2e5e8d(_0x368e5a)||0xbd===_0x368e5a[_0x1a4e('0x146b')]&&!function(_0x368e5a){return _0x368e5a['parent']&&0xd3===_0x368e5a['parent'][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')]&&0x111===_0x368e5a[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x146b')];}(_0x368e5a))&&(_0x2327c6=0x411b3bf);var _0x55ff7e=_0x151d70(_0x368e5a,_0x2327c6,!0x0);return _0x55ff7e&&_0x55ff7e!==_0x450499?_0x1adc17(_0x55ff7e,_0x2327c6):void 0x0;}},'getTypeReferenceDirectivesForSymbol':_0x1adc17,'isLiteralConstDeclaration':_0x574b1e,'isLateBound':function(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x23e6')]),_0x55ff7e=_0x2327c6&&_0x54a27b(_0x2327c6);return!!(_0x55ff7e&&0x400&_0x368e5a[_0x1a4e('0x248b')](_0x55ff7e));},'getJsxFactoryEntity':function(_0x146f6e){return _0x146f6e?(_0x224360(_0x146f6e),_0x368e5a[_0x1a4e('0x1674')](_0x146f6e)[_0x1a4e('0x2890')]||_0x453a25):_0x453a25;},'getAllAccessorDeclarations':function(_0x146f6e){var _0x2327c6=0x9f===(_0x146f6e=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x24f1')]))['kind']?0x9e:0x9f,_0x55ff7e=_0x368e5a['getDeclarationOfKind'](_0x54a27b(_0x146f6e),_0x2327c6),_0x1adc17=_0x55ff7e&&_0x55ff7e[_0x1a4e('0xa4')]<_0x146f6e['pos']?_0x55ff7e:_0x146f6e,_0xf79407=_0x55ff7e&&_0x55ff7e['pos']<_0x146f6e[_0x1a4e('0xa4')]?_0x146f6e:_0x55ff7e,_0x2c9ec9=0x9f===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e:_0x55ff7e,_0x420b32=0x9e===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e:_0x55ff7e;return{'firstAccessor':_0x1adc17,'secondAccessor':_0xf79407,'setAccessor':_0x2c9ec9,'getAccessor':_0x420b32};},'getSymbolOfExternalModuleSpecifier':function(_0x368e5a){return _0x3d891b(_0x368e5a,_0x368e5a,void 0x0);},'isBindingCapturedByNode':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e),_0x1adc17=_0x368e5a[_0x1a4e('0x240a')](_0x2327c6);return!!_0x55ff7e&&!!_0x1adc17&&(_0x368e5a[_0x1a4e('0x238d')](_0x1adc17)||_0x368e5a[_0x1a4e('0x24a6')](_0x1adc17))&&function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x165ecf(_0x146f6e);return!!_0x55ff7e&&_0x368e5a[_0x1a4e('0x2ac')](_0x55ff7e[_0x1a4e('0x2891')],_0x54a27b(_0x2327c6));}(_0x55ff7e,_0x1adc17);}};function _0x1adc17(_0x2327c6,_0x55ff7e){if(_0x146f6e&&function(_0x2327c6){if(!_0x2327c6[_0x1a4e('0x22e5')])return!0x1;for(var _0x55ff7e=_0x2327c6;;){var _0x1adc17=_0x38393e(_0x55ff7e);if(!_0x1adc17)break;_0x55ff7e=_0x1adc17;}if(_0x55ff7e[_0x1a4e('0x2340')]&&0x117===_0x55ff7e[_0x1a4e('0x2340')][_0x1a4e('0x146b')]&&0x200&_0x55ff7e[_0x1a4e('0x7b2')])return!0x1;for(var _0xf79407=0x0,_0x2c9ec9=_0x2327c6[_0x1a4e('0x22e5')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x368e5a[_0x1a4e('0x1674')](_0x420b32);if(_0x146f6e[_0x1a4e('0x178')](_0x1b06ad[_0x1a4e('0x64')]))return!0x0;}return!0x1;}(_0x2327c6)){for(var _0x1adc17,_0xf79407=0x0,_0x2c9ec9=_0x2327c6['declarations'];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(_0x420b32['symbol']&&_0x420b32[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]&_0x55ff7e){var _0x1b06ad=_0x368e5a[_0x1a4e('0x1674')](_0x420b32),_0x326eae=_0x146f6e[_0x1a4e('0x179')](_0x1b06ad[_0x1a4e('0x64')]);if(!_0x326eae)return;(_0x1adc17||(_0x1adc17=[]))[_0x1a4e('0x46')](_0x326eae);}}return _0x1adc17;}}}(),_0x12cd5e=function(){return{'typeToTypeNode':function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17,function(_0x146f6e){return _0xf79407(_0x368e5a,_0x146f6e);});},'indexInfoToIndexSignatureDeclaration':function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x146f6e(_0x55ff7e,_0x1adc17,_0xf79407,function(_0x146f6e){return _0x415952(_0x368e5a,_0x2327c6,_0x146f6e);});},'signatureToSignatureDeclaration':function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x146f6e(_0x55ff7e,_0x1adc17,_0xf79407,function(_0x146f6e){return _0x46923a(_0x368e5a,_0x2327c6,_0x146f6e);});},'symbolToEntityName':function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x146f6e(_0x55ff7e,_0x1adc17,_0xf79407,function(_0x146f6e){return _0x7151b1(_0x368e5a,_0x146f6e,_0x2327c6,!0x1);});},'symbolToExpression':function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x146f6e(_0x1adc17,_0xf79407,_0x2c9ec9,function(_0x146f6e){return function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x30b3ec(_0x146f6e,_0x2327c6,_0x55ff7e);return function _0x146f6e(_0x55ff7e,_0x1adc17){var _0xf79407=_0x3d8f5d(_0x55ff7e,_0x1adc17,_0x2327c6),_0x2c9ec9=_0x55ff7e[_0x1adc17];if(_0x368e5a[_0x1a4e('0x1c2')](_0x2c9ec9[_0x1a4e('0x22e5')],_0x530a7c))return _0x368e5a['createLiteral'](_0x15a30a(_0x2c9ec9,_0x2327c6));0x0===_0x1adc17&&(_0x2327c6[_0x1a4e('0x7b2')]|=0x1000000);var _0x420b32=_0xd6fe32(_0x2c9ec9,_0x2327c6);0x0===_0x1adc17&&(_0x2327c6[_0x1a4e('0x7b2')]^=0x1000000);var _0x1b06ad=_0x420b32['charCodeAt'](0x0),_0x326eae=_0x368e5a[_0x1a4e('0x22cf')](_0x1b06ad,_0x1b8154);if(0x0===_0x1adc17||_0x326eae){var _0x56674b=_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2893')](_0x420b32,_0xf79407),0x1000000);return _0x56674b[_0x1a4e('0xb1b')]=_0x2c9ec9,_0x1adc17>0x0?_0x368e5a[_0x1a4e('0x2894')](_0x146f6e(_0x55ff7e,_0x1adc17-0x1),_0x56674b):_0x56674b;}0x5b===_0x1b06ad&&(_0x420b32=_0x420b32['substring'](0x1,_0x420b32['length']-0x1),_0x1b06ad=_0x420b32[_0x1a4e('0x913')](0x0));var _0x415952=void 0x0;return _0x368e5a[_0x1a4e('0x2895')](_0x1b06ad)?(_0x415952=_0x368e5a[_0x1a4e('0x2896')](_0x420b32[_0x1a4e('0x281')](0x1,_0x420b32[_0x1a4e('0x1e')]-0x1)[_0x1a4e('0x115')](/\\./g,function(_0x368e5a){return _0x368e5a['substring'](0x1);})))[_0x1a4e('0x1a79')]=0x27===_0x1b06ad:''+ +_0x420b32===_0x420b32&&(_0x415952=_0x368e5a[_0x1a4e('0x2896')](+_0x420b32)),_0x415952||((_0x415952=_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2893')](_0x420b32,_0xf79407),0x1000000))[_0x1a4e('0xb1b')]=_0x2c9ec9),_0x368e5a[_0x1a4e('0x2897')](_0x146f6e(_0x55ff7e,_0x1adc17-0x1),_0x415952);}(_0x1adc17,_0x1adc17[_0x1a4e('0x1e')]-0x1);}(_0x2327c6,_0x146f6e,_0x55ff7e);});},'symbolToTypeParameterDeclarations':function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17,function(_0x146f6e){return _0x1b487e(_0x368e5a,_0x146f6e);});},'symbolToParameterDeclaration':function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17,function(_0x146f6e){return _0x35bd0a(_0x368e5a,_0x146f6e);});},'typeParameterToDeclaration':function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17,function(_0x146f6e){return _0x1ad11f(_0x368e5a,_0x146f6e);});}};function _0x146f6e(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0===_0x146f6e||0x0==(0x8&_0x146f6e[_0x1a4e('0x7b2')]));var _0x2c9ec9={'enclosingDeclaration':_0x146f6e,'flags':_0x2327c6||0x0,'tracker':_0x1adc17&&_0x1adc17['trackSymbol']?_0x1adc17:{'trackSymbol':_0x368e5a['noop'],'moduleResolverHost':0x8000000&_0x2327c6?{'getCommonSourceDirectory':_0x55ff7e[_0x1a4e('0x241b')]?function(){return _0x55ff7e[_0x1a4e('0x241b')]();}:function(){return'';},'getSourceFiles':function(){return _0x55ff7e[_0x1a4e('0x2447')]();},'getCurrentDirectory':_0x55ff7e[_0x1a4e('0x241c')]&&function(){return _0x55ff7e[_0x1a4e('0x241c')]();}}:void 0x0},'encounteredError':!0x1,'visitedTypes':void 0x0,'symbolDepth':void 0x0,'inferTypeParameters':void 0x0,'approximateLength':0x0},_0x420b32=_0xf79407(_0x2c9ec9);return _0x2c9ec9[_0x1a4e('0x2898')]?void 0x0:_0x420b32;}function _0x1adc17(_0x146f6e){return _0x146f6e[_0x1a4e('0x2899')]?_0x146f6e[_0x1a4e('0x2899')]:_0x146f6e[_0x1a4e('0x2899')]=!(0x1&_0x146f6e[_0x1a4e('0x7b2')])&&_0x146f6e[_0x1a4e('0x289a')]>_0x368e5a['defaultMaximumTruncationLength'];}function _0xf79407(_0x146f6e,_0x2327c6){_0x434714&&_0x434714[_0x1a4e('0x289b')]&&_0x434714[_0x1a4e('0x289b')]();var _0x55ff7e=0x800000&_0x2327c6[_0x1a4e('0x7b2')];if(_0x2327c6[_0x1a4e('0x7b2')]&=-0x800001,_0x146f6e){if(0x1&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6[_0x1a4e('0x289a')]+=0x3,_0x368e5a['createKeywordTypeNode'](0x78);if(0x2&_0x146f6e['flags'])return _0x368e5a[_0x1a4e('0x289c')](0x8f);if(0x4&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6[_0x1a4e('0x289a')]+=0x6,_0x368e5a[_0x1a4e('0x289c')](0x8a);if(0x8&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6[_0x1a4e('0x289a')]+=0x6,_0x368e5a['createKeywordTypeNode'](0x87);if(0x40&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6[_0x1a4e('0x289a')]+=0x6,_0x368e5a[_0x1a4e('0x289c')](0x92);if(0x10&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6[_0x1a4e('0x289a')]+=0x7,_0x368e5a['createKeywordTypeNode'](0x7b);if(0x400&_0x146f6e[_0x1a4e('0x7b2')]&&!(0x100000&_0x146f6e[_0x1a4e('0x7b2')])){var _0x420b32=_0x38393e(_0x146f6e[_0x1a4e('0xb1b')]),_0x1ad11f=_0x1369b6(_0x420b32,_0x2327c6,0x40c09e8),_0x35bd0a=_0x287d7b(_0x420b32)===_0x146f6e?_0x1ad11f:_0x2c2aaa(_0x1ad11f,_0x368e5a['createTypeReferenceNode'](_0x368e5a[_0x1a4e('0x24d2')](_0x146f6e['symbol']),void 0x0));return _0x35bd0a;}if(0x420&_0x146f6e['flags'])return _0x1369b6(_0x146f6e[_0x1a4e('0xb1b')],_0x2327c6,0x40c09e8);if(0x80&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6[_0x1a4e('0x289a')]+=_0x146f6e['value'][_0x1a4e('0x1e')]+0x2,_0x368e5a[_0x1a4e('0x289d')](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2896')](_0x146f6e[_0x1a4e('0x255')]),0x1000000));if(0x100&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6[_0x1a4e('0x289a')]+=(''+_0x146f6e[_0x1a4e('0x255')])['length'],_0x368e5a[_0x1a4e('0x289d')](_0x368e5a['createLiteral'](_0x146f6e[_0x1a4e('0x255')]));if(0x800&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6[_0x1a4e('0x289a')]+=_0x368e5a['pseudoBigIntToString'](_0x146f6e[_0x1a4e('0x255')])[_0x1a4e('0x1e')]+0x1,_0x368e5a[_0x1a4e('0x289d')](_0x368e5a[_0x1a4e('0x2896')](_0x146f6e['value']));if(0x200&_0x146f6e['flags'])return _0x2327c6[_0x1a4e('0x289a')]+=_0x146f6e['intrinsicName']['length'],_0x1a4e('0xe7b')===_0x146f6e[_0x1a4e('0x289e')]?_0x368e5a['createTrue']():_0x368e5a['createFalse']();if(0x2000&_0x146f6e['flags']){if(!(0x100000&_0x2327c6[_0x1a4e('0x7b2')])){if(_0x561662(_0x146f6e[_0x1a4e('0xb1b')],_0x2327c6[_0x1a4e('0x289f')]))return _0x2327c6['approximateLength']+=0x6,_0x1369b6(_0x146f6e['symbol'],_0x2327c6,0x401b3bf);_0x2327c6[_0x1a4e('0x28a0')][_0x1a4e('0x28a1')]&&_0x2327c6['tracker'][_0x1a4e('0x28a1')]();}return _0x2327c6[_0x1a4e('0x289a')]+=0xd,_0x368e5a[_0x1a4e('0x28a2')](0x8e,_0x368e5a['createKeywordTypeNode'](0x8b));}if(0x4000&_0x146f6e['flags'])return _0x2327c6[_0x1a4e('0x289a')]+=0x4,_0x368e5a[_0x1a4e('0x289c')](0x6a);if(0x8000&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6['approximateLength']+=0x9,_0x368e5a[_0x1a4e('0x289c')](0x8d);if(0x10000&_0x146f6e['flags'])return _0x2327c6[_0x1a4e('0x289a')]+=0x4,_0x368e5a[_0x1a4e('0x289c')](0x60);if(0x20000&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6['approximateLength']+=0x5,_0x368e5a['createKeywordTypeNode'](0x84);if(0x1000&_0x146f6e[_0x1a4e('0x7b2')])return _0x2327c6[_0x1a4e('0x289a')]+=0x6,_0x368e5a[_0x1a4e('0x289c')](0x8b);if(0x4000000&_0x146f6e['flags'])return _0x2327c6[_0x1a4e('0x289a')]+=0x6,_0x368e5a[_0x1a4e('0x289c')](0x88);if(0x40000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x146f6e[_0x1a4e('0x28a3')])return 0x400000&_0x2327c6[_0x1a4e('0x7b2')]&&(_0x2327c6[_0x1a4e('0x2898')]||0x8000&_0x2327c6[_0x1a4e('0x7b2')]||(_0x2327c6['encounteredError']=!0x0),_0x2327c6[_0x1a4e('0x28a0')][_0x1a4e('0x28a4')]&&_0x2327c6[_0x1a4e('0x28a0')][_0x1a4e('0x28a4')]()),_0x2327c6['approximateLength']+=0x4,_0x368e5a['createThis']();var _0x36aa2e=_0x368e5a[_0x1a4e('0x249a')](_0x146f6e);if(0x4&_0x36aa2e)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!(0x80000&_0x146f6e[_0x1a4e('0x7b2')])),function(_0x146f6e){var _0x55ff7e=_0x146f6e['typeArguments']||_0x368e5a[_0x1a4e('0x1700')];if(_0x146f6e['target']===_0x1a4cce){if(0x2&_0x2327c6[_0x1a4e('0x7b2')]){var _0x1adc17=_0xf79407(_0x55ff7e[0x0],_0x2327c6);return _0x368e5a[_0x1a4e('0x28a5')](_0x1a4e('0x104'),[_0x1adc17]);}var _0x2c9ec9=_0xf79407(_0x55ff7e[0x0],_0x2327c6);return _0x368e5a[_0x1a4e('0x28a6')](_0x2c9ec9);}if(0x8&_0x146f6e[_0x1a4e('0xd95')]['objectFlags']){if(_0x55ff7e[_0x1a4e('0x1e')]>0x0){var _0x420b32=_0x30457b(_0x146f6e),_0x1b06ad=_0x326eae(_0x55ff7e[_0x1a4e('0x78')](0x0,_0x420b32),_0x2327c6),_0x56674b=_0x146f6e[_0x1a4e('0xd95')][_0x1a4e('0x28a7')];if(_0x1b06ad){for(var _0x415952=_0x146f6e[_0x1a4e('0xd95')]['minLength'];_0x4159520x0){var _0x3d8f5d=(_0x146f6e['target']['typeParameters']||_0x368e5a['emptyArray'])[_0x1a4e('0x1e')];_0x1b487e=_0x326eae(_0x55ff7e[_0x1a4e('0x78')](_0x415952,_0x3d8f5d),_0x2327c6);}var _0x15a30a=_0x2327c6['flags'];_0x2327c6['flags']|=0x10;var _0x7151b1=_0x1369b6(_0x146f6e['symbol'],_0x2327c6,0x40c09e8,_0x1b487e);return _0x2327c6[_0x1a4e('0x7b2')]=_0x15a30a,_0x88bf03?_0x2c2aaa(_0x88bf03,_0x7151b1):_0x7151b1;}(_0x146f6e);if(0x40000&_0x146f6e[_0x1a4e('0x7b2')]||0x3&_0x36aa2e){if(0x40000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a[_0x1a4e('0x2ac')](_0x2327c6['inferTypeParameters'],_0x146f6e))return _0x2327c6[_0x1a4e('0x289a')]+=_0x368e5a[_0x1a4e('0x24d2')](_0x146f6e[_0x1a4e('0xb1b')])[_0x1a4e('0x1e')]+0x6,_0x368e5a[_0x1a4e('0x28ab')](_0x57b692(_0x146f6e,_0x2327c6,void 0x0));if(0x4&_0x2327c6[_0x1a4e('0x7b2')]&&0x40000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a[_0x1a4e('0x1e')](_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')])&&_0x368e5a['isTypeParameterDeclaration'](_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0])&&_0x88bf03(_0x146f6e,_0x2327c6)&&!_0x575d28(_0x146f6e[_0x1a4e('0xb1b')],_0x2327c6[_0x1a4e('0x289f')])){var _0x30b3ec=_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0]['name'];return _0x2327c6['approximateLength']+=_0x368e5a[_0x1a4e('0x2353')](_0x30b3ec)['length'],_0x368e5a[_0x1a4e('0x28a5')](_0x368e5a['getGeneratedNameForNode'](_0x30b3ec,0x18),void 0x0);}return _0x146f6e['symbol']?_0x1369b6(_0x146f6e[_0x1a4e('0xb1b')],_0x2327c6,0x40c09e8):_0x368e5a[_0x1a4e('0x28a5')](_0x368e5a[_0x1a4e('0x2893')]('?'),void 0x0);}if(!_0x55ff7e&&_0x146f6e[_0x1a4e('0x28ac')]&&(0x4000&_0x2327c6['flags']||_0x575d28(_0x146f6e['aliasSymbol'],_0x2327c6['enclosingDeclaration']))){var _0x1b487e=_0x326eae(_0x146f6e[_0x1a4e('0x28ad')],_0x2327c6);return!_0x425e2d(_0x146f6e[_0x1a4e('0x28ac')]['escapedName'])||0x20&_0x146f6e[_0x1a4e('0x28ac')][_0x1a4e('0x7b2')]?_0x1369b6(_0x146f6e[_0x1a4e('0x28ac')],_0x2327c6,0x40c09e8,_0x1b487e):_0x368e5a[_0x1a4e('0x28a5')](_0x368e5a[_0x1a4e('0x2893')](''),_0x1b487e);}if(!(0x300000&_0x146f6e[_0x1a4e('0x7b2')])){if(0x30&_0x36aa2e)return _0x368e5a['Debug'][_0x1a4e('0xba0')](!!(0x80000&_0x146f6e[_0x1a4e('0x7b2')])),_0x43e7af(_0x146f6e);if(0x400000&_0x146f6e[_0x1a4e('0x7b2')]){var _0x3d8f5d=_0x146f6e[_0x1a4e('0x40')];_0x2327c6['approximateLength']+=0x6;var _0x15a30a=_0xf79407(_0x3d8f5d,_0x2327c6);return _0x368e5a[_0x1a4e('0x28a2')](_0x15a30a);}if(0x800000&_0x146f6e['flags']){var _0x7151b1=_0xf79407(_0x146f6e[_0x1a4e('0x2601')],_0x2327c6),_0x15a30a=_0xf79407(_0x146f6e[_0x1a4e('0x2669')],_0x2327c6);return _0x2327c6['approximateLength']+=0x2,_0x368e5a[_0x1a4e('0x28ae')](_0x7151b1,_0x15a30a);}if(0x1000000&_0x146f6e['flags']){var _0x188821=_0xf79407(_0x146f6e[_0x1a4e('0x25fd')],_0x2327c6),_0x362306=_0x2327c6['inferTypeParameters'];_0x2327c6['inferTypeParameters']=_0x146f6e[_0x1a4e('0x1372')]['inferTypeParameters'];var _0x5934d9=_0xf79407(_0x146f6e['extendsType'],_0x2327c6);_0x2327c6[_0x1a4e('0x28af')]=_0x362306;var _0x239ab2=_0xf79407(_0x27baa4(_0x146f6e),_0x2327c6),_0x1b8154=_0xf79407(_0x49f40f(_0x146f6e),_0x2327c6);return _0x2327c6[_0x1a4e('0x289a')]+=0xf,_0x368e5a[_0x1a4e('0x28b0')](_0x188821,_0x5934d9,_0x239ab2,_0x1b8154);}return 0x2000000&_0x146f6e[_0x1a4e('0x7b2')]?_0xf79407(_0x146f6e[_0x1a4e('0x28b1')],_0x2327c6):_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x28b2'));}var _0x2918ee=0x100000&_0x146f6e[_0x1a4e('0x7b2')]?function(_0x368e5a){for(var _0x146f6e=[],_0x2327c6=0x0,_0x55ff7e=0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x368e5a[_0x55ff7e];if(_0x2327c6|=_0x1adc17[_0x1a4e('0x7b2')],!(0x18000&_0x1adc17[_0x1a4e('0x7b2')])){if(0x600&_0x1adc17[_0x1a4e('0x7b2')]){var _0xf79407=0x200&_0x1adc17[_0x1a4e('0x7b2')]?_0x4b156c:_0x52716f(_0x1adc17);if(0x100000&_0xf79407[_0x1a4e('0x7b2')]){var _0x2c9ec9=_0xf79407['types'][_0x1a4e('0x1e')];if(_0x55ff7e+_0x2c9ec9<=_0x368e5a[_0x1a4e('0x1e')]&&_0x4da784(_0x368e5a[_0x55ff7e+_0x2c9ec9-0x1])===_0x4da784(_0xf79407[_0x1a4e('0x2380')][_0x2c9ec9-0x1])){_0x146f6e[_0x1a4e('0x46')](_0xf79407),_0x55ff7e+=_0x2c9ec9-0x1;continue;}}}_0x146f6e[_0x1a4e('0x46')](_0x1adc17);}}return 0x10000&_0x2327c6&&_0x146f6e[_0x1a4e('0x46')](_0x406341),0x8000&_0x2327c6&&_0x146f6e[_0x1a4e('0x46')](_0x57a5b4),_0x146f6e||_0x368e5a;}(_0x146f6e['types']):_0x146f6e['types'];if(0x1===_0x368e5a[_0x1a4e('0x1e')](_0x2918ee))return _0xf79407(_0x2918ee[0x0],_0x2327c6);var _0x3c5414=_0x326eae(_0x2918ee,_0x2327c6,!0x0);if(_0x3c5414&&_0x3c5414[_0x1a4e('0x1e')]>0x0){var _0x4f3c04=_0x368e5a[_0x1a4e('0x28b3')](0x100000&_0x146f6e[_0x1a4e('0x7b2')]?0xad:0xae,_0x3c5414);return _0x4f3c04;}_0x2327c6[_0x1a4e('0x2898')]||0x40000&_0x2327c6['flags']||(_0x2327c6[_0x1a4e('0x2898')]=!0x0);}else _0x2327c6['encounteredError']=!0x0;function _0x43e7af(_0x146f6e){var _0x55ff7e,_0x1adc17=''+_0x146f6e['id'],_0xf79407=_0x146f6e['symbol'];if(_0xf79407){var _0x420b32=0x10&_0x368e5a['getObjectFlags'](_0x146f6e)&&_0x146f6e[_0x1a4e('0xb1b')]&&0x20&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')];if(_0x55ff7e=(_0x420b32?'+':'')+_0x56674b(_0xf79407),_0x4cff90(_0xf79407['valueDeclaration'])){var _0x1b06ad=_0x146f6e===_0x318c88(_0xf79407)?0x40c09e8:0x401b3bf;return _0x1369b6(_0xf79407,_0x2327c6,_0x1b06ad);}if(0x20&_0xf79407[_0x1a4e('0x7b2')]&&!_0x5ba90(_0xf79407)&&!(0xd1===_0xf79407[_0x1a4e('0x2340')][_0x1a4e('0x146b')]&&0x800&_0x2327c6['flags'])||0x380&_0xf79407[_0x1a4e('0x7b2')]||function(){var _0x146f6e=!!(0x2000&_0xf79407[_0x1a4e('0x7b2')])&&_0x368e5a[_0x1a4e('0x1c2')](_0xf79407['declarations'],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20);}),_0x55ff7e=!!(0x10&_0xf79407['flags'])&&(_0xf79407[_0x1a4e('0x11c')]||_0x368e5a[_0x1a4e('0x3b')](_0xf79407[_0x1a4e('0x22e5')],function(_0x368e5a){return 0x117===_0x368e5a['parent'][_0x1a4e('0x146b')]||0xf5===_0x368e5a['parent'][_0x1a4e('0x146b')];}));if(_0x146f6e||_0x55ff7e)return(!!(0x1000&_0x2327c6[_0x1a4e('0x7b2')])||_0x2327c6[_0x1a4e('0x28b4')]&&_0x2327c6[_0x1a4e('0x28b4')][_0x1a4e('0x178')](_0x1adc17))&&(!(0x8&_0x2327c6[_0x1a4e('0x7b2')])||_0x561662(_0xf79407,_0x2327c6[_0x1a4e('0x289f')]));}())return _0x1369b6(_0xf79407,_0x2327c6,0x401b3bf);if(_0x2327c6['visitedTypes']&&_0x2327c6[_0x1a4e('0x28b4')]['has'](_0x1adc17)){var _0x326eae=function(_0x146f6e){if(_0x146f6e[_0x1a4e('0xb1b')]&&0x800&_0x146f6e['symbol'][_0x1a4e('0x7b2')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x283d')](_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0][_0x1a4e('0x11c')],function(_0x368e5a){return 0xb1!==_0x368e5a[_0x1a4e('0x146b')];});if(0xf2===_0x2327c6[_0x1a4e('0x146b')])return _0x54a27b(_0x2327c6);}}(_0x146f6e);return _0x326eae?_0x1369b6(_0x326eae,_0x2327c6,0x40c09e8):_0x2c9ec9(_0x2327c6);}_0x2327c6[_0x1a4e('0x28b4')]||(_0x2327c6[_0x1a4e('0x28b4')]=_0x368e5a[_0x1a4e('0x1772')]()),_0x2327c6[_0x1a4e('0x28b5')]||(_0x2327c6[_0x1a4e('0x28b5')]=_0x368e5a[_0x1a4e('0x1772')]());var _0x415952=_0x2327c6[_0x1a4e('0x28b5')][_0x1a4e('0x179')](_0x55ff7e)||0x0;if(_0x415952>0xa)return _0x2c9ec9(_0x2327c6);_0x2327c6[_0x1a4e('0x28b5')][_0x1a4e('0x17a')](_0x55ff7e,_0x415952+0x1),_0x2327c6[_0x1a4e('0x28b4')][_0x1a4e('0x17a')](_0x1adc17,!0x0);var _0x46923a=_0x547b08(_0x146f6e);return _0x2327c6[_0x1a4e('0x28b4')][_0x1a4e('0xf4c')](_0x1adc17),_0x2327c6[_0x1a4e('0x28b5')][_0x1a4e('0x17a')](_0x55ff7e,_0x415952),_0x46923a;}return _0x547b08(_0x146f6e);}function _0x547b08(_0x146f6e){if(_0x2e49b5(_0x146f6e))return function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!(0x80000&_0x146f6e[_0x1a4e('0x7b2')]));var _0x55ff7e,_0x1adc17=_0x146f6e[_0x1a4e('0x2350')][_0x1a4e('0x2666')]?_0x368e5a[_0x1a4e('0x28b6')](_0x146f6e['declaration'][_0x1a4e('0x2666')]['kind']):void 0x0,_0x2c9ec9=_0x146f6e[_0x1a4e('0x2350')]['questionToken']?_0x368e5a['createToken'](_0x146f6e[_0x1a4e('0x2350')][_0x1a4e('0x23ca')][_0x1a4e('0x146b')]):void 0x0;_0x55ff7e=_0x5c7a54(_0x146f6e)?_0x368e5a[_0x1a4e('0x28a2')](_0xf79407(_0x3234ec(_0x146f6e),_0x2327c6)):_0xf79407(_0x5e43c6(_0x146f6e),_0x2327c6);var _0x420b32=_0x57b692(_0x108e5(_0x146f6e),_0x2327c6,_0x55ff7e),_0x1b06ad=_0xf79407(_0x4485f9(_0x146f6e),_0x2327c6),_0x326eae=_0x368e5a[_0x1a4e('0x28b7')](_0x1adc17,_0x420b32,_0x2c9ec9,_0x1b06ad);return _0x2327c6[_0x1a4e('0x289a')]+=0xa,_0x368e5a[_0x1a4e('0x2892')](_0x326eae,0x1);}(_0x146f6e);var _0x55ff7e=_0x4a724b(_0x146f6e);if(!_0x55ff7e[_0x1a4e('0x13')][_0x1a4e('0x1e')]&&!_0x55ff7e['stringIndexInfo']&&!_0x55ff7e[_0x1a4e('0x28b8')]){if(!_0x55ff7e['callSignatures'][_0x1a4e('0x1e')]&&!_0x55ff7e[_0x1a4e('0x2888')][_0x1a4e('0x1e')])return _0x2327c6[_0x1a4e('0x289a')]+=0x2,_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x28b9')](void 0x0),0x1);if(0x1===_0x55ff7e[_0x1a4e('0x2887')][_0x1a4e('0x1e')]&&!_0x55ff7e[_0x1a4e('0x2888')][_0x1a4e('0x1e')]){var _0x420b32=_0x55ff7e['callSignatures'][0x0],_0x326eae=_0x46923a(_0x420b32,0xa5,_0x2327c6);return _0x326eae;}if(0x1===_0x55ff7e[_0x1a4e('0x2888')][_0x1a4e('0x1e')]&&!_0x55ff7e[_0x1a4e('0x2887')]['length']){var _0x420b32=_0x55ff7e[_0x1a4e('0x2888')][0x0],_0x326eae=_0x46923a(_0x420b32,0xa6,_0x2327c6);return _0x326eae;}}var _0x56674b=_0x2327c6[_0x1a4e('0x7b2')];_0x2327c6[_0x1a4e('0x7b2')]|=0x400000;var _0x88bf03=function(_0x146f6e){if(_0x1adc17(_0x2327c6))return[_0x368e5a['createPropertySignature'](void 0x0,_0x1a4e('0x28ba'),void 0x0,void 0x0,void 0x0)];for(var _0x55ff7e=[],_0xf79407=0x0,_0x420b32=_0x146f6e[_0x1a4e('0x2887')];_0xf79407<_0x420b32[_0x1a4e('0x1e')];_0xf79407++){var _0x326eae=_0x420b32[_0xf79407];_0x55ff7e['push'](_0x46923a(_0x326eae,0xa0,_0x2327c6));}for(var _0x56674b=0x0,_0x88bf03=_0x146f6e[_0x1a4e('0x2888')];_0x56674b<_0x88bf03['length'];_0x56674b++){var _0x326eae=_0x88bf03[_0x56674b];_0x55ff7e[_0x1a4e('0x46')](_0x46923a(_0x326eae,0xa1,_0x2327c6));}if(_0x146f6e['stringIndexInfo']){var _0x434714=void 0x0;0x800&_0x146f6e[_0x1a4e('0x2472')]?(_0x434714=_0x415952(_0x2c1884(_0x330555,_0x146f6e[_0x1a4e('0x28bb')][_0x1a4e('0x28bc')],_0x146f6e['stringIndexInfo']['declaration']),0x0,_0x2327c6))[_0x1a4e('0x40')]=_0x2c9ec9(_0x2327c6):_0x434714=_0x415952(_0x146f6e[_0x1a4e('0x28bb')],0x0,_0x2327c6),_0x55ff7e[_0x1a4e('0x46')](_0x434714);}_0x146f6e[_0x1a4e('0x28b8')]&&_0x55ff7e[_0x1a4e('0x46')](_0x415952(_0x146f6e[_0x1a4e('0x28b8')],0x1,_0x2327c6));var _0x57b692=_0x146f6e[_0x1a4e('0x13')];if(!_0x57b692)return _0x55ff7e;for(var _0x1ad11f=0x0,_0x35bd0a=0x0,_0x36aa2e=_0x57b692;_0x35bd0a<_0x36aa2e[_0x1a4e('0x1e')];_0x35bd0a++){var _0x30b3ec=_0x36aa2e[_0x35bd0a];if(_0x1ad11f++,0x800&_0x2327c6['flags']){if(0x400000&_0x30b3ec[_0x1a4e('0x7b2')])continue;0x18&_0x368e5a[_0x1a4e('0x248c')](_0x30b3ec)&&_0x2327c6[_0x1a4e('0x28a0')][_0x1a4e('0x28bd')]&&_0x2327c6['tracker'][_0x1a4e('0x28bd')](_0x368e5a[_0x1a4e('0x24d1')](_0x30b3ec[_0x1a4e('0x22e8')]));}if(_0x1adc17(_0x2327c6)&&_0x1ad11f+0x2<_0x57b692[_0x1a4e('0x1e')]-0x1){_0x55ff7e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x28be')](void 0x0,_0x1a4e('0x28bf')+(_0x57b692[_0x1a4e('0x1e')]-_0x1ad11f)+_0x1a4e('0x28c0'),void 0x0,void 0x0,void 0x0)),_0x1b06ad(_0x57b692[_0x57b692[_0x1a4e('0x1e')]-0x1],_0x2327c6,_0x55ff7e);break;}_0x1b06ad(_0x30b3ec,_0x2327c6,_0x55ff7e);}return _0x55ff7e[_0x1a4e('0x1e')]?_0x55ff7e:void 0x0;}(_0x55ff7e);_0x2327c6['flags']=_0x56674b;var _0x434714=_0x368e5a[_0x1a4e('0x28b9')](_0x88bf03);return _0x2327c6['approximateLength']+=0x2,_0x368e5a[_0x1a4e('0x2892')](_0x434714,0x400&_0x2327c6['flags']?0x0:0x1);}function _0x2c2aaa(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x22fe')](_0x146f6e)){var _0x55ff7e=_0x146f6e['typeArguments'];_0x146f6e[_0x1a4e('0x2600')]&&((_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2600')])?_0x146f6e[_0x1a4e('0x2600')]:_0x146f6e[_0x1a4e('0x2600')][_0x1a4e('0x5d')])[_0x1a4e('0x2365')]=_0x55ff7e),_0x146f6e[_0x1a4e('0x2365')]=_0x2327c6[_0x1a4e('0x2365')];for(var _0x1adc17=_0x59c9de(_0x2327c6),_0xf79407=0x0,_0x2c9ec9=_0x1adc17;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x146f6e[_0x1a4e('0x2600')]=_0x146f6e['qualifier']?_0x368e5a[_0x1a4e('0x28c1')](_0x146f6e[_0x1a4e('0x2600')],_0x420b32):_0x420b32;}return _0x146f6e;}var _0x55ff7e=_0x146f6e[_0x1a4e('0x2365')];(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['typeName'])?_0x146f6e[_0x1a4e('0xe7d')]:_0x146f6e[_0x1a4e('0xe7d')]['right'])[_0x1a4e('0x2365')]=_0x55ff7e,_0x146f6e['typeArguments']=_0x2327c6[_0x1a4e('0x2365')];for(var _0x1adc17=_0x59c9de(_0x2327c6),_0x1b06ad=0x0,_0x326eae=_0x1adc17;_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x420b32=_0x326eae[_0x1b06ad];_0x146f6e[_0x1a4e('0xe7d')]=_0x368e5a[_0x1a4e('0x28c1')](_0x146f6e[_0x1a4e('0xe7d')],_0x420b32);}return _0x146f6e;}function _0x59c9de(_0x146f6e){for(var _0x2327c6=_0x146f6e[_0x1a4e('0xe7d')],_0x55ff7e=[];!_0x368e5a[_0x1a4e('0x2370')](_0x2327c6);)_0x55ff7e[_0x1a4e('0x66')](_0x2327c6['right']),_0x2327c6=_0x2327c6[_0x1a4e('0x5f')];return _0x55ff7e[_0x1a4e('0x66')](_0x2327c6),_0x55ff7e;}}function _0x2c9ec9(_0x146f6e){return _0x146f6e[_0x1a4e('0x289a')]+=0x3,0x1&_0x146f6e['flags']?_0x368e5a[_0x1a4e('0x289c')](0x78):_0x368e5a[_0x1a4e('0x28a5')](_0x368e5a[_0x1a4e('0x2893')]('...'),void 0x0);}function _0x1b06ad(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=!!(0x800&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e)),_0x420b32=_0x1adc17&&0x2000000&_0x2327c6[_0x1a4e('0x7b2')]?_0x330555:_0x38797c(_0x146f6e),_0x1b06ad=_0x2327c6[_0x1a4e('0x289f')];if(_0x2327c6['enclosingDeclaration']=void 0x0,_0x2327c6[_0x1a4e('0x28a0')]['trackSymbol']&&0x400&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e)){var _0x326eae=_0x368e5a[_0x1a4e('0x10f7')](_0x146f6e[_0x1a4e('0x22e5')]);_0x36940b(_0x326eae)&&_0x36aa2e(_0x326eae['name'],_0x1b06ad,_0x2327c6);}var _0x56674b=_0x7151b1(_0x146f6e,_0x2327c6,0x401b3bf,!0x0);_0x2327c6[_0x1a4e('0x289a')]+=_0x368e5a[_0x1a4e('0x24d2')](_0x146f6e)['length']+0x1,_0x2327c6[_0x1a4e('0x289f')]=_0x1b06ad;var _0x415952=0x1000000&_0x146f6e[_0x1a4e('0x7b2')]?_0x368e5a['createToken'](0x38):void 0x0;if(0x2010&_0x146f6e[_0x1a4e('0x7b2')]&&!_0x192d7d(_0x420b32)[_0x1a4e('0x1e')])for(var _0x88bf03=_0x7bcdc7(_0x420b32,0x0),_0x434714=0x0,_0x57b692=_0x88bf03;_0x434714<_0x57b692[_0x1a4e('0x1e')];_0x434714++){var _0x1ad11f=_0x57b692[_0x434714],_0x35bd0a=_0x46923a(_0x1ad11f,0x9b,_0x2327c6);_0x35bd0a['name']=_0x56674b,_0x35bd0a[_0x1a4e('0x23ca')]=_0x415952,_0x146f6e[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x28c2')](_0x35bd0a,_0x146f6e[_0x1a4e('0x2340')]),_0x55ff7e['push'](_0x35bd0a);}else{var _0x30b3ec=_0x2327c6[_0x1a4e('0x7b2')];_0x2327c6[_0x1a4e('0x7b2')]|=_0x1adc17?0x2000000:0x0;var _0x1b487e=void 0x0;_0x1b487e=_0x1adc17&&0x2000000&_0x30b3ec?_0x2c9ec9(_0x2327c6):_0x420b32?_0xf79407(_0x420b32,_0x2327c6):_0x368e5a[_0x1a4e('0x289c')](0x78),_0x2327c6[_0x1a4e('0x7b2')]=_0x30b3ec;var _0x3d8f5d=_0x5c5095(_0x146f6e)?[_0x368e5a[_0x1a4e('0x28b6')](0x85)]:void 0x0;_0x3d8f5d&&(_0x2327c6['approximateLength']+=0x9);var _0x15a30a=_0x368e5a[_0x1a4e('0x28be')](_0x3d8f5d,_0x56674b,_0x415952,_0x1b487e,void 0x0);_0x146f6e[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x28c2')](_0x15a30a,_0x146f6e[_0x1a4e('0x2340')]),_0x55ff7e[_0x1a4e('0x46')](_0x15a30a);}}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e)){if(_0x1adc17(_0x2327c6)){if(!_0x55ff7e)return[_0x368e5a[_0x1a4e('0x28a5')](_0x1a4e('0x28ba'),void 0x0)];if(_0x146f6e['length']>0x2)return[_0xf79407(_0x146f6e[0x0],_0x2327c6),_0x368e5a[_0x1a4e('0x28a5')]('...\x20'+(_0x146f6e['length']-0x2)+_0x1a4e('0x28c0'),void 0x0),_0xf79407(_0x146f6e[_0x146f6e[_0x1a4e('0x1e')]-0x1],_0x2327c6)];}for(var _0x2c9ec9=[],_0x420b32=0x0,_0x1b06ad=0x0,_0x326eae=_0x146f6e;_0x1b06ad<_0x326eae['length'];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];if(_0x420b32++,_0x1adc17(_0x2327c6)&&_0x420b32+0x2<_0x146f6e['length']-0x1){_0x2c9ec9['push'](_0x368e5a[_0x1a4e('0x28a5')]('...\x20'+(_0x146f6e['length']-_0x420b32)+'\x20more\x20...',void 0x0));var _0x415952=_0xf79407(_0x146f6e[_0x146f6e[_0x1a4e('0x1e')]-0x1],_0x2327c6);_0x415952&&_0x2c9ec9['push'](_0x415952);break;}_0x2327c6[_0x1a4e('0x289a')]+=0x2;var _0x46923a=_0xf79407(_0x56674b,_0x2327c6);_0x46923a&&_0x2c9ec9[_0x1a4e('0x46')](_0x46923a);}return _0x2c9ec9;}}function _0x415952(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['getNameFromIndexInfo'](_0x146f6e)||'x',_0x2c9ec9=_0x368e5a[_0x1a4e('0x289c')](0x0===_0x2327c6?0x8a:0x87),_0x420b32=_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x1adc17,void 0x0,_0x2c9ec9,void 0x0),_0x1b06ad=_0xf79407(_0x146f6e['type']||_0x330555,_0x55ff7e);return _0x146f6e['type']||0x200000&_0x55ff7e[_0x1a4e('0x7b2')]||(_0x55ff7e[_0x1a4e('0x2898')]=!0x0),_0x55ff7e[_0x1a4e('0x289a')]+=_0x1adc17[_0x1a4e('0x1e')]+0x4,_0x368e5a[_0x1a4e('0x28c4')](void 0x0,_0x146f6e[_0x1a4e('0x28bc')]?[_0x368e5a[_0x1a4e('0x28b6')](0x85)]:void 0x0,[_0x420b32],_0x1b06ad);}function _0x46923a(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0x2c9ec9;0x20&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x146f6e[_0x1a4e('0xd95')]&&_0x146f6e[_0x1a4e('0x28c5')]&&_0x146f6e[_0x1a4e('0xd95')]['typeParameters']?_0x2c9ec9=_0x146f6e[_0x1a4e('0xd95')][_0x1a4e('0x23d7')][_0x1a4e('0x21')](function(_0x368e5a){return _0xf79407(_0x1e1445(_0x368e5a,_0x146f6e[_0x1a4e('0x28c5')]),_0x55ff7e);}):_0x1adc17=_0x146f6e[_0x1a4e('0x23d7')]&&_0x146f6e['typeParameters'][_0x1a4e('0x21')](function(_0x368e5a){return _0x1ad11f(_0x368e5a,_0x55ff7e);});var _0x420b32,_0x1b06ad=function(_0x146f6e){if(_0x146f6e['hasRestParameter']){var _0x2327c6=_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x1e')]-0x1,_0x55ff7e=_0x146f6e['parameters'][_0x2327c6],_0x1adc17=_0x38797c(_0x55ff7e);if(_0x102fd6(_0x1adc17)){var _0xf79407=_0x1adc17[_0x1a4e('0x2365')]||_0x368e5a[_0x1a4e('0x1700')],_0x2c9ec9=_0x1adc17[_0x1a4e('0xd95')][_0x1a4e('0x28c6')],_0x420b32=_0x1adc17[_0x1a4e('0xd95')][_0x1a4e('0x28a7')]?_0xf79407[_0x1a4e('0x1e')]-0x1:-0x1,_0x1b06ad=_0x368e5a['map'](_0xf79407,function(_0x368e5a,_0x55ff7e){var _0x1adc17=_0x478ae0(_0x146f6e,_0x2327c6+_0x55ff7e),_0xf79407=_0x55ff7e===_0x420b32?0x2000:_0x55ff7e>=_0x2c9ec9?0x1000:0x0,_0x1b06ad=_0x4ecc5b(0x1,_0x1adc17,_0xf79407);return _0x1b06ad[_0x1a4e('0x40')]=_0x55ff7e===_0x420b32?_0xfd8b5f(_0x368e5a):_0x368e5a,_0x1b06ad;});return _0x368e5a[_0x1a4e('0x1717')](_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x78')](0x0,_0x2327c6),_0x1b06ad);}}return _0x146f6e[_0x1a4e('0x111a')];}(_0x146f6e)[_0x1a4e('0x21')](function(_0x368e5a){return _0x35bd0a(_0x368e5a,_0x55ff7e,0x9d===_0x2327c6);});if(_0x146f6e[_0x1a4e('0x28c7')]){var _0x326eae=_0x35bd0a(_0x146f6e['thisParameter'],_0x55ff7e);_0x1b06ad[_0x1a4e('0x66')](_0x326eae);}var _0x56674b=_0x13a441(_0x146f6e);if(_0x56674b){var _0x415952=0x1===_0x56674b[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2893')](_0x56674b['parameterName']),0x1000000):_0x368e5a['createThisTypeNode'](),_0x46923a=_0xf79407(_0x56674b['type'],_0x55ff7e);_0x420b32=_0x368e5a['createTypePredicateNode'](_0x415952,_0x46923a);}else{var _0x88bf03=_0x4b6767(_0x146f6e);_0x420b32=_0x88bf03&&_0xf79407(_0x88bf03,_0x55ff7e);}return 0x100&_0x55ff7e[_0x1a4e('0x7b2')]?_0x420b32&&0x78===_0x420b32[_0x1a4e('0x146b')]&&(_0x420b32=void 0x0):_0x420b32||(_0x420b32=_0x368e5a[_0x1a4e('0x289c')](0x78)),_0x55ff7e['approximateLength']+=0x3,_0x368e5a['createSignatureDeclaration'](_0x2327c6,_0x1adc17,_0x1b06ad,_0x420b32,_0x2c9ec9);}function _0x88bf03(_0x368e5a,_0x146f6e){return!!_0x1e09ab(_0x146f6e[_0x1a4e('0x289f')],_0x368e5a['symbol']['escapedName'],0x40c09e8,void 0x0,_0x368e5a[_0x1a4e('0xb1b')][_0x1a4e('0x22e8')],!0x1);}function _0x57b692(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6['flags'];_0x2327c6[_0x1a4e('0x7b2')]&=-0x201;var _0x2c9ec9=0x4&_0x2327c6[_0x1a4e('0x7b2')]&&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0]&&_0x368e5a['isTypeParameterDeclaration'](_0x146f6e['symbol']['declarations'][0x0])&&_0x88bf03(_0x146f6e,_0x2327c6),_0x420b32=_0x2c9ec9?_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e['symbol'][_0x1a4e('0x22e5')][0x0][_0x1a4e('0x2cb')],0x18):_0x7151b1(_0x146f6e[_0x1a4e('0xb1b')],_0x2327c6,0x40c09e8,!0x0),_0x1b06ad=_0x41f224(_0x146f6e),_0x326eae=_0x1b06ad&&_0xf79407(_0x1b06ad,_0x2327c6);return _0x2327c6['flags']=_0x1adc17,_0x368e5a['createTypeParameterDeclaration'](_0x420b32,_0x55ff7e,_0x326eae);}function _0x1ad11f(_0x368e5a,_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=_0x2a8efa(_0x368e5a));var _0x55ff7e=_0x2327c6&&_0xf79407(_0x2327c6,_0x146f6e);return _0x57b692(_0x368e5a,_0x146f6e,_0x55ff7e);}function _0x35bd0a(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x28c9')](_0x146f6e,0x97);_0x1adc17||_0x19a22b(_0x146f6e)||(_0x1adc17=_0x368e5a[_0x1a4e('0x28c9')](_0x146f6e,0x12b));var _0x2c9ec9=_0x38797c(_0x146f6e);_0x1adc17&&_0x49dc3b(_0x1adc17)&&(_0x2c9ec9=_0x6d96b4(_0x2c9ec9));var _0x420b32=_0xf79407(_0x2c9ec9,_0x2327c6),_0x1b06ad=!(0x2000&_0x2327c6[_0x1a4e('0x7b2')])&&_0x55ff7e&&_0x1adc17&&_0x1adc17['modifiers']?_0x1adc17[_0x1a4e('0x242d')][_0x1a4e('0x21')](_0x368e5a[_0x1a4e('0x28ca')]):void 0x0,_0x326eae=_0x1adc17&&_0x368e5a[_0x1a4e('0x28cb')](_0x1adc17)||0x2000&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e),_0x56674b=_0x326eae?_0x368e5a['createToken'](0x19):void 0x0,_0x415952=_0x1adc17&&_0x1adc17['name']?0x48===_0x1adc17[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x28ca')](_0x1adc17[_0x1a4e('0x2cb')]),0x1000000):0x94===_0x1adc17[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x28ca')](_0x1adc17['name'][_0x1a4e('0x5d')]),0x1000000):function _0x146f6e(_0x55ff7e){_0x2327c6[_0x1a4e('0x28a0')][_0x1a4e('0x28cc')]&&_0x368e5a[_0x1a4e('0x23e8')](_0x55ff7e)&&_0xff0a1c(_0x55ff7e)&&_0x36aa2e(_0x55ff7e,_0x2327c6[_0x1a4e('0x289f')],_0x2327c6);var _0x1adc17=_0x368e5a[_0x1a4e('0x28cd')](_0x55ff7e,_0x146f6e,_0x368e5a[_0x1a4e('0x28ce')],void 0x0,_0x146f6e),_0xf79407=_0x368e5a['nodeIsSynthesized'](_0x1adc17)?_0x1adc17:_0x368e5a[_0x1a4e('0x28ca')](_0x1adc17);return 0xba===_0xf79407[_0x1a4e('0x146b')]&&(_0xf79407[_0x1a4e('0x236a')]=void 0x0),_0x368e5a[_0x1a4e('0x2892')](_0xf79407,0x1000001);}(_0x1adc17['name']):_0x368e5a[_0x1a4e('0x24d2')](_0x146f6e),_0x46923a=_0x1adc17&&_0x438bd2(_0x1adc17)||0x1000&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e),_0x88bf03=_0x46923a?_0x368e5a[_0x1a4e('0x28b6')](0x38):void 0x0,_0x434714=_0x368e5a[_0x1a4e('0x28c3')](void 0x0,_0x1b06ad,_0x56674b,_0x415952,_0x88bf03,_0x420b32,void 0x0);return _0x2327c6['approximateLength']+=_0x368e5a['symbolName'](_0x146f6e)['length']+0x3,_0x434714;}function _0x36aa2e(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x2327c6[_0x1a4e('0x28a0')][_0x1a4e('0x28cc')]){var _0x55ff7e=_0x5d499f(_0x368e5a[_0x1a4e('0x2302')]),_0x1adc17=_0x1e09ab(_0x55ff7e,_0x55ff7e[_0x1a4e('0x22f3')],0x411b3bf,void 0x0,void 0x0,!0x0);_0x1adc17&&_0x2327c6[_0x1a4e('0x28a0')]['trackSymbol'](_0x1adc17,_0x146f6e,0x401b3bf);}}function _0x30b3ec(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407;_0x2327c6[_0x1a4e('0x28a0')][_0x1a4e('0x28cc')](_0x146f6e,_0x2327c6[_0x1a4e('0x289f')],_0x55ff7e);var _0x2c9ec9=0x40000&_0x146f6e[_0x1a4e('0x7b2')];return _0x2c9ec9||!(_0x2327c6[_0x1a4e('0x289f')]||0x40&_0x2327c6[_0x1a4e('0x7b2')])||0x8000000&_0x2327c6[_0x1a4e('0x7b2')]?_0xf79407=[_0x146f6e]:(_0xf79407=_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](function _0x146f6e(_0x55ff7e,_0xf79407,_0x2c9ec9){var _0x420b32,_0x1b06ad=_0x3e6e80(_0x55ff7e,_0x2327c6[_0x1a4e('0x289f')],_0xf79407,!!(0x80&_0x2327c6[_0x1a4e('0x7b2')]));if(!_0x1b06ad||_0x1dca76(_0x1b06ad[0x0],_0x2327c6[_0x1a4e('0x289f')],0x1===_0x1b06ad['length']?_0xf79407:_0x42310a(_0xf79407))){var _0x326eae=_0x1b805c(_0x1b06ad?_0x1b06ad[0x0]:_0x55ff7e,_0x2327c6['enclosingDeclaration']);if(_0x368e5a[_0x1a4e('0x1e')](_0x326eae)){_0x420b32=_0x326eae[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x22e5')],_0x530a7c)?_0x15a30a(_0x146f6e,_0x2327c6):void 0x0;});var _0x56674b=_0x326eae['map'](function(_0x368e5a,_0x146f6e){return _0x146f6e;});_0x56674b['sort'](function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x420b32[_0x146f6e],_0x1adc17=_0x420b32[_0x2327c6];if(_0x55ff7e&&_0x1adc17){var _0xf79407=_0x368e5a['pathIsRelative'](_0x1adc17);return _0x368e5a[_0x1a4e('0x22de')](_0x55ff7e)===_0xf79407?_0x368e5a['moduleSpecifiers'][_0x1a4e('0x28cf')](_0x55ff7e)-_0x368e5a[_0x1a4e('0x28d0')][_0x1a4e('0x28cf')](_0x1adc17):_0xf79407?-0x1:0x1;}return 0x0;});for(var _0x415952=_0x56674b[_0x1a4e('0x21')](function(_0x368e5a){return _0x326eae[_0x368e5a];}),_0x46923a=0x0,_0x88bf03=_0x415952;_0x46923a<_0x88bf03[_0x1a4e('0x1e')];_0x46923a++){var _0x434714=_0x88bf03[_0x46923a],_0x57b692=_0x146f6e(_0x434714,_0x42310a(_0xf79407),!0x1);if(_0x57b692){_0x1b06ad=_0x57b692[_0x1a4e('0x9a')](_0x1b06ad||[_0x42f5b9(_0x434714,_0x55ff7e)||_0x55ff7e]);break;}}}}if(_0x1b06ad)return _0x1b06ad;if(_0x2c9ec9||!(0x1800&_0x55ff7e[_0x1a4e('0x7b2')])){if(!_0x2c9ec9&&!_0x1adc17&&_0x368e5a[_0x1a4e('0x3b')](_0x55ff7e[_0x1a4e('0x22e5')],_0x530a7c))return;return[_0x55ff7e];}}(_0x146f6e,_0x55ff7e,!0x0)),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0xf79407&&_0xf79407[_0x1a4e('0x1e')]>0x0)),_0xf79407;}function _0x1b487e(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x2f28cd(_0x146f6e);return 0x80060&_0x1adc17[_0x1a4e('0x7b2')]&&(_0x55ff7e=_0x368e5a[_0x1a4e('0x28d1')](_0x368e5a[_0x1a4e('0x21')](_0x381026(_0x146f6e),function(_0x368e5a){return _0x1ad11f(_0x368e5a,_0x2327c6);}))),_0x55ff7e;}function _0x3d8f5d(_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x146f6e&&0x0<=_0x2327c6&&_0x2327c6<_0x146f6e[_0x1a4e('0x1e')]);var _0x1adc17,_0xf79407=_0x146f6e[_0x2327c6];if(0x200&_0x55ff7e['flags']&&_0x2327c6<_0x146f6e[_0x1a4e('0x1e')]-0x1){var _0x2c9ec9=_0xf79407,_0x420b32=_0x146f6e[_0x2327c6+0x1];if(0x1&_0x368e5a[_0x1a4e('0x248b')](_0x420b32)){var _0x1b06ad=function(_0x146f6e){return _0x368e5a['concatenate'](_0x53f916(_0x146f6e),_0x381026(_0x146f6e));}(0x200000&_0x2c9ec9['flags']?_0x4f0953(_0x2c9ec9):_0x2c9ec9);_0x1adc17=_0x326eae(_0x368e5a[_0x1a4e('0x21')](_0x1b06ad,_0x420b32[_0x1a4e('0x28c5')]),_0x55ff7e);}else _0x1adc17=_0x1b487e(_0xf79407,_0x55ff7e);}return _0x1adc17;}function _0x15a30a(_0x146f6e,_0x1adc17){var _0xf79407=_0x368e5a['getDeclarationOfKind'](_0x146f6e,0x117);if(_0xf79407&&void 0x0!==_0xf79407[_0x1a4e('0x2419')])return _0xf79407['moduleName'];if(!_0xf79407){if(_0x1adc17[_0x1a4e('0x28a0')][_0x1a4e('0x28d2')]){var _0x2c9ec9=_0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x233c')]);if(_0x368e5a[_0x1a4e('0x1e')](_0x2c9ec9))for(var _0x1b06ad=0x0,_0x326eae=_0x2c9ec9;_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];_0x1adc17[_0x1a4e('0x28a0')]['trackReferencedAmbientModule'](_0x56674b,_0x146f6e);}}if(_0x2327c6['test'](_0x146f6e[_0x1a4e('0x22e8')]))return _0x146f6e[_0x1a4e('0x22e8')]['substring'](0x1,_0x146f6e[_0x1a4e('0x22e8')][_0x1a4e('0x1e')]-0x1);}if(!_0x1adc17['enclosingDeclaration']||!_0x1adc17[_0x1a4e('0x28a0')][_0x1a4e('0x28d3')])return _0x2327c6[_0x1a4e('0x8d0')](_0x146f6e[_0x1a4e('0x22e8')])?_0x146f6e[_0x1a4e('0x22e8')][_0x1a4e('0x281')](0x1,_0x146f6e['escapedName'][_0x1a4e('0x1e')]-0x1):_0x368e5a[_0x1a4e('0x1674')](_0x368e5a['getNonAugmentationDeclaration'](_0x146f6e))[_0x1a4e('0x1b39')];var _0x415952=_0x368e5a['getSourceFileOfNode'](_0x368e5a[_0x1a4e('0x24d0')](_0x1adc17[_0x1a4e('0x289f')])),_0x46923a=_0xdba731(_0x146f6e),_0x88bf03=_0x46923a[_0x1a4e('0x28d4')]&&_0x46923a[_0x1a4e('0x28d4')]['get'](_0x415952[_0x1a4e('0x64')]);if(!_0x88bf03){var _0x434714=_0x239ab2[_0x1a4e('0x303')]||_0x239ab2[_0x1a4e('0x2445')],_0x57b692=_0x1adc17[_0x1a4e('0x28a0')]['moduleResolverHost'],_0x1ad11f=_0x434714?_0x420b32({},_0x239ab2,{'baseUrl':_0x57b692[_0x1a4e('0x241b')]()}):_0x239ab2;_0x88bf03=_0x368e5a['first'](_0x368e5a[_0x1a4e('0x28d0')][_0x1a4e('0x28d5')](_0x146f6e,_0x1ad11f,_0x415952,_0x57b692,_0x55ff7e[_0x1a4e('0x2447')](),{'importModuleSpecifierPreference':_0x434714?'non-relative':'relative'},_0x55ff7e[_0x1a4e('0x28d6')])),_0x46923a['specifierCache']=_0x46923a[_0x1a4e('0x28d4')]||_0x368e5a['createMap'](),_0x46923a[_0x1a4e('0x28d4')]['set'](_0x415952['path'],_0x88bf03);}return _0x88bf03;}function _0x1369b6(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x30b3ec(_0x146f6e,_0x2327c6,_0x55ff7e,!(0x4000&_0x2327c6[_0x1a4e('0x7b2')])),_0x2c9ec9=0x401b3bf===_0x55ff7e;if(_0x368e5a[_0x1a4e('0x1c2')](_0xf79407[0x0][_0x1a4e('0x22e5')],_0x530a7c)){var _0x420b32=_0xf79407[_0x1a4e('0x1e')]>0x1?_0x1ad11f(_0xf79407,_0xf79407[_0x1a4e('0x1e')]-0x1,0x1):void 0x0,_0x1b06ad=_0x1adc17||_0x3d8f5d(_0xf79407,0x0,_0x2327c6),_0x326eae=_0x15a30a(_0xf79407[0x0],_0x2327c6);!(0x4000000&_0x2327c6[_0x1a4e('0x7b2')])&&_0x368e5a['getEmitModuleResolutionKind'](_0x239ab2)===_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')]&&_0x326eae[_0x1a4e('0x3e')](_0x1a4e('0x2824'))>=0x0&&(_0x2327c6[_0x1a4e('0x2898')]=!0x0,_0x2327c6[_0x1a4e('0x28a0')][_0x1a4e('0x28d7')]&&_0x2327c6[_0x1a4e('0x28a0')][_0x1a4e('0x28d7')](_0x326eae));var _0x56674b=_0x368e5a[_0x1a4e('0x289d')](_0x368e5a[_0x1a4e('0x2896')](_0x326eae));if(_0x2327c6[_0x1a4e('0x28a0')]['trackExternalModuleSymbolOfImportTypeNode']&&_0x2327c6['tracker']['trackExternalModuleSymbolOfImportTypeNode'](_0xf79407[0x0]),_0x2327c6[_0x1a4e('0x289a')]+=_0x326eae['length']+0xa,!_0x420b32||_0x368e5a[_0x1a4e('0x254a')](_0x420b32)){if(_0x420b32){var _0x415952=_0x368e5a[_0x1a4e('0x2370')](_0x420b32)?_0x420b32:_0x420b32[_0x1a4e('0x5d')];_0x415952[_0x1a4e('0x2365')]=void 0x0;}return _0x368e5a[_0x1a4e('0x28d8')](_0x56674b,_0x420b32,_0x1b06ad,_0x2c9ec9);}var _0x46923a=function _0x146f6e(_0x2327c6){return _0x368e5a[_0x1a4e('0x24f9')](_0x2327c6[_0x1a4e('0x2601')])?_0x146f6e(_0x2327c6[_0x1a4e('0x2601')]):_0x2327c6;}(_0x420b32),_0x88bf03=_0x46923a[_0x1a4e('0x2601')][_0x1a4e('0xe7d')];return _0x368e5a[_0x1a4e('0x28ae')](_0x368e5a['createImportTypeNode'](_0x56674b,_0x88bf03,_0x1b06ad,_0x2c9ec9),_0x46923a['indexType']);}var _0x434714=_0x1ad11f(_0xf79407,_0xf79407['length']-0x1,0x0);if(_0x368e5a[_0x1a4e('0x24f9')](_0x434714))return _0x434714;if(_0x2c9ec9)return _0x368e5a['createTypeQueryNode'](_0x434714);var _0x415952=_0x368e5a[_0x1a4e('0x2370')](_0x434714)?_0x434714:_0x434714['right'],_0x57b692=_0x415952[_0x1a4e('0x2365')];return _0x415952['typeArguments']=void 0x0,_0x368e5a[_0x1a4e('0x28a5')](_0x434714,_0x57b692);function _0x1ad11f(_0x146f6e,_0x55ff7e,_0xf79407){var _0x2c9ec9=_0x55ff7e===_0x146f6e[_0x1a4e('0x1e')]-0x1?_0x1adc17:_0x3d8f5d(_0x146f6e,_0x55ff7e,_0x2327c6),_0x420b32=_0x146f6e[_0x55ff7e];0x0===_0x55ff7e&&(_0x2327c6[_0x1a4e('0x7b2')]|=0x1000000);var _0x1b06ad=_0xd6fe32(_0x420b32,_0x2327c6);_0x2327c6[_0x1a4e('0x289a')]+=_0x1b06ad['length']+0x1,0x0===_0x55ff7e&&(_0x2327c6[_0x1a4e('0x7b2')]^=0x1000000);var _0x326eae=_0x146f6e[_0x55ff7e-0x1];if(!(0x10&_0x2327c6[_0x1a4e('0x7b2')])&&_0x326eae&&_0x174275(_0x326eae)&&_0x174275(_0x326eae)[_0x1a4e('0x179')](_0x420b32[_0x1a4e('0x22e8')])===_0x420b32){var _0x56674b=_0x1ad11f(_0x146f6e,_0x55ff7e-0x1,_0xf79407);return _0x368e5a[_0x1a4e('0x24f9')](_0x56674b)?_0x368e5a[_0x1a4e('0x28ae')](_0x56674b,_0x368e5a[_0x1a4e('0x289d')](_0x368e5a[_0x1a4e('0x2896')](_0x1b06ad))):_0x368e5a[_0x1a4e('0x28ae')](_0x368e5a['createTypeReferenceNode'](_0x56674b,_0x2c9ec9),_0x368e5a[_0x1a4e('0x289d')](_0x368e5a['createLiteral'](_0x1b06ad)));}var _0x415952=_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2893')](_0x1b06ad,_0x2c9ec9),0x1000000);if(_0x415952[_0x1a4e('0xb1b')]=_0x420b32,_0x55ff7e>_0xf79407){var _0x56674b=_0x1ad11f(_0x146f6e,_0x55ff7e-0x1,_0xf79407);return _0x368e5a[_0x1a4e('0x254a')](_0x56674b)?_0x368e5a[_0x1a4e('0x28c1')](_0x56674b,_0x415952):_0x368e5a[_0x1a4e('0x1749')]['fail']('Impossible\x20construct\x20-\x20an\x20export\x20of\x20an\x20indexed\x20access\x20cannot\x20be\x20reachable');}return _0x415952;}}function _0x7151b1(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x30b3ec(_0x146f6e,_0x2327c6,_0x55ff7e);return!_0x1adc17||0x1===_0xf79407[_0x1a4e('0x1e')]||_0x2327c6[_0x1a4e('0x2898')]||0x10000&_0x2327c6[_0x1a4e('0x7b2')]||(_0x2327c6[_0x1a4e('0x2898')]=!0x0),function _0x146f6e(_0x55ff7e,_0x1adc17){var _0xf79407=_0x3d8f5d(_0x55ff7e,_0x1adc17,_0x2327c6),_0x2c9ec9=_0x55ff7e[_0x1adc17];0x0===_0x1adc17&&(_0x2327c6[_0x1a4e('0x7b2')]|=0x1000000);var _0x420b32=_0xd6fe32(_0x2c9ec9,_0x2327c6);0x0===_0x1adc17&&(_0x2327c6[_0x1a4e('0x7b2')]^=0x1000000);var _0x1b06ad=_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2893')](_0x420b32,_0xf79407),0x1000000);return _0x1b06ad[_0x1a4e('0xb1b')]=_0x2c9ec9,_0x1adc17>0x0?_0x368e5a[_0x1a4e('0x28c1')](_0x146f6e(_0x55ff7e,_0x1adc17-0x1),_0x1b06ad):_0x1b06ad;}(_0xf79407,_0xf79407[_0x1a4e('0x1e')]-0x1);}}(),_0x515765=_0x4ecc5b(0x4,'undefined');_0x515765[_0x1a4e('0x22e5')]=[];var _0x11451b,_0x3a2418=_0x4ecc5b(0x4,_0x1a4e('0x2373')),_0x520a39=_0x4ecc5b(0x4,_0x1a4e('0xfd8')),_0x468ea2={'getNodeCount':function(){return _0x368e5a[_0x1a4e('0x168')](_0x55ff7e['getSourceFiles'](),_0x1a4e('0x263b'));},'getIdentifierCount':function(){return _0x368e5a[_0x1a4e('0x168')](_0x55ff7e[_0x1a4e('0x2447')](),_0x1a4e('0x263c'));},'getSymbolCount':function(){return _0x368e5a['sum'](_0x55ff7e['getSourceFiles'](),_0x1a4e('0x28d9'))+_0x15a30a;},'getTypeCount':function(){return _0x3d8f5d;},'isUndefinedSymbol':function(_0x368e5a){return _0x368e5a===_0x515765;},'isArgumentsSymbol':function(_0x368e5a){return _0x368e5a===_0x3a2418;},'isUnknownSymbol':function(_0x368e5a){return _0x368e5a===_0x450499;},'getMergedSymbol':_0x41e7a5,'getDiagnostics':_0x1b4378,'getGlobalDiagnostics':function(){return _0x504493(),_0x125480['getGlobalDiagnostics']();},'getTypeOfSymbolAtLocation':function(_0x146f6e,_0x2327c6){return(_0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x2327c6))?function(_0x146f6e,_0x2327c6){if(_0x146f6e=_0x146f6e[_0x1a4e('0x248f')]||_0x146f6e,0x48===_0x2327c6['kind']&&(_0x368e5a[_0x1a4e('0x2466')](_0x2327c6)&&(_0x2327c6=_0x2327c6[_0x1a4e('0x11c')]),_0x368e5a[_0x1a4e('0x28da')](_0x2327c6)&&!_0x368e5a['isAssignmentTarget'](_0x2327c6))){var _0x55ff7e=_0x1dceed(_0x2327c6);if(_0x244de7(_0x165ecf(_0x2327c6)['resolvedSymbol'])===_0x146f6e)return _0x55ff7e;}return _0x38797c(_0x146f6e);}(_0x146f6e,_0x2327c6):_0x336c2;},'getSymbolsOfParameterPropertyDeclaration':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a['isParameter']);return void 0x0===_0x55ff7e?_0x368e5a['Debug'][_0x1a4e('0x1709')](_0x1a4e('0x28db')):function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x11c')],_0x1adc17=_0x146f6e[_0x1a4e('0x11c')]['parent'],_0xf79407=_0x5d1705(_0x55ff7e[_0x1a4e('0x283c')],_0x2327c6,0x401b3bf),_0x2c9ec9=_0x5d1705(_0x174275(_0x1adc17[_0x1a4e('0xb1b')]),_0x2327c6,0x401b3bf);return _0xf79407&&_0x2c9ec9?[_0xf79407,_0x2c9ec9]:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x28dc'));}(_0x55ff7e,_0x368e5a[_0x1a4e('0x22f4')](_0x2327c6));},'getDeclaredTypeOfSymbol':_0x287d7b,'getPropertiesOfType':_0x41c062,'getPropertyOfType':function(_0x146f6e,_0x2327c6){return _0x3c127b(_0x146f6e,_0x368e5a[_0x1a4e('0x22f4')](_0x2327c6));},'getTypeOfPropertyOfType':function(_0x146f6e,_0x2327c6){return _0x2032e1(_0x146f6e,_0x368e5a[_0x1a4e('0x22f4')](_0x2327c6));},'getIndexInfoOfType':_0x5c197b,'getSignaturesOfType':_0x7bcdc7,'getIndexTypeOfType':_0x3e5aca,'getBaseTypes':_0xd458b8,'getBaseTypeOfLiteralType':_0x3a5471,'getWidenedType':_0x3a6dfd,'getTypeFromTypeNode':function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2553')]);return _0x2327c6?_0x3fafb1(_0x2327c6):_0x336c2;},'getParameterType':_0x4eb09c,'getPromisedTypeOfPromise':_0x32570e,'getReturnTypeOfSignature':_0x4b6767,'getNullableType':_0x22b61d,'getNonNullableType':_0x2f423c,'typeToTypeNode':_0x12cd5e[_0x1a4e('0x28dd')],'indexInfoToIndexSignatureDeclaration':_0x12cd5e[_0x1a4e('0x28de')],'signatureToSignatureDeclaration':_0x12cd5e[_0x1a4e('0x28df')],'symbolToEntityName':_0x12cd5e['symbolToEntityName'],'symbolToExpression':_0x12cd5e[_0x1a4e('0x28e0')],'symbolToTypeParameterDeclarations':_0x12cd5e[_0x1a4e('0x28e1')],'symbolToParameterDeclaration':_0x12cd5e[_0x1a4e('0x28e2')],'typeParameterToDeclaration':_0x12cd5e[_0x1a4e('0x28e3')],'getSymbolsInScope':function(_0x146f6e,_0x2327c6){return(_0x146f6e=_0x368e5a['getParseTreeNode'](_0x146f6e))?function(_0x146f6e,_0x2327c6){if(0x800000&_0x146f6e['flags'])return[];var _0x55ff7e=_0x368e5a[_0x1a4e('0x22e7')](),_0x1adc17=!0x1;return function(){for(;_0x146f6e;){switch(_0x146f6e['locals']&&!_0x25b659(_0x146f6e)&&_0x2c9ec9(_0x146f6e[_0x1a4e('0x283c')],_0x2327c6),_0x146f6e[_0x1a4e('0x146b')]){case 0x117:if(!_0x368e5a['isExternalOrCommonJsModule'](_0x146f6e))break;case 0xf4:_0x2c9ec9(_0x54a27b(_0x146f6e)[_0x1a4e('0x0')],0x2807f3&_0x2327c6);break;case 0xf3:_0x2c9ec9(_0x54a27b(_0x146f6e)[_0x1a4e('0x0')],0x8&_0x2327c6);break;case 0xd1:var _0x55ff7e=_0x146f6e[_0x1a4e('0x2cb')];_0x55ff7e&&_0xf79407(_0x146f6e[_0x1a4e('0xb1b')],_0x2327c6);case 0xf0:case 0xf1:_0x1adc17||_0x2c9ec9(_0x174275(_0x54a27b(_0x146f6e)),0x40c09e8&_0x2327c6);break;case 0xc4:var _0x420b32=_0x146f6e['name'];_0x420b32&&_0xf79407(_0x146f6e[_0x1a4e('0xb1b')],_0x2327c6);}_0x368e5a[_0x1a4e('0x28e4')](_0x146f6e)&&_0xf79407(_0x3a2418,_0x2327c6),_0x1adc17=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20),_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];}_0x2c9ec9(_0xa60cd8,_0x2327c6);}(),_0x55ff7e[_0x1a4e('0xf4c')](_0x1a4e('0x19b5')),_0x23ca4e(_0x55ff7e);function _0xf79407(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x248e')](_0x146f6e)&_0x2327c6){var _0x1adc17=_0x146f6e[_0x1a4e('0x22e8')];_0x55ff7e[_0x1a4e('0x178')](_0x1adc17)||_0x55ff7e['set'](_0x1adc17,_0x146f6e);}}function _0x2c9ec9(_0x368e5a,_0x146f6e){_0x146f6e&&_0x368e5a['forEach'](function(_0x368e5a){_0xf79407(_0x368e5a,_0x146f6e);});}}(_0x146f6e,_0x2327c6):[];},'getSymbolAtLocation':function(_0x146f6e){return(_0x146f6e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e))?_0x5e798c(_0x146f6e):void 0x0;},'getShorthandAssignmentValueSymbol':function(_0x146f6e){return(_0x146f6e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e))?function(_0x368e5a){if(_0x368e5a&&0x114===_0x368e5a['kind'])return _0x151d70(_0x368e5a[_0x1a4e('0x2cb')],0x421b3bf);}(_0x146f6e):void 0x0;},'getExportSpecifierLocalTargetSymbol':function(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a['isExportSpecifier']);return _0x2327c6?function(_0x368e5a){return _0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['moduleSpecifier']?_0x8ea572(_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x368e5a):_0x151d70(_0x368e5a[_0x1a4e('0x81a')]||_0x368e5a['name'],0x42dbfff);}(_0x2327c6):void 0x0;},'getExportSymbolOfSymbol':function(_0x368e5a){return _0x41e7a5(_0x368e5a[_0x1a4e('0x248f')]||_0x368e5a);},'getTypeAtLocation':function(_0x146f6e){return(_0x146f6e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e))?_0x573598(_0x146f6e):_0x336c2;},'getPropertySymbolOfDestructuringAssignment':function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2370')]);return _0x2327c6?function(_0x146f6e){var _0x2327c6=function _0x146f6e(_0x2327c6){if(_0x368e5a[_0x1a4e('0x1749')]['assert'](0xbc===_0x2327c6[_0x1a4e('0x146b')]||0xbb===_0x2327c6[_0x1a4e('0x146b')]),0xe3===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x55ff7e=_0x1f8afd(_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2302')],_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2678')]);return _0x1f8fdc(_0x2327c6,_0x55ff7e||_0x336c2);}if(0xcc===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x55ff7e=_0x1dceed(_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x5d')]);return _0x1f8fdc(_0x2327c6,_0x55ff7e||_0x336c2);}if(0x113===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x1adc17=_0x146f6e(_0x2327c6[_0x1a4e('0x11c')]['parent']);return _0x427b21(_0x1adc17||_0x336c2,_0x2327c6[_0x1a4e('0x11c')]);}_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xbb===_0x2327c6['parent'][_0x1a4e('0x146b')]);var _0xf79407=_0x146f6e(_0x2327c6[_0x1a4e('0x11c')]),_0x2c9ec9=_0x625739(_0xf79407||_0x336c2,_0x2327c6['parent'],!0x1,!0x1)||_0x336c2;return _0x3651e9(_0x2327c6['parent'],_0xf79407,_0x2327c6[_0x1a4e('0x11c')]['elements'][_0x1a4e('0x3e')](_0x2327c6),_0x2c9ec9||_0x336c2);}(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]);return _0x2327c6&&_0x3c127b(_0x2327c6,_0x146f6e[_0x1a4e('0x22f3')]);}(_0x2327c6):void 0x0;},'signatureToString':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x2a8922(_0x146f6e,_0x368e5a[_0x1a4e('0x240a')](_0x2327c6),_0x55ff7e,_0x1adc17);},'typeToString':function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x5ad709(_0x146f6e,_0x368e5a[_0x1a4e('0x240a')](_0x2327c6),_0x55ff7e);},'symbolToString':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x22aa27(_0x146f6e,_0x368e5a[_0x1a4e('0x240a')](_0x2327c6),_0x55ff7e,_0x1adc17);},'typePredicateToString':function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0xc1909(_0x146f6e,_0x368e5a['getParseTreeNode'](_0x2327c6),_0x55ff7e);},'writeSignature':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x2a8922(_0x146f6e,_0x368e5a[_0x1a4e('0x240a')](_0x2327c6),_0x55ff7e,_0x1adc17,_0xf79407);},'writeType':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x5ad709(_0x146f6e,_0x368e5a[_0x1a4e('0x240a')](_0x2327c6),_0x55ff7e,_0x1adc17);},'writeSymbol':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x22aa27(_0x146f6e,_0x368e5a[_0x1a4e('0x240a')](_0x2327c6),_0x55ff7e,_0x1adc17,_0xf79407);},'writeTypePredicate':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0xc1909(_0x146f6e,_0x368e5a[_0x1a4e('0x240a')](_0x2327c6),_0x55ff7e,_0x1adc17);},'getAugmentedPropertiesOfType':_0x5399be,'getRootSymbols':function _0x146f6e(_0x2327c6){var _0x55ff7e=function(_0x146f6e){if(0x6&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e))return _0x368e5a['mapDefined'](_0xdba731(_0x146f6e)[_0x1a4e('0x28e5')][_0x1a4e('0x2380')],function(_0x368e5a){return _0x3c127b(_0x368e5a,_0x146f6e['escapedName']);});if(0x2000000&_0x146f6e[_0x1a4e('0x7b2')]){var _0x2327c6=_0x146f6e,_0x55ff7e=_0x2327c6[_0x1a4e('0x28e6')],_0x1adc17=_0x2327c6[_0x1a4e('0x28e7')],_0xf79407=_0x2327c6[_0x1a4e('0x28e8')];return _0x55ff7e?[_0x55ff7e,_0x1adc17]:_0xf79407?[_0xf79407]:_0x368e5a[_0x1a4e('0x1767')](function(_0x368e5a){for(var _0x146f6e,_0x2327c6=_0x368e5a;_0x2327c6=_0xdba731(_0x2327c6)[_0x1a4e('0xd95')];)_0x146f6e=_0x2327c6;return _0x146f6e;}(_0x146f6e));}}(_0x2327c6);return _0x55ff7e?_0x368e5a[_0x1a4e('0x104e')](_0x55ff7e,_0x146f6e):[_0x2327c6];},'getContextualType':function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x24a8')]);return _0x2327c6?_0x2ec237(_0x2327c6):void 0x0;},'getContextualTypeForObjectLiteralElement':function(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x2552')]);return _0x2327c6?_0x4620bd(_0x2327c6):void 0x0;},'getContextualTypeForArgumentAtIndex':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x255b')]);return _0x55ff7e&&_0xb8be5d(_0x55ff7e,_0x2327c6);},'getContextualTypeForJsxAttribute':function(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x28e9')]);return _0x2327c6&&_0x108842(_0x2327c6);},'isContextSensitive':_0xf01a27,'getFullyQualifiedName':_0x2ed35d,'getResolvedSignature':function(_0x368e5a,_0x146f6e,_0x2327c6){return _0xd3e717(_0x368e5a,_0x146f6e,_0x2327c6,!0x1);},'getResolvedSignatureForSignatureHelp':function(_0x368e5a,_0x146f6e,_0x2327c6){return _0xd3e717(_0x368e5a,_0x146f6e,_0x2327c6,!0x0);},'getConstantValue':function(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x56724e);return _0x2327c6?_0x23958d(_0x2327c6):void 0x0;},'isValidPropertyAccess':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2559')]);return!!_0x55ff7e&&function(_0x368e5a,_0x146f6e){switch(_0x368e5a['kind']){case 0xbd:return _0x16e1ff(_0x368e5a,0x62===_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0x146b')],_0x146f6e,_0x3a6dfd(_0x4e94e8(_0x368e5a[_0x1a4e('0x2302')])));case 0x94:return _0x16e1ff(_0x368e5a,!0x1,_0x146f6e,_0x3a6dfd(_0x4e94e8(_0x368e5a[_0x1a4e('0x5f')])));case 0xb7:return _0x16e1ff(_0x368e5a,!0x1,_0x146f6e,_0x3fafb1(_0x368e5a));}}(_0x55ff7e,_0x368e5a[_0x1a4e('0x22f4')](_0x2327c6));},'isValidPropertyAccessForCompletions':function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2371')]);return!!_0x1adc17&&function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x16e1ff(_0x146f6e,0xb7!==_0x146f6e['kind']&&0x62===_0x146f6e[_0x1a4e('0x2302')]['kind'],_0x55ff7e['escapedName'],_0x2327c6)&&(!(0x2000&_0x55ff7e[_0x1a4e('0x7b2')])||(_0xf79407=_0x7bcdc7(_0x2f423c(_0x2032e1(_0x1adc17=_0x2327c6,_0x55ff7e[_0x1a4e('0x22e8')])),0x0),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0!==_0xf79407['length']),_0xf79407['some'](function(_0x368e5a){var _0x146f6e=_0x14fcfd(_0x368e5a);return!_0x146f6e||_0x720afc(_0x1adc17,function(_0x368e5a,_0x146f6e,_0x2327c6){if(!_0x368e5a[_0x1a4e('0x23d7')])return _0x146f6e;var _0x55ff7e=_0x291f0f(_0x368e5a['typeParameters'],_0x368e5a,0x0);return _0xe9ae15(_0x55ff7e[_0x1a4e('0x28ea')],_0x2327c6,_0x146f6e),_0x1e1445(_0x146f6e,_0x4a013c(_0x368e5a,_0x203546(_0x55ff7e)));}(_0x368e5a,_0x146f6e,_0x1adc17));})));var _0x1adc17,_0xf79407;}(_0x1adc17,_0x2327c6,_0x55ff7e);},'getSignatureFromDeclaration':function(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x2342')]);return _0x2327c6?_0x38523e(_0x2327c6):void 0x0;},'isImplementationOfOverload':function(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x2342')]);return _0x2327c6?_0x2118c8(_0x2327c6):void 0x0;},'getImmediateAliasedSymbol':_0x5b6338,'getAliasedSymbol':_0x4f0953,'getEmitResolver':function(_0x368e5a,_0x146f6e){return _0x1b4378(_0x368e5a,_0x146f6e),_0x425632;},'getExportsOfModule':_0x428f3b,'getExportsAndPropertiesOfModule':function(_0x146f6e){var _0x2327c6=_0x428f3b(_0x146f6e),_0x55ff7e=_0x9d9138(_0x146f6e);return _0x55ff7e!==_0x146f6e&&_0x368e5a[_0x1a4e('0x23d1')](_0x2327c6,_0x41c062(_0x38797c(_0x55ff7e))),_0x2327c6;},'getSymbolWalker':_0x368e5a[_0x1a4e('0x28eb')](function(_0x368e5a){return _0x2d3d09(_0x368e5a)||_0x330555;},_0x13a441,_0x4b6767,_0xd458b8,_0x4a724b,_0x38797c,_0x1642fe,_0x15bdf2,_0x2a8efa,_0x5d499f),'getAmbientModules':function(){return _0x2ed004||(_0x2ed004=[],_0xa60cd8['forEach'](function(_0x368e5a,_0x146f6e){_0x2327c6['test'](_0x146f6e)&&_0x2ed004['push'](_0x368e5a);})),_0x2ed004;},'getJsxIntrinsicTagNamesAt':function(_0x2327c6){var _0x55ff7e=_0x1f120b(_0x146f6e['IntrinsicElements'],_0x2327c6);return _0x55ff7e?_0x41c062(_0x55ff7e):_0x368e5a[_0x1a4e('0x1700')];},'isOptionalParameter':function(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x24ac')]);return!!_0x2327c6&&_0x438bd2(_0x2327c6);},'tryGetMemberInModuleExports':function(_0x146f6e,_0x2327c6){return _0x408b54(_0x368e5a['escapeLeadingUnderscores'](_0x146f6e),_0x2327c6);},'tryGetMemberInModuleExportsAndProperties':function(_0x146f6e,_0x2327c6){return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x408b54(_0x368e5a,_0x146f6e);if(_0x2327c6)return _0x2327c6;var _0x55ff7e=_0x9d9138(_0x146f6e);if(_0x55ff7e!==_0x146f6e){var _0x1adc17=_0x38797c(_0x55ff7e);return 0x1fffc&_0x1adc17[_0x1a4e('0x7b2')]?void 0x0:_0x3c127b(_0x1adc17,_0x368e5a);}}(_0x368e5a[_0x1a4e('0x22f4')](_0x146f6e),_0x2327c6);},'tryFindAmbientModuleWithoutAugmentations':function(_0x368e5a){return _0x4cd9fb(_0x368e5a,!0x1);},'getApparentType':_0x26521d,'getUnionType':_0x2d74ef,'createAnonymousType':_0x1178b7,'createSignature':_0x1338dd,'createSymbol':_0x4ecc5b,'createIndexInfo':_0x2c1884,'getAnyType':function(){return _0x330555;},'getStringType':function(){return _0x1d9562;},'getNumberType':function(){return _0x4a492a;},'createPromiseType':_0x26d80f,'createArrayType':_0xfd8b5f,'getElementTypeOfArrayType':function(_0x368e5a){return _0x4ba777(_0x368e5a)&&_0x368e5a[_0x1a4e('0x2365')]?_0x368e5a[_0x1a4e('0x2365')][0x0]:void 0x0;},'getBooleanType':function(){return _0x4b156c;},'getFalseType':function(_0x368e5a){return _0x368e5a?_0x4b250a:_0x29b6ee;},'getTrueType':function(_0x368e5a){return _0x368e5a?_0x236fc7:_0xe3a5e8;},'getVoidType':function(){return _0x56da3c;},'getUndefinedType':function(){return _0x57a5b4;},'getNullType':function(){return _0x406341;},'getESSymbolType':function(){return _0x12ad50;},'getNeverType':function(){return _0x530b09;},'isSymbolAccessible':_0x37eda4,'getObjectFlags':_0x368e5a[_0x1a4e('0x249a')],'isArrayLikeType':_0x43afe0,'isTypeInvalidDueToUnionDiscriminant':function(_0x146f6e,_0x2327c6){return _0x2327c6[_0x1a4e('0x13')]['some'](function(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2cb')]&&_0x368e5a[_0x1a4e('0x2351')](_0x2327c6[_0x1a4e('0x2cb')]),_0x1adc17=void 0x0===_0x55ff7e?void 0x0:_0x2032e1(_0x146f6e,_0x55ff7e);return!!_0x1adc17&&!!(0xb80&_0x1adc17[_0x1a4e('0x7b2')])&&!_0x2ccc16(_0x573598(_0x2327c6),_0x1adc17);});},'getAllPossiblePropertiesOfTypes':function(_0x146f6e){var _0x2327c6=_0x2d74ef(_0x146f6e);if(!(0x100000&_0x2327c6['flags']))return _0x5399be(_0x2327c6);for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x22e7')](),_0x1adc17=0x0,_0xf79407=_0x146f6e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++)for(var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=0x0,_0x1b06ad=_0x5399be(_0x2c9ec9);_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32][_0x1a4e('0x22e8')];if(!_0x55ff7e[_0x1a4e('0x178')](_0x326eae)){var _0x56674b=_0x22c927(_0x2327c6,_0x326eae);_0x56674b&&_0x55ff7e[_0x1a4e('0x17a')](_0x326eae,_0x56674b);}}return _0x368e5a['arrayFrom'](_0x55ff7e[_0x1a4e('0x35b')]());},'getSuggestionForNonexistentProperty':function(_0x368e5a,_0x146f6e){return _0x43a32e(_0x368e5a,_0x146f6e);},'getSuggestionForNonexistentSymbol':function(_0x146f6e,_0x2327c6,_0x55ff7e){return function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x31a7e0(_0x146f6e,_0x2327c6,_0x55ff7e);return _0x1adc17&&_0x368e5a['symbolName'](_0x1adc17);}(_0x146f6e,_0x368e5a['escapeLeadingUnderscores'](_0x2327c6),_0x55ff7e);},'getSuggestionForNonexistentExport':function(_0x146f6e,_0x2327c6){return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x16943a(_0x146f6e,_0x2327c6);return _0x55ff7e&&_0x368e5a[_0x1a4e('0x24d2')](_0x55ff7e);}(_0x146f6e,_0x2327c6);},'getBaseConstraintOfType':_0x1953ea,'getDefaultFromTypeParameter':function(_0x368e5a){return _0x368e5a&&0x40000&_0x368e5a[_0x1a4e('0x7b2')]?_0x41f224(_0x368e5a):void 0x0;},'resolveName':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x1e09ab(_0x2327c6,_0x368e5a[_0x1a4e('0x22f4')](_0x146f6e),_0x55ff7e,void 0x0,void 0x0,!0x1,_0x1adc17);},'getJsxNamespace':function(_0x146f6e){return _0x368e5a['unescapeLeadingUnderscores'](_0x224360(_0x146f6e));},'getAccessibleSymbolChain':_0x3e6e80,'getTypePredicateOfSignature':_0x13a441,'resolveExternalModuleSymbol':_0x9d9138,'tryGetThisTypeAt':function(_0x146f6e){return(_0x146f6e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e))&&_0x32e745(_0x146f6e);},'getTypeArgumentConstraint':function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a['isTypeNode']);return _0x2327c6&&function(_0x146f6e){var _0x2327c6=_0x368e5a['tryCast'](_0x146f6e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x28ec')]);if(_0x2327c6){var _0x55ff7e=_0x34cc32(_0x2327c6),_0x1adc17=_0x2a8efa(_0x55ff7e[_0x2327c6['typeArguments'][_0x1a4e('0x3e')](_0x146f6e)]);return _0x1adc17&&_0x1e1445(_0x1adc17,_0xa0d6d8(_0x55ff7e,_0x3d7c9f(_0x2327c6,_0x55ff7e)));}}(_0x2327c6);},'getSuggestionDiagnostics':function(_0x146f6e,_0x2327c6){if(_0x368e5a['skipTypeChecking'](_0x146f6e,_0x239ab2))return _0x368e5a['emptyArray'];var _0x55ff7e;try{return _0x434714=_0x2327c6,_0x1b7462(_0x146f6e),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!(0x1&_0x165ecf(_0x146f6e)['flags'])),_0x55ff7e=_0x368e5a[_0x1a4e('0x23d1')](_0x55ff7e,_0x362765[_0x1a4e('0x179')](_0x146f6e[_0x1a4e('0x1b39')])),_0x146f6e['isDeclarationFile']||_0x1e4ae8(0x0)&&_0x1e4ae8(0x1)||_0x2b5fae(_0x37fbf7(_0x146f6e),function(_0x146f6e,_0x2327c6,_0x1adc17){_0x368e5a[_0x1a4e('0x264c')](_0x146f6e)||_0x1e4ae8(_0x2327c6)||(_0x55ff7e||(_0x55ff7e=[]))[_0x1a4e('0x46')](_0x420b32({},_0x1adc17,{'category':_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x1a2b')]}));}),_0x55ff7e||_0x368e5a[_0x1a4e('0x1700')];}finally{_0x434714=void 0x0;}},'runWithCancellationToken':function(_0x368e5a,_0x146f6e){try{return _0x434714=_0x368e5a,_0x146f6e(_0x468ea2);}finally{_0x434714=void 0x0;}},'getLocalTypeParametersOfClassOrInterfaceOrTypeAlias':_0x381026};function _0xd3e717(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x255b')]);_0x11451b=_0x55ff7e;var _0x2c9ec9=_0xf79407?_0x14dd6c(_0xf79407,_0x2327c6,_0x1adc17):void 0x0;return _0x11451b=void 0x0,_0x2c9ec9;}var _0x1b627f=_0x368e5a[_0x1a4e('0x1772')](),_0x305c00=_0x368e5a[_0x1a4e('0x1772')](),_0x415adb=_0x368e5a[_0x1a4e('0x1772')](),_0x2290cb=_0x368e5a[_0x1a4e('0x1772')](),_0x565e32=_0x368e5a[_0x1a4e('0x1772')](),_0x4eb419=[],_0x5868a5=_0x368e5a[_0x1a4e('0x1772')](),_0x450499=_0x4ecc5b(0x4,'unknown'),_0x5b9185=_0x4ecc5b(0x0,'__resolving__'),_0x330555=_0x46eda9(0x1,'any'),_0x344569=_0x46eda9(0x1,_0x1a4e('0x899')),_0x5a2bb4=_0x46eda9(0x1,_0x1a4e('0x899')),_0x336c2=_0x46eda9(0x1,_0x1a4e('0x873')),_0x387afa=_0x46eda9(0x2,'unknown'),_0x57a5b4=_0x46eda9(0x8000,_0x1a4e('0x3')),_0x4a2e68=_0x4f3c04?_0x57a5b4:_0x46eda9(0x8008000,_0x1a4e('0x3')),_0x406341=_0x46eda9(0x10000,'null'),_0x143e15=_0x4f3c04?_0x406341:_0x46eda9(0x8010000,_0x1a4e('0xe7f')),_0x1d9562=_0x46eda9(0x4,'string'),_0x4a492a=_0x46eda9(0x8,_0x1a4e('0x3d')),_0x95b336=_0x46eda9(0x40,_0x1a4e('0xf16')),_0x4b250a=_0x46eda9(0x200,_0x1a4e('0xe7a')),_0x29b6ee=_0x46eda9(0x200,_0x1a4e('0xe7a')),_0x236fc7=_0x46eda9(0x200,_0x1a4e('0xe7b')),_0xe3a5e8=_0x46eda9(0x200,_0x1a4e('0xe7b'));_0x236fc7[_0x1a4e('0x28ed')]=_0xe3a5e8,_0x236fc7[_0x1a4e('0x28ee')]=_0x236fc7,_0xe3a5e8[_0x1a4e('0x28ed')]=_0xe3a5e8,_0xe3a5e8[_0x1a4e('0x28ee')]=_0x236fc7,_0x4b250a[_0x1a4e('0x28ed')]=_0x29b6ee,_0x4b250a[_0x1a4e('0x28ee')]=_0x4b250a,_0x29b6ee[_0x1a4e('0x28ed')]=_0x29b6ee,_0x29b6ee['freshType']=_0x4b250a;var _0x4b156c=_0x327276([_0x29b6ee,_0xe3a5e8]);_0x327276([_0x29b6ee,_0x236fc7]),_0x327276([_0x4b250a,_0xe3a5e8]),_0x327276([_0x4b250a,_0x236fc7]);var _0x12ad50=_0x46eda9(0x1000,_0x1a4e('0xb1b')),_0x56da3c=_0x46eda9(0x4000,_0x1a4e('0x22b1')),_0x530b09=_0x46eda9(0x20000,_0x1a4e('0x1445')),_0x396dd7=_0x46eda9(0x20000,_0x1a4e('0x1445')),_0x4b931c=_0x46eda9(0x20000,_0x1a4e('0x1445')),_0x48476c=_0x46eda9(0x4000000,_0x1a4e('0x85')),_0x3b48a7=_0x2d74ef([_0x1d9562,_0x4a492a,_0x12ad50]),_0xaed2b=_0x5c483a?_0x1d9562:_0x3b48a7,_0x2889f5=_0x2d74ef([_0x4a492a,_0x95b336]),_0x126d3e=_0x1178b7(void 0x0,_0x362306,_0x368e5a['emptyArray'],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0),_0x3e03b6=_0x1178b7(void 0x0,_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a['emptyArray'],void 0x0,void 0x0);_0x3e03b6[_0x1a4e('0x2472')]|=0x1000;var _0x8b0e32=_0x4ecc5b(0x800,'__type');_0x8b0e32[_0x1a4e('0x2369')]=_0x368e5a[_0x1a4e('0x22e7')]();var _0x3d907c=_0x1178b7(_0x8b0e32,_0x362306,_0x368e5a['emptyArray'],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0),_0x102117=_0x1178b7(void 0x0,_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0);_0x102117[_0x1a4e('0x28ef')]=_0x368e5a[_0x1a4e('0x1772')]();var _0x5f42ab=_0x1178b7(void 0x0,_0x362306,_0x368e5a['emptyArray'],_0x368e5a['emptyArray'],void 0x0,void 0x0);_0x5f42ab[_0x1a4e('0x7b2')]|=0x20000000;var _0x3cb5fc=_0x1178b7(void 0x0,_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0),_0x3bb72a=_0x1178b7(void 0x0,_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0),_0x371e85=_0x1178b7(void 0x0,_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0),_0x5a6604=_0x5e6a6c(0x40000),_0x884f2a=_0x5e6a6c(0x40000);_0x884f2a[_0x1a4e('0x2364')]=_0x5a6604;var _0x360894,_0x2ed004,_0x27703f,_0x23601b,_0x437267,_0x4c2151,_0x1e2ce7,_0x1a4cce,_0xe8ad25,_0x5cc0d3,_0x495889,_0x1bcdfd,_0x2434d8,_0x2c4ba4,_0x1a0acf,_0x121129,_0x4172e6,_0x127a39,_0x5c8418,_0x506c96,_0x1d1f6b,_0x27775c,_0x5b903e,_0x3218a6,_0x3ab5cc,_0x121fa6,_0x5810df,_0x5c6e72,_0x13f517,_0x10cefd,_0x57245a,_0x139620,_0x557027,_0x25c1d2,_0x12f896,_0x49c112,_0x1a748e,_0x5245b5,_0x59429f=_0x5e6a6c(0x40000),_0x5be6c7=_0xc174dd(_0x1a4e('0x28f0'),0x0,_0x330555),_0x488b93=_0x1338dd(void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x1700')],_0x330555,void 0x0,0x0,!0x1,!0x1),_0x371533=_0x1338dd(void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x1700')],_0x336c2,void 0x0,0x0,!0x1,!0x1),_0x29387d=_0x1338dd(void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x1700')],_0x330555,void 0x0,0x0,!0x1,!0x1),_0x4ec8f5=_0x1338dd(void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x1700')],_0x396dd7,void 0x0,0x0,!0x1,!0x1),_0x3b1005=_0x2c1884(_0x1d9562,!0x0),_0xa60cd8=_0x368e5a[_0x1a4e('0x22e7')](),_0x45aec5=_0x368e5a['createMap'](),_0x200984=_0x368e5a[_0x1a4e('0x1772')](),_0xd133a5=0x0,_0x3b2814=0x0,_0x59a20b=0x0,_0x22af89=!0x1,_0x41385a=_0x300979(''),_0x4888b2=_0x300979(0x0),_0x564522=_0x300979({'negative':!0x1,'base10Value':'0'}),_0x58c523=[],_0x1d215d=[],_0x2a74b4=[],_0x47cedd=0x0,_0x3a4207=0xa,_0x4259ed=[],_0x450130=[],_0x180ee6=[],_0x1fdf9d=[],_0x4099f1=[],_0x3d0f9c=[],_0xb4815f=[],_0x50bcac=[],_0x6f178b=[],_0x17f38d=[],_0x4a0a3c=[],_0x14ce5b=[],_0x125480=_0x368e5a[_0x1a4e('0x2413')](),_0x362765=_0x368e5a['createMultiMap']();!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]='None',_0x368e5a[_0x368e5a[_0x1a4e('0x28f1')]=0x1]=_0x1a4e('0x28f1'),_0x368e5a[_0x368e5a[_0x1a4e('0x28f2')]=0x2]=_0x1a4e('0x28f2'),_0x368e5a[_0x368e5a['TypeofEQBigInt']=0x4]='TypeofEQBigInt',_0x368e5a[_0x368e5a[_0x1a4e('0x28f3')]=0x8]=_0x1a4e('0x28f3'),_0x368e5a[_0x368e5a['TypeofEQSymbol']=0x10]='TypeofEQSymbol',_0x368e5a[_0x368e5a[_0x1a4e('0x28f4')]=0x20]=_0x1a4e('0x28f4'),_0x368e5a[_0x368e5a['TypeofEQFunction']=0x40]=_0x1a4e('0x28f5'),_0x368e5a[_0x368e5a['TypeofEQHostObject']=0x80]=_0x1a4e('0x28f6'),_0x368e5a[_0x368e5a[_0x1a4e('0x28f7')]=0x100]=_0x1a4e('0x28f7'),_0x368e5a[_0x368e5a[_0x1a4e('0x28f8')]=0x200]=_0x1a4e('0x28f8'),_0x368e5a[_0x368e5a[_0x1a4e('0x28f9')]=0x400]='TypeofNEBigInt',_0x368e5a[_0x368e5a['TypeofNEBoolean']=0x800]='TypeofNEBoolean',_0x368e5a[_0x368e5a[_0x1a4e('0x28fa')]=0x1000]=_0x1a4e('0x28fa'),_0x368e5a[_0x368e5a[_0x1a4e('0x28fb')]=0x2000]=_0x1a4e('0x28fb'),_0x368e5a[_0x368e5a[_0x1a4e('0x28fc')]=0x4000]=_0x1a4e('0x28fc'),_0x368e5a[_0x368e5a['TypeofNEHostObject']=0x8000]=_0x1a4e('0x28fd'),_0x368e5a[_0x368e5a[_0x1a4e('0x28fe')]=0x10000]=_0x1a4e('0x28fe'),_0x368e5a[_0x368e5a['EQNull']=0x20000]=_0x1a4e('0x28ff'),_0x368e5a[_0x368e5a[_0x1a4e('0x2900')]=0x40000]=_0x1a4e('0x2900'),_0x368e5a[_0x368e5a['NEUndefined']=0x80000]=_0x1a4e('0x2901'),_0x368e5a[_0x368e5a[_0x1a4e('0x2902')]=0x100000]=_0x1a4e('0x2902'),_0x368e5a[_0x368e5a[_0x1a4e('0x2903')]=0x200000]=_0x1a4e('0x2903'),_0x368e5a[_0x368e5a[_0x1a4e('0x2904')]=0x400000]='Truthy',_0x368e5a[_0x368e5a[_0x1a4e('0x2905')]=0x800000]=_0x1a4e('0x2905'),_0x368e5a[_0x368e5a['All']=0xffffff]=_0x1a4e('0x18f3'),_0x368e5a[_0x368e5a[_0x1a4e('0x2906')]=0x38fe01]=_0x1a4e('0x2906'),_0x368e5a[_0x368e5a[_0x1a4e('0x2907')]=0xbffe01]=_0x1a4e('0x2907'),_0x368e5a[_0x368e5a[_0x1a4e('0x2908')]=0xf8fe01]=_0x1a4e('0x2908'),_0x368e5a[_0x368e5a['StringFacts']=0xfffe01]='StringFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x2909')]=0xb8fe01]=_0x1a4e('0x2909'),_0x368e5a[_0x368e5a[_0x1a4e('0x290a')]=0xbffe01]=_0x1a4e('0x290a'),_0x368e5a[_0x368e5a[_0x1a4e('0x290b')]=0x78fe01]=_0x1a4e('0x290b'),_0x368e5a[_0x368e5a['NonEmptyStringFacts']=0xfffe01]='NonEmptyStringFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x290c')]=0x38fd02]=_0x1a4e('0x290c'),_0x368e5a[_0x368e5a[_0x1a4e('0x290d')]=0xbffd02]='BaseNumberFacts',_0x368e5a[_0x368e5a['NumberStrictFacts']=0xf8fd02]=_0x1a4e('0x290e'),_0x368e5a[_0x368e5a[_0x1a4e('0x290f')]=0xfffd02]='NumberFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x2910')]=0xb8fd02]=_0x1a4e('0x2910'),_0x368e5a[_0x368e5a[_0x1a4e('0x2911')]=0xbffd02]='ZeroNumberFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x2912')]=0x78fd02]=_0x1a4e('0x2912'),_0x368e5a[_0x368e5a[_0x1a4e('0x2913')]=0xfffd02]='NonZeroNumberFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x2914')]=0x38fb04]='BaseBigIntStrictFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x2915')]=0xbffb04]=_0x1a4e('0x2915'),_0x368e5a[_0x368e5a[_0x1a4e('0x2916')]=0xf8fb04]=_0x1a4e('0x2916'),_0x368e5a[_0x368e5a[_0x1a4e('0x2917')]=0xfffb04]=_0x1a4e('0x2917'),_0x368e5a[_0x368e5a['ZeroBigIntStrictFacts']=0xb8fb04]=_0x1a4e('0x2918'),_0x368e5a[_0x368e5a[_0x1a4e('0x2919')]=0xbffb04]='ZeroBigIntFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x291a')]=0x78fb04]=_0x1a4e('0x291a'),_0x368e5a[_0x368e5a[_0x1a4e('0x291b')]=0xfffb04]='NonZeroBigIntFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x291c')]=0x38f708]=_0x1a4e('0x291c'),_0x368e5a[_0x368e5a['BaseBooleanFacts']=0xbff708]=_0x1a4e('0x291d'),_0x368e5a[_0x368e5a[_0x1a4e('0x291e')]=0xf8f708]=_0x1a4e('0x291e'),_0x368e5a[_0x368e5a[_0x1a4e('0x291f')]=0xfff708]=_0x1a4e('0x291f'),_0x368e5a[_0x368e5a['FalseStrictFacts']=0xb8f708]=_0x1a4e('0x2920'),_0x368e5a[_0x368e5a[_0x1a4e('0x2921')]=0xbff708]='FalseFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x2922')]=0x78f708]=_0x1a4e('0x2922'),_0x368e5a[_0x368e5a[_0x1a4e('0x2923')]=0xfff708]=_0x1a4e('0x2923'),_0x368e5a[_0x368e5a[_0x1a4e('0x2924')]=0x78ef10]='SymbolStrictFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x2925')]=0xffef10]=_0x1a4e('0x2925'),_0x368e5a[_0x368e5a['ObjectStrictFacts']=0x785fa0]='ObjectStrictFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x2926')]=0xff5fa0]=_0x1a4e('0x2926'),_0x368e5a[_0x368e5a[_0x1a4e('0x2927')]=0x783fc0]=_0x1a4e('0x2927'),_0x368e5a[_0x368e5a[_0x1a4e('0x2928')]=0xff3fc0]=_0x1a4e('0x2928'),_0x368e5a[_0x368e5a['UndefinedFacts']=0x95ff00]=_0x1a4e('0x2929'),_0x368e5a[_0x368e5a[_0x1a4e('0x292a')]=0x8edf20]='NullFacts',_0x368e5a[_0x368e5a[_0x1a4e('0x292b')]=0xf8ffff]=_0x1a4e('0x292b'),_0x368e5a[_0x368e5a['EmptyObjectFacts']=0xffffff]=_0x1a4e('0x292c');}(_0x5245b5||(_0x5245b5={}));var _0x39d8b2,_0x453a25,_0x57e246,_0x5d9426,_0x3a71fd,_0x47653f,_0x30e253,_0xf81fc3,_0x209b3c,_0x31b963=_0x368e5a[_0x1a4e('0x1701')]({'string':0x1,'number':0x2,'bigint':0x4,'boolean':0x8,'symbol':0x10,'undefined':0x10000,'object':0x20,'function':0x40}),_0x181989=_0x368e5a[_0x1a4e('0x1701')]({'string':0x100,'number':0x200,'bigint':0x400,'boolean':0x800,'symbol':0x1000,'undefined':0x80000,'object':0x2000,'function':0x4000}),_0x269784=_0x368e5a[_0x1a4e('0x1701')]({'string':_0x1d9562,'number':_0x4a492a,'bigint':_0x95b336,'boolean':_0x4b156c,'symbol':_0x12ad50,'undefined':_0x57a5b4}),_0x5e298a=_0x2d74ef(_0x368e5a[_0x1a4e('0x1729')](_0x31b963['keys'](),_0x300979)),_0xb9f69=_0x368e5a[_0x1a4e('0x1772')](),_0x2dd879=_0x368e5a[_0x1a4e('0x1772')](),_0x33e962=_0x368e5a['createMap'](),_0x3d2b4d=_0x368e5a[_0x1a4e('0x1772')](),_0xa95637=_0x368e5a[_0x1a4e('0x1772')](),_0x2b0fd7=_0x368e5a['createMap']();!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x3d4')]=0x0]='Type',_0x368e5a[_0x368e5a[_0x1a4e('0x292d')]=0x1]='ResolvedBaseConstructorType',_0x368e5a[_0x368e5a[_0x1a4e('0x292e')]=0x2]=_0x1a4e('0x292e'),_0x368e5a[_0x368e5a[_0x1a4e('0x292f')]=0x3]=_0x1a4e('0x292f'),_0x368e5a[_0x368e5a[_0x1a4e('0x2930')]=0x4]='ImmediateBaseConstraint',_0x368e5a[_0x368e5a['EnumTagType']=0x5]=_0x1a4e('0x2931'),_0x368e5a[_0x368e5a['JSDocTypeReference']=0x6]=_0x1a4e('0x2932');}(_0x57e246||(_0x57e246={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Normal']=0x0]='Normal',_0x368e5a[_0x368e5a[_0x1a4e('0x2933')]=0x1]=_0x1a4e('0x2933'),_0x368e5a[_0x368e5a[_0x1a4e('0x2934')]=0x2]=_0x1a4e('0x2934'),_0x368e5a[_0x368e5a[_0x1a4e('0x2935')]=0x3]=_0x1a4e('0x2935');}(_0x5d9426||(_0x5d9426={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['Bivariant']=0x1]=_0x1a4e('0x1a0c'),_0x368e5a[_0x368e5a[_0x1a4e('0x2936')]=0x2]=_0x1a4e('0x2936');}(_0x3a71fd||(_0x3a71fd={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2937')]=0x1]=_0x1a4e('0x2937'),_0x368e5a[_0x368e5a[_0x1a4e('0x2938')]=0x2]=_0x1a4e('0x2938'),_0x368e5a[_0x368e5a['IncludeOptional']=0x4]=_0x1a4e('0x2939'),_0x368e5a[_0x368e5a[_0x1a4e('0x293a')]=0x8]=_0x1a4e('0x293a');}(_0x47653f||(_0x47653f={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x293b')]=0x1]=_0x1a4e('0x293b'),_0x368e5a[_0x368e5a[_0x1a4e('0x293c')]=0x2]='Target',_0x368e5a[_0x368e5a['Both']=0x3]='Both';}(_0x30e253||(_0x30e253={})),function(_0x368e5a){_0x368e5a['resolvedExports']=_0x1a4e('0x293d'),_0x368e5a[_0x1a4e('0x293e')]='resolvedMembers';}(_0xf81fc3||(_0xf81fc3={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Local']=0x0]='Local',_0x368e5a[_0x368e5a[_0x1a4e('0x1817')]=0x1]=_0x1a4e('0x1817');}(_0x209b3c||(_0x209b3c={}));var _0x4754c2=_0x368e5a[_0x1a4e('0x22e7')]();_0x4754c2['set'](_0x515765[_0x1a4e('0x22e8')],_0x515765);var _0x4c04fb=_0x368e5a['and'](_0x516a70,function(_0x146f6e){return!_0x368e5a[_0x1a4e('0x238a')](_0x146f6e);});return function(){for(var _0x146f6e=0x0,_0x2327c6=_0x55ff7e[_0x1a4e('0x2447')]();_0x146f6e<_0x2327c6['length'];_0x146f6e++){var _0x1adc17=_0x2327c6[_0x146f6e];_0x368e5a[_0x1a4e('0x287d')](_0x1adc17,_0x239ab2);}var _0xf79407;_0x360894=_0x368e5a[_0x1a4e('0x1772')]();for(var _0x2c9ec9=0x0,_0x420b32=_0x55ff7e[_0x1a4e('0x2447')]();_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1adc17=_0x420b32[_0x2c9ec9];if(!_0x1adc17[_0x1a4e('0x293f')]&&(_0x368e5a[_0x1a4e('0x2858')](_0x1adc17)||_0x3965e4(_0xa60cd8,_0x1adc17[_0x1a4e('0x283c')]),_0x1adc17[_0x1a4e('0x2879')]&&_0x3965e4(_0xa60cd8,_0x1adc17['jsGlobalAugmentations']),_0x1adc17[_0x1a4e('0x286e')]&&_0x1adc17[_0x1a4e('0x286e')][_0x1a4e('0x1e')]&&(_0x27703f=_0x368e5a['concatenate'](_0x27703f,_0x1adc17[_0x1a4e('0x286e')])),_0x1adc17[_0x1a4e('0x2940')][_0x1a4e('0x1e')]&&(_0xf79407||(_0xf79407=[]))[_0x1a4e('0x46')](_0x1adc17[_0x1a4e('0x2940')]),_0x1adc17[_0x1a4e('0xb1b')]&&_0x1adc17[_0x1a4e('0xb1b')][_0x1a4e('0x2874')])){var _0x1b06ad=_0x1adc17[_0x1a4e('0xb1b')][_0x1a4e('0x2874')];_0x1b06ad[_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){_0xa60cd8[_0x1a4e('0x178')](_0x146f6e)||_0xa60cd8['set'](_0x146f6e,_0x368e5a);});}}if(_0xf79407)for(var _0x326eae=0x0,_0x56674b=_0xf79407;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++)for(var _0x415952=_0x56674b[_0x326eae],_0x46923a=0x0,_0x88bf03=_0x415952;_0x46923a<_0x88bf03[_0x1a4e('0x1e')];_0x46923a++){var _0x434714=_0x88bf03[_0x46923a];_0x368e5a[_0x1a4e('0x2343')](_0x434714[_0x1a4e('0x11c')])&&_0x30e0d1(_0x434714);}if(function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x2327c6[_0x1a4e('0x3b')](function(_0x2327c6,_0x1adc17){var _0xf79407=_0x146f6e[_0x1a4e('0x179')](_0x1adc17);_0xf79407?_0x368e5a[_0x1a4e('0x3b')](_0xf79407['declarations'],function(_0x146f6e,_0x2327c6){return function(_0x55ff7e){return _0x125480['add'](_0x368e5a[_0x1a4e('0x2354')](_0x55ff7e,_0x2327c6,_0x146f6e));};}(_0x368e5a[_0x1a4e('0x24d1')](_0x1adc17),_0x55ff7e)):_0x146f6e[_0x1a4e('0x17a')](_0x1adc17,_0x2327c6);});}(_0xa60cd8,_0x4754c2,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2941')]),_0xdba731(_0x515765)[_0x1a4e('0x40')]=_0x4a2e68,_0xdba731(_0x3a2418)['type']=_0xb6c367(_0x1a4e('0x2942'),0x0,!0x0),_0xdba731(_0x450499)[_0x1a4e('0x40')]=_0x336c2,_0x1a4cce=_0xb6c367(_0x1a4e('0x104'),0x1,!0x0),_0x23601b=_0xb6c367(_0x1a4e('0xfb5'),0x0,!0x0),_0x437267=_0xb6c367(_0x1a4e('0x1a0f'),0x0,!0x0),_0x4c2151=_0x547b08&&_0xb6c367('CallableFunction',0x0,!0x0)||_0x437267,_0x1e2ce7=_0x547b08&&_0xb6c367(_0x1a4e('0x2943'),0x0,!0x0)||_0x437267,_0x5cc0d3=_0xb6c367(_0x1a4e('0x1011'),0x0,!0x0),_0x495889=_0xb6c367('Number',0x0,!0x0),_0x1bcdfd=_0xb6c367('Boolean',0x0,!0x0),_0x2434d8=_0xb6c367(_0x1a4e('0x1021'),0x0,!0x0),_0x1a0acf=_0xfd8b5f(_0x330555),(_0x121129=_0xfd8b5f(_0x344569))===_0x126d3e&&(_0x121129=_0x1178b7(void 0x0,_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0)),_0xe8ad25=_0x386277(_0x1a4e('0x2944'),0x1),_0x4172e6=_0xe8ad25?_0x499674(_0xe8ad25,[_0x330555]):_0x1a0acf,_0x2c4ba4=_0x386277(_0x1a4e('0x182f'),0x1),_0xf79407)for(var _0x57b692=0x0,_0x1ad11f=_0xf79407;_0x57b692<_0x1ad11f[_0x1a4e('0x1e')];_0x57b692++)for(var _0x415952=_0x1ad11f[_0x57b692],_0x35bd0a=0x0,_0x36aa2e=_0x415952;_0x35bd0a<_0x36aa2e[_0x1a4e('0x1e')];_0x35bd0a++){var _0x434714=_0x36aa2e[_0x35bd0a];_0x368e5a[_0x1a4e('0x2343')](_0x434714['parent'])||_0x30e0d1(_0x434714);}_0x360894[_0x1a4e('0x3b')](function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2945')],_0x55ff7e=_0x146f6e['secondFile'],_0x1adc17=_0x146f6e['conflictingSymbols'];if(_0x1adc17[_0x1a4e('0x220')]<0x8)_0x1adc17[_0x1a4e('0x3b')](function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x146f6e[_0x1a4e('0x2946')],_0x1adc17=_0x146f6e[_0x1a4e('0x2947')],_0xf79407=_0x146f6e['secondFileLocations'],_0x2c9ec9=_0x55ff7e?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2847')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2848')],_0x420b32=0x0,_0x1b06ad=_0x1adc17;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0x493035(_0x326eae,_0x2c9ec9,_0x2327c6,_0xf79407);}for(var _0x56674b=0x0,_0x415952=_0xf79407;_0x56674b<_0x415952[_0x1a4e('0x1e')];_0x56674b++){var _0x326eae=_0x415952[_0x56674b];_0x493035(_0x326eae,_0x2c9ec9,_0x2327c6,_0x1adc17);}});else{var _0xf79407=_0x368e5a[_0x1a4e('0x1729')](_0x1adc17[_0x1a4e('0x56')]())[_0x1a4e('0x9e')](',\x20');_0x125480[_0x1a4e('0x177')](_0x4e173b(_0x368e5a['createDiagnosticForNode'](_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2948')],_0xf79407),_0x368e5a[_0x1a4e('0x2354')](_0x55ff7e,_0x368e5a['Diagnostics']['Conflicts_are_in_this_file']))),_0x125480[_0x1a4e('0x177')](_0x4e173b(_0x368e5a[_0x1a4e('0x2354')](_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2948')],_0xf79407),_0x368e5a[_0x1a4e('0x2354')](_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2949')])));}}),_0x360894=void 0x0;}(),_0x468ea2;function _0x224360(_0x146f6e){if(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e);if(_0x2327c6){if(_0x2327c6[_0x1a4e('0x294a')])return _0x2327c6[_0x1a4e('0x294a')];var _0x55ff7e=_0x2327c6[_0x1a4e('0x2616')][_0x1a4e('0x179')](_0x1a4e('0x294b'));if(_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x15')](_0x55ff7e)?_0x55ff7e[0x0]:_0x55ff7e;if(_0x2327c6[_0x1a4e('0x2890')]=_0x368e5a[_0x1a4e('0x267f')](_0x1adc17['arguments'][_0x1a4e('0x294c')],_0x1b8154),_0x2327c6[_0x1a4e('0x2890')])return _0x2327c6[_0x1a4e('0x294a')]=_0x5d499f(_0x2327c6[_0x1a4e('0x2890')])[_0x1a4e('0x22f3')];}}}return _0x39d8b2||(_0x39d8b2=_0x1a4e('0x1a37'),_0x239ab2[_0x1a4e('0x276d')]?(_0x453a25=_0x368e5a[_0x1a4e('0x267f')](_0x239ab2['jsxFactory'],_0x1b8154))&&(_0x39d8b2=_0x5d499f(_0x453a25)[_0x1a4e('0x22f3')]):_0x239ab2['reactNamespace']&&(_0x39d8b2=_0x368e5a[_0x1a4e('0x22f4')](_0x239ab2['reactNamespace']))),_0x39d8b2;}function _0x4e173b(_0x368e5a){for(var _0x146f6e,_0x2327c6=[],_0x55ff7e=0x1;_0x55ff7e=0x5||_0x4e173b(_0xf79407,_0x368e5a[_0x1a4e('0x1e')](_0xf79407['relatedInformation'])?_0x368e5a[_0x1a4e('0x2354')](_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2952')]):_0x368e5a[_0x1a4e('0x2354')](_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2953')],_0x55ff7e));}}function _0x3965e4(_0x368e5a,_0x146f6e){_0x146f6e['forEach'](function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x179')](_0x2327c6);_0x368e5a['set'](_0x2327c6,_0x55ff7e?_0x25fcee(_0x55ff7e,_0x146f6e):_0x146f6e);});}function _0x30e0d1(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];if(_0x2327c6[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0]===_0x2327c6)if(_0x368e5a[_0x1a4e('0x2343')](_0x2327c6))_0x3965e4(_0xa60cd8,_0x2327c6['symbol'][_0x1a4e('0x0')]);else{var _0x55ff7e=_0x3d891b(_0x146f6e,_0x146f6e,0x400000&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x7b2')]?void 0x0:_0x368e5a['Diagnostics'][_0x1a4e('0x2954')],!0x0);if(!_0x55ff7e)return;0x780&(_0x55ff7e=_0x9d9138(_0x55ff7e))['flags']?_0x55ff7e=_0x25fcee(_0x55ff7e,_0x2327c6[_0x1a4e('0xb1b')]):_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity'],_0x146f6e[_0x1a4e('0xe04')]);}else _0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2327c6['symbol']['declarations'][_0x1a4e('0x1e')]>0x1);}function _0xdba731(_0x368e5a){if(0x2000000&_0x368e5a[_0x1a4e('0x7b2')])return _0x368e5a;var _0x146f6e=_0x56674b(_0x368e5a);return _0x450130[_0x146f6e]||(_0x450130[_0x146f6e]={});}function _0x165ecf(_0x368e5a){var _0x146f6e=_0x326eae(_0x368e5a);return _0x180ee6[_0x146f6e]||(_0x180ee6[_0x146f6e]={'flags':0x0});}function _0x25b659(_0x146f6e){return 0x117===_0x146f6e[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x2858')](_0x146f6e);}function _0x5d1705(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x179')](_0x2327c6);if(_0x1adc17){if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0==(0x1&_0x368e5a['getCheckFlags'](_0x1adc17)),_0x1a4e('0x2955')),_0x1adc17[_0x1a4e('0x7b2')]&_0x55ff7e)return _0x1adc17;if(0x200000&_0x1adc17[_0x1a4e('0x7b2')]){var _0xf79407=_0x4f0953(_0x1adc17);if(_0xf79407===_0x450499||_0xf79407[_0x1a4e('0x7b2')]&_0x55ff7e)return _0x1adc17;}}}}function _0x164313(_0x146f6e,_0x2327c6){var _0x1adc17=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e),_0xf79407=_0x368e5a[_0x1a4e('0x1674')](_0x2327c6);if(_0x1adc17!==_0xf79407){if(_0x2918ee&&(_0x1adc17[_0x1a4e('0x2359')]||_0xf79407[_0x1a4e('0x2359')])||!_0x239ab2[_0x1a4e('0x2445')]&&!_0x239ab2[_0x1a4e('0x303')]||_0x2e5e8d(_0x2327c6)||0x400000&_0x146f6e[_0x1a4e('0x7b2')])return!0x0;if(_0x326eae(_0x2327c6,_0x146f6e))return!0x0;var _0x2c9ec9=_0x55ff7e['getSourceFiles']();return _0x2c9ec9[_0x1a4e('0x3e')](_0x1adc17)<=_0x2c9ec9[_0x1a4e('0x3e')](_0xf79407);}if(_0x146f6e[_0x1a4e('0xa4')]<=_0x2327c6[_0x1a4e('0xa4')]){if(0xba===_0x146f6e[_0x1a4e('0x146b')]){var _0x420b32=_0x368e5a['getAncestor'](_0x2327c6,0xba);return _0x420b32?_0x368e5a[_0x1a4e('0x283d')](_0x420b32,_0x368e5a[_0x1a4e('0x24a6')])!==_0x368e5a['findAncestor'](_0x146f6e,_0x368e5a[_0x1a4e('0x24a6')])||_0x146f6e[_0x1a4e('0xa4')]<_0x420b32[_0x1a4e('0xa4')]:_0x164313(_0x368e5a['getAncestor'](_0x146f6e,0xed),_0x2327c6);}return 0xed===_0x146f6e[_0x1a4e('0x146b')]?!function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x283e')](_0x146f6e);switch(_0x146f6e[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x146b')]){case 0xdb:case 0xe1:case 0xe3:if(_0x46ea80(_0x2327c6,_0x146f6e,_0x55ff7e))return!0x0;}var _0x1adc17=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')];return _0x368e5a['isForInOrOfStatement'](_0x1adc17)&&_0x46ea80(_0x2327c6,_0x1adc17[_0x1a4e('0x2302')],_0x55ff7e);}(_0x146f6e,_0x2327c6):!_0x368e5a[_0x1a4e('0x251d')](_0x146f6e)||!_0x368e5a['findAncestor'](_0x2327c6,function(_0x2327c6){return _0x368e5a[_0x1a4e('0x23e8')](_0x2327c6)&&_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')]===_0x146f6e;});}if(0x101===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0xfe===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x267b')])return!0x0;if(0xfe===_0x2327c6['kind']&&_0x2327c6[_0x1a4e('0x267b')])return!0x0;var _0x1b06ad=_0x368e5a[_0x1a4e('0x283e')](_0x146f6e);return!!(0x200000&_0x2327c6['flags'])||_0x2e5e8d(_0x2327c6)||_0x326eae(_0x2327c6,_0x146f6e,_0x1b06ad);function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){return!!_0x368e5a['findAncestor'](_0x146f6e,function(_0x1adc17){if(_0x1adc17===_0x55ff7e)return _0x1a4e('0x1b55');if(_0x368e5a['isFunctionLike'](_0x1adc17))return!0x0;if(_0x1adc17['parent']&&0x9a===_0x1adc17[_0x1a4e('0x11c')]['kind']&&_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x236a')]===_0x1adc17)if(_0x368e5a[_0x1a4e('0x24c6')](_0x1adc17['parent'],0x20)){if(0x9c===_0x2327c6['kind'])return!0x0;}else if(0x9a!==_0x2327c6[_0x1a4e('0x146b')]||_0x368e5a['hasModifier'](_0x2327c6,0x20)||_0x368e5a[_0x1a4e('0x239a')](_0x146f6e)!==_0x368e5a[_0x1a4e('0x239a')](_0x2327c6))return!0x0;return!0x1;});}}function _0x1e09ab(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){return void 0x0===_0x2c9ec9&&(_0x2c9ec9=!0x1),_0x4b5ca3(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x5d1705,_0x420b32);}function _0x4b5ca3(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){var _0x56674b,_0x415952,_0x46923a,_0x88bf03,_0x434714,_0x57b692=_0x146f6e,_0x1ad11f=_0x146f6e,_0x35bd0a=!0x1;_0x2a3e96:for(;_0x146f6e;){if(_0x146f6e[_0x1a4e('0x283c')]&&!_0x25b659(_0x146f6e)&&(_0x56674b=_0x1b06ad(_0x146f6e[_0x1a4e('0x283c')],_0x2327c6,_0x55ff7e))){var _0x36aa2e=!0x0;if(_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)&&_0x415952&&_0x415952!==_0x146f6e[_0x1a4e('0x8f2')]){if(_0x55ff7e&_0x56674b[_0x1a4e('0x7b2')]&0x40c09e8&&0x123!==_0x415952[_0x1a4e('0x146b')]&&(_0x36aa2e=!!(0x40000&_0x56674b[_0x1a4e('0x7b2')])&&(_0x415952===_0x146f6e[_0x1a4e('0x40')]||0x97===_0x415952[_0x1a4e('0x146b')]||0x96===_0x415952[_0x1a4e('0x146b')])),_0x55ff7e&_0x56674b[_0x1a4e('0x7b2')]&0x3){var _0x30b3ec=_0x146f6e;_0x239ab2[_0x1a4e('0xd95')]&&_0x239ab2[_0x1a4e('0xd95')]>=0x2&&_0x368e5a[_0x1a4e('0x24ac')](_0x415952)&&_0x30b3ec[_0x1a4e('0x8f2')]&&_0x56674b['valueDeclaration']['pos']>=_0x30b3ec[_0x1a4e('0x8f2')]['pos']&&_0x56674b[_0x1a4e('0x2340')][_0x1a4e('0xca')]<=_0x30b3ec['body']['end']?_0x36aa2e=!0x1:0x1&_0x56674b['flags']&&(_0x36aa2e=0x97===_0x415952[_0x1a4e('0x146b')]||_0x415952===_0x146f6e[_0x1a4e('0x40')]&&!!_0x368e5a['findAncestor'](_0x56674b['valueDeclaration'],_0x368e5a[_0x1a4e('0x24ac')]));}}else 0xaf===_0x146f6e[_0x1a4e('0x146b')]&&(_0x36aa2e=_0x415952===_0x146f6e[_0x1a4e('0x25ff')]);if(_0x36aa2e)break _0x2a3e96;_0x56674b=void 0x0;}switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x117:if(!_0x368e5a[_0x1a4e('0x2858')](_0x146f6e))break;_0x35bd0a=!0x0;case 0xf4:var _0x1b487e=_0x54a27b(_0x146f6e)[_0x1a4e('0x0')];if(0x117===_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x233c')](_0x146f6e)){if(_0x56674b=_0x1b487e[_0x1a4e('0x179')]('default')){var _0x3d8f5d=_0x368e5a[_0x1a4e('0x2468')](_0x56674b);if(_0x3d8f5d&&_0x56674b[_0x1a4e('0x7b2')]&_0x55ff7e&&_0x3d8f5d[_0x1a4e('0x22e8')]===_0x2327c6)break _0x2a3e96;_0x56674b=void 0x0;}var _0x15a30a=_0x1b487e[_0x1a4e('0x179')](_0x2327c6);if(_0x15a30a&&0x200000===_0x15a30a[_0x1a4e('0x7b2')]&&_0x368e5a['getDeclarationOfKind'](_0x15a30a,0x101))break;}if('default'!==_0x2327c6&&(_0x56674b=_0x1b06ad(_0x1b487e,_0x2327c6,0x2807f3&_0x55ff7e))){if(!_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e)||!_0x146f6e['commonJsModuleIndicator']||_0x56674b[_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](_0x368e5a[_0x1a4e('0x23cd')]))break _0x2a3e96;_0x56674b=void 0x0;}break;case 0xf3:if(_0x56674b=_0x1b06ad(_0x54a27b(_0x146f6e)['exports'],_0x2327c6,0x8&_0x55ff7e))break _0x2a3e96;break;case 0x9a:case 0x99:if(_0x368e5a[_0x1a4e('0x2367')](_0x146f6e[_0x1a4e('0x11c')])&&!_0x368e5a['hasModifier'](_0x146f6e,0x20)){var _0x1369b6=_0x5deaec(_0x146f6e[_0x1a4e('0x11c')]);_0x1369b6&&_0x1369b6['locals']&&_0x1b06ad(_0x1369b6[_0x1a4e('0x283c')],_0x2327c6,0x401b3bf&_0x55ff7e)&&(_0x88bf03=_0x146f6e);}break;case 0xf0:case 0xd1:case 0xf1:if(_0x56674b=_0x1b06ad(_0x54a27b(_0x146f6e)[_0x1a4e('0x2369')]||_0x362306,_0x2327c6,0x40c09e8&_0x55ff7e)){if(!_0x3db98d(_0x56674b,_0x146f6e)){_0x56674b=void 0x0;break;}if(_0x415952&&_0x368e5a['hasModifier'](_0x415952,0x20))return void _0x2cb4f4(_0x1ad11f,_0x368e5a['Diagnostics'][_0x1a4e('0x2956')]);break _0x2a3e96;}if(0xd1===_0x146f6e['kind']&&0x20&_0x55ff7e){var _0x7151b1=_0x146f6e[_0x1a4e('0x2cb')];if(_0x7151b1&&_0x2327c6===_0x7151b1['escapedText']){_0x56674b=_0x146f6e[_0x1a4e('0xb1b')];break _0x2a3e96;}}break;case 0xd3:if(_0x415952===_0x146f6e['expression']&&0x56===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2381')]){var _0x188821=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x2367')](_0x188821)&&(_0x56674b=_0x1b06ad(_0x54a27b(_0x188821)[_0x1a4e('0x2369')],_0x2327c6,0x40c09e8&_0x55ff7e)))return void(_0x1adc17&&_0x2cb4f4(_0x1ad11f,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2957')]));}break;case 0x95:if(_0x434714=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],(_0x368e5a[_0x1a4e('0x2367')](_0x434714)||0xf1===_0x434714[_0x1a4e('0x146b')])&&(_0x56674b=_0x1b06ad(_0x54a27b(_0x434714)[_0x1a4e('0x2369')],_0x2327c6,0x40c09e8&_0x55ff7e)))return void _0x2cb4f4(_0x1ad11f,_0x368e5a['Diagnostics']['A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type']);break;case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:case 0xef:case 0xc5:if(0x3&_0x55ff7e&&_0x1a4e('0x2373')===_0x2327c6){_0x56674b=_0x3a2418;break _0x2a3e96;}break;case 0xc4:if(0x3&_0x55ff7e&&_0x1a4e('0x2373')===_0x2327c6){_0x56674b=_0x3a2418;break _0x2a3e96;}if(0x10&_0x55ff7e){var _0x5934d9=_0x146f6e[_0x1a4e('0x2cb')];if(_0x5934d9&&_0x2327c6===_0x5934d9[_0x1a4e('0x22f3')]){_0x56674b=_0x146f6e[_0x1a4e('0xb1b')];break _0x2a3e96;}}break;case 0x98:_0x146f6e[_0x1a4e('0x11c')]&&0x97===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]),_0x146f6e[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x2368')](_0x146f6e[_0x1a4e('0x11c')])&&(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]);break;case 0x130:case 0x129:_0x146f6e=_0x368e5a[_0x1a4e('0x23d6')](_0x146f6e);}_0x7568f7(_0x146f6e)&&(_0x46923a=_0x146f6e),_0x415952=_0x146f6e,_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];}if(!_0x2c9ec9||!_0x56674b||_0x46923a&&_0x56674b===_0x46923a[_0x1a4e('0xb1b')]||(_0x56674b[_0x1a4e('0x2958')]|=_0x55ff7e),!_0x56674b){if(_0x415952&&(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x117===_0x415952[_0x1a4e('0x146b')]),_0x415952[_0x1a4e('0x2349')]&&'exports'===_0x2327c6&&_0x55ff7e&_0x415952[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]))return _0x415952[_0x1a4e('0xb1b')];_0x420b32||(_0x56674b=_0x1b06ad(_0xa60cd8,_0x2327c6,_0x55ff7e));}if(!_0x56674b&&_0x57b692&&_0x368e5a[_0x1a4e('0x24e1')](_0x57b692)&&_0x57b692[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x23ae')](_0x57b692[_0x1a4e('0x11c')],!0x1))return _0x520a39;if(_0x56674b){if(_0x1adc17){if(_0x88bf03){var _0x1b8154=_0x88bf03[_0x1a4e('0x2cb')];return void _0x2cb4f4(_0x1ad11f,_0x368e5a['Diagnostics'][_0x1a4e('0x2959')],_0x368e5a[_0x1a4e('0x1676')](_0x1b8154),_0x3f15d1(_0xf79407));}if(_0x1ad11f&&(0x2&_0x55ff7e||(0x20&_0x55ff7e||0x180&_0x55ff7e)&&0x401b3bf==(0x401b3bf&_0x55ff7e))){var _0x2918ee=_0x244de7(_0x56674b);(0x2&_0x2918ee[_0x1a4e('0x7b2')]||0x20&_0x2918ee['flags']||0x180&_0x2918ee[_0x1a4e('0x7b2')])&&function(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x1749')]['assert'](!!(0x2&_0x146f6e['flags']||0x20&_0x146f6e['flags']||0x180&_0x146f6e[_0x1a4e('0x7b2')]));var _0x55ff7e=_0x368e5a[_0x1a4e('0x1c7')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a['isBlockOrCatchScoped'](_0x146f6e)||_0x368e5a[_0x1a4e('0x2367')](_0x146f6e)||0xf3===_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&!!_0x368e5a[_0x1a4e('0x24d8')](_0x146f6e);});if(void 0x0===_0x55ff7e)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x295a'));if(!(0x400000&_0x55ff7e[_0x1a4e('0x7b2')]||_0x164313(_0x55ff7e,_0x2327c6))){var _0x1adc17=void 0x0,_0xf79407=_0x368e5a[_0x1a4e('0x1676')](_0x368e5a[_0x1a4e('0x23e9')](_0x55ff7e));0x2&_0x146f6e[_0x1a4e('0x7b2')]?_0x1adc17=_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295b')],_0xf79407):0x20&_0x146f6e[_0x1a4e('0x7b2')]?_0x1adc17=_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x295c')],_0xf79407):0x100&_0x146f6e[_0x1a4e('0x7b2')]?_0x1adc17=_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295d')],_0xf79407):(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!(0x80&_0x146f6e[_0x1a4e('0x7b2')])),_0x239ab2[_0x1a4e('0x2781')]&&(_0x1adc17=_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295c')],_0xf79407))),_0x1adc17&&_0x4e173b(_0x1adc17,_0x368e5a[_0x1a4e('0x2354')](_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295e')],_0xf79407));}}(_0x2918ee,_0x1ad11f);}if(_0x56674b&&_0x35bd0a&&0x401b3bf==(0x401b3bf&_0x55ff7e)&&!(0x200000&_0x57b692[_0x1a4e('0x7b2')])){var _0x3c5414=_0x41e7a5(_0x56674b);_0x368e5a[_0x1a4e('0x1e')](_0x3c5414[_0x1a4e('0x22e5')])&&_0x368e5a['every'](_0x3c5414[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2520')](_0x146f6e)||_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e)&&!!_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2874')];})&&_0x2cb4f4(_0x1ad11f,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295f')],_0x368e5a['unescapeLeadingUnderscores'](_0x2327c6));}}return _0x56674b;}if(_0x1adc17&&(!_0x1ad11f||!(function(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)||_0x146f6e[_0x1a4e('0x22f3')]!==_0x2327c6||_0x26a6e6(_0x146f6e)||_0x2e5e8d(_0x146f6e))return!0x1;for(var _0x1adc17=_0x368e5a[_0x1a4e('0x239b')](_0x146f6e,!0x1),_0xf79407=_0x1adc17;_0xf79407;){if(_0x368e5a[_0x1a4e('0x2367')](_0xf79407[_0x1a4e('0x11c')])){var _0x2c9ec9=_0x54a27b(_0xf79407[_0x1a4e('0x11c')]);if(!_0x2c9ec9)break;var _0x420b32=_0x38797c(_0x2c9ec9);if(_0x3c127b(_0x420b32,_0x2327c6))return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2960')],_0x3f15d1(_0x55ff7e),_0x22aa27(_0x2c9ec9)),!0x0;if(_0xf79407===_0x1adc17&&!_0x368e5a[_0x1a4e('0x24c6')](_0xf79407,0x20)){var _0x1b06ad=_0x287d7b(_0x2c9ec9)[_0x1a4e('0x2886')];if(_0x3c127b(_0x1b06ad,_0x2327c6))return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2961')],_0x3f15d1(_0x55ff7e)),!0x0;}}_0xf79407=_0xf79407[_0x1a4e('0x11c')];}return!0x1;}(_0x1ad11f,_0x2327c6,_0xf79407)||_0x58664e(_0x1ad11f)||function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=0x780|(_0x368e5a['isInJSFile'](_0x146f6e)?0x401b3bf:0x0);if(_0x55ff7e===_0x1adc17){var _0xf79407=_0x2825c7(_0x1e09ab(_0x146f6e,_0x2327c6,0x40c09e8&~_0x1adc17,void 0x0,void 0x0,!0x1)),_0x2c9ec9=_0x146f6e[_0x1a4e('0x11c')];if(_0xf79407){if(_0x368e5a[_0x1a4e('0x24e9')](_0x2c9ec9)){_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x2c9ec9[_0x1a4e('0x5f')]===_0x146f6e,_0x1a4e('0x2962'));var _0x420b32=_0x2c9ec9[_0x1a4e('0x5d')]['escapedText'],_0x1b06ad=_0x3c127b(_0x287d7b(_0xf79407),_0x420b32);if(_0x1b06ad)return _0x2cb4f4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2963')],_0x368e5a[_0x1a4e('0x24d1')](_0x2327c6),_0x368e5a['unescapeLeadingUnderscores'](_0x420b32)),!0x0;}return _0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2964')],_0x368e5a['unescapeLeadingUnderscores'](_0x2327c6)),!0x0;}}return!0x1;}(_0x1ad11f,_0x2327c6,_0x55ff7e)||function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x401b3bf&_0x55ff7e){if('any'===_0x2327c6||_0x1a4e('0x9')===_0x2327c6||'number'===_0x2327c6||'boolean'===_0x2327c6||'never'===_0x2327c6)return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2965')],_0x368e5a[_0x1a4e('0x24d1')](_0x2327c6)),!0x0;var _0x1adc17=_0x2825c7(_0x1e09ab(_0x146f6e,_0x2327c6,0xc0840,void 0x0,void 0x0,!0x1));if(_0x1adc17&&!(0x400&_0x1adc17['flags'])){var _0xf79407=_0x1a4e('0xf55')===_0x2327c6||'Symbol'===_0x2327c6?_0x368e5a['Diagnostics'][_0x1a4e('0x2966')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2965')];return _0x2cb4f4(_0x146f6e,_0xf79407,_0x368e5a[_0x1a4e('0x24d1')](_0x2327c6)),!0x0;}}return!0x1;}(_0x1ad11f,_0x2327c6,_0x55ff7e)||function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x1b217&_0x55ff7e){var _0x1adc17=_0x2825c7(_0x1e09ab(_0x146f6e,_0x2327c6,0x400,void 0x0,void 0x0,!0x1));if(_0x1adc17)return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2967')],_0x368e5a['unescapeLeadingUnderscores'](_0x2327c6)),!0x0;}else if(0xc0840&_0x55ff7e){var _0x1adc17=_0x2825c7(_0x1e09ab(_0x146f6e,_0x2327c6,0x600,void 0x0,void 0x0,!0x1));if(_0x1adc17)return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Cannot_use_namespace_0_as_a_type'],_0x368e5a[_0x1a4e('0x24d1')](_0x2327c6)),!0x0;}return!0x1;}(_0x1ad11f,_0x2327c6,_0x55ff7e)))){var _0x4f3c04=void 0x0;if(_0x326eae&&_0x47cedd<_0x3a4207&&(_0x4f3c04=_0x31a7e0(_0x57b692,_0x2327c6,_0x55ff7e))){var _0x43e7af=_0x22aa27(_0x4f3c04),_0x547b08=_0x2cb4f4(_0x1ad11f,_0x326eae,_0x3f15d1(_0xf79407),_0x43e7af);_0x4f3c04[_0x1a4e('0x2340')]&&_0x4e173b(_0x547b08,_0x368e5a['createDiagnosticForNode'](_0x4f3c04[_0x1a4e('0x2340')],_0x368e5a[_0x1a4e('0x167d')]['_0_is_declared_here'],_0x43e7af));}_0x4f3c04||_0x2cb4f4(_0x1ad11f,_0x1adc17,_0x3f15d1(_0xf79407)),_0x47cedd++;}}function _0x7568f7(_0x368e5a){switch(_0x368e5a['kind']){case 0xef:case 0xf0:case 0xf1:case 0xf3:case 0xf2:case 0xf4:return!0x0;default:return!0x1;}}function _0x3f15d1(_0x146f6e){return _0x368e5a[_0x1a4e('0xb19')](_0x146f6e)?_0x368e5a[_0x1a4e('0x24d1')](_0x146f6e):_0x368e5a['declarationNameToString'](_0x146f6e);}function _0x3db98d(_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x22e5')];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0x96===_0xf79407[_0x1a4e('0x146b')]&&(_0x368e5a[_0x1a4e('0x24e0')](_0xf79407['parent'])?_0x368e5a[_0x1a4e('0x23d6')](_0xf79407['parent']):_0xf79407[_0x1a4e('0x11c')])===_0x2327c6)return!(_0x368e5a[_0x1a4e('0x24e0')](_0xf79407[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x1c7')](_0xf79407[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x2455')],_0x368e5a[_0x1a4e('0x23cd')]));}return!0x1;}function _0x58664e(_0x146f6e){var _0x2327c6=function _0x146f6e(_0x2327c6){switch(_0x2327c6['kind']){case 0x48:case 0xbd:return _0x2327c6[_0x1a4e('0x11c')]?_0x146f6e(_0x2327c6[_0x1a4e('0x11c')]):void 0x0;case 0xd3:if(_0x368e5a[_0x1a4e('0x2463')](_0x2327c6['expression']))return _0x2327c6['expression'];default:return;}}(_0x146f6e);return!(!_0x2327c6||!_0x151d70(_0x2327c6,0x40,!0x0)||(_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2968')],_0x368e5a[_0x1a4e('0x1675')](_0x2327c6)),0x0));}function _0x46ea80(_0x146f6e,_0x2327c6,_0x55ff7e){return!!_0x2327c6&&!!_0x368e5a['findAncestor'](_0x146f6e,function(_0x146f6e){return _0x146f6e===_0x55ff7e||_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)?_0x1a4e('0x1b55'):_0x146f6e===_0x2327c6;});}function _0x157d85(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xf8:return _0x368e5a;case 0xfa:return _0x368e5a['parent'];case 0xfb:return _0x368e5a['parent'][_0x1a4e('0x11c')];case 0xfd:return _0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')];default:return;}}function _0x467425(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c7')](_0x146f6e[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x23ec')]);}function _0x338727(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x0')][_0x1a4e('0x179')](_0x1a4e('0x19b4'));return _0x55ff7e?_0x3c127b(_0x38797c(_0x55ff7e),_0x146f6e):_0x2825c7(_0x368e5a[_0x1a4e('0x0')][_0x1a4e('0x179')](_0x146f6e),_0x2327c6);}function _0x5cd8ed(_0x146f6e){return _0x368e5a['isExportAssignment'](_0x146f6e)&&!_0x146f6e[_0x1a4e('0x267b')]||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x200)||_0x368e5a[_0x1a4e('0x2543')](_0x146f6e);}function _0x5d3d74(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x3c5414)return!0x1;if(!_0x146f6e||_0x146f6e[_0x1a4e('0x2423')]){var _0x1adc17=_0x338727(_0x2327c6,_0x1a4e('0x8'),!0x0);return!(_0x1adc17&&_0x368e5a[_0x1a4e('0x1c2')](_0x1adc17[_0x1a4e('0x22e5')],_0x5cd8ed)||_0x338727(_0x2327c6,_0x368e5a[_0x1a4e('0x22f4')]('__esModule'),_0x55ff7e));}return _0x368e5a[_0x1a4e('0x23a9')](_0x146f6e)?!_0x146f6e['externalModuleIndicator']&&!_0x338727(_0x2327c6,_0x368e5a['escapeLeadingUnderscores']('__esModule'),_0x55ff7e):_0x3f064d(_0x2327c6);}function _0x8ea572(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e=!0x1);var _0x1adc17=_0x5897a9(_0x146f6e,_0x146f6e[_0x1a4e('0x23c5')]),_0xf79407=_0x5e4c96(_0x1adc17,_0x146f6e['moduleSpecifier'],_0x55ff7e);if(_0xf79407){var _0x2c9ec9=_0x2327c6['propertyName']||_0x2327c6[_0x1a4e('0x2cb')];if(_0x2c9ec9[_0x1a4e('0x22f3')]){if(_0x368e5a['isShorthandAmbientModuleSymbol'](_0x1adc17))return _0x1adc17;var _0x420b32=void 0x0;_0x420b32=_0x1adc17&&_0x1adc17[_0x1a4e('0x0')]&&_0x1adc17[_0x1a4e('0x0')]['get']('export=')?_0x3c127b(_0x38797c(_0xf79407),_0x2c9ec9[_0x1a4e('0x22f3')]):function(_0x368e5a,_0x146f6e){if(0x3&_0x368e5a[_0x1a4e('0x7b2')]){var _0x2327c6=_0x368e5a['valueDeclaration'][_0x1a4e('0x40')];if(_0x2327c6)return _0x2825c7(_0x3c127b(_0x3fafb1(_0x2327c6),_0x146f6e));}}(_0xf79407,_0x2c9ec9[_0x1a4e('0x22f3')]),_0x420b32=_0x2825c7(_0x420b32,_0x55ff7e);var _0x1b06ad=function(_0x368e5a,_0x146f6e,_0x2327c6){if(0x600&_0x368e5a['flags'])return _0x2825c7(_0x768c45(_0x368e5a)[_0x1a4e('0x179')](_0x146f6e),_0x2327c6);}(_0xf79407,_0x2c9ec9[_0x1a4e('0x22f3')],_0x55ff7e);!_0x1b06ad&&_0x3c5414&&_0x1a4e('0x8')===_0x2c9ec9[_0x1a4e('0x22f3')]&&(_0x1b06ad=_0x9d9138(_0x1adc17,_0x55ff7e)||_0x2825c7(_0x1adc17,_0x55ff7e));var _0x326eae=_0x1b06ad&&_0x420b32&&_0x1b06ad!==_0x420b32?function(_0x146f6e,_0x2327c6){if(_0x146f6e===_0x450499&&_0x2327c6===_0x450499)return _0x450499;if(0x40c0fe8&_0x146f6e['flags'])return _0x146f6e;var _0x55ff7e=_0x4ecc5b(_0x146f6e[_0x1a4e('0x7b2')]|_0x2327c6['flags'],_0x146f6e['escapedName']);return _0x55ff7e[_0x1a4e('0x22e5')]=_0x368e5a[_0x1a4e('0x25cc')](_0x368e5a[_0x1a4e('0x1717')](_0x146f6e[_0x1a4e('0x22e5')],_0x2327c6[_0x1a4e('0x22e5')]),_0x368e5a[_0x1a4e('0x2969')]),_0x55ff7e[_0x1a4e('0x11c')]=_0x146f6e['parent']||_0x2327c6[_0x1a4e('0x11c')],_0x146f6e[_0x1a4e('0x2340')]&&(_0x55ff7e['valueDeclaration']=_0x146f6e['valueDeclaration']),_0x2327c6[_0x1a4e('0x2369')]&&(_0x55ff7e[_0x1a4e('0x2369')]=_0x2327c6[_0x1a4e('0x2369')]),_0x146f6e[_0x1a4e('0x0')]&&(_0x55ff7e[_0x1a4e('0x0')]=_0x146f6e[_0x1a4e('0x0')]),_0x55ff7e;}(_0x420b32,_0x1b06ad):_0x1b06ad||_0x420b32;if(!_0x326eae){var _0x56674b=_0x2ed35d(_0x1adc17,_0x146f6e),_0x415952=_0x368e5a[_0x1a4e('0x1676')](_0x2c9ec9),_0x46923a=_0x16943a(_0x2c9ec9,_0xf79407);if(void 0x0!==_0x46923a){var _0x88bf03=_0x22aa27(_0x46923a),_0x434714=_0x2cb4f4(_0x2c9ec9,_0x368e5a['Diagnostics']['Module_0_has_no_exported_member_1_Did_you_mean_2'],_0x56674b,_0x415952,_0x88bf03);_0x46923a['valueDeclaration']&&_0x4e173b(_0x434714,_0x368e5a['createDiagnosticForNode'](_0x46923a[_0x1a4e('0x2340')],_0x368e5a['Diagnostics'][_0x1a4e('0x295e')],_0x88bf03));}else _0x2cb4f4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x296a')],_0x56674b,_0x415952);}return _0x326eae;}}}function _0x1263fb(_0x368e5a,_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x23c5')]?_0x8ea572(_0x368e5a['parent']['parent'],_0x368e5a,_0x2327c6):_0x151d70(_0x368e5a[_0x1a4e('0x81a')]||_0x368e5a[_0x1a4e('0x2cb')],_0x146f6e,!0x1,_0x2327c6);}function _0x5a281b(_0x146f6e,_0x2327c6){switch(void 0x0===_0x2327c6&&(_0x2327c6=!0x1),_0x146f6e[_0x1a4e('0x146b')]){case 0xf8:return function(_0x146f6e,_0x2327c6){return 0x103===_0x146f6e[_0x1a4e('0x236d')][_0x1a4e('0x146b')]?_0x9d9138(_0x5897a9(_0x146f6e,_0x368e5a[_0x1a4e('0x23a7')](_0x146f6e))):_0x43349a(_0x146f6e[_0x1a4e('0x236d')],_0x2327c6);}(_0x146f6e,_0x2327c6);case 0xfa:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x5897a9(_0x146f6e,_0x146f6e['parent'][_0x1a4e('0x23c5')]);if(_0x55ff7e){var _0x1adc17=void 0x0;_0x1adc17=_0x368e5a[_0x1a4e('0x233f')](_0x55ff7e)?_0x55ff7e:_0x338727(_0x55ff7e,_0x1a4e('0x8'),_0x2327c6);var _0xf79407=_0x5d3d74(_0x368e5a[_0x1a4e('0x1c7')](_0x55ff7e[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x22f0')]),_0x55ff7e,_0x2327c6);if(_0x1adc17||_0xf79407){if(_0xf79407)return _0x9d9138(_0x55ff7e,_0x2327c6)||_0x2825c7(_0x55ff7e,_0x2327c6);}else _0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x296b')],_0x22aa27(_0x55ff7e));return _0x1adc17;}}(_0x146f6e,_0x2327c6);case 0xfb:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x23c5')];return _0x5e4c96(_0x5897a9(_0x368e5a,_0x2327c6),_0x2327c6,_0x146f6e);}(_0x146f6e,_0x2327c6);case 0xfd:return function(_0x368e5a,_0x146f6e){return _0x8ea572(_0x368e5a[_0x1a4e('0x11c')]['parent']['parent'],_0x368e5a,_0x146f6e);}(_0x146f6e,_0x2327c6);case 0x101:return _0x1263fb(_0x146f6e,0x40dbfff,_0x2327c6);case 0xfe:case 0xcc:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['isExportAssignment'](_0x146f6e)?_0x146f6e[_0x1a4e('0x2302')]:_0x146f6e[_0x1a4e('0x5d')];if(_0x368e5a[_0x1a4e('0x237c')](_0x55ff7e))return _0x4e94e8(_0x55ff7e)[_0x1a4e('0xb1b')];var _0x1adc17=_0x151d70(_0x55ff7e,0x40dbfff,!0x0,_0x2327c6);return _0x1adc17||(_0x4e94e8(_0x55ff7e),_0x165ecf(_0x55ff7e)[_0x1a4e('0x296c')]);}(_0x146f6e,_0x2327c6);case 0xf7:return function(_0x368e5a,_0x146f6e){return _0x9d9138(_0x368e5a['parent'][_0x1a4e('0xb1b')],_0x146f6e);}(_0x146f6e,_0x2327c6);default:return _0x368e5a['Debug']['fail']();}}function _0x193a81(_0x368e5a,_0x146f6e){return void 0x0===_0x146f6e&&(_0x146f6e=0x40dbfff),!(!_0x368e5a||0x200000!=(_0x368e5a['flags']&(0x200000|_0x146f6e))&&!(0x200000&_0x368e5a[_0x1a4e('0x7b2')]&&0x4000000&_0x368e5a[_0x1a4e('0x7b2')]));}function _0x2825c7(_0x368e5a,_0x146f6e){return!_0x146f6e&&_0x193a81(_0x368e5a)?_0x4f0953(_0x368e5a):_0x368e5a;}function _0x4f0953(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0!=(0x200000&_0x146f6e['flags']),_0x1a4e('0x296d'));var _0x2327c6=_0xdba731(_0x146f6e);if(_0x2327c6[_0x1a4e('0xd95')])_0x2327c6[_0x1a4e('0xd95')]===_0x5b9185&&(_0x2327c6['target']=_0x450499);else{_0x2327c6[_0x1a4e('0xd95')]=_0x5b9185;var _0x55ff7e=_0x467425(_0x146f6e);if(!_0x55ff7e)return _0x368e5a[_0x1a4e('0x1749')]['fail']();var _0x1adc17=_0x5a281b(_0x55ff7e);_0x2327c6[_0x1a4e('0xd95')]===_0x5b9185?_0x2327c6[_0x1a4e('0xd95')]=_0x1adc17||_0x450499:_0x2cb4f4(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x296e')],_0x22aa27(_0x146f6e));}return _0x2327c6[_0x1a4e('0xd95')];}function _0x12a093(_0x368e5a){var _0x146f6e=_0x54a27b(_0x368e5a),_0x2327c6=_0x4f0953(_0x146f6e);_0x2327c6&&(_0x2327c6===_0x450499||0x401b3bf&_0x2327c6[_0x1a4e('0x7b2')]&&!_0x242f5f(_0x2327c6))&&_0x18e350(_0x146f6e);}function _0x18e350(_0x146f6e){var _0x2327c6=_0xdba731(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x284e')]){_0x2327c6[_0x1a4e('0x284e')]=!0x0;var _0x55ff7e=_0x467425(_0x146f6e);if(!_0x55ff7e)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();0xfe===_0x55ff7e[_0x1a4e('0x146b')]?_0x31ebf4(_0x55ff7e[_0x1a4e('0x2302')]):0x101===_0x55ff7e[_0x1a4e('0x146b')]?_0x31ebf4(_0x55ff7e[_0x1a4e('0x81a')]||_0x55ff7e['name']):_0x368e5a[_0x1a4e('0x23a8')](_0x55ff7e)&&_0x31ebf4(_0x55ff7e['moduleReference']);}}function _0x43349a(_0x146f6e,_0x2327c6){return 0x48===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2466')](_0x146f6e)&&(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]),0x48===_0x146f6e['kind']||0x94===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x151d70(_0x146f6e,0x780,!0x1,_0x2327c6):(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xf8===_0x146f6e[_0x1a4e('0x11c')]['kind']),_0x151d70(_0x146f6e,0x40dbfff,!0x1,_0x2327c6));}function _0x2ed35d(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x11c')]?_0x2ed35d(_0x368e5a[_0x1a4e('0x11c')],_0x146f6e)+'.'+_0x22aa27(_0x368e5a):_0x22aa27(_0x368e5a,_0x146f6e,void 0x0,0x14);}function _0x151d70(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(!_0x368e5a[_0x1a4e('0x2327')](_0x146f6e)){var _0x2c9ec9,_0x420b32=0x780|(_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)?0x401b3bf&_0x2327c6:0x0);if(0x48===_0x146f6e['kind']){var _0x1b06ad=_0x2327c6===_0x420b32?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x296f')]:_0x181521(_0x5d499f(_0x146f6e)[_0x1a4e('0x22f3')]),_0x326eae=_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)?function(_0x146f6e,_0x2327c6){if(_0x5e0ad2(_0x146f6e[_0x1a4e('0x11c')])){var _0x55ff7e=function(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2570')](_0x146f6e)||0x200000&_0x146f6e[_0x1a4e('0x7b2')]?_0x368e5a['isJSDocTypeAlias'](_0x146f6e):'quit';})){var _0x2327c6=_0x368e5a[_0x1a4e('0x23d6')](_0x146f6e);if(_0x368e5a['isExpressionStatement'](_0x2327c6)&&_0x368e5a[_0x1a4e('0x236e')](_0x2327c6[_0x1a4e('0x2302')])&&0x3===_0x368e5a[_0x1a4e('0x23ba')](_0x2327c6['expression'])){var _0x55ff7e=_0x54a27b(_0x2327c6[_0x1a4e('0x2302')]['left']);if(_0x55ff7e)return _0x129231(_0x55ff7e);}if((_0x368e5a[_0x1a4e('0x2867')](_0x2327c6)||_0x368e5a[_0x1a4e('0x23b4')](_0x2327c6))&&_0x368e5a['isBinaryExpression'](_0x2327c6['parent'][_0x1a4e('0x11c')])&&0x6===_0x368e5a[_0x1a4e('0x23ba')](_0x2327c6[_0x1a4e('0x11c')]['parent'])){var _0x55ff7e=_0x54a27b(_0x2327c6['parent'][_0x1a4e('0x11c')][_0x1a4e('0x5f')]);if(_0x55ff7e)return _0x129231(_0x55ff7e);}var _0x1adc17=_0x368e5a[_0x1a4e('0x23d5')](_0x2327c6);if(_0x1adc17){var _0x55ff7e=_0x54a27b(_0x1adc17);return _0x55ff7e&&_0x55ff7e['valueDeclaration'];}}}(_0x146f6e[_0x1a4e('0x11c')]);if(_0x55ff7e)return _0x1e09ab(_0x55ff7e,_0x146f6e[_0x1a4e('0x22f3')],_0x2327c6,void 0x0,_0x146f6e,!0x0);}}(_0x146f6e,_0x2327c6):void 0x0;if(!(_0x2c9ec9=_0x1e09ab(_0xf79407||_0x146f6e,_0x146f6e[_0x1a4e('0x22f3')],_0x2327c6,_0x55ff7e||_0x326eae?void 0x0:_0x1b06ad,_0x146f6e,!0x0)))return _0x326eae;}else{if(0x94!==_0x146f6e[_0x1a4e('0x146b')]&&0xbd!==_0x146f6e[_0x1a4e('0x146b')])throw _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e,_0x1a4e('0x2970'));var _0x56674b=0x94===_0x146f6e['kind']?_0x146f6e['left']:_0x146f6e[_0x1a4e('0x2302')],_0x415952=0x94===_0x146f6e['kind']?_0x146f6e[_0x1a4e('0x5d')]:_0x146f6e[_0x1a4e('0x2cb')],_0x46923a=_0x151d70(_0x56674b,_0x420b32,_0x55ff7e,!0x1,_0xf79407);if(!_0x46923a||_0x368e5a['nodeIsMissing'](_0x415952))return;if(_0x46923a===_0x450499)return _0x46923a;if(_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&_0x46923a['valueDeclaration']&&_0x368e5a['isVariableDeclaration'](_0x46923a[_0x1a4e('0x2340')])&&_0x46923a[_0x1a4e('0x2340')][_0x1a4e('0x236a')]&&_0x35b6f2(_0x46923a[_0x1a4e('0x2340')][_0x1a4e('0x236a')])){var _0x88bf03=_0x46923a[_0x1a4e('0x2340')][_0x1a4e('0x236a')][_0x1a4e('0x2373')][0x0],_0x434714=_0x5897a9(_0x88bf03,_0x88bf03);if(_0x434714){var _0x57b692=_0x9d9138(_0x434714);_0x57b692&&(_0x46923a=_0x57b692);}}if(!(_0x2c9ec9=_0x5d1705(_0x768c45(_0x46923a),_0x415952[_0x1a4e('0x22f3')],_0x2327c6)))return void(_0x55ff7e||_0x2cb4f4(_0x415952,_0x368e5a['Diagnostics'][_0x1a4e('0x2971')],_0x2ed35d(_0x46923a),_0x368e5a['declarationNameToString'](_0x415952)));}return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0==(0x1&_0x368e5a[_0x1a4e('0x248b')](_0x2c9ec9)),_0x1a4e('0x2955')),_0x2c9ec9[_0x1a4e('0x7b2')]&_0x2327c6||_0x1adc17?_0x2c9ec9:_0x4f0953(_0x2c9ec9);}}function _0x129231(_0x146f6e){var _0x2327c6=_0x146f6e['parent'][_0x1a4e('0x2340')];if(_0x2327c6)return(_0x368e5a[_0x1a4e('0x23b0')](_0x2327c6)?_0x368e5a[_0x1a4e('0x23b3')](_0x2327c6):_0x368e5a[_0x1a4e('0x2576')](_0x2327c6)?_0x368e5a[_0x1a4e('0x23b2')](_0x2327c6):void 0x0)||_0x2327c6;}function _0x5897a9(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x3d891b(_0x146f6e,_0x2327c6,_0x55ff7e?void 0x0:_0x368e5a[_0x1a4e('0x167d')]['Cannot_find_module_0']);}function _0x3d891b(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return void 0x0===_0x1adc17&&(_0x1adc17=!0x1),_0x368e5a['isStringLiteralLike'](_0x2327c6)?_0x280142(_0x146f6e,_0x2327c6['text'],_0x55ff7e,_0x2327c6,_0x1adc17):void 0x0;}function _0x280142(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){if(void 0x0===_0x2c9ec9&&(_0x2c9ec9=!0x1),void 0x0!==_0x2327c6){_0x368e5a[_0x1a4e('0xdfb')](_0x2327c6,'@types/')&&_0x2cb4f4(_0xf79407,_0x368e5a['Diagnostics']['Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1'],_0x368e5a[_0x1a4e('0x1764')](_0x2327c6,_0x1a4e('0x2829')),_0x2327c6);var _0x420b32=_0x4cd9fb(_0x2327c6,!0x0);if(_0x420b32)return _0x420b32;var _0x1b06ad=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e),_0x326eae=_0x368e5a[_0x1a4e('0x2311')](_0x1b06ad,_0x2327c6),_0x56674b=_0x326eae&&_0x368e5a[_0x1a4e('0x2972')](_0x239ab2,_0x326eae),_0x415952=_0x326eae&&!_0x56674b&&_0x55ff7e[_0x1a4e('0x288f')](_0x326eae[_0x1a4e('0x231a')]);if(_0x415952)return _0x415952['symbol']?(_0x326eae[_0x1a4e('0x2318')]&&!_0x368e5a[_0x1a4e('0x2973')](_0x326eae['extension'])&&_0x14591e(!0x1,_0xf79407,_0x326eae,_0x2327c6),_0x41e7a5(_0x415952[_0x1a4e('0xb1b')])):void(_0x1adc17&&_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2974')],_0x415952[_0x1a4e('0x1b39')]));if(_0x27703f){var _0x46923a=_0x368e5a[_0x1a4e('0x25e8')](_0x27703f,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2975')];},_0x2327c6);if(_0x46923a)return _0x41e7a5(_0x46923a[_0x1a4e('0xb1b')]);}if(_0x326eae&&!_0x368e5a[_0x1a4e('0x2973')](_0x326eae[_0x1a4e('0x2319')])&&void 0x0===_0x56674b||_0x56674b===_0x368e5a[_0x1a4e('0x167d')]['Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type'])_0x2c9ec9?_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2976')],_0x2327c6,_0x326eae['resolvedFileName']):_0x14591e(_0x59c9de&&!!_0x1adc17,_0xf79407,_0x326eae,_0x2327c6);else if(_0x1adc17){if(_0x368e5a[_0x1a4e('0x22de')](_0x2327c6)){var _0x88bf03=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e),_0x434714=_0x88bf03[_0x1a4e('0x2977')];if(_0x434714)for(var _0x57b692=_0x368e5a[_0x1a4e('0x22ea')](_0x2327c6,_0x368e5a[_0x1a4e('0x1671')](_0x88bf03[_0x1a4e('0x1b39')])),_0x1ad11f=0x0,_0x35bd0a=['.ts','.tsx'];_0x1ad11f<_0x35bd0a['length'];_0x1ad11f++){var _0x36aa2e=_0x57b692+_0x35bd0a[_0x1ad11f];if(_0x434714[_0x1a4e('0x3e')](_0x36aa2e)>=0x0)return void _0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2978')],_0x2327c6,_0x36aa2e);}}if(_0x56674b)_0x2cb4f4(_0xf79407,_0x56674b,_0x2327c6,_0x326eae[_0x1a4e('0x231a')]);else{var _0x30b3ec=_0x368e5a[_0x1a4e('0x246a')](_0x2327c6);_0x30b3ec?_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2979')],_0x30b3ec,_0x368e5a[_0x1a4e('0x25d8')](_0x2327c6,_0x30b3ec)):!_0x239ab2['resolveJsonModule']&&_0x368e5a['fileExtensionIs'](_0x2327c6,_0x1a4e('0x1a87'))&&_0x368e5a[_0x1a4e('0x297a')](_0x239ab2)===_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')]&&_0x368e5a[_0x1a4e('0x258c')](_0x239ab2)?_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x297b')],_0x2327c6):_0x2cb4f4(_0xf79407,_0x1adc17,_0x2327c6);}}}}function _0x14591e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x27d5')],_0x420b32=_0x55ff7e[_0x1a4e('0x231a')],_0x1b06ad=!_0x368e5a[_0x1a4e('0x22dd')](_0x1adc17)&&_0x2c9ec9?(_0xf79407=_0x2c9ec9[_0x1a4e('0x2cb')],_0x35bd0a()[_0x1a4e('0x178')](_0x368e5a['getTypesPackageName'](_0xf79407))?_0x368e5a[_0x1a4e('0x2586')](void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x297c')],_0x2c9ec9['name'],_0x368e5a[_0x1a4e('0x297d')](_0x2c9ec9['name'])):_0x368e5a[_0x1a4e('0x2586')](void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x297e')],_0x1adc17,_0x368e5a[_0x1a4e('0x297d')](_0x2c9ec9['name']))):void 0x0;_0x44f98b(_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x2586')](_0x1b06ad,_0x368e5a['Diagnostics'][_0x1a4e('0x297f')],_0x1adc17,_0x420b32));}function _0x9d9138(_0x146f6e,_0x2327c6){if(_0x146f6e)return _0x41e7a5(function(_0x146f6e,_0x2327c6){if(!_0x146f6e||_0x146f6e===_0x450499||_0x146f6e===_0x2327c6||0x1===_0x2327c6['exports']['size']||0x200000&_0x146f6e[_0x1a4e('0x7b2')])return _0x146f6e;var _0x55ff7e=_0x1cfce9(_0x146f6e);return void 0x0===_0x55ff7e[_0x1a4e('0x0')]&&(_0x55ff7e[_0x1a4e('0x7b2')]=0x200|_0x55ff7e[_0x1a4e('0x7b2')],_0x55ff7e[_0x1a4e('0x0')]=_0x368e5a[_0x1a4e('0x22e7')]()),_0x2327c6[_0x1a4e('0x0')][_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){_0x1a4e('0x19b4')!==_0x146f6e&&_0x55ff7e[_0x1a4e('0x0')][_0x1a4e('0x17a')](_0x146f6e,_0x55ff7e[_0x1a4e('0x0')][_0x1a4e('0x178')](_0x146f6e)?_0x25fcee(_0x55ff7e['exports'][_0x1a4e('0x179')](_0x146f6e),_0x368e5a):_0x368e5a);}),_0x55ff7e;}(_0x2825c7(_0x146f6e['exports'][_0x1a4e('0x179')](_0x1a4e('0x19b4')),_0x2327c6),_0x146f6e))||_0x146f6e;}function _0x5e4c96(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x9d9138(_0x146f6e,_0x55ff7e);if(!_0x55ff7e&&_0x1adc17){if(!(0x603&_0x1adc17['flags']||_0x368e5a['getDeclarationOfKind'](_0x1adc17,0x117)))return _0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2980')],_0x22aa27(_0x146f6e)),_0x1adc17;if(_0x239ab2['esModuleInterop']){var _0xf79407=_0x2327c6['parent'];if(_0x368e5a[_0x1a4e('0x2981')](_0xf79407)&&_0x368e5a[_0x1a4e('0x2982')](_0xf79407)||_0x368e5a['isImportCall'](_0xf79407)){var _0x2c9ec9=_0x38797c(_0x1adc17),_0x420b32=_0x53adbb(_0x2c9ec9,0x0);if(_0x420b32&&_0x420b32['length']||(_0x420b32=_0x53adbb(_0x2c9ec9,0x1)),_0x420b32&&_0x420b32['length']){var _0x1b06ad=_0x42b649(_0x2c9ec9,_0x1adc17,_0x146f6e),_0x326eae=_0x4ecc5b(_0x1adc17[_0x1a4e('0x7b2')],_0x1adc17['escapedName']);_0x326eae[_0x1a4e('0x22e5')]=_0x1adc17[_0x1a4e('0x22e5')]?_0x1adc17['declarations']['slice']():[],_0x326eae[_0x1a4e('0x11c')]=_0x1adc17[_0x1a4e('0x11c')],_0x326eae[_0x1a4e('0xd95')]=_0x1adc17,_0x326eae[_0x1a4e('0x2983')]=_0xf79407,_0x1adc17['valueDeclaration']&&(_0x326eae['valueDeclaration']=_0x1adc17['valueDeclaration']),_0x1adc17[_0x1a4e('0x286f')]&&(_0x326eae[_0x1a4e('0x286f')]=!0x0),_0x1adc17[_0x1a4e('0x2369')]&&(_0x326eae[_0x1a4e('0x2369')]=_0x368e5a[_0x1a4e('0x230c')](_0x1adc17[_0x1a4e('0x2369')])),_0x1adc17[_0x1a4e('0x0')]&&(_0x326eae[_0x1a4e('0x0')]=_0x368e5a[_0x1a4e('0x230c')](_0x1adc17[_0x1a4e('0x0')]));var _0x56674b=_0x4a724b(_0x1b06ad);return _0x326eae[_0x1a4e('0x40')]=_0x1178b7(_0x326eae,_0x56674b[_0x1a4e('0x2369')],_0x368e5a[_0x1a4e('0x1700')],_0x368e5a['emptyArray'],_0x56674b[_0x1a4e('0x28bb')],_0x56674b['numberIndexInfo']),_0x326eae;}}}}return _0x1adc17;}function _0x3f064d(_0x368e5a){return void 0x0!==_0x368e5a[_0x1a4e('0x0')][_0x1a4e('0x179')](_0x1a4e('0x19b4'));}function _0x428f3b(_0x368e5a){return _0x23ca4e(_0x2e8f28(_0x368e5a));}function _0x408b54(_0x368e5a,_0x146f6e){var _0x2327c6=_0x2e8f28(_0x146f6e);if(_0x2327c6)return _0x2327c6[_0x1a4e('0x179')](_0x368e5a);}function _0x768c45(_0x368e5a){return 0x20&_0x368e5a[_0x1a4e('0x7b2')]?_0x4d0a0b(_0x368e5a,_0x1a4e('0x293d')):0x600&_0x368e5a[_0x1a4e('0x7b2')]?_0x2e8f28(_0x368e5a):_0x368e5a['exports']||_0x362306;}function _0x2e8f28(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);return _0x146f6e[_0x1a4e('0x293d')]||(_0x146f6e[_0x1a4e('0x293d')]=_0x193dc0(_0x368e5a));}function _0x4fea6a(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x2327c6&&_0x2327c6[_0x1a4e('0x3b')](function(_0x2327c6,_0xf79407){if(_0x1a4e('0x8')!==_0xf79407){var _0x2c9ec9=_0x146f6e['get'](_0xf79407);if(_0x2c9ec9){if(_0x55ff7e&&_0x1adc17&&_0x2c9ec9&&_0x2825c7(_0x2c9ec9)!==_0x2825c7(_0x2327c6)){var _0x420b32=_0x55ff7e[_0x1a4e('0x179')](_0xf79407);_0x420b32[_0x1a4e('0x2984')]?_0x420b32[_0x1a4e('0x2984')][_0x1a4e('0x46')](_0x1adc17):_0x420b32[_0x1a4e('0x2984')]=[_0x1adc17];}}else _0x146f6e['set'](_0xf79407,_0x2327c6),_0x55ff7e&&_0x1adc17&&_0x55ff7e[_0x1a4e('0x17a')](_0xf79407,{'specifierText':_0x368e5a[_0x1a4e('0x1675')](_0x1adc17[_0x1a4e('0x23c5')])});}});}function _0x193dc0(_0x146f6e){var _0x2327c6=[];return function _0x146f6e(_0x55ff7e){if(_0x55ff7e&&_0x55ff7e[_0x1a4e('0x0')]&&_0x368e5a['pushIfUnique'](_0x2327c6,_0x55ff7e)){var _0x1adc17=_0x368e5a[_0x1a4e('0x230c')](_0x55ff7e[_0x1a4e('0x0')]),_0xf79407=_0x55ff7e[_0x1a4e('0x0')][_0x1a4e('0x179')](_0x1a4e('0x19a8'));if(_0xf79407){for(var _0x2c9ec9=_0x368e5a[_0x1a4e('0x22e7')](),_0x420b32=_0x368e5a[_0x1a4e('0x1772')](),_0x1b06ad=0x0,_0x326eae=_0xf79407[_0x1a4e('0x22e5')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x415952=_0x5897a9(_0x56674b,_0x56674b[_0x1a4e('0x23c5')]),_0x46923a=_0x146f6e(_0x415952);_0x4fea6a(_0x2c9ec9,_0x46923a,_0x420b32,_0x56674b);}_0x420b32['forEach'](function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x2984')];if('export='!==_0x2327c6&&_0x55ff7e&&_0x55ff7e[_0x1a4e('0x1e')]&&!_0x1adc17[_0x1a4e('0x178')](_0x2327c6))for(var _0xf79407=0x0,_0x2c9ec9=_0x55ff7e;_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x1b06ad=_0x2c9ec9[_0xf79407];_0x125480[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x2354')](_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2985')],_0x420b32['get'](_0x2327c6)[_0x1a4e('0x2986')],_0x368e5a['unescapeLeadingUnderscores'](_0x2327c6)));}}),_0x4fea6a(_0x1adc17,_0x2c9ec9);}return _0x1adc17;}}(_0x146f6e=_0x9d9138(_0x146f6e))||_0x362306;}function _0x41e7a5(_0x368e5a){var _0x146f6e;return _0x368e5a&&_0x368e5a['mergeId']&&(_0x146f6e=_0x4259ed[_0x368e5a[_0x1a4e('0x257a')]])?_0x146f6e:_0x368e5a;}function _0x54a27b(_0x368e5a){return _0x41e7a5(_0x368e5a[_0x1a4e('0xb1b')]&&_0x3c88be(_0x368e5a[_0x1a4e('0xb1b')]));}function _0x38393e(_0x368e5a){return _0x41e7a5(_0x368e5a['parent']&&_0x3c88be(_0x368e5a[_0x1a4e('0x11c')]));}function _0x1b805c(_0x146f6e,_0x2327c6){var _0x1adc17=_0x38393e(_0x146f6e);if(_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x1713')](_0x1adc17['declarations'],function(_0x368e5a){var _0x146f6e=_0x554c3b(_0x368e5a);return _0x2825c7(_0x146f6e&&_0x146f6e['exports']&&_0x146f6e[_0x1a4e('0x0')][_0x1a4e('0x179')](_0x1a4e('0x19b4')))===_0x2825c7(_0x1adc17)?_0x146f6e:void 0x0;}),_0x2c9ec9=_0x2327c6&&function(_0x146f6e,_0x2327c6){var _0x1adc17,_0xf79407=_0x368e5a[_0x1a4e('0x1674')](_0x2327c6),_0x2c9ec9=''+_0x326eae(_0xf79407),_0x420b32=_0xdba731(_0x146f6e);if(_0x420b32[_0x1a4e('0x2987')]&&(_0x1adc17=_0x420b32[_0x1a4e('0x2987')]['get'](_0x2c9ec9)))return _0x1adc17;if(_0xf79407&&_0xf79407[_0x1a4e('0x10ca')]){for(var _0x1b06ad=0x0,_0x56674b=_0xf79407[_0x1a4e('0x10ca')];_0x1b06ad<_0x56674b[_0x1a4e('0x1e')];_0x1b06ad++){var _0x415952=_0x56674b[_0x1b06ad];if(!_0x368e5a['nodeIsSynthesized'](_0x415952)){var _0x46923a=_0x5897a9(_0x2327c6,_0x415952,!0x0);_0x46923a&&_0x42f5b9(_0x46923a,_0x146f6e)&&(_0x1adc17=_0x368e5a['append'](_0x1adc17,_0x46923a));}}if(_0x368e5a[_0x1a4e('0x1e')](_0x1adc17))return(_0x420b32[_0x1a4e('0x2987')]||(_0x420b32[_0x1a4e('0x2987')]=_0x368e5a[_0x1a4e('0x1772')]()))[_0x1a4e('0x17a')](_0x2c9ec9,_0x1adc17),_0x1adc17;}if(_0x420b32['extendedContainers'])return _0x420b32[_0x1a4e('0x2988')];for(var _0x88bf03=0x0,_0x434714=_0x55ff7e['getSourceFiles']();_0x88bf03<_0x434714['length'];_0x88bf03++){var _0x57b692=_0x434714[_0x88bf03];if(_0x368e5a[_0x1a4e('0x22f1')](_0x57b692)){var _0x1ad11f=_0x54a27b(_0x57b692);_0x42f5b9(_0x1ad11f,_0x146f6e)&&(_0x1adc17=_0x368e5a[_0x1a4e('0x252')](_0x1adc17,_0x1ad11f));}}return _0x420b32[_0x1a4e('0x2988')]=_0x1adc17||_0x368e5a[_0x1a4e('0x1700')];}(_0x146f6e,_0x2327c6);if(_0x2327c6&&_0x3e6e80(_0x1adc17,_0x2327c6,0x780,!0x1))return _0x368e5a['concatenate'](_0x368e5a[_0x1a4e('0x1717')]([_0x1adc17],_0xf79407),_0x2c9ec9);var _0x420b32=_0x368e5a[_0x1a4e('0x252')](_0xf79407,_0x1adc17);return _0x368e5a[_0x1a4e('0x1717')](_0x420b32,_0x2c9ec9);}var _0x1b06ad=_0x368e5a[_0x1a4e('0x1713')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){return!_0x368e5a['isAmbientModule'](_0x146f6e)&&_0x146f6e[_0x1a4e('0x11c')]&&_0x530a7c(_0x146f6e[_0x1a4e('0x11c')])?_0x54a27b(_0x146f6e[_0x1a4e('0x11c')]):void 0x0;});if(_0x368e5a[_0x1a4e('0x1e')](_0x1b06ad))return _0x368e5a[_0x1a4e('0x1713')](_0x1b06ad,function(_0x368e5a){return _0x42f5b9(_0x368e5a,_0x146f6e)?_0x368e5a:void 0x0;});}function _0x42f5b9(_0x146f6e,_0x2327c6){if(_0x146f6e===_0x38393e(_0x2327c6))return _0x2327c6;var _0x55ff7e=_0x768c45(_0x146f6e),_0x1adc17=_0x55ff7e[_0x1a4e('0x179')](_0x2327c6['escapedName']);return _0x1adc17&&_0xf79407(_0x1adc17)?_0x1adc17:_0x368e5a[_0x1a4e('0x2308')](_0x55ff7e,function(_0x368e5a){if(_0xf79407(_0x368e5a))return _0x368e5a;});function _0xf79407(_0x368e5a){if(_0x368e5a===_0x2327c6||_0x2825c7(_0x368e5a)===_0x2327c6||_0x2825c7(_0x368e5a)===_0x2825c7(_0x2327c6))return _0x368e5a;}}function _0x244de7(_0x368e5a){return _0x41e7a5(_0x368e5a&&0x0!=(0x100000&_0x368e5a['flags'])?_0x368e5a[_0x1a4e('0x248f')]:_0x368e5a);}function _0x3aa36a(_0x368e5a){return!!(0x401b3bf&_0x368e5a[_0x1a4e('0x7b2')]||0x200000&_0x368e5a['flags']&&0x401b3bf&_0x4f0953(_0x368e5a)[_0x1a4e('0x7b2')]);}function _0x5deaec(_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x2369')];_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(0x9d===_0x1adc17[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2328')](_0x1adc17[_0x1a4e('0x8f2')]))return _0x1adc17;}}function _0x5e6a6c(_0x368e5a){var _0x146f6e=new _0x30b3ec(_0x468ea2,_0x368e5a);return _0x3d8f5d++,_0x146f6e['id']=_0x3d8f5d,_0x146f6e;}function _0x46eda9(_0x368e5a,_0x146f6e){var _0x2327c6=_0x5e6a6c(_0x368e5a);return _0x2327c6[_0x1a4e('0x289e')]=_0x146f6e,_0x2327c6;}function _0x327276(_0x368e5a){var _0x146f6e=_0x2d74ef(_0x368e5a);return _0x146f6e['flags']|=0x10,_0x146f6e[_0x1a4e('0x289e')]='boolean',_0x146f6e;}function _0x1233a5(_0x368e5a,_0x146f6e){var _0x2327c6=_0x5e6a6c(0x80000);return _0x2327c6[_0x1a4e('0x2472')]=_0x368e5a,_0x2327c6[_0x1a4e('0xb1b')]=_0x146f6e,_0x2327c6[_0x1a4e('0x2369')]=void 0x0,_0x2327c6[_0x1a4e('0x13')]=void 0x0,_0x2327c6[_0x1a4e('0x2887')]=void 0x0,_0x2327c6[_0x1a4e('0x2888')]=void 0x0,_0x2327c6[_0x1a4e('0x28bb')]=void 0x0,_0x2327c6['numberIndexInfo']=void 0x0,_0x2327c6;}function _0x425e2d(_0x368e5a){return 0x5f===_0x368e5a['charCodeAt'](0x0)&&0x5f===_0x368e5a[_0x1a4e('0x913')](0x1)&&0x5f!==_0x368e5a[_0x1a4e('0x913')](0x2)&&0x40!==_0x368e5a[_0x1a4e('0x913')](0x2);}function _0x44d18c(_0x146f6e){var _0x2327c6;return _0x146f6e[_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){!_0x425e2d(_0x146f6e)&&_0x3aa36a(_0x368e5a)&&(_0x2327c6||(_0x2327c6=[]))[_0x1a4e('0x46')](_0x368e5a);}),_0x2327c6||_0x368e5a['emptyArray'];}function _0x33159e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x146f6e['members']=_0x2327c6,_0x146f6e[_0x1a4e('0x13')]=_0x2327c6===_0x362306?_0x368e5a[_0x1a4e('0x1700')]:_0x44d18c(_0x2327c6),_0x146f6e[_0x1a4e('0x2887')]=_0x55ff7e,_0x146f6e['constructSignatures']=_0x1adc17,_0x146f6e[_0x1a4e('0x28bb')]=_0xf79407,_0x146f6e[_0x1a4e('0x28b8')]=_0x2c9ec9,_0x146f6e;}function _0x1178b7(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x33159e(_0x1233a5(0x10,_0x368e5a),_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);}function _0x442a79(_0x146f6e,_0x2327c6){for(var _0x55ff7e,_0x1adc17=_0x146f6e;_0x1adc17;_0x1adc17=_0x1adc17[_0x1a4e('0x11c')]){if(_0x1adc17[_0x1a4e('0x283c')]&&!_0x25b659(_0x1adc17)&&(_0x55ff7e=_0x2327c6(_0x1adc17[_0x1a4e('0x283c')])))return _0x55ff7e;switch(_0x1adc17[_0x1a4e('0x146b')]){case 0x117:if(!_0x368e5a[_0x1a4e('0x2858')](_0x1adc17))break;case 0xf4:if(_0x55ff7e=_0x2327c6(_0x54a27b(_0x1adc17)[_0x1a4e('0x0')]))return _0x55ff7e;}}return _0x2327c6(_0xa60cd8);}function _0x42310a(_0x368e5a){return 0x401b3bf===_0x368e5a?0x401b3bf:0x780;}function _0x3e6e80(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(void 0x0===_0xf79407&&(_0xf79407=_0x368e5a[_0x1a4e('0x1772')]()),_0x146f6e&&!function(_0x368e5a){if(_0x368e5a['declarations']&&_0x368e5a['declarations'][_0x1a4e('0x1e')]){for(var _0x146f6e=0x0,_0x2327c6=_0x368e5a[_0x1a4e('0x22e5')];_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x2327c6[_0x146f6e];switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0x9a:case 0x9c:case 0x9e:case 0x9f:continue;default:return!0x1;}}return!0x0;}return!0x1;}(_0x146f6e)){var _0x2c9ec9=''+_0x56674b(_0x146f6e),_0x420b32=_0xf79407[_0x1a4e('0x179')](_0x2c9ec9);return _0x420b32||_0xf79407['set'](_0x2c9ec9,_0x420b32=[]),_0x442a79(_0x2327c6,_0x1b06ad);}function _0x1b06ad(_0xf79407,_0x2c9ec9){if(_0x368e5a[_0x1a4e('0x171d')](_0x420b32,_0xf79407)){var _0x56674b=function(_0xf79407,_0x2c9ec9){return _0x415952(_0xf79407[_0x1a4e('0x179')](_0x146f6e[_0x1a4e('0x22e8')]),void 0x0,_0x2c9ec9)?[_0x146f6e]:_0x368e5a['forEachEntry'](_0xf79407,function(_0xf79407){if(0x200000&_0xf79407[_0x1a4e('0x7b2')]&&_0x1a4e('0x19b4')!==_0xf79407[_0x1a4e('0x22e8')]&&'default'!==_0xf79407[_0x1a4e('0x22e8')]&&!(_0x368e5a[_0x1a4e('0x249e')](_0xf79407)&&_0x2327c6&&_0x368e5a['isExternalModule'](_0x368e5a[_0x1a4e('0x1674')](_0x2327c6)))&&(!_0x1adc17||_0x368e5a[_0x1a4e('0x1c2')](_0xf79407[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x23a6')]))&&(_0x2c9ec9||!_0x368e5a[_0x1a4e('0x28c9')](_0xf79407,0x101))){var _0x420b32=_0x4f0953(_0xf79407);if(_0x415952(_0xf79407,_0x420b32,_0x2c9ec9))return[_0xf79407];var _0x56674b=_0x768c45(_0x420b32),_0x46923a=_0x56674b&&_0x1b06ad(_0x56674b,!0x0);if(_0x46923a&&_0x326eae(_0xf79407,_0x42310a(_0x55ff7e)))return[_0xf79407][_0x1a4e('0x9a')](_0x46923a);}if(_0xf79407[_0x1a4e('0x22e8')]===_0x146f6e['escapedName']&&_0xf79407[_0x1a4e('0x248f')]&&_0x415952(_0x41e7a5(_0xf79407[_0x1a4e('0x248f')]),void 0x0,_0x2c9ec9))return[_0x146f6e];});}(_0xf79407,_0x2c9ec9);return _0x420b32[_0x1a4e('0x76')](),_0x56674b;}}function _0x326eae(_0x368e5a,_0x146f6e){return!_0x1dca76(_0x368e5a,_0x2327c6,_0x146f6e)||!!_0x3e6e80(_0x368e5a['parent'],_0x2327c6,_0x42310a(_0x146f6e),_0x1adc17,_0xf79407);}function _0x415952(_0x2327c6,_0x1adc17,_0xf79407){return _0x146f6e===(_0x1adc17||_0x2327c6)&&!_0x368e5a['some'](_0x2327c6[_0x1a4e('0x22e5')],_0x530a7c)&&(_0xf79407||_0x326eae(_0x2327c6,_0x55ff7e));}}function _0x1dca76(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=!0x1;return _0x442a79(_0x2327c6,function(_0x2327c6){var _0xf79407=_0x41e7a5(_0x2327c6[_0x1a4e('0x179')](_0x146f6e[_0x1a4e('0x22e8')]));return!!_0xf79407&&(_0xf79407===_0x146f6e||!!((_0xf79407=0x200000&_0xf79407['flags']&&!_0x368e5a[_0x1a4e('0x28c9')](_0xf79407,0x101)?_0x4f0953(_0xf79407):_0xf79407)['flags']&_0x55ff7e)&&(_0x1adc17=!0x0,!0x0));}),_0x1adc17;}function _0x575d28(_0x368e5a,_0x146f6e){return 0x0===_0x37eda4(_0x368e5a,_0x146f6e,0x40c09e8,!0x1)[_0x1a4e('0x2989')];}function _0x561662(_0x368e5a,_0x146f6e){return 0x0===_0x37eda4(_0x368e5a,_0x146f6e,0x401b3bf,!0x1)[_0x1a4e('0x2989')];}function _0x37eda4(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x146f6e&&_0x2327c6){var _0xf79407=function _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(_0x368e5a[_0x1a4e('0x1e')](_0x2327c6)){for(var _0x420b32,_0x1b06ad=0x0,_0x326eae=_0x2327c6;_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x415952=_0x3e6e80(_0x56674b,_0x55ff7e,_0xf79407,!0x1);if(_0x415952){_0x420b32=_0x56674b;var _0x46923a=_0x31f3e3(_0x415952[0x0],_0x2c9ec9);if(_0x46923a)return _0x46923a;}else if(_0x368e5a[_0x1a4e('0x1c2')](_0x56674b[_0x1a4e('0x22e5')],_0x530a7c))return{'accessibility':0x0};var _0x88bf03=_0x1b805c(_0x56674b,_0x55ff7e),_0x434714=_0x368e5a[_0x1a4e('0x10f7')](_0x56674b['declarations']);!_0x368e5a[_0x1a4e('0x1e')](_0x88bf03)&&0x401b3bf&_0xf79407&&_0x434714&&_0x368e5a['isObjectLiteralExpression'](_0x434714)&&_0x434714[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x238d')](_0x434714[_0x1a4e('0x11c')])&&_0x434714===_0x434714[_0x1a4e('0x11c')][_0x1a4e('0x236a')]&&(_0x88bf03=[_0x54a27b(_0x434714['parent'])]);var _0x57b692=_0x146f6e(_0x88bf03,_0x55ff7e,_0x1adc17,_0x1adc17===_0x56674b?_0x42310a(_0xf79407):_0xf79407,_0x2c9ec9);if(_0x57b692)return _0x57b692;}return _0x420b32?{'accessibility':0x1,'errorSymbolName':_0x22aa27(_0x1adc17,_0x55ff7e,_0xf79407),'errorModuleName':_0x420b32!==_0x1adc17?_0x22aa27(_0x420b32,_0x55ff7e,0x780):void 0x0}:void 0x0;}}([_0x146f6e],_0x2327c6,_0x146f6e,_0x55ff7e,_0x1adc17);if(_0xf79407)return _0xf79407;var _0x2c9ec9=_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x22e5')],_0x554c3b);return _0x2c9ec9&&_0x2c9ec9!==_0x554c3b(_0x2327c6)?{'accessibility':0x2,'errorSymbolName':_0x22aa27(_0x146f6e,_0x2327c6,_0x55ff7e),'errorModuleName':_0x22aa27(_0x2c9ec9)}:{'accessibility':0x1,'errorSymbolName':_0x22aa27(_0x146f6e,_0x2327c6,_0x55ff7e)};}return{'accessibility':0x0};}function _0x554c3b(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,_0x1454ab);return _0x2327c6&&_0x54a27b(_0x2327c6);}function _0x1454ab(_0x146f6e){return _0x368e5a['isAmbientModule'](_0x146f6e)||0x117===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2858')](_0x146f6e);}function _0x530a7c(_0x146f6e){return _0x368e5a[_0x1a4e('0x233d')](_0x146f6e)||0x117===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2858')](_0x146f6e);}function _0x31f3e3(_0x146f6e,_0x2327c6){var _0x55ff7e;if(_0x368e5a[_0x1a4e('0x114')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){if(!_0x5b4203(_0x146f6e)){var _0x2327c6=_0x157d85(_0x146f6e);return _0x2327c6&&!_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x1)&&_0x5b4203(_0x2327c6[_0x1a4e('0x11c')])?_0x1adc17(_0x146f6e,_0x2327c6):_0x368e5a[_0x1a4e('0x238d')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2376')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],0x1)&&_0x5b4203(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['parent'])?_0x1adc17(_0x146f6e,_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]):!(!_0x368e5a[_0x1a4e('0x298a')](_0x146f6e)||_0x368e5a['hasModifier'](_0x146f6e,0x1)||!_0x5b4203(_0x146f6e[_0x1a4e('0x11c')]))&&_0x1adc17(_0x146f6e,_0x146f6e);}return!0x0;}))return{'accessibility':0x0,'aliasesToMakeVisible':_0x55ff7e};function _0x1adc17(_0x146f6e,_0x1adc17){return _0x2327c6&&(_0x165ecf(_0x146f6e)[_0x1a4e('0x298b')]=!0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x298c')](_0x55ff7e,_0x1adc17)),!0x0;}}function _0x1866a8(_0x146f6e,_0x2327c6){var _0x55ff7e;_0x55ff7e=0xa7===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x298d')](_0x146f6e[_0x1a4e('0x11c')])||0x95===_0x146f6e['parent']['kind']?0x411b3bf:0x94===_0x146f6e['kind']||0xbd===_0x146f6e['kind']||0xf8===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?0x780:0x40c09e8;var _0x1adc17=_0x5d499f(_0x146f6e),_0xf79407=_0x1e09ab(_0x2327c6,_0x1adc17[_0x1a4e('0x22f3')],_0x55ff7e,void 0x0,void 0x0,!0x1);return _0xf79407&&_0x31f3e3(_0xf79407,!0x0)||{'accessibility':0x1,'errorSymbolName':_0x368e5a[_0x1a4e('0x1675')](_0x1adc17),'errorNode':_0x1adc17};}function _0x22aa27(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){void 0x0===_0x1adc17&&(_0x1adc17=0x4);var _0x2c9ec9=0x42f8000;0x2&_0x1adc17&&(_0x2c9ec9|=0x80),0x1&_0x1adc17&&(_0x2c9ec9|=0x200),0x8&_0x1adc17&&(_0x2c9ec9|=0x4000),0x10&_0x1adc17&&(_0x2c9ec9|=0x8000000);var _0x420b32=0x4&_0x1adc17?_0x12cd5e[_0x1a4e('0x28e0')]:_0x12cd5e['symbolToEntityName'];return _0xf79407?_0x1b06ad(_0xf79407)['getText']():_0x368e5a[_0x1a4e('0x230d')](_0x1b06ad);function _0x1b06ad(_0x1adc17){var _0xf79407=_0x420b32(_0x146f6e,_0x55ff7e,_0x2327c6,_0x2c9ec9),_0x1b06ad=_0x368e5a[_0x1a4e('0x298e')]({'removeComments':!0x0}),_0x326eae=_0x2327c6&&_0x368e5a[_0x1a4e('0x1674')](_0x2327c6);return _0x1b06ad['writeNode'](0x4,_0xf79407,_0x326eae,_0x1adc17),_0x1adc17;}}function _0x2a8922(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return void 0x0===_0x55ff7e&&(_0x55ff7e=0x0),_0xf79407?_0x2c9ec9(_0xf79407)[_0x1a4e('0x230e')]():_0x368e5a[_0x1a4e('0x230d')](_0x2c9ec9);function _0x2c9ec9(_0xf79407){var _0x2c9ec9;_0x2c9ec9=0x40000&_0x55ff7e?0x1===_0x1adc17?0xa6:0xa5:0x1===_0x1adc17?0xa1:0xa0;var _0x420b32=_0x12cd5e[_0x1a4e('0x28df')](_0x146f6e,_0x2c9ec9,_0x2327c6,0x42f8200|_0x369ec7(_0x55ff7e)),_0x1b06ad=_0x368e5a['createPrinter']({'removeComments':!0x0,'omitTrailingSemicolon':!0x0}),_0x326eae=_0x2327c6&&_0x368e5a['getSourceFileOfNode'](_0x2327c6);return _0x1b06ad[_0x1a4e('0x298f')](0x4,_0x420b32,_0x326eae,_0x368e5a[_0x1a4e('0x2434')](_0xf79407)),_0xf79407;}}function _0x5ad709(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x55ff7e&&(_0x55ff7e=0x104000),void 0x0===_0x1adc17&&(_0x1adc17=_0x368e5a[_0x1a4e('0x2433')](''));var _0xf79407=_0x239ab2[_0x1a4e('0x2777')]||0x1&_0x55ff7e,_0x2c9ec9=_0x12cd5e['typeToTypeNode'](_0x146f6e,_0x2327c6,0x42f8000|_0x369ec7(_0x55ff7e)|(_0xf79407?0x1:0x0),_0x1adc17);if(void 0x0===_0x2c9ec9)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2990'));var _0x420b32=_0x368e5a['createPrinter']({'removeComments':!0x0}),_0x1b06ad=_0x2327c6&&_0x368e5a[_0x1a4e('0x1674')](_0x2327c6);_0x420b32[_0x1a4e('0x298f')](0x4,_0x2c9ec9,_0x1b06ad,_0x1adc17);var _0x326eae=_0x1adc17[_0x1a4e('0x230e')](),_0x56674b=_0xf79407?void 0x0:0x2*_0x368e5a[_0x1a4e('0x22e4')];return _0x56674b&&_0x326eae&&_0x326eae[_0x1a4e('0x1e')]>=_0x56674b?_0x326eae['substr'](0x0,_0x56674b-_0x1a4e('0x28ba')['length'])+_0x1a4e('0x28ba'):_0x326eae;}function _0x369ec7(_0x368e5a){return void 0x0===_0x368e5a&&(_0x368e5a=0x0),0x907d6b&_0x368e5a;}function _0xc1909(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return void 0x0===_0x55ff7e&&(_0x55ff7e=0x4000),_0x1adc17?_0xf79407(_0x1adc17)[_0x1a4e('0x230e')]():_0x368e5a[_0x1a4e('0x230d')](_0xf79407);function _0xf79407(_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2991')](0x1===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2893')](_0x146f6e[_0x1a4e('0x2667')]):_0x368e5a[_0x1a4e('0x2992')](),_0x12cd5e['typeToTypeNode'](_0x146f6e[_0x1a4e('0x40')],_0x2327c6,0x42f8200|_0x369ec7(_0x55ff7e))),_0x2c9ec9=_0x368e5a[_0x1a4e('0x298e')]({'removeComments':!0x0}),_0x420b32=_0x2327c6&&_0x368e5a[_0x1a4e('0x1674')](_0x2327c6);return _0x2c9ec9[_0x1a4e('0x298f')](0x4,_0xf79407,_0x420b32,_0x1adc17),_0x1adc17;}}function _0x4b2624(_0x368e5a){return 0x8===_0x368e5a?_0x1a4e('0x22a7'):0x10===_0x368e5a?_0x1a4e('0x22a8'):_0x1a4e('0x22a9');}function _0x47e199(_0x146f6e){return _0x146f6e&&_0x146f6e[_0x1a4e('0x11c')]&&0xf5===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a['isExternalModuleAugmentation'](_0x146f6e[_0x1a4e('0x11c')]['parent']);}function _0x4c8892(_0x146f6e){return 0x117===_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x233c')](_0x146f6e);}function _0xd6fe32(_0x146f6e,_0x2327c6){if(_0x2327c6&&_0x1a4e('0x8')===_0x146f6e[_0x1a4e('0x22e8')]&&!(0x4000&_0x2327c6[_0x1a4e('0x7b2')])&&(!(0x1000000&_0x2327c6[_0x1a4e('0x7b2')])||!_0x146f6e[_0x1a4e('0x22e5')]||_0x2327c6[_0x1a4e('0x289f')]&&_0x368e5a[_0x1a4e('0x283d')](_0x146f6e[_0x1a4e('0x22e5')][0x0],_0x4c8892)!==_0x368e5a[_0x1a4e('0x283d')](_0x2327c6[_0x1a4e('0x289f')],_0x4c8892)))return'default';if(_0x146f6e['declarations']&&_0x146f6e[_0x1a4e('0x22e5')][_0x1a4e('0x1e')]){var _0x55ff7e=_0x146f6e[_0x1a4e('0x22e5')][0x0],_0x1adc17=_0x368e5a[_0x1a4e('0x23e9')](_0x55ff7e);if(_0x1adc17)return _0x368e5a[_0x1a4e('0x2372')](_0x55ff7e)&&_0x368e5a[_0x1a4e('0x23bb')](_0x55ff7e)?_0x368e5a['symbolName'](_0x146f6e):_0x368e5a[_0x1a4e('0x1676')](_0x1adc17);if(_0x55ff7e[_0x1a4e('0x11c')]&&0xed===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x368e5a[_0x1a4e('0x1676')](_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]);switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xd1:case 0xc4:case 0xc5:return!_0x2327c6||_0x2327c6[_0x1a4e('0x2898')]||0x20000&_0x2327c6[_0x1a4e('0x7b2')]||(_0x2327c6[_0x1a4e('0x2898')]=!0x0),0xd1===_0x55ff7e['kind']?'(Anonymous\x20class)':_0x1a4e('0x2993');}}var _0xf79407=_0x146f6e[_0x1a4e('0x2994')];if(_0xf79407){if(0x80&_0xf79407[_0x1a4e('0x7b2')]&&!_0x368e5a[_0x1a4e('0x2995')](_0xf79407[_0x1a4e('0x255')],_0x239ab2[_0x1a4e('0xd95')]))return'\x22'+_0x368e5a[_0x1a4e('0x2416')](_0xf79407[_0x1a4e('0x255')],0x22)+'\x22';if(_0xf79407&&0x2000&_0xf79407[_0x1a4e('0x7b2')])return'['+_0xd6fe32(_0xf79407['symbol'],_0x2327c6)+']';}return _0x368e5a[_0x1a4e('0x24d2')](_0x146f6e);}function _0x5b4203(_0x146f6e){if(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);return void 0x0===_0x2327c6[_0x1a4e('0x298b')]&&(_0x2327c6[_0x1a4e('0x298b')]=!!function(){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x129:case 0x130:return!!(_0x146f6e[_0x1a4e('0x11c')]&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]&&_0x146f6e['parent']['parent'][_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')]));case 0xba:return _0x5b4203(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]);case 0xed:if(_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])&&!_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x2398')][_0x1a4e('0x1e')])return!0x1;case 0xf4:case 0xf0:case 0xf1:case 0xf2:case 0xef:case 0xf3:case 0xf8:if(_0x368e5a[_0x1a4e('0x2344')](_0x146f6e))return!0x0;var _0x2327c6=_0x1c717b(_0x146f6e);return 0x1&_0x368e5a[_0x1a4e('0x235c')](_0x146f6e)||0xf8!==_0x146f6e[_0x1a4e('0x146b')]&&0x117!==_0x2327c6[_0x1a4e('0x146b')]&&0x400000&_0x2327c6['flags']?_0x5b4203(_0x2327c6):_0x25b659(_0x2327c6);case 0x9a:case 0x99:case 0x9e:case 0x9f:case 0x9c:case 0x9b:if(_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x18))return!0x1;case 0x9d:case 0xa1:case 0xa0:case 0xa2:case 0x97:case 0xf5:case 0xa5:case 0xa6:case 0xa8:case 0xa4:case 0xa9:case 0xaa:case 0xad:case 0xae:case 0xb1:return _0x5b4203(_0x146f6e[_0x1a4e('0x11c')]);case 0xfa:case 0xfb:case 0xfd:return!0x1;case 0x96:case 0x117:case 0xf7:return!0x0;case 0xfe:default:return!0x1;}}()),_0x2327c6['isVisible'];}return!0x1;}function _0x3c886c(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17;return _0x146f6e[_0x1a4e('0x11c')]&&0xfe===_0x146f6e['parent'][_0x1a4e('0x146b')]?_0x55ff7e=_0x1e09ab(_0x146f6e,_0x146f6e[_0x1a4e('0x22f3')],0x42dbfff,void 0x0,_0x146f6e,!0x1):0x101===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&(_0x55ff7e=_0x1263fb(_0x146f6e[_0x1a4e('0x11c')],0x42dbfff)),_0x55ff7e&&function _0x146f6e(_0x55ff7e){_0x368e5a[_0x1a4e('0x3b')](_0x55ff7e,function(_0x55ff7e){var _0xf79407=_0x157d85(_0x55ff7e)||_0x55ff7e;if(_0x2327c6?_0x165ecf(_0x55ff7e)[_0x1a4e('0x298b')]=!0x0:(_0x1adc17=_0x1adc17||[],_0x368e5a['pushIfUnique'](_0x1adc17,_0xf79407)),_0x368e5a[_0x1a4e('0x23a8')](_0x55ff7e)){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x236d')],_0x420b32=_0x5d499f(_0x2c9ec9),_0x1b06ad=_0x1e09ab(_0x55ff7e,_0x420b32[_0x1a4e('0x22f3')],0x40dbfff,void 0x0,void 0x0,!0x1);_0x1b06ad&&_0x146f6e(_0x1b06ad[_0x1a4e('0x22e5')]);}});}(_0x55ff7e[_0x1a4e('0x22e5')]),_0x1adc17;}function _0x2ee333(_0x368e5a,_0x146f6e){var _0x2327c6=_0x3dbb00(_0x368e5a,_0x146f6e);if(_0x2327c6>=0x0){for(var _0x55ff7e=_0x58c523[_0x1a4e('0x1e')],_0x1adc17=_0x2327c6;_0x1adc17<_0x55ff7e;_0x1adc17++)_0x1d215d[_0x1adc17]=!0x1;return!0x1;}return _0x58c523[_0x1a4e('0x46')](_0x368e5a),_0x1d215d[_0x1a4e('0x46')](!0x0),_0x2a74b4[_0x1a4e('0x46')](_0x146f6e),!0x0;}function _0x3dbb00(_0x368e5a,_0x146f6e){for(var _0x2327c6=_0x58c523['length']-0x1;_0x2327c6>=0x0;_0x2327c6--){if(_0xdd7983(_0x58c523[_0x2327c6],_0x2a74b4[_0x2327c6]))return-0x1;if(_0x58c523[_0x2327c6]===_0x368e5a&&_0x2a74b4[_0x2327c6]===_0x146f6e)return _0x2327c6;}return-0x1;}function _0xdd7983(_0x146f6e,_0x2327c6){switch(_0x2327c6){case 0x0:return!!_0xdba731(_0x146f6e)['type'];case 0x5:return!!_0x165ecf(_0x146f6e)['resolvedEnumType'];case 0x2:return!!_0xdba731(_0x146f6e)[_0x1a4e('0x2996')];case 0x1:return!!_0x146f6e[_0x1a4e('0x2997')];case 0x3:return!!_0x146f6e[_0x1a4e('0x2998')];case 0x4:return!!_0x146f6e[_0x1a4e('0x2999')];case 0x6:return!!_0xdba731(_0x146f6e)[_0x1a4e('0x299a')];}return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}function _0x3a10f3(){return _0x58c523[_0x1a4e('0x76')](),_0x2a74b4[_0x1a4e('0x76')](),_0x1d215d['pop']();}function _0x1c717b(_0x146f6e){return _0x368e5a['findAncestor'](_0x368e5a[_0x1a4e('0x2406')](_0x146f6e),function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xed:case 0xee:case 0xfd:case 0xfc:case 0xfb:case 0xfa:return!0x1;default:return!0x0;}})['parent'];}function _0x2032e1(_0x368e5a,_0x146f6e){var _0x2327c6=_0x3c127b(_0x368e5a,_0x146f6e);return _0x2327c6?_0x38797c(_0x2327c6):void 0x0;}function _0x4e7589(_0x368e5a){return _0x368e5a&&0x0!=(0x1&_0x368e5a[_0x1a4e('0x7b2')]);}function _0xab025d(_0x368e5a){var _0x146f6e=_0x54a27b(_0x368e5a);return _0x146f6e&&_0xdba731(_0x146f6e)['type']||_0xb28fe4(_0x368e5a,!0x1);}function _0x1655e0(_0x146f6e){return 0x95===_0x146f6e[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x2674')](_0x146f6e['expression']);}function _0x434760(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x20000&(_0x146f6e=_0x5056ee(_0x146f6e,function(_0x368e5a){return!(0x18000&_0x368e5a[_0x1a4e('0x7b2')]);}))[_0x1a4e('0x7b2')])return _0x126d3e;if(0x100000&_0x146f6e[_0x1a4e('0x7b2')])return _0x578997(_0x146f6e,function(_0x368e5a){return _0x434760(_0x368e5a,_0x2327c6,_0x55ff7e);});var _0x1adc17=_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x2327c6,_0x4d5c3f));if(_0x54ac8c(_0x146f6e)||_0x10e895(_0x1adc17)){if(0x20000&_0x1adc17[_0x1a4e('0x7b2')])return _0x146f6e;var _0xf79407=_0x49c112||(_0x49c112=_0x8cd98c(_0x1a4e('0x299b'),0x80000,_0x368e5a[_0x1a4e('0x167d')]['Cannot_find_global_type_0'])),_0x2c9ec9=_0x12f896||(_0x12f896=_0x8cd98c(_0x1a4e('0x299c'),0x80000,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x299d')]));if(!_0xf79407||!_0x2c9ec9)return _0x336c2;var _0x420b32=_0x5af6bf(_0x2c9ec9,[_0x332557(_0x146f6e),_0x1adc17]);return _0x5af6bf(_0xf79407,[_0x146f6e,_0x420b32]);}for(var _0x1b06ad=_0x368e5a[_0x1a4e('0x22e7')](),_0x326eae=0x0,_0x56674b=_0x41c062(_0x146f6e);_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x415952=_0x56674b[_0x326eae];_0x720afc(_0x30ce66(_0x415952,0x2180),_0x1adc17)||0x18&_0x368e5a['getDeclarationModifierFlagsFromSymbol'](_0x415952)||!_0x1c2a4e(_0x415952)||_0x1b06ad[_0x1a4e('0x17a')](_0x415952[_0x1a4e('0x22e8')],_0x426f42(_0x415952));}var _0x46923a=_0x5c197b(_0x146f6e,0x0),_0x88bf03=_0x5c197b(_0x146f6e,0x1);return _0x1178b7(_0x55ff7e,_0x1b06ad,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a['emptyArray'],_0x46923a,_0x88bf03);}function _0x4c7bb9(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x146f6e[_0x1a4e('0x11c')],_0x1adc17=_0xab025d(_0x55ff7e[_0x1a4e('0x11c')]);if(_0x1adc17===_0x336c2)return _0x336c2;if(!_0x1adc17)return _0x146f6e[_0x1a4e('0x236a')]?_0x40a458(_0x146f6e):_0x1adc17;if(_0x4e7589(_0x1adc17))return _0x1adc17;if(_0x4f3c04&&0x400000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a[_0x1a4e('0x2405')](_0x146f6e)&&(_0x1adc17=_0x2f423c(_0x1adc17)),0xb8===_0x55ff7e['kind'])if(_0x146f6e[_0x1a4e('0x25f9')]){if(0x2&_0x1adc17[_0x1a4e('0x7b2')]||!_0x1e2722(_0x1adc17))return _0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics']['Rest_types_may_only_be_created_from_object_types']),_0x336c2;for(var _0xf79407=[],_0x2c9ec9=0x0,_0x420b32=_0x55ff7e[_0x1a4e('0x2398')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1b06ad[_0x1a4e('0x25f9')]||_0xf79407[_0x1a4e('0x46')](_0x1b06ad[_0x1a4e('0x81a')]||_0x1b06ad[_0x1a4e('0x2cb')]);}_0x2327c6=_0x434760(_0x1adc17,_0xf79407,_0x146f6e[_0x1a4e('0xb1b')]);}else{var _0x326eae=_0x146f6e[_0x1a4e('0x81a')]||_0x146f6e[_0x1a4e('0x2cb')];_0x2327c6=_0x179bce(_0x146f6e,_0x527d5d(_0x1bef62(_0x3d7297(_0x1adc17,_0x4d5c3f(_0x326eae),_0x326eae),_0x326eae),_0x146f6e[_0x1a4e('0x2cb')]));}else{var _0x56674b=_0x625739(_0x1adc17,_0x55ff7e,!0x1,!0x1),_0x415952=_0x55ff7e[_0x1a4e('0x2398')]['indexOf'](_0x146f6e);if(_0x146f6e[_0x1a4e('0x25f9')])_0x2327c6=_0x307f32(_0x1adc17,_0x102fd6)?_0x578997(_0x1adc17,function(_0x368e5a){return _0x465473(_0x368e5a,_0x415952);}):_0xfd8b5f(_0x56674b);else{var _0x46923a=_0x55ff7e[_0x1a4e('0x2398')]['indexOf'](_0x146f6e);if(!(_0x2327c6=_0x307f32(_0x1adc17,_0x3572f9)?_0x30c98f(_0x1adc17,_0x46923a)||_0x146f6e[_0x1a4e('0x236a')]&&_0x40a458(_0x146f6e):_0x56674b))return _0x102fd6(_0x1adc17)?_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x299e')],_0x5ad709(_0x1adc17),_0x30457b(_0x1adc17),_0x55ff7e[_0x1a4e('0x2398')][_0x1a4e('0x1e')]):_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x299f')],_0x5ad709(_0x1adc17),''+_0x46923a),_0x336c2;}}return!_0x4f3c04||!_0x146f6e[_0x1a4e('0x236a')]||0x8000&_0x30e928(_0x40a458(_0x146f6e))||(_0x2327c6=_0x2c784a(_0x2327c6,0x80000)),_0x146f6e['initializer']&&!_0x368e5a['getEffectiveTypeAnnotationNode'](_0x368e5a['walkUpBindingElementsAndPatterns'](_0x146f6e))?_0x2d74ef([_0x2327c6,_0x40a458(_0x146f6e)],0x2):_0x2327c6;}function _0x324df4(_0x146f6e){var _0x2327c6=_0x368e5a['getJSDocType'](_0x146f6e);if(_0x2327c6)return _0x3fafb1(_0x2327c6);}function _0x9ae278(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x29a0')](_0x146f6e);return 0xbb===_0x2327c6[_0x1a4e('0x146b')]&&0x0===_0x2327c6[_0x1a4e('0x2398')][_0x1a4e('0x1e')];}function _0x28534e(_0x368e5a,_0x146f6e){return void 0x0===_0x146f6e&&(_0x146f6e=!0x0),_0x4f3c04&&_0x146f6e?_0x6d96b4(_0x368e5a):_0x368e5a;}function _0xb28fe4(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x238d')](_0x146f6e)&&0xe2===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x55ff7e=_0x332557(_0x300ae0(_0x4e94e8(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['expression'])));return 0x440000&_0x55ff7e['flags']?_0x3e4c01(_0x55ff7e):_0x1d9562;}if(_0x368e5a[_0x1a4e('0x238d')](_0x146f6e)&&0xe3===_0x146f6e['parent']['parent'][_0x1a4e('0x146b')]){var _0x1adc17=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')];return _0x1f8afd(_0x1adc17[_0x1a4e('0x2302')],_0x1adc17[_0x1a4e('0x2678')])||_0x330555;}if(_0x368e5a['isBindingPattern'](_0x146f6e[_0x1a4e('0x11c')]))return _0x4c7bb9(_0x146f6e);var _0xf79407,_0x2c9ec9,_0x420b32=_0x2327c6&&(_0x368e5a[_0x1a4e('0x24ac')](_0x146f6e)&&_0x3069eb(_0x146f6e)||!_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e)&&!_0x368e5a['isVariableDeclaration'](_0x146f6e)&&!!_0x146f6e[_0x1a4e('0x23ca')]),_0x1b06ad=_0x2316ed(_0x146f6e);if(_0x1b06ad)return _0x28534e(_0x1b06ad,_0x420b32);if((_0x59c9de||_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e))&&0xed===_0x146f6e[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x1678')](_0x146f6e['name'])&&!(0x1&_0x368e5a[_0x1a4e('0x235c')](_0x146f6e))&&!(0x400000&_0x146f6e[_0x1a4e('0x7b2')])){if(!(0x2&_0x368e5a['getCombinedNodeFlags'](_0x146f6e)||_0x146f6e[_0x1a4e('0x236a')]&&(_0xf79407=_0x146f6e[_0x1a4e('0x236a')],_0x2c9ec9=_0x368e5a[_0x1a4e('0x29a0')](_0xf79407),0x60!==_0x2c9ec9[_0x1a4e('0x146b')]&&(0x48!==_0x2c9ec9[_0x1a4e('0x146b')]||_0x1642fe(_0x2c9ec9)!==_0x515765))))return _0x344569;if(_0x146f6e['initializer']&&_0x9ae278(_0x146f6e['initializer']))return _0x121129;}if(0x97===_0x146f6e[_0x1a4e('0x146b')]){var _0x326eae,_0x56674b=_0x146f6e['parent'];if(0x9f===_0x56674b[_0x1a4e('0x146b')]&&!_0x45371c(_0x56674b)){var _0x415952=_0x368e5a[_0x1a4e('0x28c9')](_0x54a27b(_0x146f6e[_0x1a4e('0x11c')]),0x9e);if(_0x415952){var _0x46923a=_0x38523e(_0x415952),_0x88bf03=_0x4742e0(_0x56674b);return _0x88bf03&&_0x146f6e===_0x88bf03?(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x88bf03[_0x1a4e('0x40')]),_0x38797c(_0x46923a[_0x1a4e('0x28c7')])):_0x4b6767(_0x46923a);}}if(_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)){var _0x434714=_0x368e5a[_0x1a4e('0x2425')](_0x56674b);if(_0x434714&&_0x368e5a[_0x1a4e('0x24de')](_0x434714))return _0x4eb09c(_0x38523e(_0x434714),_0x56674b[_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0x146f6e));}if(_0x326eae=_0x1a4e('0x19b5')===_0x146f6e[_0x1a4e('0xb1b')]['escapedName']?_0x2e7a0f(_0x56674b):_0x510e44(_0x146f6e))return _0x28534e(_0x326eae,_0x420b32);}else if(_0x368e5a['isInJSFile'](_0x146f6e)){var _0x57b692=_0x7fc41(_0x146f6e,_0x54a27b(_0x146f6e),_0x368e5a[_0x1a4e('0x23b2')](_0x146f6e));if(_0x57b692)return _0x57b692;}return _0x146f6e[_0x1a4e('0x236a')]?_0x28534e(_0x326eae=_0x40a458(_0x146f6e),_0x420b32):_0x368e5a[_0x1a4e('0x2578')](_0x146f6e)?_0x236fc7:_0x368e5a[_0x1a4e('0x1678')](_0x146f6e['name'])?_0x462a77(_0x146f6e[_0x1a4e('0x2cb')],!0x1,!0x0):void 0x0;}function _0x53463d(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x23b3')](_0x146f6e[_0x1a4e('0x2340')]);if(_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x23bf')](_0x55ff7e);return _0x1adc17&&_0x1adc17['typeExpression']?_0x3fafb1(_0x1adc17[_0x1a4e('0x2379')]):_0x7fc41(_0x146f6e[_0x1a4e('0x2340')],_0x146f6e,_0x55ff7e)||_0x2802a6(_0x31ebf4(_0x55ff7e));}for(var _0xf79407,_0x2c9ec9,_0x420b32=!0x1,_0x1b06ad=!0x1,_0x326eae=0x0,_0x56674b=_0x146f6e['declarations'];_0x326eae<_0x56674b['length'];_0x326eae++){var _0x415952=_0x56674b[_0x326eae],_0x46923a=_0x368e5a['isBinaryExpression'](_0x415952)||_0x368e5a[_0x1a4e('0x2372')](_0x415952)?_0x415952:_0x368e5a['isPropertyAccessExpression'](_0x415952)?_0x368e5a[_0x1a4e('0x236e')](_0x415952[_0x1a4e('0x11c')])?_0x415952[_0x1a4e('0x11c')]:_0x415952:void 0x0;if(!_0x46923a)return _0x336c2;var _0x88bf03=_0x368e5a[_0x1a4e('0x2371')](_0x46923a)?_0x368e5a[_0x1a4e('0x23bc')](_0x46923a):_0x368e5a[_0x1a4e('0x23ba')](_0x46923a);0x4===_0x88bf03&&(_0x4b3194(_0x46923a)?_0x420b32=!0x0:_0x1b06ad=!0x0),_0x368e5a[_0x1a4e('0x2372')](_0x46923a)||(_0xf79407=_0x3138c9(_0xf79407,_0x46923a,0x0,_0x415952)),_0xf79407||(_0x2c9ec9||(_0x2c9ec9=[]))[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x236e')](_0x46923a)||_0x368e5a[_0x1a4e('0x2372')](_0x46923a)?_0x2f6469(_0x146f6e,_0x2327c6,_0x46923a,_0x88bf03):_0x530b09);}var _0x434714=_0xf79407;if(!_0x434714){var _0x57b692=_0x420b32?function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1749')]['assert'](_0x146f6e[_0x1a4e('0x1e')]===_0x2327c6[_0x1a4e('0x1e')]),_0x146f6e[_0x1a4e('0xd9')](function(_0x146f6e,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x55ff7e],_0xf79407=_0x368e5a['isBinaryExpression'](_0x1adc17)?_0x1adc17:_0x368e5a['isBinaryExpression'](_0x1adc17[_0x1a4e('0x11c')])?_0x1adc17[_0x1a4e('0x11c')]:void 0x0;return _0xf79407&&_0x4b3194(_0xf79407);});}(_0x2c9ec9,_0x146f6e[_0x1a4e('0x22e5')]):void 0x0;if(_0x1b06ad){var _0x1ad11f=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x239b')](_0x146f6e,!0x1)[_0x1a4e('0x11c')];return _0x368e5a[_0x1a4e('0x2367')](_0x2327c6)&&_0x2327c6;});if(_0x2327c6){var _0x55ff7e=_0x287d7b(_0x54a27b(_0x2327c6)),_0x1adc17=_0x55ff7e&&_0xd458b8(_0x55ff7e)[0x0];if(_0x1adc17)return _0x2032e1(_0x1adc17,_0x146f6e[_0x1a4e('0x22e8')]);}}(_0x146f6e);_0x1ad11f&&((_0x57b692||(_0x57b692=[]))[_0x1a4e('0x46')](_0x1ad11f),_0x420b32=!0x0);}_0x434714=_0x2d74ef(_0x368e5a[_0x1a4e('0x1c2')](_0x57b692,function(_0x368e5a){return!!(-0x8018001&_0x368e5a['flags']);})?_0x57b692:_0x2c9ec9,0x2);}var _0x35bd0a=_0x3a6dfd(_0x28534e(_0x434714,_0x1b06ad&&!_0x420b32));return _0x5056ee(_0x35bd0a,function(_0x368e5a){return!!(-0x18001&_0x368e5a[_0x1a4e('0x7b2')]);})===_0x530b09?(_0x323398(_0x146f6e['valueDeclaration'],_0x330555),_0x330555):_0x35bd0a;}function _0x7fc41(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a['isInJSFile'](_0x146f6e)&&_0x55ff7e&&_0x368e5a[_0x1a4e('0x236f')](_0x55ff7e)&&!_0x55ff7e[_0x1a4e('0x13')][_0x1a4e('0x1e')]){for(var _0x1adc17=_0x368e5a['createSymbolTable']();_0x368e5a['isBinaryExpression'](_0x146f6e)||_0x368e5a[_0x1a4e('0x2371')](_0x146f6e);){var _0xf79407=_0x54a27b(_0x146f6e);_0xf79407&&_0x368e5a[_0x1a4e('0x22e6')](_0xf79407['exports'])&&_0x3965e4(_0x1adc17,_0xf79407[_0x1a4e('0x0')]),_0x146f6e=_0x368e5a[_0x1a4e('0x236e')](_0x146f6e)?_0x146f6e[_0x1a4e('0x11c')]:_0x146f6e['parent'][_0x1a4e('0x11c')];}var _0x2c9ec9=_0x54a27b(_0x146f6e);_0x2c9ec9&&_0x368e5a[_0x1a4e('0x22e6')](_0x2c9ec9[_0x1a4e('0x0')])&&_0x3965e4(_0x1adc17,_0x2c9ec9[_0x1a4e('0x0')]);var _0x420b32=_0x1178b7(_0x2327c6,_0x1adc17,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0);return _0x420b32[_0x1a4e('0x2472')]|=0x4000,_0x420b32;}}function _0x3138c9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2425')](_0x2327c6[_0x1a4e('0x11c')]);if(_0xf79407){var _0x2c9ec9=_0x3a6dfd(_0x3fafb1(_0xf79407));if(!_0x146f6e)return _0x2c9ec9;_0x146f6e===_0x336c2||_0x2c9ec9===_0x336c2||_0x2ccc16(_0x146f6e,_0x2c9ec9)||_0x457430(_0x146f6e,_0x1adc17,_0x2c9ec9);}return _0x146f6e;}function _0x2f6469(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x368e5a[_0x1a4e('0x2372')](_0x55ff7e)){if(_0x2327c6)return _0x38797c(_0x2327c6);var _0xf79407=_0x31ebf4(_0x55ff7e[_0x1a4e('0x2373')][0x2]),_0x2c9ec9=_0x2032e1(_0xf79407,_0x1a4e('0x255'));if(_0x2c9ec9)return _0x2c9ec9;var _0x420b32=_0x2032e1(_0xf79407,'get');if(_0x420b32){var _0x1b06ad=_0x8dc831(_0x420b32);if(_0x1b06ad)return _0x4b6767(_0x1b06ad);}var _0x326eae=_0x2032e1(_0xf79407,_0x1a4e('0x17a'));if(_0x326eae){var _0x56674b=_0x8dc831(_0x326eae);if(_0x56674b)return _0x272808(_0x56674b);}return _0x330555;}var _0x415952=_0x2327c6?_0x38797c(_0x2327c6):_0x2802a6(_0x31ebf4(_0x55ff7e[_0x1a4e('0x5d')]));if(0x80000&_0x415952[_0x1a4e('0x7b2')]&&0x2===_0x1adc17&&_0x1a4e('0x19b4')===_0x146f6e[_0x1a4e('0x22e8')]){var _0x46923a=_0x4a724b(_0x415952),_0x88bf03=_0x368e5a[_0x1a4e('0x22e7')]();_0x368e5a[_0x1a4e('0x230a')](_0x46923a['members'],_0x88bf03),_0x2327c6&&!_0x2327c6[_0x1a4e('0x0')]&&(_0x2327c6[_0x1a4e('0x0')]=_0x368e5a[_0x1a4e('0x22e7')]()),(_0x2327c6||_0x146f6e)[_0x1a4e('0x0')]['forEach'](function(_0x368e5a,_0x146f6e){if(_0x88bf03[_0x1a4e('0x178')](_0x146f6e)){var _0x2327c6=_0x46923a['members'][_0x1a4e('0x179')](_0x146f6e),_0x55ff7e=_0x4ecc5b(_0x368e5a[_0x1a4e('0x7b2')]|_0x2327c6[_0x1a4e('0x7b2')],_0x146f6e);_0x55ff7e[_0x1a4e('0x40')]=_0x2d74ef([_0x38797c(_0x368e5a),_0x38797c(_0x2327c6)]),_0x88bf03[_0x1a4e('0x17a')](_0x146f6e,_0x55ff7e);}else _0x88bf03[_0x1a4e('0x17a')](_0x146f6e,_0x368e5a);});var _0x434714=_0x1178b7(_0x46923a['symbol'],_0x88bf03,_0x46923a['callSignatures'],_0x46923a['constructSignatures'],_0x46923a[_0x1a4e('0x28bb')],_0x46923a[_0x1a4e('0x28b8')]);return _0x434714[_0x1a4e('0x2472')]|=0x4000&_0x368e5a[_0x1a4e('0x249a')](_0x415952),_0x434714;}return _0x32e7bb(_0x415952)?(_0x323398(_0x55ff7e,_0x1a0acf),_0x1a0acf):_0x415952;}function _0x4b3194(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x239b')](_0x146f6e,!0x1);return 0x9d===_0x2327c6[_0x1a4e('0x146b')]||0xef===_0x2327c6['kind']||0xc4===_0x2327c6[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x29a1')](_0x2327c6[_0x1a4e('0x11c')]);}function _0x2f105d(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e['initializer']?_0x28534e(_0x40a458(_0x146f6e)):_0x368e5a['isBindingPattern'](_0x146f6e['name'])?_0x462a77(_0x146f6e[_0x1a4e('0x2cb')],_0x2327c6,_0x55ff7e):(_0x55ff7e&&!_0x1413ab(_0x146f6e)&&_0x323398(_0x146f6e,_0x330555),_0x330555);}function _0x462a77(_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x2327c6&&(_0x2327c6=!0x1),void 0x0===_0x55ff7e&&(_0x55ff7e=!0x1),0xb8===_0x146f6e[_0x1a4e('0x146b')]?function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0xf79407=_0x368e5a[_0x1a4e('0x22e7')](),_0x2c9ec9=0x80;_0x368e5a['forEach'](_0x146f6e['elements'],function(_0x146f6e){var _0x420b32=_0x146f6e[_0x1a4e('0x81a')]||_0x146f6e[_0x1a4e('0x2cb')];if(_0x1655e0(_0x420b32))_0x2c9ec9|=0x200;else if(_0x146f6e[_0x1a4e('0x25f9')])_0x1adc17=_0x2c1884(_0x330555,!0x1);else{var _0x1b06ad=_0x368e5a['getTextOfPropertyName'](_0x420b32),_0x326eae=_0x4ecc5b(0x4|(_0x146f6e[_0x1a4e('0x236a')]?0x1000000:0x0),_0x1b06ad);_0x326eae[_0x1a4e('0x40')]=_0x2f105d(_0x146f6e,_0x2327c6,_0x55ff7e),_0x326eae[_0x1a4e('0x29a2')]=_0x146f6e,_0xf79407[_0x1a4e('0x17a')](_0x326eae['escapedName'],_0x326eae);}});var _0x420b32=_0x1178b7(void 0x0,_0xf79407,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a['emptyArray'],_0x1adc17,void 0x0);return _0x420b32['flags']|=0x10000000,_0x420b32['objectFlags']|=_0x2c9ec9,_0x2327c6&&(_0x420b32[_0x1a4e('0x2975')]=_0x146f6e),_0x420b32;}(_0x146f6e,_0x2327c6,_0x55ff7e):function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x2398')],_0xf79407=_0x368e5a[_0x1a4e('0x1722')](_0x1adc17),_0x2c9ec9=!(!_0xf79407||0xba!==_0xf79407['kind']||!_0xf79407[_0x1a4e('0x25f9')]);if(0x0===_0x1adc17['length']||0x1===_0x1adc17[_0x1a4e('0x1e')]&&_0x2c9ec9)return _0x1b8154>=0x2?_0x2f84f9(_0x330555):_0x1a0acf;var _0x420b32=_0x4c09c6(_0x368e5a['map'](_0x1adc17,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2506')](_0x146f6e)?_0x330555:_0x2f105d(_0x146f6e,_0x2327c6,_0x55ff7e);}),_0x368e5a[_0x1a4e('0x109d')](_0x1adc17,function(_0x146f6e){return!_0x368e5a[_0x1a4e('0x2506')](_0x146f6e)&&!_0x4be451(_0x146f6e);},_0x1adc17[_0x1a4e('0x1e')]-(_0x2c9ec9?0x2:0x1))+0x1,_0x2c9ec9);return _0x2327c6&&((_0x420b32=_0x47902f(_0x420b32))[_0x1a4e('0x2975')]=_0x146f6e),_0x420b32;}(_0x146f6e,_0x2327c6,_0x55ff7e);}function _0x5c9c9d(_0x368e5a,_0x146f6e){return _0x195bd4(_0xb28fe4(_0x368e5a,!0x0),_0x368e5a,_0x146f6e);}function _0x195bd4(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e?(_0x55ff7e&&_0x22569b(_0x2327c6,_0x146f6e),0x2000&_0x146f6e[_0x1a4e('0x7b2')]&&(_0x368e5a[_0x1a4e('0x24a6')](_0x2327c6)||!_0x2327c6[_0x1a4e('0x40')])&&_0x146f6e[_0x1a4e('0xb1b')]!==_0x54a27b(_0x2327c6)&&(_0x146f6e=_0x12ad50),_0x3a6dfd(_0x146f6e)):(_0x146f6e=_0x368e5a[_0x1a4e('0x24ac')](_0x2327c6)&&_0x2327c6[_0x1a4e('0x25f9')]?_0x1a0acf:_0x330555,_0x55ff7e&&(_0x1413ab(_0x2327c6)||_0x323398(_0x2327c6,_0x146f6e)),_0x146f6e);}function _0x1413ab(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2406')](_0x146f6e);return _0x96ee2(0x97===_0x2327c6[_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x11c')]:_0x2327c6);}function _0x2316ed(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2452')](_0x146f6e);if(_0x2327c6)return _0x3fafb1(_0x2327c6);}function _0x3e32fe(_0x146f6e){var _0x2327c6=_0xdba731(_0x146f6e);return _0x2327c6['type']||(_0x2327c6[_0x1a4e('0x40')]=function(_0x146f6e){if(0x400000&_0x146f6e[_0x1a4e('0x7b2')])return(_0x2327c6=_0x287d7b(_0x38393e(_0x146f6e)))[_0x1a4e('0x23d7')]?_0x34525d(_0x2327c6,_0x368e5a['map'](_0x2327c6[_0x1a4e('0x23d7')],function(_0x368e5a){return _0x330555;})):_0x2327c6;var _0x2327c6;if(_0x146f6e===_0x520a39)return _0x330555;if(0x8000000&_0x146f6e[_0x1a4e('0x7b2')]){var _0x55ff7e=_0x54a27b(_0x368e5a[_0x1a4e('0x1674')](_0x146f6e[_0x1a4e('0x2340')])),_0x1adc17=_0x368e5a[_0x1a4e('0x22e7')]();return _0x1adc17[_0x1a4e('0x17a')](_0x1a4e('0x0'),_0x55ff7e),_0x1178b7(_0x146f6e,_0x1adc17,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0);}var _0xf79407,_0x2c9ec9=_0x146f6e[_0x1a4e('0x2340')];if(_0x368e5a[_0x1a4e('0x233b')](_0x2c9ec9))return _0x330555;if(_0x368e5a[_0x1a4e('0x22f0')](_0x2c9ec9)&&_0x368e5a['isJsonSourceFile'](_0x2c9ec9)){if(!_0x2c9ec9[_0x1a4e('0x2366')][_0x1a4e('0x1e')])return _0x126d3e;var _0x420b32=_0x2802a6(_0x4e94e8(_0x2c9ec9[_0x1a4e('0x2366')][0x0][_0x1a4e('0x2302')]));return 0x80000&_0x420b32[_0x1a4e('0x7b2')]?_0x262aab(_0x420b32):_0x420b32;}if(0xfe===_0x2c9ec9[_0x1a4e('0x146b')])return _0x195bd4(_0x31ebf4(_0x2c9ec9[_0x1a4e('0x2302')]),_0x2c9ec9);if(!_0x2ee333(_0x146f6e,0x0))return _0x336c2;if(_0x368e5a[_0x1a4e('0x24e1')](_0x2c9ec9)&&(_0x368e5a[_0x1a4e('0x2372')](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x236e')](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x2371')](_0x2c9ec9)&&_0x368e5a[_0x1a4e('0x236e')](_0x2c9ec9[_0x1a4e('0x11c')])))_0xf79407=_0x53463d(_0x146f6e);else if(_0x368e5a['isJSDocPropertyLikeTag'](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x2371')](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x2370')](_0x2c9ec9)||_0x368e5a['isClassDeclaration'](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x23e2')](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x24ed')](_0x2c9ec9)&&!_0x368e5a['isObjectLiteralMethod'](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x29a3')](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x22f0')](_0x2c9ec9)){if(0x23b0&_0x146f6e[_0x1a4e('0x7b2')])return _0x5033d1(_0x146f6e);_0xf79407=_0x368e5a[_0x1a4e('0x236e')](_0x2c9ec9[_0x1a4e('0x11c')])?_0x53463d(_0x146f6e):_0x2316ed(_0x2c9ec9)||_0x330555;}else if(_0x368e5a[_0x1a4e('0x23b4')](_0x2c9ec9))_0xf79407=_0x2316ed(_0x2c9ec9)||_0x2fbb1a(_0x2c9ec9);else if(_0x368e5a['isJsxAttribute'](_0x2c9ec9))_0xf79407=_0x2316ed(_0x2c9ec9)||_0xc1f4ef(_0x2c9ec9);else if(_0x368e5a[_0x1a4e('0x29a4')](_0x2c9ec9))_0xf79407=_0x2316ed(_0x2c9ec9)||_0x19c942(_0x2c9ec9[_0x1a4e('0x2cb')],0x0);else if(_0x368e5a[_0x1a4e('0x2867')](_0x2c9ec9))_0xf79407=_0x2316ed(_0x2c9ec9)||_0x54d43d(_0x2c9ec9,0x0);else if(_0x368e5a[_0x1a4e('0x24ac')](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x24ec')](_0x2c9ec9)||_0x368e5a['isPropertySignature'](_0x2c9ec9)||_0x368e5a['isVariableDeclaration'](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x24a6')](_0x2c9ec9))_0xf79407=_0x5c9c9d(_0x2c9ec9,!0x0);else if(_0x368e5a[_0x1a4e('0x29a5')](_0x2c9ec9))_0xf79407=_0x5033d1(_0x146f6e);else{if(!_0x368e5a[_0x1a4e('0x2531')](_0x2c9ec9))return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x29a6')+_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x23c2')](_0x2c9ec9)+_0x1a4e('0x29a7')+_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x25db')](_0x146f6e));_0xf79407=_0x50c6d7(_0x146f6e);}return _0x3a10f3()||(_0xf79407=_0x3c5c6d(_0x146f6e)),_0xf79407;}(_0x146f6e));}function _0x1b4caf(_0x146f6e){if(_0x146f6e)return 0x9e===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['getEffectiveReturnTypeNode'](_0x146f6e):_0x368e5a[_0x1a4e('0x2456')](_0x146f6e);}function _0x477ae3(_0x368e5a){var _0x146f6e=_0x1b4caf(_0x368e5a);return _0x146f6e&&_0x3fafb1(_0x146f6e);}function _0x4d95cb(_0x368e5a){return _0x14fcfd(_0x38523e(_0x368e5a));}function _0x39bdf9(_0x146f6e){var _0x2327c6=_0xdba731(_0x146f6e);return _0x2327c6[_0x1a4e('0x40')]||(_0x2327c6[_0x1a4e('0x40')]=function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x28c9')](_0x146f6e,0x9e),_0x1adc17=_0x368e5a[_0x1a4e('0x28c9')](_0x146f6e,0x9f);if(_0x55ff7e&&_0x368e5a['isInJSFile'](_0x55ff7e)){var _0xf79407=_0x324df4(_0x55ff7e);if(_0xf79407)return _0xf79407;}if(!_0x2ee333(_0x146f6e,0x0))return _0x336c2;var _0x2c9ec9=_0x477ae3(_0x55ff7e);if(_0x2c9ec9)_0x2327c6=_0x2c9ec9;else{var _0x420b32=_0x477ae3(_0x1adc17);_0x420b32?_0x2327c6=_0x420b32:_0x55ff7e&&_0x55ff7e['body']?_0x2327c6=_0xa5addb(_0x55ff7e):(_0x1adc17?_0x44f98b(_0x59c9de,_0x1adc17,_0x368e5a['Diagnostics'][_0x1a4e('0x29a8')],_0x22aa27(_0x146f6e)):(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x55ff7e,_0x1a4e('0x29a9')),_0x44f98b(_0x59c9de,_0x55ff7e,_0x368e5a['Diagnostics']['Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation'],_0x22aa27(_0x146f6e))),_0x2327c6=_0x330555);}if(!_0x3a10f3()&&(_0x2327c6=_0x330555,_0x59c9de)){var _0x1b06ad=_0x368e5a[_0x1a4e('0x28c9')](_0x146f6e,0x9e);_0x2cb4f4(_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29aa')],_0x22aa27(_0x146f6e));}return _0x2327c6;}(_0x146f6e));}function _0x5ba90(_0x368e5a){var _0x146f6e=_0x4804db(_0x1055a1(_0x368e5a));return 0x840000&_0x146f6e[_0x1a4e('0x7b2')]?_0x146f6e:void 0x0;}function _0x5033d1(_0x146f6e){var _0x2327c6=_0xdba731(_0x146f6e),_0x55ff7e=_0x2327c6;if(!_0x2327c6[_0x1a4e('0x40')]){var _0x1adc17=_0x368e5a[_0x1a4e('0x29ab')](_0x146f6e[_0x1a4e('0x2340')]);if(_0x1adc17){var _0xf79407=_0x54a27b(_0x1adc17);_0xf79407&&(_0x368e5a[_0x1a4e('0x22e6')](_0xf79407[_0x1a4e('0x0')])||_0x368e5a[_0x1a4e('0x22e6')](_0xf79407[_0x1a4e('0x2369')]))&&(_0x2327c6=_0x146f6e=_0x1cfce9(_0x146f6e),_0x368e5a[_0x1a4e('0x22e6')](_0xf79407[_0x1a4e('0x0')])&&(_0x146f6e[_0x1a4e('0x0')]=_0x146f6e['exports']||_0x368e5a[_0x1a4e('0x22e7')](),_0x3965e4(_0x146f6e['exports'],_0xf79407[_0x1a4e('0x0')])),_0x368e5a['hasEntries'](_0xf79407[_0x1a4e('0x2369')])&&(_0x146f6e[_0x1a4e('0x2369')]=_0x146f6e['members']||_0x368e5a[_0x1a4e('0x22e7')](),_0x3965e4(_0x146f6e['members'],_0xf79407[_0x1a4e('0x2369')])));}_0x55ff7e[_0x1a4e('0x40')]=_0x2327c6[_0x1a4e('0x40')]=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2340')];if(0x600&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a[_0x1a4e('0x233f')](_0x146f6e))return _0x330555;if(0xcc===_0x2327c6['kind']||0xbd===_0x2327c6['kind']&&0xcc===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x53463d(_0x146f6e);if(0x200&_0x146f6e['flags']&&_0x2327c6&&_0x368e5a[_0x1a4e('0x22f0')](_0x2327c6)&&_0x2327c6[_0x1a4e('0x2349')]){var _0x55ff7e=_0x9d9138(_0x146f6e);if(_0x55ff7e!==_0x146f6e){if(!_0x2ee333(_0x146f6e,0x0))return _0x336c2;var _0x1adc17=_0x41e7a5(_0x146f6e[_0x1a4e('0x0')][_0x1a4e('0x179')](_0x1a4e('0x19b4'))),_0xf79407=_0x53463d(_0x1adc17,_0x1adc17===_0x55ff7e?void 0x0:_0x55ff7e);return _0x3a10f3()?_0xf79407:_0x3c5c6d(_0x146f6e);}}var _0x2c9ec9=_0x1233a5(0x10,_0x146f6e);if(0x20&_0x146f6e[_0x1a4e('0x7b2')]){var _0x420b32=_0x5ba90(_0x146f6e);return _0x420b32?_0xffdb94([_0x2c9ec9,_0x420b32]):_0x2c9ec9;}return _0x4f3c04&&0x1000000&_0x146f6e['flags']?_0x6d96b4(_0x2c9ec9):_0x2c9ec9;}(_0x146f6e);}return _0x2327c6[_0x1a4e('0x40')];}function _0x50c6d7(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);return _0x146f6e[_0x1a4e('0x40')]||(_0x146f6e[_0x1a4e('0x40')]=_0x1732da(_0x368e5a));}function _0x3c5c6d(_0x146f6e){return _0x368e5a['getEffectiveTypeAnnotationNode'](_0x146f6e[_0x1a4e('0x2340')])?(_0x2cb4f4(_0x146f6e[_0x1a4e('0x2340')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29ac')],_0x22aa27(_0x146f6e)),_0x336c2):(_0x59c9de&&_0x2cb4f4(_0x146f6e['valueDeclaration'],_0x368e5a['Diagnostics'][_0x1a4e('0x29ad')],_0x22aa27(_0x146f6e)),_0x330555);}function _0x38797c(_0x146f6e){return 0x1&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e)?function(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);if(!_0x146f6e[_0x1a4e('0x40')]){if(!_0x2ee333(_0x368e5a,0x0))return _0x146f6e[_0x1a4e('0x40')]=_0x336c2;var _0x2327c6=_0x1e1445(_0x38797c(_0x146f6e['target']),_0x146f6e[_0x1a4e('0x28c5')]);_0x3a10f3()||(_0x2327c6=_0x3c5c6d(_0x368e5a)),_0x146f6e[_0x1a4e('0x40')]=_0x2327c6;}return _0x146f6e[_0x1a4e('0x40')];}(_0x146f6e):0x800&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e)?function(_0x368e5a){return _0x4d90c1(_0x368e5a['propertyType'],_0x368e5a[_0x1a4e('0x29ae')],_0x368e5a['constraintType']);}(_0x146f6e):0x7&_0x146f6e[_0x1a4e('0x7b2')]?_0x3e32fe(_0x146f6e):0x23b0&_0x146f6e['flags']?_0x5033d1(_0x146f6e):0x8&_0x146f6e[_0x1a4e('0x7b2')]?_0x50c6d7(_0x146f6e):0x18000&_0x146f6e[_0x1a4e('0x7b2')]?_0x39bdf9(_0x146f6e):0x200000&_0x146f6e[_0x1a4e('0x7b2')]?function(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);if(!_0x146f6e[_0x1a4e('0x40')]){var _0x2327c6=_0x4f0953(_0x368e5a);_0x146f6e[_0x1a4e('0x40')]=0x401b3bf&_0x2327c6['flags']?_0x38797c(_0x2327c6):_0x336c2;}return _0x146f6e['type'];}(_0x146f6e):_0x336c2;}function _0x460f17(_0x146f6e,_0x2327c6){return void 0x0!==_0x146f6e&&void 0x0!==_0x2327c6&&0x0!=(0x4&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e))&&_0x146f6e['target']===_0x2327c6;}function _0xa3bb51(_0x146f6e){return 0x4&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)?_0x146f6e['target']:_0x146f6e;}function _0x4836c2(_0x146f6e,_0x2327c6){return function _0x146f6e(_0x55ff7e){if(0x7&_0x368e5a[_0x1a4e('0x249a')](_0x55ff7e)){var _0x1adc17=_0xa3bb51(_0x55ff7e);return _0x1adc17===_0x2327c6||_0x368e5a[_0x1a4e('0x1c2')](_0xd458b8(_0x1adc17),_0x146f6e);}return!!(0x200000&_0x55ff7e['flags'])&&_0x368e5a[_0x1a4e('0x1c2')](_0x55ff7e[_0x1a4e('0x2380')],_0x146f6e);}(_0x146f6e);}function _0x3ecdb4(_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x146f6e=_0x368e5a[_0x1a4e('0x298c')](_0x146f6e,_0xcfe131(_0x54a27b(_0xf79407)));}return _0x146f6e;}function _0x4a725e(_0x146f6e,_0x2327c6){for(;;){if(!(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]))return;switch(_0x146f6e['kind']){case 0xf0:case 0xd1:case 0xf1:case 0xa0:case 0xa1:case 0x9b:case 0xa5:case 0xa6:case 0x121:case 0xef:case 0x9c:case 0xc4:case 0xc5:case 0xf2:case 0x12f:case 0x130:case 0x129:case 0xb5:case 0xaf:var _0x55ff7e=_0x4a725e(_0x146f6e,_0x2327c6);if(0xb5===_0x146f6e[_0x1a4e('0x146b')])return _0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0xcfe131(_0x54a27b(_0x146f6e[_0x1a4e('0x2668')])));if(0xaf===_0x146f6e[_0x1a4e('0x146b')])return _0x368e5a[_0x1a4e('0x1717')](_0x55ff7e,_0x1fee7f(_0x146f6e));var _0x1adc17=_0x3ecdb4(_0x55ff7e,_0x368e5a['getEffectiveTypeParameterDeclarations'](_0x146f6e)),_0xf79407=_0x2327c6&&(0xf0===_0x146f6e[_0x1a4e('0x146b')]||0xd1===_0x146f6e[_0x1a4e('0x146b')]||0xf1===_0x146f6e[_0x1a4e('0x146b')])&&_0x1055a1(_0x54a27b(_0x146f6e))[_0x1a4e('0x2886')];return _0xf79407?_0x368e5a[_0x1a4e('0x252')](_0x1adc17,_0xf79407):_0x1adc17;}}}function _0x53f916(_0x146f6e){return _0x4a725e(0x20&_0x146f6e[_0x1a4e('0x7b2')]?_0x146f6e['valueDeclaration']:_0x368e5a[_0x1a4e('0x28c9')](_0x146f6e,0xf1));}function _0x381026(_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x22e5')];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0xf1===_0xf79407[_0x1a4e('0x146b')]||0xf0===_0xf79407[_0x1a4e('0x146b')]||0xd1===_0xf79407[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x23ce')](_0xf79407)){var _0x2c9ec9=_0xf79407;_0x2327c6=_0x3ecdb4(_0x2327c6,_0x368e5a[_0x1a4e('0x29af')](_0x2c9ec9));}}return _0x2327c6;}function _0x237e8c(_0x368e5a){var _0x146f6e=_0x7bcdc7(_0x368e5a,0x1);if(0x1===_0x146f6e['length']){var _0x2327c6=_0x146f6e[0x0];return!_0x2327c6[_0x1a4e('0x23d7')]&&0x1===_0x2327c6[_0x1a4e('0x111a')][_0x1a4e('0x1e')]&&_0x2327c6['hasRestParameter']&&_0x34b73b(_0x2327c6['parameters'][0x0])===_0x1a0acf;}return!0x1;}function _0x230807(_0x368e5a){if(_0x2a2e0d(_0x368e5a)&&_0x7bcdc7(_0x368e5a,0x1)[_0x1a4e('0x1e')]>0x0)return!0x0;if(0x840000&_0x368e5a['flags']){var _0x146f6e=_0x1953ea(_0x368e5a);return!!_0x146f6e&&_0x2a2e0d(_0x146f6e)&&_0x237e8c(_0x146f6e);}return _0x25328d(_0x368e5a);}function _0xa4b31(_0x146f6e){return _0x368e5a[_0x1a4e('0x1679')](_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2340')]);}function _0x4b6436(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1e')](_0x2327c6),_0xf79407=_0x368e5a[_0x1a4e('0x24e1')](_0x55ff7e);return _0x368e5a[_0x1a4e('0xd9')](_0x7bcdc7(_0x146f6e,0x1),function(_0x146f6e){return(_0xf79407||_0x1adc17>=_0x4d15f3(_0x146f6e[_0x1a4e('0x23d7')]))&&_0x1adc17<=_0x368e5a[_0x1a4e('0x1e')](_0x146f6e[_0x1a4e('0x23d7')]);});}function _0x29d3c4(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x4b6436(_0x146f6e,_0x2327c6,_0x55ff7e),_0xf79407=_0x368e5a[_0x1a4e('0x21')](_0x2327c6,_0x3fafb1);return _0x368e5a['sameMap'](_0x1adc17,function(_0x146f6e){return _0x368e5a['some'](_0x146f6e[_0x1a4e('0x23d7')])?_0x3d8b88(_0x146f6e,_0xf79407,_0x368e5a[_0x1a4e('0x24e1')](_0x55ff7e)):_0x146f6e;});}function _0x4804db(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x2997')]){var _0x2327c6=_0x146f6e['symbol'][_0x1a4e('0x2340')],_0x55ff7e=_0x368e5a['getEffectiveBaseTypeNode'](_0x2327c6),_0x1adc17=_0xa4b31(_0x146f6e);if(!_0x1adc17)return _0x146f6e[_0x1a4e('0x2997')]=_0x57a5b4;if(!_0x2ee333(_0x146f6e,0x1))return _0x336c2;var _0xf79407=_0x4e94e8(_0x1adc17[_0x1a4e('0x2302')]);if(_0x55ff7e&&_0x1adc17!==_0x55ff7e&&(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x55ff7e[_0x1a4e('0x2365')]),_0x4e94e8(_0x55ff7e[_0x1a4e('0x2302')])),0x280000&_0xf79407[_0x1a4e('0x7b2')]&&_0x4a724b(_0xf79407),!_0x3a10f3())return _0x2cb4f4(_0x146f6e['symbol'][_0x1a4e('0x2340')],_0x368e5a['Diagnostics'][_0x1a4e('0x29b0')],_0x22aa27(_0x146f6e[_0x1a4e('0xb1b')])),_0x146f6e['resolvedBaseConstructorType']=_0x336c2;if(!(0x1&_0xf79407['flags']||_0xf79407===_0x143e15||_0x230807(_0xf79407))){var _0x2c9ec9=_0x2cb4f4(_0x1adc17[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29b1')],_0x5ad709(_0xf79407));if(0x40000&_0xf79407['flags']){var _0x420b32=_0x337e78(_0xf79407),_0x1b06ad=_0x387afa;if(_0x420b32){var _0x326eae=_0x7bcdc7(_0x420b32,0x1);_0x326eae[0x0]&&(_0x1b06ad=_0x4b6767(_0x326eae[0x0]));}_0x4e173b(_0x2c9ec9,_0x368e5a[_0x1a4e('0x2354')](_0xf79407[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0],_0x368e5a['Diagnostics']['Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1'],_0x22aa27(_0xf79407['symbol']),_0x5ad709(_0x1b06ad)));}return _0x146f6e['resolvedBaseConstructorType']=_0x336c2;}_0x146f6e[_0x1a4e('0x2997')]=_0xf79407;}return _0x146f6e[_0x1a4e('0x2997')];}function _0xd458b8(_0x146f6e){return _0x146f6e['resolvedBaseTypes']||(0x8&_0x146f6e['objectFlags']?_0x146f6e[_0x1a4e('0x29b2')]=[_0xfd8b5f(_0x2d74ef(_0x146f6e['typeParameters']||_0x368e5a[_0x1a4e('0x1700')]))]:0x60&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]?(0x20&_0x146f6e['symbol']['flags']&&function(_0x146f6e){_0x146f6e['resolvedBaseTypes']=_0x368e5a[_0x1a4e('0x29b3')];var _0x2327c6=_0x26521d(_0x4804db(_0x146f6e));if(!(0x280001&_0x2327c6['flags']))return _0x146f6e[_0x1a4e('0x29b2')]=_0x368e5a[_0x1a4e('0x1700')];var _0x55ff7e,_0x1adc17=_0xa4b31(_0x146f6e),_0xf79407=_0x494812(_0x1adc17),_0x2c9ec9=_0x25328d(_0x2327c6)?_0x2327c6:_0x2327c6[_0x1a4e('0xb1b')]?_0x287d7b(_0x2327c6[_0x1a4e('0xb1b')]):void 0x0;if(_0x2327c6[_0x1a4e('0xb1b')]&&0x20&_0x2327c6['symbol']['flags']&&function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x28aa')];if(_0x146f6e){var _0x2327c6=_0x146f6e['length']-0x1,_0x55ff7e=_0x368e5a['typeArguments'];return _0x146f6e[_0x2327c6][_0x1a4e('0xb1b')]!==_0x55ff7e[_0x2327c6][_0x1a4e('0xb1b')];}return!0x0;}(_0x2c9ec9))_0x55ff7e=_0x16a85d(_0x1adc17,_0x2327c6[_0x1a4e('0xb1b')],_0xf79407);else if(0x1&_0x2327c6['flags'])_0x55ff7e=_0x2327c6;else if(_0x25328d(_0x2327c6))_0x55ff7e=!_0x1adc17['typeArguments']&&_0xfba9bc(_0x2327c6[_0x1a4e('0xb1b')])||_0x330555;else{var _0x420b32=_0x29d3c4(_0x2327c6,_0x1adc17['typeArguments'],_0x1adc17);if(!_0x420b32['length'])return _0x2cb4f4(_0x1adc17[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x167d')]['No_base_constructor_has_the_specified_number_of_type_arguments']),_0x146f6e[_0x1a4e('0x29b2')]=_0x368e5a[_0x1a4e('0x1700')];_0x55ff7e=_0x4b6767(_0x420b32[0x0]);}_0x55ff7e===_0x336c2?_0x146f6e[_0x1a4e('0x29b2')]=_0x368e5a[_0x1a4e('0x1700')]:_0x2a2e0d(_0x55ff7e)?_0x146f6e===_0x55ff7e||_0x4836c2(_0x55ff7e,_0x146f6e)?(_0x2cb4f4(_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2340')],_0x368e5a['Diagnostics']['Type_0_recursively_references_itself_as_a_base_type'],_0x5ad709(_0x146f6e,void 0x0,0x2)),_0x146f6e['resolvedBaseTypes']=_0x368e5a[_0x1a4e('0x1700')]):(_0x146f6e['resolvedBaseTypes']===_0x368e5a[_0x1a4e('0x29b3')]&&(_0x146f6e[_0x1a4e('0x2369')]=void 0x0),_0x146f6e[_0x1a4e('0x29b2')]=[_0x55ff7e]):(_0x2cb4f4(_0x1adc17[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x167d')]['Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members'],_0x5ad709(_0x55ff7e)),_0x146f6e[_0x1a4e('0x29b2')]=_0x368e5a[_0x1a4e('0x1700')]);}(_0x146f6e),0x40&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]&&function(_0x146f6e){_0x146f6e[_0x1a4e('0x29b2')]=_0x146f6e[_0x1a4e('0x29b2')]||_0x368e5a['emptyArray'];for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0xb1b')]['declarations'];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(0xf1===_0x1adc17[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x167b')](_0x1adc17))for(var _0xf79407=0x0,_0x2c9ec9=_0x368e5a[_0x1a4e('0x167b')](_0x1adc17);_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x3fafb1(_0x420b32);_0x1b06ad!==_0x336c2&&(_0x2a2e0d(_0x1b06ad)?_0x146f6e===_0x1b06ad||_0x4836c2(_0x1b06ad,_0x146f6e)?_0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')]['Type_0_recursively_references_itself_as_a_base_type'],_0x5ad709(_0x146f6e,void 0x0,0x2)):_0x146f6e[_0x1a4e('0x29b2')]===_0x368e5a['emptyArray']?_0x146f6e[_0x1a4e('0x29b2')]=[_0x1b06ad]:_0x146f6e['resolvedBaseTypes']['push'](_0x1b06ad):_0x2cb4f4(_0x420b32,_0x368e5a[_0x1a4e('0x167d')]['An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members']));}}}(_0x146f6e)):_0x368e5a[_0x1a4e('0x1749')]['fail']('type\x20must\x20be\x20class\x20or\x20interface')),_0x146f6e[_0x1a4e('0x29b2')];}function _0x2a2e0d(_0x146f6e){return!!(0x4080001&_0x146f6e[_0x1a4e('0x7b2')])&&!_0x2e49b5(_0x146f6e)||!!(0x200000&_0x146f6e[_0x1a4e('0x7b2')])&&_0x368e5a['every'](_0x146f6e[_0x1a4e('0x2380')],_0x2a2e0d);}function _0x1055a1(_0x146f6e){var _0x2327c6=_0xdba731(_0x146f6e);if(!_0x2327c6['declaredType']){var _0x55ff7e=0x20&_0x146f6e['flags']?0x1:0x2,_0x1adc17=_0x2327c6['declaredType']=_0x1233a5(_0x55ff7e,_0x146f6e),_0xf79407=_0x53f916(_0x146f6e),_0x2c9ec9=_0x381026(_0x146f6e);(_0xf79407||_0x2c9ec9||0x1===_0x55ff7e||!function(_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x22e5')];_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(0xf1===_0x1adc17['kind']){if(0x40&_0x1adc17['flags'])return!0x1;var _0xf79407=_0x368e5a['getInterfaceBaseTypeNodes'](_0x1adc17);if(_0xf79407)for(var _0x2c9ec9=0x0,_0x420b32=_0xf79407;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];if(_0x368e5a[_0x1a4e('0x2463')](_0x1b06ad[_0x1a4e('0x2302')])){var _0x326eae=_0x151d70(_0x1b06ad[_0x1a4e('0x2302')],0x40c09e8,!0x0);if(!_0x326eae||!(0x40&_0x326eae[_0x1a4e('0x7b2')])||_0x1055a1(_0x326eae)['thisType'])return!0x1;}}}}return!0x0;}(_0x146f6e))&&(_0x1adc17[_0x1a4e('0x2472')]|=0x4,_0x1adc17['typeParameters']=_0x368e5a[_0x1a4e('0x1717')](_0xf79407,_0x2c9ec9),_0x1adc17['outerTypeParameters']=_0xf79407,_0x1adc17['localTypeParameters']=_0x2c9ec9,_0x1adc17[_0x1a4e('0x28ef')]=_0x368e5a[_0x1a4e('0x1772')](),_0x1adc17[_0x1a4e('0x28ef')]['set'](_0x2aa01d(_0x1adc17[_0x1a4e('0x23d7')]),_0x1adc17),_0x1adc17[_0x1a4e('0xd95')]=_0x1adc17,_0x1adc17[_0x1a4e('0x2365')]=_0x1adc17[_0x1a4e('0x23d7')],_0x1adc17[_0x1a4e('0x2886')]=_0x5e6a6c(0x40000),_0x1adc17[_0x1a4e('0x2886')][_0x1a4e('0x28a3')]=!0x0,_0x1adc17[_0x1a4e('0x2886')][_0x1a4e('0xb1b')]=_0x146f6e,_0x1adc17[_0x1a4e('0x2886')][_0x1a4e('0x2364')]=_0x1adc17);}return _0x2327c6[_0x1a4e('0x2996')];}function _0x4d4865(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x236a')];if(!_0x2327c6)return!(0x400000&_0x146f6e['flags']);switch(_0x2327c6['kind']){case 0xa:case 0x8:return!0x0;case 0xca:return 0x27===_0x2327c6[_0x1a4e('0x1474')]&&0x8===_0x2327c6['operand'][_0x1a4e('0x146b')];case 0x48:return _0x368e5a[_0x1a4e('0x2327')](_0x2327c6)||!!_0x54a27b(_0x146f6e[_0x1a4e('0x11c')])['exports'][_0x1a4e('0x179')](_0x2327c6[_0x1a4e('0x22f3')]);case 0xcc:return function _0x368e5a(_0x146f6e){return 0xa===_0x146f6e[_0x1a4e('0x146b')]||0xcc===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a(_0x146f6e[_0x1a4e('0x5f')])&&_0x368e5a(_0x146f6e[_0x1a4e('0x5d')]);}(_0x2327c6);default:return!0x1;}}function _0x49b942(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);if(void 0x0!==_0x146f6e[_0x1a4e('0x29b4')])return _0x146f6e['enumKind'];for(var _0x2327c6=!0x1,_0x55ff7e=0x0,_0x1adc17=_0x368e5a[_0x1a4e('0x22e5')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0xf3===_0xf79407[_0x1a4e('0x146b')])for(var _0x2c9ec9=0x0,_0x420b32=_0xf79407[_0x1a4e('0x2369')];_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];if(_0x1b06ad[_0x1a4e('0x236a')]&&0xa===_0x1b06ad[_0x1a4e('0x236a')][_0x1a4e('0x146b')])return _0x146f6e[_0x1a4e('0x29b4')]=0x1;_0x4d4865(_0x1b06ad)||(_0x2327c6=!0x0);}}return _0x146f6e['enumKind']=_0x2327c6?0x0:0x1;}function _0x52716f(_0x368e5a){return 0x400&_0x368e5a[_0x1a4e('0x7b2')]&&!(0x100000&_0x368e5a[_0x1a4e('0x7b2')])?_0x287d7b(_0x38393e(_0x368e5a[_0x1a4e('0xb1b')])):_0x368e5a;}function _0x3fcbc9(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);if(_0x146f6e[_0x1a4e('0x2996')])return _0x146f6e[_0x1a4e('0x2996')];if(0x1===_0x49b942(_0x368e5a)){_0x1369b6++;for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x368e5a[_0x1a4e('0x22e5')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0xf3===_0xf79407[_0x1a4e('0x146b')])for(var _0x2c9ec9=0x0,_0x420b32=_0xf79407[_0x1a4e('0x2369')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9],_0x326eae=_0xa14567(_0x300979(_0x2de6b3(_0x1b06ad),_0x1369b6,_0x54a27b(_0x1b06ad)));_0xdba731(_0x54a27b(_0x1b06ad))[_0x1a4e('0x2996')]=_0x326eae,_0x2327c6[_0x1a4e('0x46')](_0x4da784(_0x326eae));}}if(_0x2327c6['length']){var _0x56674b=_0x2d74ef(_0x2327c6,0x1,_0x368e5a,void 0x0);return 0x100000&_0x56674b[_0x1a4e('0x7b2')]&&(_0x56674b['flags']|=0x400,_0x56674b[_0x1a4e('0xb1b')]=_0x368e5a),_0x146f6e[_0x1a4e('0x2996')]=_0x56674b;}}var _0x415952=_0x5e6a6c(0x20);return _0x415952[_0x1a4e('0xb1b')]=_0x368e5a,_0x146f6e['declaredType']=_0x415952;}function _0x1732da(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);if(!_0x146f6e['declaredType']){var _0x2327c6=_0x3fcbc9(_0x38393e(_0x368e5a));_0x146f6e[_0x1a4e('0x2996')]||(_0x146f6e[_0x1a4e('0x2996')]=_0x2327c6);}return _0x146f6e[_0x1a4e('0x2996')];}function _0xcfe131(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);if(!_0x146f6e[_0x1a4e('0x2996')]){var _0x2327c6=_0x5e6a6c(0x40000);_0x2327c6[_0x1a4e('0xb1b')]=_0x368e5a,_0x146f6e[_0x1a4e('0x2996')]=_0x2327c6;}return _0x146f6e[_0x1a4e('0x2996')];}function _0x287d7b(_0x368e5a){return _0x4dc67a(_0x368e5a)||_0x336c2;}function _0x4dc67a(_0x146f6e){return 0x60&_0x146f6e[_0x1a4e('0x7b2')]?_0x1055a1(_0x146f6e):0x80000&_0x146f6e[_0x1a4e('0x7b2')]?function(_0x146f6e){var _0x2327c6=_0xdba731(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x2996')]){if(!_0x2ee333(_0x146f6e,0x2))return _0x336c2;var _0x55ff7e=_0x368e5a[_0x1a4e('0x1c7')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23cd')](_0x146f6e)||0xf2===_0x146f6e[_0x1a4e('0x146b')];}),_0x1adc17=_0x368e5a[_0x1a4e('0x23cd')](_0x55ff7e)?_0x55ff7e[_0x1a4e('0x2379')]:_0x55ff7e[_0x1a4e('0x40')],_0xf79407=_0x1adc17?_0x3fafb1(_0x1adc17):_0x336c2;if(_0x3a10f3()){var _0x2c9ec9=_0x381026(_0x146f6e);_0x2c9ec9&&(_0x2327c6[_0x1a4e('0x23d7')]=_0x2c9ec9,_0x2327c6[_0x1a4e('0x28ef')]=_0x368e5a[_0x1a4e('0x1772')](),_0x2327c6[_0x1a4e('0x28ef')][_0x1a4e('0x17a')](_0x2aa01d(_0x2c9ec9),_0xf79407));}else _0xf79407=_0x336c2,_0x2cb4f4(_0x55ff7e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29b5')],_0x22aa27(_0x146f6e));_0x2327c6[_0x1a4e('0x2996')]=_0xf79407;}return _0x2327c6[_0x1a4e('0x2996')];}(_0x146f6e):0x40000&_0x146f6e[_0x1a4e('0x7b2')]?_0xcfe131(_0x146f6e):0x180&_0x146f6e['flags']?_0x3fcbc9(_0x146f6e):0x8&_0x146f6e[_0x1a4e('0x7b2')]?_0x1732da(_0x146f6e):0x200000&_0x146f6e[_0x1a4e('0x7b2')]?function(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);return _0x146f6e[_0x1a4e('0x2996')]||(_0x146f6e[_0x1a4e('0x2996')]=_0x287d7b(_0x4f0953(_0x368e5a))),_0x146f6e['declaredType'];}(_0x146f6e):void 0x0;}function _0x27a933(_0x368e5a){switch(_0x368e5a['kind']){case 0x78:case 0x8f:case 0x8a:case 0x87:case 0x92:case 0x7b:case 0x8b:case 0x88:case 0x6a:case 0x8d:case 0x60:case 0x84:case 0xb6:return!0x0;case 0xa9:return _0x27a933(_0x368e5a[_0x1a4e('0x2388')]);case 0xa4:return!_0x368e5a[_0x1a4e('0x2365')]||_0x368e5a[_0x1a4e('0x2365')][_0x1a4e('0x114')](_0x27a933);}return!0x1;}function _0x19d983(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x24e2')](_0x146f6e);return!_0x2327c6||_0x27a933(_0x2327c6);}function _0x54e079(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2452')](_0x146f6e);return _0x2327c6?_0x27a933(_0x2327c6):!_0x368e5a[_0x1a4e('0x29b6')](_0x146f6e);}function _0x3dce40(_0x146f6e){if(_0x146f6e[_0x1a4e('0x22e5')]&&0x1===_0x146f6e['declarations']['length']){var _0x2327c6=_0x146f6e[_0x1a4e('0x22e5')][0x0];if(_0x2327c6)switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x9a:case 0x99:return _0x54e079(_0x2327c6);case 0x9c:case 0x9b:case 0x9d:return _0x55ff7e=_0x2327c6,_0x1adc17=_0x368e5a[_0x1a4e('0x29b7')](_0x55ff7e),_0xf79407=_0x368e5a[_0x1a4e('0x29af')](_0x55ff7e),(0x9d===_0x55ff7e[_0x1a4e('0x146b')]||!!_0x1adc17&&_0x27a933(_0x1adc17))&&_0x55ff7e[_0x1a4e('0x111a')]['every'](_0x54e079)&&_0xf79407[_0x1a4e('0x114')](_0x19d983);}}var _0x55ff7e,_0x1adc17,_0xf79407;return!0x1;}function _0x3bd7b6(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x368e5a[_0x1a4e('0x22e7')](),_0xf79407=0x0,_0x2c9ec9=_0x146f6e;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x1adc17[_0x1a4e('0x17a')](_0x420b32[_0x1a4e('0x22e8')],_0x55ff7e&&_0x3dce40(_0x420b32)?_0x420b32:_0x1aba33(_0x420b32,_0x2327c6));}return _0x1adc17;}function _0x3ba6af(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x368e5a[_0x1a4e('0x178')](_0x1adc17['escapedName'])||_0x368e5a[_0x1a4e('0x17a')](_0x1adc17[_0x1a4e('0x22e8')],_0x1adc17);}}function _0x353866(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x29b8')]){var _0x2327c6=_0x146f6e['symbol'],_0x55ff7e=_0x174275(_0x2327c6);_0x146f6e[_0x1a4e('0x29b8')]=_0x44d18c(_0x55ff7e),_0x146f6e[_0x1a4e('0x29b9')]=_0x368e5a[_0x1a4e('0x1700')],_0x146f6e[_0x1a4e('0x29ba')]=_0x368e5a[_0x1a4e('0x1700')],_0x146f6e[_0x1a4e('0x29b9')]=_0x5859c7(_0x55ff7e[_0x1a4e('0x179')]('__call')),_0x146f6e[_0x1a4e('0x29ba')]=_0x5859c7(_0x55ff7e['get']('__new')),_0x146f6e[_0x1a4e('0x29bb')]=_0xafc5f2(_0x2327c6,0x0),_0x146f6e[_0x1a4e('0x29bc')]=_0xafc5f2(_0x2327c6,0x1);}return _0x146f6e;}function _0x59e2ba(_0x368e5a){return!!(0x2180&_0x368e5a[_0x1a4e('0x7b2')]);}function _0xff0a1c(_0x146f6e){return _0x368e5a['isComputedPropertyName'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2463')](_0x146f6e['expression'])&&_0x59e2ba(_0x16c40(_0x146f6e));}function _0x2141da(_0x368e5a){return 0x5f===_0x368e5a['charCodeAt'](0x0)&&0x5f===_0x368e5a[_0x1a4e('0x913')](0x1)&&0x40===_0x368e5a['charCodeAt'](0x2);}function _0x36940b(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e);return!!_0x2327c6&&_0xff0a1c(_0x2327c6);}function _0x45371c(_0x146f6e){return _0x368e5a[_0x1a4e('0x23fe')](_0x146f6e)&&!_0x36940b(_0x146f6e);}function _0x4366e0(_0x146f6e){return 0x2000&_0x146f6e[_0x1a4e('0x7b2')]?_0x1a4e('0x2382')+_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e8')]+'@'+_0x56674b(_0x146f6e['symbol']):0x180&_0x146f6e['flags']?_0x368e5a[_0x1a4e('0x22f4')](''+_0x146f6e[_0x1a4e('0x255')]):_0x368e5a[_0x1a4e('0x1749')]['fail']();}function _0x16bc94(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x1adc17[_0x1a4e('0xb1b')],_0x1a4e('0x29bd'));var _0xf79407=_0x165ecf(_0x1adc17);if(!_0xf79407[_0x1a4e('0x296c')]){_0xf79407[_0x1a4e('0x296c')]=_0x1adc17[_0x1a4e('0xb1b')];var _0x2c9ec9=_0x16c40(_0x1adc17[_0x1a4e('0x2cb')]);if(_0x59e2ba(_0x2c9ec9)){var _0x420b32=_0x4366e0(_0x2c9ec9),_0x1b06ad=_0x1adc17[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')],_0x326eae=_0x55ff7e[_0x1a4e('0x179')](_0x420b32);_0x326eae||_0x55ff7e[_0x1a4e('0x17a')](_0x420b32,_0x326eae=_0x4ecc5b(0x0,_0x420b32,0x400));var _0x56674b=_0x2327c6&&_0x2327c6[_0x1a4e('0x179')](_0x420b32);if(_0x326eae[_0x1a4e('0x7b2')]&_0x4ab090(_0x1b06ad)||_0x56674b){var _0x415952=_0x56674b?_0x368e5a[_0x1a4e('0x1717')](_0x56674b[_0x1a4e('0x22e5')],_0x326eae['declarations']):_0x326eae['declarations'],_0x46923a=_0x368e5a[_0x1a4e('0x1676')](_0x1adc17[_0x1a4e('0x2cb')]);_0x368e5a[_0x1a4e('0x3b')](_0x415952,function(_0x146f6e){return _0x2cb4f4(_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e)||_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29be')],_0x46923a);}),_0x2cb4f4(_0x1adc17[_0x1a4e('0x2cb')]||_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29be')],_0x46923a),_0x326eae=_0x4ecc5b(0x0,_0x420b32,0x400);}return _0x326eae[_0x1a4e('0x2994')]=_0x2c9ec9,function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!(0x400&_0x368e5a['getCheckFlags'](_0x146f6e)),_0x1a4e('0x29bf')),_0x146f6e[_0x1a4e('0x7b2')]|=_0x55ff7e,_0xdba731(_0x2327c6[_0x1a4e('0xb1b')])[_0x1a4e('0x29c0')]=_0x146f6e,_0x146f6e[_0x1a4e('0x22e5')]?_0x146f6e[_0x1a4e('0x22e5')]['push'](_0x2327c6):_0x146f6e[_0x1a4e('0x22e5')]=[_0x2327c6],0x401b3bf&_0x55ff7e&&(_0x146f6e['valueDeclaration']&&_0x146f6e[_0x1a4e('0x2340')]['kind']===_0x2327c6[_0x1a4e('0x146b')]||(_0x146f6e['valueDeclaration']=_0x2327c6));}(_0x326eae,_0x1adc17,_0x1b06ad),_0x326eae['parent']?_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x326eae['parent']===_0x146f6e,_0x1a4e('0x29c1')):_0x326eae[_0x1a4e('0x11c')]=_0x146f6e,_0xf79407[_0x1a4e('0x296c')]=_0x326eae;}}return _0xf79407['resolvedSymbol'];}function _0x4d0a0b(_0x146f6e,_0x2327c6){var _0x55ff7e=_0xdba731(_0x146f6e);if(!_0x55ff7e[_0x2327c6]){var _0x1adc17='resolvedExports'===_0x2327c6,_0xf79407=_0x1adc17?0x600&_0x146f6e[_0x1a4e('0x7b2')]?_0x193dc0(_0x146f6e):_0x146f6e['exports']:_0x146f6e[_0x1a4e('0x2369')];_0x55ff7e[_0x2327c6]=_0xf79407||_0x362306;for(var _0x2c9ec9=_0x368e5a[_0x1a4e('0x22e7')](),_0x420b32=0x0,_0x1b06ad=_0x146f6e[_0x1a4e('0x22e5')];_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32],_0x56674b=_0x368e5a[_0x1a4e('0x2389')](_0x326eae);if(_0x56674b)for(var _0x415952=0x0,_0x46923a=_0x56674b;_0x415952<_0x46923a[_0x1a4e('0x1e')];_0x415952++){var _0x88bf03=_0x46923a[_0x415952];_0x1adc17===_0x368e5a[_0x1a4e('0x29c2')](_0x88bf03)&&_0x36940b(_0x88bf03)&&_0x16bc94(_0x146f6e,_0xf79407,_0x2c9ec9,_0x88bf03);}}_0x55ff7e[_0x2327c6]=function(_0x146f6e,_0x2327c6){if(!_0x368e5a[_0x1a4e('0x22e6')](_0x146f6e))return _0x2327c6;if(!_0x368e5a[_0x1a4e('0x22e6')](_0x2327c6))return _0x146f6e;var _0x55ff7e=_0x368e5a[_0x1a4e('0x22e7')]();return _0x3965e4(_0x55ff7e,_0x146f6e),_0x3965e4(_0x55ff7e,_0x2327c6),_0x55ff7e;}(_0xf79407,_0x2c9ec9)||_0x362306;}return _0x55ff7e[_0x2327c6];}function _0x174275(_0x368e5a){return 0x1860&_0x368e5a['flags']?_0x4d0a0b(_0x368e5a,_0x1a4e('0x293e')):_0x368e5a[_0x1a4e('0x2369')]||_0x362306;}function _0x3c88be(_0x146f6e){if(0x1a004&_0x146f6e[_0x1a4e('0x7b2')]&&_0x1a4e('0x19b0')===_0x146f6e[_0x1a4e('0x22e8')]){var _0x2327c6=_0xdba731(_0x146f6e);return!_0x2327c6[_0x1a4e('0x29c0')]&&_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e['declarations'],_0x36940b)&&(_0x368e5a['some'](_0x146f6e[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x29c2')])?_0x768c45(_0x146f6e[_0x1a4e('0x11c')]):_0x174275(_0x146f6e['parent'])),_0x2327c6[_0x1a4e('0x29c0')]||(_0x2327c6[_0x1a4e('0x29c0')]=_0x146f6e);}return _0x146f6e;}function _0x98e900(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x4&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)){var _0x1adc17=_0x146f6e[_0x1a4e('0xd95')],_0xf79407=_0x146f6e['typeArguments'];if(_0x368e5a[_0x1a4e('0x1e')](_0x1adc17[_0x1a4e('0x23d7')])===_0x368e5a[_0x1a4e('0x1e')](_0xf79407)){var _0x2c9ec9=_0x34525d(_0x1adc17,_0x368e5a[_0x1a4e('0x1717')](_0xf79407,[_0x2327c6||_0x1adc17[_0x1a4e('0x2886')]]));return _0x55ff7e?_0x26521d(_0x2c9ec9):_0x2c9ec9;}}else if(0x200000&_0x146f6e[_0x1a4e('0x7b2')])return _0xffdb94(_0x368e5a[_0x1a4e('0x21')](_0x146f6e['types'],function(_0x368e5a){return _0x98e900(_0x368e5a,_0x2327c6,_0x55ff7e);}));return _0x55ff7e?_0x26521d(_0x146f6e):_0x146f6e;}function _0xe33b97(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b;_0x368e5a[_0x1a4e('0x29c3')](_0x55ff7e,_0x1adc17,0x0,_0x55ff7e[_0x1a4e('0x1e')])?(_0xf79407=_0x5934d9,_0x2c9ec9=_0x2327c6[_0x1a4e('0xb1b')]?_0x174275(_0x2327c6['symbol']):_0x368e5a[_0x1a4e('0x22e7')](_0x2327c6[_0x1a4e('0x29b8')]),_0x420b32=_0x2327c6[_0x1a4e('0x29b9')],_0x1b06ad=_0x2327c6[_0x1a4e('0x29ba')],_0x326eae=_0x2327c6[_0x1a4e('0x29bb')],_0x56674b=_0x2327c6['declaredNumberIndexInfo']):(_0xf79407=_0xa0d6d8(_0x55ff7e,_0x1adc17),_0x2c9ec9=_0x3bd7b6(_0x2327c6[_0x1a4e('0x29b8')],_0xf79407,0x1===_0x55ff7e[_0x1a4e('0x1e')]),_0x420b32=_0x79403c(_0x2327c6[_0x1a4e('0x29b9')],_0xf79407),_0x1b06ad=_0x79403c(_0x2327c6['declaredConstructSignatures'],_0xf79407),_0x326eae=_0x4e2547(_0x2327c6[_0x1a4e('0x29bb')],_0xf79407),_0x56674b=_0x4e2547(_0x2327c6[_0x1a4e('0x29bc')],_0xf79407));var _0x415952=_0xd458b8(_0x2327c6);if(_0x415952[_0x1a4e('0x1e')]){_0x2327c6['symbol']&&_0x2c9ec9===_0x174275(_0x2327c6[_0x1a4e('0xb1b')])&&(_0x2c9ec9=_0x368e5a[_0x1a4e('0x22e7')](_0x2327c6[_0x1a4e('0x29b8')])),_0x33159e(_0x146f6e,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b);for(var _0x46923a=_0x368e5a[_0x1a4e('0x1722')](_0x1adc17),_0x88bf03=0x0,_0x434714=_0x415952;_0x88bf03<_0x434714['length'];_0x88bf03++){var _0x57b692=_0x434714[_0x88bf03],_0x1ad11f=_0x46923a?_0x98e900(_0x1e1445(_0x57b692,_0xf79407),_0x46923a):_0x57b692;_0x3ba6af(_0x2c9ec9,_0x41c062(_0x1ad11f)),_0x420b32=_0x368e5a['concatenate'](_0x420b32,_0x7bcdc7(_0x1ad11f,0x0)),_0x1b06ad=_0x368e5a[_0x1a4e('0x1717')](_0x1b06ad,_0x7bcdc7(_0x1ad11f,0x1)),_0x326eae||(_0x326eae=_0x1ad11f===_0x330555?_0x2c1884(_0x330555,!0x1):_0x5c197b(_0x1ad11f,0x0)),_0x56674b=_0x56674b||_0x5c197b(_0x1ad11f,0x1);}}_0x33159e(_0x146f6e,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b);}function _0x1338dd(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=new _0x1b487e(_0x468ea2);return _0x326eae[_0x1a4e('0x2350')]=_0x368e5a,_0x326eae[_0x1a4e('0x23d7')]=_0x146f6e,_0x326eae[_0x1a4e('0x111a')]=_0x55ff7e,_0x326eae[_0x1a4e('0x28c7')]=_0x2327c6,_0x326eae[_0x1a4e('0x2998')]=_0x1adc17,_0x326eae[_0x1a4e('0x29c4')]=_0xf79407,_0x326eae[_0x1a4e('0x29c5')]=_0x2c9ec9,_0x326eae['hasRestParameter']=_0x420b32,_0x326eae['hasLiteralTypes']=_0x1b06ad,_0x326eae[_0x1a4e('0xd95')]=void 0x0,_0x326eae[_0x1a4e('0x28c5')]=void 0x0,_0x326eae;}function _0x4e0534(_0x368e5a){return _0x1338dd(_0x368e5a['declaration'],_0x368e5a['typeParameters'],_0x368e5a[_0x1a4e('0x28c7')],_0x368e5a[_0x1a4e('0x111a')],void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x29c5')],_0x368e5a[_0x1a4e('0x23d8')],_0x368e5a[_0x1a4e('0x29c6')]);}function _0x3ac8ea(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=0x0,_0x2c9ec9=_0x368e5a;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(_0xdc21c3(_0x420b32,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2327c6?_0x30240d:_0x40991a))return _0x420b32;}}function _0x30faa1(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x2327c6['typeParameters']){if(_0x55ff7e>0x0)return;for(var _0x1adc17=0x1;_0x1adc17<_0x146f6e[_0x1a4e('0x1e')];_0x1adc17++)if(!_0x3ac8ea(_0x146f6e[_0x1adc17],_0x2327c6,!0x1,!0x1,!0x1))return;return[_0x2327c6];}var _0xf79407;for(_0x1adc17=0x0;_0x1adc17<_0x146f6e[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0x1adc17===_0x55ff7e?_0x2327c6:_0x3ac8ea(_0x146f6e[_0x1adc17],_0x2327c6,!0x0,!0x0,!0x0);if(!_0x2c9ec9)return;_0xf79407=_0x368e5a['appendIfUnique'](_0xf79407,_0x2c9ec9);}return _0xf79407;}function _0x54cd0f(_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0;_0x55ff7e<_0x146f6e[_0x1a4e('0x1e')];_0x55ff7e++)for(var _0x1adc17=0x0,_0xf79407=_0x146f6e[_0x55ff7e];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(!_0x2327c6||!_0x3ac8ea(_0x2327c6,_0x2c9ec9,!0x1,!0x0,!0x0)){var _0x420b32=_0x30faa1(_0x146f6e,_0x2c9ec9,_0x55ff7e);if(_0x420b32){var _0x1b06ad=_0x2c9ec9;if(_0x420b32['length']>0x1){var _0x326eae=_0x2c9ec9['thisParameter'];if(_0x368e5a[_0x1a4e('0x3b')](_0x420b32,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x28c7')];})){var _0x56674b=_0x2d74ef(_0x368e5a['map'](_0x420b32,function(_0x368e5a){return _0x368e5a['thisParameter']?_0x38797c(_0x368e5a[_0x1a4e('0x28c7')]):_0x330555;}),0x2);_0x326eae=_0x5af529(_0x2c9ec9[_0x1a4e('0x28c7')],_0x56674b);}(_0x1b06ad=_0x4e0534(_0x2c9ec9))[_0x1a4e('0x28c7')]=_0x326eae,_0x1b06ad[_0x1a4e('0x29c7')]=_0x420b32;}(_0x2327c6||(_0x2327c6=[]))[_0x1a4e('0x46')](_0x1b06ad);}}}return _0x2327c6||_0x368e5a[_0x1a4e('0x1700')];}function _0x466679(_0x368e5a,_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=!0x1,_0x1adc17=0x0,_0xf79407=_0x368e5a;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0x5c197b(_0xf79407[_0x1adc17],_0x146f6e);if(!_0x2c9ec9)return;_0x2327c6[_0x1a4e('0x46')](_0x2c9ec9[_0x1a4e('0x40')]),_0x55ff7e=_0x55ff7e||_0x2c9ec9[_0x1a4e('0x28bc')];}return _0x2c1884(_0x2d74ef(_0x2327c6,0x2),_0x55ff7e);}function _0x2b1593(_0x368e5a,_0x146f6e){return _0x368e5a?_0x146f6e?_0xffdb94([_0x368e5a,_0x146f6e]):_0x368e5a:_0x146f6e;}function _0x555bf0(_0x368e5a,_0x146f6e){return _0x368e5a?_0x146f6e?_0x2c1884(_0xffdb94([_0x368e5a[_0x1a4e('0x40')],_0x146f6e[_0x1a4e('0x40')]]),_0x368e5a[_0x1a4e('0x28bc')]&&_0x146f6e[_0x1a4e('0x28bc')]):_0x368e5a:_0x146f6e;}function _0x1748b1(_0x368e5a,_0x146f6e){return _0x368e5a&&_0x146f6e&&_0x2c1884(_0x2d74ef([_0x368e5a[_0x1a4e('0x40')],_0x146f6e[_0x1a4e('0x40')]]),_0x368e5a[_0x1a4e('0x28bc')]||_0x146f6e[_0x1a4e('0x28bc')]);}function _0x50ec5a(_0x146f6e){for(var _0x2327c6,_0x55ff7e,_0x1adc17=_0x368e5a['emptyArray'],_0xf79407=_0x368e5a[_0x1a4e('0x1700')],_0x2c9ec9=_0x146f6e[_0x1a4e('0x2380')],_0x420b32=_0x368e5a[_0x1a4e('0x170c')](_0x2c9ec9,_0x237e8c),_0x1b06ad=function(_0x1b06ad){var _0x326eae=_0x146f6e[_0x1a4e('0x2380')][_0x1b06ad];if(0x0===_0x420b32||_0x420b32===_0x2c9ec9['length']&&0x0===_0x1b06ad||!_0x237e8c(_0x326eae)){var _0x56674b=_0x7bcdc7(_0x326eae,0x1);_0x56674b[_0x1a4e('0x1e')]&&_0x420b32>0x0&&(_0x56674b=_0x368e5a[_0x1a4e('0x21')](_0x56674b,function(_0x368e5a){var _0x146f6e=_0x4e0534(_0x368e5a);return _0x146f6e[_0x1a4e('0x2998')]=function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=0x0;_0x1adc17<_0x146f6e[_0x1a4e('0x1e')];_0x1adc17++)_0x1adc17===_0x2327c6?_0x55ff7e[_0x1a4e('0x46')](_0x368e5a):_0x237e8c(_0x146f6e[_0x1adc17])&&_0x55ff7e[_0x1a4e('0x46')](_0x4b6767(_0x7bcdc7(_0x146f6e[_0x1adc17],0x1)[0x0]));return _0xffdb94(_0x55ff7e);}(_0x4b6767(_0x368e5a),_0x2c9ec9,_0x1b06ad),_0x146f6e;})),_0xf79407=_0x368e5a['concatenate'](_0xf79407,_0x56674b);}_0x1adc17=_0x368e5a['concatenate'](_0x1adc17,_0x7bcdc7(_0x326eae,0x0)),_0x2327c6=_0x555bf0(_0x2327c6,_0x5c197b(_0x326eae,0x0)),_0x55ff7e=_0x555bf0(_0x55ff7e,_0x5c197b(_0x326eae,0x1));},_0x326eae=0x0;_0x326eae<_0x2c9ec9['length'];_0x326eae++)_0x1b06ad(_0x326eae);_0x33159e(_0x146f6e,_0x362306,_0x1adc17,_0xf79407,_0x2327c6,_0x55ff7e);}function _0x6d64a8(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0xb1b')];if(_0x146f6e[_0x1a4e('0xd95')])_0x33159e(_0x146f6e,_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a['emptyArray'],void 0x0,void 0x0),_0x33159e(_0x146f6e,_0xf79407=_0x3bd7b6(_0x192d7d(_0x146f6e[_0x1a4e('0xd95')]),_0x146f6e['mapper'],!0x1),_0x55ff7e=_0x79403c(_0x7bcdc7(_0x146f6e[_0x1a4e('0xd95')],0x0),_0x146f6e[_0x1a4e('0x28c5')]),_0x1adc17=_0x79403c(_0x7bcdc7(_0x146f6e[_0x1a4e('0xd95')],0x1),_0x146f6e[_0x1a4e('0x28c5')]),_0x2c9ec9=_0x4e2547(_0x5c197b(_0x146f6e['target'],0x0),_0x146f6e[_0x1a4e('0x28c5')]),_0x1b06ad=_0x4e2547(_0x5c197b(_0x146f6e[_0x1a4e('0xd95')],0x1),_0x146f6e[_0x1a4e('0x28c5')]));else if(0x800&_0x2327c6[_0x1a4e('0x7b2')]){_0x33159e(_0x146f6e,_0x362306,_0x368e5a['emptyArray'],_0x368e5a['emptyArray'],void 0x0,void 0x0);var _0x55ff7e=_0x5859c7((_0xf79407=_0x174275(_0x2327c6))[_0x1a4e('0x179')](_0x1a4e('0x19a1'))),_0x1adc17=_0x5859c7(_0xf79407[_0x1a4e('0x179')](_0x1a4e('0x19a4')));_0x33159e(_0x146f6e,_0xf79407,_0x55ff7e,_0x1adc17,_0x2c9ec9=_0xafc5f2(_0x2327c6,0x0),_0x1b06ad=_0xafc5f2(_0x2327c6,0x1));}else{var _0xf79407=_0x362306,_0x2c9ec9=void 0x0;if(_0x2327c6[_0x1a4e('0x0')]&&(_0xf79407=_0x768c45(_0x2327c6)),_0x33159e(_0x146f6e,_0xf79407,_0x368e5a['emptyArray'],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0),0x20&_0x2327c6[_0x1a4e('0x7b2')]){var _0x420b32=_0x4804db(_0x326eae=_0x1055a1(_0x2327c6));0xac0000&_0x420b32['flags']?_0x3ba6af(_0xf79407=_0x368e5a[_0x1a4e('0x22e7')](_0x44d18c(_0xf79407)),_0x41c062(_0x420b32)):_0x420b32===_0x330555&&(_0x2c9ec9=_0x2c1884(_0x330555,!0x1));}var _0x1b06ad=0x180&_0x2327c6['flags']?_0x3b1005:void 0x0;if(_0x33159e(_0x146f6e,_0xf79407,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a['emptyArray'],_0x2c9ec9,_0x1b06ad),0x2010&_0x2327c6[_0x1a4e('0x7b2')]&&(_0x146f6e[_0x1a4e('0x2887')]=_0x5859c7(_0x2327c6),_0x146f6e[_0x1a4e('0x2888')]=_0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x2887')],function(_0x368e5a){return _0x4cff90(_0x368e5a[_0x1a4e('0x2350')]);})),0x20&_0x2327c6[_0x1a4e('0x7b2')]){var _0x326eae=_0x1055a1(_0x2327c6);(_0x1adc17=_0x5859c7(_0x2327c6['members'][_0x1a4e('0x179')](_0x1a4e('0x19a2'))))['length']||(_0x1adc17=function(_0x146f6e){var _0x2327c6=_0x7bcdc7(_0x4804db(_0x146f6e),0x1);if(0x0===_0x2327c6['length'])return[_0x1338dd(void 0x0,_0x146f6e['localTypeParameters'],void 0x0,_0x368e5a[_0x1a4e('0x1700')],_0x146f6e,void 0x0,0x0,!0x1,!0x1)];for(var _0x55ff7e=_0xa4b31(_0x146f6e),_0x1adc17=_0x368e5a[_0x1a4e('0x24e1')](_0x55ff7e),_0xf79407=_0x494812(_0x55ff7e),_0x2c9ec9=_0x368e5a[_0x1a4e('0x1e')](_0xf79407),_0x420b32=[],_0x1b06ad=0x0,_0x326eae=_0x2327c6;_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x415952=_0x4d15f3(_0x56674b['typeParameters']),_0x46923a=_0x368e5a[_0x1a4e('0x1e')](_0x56674b['typeParameters']);if(_0x1adc17||_0x2c9ec9>=_0x415952&&_0x2c9ec9<=_0x46923a){var _0x88bf03=_0x46923a?_0x15ac1a(_0x56674b,_0x2378c5(_0xf79407,_0x56674b['typeParameters'],_0x415952,_0x1adc17)):_0x4e0534(_0x56674b);_0x88bf03[_0x1a4e('0x23d7')]=_0x146f6e[_0x1a4e('0x29c8')],_0x88bf03[_0x1a4e('0x2998')]=_0x146f6e,_0x420b32[_0x1a4e('0x46')](_0x88bf03);}}return _0x420b32;}(_0x326eae)),_0x146f6e['constructSignatures']=_0x1adc17;}}}function _0x108e5(_0x368e5a){return _0x368e5a[_0x1a4e('0x2668')]||(_0x368e5a[_0x1a4e('0x2668')]=_0xcfe131(_0x54a27b(_0x368e5a[_0x1a4e('0x2350')][_0x1a4e('0x2668')])));}function _0x5e43c6(_0x368e5a){return _0x368e5a['constraintType']||(_0x368e5a[_0x1a4e('0x2884')]=_0x2a8efa(_0x108e5(_0x368e5a))||_0x336c2);}function _0x4485f9(_0x368e5a){return _0x368e5a[_0x1a4e('0x29c9')]||(_0x368e5a[_0x1a4e('0x29c9')]=_0x368e5a['declaration'][_0x1a4e('0x40')]?_0x1e1445(_0x28534e(_0x3fafb1(_0x368e5a[_0x1a4e('0x2350')][_0x1a4e('0x40')]),!!(0x4&_0x118009(_0x368e5a))),_0x368e5a[_0x1a4e('0x28c5')]||_0x5934d9):_0x336c2);}function _0x237510(_0x146f6e){return _0x368e5a['getEffectiveConstraintOfTypeParameter'](_0x146f6e[_0x1a4e('0x2350')]['typeParameter']);}function _0x5c7a54(_0x368e5a){var _0x146f6e=_0x237510(_0x368e5a);return 0xb3===_0x146f6e[_0x1a4e('0x146b')]&&0x81===_0x146f6e[_0x1a4e('0x1474')];}function _0x3234ec(_0x368e5a){if(!_0x368e5a[_0x1a4e('0x2885')])if(_0x5c7a54(_0x368e5a))_0x368e5a['modifiersType']=_0x1e1445(_0x3fafb1(_0x237510(_0x368e5a)[_0x1a4e('0x40')]),_0x368e5a[_0x1a4e('0x28c5')]||_0x5934d9);else{var _0x146f6e=_0x5e43c6(_0x2322c7(_0x368e5a[_0x1a4e('0x2350')])),_0x2327c6=_0x146f6e&&0x40000&_0x146f6e['flags']?_0x2a8efa(_0x146f6e):_0x146f6e;_0x368e5a['modifiersType']=_0x2327c6&&0x400000&_0x2327c6[_0x1a4e('0x7b2')]?_0x1e1445(_0x2327c6['type'],_0x368e5a['mapper']||_0x5934d9):_0x126d3e;}return _0x368e5a['modifiersType'];}function _0x118009(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x2350')];return(_0x146f6e[_0x1a4e('0x2666')]?0x27===_0x146f6e[_0x1a4e('0x2666')][_0x1a4e('0x146b')]?0x2:0x1:0x0)|(_0x146f6e[_0x1a4e('0x23ca')]?0x27===_0x146f6e[_0x1a4e('0x23ca')]['kind']?0x8:0x4:0x0);}function _0x44e86d(_0x368e5a){var _0x146f6e=_0x118009(_0x368e5a);return 0x8&_0x146f6e?-0x1:0x4&_0x146f6e?0x1:0x0;}function _0x8ce75b(_0x368e5a){var _0x146f6e=_0x44e86d(_0x368e5a),_0x2327c6=_0x3234ec(_0x368e5a);return _0x146f6e||(_0x2e49b5(_0x2327c6)?_0x44e86d(_0x2327c6):0x0);}function _0x2e49b5(_0x146f6e){return!!(0x20&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e))&&_0x10e895(_0x5e43c6(_0x146f6e));}function _0x4a724b(_0x146f6e){return _0x146f6e[_0x1a4e('0x2369')]||(0x80000&_0x146f6e[_0x1a4e('0x7b2')]?0x4&_0x146f6e[_0x1a4e('0x2472')]?function(_0x146f6e){var _0x2327c6=_0x353866(_0x146f6e['target']),_0x55ff7e=_0x368e5a[_0x1a4e('0x1717')](_0x2327c6[_0x1a4e('0x23d7')],[_0x2327c6[_0x1a4e('0x2886')]]);_0xe33b97(_0x146f6e,_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2365')]&&_0x146f6e[_0x1a4e('0x2365')][_0x1a4e('0x1e')]===_0x55ff7e[_0x1a4e('0x1e')]?_0x146f6e[_0x1a4e('0x2365')]:_0x368e5a[_0x1a4e('0x1717')](_0x146f6e[_0x1a4e('0x2365')],[_0x146f6e]));}(_0x146f6e):0x3&_0x146f6e[_0x1a4e('0x2472')]?function(_0x146f6e){_0xe33b97(_0x146f6e,_0x353866(_0x146f6e),_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')]);}(_0x146f6e):0x800&_0x146f6e[_0x1a4e('0x2472')]?function(_0x146f6e){for(var _0x2327c6=_0x5c197b(_0x146f6e['source'],0x0),_0x55ff7e=_0x118009(_0x146f6e[_0x1a4e('0x29ae')]),_0x1adc17=!(0x1&_0x55ff7e),_0xf79407=0x4&_0x55ff7e?0x0:0x1000000,_0x2c9ec9=_0x2327c6&&_0x2c1884(_0x4d90c1(_0x2327c6[_0x1a4e('0x40')],_0x146f6e['mappedType'],_0x146f6e['constraintType']),_0x1adc17&&_0x2327c6[_0x1a4e('0x28bc')]),_0x420b32=_0x368e5a['createSymbolTable'](),_0x1b06ad=0x0,_0x326eae=_0x41c062(_0x146f6e[_0x1a4e('0xfaa')]);_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x415952=0x800|(_0x1adc17&&_0x5c5095(_0x56674b)?0x8:0x0),_0x46923a=_0x4ecc5b(0x4|_0x56674b[_0x1a4e('0x7b2')]&_0xf79407,_0x56674b[_0x1a4e('0x22e8')],_0x415952);_0x46923a[_0x1a4e('0x22e5')]=_0x56674b['declarations'],_0x46923a[_0x1a4e('0x2994')]=_0x56674b['nameType'],_0x46923a['propertyType']=_0x38797c(_0x56674b),_0x46923a['mappedType']=_0x146f6e['mappedType'],_0x46923a[_0x1a4e('0x2884')]=_0x146f6e['constraintType'],_0x420b32[_0x1a4e('0x17a')](_0x56674b[_0x1a4e('0x22e8')],_0x46923a);}_0x33159e(_0x146f6e,_0x420b32,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],_0x2c9ec9,void 0x0);}(_0x146f6e):0x10&_0x146f6e[_0x1a4e('0x2472')]?_0x6d64a8(_0x146f6e):0x20&_0x146f6e[_0x1a4e('0x2472')]&&function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17=_0x368e5a[_0x1a4e('0x22e7')]();_0x33159e(_0x146f6e,_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a['emptyArray'],void 0x0,void 0x0);var _0xf79407=_0x108e5(_0x146f6e),_0x2c9ec9=_0x5e43c6(_0x146f6e),_0x420b32=_0x4485f9(_0x146f6e[_0x1a4e('0xd95')]||_0x146f6e),_0x1b06ad=_0x26521d(_0x3234ec(_0x146f6e)),_0x326eae=_0x118009(_0x146f6e),_0x56674b=_0x5c483a?0x80:0x2180;if(_0x5c7a54(_0x146f6e)){for(var _0x415952=0x0,_0x46923a=_0x41c062(_0x1b06ad);_0x415952<_0x46923a[_0x1a4e('0x1e')];_0x415952++)_0x88bf03(_0x30ce66(_0x46923a[_0x415952],_0x56674b));(0x1&_0x1b06ad[_0x1a4e('0x7b2')]||_0x5c197b(_0x1b06ad,0x0))&&_0x88bf03(_0x1d9562),!_0x5c483a&&_0x5c197b(_0x1b06ad,0x1)&&_0x88bf03(_0x4a492a);}else _0x16dc76(0x400000&_0x2c9ec9['flags']?_0x332557(_0x26521d(_0x2c9ec9[_0x1a4e('0x40')])):_0x2c9ec9,_0x88bf03);function _0x88bf03(_0x368e5a){var _0x2c9ec9=_0x6317f3(_0x146f6e[_0x1a4e('0x28c5')],_0xa0d6d8([_0xf79407],[_0x368e5a])),_0x56674b=_0x1e1445(_0x420b32,_0x2c9ec9);if(0x2180&_0x368e5a[_0x1a4e('0x7b2')]){var _0x415952=_0x4366e0(_0x368e5a),_0x46923a=_0x3c127b(_0x1b06ad,_0x415952),_0x88bf03=!!(0x4&_0x326eae||!(0x8&_0x326eae)&&_0x46923a&&0x1000000&_0x46923a[_0x1a4e('0x7b2')]),_0x434714=_0x4ecc5b(0x4|(_0x88bf03?0x1000000:0x0),_0x415952,0x1&_0x326eae||!(0x2&_0x326eae)&&_0x46923a&&_0x5c5095(_0x46923a)?0x8:0x0);_0x434714['type']=_0x4f3c04&&_0x88bf03&&!_0x720afc(_0x57a5b4,_0x56674b)?_0x6d96b4(_0x56674b):_0x4f3c04&&!_0x88bf03&&_0x46923a&&0x1000000&_0x46923a[_0x1a4e('0x7b2')]?_0x2c784a(_0x56674b,0x80000):_0x56674b,_0x46923a&&(_0x434714[_0x1a4e('0x28e8')]=_0x46923a,_0x434714['declarations']=_0x46923a[_0x1a4e('0x22e5')]),_0x434714[_0x1a4e('0x2994')]=_0x368e5a,_0x1adc17[_0x1a4e('0x17a')](_0x415952,_0x434714);}else 0x5&_0x368e5a[_0x1a4e('0x7b2')]?_0x2327c6=_0x2c1884(_0x56674b,!!(0x1&_0x326eae)):0x8&_0x368e5a[_0x1a4e('0x7b2')]&&(_0x55ff7e=_0x2c1884(_0x56674b,!!(0x1&_0x326eae)));}_0x33159e(_0x146f6e,_0x1adc17,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],_0x2327c6,_0x55ff7e);}(_0x146f6e):0x100000&_0x146f6e[_0x1a4e('0x7b2')]?function(_0x146f6e){var _0x2327c6=_0x54cd0f(_0x368e5a['map'](_0x146f6e['types'],function(_0x368e5a){return _0x7bcdc7(_0x368e5a,0x0);})),_0x55ff7e=_0x54cd0f(_0x368e5a[_0x1a4e('0x21')](_0x146f6e['types'],function(_0x368e5a){return _0x7bcdc7(_0x368e5a,0x1);})),_0x1adc17=_0x466679(_0x146f6e[_0x1a4e('0x2380')],0x0),_0xf79407=_0x466679(_0x146f6e[_0x1a4e('0x2380')],0x1);_0x33159e(_0x146f6e,_0x362306,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);}(_0x146f6e):0x200000&_0x146f6e['flags']&&_0x50ec5a(_0x146f6e)),_0x146f6e;}function _0x192d7d(_0x146f6e){return 0x80000&_0x146f6e[_0x1a4e('0x7b2')]?_0x4a724b(_0x146f6e)[_0x1a4e('0x13')]:_0x368e5a['emptyArray'];}function _0x35b38f(_0x368e5a,_0x146f6e){if(0x80000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x2327c6=_0x4a724b(_0x368e5a)[_0x1a4e('0x2369')]['get'](_0x146f6e);if(_0x2327c6&&_0x3aa36a(_0x2327c6))return _0x2327c6;}}function _0x136b49(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x29ca')]){for(var _0x2327c6=_0x368e5a[_0x1a4e('0x22e7')](),_0x55ff7e=0x0,_0x1adc17=_0x146f6e['types'];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){for(var _0xf79407=0x0,_0x2c9ec9=_0x41c062(_0x1adc17[_0x55ff7e]);_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(!_0x2327c6[_0x1a4e('0x178')](_0x420b32[_0x1a4e('0x22e8')])){var _0x1b06ad=_0x4becd7(_0x146f6e,_0x420b32[_0x1a4e('0x22e8')]);_0x1b06ad&&_0x2327c6['set'](_0x420b32[_0x1a4e('0x22e8')],_0x1b06ad);}}if(0x100000&_0x146f6e[_0x1a4e('0x7b2')])break;}_0x146f6e[_0x1a4e('0x29ca')]=_0x44d18c(_0x2327c6);}return _0x146f6e[_0x1a4e('0x29ca')];}function _0x41c062(_0x368e5a){return 0x300000&(_0x368e5a=_0x26521d(_0x368e5a))['flags']?_0x136b49(_0x368e5a):_0x192d7d(_0x368e5a);}function _0x19b1f0(_0x368e5a){return 0x40000&_0x368e5a[_0x1a4e('0x7b2')]?_0x2a8efa(_0x368e5a):0x800000&_0x368e5a['flags']?function(_0x368e5a){var _0x146f6e=_0x19b1f0(_0x368e5a[_0x1a4e('0x2601')])||_0x368e5a['objectType'];if(_0x146f6e!==_0x368e5a[_0x1a4e('0x2601')]){var _0x2327c6=_0x3d7297(_0x146f6e,_0x368e5a['indexType'],void 0x0,_0x336c2);if(_0x2327c6&&_0x2327c6!==_0x336c2)return _0x2327c6;}var _0x55ff7e=_0x1953ea(_0x368e5a);return _0x55ff7e&&_0x55ff7e!==_0x368e5a?_0x55ff7e:void 0x0;}(_0x368e5a):0x1000000&_0x368e5a['flags']?_0x5d6bfc(_0x368e5a):_0x1953ea(_0x368e5a);}function _0x2a8efa(_0x368e5a){return _0x154c05(_0x368e5a)?_0x337e78(_0x368e5a):void 0x0;}function _0x1aba91(_0x368e5a){if(!_0x368e5a[_0x1a4e('0x29cb')]){var _0x146f6e=_0x368e5a[_0x1a4e('0x1372')][_0x1a4e('0x25ff')],_0x2327c6=0x2000000&_0x146f6e[_0x1a4e('0x7b2')]?0x3&_0x146f6e['substitute'][_0x1a4e('0x7b2')]?_0x146f6e['typeVariable']:_0xffdb94([_0x146f6e[_0x1a4e('0xb80')],_0x146f6e[_0x1a4e('0x28b1')]]):_0x146f6e;_0x368e5a['resolvedDefaultConstraint']=_0x2d74ef([_0x1e1445(_0x2327c6,_0x368e5a[_0x1a4e('0x29cc')]||_0x368e5a[_0x1a4e('0x28c5')]),_0x49f40f(_0x368e5a)]);}return _0x368e5a[_0x1a4e('0x29cb')];}function _0x63c115(_0x368e5a){if(_0x368e5a[_0x1a4e('0x1372')]['isDistributive']){var _0x146f6e=_0x2915f5(_0x368e5a['checkType']),_0x2327c6=_0x146f6e===_0x368e5a[_0x1a4e('0x25fd')]?_0x19b1f0(_0x146f6e):_0x146f6e;if(_0x2327c6){var _0x55ff7e=_0x38927a(_0x368e5a,_0x6317f3(_0x52adb3(_0x368e5a['root'][_0x1a4e('0x25fd')],_0x2327c6),_0x368e5a[_0x1a4e('0x28c5')]));if(!(0x20000&_0x55ff7e[_0x1a4e('0x7b2')]))return _0x55ff7e;}}}function _0x5d6bfc(_0x368e5a){return _0x63c115(_0x368e5a)||_0x1aba91(_0x368e5a);}function _0x1953ea(_0x368e5a){if(0x3b40000&_0x368e5a['flags']){var _0x146f6e=_0x11d183(_0x368e5a);return _0x146f6e!==_0x3cb5fc&&_0x146f6e!==_0x3bb72a?_0x146f6e:void 0x0;}return 0x400000&_0x368e5a['flags']?_0xaed2b:void 0x0;}function _0x11ec19(_0x368e5a){return _0x1953ea(_0x368e5a)||_0x368e5a;}function _0x154c05(_0x368e5a){return _0x11d183(_0x368e5a)!==_0x3bb72a;}function _0x11d183(_0x368e5a){var _0x146f6e=!0x1;return _0x368e5a[_0x1a4e('0x29cd')]||(_0x368e5a[_0x1a4e('0x29cd')]=_0x98e900(_0x2327c6(_0x368e5a),_0x368e5a));function _0x2327c6(_0x368e5a){if(!_0x368e5a[_0x1a4e('0x2999')]){if(!_0x2ee333(_0x368e5a,0x4))return _0x3bb72a;if(0x32===_0x188821)return _0x146f6e=!0x0,_0x368e5a[_0x1a4e('0x2999')]=_0x3cb5fc;_0x188821++;var _0x2327c6=function(_0x368e5a){if(0x40000&_0x368e5a['flags']){var _0x146f6e=_0x337e78(_0x368e5a);return _0x368e5a[_0x1a4e('0x28a3')]||!_0x146f6e?_0x146f6e:_0x55ff7e(_0x146f6e);}if(0x300000&_0x368e5a[_0x1a4e('0x7b2')]){for(var _0x2327c6=_0x368e5a[_0x1a4e('0x2380')],_0x1adc17=[],_0xf79407=0x0,_0x2c9ec9=_0x2327c6;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x55ff7e(_0x420b32);_0x1b06ad&&_0x1adc17['push'](_0x1b06ad);}return 0x100000&_0x368e5a['flags']&&_0x1adc17[_0x1a4e('0x1e')]===_0x2327c6[_0x1a4e('0x1e')]?_0x2d74ef(_0x1adc17):0x200000&_0x368e5a['flags']&&_0x1adc17[_0x1a4e('0x1e')]?_0xffdb94(_0x1adc17):void 0x0;}if(0x400000&_0x368e5a[_0x1a4e('0x7b2')])return _0xaed2b;if(0x800000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x326eae=_0x55ff7e(_0x368e5a['objectType']),_0x56674b=_0x55ff7e(_0x368e5a['indexType']),_0x415952=_0x326eae&&_0x56674b?_0x3d7297(_0x326eae,_0x56674b,void 0x0,_0x336c2):void 0x0;return _0x415952&&_0x415952!==_0x336c2?_0x55ff7e(_0x415952):void 0x0;}if(0x1000000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x146f6e=_0x5d6bfc(_0x368e5a);return _0x146f6e&&_0x55ff7e(_0x146f6e);}return 0x2000000&_0x368e5a[_0x1a4e('0x7b2')]?_0x55ff7e(_0x368e5a['substitute']):_0x368e5a;}(_0x2915f5(_0x368e5a));_0x188821--,_0x3a10f3()&&!_0x146f6e||(_0x2327c6=_0x3bb72a),_0x368e5a[_0x1a4e('0x2999')]=_0x2327c6||_0x3cb5fc;}return _0x368e5a['immediateBaseConstraint'];}function _0x55ff7e(_0x368e5a){var _0x146f6e=_0x2327c6(_0x368e5a);return _0x146f6e!==_0x3cb5fc&&_0x146f6e!==_0x3bb72a?_0x146f6e:void 0x0;}}function _0x13c00b(_0x146f6e){if(_0x146f6e[_0x1a4e('0x8')])_0x146f6e[_0x1a4e('0x8')]===_0x371e85&&(_0x146f6e[_0x1a4e('0x8')]=_0x3bb72a);else if(_0x146f6e[_0x1a4e('0xd95')]){var _0x2327c6=_0x13c00b(_0x146f6e[_0x1a4e('0xd95')]);_0x146f6e[_0x1a4e('0x8')]=_0x2327c6?_0x1e1445(_0x2327c6,_0x146f6e[_0x1a4e('0x28c5')]):_0x3cb5fc;}else{_0x146f6e[_0x1a4e('0x8')]=_0x371e85;var _0x55ff7e=_0x146f6e[_0x1a4e('0xb1b')]&&_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24ea')](_0x146f6e)&&_0x146f6e['default'];}),_0x1adc17=_0x55ff7e?_0x3fafb1(_0x55ff7e):_0x3cb5fc;_0x146f6e['default']===_0x371e85&&(_0x146f6e['default']=_0x1adc17);}return _0x146f6e[_0x1a4e('0x8')];}function _0x41f224(_0x368e5a){var _0x146f6e=_0x13c00b(_0x368e5a);return _0x146f6e!==_0x3cb5fc&&_0x146f6e!==_0x3bb72a?_0x146f6e:void 0x0;}function _0xbb94a6(_0x368e5a){return _0x368e5a[_0x1a4e('0x29ce')]||(_0x368e5a[_0x1a4e('0x29ce')]=function(_0x368e5a){var _0x146f6e=_0xb40aae(_0x368e5a);if(_0x146f6e){var _0x2327c6=_0x2a8efa(_0x146f6e);if(_0x2327c6&&(_0x4ba777(_0x2327c6)||_0x1fdfd3(_0x2327c6)||_0x102fd6(_0x2327c6))){var _0x55ff7e=_0x52adb3(_0x146f6e,_0x2327c6);return _0x1e1445(_0x368e5a,_0x6317f3(_0x55ff7e,_0x368e5a[_0x1a4e('0x28c5')]));}}return _0x368e5a;}(_0x368e5a));}function _0x26521d(_0x146f6e){var _0x2327c6,_0x55ff7e=0x3c40000&_0x146f6e[_0x1a4e('0x7b2')]?_0x1953ea(_0x146f6e)||_0x126d3e:_0x146f6e;return 0x20&_0x368e5a[_0x1a4e('0x249a')](_0x55ff7e)?_0xbb94a6(_0x55ff7e):0x200000&_0x55ff7e['flags']?function(_0x368e5a){return _0x368e5a[_0x1a4e('0x29ce')]||(_0x368e5a[_0x1a4e('0x29ce')]=_0x98e900(_0x368e5a,_0x368e5a,!0x0));}(_0x55ff7e):0x84&_0x55ff7e[_0x1a4e('0x7b2')]?_0x5cc0d3:0x128&_0x55ff7e[_0x1a4e('0x7b2')]?_0x495889:0x840&_0x55ff7e['flags']?(_0x2327c6=_0x1b8154>=0x6,_0x1a748e||(_0x1a748e=_0xb6c367(_0x1a4e('0x19cd'),0x0,_0x2327c6))||_0x126d3e):0x210&_0x55ff7e[_0x1a4e('0x7b2')]?_0x1bcdfd:0x3000&_0x55ff7e[_0x1a4e('0x7b2')]?_0x310745(_0x1b8154>=0x2):0x4000000&_0x55ff7e[_0x1a4e('0x7b2')]?_0x126d3e:0x400000&_0x55ff7e[_0x1a4e('0x7b2')]?_0xaed2b:_0x55ff7e;}function _0x22c927(_0x146f6e,_0x2327c6){for(var _0x55ff7e,_0x1adc17,_0xf79407=0x100000&_0x146f6e[_0x1a4e('0x7b2')],_0x2c9ec9=_0xf79407?0x18:0x0,_0x420b32=_0xf79407?0x0:0x1000000,_0x1b06ad=0x4,_0x326eae=0x0,_0x56674b=0x0,_0x415952=_0x146f6e[_0x1a4e('0x2380')];_0x56674b<_0x415952[_0x1a4e('0x1e')];_0x56674b++)if((_0x7151b1=_0x26521d(_0x415952[_0x56674b]))!==_0x336c2){var _0x46923a=(_0x1369b6=_0x3c127b(_0x7151b1,_0x2327c6))?_0x368e5a['getDeclarationModifierFlagsFromSymbol'](_0x1369b6):0x0;if(!_0x1369b6||_0x46923a&_0x2c9ec9){if(_0xf79407){var _0x88bf03=!_0x2141da(_0x2327c6)&&(_0x2a5163(_0x2327c6)&&_0x5c197b(_0x7151b1,0x1)||_0x5c197b(_0x7151b1,0x0));_0x88bf03?(_0x326eae|=_0x88bf03[_0x1a4e('0x28bc')]?0x8:0x0,_0x1adc17=_0x368e5a[_0x1a4e('0x252')](_0x1adc17,_0x102fd6(_0x7151b1)?_0x49b3ef(_0x7151b1)||_0x57a5b4:_0x88bf03[_0x1a4e('0x40')])):_0x326eae|=0x10;}}else _0x420b32&=_0x1369b6[_0x1a4e('0x7b2')],_0x55ff7e=_0x368e5a[_0x1a4e('0x298c')](_0x55ff7e,_0x1369b6),_0x326eae|=(_0x5c5095(_0x1369b6)?0x8:0x0)|(0x18&_0x46923a?0x0:0x40)|(0x10&_0x46923a?0x80:0x0)|(0x8&_0x46923a?0x100:0x0)|(0x20&_0x46923a?0x200:0x0),_0x4074aa(_0x1369b6)||(_0x1b06ad=0x2);}if(_0x55ff7e){if(!(0x1!==_0x55ff7e['length']||0x10&_0x326eae||_0x1adc17))return _0x55ff7e[0x0];for(var _0x434714,_0x57b692,_0x1ad11f,_0x35bd0a,_0x36aa2e=[],_0x30b3ec=!0x0,_0x1b487e=!0x1,_0x3d8f5d=0x0,_0x15a30a=_0x55ff7e;_0x3d8f5d<_0x15a30a[_0x1a4e('0x1e')];_0x3d8f5d++){var _0x1369b6=_0x15a30a[_0x3d8f5d];_0x35bd0a?_0x1369b6[_0x1a4e('0x2340')]!==_0x35bd0a&&(_0x1b487e=!0x0):_0x35bd0a=_0x1369b6[_0x1a4e('0x2340')],_0x434714=_0x368e5a[_0x1a4e('0x23d1')](_0x434714,_0x1369b6[_0x1a4e('0x22e5')]);var _0x7151b1=_0x38797c(_0x1369b6);_0x30b3ec?(_0x57b692=_0x7151b1,_0x1ad11f=_0x1369b6['nameType'],_0x30b3ec=!0x1):_0x7151b1!==_0x57b692&&(_0x326eae|=0x20),_0x36aa2e[_0x1a4e('0x46')](_0x7151b1);}_0x368e5a[_0x1a4e('0x23d1')](_0x36aa2e,_0x1adc17);var _0x188821=_0x4ecc5b(0x4|_0x420b32,_0x2327c6,_0x1b06ad|_0x326eae);return _0x188821[_0x1a4e('0x28e5')]=_0x146f6e,!_0x1b487e&&_0x35bd0a&&(_0x188821[_0x1a4e('0x2340')]=_0x35bd0a),_0x188821[_0x1a4e('0x22e5')]=_0x434714,_0x188821[_0x1a4e('0x2994')]=_0x1ad11f,_0x188821[_0x1a4e('0x40')]=_0xf79407?_0x2d74ef(_0x36aa2e):_0xffdb94(_0x36aa2e),_0x188821;}}function _0x5719cb(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['propertyCache']||(_0x146f6e[_0x1a4e('0x29cf')]=_0x368e5a['createSymbolTable']()),_0x1adc17=_0x55ff7e['get'](_0x2327c6);return _0x1adc17||(_0x1adc17=_0x22c927(_0x146f6e,_0x2327c6))&&_0x55ff7e['set'](_0x2327c6,_0x1adc17),_0x1adc17;}function _0x4becd7(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x5719cb(_0x146f6e,_0x2327c6);return!_0x55ff7e||0x10&_0x368e5a[_0x1a4e('0x248b')](_0x55ff7e)?void 0x0:_0x55ff7e;}function _0x3c127b(_0x368e5a,_0x146f6e){if(0x80000&(_0x368e5a=_0x26521d(_0x368e5a))[_0x1a4e('0x7b2')]){var _0x2327c6=_0x4a724b(_0x368e5a),_0x55ff7e=_0x2327c6[_0x1a4e('0x2369')][_0x1a4e('0x179')](_0x146f6e);if(_0x55ff7e&&_0x3aa36a(_0x55ff7e))return _0x55ff7e;var _0x1adc17=_0x2327c6===_0x5f42ab?_0x437267:_0x2327c6[_0x1a4e('0x2887')][_0x1a4e('0x1e')]?_0x4c2151:_0x2327c6['constructSignatures']['length']?_0x1e2ce7:void 0x0;if(_0x1adc17){var _0xf79407=_0x35b38f(_0x1adc17,_0x146f6e);if(_0xf79407)return _0xf79407;}return _0x35b38f(_0x23601b,_0x146f6e);}if(0x300000&_0x368e5a['flags'])return _0x4becd7(_0x368e5a,_0x146f6e);}function _0x53adbb(_0x146f6e,_0x2327c6){if(0x380000&_0x146f6e['flags']){var _0x55ff7e=_0x4a724b(_0x146f6e);return 0x0===_0x2327c6?_0x55ff7e['callSignatures']:_0x55ff7e[_0x1a4e('0x2888')];}return _0x368e5a[_0x1a4e('0x1700')];}function _0x7bcdc7(_0x368e5a,_0x146f6e){return _0x53adbb(_0x26521d(_0x368e5a),_0x146f6e);}function _0x5f1f0e(_0x368e5a,_0x146f6e){if(0x380000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x2327c6=_0x4a724b(_0x368e5a);return 0x0===_0x146f6e?_0x2327c6[_0x1a4e('0x28bb')]:_0x2327c6[_0x1a4e('0x28b8')];}}function _0x15bdf2(_0x368e5a,_0x146f6e){var _0x2327c6=_0x5f1f0e(_0x368e5a,_0x146f6e);return _0x2327c6&&_0x2327c6['type'];}function _0x5c197b(_0x368e5a,_0x146f6e){return _0x5f1f0e(_0x26521d(_0x368e5a),_0x146f6e);}function _0x3e5aca(_0x368e5a,_0x146f6e){return _0x15bdf2(_0x26521d(_0x368e5a),_0x146f6e);}function _0x2ad23d(_0x368e5a,_0x146f6e){if(_0xec5320(_0x368e5a)){for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x41c062(_0x368e5a);_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];(0x0===_0x146f6e||_0x2a5163(_0xf79407['escapedName']))&&_0x2327c6[_0x1a4e('0x46')](_0x38797c(_0xf79407));}if(_0x2327c6[_0x1a4e('0x1e')])return _0x2d74ef(_0x2327c6,0x2);}}function _0x32977a(_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=_0x368e5a['getEffectiveTypeParameterDeclarations'](_0x146f6e);_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x2327c6=_0x368e5a['appendIfUnique'](_0x2327c6,_0xcfe131(_0xf79407[_0x1a4e('0xb1b')]));}return _0x2327c6;}function _0x23ca4e(_0x368e5a){var _0x146f6e=[];return _0x368e5a[_0x1a4e('0x3b')](function(_0x368e5a,_0x2327c6){_0x425e2d(_0x2327c6)||_0x146f6e['push'](_0x368e5a);}),_0x146f6e;}function _0x3069eb(_0x146f6e){return _0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&(_0x146f6e['type']&&0x120===_0x146f6e['type']['kind']||_0x368e5a[_0x1a4e('0x23d2')](_0x146f6e)['some'](function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x269b')],_0x2327c6=_0x368e5a[_0x1a4e('0x2379')];return _0x146f6e||!!_0x2327c6&&0x120===_0x2327c6[_0x1a4e('0x40')][_0x1a4e('0x146b')];}));}function _0x4cd9fb(_0x146f6e,_0x2327c6){if(!_0x368e5a['isExternalModuleNameRelative'](_0x146f6e)){var _0x55ff7e=_0x5d1705(_0xa60cd8,'\x22'+_0x146f6e+'\x22',0x200);return _0x55ff7e&&_0x2327c6?_0x41e7a5(_0x55ff7e):_0x55ff7e;}}function _0x438bd2(_0x146f6e){if(_0x368e5a[_0x1a4e('0x23c9')](_0x146f6e)||_0x4e440c(_0x146f6e)||_0x3069eb(_0x146f6e))return!0x0;if(_0x146f6e['initializer']){var _0x2327c6=_0x38523e(_0x146f6e[_0x1a4e('0x11c')]),_0x55ff7e=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0x146f6e);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x55ff7e>=0x0),_0x55ff7e>=_0x326f82(_0x2327c6);}var _0x1adc17=_0x368e5a[_0x1a4e('0x239e')](_0x146f6e['parent']);return!!_0x1adc17&&!_0x146f6e[_0x1a4e('0x40')]&&!_0x146f6e[_0x1a4e('0x25f9')]&&_0x146f6e[_0x1a4e('0x11c')]['parameters'][_0x1a4e('0x3e')](_0x146f6e)>=_0x1adc17[_0x1a4e('0x2373')][_0x1a4e('0x1e')];}function _0x4e440c(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x24a9')](_0x146f6e))return!0x1;var _0x2327c6=_0x146f6e[_0x1a4e('0x269b')],_0x55ff7e=_0x146f6e[_0x1a4e('0x2379')];return _0x2327c6||!!_0x55ff7e&&0x120===_0x55ff7e[_0x1a4e('0x40')]['kind'];}function _0xc174dd(_0x368e5a,_0x146f6e,_0x2327c6){return{'kind':0x1,'parameterName':_0x368e5a,'parameterIndex':_0x146f6e,'type':_0x2327c6};}function _0x4d64aa(_0x368e5a){return{'kind':0x0,'type':_0x368e5a};}function _0x4d15f3(_0x146f6e){var _0x2327c6,_0x55ff7e=0x0;if(_0x146f6e)for(var _0x1adc17=0x0;_0x1adc17<_0x146f6e[_0x1a4e('0x1e')];_0x1adc17++)(_0x2327c6=_0x146f6e[_0x1adc17])[_0x1a4e('0xb1b')]&&_0x368e5a[_0x1a4e('0x3b')](_0x2327c6[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24ea')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x8')];})||(_0x55ff7e=_0x1adc17+0x1);return _0x55ff7e;}function _0x2378c5(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x1e')](_0x2327c6);if(!_0xf79407)return[];var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1e')](_0x146f6e);if(_0x1adc17||_0x2c9ec9>=_0x55ff7e&&_0x2c9ec9<=_0xf79407){for(var _0x420b32=_0x146f6e?_0x146f6e[_0x1a4e('0x78')]():[],_0x1b06ad=_0x25a22a(_0x1adc17),_0x326eae=_0xa0d6d8(_0x2327c6,_0x368e5a['map'](_0x2327c6,function(){return _0x1b06ad;})),_0x56674b=_0x2c9ec9;_0x56674b<_0xf79407;_0x56674b++)_0x420b32[_0x56674b]=_0x1e1445(_0x337e78(_0x2327c6[_0x56674b])||_0x1b06ad,_0x326eae);for(_0x56674b=_0x2c9ec9;_0x56674b<_0xf79407;_0x56674b++){var _0x415952=_0xa0d6d8(_0x2327c6,_0x420b32),_0x46923a=_0x41f224(_0x2327c6[_0x56674b]);_0x1adc17&&_0x46923a&&_0x2ccc16(_0x46923a,_0x126d3e)&&(_0x46923a=_0x330555),_0x420b32[_0x56674b]=_0x46923a?_0x1e1445(_0x46923a,_0x415952):_0x1b06ad;}return _0x420b32[_0x1a4e('0x1e')]=_0x2327c6[_0x1a4e('0x1e')],_0x420b32;}return _0x146f6e&&_0x146f6e['slice']();}function _0x38523e(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x165ecf(_0x146f6e);if(!_0x55ff7e[_0x1a4e('0x29d0')]){for(var _0x1adc17=[],_0xf79407=!0x1,_0x2c9ec9=0x0,_0x420b32=void 0x0,_0x1b06ad=!0x1,_0x326eae=_0x368e5a['getImmediatelyInvokedFunctionExpression'](_0x146f6e),_0x56674b=_0x368e5a[_0x1a4e('0x23cb')](_0x146f6e),_0x415952=!_0x326eae&&_0x368e5a['isInJSFile'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x29d1')](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x24d5')](_0x146f6e)&&!_0x368e5a['getJSDocType'](_0x146f6e),_0x46923a=_0x56674b?0x1:0x0;_0x46923a<_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x1e')];_0x46923a++){var _0x88bf03=_0x146f6e[_0x1a4e('0x111a')][_0x46923a],_0x434714=_0x88bf03[_0x1a4e('0xb1b')],_0x57b692=_0x368e5a['isJSDocParameterTag'](_0x88bf03)?_0x88bf03[_0x1a4e('0x2379')]&&_0x88bf03[_0x1a4e('0x2379')]['type']:_0x88bf03['type'];_0x434714&&0x4&_0x434714[_0x1a4e('0x7b2')]&&!_0x368e5a['isBindingPattern'](_0x88bf03[_0x1a4e('0x2cb')])&&(_0x434714=_0x1e09ab(_0x88bf03,_0x434714[_0x1a4e('0x22e8')],0x401b3bf,void 0x0,void 0x0,!0x1)),0x0===_0x46923a&&_0x1a4e('0x19b5')===_0x434714[_0x1a4e('0x22e8')]?(_0x1b06ad=!0x0,_0x420b32=_0x88bf03[_0x1a4e('0xb1b')]):_0x1adc17[_0x1a4e('0x46')](_0x434714),_0x57b692&&0xb6===_0x57b692[_0x1a4e('0x146b')]&&(_0xf79407=!0x0),_0x4e440c(_0x88bf03)||_0x88bf03[_0x1a4e('0x236a')]||_0x88bf03[_0x1a4e('0x23ca')]||_0x88bf03[_0x1a4e('0x25f9')]||_0x326eae&&_0x1adc17['length']>_0x326eae['arguments'][_0x1a4e('0x1e')]&&!_0x57b692||_0x415952||_0x3069eb(_0x88bf03)||(_0x2c9ec9=_0x1adc17[_0x1a4e('0x1e')]);}if(!(0x9e!==_0x146f6e[_0x1a4e('0x146b')]&&0x9f!==_0x146f6e[_0x1a4e('0x146b')]||_0x45371c(_0x146f6e)||_0x1b06ad&&_0x420b32)){var _0x1ad11f=0x9e===_0x146f6e[_0x1a4e('0x146b')]?0x9f:0x9e,_0x35bd0a=_0x368e5a[_0x1a4e('0x28c9')](_0x54a27b(_0x146f6e),_0x1ad11f);_0x35bd0a&&(_0x420b32=(_0x2327c6=_0x4742e0(_0x35bd0a))&&_0x2327c6[_0x1a4e('0xb1b')]);}var _0x36aa2e=0x9d===_0x146f6e[_0x1a4e('0x146b')]?_0x1055a1(_0x41e7a5(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0xb1b')])):void 0x0,_0x30b3ec=_0x36aa2e?_0x36aa2e[_0x1a4e('0x29c8')]:_0x32977a(_0x146f6e),_0x1b487e=_0x368e5a['hasRestParameter'](_0x146f6e)||_0x368e5a['isInJSFile'](_0x146f6e)&&function(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x244e')](_0x146f6e)||!_0x5364a3(_0x146f6e))return!0x1;var _0x55ff7e=_0x368e5a['lastOrUndefined'](_0x146f6e[_0x1a4e('0x111a')]),_0x1adc17=_0x55ff7e?_0x368e5a['getJSDocParameterTags'](_0x55ff7e):_0x368e5a[_0x1a4e('0x24df')](_0x146f6e)[_0x1a4e('0xd9')](_0x368e5a['isJSDocParameterTag']),_0xf79407=_0x368e5a['firstDefined'](_0x1adc17,function(_0x146f6e){return _0x146f6e[_0x1a4e('0x2379')]&&_0x368e5a['isJSDocVariadicType'](_0x146f6e[_0x1a4e('0x2379')][_0x1a4e('0x40')])?_0x146f6e[_0x1a4e('0x2379')][_0x1a4e('0x40')]:void 0x0;}),_0x2c9ec9=_0x4ecc5b(0x3,'args',0x2000);return _0x2c9ec9[_0x1a4e('0x40')]=_0xf79407?_0xfd8b5f(_0x3fafb1(_0xf79407[_0x1a4e('0x40')])):_0x1a0acf,_0xf79407&&_0x2327c6[_0x1a4e('0x76')](),_0x2327c6[_0x1a4e('0x46')](_0x2c9ec9),!0x0;}(_0x146f6e,_0x1adc17);_0x55ff7e[_0x1a4e('0x29d0')]=_0x1338dd(_0x146f6e,_0x30b3ec,_0x420b32,_0x1adc17,void 0x0,void 0x0,_0x2c9ec9,_0x1b487e,_0xf79407);}return _0x55ff7e[_0x1a4e('0x29d0')];}function _0x4b17a0(_0x146f6e){var _0x2327c6=_0x368e5a['isInJSFile'](_0x146f6e)?_0x368e5a['getJSDocTypeTag'](_0x146f6e):void 0x0,_0x55ff7e=_0x2327c6&&_0x2327c6[_0x1a4e('0x2379')]&&_0x8dc831(_0x3fafb1(_0x2327c6[_0x1a4e('0x2379')]));return _0x55ff7e&&_0x10a62e(_0x55ff7e);}function _0x5364a3(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);return void 0x0===_0x2327c6['containsArgumentsReference']&&(0x2000&_0x2327c6[_0x1a4e('0x7b2')]?_0x2327c6[_0x1a4e('0x29d2')]=!0x0:_0x2327c6[_0x1a4e('0x29d2')]=function _0x146f6e(_0x2327c6){if(!_0x2327c6)return!0x1;switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x48:return'arguments'===_0x2327c6[_0x1a4e('0x22f3')]&&_0x368e5a[_0x1a4e('0x28da')](_0x2327c6);case 0x9a:case 0x9c:case 0x9e:case 0x9f:return 0x95===_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&_0x146f6e(_0x2327c6[_0x1a4e('0x2cb')]);default:return!_0x368e5a['nodeStartsNewLexicalEnvironment'](_0x2327c6)&&!_0x368e5a[_0x1a4e('0x2384')](_0x2327c6)&&!!_0x368e5a[_0x1a4e('0x22eb')](_0x2327c6,_0x146f6e);}}(_0x146f6e['body'])),_0x2327c6[_0x1a4e('0x29d2')];}function _0x5859c7(_0x146f6e){if(!_0x146f6e)return _0x368e5a[_0x1a4e('0x1700')];for(var _0x2327c6=[],_0x55ff7e=0x0;_0x55ff7e<_0x146f6e[_0x1a4e('0x22e5')][_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x146f6e[_0x1a4e('0x22e5')][_0x55ff7e];if(_0x368e5a['isFunctionLike'](_0x1adc17)){if(_0x55ff7e>0x0&&_0x1adc17[_0x1a4e('0x8f2')]){var _0xf79407=_0x146f6e[_0x1a4e('0x22e5')][_0x55ff7e-0x1];if(_0x1adc17['parent']===_0xf79407[_0x1a4e('0x11c')]&&_0x1adc17['kind']===_0xf79407[_0x1a4e('0x146b')]&&_0x1adc17[_0x1a4e('0xa4')]===_0xf79407[_0x1a4e('0xca')])continue;}_0x2327c6[_0x1a4e('0x46')](_0x38523e(_0x1adc17));}}return _0x2327c6;}function _0x14fcfd(_0x368e5a){if(_0x368e5a[_0x1a4e('0x28c7')])return _0x38797c(_0x368e5a['thisParameter']);}function _0x467bf3(_0x368e5a){return void 0x0!==_0x13a441(_0x368e5a);}function _0x13a441(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x29c4')]){if(_0x146f6e[_0x1a4e('0xd95')]){var _0x2327c6=_0x13a441(_0x146f6e['target']);_0x146f6e[_0x1a4e('0x29c4')]=_0x2327c6?(_0x2c9ec9=_0x2327c6,_0x420b32=_0x146f6e[_0x1a4e('0x28c5')],_0x368e5a[_0x1a4e('0x2393')](_0x2c9ec9)?{'kind':0x1,'parameterName':_0x2c9ec9[_0x1a4e('0x2667')],'parameterIndex':_0x2c9ec9[_0x1a4e('0x29d3')],'type':_0x1e1445(_0x2c9ec9[_0x1a4e('0x40')],_0x420b32)}:{'kind':0x0,'type':_0x1e1445(_0x2c9ec9[_0x1a4e('0x40')],_0x420b32)}):_0x5be6c7;}else if(_0x146f6e['unionSignatures'])_0x146f6e[_0x1a4e('0x29c4')]=function(_0x146f6e){for(var _0x2327c6,_0x55ff7e=[],_0x1adc17=0x0,_0xf79407=_0x146f6e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x13a441(_0x2c9ec9);if(_0x420b32){if(_0x2327c6){if(!_0x4494ac(_0x2327c6,_0x420b32))return;}else _0x2327c6=_0x420b32;_0x55ff7e[_0x1a4e('0x46')](_0x420b32['type']);}}if(_0x2327c6){var _0x1b06ad=_0x2d74ef(_0x55ff7e);return _0x368e5a[_0x1a4e('0x2393')](_0x2327c6)?_0xc174dd(_0x2327c6[_0x1a4e('0x2667')],_0x2327c6[_0x1a4e('0x29d3')],_0x1b06ad):_0x4d64aa(_0x1b06ad);}}(_0x146f6e[_0x1a4e('0x29c7')])||_0x5be6c7;else{var _0x55ff7e=_0x146f6e[_0x1a4e('0x2350')]&&_0x368e5a[_0x1a4e('0x29b7')](_0x146f6e[_0x1a4e('0x2350')]),_0x1adc17=void 0x0;if(!_0x55ff7e&&_0x368e5a['isInJSFile'](_0x146f6e[_0x1a4e('0x2350')])){var _0xf79407=_0x4b17a0(_0x146f6e['declaration']);_0xf79407&&_0x146f6e!==_0xf79407&&(_0x1adc17=_0x13a441(_0xf79407));}_0x146f6e[_0x1a4e('0x29c4')]=_0x55ff7e&&_0x368e5a[_0x1a4e('0x24f2')](_0x55ff7e)?function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a['parameterName'],_0x55ff7e=_0x3fafb1(_0x368e5a[_0x1a4e('0x40')]);return 0x48===_0x2327c6[_0x1a4e('0x146b')]?_0xc174dd(_0x2327c6['escapedText'],function(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];_0x2327c6++){var _0x55ff7e=_0x368e5a[_0x2327c6];if(0x48===_0x55ff7e[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&_0x55ff7e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]===_0x146f6e[_0x1a4e('0x22f3')])return _0x2327c6;}return-0x1;}(_0x146f6e[_0x1a4e('0x111a')],_0x2327c6),_0x55ff7e):_0x4d64aa(_0x55ff7e);}(_0x55ff7e,_0x146f6e[_0x1a4e('0x2350')]):_0x1adc17||_0x5be6c7;}_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x146f6e[_0x1a4e('0x29c4')]);}var _0x2c9ec9,_0x420b32;return _0x146f6e[_0x1a4e('0x29c4')]===_0x5be6c7?void 0x0:_0x146f6e[_0x1a4e('0x29c4')];}function _0x4b6767(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x2998')]){if(!_0x2ee333(_0x146f6e,0x3))return _0x336c2;var _0x2327c6=_0x146f6e['target']?_0x1e1445(_0x4b6767(_0x146f6e[_0x1a4e('0xd95')]),_0x146f6e[_0x1a4e('0x28c5')]):_0x146f6e[_0x1a4e('0x29c7')]?_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x29c7')],_0x4b6767),0x2):_0x26ffc2(_0x146f6e[_0x1a4e('0x2350')])||_0x4cff90(_0x146f6e[_0x1a4e('0x2350')])&&_0xfba9bc(_0x54a27b(_0x146f6e[_0x1a4e('0x2350')]))||(_0x368e5a['nodeIsMissing'](_0x146f6e[_0x1a4e('0x2350')][_0x1a4e('0x8f2')])?_0x330555:_0xa5addb(_0x146f6e['declaration']));if(!_0x3a10f3()){if(_0x146f6e['declaration']){var _0x55ff7e=_0x368e5a['getEffectiveReturnTypeNode'](_0x146f6e[_0x1a4e('0x2350')]);if(_0x55ff7e)_0x2cb4f4(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29d4')]);else if(_0x59c9de){var _0x1adc17=_0x146f6e[_0x1a4e('0x2350')],_0xf79407=_0x368e5a['getNameOfDeclaration'](_0x1adc17);_0xf79407?_0x2cb4f4(_0xf79407,_0x368e5a['Diagnostics'][_0x1a4e('0x29aa')],_0x368e5a[_0x1a4e('0x1676')](_0xf79407)):_0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29d5')]);}}_0x2327c6=_0x330555;}_0x146f6e[_0x1a4e('0x2998')]=_0x2327c6;}return _0x146f6e['resolvedReturnType'];}function _0x26ffc2(_0x146f6e){if(0x9d===_0x146f6e['kind'])return _0x1055a1(_0x41e7a5(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0xb1b')]));if(_0x368e5a[_0x1a4e('0x23cb')](_0x146f6e))return _0x3fafb1(_0x146f6e['parameters'][0x0][_0x1a4e('0x40')]);var _0x2327c6,_0x55ff7e=_0x368e5a['getEffectiveReturnTypeNode'](_0x146f6e);if(_0x55ff7e)return _0x3fafb1(_0x55ff7e);if(0x9e===_0x146f6e['kind']&&!_0x45371c(_0x146f6e)){var _0x1adc17=_0x368e5a['isInJSFile'](_0x146f6e)&&_0x324df4(_0x146f6e);if(_0x1adc17)return _0x1adc17;var _0xf79407=_0x477ae3(_0x368e5a['getDeclarationOfKind'](_0x54a27b(_0x146f6e),0x9f));if(_0xf79407)return _0xf79407;}return(_0x2327c6=_0x4b17a0(_0x146f6e))&&_0x4b6767(_0x2327c6);}function _0x2d3d09(_0x368e5a){if(_0x368e5a['hasRestParameter']){var _0x146f6e=_0x38797c(_0x368e5a[_0x1a4e('0x111a')][_0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')]-0x1]),_0x2327c6=_0x102fd6(_0x146f6e)?_0x49b3ef(_0x146f6e):_0x146f6e;return _0x2327c6&&_0x3e5aca(_0x2327c6,0x1);}}function _0x3d8b88(_0x368e5a,_0x146f6e,_0x2327c6){return _0x481243(_0x368e5a,_0x2378c5(_0x146f6e,_0x368e5a[_0x1a4e('0x23d7')],_0x4d15f3(_0x368e5a['typeParameters']),_0x2327c6));}function _0x481243(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['instantiations']||(_0x146f6e[_0x1a4e('0x28ef')]=_0x368e5a['createMap']()),_0x1adc17=_0x2aa01d(_0x2327c6),_0xf79407=_0x55ff7e[_0x1a4e('0x179')](_0x1adc17);return _0xf79407||_0x55ff7e[_0x1a4e('0x17a')](_0x1adc17,_0xf79407=_0x15ac1a(_0x146f6e,_0x2327c6)),_0xf79407;}function _0x15ac1a(_0x368e5a,_0x146f6e){return _0x54171a(_0x368e5a,_0x4a013c(_0x368e5a,_0x146f6e),!0x0);}function _0x4a013c(_0x368e5a,_0x146f6e){return _0xa0d6d8(_0x368e5a[_0x1a4e('0x23d7')],_0x146f6e);}function _0x10a62e(_0x368e5a){return _0x368e5a[_0x1a4e('0x23d7')]?_0x368e5a[_0x1a4e('0x29d6')]||(_0x368e5a['erasedSignatureCache']=function(_0x368e5a){return _0x54171a(_0x368e5a,_0x4f7803(_0x368e5a[_0x1a4e('0x23d7')]),!0x0);}(_0x368e5a)):_0x368e5a;}function _0x32ee91(_0x146f6e){return _0x146f6e['typeParameters']?_0x146f6e[_0x1a4e('0x29d7')]||(_0x146f6e[_0x1a4e('0x29d7')]=function(_0x146f6e){return _0x3d8b88(_0x146f6e,_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x23d7')],function(_0x368e5a){return _0x368e5a[_0x1a4e('0xd95')]&&!_0x2a8efa(_0x368e5a[_0x1a4e('0xd95')])?_0x368e5a[_0x1a4e('0xd95')]:_0x368e5a;}),_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e['declaration']));}(_0x146f6e)):_0x146f6e;}function _0x2b634f(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x23d7')];if(_0x2327c6){var _0x55ff7e=_0x4f7803(_0x2327c6);return _0x54171a(_0x146f6e,_0xa0d6d8(_0x2327c6,_0x368e5a[_0x1a4e('0x21')](_0x2327c6,function(_0x368e5a){return _0x1e1445(_0x1953ea(_0x368e5a),_0x55ff7e)||_0x126d3e;})),!0x0);}return _0x146f6e;}function _0x4163af(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x29d8')]){var _0x2327c6=0x9d===_0x146f6e[_0x1a4e('0x2350')][_0x1a4e('0x146b')]||0xa1===_0x146f6e[_0x1a4e('0x2350')][_0x1a4e('0x146b')],_0x55ff7e=_0x1233a5(0x10);_0x55ff7e[_0x1a4e('0x2369')]=_0x362306,_0x55ff7e[_0x1a4e('0x13')]=_0x368e5a[_0x1a4e('0x1700')],_0x55ff7e[_0x1a4e('0x2887')]=_0x2327c6?_0x368e5a[_0x1a4e('0x1700')]:[_0x146f6e],_0x55ff7e[_0x1a4e('0x2888')]=_0x2327c6?[_0x146f6e]:_0x368e5a[_0x1a4e('0x1700')],_0x146f6e[_0x1a4e('0x29d8')]=_0x55ff7e;}return _0x146f6e[_0x1a4e('0x29d8')];}function _0xb91f02(_0x368e5a){return _0x368e5a['members']['get'](_0x1a4e('0x19a6'));}function _0x4efc23(_0x146f6e,_0x2327c6){var _0x55ff7e=0x1===_0x2327c6?0x87:0x8a,_0x1adc17=_0xb91f02(_0x146f6e);if(_0x1adc17)for(var _0xf79407=0x0,_0x2c9ec9=_0x1adc17[_0x1a4e('0x22e5')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x368e5a['cast'](_0x420b32,_0x368e5a[_0x1a4e('0x24f0')]);if(0x1===_0x1b06ad[_0x1a4e('0x111a')][_0x1a4e('0x1e')]){var _0x326eae=_0x1b06ad[_0x1a4e('0x111a')][0x0];if(_0x326eae[_0x1a4e('0x40')]&&_0x326eae['type'][_0x1a4e('0x146b')]===_0x55ff7e)return _0x1b06ad;}}}function _0x2c1884(_0x368e5a,_0x146f6e,_0x2327c6){return{'type':_0x368e5a,'isReadonly':_0x146f6e,'declaration':_0x2327c6};}function _0xafc5f2(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x4efc23(_0x146f6e,_0x2327c6);if(_0x55ff7e)return _0x2c1884(_0x55ff7e[_0x1a4e('0x40')]?_0x3fafb1(_0x55ff7e['type']):_0x330555,_0x368e5a[_0x1a4e('0x24c6')](_0x55ff7e,0x40),_0x55ff7e);}function _0x337e78(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x2364')])if(_0x146f6e[_0x1a4e('0xd95')]){var _0x2327c6=_0x2a8efa(_0x146f6e['target']);_0x146f6e[_0x1a4e('0x2364')]=_0x2327c6?_0x1e1445(_0x2327c6,_0x146f6e[_0x1a4e('0x28c5')]):_0x3cb5fc;}else{var _0x55ff7e=(_0xf79407=(_0x1adc17=_0x146f6e)[_0x1a4e('0xb1b')]&&_0x368e5a[_0x1a4e('0x28c9')](_0x1adc17['symbol'],0x96))&&_0x368e5a['getEffectiveConstraintOfTypeParameter'](_0xf79407);_0x146f6e[_0x1a4e('0x2364')]=_0x55ff7e?_0x3fafb1(_0x55ff7e):function(_0x146f6e){var _0x2327c6;if(_0x146f6e[_0x1a4e('0xb1b')])for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0xb0===_0xf79407[_0x1a4e('0x11c')]['kind']){var _0x2c9ec9=_0xf79407['parent'][_0x1a4e('0x11c')];if(0xa4===_0x2c9ec9['kind']){var _0x420b32=_0x2c9ec9,_0x1b06ad=_0x34cc32(_0x420b32);if(_0x1b06ad){var _0x326eae=_0x420b32['typeArguments'][_0x1a4e('0x3e')](_0xf79407['parent']);if(_0x326eae<_0x1b06ad[_0x1a4e('0x1e')]){var _0x56674b=_0x2a8efa(_0x1b06ad[_0x326eae]);if(_0x56674b){var _0x415952=_0x1e1445(_0x56674b,_0xa0d6d8(_0x1b06ad,_0x3d7c9f(_0x420b32,_0x1b06ad)));_0x415952!==_0x146f6e&&(_0x2327c6=_0x368e5a['append'](_0x2327c6,_0x415952));}}}}else 0x97===_0x2c9ec9[_0x1a4e('0x146b')]&&_0x2c9ec9[_0x1a4e('0x25f9')]&&(_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0xfd8b5f(_0x387afa)));}}return _0x2327c6&&_0xffdb94(_0x2327c6);}(_0x146f6e)||_0x3cb5fc;}var _0x1adc17,_0xf79407;return _0x146f6e[_0x1a4e('0x2364')]===_0x3cb5fc?void 0x0:_0x146f6e[_0x1a4e('0x2364')];}function _0x21b3f9(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x28c9')](_0x146f6e['symbol'],0x96),_0x55ff7e=_0x368e5a[_0x1a4e('0x24e0')](_0x2327c6[_0x1a4e('0x11c')])?_0x368e5a[_0x1a4e('0x23d4')](_0x2327c6[_0x1a4e('0x11c')]):_0x2327c6[_0x1a4e('0x11c')];return _0x55ff7e&&_0x54a27b(_0x55ff7e);}function _0x2aa01d(_0x368e5a){var _0x146f6e='';if(_0x368e5a)for(var _0x2327c6=_0x368e5a[_0x1a4e('0x1e')],_0x55ff7e=0x0;_0x55ff7e<_0x2327c6;){for(var _0x1adc17=_0x368e5a[_0x55ff7e]['id'],_0xf79407=0x1;_0x55ff7e+_0xf79407<_0x2327c6&&_0x368e5a[_0x55ff7e+_0xf79407]['id']===_0x1adc17+_0xf79407;)_0xf79407++;_0x146f6e['length']&&(_0x146f6e+=','),_0x146f6e+=_0x1adc17,_0xf79407>0x1&&(_0x146f6e+=':'+_0xf79407),_0x55ff7e+=_0xf79407;}return _0x146f6e;}function _0x3c45ab(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0xf79407['flags']&_0x146f6e||(_0x2327c6|=_0xf79407[_0x1a4e('0x7b2')]);}return 0x38000000&_0x2327c6;}function _0x34525d(_0x368e5a,_0x146f6e){var _0x2327c6=_0x2aa01d(_0x146f6e),_0x55ff7e=_0x368e5a[_0x1a4e('0x28ef')]['get'](_0x2327c6);return _0x55ff7e||(_0x55ff7e=_0x1233a5(0x4,_0x368e5a[_0x1a4e('0xb1b')]),_0x368e5a[_0x1a4e('0x28ef')][_0x1a4e('0x17a')](_0x2327c6,_0x55ff7e),_0x55ff7e[_0x1a4e('0x7b2')]|=_0x146f6e?_0x3c45ab(_0x146f6e,0x0):0x0,_0x55ff7e[_0x1a4e('0xd95')]=_0x368e5a,_0x55ff7e[_0x1a4e('0x2365')]=_0x146f6e),_0x55ff7e;}function _0x47902f(_0x368e5a){var _0x146f6e=_0x5e6a6c(_0x368e5a[_0x1a4e('0x7b2')]);return _0x146f6e[_0x1a4e('0xb1b')]=_0x368e5a[_0x1a4e('0xb1b')],_0x146f6e[_0x1a4e('0x2472')]=_0x368e5a[_0x1a4e('0x2472')],_0x146f6e[_0x1a4e('0xd95')]=_0x368e5a[_0x1a4e('0xd95')],_0x146f6e[_0x1a4e('0x2365')]=_0x368e5a[_0x1a4e('0x2365')],_0x146f6e;}function _0x30457b(_0x146f6e){return _0x368e5a[_0x1a4e('0x1e')](_0x146f6e[_0x1a4e('0xd95')][_0x1a4e('0x23d7')]);}function _0x16a85d(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x287d7b(_0x41e7a5(_0x2327c6)),_0xf79407=_0x1adc17[_0x1a4e('0x29c8')];if(_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1e')](_0x146f6e[_0x1a4e('0x2365')]),_0x420b32=_0x4d15f3(_0xf79407),_0x1b06ad=_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e);if((_0x59c9de||!_0x1b06ad)&&(_0x2c9ec9<_0x420b32||_0x2c9ec9>_0xf79407[_0x1a4e('0x1e')])){var _0x326eae=_0x1b06ad&&_0x368e5a['isExpressionWithTypeArguments'](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x24d6')](_0x146f6e[_0x1a4e('0x11c')]);if(_0x2cb4f4(_0x146f6e,_0x420b32===_0xf79407[_0x1a4e('0x1e')]?_0x326eae?_0x368e5a[_0x1a4e('0x167d')]['Expected_0_type_arguments_provide_these_with_an_extends_tag']:_0x368e5a['Diagnostics']['Generic_type_0_requires_1_type_argument_s']:_0x326eae?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29d9')]:_0x368e5a[_0x1a4e('0x167d')]['Generic_type_0_requires_between_1_and_2_type_arguments'],_0x5ad709(_0x1adc17,void 0x0,0x2),_0x420b32,_0xf79407[_0x1a4e('0x1e')]),!_0x1b06ad)return _0x336c2;}return _0x34525d(_0x1adc17,_0x368e5a[_0x1a4e('0x1717')](_0x1adc17['outerTypeParameters'],_0x2378c5(_0x55ff7e,_0xf79407,_0x420b32,_0x1b06ad)));}return _0xc3d362(_0x146f6e,_0x2327c6)?_0x1adc17:_0x336c2;}function _0x5af6bf(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x287d7b(_0x146f6e),_0x1adc17=_0xdba731(_0x146f6e),_0xf79407=_0x1adc17[_0x1a4e('0x23d7')],_0x2c9ec9=_0x2aa01d(_0x2327c6),_0x420b32=_0x1adc17[_0x1a4e('0x28ef')][_0x1a4e('0x179')](_0x2c9ec9);return _0x420b32||_0x1adc17[_0x1a4e('0x28ef')][_0x1a4e('0x17a')](_0x2c9ec9,_0x420b32=_0x1e1445(_0x55ff7e,_0xa0d6d8(_0xf79407,_0x2378c5(_0x2327c6,_0xf79407,_0x4d15f3(_0xf79407),_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e['valueDeclaration']))))),_0x420b32;}function _0x4624b2(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xa4:return _0x146f6e['typeName'];case 0xd3:var _0x2327c6=_0x146f6e[_0x1a4e('0x2302')];if(_0x368e5a[_0x1a4e('0x2463')](_0x2327c6))return _0x2327c6;}}function _0x3d7a55(_0x368e5a,_0x146f6e){return _0x368e5a&&_0x151d70(_0x368e5a,_0x146f6e)||_0x450499;}function _0x60d30a(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x494812(_0x146f6e);if(_0x2327c6===_0x450499)return _0x336c2;var _0x1adc17=_0x5b05f0(_0x146f6e,_0x2327c6,_0x55ff7e);if(_0x1adc17)return _0x1adc17;var _0xf79407=_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&_0x2327c6['valueDeclaration']&&_0x368e5a[_0x1a4e('0x24d8')](_0x2327c6['valueDeclaration']);if(_0xf79407){var _0x2c9ec9=_0x165ecf(_0xf79407);if(!_0x2ee333(_0xf79407,0x5))return _0x336c2;var _0x420b32=_0xf79407[_0x1a4e('0x2379')]?_0x3fafb1(_0xf79407[_0x1a4e('0x2379')]):_0x336c2;return _0x3a10f3()||(_0x420b32=_0x336c2,_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29da')],_0x22aa27(_0x2327c6))),_0x2c9ec9[_0x1a4e('0x29db')]=_0x420b32;}var _0x1b06ad=_0x4dc67a(_0x2327c6);if(_0x1b06ad)return _0xc3d362(_0x146f6e,_0x2327c6)?0x40000&_0x1b06ad[_0x1a4e('0x7b2')]?_0x3ef943(_0x1b06ad,_0x146f6e):_0x4da784(_0x1b06ad):_0x336c2;if(!(0x401b3bf&_0x2327c6[_0x1a4e('0x7b2')]&&_0x5e0ad2(_0x146f6e)))return _0x336c2;var _0x326eae=_0x3bf249(_0x146f6e,_0x2327c6,_0x55ff7e);return _0x326eae||(_0x3d7a55(_0x4624b2(_0x146f6e),0x40c09e8),_0x38797c(_0x2327c6));}function _0x3bf249(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x2ee333(_0x2327c6,0x6))return _0x336c2;var _0x1adc17=_0x35eb6f(_0x2327c6),_0xf79407=_0x38797c(_0x2327c6),_0x2c9ec9=_0xf79407[_0x1a4e('0xb1b')]&&_0xf79407[_0x1a4e('0xb1b')]!==_0x2327c6&&!_0x246055(_0xf79407)&&_0x5b05f0(_0x146f6e,_0xf79407[_0x1a4e('0xb1b')],_0x55ff7e);if(!_0x3a10f3())return _0xdba731(_0x2327c6)[_0x1a4e('0x299a')]=_0x336c2,_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29dc')],_0x22aa27(_0x2327c6)),_0x336c2;if(_0x2c9ec9||_0x1adc17){var _0x420b32=_0x2c9ec9&&_0x1adc17?_0xffdb94([_0x1adc17,_0x2c9ec9]):_0x2c9ec9||_0x1adc17;return _0xdba731(_0x2327c6)[_0x1a4e('0x299a')]=_0x420b32;}}function _0x5b05f0(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x60&_0x2327c6['flags']){if(_0x2327c6[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x236e')](_0x2327c6[_0x1a4e('0x2340')]['parent'])){var _0x1adc17=_0x3bf249(_0x146f6e,_0x2327c6,_0x55ff7e);if(_0x1adc17)return _0x1adc17;}return _0x16a85d(_0x146f6e,_0x2327c6,_0x55ff7e);}return 0x80000&_0x2327c6[_0x1a4e('0x7b2')]?function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x287d7b(_0x2327c6),_0xf79407=_0xdba731(_0x2327c6)[_0x1a4e('0x23d7')];if(_0xf79407){var _0x2c9ec9=_0x368e5a['length'](_0x146f6e[_0x1a4e('0x2365')]),_0x420b32=_0x4d15f3(_0xf79407);return _0x2c9ec9<_0x420b32||_0x2c9ec9>_0xf79407['length']?(_0x2cb4f4(_0x146f6e,_0x420b32===_0xf79407[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x167d')]['Generic_type_0_requires_1_type_argument_s']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29dd')],_0x22aa27(_0x2327c6),_0x420b32,_0xf79407[_0x1a4e('0x1e')]),_0x336c2):_0x5af6bf(_0x2327c6,_0x55ff7e);}return _0xc3d362(_0x146f6e,_0x2327c6)?_0x1adc17:_0x336c2;}(_0x146f6e,_0x2327c6,_0x55ff7e):0x10&_0x2327c6[_0x1a4e('0x7b2')]&&_0x5e0ad2(_0x146f6e)&&(_0x2327c6[_0x1a4e('0x2369')]||_0x368e5a['getJSDocClassTag'](_0x2327c6[_0x1a4e('0x2340')]))?_0x318c88(_0x2327c6):void 0x0;}function _0x25b876(_0x368e5a){return 0xaa===_0x368e5a[_0x1a4e('0x146b')]&&0x1===_0x368e5a['elementTypes'][_0x1a4e('0x1e')];}function _0x3ef59a(_0x368e5a,_0x146f6e,_0x2327c6){return _0x25b876(_0x146f6e)&&_0x25b876(_0x2327c6)?_0x3ef59a(_0x368e5a,_0x146f6e['elementTypes'][0x0],_0x2327c6['elementTypes'][0x0]):_0x3cc04a(_0x3fafb1(_0x146f6e))===_0x368e5a?_0x3fafb1(_0x2327c6):void 0x0;}function _0x3ef943(_0x146f6e,_0x2327c6){for(var _0x55ff7e;_0x2327c6&&!_0x368e5a[_0x1a4e('0x2569')](_0x2327c6)&&0x123!==_0x2327c6['kind'];){var _0x1adc17=_0x2327c6['parent'];if(0xaf===_0x1adc17[_0x1a4e('0x146b')]&&_0x2327c6===_0x1adc17[_0x1a4e('0x25ff')]){var _0xf79407=_0x3ef59a(_0x146f6e,_0x1adc17['checkType'],_0x1adc17[_0x1a4e('0x25fe')]);_0xf79407&&(_0x55ff7e=_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0xf79407));}_0x2327c6=_0x1adc17;}return _0x55ff7e?function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x5e6a6c(0x2000000);return _0x2327c6[_0x1a4e('0x28b1')]=_0x368e5a,_0x2327c6[_0x1a4e('0xb80')]=_0x146f6e,_0x2327c6;}(_0x146f6e,_0xffdb94(_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x146f6e))):_0x146f6e;}function _0x5e0ad2(_0x368e5a){return!!(0x200000&_0x368e5a[_0x1a4e('0x7b2')])&&(0xa4===_0x368e5a[_0x1a4e('0x146b')]||0xb7===_0x368e5a[_0x1a4e('0x146b')]);}function _0xc3d362(_0x146f6e,_0x2327c6){return!_0x146f6e[_0x1a4e('0x2365')]||(_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29de')],_0x2327c6?_0x22aa27(_0x2327c6):_0x146f6e['typeName']?_0x368e5a[_0x1a4e('0x1676')](_0x146f6e[_0x1a4e('0xe7d')]):_0x1a4e('0x29df')),!0x1);}function _0x2b9148(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x29e0')]){var _0x55ff7e=void 0x0,_0x1adc17=void 0x0,_0xf79407=0x40c09e8;_0x5e0ad2(_0x146f6e)&&(_0x1adc17=function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0xe7d')])){var _0x2327c6=_0x146f6e['typeArguments'];switch(_0x146f6e['typeName'][_0x1a4e('0x22f3')]){case _0x1a4e('0x1011'):return _0xc3d362(_0x146f6e),_0x1d9562;case _0x1a4e('0x16da'):return _0xc3d362(_0x146f6e),_0x4a492a;case _0x1a4e('0x16db'):return _0xc3d362(_0x146f6e),_0x4b156c;case _0x1a4e('0x19d3'):return _0xc3d362(_0x146f6e),_0x56da3c;case'Undefined':return _0xc3d362(_0x146f6e),_0x57a5b4;case'Null':return _0xc3d362(_0x146f6e),_0x406341;case _0x1a4e('0x1a0f'):case'function':return _0xc3d362(_0x146f6e),_0x437267;case _0x1a4e('0x104'):case _0x1a4e('0xf12'):return _0x2327c6&&_0x2327c6[_0x1a4e('0x1e')]?void 0x0:_0x1a0acf;case _0x1a4e('0xf55'):case _0x1a4e('0x12d4'):return _0x2327c6&&_0x2327c6['length']?void 0x0:_0x26d80f(_0x330555);case _0x1a4e('0xfb5'):if(_0x2327c6&&0x2===_0x2327c6[_0x1a4e('0x1e')]){if(_0x368e5a[_0x1a4e('0x23ad')](_0x146f6e)){var _0x55ff7e=_0x3fafb1(_0x2327c6[0x0]),_0x1adc17=_0x2c1884(_0x3fafb1(_0x2327c6[0x1]),!0x1);return _0x1178b7(void 0x0,_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],_0x55ff7e===_0x1d9562?_0x1adc17:void 0x0,_0x55ff7e===_0x4a492a?_0x1adc17:void 0x0);}return _0x330555;}return _0xc3d362(_0x146f6e),_0x330555;}}}(_0x146f6e),_0xf79407|=0x401b3bf),_0x1adc17||(_0x1adc17=_0x60d30a(_0x146f6e,_0x55ff7e=_0x3d7a55(_0x4624b2(_0x146f6e),_0xf79407))),_0x2327c6['resolvedSymbol']=_0x55ff7e,_0x2327c6[_0x1a4e('0x29e0')]=_0x1adc17;}return _0x2327c6[_0x1a4e('0x29e0')];}function _0x494812(_0x146f6e){return _0x368e5a['map'](_0x146f6e[_0x1a4e('0x2365')],_0x3fafb1);}function _0x56d0b4(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);return _0x146f6e[_0x1a4e('0x29e0')]||(_0x146f6e['resolvedType']=_0x4da784(_0x3a6dfd(_0x4e94e8(_0x368e5a[_0x1a4e('0x25fb')])))),_0x146f6e[_0x1a4e('0x29e0')];}function _0x1119ba(_0x146f6e,_0x2327c6){function _0x55ff7e(_0x368e5a){for(var _0x146f6e=0x0,_0x2327c6=_0x368e5a[_0x1a4e('0x22e5')];_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x2327c6[_0x146f6e];switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xf0:case 0xf1:case 0xf3:return _0x55ff7e;}}}if(!_0x146f6e)return _0x2327c6?_0x102117:_0x126d3e;var _0x1adc17=_0x287d7b(_0x146f6e);return 0x80000&_0x1adc17[_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x1e')](_0x1adc17[_0x1a4e('0x23d7')])!==_0x2327c6?(_0x2cb4f4(_0x55ff7e(_0x146f6e),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29e1')],_0x368e5a['symbolName'](_0x146f6e),_0x2327c6),_0x2327c6?_0x102117:_0x126d3e):_0x1adc17:(_0x2cb4f4(_0x55ff7e(_0x146f6e),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29e2')],_0x368e5a[_0x1a4e('0x24d2')](_0x146f6e)),_0x2327c6?_0x102117:_0x126d3e);}function _0x3ebcfa(_0x146f6e,_0x2327c6){return _0x8cd98c(_0x146f6e,0x401b3bf,_0x2327c6?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29e3')]:void 0x0);}function _0x8cd98c(_0x368e5a,_0x146f6e,_0x2327c6){return _0x1e09ab(void 0x0,_0x368e5a,_0x146f6e,_0x2327c6,_0x368e5a,!0x1);}function _0xb6c367(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=function(_0x146f6e,_0x2327c6){return _0x8cd98c(_0x146f6e,0x40c09e8,_0x2327c6?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x299d')]:void 0x0);}(_0x146f6e,_0x55ff7e);return _0x1adc17||_0x55ff7e?_0x1119ba(_0x1adc17,_0x2327c6):void 0x0;}function _0x430e97(_0x368e5a){return _0x5c8418||(_0x5c8418=_0x3ebcfa(_0x1a4e('0xf5b'),_0x368e5a));}function _0x310745(_0x368e5a){return _0x506c96||(_0x506c96=_0xb6c367('Symbol',0x0,_0x368e5a))||_0x126d3e;}function _0x325ce0(_0x368e5a){return _0x27775c||(_0x27775c=_0xb6c367(_0x1a4e('0xf55'),0x1,_0x368e5a))||_0x102117;}function _0x43fa1f(_0x368e5a){return _0x3218a6||(_0x3218a6=_0x3ebcfa(_0x1a4e('0xf55'),_0x368e5a));}function _0x349e29(_0x368e5a){return _0x13f517||(_0x13f517=_0xb6c367(_0x1a4e('0x29e4'),0x1,_0x368e5a))||_0x102117;}function _0x1a10ed(_0x368e5a){return _0x10cefd||(_0x10cefd=_0xb6c367(_0x1a4e('0x1377'),0x1,_0x368e5a))||_0x102117;}function _0x4c9fc9(_0x368e5a){return _0x57245a||(_0x57245a=_0xb6c367(_0x1a4e('0x29e5'),0x1,_0x368e5a))||_0x102117;}function _0x14332c(_0x368e5a){return _0x121fa6||(_0x121fa6=_0xb6c367('Iterable',0x1,_0x368e5a))||_0x102117;}function _0xb50316(_0x368e5a){return _0x5810df||(_0x5810df=_0xb6c367(_0x1a4e('0x1ace'),0x1,_0x368e5a))||_0x102117;}function _0x1eb979(_0x368e5a){return _0x5c6e72||(_0x5c6e72=_0xb6c367(_0x1a4e('0x29e6'),0x1,_0x368e5a))||_0x102117;}function _0x386277(_0x368e5a,_0x146f6e){void 0x0===_0x146f6e&&(_0x146f6e=0x0);var _0x2327c6=_0x8cd98c(_0x368e5a,0x40c09e8,void 0x0);return _0x2327c6&&_0x1119ba(_0x2327c6,_0x146f6e);}function _0x499674(_0x368e5a,_0x146f6e){return _0x368e5a!==_0x102117?_0x34525d(_0x368e5a,_0x146f6e):_0x126d3e;}function _0x2f0209(_0x368e5a){return _0x499674(_0x1d1f6b||(_0x1d1f6b=_0xb6c367(_0x1a4e('0x29e7'),0x1,!0x0))||_0x102117,[_0x368e5a]);}function _0x3f5c38(_0x368e5a){return _0x499674(_0x4c9fc9(!0x0),[_0x368e5a]);}function _0x2f84f9(_0x368e5a){return _0x499674(_0x14332c(!0x0),[_0x368e5a]);}function _0x3e0a87(_0x368e5a){return _0x499674(_0x1eb979(!0x0),[_0x368e5a]);}function _0xfd8b5f(_0x368e5a){return _0x499674(_0x1a4cce,[_0x368e5a]);}function _0x500fbd(_0x368e5a){return _0x499674(_0xe8ad25,[_0x368e5a]);}function _0x49c0e3(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e+(_0x55ff7e?'+':',')+_0x2327c6+(_0x1adc17&&_0x1adc17[_0x1a4e('0x1e')]?','+_0x1adc17[_0x1a4e('0x9e')](','):''),_0x2c9ec9=_0x1b627f[_0x1a4e('0x179')](_0xf79407);return _0x2c9ec9||_0x1b627f[_0x1a4e('0x17a')](_0xf79407,_0x2c9ec9=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9=[],_0x420b32=_0x55ff7e?_0x146f6e-0x1:_0x146f6e;if(_0x146f6e){_0xf79407=new Array(_0x146f6e);for(var _0x1b06ad=0x0;_0x1b06ad<_0x146f6e;_0x1b06ad++){var _0x326eae=_0xf79407[_0x1b06ad]=_0x5e6a6c(0x40000);if(_0x1b06ad<_0x420b32){var _0x56674b=_0x4ecc5b(0x4|(_0x1b06ad>=_0x2327c6?0x1000000:0x0),''+_0x1b06ad);_0x56674b['type']=_0x326eae,_0x2c9ec9[_0x1a4e('0x46')](_0x56674b);}}}var _0x415952=[];for(_0x1b06ad=_0x2327c6;_0x1b06ad<=_0x420b32;_0x1b06ad++)_0x415952['push'](_0x300979(_0x1b06ad));var _0x46923a=_0x4ecc5b(0x4,_0x1a4e('0x1e'));_0x46923a[_0x1a4e('0x40')]=_0x55ff7e?_0x4a492a:_0x2d74ef(_0x415952),_0x2c9ec9[_0x1a4e('0x46')](_0x46923a);var _0x88bf03=_0x1233a5(0xc);return _0x88bf03[_0x1a4e('0x23d7')]=_0xf79407,_0x88bf03[_0x1a4e('0x28aa')]=void 0x0,_0x88bf03[_0x1a4e('0x29c8')]=_0xf79407,_0x88bf03[_0x1a4e('0x28ef')]=_0x368e5a[_0x1a4e('0x1772')](),_0x88bf03[_0x1a4e('0x28ef')]['set'](_0x2aa01d(_0x88bf03[_0x1a4e('0x23d7')]),_0x88bf03),_0x88bf03['target']=_0x88bf03,_0x88bf03[_0x1a4e('0x2365')]=_0x88bf03[_0x1a4e('0x23d7')],_0x88bf03['thisType']=_0x5e6a6c(0x40000),_0x88bf03[_0x1a4e('0x2886')]['isThisType']=!0x0,_0x88bf03[_0x1a4e('0x2886')][_0x1a4e('0x2364')]=_0x88bf03,_0x88bf03[_0x1a4e('0x29b8')]=_0x2c9ec9,_0x88bf03[_0x1a4e('0x29b9')]=_0x368e5a[_0x1a4e('0x1700')],_0x88bf03[_0x1a4e('0x29ba')]=_0x368e5a[_0x1a4e('0x1700')],_0x88bf03[_0x1a4e('0x29bb')]=void 0x0,_0x88bf03[_0x1a4e('0x29bc')]=void 0x0,_0x88bf03[_0x1a4e('0x28c6')]=_0x2327c6,_0x88bf03[_0x1a4e('0x28a7')]=_0x55ff7e,_0x88bf03[_0x1a4e('0x29e8')]=_0x1adc17,_0x88bf03;}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17)),_0x2c9ec9;}function _0x4c09c6(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x146f6e&&(_0x146f6e=_0x368e5a['length']),void 0x0===_0x2327c6&&(_0x2327c6=!0x1);var _0x1adc17=_0x368e5a['length'];if(0x1===_0x1adc17&&_0x2327c6)return _0xfd8b5f(_0x368e5a[0x0]);var _0xf79407=_0x49c0e3(_0x1adc17,_0x146f6e,_0x1adc17>0x0&&_0x2327c6,_0x55ff7e);return _0x368e5a[_0x1a4e('0x1e')]?_0x34525d(_0xf79407,_0x368e5a):_0xf79407;}function _0x465473(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['target'];return _0x55ff7e[_0x1a4e('0x28a7')]&&(_0x2327c6=Math[_0x1a4e('0x74')](_0x2327c6,_0x30457b(_0x146f6e)-0x1)),_0x4c09c6((_0x146f6e['typeArguments']||_0x368e5a['emptyArray'])[_0x1a4e('0x78')](_0x2327c6),Math[_0x1a4e('0x6c')](0x0,_0x55ff7e[_0x1a4e('0x28c6')]-_0x2327c6),_0x55ff7e[_0x1a4e('0x28a7')],_0x55ff7e[_0x1a4e('0x29e8')]&&_0x55ff7e['associatedNames'][_0x1a4e('0x78')](_0x2327c6));}function _0x1e78f0(_0x368e5a){return _0x368e5a['id'];}function _0xa46926(_0x146f6e,_0x2327c6){return _0x368e5a['binarySearch'](_0x146f6e,_0x2327c6,_0x1e78f0,_0x368e5a[_0x1a4e('0x166e')])>=0x0;}function _0x17935f(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['binarySearch'](_0x146f6e,_0x2327c6,_0x1e78f0,_0x368e5a[_0x1a4e('0x166e')]);return _0x55ff7e<0x0&&(_0x146f6e['splice'](~_0x55ff7e,0x0,_0x2327c6),!0x0);}function _0x1482c5(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x7b2')];if(0x100000&_0x1adc17)return _0x1ddd13(_0x146f6e,_0x2327c6,_0x55ff7e[_0x1a4e('0x2380')]);if(!(0x20000&_0x1adc17||0x200000&_0x1adc17&&function(_0x368e5a){for(var _0x146f6e=0x0,_0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2380')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(0x1ab80&_0x1adc17[_0x1a4e('0x7b2')]&&0x1ab80&_0x146f6e)return!0x0;if(0x18000&(_0x146f6e|=_0x1adc17[_0x1a4e('0x7b2')])&&0x4080000&_0x146f6e||0x4000000&_0x146f6e&&0x1fbfc&_0x146f6e||0x84&_0x146f6e&&0x401fb78&_0x146f6e||0x128&_0x146f6e&&0x401fad4&_0x146f6e||0x840&_0x146f6e&&0x401f3bc&_0x146f6e||0x3000&_0x146f6e&&0x401cbfc&_0x146f6e||0xc000&_0x146f6e&&0x4013bfc&_0x146f6e)return!0x0;}return!0x1;}(_0x55ff7e)))if(_0x2327c6|=-0x38000001&_0x1adc17,_0x55ff7e===_0x5a2bb4&&(_0x2327c6|=0x10000000),!_0x4f3c04&&0x18000&_0x1adc17)0x8000000&_0x1adc17||(_0x2327c6|=0x8000000);else{var _0xf79407=_0x146f6e['length'],_0x2c9ec9=_0xf79407&&_0x55ff7e['id']>_0x146f6e[_0xf79407-0x1]['id']?~_0xf79407:_0x368e5a['binarySearch'](_0x146f6e,_0x55ff7e,_0x1e78f0,_0x368e5a[_0x1a4e('0x166e')]);_0x2c9ec9<0x0&&_0x146f6e[_0x1a4e('0x8a')](~_0x2c9ec9,0x0,_0x55ff7e);}return _0x2327c6;}function _0x1ddd13(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6;_0x55ff7e<_0x1adc17['length'];_0x55ff7e++)_0x146f6e=_0x1482c5(_0x368e5a,_0x146f6e,_0x1adc17[_0x55ff7e]);return _0x146f6e;}function _0x4c96e8(_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0x146f6e!==_0xf79407&&_0x2a8a4b(_0x146f6e,_0xf79407)&&(!(0x1&_0x368e5a[_0x1a4e('0x249a')](_0xa3bb51(_0x146f6e)))||!(0x1&_0x368e5a[_0x1a4e('0x249a')](_0xa3bb51(_0xf79407)))||_0x2d3211(_0x146f6e,_0xf79407)))return!0x0;}return!0x1;}function _0x796b22(_0x146f6e){if(0x0!==_0x146f6e[_0x1a4e('0x1e')]&&!function(_0x368e5a){var _0x146f6e=_0x368e5a[0x0];if(0x400&_0x146f6e[_0x1a4e('0x7b2')]){for(var _0x2327c6=_0x38393e(_0x146f6e[_0x1a4e('0xb1b')]),_0x55ff7e=0x1;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x368e5a[_0x55ff7e];if(!(0x400&_0x1adc17[_0x1a4e('0x7b2')])||_0x2327c6!==_0x38393e(_0x1adc17[_0x1a4e('0xb1b')]))return!0x1;}return!0x0;}return!0x1;}(_0x146f6e))for(var _0x2327c6=_0x146f6e[_0x1a4e('0x1e')];_0x2327c6>0x0;)_0x4c96e8(_0x146f6e[--_0x2327c6],_0x146f6e)&&_0x368e5a['orderedRemoveItemAt'](_0x146f6e,_0x2327c6);}function _0x2d74ef(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(void 0x0===_0x2327c6&&(_0x2327c6=0x1),0x0===_0x146f6e[_0x1a4e('0x1e')])return _0x530b09;if(0x1===_0x146f6e['length'])return _0x146f6e[0x0];var _0xf79407=[],_0x2c9ec9=_0x1ddd13(_0xf79407,0x0,_0x146f6e);if(0x0!==_0x2327c6){if(0x3&_0x2c9ec9)return 0x1&_0x2c9ec9?0x10000000&_0x2c9ec9?_0x5a2bb4:_0x330555:_0x387afa;switch(_0x2327c6){case 0x1:0x2180&_0x2c9ec9|0x200&&function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x146f6e['length'];_0x55ff7e>0x0;){var _0x1adc17=_0x146f6e[--_0x55ff7e];(0x80&_0x1adc17[_0x1a4e('0x7b2')]&&0x4&_0x2327c6||0x100&_0x1adc17[_0x1a4e('0x7b2')]&&0x8&_0x2327c6||0x800&_0x1adc17[_0x1a4e('0x7b2')]&&0x40&_0x2327c6||0x2000&_0x1adc17[_0x1a4e('0x7b2')]&&0x1000&_0x2327c6||_0x37edbe(_0x1adc17)&&_0xa46926(_0x146f6e,_0x1adc17[_0x1a4e('0x28ed')]))&&_0x368e5a['orderedRemoveItemAt'](_0x146f6e,_0x55ff7e);}}(_0xf79407,_0x2c9ec9);break;case 0x2:_0x796b22(_0xf79407);}if(0x0===_0xf79407[_0x1a4e('0x1e')])return 0x10000&_0x2c9ec9?0x8000000&_0x2c9ec9?_0x406341:_0x143e15:0x8000&_0x2c9ec9?0x8000000&_0x2c9ec9?_0x57a5b4:_0x4a2e68:_0x530b09;}return _0x49e132(_0xf79407,!(0x3fe4023&_0x2c9ec9),_0x55ff7e,_0x1adc17);}function _0x4494ac(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2393')](_0x146f6e)?_0x368e5a['isIdentifierTypePredicate'](_0x2327c6)&&_0x146f6e[_0x1a4e('0x29d3')]===_0x2327c6[_0x1a4e('0x29d3')]:!_0x368e5a[_0x1a4e('0x2393')](_0x2327c6);}function _0x49e132(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(0x0===_0x368e5a[_0x1a4e('0x1e')])return _0x530b09;if(0x1===_0x368e5a[_0x1a4e('0x1e')])return _0x368e5a[0x0];var _0x1adc17=_0x2aa01d(_0x368e5a),_0xf79407=_0x305c00[_0x1a4e('0x179')](_0x1adc17);return _0xf79407||(_0xf79407=_0x5e6a6c(0x100000|_0x3c45ab(_0x368e5a,0x18000)),_0x305c00['set'](_0x1adc17,_0xf79407),_0xf79407[_0x1a4e('0x2380')]=_0x368e5a,_0xf79407[_0x1a4e('0x29e9')]=_0x146f6e,_0xf79407[_0x1a4e('0x28ac')]=_0x2327c6,_0xf79407[_0x1a4e('0x28ad')]=_0x55ff7e),_0xf79407;}function _0xf2e033(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e['flags'];return 0x200000&_0x1adc17?_0x66e44c(_0x146f6e,_0x2327c6,_0x55ff7e[_0x1a4e('0x2380')]):(_0x2197b5(_0x55ff7e)?0x20000000&_0x2327c6||(_0x2327c6|=0x20000000,_0x146f6e['push'](_0x55ff7e)):(_0x2327c6|=-0x38000001&_0x1adc17,0x3&_0x1adc17?_0x55ff7e===_0x5a2bb4&&(_0x2327c6|=0x10000000):!_0x4f3c04&&0x18000&_0x1adc17||_0x368e5a['contains'](_0x146f6e,_0x55ff7e)||_0x146f6e[_0x1a4e('0x46')](_0x55ff7e)),_0x2327c6);}function _0x66e44c(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++)_0x146f6e=_0xf2e033(_0x368e5a,_0x146f6e,_0x4da784(_0x1adc17[_0x55ff7e]));return _0x146f6e;}function _0x84870d(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(!_0xa46926(_0x1adc17['types'],_0x146f6e)){var _0xf79407=0x80&_0x146f6e[_0x1a4e('0x7b2')]?_0x1d9562:0x100&_0x146f6e[_0x1a4e('0x7b2')]?_0x4a492a:0x800&_0x146f6e[_0x1a4e('0x7b2')]?_0x95b336:0x2000&_0x146f6e[_0x1a4e('0x7b2')]?_0x12ad50:void 0x0;if(!_0xf79407||!_0xa46926(_0x1adc17[_0x1a4e('0x2380')],_0xf79407))return!0x1;}}return!0x0;}function _0xffdb94(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=[],_0xf79407=_0x66e44c(_0x1adc17,0x0,_0x146f6e);if(0x20000&_0xf79407)return _0x530b09;if(0x1&_0xf79407)return 0x10000000&_0xf79407?_0x5a2bb4:_0x330555;if(!_0x4f3c04&&0x18000&_0xf79407)return 0x8000&_0xf79407?_0x57a5b4:_0x406341;if((0x4&_0xf79407&&0x80&_0xf79407||0x8&_0xf79407&&0x100&_0xf79407||0x40&_0xf79407&&0x800&_0xf79407||0x1000&_0xf79407&&0x2000&_0xf79407)&&function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x146f6e[_0x1a4e('0x1e')];_0x55ff7e>0x0;){var _0x1adc17=_0x146f6e[--_0x55ff7e];(0x4&_0x1adc17[_0x1a4e('0x7b2')]&&0x80&_0x2327c6||0x8&_0x1adc17[_0x1a4e('0x7b2')]&&0x100&_0x2327c6||0x40&_0x1adc17[_0x1a4e('0x7b2')]&&0x800&_0x2327c6||0x1000&_0x1adc17[_0x1a4e('0x7b2')]&&0x2000&_0x2327c6)&&_0x368e5a['orderedRemoveItemAt'](_0x146f6e,_0x55ff7e);}}(_0x1adc17,_0xf79407),0x20000000&_0xf79407&&0x80000&_0xf79407&&_0x368e5a[_0x1a4e('0x29ea')](_0x1adc17,_0x368e5a[_0x1a4e('0x5cb')](_0x1adc17,_0x2197b5)),0x0===_0x1adc17[_0x1a4e('0x1e')])return _0x387afa;if(0x1===_0x1adc17[_0x1a4e('0x1e')])return _0x1adc17[0x0];if(0x100000&_0xf79407){if(function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a['findIndex'](_0x146f6e,function(_0x368e5a){return!!(0x100000&_0x368e5a[_0x1a4e('0x7b2')])&&_0x368e5a[_0x1a4e('0x29e9')];});if(_0x55ff7e<0x0)return!0x1;for(var _0x1adc17=_0x55ff7e+0x1;_0x1adc17<_0x146f6e[_0x1a4e('0x1e')];)0x100000&(_0x415952=_0x146f6e[_0x1adc17])['flags']&&_0x415952[_0x1a4e('0x29e9')]?((_0x2327c6||(_0x2327c6=[_0x146f6e[_0x55ff7e]]))['push'](_0x415952),_0x368e5a[_0x1a4e('0x29ea')](_0x146f6e,_0x1adc17)):_0x1adc17++;if(!_0x2327c6)return!0x1;for(var _0xf79407=[],_0x2c9ec9=[],_0x420b32=0x0,_0x1b06ad=_0x2327c6;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++)for(var _0x326eae=0x0,_0x56674b=_0x1b06ad[_0x420b32][_0x1a4e('0x2380')];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x415952;_0x17935f(_0xf79407,_0x415952=_0x56674b[_0x326eae])&&_0x84870d(_0x2327c6,_0x415952)&&_0x17935f(_0x2c9ec9,_0x415952);}return _0x146f6e[_0x55ff7e]=_0x49e132(_0x2c9ec9,!0x0),!0x0;}(_0x1adc17))return _0xffdb94(_0x1adc17,_0x2327c6,_0x55ff7e);var _0x2c9ec9=_0x368e5a[_0x1a4e('0x5cb')](_0x1adc17,function(_0x368e5a){return 0x0!=(0x100000&_0x368e5a['flags']);}),_0x420b32=_0x1adc17[_0x2c9ec9];return _0x2d74ef(_0x368e5a['map'](_0x420b32[_0x1a4e('0x2380')],function(_0x146f6e){return _0xffdb94(_0x368e5a[_0x1a4e('0x1724')](_0x1adc17,_0x2c9ec9,_0x146f6e));}),0x1,_0x2327c6,_0x55ff7e);}var _0x1b06ad=_0x2aa01d(_0x1adc17),_0x326eae=_0x415adb[_0x1a4e('0x179')](_0x1b06ad);return _0x326eae||(_0x326eae=_0x5e6a6c(0x200000|_0x3c45ab(_0x1adc17,0x18000)),_0x415adb['set'](_0x1b06ad,_0x326eae),_0x326eae['types']=_0x1adc17,_0x326eae[_0x1a4e('0x28ac')]=_0x2327c6,_0x326eae[_0x1a4e('0x28ad')]=_0x55ff7e),_0x326eae;}function _0x35d620(_0x368e5a,_0x146f6e){var _0x2327c6=_0x5e6a6c(0x400000);return _0x2327c6['type']=_0x368e5a,_0x2327c6[_0x1a4e('0x29eb')]=_0x146f6e,_0x2327c6;}function _0x4d5c3f(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e)?_0x300979(_0x368e5a[_0x1a4e('0x24d1')](_0x146f6e[_0x1a4e('0x22f3')])):_0x4da784(_0x368e5a[_0x1a4e('0x23e8')](_0x146f6e)?_0x16c40(_0x146f6e):_0x4e94e8(_0x146f6e));}function _0x30ce66(_0x146f6e,_0x2327c6){if(!(0x18&_0x368e5a[_0x1a4e('0x248c')](_0x146f6e))){var _0x55ff7e=_0x3c88be(_0x146f6e)[_0x1a4e('0x2994')];if(!_0x55ff7e&&!_0x368e5a['isKnownSymbol'](_0x146f6e))if('default'===_0x146f6e[_0x1a4e('0x22e8')])_0x55ff7e=_0x300979('default');else{var _0x1adc17=_0x146f6e[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e['valueDeclaration']);_0x55ff7e=_0x1adc17&&_0x4d5c3f(_0x1adc17)||_0x300979(_0x368e5a[_0x1a4e('0x24d2')](_0x146f6e));}if(_0x55ff7e&&_0x55ff7e['flags']&_0x2327c6)return _0x55ff7e;}return _0x530b09;}function _0x29f301(_0x146f6e,_0x2327c6){return _0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x41c062(_0x146f6e),function(_0x368e5a){return _0x30ce66(_0x368e5a,_0x2327c6);}));}function _0x332557(_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=_0x5c483a),0x100000&_0x146f6e['flags']?_0xffdb94(_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x332557(_0x368e5a,_0x2327c6);})):0x200000&_0x146f6e[_0x1a4e('0x7b2')]?_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x332557(_0x368e5a,_0x2327c6);})):_0x1a74b9(_0x146f6e,0x3840000)?function(_0x368e5a,_0x146f6e){return _0x146f6e?_0x368e5a['resolvedStringIndexType']||(_0x368e5a['resolvedStringIndexType']=_0x35d620(_0x368e5a,!0x0)):_0x368e5a[_0x1a4e('0x29ec')]||(_0x368e5a['resolvedIndexType']=_0x35d620(_0x368e5a,!0x1));}(_0x146f6e,_0x2327c6):0x20&_0x368e5a['getObjectFlags'](_0x146f6e)?_0x5e43c6(_0x146f6e):_0x146f6e===_0x5a2bb4?_0x5a2bb4:0x1&_0x146f6e[_0x1a4e('0x7b2')]?_0xaed2b:_0x2327c6?_0x5c197b(_0x146f6e,0x0)?_0x1d9562:_0x29f301(_0x146f6e,0x80):_0x5c197b(_0x146f6e,0x0)?_0x2d74ef([_0x1d9562,_0x4a492a,_0x29f301(_0x146f6e,0x2000)]):function(_0x368e5a){var _0x146f6e=_0x5c197b(_0x368e5a,0x1);return _0x146f6e!==_0x3b1005?_0x146f6e:void 0x0;}(_0x146f6e)?_0x2d74ef([_0x4a492a,_0x29f301(_0x146f6e,0x2080)]):_0x29f301(_0x146f6e,0x2180);}function _0x3e4c01(_0x146f6e){if(_0x5c483a)return _0x146f6e;var _0x2327c6=_0x25c1d2||(_0x25c1d2=_0x8cd98c('Extract',0x80000,_0x368e5a['Diagnostics']['Cannot_find_global_type_0']));return _0x2327c6?_0x5af6bf(_0x2327c6,[_0x146f6e,_0x1d9562]):_0x1d9562;}function _0x5181f8(_0x146f6e){return!_0x59c9de&&(!!(0x4000&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e))||(0x100000&_0x146f6e[_0x1a4e('0x7b2')]?_0x368e5a['every'](_0x146f6e[_0x1a4e('0x2380')],_0x5181f8):0x200000&_0x146f6e[_0x1a4e('0x7b2')]?_0x368e5a['some'](_0x146f6e['types'],_0x5181f8):!!(0x3c40000&_0x146f6e['flags'])&&_0x5181f8(_0x11d183(_0x146f6e))));}function _0x2a7204(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x55ff7e&&0xbe===_0x55ff7e['kind']?_0x55ff7e:void 0x0,_0x420b32=_0x59e2ba(_0x2327c6)?_0x4366e0(_0x2327c6):_0x2c9ec9&&_0x40073c(_0x2c9ec9[_0x1a4e('0x24a7')],_0x2327c6,!0x1)?_0x368e5a[_0x1a4e('0x29ed')](_0x368e5a[_0x1a4e('0x2353')](_0x2c9ec9[_0x1a4e('0x24a7')][_0x1a4e('0x2cb')])):_0x55ff7e&&_0x368e5a[_0x1a4e('0x254b')](_0x55ff7e)?_0x368e5a[_0x1a4e('0x29ee')](_0x55ff7e):void 0x0;if(void 0x0!==_0x420b32){var _0x1b06ad=_0x3c127b(_0x146f6e,_0x420b32);if(_0x1b06ad){if(_0x2c9ec9){if(_0x3a35cb(_0x1b06ad,_0x2c9ec9,0x64===_0x2c9ec9[_0x1a4e('0x2302')][_0x1a4e('0x146b')]),_0x368e5a[_0x1a4e('0x23dd')](_0x2c9ec9)&&(_0x2ec9b1(_0x2c9ec9,_0x1b06ad)||_0x571e22(_0x2c9ec9)))return _0x2cb4f4(_0x2c9ec9[_0x1a4e('0x24a7')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29ef')],_0x22aa27(_0x1b06ad)),_0xf79407;_0x1adc17&&(_0x165ecf(_0x55ff7e)[_0x1a4e('0x296c')]=_0x1b06ad);}var _0x326eae=_0x38797c(_0x1b06ad);return _0x2c9ec9&&0x1!==_0x368e5a['getAssignmentTargetKind'](_0x2c9ec9)?_0x179bce(_0x2c9ec9,_0x326eae):_0x326eae;}if(_0x307f32(_0x146f6e,_0x102fd6)&&_0x2a5163(_0x420b32)&&+_0x420b32>=0x0)return _0x55ff7e&&_0x307f32(_0x146f6e,function(_0x368e5a){return!_0x368e5a[_0x1a4e('0xd95')][_0x1a4e('0x28a7')];})&&_0x2cb4f4(_0x46923a=_0x2322c0(_0x55ff7e),_0x368e5a['Diagnostics'][_0x1a4e('0x29f0')],_0x368e5a['unescapeLeadingUnderscores'](_0x420b32),_0x5ad709(_0x146f6e)),_0x578997(_0x146f6e,function(_0x368e5a){return _0x49b3ef(_0x368e5a)||_0x57a5b4;});}if(!(0x18000&_0x2327c6[_0x1a4e('0x7b2')])&&_0xc28455(_0x2327c6,0x31ac)){if(0x20001&_0x146f6e[_0x1a4e('0x7b2')])return _0x146f6e;var _0x56674b=_0xc28455(_0x2327c6,0x128)&&_0x5c197b(_0x146f6e,0x1)||_0x5c197b(_0x146f6e,0x0)||void 0x0;if(_0x56674b)return _0x55ff7e&&!_0xc28455(_0x2327c6,0xc)?_0x2cb4f4(_0x46923a=_0x2322c0(_0x55ff7e),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29f1')],_0x5ad709(_0x2327c6)):_0x2c9ec9&&_0x56674b[_0x1a4e('0x28bc')]&&(_0x368e5a['isAssignmentTarget'](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x29f2')](_0x2c9ec9))&&_0x2cb4f4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')]['Index_signature_in_type_0_only_permits_reading'],_0x5ad709(_0x146f6e)),_0x56674b[_0x1a4e('0x40')];if(0x20000&_0x2327c6[_0x1a4e('0x7b2')])return _0x530b09;if(_0x5181f8(_0x146f6e))return _0x330555;if(_0x2c9ec9&&!_0x16f189(_0x146f6e)){if(_0x59c9de&&!_0x239ab2[_0x1a4e('0x29f3')])if(void 0x0!==_0x420b32&&_0x413d41(_0x420b32,_0x146f6e))_0x2cb4f4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29f4')],_0x420b32,_0x5ad709(_0x146f6e));else if(_0x3e5aca(_0x146f6e,0x1))_0x2cb4f4(_0x2c9ec9[_0x1a4e('0x24a7')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29f5')]);else{var _0x415952=void 0x0;void 0x0!==_0x420b32&&(_0x415952=_0x43a32e(_0x420b32,_0x146f6e))?void 0x0!==_0x415952&&_0x2cb4f4(_0x2c9ec9[_0x1a4e('0x24a7')],_0x368e5a['Diagnostics']['Property_0_does_not_exist_on_type_1_Did_you_mean_2'],_0x420b32,_0x5ad709(_0x146f6e),_0x415952):_0x2cb4f4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29f6')],_0x5ad709(_0x146f6e));}return _0xf79407;}}if(_0x5181f8(_0x146f6e))return _0x330555;if(_0x55ff7e){var _0x46923a=_0x2322c0(_0x55ff7e);0x180&_0x2327c6['flags']?_0x2cb4f4(_0x46923a,_0x368e5a[_0x1a4e('0x167d')]['Property_0_does_not_exist_on_type_1'],''+_0x2327c6['value'],_0x5ad709(_0x146f6e)):0xc&_0x2327c6[_0x1a4e('0x7b2')]?_0x2cb4f4(_0x46923a,_0x368e5a['Diagnostics'][_0x1a4e('0x29f7')],_0x5ad709(_0x146f6e),_0x5ad709(_0x2327c6)):_0x2cb4f4(_0x46923a,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29f1')],_0x5ad709(_0x2327c6));}return _0x4e7589(_0x2327c6)?_0x2327c6:_0xf79407;}function _0x2322c0(_0x368e5a){return 0xbe===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x24a7')]:0xb4===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2669')]:0x95===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2302')]:_0x368e5a;}function _0x54ac8c(_0x368e5a){return _0x1a74b9(_0x368e5a,0xb840000);}function _0x10e895(_0x368e5a){return _0x1a74b9(_0x368e5a,0x3c40000);}function _0x2915f5(_0x368e5a){return 0x800000&_0x368e5a[_0x1a4e('0x7b2')]?function(_0x368e5a){if(_0x368e5a[_0x1a4e('0x29f8')])return _0x368e5a[_0x1a4e('0x29f8')]===_0x3bb72a?_0x368e5a:_0x368e5a[_0x1a4e('0x29f8')];_0x368e5a[_0x1a4e('0x29f8')]=_0x3bb72a;var _0x146f6e=_0x2915f5(_0x368e5a[_0x1a4e('0x2601')]),_0x2327c6=_0x2915f5(_0x368e5a['indexType']);if(0x100000&_0x2327c6['flags'])return _0x368e5a[_0x1a4e('0x29f8')]=_0x578997(_0x2327c6,function(_0x368e5a){return _0x2915f5(_0x3d7297(_0x146f6e,_0x368e5a));});if(!(0x3c40000&_0x2327c6[_0x1a4e('0x7b2')])){var _0x55ff7e=_0x44789d(_0x146f6e,_0x2327c6);if(_0x55ff7e)return _0x368e5a[_0x1a4e('0x29f8')]=_0x55ff7e;}if(_0x2e49b5(_0x146f6e))return _0x368e5a['simplified']=_0x4797b4(_0x146f6e,_0x368e5a);if(0x40000&_0x146f6e['flags']){var _0x1adc17=_0x2a8efa(_0x146f6e);if(_0x1adc17&&_0x2e49b5(_0x1adc17))return _0x368e5a[_0x1a4e('0x29f8')]=_0x4797b4(_0x1adc17,_0x368e5a);}return _0x368e5a[_0x1a4e('0x29f8')]=_0x368e5a;}(_0x368e5a):_0x368e5a;}function _0x44789d(_0x146f6e,_0x2327c6){return 0x100000&_0x146f6e[_0x1a4e('0x7b2')]?_0x578997(_0x146f6e,function(_0x368e5a){return _0x2915f5(_0x3d7297(_0x368e5a,_0x2327c6));}):0x200000&_0x146f6e[_0x1a4e('0x7b2')]?_0xffdb94(_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x2915f5(_0x3d7297(_0x368e5a,_0x2327c6));})):void 0x0;}function _0x4797b4(_0x368e5a,_0x146f6e){var _0x2327c6=_0xa0d6d8([_0x108e5(_0x368e5a)],[_0x146f6e[_0x1a4e('0x2669')]]),_0x55ff7e=_0x6317f3(_0x368e5a[_0x1a4e('0x28c5')],_0x2327c6);return _0x1e1445(_0x4485f9(_0x368e5a),_0x55ff7e);}function _0x3d7297(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(void 0x0===_0x55ff7e&&(_0x55ff7e=_0x2327c6?_0x336c2:_0x387afa),_0x368e5a===_0x5a2bb4||_0x146f6e===_0x5a2bb4)return _0x5a2bb4;if(_0x10e895(_0x146f6e)||(!_0x2327c6||0xb4===_0x2327c6[_0x1a4e('0x146b')])&&_0x54ac8c(_0x368e5a)){if(0x3&_0x368e5a[_0x1a4e('0x7b2')])return _0x368e5a;var _0x1adc17=_0x368e5a['id']+','+_0x146f6e['id'],_0xf79407=_0x565e32[_0x1a4e('0x179')](_0x1adc17);return _0xf79407||_0x565e32['set'](_0x1adc17,_0xf79407=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x5e6a6c(0x800000);return _0x2327c6[_0x1a4e('0x2601')]=_0x368e5a,_0x2327c6['indexType']=_0x146f6e,_0x2327c6;}(_0x368e5a,_0x146f6e)),_0xf79407;}var _0x2c9ec9=_0x26521d(_0x368e5a);if(0x100000&_0x146f6e['flags']&&!(0x10&_0x146f6e[_0x1a4e('0x7b2')])){for(var _0x420b32=[],_0x1b06ad=!0x1,_0x326eae=0x0,_0x56674b=_0x146f6e[_0x1a4e('0x2380')];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x415952=_0x2a7204(_0x2c9ec9,_0x56674b[_0x326eae],_0x2327c6,!0x1,_0x55ff7e);if(_0x415952===_0x55ff7e){if(!_0x2327c6)return _0x55ff7e;_0x1b06ad=!0x0;}_0x420b32[_0x1a4e('0x46')](_0x415952);}return _0x1b06ad?_0x55ff7e:_0x2d74ef(_0x420b32);}return _0x2a7204(_0x2c9ec9,_0x146f6e,_0x2327c6,!0x0,_0x55ff7e);}function _0x39af3e(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);if(!_0x146f6e[_0x1a4e('0x29e0')]){var _0x2327c6=_0x3fafb1(_0x368e5a['objectType']),_0x55ff7e=_0x3fafb1(_0x368e5a[_0x1a4e('0x2669')]),_0x1adc17=_0x3d7297(_0x2327c6,_0x55ff7e,_0x368e5a);_0x146f6e[_0x1a4e('0x29e0')]=0x800000&_0x1adc17[_0x1a4e('0x7b2')]&&_0x1adc17[_0x1a4e('0x2601')]===_0x2327c6&&_0x1adc17[_0x1a4e('0x2669')]===_0x55ff7e?_0x3ef943(_0x1adc17,_0x368e5a):_0x1adc17;}return _0x146f6e[_0x1a4e('0x29e0')];}function _0x2322c7(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);if(!_0x146f6e[_0x1a4e('0x29e0')]){var _0x2327c6=_0x1233a5(0x20,_0x368e5a[_0x1a4e('0xb1b')]);_0x2327c6['declaration']=_0x368e5a,_0x2327c6[_0x1a4e('0x28ac')]=_0x192c81(_0x368e5a),_0x2327c6[_0x1a4e('0x28ad')]=_0x218c15(_0x2327c6[_0x1a4e('0x28ac')]),_0x146f6e[_0x1a4e('0x29e0')]=_0x2327c6,_0x5e43c6(_0x2327c6);}return _0x146f6e[_0x1a4e('0x29e0')];}function _0x3cc04a(_0x368e5a){return 0x2000000&_0x368e5a[_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x28b1')]:_0x368e5a;}function _0x29e386(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1e1445(_0x368e5a[_0x1a4e('0x25fd')],_0x146f6e),_0x55ff7e=_0x1e1445(_0x368e5a['extendsType'],_0x146f6e);if(_0x2327c6===_0x5a2bb4||_0x55ff7e===_0x5a2bb4)return _0x5a2bb4;var _0x1adc17,_0xf79407=_0x1a74b9(_0x2327c6,0x3c40000);if(_0x368e5a[_0x1a4e('0x28af')]){var _0x2c9ec9=_0x291f0f(_0x368e5a[_0x1a4e('0x28af')],void 0x0,0x0);_0xf79407||_0xe9ae15(_0x2c9ec9['inferences'],_0x2327c6,_0x55ff7e,0x60),_0x1adc17=_0x6317f3(_0x146f6e,_0x2c9ec9);}var _0x420b32=_0x1adc17?_0x1e1445(_0x368e5a['extendsType'],_0x1adc17):_0x55ff7e;if(!_0xf79407&&!_0x1a74b9(_0x420b32,0x3c40000)){if(0x3&_0x420b32[_0x1a4e('0x7b2')])return _0x1e1445(_0x368e5a[_0x1a4e('0x25ff')],_0x146f6e);if(0x1&_0x2327c6[_0x1a4e('0x7b2')])return _0x2d74ef([_0x1e1445(_0x368e5a['trueType'],_0x1adc17||_0x146f6e),_0x1e1445(_0x368e5a['falseType'],_0x146f6e)]);if(!_0x720afc(_0x5a45ca(_0x2327c6),_0x5a45ca(_0x420b32)))return _0x1e1445(_0x368e5a[_0x1a4e('0x266a')],_0x146f6e);if(_0x33a9c9(_0x2327c6,_0x420b32,_0x33e962,void 0x0))return _0x1e1445(_0x368e5a[_0x1a4e('0x25ff')],_0x1adc17||_0x146f6e);}var _0x1b06ad=_0x3cc04a(_0x2327c6),_0x326eae=_0x5e6a6c(0x1000000);return _0x326eae[_0x1a4e('0x1372')]=_0x368e5a,_0x326eae[_0x1a4e('0x25fd')]=_0x1b06ad,_0x326eae[_0x1a4e('0x25fe')]=_0x55ff7e,_0x326eae[_0x1a4e('0x28c5')]=_0x146f6e,_0x326eae[_0x1a4e('0x29cc')]=_0x1adc17,_0x326eae['aliasSymbol']=_0x368e5a[_0x1a4e('0x28ac')],_0x326eae['aliasTypeArguments']=_0x3ca8d6(_0x368e5a['aliasTypeArguments'],_0x146f6e),_0x326eae;}function _0x27baa4(_0x368e5a){return _0x368e5a[_0x1a4e('0x29f9')]||(_0x368e5a[_0x1a4e('0x29f9')]=_0x1e1445(_0x368e5a['root'][_0x1a4e('0x25ff')],_0x368e5a[_0x1a4e('0x28c5')]));}function _0x49f40f(_0x368e5a){return _0x368e5a[_0x1a4e('0x29fa')]||(_0x368e5a[_0x1a4e('0x29fa')]=_0x1e1445(_0x368e5a['root']['falseType'],_0x368e5a['mapper']));}function _0x1fee7f(_0x146f6e){var _0x2327c6;return _0x146f6e[_0x1a4e('0x283c')]&&_0x146f6e[_0x1a4e('0x283c')]['forEach'](function(_0x146f6e){0x40000&_0x146f6e['flags']&&(_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x287d7b(_0x146f6e)));}),_0x2327c6;}function _0x21a827(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x29e0')]){var _0x55ff7e=_0x3fafb1(_0x146f6e[_0x1a4e('0x25fd')]),_0x1adc17=_0x192c81(_0x146f6e),_0xf79407=_0x218c15(_0x1adc17),_0x2c9ec9=_0x4a725e(_0x146f6e,!0x0),_0x420b32=_0xf79407?_0x2c9ec9:_0x368e5a[_0x1a4e('0xd9')](_0x2c9ec9,function(_0x368e5a){return function(_0x368e5a,_0x146f6e){if(_0x1f201d(_0x368e5a,_0x146f6e))return!0x0;for(;_0x146f6e;){if(0xaf===_0x146f6e['kind']&&_0x1f201d(_0x368e5a,_0x146f6e[_0x1a4e('0x25fe')]))return!0x0;_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];}return!0x1;}(_0x368e5a,_0x146f6e);}),_0x1b06ad={'node':_0x146f6e,'checkType':_0x55ff7e,'extendsType':_0x3fafb1(_0x146f6e[_0x1a4e('0x25fe')]),'trueType':_0x3fafb1(_0x146f6e[_0x1a4e('0x25ff')]),'falseType':_0x3fafb1(_0x146f6e[_0x1a4e('0x266a')]),'isDistributive':!!(0x40000&_0x55ff7e[_0x1a4e('0x7b2')]),'inferTypeParameters':_0x1fee7f(_0x146f6e),'outerTypeParameters':_0x420b32,'instantiations':void 0x0,'aliasSymbol':_0x1adc17,'aliasTypeArguments':_0xf79407};_0x2327c6[_0x1a4e('0x29e0')]=_0x29e386(_0x1b06ad,void 0x0),_0x420b32&&(_0x1b06ad[_0x1a4e('0x28ef')]=_0x368e5a[_0x1a4e('0x1772')](),_0x1b06ad[_0x1a4e('0x28ef')]['set'](_0x2aa01d(_0x420b32),_0x2327c6[_0x1a4e('0x29e0')]));}return _0x2327c6[_0x1a4e('0x29e0')];}function _0x105109(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x29e0')]){if(_0x146f6e[_0x1a4e('0x29fb')]&&_0x146f6e['typeArguments'])return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Type_arguments_cannot_be_used_here']),_0x2327c6['resolvedSymbol']=_0x450499,_0x2327c6[_0x1a4e('0x29e0')]=_0x336c2;if(!_0x368e5a[_0x1a4e('0x29fc')](_0x146f6e))return _0x2cb4f4(_0x146f6e[_0x1a4e('0x2300')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29fd')]),_0x2327c6[_0x1a4e('0x296c')]=_0x450499,_0x2327c6[_0x1a4e('0x29e0')]=_0x336c2;var _0x55ff7e=_0x146f6e[_0x1a4e('0x29fb')]?0x401b3bf:0x200000&_0x146f6e[_0x1a4e('0x7b2')]?0x40dbbff:0x40c09e8,_0x1adc17=_0x5897a9(_0x146f6e,_0x146f6e[_0x1a4e('0x2300')][_0x1a4e('0x2301')]);if(!_0x1adc17)return _0x2327c6['resolvedSymbol']=_0x450499,_0x2327c6[_0x1a4e('0x29e0')]=_0x336c2;var _0xf79407=_0x9d9138(_0x1adc17,!0x1);if(_0x368e5a[_0x1a4e('0x2327')](_0x146f6e[_0x1a4e('0x2600')]))_0xf79407[_0x1a4e('0x7b2')]&_0x55ff7e?_0x5918c5(_0x146f6e,_0x2327c6,_0xf79407,_0x55ff7e):(_0x2cb4f4(_0x146f6e,0x401b3bf===_0x55ff7e?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29fe')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29ff')],_0x146f6e[_0x1a4e('0x2300')]['literal'][_0x1a4e('0xe04')]),_0x2327c6[_0x1a4e('0x296c')]=_0x450499,_0x2327c6['resolvedType']=_0x336c2);else{for(var _0x2c9ec9=function _0x146f6e(_0x2327c6){return _0x368e5a[_0x1a4e('0x2370')](_0x2327c6)?[_0x2327c6]:_0x368e5a[_0x1a4e('0x252')](_0x146f6e(_0x2327c6[_0x1a4e('0x5f')]),_0x2327c6[_0x1a4e('0x5d')]);}(_0x146f6e[_0x1a4e('0x2600')]),_0x420b32=_0xf79407,_0x1b06ad=void 0x0;_0x1b06ad=_0x2c9ec9[_0x1a4e('0x7d')]();){var _0x326eae=_0x2c9ec9[_0x1a4e('0x1e')]?0x780:_0x55ff7e,_0x56674b=_0x5d1705(_0x768c45(_0x41e7a5(_0x2825c7(_0x420b32))),_0x1b06ad['escapedText'],_0x326eae);if(!_0x56674b)return _0x2cb4f4(_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2971')],_0x2ed35d(_0x420b32),_0x368e5a['declarationNameToString'](_0x1b06ad)),_0x2327c6[_0x1a4e('0x29e0')]=_0x336c2;_0x165ecf(_0x1b06ad)['resolvedSymbol']=_0x56674b,_0x165ecf(_0x1b06ad[_0x1a4e('0x11c')])[_0x1a4e('0x296c')]=_0x56674b,_0x420b32=_0x56674b;}_0x5918c5(_0x146f6e,_0x2327c6,_0x420b32,_0x55ff7e);}}return _0x2327c6[_0x1a4e('0x29e0')];}function _0x5918c5(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2825c7(_0x2327c6);return _0x146f6e[_0x1a4e('0x296c')]=_0x1adc17,_0x146f6e[_0x1a4e('0x29e0')]=0x401b3bf===_0x55ff7e?_0x38797c(_0x2327c6):_0x60d30a(_0x368e5a,_0x1adc17);}function _0x251f9b(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x29e0')]){var _0x55ff7e=_0x192c81(_0x146f6e);if(0x0!==_0x174275(_0x146f6e[_0x1a4e('0xb1b')])[_0x1a4e('0x220')]||_0x55ff7e){var _0x1adc17=_0x1233a5(0x10,_0x146f6e[_0x1a4e('0xb1b')]);_0x1adc17[_0x1a4e('0x28ac')]=_0x55ff7e,_0x1adc17[_0x1a4e('0x28ad')]=_0x218c15(_0x55ff7e),_0x368e5a[_0x1a4e('0x2572')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x2699')]&&(_0x1adc17=_0xfd8b5f(_0x1adc17)),_0x2327c6[_0x1a4e('0x29e0')]=_0x1adc17;}else _0x2327c6[_0x1a4e('0x29e0')]=_0x3d907c;}return _0x2327c6[_0x1a4e('0x29e0')];}function _0x192c81(_0x146f6e){return _0x368e5a[_0x1a4e('0x23ce')](_0x146f6e[_0x1a4e('0x11c')])?_0x54a27b(_0x146f6e[_0x1a4e('0x11c')]):void 0x0;}function _0x218c15(_0x368e5a){return _0x368e5a?_0x381026(_0x368e5a):void 0x0;}function _0x59a063(_0x368e5a){return!!(0x80000&_0x368e5a[_0x1a4e('0x7b2')])&&!_0x2e49b5(_0x368e5a);}function _0x52cfaa(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(0x1&_0x146f6e[_0x1a4e('0x7b2')]||0x1&_0x2327c6[_0x1a4e('0x7b2')])return _0x330555;if(0x2&_0x146f6e[_0x1a4e('0x7b2')]||0x2&_0x2327c6[_0x1a4e('0x7b2')])return _0x387afa;if(0x20000&_0x146f6e['flags'])return _0x2327c6;if(0x20000&_0x2327c6['flags'])return _0x146f6e;if(0x100000&_0x146f6e['flags'])return _0x578997(_0x146f6e,function(_0x368e5a){return _0x52cfaa(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);});if(0x100000&_0x2327c6[_0x1a4e('0x7b2')])return _0x578997(_0x2327c6,function(_0x368e5a){return _0x52cfaa(_0x146f6e,_0x368e5a,_0x55ff7e,_0x1adc17,_0xf79407);});if(0x4400ffc&_0x2327c6[_0x1a4e('0x7b2')])return _0x146f6e;if(_0x54ac8c(_0x146f6e)||_0x54ac8c(_0x2327c6)){if(_0x3d48fd(_0x146f6e))return _0x2327c6;if(0x200000&_0x146f6e[_0x1a4e('0x7b2')]){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x2380')],_0x420b32=_0x2c9ec9[_0x2c9ec9['length']-0x1];if(_0x59a063(_0x420b32)&&_0x59a063(_0x2327c6))return _0xffdb94(_0x368e5a['concatenate'](_0x2c9ec9['slice'](0x0,_0x2c9ec9['length']-0x1),[_0x52cfaa(_0x420b32,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407)]));}return _0xffdb94([_0x146f6e,_0x2327c6]);}var _0x1b06ad,_0x326eae,_0x56674b=_0x368e5a[_0x1a4e('0x22e7')](),_0x415952=_0x368e5a[_0x1a4e('0x283a')]();_0x146f6e===_0x126d3e?(_0x1b06ad=_0x5c197b(_0x2327c6,0x0),_0x326eae=_0x5c197b(_0x2327c6,0x1)):(_0x1b06ad=_0x1748b1(_0x5c197b(_0x146f6e,0x0),_0x5c197b(_0x2327c6,0x0)),_0x326eae=_0x1748b1(_0x5c197b(_0x146f6e,0x1),_0x5c197b(_0x2327c6,0x1)));for(var _0x46923a=0x0,_0x88bf03=_0x41c062(_0x2327c6);_0x46923a<_0x88bf03[_0x1a4e('0x1e')];_0x46923a++){var _0x434714=_0x88bf03[_0x46923a];0x18&_0x368e5a['getDeclarationModifierFlagsFromSymbol'](_0x434714)?_0x415952[_0x1a4e('0x17a')](_0x434714[_0x1a4e('0x22e8')],!0x0):_0x1c2a4e(_0x434714)&&_0x56674b[_0x1a4e('0x17a')](_0x434714[_0x1a4e('0x22e8')],_0x426f42(_0x434714));}for(var _0x57b692=0x0,_0x1ad11f=_0x41c062(_0x146f6e);_0x57b692<_0x1ad11f[_0x1a4e('0x1e')];_0x57b692++){var _0x35bd0a=_0x1ad11f[_0x57b692];if(!_0x415952[_0x1a4e('0x178')](_0x35bd0a['escapedName'])&&_0x1c2a4e(_0x35bd0a))if(_0x56674b[_0x1a4e('0x178')](_0x35bd0a['escapedName'])){var _0x36aa2e=_0x38797c(_0x434714=_0x56674b[_0x1a4e('0x179')](_0x35bd0a[_0x1a4e('0x22e8')]));if(0x1000000&_0x434714['flags']){var _0x30b3ec=_0x368e5a[_0x1a4e('0x1717')](_0x35bd0a[_0x1a4e('0x22e5')],_0x434714[_0x1a4e('0x22e5')]),_0x1b487e=_0x4ecc5b(0x4|0x1000000&_0x35bd0a['flags'],_0x35bd0a[_0x1a4e('0x22e8')]);_0x1b487e[_0x1a4e('0x40')]=_0x2d74ef([_0x38797c(_0x35bd0a),_0x2c784a(_0x36aa2e,0x80000)]),_0x1b487e['leftSpread']=_0x35bd0a,_0x1b487e['rightSpread']=_0x434714,_0x1b487e[_0x1a4e('0x22e5')]=_0x30b3ec,_0x1b487e[_0x1a4e('0x2994')]=_0x35bd0a[_0x1a4e('0x2994')],_0x56674b[_0x1a4e('0x17a')](_0x35bd0a['escapedName'],_0x1b487e);}}else _0x56674b[_0x1a4e('0x17a')](_0x35bd0a[_0x1a4e('0x22e8')],_0x426f42(_0x35bd0a));}var _0x3d8f5d=_0x1178b7(_0x55ff7e,_0x56674b,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],_0x45aa0b(_0x1b06ad),_0x45aa0b(_0x326eae));return _0x3d8f5d['flags']|=0x10000000|_0x1adc17,_0x3d8f5d[_0x1a4e('0x2472')]|=0x480|_0xf79407,_0x3d8f5d;}function _0x1c2a4e(_0x146f6e){return!(0x1a000&_0x146f6e['flags']&&_0x146f6e[_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](function(_0x146f6e){return _0x368e5a['isClassLike'](_0x146f6e[_0x1a4e('0x11c')]);}));}function _0x426f42(_0x368e5a){var _0x146f6e=_0x5c5095(_0x368e5a),_0x2327c6=0x10000&_0x368e5a[_0x1a4e('0x7b2')]&&!(0x8000&_0x368e5a[_0x1a4e('0x7b2')]);if(!_0x146f6e&&!_0x2327c6)return _0x368e5a;var _0x55ff7e=_0x4ecc5b(0x4|0x1000000&_0x368e5a[_0x1a4e('0x7b2')],_0x368e5a[_0x1a4e('0x22e8')]);return _0x55ff7e['type']=_0x2327c6?_0x57a5b4:_0x38797c(_0x368e5a),_0x55ff7e[_0x1a4e('0x22e5')]=_0x368e5a[_0x1a4e('0x22e5')],_0x55ff7e['nameType']=_0x368e5a[_0x1a4e('0x2994')],_0x55ff7e[_0x1a4e('0x28e8')]=_0x368e5a,_0x55ff7e;}function _0x45aa0b(_0x368e5a){return _0x368e5a&&_0x368e5a[_0x1a4e('0x28bc')]?_0x2c1884(_0x368e5a['type'],!0x1,_0x368e5a['declaration']):_0x368e5a;}function _0x165c0a(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x5e6a6c(_0x368e5a);return _0x55ff7e[_0x1a4e('0xb1b')]=_0x2327c6,_0x55ff7e['value']=_0x146f6e,_0x55ff7e;}function _0xa14567(_0x368e5a){if(0xb80&_0x368e5a[_0x1a4e('0x7b2')]){if(!_0x368e5a[_0x1a4e('0x28ee')]){var _0x146f6e=_0x165c0a(_0x368e5a[_0x1a4e('0x7b2')],_0x368e5a[_0x1a4e('0x255')],_0x368e5a[_0x1a4e('0xb1b')]);_0x146f6e[_0x1a4e('0x28ed')]=_0x368e5a,_0x146f6e[_0x1a4e('0x28ee')]=_0x146f6e,_0x368e5a[_0x1a4e('0x28ee')]=_0x146f6e;}return _0x368e5a[_0x1a4e('0x28ee')];}return _0x368e5a;}function _0x4da784(_0x146f6e){return 0xb80&_0x146f6e['flags']?_0x146f6e[_0x1a4e('0x28ed')]:0x100000&_0x146f6e['flags']?_0x2d74ef(_0x368e5a[_0x1a4e('0x170d')](_0x146f6e[_0x1a4e('0x2380')],_0x4da784)):_0x146f6e;}function _0x37edbe(_0x368e5a){return!!(0xb80&_0x368e5a['flags'])&&_0x368e5a[_0x1a4e('0x28ee')]===_0x368e5a;}function _0x300979(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=(_0x2327c6||'')+(_0x1a4e('0x3d')==typeof _0x146f6e?'#':_0x1a4e('0x9')==typeof _0x146f6e?'@':'n')+('object'==typeof _0x146f6e?_0x368e5a[_0x1a4e('0x25f5')](_0x146f6e):_0x146f6e),_0xf79407=_0x2290cb[_0x1a4e('0x179')](_0x1adc17);if(!_0xf79407){var _0x2c9ec9=(_0x1a4e('0x3d')==typeof _0x146f6e?0x100:_0x1a4e('0x9')==typeof _0x146f6e?0x80:0x800)|(_0x2327c6?0x400:0x0);_0x2290cb['set'](_0x1adc17,_0xf79407=_0x165c0a(_0x2c9ec9,_0x146f6e,_0x55ff7e)),_0xf79407[_0x1a4e('0x28ed')]=_0xf79407;}return _0xf79407;}function _0x20783a(_0x146f6e){if(_0x368e5a['isValidESSymbolDeclaration'](_0x146f6e)){var _0x2327c6=_0x54a27b(_0x146f6e),_0x55ff7e=_0xdba731(_0x2327c6);return _0x55ff7e[_0x1a4e('0x2a00')]||(_0x55ff7e['uniqueESSymbolType']=function(_0x368e5a){var _0x146f6e=_0x5e6a6c(0x2000);return _0x146f6e['symbol']=_0x368e5a,_0x146f6e;}(_0x2327c6));}return _0x12ad50;}function _0x15709d(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);return _0x2327c6[_0x1a4e('0x29e0')]||(_0x2327c6[_0x1a4e('0x29e0')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x239b')](_0x146f6e,!0x1),_0x55ff7e=_0x2327c6&&_0x2327c6[_0x1a4e('0x11c')];return!_0x55ff7e||!_0x368e5a['isClassLike'](_0x55ff7e)&&0xf1!==_0x55ff7e[_0x1a4e('0x146b')]||_0x368e5a['hasModifier'](_0x2327c6,0x20)||0x9d===_0x2327c6[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x2a01')](_0x146f6e,_0x2327c6[_0x1a4e('0x8f2')])?(_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a02')]),_0x336c2):_0x1055a1(_0x54a27b(_0x55ff7e))[_0x1a4e('0x2886')];}(_0x146f6e)),_0x2327c6['resolvedType'];}function _0x3fafb1(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x78:case 0x11c:case 0x11d:return _0x330555;case 0x8f:return _0x387afa;case 0x8a:return _0x1d9562;case 0x87:return _0x4a492a;case 0x92:return _0x95b336;case 0x7b:return _0x4b156c;case 0x8b:return _0x12ad50;case 0x6a:return _0x56da3c;case 0x8d:return _0x57a5b4;case 0x60:return _0x406341;case 0x84:return _0x530b09;case 0x88:return 0x10000&_0x146f6e[_0x1a4e('0x7b2')]?_0x330555:_0x48476c;case 0xb2:case 0x64:return _0x15709d(_0x146f6e);case 0xb6:return function(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);return _0x146f6e['resolvedType']||(_0x146f6e['resolvedType']=_0x4da784(_0x4e94e8(_0x368e5a[_0x1a4e('0x2301')]))),_0x146f6e['resolvedType'];}(_0x146f6e);case 0xa4:return _0x2b9148(_0x146f6e);case 0xa3:return _0x4b156c;case 0xd3:return _0x2b9148(_0x146f6e);case 0xa7:return _0x56d0b4(_0x146f6e);case 0xa9:return function(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);return _0x146f6e[_0x1a4e('0x29e0')]||(_0x146f6e[_0x1a4e('0x29e0')]=_0xfd8b5f(_0x3fafb1(_0x368e5a[_0x1a4e('0x2388')]))),_0x146f6e[_0x1a4e('0x29e0')];}(_0x146f6e);case 0xaa:return function(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x29e0')]){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1722')](_0x146f6e[_0x1a4e('0x25fc')]),_0x1adc17=_0x55ff7e&&0xac===_0x55ff7e[_0x1a4e('0x146b')]?_0x55ff7e:void 0x0,_0xf79407=_0x368e5a[_0x1a4e('0x109d')](_0x146f6e['elementTypes'],function(_0x368e5a){return 0xab!==_0x368e5a[_0x1a4e('0x146b')]&&_0x368e5a!==_0x1adc17;})+0x1,_0x2c9ec9=_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x25fc')],function(_0x368e5a){var _0x146f6e=_0x3fafb1(_0x368e5a);return _0x368e5a===_0x1adc17&&_0x3e5aca(_0x146f6e,0x1)||_0x146f6e;});_0x2327c6[_0x1a4e('0x29e0')]=_0x4c09c6(_0x2c9ec9,_0xf79407,!!_0x1adc17);}return _0x2327c6['resolvedType'];}(_0x146f6e);case 0xab:return function(_0x368e5a){var _0x146f6e=_0x3fafb1(_0x368e5a['type']);return _0x4f3c04?_0x6d96b4(_0x146f6e):_0x146f6e;}(_0x146f6e);case 0xad:return function(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x29e0')]){var _0x55ff7e=_0x192c81(_0x146f6e);_0x2327c6[_0x1a4e('0x29e0')]=_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2380')],_0x3fafb1),0x1,_0x55ff7e,_0x218c15(_0x55ff7e));}return _0x2327c6[_0x1a4e('0x29e0')];}(_0x146f6e);case 0xae:return function(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);if(!_0x2327c6['resolvedType']){var _0x55ff7e=_0x192c81(_0x146f6e);_0x2327c6[_0x1a4e('0x29e0')]=_0xffdb94(_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2380')],_0x3fafb1),_0x55ff7e,_0x218c15(_0x55ff7e));}return _0x2327c6[_0x1a4e('0x29e0')];}(_0x146f6e);case 0x11e:return function(_0x368e5a){var _0x146f6e=_0x3fafb1(_0x368e5a[_0x1a4e('0x40')]);return _0x4f3c04?_0x22b61d(_0x146f6e,0x10000):_0x146f6e;}(_0x146f6e);case 0x120:return _0x28534e(_0x3fafb1(_0x146f6e[_0x1a4e('0x40')]));case 0xb1:case 0xac:case 0x11f:case 0x11b:return _0x3fafb1(_0x146f6e[_0x1a4e('0x40')]);case 0x122:return function(_0x146f6e){var _0x2327c6=_0x3fafb1(_0x146f6e[_0x1a4e('0x40')]),_0x55ff7e=_0x146f6e[_0x1a4e('0x11c')],_0x1adc17=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x2534')](_0x146f6e['parent'])&&_0x368e5a[_0x1a4e('0x24a9')](_0x1adc17)){var _0xf79407=_0x368e5a[_0x1a4e('0x23d4')](_0x1adc17);if(_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1722')](_0xf79407['parameters']),_0x420b32=_0x368e5a['getParameterSymbolFromJSDoc'](_0x1adc17);if(!_0x2c9ec9||_0x420b32&&_0x2c9ec9['symbol']===_0x420b32&&_0x368e5a[_0x1a4e('0x28cb')](_0x2c9ec9))return _0xfd8b5f(_0x2327c6);}}return _0x368e5a[_0x1a4e('0x24ac')](_0x55ff7e)&&_0x368e5a[_0x1a4e('0x23cc')](_0x55ff7e[_0x1a4e('0x11c')])?_0xfd8b5f(_0x2327c6):_0x28534e(_0x2327c6);}(_0x146f6e);case 0xa5:case 0xa6:case 0xa8:case 0x124:case 0x121:case 0x125:return _0x251f9b(_0x146f6e);case 0xb3:return function(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x29e0')])switch(_0x146f6e[_0x1a4e('0x1474')]){case 0x81:_0x2327c6[_0x1a4e('0x29e0')]=_0x332557(_0x3fafb1(_0x146f6e[_0x1a4e('0x40')]));break;case 0x8e:_0x2327c6[_0x1a4e('0x29e0')]=0x8b===_0x146f6e[_0x1a4e('0x40')][_0x1a4e('0x146b')]?_0x20783a(_0x368e5a[_0x1a4e('0x23e4')](_0x146f6e[_0x1a4e('0x11c')])):_0x336c2;}return _0x2327c6[_0x1a4e('0x29e0')];}(_0x146f6e);case 0xb4:return _0x39af3e(_0x146f6e);case 0xb5:return _0x2322c7(_0x146f6e);case 0xaf:return _0x21a827(_0x146f6e);case 0xb0:return function(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);return _0x146f6e[_0x1a4e('0x29e0')]||(_0x146f6e['resolvedType']=_0xcfe131(_0x54a27b(_0x368e5a[_0x1a4e('0x2668')]))),_0x146f6e['resolvedType'];}(_0x146f6e);case 0xb7:return _0x105109(_0x146f6e);case 0x48:case 0x94:var _0x2327c6=_0x5e798c(_0x146f6e);return _0x2327c6?_0x287d7b(_0x2327c6):_0x336c2;default:return _0x336c2;}}function _0xbf3c27(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x368e5a&&_0x368e5a[_0x1a4e('0x1e')])for(var _0x55ff7e=0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x368e5a[_0x55ff7e],_0xf79407=_0x2327c6(_0x1adc17,_0x146f6e);if(_0x1adc17!==_0xf79407){var _0x2c9ec9=0x0===_0x55ff7e?[]:_0x368e5a[_0x1a4e('0x78')](0x0,_0x55ff7e);for(_0x2c9ec9[_0x1a4e('0x46')](_0xf79407),_0x55ff7e++;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++)_0x2c9ec9[_0x1a4e('0x46')](_0x2327c6(_0x368e5a[_0x55ff7e],_0x146f6e));return _0x2c9ec9;}}return _0x368e5a;}function _0x3ca8d6(_0x368e5a,_0x146f6e){return _0xbf3c27(_0x368e5a,_0x146f6e,_0x1e1445);}function _0x79403c(_0x368e5a,_0x146f6e){return _0xbf3c27(_0x368e5a,_0x146f6e,_0x54171a);}function _0x52adb3(_0x368e5a,_0x146f6e){return function(_0x2327c6){return _0x2327c6===_0x368e5a?_0x146f6e:_0x2327c6;};}function _0xa0d6d8(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1749')]['assert'](void 0x0===_0x2327c6||_0x146f6e[_0x1a4e('0x1e')]===_0x2327c6[_0x1a4e('0x1e')]),0x1===_0x146f6e[_0x1a4e('0x1e')]?_0x52adb3(_0x146f6e[0x0],_0x2327c6?_0x2327c6[0x0]:_0x330555):0x2===_0x146f6e[_0x1a4e('0x1e')]?(_0x55ff7e=_0x146f6e[0x0],_0x1adc17=_0x2327c6?_0x2327c6[0x0]:_0x330555,_0xf79407=_0x146f6e[0x1],_0x2c9ec9=_0x2327c6?_0x2327c6[0x1]:_0x330555,function(_0x368e5a){return _0x368e5a===_0x55ff7e?_0x1adc17:_0x368e5a===_0xf79407?_0x2c9ec9:_0x368e5a;}):function(_0x368e5a,_0x146f6e){return function(_0x2327c6){for(var _0x55ff7e=0x0;_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];_0x55ff7e++)if(_0x2327c6===_0x368e5a[_0x55ff7e])return _0x146f6e?_0x146f6e[_0x55ff7e]:_0x330555;return _0x2327c6;};}(_0x146f6e,_0x2327c6);var _0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9;}function _0x4f7803(_0x368e5a){return _0xa0d6d8(_0x368e5a,void 0x0);}function _0x6317f3(_0x368e5a,_0x146f6e){return _0x368e5a?_0x146f6e?function(_0x2327c6){return _0x1e1445(_0x368e5a(_0x2327c6),_0x146f6e);}:_0x368e5a:_0x146f6e;}function _0x6b184c(_0x368e5a,_0x146f6e,_0x2327c6){return function(_0x55ff7e){return _0x55ff7e===_0x368e5a?_0x146f6e:_0x2327c6(_0x55ff7e);};}function _0x3f4e91(_0x368e5a){return 0x40000&_0x368e5a[_0x1a4e('0x7b2')]?_0x5a2bb4:_0x368e5a;}function _0x128b5a(_0x368e5a){var _0x146f6e=_0x5e6a6c(0x40000);return _0x146f6e['symbol']=_0x368e5a[_0x1a4e('0xb1b')],_0x146f6e[_0x1a4e('0xd95')]=_0x368e5a,_0x146f6e;}function _0x54171a(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17;if(_0x146f6e[_0x1a4e('0x23d7')]&&!_0x55ff7e){_0x1adc17=_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x23d7')],_0x128b5a),_0x2327c6=_0x6317f3(_0xa0d6d8(_0x146f6e[_0x1a4e('0x23d7')],_0x1adc17),_0x2327c6);for(var _0xf79407=0x0,_0x2c9ec9=_0x1adc17;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++)_0x2c9ec9[_0xf79407][_0x1a4e('0x28c5')]=_0x2327c6;}var _0x420b32=_0x1338dd(_0x146f6e[_0x1a4e('0x2350')],_0x1adc17,_0x146f6e[_0x1a4e('0x28c7')]&&_0x1aba33(_0x146f6e['thisParameter'],_0x2327c6),_0xbf3c27(_0x146f6e['parameters'],_0x2327c6,_0x1aba33),void 0x0,void 0x0,_0x146f6e['minArgumentCount'],_0x146f6e[_0x1a4e('0x23d8')],_0x146f6e[_0x1a4e('0x29c6')]);return _0x420b32[_0x1a4e('0xd95')]=_0x146f6e,_0x420b32[_0x1a4e('0x28c5')]=_0x2327c6,_0x420b32;}function _0x1aba33(_0x146f6e,_0x2327c6){var _0x55ff7e=_0xdba731(_0x146f6e);if(_0x55ff7e[_0x1a4e('0x40')]&&!_0x1a74b9(_0x55ff7e[_0x1a4e('0x40')],0x3cc0000))return _0x146f6e;0x1&_0x368e5a['getCheckFlags'](_0x146f6e)&&(_0x146f6e=_0x55ff7e[_0x1a4e('0xd95')],_0x2327c6=_0x6317f3(_0x55ff7e['mapper'],_0x2327c6));var _0x1adc17=_0x4ecc5b(_0x146f6e[_0x1a4e('0x7b2')],_0x146f6e[_0x1a4e('0x22e8')],0x1|0x3400&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e));return _0x1adc17[_0x1a4e('0x22e5')]=_0x146f6e[_0x1a4e('0x22e5')],_0x1adc17[_0x1a4e('0x11c')]=_0x146f6e['parent'],_0x1adc17[_0x1a4e('0xd95')]=_0x146f6e,_0x1adc17['mapper']=_0x2327c6,_0x146f6e['valueDeclaration']&&(_0x1adc17[_0x1a4e('0x2340')]=_0x146f6e[_0x1a4e('0x2340')]),_0x146f6e[_0x1a4e('0x2994')]&&(_0x1adc17[_0x1a4e('0x2994')]=_0x146f6e[_0x1a4e('0x2994')]),_0x1adc17;}function _0x194f68(_0x146f6e,_0x2327c6){var _0x55ff7e=0x40&_0x146f6e[_0x1a4e('0x2472')]?_0x146f6e[_0x1a4e('0xd95')]:_0x146f6e,_0x1adc17=_0x55ff7e[_0x1a4e('0xb1b')],_0xf79407=_0xdba731(_0x1adc17),_0x2c9ec9=_0xf79407[_0x1a4e('0x28aa')];if(!_0x2c9ec9){var _0x420b32=_0x1adc17[_0x1a4e('0x22e5')][0x0];if(_0x368e5a['isInJSFile'](_0x420b32)){var _0x1b06ad=_0x368e5a['findAncestor'](_0x420b32,_0x368e5a[_0x1a4e('0x24a9')]);if(_0x1b06ad){var _0x326eae=_0x368e5a[_0x1a4e('0x2a03')](_0x1b06ad);_0x326eae&&(_0x420b32=_0x326eae[_0x1a4e('0x2340')]);}}var _0x56674b=_0x4a725e(_0x420b32,!0x0);if(_0x4cff90(_0x420b32)){var _0x415952=_0x32977a(_0x420b32);_0x56674b=_0x368e5a[_0x1a4e('0x23d1')](_0x56674b,_0x415952);}_0x2c9ec9=_0x56674b||_0x368e5a[_0x1a4e('0x1700')],_0x2c9ec9=0x800&_0x1adc17[_0x1a4e('0x7b2')]&&!_0x55ff7e[_0x1a4e('0x28ad')]?_0x368e5a[_0x1a4e('0xd9')](_0x2c9ec9,function(_0x368e5a){return _0x1f201d(_0x368e5a,_0x420b32);}):_0x2c9ec9,_0xf79407['outerTypeParameters']=_0x2c9ec9,_0x2c9ec9['length']&&(_0xf79407[_0x1a4e('0x28ef')]=_0x368e5a[_0x1a4e('0x1772')](),_0xf79407[_0x1a4e('0x28ef')][_0x1a4e('0x17a')](_0x2aa01d(_0x2c9ec9),_0x55ff7e));}if(_0x2c9ec9[_0x1a4e('0x1e')]){var _0x46923a=0x40&_0x146f6e[_0x1a4e('0x2472')]?_0x6317f3(_0x146f6e[_0x1a4e('0x28c5')],_0x2327c6):_0x2327c6,_0x88bf03=_0x368e5a[_0x1a4e('0x21')](_0x2c9ec9,_0x46923a),_0x434714=_0x2aa01d(_0x88bf03),_0x57b692=_0xf79407[_0x1a4e('0x28ef')]['get'](_0x434714);if(!_0x57b692){var _0x1ad11f=_0xa0d6d8(_0x2c9ec9,_0x88bf03);_0x57b692=0x20&_0x55ff7e['objectFlags']?function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0xb40aae(_0x146f6e);if(_0x55ff7e){var _0x1adc17=_0x1e1445(_0x55ff7e,_0x2327c6);if(_0x55ff7e!==_0x1adc17){if(_0x146f6e['instantiating'])return _0x336c2;_0x146f6e[_0x1a4e('0x2a04')]=!0x0;var _0xf79407=_0x578997(_0x1adc17,function(_0x1adc17){if(0x3ac0003&_0x1adc17[_0x1a4e('0x7b2')]&&_0x1adc17!==_0x5a2bb4){var _0xf79407=_0x6b184c(_0x55ff7e,_0x1adc17,_0x2327c6);return _0x4ba777(_0x1adc17)?_0xfd8b5f(_0x38dc2e(_0x146f6e,_0x4a492a,!0x0,_0xf79407)):_0x1fdfd3(_0x1adc17)?_0x500fbd(_0x38dc2e(_0x146f6e,_0x4a492a,!0x0,_0xf79407)):_0x102fd6(_0x1adc17)?function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0xd95')]['minLength'],_0xf79407=_0x368e5a['map'](_0x146f6e[_0x1a4e('0x2365')]||_0x368e5a[_0x1a4e('0x1700')],function(_0x368e5a,_0x146f6e){return _0x38dc2e(_0x2327c6,_0x300979(''+_0x146f6e),_0x146f6e>=_0x1adc17,_0x55ff7e);}),_0x2c9ec9=_0x118009(_0x2327c6),_0x420b32=0x4&_0x2c9ec9?0x0:0x8&_0x2c9ec9?_0x30457b(_0x146f6e)-(_0x146f6e[_0x1a4e('0xd95')]['hasRestElement']?0x1:0x0):_0x1adc17;return _0x4c09c6(_0xf79407,_0x420b32,_0x146f6e[_0x1a4e('0xd95')][_0x1a4e('0x28a7')],_0x146f6e[_0x1a4e('0xd95')][_0x1a4e('0x29e8')]);}(_0x1adc17,_0x146f6e,_0xf79407):_0x4d9e91(_0x146f6e,_0xf79407);}return _0x1adc17;});return _0x146f6e[_0x1a4e('0x2a04')]=!0x1,_0xf79407;}}return _0x4d9e91(_0x146f6e,_0x2327c6);}(_0x55ff7e,_0x1ad11f):_0x4d9e91(_0x55ff7e,_0x1ad11f),_0xf79407['instantiations'][_0x1a4e('0x17a')](_0x434714,_0x57b692);}return _0x57b692;}return _0x146f6e;}function _0x1f201d(_0x146f6e,_0x2327c6){if(_0x146f6e[_0x1a4e('0xb1b')]&&_0x146f6e['symbol'][_0x1a4e('0x22e5')]&&0x1===_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][_0x1a4e('0x1e')]){var _0x55ff7e=_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0][_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x283d')](_0x2327c6,function(_0x368e5a){return 0xda===_0x368e5a[_0x1a4e('0x146b')]?_0x1a4e('0x1b55'):_0x368e5a===_0x55ff7e;}))return!!_0x368e5a[_0x1a4e('0x22eb')](_0x2327c6,function _0x2327c6(_0x55ff7e){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xb2:return!!_0x146f6e['isThisType'];case 0x48:return!_0x146f6e[_0x1a4e('0x28a3')]&&_0x368e5a[_0x1a4e('0x2384')](_0x55ff7e)&&function(_0x368e5a){return!(0x94===_0x368e5a[_0x1a4e('0x146b')]||0xa4===_0x368e5a['parent'][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x2365')]&&_0x368e5a===_0x368e5a[_0x1a4e('0x11c')]['typeName']);}(_0x55ff7e)&&_0x3fafb1(_0x55ff7e)===_0x146f6e;case 0xa7:return!0x0;}return!!_0x368e5a[_0x1a4e('0x22eb')](_0x55ff7e,_0x2327c6);});}return!0x0;}function _0xb40aae(_0x368e5a){var _0x146f6e=_0x5e43c6(_0x368e5a);if(0x400000&_0x146f6e[_0x1a4e('0x7b2')]){var _0x2327c6=_0x146f6e[_0x1a4e('0x40')];if(0x40000&_0x2327c6['flags'])return _0x2327c6;}}function _0x38dc2e(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x6317f3(_0x55ff7e,_0xa0d6d8([_0x108e5(_0x368e5a)],[_0x146f6e])),_0xf79407=_0x1e1445(_0x4485f9(_0x368e5a[_0x1a4e('0xd95')]||_0x368e5a),_0x1adc17),_0x2c9ec9=_0x118009(_0x368e5a);return _0x4f3c04&&0x4&_0x2c9ec9&&!_0x720afc(_0x57a5b4,_0xf79407)?_0x6d96b4(_0xf79407):_0x4f3c04&&0x8&_0x2c9ec9&&_0x2327c6?_0x2c784a(_0xf79407,0x80000):_0xf79407;}function _0x4d9e91(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1233a5(0x40|_0x368e5a[_0x1a4e('0x2472')],_0x368e5a['symbol']);if(0x20&_0x368e5a[_0x1a4e('0x2472')]){_0x2327c6[_0x1a4e('0x2350')]=_0x368e5a[_0x1a4e('0x2350')];var _0x55ff7e=_0x108e5(_0x368e5a),_0x1adc17=_0x128b5a(_0x55ff7e);_0x2327c6[_0x1a4e('0x2668')]=_0x1adc17,_0x146f6e=_0x6317f3(_0x52adb3(_0x55ff7e,_0x1adc17),_0x146f6e),_0x1adc17[_0x1a4e('0x28c5')]=_0x146f6e;}return _0x2327c6[_0x1a4e('0xd95')]=_0x368e5a,_0x2327c6[_0x1a4e('0x28c5')]=_0x146f6e,_0x2327c6[_0x1a4e('0x28ac')]=_0x368e5a[_0x1a4e('0x28ac')],_0x2327c6[_0x1a4e('0x28ad')]=_0x3ca8d6(_0x368e5a[_0x1a4e('0x28ad')],_0x146f6e),_0x2327c6;}function _0x38927a(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x1372')];if(_0x55ff7e[_0x1a4e('0x28aa')]){var _0x1adc17=_0x368e5a[_0x1a4e('0x21')](_0x55ff7e[_0x1a4e('0x28aa')],_0x2327c6),_0xf79407=_0x2aa01d(_0x1adc17),_0x2c9ec9=_0x55ff7e[_0x1a4e('0x28ef')][_0x1a4e('0x179')](_0xf79407);return _0x2c9ec9||(_0x2c9ec9=function(_0x368e5a,_0x146f6e){if(_0x368e5a[_0x1a4e('0x2a05')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x25fd')],_0x55ff7e=_0x146f6e(_0x2327c6);if(_0x2327c6!==_0x55ff7e&&0x120000&_0x55ff7e['flags'])return _0x578997(_0x55ff7e,function(_0x55ff7e){return _0x29e386(_0x368e5a,_0x6b184c(_0x2327c6,_0x55ff7e,_0x146f6e));});}return _0x29e386(_0x368e5a,_0x146f6e);}(_0x55ff7e,_0xa0d6d8(_0x55ff7e['outerTypeParameters'],_0x1adc17)),_0x55ff7e[_0x1a4e('0x28ef')]['set'](_0xf79407,_0x2c9ec9)),_0x2c9ec9;}return _0x146f6e;}function _0x1e1445(_0x368e5a,_0x146f6e){if(!_0x368e5a||!_0x146f6e||_0x146f6e===_0x5934d9)return _0x368e5a;if(0x32===_0x7151b1)return _0x336c2;_0x7151b1++;var _0x2327c6=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x7b2')];if(0x40000&_0x2327c6)return _0x146f6e(_0x368e5a);if(0x80000&_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2472')];if(0x10&_0x55ff7e)return _0x368e5a[_0x1a4e('0xb1b')]&&0x3830&_0x368e5a[_0x1a4e('0xb1b')]['flags']&&_0x368e5a['symbol'][_0x1a4e('0x22e5')]?_0x194f68(_0x368e5a,_0x146f6e):_0x368e5a;if(0x20&_0x55ff7e)return _0x194f68(_0x368e5a,_0x146f6e);if(0x4&_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2365')],_0xf79407=_0x3ca8d6(_0x1adc17,_0x146f6e);return _0xf79407!==_0x1adc17?_0x34525d(_0x368e5a[_0x1a4e('0xd95')],_0xf79407):_0x368e5a;}return _0x368e5a;}if(0x100000&_0x2327c6&&!(0x1fffc&_0x2327c6)){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2380')],_0x420b32=_0x3ca8d6(_0x2c9ec9,_0x146f6e);return _0x420b32!==_0x2c9ec9?_0x2d74ef(_0x420b32,0x1,_0x368e5a['aliasSymbol'],_0x3ca8d6(_0x368e5a['aliasTypeArguments'],_0x146f6e)):_0x368e5a;}if(0x200000&_0x2327c6){var _0x2c9ec9=_0x368e5a['types'],_0x420b32=_0x3ca8d6(_0x2c9ec9,_0x146f6e);return _0x420b32!==_0x2c9ec9?_0xffdb94(_0x420b32,_0x368e5a[_0x1a4e('0x28ac')],_0x3ca8d6(_0x368e5a[_0x1a4e('0x28ad')],_0x146f6e)):_0x368e5a;}return 0x400000&_0x2327c6?_0x332557(_0x1e1445(_0x368e5a[_0x1a4e('0x40')],_0x146f6e)):0x800000&_0x2327c6?_0x3d7297(_0x1e1445(_0x368e5a[_0x1a4e('0x2601')],_0x146f6e),_0x1e1445(_0x368e5a[_0x1a4e('0x2669')],_0x146f6e)):0x1000000&_0x2327c6?_0x38927a(_0x368e5a,_0x6317f3(_0x368e5a[_0x1a4e('0x28c5')],_0x146f6e)):0x2000000&_0x2327c6?_0x1e1445(_0x368e5a[_0x1a4e('0x28b1')],_0x146f6e):_0x368e5a;}(_0x368e5a,_0x146f6e);return _0x7151b1--,_0x2327c6;}function _0x5a45ca(_0x368e5a){return 0x3ffff&_0x368e5a['flags']?_0x368e5a:_0x368e5a[_0x1a4e('0x2a06')]||(_0x368e5a[_0x1a4e('0x2a06')]=_0x1e1445(_0x368e5a,_0x3f4e91));}function _0x4e2547(_0x368e5a,_0x146f6e){return _0x368e5a&&_0x2c1884(_0x1e1445(_0x368e5a[_0x1a4e('0x40')],_0x146f6e),_0x368e5a[_0x1a4e('0x28bc')],_0x368e5a[_0x1a4e('0x2350')]);}function _0xf01a27(_0x146f6e){switch(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x9c!==_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a['isObjectLiteralMethod'](_0x146f6e)),_0x146f6e[_0x1a4e('0x146b')]){case 0xc4:case 0xc5:case 0x9c:return _0x590e9d(_0x146f6e);case 0xbc:return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x13')],_0xf01a27);case 0xbb:return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e['elements'],_0xf01a27);case 0xcd:return _0xf01a27(_0x146f6e['whenTrue'])||_0xf01a27(_0x146f6e[_0x1a4e('0x2604')]);case 0xcc:return 0x37===_0x146f6e[_0x1a4e('0x237a')][_0x1a4e('0x146b')]&&(_0xf01a27(_0x146f6e[_0x1a4e('0x5f')])||_0xf01a27(_0x146f6e[_0x1a4e('0x5d')]));case 0x113:return _0xf01a27(_0x146f6e[_0x1a4e('0x236a')]);case 0xc3:return _0xf01a27(_0x146f6e[_0x1a4e('0x2302')]);case 0x10c:return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x13')],_0xf01a27)||_0x368e5a[_0x1a4e('0x2527')](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a['some'](_0x146f6e['parent'][_0x1a4e('0x11c')][_0x1a4e('0x6f')],_0xf01a27);case 0x10b:var _0x2327c6=_0x146f6e['initializer'];return!!_0x2327c6&&_0xf01a27(_0x2327c6);case 0x10e:var _0x55ff7e=_0x146f6e[_0x1a4e('0x2302')];return!!_0x55ff7e&&_0xf01a27(_0x55ff7e);}return!0x1;}function _0x590e9d(_0x146f6e){if(_0x146f6e[_0x1a4e('0x23d7')])return!0x1;if(_0x368e5a['some'](_0x146f6e['parameters'],function(_0x146f6e){return!_0x368e5a[_0x1a4e('0x2452')](_0x146f6e);}))return!0x0;if(0xc5!==_0x146f6e['kind']){var _0x2327c6=_0x368e5a[_0x1a4e('0x1721')](_0x146f6e[_0x1a4e('0x111a')]);if(!_0x2327c6||!_0x368e5a['parameterIsThisKeyword'](_0x2327c6))return!0x0;}return _0x4f9cf8(_0x146f6e);}function _0x4f9cf8(_0x368e5a){var _0x146f6e=_0x368e5a['body'];return 0xda!==_0x146f6e[_0x1a4e('0x146b')]&&_0xf01a27(_0x146f6e);}function _0x38becc(_0x146f6e){return(_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x23e2')](_0x146f6e)||_0x18ccfa(_0x146f6e)||_0x368e5a[_0x1a4e('0x2867')](_0x146f6e))&&_0x590e9d(_0x146f6e);}function _0x1863f4(_0x146f6e){if(0x80000&_0x146f6e[_0x1a4e('0x7b2')]){var _0x2327c6=_0x4a724b(_0x146f6e);if(_0x2327c6[_0x1a4e('0x2888')][_0x1a4e('0x1e')]||_0x2327c6[_0x1a4e('0x2887')][_0x1a4e('0x1e')]){var _0x55ff7e=_0x1233a5(0x10,_0x146f6e[_0x1a4e('0xb1b')]);return _0x55ff7e[_0x1a4e('0x2369')]=_0x2327c6[_0x1a4e('0x2369')],_0x55ff7e[_0x1a4e('0x13')]=_0x2327c6[_0x1a4e('0x13')],_0x55ff7e[_0x1a4e('0x2887')]=_0x368e5a[_0x1a4e('0x1700')],_0x55ff7e[_0x1a4e('0x2888')]=_0x368e5a[_0x1a4e('0x1700')],_0x55ff7e;}}else if(0x200000&_0x146f6e['flags'])return _0xffdb94(_0x368e5a[_0x1a4e('0x21')](_0x146f6e['types'],_0x1863f4));return _0x146f6e;}function _0x2ccc16(_0x368e5a,_0x146f6e){return _0x45728a(_0x368e5a,_0x146f6e,_0xa95637);}function _0x40991a(_0x368e5a,_0x146f6e){return _0x45728a(_0x368e5a,_0x146f6e,_0xa95637)?-0x1:0x0;}function _0x3a6d9b(_0x368e5a,_0x146f6e){return _0x45728a(_0x368e5a,_0x146f6e,_0x2dd879)?-0x1:0x0;}function _0x30240d(_0x368e5a,_0x146f6e){return _0x45728a(_0x368e5a,_0x146f6e,_0xb9f69)?-0x1:0x0;}function _0x2a8a4b(_0x368e5a,_0x146f6e){return _0x45728a(_0x368e5a,_0x146f6e,_0xb9f69);}function _0x720afc(_0x368e5a,_0x146f6e){return _0x45728a(_0x368e5a,_0x146f6e,_0x2dd879);}function _0x2d3211(_0x146f6e,_0x2327c6){return 0x100000&_0x146f6e['flags']?_0x368e5a['every'](_0x146f6e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x2d3211(_0x368e5a,_0x2327c6);}):0x100000&_0x2327c6[_0x1a4e('0x7b2')]?_0x368e5a['some'](_0x2327c6[_0x1a4e('0x2380')],function(_0x368e5a){return _0x2d3211(_0x146f6e,_0x368e5a);}):0x3840000&_0x146f6e[_0x1a4e('0x7b2')]?_0x2d3211(_0x1953ea(_0x146f6e)||_0x126d3e,_0x2327c6):_0x2327c6===_0x23601b?!!(0x4080000&_0x146f6e['flags']):_0x2327c6===_0x437267?!!(0x80000&_0x146f6e[_0x1a4e('0x7b2')])&&_0x4a5dc6(_0x146f6e):_0x4836c2(_0x146f6e,_0xa3bb51(_0x2327c6));}function _0x4dc252(_0x368e5a,_0x146f6e){return _0x45728a(_0x368e5a,_0x146f6e,_0x3d2b4d);}function _0x1e115e(_0x368e5a,_0x146f6e){return _0x4dc252(_0x368e5a,_0x146f6e)||_0x4dc252(_0x146f6e,_0x368e5a);}function _0x36c7ec(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x33a9c9(_0x368e5a,_0x146f6e,_0x2dd879,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);}function _0x440746(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x15b205(_0x368e5a,_0x146f6e,_0x2dd879,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);}function _0x15b205(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return!!_0x45728a(_0x368e5a,_0x146f6e,_0x2327c6)||(!_0x55ff7e||!_0x5589a2(_0x1adc17,_0x368e5a,_0x146f6e,_0x2327c6,_0xf79407))&&_0x33a9c9(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9);}function _0x48738c(_0x146f6e){return!!(0x1000000&_0x146f6e[_0x1a4e('0x7b2')]||0x200000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x2380')],_0x48738c));}function _0x5589a2(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(!_0x146f6e||_0x48738c(_0x55ff7e))return!0x1;if(!_0x33a9c9(_0x2327c6,_0x55ff7e,_0x1adc17,void 0x0)&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){for(var _0x2c9ec9=_0x7bcdc7(_0x2327c6,0x0),_0x420b32=_0x7bcdc7(_0x2327c6,0x1),_0x1b06ad=0x0,_0x326eae=[_0x420b32,_0x2c9ec9];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];if(_0x368e5a[_0x1a4e('0x1c2')](_0x56674b,function(_0x368e5a){var _0x146f6e=_0x4b6767(_0x368e5a);return!(0x20001&_0x146f6e[_0x1a4e('0x7b2')])&&_0x33a9c9(_0x146f6e,_0x55ff7e,_0x1adc17,void 0x0);})){var _0x415952={};_0x36c7ec(_0x2327c6,_0x55ff7e,_0x146f6e,_0xf79407,void 0x0,_0x415952);var _0x46923a=_0x415952[_0x1a4e('0x873')];return _0x4e173b(_0x46923a,_0x368e5a[_0x1a4e('0x2354')](_0x146f6e,_0x56674b===_0x420b32?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a07')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a08')])),!0x0;}}return!0x1;}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407))return!0x0;switch(_0x146f6e['kind']){case 0x10e:case 0xc3:return _0x5589a2(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);case 0xcc:switch(_0x146f6e[_0x1a4e('0x237a')]['kind']){case 0x3b:case 0x1b:return _0x5589a2(_0x146f6e[_0x1a4e('0x5d')],_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);}break;case 0xbc:return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x57f435(function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407;return _0x1b06ad(this,function(_0x2c9ec9){switch(_0x2c9ec9[_0x1a4e('0x1bc')]){case 0x0:if(!_0x368e5a['length'](_0x146f6e[_0x1a4e('0x13')]))return[0x2];_0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x13')],_0x2c9ec9[_0x1a4e('0x1bc')]=0x1;case 0x1:if(!(_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')]))return[0x3,0x8];if(_0x1adc17=_0x55ff7e[_0x2327c6],_0x368e5a[_0x1a4e('0x2530')](_0x1adc17))return[0x3,0x7];if(!(_0xf79407=_0x30ce66(_0x54a27b(_0x1adc17),0x2180))||0x20000&_0xf79407[_0x1a4e('0x7b2')])return[0x3,0x7];switch(_0x1adc17[_0x1a4e('0x146b')]){case 0x9f:case 0x9e:case 0x9c:case 0x114:return[0x3,0x2];case 0x113:return[0x3,0x4];}return[0x3,0x6];case 0x2:return[0x4,{'errorNode':_0x1adc17[_0x1a4e('0x2cb')],'innerExpression':void 0x0,'nameType':_0xf79407}];case 0x3:return _0x2c9ec9['sent'](),[0x3,0x7];case 0x4:return[0x4,{'errorNode':_0x1adc17['name'],'innerExpression':_0x1adc17['initializer'],'nameType':_0xf79407,'errorMessage':_0x1655e0(_0x1adc17['name'])?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a09')]:void 0x0}];case 0x5:return _0x2c9ec9[_0x1a4e('0x128a')](),[0x3,0x7];case 0x6:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x1adc17),_0x2c9ec9[_0x1a4e('0x1bc')]=0x7;case 0x7:return _0x2327c6++,[0x3,0x1];case 0x8:return[0x2];}});}(_0x146f6e),_0x2327c6,_0x55ff7e,_0x1adc17);}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);case 0xbb:return function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x3572f9(_0x146f6e))return _0x57f435(_0x5987cd(_0x368e5a,_0x2327c6),_0x146f6e,_0x2327c6,_0x55ff7e);var _0x1adc17=_0x5ab3cb(_0x368e5a,0x3,!0x0);return!!_0x3572f9(_0x1adc17)&&_0x57f435(_0x5987cd(_0x368e5a,_0x2327c6),_0x1adc17,_0x2327c6,_0x55ff7e);}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);case 0x10c:return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x57f435(function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17;return _0x1b06ad(this,function(_0xf79407){switch(_0xf79407['label']){case 0x0:if(!_0x368e5a['length'](_0x146f6e[_0x1a4e('0x13')]))return[0x2];_0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x13')],_0xf79407[_0x1a4e('0x1bc')]=0x1;case 0x1:return _0x2327c6<_0x55ff7e['length']?(_0x1adc17=_0x55ff7e[_0x2327c6],_0x368e5a[_0x1a4e('0x252c')](_0x1adc17)?[0x3,0x3]:[0x4,{'errorNode':_0x1adc17['name'],'innerExpression':_0x1adc17[_0x1a4e('0x236a')],'nameType':_0x300979(_0x368e5a[_0x1a4e('0x2353')](_0x1adc17[_0x1a4e('0x2cb')]))}]):[0x3,0x4];case 0x2:_0xf79407[_0x1a4e('0x128a')](),_0xf79407['label']=0x3;case 0x3:return _0x2327c6++,[0x3,0x1];case 0x4:return[0x2];}});}(_0x146f6e),_0x2327c6,_0x55ff7e,_0x1adc17);}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);case 0xc5:return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x368e5a[_0x1a4e('0x250c')](_0x146f6e[_0x1a4e('0x8f2')]))return!0x1;if(_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x111a')],_0x368e5a[_0x1a4e('0x2575')]))return!0x1;var _0xf79407=_0x8dc831(_0x2327c6);if(!_0xf79407)return!0x1;var _0x2c9ec9=_0x7bcdc7(_0x55ff7e,0x0);if(!_0x368e5a['length'](_0x2c9ec9))return!0x1;var _0x420b32=_0x146f6e['body'],_0x1b06ad=_0x4b6767(_0xf79407),_0x326eae=_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x2c9ec9,_0x4b6767));if(!_0x33a9c9(_0x1b06ad,_0x326eae,_0x1adc17,void 0x0)){var _0x56674b=_0x420b32&&_0x5589a2(_0x420b32,_0x1b06ad,_0x326eae,_0x1adc17,void 0x0);if(_0x56674b)return _0x56674b;var _0x415952={};if(_0x33a9c9(_0x1b06ad,_0x326eae,_0x1adc17,_0x420b32,void 0x0,void 0x0,_0x415952),_0x415952['error'])return _0x55ff7e[_0x1a4e('0xb1b')]&&_0x368e5a['length'](_0x55ff7e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')])&&_0x4e173b(_0x415952[_0x1a4e('0x873')],_0x368e5a[_0x1a4e('0x2354')](_0x55ff7e['symbol']['declarations'][0x0],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a0a')])),!0x0;}return!0x1;}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);}return!0x1;}function _0x57f435(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=!0x1,_0x2c9ec9=_0x146f6e[_0x1a4e('0x7e')]();!_0x2c9ec9[_0x1a4e('0x3c2')];_0x2c9ec9=_0x146f6e['next']()){var _0x420b32=_0x2c9ec9['value'],_0x1b06ad=_0x420b32[_0x1a4e('0x2a0b')],_0x326eae=_0x420b32[_0x1a4e('0x2a0c')],_0x56674b=_0x420b32['nameType'],_0x415952=_0x420b32[_0x1a4e('0x2a0d')],_0x46923a=_0x3d7297(_0x55ff7e,_0x56674b,void 0x0,_0x336c2);if(!(_0x46923a===_0x336c2||0x800000&_0x46923a['flags'])){var _0x88bf03=_0x3d7297(_0x2327c6,_0x56674b,void 0x0,_0x336c2);if(_0x88bf03!==_0x336c2&&_0x46923a!==_0x336c2&&!_0x33a9c9(_0x88bf03,_0x46923a,_0x1adc17,void 0x0))if(_0x326eae&&_0x5589a2(_0x326eae,_0x88bf03,_0x46923a,_0x1adc17,void 0x0))_0xf79407=!0x0;else{var _0x434714={},_0x57b692=_0x326eae?_0x19c942(_0x326eae,0x0,_0x88bf03):_0x88bf03;if(_0x33a9c9(_0x57b692,_0x46923a,_0x1adc17,_0x1b06ad,_0x415952,void 0x0,_0x434714)&&_0x57b692!==_0x88bf03&&_0x33a9c9(_0x88bf03,_0x46923a,_0x1adc17,_0x1b06ad,_0x415952,void 0x0,_0x434714),_0x434714[_0x1a4e('0x873')]){var _0x1ad11f=_0x434714['error'],_0x35bd0a=_0x59e2ba(_0x56674b)?_0x4366e0(_0x56674b):void 0x0,_0x36aa2e=void 0x0!==_0x35bd0a?_0x3c127b(_0x55ff7e,_0x35bd0a):void 0x0,_0x30b3ec=!0x1;if(!_0x36aa2e){var _0x1b487e=_0xc28455(_0x56674b,0x128)&&_0x5c197b(_0x55ff7e,0x1)||_0x5c197b(_0x55ff7e,0x0)||void 0x0;_0x1b487e&&_0x1b487e[_0x1a4e('0x2350')]&&!_0x368e5a[_0x1a4e('0x1674')](_0x1b487e['declaration'])[_0x1a4e('0x261b')]&&(_0x30b3ec=!0x0,_0x4e173b(_0x1ad11f,_0x368e5a[_0x1a4e('0x2354')](_0x1b487e[_0x1a4e('0x2350')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a0e')])));}if(!_0x30b3ec&&(_0x36aa2e&&_0x368e5a[_0x1a4e('0x1e')](_0x36aa2e[_0x1a4e('0x22e5')])||_0x55ff7e[_0x1a4e('0xb1b')]&&_0x368e5a[_0x1a4e('0x1e')](_0x55ff7e['symbol']['declarations']))){var _0x3d8f5d=_0x36aa2e&&_0x368e5a[_0x1a4e('0x1e')](_0x36aa2e[_0x1a4e('0x22e5')])?_0x36aa2e[_0x1a4e('0x22e5')][0x0]:_0x55ff7e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0];_0x368e5a[_0x1a4e('0x1674')](_0x3d8f5d)[_0x1a4e('0x261b')]||_0x4e173b(_0x1ad11f,_0x368e5a[_0x1a4e('0x2354')](_0x3d8f5d,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a0f')],!_0x35bd0a||0x2000&_0x56674b['flags']?_0x5ad709(_0x56674b):_0x368e5a[_0x1a4e('0x24d1')](_0x35bd0a),_0x5ad709(_0x55ff7e)));}}_0xf79407=!0x0;}}}return _0xf79407;}function _0x5987cd(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9;return _0x1b06ad(this,function(_0x420b32){switch(_0x420b32[_0x1a4e('0x1bc')]){case 0x0:if(!(_0x55ff7e=_0x368e5a['length'](_0x146f6e[_0x1a4e('0x2398')])))return[0x2];_0x1adc17=0x0,_0x420b32['label']=0x1;case 0x1:return _0x1adc17<_0x55ff7e?_0x3572f9(_0x2327c6)&&!_0x3c127b(_0x2327c6,''+_0x1adc17)?[0x3,0x3]:(_0xf79407=_0x146f6e['elements'][_0x1adc17],_0x368e5a[_0x1a4e('0x2506')](_0xf79407)?[0x3,0x3]:(_0x2c9ec9=_0x300979(_0x1adc17),[0x4,{'errorNode':_0xf79407,'innerExpression':_0xf79407,'nameType':_0x2c9ec9}])):[0x3,0x4];case 0x2:_0x420b32[_0x1a4e('0x128a')](),_0x420b32[_0x1a4e('0x1bc')]=0x3;case 0x3:return _0x1adc17++,[0x3,0x1];case 0x4:return[0x2];}});}function _0x248456(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x33a9c9(_0x368e5a,_0x146f6e,_0x3d2b4d,_0x2327c6,_0x55ff7e,_0x1adc17);}function _0x221661(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){if(_0x146f6e===_0x2327c6)return-0x1;var _0x1b06ad=_0x34d119(_0x2327c6);if(!_0x47d8b9(_0x2327c6)&&_0x326f82(_0x146f6e)>_0x1b06ad)return 0x0;_0x146f6e['typeParameters']&&_0x146f6e[_0x1a4e('0x23d7')]!==_0x2327c6[_0x1a4e('0x23d7')]&&(_0x146f6e=_0x451876(_0x146f6e,_0x2327c6=_0x32ee91(_0x2327c6),void 0x0,_0x420b32));var _0x326eae=_0x34d119(_0x146f6e),_0x56674b=_0x36a27f(_0x146f6e),_0x415952=_0x36a27f(_0x2327c6);if(_0x56674b&&_0x415952&&_0x326eae!==_0x1b06ad)return 0x0;var _0x46923a=_0x2327c6[_0x1a4e('0x2350')]?_0x2327c6[_0x1a4e('0x2350')][_0x1a4e('0x146b')]:0x0,_0x88bf03=!_0x55ff7e&&_0x43e7af&&0x9c!==_0x46923a&&0x9b!==_0x46923a&&0x9d!==_0x46923a,_0x434714=-0x1,_0x57b692=_0x14fcfd(_0x146f6e);if(_0x57b692&&_0x57b692!==_0x56da3c){var _0x1ad11f=_0x14fcfd(_0x2327c6);if(_0x1ad11f){if(!(_0x1b487e=!_0x88bf03&&_0x420b32(_0x57b692,_0x1ad11f,!0x1)||_0x420b32(_0x1ad11f,_0x57b692,_0xf79407)))return _0xf79407&&_0x2c9ec9(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a10')]),0x0;_0x434714&=_0x1b487e;}}for(var _0x35bd0a=_0x56674b||_0x415952?Math[_0x1a4e('0x74')](_0x326eae,_0x1b06ad):Math['max'](_0x326eae,_0x1b06ad),_0x36aa2e=_0x56674b||_0x415952?_0x35bd0a-0x1:-0x1,_0x30b3ec=0x0;_0x30b3ec<_0x35bd0a;_0x30b3ec++){var _0x1b487e,_0x3d8f5d=_0x30b3ec===_0x36aa2e?_0x13839c(_0x146f6e,_0x30b3ec):_0x4eb09c(_0x146f6e,_0x30b3ec),_0x15a30a=_0x30b3ec===_0x36aa2e?_0x13839c(_0x2327c6,_0x30b3ec):_0x4eb09c(_0x2327c6,_0x30b3ec),_0x1369b6=_0x55ff7e?void 0x0:_0x8dc831(_0x2f423c(_0x3d8f5d)),_0x7151b1=_0x55ff7e?void 0x0:_0x8dc831(_0x2f423c(_0x15a30a));if(!(_0x1b487e=_0x1369b6&&_0x7151b1&&!_0x467bf3(_0x1369b6)&&!_0x467bf3(_0x7151b1)&&(0x18000&_0x30e928(_0x3d8f5d))==(0x18000&_0x30e928(_0x15a30a))?_0x221661(_0x7151b1,_0x1369b6,_0x88bf03?0x2:0x1,!0x1,_0xf79407,_0x2c9ec9,_0x420b32):!_0x55ff7e&&!_0x88bf03&&_0x420b32(_0x3d8f5d,_0x15a30a,!0x1)||_0x420b32(_0x15a30a,_0x3d8f5d,_0xf79407)))return _0xf79407&&_0x2c9ec9(_0x368e5a['Diagnostics']['Types_of_parameters_0_and_1_are_incompatible'],_0x368e5a['unescapeLeadingUnderscores'](_0x478ae0(_0x146f6e,_0x30b3ec)),_0x368e5a[_0x1a4e('0x24d1')](_0x478ae0(_0x2327c6,_0x30b3ec))),0x0;_0x434714&=_0x1b487e;}if(!_0x1adc17){var _0x188821=_0x2327c6[_0x1a4e('0x2350')]&&_0x4cff90(_0x2327c6[_0x1a4e('0x2350')])?_0xfba9bc(_0x2327c6[_0x1a4e('0x2350')][_0x1a4e('0xb1b')]):_0x4b6767(_0x2327c6);if(_0x188821===_0x56da3c)return _0x434714;var _0x362306=_0x146f6e[_0x1a4e('0x2350')]&&_0x4cff90(_0x146f6e[_0x1a4e('0x2350')])?_0xfba9bc(_0x146f6e['declaration']['symbol']):_0x4b6767(_0x146f6e),_0x5934d9=_0x13a441(_0x2327c6);if(_0x5934d9){var _0x239ab2=_0x13a441(_0x146f6e);if(_0x239ab2)_0x434714&=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){if(_0x146f6e[_0x1a4e('0x146b')]!==_0x2327c6[_0x1a4e('0x146b')])return _0xf79407&&(_0x2c9ec9(_0x368e5a['Diagnostics'][_0x1a4e('0x2a11')]),_0x2c9ec9(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a12')],_0xc1909(_0x146f6e),_0xc1909(_0x2327c6))),0x0;if(0x1===_0x146f6e['kind']){var _0x1b06ad=_0x2327c6,_0x326eae=_0x146f6e[_0x1a4e('0x29d3')]-(_0x368e5a[_0x1a4e('0x244d')](_0x55ff7e)?0x1:0x0),_0x56674b=_0x1b06ad['parameterIndex']-(_0x368e5a[_0x1a4e('0x244d')](_0x1adc17)?0x1:0x0);if(_0x326eae!==_0x56674b)return _0xf79407&&(_0x2c9ec9(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a13')],_0x146f6e['parameterName'],_0x1b06ad[_0x1a4e('0x2667')]),_0x2c9ec9(_0x368e5a['Diagnostics'][_0x1a4e('0x2a12')],_0xc1909(_0x146f6e),_0xc1909(_0x2327c6))),0x0;}var _0x415952=_0x420b32(_0x146f6e[_0x1a4e('0x40')],_0x2327c6[_0x1a4e('0x40')],_0xf79407);return 0x0===_0x415952&&_0xf79407&&_0x2c9ec9(_0x368e5a['Diagnostics'][_0x1a4e('0x2a12')],_0xc1909(_0x146f6e),_0xc1909(_0x2327c6)),_0x415952;}(_0x239ab2,_0x5934d9,_0x146f6e['declaration'],_0x2327c6[_0x1a4e('0x2350')],_0xf79407,_0x2c9ec9,_0x420b32);else if(_0x368e5a[_0x1a4e('0x2393')](_0x5934d9))return _0xf79407&&_0x2c9ec9(_0x368e5a[_0x1a4e('0x167d')]['Signature_0_must_be_a_type_predicate'],_0x2a8922(_0x146f6e)),0x0;}else _0x434714&=0x1===_0x55ff7e&&_0x420b32(_0x188821,_0x362306,!0x1)||_0x420b32(_0x362306,_0x188821,_0xf79407);}return _0x434714;}function _0x1ffb8b(_0x368e5a,_0x146f6e){var _0x2327c6=_0x10a62e(_0x368e5a),_0x55ff7e=_0x10a62e(_0x146f6e),_0x1adc17=_0x4b6767(_0x2327c6),_0xf79407=_0x4b6767(_0x55ff7e);return!(_0xf79407!==_0x56da3c&&!_0x45728a(_0xf79407,_0x1adc17,_0x2dd879)&&!_0x45728a(_0x1adc17,_0xf79407,_0x2dd879))&&0x0!==_0x221661(_0x2327c6,_0x55ff7e,0x0,!0x0,!0x1,void 0x0,_0x3a6d9b);}function _0x3d48fd(_0x146f6e){return 0x80000&_0x146f6e[_0x1a4e('0x7b2')]?0x0===(_0x2327c6=_0x4a724b(_0x146f6e))['properties'][_0x1a4e('0x1e')]&&0x0===_0x2327c6[_0x1a4e('0x2887')][_0x1a4e('0x1e')]&&0x0===_0x2327c6['constructSignatures'][_0x1a4e('0x1e')]&&!_0x2327c6[_0x1a4e('0x28bb')]&&!_0x2327c6[_0x1a4e('0x28b8')]:!!(0x4000000&_0x146f6e[_0x1a4e('0x7b2')])||(0x100000&_0x146f6e['flags']?_0x368e5a['some'](_0x146f6e[_0x1a4e('0x2380')],_0x3d48fd):!!(0x200000&_0x146f6e[_0x1a4e('0x7b2')])&&_0x368e5a['every'](_0x146f6e['types'],_0x3d48fd));var _0x2327c6;}function _0x2197b5(_0x146f6e){return!!(0x10&_0x368e5a['getObjectFlags'](_0x146f6e))&&_0x3d48fd(_0x146f6e);}function _0x288243(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e===_0x2327c6)return!0x0;var _0x1adc17=_0x56674b(_0x146f6e)+','+_0x56674b(_0x2327c6),_0xf79407=_0x2b0fd7[_0x1a4e('0x179')](_0x1adc17);if(void 0x0!==_0xf79407&&(0x2!==_0xf79407||!_0x55ff7e))return 0x1===_0xf79407;if(!(_0x146f6e['escapedName']===_0x2327c6[_0x1a4e('0x22e8')]&&0x100&_0x146f6e[_0x1a4e('0x7b2')]&&0x100&_0x2327c6[_0x1a4e('0x7b2')]))return _0x2b0fd7[_0x1a4e('0x17a')](_0x1adc17,0x3),!0x1;for(var _0x2c9ec9=_0x38797c(_0x2327c6),_0x420b32=0x0,_0x1b06ad=_0x41c062(_0x38797c(_0x146f6e));_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];if(0x8&_0x326eae[_0x1a4e('0x7b2')]){var _0x415952=_0x3c127b(_0x2c9ec9,_0x326eae[_0x1a4e('0x22e8')]);if(!(_0x415952&&0x8&_0x415952[_0x1a4e('0x7b2')]))return _0x55ff7e?(_0x55ff7e(_0x368e5a[_0x1a4e('0x167d')]['Property_0_is_missing_in_type_1'],_0x368e5a[_0x1a4e('0x24d2')](_0x326eae),_0x5ad709(_0x287d7b(_0x2327c6),void 0x0,0x40)),_0x2b0fd7[_0x1a4e('0x17a')](_0x1adc17,0x3)):_0x2b0fd7['set'](_0x1adc17,0x2),!0x1;}}return _0x2b0fd7['set'](_0x1adc17,0x1),!0x0;}function _0x102f4f(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x7b2')],_0xf79407=_0x146f6e[_0x1a4e('0x7b2')];if(0x3&_0xf79407||0x20000&_0x1adc17||_0x368e5a===_0x5a2bb4)return!0x0;if(0x20000&_0xf79407)return!0x1;if(0x84&_0x1adc17&&0x4&_0xf79407)return!0x0;if(0x80&_0x1adc17&&0x400&_0x1adc17&&0x80&_0xf79407&&!(0x400&_0xf79407)&&_0x368e5a[_0x1a4e('0x255')]===_0x146f6e[_0x1a4e('0x255')])return!0x0;if(0x128&_0x1adc17&&0x8&_0xf79407)return!0x0;if(0x100&_0x1adc17&&0x400&_0x1adc17&&0x100&_0xf79407&&!(0x400&_0xf79407)&&_0x368e5a[_0x1a4e('0x255')]===_0x146f6e[_0x1a4e('0x255')])return!0x0;if(0x840&_0x1adc17&&0x40&_0xf79407)return!0x0;if(0x210&_0x1adc17&&0x10&_0xf79407)return!0x0;if(0x3000&_0x1adc17&&0x1000&_0xf79407)return!0x0;if(0x20&_0x1adc17&&0x20&_0xf79407&&_0x288243(_0x368e5a[_0x1a4e('0xb1b')],_0x146f6e[_0x1a4e('0xb1b')],_0x55ff7e))return!0x0;if(0x400&_0x1adc17&&0x400&_0xf79407){if(0x100000&_0x1adc17&&0x100000&_0xf79407&&_0x288243(_0x368e5a['symbol'],_0x146f6e[_0x1a4e('0xb1b')],_0x55ff7e))return!0x0;if(0xb80&_0x1adc17&&0xb80&_0xf79407&&_0x368e5a[_0x1a4e('0x255')]===_0x146f6e[_0x1a4e('0x255')]&&_0x288243(_0x38393e(_0x368e5a[_0x1a4e('0xb1b')]),_0x38393e(_0x146f6e[_0x1a4e('0xb1b')]),_0x55ff7e))return!0x0;}if(0x8000&_0x1adc17&&(!_0x4f3c04||0xc000&_0xf79407))return!0x0;if(0x10000&_0x1adc17&&(!_0x4f3c04||0x10000&_0xf79407))return!0x0;if(0x80000&_0x1adc17&&0x4000000&_0xf79407)return!0x0;if(0x2000&_0x1adc17||0x2000&_0xf79407)return!0x1;if(_0x2327c6===_0x2dd879||_0x2327c6===_0x33e962||_0x2327c6===_0x3d2b4d){if(0x1&_0x1adc17)return!0x0;if(0x108&_0x1adc17&&!(0x400&_0x1adc17)&&(0x20&_0xf79407||0x100&_0xf79407&&0x400&_0xf79407))return!0x0;}return!0x1;}function _0x45728a(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x37edbe(_0x368e5a)&&(_0x368e5a=_0x368e5a[_0x1a4e('0x28ed')]),_0x37edbe(_0x146f6e)&&(_0x146f6e=_0x146f6e[_0x1a4e('0x28ed')]),_0x368e5a===_0x146f6e||_0x2327c6===_0x3d2b4d&&!(0x20000&_0x146f6e[_0x1a4e('0x7b2')])&&_0x102f4f(_0x146f6e,_0x368e5a,_0x2327c6)||_0x2327c6!==_0xa95637&&_0x102f4f(_0x368e5a,_0x146f6e,_0x2327c6))return!0x0;if(0x80000&_0x368e5a[_0x1a4e('0x7b2')]&&0x80000&_0x146f6e[_0x1a4e('0x7b2')]){var _0x55ff7e=_0x2327c6[_0x1a4e('0x179')](_0x3ad895(_0x368e5a,_0x146f6e,_0x2327c6));if(void 0x0!==_0x55ff7e)return 0x1===_0x55ff7e;}return!!(0x3fc0000&_0x368e5a[_0x1a4e('0x7b2')]||0x3fc0000&_0x146f6e[_0x1a4e('0x7b2')])&&_0x33a9c9(_0x368e5a,_0x146f6e,_0x2327c6,void 0x0);}function _0x1ae080(_0x146f6e,_0x2327c6,_0x55ff7e){return 0x1000&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&!(_0x3b13f2(_0x2327c6[_0x1a4e('0x22e8')])||_0x55ff7e);}function _0x33a9c9(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae,_0x56674b,_0x415952,_0x46923a,_0x88bf03,_0x434714=0x0,_0x57b692=0x0,_0x1ad11f=0x0,_0x35bd0a=!0x1,_0x36aa2e=!0x1;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1adc17!==_0xa95637||!_0xf79407,_0x1a4e('0x2a14'));var _0x30b3ec=_0x5934d9(_0x2327c6,_0x55ff7e,!!_0xf79407,_0x2c9ec9);if(_0x35bd0a)_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a15')],_0x5ad709(_0x2327c6),_0x5ad709(_0x55ff7e));else if(_0x326eae){if(_0x420b32){var _0x1b487e=_0x420b32();_0x1b487e&&(_0x326eae=_0x368e5a[_0x1a4e('0x2587')](_0x1b487e,_0x326eae));}var _0x3d8f5d=void 0x0;if(_0x2c9ec9&&_0xf79407&&!_0x30b3ec&&_0x2327c6[_0x1a4e('0xb1b')]){var _0x15a30a=_0xdba731(_0x2327c6[_0x1a4e('0xb1b')]);if(_0x15a30a[_0x1a4e('0x2983')]&&!_0x368e5a[_0x1a4e('0x2a16')](_0x15a30a['originatingImport'])&&_0x33a9c9(_0x38797c(_0x15a30a[_0x1a4e('0xd95')]),_0x55ff7e,_0x1adc17,void 0x0)){var _0x1369b6=_0x368e5a[_0x1a4e('0x2354')](_0x15a30a[_0x1a4e('0x2983')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a17')]);_0x3d8f5d=_0x368e5a[_0x1a4e('0x252')](_0x3d8f5d,_0x1369b6);}}var _0x7151b1=_0x368e5a[_0x1a4e('0x294d')](_0xf79407,_0x326eae,_0x3d8f5d);_0x56674b&&_0x4e173b[_0x1a4e('0x8b')](void 0x0,[_0x7151b1][_0x1a4e('0x9a')](_0x56674b)),_0x1b06ad&&(_0x1b06ad['error']=_0x7151b1),_0x125480[_0x1a4e('0x177')](_0x7151b1);}return 0x0!==_0x30b3ec;function _0x188821(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0xf79407),_0x326eae=_0x368e5a[_0x1a4e('0x2586')](_0x326eae,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9);}function _0x362306(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=_0x5ad709(_0x2327c6),_0x2c9ec9=_0x5ad709(_0x55ff7e);_0xf79407===_0x2c9ec9&&(_0xf79407=_0x5ad709(_0x2327c6,void 0x0,0x40),_0x2c9ec9=_0x5ad709(_0x55ff7e,void 0x0,0x40)),_0x146f6e||(_0x146f6e=_0x1adc17===_0x3d2b4d?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a18')]:_0xf79407===_0x2c9ec9?_0x368e5a['Diagnostics'][_0x1a4e('0x2a19')]:_0x368e5a[_0x1a4e('0x167d')]['Type_0_is_not_assignable_to_type_1']),_0x188821(_0x146f6e,_0xf79407,_0x2c9ec9);}function _0x5934d9(_0x2327c6,_0x55ff7e,_0x2c9ec9,_0x420b32,_0x1b06ad){if(void 0x0===_0x2c9ec9&&(_0x2c9ec9=!0x1),_0x37edbe(_0x2327c6)&&(_0x2327c6=_0x2327c6[_0x1a4e('0x28ed')]),_0x37edbe(_0x55ff7e)&&(_0x55ff7e=_0x55ff7e[_0x1a4e('0x28ed')]),0x2000000&_0x2327c6[_0x1a4e('0x7b2')]&&(_0x2327c6=_0x1adc17===_0x33e962?_0x2327c6[_0x1a4e('0x28b1')]:_0x2327c6['substitute']),0x2000000&_0x55ff7e[_0x1a4e('0x7b2')]&&(_0x55ff7e=_0x55ff7e[_0x1a4e('0x28b1')]),0x800000&_0x2327c6[_0x1a4e('0x7b2')]&&(_0x2327c6=_0x2915f5(_0x2327c6)),0x800000&_0x55ff7e[_0x1a4e('0x7b2')]&&(_0x55ff7e=_0x2915f5(_0x55ff7e)),0x100000&_0x55ff7e['flags']&&0x80000&_0x2327c6['flags']&&_0x55ff7e[_0x1a4e('0x2380')][_0x1a4e('0x1e')]<=0x3&&_0x1a74b9(_0x55ff7e,0x18000)){var _0x56674b=_0xaf5842(_0x55ff7e,-0x18001);0x120000&_0x56674b[_0x1a4e('0x7b2')]||(_0x55ff7e=_0x56674b);}if(_0x2327c6===_0x55ff7e)return-0x1;if(_0x1adc17===_0xa95637)return function(_0x368e5a,_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x7b2')]&_0x146f6e[_0x1a4e('0x7b2')];return 0x80000&_0x55ff7e||0x800000&_0x55ff7e||0x1000000&_0x55ff7e||0x400000&_0x55ff7e||0x2000000&_0x55ff7e?_0x547b08(_0x368e5a,_0x146f6e,!0x1,!0x1):0x300000&_0x55ff7e&&(_0x2327c6=_0x1b8154(_0x368e5a,_0x146f6e))&&(_0x2327c6&=_0x1b8154(_0x146f6e,_0x368e5a))?_0x2327c6:0x0;}(_0x2327c6,_0x55ff7e);if(_0x1adc17===_0x3d2b4d&&!(0x20000&_0x55ff7e['flags'])&&_0x102f4f(_0x55ff7e,_0x2327c6,_0x1adc17)||_0x102f4f(_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9?_0x188821:void 0x0))return-0x1;var _0x415952=!!(0x1000&_0x368e5a[_0x1a4e('0x249a')](_0x2327c6));if(_0x41f2fc(_0x2327c6)&&0x8000&_0x368e5a['getObjectFlags'](_0x2327c6)){var _0x46923a=0x100000&_0x55ff7e[_0x1a4e('0x7b2')]?_0x3c5414(_0x2327c6,_0x55ff7e):void 0x0;if(function _0x146f6e(_0x2327c6,_0x55ff7e,_0x2c9ec9,_0x420b32){if(!_0x59c9de&&0x4000&_0x368e5a[_0x1a4e('0x249a')](_0x55ff7e))return!0x1;if(_0x5d94c3(_0x55ff7e)){var _0x1b06ad=!!(0x1000&_0x368e5a[_0x1a4e('0x249a')](_0x2327c6));if((_0x1adc17===_0x2dd879||_0x1adc17===_0x33e962||_0x1adc17===_0x3d2b4d)&&(_0x5a8143(_0x23601b,_0x55ff7e)||!_0x1b06ad&&_0x3d48fd(_0x55ff7e)))return!0x1;if(_0x2c9ec9)return _0x146f6e(_0x2327c6,_0x2c9ec9,void 0x0,_0x420b32);for(var _0x326eae=function(_0x146f6e){if(function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2340')]&&_0x146f6e[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x2340')][_0x1a4e('0x11c')]===_0x146f6e['valueDeclaration'];}(_0x146f6e,_0x2327c6[_0x1a4e('0xb1b')])&&!_0x4fd751(_0x55ff7e,_0x146f6e['escapedName'],_0x1b06ad)){if(_0x420b32){var _0x1adc17=_0x5056ee(_0x55ff7e,_0x5d94c3);if(!_0xf79407)return{'value':_0x368e5a['Debug'][_0x1a4e('0x1709')]()};if(_0x368e5a[_0x1a4e('0x2a1a')](_0xf79407)||_0x368e5a[_0x1a4e('0x256e')](_0xf79407)||_0x368e5a['isJsxOpeningLikeElement'](_0xf79407[_0x1a4e('0x11c')]))_0x188821(_0x368e5a['Diagnostics'][_0x1a4e('0x29f0')],_0x22aa27(_0x146f6e),_0x5ad709(_0x1adc17));else{var _0x2c9ec9=_0x2327c6['symbol']&&_0x368e5a[_0x1a4e('0x1721')](_0x2327c6[_0x1a4e('0xb1b')]['declarations']),_0x326eae=void 0x0;if(_0x146f6e[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x283d')](_0x146f6e['valueDeclaration'],function(_0x368e5a){return _0x368e5a===_0x2c9ec9;})){var _0x56674b=_0x146f6e['valueDeclaration'];_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2a1b')](_0x56674b,_0x368e5a['isObjectLiteralElementLike']),_0xf79407=_0x56674b;var _0x415952=_0x56674b[_0x1a4e('0x2cb')];_0x368e5a['isIdentifier'](_0x415952)&&(_0x326eae=_0x43a32e(_0x415952,_0x1adc17));}void 0x0!==_0x326eae?_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a1c')],_0x22aa27(_0x146f6e),_0x5ad709(_0x1adc17),_0x326eae):_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a1d')],_0x22aa27(_0x146f6e),_0x5ad709(_0x1adc17));}}return{'value':!0x0};}},_0x56674b=0x0,_0x415952=_0x192d7d(_0x2327c6);_0x56674b<_0x415952[_0x1a4e('0x1e')];_0x56674b++){var _0x46923a=_0x415952[_0x56674b],_0x88bf03=_0x326eae(_0x46923a);if('object'==typeof _0x88bf03)return _0x88bf03[_0x1a4e('0x255')];}}return!0x1;}(_0x2327c6,_0x55ff7e,_0x46923a,_0x2c9ec9))return _0x2c9ec9&&_0x362306(_0x420b32,_0x2327c6,_0x55ff7e),0x0;(function(_0x368e5a){if(!(0x300000&_0x368e5a['flags']))return!0x1;for(var _0x146f6e=!0x1,_0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2380')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++)if(!(0x18000&_0x55ff7e[_0x2327c6]['flags'])){if(_0x146f6e)return!0x0;_0x146f6e=!0x0;}return!0x1;}(_0x55ff7e)&&!_0x46923a&&(_0x2327c6=_0x262aab(_0x2327c6)));}if(_0x1adc17!==_0x3d2b4d&&!_0x1b06ad&&0x29fffc&_0x2327c6[_0x1a4e('0x7b2')]&&_0x2327c6!==_0x23601b&&0x280000&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x21ade(_0x55ff7e)&&(_0x41c062(_0x2327c6)[_0x1a4e('0x1e')]>0x0||_0x452f7e(_0x2327c6))&&!function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x41c062(_0x368e5a);_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0x4fd751(_0x146f6e,_0xf79407[_0x1a4e('0x22e8')],_0x2327c6))return!0x0;}return!0x1;}(_0x2327c6,_0x55ff7e,_0x415952)){if(_0x2c9ec9){var _0x88bf03=_0x7bcdc7(_0x2327c6,0x0),_0x434714=_0x7bcdc7(_0x2327c6,0x1);_0x88bf03[_0x1a4e('0x1e')]>0x0&&_0x5934d9(_0x4b6767(_0x88bf03[0x0]),_0x55ff7e,!0x1)||_0x434714['length']>0x0&&_0x5934d9(_0x4b6767(_0x434714[0x0]),_0x55ff7e,!0x1)?_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a1e')],_0x5ad709(_0x2327c6),_0x5ad709(_0x55ff7e)):_0x188821(_0x368e5a[_0x1a4e('0x167d')]['Type_0_has_no_properties_in_common_with_type_1'],_0x5ad709(_0x2327c6),_0x5ad709(_0x55ff7e));}return 0x0;}var _0x57b692=0x0,_0x1ad11f=_0x326eae,_0x35bd0a=!!_0x1b06ad;if(0x100000&_0x2327c6[_0x1a4e('0x7b2')]?_0x57b692=_0x1adc17===_0x3d2b4d?_0x4f3c04(_0x2327c6,_0x55ff7e,_0x2c9ec9&&!(0x1fffc&_0x2327c6['flags'])):function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=-0x1,_0x1adc17=_0x368e5a[_0x1a4e('0x2380')],_0xf79407=0x0,_0x2c9ec9=_0x1adc17;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x5934d9(_0x420b32,_0x146f6e,_0x2327c6);if(!_0x1b06ad)return 0x0;_0x55ff7e&=_0x1b06ad;}return _0x55ff7e;}(_0x2327c6,_0x55ff7e,_0x2c9ec9&&!(0x1fffc&_0x2327c6[_0x1a4e('0x7b2')])):(0x100000&_0x55ff7e[_0x1a4e('0x7b2')]?_0x57b692=_0x2918ee(_0x2327c6,_0x55ff7e,_0x2c9ec9&&!(0x1fffc&_0x2327c6[_0x1a4e('0x7b2')])&&!(0x1fffc&_0x55ff7e[_0x1a4e('0x7b2')])):0x200000&_0x55ff7e[_0x1a4e('0x7b2')]?(_0x35bd0a=!0x0,_0x57b692=function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=-0x1,_0x1adc17=_0x146f6e[_0x1a4e('0x2380')],_0xf79407=0x0,_0x2c9ec9=_0x1adc17;_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x5934d9(_0x368e5a,_0x420b32,_0x2327c6,void 0x0,!0x0);if(!_0x1b06ad)return 0x0;_0x55ff7e&=_0x1b06ad;}return _0x55ff7e;}(_0x2327c6,_0x55ff7e,_0x2c9ec9)):0x200000&_0x2327c6['flags']&&(_0x57b692=_0x4f3c04(_0x2327c6,_0x55ff7e,!0x1)),!_0x57b692&&(0x3fc0000&_0x2327c6[_0x1a4e('0x7b2')]||0x3fc0000&_0x55ff7e[_0x1a4e('0x7b2')])&&(_0x57b692=_0x547b08(_0x2327c6,_0x55ff7e,_0x2c9ec9,_0x35bd0a))&&(_0x326eae=_0x1ad11f)),!_0x57b692&&0x200000&_0x2327c6[_0x1a4e('0x7b2')]){var _0x30b3ec=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e,_0x1adc17=!0x1,_0xf79407=0x0,_0x2c9ec9=_0x146f6e[_0x1a4e('0x2380')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++)if(0x3c40000&(_0x56674b=_0x2c9ec9[_0xf79407])[_0x1a4e('0x7b2')]){for(var _0x420b32=_0x19b1f0(_0x56674b);_0x420b32&&0x1440000&_0x420b32[_0x1a4e('0x7b2')];)_0x420b32=_0x19b1f0(_0x420b32);if(_0x420b32){if(!(0x100000&_0x420b32[_0x1a4e('0x7b2')]))return;_0x55ff7e=_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x420b32);}}else 0x401fbfc&_0x56674b['flags']&&(_0x1adc17=!0x0);if(_0x55ff7e&&(_0x2327c6||_0x1adc17)){if(_0x1adc17)for(var _0x1b06ad=0x0,_0x326eae=_0x146f6e[_0x1a4e('0x2380')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b;0x401fbfc&(_0x56674b=_0x326eae[_0x1b06ad])[_0x1a4e('0x7b2')]&&(_0x55ff7e=_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x56674b));}return _0xffdb94(_0x55ff7e);}}(_0x2327c6,!!(0x100000&_0x55ff7e[_0x1a4e('0x7b2')]));_0x30b3ec&&(_0x57b692=_0x5934d9(_0x30b3ec,_0x55ff7e,_0x2c9ec9,void 0x0,_0x35bd0a))&&(_0x326eae=_0x1ad11f);}if(!_0x57b692&&_0x2c9ec9){var _0x1b487e=_0x36aa2e;if(_0x36aa2e=!0x1,0x80000&_0x2327c6[_0x1a4e('0x7b2')]&&0x1fffc&_0x55ff7e[_0x1a4e('0x7b2')])!function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x5ad709(_0x146f6e),_0x1adc17=_0x5ad709(_0x2327c6);(_0x5cc0d3===_0x146f6e&&_0x1d9562===_0x2327c6||_0x495889===_0x146f6e&&_0x4a492a===_0x2327c6||_0x1bcdfd===_0x146f6e&&_0x4b156c===_0x2327c6||_0x310745(!0x1)===_0x146f6e&&_0x12ad50===_0x2327c6)&&_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a1f')],_0x1adc17,_0x55ff7e);}(_0x2327c6,_0x55ff7e);else if(_0x2327c6[_0x1a4e('0xb1b')]&&0x80000&_0x2327c6[_0x1a4e('0x7b2')]&&_0x23601b===_0x2327c6)_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a20')]);else if(_0x415952&&0x200000&_0x55ff7e[_0x1a4e('0x7b2')]){var _0x3d8f5d=_0x55ff7e['types'],_0x15a30a=_0x1f120b(_0x146f6e[_0x1a4e('0x2a21')],_0xf79407),_0x1369b6=_0x1f120b(_0x146f6e[_0x1a4e('0x2a22')],_0xf79407);if(_0x15a30a!==_0x336c2&&_0x1369b6!==_0x336c2&&(_0x368e5a[_0x1a4e('0x2ac')](_0x3d8f5d,_0x15a30a)||_0x368e5a['contains'](_0x3d8f5d,_0x1369b6)))return _0x57b692;}if(!_0x420b32&&_0x1b487e)return _0x57b692;_0x362306(_0x420b32,_0x2327c6,_0x55ff7e);}return _0x57b692;}function _0x1b8154(_0x368e5a,_0x146f6e){for(var _0x2327c6=-0x1,_0x55ff7e=0x0,_0x1adc17=_0x368e5a[_0x1a4e('0x2380')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x2918ee(_0x1adc17[_0x55ff7e],_0x146f6e,!0x1);if(!_0xf79407)return 0x0;_0x2327c6&=_0xf79407;}return _0x2327c6;}function _0x2918ee(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x2380')];if(0x100000&_0x2327c6[_0x1a4e('0x7b2')]&&_0xa46926(_0x1adc17,_0x146f6e))return-0x1;for(var _0xf79407=0x0,_0x2c9ec9=_0x1adc17;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x5934d9(_0x146f6e,_0x2c9ec9[_0xf79407],!0x1);if(_0x420b32)return _0x420b32;}return _0x55ff7e&&_0x5934d9(_0x146f6e,_0x3c5414(_0x146f6e,_0x2327c6)||function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x249a')](_0x146f6e);if(0x14&_0x55ff7e&&0x100000&_0x2327c6[_0x1a4e('0x7b2')])return _0x368e5a['find'](_0x2327c6[_0x1a4e('0x2380')],function(_0x2327c6){if(0x80000&_0x2327c6[_0x1a4e('0x7b2')]){var _0x1adc17=_0x55ff7e&_0x368e5a[_0x1a4e('0x249a')](_0x2327c6);if(0x4&_0x1adc17)return _0x146f6e[_0x1a4e('0xd95')]===_0x2327c6[_0x1a4e('0xd95')];if(0x10&_0x1adc17)return!!_0x146f6e['aliasSymbol']&&_0x146f6e['aliasSymbol']===_0x2327c6['aliasSymbol'];}return!0x1;});}(_0x146f6e,_0x2327c6)||function(_0x146f6e,_0x2327c6){if(0x80&_0x368e5a['getObjectFlags'](_0x146f6e)&&_0x16dc76(_0x2327c6,_0x43afe0))return _0x368e5a[_0x1a4e('0x1c7')](_0x2327c6[_0x1a4e('0x2380')],function(_0x368e5a){return!_0x43afe0(_0x368e5a);});}(_0x146f6e,_0x2327c6)||function(_0x146f6e,_0x2327c6){var _0x55ff7e=0x0;if(_0x7bcdc7(_0x146f6e,_0x55ff7e)['length']>0x0||_0x7bcdc7(_0x146f6e,_0x55ff7e=0x1)[_0x1a4e('0x1e')]>0x0)return _0x368e5a[_0x1a4e('0x1c7')](_0x2327c6[_0x1a4e('0x2380')],function(_0x368e5a){return _0x7bcdc7(_0x368e5a,_0x55ff7e)['length']>0x0;});}(_0x146f6e,_0x2327c6)||function(_0x146f6e,_0x2327c6){for(var _0x55ff7e,_0x1adc17=0x0,_0xf79407=0x0,_0x2c9ec9=_0x2327c6[_0x1a4e('0x2380')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0xffdb94([_0x332557(_0x146f6e),_0x332557(_0x420b32)]);if(0x400000&_0x1b06ad[_0x1a4e('0x7b2')])_0x55ff7e=_0x420b32,_0x1adc17=0x1/0x0;else if(0x100000&_0x1b06ad[_0x1a4e('0x7b2')]){var _0x326eae=_0x368e5a[_0x1a4e('0x1e')](_0x1b06ad[_0x1a4e('0x2380')]);_0x326eae>=_0x1adc17&&(_0x55ff7e=_0x420b32,_0x1adc17=_0x326eae);}else!(0x20000&_0x1b06ad[_0x1a4e('0x7b2')])&&0x1>=_0x1adc17&&(_0x55ff7e=_0x420b32,_0x1adc17=0x1);}return _0x55ff7e;}(_0x146f6e,_0x2327c6)||_0x1adc17[_0x1adc17[_0x1a4e('0x1e')]-0x1],!0x0),0x0;}function _0x3c5414(_0x146f6e,_0x2327c6){if(0x100000&_0x2327c6[_0x1a4e('0x7b2')]){var _0x55ff7e=_0x192d7d(_0x146f6e);if(_0x55ff7e){var _0x1adc17=function(_0x368e5a,_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0x5422af(_0x146f6e,_0xf79407[_0x1a4e('0x22e8')])){if(_0x2327c6){_0x2327c6[_0x1a4e('0x46')](_0xf79407);continue;}_0x2327c6=[_0xf79407];}}return _0x2327c6;}(_0x55ff7e,_0x2327c6);if(_0x1adc17)return _0x58a997(_0x2327c6,_0x368e5a[_0x1a4e('0x21')](_0x1adc17,function(_0x368e5a){return[function(){return _0x38797c(_0x368e5a);},_0x368e5a[_0x1a4e('0x22e8')]];}),_0x5934d9);}}}function _0x4f3c04(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2380')];if(0x100000&_0x368e5a[_0x1a4e('0x7b2')]&&_0xa46926(_0x55ff7e,_0x146f6e))return-0x1;for(var _0x1adc17=_0x55ff7e[_0x1a4e('0x1e')],_0xf79407=0x0;_0xf79407<_0x1adc17;_0xf79407++){var _0x2c9ec9=_0x5934d9(_0x55ff7e[_0xf79407],_0x146f6e,_0x2327c6&&_0xf79407===_0x1adc17-0x1);if(_0x2c9ec9)return _0x2c9ec9;}return 0x0;}function _0x43e7af(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){if(void 0x0===_0x146f6e&&(_0x146f6e=_0x368e5a[_0x1a4e('0x1700')]),void 0x0===_0x2327c6&&(_0x2327c6=_0x368e5a[_0x1a4e('0x1700')]),void 0x0===_0x55ff7e&&(_0x55ff7e=_0x368e5a[_0x1a4e('0x1700')]),_0x146f6e[_0x1a4e('0x1e')]!==_0x2327c6['length']&&_0x1adc17===_0xa95637)return 0x0;for(var _0x2c9ec9=_0x146f6e['length']<=_0x2327c6[_0x1a4e('0x1e')]?_0x146f6e[_0x1a4e('0x1e')]:_0x2327c6[_0x1a4e('0x1e')],_0x420b32=-0x1,_0x1b06ad=0x0;_0x1b06ad<_0x2c9ec9;_0x1b06ad++){var _0x326eae=_0x1b06ad<_0x55ff7e['length']?_0x55ff7e[_0x1b06ad]:0x1;if(0x4!==_0x326eae){var _0x56674b=_0x146f6e[_0x1b06ad],_0x415952=_0x2327c6[_0x1b06ad],_0x46923a=-0x1;if(0x1===_0x326eae?_0x46923a=_0x5934d9(_0x56674b,_0x415952,_0xf79407):0x2===_0x326eae?_0x46923a=_0x5934d9(_0x415952,_0x56674b,_0xf79407):0x3===_0x326eae?(_0x46923a=_0x5934d9(_0x415952,_0x56674b,!0x1))||(_0x46923a=_0x5934d9(_0x56674b,_0x415952,_0xf79407)):(_0x46923a=_0x5934d9(_0x56674b,_0x415952,_0xf79407))&&(_0x46923a&=_0x5934d9(_0x415952,_0x56674b,_0xf79407)),!_0x46923a)return 0x0;_0x420b32&=_0x46923a;}}return _0x420b32;}function _0x547b08(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){if(_0x35bd0a)return 0x0;var _0x420b32=_0x3ad895(_0x146f6e,_0x2327c6,_0x1adc17),_0x1b06ad=_0x1adc17['get'](_0x420b32);if(void 0x0!==_0x1b06ad&&(!_0x55ff7e||0x2!==_0x1b06ad))return 0x1===_0x1b06ad?-0x1:0x0;if(_0x415952){for(var _0x30b3ec=0x0;_0x30b3ec<_0x434714;_0x30b3ec++)if(_0x420b32===_0x415952[_0x30b3ec])return 0x1;if(0x64===_0x57b692)return _0x35bd0a=!0x0,0x0;}else _0x415952=[],_0x46923a=[],_0x88bf03=[];var _0x1b487e=_0x434714;_0x415952[_0x434714]=_0x420b32,_0x434714++,_0x46923a[_0x57b692]=_0x146f6e,_0x88bf03[_0x57b692]=_0x2327c6,_0x57b692++;var _0x3d8f5d=_0x1ad11f;0x1&_0x1ad11f||!_0x54835d(_0x146f6e,_0x46923a,_0x57b692)||(_0x1ad11f|=0x1),0x2&_0x1ad11f||!_0x54835d(_0x2327c6,_0x88bf03,_0x57b692)||(_0x1ad11f|=0x2);var _0x15a30a=0x3!==_0x1ad11f?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){var _0x420b32,_0x1b06ad,_0x415952=_0x146f6e[_0x1a4e('0x7b2')]&_0x2327c6[_0x1a4e('0x7b2')];if(_0x1adc17===_0xa95637&&!(0x80000&_0x415952)){if(0x400000&_0x415952)return _0x5934d9(_0x146f6e['type'],_0x2327c6[_0x1a4e('0x40')],!0x1);var _0x46923a=0x0;return 0x800000&_0x415952&&(_0x46923a=_0x5934d9(_0x146f6e[_0x1a4e('0x2601')],_0x2327c6[_0x1a4e('0x2601')],!0x1))&&(_0x46923a&=_0x5934d9(_0x146f6e[_0x1a4e('0x2669')],_0x2327c6[_0x1a4e('0x2669')],!0x1))?_0x46923a:0x1000000&_0x415952&&_0x146f6e['root'][_0x1a4e('0x2a05')]===_0x2327c6[_0x1a4e('0x1372')]['isDistributive']&&(_0x46923a=_0x5934d9(_0x146f6e[_0x1a4e('0x25fd')],_0x2327c6[_0x1a4e('0x25fd')],!0x1))&&(_0x46923a&=_0x5934d9(_0x146f6e[_0x1a4e('0x25fe')],_0x2327c6['extendsType'],!0x1))&&(_0x46923a&=_0x5934d9(_0x27baa4(_0x146f6e),_0x27baa4(_0x2327c6),!0x1))&&(_0x46923a&=_0x5934d9(_0x49f40f(_0x146f6e),_0x49f40f(_0x2327c6),!0x1))?_0x46923a:0x2000000&_0x415952?_0x5934d9(_0x146f6e[_0x1a4e('0xb80')],_0x2327c6['substitute'],!0x1):0x0;}var _0x88bf03,_0x434714=_0x326eae;if(0x1080000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x146f6e[_0x1a4e('0x28ac')]&&_0x146f6e[_0x1a4e('0x28ad')]&&_0x146f6e['aliasSymbol']===_0x2327c6[_0x1a4e('0x28ac')]&&!_0x146f6e[_0x1a4e('0x2a23')]&&!_0x2327c6['aliasTypeArgumentsContainsMarker']){var _0x57b692=function(_0x368e5a){var _0x146f6e=_0xdba731(_0x368e5a);return _0x44064d(_0x146f6e[_0x1a4e('0x23d7')],_0x146f6e,function(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x5af6bf(_0x368e5a,_0x3ca8d6(_0x146f6e[_0x1a4e('0x23d7')],_0x52adb3(_0x55ff7e,_0x1adc17)));return _0xf79407['aliasTypeArgumentsContainsMarker']=!0x0,_0xf79407;});}(_0x146f6e[_0x1a4e('0x28ac')]);if(_0x420b32=_0x43e7af(_0x146f6e[_0x1a4e('0x28ad')],_0x2327c6[_0x1a4e('0x28ad')],_0x57b692,_0x55ff7e))return _0x420b32;_0x1b06ad=_0x326eae,_0x326eae=_0x434714;}if(0x40000&_0x2327c6[_0x1a4e('0x7b2')]){if(0x20&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&_0x5934d9(_0x332557(_0x2327c6),_0x5e43c6(_0x146f6e))&&!(0x4&_0x118009(_0x146f6e))){var _0x1ad11f=_0x4485f9(_0x146f6e),_0x35bd0a=_0x3d7297(_0x2327c6,_0x108e5(_0x146f6e));if(_0x420b32=_0x5934d9(_0x1ad11f,_0x35bd0a,_0x55ff7e))return _0x420b32;}}else if(0x400000&_0x2327c6[_0x1a4e('0x7b2')]){if(0x400000&_0x146f6e[_0x1a4e('0x7b2')]&&(_0x420b32=_0x5934d9(_0x2327c6[_0x1a4e('0x40')],_0x146f6e[_0x1a4e('0x40')],!0x1)))return _0x420b32;if(_0x1adc17!==_0x33e962){var _0x30b3ec=_0x2915f5(_0x2327c6[_0x1a4e('0x40')]),_0x1b487e=_0x30b3ec!==_0x2327c6[_0x1a4e('0x40')]?_0x30b3ec:_0x19b1f0(_0x2327c6[_0x1a4e('0x40')]);if(_0x1b487e&&-0x1===_0x5934d9(_0x146f6e,_0x332557(_0x1b487e,_0x2327c6['stringsOnly']),_0x55ff7e))return-0x1;}}else if(0x800000&_0x2327c6['flags']){if(!(_0x1adc17===_0xa95637||_0x54ac8c(_0x2327c6[_0x1a4e('0x2601')])&&_0x10e895(_0x2327c6[_0x1a4e('0x2669')]))){var _0x1b487e=_0x1953ea(_0x2327c6);if(_0x1b487e&&_0x1b487e!==_0x2327c6&&(_0x420b32=_0x5934d9(_0x146f6e,_0x1b487e,_0x55ff7e)))return _0x420b32;}}else if(_0x2e49b5(_0x2327c6)){var _0x3d8f5d=_0x4485f9(_0x2327c6),_0x15a30a=_0x118009(_0x2327c6);if(!(0x8&_0x15a30a)){if(0x800000&_0x3d8f5d[_0x1a4e('0x7b2')]&&_0x3d8f5d['objectType']===_0x146f6e&&_0x3d8f5d[_0x1a4e('0x2669')]===_0x108e5(_0x2327c6))return-0x1;if(!_0x2e49b5(_0x146f6e)&&_0x5934d9(_0x5e43c6(_0x2327c6),_0x332557(_0x146f6e))){var _0x35bd0a=_0x3d7297(_0x146f6e,_0x108e5(_0x2327c6)),_0x1ad11f=_0x4485f9(_0x2327c6);if(_0x420b32=_0x5934d9(_0x35bd0a,_0x1ad11f,_0x55ff7e))return _0x420b32;}_0x1b06ad=_0x326eae,_0x326eae=_0x434714;}}if(0x840000&_0x146f6e[_0x1a4e('0x7b2')]){if(0x800000&_0x146f6e[_0x1a4e('0x7b2')]&&0x800000&_0x2327c6[_0x1a4e('0x7b2')]&&((_0x420b32=_0x5934d9(_0x146f6e[_0x1a4e('0x2601')],_0x2327c6[_0x1a4e('0x2601')],_0x55ff7e))&&(_0x420b32&=_0x5934d9(_0x146f6e[_0x1a4e('0x2669')],_0x2327c6[_0x1a4e('0x2669')],_0x55ff7e)),_0x420b32))return _0x326eae=_0x434714,_0x420b32;var _0x1b487e=(_0x88bf03=_0x146f6e,_0x1adc17===_0x33e962?void 0x0:_0x19b1f0(_0x88bf03));if(!_0x1b487e||0x40000&_0x146f6e[_0x1a4e('0x7b2')]&&0x3&_0x1b487e[_0x1a4e('0x7b2')]){if(_0x420b32=_0x5934d9(_0x126d3e,_0xaf5842(_0x2327c6,-0x4000001)))return _0x326eae=_0x434714,_0x420b32;}else{if(_0x420b32=_0x5934d9(_0x1b487e,_0x2327c6,!0x1,void 0x0,_0xf79407))return _0x326eae=_0x434714,_0x420b32;if(_0x420b32=_0x5934d9(_0x98e900(_0x1b487e,_0x146f6e),_0x2327c6,_0x55ff7e,void 0x0,_0xf79407))return _0x326eae=_0x434714,_0x420b32;}}else if(0x400000&_0x146f6e['flags']){if(_0x420b32=_0x5934d9(_0xaed2b,_0x2327c6,_0x55ff7e))return _0x326eae=_0x434714,_0x420b32;}else if(0x1000000&_0x146f6e['flags']){if(0x1000000&_0x2327c6[_0x1a4e('0x7b2')]){if(_0x2ccc16(_0x146f6e[_0x1a4e('0x25fe')],_0x2327c6[_0x1a4e('0x25fe')])&&(_0x5934d9(_0x146f6e[_0x1a4e('0x25fd')],_0x2327c6['checkType'])||_0x5934d9(_0x2327c6[_0x1a4e('0x25fd')],_0x146f6e[_0x1a4e('0x25fd')]))&&((_0x420b32=_0x5934d9(_0x27baa4(_0x146f6e),_0x27baa4(_0x2327c6),_0x55ff7e))&&(_0x420b32&=_0x5934d9(_0x49f40f(_0x146f6e),_0x49f40f(_0x2327c6),_0x55ff7e)),_0x420b32))return _0x326eae=_0x434714,_0x420b32;}else if(_0x1adc17!==_0x33e962){var _0x1369b6=_0x63c115(_0x146f6e);if(_0x1369b6&&(_0x420b32=_0x5934d9(_0x1369b6,_0x2327c6,_0x55ff7e)))return _0x326eae=_0x434714,_0x420b32;var _0x7151b1=_0x1aba91(_0x146f6e);if(_0x7151b1&&(_0x420b32=_0x5934d9(_0x7151b1,_0x2327c6,_0x55ff7e)))return _0x326eae=_0x434714,_0x420b32;}}else{if(function(_0x146f6e){return!!(0x20&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&0x4&_0x118009(_0x146f6e));}(_0x2327c6)&&!_0x2e49b5(_0x146f6e)&&_0x3d48fd(_0x146f6e))return-0x1;if(_0x2e49b5(_0x2327c6))return _0x2e49b5(_0x146f6e)&&(_0x420b32=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e;if((_0x1adc17===_0x3d2b4d||(_0x1adc17===_0xa95637?_0x118009(_0x368e5a)===_0x118009(_0x146f6e):_0x8ce75b(_0x368e5a)<=_0x8ce75b(_0x146f6e)))&&(_0x55ff7e=_0x5934d9(_0x5e43c6(_0x146f6e),_0x5e43c6(_0x368e5a),_0x2327c6))){var _0xf79407=_0xa0d6d8([_0x108e5(_0x368e5a)],[_0x108e5(_0x146f6e)]);return _0x55ff7e&_0x5934d9(_0x1e1445(_0x4485f9(_0x368e5a),_0xf79407),_0x4485f9(_0x146f6e),_0x2327c6);}return 0x0;}(_0x146f6e,_0x2327c6,_0x55ff7e))?(_0x326eae=_0x434714,_0x420b32):0x0;if(_0x1adc17===_0x33e962&&_0x2e49b5(_0x146f6e))return 0x0;var _0x362306=!!(0x1fffc&_0x146f6e[_0x1a4e('0x7b2')]);if(_0x1adc17!==_0xa95637&&(_0x146f6e=_0x26521d(_0x146f6e)),0x4&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&0x4&_0x368e5a['getObjectFlags'](_0x2327c6)&&_0x146f6e[_0x1a4e('0xd95')]===_0x2327c6[_0x1a4e('0xd95')]&&!(0x2000&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)||0x2000&_0x368e5a[_0x1a4e('0x249a')](_0x2327c6))){var _0x57b692=_0x5d14e2(_0x146f6e[_0x1a4e('0xd95')]);if(_0x420b32=_0x43e7af(_0x146f6e[_0x1a4e('0x2365')],_0x2327c6[_0x1a4e('0x2365')],_0x57b692,_0x55ff7e))return _0x420b32;if(_0x57b692!==_0x368e5a['emptyArray']&&!function(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0;_0x2327c6<_0x146f6e[_0x1a4e('0x1e')];_0x2327c6++)if(0x1===_0x146f6e[_0x2327c6]&&0x4000&_0x368e5a[_0x1a4e('0x2365')][_0x2327c6][_0x1a4e('0x7b2')])return!0x0;return!0x1;}(_0x2327c6,_0x57b692)){if(!_0x55ff7e||!_0x368e5a[_0x1a4e('0x1c2')](_0x57b692,function(_0x368e5a){return 0x0===_0x368e5a;}))return 0x0;_0x1b06ad=_0x326eae,_0x326eae=_0x434714;}}else if(_0x102fd6(_0x146f6e)&&(_0x4ba777(_0x2327c6)||_0x1fdfd3(_0x2327c6))||_0x4ba777(_0x146f6e)&&_0x1fdfd3(_0x2327c6))return _0x5934d9(_0x3e5aca(_0x146f6e,0x1)||_0x330555,_0x3e5aca(_0x2327c6,0x1)||_0x330555,_0x55ff7e);if(0x280000&_0x146f6e[_0x1a4e('0x7b2')]&&0x80000&_0x2327c6['flags']){var _0x239ab2=_0x55ff7e&&_0x326eae===_0x434714&&!_0x362306;if((_0x420b32=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x1adc17===_0xa95637)return function(_0x368e5a,_0x146f6e){if(!(0x80000&_0x368e5a[_0x1a4e('0x7b2')]&&0x80000&_0x146f6e[_0x1a4e('0x7b2')]))return 0x0;var _0x2327c6=_0x192d7d(_0x368e5a),_0x55ff7e=_0x192d7d(_0x146f6e);if(_0x2327c6[_0x1a4e('0x1e')]!==_0x55ff7e[_0x1a4e('0x1e')])return 0x0;for(var _0x1adc17=-0x1,_0xf79407=0x0,_0x2c9ec9=_0x2327c6;_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x35b38f(_0x146f6e,_0x420b32[_0x1a4e('0x22e8')]);if(!_0x1b06ad)return 0x0;var _0x326eae=_0x1e9716(_0x420b32,_0x1b06ad,_0x5934d9);if(!_0x326eae)return 0x0;_0x1adc17&=_0x326eae;}return _0x1adc17;}(_0x146f6e,_0x2327c6);var _0xf79407,_0x420b32=_0x1adc17===_0xb9f69&&!_0x41f2fc(_0x146f6e)&&!_0x32e7bb(_0x146f6e)&&!_0x102fd6(_0x146f6e),_0x1b06ad=_0x515f29(_0x146f6e,_0x2327c6,_0x420b32);if(_0x1b06ad){if(_0x55ff7e){var _0x415952=_0x368e5a[_0x1a4e('0x1729')](_0x2e03d0(_0x146f6e,_0x2327c6,_0x420b32));if((!_0x2c9ec9||_0x2c9ec9[_0x1a4e('0x1617')]!==_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a24')][_0x1a4e('0x1617')]&&_0x2c9ec9['code']!==_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a25')][_0x1a4e('0x1617')])&&(_0x36aa2e=!0x0),0x1===_0x415952[_0x1a4e('0x1e')]){var _0x46923a=_0x22aa27(_0x1b06ad);_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a26')],_0x46923a,_0x5ad709(_0x146f6e),_0x5ad709(_0x2327c6)),_0x368e5a[_0x1a4e('0x1e')](_0x1b06ad[_0x1a4e('0x22e5')])&&(_0xf79407=_0x368e5a[_0x1a4e('0x2354')](_0x1b06ad['declarations'][0x0],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295e')],_0x46923a),_0x368e5a[_0x1a4e('0x1749')]['assert'](!!_0x326eae),_0x56674b?_0x56674b['push'](_0xf79407):_0x56674b=[_0xf79407]);}else _0x415952[_0x1a4e('0x1e')]>0x5?_0x188821(_0x368e5a[_0x1a4e('0x167d')]['Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more'],_0x5ad709(_0x146f6e),_0x5ad709(_0x2327c6),_0x368e5a[_0x1a4e('0x21')](_0x415952['slice'](0x0,0x4),function(_0x368e5a){return _0x22aa27(_0x368e5a);})[_0x1a4e('0x9e')](',\x20'),_0x415952[_0x1a4e('0x1e')]-0x4):_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a27')],_0x5ad709(_0x146f6e),_0x5ad709(_0x2327c6),_0x368e5a[_0x1a4e('0x21')](_0x415952,function(_0x368e5a){return _0x22aa27(_0x368e5a);})[_0x1a4e('0x9e')](',\x20'));}return 0x0;}if(_0x41f2fc(_0x2327c6))for(var _0x88bf03=0x0,_0x434714=_0x41c062(_0x146f6e);_0x88bf03<_0x434714[_0x1a4e('0x1e')];_0x88bf03++){var _0x57b692=_0x434714[_0x88bf03];if(!_0x35b38f(_0x2327c6,_0x57b692[_0x1a4e('0x22e8')])){var _0x1ad11f=_0x38797c(_0x57b692);if(_0x1ad11f!==_0x57a5b4&&_0x1ad11f!==_0x4a2e68)return _0x55ff7e&&_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29f0')],_0x22aa27(_0x57b692),_0x5ad709(_0x2327c6)),0x0;}}var _0x35bd0a=-0x1;if(_0x102fd6(_0x2327c6)){var _0x30b3ec=_0x49b3ef(_0x2327c6);if(_0x30b3ec){if(!_0x102fd6(_0x146f6e))return 0x0;var _0x1b487e=_0x49b3ef(_0x146f6e);if(_0x1b487e&&!_0x5934d9(_0x1b487e,_0x30b3ec,_0x55ff7e))return _0x55ff7e&&_0x188821(_0x368e5a['Diagnostics'][_0x1a4e('0x2a28')]),0x0;for(var _0x3d8f5d=_0x30457b(_0x2327c6)-0x1,_0x15a30a=_0x30457b(_0x146f6e)-(_0x1b487e?0x1:0x0),_0x1369b6=_0x3d8f5d;_0x1369b6<_0x15a30a;_0x1369b6++){var _0x7151b1=_0x5934d9(_0x146f6e[_0x1a4e('0x2365')][_0x1369b6],_0x30b3ec,_0x55ff7e);if(!_0x7151b1)return _0x55ff7e&&_0x188821(_0x368e5a[_0x1a4e('0x167d')]['Property_0_is_incompatible_with_rest_element_type'],''+_0x1369b6),0x0;_0x35bd0a&=_0x7151b1;}}}for(var _0x362306=_0x192d7d(_0x2327c6),_0x239ab2=0x0,_0x1b8154=_0x362306;_0x239ab2<_0x1b8154['length'];_0x239ab2++){var _0x2918ee=_0x1b8154[_0x239ab2];if(!(0x400000&_0x2918ee[_0x1a4e('0x7b2')])){var _0x57b692=_0x3c127b(_0x146f6e,_0x2918ee[_0x1a4e('0x22e8')]);if(_0x57b692&&_0x57b692!==_0x2918ee){if(_0x1ae080(_0x146f6e,_0x57b692,_0x38797c(_0x2918ee)))continue;var _0x3c5414=_0x368e5a[_0x1a4e('0x248c')](_0x57b692),_0x4f3c04=_0x368e5a[_0x1a4e('0x248c')](_0x2918ee);if(0x8&_0x3c5414||0x8&_0x4f3c04){var _0x43e7af=_0x57b692[_0x1a4e('0x2340')]!==_0x2918ee[_0x1a4e('0x2340')];if(0x100&_0x368e5a[_0x1a4e('0x248b')](_0x57b692)&&_0x43e7af)return _0x55ff7e&&_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a29')],_0x22aa27(_0x57b692),_0x5ad709(_0x146f6e)),0x0;if(_0x43e7af)return _0x55ff7e&&(0x8&_0x3c5414&&0x8&_0x4f3c04?_0x188821(_0x368e5a['Diagnostics']['Types_have_separate_declarations_of_a_private_property_0'],_0x22aa27(_0x2918ee)):_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a2a')],_0x22aa27(_0x2918ee),_0x5ad709(0x8&_0x3c5414?_0x146f6e:_0x2327c6),_0x5ad709(0x8&_0x3c5414?_0x2327c6:_0x146f6e))),0x0;}else if(0x10&_0x4f3c04){if(!_0x536b97(_0x57b692,_0x2918ee))return _0x55ff7e&&_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a2b')],_0x22aa27(_0x2918ee),_0x5ad709(_0x2549c9(_0x57b692)||_0x146f6e),_0x5ad709(_0x2549c9(_0x2918ee)||_0x2327c6)),0x0;}else if(0x10&_0x3c5414)return _0x55ff7e&&_0x188821(_0x368e5a[_0x1a4e('0x167d')]['Property_0_is_protected_in_type_1_but_public_in_type_2'],_0x22aa27(_0x2918ee),_0x5ad709(_0x146f6e),_0x5ad709(_0x2327c6)),0x0;var _0x7151b1=_0x5934d9(_0x38797c(_0x57b692),_0x38797c(_0x2918ee),_0x55ff7e);if(!_0x7151b1)return _0x55ff7e&&_0x188821(_0x368e5a['Diagnostics'][_0x1a4e('0x2a2c')],_0x22aa27(_0x2918ee)),0x0;if(_0x35bd0a&=_0x7151b1,_0x1adc17!==_0x3d2b4d&&0x1000000&_0x57b692[_0x1a4e('0x7b2')]&&!(0x1000000&_0x2918ee[_0x1a4e('0x7b2')]))return _0x55ff7e&&_0x188821(_0x368e5a['Diagnostics']['Property_0_is_optional_in_type_1_but_required_in_type_2'],_0x22aa27(_0x2918ee),_0x5ad709(_0x146f6e),_0x5ad709(_0x2327c6)),0x0;}}}return _0x35bd0a;}(_0x146f6e,_0x2327c6,_0x239ab2))&&(_0x420b32&=_0x2c2aaa(_0x146f6e,_0x2327c6,0x0,_0x239ab2))&&(_0x420b32&=_0x2c2aaa(_0x146f6e,_0x2327c6,0x1,_0x239ab2))&&(_0x420b32&=_0x44918a(_0x146f6e,_0x2327c6,0x0,_0x362306,_0x239ab2))&&(_0x420b32&=_0x44918a(_0x146f6e,_0x2327c6,0x1,_0x362306,_0x239ab2)),_0x420b32){if(!_0x1b06ad)return _0x326eae=_0x434714,_0x420b32;_0x326eae=_0x1b06ad;}}}return 0x0;}(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407):0x1;if(_0x1ad11f=_0x3d8f5d,_0x57b692--,_0x15a30a){if(-0x1===_0x15a30a||0x0===_0x57b692){for(_0x30b3ec=_0x1b487e;_0x30b3ec<_0x434714;_0x30b3ec++)_0x1adc17[_0x1a4e('0x17a')](_0x415952[_0x30b3ec],0x1);_0x434714=_0x1b487e;}}else _0x1adc17['set'](_0x420b32,_0x55ff7e?0x3:0x2),_0x434714=_0x1b487e;return _0x15a30a;}function _0x2c2aaa(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){if(_0x1adc17===_0xa95637)return function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x7bcdc7(_0x368e5a,_0x2327c6),_0x1adc17=_0x7bcdc7(_0x146f6e,_0x2327c6);if(_0x55ff7e['length']!==_0x1adc17['length'])return 0x0;for(var _0xf79407=-0x1,_0x2c9ec9=0x0;_0x2c9ec9<_0x55ff7e[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x420b32=_0xdc21c3(_0x55ff7e[_0x2c9ec9],_0x1adc17[_0x2c9ec9],!0x1,!0x1,!0x1,_0x5934d9);if(!_0x420b32)return 0x0;_0xf79407&=_0x420b32;}return _0xf79407;}(_0x146f6e,_0x2327c6,_0x55ff7e);if(_0x2327c6===_0x5f42ab||_0x146f6e===_0x5f42ab)return-0x1;var _0x2c9ec9=_0x146f6e[_0x1a4e('0xb1b')]&&_0x4cff90(_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2340')]),_0x420b32=_0x2327c6[_0x1a4e('0xb1b')]&&_0x4cff90(_0x2327c6['symbol'][_0x1a4e('0x2340')]),_0x1b06ad=_0x7bcdc7(_0x146f6e,_0x2c9ec9&&0x1===_0x55ff7e?0x0:_0x55ff7e),_0x56674b=_0x7bcdc7(_0x2327c6,_0x420b32&&0x1===_0x55ff7e?0x0:_0x55ff7e);if(0x1===_0x55ff7e&&_0x1b06ad[_0x1a4e('0x1e')]&&_0x56674b['length']){if(_0x368e5a[_0x1a4e('0x2497')](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2497')](_0x2327c6))return _0xf79407&&_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a2d')]),0x0;if(!function(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x146f6e[_0x1a4e('0x2350')]||!_0x2327c6['declaration'])return!0x0;var _0x1adc17=_0x368e5a[_0x1a4e('0x2a2e')](_0x146f6e[_0x1a4e('0x2350')],0x18),_0xf79407=_0x368e5a[_0x1a4e('0x2a2e')](_0x2327c6[_0x1a4e('0x2350')],0x18);return 0x8===_0xf79407||(0x10===_0xf79407&&0x8!==_0x1adc17||(0x10!==_0xf79407&&!_0x1adc17||(_0x55ff7e&&_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a2f')],_0x4b2624(_0x1adc17),_0x4b2624(_0xf79407)),!0x1)));}(_0x1b06ad[0x0],_0x56674b[0x0],_0xf79407))return 0x0;}var _0x415952=-0x1,_0x46923a=_0x326eae;if(0x40&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&0x40&_0x368e5a['getObjectFlags'](_0x2327c6)&&_0x146f6e[_0x1a4e('0xb1b')]===_0x2327c6['symbol'])for(var _0x88bf03=0x0;_0x88bf03<_0x56674b['length'];_0x88bf03++){if(!(_0x3d8f5d=_0xba6af4(_0x1b06ad[_0x88bf03],_0x56674b[_0x88bf03],!0x0,_0xf79407)))return 0x0;_0x415952&=_0x3d8f5d;}else if(0x1===_0x1b06ad[_0x1a4e('0x1e')]&&0x1===_0x56674b[_0x1a4e('0x1e')]){var _0x434714=_0x1adc17===_0x3d2b4d||!!_0x239ab2[_0x1a4e('0x2a30')];_0x415952=_0xba6af4(_0x1b06ad[0x0],_0x56674b[0x0],_0x434714,_0xf79407);}else _0x2c261:for(var _0x57b692=0x0,_0x1ad11f=_0x56674b;_0x57b692<_0x1ad11f[_0x1a4e('0x1e')];_0x57b692++){for(var _0x35bd0a=_0x1ad11f[_0x57b692],_0x36aa2e=_0xf79407,_0x30b3ec=0x0,_0x1b487e=_0x1b06ad;_0x30b3ec<_0x1b487e[_0x1a4e('0x1e')];_0x30b3ec++){var _0x3d8f5d;if(_0x3d8f5d=_0xba6af4(_0x1b487e[_0x30b3ec],_0x35bd0a,!0x0,_0x36aa2e)){_0x415952&=_0x3d8f5d,_0x326eae=_0x46923a;continue _0x2c261;}_0x36aa2e=!0x1;}return _0x36aa2e&&_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a31')],_0x5ad709(_0x146f6e),_0x2a8922(_0x35bd0a,void 0x0,void 0x0,_0x55ff7e)),0x0;}return _0x415952;}function _0xba6af4(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x221661(_0x2327c6?_0x10a62e(_0x368e5a):_0x368e5a,_0x2327c6?_0x10a62e(_0x146f6e):_0x146f6e,0x0,!0x1,_0x55ff7e,_0x188821,_0x5934d9);}function _0x5c483a(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x5934d9(_0x146f6e[_0x1a4e('0x40')],_0x2327c6[_0x1a4e('0x40')],_0x55ff7e);return!_0x1adc17&&_0x55ff7e&&_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a32')]),_0x1adc17;}function _0x44918a(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9){if(_0x1adc17===_0xa95637)return function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x5c197b(_0x146f6e,_0x2327c6),_0x1adc17=_0x5c197b(_0x368e5a,_0x2327c6);return _0x1adc17||_0x55ff7e?_0x1adc17&&_0x55ff7e&&_0x1adc17['isReadonly']===_0x55ff7e[_0x1a4e('0x28bc')]?_0x5934d9(_0x1adc17[_0x1a4e('0x40')],_0x55ff7e[_0x1a4e('0x40')]):0x0:-0x1;}(_0x146f6e,_0x2327c6,_0x55ff7e);var _0x420b32=_0x5c197b(_0x2327c6,_0x55ff7e);if(!_0x420b32||0x3&_0x420b32[_0x1a4e('0x40')][_0x1a4e('0x7b2')]&&!_0xf79407)return-0x1;var _0x1b06ad=_0x5c197b(_0x146f6e,_0x55ff7e)||0x1===_0x55ff7e&&_0x5c197b(_0x146f6e,0x0);if(_0x1b06ad)return _0x5c483a(_0x1b06ad,_0x420b32,_0x2c9ec9);if(_0x2e49b5(_0x146f6e))return 0x0===_0x55ff7e&&_0x5934d9(_0x4485f9(_0x146f6e),_0x420b32[_0x1a4e('0x40')],_0x2c9ec9);if(_0xec5320(_0x146f6e)){var _0x326eae=-0x1;if(0x0===_0x55ff7e){var _0x56674b=_0x5c197b(_0x146f6e,0x1);_0x56674b&&(_0x326eae=_0x5c483a(_0x56674b,_0x420b32,_0x2c9ec9));}return _0x326eae&&(_0x326eae&=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=-0x1,_0x2c9ec9=0x0,_0x420b32=_0x192d7d(_0x146f6e);_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];if(!_0x1ae080(_0x146f6e,_0x1b06ad,void 0x0)&&!(_0x1b06ad[_0x1a4e('0x2994')]&&0x2000&_0x1b06ad[_0x1a4e('0x2994')][_0x1a4e('0x7b2')])&&(0x0===_0x55ff7e||_0x2a5163(_0x1b06ad['escapedName']))){var _0x326eae=_0x5934d9(_0x38797c(_0x1b06ad),_0x2327c6,_0x1adc17);if(!_0x326eae)return _0x1adc17&&_0x188821(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a33')],_0x22aa27(_0x1b06ad)),0x0;_0xf79407&=_0x326eae;}}return _0xf79407;}(_0x146f6e,_0x420b32[_0x1a4e('0x40')],_0x55ff7e,_0x2c9ec9)),_0x326eae;}return _0x2c9ec9&&_0x188821(_0x368e5a['Diagnostics'][_0x1a4e('0x2a34')],_0x5ad709(_0x146f6e)),0x0;}}function _0x58a997(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17,_0xf79407=0x0,_0x2c9ec9=_0x146f6e;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++)for(var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x420b32[0x0],_0x326eae=_0x420b32[0x1],_0x56674b=0x0,_0x415952=_0x368e5a[_0x1a4e('0x2380')];_0x56674b<_0x415952[_0x1a4e('0x1e')];_0x56674b++){var _0x46923a=_0x415952[_0x56674b],_0x88bf03=_0x2032e1(_0x46923a,_0x326eae);if(_0x88bf03&&_0x2327c6(_0x1b06ad(),_0x88bf03)){if(_0x1adc17){if(_0x46923a===_0x1adc17)continue;return _0x55ff7e;}_0x1adc17=_0x46923a;}}return _0x1adc17||_0x55ff7e;}function _0x21ade(_0x146f6e){if(0x80000&_0x146f6e[_0x1a4e('0x7b2')]){var _0x2327c6=_0x4a724b(_0x146f6e);return 0x0===_0x2327c6[_0x1a4e('0x2887')][_0x1a4e('0x1e')]&&0x0===_0x2327c6['constructSignatures'][_0x1a4e('0x1e')]&&!_0x2327c6[_0x1a4e('0x28bb')]&&!_0x2327c6['numberIndexInfo']&&_0x2327c6[_0x1a4e('0x13')][_0x1a4e('0x1e')]>0x0&&_0x368e5a[_0x1a4e('0x114')](_0x2327c6[_0x1a4e('0x13')],function(_0x368e5a){return!!(0x1000000&_0x368e5a[_0x1a4e('0x7b2')]);});}return!!(0x200000&_0x146f6e[_0x1a4e('0x7b2')])&&_0x368e5a['every'](_0x146f6e[_0x1a4e('0x2380')],_0x21ade);}function _0x1815d2(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x34525d(_0x146f6e,_0x368e5a[_0x1a4e('0x21')](_0x146f6e['typeParameters'],function(_0x368e5a){return _0x368e5a===_0x2327c6?_0x55ff7e:_0x368e5a;}));return _0x1adc17[_0x1a4e('0x2472')]|=0x2000,_0x1adc17;}function _0x44064d(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x146f6e&&(_0x146f6e=_0x368e5a[_0x1a4e('0x1700')]);var _0x1adc17=_0x2327c6[_0x1a4e('0x2a35')];if(!_0x1adc17){_0x2327c6[_0x1a4e('0x2a35')]=_0x368e5a['emptyArray'],_0x1adc17=[];for(var _0xf79407=0x0,_0x2c9ec9=_0x146f6e;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x55ff7e(_0x2327c6,_0x420b32,_0x5a6604),_0x326eae=_0x55ff7e(_0x2327c6,_0x420b32,_0x884f2a),_0x56674b=(_0x720afc(_0x326eae,_0x1b06ad)?0x1:0x0)|(_0x720afc(_0x1b06ad,_0x326eae)?0x2:0x0);0x3===_0x56674b&&_0x720afc(_0x55ff7e(_0x2327c6,_0x420b32,_0x59429f),_0x1b06ad)&&(_0x56674b=0x4),_0x1adc17[_0x1a4e('0x46')](_0x56674b);}_0x2327c6['variances']=_0x1adc17;}return _0x1adc17;}function _0x5d14e2(_0x146f6e){return _0x43e7af?_0x146f6e===_0x1a4cce||_0x146f6e===_0xe8ad25?_0x368e5a[_0x1a4e('0x1700')]:_0x44064d(_0x146f6e[_0x1a4e('0x23d7')],_0x146f6e,_0x1815d2):_0x368e5a[_0x1a4e('0x1700')];}function _0x48c33e(_0x368e5a){return 0x40000&_0x368e5a['flags']&&!_0x2a8efa(_0x368e5a);}function _0xbfdf8d(_0x146f6e){return!!(0x4&_0x368e5a['getObjectFlags'](_0x146f6e))&&_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x2365')],function(_0x368e5a){return _0x48c33e(_0x368e5a)||_0xbfdf8d(_0x368e5a);});}function _0xffee41(_0x368e5a,_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=0x0);for(var _0x55ff7e=''+_0x368e5a['target']['id'],_0x1adc17=0x0,_0xf79407=_0x368e5a[_0x1a4e('0x2365')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(_0x48c33e(_0x2c9ec9)){var _0x420b32=_0x146f6e[_0x1a4e('0x3e')](_0x2c9ec9);_0x420b32<0x0&&(_0x420b32=_0x146f6e[_0x1a4e('0x1e')],_0x146f6e['push'](_0x2c9ec9)),_0x55ff7e+='='+_0x420b32;}else _0x2327c6<0x4&&_0xbfdf8d(_0x2c9ec9)?_0x55ff7e+='<'+_0xffee41(_0x2c9ec9,_0x146f6e,_0x2327c6+0x1)+'>':_0x55ff7e+='-'+_0x2c9ec9['id'];}return _0x55ff7e;}function _0x3ad895(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x2327c6===_0xa95637&&_0x368e5a['id']>_0x146f6e['id']){var _0x55ff7e=_0x368e5a;_0x368e5a=_0x146f6e,_0x146f6e=_0x55ff7e;}if(_0xbfdf8d(_0x368e5a)&&_0xbfdf8d(_0x146f6e)){var _0x1adc17=[];return _0xffee41(_0x368e5a,_0x1adc17)+','+_0xffee41(_0x146f6e,_0x1adc17);}return _0x368e5a['id']+','+_0x146f6e['id'];}function _0x3f60d2(_0x146f6e,_0x2327c6){if(!(0x6&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e)))return _0x2327c6(_0x146f6e);for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e['containingType'][_0x1a4e('0x2380')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x3c127b(_0x1adc17[_0x55ff7e],_0x146f6e[_0x1a4e('0x22e8')]),_0x2c9ec9=_0xf79407&&_0x3f60d2(_0xf79407,_0x2327c6);if(_0x2c9ec9)return _0x2c9ec9;}}function _0x2549c9(_0x368e5a){return _0x368e5a[_0x1a4e('0x11c')]&&0x20&_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x7b2')]?_0x287d7b(_0x38393e(_0x368e5a)):void 0x0;}function _0x536b97(_0x146f6e,_0x2327c6){return!_0x3f60d2(_0x2327c6,function(_0x2327c6){return!!(0x10&_0x368e5a['getDeclarationModifierFlagsFromSymbol'](_0x2327c6))&&(_0x55ff7e=_0x146f6e,_0x1adc17=_0x2549c9(_0x2327c6),!_0x3f60d2(_0x55ff7e,function(_0x368e5a){var _0x146f6e=_0x2549c9(_0x368e5a);return!!_0x146f6e&&_0x4836c2(_0x146f6e,_0x1adc17);}));var _0x55ff7e,_0x1adc17;});}function _0x54835d(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x2327c6>=0x5&&0x80000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x55ff7e=_0x368e5a['symbol'];if(_0x55ff7e)for(var _0x1adc17=0x0,_0xf79407=0x0;_0xf79407<_0x2327c6;_0xf79407++){var _0x2c9ec9=_0x146f6e[_0xf79407];if(0x80000&_0x2c9ec9['flags']&&_0x2c9ec9['symbol']===_0x55ff7e&&++_0x1adc17>=0x5)return!0x0;}}return!0x1;}function _0x1e9716(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e===_0x2327c6)return-0x1;var _0x1adc17=0x18&_0x368e5a[_0x1a4e('0x248c')](_0x146f6e);if(_0x1adc17!==(0x18&_0x368e5a[_0x1a4e('0x248c')](_0x2327c6)))return 0x0;if(_0x1adc17){if(_0x2f28cd(_0x146f6e)!==_0x2f28cd(_0x2327c6))return 0x0;}else if((0x1000000&_0x146f6e[_0x1a4e('0x7b2')])!=(0x1000000&_0x2327c6[_0x1a4e('0x7b2')]))return 0x0;return _0x5c5095(_0x146f6e)!==_0x5c5095(_0x2327c6)?0x0:_0x55ff7e(_0x38797c(_0x146f6e),_0x38797c(_0x2327c6));}function _0xdc21c3(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(_0x146f6e===_0x2327c6)return-0x1;if(!function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x34d119(_0x368e5a),_0x1adc17=_0x34d119(_0x146f6e),_0xf79407=_0x326f82(_0x368e5a),_0x2c9ec9=_0x326f82(_0x146f6e),_0x420b32=_0x47d8b9(_0x368e5a),_0x1b06ad=_0x47d8b9(_0x146f6e);return _0x55ff7e===_0x1adc17&&_0xf79407===_0x2c9ec9&&_0x420b32===_0x1b06ad||!!(_0x2327c6&&_0xf79407<=_0x2c9ec9);}(_0x146f6e,_0x2327c6,_0x55ff7e))return 0x0;if(_0x368e5a[_0x1a4e('0x1e')](_0x146f6e[_0x1a4e('0x23d7')])!==_0x368e5a[_0x1a4e('0x1e')](_0x2327c6[_0x1a4e('0x23d7')]))return 0x0;_0x146f6e=_0x10a62e(_0x146f6e),_0x2327c6=_0x10a62e(_0x2327c6);var _0x420b32=-0x1;if(!_0x1adc17){var _0x1b06ad=_0x14fcfd(_0x146f6e);if(_0x1b06ad){var _0x326eae=_0x14fcfd(_0x2327c6);if(_0x326eae){if(!(_0x46923a=_0x2c9ec9(_0x1b06ad,_0x326eae)))return 0x0;_0x420b32&=_0x46923a;}}}for(var _0x56674b=_0x34d119(_0x2327c6),_0x415952=0x0;_0x415952<_0x56674b;_0x415952++){var _0x46923a,_0x88bf03=_0x4eb09c(_0x146f6e,_0x415952);if(!(_0x46923a=_0x2c9ec9(_0x4eb09c(_0x2327c6,_0x415952),_0x88bf03)))return 0x0;_0x420b32&=_0x46923a;}if(!_0xf79407){var _0x434714=_0x13a441(_0x146f6e),_0x57b692=_0x13a441(_0x2327c6);_0x420b32&=void 0x0!==_0x434714||void 0x0!==_0x57b692?function(_0x368e5a,_0x146f6e,_0x2327c6){return void 0x0!==_0x368e5a&&void 0x0!==_0x146f6e&&_0x4494ac(_0x368e5a,_0x146f6e)?_0x2327c6(_0x368e5a[_0x1a4e('0x40')],_0x146f6e[_0x1a4e('0x40')]):0x0;}(_0x434714,_0x57b692,_0x2c9ec9):_0x2c9ec9(_0x4b6767(_0x146f6e),_0x4b6767(_0x2327c6));}return _0x420b32;}function _0x4e1a90(_0x146f6e){return function(_0x368e5a){for(var _0x146f6e,_0x2327c6=0x0,_0x55ff7e=_0x368e5a;_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6],_0xf79407=_0x3a5471(_0x1adc17);if(_0x146f6e||(_0x146f6e=_0xf79407),_0xf79407===_0x1adc17||_0xf79407!==_0x146f6e)return!0x1;}return!0x0;}(_0x146f6e)?_0x2d74ef(_0x146f6e):_0x368e5a[_0x1a4e('0x1727')](_0x146f6e,function(_0x368e5a,_0x146f6e){return _0x2a8a4b(_0x368e5a,_0x146f6e)?_0x146f6e:_0x368e5a;});}function _0x4ba777(_0x146f6e){return!!(0x4&_0x368e5a['getObjectFlags'](_0x146f6e))&&_0x146f6e[_0x1a4e('0xd95')]===_0x1a4cce;}function _0x1fdfd3(_0x146f6e){return!!(0x4&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e))&&_0x146f6e[_0x1a4e('0xd95')]===_0xe8ad25;}function _0x43afe0(_0x146f6e){return 0x4&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&(_0x146f6e[_0x1a4e('0xd95')]===_0x1a4cce||_0x146f6e['target']===_0xe8ad25)||!(0x18000&_0x146f6e['flags'])&&_0x720afc(_0x146f6e,_0x4172e6);}function _0x32e7bb(_0x368e5a){var _0x146f6e=_0x4ba777(_0x368e5a)?_0x368e5a[_0x1a4e('0x2365')][0x0]:void 0x0;return _0x146f6e===_0x4a2e68||_0x146f6e===_0x4b931c;}function _0x3572f9(_0x368e5a){return _0x102fd6(_0x368e5a)||!!_0x3c127b(_0x368e5a,'0');}function _0x30c98f(_0x368e5a,_0x146f6e){var _0x2327c6=_0x2032e1(_0x368e5a,''+_0x146f6e);return _0x2327c6||(_0x307f32(_0x368e5a,_0x102fd6)&&!_0x307f32(_0x368e5a,function(_0x368e5a){return!_0x368e5a['target']['hasRestElement'];})?_0x578997(_0x368e5a,function(_0x368e5a){return _0x49b3ef(_0x368e5a)||_0x57a5b4;}):void 0x0);}function _0x4992b3(_0x368e5a){return!(0x3ab80&_0x368e5a['flags']);}function _0x4d0406(_0x368e5a){return!!(0x1ab80&_0x368e5a[_0x1a4e('0x7b2')]);}function _0x4844a5(_0x146f6e){return!!(0x10&_0x146f6e[_0x1a4e('0x7b2')])||(0x100000&_0x146f6e['flags']?!!(0x400&_0x146f6e[_0x1a4e('0x7b2')])||_0x368e5a['every'](_0x146f6e[_0x1a4e('0x2380')],_0x4d0406):_0x4d0406(_0x146f6e));}function _0x3a5471(_0x146f6e){return 0x400&_0x146f6e['flags']?_0x52716f(_0x146f6e):0x80&_0x146f6e[_0x1a4e('0x7b2')]?_0x1d9562:0x100&_0x146f6e[_0x1a4e('0x7b2')]?_0x4a492a:0x800&_0x146f6e[_0x1a4e('0x7b2')]?_0x95b336:0x200&_0x146f6e[_0x1a4e('0x7b2')]?_0x4b156c:0x100000&_0x146f6e[_0x1a4e('0x7b2')]?_0x2d74ef(_0x368e5a['sameMap'](_0x146f6e[_0x1a4e('0x2380')],_0x3a5471)):_0x146f6e;}function _0x2802a6(_0x146f6e){return 0x400&_0x146f6e[_0x1a4e('0x7b2')]&&_0x37edbe(_0x146f6e)?_0x52716f(_0x146f6e):0x80&_0x146f6e['flags']&&_0x37edbe(_0x146f6e)?_0x1d9562:0x100&_0x146f6e[_0x1a4e('0x7b2')]&&_0x37edbe(_0x146f6e)?_0x4a492a:0x800&_0x146f6e[_0x1a4e('0x7b2')]&&_0x37edbe(_0x146f6e)?_0x95b336:0x200&_0x146f6e[_0x1a4e('0x7b2')]&&_0x37edbe(_0x146f6e)?_0x4b156c:0x100000&_0x146f6e[_0x1a4e('0x7b2')]?_0x2d74ef(_0x368e5a[_0x1a4e('0x170d')](_0x146f6e[_0x1a4e('0x2380')],_0x2802a6)):_0x146f6e;}function _0xddd60e(_0x146f6e){return 0x2000&_0x146f6e['flags']?_0x12ad50:0x100000&_0x146f6e['flags']?_0x2d74ef(_0x368e5a['sameMap'](_0x146f6e[_0x1a4e('0x2380')],_0xddd60e)):_0x146f6e;}function _0x5cec0e(_0x146f6e,_0x2327c6){return function _0x146f6e(_0x2327c6,_0x55ff7e){if(_0x55ff7e){if(0x300000&_0x55ff7e[_0x1a4e('0x7b2')]){var _0x1adc17=_0x55ff7e[_0x1a4e('0x2380')];return _0x368e5a['some'](_0x1adc17,function(_0x368e5a){return _0x146f6e(_0x2327c6,_0x368e5a);});}if(0x3840000&_0x55ff7e['flags']){var _0xf79407=_0x1953ea(_0x55ff7e)||_0x126d3e;return _0x1a74b9(_0xf79407,0x4)&&_0x1a74b9(_0x2327c6,0x80)||_0x1a74b9(_0xf79407,0x8)&&_0x1a74b9(_0x2327c6,0x100)||_0x1a74b9(_0xf79407,0x40)&&_0x1a74b9(_0x2327c6,0x800)||_0x1a74b9(_0xf79407,0x1000)&&_0x1a74b9(_0x2327c6,0x2000)||_0x146f6e(_0x2327c6,_0xf79407);}return!!(0x400080&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x1a74b9(_0x2327c6,0x80)||0x100&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x1a74b9(_0x2327c6,0x100)||0x800&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x1a74b9(_0x2327c6,0x800)||0x200&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x1a74b9(_0x2327c6,0x200)||0x2000&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x1a74b9(_0x2327c6,0x2000));}return!0x1;}(_0x146f6e,_0x2327c6)||(_0x146f6e=_0xddd60e(_0x2802a6(_0x146f6e))),_0x146f6e;}function _0x102fd6(_0x146f6e){return!!(0x4&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&0x8&_0x146f6e[_0x1a4e('0xd95')]['objectFlags']);}function _0x49b3ef(_0x368e5a){return _0x368e5a[_0x1a4e('0xd95')][_0x1a4e('0x28a7')]?_0x368e5a[_0x1a4e('0x2365')][_0x368e5a[_0x1a4e('0xd95')][_0x1a4e('0x23d7')][_0x1a4e('0x1e')]-0x1]:void 0x0;}function _0x493462(_0x368e5a){return _0x30457b(_0x368e5a)-(_0x368e5a['target']['hasRestElement']?0x1:0x0);}function _0x45f44c(_0x368e5a){return'0'===_0x368e5a[_0x1a4e('0x255')][_0x1a4e('0x25f6')];}function _0x213472(_0x368e5a){for(var _0x146f6e=0x0,_0x2327c6=0x0,_0x55ff7e=_0x368e5a;_0x2327c6<_0x55ff7e['length'];_0x2327c6++)_0x146f6e|=_0x30e928(_0x55ff7e[_0x2327c6]);return _0x146f6e;}function _0x30e928(_0x368e5a){return 0x100000&_0x368e5a['flags']?_0x213472(_0x368e5a[_0x1a4e('0x2380')]):0x80&_0x368e5a[_0x1a4e('0x7b2')]?''===_0x368e5a[_0x1a4e('0x255')]?0x80:0x0:0x100&_0x368e5a[_0x1a4e('0x7b2')]?0x0===_0x368e5a[_0x1a4e('0x255')]?0x100:0x0:0x800&_0x368e5a[_0x1a4e('0x7b2')]?_0x45f44c(_0x368e5a)?0x800:0x0:0x200&_0x368e5a[_0x1a4e('0x7b2')]?_0x368e5a===_0x4b250a||_0x368e5a===_0x29b6ee?0x200:0x0:0x1cbdc&_0x368e5a[_0x1a4e('0x7b2')];}function _0x194249(_0x368e5a){return 0x1cb80&_0x30e928(_0x368e5a)?_0x5056ee(_0x368e5a,function(_0x368e5a){return!(0x1cb80&_0x30e928(_0x368e5a));}):_0x368e5a;}function _0x19e09e(_0x368e5a){return 0x4&_0x368e5a[_0x1a4e('0x7b2')]?_0x41385a:0x8&_0x368e5a[_0x1a4e('0x7b2')]?_0x4888b2:0x40&_0x368e5a[_0x1a4e('0x7b2')]?_0x564522:_0x368e5a===_0x29b6ee||_0x368e5a===_0x4b250a||0x1c000&_0x368e5a[_0x1a4e('0x7b2')]||0x80&_0x368e5a[_0x1a4e('0x7b2')]&&''===_0x368e5a[_0x1a4e('0x255')]||0x100&_0x368e5a[_0x1a4e('0x7b2')]&&0x0===_0x368e5a[_0x1a4e('0x255')]||0x800&_0x368e5a[_0x1a4e('0x7b2')]&&_0x45f44c(_0x368e5a)?_0x368e5a:_0x530b09;}function _0x22b61d(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e&~_0x368e5a[_0x1a4e('0x7b2')]&0x18000;return 0x0===_0x2327c6?_0x368e5a:_0x2d74ef(0x8000===_0x2327c6?[_0x368e5a,_0x57a5b4]:0x10000===_0x2327c6?[_0x368e5a,_0x406341]:[_0x368e5a,_0x57a5b4,_0x406341]);}function _0x6d96b4(_0x146f6e){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x4f3c04),0x8000&_0x146f6e[_0x1a4e('0x7b2')]?_0x146f6e:_0x2d74ef([_0x146f6e,_0x57a5b4]);}function _0x2f423c(_0x368e5a){return _0x4f3c04?function(_0x368e5a){return _0x127a39||(_0x127a39=_0x8cd98c(_0x1a4e('0x2a36'),0x80000,void 0x0)||_0x450499),_0x127a39!==_0x450499?_0x5af6bf(_0x127a39,[_0x368e5a]):_0x2c784a(_0x368e5a,0x200000);}(_0x368e5a):_0x368e5a;}function _0xec5320(_0x368e5a){return _0x368e5a[_0x1a4e('0xb1b')]&&0x0!=(0x1a00&_0x368e5a[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')])&&!_0x452f7e(_0x368e5a);}function _0x5af529(_0x368e5a,_0x146f6e){var _0x2327c6=_0x4ecc5b(_0x368e5a[_0x1a4e('0x7b2')],_0x368e5a[_0x1a4e('0x22e8')]);return _0x2327c6[_0x1a4e('0x22e5')]=_0x368e5a['declarations'],_0x2327c6['parent']=_0x368e5a[_0x1a4e('0x11c')],_0x2327c6[_0x1a4e('0x40')]=_0x146f6e,_0x2327c6[_0x1a4e('0xd95')]=_0x368e5a,_0x368e5a[_0x1a4e('0x2340')]&&(_0x2327c6['valueDeclaration']=_0x368e5a['valueDeclaration']),_0x368e5a[_0x1a4e('0x2994')]&&(_0x2327c6[_0x1a4e('0x2994')]=_0x368e5a[_0x1a4e('0x2994')]),_0x2327c6;}function _0x262aab(_0x146f6e){if(!(_0x41f2fc(_0x146f6e)&&0x8000&_0x368e5a['getObjectFlags'](_0x146f6e)))return _0x146f6e;var _0x2327c6=_0x146f6e[_0x1a4e('0x28ed')];if(_0x2327c6)return _0x2327c6;var _0x55ff7e=_0x146f6e,_0x1adc17=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x22e7')](),_0x1adc17=0x0,_0xf79407=_0x192d7d(_0x146f6e);_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x38797c(_0x2c9ec9),_0x1b06ad=_0x2327c6(_0x420b32);_0x55ff7e[_0x1a4e('0x17a')](_0x2c9ec9[_0x1a4e('0x22e8')],_0x1b06ad===_0x420b32?_0x2c9ec9:_0x5af529(_0x2c9ec9,_0x1b06ad));}return _0x55ff7e;}(_0x146f6e,_0x262aab),_0xf79407=_0x1178b7(_0x55ff7e[_0x1a4e('0xb1b')],_0x1adc17,_0x55ff7e['callSignatures'],_0x55ff7e['constructSignatures'],_0x55ff7e['stringIndexInfo'],_0x55ff7e[_0x1a4e('0x28b8')]);return _0xf79407['flags']=_0x55ff7e[_0x1a4e('0x7b2')],_0xf79407[_0x1a4e('0x2472')]|=0x80|0x4000&_0x368e5a[_0x1a4e('0x249a')](_0x55ff7e),_0x146f6e[_0x1a4e('0x28ed')]=_0xf79407,_0xf79407;}function _0x5b85c6(_0x368e5a,_0x146f6e,_0x2327c6){return{'parent':_0x368e5a,'propertyName':_0x146f6e,'siblings':_0x2327c6,'resolvedProperties':void 0x0};}function _0xed4f9c(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x29ca')]){for(var _0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x55ff7e=0x0,_0x1adc17=function _0x368e5a(_0x146f6e){if(!_0x146f6e['siblings']){for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x368e5a(_0x146f6e[_0x1a4e('0x11c')]);_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0x41f2fc(_0xf79407)){var _0x2c9ec9=_0x35b38f(_0xf79407,_0x146f6e[_0x1a4e('0x81a')]);_0x2c9ec9&&_0x16dc76(_0x38797c(_0x2c9ec9),function(_0x368e5a){_0x2327c6[_0x1a4e('0x46')](_0x368e5a);});}}_0x146f6e['siblings']=_0x2327c6;}return _0x146f6e[_0x1a4e('0x2a37')];}(_0x146f6e);_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0x41f2fc(_0xf79407)&&!(0x400&_0x368e5a[_0x1a4e('0x249a')](_0xf79407)))for(var _0x2c9ec9=0x0,_0x420b32=_0x41c062(_0xf79407);_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x2327c6[_0x1a4e('0x17a')](_0x1b06ad['escapedName'],_0x1b06ad);}}_0x146f6e[_0x1a4e('0x29ca')]=_0x368e5a['arrayFrom'](_0x2327c6[_0x1a4e('0x35b')]());}return _0x146f6e[_0x1a4e('0x29ca')];}function _0x32c60c(_0x368e5a,_0x146f6e){if(!(0x4&_0x368e5a[_0x1a4e('0x7b2')]))return _0x368e5a;var _0x2327c6=_0x38797c(_0x368e5a),_0x55ff7e=_0xfad24b(_0x2327c6,_0x146f6e&&_0x5b85c6(_0x146f6e,_0x368e5a[_0x1a4e('0x22e8')],void 0x0));return _0x55ff7e===_0x2327c6?_0x368e5a:_0x5af529(_0x368e5a,_0x55ff7e);}function _0x284a00(_0x368e5a){var _0x146f6e=_0x5868a5['get'](_0x368e5a['escapedName']);if(_0x146f6e)return _0x146f6e;var _0x2327c6=_0x5af529(_0x368e5a,_0x57a5b4);return _0x2327c6[_0x1a4e('0x7b2')]|=0x1000000,_0x5868a5[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x22e8')],_0x2327c6),_0x2327c6;}function _0x3a6dfd(_0x368e5a){return _0xfad24b(_0x368e5a,void 0x0);}function _0xfad24b(_0x146f6e,_0x2327c6){if(0x18000000&_0x146f6e[_0x1a4e('0x7b2')]){if(0x18000&_0x146f6e[_0x1a4e('0x7b2')])return _0x330555;if(_0x41f2fc(_0x146f6e))return function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x22e7')](),_0x1adc17=0x0,_0xf79407=_0x192d7d(_0x146f6e);_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x55ff7e['set'](_0x2c9ec9[_0x1a4e('0x22e8')],_0x32c60c(_0x2c9ec9,_0x2327c6));}if(_0x2327c6)for(var _0x420b32=0x0,_0x1b06ad=_0xed4f9c(_0x2327c6);_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++)_0x2c9ec9=_0x1b06ad[_0x420b32],_0x55ff7e[_0x1a4e('0x178')](_0x2c9ec9['escapedName'])||_0x55ff7e[_0x1a4e('0x17a')](_0x2c9ec9['escapedName'],_0x284a00(_0x2c9ec9));var _0x326eae=_0x5c197b(_0x146f6e,0x0),_0x56674b=_0x5c197b(_0x146f6e,0x1),_0x415952=_0x1178b7(_0x146f6e['symbol'],_0x55ff7e,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a['emptyArray'],_0x326eae&&_0x2c1884(_0x3a6dfd(_0x326eae['type']),_0x326eae['isReadonly']),_0x56674b&&_0x2c1884(_0x3a6dfd(_0x56674b[_0x1a4e('0x40')]),_0x56674b[_0x1a4e('0x28bc')]));return _0x415952[_0x1a4e('0x2472')]|=0x4000&_0x368e5a['getObjectFlags'](_0x146f6e),_0x415952;}(_0x146f6e,_0x2327c6);if(0x100000&_0x146f6e[_0x1a4e('0x7b2')]){var _0x55ff7e=_0x2327c6||_0x5b85c6(void 0x0,void 0x0,_0x146f6e['types']),_0x1adc17=_0x368e5a[_0x1a4e('0x170d')](_0x146f6e[_0x1a4e('0x2380')],function(_0x368e5a){return 0x18000&_0x368e5a[_0x1a4e('0x7b2')]?_0x368e5a:_0xfad24b(_0x368e5a,_0x55ff7e);});return _0x2d74ef(_0x1adc17,_0x368e5a[_0x1a4e('0x1c2')](_0x1adc17,_0x3d48fd)?0x2:0x1);}if(_0x4ba777(_0x146f6e)||_0x102fd6(_0x146f6e))return _0x34525d(_0x146f6e[_0x1a4e('0xd95')],_0x368e5a[_0x1a4e('0x170d')](_0x146f6e[_0x1a4e('0x2365')],_0x3a6dfd));}return _0x146f6e;}function _0x323398(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x5ad709(_0x3a6dfd(_0x2327c6));if(!_0x368e5a['isInJSFile'](_0x146f6e)||_0x368e5a[_0x1a4e('0x25e3')](_0x368e5a[_0x1a4e('0x1674')](_0x146f6e),_0x239ab2)){var _0x1adc17;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xcc:case 0x9a:case 0x99:_0x1adc17=_0x59c9de?_0x368e5a[_0x1a4e('0x167d')]['Member_0_implicitly_has_an_1_type']:_0x368e5a[_0x1a4e('0x167d')]['Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage'];break;case 0x97:var _0xf79407=_0x146f6e;if(_0x368e5a[_0x1a4e('0x2370')](_0xf79407[_0x1a4e('0x2cb')])&&(_0x368e5a[_0x1a4e('0x24dd')](_0xf79407[_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x29a3')](_0xf79407[_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x24de')](_0xf79407[_0x1a4e('0x11c')]))&&_0xf79407['parent'][_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0xf79407)>-0x1&&(_0x1e09ab(_0xf79407,_0xf79407[_0x1a4e('0x2cb')]['escapedText'],0x40c09e8,void 0x0,_0xf79407[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')],!0x0)||_0xf79407['name'][_0x1a4e('0x23f8')]&&_0x368e5a[_0x1a4e('0x24a3')](_0xf79407[_0x1a4e('0x2cb')]['originalKeywordKind']))){var _0x2c9ec9=_0x1a4e('0x1363')+_0xf79407['parent'][_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0xf79407);return void _0x44f98b(_0x59c9de,_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2a38')],_0x2c9ec9,_0x368e5a['declarationNameToString'](_0xf79407[_0x1a4e('0x2cb')]));}_0x1adc17=_0x146f6e[_0x1a4e('0x25f9')]?_0x59c9de?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a39')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3a')]:_0x59c9de?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3b')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2a3c')];break;case 0xba:_0x1adc17=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3d')];break;case 0x121:return void _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3e')],_0x55ff7e);case 0xef:case 0x9c:case 0x9b:case 0x9e:case 0x9f:case 0xc4:case 0xc5:if(_0x59c9de&&!_0x146f6e[_0x1a4e('0x2cb')])return void _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3f')],_0x55ff7e);_0x1adc17=_0x59c9de?_0x368e5a[_0x1a4e('0x167d')]['_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type']:_0x368e5a['Diagnostics'][_0x1a4e('0x2a40')];break;case 0xb5:return void(_0x59c9de&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a41')]));default:_0x1adc17=_0x59c9de?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a42')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a43')];}_0x44f98b(_0x59c9de,_0x146f6e,_0x1adc17,_0x368e5a[_0x1a4e('0x1676')](_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e)),_0x55ff7e);}}function _0x22569b(_0x146f6e,_0x2327c6){_0x1adc17&&_0x59c9de&&0x8000000&_0x2327c6[_0x1a4e('0x7b2')]&&(function _0x146f6e(_0x2327c6){var _0x55ff7e=!0x1;if(0x8000000&_0x2327c6[_0x1a4e('0x7b2')]){if(0x100000&_0x2327c6['flags'])if(_0x368e5a[_0x1a4e('0x1c2')](_0x2327c6['types'],_0x3d48fd))_0x55ff7e=!0x0;else for(var _0x1adc17=0x0,_0xf79407=_0x2327c6[_0x1a4e('0x2380')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++)_0x146f6e(_0x56674b=_0xf79407[_0x1adc17])&&(_0x55ff7e=!0x0);if(_0x4ba777(_0x2327c6)||_0x102fd6(_0x2327c6))for(var _0x2c9ec9=0x0,_0x420b32=_0x2327c6[_0x1a4e('0x2365')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++)_0x146f6e(_0x56674b=_0x420b32[_0x2c9ec9])&&(_0x55ff7e=!0x0);if(_0x41f2fc(_0x2327c6))for(var _0x1b06ad=0x0,_0x326eae=_0x192d7d(_0x2327c6);_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b,_0x415952=_0x326eae[_0x1b06ad];0x8000000&(_0x56674b=_0x38797c(_0x415952))[_0x1a4e('0x7b2')]&&(_0x146f6e(_0x56674b)||_0x2cb4f4(_0x415952[_0x1a4e('0x2340')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a44')],_0x22aa27(_0x415952),_0x5ad709(_0x3a6dfd(_0x56674b))),_0x55ff7e=!0x0);}}return _0x55ff7e;}(_0x2327c6)||_0x323398(_0x146f6e,_0x2327c6));}function _0x4045ba(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x34d119(_0x368e5a),_0x1adc17=_0x34d119(_0x146f6e),_0xf79407=_0x596b5f(_0x368e5a),_0x2c9ec9=_0x596b5f(_0x146f6e),_0x420b32=_0x2c9ec9?_0x1adc17-0x1:_0x1adc17,_0x1b06ad=_0xf79407?_0x420b32:Math[_0x1a4e('0x74')](_0x55ff7e,_0x420b32),_0x326eae=_0x14fcfd(_0x368e5a);if(_0x326eae){var _0x56674b=_0x14fcfd(_0x146f6e);_0x56674b&&_0x2327c6(_0x326eae,_0x56674b);}for(var _0x415952=0x0;_0x415952<_0x1b06ad;_0x415952++)_0x2327c6(_0x4eb09c(_0x368e5a,_0x415952),_0x4eb09c(_0x146f6e,_0x415952));_0x2c9ec9&&_0x2327c6(_0x13839c(_0x368e5a,_0x1b06ad),_0x2c9ec9);}function _0x291f0f(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x1adc17?_0x1adc17[_0x1a4e('0x21')](_0x4fa2ae):_0x368e5a[_0x1a4e('0x21')](_0x2bbfd3),_0x2c9ec9=function(_0x368e5a){for(var _0x146f6e=0x0;_0x146f6e<_0xf79407[_0x1a4e('0x1e')];_0x146f6e++)if(_0x368e5a===_0xf79407[_0x146f6e][_0x1a4e('0x2668')])return _0xf79407[_0x146f6e][_0x1a4e('0x2a45')]=!0x0,_0x4a1490(_0x2c9ec9,_0x146f6e);return _0x368e5a;};return _0x2c9ec9[_0x1a4e('0x23d7')]=_0x368e5a,_0x2c9ec9[_0x1a4e('0xabc')]=_0x146f6e,_0x2c9ec9['inferences']=_0xf79407,_0x2c9ec9[_0x1a4e('0x7b2')]=_0x2327c6,_0x2c9ec9[_0x1a4e('0x2a46')]=_0x55ff7e||_0x3a6d9b,_0x2c9ec9;}function _0x2bbfd3(_0x368e5a){return{'typeParameter':_0x368e5a,'candidates':void 0x0,'contraCandidates':void 0x0,'inferredType':void 0x0,'priority':void 0x0,'topLevel':!0x0,'isFixed':!0x1};}function _0x4fa2ae(_0x368e5a){return{'typeParameter':_0x368e5a[_0x1a4e('0x2668')],'candidates':_0x368e5a['candidates']&&_0x368e5a[_0x1a4e('0x2a47')][_0x1a4e('0x78')](),'contraCandidates':_0x368e5a['contraCandidates']&&_0x368e5a[_0x1a4e('0x2a48')][_0x1a4e('0x78')](),'inferredType':_0x368e5a[_0x1a4e('0x2a49')],'priority':_0x368e5a[_0x1a4e('0x16a1')],'topLevel':_0x368e5a[_0x1a4e('0x2a4a')],'isFixed':_0x368e5a[_0x1a4e('0x2a45')]};}function _0x5b44ce(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x249a')](_0x146f6e);return!!(0x3c40000&_0x146f6e['flags']||0x4&_0x2327c6&&_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2365')],_0x5b44ce)||0x10&_0x2327c6&&_0x146f6e[_0x1a4e('0xb1b')]&&0x2830&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]||0x20&_0x2327c6||0x300000&_0x146f6e['flags']&&function(_0x146f6e){return void 0x0===_0x146f6e[_0x1a4e('0x2a4b')]&&(_0x146f6e[_0x1a4e('0x2a4b')]=_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e['types'],_0x5b44ce)),_0x146f6e['couldContainTypeVariables'];}(_0x146f6e));}function _0x565059(_0x146f6e,_0x2327c6){return _0x146f6e===_0x2327c6||!!(0x300000&_0x146f6e['flags'])&&_0x368e5a['some'](_0x146f6e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x565059(_0x368e5a,_0x2327c6);});}function _0x4c726f(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e['id']+','+_0x2327c6['id']+','+_0x55ff7e['id'];if(_0x45aec5[_0x1a4e('0x178')](_0x1adc17))return _0x45aec5[_0x1a4e('0x179')](_0x1adc17);_0x45aec5[_0x1a4e('0x17a')](_0x1adc17,void 0x0);var _0xf79407=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x41c062(_0x146f6e);if(0x0!==_0x1adc17[_0x1a4e('0x1e')]||_0x5c197b(_0x146f6e,0x0)){for(var _0xf79407=0x0,_0x2c9ec9=_0x1adc17;_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(0x20000000&_0x38797c(_0x420b32)[_0x1a4e('0x7b2')])return;}if(_0x4ba777(_0x146f6e))return _0xfd8b5f(_0x4d90c1(_0x146f6e['typeArguments'][0x0],_0x2327c6,_0x55ff7e));if(_0x1fdfd3(_0x146f6e))return _0x500fbd(_0x4d90c1(_0x146f6e[_0x1a4e('0x2365')][0x0],_0x2327c6,_0x55ff7e));if(_0x102fd6(_0x146f6e)){var _0x1b06ad=_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2365')]||_0x368e5a[_0x1a4e('0x1700')],function(_0x368e5a){return _0x4d90c1(_0x368e5a,_0x2327c6,_0x55ff7e);}),_0x326eae=0x4&_0x118009(_0x2327c6)?_0x30457b(_0x146f6e)-(_0x146f6e[_0x1a4e('0xd95')][_0x1a4e('0x28a7')]?0x1:0x0):_0x146f6e[_0x1a4e('0xd95')]['minLength'];return _0x4c09c6(_0x1b06ad,_0x326eae,_0x146f6e[_0x1a4e('0xd95')][_0x1a4e('0x28a7')],_0x146f6e[_0x1a4e('0xd95')][_0x1a4e('0x29e8')]);}var _0x56674b=_0x1233a5(0x810,void 0x0);return _0x56674b[_0x1a4e('0xfaa')]=_0x146f6e,_0x56674b['mappedType']=_0x2327c6,_0x56674b['constraintType']=_0x55ff7e,_0x56674b;}}(_0x146f6e,_0x2327c6,_0x55ff7e);return _0x45aec5[_0x1a4e('0x17a')](_0x1adc17,_0xf79407),_0xf79407;}function _0x4d90c1(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x3d7297(_0x2327c6[_0x1a4e('0x40')],_0x108e5(_0x146f6e)),_0x1adc17=_0x4485f9(_0x146f6e),_0xf79407=_0x2bbfd3(_0x55ff7e);return _0xe9ae15([_0xf79407],_0x368e5a,_0x1adc17),_0x41de6a(_0xf79407);}function _0x2e03d0(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9;return _0x1b06ad(this,function(_0x420b32){switch(_0x420b32[_0x1a4e('0x1bc')]){case 0x0:_0x55ff7e=0x200000&_0x146f6e['flags']?_0x136b49(_0x146f6e):_0x192d7d(_0x146f6e),_0x1adc17=0x0,_0xf79407=_0x55ff7e,_0x420b32['label']=0x1;case 0x1:return _0x1adc17<_0xf79407[_0x1a4e('0x1e')]?(_0x2c9ec9=_0xf79407[_0x1adc17],!_0x2327c6&&0x1000000&_0x2c9ec9['flags']?[0x3,0x3]:_0x3c127b(_0x368e5a,_0x2c9ec9[_0x1a4e('0x22e8')])?[0x3,0x3]:[0x4,_0x2c9ec9]):[0x3,0x4];case 0x2:_0x420b32[_0x1a4e('0x128a')](),_0x420b32[_0x1a4e('0x1bc')]=0x3;case 0x3:return _0x1adc17++,[0x3,0x1];case 0x4:return[0x2];}});}function _0x515f29(_0x368e5a,_0x146f6e,_0x2327c6){return _0x2e03d0(_0x368e5a,_0x146f6e,_0x2327c6)[_0x1a4e('0x7e')]()[_0x1a4e('0x255')];}function _0x20f8ab(_0x368e5a,_0x146f6e){return _0x102fd6(_0x368e5a)&&_0x102fd6(_0x146f6e)&&function(_0x368e5a,_0x146f6e){return _0x146f6e[_0x1a4e('0xd95')][_0x1a4e('0x28c6')]>_0x368e5a['target']['minLength']||!_0x49b3ef(_0x146f6e)&&(!!_0x49b3ef(_0x368e5a)||_0x493462(_0x146f6e)<_0x493462(_0x368e5a));}(_0x368e5a,_0x146f6e)||!!_0x515f29(_0x368e5a,_0x146f6e,!0x1)&&!!_0x515f29(_0x146f6e,_0x368e5a,!0x1);}function _0x41de6a(_0x368e5a){return _0x368e5a[_0x1a4e('0x2a47')]?_0x2d74ef(_0x368e5a[_0x1a4e('0x2a47')],0x2):_0x368e5a['contraCandidates']?_0xffdb94(_0x368e5a[_0x1a4e('0x2a48')]):_0x126d3e;}function _0xe9ae15(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9;void 0x0===_0x1adc17&&(_0x1adc17=0x0);var _0x420b32,_0x1b06ad=!0x1,_0x326eae=!0x1,_0x56674b=!0x0;function _0x415952(_0x146f6e,_0x2327c6){if(_0x5b44ce(_0x2327c6)){if(_0x146f6e===_0x5a2bb4){var _0x57b692=_0x420b32;return _0x420b32=_0x146f6e,_0x415952(_0x2327c6,_0x2327c6),void(_0x420b32=_0x57b692);}if(_0x146f6e[_0x1a4e('0x28ac')]&&_0x146f6e[_0x1a4e('0x28ad')]&&_0x146f6e[_0x1a4e('0x28ac')]===_0x2327c6[_0x1a4e('0x28ac')])for(var _0x1ad11f=_0x146f6e[_0x1a4e('0x28ad')],_0x35bd0a=_0x2327c6['aliasTypeArguments'],_0x36aa2e=0x0;_0x36aa2e<_0x1ad11f[_0x1a4e('0x1e')];_0x36aa2e++)_0x415952(_0x1ad11f[_0x36aa2e],_0x35bd0a[_0x36aa2e]);else{if(0x100000&_0x146f6e[_0x1a4e('0x7b2')]&&0x100000&_0x2327c6[_0x1a4e('0x7b2')]&&!(0x400&_0x146f6e[_0x1a4e('0x7b2')]&&0x400&_0x2327c6[_0x1a4e('0x7b2')])||0x200000&_0x146f6e['flags']&&0x200000&_0x2327c6[_0x1a4e('0x7b2')]){if(_0x146f6e===_0x2327c6){for(var _0x30b3ec=0x0,_0x1b487e=_0x146f6e[_0x1a4e('0x2380')];_0x30b3ec<_0x1b487e['length'];_0x30b3ec++)_0x415952(_0x5c483a=_0x1b487e[_0x30b3ec],_0x5c483a);return;}for(var _0x3d8f5d=void 0x0,_0x15a30a=0x0,_0x1369b6=_0x146f6e[_0x1a4e('0x2380')];_0x15a30a<_0x1369b6['length'];_0x15a30a++)if(_0x57ef96(_0x5c483a=_0x1369b6[_0x15a30a],_0x2327c6[_0x1a4e('0x2380')]))(_0x3d8f5d||(_0x3d8f5d=[]))[_0x1a4e('0x46')](_0x5c483a),_0x415952(_0x5c483a,_0x5c483a);else if(0x180&_0x5c483a[_0x1a4e('0x7b2')]){var _0x7151b1=_0x3a5471(_0x5c483a);_0x57ef96(_0x7151b1,_0x2327c6[_0x1a4e('0x2380')])&&(_0x3d8f5d||(_0x3d8f5d=[]))[_0x1a4e('0x46')](_0x5c483a,_0x7151b1);}_0x3d8f5d&&(_0x146f6e=_0x3dc12c(_0x146f6e,_0x3d8f5d),_0x2327c6=_0x3dc12c(_0x2327c6,_0x3d8f5d));}if(0x840000&_0x2327c6[_0x1a4e('0x7b2')]){if(0x20000000&_0x146f6e[_0x1a4e('0x7b2')]||_0x146f6e===_0x396dd7||0x8&_0x1adc17&&(_0x146f6e===_0x344569||_0x146f6e===_0x121129))return;var _0x188821=_0x88bf03(_0x2327c6);if(_0x188821){if(!_0x188821[_0x1a4e('0x2a45')]){if((void 0x0===_0x188821[_0x1a4e('0x16a1')]||_0x1adc17<_0x188821[_0x1a4e('0x16a1')])&&(_0x188821[_0x1a4e('0x2a47')]=void 0x0,_0x188821[_0x1a4e('0x2a48')]=void 0x0,_0x188821[_0x1a4e('0x16a1')]=_0x1adc17),_0x1adc17===_0x188821[_0x1a4e('0x16a1')]){var _0x362306=_0x420b32||_0x146f6e;_0x1b06ad&&!_0x326eae?_0x188821[_0x1a4e('0x2a48')]=_0x368e5a['appendIfUnique'](_0x188821[_0x1a4e('0x2a48')],_0x362306):_0x188821[_0x1a4e('0x2a47')]=_0x368e5a['appendIfUnique'](_0x188821[_0x1a4e('0x2a47')],_0x362306);}0x8&_0x1adc17||!(0x40000&_0x2327c6[_0x1a4e('0x7b2')])||_0x565059(_0x55ff7e,_0x2327c6)||(_0x188821[_0x1a4e('0x2a4a')]=!0x1);}return;}var _0x5934d9=_0x2915f5(_0x2327c6);if(_0x5934d9!==_0x2327c6)_0x3a2418(_0x146f6e,_0x5934d9);else if(0x800000&_0x2327c6[_0x1a4e('0x7b2')]){var _0x239ab2=_0x2915f5(_0x2327c6['indexType']);if(0x3c40000&_0x239ab2[_0x1a4e('0x7b2')]){var _0x1b8154=_0x44789d(_0x2915f5(_0x2327c6[_0x1a4e('0x2601')]),_0x239ab2);_0x1b8154&&_0x1b8154!==_0x2327c6&&_0x3a2418(_0x146f6e,_0x1b8154);}}}if(0x4&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&0x4&_0x368e5a[_0x1a4e('0x249a')](_0x2327c6)&&_0x146f6e[_0x1a4e('0xd95')]===_0x2327c6[_0x1a4e('0xd95')]){_0x1ad11f=_0x146f6e[_0x1a4e('0x2365')]||_0x368e5a[_0x1a4e('0x1700')],_0x35bd0a=_0x2327c6[_0x1a4e('0x2365')]||_0x368e5a['emptyArray'];var _0x2918ee=_0x1ad11f[_0x1a4e('0x1e')]<_0x35bd0a[_0x1a4e('0x1e')]?_0x1ad11f['length']:_0x35bd0a[_0x1a4e('0x1e')],_0x3c5414=_0x5d14e2(_0x146f6e['target']);for(_0x36aa2e=0x0;_0x36aa2e<_0x2918ee;_0x36aa2e++)_0x36aa2e<_0x3c5414[_0x1a4e('0x1e')]&&0x2===_0x3c5414[_0x36aa2e]?_0x46923a(_0x1ad11f[_0x36aa2e],_0x35bd0a[_0x36aa2e]):_0x415952(_0x1ad11f[_0x36aa2e],_0x35bd0a[_0x36aa2e]);}else if(0x400000&_0x146f6e[_0x1a4e('0x7b2')]&&0x400000&_0x2327c6[_0x1a4e('0x7b2')])_0x1b06ad=!_0x1b06ad,_0x415952(_0x146f6e[_0x1a4e('0x40')],_0x2327c6[_0x1a4e('0x40')]),_0x1b06ad=!_0x1b06ad;else if((_0x4844a5(_0x146f6e)||0x4&_0x146f6e[_0x1a4e('0x7b2')])&&0x400000&_0x2327c6[_0x1a4e('0x7b2')]){var _0x4f3c04=function(_0x146f6e){var _0x2327c6=_0x368e5a['createSymbolTable']();_0x16dc76(_0x146f6e,function(_0x146f6e){if(0x80&_0x146f6e[_0x1a4e('0x7b2')]){var _0x55ff7e=_0x368e5a[_0x1a4e('0x22f4')](_0x146f6e[_0x1a4e('0x255')]),_0x1adc17=_0x4ecc5b(0x4,_0x55ff7e);_0x1adc17[_0x1a4e('0x40')]=_0x330555,_0x146f6e[_0x1a4e('0xb1b')]&&(_0x1adc17[_0x1a4e('0x22e5')]=_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')],_0x1adc17[_0x1a4e('0x2340')]=_0x146f6e[_0x1a4e('0xb1b')]['valueDeclaration']),_0x2327c6[_0x1a4e('0x17a')](_0x55ff7e,_0x1adc17);}});var _0x55ff7e=0x4&_0x146f6e['flags']?_0x2c1884(_0x126d3e,!0x1):void 0x0;return _0x1178b7(void 0x0,_0x2327c6,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],_0x55ff7e,void 0x0);}(_0x146f6e);_0x1b06ad=!_0x1b06ad;var _0x43e7af=_0x1adc17;_0x1adc17|=0x10,_0x415952(_0x4f3c04,_0x2327c6['type']),_0x1adc17=_0x43e7af,_0x1b06ad=!_0x1b06ad;}else if(0x800000&_0x146f6e[_0x1a4e('0x7b2')]&&0x800000&_0x2327c6[_0x1a4e('0x7b2')])_0x415952(_0x146f6e[_0x1a4e('0x2601')],_0x2327c6[_0x1a4e('0x2601')]),_0x415952(_0x146f6e[_0x1a4e('0x2669')],_0x2327c6['indexType']);else if(0x1000000&_0x146f6e['flags']&&0x1000000&_0x2327c6[_0x1a4e('0x7b2')])_0x415952(_0x146f6e[_0x1a4e('0x25fd')],_0x2327c6[_0x1a4e('0x25fd')]),_0x415952(_0x146f6e[_0x1a4e('0x25fe')],_0x2327c6[_0x1a4e('0x25fe')]),_0x415952(_0x27baa4(_0x146f6e),_0x27baa4(_0x2327c6)),_0x415952(_0x49f40f(_0x146f6e),_0x49f40f(_0x2327c6));else if(0x1000000&_0x2327c6[_0x1a4e('0x7b2')])_0x415952(_0x146f6e,_0x2d74ef([_0x27baa4(_0x2327c6),_0x49f40f(_0x2327c6)]));else if(0x300000&_0x2327c6[_0x1a4e('0x7b2')]){for(var _0x547b08=0x0,_0x2c2aaa=void 0x0,_0x59c9de=0x0,_0xba6af4=_0x35bd0a=_0x2327c6[_0x1a4e('0x2380')];_0x59c9de<_0xba6af4['length'];_0x59c9de++){var _0x5c483a;_0x88bf03(_0x5c483a=_0xba6af4[_0x59c9de])?(_0x2c2aaa=_0x5c483a,_0x547b08++):_0x415952(_0x146f6e,_0x5c483a);}0x1===_0x547b08&&(_0x43e7af=_0x1adc17,_0x1adc17|=0x1,_0x415952(_0x146f6e,_0x2c2aaa),_0x1adc17=_0x43e7af);}else if(0x100000&_0x146f6e[_0x1a4e('0x7b2')])for(var _0x44918a=0x0,_0x425632=_0x1ad11f=_0x146f6e[_0x1a4e('0x2380')];_0x44918a<_0x425632[_0x1a4e('0x1e')];_0x44918a++)_0x415952(_0x425632[_0x44918a],_0x2327c6);else{if(!(0x20&_0x1adc17&&0x3e40000&_0x146f6e[_0x1a4e('0x7b2')])){var _0x12cd5e=_0x26521d(_0x146f6e);if(_0x12cd5e!==_0x146f6e&&_0x56674b&&!(0x280000&_0x12cd5e[_0x1a4e('0x7b2')]))return _0x56674b=!0x1,_0x415952(_0x12cd5e,_0x2327c6);_0x146f6e=_0x12cd5e;}if(0x280000&_0x146f6e['flags']){var _0x515765=_0x146f6e['id']+','+_0x2327c6['id'];if(_0x2c9ec9&&_0x2c9ec9['get'](_0x515765))return;(_0x2c9ec9||(_0x2c9ec9=_0x368e5a[_0x1a4e('0x1772')]()))[_0x1a4e('0x17a')](_0x515765,!0x0);var _0x11451b=0x80000&_0x2327c6['flags']&&!(0x10&_0x368e5a[_0x1a4e('0x249a')](_0x2327c6)&&_0x2327c6[_0x1a4e('0xb1b')]&&0x20&_0x2327c6[_0x1a4e('0xb1b')]['flags'])?_0x2327c6['symbol']:void 0x0;if(_0x11451b){if(_0x368e5a['contains'](_0xf79407,_0x11451b))return;(_0xf79407||(_0xf79407=[]))[_0x1a4e('0x46')](_0x11451b),_0x434714(_0x146f6e,_0x2327c6),_0xf79407[_0x1a4e('0x76')]();}else _0x434714(_0x146f6e,_0x2327c6);}}}}function _0x3a2418(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['id']+','+_0x2327c6['id'];_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x179')](_0x55ff7e)||((_0x2c9ec9||(_0x2c9ec9=_0x368e5a[_0x1a4e('0x1772')]()))['set'](_0x55ff7e,!0x0),_0x415952(_0x146f6e,_0x2327c6));}}function _0x46923a(_0x368e5a,_0x146f6e){_0x43e7af||0x40&_0x1adc17?(_0x1b06ad=!_0x1b06ad,_0x415952(_0x368e5a,_0x146f6e),_0x1b06ad=!_0x1b06ad):_0x415952(_0x368e5a,_0x146f6e);}function _0x88bf03(_0x368e5a){if(0x840000&_0x368e5a[_0x1a4e('0x7b2')])for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(_0x368e5a===_0x1adc17[_0x1a4e('0x2668')])return _0x1adc17;}}function _0x434714(_0x146f6e,_0x2327c6){_0x2e49b5(_0x146f6e)&&_0x2e49b5(_0x2327c6)&&(_0x415952(_0x5e43c6(_0x146f6e),_0x5e43c6(_0x2327c6)),_0x415952(_0x4485f9(_0x146f6e),_0x4485f9(_0x2327c6))),0x20&_0x368e5a['getObjectFlags'](_0x2327c6)&&function _0x146f6e(_0x2327c6,_0x55ff7e,_0xf79407){if(0x100000&_0xf79407[_0x1a4e('0x7b2')]){for(var _0x2c9ec9=!0x1,_0x420b32=0x0,_0x1b06ad=_0xf79407[_0x1a4e('0x2380')];_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++)_0x2c9ec9=_0x146f6e(_0x2327c6,_0x55ff7e,_0x1b06ad[_0x420b32])||_0x2c9ec9;return _0x2c9ec9;}if(0x400000&_0xf79407[_0x1a4e('0x7b2')]){var _0x326eae=_0x88bf03(_0xf79407[_0x1a4e('0x40')]);if(_0x326eae&&!_0x326eae[_0x1a4e('0x2a45')]){var _0x56674b=_0x4c726f(_0x2327c6,_0x55ff7e,_0xf79407);if(_0x56674b){var _0x46923a=_0x1adc17;_0x1adc17|=0x2,_0x415952(_0x56674b,_0x326eae[_0x1a4e('0x2668')]),_0x1adc17=_0x46923a;}}return!0x0;}return!!(0x40000&_0xf79407[_0x1a4e('0x7b2')])&&(_0x46923a=_0x1adc17,_0x1adc17|=0x4,_0x415952(_0x332557(_0x2327c6),_0xf79407),_0x1adc17=_0x46923a,_0x415952(_0x2d74ef(_0x368e5a['map'](_0x41c062(_0x2327c6),_0x38797c)),_0x4485f9(_0x55ff7e)),!0x0);}(_0x146f6e,_0x2327c6,_0x5e43c6(_0x2327c6))||_0x20f8ab(_0x146f6e,_0x2327c6)||(function(_0x368e5a,_0x146f6e){if(_0x102fd6(_0x368e5a)){if(_0x102fd6(_0x146f6e)){for(var _0x2327c6=_0x493462(_0x368e5a),_0x55ff7e=_0x493462(_0x146f6e),_0x1adc17=_0x49b3ef(_0x368e5a),_0xf79407=_0x49b3ef(_0x146f6e),_0x2c9ec9=_0x55ff7e<_0x2327c6||_0x1adc17?_0x55ff7e:_0x2327c6,_0x420b32=0x0;_0x420b32<_0x2c9ec9;_0x420b32++)_0x415952(_0x420b32<_0x2327c6?_0x368e5a['typeArguments'][_0x420b32]:_0x1adc17,_0x146f6e[_0x1a4e('0x2365')][_0x420b32]);if(_0xf79407){var _0x1b06ad=_0x2c9ec9<_0x2327c6?_0x368e5a[_0x1a4e('0x2365')][_0x1a4e('0x78')](_0x2c9ec9,_0x2327c6):[];_0x1adc17&&_0x1b06ad[_0x1a4e('0x46')](_0x1adc17),_0x1b06ad[_0x1a4e('0x1e')]&&_0x415952(_0x2d74ef(_0x1b06ad),_0xf79407);}return;}if(_0x4ba777(_0x146f6e))return void _0x35bd0a(_0x368e5a,_0x146f6e);}for(var _0x326eae=_0x192d7d(_0x146f6e),_0x56674b=0x0,_0x46923a=_0x326eae;_0x56674b<_0x46923a['length'];_0x56674b++){var _0x88bf03=_0x46923a[_0x56674b],_0x434714=_0x3c127b(_0x368e5a,_0x88bf03[_0x1a4e('0x22e8')]);_0x434714&&_0x415952(_0x38797c(_0x434714),_0x38797c(_0x88bf03));}}(_0x146f6e,_0x2327c6),_0x57b692(_0x146f6e,_0x2327c6,0x0),_0x57b692(_0x146f6e,_0x2327c6,0x1),_0x35bd0a(_0x146f6e,_0x2327c6));}function _0x57b692(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x7bcdc7(_0x368e5a,_0x2327c6),_0x1adc17=_0x7bcdc7(_0x146f6e,_0x2327c6),_0xf79407=_0x55ff7e[_0x1a4e('0x1e')],_0x2c9ec9=_0x1adc17[_0x1a4e('0x1e')],_0x420b32=_0xf79407<_0x2c9ec9?_0xf79407:_0x2c9ec9,_0x1b06ad=!!(0x20000000&_0x368e5a[_0x1a4e('0x7b2')]),_0x326eae=0x0;_0x326eae<_0x420b32;_0x326eae++)_0x1ad11f(_0x2b634f(_0x55ff7e[_0xf79407-_0x420b32+_0x326eae]),_0x2b634f(_0x1adc17[_0x2c9ec9-_0x420b32+_0x326eae]),_0x1b06ad);}function _0x1ad11f(_0x368e5a,_0x146f6e,_0x2327c6){if(!_0x2327c6){var _0x55ff7e=_0x326eae,_0x1adc17=_0x146f6e['declaration']?_0x146f6e[_0x1a4e('0x2350')][_0x1a4e('0x146b')]:0x0;_0x326eae=_0x326eae||0x9c===_0x1adc17||0x9b===_0x1adc17||0x9d===_0x1adc17,_0x4045ba(_0x368e5a,_0x146f6e,_0x46923a),_0x326eae=_0x55ff7e;}var _0xf79407=_0x13a441(_0x368e5a),_0x2c9ec9=_0x13a441(_0x146f6e);_0xf79407&&_0x2c9ec9&&_0xf79407[_0x1a4e('0x146b')]===_0x2c9ec9[_0x1a4e('0x146b')]?_0x415952(_0xf79407[_0x1a4e('0x40')],_0x2c9ec9[_0x1a4e('0x40')]):_0x415952(_0x4b6767(_0x368e5a),_0x4b6767(_0x146f6e));}function _0x35bd0a(_0x368e5a,_0x146f6e){var _0x2327c6=_0x3e5aca(_0x146f6e,0x0);_0x2327c6&&(_0x55ff7e=_0x3e5aca(_0x368e5a,0x0)||_0x2ad23d(_0x368e5a,0x0))&&_0x415952(_0x55ff7e,_0x2327c6);var _0x55ff7e,_0x1adc17=_0x3e5aca(_0x146f6e,0x1);_0x1adc17&&(_0x55ff7e=_0x3e5aca(_0x368e5a,0x1)||_0x3e5aca(_0x368e5a,0x0)||_0x2ad23d(_0x368e5a,0x1))&&_0x415952(_0x55ff7e,_0x1adc17);}_0x415952(_0x2327c6,_0x55ff7e);}function _0x57ef96(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++)if(_0x2ccc16(_0x55ff7e[_0x2327c6],_0x368e5a))return!0x0;return!0x1;}function _0x3dc12c(_0x368e5a,_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x368e5a['types'];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x57ef96(_0xf79407,_0x146f6e)||_0x2327c6[_0x1a4e('0x46')](_0xf79407);}return 0x100000&_0x368e5a[_0x1a4e('0x7b2')]?_0x2d74ef(_0x2327c6):_0xffdb94(_0x2327c6);}function _0x41f2fc(_0x146f6e){return!!(0x80&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e));}function _0x55e04d(_0x146f6e){return 0x1c&_0x146f6e['priority']?_0xffdb94(_0x146f6e['contraCandidates']):(_0x2327c6=_0x146f6e[_0x1a4e('0x2a48')],_0x368e5a[_0x1a4e('0x1727')](_0x2327c6,function(_0x368e5a,_0x146f6e){return _0x2a8a4b(_0x146f6e,_0x368e5a)?_0x146f6e:_0x368e5a;}));var _0x2327c6;}function _0x6cc20b(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17,_0xf79407=function(_0x146f6e){if(_0x146f6e['length']>0x1){var _0x2327c6=_0x368e5a[_0x1a4e('0xd9')](_0x146f6e,_0x41f2fc);if(_0x2327c6[_0x1a4e('0x1e')]){var _0x55ff7e=_0x3a6dfd(_0x2d74ef(_0x2327c6,0x2));return _0x368e5a['concatenate'](_0x368e5a[_0x1a4e('0xd9')](_0x146f6e,function(_0x368e5a){return!_0x41f2fc(_0x368e5a);}),[_0x55ff7e]);}}return _0x146f6e;}(_0x146f6e[_0x1a4e('0x2a47')]),_0x2c9ec9=(_0x55ff7e=_0x146f6e[_0x1a4e('0x2668')],!!(_0x1adc17=_0x2a8efa(_0x55ff7e))&&_0x1a74b9(0x1000000&_0x1adc17['flags']?_0x1aba91(_0x1adc17):_0x1adc17,0x41fffc)),_0x420b32=!_0x2c9ec9&&_0x146f6e[_0x1a4e('0x2a4a')]&&(_0x146f6e[_0x1a4e('0x2a45')]||!_0x565059(_0x4b6767(_0x2327c6),_0x146f6e['typeParameter'])),_0x1b06ad=_0x2c9ec9?_0x368e5a['sameMap'](_0xf79407,_0x4da784):_0x420b32?_0x368e5a[_0x1a4e('0x170d')](_0xf79407,_0x2802a6):_0xf79407;return _0x3a6dfd(0x1c&_0x146f6e['priority']?_0x2d74ef(_0x1b06ad,0x2):function(_0x146f6e){if(!_0x4f3c04)return _0x4e1a90(_0x146f6e);var _0x2327c6=_0x368e5a[_0x1a4e('0xd9')](_0x146f6e,function(_0x368e5a){return!(0x18000&_0x368e5a[_0x1a4e('0x7b2')]);});return _0x2327c6[_0x1a4e('0x1e')]?_0x22b61d(_0x4e1a90(_0x2327c6),0x18000&_0x213472(_0x146f6e)):_0x2d74ef(_0x146f6e,0x2);}(_0x1b06ad));}function _0x4a1490(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x28ea')][_0x146f6e],_0x55ff7e=_0x2327c6[_0x1a4e('0x2a49')];if(!_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0xabc')];if(_0x1adc17){var _0xf79407=_0x2327c6[_0x1a4e('0x2a47')]?_0x6cc20b(_0x2327c6,_0x1adc17):void 0x0;if(_0x2327c6[_0x1a4e('0x2a48')]){var _0x2c9ec9=_0x55e04d(_0x2327c6);_0x55ff7e=!_0xf79407||0x20000&_0xf79407[_0x1a4e('0x7b2')]||!_0x2a8a4b(_0xf79407,_0x2c9ec9)?_0x2c9ec9:_0xf79407;}else if(_0xf79407)_0x55ff7e=_0xf79407;else if(0x1&_0x368e5a['flags'])_0x55ff7e=_0x396dd7;else{var _0x420b32=_0x41f224(_0x2327c6[_0x1a4e('0x2668')]);_0x55ff7e=_0x420b32?_0x1e1445(_0x420b32,_0x6317f3(function(_0x368e5a,_0x146f6e){return function(_0x2327c6){return _0x368e5a[_0x1a4e('0x3e')](_0x2327c6)>=_0x146f6e?_0x126d3e:_0x2327c6;};}(_0x368e5a[_0x1a4e('0xabc')][_0x1a4e('0x23d7')],_0x146f6e),_0x368e5a)):_0x25a22a(!!(0x2&_0x368e5a[_0x1a4e('0x7b2')]));}}else _0x55ff7e=_0x41de6a(_0x2327c6);_0x2327c6['inferredType']=_0x55ff7e;var _0x1b06ad=_0x2a8efa(_0x2327c6[_0x1a4e('0x2668')]);if(_0x1b06ad){var _0x326eae=_0x1e1445(_0x1b06ad,_0x368e5a);_0x368e5a[_0x1a4e('0x2a46')](_0x55ff7e,_0x98e900(_0x326eae,_0x55ff7e))||(_0x2327c6['inferredType']=_0x55ff7e=_0x326eae);}}return _0x55ff7e;}function _0x25a22a(_0x368e5a){return _0x368e5a?_0x330555:_0x126d3e;}function _0x203546(_0x368e5a){for(var _0x146f6e=[],_0x2327c6=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x28ea')][_0x1a4e('0x1e')];_0x2327c6++)_0x146f6e[_0x1a4e('0x46')](_0x4a1490(_0x368e5a,_0x2327c6));return _0x146f6e;}function _0x181521(_0x146f6e){switch(_0x146f6e){case _0x1a4e('0x134a'):case'console':return _0x368e5a[_0x1a4e('0x167d')]['Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom'];case'$':return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a4c')];case _0x1a4e('0x2a4d'):case'suite':case'it':case _0x1a4e('0x8d0'):return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a4e')];case _0x1a4e('0x1154'):case _0x1a4e('0xfd8'):case _0x1a4e('0x870'):case _0x1a4e('0xa6c'):return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a4f')];case _0x1a4e('0xf51'):case _0x1a4e('0xe45'):case _0x1a4e('0xf55'):case _0x1a4e('0xf5b'):case'WeakMap':case'WeakSet':case'Iterator':case'AsyncIterator':return _0x368e5a['Diagnostics']['Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later'];default:return _0x368e5a['Diagnostics'][_0x1a4e('0x2a50')];}}function _0x1642fe(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);return _0x2327c6['resolvedSymbol']||(_0x2327c6['resolvedSymbol']=!_0x368e5a['nodeIsMissing'](_0x146f6e)&&_0x1e09ab(_0x146f6e,_0x146f6e[_0x1a4e('0x22f3')],0x411b3bf,_0x181521(_0x146f6e['escapedText']),_0x146f6e,!_0x368e5a['isWriteOnlyAccess'](_0x146f6e),!0x1,_0x368e5a['Diagnostics']['Cannot_find_name_0_Did_you_mean_1'])||_0x450499),_0x2327c6[_0x1a4e('0x296c')];}function _0x2e5e8d(_0x146f6e){return!!_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x368e5a){return 0xa7===_0x368e5a[_0x1a4e('0x146b')]||0x48!==_0x368e5a['kind']&&0x94!==_0x368e5a[_0x1a4e('0x146b')]&&_0x1a4e('0x1b55');});}function _0x3d5855(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];if(0xb8!==_0x2327c6[_0x1a4e('0x146b')])return''+_0x2327c6['elements']['indexOf'](_0x146f6e);var _0x55ff7e=_0x146f6e['propertyName']||_0x146f6e['name'];switch(_0x55ff7e['kind']){case 0x48:return _0x368e5a['idText'](_0x55ff7e);case 0x95:return _0x368e5a[_0x1a4e('0x2674')](_0x55ff7e[_0x1a4e('0x2302')])?_0x55ff7e[_0x1a4e('0x2302')]['text']:void 0x0;case 0xa:case 0x8:return _0x55ff7e[_0x1a4e('0xe04')];default:_0x368e5a['Debug']['fail']('Unexpected\x20name\x20kind\x20for\x20binding\x20element\x20name');}}function _0x3d2a23(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return 0x48===_0x2327c6[_0x1a4e('0x146b')]&&_0x1642fe(_0x146f6e)===_0x1642fe(_0x2327c6)||(0xed===_0x2327c6[_0x1a4e('0x146b')]||0xba===_0x2327c6['kind'])&&_0x244de7(_0x1642fe(_0x146f6e))===_0x54a27b(_0x2327c6);case 0x64:return 0x64===_0x2327c6[_0x1a4e('0x146b')];case 0x62:return 0x62===_0x2327c6[_0x1a4e('0x146b')];case 0xbd:case 0xbe:return(_0x368e5a[_0x1a4e('0x2371')](_0x2327c6)||_0x368e5a['isElementAccessExpression'](_0x2327c6))&&_0x5929ea(_0x146f6e)===_0x5929ea(_0x2327c6)&&_0x3d2a23(_0x146f6e['expression'],_0x2327c6['expression']);case 0xba:if(0xbd===_0x2327c6[_0x1a4e('0x146b')]&&_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]===_0x3d5855(_0x146f6e)){var _0x55ff7e=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')];if(0xba===_0x55ff7e['kind'])return _0x3d2a23(_0x55ff7e,_0x2327c6[_0x1a4e('0x2302')]);if(0xed===_0x55ff7e[_0x1a4e('0x146b')]){var _0x1adc17=_0x55ff7e[_0x1a4e('0x236a')];return!!_0x1adc17&&_0x3d2a23(_0x1adc17,_0x2327c6['expression']);}}}return!0x1;}function _0x5929ea(_0x146f6e){return _0x368e5a[_0x1a4e('0x2371')](_0x146f6e)?_0x146f6e['name']['escapedText']:_0x368e5a[_0x1a4e('0x2374')](_0x146f6e[_0x1a4e('0x24a7')])||_0x368e5a[_0x1a4e('0x2334')](_0x146f6e[_0x1a4e('0x24a7')])?_0x368e5a[_0x1a4e('0x22f4')](_0x146f6e[_0x1a4e('0x24a7')][_0x1a4e('0xe04')]):void 0x0;}function _0x156d9f(_0x368e5a){if(0xbd===_0x368e5a['kind'])return _0x368e5a['expression'];if(0xba===_0x368e5a[_0x1a4e('0x146b')]){var _0x146f6e=_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')];return 0xed===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e['initializer']:_0x146f6e;}}function _0x50027a(_0x368e5a,_0x146f6e){for(var _0x2327c6=_0x156d9f(_0x368e5a);_0x2327c6;){if(_0x3d2a23(_0x2327c6,_0x146f6e))return!0x0;_0x2327c6=_0x156d9f(_0x2327c6);}}function _0x716993(_0x368e5a,_0x146f6e){return 0xbd===_0x146f6e[_0x1a4e('0x146b')]&&_0x50027a(_0x368e5a,_0x146f6e[_0x1a4e('0x2302')])&&_0x5422af(_0x283bc6(_0x146f6e['expression']),_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]);}function _0x283bc6(_0x368e5a){if(0x48===_0x368e5a['kind'])return _0x38797c(_0x1642fe(_0x368e5a));if(0xbd===_0x368e5a[_0x1a4e('0x146b')]){var _0x146f6e=_0x283bc6(_0x368e5a['expression']);return _0x146f6e&&_0x2032e1(_0x146f6e,_0x368e5a[_0x1a4e('0x2cb')]['escapedText']);}}function _0x5422af(_0x146f6e,_0x2327c6){if(_0x146f6e&&0x100000&_0x146f6e['flags']){var _0x55ff7e=_0x5719cb(_0x146f6e,_0x2327c6);if(_0x55ff7e&&0x2&_0x368e5a['getCheckFlags'](_0x55ff7e))return void 0x0===_0x55ff7e['isDiscriminantProperty']&&(_0x55ff7e[_0x1a4e('0x2a51')]=!!(0x20&_0x55ff7e['checkFlags'])&&function(_0x368e5a){if(0x100000&_0x368e5a[_0x1a4e('0x7b2')]){if(0x410&_0x368e5a[_0x1a4e('0x7b2')])return!0x0;for(var _0x146f6e=0x0,_0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2380')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++)_0x146f6e|=_0x55ff7e[_0x2327c6][_0x1a4e('0x7b2')];if(0x1ab80&_0x146f6e&&!(0x3c40000&_0x146f6e))return!0x0;}return!0x1;}(_0x38797c(_0x55ff7e))),!!_0x55ff7e['isDiscriminantProperty'];}return!0x1;}function _0x306ef1(_0x368e5a){var _0x146f6e=_0x283bc6(_0x368e5a);return!!(_0x146f6e&&0x100000&_0x146f6e[_0x1a4e('0x7b2')]);}function _0x2b9af9(_0x368e5a,_0x146f6e){return _0x3d2a23(_0x368e5a,_0x146f6e)||_0x50027a(_0x368e5a,_0x146f6e);}function _0x306dad(_0x368e5a,_0x146f6e){if(_0x368e5a!==_0x146f6e){if(0x20000&_0x146f6e[_0x1a4e('0x7b2')])return _0x146f6e;var _0x2327c6=_0x5056ee(_0x368e5a,function(_0x368e5a){return function(_0x368e5a,_0x146f6e){if(!(0x100000&_0x368e5a[_0x1a4e('0x7b2')]))return _0x720afc(_0x368e5a,_0x146f6e);for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2380')];_0x2327c6<_0x55ff7e['length'];_0x2327c6++)if(_0x720afc(_0x55ff7e[_0x2327c6],_0x146f6e))return!0x0;return!0x1;}(_0x146f6e,_0x368e5a);});if(0x200&_0x146f6e[_0x1a4e('0x7b2')]&&_0x37edbe(_0x146f6e)&&(_0x2327c6=_0x578997(_0x2327c6,_0xa14567)),_0x720afc(_0x146f6e,_0x2327c6))return _0x2327c6;}return _0x368e5a;}function _0x4a5dc6(_0x368e5a){var _0x146f6e=_0x4a724b(_0x368e5a);return!!(_0x146f6e['callSignatures'][_0x1a4e('0x1e')]||_0x146f6e[_0x1a4e('0x2888')]['length']||_0x146f6e[_0x1a4e('0x2369')][_0x1a4e('0x179')](_0x1a4e('0x945'))&&_0x2a8a4b(_0x368e5a,_0x437267));}function _0x3ea85e(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x7b2')];if(0x4&_0x2327c6)return _0x4f3c04?0xf8fe01:0xfffe01;if(0x80&_0x2327c6){var _0x55ff7e=''===_0x146f6e[_0x1a4e('0x255')];return _0x4f3c04?_0x55ff7e?0xb8fe01:0x78fe01:_0x55ff7e?0xbffe01:0xfffe01;}if(0x28&_0x2327c6)return _0x4f3c04?0xf8fd02:0xfffd02;if(0x100&_0x2327c6){var _0x1adc17=0x0===_0x146f6e[_0x1a4e('0x255')];return _0x4f3c04?_0x1adc17?0xb8fd02:0x78fd02:_0x1adc17?0xbffd02:0xfffd02;}return 0x40&_0x2327c6?_0x4f3c04?0xf8fb04:0xfffb04:0x800&_0x2327c6?(_0x1adc17=_0x45f44c(_0x146f6e),_0x4f3c04?_0x1adc17?0xb8fb04:0x78fb04:_0x1adc17?0xbffb04:0xfffb04):0x10&_0x2327c6?_0x4f3c04?0xf8f708:0xfff708:0x210&_0x2327c6?_0x4f3c04?_0x146f6e===_0x4b250a||_0x146f6e===_0x29b6ee?0xb8f708:0x78f708:_0x146f6e===_0x4b250a||_0x146f6e===_0x29b6ee?0xbff708:0xfff708:0x80000&_0x2327c6?0x10&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&_0x3d48fd(_0x146f6e)?_0x4f3c04?0xf8ffff:0xffffff:_0x4a5dc6(_0x146f6e)?_0x4f3c04?0x783fc0:0xff3fc0:_0x4f3c04?0x785fa0:0xff5fa0:0xc000&_0x2327c6?0x95ff00:0x10000&_0x2327c6?0x8edf20:0x3000&_0x2327c6?_0x4f3c04?0x78ef10:0xffef10:0x4000000&_0x2327c6?_0x4f3c04?0x785fa0:0xff5fa0:0x3c40000&_0x2327c6?_0x3ea85e(_0x1953ea(_0x146f6e)||_0x126d3e):0x300000&_0x2327c6?function(_0x368e5a){for(var _0x146f6e=0x0,_0x2327c6=0x0,_0x55ff7e=_0x368e5a;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++)_0x146f6e|=_0x3ea85e(_0x55ff7e[_0x2327c6]);return _0x146f6e;}(_0x146f6e[_0x1a4e('0x2380')]):0xffffff;}function _0x2c784a(_0x368e5a,_0x146f6e){return _0x5056ee(_0x368e5a,function(_0x368e5a){return 0x0!=(_0x3ea85e(_0x368e5a)&_0x146f6e);});}function _0x11ccad(_0x368e5a,_0x146f6e){if(_0x146f6e){var _0x2327c6=_0x1dceed(_0x146f6e);return _0x2d74ef([_0x2c784a(_0x368e5a,0x80000),_0x2327c6]);}return _0x368e5a;}function _0x3c7182(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['getTextOfPropertyName'](_0x2327c6);return _0x527d5d(_0x2032e1(_0x146f6e,_0x55ff7e),_0x2327c6)||_0x2a5163(_0x55ff7e)&&_0x3e5aca(_0x146f6e,0x1)||_0x3e5aca(_0x146f6e,0x0)||_0x336c2;}function _0xf16586(_0x368e5a,_0x146f6e){return _0x307f32(_0x368e5a,_0x3572f9)&&_0x30c98f(_0x368e5a,_0x146f6e)||_0x625739(_0x368e5a,void 0x0,!0x1,!0x1)||_0x336c2;}function _0x4fda7c(_0x368e5a){return _0xfd8b5f(_0x625739(_0x368e5a,void 0x0,!0x1,!0x1)||_0x336c2);}function _0x5e23ac(_0x368e5a){return 0xcc===_0x368e5a['parent'][_0x1a4e('0x146b')]&&_0x368e5a['parent'][_0x1a4e('0x5f')]===_0x368e5a||0xe3===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a['parent'][_0x1a4e('0x236a')]===_0x368e5a;}function _0x21ea5f(_0x368e5a){return _0x3c7182(_0x134bb6(_0x368e5a[_0x1a4e('0x11c')]),_0x368e5a[_0x1a4e('0x2cb')]);}function _0x134bb6(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x11c')];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xe2:return _0x1d9562;case 0xe3:return _0x1f8afd(_0x146f6e['expression'],_0x146f6e['awaitModifier'])||_0x336c2;case 0xcc:return function(_0x368e5a){return 0xbb===_0x368e5a['parent']['kind']&&_0x5e23ac(_0x368e5a[_0x1a4e('0x11c')])||0x113===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x5e23ac(_0x368e5a['parent'][_0x1a4e('0x11c')])?_0x11ccad(_0x134bb6(_0x368e5a),_0x368e5a['right']):_0x1dceed(_0x368e5a[_0x1a4e('0x5d')]);}(_0x146f6e);case 0xc6:return _0x57a5b4;case 0xbb:return function(_0x368e5a,_0x146f6e){return _0xf16586(_0x134bb6(_0x368e5a),_0x368e5a[_0x1a4e('0x2398')][_0x1a4e('0x3e')](_0x146f6e));}(_0x146f6e,_0x368e5a);case 0xd0:return function(_0x368e5a){return _0x4fda7c(_0x134bb6(_0x368e5a[_0x1a4e('0x11c')]));}(_0x146f6e);case 0x113:return _0x21ea5f(_0x146f6e);case 0x114:return function(_0x368e5a){return _0x11ccad(_0x21ea5f(_0x368e5a),_0x368e5a[_0x1a4e('0x2471')]);}(_0x146f6e);}return _0x336c2;}function _0x36fcf0(_0x368e5a){return _0x368e5a['initializer']?function(_0x368e5a){return _0x165ecf(_0x368e5a)[_0x1a4e('0x29e0')]||_0x1dceed(_0x368e5a);}(_0x368e5a[_0x1a4e('0x236a')]):0xe2===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x1d9562:0xe3===_0x368e5a['parent'][_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x1f8afd(_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x2678')])||_0x336c2;}function _0x245547(_0x368e5a){return 0xed===_0x368e5a['kind']?_0x36fcf0(_0x368e5a):function(_0x368e5a){var _0x146f6e=_0x368e5a['parent'],_0x2327c6=_0x245547(_0x146f6e[_0x1a4e('0x11c')]);return _0x11ccad(0xb8===_0x146f6e[_0x1a4e('0x146b')]?_0x3c7182(_0x2327c6,_0x368e5a[_0x1a4e('0x81a')]||_0x368e5a['name']):_0x368e5a[_0x1a4e('0x25f9')]?_0x4fda7c(_0x2327c6):_0xf16586(_0x2327c6,_0x146f6e[_0x1a4e('0x2398')][_0x1a4e('0x3e')](_0x368e5a)),_0x368e5a['initializer']);}(_0x368e5a);}function _0x1c45a7(_0x368e5a,_0x146f6e){return _0x527d5d(0xed===_0x368e5a[_0x1a4e('0x146b')]||0xba===_0x368e5a[_0x1a4e('0x146b')]?_0x245547(_0x368e5a):_0x134bb6(_0x368e5a),_0x146f6e);}function _0x3d7232(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xc3:return _0x3d7232(_0x368e5a[_0x1a4e('0x2302')]);case 0xcc:switch(_0x368e5a['operatorToken'][_0x1a4e('0x146b')]){case 0x3b:return _0x3d7232(_0x368e5a[_0x1a4e('0x5f')]);case 0x1b:return _0x3d7232(_0x368e5a[_0x1a4e('0x5d')]);}}return _0x368e5a;}function _0xf67c66(_0x368e5a){return 0x10f===_0x368e5a['kind']?_0x4da784(_0x1dceed(_0x368e5a[_0x1a4e('0x2302')])):_0x530b09;}function _0x103c1c(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);if(!_0x146f6e[_0x1a4e('0x2a52')]){_0x146f6e[_0x1a4e('0x2a52')]=[];for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2608')][_0x1a4e('0x2609')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x146f6e[_0x1a4e('0x2a52')][_0x1a4e('0x46')](_0xf67c66(_0x1adc17));}}return _0x146f6e[_0x1a4e('0x2a52')];}function _0x4cf294(_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2608')][_0x1a4e('0x2609')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0x10f===_0xf79407[_0x1a4e('0x146b')]){if(0xa===_0xf79407[_0x1a4e('0x2302')]['kind']){_0x2327c6[_0x1a4e('0x46')](_0xf79407[_0x1a4e('0x2302')][_0x1a4e('0xe04')]);continue;}return _0x368e5a[_0x1a4e('0x1700')];}_0x2327c6[_0x1a4e('0x46')](void 0x0);}return _0x2327c6;}function _0x5a8143(_0x368e5a,_0x146f6e){return _0x368e5a===_0x146f6e||0x100000&_0x146f6e['flags']&&function(_0x368e5a,_0x146f6e){if(0x100000&_0x368e5a[_0x1a4e('0x7b2')]){for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a['types'];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(!_0xa46926(_0x146f6e[_0x1a4e('0x2380')],_0x1adc17))return!0x1;}return!0x0;}return!!(0x400&_0x368e5a['flags']&&_0x52716f(_0x368e5a)===_0x146f6e)||_0xa46926(_0x146f6e[_0x1a4e('0x2380')],_0x368e5a);}(_0x368e5a,_0x146f6e);}function _0x16dc76(_0x146f6e,_0x2327c6){return 0x100000&_0x146f6e[_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x3b')](_0x146f6e['types'],_0x2327c6):_0x2327c6(_0x146f6e);}function _0x307f32(_0x146f6e,_0x2327c6){return 0x100000&_0x146f6e['flags']?_0x368e5a[_0x1a4e('0x114')](_0x146f6e[_0x1a4e('0x2380')],_0x2327c6):_0x2327c6(_0x146f6e);}function _0x5056ee(_0x146f6e,_0x2327c6){if(0x100000&_0x146f6e['flags']){var _0x55ff7e=_0x146f6e[_0x1a4e('0x2380')],_0x1adc17=_0x368e5a['filter'](_0x55ff7e,_0x2327c6);return _0x1adc17===_0x55ff7e?_0x146f6e:_0x49e132(_0x1adc17,_0x146f6e[_0x1a4e('0x29e9')]);}return _0x2327c6(_0x146f6e)?_0x146f6e:_0x530b09;}function _0x578997(_0x368e5a,_0x146f6e,_0x2327c6){if(0x20000&_0x368e5a[_0x1a4e('0x7b2')])return _0x368e5a;if(!(0x100000&_0x368e5a['flags']))return _0x146f6e(_0x368e5a);for(var _0x55ff7e,_0x1adc17,_0xf79407=0x0,_0x2c9ec9=_0x368e5a[_0x1a4e('0x2380')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x146f6e(_0x2c9ec9[_0xf79407]);_0x420b32&&(_0x55ff7e?_0x1adc17?_0x1adc17['push'](_0x420b32):_0x1adc17=[_0x55ff7e,_0x420b32]:_0x55ff7e=_0x420b32);}return _0x1adc17?_0x2d74ef(_0x1adc17,_0x2327c6?0x0:0x1):_0x55ff7e;}function _0xaf5842(_0x368e5a,_0x146f6e){return _0x5056ee(_0x368e5a,function(_0x368e5a){return 0x0!=(_0x368e5a[_0x1a4e('0x7b2')]&_0x146f6e);});}function _0x3779e9(_0x368e5a,_0x146f6e){return _0x5a8143(_0x1d9562,_0x368e5a)&&_0x1a74b9(_0x146f6e,0x80)||_0x5a8143(_0x4a492a,_0x368e5a)&&_0x1a74b9(_0x146f6e,0x100)||_0x5a8143(_0x95b336,_0x368e5a)&&_0x1a74b9(_0x146f6e,0x800)?_0x578997(_0x368e5a,function(_0x368e5a){return 0x4&_0x368e5a[_0x1a4e('0x7b2')]?_0xaf5842(_0x146f6e,0x84):0x8&_0x368e5a[_0x1a4e('0x7b2')]?_0xaf5842(_0x146f6e,0x108):0x40&_0x368e5a[_0x1a4e('0x7b2')]?_0xaf5842(_0x146f6e,0x840):_0x368e5a;}):_0x368e5a;}function _0x5c08cc(_0x368e5a){return 0x0===_0x368e5a[_0x1a4e('0x7b2')];}function _0x24d56d(_0x368e5a){return 0x0===_0x368e5a[_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x40')]:_0x368e5a;}function _0xc03a24(_0x368e5a,_0x146f6e){return _0x146f6e?{'flags':0x0,'type':_0x368e5a}:_0x368e5a;}function _0x2dea9c(_0x368e5a){return _0x4eb419[_0x368e5a['id']]||(_0x4eb419[_0x368e5a['id']]=function(_0x368e5a){var _0x146f6e=_0x1233a5(0x100);return _0x146f6e[_0x1a4e('0x2388')]=_0x368e5a,_0x146f6e;}(_0x368e5a));}function _0x46ea8c(_0x368e5a,_0x146f6e){var _0x2327c6=_0x3a5471(_0xe146a6(_0x146f6e));return _0x5a8143(_0x2327c6,_0x368e5a['elementType'])?_0x368e5a:_0x2dea9c(_0x2d74ef([_0x368e5a[_0x1a4e('0x2388')],_0x2327c6]));}function _0x3cb242(_0x368e5a){return _0x368e5a[_0x1a4e('0x2a53')]||(_0x368e5a[_0x1a4e('0x2a53')]=0x20000&(_0x146f6e=_0x368e5a[_0x1a4e('0x2388')])['flags']?_0x121129:_0xfd8b5f(0x100000&_0x146f6e[_0x1a4e('0x7b2')]?_0x2d74ef(_0x146f6e[_0x1a4e('0x2380')],0x2):_0x146f6e));var _0x146f6e;}function _0x38c512(_0x146f6e){return 0x100&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)?_0x3cb242(_0x146f6e):_0x146f6e;}function _0x48aa24(_0x146f6e){return 0x100&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)?_0x146f6e[_0x1a4e('0x2388')]:_0x530b09;}function _0x4994e3(_0x146f6e,_0x2327c6){return function(_0x146f6e){for(var _0x2327c6=!0x1,_0x55ff7e=0x0,_0x1adc17=_0x146f6e;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(!(0x20000&_0xf79407[_0x1a4e('0x7b2')])){if(!(0x100&_0x368e5a[_0x1a4e('0x249a')](_0xf79407)))return!0x1;_0x2327c6=!0x0;}}return _0x2327c6;}(_0x146f6e)?_0x2dea9c(_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x146f6e,_0x48aa24))):_0x2d74ef(_0x368e5a[_0x1a4e('0x170d')](_0x146f6e,_0x38c512),_0x2327c6);}function _0x1701f1(_0x146f6e){var _0x2327c6=function _0x368e5a(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];return 0xc3===_0x2327c6['kind']||0xcc===_0x2327c6['kind']&&0x3b===_0x2327c6[_0x1a4e('0x237a')][_0x1a4e('0x146b')]&&_0x2327c6[_0x1a4e('0x5f')]===_0x146f6e||0xcc===_0x2327c6['kind']&&0x1b===_0x2327c6['operatorToken']['kind']&&_0x2327c6[_0x1a4e('0x5d')]===_0x146f6e?_0x368e5a(_0x2327c6):_0x146f6e;}(_0x146f6e),_0x55ff7e=_0x2327c6[_0x1a4e('0x11c')],_0x1adc17=0xbd===_0x55ff7e['kind']&&(_0x1a4e('0x1e')===_0x55ff7e[_0x1a4e('0x2cb')]['escapedText']||0xbf===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2404')](_0x55ff7e[_0x1a4e('0x2cb')])),_0xf79407=0xbe===_0x55ff7e[_0x1a4e('0x146b')]&&_0x55ff7e[_0x1a4e('0x2302')]===_0x2327c6&&0xcc===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&0x3b===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x237a')]['kind']&&_0x55ff7e[_0x1a4e('0x11c')]['left']===_0x55ff7e&&!_0x368e5a[_0x1a4e('0x23dd')](_0x55ff7e[_0x1a4e('0x11c')])&&_0xc28455(_0x1dceed(_0x55ff7e[_0x1a4e('0x24a7')]),0x128);return _0x1adc17||_0xf79407;}function _0x573f87(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);return void 0x0===_0x2327c6[_0x1a4e('0x2a54')]&&(_0x2327c6[_0x1a4e('0x2a54')]=function(_0x146f6e){if(0x62!==_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')]){var _0x2327c6=_0x3dc62e(_0x146f6e['expression']);if(_0x2327c6!==_0x396dd7){var _0x55ff7e=_0x26521d(_0x2327c6);return _0x55ff7e!==_0x336c2&&_0x368e5a[_0x1a4e('0x1c2')](_0x7bcdc7(_0x55ff7e,0x0),_0x467bf3);}}return!0x1;}(_0x146f6e)),_0x2327c6[_0x1a4e('0x2a54')];}function _0x179bce(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x420b32;void 0x0===_0x55ff7e&&(_0x55ff7e=_0x2327c6);var _0x1b06ad=0x0;if(_0x22af89)return _0x336c2;if(!_0x146f6e[_0x1a4e('0x285f')]||!_0xf79407&&!(0x7fc3bff&_0x2327c6[_0x1a4e('0x7b2')]))return _0x2327c6;var _0x326eae=_0x59a20b,_0x415952=_0x24d56d(_0x88bf03(_0x146f6e[_0x1a4e('0x285f')]));_0x59a20b=_0x326eae;var _0x46923a=0x100&_0x368e5a['getObjectFlags'](_0x415952)&&_0x1701f1(_0x146f6e)?_0x121129:_0x38c512(_0x415952);return _0x146f6e[_0x1a4e('0x11c')]&&0xd5===_0x146f6e['parent']['kind']&&0x20000&_0x2c784a(_0x46923a,0x200000)[_0x1a4e('0x7b2')]?_0x2327c6:_0x46923a;function _0x88bf03(_0xf79407){if(0x7d0===_0x1b06ad)return _0x22af89=!0x0,_0x2c9ec9=_0x146f6e,_0x420b32=_0x368e5a['findAncestor'](_0x2c9ec9,_0x368e5a['isFunctionOrModuleBlock']),_0x56674b=_0x368e5a[_0x1a4e('0x1674')](_0x2c9ec9),_0x415952=_0x368e5a[_0x1a4e('0x2357')](_0x56674b,_0x420b32[_0x1a4e('0x2366')][_0x1a4e('0xa4')]),_0x125480[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x22f5')](_0x56674b,_0x415952[_0x1a4e('0xc9')],_0x415952[_0x1a4e('0x1e')],_0x368e5a[_0x1a4e('0x167d')]['The_containing_function_or_module_body_is_too_large_for_control_flow_analysis'])),_0x336c2;var _0x2c9ec9,_0x420b32,_0x56674b,_0x415952;for(_0x1b06ad++;;){var _0x46923a=_0xf79407['flags'];if(0x400&_0x46923a)for(var _0x1b487e=_0x326eae;_0x1b487e<_0x59a20b;_0x1b487e++)if(_0x50bcac[_0x1b487e]===_0xf79407)return _0x1b06ad--,_0x6f178b[_0x1b487e];var _0x3d8f5d=void 0x0;if(0x1000&_0x46923a)_0xf79407[_0x1a4e('0x2a55')]=!0x0,_0x3d8f5d=_0x88bf03(_0xf79407[_0x1a4e('0x2a56')]),_0xf79407[_0x1a4e('0x2a55')]=!0x1;else{if(0x800&_0x46923a){_0xf79407=_0xf79407['antecedent'];continue;}if(0x10&_0x46923a){if(!(_0x3d8f5d=_0x434714(_0xf79407))){_0xf79407=_0xf79407[_0x1a4e('0x2a56')];continue;}}else if(0x60&_0x46923a)_0x3d8f5d=_0x1ad11f(_0xf79407);else if(0x80&_0x46923a)_0x3d8f5d=_0x35bd0a(_0xf79407);else if(0xc&_0x46923a){if(0x1===_0xf79407[_0x1a4e('0x2851')][_0x1a4e('0x1e')]){_0xf79407=_0xf79407['antecedents'][0x0];continue;}_0x3d8f5d=0x4&_0x46923a?_0x36aa2e(_0xf79407):_0x30b3ec(_0xf79407);}else if(0x100&_0x46923a){if(!(_0x3d8f5d=_0x57b692(_0xf79407))){_0xf79407=_0xf79407[_0x1a4e('0x2a56')];continue;}}else if(0x2&_0x46923a){var _0x15a30a=_0xf79407['container'];if(_0x15a30a&&_0x15a30a!==_0x1adc17&&0xbd!==_0x146f6e['kind']&&0xbe!==_0x146f6e[_0x1a4e('0x146b')]&&0x64!==_0x146f6e[_0x1a4e('0x146b')]){_0xf79407=_0x15a30a[_0x1a4e('0x285f')];continue;}_0x3d8f5d=_0x55ff7e;}else _0x3d8f5d=_0x4130fb(_0x2327c6);}return 0x400&_0x46923a&&(_0x50bcac[_0x59a20b]=_0xf79407,_0x6f178b[_0x59a20b]=_0x3d8f5d,_0x59a20b++),_0x1b06ad--,_0x3d8f5d;}}function _0x434714(_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x80')];if(_0x3d2a23(_0x146f6e,_0x1adc17)){if(0x2===_0x368e5a['getAssignmentTargetKind'](_0x1adc17)){var _0xf79407=_0x88bf03(_0x55ff7e['antecedent']);return _0xc03a24(_0x3a5471(_0x24d56d(_0xf79407)),_0x5c08cc(_0xf79407));}if(_0x2327c6===_0x344569||_0x2327c6===_0x121129){if(function(_0x368e5a){return 0xed===_0x368e5a[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x236a')]&&_0x9ae278(_0x368e5a[_0x1a4e('0x236a')])||0xba!==_0x368e5a[_0x1a4e('0x146b')]&&0xcc===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x9ae278(_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x5d')]);}(_0x1adc17))return _0x2dea9c(_0x530b09);var _0x2c9ec9=_0x3a5471(_0x1c45a7(_0x1adc17,_0x146f6e));return _0x720afc(_0x2c9ec9,_0x2327c6)?_0x2c9ec9:_0x1a0acf;}return 0x100000&_0x2327c6[_0x1a4e('0x7b2')]?_0x306dad(_0x2327c6,_0x1c45a7(_0x1adc17,_0x146f6e)):_0x2327c6;}if(_0x50027a(_0x146f6e,_0x1adc17)){if(_0x368e5a['isVariableDeclaration'](_0x1adc17)&&(_0x368e5a[_0x1a4e('0x24e1')](_0x1adc17)||_0x368e5a['isVarConst'](_0x1adc17))){var _0x420b32=_0x368e5a[_0x1a4e('0x23b2')](_0x1adc17);if(_0x420b32&&(0xc4===_0x420b32['kind']||0xc5===_0x420b32['kind']))return _0x88bf03(_0x55ff7e[_0x1a4e('0x2a56')]);}return _0x2327c6;}if(_0x368e5a[_0x1a4e('0x238d')](_0x1adc17)&&0xe2===_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x3d2a23(_0x146f6e,_0x1adc17['parent'][_0x1a4e('0x11c')][_0x1a4e('0x2302')]))return _0x300ae0(_0x24d56d(_0x88bf03(_0x55ff7e[_0x1a4e('0x2a56')])));}function _0x57b692(_0x55ff7e){if(_0x2327c6===_0x344569||_0x2327c6===_0x121129){var _0x1adc17=_0x55ff7e[_0x1a4e('0x80')],_0xf79407=0xbf===_0x1adc17['kind']?_0x1adc17[_0x1a4e('0x2302')][_0x1a4e('0x2302')]:_0x1adc17[_0x1a4e('0x5f')][_0x1a4e('0x2302')];if(_0x3d2a23(_0x146f6e,_0x3d7232(_0xf79407))){var _0x2c9ec9=_0x88bf03(_0x55ff7e['antecedent']),_0x420b32=_0x24d56d(_0x2c9ec9);if(0x100&_0x368e5a[_0x1a4e('0x249a')](_0x420b32)){var _0x1b06ad=_0x420b32;if(0xbf===_0x1adc17[_0x1a4e('0x146b')])for(var _0x326eae=0x0,_0x56674b=_0x1adc17['arguments'];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++)_0x1b06ad=_0x46ea8c(_0x1b06ad,_0x56674b[_0x326eae]);else _0xc28455(_0xe146a6(_0x1adc17[_0x1a4e('0x5f')]['argumentExpression']),0x128)&&(_0x1b06ad=_0x46ea8c(_0x1b06ad,_0x1adc17['right']));return _0x1b06ad===_0x420b32?_0x2c9ec9:_0xc03a24(_0x1b06ad,_0x5c08cc(_0x2c9ec9));}return _0x2c9ec9;}}}function _0x1ad11f(_0x368e5a){var _0x146f6e=_0x88bf03(_0x368e5a[_0x1a4e('0x2a56')]),_0x2327c6=_0x24d56d(_0x146f6e);if(0x20000&_0x2327c6['flags'])return _0x146f6e;var _0x55ff7e=0x0!=(0x20&_0x368e5a['flags']),_0x1adc17=_0x38c512(_0x2327c6),_0xf79407=_0x2918ee(_0x1adc17,_0x368e5a[_0x1a4e('0x2302')],_0x55ff7e);if(_0xf79407===_0x1adc17)return _0x146f6e;var _0x2c9ec9=_0x5c08cc(_0x146f6e);return _0xc03a24(_0x2c9ec9&&0x20000&_0xf79407[_0x1a4e('0x7b2')]?_0x396dd7:_0xf79407,_0x2c9ec9);}function _0x35bd0a(_0x55ff7e){var _0x1adc17=_0x55ff7e['switchStatement'][_0x1a4e('0x2302')];if(_0x716993(_0x146f6e,_0x1adc17))return _0x2327c6;var _0xf79407=_0x88bf03(_0x55ff7e[_0x1a4e('0x2a56')]),_0x2c9ec9=_0x24d56d(_0xf79407);return _0x3d2a23(_0x146f6e,_0x1adc17)?_0x2c9ec9=_0x5934d9(_0x2c9ec9,_0x55ff7e['switchStatement'],_0x55ff7e['clauseStart'],_0x55ff7e['clauseEnd']):_0x1b487e(_0x1adc17,_0x2c9ec9)?_0x2c9ec9=_0x3d8f5d(_0x2c9ec9,_0x1adc17,function(_0x368e5a){return _0x5934d9(_0x368e5a,_0x55ff7e[_0x1a4e('0x2a57')],_0x55ff7e[_0x1a4e('0x2a58')],_0x55ff7e[_0x1a4e('0x2a59')]);}):0xc7===_0x1adc17['kind']&&_0x3d2a23(_0x146f6e,_0x1adc17[_0x1a4e('0x2302')])&&(_0x2c9ec9=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x4cf294(_0x2327c6);if(!_0xf79407[_0x1a4e('0x1e')])return _0x146f6e;var _0x2c9ec9,_0x420b32,_0x1b06ad=_0x368e5a[_0x1a4e('0x5cb')](_0xf79407,function(_0x368e5a){return void 0x0===_0x368e5a;}),_0x326eae=_0x55ff7e===_0x1adc17||_0x1b06ad>=_0x55ff7e&&_0x1b06ad<_0x1adc17;if(_0x1b06ad>-0x1){var _0x56674b=_0xf79407[_0x1a4e('0xd9')](function(_0x368e5a){return void 0x0!==_0x368e5a;}),_0x415952=_0x1b06ad<_0x55ff7e?_0x55ff7e-0x1:_0x55ff7e,_0x46923a=_0x1b06ad<_0x1adc17?_0x1adc17-0x1:_0x1adc17;_0x2c9ec9=_0x56674b[_0x1a4e('0x78')](_0x415952,_0x46923a),_0x420b32=_0x6f3ab8(_0x415952,_0x46923a,_0x56674b,_0x326eae);}else _0x2c9ec9=_0xf79407[_0x1a4e('0x78')](_0x55ff7e,_0x1adc17),_0x420b32=_0x6f3ab8(_0x55ff7e,_0x1adc17,_0xf79407,_0x326eae);if(_0x326eae)return _0x5056ee(_0x146f6e,function(_0x368e5a){return(_0x3ea85e(_0x368e5a)&_0x420b32)===_0x420b32;});var _0x88bf03,_0x434714=_0x2c784a(_0x2d74ef(_0x2c9ec9[_0x1a4e('0x21')](function(_0x368e5a){return function(_0x368e5a,_0x146f6e){switch(_0x146f6e){case _0x1a4e('0x68'):return 0x1&_0x368e5a['flags']?_0x368e5a:_0x437267;case _0x1a4e('0x85'):return 0x2&_0x368e5a[_0x1a4e('0x7b2')]?_0x2d74ef([_0x48476c,_0x406341]):_0x368e5a;default:return _0x269784[_0x1a4e('0x179')](_0x146f6e)||_0x368e5a;}}(_0x146f6e,_0x368e5a);})),_0x420b32);return 0x100000&_0x434714[_0x1a4e('0x7b2')]&&(_0x434714=_0x306dad(_0x434714,_0x11ec19(_0x146f6e))),_0x2c784a(_0x578997(_0x146f6e,(_0x88bf03=_0x434714,function(_0x368e5a){if(_0x2a8a4b(_0x88bf03,_0x368e5a))return _0x88bf03;if(0x3c40000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x146f6e=_0x1953ea(_0x368e5a)||_0x330555;if(_0x2a8a4b(_0x88bf03,_0x146f6e))return _0xffdb94([_0x368e5a,_0x88bf03]);}return _0x368e5a;})),_0x420b32);}(_0x2c9ec9,_0x55ff7e[_0x1a4e('0x2a57')],_0x55ff7e[_0x1a4e('0x2a58')],_0x55ff7e['clauseEnd'])),_0xc03a24(_0x2c9ec9,_0x5c08cc(_0xf79407));}function _0x36aa2e(_0x146f6e){for(var _0x1adc17=[],_0xf79407=!0x1,_0x2c9ec9=!0x1,_0x420b32=0x0,_0x1b06ad=_0x146f6e[_0x1a4e('0x2851')];_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];if(!(0x800&_0x326eae[_0x1a4e('0x7b2')]&&_0x326eae[_0x1a4e('0x284f')]['locked'])){var _0x56674b=_0x88bf03(_0x326eae),_0x415952=_0x24d56d(_0x56674b);if(_0x415952===_0x2327c6&&_0x2327c6===_0x55ff7e)return _0x415952;_0x368e5a[_0x1a4e('0x171d')](_0x1adc17,_0x415952),_0x5a8143(_0x415952,_0x2327c6)||(_0xf79407=!0x0),_0x5c08cc(_0x56674b)&&(_0x2c9ec9=!0x0);}}return _0xc03a24(_0x4994e3(_0x1adc17,_0xf79407?0x2:0x1),_0x2c9ec9);}function _0x30b3ec(_0x55ff7e){var _0x1adc17=function(_0x368e5a){return _0x368e5a['id']||(_0x368e5a['id']=_0x2c9ec9,_0x2c9ec9++),_0x368e5a['id'];}(_0x55ff7e),_0xf79407=_0x1fdf9d[_0x1adc17]||(_0x1fdf9d[_0x1adc17]=_0x368e5a[_0x1a4e('0x1772')]());if(!_0x420b32&&!(_0x420b32=function _0x146f6e(_0x2327c6){if(0x48===_0x2327c6['kind']){var _0x55ff7e=_0x1642fe(_0x2327c6);return _0x55ff7e!==_0x450499?(_0x5ed3af(_0x2327c6)?'@':'')+_0x56674b(_0x55ff7e):void 0x0;}if(0x64===_0x2327c6[_0x1a4e('0x146b')])return'0';if(0xbd===_0x2327c6['kind'])return(_0xf79407=_0x146f6e(_0x2327c6['expression']))&&_0xf79407+'.'+_0x368e5a[_0x1a4e('0x2353')](_0x2327c6[_0x1a4e('0x2cb')]);if(0xba===_0x2327c6['kind']){var _0x1adc17=_0x2327c6[_0x1a4e('0x11c')]['parent'],_0xf79407=0xba===_0x1adc17[_0x1a4e('0x146b')]?_0x146f6e(_0x1adc17):_0x1adc17[_0x1a4e('0x236a')]&&_0x146f6e(_0x1adc17[_0x1a4e('0x236a')]),_0x2c9ec9=_0x3d5855(_0x2327c6);return _0xf79407&&_0x2c9ec9&&_0xf79407+'.'+_0x2c9ec9;}}(_0x146f6e)))return _0x2327c6;var _0x1b06ad=_0xf79407[_0x1a4e('0x179')](_0x420b32);if(_0x1b06ad)return _0x1b06ad;for(var _0x326eae=_0xd133a5;_0x326eae<_0x3b2814;_0x326eae++)if(_0x4099f1[_0x326eae]===_0x55ff7e&&_0x3d0f9c[_0x326eae]===_0x420b32&&_0xb4815f[_0x326eae][_0x1a4e('0x1e')])return _0xc03a24(_0x4994e3(_0xb4815f[_0x326eae],0x1),!0x0);var _0x415952,_0x46923a=[],_0x434714=!0x1;_0x4099f1[_0x3b2814]=_0x55ff7e,_0x3d0f9c[_0x3b2814]=_0x420b32,_0xb4815f[_0x3b2814]=_0x46923a;for(var _0x57b692=0x0,_0x1ad11f=_0x55ff7e[_0x1a4e('0x2851')];_0x57b692<_0x1ad11f['length'];_0x57b692++){var _0x35bd0a=_0x1ad11f[_0x57b692];_0x3b2814++;var _0x36aa2e=_0x88bf03(_0x35bd0a);_0x3b2814--,_0x415952||(_0x415952=_0x36aa2e);var _0x30b3ec=_0x24d56d(_0x36aa2e),_0x1b487e=_0xf79407[_0x1a4e('0x179')](_0x420b32);if(_0x1b487e)return _0x1b487e;if(_0x368e5a[_0x1a4e('0x171d')](_0x46923a,_0x30b3ec),_0x5a8143(_0x30b3ec,_0x2327c6)||(_0x434714=!0x0),_0x30b3ec===_0x2327c6)break;}var _0x3d8f5d=_0x4994e3(_0x46923a,_0x434714?0x2:0x1);return _0x5c08cc(_0x415952)?_0xc03a24(_0x3d8f5d,!0x0):(_0xf79407[_0x1a4e('0x17a')](_0x420b32,_0x3d8f5d),_0x3d8f5d);}function _0x1b487e(_0x368e5a,_0x2327c6){if(!(0x100000&_0x2327c6[_0x1a4e('0x7b2')])||0xbd!==_0x368e5a[_0x1a4e('0x146b')]&&0xbe!==_0x368e5a[_0x1a4e('0x146b')])return!0x1;var _0x55ff7e=_0x368e5a,_0x1adc17=_0x5929ea(_0x55ff7e);return!!_0x1adc17&&_0x3d2a23(_0x146f6e,_0x55ff7e[_0x1a4e('0x2302')])&&_0x5422af(_0x2327c6,_0x1adc17);}function _0x3d8f5d(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x5929ea(_0x146f6e);if(!_0x55ff7e)return _0x368e5a;var _0x1adc17=_0x2032e1(_0x368e5a,_0x55ff7e),_0xf79407=_0x1adc17&&_0x2327c6(_0x1adc17);return _0x1adc17===_0xf79407?_0x368e5a:_0x5056ee(_0x368e5a,function(_0x368e5a){return _0x4dc252(_0x2032e1(_0x368e5a,_0x55ff7e),_0xf79407);});}function _0x15a30a(_0x368e5a,_0x55ff7e,_0x1adc17){return _0x3d2a23(_0x146f6e,_0x55ff7e)?_0x2c784a(_0x368e5a,_0x1adc17?0x400000:0x800000):_0x1b487e(_0x55ff7e,_0x2327c6)?_0x3d8f5d(_0x368e5a,_0x55ff7e,function(_0x368e5a){return _0x2c784a(_0x368e5a,_0x1adc17?0x400000:0x800000);}):_0x716993(_0x146f6e,_0x55ff7e)?_0x2327c6:_0x368e5a;}function _0x1369b6(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x180000&_0x146f6e[_0x1a4e('0x7b2')]||0x40000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x146f6e[_0x1a4e('0x28a3')]){var _0x1adc17=_0x368e5a[_0x1a4e('0x22f4')](_0x2327c6[_0x1a4e('0xe04')]);return _0x5056ee(_0x146f6e,function(_0x368e5a){return function(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x5c197b(_0x368e5a,0x0))return!0x0;var _0x55ff7e=_0x3c127b(_0x368e5a,_0x146f6e);return _0x55ff7e?!!(0x1000000&_0x55ff7e[_0x1a4e('0x7b2')])||_0x2327c6:!_0x2327c6;}(_0x368e5a,_0x1adc17,_0x55ff7e);});}return _0x146f6e;}function _0x7151b1(_0x55ff7e,_0x1adc17,_0xf79407){switch(_0x1adc17[_0x1a4e('0x237a')]['kind']){case 0x3b:return _0x15a30a(_0x55ff7e,_0x1adc17['left'],_0xf79407);case 0x21:case 0x22:case 0x23:case 0x24:var _0x2c9ec9=_0x1adc17[_0x1a4e('0x237a')]['kind'],_0x420b32=_0x3d7232(_0x1adc17['left']),_0x1b06ad=_0x3d7232(_0x1adc17[_0x1a4e('0x5d')]);if(0xc7===_0x420b32[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2855')](_0x1b06ad))return _0x362306(_0x55ff7e,_0x420b32,_0x2c9ec9,_0x1b06ad,_0xf79407);if(0xc7===_0x1b06ad[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2855')](_0x420b32))return _0x362306(_0x55ff7e,_0x1b06ad,_0x2c9ec9,_0x420b32,_0xf79407);if(_0x3d2a23(_0x146f6e,_0x420b32))return _0x188821(_0x55ff7e,_0x2c9ec9,_0x1b06ad,_0xf79407);if(_0x3d2a23(_0x146f6e,_0x1b06ad))return _0x188821(_0x55ff7e,_0x2c9ec9,_0x420b32,_0xf79407);if(_0x1b487e(_0x420b32,_0x2327c6))return _0x3d8f5d(_0x55ff7e,_0x420b32,function(_0x368e5a){return _0x188821(_0x368e5a,_0x2c9ec9,_0x1b06ad,_0xf79407);});if(_0x1b487e(_0x1b06ad,_0x2327c6))return _0x3d8f5d(_0x55ff7e,_0x1b06ad,function(_0x368e5a){return _0x188821(_0x368e5a,_0x2c9ec9,_0x420b32,_0xf79407);});if(_0x716993(_0x146f6e,_0x420b32)||_0x716993(_0x146f6e,_0x1b06ad))return _0x2327c6;break;case 0x5e:return function(_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x3d7232(_0x1adc17['left']);if(!_0x3d2a23(_0x146f6e,_0x2c9ec9))return _0x50027a(_0x146f6e,_0x2c9ec9)&&_0x306ef1(_0x2c9ec9)?_0x2327c6:_0x55ff7e;var _0x420b32,_0x1b06ad=_0x1dceed(_0x1adc17[_0x1a4e('0x5d')]);if(!_0x2d3211(_0x1b06ad,_0x437267))return _0x55ff7e;var _0x326eae=_0x3c127b(_0x1b06ad,'prototype');if(_0x326eae){var _0x56674b=_0x38797c(_0x326eae);_0x4e7589(_0x56674b)||(_0x420b32=_0x56674b);}if(_0x4e7589(_0x55ff7e)&&(_0x420b32===_0x23601b||_0x420b32===_0x437267))return _0x55ff7e;if(!_0x420b32){var _0x415952=_0x7bcdc7(_0x1b06ad,0x1);_0x420b32=_0x415952[_0x1a4e('0x1e')]?_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x415952,function(_0x368e5a){return _0x4b6767(_0x10a62e(_0x368e5a));})):_0x126d3e;}return _0x239ab2(_0x55ff7e,_0x420b32,_0xf79407,_0x2d3211);}(_0x55ff7e,_0x1adc17,_0xf79407);case 0x5d:var _0x326eae=_0x3d7232(_0x1adc17[_0x1a4e('0x5d')]);if(_0x368e5a[_0x1a4e('0x2855')](_0x1adc17[_0x1a4e('0x5f')])&&_0x3d2a23(_0x146f6e,_0x326eae))return _0x1369b6(_0x55ff7e,_0x1adc17[_0x1a4e('0x5f')],_0xf79407);break;case 0x1b:return _0x2918ee(_0x55ff7e,_0x1adc17[_0x1a4e('0x5d')],_0xf79407);}return _0x55ff7e;}function _0x188821(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(0x1&_0x368e5a[_0x1a4e('0x7b2')])return _0x368e5a;0x22!==_0x146f6e&&0x24!==_0x146f6e||(_0x55ff7e=!_0x55ff7e);var _0x1adc17=_0x1dceed(_0x2327c6);if(0x18000&_0x1adc17['flags'])return _0x4f3c04?_0x2c784a(_0x368e5a,0x21===_0x146f6e||0x22===_0x146f6e?_0x55ff7e?0x40000:0x200000:0x10000&_0x1adc17[_0x1a4e('0x7b2')]?_0x55ff7e?0x20000:0x100000:_0x55ff7e?0x10000:0x80000):_0x368e5a;if(0x4081003&_0x368e5a[_0x1a4e('0x7b2')])return _0x368e5a;if(_0x55ff7e){var _0xf79407=_0x5056ee(_0x368e5a,function(_0x368e5a){return _0x1e115e(_0x368e5a,_0x1adc17);});return 0x20000&_0xf79407['flags']?_0x368e5a:_0x3779e9(_0xf79407,_0x1adc17);}if(_0x4d0406(_0x1adc17)){var _0x2c9ec9=_0x4da784(_0x1adc17);return _0x5056ee(_0x368e5a,function(_0x368e5a){return _0x4da784(_0x368e5a)!==_0x2c9ec9;});}return _0x368e5a;}function _0x362306(_0x368e5a,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x3d7232(_0x55ff7e[_0x1a4e('0x2302')]);if(!_0x3d2a23(_0x146f6e,_0x420b32))return _0x50027a(_0x146f6e,_0x420b32)&&_0x306ef1(_0x420b32)?_0x2327c6:_0x368e5a;if(0x22!==_0x1adc17&&0x24!==_0x1adc17||(_0x2c9ec9=!_0x2c9ec9),0x1&_0x368e5a[_0x1a4e('0x7b2')]&&_0x1a4e('0x68')===_0xf79407[_0x1a4e('0xe04')])return _0x368e5a;var _0x1b06ad=_0x2c9ec9?_0x31b963['get'](_0xf79407[_0x1a4e('0xe04')])||0x80:_0x181989['get'](_0xf79407[_0x1a4e('0xe04')])||0x8000;return _0x2c784a(_0x2c9ec9?_0x578997(_0x368e5a,function(_0x368e5a){if(0x2&_0x368e5a[_0x1a4e('0x7b2')]&&_0x1a4e('0x85')===_0xf79407[_0x1a4e('0xe04')])return _0x2d74ef([_0x48476c,_0x406341]);var _0x146f6e=_0x1a4e('0x68')===_0xf79407['text']?_0x437267:_0x269784[_0x1a4e('0x179')](_0xf79407[_0x1a4e('0xe04')]);if(_0x146f6e){if(_0x2a8a4b(_0x368e5a,_0x146f6e))return _0x368e5a;if(_0x2a8a4b(_0x146f6e,_0x368e5a))return _0x146f6e;if(0x3c40000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x2327c6=_0x1953ea(_0x368e5a)||_0x330555;if(_0x2a8a4b(_0x146f6e,_0x2327c6))return _0xffdb94([_0x368e5a,_0x146f6e]);}}return _0x368e5a;}):_0x368e5a,_0x1b06ad);}function _0x5934d9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x103c1c(_0x2327c6);if(!_0xf79407[_0x1a4e('0x1e')])return _0x146f6e;var _0x2c9ec9=_0xf79407[_0x1a4e('0x78')](_0x55ff7e,_0x1adc17),_0x420b32=_0x55ff7e===_0x1adc17||_0x368e5a[_0x1a4e('0x2ac')](_0x2c9ec9,_0x530b09),_0x1b06ad=_0x2d74ef(_0x2c9ec9),_0x326eae=0x20000&_0x1b06ad['flags']?_0x530b09:_0x3779e9(_0x5056ee(_0x146f6e,function(_0x368e5a){return _0x1e115e(_0x1b06ad,_0x368e5a);}),_0x1b06ad);if(!_0x420b32)return _0x326eae;var _0x56674b=_0x5056ee(_0x146f6e,function(_0x146f6e){return!(_0x4d0406(_0x146f6e)&&_0x368e5a['contains'](_0xf79407,_0x4da784(_0x146f6e)));});return 0x20000&_0x326eae['flags']?_0x56674b:_0x2d74ef([_0x326eae,_0x56674b]);}function _0x239ab2(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x2327c6)return _0x5056ee(_0x368e5a,function(_0x368e5a){return!_0x55ff7e(_0x368e5a,_0x146f6e);});if(0x100000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x1adc17=_0x5056ee(_0x368e5a,function(_0x368e5a){return _0x55ff7e(_0x368e5a,_0x146f6e);});if(!(0x20000&_0x1adc17[_0x1a4e('0x7b2')]))return _0x1adc17;}return _0x2a8a4b(_0x146f6e,_0x368e5a)?_0x146f6e:_0x720afc(_0x368e5a,_0x146f6e)?_0x368e5a:_0x720afc(_0x146f6e,_0x368e5a)?_0x146f6e:_0xffdb94([_0x368e5a,_0x146f6e]);}function _0x1b8154(_0x55ff7e,_0x1adc17,_0xf79407){if(!function(_0x368e5a,_0x146f6e){if(_0x368e5a[_0x1a4e('0x2373')])for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2373')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++)if(_0x2b9af9(_0x146f6e,_0x55ff7e[_0x2327c6]))return!0x0;return!(0xbd!==_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0x146b')]||!_0x2b9af9(_0x146f6e,_0x368e5a[_0x1a4e('0x2302')]['expression']));}(_0x1adc17,_0x146f6e)||!_0x573f87(_0x1adc17))return _0x55ff7e;var _0x2c9ec9=_0x14dd6c(_0x1adc17),_0x420b32=_0x13a441(_0x2c9ec9);if(!_0x420b32)return _0x55ff7e;if(_0x4e7589(_0x55ff7e)&&(_0x420b32[_0x1a4e('0x40')]===_0x23601b||_0x420b32[_0x1a4e('0x40')]===_0x437267))return _0x55ff7e;if(_0x368e5a['isIdentifierTypePredicate'](_0x420b32)){var _0x1b06ad=_0x1adc17[_0x1a4e('0x2373')][_0x420b32[_0x1a4e('0x29d3')]-(_0x2c9ec9[_0x1a4e('0x28c7')]?0x1:0x0)];if(_0x1b06ad){if(_0x3d2a23(_0x146f6e,_0x1b06ad))return _0x239ab2(_0x55ff7e,_0x420b32[_0x1a4e('0x40')],_0xf79407,_0x2a8a4b);if(_0x50027a(_0x146f6e,_0x1b06ad))return _0x2327c6;}}else{var _0x326eae=_0x368e5a[_0x1a4e('0x29a0')](_0x1adc17[_0x1a4e('0x2302')]);if(0xbe===_0x326eae[_0x1a4e('0x146b')]||0xbd===_0x326eae['kind']){var _0x56674b=_0x326eae,_0x415952=_0x368e5a[_0x1a4e('0x29a0')](_0x56674b[_0x1a4e('0x2302')]);if(_0x3d2a23(_0x146f6e,_0x415952))return _0x239ab2(_0x55ff7e,_0x420b32[_0x1a4e('0x40')],_0xf79407,_0x2a8a4b);if(_0x50027a(_0x146f6e,_0x415952))return _0x2327c6;}}return _0x55ff7e;}function _0x2918ee(_0x368e5a,_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:case 0x64:case 0x62:case 0xbd:case 0xbe:return _0x15a30a(_0x368e5a,_0x146f6e,_0x2327c6);case 0xbf:return _0x1b8154(_0x368e5a,_0x146f6e,_0x2327c6);case 0xc3:return _0x2918ee(_0x368e5a,_0x146f6e['expression'],_0x2327c6);case 0xcc:return _0x7151b1(_0x368e5a,_0x146f6e,_0x2327c6);case 0xca:if(0x34===_0x146f6e[_0x1a4e('0x1474')])return _0x2918ee(_0x368e5a,_0x146f6e[_0x1a4e('0x1784')],!_0x2327c6);}return _0x368e5a;}}function _0x20d0f7(_0x146f6e){return _0x368e5a[_0x1a4e('0x283d')](_0x146f6e[_0x1a4e('0x11c')],function(_0x146f6e){return _0x368e5a['isFunctionLike'](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x239e')](_0x146f6e)||0xf5===_0x146f6e[_0x1a4e('0x146b')]||0x117===_0x146f6e[_0x1a4e('0x146b')]||0x9a===_0x146f6e[_0x1a4e('0x146b')];});}function _0x4d2fd7(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x2406')](_0x146f6e[_0x1a4e('0x2340')])['parent'],_0x1adc17=_0x165ecf(_0x55ff7e);return 0x800000&_0x1adc17['flags']||(_0x1adc17[_0x1a4e('0x7b2')]|=0x800000,_0x2327c6=_0x55ff7e,_0x368e5a[_0x1a4e('0x283d')](_0x2327c6['parent'],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2342')](_0x146f6e)&&!!(0x800000&_0x165ecf(_0x146f6e)[_0x1a4e('0x7b2')]);})||_0x2b79fc(_0x55ff7e)),_0x146f6e[_0x1a4e('0x2a5a')]||!0x1;}function _0x2b79fc(_0x146f6e){if(0x48===_0x146f6e[_0x1a4e('0x146b')]){if(_0x368e5a[_0x1a4e('0x23dd')](_0x146f6e)){var _0x2327c6=_0x1642fe(_0x146f6e);_0x2327c6[_0x1a4e('0x2340')]&&0x97===_0x368e5a[_0x1a4e('0x2406')](_0x2327c6[_0x1a4e('0x2340')])['kind']&&(_0x2327c6[_0x1a4e('0x2a5a')]=!0x0);}}else _0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,_0x2b79fc);}function _0x44daa2(_0x368e5a){return 0x3&_0x368e5a[_0x1a4e('0x7b2')]&&0x0!=(0x2&_0x48414f(_0x368e5a))&&_0x38797c(_0x368e5a)!==_0x121129;}function _0x5ed3af(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x11c')];return 0xbd===_0x146f6e['kind']||0xbf===_0x146f6e['kind']&&_0x146f6e['expression']===_0x368e5a||0xbe===_0x146f6e[_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x2302')]===_0x368e5a||0xba===_0x146f6e['kind']&&_0x146f6e[_0x1a4e('0x2cb')]===_0x368e5a&&!!_0x146f6e['initializer'];}function _0x3b7abe(_0x368e5a){return 0x3840000&_0x368e5a['flags']&&_0x1a74b9(_0x1953ea(_0x368e5a)||_0x126d3e,0x18000);}function _0x527d5d(_0x368e5a,_0x146f6e){return _0x368e5a&&_0x5ed3af(_0x146f6e)&&_0x16dc76(_0x368e5a,_0x3b7abe)?_0x578997(_0x3a6dfd(_0x368e5a),_0x11ec19):_0x368e5a;}function _0x2738d6(_0x368e5a,_0x146f6e){!_0x193a81(_0x368e5a,0x401b3bf)||_0x2e5e8d(_0x146f6e)||_0x242f5f(_0x4f0953(_0x368e5a))||_0x18e350(_0x368e5a);}function _0x403942(_0x146f6e){var _0x2327c6=_0x1642fe(_0x146f6e);if(_0x2327c6===_0x450499)return _0x336c2;if(_0x2327c6===_0x3a2418){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);return _0x1b8154<0x2&&(0xc5===_0x55ff7e[_0x1a4e('0x146b')]?_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2a5c')]):_0x368e5a[_0x1a4e('0x24c6')](_0x55ff7e,0x100)&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a5d')])),_0x165ecf(_0x55ff7e)[_0x1a4e('0x7b2')]|=0x2000,_0x38797c(_0x2327c6);}_0x146f6e[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x2371')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2302')]===_0x146f6e||_0x2738d6(_0x2327c6,_0x146f6e);var _0x1adc17=_0x244de7(_0x2327c6),_0xf79407=_0x1adc17[_0x1a4e('0x2340')];if(0x20&_0x1adc17[_0x1a4e('0x7b2')])if(0xf0===_0xf79407['kind']&&_0x368e5a[_0x1a4e('0x23a3')](_0xf79407))for(_0x55ff7e=_0x368e5a[_0x1a4e('0x239a')](_0x146f6e);void 0x0!==_0x55ff7e;){if(_0x55ff7e===_0xf79407&&_0x55ff7e[_0x1a4e('0x2cb')]!==_0x146f6e){_0x165ecf(_0xf79407)[_0x1a4e('0x7b2')]|=0x1000000,_0x165ecf(_0x146f6e)[_0x1a4e('0x7b2')]|=0x2000000;break;}_0x55ff7e=_0x368e5a[_0x1a4e('0x239a')](_0x55ff7e);}else if(0xd1===_0xf79407[_0x1a4e('0x146b')])for(_0x55ff7e=_0x368e5a[_0x1a4e('0x239b')](_0x146f6e,!0x1);0x117!==_0x55ff7e[_0x1a4e('0x146b')];){if(_0x55ff7e[_0x1a4e('0x11c')]===_0xf79407){0x9a===_0x55ff7e[_0x1a4e('0x146b')]&&_0x368e5a['hasModifier'](_0x55ff7e,0x20)&&(_0x165ecf(_0xf79407)[_0x1a4e('0x7b2')]|=0x1000000,_0x165ecf(_0x146f6e)[_0x1a4e('0x7b2')]|=0x2000000);break;}_0x55ff7e=_0x368e5a['getThisContainer'](_0x55ff7e,!0x1);}!function(_0x146f6e,_0x2327c6){if(!(_0x1b8154>=0x2||0x0==(0x22&_0x2327c6[_0x1a4e('0x7b2')])||0x112===_0x2327c6[_0x1a4e('0x2340')][_0x1a4e('0x11c')][_0x1a4e('0x146b')])){for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x283e')](_0x2327c6[_0x1a4e('0x2340')]),_0x1adc17=function(_0x146f6e,_0x2327c6){return!!_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x146f6e){return _0x146f6e===_0x2327c6?_0x1a4e('0x1b55'):_0x368e5a[_0x1a4e('0x2342')](_0x146f6e);});}(_0x146f6e[_0x1a4e('0x11c')],_0x55ff7e),_0xf79407=_0x55ff7e,_0x2c9ec9=!0x1;_0xf79407&&!_0x368e5a[_0x1a4e('0x2407')](_0xf79407);){if(_0x368e5a[_0x1a4e('0x2560')](_0xf79407,!0x1)){_0x2c9ec9=!0x0;break;}_0xf79407=_0xf79407[_0x1a4e('0x11c')];}if(_0x2c9ec9){if(_0x1adc17){var _0x420b32=!0x0;if(_0x368e5a[_0x1a4e('0x2577')](_0x55ff7e)&&_0x368e5a[_0x1a4e('0x2a5e')](_0x2327c6[_0x1a4e('0x2340')],0xee)['parent']===_0x55ff7e){var _0x1b06ad=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x368e5a){return _0x368e5a===_0x2327c6?_0x1a4e('0x1b55'):_0x368e5a===_0x2327c6['initializer']||_0x368e5a===_0x2327c6[_0x1a4e('0x236b')]||_0x368e5a===_0x2327c6[_0x1a4e('0x236c')]||_0x368e5a===_0x2327c6[_0x1a4e('0x2390')];});}(_0x146f6e[_0x1a4e('0x11c')],_0x55ff7e);if(_0x1b06ad){var _0x326eae=_0x165ecf(_0x1b06ad);_0x326eae[_0x1a4e('0x7b2')]|=0x20000;var _0x56674b=_0x326eae['capturedBlockScopeBindings']||(_0x326eae[_0x1a4e('0x2891')]=[]);_0x368e5a[_0x1a4e('0x171d')](_0x56674b,_0x2327c6),_0x1b06ad===_0x55ff7e[_0x1a4e('0x236a')]&&(_0x420b32=!0x1);}}_0x420b32&&(_0x165ecf(_0xf79407)[_0x1a4e('0x7b2')]|=0x10000);}0xe1===_0x55ff7e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2a5e')](_0x2327c6['valueDeclaration'],0xee)['parent']===_0x55ff7e&&function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x146f6e;0xc3===_0x55ff7e['parent'][_0x1a4e('0x146b')];)_0x55ff7e=_0x55ff7e[_0x1a4e('0x11c')];var _0x1adc17=!0x1;if(_0x368e5a[_0x1a4e('0x23dd')](_0x55ff7e))_0x1adc17=!0x0;else if(0xca===_0x55ff7e[_0x1a4e('0x11c')]['kind']||0xcb===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0xf79407=_0x55ff7e[_0x1a4e('0x11c')];_0x1adc17=0x2c===_0xf79407['operator']||0x2d===_0xf79407[_0x1a4e('0x1474')];}return!!_0x1adc17&&!!_0x368e5a[_0x1a4e('0x283d')](_0x55ff7e,function(_0x368e5a){return _0x368e5a===_0x2327c6?_0x1a4e('0x1b55'):_0x368e5a===_0x2327c6[_0x1a4e('0x2390')];});}(_0x146f6e,_0x55ff7e)&&(_0x165ecf(_0x2327c6[_0x1a4e('0x2340')])[_0x1a4e('0x7b2')]|=0x400000),_0x165ecf(_0x2327c6[_0x1a4e('0x2340')])[_0x1a4e('0x7b2')]|=0x80000;}_0x1adc17&&(_0x165ecf(_0x2327c6[_0x1a4e('0x2340')])['flags']|=0x40000);}}(_0x146f6e,_0x2327c6);var _0x2c9ec9=_0x527d5d(_0x38797c(_0x1adc17),_0x146f6e),_0x420b32=_0x368e5a[_0x1a4e('0x23dc')](_0x146f6e);if(_0x420b32){if(!(0x3&_0x1adc17[_0x1a4e('0x7b2')]||_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&0x200&_0x1adc17[_0x1a4e('0x7b2')]))return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a5f')],_0x22aa27(_0x2327c6)),_0x336c2;if(_0x5c5095(_0x1adc17))return 0x3&_0x1adc17[_0x1a4e('0x7b2')]?_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a60')],_0x22aa27(_0x2327c6)):_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29ef')],_0x22aa27(_0x2327c6)),_0x336c2;}var _0x1b06ad=0x200000&_0x1adc17[_0x1a4e('0x7b2')];if(0x3&_0x1adc17[_0x1a4e('0x7b2')]){if(0x1===_0x420b32)return _0x2c9ec9;}else{if(!_0x1b06ad)return _0x2c9ec9;_0xf79407=_0x368e5a[_0x1a4e('0x1c7')](_0x2327c6['declarations'],_0x88bf03);}if(!_0xf79407)return _0x2c9ec9;for(var _0x326eae=0x97===_0x368e5a['getRootDeclaration'](_0xf79407)[_0x1a4e('0x146b')],_0x56674b=_0x20d0f7(_0xf79407),_0x415952=_0x20d0f7(_0x146f6e),_0x46923a=_0x415952!==_0x56674b,_0x434714=_0x146f6e[_0x1a4e('0x11c')]&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x2530')](_0x146f6e['parent'])&&_0x5e23ac(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]),_0x57b692=0x8000000&_0x2327c6[_0x1a4e('0x7b2')];_0x415952!==_0x56674b&&(0xc4===_0x415952[_0x1a4e('0x146b')]||0xc5===_0x415952[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x2392')](_0x415952))&&(_0x44daa2(_0x1adc17)||_0x326eae&&!_0x4d2fd7(_0x1adc17));)_0x415952=_0x20d0f7(_0x415952);var _0x1ad11f=_0x326eae||_0x1b06ad||_0x46923a||_0x434714||_0x57b692||_0x2c9ec9!==_0x344569&&_0x2c9ec9!==_0x121129&&(!_0x4f3c04||0x0!=(0x3&_0x2c9ec9[_0x1a4e('0x7b2')])||_0x2e5e8d(_0x146f6e)||0x101===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])||0xd5===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0xed===_0xf79407[_0x1a4e('0x146b')]&&_0xf79407[_0x1a4e('0x25f7')]||0x400000&_0xf79407['flags'],_0x35bd0a=_0x179bce(_0x146f6e,_0x2c9ec9,_0x1ad11f?_0x326eae?function(_0x368e5a,_0x146f6e){return _0x4f3c04&&0x97===_0x146f6e[_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x236a')]&&0x8000&_0x30e928(_0x368e5a)&&!(0x8000&_0x30e928(_0x4e94e8(_0x146f6e[_0x1a4e('0x236a')])))?_0x2c784a(_0x368e5a,0x80000):_0x368e5a;}(_0x2c9ec9,_0xf79407):_0x2c9ec9:_0x2c9ec9===_0x344569||_0x2c9ec9===_0x121129?_0x57a5b4:_0x6d96b4(_0x2c9ec9),_0x415952,!_0x1ad11f);if(_0x1701f1(_0x146f6e)||_0x2c9ec9!==_0x344569&&_0x2c9ec9!==_0x121129){if(!_0x1ad11f&&!(0x8000&_0x30e928(_0x2c9ec9))&&0x8000&_0x30e928(_0x35bd0a))return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a61')],_0x22aa27(_0x2327c6)),_0x2c9ec9;}else if(_0x35bd0a===_0x344569||_0x35bd0a===_0x121129)return _0x59c9de&&(_0x2cb4f4(_0x368e5a['getNameOfDeclaration'](_0xf79407),_0x368e5a[_0x1a4e('0x167d')]['Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined'],_0x22aa27(_0x2327c6),_0x5ad709(_0x35bd0a)),_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a42')],_0x22aa27(_0x2327c6),_0x5ad709(_0x35bd0a))),_0x4130fb(_0x35bd0a);return _0x420b32?_0x3a5471(_0x35bd0a):_0x35bd0a;}function _0x2394d9(_0x368e5a,_0x146f6e){_0x165ecf(_0x368e5a)['flags']|=0x2,0x9a===_0x146f6e['kind']||0x9d===_0x146f6e[_0x1a4e('0x146b')]?_0x165ecf(_0x146f6e[_0x1a4e('0x11c')])[_0x1a4e('0x7b2')]|=0x4:_0x165ecf(_0x146f6e)[_0x1a4e('0x7b2')]|=0x4;}function _0x446ade(_0x146f6e){return _0x368e5a['isSuperCall'](_0x146f6e)?_0x146f6e:_0x368e5a['isFunctionLike'](_0x146f6e)?void 0x0:_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,_0x446ade);}function _0xaabd4e(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);return void 0x0===_0x146f6e[_0x1a4e('0x2a62')]&&(_0x146f6e[_0x1a4e('0x2a63')]=_0x446ade(_0x368e5a[_0x1a4e('0x8f2')]),_0x146f6e['hasSuperCall']=!!_0x146f6e['superCall']),_0x146f6e[_0x1a4e('0x2a63')];}function _0x4cf70b(_0x368e5a){return _0x4804db(_0x287d7b(_0x54a27b(_0x368e5a)))===_0x143e15;}function _0x59874a(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x1679')](_0x1adc17)&&!_0x4cf70b(_0x1adc17)){var _0xf79407=_0xaabd4e(_0x2327c6);(!_0xf79407||_0xf79407[_0x1a4e('0xca')]>_0x146f6e[_0x1a4e('0xa4')])&&_0x2cb4f4(_0x146f6e,_0x55ff7e);}}function _0xd68abb(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x239b')](_0x146f6e,!0x0),_0x55ff7e=!0x1;switch(0x9d===_0x2327c6[_0x1a4e('0x146b')]&&_0x59874a(_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a64')]),0xc5===_0x2327c6[_0x1a4e('0x146b')]&&(_0x2327c6=_0x368e5a[_0x1a4e('0x239b')](_0x2327c6,!0x1),_0x55ff7e=!0x0),_0x2327c6[_0x1a4e('0x146b')]){case 0xf4:_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a65')]);break;case 0xf3:_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a66')]);break;case 0x9d:_0xb8f349(_0x146f6e,_0x2327c6)&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a67')]);break;case 0x9a:case 0x99:_0x368e5a['hasModifier'](_0x2327c6,0x20)&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a68')]);break;case 0x95:_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a69')]);}_0x55ff7e&&_0x1b8154<0x2&&_0x2394d9(_0x146f6e,_0x2327c6);var _0x1adc17=_0x32e745(_0x146f6e,_0x2327c6);if(!_0x1adc17&&_0xba6af4){var _0xf79407=_0x2cb4f4(_0x146f6e,_0x55ff7e&&0x117===_0x2327c6[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a6a')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2a6b')]);_0x368e5a[_0x1a4e('0x22f0')](_0x2327c6)||_0x32e745(_0x2327c6)&&_0x4e173b(_0xf79407,_0x368e5a['createDiagnosticForNode'](_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a6c')]));}return _0x1adc17||_0x330555;}function _0x32e745(_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=_0x368e5a[_0x1a4e('0x239b')](_0x146f6e,!0x1));var _0x55ff7e=_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e);if(_0x368e5a[_0x1a4e('0x2342')](_0x2327c6)&&(!_0x409b5c(_0x146f6e)||_0x368e5a['getThisParameter'](_0x2327c6))){var _0x1adc17=function(_0x146f6e){return 0xc4===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x11c')])&&0x3===_0x368e5a['getAssignmentDeclarationKind'](_0x146f6e['parent'])?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x5f')][_0x1a4e('0x2302')][_0x1a4e('0x2302')]:0x9c===_0x146f6e['kind']&&0xbc===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&0x6===_0x368e5a['getAssignmentDeclarationKind'](_0x146f6e['parent']['parent'])?_0x146f6e['parent'][_0x1a4e('0x11c')][_0x1a4e('0x5f')]['expression']:0xc4===_0x146f6e['kind']&&0x113===_0x146f6e[_0x1a4e('0x11c')]['kind']&&0xbc===_0x146f6e['parent']['parent'][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&0x6===_0x368e5a[_0x1a4e('0x23ba')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['parent'])?_0x146f6e[_0x1a4e('0x11c')]['parent']['parent'][_0x1a4e('0x5f')][_0x1a4e('0x2302')]:0xc4===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x23b4')](_0x146f6e['parent'])&&_0x368e5a['isIdentifier'](_0x146f6e['parent'][_0x1a4e('0x2cb')])&&(_0x1a4e('0x255')===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]||_0x1a4e('0x179')===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]||_0x1a4e('0x17a')===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]['escapedText'])&&_0x368e5a[_0x1a4e('0x236f')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&_0x368e5a['isCallExpression'](_0x146f6e['parent'][_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['parent'][_0x1a4e('0x2373')][0x2]===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]&&0x9===_0x368e5a[_0x1a4e('0x23ba')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')])?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['parent']['arguments'][0x0]['expression']:_0x368e5a['isMethodDeclaration'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])&&('value'===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]||_0x1a4e('0x179')===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]||'set'===_0x146f6e['name']['escapedText'])&&_0x368e5a['isObjectLiteralExpression'](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x2372')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x2373')][0x2]===_0x146f6e[_0x1a4e('0x11c')]&&0x9===_0x368e5a[_0x1a4e('0x23ba')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['arguments'][0x0][_0x1a4e('0x2302')]:void 0x0;}(_0x2327c6);if(_0x55ff7e&&_0x1adc17){var _0xf79407=_0x4e94e8(_0x1adc17)['symbol'];if(_0xf79407&&_0xf79407[_0x1a4e('0x2369')]&&0x10&_0xf79407[_0x1a4e('0x7b2')]&&(_0x2c9ec9=_0xfba9bc(_0xf79407)))return _0x179bce(_0x146f6e,_0x2c9ec9);}else if(_0x55ff7e&&(0xc4===_0x2327c6[_0x1a4e('0x146b')]||0xef===_0x2327c6[_0x1a4e('0x146b')])&&_0x368e5a[_0x1a4e('0x2a6d')](_0x2327c6)){var _0x2c9ec9;if(_0x2c9ec9=_0xfba9bc(_0x2327c6[_0x1a4e('0xb1b')]))return _0x179bce(_0x146f6e,_0x2c9ec9);}var _0x420b32=_0x4d95cb(_0x2327c6)||_0x2e7a0f(_0x2327c6);if(_0x420b32)return _0x179bce(_0x146f6e,_0x420b32);}if(_0x368e5a[_0x1a4e('0x2367')](_0x2327c6['parent'])){var _0x1b06ad,_0x326eae=_0x54a27b(_0x2327c6[_0x1a4e('0x11c')]);return _0x179bce(_0x146f6e,_0x1b06ad=_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x20)?_0x38797c(_0x326eae):_0x287d7b(_0x326eae)['thisType']);}if(_0x55ff7e&&(_0x1b06ad=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2425')](_0x146f6e);if(_0x2327c6&&0x121===_0x2327c6['kind']){var _0x55ff7e=_0x2327c6;if(_0x55ff7e['parameters'][_0x1a4e('0x1e')]>0x0&&_0x55ff7e['parameters'][0x0][_0x1a4e('0x2cb')]&&_0x1a4e('0x19b5')===_0x55ff7e[_0x1a4e('0x111a')][0x0]['name'][_0x1a4e('0x22f3')])return _0x3fafb1(_0x55ff7e[_0x1a4e('0x111a')][0x0]['type']);}var _0x1adc17=_0x368e5a['getJSDocThisTag'](_0x146f6e);if(_0x1adc17&&_0x1adc17[_0x1a4e('0x2379')])return _0x3fafb1(_0x1adc17['typeExpression']);}(_0x2327c6))&&_0x1b06ad!==_0x336c2)return _0x179bce(_0x146f6e,_0x1b06ad);}function _0xb8f349(_0x146f6e,_0x2327c6){return!!_0x368e5a['findAncestor'](_0x146f6e,function(_0x368e5a){return _0x368e5a===_0x2327c6?'quit':0x97===_0x368e5a[_0x1a4e('0x146b')];});}function _0x50c00c(_0x146f6e){var _0x2327c6=0xbf===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x11c')]['expression']===_0x146f6e,_0x55ff7e=_0x368e5a[_0x1a4e('0x239d')](_0x146f6e,!0x0),_0x1adc17=!0x1;if(!_0x2327c6)for(;_0x55ff7e&&0xc5===_0x55ff7e['kind'];)_0x55ff7e=_0x368e5a['getSuperContainer'](_0x55ff7e,!0x0),_0x1adc17=_0x1b8154<0x2;var _0xf79407=0x0;if(!function(_0x146f6e){return!!_0x146f6e&&(_0x2327c6?0x9d===_0x146f6e[_0x1a4e('0x146b')]:!(!_0x368e5a[_0x1a4e('0x2367')](_0x146f6e[_0x1a4e('0x11c')])&&0xbc!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])&&(_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20)?0x9c===_0x146f6e[_0x1a4e('0x146b')]||0x9b===_0x146f6e[_0x1a4e('0x146b')]||0x9e===_0x146f6e['kind']||0x9f===_0x146f6e[_0x1a4e('0x146b')]:0x9c===_0x146f6e[_0x1a4e('0x146b')]||0x9b===_0x146f6e['kind']||0x9e===_0x146f6e[_0x1a4e('0x146b')]||0x9f===_0x146f6e['kind']||0x9a===_0x146f6e[_0x1a4e('0x146b')]||0x99===_0x146f6e[_0x1a4e('0x146b')]||0x9d===_0x146f6e['kind']));}(_0x55ff7e)){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x368e5a){return _0x368e5a===_0x55ff7e?_0x1a4e('0x1b55'):0x95===_0x368e5a['kind'];});return _0x2c9ec9&&0x95===_0x2c9ec9[_0x1a4e('0x146b')]?_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics']['super_cannot_be_referenced_in_a_computed_property_name']):_0x2327c6?_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics']['Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors']):_0x55ff7e&&_0x55ff7e[_0x1a4e('0x11c')]&&(_0x368e5a[_0x1a4e('0x2367')](_0x55ff7e[_0x1a4e('0x11c')])||0xbc===_0x55ff7e['parent']['kind'])?_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class']):_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a6e')]),_0x336c2;}if(_0x2327c6||0x9d!==_0x55ff7e[_0x1a4e('0x146b')]||_0x59874a(_0x146f6e,_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a6f')]),_0xf79407=_0x368e5a['hasModifier'](_0x55ff7e,0x20)||_0x2327c6?0x200:0x100,_0x165ecf(_0x146f6e)[_0x1a4e('0x7b2')]|=_0xf79407,0x9c===_0x55ff7e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x24c6')](_0x55ff7e,0x100)&&(_0x368e5a[_0x1a4e('0x239f')](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x23dd')](_0x146f6e['parent'])?_0x165ecf(_0x55ff7e)[_0x1a4e('0x7b2')]|=0x1000:_0x165ecf(_0x55ff7e)[_0x1a4e('0x7b2')]|=0x800),_0x1adc17&&_0x2394d9(_0x146f6e[_0x1a4e('0x11c')],_0x55ff7e),0xbc===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x1b8154<0x2?(_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher']),_0x336c2):_0x330555;var _0x420b32=_0x55ff7e[_0x1a4e('0x11c')];if(!_0x368e5a[_0x1a4e('0x1679')](_0x420b32))return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a70')]),_0x336c2;var _0x1b06ad=_0x287d7b(_0x54a27b(_0x420b32)),_0x326eae=_0x1b06ad&&_0xd458b8(_0x1b06ad)[0x0];return _0x326eae?0x9d===_0x55ff7e['kind']&&_0xb8f349(_0x146f6e,_0x55ff7e)?(_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a71')]),_0x336c2):0x200===_0xf79407?_0x4804db(_0x1b06ad):_0x98e900(_0x326eae,_0x1b06ad['thisType']):_0x336c2;}function _0x133c89(_0x146f6e){return 0x4&_0x368e5a['getObjectFlags'](_0x146f6e)&&_0x146f6e['target']===_0x2c4ba4?_0x146f6e[_0x1a4e('0x2365')][0x0]:void 0x0;}function _0x290634(_0x146f6e){return _0x578997(_0x146f6e,function(_0x146f6e){return 0x200000&_0x146f6e[_0x1a4e('0x7b2')]?_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2380')],_0x133c89):_0x133c89(_0x146f6e);});}function _0x2e7a0f(_0x146f6e){if(0xc5!==_0x146f6e[_0x1a4e('0x146b')]){if(_0x38becc(_0x146f6e)){var _0x2327c6=_0x184ddb(_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0x2327c6['thisParameter'];if(_0x55ff7e)return _0x38797c(_0x55ff7e);}}var _0x1adc17=_0x368e5a['isInJSFile'](_0x146f6e);if(_0xba6af4||_0x1adc17){var _0xf79407=function(_0x368e5a){return 0x9c!==_0x368e5a[_0x1a4e('0x146b')]&&0x9e!==_0x368e5a['kind']&&0x9f!==_0x368e5a[_0x1a4e('0x146b')]||0xbc!==_0x368e5a[_0x1a4e('0x11c')]['kind']?0xc4===_0x368e5a[_0x1a4e('0x146b')]&&0x113===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:void 0x0:_0x368e5a['parent'];}(_0x146f6e);if(_0xf79407){for(var _0x2c9ec9=_0x2d35d1(_0xf79407),_0x420b32=_0xf79407,_0x1b06ad=_0x2c9ec9;_0x1b06ad;){var _0x326eae=_0x290634(_0x1b06ad);if(_0x326eae)return _0x1e1445(_0x326eae,_0x21d87e(_0xf79407));if(0x113!==_0x420b32[_0x1a4e('0x11c')][_0x1a4e('0x146b')])break;_0x1b06ad=_0x2d35d1(_0x420b32=_0x420b32[_0x1a4e('0x11c')][_0x1a4e('0x11c')]);}return _0x2c9ec9?_0x2f423c(_0x2c9ec9):_0x31ebf4(_0xf79407);}var _0x56674b=_0x146f6e['parent'];if(0xcc===_0x56674b[_0x1a4e('0x146b')]&&0x3b===_0x56674b[_0x1a4e('0x237a')]['kind']){var _0x415952=_0x56674b[_0x1a4e('0x5f')];if(0xbd===_0x415952['kind']||0xbe===_0x415952[_0x1a4e('0x146b')]){var _0x46923a=_0x415952[_0x1a4e('0x2302')];if(_0x1adc17&&_0x368e5a[_0x1a4e('0x2370')](_0x46923a)){var _0x88bf03=_0x368e5a[_0x1a4e('0x1674')](_0x56674b);if(_0x88bf03[_0x1a4e('0x2349')]&&_0x1642fe(_0x46923a)===_0x88bf03[_0x1a4e('0xb1b')])return;}return _0x31ebf4(_0x46923a);}}}}}function _0x510e44(_0x146f6e){var _0x2327c6=_0x146f6e['parent'];if(_0x38becc(_0x2327c6)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x239e')](_0x2327c6);if(_0x55ff7e&&_0x55ff7e[_0x1a4e('0x2373')]){var _0x1adc17=_0x10a7aa(_0x55ff7e),_0xf79407=_0x2327c6[_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0x146f6e);if(_0x146f6e[_0x1a4e('0x25f9')])return _0x2a47ab(_0x1adc17,_0xf79407,_0x1adc17[_0x1a4e('0x1e')],_0x330555,void 0x0);var _0x2c9ec9=_0x165ecf(_0x55ff7e),_0x420b32=_0x2c9ec9['resolvedSignature'];_0x2c9ec9['resolvedSignature']=_0x488b93;var _0x1b06ad=_0xf79407<_0x1adc17[_0x1a4e('0x1e')]?_0x2802a6(_0x4e94e8(_0x1adc17[_0xf79407])):_0x146f6e[_0x1a4e('0x236a')]?void 0x0:_0x4a2e68;return _0x2c9ec9[_0x1a4e('0x29d0')]=_0x420b32,_0x1b06ad;}var _0x326eae=_0x184ddb(_0x2327c6);if(_0x326eae){var _0x56674b=_0x2327c6['parameters'][_0x1a4e('0x3e')](_0x146f6e)-(_0x368e5a[_0x1a4e('0x244d')](_0x2327c6)?0x1:0x0);return _0x146f6e[_0x1a4e('0x25f9')]&&_0x368e5a['lastOrUndefined'](_0x2327c6['parameters'])===_0x146f6e?_0x13839c(_0x326eae,_0x56674b):_0xe16451(_0x326eae,_0x56674b);}}}function _0x409b5c(_0x146f6e){for(var _0x2327c6=!0x1;_0x146f6e[_0x1a4e('0x11c')]&&!_0x368e5a[_0x1a4e('0x2342')](_0x146f6e[_0x1a4e('0x11c')]);){if(_0x368e5a[_0x1a4e('0x24ac')](_0x146f6e[_0x1a4e('0x11c')])&&(_0x2327c6||_0x146f6e['parent']['initializer']===_0x146f6e))return!0x0;_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')]['initializer']===_0x146f6e&&(_0x2327c6=!0x0),_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];}return!0x1;}function _0x2983da(_0x368e5a){var _0x146f6e=_0x26ffc2(_0x368e5a);if(_0x146f6e)return _0x146f6e;var _0x2327c6=_0x25b205(_0x368e5a);return _0x2327c6&&!function(_0x368e5a){return!_0x368e5a[_0x1a4e('0x2998')]&&_0x3dbb00(_0x368e5a,0x3)>=0x0;}(_0x2327c6)?_0x4b6767(_0x2327c6):void 0x0;}function _0xe359a1(_0x368e5a,_0x146f6e){var _0x2327c6=_0x10a7aa(_0x368e5a)[_0x1a4e('0x3e')](_0x146f6e);return-0x1===_0x2327c6?void 0x0:_0xb8be5d(_0x368e5a,_0x2327c6);}function _0xb8be5d(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x165ecf(_0x146f6e)[_0x1a4e('0x29d0')]===_0x29387d?_0x29387d:_0x14dd6c(_0x146f6e);return _0x368e5a[_0x1a4e('0x256e')](_0x146f6e)&&0x0===_0x2327c6?_0x52efad(_0x55ff7e,_0x146f6e):_0x4eb09c(_0x55ff7e,_0x2327c6);}function _0x192ef1(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')],_0x55ff7e=_0x2327c6[_0x1a4e('0x5f')],_0x1adc17=_0x2327c6[_0x1a4e('0x237a')],_0xf79407=_0x2327c6[_0x1a4e('0x5d')];switch(_0x1adc17[_0x1a4e('0x146b')]){case 0x3b:if(_0x146f6e!==_0xf79407)return;var _0x2c9ec9=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x23ba')](_0x146f6e);switch(_0x2327c6){case 0x0:return!0x0;case 0x5:case 0x1:case 0x6:case 0x3:if(_0x146f6e[_0x1a4e('0x5f')][_0x1a4e('0xb1b')]){var _0x55ff7e=_0x146f6e[_0x1a4e('0x5f')][_0x1a4e('0xb1b')]['valueDeclaration'];if(!_0x55ff7e)return!0x1;var _0x1adc17=_0x146f6e[_0x1a4e('0x5f')],_0xf79407=_0x368e5a[_0x1a4e('0x2452')](_0x55ff7e);if(_0xf79407)return _0x3fafb1(_0xf79407);if(_0x368e5a['isIdentifier'](_0x1adc17[_0x1a4e('0x2302')])){var _0x2c9ec9=_0x1adc17[_0x1a4e('0x2302')],_0x420b32=_0x1e09ab(_0x2c9ec9,_0x2c9ec9[_0x1a4e('0x22f3')],0x401b3bf,void 0x0,_0x2c9ec9['escapedText'],!0x0);if(_0x420b32){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2452')](_0x420b32['valueDeclaration']);if(_0x1b06ad){var _0x326eae=_0xbea77(_0x3fafb1(_0x1b06ad),_0x1adc17[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]);return _0x326eae||!0x1;}return!0x1;}}return!_0x368e5a[_0x1a4e('0x24e1')](_0x55ff7e);}return!0x0;case 0x2:case 0x4:if(!_0x146f6e[_0x1a4e('0xb1b')])return!0x0;if(_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2340')]){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2452')](_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2340')]);if(_0x1b06ad){var _0x326eae=_0x3fafb1(_0x1b06ad);if(_0x326eae)return _0x326eae;}}if(0x2===_0x2327c6)return!0x1;var _0x56674b=_0x146f6e[_0x1a4e('0x5f')];if(!_0x368e5a['isObjectLiteralMethod'](_0x368e5a[_0x1a4e('0x239b')](_0x56674b[_0x1a4e('0x2302')],!0x1)))return!0x1;var _0x415952=_0xd68abb(_0x56674b[_0x1a4e('0x2302')]);return _0x415952&&_0xbea77(_0x415952,_0x56674b[_0x1a4e('0x2cb')]['escapedText'])||!0x1;case 0x7:case 0x8:case 0x9:return _0x368e5a[_0x1a4e('0x1749')]['fail'](_0x1a4e('0x2a72'));default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x2327c6);}}(_0x2327c6);if(!_0x2c9ec9)return;return!0x0===_0x2c9ec9?_0x1dceed(_0x55ff7e):_0x2c9ec9;case 0x37:var _0x420b32=_0x2ec237(_0x2327c6);return _0x420b32||_0x146f6e!==_0xf79407||_0x368e5a[_0x1a4e('0x23b6')](_0x2327c6)?_0x420b32:_0x1dceed(_0x55ff7e);case 0x36:case 0x1b:return _0x146f6e===_0xf79407?_0x2ec237(_0x2327c6):void 0x0;default:return;}}function _0xbea77(_0x368e5a,_0x146f6e){return _0x578997(_0x368e5a,function(_0x368e5a){if(0x380000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x2327c6=_0x3c127b(_0x368e5a,_0x146f6e);if(_0x2327c6)return _0x38797c(_0x2327c6);if(_0x102fd6(_0x368e5a)){var _0x55ff7e=_0x49b3ef(_0x368e5a);if(_0x55ff7e&&_0x2a5163(_0x146f6e)&&+_0x146f6e>=0x0)return _0x55ff7e;}return _0x2a5163(_0x146f6e)&&_0x51b103(_0x368e5a,0x1)||_0x51b103(_0x368e5a,0x0);}},!0x0);}function _0x51b103(_0x368e5a,_0x146f6e){return _0x578997(_0x368e5a,function(_0x368e5a){return _0x15bdf2(_0x368e5a,_0x146f6e);},!0x0);}function _0x4620bd(_0x368e5a){var _0x146f6e=_0x2d35d1(_0x368e5a[_0x1a4e('0x11c')]);if(_0x146f6e){if(!_0x45371c(_0x368e5a)){var _0x2327c6=_0xbea77(_0x146f6e,_0x54a27b(_0x368e5a)[_0x1a4e('0x22e8')]);if(_0x2327c6)return _0x2327c6;}return _0x5799a2(_0x368e5a['name'])&&_0x51b103(_0x146f6e,0x1)||_0x51b103(_0x146f6e,0x0);}}function _0x4a7944(_0x368e5a,_0x146f6e){return _0x368e5a&&(_0xbea77(_0x368e5a,''+_0x146f6e)||_0x280f49(_0x368e5a,void 0x0,!0x1,!0x1,!0x1));}function _0xf6bbff(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];return _0x368e5a[_0x1a4e('0x28e9')](_0x2327c6)?_0x2ec237(_0x146f6e):_0x368e5a[_0x1a4e('0x2526')](_0x2327c6)?function(_0x368e5a){var _0x146f6e=_0x2d35d1(_0x368e5a[_0x1a4e('0x260f')][_0x1a4e('0x132b')]),_0x2327c6=_0x58d363(_0x22ca75(_0x368e5a));return _0x146f6e&&!_0x4e7589(_0x146f6e)&&_0x2327c6&&''!==_0x2327c6?_0xbea77(_0x146f6e,_0x2327c6):void 0x0;}(_0x2327c6):void 0x0;}function _0x108842(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2578')](_0x146f6e)){var _0x2327c6=_0x2d35d1(_0x146f6e[_0x1a4e('0x11c')]);if(!_0x2327c6||_0x4e7589(_0x2327c6))return;return _0xbea77(_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]);}return _0x2ec237(_0x146f6e['parent']);}function _0x38e1e0(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xa:case 0x8:case 0x9:case 0xe:case 0x66:case 0x57:case 0x60:case 0x48:case 0x8d:return!0x0;case 0xbd:case 0xc3:return _0x38e1e0(_0x368e5a['expression']);case 0x10e:return!_0x368e5a[_0x1a4e('0x2302')]||_0x38e1e0(_0x368e5a[_0x1a4e('0x2302')]);}return!0x1;}function _0x2d35d1(_0x146f6e){var _0x2327c6=_0x2ec237(_0x146f6e);if((_0x2327c6=_0x2327c6&&_0x578997(_0x2327c6,_0x26521d))&&0x100000&_0x2327c6[_0x1a4e('0x7b2')]){if(_0x368e5a[_0x1a4e('0x236f')](_0x146f6e))return function(_0x146f6e,_0x2327c6){return _0x58a997(_0x2327c6,_0x368e5a['map'](_0x368e5a['filter'](_0x146f6e[_0x1a4e('0x13')],function(_0x368e5a){return!!_0x368e5a['symbol']&&0x113===_0x368e5a[_0x1a4e('0x146b')]&&_0x38e1e0(_0x368e5a['initializer'])&&_0x5422af(_0x2327c6,_0x368e5a['symbol'][_0x1a4e('0x22e8')]);}),function(_0x368e5a){return[function(){return _0x4e94e8(_0x368e5a[_0x1a4e('0x236a')]);},_0x368e5a['symbol'][_0x1a4e('0x22e8')]];}),_0x720afc,_0x2327c6);}(_0x146f6e,_0x2327c6);if(_0x368e5a[_0x1a4e('0x2a1a')](_0x146f6e))return function(_0x146f6e,_0x2327c6){return _0x58a997(_0x2327c6,_0x368e5a[_0x1a4e('0x21')](_0x368e5a['filter'](_0x146f6e['properties'],function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0xb1b')]&&0x10b===_0x368e5a[_0x1a4e('0x146b')]&&_0x5422af(_0x2327c6,_0x368e5a[_0x1a4e('0xb1b')][_0x1a4e('0x22e8')])&&(!_0x368e5a[_0x1a4e('0x236a')]||_0x38e1e0(_0x368e5a[_0x1a4e('0x236a')]));}),function(_0x368e5a){return[_0x368e5a['initializer']?function(){return _0x4e94e8(_0x368e5a[_0x1a4e('0x236a')]);}:function(){return _0x236fc7;},_0x368e5a[_0x1a4e('0xb1b')][_0x1a4e('0x22e8')]];}),_0x720afc,_0x2327c6);}(_0x146f6e,_0x2327c6);}return _0x2327c6;}function _0x2ec237(_0x146f6e){if(!(0x800000&_0x146f6e[_0x1a4e('0x7b2')])){if(_0x146f6e['contextualType'])return _0x146f6e[_0x1a4e('0x2a73')];var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xed:case 0x97:case 0x9a:case 0x99:case 0xba:return function(_0x146f6e){var _0x2327c6=_0x146f6e['parent'];if(_0x368e5a[_0x1a4e('0x29b6')](_0x2327c6)&&_0x146f6e===_0x2327c6[_0x1a4e('0x236a')]){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2452')](_0x2327c6);if(_0x55ff7e)return _0x3fafb1(_0x55ff7e);if(0x97===_0x2327c6['kind']){var _0x1adc17=_0x510e44(_0x2327c6);if(_0x1adc17)return _0x1adc17;}if(_0x368e5a[_0x1a4e('0x1678')](_0x2327c6['name']))return _0x462a77(_0x2327c6[_0x1a4e('0x2cb')],!0x0,!0x1);if(_0x368e5a[_0x1a4e('0x1678')](_0x2327c6['parent'])){var _0xf79407=_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x81a')]||_0x2327c6['name'];if(0xba!==_0xf79407[_0x1a4e('0x146b')]){var _0x420b32=_0x368e5a[_0x1a4e('0x2452')](_0xf79407);if(_0x420b32&&!_0x368e5a[_0x1a4e('0x1678')](_0x2c9ec9)){var _0x1b06ad=_0x368e5a['getTextOfPropertyName'](_0x2c9ec9);if(_0x1b06ad)return _0x2032e1(_0x3fafb1(_0x420b32),_0x1b06ad);}}}}}(_0x146f6e);case 0xc5:case 0xe6:return function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6);if(0x1&_0x55ff7e)return;var _0x1adc17=_0x2983da(_0x2327c6);if(_0x1adc17){if(0x2&_0x55ff7e){var _0xf79407=_0x350808(_0x1adc17);return _0xf79407&&_0x2d74ef([_0xf79407,_0x3de43a(_0xf79407)]);}return _0x1adc17;}}}(_0x146f6e);case 0xcf:return function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6),_0x1adc17=_0x2983da(_0x2327c6);if(_0x1adc17)return _0x146f6e[_0x1a4e('0x23fc')]?_0x1adc17:_0x830334(_0x1adc17,0x0!=(0x2&_0x55ff7e));}}(_0x2327c6);case 0xc9:return function(_0x368e5a){var _0x146f6e=_0x2ec237(_0x368e5a);if(_0x146f6e){var _0x2327c6=_0x31547b(_0x146f6e);return _0x2327c6&&_0x2d74ef([_0x2327c6,_0x3de43a(_0x2327c6)]);}}(_0x2327c6);case 0xbf:case 0xc0:return _0xe359a1(_0x2327c6,_0x146f6e);case 0xc2:case 0xd4:return _0x3fafb1(_0x2327c6[_0x1a4e('0x40')]);case 0xcc:return _0x192ef1(_0x146f6e);case 0x113:case 0x114:return _0x4620bd(_0x2327c6);case 0x115:return _0x2d35d1(_0x2327c6['parent']);case 0xbb:var _0x55ff7e=_0x2327c6;return _0x4a7944(_0x2d35d1(_0x55ff7e),_0x368e5a[_0x1a4e('0x2332')](_0x55ff7e[_0x1a4e('0x2398')],_0x146f6e));case 0xcd:return function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x11c')];return _0x368e5a===_0x146f6e[_0x1a4e('0x2602')]||_0x368e5a===_0x146f6e[_0x1a4e('0x2604')]?_0x2ec237(_0x146f6e):void 0x0;}(_0x146f6e);case 0xd8:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xce===_0x2327c6[_0x1a4e('0x11c')]['kind']),function(_0x368e5a,_0x146f6e){if(0xc1===_0x368e5a[_0x1a4e('0x11c')]['kind'])return _0xe359a1(_0x368e5a[_0x1a4e('0x11c')],_0x146f6e);}(_0x2327c6[_0x1a4e('0x11c')],_0x146f6e);case 0xc3:var _0x1adc17=_0x368e5a[_0x1a4e('0x24e1')](_0x2327c6)?_0x368e5a[_0x1a4e('0x23bf')](_0x2327c6):void 0x0;return _0x1adc17?_0x3fafb1(_0x1adc17[_0x1a4e('0x2379')][_0x1a4e('0x40')]):_0x2ec237(_0x2327c6);case 0x10e:return _0xf6bbff(_0x2327c6);case 0x10b:case 0x10d:return _0x108842(_0x2327c6);case 0x106:case 0x105:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2527')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2a73')]?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2a73')]:_0xb8be5d(_0x146f6e,0x0);}(_0x2327c6);}}}function _0x21d87e(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x368e5a){return!!_0x368e5a['contextualMapper'];});return _0x2327c6?_0x2327c6[_0x1a4e('0x2a75')]:_0x5934d9;}function _0x52efad(_0x2327c6,_0x55ff7e){return 0x0!==_0x5cface(_0x55ff7e)?function(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x594905(_0x368e5a,_0x126d3e);_0x55ff7e=_0x276c88(_0x2327c6,_0x22ca75(_0x2327c6),_0x55ff7e);var _0x1adc17=_0x1f120b(_0x146f6e[_0x1a4e('0x2a21')],_0x2327c6);return _0x1adc17!==_0x336c2&&(_0x55ff7e=_0x2b1593(_0x1adc17,_0x55ff7e)),_0x55ff7e;}(_0x2327c6,_0x55ff7e):function(_0x2327c6,_0x55ff7e){var _0x1adc17,_0xf79407=_0x22ca75(_0x55ff7e),_0x2c9ec9=(_0x1adc17=_0xf79407,_0x55a950(_0x146f6e[_0x1a4e('0x2a76')],_0x1adc17)),_0x420b32=void 0x0===_0x2c9ec9?_0x594905(_0x2327c6,_0x126d3e):''===_0x2c9ec9?_0x4b6767(_0x2327c6):function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x4b6767(_0x368e5a);return _0x4e7589(_0x2327c6)?_0x2327c6:_0x2032e1(_0x2327c6,_0x146f6e);}(_0x2327c6,_0x2c9ec9);if(!_0x420b32)return _0x2c9ec9&&_0x368e5a[_0x1a4e('0x1e')](_0x55ff7e[_0x1a4e('0x266d')][_0x1a4e('0x13')])&&_0x2cb4f4(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a77')],_0x368e5a['unescapeLeadingUnderscores'](_0x2c9ec9)),_0x126d3e;if(_0x4e7589(_0x420b32=_0x276c88(_0x55ff7e,_0xf79407,_0x420b32)))return _0x420b32;var _0x1b06ad=_0x420b32,_0x326eae=_0x1f120b(_0x146f6e[_0x1a4e('0x2a22')],_0x55ff7e);if(_0x326eae!==_0x336c2){var _0x56674b=_0x381026(_0x326eae['symbol']),_0x415952=_0x4b6767(_0x2327c6);_0x1b06ad=_0x2b1593(_0x56674b?_0x34525d(_0x326eae,_0x2378c5([_0x415952],_0x56674b,_0x4d15f3(_0x56674b),_0x368e5a[_0x1a4e('0x24e1')](_0x55ff7e))):_0x326eae,_0x1b06ad);}var _0x46923a=_0x1f120b(_0x146f6e[_0x1a4e('0x2a21')],_0x55ff7e);return _0x46923a!==_0x336c2&&(_0x1b06ad=_0x2b1593(_0x46923a,_0x1b06ad)),_0x1b06ad;}(_0x2327c6,_0x55ff7e);}function _0x276c88(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9=(_0xf79407=_0x55ff7e)&&_0x5d1705(_0xf79407[_0x1a4e('0x0')],_0x146f6e['LibraryManagedAttributes'],0x40c09e8);if(_0x2c9ec9){var _0x420b32=_0x287d7b(_0x2c9ec9),_0x1b06ad=function(_0x368e5a){if(_0x2cbafe(_0x368e5a[_0x1a4e('0x132b')]))return _0x4163af(_0x138bdd(_0x368e5a,_0x146f6e=_0x5230a7(_0x368e5a)));var _0x146f6e,_0x2327c6=_0x31ebf4(_0x368e5a[_0x1a4e('0x132b')]);return 0x80&_0x2327c6[_0x1a4e('0x7b2')]?(_0x146f6e=_0x54d976(_0x2327c6,_0x368e5a))?_0x4163af(_0x138bdd(_0x368e5a,_0x146f6e)):_0x336c2:_0x2327c6;}(_0x2327c6);if(_0x368e5a['length'](_0x420b32['typeParameters'])>=0x2)return _0x34525d(_0x420b32,_0x326eae=_0x2378c5([_0x1b06ad,_0x1adc17],_0x420b32[_0x1a4e('0x23d7')],0x2,_0x368e5a[_0x1a4e('0x24e1')](_0x2327c6)));if(_0x368e5a['length'](_0x420b32[_0x1a4e('0x28ad')])>=0x2){var _0x326eae=_0x2378c5([_0x1b06ad,_0x1adc17],_0x420b32[_0x1a4e('0x28ad')],0x2,_0x368e5a[_0x1a4e('0x24e1')](_0x2327c6));return _0x5af6bf(_0x420b32[_0x1a4e('0x28ac')],_0x326eae);}}return _0x1adc17;}function _0x51b69b(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x7bcdc7(_0x146f6e,0x0);if(0x1===_0x55ff7e['length']){var _0x1adc17=_0x55ff7e[0x0];if(!function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0;_0x55ff7e<_0x2327c6[_0x1a4e('0x111a')][_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x2327c6[_0x1a4e('0x111a')][_0x55ff7e];if(_0x1adc17['initializer']||_0x1adc17[_0x1a4e('0x23ca')]||_0x1adc17[_0x1a4e('0x25f9')]||_0x3069eb(_0x1adc17))break;}return _0x2327c6[_0x1a4e('0x111a')][_0x1a4e('0x1e')]&&_0x368e5a[_0x1a4e('0x244f')](_0x2327c6[_0x1a4e('0x111a')][0x0])&&_0x55ff7e--,!_0x47d8b9(_0x146f6e)&&_0x34d119(_0x146f6e)<_0x55ff7e;}(_0x1adc17,_0x2327c6))return _0x1adc17;}}function _0x18ccfa(_0x368e5a){return 0xc4===_0x368e5a['kind']||0xc5===_0x368e5a[_0x1a4e('0x146b')];}function _0x25b205(_0x146f6e){return _0x18ccfa(_0x146f6e)||_0x368e5a[_0x1a4e('0x2867')](_0x146f6e)?_0x184ddb(_0x146f6e):void 0x0;}function _0x28954d(_0x146f6e){return _0x368e5a[_0x1a4e('0x2867')](_0x146f6e)?function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x2867')](_0x146f6e)),!(0x800000&_0x146f6e[_0x1a4e('0x7b2')]))return _0x4620bd(_0x146f6e);}(_0x146f6e):_0x2d35d1(_0x146f6e);}function _0x184ddb(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')]['assert'](0x9c!==_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x2867')](_0x146f6e));var _0x2327c6=_0x4b17a0(_0x146f6e);if(_0x2327c6)return _0x2327c6;var _0x55ff7e=_0x28954d(_0x146f6e);if(_0x55ff7e){if(!(0x100000&_0x55ff7e['flags']))return _0x51b69b(_0x55ff7e,_0x146f6e);for(var _0x1adc17,_0xf79407,_0x2c9ec9=0x0,_0x420b32=_0x55ff7e[_0x1a4e('0x2380')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x51b69b(_0x420b32[_0x2c9ec9],_0x146f6e);if(_0x1b06ad)if(_0x1adc17){if(!_0xdc21c3(_0x1adc17[0x0],_0x1b06ad,!0x1,!0x0,!0x0,_0x40991a))return;_0x1adc17[_0x1a4e('0x46')](_0x1b06ad);}else _0x1adc17=[_0x1b06ad];}return _0x1adc17&&((_0xf79407=_0x4e0534(_0x1adc17[0x0]))[_0x1a4e('0x29c7')]=_0x1adc17),_0xf79407;}}function _0x4be451(_0x368e5a){return 0xba===_0x368e5a[_0x1a4e('0x146b')]&&!!_0x368e5a['initializer']||0xcc===_0x368e5a[_0x1a4e('0x146b')]&&0x3b===_0x368e5a[_0x1a4e('0x237a')][_0x1a4e('0x146b')];}function _0x5ab3cb(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x146f6e[_0x1a4e('0x2398')],_0xf79407=_0x1adc17['length'],_0x2c9ec9=!0x1,_0x420b32=[],_0x1b06ad=_0x368e5a[_0x1a4e('0x23dd')](_0x146f6e),_0x326eae=_0x2d35d1(_0x146f6e),_0x56674b=0x0;_0x56674b<_0xf79407;_0x56674b++){var _0x415952=_0x1adc17[_0x56674b];if(_0x1b06ad&&0xd0===_0x415952['kind']){var _0x46923a=_0x4e94e8(_0x415952[_0x1a4e('0x2302')],_0x2327c6,_0x55ff7e),_0x88bf03=_0x3e5aca(_0x46923a,0x1)||_0x280f49(_0x46923a,void 0x0,!0x1,!0x1,!0x1);_0x88bf03&&_0x420b32[_0x1a4e('0x46')](_0x88bf03);}else{var _0x434714=_0x19c942(_0x415952,_0x2327c6,_0x4a7944(_0x326eae,_0x56674b),_0x55ff7e);_0x420b32[_0x1a4e('0x46')](_0x434714);}_0x56674b<_0xf79407-0x1&&0xd0===_0x415952['kind']&&(_0x2c9ec9=!0x0);}if(!_0x2c9ec9){var _0x57b692=_0xf79407>0x0&&0xd0===_0x1adc17[_0xf79407-0x1][_0x1a4e('0x146b')],_0x1ad11f=_0xf79407-(_0x57b692?0x1:0x0),_0x35bd0a=void 0x0;if(_0x1b06ad&&_0x1ad11f>0x0)return(_0x434714=_0x47902f(_0x4c09c6(_0x420b32,_0x1ad11f,_0x57b692)))[_0x1a4e('0x2975')]=_0x146f6e,_0x434714;if(_0x35bd0a=_0x33ee38(_0x420b32,_0x326eae,_0x57b692,_0xf79407))return _0x35bd0a;if(_0x55ff7e)return _0x4c09c6(_0x420b32,_0x1ad11f,_0x57b692);}return function(_0x368e5a,_0x146f6e){return void 0x0===_0x146f6e&&(_0x146f6e=0x1),_0xfd8b5f(_0x368e5a['length']?_0x2d74ef(_0x368e5a,_0x146f6e):_0x4f3c04?_0x4b931c:_0x4a2e68);}(_0x420b32,0x2);}function _0x33ee38(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(void 0x0===_0x1adc17&&(_0x1adc17=_0x146f6e[_0x1a4e('0x1e')]),_0x2327c6&&_0x16dc76(_0x2327c6,_0x3572f9)){var _0xf79407=_0x1adc17-(_0x55ff7e?0x1:0x0),_0x2c9ec9=_0x2327c6[_0x1a4e('0x2975')];if(!_0x55ff7e&&_0x2c9ec9&&(0xb9===_0x2c9ec9[_0x1a4e('0x146b')]||0xbb===_0x2c9ec9[_0x1a4e('0x146b')]))for(var _0x420b32=_0x2c9ec9[_0x1a4e('0x2398')],_0x1b06ad=_0x1adc17;_0x1b06ad<_0x420b32[_0x1a4e('0x1e')];_0x1b06ad++){var _0x326eae=_0x420b32[_0x1b06ad];_0x4be451(_0x326eae)?_0x146f6e[_0x1a4e('0x46')](_0x2327c6['typeArguments'][_0x1b06ad]):(_0x1b06ad<_0x420b32[_0x1a4e('0x1e')]-0x1||!(0xba===_0x326eae[_0x1a4e('0x146b')]&&_0x326eae[_0x1a4e('0x25f9')]||0xd0===_0x326eae['kind']))&&(0xd2!==_0x326eae[_0x1a4e('0x146b')]&&_0x2cb4f4(_0x326eae,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a78')]),_0x146f6e[_0x1a4e('0x46')](_0x4f3c04?_0x4b931c:_0x4a2e68));}return _0x4c09c6(_0x146f6e,_0xf79407,_0x55ff7e);}}function _0x5799a2(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x95:return function(_0x368e5a){return _0xc28455(_0x16c40(_0x368e5a),0x128);}(_0x368e5a);case 0x48:return _0x2a5163(_0x368e5a[_0x1a4e('0x22f3')]);case 0x8:case 0xa:return _0x2a5163(_0x368e5a['text']);default:return!0x1;}}function _0x3faf80(_0x368e5a){return _0x1a4e('0x2a79')===_0x368e5a||_0x1a4e('0x2a7a')===_0x368e5a||_0x1a4e('0x271')===_0x368e5a;}function _0x2a5163(_0x368e5a){return(+_0x368e5a)[_0x1a4e('0x95')]()===_0x368e5a;}function _0x16c40(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e[_0x1a4e('0x2302')]);return _0x2327c6[_0x1a4e('0x29e0')]||(_0x2327c6[_0x1a4e('0x29e0')]=_0x4e94e8(_0x146f6e['expression']),0x18000&_0x2327c6[_0x1a4e('0x29e0')]['flags']||!_0xc28455(_0x2327c6['resolvedType'],0x31ac)&&!_0x720afc(_0x2327c6[_0x1a4e('0x29e0')],_0x3b48a7)?_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['A_computed_property_name_must_be_of_type_string_number_symbol_or_any']):_0x40073c(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6[_0x1a4e('0x29e0')],!0x0)),_0x2327c6['resolvedType'];}function _0xdf72b2(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=[],_0xf79407=0x0;_0xf79407<_0x2327c6[_0x1a4e('0x1e')];_0xf79407++)(0x0===_0x55ff7e||_0x5799a2(_0x368e5a[_0xf79407+_0x146f6e][_0x1a4e('0x2cb')]))&&_0x1adc17[_0x1a4e('0x46')](_0x38797c(_0x2327c6[_0xf79407]));return _0x2c1884(_0x1adc17['length']?_0x2d74ef(_0x1adc17,0x2):_0x57a5b4,!0x1);}function _0x5b6338(_0x146f6e){_0x368e5a['Debug'][_0x1a4e('0xba0')](0x0!=(0x200000&_0x146f6e[_0x1a4e('0x7b2')]),_0x1a4e('0x296d'));var _0x2327c6=_0xdba731(_0x146f6e);if(!_0x2327c6['immediateTarget']){var _0x55ff7e=_0x467425(_0x146f6e);if(!_0x55ff7e)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();_0x2327c6[_0x1a4e('0x2a7b')]=_0x5a281b(_0x55ff7e,!0x0);}return _0x2327c6['immediateTarget'];}function _0x421f5a(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x368e5a['isAssignmentTarget'](_0x146f6e);!function(_0x146f6e,_0x2327c6){var _0x55ff7e;!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1963')]=0x1]='Property',_0x368e5a[_0x368e5a[_0x1a4e('0x181c')]=0x2]=_0x1a4e('0x181c'),_0x368e5a[_0x368e5a[_0x1a4e('0x181d')]=0x4]=_0x1a4e('0x181d'),_0x368e5a[_0x368e5a['GetOrSetAccessor']=0x6]=_0x1a4e('0x2a7c');}(_0x55ff7e||(_0x55ff7e={}));for(var _0x1adc17=_0x368e5a[_0x1a4e('0x283a')](),_0xf79407=0x0,_0x2c9ec9=_0x146f6e[_0x1a4e('0x13')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(0x115!==_0x420b32[_0x1a4e('0x146b')]){var _0x1b06ad=_0x420b32['name'];if(0x95===_0x1b06ad[_0x1a4e('0x146b')]&&_0x5774af(_0x1b06ad),0x114===_0x420b32[_0x1a4e('0x146b')]&&!_0x2327c6&&_0x420b32[_0x1a4e('0x2471')])return _0x2d955f(_0x420b32[_0x1a4e('0x25f8')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a7d')]);if(_0x420b32['modifiers'])for(var _0x326eae=0x0,_0x56674b=_0x420b32[_0x1a4e('0x242d')];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x415952=_0x56674b[_0x326eae];0x79===_0x415952['kind']&&0x9c===_0x420b32[_0x1a4e('0x146b')]||_0x2d955f(_0x415952,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a7e')],_0x368e5a['getTextOfNode'](_0x415952));}var _0x46923a=void 0x0;switch(_0x420b32[_0x1a4e('0x146b')]){case 0x114:_0x9b6589(_0x420b32[_0x1a4e('0x25f7')],_0x368e5a[_0x1a4e('0x167d')]['A_definite_assignment_assertion_is_not_permitted_in_this_context']);case 0x113:_0x3854bb(_0x420b32['questionToken'],_0x368e5a['Diagnostics']['An_object_member_cannot_be_declared_optional']),0x8===_0x1b06ad[_0x1a4e('0x146b')]&&_0x3e40df(_0x1b06ad);case 0x9c:_0x46923a=0x1;break;case 0x9e:_0x46923a=0x2;break;case 0x9f:_0x46923a=0x4;break;default:throw _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x420b32,_0x1a4e('0x2a7f')+_0x420b32[_0x1a4e('0x146b')]);}var _0x88bf03=_0x368e5a[_0x1a4e('0x29ee')](_0x1b06ad);if(void 0x0!==_0x88bf03){var _0x434714=_0x1adc17[_0x1a4e('0x179')](_0x88bf03);if(_0x434714)if(0x1===_0x46923a&&0x1===_0x434714)_0x2d955f(_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')]['Duplicate_identifier_0'],_0x368e5a[_0x1a4e('0x1675')](_0x1b06ad));else{if(!(0x6&_0x46923a&&0x6&_0x434714))return _0x2d955f(_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a80')]);if(0x6===_0x434714||_0x46923a===_0x434714)return _0x2d955f(_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a81')]);_0x1adc17['set'](_0x88bf03,_0x46923a|_0x434714);}else _0x1adc17[_0x1a4e('0x17a')](_0x88bf03,_0x46923a);}}}}(_0x146f6e,_0x1adc17);var _0xf79407=[],_0x2c9ec9=_0x126d3e,_0x420b32=0x0,_0x1b06ad=_0x2d35d1(_0x146f6e),_0x326eae=_0x1b06ad&&_0x1b06ad[_0x1a4e('0x2975')]&&(0xb8===_0x1b06ad[_0x1a4e('0x2975')]['kind']||0xbc===_0x1b06ad[_0x1a4e('0x2975')][_0x1a4e('0x146b')]),_0x56674b=_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x23ab')](_0x146f6e),_0x415952=_0x368e5a[_0x1a4e('0x24d8')](_0x146f6e),_0x46923a=!_0x1b06ad&&_0x56674b&&!_0x415952,_0x88bf03=0x0,_0x434714=!0x1,_0x57b692=!0x1,_0x1ad11f=!0x1;_0x55ff7e=_0x368e5a[_0x1a4e('0x22e7')]();for(var _0x35bd0a=0x0,_0x36aa2e=0x0;_0x36aa2e<_0x146f6e[_0x1a4e('0x13')]['length'];_0x36aa2e++){var _0x30b3ec=_0x146f6e[_0x1a4e('0x13')][_0x36aa2e],_0x1b487e=_0x54a27b(_0x30b3ec),_0x3d8f5d=_0x30b3ec[_0x1a4e('0x2cb')]&&0x95===_0x30b3ec[_0x1a4e('0x2cb')]['kind']&&!_0x368e5a[_0x1a4e('0x283f')](_0x30b3ec[_0x1a4e('0x2cb')][_0x1a4e('0x2302')])?_0x16c40(_0x30b3ec[_0x1a4e('0x2cb')]):void 0x0;if(0x113===_0x30b3ec[_0x1a4e('0x146b')]||0x114===_0x30b3ec[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x2867')](_0x30b3ec)){var _0x15a30a=0x113===_0x30b3ec[_0x1a4e('0x146b')]?_0x2fbb1a(_0x30b3ec,_0x2327c6):0x114===_0x30b3ec['kind']?_0x19c942(_0x30b3ec[_0x1a4e('0x2cb')],_0x2327c6):_0x54d43d(_0x30b3ec,_0x2327c6);if(_0x56674b){var _0x1369b6=_0x324df4(_0x30b3ec);_0x1369b6?(_0x36c7ec(_0x15a30a,_0x1369b6,_0x30b3ec),_0x15a30a=_0x1369b6):_0x415952&&_0x415952[_0x1a4e('0x2379')]&&_0x36c7ec(_0x15a30a,_0x3fafb1(_0x415952[_0x1a4e('0x2379')]),_0x30b3ec);}_0x88bf03|=_0x15a30a['flags'];var _0x7151b1=_0x3d8f5d&&0x2180&_0x3d8f5d[_0x1a4e('0x7b2')]?_0x3d8f5d:void 0x0,_0x188821=_0x7151b1?_0x4ecc5b(0x4|_0x1b487e[_0x1a4e('0x7b2')],_0x4366e0(_0x7151b1),0x400):_0x4ecc5b(0x4|_0x1b487e['flags'],_0x1b487e[_0x1a4e('0x22e8')]);if(_0x7151b1&&(_0x188821['nameType']=_0x7151b1),_0x1adc17)(0x113===_0x30b3ec['kind']&&_0x4be451(_0x30b3ec['initializer'])||0x114===_0x30b3ec[_0x1a4e('0x146b')]&&_0x30b3ec[_0x1a4e('0x2471')])&&(_0x188821[_0x1a4e('0x7b2')]|=0x1000000);else if(_0x326eae&&!(0x200&_0x368e5a[_0x1a4e('0x249a')](_0x1b06ad))){var _0x362306=_0x3c127b(_0x1b06ad,_0x1b487e['escapedName']);_0x362306?_0x188821[_0x1a4e('0x7b2')]|=0x1000000&_0x362306[_0x1a4e('0x7b2')]:_0x239ab2[_0x1a4e('0x2788')]||_0x5c197b(_0x1b06ad,0x0)||_0x2cb4f4(_0x30b3ec[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a1d')],_0x22aa27(_0x1b487e),_0x5ad709(_0x1b06ad));}_0x188821[_0x1a4e('0x22e5')]=_0x1b487e[_0x1a4e('0x22e5')],_0x188821[_0x1a4e('0x11c')]=_0x1b487e[_0x1a4e('0x11c')],_0x1b487e['valueDeclaration']&&(_0x188821[_0x1a4e('0x2340')]=_0x1b487e[_0x1a4e('0x2340')]),_0x188821[_0x1a4e('0x40')]=_0x15a30a,_0x188821[_0x1a4e('0xd95')]=_0x1b487e,_0x1b487e=_0x188821;}else{if(0x115===_0x30b3ec[_0x1a4e('0x146b')]){if(_0x1b8154<0x2&&_0x1145ed(_0x30b3ec,0x2),_0xf79407[_0x1a4e('0x1e')]>0x0&&(_0x2c9ec9=_0x52cfaa(_0x2c9ec9,_0x3c5414(),_0x146f6e[_0x1a4e('0xb1b')],_0x420b32,0x8000),_0xf79407=[],_0x55ff7e=_0x368e5a['createSymbolTable'](),_0x57b692=!0x1,_0x1ad11f=!0x1,_0x88bf03=0x0),!_0x1e2722(_0x15a30a=_0x4e94e8(_0x30b3ec['expression'])))return _0x2cb4f4(_0x30b3ec,_0x368e5a[_0x1a4e('0x167d')]['Spread_types_may_only_be_created_from_object_types']),_0x336c2;_0x2c9ec9=_0x52cfaa(_0x2c9ec9,_0x15a30a,_0x146f6e[_0x1a4e('0xb1b')],_0x420b32,0x8000),_0x35bd0a=_0x36aa2e+0x1;continue;}_0x368e5a['Debug']['assert'](0x9e===_0x30b3ec['kind']||0x9f===_0x30b3ec[_0x1a4e('0x146b')]),_0xd0e60c(_0x30b3ec);}!_0x3d8f5d||0x2180&_0x3d8f5d[_0x1a4e('0x7b2')]?_0x55ff7e[_0x1a4e('0x17a')](_0x1b487e[_0x1a4e('0x22e8')],_0x1b487e):_0x720afc(_0x3d8f5d,_0x3b48a7)&&(_0x720afc(_0x3d8f5d,_0x4a492a)?_0x1ad11f=!0x0:_0x57b692=!0x0,_0x1adc17&&(_0x434714=!0x0)),_0xf79407[_0x1a4e('0x46')](_0x1b487e);}if(_0x326eae)for(var _0x5934d9=0x0,_0x2918ee=_0x41c062(_0x1b06ad);_0x5934d9<_0x2918ee[_0x1a4e('0x1e')];_0x5934d9++)_0x188821=_0x2918ee[_0x5934d9],_0x55ff7e[_0x1a4e('0x179')](_0x188821[_0x1a4e('0x22e8')])||_0x2c9ec9&&_0x3c127b(_0x2c9ec9,_0x188821[_0x1a4e('0x22e8')])||(0x1000000&_0x188821[_0x1a4e('0x7b2')]||_0x2cb4f4(_0x188821[_0x1a4e('0x2340')]||_0x188821[_0x1a4e('0x29a2')],_0x368e5a[_0x1a4e('0x167d')]['Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value']),_0x55ff7e['set'](_0x188821[_0x1a4e('0x22e8')],_0x188821),_0xf79407[_0x1a4e('0x46')](_0x188821));return _0x2c9ec9!==_0x126d3e?(_0xf79407[_0x1a4e('0x1e')]>0x0&&(_0x2c9ec9=_0x52cfaa(_0x2c9ec9,_0x3c5414(),_0x146f6e[_0x1a4e('0xb1b')],_0x420b32,0x8000)),_0x2c9ec9):_0x3c5414();function _0x3c5414(){var _0x2327c6=_0x57b692?_0xdf72b2(_0x146f6e[_0x1a4e('0x13')],_0x35bd0a,_0xf79407,0x0):void 0x0,_0x2c9ec9=_0x1ad11f?_0xdf72b2(_0x146f6e[_0x1a4e('0x13')],_0x35bd0a,_0xf79407,0x1):void 0x0,_0x1b06ad=_0x1178b7(_0x146f6e[_0x1a4e('0xb1b')],_0x55ff7e,_0x368e5a['emptyArray'],_0x368e5a[_0x1a4e('0x1700')],_0x2327c6,_0x2c9ec9);return _0x1b06ad[_0x1a4e('0x7b2')]|=0x10000000|0x38000000&_0x88bf03,_0x1b06ad[_0x1a4e('0x2472')]|=0x80|_0x44918a,_0x46923a&&(_0x1b06ad['objectFlags']|=0x4000),_0x434714&&(_0x1b06ad['objectFlags']|=0x200),_0x1adc17&&(_0x1b06ad['pattern']=_0x146f6e),_0x420b32|=0x38000000&_0x1b06ad[_0x1a4e('0x7b2')],_0x1b06ad;}}function _0x1e2722(_0x146f6e){return!!(0x78c0003&_0x146f6e[_0x1a4e('0x7b2')]||0x1cb80&_0x30e928(_0x146f6e)&&_0x1e2722(_0x194249(_0x146f6e))||0x300000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a['every'](_0x146f6e[_0x1a4e('0x2380')],_0x1e2722));}function _0x3b13f2(_0x146f6e){return!_0x368e5a[_0x1a4e('0x175a')](_0x146f6e,'-');}function _0x2cbafe(_0x146f6e){return 0x48===_0x146f6e['kind']&&_0x368e5a[_0x1a4e('0x2a82')](_0x146f6e['escapedText']);}function _0xc1f4ef(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x236a')]?_0x19c942(_0x368e5a['initializer'],_0x146f6e):_0x236fc7;}function _0x19534a(_0x368e5a,_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x368e5a['children'];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];0xb===_0xf79407[_0x1a4e('0x146b')]?_0xf79407[_0x1a4e('0x2a83')]||_0x2327c6[_0x1a4e('0x46')](_0x1d9562):_0x2327c6[_0x1a4e('0x46')](_0x19c942(_0xf79407,_0x146f6e));}return _0x2327c6;}function _0x40fc2b(_0x146f6e,_0x2327c6){return function(_0x146f6e,_0x2327c6){for(var _0x55ff7e,_0x1adc17=_0x146f6e[_0x1a4e('0x266d')],_0xf79407=_0x368e5a[_0x1a4e('0x22e7')](),_0x2c9ec9=_0x3e03b6,_0x420b32=!0x1,_0x1b06ad=!0x1,_0x326eae=0x0,_0x56674b=0x1000,_0x415952=_0x58d363(_0x22ca75(_0x146f6e)),_0x46923a=0x0,_0x88bf03=_0x1adc17[_0x1a4e('0x13')];_0x46923a<_0x88bf03[_0x1a4e('0x1e')];_0x46923a++){var _0x434714=_0x88bf03[_0x46923a],_0x57b692=_0x434714[_0x1a4e('0xb1b')];if(_0x368e5a[_0x1a4e('0x2578')](_0x434714)){var _0x1ad11f=_0xc1f4ef(_0x434714,_0x2327c6);_0x326eae|=0x38000000&_0x1ad11f[_0x1a4e('0x7b2')];var _0x35bd0a=_0x4ecc5b(0x2000004|_0x57b692[_0x1a4e('0x7b2')],_0x57b692['escapedName']);_0x35bd0a[_0x1a4e('0x22e5')]=_0x57b692[_0x1a4e('0x22e5')],_0x35bd0a[_0x1a4e('0x11c')]=_0x57b692[_0x1a4e('0x11c')],_0x57b692[_0x1a4e('0x2340')]&&(_0x35bd0a[_0x1a4e('0x2340')]=_0x57b692[_0x1a4e('0x2340')]),_0x35bd0a[_0x1a4e('0x40')]=_0x1ad11f,_0x35bd0a[_0x1a4e('0xd95')]=_0x57b692,_0xf79407[_0x1a4e('0x17a')](_0x35bd0a[_0x1a4e('0x22e8')],_0x35bd0a),_0x434714[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]===_0x415952&&(_0x1b06ad=!0x0);}else _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x10d===_0x434714['kind']),_0xf79407[_0x1a4e('0x220')]>0x0&&(_0x2c9ec9=_0x52cfaa(_0x2c9ec9,_0x7151b1(),_0x1adc17['symbol'],_0x326eae,_0x56674b),_0xf79407=_0x368e5a[_0x1a4e('0x22e7')]()),_0x4e7589(_0x1ad11f=_0x31ebf4(_0x434714[_0x1a4e('0x2302')],_0x2327c6))&&(_0x420b32=!0x0),_0x1e2722(_0x1ad11f)?_0x2c9ec9=_0x52cfaa(_0x2c9ec9,_0x1ad11f,_0x1adc17[_0x1a4e('0xb1b')],_0x326eae,_0x56674b):_0x55ff7e=_0x55ff7e?_0xffdb94([_0x55ff7e,_0x1ad11f]):_0x1ad11f;}_0x420b32||_0xf79407[_0x1a4e('0x220')]>0x0&&(_0x2c9ec9=_0x52cfaa(_0x2c9ec9,_0x7151b1(),_0x1adc17[_0x1a4e('0xb1b')],_0x326eae,_0x56674b));var _0x36aa2e=0x104===_0x146f6e[_0x1a4e('0x11c')]['kind']?_0x146f6e[_0x1a4e('0x11c')]:void 0x0;if(_0x36aa2e&&_0x36aa2e['openingElement']===_0x146f6e&&_0x36aa2e['children'][_0x1a4e('0x1e')]>0x0){var _0x30b3ec=_0x19534a(_0x36aa2e,_0x2327c6);if(!_0x420b32&&_0x415952&&''!==_0x415952){_0x1b06ad&&_0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a84')],_0x368e5a[_0x1a4e('0x24d1')](_0x415952));var _0x1b487e=_0x2d35d1(_0x146f6e[_0x1a4e('0x266d')]),_0x3d8f5d=_0x1b487e&&_0xbea77(_0x1b487e,_0x415952),_0x15a30a=_0x4ecc5b(0x2000004,_0x415952);_0x15a30a[_0x1a4e('0x40')]=0x1===_0x30b3ec[_0x1a4e('0x1e')]?_0x30b3ec[0x0]:_0x33ee38(_0x30b3ec,_0x3d8f5d,!0x1)||_0xfd8b5f(_0x2d74ef(_0x30b3ec));var _0x1369b6=_0x368e5a[_0x1a4e('0x22e7')]();_0x1369b6[_0x1a4e('0x17a')](_0x415952,_0x15a30a),_0x2c9ec9=_0x52cfaa(_0x2c9ec9,_0x1178b7(_0x1adc17[_0x1a4e('0xb1b')],_0x1369b6,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a['emptyArray'],void 0x0,void 0x0),_0x1adc17[_0x1a4e('0xb1b')],_0x326eae,_0x56674b);}}return _0x420b32?_0x330555:_0x55ff7e&&_0x2c9ec9!==_0x3e03b6?_0xffdb94([_0x55ff7e,_0x2c9ec9]):_0x55ff7e||(_0x2c9ec9===_0x3e03b6?_0x7151b1():_0x2c9ec9);function _0x7151b1(){_0x56674b|=_0x44918a;var _0x146f6e=_0x1178b7(_0x1adc17[_0x1a4e('0xb1b')],_0xf79407,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0);return _0x146f6e[_0x1a4e('0x7b2')]|=0x10000000|_0x326eae,_0x146f6e[_0x1a4e('0x2472')]|=0x80|_0x56674b,_0x146f6e;}}(_0x146f6e[_0x1a4e('0x11c')],_0x2327c6);}function _0x1f120b(_0x368e5a,_0x146f6e){var _0x2327c6=_0x22ca75(_0x146f6e),_0x55ff7e=_0x2327c6&&_0x768c45(_0x2327c6),_0x1adc17=_0x55ff7e&&_0x5d1705(_0x55ff7e,_0x368e5a,0x40c09e8);return _0x1adc17?_0x287d7b(_0x1adc17):_0x336c2;}function _0x3f3dd7(_0x2327c6){var _0x55ff7e=_0x165ecf(_0x2327c6);if(!_0x55ff7e['resolvedSymbol']){var _0x1adc17=_0x1f120b(_0x146f6e['IntrinsicElements'],_0x2327c6);if(_0x1adc17!==_0x336c2){if(!_0x368e5a['isIdentifier'](_0x2327c6['tagName']))return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();var _0xf79407=_0x3c127b(_0x1adc17,_0x2327c6[_0x1a4e('0x132b')][_0x1a4e('0x22f3')]);return _0xf79407?(_0x55ff7e['jsxFlags']|=0x1,_0x55ff7e['resolvedSymbol']=_0xf79407):_0x3e5aca(_0x1adc17,0x0)?(_0x55ff7e[_0x1a4e('0x2a85')]|=0x2,_0x55ff7e[_0x1a4e('0x296c')]=_0x1adc17[_0x1a4e('0xb1b')]):(_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['Property_0_does_not_exist_on_type_1'],_0x368e5a[_0x1a4e('0x2353')](_0x2327c6['tagName']),_0x1a4e('0x2a86')+_0x146f6e[_0x1a4e('0x2a87')]),_0x55ff7e[_0x1a4e('0x296c')]=_0x450499);}return _0x59c9de&&_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics']['JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists'],_0x368e5a[_0x1a4e('0x24d1')](_0x146f6e['IntrinsicElements'])),_0x55ff7e['resolvedSymbol']=_0x450499;}return _0x55ff7e[_0x1a4e('0x296c')];}function _0x22ca75(_0x368e5a){var _0x2327c6=_0x368e5a&&_0x165ecf(_0x368e5a);if(_0x2327c6&&_0x2327c6['jsxNamespace'])return _0x2327c6[_0x1a4e('0x2a88')];if(!_0x2327c6||!0x1!==_0x2327c6[_0x1a4e('0x2a88')]){var _0x55ff7e=_0x224360(_0x368e5a),_0x1adc17=_0x1e09ab(_0x368e5a,_0x55ff7e,0x780,void 0x0,_0x55ff7e,!0x1);if(_0x1adc17){var _0xf79407=_0x5d1705(_0x768c45(_0x2825c7(_0x1adc17)),_0x146f6e[_0x1a4e('0x1a3d')],0x780);if(_0xf79407)return _0x2327c6&&(_0x2327c6[_0x1a4e('0x2a88')]=_0xf79407),_0xf79407;_0x2327c6&&(_0x2327c6[_0x1a4e('0x2a88')]=!0x1);}}return _0x8cd98c(_0x146f6e[_0x1a4e('0x1a3d')],0x780,void 0x0);}function _0x55a950(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6&&_0x5d1705(_0x2327c6[_0x1a4e('0x0')],_0x146f6e,0x40c09e8),_0x1adc17=_0x55ff7e&&_0x287d7b(_0x55ff7e),_0xf79407=_0x1adc17&&_0x41c062(_0x1adc17);if(_0xf79407){if(0x0===_0xf79407[_0x1a4e('0x1e')])return'';if(0x1===_0xf79407[_0x1a4e('0x1e')])return _0xf79407[0x0][_0x1a4e('0x22e8')];_0xf79407['length']>0x1&&_0x2cb4f4(_0x55ff7e[_0x1a4e('0x22e5')][0x0],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a89')],_0x368e5a[_0x1a4e('0x24d1')](_0x146f6e));}}function _0x58d363(_0x368e5a){return _0x55a950(_0x146f6e['ElementChildrenAttributeNameContainer'],_0x368e5a);}function _0x54d976(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x1f120b(_0x146f6e[_0x1a4e('0x2a87')],_0x55ff7e);if(_0x1adc17!==_0x336c2){var _0xf79407=_0x2327c6[_0x1a4e('0x255')],_0x2c9ec9=_0x3c127b(_0x1adc17,_0x368e5a[_0x1a4e('0x22f4')](_0xf79407));if(_0x2c9ec9)return _0x38797c(_0x2c9ec9);var _0x420b32=_0x3e5aca(_0x1adc17,0x0);return _0x420b32||void 0x0;}return _0x330555;}function _0x5230a7(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x2cbafe(_0x146f6e[_0x1a4e('0x132b')]));var _0x2327c6=_0x165ecf(_0x146f6e);if(!_0x2327c6[_0x1a4e('0x2a8a')]){var _0x55ff7e=_0x3f3dd7(_0x146f6e);return 0x1&_0x2327c6[_0x1a4e('0x2a85')]?_0x2327c6[_0x1a4e('0x2a8a')]=_0x38797c(_0x55ff7e):0x2&_0x2327c6[_0x1a4e('0x2a85')]?_0x2327c6['resolvedJsxElementAttributesType']=_0xafc5f2(_0x55ff7e,0x0)[_0x1a4e('0x40')]:_0x2327c6['resolvedJsxElementAttributesType']=_0x336c2;}return _0x2327c6[_0x1a4e('0x2a8a')];}function _0x1e8898(_0x368e5a){var _0x2327c6=_0x1f120b(_0x146f6e[_0x1a4e('0x2a8b')],_0x368e5a);if(_0x2327c6!==_0x336c2)return _0x2327c6;}function _0x3d3ca3(_0x368e5a){return _0x1f120b(_0x146f6e[_0x1a4e('0x2a8c')],_0x368e5a);}function _0x256c7a(_0x368e5a){var _0x146f6e=_0x3d3ca3(_0x368e5a);if(_0x146f6e)return _0x2d74ef([_0x146f6e,_0x406341]);}function _0x259b34(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x256e')](_0x146f6e);_0x55ff7e&&function(_0x146f6e){_0x4e7c30(_0x146f6e,_0x146f6e['typeArguments']);for(var _0x2327c6=_0x368e5a[_0x1a4e('0x283a')](),_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x266d')]['properties'];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0x10d!==_0xf79407['kind']){var _0x2c9ec9=_0xf79407['name'],_0x420b32=_0xf79407[_0x1a4e('0x236a')];if(_0x2327c6[_0x1a4e('0x179')](_0x2c9ec9[_0x1a4e('0x22f3')]))return _0x2d955f(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a8d')]);if(_0x2327c6[_0x1a4e('0x17a')](_0x2c9ec9['escapedText'],!0x0),_0x420b32&&0x10e===_0x420b32[_0x1a4e('0x146b')]&&!_0x420b32[_0x1a4e('0x2302')])return _0x2d955f(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a8e')]);}}}(_0x146f6e),_0x2327c6=_0x146f6e,0x0===(_0x239ab2[_0x1a4e('0x294b')]||0x0)&&_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a8f')]),void 0x0===_0x3d3ca3(_0x2327c6)&&_0x59c9de&&_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a90')]);var _0x1adc17=_0x125480&&0x2===_0x239ab2[_0x1a4e('0x294b')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a50')]:void 0x0,_0xf79407=_0x224360(_0x146f6e),_0x2c9ec9=_0x1e09ab(_0x55ff7e?_0x146f6e['tagName']:_0x146f6e,_0xf79407,0x401b3bf,_0x1adc17,_0xf79407,!0x0);if(_0x2c9ec9&&(_0x2c9ec9[_0x1a4e('0x2958')]=0x3ffffff,0x200000&_0x2c9ec9['flags']&&!_0x242f5f(_0x4f0953(_0x2c9ec9))&&_0x18e350(_0x2c9ec9)),_0x55ff7e){var _0x420b32=_0x14dd6c(_0x146f6e);!function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x1===_0x146f6e)(_0x1adc17=_0x256c7a(_0x55ff7e))&&_0x33a9c9(_0x2327c6,_0x1adc17,_0x2dd879,_0x55ff7e,_0x368e5a['Diagnostics'][_0x1a4e('0x2a91')]);else if(0x0===_0x146f6e)(_0xf79407=_0x1e8898(_0x55ff7e))&&_0x33a9c9(_0x2327c6,_0xf79407,_0x2dd879,_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a91')]);else{var _0x1adc17=_0x256c7a(_0x55ff7e),_0xf79407=_0x1e8898(_0x55ff7e);if(!_0x1adc17||!_0xf79407)return;_0x33a9c9(_0x2327c6,_0x2d74ef([_0x1adc17,_0xf79407]),_0x2dd879,_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements']);}}(_0x5cface(_0x146f6e),_0x4b6767(_0x420b32),_0x146f6e);}}function _0x4fd751(_0x368e5a,_0x146f6e,_0x2327c6){if(0x80000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x55ff7e=_0x4a724b(_0x368e5a);if(_0x55ff7e[_0x1a4e('0x28bb')]||_0x55ff7e[_0x1a4e('0x28b8')]&&_0x2a5163(_0x146f6e)||_0x35b38f(_0x368e5a,_0x146f6e)||_0x2327c6&&!_0x3b13f2(_0x146f6e))return!0x0;}else if(0x300000&_0x368e5a['flags']&&_0x5d94c3(_0x368e5a))for(var _0x1adc17=0x0,_0xf79407=_0x368e5a[_0x1a4e('0x2380')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++)if(_0x4fd751(_0xf79407[_0x1adc17],_0x146f6e,_0x2327c6))return!0x0;return!0x1;}function _0x5d94c3(_0x146f6e){return!!(0x80000&_0x146f6e[_0x1a4e('0x7b2')]&&!(0x200&_0x368e5a['getObjectFlags'](_0x146f6e))||0x4000000&_0x146f6e[_0x1a4e('0x7b2')]||0x100000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e['types'],_0x5d94c3)||0x200000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a[_0x1a4e('0x114')](_0x146f6e[_0x1a4e('0x2380')],_0x5d94c3));}function _0x48414f(_0x146f6e){return _0x146f6e['valueDeclaration']?_0x368e5a['getCombinedNodeFlags'](_0x146f6e[_0x1a4e('0x2340')]):0x0;}function _0x4074aa(_0x146f6e){if(0x2000&_0x146f6e[_0x1a4e('0x7b2')]||0x4&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e))return!0x0;if(_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e[_0x1a4e('0x2340')])){var _0x2327c6=_0x146f6e[_0x1a4e('0x2340')]['parent'];return _0x2327c6&&_0x368e5a[_0x1a4e('0x236e')](_0x2327c6)&&0x3===_0x368e5a[_0x1a4e('0x23ba')](_0x2327c6);}}function _0x33d091(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9=_0x368e5a[_0x1a4e('0x248c')](_0x1adc17),_0x420b32=0x94===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x5d')]:0xb7===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e:_0x146f6e['name'];if(0x100&_0x368e5a[_0x1a4e('0x248b')](_0x1adc17))return _0x2cb4f4(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a29')],_0x22aa27(_0x1adc17),_0x5ad709(_0x55ff7e)),!0x1;if(_0x2327c6){if(_0x1b8154<0x2&&_0x570095(_0x1adc17))return _0x2cb4f4(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a92')]),!0x1;if(0x80&_0x2c9ec9)return _0x2cb4f4(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a93')],_0x22aa27(_0x1adc17),_0x5ad709(_0x2549c9(_0x1adc17))),!0x1;}if(0x80&_0x2c9ec9&&_0x368e5a[_0x1a4e('0x23a0')](_0x146f6e)&&_0x570095(_0x1adc17)&&(_0xf79407=_0x368e5a[_0x1a4e('0x2499')](_0x38393e(_0x1adc17)))&&function(_0x146f6e){return!!_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x146f6e){return!!(_0x368e5a[_0x1a4e('0x23e3')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2328')](_0x146f6e[_0x1a4e('0x8f2')])||_0x368e5a[_0x1a4e('0x24ec')](_0x146f6e))||!(!_0x368e5a['isClassLike'](_0x146f6e)&&!_0x368e5a['isFunctionLikeDeclaration'](_0x146f6e))&&'quit';});}(_0x146f6e))return _0x2cb4f4(_0x420b32,_0x368e5a['Diagnostics']['Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor'],_0x22aa27(_0x1adc17),_0x368e5a[_0x1a4e('0x2401')](_0xf79407[_0x1a4e('0x2cb')])),!0x1;if(!(0x18&_0x2c9ec9))return!0x0;if(0x8&_0x2c9ec9)return!!_0xc962e(_0x146f6e,_0xf79407=_0x368e5a[_0x1a4e('0x2499')](_0x38393e(_0x1adc17)))||(_0x2cb4f4(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a94')],_0x22aa27(_0x1adc17),_0x5ad709(_0x2549c9(_0x1adc17))),!0x1);if(_0x2327c6)return!0x0;var _0x1b06ad=_0x3f12d5(_0x146f6e,function(_0x146f6e){var _0x2327c6=_0x287d7b(_0x54a27b(_0x146f6e));return function(_0x146f6e,_0x2327c6){return _0x3f60d2(_0x2327c6,function(_0x2327c6){return!!(0x10&_0x368e5a[_0x1a4e('0x248c')](_0x2327c6))&&!_0x4836c2(_0x146f6e,_0x2549c9(_0x2327c6));})?void 0x0:_0x146f6e;}(_0x2327c6,_0x1adc17)?_0x2327c6:void 0x0;});if(!_0x1b06ad){var _0x326eae=void 0x0;if(0x20&_0x2c9ec9||!(_0x326eae=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x239b')](_0x146f6e,!0x1);return _0x2327c6&&_0x368e5a['isFunctionLike'](_0x2327c6)?_0x368e5a['getThisParameter'](_0x2327c6):void 0x0;}(_0x146f6e))||!_0x326eae[_0x1a4e('0x40')])return _0x2cb4f4(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a95')],_0x22aa27(_0x1adc17),_0x5ad709(_0x2549c9(_0x1adc17)||_0x55ff7e)),!0x1;var _0x56674b=_0x3fafb1(_0x326eae[_0x1a4e('0x40')]);_0x1b06ad=0x40000&_0x56674b[_0x1a4e('0x7b2')]?_0x2a8efa(_0x56674b):_0x56674b;}return!!(0x20&_0x2c9ec9)||(0x40000&_0x55ff7e[_0x1a4e('0x7b2')]&&(_0x55ff7e=_0x55ff7e[_0x1a4e('0x28a3')]?_0x2a8efa(_0x55ff7e):_0x1953ea(_0x55ff7e)),!(!_0x55ff7e||!_0x4836c2(_0x55ff7e,_0x1b06ad))||(_0x2cb4f4(_0x420b32,_0x368e5a['Diagnostics'][_0x1a4e('0x2a96')],_0x22aa27(_0x1adc17),_0x5ad709(_0x1b06ad)),!0x1));}function _0x570095(_0x368e5a){return!!_0x3f60d2(_0x368e5a,function(_0x368e5a){return!(0x2000&_0x368e5a['flags']);});}function _0x3dc62e(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x3dcfe6(_0x4e94e8(_0x368e5a),_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);}function _0x300ae0(_0x368e5a){return 0x18000&(_0x4f3c04?_0x30e928(_0x368e5a):_0x368e5a['flags'])?_0x2f423c(_0x368e5a):_0x368e5a;}function _0x3dcfe6(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(0x2&_0x146f6e['flags'])return _0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a97')]),_0x336c2;var _0x2c9ec9=0x18000&(_0x4f3c04?_0x30e928(_0x146f6e):_0x146f6e[_0x1a4e('0x7b2')]);if(_0x2c9ec9){_0x2cb4f4(_0x2327c6,0x8000&_0x2c9ec9?0x10000&_0x2c9ec9?_0xf79407||_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a98')]:_0x1adc17||_0x368e5a[_0x1a4e('0x167d')]['Object_is_possibly_undefined']:_0x55ff7e||_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a99')]);var _0x420b32=_0x2f423c(_0x146f6e);return 0x38000&_0x420b32['flags']?_0x336c2:_0x420b32;}return _0x146f6e;}function _0x39d14a(_0x368e5a){return _0x4ddd89(_0x368e5a,_0x368e5a[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x2cb')]);}function _0x85a09(_0x368e5a){return _0x4ddd89(_0x368e5a,_0x368e5a['left'],_0x368e5a[_0x1a4e('0x5d')]);}function _0x4ddd89(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0xf79407=_0x3dc62e(_0x2327c6),_0x2c9ec9=_0x165ecf(_0x2327c6)[_0x1a4e('0x296c')],_0x420b32=_0x26521d(_0x3a6dfd(_0xf79407));if(_0x4e7589(_0x420b32)||_0x420b32===_0x396dd7)return _0x368e5a[_0x1a4e('0x2370')](_0x2327c6)&&_0x2c9ec9&&_0x2738d6(_0x2c9ec9,_0x146f6e),_0x420b32;var _0x1b06ad=_0x368e5a[_0x1a4e('0x23dc')](_0x146f6e),_0x326eae=_0x3c127b(_0x420b32,_0x55ff7e[_0x1a4e('0x22f3')]);if(!_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)||!_0x2c9ec9||_0x326eae&&_0x242f5f(_0x326eae)||_0x2738d6(_0x2c9ec9,_0x146f6e),_0x326eae){if(function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0xf79407=_0x146f6e[_0x1a4e('0x2340')];if(_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2353')](_0x55ff7e);!function(_0x146f6e){return!!_0x368e5a['findAncestor'](_0x146f6e,function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9a:return!0x0;case 0x113:return!0x1;default:return!_0x368e5a[_0x1a4e('0x28da')](_0x146f6e)&&_0x1a4e('0x1b55');}});}(_0x2327c6)||_0x164313(_0xf79407,_0x55ff7e)||function(_0x368e5a){if(!(0x20&_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x7b2')]))return!0x1;for(var _0x146f6e=_0x38797c(_0x368e5a[_0x1a4e('0x11c')]);;){if(!(_0x146f6e=_0x146f6e[_0x1a4e('0xb1b')]&&_0x115f45(_0x146f6e)))return!0x1;var _0x2327c6=_0x3c127b(_0x146f6e,_0x368e5a[_0x1a4e('0x22e8')]);if(_0x2327c6&&_0x2327c6[_0x1a4e('0x2340')])return!0x0;}}(_0x146f6e)?0xf0!==_0xf79407['kind']||0xa4===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0x400000&_0xf79407[_0x1a4e('0x7b2')]||_0x164313(_0xf79407,_0x55ff7e)||(_0x1adc17=_0x2cb4f4(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295c')],_0x2c9ec9)):_0x1adc17=_0x2cb4f4(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a9a')],_0x2c9ec9),_0x1adc17&&_0x4e173b(_0x1adc17,_0x368e5a['createDiagnosticForNode'](_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295e')],_0x2c9ec9));}}(_0x326eae,_0x146f6e,_0x55ff7e),_0x3a35cb(_0x326eae,_0x146f6e,0x64===_0x2327c6[_0x1a4e('0x146b')]),_0x165ecf(_0x146f6e)[_0x1a4e('0x296c')]=_0x326eae,_0x33d091(_0x146f6e,0x62===_0x2327c6[_0x1a4e('0x146b')],_0x420b32,_0x326eae),_0x1b06ad&&(_0x2ec9b1(_0x146f6e,_0x326eae)||_0x571e22(_0x146f6e)))return _0x2cb4f4(_0x55ff7e,_0x368e5a['Diagnostics']['Cannot_assign_to_0_because_it_is_a_read_only_property'],_0x368e5a[_0x1a4e('0x2353')](_0x55ff7e)),_0x336c2;_0x1adc17=_0x527d5d(_0x38797c(_0x326eae),_0x146f6e);}else{var _0x56674b=_0x5c197b(_0x420b32,0x0);if(!_0x56674b||!_0x56674b[_0x1a4e('0x40')])return _0x5181f8(_0xf79407)?_0x330555:(_0x55ff7e[_0x1a4e('0x22f3')]&&!_0x58664e(_0x146f6e)&&function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17;if(0x100000&_0x2327c6[_0x1a4e('0x7b2')]&&!(0x1fffc&_0x2327c6[_0x1a4e('0x7b2')]))for(var _0xf79407=0x0,_0x2c9ec9=_0x2327c6[_0x1a4e('0x2380')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(!_0x3c127b(_0x420b32,_0x146f6e[_0x1a4e('0x22f3')])){_0x55ff7e=_0x368e5a[_0x1a4e('0x2586')](_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['Property_0_does_not_exist_on_type_1'],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e),_0x5ad709(_0x420b32));break;}}if(_0x413d41(_0x146f6e[_0x1a4e('0x22f3')],_0x2327c6))_0x55ff7e=_0x368e5a[_0x1a4e('0x2586')](_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29f4')],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e),_0x5ad709(_0x2327c6));else{var _0x1b06ad=_0x32570e(_0x2327c6);if(_0x1b06ad&&_0x3c127b(_0x1b06ad,_0x146f6e['escapedText']))_0x55ff7e=_0x368e5a[_0x1a4e('0x2586')](_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a9b')],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e),_0x5ad709(_0x2327c6));else{var _0x326eae=_0x3c3b62(_0x146f6e,_0x2327c6);if(void 0x0!==_0x326eae){var _0x56674b=_0x368e5a[_0x1a4e('0x24d2')](_0x326eae);_0x55ff7e=_0x368e5a[_0x1a4e('0x2586')](_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a9c')],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e),_0x5ad709(_0x2327c6),_0x56674b),_0x1adc17=_0x326eae[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x2354')](_0x326eae[_0x1a4e('0x2340')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295e')],_0x56674b);}else _0x55ff7e=_0x368e5a[_0x1a4e('0x2586')](_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29f0')],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e),_0x5ad709(_0x2327c6));}}var _0x415952=_0x368e5a[_0x1a4e('0x294d')](_0x146f6e,_0x55ff7e);_0x1adc17&&_0x4e173b(_0x415952,_0x1adc17),_0x125480['add'](_0x415952);}(_0x55ff7e,0x40000&_0xf79407[_0x1a4e('0x7b2')]&&_0xf79407['isThisType']?_0x420b32:_0xf79407),_0x336c2);_0x56674b[_0x1a4e('0x28bc')]&&(_0x368e5a[_0x1a4e('0x23dd')](_0x146f6e)||_0x368e5a[_0x1a4e('0x29f2')](_0x146f6e))&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a9d')],_0x5ad709(_0x420b32)),_0x1adc17=_0x56674b['type'];}if(0xbd!==_0x146f6e[_0x1a4e('0x146b')]||0x1===_0x1b06ad||_0x326eae&&!(0x18007&_0x326eae[_0x1a4e('0x7b2')])&&!(0x2000&_0x326eae[_0x1a4e('0x7b2')]&&0x100000&_0x1adc17[_0x1a4e('0x7b2')]))return _0x1adc17;var _0x415952=!0x1;if(_0x4f3c04&&_0x2c2aaa&&0x64===_0x2327c6['kind']){var _0x46923a=_0x326eae&&_0x326eae[_0x1a4e('0x2340')];if(_0x46923a&&_0x20f81b(_0x46923a)){var _0x88bf03=_0x20d0f7(_0x146f6e);0x9d===_0x88bf03[_0x1a4e('0x146b')]&&_0x88bf03[_0x1a4e('0x11c')]===_0x46923a[_0x1a4e('0x11c')]&&(_0x415952=!0x0);}}else _0x4f3c04&&_0x326eae&&_0x326eae[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x2371')](_0x326eae[_0x1a4e('0x2340')])&&_0x368e5a[_0x1a4e('0x23bc')](_0x326eae[_0x1a4e('0x2340')])&&_0x20d0f7(_0x146f6e)===_0x20d0f7(_0x326eae[_0x1a4e('0x2340')])&&(_0x415952=!0x0);var _0x434714=_0x179bce(_0x146f6e,_0x1adc17,_0x415952?_0x6d96b4(_0x1adc17):_0x1adc17);return _0x415952&&!(0x8000&_0x30e928(_0x1adc17))&&0x8000&_0x30e928(_0x434714)?(_0x2cb4f4(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['Property_0_is_used_before_being_assigned'],_0x22aa27(_0x326eae)),_0x1adc17):_0x1b06ad?_0x3a5471(_0x434714):_0x434714;}function _0x115f45(_0x368e5a){var _0x146f6e=_0xd458b8(_0x368e5a);if(0x0!==_0x146f6e['length'])return _0xffdb94(_0x146f6e);}function _0x413d41(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0xb1b')]&&_0x3c127b(_0x38797c(_0x2327c6[_0x1a4e('0xb1b')]),_0x146f6e);return void 0x0!==_0x55ff7e&&_0x55ff7e[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x24c6')](_0x55ff7e[_0x1a4e('0x2340')],0x20);}function _0x3c3b62(_0x146f6e,_0x2327c6){return _0x17cb82(_0x368e5a[_0x1a4e('0xb19')](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x2353')](_0x146f6e),_0x41c062(_0x2327c6),0x401b3bf);}function _0x43a32e(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x3c3b62(_0x146f6e,_0x2327c6);return _0x55ff7e&&_0x368e5a[_0x1a4e('0x24d2')](_0x55ff7e);}function _0x31a7e0(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['Debug'][_0x1a4e('0xba0')](void 0x0!==_0x2327c6,'outername\x20should\x20always\x20be\x20defined'),_0x4b5ca3(_0x146f6e,_0x2327c6,_0x55ff7e,void 0x0,_0x2327c6,!0x1,!0x1,function(_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a['Debug']['assertEqual'](_0x2327c6,_0x55ff7e,_0x1a4e('0x2a9e')),_0x5d1705(_0x146f6e,_0x55ff7e,_0x1adc17)||_0x17cb82(_0x368e5a[_0x1a4e('0x24d1')](_0x55ff7e),_0x368e5a[_0x1a4e('0x1729')](_0x146f6e[_0x1a4e('0x35b')]()),_0x1adc17);});}function _0x16943a(_0x146f6e,_0x2327c6){return _0x2327c6['exports']&&_0x17cb82(_0x368e5a[_0x1a4e('0x2353')](_0x146f6e),_0x428f3b(_0x2327c6),0x2807f3);}function _0x17cb82(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x1757')](_0x146f6e,_0x2327c6,function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x24d2')](_0x146f6e);return!_0x368e5a[_0x1a4e('0xdfb')](_0x2327c6,'\x22')&&_0x146f6e[_0x1a4e('0x7b2')]&_0x55ff7e?_0x2327c6:void 0x0;});}function _0x3a35cb(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e&&0x1a004&_0x146f6e[_0x1a4e('0x7b2')]&&_0x146f6e[_0x1a4e('0x2340')]&&_0x368e5a['hasModifier'](_0x146f6e[_0x1a4e('0x2340')],0x8)&&(!_0x2327c6||!_0x368e5a[_0x1a4e('0x2490')](_0x2327c6)||0x10000&_0x146f6e[_0x1a4e('0x7b2')]&&!(0x8000&_0x146f6e[_0x1a4e('0x7b2')]))){if(_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x283d')](_0x2327c6,_0x368e5a[_0x1a4e('0x254d')]);if(_0x1adc17&&_0x1adc17[_0x1a4e('0xb1b')]===_0x146f6e)return;}(0x1&_0x368e5a['getCheckFlags'](_0x146f6e)?_0xdba731(_0x146f6e)[_0x1a4e('0xd95')]:_0x146f6e)[_0x1a4e('0x2958')]=0x3ffffff;}}function _0x16e1ff(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x1adc17===_0x336c2||_0x4e7589(_0x1adc17))return!0x0;var _0xf79407=_0x3c127b(_0x1adc17,_0x55ff7e);return _0xf79407?_0x33d091(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407):_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&0x0!=(0x100000&_0x1adc17[_0x1a4e('0x7b2')])&&_0x1adc17['types'][_0x1a4e('0x1c2')](function(_0x368e5a){return _0x16e1ff(_0x146f6e,_0x2327c6,_0x55ff7e,_0x368e5a);});}function _0x3897af(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x236a')];if(0xee===_0x2327c6[_0x1a4e('0x146b')]){var _0x55ff7e=_0x2327c6[_0x1a4e('0x22e5')][0x0];if(_0x55ff7e&&!_0x368e5a[_0x1a4e('0x1678')](_0x55ff7e[_0x1a4e('0x2cb')]))return _0x54a27b(_0x55ff7e);}else if(0x48===_0x2327c6[_0x1a4e('0x146b')])return _0x1642fe(_0x2327c6);}function _0x192745(_0x146f6e){var _0x2327c6=_0x3dc62e(_0x146f6e[_0x1a4e('0x2302')]),_0x55ff7e=_0x146f6e[_0x1a4e('0x24a7')];if(!_0x55ff7e){var _0x1adc17,_0xf79407=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e);return 0xc0===_0x146f6e['parent'][_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x11c')]['expression']===_0x146f6e?_0x52940f(_0xf79407,_0x1adc17=_0x368e5a[_0x1a4e('0x22c6')](_0xf79407[_0x1a4e('0xe04')],_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0xca')]),_0x146f6e[_0x1a4e('0xca')]-_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a9f')]):_0x52940f(_0xf79407,_0x1adc17=_0x146f6e['end']-']'['length'],_0x146f6e['end']-_0x1adc17,_0x368e5a[_0x1a4e('0x167d')]['Expression_expected']),_0x336c2;}var _0x2c9ec9=_0x4e94e8(_0x55ff7e);return _0x2327c6===_0x336c2||_0x2327c6===_0x396dd7?_0x2327c6:_0x16f189(_0x2327c6)&&0xa!==_0x55ff7e['kind']?(_0x2cb4f4(_0x55ff7e,_0x368e5a['Diagnostics'][_0x1a4e('0x2aa0')]),_0x336c2):_0x1bef62(_0x3d7297(_0x2327c6,function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x29a0')](_0x146f6e);if(0x48===_0x55ff7e[_0x1a4e('0x146b')]){var _0x1adc17=_0x1642fe(_0x55ff7e);if(0x3&_0x1adc17[_0x1a4e('0x7b2')])for(var _0xf79407=_0x146f6e,_0x2c9ec9=_0x146f6e[_0x1a4e('0x11c')];_0x2c9ec9;){if(0xe2===_0x2c9ec9[_0x1a4e('0x146b')]&&_0xf79407===_0x2c9ec9['statement']&&_0x3897af(_0x2c9ec9)===_0x1adc17&&_0x3e5aca(_0x2327c6=_0x1dceed(_0x2c9ec9['expression']),0x1)&&!_0x3e5aca(_0x2327c6,0x0))return!0x0;_0xf79407=_0x2c9ec9,_0x2c9ec9=_0x2c9ec9[_0x1a4e('0x11c')];}}return!0x1;}(_0x55ff7e)?_0x4a492a:_0x2c9ec9,_0x146f6e),_0x146f6e);}function _0x40073c(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x2327c6===_0x336c2)return!0x1;if(!_0x368e5a['isWellKnownSymbolSyntactically'](_0x146f6e))return!0x1;if(0x0==(0x3000&_0x2327c6[_0x1a4e('0x7b2')]))return _0x55ff7e&&_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2aa1')],_0x368e5a['getTextOfNode'](_0x146f6e)),!0x1;var _0x1adc17=_0x146f6e['expression'],_0xf79407=_0x1642fe(_0x1adc17);if(!_0xf79407)return!0x1;var _0x2c9ec9=_0x430e97(!0x0);return!(!_0x2c9ec9||_0xf79407!==_0x2c9ec9&&(_0x55ff7e&&_0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aa2')]),0x1));}function _0x1e07a9(_0x146f6e){return _0x368e5a['isCallOrNewExpression'](_0x146f6e)||_0x368e5a['isTaggedTemplateExpression'](_0x146f6e)||_0x368e5a[_0x1a4e('0x256e')](_0x146f6e);}function _0x1b763d(_0x146f6e){return _0x1e07a9(_0x146f6e)&&_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2365')],_0x2505ec),0xc1===_0x146f6e[_0x1a4e('0x146b')]?_0x4e94e8(_0x146f6e[_0x1a4e('0xe19')]):_0x368e5a[_0x1a4e('0x256e')](_0x146f6e)?_0x4e94e8(_0x146f6e[_0x1a4e('0x266d')]):0x98!==_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2373')],function(_0x368e5a){_0x4e94e8(_0x368e5a);}),_0x488b93;}function _0x17cda2(_0x368e5a){return _0x1b763d(_0x368e5a),_0x371533;}function _0x371869(_0x368e5a){return!!_0x368e5a&&(0xd0===_0x368e5a['kind']||0xd7===_0x368e5a[_0x1a4e('0x146b')]&&_0x368e5a['isSpread']);}function _0x1a687c(_0x146f6e){return _0x368e5a[_0x1a4e('0x5cb')](_0x146f6e,_0x371869);}function _0x34b43a(_0x368e5a){return!!(0x4000&_0x368e5a['flags']);}function _0x4a08db(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407;void 0x0===_0x1adc17&&(_0x1adc17=!0x1);var _0x2c9ec9=!0x1,_0x420b32=_0x34d119(_0x55ff7e),_0x1b06ad=_0x326f82(_0x55ff7e);if(0xc1===_0x146f6e[_0x1a4e('0x146b')])if(_0xf79407=_0x2327c6[_0x1a4e('0x1e')],0xce===_0x146f6e[_0x1a4e('0xe19')][_0x1a4e('0x146b')]){var _0x326eae=_0x368e5a['last'](_0x146f6e[_0x1a4e('0xe19')][_0x1a4e('0x260e')]);_0x2c9ec9=_0x368e5a[_0x1a4e('0x2327')](_0x326eae[_0x1a4e('0x2301')])||!!_0x326eae[_0x1a4e('0x2301')]['isUnterminated'];}else{var _0x56674b=_0x146f6e['template'];_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xe===_0x56674b[_0x1a4e('0x146b')]),_0x2c9ec9=!!_0x56674b['isUnterminated'];}else if(0x98===_0x146f6e['kind'])_0xf79407=_0x2572ff(_0x146f6e,_0x55ff7e);else if(_0x368e5a[_0x1a4e('0x256e')](_0x146f6e)){if(_0x2c9ec9=_0x146f6e[_0x1a4e('0x266d')][_0x1a4e('0xca')]===_0x146f6e[_0x1a4e('0xca')])return!0x0;_0xf79407=0x0===_0x1b06ad?_0x2327c6[_0x1a4e('0x1e')]:0x1,_0x420b32=0x0===_0x2327c6['length']?_0x420b32:0x1,_0x1b06ad=Math[_0x1a4e('0x74')](_0x1b06ad,0x1);}else{if(!_0x146f6e[_0x1a4e('0x2373')])return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xc0===_0x146f6e[_0x1a4e('0x146b')]),0x0===_0x326f82(_0x55ff7e);_0xf79407=_0x1adc17?_0x2327c6[_0x1a4e('0x1e')]+0x1:_0x2327c6[_0x1a4e('0x1e')],_0x2c9ec9=_0x146f6e['arguments']['end']===_0x146f6e[_0x1a4e('0xca')];var _0x415952=_0x1a687c(_0x2327c6);if(_0x415952>=0x0)return _0x415952>=_0x326f82(_0x55ff7e)&&(_0x47d8b9(_0x55ff7e)||_0x415952<_0x34d119(_0x55ff7e));}if(!_0x47d8b9(_0x55ff7e)&&_0xf79407>_0x420b32)return!0x1;if(_0x2c9ec9||_0xf79407>=_0x1b06ad)return!0x0;for(var _0x46923a=_0xf79407;_0x46923a<_0x1b06ad;_0x46923a++)if(0x20000&_0x5056ee(_0x4eb09c(_0x55ff7e,_0x46923a),_0x34b43a)[_0x1a4e('0x7b2')])return!0x1;return!0x0;}function _0x4bb370(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1e')](_0x146f6e['typeParameters']),_0x1adc17=_0x4d15f3(_0x146f6e[_0x1a4e('0x23d7')]);return!_0x2327c6||_0x2327c6[_0x1a4e('0x1e')]>=_0x1adc17&&_0x2327c6['length']<=_0x55ff7e;}function _0x8dc831(_0x368e5a){if(0x80000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x146f6e=_0x4a724b(_0x368e5a);if(0x1===_0x146f6e[_0x1a4e('0x2887')][_0x1a4e('0x1e')]&&0x0===_0x146f6e['constructSignatures'][_0x1a4e('0x1e')]&&0x0===_0x146f6e['properties']['length']&&!_0x146f6e[_0x1a4e('0x28bb')]&&!_0x146f6e[_0x1a4e('0x28b8')])return _0x146f6e[_0x1a4e('0x2887')][0x0];}}function _0x451876(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x291f0f(_0x146f6e[_0x1a4e('0x23d7')],_0x146f6e,0x0,_0x1adc17);return _0x4045ba(_0x55ff7e?_0x54171a(_0x2327c6,_0x55ff7e):_0x2327c6,_0x146f6e,function(_0x368e5a,_0x146f6e){_0xe9ae15(_0xf79407[_0x1a4e('0x28ea')],_0x368e5a,_0x146f6e);}),_0x55ff7e||_0xe9ae15(_0xf79407[_0x1a4e('0x28ea')],_0x4b6767(_0x2327c6),_0x4b6767(_0x146f6e),0x8),_0x3d8b88(_0x146f6e,_0x203546(_0xf79407),_0x368e5a['isInJSFile'](_0x2327c6[_0x1a4e('0x2350')]));}function _0x36e3e6(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){for(var _0x2c9ec9=0x0,_0x420b32=_0xf79407['inferences'];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1b06ad['isFixed']||(_0x1b06ad[_0x1a4e('0x2a49')]=void 0x0);}if(_0x368e5a['isJsxOpeningLikeElement'](_0x146f6e))return function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x52efad(_0x146f6e,_0x368e5a),_0xf79407=_0x2c7c9e(_0x368e5a[_0x1a4e('0x266d')],_0x1adc17,_0x2327c6&&void 0x0!==_0x2327c6[0x0]?_0x5934d9:_0x55ff7e);return _0xe9ae15(_0x55ff7e[_0x1a4e('0x28ea')],_0xf79407,_0x1adc17),_0x203546(_0x55ff7e);}(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407);if(0x98!==_0x146f6e[_0x1a4e('0x146b')]){var _0x326eae=_0x2ec237(_0x146f6e);if(_0x326eae){var _0x56674b=_0x1e1445(_0x326eae,function(_0x368e5a){return _0x368e5a&&function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x23d7')];}(_0x368e5a)?_0x291f0f(_0x368e5a['typeParameters'],_0x368e5a['signature'],0x1|_0x368e5a[_0x1a4e('0x7b2')],_0x368e5a[_0x1a4e('0x2a46')],_0x368e5a[_0x1a4e('0x28ea')]):_0x368e5a;}(_0x21d87e(_0x146f6e))),_0x415952=_0x8dc831(_0x56674b),_0x46923a=_0x415952&&_0x415952[_0x1a4e('0x23d7')]?_0x4163af(_0x481243(_0x415952,_0x415952[_0x1a4e('0x23d7')])):_0x56674b,_0x88bf03=_0x4b6767(_0x2327c6);_0xe9ae15(_0xf79407[_0x1a4e('0x28ea')],_0x46923a,_0x88bf03,0x8);}}var _0x434714=_0x14fcfd(_0x2327c6);if(_0x434714){var _0x57b692=_0x1954c2(_0x146f6e),_0x1ad11f=_0x57b692?_0x4e94e8(_0x57b692):_0x56da3c;_0xe9ae15(_0xf79407[_0x1a4e('0x28ea')],_0x1ad11f,_0x434714);}for(var _0x35bd0a=_0x36a27f(_0x2327c6),_0x36aa2e=_0x35bd0a?Math[_0x1a4e('0x74')](_0x34d119(_0x2327c6)-0x1,_0x55ff7e[_0x1a4e('0x1e')]):_0x55ff7e[_0x1a4e('0x1e')],_0x30b3ec=0x0;_0x30b3ec<_0x36aa2e;_0x30b3ec++){var _0x1b487e=_0x55ff7e[_0x30b3ec];if(0xd2!==_0x1b487e[_0x1a4e('0x146b')]){var _0x3d8f5d=_0x4eb09c(_0x2327c6,_0x30b3ec),_0x15a30a=_0x2c7c9e(_0x1b487e,_0x3d8f5d,_0x1adc17&&void 0x0!==_0x1adc17[_0x30b3ec]?_0x5934d9:_0xf79407);_0xe9ae15(_0xf79407[_0x1a4e('0x28ea')],_0x15a30a,_0x3d8f5d);}}if(_0x35bd0a){var _0x1369b6=_0x2a47ab(_0x55ff7e,_0x36aa2e,_0x55ff7e[_0x1a4e('0x1e')],_0x35bd0a,_0xf79407);_0xe9ae15(_0xf79407[_0x1a4e('0x28ea')],_0x1369b6,_0x35bd0a);}return _0x203546(_0xf79407);}function _0x2a47ab(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x2327c6>=_0x55ff7e-0x1){var _0x2c9ec9=_0x146f6e[_0x55ff7e-0x1];if(_0x371869(_0x2c9ec9))return 0xd7===_0x2c9ec9[_0x1a4e('0x146b')]?_0xfd8b5f(_0x2c9ec9['type']):_0x16dc76(_0x420b32=_0x2c7c9e(_0x2c9ec9[_0x1a4e('0x2302')],_0x1adc17,_0xf79407),function(_0x368e5a){return!(0x3c40001&_0x368e5a[_0x1a4e('0x7b2')]||_0x4ba777(_0x368e5a)||_0x102fd6(_0x368e5a));})?_0xfd8b5f(_0x3e5aca(_0x420b32,0x1)||_0x336c2):_0x420b32;}for(var _0x420b32,_0x1b06ad=_0x3e5aca(_0x1adc17,0x1)||_0x330555,_0x326eae=_0x1a74b9(_0x1b06ad,0x41fffc),_0x56674b=[],_0x415952=-0x1,_0x46923a=_0x2327c6;_0x46923a<_0x55ff7e;_0x46923a++){var _0x88bf03=_0x2c7c9e(_0x146f6e[_0x46923a],_0x1b06ad,_0xf79407);_0x415952<0x0&&_0x371869(_0x146f6e[_0x46923a])&&(_0x415952=_0x46923a-_0x2327c6),_0x56674b[_0x1a4e('0x46')](_0x326eae?_0x4da784(_0x88bf03):_0x2802a6(_0x88bf03));}return _0x415952<0x0?_0x4c09c6(_0x56674b):_0x4c09c6(_0x368e5a[_0x1a4e('0x252')](_0x56674b[_0x1a4e('0x78')](0x0,_0x415952),_0x2d74ef(_0x56674b['slice'](_0x415952))),_0x415952,!0x0);}function _0x5272de(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407,_0x2c9ec9=_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e[_0x1a4e('0x2350')]),_0x420b32=_0x146f6e[_0x1a4e('0x23d7')],_0x1b06ad=_0x2378c5(_0x368e5a['map'](_0x2327c6,_0x3fafb1),_0x420b32,_0x4d15f3(_0x420b32),_0x2c9ec9),_0x326eae=0x0;_0x326eae<_0x2327c6['length'];_0x326eae++){_0x368e5a['Debug'][_0x1a4e('0xba0')](void 0x0!==_0x420b32[_0x326eae],_0x1a4e('0x2aa3'));var _0x56674b=_0x2a8efa(_0x420b32[_0x326eae]);if(_0x56674b){var _0x415952=_0x55ff7e&&_0x1adc17?function(){return _0x368e5a['chainDiagnosticMessages'](void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aa4')]);}:void 0x0,_0x46923a=_0x1adc17||_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aa4')];_0xf79407||(_0xf79407=_0xa0d6d8(_0x420b32,_0x1b06ad));var _0x88bf03=_0x1b06ad[_0x326eae];if(!_0x36c7ec(_0x88bf03,_0x98e900(_0x1e1445(_0x56674b,_0xf79407),_0x88bf03),_0x55ff7e?_0x2327c6[_0x326eae]:void 0x0,_0x46923a,_0x415952))return;}}return _0x1b06ad;}function _0x5cface(_0x146f6e){if(_0x2cbafe(_0x146f6e['tagName']))return 0x2;var _0x2327c6=_0x26521d(_0x4e94e8(_0x146f6e['tagName']));return _0x368e5a[_0x1a4e('0x1e')](_0x7bcdc7(_0x2327c6,0x1))?0x0:_0x368e5a[_0x1a4e('0x1e')](_0x7bcdc7(_0x2327c6,0x0))?0x1:0x2;}function _0x4461a0(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(_0x368e5a[_0x1a4e('0x256e')](_0x146f6e))return function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x52efad(_0x146f6e,_0x368e5a);return _0x15b205(_0x2c7c9e(_0x368e5a[_0x1a4e('0x266d')],_0xf79407,_0x55ff7e&&_0x55ff7e[0x0]?_0x5934d9:void 0x0),_0xf79407,_0x2327c6,_0x1adc17?_0x368e5a['tagName']:void 0x0,_0x368e5a[_0x1a4e('0x266d')]);}(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9);var _0x420b32=_0x14fcfd(_0x55ff7e);if(_0x420b32&&_0x420b32!==_0x56da3c&&0xc0!==_0x146f6e[_0x1a4e('0x146b')]){var _0x1b06ad=_0x1954c2(_0x146f6e);if(!_0x33a9c9(_0x1b06ad?_0x4e94e8(_0x1b06ad):_0x56da3c,_0x420b32,_0x1adc17,_0x2c9ec9?_0x1b06ad||_0x146f6e:void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aa5')]))return!0x1;}for(var _0x326eae=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aa6')],_0x56674b=_0x36a27f(_0x55ff7e),_0x415952=_0x56674b?Math[_0x1a4e('0x74')](_0x34d119(_0x55ff7e)-0x1,_0x2327c6[_0x1a4e('0x1e')]):_0x2327c6['length'],_0x46923a=0x0;_0x46923a<_0x415952;_0x46923a++){var _0x88bf03=_0x2327c6[_0x46923a];if(0xd2!==_0x88bf03['kind']){var _0x434714=_0x4eb09c(_0x55ff7e,_0x46923a),_0x57b692=_0x2c7c9e(_0x88bf03,_0x434714,_0xf79407&&_0xf79407[_0x46923a]?_0x5934d9:void 0x0);if(!_0x15b205(_0xf79407?_0x262aab(_0x57b692):_0x57b692,_0x434714,_0x1adc17,_0x2c9ec9?_0x88bf03:void 0x0,_0x88bf03,_0x326eae))return!0x1;}}return!_0x56674b||_0x33a9c9(_0x2a47ab(_0x2327c6,_0x415952,_0x2327c6[_0x1a4e('0x1e')],_0x56674b,void 0x0),_0x56674b,_0x1adc17,_0x2c9ec9?_0x415952<_0x2327c6[_0x1a4e('0x1e')]?_0x2327c6[_0x415952]:_0x146f6e:void 0x0,_0x326eae);}function _0x1954c2(_0x146f6e){if(0xbf===_0x146f6e[_0x1a4e('0x146b')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x2aa7')](_0x146f6e[_0x1a4e('0x2302')]);if(0xbd===_0x2327c6[_0x1a4e('0x146b')]||0xbe===_0x2327c6[_0x1a4e('0x146b')])return _0x2327c6[_0x1a4e('0x2302')];}}function _0x454a43(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x460')](0xd7,_0x146f6e[_0x1a4e('0xa4')],_0x146f6e[_0x1a4e('0xca')]);return _0x1adc17[_0x1a4e('0x11c')]=_0x146f6e,_0x1adc17['type']=_0x2327c6,_0x1adc17[_0x1a4e('0x2aa8')]=_0x55ff7e||!0x1,_0x1adc17;}function _0x10a7aa(_0x146f6e){if(0xc1===_0x146f6e[_0x1a4e('0x146b')]){var _0x2327c6=_0x146f6e[_0x1a4e('0xe19')],_0x55ff7e=[_0x454a43(_0x2327c6,_0x139620||(_0x139620=_0xb6c367(_0x1a4e('0x2aa9'),0x0,!0x0))||_0x126d3e)];return 0xce===_0x2327c6[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x3b')](_0x2327c6[_0x1a4e('0x260e')],function(_0x368e5a){_0x55ff7e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2302')]);}),_0x55ff7e;}if(0x98===_0x146f6e[_0x1a4e('0x146b')])return function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')],_0x55ff7e=_0x146f6e[_0x1a4e('0x2302')];switch(_0x2327c6['kind']){case 0xf0:case 0xd1:return[_0x454a43(_0x55ff7e,_0x38797c(_0x54a27b(_0x2327c6)))];case 0x97:var _0x1adc17=_0x2327c6['parent'];return[_0x454a43(_0x55ff7e,0x9d===_0x2327c6['parent'][_0x1a4e('0x146b')]?_0x38797c(_0x54a27b(_0x1adc17)):_0x336c2),_0x454a43(_0x55ff7e,_0x330555),_0x454a43(_0x55ff7e,_0x4a492a)];case 0x9a:case 0x9c:case 0x9e:case 0x9f:var _0xf79407=0x9a!==_0x2327c6[_0x1a4e('0x146b')]&&0x0!==_0x1b8154;return[_0x454a43(_0x55ff7e,_0x2f7a33(_0x2327c6)),_0x454a43(_0x55ff7e,_0x17a8a9(_0x2327c6)),_0x454a43(_0x55ff7e,_0xf79407?_0x2f0209(_0x573598(_0x2327c6)):_0x330555)];}return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();}(_0x146f6e);if(_0x368e5a[_0x1a4e('0x256e')](_0x146f6e))return _0x146f6e[_0x1a4e('0x266d')]['properties'][_0x1a4e('0x1e')]>0x0||_0x368e5a[_0x1a4e('0x2527')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x6f')][_0x1a4e('0x1e')]>0x0?[_0x146f6e[_0x1a4e('0x266d')]]:_0x368e5a[_0x1a4e('0x1700')];var _0x1adc17=_0x146f6e['arguments']||_0x368e5a[_0x1a4e('0x1700')],_0xf79407=_0x1adc17[_0x1a4e('0x1e')];if(_0xf79407&&_0x371869(_0x1adc17[_0xf79407-0x1])&&_0x1a687c(_0x1adc17)===_0xf79407-0x1){var _0x2c9ec9=_0x1adc17[_0xf79407-0x1],_0x420b32=_0x31ebf4(_0x2c9ec9['expression']);if(_0x102fd6(_0x420b32)){var _0x1b06ad=_0x420b32[_0x1a4e('0x2365')]||_0x368e5a[_0x1a4e('0x1700')],_0x326eae=_0x420b32['target'][_0x1a4e('0x28a7')]?_0x1b06ad[_0x1a4e('0x1e')]-0x1:-0x1,_0x56674b=_0x368e5a[_0x1a4e('0x21')](_0x1b06ad,function(_0x368e5a,_0x146f6e){return _0x454a43(_0x2c9ec9,_0x368e5a,_0x146f6e===_0x326eae);});return _0x368e5a[_0x1a4e('0x1717')](_0x1adc17[_0x1a4e('0x78')](0x0,_0xf79407-0x1),_0x56674b);}}return _0x1adc17;}function _0x2572ff(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xf0:case 0xd1:return 0x1;case 0x9a:return 0x2;case 0x9c:case 0x9e:case 0x9f:return 0x0===_0x1b8154||_0x2327c6['parameters'][_0x1a4e('0x1e')]<=0x2?0x2:0x3;case 0x97:return 0x3;default:return _0x368e5a[_0x1a4e('0x1749')]['fail']();}}function _0x234bfb(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17,_0xf79407=Number[_0x1a4e('0x4d5')],_0x2c9ec9=Number[_0x1a4e('0x2aaa')],_0x420b32=Number['NEGATIVE_INFINITY'],_0x1b06ad=Number[_0x1a4e('0x4d5')],_0x326eae=_0x55ff7e['length'],_0x56674b=0x0,_0x415952=_0x2327c6;_0x56674b<_0x415952[_0x1a4e('0x1e')];_0x56674b++){var _0x46923a=_0x415952[_0x56674b],_0x88bf03=_0x326f82(_0x46923a),_0x434714=_0x34d119(_0x46923a);_0x88bf03<_0x326eae&&_0x88bf03>_0x420b32&&(_0x420b32=_0x88bf03),_0x326eae<_0x434714&&_0x434714<_0x1b06ad&&(_0x1b06ad=_0x434714),_0x88bf03<_0xf79407&&(_0xf79407=_0x88bf03,_0x1adc17=_0x46923a),_0x2c9ec9=Math[_0x1a4e('0x6c')](_0x2c9ec9,_0x434714);}var _0x57b692,_0x1ad11f=_0x368e5a[_0x1a4e('0x1c2')](_0x2327c6,_0x47d8b9),_0x35bd0a=_0x1ad11f?_0xf79407:_0xf79407<_0x2c9ec9?_0xf79407+'-'+_0x2c9ec9:_0xf79407,_0x36aa2e=_0x1a687c(_0x55ff7e)>-0x1;if(_0x326eae<=_0x2c9ec9&&_0x36aa2e&&_0x326eae--,_0x1adc17&&_0x326f82(_0x1adc17)>_0x326eae&&_0x1adc17['declaration']){var _0x30b3ec=_0x1adc17[_0x1a4e('0x2350')]['parameters'][_0x1adc17[_0x1a4e('0x28c7')]?_0x326eae+0x1:_0x326eae];_0x30b3ec&&(_0x57b692=_0x368e5a[_0x1a4e('0x2354')](_0x30b3ec,_0x368e5a['isBindingPattern'](_0x30b3ec[_0x1a4e('0x2cb')])?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aab')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aac')],_0x30b3ec[_0x1a4e('0x2cb')]?_0x368e5a['isBindingPattern'](_0x30b3ec[_0x1a4e('0x2cb')])?void 0x0:_0x368e5a[_0x1a4e('0x2353')](_0x5d499f(_0x30b3ec[_0x1a4e('0x2cb')])):_0x326eae));}if(_0x1ad11f||_0x36aa2e){var _0x1b487e=_0x1ad11f&&_0x36aa2e?_0x368e5a['Diagnostics']['Expected_at_least_0_arguments_but_got_1_or_more']:_0x1ad11f?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aad')]:_0x368e5a[_0x1a4e('0x167d')]['Expected_0_arguments_but_got_1_or_more'],_0x3d8f5d=_0x368e5a['createDiagnosticForNode'](_0x146f6e,_0x1b487e,_0x35bd0a,_0x326eae);return _0x57b692?_0x4e173b(_0x3d8f5d,_0x57b692):_0x3d8f5d;}if(_0xf79407<_0x326eae&&_0x326eae<_0x2c9ec9)return _0x368e5a[_0x1a4e('0x2354')](_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aae')],_0x326eae,_0x420b32,_0x1b06ad);var _0x15a30a=_0x368e5a['createDiagnosticForNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aaf')],_0x35bd0a,_0x326eae);return _0x57b692?_0x4e173b(_0x15a30a,_0x57b692):_0x15a30a;}function _0x4bc90d(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9){var _0x420b32,_0x1b06ad=0xc1===_0x146f6e[_0x1a4e('0x146b')],_0x326eae=0x98===_0x146f6e[_0x1a4e('0x146b')],_0x56674b=_0x368e5a[_0x1a4e('0x256e')](_0x146f6e),_0x415952=!_0x55ff7e;_0x326eae||(_0x420b32=_0x146f6e[_0x1a4e('0x2365')],(_0x1b06ad||_0x56674b||0x62!==_0x146f6e['expression'][_0x1a4e('0x146b')])&&_0x368e5a[_0x1a4e('0x3b')](_0x420b32,_0x2505ec));var _0x46923a=_0x55ff7e||[];if(function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32=0x0,_0x1b06ad=-0x1;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x2327c6[_0x1a4e('0x1e')]);for(var _0x326eae=0x0,_0x56674b=_0x146f6e;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x415952=_0x56674b[_0x326eae],_0x46923a=_0x415952[_0x1a4e('0x2350')]&&_0x54a27b(_0x415952[_0x1a4e('0x2350')]),_0x88bf03=_0x415952[_0x1a4e('0x2350')]&&_0x415952[_0x1a4e('0x2350')][_0x1a4e('0x11c')];_0x1adc17&&_0x46923a!==_0x1adc17?(_0xf79407=_0x420b32=_0x2327c6[_0x1a4e('0x1e')],_0x55ff7e=_0x88bf03):_0x55ff7e&&_0x88bf03===_0x55ff7e?_0xf79407+=0x1:(_0x55ff7e=_0x88bf03,_0xf79407=_0x420b32),_0x1adc17=_0x46923a,_0x415952[_0x1a4e('0x29c6')]?(_0x2c9ec9=++_0x1b06ad,_0x420b32++):_0x2c9ec9=_0xf79407,_0x2327c6[_0x1a4e('0x8a')](_0x2c9ec9,0x0,_0x415952);}}(_0x2327c6,_0x46923a),!_0x46923a['length'])return _0x415952&&_0x125480[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x2354')](_0x146f6e,_0x368e5a['Diagnostics']['Call_target_does_not_contain_any_signatures'])),_0x17cda2(_0x146f6e);var _0x88bf03,_0x434714,_0x57b692,_0x1ad11f,_0x35bd0a=_0x10a7aa(_0x146f6e),_0x36aa2e=0x1===_0x46923a['length']&&!_0x46923a[0x0]['typeParameters'],_0x30b3ec=_0x326eae||_0x36aa2e?void 0x0:_0x4a9422(_0x35bd0a),_0x1b487e=_0xf79407&&0xbf===_0x146f6e['kind']&&_0x146f6e[_0x1a4e('0x2373')][_0x1a4e('0x265d')];if(_0x46923a['length']>0x1&&(_0x1ad11f=_0x15a30a(_0x46923a,_0xb9f69,_0x1b487e)),_0x1ad11f||(_0x1ad11f=_0x15a30a(_0x46923a,_0x2dd879,_0x1b487e)),_0x1ad11f)return _0x1ad11f;if(_0x415952)if(_0x88bf03)_0x4461a0(_0x146f6e,_0x35bd0a,_0x88bf03,_0x2dd879,void 0x0,!0x0);else if(_0x434714)_0x125480[_0x1a4e('0x177')](_0x234bfb(_0x146f6e,[_0x434714],_0x35bd0a));else if(_0x57b692)_0x5272de(_0x57b692,_0x146f6e[_0x1a4e('0x2365')],!0x0,_0x2c9ec9);else{var _0x3d8f5d=_0x368e5a['filter'](_0x2327c6,function(_0x368e5a){return _0x4bb370(_0x368e5a,_0x420b32);});0x0===_0x3d8f5d[_0x1a4e('0x1e')]?_0x125480[_0x1a4e('0x177')](function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=0x1/0x0,_0xf79407=-0x1/0x0,_0x2c9ec9=0x0,_0x420b32=_0x2327c6;_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1adc17=Math['min'](_0x1adc17,_0x4d15f3(_0x1b06ad[_0x1a4e('0x23d7')])),_0xf79407=Math[_0x1a4e('0x6c')](_0xf79407,_0x368e5a[_0x1a4e('0x1e')](_0x1b06ad['typeParameters']));}var _0x326eae=_0x1adc17===_0xf79407?_0x1adc17:_0x1adc17+'-'+_0xf79407;return _0x368e5a[_0x1a4e('0x2355')](_0x368e5a['getSourceFileOfNode'](_0x146f6e),_0x55ff7e,_0x368e5a['Diagnostics']['Expected_0_type_arguments_but_got_1'],_0x326eae,_0x55ff7e['length']);}(_0x146f6e,_0x2327c6,_0x420b32)):_0x326eae?_0x2c9ec9&&_0x125480[_0x1a4e('0x177')](_0x368e5a['createDiagnosticForNode'](_0x146f6e,_0x2c9ec9)):_0x125480[_0x1a4e('0x177')](_0x234bfb(_0x146f6e,_0x3d8f5d,_0x35bd0a));}return _0x1adc17||!_0x35bd0a?_0x17cda2(_0x146f6e):function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2327c6['length']>0x0),_0x1adc17||0x1===_0x2327c6[_0x1a4e('0x1e')]||_0x2327c6[_0x1a4e('0x1c2')](function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x23d7')];})?function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=function(_0x368e5a,_0x146f6e){for(var _0x2327c6=-0x1,_0x55ff7e=-0x1,_0x1adc17=0x0;_0x1adc17<_0x368e5a['length'];_0x1adc17++){var _0xf79407=_0x368e5a[_0x1adc17],_0x2c9ec9=_0x34d119(_0xf79407);if(_0x47d8b9(_0xf79407)||_0x2c9ec9>=_0x146f6e)return _0x1adc17;_0x2c9ec9>_0x55ff7e&&(_0x55ff7e=_0x2c9ec9,_0x2327c6=_0x1adc17);}return _0x2327c6;}(_0x2327c6,void 0x0===_0x11451b?_0x55ff7e[_0x1a4e('0x1e')]:_0x11451b),_0xf79407=_0x2327c6[_0x1adc17],_0x2c9ec9=_0xf79407['typeParameters'];if(!_0x2c9ec9)return _0xf79407;var _0x420b32=_0x1e07a9(_0x146f6e)?_0x146f6e['typeArguments']:void 0x0,_0x1b06ad=_0x420b32?_0x15ac1a(_0xf79407,function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x21')](_0x573598);_0x55ff7e['length']>_0x146f6e['length'];)_0x55ff7e['pop']();for(;_0x55ff7e[_0x1a4e('0x1e')]<_0x146f6e[_0x1a4e('0x1e')];)_0x55ff7e[_0x1a4e('0x46')](_0x2a8efa(_0x146f6e[_0x55ff7e['length']])||_0x25a22a(_0x2327c6));return _0x55ff7e;}(_0x420b32,_0x2c9ec9,_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e))):function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x291f0f(_0x2327c6,_0x55ff7e,_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)?0x2:0x0),_0x2c9ec9=_0x36e3e6(_0x146f6e,_0x55ff7e,_0x1adc17,_0x4a9422(_0x1adc17),_0xf79407);return _0x15ac1a(_0x55ff7e,_0x2c9ec9);}(_0x146f6e,_0x2c9ec9,_0xf79407,_0x55ff7e);return _0x2327c6[_0x1adc17]=_0x1b06ad,_0x1b06ad;}(_0x146f6e,_0x2327c6,_0x55ff7e):function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a['mapDefined'](_0x146f6e,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x28c7')];});_0x55ff7e[_0x1a4e('0x1e')]&&(_0x2327c6=_0x50e210(_0x55ff7e,_0x55ff7e['map'](_0x34b73b)));for(var _0x1adc17=_0x368e5a['minAndMax'](_0x146f6e,_0x12866f),_0xf79407=_0x1adc17[_0x1a4e('0x74')],_0x2c9ec9=_0x1adc17[_0x1a4e('0x6c')],_0x420b32=[],_0x1b06ad=function(_0x2327c6){var _0x55ff7e=_0x368e5a['mapDefined'](_0x146f6e,function(_0x146f6e){var _0x55ff7e=_0x146f6e['parameters'],_0x1adc17=_0x146f6e[_0x1a4e('0x23d8')];return _0x1adc17?_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')]-0x1?_0x55ff7e[_0x2327c6]:_0x368e5a['last'](_0x55ff7e):_0x2327c6<_0x55ff7e['length']?_0x55ff7e[_0x2327c6]:void 0x0;});_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0!==_0x55ff7e[_0x1a4e('0x1e')]),_0x420b32[_0x1a4e('0x46')](_0x50e210(_0x55ff7e,_0x368e5a['mapDefined'](_0x146f6e,function(_0x368e5a){return _0xe16451(_0x368e5a,_0x2327c6);})));},_0x326eae=0x0;_0x326eae<_0x2c9ec9;_0x326eae++)_0x1b06ad(_0x326eae);var _0x56674b=_0x368e5a[_0x1a4e('0x1713')](_0x146f6e,function(_0x146f6e){return _0x146f6e[_0x1a4e('0x23d8')]?_0x368e5a['last'](_0x146f6e[_0x1a4e('0x111a')]):void 0x0;}),_0x415952=0x0!==_0x56674b['length'];if(_0x415952){var _0x46923a=_0xfd8b5f(_0x2d74ef(_0x368e5a[_0x1a4e('0x1713')](_0x146f6e,_0x2d3d09),0x2));_0x420b32[_0x1a4e('0x46')](_0x406240(_0x56674b,_0x46923a));}return _0x1338dd(_0x146f6e[0x0]['declaration'],void 0x0,_0x2327c6,_0x420b32,_0xffdb94(_0x146f6e[_0x1a4e('0x21')](_0x4b6767)),void 0x0,_0xf79407,_0x415952,_0x146f6e[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x29c6')];}));}(_0x2327c6);}(_0x146f6e,_0x46923a,_0x35bd0a,!!_0x55ff7e);function _0x15a30a(_0x2327c6,_0x55ff7e,_0x1adc17){if(void 0x0===_0x1adc17&&(_0x1adc17=!0x1),_0x88bf03=void 0x0,_0x434714=void 0x0,_0x57b692=void 0x0,_0x36aa2e){var _0xf79407=_0x2327c6[0x0];if(_0x420b32||!_0x4a08db(_0x146f6e,_0x35bd0a,_0xf79407,_0x1adc17))return;return _0x4461a0(_0x146f6e,_0x35bd0a,_0xf79407,_0x55ff7e,_0x30b3ec,!0x1)?_0xf79407:void(_0x88bf03=_0xf79407);}for(var _0x2c9ec9=0x0;_0x2c9ec9<_0x2327c6[_0x1a4e('0x1e')];_0x2c9ec9++)if(_0x4bb370(_0xf79407=_0x2327c6[_0x2c9ec9],_0x420b32)&&_0x4a08db(_0x146f6e,_0x35bd0a,_0xf79407,_0x1adc17)){var _0x1b06ad=void 0x0,_0x326eae=void 0x0;if(_0xf79407[_0x1a4e('0x23d7')]){var _0x56674b=void 0x0;if(_0x420b32){if(!(_0x56674b=_0x5272de(_0xf79407,_0x420b32,!0x1))){_0x57b692=_0xf79407;continue;}}else _0x326eae=_0x291f0f(_0xf79407[_0x1a4e('0x23d7')],_0xf79407,_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)?0x2:0x0),_0x56674b=_0x36e3e6(_0x146f6e,_0xf79407,_0x35bd0a,_0x30b3ec,_0x326eae);if(_0x1b06ad=_0x3d8b88(_0xf79407,_0x56674b,_0x368e5a['isInJSFile'](_0xf79407[_0x1a4e('0x2350')])),_0x36a27f(_0xf79407)&&!_0x4a08db(_0x146f6e,_0x35bd0a,_0x1b06ad,_0x1adc17)){_0x434714=_0x1b06ad;continue;}}else _0x1b06ad=_0xf79407;if(_0x4461a0(_0x146f6e,_0x35bd0a,_0x1b06ad,_0x55ff7e,_0x30b3ec,!0x1)){if(_0x30b3ec&&(_0x30b3ec=void 0x0,_0x326eae&&(_0x1b06ad=_0x3d8b88(_0xf79407,_0x56674b=_0x36e3e6(_0x146f6e,_0xf79407,_0x35bd0a,_0x30b3ec,_0x326eae),_0x368e5a[_0x1a4e('0x24e1')](_0xf79407['declaration']))),!_0x4461a0(_0x146f6e,_0x35bd0a,_0x1b06ad,_0x55ff7e,_0x30b3ec,!0x1))){_0x88bf03&&!_0x596b5f(_0x88bf03)&&_0x596b5f(_0x1b06ad)||(_0x88bf03=_0x1b06ad);continue;}return _0x2327c6[_0x2c9ec9]=_0x1b06ad,_0x1b06ad;}_0x88bf03&&!_0x596b5f(_0x88bf03)&&_0x596b5f(_0x1b06ad)||(_0x88bf03=_0x1b06ad);}}}function _0x4a9422(_0x368e5a){for(var _0x146f6e,_0x2327c6=0x0;_0x2327c6<_0x368e5a[_0x1a4e('0x1e')];_0x2327c6++)_0xf01a27(_0x368e5a[_0x2327c6])&&(_0x146f6e||(_0x146f6e=new Array(_0x368e5a[_0x1a4e('0x1e')])),_0x146f6e[_0x2327c6]=!0x0);return _0x146f6e;}function _0x12866f(_0x368e5a){var _0x146f6e=_0x368e5a['parameters'][_0x1a4e('0x1e')];return _0x368e5a['hasRestParameter']?_0x146f6e-0x1:_0x146f6e;}function _0x50e210(_0x368e5a,_0x146f6e){return _0x406240(_0x368e5a,_0x2d74ef(_0x146f6e,0x2));}function _0x406240(_0x146f6e,_0x2327c6){return _0x5af529(_0x368e5a[_0x1a4e('0x10f7')](_0x146f6e),_0x2327c6);}function _0x38389f(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x4e7589(_0x368e5a)||_0x4e7589(_0x146f6e)&&0x40000&_0x368e5a[_0x1a4e('0x7b2')]||!_0x2327c6&&!_0x55ff7e&&!(0x120000&_0x146f6e[_0x1a4e('0x7b2')])&&_0x720afc(_0x368e5a,_0x437267);}function _0x4dfdc1(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e[_0x1a4e('0x2373')]&&_0x1b8154<0x1){var _0x1adc17=_0x1a687c(_0x146f6e[_0x1a4e('0x2373')]);_0x1adc17>=0x0&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2373')][_0x1adc17],_0x368e5a['Diagnostics'][_0x1a4e('0x2ab0')]);}var _0xf79407=_0x3dc62e(_0x146f6e['expression']);if(_0xf79407===_0x396dd7)return _0x4ec8f5;if((_0xf79407=_0x26521d(_0xf79407))===_0x336c2)return _0x17cda2(_0x146f6e);if(_0x4e7589(_0xf79407))return _0x146f6e[_0x1a4e('0x2365')]&&_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics']['Untyped_function_calls_may_not_accept_type_arguments']),_0x1b763d(_0x146f6e);var _0x2c9ec9=_0x7bcdc7(_0xf79407,0x1);if(_0x2c9ec9[_0x1a4e('0x1e')]){if(!function(_0x146f6e,_0x2327c6){if(!_0x2327c6||!_0x2327c6[_0x1a4e('0x2350')])return!0x0;var _0x55ff7e=_0x2327c6[_0x1a4e('0x2350')],_0x1adc17=_0x368e5a[_0x1a4e('0x2a2e')](_0x55ff7e,0x18);if(!_0x1adc17)return!0x0;var _0xf79407=_0x368e5a[_0x1a4e('0x2499')](_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0xb1b')]),_0x2c9ec9=_0x287d7b(_0x55ff7e['parent'][_0x1a4e('0xb1b')]);if(!_0xc962e(_0x146f6e,_0xf79407)){var _0x420b32=_0x368e5a['getContainingClass'](_0x146f6e);if(_0x420b32&&0x10&_0x1adc17){var _0x1b06ad=_0x573598(_0x420b32);if(function _0x146f6e(_0x2327c6,_0x55ff7e){var _0x1adc17=_0xd458b8(_0x55ff7e);if(!_0x368e5a[_0x1a4e('0x1e')](_0x1adc17))return!0x1;var _0xf79407=_0x1adc17[0x0];if(0x200000&_0xf79407['flags']){for(var _0x2c9ec9=_0xf79407['types'],_0x420b32=_0x368e5a['countWhere'](_0x2c9ec9,_0x237e8c),_0x1b06ad=0x0,_0x326eae=0x0,_0x56674b=_0xf79407[_0x1a4e('0x2380')];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x415952=_0x56674b[_0x326eae];if(_0x1b06ad++,(0x0===_0x420b32||_0x420b32===_0x2c9ec9[_0x1a4e('0x1e')]&&0x0===_0x1b06ad||!_0x237e8c(_0x415952))&&0x3&_0x368e5a['getObjectFlags'](_0x415952)){if(_0x415952[_0x1a4e('0xb1b')]===_0x2327c6)return!0x0;if(_0x146f6e(_0x2327c6,_0x415952))return!0x0;}}return!0x1;}return _0xf79407['symbol']===_0x2327c6||_0x146f6e(_0x2327c6,_0xf79407);}(_0x55ff7e[_0x1a4e('0x11c')]['symbol'],_0x1b06ad))return!0x0;}return 0x8&_0x1adc17&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ab1')],_0x5ad709(_0x2c9ec9)),0x10&_0x1adc17&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ab2')],_0x5ad709(_0x2c9ec9)),!0x1;}return!0x0;}(_0x146f6e,_0x2c9ec9[0x0]))return _0x17cda2(_0x146f6e);var _0x420b32=_0xf79407[_0x1a4e('0xb1b')]&&_0x368e5a[_0x1a4e('0x2499')](_0xf79407['symbol']);return _0x420b32&&_0x368e5a[_0x1a4e('0x24c6')](_0x420b32,0x80)?(_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2ab3')]),_0x17cda2(_0x146f6e)):_0x4bc90d(_0x146f6e,_0x2c9ec9,_0x2327c6,_0x55ff7e);}var _0x1b06ad=_0x7bcdc7(_0xf79407,0x0);if(_0x1b06ad[_0x1a4e('0x1e')]){var _0x326eae=_0x4bc90d(_0x146f6e,_0x1b06ad,_0x2327c6,_0x55ff7e);return _0x59c9de||(_0x326eae[_0x1a4e('0x2350')]&&!_0x4cff90(_0x326eae[_0x1a4e('0x2350')])&&_0x4b6767(_0x326eae)!==_0x56da3c&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ab4')]),_0x14fcfd(_0x326eae)===_0x56da3c&&_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics']['A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void'])),_0x326eae;}return _0x466067(_0x146f6e,_0xf79407,0x1),_0x17cda2(_0x146f6e);}function _0x466067(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2cb4f4(_0x146f6e,0x0===_0x55ff7e?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ab5')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2ab6')],_0x5ad709(_0x2327c6));_0x115260(_0x2327c6,_0x55ff7e,_0x1adc17?_0x4e173b(_0xf79407,_0x1adc17):_0xf79407);}function _0x115260(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e['symbol']){var _0x1adc17=_0xdba731(_0x146f6e['symbol'])[_0x1a4e('0x2983')];if(_0x1adc17&&!_0x368e5a[_0x1a4e('0x2a16')](_0x1adc17)){var _0xf79407=_0x7bcdc7(_0x38797c(_0xdba731(_0x146f6e[_0x1a4e('0xb1b')])[_0x1a4e('0xd95')]),_0x2327c6);if(!_0xf79407||!_0xf79407[_0x1a4e('0x1e')])return;_0x4e173b(_0x55ff7e,_0x368e5a['createDiagnosticForNode'](_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a17')]));}}}function _0x22e7a8(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xf0:case 0xd1:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ab7')];case 0x97:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ab8')];case 0x9a:return _0x368e5a['Diagnostics'][_0x1a4e('0x2ab9')];case 0x9c:case 0x9e:case 0x9f:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aba')];default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();}}function _0x347173(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x4e94e8(_0x146f6e[_0x1a4e('0x2302')]),_0xf79407=_0x26521d(_0x1adc17);if(_0xf79407===_0x336c2)return _0x17cda2(_0x146f6e);var _0x2c9ec9,_0x420b32,_0x1b06ad=_0x7bcdc7(_0xf79407,0x0),_0x326eae=_0x7bcdc7(_0xf79407,0x1)[_0x1a4e('0x1e')];if(_0x38389f(_0x1adc17,_0xf79407,_0x1b06ad[_0x1a4e('0x1e')],_0x326eae))return _0x1b763d(_0x146f6e);if(_0x2c9ec9=_0x146f6e,(_0x420b32=_0x1b06ad)[_0x1a4e('0x1e')]&&_0x368e5a['every'](_0x420b32,function(_0x368e5a){return 0x0===_0x368e5a['minArgumentCount']&&!_0x368e5a['hasRestParameter']&&_0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')]<_0x2572ff(_0x2c9ec9,_0x368e5a);})){var _0x56674b=_0x368e5a[_0x1a4e('0x1675')](_0x146f6e['expression'],!0x1);return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2abb')],_0x56674b),_0x17cda2(_0x146f6e);}var _0x415952=_0x22e7a8(_0x146f6e);if(!_0x1b06ad[_0x1a4e('0x1e')]){var _0x46923a=_0x368e5a[_0x1a4e('0x2586')](void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ab5')],_0x5ad709(_0xf79407));_0x46923a=_0x368e5a[_0x1a4e('0x2586')](_0x46923a,_0x415952);var _0x88bf03=_0x368e5a[_0x1a4e('0x294d')](_0x146f6e,_0x46923a);return _0x125480[_0x1a4e('0x177')](_0x88bf03),_0x115260(_0xf79407,0x0,_0x88bf03),_0x17cda2(_0x146f6e);}return _0x4bc90d(_0x146f6e,_0x1b06ad,_0x2327c6,_0x55ff7e,_0x415952);}function _0x138bdd(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x22ca75(_0x2327c6),_0xf79407=_0x1adc17&&_0x768c45(_0x1adc17),_0x2c9ec9=_0xf79407&&_0x5d1705(_0xf79407,_0x146f6e[_0x1a4e('0x2a8c')],0x40c09e8),_0x420b32=_0x2c9ec9&&_0x12cd5e[_0x1a4e('0x2abc')](_0x2c9ec9,0x40c09e8,_0x2327c6),_0x1b06ad=_0x368e5a[_0x1a4e('0x2abd')](void 0x0,[_0x368e5a['createParameter'](void 0x0,void 0x0,void 0x0,_0x1a4e('0x1288'),void 0x0,_0x12cd5e['typeToTypeNode'](_0x55ff7e,_0x2327c6))],_0x420b32?_0x368e5a['createTypeReferenceNode'](_0x420b32,void 0x0):_0x368e5a[_0x1a4e('0x289c')](0x78)),_0x326eae=_0x4ecc5b(0x1,_0x1a4e('0x1288'));return _0x326eae[_0x1a4e('0x40')]=_0x55ff7e,_0x1338dd(_0x1b06ad,void 0x0,void 0x0,[_0x326eae],_0x2c9ec9?_0x287d7b(_0x2c9ec9):_0x336c2,void 0x0,0x1,!0x1,!0x1);}function _0x21edba(_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x2cbafe(_0x2327c6['tagName'])){var _0xf79407=_0x5230a7(_0x2327c6),_0x2c9ec9=_0x138bdd(_0x2327c6,_0xf79407);return _0x440746(_0x2c7c9e(_0x2327c6[_0x1a4e('0x266d')],_0x52efad(_0x2c9ec9,_0x2327c6),void 0x0),_0xf79407,_0x2327c6['tagName'],_0x2327c6[_0x1a4e('0x266d')]),_0x2c9ec9;}var _0x420b32=_0x4e94e8(_0x2327c6['tagName']),_0x1b06ad=_0x26521d(_0x420b32);if(_0x1b06ad===_0x336c2)return _0x17cda2(_0x2327c6);var _0x326eae=function _0x2327c6(_0x55ff7e,_0x1adc17){if(0x4&_0x55ff7e[_0x1a4e('0x7b2')])return[_0x488b93];if(0x80&_0x55ff7e[_0x1a4e('0x7b2')]){var _0xf79407=_0x54d976(_0x55ff7e,_0x1adc17);return _0xf79407?[_0x138bdd(_0x1adc17,_0xf79407)]:(_0x2cb4f4(_0x1adc17,_0x368e5a['Diagnostics']['Property_0_does_not_exist_on_type_1'],_0x55ff7e[_0x1a4e('0x255')],_0x1a4e('0x2a86')+_0x146f6e[_0x1a4e('0x2a87')]),_0x368e5a[_0x1a4e('0x1700')]);}var _0x2c9ec9=_0x26521d(_0x55ff7e),_0x420b32=_0x7bcdc7(_0x2c9ec9,0x1);return 0x0===_0x420b32[_0x1a4e('0x1e')]&&(_0x420b32=_0x7bcdc7(_0x2c9ec9,0x0)),0x0===_0x420b32[_0x1a4e('0x1e')]&&0x100000&_0x2c9ec9['flags']&&(_0x420b32=_0x54cd0f(_0x368e5a[_0x1a4e('0x21')](_0x2c9ec9['types'],function(_0x368e5a){return _0x2327c6(_0x368e5a,_0x1adc17);}))),_0x420b32;}(_0x420b32,_0x2327c6);return _0x38389f(_0x420b32,_0x1b06ad,_0x326eae['length'],0x0)?_0x1b763d(_0x2327c6):0x0===_0x326eae[_0x1a4e('0x1e')]?(_0x2cb4f4(_0x2327c6[_0x1a4e('0x132b')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2abe')],_0x368e5a[_0x1a4e('0x1675')](_0x2327c6[_0x1a4e('0x132b')])),_0x17cda2(_0x2327c6)):_0x4bc90d(_0x2327c6,_0x326eae,_0x55ff7e,_0x1adc17);}function _0x25bb84(_0x146f6e,_0x2327c6,_0x55ff7e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xbf:return function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x62===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')]){var _0x1adc17=_0x50c00c(_0x146f6e[_0x1a4e('0x2302')]);if(_0x4e7589(_0x1adc17)){for(var _0xf79407=0x0,_0x2c9ec9=_0x146f6e['arguments'];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++)_0x4e94e8(_0x2c9ec9[_0xf79407]);return _0x488b93;}if(_0x1adc17!==_0x336c2){var _0x420b32=_0x368e5a['getEffectiveBaseTypeNode'](_0x368e5a[_0x1a4e('0x239a')](_0x146f6e));if(_0x420b32)return _0x4bc90d(_0x146f6e,_0x29d3c4(_0x1adc17,_0x420b32[_0x1a4e('0x2365')],_0x420b32),_0x2327c6,_0x55ff7e);}return _0x1b763d(_0x146f6e);}var _0x1b06ad=_0x3dc62e(_0x146f6e[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x167d')]['Cannot_invoke_an_object_which_is_possibly_null'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2abf')],_0x368e5a[_0x1a4e('0x167d')]['Cannot_invoke_an_object_which_is_possibly_null_or_undefined']);if(_0x1b06ad===_0x396dd7)return _0x4ec8f5;var _0x326eae=_0x26521d(_0x1b06ad);if(_0x326eae===_0x336c2)return _0x17cda2(_0x146f6e);var _0x56674b=_0x7bcdc7(_0x326eae,0x0),_0x415952=_0x7bcdc7(_0x326eae,0x1)[_0x1a4e('0x1e')];if(_0x38389f(_0x1b06ad,_0x326eae,_0x56674b[_0x1a4e('0x1e')],_0x415952))return _0x1b06ad!==_0x336c2&&_0x146f6e[_0x1a4e('0x2365')]&&_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2ac0')]),_0x1b763d(_0x146f6e);if(!_0x56674b[_0x1a4e('0x1e')]){if(_0x415952)_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Value_of_type_0_is_not_callable_Did_you_mean_to_include_new'],_0x5ad709(_0x1b06ad));else{var _0x46923a=void 0x0;if(0x1===_0x146f6e[_0x1a4e('0x2373')][_0x1a4e('0x1e')]){var _0x88bf03=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e)[_0x1a4e('0xe04')];_0x368e5a[_0x1a4e('0x22c3')](_0x88bf03[_0x1a4e('0x913')](_0x368e5a[_0x1a4e('0x22c6')](_0x88bf03,_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0xca')],!0x0)-0x1))&&(_0x46923a=_0x368e5a['createDiagnosticForNode'](_0x146f6e['expression'],_0x368e5a['Diagnostics']['It_is_highly_likely_that_you_are_missing_a_semicolon']));}_0x466067(_0x146f6e,_0x326eae,0x0,_0x46923a);}return _0x17cda2(_0x146f6e);}return _0x56674b[_0x1a4e('0x1c2')](function(_0x146f6e){return _0x368e5a['isInJSFile'](_0x146f6e[_0x1a4e('0x2350')])&&!!_0x368e5a[_0x1a4e('0x2a6d')](_0x146f6e[_0x1a4e('0x2350')]);})?(_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ac1')],_0x5ad709(_0x1b06ad)),_0x17cda2(_0x146f6e)):_0x4bc90d(_0x146f6e,_0x56674b,_0x2327c6,_0x55ff7e);}(_0x146f6e,_0x2327c6,_0x55ff7e);case 0xc0:return _0x4dfdc1(_0x146f6e,_0x2327c6,_0x55ff7e);case 0xc1:return function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x4e94e8(_0x368e5a[_0x1a4e('0x7ba')]),_0x1adc17=_0x26521d(_0x55ff7e);if(_0x1adc17===_0x336c2)return _0x17cda2(_0x368e5a);var _0xf79407=_0x7bcdc7(_0x1adc17,0x0),_0x2c9ec9=_0x7bcdc7(_0x1adc17,0x1)[_0x1a4e('0x1e')];return _0x38389f(_0x55ff7e,_0x1adc17,_0xf79407[_0x1a4e('0x1e')],_0x2c9ec9)?_0x1b763d(_0x368e5a):_0xf79407[_0x1a4e('0x1e')]?_0x4bc90d(_0x368e5a,_0xf79407,_0x146f6e,_0x2327c6):(_0x466067(_0x368e5a,_0x1adc17,0x0),_0x17cda2(_0x368e5a));}(_0x146f6e,_0x2327c6,_0x55ff7e);case 0x98:return _0x347173(_0x146f6e,_0x2327c6,_0x55ff7e);case 0x106:case 0x105:return _0x21edba(_0x146f6e,_0x2327c6,_0x55ff7e);}throw _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e,_0x1a4e('0x2ac2'));}function _0x14dd6c(_0x368e5a,_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=!0x1);var _0x55ff7e=_0x165ecf(_0x368e5a),_0x1adc17=_0x55ff7e['resolvedSignature'];if(_0x1adc17&&_0x1adc17!==_0x29387d&&!_0x146f6e)return _0x1adc17;_0x55ff7e[_0x1a4e('0x29d0')]=_0x29387d;var _0xf79407=_0x25bb84(_0x368e5a,_0x146f6e,_0x2327c6);return _0x55ff7e[_0x1a4e('0x29d0')]=_0xd133a5===_0x3b2814?_0xf79407:_0x1adc17,_0xf79407;}function _0x4cff90(_0x146f6e){if(!_0x146f6e||!_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e))return!0x1;var _0x2327c6=_0x368e5a[_0x1a4e('0x23e2')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23df')](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x238d')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x236a')]&&_0x368e5a[_0x1a4e('0x23df')](_0x146f6e[_0x1a4e('0x236a')])?_0x146f6e[_0x1a4e('0x236a')]:void 0x0;if(_0x2327c6){if(_0x368e5a['getJSDocClassTag'](_0x146f6e))return!0x0;var _0x55ff7e=_0x54a27b(_0x2327c6);return!!_0x55ff7e&&void 0x0!==_0x55ff7e[_0x1a4e('0x2369')];}return!0x1;}function _0x25328d(_0x368e5a){if(0x80000&_0x368e5a[_0x1a4e('0x7b2')]){var _0x146f6e=_0x4a724b(_0x368e5a);return 0x1===_0x146f6e[_0x1a4e('0x2887')][_0x1a4e('0x1e')]&&_0x4cff90(_0x146f6e[_0x1a4e('0x2887')][0x0][_0x1a4e('0x2350')]);}return!0x1;}function _0xfba9bc(_0x368e5a){var _0x146f6e;_0x4cff90(_0x368e5a[_0x1a4e('0x2340')])&&(_0x146f6e=_0x318c88(_0x368e5a));var _0x2327c6=_0x35eb6f(_0x368e5a),_0x55ff7e=_0x38797c(_0x368e5a);return _0x55ff7e[_0x1a4e('0xb1b')]&&!_0x246055(_0x55ff7e)&&_0x4cff90(_0x55ff7e[_0x1a4e('0xb1b')][_0x1a4e('0x2340')])&&(_0x146f6e=_0x318c88(_0x55ff7e[_0x1a4e('0xb1b')])),_0x2327c6&&_0x146f6e?_0xffdb94([_0x146f6e,_0x2327c6]):_0x2327c6||_0x146f6e;}function _0x35eb6f(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2340')],_0x55ff7e=_0x2327c6&&_0x2327c6[_0x1a4e('0x11c')]&&(_0x368e5a[_0x1a4e('0x23e2')](_0x2327c6)&&_0x54a27b(_0x2327c6)||_0x368e5a[_0x1a4e('0x236e')](_0x2327c6[_0x1a4e('0x11c')])&&_0x54a27b(_0x2327c6['parent']['left'])||_0x368e5a[_0x1a4e('0x238d')](_0x2327c6[_0x1a4e('0x11c')])&&_0x54a27b(_0x2327c6[_0x1a4e('0x11c')])),_0x1adc17=_0x55ff7e&&_0x55ff7e['exports']&&_0x55ff7e[_0x1a4e('0x0')][_0x1a4e('0x179')]('prototype'),_0xf79407=_0x1adc17&&_0x1adc17[_0x1a4e('0x2340')]&&function(_0x146f6e){if(!_0x146f6e['parent'])return!0x1;for(var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];_0x2327c6&&0xbd===_0x2327c6[_0x1a4e('0x146b')];)_0x2327c6=_0x2327c6[_0x1a4e('0x11c')];if(_0x2327c6&&_0x368e5a[_0x1a4e('0x236e')](_0x2327c6)&&_0x368e5a['isPrototypeAccess'](_0x2327c6['left'])&&0x3b===_0x2327c6['operatorToken']['kind']){var _0x55ff7e=_0x368e5a[_0x1a4e('0x23bd')](_0x2327c6);return _0x368e5a[_0x1a4e('0x236f')](_0x55ff7e)&&_0x55ff7e;}}(_0x1adc17[_0x1a4e('0x2340')]);return _0xf79407?_0x4e94e8(_0xf79407):void 0x0;}function _0x318c88(_0x146f6e){var _0x2327c6=_0xdba731(_0x146f6e);return _0x2327c6['inferredClassType']||(_0x2327c6[_0x1a4e('0x2ac3')]=_0x1178b7(_0x146f6e,_0x174275(_0x146f6e)||_0x362306,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0)),_0x2327c6[_0x1a4e('0x2ac3')];}function _0x246055(_0x146f6e){return _0x146f6e['symbol']&&0x10&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&_0xdba731(_0x146f6e['symbol'])[_0x1a4e('0x2ac3')]===_0x146f6e;}function _0x2bf251(_0x146f6e){_0x4e7c30(_0x146f6e,_0x146f6e[_0x1a4e('0x2365')])||_0x3f83b6(_0x146f6e[_0x1a4e('0x2373')]);var _0x2327c6=_0x14dd6c(_0x146f6e);if(0x62===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')])return _0x56da3c;if(0xc0===_0x146f6e['kind']){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2350')];if(_0x55ff7e&&0x9d!==_0x55ff7e[_0x1a4e('0x146b')]&&0xa1!==_0x55ff7e[_0x1a4e('0x146b')]&&0xa6!==_0x55ff7e['kind']&&!_0x368e5a['isJSDocConstructSignature'](_0x55ff7e)){var _0x1adc17=_0x4e94e8(_0x146f6e[_0x1a4e('0x2302')])[_0x1a4e('0xb1b')];_0x1adc17||0x48!==_0x146f6e['expression'][_0x1a4e('0x146b')]||(_0x1adc17=_0x1642fe(_0x146f6e[_0x1a4e('0x2302')]));var _0xf79407=_0x1adc17&&_0xfba9bc(_0x1adc17);return _0xf79407?_0x2327c6[_0x1a4e('0xd95')]?_0x1e1445(_0xf79407,_0x2327c6[_0x1a4e('0x28c5')]):_0xf79407:(_0x59c9de&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ac4')]),_0x330555);}}if(_0x368e5a['isInJSFile'](_0x146f6e)&&_0x35b6f2(_0x146f6e))return function(_0x368e5a){var _0x146f6e=_0x5897a9(_0x368e5a,_0x368e5a);if(_0x146f6e){var _0x2327c6=_0x9d9138(_0x146f6e);if(_0x2327c6)return _0x38797c(_0x2327c6);}return _0x330555;}(_0x146f6e[_0x1a4e('0x2373')][0x0]);var _0x2c9ec9,_0x420b32=_0x4b6767(_0x2327c6);if(0x3000&_0x420b32[_0x1a4e('0x7b2')]&&_0x5817a1(_0x146f6e))return _0x20783a(_0x368e5a[_0x1a4e('0x2ac5')](_0x146f6e[_0x1a4e('0x11c')]));if(_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)){var _0x1b06ad=_0x368e5a['getDeclarationOfExpando'](_0x146f6e);if(_0x1b06ad){var _0x326eae=_0x54a27b(_0x1b06ad);_0x326eae&&_0x368e5a[_0x1a4e('0x22e6')](_0x326eae[_0x1a4e('0x0')])&&((_0x2c9ec9=_0x1178b7(_0x326eae,_0x326eae[_0x1a4e('0x0')],_0x368e5a['emptyArray'],_0x368e5a['emptyArray'],void 0x0,void 0x0))[_0x1a4e('0x2472')]|=0x4000);}}return _0x2c9ec9?_0xffdb94([_0x420b32,_0x2c9ec9]):_0x420b32;}function _0x5817a1(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2372')](_0x146f6e))return!0x1;var _0x2327c6=_0x146f6e[_0x1a4e('0x2302')];if(_0x368e5a[_0x1a4e('0x2371')](_0x2327c6)&&'for'===_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]&&(_0x2327c6=_0x2327c6[_0x1a4e('0x2302')]),!_0x368e5a['isIdentifier'](_0x2327c6)||_0x1a4e('0xf5b')!==_0x2327c6[_0x1a4e('0x22f3')])return!0x1;var _0x55ff7e=_0x430e97(!0x1);return!!_0x55ff7e&&_0x55ff7e===_0x1e09ab(_0x2327c6,_0x1a4e('0xf5b'),0x401b3bf,void 0x0,void 0x0,!0x1);}function _0x7ab384(_0x146f6e){if(_0x3f83b6(_0x146f6e['arguments'])||function(_0x146f6e){if(_0x2918ee===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')])return _0x2d955f(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2ac6')]);if(_0x146f6e[_0x1a4e('0x2365')])return _0x2d955f(_0x146f6e,_0x368e5a['Diagnostics']['Dynamic_import_cannot_have_type_arguments']);var _0x2327c6=_0x146f6e[_0x1a4e('0x2373')];0x1!==_0x2327c6[_0x1a4e('0x1e')]?_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ac7')]):_0x368e5a[_0x1a4e('0x2ac8')](_0x2327c6[0x0])&&_0x2d955f(_0x2327c6[0x0],_0x368e5a['Diagnostics'][_0x1a4e('0x2ac9')]);}(_0x146f6e),0x0===_0x146f6e[_0x1a4e('0x2373')][_0x1a4e('0x1e')])return _0xb7dd43(_0x146f6e,_0x330555);for(var _0x2327c6=_0x146f6e[_0x1a4e('0x2373')][0x0],_0x55ff7e=_0x31ebf4(_0x2327c6),_0x1adc17=0x1;_0x1adc17<_0x146f6e[_0x1a4e('0x2373')][_0x1a4e('0x1e')];++_0x1adc17)_0x31ebf4(_0x146f6e[_0x1a4e('0x2373')][_0x1adc17]);(0x8000&_0x55ff7e[_0x1a4e('0x7b2')]||0x10000&_0x55ff7e[_0x1a4e('0x7b2')]||!_0x720afc(_0x55ff7e,_0x1d9562))&&_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2aca')],_0x5ad709(_0x55ff7e));var _0xf79407=_0x5897a9(_0x146f6e,_0x2327c6);if(_0xf79407){var _0x2c9ec9=_0x5e4c96(_0xf79407,_0x2327c6,!0x0);if(_0x2c9ec9)return _0xb7dd43(_0x146f6e,_0x42b649(_0x38797c(_0x2c9ec9),_0x2c9ec9,_0xf79407));}return _0xb7dd43(_0x146f6e,_0x330555);}function _0x42b649(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x3c5414&&_0x146f6e&&_0x146f6e!==_0x336c2){var _0x1adc17=_0x146f6e;if(!_0x1adc17[_0x1a4e('0x2acb')])if(_0x5d3d74(_0x368e5a[_0x1a4e('0x1c7')](_0x55ff7e['declarations'],_0x368e5a[_0x1a4e('0x22f0')]),_0x55ff7e,!0x1)){var _0xf79407=_0x368e5a['createSymbolTable'](),_0x2c9ec9=_0x4ecc5b(0x200000,_0x1a4e('0x8'));_0x2c9ec9['nameType']=_0x300979(_0x1a4e('0x8')),_0x2c9ec9['target']=_0x2825c7(_0x2327c6),_0xf79407[_0x1a4e('0x17a')](_0x1a4e('0x8'),_0x2c9ec9);var _0x420b32=_0x4ecc5b(0x800,_0x1a4e('0x2acc')),_0x1b06ad=_0x1178b7(_0x420b32,_0xf79407,_0x368e5a[_0x1a4e('0x1700')],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0);_0x420b32[_0x1a4e('0x40')]=_0x1b06ad,_0x1adc17[_0x1a4e('0x2acb')]=_0x1e2722(_0x146f6e)?_0x52cfaa(_0x146f6e,_0x1b06ad,_0x420b32,0x0,0x0):_0x1b06ad;}else _0x1adc17[_0x1a4e('0x2acb')]=_0x146f6e;return _0x1adc17[_0x1a4e('0x2acb')];}return _0x146f6e;}function _0x35b6f2(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x23ae')](_0x146f6e,!0x0))return!0x1;if(!_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2302')]))return _0x368e5a['Debug'][_0x1a4e('0x1709')]();var _0x2327c6=_0x1e09ab(_0x146f6e[_0x1a4e('0x2302')],_0x146f6e['expression'][_0x1a4e('0x22f3')],0x401b3bf,void 0x0,void 0x0,!0x0);if(_0x2327c6===_0x520a39)return!0x0;if(0x200000&_0x2327c6[_0x1a4e('0x7b2')])return!0x1;var _0x55ff7e=0x10&_0x2327c6[_0x1a4e('0x7b2')]?0xef:0x3&_0x2327c6[_0x1a4e('0x7b2')]?0xed:0x0;if(0x0!==_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x28c9')](_0x2327c6,_0x55ff7e);return!!_0x1adc17&&!!(0x400000&_0x1adc17[_0x1a4e('0x7b2')]);}return!0x1;}function _0x14bea9(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){var _0x2c9ec9=_0x262aab(_0x3a5471(_0x4e94e8(_0x55ff7e,_0xf79407)));_0x2505ec(_0x2327c6);var _0x420b32=_0x3fafb1(_0x2327c6);return _0x1adc17&&_0x420b32!==_0x336c2&&(_0x4dc252(_0x420b32,_0x3a6dfd(_0x2c9ec9))||_0x248456(_0x2c9ec9,_0x420b32,_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first'])),_0x420b32;}function _0x590f59(_0x146f6e){return function(_0x146f6e){var _0x2327c6=_0x146f6e['name'][_0x1a4e('0x22f3')];switch(_0x146f6e['keywordToken']){case 0x5f:if(_0x1a4e('0xd95')!==_0x2327c6)return _0x2d955f(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2acd')],_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')],_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e[_0x1a4e('0x2675')]),'target');break;case 0x5c:_0x1a4e('0x7aa')!==_0x2327c6&&_0x2d955f(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')]['_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2'],_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')],_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e[_0x1a4e('0x2675')]),_0x1a4e('0x7aa'));}}(_0x146f6e),0x5f===_0x146f6e[_0x1a4e('0x2675')]?function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x239c')](_0x146f6e);if(_0x2327c6){if(0x9d===_0x2327c6[_0x1a4e('0x146b')]){var _0x55ff7e=_0x54a27b(_0x2327c6['parent']);return _0x38797c(_0x55ff7e);}var _0x55ff7e=_0x54a27b(_0x2327c6);return _0x38797c(_0x55ff7e);}return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ace')],_0x1a4e('0x2acf')),_0x336c2;}(_0x146f6e):0x5c===_0x146f6e['keywordToken']?function(_0x146f6e){(_0x1b8154<0x6||_0x2918ee<_0x368e5a[_0x1a4e('0x1a35')]['ESNext'])&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ad0')]);var _0x2327c6=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!(0x100000&_0x2327c6[_0x1a4e('0x7b2')]),_0x1a4e('0x2ad1')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x2327c6[_0x1a4e('0x2359')],'Containing\x20file\x20should\x20be\x20a\x20module.'),'meta'===_0x146f6e[_0x1a4e('0x2cb')]['escapedText']?_0x557027||(_0x557027=_0xb6c367(_0x1a4e('0x2ad2'),0x0,!0x0))||_0x126d3e:_0x336c2;}(_0x146f6e):_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e[_0x1a4e('0x2675')]);}function _0x34b73b(_0x146f6e){var _0x2327c6=_0x38797c(_0x146f6e);if(_0x4f3c04){var _0x55ff7e=_0x146f6e[_0x1a4e('0x2340')];if(_0x55ff7e&&_0x368e5a[_0x1a4e('0x29b6')](_0x55ff7e))return _0x6d96b4(_0x2327c6);}return _0x2327c6;}function _0x478ae0(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a['parameters'][_0x1a4e('0x1e')]-(_0x368e5a['hasRestParameter']?0x1:0x0);if(_0x146f6e<_0x2327c6)return _0x368e5a[_0x1a4e('0x111a')][_0x146f6e][_0x1a4e('0x22e8')];var _0x55ff7e=_0x368e5a[_0x1a4e('0x111a')][_0x2327c6]||_0x450499,_0x1adc17=_0x38797c(_0x55ff7e);if(_0x102fd6(_0x1adc17)){var _0xf79407=_0x1adc17[_0x1a4e('0xd95')]['associatedNames'],_0x2c9ec9=_0x146f6e-_0x2327c6;return _0xf79407?_0xf79407[_0x2c9ec9]:_0x55ff7e[_0x1a4e('0x22e8')]+'_'+_0x2c9ec9;}return _0x55ff7e['escapedName'];}function _0x4eb09c(_0x368e5a,_0x146f6e){return _0xe16451(_0x368e5a,_0x146f6e)||_0x330555;}function _0xe16451(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')]-(_0x368e5a['hasRestParameter']?0x1:0x0);if(_0x146f6e<_0x2327c6)return _0x34b73b(_0x368e5a[_0x1a4e('0x111a')][_0x146f6e]);if(_0x368e5a['hasRestParameter']){var _0x55ff7e=_0x38797c(_0x368e5a[_0x1a4e('0x111a')][_0x2327c6]);return _0x102fd6(_0x55ff7e)?_0x146f6e-_0x2327c6<_0x493462(_0x55ff7e)?_0x55ff7e['typeArguments'][_0x146f6e-_0x2327c6]:_0x49b3ef(_0x55ff7e):_0x3e5aca(_0x55ff7e,0x1);}}function _0x13839c(_0x368e5a,_0x146f6e){var _0x2327c6=_0x34d119(_0x368e5a),_0x55ff7e=_0x596b5f(_0x368e5a);if(_0x55ff7e&&_0x146f6e===_0x2327c6-0x1)return _0x55ff7e;for(var _0x1adc17=_0x55ff7e?Math['min'](_0x146f6e,_0x2327c6-0x1):_0x146f6e,_0xf79407=[],_0x2c9ec9=[],_0x420b32=_0x1adc17;_0x420b32<_0x2327c6;_0x420b32++)_0xf79407[_0x1a4e('0x46')](_0x4eb09c(_0x368e5a,_0x420b32)),_0x2c9ec9[_0x1a4e('0x46')](_0x478ae0(_0x368e5a,_0x420b32));var _0x1b06ad=_0x326f82(_0x368e5a);return _0x4c09c6(_0xf79407,_0x1b06ad<_0x1adc17?0x0:_0x1b06ad-_0x1adc17,!!_0x55ff7e,_0x2c9ec9);}function _0x34d119(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x1e')];if(_0x146f6e[_0x1a4e('0x23d8')]){var _0x55ff7e=_0x38797c(_0x146f6e[_0x1a4e('0x111a')][_0x2327c6-0x1]);if(_0x102fd6(_0x55ff7e))return _0x2327c6+(_0x55ff7e[_0x1a4e('0x2365')]||_0x368e5a[_0x1a4e('0x1700')])['length']-0x1;}return _0x2327c6;}function _0x326f82(_0x368e5a){if(_0x368e5a[_0x1a4e('0x23d8')]){var _0x146f6e=_0x38797c(_0x368e5a['parameters'][_0x368e5a['parameters'][_0x1a4e('0x1e')]-0x1]);if(_0x102fd6(_0x146f6e)){var _0x2327c6=_0x146f6e[_0x1a4e('0xd95')]['minLength'];if(_0x2327c6>0x0)return _0x368e5a[_0x1a4e('0x111a')]['length']-0x1+_0x2327c6;}}return _0x368e5a[_0x1a4e('0x29c5')];}function _0x47d8b9(_0x368e5a){if(_0x368e5a[_0x1a4e('0x23d8')]){var _0x146f6e=_0x38797c(_0x368e5a[_0x1a4e('0x111a')][_0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')]-0x1]);return!_0x102fd6(_0x146f6e)||_0x146f6e[_0x1a4e('0xd95')]['hasRestElement'];}return!0x1;}function _0x596b5f(_0x368e5a){if(_0x368e5a['hasRestParameter']){var _0x146f6e=_0x38797c(_0x368e5a[_0x1a4e('0x111a')][_0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')]-0x1]);return _0x102fd6(_0x146f6e)?function(_0x368e5a){var _0x146f6e=_0x49b3ef(_0x368e5a);return _0x146f6e&&_0xfd8b5f(_0x146f6e);}(_0x146f6e):_0x146f6e;}}function _0x36a27f(_0x368e5a){var _0x146f6e=_0x596b5f(_0x368e5a);return!_0x146f6e||_0x4ba777(_0x146f6e)||_0x4e7589(_0x146f6e)?void 0x0:_0x146f6e;}function _0x272808(_0x368e5a){return _0x594905(_0x368e5a,_0x530b09);}function _0x594905(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')]>0x0?_0x4eb09c(_0x368e5a,0x0):_0x146f6e;}function _0x5992bd(_0x146f6e,_0x2327c6){var _0x55ff7e=_0xdba731(_0x146f6e);if(!_0x55ff7e['type']){_0x55ff7e[_0x1a4e('0x40')]=_0x2327c6;var _0x1adc17=_0x146f6e['valueDeclaration'];0x48!==_0x1adc17[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&(_0x55ff7e[_0x1a4e('0x40')]===_0x126d3e&&(_0x55ff7e[_0x1a4e('0x40')]=_0x462a77(_0x1adc17[_0x1a4e('0x2cb')])),function _0x146f6e(_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x2398')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x368e5a[_0x1a4e('0x2506')](_0xf79407)||(0x48===_0xf79407[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]?_0xdba731(_0x54a27b(_0xf79407))[_0x1a4e('0x40')]=_0x4c7bb9(_0xf79407):_0x146f6e(_0xf79407[_0x1a4e('0x2cb')]));}}(_0x1adc17[_0x1a4e('0x2cb')]));}}function _0x26d80f(_0x368e5a){var _0x146f6e=_0x325ce0(!0x0);return _0x146f6e!==_0x102117?_0x34525d(_0x146f6e,[_0x368e5a=_0x31547b(_0x368e5a)||_0x126d3e]):_0x126d3e;}function _0x3de43a(_0x368e5a){var _0x146f6e,_0x2327c6=(_0x146f6e=!0x0,_0x5b903e||(_0x5b903e=_0xb6c367(_0x1a4e('0x2ad3'),0x1,_0x146f6e))||_0x102117);return _0x2327c6!==_0x102117?_0x34525d(_0x2327c6,[_0x368e5a=_0x31547b(_0x368e5a)||_0x126d3e]):_0x126d3e;}function _0xb7dd43(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x26d80f(_0x2327c6);return _0x55ff7e===_0x126d3e?(_0x2cb4f4(_0x146f6e,_0x368e5a['isImportCall'](_0x146f6e)?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ad4')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ad5')]),_0x336c2):(_0x43fa1f(!0x0)||_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x2a16')](_0x146f6e)?_0x368e5a['Diagnostics'][_0x1a4e('0x2ad6')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ad7')]),_0x55ff7e);}function _0xa5addb(_0x146f6e,_0x2327c6){if(!_0x146f6e[_0x1a4e('0x8f2')])return _0x336c2;var _0x55ff7e,_0x1adc17=_0x368e5a[_0x1a4e('0x2a74')](_0x146f6e);if(0xda!==_0x146f6e['body'][_0x1a4e('0x146b')])_0x55ff7e=_0x31ebf4(_0x146f6e[_0x1a4e('0x8f2')],_0x2327c6),0x2&_0x1adc17&&(_0x55ff7e=_0x113d9b(_0x55ff7e,_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2ad8')]));else{var _0xf79407=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2a74')](_0x146f6e),_0x1adc17=[],_0xf79407=_0x35ac3e(_0x146f6e),_0x2c9ec9=!0x1;if(_0x368e5a[_0x1a4e('0x2386')](_0x146f6e['body'],function(_0x420b32){var _0x1b06ad=_0x420b32['expression'];if(_0x1b06ad){var _0x326eae=_0x31ebf4(_0x1b06ad,_0x2327c6);0x2&_0x55ff7e&&(_0x326eae=_0x113d9b(_0x326eae,_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ad8')])),0x20000&_0x326eae['flags']&&(_0x2c9ec9=!0x0),_0x368e5a[_0x1a4e('0x171d')](_0x1adc17,_0x326eae);}else _0xf79407=!0x0;}),0x0!==_0x1adc17[_0x1a4e('0x1e')]||_0xf79407||!_0x2c9ec9&&!function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xc4:case 0xc5:return!0x0;case 0x9c:return 0xbc===_0x368e5a[_0x1a4e('0x11c')]['kind'];default:return!0x1;}}(_0x146f6e))return!(_0x4f3c04&&_0x1adc17[_0x1a4e('0x1e')]&&_0xf79407)||_0x4cff90(_0x146f6e)&&_0x1adc17[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0xb1b')]===_0x146f6e[_0x1a4e('0xb1b')];})||_0x368e5a[_0x1a4e('0x171d')](_0x1adc17,_0x57a5b4),_0x1adc17;}(_0x146f6e,_0x2327c6);if(0x1&_0x1adc17){if(!(_0xf79407=_0x368e5a[_0x1a4e('0x1717')](function(_0x146f6e,_0x2327c6){var _0x55ff7e=[],_0x1adc17=0x0!=(0x2&_0x368e5a['getFunctionFlags'](_0x146f6e));return _0x368e5a[_0x1a4e('0x2387')](_0x146f6e['body'],function(_0x146f6e){_0x368e5a['pushIfUnique'](_0x55ff7e,_0x32f2b2(_0x146f6e,_0x1adc17,_0x2327c6));}),_0x55ff7e;}(_0x146f6e,_0x2327c6),_0xf79407))||0x0===_0xf79407[_0x1a4e('0x1e')]){var _0x2c9ec9=0x2&_0x1adc17?_0x3f5c38(_0x330555):_0x3e0a87(_0x330555);return _0x59c9de&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x23fc')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ad9')],_0x5ad709(_0x2c9ec9)),_0x2c9ec9;}}else{if(!_0xf79407)return 0x2&_0x1adc17?_0xb7dd43(_0x146f6e,_0x530b09):_0x530b09;if(0x0===_0xf79407[_0x1a4e('0x1e')])return 0x2&_0x1adc17?_0xb7dd43(_0x146f6e,_0x56da3c):_0x56da3c;}_0x55ff7e=_0x2d74ef(_0xf79407,0x2);}var _0x420b32=_0x25b205(_0x146f6e);if(_0x420b32||_0x22569b(_0x146f6e,_0x55ff7e),_0x4d0406(_0x55ff7e)){var _0x1b06ad=_0x420b32?_0x420b32===_0x38523e(_0x146f6e)?_0x55ff7e:_0x4b6767(_0x420b32):void 0x0;if(_0x1b06ad)switch(0x3&_0x1adc17){case 0x3:_0x1b06ad=_0x830334(_0x1b06ad,!0x0);break;case 0x1:_0x1b06ad=_0x830334(_0x1b06ad,!0x1);break;case 0x2:_0x1b06ad=_0x32570e(_0x1b06ad);}_0x55ff7e=_0x5cec0e(_0x55ff7e,_0x1b06ad);}var _0x326eae=_0x3a6dfd(_0x55ff7e);switch(0x3&_0x1adc17){case 0x3:return _0x3f5c38(_0x326eae);case 0x1:return _0x3e0a87(_0x326eae);case 0x2:return _0x26d80f(_0x326eae);default:return _0x326eae;}}function _0x32f2b2(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e['expression']||_0x146f6e,_0xf79407=_0x146f6e[_0x1a4e('0x2302')]?_0x4e94e8(_0x146f6e['expression'],_0x55ff7e):_0x4a2e68,_0x2c9ec9=_0x146f6e[_0x1a4e('0x23fc')]?_0x625739(_0xf79407,_0x1adc17,!0x1,_0x2327c6):_0xf79407;return _0x2327c6?_0x31547b(_0x2c9ec9,_0x1adc17,_0x146f6e['asteriskToken']?_0x368e5a['Diagnostics'][_0x1a4e('0x2ada')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2adb')]):_0x2c9ec9;}function _0x6f3ab8(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=0x0;if(_0x55ff7e){for(var _0xf79407=_0x146f6e;_0xf79407<_0x2327c6[_0x1a4e('0x1e')];_0xf79407++)_0x1adc17|=_0x181989[_0x1a4e('0x179')](_0x2327c6[_0xf79407])||0x8000;for(_0xf79407=_0x368e5a;_0xf79407<_0x146f6e;_0xf79407++)_0x1adc17&=~(_0x181989[_0x1a4e('0x179')](_0x2327c6[_0xf79407])||0x0);for(_0xf79407=0x0;_0xf79407<_0x368e5a;_0xf79407++)_0x1adc17|=_0x181989[_0x1a4e('0x179')](_0x2327c6[_0xf79407])||0x8000;}else{for(_0xf79407=_0x368e5a;_0xf79407<_0x146f6e;_0xf79407++)_0x1adc17|=_0x31b963[_0x1a4e('0x179')](_0x2327c6[_0xf79407])||0x80;for(_0xf79407=0x0;_0xf79407<_0x368e5a;_0xf79407++)_0x1adc17&=~(_0x31b963['get'](_0x2327c6[_0xf79407])||0x0);}return _0x1adc17;}function _0x421827(_0x146f6e){if(!_0x146f6e['possiblyExhaustive'])return!0x1;if(0xc7===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')]){var _0x2327c6=_0x1dceed(_0x146f6e[_0x1a4e('0x2302')]['expression']),_0x55ff7e=_0x6f3ab8(0x0,0x0,_0x4cf294(_0x146f6e),!0x0);return!!(0x20000&_0x5056ee(_0x1953ea(_0x2327c6)||_0x2327c6,function(_0x368e5a){return(_0x3ea85e(_0x368e5a)&_0x55ff7e)===_0x55ff7e;})[_0x1a4e('0x7b2')]);}var _0x1adc17=_0x1dceed(_0x146f6e['expression']);if(!_0x4844a5(_0x1adc17))return!0x1;var _0xf79407,_0x2c9ec9,_0x420b32=_0x103c1c(_0x146f6e);return!(!_0x420b32[_0x1a4e('0x1e')]||_0x368e5a[_0x1a4e('0x1c2')](_0x420b32,_0x4992b3))&&(_0xf79407=_0x578997(_0x1adc17,_0x4da784),_0x2c9ec9=_0x420b32,0x100000&_0xf79407[_0x1a4e('0x7b2')]?!_0x368e5a[_0x1a4e('0x3b')](_0xf79407[_0x1a4e('0x2380')],function(_0x146f6e){return!_0x368e5a['contains'](_0x2c9ec9,_0x146f6e);}):_0x368e5a[_0x1a4e('0x2ac')](_0x2c9ec9,_0xf79407));}function _0x35ac3e(_0x146f6e){return!!(0x80&_0x146f6e[_0x1a4e('0x7b2')])&&!_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e['body'][_0x1a4e('0x2366')],function(_0x368e5a){return 0xe8===_0x368e5a['kind']&&_0x421827(_0x368e5a);});}function _0x5da4f5(_0x146f6e,_0x2327c6){if(_0x1adc17&&(!_0x2327c6||!_0x1a74b9(_0x2327c6,0x4001))&&0x9b!==_0x146f6e[_0x1a4e('0x146b')]&&!_0x368e5a['nodeIsMissing'](_0x146f6e[_0x1a4e('0x8f2')])&&0xda===_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x146b')]&&_0x35ac3e(_0x146f6e)){var _0x55ff7e=0x100&_0x146f6e[_0x1a4e('0x7b2')];if(_0x2327c6&&0x20000&_0x2327c6[_0x1a4e('0x7b2')])_0x2cb4f4(_0x368e5a[_0x1a4e('0x29b7')](_0x146f6e),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2adc')]);else if(_0x2327c6&&!_0x55ff7e)_0x2cb4f4(_0x368e5a[_0x1a4e('0x29b7')](_0x146f6e),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2add')]);else if(_0x2327c6&&_0x4f3c04&&!_0x720afc(_0x57a5b4,_0x2327c6))_0x2cb4f4(_0x368e5a[_0x1a4e('0x29b7')](_0x146f6e),_0x368e5a['Diagnostics'][_0x1a4e('0x2ade')]);else if(_0x239ab2[_0x1a4e('0x2757')]){if(!_0x2327c6){if(!_0x55ff7e)return;if(_0x23876f(_0x146f6e,_0x4b6767(_0x38523e(_0x146f6e))))return;}_0x2cb4f4(_0x368e5a['getEffectiveReturnTypeNode'](_0x146f6e)||_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2adf')]);}}}function _0x6b4aaf(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x1749')]['assert'](0x9c!==_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x2867')](_0x146f6e)),_0xd0e60c(_0x146f6e),0x1===_0x2327c6&&_0xf01a27(_0x146f6e)){if(!_0x368e5a[_0x1a4e('0x29b7')](_0x146f6e)&&_0x4f9cf8(_0x146f6e)){var _0x55ff7e=_0x165ecf(_0x146f6e);if(_0x55ff7e[_0x1a4e('0x2ae0')])return _0x55ff7e[_0x1a4e('0x2ae0')];var _0x1adc17=_0xa5addb(_0x146f6e,_0x2327c6),_0xf79407=_0x1338dd(void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x1700')],_0x1adc17,void 0x0,0x0,!0x1,!0x1),_0x2c9ec9=_0x1178b7(_0x146f6e[_0x1a4e('0xb1b')],_0x362306,[_0xf79407],_0x368e5a[_0x1a4e('0x1700')],void 0x0,void 0x0);return _0x2c9ec9[_0x1a4e('0x7b2')]|=0x20000000,_0x55ff7e[_0x1a4e('0x2ae0')]=_0x2c9ec9;}return _0x5f42ab;}_0x3fa372(_0x146f6e)||0xc4!==_0x146f6e[_0x1a4e('0x146b')]||_0x10c3d1(_0x146f6e);var _0x420b32=_0x165ecf(_0x146f6e),_0x1b06ad=_0x38797c(_0x41e7a5(_0x146f6e[_0x1a4e('0xb1b')]));if(_0x4e7589(_0x1b06ad))return _0x1b06ad;if(!(0x400&_0x420b32[_0x1a4e('0x7b2')])){var _0x326eae=_0x184ddb(_0x146f6e);if(!(0x400&_0x420b32[_0x1a4e('0x7b2')])){if(_0x420b32['flags']|=0x400,_0x326eae){var _0x56674b=_0x7bcdc7(_0x1b06ad,0x0)[0x0];if(_0xf01a27(_0x146f6e)){var _0x415952=_0x21d87e(_0x146f6e);0x2===_0x2327c6&&function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x1e')]-(_0x146f6e[_0x1a4e('0x23d8')]?0x1:0x0),_0xf79407=0x0;_0xf79407<_0x1adc17;_0xf79407++){var _0x2c9ec9=_0x146f6e['parameters'][_0xf79407]['valueDeclaration'];if(_0x2c9ec9[_0x1a4e('0x40')]){var _0x420b32=_0x368e5a['getEffectiveTypeAnnotationNode'](_0x2c9ec9);_0x420b32&&_0xe9ae15(_0x55ff7e['inferences'],_0x3fafb1(_0x420b32),_0x4eb09c(_0x2327c6,_0xf79407));}}}(_0x56674b,_0x326eae,_0x415952),function(_0x146f6e,_0x2327c6){_0x146f6e['typeParameters']=_0x2327c6[_0x1a4e('0x23d7')],_0x2327c6[_0x1a4e('0x28c7')]&&(!(_0xf79407=_0x146f6e['thisParameter'])||_0xf79407[_0x1a4e('0x2340')]&&!_0xf79407[_0x1a4e('0x2340')]['type'])&&(_0xf79407||(_0x146f6e[_0x1a4e('0x28c7')]=_0x5af529(_0x2327c6['thisParameter'],void 0x0)),_0x5992bd(_0x146f6e[_0x1a4e('0x28c7')],_0x38797c(_0x2327c6['thisParameter'])));for(var _0x55ff7e=_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x1e')]-(_0x146f6e[_0x1a4e('0x23d8')]?0x1:0x0),_0x1adc17=0x0;_0x1adc17<_0x55ff7e;_0x1adc17++){var _0xf79407=_0x146f6e[_0x1a4e('0x111a')][_0x1adc17];_0x368e5a[_0x1a4e('0x2452')](_0xf79407[_0x1a4e('0x2340')])||_0x5992bd(_0xf79407,_0x4eb09c(_0x2327c6,_0x1adc17));}_0x146f6e['hasRestParameter']&&(!_0x19a22b(_0xf79407=_0x368e5a[_0x1a4e('0x10b1')](_0x146f6e['parameters']))&&_0x368e5a['getEffectiveTypeAnnotationNode'](_0xf79407[_0x1a4e('0x2340')])||_0x5992bd(_0xf79407,_0x13839c(_0x2327c6,_0x55ff7e)));}(_0x56674b,_0x415952===_0x5934d9?_0x326eae:_0x54171a(_0x326eae,_0x415952));}_0x26ffc2(_0x146f6e)||_0x56674b[_0x1a4e('0x2998')]||(_0x1adc17=_0xa5addb(_0x146f6e,_0x2327c6),_0x56674b[_0x1a4e('0x2998')]||(_0x56674b['resolvedReturnType']=_0x1adc17));}_0x4acf6f(_0x146f6e);}}return _0x1b06ad;}function _0x49a1e5(_0x368e5a,_0x146f6e){var _0x2327c6=_0x26ffc2(_0x368e5a);return _0x2327c6&&0x2==(0x3&_0x146f6e)?_0x31547b(_0x2327c6)||_0x336c2:_0x2327c6;}function _0x35a6ec(_0x368e5a,_0x146f6e,_0x2327c6){return!!_0x720afc(_0x146f6e,_0x2889f5)||(_0x2cb4f4(_0x368e5a,_0x2327c6),!0x1);}function _0x59ef1a(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2372')](_0x146f6e))return!0x1;if(!_0x368e5a[_0x1a4e('0x23bb')](_0x146f6e))return!0x1;var _0x2327c6=_0x31ebf4(_0x146f6e['arguments'][0x2]);if(_0x2032e1(_0x2327c6,_0x1a4e('0x255'))){var _0x55ff7e=_0x3c127b(_0x2327c6,_0x1a4e('0x1346')),_0x1adc17=_0x55ff7e&&_0x38797c(_0x55ff7e);if(!_0x1adc17||_0x1adc17===_0x4b250a||_0x1adc17===_0x29b6ee)return!0x0;if(_0x55ff7e&&_0x55ff7e[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x23b4')](_0x55ff7e[_0x1a4e('0x2340')])){var _0xf79407=_0x4e94e8(_0x55ff7e[_0x1a4e('0x2340')]['initializer']);if(_0xf79407===_0x4b250a||_0xf79407===_0x29b6ee)return!0x0;}return!0x1;}return!_0x3c127b(_0x2327c6,'set');}function _0x5c5095(_0x146f6e){return!!(0x8&_0x368e5a[_0x1a4e('0x248b')](_0x146f6e)||0x4&_0x146f6e[_0x1a4e('0x7b2')]&&0x40&_0x368e5a[_0x1a4e('0x248c')](_0x146f6e)||0x3&_0x146f6e[_0x1a4e('0x7b2')]&&0x2&_0x48414f(_0x146f6e)||0x18000&_0x146f6e['flags']&&!(0x10000&_0x146f6e['flags'])||0x8&_0x146f6e['flags']||_0x368e5a['some'](_0x146f6e[_0x1a4e('0x22e5')],_0x59ef1a));}function _0x2ec9b1(_0x146f6e,_0x2327c6){if(_0x5c5095(_0x2327c6)){if(0x4&_0x2327c6['flags']&&(0xbd===_0x146f6e[_0x1a4e('0x146b')]||0xbe===_0x146f6e['kind'])&&0x64===_0x146f6e[_0x1a4e('0x2302')]['kind']){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);return!_0x55ff7e||0x9d!==_0x55ff7e[_0x1a4e('0x146b')]||!_0x2327c6[_0x1a4e('0x2340')]||!(_0x55ff7e[_0x1a4e('0x11c')]===_0x2327c6['valueDeclaration']['parent']||_0x55ff7e===_0x2327c6['valueDeclaration'][_0x1a4e('0x11c')]);}return!0x0;}return!0x1;}function _0x571e22(_0x146f6e){if(0xbd===_0x146f6e[_0x1a4e('0x146b')]||0xbe===_0x146f6e[_0x1a4e('0x146b')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x29a0')](_0x146f6e[_0x1a4e('0x2302')]);if(0x48===_0x2327c6['kind']){var _0x55ff7e=_0x165ecf(_0x2327c6)[_0x1a4e('0x296c')];if(0x200000&_0x55ff7e[_0x1a4e('0x7b2')]){var _0x1adc17=_0x467425(_0x55ff7e);return!!_0x1adc17&&0xfb===_0x1adc17[_0x1a4e('0x146b')];}}}return!0x1;}function _0x32f714(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2aa7')](_0x146f6e,0x3);return 0x48===_0x55ff7e[_0x1a4e('0x146b')]||0xbd===_0x55ff7e[_0x1a4e('0x146b')]||0xbe===_0x55ff7e['kind']||(_0x2cb4f4(_0x146f6e,_0x2327c6),!0x1);}function _0x183086(_0x368e5a){return _0x1a74b9(_0x368e5a,0x840)?_0xc28455(_0x368e5a,0x3)||_0x1a74b9(_0x368e5a,0x128)?_0x2889f5:_0x95b336:_0x4a492a;}function _0x1a74b9(_0x368e5a,_0x146f6e){if(_0x368e5a[_0x1a4e('0x7b2')]&_0x146f6e&-0x8000001||0x8000000&_0x146f6e&&_0x2e49b5(_0x368e5a))return!0x0;if(0x300000&_0x368e5a[_0x1a4e('0x7b2')])for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2380')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++)if(_0x1a74b9(_0x55ff7e[_0x2327c6],_0x146f6e))return!0x0;return!0x1;}function _0xc28455(_0x368e5a,_0x146f6e,_0x2327c6){return!!(_0x368e5a[_0x1a4e('0x7b2')]&_0x146f6e)||!(_0x2327c6&&0x1c003&_0x368e5a[_0x1a4e('0x7b2')])&&(!!(0x128&_0x146f6e)&&_0x720afc(_0x368e5a,_0x4a492a)||!!(0x840&_0x146f6e)&&_0x720afc(_0x368e5a,_0x95b336)||!!(0x84&_0x146f6e)&&_0x720afc(_0x368e5a,_0x1d9562)||!!(0x210&_0x146f6e)&&_0x720afc(_0x368e5a,_0x4b156c)||!!(0x4000&_0x146f6e)&&_0x720afc(_0x368e5a,_0x56da3c)||!!(0x20000&_0x146f6e)&&_0x720afc(_0x368e5a,_0x530b09)||!!(0x10000&_0x146f6e)&&_0x720afc(_0x368e5a,_0x406341)||!!(0x8000&_0x146f6e)&&_0x720afc(_0x368e5a,_0x57a5b4)||!!(0x1000&_0x146f6e)&&_0x720afc(_0x368e5a,_0x12ad50)||!!(0x4000000&_0x146f6e)&&_0x720afc(_0x368e5a,_0x48476c));}function _0x59e772(_0x146f6e,_0x2327c6,_0x55ff7e){return 0x100000&_0x146f6e['flags']?_0x368e5a['every'](_0x146f6e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x59e772(_0x368e5a,_0x2327c6,_0x55ff7e);}):_0xc28455(_0x146f6e,_0x2327c6,_0x55ff7e);}function _0x16f189(_0x146f6e){return!!(0x10&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e))&&!!_0x146f6e[_0x1a4e('0xb1b')]&&_0x56134e(_0x146f6e[_0x1a4e('0xb1b')]);}function _0x56134e(_0x368e5a){return 0x0!=(0x80&_0x368e5a[_0x1a4e('0x7b2')]);}function _0x427b21(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(void 0x0===_0x1adc17&&(_0x1adc17=!0x1),0x113===_0x2327c6[_0x1a4e('0x146b')]||0x114===_0x2327c6[_0x1a4e('0x146b')]){var _0xf79407=_0x2327c6[_0x1a4e('0x2cb')];if(0x95===_0xf79407[_0x1a4e('0x146b')]&&_0x16c40(_0xf79407),_0x1655e0(_0xf79407))return;if(_0x1b06ad=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x4e7589(_0x146f6e))return _0x146f6e;var _0xf79407,_0x2c9ec9=_0x368e5a['getTextOfPropertyName'](_0x2327c6);if(_0x2c9ec9){var _0x420b32=_0x3c127b(_0x146f6e,_0x2c9ec9);_0x420b32&&(_0x3a35cb(_0x420b32,_0x55ff7e,_0x1adc17),_0x33d091(_0x55ff7e,!0x1,_0x146f6e,_0x420b32),_0xf79407=_0x38797c(_0x420b32)),_0xf79407=_0xf79407||(_0x2a5163(_0x2c9ec9)?_0x3e5aca(_0x146f6e,0x1):void 0x0);}return _0xf79407||_0x3e5aca(_0x146f6e,0x0);}(_0x146f6e,_0xf79407,_0x2327c6,_0x1adc17))return _0x1f8fdc(0x114===_0x2327c6['kind']?_0x2327c6:_0x2327c6['initializer'],_0x1b06ad);_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae1')],_0x5ad709(_0x146f6e),_0x368e5a[_0x1a4e('0x1676')](_0xf79407));}else{if(0x115===_0x2327c6[_0x1a4e('0x146b')]){_0x1b8154<0x6&&_0x1145ed(_0x2327c6,0x4);var _0x2c9ec9=[];if(_0x55ff7e)for(var _0x420b32=0x0;_0x420b32<_0x55ff7e['length']-0x1;_0x420b32++)_0x2c9ec9[_0x1a4e('0x46')](_0x55ff7e[_0x420b32][_0x1a4e('0x2cb')]);var _0x1b06ad=_0x434760(_0x146f6e,_0x2c9ec9,_0x146f6e['symbol']);return _0x11db9d(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma']),_0x1f8fdc(_0x2327c6[_0x1a4e('0x2302')],_0x1b06ad);}_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['Property_assignment_expected']);}}function _0x3651e9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x2398')],_0x420b32=_0x2c9ec9[_0x55ff7e];if(0xd2!==_0x420b32['kind'])if(0xd0!==_0x420b32['kind']){var _0x1b06ad=''+_0x55ff7e;if(_0x326eae=_0x4e7589(_0x2327c6)?_0x2327c6:_0x307f32(_0x2327c6,_0x3572f9)?_0x30c98f(_0x2327c6,_0x55ff7e):_0x1adc17)return _0x1f8fdc(_0x420b32,_0x326eae,_0xf79407);_0x4e94e8(_0x420b32),_0x102fd6(_0x2327c6)?_0x2cb4f4(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x299e')],_0x5ad709(_0x2327c6),_0x30457b(_0x2327c6),_0x2c9ec9[_0x1a4e('0x1e')]):_0x2cb4f4(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x299f')],_0x5ad709(_0x2327c6),_0x1b06ad);}else if(_0x55ff7e<_0x2c9ec9[_0x1a4e('0x1e')]-0x1)_0x2cb4f4(_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae2')]);else{var _0x326eae,_0x56674b=_0x420b32[_0x1a4e('0x2302')];if(0xcc!==_0x56674b[_0x1a4e('0x146b')]||0x3b!==_0x56674b['operatorToken']['kind'])return _0x11db9d(_0x146f6e['elements'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae3')]),_0x1f8fdc(_0x56674b,_0x326eae=_0x307f32(_0x2327c6,_0x102fd6)?_0x578997(_0x2327c6,function(_0x368e5a){return _0x465473(_0x368e5a,_0x55ff7e);}):_0xfd8b5f(_0x1adc17),_0xf79407);_0x2cb4f4(_0x56674b[_0x1a4e('0x237a')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae4')]);}}function _0x1f8fdc(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407;if(0x114===_0x146f6e[_0x1a4e('0x146b')]){var _0x2c9ec9=_0x146f6e;_0x2c9ec9[_0x1a4e('0x2471')]&&(!_0x4f3c04||0x8000&_0x30e928(_0x4e94e8(_0x2c9ec9[_0x1a4e('0x2471')]))||(_0x2327c6=_0x2c784a(_0x2327c6,0x80000)),_0x4f36c5(_0x2c9ec9['name'],_0x2c9ec9[_0x1a4e('0x25f8')],_0x2c9ec9[_0x1a4e('0x2471')],_0x55ff7e)),_0xf79407=_0x146f6e[_0x1a4e('0x2cb')];}else _0xf79407=_0x146f6e;return 0xcc===_0xf79407['kind']&&0x3b===_0xf79407[_0x1a4e('0x237a')]['kind']&&(_0x32b9fa(_0xf79407,_0x55ff7e),_0xf79407=_0xf79407['left']),0xbc===_0xf79407[_0x1a4e('0x146b')]?function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x13')];if(_0x4f3c04&&0x0===_0x55ff7e[_0x1a4e('0x1e')])return _0x3dcfe6(_0x146f6e,_0x368e5a);for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++)_0x427b21(_0x146f6e,_0xf79407[_0x1adc17],_0x55ff7e,_0x2327c6);return _0x146f6e;}(_0xf79407,_0x2327c6,_0x1adc17):0xbb===_0xf79407[_0x1a4e('0x146b')]?function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2398')];_0x1b8154<0x2&&_0x239ab2[_0x1a4e('0x2744')]&&_0x1145ed(_0x368e5a,0x200);for(var _0x1adc17=_0x625739(_0x146f6e,_0x368e5a,!0x1,!0x1)||_0x336c2,_0xf79407=0x0;_0xf79407<_0x55ff7e[_0x1a4e('0x1e')];_0xf79407++)_0x3651e9(_0x368e5a,_0x146f6e,_0xf79407,_0x1adc17,_0x2327c6);return _0x146f6e;}(_0xf79407,_0x2327c6,_0x55ff7e):function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x4e94e8(_0x146f6e,_0x55ff7e),_0xf79407=0x115===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae5')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae6')];return _0x32f714(_0x146f6e,_0xf79407)&&_0x440746(_0x2327c6,_0x1adc17,_0x146f6e,_0x146f6e),_0x2327c6;}(_0xf79407,_0x2327c6,_0x55ff7e);}function _0x1d1335(_0x368e5a,_0x146f6e){return 0x0!=(0x18000&_0x146f6e[_0x1a4e('0x7b2')])||_0x4dc252(_0x368e5a,_0x146f6e);}function _0x32b9fa(_0x146f6e,_0x2327c6){return _0x368e5a['isInJSFile'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x23b3')](_0x146f6e)?_0x4e94e8(_0x146f6e[_0x1a4e('0x5d')],_0x2327c6):_0x4f36c5(_0x146f6e[_0x1a4e('0x5f')],_0x146f6e[_0x1a4e('0x237a')],_0x146f6e[_0x1a4e('0x5d')],_0x2327c6,_0x146f6e);}function _0x4f36c5(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9){var _0x420b32,_0x1b06ad=_0x2327c6[_0x1a4e('0x146b')];if(0x3b===_0x1b06ad&&(0xbc===_0x146f6e[_0x1a4e('0x146b')]||0xbb===_0x146f6e[_0x1a4e('0x146b')]))return _0x1f8fdc(_0x146f6e,_0x4e94e8(_0x55ff7e,_0xf79407),_0xf79407,0x64===_0x55ff7e[_0x1a4e('0x146b')]);_0x420b32=0x36===_0x1b06ad||0x37===_0x1b06ad?_0x5819cd(_0x146f6e,_0xf79407):_0x4e94e8(_0x146f6e,_0xf79407);var _0x326eae,_0x56674b,_0x415952=_0x4e94e8(_0x55ff7e,_0xf79407);switch(_0x1b06ad){case 0x28:case 0x29:case 0x3e:case 0x3f:case 0x2a:case 0x40:case 0x2b:case 0x41:case 0x27:case 0x3d:case 0x2e:case 0x42:case 0x2f:case 0x43:case 0x30:case 0x44:case 0x32:case 0x46:case 0x33:case 0x47:case 0x31:case 0x45:if(_0x420b32===_0x396dd7||_0x415952===_0x396dd7)return _0x396dd7;_0x420b32=_0x3dcfe6(_0x420b32,_0x146f6e),_0x415952=_0x3dcfe6(_0x415952,_0x55ff7e);var _0x46923a=void 0x0;if(0x210&_0x420b32['flags']&&0x210&_0x415952['flags']&&void 0x0!==(_0x46923a=function(_0x368e5a){switch(_0x368e5a){case 0x32:case 0x46:return 0x37;case 0x33:case 0x47:return 0x24;case 0x31:case 0x45:return 0x36;default:return;}}(_0x2327c6['kind'])))return _0x2cb4f4(_0x2c9ec9||_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae7')],_0x368e5a[_0x1a4e('0x22ba')](_0x2327c6[_0x1a4e('0x146b')]),_0x368e5a[_0x1a4e('0x22ba')](_0x46923a)),_0x4a492a;var _0x88bf03,_0x434714=_0x35a6ec(_0x146f6e,_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae8')]),_0x57b692=_0x35a6ec(_0x55ff7e,_0x415952,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae9')]);if(_0xc28455(_0x420b32,0x3)&&_0xc28455(_0x415952,0x3)||!_0x1a74b9(_0x420b32,0x840)&&!_0x1a74b9(_0x415952,0x840))_0x88bf03=_0x4a492a;else if(_0xc28455(_0x420b32,0x840)&&_0xc28455(_0x415952,0x840)){switch(_0x1b06ad){case 0x30:case 0x44:_0x15a30a();}_0x88bf03=_0x95b336;}else _0x15a30a(),_0x88bf03=_0x336c2;return _0x434714&&_0x57b692&&_0x3d8f5d(_0x88bf03),_0x88bf03;case 0x26:case 0x3c:if(_0x420b32===_0x396dd7||_0x415952===_0x396dd7)return _0x396dd7;_0xc28455(_0x420b32,0x84)||_0xc28455(_0x415952,0x84)||(_0x420b32=_0x3dcfe6(_0x420b32,_0x146f6e),_0x415952=_0x3dcfe6(_0x415952,_0x55ff7e));var _0x1ad11f=void 0x0;return _0xc28455(_0x420b32,0x128,!0x0)&&_0xc28455(_0x415952,0x128,!0x0)?_0x1ad11f=_0x4a492a:_0xc28455(_0x420b32,0x840,!0x0)&&_0xc28455(_0x415952,0x840,!0x0)?_0x1ad11f=_0x95b336:_0xc28455(_0x420b32,0x84,!0x0)||_0xc28455(_0x415952,0x84,!0x0)?_0x1ad11f=_0x1d9562:(_0x4e7589(_0x420b32)||_0x4e7589(_0x415952))&&(_0x1ad11f=_0x420b32===_0x336c2||_0x415952===_0x336c2?_0x336c2:_0x330555),_0x1ad11f&&!_0x1b487e(_0x1b06ad)?_0x1ad11f:_0x1ad11f?(0x3c===_0x1b06ad&&_0x3d8f5d(_0x1ad11f),_0x1ad11f):(_0x15a30a(),_0x330555);case 0x1c:case 0x1e:case 0x1f:case 0x20:return _0x1b487e(_0x1b06ad)&&(_0x420b32=_0x3a5471(_0x3dcfe6(_0x420b32,_0x146f6e)),_0x415952=_0x3a5471(_0x3dcfe6(_0x415952,_0x55ff7e)),_0x4dc252(_0x420b32,_0x415952)||_0x4dc252(_0x415952,_0x420b32)||_0x720afc(_0x420b32,_0x2889f5)&&_0x720afc(_0x415952,_0x2889f5)||_0x15a30a()),_0x4b156c;case 0x21:case 0x22:case 0x23:case 0x24:var _0x35bd0a=_0x4844a5(_0x420b32),_0x36aa2e=_0x4844a5(_0x415952);return _0x35bd0a&&_0x36aa2e||(_0x420b32=_0x35bd0a?_0x3a5471(_0x420b32):_0x420b32,_0x415952=_0x36aa2e?_0x3a5471(_0x415952):_0x415952),_0x1d1335(_0x420b32,_0x415952)||_0x1d1335(_0x415952,_0x420b32)||_0x15a30a(),_0x4b156c;case 0x5e:return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x55ff7e===_0x396dd7||_0x1adc17===_0x396dd7?_0x396dd7:(!_0x4e7589(_0x55ff7e)&&_0x59e772(_0x55ff7e,0x1fffc)&&_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2aea')]),_0x4e7589(_0x1adc17)||_0x452f7e(_0x1adc17)||_0x2a8a4b(_0x1adc17,_0x437267)||_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aeb')]),_0x4b156c);}(_0x146f6e,_0x55ff7e,_0x420b32,_0x415952);case 0x5d:return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x55ff7e===_0x396dd7||_0x1adc17===_0x396dd7?_0x396dd7:(_0x55ff7e=_0x3dcfe6(_0x55ff7e,_0x146f6e),_0x1adc17=_0x3dcfe6(_0x1adc17,_0x2327c6),_0x4dc252(_0x55ff7e,_0x1d9562)||_0xc28455(_0x55ff7e,0x3128)||_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2aec')]),_0xc28455(_0x1adc17,0x7840000)||_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aed')]),_0x4b156c);}(_0x146f6e,_0x55ff7e,_0x420b32,_0x415952);case 0x36:return 0x400000&_0x3ea85e(_0x420b32)?_0x2d74ef([(_0x56674b=_0x4f3c04?_0x420b32:_0x3a5471(_0x415952),_0x578997(_0x56674b,_0x19e09e)),_0x415952]):_0x420b32;case 0x37:return 0x800000&_0x3ea85e(_0x420b32)?_0x2d74ef([_0x194249(_0x420b32),_0x415952],0x2):_0x420b32;case 0x3b:var _0x30b3ec=_0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x11c')])?_0x368e5a[_0x1a4e('0x23ba')](_0x146f6e['parent']):0x0;return function(_0x146f6e,_0x2327c6){if(0x2===_0x146f6e)for(var _0x55ff7e=0x0,_0x1adc17=_0x192d7d(_0x2327c6);_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e],_0x2c9ec9=_0x38797c(_0xf79407);if(_0x2c9ec9[_0x1a4e('0xb1b')]&&0x20&_0x2c9ec9[_0x1a4e('0xb1b')]['flags']){var _0x420b32=_0xf79407[_0x1a4e('0x22e8')],_0x1b06ad=_0x1e09ab(_0xf79407[_0x1a4e('0x2340')],_0x420b32,0x40c09e8,void 0x0,_0x420b32,!0x1);if(_0x1b06ad&&_0x1b06ad[_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](_0x368e5a['isJSDocTypedefTag']))return _0x2d955f(_0x1b06ad['declarations'][0x0],_0x368e5a['Diagnostics'][_0x1a4e('0x2848')],_0x368e5a['unescapeLeadingUnderscores'](_0x420b32)),_0x2d955f(_0xf79407[_0x1a4e('0x2340')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2848')],_0x368e5a['unescapeLeadingUnderscores'](_0x420b32));}}}(_0x30b3ec,_0x415952),function(_0x2327c6){switch(_0x2327c6){case 0x2:return!0x0;case 0x1:case 0x5:case 0x6:case 0x3:case 0x4:var _0x1adc17=_0x54a27b(_0x146f6e),_0xf79407=_0x368e5a[_0x1a4e('0x23b3')](_0x55ff7e);return _0xf79407&&_0x368e5a[_0x1a4e('0x236f')](_0xf79407)&&_0x1adc17&&_0x368e5a[_0x1a4e('0x22e6')](_0x1adc17[_0x1a4e('0x0')]);default:return!0x1;}}(_0x30b3ec)?(0x80000&_0x415952['flags']&&(0x2===_0x30b3ec||0x6===_0x30b3ec||_0x3d48fd(_0x415952)||_0x4a5dc6(_0x415952)||0x1&_0x368e5a['getObjectFlags'](_0x415952))||_0x3d8f5d(_0x415952),_0x420b32):(_0x3d8f5d(_0x415952),_0x262aab(_0x415952));case 0x1b:return!_0x239ab2[_0x1a4e('0x258d')]&&function _0x146f6e(_0x2327c6){switch((_0x2327c6=_0x368e5a['skipParentheses'](_0x2327c6))[_0x1a4e('0x146b')]){case 0x48:case 0xa:case 0xd:case 0xc1:case 0xce:case 0xe:case 0x8:case 0x9:case 0x66:case 0x57:case 0x60:case 0x8d:case 0xc4:case 0xd1:case 0xc5:case 0xbb:case 0xbc:case 0xc7:case 0xd5:case 0x105:case 0x104:return!0x0;case 0xcd:return _0x146f6e(_0x2327c6['whenTrue'])&&_0x146f6e(_0x2327c6[_0x1a4e('0x2604')]);case 0xcc:return!_0x368e5a[_0x1a4e('0x2460')](_0x2327c6['operatorToken'][_0x1a4e('0x146b')])&&_0x146f6e(_0x2327c6[_0x1a4e('0x5f')])&&_0x146f6e(_0x2327c6[_0x1a4e('0x5d')]);case 0xca:case 0xcb:switch(_0x2327c6['operator']){case 0x34:case 0x26:case 0x27:case 0x35:return!0x0;}return!0x1;case 0xc8:case 0xc2:case 0xd4:default:return!0x1;}}(_0x146f6e)&&(0x48!==(_0x326eae=_0x55ff7e)[_0x1a4e('0x146b')]||_0x1a4e('0x285b')!==_0x326eae[_0x1a4e('0x22f3')])&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Left_side_of_comma_operator_is_unused_and_has_no_side_effects']),_0x415952;default:return _0x368e5a['Debug'][_0x1a4e('0x1709')]();}function _0x1b487e(_0x2327c6){var _0x1adc17=_0x1a74b9(_0x420b32,0x3000)?_0x146f6e:_0x1a74b9(_0x415952,0x3000)?_0x55ff7e:void 0x0;return!_0x1adc17||(_0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')]['The_0_operator_cannot_be_applied_to_type_symbol'],_0x368e5a[_0x1a4e('0x22ba')](_0x2327c6)),!0x1);}function _0x3d8f5d(_0x2327c6){_0x1adc17&&_0x368e5a[_0x1a4e('0x2460')](_0x1b06ad)&&(!_0x32f714(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae6')])||_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&_0x1a4e('0x0')===_0x368e5a[_0x1a4e('0x24d1')](_0x146f6e['escapedText'])||_0x440746(_0x2327c6,_0x420b32,_0x146f6e,_0x55ff7e));}function _0x15a30a(){var _0x146f6e=_0x5ad709(_0x420b32),_0x55ff7e=_0x5ad709(_0x415952),_0x1adc17=_0x2c9ec9||_0x2327c6;(function(_0x146f6e,_0x55ff7e,_0x1adc17){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x23:case 0x21:return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aee')],_0x1a4e('0xe7a'),_0x55ff7e,_0x1adc17);case 0x24:case 0x22:return _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap'],_0x1a4e('0xe7b'),_0x55ff7e,_0x1adc17);}}(_0x1adc17,_0x146f6e,_0x55ff7e)||_0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aef')],_0x368e5a[_0x1a4e('0x22ba')](_0x2327c6[_0x1a4e('0x146b')]),_0x146f6e,_0x55ff7e));}}function _0x513d26(_0x146f6e){_0x1adc17&&(0x1000&_0x146f6e['flags']&&!function(_0x146f6e){for(var _0x2327c6=_0x146f6e,_0x55ff7e=_0x146f6e[_0x1a4e('0x11c')];_0x55ff7e;){if(_0x368e5a[_0x1a4e('0x2342')](_0x55ff7e)&&_0x2327c6===_0x55ff7e[_0x1a4e('0x8f2')])return!0x1;if(_0x368e5a['isClassLike'](_0x2327c6))return!0x0;_0x2327c6=_0x55ff7e,_0x55ff7e=_0x55ff7e[_0x1a4e('0x11c')];}return!0x1;}(_0x146f6e)||_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['A_yield_expression_is_only_allowed_in_a_generator_body']),_0x409b5c(_0x146f6e)&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2af0')]));var _0x2327c6=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);if(!_0x2327c6)return _0x330555;var _0x55ff7e=_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6);if(!(0x1&_0x55ff7e))return _0x330555;_0x146f6e[_0x1a4e('0x23fc')]&&(0x3==(0x3&_0x55ff7e)&&_0x1b8154<0x6&&_0x1145ed(_0x146f6e,0x6800),0x1==(0x3&_0x55ff7e)&&_0x1b8154<0x2&&_0x239ab2[_0x1a4e('0x2744')]&&_0x1145ed(_0x146f6e,0x100));var _0xf79407=0x0!=(0x2&_0x55ff7e),_0x2c9ec9=_0x32f2b2(_0x146f6e,_0xf79407),_0x420b32=_0x26ffc2(_0x2327c6);return _0x420b32&&_0x440746(_0x2c9ec9,_0x830334(_0x420b32,_0xf79407)||_0x330555,_0x146f6e['expression']||_0x146f6e,_0x146f6e[_0x1a4e('0x2302')]),_0x330555;}function _0x2c7c9e(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=function(_0x146f6e){return 0x10c!==_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a['isJsxSelfClosingElement'](_0x146f6e[_0x1a4e('0x11c')])?_0x146f6e:_0x146f6e[_0x1a4e('0x11c')]['parent'];}(_0x146f6e),_0xf79407=_0x1adc17[_0x1a4e('0x2a73')],_0x2c9ec9=_0x1adc17['contextualMapper'];_0x1adc17[_0x1a4e('0x2a73')]=_0x2327c6,_0x1adc17[_0x1a4e('0x2a75')]=_0x55ff7e;var _0x420b32=_0x4e94e8(_0x146f6e,_0x55ff7e===_0x5934d9?0x1:_0x55ff7e?0x2:0x3);return _0x1adc17[_0x1a4e('0x2a73')]=_0xf79407,_0x1adc17['contextualMapper']=_0x2c9ec9,_0x420b32;}function _0x31ebf4(_0x368e5a,_0x146f6e){var _0x2327c6=_0x165ecf(_0x368e5a);if(!_0x2327c6[_0x1a4e('0x29e0')]){if(_0x146f6e)return _0x4e94e8(_0x368e5a,_0x146f6e);var _0x55ff7e=_0xd133a5;_0xd133a5=_0x3b2814,_0x2327c6[_0x1a4e('0x29e0')]=_0x4e94e8(_0x368e5a,_0x146f6e),_0xd133a5=_0x55ff7e;}return _0x2327c6[_0x1a4e('0x29e0')];}function _0x5a78bc(_0x146f6e){return 0xc2===(_0x146f6e=_0x368e5a[_0x1a4e('0x29a0')](_0x146f6e))['kind']||0xd4===_0x146f6e[_0x1a4e('0x146b')];}function _0x40a458(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x23b1')](_0x146f6e),_0x55ff7e=_0x1dceed(_0x2327c6,!0x0),_0x1adc17=0x2&_0x368e5a[_0x1a4e('0x22fd')](_0x146f6e)||_0x368e5a[_0x1a4e('0x235d')](_0x146f6e)||_0x5a78bc(_0x2327c6)?_0x55ff7e:_0x2802a6(_0x55ff7e);if(_0x368e5a['isInJSFile'](_0x146f6e)){if(0x18000&_0x1adc17[_0x1a4e('0x7b2')])return _0x323398(_0x146f6e,_0x330555),_0x330555;if(_0x32e7bb(_0x1adc17))return _0x323398(_0x146f6e,_0x1a0acf),_0x1a0acf;}return _0x1adc17;}function _0x19c942(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){0x2===arguments[_0x1a4e('0x1e')]&&(_0x2327c6=_0x2ec237(_0x368e5a));var _0x1adc17=_0x4e94e8(_0x368e5a,_0x146f6e,_0x55ff7e);return _0x5a78bc(_0x368e5a)?_0x1adc17:_0x5cec0e(_0x1adc17,_0x2327c6);}function _0x2fbb1a(_0x368e5a,_0x146f6e){return 0x95===_0x368e5a[_0x1a4e('0x2cb')]['kind']&&_0x16c40(_0x368e5a[_0x1a4e('0x2cb')]),_0x19c942(_0x368e5a['initializer'],_0x146f6e);}function _0x54d43d(_0x368e5a,_0x146f6e){return _0x2205cb(_0x368e5a),0x95===_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&_0x16c40(_0x368e5a[_0x1a4e('0x2cb')]),_0x693988(_0x368e5a,_0x6b4aaf(_0x368e5a,_0x146f6e),_0x146f6e);}function _0x693988(_0x368e5a,_0x146f6e,_0x2327c6){if(0x2===_0x2327c6){var _0x55ff7e=_0x8dc831(_0x146f6e);if(_0x55ff7e&&_0x55ff7e[_0x1a4e('0x23d7')]){var _0x1adc17=_0x2d35d1(_0x368e5a);if(_0x1adc17){var _0xf79407=_0x8dc831(_0x2f423c(_0x1adc17));if(_0xf79407&&!_0xf79407[_0x1a4e('0x23d7')])return _0x4163af(_0x451876(_0x55ff7e,_0xf79407,_0x21d87e(_0x368e5a)));}}}return _0x146f6e;}function _0x1dceed(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x29a0')](_0x146f6e);if(0xbf!==_0x55ff7e[_0x1a4e('0x146b')]||0x62===_0x55ff7e['expression']['kind']||_0x368e5a[_0x1a4e('0x23ae')](_0x55ff7e,!0x0)||_0x5817a1(_0x55ff7e)){if(0xc2===_0x55ff7e['kind']||0xd4===_0x55ff7e[_0x1a4e('0x146b')])return _0x3fafb1(_0x55ff7e[_0x1a4e('0x40')]);}else{var _0x1adc17=_0x8dc831(_0x3dc62e(_0x55ff7e[_0x1a4e('0x2302')]));if(_0x1adc17&&!_0x1adc17[_0x1a4e('0x23d7')])return _0x4b6767(_0x1adc17);}return _0x2327c6?_0x31ebf4(_0x146f6e):_0x4e94e8(_0x146f6e);}function _0xe146a6(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);if(_0x146f6e[_0x1a4e('0x2ae0')])return _0x146f6e[_0x1a4e('0x2ae0')];var _0x2327c6=_0x368e5a['contextualType'];_0x368e5a[_0x1a4e('0x2a73')]=_0x330555;var _0x55ff7e=_0x146f6e['contextFreeType']=_0x4e94e8(_0x368e5a,0x1);return _0x368e5a[_0x1a4e('0x2a73')]=_0x2327c6,_0x55ff7e;}function _0x4e94e8(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407;return _0x16f189(_0xf79407=0x94===_0x146f6e[_0x1a4e('0x146b')]?_0x85a09(_0x146f6e):_0x693988(_0x146f6e,function(_0x146f6e,_0x2327c6,_0x55ff7e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x403942(_0x146f6e);case 0x64:return _0xd68abb(_0x146f6e);case 0x62:return _0x50c00c(_0x146f6e);case 0x60:return _0x143e15;case 0xe:case 0xa:return _0xa14567(_0x300979(_0x146f6e['text']));case 0x8:return _0x3e40df(_0x146f6e),_0xa14567(_0x300979(+_0x146f6e['text']));case 0x9:return function(_0x146f6e){if(!(_0x368e5a[_0x1a4e('0x22ff')](_0x146f6e[_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x2af1')](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x22ff')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]))&&_0x1b8154<0x6&&_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2af2')]));}(_0x146f6e),_0xa14567(function(_0x146f6e){return _0x300979({'negative':!0x1,'base10Value':_0x368e5a['parsePseudoBigInt'](_0x146f6e[_0x1a4e('0xe04')])});}(_0x146f6e));case 0x66:return _0x236fc7;case 0x57:return _0x4b250a;case 0xce:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x260e')],function(_0x146f6e){_0x1a74b9(_0x4e94e8(_0x146f6e['expression']),0x3000)&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2302')],_0x368e5a['Diagnostics'][_0x1a4e('0x2af3')]);}),_0x1d9562;}(_0x146f6e);case 0xd:return _0x2434d8;case 0xbb:return _0x5ab3cb(_0x146f6e,_0x2327c6,_0x55ff7e);case 0xbc:return _0x421f5a(_0x146f6e,_0x2327c6);case 0xbd:return _0x39d14a(_0x146f6e);case 0xbe:return _0x192745(_0x146f6e);case 0xbf:if(0x5c===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')])return _0x7ab384(_0x146f6e);case 0xc0:return _0x2bf251(_0x146f6e);case 0xc1:return function(_0x368e5a){return _0x4e7c30(_0x368e5a,_0x368e5a[_0x1a4e('0x2365')]),_0x1b8154<0x2&&_0x1145ed(_0x368e5a,0x10000),_0x4b6767(_0x14dd6c(_0x368e5a));}(_0x146f6e);case 0xc3:return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)?_0x368e5a[_0x1a4e('0x23bf')](_0x146f6e):void 0x0;return _0x55ff7e?_0x14bea9(_0x55ff7e,_0x55ff7e[_0x1a4e('0x2379')]['type'],_0x146f6e[_0x1a4e('0x2302')],_0x2327c6):_0x4e94e8(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6);}(_0x146f6e,_0x2327c6);case 0xd1:return function(_0x368e5a){return _0x1d5cdf(_0x368e5a),_0xd0e60c(_0x368e5a),_0x38797c(_0x54a27b(_0x368e5a));}(_0x146f6e);case 0xc4:case 0xc5:return _0x6b4aaf(_0x146f6e,_0x2327c6);case 0xc7:return function(_0x368e5a){return _0x4e94e8(_0x368e5a['expression']),_0x5e298a;}(_0x146f6e);case 0xc2:case 0xd4:return function(_0x368e5a){return _0x14bea9(_0x368e5a,_0x368e5a[_0x1a4e('0x40')],_0x368e5a[_0x1a4e('0x2302')]);}(_0x146f6e);case 0xd5:return function(_0x368e5a){return _0x2f423c(_0x4e94e8(_0x368e5a[_0x1a4e('0x2302')]));}(_0x146f6e);case 0xd6:return _0x590f59(_0x146f6e);case 0xc6:return function(_0x146f6e){_0x4e94e8(_0x146f6e[_0x1a4e('0x2302')]);var _0x2327c6=_0x368e5a[_0x1a4e('0x29a0')](_0x146f6e[_0x1a4e('0x2302')]);if(0xbd!==_0x2327c6['kind']&&0xbe!==_0x2327c6[_0x1a4e('0x146b')])return _0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2af4')]),_0x4b156c;var _0x55ff7e=_0x244de7(_0x165ecf(_0x2327c6)['resolvedSymbol']);return _0x55ff7e&&_0x5c5095(_0x55ff7e)&&_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2af5')]),_0x4b156c;}(_0x146f6e);case 0xc8:return function(_0x368e5a){return _0x4e94e8(_0x368e5a[_0x1a4e('0x2302')]),_0x4a2e68;}(_0x146f6e);case 0xc9:return function(_0x146f6e){return _0x1adc17&&(0x4000&_0x146f6e[_0x1a4e('0x7b2')]||_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2af6')]),_0x409b5c(_0x146f6e)&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2af7')])),_0x113d9b(_0x4e94e8(_0x146f6e['expression']),_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2af8')]);}(_0x146f6e);case 0xca:return function(_0x146f6e){var _0x2327c6=_0x4e94e8(_0x146f6e[_0x1a4e('0x1784')]);if(_0x2327c6===_0x396dd7)return _0x396dd7;switch(_0x146f6e[_0x1a4e('0x1784')][_0x1a4e('0x146b')]){case 0x8:switch(_0x146f6e['operator']){case 0x27:return _0xa14567(_0x300979(-_0x146f6e[_0x1a4e('0x1784')][_0x1a4e('0xe04')]));case 0x26:return _0xa14567(_0x300979(+_0x146f6e[_0x1a4e('0x1784')]['text']));}break;case 0x9:if(0x27===_0x146f6e[_0x1a4e('0x1474')])return _0xa14567(_0x300979({'negative':!0x0,'base10Value':_0x368e5a[_0x1a4e('0x22d9')](_0x146f6e[_0x1a4e('0x1784')][_0x1a4e('0xe04')])}));}switch(_0x146f6e[_0x1a4e('0x1474')]){case 0x26:case 0x27:case 0x35:return _0x3dcfe6(_0x2327c6,_0x146f6e[_0x1a4e('0x1784')]),_0x1a74b9(_0x2327c6,0x3000)&&_0x2cb4f4(_0x146f6e['operand'],_0x368e5a['Diagnostics']['The_0_operator_cannot_be_applied_to_type_symbol'],_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e[_0x1a4e('0x1474')])),0x26===_0x146f6e[_0x1a4e('0x1474')]?(_0x1a74b9(_0x2327c6,0x840)&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x1784')],_0x368e5a[_0x1a4e('0x167d')]['Operator_0_cannot_be_applied_to_type_1'],_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e[_0x1a4e('0x1474')]),_0x5ad709(_0x2327c6)),_0x4a492a):_0x183086(_0x2327c6);case 0x34:_0x5819cd(_0x146f6e[_0x1a4e('0x1784')]);var _0x55ff7e=0xc00000&_0x3ea85e(_0x2327c6);return 0x400000===_0x55ff7e?_0x4b250a:0x800000===_0x55ff7e?_0x236fc7:_0x4b156c;case 0x2c:case 0x2d:return _0x35a6ec(_0x146f6e[_0x1a4e('0x1784')],_0x3dcfe6(_0x2327c6,_0x146f6e[_0x1a4e('0x1784')]),_0x368e5a[_0x1a4e('0x167d')]['An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type'])&&_0x32f714(_0x146f6e[_0x1a4e('0x1784')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2af9')]),_0x183086(_0x2327c6);}return _0x336c2;}(_0x146f6e);case 0xcb:return function(_0x146f6e){var _0x2327c6=_0x4e94e8(_0x146f6e[_0x1a4e('0x1784')]);return _0x2327c6===_0x396dd7?_0x396dd7:(_0x35a6ec(_0x146f6e[_0x1a4e('0x1784')],_0x3dcfe6(_0x2327c6,_0x146f6e[_0x1a4e('0x1784')]),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2afa')])&&_0x32f714(_0x146f6e[_0x1a4e('0x1784')],_0x368e5a[_0x1a4e('0x167d')]['The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access']),_0x183086(_0x2327c6));}(_0x146f6e);case 0xcc:return _0x32b9fa(_0x146f6e,_0x2327c6);case 0xcd:return function(_0x368e5a,_0x146f6e){return _0x5819cd(_0x368e5a[_0x1a4e('0x236b')]),_0x2d74ef([_0x4e94e8(_0x368e5a[_0x1a4e('0x2602')],_0x146f6e),_0x4e94e8(_0x368e5a[_0x1a4e('0x2604')],_0x146f6e)],0x2);}(_0x146f6e,_0x2327c6);case 0xd0:return function(_0x368e5a,_0x146f6e){return _0x1b8154<0x2&&_0x239ab2[_0x1a4e('0x2744')]&&_0x1145ed(_0x368e5a,0x600),_0x625739(_0x4e94e8(_0x368e5a[_0x1a4e('0x2302')],_0x146f6e),_0x368e5a['expression'],!0x1,!0x1);}(_0x146f6e,_0x2327c6);case 0xd2:return _0x4a2e68;case 0xcf:return _0x513d26(_0x146f6e);case 0xd7:return _0x146f6e[_0x1a4e('0x40')];case 0x10e:return function(_0x146f6e,_0x2327c6){if(_0x146f6e[_0x1a4e('0x2302')]){var _0x55ff7e=_0x4e94e8(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6);return _0x146f6e[_0x1a4e('0x25f9')]&&_0x55ff7e!==_0x330555&&!_0x4ba777(_0x55ff7e)&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['JSX_spread_child_must_be_an_array_type']),_0x55ff7e;}return _0x336c2;}(_0x146f6e,_0x2327c6);case 0x104:case 0x105:return function(_0x368e5a,_0x146f6e){return _0xd0e60c(_0x368e5a),_0x3d3ca3(_0x368e5a)||_0x330555;}(_0x146f6e);case 0x108:return function(_0x146f6e){return _0x259b34(_0x146f6e['openingFragment']),0x2===_0x239ab2[_0x1a4e('0x294b')]&&(_0x239ab2['jsxFactory']||_0x368e5a[_0x1a4e('0x1674')](_0x146f6e)[_0x1a4e('0x2616')][_0x1a4e('0x178')](_0x1a4e('0x294b')))&&_0x2cb4f4(_0x146f6e,_0x239ab2[_0x1a4e('0x276d')]?_0x368e5a[_0x1a4e('0x167d')]['JSX_fragment_is_not_supported_when_using_jsxFactory']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2afb')]),_0x19534a(_0x146f6e),_0x3d3ca3(_0x146f6e)||_0x330555;}(_0x146f6e);case 0x10c:return _0x40fc2b(_0x146f6e,_0x2327c6);case 0x106:_0x368e5a[_0x1a4e('0x1749')]['fail']('Shouldn\x27t\x20ever\x20directly\x20check\x20a\x20JsxOpeningElement');}return _0x336c2;}(_0x146f6e,_0x2327c6,_0x55ff7e),_0x2327c6))&&(0xbd===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2302')]===_0x146f6e||0xbe===_0x146f6e[_0x1a4e('0x11c')]['kind']&&_0x146f6e[_0x1a4e('0x11c')]['expression']===_0x146f6e||(0x48===_0x146f6e['kind']||0x94===_0x146f6e[_0x1a4e('0x146b')])&&_0x1386af(_0x146f6e)||0xa7===_0x146f6e[_0x1a4e('0x11c')]['kind']&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x25fb')]===_0x146f6e||_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics']['const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query'])),_0xf79407;}function _0x20ea86(_0x146f6e){_0x146f6e[_0x1a4e('0x2302')]&&_0x1096e4(_0x146f6e[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x167d')]['Type_expected']),_0x2505ec(_0x146f6e[_0x1a4e('0x2364')]),_0x2505ec(_0x146f6e[_0x1a4e('0x8')]);var _0x2327c6=_0xcfe131(_0x54a27b(_0x146f6e));_0x154c05(_0x2327c6)||_0x2cb4f4(_0x368e5a[_0x1a4e('0x24e2')](_0x146f6e),_0x368e5a[_0x1a4e('0x167d')]['Type_parameter_0_has_a_circular_constraint'],_0x5ad709(_0x2327c6)),function(_0x368e5a){return _0x13c00b(_0x368e5a)!==_0x3bb72a;}(_0x2327c6)||_0x2cb4f4(_0x146f6e[_0x1a4e('0x8')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2afc')],_0x5ad709(_0x2327c6));var _0x55ff7e=_0x2a8efa(_0x2327c6),_0xf79407=_0x41f224(_0x2327c6);_0x55ff7e&&_0xf79407&&_0x36c7ec(_0xf79407,_0x98e900(_0x55ff7e,_0xf79407),_0x146f6e[_0x1a4e('0x8')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aa4')]),_0x1adc17&&_0x3ebb6b(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2afd')]);}function _0x4e727d(_0x146f6e){_0xbfc3a2(_0x146f6e),_0x148137(_0x146f6e);var _0x2327c6=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);_0x368e5a['hasModifier'](_0x146f6e,0x5c)&&(0x9d===_0x2327c6[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2328')](_0x2327c6[_0x1a4e('0x8f2')])||_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2afe')])),_0x146f6e[_0x1a4e('0x23ca')]&&_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])&&_0x2327c6[_0x1a4e('0x8f2')]&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aff')]),_0x146f6e[_0x1a4e('0x2cb')]&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])&&(_0x1a4e('0x19b5')===_0x146f6e['name'][_0x1a4e('0x22f3')]||_0x1a4e('0x22a5')===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')])&&(0x0!==_0x2327c6[_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0x146f6e)&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b00')],_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]),0x9d!==_0x2327c6[_0x1a4e('0x146b')]&&0xa1!==_0x2327c6[_0x1a4e('0x146b')]&&0xa6!==_0x2327c6[_0x1a4e('0x146b')]||_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2b01')]),0xc5===_0x2327c6[_0x1a4e('0x146b')]&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b02')])),!_0x146f6e[_0x1a4e('0x25f9')]||_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])||_0x720afc(_0x38797c(_0x146f6e[_0x1a4e('0xb1b')]),_0x1a0acf)||_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b03')]);}function _0x574dc3(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=0x0,_0xf79407=_0x146f6e[_0x1a4e('0x2398')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(!_0x368e5a[_0x1a4e('0x2506')](_0x2c9ec9)){var _0x420b32=_0x2c9ec9['name'];if(0x48===_0x420b32[_0x1a4e('0x146b')]&&_0x420b32[_0x1a4e('0x22f3')]===_0x55ff7e)return _0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b04')],_0x55ff7e),!0x0;if((0xb9===_0x420b32[_0x1a4e('0x146b')]||0xb8===_0x420b32[_0x1a4e('0x146b')])&&_0x574dc3(_0x420b32,_0x2327c6,_0x55ff7e))return!0x0;}}}function _0x4acf6f(_0x146f6e){0xa2===_0x146f6e[_0x1a4e('0x146b')]?function(_0x146f6e){_0xbfc3a2(_0x146f6e)||function(_0x146f6e){var _0x2327c6=_0x146f6e['parameters'][0x0];if(0x1!==_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x1e')])return _0x2d955f(_0x2327c6?_0x2327c6['name']:_0x146f6e,_0x368e5a['Diagnostics']['An_index_signature_must_have_exactly_one_parameter']);if(_0x2327c6[_0x1a4e('0x25f9')])return _0x2d955f(_0x2327c6[_0x1a4e('0x25f9')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b05')]);if(_0x368e5a[_0x1a4e('0x2664')](_0x2327c6))return _0x2d955f(_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')]['An_index_signature_parameter_cannot_have_an_accessibility_modifier']);if(_0x2327c6[_0x1a4e('0x23ca')])return _0x2d955f(_0x2327c6['questionToken'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b06')]);if(_0x2327c6[_0x1a4e('0x236a')])return _0x2d955f(_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b07')]);if(!_0x2327c6['type'])return _0x2d955f(_0x2327c6['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b08')]);if(0x8a!==_0x2327c6[_0x1a4e('0x40')][_0x1a4e('0x146b')]&&0x87!==_0x2327c6[_0x1a4e('0x40')][_0x1a4e('0x146b')]){var _0x55ff7e=_0x3fafb1(_0x2327c6[_0x1a4e('0x40')]);return 0x4&_0x55ff7e[_0x1a4e('0x7b2')]||0x8&_0x55ff7e['flags']?_0x2d955f(_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')]['An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead'],_0x368e5a[_0x1a4e('0x1675')](_0x2327c6[_0x1a4e('0x2cb')]),_0x5ad709(_0x55ff7e),_0x5ad709(_0x3fafb1(_0x146f6e['type']))):0x100000&_0x55ff7e['flags']&&_0x59e772(_0x55ff7e,0x80,!0x0)?_0x2d955f(_0x2327c6['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b09')]):_0x2d955f(_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b0a')]);}_0x146f6e[_0x1a4e('0x40')]||_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b0b')]);}(_0x146f6e);}(_0x146f6e):0xa5!==_0x146f6e[_0x1a4e('0x146b')]&&0xef!==_0x146f6e[_0x1a4e('0x146b')]&&0xa6!==_0x146f6e[_0x1a4e('0x146b')]&&0xa0!==_0x146f6e[_0x1a4e('0x146b')]&&0x9d!==_0x146f6e[_0x1a4e('0x146b')]&&0xa1!==_0x146f6e[_0x1a4e('0x146b')]||_0x3fa372(_0x146f6e);var _0x2327c6=_0x368e5a[_0x1a4e('0x2a74')](_0x146f6e);if(0x4&_0x2327c6||(0x3==(0x3&_0x2327c6)&&_0x1b8154<0x6&&_0x1145ed(_0x146f6e,0x1800),0x2==(0x3&_0x2327c6)&&_0x1b8154<0x4&&_0x1145ed(_0x146f6e,0x40),0x0!=(0x3&_0x2327c6)&&_0x1b8154<0x2&&_0x1145ed(_0x146f6e,0x80)),_0x236884(_0x146f6e[_0x1a4e('0x23d7')]),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e['parameters'],_0x4e727d),_0x146f6e[_0x1a4e('0x40')]&&_0x2505ec(_0x146f6e[_0x1a4e('0x40')]),_0x1adc17){!function(_0x146f6e){_0x1b8154>=0x2||_0x239ab2[_0x1a4e('0x2740')]||!_0x368e5a['hasRestParameter'](_0x146f6e)||0x400000&_0x146f6e[_0x1a4e('0x7b2')]||_0x368e5a[_0x1a4e('0x2327')](_0x146f6e[_0x1a4e('0x8f2')])||_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x111a')],function(_0x146f6e){_0x146f6e[_0x1a4e('0x2cb')]&&!_0x368e5a['isBindingPattern'](_0x146f6e[_0x1a4e('0x2cb')])&&_0x146f6e['name'][_0x1a4e('0x22f3')]===_0x3a2418[_0x1a4e('0x22e8')]&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b0c')]);});}(_0x146f6e);var _0x55ff7e=_0x368e5a['getEffectiveReturnTypeNode'](_0x146f6e);if(_0x59c9de&&!_0x55ff7e)switch(_0x146f6e['kind']){case 0xa1:_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b0d')]);break;case 0xa0:_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2b0e')]);}if(_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x2a74')](_0x146f6e);if(0x1==(0x5&_0xf79407)){var _0x2c9ec9=_0x3fafb1(_0x55ff7e);if(_0x2c9ec9===_0x56da3c)_0x2cb4f4(_0x55ff7e,_0x368e5a['Diagnostics'][_0x1a4e('0x2b0f')]);else{var _0x420b32=_0x830334(_0x2c9ec9,0x0!=(0x2&_0xf79407))||_0x330555;_0x36c7ec(0x2&_0xf79407?_0x3f5c38(_0x420b32):_0x3e0a87(_0x420b32),_0x2c9ec9,_0x55ff7e);}}else 0x2==(0x3&_0xf79407)&&function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x3fafb1(_0x2327c6);if(_0x1b8154>=0x2){if(_0x1adc17===_0x336c2)return;var _0xf79407=_0x325ce0(!0x0);if(_0xf79407!==_0x102117&&!_0x460f17(_0x1adc17,_0xf79407))return void _0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type']);}else{if(function(_0x146f6e){_0x10a2a1(_0x146f6e&&_0x368e5a[_0x1a4e('0x23a1')](_0x146f6e));}(_0x2327c6),_0x1adc17===_0x336c2)return;var _0x2c9ec9=_0x368e5a[_0x1a4e('0x23a1')](_0x2327c6);if(void 0x0===_0x2c9ec9)return void _0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics']['Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value'],_0x5ad709(_0x1adc17));var _0x420b32=_0x151d70(_0x2c9ec9,0x401b3bf,!0x0),_0x1b06ad=_0x420b32?_0x38797c(_0x420b32):_0x336c2;if(_0x1b06ad===_0x336c2)return void(0x48===_0x2c9ec9['kind']&&_0x1a4e('0xf55')===_0x2c9ec9[_0x1a4e('0x22f3')]&&_0xa3bb51(_0x1adc17)===_0x325ce0(!0x1)?_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2ad7')]):_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b10')],_0x368e5a[_0x1a4e('0x2352')](_0x2c9ec9)));var _0x326eae=(_0x55ff7e=!0x0,_0x3ab5cc||(_0x3ab5cc=_0xb6c367(_0x1a4e('0x2b11'),0x0,_0x55ff7e))||_0x126d3e);if(_0x326eae===_0x126d3e)return void _0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2b10')],_0x368e5a['entityNameToString'](_0x2c9ec9));if(!_0x36c7ec(_0x1b06ad,_0x326eae,_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b10')]))return;var _0x56674b=_0x2c9ec9&&_0x5d499f(_0x2c9ec9),_0x415952=_0x5d1705(_0x146f6e[_0x1a4e('0x283c')],_0x56674b['escapedText'],0x401b3bf);if(_0x415952)return void _0x2cb4f4(_0x415952[_0x1a4e('0x2340')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b12')],_0x368e5a['idText'](_0x56674b),_0x368e5a[_0x1a4e('0x2352')](_0x2c9ec9));}_0x113d9b(_0x1adc17,_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ad8')]);}(_0x146f6e,_0x55ff7e);}0xa2!==_0x146f6e[_0x1a4e('0x146b')]&&0x121!==_0x146f6e[_0x1a4e('0x146b')]&&_0x40a6cb(_0x146f6e);}}function _0x5a257c(_0x146f6e){for(var _0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2369')];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0x99===_0xf79407[_0x1a4e('0x146b')]){var _0x2c9ec9=void 0x0,_0x420b32=_0xf79407['name'];switch(_0x420b32[_0x1a4e('0x146b')]){case 0xa:case 0x8:_0x2c9ec9=_0x420b32[_0x1a4e('0xe04')];break;case 0x48:_0x2c9ec9=_0x368e5a[_0x1a4e('0x2353')](_0x420b32);break;default:continue;}_0x2327c6[_0x1a4e('0x179')](_0x2c9ec9)?(_0x2cb4f4(_0x368e5a[_0x1a4e('0x23e9')](_0xf79407[_0x1a4e('0xb1b')][_0x1a4e('0x2340')]),_0x368e5a[_0x1a4e('0x167d')]['Duplicate_identifier_0'],_0x2c9ec9),_0x2cb4f4(_0xf79407[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2848')],_0x2c9ec9)):_0x2327c6[_0x1a4e('0x17a')](_0x2c9ec9,!0x0);}}}function _0x250ef3(_0x146f6e){if(0xf1===_0x146f6e[_0x1a4e('0x146b')]){var _0x2327c6=_0x54a27b(_0x146f6e);if(_0x2327c6[_0x1a4e('0x22e5')][_0x1a4e('0x1e')]>0x0&&_0x2327c6[_0x1a4e('0x22e5')][0x0]!==_0x146f6e)return;}var _0x55ff7e=_0xb91f02(_0x54a27b(_0x146f6e));if(_0x55ff7e)for(var _0x1adc17=!0x1,_0xf79407=!0x1,_0x2c9ec9=0x0,_0x420b32=_0x55ff7e[_0x1a4e('0x22e5')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];if(0x1===_0x1b06ad[_0x1a4e('0x111a')][_0x1a4e('0x1e')]&&_0x1b06ad['parameters'][0x0][_0x1a4e('0x40')])switch(_0x1b06ad[_0x1a4e('0x111a')][0x0]['type']['kind']){case 0x8a:_0xf79407?_0x2cb4f4(_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b13')]):_0xf79407=!0x0;break;case 0x87:_0x1adc17?_0x2cb4f4(_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b14')]):_0x1adc17=!0x0;}}}function _0xda6580(_0x146f6e){_0xbfc3a2(_0x146f6e)||function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2367')](_0x146f6e[_0x1a4e('0x11c')])){if(_0x554f76(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2b15')]))return!0x0;}else if(0xf1===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){if(_0x554f76(_0x146f6e['name'],_0x368e5a['Diagnostics'][_0x1a4e('0x2b16')]))return!0x0;if(_0x146f6e['initializer'])return _0x2d955f(_0x146f6e[_0x1a4e('0x236a')],_0x368e5a[_0x1a4e('0x167d')]['An_interface_property_cannot_have_an_initializer']);}else if(0xa8===_0x146f6e[_0x1a4e('0x11c')]['kind']){if(_0x554f76(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2b17')]))return!0x0;if(_0x146f6e[_0x1a4e('0x236a')])return _0x2d955f(_0x146f6e[_0x1a4e('0x236a')],_0x368e5a['Diagnostics']['A_type_literal_property_cannot_have_an_initializer']);}if(0x400000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x2f79c4(_0x146f6e),_0x368e5a[_0x1a4e('0x24ec')](_0x146f6e)&&_0x146f6e['exclamationToken']&&(!_0x368e5a[_0x1a4e('0x2367')](_0x146f6e[_0x1a4e('0x11c')])||!_0x146f6e['type']||_0x146f6e['initializer']||0x400000&_0x146f6e[_0x1a4e('0x7b2')]||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0xa0)))return _0x2d955f(_0x146f6e[_0x1a4e('0x25f7')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b18')]);}(_0x146f6e)||_0x5774af(_0x146f6e['name']),_0x148137(_0x146f6e);}function _0x2e8780(_0x146f6e){_0x4acf6f(_0x146f6e),function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2454')](_0x146f6e):void 0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x23d7')]||_0x2327c6&&_0x368e5a['firstOrUndefined'](_0x2327c6);if(_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0xa4')]===_0x55ff7e[_0x1a4e('0xca')]?_0x55ff7e['pos']:_0x368e5a[_0x1a4e('0x22c6')](_0x368e5a[_0x1a4e('0x1674')](_0x146f6e)[_0x1a4e('0xe04')],_0x55ff7e['pos']);return _0x52940f(_0x146f6e,_0x1adc17,_0x55ff7e[_0x1a4e('0xca')]-_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b19')]);}}(_0x146f6e)||function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x29b7')](_0x146f6e);_0x2327c6&&_0x2d955f(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b1a')]);}(_0x146f6e),_0x2505ec(_0x146f6e[_0x1a4e('0x8f2')]);var _0x2327c6=_0x54a27b(_0x146f6e);if(_0x146f6e===_0x368e5a[_0x1a4e('0x28c9')](_0x2327c6,_0x146f6e[_0x1a4e('0x146b')])&&_0x1a84e2(_0x2327c6),!_0x368e5a[_0x1a4e('0x2327')](_0x146f6e[_0x1a4e('0x8f2')])&&_0x1adc17){var _0x55ff7e=_0x146f6e[_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x1679')](_0x55ff7e)){_0x2394d9(_0x146f6e[_0x1a4e('0x11c')],_0x55ff7e);var _0xf79407=_0x4cf70b(_0x55ff7e),_0x2c9ec9=_0xaabd4e(_0x146f6e);if(_0x2c9ec9){if(_0xf79407&&_0x2cb4f4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b1b')]),_0x368e5a['some'](_0x146f6e['parent'][_0x1a4e('0x2369')],function(_0x146f6e){return 0x9a===_0x146f6e[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20)&&!!_0x146f6e['initializer'];})||_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x111a')],function(_0x146f6e){return _0x368e5a['hasModifier'](_0x146f6e,0x5c);})){for(var _0x420b32=void 0x0,_0x1b06ad=0x0,_0x326eae=_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x2366')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];if(0xdd===_0x56674b[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2361')](_0x56674b['expression'])){_0x420b32=_0x56674b;break;}if(!_0x368e5a[_0x1a4e('0x2877')](_0x56674b))break;}_0x420b32||_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2b1c')]);}}else _0xf79407||_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b1d')]);}}}function _0x380d8a(_0x146f6e){if(_0x1adc17){if(_0x3fa372(_0x146f6e)||function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x146b')];if(_0x1b8154<0x1)return _0x2d955f(_0x146f6e['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b1e')]);if(0x400000&_0x146f6e[_0x1a4e('0x7b2')])return _0x2d955f(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b1f')]);if(void 0x0===_0x146f6e[_0x1a4e('0x8f2')]&&!_0x368e5a['hasModifier'](_0x146f6e,0x80))return _0x52940f(_0x146f6e,_0x146f6e[_0x1a4e('0xca')]-0x1,';'[_0x1a4e('0x1e')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2644')],'{');if(_0x146f6e['body']&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x80))return _0x2d955f(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2b20')]);if(_0x146f6e['typeParameters'])return _0x2d955f(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2b21')]);if(!function(_0x368e5a){return _0x4742e0(_0x368e5a)||_0x368e5a[_0x1a4e('0x111a')]['length']===(0x9e===_0x368e5a[_0x1a4e('0x146b')]?0x0:0x1);}(_0x146f6e))return _0x2d955f(_0x146f6e[_0x1a4e('0x2cb')],0x9e===_0x2327c6?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b22')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b23')]);if(0x9f===_0x2327c6){if(_0x146f6e['type'])return _0x2d955f(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2b24')]);var _0x55ff7e=_0x146f6e[_0x1a4e('0x111a')][0x0];if(_0x55ff7e[_0x1a4e('0x25f9')])return _0x2d955f(_0x55ff7e['dotDotDotToken'],_0x368e5a['Diagnostics'][_0x1a4e('0x2b25')]);if(_0x55ff7e['questionToken'])return _0x2d955f(_0x55ff7e[_0x1a4e('0x23ca')],_0x368e5a[_0x1a4e('0x167d')]['A_set_accessor_cannot_have_an_optional_parameter']);if(_0x55ff7e[_0x1a4e('0x236a')])return _0x2d955f(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics']['A_set_accessor_parameter_cannot_have_an_initializer']);}return!0x1;}(_0x146f6e)||_0x5774af(_0x146f6e['name']),_0x234c22(_0x146f6e),_0x4acf6f(_0x146f6e),0x9e===_0x146f6e[_0x1a4e('0x146b')]&&!(0x400000&_0x146f6e[_0x1a4e('0x7b2')])&&_0x368e5a[_0x1a4e('0x2328')](_0x146f6e['body'])&&0x80&_0x146f6e[_0x1a4e('0x7b2')]&&(0x100&_0x146f6e[_0x1a4e('0x7b2')]||_0x2cb4f4(_0x146f6e['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b26')])),0x95===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&_0x16c40(_0x146f6e[_0x1a4e('0x2cb')]),!_0x45371c(_0x146f6e)){var _0x2327c6=0x9e===_0x146f6e[_0x1a4e('0x146b')]?0x9f:0x9e,_0x55ff7e=_0x368e5a[_0x1a4e('0x28c9')](_0x54a27b(_0x146f6e),_0x2327c6);if(_0x55ff7e){var _0xf79407=_0x368e5a['getModifierFlags'](_0x146f6e),_0x2c9ec9=_0x368e5a[_0x1a4e('0x245c')](_0x55ff7e);(0x1c&_0xf79407)!=(0x1c&_0x2c9ec9)&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2b27')]),(0x80&_0xf79407)!=(0x80&_0x2c9ec9)&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2b28')]),_0x52c438(_0x146f6e,_0x55ff7e,_0x477ae3,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b29')]),_0x52c438(_0x146f6e,_0x55ff7e,_0x4d95cb,_0x368e5a[_0x1a4e('0x167d')]['get_and_set_accessor_must_have_the_same_this_type']);}}var _0x420b32=_0x39bdf9(_0x54a27b(_0x146f6e));0x9e===_0x146f6e[_0x1a4e('0x146b')]&&_0x5da4f5(_0x146f6e,_0x420b32);}_0x2505ec(_0x146f6e[_0x1a4e('0x8f2')]);}function _0x52c438(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6(_0x368e5a),_0xf79407=_0x2327c6(_0x146f6e);_0x1adc17&&_0xf79407&&!_0x2ccc16(_0x1adc17,_0xf79407)&&_0x2cb4f4(_0x368e5a,_0x55ff7e);}function _0x3d7c9f(_0x146f6e,_0x2327c6){return _0x2378c5(_0x368e5a['map'](_0x146f6e[_0x1a4e('0x2365')],_0x3fafb1),_0x2327c6,_0x4d15f3(_0x2327c6),_0x368e5a['isInJSFile'](_0x146f6e));}function _0x468401(_0x146f6e,_0x2327c6){for(var _0x55ff7e,_0x1adc17,_0xf79407=!0x0,_0x2c9ec9=0x0;_0x2c9ec9<_0x2327c6[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x420b32=_0x2a8efa(_0x2327c6[_0x2c9ec9]);_0x420b32&&(_0x55ff7e||(_0x1adc17=_0xa0d6d8(_0x2327c6,_0x55ff7e=_0x3d7c9f(_0x146f6e,_0x2327c6))),_0xf79407=_0xf79407&&_0x36c7ec(_0x55ff7e[_0x2c9ec9],_0x1e1445(_0x420b32,_0x1adc17),_0x146f6e[_0x1a4e('0x2365')][_0x2c9ec9],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aa4')]));}return _0xf79407;}function _0x34cc32(_0x146f6e){var _0x2327c6=_0x2b9148(_0x146f6e);if(_0x2327c6!==_0x336c2){var _0x55ff7e=_0x165ecf(_0x146f6e)[_0x1a4e('0x296c')];if(_0x55ff7e)return 0x80000&_0x55ff7e['flags']&&_0xdba731(_0x55ff7e)[_0x1a4e('0x23d7')]||(0x4&_0x368e5a['getObjectFlags'](_0x2327c6)?_0x2327c6[_0x1a4e('0xd95')][_0x1a4e('0x29c8')]:void 0x0);}}function _0x10a438(_0x146f6e){_0x4e7c30(_0x146f6e,_0x146f6e[_0x1a4e('0x2365')]),0xa4!==_0x146f6e['kind']||void 0x0===_0x146f6e['typeName'][_0x1a4e('0x265e')]||_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)||_0x368e5a['isInJSDoc'](_0x146f6e)||_0x52940f(_0x146f6e,_0x146f6e['typeName'][_0x1a4e('0x265e')],0x1,_0x368e5a['Diagnostics']['JSDoc_types_can_only_be_used_inside_documentation_comments']);var _0x2327c6=_0x2b9148(_0x146f6e);if(_0x2327c6!==_0x336c2){if(_0x146f6e[_0x1a4e('0x2365')]&&(_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2365')],_0x2505ec),_0x1adc17)){var _0x55ff7e=_0x34cc32(_0x146f6e);_0x55ff7e&&_0x468401(_0x146f6e,_0x55ff7e);}0x20&_0x2327c6[_0x1a4e('0x7b2')]&&0x8&_0x165ecf(_0x146f6e)['resolvedSymbol']['flags']&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b2a')],_0x5ad709(_0x2327c6));}}function _0x1bef62(_0x146f6e,_0x2327c6){if(!(0x800000&_0x146f6e[_0x1a4e('0x7b2')]))return _0x146f6e;var _0x55ff7e=_0x146f6e[_0x1a4e('0x2601')],_0x1adc17=_0x146f6e[_0x1a4e('0x2669')];return _0x720afc(_0x1adc17,_0x332557(_0x55ff7e,!0x1))?(0xbe===_0x2327c6['kind']&&_0x368e5a['isAssignmentTarget'](_0x2327c6)&&0x20&_0x368e5a['getObjectFlags'](_0x55ff7e)&&0x1&_0x118009(_0x55ff7e)&&_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2a9d')],_0x5ad709(_0x55ff7e)),_0x146f6e):_0x5c197b(_0x26521d(_0x55ff7e),0x1)&&_0xc28455(_0x1adc17,0x128)?_0x146f6e:(_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['Type_0_cannot_be_used_to_index_type_1'],_0x5ad709(_0x1adc17),_0x5ad709(_0x55ff7e)),_0x146f6e);}function _0x21b628(_0x146f6e){!function(_0x146f6e){if(0x8e===_0x146f6e[_0x1a4e('0x1474')]){if(0x8b!==_0x146f6e['type'][_0x1a4e('0x146b')])return _0x2d955f(_0x146f6e[_0x1a4e('0x40')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2644')],_0x368e5a[_0x1a4e('0x22ba')](0x8b));var _0x2327c6=_0x368e5a[_0x1a4e('0x23e4')](_0x146f6e['parent']);switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xed:var _0x55ff7e=_0x2327c6;if(0x48!==_0x55ff7e[_0x1a4e('0x2cb')]['kind'])return _0x2d955f(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2b2b')]);if(!_0x368e5a[_0x1a4e('0x238b')](_0x55ff7e))return _0x2d955f(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2b2c')]);if(!(0x2&_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x7b2')]))return _0x2d955f(_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b2d')]);break;case 0x9a:if(!_0x368e5a['hasModifier'](_0x2327c6,0x20)||!_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x40))return _0x2d955f(_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')]['A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly']);break;case 0x99:if(!_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x40))return _0x2d955f(_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b2e')]);break;default:_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b2f')]);}}}(_0x146f6e),_0x2505ec(_0x146f6e['type']);}function _0x96ee2(_0x146f6e){return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8)&&!!(0x400000&_0x146f6e['flags']);}function _0x417f0e(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x235c')](_0x146f6e);return 0xf1!==_0x146f6e['parent'][_0x1a4e('0x146b')]&&0xf0!==_0x146f6e['parent'][_0x1a4e('0x146b')]&&0xd1!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&0x400000&_0x146f6e[_0x1a4e('0x7b2')]&&(0x2&_0x55ff7e||_0x368e5a[_0x1a4e('0x251e')](_0x146f6e['parent'])&&_0x368e5a['isModuleDeclaration'](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x2343')](_0x146f6e['parent'][_0x1a4e('0x11c')])||(_0x55ff7e|=0x1),_0x55ff7e|=0x2),_0x55ff7e&_0x2327c6;}function _0x1a84e2(_0x146f6e){if(_0x1adc17){for(var _0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9=0x0,_0x420b32=0x9b,_0x1b06ad=!0x1,_0x326eae=!0x0,_0x56674b=!0x1,_0x415952=_0x146f6e[_0x1a4e('0x22e5')],_0x46923a=0x0!=(0x4000&_0x146f6e['flags']),_0x88bf03=!0x1,_0x434714=!0x1,_0x57b692=0x0,_0x1ad11f=_0x415952;_0x57b692<_0x1ad11f[_0x1a4e('0x1e')];_0x57b692++){var _0x35bd0a=_0x1ad11f[_0x57b692],_0x36aa2e=0x400000&_0x35bd0a[_0x1a4e('0x7b2')],_0x30b3ec=0xf1===_0x35bd0a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0xa8===_0x35bd0a[_0x1a4e('0x11c')]['kind']||_0x36aa2e;if(_0x30b3ec&&(_0xf79407=void 0x0),0xef===_0x35bd0a[_0x1a4e('0x146b')]||0x9c===_0x35bd0a['kind']||0x9b===_0x35bd0a[_0x1a4e('0x146b')]||0x9d===_0x35bd0a[_0x1a4e('0x146b')]){var _0x1b487e=_0x417f0e(_0x35bd0a,0x9b);_0x2c9ec9|=_0x1b487e,_0x420b32&=_0x1b487e,_0x1b06ad=_0x1b06ad||_0x368e5a[_0x1a4e('0x23c9')](_0x35bd0a),_0x326eae=_0x326eae&&_0x368e5a[_0x1a4e('0x23c9')](_0x35bd0a),_0x368e5a[_0x1a4e('0x2328')](_0x35bd0a[_0x1a4e('0x8f2')])&&_0x2327c6?_0x46923a?_0x434714=!0x0:_0x88bf03=!0x0:_0xf79407&&_0xf79407[_0x1a4e('0x11c')]===_0x35bd0a[_0x1a4e('0x11c')]&&_0xf79407[_0x1a4e('0xca')]!==_0x35bd0a[_0x1a4e('0xa4')]&&_0x5934d9(_0xf79407),_0x368e5a['nodeIsPresent'](_0x35bd0a[_0x1a4e('0x8f2')])?_0x2327c6||(_0x2327c6=_0x35bd0a):_0x56674b=!0x0,_0xf79407=_0x35bd0a,_0x30b3ec||(_0x55ff7e=_0x35bd0a);}}if(_0x434714&&_0x368e5a[_0x1a4e('0x3b')](_0x415952,function(_0x146f6e){_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b30')]);}),_0x88bf03&&_0x368e5a[_0x1a4e('0x3b')](_0x415952,function(_0x146f6e){_0x2cb4f4(_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b31')]);}),!_0x55ff7e||_0x55ff7e[_0x1a4e('0x8f2')]||_0x368e5a[_0x1a4e('0x24c6')](_0x55ff7e,0x80)||_0x55ff7e[_0x1a4e('0x23ca')]||_0x5934d9(_0x55ff7e),_0x56674b&&(function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(0x0!=(_0x1adc17^_0xf79407)){var _0x2c9ec9=_0x417f0e(_0x362306(_0x146f6e,_0x2327c6),_0x55ff7e);_0x368e5a['forEach'](_0x146f6e,function(_0x146f6e){var _0x2327c6=_0x417f0e(_0x146f6e,_0x55ff7e)^_0x2c9ec9;0x1&_0x2327c6?_0x2cb4f4(_0x368e5a['getNameOfDeclaration'](_0x146f6e),_0x368e5a['Diagnostics'][_0x1a4e('0x2b32')]):0x2&_0x2327c6?_0x2cb4f4(_0x368e5a['getNameOfDeclaration'](_0x146f6e),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b33')]):0x18&_0x2327c6?_0x2cb4f4(_0x368e5a['getNameOfDeclaration'](_0x146f6e)||_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b34')]):0x80&_0x2327c6&&_0x2cb4f4(_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e),_0x368e5a['Diagnostics'][_0x1a4e('0x2b35')]);});}}(_0x415952,_0x2327c6,0x9b,_0x2c9ec9,_0x420b32),function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x55ff7e!==_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x23c9')](_0x362306(_0x146f6e,_0x2327c6));_0x368e5a[_0x1a4e('0x3b')](_0x146f6e,function(_0x146f6e){_0x368e5a[_0x1a4e('0x23c9')](_0x146f6e)!==_0xf79407&&_0x2cb4f4(_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b36')]);});}}(_0x415952,_0x2327c6,_0x1b06ad,_0x326eae),_0x2327c6))for(var _0x3d8f5d=_0x5859c7(_0x146f6e),_0x15a30a=_0x38523e(_0x2327c6),_0x1369b6=0x0,_0x7151b1=_0x3d8f5d;_0x1369b6<_0x7151b1[_0x1a4e('0x1e')];_0x1369b6++){var _0x188821=_0x7151b1[_0x1369b6];if(!_0x1ffb8b(_0x15a30a,_0x188821)){_0x2cb4f4(_0x188821[_0x1a4e('0x2350')],_0x368e5a[_0x1a4e('0x167d')]['Overload_signature_is_not_compatible_with_function_implementation']);break;}}}function _0x362306(_0x368e5a,_0x146f6e){return void 0x0!==_0x146f6e&&_0x146f6e[_0x1a4e('0x11c')]===_0x368e5a[0x0]['parent']?_0x146f6e:_0x368e5a[0x0];}function _0x5934d9(_0x146f6e){if(!_0x146f6e['name']||!_0x368e5a[_0x1a4e('0x2327')](_0x146f6e[_0x1a4e('0x2cb')])){var _0x2327c6=!0x1,_0x55ff7e=_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e[_0x1a4e('0x11c')],function(_0x368e5a){if(_0x2327c6)return _0x368e5a;_0x2327c6=_0x368e5a===_0x146f6e;});if(_0x55ff7e&&_0x55ff7e['pos']===_0x146f6e[_0x1a4e('0xca')]&&_0x55ff7e[_0x1a4e('0x146b')]===_0x146f6e['kind']){var _0x1adc17=_0x55ff7e['name']||_0x55ff7e,_0xf79407=_0x55ff7e[_0x1a4e('0x2cb')];if(_0x146f6e[_0x1a4e('0x2cb')]&&_0xf79407&&(_0x368e5a[_0x1a4e('0x23e8')](_0x146f6e[_0x1a4e('0x2cb')])&&_0x368e5a[_0x1a4e('0x23e8')](_0xf79407)||!_0x368e5a[_0x1a4e('0x23e8')](_0x146f6e[_0x1a4e('0x2cb')])&&!_0x368e5a[_0x1a4e('0x23e8')](_0xf79407)&&_0x368e5a[_0x1a4e('0x2840')](_0x146f6e[_0x1a4e('0x2cb')])===_0x368e5a[_0x1a4e('0x2840')](_0xf79407)))return void(0x9c!==_0x146f6e[_0x1a4e('0x146b')]&&0x9b!==_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a['hasModifier'](_0x146f6e,0x20)===_0x368e5a[_0x1a4e('0x24c6')](_0x55ff7e,0x20)||_0x2cb4f4(_0x1adc17,_0x368e5a['hasModifier'](_0x146f6e,0x20)?_0x368e5a['Diagnostics']['Function_overload_must_be_static']:_0x368e5a['Diagnostics'][_0x1a4e('0x2b37')]));if(_0x368e5a[_0x1a4e('0x2328')](_0x55ff7e[_0x1a4e('0x8f2')]))return void _0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')]['Function_implementation_name_must_be_0'],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e[_0x1a4e('0x2cb')]));}var _0x2c9ec9=_0x146f6e['name']||_0x146f6e;_0x46923a?_0x2cb4f4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')]['Constructor_implementation_is_missing']):_0x368e5a['hasModifier'](_0x146f6e,0x80)?_0x2cb4f4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b38')]):_0x2cb4f4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b39')]);}}}function _0x503d7c(_0x146f6e){if(_0x1adc17){var _0x2327c6=_0x146f6e[_0x1a4e('0x2469')];if((_0x2327c6||(_0x2327c6=_0x54a27b(_0x146f6e))['exportSymbol'])&&_0x368e5a[_0x1a4e('0x28c9')](_0x2327c6,_0x146f6e[_0x1a4e('0x146b')])===_0x146f6e){for(var _0x55ff7e=0x0,_0xf79407=0x0,_0x2c9ec9=0x0,_0x420b32=0x0,_0x1b06ad=_0x2327c6[_0x1a4e('0x22e5')];_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x35bd0a(_0x57b692=_0x1b06ad[_0x420b32]),_0x56674b=_0x417f0e(_0x57b692,0x201);0x1&_0x56674b?0x200&_0x56674b?_0x2c9ec9|=_0x326eae:_0x55ff7e|=_0x326eae:_0xf79407|=_0x326eae;}var _0x415952=_0x55ff7e&_0xf79407,_0x46923a=_0x2c9ec9&(_0x55ff7e|_0xf79407);if(_0x415952||_0x46923a)for(var _0x88bf03=0x0,_0x434714=_0x2327c6[_0x1a4e('0x22e5')];_0x88bf03<_0x434714[_0x1a4e('0x1e')];_0x88bf03++){_0x326eae=_0x35bd0a(_0x57b692=_0x434714[_0x88bf03]);var _0x57b692,_0x1ad11f=_0x368e5a['getNameOfDeclaration'](_0x57b692);_0x326eae&_0x46923a?_0x2cb4f4(_0x1ad11f,_0x368e5a['Diagnostics']['Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead'],_0x368e5a[_0x1a4e('0x1676')](_0x1ad11f)):_0x326eae&_0x415952&&_0x2cb4f4(_0x1ad11f,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b3a')],_0x368e5a[_0x1a4e('0x1676')](_0x1ad11f));}}}function _0x35bd0a(_0x146f6e){var _0x2327c6=_0x146f6e;switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xf1:case 0xf2:case 0x130:case 0x129:return 0x2;case 0xf4:return _0x368e5a[_0x1a4e('0x233c')](_0x2327c6)||0x0!==_0x368e5a[_0x1a4e('0x2831')](_0x2327c6)?0x5:0x4;case 0xf0:case 0xf3:return 0x3;case 0x117:return 0x7;case 0xfe:if(!_0x368e5a[_0x1a4e('0x2463')](_0x2327c6[_0x1a4e('0x2302')]))return 0x1;_0x2327c6=_0x2327c6[_0x1a4e('0x2302')];case 0xf8:case 0xfb:case 0xfa:var _0x55ff7e=0x0,_0x1adc17=_0x4f0953(_0x54a27b(_0x2327c6));return _0x368e5a[_0x1a4e('0x3b')](_0x1adc17[_0x1a4e('0x22e5')],function(_0x368e5a){_0x55ff7e|=_0x35bd0a(_0x368e5a);}),_0x55ff7e;case 0xed:case 0xba:case 0xef:case 0xfd:return 0x1;default:return _0x368e5a[_0x1a4e('0x1749')]['fail'](_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x23c2')](_0x2327c6));}}}function _0x350808(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x32570e(_0x368e5a,_0x146f6e);return _0x55ff7e&&_0x31547b(_0x55ff7e,_0x146f6e,_0x2327c6);}function _0x32570e(_0x146f6e,_0x2327c6){if(!_0x4e7589(_0x146f6e)){var _0x55ff7e=_0x146f6e;if(_0x55ff7e[_0x1a4e('0x2b3b')])return _0x55ff7e[_0x1a4e('0x2b3b')];if(_0x460f17(_0x146f6e,_0x325ce0(!0x1)))return _0x55ff7e[_0x1a4e('0x2b3b')]=_0x146f6e['typeArguments'][0x0];var _0x1adc17=_0x2032e1(_0x146f6e,'then');if(!_0x4e7589(_0x1adc17)){var _0xf79407=_0x1adc17?_0x7bcdc7(_0x1adc17,0x0):_0x368e5a[_0x1a4e('0x1700')];if(0x0!==_0xf79407['length']){var _0x2c9ec9=_0x2c784a(_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0xf79407,_0x272808)),0x200000);if(!_0x4e7589(_0x2c9ec9)){var _0x420b32=_0x7bcdc7(_0x2c9ec9,0x0);if(0x0!==_0x420b32[_0x1a4e('0x1e')])return _0x55ff7e[_0x1a4e('0x2b3b')]=_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x420b32,_0x272808),0x2);_0x2327c6&&_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback']);}}else _0x2327c6&&_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b3c')]);}}}function _0x113d9b(_0x368e5a,_0x146f6e,_0x2327c6){return _0x31547b(_0x368e5a,_0x146f6e,_0x2327c6)||_0x336c2;}function _0x31547b(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e;if(_0x1adc17[_0x1a4e('0x2b3d')])return _0x1adc17[_0x1a4e('0x2b3d')];if(_0x4e7589(_0x146f6e))return _0x1adc17[_0x1a4e('0x2b3d')]=_0x146f6e;if(0x100000&_0x146f6e[_0x1a4e('0x7b2')]){for(var _0xf79407=void 0x0,_0x2c9ec9=0x0,_0x420b32=_0x146f6e[_0x1a4e('0x2380')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0xf79407=_0x368e5a[_0x1a4e('0x252')](_0xf79407,_0x31547b(_0x1b06ad,_0x2327c6,_0x55ff7e));}if(!_0xf79407)return;return _0x1adc17[_0x1a4e('0x2b3d')]=_0x2d74ef(_0xf79407);}var _0x326eae=_0x32570e(_0x146f6e);if(_0x326eae){if(_0x146f6e['id']===_0x326eae['id']||_0x14ce5b['indexOf'](_0x326eae['id'])>=0x0)return void(_0x2327c6&&_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2b3e')]));_0x14ce5b[_0x1a4e('0x46')](_0x146f6e['id']);var _0x56674b=_0x31547b(_0x326eae,_0x2327c6,_0x55ff7e);if(_0x14ce5b[_0x1a4e('0x76')](),!_0x56674b)return;return _0x1adc17['awaitedTypeOfType']=_0x56674b;}var _0x415952=_0x2032e1(_0x146f6e,_0x1a4e('0xdf8'));if(!(_0x415952&&_0x7bcdc7(_0x415952,0x0)[_0x1a4e('0x1e')]>0x0))return _0x1adc17[_0x1a4e('0x2b3d')]=_0x146f6e;if(_0x2327c6){if(!_0x55ff7e)return _0x368e5a['Debug']['fail']();_0x2cb4f4(_0x2327c6,_0x55ff7e);}}function _0x29a300(_0x146f6e){var _0x2327c6=_0x4b6767(_0x14dd6c(_0x146f6e));if(!(0x1&_0x2327c6[_0x1a4e('0x7b2')])){var _0x55ff7e,_0x1adc17,_0xf79407=_0x22e7a8(_0x146f6e);switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xf0:_0x55ff7e=_0x2d74ef([_0x38797c(_0x54a27b(_0x146f6e['parent'])),_0x56da3c]);break;case 0x97:_0x55ff7e=_0x56da3c,_0x1adc17=_0x368e5a['chainDiagnosticMessages'](void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b3f')]);break;case 0x9a:_0x55ff7e=_0x56da3c,_0x1adc17=_0x368e5a[_0x1a4e('0x2586')](void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b40')]);break;case 0x9c:case 0x9e:case 0x9f:_0x55ff7e=_0x2d74ef([_0x2f0209(_0x573598(_0x146f6e[_0x1a4e('0x11c')])),_0x56da3c]);break;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();}_0x36c7ec(_0x2327c6,_0x55ff7e,_0x146f6e,_0xf79407,function(){return _0x1adc17;});}}function _0x10a2a1(_0x368e5a){if(_0x368e5a){var _0x146f6e=_0x5d499f(_0x368e5a),_0x2327c6=0x200000|(0x48===_0x368e5a[_0x1a4e('0x146b')]?0x40c09e8:0x780),_0x55ff7e=_0x1e09ab(_0x146f6e,_0x146f6e[_0x1a4e('0x22f3')],_0x2327c6,void 0x0,void 0x0,!0x0);_0x55ff7e&&0x200000&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x3aa36a(_0x55ff7e)&&!_0x242f5f(_0x4f0953(_0x55ff7e))&&_0x18e350(_0x55ff7e);}}function _0x365d63(_0x146f6e){var _0x2327c6=_0x43ae80(_0x146f6e);_0x2327c6&&_0x368e5a['isEntityName'](_0x2327c6)&&_0x10a2a1(_0x2327c6);}function _0x43ae80(_0x368e5a){if(_0x368e5a)switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xae:case 0xad:return _0x353a4a(_0x368e5a[_0x1a4e('0x2380')]);case 0xaf:return _0x353a4a([_0x368e5a['trueType'],_0x368e5a[_0x1a4e('0x266a')]]);case 0xb1:return _0x43ae80(_0x368e5a['type']);case 0xa4:return _0x368e5a[_0x1a4e('0xe7d')];}}function _0x353a4a(_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=_0x146f6e;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){for(var _0xf79407=_0x1adc17[_0x55ff7e];0xb1===_0xf79407['kind'];)_0xf79407=_0xf79407[_0x1a4e('0x40')];if(0x84!==_0xf79407[_0x1a4e('0x146b')]&&(_0x4f3c04||0x60!==_0xf79407['kind']&&0x8d!==_0xf79407['kind'])){var _0x2c9ec9=_0x43ae80(_0xf79407);if(!_0x2c9ec9)return;if(_0x2327c6){if(!_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)||!_0x368e5a[_0x1a4e('0x2370')](_0x2c9ec9)||_0x2327c6[_0x1a4e('0x22f3')]!==_0x2c9ec9[_0x1a4e('0x22f3')])return;}else _0x2327c6=_0x2c9ec9;}}return _0x2327c6;}function _0x3cbfe5(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2452')](_0x146f6e);return _0x368e5a['isRestParameter'](_0x146f6e)?_0x368e5a[_0x1a4e('0x2b41')](_0x2327c6):_0x2327c6;}function _0x234c22(_0x146f6e){if(_0x146f6e['decorators']&&_0x368e5a[_0x1a4e('0x2b42')](_0x146f6e,_0x146f6e[_0x1a4e('0x11c')],_0x146f6e[_0x1a4e('0x11c')]['parent'])){_0x239ab2[_0x1a4e('0x2768')]||_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b43')]);var _0x2327c6=_0x146f6e[_0x1a4e('0x232f')][0x0];if(_0x1145ed(_0x2327c6,0x8),0x97===_0x146f6e[_0x1a4e('0x146b')]&&_0x1145ed(_0x2327c6,0x20),_0x239ab2[_0x1a4e('0x276b')])switch(_0x1145ed(_0x2327c6,0x10),_0x146f6e['kind']){case 0xf0:var _0x55ff7e=_0x368e5a[_0x1a4e('0x2b44')](_0x146f6e);if(_0x55ff7e)for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e[_0x1a4e('0x111a')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++)_0x365d63(_0x3cbfe5(_0xf79407[_0x1adc17]));break;case 0x9e:case 0x9f:var _0x2c9ec9=0x9e===_0x146f6e[_0x1a4e('0x146b')]?0x9f:0x9e,_0x420b32=_0x368e5a[_0x1a4e('0x28c9')](_0x54a27b(_0x146f6e),_0x2c9ec9);_0x365d63(_0x1b4caf(_0x146f6e)||_0x420b32&&_0x1b4caf(_0x420b32));break;case 0x9c:for(var _0x1b06ad=0x0,_0x326eae=_0x146f6e[_0x1a4e('0x111a')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++)_0x365d63(_0x3cbfe5(_0x326eae[_0x1b06ad]));_0x365d63(_0x368e5a['getEffectiveReturnTypeNode'](_0x146f6e));break;case 0x9a:_0x365d63(_0x368e5a[_0x1a4e('0x2452')](_0x146f6e));break;case 0x97:_0x365d63(_0x3cbfe5(_0x146f6e));for(var _0x56674b=0x0,_0x415952=_0x146f6e['parent'][_0x1a4e('0x111a')];_0x56674b<_0x415952[_0x1a4e('0x1e')];_0x56674b++)_0x365d63(_0x3cbfe5(_0x415952[_0x56674b]));}_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x232f')],_0x29a300);}}function _0x8bb056(_0x368e5a){switch(_0x368e5a['kind']){case 0x48:return _0x368e5a;case 0xbd:return _0x368e5a[_0x1a4e('0x2cb')];default:return;}}function _0x512739(_0x146f6e){_0x234c22(_0x146f6e),_0x4acf6f(_0x146f6e);var _0x2327c6=_0x368e5a['getFunctionFlags'](_0x146f6e);if(_0x146f6e[_0x1a4e('0x2cb')]&&0x95===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&_0x16c40(_0x146f6e[_0x1a4e('0x2cb')]),!_0x45371c(_0x146f6e)){var _0x55ff7e=_0x54a27b(_0x146f6e),_0xf79407=_0x146f6e[_0x1a4e('0x2469')]||_0x55ff7e,_0x2c9ec9=_0x368e5a[_0x1a4e('0x1c7')](_0xf79407[_0x1a4e('0x22e5')],function(_0x368e5a){return _0x368e5a['kind']===_0x146f6e['kind']&&!(0x10000&_0x368e5a['flags']);});_0x146f6e===_0x2c9ec9&&_0x1a84e2(_0xf79407),_0x55ff7e['parent']&&_0x368e5a[_0x1a4e('0x28c9')](_0x55ff7e,_0x146f6e[_0x1a4e('0x146b')])===_0x146f6e&&_0x1a84e2(_0x55ff7e);}var _0x420b32=0x9b===_0x146f6e[_0x1a4e('0x146b')]?void 0x0:_0x146f6e['body'];if(_0x2505ec(_0x420b32),0x0==(0x1&_0x2327c6)){var _0x1b06ad=_0x49a1e5(_0x146f6e,_0x2327c6);_0x5da4f5(_0x146f6e,_0x1b06ad);}if(_0x1adc17&&!_0x368e5a[_0x1a4e('0x29b7')](_0x146f6e)&&(_0x368e5a[_0x1a4e('0x2327')](_0x420b32)&&!_0x96ee2(_0x146f6e)&&_0x323398(_0x146f6e,_0x330555),0x1&_0x2327c6&&_0x368e5a[_0x1a4e('0x2328')](_0x420b32)&&_0x4b6767(_0x38523e(_0x146f6e))),_0x368e5a['isInJSFile'](_0x146f6e)){var _0x326eae=_0x368e5a[_0x1a4e('0x23bf')](_0x146f6e);_0x326eae&&_0x326eae[_0x1a4e('0x2379')]&&!_0x51b69b(_0x3fafb1(_0x326eae[_0x1a4e('0x2379')]),_0x146f6e)&&_0x2cb4f4(_0x326eae,_0x368e5a['Diagnostics'][_0x1a4e('0x2b45')]);}}function _0x40a6cb(_0x146f6e){if(_0x1adc17&&!(0x400000&_0x146f6e[_0x1a4e('0x7b2')])){var _0x2327c6=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e),_0x55ff7e=_0x200984['get'](_0x2327c6[_0x1a4e('0x64')]);_0x55ff7e||(_0x55ff7e=[],_0x200984['set'](_0x2327c6[_0x1a4e('0x64')],_0x55ff7e)),_0x55ff7e[_0x1a4e('0x46')](_0x146f6e);}}function _0x2b5fae(_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];switch(_0xf79407[_0x1a4e('0x146b')]){case 0xf0:case 0xd1:_0x1546c1(_0xf79407,_0x2327c6),_0xd4306(_0xf79407,_0x2327c6);break;case 0x117:case 0xf4:case 0xda:case 0xf6:case 0xe1:case 0xe2:case 0xe3:_0x555a2b(_0xf79407,_0x2327c6);break;case 0x9d:case 0xc4:case 0xef:case 0xc5:case 0x9c:case 0x9e:case 0x9f:_0xf79407[_0x1a4e('0x8f2')]&&_0x555a2b(_0xf79407,_0x2327c6),_0xd4306(_0xf79407,_0x2327c6);break;case 0x9b:case 0xa0:case 0xa1:case 0xa5:case 0xa6:case 0xf2:case 0xf1:_0xd4306(_0xf79407,_0x2327c6);break;case 0xb0:_0x58799e(_0xf79407,_0x2327c6);break;default:_0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0xf79407,_0x1a4e('0x2b46'));}}}function _0x1d1c15(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e)||_0x146f6e,_0xf79407=_0x508bba(_0x146f6e)?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b47')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2b48')];_0x55ff7e(_0x146f6e,0x0,_0x368e5a['createDiagnosticForNode'](_0x1adc17,_0xf79407,_0x2327c6));}function _0x49618f(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&0x5f===_0x368e5a[_0x1a4e('0x2353')](_0x146f6e)[_0x1a4e('0x913')](0x0);}function _0x1546c1(_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2369')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];switch(_0xf79407[_0x1a4e('0x146b')]){case 0x9c:case 0x9a:case 0x9e:case 0x9f:if(0x9f===_0xf79407[_0x1a4e('0x146b')]&&0x8000&_0xf79407[_0x1a4e('0xb1b')]['flags'])break;var _0x2c9ec9=_0x54a27b(_0xf79407);!_0x2c9ec9[_0x1a4e('0x2958')]&&_0x368e5a[_0x1a4e('0x24c6')](_0xf79407,0x8)&&_0x2327c6(_0xf79407,0x0,_0x368e5a[_0x1a4e('0x2354')](_0xf79407[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b48')],_0x22aa27(_0x2c9ec9)));break;case 0x9d:for(var _0x420b32=0x0,_0x1b06ad=_0xf79407[_0x1a4e('0x111a')];_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];!_0x326eae[_0x1a4e('0xb1b')][_0x1a4e('0x2958')]&&_0x368e5a[_0x1a4e('0x24c6')](_0x326eae,0x8)&&_0x2327c6(_0x326eae,0x0,_0x368e5a['createDiagnosticForNode'](_0x326eae[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2b49')],_0x368e5a['symbolName'](_0x326eae['symbol'])));}break;case 0xa2:case 0xd9:break;default:_0x368e5a['Debug'][_0x1a4e('0x1709')]();}}}function _0x58799e(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x2668')];_0x4ce262(_0x55ff7e)&&_0x2327c6(_0x146f6e,0x1,_0x368e5a[_0x1a4e('0x2354')](_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['_0_is_declared_but_its_value_is_never_read'],_0x368e5a[_0x1a4e('0x2353')](_0x55ff7e[_0x1a4e('0x2cb')])));}function _0xd4306(_0x146f6e,_0x2327c6){if(_0x368e5a['last'](_0x54a27b(_0x146f6e)[_0x1a4e('0x22e5')])===_0x146f6e)for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x29af')](_0x146f6e),_0x1adc17=new _0x368e5a['NodeSet'](),_0xf79407=0x0,_0x2c9ec9=_0x55ff7e;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(_0x4ce262(_0x420b32)){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2353')](_0x420b32[_0x1a4e('0x2cb')]),_0x326eae=_0x420b32['parent'];if(0xb0!==_0x326eae[_0x1a4e('0x146b')]&&_0x326eae[_0x1a4e('0x23d7')][_0x1a4e('0x114')](_0x4ce262)){if(_0x1adc17['tryAdd'](_0x326eae)){var _0x56674b=_0x368e5a[_0x1a4e('0x24e0')](_0x326eae)?_0x368e5a['rangeOfNode'](_0x326eae):_0x368e5a[_0x1a4e('0x25f1')](_0x326eae['typeParameters']),_0x415952=0x1===_0x55ff7e['length'],_0x46923a=_0x415952?_0x368e5a['Diagnostics'][_0x1a4e('0x2b48')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2b4a')],_0x88bf03=_0x415952?_0x1b06ad:void 0x0;_0x2327c6(_0x420b32,0x1,_0x368e5a[_0x1a4e('0x22f5')](_0x368e5a[_0x1a4e('0x1674')](_0x326eae),_0x56674b[_0x1a4e('0xa4')],_0x56674b[_0x1a4e('0xca')]-_0x56674b[_0x1a4e('0xa4')],_0x46923a,_0x88bf03));}}else _0x2327c6(_0x420b32,0x1,_0x368e5a[_0x1a4e('0x2354')](_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b48')],_0x1b06ad));}}}function _0x4ce262(_0x368e5a){return!(0x40000&_0x41e7a5(_0x368e5a[_0x1a4e('0xb1b')])[_0x1a4e('0x2958')]||_0x49618f(_0x368e5a[_0x1a4e('0x2cb')]));}function _0x49f7df(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=String(_0x55ff7e(_0x146f6e)),_0xf79407=_0x368e5a['get'](_0x1adc17);_0xf79407?_0xf79407[0x1]['push'](_0x2327c6):_0x368e5a['set'](_0x1adc17,[_0x146f6e,[_0x2327c6]]);}function _0x10d805(_0x146f6e){return _0x368e5a[_0x1a4e('0x172e')](_0x368e5a[_0x1a4e('0x2406')](_0x146f6e),_0x368e5a[_0x1a4e('0x24ac')]);}function _0x555a2b(_0x146f6e,_0x2327c6){if(!(0x400000&_0x146f6e[_0x1a4e('0x7b2')])){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1772')](),_0x1adc17=_0x368e5a[_0x1a4e('0x1772')](),_0xf79407=_0x368e5a['createMap']();_0x146f6e['locals'][_0x1a4e('0x3b')](function(_0x146f6e){var _0x2c9ec9;if(0x40000&_0x146f6e[_0x1a4e('0x7b2')]?0x3&_0x146f6e[_0x1a4e('0x7b2')]&&!(0x3&_0x146f6e[_0x1a4e('0x2958')]):!_0x146f6e['isReferenced']&&!_0x146f6e['exportSymbol'])for(var _0x420b32=0x0,_0x1b06ad=_0x146f6e[_0x1a4e('0x22e5')];_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x56674b=_0x1b06ad[_0x420b32];if(!(_0x368e5a['isAmbientModule'](_0x56674b)||(_0x368e5a[_0x1a4e('0x238d')](_0x56674b)&&_0x368e5a['isForInOrOfStatement'](_0x56674b[_0x1a4e('0x11c')]['parent'])||_0x476a4e(_0x56674b))&&_0x49618f(_0x56674b[_0x1a4e('0x2cb')])))if(_0x476a4e(_0x56674b))_0x49f7df(_0x55ff7e,0xfa===(_0x2c9ec9=_0x56674b)[_0x1a4e('0x146b')]?_0x2c9ec9:0xfb===_0x2c9ec9[_0x1a4e('0x146b')]?_0x2c9ec9[_0x1a4e('0x11c')]:_0x2c9ec9['parent'][_0x1a4e('0x11c')],_0x56674b,_0x326eae);else if(_0x368e5a[_0x1a4e('0x24a6')](_0x56674b)&&_0x368e5a['isObjectBindingPattern'](_0x56674b[_0x1a4e('0x11c')]))_0x56674b!==_0x368e5a[_0x1a4e('0x10b1')](_0x56674b[_0x1a4e('0x11c')]['elements'])&&_0x368e5a[_0x1a4e('0x10b1')](_0x56674b[_0x1a4e('0x11c')][_0x1a4e('0x2398')])[_0x1a4e('0x25f9')]||_0x49f7df(_0x1adc17,_0x56674b[_0x1a4e('0x11c')],_0x56674b,_0x326eae);else if(_0x368e5a['isVariableDeclaration'](_0x56674b))_0x49f7df(_0xf79407,_0x56674b[_0x1a4e('0x11c')],_0x56674b,_0x326eae);else{var _0x415952=_0x146f6e[_0x1a4e('0x2340')]&&_0x10d805(_0x146f6e['valueDeclaration']),_0x46923a=_0x146f6e[_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e['valueDeclaration']);_0x415952&&_0x46923a?_0x368e5a['isParameterPropertyDeclaration'](_0x415952)||_0x368e5a[_0x1a4e('0x244f')](_0x415952)||_0x49618f(_0x46923a)||_0x2327c6(_0x415952,0x1,_0x368e5a[_0x1a4e('0x2354')](_0x46923a,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b48')],_0x368e5a[_0x1a4e('0x24d2')](_0x146f6e))):_0x1d1c15(_0x56674b,_0x368e5a['symbolName'](_0x146f6e),_0x2327c6);}}}),_0x55ff7e[_0x1a4e('0x3b')](function(_0x146f6e){var _0x55ff7e=_0x146f6e[0x0],_0x1adc17=_0x146f6e[0x1],_0xf79407=_0x55ff7e['parent'];if((_0x55ff7e['name']?0x1:0x0)+(_0x55ff7e[_0x1a4e('0x23c7')]?0xfb===_0x55ff7e[_0x1a4e('0x23c7')]['kind']?0x1:_0x55ff7e[_0x1a4e('0x23c7')]['elements'][_0x1a4e('0x1e')]:0x0)===_0x1adc17['length'])_0x2327c6(_0xf79407,0x0,0x1===_0x1adc17[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x2354')](_0xf79407,_0x368e5a[_0x1a4e('0x167d')]['_0_is_declared_but_its_value_is_never_read'],_0x368e5a[_0x1a4e('0x2353')](_0x368e5a['first'](_0x1adc17)[_0x1a4e('0x2cb')])):_0x368e5a[_0x1a4e('0x2354')](_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b4b')]));else for(var _0x2c9ec9=0x0,_0x420b32=_0x1adc17;_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1d1c15(_0x1b06ad,_0x368e5a['idText'](_0x1b06ad[_0x1a4e('0x2cb')]),_0x2327c6);}}),_0x1adc17['forEach'](function(_0x146f6e){var _0x55ff7e=_0x146f6e[0x0],_0x1adc17=_0x146f6e[0x1],_0x2c9ec9=_0x10d805(_0x55ff7e['parent'])?0x1:0x0;if(_0x55ff7e[_0x1a4e('0x2398')][_0x1a4e('0x1e')]===_0x1adc17['length'])0x1===_0x1adc17['length']&&0xed===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&0xee===_0x55ff7e['parent'][_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x49f7df(_0xf79407,_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x55ff7e['parent'],_0x326eae):_0x2327c6(_0x55ff7e,_0x2c9ec9,0x1===_0x1adc17[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x2354')](_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b48')],_0x3aa519(_0x368e5a[_0x1a4e('0x10f7')](_0x1adc17)[_0x1a4e('0x2cb')])):_0x368e5a[_0x1a4e('0x2354')](_0x55ff7e,_0x368e5a['Diagnostics']['All_destructured_elements_are_unused']));else for(var _0x420b32=0x0,_0x1b06ad=_0x1adc17;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x56674b=_0x1b06ad[_0x420b32];_0x2327c6(_0x56674b,_0x2c9ec9,_0x368e5a[_0x1a4e('0x2354')](_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b48')],_0x3aa519(_0x56674b[_0x1a4e('0x2cb')])));}}),_0xf79407[_0x1a4e('0x3b')](function(_0x146f6e){var _0x55ff7e=_0x146f6e[0x0],_0x1adc17=_0x146f6e[0x1];if(_0x55ff7e[_0x1a4e('0x22e5')][_0x1a4e('0x1e')]===_0x1adc17['length'])_0x2327c6(_0x55ff7e,0x0,0x1===_0x1adc17[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x2354')](_0x368e5a[_0x1a4e('0x10f7')](_0x1adc17)[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b48')],_0x3aa519(_0x368e5a['first'](_0x1adc17)[_0x1a4e('0x2cb')])):_0x368e5a[_0x1a4e('0x2354')](0xdb===_0x55ff7e[_0x1a4e('0x11c')]['kind']?_0x55ff7e[_0x1a4e('0x11c')]:_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b4c')]));else for(var _0xf79407=0x0,_0x2c9ec9=_0x1adc17;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x2327c6(_0x420b32,0x0,_0x368e5a[_0x1a4e('0x2354')](_0x420b32,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b48')],_0x3aa519(_0x420b32[_0x1a4e('0x2cb')])));}});}}function _0x3aa519(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x368e5a[_0x1a4e('0x2353')](_0x146f6e);case 0xb9:case 0xb8:return _0x3aa519(_0x368e5a['cast'](_0x368e5a['first'](_0x146f6e[_0x1a4e('0x2398')]),_0x368e5a[_0x1a4e('0x24a6')])[_0x1a4e('0x2cb')]);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}function _0x476a4e(_0x368e5a){return 0xfa===_0x368e5a['kind']||0xfd===_0x368e5a[_0x1a4e('0x146b')]||0xfb===_0x368e5a[_0x1a4e('0x146b')];}function _0x353645(_0x146f6e){if(0xda===_0x146f6e[_0x1a4e('0x146b')]&&_0x3d1ff1(_0x146f6e),_0x368e5a[_0x1a4e('0x254f')](_0x146f6e)){var _0x2327c6=_0x22af89;_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2366')],_0x2505ec),_0x22af89=_0x2327c6;}else _0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2366')],_0x2505ec);_0x146f6e[_0x1a4e('0x283c')]&&_0x40a6cb(_0x146f6e);}function _0x3b66d0(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x2327c6||_0x2327c6[_0x1a4e('0x22f3')]!==_0x55ff7e)return!0x1;if(0x9a===_0x146f6e[_0x1a4e('0x146b')]||0x99===_0x146f6e['kind']||0x9c===_0x146f6e[_0x1a4e('0x146b')]||0x9b===_0x146f6e[_0x1a4e('0x146b')]||0x9e===_0x146f6e[_0x1a4e('0x146b')]||0x9f===_0x146f6e[_0x1a4e('0x146b')])return!0x1;if(0x400000&_0x146f6e[_0x1a4e('0x7b2')])return!0x1;var _0x1adc17=_0x368e5a[_0x1a4e('0x2406')](_0x146f6e);return 0x97!==_0x1adc17[_0x1a4e('0x146b')]||!_0x368e5a[_0x1a4e('0x2327')](_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x8f2')]);}function _0x2b66d6(_0x146f6e){_0x368e5a['findAncestor'](_0x146f6e,function(_0x2327c6){return!!(0x4&_0x2ebdb0(_0x2327c6))&&(0x48!==_0x146f6e[_0x1a4e('0x146b')]?_0x2cb4f4(_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b4d')]):_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2b4e')]),!0x0);});}function _0x29490b(_0x146f6e){_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x2327c6){return!!(0x8&_0x2ebdb0(_0x2327c6))&&(0x48!==_0x146f6e[_0x1a4e('0x146b')]?_0x2cb4f4(_0x368e5a['getNameOfDeclaration'](_0x146f6e),_0x368e5a[_0x1a4e('0x167d')]['Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference']):_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b4f')]),!0x0);});}function _0x162a99(_0x146f6e,_0x2327c6){if(!(_0x2918ee>=_0x368e5a['ModuleKind'][_0x1a4e('0x1a33')]||_0x239ab2['noEmit'])&&(_0x3b66d0(_0x146f6e,_0x2327c6,_0x1a4e('0xfd8'))||_0x3b66d0(_0x146f6e,_0x2327c6,'exports'))&&(!_0x368e5a[_0x1a4e('0x22ef')](_0x146f6e)||0x1===_0x368e5a[_0x1a4e('0x2831')](_0x146f6e))){var _0x55ff7e=_0x1c717b(_0x146f6e);0x117===_0x55ff7e['kind']&&_0x368e5a[_0x1a4e('0x2858')](_0x55ff7e)&&_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics']['Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module'],_0x368e5a[_0x1a4e('0x1676')](_0x2327c6),_0x368e5a[_0x1a4e('0x1676')](_0x2327c6));}}function _0xd2b666(_0x146f6e,_0x2327c6){if(!(_0x1b8154>=0x4||_0x239ab2[_0x1a4e('0x2740')])&&_0x3b66d0(_0x146f6e,_0x2327c6,'Promise')&&(!_0x368e5a[_0x1a4e('0x22ef')](_0x146f6e)||0x1===_0x368e5a[_0x1a4e('0x2831')](_0x146f6e))){var _0x55ff7e=_0x1c717b(_0x146f6e);0x117===_0x55ff7e[_0x1a4e('0x146b')]&&_0x368e5a['isExternalOrCommonJsModule'](_0x55ff7e)&&0x400&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics']['Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions'],_0x368e5a[_0x1a4e('0x1676')](_0x2327c6),_0x368e5a[_0x1a4e('0x1676')](_0x2327c6));}}function _0x7295dd(_0x146f6e){if(0x97===_0x368e5a[_0x1a4e('0x2406')](_0x146f6e)[_0x1a4e('0x146b')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);!function _0x55ff7e(_0x1adc17){if(!_0x368e5a['isTypeNode'](_0x1adc17)&&!_0x368e5a[_0x1a4e('0x23e5')](_0x1adc17)){if(0xbd===_0x1adc17[_0x1a4e('0x146b')])return _0x55ff7e(_0x1adc17[_0x1a4e('0x2302')]);if(0x48!==_0x1adc17[_0x1a4e('0x146b')])return _0x368e5a[_0x1a4e('0x22eb')](_0x1adc17,_0x55ff7e);var _0xf79407=_0x1e09ab(_0x1adc17,_0x1adc17[_0x1a4e('0x22f3')],0x421b3bf,void 0x0,void 0x0,!0x1);if(_0xf79407&&_0xf79407!==_0x450499&&_0xf79407[_0x1a4e('0x2340')])if(_0xf79407['valueDeclaration']!==_0x146f6e){var _0x2c9ec9=_0x368e5a['getEnclosingBlockScopeContainer'](_0xf79407[_0x1a4e('0x2340')]);if(_0x2c9ec9===_0x2327c6){if(0x97===_0xf79407['valueDeclaration'][_0x1a4e('0x146b')]||0xba===_0xf79407[_0x1a4e('0x2340')][_0x1a4e('0x146b')]){if(_0xf79407['valueDeclaration'][_0x1a4e('0xa4')]<_0x146f6e[_0x1a4e('0xa4')])return;if(_0x368e5a[_0x1a4e('0x283d')](_0x1adc17,function(_0x2327c6){return _0x2327c6===_0x146f6e[_0x1a4e('0x236a')]?_0x1a4e('0x1b55'):_0x368e5a['isFunctionLike'](_0x2327c6['parent'])||0x9a===_0x2327c6['parent']['kind']&&!_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6[_0x1a4e('0x11c')],0x20)&&_0x368e5a[_0x1a4e('0x2367')](_0x2327c6['parent'][_0x1a4e('0x11c')]);}))return;}_0x2cb4f4(_0x1adc17,_0x368e5a['Diagnostics'][_0x1a4e('0x2b50')],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e[_0x1a4e('0x2cb')]),_0x368e5a['declarationNameToString'](_0x1adc17));}}else _0x2cb4f4(_0x1adc17,_0x368e5a['Diagnostics'][_0x1a4e('0x2b51')],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e[_0x1a4e('0x2cb')]));}}(_0x146f6e[_0x1a4e('0x236a')]);}}function _0x4130fb(_0x368e5a){return _0x368e5a===_0x344569?_0x330555:_0x368e5a===_0x121129?_0x1a0acf:_0x368e5a;}function _0x148137(_0x146f6e){if(_0x234c22(_0x146f6e),_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e)||_0x2505ec(_0x146f6e[_0x1a4e('0x40')]),_0x146f6e[_0x1a4e('0x2cb')]){if(0x95===_0x146f6e['name'][_0x1a4e('0x146b')]&&(_0x16c40(_0x146f6e[_0x1a4e('0x2cb')]),_0x146f6e[_0x1a4e('0x236a')]&&_0x31ebf4(_0x146f6e['initializer'])),0xba===_0x146f6e[_0x1a4e('0x146b')]){0xb8===_0x146f6e[_0x1a4e('0x11c')]['kind']&&_0x1b8154<0x6&&_0x1145ed(_0x146f6e,0x4),_0x146f6e['propertyName']&&0x95===_0x146f6e['propertyName']['kind']&&_0x16c40(_0x146f6e[_0x1a4e('0x81a')]);var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x55ff7e=_0xab025d(_0x2327c6),_0x1adc17=_0x146f6e[_0x1a4e('0x81a')]||_0x146f6e['name'];if(!_0x368e5a['isBindingPattern'](_0x1adc17)){var _0xf79407=_0x368e5a[_0x1a4e('0x2351')](_0x1adc17);if(_0xf79407){var _0x2c9ec9=_0x3c127b(_0x55ff7e,_0xf79407);_0x2c9ec9&&(_0x3a35cb(_0x2c9ec9,void 0x0,!0x1),_0x33d091(_0x2327c6,!!_0x2327c6[_0x1a4e('0x236a')]&&0x62===_0x2327c6[_0x1a4e('0x236a')]['kind'],_0x55ff7e,_0x2c9ec9));}}}if(_0x368e5a[_0x1a4e('0x1678')](_0x146f6e['name'])&&(0xb9===_0x146f6e['name']['kind']&&_0x1b8154<0x2&&_0x239ab2[_0x1a4e('0x2744')]&&_0x1145ed(_0x146f6e,0x200),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e['name']['elements'],_0x2505ec)),_0x146f6e[_0x1a4e('0x236a')]&&0x97===_0x368e5a[_0x1a4e('0x2406')](_0x146f6e)[_0x1a4e('0x146b')]&&_0x368e5a['nodeIsMissing'](_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e)[_0x1a4e('0x8f2')]))_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b52')]);else if(_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])){if(_0x146f6e[_0x1a4e('0x236a')]&&0xe2!==_0x146f6e[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x146b')]){var _0x420b32=_0x31ebf4(_0x146f6e[_0x1a4e('0x236a')]);_0x4f3c04&&0x0===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x2398')][_0x1a4e('0x1e')]?_0x3dcfe6(_0x420b32,_0x146f6e):_0x440746(_0x420b32,_0x5c9c9d(_0x146f6e),_0x146f6e,_0x146f6e['initializer']),_0x7295dd(_0x146f6e);}}else{var _0x1b06ad=_0x54a27b(_0x146f6e),_0x326eae=_0x4130fb(_0x38797c(_0x1b06ad));if(_0x146f6e===_0x1b06ad[_0x1a4e('0x2340')]){var _0x56674b=_0x368e5a[_0x1a4e('0x23b1')](_0x146f6e);_0x56674b&&(_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x236f')](_0x56674b)&&(0x0===_0x56674b[_0x1a4e('0x13')][_0x1a4e('0x1e')]||_0x368e5a['isPrototypeAccess'](_0x146f6e[_0x1a4e('0x2cb')]))&&_0x368e5a[_0x1a4e('0x22e6')](_0x1b06ad[_0x1a4e('0x0')])||0xe2===_0x146f6e['parent']['parent'][_0x1a4e('0x146b')]||(_0x440746(_0x31ebf4(_0x56674b),_0x326eae,_0x146f6e,_0x56674b,void 0x0),_0x7295dd(_0x146f6e))),_0x1b06ad[_0x1a4e('0x22e5')]['length']>0x1&&_0x368e5a[_0x1a4e('0x1c2')](_0x1b06ad[_0x1a4e('0x22e5')],function(_0x2327c6){return _0x2327c6!==_0x146f6e&&_0x368e5a['isVariableLike'](_0x2327c6)&&!_0x1df264(_0x2327c6,_0x146f6e);})&&_0x2cb4f4(_0x146f6e['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b53')],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e['name']));}else{var _0x415952=_0x4130fb(_0x5c9c9d(_0x146f6e));_0x326eae===_0x336c2||_0x415952===_0x336c2||_0x2ccc16(_0x326eae,_0x415952)||0x4000000&_0x1b06ad[_0x1a4e('0x7b2')]||_0x457430(_0x326eae,_0x146f6e,_0x415952),_0x146f6e[_0x1a4e('0x236a')]&&_0x440746(_0x31ebf4(_0x146f6e['initializer']),_0x415952,_0x146f6e,_0x146f6e[_0x1a4e('0x236a')],void 0x0),_0x1df264(_0x146f6e,_0x1b06ad[_0x1a4e('0x2340')])||_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b53')],_0x368e5a[_0x1a4e('0x1676')](_0x146f6e[_0x1a4e('0x2cb')]));}0x9a!==_0x146f6e[_0x1a4e('0x146b')]&&0x99!==_0x146f6e[_0x1a4e('0x146b')]&&(_0x503d7c(_0x146f6e),0xed!==_0x146f6e['kind']&&0xba!==_0x146f6e[_0x1a4e('0x146b')]||function(_0x146f6e){if(0x0==(0x3&_0x368e5a['getCombinedNodeFlags'](_0x146f6e))&&!_0x368e5a[_0x1a4e('0x2405')](_0x146f6e)&&(0xed!==_0x146f6e[_0x1a4e('0x146b')]||_0x146f6e[_0x1a4e('0x236a')])){var _0x2327c6=_0x54a27b(_0x146f6e);if(0x1&_0x2327c6[_0x1a4e('0x7b2')]){if(!_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')]))return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();var _0x55ff7e=_0x1e09ab(_0x146f6e,_0x146f6e['name'][_0x1a4e('0x22f3')],0x3,void 0x0,void 0x0,!0x1);if(_0x55ff7e&&_0x55ff7e!==_0x2327c6&&0x2&_0x55ff7e[_0x1a4e('0x7b2')]&&0x3&_0x48414f(_0x55ff7e)){var _0x1adc17=_0x368e5a['getAncestor'](_0x55ff7e[_0x1a4e('0x2340')],0xee),_0xf79407=0xdb===_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x11c')]?_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:void 0x0;if(!_0xf79407||!(0xda===_0xf79407['kind']&&_0x368e5a['isFunctionLike'](_0xf79407[_0x1a4e('0x11c')])||0xf5===_0xf79407[_0x1a4e('0x146b')]||0xf4===_0xf79407['kind']||0x117===_0xf79407[_0x1a4e('0x146b')])){var _0x2c9ec9=_0x22aa27(_0x55ff7e);_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b54')],_0x2c9ec9,_0x2c9ec9);}}}}}(_0x146f6e),_0x162a99(_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')]),_0xd2b666(_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')]));}}}function _0x457430(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x23e9')](_0x2327c6);_0x2cb4f4(_0x1adc17,0x9a===_0x2327c6[_0x1a4e('0x146b')]||0x99===_0x2327c6[_0x1a4e('0x146b')]?_0x368e5a['Diagnostics']['Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2']:_0x368e5a[_0x1a4e('0x167d')]['Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2'],_0x368e5a[_0x1a4e('0x1676')](_0x1adc17),_0x5ad709(_0x146f6e),_0x5ad709(_0x55ff7e));}function _0x1df264(_0x146f6e,_0x2327c6){return 0x97===_0x146f6e[_0x1a4e('0x146b')]&&0xed===_0x2327c6[_0x1a4e('0x146b')]||0xed===_0x146f6e[_0x1a4e('0x146b')]&&0x97===_0x2327c6[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x23c9')](_0x146f6e)===_0x368e5a[_0x1a4e('0x23c9')](_0x2327c6)&&_0x368e5a[_0x1a4e('0x2a2e')](_0x146f6e,0x1f8)===_0x368e5a['getSelectedModifierFlags'](_0x2327c6,0x1f8);}function _0x5245b4(_0x146f6e){return function(_0x146f6e){if(0xe2!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&0xe3!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')])if(0x400000&_0x146f6e[_0x1a4e('0x7b2')])_0x2f79c4(_0x146f6e);else if(!_0x146f6e[_0x1a4e('0x236a')]){if(_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])&&!_0x368e5a['isBindingPattern'](_0x146f6e[_0x1a4e('0x11c')]))return _0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b55')]);if(_0x368e5a[_0x1a4e('0x235f')](_0x146f6e))return _0x2d955f(_0x146f6e,_0x368e5a['Diagnostics']['const_declarations_must_be_initialized']);}if(_0x146f6e[_0x1a4e('0x25f7')]&&(0xdb!==_0x146f6e[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x146b')]||!_0x146f6e[_0x1a4e('0x40')]||_0x146f6e[_0x1a4e('0x236a')]||0x400000&_0x146f6e[_0x1a4e('0x7b2')]))return _0x2d955f(_0x146f6e['exclamationToken'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b18')]);_0x239ab2[_0x1a4e('0xa6c')]===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')]||_0x239ab2[_0x1a4e('0xa6c')]===_0x368e5a[_0x1a4e('0x1a35')]['ESNext']||_0x239ab2['module']===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1308')]||_0x239ab2[_0x1a4e('0x2740')]||0x400000&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x7b2')]||!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],0x1)||function _0x146f6e(_0x2327c6){if(0x48===_0x2327c6['kind']){if(_0x1a4e('0x6')===_0x368e5a['idText'](_0x2327c6))return _0x2d955f(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules']);}else for(var _0x55ff7e=_0x2327c6[_0x1a4e('0x2398')],_0x1adc17=0x0,_0xf79407=_0x55ff7e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(!_0x368e5a['isOmittedExpression'](_0x2c9ec9))return _0x146f6e(_0x2c9ec9['name']);}return!0x1;}(_0x146f6e[_0x1a4e('0x2cb')]),(_0x368e5a[_0x1a4e('0x2360')](_0x146f6e)||_0x368e5a['isVarConst'](_0x146f6e))&&function _0x146f6e(_0x2327c6){if(0x48===_0x2327c6[_0x1a4e('0x146b')]){if(0x6f===_0x2327c6[_0x1a4e('0x23f8')])return _0x2d955f(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b56')]);}else for(var _0x55ff7e=_0x2327c6[_0x1a4e('0x2398')],_0x1adc17=0x0,_0xf79407=_0x55ff7e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x368e5a['isOmittedExpression'](_0x2c9ec9)||_0x146f6e(_0x2c9ec9[_0x1a4e('0x2cb')]);}return!0x1;}(_0x146f6e[_0x1a4e('0x2cb')]);}(_0x146f6e),_0x148137(_0x146f6e);}function _0x495eef(_0x146f6e){return function(_0x146f6e){if(_0x146f6e[_0x1a4e('0x25f9')]){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2398')];if(_0x146f6e!==_0x368e5a['last'](_0x2327c6))return _0x2d955f(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2ae2')]);if(_0x11db9d(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae3')]),_0x146f6e[_0x1a4e('0x81a')])return _0x2d955f(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b57')]);_0x146f6e['initializer']&&_0x52940f(_0x146f6e,_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0xa4')]-0x1,0x1,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae4')]);}}(_0x146f6e),_0x148137(_0x146f6e);}function _0x4685e2(_0x146f6e){_0xbfc3a2(_0x146f6e)||_0x4ede43(_0x146f6e[_0x1a4e('0x2377')])||function(_0x146f6e){if(!function _0x368e5a(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xde:case 0xdf:case 0xe0:case 0xe7:case 0xe1:case 0xe2:case 0xe3:return!0x1;case 0xe9:return _0x368e5a(_0x146f6e['parent']);}return!0x0;}(_0x146f6e['parent'])){if(_0x368e5a[_0x1a4e('0x2360')](_0x146f6e[_0x1a4e('0x2377')]))return _0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b58')]);_0x368e5a[_0x1a4e('0x235f')](_0x146f6e['declarationList'])&&_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b59')]);}}(_0x146f6e),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')],_0x2505ec);}function _0x5819cd(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x4e94e8(_0x146f6e,_0x2327c6);return 0x4000&_0x55ff7e[_0x1a4e('0x7b2')]&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b5a')]),_0x55ff7e;}function _0x7322c5(_0x146f6e){_0x49bfda(_0x146f6e);var _0x2327c6,_0x55ff7e=_0x300ae0(_0x4e94e8(_0x146f6e['expression']));if(0xee===_0x146f6e['initializer']['kind']){var _0x1adc17=_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x22e5')][0x0];_0x1adc17&&_0x368e5a[_0x1a4e('0x1678')](_0x1adc17[_0x1a4e('0x2cb')])&&_0x2cb4f4(_0x1adc17['name'],_0x368e5a['Diagnostics'][_0x1a4e('0x2b5b')]),_0x24ac37(_0x146f6e);}else{var _0xf79407=_0x146f6e[_0x1a4e('0x236a')],_0x2c9ec9=_0x4e94e8(_0xf79407);0xbb===_0xf79407[_0x1a4e('0x146b')]||0xbc===_0xf79407['kind']?_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')]['The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern']):_0x720afc(0x20000&(_0x2327c6=_0x3e4c01(_0x332557(_0x55ff7e)))['flags']?_0x1d9562:_0x2327c6,_0x2c9ec9)?_0x32f714(_0xf79407,_0x368e5a[_0x1a4e('0x167d')]['The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access']):_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b5c')]);}_0x55ff7e!==_0x530b09&&_0xc28455(_0x55ff7e,0x7840000)||_0x2cb4f4(_0x146f6e[_0x1a4e('0x2302')],_0x368e5a['Diagnostics']['The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0'],_0x5ad709(_0x55ff7e)),_0x2505ec(_0x146f6e[_0x1a4e('0x2390')]),_0x146f6e[_0x1a4e('0x283c')]&&_0x40a6cb(_0x146f6e);}function _0x24ac37(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x236a')];_0x146f6e['declarations'][_0x1a4e('0x1e')]>=0x1&&_0x5245b4(_0x146f6e['declarations'][0x0]);}function _0x1f8afd(_0x368e5a,_0x146f6e){return _0x625739(_0x3dc62e(_0x368e5a),_0x368e5a,!0x0,void 0x0!==_0x146f6e);}function _0x625739(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x4e7589(_0x368e5a)?_0x368e5a:_0x280f49(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,!0x0)||_0x330555;}function _0x280f49(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x146f6e!==_0x530b09){var _0x2c9ec9=_0x1b8154>=0x2,_0x420b32=!_0x2c9ec9&&_0x239ab2['downlevelIteration'];if(_0x2c9ec9||_0x420b32||_0x1adc17){var _0x1b06ad=_0x286d8f(_0x146f6e,_0x2c9ec9?_0x2327c6:void 0x0,_0x1adc17,!0x0,_0xf79407);if(_0x1b06ad||_0x2c9ec9)return _0x1b06ad;}var _0x326eae=_0x146f6e,_0x56674b=!0x1,_0x415952=!0x1;if(_0x55ff7e){if(0x100000&_0x326eae[_0x1a4e('0x7b2')]){var _0x46923a=_0x146f6e[_0x1a4e('0x2380')],_0x88bf03=_0x368e5a[_0x1a4e('0xd9')](_0x46923a,function(_0x368e5a){return!(0x84&_0x368e5a[_0x1a4e('0x7b2')]);});_0x88bf03!==_0x46923a&&(_0x326eae=_0x2d74ef(_0x88bf03,0x2));}else 0x84&_0x326eae['flags']&&(_0x326eae=_0x530b09);if((_0x415952=_0x326eae!==_0x146f6e)&&(_0x1b8154<0x1&&_0x2327c6&&(_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b5d')]),_0x56674b=!0x0),0x20000&_0x326eae['flags']))return _0x1d9562;}if(!_0x43afe0(_0x326eae)){if(_0x2327c6&&!_0x56674b){var _0x434714=!!_0x286d8f(_0x146f6e,void 0x0,_0x1adc17,!0x0,_0xf79407);_0x2cb4f4(_0x2327c6,!_0x55ff7e||_0x415952?_0x420b32?_0x368e5a['Diagnostics']['Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator']:_0x434714?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b5e')]:_0x368e5a[_0x1a4e('0x167d')]['Type_0_is_not_an_array_type']:_0x420b32?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b5f')]:_0x434714?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b60')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b61')],_0x5ad709(_0x326eae));}return _0x415952?_0x1d9562:void 0x0;}var _0x57b692=_0x3e5aca(_0x326eae,0x1);return _0x415952&&_0x57b692?0x84&_0x57b692[_0x1a4e('0x7b2')]?_0x1d9562:_0x2d74ef([_0x57b692,_0x1d9562],0x2):_0x57b692;}_0x3a0d26(_0x2327c6,_0x146f6e,_0x1adc17);}function _0x286d8f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(!_0x4e7589(_0x146f6e))return _0x578997(_0x146f6e,function(_0x146f6e){var _0x2c9ec9=_0x146f6e;if(_0x55ff7e){if(_0x2c9ec9[_0x1a4e('0x2b62')])return _0x2c9ec9[_0x1a4e('0x2b62')];if(_0x460f17(_0x146f6e,_0x349e29(!0x1))||_0x460f17(_0x146f6e,_0x4c9fc9(!0x1)))return _0x2c9ec9[_0x1a4e('0x2b62')]=_0x146f6e[_0x1a4e('0x2365')][0x0];}if(_0x1adc17){if(_0x2c9ec9[_0x1a4e('0x2b63')])return _0x55ff7e?_0x2c9ec9['iteratedTypeOfAsyncIterable']=_0x31547b(_0x2c9ec9[_0x1a4e('0x2b63')]):_0x2c9ec9[_0x1a4e('0x2b63')];if(_0x460f17(_0x146f6e,_0x14332c(!0x1))||_0x460f17(_0x146f6e,_0x1eb979(!0x1)))return _0x55ff7e?_0x2c9ec9[_0x1a4e('0x2b62')]=_0x31547b(_0x146f6e[_0x1a4e('0x2365')][0x0]):_0x2c9ec9[_0x1a4e('0x2b63')]=_0x146f6e[_0x1a4e('0x2365')][0x0];}var _0x420b32=_0x55ff7e&&_0x2032e1(_0x146f6e,_0x368e5a[_0x1a4e('0x29ed')](_0x1a4e('0x166b'))),_0x1b06ad=_0x420b32||(_0x1adc17?_0x2032e1(_0x146f6e,_0x368e5a[_0x1a4e('0x29ed')](_0x1a4e('0x335'))):void 0x0);if(!_0x4e7589(_0x1b06ad)){var _0x326eae=_0x1b06ad?_0x7bcdc7(_0x1b06ad,0x0):void 0x0;if(_0x368e5a[_0x1a4e('0x1c2')](_0x326eae)){var _0x56674b=_0x3d2fb2(_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x326eae,_0x4b6767),0x2),_0x2327c6,!!_0x420b32);return _0xf79407&&_0x2327c6&&_0x56674b&&_0x36c7ec(_0x146f6e,_0x420b32?function(_0x368e5a){return _0x499674(_0x349e29(!0x0),[_0x368e5a]);}(_0x56674b):_0x2f84f9(_0x56674b),_0x2327c6),_0x56674b?_0x55ff7e?_0x2c9ec9[_0x1a4e('0x2b62')]=_0x420b32?_0x56674b:_0x31547b(_0x56674b):_0x2c9ec9['iteratedTypeOfIterable']=_0x56674b:void 0x0;}_0x2327c6&&(_0x3a0d26(_0x2327c6,_0x146f6e,_0x55ff7e),_0x2327c6=void 0x0);}});}function _0x3a0d26(_0x146f6e,_0x2327c6,_0x55ff7e){_0x2cb4f4(_0x146f6e,_0x55ff7e?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b64')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b65')],_0x5ad709(_0x2327c6));}function _0x3d2fb2(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x4e7589(_0x146f6e)){var _0x1adc17=_0x146f6e;if(_0x55ff7e?_0x1adc17[_0x1a4e('0x2b66')]:_0x1adc17[_0x1a4e('0x2b67')])return _0x55ff7e?_0x1adc17[_0x1a4e('0x2b66')]:_0x1adc17['iteratedTypeOfIterator'];if(_0x460f17(_0x146f6e,(_0x55ff7e?_0x1a10ed:_0xb50316)(!0x1)))return _0x55ff7e?_0x1adc17[_0x1a4e('0x2b66')]=_0x146f6e[_0x1a4e('0x2365')][0x0]:_0x1adc17[_0x1a4e('0x2b67')]=_0x146f6e[_0x1a4e('0x2365')][0x0];var _0xf79407=_0x2032e1(_0x146f6e,_0x1a4e('0x7e'));if(!_0x4e7589(_0xf79407)){var _0x2c9ec9=_0xf79407?_0x7bcdc7(_0xf79407,0x0):_0x368e5a[_0x1a4e('0x1700')];if(0x0!==_0x2c9ec9['length']){var _0x420b32=_0x2d74ef(_0x368e5a[_0x1a4e('0x21')](_0x2c9ec9,_0x4b6767),0x2);if(!(_0x4e7589(_0x420b32)||_0x55ff7e&&_0x4e7589(_0x420b32=_0x350808(_0x420b32,_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2b68')])))){var _0x1b06ad=_0x420b32&&_0x2032e1(_0x420b32,'value');if(_0x1b06ad)return _0x55ff7e?_0x1adc17['iteratedTypeOfAsyncIterator']=_0x1b06ad:_0x1adc17[_0x1a4e('0x2b67')]=_0x1b06ad;_0x2327c6&&_0x2cb4f4(_0x2327c6,_0x55ff7e?_0x368e5a[_0x1a4e('0x167d')]['The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b69')]);}}else _0x2327c6&&_0x2cb4f4(_0x2327c6,_0x55ff7e?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b6a')]:_0x368e5a[_0x1a4e('0x167d')]['An_iterator_must_have_a_next_method']);}}}function _0x830334(_0x368e5a,_0x146f6e){if(!_0x4e7589(_0x368e5a))return _0x286d8f(_0x368e5a,void 0x0,_0x146f6e,!_0x146f6e,!0x1)||_0x3d2fb2(_0x368e5a,void 0x0,_0x146f6e);}function _0x555618(_0x146f6e){_0x3d1ff1(_0x146f6e)||function(_0x146f6e){for(var _0x2327c6=_0x146f6e;_0x2327c6;){if(_0x368e5a[_0x1a4e('0x2342')](_0x2327c6))return _0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b6b')]);switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xe9:if(_0x146f6e[_0x1a4e('0x1bc')]&&_0x2327c6[_0x1a4e('0x1bc')][_0x1a4e('0x22f3')]===_0x146f6e[_0x1a4e('0x1bc')][_0x1a4e('0x22f3')]){var _0x55ff7e=0xe4===_0x146f6e[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x2560')](_0x2327c6[_0x1a4e('0x2390')],!0x0);return!!_0x55ff7e&&_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement']);}break;case 0xe8:if(0xe5===_0x146f6e['kind']&&!_0x146f6e['label'])return!0x1;break;default:if(_0x368e5a[_0x1a4e('0x2560')](_0x2327c6,!0x1)&&!_0x146f6e[_0x1a4e('0x1bc')])return!0x1;}_0x2327c6=_0x2327c6['parent'];}if(_0x146f6e[_0x1a4e('0x1bc')]){var _0x1adc17=0xe5===_0x146f6e['kind']?_0x368e5a[_0x1a4e('0x167d')]['A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b6c')];return _0x2d955f(_0x146f6e,_0x1adc17);}var _0x1adc17=0xe5===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['Diagnostics'][_0x1a4e('0x2b6d')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b6e')];_0x2d955f(_0x146f6e,_0x1adc17);}(_0x146f6e);}function _0x23876f(_0x146f6e,_0x2327c6){var _0x55ff7e=0x2==(0x3&_0x368e5a[_0x1a4e('0x2a74')](_0x146f6e))?_0x32570e(_0x2327c6):_0x2327c6;return!!_0x55ff7e&&_0x1a74b9(_0x55ff7e,0x4003);}function _0x6e7490(_0x146f6e){_0x3d1ff1(_0x146f6e)||void 0x0===_0x146f6e['expression']&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e);if(!_0x3ad173(_0x2c9ec9)){var _0x420b32=_0x368e5a[_0x1a4e('0x2357')](_0x2c9ec9,_0x146f6e[_0x1a4e('0xa4')]);_0x125480['add'](_0x368e5a['createFileDiagnostic'](_0x2c9ec9,_0x368e5a[_0x1a4e('0x24b4')](_0x420b32),0x0,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407));}}(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b6f')]),_0x146f6e[_0x1a4e('0x2302')]&&_0x4e94e8(_0x146f6e[_0x1a4e('0x2302')]);}function _0x4bc1d9(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x4efc23(_0x146f6e[_0x1a4e('0xb1b')],0x1),_0x1adc17=_0x4efc23(_0x146f6e[_0x1a4e('0xb1b')],0x0),_0xf79407=_0x3e5aca(_0x146f6e,0x0),_0x2c9ec9=_0x3e5aca(_0x146f6e,0x1);if(_0xf79407||_0x2c9ec9){_0x368e5a[_0x1a4e('0x3b')](_0x192d7d(_0x146f6e),function(_0x368e5a){var _0x2327c6=_0x38797c(_0x368e5a);_0x88bf03(_0x368e5a,_0x2327c6,_0x146f6e,_0x1adc17,_0xf79407,0x0),_0x88bf03(_0x368e5a,_0x2327c6,_0x146f6e,_0x55ff7e,_0x2c9ec9,0x1);});var _0x420b32=_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2340')];if(0x1&_0x368e5a[_0x1a4e('0x249a')](_0x146f6e)&&_0x368e5a['isClassLike'](_0x420b32))for(var _0x1b06ad=0x0,_0x326eae=_0x420b32[_0x1a4e('0x2369')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];if(!_0x368e5a['hasModifier'](_0x56674b,0x20)&&_0x45371c(_0x56674b)){var _0x415952=_0x54a27b(_0x56674b),_0x46923a=_0x38797c(_0x415952);_0x88bf03(_0x415952,_0x46923a,_0x146f6e,_0x1adc17,_0xf79407,0x0),_0x88bf03(_0x415952,_0x46923a,_0x146f6e,_0x55ff7e,_0x2c9ec9,0x1);}}}function _0x88bf03(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(_0xf79407&&!_0x368e5a[_0x1a4e('0x2402')](_0x146f6e)){var _0x420b32,_0x1b06ad=_0x146f6e[_0x1a4e('0x2340')],_0x326eae=_0x1b06ad&&_0x368e5a[_0x1a4e('0x23e9')](_0x1b06ad);if(0x1!==_0x2c9ec9||(_0x326eae?_0x5799a2(_0x326eae):_0x2a5163(_0x146f6e[_0x1a4e('0x22e8')])))_0x1b06ad&&_0x326eae&&(0xcc===_0x1b06ad[_0x1a4e('0x146b')]||0x95===_0x326eae['kind']||_0x146f6e['parent']===_0x55ff7e[_0x1a4e('0xb1b')])?_0x420b32=_0x1b06ad:_0x1adc17?_0x420b32=_0x1adc17:0x2&_0x368e5a['getObjectFlags'](_0x55ff7e)&&(_0x420b32=_0x368e5a['forEach'](_0xd458b8(_0x55ff7e),function(_0x368e5a){return _0x35b38f(_0x368e5a,_0x146f6e[_0x1a4e('0x22e8')])&&_0x3e5aca(_0x368e5a,_0x2c9ec9);})?void 0x0:_0x55ff7e[_0x1a4e('0xb1b')]['declarations'][0x0]),_0x420b32&&!_0x720afc(_0x2327c6,_0xf79407)&&_0x2cb4f4(_0x420b32,0x0===_0x2c9ec9?_0x368e5a['Diagnostics'][_0x1a4e('0x2b70')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b71')],_0x22aa27(_0x146f6e),_0x5ad709(_0x2327c6),_0x5ad709(_0xf79407));}}_0xf79407&&_0x2c9ec9&&!(_0x2327c6=_0x55ff7e||_0x1adc17)&&0x2&_0x368e5a['getObjectFlags'](_0x146f6e)&&(_0x2327c6=_0x368e5a[_0x1a4e('0x3b')](_0xd458b8(_0x146f6e),function(_0x368e5a){return _0x3e5aca(_0x368e5a,0x0)&&_0x3e5aca(_0x368e5a,0x1);})?void 0x0:_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0]),_0x2327c6&&!_0x720afc(_0x2c9ec9,_0xf79407)&&_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b72')],_0x5ad709(_0x2c9ec9),_0x5ad709(_0xf79407));}function _0x3ebb6b(_0x368e5a,_0x146f6e){switch(_0x368e5a[_0x1a4e('0x22f3')]){case'any':case'unknown':case'number':case _0x1a4e('0xf16'):case _0x1a4e('0x34b'):case _0x1a4e('0x9'):case _0x1a4e('0xb1b'):case _0x1a4e('0x22b1'):case _0x1a4e('0x85'):_0x2cb4f4(_0x368e5a,_0x146f6e,_0x368e5a['escapedText']);}}function _0x236884(_0x146f6e){if(_0x146f6e)for(var _0x2327c6=!0x1,_0x55ff7e=0x0;_0x55ff7e<_0x146f6e[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x146f6e[_0x55ff7e];if(_0x20ea86(_0xf79407),_0x1adc17){_0xf79407[_0x1a4e('0x8')]?_0x2327c6=!0x0:_0x2327c6&&_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')]['Required_type_parameters_may_not_follow_optional_type_parameters']);for(var _0x2c9ec9=0x0;_0x2c9ec9<_0x55ff7e;_0x2c9ec9++)_0x146f6e[_0x2c9ec9][_0x1a4e('0xb1b')]===_0xf79407[_0x1a4e('0xb1b')]&&_0x2cb4f4(_0xf79407['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2848')],_0x368e5a['declarationNameToString'](_0xf79407[_0x1a4e('0x2cb')]));}}}function _0xc6e039(_0x146f6e){if(0x1!==_0x146f6e['declarations'][_0x1a4e('0x1e')]){var _0x2327c6=_0xdba731(_0x146f6e);if(!_0x2327c6['typeParametersChecked']){_0x2327c6[_0x1a4e('0x2b73')]=!0x0;var _0x55ff7e=function(_0x146f6e){return _0x368e5a['filter'](_0x146f6e[_0x1a4e('0x22e5')],function(_0x368e5a){return 0xf0===_0x368e5a['kind']||0xf1===_0x368e5a['kind'];});}(_0x146f6e);if(_0x55ff7e[_0x1a4e('0x1e')]<=0x1)return;if(!function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x1e')](_0x2327c6),_0x1adc17=_0x4d15f3(_0x2327c6),_0xf79407=0x0,_0x2c9ec9=_0x146f6e;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x368e5a[_0x1a4e('0x29af')](_0x420b32),_0x326eae=_0x1b06ad[_0x1a4e('0x1e')];if(_0x326eae<_0x1adc17||_0x326eae>_0x55ff7e)return!0x1;for(var _0x56674b=0x0;_0x56674b<_0x326eae;_0x56674b++){var _0x415952=_0x1b06ad[_0x56674b],_0x46923a=_0x2327c6[_0x56674b];if(_0x415952[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]!==_0x46923a['symbol'][_0x1a4e('0x22e8')])return!0x1;var _0x88bf03=_0x368e5a[_0x1a4e('0x24e2')](_0x415952),_0x434714=_0x88bf03&&_0x3fafb1(_0x88bf03),_0x57b692=_0x2a8efa(_0x46923a);if(_0x434714&&(!_0x57b692||!_0x2ccc16(_0x434714,_0x57b692)))return!0x1;var _0x1ad11f=_0x415952[_0x1a4e('0x8')]&&_0x3fafb1(_0x415952['default']),_0x35bd0a=_0x41f224(_0x46923a);if(_0x1ad11f&&_0x35bd0a&&!_0x2ccc16(_0x1ad11f,_0x35bd0a))return!0x1;}}return!0x0;}(_0x55ff7e,_0x287d7b(_0x146f6e)[_0x1a4e('0x29c8')]))for(var _0x1adc17=_0x22aa27(_0x146f6e),_0xf79407=0x0,_0x2c9ec9=_0x55ff7e;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++)_0x2cb4f4(_0x2c9ec9[_0xf79407]['name'],_0x368e5a[_0x1a4e('0x167d')]['All_declarations_of_0_must_have_identical_type_parameters'],_0x1adc17);}}}function _0x1d5cdf(_0x146f6e){!function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e);(function(_0x146f6e){var _0x2327c6=!0x1,_0x55ff7e=!0x1;if(!_0xbfc3a2(_0x146f6e)&&_0x146f6e[_0x1a4e('0x237f')])for(var _0x1adc17=0x0,_0xf79407=_0x146f6e[_0x1a4e('0x237f')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(0x56===_0x2c9ec9['token']){if(_0x2327c6)return _0x1096e4(_0x2c9ec9,_0x368e5a['Diagnostics'][_0x1a4e('0x2b74')]);if(_0x55ff7e)return _0x1096e4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b75')]);if(_0x2c9ec9[_0x1a4e('0x2380')]['length']>0x1)return _0x1096e4(_0x2c9ec9[_0x1a4e('0x2380')][0x1],_0x368e5a[_0x1a4e('0x167d')]['Classes_can_only_extend_a_single_class']);_0x2327c6=!0x0;}else{if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x6d===_0x2c9ec9['token']),_0x55ff7e)return _0x1096e4(_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')]['implements_clause_already_seen']);_0x55ff7e=!0x0;}_0x4b8115(_0x2c9ec9);}}(_0x146f6e)||_0x55482a(_0x146f6e[_0x1a4e('0x23d7')],_0x2327c6));}(_0x146f6e),_0x234c22(_0x146f6e),_0x146f6e['name']&&(_0x3ebb6b(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b76')]),_0x162a99(_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')]),_0xd2b666(_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')]),0x400000&_0x146f6e[_0x1a4e('0x7b2')]||function(_0x146f6e){0x1===_0x1b8154&&_0x1a4e('0xfb5')===_0x146f6e[_0x1a4e('0x22f3')]&&_0x2918ee!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')]&&_0x2918ee!==_0x368e5a[_0x1a4e('0x1a35')]['ESNext']&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b77')],_0x368e5a[_0x1a4e('0x1a35')][_0x2918ee]);}(_0x146f6e['name'])),_0x236884(_0x368e5a[_0x1a4e('0x29af')](_0x146f6e)),_0x503d7c(_0x146f6e);var _0x2327c6=_0x54a27b(_0x146f6e),_0x55ff7e=_0x287d7b(_0x2327c6),_0xf79407=_0x98e900(_0x55ff7e),_0x2c9ec9=_0x38797c(_0x2327c6);_0xc6e039(_0x2327c6),function(_0x146f6e){var _0x2327c6;!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2b78')]=0x1]=_0x1a4e('0x2b78'),_0x368e5a[_0x368e5a[_0x1a4e('0x2b79')]=0x2]=_0x1a4e('0x2b79'),_0x368e5a[_0x368e5a[_0x1a4e('0x196b')]=0x4]='Method',_0x368e5a[_0x368e5a['Property']=0x3]=_0x1a4e('0x1963');}(_0x2327c6||(_0x2327c6={}));for(var _0x55ff7e=_0x368e5a['createUnderscoreEscapedMap'](),_0x1adc17=_0x368e5a[_0x1a4e('0x283a')](),_0xf79407=0x0,_0x2c9ec9=_0x146f6e['members'];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(0x9d===_0x420b32[_0x1a4e('0x146b')])for(var _0x1b06ad=0x0,_0x326eae=_0x420b32[_0x1a4e('0x111a')];_0x1b06ad<_0x326eae['length'];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];_0x368e5a[_0x1a4e('0x235e')](_0x56674b)&&!_0x368e5a[_0x1a4e('0x1678')](_0x56674b[_0x1a4e('0x2cb')])&&_0x434714(_0x55ff7e,_0x56674b[_0x1a4e('0x2cb')],_0x56674b[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')],0x3);}else{var _0x415952=_0x368e5a['hasModifier'](_0x420b32,0x20)?_0x1adc17:_0x55ff7e,_0x46923a=_0x420b32[_0x1a4e('0x2cb')],_0x88bf03=_0x46923a&&_0x368e5a[_0x1a4e('0x29ee')](_0x46923a);if(_0x46923a&&_0x88bf03)switch(_0x420b32[_0x1a4e('0x146b')]){case 0x9e:_0x434714(_0x415952,_0x46923a,_0x88bf03,0x1);break;case 0x9f:_0x434714(_0x415952,_0x46923a,_0x88bf03,0x2);break;case 0x9a:_0x434714(_0x415952,_0x46923a,_0x88bf03,0x3);break;case 0x9c:_0x434714(_0x415952,_0x46923a,_0x88bf03,0x4);}}}function _0x434714(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e[_0x1a4e('0x179')](_0x55ff7e);_0xf79407?0x4&_0xf79407?0x4!==_0x1adc17&&_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['Duplicate_identifier_0'],_0x368e5a[_0x1a4e('0x1675')](_0x2327c6)):_0xf79407&_0x1adc17?_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2848')],_0x368e5a['getTextOfNode'](_0x2327c6)):_0x146f6e[_0x1a4e('0x17a')](_0x55ff7e,_0xf79407|_0x1adc17):_0x146f6e[_0x1a4e('0x17a')](_0x55ff7e,_0x1adc17);}}(_0x146f6e),0x400000&_0x146f6e[_0x1a4e('0x7b2')]||function(_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x2369')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6],_0xf79407=_0x1adc17[_0x1a4e('0x2cb')];if(_0x368e5a[_0x1a4e('0x24c6')](_0x1adc17,0x20)&&_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x29ee')](_0xf79407);switch(_0x2c9ec9){case _0x1a4e('0x2cb'):case _0x1a4e('0x1e'):case _0x1a4e('0x2b7a'):case _0x1a4e('0x2373'):case _0x1a4e('0xa'):_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b7b')],_0x2c9ec9,_0xd6fe32(_0x54a27b(_0x146f6e)));}}}}(_0x146f6e);var _0x420b32=_0x368e5a['getEffectiveBaseTypeNode'](_0x146f6e);if(_0x420b32){_0x1b8154<0x2&&_0x1145ed(_0x420b32['parent'],0x1);var _0x1b06ad=_0xd458b8(_0x55ff7e);if(_0x1b06ad['length']&&_0x1adc17){var _0x326eae=_0x1b06ad[0x0],_0x56674b=_0x4804db(_0x55ff7e),_0x415952=_0x26521d(_0x56674b);!function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x7bcdc7(_0x146f6e,0x1);if(_0x55ff7e['length']){var _0x1adc17=_0x55ff7e[0x0][_0x1a4e('0x2350')];if(_0x1adc17&&_0x368e5a[_0x1a4e('0x24c6')](_0x1adc17,0x8)){var _0xf79407=_0x368e5a['getClassLikeDeclarationOfSymbol'](_0x146f6e[_0x1a4e('0xb1b')]);_0xc962e(_0x2327c6,_0xf79407)||_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b7c')],_0x2ed35d(_0x146f6e[_0x1a4e('0xb1b')]));}}}(_0x415952,_0x420b32),_0x2505ec(_0x420b32[_0x1a4e('0x2302')]);var _0x46923a=_0x368e5a[_0x1a4e('0x23ee')](_0x146f6e);if(_0x46923a&&_0x46923a!==_0x420b32&&_0x4e94e8(_0x46923a[_0x1a4e('0x2302')]),_0x368e5a['some'](_0x420b32['typeArguments'])){_0x368e5a[_0x1a4e('0x3b')](_0x420b32['typeArguments'],_0x2505ec);for(var _0x88bf03=0x0,_0x434714=_0x4b6436(_0x415952,_0x420b32['typeArguments'],_0x420b32);_0x88bf03<_0x434714[_0x1a4e('0x1e')]&&_0x468401(_0x420b32,_0x434714[_0x88bf03][_0x1a4e('0x23d7')]);_0x88bf03++);}if(_0x36c7ec(_0xf79407,_0x3d8f5d=_0x98e900(_0x326eae,_0x55ff7e['thisType']),void 0x0)?_0x36c7ec(_0x2c9ec9,_0x1863f4(_0x415952),_0x146f6e['name']||_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b7d')]):_0xf5fe65(_0x146f6e,_0xf79407,_0x3d8f5d,_0x368e5a['Diagnostics'][_0x1a4e('0x2b7e')]),0x840000&_0x56674b['flags']&&!_0x237e8c(_0x2c9ec9)&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')]||_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b7f')]),!(_0x415952[_0x1a4e('0xb1b')]&&0x20&_0x415952[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]||0x840000&_0x56674b['flags'])){var _0x57b692=_0x29d3c4(_0x415952,_0x420b32[_0x1a4e('0x2365')],_0x420b32);_0x368e5a[_0x1a4e('0x3b')](_0x57b692,function(_0x368e5a){return!_0x4cff90(_0x368e5a[_0x1a4e('0x2350')])&&_0x4b6767(_0x368e5a)!==_0x326eae;})&&_0x2cb4f4(_0x420b32[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x167d')]['Base_constructors_must_all_have_the_same_return_type']);}!function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x41c062(_0x2327c6),_0x1adc17=0x0,_0xf79407=_0x55ff7e;_0x1adc17<_0xf79407['length'];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x2f28cd(_0x2c9ec9);if(!(0x400000&_0x420b32[_0x1a4e('0x7b2')])){var _0x1b06ad=_0x2f28cd(_0x35b38f(_0x146f6e,_0x420b32[_0x1a4e('0x22e8')])),_0x326eae=_0x368e5a[_0x1a4e('0x248c')](_0x420b32);if(_0x368e5a['Debug'][_0x1a4e('0xba0')](!!_0x1b06ad,_0x1a4e('0x2b80')),_0x1b06ad)if(_0x1b06ad===_0x420b32){var _0x56674b=_0x368e5a[_0x1a4e('0x2499')](_0x146f6e[_0x1a4e('0xb1b')]);!(0x80&_0x326eae)||_0x56674b&&_0x368e5a['hasModifier'](_0x56674b,0x80)||(0xd1===_0x56674b[_0x1a4e('0x146b')]?_0x2cb4f4(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1'],_0x22aa27(_0x2c9ec9),_0x5ad709(_0x2327c6)):_0x2cb4f4(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b81')],_0x5ad709(_0x146f6e),_0x22aa27(_0x2c9ec9),_0x5ad709(_0x2327c6)));}else{var _0x415952=_0x368e5a[_0x1a4e('0x248c')](_0x1b06ad);if(0x8&_0x326eae||0x8&_0x415952)continue;if(_0x4074aa(_0x420b32)||0x18004&_0x420b32['flags']&&0x18004&_0x1b06ad[_0x1a4e('0x7b2')])continue;var _0x46923a=void 0x0;_0x46923a=_0x4074aa(_0x420b32)?0x18000&_0x1b06ad[_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b82')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b83')]:0x18000&_0x420b32['flags']?_0x368e5a[_0x1a4e('0x167d')]['Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b84')],_0x2cb4f4(_0x368e5a[_0x1a4e('0x23e9')](_0x1b06ad['valueDeclaration'])||_0x1b06ad['valueDeclaration'],_0x46923a,_0x5ad709(_0x2327c6),_0x22aa27(_0x420b32),_0x5ad709(_0x146f6e));}}}}(_0x55ff7e,_0x326eae);}}var _0x1ad11f=_0x368e5a[_0x1a4e('0x167a')](_0x146f6e);if(_0x1ad11f)for(var _0x35bd0a=0x0,_0x36aa2e=_0x1ad11f;_0x35bd0a<_0x36aa2e[_0x1a4e('0x1e')];_0x35bd0a++){var _0x30b3ec=_0x36aa2e[_0x35bd0a];if(_0x368e5a['isEntityNameExpression'](_0x30b3ec[_0x1a4e('0x2302')])||_0x2cb4f4(_0x30b3ec[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x167d')]['A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments']),_0x10a438(_0x30b3ec),_0x1adc17){var _0x1b487e=_0x3fafb1(_0x30b3ec);if(_0x1b487e!==_0x336c2)if(_0x2a2e0d(_0x1b487e)){var _0x3d8f5d,_0x15a30a=_0x1b487e[_0x1a4e('0xb1b')]&&0x20&_0x1b487e['symbol'][_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a25')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a24')];_0x36c7ec(_0xf79407,_0x3d8f5d=_0x98e900(_0x1b487e,_0x55ff7e['thisType']),void 0x0)||_0xf5fe65(_0x146f6e,_0xf79407,_0x3d8f5d,_0x15a30a);}else _0x2cb4f4(_0x30b3ec,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b85')]);}}_0x1adc17&&(_0x4bc1d9(_0x55ff7e),_0x250ef3(_0x146f6e),function(_0x146f6e){if(_0x4f3c04&&_0x2c2aaa&&!(0x400000&_0x146f6e[_0x1a4e('0x7b2')]))for(var _0x2327c6=_0x5deaec(_0x146f6e),_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2369')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0x20f81b(_0xf79407)){var _0x2c9ec9=_0xf79407['name'];if(_0x368e5a['isIdentifier'](_0x2c9ec9)){var _0x420b32=_0x38797c(_0x54a27b(_0xf79407));0x3&_0x420b32[_0x1a4e('0x7b2')]||0x8000&_0x30e928(_0x420b32)||_0x2327c6&&_0x394a65(_0x2c9ec9,_0x420b32,_0x2327c6)||_0x2cb4f4(_0xf79407[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics']['Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor'],_0x368e5a[_0x1a4e('0x1676')](_0x2c9ec9));}}}}(_0x146f6e));}function _0xf5fe65(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=!0x1,_0x2c9ec9=function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x29c2')](_0x146f6e))return'continue';var _0x1adc17=_0x146f6e['name']&&_0x5e798c(_0x146f6e[_0x1a4e('0x2cb')])||_0x5e798c(_0x146f6e);if(_0x1adc17){var _0x2c9ec9=_0x3c127b(_0x2327c6,_0x1adc17[_0x1a4e('0x22e8')]),_0x420b32=_0x3c127b(_0x55ff7e,_0x1adc17[_0x1a4e('0x22e8')]);_0x2c9ec9&&_0x420b32&&(_0x36c7ec(_0x38797c(_0x2c9ec9),_0x38797c(_0x420b32),_0x146f6e['name']||_0x146f6e,void 0x0,function(){return _0x368e5a[_0x1a4e('0x2586')](void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b86')],_0x22aa27(_0x1adc17),_0x5ad709(_0x2327c6),_0x5ad709(_0x55ff7e));})||(_0xf79407=!0x0));}},_0x420b32=0x0,_0x1b06ad=_0x146f6e[_0x1a4e('0x2369')];_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++)_0x2c9ec9(_0x1b06ad[_0x420b32]);_0xf79407||_0x36c7ec(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2cb')]||_0x146f6e,_0x1adc17);}function _0x2f28cd(_0x146f6e){return 0x1&_0x368e5a['getCheckFlags'](_0x146f6e)?_0x146f6e[_0x1a4e('0xd95')]:_0x146f6e;}function _0x20f81b(_0x146f6e){return 0x9a===_0x146f6e[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0xa0)&&!_0x146f6e[_0x1a4e('0x25f7')]&&!_0x146f6e[_0x1a4e('0x236a')];}function _0x394a65(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2894')](_0x368e5a['createThis'](),_0x146f6e);return _0x1adc17[_0x1a4e('0x2302')][_0x1a4e('0x11c')]=_0x1adc17,_0x1adc17[_0x1a4e('0x11c')]=_0x55ff7e,_0x1adc17['flowNode']=_0x55ff7e[_0x1a4e('0x2876')],!(0x8000&_0x30e928(_0x179bce(_0x1adc17,_0x2327c6,_0x6d96b4(_0x2327c6))));}function _0x58ca6f(_0x146f6e){if(_0xbfc3a2(_0x146f6e)||function(_0x146f6e){var _0x2327c6=!0x1;if(_0x146f6e[_0x1a4e('0x237f')])for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x237f')];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0x56!==_0xf79407[_0x1a4e('0x2381')])return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x6d===_0xf79407[_0x1a4e('0x2381')]),_0x1096e4(_0xf79407,_0x368e5a['Diagnostics'][_0x1a4e('0x2b87')]);if(_0x2327c6)return _0x1096e4(_0xf79407,_0x368e5a['Diagnostics'][_0x1a4e('0x2b74')]);_0x2327c6=!0x0,_0x4b8115(_0xf79407);}}(_0x146f6e),_0x236884(_0x146f6e[_0x1a4e('0x23d7')]),_0x1adc17){_0x3ebb6b(_0x146f6e['name'],_0x368e5a[_0x1a4e('0x167d')]['Interface_name_cannot_be_0']),_0x503d7c(_0x146f6e);var _0x2327c6=_0x54a27b(_0x146f6e);if(_0xc6e039(_0x2327c6),_0x146f6e===_0x368e5a[_0x1a4e('0x28c9')](_0x2327c6,0xf1)){var _0x55ff7e=_0x287d7b(_0x2327c6),_0xf79407=_0x98e900(_0x55ff7e);if(function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0xd458b8(_0x146f6e);if(_0x55ff7e[_0x1a4e('0x1e')]<0x2)return!0x0;var _0x1adc17=_0x368e5a['createUnderscoreEscapedMap']();_0x368e5a[_0x1a4e('0x3b')](_0x353866(_0x146f6e)[_0x1a4e('0x29b8')],function(_0x368e5a){_0x1adc17[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x22e8')],{'prop':_0x368e5a,'containingType':_0x146f6e});});for(var _0xf79407=!0x0,_0x2c9ec9=0x0,_0x420b32=_0x55ff7e;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++)for(var _0x1b06ad=_0x420b32[_0x2c9ec9],_0x326eae=0x0,_0x56674b=_0x41c062(_0x98e900(_0x1b06ad,_0x146f6e['thisType']));_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x415952=_0x56674b[_0x326eae],_0x46923a=_0x1adc17[_0x1a4e('0x179')](_0x415952[_0x1a4e('0x22e8')]);if(_0x46923a){if(_0x46923a[_0x1a4e('0x28e5')]!==_0x146f6e&&0x0===_0x1e9716(_0x46923a['prop'],_0x415952,_0x40991a)){_0xf79407=!0x1;var _0x88bf03=_0x5ad709(_0x46923a[_0x1a4e('0x28e5')]),_0x434714=_0x5ad709(_0x1b06ad),_0x57b692=_0x368e5a[_0x1a4e('0x2586')](void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b88')],_0x22aa27(_0x415952),_0x88bf03,_0x434714);_0x57b692=_0x368e5a[_0x1a4e('0x2586')](_0x57b692,_0x368e5a['Diagnostics'][_0x1a4e('0x2b89')],_0x5ad709(_0x146f6e),_0x88bf03,_0x434714),_0x125480['add'](_0x368e5a[_0x1a4e('0x294d')](_0x2327c6,_0x57b692));}}else _0x1adc17[_0x1a4e('0x17a')](_0x415952[_0x1a4e('0x22e8')],{'prop':_0x415952,'containingType':_0x1b06ad});}return _0xf79407;}(_0x55ff7e,_0x146f6e['name'])){for(var _0x2c9ec9=0x0,_0x420b32=_0xd458b8(_0x55ff7e);_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++)_0x36c7ec(_0xf79407,_0x98e900(_0x420b32[_0x2c9ec9],_0x55ff7e[_0x1a4e('0x2886')]),_0x146f6e['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b8a')]);_0x4bc1d9(_0x55ff7e);}}_0x5a257c(_0x146f6e);}_0x368e5a[_0x1a4e('0x3b')](_0x368e5a[_0x1a4e('0x167b')](_0x146f6e),function(_0x146f6e){_0x368e5a['isEntityNameExpression'](_0x146f6e['expression'])||_0x2cb4f4(_0x146f6e[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b8b')]),_0x10a438(_0x146f6e);}),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2369')],_0x2505ec),_0x1adc17&&(_0x250ef3(_0x146f6e),_0x40a6cb(_0x146f6e));}function _0x2f9c58(_0x368e5a){var _0x146f6e=_0x165ecf(_0x368e5a);if(!(0x4000&_0x146f6e[_0x1a4e('0x7b2')])){_0x146f6e[_0x1a4e('0x7b2')]|=0x4000;for(var _0x2327c6=0x0,_0x55ff7e=0x0,_0x1adc17=_0x368e5a[_0x1a4e('0x2369')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e],_0x2c9ec9=_0x104ae8(_0xf79407,_0x2327c6);_0x165ecf(_0xf79407)[_0x1a4e('0x2b8c')]=_0x2c9ec9,_0x2327c6=_0x1a4e('0x3d')==typeof _0x2c9ec9?_0x2c9ec9+0x1:void 0x0;}}}function _0x104ae8(_0x146f6e,_0x2327c6){if(_0x1655e0(_0x146f6e['name']))_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b8d')]);else{var _0x55ff7e=_0x368e5a[_0x1a4e('0x2351')](_0x146f6e[_0x1a4e('0x2cb')]);_0x2a5163(_0x55ff7e)&&!_0x3faf80(_0x55ff7e)&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics']['An_enum_member_cannot_have_a_numeric_name']);}return _0x146f6e[_0x1a4e('0x236a')]?function(_0x146f6e){var _0x2327c6=_0x49b942(_0x54a27b(_0x146f6e['parent'])),_0x55ff7e=_0x368e5a[_0x1a4e('0x235b')](_0x146f6e[_0x1a4e('0x11c')]),_0x1adc17=_0x146f6e['initializer'],_0xf79407=0x1!==_0x2327c6||_0x4d4865(_0x146f6e)?function _0x2327c6(_0x55ff7e){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xca:var _0x1adc17=_0x2327c6(_0x55ff7e[_0x1a4e('0x1784')]);if(_0x1a4e('0x3d')==typeof _0x1adc17)switch(_0x55ff7e['operator']){case 0x26:return _0x1adc17;case 0x27:return-_0x1adc17;case 0x35:return~_0x1adc17;}break;case 0xcc:var _0xf79407=_0x2327c6(_0x55ff7e[_0x1a4e('0x5f')]),_0x420b32=_0x2327c6(_0x55ff7e[_0x1a4e('0x5d')]);if(_0x1a4e('0x3d')==typeof _0xf79407&&_0x1a4e('0x3d')==typeof _0x420b32)switch(_0x55ff7e[_0x1a4e('0x237a')][_0x1a4e('0x146b')]){case 0x32:return _0xf79407|_0x420b32;case 0x31:return _0xf79407&_0x420b32;case 0x2f:return _0xf79407>>_0x420b32;case 0x30:return _0xf79407>>>_0x420b32;case 0x2e:return _0xf79407<<_0x420b32;case 0x33:return _0xf79407^_0x420b32;case 0x28:return _0xf79407*_0x420b32;case 0x2a:return _0xf79407/_0x420b32;case 0x26:return _0xf79407+_0x420b32;case 0x27:return _0xf79407-_0x420b32;case 0x2b:return _0xf79407%_0x420b32;case 0x29:return Math[_0x1a4e('0x8e')](_0xf79407,_0x420b32);}else if('string'==typeof _0xf79407&&'string'==typeof _0x420b32&&0x26===_0x55ff7e[_0x1a4e('0x237a')][_0x1a4e('0x146b')])return _0xf79407+_0x420b32;break;case 0xa:return _0x55ff7e[_0x1a4e('0xe04')];case 0x8:return _0x3e40df(_0x55ff7e),+_0x55ff7e[_0x1a4e('0xe04')];case 0xc3:return _0x2327c6(_0x55ff7e[_0x1a4e('0x2302')]);case 0x48:var _0x1b06ad=_0x55ff7e;return _0x3faf80(_0x1b06ad[_0x1a4e('0x22f3')])?+_0x1b06ad['escapedText']:_0x368e5a['nodeIsMissing'](_0x55ff7e)?0x0:_0x2c9ec9(_0x55ff7e,_0x54a27b(_0x146f6e[_0x1a4e('0x11c')]),_0x1b06ad['escapedText']);case 0xbe:case 0xbd:var _0x326eae=_0x55ff7e;if(function _0x368e5a(_0x146f6e){return 0x48===_0x146f6e['kind']||0xbd===_0x146f6e['kind']&&_0x368e5a(_0x146f6e[_0x1a4e('0x2302')])||0xbe===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a(_0x146f6e[_0x1a4e('0x2302')])&&0xa===_0x146f6e[_0x1a4e('0x24a7')][_0x1a4e('0x146b')];}(_0x326eae)){var _0x56674b=_0x1dceed(_0x326eae[_0x1a4e('0x2302')]);if(_0x56674b[_0x1a4e('0xb1b')]&&0x180&_0x56674b[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]){var _0x415952=void 0x0;if(0xbd===_0x326eae[_0x1a4e('0x146b')])_0x415952=_0x326eae[_0x1a4e('0x2cb')]['escapedText'];else{var _0x46923a=_0x326eae[_0x1a4e('0x24a7')];_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a['isLiteralExpression'](_0x46923a)),_0x415952=_0x368e5a['escapeLeadingUnderscores'](_0x46923a[_0x1a4e('0xe04')]);}return _0x2c9ec9(_0x55ff7e,_0x56674b[_0x1a4e('0xb1b')],_0x415952);}}}}(_0x1adc17):void 0x0;if(void 0x0!==_0xf79407)_0x55ff7e&&_0x1a4e('0x3d')==typeof _0xf79407&&!isFinite(_0xf79407)&&_0x2cb4f4(_0x1adc17,isNaN(_0xf79407)?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b8e')]:_0x368e5a[_0x1a4e('0x167d')]['const_enum_member_initializer_was_evaluated_to_a_non_finite_value']);else{if(0x1===_0x2327c6)return _0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b8f')]),0x0;_0x55ff7e?_0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')]['In_const_enum_declarations_member_initializer_must_be_constant_expression']):0x400000&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x7b2')]?_0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b90')]):_0x36c7ec(_0x4e94e8(_0x1adc17),_0x287d7b(_0x54a27b(_0x146f6e[_0x1a4e('0x11c')])),_0x1adc17,void 0x0);}return _0xf79407;function _0x2c9ec9(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x55ff7e[_0x1a4e('0x0')]['get'](_0x1adc17);if(_0xf79407){var _0x2c9ec9=_0xf79407[_0x1a4e('0x2340')];if(_0x2c9ec9!==_0x146f6e)return _0x164313(_0x2c9ec9,_0x146f6e)?_0x2de6b3(_0x2c9ec9):(_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b91')]),0x0);}}}(_0x146f6e):0x400000&_0x146f6e[_0x1a4e('0x11c')]['flags']&&!_0x368e5a['isEnumConst'](_0x146f6e[_0x1a4e('0x11c')])?void 0x0:void 0x0!==_0x2327c6?_0x2327c6:void _0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')]['Enum_member_must_have_initializer']);}function _0x322453(_0x146f6e){if(_0x1adc17){var _0x2327c6=_0x368e5a[_0x1a4e('0x2343')](_0x146f6e),_0x55ff7e=0x400000&_0x146f6e[_0x1a4e('0x7b2')];_0x2327c6&&!_0x55ff7e&&_0x2cb4f4(_0x146f6e['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b92')]);var _0xf79407=_0x368e5a[_0x1a4e('0x233c')](_0x146f6e);if(_0x4ecc3a(_0x146f6e,_0xf79407?_0x368e5a[_0x1a4e('0x167d')]['An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b93')]))return;_0xbfc3a2(_0x146f6e)||_0x55ff7e||0xa!==_0x146f6e['name'][_0x1a4e('0x146b')]||_0x2d955f(_0x146f6e['name'],_0x368e5a[_0x1a4e('0x167d')]['Only_ambient_modules_can_use_quoted_names']),_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['name'])&&(_0x162a99(_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')]),_0xd2b666(_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')])),_0x503d7c(_0x146f6e);var _0x2c9ec9=_0x54a27b(_0x146f6e);if(0x200&_0x2c9ec9[_0x1a4e('0x7b2')]&&_0x2c9ec9[_0x1a4e('0x22e5')][_0x1a4e('0x1e')]>0x1&&!_0x55ff7e&&_0x415952(_0x146f6e,!!_0x239ab2[_0x1a4e('0x2781')]||!!_0x239ab2[_0x1a4e('0x2347')])){var _0x420b32=function(_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x22e5')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if((0xf0===_0x1adc17['kind']||0xef===_0x1adc17['kind']&&_0x368e5a[_0x1a4e('0x2328')](_0x1adc17[_0x1a4e('0x8f2')]))&&!(0x400000&_0x1adc17[_0x1a4e('0x7b2')]))return _0x1adc17;}}(_0x2c9ec9);_0x420b32&&(_0x368e5a[_0x1a4e('0x1674')](_0x146f6e)!==_0x368e5a[_0x1a4e('0x1674')](_0x420b32)?_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics']['A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged']):_0x146f6e[_0x1a4e('0xa4')]<_0x420b32['pos']&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')]['A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged']));var _0x1b06ad=_0x368e5a[_0x1a4e('0x28c9')](_0x2c9ec9,0xf0);_0x1b06ad&&(_0x46923a=_0x146f6e,_0x88bf03=_0x1b06ad,_0x434714=_0x368e5a['getEnclosingBlockScopeContainer'](_0x46923a),_0x57b692=_0x368e5a[_0x1a4e('0x283e')](_0x88bf03),_0x25b659(_0x434714)?_0x25b659(_0x57b692):!_0x25b659(_0x57b692)&&_0x434714===_0x57b692)&&(_0x165ecf(_0x146f6e)[_0x1a4e('0x7b2')]|=0x8000);}if(_0xf79407)if(_0x368e5a[_0x1a4e('0x2344')](_0x146f6e)){if((_0x2327c6||0x2000000&_0x54a27b(_0x146f6e)[_0x1a4e('0x7b2')])&&_0x146f6e['body'])for(var _0x326eae=0x0,_0x56674b=_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x2366')];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++)_0xbd1d5b(_0x56674b[_0x326eae],_0x2327c6);}else _0x25b659(_0x146f6e[_0x1a4e('0x11c')])?_0x2327c6?_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b94')]):_0x368e5a[_0x1a4e('0x22dd')](_0x368e5a['getTextOfIdentifierOrLiteral'](_0x146f6e[_0x1a4e('0x2cb')]))&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b95')]):_0x2cb4f4(_0x146f6e['name'],_0x2327c6?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b94')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b96')]);}var _0x46923a,_0x88bf03,_0x434714,_0x57b692;_0x146f6e[_0x1a4e('0x8f2')]&&(_0x2505ec(_0x146f6e[_0x1a4e('0x8f2')]),_0x368e5a['isGlobalScopeAugmentation'](_0x146f6e)||_0x40a6cb(_0x146f6e));}function _0xbd1d5b(_0x146f6e,_0x2327c6){switch(_0x146f6e['kind']){case 0xdb:for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e['declarationList']['declarations'];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++)_0xbd1d5b(_0x1adc17[_0x55ff7e],_0x2327c6);break;case 0xfe:case 0xff:_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b97')]);break;case 0xf8:case 0xf9:_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b98')]);break;case 0xba:case 0xed:var _0xf79407=_0x146f6e[_0x1a4e('0x2cb')];if(_0x368e5a[_0x1a4e('0x1678')](_0xf79407)){for(var _0x2c9ec9=0x0,_0x420b32=_0xf79407[_0x1a4e('0x2398')];_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++)_0xbd1d5b(_0x420b32[_0x2c9ec9],_0x2327c6);break;}case 0xf0:case 0xf3:case 0xef:case 0xf1:case 0xf4:case 0xf2:if(_0x2327c6)return;var _0x1b06ad=_0x54a27b(_0x146f6e);if(_0x1b06ad){var _0x326eae=!(0x2000000&_0x1b06ad[_0x1a4e('0x7b2')]);_0x326eae||(_0x326eae=!!_0x1b06ad[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x2344')](_0x1b06ad['parent'][_0x1a4e('0x22e5')][0x0]));}}}function _0x5d499f(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x48:return _0x368e5a;case 0x94:do{_0x368e5a=_0x368e5a[_0x1a4e('0x5f')];}while(0x48!==_0x368e5a['kind']);return _0x368e5a;case 0xbd:do{_0x368e5a=_0x368e5a[_0x1a4e('0x2302')];}while(0x48!==_0x368e5a[_0x1a4e('0x146b')]);return _0x368e5a;}}function _0x405fb1(_0x146f6e){var _0x2327c6=_0x368e5a['getExternalModuleName'](_0x146f6e);if(!_0x2327c6||_0x368e5a['nodeIsMissing'](_0x2327c6))return!0x1;if(!_0x368e5a[_0x1a4e('0x2374')](_0x2327c6))return _0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x29fd')]),!0x1;var _0x55ff7e=0xf5===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x233c')](_0x146f6e['parent'][_0x1a4e('0x11c')]);return 0x117===_0x146f6e['parent'][_0x1a4e('0x146b')]||_0x55ff7e?!(_0x55ff7e&&_0x368e5a[_0x1a4e('0x22dd')](_0x2327c6[_0x1a4e('0xe04')])&&!_0x47e199(_0x146f6e)&&(_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name']),0x1)):(_0x2cb4f4(_0x2327c6,0xff===_0x146f6e['kind']?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b99')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b9a')]),!0x1);}function _0x13eba7(_0x146f6e){var _0x2327c6=_0x54a27b(_0x146f6e),_0x55ff7e=_0x4f0953(_0x2327c6);if(_0x55ff7e!==_0x450499){var _0x1adc17=(0x411b3bf&_0x2327c6[_0x1a4e('0x7b2')]?0x401b3bf:0x0)|(0x40c09e8&_0x2327c6['flags']?0x40c09e8:0x0)|(0x780&_0x2327c6['flags']?0x780:0x0);_0x55ff7e[_0x1a4e('0x7b2')]&_0x1adc17&&_0x2cb4f4(_0x146f6e,0x101===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['Diagnostics']['Export_declaration_conflicts_with_exported_declaration_of_0']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b9b')],_0x22aa27(_0x2327c6)),!_0x239ab2['isolatedModules']||0x101!==_0x146f6e['kind']||0x401b3bf&_0x55ff7e[_0x1a4e('0x7b2')]||0x400000&_0x146f6e[_0x1a4e('0x7b2')]||_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2b9c')]);}}function _0x4ac8fe(_0x368e5a){_0x162a99(_0x368e5a,_0x368e5a[_0x1a4e('0x2cb')]),_0xd2b666(_0x368e5a,_0x368e5a['name']),_0x13eba7(_0x368e5a);}function _0x4ecc3a(_0x368e5a,_0x146f6e){var _0x2327c6=0x117===_0x368e5a['parent']['kind']||0xf5===_0x368e5a['parent'][_0x1a4e('0x146b')]||0xf4===_0x368e5a[_0x1a4e('0x11c')]['kind'];return _0x2327c6||_0x1096e4(_0x368e5a,_0x146f6e),!_0x2327c6;}function _0x12d81a(_0x146f6e){if(_0x13eba7(_0x146f6e),_0x368e5a[_0x1a4e('0x2b9d')](_0x239ab2)&&_0x3c886c(_0x146f6e[_0x1a4e('0x81a')]||_0x146f6e[_0x1a4e('0x2cb')],!0x0),!_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x23c5')]){var _0x2327c6=_0x146f6e['propertyName']||_0x146f6e['name'],_0x55ff7e=_0x1e09ab(_0x2327c6,_0x2327c6['escapedText'],0x42dbfff,void 0x0,void 0x0,!0x0);_0x55ff7e&&(_0x55ff7e===_0x515765||_0x25b659(_0x1c717b(_0x55ff7e[_0x1a4e('0x22e5')][0x0])))?_0x2cb4f4(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b9e')],_0x368e5a[_0x1a4e('0x2353')](_0x2327c6)):_0x12a093(_0x146f6e);}}function _0x510040(_0x146f6e){var _0x2327c6=_0x54a27b(_0x146f6e),_0x55ff7e=_0xdba731(_0x2327c6);if(!_0x55ff7e[_0x1a4e('0x2b9f')]){var _0x1adc17=_0x2327c6[_0x1a4e('0x0')][_0x1a4e('0x179')](_0x1a4e('0x19b4'));if(_0x1adc17&&function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2308')](_0x146f6e[_0x1a4e('0x0')],function(_0x368e5a,_0x146f6e){return _0x1a4e('0x19b4')!==_0x146f6e;});}(_0x2327c6)){var _0xf79407=_0x467425(_0x1adc17)||_0x1adc17['valueDeclaration'];_0x47e199(_0xf79407)||_0x368e5a[_0x1a4e('0x24e1')](_0xf79407)||_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ba0')]);}var _0x2c9ec9=_0x2e8f28(_0x2327c6);_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x3b')](function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x22e5')],_0x1adc17=_0x146f6e[_0x1a4e('0x7b2')];if(_0x1a4e('0x19a8')!==_0x2327c6&&!(0x7c0&_0x1adc17)){var _0xf79407=_0x368e5a[_0x1a4e('0x170c')](_0x55ff7e,_0x4c04fb);if(!(0x80000&_0x1adc17&&_0xf79407<=0x2)&&_0xf79407>0x1)for(var _0x2c9ec9=0x0,_0x420b32=_0x55ff7e;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x516a70(_0x1b06ad)&&_0x125480[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x2354')](_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ba1')],_0x368e5a[_0x1a4e('0x24d1')](_0x2327c6)));}}}),_0x55ff7e[_0x1a4e('0x2b9f')]=!0x0;}}function _0x516a70(_0x368e5a){return 0xef!==_0x368e5a[_0x1a4e('0x146b')]&&0x9c!==_0x368e5a[_0x1a4e('0x146b')]||!!_0x368e5a[_0x1a4e('0x8f2')];}function _0x2505ec(_0x146f6e){if(_0x146f6e){_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x3b')](_0x146f6e['jsDoc'],function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2455')];return _0x368e5a[_0x1a4e('0x3b')](_0x2327c6,_0x2505ec);});var _0x2327c6=_0x146f6e[_0x1a4e('0x146b')];if(_0x434714)switch(_0x2327c6){case 0xf4:case 0xf0:case 0xf1:case 0xef:_0x434714['throwIfCancellationRequested']();}switch(_0x2327c6){case 0x96:return _0x20ea86(_0x146f6e);case 0x97:return _0x4e727d(_0x146f6e);case 0x9a:case 0x99:return _0xda6580(_0x146f6e);case 0xa5:case 0xa6:case 0xa0:case 0xa1:case 0xa2:return _0x4acf6f(_0x146f6e);case 0x9c:case 0x9b:return function(_0x146f6e){_0x2205cb(_0x146f6e)||_0x5774af(_0x146f6e[_0x1a4e('0x2cb')]),_0x512739(_0x146f6e),_0x368e5a['hasModifier'](_0x146f6e,0x80)&&0x9c===_0x146f6e['kind']&&_0x146f6e[_0x1a4e('0x8f2')]&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ba2')],_0x368e5a['declarationNameToString'](_0x146f6e[_0x1a4e('0x2cb')]));}(_0x146f6e);case 0x9d:return _0x2e8780(_0x146f6e);case 0x9e:case 0x9f:return _0x380d8a(_0x146f6e);case 0xa4:return _0x10a438(_0x146f6e);case 0xa3:return function(_0x146f6e){var _0x2327c6=function(_0x368e5a){switch(_0x368e5a['parent'][_0x1a4e('0x146b')]){case 0xc5:case 0xa0:case 0xef:case 0xc4:case 0xa5:case 0x9c:case 0x9b:var _0x146f6e=_0x368e5a['parent'];if(_0x368e5a===_0x146f6e['type'])return _0x146f6e;}}(_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0x13a441(_0x38523e(_0x2327c6));if(_0x55ff7e){_0x2505ec(_0x146f6e[_0x1a4e('0x40')]);var _0x1adc17=_0x146f6e['parameterName'];if(_0x368e5a['isThisTypePredicate'](_0x55ff7e))_0x15709d(_0x1adc17);else if(_0x55ff7e[_0x1a4e('0x29d3')]>=0x0)_0x2327c6[_0x1a4e('0x111a')][_0x55ff7e[_0x1a4e('0x29d3')]][_0x1a4e('0x25f9')]?_0x2cb4f4(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ba3')]):_0x36c7ec(_0x55ff7e[_0x1a4e('0x40')],_0x573598(_0x2327c6['parameters'][_0x55ff7e[_0x1a4e('0x29d3')]]),_0x146f6e[_0x1a4e('0x40')],void 0x0,function(){return _0x368e5a[_0x1a4e('0x2586')](void 0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ba4')]);});else if(_0x1adc17){for(var _0xf79407=!0x1,_0x2c9ec9=0x0,_0x420b32=_0x2327c6[_0x1a4e('0x111a')];_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9][_0x1a4e('0x2cb')];if(_0x368e5a['isBindingPattern'](_0x1b06ad)&&_0x574dc3(_0x1b06ad,_0x1adc17,_0x55ff7e[_0x1a4e('0x2667')])){_0xf79407=!0x0;break;}}_0xf79407||_0x2cb4f4(_0x146f6e[_0x1a4e('0x2667')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ba5')],_0x55ff7e[_0x1a4e('0x2667')]);}}}else _0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2ba6')]);}(_0x146f6e);case 0xa7:return function(_0x368e5a){_0x56d0b4(_0x368e5a);}(_0x146f6e);case 0xa8:return function(_0x146f6e){_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2369')],_0x2505ec),_0x1adc17&&(_0x4bc1d9(_0x251f9b(_0x146f6e)),_0x250ef3(_0x146f6e),_0x5a257c(_0x146f6e));}(_0x146f6e);case 0xa9:return function(_0x368e5a){_0x2505ec(_0x368e5a['elementType']);}(_0x146f6e);case 0xaa:return function(_0x146f6e){for(var _0x2327c6=_0x146f6e[_0x1a4e('0x25fc')],_0x55ff7e=!0x1,_0x1adc17=0x0;_0x1adc17<_0x2327c6['length'];_0x1adc17++){var _0xf79407=_0x2327c6[_0x1adc17];if(0xac===_0xf79407['kind']){if(_0x1adc17!==_0x2327c6['length']-0x1){_0x2d955f(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ba7')]);break;}_0x4ba777(_0x3fafb1(_0xf79407))||_0x2cb4f4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')]['A_rest_element_type_must_be_an_array_type']);}else if(0xab===_0xf79407[_0x1a4e('0x146b')])_0x55ff7e=!0x0;else if(_0x55ff7e){_0x2d955f(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ba8')]);break;}}_0x11db9d(_0x146f6e[_0x1a4e('0x25fc')]),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x25fc')],_0x2505ec);}(_0x146f6e);case 0xad:case 0xae:return function(_0x146f6e){_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2380')],_0x2505ec);}(_0x146f6e);case 0xb1:case 0xab:case 0xac:return _0x2505ec(_0x146f6e[_0x1a4e('0x40')]);case 0xb2:return function(_0x368e5a){_0x15709d(_0x368e5a);}(_0x146f6e);case 0xb3:return _0x21b628(_0x146f6e);case 0xaf:return function(_0x146f6e){_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,_0x2505ec);}(_0x146f6e);case 0xb0:return function(_0x146f6e){_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x11c')]&&0xaf===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x25fe')]===_0x368e5a;})||_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type']),_0x2505ec(_0x146f6e[_0x1a4e('0x2668')]),_0x40a6cb(_0x146f6e);}(_0x146f6e);case 0xb7:return function(_0x368e5a){_0x2505ec(_0x368e5a['argument']),_0x3fafb1(_0x368e5a);}(_0x146f6e);case 0x127:return function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x23d6')](_0x146f6e);if(_0x368e5a[_0x1a4e('0x251d')](_0x2327c6)||_0x368e5a[_0x1a4e('0x237c')](_0x2327c6)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x24df')](_0x2327c6)['filter'](_0x368e5a[_0x1a4e('0x24d6')]);_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x55ff7e[_0x1a4e('0x1e')]>0x0),_0x55ff7e[_0x1a4e('0x1e')]>0x1&&_0x2cb4f4(_0x55ff7e[0x1],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ba9')]);var _0x1adc17=_0x8bb056(_0x146f6e[_0x1a4e('0x237e')][_0x1a4e('0x2302')]),_0xf79407=_0x368e5a[_0x1a4e('0x23ee')](_0x2327c6);if(_0xf79407){var _0x2c9ec9=_0x8bb056(_0xf79407[_0x1a4e('0x2302')]);_0x2c9ec9&&_0x1adc17['escapedText']!==_0x2c9ec9[_0x1a4e('0x22f3')]&&_0x2cb4f4(_0x1adc17,_0x368e5a['Diagnostics']['JSDoc_0_1_does_not_match_the_extends_2_clause'],_0x368e5a[_0x1a4e('0x2353')](_0x146f6e[_0x1a4e('0x132b')]),_0x368e5a[_0x1a4e('0x2353')](_0x1adc17),_0x368e5a[_0x1a4e('0x2353')](_0x2c9ec9));}}else _0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2baa')],_0x368e5a[_0x1a4e('0x2353')](_0x146f6e[_0x1a4e('0x132b')]));}(_0x146f6e);case 0x130:case 0x129:return function(_0x146f6e){_0x146f6e[_0x1a4e('0x2379')]||_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bab')]),_0x146f6e[_0x1a4e('0x2cb')]&&_0x3ebb6b(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2bac')]),_0x2505ec(_0x146f6e[_0x1a4e('0x2379')]);}(_0x146f6e);case 0x12f:return function(_0x368e5a){_0x2505ec(_0x368e5a['constraint']);for(var _0x146f6e=0x0,_0x2327c6=_0x368e5a['typeParameters'];_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++)_0x2505ec(_0x2327c6[_0x146f6e]);}(_0x146f6e);case 0x12e:return function(_0x368e5a){_0x2505ec(_0x368e5a['typeExpression']);}(_0x146f6e);case 0x12b:return function(_0x146f6e){if(_0x2505ec(_0x146f6e[_0x1a4e('0x2379')]),!_0x368e5a['getParameterSymbolFromJSDoc'](_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x23d4')](_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x24df')](_0x2327c6)['filter'](_0x368e5a['isJSDocParameterTag'])['indexOf'](_0x146f6e);if(_0x55ff7e>-0x1&&_0x55ff7e<_0x2327c6[_0x1a4e('0x111a')][_0x1a4e('0x1e')]&&_0x368e5a['isBindingPattern'](_0x2327c6[_0x1a4e('0x111a')][_0x55ff7e][_0x1a4e('0x2cb')]))return;_0x5364a3(_0x2327c6)?_0x368e5a[_0x1a4e('0x109c')](_0x368e5a['getJSDocTags'](_0x2327c6),_0x368e5a[_0x1a4e('0x24a9')])===_0x146f6e&&_0x146f6e[_0x1a4e('0x2379')]&&_0x146f6e[_0x1a4e('0x2379')][_0x1a4e('0x40')]&&!_0x4ba777(_0x3fafb1(_0x146f6e['typeExpression'][_0x1a4e('0x40')]))&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bad')],_0x368e5a[_0x1a4e('0x2353')](0x94===_0x146f6e[_0x1a4e('0x2cb')]['kind']?_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x5d')]:_0x146f6e[_0x1a4e('0x2cb')])):_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bae')],_0x368e5a['idText'](0x94===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x5d')]:_0x146f6e[_0x1a4e('0x2cb')]));}}}(_0x146f6e);case 0x121:!function(_0x146f6e){!_0x1adc17||_0x146f6e[_0x1a4e('0x40')]||_0x368e5a[_0x1a4e('0x23cb')](_0x146f6e)||_0x323398(_0x146f6e,_0x330555),_0x4acf6f(_0x146f6e);}(_0x146f6e);case 0x11f:case 0x11e:case 0x11c:case 0x11d:case 0x124:return _0x27a730(_0x146f6e),void _0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,_0x2505ec);case 0x122:return void function(_0x146f6e){_0x27a730(_0x146f6e),_0x2505ec(_0x146f6e[_0x1a4e('0x40')]);var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];if(_0x368e5a['isParameter'](_0x2327c6)&&_0x368e5a[_0x1a4e('0x23cc')](_0x2327c6[_0x1a4e('0x11c')]))_0x368e5a[_0x1a4e('0x10b1')](_0x2327c6['parent'][_0x1a4e('0x111a')])!==_0x2327c6&&_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2baf')]);else{_0x368e5a[_0x1a4e('0x2534')](_0x2327c6)||_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bb0')]);var _0x55ff7e=_0x146f6e['parent']['parent'];if(_0x368e5a[_0x1a4e('0x24a9')](_0x55ff7e)){var _0x1adc17=_0x368e5a[_0x1a4e('0x2a03')](_0x55ff7e);if(_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x23d4')](_0x55ff7e);_0xf79407&&_0x368e5a[_0x1a4e('0x10b1')](_0xf79407['parameters'])['symbol']===_0x1adc17||_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2baf')]);}}else _0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['JSDoc_may_only_appear_in_the_last_parameter_of_a_signature']);}}(_0x146f6e);case 0x11b:return _0x2505ec(_0x146f6e['type']);case 0xb4:return function(_0x368e5a){_0x2505ec(_0x368e5a['objectType']),_0x2505ec(_0x368e5a[_0x1a4e('0x2669')]),_0x1bef62(_0x39af3e(_0x368e5a),_0x368e5a);}(_0x146f6e);case 0xb5:return function(_0x146f6e){_0x2505ec(_0x146f6e['typeParameter']),_0x2505ec(_0x146f6e[_0x1a4e('0x40')]),_0x146f6e[_0x1a4e('0x40')]||_0x323398(_0x146f6e,_0x330555),_0x36c7ec(_0x5e43c6(_0x2322c7(_0x146f6e)),_0xaed2b,_0x368e5a['getEffectiveConstraintOfTypeParameter'](_0x146f6e[_0x1a4e('0x2668')]));}(_0x146f6e);case 0xef:return function(_0x368e5a){_0x1adc17&&(_0x512739(_0x368e5a),_0x10c3d1(_0x368e5a),_0x162a99(_0x368e5a,_0x368e5a[_0x1a4e('0x2cb')]),_0xd2b666(_0x368e5a,_0x368e5a[_0x1a4e('0x2cb')]));}(_0x146f6e);case 0xda:case 0xf5:return _0x353645(_0x146f6e);case 0xdb:return _0x4685e2(_0x146f6e);case 0xdd:return function(_0x368e5a){_0x3d1ff1(_0x368e5a),_0x4e94e8(_0x368e5a[_0x1a4e('0x2302')]);}(_0x146f6e);case 0xde:return function(_0x146f6e){_0x3d1ff1(_0x146f6e),_0x5819cd(_0x146f6e[_0x1a4e('0x2302')]),_0x2505ec(_0x146f6e['thenStatement']),0xdc===_0x146f6e[_0x1a4e('0x2606')][_0x1a4e('0x146b')]&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2606')],_0x368e5a[_0x1a4e('0x167d')]['The_body_of_an_if_statement_cannot_be_the_empty_statement']),_0x2505ec(_0x146f6e['elseStatement']);}(_0x146f6e);case 0xdf:return function(_0x368e5a){_0x3d1ff1(_0x368e5a),_0x2505ec(_0x368e5a[_0x1a4e('0x2390')]),_0x5819cd(_0x368e5a[_0x1a4e('0x2302')]);}(_0x146f6e);case 0xe0:return function(_0x368e5a){_0x3d1ff1(_0x368e5a),_0x5819cd(_0x368e5a[_0x1a4e('0x2302')]),_0x2505ec(_0x368e5a[_0x1a4e('0x2390')]);}(_0x146f6e);case 0xe1:return function(_0x146f6e){_0x3d1ff1(_0x146f6e)||_0x146f6e['initializer']&&0xee===_0x146f6e['initializer'][_0x1a4e('0x146b')]&&_0x4ede43(_0x146f6e[_0x1a4e('0x236a')]),_0x146f6e[_0x1a4e('0x236a')]&&(0xee===_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x22e5')],_0x5245b4):_0x4e94e8(_0x146f6e[_0x1a4e('0x236a')])),_0x146f6e['condition']&&_0x5819cd(_0x146f6e['condition']),_0x146f6e[_0x1a4e('0x236c')]&&_0x4e94e8(_0x146f6e['incrementor']),_0x2505ec(_0x146f6e[_0x1a4e('0x2390')]),_0x146f6e[_0x1a4e('0x283c')]&&_0x40a6cb(_0x146f6e);}(_0x146f6e);case 0xe2:return _0x7322c5(_0x146f6e);case 0xe3:return function(_0x146f6e){if(_0x49bfda(_0x146f6e),_0x146f6e[_0x1a4e('0x2678')]?0x2==(0x6&_0x368e5a[_0x1a4e('0x2a74')](_0x368e5a['getContainingFunction'](_0x146f6e)))&&_0x1b8154<0x6&&_0x1145ed(_0x146f6e,0x4000):_0x239ab2[_0x1a4e('0x2744')]&&_0x1b8154<0x2&&_0x1145ed(_0x146f6e,0x100),0xee===_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x146b')])_0x24ac37(_0x146f6e);else{var _0x2327c6=_0x146f6e[_0x1a4e('0x236a')],_0x55ff7e=_0x1f8afd(_0x146f6e[_0x1a4e('0x2302')],_0x146f6e['awaitModifier']);if(0xbb===_0x2327c6['kind']||0xbc===_0x2327c6[_0x1a4e('0x146b')])_0x1f8fdc(_0x2327c6,_0x55ff7e||_0x336c2);else{var _0x1adc17=_0x4e94e8(_0x2327c6);_0x32f714(_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x2bb1')]),_0x55ff7e&&_0x440746(_0x55ff7e,_0x1adc17,_0x2327c6,_0x146f6e[_0x1a4e('0x2302')]);}}_0x2505ec(_0x146f6e['statement']),_0x146f6e[_0x1a4e('0x283c')]&&_0x40a6cb(_0x146f6e);}(_0x146f6e);case 0xe4:case 0xe5:return _0x555618(_0x146f6e);case 0xe6:return function(_0x146f6e){if(!_0x3d1ff1(_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0x4b6767(_0x38523e(_0x2327c6)),_0x1adc17=_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6),_0xf79407=0x1&_0x1adc17;if(_0x4f3c04||_0x146f6e[_0x1a4e('0x2302')]||0x20000&_0x55ff7e[_0x1a4e('0x7b2')]){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x2302')]?_0x31ebf4(_0x146f6e['expression']):_0x57a5b4;if(_0xf79407)return;if(0x9f===_0x2327c6[_0x1a4e('0x146b')])_0x146f6e[_0x1a4e('0x2302')]&&_0x2cb4f4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2bb2')]);else if(0x9d===_0x2327c6[_0x1a4e('0x146b')])_0x146f6e[_0x1a4e('0x2302')]&&!_0x440746(_0x2c9ec9,_0x55ff7e,_0x146f6e,_0x146f6e[_0x1a4e('0x2302')])&&_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bb3')]);else if(_0x26ffc2(_0x2327c6))if(0x2&_0x1adc17){var _0x420b32=_0x32570e(_0x55ff7e),_0x1b06ad=_0x113d9b(_0x2c9ec9,_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2ad8')]);_0x420b32&&_0x36c7ec(_0x1b06ad,_0x420b32,_0x146f6e);}else _0x440746(_0x2c9ec9,_0x55ff7e,_0x146f6e,_0x146f6e['expression']);}else 0x9d===_0x2327c6[_0x1a4e('0x146b')]||!_0x239ab2[_0x1a4e('0x2757')]||_0x23876f(_0x2327c6,_0x55ff7e)||_0xf79407||_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2adf')]);}else _0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['A_return_statement_can_only_be_used_within_a_function_body']);}}(_0x146f6e);case 0xe7:return function(_0x146f6e){_0x3d1ff1(_0x146f6e)||0x4000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x1096e4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2bb4')]),_0x4e94e8(_0x146f6e[_0x1a4e('0x2302')]);var _0x2327c6=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e);if(!_0x3ad173(_0x2327c6)){var _0x55ff7e=_0x368e5a['getSpanOfTokenAtPosition'](_0x2327c6,_0x146f6e[_0x1a4e('0xa4')])[_0x1a4e('0xc9')];_0x52940f(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x2390')][_0x1a4e('0xa4')]-_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any']);}}(_0x146f6e);case 0xe8:return function(_0x146f6e){var _0x2327c6;_0x3d1ff1(_0x146f6e);var _0x55ff7e=!0x1,_0xf79407=_0x4e94e8(_0x146f6e['expression']),_0x2c9ec9=_0x4844a5(_0xf79407);_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2608')][_0x1a4e('0x2609')],function(_0x420b32){if(0x110===_0x420b32['kind']&&!_0x55ff7e)if(void 0x0===_0x2327c6)_0x2327c6=_0x420b32;else{var _0x1b06ad=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e),_0x326eae=_0x368e5a[_0x1a4e('0x22c6')](_0x1b06ad[_0x1a4e('0xe04')],_0x420b32[_0x1a4e('0xa4')]);_0x52940f(_0x1b06ad,_0x326eae,(_0x420b32[_0x1a4e('0x2366')][_0x1a4e('0x1e')]>0x0?_0x420b32[_0x1a4e('0x2366')][0x0][_0x1a4e('0xa4')]:_0x420b32[_0x1a4e('0xca')])-_0x326eae,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bb5')]),_0x55ff7e=!0x0;}if(_0x1adc17&&0x10f===_0x420b32[_0x1a4e('0x146b')]){var _0x56674b=_0x4e94e8(_0x420b32['expression']),_0x415952=_0x4844a5(_0x56674b),_0x46923a=_0xf79407;_0x415952&&_0x2c9ec9||(_0x56674b=_0x415952?_0x3a5471(_0x56674b):_0x56674b,_0x46923a=_0x3a5471(_0xf79407)),_0x1d1335(_0x46923a,_0x56674b)||_0x248456(_0x56674b,_0x46923a,_0x420b32[_0x1a4e('0x2302')],void 0x0);}_0x368e5a['forEach'](_0x420b32[_0x1a4e('0x2366')],_0x2505ec);}),_0x146f6e[_0x1a4e('0x2608')][_0x1a4e('0x283c')]&&_0x40a6cb(_0x146f6e[_0x1a4e('0x2608')]);}(_0x146f6e);case 0xe9:return function(_0x146f6e){_0x3d1ff1(_0x146f6e)||_0x368e5a[_0x1a4e('0x283d')](_0x146f6e[_0x1a4e('0x11c')],function(_0x2327c6){return _0x368e5a[_0x1a4e('0x2342')](_0x2327c6)?'quit':0xe9===_0x2327c6['kind']&&_0x2327c6['label']['escapedText']===_0x146f6e[_0x1a4e('0x1bc')][_0x1a4e('0x22f3')]&&(_0x2d955f(_0x146f6e['label'],_0x368e5a['Diagnostics']['Duplicate_label_0'],_0x368e5a[_0x1a4e('0x1675')](_0x146f6e[_0x1a4e('0x1bc')])),!0x0);}),_0x2505ec(_0x146f6e[_0x1a4e('0x2390')]);}(_0x146f6e);case 0xea:return _0x6e7490(_0x146f6e);case 0xeb:return function(_0x146f6e){_0x3d1ff1(_0x146f6e),_0x353645(_0x146f6e[_0x1a4e('0x2679')]);var _0x2327c6=_0x146f6e[_0x1a4e('0x260a')];if(_0x2327c6){if(_0x2327c6[_0x1a4e('0x260b')])if(_0x2327c6[_0x1a4e('0x260b')][_0x1a4e('0x40')])_0x1096e4(_0x2327c6['variableDeclaration'][_0x1a4e('0x40')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bb6')]);else if(_0x2327c6[_0x1a4e('0x260b')]['initializer'])_0x1096e4(_0x2327c6[_0x1a4e('0x260b')][_0x1a4e('0x236a')],_0x368e5a[_0x1a4e('0x167d')]['Catch_clause_variable_cannot_have_an_initializer']);else{var _0x55ff7e=_0x2327c6[_0x1a4e('0x260c')][_0x1a4e('0x283c')];_0x55ff7e&&_0x368e5a['forEachKey'](_0x2327c6[_0x1a4e('0x283c')],function(_0x146f6e){var _0x2327c6=_0x55ff7e[_0x1a4e('0x179')](_0x146f6e);_0x2327c6&&0x0!=(0x2&_0x2327c6[_0x1a4e('0x7b2')])&&_0x2d955f(_0x2327c6[_0x1a4e('0x2340')],_0x368e5a['Diagnostics'][_0x1a4e('0x2bb7')],_0x146f6e);});}_0x353645(_0x2327c6[_0x1a4e('0x260c')]);}_0x146f6e[_0x1a4e('0x267a')]&&_0x353645(_0x146f6e[_0x1a4e('0x267a')]);}(_0x146f6e);case 0xed:return _0x5245b4(_0x146f6e);case 0xba:return _0x495eef(_0x146f6e);case 0xf0:return function(_0x146f6e){_0x146f6e['name']||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x200)||_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bb8')]),_0x1d5cdf(_0x146f6e),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2369')],_0x2505ec),_0x40a6cb(_0x146f6e);}(_0x146f6e);case 0xf1:return _0x58ca6f(_0x146f6e);case 0xf2:return function(_0x146f6e){_0xbfc3a2(_0x146f6e),_0x3ebb6b(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')]['Type_alias_name_cannot_be_0']),_0x236884(_0x146f6e['typeParameters']),_0x2505ec(_0x146f6e[_0x1a4e('0x40')]),_0x40a6cb(_0x146f6e);}(_0x146f6e);case 0xf3:return function(_0x146f6e){if(_0x1adc17){_0xbfc3a2(_0x146f6e),_0x3ebb6b(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2bb9')]),_0x162a99(_0x146f6e,_0x146f6e['name']),_0xd2b666(_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')]),_0x503d7c(_0x146f6e),_0x2f9c58(_0x146f6e);var _0x2327c6=_0x368e5a[_0x1a4e('0x235b')](_0x146f6e);_0x239ab2[_0x1a4e('0x2347')]&&_0x2327c6&&0x400000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bba')]);var _0x55ff7e=_0x54a27b(_0x146f6e);if(_0x146f6e===_0x368e5a[_0x1a4e('0x28c9')](_0x55ff7e,_0x146f6e[_0x1a4e('0x146b')])){_0x55ff7e[_0x1a4e('0x22e5')]['length']>0x1&&_0x368e5a['forEach'](_0x55ff7e['declarations'],function(_0x146f6e){_0x368e5a[_0x1a4e('0x29a5')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x235b')](_0x146f6e)!==_0x2327c6&&_0x2cb4f4(_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e),_0x368e5a['Diagnostics'][_0x1a4e('0x2bbb')]);});var _0xf79407=!0x1;_0x368e5a[_0x1a4e('0x3b')](_0x55ff7e[_0x1a4e('0x22e5')],function(_0x146f6e){if(0xf3!==_0x146f6e[_0x1a4e('0x146b')])return!0x1;var _0x2327c6=_0x146f6e;if(!_0x2327c6[_0x1a4e('0x2369')][_0x1a4e('0x1e')])return!0x1;var _0x55ff7e=_0x2327c6['members'][0x0];_0x55ff7e[_0x1a4e('0x236a')]||(_0xf79407?_0x2cb4f4(_0x55ff7e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bbc')]):_0xf79407=!0x0);});}}}(_0x146f6e);case 0xf4:return _0x322453(_0x146f6e);case 0xf9:return function(_0x146f6e){if(!_0x4ecc3a(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bbd')])&&(!_0xbfc3a2(_0x146f6e)&&_0x368e5a[_0x1a4e('0x2664')](_0x146f6e)&&_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bbe')]),_0x405fb1(_0x146f6e))){var _0x2327c6=_0x146f6e[_0x1a4e('0x23c6')];_0x2327c6&&(_0x2327c6[_0x1a4e('0x2cb')]&&_0x4ac8fe(_0x2327c6),_0x2327c6[_0x1a4e('0x23c7')]&&(0xfb===_0x2327c6[_0x1a4e('0x23c7')][_0x1a4e('0x146b')]?_0x4ac8fe(_0x2327c6[_0x1a4e('0x23c7')]):_0x5897a9(_0x146f6e,_0x146f6e[_0x1a4e('0x23c5')])&&_0x368e5a[_0x1a4e('0x3b')](_0x2327c6[_0x1a4e('0x23c7')]['elements'],_0x4ac8fe)));}}(_0x146f6e);case 0xf8:return function(_0x146f6e){if(!_0x4ecc3a(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2bbd')])&&(_0xbfc3a2(_0x146f6e),_0x368e5a[_0x1a4e('0x23a8')](_0x146f6e)||_0x405fb1(_0x146f6e)))if(_0x4ac8fe(_0x146f6e),_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)&&_0x12a093(_0x146f6e),0x103!==_0x146f6e['moduleReference'][_0x1a4e('0x146b')]){var _0x2327c6=_0x4f0953(_0x54a27b(_0x146f6e));if(_0x2327c6!==_0x450499){if(0x401b3bf&_0x2327c6[_0x1a4e('0x7b2')]){var _0x55ff7e=_0x5d499f(_0x146f6e['moduleReference']);0x780&_0x151d70(_0x55ff7e,0x401b7bf)[_0x1a4e('0x7b2')]||_0x2cb4f4(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['Module_0_is_hidden_by_a_local_declaration_with_the_same_name'],_0x368e5a['declarationNameToString'](_0x55ff7e));}0x40c09e8&_0x2327c6[_0x1a4e('0x7b2')]&&_0x3ebb6b(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')]['Import_name_cannot_be_0']);}}else _0x2918ee>=_0x368e5a[_0x1a4e('0x1a35')]['ES2015']&&!(0x400000&_0x146f6e[_0x1a4e('0x7b2')])&&_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead']);}(_0x146f6e);case 0xff:return function(_0x146f6e){if(!_0x4ecc3a(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bbf')])&&(!_0xbfc3a2(_0x146f6e)&&_0x368e5a[_0x1a4e('0x2664')](_0x146f6e)&&_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['An_export_declaration_cannot_have_modifiers']),!_0x146f6e['moduleSpecifier']||_0x405fb1(_0x146f6e)))if(_0x146f6e[_0x1a4e('0x260d')]){_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x260d')][_0x1a4e('0x2398')],_0x12d81a);var _0x2327c6=0xf5===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x233c')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]),_0x55ff7e=!_0x2327c6&&0xf5===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&!_0x146f6e[_0x1a4e('0x23c5')]&&0x400000&_0x146f6e[_0x1a4e('0x7b2')];0x117===_0x146f6e['parent'][_0x1a4e('0x146b')]||_0x2327c6||_0x55ff7e||_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b99')]);}else{var _0x1adc17=_0x5897a9(_0x146f6e,_0x146f6e[_0x1a4e('0x23c5')]);_0x1adc17&&_0x3f064d(_0x1adc17)&&_0x2cb4f4(_0x146f6e[_0x1a4e('0x23c5')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bc0')],_0x22aa27(_0x1adc17)),_0x2918ee!==_0x368e5a['ModuleKind']['System']&&_0x2918ee!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')]&&_0x2918ee!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a34')]&&_0x1145ed(_0x146f6e,0x8000);}}(_0x146f6e);case 0xfe:return function(_0x146f6e){if(!_0x4ecc3a(_0x146f6e,_0x368e5a['Diagnostics']['An_export_assignment_can_only_be_used_in_a_module'])){var _0x2327c6=0x117===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x11c')]:_0x146f6e['parent'][_0x1a4e('0x11c')];0xf4!==_0x2327c6['kind']||_0x368e5a[_0x1a4e('0x233c')](_0x2327c6)?(!_0xbfc3a2(_0x146f6e)&&_0x368e5a['hasModifiers'](_0x146f6e)&&_0x1096e4(_0x146f6e,_0x368e5a['Diagnostics']['An_export_assignment_cannot_have_modifiers']),0x48===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')]?(_0x12a093(_0x146f6e),_0x368e5a[_0x1a4e('0x2b9d')](_0x239ab2)&&_0x3c886c(_0x146f6e[_0x1a4e('0x2302')],!0x0)):_0x31ebf4(_0x146f6e[_0x1a4e('0x2302')]),_0x510040(_0x2327c6),0x400000&_0x146f6e['flags']&&!_0x368e5a['isEntityNameExpression'](_0x146f6e[_0x1a4e('0x2302')])&&_0x2d955f(_0x146f6e['expression'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bc1')]),!_0x146f6e[_0x1a4e('0x267b')]||0x400000&_0x146f6e[_0x1a4e('0x7b2')]||(_0x2918ee>=_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')]?_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead']):_0x2918ee===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1308')]&&_0x2d955f(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2bc2')]))):_0x146f6e[_0x1a4e('0x267b')]?_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['An_export_assignment_cannot_be_used_in_a_namespace']):_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bc3')]);}}(_0x146f6e);case 0xdc:case 0xec:return void _0x3d1ff1(_0x146f6e);case 0x102:return function(_0x368e5a){_0x234c22(_0x368e5a);}(_0x146f6e);}}}function _0x27a730(_0x146f6e){_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e)||_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bc4')]);}function _0xd0e60c(_0x146f6e){var _0x2327c6=_0x165ecf(_0x368e5a[_0x1a4e('0x1674')](_0x146f6e));if(!(0x1&_0x2327c6[_0x1a4e('0x7b2')])){_0x2327c6[_0x1a4e('0x2bc5')]=_0x2327c6[_0x1a4e('0x2bc5')]||_0x368e5a[_0x1a4e('0x1772')]();var _0x55ff7e=''+_0x326eae(_0x146f6e);_0x2327c6[_0x1a4e('0x2bc5')]['set'](_0x55ff7e,_0x146f6e);}}function _0x1e9de4(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);_0x2327c6[_0x1a4e('0x2bc5')]&&_0x2327c6[_0x1a4e('0x2bc5')][_0x1a4e('0x3b')](function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xc4:case 0xc5:case 0x9c:case 0x9b:!function(_0x146f6e){_0x368e5a['Debug'][_0x1a4e('0xba0')](0x9c!==_0x146f6e['kind']||_0x368e5a[_0x1a4e('0x2867')](_0x146f6e));var _0x2327c6=_0x368e5a['getFunctionFlags'](_0x146f6e),_0x55ff7e=_0x49a1e5(_0x146f6e,_0x2327c6);if(0x0==(0x1&_0x2327c6)&&_0x5da4f5(_0x146f6e,_0x55ff7e),_0x146f6e[_0x1a4e('0x8f2')])if(_0x368e5a[_0x1a4e('0x29b7')](_0x146f6e)||_0x4b6767(_0x38523e(_0x146f6e)),0xda===_0x146f6e[_0x1a4e('0x8f2')]['kind'])_0x2505ec(_0x146f6e[_0x1a4e('0x8f2')]);else{var _0x1adc17=_0x4e94e8(_0x146f6e[_0x1a4e('0x8f2')]);_0x55ff7e&&_0x440746(0x2==(0x3&_0x2327c6)?_0x113d9b(_0x1adc17,_0x146f6e[_0x1a4e('0x8f2')],_0x368e5a[_0x1a4e('0x167d')]['The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member']):_0x1adc17,_0x55ff7e,_0x146f6e[_0x1a4e('0x8f2')],_0x146f6e['body']);}}(_0x146f6e);break;case 0x9e:case 0x9f:_0x380d8a(_0x146f6e);break;case 0xd1:!function(_0x146f6e){_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2369')],_0x2505ec),_0x40a6cb(_0x146f6e);}(_0x146f6e);break;case 0x105:!function(_0x368e5a){_0x259b34(_0x368e5a);}(_0x146f6e);break;case 0x104:!function(_0x368e5a){_0x259b34(_0x368e5a[_0x1a4e('0x260f')]),_0x2cbafe(_0x368e5a[_0x1a4e('0x266e')][_0x1a4e('0x132b')])?_0x3f3dd7(_0x368e5a[_0x1a4e('0x266e')]):_0x4e94e8(_0x368e5a[_0x1a4e('0x266e')][_0x1a4e('0x132b')]),_0x19534a(_0x368e5a);}(_0x146f6e);}});}function _0x1b7462(_0x146f6e){_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')](_0x1a4e('0x2bc6')),function(_0x146f6e){var _0x2327c6=_0x165ecf(_0x146f6e);if(!(0x1&_0x2327c6[_0x1a4e('0x7b2')])){if(_0x368e5a['skipTypeChecking'](_0x146f6e,_0x239ab2))return;!function(_0x146f6e){0x400000&_0x146f6e[_0x1a4e('0x7b2')]&&function(_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e['statements'];_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if((_0x368e5a[_0x1a4e('0x23e6')](_0x1adc17)||0xdb===_0x1adc17[_0x1a4e('0x146b')])&&(0xf1!==(_0xf79407=_0x1adc17)[_0x1a4e('0x146b')]&&0xf2!==_0xf79407['kind']&&0xf9!==_0xf79407['kind']&&0xf8!==_0xf79407[_0x1a4e('0x146b')]&&0xff!==_0xf79407[_0x1a4e('0x146b')]&&0xfe!==_0xf79407['kind']&&0xf7!==_0xf79407[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x24c6')](_0xf79407,0x203)&&_0x1096e4(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bc7')])))return!0x0;}var _0xf79407;}(_0x146f6e);}(_0x146f6e),_0x368e5a[_0x1a4e('0xb5')](_0x17f38d),_0x368e5a['clear'](_0x4a0a3c),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2366')],_0x2505ec),_0x2505ec(_0x146f6e['endOfFileToken']),_0x1e9de4(_0x146f6e),_0x368e5a[_0x1a4e('0x2858')](_0x146f6e)&&_0x40a6cb(_0x146f6e),_0x146f6e[_0x1a4e('0x2423')]||!_0x239ab2[_0x1a4e('0x2bc8')]&&!_0x239ab2[_0x1a4e('0x2756')]||_0x2b5fae(_0x37fbf7(_0x146f6e),function(_0x146f6e,_0x2327c6,_0x55ff7e){!_0x368e5a[_0x1a4e('0x264c')](_0x146f6e)&&_0x1e4ae8(_0x2327c6)&&_0x125480[_0x1a4e('0x177')](_0x55ff7e);}),_0x368e5a['isExternalOrCommonJsModule'](_0x146f6e)&&_0x510040(_0x146f6e),_0x17f38d[_0x1a4e('0x1e')]&&(_0x368e5a[_0x1a4e('0x3b')](_0x17f38d,_0x2b66d6),_0x368e5a[_0x1a4e('0xb5')](_0x17f38d)),_0x4a0a3c[_0x1a4e('0x1e')]&&(_0x368e5a[_0x1a4e('0x3b')](_0x4a0a3c,_0x29490b),_0x368e5a[_0x1a4e('0xb5')](_0x4a0a3c)),_0x2327c6[_0x1a4e('0x7b2')]|=0x1;}}(_0x146f6e),_0x368e5a['performance']['mark']('afterCheck'),_0x368e5a['performance'][_0x1a4e('0xe0a')](_0x1a4e('0x2bc9'),_0x1a4e('0x2bc6'),_0x1a4e('0x2bca'));}function _0x1e4ae8(_0x146f6e){switch(_0x146f6e){case 0x0:return!!_0x239ab2['noUnusedLocals'];case 0x1:return!!_0x239ab2[_0x1a4e('0x2756')];default:return _0x368e5a['Debug'][_0x1a4e('0x1746')](_0x146f6e);}}function _0x37fbf7(_0x146f6e){return _0x200984[_0x1a4e('0x179')](_0x146f6e['path'])||_0x368e5a[_0x1a4e('0x1700')];}function _0x1b4378(_0x146f6e,_0x2327c6){try{return _0x434714=_0x2327c6,function(_0x146f6e){if(_0x504493(),_0x146f6e){var _0x2327c6=_0x125480['getGlobalDiagnostics'](),_0x1adc17=_0x2327c6[_0x1a4e('0x1e')];_0x1b7462(_0x146f6e);var _0xf79407=_0x125480['getDiagnostics'](_0x146f6e[_0x1a4e('0x1b39')]),_0x2c9ec9=_0x125480['getGlobalDiagnostics']();if(_0x2c9ec9!==_0x2327c6){var _0x420b32=_0x368e5a['relativeComplement'](_0x2327c6,_0x2c9ec9,_0x368e5a['compareDiagnostics']);return _0x368e5a[_0x1a4e('0x1717')](_0x420b32,_0xf79407);}return 0x0===_0x1adc17&&_0x2c9ec9[_0x1a4e('0x1e')]>0x0?_0x368e5a[_0x1a4e('0x1717')](_0x2c9ec9,_0xf79407):_0xf79407;}return _0x368e5a[_0x1a4e('0x3b')](_0x55ff7e[_0x1a4e('0x2447')](),_0x1b7462),_0x125480['getDiagnostics']();}(_0x146f6e);}finally{_0x434714=void 0x0;}}function _0x504493(){if(!_0x1adc17)throw new Error(_0x1a4e('0x2bcb'));}function _0x508bba(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x96:case 0xf0:case 0xf1:case 0xf2:case 0xf3:return!0x0;default:return!0x1;}}function _0x26a6e6(_0x368e5a){for(;0x94===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')];)_0x368e5a=_0x368e5a[_0x1a4e('0x11c')];return 0xa4===_0x368e5a['parent'][_0x1a4e('0x146b')];}function _0x3f12d5(_0x146f6e,_0x2327c6){for(var _0x55ff7e;(_0x146f6e=_0x368e5a[_0x1a4e('0x239a')](_0x146f6e))&&!(_0x55ff7e=_0x2327c6(_0x146f6e)););return _0x55ff7e;}function _0xc962e(_0x368e5a,_0x146f6e){return!!_0x3f12d5(_0x368e5a,function(_0x368e5a){return _0x368e5a===_0x146f6e;});}function _0x1386af(_0x368e5a){return void 0x0!==function(_0x368e5a){for(;0x94===_0x368e5a['parent'][_0x1a4e('0x146b')];)_0x368e5a=_0x368e5a[_0x1a4e('0x11c')];return 0xf8===_0x368e5a['parent'][_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x236d')]===_0x368e5a?_0x368e5a['parent']:void 0x0:0xfe===_0x368e5a['parent'][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x2302')]===_0x368e5a?_0x368e5a[_0x1a4e('0x11c')]:void 0x0;}(_0x368e5a);}function _0x1802cc(_0x146f6e){if(_0x368e5a['isDeclarationName'](_0x146f6e))return _0x54a27b(_0x146f6e[_0x1a4e('0x11c')]);if(_0x368e5a['isInJSFile'](_0x146f6e)&&0xbd===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x11c')]===_0x146f6e['parent'][_0x1a4e('0x11c')][_0x1a4e('0x5f')]){var _0x2327c6=function(_0x146f6e){switch(_0x368e5a[_0x1a4e('0x23ba')](_0x146f6e[_0x1a4e('0x11c')]['parent'])){case 0x1:case 0x3:return _0x54a27b(_0x146f6e[_0x1a4e('0x11c')]);case 0x4:case 0x2:case 0x5:return _0x54a27b(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]);}}(_0x146f6e);if(_0x2327c6)return _0x2327c6;}if(0xfe===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a['isEntityNameExpression'](_0x146f6e)){var _0x55ff7e=_0x151d70(_0x146f6e,0x42dbfff,!0x0);if(_0x55ff7e&&_0x55ff7e!==_0x450499)return _0x55ff7e;}else if(!_0x368e5a[_0x1a4e('0x2371')](_0x146f6e)&&_0x1386af(_0x146f6e)){var _0x1adc17=_0x368e5a[_0x1a4e('0x2a5e')](_0x146f6e,0xf8);return _0x368e5a['Debug'][_0x1a4e('0xba0')](void 0x0!==_0x1adc17),_0x43349a(_0x146f6e,!0x0);}if(!_0x368e5a[_0x1a4e('0x2371')](_0x146f6e)){var _0xf79407=function(_0x146f6e){for(var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];_0x368e5a['isQualifiedName'](_0x2327c6);)_0x146f6e=_0x2327c6,_0x2327c6=_0x2327c6[_0x1a4e('0x11c')];if(_0x2327c6&&0xb7===_0x2327c6[_0x1a4e('0x146b')]&&_0x2327c6['qualifier']===_0x146f6e)return _0x2327c6;}(_0x146f6e);if(_0xf79407){_0x3fafb1(_0xf79407);var _0x2c9ec9=_0x165ecf(_0x146f6e)[_0x1a4e('0x296c')];return _0x2c9ec9===_0x450499?void 0x0:_0x2c9ec9;}}for(;_0x368e5a[_0x1a4e('0x2466')](_0x146f6e);)_0x146f6e=_0x146f6e['parent'];if(function(_0x368e5a){for(;0xbd===_0x368e5a[_0x1a4e('0x11c')]['kind'];)_0x368e5a=_0x368e5a[_0x1a4e('0x11c')];return 0xd3===_0x368e5a[_0x1a4e('0x11c')]['kind'];}(_0x146f6e)){var _0x420b32=0x0;0xd3===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?(_0x420b32=0x40c09e8,_0x368e5a[_0x1a4e('0x298d')](_0x146f6e[_0x1a4e('0x11c')])&&(_0x420b32|=0x401b3bf)):_0x420b32=0x780,_0x420b32|=0x200000;var _0x1b06ad=_0x368e5a['isEntityNameExpression'](_0x146f6e)?_0x151d70(_0x146f6e,_0x420b32):void 0x0;if(_0x1b06ad)return _0x1b06ad;}if(0x12b===_0x146f6e['parent'][_0x1a4e('0x146b')])return _0x368e5a[_0x1a4e('0x2a03')](_0x146f6e[_0x1a4e('0x11c')]);if(0x96===_0x146f6e['parent']['kind']&&0x12f===_0x146f6e['parent']['parent'][_0x1a4e('0x146b')]){_0x368e5a['Debug'][_0x1a4e('0xba0')](!_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e));var _0x326eae=_0x368e5a[_0x1a4e('0x2bcc')](_0x146f6e['parent']);return _0x326eae&&_0x326eae[_0x1a4e('0xb1b')];}if(_0x368e5a[_0x1a4e('0x28da')](_0x146f6e)){if(_0x368e5a[_0x1a4e('0x2327')](_0x146f6e))return;if(0x48===_0x146f6e[_0x1a4e('0x146b')]){if(_0x368e5a[_0x1a4e('0x2bcd')](_0x146f6e)&&_0x2cbafe(_0x146f6e)){var _0x56674b=_0x3f3dd7(_0x146f6e[_0x1a4e('0x11c')]);return _0x56674b===_0x450499?void 0x0:_0x56674b;}return _0x151d70(_0x146f6e,0x401b3bf,!0x1,!0x0);}if(0xbd===_0x146f6e['kind']||0x94===_0x146f6e[_0x1a4e('0x146b')]){var _0x415952=_0x165ecf(_0x146f6e);return _0x415952[_0x1a4e('0x296c')]?_0x415952[_0x1a4e('0x296c')]:(0xbd===_0x146f6e[_0x1a4e('0x146b')]?_0x39d14a(_0x146f6e):_0x85a09(_0x146f6e),_0x415952[_0x1a4e('0x296c')]);}}else if(_0x26a6e6(_0x146f6e))return _0x151d70(_0x146f6e,_0x420b32=0xa4===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?0x40c09e8:0x780,!0x1,!0x0);return 0xa3===_0x146f6e[_0x1a4e('0x11c')]['kind']?_0x151d70(_0x146f6e,0x1):void 0x0;}function _0x5e798c(_0x146f6e){if(0x117===_0x146f6e['kind'])return _0x368e5a[_0x1a4e('0x22f1')](_0x146f6e)?_0x41e7a5(_0x146f6e[_0x1a4e('0xb1b')]):void 0x0;var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')],_0x55ff7e=_0x2327c6[_0x1a4e('0x11c')];if(!(0x800000&_0x146f6e[_0x1a4e('0x7b2')])){if(_0x46923a(_0x146f6e)){var _0x1adc17=_0x54a27b(_0x2327c6);return _0x368e5a[_0x1a4e('0x2542')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x81a')]===_0x146f6e?_0x5b6338(_0x1adc17):_0x1adc17;}if(_0x368e5a[_0x1a4e('0x23ea')](_0x146f6e))return _0x54a27b(_0x2327c6[_0x1a4e('0x11c')]);if(0x48===_0x146f6e['kind']){if(_0x1386af(_0x146f6e))return _0x1802cc(_0x146f6e);if(0xba===_0x2327c6['kind']&&0xb8===_0x55ff7e[_0x1a4e('0x146b')]&&_0x146f6e===_0x2327c6[_0x1a4e('0x81a')]){var _0xf79407=_0x3c127b(_0x573598(_0x55ff7e),_0x146f6e[_0x1a4e('0x22f3')]);if(_0xf79407)return _0xf79407;}}switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:case 0xbd:case 0x94:return _0x1802cc(_0x146f6e);case 0x64:var _0x2c9ec9=_0x368e5a['getThisContainer'](_0x146f6e,!0x1);if(_0x368e5a[_0x1a4e('0x2342')](_0x2c9ec9)){var _0x420b32=_0x38523e(_0x2c9ec9);if(_0x420b32[_0x1a4e('0x28c7')])return _0x420b32[_0x1a4e('0x28c7')];}if(_0x368e5a[_0x1a4e('0x23a5')](_0x146f6e))return _0x4e94e8(_0x146f6e)[_0x1a4e('0xb1b')];case 0xb2:return _0x15709d(_0x146f6e)['symbol'];case 0x62:return _0x4e94e8(_0x146f6e)['symbol'];case 0x7c:var _0x1b06ad=_0x146f6e['parent'];return _0x1b06ad&&0x9d===_0x1b06ad[_0x1a4e('0x146b')]?_0x1b06ad[_0x1a4e('0x11c')][_0x1a4e('0xb1b')]:void 0x0;case 0xa:case 0xe:if(_0x368e5a['isExternalModuleImportEqualsDeclaration'](_0x146f6e['parent']['parent'])&&_0x368e5a[_0x1a4e('0x23a7')](_0x146f6e[_0x1a4e('0x11c')]['parent'])===_0x146f6e||(0xf9===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0xff===_0x146f6e[_0x1a4e('0x11c')]['kind'])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x23c5')]===_0x146f6e||_0x368e5a['isInJSFile'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x23ae')](_0x146f6e[_0x1a4e('0x11c')],!0x1)||_0x368e5a[_0x1a4e('0x2a16')](_0x146f6e[_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x22ff')](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x29fc')](_0x146f6e['parent'][_0x1a4e('0x11c')])&&_0x146f6e['parent'][_0x1a4e('0x11c')][_0x1a4e('0x2300')]===_0x146f6e[_0x1a4e('0x11c')])return _0x5897a9(_0x146f6e,_0x146f6e);if(_0x368e5a['isCallExpression'](_0x2327c6)&&_0x368e5a['isBindableObjectDefinePropertyCall'](_0x2327c6)&&_0x2327c6[_0x1a4e('0x2373')][0x1]===_0x146f6e)return _0x54a27b(_0x2327c6);case 0x8:var _0x326eae=_0x368e5a[_0x1a4e('0x2856')](_0x2327c6)?_0x2327c6[_0x1a4e('0x24a7')]===_0x146f6e?_0x1dceed(_0x2327c6[_0x1a4e('0x2302')]):void 0x0:_0x368e5a[_0x1a4e('0x22ff')](_0x2327c6)&&_0x368e5a[_0x1a4e('0x24f9')](_0x55ff7e)?_0x3fafb1(_0x55ff7e['objectType']):void 0x0;return _0x326eae&&_0x3c127b(_0x326eae,_0x368e5a[_0x1a4e('0x22f4')](_0x146f6e['text']));case 0x50:case 0x5a:case 0x25:case 0x4c:return _0x54a27b(_0x146f6e[_0x1a4e('0x11c')]);case 0xb7:return _0x368e5a[_0x1a4e('0x29fc')](_0x146f6e)?_0x5e798c(_0x146f6e[_0x1a4e('0x2300')][_0x1a4e('0x2301')]):void 0x0;case 0x55:return _0x368e5a[_0x1a4e('0x237b')](_0x146f6e[_0x1a4e('0x11c')])?_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x146f6e['parent'][_0x1a4e('0xb1b')]):void 0x0;default:return;}}}function _0x573598(_0x146f6e){if(0x800000&_0x146f6e[_0x1a4e('0x7b2')])return _0x336c2;var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x2bce')](_0x146f6e),_0x1adc17=_0x55ff7e&&_0x1055a1(_0x54a27b(_0x55ff7e['class']));if(_0x368e5a[_0x1a4e('0x2384')](_0x146f6e)){var _0xf79407=_0x3fafb1(_0x146f6e);return _0x1adc17?_0x98e900(_0xf79407,_0x1adc17[_0x1a4e('0x2886')]):_0xf79407;}if(_0x368e5a['isExpressionNode'](_0x146f6e))return _0x83ada9(_0x146f6e);if(_0x1adc17&&!_0x55ff7e[_0x1a4e('0x242e')]){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1721')](_0xd458b8(_0x1adc17));return _0x2c9ec9?_0x98e900(_0x2c9ec9,_0x1adc17[_0x1a4e('0x2886')]):_0x336c2;}if(_0x508bba(_0x146f6e))return _0x287d7b(_0x2327c6=_0x54a27b(_0x146f6e));if(function(_0x368e5a){return 0x48===_0x368e5a[_0x1a4e('0x146b')]&&_0x508bba(_0x368e5a[_0x1a4e('0x11c')])&&_0x368e5a['parent'][_0x1a4e('0x2cb')]===_0x368e5a;}(_0x146f6e))return(_0x2327c6=_0x5e798c(_0x146f6e))?_0x287d7b(_0x2327c6):_0x336c2;if(_0x368e5a['isDeclaration'](_0x146f6e))return _0x38797c(_0x2327c6=_0x54a27b(_0x146f6e));if(_0x46923a(_0x146f6e))return(_0x2327c6=_0x5e798c(_0x146f6e))?_0x38797c(_0x2327c6):_0x336c2;if(_0x368e5a['isBindingPattern'](_0x146f6e))return _0xb28fe4(_0x146f6e[_0x1a4e('0x11c')],!0x0)||_0x336c2;if(_0x1386af(_0x146f6e)&&(_0x2327c6=_0x5e798c(_0x146f6e))){var _0x420b32=_0x287d7b(_0x2327c6);return _0x420b32!==_0x336c2?_0x420b32:_0x38797c(_0x2327c6);}return _0x336c2;}function _0x83ada9(_0x146f6e){return _0x368e5a[_0x1a4e('0x2466')](_0x146f6e)&&(_0x146f6e=_0x146f6e['parent']),_0x4da784(_0x1dceed(_0x146f6e));}function _0x2f7a33(_0x146f6e){var _0x2327c6=_0x54a27b(_0x146f6e[_0x1a4e('0x11c')]);return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20)?_0x38797c(_0x2327c6):_0x287d7b(_0x2327c6);}function _0x17a8a9(_0x146f6e){var _0x2327c6=_0x146f6e['name'];switch(_0x2327c6['kind']){case 0x48:return _0x300979(_0x368e5a[_0x1a4e('0x2353')](_0x2327c6));case 0x8:case 0xa:return _0x300979(_0x2327c6[_0x1a4e('0xe04')]);case 0x95:var _0x55ff7e=_0x16c40(_0x2327c6);return _0xc28455(_0x55ff7e,0x3000)?_0x55ff7e:_0x1d9562;default:return _0x368e5a['Debug']['fail'](_0x1a4e('0x2bcf')),_0x336c2;}}function _0x5399be(_0x146f6e){_0x146f6e=_0x26521d(_0x146f6e);var _0x2327c6=_0x368e5a[_0x1a4e('0x22e7')](_0x41c062(_0x146f6e)),_0x55ff7e=_0x7bcdc7(_0x146f6e,0x0)[_0x1a4e('0x1e')]?_0x4c2151:_0x7bcdc7(_0x146f6e,0x1)[_0x1a4e('0x1e')]?_0x1e2ce7:void 0x0;return _0x55ff7e&&_0x368e5a[_0x1a4e('0x3b')](_0x41c062(_0x55ff7e),function(_0x368e5a){_0x2327c6['has'](_0x368e5a[_0x1a4e('0x22e8')])||_0x2327c6['set'](_0x368e5a[_0x1a4e('0x22e8')],_0x368e5a);}),_0x44d18c(_0x2327c6);}function _0x452f7e(_0x146f6e){return _0x368e5a[_0x1a4e('0x249b')](_0x146f6e,_0x468ea2);}function _0x45d4f5(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2370')]);if(_0x2327c6)return!(0xbd===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x2327c6)&&_0x300fc3(_0x2327c6)===_0x3a2418;}return!0x1;}function _0x22bf29(_0x146f6e){var _0x2327c6=_0x5897a9(_0x146f6e[_0x1a4e('0x11c')],_0x146f6e);if(!_0x2327c6||_0x368e5a[_0x1a4e('0x233f')](_0x2327c6))return!0x0;var _0x55ff7e=_0x3f064d(_0x2327c6),_0x1adc17=_0xdba731(_0x2327c6=_0x9d9138(_0x2327c6));return void 0x0===_0x1adc17[_0x1a4e('0x2bd1')]&&(_0x1adc17[_0x1a4e('0x2bd1')]=_0x55ff7e?!!(0x401b3bf&_0x2327c6[_0x1a4e('0x7b2')]):_0x368e5a[_0x1a4e('0x2308')](_0x2e8f28(_0x2327c6),function(_0x368e5a){return(_0x368e5a=_0x2825c7(_0x368e5a))&&!!(0x401b3bf&_0x368e5a[_0x1a4e('0x7b2')]);})),_0x1adc17['exportsSomeValue'];}function _0x28584d(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a['isIdentifier']);if(_0x55ff7e){var _0x1adc17=_0x300fc3(_0x55ff7e,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2566')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e===_0x146f6e[_0x1a4e('0x11c')]['name'];}(_0x55ff7e));if(_0x1adc17){if(0x100000&_0x1adc17[_0x1a4e('0x7b2')]){var _0xf79407=_0x41e7a5(_0x1adc17[_0x1a4e('0x248f')]);if(!_0x2327c6&&0x3b0&_0xf79407[_0x1a4e('0x7b2')]&&!(0x3&_0xf79407[_0x1a4e('0x7b2')]))return;_0x1adc17=_0xf79407;}var _0x2c9ec9=_0x38393e(_0x1adc17);if(_0x2c9ec9){if(0x200&_0x2c9ec9[_0x1a4e('0x7b2')]&&0x117===_0x2c9ec9[_0x1a4e('0x2340')][_0x1a4e('0x146b')]){var _0x420b32=_0x2c9ec9[_0x1a4e('0x2340')];return _0x420b32!==_0x368e5a[_0x1a4e('0x1674')](_0x55ff7e)?void 0x0:_0x420b32;}return _0x368e5a['findAncestor'](_0x55ff7e[_0x1a4e('0x11c')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2566')](_0x146f6e)&&_0x54a27b(_0x146f6e)===_0x2c9ec9;});}}}}function _0x5f0ea6(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2370')]);if(_0x2327c6){var _0x55ff7e=_0x300fc3(_0x2327c6);if(_0x193a81(_0x55ff7e,0x401b3bf))return _0x467425(_0x55ff7e);}}function _0x28402f(_0x146f6e){if(0x1a2&_0x146f6e[_0x1a4e('0x7b2')]){var _0x2327c6=_0xdba731(_0x146f6e);if(void 0x0===_0x2327c6[_0x1a4e('0x2bd2')]){var _0x55ff7e=_0x368e5a[_0x1a4e('0x283e')](_0x146f6e[_0x1a4e('0x2340')]);if(_0x368e5a[_0x1a4e('0x2321')](_0x55ff7e)){var _0x1adc17=_0x165ecf(_0x146f6e['valueDeclaration']);if(_0x1e09ab(_0x55ff7e[_0x1a4e('0x11c')],_0x146f6e[_0x1a4e('0x22e8')],0x401b3bf,void 0x0,void 0x0,!0x1))_0x2327c6[_0x1a4e('0x2bd2')]=!0x0;else if(0x40000&_0x1adc17[_0x1a4e('0x7b2')]){var _0xf79407=0x80000&_0x1adc17[_0x1a4e('0x7b2')],_0x2c9ec9=_0x368e5a['isIterationStatement'](_0x55ff7e,!0x1),_0x420b32=0xda===_0x55ff7e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2560')](_0x55ff7e[_0x1a4e('0x11c')],!0x1);_0x2327c6[_0x1a4e('0x2bd2')]=!(_0x368e5a[_0x1a4e('0x2341')](_0x55ff7e)||_0xf79407&&(_0x2c9ec9||_0x420b32));}else _0x2327c6['isDeclarationWithCollidingName']=!0x1;}}return _0x2327c6[_0x1a4e('0x2bd2')];}return!0x1;}function _0x3e38f8(_0x146f6e){if(!_0x368e5a['isGeneratedIdentifier'](_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2370')]);if(_0x2327c6){var _0x55ff7e=_0x300fc3(_0x2327c6);if(_0x55ff7e&&_0x28402f(_0x55ff7e))return _0x55ff7e[_0x1a4e('0x2340')];}}}function _0x28b8b5(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x23e6')]);if(_0x2327c6){var _0x55ff7e=_0x54a27b(_0x2327c6);if(_0x55ff7e)return _0x28402f(_0x55ff7e);}return!0x1;}function _0x458b5e(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf8:case 0xfa:case 0xfb:case 0xfd:case 0x101:return _0x5d03f6(_0x54a27b(_0x146f6e)||_0x450499);case 0xff:var _0x2327c6=_0x146f6e['exportClause'];return!!_0x2327c6&&_0x368e5a[_0x1a4e('0x1c2')](_0x2327c6['elements'],_0x458b5e);case 0xfe:return!_0x146f6e[_0x1a4e('0x2302')]||0x48!==_0x146f6e['expression'][_0x1a4e('0x146b')]||_0x5d03f6(_0x54a27b(_0x146f6e)||_0x450499);}return!0x1;}function _0x55cf4f(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2bd3')]);return!(void 0x0===_0x2327c6||0x117!==_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||!_0x368e5a[_0x1a4e('0x23a8')](_0x2327c6))&&_0x5d03f6(_0x54a27b(_0x2327c6))&&_0x2327c6['moduleReference']&&!_0x368e5a['nodeIsMissing'](_0x2327c6[_0x1a4e('0x236d')]);}function _0x5d03f6(_0x368e5a){var _0x146f6e=_0x4f0953(_0x368e5a);return _0x146f6e===_0x450499||!!(0x401b3bf&_0x146f6e[_0x1a4e('0x7b2')])&&(_0x239ab2[_0x1a4e('0x2781')]||!_0x242f5f(_0x146f6e));}function _0x242f5f(_0x368e5a){return _0x56134e(_0x368e5a)||!!_0x368e5a[_0x1a4e('0x286f')];}function _0x2118c8(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2328')](_0x146f6e[_0x1a4e('0x8f2')])){if(_0x368e5a[_0x1a4e('0x2574')](_0x146f6e)||_0x368e5a['isSetAccessor'](_0x146f6e))return!0x1;var _0x2327c6=_0x5859c7(_0x54a27b(_0x146f6e));return _0x2327c6[_0x1a4e('0x1e')]>0x1||0x1===_0x2327c6[_0x1a4e('0x1e')]&&_0x2327c6[0x0][_0x1a4e('0x2350')]!==_0x146f6e;}return!0x1;}function _0x49dc3b(_0x146f6e){return!(!_0x4f3c04||_0x438bd2(_0x146f6e)||_0x368e5a[_0x1a4e('0x24a9')](_0x146f6e)||!_0x146f6e[_0x1a4e('0x236a')]||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x5c));}function _0x1d68ba(_0x146f6e){return _0x4f3c04&&_0x438bd2(_0x146f6e)&&!_0x146f6e[_0x1a4e('0x236a')]&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x5c);}function _0xdfe84b(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x23e2')]);if(!_0x2327c6)return!0x1;var _0x55ff7e=_0x54a27b(_0x2327c6);return!!(_0x55ff7e&&0x10&_0x55ff7e[_0x1a4e('0x7b2')])&&!!_0x368e5a[_0x1a4e('0x2308')](_0x768c45(_0x55ff7e),function(_0x146f6e){return 0x401b3bf&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a['isPropertyAccessExpression'](_0x146f6e[_0x1a4e('0x2340')]);});}function _0x4b83d0(_0x146f6e){var _0x2327c6=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x23e2')]);if(!_0x2327c6)return _0x368e5a['emptyArray'];var _0x55ff7e=_0x54a27b(_0x2327c6);return _0x55ff7e&&_0x41c062(_0x38797c(_0x55ff7e))||_0x368e5a[_0x1a4e('0x1700')];}function _0x2ebdb0(_0x368e5a){return _0x165ecf(_0x368e5a)['flags']||0x0;}function _0x2de6b3(_0x368e5a){return _0x2f9c58(_0x368e5a[_0x1a4e('0x11c')]),_0x165ecf(_0x368e5a)[_0x1a4e('0x2b8c')];}function _0x56724e(_0x368e5a){switch(_0x368e5a['kind']){case 0x116:case 0xbd:case 0xbe:return!0x0;}return!0x1;}function _0x23958d(_0x146f6e){if(0x116===_0x146f6e[_0x1a4e('0x146b')])return _0x2de6b3(_0x146f6e);var _0x2327c6=_0x165ecf(_0x146f6e)['resolvedSymbol'];if(_0x2327c6&&0x8&_0x2327c6[_0x1a4e('0x7b2')]){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2340')];if(_0x368e5a[_0x1a4e('0x235b')](_0x55ff7e['parent']))return _0x2de6b3(_0x55ff7e);}}function _0x517023(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x254a')]);if(!_0x55ff7e)return _0x368e5a['TypeReferenceSerializationKind']['Unknown'];if(_0x2327c6&&!(_0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x2327c6)))return _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x1785')];var _0x1adc17=_0x151d70(_0x55ff7e,0x401b3bf,!0x0,!0x1,_0x2327c6),_0xf79407=_0x151d70(_0x55ff7e,0x40c09e8,!0x0,!0x1,_0x2327c6);if(_0x1adc17&&_0x1adc17===_0xf79407){var _0x2c9ec9=_0x43fa1f(!0x1);if(_0x2c9ec9&&_0x1adc17===_0x2c9ec9)return _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0xf55')];var _0x420b32=_0x38797c(_0x1adc17);if(_0x420b32&&_0x230807(_0x420b32))return _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x1956')];}if(!_0xf79407)return _0x368e5a['TypeReferenceSerializationKind'][_0x1a4e('0x1785')];var _0x1b06ad=_0x287d7b(_0xf79407);return _0x1b06ad===_0x336c2?_0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x1785')]:0x3&_0x1b06ad['flags']?_0x368e5a[_0x1a4e('0x1960')]['ObjectType']:_0xc28455(_0x1b06ad,0x3c000)?_0x368e5a['TypeReferenceSerializationKind'][_0x1a4e('0x1957')]:_0xc28455(_0x1b06ad,0x210)?_0x368e5a[_0x1a4e('0x1960')]['BooleanType']:_0xc28455(_0x1b06ad,0x128)?_0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x1958')]:_0xc28455(_0x1b06ad,0x840)?_0x368e5a[_0x1a4e('0x1960')]['BigIntLikeType']:_0xc28455(_0x1b06ad,0x84)?_0x368e5a['TypeReferenceSerializationKind'][_0x1a4e('0x195a')]:_0x102fd6(_0x1b06ad)?_0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x195c')]:_0xc28455(_0x1b06ad,0x3000)?_0x368e5a['TypeReferenceSerializationKind'][_0x1a4e('0x195d')]:function(_0x368e5a){return!!(0x80000&_0x368e5a['flags'])&&_0x7bcdc7(_0x368e5a,0x0)[_0x1a4e('0x1e')]>0x0;}(_0x1b06ad)?_0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x195e')]:_0x4ba777(_0x1b06ad)?_0x368e5a[_0x1a4e('0x1960')]['ArrayLikeType']:_0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x195f')];}function _0x4b7981(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a['isVariableLikeOrAccessor']);if(!_0x2c9ec9)return _0x368e5a[_0x1a4e('0x28b6')](0x78);var _0x420b32=_0x54a27b(_0x2c9ec9),_0x1b06ad=!_0x420b32||0x20800&_0x420b32[_0x1a4e('0x7b2')]?_0x336c2:_0x2802a6(_0x38797c(_0x420b32));return 0x2000&_0x1b06ad[_0x1a4e('0x7b2')]&&_0x1b06ad['symbol']===_0x420b32&&(_0x55ff7e|=0x100000),_0xf79407&&(_0x1b06ad=_0x6d96b4(_0x1b06ad)),_0x12cd5e[_0x1a4e('0x28dd')](_0x1b06ad,_0x2327c6,0x400|_0x55ff7e,_0x1adc17);}function _0x390859(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2342')]);if(!_0xf79407)return _0x368e5a[_0x1a4e('0x28b6')](0x78);var _0x2c9ec9=_0x38523e(_0xf79407);return _0x12cd5e[_0x1a4e('0x28dd')](_0x4b6767(_0x2c9ec9),_0x2327c6,0x400|_0x55ff7e,_0x1adc17);}function _0x36aa2f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a['getParseTreeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x24a8')]);if(!_0xf79407)return _0x368e5a[_0x1a4e('0x28b6')](0x78);var _0x2c9ec9=_0x3a6dfd(_0x83ada9(_0xf79407));return _0x12cd5e[_0x1a4e('0x28dd')](_0x2c9ec9,_0x2327c6,0x400|_0x55ff7e,_0x1adc17);}function _0xe58857(_0x146f6e){return _0xa60cd8['has'](_0x368e5a['escapeLeadingUnderscores'](_0x146f6e));}function _0x300fc3(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x165ecf(_0x146f6e)[_0x1a4e('0x296c')];if(_0x55ff7e)return _0x55ff7e;var _0x1adc17=_0x146f6e;if(_0x2327c6){var _0xf79407=_0x146f6e['parent'];_0x368e5a[_0x1a4e('0x23e6')](_0xf79407)&&_0x146f6e===_0xf79407['name']&&(_0x1adc17=_0x1c717b(_0xf79407));}return _0x1e09ab(_0x1adc17,_0x146f6e[_0x1a4e('0x22f3')],0x431b3bf,void 0x0,void 0x0,!0x0);}function _0x5851c2(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2370')]);if(_0x2327c6){var _0x55ff7e=_0x300fc3(_0x2327c6);if(_0x55ff7e)return _0x244de7(_0x55ff7e)[_0x1a4e('0x2340')];}}}function _0x574b1e(_0x146f6e){return!!(_0x368e5a[_0x1a4e('0x235d')](_0x146f6e)||_0x368e5a['isVariableDeclaration'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x235f')](_0x146f6e))&&_0x37edbe(_0x38797c(_0x54a27b(_0x146f6e)));}function _0x26510c(_0x146f6e,_0x2327c6){return function(_0x146f6e,_0x2327c6,_0x55ff7e){return(0x400&_0x146f6e[_0x1a4e('0x7b2')]?_0x12cd5e[_0x1a4e('0x28e0')](_0x146f6e['symbol'],0x401b3bf,_0x2327c6,void 0x0,_0x55ff7e):_0x146f6e===_0x236fc7?_0x368e5a[_0x1a4e('0x2bd4')]():_0x146f6e===_0x4b250a&&_0x368e5a[_0x1a4e('0x2bd5')]())||_0x368e5a[_0x1a4e('0x2896')](_0x146f6e[_0x1a4e('0x255')]);}(_0x38797c(_0x54a27b(_0x146f6e)),_0x146f6e,_0x2327c6);}function _0x1cab27(_0x146f6e){var _0x2327c6=0xf4===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x172e')](_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2374')]):_0x368e5a['getExternalModuleName'](_0x146f6e),_0x55ff7e=_0x3d891b(_0x2327c6,_0x2327c6,void 0x0);if(_0x55ff7e)return _0x368e5a[_0x1a4e('0x28c9')](_0x55ff7e,0x117);}function _0x1145ed(_0x146f6e,_0x2327c6){if((_0x57b692&_0x2327c6)!==_0x2327c6&&_0x239ab2[_0x1a4e('0x2742')]){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e);if(_0x368e5a['isEffectiveExternalModule'](_0x55ff7e,_0x239ab2)&&!(0x400000&_0x146f6e[_0x1a4e('0x7b2')])){var _0x1adc17=(_0x1b06ad=_0x55ff7e,_0x326eae=_0x146f6e,_0x1ad11f||(_0x1ad11f=_0x280142(_0x1b06ad,_0x368e5a[_0x1a4e('0x22e3')],_0x368e5a['Diagnostics'][_0x1a4e('0x2bd6')],_0x326eae)||_0x450499),_0x1ad11f);if(_0x1adc17!==_0x450499)for(var _0xf79407=_0x2327c6&~_0x57b692,_0x2c9ec9=0x1;_0x2c9ec9<=0x10000;_0x2c9ec9<<=0x1)if(_0xf79407&_0x2c9ec9){var _0x420b32=_0x234257(_0x2c9ec9);_0x5d1705(_0x1adc17[_0x1a4e('0x0')],_0x368e5a[_0x1a4e('0x22f4')](_0x420b32),0x401b3bf)||_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1'],_0x368e5a[_0x1a4e('0x22e3')],_0x420b32);}_0x57b692|=_0x2327c6;}}var _0x1b06ad,_0x326eae;}function _0x234257(_0x146f6e){switch(_0x146f6e){case 0x1:return'__extends';case 0x2:return'__assign';case 0x4:return _0x1a4e('0x1289');case 0x8:return _0x1a4e('0x16e5');case 0x10:return _0x1a4e('0x165b');case 0x20:return _0x1a4e('0x165a');case 0x40:return _0x1a4e('0x1279');case 0x80:return _0x1a4e('0x165c');case 0x100:return _0x1a4e('0x165e');case 0x200:return _0x1a4e('0x165f');case 0x400:return'__spread';case 0x800:return _0x1a4e('0x1369');case 0x1000:return'__asyncGenerator';case 0x2000:return _0x1a4e('0x2bd7');case 0x4000:return _0x1a4e('0x1663');case 0x8000:return _0x1a4e('0x165d');case 0x10000:return'__makeTemplateObject';default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2bd8'));}}function _0xbfc3a2(_0x146f6e){return function(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x232f')])return!0x1;if(!_0x368e5a[_0x1a4e('0x2b42')](_0x146f6e,_0x146f6e[_0x1a4e('0x11c')],_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]))return 0x9c!==_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a['nodeIsPresent'](_0x146f6e['body'])?_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bd9')]):_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bda')]);if(0x9e===_0x146f6e[_0x1a4e('0x146b')]||0x9f===_0x146f6e[_0x1a4e('0x146b')]){var _0x2327c6=_0x368e5a['getAllAccessorDeclarations'](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2369')],_0x146f6e);if(_0x2327c6['firstAccessor'][_0x1a4e('0x232f')]&&_0x146f6e===_0x2327c6[_0x1a4e('0x2bdb')])return _0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bdc')]);}return!0x1;}(_0x146f6e)||function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9=function(_0x146f6e){return!!_0x146f6e['modifiers']&&(function(_0x146f6e){switch(_0x146f6e['kind']){case 0x9e:case 0x9f:case 0x9d:case 0x9a:case 0x99:case 0x9c:case 0x9b:case 0xa2:case 0xf4:case 0xf9:case 0xf8:case 0xff:case 0xfe:case 0xc4:case 0xc5:case 0x97:return!0x1;default:if(0xf5===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0x117===_0x146f6e[_0x1a4e('0x11c')]['kind'])return!0x1;switch(_0x146f6e['kind']){case 0xef:return _0x21490a(_0x146f6e,0x79);case 0xf0:return _0x21490a(_0x146f6e,0x76);case 0xf1:case 0xdb:case 0xf2:return!0x0;case 0xf3:return _0x21490a(_0x146f6e,0x4d);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](),!0x1;}}}(_0x146f6e)?_0x1096e4(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x2870')]):void 0x0);}(_0x146f6e);if(void 0x0!==_0x2c9ec9)return _0x2c9ec9;for(var _0x420b32=0x0,_0x1b06ad=0x0,_0x326eae=_0x146f6e[_0x1a4e('0x242d')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];if(0x85!==_0x56674b[_0x1a4e('0x146b')]){if(0x99===_0x146f6e['kind']||0x9b===_0x146f6e[_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bdd')],_0x368e5a[_0x1a4e('0x22ba')](_0x56674b['kind']));if(0xa2===_0x146f6e[_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_cannot_appear_on_an_index_signature'],_0x368e5a[_0x1a4e('0x22ba')](_0x56674b[_0x1a4e('0x146b')]));}switch(_0x56674b[_0x1a4e('0x146b')]){case 0x4d:if(0xf3!==_0x146f6e[_0x1a4e('0x146b')])return _0x2d955f(_0x146f6e,_0x368e5a['Diagnostics']['A_class_member_cannot_have_the_0_keyword'],_0x368e5a[_0x1a4e('0x22ba')](0x4d));break;case 0x73:case 0x72:case 0x71:var _0x415952=_0x4b2624(_0x368e5a[_0x1a4e('0x245e')](_0x56674b[_0x1a4e('0x146b')]));if(0x1c&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bde')]);if(0x20&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bdf')],_0x415952,_0x1a4e('0x22ab'));if(0x40&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a['Diagnostics'][_0x1a4e('0x2bdf')],_0x415952,_0x1a4e('0x22aa'));if(0x100&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_must_precede_1_modifier'],_0x415952,_0x1a4e('0xe06'));if(0xf5===_0x146f6e[_0x1a4e('0x11c')]['kind']||0x117===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a['Diagnostics']['_0_modifier_cannot_appear_on_a_module_or_namespace_element'],_0x415952);if(0x80&_0x420b32)return 0x71===_0x56674b[_0x1a4e('0x146b')]?_0x2d955f(_0x56674b,_0x368e5a['Diagnostics']['_0_modifier_cannot_be_used_with_1_modifier'],_0x415952,_0x1a4e('0x2be0')):_0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bdf')],_0x415952,'abstract');_0x420b32|=_0x368e5a[_0x1a4e('0x245e')](_0x56674b['kind']);break;case 0x74:if(0x20&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a['Diagnostics'][_0x1a4e('0x2be1')],_0x1a4e('0x22ab'));if(0x40&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_must_precede_1_modifier'],_0x1a4e('0x22ab'),_0x1a4e('0x22aa'));if(0x100&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bdf')],'static',_0x1a4e('0xe06'));if(0xf5===_0x146f6e[_0x1a4e('0x11c')]['kind']||0x117===_0x146f6e[_0x1a4e('0x11c')]['kind'])return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_cannot_appear_on_a_module_or_namespace_element'],_0x1a4e('0x22ab'));if(0x97===_0x146f6e[_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a['Diagnostics'][_0x1a4e('0x2be2')],_0x1a4e('0x22ab'));if(0x80&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_cannot_be_used_with_1_modifier'],_0x1a4e('0x22ab'),'abstract');_0x420b32|=0x20,_0x2327c6=_0x56674b;break;case 0x85:if(0x40&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a['Diagnostics'][_0x1a4e('0x2be1')],_0x1a4e('0x22aa'));if(0x9a!==_0x146f6e[_0x1a4e('0x146b')]&&0x99!==_0x146f6e[_0x1a4e('0x146b')]&&0xa2!==_0x146f6e[_0x1a4e('0x146b')]&&0x97!==_0x146f6e[_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature']);_0x420b32|=0x40,_0xf79407=_0x56674b;break;case 0x55:if(0x1&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be1')],_0x1a4e('0x229c'));if(0x2&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_must_precede_1_modifier'],_0x1a4e('0x229c'),'declare');if(0x80&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bdf')],_0x1a4e('0x229c'),_0x1a4e('0x2be0'));if(0x100&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bdf')],'export',_0x1a4e('0xe06'));if(0xf0===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a['Diagnostics'][_0x1a4e('0x2be3')],'export');if(0x97===_0x146f6e[_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a['Diagnostics'][_0x1a4e('0x2be2')],_0x1a4e('0x229c'));_0x420b32|=0x1;break;case 0x50:var _0x46923a=0x117===_0x146f6e['parent'][_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x11c')]:_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')];if(0xf4===_0x46923a[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x233c')](_0x46923a))return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bc3')]);_0x420b32|=0x200;break;case 0x7d:if(0x2&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be1')],'declare');if(0x100&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a['Diagnostics'][_0x1a4e('0x2be4')],_0x1a4e('0xe06'));if(0xf0===_0x146f6e['parent'][_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be3')],'declare');if(0x97===_0x146f6e[_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_cannot_appear_on_a_parameter'],_0x1a4e('0x229b'));if(0x400000&_0x146f6e['parent'][_0x1a4e('0x7b2')]&&0xf5===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['A_declare_modifier_cannot_be_used_in_an_already_ambient_context']);_0x420b32|=0x2,_0x55ff7e=_0x56674b;break;case 0x76:if(0x80&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_already_seen'],'abstract');if(0xf0!==_0x146f6e[_0x1a4e('0x146b')]){if(0x9c!==_0x146f6e['kind']&&0x9a!==_0x146f6e[_0x1a4e('0x146b')]&&0x9e!==_0x146f6e['kind']&&0x9f!==_0x146f6e[_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be5')]);if(0xf0!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e[_0x1a4e('0x11c')],0x80))return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be6')]);if(0x20&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be7')],_0x1a4e('0x22ab'),_0x1a4e('0x2be0'));if(0x8&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_cannot_be_used_with_1_modifier'],_0x1a4e('0x22a7'),_0x1a4e('0x2be0'));}_0x420b32|=0x80;break;case 0x79:if(0x100&_0x420b32)return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_already_seen'],_0x1a4e('0xe06'));if(0x2&_0x420b32||0x400000&_0x146f6e[_0x1a4e('0x11c')]['flags'])return _0x2d955f(_0x56674b,_0x368e5a['Diagnostics']['_0_modifier_cannot_be_used_in_an_ambient_context'],_0x1a4e('0xe06'));if(0x97===_0x146f6e[_0x1a4e('0x146b')])return _0x2d955f(_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be2')],_0x1a4e('0xe06'));_0x420b32|=0x100,_0x1adc17=_0x56674b;}}return 0x9d===_0x146f6e[_0x1a4e('0x146b')]?0x20&_0x420b32?_0x2d955f(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be8')],_0x1a4e('0x22ab')):0x80&_0x420b32?_0x2d955f(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_cannot_appear_on_a_constructor_declaration'],_0x1a4e('0x2be0')):0x100&_0x420b32?_0x2d955f(_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be8')],_0x1a4e('0xe06')):!!(0x40&_0x420b32)&&_0x2d955f(_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be8')],_0x1a4e('0x22aa')):(0xf9===_0x146f6e[_0x1a4e('0x146b')]||0xf8===_0x146f6e[_0x1a4e('0x146b')])&&0x2&_0x420b32?_0x2d955f(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2be9')],_0x1a4e('0x229b')):0x97===_0x146f6e[_0x1a4e('0x146b')]&&0x5c&_0x420b32&&_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])?_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bea')]):0x97===_0x146f6e[_0x1a4e('0x146b')]&&0x5c&_0x420b32&&_0x146f6e[_0x1a4e('0x25f9')]?_0x2d955f(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['A_parameter_property_cannot_be_declared_using_a_rest_parameter']):!!(0x100&_0x420b32)&&function(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9c:case 0xef:case 0xc4:case 0xc5:return!0x1;}return _0x2d955f(_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['_0_modifier_cannot_be_used_here'],_0x1a4e('0xe06'));}(_0x146f6e,_0x1adc17);}(_0x146f6e);}function _0x21490a(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x242d')][_0x1a4e('0x1e')]>0x1||_0x368e5a[_0x1a4e('0x242d')][0x0][_0x1a4e('0x146b')]!==_0x146f6e;}function _0x11db9d(_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=_0x368e5a[_0x1a4e('0x167d')]['Trailing_comma_not_allowed']),!(!_0x146f6e||!_0x146f6e[_0x1a4e('0x265d')])&&_0x52940f(_0x146f6e[0x0],_0x146f6e[_0x1a4e('0xca')]-','[_0x1a4e('0x1e')],','[_0x1a4e('0x1e')],_0x2327c6);}function _0x55482a(_0x146f6e,_0x2327c6){if(_0x146f6e&&0x0===_0x146f6e[_0x1a4e('0x1e')]){var _0x55ff7e=_0x146f6e[_0x1a4e('0xa4')]-'<'['length'];return _0x52940f(_0x2327c6,_0x55ff7e,_0x368e5a[_0x1a4e('0x22c6')](_0x2327c6[_0x1a4e('0xe04')],_0x146f6e['end'])+'>'[_0x1a4e('0x1e')]-_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['Type_parameter_list_cannot_be_empty']);}return!0x1;}function _0x3fdf1f(_0x146f6e){if(_0x1b8154>=0x3){var _0x2327c6=_0x146f6e['body']&&_0x368e5a[_0x1a4e('0x250c')](_0x146f6e[_0x1a4e('0x8f2')])&&_0x368e5a[_0x1a4e('0x2beb')](_0x146f6e['body'][_0x1a4e('0x2366')]);if(_0x2327c6){var _0x55ff7e=(_0xf79407=_0x146f6e[_0x1a4e('0x111a')],_0x368e5a['filter'](_0xf79407,function(_0x146f6e){return!!_0x146f6e[_0x1a4e('0x236a')]||_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])||_0x368e5a['isRestParameter'](_0x146f6e);}));if(_0x368e5a[_0x1a4e('0x1e')](_0x55ff7e)){_0x368e5a[_0x1a4e('0x3b')](_0x55ff7e,function(_0x146f6e){_0x4e173b(_0x2cb4f4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bec')]),_0x368e5a['createDiagnosticForNode'](_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['use_strict_directive_used_here']));});var _0x1adc17=_0x55ff7e['map'](function(_0x146f6e,_0x2327c6){return 0x0===_0x2327c6?_0x368e5a['createDiagnosticForNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bed')]):_0x368e5a['createDiagnosticForNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['and_here']);});return _0x4e173b[_0x1a4e('0x8b')](void 0x0,[_0x2cb4f4(_0x2327c6,_0x368e5a['Diagnostics']['use_strict_directive_cannot_be_used_with_non_simple_parameter_list'])][_0x1a4e('0x9a')](_0x1adc17)),!0x0;}}}var _0xf79407;return!0x1;}function _0x3fa372(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e);return _0xbfc3a2(_0x146f6e)||_0x55482a(_0x146f6e[_0x1a4e('0x23d7')],_0x2327c6)||function(_0x146f6e){for(var _0x2327c6=!0x1,_0x55ff7e=_0x146f6e[_0x1a4e('0x1e')],_0x1adc17=0x0;_0x1adc17<_0x55ff7e;_0x1adc17++){var _0xf79407=_0x146f6e[_0x1adc17];if(_0xf79407['dotDotDotToken']){if(_0x1adc17!==_0x55ff7e-0x1)return _0x2d955f(_0xf79407[_0x1a4e('0x25f9')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2baf')]);if(0x400000&_0xf79407[_0x1a4e('0x7b2')]||_0x11db9d(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ae3')]),_0x368e5a[_0x1a4e('0x1678')](_0xf79407['name']))return _0x2d955f(_0xf79407[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bee')]);if(_0xf79407['questionToken'])return _0x2d955f(_0xf79407['questionToken'],_0x368e5a[_0x1a4e('0x167d')]['A_rest_parameter_cannot_be_optional']);if(_0xf79407[_0x1a4e('0x236a')])return _0x2d955f(_0xf79407[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bef')]);}else if(_0xf79407[_0x1a4e('0x23ca')]){if(_0x2327c6=!0x0,_0xf79407[_0x1a4e('0x236a')])return _0x2d955f(_0xf79407['name'],_0x368e5a[_0x1a4e('0x167d')]['Parameter_cannot_have_question_mark_and_initializer']);}else if(_0x2327c6&&!_0xf79407[_0x1a4e('0x236a')])return _0x2d955f(_0xf79407[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')]['A_required_parameter_cannot_follow_an_optional_parameter']);}}(_0x146f6e['parameters'])||function(_0x146f6e,_0x2327c6){if(!_0x368e5a[_0x1a4e('0x23e0')](_0x146f6e))return!0x1;var _0x55ff7e=_0x146f6e[_0x1a4e('0x25fa')],_0x1adc17=_0x368e5a[_0x1a4e('0x22c1')](_0x2327c6,_0x55ff7e['pos'])['line'],_0xf79407=_0x368e5a[_0x1a4e('0x22c1')](_0x2327c6,_0x55ff7e[_0x1a4e('0xca')])['line'];return _0x1adc17!==_0xf79407&&_0x2d955f(_0x55ff7e,_0x368e5a['Diagnostics'][_0x1a4e('0x2bf0')]);}(_0x146f6e,_0x2327c6)||_0x368e5a['isFunctionLikeDeclaration'](_0x146f6e)&&_0x3fdf1f(_0x146f6e);}function _0x4e7c30(_0x146f6e,_0x2327c6){return _0x11db9d(_0x2327c6)||function(_0x146f6e,_0x2327c6){if(_0x2327c6&&0x0===_0x2327c6[_0x1a4e('0x1e')]){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e),_0x1adc17=_0x2327c6['pos']-'<'[_0x1a4e('0x1e')];return _0x52940f(_0x55ff7e,_0x1adc17,_0x368e5a['skipTrivia'](_0x55ff7e['text'],_0x2327c6[_0x1a4e('0xca')])+'>'[_0x1a4e('0x1e')]-_0x1adc17,_0x368e5a['Diagnostics'][_0x1a4e('0x2bf1')]);}return!0x1;}(_0x146f6e,_0x2327c6);}function _0x3f83b6(_0x146f6e){return function(_0x146f6e){if(_0x146f6e)for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(0xd2===_0x1adc17['kind'])return _0x52940f(_0x1adc17,_0x1adc17[_0x1a4e('0xa4')],0x0,_0x368e5a['Diagnostics'][_0x1a4e('0x2bf2')]);}return!0x1;}(_0x146f6e);}function _0x4b8115(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2380')];if(_0x11db9d(_0x2327c6))return!0x0;if(_0x2327c6&&0x0===_0x2327c6[_0x1a4e('0x1e')]){var _0x55ff7e=_0x368e5a['tokenToString'](_0x146f6e[_0x1a4e('0x2381')]);return _0x52940f(_0x146f6e,_0x2327c6[_0x1a4e('0xa4')],0x0,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bf3')],_0x55ff7e);}return _0x368e5a[_0x1a4e('0x1c2')](_0x2327c6,_0x491e68);}function _0x491e68(_0x368e5a){return _0x4e7c30(_0x368e5a,_0x368e5a[_0x1a4e('0x2365')]);}function _0x5774af(_0x146f6e){if(0x95!==_0x146f6e['kind'])return!0x1;var _0x2327c6=_0x146f6e;return 0xcc===_0x2327c6[_0x1a4e('0x2302')]['kind']&&0x1b===_0x2327c6[_0x1a4e('0x2302')]['operatorToken'][_0x1a4e('0x146b')]&&_0x2d955f(_0x2327c6[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x167d')]['A_comma_expression_is_not_allowed_in_a_computed_property_name']);}function _0x10c3d1(_0x146f6e){if(_0x146f6e[_0x1a4e('0x23fc')]){if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xef===_0x146f6e[_0x1a4e('0x146b')]||0xc4===_0x146f6e['kind']||0x9c===_0x146f6e[_0x1a4e('0x146b')]),0x400000&_0x146f6e['flags'])return _0x2d955f(_0x146f6e['asteriskToken'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bf4')]);if(!_0x146f6e[_0x1a4e('0x8f2')])return _0x2d955f(_0x146f6e['asteriskToken'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bf5')]);}}function _0x3854bb(_0x368e5a,_0x146f6e){return!!_0x368e5a&&_0x2d955f(_0x368e5a,_0x146f6e);}function _0x9b6589(_0x368e5a,_0x146f6e){return!!_0x368e5a&&_0x2d955f(_0x368e5a,_0x146f6e);}function _0x49bfda(_0x146f6e){if(_0x3d1ff1(_0x146f6e))return!0x0;if(0xe3===_0x146f6e['kind']&&_0x146f6e[_0x1a4e('0x2678')]&&0x0==(0x4000&_0x146f6e[_0x1a4e('0x7b2')]))return _0x2d955f(_0x146f6e['awaitModifier'],_0x368e5a[_0x1a4e('0x167d')]['A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator']);if(0xee===_0x146f6e[_0x1a4e('0x236a')]['kind']){var _0x2327c6=_0x146f6e[_0x1a4e('0x236a')];if(!_0x4ede43(_0x2327c6)){var _0x55ff7e=_0x2327c6[_0x1a4e('0x22e5')];if(!_0x55ff7e[_0x1a4e('0x1e')])return!0x1;if(_0x55ff7e['length']>0x1){var _0x1adc17=0xe2===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bf6')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bf7')];return _0x1096e4(_0x2327c6[_0x1a4e('0x22e5')][0x1],_0x1adc17);}var _0xf79407=_0x55ff7e[0x0];if(_0xf79407[_0x1a4e('0x236a')]){var _0x1adc17=0xe2===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bf8')]:_0x368e5a[_0x1a4e('0x167d')]['The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer'];return _0x2d955f(_0xf79407[_0x1a4e('0x2cb')],_0x1adc17);}if(_0xf79407[_0x1a4e('0x40')])return _0x2d955f(_0xf79407,_0x1adc17=0xe2===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x167d')]['The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation']:_0x368e5a['Diagnostics'][_0x1a4e('0x2bf9')]);}}return!0x1;}function _0x4742e0(_0x146f6e){if(_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x1e')]===(0x9e===_0x146f6e['kind']?0x1:0x2))return _0x368e5a[_0x1a4e('0x244d')](_0x146f6e);}function _0x554f76(_0x146f6e,_0x2327c6){if(function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23ff')](_0x146f6e)&&!_0xff0a1c(_0x146f6e);}(_0x146f6e))return _0x2d955f(_0x146f6e,_0x2327c6);}function _0x2205cb(_0x146f6e){if(_0x3fa372(_0x146f6e))return!0x0;if(0x9c===_0x146f6e[_0x1a4e('0x146b')]){if(0xbc===_0x146f6e[_0x1a4e('0x11c')]['kind']){if(_0x146f6e['modifiers']&&(0x1!==_0x146f6e[_0x1a4e('0x242d')][_0x1a4e('0x1e')]||0x79!==_0x368e5a[_0x1a4e('0x10f7')](_0x146f6e['modifiers'])[_0x1a4e('0x146b')]))return _0x1096e4(_0x146f6e,_0x368e5a['Diagnostics']['Modifiers_cannot_appear_here']);if(_0x3854bb(_0x146f6e[_0x1a4e('0x23ca')],_0x368e5a['Diagnostics']['An_object_member_cannot_be_declared_optional']))return!0x0;if(_0x9b6589(_0x146f6e[_0x1a4e('0x25f7')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b18')]))return!0x0;if(void 0x0===_0x146f6e[_0x1a4e('0x8f2')])return _0x52940f(_0x146f6e,_0x146f6e[_0x1a4e('0xca')]-0x1,';'[_0x1a4e('0x1e')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2644')],'{');}if(_0x10c3d1(_0x146f6e))return!0x0;}if(_0x368e5a['isClassLike'](_0x146f6e[_0x1a4e('0x11c')])){if(0x400000&_0x146f6e[_0x1a4e('0x7b2')])return _0x554f76(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bfa')]);if(0x9c===_0x146f6e[_0x1a4e('0x146b')]&&!_0x146f6e['body'])return _0x554f76(_0x146f6e['name'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bfb')]);}else{if(0xf1===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x554f76(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b16')]);if(0xa8===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x554f76(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['Diagnostics'][_0x1a4e('0x2b17')]);}}function _0x35bf7d(_0x368e5a){return 0xa===_0x368e5a[_0x1a4e('0x146b')]||0x8===_0x368e5a[_0x1a4e('0x146b')]||0xca===_0x368e5a[_0x1a4e('0x146b')]&&0x27===_0x368e5a[_0x1a4e('0x1474')]&&0x8===_0x368e5a[_0x1a4e('0x1784')][_0x1a4e('0x146b')];}function _0x2f79c4(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x146f6e[_0x1a4e('0x236a')];if(_0x55ff7e){var _0x1adc17=!(_0x35bf7d(_0x55ff7e)||function(_0x146f6e){if((_0x368e5a['isPropertyAccessExpression'](_0x146f6e)||_0x368e5a['isElementAccessExpression'](_0x146f6e)&&_0x35bf7d(_0x146f6e[_0x1a4e('0x24a7')]))&&_0x368e5a[_0x1a4e('0x2463')](_0x146f6e[_0x1a4e('0x2302')]))return!!(0x400&_0x31ebf4(_0x146f6e)[_0x1a4e('0x7b2')]);}(_0x55ff7e)||0x66===_0x55ff7e[_0x1a4e('0x146b')]||0x57===_0x55ff7e[_0x1a4e('0x146b')]||(_0x2327c6=_0x55ff7e,0x9===_0x2327c6[_0x1a4e('0x146b')]||0xca===_0x2327c6[_0x1a4e('0x146b')]&&0x27===_0x2327c6['operator']&&0x9===_0x2327c6[_0x1a4e('0x1784')][_0x1a4e('0x146b')])),_0xf79407=_0x368e5a[_0x1a4e('0x235d')](_0x146f6e)||_0x368e5a[_0x1a4e('0x238d')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x235f')](_0x146f6e);if(!_0xf79407||_0x146f6e['type'])return _0x2d955f(_0x55ff7e,_0x368e5a['Diagnostics'][_0x1a4e('0x2bfc')]);if(_0x1adc17)return _0x2d955f(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bfd')]);if(!_0xf79407||_0x1adc17)return _0x2d955f(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bfc')]);}}function _0x4ede43(_0x146f6e){var _0x2327c6=_0x146f6e['declarations'];return!!_0x11db9d(_0x146f6e['declarations'])||!_0x146f6e['declarations'][_0x1a4e('0x1e')]&&_0x52940f(_0x146f6e,_0x2327c6[_0x1a4e('0xa4')],_0x2327c6[_0x1a4e('0xca')]-_0x2327c6[_0x1a4e('0xa4')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bfe')]);}function _0x3ad173(_0x368e5a){return _0x368e5a[_0x1a4e('0x2636')][_0x1a4e('0x1e')]>0x0;}function _0x1096e4(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a['getSourceFileOfNode'](_0x146f6e);if(!_0x3ad173(_0x2c9ec9)){var _0x420b32=_0x368e5a[_0x1a4e('0x2357')](_0x2c9ec9,_0x146f6e['pos']);return _0x125480[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x22f5')](_0x2c9ec9,_0x420b32['start'],_0x420b32[_0x1a4e('0x1e')],_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407)),!0x0;}return!0x1;}function _0x52940f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x368e5a['getSourceFileOfNode'](_0x146f6e);return!_0x3ad173(_0x1b06ad)&&(_0x125480['add'](_0x368e5a[_0x1a4e('0x22f5')](_0x1b06ad,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32)),!0x0);}function _0x2d955f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return!_0x3ad173(_0x368e5a[_0x1a4e('0x1674')](_0x146f6e))&&(_0x125480[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x2354')](_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407)),!0x0);}function _0x3d1ff1(_0x146f6e){if(0x400000&_0x146f6e['flags']){if(_0x368e5a[_0x1a4e('0x238a')](_0x146f6e[_0x1a4e('0x11c')]))return _0x165ecf(_0x146f6e)[_0x1a4e('0x2bff')]=!0x0;if(!_0x165ecf(_0x146f6e)[_0x1a4e('0x2bff')]&&_0x368e5a['isFunctionLike'](_0x146f6e[_0x1a4e('0x11c')]))return _0x165ecf(_0x146f6e)[_0x1a4e('0x2bff')]=_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2c00')]);if(0xda===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0xf5===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0x117===_0x146f6e[_0x1a4e('0x11c')]['kind']){var _0x2327c6=_0x165ecf(_0x146f6e[_0x1a4e('0x11c')]);if(!_0x2327c6[_0x1a4e('0x2bff')])return _0x2327c6[_0x1a4e('0x2bff')]=_0x1096e4(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')]['Statements_are_not_allowed_in_ambient_contexts']);}}return!0x1;}function _0x3e40df(_0x146f6e){if(0x20&_0x146f6e[_0x1a4e('0x2335')]){var _0x2327c6=void 0x0;if(_0x1b8154>=0x1?_0x2327c6=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2c01')]:_0x368e5a[_0x1a4e('0x2385')](_0x146f6e,0xb6)?_0x2327c6=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2c02')]:_0x368e5a[_0x1a4e('0x2385')](_0x146f6e,0x116)&&(_0x2327c6=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2c03')]),_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2af1')](_0x146f6e['parent'])&&0x27===_0x146f6e['parent'][_0x1a4e('0x1474')],_0x1adc17=(_0x55ff7e?'-':'')+'0o'+_0x146f6e[_0x1a4e('0xe04')];return _0x2d955f(_0x55ff7e?_0x146f6e['parent']:_0x146f6e,_0x2327c6,_0x1adc17);}}return!0x1;}},function(_0x368e5a){_0x368e5a[_0x1a4e('0x1a3d')]=_0x1a4e('0x1a3d'),_0x368e5a['IntrinsicElements']=_0x1a4e('0x2a87'),_0x368e5a[_0x1a4e('0x2a8b')]=_0x1a4e('0x2a8b'),_0x368e5a['ElementAttributesPropertyNameContainer']='ElementAttributesProperty',_0x368e5a[_0x1a4e('0x2c04')]=_0x1a4e('0x2c05'),_0x368e5a[_0x1a4e('0x2a8c')]=_0x1a4e('0x2a8c'),_0x368e5a[_0x1a4e('0x2a21')]=_0x1a4e('0x2a21'),_0x368e5a[_0x1a4e('0x2a22')]='IntrinsicClassAttributes',_0x368e5a[_0x1a4e('0x2c06')]='LibraryManagedAttributes';}(_0x146f6e||(_0x146f6e={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e){var _0x2327c6=_0x368e5a['createNode'](_0x146f6e,-0x1,-0x1);return _0x2327c6['flags']|=0x8,_0x2327c6;}function _0x2327c6(_0x146f6e,_0x2327c6){return _0x146f6e!==_0x2327c6&&(_0x52f760(_0x146f6e,_0x2327c6),_0x48613f(_0x146f6e,_0x2327c6),_0x368e5a[_0x1a4e('0x2c07')](_0x146f6e)),_0x146f6e;}function _0x55ff7e(_0x146f6e,_0x2327c6){if(_0x146f6e&&_0x146f6e!==_0x368e5a[_0x1a4e('0x1700')]){if(_0x368e5a[_0x1a4e('0x253d')](_0x146f6e))return _0x146f6e;}else _0x146f6e=[];var _0x55ff7e=_0x146f6e;return _0x55ff7e[_0x1a4e('0xa4')]=-0x1,_0x55ff7e['end']=-0x1,_0x55ff7e[_0x1a4e('0x265d')]=_0x2327c6,_0x55ff7e;}function _0x1adc17(_0x368e5a){if(void 0x0===_0x368e5a)return _0x368e5a;var _0x2327c6=_0x146f6e(_0x368e5a['kind']);for(var _0x55ff7e in _0x2327c6['flags']|=_0x368e5a[_0x1a4e('0x7b2')],_0x52f760(_0x2327c6,_0x368e5a),_0x368e5a)!_0x2327c6[_0x1a4e('0xb')](_0x55ff7e)&&_0x368e5a[_0x1a4e('0xb')](_0x55ff7e)&&(_0x2327c6[_0x55ff7e]=_0x368e5a[_0x55ff7e]);return _0x2327c6;}function _0xf79407(_0x146f6e,_0x2327c6){if(_0x1a4e('0x3d')==typeof _0x146f6e)return _0x2c9ec9(_0x146f6e+'');if(_0x1a4e('0x85')==typeof _0x146f6e&&_0x1a4e('0x25f6')in _0x146f6e)return _0x420b32(_0x368e5a[_0x1a4e('0x25f5')](_0x146f6e)+'n');if(_0x1a4e('0x34b')==typeof _0x146f6e)return _0x146f6e?_0x1502a9():_0x302268();if(_0x368e5a[_0x1a4e('0xb19')](_0x146f6e)){var _0x55ff7e=_0x1b06ad(_0x146f6e);return _0x2327c6&&(_0x55ff7e[_0x1a4e('0x1a79')]=!0x0),_0x55ff7e;}return _0x1adc17=_0x146f6e,(_0xf79407=_0x1b06ad(_0x368e5a[_0x1a4e('0x2401')](_0x1adc17)))[_0x1a4e('0x2c08')]=_0x1adc17,_0xf79407;var _0x1adc17,_0xf79407;}function _0x2c9ec9(_0x368e5a){var _0x2327c6=_0x146f6e(0x8);return _0x2327c6[_0x1a4e('0xe04')]=_0x368e5a,_0x2327c6[_0x1a4e('0x2335')]=0x0,_0x2327c6;}function _0x420b32(_0x368e5a){var _0x2327c6=_0x146f6e(0x9);return _0x2327c6['text']=_0x368e5a,_0x2327c6;}function _0x1b06ad(_0x368e5a){var _0x2327c6=_0x146f6e(0xa);return _0x2327c6[_0x1a4e('0xe04')]=_0x368e5a,_0x2327c6;}function _0x326eae(_0x2327c6,_0x1adc17){var _0xf79407=_0x146f6e(0x48);return _0xf79407[_0x1a4e('0x22f3')]=_0x368e5a[_0x1a4e('0x22f4')](_0x2327c6),_0xf79407['originalKeywordKind']=_0x2327c6?_0x368e5a['stringToToken'](_0x2327c6):0x0,_0xf79407[_0x1a4e('0x2545')]=0x0,_0xf79407['autoGenerateId']=0x0,_0x1adc17&&(_0xf79407['typeArguments']=_0x55ff7e(_0x1adc17)),_0xf79407;}_0x368e5a[_0x1a4e('0x2c09')]=_0x2327c6,_0x368e5a['createNodeArray']=_0x55ff7e,_0x368e5a[_0x1a4e('0x28ca')]=_0x1adc17,_0x368e5a[_0x1a4e('0x2896')]=_0xf79407,_0x368e5a['createNumericLiteral']=_0x2c9ec9,_0x368e5a[_0x1a4e('0x2c0a')]=_0x420b32,_0x368e5a[_0x1a4e('0x2c0b')]=_0x1b06ad,_0x368e5a[_0x1a4e('0x2c0c')]=function(_0x368e5a){var _0x2327c6=_0x146f6e(0xd);return _0x2327c6[_0x1a4e('0xe04')]=_0x368e5a,_0x2327c6;},_0x368e5a[_0x1a4e('0x2893')]=_0x326eae,_0x368e5a[_0x1a4e('0x2c0d')]=function(_0x146f6e,_0x55ff7e){return _0x146f6e['typeArguments']!==_0x55ff7e?_0x2327c6(_0x326eae(_0x368e5a[_0x1a4e('0x2353')](_0x146f6e),_0x55ff7e),_0x146f6e):_0x146f6e;};var _0x56674b,_0x5731fe=0x0;function _0x5059ea(_0x368e5a){var _0x146f6e=_0x326eae(_0x368e5a);return _0x146f6e[_0x1a4e('0x2545')]=0x13,_0x146f6e[_0x1a4e('0x2c0e')]=_0x5731fe,_0x5731fe++,_0x146f6e;}function _0x7ab3e8(_0x368e5a){return _0x146f6e(_0x368e5a);}function _0x1502a9(){return _0x146f6e(0x66);}function _0x302268(){return _0x146f6e(0x57);}function _0x23020d(_0x368e5a){return _0x7ab3e8(_0x368e5a);}function _0x335c61(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0x94);return _0x55ff7e[_0x1a4e('0x5f')]=_0x368e5a,_0x55ff7e[_0x1a4e('0x5d')]=_0x6b37d1(_0x2327c6),_0x55ff7e;}function _0x35074e(_0x2327c6){var _0x55ff7e=_0x146f6e(0x95);return _0x55ff7e[_0x1a4e('0x2302')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c0f')](_0x146f6e)?_0x4abfbc(_0x146f6e):_0x146f6e;}(_0x2327c6),_0x55ff7e;}function _0x6d5210(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0x96);return _0x1adc17[_0x1a4e('0x2cb')]=_0x6b37d1(_0x368e5a),_0x1adc17[_0x1a4e('0x2364')]=_0x2327c6,_0x1adc17['default']=_0x55ff7e,_0x1adc17;}function _0x4106b0(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=_0x146f6e(0x97);return _0x326eae[_0x1a4e('0x232f')]=_0x2c7a92(_0x2327c6),_0x326eae[_0x1a4e('0x242d')]=_0x2c7a92(_0x55ff7e),_0x326eae[_0x1a4e('0x25f9')]=_0x1adc17,_0x326eae[_0x1a4e('0x2cb')]=_0x6b37d1(_0xf79407),_0x326eae[_0x1a4e('0x23ca')]=_0x2c9ec9,_0x326eae['type']=_0x420b32,_0x326eae[_0x1a4e('0x236a')]=_0x1b06ad?_0x368e5a[_0x1a4e('0x2c10')](_0x1b06ad):void 0x0,_0x326eae;}function _0x5220c1(_0x2327c6){var _0x55ff7e=_0x146f6e(0x98);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c11')](_0x2327c6),_0x55ff7e;}function _0x42ab38(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(0x99);return _0x2c9ec9[_0x1a4e('0x242d')]=_0x2c7a92(_0x368e5a),_0x2c9ec9[_0x1a4e('0x2cb')]=_0x6b37d1(_0x2327c6),_0x2c9ec9[_0x1a4e('0x23ca')]=_0x55ff7e,_0x2c9ec9[_0x1a4e('0x40')]=_0x1adc17,_0x2c9ec9[_0x1a4e('0x236a')]=_0xf79407,_0x2c9ec9;}function _0x25dace(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x146f6e(0x9a);return _0x420b32[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x420b32[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0x420b32[_0x1a4e('0x2cb')]=_0x6b37d1(_0x55ff7e),_0x420b32[_0x1a4e('0x23ca')]=void 0x0!==_0x1adc17&&0x38===_0x1adc17['kind']?_0x1adc17:void 0x0,_0x420b32[_0x1a4e('0x25f7')]=void 0x0!==_0x1adc17&&0x34===_0x1adc17[_0x1a4e('0x146b')]?_0x1adc17:void 0x0,_0x420b32[_0x1a4e('0x40')]=_0xf79407,_0x420b32[_0x1a4e('0x236a')]=_0x2c9ec9,_0x420b32;}function _0x5ca8a3(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0xbe573f(0x9b,_0x368e5a,_0x146f6e,_0x2327c6);return _0xf79407[_0x1a4e('0x2cb')]=_0x6b37d1(_0x55ff7e),_0xf79407[_0x1a4e('0x23ca')]=_0x1adc17,_0xf79407;}function _0x4eaea3(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){var _0x5731fe=_0x146f6e(0x9c);return _0x5731fe[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x5731fe['modifiers']=_0x2c7a92(_0x2327c6),_0x5731fe[_0x1a4e('0x23fc')]=_0x1adc17,_0x5731fe[_0x1a4e('0x2cb')]=_0x6b37d1(_0xf79407),_0x5731fe[_0x1a4e('0x23ca')]=_0x2c9ec9,_0x5731fe['typeParameters']=_0x2c7a92(_0x420b32),_0x5731fe[_0x1a4e('0x111a')]=_0x55ff7e(_0x1b06ad),_0x5731fe['type']=_0x326eae,_0x5731fe[_0x1a4e('0x8f2')]=_0x56674b,_0x5731fe;}function _0x51db07(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(0x9d);return _0x2c9ec9[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x2c9ec9[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0x2c9ec9['typeParameters']=void 0x0,_0x2c9ec9[_0x1a4e('0x111a')]=_0x55ff7e(_0x1adc17),_0x2c9ec9[_0x1a4e('0x40')]=void 0x0,_0x2c9ec9[_0x1a4e('0x8f2')]=_0xf79407,_0x2c9ec9;}function _0x6a2bae(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x146f6e(0x9e);return _0x1b06ad[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x1b06ad[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0x1b06ad['name']=_0x6b37d1(_0x1adc17),_0x1b06ad[_0x1a4e('0x23d7')]=void 0x0,_0x1b06ad[_0x1a4e('0x111a')]=_0x55ff7e(_0xf79407),_0x1b06ad[_0x1a4e('0x40')]=_0x2c9ec9,_0x1b06ad[_0x1a4e('0x8f2')]=_0x420b32,_0x1b06ad;}function _0xf2a30b(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x146f6e(0x9f);return _0x420b32['decorators']=_0x2c7a92(_0x368e5a),_0x420b32[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0x420b32[_0x1a4e('0x2cb')]=_0x6b37d1(_0x1adc17),_0x420b32[_0x1a4e('0x23d7')]=void 0x0,_0x420b32['parameters']=_0x55ff7e(_0xf79407),_0x420b32[_0x1a4e('0x8f2')]=_0x2c9ec9,_0x420b32;}function _0x4dff13(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(0xa2);return _0x2c9ec9[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x2c9ec9['modifiers']=_0x2c7a92(_0x2327c6),_0x2c9ec9[_0x1a4e('0x111a')]=_0x55ff7e(_0x1adc17),_0x2c9ec9['type']=_0xf79407,_0x2c9ec9;}function _0xbe573f(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(_0x368e5a);return _0x2c9ec9[_0x1a4e('0x23d7')]=_0x2c7a92(_0x2327c6),_0x2c9ec9['parameters']=_0x2c7a92(_0x55ff7e),_0x2c9ec9[_0x1a4e('0x40')]=_0x1adc17,_0x2c9ec9['typeArguments']=_0x2c7a92(_0xf79407),_0x2c9ec9;}function _0x40f2bc(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x23d7')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x111a')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x40')]!==_0x1adc17?_0x2327c6(_0xbe573f(_0x368e5a[_0x1a4e('0x146b')],_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;}function _0x5966c7(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xa3);return _0x55ff7e[_0x1a4e('0x2667')]=_0x6b37d1(_0x368e5a),_0x55ff7e[_0x1a4e('0x40')]=_0x2327c6,_0x55ff7e;}function _0x253aaf(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xa4);return _0x1adc17[_0x1a4e('0xe7d')]=_0x6b37d1(_0x2327c6),_0x1adc17[_0x1a4e('0x2365')]=_0x55ff7e&&_0x368e5a[_0x1a4e('0x2c12')](_0x55ff7e),_0x1adc17;}function _0x50f6a5(_0x368e5a){var _0x2327c6=_0x146f6e(0xa7);return _0x2327c6[_0x1a4e('0x25fb')]=_0x368e5a,_0x2327c6;}function _0x14b18b(_0x368e5a){var _0x2327c6=_0x146f6e(0xa8);return _0x2327c6[_0x1a4e('0x2369')]=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x3c9b81(_0x2327c6){var _0x55ff7e=_0x146f6e(0xa9);return _0x55ff7e[_0x1a4e('0x2388')]=_0x368e5a['parenthesizeArrayTypeMember'](_0x2327c6),_0x55ff7e;}function _0x2b72dc(_0x368e5a){var _0x2327c6=_0x146f6e(0xaa);return _0x2327c6['elementTypes']=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x3898ff(_0x2327c6){var _0x55ff7e=_0x146f6e(0xab);return _0x55ff7e[_0x1a4e('0x40')]=_0x368e5a[_0x1a4e('0x2c13')](_0x2327c6),_0x55ff7e;}function _0x557fd2(_0x368e5a){var _0x2327c6=_0x146f6e(0xac);return _0x2327c6['type']=_0x368e5a,_0x2327c6;}function _0x3a2f4f(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(_0x2327c6);return _0x1adc17['types']=_0x368e5a['parenthesizeElementTypeMembers'](_0x55ff7e),_0x1adc17;}function _0xcefb2c(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2380')]!==_0x146f6e?_0x2327c6(_0x3a2f4f(_0x368e5a['kind'],_0x146f6e),_0x368e5a):_0x368e5a;}function _0x502147(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(0xaf);return _0x2c9ec9[_0x1a4e('0x25fd')]=_0x368e5a[_0x1a4e('0x2c14')](_0x2327c6),_0x2c9ec9[_0x1a4e('0x25fe')]=_0x368e5a['parenthesizeConditionalTypeMember'](_0x55ff7e),_0x2c9ec9[_0x1a4e('0x25ff')]=_0x1adc17,_0x2c9ec9[_0x1a4e('0x266a')]=_0xf79407,_0x2c9ec9;}function _0x863ba9(_0x368e5a){var _0x2327c6=_0x146f6e(0xb0);return _0x2327c6[_0x1a4e('0x2668')]=_0x368e5a,_0x2327c6;}function _0x2fe69e(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xb7);return _0xf79407[_0x1a4e('0x2300')]=_0x368e5a,_0xf79407['qualifier']=_0x2327c6,_0xf79407[_0x1a4e('0x2365')]=_0x2c7a92(_0x55ff7e),_0xf79407[_0x1a4e('0x29fb')]=_0x1adc17,_0xf79407;}function _0x14d324(_0x368e5a){var _0x2327c6=_0x146f6e(0xb1);return _0x2327c6[_0x1a4e('0x40')]=_0x368e5a,_0x2327c6;}function _0x4306da(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xb3);return _0x1adc17['operator']=_0x1a4e('0x3d')==typeof _0x2327c6?_0x2327c6:0x81,_0x1adc17[_0x1a4e('0x40')]=_0x368e5a[_0x1a4e('0x2c15')]('number'==typeof _0x2327c6?_0x55ff7e:_0x2327c6),_0x1adc17;}function _0x4bf2b2(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xb4);return _0x1adc17[_0x1a4e('0x2601')]=_0x368e5a['parenthesizeElementTypeMember'](_0x2327c6),_0x1adc17[_0x1a4e('0x2669')]=_0x55ff7e,_0x1adc17;}function _0x565efd(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xb5);return _0xf79407[_0x1a4e('0x2666')]=_0x368e5a,_0xf79407[_0x1a4e('0x2668')]=_0x2327c6,_0xf79407['questionToken']=_0x55ff7e,_0xf79407[_0x1a4e('0x40')]=_0x1adc17,_0xf79407;}function _0x20151f(_0x368e5a){var _0x2327c6=_0x146f6e(0xb6);return _0x2327c6[_0x1a4e('0x2301')]=_0x368e5a,_0x2327c6;}function _0x5f34a1(_0x368e5a){var _0x2327c6=_0x146f6e(0xb8);return _0x2327c6['elements']=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x20c19a(_0x368e5a){var _0x2327c6=_0x146f6e(0xb9);return _0x2327c6[_0x1a4e('0x2398')]=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x441a71(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xba);return _0xf79407[_0x1a4e('0x25f9')]=_0x368e5a,_0xf79407[_0x1a4e('0x81a')]=_0x6b37d1(_0x2327c6),_0xf79407[_0x1a4e('0x2cb')]=_0x6b37d1(_0x55ff7e),_0xf79407[_0x1a4e('0x236a')]=_0x1adc17,_0xf79407;}function _0x3ab112(_0x2327c6,_0x1adc17){var _0xf79407=_0x146f6e(0xbb);return _0xf79407[_0x1a4e('0x2398')]=_0x368e5a[_0x1a4e('0x2c16')](_0x55ff7e(_0x2327c6)),_0x1adc17&&(_0xf79407['multiLine']=!0x0),_0xf79407;}function _0xc08913(_0x368e5a,_0x2327c6){var _0x1adc17=_0x146f6e(0xbc);return _0x1adc17['properties']=_0x55ff7e(_0x368e5a),_0x2327c6&&(_0x1adc17[_0x1a4e('0x2677')]=!0x0),_0x1adc17;}function _0x37cce2(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xbd);return _0x1adc17[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c11')](_0x2327c6),_0x1adc17[_0x1a4e('0x2cb')]=_0x6b37d1(_0x55ff7e),_0x3552ca(_0x1adc17,0x20000),_0x1adc17;}function _0x3fa9be(_0x2327c6,_0x55ff7e){var _0x1adc17,_0x2c9ec9=_0x146f6e(0xbe);return _0x2c9ec9[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c11')](_0x2327c6),_0x2c9ec9[_0x1a4e('0x24a7')]=(_0x1adc17=_0x55ff7e,_0x368e5a['isString'](_0x1adc17)||'number'==typeof _0x1adc17?_0xf79407(_0x1adc17):_0x1adc17),_0x2c9ec9;}function _0x215b10(_0x2327c6,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(0xbf);return _0x2c9ec9[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c11')](_0x2327c6),_0x2c9ec9[_0x1a4e('0x2365')]=_0x2c7a92(_0x1adc17),_0x2c9ec9[_0x1a4e('0x2373')]=_0x368e5a['parenthesizeListElements'](_0x55ff7e(_0xf79407)),_0x2c9ec9;}function _0x595f5e(_0x2327c6,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(0xc0);return _0x2c9ec9[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c17')](_0x2327c6),_0x2c9ec9[_0x1a4e('0x2365')]=_0x2c7a92(_0x1adc17),_0x2c9ec9[_0x1a4e('0x2373')]=_0xf79407?_0x368e5a['parenthesizeListElements'](_0x55ff7e(_0xf79407)):void 0x0,_0x2c9ec9;}function _0x312187(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xc1);return _0xf79407['tag']=_0x368e5a[_0x1a4e('0x2c11')](_0x2327c6),_0x1adc17?(_0xf79407[_0x1a4e('0x2365')]=_0x2c7a92(_0x55ff7e),_0xf79407[_0x1a4e('0xe19')]=_0x1adc17):(_0xf79407[_0x1a4e('0x2365')]=void 0x0,_0xf79407[_0x1a4e('0xe19')]=_0x55ff7e),_0xf79407;}function _0x3d13bd(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xc2);return _0x1adc17['type']=_0x2327c6,_0x1adc17[_0x1a4e('0x2302')]=_0x368e5a['parenthesizePrefixOperand'](_0x55ff7e),_0x1adc17;}function _0x4abfbc(_0x368e5a){var _0x2327c6=_0x146f6e(0xc3);return _0x2327c6[_0x1a4e('0x2302')]=_0x368e5a,_0x2327c6;}function _0x5687b7(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=_0x146f6e(0xc4);return _0x326eae[_0x1a4e('0x242d')]=_0x2c7a92(_0x368e5a),_0x326eae[_0x1a4e('0x23fc')]=_0x2327c6,_0x326eae[_0x1a4e('0x2cb')]=_0x6b37d1(_0x1adc17),_0x326eae[_0x1a4e('0x23d7')]=_0x2c7a92(_0xf79407),_0x326eae[_0x1a4e('0x111a')]=_0x55ff7e(_0x2c9ec9),_0x326eae[_0x1a4e('0x40')]=_0x420b32,_0x326eae[_0x1a4e('0x8f2')]=_0x1b06ad,_0x326eae;}function _0x1a65b8(_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=_0x146f6e(0xc5);return _0x326eae[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0x326eae[_0x1a4e('0x23d7')]=_0x2c7a92(_0x1adc17),_0x326eae[_0x1a4e('0x111a')]=_0x55ff7e(_0xf79407),_0x326eae['type']=_0x2c9ec9,_0x326eae['equalsGreaterThanToken']=_0x420b32||_0x7ab3e8(0x25),_0x326eae[_0x1a4e('0x8f2')]=_0x368e5a['parenthesizeConciseBody'](_0x1b06ad),_0x326eae;}function _0x4f1419(_0x2327c6){var _0x55ff7e=_0x146f6e(0xc6);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a['parenthesizePrefixOperand'](_0x2327c6),_0x55ff7e;}function _0x5e36c3(_0x2327c6){var _0x55ff7e=_0x146f6e(0xc7);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c18')](_0x2327c6),_0x55ff7e;}function _0x1b0ac1(_0x2327c6){var _0x55ff7e=_0x146f6e(0xc8);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c18')](_0x2327c6),_0x55ff7e;}function _0x385502(_0x2327c6){var _0x55ff7e=_0x146f6e(0xc9);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a['parenthesizePrefixOperand'](_0x2327c6),_0x55ff7e;}function _0x387118(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xca);return _0x1adc17['operator']=_0x2327c6,_0x1adc17[_0x1a4e('0x1784')]=_0x368e5a[_0x1a4e('0x2c18')](_0x55ff7e),_0x1adc17;}function _0x2b9a1(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xcb);return _0x1adc17['operand']=_0x368e5a['parenthesizePostfixOperand'](_0x2327c6),_0x1adc17['operator']=_0x55ff7e,_0x1adc17;}function _0x440340(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9=_0x146f6e(0xcc),_0x420b32=_0x1a4e('0x3d')==typeof(_0xf79407=_0x55ff7e)?_0x7ab3e8(_0xf79407):_0xf79407,_0x1b06ad=_0x420b32[_0x1a4e('0x146b')];return _0x2c9ec9[_0x1a4e('0x5f')]=_0x368e5a[_0x1a4e('0x2c19')](_0x1b06ad,_0x2327c6,!0x0,void 0x0),_0x2c9ec9['operatorToken']=_0x420b32,_0x2c9ec9['right']=_0x368e5a[_0x1a4e('0x2c19')](_0x1b06ad,_0x1adc17,!0x1,_0x2c9ec9[_0x1a4e('0x5f')]),_0x2c9ec9;}function _0xdd8837(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x146f6e(0xcd);return _0x420b32[_0x1a4e('0x236b')]=_0x368e5a[_0x1a4e('0x2c1a')](_0x2327c6),_0x420b32[_0x1a4e('0x23ca')]=_0x2c9ec9?_0x55ff7e:_0x7ab3e8(0x38),_0x420b32['whenTrue']=_0x368e5a[_0x1a4e('0x2c1b')](_0x2c9ec9?_0x1adc17:_0x55ff7e),_0x420b32['colonToken']=_0x2c9ec9?_0xf79407:_0x7ab3e8(0x39),_0x420b32[_0x1a4e('0x2604')]=_0x368e5a[_0x1a4e('0x2c1b')](_0x2c9ec9||_0x1adc17),_0x420b32;}function _0x5a6341(_0x368e5a,_0x2327c6){var _0x1adc17=_0x146f6e(0xce);return _0x1adc17['head']=_0x368e5a,_0x1adc17[_0x1a4e('0x260e')]=_0x55ff7e(_0x2327c6),_0x1adc17;}function _0x3e1f7f(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xcf);return _0x55ff7e[_0x1a4e('0x23fc')]=_0x368e5a&&0x28===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a:void 0x0,_0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a&&0x28!==_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a:_0x2327c6,_0x55ff7e;}function _0x162776(_0x2327c6){var _0x55ff7e=_0x146f6e(0xd0);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c10')](_0x2327c6),_0x55ff7e;}function _0x5e8a0f(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x146f6e(0xd1);return _0x420b32[_0x1a4e('0x232f')]=void 0x0,_0x420b32[_0x1a4e('0x242d')]=_0x2c7a92(_0x368e5a),_0x420b32[_0x1a4e('0x2cb')]=_0x6b37d1(_0x2327c6),_0x420b32[_0x1a4e('0x23d7')]=_0x2c7a92(_0x1adc17),_0x420b32[_0x1a4e('0x237f')]=_0x2c7a92(_0xf79407),_0x420b32['members']=_0x55ff7e(_0x2c9ec9),_0x420b32;}function _0x13d92d(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xd3);return _0x1adc17[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c11')](_0x55ff7e),_0x1adc17[_0x1a4e('0x2365')]=_0x2c7a92(_0x2327c6),_0x1adc17;}function _0x5f1c96(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xd4);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a,_0x55ff7e['type']=_0x2327c6,_0x55ff7e;}function _0x405bde(_0x2327c6){var _0x55ff7e=_0x146f6e(0xd5);return _0x55ff7e['expression']=_0x368e5a[_0x1a4e('0x2c11')](_0x2327c6),_0x55ff7e;}function _0x17ae61(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xd6);return _0x55ff7e[_0x1a4e('0x2675')]=_0x368e5a,_0x55ff7e['name']=_0x2327c6,_0x55ff7e;}function _0x16c8b9(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xd8);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a,_0x55ff7e['literal']=_0x2327c6,_0x55ff7e;}function _0x37fdb6(_0x368e5a,_0x2327c6){var _0x1adc17=_0x146f6e(0xda);return _0x1adc17[_0x1a4e('0x2366')]=_0x55ff7e(_0x368e5a),_0x2327c6&&(_0x1adc17[_0x1a4e('0x2677')]=_0x2327c6),_0x1adc17;}function _0x1be277(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xdb);return _0x1adc17[_0x1a4e('0x232f')]=void 0x0,_0x1adc17[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0x1adc17[_0x1a4e('0x2377')]=_0x368e5a[_0x1a4e('0x15')](_0x55ff7e)?_0xe4fd5b(_0x55ff7e):_0x55ff7e,_0x1adc17;}function _0x20e5e4(_0x2327c6){var _0x55ff7e=_0x146f6e(0xdd);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c1c')](_0x2327c6),_0x55ff7e;}function _0x4be5bf(_0x368e5a,_0x146f6e){return _0x368e5a['expression']!==_0x146f6e?_0x2327c6(_0x20e5e4(_0x146f6e),_0x368e5a):_0x368e5a;}function _0x6f3da4(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xde);return _0x1adc17[_0x1a4e('0x2302')]=_0x368e5a,_0x1adc17[_0x1a4e('0x2606')]=_0x2327c6,_0x1adc17[_0x1a4e('0x2607')]=_0x55ff7e,_0x1adc17;}function _0x48120b(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xdf);return _0x55ff7e[_0x1a4e('0x2390')]=_0x368e5a,_0x55ff7e[_0x1a4e('0x2302')]=_0x2327c6,_0x55ff7e;}function _0x2f2019(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xe0);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a,_0x55ff7e[_0x1a4e('0x2390')]=_0x2327c6,_0x55ff7e;}function _0x167af7(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xe1);return _0xf79407['initializer']=_0x368e5a,_0xf79407[_0x1a4e('0x236b')]=_0x2327c6,_0xf79407['incrementor']=_0x55ff7e,_0xf79407[_0x1a4e('0x2390')]=_0x1adc17,_0xf79407;}function _0x136eb3(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xe2);return _0x1adc17[_0x1a4e('0x236a')]=_0x368e5a,_0x1adc17[_0x1a4e('0x2302')]=_0x2327c6,_0x1adc17[_0x1a4e('0x2390')]=_0x55ff7e,_0x1adc17;}function _0x5a37e0(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xe3);return _0xf79407[_0x1a4e('0x2678')]=_0x368e5a,_0xf79407[_0x1a4e('0x236a')]=_0x2327c6,_0xf79407[_0x1a4e('0x2302')]=_0x55ff7e,_0xf79407[_0x1a4e('0x2390')]=_0x1adc17,_0xf79407;}function _0x521150(_0x368e5a){var _0x2327c6=_0x146f6e(0xe4);return _0x2327c6[_0x1a4e('0x1bc')]=_0x6b37d1(_0x368e5a),_0x2327c6;}function _0x260373(_0x368e5a){var _0x2327c6=_0x146f6e(0xe5);return _0x2327c6['label']=_0x6b37d1(_0x368e5a),_0x2327c6;}function _0xeaf01(_0x368e5a){var _0x2327c6=_0x146f6e(0xe6);return _0x2327c6[_0x1a4e('0x2302')]=_0x368e5a,_0x2327c6;}function _0x49ad7c(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xe7);return _0x55ff7e['expression']=_0x368e5a,_0x55ff7e[_0x1a4e('0x2390')]=_0x2327c6,_0x55ff7e;}function _0x26c51a(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xe8);return _0x1adc17[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2c10')](_0x2327c6),_0x1adc17[_0x1a4e('0x2608')]=_0x55ff7e,_0x1adc17;}function _0x3e1302(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xe9);return _0x55ff7e[_0x1a4e('0x1bc')]=_0x6b37d1(_0x368e5a),_0x55ff7e[_0x1a4e('0x2390')]=_0x2327c6,_0x55ff7e;}function _0x5b3d40(_0x368e5a){var _0x2327c6=_0x146f6e(0xea);return _0x2327c6[_0x1a4e('0x2302')]=_0x368e5a,_0x2327c6;}function _0x535c0d(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0xeb);return _0x1adc17['tryBlock']=_0x368e5a,_0x1adc17['catchClause']=_0x2327c6,_0x1adc17[_0x1a4e('0x267a')]=_0x55ff7e,_0x1adc17;}function _0x568fd9(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xed);return _0xf79407[_0x1a4e('0x2cb')]=_0x6b37d1(_0x2327c6),_0xf79407[_0x1a4e('0x40')]=_0x55ff7e,_0xf79407[_0x1a4e('0x236a')]=void 0x0!==_0x1adc17?_0x368e5a[_0x1a4e('0x2c10')](_0x1adc17):void 0x0,_0xf79407;}function _0xe4fd5b(_0x368e5a,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=0x0);var _0x1adc17=_0x146f6e(0xee);return _0x1adc17[_0x1a4e('0x7b2')]|=0x3&_0x2327c6,_0x1adc17[_0x1a4e('0x22e5')]=_0x55ff7e(_0x368e5a),_0x1adc17;}function _0x3bbfc4(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){var _0x56674b=_0x146f6e(0xef);return _0x56674b[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x56674b['modifiers']=_0x2c7a92(_0x2327c6),_0x56674b[_0x1a4e('0x23fc')]=_0x1adc17,_0x56674b[_0x1a4e('0x2cb')]=_0x6b37d1(_0xf79407),_0x56674b[_0x1a4e('0x23d7')]=_0x2c7a92(_0x2c9ec9),_0x56674b[_0x1a4e('0x111a')]=_0x55ff7e(_0x420b32),_0x56674b['type']=_0x1b06ad,_0x56674b[_0x1a4e('0x8f2')]=_0x326eae,_0x56674b;}function _0x13cc18(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x146f6e(0xf0);return _0x1b06ad[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x1b06ad['modifiers']=_0x2c7a92(_0x2327c6),_0x1b06ad[_0x1a4e('0x2cb')]=_0x6b37d1(_0x1adc17),_0x1b06ad[_0x1a4e('0x23d7')]=_0x2c7a92(_0xf79407),_0x1b06ad[_0x1a4e('0x237f')]=_0x2c7a92(_0x2c9ec9),_0x1b06ad[_0x1a4e('0x2369')]=_0x55ff7e(_0x420b32),_0x1b06ad;}function _0x51ee47(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x146f6e(0xf1);return _0x1b06ad[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x1b06ad[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0x1b06ad['name']=_0x6b37d1(_0x1adc17),_0x1b06ad[_0x1a4e('0x23d7')]=_0x2c7a92(_0xf79407),_0x1b06ad[_0x1a4e('0x237f')]=_0x2c7a92(_0x2c9ec9),_0x1b06ad[_0x1a4e('0x2369')]=_0x55ff7e(_0x420b32),_0x1b06ad;}function _0x3ee67b(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(0xf2);return _0x2c9ec9[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x2c9ec9[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0x2c9ec9['name']=_0x6b37d1(_0x55ff7e),_0x2c9ec9['typeParameters']=_0x2c7a92(_0x1adc17),_0x2c9ec9['type']=_0xf79407,_0x2c9ec9;}function _0x368791(_0x368e5a,_0x2327c6,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(0xf3);return _0x2c9ec9['decorators']=_0x2c7a92(_0x368e5a),_0x2c9ec9['modifiers']=_0x2c7a92(_0x2327c6),_0x2c9ec9['name']=_0x6b37d1(_0x1adc17),_0x2c9ec9[_0x1a4e('0x2369')]=_0x55ff7e(_0xf79407),_0x2c9ec9;}function _0x561b25(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){void 0x0===_0xf79407&&(_0xf79407=0x0);var _0x2c9ec9=_0x146f6e(0xf4);return _0x2c9ec9[_0x1a4e('0x7b2')]|=0x214&_0xf79407,_0x2c9ec9[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0x2c9ec9[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0x2c9ec9['name']=_0x55ff7e,_0x2c9ec9['body']=_0x1adc17,_0x2c9ec9;}function _0x2d5824(_0x368e5a){var _0x2327c6=_0x146f6e(0xf5);return _0x2327c6[_0x1a4e('0x2366')]=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x22f9e1(_0x368e5a){var _0x2327c6=_0x146f6e(0xf6);return _0x2327c6[_0x1a4e('0x2609')]=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x37e70b(_0x368e5a){var _0x2327c6=_0x146f6e(0xf7);return _0x2327c6['name']=_0x6b37d1(_0x368e5a),_0x2327c6;}function _0x49c695(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xf8);return _0xf79407[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0xf79407[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0xf79407['name']=_0x6b37d1(_0x55ff7e),_0xf79407[_0x1a4e('0x236d')]=_0x1adc17,_0xf79407;}function _0x246d7c(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xf9);return _0xf79407[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0xf79407[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0xf79407[_0x1a4e('0x23c6')]=_0x55ff7e,_0xf79407[_0x1a4e('0x23c5')]=_0x1adc17,_0xf79407;}function _0x11a8b9(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xfa);return _0x55ff7e[_0x1a4e('0x2cb')]=_0x368e5a,_0x55ff7e[_0x1a4e('0x23c7')]=_0x2327c6,_0x55ff7e;}function _0x29b06e(_0x368e5a){var _0x2327c6=_0x146f6e(0xfb);return _0x2327c6['name']=_0x368e5a,_0x2327c6;}function _0x597f59(_0x368e5a){var _0x2327c6=_0x146f6e(0xfc);return _0x2327c6[_0x1a4e('0x2398')]=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x19cbba(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0xfd);return _0x55ff7e[_0x1a4e('0x81a')]=_0x368e5a,_0x55ff7e[_0x1a4e('0x2cb')]=_0x2327c6,_0x55ff7e;}function _0x1474c9(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e(0xfe);return _0x2c9ec9[_0x1a4e('0x232f')]=_0x2c7a92(_0x2327c6),_0x2c9ec9[_0x1a4e('0x242d')]=_0x2c7a92(_0x55ff7e),_0x2c9ec9[_0x1a4e('0x267b')]=_0x1adc17,_0x2c9ec9[_0x1a4e('0x2302')]=_0x1adc17?_0x368e5a['parenthesizeBinaryOperand'](0x3b,_0xf79407,!0x1,void 0x0):_0x368e5a['parenthesizeDefaultExpression'](_0xf79407),_0x2c9ec9;}function _0x5e1839(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e(0xff);return _0xf79407[_0x1a4e('0x232f')]=_0x2c7a92(_0x368e5a),_0xf79407[_0x1a4e('0x242d')]=_0x2c7a92(_0x2327c6),_0xf79407['exportClause']=_0x55ff7e,_0xf79407[_0x1a4e('0x23c5')]=_0x1adc17,_0xf79407;}function _0x1e055b(_0x368e5a){var _0x2327c6=_0x146f6e(0x100);return _0x2327c6[_0x1a4e('0x2398')]=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x5f4d09(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0x101);return _0x55ff7e[_0x1a4e('0x81a')]=_0x6b37d1(_0x368e5a),_0x55ff7e['name']=_0x6b37d1(_0x2327c6),_0x55ff7e;}function _0x5227c5(_0x368e5a){var _0x2327c6=_0x146f6e(0x103);return _0x2327c6[_0x1a4e('0x2302')]=_0x368e5a,_0x2327c6;}function _0x484249(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(_0x368e5a);return _0x55ff7e['tagName']=_0x326eae(_0x2327c6),_0x55ff7e;}function _0xd65c54(_0x368e5a,_0x2327c6,_0x1adc17){var _0xf79407=_0x146f6e(0x104);return _0xf79407['openingElement']=_0x368e5a,_0xf79407['children']=_0x55ff7e(_0x2327c6),_0xf79407[_0x1a4e('0x266e')]=_0x1adc17,_0xf79407;}function _0x3a1568(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0x105);return _0x1adc17[_0x1a4e('0x132b')]=_0x368e5a,_0x1adc17['typeArguments']=_0x2c7a92(_0x2327c6),_0x1adc17[_0x1a4e('0x266d')]=_0x55ff7e,_0x1adc17;}function _0x128047(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0x106);return _0x1adc17[_0x1a4e('0x132b')]=_0x368e5a,_0x1adc17[_0x1a4e('0x2365')]=_0x2c7a92(_0x2327c6),_0x1adc17['attributes']=_0x55ff7e,_0x1adc17;}function _0x4df448(_0x368e5a){var _0x2327c6=_0x146f6e(0x107);return _0x2327c6[_0x1a4e('0x132b')]=_0x368e5a,_0x2327c6;}function _0x4a37be(_0x368e5a,_0x2327c6,_0x1adc17){var _0xf79407=_0x146f6e(0x108);return _0xf79407[_0x1a4e('0x2610')]=_0x368e5a,_0xf79407[_0x1a4e('0x6f')]=_0x55ff7e(_0x2327c6),_0xf79407[_0x1a4e('0x2611')]=_0x1adc17,_0xf79407;}function _0x39cc68(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0x10b);return _0x55ff7e['name']=_0x368e5a,_0x55ff7e[_0x1a4e('0x236a')]=_0x2327c6,_0x55ff7e;}function _0x3709e1(_0x368e5a){var _0x2327c6=_0x146f6e(0x10c);return _0x2327c6[_0x1a4e('0x13')]=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x221e30(_0x368e5a){var _0x2327c6=_0x146f6e(0x10d);return _0x2327c6[_0x1a4e('0x2302')]=_0x368e5a,_0x2327c6;}function _0x15082c(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0x10e);return _0x55ff7e[_0x1a4e('0x25f9')]=_0x368e5a,_0x55ff7e[_0x1a4e('0x2302')]=_0x2327c6,_0x55ff7e;}function _0x48205c(_0x2327c6,_0x1adc17){var _0xf79407=_0x146f6e(0x10f);return _0xf79407[_0x1a4e('0x2302')]=_0x368e5a['parenthesizeExpressionForList'](_0x2327c6),_0xf79407[_0x1a4e('0x2366')]=_0x55ff7e(_0x1adc17),_0xf79407;}function _0x1a9124(_0x368e5a){var _0x2327c6=_0x146f6e(0x110);return _0x2327c6['statements']=_0x55ff7e(_0x368e5a),_0x2327c6;}function _0x2a1067(_0x368e5a,_0x2327c6){var _0x1adc17=_0x146f6e(0x111);return _0x1adc17[_0x1a4e('0x2381')]=_0x368e5a,_0x1adc17['types']=_0x55ff7e(_0x2327c6),_0x1adc17;}function _0x2d40ad(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0x112);return _0x1adc17[_0x1a4e('0x260b')]=_0x368e5a[_0x1a4e('0xb19')](_0x2327c6)?_0x568fd9(_0x2327c6):_0x2327c6,_0x1adc17[_0x1a4e('0x260c')]=_0x55ff7e,_0x1adc17;}function _0x358953(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0x113);return _0x1adc17[_0x1a4e('0x2cb')]=_0x6b37d1(_0x2327c6),_0x1adc17['questionToken']=void 0x0,_0x1adc17[_0x1a4e('0x236a')]=_0x368e5a['parenthesizeExpressionForList'](_0x55ff7e),_0x1adc17;}function _0x35c078(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0x114);return _0x1adc17[_0x1a4e('0x2cb')]=_0x6b37d1(_0x2327c6),_0x1adc17[_0x1a4e('0x2471')]=void 0x0!==_0x55ff7e?_0x368e5a[_0x1a4e('0x2c10')](_0x55ff7e):void 0x0,_0x1adc17;}function _0x9c1fc7(_0x2327c6){var _0x55ff7e=_0x146f6e(0x115);return _0x55ff7e['expression']=void 0x0!==_0x2327c6?_0x368e5a[_0x1a4e('0x2c10')](_0x2327c6):void 0x0,_0x55ff7e;}function _0x2c1a62(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e(0x116);return _0x1adc17[_0x1a4e('0x2cb')]=_0x6b37d1(_0x2327c6),_0x1adc17['initializer']=_0x55ff7e&&_0x368e5a[_0x1a4e('0x2c10')](_0x55ff7e),_0x1adc17;}function _0x39791e(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0x134);return _0x55ff7e[_0x1a4e('0x2302')]=_0x368e5a,_0x55ff7e['original']=_0x2327c6,_0x48613f(_0x55ff7e,_0x2327c6),_0x55ff7e;}function _0x2bf75a(_0x146f6e){if(_0x368e5a['nodeIsSynthesized'](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2c1d')](_0x146f6e)&&!_0x146f6e[_0x1a4e('0x1604')]&&!_0x146f6e[_0x1a4e('0x22ee')]&&!_0x146f6e['id']){if(0x135===_0x146f6e[_0x1a4e('0x146b')])return _0x146f6e[_0x1a4e('0x2398')];if(_0x368e5a[_0x1a4e('0x236e')](_0x146f6e)&&0x1b===_0x146f6e[_0x1a4e('0x237a')][_0x1a4e('0x146b')])return[_0x146f6e['left'],_0x146f6e[_0x1a4e('0x5d')]];}return _0x146f6e;}function _0x396784(_0x2327c6){var _0x1adc17=_0x146f6e(0x135);return _0x1adc17[_0x1a4e('0x2398')]=_0x55ff7e(_0x368e5a[_0x1a4e('0x1711')](_0x2327c6,_0x2bf75a)),_0x1adc17;}function _0x2a027a(_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=_0x368e5a[_0x1a4e('0x1700')]);var _0x55ff7e=_0x368e5a['createNode'](0x118);return _0x55ff7e['prepends']=_0x2327c6,_0x55ff7e[_0x1a4e('0x2c1e')]=_0x146f6e,_0x55ff7e;}function _0x6b37d1(_0x146f6e){return _0x368e5a[_0x1a4e('0xb19')](_0x146f6e)?_0x326eae(_0x146f6e):_0x146f6e;}function _0x2c7a92(_0x368e5a){return _0x368e5a?_0x55ff7e(_0x368e5a):void 0x0;}function _0x35c5ea(_0x146f6e){if(!_0x146f6e['emitNode']){if(_0x368e5a['isParseTreeNode'](_0x146f6e)){if(0x117===_0x146f6e[_0x1a4e('0x146b')])return _0x146f6e[_0x1a4e('0x22ee')]={'annotatedNodes':[_0x146f6e]};_0x35c5ea(_0x368e5a[_0x1a4e('0x1674')](_0x146f6e))[_0x1a4e('0x2c1f')][_0x1a4e('0x46')](_0x146f6e);}_0x146f6e[_0x1a4e('0x22ee')]={};}return _0x146f6e[_0x1a4e('0x22ee')];}function _0x48613f(_0x368e5a,_0x146f6e){return _0x146f6e&&(_0x368e5a['pos']=_0x146f6e['pos'],_0x368e5a[_0x1a4e('0xca')]=_0x146f6e['end']),_0x368e5a;}function _0x3552ca(_0x368e5a,_0x146f6e){return _0x35c5ea(_0x368e5a)['flags']=_0x146f6e,_0x368e5a;}function _0x2e5b40(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x22ee')];return _0x146f6e&&_0x146f6e[_0x1a4e('0x2c20')];}function _0x3a585c(_0x368e5a,_0x146f6e){return _0x35c5ea(_0x368e5a)[_0x1a4e('0x2c20')]=_0x146f6e,_0x368e5a;}function _0x3865ba(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x22ee')];return _0x146f6e&&_0x146f6e['trailingComments'];}function _0x4efe4e(_0x368e5a,_0x146f6e){return _0x35c5ea(_0x368e5a)[_0x1a4e('0x2c21')]=_0x146f6e,_0x368e5a;}function _0x52f760(_0x146f6e,_0x2327c6){if(_0x146f6e[_0x1a4e('0x1604')]=_0x2327c6,_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x22ee')];_0x55ff7e&&(_0x146f6e['emitNode']=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['flags'],_0x1adc17=_0x146f6e[_0x1a4e('0x2c20')],_0xf79407=_0x146f6e[_0x1a4e('0x2c21')],_0x2c9ec9=_0x146f6e[_0x1a4e('0x2c22')],_0x420b32=_0x146f6e[_0x1a4e('0x2c23')],_0x1b06ad=_0x146f6e[_0x1a4e('0x2c24')],_0x326eae=_0x146f6e[_0x1a4e('0x2c25')],_0x56674b=_0x146f6e[_0x1a4e('0x7a8')],_0x5731fe=_0x146f6e[_0x1a4e('0x2c26')];_0x2327c6||(_0x2327c6={});_0x1adc17&&(_0x2327c6['leadingComments']=_0x368e5a[_0x1a4e('0x23d1')](_0x1adc17[_0x1a4e('0x78')](),_0x2327c6['leadingComments']));_0xf79407&&(_0x2327c6[_0x1a4e('0x2c21')]=_0x368e5a['addRange'](_0xf79407[_0x1a4e('0x78')](),_0x2327c6[_0x1a4e('0x2c21')]));_0x55ff7e&&(_0x2327c6['flags']=_0x55ff7e);_0x2c9ec9&&(_0x2327c6[_0x1a4e('0x2c22')]=_0x2c9ec9);_0x420b32&&(_0x2327c6[_0x1a4e('0x2c23')]=_0x420b32);_0x1b06ad&&(_0x2327c6[_0x1a4e('0x2c24')]=function(_0x368e5a,_0x146f6e){_0x146f6e||(_0x146f6e=[]);for(var _0x2327c6 in _0x368e5a)_0x146f6e[_0x2327c6]=_0x368e5a[_0x2327c6];return _0x146f6e;}(_0x1b06ad,_0x2327c6[_0x1a4e('0x2c24')]));void 0x0!==_0x326eae&&(_0x2327c6[_0x1a4e('0x2c25')]=_0x326eae);_0x56674b&&(_0x2327c6[_0x1a4e('0x7a8')]=_0x368e5a[_0x1a4e('0x23d1')](_0x2327c6[_0x1a4e('0x7a8')],_0x56674b));void 0x0!==_0x5731fe&&(_0x2327c6['startsOnNewLine']=_0x5731fe);return _0x2327c6;}(_0x55ff7e,_0x146f6e[_0x1a4e('0x22ee')]));}return _0x146f6e;}_0x368e5a[_0x1a4e('0x2c27')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x326eae('');return _0x2327c6[_0x1a4e('0x2545')]=0x1,_0x2327c6[_0x1a4e('0x2c0e')]=_0x5731fe,_0x5731fe++,_0x368e5a&&_0x368e5a(_0x2327c6),_0x146f6e&&(_0x2327c6[_0x1a4e('0x2545')]|=0x8),_0x2327c6;},_0x368e5a[_0x1a4e('0x2c28')]=function(){var _0x368e5a=_0x326eae('');return _0x368e5a['autoGenerateFlags']=0x2,_0x368e5a[_0x1a4e('0x2c0e')]=_0x5731fe,_0x5731fe++,_0x368e5a;},_0x368e5a[_0x1a4e('0x2c29')]=function(_0x368e5a){var _0x146f6e=_0x326eae(_0x368e5a);return _0x146f6e['autoGenerateFlags']=0x3,_0x146f6e[_0x1a4e('0x2c0e')]=_0x5731fe,_0x5731fe++,_0x146f6e;},_0x368e5a['createOptimisticUniqueName']=_0x5059ea,_0x368e5a[_0x1a4e('0x2c2a')]=function(_0x368e5a){var _0x146f6e=_0x5059ea(_0x368e5a);return _0x146f6e[_0x1a4e('0x2545')]|=0x20,_0x146f6e;},_0x368e5a[_0x1a4e('0x28c8')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x326eae(_0x146f6e&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2353')](_0x146f6e):'');return _0x55ff7e[_0x1a4e('0x2545')]=0x4|_0x2327c6,_0x55ff7e[_0x1a4e('0x2c0e')]=_0x5731fe,_0x55ff7e[_0x1a4e('0x1604')]=_0x146f6e,_0x5731fe++,_0x55ff7e;},_0x368e5a[_0x1a4e('0x28b6')]=_0x7ab3e8,_0x368e5a[_0x1a4e('0x2c2b')]=function(){return _0x146f6e(0x62);},_0x368e5a[_0x1a4e('0x2c2c')]=function(){return _0x146f6e(0x64);},_0x368e5a[_0x1a4e('0x2c2d')]=function(){return _0x146f6e(0x60);},_0x368e5a[_0x1a4e('0x2bd4')]=_0x1502a9,_0x368e5a[_0x1a4e('0x2bd5')]=_0x302268,_0x368e5a[_0x1a4e('0x2c2e')]=_0x23020d,_0x368e5a[_0x1a4e('0x2c2f')]=function(_0x368e5a){var _0x146f6e=[];return 0x1&_0x368e5a&&_0x146f6e[_0x1a4e('0x46')](_0x23020d(0x55)),0x2&_0x368e5a&&_0x146f6e['push'](_0x23020d(0x7d)),0x200&_0x368e5a&&_0x146f6e[_0x1a4e('0x46')](_0x23020d(0x50)),0x800&_0x368e5a&&_0x146f6e['push'](_0x23020d(0x4d)),0x4&_0x368e5a&&_0x146f6e[_0x1a4e('0x46')](_0x23020d(0x73)),0x8&_0x368e5a&&_0x146f6e[_0x1a4e('0x46')](_0x23020d(0x71)),0x10&_0x368e5a&&_0x146f6e['push'](_0x23020d(0x72)),0x80&_0x368e5a&&_0x146f6e[_0x1a4e('0x46')](_0x23020d(0x76)),0x20&_0x368e5a&&_0x146f6e[_0x1a4e('0x46')](_0x23020d(0x74)),0x40&_0x368e5a&&_0x146f6e[_0x1a4e('0x46')](_0x23020d(0x85)),0x100&_0x368e5a&&_0x146f6e[_0x1a4e('0x46')](_0x23020d(0x79)),_0x146f6e;},_0x368e5a[_0x1a4e('0x28c1')]=_0x335c61,_0x368e5a[_0x1a4e('0x2c30')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x5f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x5d')]!==_0x55ff7e?_0x2327c6(_0x335c61(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c31')]=_0x35074e,_0x368e5a[_0x1a4e('0x2c32')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x35074e(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c33')]=_0x6d5210,_0x368e5a[_0x1a4e('0x2c34')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a['name']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2364')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x8')]!==_0x1adc17?_0x2327c6(_0x6d5210(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x28c3')]=_0x4106b0,_0x368e5a['updateParameter']=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a['modifiers']!==_0x55ff7e||_0x368e5a[_0x1a4e('0x25f9')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x2cb')]!==_0xf79407||_0x368e5a[_0x1a4e('0x23ca')]!==_0x2c9ec9||_0x368e5a[_0x1a4e('0x40')]!==_0x420b32||_0x368e5a[_0x1a4e('0x236a')]!==_0x1b06ad?_0x2327c6(_0x4106b0(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c35')]=_0x5220c1,_0x368e5a['updateDecorator']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x5220c1(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a['createPropertySignature']=_0x42ab38,_0x368e5a[_0x1a4e('0x2c36')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x242d')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x23ca')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x40')]!==_0xf79407||_0x368e5a[_0x1a4e('0x236a')]!==_0x2c9ec9?_0x2327c6(_0x42ab38(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c37')]=_0x25dace,_0x368e5a[_0x1a4e('0x2c38')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x1adc17||_0x368e5a['questionToken']!==(void 0x0!==_0xf79407&&0x38===_0xf79407[_0x1a4e('0x146b')]?_0xf79407:void 0x0)||_0x368e5a[_0x1a4e('0x25f7')]!==(void 0x0!==_0xf79407&&0x34===_0xf79407[_0x1a4e('0x146b')]?_0xf79407:void 0x0)||_0x368e5a[_0x1a4e('0x40')]!==_0x2c9ec9||_0x368e5a[_0x1a4e('0x236a')]!==_0x420b32?_0x2327c6(_0x25dace(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c39')]=_0x5ca8a3,_0x368e5a[_0x1a4e('0x2c3a')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x23d7')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x111a')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x40')]!==_0x1adc17||_0x368e5a['name']!==_0xf79407||_0x368e5a['questionToken']!==_0x2c9ec9?_0x2327c6(_0x5ca8a3(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c3b')]=_0x4eaea3,_0x368e5a['updateMethod']=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a['asteriskToken']!==_0x1adc17||_0x368e5a[_0x1a4e('0x2cb')]!==_0xf79407||_0x368e5a[_0x1a4e('0x23ca')]!==_0x2c9ec9||_0x368e5a[_0x1a4e('0x23d7')]!==_0x420b32||_0x368e5a[_0x1a4e('0x111a')]!==_0x1b06ad||_0x368e5a['type']!==_0x326eae||_0x368e5a[_0x1a4e('0x8f2')]!==_0x56674b?_0x2327c6(_0x4eaea3(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c3c')]=_0x51db07,_0x368e5a[_0x1a4e('0x2c3d')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a['parameters']!==_0x1adc17||_0x368e5a['body']!==_0xf79407?_0x2327c6(_0x51db07(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c3e')]=_0x6a2bae,_0x368e5a[_0x1a4e('0x2c3f')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x111a')]!==_0xf79407||_0x368e5a[_0x1a4e('0x40')]!==_0x2c9ec9||_0x368e5a[_0x1a4e('0x8f2')]!==_0x420b32?_0x2327c6(_0x6a2bae(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32),_0x368e5a):_0x368e5a;},_0x368e5a['createSetAccessor']=_0xf2a30b,_0x368e5a[_0x1a4e('0x2c40')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x1adc17||_0x368e5a['parameters']!==_0xf79407||_0x368e5a[_0x1a4e('0x8f2')]!==_0x2c9ec9?_0x2327c6(_0xf2a30b(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c41')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0xbe573f(0xa0,_0x368e5a,_0x146f6e,_0x2327c6);},_0x368e5a[_0x1a4e('0x2c42')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x40f2bc(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);},_0x368e5a[_0x1a4e('0x2c43')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0xbe573f(0xa1,_0x368e5a,_0x146f6e,_0x2327c6);},_0x368e5a[_0x1a4e('0x2c44')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x40f2bc(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);},_0x368e5a['createIndexSignature']=_0x4dff13,_0x368e5a[_0x1a4e('0x2c45')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a[_0x1a4e('0x111a')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x40')]!==_0xf79407||_0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a['modifiers']!==_0x55ff7e?_0x2327c6(_0x4dff13(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c46')]=_0xbe573f,_0x368e5a[_0x1a4e('0x289c')]=function(_0x368e5a){return _0x146f6e(_0x368e5a);},_0x368e5a[_0x1a4e('0x2991')]=_0x5966c7,_0x368e5a['updateTypePredicateNode']=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2667')]!==_0x146f6e||_0x368e5a['type']!==_0x55ff7e?_0x2327c6(_0x5966c7(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createTypeReferenceNode']=_0x253aaf,_0x368e5a['updateTypeReferenceNode']=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['typeName']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2365')]!==_0x55ff7e?_0x2327c6(_0x253aaf(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createFunctionTypeNode']=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0xbe573f(0xa5,_0x368e5a,_0x146f6e,_0x2327c6);},_0x368e5a[_0x1a4e('0x2c47')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x40f2bc(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);},_0x368e5a[_0x1a4e('0x2c48')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0xbe573f(0xa6,_0x368e5a,_0x146f6e,_0x2327c6);},_0x368e5a[_0x1a4e('0x2c49')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x40f2bc(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);},_0x368e5a[_0x1a4e('0x2c4a')]=_0x50f6a5,_0x368e5a[_0x1a4e('0x2c4b')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x25fb')]!==_0x146f6e?_0x2327c6(_0x50f6a5(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x28b9')]=_0x14b18b,_0x368e5a['updateTypeLiteralNode']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2369')]!==_0x146f6e?_0x2327c6(_0x14b18b(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x28a6')]=_0x3c9b81,_0x368e5a[_0x1a4e('0x2c4c')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2388')]!==_0x146f6e?_0x2327c6(_0x3c9b81(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x28a9')]=_0x2b72dc,_0x368e5a[_0x1a4e('0x2c4d')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x25fc')]!==_0x146f6e?_0x2327c6(_0x2b72dc(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c4e')]=_0x3898ff,_0x368e5a[_0x1a4e('0x2c4f')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x40')]!==_0x146f6e?_0x2327c6(_0x3898ff(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a['createRestTypeNode']=_0x557fd2,_0x368e5a[_0x1a4e('0x2c50')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x40')]!==_0x146f6e?_0x2327c6(_0x557fd2(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c51')]=function(_0x368e5a){return _0x3a2f4f(0xad,_0x368e5a);},_0x368e5a['updateUnionTypeNode']=function(_0x368e5a,_0x146f6e){return _0xcefb2c(_0x368e5a,_0x146f6e);},_0x368e5a[_0x1a4e('0x2c52')]=function(_0x368e5a){return _0x3a2f4f(0xae,_0x368e5a);},_0x368e5a[_0x1a4e('0x2c53')]=function(_0x368e5a,_0x146f6e){return _0xcefb2c(_0x368e5a,_0x146f6e);},_0x368e5a['createUnionOrIntersectionTypeNode']=_0x3a2f4f,_0x368e5a[_0x1a4e('0x28b0')]=_0x502147,_0x368e5a[_0x1a4e('0x2c54')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a['checkType']!==_0x146f6e||_0x368e5a[_0x1a4e('0x25fe')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x25ff')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x266a')]!==_0xf79407?_0x2327c6(_0x502147(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x28ab')]=_0x863ba9,_0x368e5a['updateInferTypeNode']=function(_0x368e5a,_0x146f6e){return _0x368e5a['typeParameter']!==_0x146f6e?_0x2327c6(_0x863ba9(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a['createImportTypeNode']=_0x2fe69e,_0x368e5a[_0x1a4e('0x2c55')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a['argument']!==_0x146f6e||_0x368e5a['qualifier']!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2365')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x29fb')]!==_0xf79407?_0x2327c6(_0x2fe69e(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c56')]=_0x14d324,_0x368e5a[_0x1a4e('0x2c57')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x40')]!==_0x146f6e?_0x2327c6(_0x14d324(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2992')]=function(){return _0x146f6e(0xb2);},_0x368e5a[_0x1a4e('0x28a2')]=_0x4306da,_0x368e5a[_0x1a4e('0x2c58')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x40')]!==_0x146f6e?_0x2327c6(_0x4306da(_0x368e5a[_0x1a4e('0x1474')],_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a['createIndexedAccessTypeNode']=_0x4bf2b2,_0x368e5a[_0x1a4e('0x2c59')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['objectType']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2669')]!==_0x55ff7e?_0x2327c6(_0x4bf2b2(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createMappedTypeNode']=_0x565efd,_0x368e5a[_0x1a4e('0x2c5a')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a[_0x1a4e('0x2666')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2668')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x23ca')]!==_0x1adc17||_0x368e5a['type']!==_0xf79407?_0x2327c6(_0x565efd(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a['createLiteralTypeNode']=_0x20151f,_0x368e5a[_0x1a4e('0x2c5b')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2301')]!==_0x146f6e?_0x2327c6(_0x20151f(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c5c')]=_0x5f34a1,_0x368e5a[_0x1a4e('0x2c5d')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2398')]!==_0x146f6e?_0x2327c6(_0x5f34a1(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c5e')]=_0x20c19a,_0x368e5a['updateArrayBindingPattern']=function(_0x368e5a,_0x146f6e){return _0x368e5a['elements']!==_0x146f6e?_0x2327c6(_0x20c19a(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c5f')]=_0x441a71,_0x368e5a['updateBindingElement']=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a['propertyName']!==_0x55ff7e||_0x368e5a[_0x1a4e('0x25f9')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x236a')]!==_0xf79407?_0x2327c6(_0x441a71(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c60')]=_0x3ab112,_0x368e5a[_0x1a4e('0x2c61')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2398')]!==_0x146f6e?_0x2327c6(_0x3ab112(_0x146f6e,_0x368e5a[_0x1a4e('0x2677')]),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c62')]=_0xc08913,_0x368e5a[_0x1a4e('0x2c63')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x13')]!==_0x146f6e?_0x2327c6(_0xc08913(_0x146f6e,_0x368e5a['multiLine']),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2894')]=_0x37cce2,_0x368e5a[_0x1a4e('0x2c64')]=function(_0x146f6e,_0x55ff7e,_0x1adc17){return _0x146f6e[_0x1a4e('0x2302')]!==_0x55ff7e||_0x146f6e[_0x1a4e('0x2cb')]!==_0x1adc17?_0x2327c6(_0x3552ca(_0x37cce2(_0x55ff7e,_0x1adc17),_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)),_0x146f6e):_0x146f6e;},_0x368e5a[_0x1a4e('0x2897')]=_0x3fa9be,_0x368e5a[_0x1a4e('0x2c66')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x24a7')]!==_0x55ff7e?_0x2327c6(_0x3fa9be(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c67')]=_0x215b10,_0x368e5a[_0x1a4e('0x2c68')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a['expression']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2365')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2373')]!==_0x1adc17?_0x2327c6(_0x215b10(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a['createNew']=_0x595f5e,_0x368e5a[_0x1a4e('0x2c69')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2365')]!==_0x55ff7e||_0x368e5a['arguments']!==_0x1adc17?_0x2327c6(_0x595f5e(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c6a')]=_0x312187,_0x368e5a[_0x1a4e('0x2c6b')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x7ba')]!==_0x146f6e||(_0x1adc17?_0x368e5a[_0x1a4e('0x2365')]!==_0x55ff7e||_0x368e5a['template']!==_0x1adc17:void 0x0!==_0x368e5a[_0x1a4e('0x2365')]||_0x368e5a['template']!==_0x55ff7e)?_0x2327c6(_0x312187(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a['createTypeAssertion']=_0x3d13bd,_0x368e5a[_0x1a4e('0x2c6c')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x40')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2302')]!==_0x55ff7e?_0x2327c6(_0x3d13bd(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c6d')]=_0x4abfbc,_0x368e5a['updateParen']=function(_0x368e5a,_0x146f6e){return _0x368e5a['expression']!==_0x146f6e?_0x2327c6(_0x4abfbc(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c6e')]=_0x5687b7,_0x368e5a[_0x1a4e('0x2c6f')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){return _0x368e5a[_0x1a4e('0x2cb')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x242d')]!==_0x146f6e||_0x368e5a['asteriskToken']!==_0x55ff7e||_0x368e5a[_0x1a4e('0x23d7')]!==_0xf79407||_0x368e5a['parameters']!==_0x2c9ec9||_0x368e5a[_0x1a4e('0x40')]!==_0x420b32||_0x368e5a['body']!==_0x1b06ad?_0x2327c6(_0x5687b7(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c70')]=_0x1a65b8,_0x368e5a[_0x1a4e('0x2c71')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){return _0x368e5a['modifiers']!==_0x146f6e||_0x368e5a[_0x1a4e('0x23d7')]!==_0x55ff7e||_0x368e5a['parameters']!==_0x1adc17||_0x368e5a[_0x1a4e('0x40')]!==_0xf79407||_0x368e5a['equalsGreaterThanToken']!==_0x2c9ec9||_0x368e5a[_0x1a4e('0x8f2')]!==_0x420b32?_0x2327c6(_0x1a65b8(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c72')]=_0x4f1419,_0x368e5a[_0x1a4e('0x2c73')]=function(_0x368e5a,_0x146f6e){return _0x368e5a['expression']!==_0x146f6e?_0x2327c6(_0x4f1419(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a['createTypeOf']=_0x5e36c3,_0x368e5a['updateTypeOf']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x5e36c3(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c74')]=_0x1b0ac1,_0x368e5a[_0x1a4e('0x2c75')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x1b0ac1(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c76')]=_0x385502,_0x368e5a[_0x1a4e('0x2c77')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x385502(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c78')]=_0x387118,_0x368e5a[_0x1a4e('0x2c79')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x1784')]!==_0x146f6e?_0x2327c6(_0x387118(_0x368e5a[_0x1a4e('0x1474')],_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c7a')]=_0x2b9a1,_0x368e5a[_0x1a4e('0x2c7b')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x1784')]!==_0x146f6e?_0x2327c6(_0x2b9a1(_0x146f6e,_0x368e5a[_0x1a4e('0x1474')]),_0x368e5a):_0x368e5a;},_0x368e5a['createBinary']=_0x440340,_0x368e5a[_0x1a4e('0x2c7c')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a['left']!==_0x146f6e||_0x368e5a[_0x1a4e('0x5d')]!==_0x55ff7e?_0x2327c6(_0x440340(_0x146f6e,_0x1adc17||_0x368e5a[_0x1a4e('0x237a')],_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c7d')]=_0xdd8837,_0x368e5a[_0x1a4e('0x2c7e')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x236b')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x23ca')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2602')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x2603')]!==_0xf79407||_0x368e5a[_0x1a4e('0x2604')]!==_0x2c9ec9?_0x2327c6(_0xdd8837(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c7f')]=_0x5a6341,_0x368e5a[_0x1a4e('0x2c80')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x10f1')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x260e')]!==_0x55ff7e?_0x2327c6(_0x5a6341(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c81')]=function(_0x368e5a){var _0x2327c6=_0x146f6e(0xf);return _0x2327c6[_0x1a4e('0xe04')]=_0x368e5a,_0x2327c6;},_0x368e5a[_0x1a4e('0x2c82')]=function(_0x368e5a){var _0x2327c6=_0x146f6e(0x10);return _0x2327c6[_0x1a4e('0xe04')]=_0x368e5a,_0x2327c6;},_0x368e5a[_0x1a4e('0x2c83')]=function(_0x368e5a){var _0x2327c6=_0x146f6e(0x11);return _0x2327c6[_0x1a4e('0xe04')]=_0x368e5a,_0x2327c6;},_0x368e5a[_0x1a4e('0x2c84')]=function(_0x368e5a){var _0x2327c6=_0x146f6e(0xe);return _0x2327c6[_0x1a4e('0xe04')]=_0x368e5a,_0x2327c6;},_0x368e5a[_0x1a4e('0x2c85')]=_0x3e1f7f,_0x368e5a[_0x1a4e('0x2c86')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['expression']!==_0x55ff7e||_0x368e5a['asteriskToken']!==_0x146f6e?_0x2327c6(_0x3e1f7f(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createSpread']=_0x162776,_0x368e5a[_0x1a4e('0x2c87')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x162776(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c88')]=_0x5e8a0f,_0x368e5a['updateClassExpression']=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x242d')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x23d7')]!==_0x1adc17||_0x368e5a['heritageClauses']!==_0xf79407||_0x368e5a[_0x1a4e('0x2369')]!==_0x2c9ec9?_0x2327c6(_0x5e8a0f(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c89')]=function(){return _0x146f6e(0xd2);},_0x368e5a['createExpressionWithTypeArguments']=_0x13d92d,_0x368e5a[_0x1a4e('0x2c8a')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['typeArguments']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2302')]!==_0x55ff7e?_0x2327c6(_0x13d92d(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createAsExpression']=_0x5f1c96,_0x368e5a[_0x1a4e('0x2c8b')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x40')]!==_0x55ff7e?_0x2327c6(_0x5f1c96(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c8c')]=_0x405bde,_0x368e5a[_0x1a4e('0x2c8d')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x405bde(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c8e')]=_0x17ae61,_0x368e5a['updateMetaProperty']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2cb')]!==_0x146f6e?_0x2327c6(_0x17ae61(_0x368e5a['keywordToken'],_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c8f')]=_0x16c8b9,_0x368e5a[_0x1a4e('0x2c90')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['expression']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2301')]!==_0x55ff7e?_0x2327c6(_0x16c8b9(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createSemicolonClassElement']=function(){return _0x146f6e(0xd9);},_0x368e5a[_0x1a4e('0x2c91')]=_0x37fdb6,_0x368e5a[_0x1a4e('0x2c92')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2366')]!==_0x146f6e?_0x2327c6(_0x37fdb6(_0x146f6e,_0x368e5a[_0x1a4e('0x2677')]),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c93')]=_0x1be277,_0x368e5a[_0x1a4e('0x2c94')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['modifiers']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2377')]!==_0x55ff7e?_0x2327c6(_0x1be277(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createEmptyStatement']=function(){return _0x146f6e(0xdc);},_0x368e5a['createExpressionStatement']=_0x20e5e4,_0x368e5a[_0x1a4e('0x2c95')]=_0x4be5bf,_0x368e5a[_0x1a4e('0x2c96')]=_0x20e5e4,_0x368e5a[_0x1a4e('0x2c97')]=_0x4be5bf,_0x368e5a['createIf']=_0x6f3da4,_0x368e5a[_0x1a4e('0x2c98')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2606')]!==_0x55ff7e||_0x368e5a['elseStatement']!==_0x1adc17?_0x2327c6(_0x6f3da4(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c99')]=_0x48120b,_0x368e5a[_0x1a4e('0x2c9a')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2390')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2302')]!==_0x55ff7e?_0x2327c6(_0x48120b(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c9b')]=_0x2f2019,_0x368e5a[_0x1a4e('0x2c9c')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['expression']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2390')]!==_0x55ff7e?_0x2327c6(_0x2f2019(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createFor']=_0x167af7,_0x368e5a[_0x1a4e('0x2c9d')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a['initializer']!==_0x146f6e||_0x368e5a['condition']!==_0x55ff7e||_0x368e5a[_0x1a4e('0x236c')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x2390')]!==_0xf79407?_0x2327c6(_0x167af7(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2c9e')]=_0x136eb3,_0x368e5a['updateForIn']=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x236a')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2302')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2390')]!==_0x1adc17?_0x2327c6(_0x136eb3(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a['createForOf']=_0x5a37e0,_0x368e5a[_0x1a4e('0x2c9f')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a[_0x1a4e('0x2678')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x236a')]!==_0x55ff7e||_0x368e5a['expression']!==_0x1adc17||_0x368e5a[_0x1a4e('0x2390')]!==_0xf79407?_0x2327c6(_0x5a37e0(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ca0')]=_0x521150,_0x368e5a[_0x1a4e('0x2ca1')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x1bc')]!==_0x146f6e?_0x2327c6(_0x521150(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a['createBreak']=_0x260373,_0x368e5a[_0x1a4e('0x2ca2')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x1bc')]!==_0x146f6e?_0x2327c6(_0x260373(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ca3')]=_0xeaf01,_0x368e5a['updateReturn']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0xeaf01(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ca4')]=_0x49ad7c,_0x368e5a['updateWith']=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2390')]!==_0x55ff7e?_0x2327c6(_0x49ad7c(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ca5')]=_0x26c51a,_0x368e5a[_0x1a4e('0x2ca6')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2608')]!==_0x55ff7e?_0x2327c6(_0x26c51a(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ca7')]=_0x3e1302,_0x368e5a[_0x1a4e('0x2ca8')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['label']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2390')]!==_0x55ff7e?_0x2327c6(_0x3e1302(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ca9')]=_0x5b3d40,_0x368e5a['updateThrow']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x5b3d40(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2caa')]=_0x535c0d,_0x368e5a[_0x1a4e('0x2cab')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x2679')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x260a')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x267a')]!==_0x1adc17?_0x2327c6(_0x535c0d(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cac')]=function(){return _0x146f6e(0xec);},_0x368e5a[_0x1a4e('0x2cad')]=_0x568fd9,_0x368e5a[_0x1a4e('0x2cae')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x2cb')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x40')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x236a')]!==_0x1adc17?_0x2327c6(_0x568fd9(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2caf')]=_0xe4fd5b,_0x368e5a['updateVariableDeclarationList']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x22e5')]!==_0x146f6e?_0x2327c6(_0xe4fd5b(_0x146f6e,_0x368e5a[_0x1a4e('0x7b2')]),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cb0')]=_0x3bbfc4,_0x368e5a['updateFunctionDeclaration']=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x23fc')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x2cb')]!==_0xf79407||_0x368e5a[_0x1a4e('0x23d7')]!==_0x2c9ec9||_0x368e5a[_0x1a4e('0x111a')]!==_0x420b32||_0x368e5a[_0x1a4e('0x40')]!==_0x1b06ad||_0x368e5a[_0x1a4e('0x8f2')]!==_0x326eae?_0x2327c6(_0x3bbfc4(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae),_0x368e5a):_0x368e5a;},_0x368e5a['createClassDeclaration']=_0x13cc18,_0x368e5a[_0x1a4e('0x2cb1')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a['name']!==_0x1adc17||_0x368e5a[_0x1a4e('0x23d7')]!==_0xf79407||_0x368e5a['heritageClauses']!==_0x2c9ec9||_0x368e5a[_0x1a4e('0x2369')]!==_0x420b32?_0x2327c6(_0x13cc18(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cb2')]=_0x51ee47,_0x368e5a[_0x1a4e('0x2cb3')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x23d7')]!==_0xf79407||_0x368e5a[_0x1a4e('0x237f')]!==_0x2c9ec9||_0x368e5a[_0x1a4e('0x2369')]!==_0x420b32?_0x2327c6(_0x51ee47(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32),_0x368e5a):_0x368e5a;},_0x368e5a['createTypeAliasDeclaration']=_0x3ee67b,_0x368e5a[_0x1a4e('0x2cb4')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a['decorators']!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x1adc17||_0x368e5a['typeParameters']!==_0xf79407||_0x368e5a['type']!==_0x2c9ec9?_0x2327c6(_0x3ee67b(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cb5')]=_0x368791,_0x368e5a[_0x1a4e('0x2cb6')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x2369')]!==_0xf79407?_0x2327c6(_0x368791(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cb7')]=_0x561b25,_0x368e5a[_0x1a4e('0x2cb8')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a['decorators']!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a['name']!==_0x1adc17||_0x368e5a[_0x1a4e('0x8f2')]!==_0xf79407?_0x2327c6(_0x561b25(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x368e5a['flags']),_0x368e5a):_0x368e5a;},_0x368e5a['createModuleBlock']=_0x2d5824,_0x368e5a[_0x1a4e('0x2cb9')]=function(_0x368e5a,_0x146f6e){return _0x368e5a['statements']!==_0x146f6e?_0x2327c6(_0x2d5824(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cba')]=_0x22f9e1,_0x368e5a[_0x1a4e('0x2cbb')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2609')]!==_0x146f6e?_0x2327c6(_0x22f9e1(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cbc')]=_0x37e70b,_0x368e5a[_0x1a4e('0x2cbd')]=function(_0x368e5a,_0x146f6e){return _0x368e5a['name']!==_0x146f6e?_0x2327c6(_0x37e70b(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a['createImportEqualsDeclaration']=_0x49c695,_0x368e5a[_0x1a4e('0x2cbe')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x1adc17||_0x368e5a['moduleReference']!==_0xf79407?_0x2327c6(_0x49c695(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cbf')]=_0x246d7c,_0x368e5a[_0x1a4e('0x2cc0')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a['importClause']!==_0x1adc17||_0x368e5a['moduleSpecifier']!==_0xf79407?_0x2327c6(_0x246d7c(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cc1')]=_0x11a8b9,_0x368e5a[_0x1a4e('0x2cc2')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2cb')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x23c7')]!==_0x55ff7e?_0x2327c6(_0x11a8b9(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cc3')]=_0x29b06e,_0x368e5a[_0x1a4e('0x2cc4')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2cb')]!==_0x146f6e?_0x2327c6(_0x29b06e(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cc5')]=_0x597f59,_0x368e5a[_0x1a4e('0x2cc6')]=function(_0x368e5a,_0x146f6e){return _0x368e5a['elements']!==_0x146f6e?_0x2327c6(_0x597f59(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cc7')]=_0x19cbba,_0x368e5a[_0x1a4e('0x2cc8')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x81a')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x55ff7e?_0x2327c6(_0x19cbba(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cc9')]=_0x1474c9,_0x368e5a[_0x1a4e('0x2cca')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2302')]!==_0x1adc17?_0x2327c6(_0x1474c9(_0x146f6e,_0x55ff7e,_0x368e5a[_0x1a4e('0x267b')],_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ccb')]=_0x5e1839,_0x368e5a[_0x1a4e('0x2ccc')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x368e5a[_0x1a4e('0x232f')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x242d')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x260d')]!==_0x1adc17||_0x368e5a[_0x1a4e('0x23c5')]!==_0xf79407?_0x2327c6(_0x5e1839(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407),_0x368e5a):_0x368e5a;},_0x368e5a['createNamedExports']=_0x1e055b,_0x368e5a['updateNamedExports']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2398')]!==_0x146f6e?_0x2327c6(_0x1e055b(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ccd')]=_0x5f4d09,_0x368e5a[_0x1a4e('0x2cce')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x81a')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2cb')]!==_0x55ff7e?_0x2327c6(_0x5f4d09(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ccf')]=_0x5227c5,_0x368e5a[_0x1a4e('0x2cd0')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x5227c5(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cd1')]=function(_0x368e5a){var _0x2327c6=_0x146f6e(0x11b);return _0x2327c6[_0x1a4e('0x40')]=_0x368e5a,_0x2327c6;},_0x368e5a[_0x1a4e('0x2cd2')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x484249(0x12e,_0x1a4e('0x40'));return _0x2327c6[_0x1a4e('0x2379')]=_0x368e5a,_0x2327c6[_0x1a4e('0x2695')]=_0x146f6e,_0x2327c6;},_0x368e5a[_0x1a4e('0x2cd3')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x484249(0x12c,_0x1a4e('0x2cd4'));return _0x2327c6[_0x1a4e('0x2379')]=_0x368e5a,_0x2327c6[_0x1a4e('0x2695')]=_0x146f6e,_0x2327c6;},_0x368e5a[_0x1a4e('0x2cd5')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x484249(0x12b,_0x1a4e('0x195'));return _0x1adc17['typeExpression']=_0x2327c6,_0x1adc17[_0x1a4e('0x2cb')]=_0x368e5a,_0x1adc17['isBracketed']=_0x146f6e,_0x1adc17[_0x1a4e('0x2695')]=_0x55ff7e,_0x1adc17;},_0x368e5a[_0x1a4e('0x2cd6')]=function(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x146f6e(0x123);return _0x55ff7e['comment']=_0x368e5a,_0x55ff7e[_0x1a4e('0x2455')]=_0x2327c6,_0x55ff7e;},_0x368e5a['createJsxElement']=_0xd65c54,_0x368e5a[_0x1a4e('0x2cd7')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a['openingElement']!==_0x146f6e||_0x368e5a[_0x1a4e('0x6f')]!==_0x55ff7e||_0x368e5a['closingElement']!==_0x1adc17?_0x2327c6(_0xd65c54(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cd8')]=_0x3a1568,_0x368e5a[_0x1a4e('0x2cd9')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x132b')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x2365')]!==_0x55ff7e||_0x368e5a[_0x1a4e('0x266d')]!==_0x1adc17?_0x2327c6(_0x3a1568(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cda')]=_0x128047,_0x368e5a['updateJsxOpeningElement']=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a['tagName']!==_0x146f6e||_0x368e5a['typeArguments']!==_0x55ff7e||_0x368e5a['attributes']!==_0x1adc17?_0x2327c6(_0x128047(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cdb')]=_0x4df448,_0x368e5a[_0x1a4e('0x2cdc')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x132b')]!==_0x146f6e?_0x2327c6(_0x4df448(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cdd')]=_0x4a37be,_0x368e5a['updateJsxFragment']=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x2610')]!==_0x146f6e||_0x368e5a['children']!==_0x55ff7e||_0x368e5a[_0x1a4e('0x2611')]!==_0x1adc17?_0x2327c6(_0x4a37be(_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a):_0x368e5a;},_0x368e5a['createJsxAttribute']=_0x39cc68,_0x368e5a[_0x1a4e('0x2cde')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2cb')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x236a')]!==_0x55ff7e?_0x2327c6(_0x39cc68(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cdf')]=_0x3709e1,_0x368e5a['updateJsxAttributes']=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x13')]!==_0x146f6e?_0x2327c6(_0x3709e1(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a['createJsxSpreadAttribute']=_0x221e30,_0x368e5a[_0x1a4e('0x2ce0')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x221e30(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ce1')]=_0x15082c,_0x368e5a[_0x1a4e('0x2ce2')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x15082c(_0x368e5a[_0x1a4e('0x25f9')],_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ce3')]=_0x48205c,_0x368e5a['updateCaseClause']=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e||_0x368e5a['statements']!==_0x55ff7e?_0x2327c6(_0x48205c(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ce4')]=_0x1a9124,_0x368e5a[_0x1a4e('0x2ce5')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2366')]!==_0x146f6e?_0x2327c6(_0x1a9124(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ce6')]=_0x2a1067,_0x368e5a[_0x1a4e('0x2ce7')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2380')]!==_0x146f6e?_0x2327c6(_0x2a1067(_0x368e5a[_0x1a4e('0x2381')],_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2ce8')]=_0x2d40ad,_0x368e5a[_0x1a4e('0x2ce9')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x260b')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x260c')]!==_0x55ff7e?_0x2327c6(_0x2d40ad(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createPropertyAssignment']=_0x358953,_0x368e5a['updatePropertyAssignment']=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2cb')]!==_0x146f6e||_0x368e5a[_0x1a4e('0x236a')]!==_0x55ff7e?_0x2327c6(_0x358953(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a['createShorthandPropertyAssignment']=_0x35c078,_0x368e5a['updateShorthandPropertyAssignment']=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['name']!==_0x146f6e||_0x368e5a[_0x1a4e('0x2471')]!==_0x55ff7e?_0x2327c6(_0x35c078(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cea')]=_0x9c1fc7,_0x368e5a[_0x1a4e('0x2ceb')]=function(_0x368e5a,_0x146f6e){return _0x368e5a['expression']!==_0x146f6e?_0x2327c6(_0x9c1fc7(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cec')]=_0x2c1a62,_0x368e5a[_0x1a4e('0x2ced')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x368e5a['name']!==_0x146f6e||_0x368e5a[_0x1a4e('0x236a')]!==_0x55ff7e?_0x2327c6(_0x2c1a62(_0x146f6e,_0x55ff7e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cee')]=function(_0x368e5a,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){if(_0x368e5a['statements']!==_0x1adc17||void 0x0!==_0xf79407&&_0x368e5a[_0x1a4e('0x2423')]!==_0xf79407||void 0x0!==_0x2c9ec9&&_0x368e5a['referencedFiles']!==_0x2c9ec9||void 0x0!==_0x420b32&&_0x368e5a[_0x1a4e('0x2618')]!==_0x420b32||void 0x0!==_0x326eae&&_0x368e5a['libReferenceDirectives']!==_0x326eae||void 0x0!==_0x1b06ad&&_0x368e5a[_0x1a4e('0x261b')]!==_0x1b06ad){var _0x56674b=_0x146f6e(0x117);return _0x56674b['flags']|=_0x368e5a[_0x1a4e('0x7b2')],_0x56674b['statements']=_0x55ff7e(_0x1adc17),_0x56674b['endOfFileToken']=_0x368e5a[_0x1a4e('0x2605')],_0x56674b[_0x1a4e('0x1b39')]=_0x368e5a[_0x1a4e('0x1b39')],_0x56674b['path']=_0x368e5a[_0x1a4e('0x64')],_0x56674b['text']=_0x368e5a[_0x1a4e('0xe04')],_0x56674b['isDeclarationFile']=void 0x0===_0xf79407?_0x368e5a[_0x1a4e('0x2423')]:_0xf79407,_0x56674b[_0x1a4e('0x2617')]=void 0x0===_0x2c9ec9?_0x368e5a[_0x1a4e('0x2617')]:_0x2c9ec9,_0x56674b[_0x1a4e('0x2618')]=void 0x0===_0x420b32?_0x368e5a['typeReferenceDirectives']:_0x420b32,_0x56674b[_0x1a4e('0x261b')]=void 0x0===_0x1b06ad?_0x368e5a[_0x1a4e('0x261b')]:_0x1b06ad,_0x56674b[_0x1a4e('0x2619')]=void 0x0===_0x326eae?_0x368e5a[_0x1a4e('0x2619')]:_0x326eae,void 0x0!==_0x368e5a[_0x1a4e('0x261a')]&&(_0x56674b[_0x1a4e('0x261a')]=_0x368e5a['amdDependencies']),void 0x0!==_0x368e5a[_0x1a4e('0x2419')]&&(_0x56674b[_0x1a4e('0x2419')]=_0x368e5a['moduleName']),void 0x0!==_0x368e5a[_0x1a4e('0x22f7')]&&(_0x56674b['languageVariant']=_0x368e5a[_0x1a4e('0x22f7')]),void 0x0!==_0x368e5a[_0x1a4e('0x2cef')]&&(_0x56674b[_0x1a4e('0x2cef')]=_0x368e5a[_0x1a4e('0x2cef')]),void 0x0!==_0x368e5a['languageVersion']&&(_0x56674b['languageVersion']=_0x368e5a['languageVersion']),void 0x0!==_0x368e5a[_0x1a4e('0x235a')]&&(_0x56674b['scriptKind']=_0x368e5a['scriptKind']),void 0x0!==_0x368e5a[_0x1a4e('0x2359')]&&(_0x56674b[_0x1a4e('0x2359')]=_0x368e5a[_0x1a4e('0x2359')]),void 0x0!==_0x368e5a[_0x1a4e('0x2349')]&&(_0x56674b[_0x1a4e('0x2349')]=_0x368e5a['commonJsModuleIndicator']),void 0x0!==_0x368e5a[_0x1a4e('0x2326')]&&(_0x56674b[_0x1a4e('0x2326')]=_0x368e5a[_0x1a4e('0x2326')]),void 0x0!==_0x368e5a[_0x1a4e('0x263b')]&&(_0x56674b[_0x1a4e('0x263b')]=_0x368e5a[_0x1a4e('0x263b')]),void 0x0!==_0x368e5a[_0x1a4e('0x263c')]&&(_0x56674b[_0x1a4e('0x263c')]=_0x368e5a['identifierCount']),void 0x0!==_0x368e5a['symbolCount']&&(_0x56674b[_0x1a4e('0x28d9')]=_0x368e5a[_0x1a4e('0x28d9')]),void 0x0!==_0x368e5a[_0x1a4e('0x2636')]&&(_0x56674b['parseDiagnostics']=_0x368e5a['parseDiagnostics']),void 0x0!==_0x368e5a['bindDiagnostics']&&(_0x56674b['bindDiagnostics']=_0x368e5a['bindDiagnostics']),void 0x0!==_0x368e5a[_0x1a4e('0x263f')]&&(_0x56674b['bindSuggestionDiagnostics']=_0x368e5a['bindSuggestionDiagnostics']),void 0x0!==_0x368e5a['lineMap']&&(_0x56674b[_0x1a4e('0x22b8')]=_0x368e5a[_0x1a4e('0x22b8')]),void 0x0!==_0x368e5a['classifiableNames']&&(_0x56674b[_0x1a4e('0x2cf0')]=_0x368e5a[_0x1a4e('0x2cf0')]),void 0x0!==_0x368e5a['resolvedModules']&&(_0x56674b[_0x1a4e('0x2312')]=_0x368e5a['resolvedModules']),void 0x0!==_0x368e5a[_0x1a4e('0x2315')]&&(_0x56674b['resolvedTypeReferenceDirectiveNames']=_0x368e5a[_0x1a4e('0x2315')]),void 0x0!==_0x368e5a[_0x1a4e('0x10ca')]&&(_0x56674b[_0x1a4e('0x10ca')]=_0x368e5a['imports']),void 0x0!==_0x368e5a[_0x1a4e('0x2940')]&&(_0x56674b['moduleAugmentations']=_0x368e5a[_0x1a4e('0x2940')]),void 0x0!==_0x368e5a[_0x1a4e('0x2616')]&&(_0x56674b[_0x1a4e('0x2616')]=_0x368e5a[_0x1a4e('0x2616')]),void 0x0!==_0x368e5a[_0x1a4e('0x2890')]&&(_0x56674b['localJsxFactory']=_0x368e5a['localJsxFactory']),void 0x0!==_0x368e5a[_0x1a4e('0x294a')]&&(_0x56674b[_0x1a4e('0x294a')]=_0x368e5a[_0x1a4e('0x294a')]),_0x2327c6(_0x56674b,_0x368e5a);}return _0x368e5a;},_0x368e5a[_0x1a4e('0x2cf1')]=function(_0x368e5a){var _0x146f6e=_0x1adc17(_0x368e5a);return _0x146f6e[_0x1a4e('0xa4')]=_0x368e5a['pos'],_0x146f6e[_0x1a4e('0xca')]=_0x368e5a[_0x1a4e('0xca')],_0x146f6e[_0x1a4e('0x11c')]=_0x368e5a[_0x1a4e('0x11c')],_0x146f6e;},_0x368e5a[_0x1a4e('0x2cf2')]=function(_0x368e5a){var _0x2327c6=_0x146f6e(0x133);return _0x2327c6[_0x1a4e('0x1604')]=_0x368e5a,_0x48613f(_0x2327c6,_0x368e5a),_0x2327c6;},_0x368e5a['createEndOfDeclarationMarker']=function(_0x368e5a){var _0x2327c6=_0x146f6e(0x137);return _0x2327c6[_0x1a4e('0x22ee')]={},_0x2327c6[_0x1a4e('0x1604')]=_0x368e5a,_0x2327c6;},_0x368e5a[_0x1a4e('0x2cf3')]=function(_0x368e5a){var _0x2327c6=_0x146f6e(0x136);return _0x2327c6[_0x1a4e('0x22ee')]={},_0x2327c6[_0x1a4e('0x1604')]=_0x368e5a,_0x2327c6;},_0x368e5a[_0x1a4e('0x2cf4')]=_0x39791e,_0x368e5a[_0x1a4e('0x2cf5')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2302')]!==_0x146f6e?_0x2327c6(_0x39791e(_0x146f6e,_0x368e5a['original']),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cf6')]=_0x396784,_0x368e5a[_0x1a4e('0x2cf7')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2398')]!==_0x146f6e?_0x2327c6(_0x396784(_0x146f6e),_0x368e5a):_0x368e5a;},_0x368e5a[_0x1a4e('0x2cf8')]=_0x2a027a,_0x368e5a['createUnparsedSourceFile']=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['createNode'](0x119);return _0x1adc17[_0x1a4e('0xe04')]=_0x146f6e,_0x1adc17[_0x1a4e('0x2cf9')]=_0x2327c6,_0x1adc17[_0x1a4e('0x2cfa')]=_0x55ff7e,_0x1adc17;},_0x368e5a[_0x1a4e('0x2cfb')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x460')](0x11a);return _0x420b32[_0x1a4e('0x2cfc')]=_0x146f6e,_0x420b32['javascriptMapPath']=_0x55ff7e,_0x420b32[_0x1a4e('0x2cfd')]=_0x1adc17,_0x420b32[_0x1a4e('0x2cfe')]=_0x2327c6,_0x420b32[_0x1a4e('0x2cff')]=_0xf79407,_0x420b32[_0x1a4e('0x2d00')]=_0x2c9ec9,_0x420b32;},_0x368e5a[_0x1a4e('0x2d01')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=_0x368e5a['emptyArray']),_0x146f6e[_0x1a4e('0x2c1e')]!==_0x2327c6||_0x146f6e[_0x1a4e('0x2d02')]!==_0x55ff7e?_0x2a027a(_0x2327c6,_0x55ff7e):_0x146f6e;},_0x368e5a[_0x1a4e('0x2d03')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x215b10(_0x5687b7(void 0x0,void 0x0,void 0x0,void 0x0,_0x146f6e?[_0x146f6e]:[],void 0x0,_0x37fdb6(_0x368e5a,!0x0)),void 0x0,_0x2327c6?[_0x2327c6]:[]);},_0x368e5a[_0x1a4e('0x2d04')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x215b10(_0x1a65b8(void 0x0,void 0x0,_0x146f6e?[_0x146f6e]:[],void 0x0,void 0x0,_0x37fdb6(_0x368e5a,!0x0)),void 0x0,_0x2327c6?[_0x2327c6]:[]);},_0x368e5a[_0x1a4e('0x2d05')]=function(_0x368e5a,_0x146f6e){return _0x440340(_0x368e5a,0x1b,_0x146f6e);},_0x368e5a[_0x1a4e('0x2d06')]=function(_0x368e5a,_0x146f6e){return _0x440340(_0x368e5a,0x1c,_0x146f6e);},_0x368e5a[_0x1a4e('0x2d07')]=function(_0x368e5a,_0x146f6e){return _0x440340(_0x368e5a,0x3b,_0x146f6e);},_0x368e5a[_0x1a4e('0x2d08')]=function(_0x368e5a,_0x146f6e){return _0x440340(_0x368e5a,0x23,_0x146f6e);},_0x368e5a[_0x1a4e('0x2d09')]=function(_0x368e5a,_0x146f6e){return _0x440340(_0x368e5a,0x24,_0x146f6e);},_0x368e5a['createAdd']=function(_0x368e5a,_0x146f6e){return _0x440340(_0x368e5a,0x26,_0x146f6e);},_0x368e5a[_0x1a4e('0x2d0a')]=function(_0x368e5a,_0x146f6e){return _0x440340(_0x368e5a,0x27,_0x146f6e);},_0x368e5a[_0x1a4e('0x2d0b')]=function(_0x368e5a){return _0x2b9a1(_0x368e5a,0x2c);},_0x368e5a[_0x1a4e('0x2d0c')]=function(_0x368e5a,_0x146f6e){return _0x440340(_0x368e5a,0x36,_0x146f6e);},_0x368e5a[_0x1a4e('0x2d0d')]=function(_0x368e5a,_0x146f6e){return _0x440340(_0x368e5a,0x37,_0x146f6e);},_0x368e5a[_0x1a4e('0x2d0e')]=function(_0x368e5a){return _0x387118(0x34,_0x368e5a);},_0x368e5a[_0x1a4e('0x2d0f')]=function(){return _0x1b0ac1(_0xf79407(0x0));},_0x368e5a[_0x1a4e('0x2d10')]=function(_0x368e5a){return _0x1474c9(void 0x0,void 0x0,!0x1,_0x368e5a);},_0x368e5a['createExternalModuleExport']=function(_0x368e5a){return _0x5e1839(void 0x0,void 0x0,_0x1e055b([_0x5f4d09(void 0x0,_0x368e5a)]));},_0x368e5a['disposeEmitNodes']=function(_0x146f6e){var _0x2327c6=(_0x146f6e=_0x368e5a[_0x1a4e('0x1674')](_0x368e5a[_0x1a4e('0x240a')](_0x146f6e)))&&_0x146f6e[_0x1a4e('0x22ee')],_0x55ff7e=_0x2327c6&&_0x2327c6[_0x1a4e('0x2c1f')];if(_0x55ff7e)for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e;_0x1adc17<_0xf79407['length'];_0x1adc17++)_0xf79407[_0x1adc17][_0x1a4e('0x22ee')]=void 0x0;},_0x368e5a[_0x1a4e('0x2d11')]=_0x35c5ea,_0x368e5a[_0x1a4e('0x2d12')]=_0x48613f,_0x368e5a['setEmitFlags']=_0x3552ca,_0x368e5a['addEmitFlags']=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x35c5ea(_0x368e5a);return _0x2327c6[_0x1a4e('0x7b2')]=_0x2327c6[_0x1a4e('0x7b2')]|_0x146f6e,_0x368e5a;},_0x368e5a[_0x1a4e('0x2d13')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['emitNode'];return _0x146f6e&&_0x146f6e[_0x1a4e('0x2c23')]||_0x368e5a;},_0x368e5a[_0x1a4e('0x2d14')]=function(_0x368e5a,_0x146f6e){return _0x35c5ea(_0x368e5a)['sourceMapRange']=_0x146f6e,_0x368e5a;},_0x368e5a[_0x1a4e('0x2d15')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return new(_0x56674b||(_0x56674b=(_0x368e5a[_0x1a4e('0x2626')]['getSourceMapSourceConstructor']())))(_0x146f6e,_0x2327c6,_0x55ff7e);},_0x368e5a[_0x1a4e('0x2d16')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x22ee')],_0x55ff7e=_0x2327c6&&_0x2327c6[_0x1a4e('0x2c24')];return _0x55ff7e&&_0x55ff7e[_0x146f6e];},_0x368e5a['setTokenSourceMapRange']=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x35c5ea(_0x368e5a);return(_0x55ff7e[_0x1a4e('0x2c24')]||(_0x55ff7e[_0x1a4e('0x2c24')]=[]))[_0x146f6e]=_0x2327c6,_0x368e5a;},_0x368e5a['getStartsOnNewLine']=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x22ee')];return _0x146f6e&&_0x146f6e[_0x1a4e('0x2c26')];},_0x368e5a[_0x1a4e('0x2d17')]=function(_0x368e5a,_0x146f6e){return _0x35c5ea(_0x368e5a)[_0x1a4e('0x2c26')]=_0x146f6e,_0x368e5a;},_0x368e5a[_0x1a4e('0x2d18')]=function(_0x368e5a){var _0x146f6e=_0x368e5a['emitNode'];return _0x146f6e&&_0x146f6e[_0x1a4e('0x2c22')]||_0x368e5a;},_0x368e5a[_0x1a4e('0x28c2')]=function(_0x368e5a,_0x146f6e){return _0x35c5ea(_0x368e5a)[_0x1a4e('0x2c22')]=_0x146f6e,_0x368e5a;},_0x368e5a[_0x1a4e('0x2d19')]=_0x2e5b40,_0x368e5a[_0x1a4e('0x2d1a')]=_0x3a585c,_0x368e5a['addSyntheticLeadingComment']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x3a585c(_0x146f6e,_0x368e5a[_0x1a4e('0x252')](_0x2e5b40(_0x146f6e),{'kind':_0x2327c6,'pos':-0x1,'end':-0x1,'hasTrailingNewLine':_0x1adc17,'text':_0x55ff7e}));},_0x368e5a[_0x1a4e('0x2d1b')]=_0x3865ba,_0x368e5a[_0x1a4e('0x2d1c')]=_0x4efe4e,_0x368e5a[_0x1a4e('0x2d1d')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x4efe4e(_0x146f6e,_0x368e5a['append'](_0x3865ba(_0x146f6e),{'kind':_0x2327c6,'pos':-0x1,'end':-0x1,'hasTrailingNewLine':_0x1adc17,'text':_0x55ff7e}));},_0x368e5a[_0x1a4e('0x2d1e')]=function(_0x368e5a,_0x146f6e){_0x3a585c(_0x368e5a,_0x2e5b40(_0x146f6e)),_0x4efe4e(_0x368e5a,_0x3865ba(_0x146f6e));var _0x2327c6=_0x35c5ea(_0x146f6e);return _0x2327c6['leadingComments']=void 0x0,_0x2327c6[_0x1a4e('0x2c21')]=void 0x0,_0x368e5a;},_0x368e5a['getConstantValue']=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x22ee')];return _0x146f6e&&_0x146f6e[_0x1a4e('0x2c25')];},_0x368e5a[_0x1a4e('0x2d1f')]=function(_0x368e5a,_0x146f6e){return _0x35c5ea(_0x368e5a)[_0x1a4e('0x2c25')]=_0x146f6e,_0x368e5a;},_0x368e5a[_0x1a4e('0x2d20')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x35c5ea(_0x146f6e);return _0x55ff7e[_0x1a4e('0x7a8')]=_0x368e5a['append'](_0x55ff7e['helpers'],_0x2327c6),_0x146f6e;},_0x368e5a[_0x1a4e('0x2d21')]=function(_0x146f6e,_0x2327c6){if(_0x368e5a['some'](_0x2327c6))for(var _0x55ff7e=_0x35c5ea(_0x146f6e),_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x55ff7e[_0x1a4e('0x7a8')]=_0x368e5a['appendIfUnique'](_0x55ff7e[_0x1a4e('0x7a8')],_0x2c9ec9);}return _0x146f6e;},_0x368e5a['removeEmitHelper']=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['emitNode'];if(_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x7a8')];if(_0x1adc17)return _0x368e5a[_0x1a4e('0x175e')](_0x1adc17,_0x2327c6);}return!0x1;},_0x368e5a[_0x1a4e('0x2d22')]=function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x22ee')];return _0x146f6e&&_0x146f6e[_0x1a4e('0x7a8')];},_0x368e5a[_0x1a4e('0x2d23')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x22ee')],_0xf79407=_0x1adc17&&_0x1adc17['helpers'];if(_0x368e5a[_0x1a4e('0x1c2')](_0xf79407)){for(var _0x2c9ec9=_0x35c5ea(_0x2327c6),_0x420b32=0x0,_0x1b06ad=0x0;_0x1b06ad<_0xf79407[_0x1a4e('0x1e')];_0x1b06ad++){var _0x326eae=_0xf79407[_0x1b06ad];_0x55ff7e(_0x326eae)?(_0x420b32++,_0x2c9ec9[_0x1a4e('0x7a8')]=_0x368e5a[_0x1a4e('0x298c')](_0x2c9ec9[_0x1a4e('0x7a8')],_0x326eae)):_0x420b32>0x0&&(_0xf79407[_0x1b06ad-_0x420b32]=_0x326eae);}_0x420b32>0x0&&(_0xf79407[_0x1a4e('0x1e')]-=_0x420b32);}},_0x368e5a[_0x1a4e('0x2d24')]=function(_0x146f6e,_0x2327c6){return _0x146f6e===_0x2327c6?0x0:_0x146f6e[_0x1a4e('0x16a1')]===_0x2327c6['priority']?0x0:void 0x0===_0x146f6e[_0x1a4e('0x16a1')]?0x1:void 0x0===_0x2327c6[_0x1a4e('0x16a1')]?-0x1:_0x368e5a[_0x1a4e('0x166e')](_0x146f6e[_0x1a4e('0x16a1')],_0x2327c6['priority']);},_0x368e5a[_0x1a4e('0x2d25')]=_0x52f760;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a[_0x1a4e('0x23e8')](_0x2327c6))return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2897')](_0x146f6e,_0x2327c6[_0x1a4e('0x2302')]),_0x55ff7e);var _0x1adc17=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['isIdentifier'](_0x2327c6)?_0x368e5a['createPropertyAccess'](_0x146f6e,_0x2327c6):_0x368e5a[_0x1a4e('0x2897')](_0x146f6e,_0x2327c6),_0x2327c6);return _0x368e5a[_0x1a4e('0x2d11')](_0x1adc17)[_0x1a4e('0x7b2')]|=0x40,_0x1adc17;}function _0x2327c6(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2893')](_0x146f6e||_0x1a4e('0x1a37'));return _0x55ff7e[_0x1a4e('0x7b2')]&=-0x9,_0x55ff7e[_0x1a4e('0x11c')]=_0x368e5a[_0x1a4e('0x240a')](_0x2327c6),_0x55ff7e;}function _0x55ff7e(_0x146f6e,_0x55ff7e,_0x1adc17){return _0x146f6e?function _0x146f6e(_0x55ff7e,_0x1adc17){if(_0x368e5a[_0x1a4e('0x24e9')](_0x55ff7e)){var _0xf79407=_0x146f6e(_0x55ff7e[_0x1a4e('0x5f')],_0x1adc17),_0x2c9ec9=_0x368e5a[_0x1a4e('0x2893')](_0x368e5a[_0x1a4e('0x2353')](_0x55ff7e['right']));return _0x2c9ec9[_0x1a4e('0x22f3')]=_0x55ff7e[_0x1a4e('0x5d')][_0x1a4e('0x22f3')],_0x368e5a[_0x1a4e('0x2894')](_0xf79407,_0x2c9ec9);}return _0x2327c6(_0x368e5a[_0x1a4e('0x2353')](_0x55ff7e),_0x1adc17);}(_0x146f6e,_0x1adc17):_0x368e5a[_0x1a4e('0x2894')](_0x2327c6(_0x55ff7e,_0x1adc17),_0x1a4e('0xe3d'));}function _0x1adc17(_0x146f6e){return _0x368e5a[_0x1a4e('0x2892')](_0x368e5a['createIdentifier'](_0x146f6e),0x1002);}_0x368e5a[_0x1a4e('0x28ce')]={'enableEmitNotification':_0x368e5a[_0x1a4e('0x10bf')],'enableSubstitution':_0x368e5a[_0x1a4e('0x10bf')],'endLexicalEnvironment':function(){},'getCompilerOptions':_0x368e5a[_0x1a4e('0x1732')],'getEmitHost':_0x368e5a[_0x1a4e('0x1732')],'getEmitResolver':_0x368e5a[_0x1a4e('0x1732')],'hoistFunctionDeclaration':_0x368e5a[_0x1a4e('0x10bf')],'hoistVariableDeclaration':_0x368e5a[_0x1a4e('0x10bf')],'isEmitNotificationEnabled':_0x368e5a[_0x1a4e('0x1732')],'isSubstitutionEnabled':_0x368e5a[_0x1a4e('0x1732')],'onEmitNode':_0x368e5a[_0x1a4e('0x10bf')],'onSubstituteNode':_0x368e5a['notImplemented'],'readEmitHelpers':_0x368e5a[_0x1a4e('0x1732')],'requestEmitHelper':_0x368e5a['noop'],'resumeLexicalEnvironment':_0x368e5a['noop'],'startLexicalEnvironment':_0x368e5a[_0x1a4e('0x10bf')],'suspendLexicalEnvironment':_0x368e5a[_0x1a4e('0x10bf')],'addDiagnostic':_0x368e5a[_0x1a4e('0x10bf')]},_0x368e5a[_0x1a4e('0x2d26')]=function(_0x146f6e,_0x2327c6){return _0x1a4e('0x3')===_0x2327c6?_0x368e5a[_0x1a4e('0x2d08')](_0x146f6e,_0x368e5a['createVoidZero']()):_0x368e5a[_0x1a4e('0x2d08')](_0x368e5a[_0x1a4e('0x2d27')](_0x146f6e),_0x368e5a['createLiteral'](_0x2327c6));},_0x368e5a[_0x1a4e('0x2d28')]=_0x146f6e,_0x368e5a[_0x1a4e('0x2d29')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x146f6e,_0x1a4e('0x1')),void 0x0,[_0x2327c6][_0x1a4e('0x9a')](_0x55ff7e)),_0x1adc17);},_0x368e5a[_0x1a4e('0x2d2a')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a['setTextRange'](_0x368e5a['createCall'](_0x368e5a['createPropertyAccess'](_0x146f6e,_0x1a4e('0x8b')),void 0x0,[_0x2327c6,_0x55ff7e]),_0x1adc17);},_0x368e5a[_0x1a4e('0x2d2b')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=[];return void 0x0!==_0x2327c6&&_0x55ff7e['push'](_0x1a4e('0x3d')==typeof _0x2327c6?_0x368e5a[_0x1a4e('0x2896')](_0x2327c6):_0x2327c6),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x146f6e,_0x1a4e('0x78')),void 0x0,_0x55ff7e);},_0x368e5a[_0x1a4e('0x2d2c')]=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x146f6e,_0x1a4e('0x9a')),void 0x0,_0x2327c6);},_0x368e5a[_0x1a4e('0x2d2d')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x1020')),_0x1a4e('0x8e')),void 0x0,[_0x146f6e,_0x2327c6]),_0x55ff7e);},_0x368e5a['createExpressionForJsxElement']=function(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=[_0x1adc17];if(_0xf79407&&_0x326eae[_0x1a4e('0x46')](_0xf79407),_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x1e')]>0x0)if(_0xf79407||_0x326eae[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2c2d')]()),_0x2c9ec9['length']>0x1)for(var _0x56674b=0x0,_0x1db140=_0x2c9ec9;_0x56674b<_0x1db140[_0x1a4e('0x1e')];_0x56674b++){var _0x278ffc=_0x1db140[_0x56674b];_0x5bec8c(_0x278ffc),_0x326eae[_0x1a4e('0x46')](_0x278ffc);}else _0x326eae[_0x1a4e('0x46')](_0x2c9ec9[0x0]);return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x55ff7e(_0x146f6e,_0x2327c6,_0x420b32),void 0x0,_0x326eae),_0x1b06ad);},_0x368e5a[_0x1a4e('0x2d2e')]=function(_0x146f6e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=[_0x368e5a[_0x1a4e('0x2894')](_0x2327c6(_0x1adc17,_0x2c9ec9),_0x1a4e('0x2d2f'))];if(_0x1b06ad['push'](_0x368e5a['createNull']()),_0xf79407&&_0xf79407[_0x1a4e('0x1e')]>0x0)if(_0xf79407[_0x1a4e('0x1e')]>0x1)for(var _0x326eae=0x0,_0x56674b=_0xf79407;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x366f15=_0x56674b[_0x326eae];_0x5bec8c(_0x366f15),_0x1b06ad[_0x1a4e('0x46')](_0x366f15);}else _0x1b06ad['push'](_0xf79407[0x0]);return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x55ff7e(_0x146f6e,_0x1adc17,_0x2c9ec9),void 0x0,_0x1b06ad),_0x420b32);},_0x368e5a['getHelperName']=_0x1adc17;var _0xf79407={'name':_0x1a4e('0x2d30'),'scoped':!0x1,'text':_0x1a4e('0x2d31')};_0x368e5a[_0x1a4e('0x2d32')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e[_0x1a4e('0x2d33')](_0xf79407),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x1adc17('__values'),void 0x0,[_0x2327c6]),_0x55ff7e);};var _0x2c9ec9={'name':'typescript:read','scoped':!0x1,'text':'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__read\x20=\x20(this\x20&&\x20this.__read)\x20||\x20function\x20(o,\x20n)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20m\x20=\x20typeof\x20Symbol\x20===\x20\x22function\x22\x20&&\x20o[Symbol.iterator];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!m)\x20return\x20o;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20i\x20=\x20m.call(o),\x20r,\x20ar\x20=\x20[],\x20e;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20((n\x20===\x20void\x200\x20||\x20n--\x20>\x200)\x20&&\x20!(r\x20=\x20i.next()).done)\x20ar.push(r.value);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20catch\x20(error)\x20{\x20e\x20=\x20{\x20error:\x20error\x20};\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20finally\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(r\x20&&\x20!r.done\x20&&\x20(m\x20=\x20i[\x22return\x22]))\x20m.call(i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20finally\x20{\x20if\x20(e)\x20throw\x20e.error;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20ar;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};'};_0x368e5a[_0x1a4e('0x2d34')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){return _0x146f6e[_0x1a4e('0x2d33')](_0x2c9ec9),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createCall'](_0x1adc17(_0x1a4e('0x165f')),void 0x0,void 0x0!==_0x55ff7e?[_0x2327c6,_0x368e5a[_0x1a4e('0x2896')](_0x55ff7e)]:[_0x2327c6]),_0xf79407);};var _0x420b32={'name':_0x1a4e('0x2d35'),'scoped':!0x1,'text':_0x1a4e('0x2d36')};function _0x1b06ad(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['skipParentheses'](_0x146f6e);switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0x48:return _0x2327c6;case 0x64:case 0x8:case 0x9:case 0xa:return!0x1;case 0xbb:return 0x0!==_0x55ff7e[_0x1a4e('0x2398')][_0x1a4e('0x1e')];case 0xbc:return _0x55ff7e[_0x1a4e('0x13')][_0x1a4e('0x1e')]>0x0;default:return!0x0;}}function _0x326eae(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2896')](_0x146f6e):_0x368e5a[_0x1a4e('0x23e8')](_0x146f6e)?_0x368e5a['getMutableClone'](_0x146f6e[_0x1a4e('0x2302')]):_0x368e5a[_0x1a4e('0x2cf1')](_0x146f6e);}function _0x56674b(_0x368e5a,_0x146f6e,_0x2327c6){return _0x359918(_0x368e5a,_0x146f6e,_0x2327c6,0x2000);}function _0x359918(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=0x0);var _0xf79407=_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e);if(_0xf79407&&_0x368e5a['isIdentifier'](_0xf79407)&&!_0x368e5a[_0x1a4e('0x2bd0')](_0xf79407)){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2cf1')](_0xf79407);return _0x1adc17|=_0x368e5a['getEmitFlags'](_0xf79407),_0x55ff7e||(_0x1adc17|=0x30),_0x2327c6||(_0x1adc17|=0x600),_0x1adc17&&_0x368e5a['setEmitFlags'](_0x2c9ec9,_0x1adc17),_0x2c9ec9;}return _0x368e5a[_0x1a4e('0x28c8')](_0x146f6e);}function _0x4b524f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2894')](_0x146f6e,_0x368e5a[_0x1a4e('0x2408')](_0x2327c6)?_0x2327c6:_0x368e5a[_0x1a4e('0x28ca')](_0x2327c6));_0x368e5a['setTextRange'](_0xf79407,_0x2327c6);var _0x2c9ec9=0x0;return _0x1adc17||(_0x2c9ec9|=0x30),_0x55ff7e||(_0x2c9ec9|=0x600),_0x2c9ec9&&_0x368e5a[_0x1a4e('0x2892')](_0xf79407,_0x2c9ec9),_0xf79407;}function _0x3755b5(_0x146f6e){return _0x368e5a[_0x1a4e('0x2374')](_0x146f6e[_0x1a4e('0x2302')])&&'use\x20strict'===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0xe04')];}function _0x4a3ff2(_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0===_0x146f6e[_0x1a4e('0x1e')],_0x1a4e('0x2d37'));for(var _0x1adc17=!0x1,_0xf79407=0x0,_0x2c9ec9=_0x2327c6[_0x1a4e('0x1e')];_0xf79407<_0x2c9ec9;){var _0x420b32=_0x2327c6[_0xf79407];if(!_0x368e5a['isPrologueDirective'](_0x420b32))break;_0x3755b5(_0x420b32)&&(_0x1adc17=!0x0),_0x146f6e[_0x1a4e('0x46')](_0x420b32),_0xf79407++;}return _0x55ff7e&&!_0x1adc17&&_0x146f6e[_0x1a4e('0x46')](_0x5bec8c(_0x368e5a[_0x1a4e('0x2c96')](_0x368e5a['createLiteral'](_0x1a4e('0x2d38'))))),_0xf79407;}function _0x33643a(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=_0x2327c6[_0x1a4e('0x1e')];void 0x0!==_0x55ff7e&&_0x55ff7e<_0xf79407;){var _0x2c9ec9=_0x2327c6[_0x55ff7e];if(!(0x100000&_0x368e5a[_0x1a4e('0x2c65')](_0x2c9ec9)))break;_0x368e5a['append'](_0x146f6e,_0x1adc17?_0x368e5a['visitNode'](_0x2c9ec9,_0x1adc17,_0x368e5a['isStatement']):_0x2c9ec9),_0x55ff7e++;}return _0x55ff7e;}function _0x188305(_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(!_0x368e5a[_0x1a4e('0x2877')](_0x1adc17))break;if(_0x3755b5(_0x1adc17))return _0x1adc17;}}function _0x5d1075(_0x146f6e){if(_0x146f6e=_0x368e5a[_0x1a4e('0x24fe')](_0x146f6e),_0x368e5a['isLiteralKind'](_0x146f6e['kind']))return _0x146f6e[_0x1a4e('0x146b')];if(0xcc===_0x146f6e['kind']&&0x26===_0x146f6e[_0x1a4e('0x237a')][_0x1a4e('0x146b')]){if(void 0x0!==_0x146f6e['cachedLiteralKind'])return _0x146f6e['cachedLiteralKind'];var _0x2327c6=_0x5d1075(_0x146f6e['left']),_0x55ff7e=_0x368e5a[_0x1a4e('0x253e')](_0x2327c6)&&_0x2327c6===_0x5d1075(_0x146f6e['right'])?_0x2327c6:0x0;return _0x146f6e[_0x1a4e('0x2d39')]=_0x55ff7e,_0x55ff7e;}return 0x0;}function _0x148940(_0x146f6e){var _0x2327c6=_0x368e5a['skipPartiallyEmittedExpressions'](_0x146f6e);return _0x368e5a['isLeftHandSideExpression'](_0x2327c6)&&(0xc0!==_0x2327c6[_0x1a4e('0x146b')]||_0x2327c6[_0x1a4e('0x2373')])?_0x146f6e:_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c6d')](_0x146f6e),_0x146f6e);}function _0x1495ee(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x24fe')](_0x146f6e);return _0x368e5a[_0x1a4e('0x240f')](_0x2327c6)>_0x368e5a[_0x1a4e('0x2411')](0xcc,0x1b)?_0x146f6e:_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c6d')](_0x146f6e),_0x146f6e);}function _0x208385(_0x146f6e){return 0xaf===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['createParenthesizedType'](_0x146f6e):_0x146f6e;}function _0x342f57(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xad:case 0xae:case 0xa5:case 0xa6:return _0x368e5a[_0x1a4e('0x2c56')](_0x146f6e);}return _0x208385(_0x146f6e);}function _0x1ccc7f(_0x368e5a,_0x146f6e){for(;;){switch(_0x368e5a['kind']){case 0xcb:_0x368e5a=_0x368e5a['operand'];continue;case 0xcc:_0x368e5a=_0x368e5a[_0x1a4e('0x5f')];continue;case 0xcd:_0x368e5a=_0x368e5a[_0x1a4e('0x236b')];continue;case 0xc1:_0x368e5a=_0x368e5a['tag'];continue;case 0xbf:if(_0x146f6e)return _0x368e5a;case 0xd4:case 0xbe:case 0xbd:case 0xd5:case 0x134:_0x368e5a=_0x368e5a['expression'];continue;}return _0x368e5a;}}function _0x4665b7(_0x368e5a){return 0xcc===_0x368e5a[_0x1a4e('0x146b')]&&0x1b===_0x368e5a[_0x1a4e('0x237a')]['kind']||0x135===_0x368e5a[_0x1a4e('0x146b')];}function _0x19a401(_0x368e5a,_0x146f6e){switch(void 0x0===_0x146f6e&&(_0x146f6e=0x7),_0x368e5a['kind']){case 0xc3:return 0x0!=(0x1&_0x146f6e);case 0xc2:case 0xd4:case 0xd5:return 0x0!=(0x2&_0x146f6e);case 0x134:return 0x0!=(0x4&_0x146f6e);}return!0x1;}function _0x241869(_0x146f6e,_0x2327c6){var _0x55ff7e;void 0x0===_0x2327c6&&(_0x2327c6=0x7);do{_0x55ff7e=_0x146f6e,0x1&_0x2327c6&&(_0x146f6e=_0x368e5a[_0x1a4e('0x29a0')](_0x146f6e)),0x2&_0x2327c6&&(_0x146f6e=_0xe13bfb(_0x146f6e)),0x4&_0x2327c6&&(_0x146f6e=_0x368e5a[_0x1a4e('0x24fe')](_0x146f6e));}while(_0x55ff7e!==_0x146f6e);return _0x146f6e;}function _0xe13bfb(_0x146f6e){for(;_0x368e5a[_0x1a4e('0x255e')](_0x146f6e)||0xd5===_0x146f6e[_0x1a4e('0x146b')];)_0x146f6e=_0x146f6e[_0x1a4e('0x2302')];return _0x146f6e;}function _0x179763(_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=0x7),_0x146f6e&&_0x19a401(_0x146f6e,_0x55ff7e)&&(!(0xc3===(_0x1adc17=_0x146f6e)[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2408')](_0x1adc17)&&_0x368e5a[_0x1a4e('0x2408')](_0x368e5a['getSourceMapRange'](_0x1adc17))&&_0x368e5a[_0x1a4e('0x2408')](_0x368e5a[_0x1a4e('0x2d18')](_0x1adc17)))||_0x368e5a[_0x1a4e('0x1c2')](_0x368e5a[_0x1a4e('0x2d19')](_0x1adc17))||_0x368e5a['some'](_0x368e5a[_0x1a4e('0x2d1b')](_0x1adc17)))?function(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xc3:return _0x368e5a[_0x1a4e('0x2d3a')](_0x146f6e,_0x2327c6);case 0xc2:return _0x368e5a[_0x1a4e('0x2c6c')](_0x146f6e,_0x146f6e[_0x1a4e('0x40')],_0x2327c6);case 0xd4:return _0x368e5a[_0x1a4e('0x2c8b')](_0x146f6e,_0x2327c6,_0x146f6e[_0x1a4e('0x40')]);case 0xd5:return _0x368e5a[_0x1a4e('0x2c8d')](_0x146f6e,_0x2327c6);case 0x134:return _0x368e5a[_0x1a4e('0x2cf5')](_0x146f6e,_0x2327c6);}}(_0x146f6e,_0x179763(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6)):_0x2327c6;var _0x1adc17;}function _0x5bec8c(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d17')](_0x146f6e,!0x0);}function _0x47bdeb(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x24d0')](_0x146f6e,_0x368e5a[_0x1a4e('0x22f0')]),_0x55ff7e=_0x2327c6&&_0x2327c6[_0x1a4e('0x22ee')];return _0x55ff7e&&_0x55ff7e['externalHelpersModuleName'];}function _0x3cc3d0(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e)return _0x146f6e[_0x1a4e('0x2419')]?_0x368e5a['createLiteral'](_0x146f6e[_0x1a4e('0x2419')]):_0x146f6e[_0x1a4e('0x2423')]||!_0x55ff7e[_0x1a4e('0x303')]&&!_0x55ff7e[_0x1a4e('0x2445')]?void 0x0:_0x368e5a['createLiteral'](_0x368e5a[_0x1a4e('0x2440')](_0x2327c6,_0x146f6e[_0x1a4e('0x1b39')]));}function _0x1cde19(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2d3b')](_0x146f6e))return _0x146f6e[_0x1a4e('0x2cb')];if(!_0x368e5a[_0x1a4e('0x2552')](_0x146f6e))return _0x368e5a[_0x1a4e('0x287a')](_0x146f6e,!0x0)?_0x1cde19(_0x146f6e[_0x1a4e('0x5f')]):_0x368e5a[_0x1a4e('0x2ac8')](_0x146f6e)?_0x1cde19(_0x146f6e[_0x1a4e('0x2302')]):_0x146f6e;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x113:return _0x1cde19(_0x146f6e['initializer']);case 0x114:return _0x146f6e[_0x1a4e('0x2cb')];case 0x115:return _0x1cde19(_0x146f6e[_0x1a4e('0x2302')]);}}function _0x610607(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xa===_0x146f6e||0x8===_0x146f6e;}function _0x28a4a3(_0x146f6e){if(_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e)){if(_0x146f6e[_0x1a4e('0x25f9')])return _0x368e5a['Debug'][_0x1a4e('0x2a1b')](_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2370')]),_0x368e5a['setOriginalNode'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d3c')](_0x146f6e[_0x1a4e('0x2cb')]),_0x146f6e),_0x146f6e);var _0x2327c6=_0xb81f53(_0x146f6e[_0x1a4e('0x2cb')]);return _0x146f6e[_0x1a4e('0x236a')]?_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createAssignment'](_0x2327c6,_0x146f6e[_0x1a4e('0x236a')]),_0x146f6e),_0x146f6e):_0x2327c6;}return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2a1b')](_0x146f6e,_0x368e5a[_0x1a4e('0x24a8')]),_0x146f6e;}function _0x185450(_0x146f6e){if(_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e)){if(_0x146f6e['dotDotDotToken'])return _0x368e5a['Debug'][_0x1a4e('0x2a1b')](_0x146f6e['name'],_0x368e5a[_0x1a4e('0x2370')]),_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2cea')](_0x146f6e[_0x1a4e('0x2cb')]),_0x146f6e),_0x146f6e);if(_0x146f6e['propertyName']){var _0x2327c6=_0xb81f53(_0x146f6e[_0x1a4e('0x2cb')]);return _0x368e5a['setOriginalNode'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d3d')](_0x146f6e[_0x1a4e('0x81a')],_0x146f6e['initializer']?_0x368e5a[_0x1a4e('0x2d07')](_0x2327c6,_0x146f6e['initializer']):_0x2327c6),_0x146f6e),_0x146f6e);}return _0x368e5a[_0x1a4e('0x1749')]['assertNode'](_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['isIdentifier']),_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2d3e')](_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x236a')]),_0x146f6e),_0x146f6e);}return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2a1b')](_0x146f6e,_0x368e5a[_0x1a4e('0x2552')]),_0x146f6e;}function _0x152213(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xb9:case 0xbb:return _0x3f48a4(_0x368e5a);case 0xb8:case 0xbc:return _0x2dba81(_0x368e5a);}}function _0x2dba81(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d3f')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c62')](_0x368e5a['map'](_0x146f6e[_0x1a4e('0x2398')],_0x185450)),_0x146f6e),_0x146f6e):(_0x368e5a['Debug'][_0x1a4e('0x2a1b')](_0x146f6e,_0x368e5a[_0x1a4e('0x236f')]),_0x146f6e);}function _0x3f48a4(_0x146f6e){return _0x368e5a['isArrayBindingPattern'](_0x146f6e)?_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c60')](_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2398')],_0x28a4a3)),_0x146f6e),_0x146f6e):(_0x368e5a[_0x1a4e('0x1749')]['assertNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x2397')]),_0x146f6e);}function _0xb81f53(_0x146f6e){return _0x368e5a[_0x1a4e('0x1678')](_0x146f6e)?_0x152213(_0x146f6e):(_0x368e5a['Debug'][_0x1a4e('0x2a1b')](_0x146f6e,_0x368e5a[_0x1a4e('0x24a8')]),_0x146f6e);}_0x368e5a[_0x1a4e('0x2d40')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e['requestEmitHelper'](_0x2c9ec9),_0x146f6e[_0x1a4e('0x2d33')](_0x420b32),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x1adc17(_0x1a4e('0x1660')),void 0x0,_0x2327c6),_0x55ff7e);},_0x368e5a[_0x1a4e('0x2d41')]=function(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x251c')](_0x146f6e)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x10f7')](_0x146f6e[_0x1a4e('0x22e5')]),_0x1adc17=_0x368e5a['updateVariableDeclaration'](_0x55ff7e,_0x55ff7e[_0x1a4e('0x2cb')],void 0x0,_0x2327c6);return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2d42')](_0x146f6e,[_0x1adc17])),_0x146f6e);}var _0xf79407=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x146f6e,_0x2327c6),_0x146f6e);return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c96')](_0xf79407),_0x146f6e);},_0x368e5a[_0x1a4e('0x2d43')]=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x250c')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2c92')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')]([_0x2327c6][_0x1a4e('0x9a')](_0x146f6e[_0x1a4e('0x2366')])),_0x146f6e[_0x1a4e('0x2366')])):_0x368e5a['createBlock'](_0x368e5a[_0x1a4e('0x28d1')]([_0x146f6e,_0x2327c6]),!0x0);},_0x368e5a['restoreEnclosingLabel']=function _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17){if(!_0x55ff7e)return _0x2327c6;var _0xf79407=_0x368e5a['updateLabel'](_0x55ff7e,_0x55ff7e[_0x1a4e('0x1bc')],0xe9===_0x55ff7e[_0x1a4e('0x2390')][_0x1a4e('0x146b')]?_0x146f6e(_0x2327c6,_0x55ff7e['statement']):_0x2327c6);return _0x1adc17&&_0x1adc17(_0x55ff7e),_0xf79407;},_0x368e5a['createCallBinding']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=!0x1);var _0xf79407,_0x2c9ec9,_0x420b32=_0x241869(_0x146f6e,0x7);if(_0x368e5a[_0x1a4e('0x239f')](_0x420b32))_0xf79407=_0x368e5a[_0x1a4e('0x2c2c')](),_0x2c9ec9=_0x420b32;else if(0x62===_0x420b32[_0x1a4e('0x146b')])_0xf79407=_0x368e5a[_0x1a4e('0x2c2c')](),_0x2c9ec9=_0x55ff7e<0x2?_0x368e5a['setTextRange'](_0x368e5a['createIdentifier'](_0x1a4e('0x2d44')),_0x420b32):_0x420b32;else if(0x1000&_0x368e5a[_0x1a4e('0x2c65')](_0x420b32))_0xf79407=_0x368e5a['createVoidZero'](),_0x2c9ec9=_0x148940(_0x420b32);else switch(_0x420b32[_0x1a4e('0x146b')]){case 0xbd:_0x1b06ad(_0x420b32['expression'],_0x1adc17)?(_0xf79407=_0x368e5a[_0x1a4e('0x2c27')](_0x2327c6),_0x2c9ec9=_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0xf79407,_0x420b32[_0x1a4e('0x2302')]),_0x420b32[_0x1a4e('0x2302')]),_0x420b32['name']),_0x368e5a[_0x1a4e('0x2d12')](_0x2c9ec9,_0x420b32)):(_0xf79407=_0x420b32['expression'],_0x2c9ec9=_0x420b32);break;case 0xbe:_0x1b06ad(_0x420b32['expression'],_0x1adc17)?(_0xf79407=_0x368e5a[_0x1a4e('0x2c27')](_0x2327c6),_0x2c9ec9=_0x368e5a[_0x1a4e('0x2897')](_0x368e5a['setTextRange'](_0x368e5a['createAssignment'](_0xf79407,_0x420b32['expression']),_0x420b32['expression']),_0x420b32[_0x1a4e('0x24a7')]),_0x368e5a['setTextRange'](_0x2c9ec9,_0x420b32)):(_0xf79407=_0x420b32['expression'],_0x2c9ec9=_0x420b32);break;default:_0xf79407=_0x368e5a['createVoidZero'](),_0x2c9ec9=_0x148940(_0x146f6e);}return{'target':_0x2c9ec9,'thisArg':_0xf79407};},_0x368e5a[_0x1a4e('0x2d45')]=function(_0x146f6e){return _0x146f6e['length']>0xa?_0x368e5a[_0x1a4e('0x2cf6')](_0x146f6e):_0x368e5a[_0x1a4e('0x1727')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d05')]);},_0x368e5a['createExpressionFromEntityName']=function _0x146f6e(_0x2327c6){if(_0x368e5a[_0x1a4e('0x24e9')](_0x2327c6)){var _0x55ff7e=_0x146f6e(_0x2327c6[_0x1a4e('0x5f')]),_0x1adc17=_0x368e5a[_0x1a4e('0x2cf1')](_0x2327c6['right']);return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x55ff7e,_0x1adc17),_0x2327c6);}return _0x368e5a[_0x1a4e('0x2cf1')](_0x2327c6);},_0x368e5a[_0x1a4e('0x2d46')]=_0x326eae,_0x368e5a[_0x1a4e('0x2d47')]=function(_0x2327c6,_0x55ff7e,_0x1adc17){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0x9e:case 0x9f:return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2d48')](_0x146f6e,_0x2327c6),_0x2c9ec9=_0xf79407[_0x1a4e('0x2d49')],_0x420b32=_0xf79407[_0x1a4e('0x2d4a')],_0x1b06ad=_0xf79407[_0x1a4e('0x2d4b')];if(_0x2327c6===_0x2c9ec9){var _0x56674b=[];if(_0x420b32){var _0x359918=_0x368e5a[_0x1a4e('0x2c6e')](_0x420b32['modifiers'],void 0x0,void 0x0,void 0x0,_0x420b32[_0x1a4e('0x111a')],void 0x0,_0x420b32[_0x1a4e('0x8f2')]);_0x368e5a[_0x1a4e('0x2d12')](_0x359918,_0x420b32),_0x368e5a['setOriginalNode'](_0x359918,_0x420b32);var _0x4b524f=_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x179'),_0x359918);_0x56674b[_0x1a4e('0x46')](_0x4b524f);}if(_0x1b06ad){var _0x3755b5=_0x368e5a['createFunctionExpression'](_0x1b06ad['modifiers'],void 0x0,void 0x0,void 0x0,_0x1b06ad[_0x1a4e('0x111a')],void 0x0,_0x1b06ad[_0x1a4e('0x8f2')]);_0x368e5a['setTextRange'](_0x3755b5,_0x1b06ad),_0x368e5a[_0x1a4e('0x2d25')](_0x3755b5,_0x1b06ad);var _0x4a3ff2=_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x17a'),_0x3755b5);_0x56674b[_0x1a4e('0x46')](_0x4a3ff2);}_0x56674b[_0x1a4e('0x46')](_0x368e5a['createPropertyAssignment'](_0x1a4e('0x1359'),_0x368e5a['createTrue']())),_0x56674b['push'](_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x135a'),_0x368e5a[_0x1a4e('0x2bd4')]()));var _0x33643a=_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfb5')),_0x1a4e('0x2')),void 0x0,[_0x55ff7e,_0x326eae(_0x2327c6[_0x1a4e('0x2cb')]),_0x368e5a['createObjectLiteral'](_0x56674b,_0x1adc17)]),_0x2c9ec9);return _0x368e5a[_0x1a4e('0x2c07')](_0x33643a);}}(_0x2327c6[_0x1a4e('0x13')],_0x55ff7e,_0x1adc17,!!_0x2327c6['multiLine']);case 0x113:return function(_0x2327c6,_0x55ff7e){return _0x368e5a['aggregateTransformFlags'](_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x146f6e(_0x55ff7e,_0x2327c6[_0x1a4e('0x2cb')],_0x2327c6[_0x1a4e('0x2cb')]),_0x2327c6[_0x1a4e('0x236a')]),_0x2327c6),_0x2327c6));}(_0x55ff7e,_0x1adc17);case 0x114:return function(_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2c07')](_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2d07')](_0x146f6e(_0x55ff7e,_0x2327c6['name'],_0x2327c6[_0x1a4e('0x2cb')]),_0x368e5a[_0x1a4e('0x28ca')](_0x2327c6[_0x1a4e('0x2cb')])),_0x2327c6),_0x2327c6));}(_0x55ff7e,_0x1adc17);case 0x9c:return function(_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2c07')](_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x146f6e(_0x55ff7e,_0x2327c6[_0x1a4e('0x2cb')],_0x2327c6[_0x1a4e('0x2cb')]),_0x368e5a['setOriginalNode'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createFunctionExpression'](_0x2327c6[_0x1a4e('0x242d')],_0x2327c6['asteriskToken'],void 0x0,void 0x0,_0x2327c6[_0x1a4e('0x111a')],void 0x0,_0x2327c6[_0x1a4e('0x8f2')]),_0x2327c6),_0x2327c6)),_0x2327c6),_0x2327c6));}(_0x55ff7e,_0x1adc17);}},_0x368e5a[_0x1a4e('0x2d4c')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x359918(_0x368e5a,_0x146f6e,_0x2327c6,0xc000);},_0x368e5a[_0x1a4e('0x2d4d')]=function(_0x146f6e){return 0x0!=(0x8000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e));},_0x368e5a['getLocalName']=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x359918(_0x368e5a,_0x146f6e,_0x2327c6,0x4000);},_0x368e5a['isLocalName']=function(_0x146f6e){return 0x0!=(0x4000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e));},_0x368e5a[_0x1a4e('0x2d4e')]=_0x56674b,_0x368e5a['isExportName']=function(_0x146f6e){return 0x0!=(0x2000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e));},_0x368e5a[_0x1a4e('0x2d4f')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x359918(_0x368e5a,_0x146f6e,_0x2327c6);},_0x368e5a[_0x1a4e('0x2d50')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e&&_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x1)?_0x4b524f(_0x146f6e,_0x359918(_0x2327c6),_0x55ff7e,_0x1adc17):_0x56674b(_0x2327c6,_0x55ff7e,_0x1adc17);},_0x368e5a[_0x1a4e('0x2d51')]=_0x4b524f,_0x368e5a['convertToFunctionBody']=function(_0x146f6e,_0x2327c6){return _0x368e5a['isBlock'](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2ca3')](_0x146f6e),_0x146f6e)],_0x2327c6),_0x146f6e);},_0x368e5a[_0x1a4e('0x2d52')]=function(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x8f2')])return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();var _0x2327c6=_0x368e5a[_0x1a4e('0x2c6e')](_0x146f6e[_0x1a4e('0x242d')],_0x146f6e[_0x1a4e('0x23fc')],_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x23d7')],_0x146f6e[_0x1a4e('0x111a')],_0x146f6e[_0x1a4e('0x40')],_0x146f6e['body']);return _0x368e5a[_0x1a4e('0x2d25')](_0x2327c6,_0x146f6e),_0x368e5a[_0x1a4e('0x2d12')](_0x2327c6,_0x146f6e),_0x368e5a[_0x1a4e('0x2d53')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2d17')](_0x2327c6,!0x0),_0x368e5a[_0x1a4e('0x2c07')](_0x2327c6),_0x2327c6;},_0x368e5a['addPrologue']=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x33643a(_0x368e5a,_0x146f6e,_0x4a3ff2(_0x368e5a,_0x146f6e,_0x2327c6),_0x55ff7e);},_0x368e5a['addStandardPrologue']=_0x4a3ff2,_0x368e5a['addCustomPrologue']=_0x33643a,_0x368e5a['findUseStrictPrologue']=_0x188305,_0x368e5a[_0x1a4e('0x2d54')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1721')](_0x146f6e);return void 0x0!==_0x2327c6&&_0x368e5a[_0x1a4e('0x2877')](_0x2327c6)&&_0x3755b5(_0x2327c6);},_0x368e5a[_0x1a4e('0x2d55')]=function(_0x146f6e){return _0x188305(_0x146f6e)?_0x146f6e:_0x368e5a['setTextRange'](_0x368e5a['createNodeArray']([_0x5bec8c(_0x368e5a[_0x1a4e('0x2c96')](_0x368e5a[_0x1a4e('0x2896')]('use\x20strict')))][_0x1a4e('0x9a')](_0x146f6e)),_0x146f6e);},_0x368e5a[_0x1a4e('0x2c19')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return 0xc3===_0x368e5a[_0x1a4e('0x24fe')](_0x2327c6)[_0x1a4e('0x146b')]?_0x2327c6:function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2411')](0xcc,_0x146f6e),_0x2c9ec9=_0x368e5a['getOperatorAssociativity'](0xcc,_0x146f6e),_0x420b32=_0x368e5a['skipPartiallyEmittedExpressions'](_0x2327c6);if(!_0x55ff7e&&0xc5===_0x2327c6[_0x1a4e('0x146b')]&&_0xf79407>0x4)return!0x0;var _0x1b06ad=_0x368e5a['getExpressionPrecedence'](_0x420b32);switch(_0x368e5a[_0x1a4e('0x166e')](_0x1b06ad,_0xf79407)){case-0x1:return!(!_0x55ff7e&&0x1===_0x2c9ec9&&0xcf===_0x2327c6[_0x1a4e('0x146b')]);case 0x1:return!0x1;case 0x0:if(_0x55ff7e)return 0x1===_0x2c9ec9;if(_0x368e5a['isBinaryExpression'](_0x420b32)&&_0x420b32['operatorToken']['kind']===_0x146f6e){if(function(_0x368e5a){return 0x28===_0x368e5a||0x32===_0x368e5a||0x31===_0x368e5a||0x33===_0x368e5a;}(_0x146f6e))return!0x1;if(0x26===_0x146f6e){var _0x326eae=_0x1adc17?_0x5d1075(_0x1adc17):0x0;if(_0x368e5a[_0x1a4e('0x253e')](_0x326eae)&&_0x326eae===_0x5d1075(_0x420b32))return!0x1;}}var _0x56674b=_0x368e5a['getExpressionAssociativity'](_0x420b32);return 0x0===_0x56674b;}}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17)?_0x368e5a[_0x1a4e('0x2c6d')](_0x2327c6):_0x2327c6;},_0x368e5a[_0x1a4e('0x2c1a')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2411')](0xcd,0x38),_0x55ff7e=_0x368e5a[_0x1a4e('0x24fe')](_0x146f6e),_0x1adc17=_0x368e5a['getExpressionPrecedence'](_0x55ff7e);return-0x1===_0x368e5a['compareValues'](_0x1adc17,_0x2327c6)?_0x368e5a[_0x1a4e('0x2c6d')](_0x146f6e):_0x146f6e;},_0x368e5a[_0x1a4e('0x2c1b')]=function(_0x146f6e){return _0x4665b7(_0x368e5a['skipPartiallyEmittedExpressions'](_0x146f6e))?_0x368e5a['createParen'](_0x146f6e):_0x146f6e;},_0x368e5a[_0x1a4e('0x2d56')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x24fe')](_0x146f6e),_0x55ff7e=_0x4665b7(_0x2327c6);if(!_0x55ff7e)switch(_0x1ccc7f(_0x2327c6,!0x1)[_0x1a4e('0x146b')]){case 0xd1:case 0xc4:_0x55ff7e=!0x0;}return _0x55ff7e?_0x368e5a['createParen'](_0x146f6e):_0x146f6e;},_0x368e5a[_0x1a4e('0x2c17')]=function(_0x146f6e){var _0x2327c6=_0x1ccc7f(_0x146f6e,!0x0);switch(_0x2327c6['kind']){case 0xbf:return _0x368e5a[_0x1a4e('0x2c6d')](_0x146f6e);case 0xc0:return _0x2327c6[_0x1a4e('0x2373')]?_0x146f6e:_0x368e5a[_0x1a4e('0x2c6d')](_0x146f6e);}return _0x148940(_0x146f6e);},_0x368e5a['parenthesizeForAccess']=_0x148940,_0x368e5a[_0x1a4e('0x2d57')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2430')](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createParen'](_0x146f6e),_0x146f6e);},_0x368e5a[_0x1a4e('0x2c18')]=function(_0x146f6e){return _0x368e5a['isUnaryExpression'](_0x146f6e)?_0x146f6e:_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c6d')](_0x146f6e),_0x146f6e);},_0x368e5a['parenthesizeListElements']=function(_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0;_0x55ff7e<_0x146f6e['length'];_0x55ff7e++){var _0x1adc17=_0x1495ee(_0x146f6e[_0x55ff7e]);void 0x0===_0x2327c6&&_0x1adc17===_0x146f6e[_0x55ff7e]||(void 0x0===_0x2327c6&&(_0x2327c6=_0x146f6e[_0x1a4e('0x78')](0x0,_0x55ff7e)),_0x2327c6['push'](_0x1adc17));}return void 0x0!==_0x2327c6?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x2327c6,_0x146f6e[_0x1a4e('0x265d')]),_0x146f6e):_0x146f6e;},_0x368e5a[_0x1a4e('0x2c10')]=_0x1495ee,_0x368e5a['parenthesizeExpressionForExpressionStatement']=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x24fe')](_0x146f6e);if(_0x368e5a[_0x1a4e('0x2372')](_0x2327c6)){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2302')],_0x1adc17=_0x368e5a['skipPartiallyEmittedExpressions'](_0x55ff7e)['kind'];if(0xc4===_0x1adc17||0xc5===_0x1adc17){var _0xf79407=_0x368e5a['getMutableClone'](_0x2327c6);return _0xf79407[_0x1a4e('0x2302')]=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c6d')](_0x55ff7e),_0x55ff7e),_0x179763(_0x146f6e,_0xf79407,0x4);}}var _0x2c9ec9=_0x1ccc7f(_0x2327c6,!0x1)[_0x1a4e('0x146b')];return 0xbc===_0x2c9ec9||0xc4===_0x2c9ec9?_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c6d')](_0x146f6e),_0x146f6e):_0x146f6e;},_0x368e5a['parenthesizeConditionalTypeMember']=_0x208385,_0x368e5a[_0x1a4e('0x2c15')]=_0x342f57,_0x368e5a[_0x1a4e('0x2c13')]=function(_0x146f6e){switch(_0x146f6e['kind']){case 0xa7:case 0xb3:case 0xb0:return _0x368e5a[_0x1a4e('0x2c56')](_0x146f6e);}return _0x342f57(_0x146f6e);},_0x368e5a[_0x1a4e('0x2d58')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x28d1')](_0x368e5a[_0x1a4e('0x170d')](_0x146f6e,_0x342f57));},_0x368e5a[_0x1a4e('0x2c12')]=function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e)){for(var _0x2327c6=[],_0x55ff7e=0x0;_0x55ff7e<_0x146f6e['length'];++_0x55ff7e){var _0x1adc17=_0x146f6e[_0x55ff7e];_0x2327c6['push'](0x0===_0x55ff7e&&_0x368e5a[_0x1a4e('0x2554')](_0x1adc17)&&_0x1adc17[_0x1a4e('0x23d7')]?_0x368e5a[_0x1a4e('0x2c56')](_0x1adc17):_0x1adc17);}return _0x368e5a[_0x1a4e('0x28d1')](_0x2327c6);}},_0x368e5a[_0x1a4e('0x2d59')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x250c')](_0x146f6e)||!_0x4665b7(_0x146f6e)&&0xbc!==_0x1ccc7f(_0x146f6e,!0x1)[_0x1a4e('0x146b')]?_0x146f6e:_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c6d')](_0x146f6e),_0x146f6e);},_0x368e5a[_0x1a4e('0x2c0f')]=_0x4665b7,function(_0x368e5a){_0x368e5a[_0x368e5a['Parentheses']=0x1]=_0x1a4e('0x2d5a'),_0x368e5a[_0x368e5a[_0x1a4e('0x2d5b')]=0x2]=_0x1a4e('0x2d5b'),_0x368e5a[_0x368e5a[_0x1a4e('0x2d5c')]=0x4]='PartiallyEmittedExpressions',_0x368e5a[_0x368e5a[_0x1a4e('0x18f3')]=0x7]=_0x1a4e('0x18f3');}(_0x368e5a['OuterExpressionKinds']||(_0x368e5a[_0x1a4e('0x2d5d')]={})),_0x368e5a['isOuterExpression']=_0x19a401,_0x368e5a[_0x1a4e('0x2aa7')]=_0x241869,_0x368e5a[_0x1a4e('0x2d5e')]=_0xe13bfb,_0x368e5a[_0x1a4e('0x2d5f')]=_0x179763,_0x368e5a[_0x1a4e('0x2d60')]=_0x5bec8c,_0x368e5a[_0x1a4e('0x2d61')]=_0x47bdeb,_0x368e5a['getOrCreateExternalHelpersModuleNameIfNeeded']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x2327c6[_0x1a4e('0x2742')]&&_0x368e5a[_0x1a4e('0x2346')](_0x146f6e,_0x2327c6)){var _0xf79407=_0x47bdeb(_0x146f6e);if(_0xf79407)return _0xf79407;var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2348')](_0x2327c6),_0x420b32=(_0x55ff7e||_0x2327c6['esModuleInterop']&&_0x1adc17)&&_0x2c9ec9!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1308')]&&_0x2c9ec9!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')]&&_0x2c9ec9!==_0x368e5a['ModuleKind'][_0x1a4e('0x1a34')];if(!_0x420b32){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2d22')](_0x146f6e);if(_0x1b06ad)for(var _0x326eae=0x0,_0x56674b=_0x1b06ad;_0x326eae<_0x56674b['length'];_0x326eae++)if(!_0x56674b[_0x326eae][_0x1a4e('0x2d62')]){_0x420b32=!0x0;break;}}if(_0x420b32){var _0x359918=_0x368e5a[_0x1a4e('0x24d0')](_0x146f6e,_0x368e5a[_0x1a4e('0x22f0')]),_0x4b524f=_0x368e5a[_0x1a4e('0x2d11')](_0x359918);return _0x4b524f[_0x1a4e('0x2d63')]||(_0x4b524f[_0x1a4e('0x2d63')]=_0x368e5a['createUniqueName'](_0x368e5a[_0x1a4e('0x22e3')]));}}},_0x368e5a[_0x1a4e('0x2d64')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2982')](_0x146f6e);if(_0x55ff7e&&!_0x368e5a[_0x1a4e('0x23c8')](_0x146f6e)){var _0x1adc17=_0x55ff7e[_0x1a4e('0x2cb')];return _0x368e5a[_0x1a4e('0x2bd0')](_0x1adc17)?_0x1adc17:_0x368e5a[_0x1a4e('0x2893')](_0x368e5a[_0x1a4e('0x2330')](_0x2327c6,_0x1adc17)||_0x368e5a[_0x1a4e('0x2353')](_0x1adc17));}return 0xf9===_0x146f6e[_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x23c6')]?_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e):0xff===_0x146f6e[_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x23c5')]?_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e):void 0x0;},_0x368e5a[_0x1a4e('0x2d65')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x23c4')](_0x146f6e);if(0xa===_0x2c9ec9['kind'])return function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x3cc3d0(_0x2327c6[_0x1a4e('0x243f')](_0x368e5a),_0x146f6e,_0x55ff7e);}(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407)||function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2cef')]&&_0x2327c6[_0x1a4e('0x2cef')][_0x1a4e('0x179')](_0x146f6e[_0x1a4e('0xe04')]);return _0x55ff7e&&_0x368e5a['createLiteral'](_0x55ff7e);}(_0x2c9ec9,_0x2327c6)||_0x368e5a[_0x1a4e('0x28ca')](_0x2c9ec9);},_0x368e5a['tryGetModuleNameFromFile']=_0x3cc3d0,_0x368e5a['getInitializerOfBindingOrAssignmentElement']=function _0x146f6e(_0x2327c6){if(_0x368e5a['isDeclarationBindingElement'](_0x2327c6))return _0x2327c6[_0x1a4e('0x236a')];if(_0x368e5a[_0x1a4e('0x23b4')](_0x2327c6)){var _0x55ff7e=_0x2327c6['initializer'];return _0x368e5a['isAssignmentExpression'](_0x55ff7e,!0x0)?_0x55ff7e[_0x1a4e('0x5d')]:void 0x0;}return _0x368e5a[_0x1a4e('0x29a4')](_0x2327c6)?_0x2327c6[_0x1a4e('0x2471')]:_0x368e5a[_0x1a4e('0x287a')](_0x2327c6,!0x0)?_0x2327c6[_0x1a4e('0x5d')]:_0x368e5a[_0x1a4e('0x2ac8')](_0x2327c6)?_0x146f6e(_0x2327c6[_0x1a4e('0x2302')]):void 0x0;},_0x368e5a[_0x1a4e('0x2d66')]=_0x1cde19,_0x368e5a[_0x1a4e('0x2d67')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x97:case 0xba:return _0x368e5a[_0x1a4e('0x25f9')];case 0xd0:case 0x115:return _0x368e5a;}},_0x368e5a[_0x1a4e('0x2d68')]=function(_0x146f6e){switch(_0x146f6e['kind']){case 0xba:if(_0x146f6e[_0x1a4e('0x81a')]){var _0x2327c6=_0x146f6e[_0x1a4e('0x81a')];return _0x368e5a[_0x1a4e('0x23e8')](_0x2327c6)&&_0x610607(_0x2327c6[_0x1a4e('0x2302')])?_0x2327c6[_0x1a4e('0x2302')]:_0x2327c6;}break;case 0x113:if(_0x146f6e[_0x1a4e('0x2cb')])return _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['isComputedPropertyName'](_0x2327c6)&&_0x610607(_0x2327c6[_0x1a4e('0x2302')])?_0x2327c6['expression']:_0x2327c6;break;case 0x115:return _0x146f6e[_0x1a4e('0x2cb')];}var _0x55ff7e=_0x1cde19(_0x146f6e);if(_0x55ff7e&&_0x368e5a[_0x1a4e('0x254b')](_0x55ff7e))return _0x368e5a[_0x1a4e('0x23e8')](_0x55ff7e)&&_0x610607(_0x55ff7e['expression'])?_0x55ff7e[_0x1a4e('0x2302')]:_0x55ff7e;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2d69'));},_0x368e5a[_0x1a4e('0x2d6a')]=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xb8:case 0xb9:case 0xbb:return _0x368e5a[_0x1a4e('0x2398')];case 0xbc:return _0x368e5a['properties'];}},_0x368e5a['convertToArrayAssignmentElement']=_0x28a4a3,_0x368e5a[_0x1a4e('0x2d6b')]=_0x185450,_0x368e5a['convertToAssignmentPattern']=_0x152213,_0x368e5a['convertToObjectAssignmentPattern']=_0x2dba81,_0x368e5a[_0x1a4e('0x2d6c')]=_0x3f48a4,_0x368e5a[_0x1a4e('0x2d6d')]=_0xb81f53;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e=_0x368e5a['or'](_0x368e5a[_0x1a4e('0x2553')],_0x368e5a[_0x1a4e('0x24ea')]);function _0x2327c6(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(void 0x0===_0x146f6e||void 0x0===_0x2327c6)return _0x146f6e;_0x368e5a[_0x1a4e('0x2c07')](_0x146f6e);var _0xf79407,_0x2c9ec9=_0x2327c6(_0x146f6e);return _0x2c9ec9===_0x146f6e?_0x146f6e:void 0x0!==_0x2c9ec9?(_0xf79407=_0x368e5a[_0x1a4e('0x15')](_0x2c9ec9)?(_0x1adc17||function(_0x146f6e){return _0x368e5a['Debug']['assert'](_0x146f6e['length']<=0x1,_0x1a4e('0x2d6e')),_0x368e5a[_0x1a4e('0x2d6f')](_0x146f6e);})(_0x2c9ec9):_0x2c9ec9,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2a1b')](_0xf79407,_0x55ff7e),_0x368e5a[_0x1a4e('0x2c07')](_0xf79407),_0xf79407):void 0x0;}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(void 0x0===_0x146f6e||void 0x0===_0x2327c6)return _0x146f6e;var _0x2c9ec9,_0x420b32=_0x146f6e[_0x1a4e('0x1e')];(void 0x0===_0x1adc17||_0x1adc17<0x0)&&(_0x1adc17=0x0),(void 0x0===_0xf79407||_0xf79407>_0x420b32-_0x1adc17)&&(_0xf79407=_0x420b32-_0x1adc17),(_0x1adc17>0x0||_0xf79407<_0x420b32)&&(_0x2c9ec9=_0x368e5a[_0x1a4e('0x28d1')]([],_0x146f6e[_0x1a4e('0x265d')]&&_0x1adc17+_0xf79407===_0x420b32));for(var _0x1b06ad=0x0;_0x1b06ad<_0xf79407;_0x1b06ad++){var _0x326eae=_0x146f6e[_0x1b06ad+_0x1adc17];_0x368e5a['aggregateTransformFlags'](_0x326eae);var _0x56674b=void 0x0!==_0x326eae?_0x2327c6(_0x326eae):void 0x0;if((void 0x0!==_0x2c9ec9||void 0x0===_0x56674b||_0x56674b!==_0x326eae)&&(void 0x0===_0x2c9ec9&&(_0x2c9ec9=_0x368e5a[_0x1a4e('0x28d1')](_0x146f6e['slice'](0x0,_0x1b06ad),_0x146f6e[_0x1a4e('0x265d')]),_0x368e5a[_0x1a4e('0x2d12')](_0x2c9ec9,_0x146f6e)),_0x56674b))if(_0x368e5a[_0x1a4e('0x15')](_0x56674b))for(var _0x45c54e=0x0,_0x518c75=_0x56674b;_0x45c54e<_0x518c75[_0x1a4e('0x1e')];_0x45c54e++){var _0x4cdb8c=_0x518c75[_0x45c54e];_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2a1b')](_0x4cdb8c,_0x55ff7e),_0x368e5a[_0x1a4e('0x2c07')](_0x4cdb8c),_0x2c9ec9[_0x1a4e('0x46')](_0x4cdb8c);}else _0x368e5a['Debug'][_0x1a4e('0x2a1b')](_0x56674b,_0x55ff7e),_0x368e5a[_0x1a4e('0x2c07')](_0x56674b),_0x2c9ec9[_0x1a4e('0x46')](_0x56674b);}return _0x2c9ec9||_0x146f6e;}function _0x1adc17(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){_0x1adc17[_0x1a4e('0x2d70')](),_0x146f6e=_0x55ff7e(_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x2569')],_0xf79407),_0x2c9ec9&&!_0x368e5a['startsWithUseStrict'](_0x146f6e)&&(_0x146f6e=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')]([_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2896')](_0x1a4e('0x2d38')))][_0x1a4e('0x9a')](_0x146f6e)),_0x146f6e));var _0x420b32=_0x1adc17[_0x1a4e('0x2d72')]();return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createNodeArray'](_0x368e5a['concatenate'](_0x420b32,_0x146f6e)),_0x146f6e);}function _0xf79407(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){void 0x0===_0xf79407&&(_0xf79407=_0x55ff7e),_0x1adc17[_0x1a4e('0x2d70')]();var _0x2c9ec9=_0xf79407(_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x2405')]);return _0x1adc17['suspendLexicalEnvironment'](),_0x2c9ec9;}function _0x2c9ec9(_0x146f6e,_0x55ff7e,_0x1adc17){_0x1adc17[_0x1a4e('0x2d73')]();var _0xf79407=_0x2327c6(_0x146f6e,_0x55ff7e,_0x368e5a[_0x1a4e('0x2562')]),_0x2c9ec9=_0x1adc17['endLexicalEnvironment']();if(_0x368e5a['some'](_0x2c9ec9)){var _0x420b32=_0x368e5a[_0x1a4e('0x2d74')](_0xf79407),_0x1b06ad=_0x368e5a[_0x1a4e('0x2d75')](_0x420b32['statements'],_0x2c9ec9);return _0x368e5a['updateBlock'](_0x420b32,_0x1b06ad);}return _0xf79407;}_0x368e5a[_0x1a4e('0x2d76')]=_0x2327c6,_0x368e5a[_0x1a4e('0x2d77')]=_0x55ff7e,_0x368e5a[_0x1a4e('0x2d78')]=_0x1adc17,_0x368e5a[_0x1a4e('0x2d79')]=_0xf79407,_0x368e5a['visitFunctionBody']=_0x2c9ec9,_0x368e5a[_0x1a4e('0x28cd')]=function(_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x534b9f){if(void 0x0===_0x56674b&&(_0x56674b=_0x55ff7e),void 0x0!==_0x420b32){var _0x2861cf=_0x420b32['kind'];if(_0x2861cf>0x0&&_0x2861cf<=0x93||0xb2===_0x2861cf)return _0x420b32;switch(_0x2861cf){case 0x48:return _0x368e5a[_0x1a4e('0x2c0d')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2365')],_0x1b06ad,_0x146f6e));case 0x94:return _0x368e5a[_0x1a4e('0x2c30')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x5f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254a')]),_0x2327c6(_0x420b32[_0x1a4e('0x5d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]));case 0x95:return _0x368e5a[_0x1a4e('0x2c32')](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x96:return _0x368e5a[_0x1a4e('0x2c34')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x2327c6(_0x420b32[_0x1a4e('0x2364')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32[_0x1a4e('0x8')],_0x1b06ad,_0x368e5a['isTypeNode']));case 0x97:return _0x368e5a[_0x1a4e('0x2d7a')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32['modifiers'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32['dotDotDotToken'],_0x534b9f,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254c')]),_0x2327c6(_0x420b32[_0x1a4e('0x23ca')],_0x534b9f,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x98:return _0x368e5a[_0x1a4e('0x2d7c')](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x99:return _0x368e5a[_0x1a4e('0x2c36')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254b')]),_0x2327c6(_0x420b32[_0x1a4e('0x23ca')],_0x534b9f,_0x368e5a['isToken']),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x9a:return _0x368e5a[_0x1a4e('0x2c38')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32['modifiers'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32['name'],_0x1b06ad,_0x368e5a['isPropertyName']),_0x2327c6(_0x420b32['questionToken'],_0x534b9f,_0x368e5a['isToken']),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a['isTypeNode']),_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x9b:return _0x368e5a[_0x1a4e('0x2c3a')](_0x420b32,_0x56674b(_0x420b32['typeParameters'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0x56674b(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x368e5a['isParameterDeclaration']),_0x2327c6(_0x420b32['type'],_0x1b06ad,_0x368e5a['isTypeNode']),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254b')]),_0x2327c6(_0x420b32[_0x1a4e('0x23ca')],_0x534b9f,_0x368e5a['isToken']));case 0x9c:return _0x368e5a[_0x1a4e('0x2d7d')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x23fc')],_0x534b9f,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254b')]),_0x2327c6(_0x420b32[_0x1a4e('0x23ca')],_0x534b9f,_0x368e5a[_0x1a4e('0x2d7b')]),_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0xf79407(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x326eae,_0x56674b),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2c9ec9(_0x420b32['body'],_0x1b06ad,_0x326eae));case 0x9d:return _0x368e5a[_0x1a4e('0x2c3d')](_0x420b32,_0x56674b(_0x420b32['decorators'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32['modifiers'],_0x1b06ad,_0x368e5a['isModifier']),_0xf79407(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x326eae,_0x56674b),_0x2c9ec9(_0x420b32['body'],_0x1b06ad,_0x326eae));case 0x9e:return _0x368e5a['updateGetAccessor'](_0x420b32,_0x56674b(_0x420b32['decorators'],_0x1b06ad,_0x368e5a['isDecorator']),_0x56674b(_0x420b32['modifiers'],_0x1b06ad,_0x368e5a['isModifier']),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254b')]),_0xf79407(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x326eae,_0x56674b),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2c9ec9(_0x420b32['body'],_0x1b06ad,_0x326eae));case 0x9f:return _0x368e5a[_0x1a4e('0x2c40')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254b')]),_0xf79407(_0x420b32['parameters'],_0x1b06ad,_0x326eae,_0x56674b),_0x2c9ec9(_0x420b32[_0x1a4e('0x8f2')],_0x1b06ad,_0x326eae));case 0xa0:return _0x368e5a[_0x1a4e('0x2c42')](_0x420b32,_0x56674b(_0x420b32['typeParameters'],_0x1b06ad,_0x368e5a['isTypeParameterDeclaration']),_0x56674b(_0x420b32['parameters'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2405')]),_0x2327c6(_0x420b32['type'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xa1:return _0x368e5a[_0x1a4e('0x2c44')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a['isTypeParameterDeclaration']),_0x56674b(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x368e5a['isParameterDeclaration']),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xa2:return _0x368e5a[_0x1a4e('0x2c45')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a['isDecorator']),_0x56674b(_0x420b32['modifiers'],_0x1b06ad,_0x368e5a['isModifier']),_0x56674b(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2405')]),_0x2327c6(_0x420b32['type'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xa3:return _0x368e5a[_0x1a4e('0x2d7e')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2667')],_0x1b06ad),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a['isTypeNode']));case 0xa4:return _0x368e5a[_0x1a4e('0x2d7f')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0xe7d')],_0x1b06ad,_0x368e5a['isEntityName']),_0x56674b(_0x420b32[_0x1a4e('0x2365')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xa5:return _0x368e5a[_0x1a4e('0x2c47')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0x56674b(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2405')]),_0x2327c6(_0x420b32['type'],_0x1b06ad,_0x368e5a['isTypeNode']));case 0xa6:return _0x368e5a[_0x1a4e('0x2c49')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0x56674b(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2405')]),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a['isTypeNode']));case 0xa7:return _0x368e5a[_0x1a4e('0x2c4b')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x25fb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254a')]));case 0xa8:return _0x368e5a['updateTypeLiteralNode'](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2369')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2550')]));case 0xa9:return _0x368e5a[_0x1a4e('0x2c4c')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2388')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xaa:return _0x368e5a[_0x1a4e('0x2c4d')](_0x420b32,_0x56674b(_0x420b32['elementTypes'],_0x1b06ad,_0x368e5a['isTypeNode']));case 0xab:return _0x368e5a['updateOptionalTypeNode'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xac:return _0x368e5a['updateRestTypeNode'](_0x420b32,_0x2327c6(_0x420b32['type'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xad:return _0x368e5a[_0x1a4e('0x2d80')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2380')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xae:return _0x368e5a['updateIntersectionTypeNode'](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2380')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xaf:return _0x368e5a[_0x1a4e('0x2c54')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x25fd')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32[_0x1a4e('0x25fe')],_0x1b06ad,_0x368e5a['isTypeNode']),_0x2327c6(_0x420b32['trueType'],_0x1b06ad,_0x368e5a['isTypeNode']),_0x2327c6(_0x420b32[_0x1a4e('0x266a')],_0x1b06ad,_0x368e5a['isTypeNode']));case 0xb0:return _0x368e5a[_0x1a4e('0x2d81')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2668')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]));case 0xb7:return _0x368e5a[_0x1a4e('0x2c55')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2300')],_0x1b06ad,_0x368e5a['isTypeNode']),_0x2327c6(_0x420b32[_0x1a4e('0x2600')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254a')]),_0x55ff7e(_0x420b32[_0x1a4e('0x2365')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x420b32[_0x1a4e('0x29fb')]);case 0xb1:return _0x368e5a[_0x1a4e('0x2c57')](_0x420b32,_0x2327c6(_0x420b32['type'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xb3:return _0x368e5a[_0x1a4e('0x2c58')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xb4:return _0x368e5a[_0x1a4e('0x2c59')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2601')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32['indexType'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xb5:return _0x368e5a['updateMappedTypeNode'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2666')],_0x534b9f,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32[_0x1a4e('0x2668')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0x2327c6(_0x420b32[_0x1a4e('0x23ca')],_0x534b9f,_0x368e5a['isToken']),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xb6:return _0x368e5a['updateLiteralTypeNode'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2301')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xb8:return _0x368e5a[_0x1a4e('0x2c5d')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2398')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a6')]));case 0xb9:return _0x368e5a[_0x1a4e('0x2d82')](_0x420b32,_0x56674b(_0x420b32['elements'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2556')]));case 0xba:return _0x368e5a[_0x1a4e('0x2d83')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x25f9')],_0x534b9f,_0x368e5a['isToken']),_0x2327c6(_0x420b32[_0x1a4e('0x81a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254b')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254c')]),_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xbb:return _0x368e5a[_0x1a4e('0x2c61')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2398')],_0x1b06ad,_0x368e5a['isExpression']));case 0xbc:return _0x368e5a[_0x1a4e('0x2c63')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x13')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2552')]));case 0xbd:return _0x368e5a[_0x1a4e('0x2c64')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a['isIdentifier']));case 0xbe:return _0x368e5a[_0x1a4e('0x2c66')](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x24a7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xbf:return _0x368e5a[_0x1a4e('0x2c68')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x56674b(_0x420b32[_0x1a4e('0x2365')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x56674b(_0x420b32[_0x1a4e('0x2373')],_0x1b06ad,_0x368e5a['isExpression']));case 0xc0:return _0x368e5a[_0x1a4e('0x2c69')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x56674b(_0x420b32[_0x1a4e('0x2365')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x56674b(_0x420b32['arguments'],_0x1b06ad,_0x368e5a['isExpression']));case 0xc1:return _0x368e5a['updateTaggedTemplate'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x7ba')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x55ff7e(_0x420b32[_0x1a4e('0x2365')],_0x1b06ad,_0x368e5a['isExpression']),_0x2327c6(_0x420b32[_0x1a4e('0xe19')],_0x1b06ad,_0x368e5a[_0x1a4e('0x255c')]));case 0xc2:return _0x368e5a[_0x1a4e('0x2c6c')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xc3:return _0x368e5a[_0x1a4e('0x2d3a')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xc4:return _0x368e5a['updateFunctionExpression'](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a['isModifier']),_0x2327c6(_0x420b32[_0x1a4e('0x23fc')],_0x534b9f,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0xf79407(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x326eae,_0x56674b),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2c9ec9(_0x420b32['body'],_0x1b06ad,_0x326eae));case 0xc5:return _0x368e5a[_0x1a4e('0x2c71')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0xf79407(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x326eae,_0x56674b),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32['equalsGreaterThanToken'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2c9ec9(_0x420b32[_0x1a4e('0x8f2')],_0x1b06ad,_0x326eae));case 0xc6:return _0x368e5a[_0x1a4e('0x2c73')](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xc7:return _0x368e5a['updateTypeOf'](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a['isExpression']));case 0xc8:return _0x368e5a['updateVoid'](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xc9:return _0x368e5a[_0x1a4e('0x2c77')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xca:return _0x368e5a[_0x1a4e('0x2c79')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x1784')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xcb:return _0x368e5a[_0x1a4e('0x2c7b')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x1784')],_0x1b06ad,_0x368e5a['isExpression']));case 0xcc:return _0x368e5a[_0x1a4e('0x2c7c')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x5f')],_0x1b06ad,_0x368e5a['isExpression']),_0x2327c6(_0x420b32[_0x1a4e('0x5d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x237a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2d7b')]));case 0xcd:return _0x368e5a[_0x1a4e('0x2c7e')](_0x420b32,_0x2327c6(_0x420b32['condition'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x23ca')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32[_0x1a4e('0x2602')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x2603')],_0x1b06ad,_0x368e5a['isToken']),_0x2327c6(_0x420b32[_0x1a4e('0x2604')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xce:return _0x368e5a['updateTemplateExpression'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x10f1')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24e6')]),_0x56674b(_0x420b32[_0x1a4e('0x260e')],_0x1b06ad,_0x368e5a[_0x1a4e('0x250a')]));case 0xcf:return _0x368e5a[_0x1a4e('0x2c86')](_0x420b32,_0x2327c6(_0x420b32['asteriskToken'],_0x534b9f,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xd0:return _0x368e5a[_0x1a4e('0x2c87')](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xd1:return _0x368e5a[_0x1a4e('0x2d84')](_0x420b32,_0x56674b(_0x420b32['modifiers'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a['isIdentifier']),_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0x56674b(_0x420b32['heritageClauses'],_0x1b06ad,_0x368e5a['isHeritageClause']),_0x56674b(_0x420b32[_0x1a4e('0x2369')],_0x1b06ad,_0x368e5a['isClassElement']));case 0xd3:return _0x368e5a['updateExpressionWithTypeArguments'](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2365')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xd4:return _0x368e5a['updateAsExpression'](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a['isExpression']),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xd5:return _0x368e5a['updateNonNullExpression'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xd6:return _0x368e5a[_0x1a4e('0x2d85')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a['isIdentifier']));case 0xd8:return _0x368e5a[_0x1a4e('0x2c90')](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a['isExpression']),_0x2327c6(_0x420b32[_0x1a4e('0x2301')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2541')]));case 0xda:return _0x368e5a[_0x1a4e('0x2c92')](_0x420b32,_0x56674b(_0x420b32['statements'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')]));case 0xdb:return _0x368e5a[_0x1a4e('0x2c94')](_0x420b32,_0x56674b(_0x420b32['modifiers'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x2377')],_0x1b06ad,_0x368e5a[_0x1a4e('0x251c')]));case 0xdd:return _0x368e5a[_0x1a4e('0x2c95')](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a['isExpression']));case 0xde:return _0x368e5a[_0x1a4e('0x2c98')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x2606')],_0x1b06ad,_0x368e5a['isStatement'],_0x368e5a[_0x1a4e('0x2d86')]),_0x2327c6(_0x420b32['elseStatement'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));case 0xdf:return _0x368e5a[_0x1a4e('0x2c9a')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2390')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]),_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xe0:return _0x368e5a[_0x1a4e('0x2c9c')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x2390')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));case 0xe1:return _0x368e5a[_0x1a4e('0x2c9d')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2d87')]),_0x2327c6(_0x420b32[_0x1a4e('0x236b')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32['incrementor'],_0x1b06ad,_0x368e5a['isExpression']),_0x2327c6(_0x420b32[_0x1a4e('0x2390')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));case 0xe2:return _0x368e5a[_0x1a4e('0x2d88')](_0x420b32,_0x2327c6(_0x420b32['initializer'],_0x1b06ad,_0x368e5a['isForInitializer']),_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x2390')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));case 0xe3:return _0x368e5a[_0x1a4e('0x2c9f')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2678')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a['isForInitializer']),_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x2390')],_0x1b06ad,_0x368e5a['isStatement'],_0x368e5a[_0x1a4e('0x2d86')]));case 0xe4:return _0x368e5a[_0x1a4e('0x2ca1')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x1bc')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]));case 0xe5:return _0x368e5a[_0x1a4e('0x2ca2')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x1bc')],_0x1b06ad,_0x368e5a['isIdentifier']));case 0xe6:return _0x368e5a[_0x1a4e('0x2d89')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xe7:return _0x368e5a['updateWith'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x2390')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));case 0xe8:return _0x368e5a[_0x1a4e('0x2ca6')](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6(_0x420b32[_0x1a4e('0x2608')],_0x1b06ad,_0x368e5a['isCaseBlock']));case 0xe9:return _0x368e5a[_0x1a4e('0x2ca8')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x1bc')],_0x1b06ad,_0x368e5a['isIdentifier']),_0x2327c6(_0x420b32[_0x1a4e('0x2390')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));case 0xea:return _0x368e5a[_0x1a4e('0x2d8a')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xeb:return _0x368e5a[_0x1a4e('0x2cab')](_0x420b32,_0x2327c6(_0x420b32['tryBlock'],_0x1b06ad,_0x368e5a[_0x1a4e('0x250c')]),_0x2327c6(_0x420b32[_0x1a4e('0x260a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2d8b')]),_0x2327c6(_0x420b32['finallyBlock'],_0x1b06ad,_0x368e5a['isBlock']));case 0xed:return _0x368e5a[_0x1a4e('0x2cae')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254c')]),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a['isExpression']));case 0xee:return _0x368e5a['updateVariableDeclarationList'](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x22e5')],_0x1b06ad,_0x368e5a[_0x1a4e('0x238d')]));case 0xef:return _0x368e5a[_0x1a4e('0x2d8c')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a['isDecorator']),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x23fc')],_0x534b9f,_0x368e5a[_0x1a4e('0x2d7b')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0xf79407(_0x420b32[_0x1a4e('0x111a')],_0x1b06ad,_0x326eae,_0x56674b),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2c9ec9(_0x420b32[_0x1a4e('0x8f2')],_0x1b06ad,_0x326eae));case 0xf0:return _0x368e5a[_0x1a4e('0x2cb1')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32['modifiers'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0x56674b(_0x420b32[_0x1a4e('0x237f')],_0x1b06ad,_0x368e5a['isHeritageClause']),_0x56674b(_0x420b32[_0x1a4e('0x2369')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2368')]));case 0xf1:return _0x368e5a[_0x1a4e('0x2cb3')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a['isIdentifier']),_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0x56674b(_0x420b32[_0x1a4e('0x237f')],_0x1b06ad,_0x368e5a['isHeritageClause']),_0x56674b(_0x420b32[_0x1a4e('0x2369')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2550')]));case 0xf2:return _0x368e5a[_0x1a4e('0x2cb4')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a['isModifier']),_0x2327c6(_0x420b32['name'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x56674b(_0x420b32[_0x1a4e('0x23d7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24ea')]),_0x2327c6(_0x420b32[_0x1a4e('0x40')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]));case 0xf3:return _0x368e5a[_0x1a4e('0x2cb6')](_0x420b32,_0x56674b(_0x420b32['decorators'],_0x1b06ad,_0x368e5a['isDecorator']),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x56674b(_0x420b32[_0x1a4e('0x2369')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2531')]));case 0xf4:return _0x368e5a['updateModuleDeclaration'](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x2327c6(_0x420b32[_0x1a4e('0x8f2')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2564')]));case 0xf5:return _0x368e5a['updateModuleBlock'](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2366')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')]));case 0xf6:return _0x368e5a['updateCaseBlock'](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2609')],_0x1b06ad,_0x368e5a[_0x1a4e('0x256f')]));case 0xf7:return _0x368e5a['updateNamespaceExportDeclaration'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]));case 0xf8:return _0x368e5a['updateImportEqualsDeclaration'](_0x420b32,_0x56674b(_0x420b32['decorators'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x2327c6(_0x420b32[_0x1a4e('0x236d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x256a')]));case 0xf9:return _0x368e5a[_0x1a4e('0x2cc0')](_0x420b32,_0x56674b(_0x420b32['decorators'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6(_0x420b32[_0x1a4e('0x23c6')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2d8d')]),_0x2327c6(_0x420b32[_0x1a4e('0x23c5')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xfa:return _0x368e5a[_0x1a4e('0x2cc2')](_0x420b32,_0x2327c6(_0x420b32['name'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x2327c6(_0x420b32[_0x1a4e('0x23c7')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2565')]));case 0xfb:return _0x368e5a[_0x1a4e('0x2cc4')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a['isIdentifier']));case 0xfc:return _0x368e5a[_0x1a4e('0x2cc6')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2398')],_0x1b06ad,_0x368e5a['isImportSpecifier']));case 0xfd:return _0x368e5a[_0x1a4e('0x2cc8')](_0x420b32,_0x2327c6(_0x420b32['propertyName'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x2327c6(_0x420b32['name'],_0x1b06ad,_0x368e5a['isIdentifier']));case 0xfe:return _0x368e5a[_0x1a4e('0x2cca')](_0x420b32,_0x56674b(_0x420b32['decorators'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24eb')]),_0x56674b(_0x420b32[_0x1a4e('0x242d')],_0x1b06ad,_0x368e5a['isModifier']),_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0xff:return _0x368e5a[_0x1a4e('0x2ccc')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x232f')],_0x1b06ad,_0x368e5a['isDecorator']),_0x56674b(_0x420b32['modifiers'],_0x1b06ad,_0x368e5a['isModifier']),_0x2327c6(_0x420b32['exportClause'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2523')]),_0x2327c6(_0x420b32[_0x1a4e('0x23c5')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x100:return _0x368e5a[_0x1a4e('0x2d8e')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2398')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2543')]));case 0x101:return _0x368e5a[_0x1a4e('0x2cce')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x81a')],_0x1b06ad,_0x368e5a['isIdentifier']),_0x2327c6(_0x420b32['name'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]));case 0x103:return _0x368e5a[_0x1a4e('0x2cd0')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x104:return _0x368e5a[_0x1a4e('0x2cd7')](_0x420b32,_0x2327c6(_0x420b32['openingElement'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2527')]),_0x56674b(_0x420b32['children'],_0x1b06ad,_0x368e5a[_0x1a4e('0x256c')]),_0x2327c6(_0x420b32[_0x1a4e('0x266e')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2528')]));case 0x105:return _0x368e5a['updateJsxSelfClosingElement'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x132b')],_0x1b06ad,_0x368e5a['isJsxTagNameExpression']),_0x56674b(_0x420b32[_0x1a4e('0x2365')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32[_0x1a4e('0x266d')],_0x1b06ad,_0x368e5a['isJsxAttributes']));case 0x106:return _0x368e5a['updateJsxOpeningElement'](_0x420b32,_0x2327c6(_0x420b32['tagName'],_0x1b06ad,_0x368e5a[_0x1a4e('0x256b')]),_0x56674b(_0x420b32[_0x1a4e('0x2365')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2553')]),_0x2327c6(_0x420b32[_0x1a4e('0x266d')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2a1a')]));case 0x107:return _0x368e5a[_0x1a4e('0x2cdc')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x132b')],_0x1b06ad,_0x368e5a[_0x1a4e('0x256b')]));case 0x108:return _0x368e5a[_0x1a4e('0x2d8f')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2610')],_0x1b06ad,_0x368e5a[_0x1a4e('0x252a')]),_0x56674b(_0x420b32[_0x1a4e('0x6f')],_0x1b06ad,_0x368e5a[_0x1a4e('0x256c')]),_0x2327c6(_0x420b32['closingFragment'],_0x1b06ad,_0x368e5a[_0x1a4e('0x252b')]));case 0x10b:return _0x368e5a[_0x1a4e('0x2cde')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x256d')]));case 0x10c:return _0x368e5a[_0x1a4e('0x2d90')](_0x420b32,_0x56674b(_0x420b32['properties'],_0x1b06ad,_0x368e5a[_0x1a4e('0x28e9')]));case 0x10d:return _0x368e5a[_0x1a4e('0x2ce0')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x10e:return _0x368e5a[_0x1a4e('0x2ce2')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x10f:return _0x368e5a[_0x1a4e('0x2d91')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]),_0x56674b(_0x420b32['statements'],_0x1b06ad,_0x368e5a[_0x1a4e('0x2569')]));case 0x110:return _0x368e5a[_0x1a4e('0x2ce5')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2366')],_0x1b06ad,_0x368e5a['isStatement']));case 0x111:return _0x368e5a['updateHeritageClause'](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2380')],_0x1b06ad,_0x368e5a[_0x1a4e('0x242f')]));case 0x112:return _0x368e5a[_0x1a4e('0x2ce9')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x260b')],_0x1b06ad,_0x368e5a[_0x1a4e('0x238d')]),_0x2327c6(_0x420b32[_0x1a4e('0x260c')],_0x1b06ad,_0x368e5a['isBlock']));case 0x113:return _0x368e5a['updatePropertyAssignment'](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254b')]),_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x114:return _0x368e5a[_0x1a4e('0x2d92')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x2370')]),_0x2327c6(_0x420b32['objectAssignmentInitializer'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x115:return _0x368e5a[_0x1a4e('0x2ceb')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2302')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x116:return _0x368e5a[_0x1a4e('0x2ced')](_0x420b32,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')],_0x1b06ad,_0x368e5a[_0x1a4e('0x254b')]),_0x2327c6(_0x420b32[_0x1a4e('0x236a')],_0x1b06ad,_0x368e5a['isExpression']));case 0x117:return _0x368e5a[_0x1a4e('0x2cee')](_0x420b32,_0x1adc17(_0x420b32[_0x1a4e('0x2366')],_0x1b06ad,_0x326eae));case 0x134:return _0x368e5a[_0x1a4e('0x2cf5')](_0x420b32,_0x2327c6(_0x420b32['expression'],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));case 0x135:return _0x368e5a[_0x1a4e('0x2cf7')](_0x420b32,_0x56674b(_0x420b32[_0x1a4e('0x2398')],_0x1b06ad,_0x368e5a[_0x1a4e('0x24a8')]));default:return _0x420b32;}}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x368e5a,_0x146f6e,_0x2327c6){return _0x368e5a?_0x146f6e(_0x2327c6,_0x368e5a):_0x2327c6;}function _0x2327c6(_0x368e5a,_0x146f6e,_0x2327c6){return _0x368e5a?_0x146f6e(_0x2327c6,_0x368e5a):_0x2327c6;}function _0x55ff7e(_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(void 0x0===_0x55ff7e)return _0x1adc17;var _0x420b32=_0x2c9ec9?_0x2327c6:_0x368e5a[_0x1a4e('0x1727')],_0x1b06ad=_0x2c9ec9||_0xf79407,_0x326eae=_0x55ff7e[_0x1a4e('0x146b')];if(_0x326eae>0x0&&_0x326eae<=0x93)return _0x1adc17;if(_0x326eae>=0xa3&&_0x326eae<=0xb6)return _0x1adc17;var _0x56674b=_0x1adc17;switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xd9:case 0xdc:case 0xd2:case 0xec:case 0x133:break;case 0x94:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x5f')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x5d')],_0xf79407,_0x56674b);break;case 0x95:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b);break;case 0x97:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x232f')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['name'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x40')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x236a')],_0xf79407,_0x56674b);break;case 0x98:_0x56674b=_0x146f6e(_0x55ff7e['expression'],_0xf79407,_0x56674b);break;case 0x99:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x23ca')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x40')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x236a')],_0xf79407,_0x56674b);break;case 0x9a:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x232f')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x40')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x236a')],_0xf79407,_0x56674b);break;case 0x9c:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x232f')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x23d7')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x111a')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['type'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x8f2')],_0xf79407,_0x56674b);break;case 0x9d:_0x56674b=_0x420b32(_0x55ff7e['modifiers'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e['parameters'],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['body'],_0xf79407,_0x56674b);break;case 0x9e:_0x56674b=_0x420b32(_0x55ff7e['decorators'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e['modifiers'],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x111a')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['type'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x8f2')],_0xf79407,_0x56674b);break;case 0x9f:_0x56674b=_0x420b32(_0x55ff7e['decorators'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x111a')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['body'],_0xf79407,_0x56674b);break;case 0xb8:case 0xb9:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2398')],_0x1b06ad,_0x56674b);break;case 0xba:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x81a')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['name'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x236a')],_0xf79407,_0x56674b);break;case 0xbb:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2398')],_0x1b06ad,_0x56674b);break;case 0xbc:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x13')],_0x1b06ad,_0x56674b);break;case 0xbd:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b);break;case 0xbe:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x24a7')],_0xf79407,_0x56674b);break;case 0xbf:case 0xc0:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e['typeArguments'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2373')],_0x1b06ad,_0x56674b);break;case 0xc1:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x7ba')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2365')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['template'],_0xf79407,_0x56674b);break;case 0xc2:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x40')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b);break;case 0xc4:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x23d7')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x111a')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x40')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x8f2')],_0xf79407,_0x56674b);break;case 0xc5:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x23d7')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x111a')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x40')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['body'],_0xf79407,_0x56674b);break;case 0xc3:case 0xc6:case 0xc7:case 0xc8:case 0xc9:case 0xcf:case 0xd0:case 0xd5:_0x56674b=_0x146f6e(_0x55ff7e['expression'],_0xf79407,_0x56674b);break;case 0xca:case 0xcb:_0x56674b=_0x146f6e(_0x55ff7e['operand'],_0xf79407,_0x56674b);break;case 0xcc:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x5f')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x5d')],_0xf79407,_0x56674b);break;case 0xcd:_0x56674b=_0x146f6e(_0x55ff7e['condition'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2602')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['whenFalse'],_0xf79407,_0x56674b);break;case 0xce:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x10f1')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x260e')],_0x1b06ad,_0x56674b);break;case 0xd1:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['name'],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x23d7')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e['heritageClauses'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2369')],_0x1b06ad,_0x56674b);break;case 0xd3:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2365')],_0x1b06ad,_0x56674b);break;case 0xd4:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x40')],_0xf79407,_0x56674b);break;case 0xd8:_0x56674b=_0x146f6e(_0x55ff7e['expression'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['literal'],_0xf79407,_0x56674b);break;case 0xda:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2366')],_0x1b06ad,_0x56674b);break;case 0xdb:_0x56674b=_0x420b32(_0x55ff7e['modifiers'],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2377')],_0xf79407,_0x56674b);break;case 0xdd:_0x56674b=_0x146f6e(_0x55ff7e['expression'],_0xf79407,_0x56674b);break;case 0xde:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2606')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['elseStatement'],_0xf79407,_0x56674b);break;case 0xdf:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2390')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['expression'],_0xf79407,_0x56674b);break;case 0xe0:case 0xe7:_0x56674b=_0x146f6e(_0x55ff7e['expression'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2390')],_0xf79407,_0x56674b);break;case 0xe1:_0x56674b=_0x146f6e(_0x55ff7e['initializer'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x236b')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x236c')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2390')],_0xf79407,_0x56674b);break;case 0xe2:case 0xe3:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x236a')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['statement'],_0xf79407,_0x56674b);break;case 0xe6:case 0xea:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b);break;case 0xe8:_0x56674b=_0x146f6e(_0x55ff7e['expression'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['caseBlock'],_0xf79407,_0x56674b);break;case 0xe9:_0x56674b=_0x146f6e(_0x55ff7e['label'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2390')],_0xf79407,_0x56674b);break;case 0xeb:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2679')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['catchClause'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x267a')],_0xf79407,_0x56674b);break;case 0xed:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x40')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['initializer'],_0xf79407,_0x56674b);break;case 0xee:_0x56674b=_0x420b32(_0x55ff7e['declarations'],_0x1b06ad,_0x56674b);break;case 0xef:_0x56674b=_0x420b32(_0x55ff7e['decorators'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e['modifiers'],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x23d7')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x111a')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x40')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x8f2')],_0xf79407,_0x56674b);break;case 0xf0:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x232f')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e['typeParameters'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x237f')],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e['members'],_0x1b06ad,_0x56674b);break;case 0xf3:_0x56674b=_0x420b32(_0x55ff7e['decorators'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2369')],_0x1b06ad,_0x56674b);break;case 0xf4:_0x56674b=_0x420b32(_0x55ff7e['decorators'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x8f2')],_0xf79407,_0x56674b);break;case 0xf5:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2366')],_0x1b06ad,_0x56674b);break;case 0xf6:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2609')],_0x1b06ad,_0x56674b);break;case 0xf8:_0x56674b=_0x420b32(_0x55ff7e['decorators'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['moduleReference'],_0xf79407,_0x56674b);break;case 0xf9:_0x56674b=_0x420b32(_0x55ff7e['decorators'],_0x1b06ad,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x242d')],_0x1b06ad,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x23c6')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['moduleSpecifier'],_0xf79407,_0x56674b);break;case 0xfa:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['namedBindings'],_0xf79407,_0x56674b);break;case 0xfb:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b);break;case 0xfc:case 0x100:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2398')],_0x1b06ad,_0x56674b);break;case 0xfd:case 0x101:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x81a')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b);break;case 0xfe:_0x56674b=_0x368e5a[_0x1a4e('0x1727')](_0x55ff7e[_0x1a4e('0x232f')],_0xf79407,_0x56674b),_0x56674b=_0x368e5a[_0x1a4e('0x1727')](_0x55ff7e[_0x1a4e('0x242d')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b);break;case 0xff:_0x56674b=_0x368e5a[_0x1a4e('0x1727')](_0x55ff7e[_0x1a4e('0x232f')],_0xf79407,_0x56674b),_0x56674b=_0x368e5a[_0x1a4e('0x1727')](_0x55ff7e['modifiers'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x260d')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x23c5')],_0xf79407,_0x56674b);break;case 0x103:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b);break;case 0x104:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x260f')],_0xf79407,_0x56674b),_0x56674b=_0x368e5a[_0x1a4e('0x1727')](_0x55ff7e['children'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x266e')],_0xf79407,_0x56674b);break;case 0x108:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2610')],_0xf79407,_0x56674b),_0x56674b=_0x368e5a[_0x1a4e('0x1727')](_0x55ff7e[_0x1a4e('0x6f')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2611')],_0xf79407,_0x56674b);break;case 0x105:case 0x106:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x132b')],_0xf79407,_0x56674b),_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2365')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x266d')],_0xf79407,_0x56674b);break;case 0x10c:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x13')],_0x1b06ad,_0x56674b);break;case 0x107:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x132b')],_0xf79407,_0x56674b);break;case 0x10b:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x236a')],_0xf79407,_0x56674b);break;case 0x10d:case 0x10e:_0x56674b=_0x146f6e(_0x55ff7e['expression'],_0xf79407,_0x56674b);break;case 0x10f:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b);case 0x110:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2366')],_0x1b06ad,_0x56674b);break;case 0x111:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2380')],_0x1b06ad,_0x56674b);break;case 0x112:_0x56674b=_0x146f6e(_0x55ff7e['variableDeclaration'],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x260c')],_0xf79407,_0x56674b);break;case 0x113:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e['initializer'],_0xf79407,_0x56674b);break;case 0x114:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2471')],_0xf79407,_0x56674b);break;case 0x115:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b);break;case 0x116:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2cb')],_0xf79407,_0x56674b),_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x236a')],_0xf79407,_0x56674b);break;case 0x117:_0x56674b=_0x420b32(_0x55ff7e['statements'],_0x1b06ad,_0x56674b);break;case 0x134:_0x56674b=_0x146f6e(_0x55ff7e[_0x1a4e('0x2302')],_0xf79407,_0x56674b);break;case 0x135:_0x56674b=_0x420b32(_0x55ff7e[_0x1a4e('0x2398')],_0x1b06ad,_0x56674b);}return _0x56674b;}function _0x1adc17(_0x146f6e){if(void 0x0===_0x146f6e)return 0x0;if(0x20000000&_0x146f6e[_0x1a4e('0x257c')])return _0x146f6e[_0x1a4e('0x257c')]&~_0x368e5a[_0x1a4e('0x2883')](_0x146f6e[_0x1a4e('0x146b')]);var _0x2327c6=function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x2)||_0x368e5a[_0x1a4e('0x2553')](_0x146f6e)&&0xd3!==_0x146f6e[_0x1a4e('0x146b')])return 0x0;return _0x55ff7e(_0x146f6e,0x0,_0xf79407,_0x2c9ec9);}(_0x146f6e);return _0x368e5a[_0x1a4e('0x2882')](_0x146f6e,_0x2327c6);}function _0xf79407(_0x368e5a,_0x146f6e){return _0x368e5a|_0x1adc17(_0x146f6e);}function _0x2c9ec9(_0x368e5a,_0x146f6e){return _0x368e5a|function(_0x368e5a){if(void 0x0===_0x368e5a)return 0x0;for(var _0x146f6e=0x0,_0x2327c6=0x0,_0x55ff7e=0x0,_0xf79407=_0x368e5a;_0x55ff7e<_0xf79407[_0x1a4e('0x1e')];_0x55ff7e++){var _0x2c9ec9=_0xf79407[_0x55ff7e];_0x146f6e|=_0x1adc17(_0x2c9ec9),_0x2327c6|=-0x20000001&_0x2c9ec9[_0x1a4e('0x257c')];}return _0x368e5a['transformFlags']=0x20000000|_0x2327c6,_0x146f6e;}(_0x146f6e);}var _0x420b32;_0x368e5a[_0x1a4e('0x2d93')]=_0x55ff7e,_0x368e5a[_0x1a4e('0x2d75')]=function(_0x146f6e,_0x2327c6){return _0x368e5a['some'](_0x2327c6)?_0x368e5a[_0x1a4e('0x253d')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createNodeArray'](_0x368e5a['addStatementsAfterPrologue'](_0x146f6e[_0x1a4e('0x78')](),_0x2327c6)),_0x146f6e):_0x368e5a[_0x1a4e('0x2329')](_0x146f6e,_0x2327c6):_0x146f6e;},_0x368e5a[_0x1a4e('0x2d86')]=function(_0x146f6e){return _0x420b32[_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x114')](_0x146f6e,_0x368e5a[_0x1a4e('0x2569')]),'Cannot\x20lift\x20nodes\x20to\x20a\x20Block.'),_0x368e5a[_0x1a4e('0x2d6f')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2c91')](_0x146f6e);},_0x368e5a[_0x1a4e('0x2c07')]=function(_0x368e5a){return _0x1adc17(_0x368e5a),_0x368e5a;},function(_0x146f6e){var _0x2327c6=!0x1;_0x146f6e['failBadSyntaxKind']=function _0x2327c6(_0x55ff7e,_0x1adc17){return _0x146f6e[_0x1a4e('0x1709')]((_0x1adc17||_0x1a4e('0x2d94'))+_0x1a4e('0x2d95')+_0x368e5a[_0x1a4e('0x2474')](_0x55ff7e[_0x1a4e('0x146b')])+_0x1a4e('0x2d96'),_0x2327c6);},_0x146f6e[_0x1a4e('0x2d97')]=_0x146f6e[_0x1a4e('0x1739')](0x1)?function(_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e[_0x1a4e('0xba0')](void 0x0===_0x55ff7e||_0x368e5a[_0x1a4e('0x114')](_0x2327c6,_0x55ff7e),_0x1adc17||_0x1a4e('0x2d94'),function(){return'Node\x20array\x20did\x20not\x20pass\x20test\x20\x27'+_0x146f6e[_0x1a4e('0x1748')](_0x55ff7e)+'\x27.';},_0x146f6e[_0x1a4e('0x2d97')]);}:_0x368e5a[_0x1a4e('0x10bf')],_0x146f6e[_0x1a4e('0x2a1b')]=_0x146f6e[_0x1a4e('0x1739')](0x1)?function(_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e['assert'](void 0x0===_0x55ff7e||_0x55ff7e(_0x2327c6),_0x1adc17||_0x1a4e('0x2d94'),function(){return _0x1a4e('0x2d98')+_0x368e5a['formatSyntaxKind'](_0x2327c6[_0x1a4e('0x146b')])+_0x1a4e('0x2d99')+_0x146f6e['getFunctionName'](_0x55ff7e)+'\x27.';},_0x146f6e[_0x1a4e('0x2a1b')]);}:_0x368e5a[_0x1a4e('0x10bf')],_0x146f6e[_0x1a4e('0x2d9a')]=_0x146f6e[_0x1a4e('0x1739')](0x1)?function(_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e[_0x1a4e('0xba0')](void 0x0===_0x55ff7e||void 0x0===_0x2327c6||_0x55ff7e(_0x2327c6),_0x1adc17||_0x1a4e('0x2d94'),function(){return'Node\x20'+_0x368e5a['formatSyntaxKind'](_0x2327c6[_0x1a4e('0x146b')])+_0x1a4e('0x2d99')+_0x146f6e['getFunctionName'](_0x55ff7e)+'\x27.';},_0x146f6e[_0x1a4e('0x2d9a')]);}:_0x368e5a['noop'],_0x146f6e['assertOptionalToken']=_0x146f6e[_0x1a4e('0x1739')](0x1)?function(_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e[_0x1a4e('0xba0')](void 0x0===_0x55ff7e||void 0x0===_0x2327c6||_0x2327c6['kind']===_0x55ff7e,_0x1adc17||_0x1a4e('0x2d94'),function(){return _0x1a4e('0x2d98')+_0x368e5a[_0x1a4e('0x2474')](_0x2327c6['kind'])+_0x1a4e('0x2d9b')+_0x368e5a['formatSyntaxKind'](_0x55ff7e)+_0x1a4e('0x2d9c');},_0x146f6e[_0x1a4e('0x2d9d')]);}:_0x368e5a[_0x1a4e('0x10bf')],_0x146f6e[_0x1a4e('0x2d9e')]=_0x146f6e['shouldAssert'](0x1)?function(_0x2327c6,_0x55ff7e){return _0x146f6e['assert'](void 0x0===_0x2327c6,_0x55ff7e||_0x1a4e('0x2d94'),function(){return'Node\x20'+_0x368e5a[_0x1a4e('0x2474')](_0x2327c6[_0x1a4e('0x146b')])+'\x20was\x20unexpected\x27.';},_0x146f6e['assertMissingNode']);}:_0x368e5a[_0x1a4e('0x10bf')],_0x146f6e[_0x1a4e('0x2d9f')]=function(){if(!_0x2327c6){Object['defineProperties'](_0x368e5a[_0x1a4e('0x2626')][_0x1a4e('0x283b')]()[_0x1a4e('0xa')],{'__debugFlags':{'get':function(){return _0x368e5a['formatSymbolFlags'](this['flags']);}}}),Object[_0x1a4e('0x1c8')](_0x368e5a['objectAllocator'][_0x1a4e('0x288c')]()[_0x1a4e('0xa')],{'__debugFlags':{'get':function(){return _0x368e5a['formatTypeFlags'](this['flags']);}},'__debugObjectFlags':{'get':function(){return 0x80000&this[_0x1a4e('0x7b2')]?_0x368e5a[_0x1a4e('0x247c')](this['objectFlags']):'';}},'__debugTypeToString':{'value':function(){return this[_0x1a4e('0x257b')]['typeToString'](this);}}});for(var _0x146f6e=0x0,_0x55ff7e=[_0x368e5a[_0x1a4e('0x2626')][_0x1a4e('0x2629')](),_0x368e5a['objectAllocator'][_0x1a4e('0x2da0')](),_0x368e5a[_0x1a4e('0x2626')][_0x1a4e('0x262a')](),_0x368e5a[_0x1a4e('0x2626')][_0x1a4e('0x2627')]()];_0x146f6e<_0x55ff7e[_0x1a4e('0x1e')];_0x146f6e++){var _0x1adc17=_0x55ff7e[_0x146f6e];_0x1adc17[_0x1a4e('0xa')][_0x1a4e('0xb')](_0x1a4e('0x2da1'))||Object[_0x1a4e('0x1c8')](_0x1adc17[_0x1a4e('0xa')],{'__debugKind':{'get':function(){return _0x368e5a['formatSyntaxKind'](this['kind']);}},'__debugModifierFlags':{'get':function(){return _0x368e5a[_0x1a4e('0x2475')](_0x368e5a[_0x1a4e('0x245d')](this));}},'__debugTransformFlags':{'get':function(){return _0x368e5a[_0x1a4e('0x2477')](this[_0x1a4e('0x257c')]);}},'__debugEmitFlags':{'get':function(){return _0x368e5a[_0x1a4e('0x2479')](_0x368e5a[_0x1a4e('0x2c65')](this));}},'__debugGetText':{'value':function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2408')](this))return'';var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](this),_0x55ff7e=_0x2327c6&&_0x368e5a[_0x1a4e('0x1674')](_0x2327c6);return _0x55ff7e?_0x368e5a[_0x1a4e('0x2330')](_0x55ff7e,_0x2327c6,_0x146f6e):'';}}});}_0x2327c6=!0x0;}};}(_0x420b32=_0x368e5a['Debug']||(_0x368e5a['Debug']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x2da2')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9){var _0x1b06ad,_0x326eae,_0x56674b=_0x2c9ec9[_0x1a4e('0x2da3')]?_0x368e5a[_0x1a4e('0x1774')]['createTimer']('Source\x20Map',_0x1a4e('0x2da4'),_0x1a4e('0x2da5')):_0x368e5a['performance'][_0x1a4e('0x176c')],_0x255e29=_0x56674b['enter'],_0x1a73a9=_0x56674b[_0x1a4e('0x1b6b')],_0xcfd829=[],_0x4b1cb5=[],_0x8b19d2=_0x368e5a[_0x1a4e('0x1772')](),_0x3d4362=[],_0x28d097='',_0x198119=0x0,_0x577cf7=0x0,_0x302a83=0x0,_0xa8fe53=0x0,_0x1f07c6=0x0,_0x146730=0x0,_0x45e37e=!0x1,_0x44b602=0x0,_0x5cd20f=0x0,_0x436588=0x0,_0x45a2b0=0x0,_0x5ede4e=0x0,_0x4092cc=0x0,_0x1e393a=!0x1,_0x11cf5a=!0x1,_0x289697=!0x1;return{'getSources':function(){return _0xcfd829;},'addSource':_0xb76ab9,'setSourceContent':_0x545635,'addName':_0x227ffe,'addMapping':_0x1fe335,'appendSourceMap':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0x2c9ec9;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e>=_0x44b602,_0x1a4e('0x2da6')),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x2327c6>=0x0,_0x1a4e('0x2da7')),_0x255e29();for(var _0x420b32,_0x1b06ad=[],_0x326eae=_0xf79407(_0x55ff7e[_0x1a4e('0x15c8')]),_0x56674b=_0x326eae[_0x1a4e('0x7e')](),_0xcfd829=_0x56674b['value'],_0x4b1cb5=_0x56674b[_0x1a4e('0x3c2')];!_0x4b1cb5;_0x2c9ec9=_0x326eae[_0x1a4e('0x7e')](),_0xcfd829=_0x2c9ec9['value'],_0x4b1cb5=_0x2c9ec9[_0x1a4e('0x3c2')],_0x2c9ec9){var _0x8b19d2=void 0x0,_0x3d4362=void 0x0,_0x28d097=void 0x0,_0x198119=void 0x0;if(void 0x0!==_0xcfd829[_0x1a4e('0x2da8')]){if(void 0x0===(_0x8b19d2=_0x1b06ad[_0xcfd829[_0x1a4e('0x2da8')]])){var _0x577cf7=_0x55ff7e['sources'][_0xcfd829[_0x1a4e('0x2da8')]],_0x302a83=_0x55ff7e[_0x1a4e('0x15c6')]?_0x368e5a[_0x1a4e('0x1673')](_0x55ff7e[_0x1a4e('0x15c6')],_0x577cf7):_0x577cf7,_0xa8fe53=_0x368e5a[_0x1a4e('0x1673')](_0x368e5a[_0x1a4e('0x1671')](_0x1adc17),_0x302a83);_0x1b06ad[_0xcfd829[_0x1a4e('0x2da8')]]=_0x8b19d2=_0xb76ab9(_0xa8fe53),_0x55ff7e[_0x1a4e('0x15c7')]&&_0x1a4e('0x9')==typeof _0x55ff7e['sourcesContent'][_0xcfd829['sourceIndex']]&&_0x545635(_0x8b19d2,_0x55ff7e[_0x1a4e('0x15c7')][_0xcfd829[_0x1a4e('0x2da8')]]);}_0x3d4362=_0xcfd829[_0x1a4e('0x2da9')],_0x28d097=_0xcfd829[_0x1a4e('0x2daa')],_0x55ff7e['names']&&void 0x0!==_0xcfd829[_0x1a4e('0x2dab')]&&(_0x420b32||(_0x420b32=[]),void 0x0===(_0x198119=_0x420b32[_0xcfd829[_0x1a4e('0x2dab')]])&&(_0x420b32[_0xcfd829[_0x1a4e('0x2dab')]]=_0x198119=_0x227ffe(_0x55ff7e[_0x1a4e('0x2dac')][_0xcfd829[_0x1a4e('0x2dab')]])));}var _0x1f07c6=_0xcfd829[_0x1a4e('0x15bd')]+_0x146f6e,_0x146730=0x0===_0xcfd829[_0x1a4e('0x15bd')]?_0xcfd829[_0x1a4e('0x2dad')]+_0x2327c6:_0xcfd829[_0x1a4e('0x2dad')];_0x1fe335(_0x1f07c6,_0x146730,_0x8b19d2,_0x3d4362,_0x28d097,_0x198119);}_0x1a73a9();},'toJSON':_0x2bb13a,'toString':function(){return JSON['stringify'](_0x2bb13a());}};function _0xb76ab9(_0x2327c6){_0x255e29();var _0x55ff7e=_0x368e5a['getRelativePathToDirectoryOrUrl'](_0x1adc17,_0x2327c6,_0x146f6e[_0x1a4e('0x241c')](),_0x146f6e['getCanonicalFileName'],!0x0),_0xf79407=_0x8b19d2[_0x1a4e('0x179')](_0x55ff7e);return void 0x0===_0xf79407&&(_0xf79407=_0x4b1cb5[_0x1a4e('0x1e')],_0x4b1cb5[_0x1a4e('0x46')](_0x55ff7e),_0xcfd829['push'](_0x2327c6),_0x8b19d2[_0x1a4e('0x17a')](_0x55ff7e,_0xf79407)),_0x1a73a9(),_0xf79407;}function _0x545635(_0x368e5a,_0x146f6e){if(_0x255e29(),null!==_0x146f6e){for(_0x1b06ad||(_0x1b06ad=[]);_0x1b06ad['length']<_0x368e5a;)_0x1b06ad[_0x1a4e('0x46')](null);_0x1b06ad[_0x368e5a]=_0x146f6e;}_0x1a73a9();}function _0x227ffe(_0x146f6e){_0x255e29(),_0x326eae||(_0x326eae=_0x368e5a['createMap']());var _0x2327c6=_0x326eae[_0x1a4e('0x179')](_0x146f6e);return void 0x0===_0x2327c6&&(_0x2327c6=_0x3d4362[_0x1a4e('0x1e')],_0x3d4362[_0x1a4e('0x46')](_0x146f6e),_0x326eae[_0x1a4e('0x17a')](_0x146f6e,_0x2327c6)),_0x1a73a9(),_0x2327c6;}function _0x1fe335(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x146f6e>=_0x44b602,_0x1a4e('0x2da6')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x2327c6>=0x0,_0x1a4e('0x2da7')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0===_0x55ff7e||_0x55ff7e>=0x0,_0x1a4e('0x2dae')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0===_0x1adc17||_0x1adc17>=0x0,'sourceLine\x20cannot\x20be\x20negative'),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0===_0xf79407||_0xf79407>=0x0,_0x1a4e('0x2daf')),_0x255e29(),(function(_0x368e5a,_0x146f6e){return!_0x1e393a||_0x44b602!==_0x368e5a||_0x5cd20f!==_0x146f6e;}(_0x146f6e,_0x2327c6)||function(_0x368e5a,_0x146f6e,_0x2327c6){return void 0x0!==_0x368e5a&&void 0x0!==_0x146f6e&&void 0x0!==_0x2327c6&&_0x436588===_0x368e5a&&(_0x45a2b0>_0x146f6e||_0x45a2b0===_0x146f6e&&_0x5ede4e>_0x2327c6);}(_0x55ff7e,_0x1adc17,_0xf79407))&&(_0x5cddf9(),_0x44b602=_0x146f6e,_0x5cd20f=_0x2327c6,_0x11cf5a=!0x1,_0x289697=!0x1,_0x1e393a=!0x0),void 0x0!==_0x55ff7e&&void 0x0!==_0x1adc17&&void 0x0!==_0xf79407&&(_0x436588=_0x55ff7e,_0x45a2b0=_0x1adc17,_0x5ede4e=_0xf79407,_0x11cf5a=!0x0,void 0x0!==_0x2c9ec9&&(_0x4092cc=_0x2c9ec9,_0x289697=!0x0)),_0x1a73a9();}function _0x5cddf9(){if(_0x1e393a&&(!_0x45e37e||_0x198119!==_0x44b602||_0x577cf7!==_0x5cd20f||_0x302a83!==_0x436588||_0xa8fe53!==_0x45a2b0||_0x1f07c6!==_0x5ede4e||_0x146730!==_0x4092cc)){if(_0x255e29(),_0x198119<_0x44b602)do{_0x28d097+=';',_0x198119++,_0x577cf7=0x0;}while(_0x198119<_0x44b602);else _0x368e5a['Debug'][_0x1a4e('0x1706')](_0x198119,_0x44b602,_0x1a4e('0x2da6')),_0x45e37e&&(_0x28d097+=',');_0x28d097+=_0x420b32(_0x5cd20f-_0x577cf7),_0x577cf7=_0x5cd20f,_0x11cf5a&&(_0x28d097+=_0x420b32(_0x436588-_0x302a83),_0x302a83=_0x436588,_0x28d097+=_0x420b32(_0x45a2b0-_0xa8fe53),_0xa8fe53=_0x45a2b0,_0x28d097+=_0x420b32(_0x5ede4e-_0x1f07c6),_0x1f07c6=_0x5ede4e,_0x289697&&(_0x28d097+=_0x420b32(_0x4092cc-_0x146730),_0x146730=_0x4092cc)),_0x45e37e=!0x0,_0x1a73a9();}}function _0x2bb13a(){return _0x5cddf9(),{'version':0x3,'file':_0x2327c6,'sourceRoot':_0x55ff7e,'sources':_0x4b1cb5,'names':_0x3d4362,'mappings':_0x28d097,'sourcesContent':_0x1b06ad};}};var _0x146f6e=/^\/\/[@#] source[M]appingURL=(.+)\s*$/,_0x2327c6=/^\s*(\/\/[@#] .*)?$/;function _0x55ff7e(_0x368e5a){return _0x1a4e('0x9')==typeof _0x368e5a||null===_0x368e5a;}function _0x1adc17(_0x146f6e){return null!==_0x146f6e&&_0x1a4e('0x85')==typeof _0x146f6e&&0x3===_0x146f6e[_0x1a4e('0xb98')]&&_0x1a4e('0x9')==typeof _0x146f6e['file']&&'string'==typeof _0x146f6e[_0x1a4e('0x15c8')]&&_0x368e5a['isArray'](_0x146f6e['sources'])&&_0x368e5a[_0x1a4e('0x114')](_0x146f6e[_0x1a4e('0x15c5')],_0x368e5a[_0x1a4e('0xb19')])&&(void 0x0===_0x146f6e[_0x1a4e('0x15c6')]||null===_0x146f6e[_0x1a4e('0x15c6')]||_0x1a4e('0x9')==typeof _0x146f6e[_0x1a4e('0x15c6')])&&(void 0x0===_0x146f6e[_0x1a4e('0x15c7')]||null===_0x146f6e[_0x1a4e('0x15c7')]||_0x368e5a[_0x1a4e('0x15')](_0x146f6e['sourcesContent'])&&_0x368e5a[_0x1a4e('0x114')](_0x146f6e['sourcesContent'],_0x55ff7e))&&(void 0x0===_0x146f6e['names']||null===_0x146f6e['names']||_0x368e5a[_0x1a4e('0x15')](_0x146f6e['names'])&&_0x368e5a[_0x1a4e('0x114')](_0x146f6e[_0x1a4e('0x2dac')],_0x368e5a['isString']));}function _0xf79407(_0x368e5a){var _0x146f6e,_0x2327c6=!0x1,_0x55ff7e=0x0,_0x1adc17=0x0,_0xf79407=0x0,_0x2c9ec9=0x0,_0x420b32=0x0,_0x1b06ad=0x0,_0x326eae=0x0;return{get 'pos'(){return _0x55ff7e;},get 'error'(){return _0x146f6e;},get 'state'(){return _0x56674b(!0x0,!0x0);},'next':function(){for(;!_0x2327c6&&_0x55ff7e<_0x368e5a[_0x1a4e('0x1e')];){var _0x146f6e=_0x368e5a[_0x1a4e('0x913')](_0x55ff7e);if(0x3b!==_0x146f6e){if(0x2c!==_0x146f6e){var _0x318042=!0x1,_0x5f3742=!0x1;if(_0xf79407+=_0xd4b23f(),_0x56fad2())return _0x1da562();if(_0xf79407<0x0)return _0x5dfd11(_0x1a4e('0x2db0'));if(!_0x5b7e50()){if(_0x318042=!0x0,_0x2c9ec9+=_0xd4b23f(),_0x56fad2())return _0x1da562();if(_0x2c9ec9<0x0)return _0x5dfd11('Invalid\x20sourceIndex\x20found');if(_0x5b7e50())return _0x5dfd11(_0x1a4e('0x2db1'));if(_0x420b32+=_0xd4b23f(),_0x56fad2())return _0x1da562();if(_0x420b32<0x0)return _0x5dfd11('Invalid\x20sourceLine\x20found');if(_0x5b7e50())return _0x5dfd11(_0x1a4e('0x2db2'));if(_0x1b06ad+=_0xd4b23f(),_0x56fad2())return _0x1da562();if(_0x1b06ad<0x0)return _0x5dfd11(_0x1a4e('0x2db3'));if(!_0x5b7e50()){if(_0x5f3742=!0x0,_0x326eae+=_0xd4b23f(),_0x56fad2())return _0x1da562();if(_0x326eae<0x0)return _0x5dfd11(_0x1a4e('0x2db4'));if(!_0x5b7e50())return _0x5dfd11('Unsupported\x20Error\x20Format:\x20Entries\x20after\x20nameIndex');}}return{'value':_0x56674b(_0x318042,_0x5f3742),'done':_0x2327c6};}_0x55ff7e++;}else _0x1adc17++,_0xf79407=0x0,_0x55ff7e++;}return _0x1da562();}};function _0x56674b(_0x368e5a,_0x146f6e){return{'generatedLine':_0x1adc17,'generatedCharacter':_0xf79407,'sourceIndex':_0x368e5a?_0x2c9ec9:void 0x0,'sourceLine':_0x368e5a?_0x420b32:void 0x0,'sourceCharacter':_0x368e5a?_0x1b06ad:void 0x0,'nameIndex':_0x146f6e?_0x326eae:void 0x0};}function _0x1da562(){return _0x2327c6=!0x0,{'value':void 0x0,'done':!0x0};}function _0x1da1a9(_0x368e5a){void 0x0===_0x146f6e&&(_0x146f6e=_0x368e5a);}function _0x5dfd11(_0x368e5a){return _0x1da1a9(_0x368e5a),_0x1da562();}function _0x56fad2(){return void 0x0!==_0x146f6e;}function _0x5b7e50(){return _0x55ff7e===_0x368e5a[_0x1a4e('0x1e')]||0x2c===_0x368e5a['charCodeAt'](_0x55ff7e)||0x3b===_0x368e5a[_0x1a4e('0x913')](_0x55ff7e);}function _0xd4b23f(){for(var _0x146f6e,_0x2327c6=!0x0,_0x1adc17=0x0,_0xf79407=0x0;_0x2327c6;_0x55ff7e++){if(_0x55ff7e>=_0x368e5a[_0x1a4e('0x1e')])return _0x1da1a9(_0x1a4e('0x2db5')),-0x1;var _0x2c9ec9=(_0x146f6e=_0x368e5a[_0x1a4e('0x913')](_0x55ff7e))>=0x41&&_0x146f6e<=0x5a?_0x146f6e-0x41:_0x146f6e>=0x61&&_0x146f6e<=0x7a?_0x146f6e-0x61+0x1a:_0x146f6e>=0x30&&_0x146f6e<=0x39?_0x146f6e-0x30+0x34:0x2b===_0x146f6e?0x3e:0x2f===_0x146f6e?0x3f:-0x1;if(-0x1===_0x2c9ec9)return _0x1da1a9(_0x1a4e('0x2db6')),-0x1;_0x2327c6=0x0!=(0x20&_0x2c9ec9),_0xf79407|=(0x1f&_0x2c9ec9)<<_0x1adc17,_0x1adc17+=0x5;}return 0x0==(0x1&_0xf79407)?_0xf79407>>=0x1:_0xf79407=-(_0xf79407>>=0x1),_0xf79407;}}function _0x2c9ec9(_0x368e5a){return void 0x0!==_0x368e5a['sourceIndex']&&void 0x0!==_0x368e5a[_0x1a4e('0x2da9')]&&void 0x0!==_0x368e5a[_0x1a4e('0x2daa')];}function _0x420b32(_0x146f6e){_0x146f6e<0x0?_0x146f6e=0x1+(-_0x146f6e<<0x1):_0x146f6e<<=0x1;var _0x2327c6,_0x55ff7e='';do{var _0x1adc17=0x1f&_0x146f6e;(_0x146f6e>>=0x5)>0x0&&(_0x1adc17|=0x20),_0x55ff7e+=String[_0x1a4e('0x8fe')]((_0x2327c6=_0x1adc17)>=0x0&&_0x2327c6<0x1a?0x41+_0x2327c6:_0x2327c6>=0x1a&&_0x2327c6<0x34?0x61+_0x2327c6-0x1a:_0x2327c6>=0x34&&_0x2327c6<0x3e?0x30+_0x2327c6-0x34:0x3e===_0x2327c6?0x2b:0x3f===_0x2327c6?0x2f:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x2327c6+':\x20not\x20a\x20base64\x20value'));}while(_0x146f6e>0x0);return _0x55ff7e;}function _0x1b06ad(_0x368e5a){return void 0x0!==_0x368e5a[_0x1a4e('0x2da8')]&&void 0x0!==_0x368e5a[_0x1a4e('0x2db7')];}function _0x326eae(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2db8')]===_0x146f6e[_0x1a4e('0x2db8')]&&_0x368e5a['sourceIndex']===_0x146f6e[_0x1a4e('0x2da8')]&&_0x368e5a[_0x1a4e('0x2db7')]===_0x146f6e[_0x1a4e('0x2db7')];}function _0x56674b(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x166e')](_0x146f6e['sourceIndex'],_0x2327c6['sourceIndex']);}function _0x520e2a(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x166e')](_0x146f6e[_0x1a4e('0x2db8')],_0x2327c6[_0x1a4e('0x2db8')]);}function _0x3016fb(_0x368e5a){return _0x368e5a[_0x1a4e('0x2db7')];}function _0x227af1(_0x368e5a){return _0x368e5a[_0x1a4e('0x2db8')];}_0x368e5a[_0x1a4e('0x2db9')]=function(_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=_0x368e5a['computeLineStarts'](_0x55ff7e));for(var _0xf79407=_0x1adc17[_0x1a4e('0x1e')]-0x1;_0xf79407>=0x0;_0xf79407--){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x281')](_0x1adc17[_0xf79407],_0x1adc17[_0xf79407+0x1]),_0x420b32=_0x146f6e[_0x1a4e('0x2af')](_0x2c9ec9);if(_0x420b32)return _0x420b32[0x1];if(!_0x2c9ec9[_0x1a4e('0x909')](_0x2327c6))break;}},_0x368e5a['isRawSourceMap']=_0x1adc17,_0x368e5a[_0x1a4e('0x2dba')]=function(_0x368e5a){try{var _0x146f6e=JSON['parse'](_0x368e5a);if(_0x1adc17(_0x146f6e))return _0x146f6e;}catch(_0x2c9bbd){}},_0x368e5a[_0x1a4e('0x2dbb')]=_0xf79407,_0x368e5a[_0x1a4e('0x2dbc')]=function(_0x368e5a,_0x146f6e){return _0x368e5a===_0x146f6e||_0x368e5a[_0x1a4e('0x15bd')]===_0x146f6e[_0x1a4e('0x15bd')]&&_0x368e5a[_0x1a4e('0x2dad')]===_0x146f6e[_0x1a4e('0x2dad')]&&_0x368e5a[_0x1a4e('0x2da8')]===_0x146f6e[_0x1a4e('0x2da8')]&&_0x368e5a[_0x1a4e('0x2da9')]===_0x146f6e[_0x1a4e('0x2da9')]&&_0x368e5a[_0x1a4e('0x2daa')]===_0x146f6e[_0x1a4e('0x2daa')]&&_0x368e5a[_0x1a4e('0x2dab')]===_0x146f6e[_0x1a4e('0x2dab')];},_0x368e5a[_0x1a4e('0x2dbd')]=_0x2c9ec9,_0x368e5a[_0x1a4e('0x2dbe')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0x420b32,_0xce4cf7,_0x2a8a95=_0x368e5a['getDirectoryPath'](_0x55ff7e),_0x2eec76=_0x2327c6[_0x1a4e('0x15c6')]?_0x368e5a[_0x1a4e('0x22ea')](_0x2327c6[_0x1a4e('0x15c6')],_0x2a8a95):_0x2a8a95,_0x15ec00=_0x368e5a[_0x1a4e('0x22ea')](_0x2327c6['file'],_0x2a8a95),_0xa1d252=_0x146f6e[_0x1a4e('0x241a')](_0x15ec00),_0x3b9f35=_0x146f6e[_0x1a4e('0x2dbf')](_0xa1d252),_0xa7a9a3=_0x2327c6['sources']['map'](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22ea')](_0x146f6e,_0x2eec76);}),_0x80d223=_0xa7a9a3[_0x1a4e('0x21')](function(_0x368e5a){return _0x146f6e[_0x1a4e('0x241a')](_0x368e5a);}),_0x536601=_0x368e5a[_0x1a4e('0x271c')](_0x80d223[_0x1a4e('0x21')](function(_0x368e5a,_0x146f6e){return[_0x368e5a,_0x146f6e];}));return{'getSourcePosition':function(_0x146f6e){var _0x2327c6=_0x1f0dff();if(!_0x368e5a[_0x1a4e('0x1c2')](_0x2327c6))return _0x146f6e;var _0x55ff7e=_0x368e5a['binarySearchKey'](_0x2327c6,_0x146f6e[_0x1a4e('0xa4')],_0x227af1,_0x368e5a['compareValues']);_0x55ff7e<0x0&&(_0x55ff7e=~_0x55ff7e);var _0x1adc17=_0x2327c6[_0x55ff7e];return void 0x0!==_0x1adc17&&_0x1b06ad(_0x1adc17)?{'fileName':_0xa7a9a3[_0x1adc17[_0x1a4e('0x2da8')]],'pos':_0x1adc17[_0x1a4e('0x2db7')]}:_0x146f6e;},'getGeneratedPosition':function(_0x2327c6){var _0x55ff7e=_0x536601[_0x1a4e('0x179')](_0x146f6e[_0x1a4e('0x241a')](_0x2327c6[_0x1a4e('0x1b39')]));if(void 0x0===_0x55ff7e)return _0x2327c6;var _0x1adc17=_0x1e17d6(_0x55ff7e);if(!_0x368e5a[_0x1a4e('0x1c2')](_0x1adc17))return _0x2327c6;var _0xf79407=_0x368e5a[_0x1a4e('0x1726')](_0x1adc17,_0x2327c6[_0x1a4e('0xa4')],_0x3016fb,_0x368e5a['compareValues']);_0xf79407<0x0&&(_0xf79407=~_0xf79407);var _0x2c9ec9=_0x1adc17[_0xf79407];return void 0x0===_0x2c9ec9||_0x2c9ec9[_0x1a4e('0x2da8')]!==_0x55ff7e?_0x2327c6:{'fileName':_0x15ec00,'pos':_0x2c9ec9[_0x1a4e('0x2db8')]};}};function _0x45357d(_0x55ff7e){var _0x1adc17,_0xf79407,_0x420b32=void 0x0!==_0x3b9f35?_0x368e5a[_0x1a4e('0x22be')](_0x3b9f35,_0x55ff7e['generatedLine'],_0x55ff7e[_0x1a4e('0x2dad')]):-0x1;if(_0x2c9ec9(_0x55ff7e)){var _0x1b06ad=_0x80d223[_0x55ff7e[_0x1a4e('0x2da8')]],_0x326eae=_0x146f6e[_0x1a4e('0x2dbf')](_0x1b06ad);_0x1adc17=_0x2327c6[_0x1a4e('0x15c5')][_0x55ff7e[_0x1a4e('0x2da8')]],_0xf79407=void 0x0!==_0x326eae?_0x368e5a['getPositionOfLineAndCharacterWithEdits'](_0x326eae,_0x55ff7e[_0x1a4e('0x2da9')],_0x55ff7e[_0x1a4e('0x2daa')]):-0x1;}return{'generatedPosition':_0x420b32,'source':_0x1adc17,'sourceIndex':_0x55ff7e[_0x1a4e('0x2da8')],'sourcePosition':_0xf79407,'nameIndex':_0x55ff7e['nameIndex']};}function _0x287651(){if(void 0x0===_0x1adc17){var _0x55ff7e=_0xf79407(_0x2327c6['mappings']),_0x2c9ec9=_0x368e5a[_0x1a4e('0x1729')](_0x55ff7e,_0x45357d);void 0x0!==_0x55ff7e[_0x1a4e('0x873')]?(_0x146f6e[_0x1a4e('0x58')]&&_0x146f6e['log'](_0x1a4e('0x2dc0')+_0x55ff7e[_0x1a4e('0x873')]),_0x1adc17=_0x368e5a[_0x1a4e('0x1700')]):_0x1adc17=_0x2c9ec9;}return _0x1adc17;}function _0x1e17d6(_0x146f6e){if(void 0x0===_0xce4cf7){for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x287651();_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0x1b06ad(_0xf79407)){var _0x2c9ec9=_0x2327c6[_0xf79407[_0x1a4e('0x2da8')]];_0x2c9ec9||(_0x2327c6[_0xf79407['sourceIndex']]=_0x2c9ec9=[]),_0x2c9ec9[_0x1a4e('0x46')](_0xf79407);}}_0xce4cf7=_0x2327c6[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1719')](_0x146f6e,_0x56674b,_0x326eae);});}return _0xce4cf7[_0x146f6e];}function _0x1f0dff(){if(void 0x0===_0x420b32){for(var _0x146f6e=[],_0x2327c6=0x0,_0x55ff7e=_0x287651();_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x146f6e[_0x1a4e('0x46')](_0x1adc17);}_0x420b32=_0x368e5a[_0x1a4e('0x1719')](_0x146f6e,_0x520e2a,_0x326eae);}return _0x420b32;}},_0x368e5a[_0x1a4e('0x2dc1')]={'getSourcePosition':_0x368e5a[_0x1a4e('0x10a5')],'getGeneratedPosition':_0x368e5a[_0x1a4e('0x10a5')]};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e){return(_0x146f6e=_0x368e5a[_0x1a4e('0x24d0')](_0x146f6e))?_0x368e5a['getNodeId'](_0x146f6e):0x0;}function _0x2327c6(_0x368e5a){return void 0x0!==_0x368e5a['propertyName']&&_0x1a4e('0x8')===_0x368e5a[_0x1a4e('0x81a')][_0x1a4e('0x22f3')];}function _0x55ff7e(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2982')](_0x146f6e))return!0x0;var _0x55ff7e=_0x146f6e[_0x1a4e('0x23c6')]&&_0x146f6e['importClause']['namedBindings'];if(!_0x55ff7e)return!0x1;if(!_0x368e5a['isNamedImports'](_0x55ff7e))return!0x1;for(var _0x1adc17=0x0,_0xf79407=0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x2398')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){_0x2327c6(_0x2c9ec9[_0xf79407])&&_0x1adc17++;}return _0x1adc17>0x0&&_0x1adc17!==_0x55ff7e[_0x1a4e('0x2398')][_0x1a4e('0x1e')]||!!(_0x55ff7e['elements'][_0x1a4e('0x1e')]-_0x1adc17)&&_0x368e5a[_0x1a4e('0x23c8')](_0x146f6e);}function _0x1adc17(_0x146f6e){return!_0x55ff7e(_0x146f6e)&&(_0x368e5a['isDefaultImport'](_0x146f6e)||!!_0x146f6e[_0x1a4e('0x23c6')]&&_0x368e5a['isNamedImports'](_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')])&&function(_0x146f6e){return!!_0x146f6e&&!!_0x368e5a['isNamedImports'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x2398')],_0x2327c6);}(_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')]));}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')]))for(var _0x1adc17=0x0,_0x2c9ec9=_0x146f6e[_0x1a4e('0x2cb')]['elements'];_0x1adc17<_0x2c9ec9[_0x1a4e('0x1e')];_0x1adc17++){var _0x420b32=_0x2c9ec9[_0x1adc17];_0x368e5a[_0x1a4e('0x2506')](_0x420b32)||(_0x55ff7e=_0xf79407(_0x420b32,_0x2327c6,_0x55ff7e));}else if(!_0x368e5a['isGeneratedIdentifier'](_0x146f6e[_0x1a4e('0x2cb')])){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2353')](_0x146f6e['name']);_0x2327c6['get'](_0x1b06ad)||(_0x2327c6[_0x1a4e('0x17a')](_0x1b06ad,!0x0),_0x55ff7e=_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x146f6e[_0x1a4e('0x2cb')]));}return _0x55ff7e;}function _0x2c9ec9(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x146f6e];return _0x55ff7e?_0x55ff7e[_0x1a4e('0x46')](_0x2327c6):_0x368e5a[_0x146f6e]=_0x55ff7e=[_0x2327c6],_0x55ff7e;}_0x368e5a[_0x1a4e('0x2dc2')]=_0x146f6e,_0x368e5a[_0x1a4e('0x2dc3')]=function(_0x146f6e){return function(_0x2327c6){return 0x117===_0x2327c6[_0x1a4e('0x146b')]?_0x146f6e(_0x2327c6):function(_0x2327c6){return _0x368e5a[_0x1a4e('0x2cf8')](_0x368e5a[_0x1a4e('0x21')](_0x2327c6[_0x1a4e('0x2c1e')],_0x146f6e),_0x2327c6[_0x1a4e('0x2d02')]);}(_0x2327c6);};},_0x368e5a[_0x1a4e('0x2dc4')]=_0x55ff7e,_0x368e5a['getImportNeedsImportDefaultHelper']=_0x1adc17,_0x368e5a[_0x1a4e('0x2dc5')]=function(_0x2327c6,_0x420b32,_0x1b06ad){for(var _0x326eae,_0x56674b,_0x46fc05=[],_0x3357ed=_0x368e5a[_0x1a4e('0x1b3e')](),_0x88e196=[],_0x1b9480=_0x368e5a['createMap'](),_0x388c5f=!0x1,_0x2e43c8=!0x1,_0x53ec18=!0x1,_0x50102f=0x0,_0x3bd779=_0x2327c6['statements'];_0x50102f<_0x3bd779[_0x1a4e('0x1e')];_0x50102f++){var _0x4112d5=_0x3bd779[_0x50102f];switch(_0x4112d5[_0x1a4e('0x146b')]){case 0xf9:_0x46fc05[_0x1a4e('0x46')](_0x4112d5),_0x53ec18=_0x53ec18||_0x55ff7e(_0x4112d5)||_0x1adc17(_0x4112d5);break;case 0xf8:0x103===_0x4112d5['moduleReference'][_0x1a4e('0x146b')]&&_0x46fc05[_0x1a4e('0x46')](_0x4112d5);break;case 0xff:if(_0x4112d5[_0x1a4e('0x23c5')])_0x4112d5[_0x1a4e('0x260d')]?_0x46fc05['push'](_0x4112d5):(_0x46fc05[_0x1a4e('0x46')](_0x4112d5),_0x2e43c8=!0x0);else for(var _0x593312=0x0,_0x5d7bda=_0x4112d5[_0x1a4e('0x260d')][_0x1a4e('0x2398')];_0x593312<_0x5d7bda[_0x1a4e('0x1e')];_0x593312++){var _0x555f81=_0x5d7bda[_0x593312];if(!_0x1b9480[_0x1a4e('0x179')](_0x368e5a['idText'](_0x555f81[_0x1a4e('0x2cb')]))){var _0x3787a7=_0x555f81['propertyName']||_0x555f81[_0x1a4e('0x2cb')];_0x3357ed['add'](_0x368e5a['idText'](_0x3787a7),_0x555f81),(_0x5916bf=_0x420b32['getReferencedImportDeclaration'](_0x3787a7)||_0x420b32[_0x1a4e('0x2dc6')](_0x3787a7))&&_0x2c9ec9(_0x88e196,_0x146f6e(_0x5916bf),_0x555f81[_0x1a4e('0x2cb')]),_0x1b9480[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x2353')](_0x555f81[_0x1a4e('0x2cb')]),!0x0),_0x326eae=_0x368e5a[_0x1a4e('0x252')](_0x326eae,_0x555f81[_0x1a4e('0x2cb')]);}}break;case 0xfe:_0x4112d5[_0x1a4e('0x267b')]&&!_0x56674b&&(_0x56674b=_0x4112d5);break;case 0xdb:if(_0x368e5a[_0x1a4e('0x24c6')](_0x4112d5,0x1))for(var _0x544259=0x0,_0x532054=_0x4112d5[_0x1a4e('0x2377')]['declarations'];_0x544259<_0x532054[_0x1a4e('0x1e')];_0x544259++){var _0x5916bf;_0x326eae=_0xf79407(_0x5916bf=_0x532054[_0x544259],_0x1b9480,_0x326eae);}break;case 0xef:_0x368e5a[_0x1a4e('0x24c6')](_0x4112d5,0x1)&&(_0x368e5a[_0x1a4e('0x24c6')](_0x4112d5,0x200)?_0x388c5f||(_0x2c9ec9(_0x88e196,_0x146f6e(_0x4112d5),_0x368e5a[_0x1a4e('0x2d4f')](_0x4112d5)),_0x388c5f=!0x0):(_0x3787a7=_0x4112d5[_0x1a4e('0x2cb')],_0x1b9480[_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x2353')](_0x3787a7))||(_0x2c9ec9(_0x88e196,_0x146f6e(_0x4112d5),_0x3787a7),_0x1b9480[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x2353')](_0x3787a7),!0x0),_0x326eae=_0x368e5a[_0x1a4e('0x252')](_0x326eae,_0x3787a7))));break;case 0xf0:_0x368e5a[_0x1a4e('0x24c6')](_0x4112d5,0x1)&&(_0x368e5a[_0x1a4e('0x24c6')](_0x4112d5,0x200)?_0x388c5f||(_0x2c9ec9(_0x88e196,_0x146f6e(_0x4112d5),_0x368e5a[_0x1a4e('0x2d4f')](_0x4112d5)),_0x388c5f=!0x0):(_0x3787a7=_0x4112d5['name'])&&!_0x1b9480['get'](_0x368e5a[_0x1a4e('0x2353')](_0x3787a7))&&(_0x2c9ec9(_0x88e196,_0x146f6e(_0x4112d5),_0x3787a7),_0x1b9480[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x2353')](_0x3787a7),!0x0),_0x326eae=_0x368e5a[_0x1a4e('0x252')](_0x326eae,_0x3787a7)));}}var _0x1b4ca2=_0x368e5a[_0x1a4e('0x2dc7')](_0x2327c6,_0x1b06ad,_0x2e43c8,_0x53ec18),_0x5eb398=_0x1b4ca2&&_0x368e5a[_0x1a4e('0x2cbf')](void 0x0,void 0x0,_0x368e5a['createImportClause'](void 0x0,_0x368e5a[_0x1a4e('0x2cc3')](_0x1b4ca2)),_0x368e5a[_0x1a4e('0x2896')](_0x368e5a[_0x1a4e('0x22e3')]));return _0x5eb398&&(_0x368e5a[_0x1a4e('0x2dc8')](_0x5eb398,0x4000000),_0x46fc05[_0x1a4e('0x66')](_0x5eb398)),{'externalImports':_0x46fc05,'exportSpecifiers':_0x3357ed,'exportEquals':_0x56674b,'hasExportStarsToExportValues':_0x2e43c8,'exportedBindings':_0x88e196,'exportedNames':_0x326eae,'externalHelpersImportDeclaration':_0x5eb398};},_0x368e5a[_0x1a4e('0x2dc9')]=function(_0x146f6e){return _0x368e5a['isStringLiteralLike'](_0x146f6e)||0x8===_0x146f6e['kind']||_0x368e5a[_0x1a4e('0x23f3')](_0x146f6e[_0x1a4e('0x146b')])||_0x368e5a['isIdentifier'](_0x146f6e);},_0x368e5a[_0x1a4e('0x2dca')]=function(_0x368e5a){for(var _0x146f6e=[],_0x2327c6=0x1;_0x2327c6=0x1)||0x60000&_0x48425e['transformFlags']||0x60000&_0x368e5a[_0x1a4e('0x2d66')](_0x48425e)[_0x1a4e('0x257c')]||_0x368e5a[_0x1a4e('0x23e8')](_0x4cf43d)){_0x326eae&&(_0x146f6e[_0x1a4e('0x2dce')](_0x146f6e[_0x1a4e('0x2dcf')](_0x326eae),_0x420b32,_0x1b06ad,_0x2c9ec9),_0x326eae=void 0x0);var _0x41611e=_0x55ff7e(_0x146f6e,_0x420b32,_0x4cf43d);_0x368e5a[_0x1a4e('0x23e8')](_0x4cf43d)&&(_0x56674b=_0x368e5a[_0x1a4e('0x252')](_0x56674b,_0x41611e[_0x1a4e('0x24a7')])),_0x2327c6(_0x146f6e,_0x48425e,_0x41611e,_0x48425e);}else _0x326eae=_0x368e5a[_0x1a4e('0x252')](_0x326eae,_0x48425e);}}_0x326eae&&_0x146f6e[_0x1a4e('0x2dce')](_0x146f6e[_0x1a4e('0x2dcf')](_0x326eae),_0x420b32,_0x1b06ad,_0x2c9ec9);}(_0x146f6e,_0xf79407,_0x56674b,_0x2c9ec9,_0x420b32):_0x368e5a[_0x1a4e('0x2558')](_0x56674b)?function(_0x146f6e,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad,_0x326eae,_0x56674b=_0x368e5a[_0x1a4e('0x2d6a')](_0xf79407),_0x2764ab=_0x56674b[_0x1a4e('0x1e')];if(_0x146f6e['level']<0x1&&_0x146f6e[_0x1a4e('0x2744')])_0x2c9ec9=_0x1adc17(_0x146f6e,_0x368e5a['createReadHelper'](_0x146f6e[_0x1a4e('0x8cb')],_0x2c9ec9,_0x2764ab>0x0&&_0x368e5a[_0x1a4e('0x2d67')](_0x56674b[_0x2764ab-0x1])?void 0x0:_0x2764ab,_0x420b32),!0x1,_0x420b32);else if(0x1!==_0x2764ab&&(_0x146f6e[_0x1a4e('0x2dd0')]<0x1||0x0===_0x2764ab)||_0x368e5a[_0x1a4e('0x114')](_0x56674b,_0x368e5a[_0x1a4e('0x2506')])){var _0x4fa686=!_0x368e5a['isDeclarationBindingElement'](_0x55ff7e)||0x0!==_0x2764ab;_0x2c9ec9=_0x1adc17(_0x146f6e,_0x2c9ec9,_0x4fa686,_0x420b32);}for(var _0x444fff=0x0;_0x444fff<_0x2764ab;_0x444fff++){var _0x570e9b=_0x56674b[_0x444fff];if(_0x146f6e['level']>=0x1)if(0x40000&_0x570e9b['transformFlags']){var _0x25de24=_0x368e5a['createTempVariable'](void 0x0);_0x146f6e[_0x1a4e('0x2dd1')]&&_0x146f6e['context'][_0x1a4e('0x2dd2')](_0x25de24),_0x326eae=_0x368e5a[_0x1a4e('0x252')](_0x326eae,[_0x25de24,_0x570e9b]),_0x1b06ad=_0x368e5a[_0x1a4e('0x252')](_0x1b06ad,_0x146f6e[_0x1a4e('0x2dd3')](_0x25de24));}else _0x1b06ad=_0x368e5a[_0x1a4e('0x252')](_0x1b06ad,_0x570e9b);else{if(_0x368e5a[_0x1a4e('0x2506')](_0x570e9b))continue;if(_0x368e5a['getRestIndicatorOfBindingOrAssignmentElement'](_0x570e9b)){if(_0x444fff===_0x2764ab-0x1){var _0x51b578=_0x368e5a[_0x1a4e('0x2d2b')](_0x2c9ec9,_0x444fff);_0x2327c6(_0x146f6e,_0x570e9b,_0x51b578,_0x570e9b);}}else{var _0x51b578=_0x368e5a[_0x1a4e('0x2897')](_0x2c9ec9,_0x444fff);_0x2327c6(_0x146f6e,_0x570e9b,_0x51b578,_0x570e9b);}}}_0x1b06ad&&_0x146f6e['emitBindingOrAssignment'](_0x146f6e[_0x1a4e('0x2dd4')](_0x1b06ad),_0x2c9ec9,_0x420b32,_0xf79407);if(_0x326eae)for(var _0x477434=0x0,_0x1a8bbe=_0x326eae;_0x477434<_0x1a8bbe[_0x1a4e('0x1e')];_0x477434++){var _0x5a0b95=_0x1a8bbe[_0x477434],_0x398b22=_0x5a0b95[0x0],_0x570e9b=_0x5a0b95[0x1];_0x2327c6(_0x146f6e,_0x570e9b,_0x398b22,_0x570e9b);}}(_0x146f6e,_0xf79407,_0x56674b,_0x2c9ec9,_0x420b32):_0x146f6e[_0x1a4e('0x2dce')](_0x56674b,_0x2c9ec9,_0x420b32,_0xf79407);}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a['isComputedPropertyName'](_0x55ff7e)){var _0xf79407=_0x1adc17(_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x55ff7e[_0x1a4e('0x2302')],_0x146f6e[_0x1a4e('0x2dcc')]),!0x1,_0x55ff7e);return _0x368e5a['createElementAccess'](_0x2327c6,_0xf79407);}if(_0x368e5a[_0x1a4e('0x2674')](_0x55ff7e))return(_0xf79407=_0x368e5a[_0x1a4e('0x28ca')](_0x55ff7e))[_0x1a4e('0xe04')]=_0xf79407[_0x1a4e('0xe04')],_0x368e5a[_0x1a4e('0x2897')](_0x2327c6,_0xf79407);var _0x2c9ec9=_0x368e5a['createIdentifier'](_0x368e5a[_0x1a4e('0x2353')](_0x55ff7e));return _0x368e5a[_0x1a4e('0x2894')](_0x2327c6,_0x2c9ec9);}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)&&_0x55ff7e)return _0x2327c6;var _0xf79407=_0x368e5a[_0x1a4e('0x2c27')](void 0x0);return _0x146f6e[_0x1a4e('0x2dd1')]?(_0x146f6e[_0x1a4e('0x8cb')][_0x1a4e('0x2dd2')](_0xf79407),_0x146f6e[_0x1a4e('0x2dd5')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2d07')](_0xf79407,_0x2327c6),_0x1adc17))):_0x146f6e[_0x1a4e('0x2dce')](_0xf79407,_0x2327c6,_0x1adc17,void 0x0),_0xf79407;}function _0xf79407(_0x146f6e){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2d97')](_0x146f6e,_0x368e5a[_0x1a4e('0x2556')]),_0x368e5a['createArrayBindingPattern'](_0x146f6e);}function _0x2c9ec9(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c60')](_0x368e5a[_0x1a4e('0x21')](_0x146f6e,_0x368e5a[_0x1a4e('0x2dd6')]));}function _0x420b32(_0x146f6e){return _0x368e5a['Debug'][_0x1a4e('0x2d97')](_0x146f6e,_0x368e5a[_0x1a4e('0x24a6')]),_0x368e5a[_0x1a4e('0x2c5c')](_0x146f6e);}function _0x1b06ad(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c62')](_0x368e5a[_0x1a4e('0x21')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d6b')]));}function _0x326eae(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c5f')](void 0x0,void 0x0,_0x146f6e);}function _0x56674b(_0x368e5a){return _0x368e5a;}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x18f3')]=0x0]=_0x1a4e('0x18f3'),_0x368e5a[_0x368e5a[_0x1a4e('0x2dd7')]=0x1]=_0x1a4e('0x2dd7');}(_0x368e5a['FlattenLevel']||(_0x368e5a[_0x1a4e('0x2dd8')]={})),_0x368e5a['flattenDestructuringAssignment']=function(_0x55ff7e,_0xf79407,_0x420b32,_0x326eae,_0x10c4dc,_0x5791c4){var _0x501a57,_0x2d46a8,_0x193703=_0x55ff7e;if(_0x368e5a[_0x1a4e('0x2462')](_0x55ff7e))for(_0x501a57=_0x55ff7e[_0x1a4e('0x5d')];_0x368e5a[_0x1a4e('0x2dd9')](_0x55ff7e[_0x1a4e('0x5f')])||_0x368e5a['isEmptyObjectLiteral'](_0x55ff7e[_0x1a4e('0x5f')]);){if(!_0x368e5a[_0x1a4e('0x2462')](_0x501a57))return _0x368e5a[_0x1a4e('0x2d76')](_0x501a57,_0xf79407,_0x368e5a[_0x1a4e('0x24a8')]);_0x193703=_0x55ff7e=_0x501a57,_0x501a57=_0x55ff7e['right'];}var _0x31793b={'context':_0x420b32,'level':_0x326eae,'downlevelIteration':!!_0x420b32[_0x1a4e('0x23f1')]()[_0x1a4e('0x2744')],'hoistTempVariables':!0x0,'emitExpression':_0x31d1ee,'emitBindingOrAssignment':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a['Debug']['assertNode'](_0x146f6e,_0x5791c4?_0x368e5a[_0x1a4e('0x2370')]:_0x368e5a[_0x1a4e('0x24a8')]);var _0x2c9ec9=_0x5791c4?_0x5791c4(_0x146f6e,_0x2327c6,_0x55ff7e):_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a['visitNode'](_0x146f6e,_0xf79407,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6),_0x55ff7e);_0x2c9ec9['original']=_0x1adc17,_0x31d1ee(_0x2c9ec9);},'createArrayBindingOrAssignmentPattern':_0x2c9ec9,'createObjectBindingOrAssignmentPattern':_0x1b06ad,'createArrayBindingOrAssignmentElement':_0x56674b,'visitor':_0xf79407};if(_0x501a57&&(_0x501a57=_0x368e5a[_0x1a4e('0x2d76')](_0x501a57,_0xf79407,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a['isIdentifier'](_0x501a57)&&_0x146f6e(_0x55ff7e,_0x501a57[_0x1a4e('0x22f3')])?_0x501a57=_0x1adc17(_0x31793b,_0x501a57,!0x1,_0x193703):_0x10c4dc?_0x501a57=_0x1adc17(_0x31793b,_0x501a57,!0x0,_0x193703):_0x368e5a[_0x1a4e('0x2408')](_0x55ff7e)&&(_0x193703=_0x501a57)),_0x2327c6(_0x31793b,_0x55ff7e,_0x501a57,_0x193703,_0x368e5a['isDestructuringAssignment'](_0x55ff7e)),_0x501a57&&_0x10c4dc){if(!_0x368e5a[_0x1a4e('0x1c2')](_0x2d46a8))return _0x501a57;_0x2d46a8['push'](_0x501a57);}return _0x368e5a[_0x1a4e('0x2c07')](_0x368e5a['inlineExpressions'](_0x2d46a8))||_0x368e5a['createOmittedExpression']();function _0x31d1ee(_0x146f6e){_0x368e5a[_0x1a4e('0x2892')](_0x146f6e,0x40),_0x368e5a['aggregateTransformFlags'](_0x146f6e),_0x2d46a8=_0x368e5a[_0x1a4e('0x252')](_0x2d46a8,_0x146f6e);}},_0x368e5a[_0x1a4e('0x2dda')]=function(_0x55ff7e,_0x2c9ec9,_0x1b06ad,_0x56674b,_0x149e6e,_0x49cd38,_0x57cd2c){var _0x171d85;void 0x0===_0x49cd38&&(_0x49cd38=!0x1);var _0x41e7dc=[],_0x1e0708=[],_0x3ebce0={'context':_0x1b06ad,'level':_0x56674b,'downlevelIteration':!!_0x1b06ad[_0x1a4e('0x23f1')]()[_0x1a4e('0x2744')],'hoistTempVariables':_0x49cd38,'emitExpression':function(_0x146f6e){_0x171d85=_0x368e5a[_0x1a4e('0x252')](_0x171d85,_0x146f6e);},'emitBindingOrAssignment':_0x45791c,'createArrayBindingOrAssignmentPattern':_0xf79407,'createObjectBindingOrAssignmentPattern':_0x420b32,'createArrayBindingOrAssignmentElement':_0x326eae,'visitor':_0x2c9ec9};if(_0x368e5a[_0x1a4e('0x238d')](_0x55ff7e)){var _0x29b3c0=_0x368e5a[_0x1a4e('0x2dcb')](_0x55ff7e);_0x29b3c0&&_0x368e5a[_0x1a4e('0x2370')](_0x29b3c0)&&_0x146f6e(_0x55ff7e,_0x29b3c0[_0x1a4e('0x22f3')])&&(_0x29b3c0=_0x1adc17(_0x3ebce0,_0x29b3c0,!0x1,_0x29b3c0),_0x55ff7e=_0x368e5a[_0x1a4e('0x2cae')](_0x55ff7e,_0x55ff7e[_0x1a4e('0x2cb')],_0x55ff7e[_0x1a4e('0x40')],_0x29b3c0));}if(_0x2327c6(_0x3ebce0,_0x55ff7e,_0x149e6e,_0x55ff7e,_0x57cd2c),_0x171d85){var _0x21f061=_0x368e5a[_0x1a4e('0x2c27')](void 0x0);if(_0x49cd38){var _0x175889=_0x368e5a[_0x1a4e('0x2d45')](_0x171d85);_0x171d85=void 0x0,_0x45791c(_0x21f061,_0x175889,void 0x0,void 0x0);}else{_0x1b06ad[_0x1a4e('0x2dd2')](_0x21f061);var _0x35221a=_0x368e5a[_0x1a4e('0x10b1')](_0x41e7dc);_0x35221a[_0x1a4e('0x2ddb')]=_0x368e5a[_0x1a4e('0x252')](_0x35221a['pendingExpressions'],_0x368e5a['createAssignment'](_0x21f061,_0x35221a['value'])),_0x368e5a['addRange'](_0x35221a[_0x1a4e('0x2ddb')],_0x171d85),_0x35221a[_0x1a4e('0x255')]=_0x21f061;}}for(var _0x161f6b=0x0,_0x177d07=_0x41e7dc;_0x161f6b<_0x177d07[_0x1a4e('0x1e')];_0x161f6b++){var _0x5110be=_0x177d07[_0x161f6b],_0x46ca40=_0x5110be[_0x1a4e('0x2ddb')],_0x1b8e9c=_0x5110be[_0x1a4e('0x2cb')],_0x4a13a5=(_0x175889=_0x5110be[_0x1a4e('0x255')],_0x5110be[_0x1a4e('0xbc')]),_0x105e3b=_0x5110be[_0x1a4e('0x1604')],_0x4a6630=_0x368e5a[_0x1a4e('0x2cad')](_0x1b8e9c,void 0x0,_0x46ca40?_0x368e5a[_0x1a4e('0x2d45')](_0x368e5a[_0x1a4e('0x252')](_0x46ca40,_0x175889)):_0x175889);_0x4a6630[_0x1a4e('0x1604')]=_0x105e3b,_0x368e5a[_0x1a4e('0x2d12')](_0x4a6630,_0x4a13a5),_0x368e5a[_0x1a4e('0x2370')](_0x1b8e9c)&&_0x368e5a[_0x1a4e('0x2892')](_0x4a6630,0x40),_0x368e5a['aggregateTransformFlags'](_0x4a6630),_0x1e0708[_0x1a4e('0x46')](_0x4a6630);}return _0x1e0708;function _0x45791c(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a[_0x1a4e('0x1749')]['assertNode'](_0x146f6e,_0x368e5a['isBindingName']),_0x171d85&&(_0x2327c6=_0x368e5a[_0x1a4e('0x2d45')](_0x368e5a[_0x1a4e('0x252')](_0x171d85,_0x2327c6)),_0x171d85=void 0x0),_0x41e7dc['push']({'pendingExpressions':_0x171d85,'name':_0x146f6e,'value':_0x2327c6,'location':_0x55ff7e,'original':_0x1adc17});}};var _0xb480ee={'name':_0x1a4e('0x2ddc'),'scoped':!0x1,'text':_0x1a4e('0x2ddd')};function _0x4fe410(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x146f6e[_0x1a4e('0x2d33')](_0xb480ee);for(var _0x2c9ec9=[],_0x420b32=0x0,_0x1b06ad=0x0;_0x1b06ad<_0x55ff7e[_0x1a4e('0x1e')]-0x1;_0x1b06ad++){var _0x326eae=_0x368e5a[_0x1a4e('0x2d68')](_0x55ff7e[_0x1b06ad]);if(_0x326eae)if(_0x368e5a['isComputedPropertyName'](_0x326eae)){var _0x56674b=_0x1adc17[_0x420b32];_0x420b32++,_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a['createConditional'](_0x368e5a[_0x1a4e('0x2d26')](_0x56674b,_0x1a4e('0xb1b')),_0x56674b,_0x368e5a[_0x1a4e('0x2dde')](_0x56674b,_0x368e5a[_0x1a4e('0x2896')](''))));}else _0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2896')](_0x326eae));}return _0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2ddf')](_0x1a4e('0x1289')),void 0x0,[_0x2327c6,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c60')](_0x2c9ec9),_0xf79407)]);}}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6,_0x55ff7e=!0x1;function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32){var _0x1b06ad=[];return _0x1b06ad['push'](_0x368e5a['createArrayLiteral'](_0x2327c6,!0x0)),_0x1b06ad['push'](_0x55ff7e),_0x1adc17&&(_0x1b06ad['push'](_0x1adc17),_0x2c9ec9&&_0x1b06ad[_0x1a4e('0x46')](_0x2c9ec9)),_0x146f6e[_0x1a4e('0x2d33')](_0xf79407),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2ddf')]('__decorate'),void 0x0,_0x1b06ad),_0x420b32);}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2de0')]=0x1]=_0x1a4e('0x2de0'),_0x368e5a[_0x368e5a[_0x1a4e('0x2de1')]=0x2]=_0x1a4e('0x2de1'),_0x368e5a[_0x368e5a[_0x1a4e('0x2de2')]=0x8]=_0x1a4e('0x2de2');}(_0x146f6e||(_0x146f6e={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]='None',_0x368e5a[_0x368e5a[_0x1a4e('0x2de3')]=0x1]=_0x1a4e('0x2de3'),_0x368e5a[_0x368e5a['HasConstructorDecorators']=0x2]=_0x1a4e('0x2de4'),_0x368e5a[_0x368e5a['HasMemberDecorators']=0x4]=_0x1a4e('0x2de5'),_0x368e5a[_0x368e5a[_0x1a4e('0x2de6')]=0x8]=_0x1a4e('0x2de6'),_0x368e5a[_0x368e5a[_0x1a4e('0x2de7')]=0x10]=_0x1a4e('0x2de7'),_0x368e5a[_0x368e5a[_0x1a4e('0x2de8')]=0x20]=_0x1a4e('0x2de8'),_0x368e5a[_0x368e5a[_0x1a4e('0x2de9')]=0x40]=_0x1a4e('0x2de9'),_0x368e5a[_0x368e5a['UseImmediatelyInvokedFunctionExpression']=0x80]=_0x1a4e('0x2dea'),_0x368e5a[_0x368e5a['HasAnyDecorators']=0x6]=_0x1a4e('0x2deb'),_0x368e5a[_0x368e5a[_0x1a4e('0x2dec')]=0x5]=_0x1a4e('0x2dec'),_0x368e5a[_0x368e5a['MayNeedImmediatelyInvokedFunctionExpression']=0x7]=_0x1a4e('0x2ded'),_0x368e5a[_0x368e5a[_0x1a4e('0x2dee')]=0x38]='IsExported';}(_0x2327c6||(_0x2327c6={})),_0x368e5a[_0x1a4e('0x2def')]=function(_0x146f6e){var _0x2327c6,_0xf79407,_0x420b32,_0x326eae,_0x56674b,_0x50080f,_0x319183,_0xd5e231,_0x46362c,_0x45e559,_0x122626=_0x146f6e[_0x1a4e('0x2d70')],_0x31b66e=_0x146f6e[_0x1a4e('0x2d73')],_0x393107=_0x146f6e[_0x1a4e('0x2d72')],_0x1ccf63=_0x146f6e[_0x1a4e('0x2dd2')],_0x4a6d14=_0x146f6e[_0x1a4e('0x2df0')](),_0x2c0814=_0x146f6e[_0x1a4e('0x23f1')](),_0x1f6545=_0x368e5a[_0x1a4e('0x2591')](_0x2c0814,_0x1a4e('0x288d')),_0x305c2a=_0x368e5a[_0x1a4e('0x2589')](_0x2c0814),_0x473dbe=_0x368e5a[_0x1a4e('0x2348')](_0x2c0814),_0x1bda8c=_0x146f6e[_0x1a4e('0x2df1')],_0x161c4e=_0x146f6e[_0x1a4e('0x2df2')];return _0x146f6e[_0x1a4e('0x2df1')]=function(_0x146f6e,_0x55ff7e,_0x1adc17){var _0xf79407=_0x46362c,_0x2c9ec9=_0x2327c6;_0x368e5a[_0x1a4e('0x22f0')](_0x55ff7e)&&(_0x2327c6=_0x55ff7e),0x2&_0x319183&&function(_0x146f6e){return 0xf4===_0x368e5a[_0x1a4e('0x24d0')](_0x146f6e)[_0x1a4e('0x146b')];}(_0x55ff7e)&&(_0x46362c|=0x2),0x8&_0x319183&&function(_0x146f6e){return 0xf3===_0x368e5a['getOriginalNode'](_0x146f6e)['kind'];}(_0x55ff7e)&&(_0x46362c|=0x8),_0x1bda8c(_0x146f6e,_0x55ff7e,_0x1adc17),_0x46362c=_0xf79407,_0x2327c6=_0x2c9ec9;},_0x146f6e['onSubstituteNode']=function(_0x146f6e,_0x2327c6){return _0x2327c6=_0x161c4e(_0x146f6e,_0x2327c6),0x1===_0x146f6e?function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return function(_0x146f6e){return function(_0x146f6e){if(0x1&_0x319183&&0x2000000&_0x4a6d14[_0x1a4e('0x2df3')](_0x146f6e)){var _0x2327c6=_0x4a6d14[_0x1a4e('0x2dc6')](_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0xd5e231[_0x2327c6['id']];if(_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x28ca')](_0x55ff7e);return _0x368e5a['setSourceMapRange'](_0x1adc17,_0x146f6e),_0x368e5a[_0x1a4e('0x28c2')](_0x1adc17,_0x146f6e),_0x1adc17;}}}}(_0x146f6e)||_0x51a148(_0x146f6e)||_0x146f6e;}(_0x146f6e);case 0xbd:case 0xbe:return function(_0x368e5a){return _0x8effec(_0x368e5a);}(_0x146f6e);}return _0x146f6e;}(_0x2327c6):_0x368e5a['isShorthandPropertyAssignment'](_0x2327c6)?function(_0x146f6e){if(0x2&_0x319183){var _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')],_0x55ff7e=_0x51a148(_0x2327c6);if(_0x55ff7e){if(_0x146f6e[_0x1a4e('0x2471')]){var _0x1adc17=_0x368e5a[_0x1a4e('0x2d07')](_0x55ff7e,_0x146f6e['objectAssignmentInitializer']);return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d3d')](_0x2327c6,_0x1adc17),_0x146f6e);}return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d3d')](_0x2327c6,_0x55ff7e),_0x146f6e);}}return _0x146f6e;}(_0x2327c6):_0x2327c6;},_0x146f6e[_0x1a4e('0x2df4')](0xbd),_0x146f6e[_0x1a4e('0x2df4')](0xbe),function(_0x146f6e){return 0x118===_0x146f6e['kind']?function(_0x146f6e){return _0x368e5a['createBundle'](_0x146f6e[_0x1a4e('0x2c1e')]['map'](_0x1074e6),_0x368e5a[_0x1a4e('0x1713')](_0x146f6e[_0x1a4e('0x2d02')],function(_0x146f6e){return 0x11a===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['createUnparsedSourceFile'](_0x146f6e[_0x1a4e('0x2cfc')],_0x146f6e[_0x1a4e('0x2df5')],_0x146f6e[_0x1a4e('0x2cfd')]):_0x146f6e;}));}(_0x146f6e):_0x1074e6(_0x146f6e);};function _0x1074e6(_0x55ff7e){if(_0x55ff7e['isDeclarationFile'])return _0x55ff7e;_0x2327c6=_0x55ff7e;var _0x1adc17=_0x5270f3(_0x55ff7e,_0x57c565);return _0x368e5a[_0x1a4e('0x2d21')](_0x1adc17,_0x146f6e['readEmitHelpers']()),_0x2327c6=void 0x0,_0x1adc17;}function _0x5270f3(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x326eae,_0x1adc17=_0x56674b,_0xf79407=_0x50080f;!function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x117:case 0xf6:case 0xf5:case 0xda:_0x326eae=_0x146f6e,_0x56674b=void 0x0,_0x50080f=void 0x0;break;case 0xf0:case 0xef:if(_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x2))break;_0x146f6e[_0x1a4e('0x2cb')]?_0x486342(_0x146f6e):_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xf0===_0x146f6e[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x200)),_0x368e5a[_0x1a4e('0x251d')](_0x146f6e)&&(_0x56674b=_0x146f6e);}}(_0x146f6e);var _0x2c9ec9=_0x2327c6(_0x146f6e);return _0x326eae!==_0x55ff7e&&(_0x50080f=_0xf79407),_0x326eae=_0x55ff7e,_0x56674b=_0x1adc17,_0x2c9ec9;}function _0x50ba8d(_0x368e5a){return _0x5270f3(_0x368e5a,_0x48800e);}function _0x48800e(_0x2327c6){return 0x1&_0x2327c6['transformFlags']?_0x3fd363(_0x2327c6):0x2&_0x2327c6[_0x1a4e('0x257c')]?_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x50ba8d,_0x146f6e):_0x2327c6;}function _0x3e63cb(_0x368e5a){return _0x5270f3(_0x368e5a,_0x16161f);}function _0x16161f(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xf9:case 0xf8:case 0xfe:case 0xff:return function(_0x2327c6){if(_0x368e5a['getParseTreeNode'](_0x2327c6)!==_0x2327c6)return 0x2&_0x2327c6[_0x1a4e('0x257c')]?_0x368e5a['visitEachChild'](_0x2327c6,_0x50ba8d,_0x146f6e):_0x2327c6;switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xf9:return function(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x23c6')])return _0x146f6e;var _0x2327c6=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['importClause'],_0x1398de,_0x368e5a[_0x1a4e('0x2d8d')]);return _0x2327c6?_0x368e5a[_0x1a4e('0x2cc0')](_0x146f6e,void 0x0,void 0x0,_0x2327c6,_0x146f6e['moduleSpecifier']):void 0x0;}(_0x2327c6);case 0xf8:return _0x2b6449(_0x2327c6);case 0xfe:return function(_0x2327c6){return _0x4a6d14[_0x1a4e('0x2df6')](_0x2327c6)?_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x50ba8d,_0x146f6e):void 0x0;}(_0x2327c6);case 0xff:return function(_0x146f6e){if(!_0x146f6e['exportClause'])return _0x2c0814[_0x1a4e('0x2347')]||_0x4a6d14['moduleExportsSomeValue'](_0x146f6e[_0x1a4e('0x23c5')])?_0x146f6e:void 0x0;if(_0x4a6d14[_0x1a4e('0x2df6')](_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x260d')],_0x2d7ba5,_0x368e5a[_0x1a4e('0x2523')]);return _0x2327c6?_0x368e5a['updateExportDeclaration'](_0x146f6e,void 0x0,void 0x0,_0x2327c6,_0x146f6e['moduleSpecifier']):void 0x0;}}(_0x2327c6);default:_0x368e5a[_0x1a4e('0x1749')]['fail'](_0x1a4e('0x2df7'));}}(_0x2327c6);default:return _0x48800e(_0x2327c6);}}function _0x5a1af4(_0x368e5a){return _0x5270f3(_0x368e5a,_0x13a4c9);}function _0x13a4c9(_0x2327c6){if(0xff!==_0x2327c6[_0x1a4e('0x146b')]&&0xf9!==_0x2327c6['kind']&&0xfa!==_0x2327c6[_0x1a4e('0x146b')]&&(0xf8!==_0x2327c6[_0x1a4e('0x146b')]||0x103!==_0x2327c6[_0x1a4e('0x236d')][_0x1a4e('0x146b')]))return 0x1&_0x2327c6[_0x1a4e('0x257c')]||_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x1)?_0x3fd363(_0x2327c6):0x2&_0x2327c6[_0x1a4e('0x257c')]?_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x50ba8d,_0x146f6e):_0x2327c6;}function _0x2d9ad1(_0x368e5a){return _0x5270f3(_0x368e5a,_0x43bb1b);}function _0x43bb1b(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9d:return;case 0x9a:case 0xa2:case 0x9e:case 0x9f:case 0x9c:return _0x48800e(_0x146f6e);case 0xd9:return _0x146f6e;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2df8')](_0x146f6e);}}function _0x386fbf(_0x146f6e){if(!(0x8de&_0x368e5a[_0x1a4e('0x245e')](_0x146f6e[_0x1a4e('0x146b')])||_0xf79407&&0x55===_0x146f6e[_0x1a4e('0x146b')]))return _0x146f6e;}function _0x3fd363(_0x55ff7e){if(_0x368e5a[_0x1a4e('0x24c6')](_0x55ff7e,0x2)&&_0x368e5a[_0x1a4e('0x2569')](_0x55ff7e))return _0x368e5a[_0x1a4e('0x2cf2')](_0x55ff7e);switch(_0x55ff7e['kind']){case 0x55:case 0x50:return _0xf79407?void 0x0:_0x55ff7e;case 0x73:case 0x71:case 0x72:case 0x76:case 0x4d:case 0x7d:case 0x85:case 0xa9:case 0xaa:case 0xab:case 0xac:case 0xa8:case 0xa3:case 0x96:case 0x78:case 0x8f:case 0x7b:case 0x8a:case 0x87:case 0x84:case 0x6a:case 0x8b:case 0xa6:case 0xa5:case 0xa7:case 0xa4:case 0xad:case 0xae:case 0xaf:case 0xb1:case 0xb2:case 0xb3:case 0xb4:case 0xb5:case 0xb6:case 0xa2:case 0x98:case 0xf2:return;case 0x9a:return function(_0x146f6e){var _0x2327c6=_0x2383e5(_0x146f6e['name'],_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x232f')])||!!_0x146f6e[_0x1a4e('0x236a')],!0x0);_0x2327c6&&!_0x25276b(_0x2327c6)&&(_0x45e559||(_0x45e559=[]))[_0x1a4e('0x46')](_0x2327c6);}(_0x55ff7e);case 0xf7:return;case 0x9d:return function(_0x2327c6){if(_0x2bbd9e(_0x2327c6))return _0x368e5a[_0x1a4e('0x2c3d')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x232f')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24eb')]),_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x50ba8d,_0x368e5a[_0x1a4e('0x2549')]),_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6['parameters'],_0x50ba8d,_0x146f6e),_0x368e5a['visitFunctionBody'](_0x2327c6[_0x1a4e('0x8f2')],_0x50ba8d,_0x146f6e));}(_0x55ff7e);case 0xf1:return _0x368e5a[_0x1a4e('0x2cf2')](_0x55ff7e);case 0xf0:return function(_0x55ff7e){var _0xf79407=_0x45e559;_0x45e559=void 0x0;var _0x2c9ec9=_0x587b0a(_0x55ff7e,!0x0),_0x420b32=function(_0x146f6e,_0x2327c6){var _0x55ff7e=0x0;_0x368e5a[_0x1a4e('0x1c2')](_0x2327c6)&&(_0x55ff7e|=0x1);var _0x1adc17=_0x368e5a[_0x1a4e('0x1679')](_0x146f6e);return _0x1adc17&&0x60!==_0x368e5a[_0x1a4e('0x2aa7')](_0x1adc17[_0x1a4e('0x2302')])[_0x1a4e('0x146b')]&&(_0x55ff7e|=0x40),function(_0x146f6e){if(_0x146f6e['decorators']&&_0x146f6e[_0x1a4e('0x232f')]['length']>0x0)return!0x0;var _0x2327c6=_0x368e5a[_0x1a4e('0x2b44')](_0x146f6e);return!!_0x2327c6&&_0x368e5a[_0x1a4e('0x3b')](_0x2327c6[_0x1a4e('0x111a')],_0x59ed0e);}(_0x146f6e)&&(_0x55ff7e|=0x2),_0x368e5a['childIsDecorated'](_0x146f6e)&&(_0x55ff7e|=0x4),_0x96386a(_0x146f6e)?_0x55ff7e|=0x8:function(_0x146f6e){return _0x4c93f7(_0x146f6e)&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x200);}(_0x146f6e)?_0x55ff7e|=0x20:_0x5e268d(_0x146f6e)&&(_0x55ff7e|=0x10),_0x305c2a<=0x1&&0x7&_0x55ff7e&&(_0x55ff7e|=0x80),_0x55ff7e;}(_0x55ff7e,_0x2c9ec9);0x80&_0x420b32&&_0x146f6e[_0x1a4e('0x2d70')]();var _0x1b06ad=_0x55ff7e[_0x1a4e('0x2cb')]||(0x5&_0x420b32?_0x368e5a['getGeneratedNameForNode'](_0x55ff7e):void 0x0),_0x326eae=0x2&_0x420b32?function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x247f')](_0x146f6e),_0xf79407=function(_0x146f6e){if(0x1000000&_0x4a6d14[_0x1a4e('0x2df3')](_0x146f6e)){_0x4bc230();var _0x2327c6=_0x368e5a[_0x1a4e('0x2c29')](_0x146f6e[_0x1a4e('0x2cb')]&&!_0x368e5a['isGeneratedIdentifier'](_0x146f6e[_0x1a4e('0x2cb')])?_0x368e5a[_0x1a4e('0x2353')](_0x146f6e[_0x1a4e('0x2cb')]):_0x1a4e('0x8'));return _0xd5e231[_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e)]=_0x2327c6,_0x1ccf63(_0x2327c6),_0x2327c6;}}(_0x146f6e),_0x2c9ec9=_0x368e5a['getLocalName'](_0x146f6e,!0x1,!0x0),_0x420b32=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e['heritageClauses'],_0x50ba8d,_0x368e5a['isHeritageClause']),_0x1b06ad=_0x397c41(_0x146f6e,0x0!=(0x40&_0x55ff7e)),_0x326eae=_0x368e5a['createClassExpression'](void 0x0,_0x2327c6,void 0x0,_0x420b32,_0x1b06ad);_0x368e5a[_0x1a4e('0x2d25')](_0x326eae,_0x146f6e),_0x368e5a[_0x1a4e('0x2d12')](_0x326eae,_0x1adc17);var _0x56674b=_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x2c9ec9,void 0x0,_0xf79407?_0x368e5a[_0x1a4e('0x2d07')](_0xf79407,_0x326eae):_0x326eae)],0x1));return _0x368e5a['setOriginalNode'](_0x56674b,_0x146f6e),_0x368e5a[_0x1a4e('0x2d12')](_0x56674b,_0x1adc17),_0x368e5a[_0x1a4e('0x28c2')](_0x56674b,_0x146f6e),_0x56674b;}(_0x55ff7e,_0x1b06ad,_0x420b32):function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=0x80&_0x55ff7e?void 0x0:_0x368e5a['visitNodes'](_0x146f6e[_0x1a4e('0x242d')],_0x386fbf,_0x368e5a[_0x1a4e('0x2549')]),_0xf79407=_0x368e5a[_0x1a4e('0x2df9')](void 0x0,_0x1adc17,_0x2327c6,void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x237f')],_0x50ba8d,_0x368e5a[_0x1a4e('0x252f')]),_0x397c41(_0x146f6e,0x0!=(0x40&_0x55ff7e))),_0x2c9ec9=_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e);return 0x1&_0x55ff7e&&(_0x2c9ec9|=0x20),_0x368e5a['setTextRange'](_0xf79407,_0x146f6e),_0x368e5a['setOriginalNode'](_0xf79407,_0x146f6e),_0x368e5a[_0x1a4e('0x2892')](_0xf79407,_0x2c9ec9),_0xf79407;}(_0x55ff7e,_0x1b06ad,_0x420b32),_0x56674b=[_0x326eae];if(_0x368e5a[_0x1a4e('0x1c2')](_0x45e559)&&_0x56674b['push'](_0x368e5a['createExpressionStatement'](_0x368e5a['inlineExpressions'](_0x45e559))),_0x45e559=_0xf79407,0x1&_0x420b32&&_0x38258b(_0x56674b,_0x2c9ec9,0x80&_0x420b32?_0x368e5a[_0x1a4e('0x2d4c')](_0x55ff7e):_0x368e5a[_0x1a4e('0x2dfa')](_0x55ff7e)),_0x1f83c3(_0x56674b,_0x55ff7e,!0x1),_0x1f83c3(_0x56674b,_0x55ff7e,!0x0),function(_0x2327c6,_0x55ff7e){var _0xf79407=function(_0x2327c6){var _0x55ff7e=function(_0x146f6e){var _0x2327c6=_0x146f6e['decorators'],_0x55ff7e=_0x59ea51(_0x368e5a[_0x1a4e('0x2b44')](_0x146f6e));if(_0x2327c6||_0x55ff7e)return{'decorators':_0x2327c6,'parameters':_0x55ff7e};}(_0x2327c6),_0xf79407=_0x367252(_0x2327c6,_0x2327c6,_0x55ff7e);if(_0xf79407){var _0x2c9ec9=_0xd5e231&&_0xd5e231[_0x368e5a[_0x1a4e('0x2dc2')](_0x2327c6)],_0x420b32=_0x368e5a[_0x1a4e('0x2dfa')](_0x2327c6,!0x1,!0x0),_0x1b06ad=_0x1adc17(_0x146f6e,_0xf79407,_0x420b32),_0x326eae=_0x368e5a[_0x1a4e('0x2d07')](_0x420b32,_0x2c9ec9?_0x368e5a[_0x1a4e('0x2d07')](_0x2c9ec9,_0x1b06ad):_0x1b06ad);return _0x368e5a[_0x1a4e('0x2892')](_0x326eae,0x600),_0x368e5a[_0x1a4e('0x2d14')](_0x326eae,_0x368e5a[_0x1a4e('0x247f')](_0x2327c6)),_0x326eae;}}(_0x55ff7e);_0xf79407&&_0x2327c6[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['createExpressionStatement'](_0xf79407),_0x55ff7e));}(_0x56674b,_0x55ff7e),0x80&_0x420b32){var _0x50080f=_0x368e5a[_0x1a4e('0x2481')](_0x368e5a[_0x1a4e('0x22c6')](_0x2327c6[_0x1a4e('0xe04')],_0x55ff7e[_0x1a4e('0x2369')][_0x1a4e('0xca')]),0x13),_0x319183=_0x368e5a[_0x1a4e('0x2d4c')](_0x55ff7e),_0x46362c=_0x368e5a['createPartiallyEmittedExpression'](_0x319183);_0x46362c[_0x1a4e('0xca')]=_0x50080f[_0x1a4e('0xca')],_0x368e5a['setEmitFlags'](_0x46362c,0x600);var _0x122626=_0x368e5a['createReturn'](_0x46362c);_0x122626[_0x1a4e('0xa4')]=_0x50080f[_0x1a4e('0xa4')],_0x368e5a[_0x1a4e('0x2892')](_0x122626,0x780),_0x56674b['push'](_0x122626),_0x368e5a[_0x1a4e('0x2329')](_0x56674b,_0x146f6e['endLexicalEnvironment']());var _0x31b66e=_0x368e5a[_0x1a4e('0x2d04')](_0x56674b);_0x368e5a['setEmitFlags'](_0x31b66e,0x2000000);var _0x393107=_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x2dfa')](_0x55ff7e,!0x1,!0x1),void 0x0,_0x31b66e)]));_0x368e5a[_0x1a4e('0x2d25')](_0x393107,_0x55ff7e),_0x368e5a[_0x1a4e('0x28c2')](_0x393107,_0x55ff7e),_0x368e5a['setSourceMapRange'](_0x393107,_0x368e5a[_0x1a4e('0x247f')](_0x55ff7e)),_0x368e5a[_0x1a4e('0x2d60')](_0x393107),_0x56674b=[_0x393107];}return 0x8&_0x420b32?_0x4db354(_0x56674b,_0x55ff7e):(0x80&_0x420b32||0x2&_0x420b32)&&(0x20&_0x420b32?_0x56674b['push'](_0x368e5a[_0x1a4e('0x2d10')](_0x368e5a[_0x1a4e('0x2dfa')](_0x55ff7e,!0x1,!0x0))):0x10&_0x420b32&&_0x56674b[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2dfb')](_0x368e5a[_0x1a4e('0x2dfa')](_0x55ff7e,!0x1,!0x0)))),_0x56674b['length']>0x1&&(_0x56674b[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2dfc')](_0x55ff7e)),_0x368e5a[_0x1a4e('0x2892')](_0x326eae,0x400000|_0x368e5a[_0x1a4e('0x2c65')](_0x326eae))),_0x368e5a['singleOrMany'](_0x56674b);}(_0x55ff7e);case 0xd1:return function(_0x146f6e){var _0x2327c6=_0x45e559;_0x45e559=void 0x0;var _0x55ff7e=_0x587b0a(_0x146f6e,!0x0),_0x1adc17=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x237f')],_0x50ba8d,_0x368e5a[_0x1a4e('0x252f')]),_0xf79407=_0x397c41(_0x146f6e,_0x368e5a[_0x1a4e('0x1c2')](_0x1adc17,function(_0x368e5a){return 0x56===_0x368e5a[_0x1a4e('0x2381')];})),_0x2c9ec9=_0x368e5a[_0x1a4e('0x2c88')](void 0x0,_0x146f6e[_0x1a4e('0x2cb')],void 0x0,_0x1adc17,_0xf79407);if(_0x368e5a['setOriginalNode'](_0x2c9ec9,_0x146f6e),_0x368e5a[_0x1a4e('0x2d12')](_0x2c9ec9,_0x146f6e),_0x368e5a[_0x1a4e('0x1c2')](_0x55ff7e)||_0x368e5a[_0x1a4e('0x1c2')](_0x45e559)){var _0x420b32=[],_0x1b06ad=0x1000000&_0x4a6d14['getNodeCheckFlags'](_0x146f6e),_0x326eae=_0x368e5a['createTempVariable'](_0x1ccf63,!!_0x1b06ad);if(_0x1b06ad){_0x4bc230();var _0x56674b=_0x368e5a[_0x1a4e('0x28ca')](_0x326eae);_0x56674b['autoGenerateFlags']&=-0x9,_0xd5e231[_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e)]=_0x56674b;}return _0x368e5a['setEmitFlags'](_0x2c9ec9,0x10000|_0x368e5a[_0x1a4e('0x2c65')](_0x2c9ec9)),_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d60')](_0x368e5a[_0x1a4e('0x2d07')](_0x326eae,_0x2c9ec9))),_0x368e5a[_0x1a4e('0x23d1')](_0x420b32,_0x368e5a[_0x1a4e('0x21')](_0x45e559,_0x368e5a[_0x1a4e('0x2d60')])),_0x45e559=_0x2327c6,_0x368e5a[_0x1a4e('0x23d1')](_0x420b32,function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=0x0,_0xf79407=_0x146f6e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x125755(_0x2c9ec9,_0x2327c6);_0x368e5a[_0x1a4e('0x2d60')](_0x420b32),_0x368e5a['setSourceMapRange'](_0x420b32,_0x368e5a[_0x1a4e('0x2dfd')](_0x2c9ec9)),_0x368e5a[_0x1a4e('0x28c2')](_0x420b32,_0x2c9ec9),_0x368e5a[_0x1a4e('0x2d25')](_0x420b32,_0x2c9ec9),_0x55ff7e[_0x1a4e('0x46')](_0x420b32);}return _0x55ff7e;}(_0x55ff7e,_0x326eae)),_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d60')](_0x326eae)),_0x368e5a[_0x1a4e('0x2d45')](_0x420b32);}return _0x45e559=_0x2327c6,_0x2c9ec9;}(_0x55ff7e);case 0x111:return function(_0x146f6e){if(0x56===_0x146f6e['token']){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2380')],_0x50ba8d,_0x368e5a[_0x1a4e('0x242f')],0x0,0x1);return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2ce6')](0x56,_0x2327c6),_0x146f6e);}}(_0x55ff7e);case 0xd3:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c8a')](_0x146f6e,void 0x0,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x50ba8d,_0x368e5a['isLeftHandSideExpression']));}(_0x55ff7e);case 0x9c:return function(_0x2327c6){if(_0x2bbd9e(_0x2327c6)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2d7d')](_0x2327c6,void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x386fbf,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6[_0x1a4e('0x23fc')],_0x34e122(_0x2327c6),void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x50ba8d,_0x146f6e),void 0x0,_0x368e5a['visitFunctionBody'](_0x2327c6[_0x1a4e('0x8f2')],_0x50ba8d,_0x146f6e));return _0x55ff7e!==_0x2327c6&&(_0x368e5a['setCommentRange'](_0x55ff7e,_0x2327c6),_0x368e5a[_0x1a4e('0x2d14')](_0x55ff7e,_0x368e5a[_0x1a4e('0x247f')](_0x2327c6))),_0x55ff7e;}}(_0x55ff7e);case 0x9e:return function(_0x2327c6){if(_0x1db8a3(_0x2327c6)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2c3f')](_0x2327c6,void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x386fbf,_0x368e5a[_0x1a4e('0x2549')]),_0x34e122(_0x2327c6),_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x50ba8d,_0x146f6e),void 0x0,_0x368e5a[_0x1a4e('0x2dfe')](_0x2327c6[_0x1a4e('0x8f2')],_0x50ba8d,_0x146f6e)||_0x368e5a[_0x1a4e('0x2c91')]([]));return _0x55ff7e!==_0x2327c6&&(_0x368e5a['setCommentRange'](_0x55ff7e,_0x2327c6),_0x368e5a['setSourceMapRange'](_0x55ff7e,_0x368e5a[_0x1a4e('0x247f')](_0x2327c6))),_0x55ff7e;}}(_0x55ff7e);case 0x9f:return function(_0x2327c6){if(_0x1db8a3(_0x2327c6)){var _0x55ff7e=_0x368e5a['updateSetAccessor'](_0x2327c6,void 0x0,_0x368e5a['visitNodes'](_0x2327c6[_0x1a4e('0x242d')],_0x386fbf,_0x368e5a['isModifier']),_0x34e122(_0x2327c6),_0x368e5a['visitParameterList'](_0x2327c6[_0x1a4e('0x111a')],_0x50ba8d,_0x146f6e),_0x368e5a[_0x1a4e('0x2dfe')](_0x2327c6[_0x1a4e('0x8f2')],_0x50ba8d,_0x146f6e)||_0x368e5a[_0x1a4e('0x2c91')]([]));return _0x55ff7e!==_0x2327c6&&(_0x368e5a[_0x1a4e('0x28c2')](_0x55ff7e,_0x2327c6),_0x368e5a['setSourceMapRange'](_0x55ff7e,_0x368e5a[_0x1a4e('0x247f')](_0x2327c6))),_0x55ff7e;}}(_0x55ff7e);case 0xef:return function(_0x2327c6){if(!_0x2bbd9e(_0x2327c6))return _0x368e5a[_0x1a4e('0x2cf2')](_0x2327c6);var _0x55ff7e=_0x368e5a[_0x1a4e('0x2d8c')](_0x2327c6,void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x386fbf,_0x368e5a['isModifier']),_0x2327c6['asteriskToken'],_0x2327c6[_0x1a4e('0x2cb')],void 0x0,_0x368e5a['visitParameterList'](_0x2327c6[_0x1a4e('0x111a')],_0x50ba8d,_0x146f6e),void 0x0,_0x368e5a[_0x1a4e('0x2dfe')](_0x2327c6[_0x1a4e('0x8f2')],_0x50ba8d,_0x146f6e)||_0x368e5a[_0x1a4e('0x2c91')]([]));if(_0x96386a(_0x2327c6)){var _0x1adc17=[_0x55ff7e];return _0x4db354(_0x1adc17,_0x2327c6),_0x1adc17;}return _0x55ff7e;}(_0x55ff7e);case 0xc4:return function(_0x2327c6){return _0x2bbd9e(_0x2327c6)?_0x368e5a['updateFunctionExpression'](_0x2327c6,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6['modifiers'],_0x386fbf,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6[_0x1a4e('0x23fc')],_0x2327c6[_0x1a4e('0x2cb')],void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6['parameters'],_0x50ba8d,_0x146f6e),void 0x0,_0x368e5a[_0x1a4e('0x2dfe')](_0x2327c6[_0x1a4e('0x8f2')],_0x50ba8d,_0x146f6e)||_0x368e5a[_0x1a4e('0x2c91')]([])):_0x368e5a['createOmittedExpression']();}(_0x55ff7e);case 0xc5:return function(_0x2327c6){return _0x368e5a['updateArrowFunction'](_0x2327c6,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x386fbf,_0x368e5a['isModifier']),void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x50ba8d,_0x146f6e),void 0x0,_0x2327c6['equalsGreaterThanToken'],_0x368e5a[_0x1a4e('0x2dfe')](_0x2327c6['body'],_0x50ba8d,_0x146f6e));}(_0x55ff7e);case 0x97:return function(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x244f')](_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,_0x146f6e[_0x1a4e('0x25f9')],_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2cb')],_0x50ba8d,_0x368e5a[_0x1a4e('0x254c')]),void 0x0,void 0x0,_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x236a')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24a8')]));return _0x368e5a['setOriginalNode'](_0x2327c6,_0x146f6e),_0x368e5a['setTextRange'](_0x2327c6,_0x368e5a['moveRangePastModifiers'](_0x146f6e)),_0x368e5a[_0x1a4e('0x28c2')](_0x2327c6,_0x146f6e),_0x368e5a['setSourceMapRange'](_0x2327c6,_0x368e5a[_0x1a4e('0x2dfd')](_0x146f6e)),_0x368e5a['setEmitFlags'](_0x2327c6[_0x1a4e('0x2cb')],0x20),_0x2327c6;}}(_0x55ff7e);case 0xc3:return function(_0x55ff7e){var _0x1adc17=_0x368e5a['skipOuterExpressions'](_0x55ff7e[_0x1a4e('0x2302')],-0x3);if(_0x368e5a[_0x1a4e('0x255e')](_0x1adc17)){var _0xf79407=_0x368e5a[_0x1a4e('0x2d76')](_0x55ff7e[_0x1a4e('0x2302')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24a8')]);return _0x368e5a[_0x1a4e('0x1e')](_0x368e5a[_0x1a4e('0x2362')](_0xf79407,_0x2327c6))?_0x368e5a[_0x1a4e('0x2d3a')](_0x55ff7e,_0xf79407):_0x368e5a['createPartiallyEmittedExpression'](_0xf79407,_0x55ff7e);}return _0x368e5a[_0x1a4e('0x28cd')](_0x55ff7e,_0x50ba8d,_0x146f6e);}(_0x55ff7e);case 0xc2:case 0xd4:return function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['expression'],_0x50ba8d,_0x368e5a['isExpression']);return _0x368e5a[_0x1a4e('0x2cf4')](_0x2327c6,_0x146f6e);}(_0x55ff7e);case 0xbf:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c68')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24a8')]),void 0x0,_0x368e5a['visitNodes'](_0x146f6e[_0x1a4e('0x2373')],_0x50ba8d,_0x368e5a['isExpression']));}(_0x55ff7e);case 0xc0:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c69')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24a8')]),void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2373')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24a8')]));}(_0x55ff7e);case 0xc1:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c6b')](_0x146f6e,_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x7ba')],_0x50ba8d,_0x368e5a['isExpression']),void 0x0,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['template'],_0x50ba8d,_0x368e5a['isExpression']));}(_0x55ff7e);case 0xd5:return function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x50ba8d,_0x368e5a['isLeftHandSideExpression']);return _0x368e5a[_0x1a4e('0x2cf4')](_0x2327c6,_0x146f6e);}(_0x55ff7e);case 0xf3:return function(_0x146f6e){if(function(_0x146f6e){return!_0x368e5a['isEnumConst'](_0x146f6e)||_0x2c0814[_0x1a4e('0x2781')]||_0x2c0814[_0x1a4e('0x2347')];}(_0x146f6e)){var _0x55ff7e=[],_0x1adc17=0x2,_0xf79407=_0x1ae465(_0x55ff7e,_0x146f6e);_0xf79407&&(_0x473dbe===_0x368e5a['ModuleKind']['System']&&_0x326eae===_0x2327c6||(_0x1adc17|=0x200));var _0x2c9ec9=_0x4aa59c(_0x146f6e),_0x1b06ad=_0x1ae3b2(_0x146f6e),_0x56674b=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)?_0x368e5a[_0x1a4e('0x2d50')](_0x420b32,_0x146f6e,!0x1,!0x0):_0x368e5a['getLocalName'](_0x146f6e,!0x1,!0x0),_0x50080f=_0x368e5a['createLogicalOr'](_0x56674b,_0x368e5a[_0x1a4e('0x2d07')](_0x56674b,_0x368e5a[_0x1a4e('0x2c62')]()));if(_0x3faed8(_0x146f6e)){var _0x319183=_0x368e5a[_0x1a4e('0x2dfa')](_0x146f6e,!0x1,!0x0);_0x50080f=_0x368e5a['createAssignment'](_0x319183,_0x50080f);}var _0xd5e231=_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,[_0x368e5a['createParameter'](void 0x0,void 0x0,void 0x0,_0x2c9ec9)],void 0x0,function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x420b32;_0x420b32=_0x2327c6;var _0x1adc17=[];_0x122626();var _0xf79407=_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2369')],_0x1f11e0);return _0x368e5a['addStatementsAfterPrologue'](_0x1adc17,_0x393107()),_0x368e5a['addRange'](_0x1adc17,_0xf79407),_0x420b32=_0x55ff7e,_0x368e5a[_0x1a4e('0x2c91')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x28d1')](_0x1adc17),_0x146f6e[_0x1a4e('0x2369')]),!0x0);}(_0x146f6e,_0x1b06ad)),void 0x0,[_0x50080f]));return _0x368e5a[_0x1a4e('0x2d25')](_0xd5e231,_0x146f6e),_0xf79407&&(_0x368e5a[_0x1a4e('0x2d1a')](_0xd5e231,void 0x0),_0x368e5a[_0x1a4e('0x2d1c')](_0xd5e231,void 0x0)),_0x368e5a[_0x1a4e('0x2d12')](_0xd5e231,_0x146f6e),_0x368e5a[_0x1a4e('0x2dc8')](_0xd5e231,_0x1adc17),_0x55ff7e['push'](_0xd5e231),_0x55ff7e[_0x1a4e('0x46')](_0x368e5a['createEndOfDeclarationMarker'](_0x146f6e)),_0x55ff7e;}}(_0x55ff7e);case 0xdb:return function(_0x2327c6){if(_0x96386a(_0x2327c6)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2489')](_0x2327c6[_0x1a4e('0x2377')]);if(0x0===_0x55ff7e[_0x1a4e('0x1e')])return;return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d45')](_0x368e5a[_0x1a4e('0x21')](_0x55ff7e,_0x5de935))),_0x2327c6);}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x50ba8d,_0x146f6e);}(_0x55ff7e);case 0xed:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2cae')](_0x146f6e,_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2cb')],_0x50ba8d,_0x368e5a[_0x1a4e('0x254c')]),void 0x0,_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x236a')],_0x50ba8d,_0x368e5a['isExpression']));}(_0x55ff7e);case 0xf4:return _0x1698bc(_0x55ff7e);case 0xf8:return _0x2b6449(_0x55ff7e);default:return _0x368e5a[_0x1a4e('0x1749')]['failBadSyntaxKind'](_0x55ff7e);}}function _0x57c565(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2591')](_0x2c0814,_0x1a4e('0x2839'))&&!(_0x368e5a['isExternalModule'](_0x2327c6)&&_0x473dbe>=_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')])&&!_0x368e5a[_0x1a4e('0x2875')](_0x2327c6);return _0x368e5a[_0x1a4e('0x2cee')](_0x2327c6,_0x368e5a['visitLexicalEnvironment'](_0x2327c6['statements'],_0x3e63cb,_0x146f6e,0x0,_0x55ff7e));}function _0x59ed0e(_0x368e5a){return void 0x0!==_0x368e5a[_0x1a4e('0x232f')]&&_0x368e5a[_0x1a4e('0x232f')][_0x1a4e('0x1e')]>0x0;}function _0x397c41(_0x2327c6,_0x55ff7e){var _0x1adc17=[],_0xf79407=function(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2b44')](_0x2327c6),_0xf79407=_0x368e5a[_0x1a4e('0x3b')](_0x2327c6['members'],_0x42db1b),_0x2c9ec9=_0x1adc17&&0x1000&_0x1adc17[_0x1a4e('0x257c')]&&_0x368e5a[_0x1a4e('0x3b')](_0x1adc17[_0x1a4e('0x111a')],_0x3ff108);if(!_0xf79407&&!_0x2c9ec9)return _0x368e5a['visitEachChild'](_0x1adc17,_0x50ba8d,_0x146f6e);var _0x420b32=function(_0x2327c6){return _0x368e5a['visitParameterList'](_0x2327c6&&_0x2327c6[_0x1a4e('0x111a')],_0x50ba8d,_0x146f6e)||[];}(_0x1adc17),_0x1b06ad=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=[],_0xf79407=0x0;if(_0x31b66e(),_0x2327c6){_0xf79407=function(_0x146f6e,_0x2327c6){if(_0x146f6e[_0x1a4e('0x8f2')]){var _0x55ff7e=_0x146f6e['body'][_0x1a4e('0x2366')],_0x1adc17=_0x368e5a[_0x1a4e('0x2dff')](_0x2327c6,_0x55ff7e,!0x1,_0x50ba8d);if(_0x1adc17===_0x55ff7e[_0x1a4e('0x1e')])return _0x1adc17;var _0xf79407=_0x55ff7e[_0x1adc17];return 0xdd===_0xf79407['kind']&&_0x368e5a['isSuperCall'](_0xf79407[_0x1a4e('0x2302')])?(_0x2327c6[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d76')](_0xf79407,_0x50ba8d,_0x368e5a['isStatement'])),_0x1adc17+0x1):_0x1adc17;}return 0x0;}(_0x2327c6,_0x1adc17);var _0x2c9ec9=function(_0x146f6e){return _0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x111a')],_0x3ff108);}(_0x2327c6);_0x368e5a[_0x1a4e('0x23d1')](_0x1adc17,_0x368e5a[_0x1a4e('0x21')](_0x2c9ec9,_0x502da2));}else _0x55ff7e&&_0x1adc17[_0x1a4e('0x46')](_0x368e5a['createExpressionStatement'](_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2c2b')](),void 0x0,[_0x368e5a[_0x1a4e('0x2d3c')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x2373')))])));var _0x420b32=_0x587b0a(_0x146f6e,!0x1);return _0x38258b(_0x1adc17,_0x420b32,_0x368e5a[_0x1a4e('0x2c2c')]()),_0x2327c6&&_0x368e5a[_0x1a4e('0x23d1')](_0x1adc17,_0x368e5a['visitNodes'](_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0x2366')],_0x50ba8d,_0x368e5a['isStatement'],_0xf79407)),_0x1adc17=_0x368e5a[_0x1a4e('0x2d75')](_0x1adc17,_0x393107()),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c91')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x28d1')](_0x1adc17),_0x2327c6?_0x2327c6[_0x1a4e('0x8f2')]['statements']:_0x146f6e[_0x1a4e('0x2369')]),!0x0),_0x2327c6?_0x2327c6[_0x1a4e('0x8f2')]:void 0x0);}(_0x2327c6,_0x1adc17,_0x55ff7e);return _0x368e5a['startOnNewLine'](_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c3c')](void 0x0,void 0x0,_0x420b32,_0x1b06ad),_0x1adc17||_0x2327c6),_0x1adc17));}(_0x2327c6,_0x55ff7e);return _0xf79407&&_0x1adc17[_0x1a4e('0x46')](_0xf79407),_0x368e5a['addRange'](_0x1adc17,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x2369')],_0x2d9ad1,_0x368e5a[_0x1a4e('0x2368')])),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x1adc17),_0x2327c6[_0x1a4e('0x2369')]);}function _0x3ff108(_0x146f6e){return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x5c)&&_0x368e5a['isIdentifier'](_0x146f6e[_0x1a4e('0x2cb')]);}function _0x502da2(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['name']));var _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')],_0x55ff7e=_0x368e5a[_0x1a4e('0x2cf1')](_0x2327c6);_0x368e5a[_0x1a4e('0x2892')](_0x55ff7e,0x630);var _0x1adc17=_0x368e5a[_0x1a4e('0x2cf1')](_0x2327c6);return _0x368e5a['setEmitFlags'](_0x1adc17,0x600),_0x368e5a['startOnNewLine'](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a['createThis'](),_0x55ff7e),_0x146f6e[_0x1a4e('0x2cb')]),_0x1adc17)),_0x368e5a['moveRangePos'](_0x146f6e,-0x1)),0x600));}function _0x587b0a(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x2369')],_0x2327c6?_0x22c371:_0x42db1b);}function _0x22c371(_0x368e5a){return _0x59d89a(_0x368e5a,!0x0);}function _0x42db1b(_0x368e5a){return _0x59d89a(_0x368e5a,!0x1);}function _0x59d89a(_0x146f6e,_0x2327c6){return 0x9a===_0x146f6e['kind']&&_0x2327c6===_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20)&&void 0x0!==_0x146f6e['initializer'];}function _0x38258b(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x368e5a['createExpressionStatement'](_0x125755(_0x2c9ec9,_0x55ff7e));_0x368e5a[_0x1a4e('0x2d14')](_0x420b32,_0x368e5a['moveRangePastModifiers'](_0x2c9ec9)),_0x368e5a[_0x1a4e('0x28c2')](_0x420b32,_0x2c9ec9),_0x368e5a['setOriginalNode'](_0x420b32,_0x2c9ec9),_0x146f6e[_0x1a4e('0x46')](_0x420b32);}}function _0x125755(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x23e8')](_0x146f6e[_0x1a4e('0x2cb')])&&!_0x25276b(_0x146f6e[_0x1a4e('0x2cb')]['expression'])?_0x368e5a[_0x1a4e('0x2c32')](_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e[_0x1a4e('0x2cb')])):_0x146f6e[_0x1a4e('0x2cb')],_0x1adc17=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236a')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24a8')]),_0xf79407=_0x368e5a[_0x1a4e('0x2d28')](_0x2327c6,_0x55ff7e,_0x55ff7e);return _0x368e5a[_0x1a4e('0x2d07')](_0xf79407,_0x1adc17);}function _0x22a422(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x2369')],_0x2327c6?function(_0x368e5a){return _0x322164(_0x368e5a,!0x0,_0x146f6e);}:function(_0x368e5a){return _0x322164(_0x368e5a,!0x1,_0x146f6e);});}function _0x322164(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['nodeOrChildIsDecorated'](_0x146f6e,_0x55ff7e)&&_0x2327c6===_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20);}function _0x59ea51(_0x368e5a){var _0x146f6e;if(_0x368e5a)for(var _0x2327c6=_0x368e5a[_0x1a4e('0x111a')],_0x55ff7e=0x0;_0x55ff7e<_0x2327c6[_0x1a4e('0x1e')];_0x55ff7e++){var _0x1adc17=_0x2327c6[_0x55ff7e];(_0x146f6e||_0x1adc17[_0x1a4e('0x232f')])&&(_0x146f6e||(_0x146f6e=new Array(_0x2327c6['length'])),_0x146f6e[_0x55ff7e]=_0x1adc17[_0x1a4e('0x232f')]);}return _0x146f6e;}function _0x4f512f(_0x146f6e,_0x2327c6){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x9e:case 0x9f:return function(_0x146f6e,_0x2327c6){if(_0x2327c6['body']){var _0x55ff7e=_0x368e5a['getAllAccessorDeclarations'](_0x146f6e['members'],_0x2327c6),_0x1adc17=_0x55ff7e[_0x1a4e('0x2d49')],_0xf79407=_0x55ff7e[_0x1a4e('0x2bdb')],_0x2c9ec9=_0x55ff7e[_0x1a4e('0x2d4b')],_0x420b32=_0x1adc17[_0x1a4e('0x232f')]?_0x1adc17:_0xf79407&&_0xf79407[_0x1a4e('0x232f')]?_0xf79407:void 0x0;if(_0x420b32&&_0x2327c6===_0x420b32){var _0x1b06ad=_0x420b32['decorators'],_0x326eae=_0x59ea51(_0x2c9ec9);if(_0x1b06ad||_0x326eae)return{'decorators':_0x1b06ad,'parameters':_0x326eae};}}}(_0x146f6e,_0x2327c6);case 0x9c:return function(_0x368e5a){if(_0x368e5a['body']){var _0x146f6e=_0x368e5a[_0x1a4e('0x232f')],_0x2327c6=_0x59ea51(_0x368e5a);if(_0x146f6e||_0x2327c6)return{'decorators':_0x146f6e,'parameters':_0x2327c6};}}(_0x2327c6);case 0x9a:return function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x232f')];if(_0x146f6e)return{'decorators':_0x146f6e};}(_0x2327c6);default:return;}}function _0x367252(_0x2327c6,_0x1adc17,_0xf79407){if(_0xf79407){var _0x420b32=[];return _0x368e5a[_0x1a4e('0x23d1')](_0x420b32,_0x368e5a['map'](_0xf79407[_0x1a4e('0x232f')],_0x367b9d)),_0x368e5a[_0x1a4e('0x23d1')](_0x420b32,_0x368e5a[_0x1a4e('0x104e')](_0xf79407[_0x1a4e('0x111a')],_0x37dde0)),function(_0x2327c6,_0x1adc17,_0xf79407){_0x55ff7e?function(_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x2c0814['emitDecoratorMetadata']){var _0xf79407=void 0x0;_0xd03fb1(_0x2327c6)&&(_0xf79407||(_0xf79407=[]))[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x40'),_0x368e5a['createArrowFunction'](void 0x0,void 0x0,[],void 0x0,_0x368e5a[_0x1a4e('0x28b6')](0x25),_0xc76fa2(_0x2327c6)))),_0x25d439(_0x2327c6)&&(_0xf79407||(_0xf79407=[]))[_0x1a4e('0x46')](_0x368e5a['createPropertyAssignment'](_0x1a4e('0x2e00'),_0x368e5a['createArrowFunction'](void 0x0,void 0x0,[],void 0x0,_0x368e5a['createToken'](0x25),_0x530fb8(_0x2327c6,_0x55ff7e)))),_0x3ccf64(_0x2327c6)&&(_0xf79407||(_0xf79407=[]))[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x2e01'),_0x368e5a[_0x1a4e('0x2c70')](void 0x0,void 0x0,[],void 0x0,_0x368e5a[_0x1a4e('0x28b6')](0x25),_0x21218c(_0x2327c6)))),_0xf79407&&_0x1adc17['push'](_0x2c9ec9(_0x146f6e,_0x1a4e('0x2e02'),_0x368e5a[_0x1a4e('0x2c62')](_0xf79407,!0x0)));}}(_0x2327c6,_0x1adc17,_0xf79407):function(_0x368e5a,_0x2327c6,_0x55ff7e){_0x2c0814['emitDecoratorMetadata']&&(_0xd03fb1(_0x368e5a)&&_0x55ff7e[_0x1a4e('0x46')](_0x2c9ec9(_0x146f6e,'design:type',_0xc76fa2(_0x368e5a))),_0x25d439(_0x368e5a)&&_0x55ff7e[_0x1a4e('0x46')](_0x2c9ec9(_0x146f6e,'design:paramtypes',_0x530fb8(_0x368e5a,_0x2327c6))),_0x3ccf64(_0x368e5a)&&_0x55ff7e[_0x1a4e('0x46')](_0x2c9ec9(_0x146f6e,_0x1a4e('0x2e03'),_0x21218c(_0x368e5a))));}(_0x2327c6,_0x1adc17,_0xf79407);}(_0x2327c6,_0x1adc17,_0x420b32),_0x420b32;}}function _0x1f83c3(_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a[_0x1a4e('0x23d1')](_0x146f6e,_0x368e5a['map'](function(_0x368e5a,_0x146f6e){for(var _0x2327c6,_0x55ff7e=_0x22a422(_0x368e5a,_0x146f6e),_0x1adc17=0x0,_0xf79407=_0x55ff7e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x523b4f(_0x368e5a,_0x2c9ec9);_0x420b32&&(_0x2327c6?_0x2327c6[_0x1a4e('0x46')](_0x420b32):_0x2327c6=[_0x420b32]);}return _0x2327c6;}(_0x2327c6,_0x55ff7e),_0x2a517d));}function _0x523b4f(_0x2327c6,_0x55ff7e){var _0xf79407=_0x367252(_0x55ff7e,_0x2327c6,_0x4f512f(_0x2327c6,_0x55ff7e));if(_0xf79407){var _0x2c9ec9=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x20)?_0x368e5a[_0x1a4e('0x2d4f')](_0x146f6e):function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2d4f')](_0x146f6e),_0x1a4e('0xa'));}(_0x146f6e);}(_0x2327c6,_0x55ff7e),_0x420b32=_0x353f6d(_0x55ff7e,!0x0),_0x1b06ad=_0x305c2a>0x0?0x9a===_0x55ff7e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2d0f')]():_0x368e5a[_0x1a4e('0x2c2d')]():void 0x0,_0x326eae=_0x1adc17(_0x146f6e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x368e5a[_0x1a4e('0x247f')](_0x55ff7e));return _0x368e5a[_0x1a4e('0x2892')](_0x326eae,0x600),_0x326eae;}}function _0x367b9d(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24a8')]);}function _0x37dde0(_0x2327c6,_0x55ff7e){var _0x1adc17;if(_0x2327c6){_0x1adc17=[];for(var _0xf79407=0x0,_0x2c9ec9=_0x2327c6;_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x326eae=_0x1b06ad(_0x146f6e,_0x367b9d(_0x420b32),_0x55ff7e,_0x420b32[_0x1a4e('0x2302')]);_0x368e5a[_0x1a4e('0x2892')](_0x326eae,0x600),_0x1adc17[_0x1a4e('0x46')](_0x326eae);}}return _0x1adc17;}function _0xd03fb1(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0x9c===_0x146f6e||0x9e===_0x146f6e||0x9f===_0x146f6e||0x9a===_0x146f6e;}function _0x3ccf64(_0x368e5a){return 0x9c===_0x368e5a['kind'];}function _0x25d439(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf0:case 0xd1:return void 0x0!==_0x368e5a['getFirstConstructorWithBody'](_0x146f6e);case 0x9c:case 0x9e:case 0x9f:return!0x0;}return!0x1;}function _0xc76fa2(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9a:case 0x97:return _0x23af7c(_0x146f6e[_0x1a4e('0x40')]);case 0x9f:case 0x9e:return _0x23af7c(function(_0x146f6e){var _0x2327c6=_0x4a6d14['getAllAccessorDeclarations'](_0x146f6e);return _0x2327c6['setAccessor']&&_0x368e5a[_0x1a4e('0x244c')](_0x2327c6['setAccessor'])||_0x2327c6[_0x1a4e('0x2d4a')]&&_0x368e5a[_0x1a4e('0x29b7')](_0x2327c6[_0x1a4e('0x2d4a')]);}(_0x146f6e));case 0xf0:case 0xd1:case 0x9c:return _0x368e5a['createIdentifier'](_0x1a4e('0x1a0f'));default:return _0x368e5a[_0x1a4e('0x2d0f')]();}}function _0x530fb8(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2367')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2b44')](_0x146f6e):_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2328')](_0x146f6e[_0x1a4e('0x8f2')])?_0x146f6e:void 0x0,_0x1adc17=[];if(_0x55ff7e)for(var _0xf79407=function(_0x146f6e,_0x2327c6){if(_0x2327c6&&0x9e===_0x146f6e['kind']){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2d48')](_0x2327c6[_0x1a4e('0x2369')],_0x146f6e)[_0x1a4e('0x2d4b')];if(_0x55ff7e)return _0x55ff7e[_0x1a4e('0x111a')];}return _0x146f6e[_0x1a4e('0x111a')];}(_0x55ff7e,_0x2327c6),_0x2c9ec9=_0xf79407[_0x1a4e('0x1e')],_0x420b32=0x0;_0x420b32<_0x2c9ec9;_0x420b32++){var _0x1b06ad=_0xf79407[_0x420b32];0x0===_0x420b32&&_0x368e5a[_0x1a4e('0x2370')](_0x1b06ad['name'])&&_0x1a4e('0x19b5')===_0x1b06ad[_0x1a4e('0x2cb')]['escapedText']||(_0x1b06ad['dotDotDotToken']?_0x1adc17[_0x1a4e('0x46')](_0x23af7c(_0x368e5a[_0x1a4e('0x2b41')](_0x1b06ad[_0x1a4e('0x40')]))):_0x1adc17[_0x1a4e('0x46')](_0xc76fa2(_0x1b06ad)));}return _0x368e5a['createArrayLiteral'](_0x1adc17);}function _0x21218c(_0x146f6e){return _0x368e5a[_0x1a4e('0x2342')](_0x146f6e)&&_0x146f6e['type']?_0x23af7c(_0x146f6e[_0x1a4e('0x40')]):_0x368e5a[_0x1a4e('0x23fd')](_0x146f6e)?_0x368e5a['createIdentifier'](_0x1a4e('0xf55')):_0x368e5a[_0x1a4e('0x2d0f')]();}function _0x23af7c(_0x146f6e){if(void 0x0===_0x146f6e)return _0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfb5'));switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x6a:case 0x8d:case 0x60:case 0x84:return _0x368e5a[_0x1a4e('0x2d0f')]();case 0xb1:return _0x23af7c(_0x146f6e[_0x1a4e('0x40')]);case 0xa5:case 0xa6:return _0x368e5a[_0x1a4e('0x2893')]('Function');case 0xa9:case 0xaa:return _0x368e5a['createIdentifier']('Array');case 0xa3:case 0x7b:return _0x368e5a[_0x1a4e('0x2893')]('Boolean');case 0x8a:return _0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x1011'));case 0x88:return _0x368e5a['createIdentifier'](_0x1a4e('0xfb5'));case 0xb6:switch(_0x146f6e['literal'][_0x1a4e('0x146b')]){case 0xa:return _0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x1011'));case 0x8:return _0x368e5a['createIdentifier']('Number');case 0x9:return _0xad2096();case 0x66:case 0x57:return _0x368e5a['createIdentifier'](_0x1a4e('0x16db'));default:return _0x368e5a[_0x1a4e('0x1749')]['failBadSyntaxKind'](_0x146f6e['literal']);}case 0x87:return _0x368e5a['createIdentifier'](_0x1a4e('0x16da'));case 0x92:return _0xad2096();case 0x8b:return _0x305c2a<0x2?_0x1dc4d9():_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xf5b'));case 0xa4:return function(_0x146f6e){var _0x2327c6=_0x4a6d14[_0x1a4e('0x2e04')](_0x146f6e[_0x1a4e('0xe7d')],_0x56674b||_0x326eae);switch(_0x2327c6){case _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x1785')]:if(_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x146f6e){return _0x146f6e['parent']&&_0x368e5a[_0x1a4e('0x2866')](_0x146f6e[_0x1a4e('0x11c')])&&(_0x146f6e[_0x1a4e('0x11c')]['trueType']===_0x146f6e||_0x146f6e[_0x1a4e('0x11c')]['falseType']===_0x146f6e);}))return _0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfb5'));var _0x55ff7e=function _0x146f6e(_0x2327c6){if(0x48===_0x2327c6['kind']){var _0x55ff7e=_0x32ca2e(_0x2327c6);return _0x1c4e6e(_0x55ff7e,_0x55ff7e);}if(0x48===_0x2327c6[_0x1a4e('0x5f')][_0x1a4e('0x146b')])return _0x1c4e6e(_0x32ca2e(_0x2327c6[_0x1a4e('0x5f')]),_0x32ca2e(_0x2327c6));var _0x1adc17=_0x146f6e(_0x2327c6['left']),_0xf79407=_0x368e5a[_0x1a4e('0x2c27')](_0x1ccf63);return _0x368e5a[_0x1a4e('0x2d0c')](_0x368e5a[_0x1a4e('0x2d0c')](_0x1adc17[_0x1a4e('0x5f')],_0x368e5a[_0x1a4e('0x2d09')](_0x368e5a[_0x1a4e('0x2d07')](_0xf79407,_0x1adc17[_0x1a4e('0x5d')]),_0x368e5a['createVoidZero']())),_0x368e5a[_0x1a4e('0x2894')](_0xf79407,_0x2327c6[_0x1a4e('0x5d')]));}(_0x146f6e[_0x1a4e('0xe7d')]),_0x1adc17=_0x368e5a[_0x1a4e('0x2c27')](_0x1ccf63);return _0x368e5a[_0x1a4e('0x2c7d')](_0x368e5a[_0x1a4e('0x2d26')](_0x368e5a['createAssignment'](_0x1adc17,_0x55ff7e),_0x1a4e('0x68')),_0x1adc17,_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfb5')));case _0x368e5a[_0x1a4e('0x1960')]['TypeWithConstructSignatureAndValue']:return _0x32ca2e(_0x146f6e[_0x1a4e('0xe7d')]);case _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x1957')]:return _0x368e5a['createVoidZero']();case _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x1959')]:return _0xad2096();case _0x368e5a['TypeReferenceSerializationKind'][_0x1a4e('0x195b')]:return _0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x16db'));case _0x368e5a['TypeReferenceSerializationKind'][_0x1a4e('0x1958')]:return _0x368e5a[_0x1a4e('0x2893')]('Number');case _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x195a')]:return _0x368e5a['createIdentifier']('String');case _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x195c')]:return _0x368e5a['createIdentifier'](_0x1a4e('0x104'));case _0x368e5a['TypeReferenceSerializationKind'][_0x1a4e('0x195d')]:return _0x305c2a<0x2?_0x1dc4d9():_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xf5b'));case _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x195e')]:return _0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x1a0f'));case _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0xf55')]:return _0x368e5a['createIdentifier'](_0x1a4e('0xf55'));case _0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x195f')]:return _0x368e5a[_0x1a4e('0x2893')]('Object');default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x2327c6);}}(_0x146f6e);case 0xae:case 0xad:return _0x55106c(_0x146f6e['types']);case 0xaf:return _0x55106c([_0x146f6e[_0x1a4e('0x25ff')],_0x146f6e[_0x1a4e('0x266a')]]);case 0xa7:case 0xb3:case 0xb4:case 0xb5:case 0xa8:case 0x78:case 0x8f:case 0xb2:case 0xb7:break;default:return _0x368e5a[_0x1a4e('0x1749')]['failBadSyntaxKind'](_0x146f6e);}return _0x368e5a['createIdentifier']('Object');}function _0x55106c(_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=_0x146f6e;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){for(var _0xf79407=_0x1adc17[_0x55ff7e];0xb1===_0xf79407[_0x1a4e('0x146b')];)_0xf79407=_0xf79407[_0x1a4e('0x40')];if(0x84!==_0xf79407[_0x1a4e('0x146b')]&&(_0x1f6545||0x60!==_0xf79407[_0x1a4e('0x146b')]&&0x8d!==_0xf79407[_0x1a4e('0x146b')])){var _0x2c9ec9=_0x23af7c(_0xf79407);if(_0x368e5a[_0x1a4e('0x2370')](_0x2c9ec9)&&_0x1a4e('0xfb5')===_0x2c9ec9[_0x1a4e('0x22f3')])return _0x2c9ec9;if(_0x2327c6){if(!_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)||!_0x368e5a['isIdentifier'](_0x2c9ec9)||_0x2327c6[_0x1a4e('0x22f3')]!==_0x2c9ec9[_0x1a4e('0x22f3')])return _0x368e5a[_0x1a4e('0x2893')]('Object');}else _0x2327c6=_0x2c9ec9;}}return _0x2327c6||_0x368e5a['createVoidZero']();}function _0x1c4e6e(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2d0c')](_0x368e5a[_0x1a4e('0x2d09')](_0x368e5a['createTypeOf'](_0x146f6e),_0x368e5a['createLiteral'](_0x1a4e('0x3'))),_0x2327c6);}function _0x32ca2e(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:var _0x2327c6=_0x368e5a[_0x1a4e('0x2cf1')](_0x146f6e);return _0x2327c6[_0x1a4e('0x7b2')]&=-0x9,_0x2327c6[_0x1a4e('0x1604')]=void 0x0,_0x2327c6[_0x1a4e('0x11c')]=_0x368e5a[_0x1a4e('0x240a')](_0x326eae),_0x2327c6;case 0x94:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2894')](_0x32ca2e(_0x146f6e[_0x1a4e('0x5f')]),_0x146f6e[_0x1a4e('0x5d')]);}(_0x146f6e);}}function _0x1dc4d9(){return _0x368e5a['createConditional'](_0x368e5a[_0x1a4e('0x2d26')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xf5b')),_0x1a4e('0x68')),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xf5b')),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfb5')));}function _0xad2096(){return _0x305c2a<0x6?_0x368e5a[_0x1a4e('0x2c7d')](_0x368e5a[_0x1a4e('0x2d26')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x19cd')),_0x1a4e('0x68')),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x19cd')),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfb5'))):_0x368e5a['createIdentifier'](_0x1a4e('0x19cd'));}function _0x25276b(_0x146f6e){return!_0x368e5a['isIdentifier'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2dc9')](_0x146f6e)||_0x368e5a[_0x1a4e('0x283f')](_0x146f6e);}function _0x353f6d(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x2cb')];return _0x368e5a['isComputedPropertyName'](_0x55ff7e)?_0x2327c6&&!_0x25276b(_0x55ff7e[_0x1a4e('0x2302')])?_0x368e5a[_0x1a4e('0x28c8')](_0x55ff7e):_0x55ff7e[_0x1a4e('0x2302')]:_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e)?_0x368e5a[_0x1a4e('0x2896')](_0x368e5a[_0x1a4e('0x2353')](_0x55ff7e)):_0x368e5a[_0x1a4e('0x28ca')](_0x55ff7e);}function _0x2383e5(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a[_0x1a4e('0x23e8')](_0x146f6e)){var _0x1adc17=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x50ba8d,_0x368e5a['isExpression']),_0xf79407=_0x368e5a['skipPartiallyEmittedExpressions'](_0x1adc17),_0x2c9ec9=_0x25276b(_0xf79407);if(!_0x2c9ec9&&_0x2327c6){var _0x420b32=_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e);return _0x1ccf63(_0x420b32),_0x368e5a[_0x1a4e('0x2d07')](_0x420b32,_0x1adc17);}return _0x55ff7e&&(_0x2c9ec9||_0x368e5a[_0x1a4e('0x2370')](_0xf79407))?void 0x0:_0x1adc17;}}function _0x34e122(_0x146f6e){var _0x2327c6=_0x146f6e['name'],_0x55ff7e=_0x2383e5(_0x2327c6,_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x232f')]),!0x1);return _0x55ff7e?(_0x368e5a[_0x1a4e('0x1c2')](_0x45e559)&&(_0x55ff7e=_0x368e5a[_0x1a4e('0x2d45')](_0x45e559[_0x1a4e('0x9a')]([_0x55ff7e])),_0x45e559[_0x1a4e('0x1e')]=0x0),_0x368e5a[_0x1a4e('0x2c32')](_0x2327c6,_0x55ff7e)):_0x2327c6;}function _0x2bbd9e(_0x146f6e){return!_0x368e5a['nodeIsMissing'](_0x146f6e['body']);}function _0x1db8a3(_0x146f6e){return!(_0x368e5a['nodeIsMissing'](_0x146f6e[_0x1a4e('0x8f2')])&&_0x368e5a['hasModifier'](_0x146f6e,0x80));}function _0x5de935(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2cb')];return _0x368e5a['isBindingPattern'](_0x55ff7e)?_0x368e5a['flattenDestructuringAssignment'](_0x2327c6,_0x50ba8d,_0x146f6e,0x0,!0x1,_0x1b8955):_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createAssignment'](_0x4d1868(_0x55ff7e),_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x236a')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24a8')])),_0x2327c6);}function _0x1f11e0(_0x2327c6){var _0x55ff7e=_0x353f6d(_0x2327c6,!0x1),_0x1adc17=function(_0x2327c6){var _0x55ff7e=_0x4a6d14[_0x1a4e('0x2e05')](_0x2327c6);return void 0x0!==_0x55ff7e?_0x368e5a['createLiteral'](_0x55ff7e):(0x0==(0x8&_0x319183)&&(_0x319183|=0x8,_0x146f6e[_0x1a4e('0x2df4')](0x48)),_0x2327c6[_0x1a4e('0x236a')]?_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x236a')],_0x50ba8d,_0x368e5a[_0x1a4e('0x24a8')]):_0x368e5a[_0x1a4e('0x2d0f')]());}(_0x2327c6),_0xf79407=_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a['createElementAccess'](_0x420b32,_0x55ff7e),_0x1adc17),_0x2c9ec9=0xa===_0x1adc17[_0x1a4e('0x146b')]?_0xf79407:_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2897')](_0x420b32,_0xf79407),_0x55ff7e);return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d12')](_0x2c9ec9,_0x2327c6)),_0x2327c6);}function _0x3faed8(_0x146f6e){return _0x96386a(_0x146f6e)||_0x4c93f7(_0x146f6e)&&_0x473dbe!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a33')]&&_0x473dbe!==_0x368e5a[_0x1a4e('0x1a35')]['ESNext']&&_0x473dbe!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1308')];}function _0x486342(_0x146f6e){_0x50080f||(_0x50080f=_0x368e5a[_0x1a4e('0x283a')]());var _0x2327c6=_0x38ff48(_0x146f6e);_0x50080f[_0x1a4e('0x178')](_0x2327c6)||_0x50080f[_0x1a4e('0x17a')](_0x2327c6,_0x146f6e);}function _0x38ff48(_0x146f6e){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2a1b')](_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a['isIdentifier']),_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')];}function _0x1ae465(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2c93')](_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x386fbf,_0x368e5a[_0x1a4e('0x2549')]),_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x2dfa')](_0x2327c6,!0x1,!0x0))],0x117===_0x326eae[_0x1a4e('0x146b')]?0x0:0x1));if(_0x368e5a['setOriginalNode'](_0x55ff7e,_0x2327c6),_0x486342(_0x2327c6),function(_0x368e5a){if(_0x50080f){var _0x146f6e=_0x38ff48(_0x368e5a);return _0x50080f[_0x1a4e('0x179')](_0x146f6e)===_0x368e5a;}return!0x0;}(_0x2327c6))return 0xf3===_0x2327c6[_0x1a4e('0x146b')]?_0x368e5a['setSourceMapRange'](_0x55ff7e[_0x1a4e('0x2377')],_0x2327c6):_0x368e5a['setSourceMapRange'](_0x55ff7e,_0x2327c6),_0x368e5a[_0x1a4e('0x28c2')](_0x55ff7e,_0x2327c6),_0x368e5a['addEmitFlags'](_0x55ff7e,0x400400),_0x146f6e[_0x1a4e('0x46')](_0x55ff7e),!0x0;var _0x1adc17=_0x368e5a[_0x1a4e('0x2cf3')](_0x55ff7e);return _0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0x400600),_0x146f6e[_0x1a4e('0x46')](_0x1adc17),!0x1;}function _0x1698bc(_0x55ff7e){if(!function(_0x146f6e){return _0x368e5a[_0x1a4e('0x288a')](_0x146f6e,!!_0x2c0814[_0x1a4e('0x2781')]||!!_0x2c0814[_0x1a4e('0x2347')]);}(_0x55ff7e))return _0x368e5a[_0x1a4e('0x2cf2')](_0x55ff7e);_0x368e5a['Debug'][_0x1a4e('0x2a1b')](_0x55ff7e['name'],_0x368e5a[_0x1a4e('0x2370')],_0x1a4e('0x2e06')),0x0==(0x2&_0x319183)&&(_0x319183|=0x2,_0x146f6e['enableSubstitution'](0x48),_0x146f6e[_0x1a4e('0x2df4')](0x114),_0x146f6e['enableEmitNotification'](0xf4));var _0x1adc17=[],_0x2c9ec9=0x2,_0x1b06ad=_0x1ae465(_0x1adc17,_0x55ff7e);_0x1b06ad&&(_0x473dbe===_0x368e5a['ModuleKind']['System']&&_0x326eae===_0x2327c6||(_0x2c9ec9|=0x200));var _0x56674b=_0x4aa59c(_0x55ff7e),_0xd5e231=_0x1ae3b2(_0x55ff7e),_0x46362c=_0x368e5a[_0x1a4e('0x24c6')](_0x55ff7e,0x1)?_0x368e5a[_0x1a4e('0x2d50')](_0x420b32,_0x55ff7e,!0x1,!0x0):_0x368e5a[_0x1a4e('0x2dfa')](_0x55ff7e,!0x1,!0x0),_0x45e559=_0x368e5a[_0x1a4e('0x2d0d')](_0x46362c,_0x368e5a['createAssignment'](_0x46362c,_0x368e5a['createObjectLiteral']()));if(_0x3faed8(_0x55ff7e)){var _0x31b66e=_0x368e5a[_0x1a4e('0x2dfa')](_0x55ff7e,!0x1,!0x0);_0x45e559=_0x368e5a['createAssignment'](_0x31b66e,_0x45e559);}var _0x1ccf63=_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x56674b)],void 0x0,function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x420b32,_0x1adc17=_0xf79407,_0x2c9ec9=_0x50080f;_0x420b32=_0x2327c6,_0xf79407=_0x146f6e,_0x50080f=void 0x0;var _0x1b06ad,_0x326eae,_0x56674b=[];_0x122626();var _0x319183=_0x146f6e['body'];if(0xf5===_0x319183['kind'])_0x5270f3(_0x319183,function(_0x146f6e){return _0x368e5a['addRange'](_0x56674b,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2366')],_0x5a1af4,_0x368e5a[_0x1a4e('0x2569')]));}),_0x1b06ad=_0x319183[_0x1a4e('0x2366')],_0x326eae=_0x319183;else{var _0xd5e231=_0x1698bc(_0x319183);_0xd5e231&&(_0x368e5a[_0x1a4e('0x15')](_0xd5e231)?_0x368e5a[_0x1a4e('0x23d1')](_0x56674b,_0xd5e231):_0x56674b[_0x1a4e('0x46')](_0xd5e231));var _0x46362c=function _0x368e5a(_0x146f6e){if(0xf4===_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x146b')]){var _0x2327c6=_0x368e5a(_0x146f6e[_0x1a4e('0x8f2')]);return _0x2327c6||_0x146f6e['body'];}}(_0x146f6e)[_0x1a4e('0x8f2')];_0x1b06ad=_0x368e5a[_0x1a4e('0x247e')](_0x46362c['statements'],-0x1);}_0x368e5a[_0x1a4e('0x2329')](_0x56674b,_0x393107()),_0x420b32=_0x55ff7e,_0xf79407=_0x1adc17,_0x50080f=_0x2c9ec9;var _0x45e559=_0x368e5a[_0x1a4e('0x2c91')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createNodeArray'](_0x56674b),_0x1b06ad),!0x0);return _0x368e5a[_0x1a4e('0x2d12')](_0x45e559,_0x326eae),0xf5!==_0x319183[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2892')](_0x45e559,0x600|_0x368e5a[_0x1a4e('0x2c65')](_0x45e559)),_0x45e559;}(_0x55ff7e,_0xd5e231)),void 0x0,[_0x45e559]));return _0x368e5a[_0x1a4e('0x2d25')](_0x1ccf63,_0x55ff7e),_0x1b06ad&&(_0x368e5a['setSyntheticLeadingComments'](_0x1ccf63,void 0x0),_0x368e5a['setSyntheticTrailingComments'](_0x1ccf63,void 0x0)),_0x368e5a[_0x1a4e('0x2d12')](_0x1ccf63,_0x55ff7e),_0x368e5a[_0x1a4e('0x2dc8')](_0x1ccf63,_0x2c9ec9),_0x1adc17[_0x1a4e('0x46')](_0x1ccf63),_0x1adc17['push'](_0x368e5a['createEndOfDeclarationMarker'](_0x55ff7e)),_0x1adc17;}function _0x1398de(_0x146f6e){var _0x2327c6=_0x4a6d14['isReferencedAliasDeclaration'](_0x146f6e)?_0x146f6e[_0x1a4e('0x2cb')]:void 0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x23c7')],_0x2b66b1,_0x368e5a[_0x1a4e('0x2565')]);return _0x2327c6||_0x55ff7e?_0x368e5a[_0x1a4e('0x2cc2')](_0x146f6e,_0x2327c6,_0x55ff7e):void 0x0;}function _0x2b66b1(_0x146f6e){if(0xfb===_0x146f6e[_0x1a4e('0x146b')])return _0x4a6d14[_0x1a4e('0x2e07')](_0x146f6e)?_0x146f6e:void 0x0;var _0x2327c6=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e['elements'],_0x36827f,_0x368e5a['isImportSpecifier']);return _0x368e5a['some'](_0x2327c6)?_0x368e5a[_0x1a4e('0x2cc6')](_0x146f6e,_0x2327c6):void 0x0;}function _0x36827f(_0x368e5a){return _0x4a6d14['isReferencedAliasDeclaration'](_0x368e5a)?_0x368e5a:void 0x0;}function _0x2d7ba5(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2398')],_0x33674c,_0x368e5a[_0x1a4e('0x2543')]);return _0x368e5a[_0x1a4e('0x1c2')](_0x2327c6)?_0x368e5a['updateNamedExports'](_0x146f6e,_0x2327c6):void 0x0;}function _0x33674c(_0x368e5a){return _0x4a6d14[_0x1a4e('0x2df6')](_0x368e5a)?_0x368e5a:void 0x0;}function _0x2b6449(_0x55ff7e){if(_0x368e5a[_0x1a4e('0x23a6')](_0x55ff7e))return _0x4a6d14['isReferencedAliasDeclaration'](_0x55ff7e)?_0x368e5a[_0x1a4e('0x28cd')](_0x55ff7e,_0x50ba8d,_0x146f6e):void 0x0;if(function(_0x146f6e){return _0x4a6d14[_0x1a4e('0x2e07')](_0x146f6e)||!_0x368e5a['isExternalModule'](_0x2327c6)&&_0x4a6d14[_0x1a4e('0x2e08')](_0x146f6e);}(_0x55ff7e)){var _0x1adc17=_0x368e5a[_0x1a4e('0x2e09')](_0x55ff7e[_0x1a4e('0x236d')]);return _0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0xe00),_0x5e268d(_0x55ff7e)||!_0x96386a(_0x55ff7e)?_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c93')](_0x368e5a[_0x1a4e('0x2d77')](_0x55ff7e[_0x1a4e('0x242d')],_0x386fbf,_0x368e5a[_0x1a4e('0x2549')]),_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2cad')](_0x55ff7e[_0x1a4e('0x2cb')],void 0x0,_0x1adc17),_0x55ff7e)])),_0x55ff7e),_0x55ff7e):_0x368e5a[_0x1a4e('0x2d25')](function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a['getNamespaceMemberName'](_0x420b32,_0x146f6e,!0x1,!0x0),_0x2327c6)),_0x55ff7e);}(_0x55ff7e[_0x1a4e('0x2cb')],_0x1adc17,_0x55ff7e),_0x55ff7e);}}function _0x96386a(_0x146f6e){return void 0x0!==_0xf79407&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1);}function _0x4c93f7(_0x146f6e){return void 0x0===_0xf79407&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1);}function _0x5e268d(_0x146f6e){return _0x4c93f7(_0x146f6e)&&!_0x368e5a['hasModifier'](_0x146f6e,0x200);}function _0x2a517d(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d71')](_0x146f6e);}function _0x4db354(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2d50')](_0x420b32,_0x2327c6,!0x1,!0x0),_0x368e5a[_0x1a4e('0x2dfa')](_0x2327c6));_0x368e5a[_0x1a4e('0x2d14')](_0x55ff7e,_0x368e5a[_0x1a4e('0x247d')](_0x2327c6[_0x1a4e('0x2cb')]?_0x2327c6[_0x1a4e('0x2cb')]['pos']:_0x2327c6[_0x1a4e('0xa4')],_0x2327c6[_0x1a4e('0xca')]));var _0x1adc17=_0x368e5a[_0x1a4e('0x2d71')](_0x55ff7e);_0x368e5a[_0x1a4e('0x2d14')](_0x1adc17,_0x368e5a[_0x1a4e('0x247d')](-0x1,_0x2327c6['end'])),_0x146f6e['push'](_0x1adc17);}function _0x1b8955(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x4d1868(_0x146f6e),_0x2327c6),_0x55ff7e);}function _0x4d1868(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d51')](_0x420b32,_0x146f6e,!0x1,!0x0);}function _0x4aa59c(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e);return _0x368e5a[_0x1a4e('0x2d14')](_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')]),_0x2327c6;}function _0x1ae3b2(_0x146f6e){return _0x368e5a[_0x1a4e('0x28c8')](_0x146f6e);}function _0x4bc230(){0x0==(0x1&_0x319183)&&(_0x319183|=0x1,_0x146f6e[_0x1a4e('0x2df4')](0x48),_0xd5e231=[]);}function _0x51a148(_0x146f6e){if(_0x319183&_0x46362c&&!_0x368e5a['isGeneratedIdentifier'](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2e0a')](_0x146f6e)){var _0x2327c6=_0x4a6d14[_0x1a4e('0x2e0b')](_0x146f6e,!0x1);if(_0x2327c6&&0x117!==_0x2327c6[_0x1a4e('0x146b')]&&(0x2&_0x46362c&&0xf4===_0x2327c6[_0x1a4e('0x146b')]||0x8&_0x46362c&&0xf3===_0x2327c6[_0x1a4e('0x146b')]))return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x28c8')](_0x2327c6),_0x146f6e),_0x146f6e);}}function _0x8effec(_0x146f6e){var _0x2327c6=function(_0x146f6e){if(!_0x2c0814[_0x1a4e('0x2347')])return _0x368e5a['isPropertyAccessExpression'](_0x146f6e)||_0x368e5a['isElementAccessExpression'](_0x146f6e)?_0x4a6d14[_0x1a4e('0x2e05')](_0x146f6e):void 0x0;}(_0x146f6e);if(void 0x0!==_0x2327c6){_0x368e5a[_0x1a4e('0x2d1f')](_0x146f6e,_0x2327c6);var _0x55ff7e=_0x368e5a[_0x1a4e('0x2896')](_0x2327c6);if(!_0x2c0814[_0x1a4e('0x273e')]){var _0x1adc17=_0x368e5a[_0x1a4e('0x2371')](_0x146f6e)?_0x368e5a[_0x1a4e('0x1676')](_0x146f6e['name']):_0x368e5a[_0x1a4e('0x1675')](_0x146f6e['argumentExpression']);_0x368e5a[_0x1a4e('0x2d1d')](_0x55ff7e,0x3,'\x20'+_0x1adc17+'\x20');}return _0x55ff7e;}return _0x146f6e;}};var _0xf79407={'name':'typescript:decorate','scoped':!0x1,'priority':0x2,'text':_0x1a4e('0x2e0c')};function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e['requestEmitHelper'](_0x420b32),_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2ddf')]('__metadata'),void 0x0,[_0x368e5a[_0x1a4e('0x2896')](_0x2327c6),_0x55ff7e]);}var _0x420b32={'name':_0x1a4e('0x2e0d'),'scoped':!0x1,'priority':0x3,'text':_0x1a4e('0x2e0e')};function _0x1b06ad(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e[_0x1a4e('0x2d33')](_0x326eae),_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2ddf')](_0x1a4e('0x165a')),void 0x0,[_0x368e5a[_0x1a4e('0x2896')](_0x55ff7e),_0x2327c6]),_0x1adc17);}var _0x326eae={'name':'typescript:param','scoped':!0x1,'priority':0x4,'text':_0x1a4e('0x2e0f')};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e;function _0x2327c6(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=0x0!=(0x1000&_0x146f6e[_0x1a4e('0x2df3')](_0x2327c6)),_0xf79407=[];return _0x55ff7e['forEach'](function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x24d1')](_0x2327c6),_0x2c9ec9=[];_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x179'),_0x368e5a[_0x1a4e('0x2c70')](void 0x0,void 0x0,[],void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2c2b')](),_0x55ff7e)))),_0x1adc17&&_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x17a'),_0x368e5a[_0x1a4e('0x2c70')](void 0x0,void 0x0,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,'v',void 0x0,void 0x0,void 0x0)],void 0x0,void 0x0,_0x368e5a['createAssignment'](_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x2c2b')](),_0x55ff7e),_0x368e5a[_0x1a4e('0x2893')]('v'))))),_0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d3d')](_0x55ff7e,_0x368e5a[_0x1a4e('0x2c62')](_0x2c9ec9)));}),_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a['createVariableDeclarationList']([_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2d44')),void 0x0,_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a['createIdentifier'](_0x1a4e('0xfb5')),_0x1a4e('0x7')),void 0x0,[_0x368e5a[_0x1a4e('0x2c2d')](),_0x368e5a[_0x1a4e('0x2c62')](_0xf79407,!0x0)]))],0x2));}!function(_0x368e5a){_0x368e5a[_0x368e5a['AsyncMethodsWithSuper']=0x1]='AsyncMethodsWithSuper';}(_0x146f6e||(_0x146f6e={})),_0x368e5a[_0x1a4e('0x2e10')]=function(_0x146f6e){var _0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad=_0x146f6e[_0x1a4e('0x2d73')],_0x326eae=_0x146f6e[_0x1a4e('0x2d72')],_0x56674b=_0x146f6e[_0x1a4e('0x2dd2')],_0x3f795b=_0x146f6e[_0x1a4e('0x2df0')](),_0x10cec9=_0x146f6e[_0x1a4e('0x23f1')](),_0x51078b=_0x368e5a[_0x1a4e('0x2589')](_0x10cec9),_0x13e925=0x0,_0x2507ec=[],_0x29c6cf=_0x146f6e[_0x1a4e('0x2df1')],_0x41e7ba=_0x146f6e['onSubstituteNode'];return _0x146f6e[_0x1a4e('0x2df1')]=function(_0x146f6e,_0x2327c6,_0x1adc17){if(0x1&_0x55ff7e&&function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xf0===_0x146f6e||0x9d===_0x146f6e||0x9c===_0x146f6e||0x9e===_0x146f6e||0x9f===_0x146f6e;}(_0x2327c6)){var _0xf79407=0x1800&_0x3f795b[_0x1a4e('0x2df3')](_0x2327c6);if(_0xf79407!==_0x13e925){var _0x2c9ec9=_0x13e925;return _0x13e925=_0xf79407,_0x29c6cf(_0x146f6e,_0x2327c6,_0x1adc17),void(_0x13e925=_0x2c9ec9);}}else if(_0x55ff7e&&_0x2507ec[_0x368e5a[_0x1a4e('0x25ec')](_0x2327c6)]){var _0x2c9ec9=_0x13e925;return _0x13e925=0x0,_0x29c6cf(_0x146f6e,_0x2327c6,_0x1adc17),void(_0x13e925=_0x2c9ec9);}_0x29c6cf(_0x146f6e,_0x2327c6,_0x1adc17);},_0x146f6e[_0x1a4e('0x2df2')]=function(_0x146f6e,_0x2327c6){return _0x2327c6=_0x41e7ba(_0x146f6e,_0x2327c6),0x1===_0x146f6e&&_0x13e925?function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xbd:return _0x10df08(_0x146f6e);case 0xbe:return _0x2a7a87(_0x146f6e);case 0xbf:return function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2302')];if(_0x368e5a[_0x1a4e('0x239f')](_0x2327c6)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2371')](_0x2327c6)?_0x10df08(_0x2327c6):_0x2a7a87(_0x2327c6);return _0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x55ff7e,_0x1a4e('0x1')),void 0x0,[_0x368e5a[_0x1a4e('0x2c2c')]()][_0x1a4e('0x9a')](_0x146f6e[_0x1a4e('0x2373')]));}return _0x146f6e;}(_0x146f6e);}return _0x146f6e;}(_0x2327c6):_0x2327c6;},_0x368e5a[_0x1a4e('0x2dc3')](function(_0x2327c6){if(_0x2327c6['isDeclarationFile'])return _0x2327c6;var _0x55ff7e=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x3b1c74,_0x146f6e);return _0x368e5a[_0x1a4e('0x2d21')](_0x55ff7e,_0x146f6e[_0x1a4e('0x2e11')]()),_0x55ff7e;});function _0x3b1c74(_0x2327c6){if(0x0==(0x10&_0x2327c6['transformFlags']))return _0x2327c6;switch(_0x2327c6['kind']){case 0x79:return;case 0xc9:return function(_0x146f6e){return _0x368e5a['setOriginalNode'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c85')](void 0x0,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x3b1c74,_0x368e5a[_0x1a4e('0x24a8')])),_0x146f6e),_0x146f6e);}(_0x2327c6);case 0x9c:return function(_0x2327c6){return _0x368e5a[_0x1a4e('0x2d7d')](_0x2327c6,void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6['modifiers'],_0x3b1c74,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6['asteriskToken'],_0x2327c6[_0x1a4e('0x2cb')],void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x3b1c74,_0x146f6e),void 0x0,0x2&_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6)?_0x4dc61c(_0x2327c6):_0x368e5a[_0x1a4e('0x2dfe')](_0x2327c6['body'],_0x3b1c74,_0x146f6e));}(_0x2327c6);case 0xef:return function(_0x2327c6){return _0x368e5a[_0x1a4e('0x2d8c')](_0x2327c6,void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x3b1c74,_0x368e5a['isModifier']),_0x2327c6[_0x1a4e('0x23fc')],_0x2327c6[_0x1a4e('0x2cb')],void 0x0,_0x368e5a['visitParameterList'](_0x2327c6[_0x1a4e('0x111a')],_0x3b1c74,_0x146f6e),void 0x0,0x2&_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6)?_0x4dc61c(_0x2327c6):_0x368e5a[_0x1a4e('0x2dfe')](_0x2327c6['body'],_0x3b1c74,_0x146f6e));}(_0x2327c6);case 0xc4:return function(_0x2327c6){return _0x368e5a[_0x1a4e('0x2c6f')](_0x2327c6,_0x368e5a['visitNodes'](_0x2327c6[_0x1a4e('0x242d')],_0x3b1c74,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6[_0x1a4e('0x23fc')],_0x2327c6[_0x1a4e('0x2cb')],void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x3b1c74,_0x146f6e),void 0x0,0x2&_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6)?_0x4dc61c(_0x2327c6):_0x368e5a['visitFunctionBody'](_0x2327c6[_0x1a4e('0x8f2')],_0x3b1c74,_0x146f6e));}(_0x2327c6);case 0xc5:return function(_0x2327c6){return _0x368e5a[_0x1a4e('0x2c71')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6['modifiers'],_0x3b1c74,_0x368e5a[_0x1a4e('0x2549')]),void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6['parameters'],_0x3b1c74,_0x146f6e),void 0x0,_0x2327c6[_0x1a4e('0x25fa')],0x2&_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6)?_0x4dc61c(_0x2327c6):_0x368e5a[_0x1a4e('0x2dfe')](_0x2327c6[_0x1a4e('0x8f2')],_0x3b1c74,_0x146f6e));}(_0x2327c6);case 0xbd:return _0x2c9ec9&&_0x368e5a[_0x1a4e('0x2371')](_0x2327c6)&&0x62===_0x2327c6['expression'][_0x1a4e('0x146b')]&&_0x2c9ec9['set'](_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')],!0x0),_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x3b1c74,_0x146f6e);case 0xbe:return _0x2c9ec9&&0x62===_0x2327c6['expression']['kind']&&(_0x420b32=!0x0),_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x3b1c74,_0x146f6e);default:return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x3b1c74,_0x146f6e);}}function _0x420215(_0x2327c6){if(_0x368e5a[_0x1a4e('0x23de')](_0x2327c6))switch(_0x2327c6['kind']){case 0xdb:return function(_0x2327c6){if(_0x355385(_0x2327c6[_0x1a4e('0x2377')])){var _0x55ff7e=_0x4b6dd2(_0x2327c6[_0x1a4e('0x2377')],!0x1);return _0x55ff7e?_0x368e5a[_0x1a4e('0x2d71')](_0x55ff7e):void 0x0;}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x3b1c74,_0x146f6e);}(_0x2327c6);case 0xe1:return function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x236a')];return _0x368e5a[_0x1a4e('0x2c9d')](_0x146f6e,_0x355385(_0x2327c6)?_0x4b6dd2(_0x2327c6,!0x1):_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['initializer'],_0x3b1c74,_0x368e5a[_0x1a4e('0x2d87')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236b')],_0x3b1c74,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236c')],_0x3b1c74,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2390')],_0x420215,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));}(_0x2327c6);case 0xe2:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d88')](_0x146f6e,_0x355385(_0x146f6e[_0x1a4e('0x236a')])?_0x4b6dd2(_0x146f6e[_0x1a4e('0x236a')],!0x0):_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236a')],_0x3b1c74,_0x368e5a[_0x1a4e('0x2d87')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x3b1c74,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['statement'],_0x420215,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));}(_0x2327c6);case 0xe3:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c9f')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2678')],_0x3b1c74,_0x368e5a['isToken']),_0x355385(_0x146f6e['initializer'])?_0x4b6dd2(_0x146f6e[_0x1a4e('0x236a')],!0x0):_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x236a')],_0x3b1c74,_0x368e5a[_0x1a4e('0x2d87')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['expression'],_0x3b1c74,_0x368e5a['isExpression']),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['statement'],_0x420215,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));}(_0x2327c6);case 0x112:return function(_0x2327c6){var _0x55ff7e,_0x1adc17=_0x368e5a[_0x1a4e('0x283a')]();if(_0xe7510a(_0x2327c6[_0x1a4e('0x260b')],_0x1adc17),_0x1adc17['forEach'](function(_0x146f6e,_0x2327c6){_0xf79407[_0x1a4e('0x178')](_0x2327c6)&&(_0x55ff7e||(_0x55ff7e=_0x368e5a[_0x1a4e('0x230c')](_0xf79407)),_0x55ff7e[_0x1a4e('0xf4c')](_0x2327c6));}),_0x55ff7e){var _0x2c9ec9=_0xf79407;_0xf79407=_0x55ff7e;var _0x420b32=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x420215,_0x146f6e);return _0xf79407=_0x2c9ec9,_0x420b32;}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x420215,_0x146f6e);}(_0x2327c6);case 0xda:case 0xe8:case 0xf6:case 0x10f:case 0x110:case 0xeb:case 0xdf:case 0xe0:case 0xde:case 0xe7:case 0xe9:return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x420215,_0x146f6e);default:return _0x368e5a['Debug'][_0x1a4e('0x1746')](_0x2327c6,_0x1a4e('0x2e12'));}return _0x3b1c74(_0x2327c6);}function _0xe7510a(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x2cb')];if(_0x368e5a['isIdentifier'](_0x55ff7e))_0x2327c6[_0x1a4e('0x17a')](_0x55ff7e[_0x1a4e('0x22f3')],!0x0);else for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e[_0x1a4e('0x2398')];_0x1adc17<_0xf79407['length'];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x368e5a[_0x1a4e('0x2506')](_0x2c9ec9)||_0xe7510a(_0x2c9ec9,_0x2327c6);}}function _0x355385(_0x146f6e){return!!_0x146f6e&&_0x368e5a[_0x1a4e('0x251c')](_0x146f6e)&&!(0x3&_0x146f6e[_0x1a4e('0x7b2')])&&_0x146f6e[_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](_0x251859);}function _0x4b6dd2(_0x146f6e,_0x2327c6){!function(_0x146f6e){_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x22e5')],_0x690b47);}(_0x146f6e);var _0x55ff7e=_0x368e5a[_0x1a4e('0x2489')](_0x146f6e);return 0x0===_0x55ff7e[_0x1a4e('0x1e')]?_0x2327c6?_0x368e5a[_0x1a4e('0x2d76')](_0x368e5a[_0x1a4e('0x2d6d')](_0x146f6e[_0x1a4e('0x22e5')][0x0][_0x1a4e('0x2cb')]),_0x3b1c74,_0x368e5a[_0x1a4e('0x24a8')]):void 0x0:_0x368e5a[_0x1a4e('0x2d45')](_0x368e5a['map'](_0x55ff7e,_0xaf1c2a));}function _0x690b47(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')];if(_0x368e5a[_0x1a4e('0x2370')](_0x2327c6))_0x56674b(_0x2327c6);else for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x2398')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x368e5a[_0x1a4e('0x2506')](_0xf79407)||_0x690b47(_0xf79407);}}function _0xaf1c2a(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d14')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2d6d')](_0x146f6e[_0x1a4e('0x2cb')]),_0x146f6e[_0x1a4e('0x236a')]),_0x146f6e);return _0x368e5a[_0x1a4e('0x2d76')](_0x2327c6,_0x3b1c74,_0x368e5a[_0x1a4e('0x24a8')]);}function _0x251859(_0x146f6e){var _0x2327c6=_0x146f6e['name'];if(_0x368e5a[_0x1a4e('0x2370')](_0x2327c6))return _0xf79407['has'](_0x2327c6[_0x1a4e('0x22f3')]);for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x2398')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0x2c9ec9=_0x1adc17[_0x55ff7e];if(!_0x368e5a['isOmittedExpression'](_0x2c9ec9)&&_0x251859(_0x2c9ec9))return!0x0;}return!0x1;}function _0x4dc61c(_0x56674b){_0x1b06ad();var _0x10cec9=_0x368e5a[_0x1a4e('0x24d0')](_0x56674b,_0x368e5a[_0x1a4e('0x2342')])[_0x1a4e('0x40')],_0x13e925=_0x51078b<0x2?function(_0x146f6e){var _0x2327c6=_0x146f6e&&_0x368e5a[_0x1a4e('0x23a1')](_0x146f6e);if(_0x2327c6&&_0x368e5a[_0x1a4e('0x254a')](_0x2327c6)){var _0x55ff7e=_0x3f795b[_0x1a4e('0x2e04')](_0x2327c6);if(_0x55ff7e===_0x368e5a[_0x1a4e('0x1960')][_0x1a4e('0x1956')]||_0x55ff7e===_0x368e5a['TypeReferenceSerializationKind']['Unknown'])return _0x2327c6;}}(_0x10cec9):void 0x0,_0x29c6cf=0xc5===_0x56674b[_0x1a4e('0x146b')],_0x41e7ba=0x0!=(0x2000&_0x3f795b[_0x1a4e('0x2df3')](_0x56674b)),_0x420215=_0xf79407;_0xf79407=_0x368e5a[_0x1a4e('0x283a')]();for(var _0x355385=0x0,_0x4b6dd2=_0x56674b[_0x1a4e('0x111a')];_0x355385<_0x4b6dd2['length'];_0x355385++)_0xe7510a(_0x4b6dd2[_0x355385],_0xf79407);var _0x690b47,_0xaf1c2a=_0x2c9ec9,_0x251859=_0x420b32;if(_0x2c9ec9=_0x368e5a[_0x1a4e('0x283a')](),_0x420b32=!0x1,_0x29c6cf){var _0x4dc61c=_0x1adc17(_0x146f6e,_0x41e7ba,_0x13e925,_0x2684c8(_0x56674b[_0x1a4e('0x8f2')])),_0x2e4ad9=_0x326eae();_0x368e5a['some'](_0x2e4ad9)?(_0x54a76b=_0x368e5a[_0x1a4e('0x2d74')](_0x4dc61c),_0x690b47=_0x368e5a['updateBlock'](_0x54a76b,_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x28d1')](_0x368e5a[_0x1a4e('0x1717')](_0x2e4ad9,_0x54a76b[_0x1a4e('0x2366')])),_0x54a76b[_0x1a4e('0x2366')]))):_0x690b47=_0x4dc61c;}else{var _0x1270f4=[],_0x2bc9a5=_0x368e5a['addPrologue'](_0x1270f4,_0x56674b[_0x1a4e('0x8f2')][_0x1a4e('0x2366')],!0x1,_0x3b1c74);_0x1270f4[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ca3')](_0x1adc17(_0x146f6e,_0x41e7ba,_0x13e925,_0x2684c8(_0x56674b[_0x1a4e('0x8f2')],_0x2bc9a5)))),_0x368e5a['addStatementsAfterPrologue'](_0x1270f4,_0x326eae());var _0x17494b=_0x51078b>=0x2&&0x1800&_0x3f795b[_0x1a4e('0x2df3')](_0x56674b);if(_0x17494b){0x0==(0x1&_0x55ff7e)&&(_0x55ff7e|=0x1,_0x146f6e[_0x1a4e('0x2df4')](0xbf),_0x146f6e[_0x1a4e('0x2df4')](0xbd),_0x146f6e['enableSubstitution'](0xbe),_0x146f6e['enableEmitNotification'](0xf0),_0x146f6e['enableEmitNotification'](0x9c),_0x146f6e[_0x1a4e('0x2e13')](0x9e),_0x146f6e[_0x1a4e('0x2e13')](0x9f),_0x146f6e[_0x1a4e('0x2e13')](0x9d),_0x146f6e[_0x1a4e('0x2e13')](0xdb));var _0x505bb0=_0x2327c6(_0x3f795b,_0x56674b,_0x2c9ec9);_0x2507ec[_0x368e5a[_0x1a4e('0x25ec')](_0x505bb0)]=!0x0,_0x368e5a[_0x1a4e('0x2329')](_0x1270f4,[_0x505bb0]);}var _0x54a76b=_0x368e5a[_0x1a4e('0x2c91')](_0x1270f4,!0x0);_0x368e5a[_0x1a4e('0x2d12')](_0x54a76b,_0x56674b[_0x1a4e('0x8f2')]),_0x17494b&&_0x420b32&&(0x1000&_0x3f795b[_0x1a4e('0x2df3')](_0x56674b)?_0x368e5a['addEmitHelper'](_0x54a76b,_0x368e5a['advancedAsyncSuperHelper']):0x800&_0x3f795b[_0x1a4e('0x2df3')](_0x56674b)&&_0x368e5a[_0x1a4e('0x2d20')](_0x54a76b,_0x368e5a[_0x1a4e('0x2e14')])),_0x690b47=_0x54a76b;}return _0xf79407=_0x420215,_0x2c9ec9=_0xaf1c2a,_0x420b32=_0x251859,_0x690b47;}function _0x2684c8(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x250c')](_0x146f6e)?_0x368e5a['updateBlock'](_0x146f6e,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2366')],_0x420215,_0x368e5a['isStatement'],_0x2327c6)):_0x368e5a['convertToFunctionBody'](_0x368e5a['visitNode'](_0x146f6e,_0x420215,_0x368e5a[_0x1a4e('0x2562')]));}function _0x10df08(_0x146f6e){return 0x62===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2d44')),_0x146f6e[_0x1a4e('0x2cb')]),_0x146f6e):_0x146f6e;}function _0x2a7a87(_0x146f6e){return 0x62===_0x146f6e['expression']['kind']?function(_0x146f6e,_0x2327c6){return 0x1000&_0x13e925?_0x368e5a['setTextRange'](_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2e15')),void 0x0,[_0x146f6e]),_0x1a4e('0x255')),_0x2327c6):_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2e15')),void 0x0,[_0x146f6e]),_0x2327c6);}(_0x146f6e['argumentExpression'],_0x146f6e):_0x146f6e;}},_0x368e5a[_0x1a4e('0x2e16')]=_0x2327c6;var _0x55ff7e={'name':'typescript:awaiter','scoped':!0x1,'priority':0x5,'text':_0x1a4e('0x2e17')};function _0x1adc17(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){_0x146f6e['requestEmitHelper'](_0x55ff7e);var _0x2c9ec9=_0x368e5a['createFunctionExpression'](void 0x0,_0x368e5a[_0x1a4e('0x28b6')](0x28),void 0x0,void 0x0,[],void 0x0,_0xf79407);return(_0x2c9ec9[_0x1a4e('0x22ee')]||(_0x2c9ec9[_0x1a4e('0x22ee')]={}))[_0x1a4e('0x7b2')]|=0xc0000,_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['getHelperName'](_0x1a4e('0x1279')),void 0x0,[_0x368e5a['createThis'](),_0x2327c6?_0x368e5a['createIdentifier'](_0x1a4e('0x2373')):_0x368e5a['createVoidZero'](),_0x1adc17?_0x368e5a[_0x1a4e('0x2e09')](_0x1adc17):_0x368e5a['createVoidZero'](),_0x2c9ec9]);}_0x368e5a[_0x1a4e('0x2e14')]={'name':'typescript:async-super','scoped':!0x0,'text':_0x368e5a[_0x1a4e('0x2dca')](_0x326eae([_0x1a4e('0x2e18'),_0x1a4e('0x2e19')],[_0x1a4e('0x2e18'),_0x1a4e('0x2e19')]),_0x1a4e('0x2e15'))},_0x368e5a[_0x1a4e('0x2e1a')]={'name':'typescript:advanced-async-super','scoped':!0x0,'text':_0x368e5a[_0x1a4e('0x2dca')](_0x326eae([_0x1a4e('0x2e18'),_0x1a4e('0x2e1b')],[_0x1a4e('0x2e18'),_0x1a4e('0x2e1b')]),'_superIndex')};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e;!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2e1c')]=0x1]=_0x1a4e('0x2e1c');}(_0x146f6e||(_0x146f6e={})),_0x368e5a['transformESNext']=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2d73')],_0x1b06ad=_0x146f6e['endLexicalEnvironment'],_0x56674b=_0x146f6e[_0x1a4e('0x2dd2')],_0x512b42=_0x146f6e[_0x1a4e('0x2df0')](),_0x4e3941=_0x146f6e[_0x1a4e('0x23f1')](),_0x39ed38=_0x368e5a['getEmitScriptTarget'](_0x4e3941),_0x3b8828=_0x146f6e['onEmitNode'];_0x146f6e[_0x1a4e('0x2df1')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x1&_0x336d4a&&function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x146b')];return 0xf0===_0x146f6e||0x9d===_0x146f6e||0x9c===_0x146f6e||0x9e===_0x146f6e||0x9f===_0x146f6e;}(_0x2327c6)){var _0x1adc17=0x1800&_0x512b42[_0x1a4e('0x2df3')](_0x2327c6);if(_0x1adc17!==_0x4a7d3b){var _0xf79407=_0x4a7d3b;return _0x4a7d3b=_0x1adc17,_0x3b8828(_0x146f6e,_0x2327c6,_0x55ff7e),void(_0x4a7d3b=_0xf79407);}}else if(_0x336d4a&&_0x11982c[_0x368e5a[_0x1a4e('0x25ec')](_0x2327c6)]){var _0xf79407=_0x4a7d3b;return _0x4a7d3b=0x0,_0x3b8828(_0x146f6e,_0x2327c6,_0x55ff7e),void(_0x4a7d3b=_0xf79407);}_0x3b8828(_0x146f6e,_0x2327c6,_0x55ff7e);};var _0x336d4a,_0x143464,_0x2e2f1c=_0x146f6e['onSubstituteNode'];_0x146f6e[_0x1a4e('0x2df2')]=function(_0x146f6e,_0x2327c6){return _0x2327c6=_0x2e2f1c(_0x146f6e,_0x2327c6),0x1===_0x146f6e&&_0x4a7d3b?function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xbd:return _0x4d681f(_0x146f6e);case 0xbe:return _0x179ff2(_0x146f6e);case 0xbf:return function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2302')];if(_0x368e5a[_0x1a4e('0x239f')](_0x2327c6)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2371')](_0x2327c6)?_0x4d681f(_0x2327c6):_0x179ff2(_0x2327c6);return _0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2894')](_0x55ff7e,_0x1a4e('0x1')),void 0x0,[_0x368e5a[_0x1a4e('0x2c2c')]()][_0x1a4e('0x9a')](_0x146f6e[_0x1a4e('0x2373')]));}return _0x146f6e;}(_0x146f6e);}return _0x146f6e;}(_0x2327c6):_0x2327c6;};var _0x18f5b3,_0x280e43,_0x4a7d3b=0x0,_0x11982c=[];return _0x368e5a['chainBundle'](function(_0x2327c6){if(_0x2327c6[_0x1a4e('0x2423')])return _0x2327c6;var _0x55ff7e=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e);return _0x368e5a[_0x1a4e('0x2d21')](_0x55ff7e,_0x146f6e['readEmitHelpers']()),_0x55ff7e;});function _0x1a4124(_0x368e5a){return _0x44d5a4(_0x368e5a,!0x1);}function _0x2d32aa(_0x368e5a){return _0x44d5a4(_0x368e5a,!0x0);}function _0x538aa4(_0x368e5a){if(0x79!==_0x368e5a[_0x1a4e('0x146b')])return _0x368e5a;}function _0x44d5a4(_0x2327c6,_0x2c9ec9){if(0x0==(0x8&_0x2327c6[_0x1a4e('0x257c')]))return _0x2327c6;switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xc9:return function(_0x2327c6){return 0x2&_0x143464&&0x1&_0x143464?_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c85')](_0xf79407(_0x146f6e,_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x2302')],_0x1a4124,_0x368e5a[_0x1a4e('0x24a8')]))),_0x2327c6),_0x2327c6):_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e);}(_0x2327c6);case 0xcf:return function(_0x2327c6){if(0x2&_0x143464&&0x1&_0x143464){if(_0x2327c6['asteriskToken']){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6['expression'],_0x1a4124,_0x368e5a[_0x1a4e('0x24a8')]);return _0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c85')](_0xf79407(_0x146f6e,_0x368e5a[_0x1a4e('0x2c86')](_0x2327c6,_0x2327c6[_0x1a4e('0x23fc')],function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e['requestEmitHelper'](_0x1adc17),_0x146f6e['requestEmitHelper'](_0x420b32),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2ddf')](_0x1a4e('0x2bd7')),void 0x0,[_0x2327c6]),_0x55ff7e);}(_0x146f6e,_0x326eae(_0x146f6e,_0x55ff7e,_0x55ff7e),_0x55ff7e)))),_0x2327c6),_0x2327c6);}return _0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c85')](_0x44f74e(_0x2327c6[_0x1a4e('0x2302')]?_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2302')],_0x1a4124,_0x368e5a[_0x1a4e('0x24a8')]):_0x368e5a[_0x1a4e('0x2d0f')]())),_0x2327c6),_0x2327c6);}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e);}(_0x2327c6);case 0xe6:return function(_0x2327c6){return 0x2&_0x143464&&0x1&_0x143464?_0x368e5a[_0x1a4e('0x2d89')](_0x2327c6,_0x44f74e(_0x2327c6[_0x1a4e('0x2302')]?_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x2302')],_0x1a4124,_0x368e5a['isExpression']):_0x368e5a[_0x1a4e('0x2d0f')]())):_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e);}(_0x2327c6);case 0xe9:return function(_0x2327c6){if(0x2&_0x143464){var _0x55ff7e=_0x368e5a[_0x1a4e('0x238f')](_0x2327c6);return 0xe3===_0x55ff7e['kind']&&_0x55ff7e[_0x1a4e('0x2678')]?_0x215097(_0x55ff7e,_0x2327c6):_0x368e5a[_0x1a4e('0x2e1d')](_0x368e5a['visitEachChild'](_0x55ff7e,_0x1a4124,_0x146f6e),_0x2327c6);}return _0x368e5a['visitEachChild'](_0x2327c6,_0x1a4124,_0x146f6e);}(_0x2327c6);case 0xbc:return function(_0x2327c6){if(0x40000&_0x2327c6[_0x1a4e('0x257c')]){var _0x1adc17=function(_0x146f6e){for(var _0x2327c6,_0x55ff7e=[],_0x1adc17=0x0,_0xf79407=_0x146f6e;_0x1adc17<_0xf79407['length'];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(0x115===_0x2c9ec9[_0x1a4e('0x146b')]){_0x2327c6&&(_0x55ff7e[_0x1a4e('0x46')](_0x368e5a['createObjectLiteral'](_0x2327c6)),_0x2327c6=void 0x0);var _0x420b32=_0x2c9ec9['expression'];_0x55ff7e['push'](_0x368e5a['visitNode'](_0x420b32,_0x1a4124,_0x368e5a['isExpression']));}else _0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,0x113===_0x2c9ec9['kind']?_0x368e5a[_0x1a4e('0x2d3d')](_0x2c9ec9[_0x1a4e('0x2cb')],_0x368e5a['visitNode'](_0x2c9ec9[_0x1a4e('0x236a')],_0x1a4124,_0x368e5a[_0x1a4e('0x24a8')])):_0x368e5a[_0x1a4e('0x2d76')](_0x2c9ec9,_0x1a4124,_0x368e5a[_0x1a4e('0x2552')]));}return _0x2327c6&&_0x55ff7e['push'](_0x368e5a['createObjectLiteral'](_0x2327c6)),_0x55ff7e;}(_0x2327c6[_0x1a4e('0x13')]);return _0x1adc17[_0x1a4e('0x1e')]&&0xbc!==_0x1adc17[0x0][_0x1a4e('0x146b')]&&_0x1adc17[_0x1a4e('0x66')](_0x368e5a[_0x1a4e('0x2c62')]()),_0x55ff7e(_0x146f6e,_0x1adc17);}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e);}(_0x2327c6);case 0xcc:return function(_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2462')](_0x2327c6)&&0x40000&_0x2327c6[_0x1a4e('0x5f')][_0x1a4e('0x257c')]?_0x368e5a[_0x1a4e('0x2e1e')](_0x2327c6,_0x1a4124,_0x146f6e,0x1,!_0x55ff7e):0x1b===_0x2327c6[_0x1a4e('0x237a')][_0x1a4e('0x146b')]?_0x368e5a['updateBinary'](_0x2327c6,_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x5f')],_0x2d32aa,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x5d')],_0x55ff7e?_0x2d32aa:_0x1a4124,_0x368e5a['isExpression'])):_0x368e5a['visitEachChild'](_0x2327c6,_0x1a4124,_0x146f6e);}(_0x2327c6,_0x2c9ec9);case 0xed:return function(_0x2327c6){return _0x368e5a[_0x1a4e('0x1678')](_0x2327c6[_0x1a4e('0x2cb')])&&0x40000&_0x2327c6['name'][_0x1a4e('0x257c')]?_0x368e5a[_0x1a4e('0x2dda')](_0x2327c6,_0x1a4124,_0x146f6e,0x1):_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e);}(_0x2327c6);case 0xe3:return _0x215097(_0x2327c6,void 0x0);case 0xe1:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c9d')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236a')],_0x2d32aa,_0x368e5a['isForInitializer']),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236b')],_0x1a4124,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['incrementor'],_0x1a4124,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2390')],_0x1a4124,_0x368e5a[_0x1a4e('0x2569')]));}(_0x2327c6);case 0xc8:return function(_0x2327c6){return _0x368e5a['visitEachChild'](_0x2327c6,_0x2d32aa,_0x146f6e);}(_0x2327c6);case 0x9d:return function(_0x2327c6){var _0x55ff7e=_0x143464;_0x143464=0x0;var _0x1adc17=_0x368e5a[_0x1a4e('0x2c3d')](_0x2327c6,void 0x0,_0x2327c6[_0x1a4e('0x242d')],_0x368e5a['visitParameterList'](_0x2327c6['parameters'],_0x1a4124,_0x146f6e),_0xccc030(_0x2327c6));return _0x143464=_0x55ff7e,_0x1adc17;}(_0x2327c6);case 0x9c:return function(_0x2327c6){var _0x55ff7e=_0x143464;_0x143464=_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6);var _0x1adc17=_0x368e5a[_0x1a4e('0x2d7d')](_0x2327c6,void 0x0,0x1&_0x143464?_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x538aa4,_0x368e5a['isModifier']):_0x2327c6[_0x1a4e('0x242d')],0x2&_0x143464?void 0x0:_0x2327c6['asteriskToken'],_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2cb')],_0x1a4124,_0x368e5a[_0x1a4e('0x254b')]),_0x368e5a['visitNode'](void 0x0,_0x1a4124,_0x368e5a[_0x1a4e('0x2d7b')]),void 0x0,_0x368e5a['visitParameterList'](_0x2327c6[_0x1a4e('0x111a')],_0x1a4124,_0x146f6e),void 0x0,0x2&_0x143464&&0x1&_0x143464?_0x5b114e(_0x2327c6):_0xccc030(_0x2327c6));return _0x143464=_0x55ff7e,_0x1adc17;}(_0x2327c6);case 0x9e:return function(_0x2327c6){var _0x55ff7e=_0x143464;_0x143464=0x0;var _0x1adc17=_0x368e5a[_0x1a4e('0x2c3f')](_0x2327c6,void 0x0,_0x2327c6[_0x1a4e('0x242d')],_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2cb')],_0x1a4124,_0x368e5a['isPropertyName']),_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x1a4124,_0x146f6e),void 0x0,_0xccc030(_0x2327c6));return _0x143464=_0x55ff7e,_0x1adc17;}(_0x2327c6);case 0x9f:return function(_0x2327c6){var _0x55ff7e=_0x143464;_0x143464=0x0;var _0x1adc17=_0x368e5a[_0x1a4e('0x2c40')](_0x2327c6,void 0x0,_0x2327c6[_0x1a4e('0x242d')],_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6['name'],_0x1a4124,_0x368e5a[_0x1a4e('0x254b')]),_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x1a4124,_0x146f6e),_0xccc030(_0x2327c6));return _0x143464=_0x55ff7e,_0x1adc17;}(_0x2327c6);case 0xef:return function(_0x2327c6){var _0x55ff7e=_0x143464;_0x143464=_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6);var _0x1adc17=_0x368e5a[_0x1a4e('0x2d8c')](_0x2327c6,void 0x0,0x1&_0x143464?_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6['modifiers'],_0x538aa4,_0x368e5a['isModifier']):_0x2327c6[_0x1a4e('0x242d')],0x2&_0x143464?void 0x0:_0x2327c6[_0x1a4e('0x23fc')],_0x2327c6[_0x1a4e('0x2cb')],void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6['parameters'],_0x1a4124,_0x146f6e),void 0x0,0x2&_0x143464&&0x1&_0x143464?_0x5b114e(_0x2327c6):_0xccc030(_0x2327c6));return _0x143464=_0x55ff7e,_0x1adc17;}(_0x2327c6);case 0xc4:return function(_0x2327c6){var _0x55ff7e=_0x143464;_0x143464=_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6);var _0x1adc17=_0x368e5a[_0x1a4e('0x2c6f')](_0x2327c6,0x1&_0x143464?_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x538aa4,_0x368e5a[_0x1a4e('0x2549')]):_0x2327c6[_0x1a4e('0x242d')],0x2&_0x143464?void 0x0:_0x2327c6['asteriskToken'],_0x2327c6['name'],void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x1a4124,_0x146f6e),void 0x0,0x2&_0x143464&&0x1&_0x143464?_0x5b114e(_0x2327c6):_0xccc030(_0x2327c6));return _0x143464=_0x55ff7e,_0x1adc17;}(_0x2327c6);case 0xc5:return function(_0x2327c6){var _0x55ff7e=_0x143464;_0x143464=_0x368e5a[_0x1a4e('0x2a74')](_0x2327c6);var _0x1adc17=_0x368e5a['updateArrowFunction'](_0x2327c6,_0x2327c6[_0x1a4e('0x242d')],void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x1a4124,_0x146f6e),void 0x0,_0x2327c6[_0x1a4e('0x25fa')],_0xccc030(_0x2327c6));return _0x143464=_0x55ff7e,_0x1adc17;}(_0x2327c6);case 0x97:return function(_0x2327c6){return 0x40000&_0x2327c6['transformFlags']?_0x368e5a[_0x1a4e('0x2d7a')](_0x2327c6,void 0x0,void 0x0,_0x2327c6[_0x1a4e('0x25f9')],_0x368e5a[_0x1a4e('0x28c8')](_0x2327c6),void 0x0,void 0x0,_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x236a')],_0x1a4124,_0x368e5a['isExpression'])):_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e);}(_0x2327c6);case 0xdd:return function(_0x2327c6){return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x2d32aa,_0x146f6e);}(_0x2327c6);case 0xc3:return function(_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x55ff7e?_0x2d32aa:_0x1a4124,_0x146f6e);}(_0x2327c6,_0x2c9ec9);case 0x112:return function(_0x2327c6){return _0x2327c6[_0x1a4e('0x260b')]?_0x368e5a['visitEachChild'](_0x2327c6,_0x1a4124,_0x146f6e):_0x368e5a[_0x1a4e('0x2ce9')](_0x2327c6,_0x368e5a['createVariableDeclaration'](_0x368e5a[_0x1a4e('0x2c27')](void 0x0)),_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6['block'],_0x1a4124,_0x368e5a['isBlock']));}(_0x2327c6);case 0xbd:return _0x18f5b3&&_0x368e5a[_0x1a4e('0x2371')](_0x2327c6)&&0x62===_0x2327c6[_0x1a4e('0x2302')]['kind']&&_0x18f5b3[_0x1a4e('0x17a')](_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')],!0x0),_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e);case 0xbe:return _0x18f5b3&&0x62===_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0x146b')]&&(_0x280e43=!0x0),_0x368e5a['visitEachChild'](_0x2327c6,_0x1a4124,_0x146f6e);default:return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e);}}function _0x215097(_0x2327c6,_0x55ff7e){return 0x40000&_0x2327c6[_0x1a4e('0x236a')][_0x1a4e('0x257c')]&&(_0x2327c6=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x29a0')](_0x146f6e[_0x1a4e('0x236a')]);if(_0x368e5a[_0x1a4e('0x251c')](_0x2327c6)||_0x368e5a[_0x1a4e('0x2555')](_0x2327c6)){var _0x55ff7e=void 0x0,_0x1adc17=void 0x0,_0xf79407=_0x368e5a[_0x1a4e('0x2c27')](void 0x0),_0x2c9ec9=[_0x368e5a[_0x1a4e('0x2d41')](_0x2327c6,_0xf79407)];return _0x368e5a[_0x1a4e('0x250c')](_0x146f6e[_0x1a4e('0x2390')])?(_0x368e5a[_0x1a4e('0x23d1')](_0x2c9ec9,_0x146f6e[_0x1a4e('0x2390')]['statements']),_0x55ff7e=_0x146f6e[_0x1a4e('0x2390')],_0x1adc17=_0x146f6e[_0x1a4e('0x2390')][_0x1a4e('0x2366')]):_0x146f6e['statement']&&(_0x368e5a[_0x1a4e('0x252')](_0x2c9ec9,_0x146f6e['statement']),_0x55ff7e=_0x146f6e[_0x1a4e('0x2390')],_0x1adc17=_0x146f6e[_0x1a4e('0x2390')]),_0x368e5a[_0x1a4e('0x2c9f')](_0x146f6e,_0x146f6e['awaitModifier'],_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createVariableDeclaration'](_0xf79407),_0x146f6e[_0x1a4e('0x236a')])],0x1),_0x146f6e[_0x1a4e('0x236a')]),_0x146f6e[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c91')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x2c9ec9),_0x1adc17),!0x0),_0x55ff7e));}return _0x146f6e;}(_0x2327c6)),_0x2327c6[_0x1a4e('0x2678')]?function(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2302')],_0x1a4124,_0x368e5a[_0x1a4e('0x24a8')]),_0xf79407=_0x368e5a['isIdentifier'](_0x1adc17)?_0x368e5a[_0x1a4e('0x28c8')](_0x1adc17):_0x368e5a['createTempVariable'](void 0x0),_0x2c9ec9=_0x368e5a['isIdentifier'](_0x1adc17)?_0x368e5a[_0x1a4e('0x28c8')](_0xf79407):_0x368e5a['createTempVariable'](void 0x0),_0x420b32=_0x368e5a[_0x1a4e('0x2c29')]('e'),_0x1b06ad=_0x368e5a[_0x1a4e('0x28c8')](_0x420b32),_0x512b42=_0x368e5a[_0x1a4e('0x2c27')](void 0x0),_0x4e3941=_0x326eae(_0x146f6e,_0x1adc17,_0x2327c6[_0x1a4e('0x2302')]),_0x39ed38=_0x368e5a['createCall'](_0x368e5a['createPropertyAccess'](_0xf79407,_0x1a4e('0x7e')),void 0x0,[]),_0x3b8828=_0x368e5a['createPropertyAccess'](_0x2c9ec9,'done'),_0x336d4a=_0x368e5a['createPropertyAccess'](_0x2c9ec9,_0x1a4e('0x255')),_0x143464=_0x368e5a['createFunctionCall'](_0x512b42,_0xf79407,[]);_0x56674b(_0x420b32),_0x56674b(_0x512b42);var _0x2e2f1c=_0x368e5a['setEmitFlags'](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2e1f')](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2cad')](_0xf79407,void 0x0,_0x4e3941),_0x2327c6[_0x1a4e('0x2302')]),_0x368e5a[_0x1a4e('0x2cad')](_0x2c9ec9)]),_0x2327c6[_0x1a4e('0x2302')]),0x200000),_0x368e5a[_0x1a4e('0x2d05')](_0x368e5a[_0x1a4e('0x2d07')](_0x2c9ec9,_0x44f74e(_0x39ed38)),_0x368e5a[_0x1a4e('0x2d0e')](_0x3b8828)),void 0x0,function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17,_0xf79407=_0x368e5a['createForOfBindingStatement'](_0x146f6e[_0x1a4e('0x236a')],_0x2327c6),_0x2c9ec9=[_0x368e5a[_0x1a4e('0x2d76')](_0xf79407,_0x1a4124,_0x368e5a['isStatement'])],_0x420b32=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2390')],_0x1a4124,_0x368e5a[_0x1a4e('0x2569')]);return _0x368e5a['isBlock'](_0x420b32)?(_0x368e5a[_0x1a4e('0x23d1')](_0x2c9ec9,_0x420b32[_0x1a4e('0x2366')]),_0x55ff7e=_0x420b32,_0x1adc17=_0x420b32[_0x1a4e('0x2366')]):_0x2c9ec9[_0x1a4e('0x46')](_0x420b32),_0x368e5a['setEmitFlags'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c91')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x2c9ec9),_0x1adc17),!0x0),_0x55ff7e),0x1b0);}(_0x2327c6,_0x336d4a)),_0x2327c6),0x100);return _0x368e5a[_0x1a4e('0x2caa')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2e1d')](_0x2e2f1c,_0x55ff7e)]),_0x368e5a['createCatchClause'](_0x368e5a[_0x1a4e('0x2cad')](_0x1b06ad),_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x420b32,_0x368e5a[_0x1a4e('0x2c62')]([_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x873'),_0x1b06ad)])))]),0x1)),_0x368e5a['createBlock']([_0x368e5a[_0x1a4e('0x2caa')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a['setEmitFlags'](_0x368e5a[_0x1a4e('0x2e20')](_0x368e5a['createLogicalAnd'](_0x368e5a[_0x1a4e('0x2d0c')](_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d0e')](_0x3b8828)),_0x368e5a[_0x1a4e('0x2d07')](_0x512b42,_0x368e5a[_0x1a4e('0x2894')](_0xf79407,'return'))),_0x368e5a['createExpressionStatement'](_0x44f74e(_0x143464))),0x1)]),void 0x0,_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2892')](_0x368e5a['createIf'](_0x420b32,_0x368e5a[_0x1a4e('0x2ca9')](_0x368e5a[_0x1a4e('0x2894')](_0x420b32,_0x1a4e('0x873')))),0x1)]),0x1))]));}(_0x2327c6,_0x55ff7e):_0x368e5a['restoreEnclosingLabel'](_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x1a4124,_0x146f6e),_0x55ff7e);}function _0x44f74e(_0x2327c6){return 0x1&_0x143464?_0x368e5a['createYield'](void 0x0,_0xf79407(_0x146f6e,_0x2327c6)):_0x368e5a[_0x1a4e('0x2c76')](_0x2327c6);}function _0x5b114e(_0x55ff7e){_0x2327c6();var _0xf79407=[],_0x420b32=_0x368e5a[_0x1a4e('0x2dff')](_0xf79407,_0x55ff7e[_0x1a4e('0x8f2')][_0x1a4e('0x2366')],!0x1,_0x1a4124);_0x255a4e(_0xf79407,_0x55ff7e);var _0x326eae=_0x18f5b3,_0x56674b=_0x280e43;_0x18f5b3=_0x368e5a['createUnderscoreEscapedMap'](),_0x280e43=!0x1;var _0x4e3941=_0x368e5a['createReturn'](function(_0x146f6e,_0x2327c6){return _0x146f6e['requestEmitHelper'](_0x1adc17),_0x146f6e[_0x1a4e('0x2d33')](_0x2c9ec9),(_0x2327c6['emitNode']||(_0x2327c6['emitNode']={}))[_0x1a4e('0x7b2')]|=0x40000,_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2ddf')](_0x1a4e('0x1662')),void 0x0,[_0x368e5a[_0x1a4e('0x2c2c')](),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x2373')),_0x2327c6]);}(_0x146f6e,_0x368e5a['createFunctionExpression'](void 0x0,_0x368e5a[_0x1a4e('0x28b6')](0x28),_0x55ff7e['name']&&_0x368e5a['getGeneratedNameForNode'](_0x55ff7e[_0x1a4e('0x2cb')]),void 0x0,[],void 0x0,_0x368e5a[_0x1a4e('0x2c92')](_0x55ff7e[_0x1a4e('0x8f2')],_0x368e5a[_0x1a4e('0x2d78')](_0x55ff7e[_0x1a4e('0x8f2')][_0x1a4e('0x2366')],_0x1a4124,_0x146f6e,_0x420b32))))),_0x3b8828=_0x39ed38>=0x2&&0x1800&_0x512b42[_0x1a4e('0x2df3')](_0x55ff7e);if(_0x3b8828){0x0==(0x1&_0x336d4a)&&(_0x336d4a|=0x1,_0x146f6e[_0x1a4e('0x2df4')](0xbf),_0x146f6e['enableSubstitution'](0xbd),_0x146f6e['enableSubstitution'](0xbe),_0x146f6e[_0x1a4e('0x2e13')](0xf0),_0x146f6e['enableEmitNotification'](0x9c),_0x146f6e['enableEmitNotification'](0x9e),_0x146f6e['enableEmitNotification'](0x9f),_0x146f6e[_0x1a4e('0x2e13')](0x9d),_0x146f6e[_0x1a4e('0x2e13')](0xdb));var _0x143464=_0x368e5a[_0x1a4e('0x2e16')](_0x512b42,_0x55ff7e,_0x18f5b3);_0x11982c[_0x368e5a[_0x1a4e('0x25ec')](_0x143464)]=!0x0,_0x368e5a[_0x1a4e('0x2329')](_0xf79407,[_0x143464]);}_0xf79407[_0x1a4e('0x46')](_0x4e3941),_0x368e5a[_0x1a4e('0x2329')](_0xf79407,_0x1b06ad());var _0x2e2f1c=_0x368e5a['updateBlock'](_0x55ff7e[_0x1a4e('0x8f2')],_0xf79407);return _0x3b8828&&_0x280e43&&(0x1000&_0x512b42['getNodeCheckFlags'](_0x55ff7e)?_0x368e5a[_0x1a4e('0x2d20')](_0x2e2f1c,_0x368e5a[_0x1a4e('0x2e1a')]):0x800&_0x512b42[_0x1a4e('0x2df3')](_0x55ff7e)&&_0x368e5a[_0x1a4e('0x2d20')](_0x2e2f1c,_0x368e5a['asyncSuperHelper'])),_0x18f5b3=_0x326eae,_0x280e43=_0x56674b,_0x2e2f1c;}function _0xccc030(_0x146f6e){_0x2327c6();var _0x55ff7e=0x0,_0x1adc17=[],_0xf79407=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x8f2')],_0x1a4124,_0x368e5a[_0x1a4e('0x2562')]);_0x368e5a['isBlock'](_0xf79407)&&(_0x55ff7e=_0x368e5a[_0x1a4e('0x2dff')](_0x1adc17,_0xf79407[_0x1a4e('0x2366')],!0x1,_0x1a4124)),_0x368e5a[_0x1a4e('0x23d1')](_0x1adc17,_0x255a4e(void 0x0,_0x146f6e));var _0x2c9ec9=_0x1b06ad();if(_0x55ff7e>0x0||_0x368e5a[_0x1a4e('0x1c2')](_0x1adc17)||_0x368e5a[_0x1a4e('0x1c2')](_0x2c9ec9)){var _0x420b32=_0x368e5a[_0x1a4e('0x2d74')](_0xf79407,!0x0);return _0x368e5a['addStatementsAfterPrologue'](_0x1adc17,_0x2c9ec9),_0x368e5a[_0x1a4e('0x23d1')](_0x1adc17,_0x420b32['statements'][_0x1a4e('0x78')](_0x55ff7e)),_0x368e5a[_0x1a4e('0x2c92')](_0x420b32,_0x368e5a['setTextRange'](_0x368e5a['createNodeArray'](_0x1adc17),_0x420b32[_0x1a4e('0x2366')]));}return _0xf79407;}function _0x255a4e(_0x2327c6,_0x55ff7e){for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e['parameters'];_0x1adc17<_0xf79407['length'];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(0x40000&_0x2c9ec9[_0x1a4e('0x257c')]){var _0x420b32=_0x368e5a[_0x1a4e('0x28c8')](_0x2c9ec9),_0x1b06ad=_0x368e5a[_0x1a4e('0x2dda')](_0x2c9ec9,_0x1a4124,_0x146f6e,0x1,_0x420b32,!0x1,!0x0);if(_0x368e5a[_0x1a4e('0x1c2')](_0x1b06ad)){var _0x326eae=_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a['createVariableDeclarationList'](_0x1b06ad));_0x368e5a[_0x1a4e('0x2892')](_0x326eae,0x100000),_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x326eae);}}}return _0x2327c6;}function _0x4d681f(_0x146f6e){return 0x62===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2d44')),_0x146f6e[_0x1a4e('0x2cb')]),_0x146f6e):_0x146f6e;}function _0x179ff2(_0x146f6e){return 0x62===_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')]?function(_0x146f6e,_0x2327c6){return 0x1000&_0x4a7d3b?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x2e15')),void 0x0,[_0x146f6e]),'value'),_0x2327c6):_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x2e15')),void 0x0,[_0x146f6e]),_0x2327c6);}(_0x146f6e[_0x1a4e('0x24a7')],_0x146f6e):_0x146f6e;}};var _0x2327c6={'name':_0x1a4e('0x2e21'),'scoped':!0x1,'priority':0x1,'text':_0x1a4e('0x2e22')};function _0x55ff7e(_0x146f6e,_0x55ff7e){return _0x146f6e[_0x1a4e('0x23f1')]()[_0x1a4e('0xd95')]>=0x2?_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfb5')),_0x1a4e('0x200')),void 0x0,_0x55ff7e):(_0x146f6e[_0x1a4e('0x2d33')](_0x2327c6),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['getHelperName']('__assign'),void 0x0,_0x55ff7e));}_0x368e5a[_0x1a4e('0x2e23')]=_0x55ff7e;var _0x1adc17={'name':'typescript:await','scoped':!0x1,'text':_0x1a4e('0x2e24')};function _0xf79407(_0x146f6e,_0x2327c6){return _0x146f6e['requestEmitHelper'](_0x1adc17),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2ddf')](_0x1a4e('0x1369')),void 0x0,[_0x2327c6]);}var _0x2c9ec9={'name':_0x1a4e('0x2e25'),'scoped':!0x1,'text':_0x1a4e('0x2e26')};var _0x420b32={'name':'typescript:asyncDelegator','scoped':!0x1,'text':'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__asyncDelegator\x20=\x20(this\x20&&\x20this.__asyncDelegator)\x20||\x20function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20i,\x20p;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20i\x20=\x20{},\x20verb(\x22next\x22),\x20verb(\x22throw\x22,\x20function\x20(e)\x20{\x20throw\x20e;\x20}),\x20verb(\x22return\x22),\x20i[Symbol.iterator]\x20=\x20function\x20()\x20{\x20return\x20this;\x20},\x20i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20verb(n,\x20f)\x20{\x20i[n]\x20=\x20o[n]\x20?\x20function\x20(v)\x20{\x20return\x20(p\x20=\x20!p)\x20?\x20{\x20value:\x20__await(o[n](v)),\x20done:\x20n\x20===\x20\x22return\x22\x20}\x20:\x20f\x20?\x20f(v)\x20:\x20v;\x20}\x20:\x20f;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};'};var _0x1b06ad={'name':_0x1a4e('0x2e27'),'scoped':!0x1,'text':'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20__asyncValues\x20=\x20(this\x20&&\x20this.__asyncValues)\x20||\x20function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!Symbol.asyncIterator)\x20throw\x20new\x20TypeError(\x22Symbol.asyncIterator\x20is\x20not\x20defined.\x22);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20m\x20=\x20o[Symbol.asyncIterator],\x20i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20m\x20?\x20m.call(o)\x20:\x20(o\x20=\x20typeof\x20__values\x20===\x20\x22function\x22\x20?\x20__values(o)\x20:\x20o[Symbol.iterator](),\x20i\x20=\x20{},\x20verb(\x22next\x22),\x20verb(\x22throw\x22),\x20verb(\x22return\x22),\x20i[Symbol.asyncIterator]\x20=\x20function\x20()\x20{\x20return\x20this;\x20},\x20i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20verb(n)\x20{\x20i[n]\x20=\x20o[n]\x20&&\x20function\x20(v)\x20{\x20return\x20new\x20Promise(function\x20(resolve,\x20reject)\x20{\x20v\x20=\x20o[n](v),\x20settle(resolve,\x20reject,\x20v.done,\x20v.value);\x20});\x20};\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20settle(resolve,\x20reject,\x20d,\x20v)\x20{\x20Promise.resolve(v).then(function(v)\x20{\x20resolve({\x20value:\x20v,\x20done:\x20d\x20});\x20},\x20reject);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};'};function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e[_0x1a4e('0x2d33')](_0x1b06ad),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['getHelperName'](_0x1a4e('0x1663')),void 0x0,[_0x2327c6]),_0x55ff7e);}}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a['transformJsx']=function(_0x2327c6){var _0x55ff7e,_0x1adc17=_0x2327c6[_0x1a4e('0x23f1')]();return _0x368e5a[_0x1a4e('0x2dc3')](function(_0x146f6e){if(_0x146f6e[_0x1a4e('0x2423')])return _0x146f6e;_0x55ff7e=_0x146f6e;var _0x1adc17=_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0xf79407,_0x2327c6);return _0x368e5a[_0x1a4e('0x2d21')](_0x1adc17,_0x2327c6['readEmitHelpers']()),_0x1adc17;});function _0xf79407(_0x146f6e){return 0x4&_0x146f6e[_0x1a4e('0x257c')]?function(_0x146f6e){switch(_0x146f6e['kind']){case 0x104:return _0x420b32(_0x146f6e,!0x1);case 0x105:return _0x1b06ad(_0x146f6e,!0x1);case 0x108:return _0x326eae(_0x146f6e,!0x1);case 0x10e:return _0x4bca3e(_0x146f6e);default:return _0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0xf79407,_0x2327c6);}}(_0x146f6e):_0x146f6e;}function _0x2c9ec9(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xb:return function(_0x146f6e){var _0x2327c6=function(_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=-0x1,_0xf79407=0x0;_0xf79407<_0x146f6e[_0x1a4e('0x1e')];_0xf79407++){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x913')](_0xf79407);_0x368e5a[_0x1a4e('0x22c3')](_0x2c9ec9)?(-0x1!==_0x55ff7e&&-0x1!==_0x1adc17&&(_0x2327c6=_0x5f199c(_0x2327c6,_0x146f6e[_0x1a4e('0x254')](_0x55ff7e,_0x1adc17-_0x55ff7e+0x1))),_0x55ff7e=-0x1):_0x368e5a[_0x1a4e('0x242b')](_0x2c9ec9)||(_0x1adc17=_0xf79407,-0x1===_0x55ff7e&&(_0x55ff7e=_0xf79407));}return-0x1!==_0x55ff7e?_0x5f199c(_0x2327c6,_0x146f6e['substr'](_0x55ff7e)):_0x2327c6;}(_0x368e5a['getTextOfNode'](_0x146f6e,!0x0));return void 0x0===_0x2327c6?void 0x0:_0x368e5a[_0x1a4e('0x2896')](_0x2327c6);}(_0x146f6e);case 0x10e:return _0x4bca3e(_0x146f6e);case 0x104:return _0x420b32(_0x146f6e,!0x0);case 0x105:return _0x1b06ad(_0x146f6e,!0x0);case 0x108:return _0x326eae(_0x146f6e,!0x0);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2df8')](_0x146f6e);}}function _0x420b32(_0x368e5a,_0x146f6e){return _0x56674b(_0x368e5a[_0x1a4e('0x260f')],_0x368e5a[_0x1a4e('0x6f')],_0x146f6e,_0x368e5a);}function _0x1b06ad(_0x368e5a,_0x146f6e){return _0x56674b(_0x368e5a,void 0x0,_0x146f6e,_0x368e5a);}function _0x326eae(_0x146f6e,_0xf79407){return function(_0x146f6e,_0xf79407,_0x420b32,_0x1b06ad){var _0x326eae=_0x368e5a['createExpressionForJsxFragment'](_0x2327c6['getEmitResolver']()[_0x1a4e('0x2e28')](_0x55ff7e),_0x1adc17[_0x1a4e('0x2770')],_0x368e5a[_0x1a4e('0x1713')](_0xf79407,_0x2c9ec9),_0x146f6e,_0x1b06ad);return _0x420b32&&_0x368e5a[_0x1a4e('0x2d60')](_0x326eae),_0x326eae;}(_0x146f6e[_0x1a4e('0x2610')],_0x146f6e['children'],_0xf79407,_0x146f6e);}function _0x56674b(_0x146f6e,_0xf79407,_0x420b32,_0x1b06ad){var _0x326eae,_0x56674b=function _0x146f6e(_0x2327c6){if(0x104===_0x2327c6[_0x1a4e('0x146b')])return _0x146f6e(_0x2327c6[_0x1a4e('0x260f')]);var _0x55ff7e=_0x2327c6[_0x1a4e('0x132b')];return _0x368e5a[_0x1a4e('0x2370')](_0x55ff7e)&&_0x368e5a[_0x1a4e('0x2a82')](_0x55ff7e[_0x1a4e('0x22f3')])?_0x368e5a['createLiteral'](_0x368e5a[_0x1a4e('0x2353')](_0x55ff7e)):_0x368e5a[_0x1a4e('0x2e09')](_0x55ff7e);}(_0x146f6e),_0x39f0dc=_0x146f6e['attributes'][_0x1a4e('0x13')];if(0x0===_0x39f0dc[_0x1a4e('0x1e')])_0x326eae=_0x368e5a['createNull']();else{var _0x39a907=_0x368e5a[_0x1a4e('0x187')](_0x368e5a['spanMap'](_0x39f0dc,_0x368e5a[_0x1a4e('0x252c')],function(_0x146f6e,_0x2327c6){return _0x2327c6?_0x368e5a[_0x1a4e('0x21')](_0x146f6e,_0x5906a7):_0x368e5a[_0x1a4e('0x2c62')](_0x368e5a[_0x1a4e('0x21')](_0x146f6e,_0x37c79e));}));_0x368e5a['isJsxSpreadAttribute'](_0x39f0dc[0x0])&&_0x39a907[_0x1a4e('0x66')](_0x368e5a[_0x1a4e('0x2c62')]()),(_0x326eae=_0x368e5a[_0x1a4e('0x2d6f')](_0x39a907))||(_0x326eae=_0x368e5a[_0x1a4e('0x2e23')](_0x2327c6,_0x39a907));}var _0x3af7d6=_0x368e5a[_0x1a4e('0x2e29')](_0x2327c6[_0x1a4e('0x2df0')]()['getJsxFactoryEntity'](_0x55ff7e),_0x1adc17[_0x1a4e('0x2770')],_0x56674b,_0x326eae,_0x368e5a['mapDefined'](_0xf79407,_0x2c9ec9),_0x146f6e,_0x1b06ad);return _0x420b32&&_0x368e5a[_0x1a4e('0x2d60')](_0x3af7d6),_0x3af7d6;}function _0x5906a7(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0xf79407,_0x368e5a[_0x1a4e('0x24a8')]);}function _0x37c79e(_0x146f6e){var _0x2327c6=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')],_0x55ff7e=_0x368e5a[_0x1a4e('0x2353')](_0x2327c6);return/^[A-Za-z_]\w*$/[_0x1a4e('0x8d0')](_0x55ff7e)?_0x2327c6:_0x368e5a[_0x1a4e('0x2896')](_0x55ff7e);}(_0x146f6e),_0x1adc17=function(_0x146f6e){if(void 0x0===_0x146f6e)return _0x368e5a[_0x1a4e('0x2bd4')]();if(0xa===_0x146f6e[_0x1a4e('0x146b')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x2896')](function(_0x368e5a){var _0x146f6e=_0x57d575(_0x368e5a);return _0x146f6e===_0x368e5a?void 0x0:_0x146f6e;}(_0x146f6e[_0x1a4e('0xe04')])||_0x146f6e[_0x1a4e('0xe04')]);return _0x2327c6[_0x1a4e('0x1a79')]=void 0x0!==_0x146f6e[_0x1a4e('0x1a79')]?_0x146f6e[_0x1a4e('0x1a79')]:!_0x368e5a['isStringDoubleQuoted'](_0x146f6e,_0x55ff7e),_0x368e5a['setTextRange'](_0x2327c6,_0x146f6e);}return 0x10e===_0x146f6e[_0x1a4e('0x146b')]?void 0x0===_0x146f6e[_0x1a4e('0x2302')]?_0x368e5a[_0x1a4e('0x2bd4')]():_0x4bca3e(_0x146f6e):_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2df8')](_0x146f6e);}(_0x146f6e[_0x1a4e('0x236a')]);return _0x368e5a[_0x1a4e('0x2d3d')](_0x2327c6,_0x1adc17);}function _0x5f199c(_0x368e5a,_0x146f6e){var _0x2327c6=_0x57d575(_0x146f6e);return void 0x0===_0x368e5a?_0x2327c6:_0x368e5a+'\x20'+_0x2327c6;}function _0x57d575(_0x368e5a){return _0x368e5a[_0x1a4e('0x115')](/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g,function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){if(_0xf79407)return String['fromCharCode'](parseInt(_0xf79407,0xa));if(_0x2c9ec9)return String[_0x1a4e('0x8fe')](parseInt(_0x2c9ec9,0x10));var _0x1b06ad=_0x146f6e[_0x1a4e('0x179')](_0x420b32);return _0x1b06ad?String[_0x1a4e('0x8fe')](_0x1b06ad):_0x368e5a;});}function _0x4bca3e(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['expression'],_0xf79407,_0x368e5a[_0x1a4e('0x24a8')]);}};var _0x146f6e=_0x368e5a[_0x1a4e('0x1701')]({'quot':0x22,'amp':0x26,'apos':0x27,'lt':0x3c,'gt':0x3e,'nbsp':0xa0,'iexcl':0xa1,'cent':0xa2,'pound':0xa3,'curren':0xa4,'yen':0xa5,'brvbar':0xa6,'sect':0xa7,'uml':0xa8,'copy':0xa9,'ordf':0xaa,'laquo':0xab,'not':0xac,'shy':0xad,'reg':0xae,'macr':0xaf,'deg':0xb0,'plusmn':0xb1,'sup2':0xb2,'sup3':0xb3,'acute':0xb4,'micro':0xb5,'para':0xb6,'middot':0xb7,'cedil':0xb8,'sup1':0xb9,'ordm':0xba,'raquo':0xbb,'frac14':0xbc,'frac12':0xbd,'frac34':0xbe,'iquest':0xbf,'Agrave':0xc0,'Aacute':0xc1,'Acirc':0xc2,'Atilde':0xc3,'Auml':0xc4,'Aring':0xc5,'AElig':0xc6,'Ccedil':0xc7,'Egrave':0xc8,'Eacute':0xc9,'Ecirc':0xca,'Euml':0xcb,'Igrave':0xcc,'Iacute':0xcd,'Icirc':0xce,'Iuml':0xcf,'ETH':0xd0,'Ntilde':0xd1,'Ograve':0xd2,'Oacute':0xd3,'Ocirc':0xd4,'Otilde':0xd5,'Ouml':0xd6,'times':0xd7,'Oslash':0xd8,'Ugrave':0xd9,'Uacute':0xda,'Ucirc':0xdb,'Uuml':0xdc,'Yacute':0xdd,'THORN':0xde,'szlig':0xdf,'agrave':0xe0,'aacute':0xe1,'acirc':0xe2,'atilde':0xe3,'auml':0xe4,'aring':0xe5,'aelig':0xe6,'ccedil':0xe7,'egrave':0xe8,'eacute':0xe9,'ecirc':0xea,'euml':0xeb,'igrave':0xec,'iacute':0xed,'icirc':0xee,'iuml':0xef,'eth':0xf0,'ntilde':0xf1,'ograve':0xf2,'oacute':0xf3,'ocirc':0xf4,'otilde':0xf5,'ouml':0xf6,'divide':0xf7,'oslash':0xf8,'ugrave':0xf9,'uacute':0xfa,'ucirc':0xfb,'uuml':0xfc,'yacute':0xfd,'thorn':0xfe,'yuml':0xff,'OElig':0x152,'oelig':0x153,'Scaron':0x160,'scaron':0x161,'Yuml':0x178,'fnof':0x192,'circ':0x2c6,'tilde':0x2dc,'Alpha':0x391,'Beta':0x392,'Gamma':0x393,'Delta':0x394,'Epsilon':0x395,'Zeta':0x396,'Eta':0x397,'Theta':0x398,'Iota':0x399,'Kappa':0x39a,'Lambda':0x39b,'Mu':0x39c,'Nu':0x39d,'Xi':0x39e,'Omicron':0x39f,'Pi':0x3a0,'Rho':0x3a1,'Sigma':0x3a3,'Tau':0x3a4,'Upsilon':0x3a5,'Phi':0x3a6,'Chi':0x3a7,'Psi':0x3a8,'Omega':0x3a9,'alpha':0x3b1,'beta':0x3b2,'gamma':0x3b3,'delta':0x3b4,'epsilon':0x3b5,'zeta':0x3b6,'eta':0x3b7,'theta':0x3b8,'iota':0x3b9,'kappa':0x3ba,'lambda':0x3bb,'mu':0x3bc,'nu':0x3bd,'xi':0x3be,'omicron':0x3bf,'pi':0x3c0,'rho':0x3c1,'sigmaf':0x3c2,'sigma':0x3c3,'tau':0x3c4,'upsilon':0x3c5,'phi':0x3c6,'chi':0x3c7,'psi':0x3c8,'omega':0x3c9,'thetasym':0x3d1,'upsih':0x3d2,'piv':0x3d6,'ensp':0x2002,'emsp':0x2003,'thinsp':0x2009,'zwnj':0x200c,'zwj':0x200d,'lrm':0x200e,'rlm':0x200f,'ndash':0x2013,'mdash':0x2014,'lsquo':0x2018,'rsquo':0x2019,'sbquo':0x201a,'ldquo':0x201c,'rdquo':0x201d,'bdquo':0x201e,'dagger':0x2020,'Dagger':0x2021,'bull':0x2022,'hellip':0x2026,'permil':0x2030,'prime':0x2032,'Prime':0x2033,'lsaquo':0x2039,'rsaquo':0x203a,'oline':0x203e,'frasl':0x2044,'euro':0x20ac,'image':0x2111,'weierp':0x2118,'real':0x211c,'trade':0x2122,'alefsym':0x2135,'larr':0x2190,'uarr':0x2191,'rarr':0x2192,'darr':0x2193,'harr':0x2194,'crarr':0x21b5,'lArr':0x21d0,'uArr':0x21d1,'rArr':0x21d2,'dArr':0x21d3,'hArr':0x21d4,'forall':0x2200,'part':0x2202,'exist':0x2203,'empty':0x2205,'nabla':0x2207,'isin':0x2208,'notin':0x2209,'ni':0x220b,'prod':0x220f,'sum':0x2211,'minus':0x2212,'lowast':0x2217,'radic':0x221a,'prop':0x221d,'infin':0x221e,'ang':0x2220,'and':0x2227,'or':0x2228,'cap':0x2229,'cup':0x222a,'int':0x222b,'there4':0x2234,'sim':0x223c,'cong':0x2245,'asymp':0x2248,'ne':0x2260,'equiv':0x2261,'le':0x2264,'ge':0x2265,'sub':0x2282,'sup':0x2283,'nsub':0x2284,'sube':0x2286,'supe':0x2287,'oplus':0x2295,'otimes':0x2297,'perp':0x22a5,'sdot':0x22c5,'lceil':0x2308,'rceil':0x2309,'lfloor':0x230a,'rfloor':0x230b,'lang':0x2329,'rang':0x232a,'loz':0x25ca,'spades':0x2660,'clubs':0x2663,'hearts':0x2665,'diams':0x2666});}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x2e2a')]=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2dd2')];return _0x368e5a[_0x1a4e('0x2dc3')](function(_0x2327c6){return _0x2327c6[_0x1a4e('0x2423')]?_0x2327c6:_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x55ff7e,_0x146f6e);});function _0x55ff7e(_0x1adc17){if(0x0==(0x20&_0x1adc17['transformFlags']))return _0x1adc17;switch(_0x1adc17[_0x1a4e('0x146b')]){case 0xcc:return function(_0x1adc17){switch(_0x1adc17[_0x1a4e('0x237a')][_0x1a4e('0x146b')]){case 0x3f:return function(_0x146f6e){var _0x1adc17,_0xf79407,_0x2c9ec9=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x5f')],_0x55ff7e,_0x368e5a[_0x1a4e('0x24a8')]),_0x420b32=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x5d')],_0x55ff7e,_0x368e5a[_0x1a4e('0x24a8')]);if(_0x368e5a['isElementAccessExpression'](_0x2c9ec9)){var _0x1b06ad=_0x368e5a['createTempVariable'](_0x2327c6),_0x326eae=_0x368e5a[_0x1a4e('0x2c27')](_0x2327c6);_0x1adc17=_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2897')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2d07')](_0x1b06ad,_0x2c9ec9['expression']),_0x2c9ec9[_0x1a4e('0x2302')]),_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2d07')](_0x326eae,_0x2c9ec9[_0x1a4e('0x24a7')]),_0x2c9ec9[_0x1a4e('0x24a7')])),_0x2c9ec9),_0xf79407=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createElementAccess'](_0x1b06ad,_0x326eae),_0x2c9ec9);}else if(_0x368e5a[_0x1a4e('0x2371')](_0x2c9ec9)){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2c27')](_0x2327c6);_0x1adc17=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x1b06ad,_0x2c9ec9[_0x1a4e('0x2302')]),_0x2c9ec9['expression']),_0x2c9ec9['name']),_0x2c9ec9),_0xf79407=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x1b06ad,_0x2c9ec9['name']),_0x2c9ec9);}else _0x1adc17=_0x2c9ec9,_0xf79407=_0x2c9ec9;return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x1adc17,_0x368e5a[_0x1a4e('0x2d2d')](_0xf79407,_0x420b32,_0x146f6e)),_0x146f6e);}(_0x1adc17);case 0x29:return function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x5f')],_0x55ff7e,_0x368e5a[_0x1a4e('0x24a8')]),_0x1adc17=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x5d')],_0x55ff7e,_0x368e5a['isExpression']);return _0x368e5a[_0x1a4e('0x2d2d')](_0x2327c6,_0x1adc17,_0x146f6e);}(_0x1adc17);default:return _0x368e5a[_0x1a4e('0x28cd')](_0x1adc17,_0x55ff7e,_0x146f6e);}}(_0x1adc17);default:return _0x368e5a[_0x1a4e('0x28cd')](_0x1adc17,_0x55ff7e,_0x146f6e);}}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9;!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2e2b')]=0x1]='CapturedThis',_0x368e5a[_0x368e5a[_0x1a4e('0x2e2c')]=0x2]=_0x1a4e('0x2e2c');}(_0x146f6e||(_0x146f6e={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2e2d')]=0x1]='Body',_0x368e5a[_0x368e5a['Initializer']=0x2]='Initializer';}(_0x2327c6||(_0x2327c6={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2e2e')]=0x0]=_0x1a4e('0x2e2e'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e2f')]=0x1]=_0x1a4e('0x2e2f');}(_0x55ff7e||(_0x55ff7e={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2e30')]=0x2]=_0x1a4e('0x2e30'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e31')]=0x4]='Continue',_0x368e5a[_0x368e5a[_0x1a4e('0x2e32')]=0x8]='Return';}(_0x1adc17||(_0x1adc17={})),function(_0x368e5a){_0x368e5a[_0x368e5a['NoReplacement']=0x0]=_0x1a4e('0x2e33'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e34')]=0x1]=_0x1a4e('0x2e34'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e35')]=0x2]=_0x1a4e('0x2e35');}(_0xf79407||(_0xf79407={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x1a0f')]=0x1]='Function',_0x368e5a[_0x368e5a[_0x1a4e('0x1841')]=0x2]=_0x1a4e('0x1841'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ac9')]=0x4]=_0x1a4e('0x1ac9'),_0x368e5a[_0x368e5a['NonStaticClassElement']=0x8]=_0x1a4e('0x2e36'),_0x368e5a[_0x368e5a[_0x1a4e('0x1ab7')]=0x10]=_0x1a4e('0x1ab7'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e37')]=0x20]=_0x1a4e('0x2e37'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e38')]=0x40]=_0x1a4e('0x2e38'),_0x368e5a[_0x368e5a[_0x1a4e('0x1852')]=0x80]=_0x1a4e('0x1852'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e39')]=0x100]='IterationStatement',_0x368e5a[_0x368e5a[_0x1a4e('0x2e3a')]=0x200]='IterationStatementBlock',_0x368e5a[_0x368e5a[_0x1a4e('0x1858')]=0x400]=_0x1a4e('0x1858'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e3b')]=0x800]='ForInOrForOfStatement',_0x368e5a[_0x368e5a[_0x1a4e('0x2e3c')]=0x1000]=_0x1a4e('0x2e3c'),_0x368e5a[_0x368e5a[_0x1a4e('0x1815')]=0x2000]=_0x1a4e('0x1815'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e3d')]=0x3fff]=_0x1a4e('0x2e3d'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e3e')]=0x0]=_0x1a4e('0x2e3e'),_0x368e5a[_0x368e5a['BlockScopeExcludes']=0xfc0]=_0x1a4e('0x2e3f'),_0x368e5a[_0x368e5a['SourceFileIncludes']=0x40]=_0x1a4e('0x2e40'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e41')]=0xf80]=_0x1a4e('0x2e41'),_0x368e5a[_0x368e5a['FunctionIncludes']=0x41]=_0x1a4e('0x2e42'),_0x368e5a[_0x368e5a[_0x1a4e('0x197c')]=0x3f9e]='FunctionExcludes',_0x368e5a[_0x368e5a['AsyncFunctionBodyIncludes']=0x45]=_0x1a4e('0x2e43'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e44')]=0x3f96]=_0x1a4e('0x2e44'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e45')]=0x42]=_0x1a4e('0x2e45'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aaa')]=0x3f80]='ArrowFunctionExcludes',_0x368e5a[_0x368e5a['ConstructorIncludes']=0x49]=_0x1a4e('0x2e46'),_0x368e5a[_0x368e5a[_0x1a4e('0x1aab')]=0x3f96]=_0x1a4e('0x1aab'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e47')]=0x100]=_0x1a4e('0x2e47'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e48')]=0x0]=_0x1a4e('0x2e48'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e49')]=0x500]='ForStatementIncludes',_0x368e5a[_0x368e5a[_0x1a4e('0x2e4a')]=0xbc0]='ForStatementExcludes',_0x368e5a[_0x368e5a[_0x1a4e('0x2e4b')]=0x900]=_0x1a4e('0x2e4b'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e4c')]=0x7c0]=_0x1a4e('0x2e4c'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e4d')]=0x80]='BlockIncludes',_0x368e5a[_0x368e5a[_0x1a4e('0x2e4e')]=0xf40]=_0x1a4e('0x2e4e'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e4f')]=0x200]='IterationStatementBlockIncludes',_0x368e5a[_0x368e5a['IterationStatementBlockExcludes']=0xfc0]='IterationStatementBlockExcludes',_0x368e5a[_0x368e5a[_0x1a4e('0x2e50')]=0x2000]=_0x1a4e('0x2e50'),_0x368e5a[_0x368e5a['ComputedPropertyNameExcludes']=0x0]=_0x1a4e('0x2e51'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e52')]=0x4000]=_0x1a4e('0x2e52'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e53')]=0x8000]=_0x1a4e('0x2e53'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e54')]=-0x4000]=_0x1a4e('0x2e54'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e55')]=0xc000]=_0x1a4e('0x2e55');}(_0x2c9ec9||(_0x2c9ec9={})),_0x368e5a[_0x1a4e('0x2e56')]=function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x326eae,_0x56674b=_0x146f6e['startLexicalEnvironment'],_0x3986b4=_0x146f6e[_0x1a4e('0x2d73')],_0x1664ba=_0x146f6e[_0x1a4e('0x2d72')],_0x55852f=_0x146f6e[_0x1a4e('0x2dd2')],_0x64086f=_0x146f6e['getCompilerOptions'](),_0x33406d=_0x146f6e[_0x1a4e('0x2df0')](),_0x4eaba7=_0x146f6e[_0x1a4e('0x2df2')],_0x26f36c=_0x146f6e['onEmitNode'];return _0x146f6e[_0x1a4e('0x2df1')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x1&_0x326eae&&_0x368e5a[_0x1a4e('0x2342')](_0x2327c6)){var _0x1adc17=_0x5b64d7(0x3f9e,0x8&_0x368e5a[_0x1a4e('0x2c65')](_0x2327c6)?0x51:0x41);return _0x26f36c(_0x146f6e,_0x2327c6,_0x55ff7e),void _0x5f5001(_0x1adc17,0x0,0x0);}_0x26f36c(_0x146f6e,_0x2327c6,_0x55ff7e);},_0x146f6e[_0x1a4e('0x2df2')]=function(_0x146f6e,_0x2327c6){return _0x2327c6=_0x4eaba7(_0x146f6e,_0x2327c6),0x1===_0x146f6e?function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return function(_0x146f6e){if(0x2&_0x326eae&&!_0x368e5a['isInternalName'](_0x146f6e)){var _0x2327c6=_0x33406d[_0x1a4e('0x2e57')](_0x146f6e);if(_0x2327c6&&(!_0x368e5a[_0x1a4e('0x2367')](_0x2327c6)||!function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x240a')](_0x2327c6);if(!_0x55ff7e||_0x55ff7e===_0x146f6e||_0x55ff7e['end']<=_0x146f6e[_0x1a4e('0xa4')]||_0x55ff7e[_0x1a4e('0xa4')]>=_0x146f6e[_0x1a4e('0xca')])return!0x1;for(var _0x1adc17=_0x368e5a[_0x1a4e('0x283e')](_0x146f6e);_0x55ff7e;){if(_0x55ff7e===_0x1adc17||_0x55ff7e===_0x146f6e)return!0x1;if(_0x368e5a[_0x1a4e('0x2368')](_0x55ff7e)&&_0x55ff7e[_0x1a4e('0x11c')]===_0x146f6e)return!0x0;_0x55ff7e=_0x55ff7e[_0x1a4e('0x11c')];}return!0x1;}(_0x2327c6,_0x146f6e)))return _0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x28c8')](_0x368e5a[_0x1a4e('0x23e9')](_0x2327c6)),_0x146f6e);}return _0x146f6e;}(_0x146f6e);case 0x64:return function(_0x146f6e){return 0x1&_0x326eae&&0x10&_0x1adc17?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2e58')),_0x146f6e):_0x146f6e;}(_0x146f6e);}return _0x146f6e;}(_0x2327c6):_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)?function(_0x146f6e){if(0x2&_0x326eae&&!_0x368e5a[_0x1a4e('0x2d4d')](_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2370')]);if(_0x2327c6&&function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x11c')]['kind']){case 0xba:case 0xf0:case 0xf3:case 0xed:return _0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x368e5a&&_0x33406d[_0x1a4e('0x2bd2')](_0x368e5a[_0x1a4e('0x11c')]);}return!0x1;}(_0x2327c6))return _0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x28c8')](_0x2327c6),_0x146f6e);}return _0x146f6e;}(_0x2327c6):_0x2327c6;},_0x368e5a[_0x1a4e('0x2dc3')](function(_0x2c9ec9){if(_0x2c9ec9[_0x1a4e('0x2423')])return _0x2c9ec9;_0x2327c6=_0x2c9ec9,_0x55ff7e=_0x2c9ec9['text'];var _0x420b32=function(_0x146f6e){var _0x2327c6=_0x5b64d7(0xf80,0x40),_0x55ff7e=[];_0x56674b();var _0x1adc17=_0x368e5a[_0x1a4e('0x2e59')](_0x55ff7e,_0x146f6e[_0x1a4e('0x2366')],!0x1);return _0x2b92f3(_0x55ff7e,_0x146f6e),_0x1adc17=_0x368e5a[_0x1a4e('0x2e5a')](_0x55ff7e,_0x146f6e[_0x1a4e('0x2366')],_0x1adc17,_0x218f21),_0x368e5a[_0x1a4e('0x23d1')](_0x55ff7e,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2366')],_0x218f21,_0x368e5a['isStatement'],_0x1adc17)),_0xf79407&&_0x55ff7e[_0x1a4e('0x46')](_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2caf')](_0xf79407))),_0x368e5a[_0x1a4e('0x2329')](_0x55ff7e,_0x1664ba()),_0x5f5001(_0x2327c6,0x0,0x0),_0x368e5a['updateSourceFileNode'](_0x146f6e,_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x28d1')](_0x55ff7e),_0x146f6e[_0x1a4e('0x2366')]));}(_0x2c9ec9);return _0x368e5a[_0x1a4e('0x2d21')](_0x420b32,_0x146f6e[_0x1a4e('0x2e11')]()),_0x2327c6=void 0x0,_0x55ff7e=void 0x0,_0xf79407=void 0x0,_0x1adc17=0x0,_0x420b32;});function _0x5b64d7(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1adc17;return _0x1adc17=0x3fff&(_0x1adc17&~_0x368e5a|_0x146f6e),_0x2327c6;}function _0x5f5001(_0x368e5a,_0x146f6e,_0x2327c6){_0x1adc17=-0x4000&(_0x1adc17&~_0x146f6e|_0x2327c6)|_0x368e5a;}function _0x4518f9(_0x368e5a){return 0x0!=(0x1000&_0x1adc17)&&0xe6===_0x368e5a[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x2302')];}function _0x652366(_0x146f6e){return 0x0!=(0x80&_0x146f6e[_0x1a4e('0x257c')])||void 0x0!==_0x2c9ec9||0x1000&_0x1adc17&&(_0x368e5a[_0x1a4e('0x2569')](_0x146f6e)||0xda===_0x146f6e[_0x1a4e('0x146b')])||_0x368e5a[_0x1a4e('0x2560')](_0x146f6e,!0x1)&&_0x2424ac(_0x146f6e)||0x0!=(0x2000000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e));}function _0x218f21(_0x55ff7e){return _0x652366(_0x55ff7e)?function(_0x55ff7e){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0x74:return;case 0xf0:return function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x2dfa')](_0x146f6e,!0x0),void 0x0,_0x4d0d2e(_0x146f6e));_0x368e5a[_0x1a4e('0x2d25')](_0x2327c6,_0x146f6e);var _0x55ff7e=[],_0x1adc17=_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x2327c6]));if(_0x368e5a[_0x1a4e('0x2d25')](_0x1adc17,_0x146f6e),_0x368e5a[_0x1a4e('0x2d12')](_0x1adc17,_0x146f6e),_0x368e5a['startOnNewLine'](_0x1adc17),_0x55ff7e[_0x1a4e('0x46')](_0x1adc17),_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)){var _0xf79407=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x200)?_0x368e5a[_0x1a4e('0x2d10')](_0x368e5a[_0x1a4e('0x2dfa')](_0x146f6e)):_0x368e5a[_0x1a4e('0x2dfb')](_0x368e5a[_0x1a4e('0x2dfa')](_0x146f6e));_0x368e5a[_0x1a4e('0x2d25')](_0xf79407,_0x1adc17),_0x55ff7e[_0x1a4e('0x46')](_0xf79407);}var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e);return 0x0==(0x400000&_0x2c9ec9)&&(_0x55ff7e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2dfc')](_0x146f6e)),_0x368e5a['setEmitFlags'](_0x1adc17,0x400000|_0x2c9ec9)),_0x368e5a[_0x1a4e('0x1723')](_0x55ff7e);}(_0x55ff7e);case 0xd1:return function(_0x368e5a){return _0x4d0d2e(_0x368e5a);}(_0x55ff7e);case 0x97:return function(_0x146f6e){return _0x146f6e[_0x1a4e('0x25f9')]?void 0x0:_0x368e5a['isBindingPattern'](_0x146f6e['name'])?_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x368e5a['getGeneratedNameForNode'](_0x146f6e),void 0x0,void 0x0,void 0x0),_0x146f6e),_0x146f6e):_0x146f6e[_0x1a4e('0x236a')]?_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x146f6e[_0x1a4e('0x2cb')],void 0x0,void 0x0,void 0x0),_0x146f6e),_0x146f6e):_0x146f6e;}(_0x55ff7e);case 0xef:return function(_0x2327c6){var _0x55ff7e=_0x2c9ec9;_0x2c9ec9=void 0x0;var _0xf79407=_0x5b64d7(0x3f9e,0x41),_0x420b32=_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6['parameters'],_0x218f21,_0x146f6e),_0x1b06ad=0x40&_0x2327c6[_0x1a4e('0x257c')]?_0x25e3b4(_0x2327c6):_0x246a6c(_0x2327c6),_0x326eae=0x4000&_0x1adc17?_0x368e5a[_0x1a4e('0x2dfa')](_0x2327c6):_0x2327c6['name'];return _0x5f5001(_0xf79407,0xc000,0x0),_0x2c9ec9=_0x55ff7e,_0x368e5a[_0x1a4e('0x2d8c')](_0x2327c6,void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x242d')],_0x218f21,_0x368e5a['isModifier']),_0x2327c6[_0x1a4e('0x23fc')],_0x326eae,void 0x0,_0x420b32,void 0x0,_0x1b06ad);}(_0x55ff7e);case 0xc5:return function(_0x2327c6){0x2000&_0x2327c6[_0x1a4e('0x257c')]&&_0x2878a3();var _0x55ff7e=_0x2c9ec9;_0x2c9ec9=void 0x0;var _0x1adc17=_0x5b64d7(0x3f80,0x42),_0xf79407=_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x218f21,_0x146f6e),void 0x0,_0x25e3b4(_0x2327c6));return _0x368e5a['setTextRange'](_0xf79407,_0x2327c6),_0x368e5a[_0x1a4e('0x2d25')](_0xf79407,_0x2327c6),_0x368e5a['setEmitFlags'](_0xf79407,0x8),_0x5f5001(_0x1adc17,0x0,0x0),_0x2c9ec9=_0x55ff7e,_0xf79407;}(_0x55ff7e);case 0xc4:return function(_0x2327c6){var _0x55ff7e=0x40000&_0x368e5a['getEmitFlags'](_0x2327c6)?_0x5b64d7(0x3f96,0x45):_0x5b64d7(0x3f9e,0x41),_0xf79407=_0x2c9ec9;_0x2c9ec9=void 0x0;var _0x420b32=_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x218f21,_0x146f6e),_0x1b06ad=0x40&_0x2327c6[_0x1a4e('0x257c')]?_0x25e3b4(_0x2327c6):_0x246a6c(_0x2327c6),_0x326eae=0x4000&_0x1adc17?_0x368e5a[_0x1a4e('0x2dfa')](_0x2327c6):_0x2327c6[_0x1a4e('0x2cb')];return _0x5f5001(_0x55ff7e,0xc000,0x0),_0x2c9ec9=_0xf79407,_0x368e5a[_0x1a4e('0x2c6f')](_0x2327c6,void 0x0,_0x2327c6['asteriskToken'],_0x326eae,void 0x0,_0x420b32,void 0x0,_0x1b06ad);}(_0x55ff7e);case 0xed:return _0x58ad08(_0x55ff7e);case 0x48:return function(_0x146f6e){return _0x2c9ec9?_0x368e5a['isGeneratedIdentifier'](_0x146f6e)?_0x146f6e:_0x1a4e('0x2373')===_0x146f6e['escapedText']&&_0x33406d[_0x1a4e('0x2e5b')](_0x146f6e)?_0x2c9ec9[_0x1a4e('0x2e5c')]||(_0x2c9ec9[_0x1a4e('0x2e5c')]=_0x368e5a['createUniqueName'](_0x1a4e('0x2373'))):_0x146f6e:_0x146f6e;}(_0x55ff7e);case 0xee:return function(_0x2327c6){if(0x40&_0x2327c6[_0x1a4e('0x257c')]){0x3&_0x2327c6[_0x1a4e('0x7b2')]&&_0x385020();var _0x55ff7e=_0x368e5a[_0x1a4e('0x104e')](_0x2327c6[_0x1a4e('0x22e5')],0x1&_0x2327c6['flags']?_0xb19601:_0x58ad08),_0x1adc17=_0x368e5a[_0x1a4e('0x2caf')](_0x55ff7e);return _0x368e5a[_0x1a4e('0x2d25')](_0x1adc17,_0x2327c6),_0x368e5a['setTextRange'](_0x1adc17,_0x2327c6),_0x368e5a['setCommentRange'](_0x1adc17,_0x2327c6),0x200000&_0x2327c6[_0x1a4e('0x257c')]&&(_0x368e5a[_0x1a4e('0x1678')](_0x2327c6[_0x1a4e('0x22e5')][0x0]['name'])||_0x368e5a[_0x1a4e('0x1678')](_0x368e5a['last'](_0x2327c6['declarations'])[_0x1a4e('0x2cb')]))&&_0x368e5a[_0x1a4e('0x2d14')](_0x1adc17,function(_0x146f6e){for(var _0x2327c6=-0x1,_0x55ff7e=-0x1,_0x1adc17=0x0,_0xf79407=_0x146f6e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x2327c6=-0x1===_0x2327c6?_0x2c9ec9[_0x1a4e('0xa4')]:-0x1===_0x2c9ec9[_0x1a4e('0xa4')]?_0x2327c6:Math['min'](_0x2327c6,_0x2c9ec9[_0x1a4e('0xa4')]),_0x55ff7e=Math[_0x1a4e('0x6c')](_0x55ff7e,_0x2c9ec9[_0x1a4e('0xca')]);}return _0x368e5a['createRange'](_0x2327c6,_0x55ff7e);}(_0x55ff7e)),_0x1adc17;}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}(_0x55ff7e);case 0xe8:return function(_0x2327c6){if(void 0x0!==_0x2c9ec9){var _0x55ff7e=_0x2c9ec9[_0x1a4e('0x2e5d')];_0x2c9ec9[_0x1a4e('0x2e5d')]|=0x2;var _0x1adc17=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);return _0x2c9ec9[_0x1a4e('0x2e5d')]=_0x55ff7e,_0x1adc17;}return _0x368e5a['visitEachChild'](_0x2327c6,_0x218f21,_0x146f6e);}(_0x55ff7e);case 0xf6:return function(_0x2327c6){var _0x55ff7e=_0x5b64d7(0xfc0,0x0),_0x1adc17=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);return _0x5f5001(_0x55ff7e,0x0,0x0),_0x1adc17;}(_0x55ff7e);case 0xda:return _0x1b6df5(_0x55ff7e,!0x1);case 0xe5:case 0xe4:return function(_0x2327c6){if(_0x2c9ec9){var _0x55ff7e=0xe5===_0x2327c6['kind']?0x2:0x4,_0x1adc17=_0x2327c6[_0x1a4e('0x1bc')]&&_0x2c9ec9[_0x1a4e('0x2e5e')]&&_0x2c9ec9[_0x1a4e('0x2e5e')][_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x2353')](_0x2327c6[_0x1a4e('0x1bc')]))||!_0x2327c6[_0x1a4e('0x1bc')]&&_0x2c9ec9[_0x1a4e('0x2e5d')]&_0x55ff7e;if(!_0x1adc17){var _0xf79407=void 0x0,_0x420b32=_0x2327c6[_0x1a4e('0x1bc')];_0x420b32?0xe5===_0x2327c6[_0x1a4e('0x146b')]?(_0xf79407=_0x1a4e('0x2e5f')+_0x420b32['escapedText'],_0x2f17d4(_0x2c9ec9,!0x0,_0x368e5a['idText'](_0x420b32),_0xf79407)):(_0xf79407=_0x1a4e('0x2e60')+_0x420b32[_0x1a4e('0x22f3')],_0x2f17d4(_0x2c9ec9,!0x1,_0x368e5a[_0x1a4e('0x2353')](_0x420b32),_0xf79407)):0xe5===_0x2327c6[_0x1a4e('0x146b')]?(_0x2c9ec9[_0x1a4e('0x2e61')]|=0x2,_0xf79407='break'):(_0x2c9ec9[_0x1a4e('0x2e61')]|=0x4,_0xf79407=_0x1a4e('0x137e'));var _0x1b06ad=_0x368e5a[_0x1a4e('0x2896')](_0xf79407);if(_0x2c9ec9[_0x1a4e('0x2e62')]['length']){for(var _0x326eae=_0x2c9ec9[_0x1a4e('0x2e62')],_0x56674b=void 0x0,_0x3986b4=0x0;_0x3986b4<_0x326eae[_0x1a4e('0x1e')];_0x3986b4++){var _0x1664ba=_0x2481c3(_0x326eae[_0x3986b4],0x1);_0x56674b=0x0===_0x3986b4?_0x1664ba:_0x368e5a[_0x1a4e('0x2e63')](_0x56674b,0x1b,_0x1664ba);}_0x1b06ad=_0x368e5a[_0x1a4e('0x2e63')](_0x56674b,0x1b,_0x1b06ad);}return _0x368e5a[_0x1a4e('0x2ca3')](_0x1b06ad);}}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}(_0x55ff7e);case 0xe9:return function(_0x146f6e){_0x2c9ec9&&!_0x2c9ec9[_0x1a4e('0x2e5e')]&&(_0x2c9ec9[_0x1a4e('0x2e5e')]=_0x368e5a[_0x1a4e('0x1772')]());var _0x2327c6=_0x368e5a[_0x1a4e('0x238f')](_0x146f6e,_0x2c9ec9&&_0x49a142);return _0x368e5a[_0x1a4e('0x2560')](_0x2327c6,!0x1)?function(_0x368e5a,_0x146f6e){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xdf:case 0xe0:return _0x1edfe5(_0x368e5a,_0x146f6e);case 0xe1:return _0x444899(_0x368e5a,_0x146f6e);case 0xe2:return _0xa05256(_0x368e5a,_0x146f6e);case 0xe3:return _0x4fc5ed(_0x368e5a,_0x146f6e);}}(_0x2327c6,_0x146f6e):_0x368e5a['restoreEnclosingLabel'](_0x368e5a['visitNode'](_0x2327c6,_0x218f21,_0x368e5a['isStatement'],_0x368e5a[_0x1a4e('0x2d86')]),_0x146f6e,_0x2c9ec9&&_0x1db974);}(_0x55ff7e);case 0xdf:case 0xe0:return _0x1edfe5(_0x55ff7e,void 0x0);case 0xe1:return _0x444899(_0x55ff7e,void 0x0);case 0xe2:return _0xa05256(_0x55ff7e,void 0x0);case 0xe3:return _0x4fc5ed(_0x55ff7e,void 0x0);case 0xdd:return function(_0x2327c6){switch(_0x2327c6['expression'][_0x1a4e('0x146b')]){case 0xc3:return _0x368e5a['updateExpressionStatement'](_0x2327c6,_0x5c0eae(_0x2327c6[_0x1a4e('0x2302')],!0x1));case 0xcc:return _0x368e5a[_0x1a4e('0x2c95')](_0x2327c6,_0x7b71a0(_0x2327c6[_0x1a4e('0x2302')],!0x1));}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}(_0x55ff7e);case 0xbc:return function(_0x2327c6){for(var _0x55ff7e=_0x2327c6[_0x1a4e('0x13')],_0xf79407=_0x55ff7e[_0x1a4e('0x1e')],_0x2c9ec9=_0xf79407,_0x420b32=_0xf79407,_0x1b06ad=0x0;_0x1b06ad<_0xf79407;_0x1b06ad++){var _0x326eae=_0x55ff7e[_0x1b06ad];if(0x400000&_0x326eae[_0x1a4e('0x257c')]&&0x4&_0x1adc17&&_0x1b06ad<_0x420b32&&(_0x420b32=_0x1b06ad),0x95===_0x326eae[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]){_0x2c9ec9=_0x1b06ad;break;}}if(_0x2c9ec9!==_0xf79407){_0x420b32<_0x2c9ec9&&(_0x2c9ec9=_0x420b32);var _0x56674b=_0x368e5a[_0x1a4e('0x2c27')](_0x55852f),_0x3986b4=[],_0x1664ba=_0x368e5a['createAssignment'](_0x56674b,_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c62')](_0x368e5a[_0x1a4e('0x2d77')](_0x55ff7e,_0x218f21,_0x368e5a['isObjectLiteralElementLike'],0x0,_0x2c9ec9),_0x2327c6[_0x1a4e('0x2677')]),0x10000));return _0x2327c6[_0x1a4e('0x2677')]&&_0x368e5a['startOnNewLine'](_0x1664ba),_0x3986b4[_0x1a4e('0x46')](_0x1664ba),function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=_0x2327c6[_0x1a4e('0x13')],_0x2c9ec9=_0xf79407[_0x1a4e('0x1e')],_0x420b32=_0x1adc17;_0x420b32<_0x2c9ec9;_0x420b32++){var _0x1b06ad=_0xf79407[_0x420b32];switch(_0x1b06ad[_0x1a4e('0x146b')]){case 0x9e:case 0x9f:var _0x326eae=_0x368e5a[_0x1a4e('0x2d48')](_0x2327c6[_0x1a4e('0x13')],_0x1b06ad);_0x1b06ad===_0x326eae[_0x1a4e('0x2d49')]&&_0x146f6e[_0x1a4e('0x46')](_0x45ad54(_0x55ff7e,_0x326eae,_0x2327c6,!!_0x2327c6[_0x1a4e('0x2677')]));break;case 0x9c:_0x146f6e['push'](_0x578f98(_0x1b06ad,_0x55ff7e,_0x2327c6,_0x2327c6['multiLine']));break;case 0x113:_0x146f6e[_0x1a4e('0x46')](_0x33b445(_0x1b06ad,_0x55ff7e,_0x2327c6[_0x1a4e('0x2677')]));break;case 0x114:_0x146f6e['push'](_0x52bb0d(_0x1b06ad,_0x55ff7e,_0x2327c6[_0x1a4e('0x2677')]));break;default:_0x368e5a[_0x1a4e('0x1749')]['failBadSyntaxKind'](_0x2327c6);}}}(_0x3986b4,_0x2327c6,_0x56674b,_0x2c9ec9),_0x3986b4[_0x1a4e('0x46')](_0x2327c6[_0x1a4e('0x2677')]?_0x368e5a[_0x1a4e('0x2d60')](_0x368e5a[_0x1a4e('0x2cf1')](_0x56674b)):_0x56674b),_0x368e5a[_0x1a4e('0x2d45')](_0x3986b4);}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}(_0x55ff7e);case 0x112:return function(_0x2327c6){var _0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32=_0x5b64d7(0xfc0,0x0);if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x2327c6[_0x1a4e('0x260b')],_0x1a4e('0x2e64')),_0x368e5a[_0x1a4e('0x1678')](_0x2327c6[_0x1a4e('0x260b')][_0x1a4e('0x2cb')])){var _0x1b06ad=_0x368e5a['createTempVariable'](void 0x0),_0x326eae=_0x368e5a['createVariableDeclaration'](_0x1b06ad);_0x368e5a[_0x1a4e('0x2d12')](_0x326eae,_0x2327c6[_0x1a4e('0x260b')]);var _0x56674b=_0x368e5a['flattenDestructuringBinding'](_0x2327c6[_0x1a4e('0x260b')],_0x218f21,_0x146f6e,0x0,_0x1b06ad),_0x3986b4=_0x368e5a[_0x1a4e('0x2caf')](_0x56674b);_0x368e5a[_0x1a4e('0x2d12')](_0x3986b4,_0x2327c6['variableDeclaration']);var _0x1664ba=_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x3986b4);_0x55ff7e=_0x368e5a[_0x1a4e('0x2ce9')](_0x2327c6,_0x326eae,(_0x1adc17=_0x2327c6[_0x1a4e('0x260c')],_0xf79407=_0x1664ba,_0x2c9ec9=_0x368e5a[_0x1a4e('0x2d77')](_0x1adc17[_0x1a4e('0x2366')],_0x218f21,_0x368e5a[_0x1a4e('0x2569')]),_0x368e5a['updateBlock'](_0x1adc17,[_0xf79407][_0x1a4e('0x9a')](_0x2c9ec9))));}else _0x55ff7e=_0x368e5a['visitEachChild'](_0x2327c6,_0x218f21,_0x146f6e);return _0x5f5001(_0x420b32,0x0,0x0),_0x55ff7e;}(_0x55ff7e);case 0x114:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createPropertyAssignment'](_0x146f6e['name'],_0x368e5a[_0x1a4e('0x28ca')](_0x146f6e['name'])),_0x146f6e);}(_0x55ff7e);case 0x95:return function(_0x2327c6){var _0x55ff7e=_0x5b64d7(0x0,0x2000),_0xf79407=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);return _0x5f5001(_0x55ff7e,0xc000,0xc000&_0x1adc17?0x8000:0x0),_0xf79407;}(_0x55ff7e);case 0xbb:return function(_0x2327c6){return 0x40&_0x2327c6['transformFlags']?_0xeea78b(_0x2327c6[_0x1a4e('0x2398')],!0x0,!!_0x2327c6[_0x1a4e('0x2677')],!!_0x2327c6[_0x1a4e('0x2398')][_0x1a4e('0x265d')]):_0x368e5a['visitEachChild'](_0x2327c6,_0x218f21,_0x146f6e);}(_0x55ff7e);case 0xbf:return function(_0x146f6e){return 0x2000000&_0x368e5a['getEmitFlags'](_0x146f6e)?function(_0x146f6e){var _0x2327c6=_0x368e5a['cast'](_0x368e5a[_0x1a4e('0x172f')](_0x368e5a[_0x1a4e('0x2aa7')](_0x146f6e['expression']),_0x368e5a[_0x1a4e('0x23e0')])[_0x1a4e('0x8f2')],_0x368e5a['isBlock']),_0x55ff7e=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2376')](_0x146f6e)&&!!_0x368e5a[_0x1a4e('0x10f7')](_0x146f6e[_0x1a4e('0x2377')]['declarations'])[_0x1a4e('0x236a')];},_0x1adc17=_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x2366')],_0x218f21,_0x368e5a['isStatement']),_0xf79407=_0x368e5a[_0x1a4e('0xd9')](_0x1adc17,_0x55ff7e),_0x2c9ec9=_0x368e5a[_0x1a4e('0xd9')](_0x1adc17,function(_0x368e5a){return!_0x55ff7e(_0x368e5a);}),_0x420b32=_0x368e5a[_0x1a4e('0x172f')](_0x368e5a['first'](_0xf79407),_0x368e5a[_0x1a4e('0x2376')])[_0x1a4e('0x2377')]['declarations'][0x0],_0x1b06ad=_0x368e5a[_0x1a4e('0x2aa7')](_0x420b32[_0x1a4e('0x236a')]),_0x326eae=_0x368e5a[_0x1a4e('0x172e')](_0x1b06ad,_0x368e5a[_0x1a4e('0x287a')]),_0x56674b=_0x368e5a['cast'](_0x326eae?_0x368e5a[_0x1a4e('0x2aa7')](_0x326eae['right']):_0x1b06ad,_0x368e5a[_0x1a4e('0x2372')]),_0x3986b4=_0x368e5a[_0x1a4e('0x172f')](_0x368e5a[_0x1a4e('0x2aa7')](_0x56674b[_0x1a4e('0x2302')]),_0x368e5a[_0x1a4e('0x23df')]),_0x1664ba=_0x3986b4['body'][_0x1a4e('0x2366')],_0x55852f=0x0,_0x64086f=-0x1,_0x33406d=[];if(_0x326eae){var _0x4eaba7=_0x368e5a['tryCast'](_0x1664ba[_0x55852f],_0x368e5a[_0x1a4e('0x2375')]);_0x4eaba7&&(_0x33406d['push'](_0x4eaba7),_0x55852f++),_0x33406d['push'](_0x1664ba[_0x55852f]),_0x55852f++,_0x33406d[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x326eae['left'],_0x368e5a[_0x1a4e('0x172f')](_0x420b32[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2370')]))));}for(;!_0x368e5a[_0x1a4e('0x2516')](_0x368e5a[_0x1a4e('0x1720')](_0x1664ba,_0x64086f));)_0x64086f--;return _0x368e5a[_0x1a4e('0x23d1')](_0x33406d,_0x1664ba,_0x55852f,_0x64086f),_0x64086f<-0x1&&_0x368e5a[_0x1a4e('0x23d1')](_0x33406d,_0x1664ba,_0x64086f+0x1),_0x368e5a[_0x1a4e('0x23d1')](_0x33406d,_0x2c9ec9),_0x368e5a[_0x1a4e('0x23d1')](_0x33406d,_0xf79407,0x1),_0x368e5a[_0x1a4e('0x2d5f')](_0x146f6e[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x2d5f')](_0x420b32[_0x1a4e('0x236a')],_0x368e5a['recreateOuterExpressions'](_0x326eae&&_0x326eae[_0x1a4e('0x5d')],_0x368e5a['updateCall'](_0x56674b,_0x368e5a[_0x1a4e('0x2d5f')](_0x56674b['expression'],_0x368e5a[_0x1a4e('0x2c6f')](_0x3986b4,void 0x0,void 0x0,void 0x0,void 0x0,_0x3986b4[_0x1a4e('0x111a')],void 0x0,_0x368e5a[_0x1a4e('0x2c92')](_0x3986b4['body'],_0x33406d))),void 0x0,_0x56674b[_0x1a4e('0x2373')]))));}(_0x146f6e):0x40&_0x146f6e[_0x1a4e('0x257c')]?_0x23c12d(_0x146f6e,!0x0):_0x368e5a[_0x1a4e('0x2c68')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x213e28,_0x368e5a[_0x1a4e('0x24a8')]),void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2373')],_0x218f21,_0x368e5a['isExpression']));}(_0x55ff7e);case 0xc0:return function(_0x2327c6){if(0x20000&_0x2327c6[_0x1a4e('0x257c')]){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2e65')](_0x368e5a[_0x1a4e('0x2894')](_0x2327c6[_0x1a4e('0x2302')],_0x1a4e('0x945')),_0x55852f),_0x1adc17=_0x55ff7e[_0x1a4e('0xd95')],_0xf79407=_0x55ff7e['thisArg'];return _0x368e5a[_0x1a4e('0x2e66')](_0x368e5a['createFunctionApply'](_0x368e5a[_0x1a4e('0x2d76')](_0x1adc17,_0x218f21,_0x368e5a['isExpression']),_0xf79407,_0xeea78b(_0x368e5a[_0x1a4e('0x28d1')]([_0x368e5a[_0x1a4e('0x2d0f')]()][_0x1a4e('0x9a')](_0x2327c6[_0x1a4e('0x2373')])),!0x1,!0x1,!0x1)),void 0x0,[]);}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}(_0x55ff7e);case 0xc3:return _0x5c0eae(_0x55ff7e,!0x0);case 0xcc:return _0x7b71a0(_0x55ff7e,!0x0);case 0xe:case 0xf:case 0x10:case 0x11:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2896')](_0x146f6e[_0x1a4e('0xe04')]),_0x146f6e);}(_0x55ff7e);case 0xa:return function(_0x146f6e){return _0x146f6e['hasExtendedUnicodeEscape']?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2896')](_0x146f6e[_0x1a4e('0xe04')]),_0x146f6e):_0x146f6e;}(_0x55ff7e);case 0x8:return function(_0x146f6e){return 0x180&_0x146f6e[_0x1a4e('0x2335')]?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2e67')](_0x146f6e['text']),_0x146f6e):_0x146f6e;}(_0x55ff7e);case 0xc1:return function(_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2d76')](_0x55ff7e[_0x1a4e('0x7ba')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]),_0x2c9ec9=[void 0x0],_0x420b32=[],_0x326eae=[],_0x56674b=_0x55ff7e[_0x1a4e('0xe19')];if(_0x368e5a[_0x1a4e('0x24e5')](_0x56674b))_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2896')](_0x56674b['text'])),_0x326eae[_0x1a4e('0x46')](_0x2f1489(_0x56674b));else{_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2896')](_0x56674b[_0x1a4e('0x10f1')][_0x1a4e('0xe04')])),_0x326eae[_0x1a4e('0x46')](_0x2f1489(_0x56674b[_0x1a4e('0x10f1')]));for(var _0x3986b4=0x0,_0x1664ba=_0x56674b['templateSpans'];_0x3986b4<_0x1664ba['length'];_0x3986b4++){var _0x55852f=_0x1664ba[_0x3986b4];_0x420b32[_0x1a4e('0x46')](_0x368e5a['createLiteral'](_0x55852f['literal'][_0x1a4e('0xe04')])),_0x326eae[_0x1a4e('0x46')](_0x2f1489(_0x55852f[_0x1a4e('0x2301')])),_0x2c9ec9['push'](_0x368e5a[_0x1a4e('0x2d76')](_0x55852f[_0x1a4e('0x2302')],_0x218f21,_0x368e5a['isExpression']));}}var _0x64086f,_0x33406d=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e[_0x1a4e('0x2d33')](_0x1b06ad),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['getHelperName'](_0x1a4e('0x1664')),void 0x0,[_0x2327c6,_0x55ff7e]);}(_0x146f6e,_0x368e5a[_0x1a4e('0x2c60')](_0x420b32),_0x368e5a[_0x1a4e('0x2c60')](_0x326eae));if(_0x368e5a[_0x1a4e('0x22f1')](_0x2327c6)){var _0x4eaba7=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0x2e68'));_0x64086f=_0x4eaba7,_0xf79407=_0x368e5a[_0x1a4e('0x252')](_0xf79407,_0x368e5a[_0x1a4e('0x2cad')](_0x64086f)),_0x2c9ec9[0x0]=_0x368e5a['createLogicalOr'](_0x4eaba7,_0x368e5a[_0x1a4e('0x2d07')](_0x4eaba7,_0x33406d));}else _0x2c9ec9[0x0]=_0x33406d;return _0x368e5a[_0x1a4e('0x2c67')](_0x1adc17,void 0x0,_0x2c9ec9);}(_0x55ff7e);case 0xce:return function(_0x146f6e){var _0x2327c6=[];(function(_0x146f6e,_0x2327c6){(function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0!==_0x146f6e[_0x1a4e('0x260e')]['length']),0x0!==_0x146f6e[_0x1a4e('0x10f1')][_0x1a4e('0xe04')][_0x1a4e('0x1e')]||0x0===_0x146f6e[_0x1a4e('0x260e')][0x0][_0x1a4e('0x2301')][_0x1a4e('0xe04')][_0x1a4e('0x1e')];}(_0x2327c6)&&_0x146f6e[_0x1a4e('0x46')](_0x368e5a['createLiteral'](_0x2327c6['head'][_0x1a4e('0xe04')])));}(_0x2327c6,_0x146f6e),function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x260e')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x146f6e[_0x1a4e('0x46')](_0x368e5a['visitNode'](_0xf79407[_0x1a4e('0x2302')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')])),0x0!==_0xf79407['literal'][_0x1a4e('0xe04')]['length']&&_0x146f6e['push'](_0x368e5a[_0x1a4e('0x2896')](_0xf79407[_0x1a4e('0x2301')][_0x1a4e('0xe04')]));}}(_0x2327c6,_0x146f6e));var _0x55ff7e=_0x368e5a['reduceLeft'](_0x2327c6,_0x368e5a['createAdd']);return _0x368e5a[_0x1a4e('0x2408')](_0x55ff7e)&&(_0x55ff7e[_0x1a4e('0xa4')]=_0x146f6e[_0x1a4e('0xa4')],_0x55ff7e[_0x1a4e('0xca')]=_0x146f6e[_0x1a4e('0xca')]),_0x55ff7e;}(_0x55ff7e);case 0xcf:return function(_0x2327c6){return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}(_0x55ff7e);case 0xd0:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['expression'],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]);}(_0x55ff7e);case 0x62:return _0x330783(!0x1);case 0x64:return function(_0x146f6e){return _0x2c9ec9?0x2&_0x1adc17?(_0x2c9ec9[_0x1a4e('0x2e69')]=!0x0,_0x146f6e):_0x2c9ec9[_0x1a4e('0x2e6a')]||(_0x2c9ec9[_0x1a4e('0x2e6a')]=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0x19b5'))):_0x146f6e;}(_0x55ff7e);case 0xd6:return function(_0x146f6e){return 0x5f===_0x146f6e[_0x1a4e('0x2675')]&&_0x1a4e('0xd95')===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]?(_0x1adc17|=0x2000&_0x1adc17?0x8000:0x4000,_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2e6b'))):_0x146f6e;}(_0x55ff7e);case 0x9c:return function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')]['assert'](!_0x368e5a[_0x1a4e('0x23e8')](_0x146f6e[_0x1a4e('0x2cb')]));var _0x2327c6=_0x10c32e(_0x146f6e,_0x368e5a[_0x1a4e('0x247e')](_0x146f6e,-0x1),void 0x0,void 0x0);return _0x368e5a[_0x1a4e('0x2892')](_0x2327c6,0x200|_0x368e5a[_0x1a4e('0x2c65')](_0x2327c6)),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d3d')](_0x146f6e[_0x1a4e('0x2cb')],_0x2327c6),_0x146f6e);}(_0x55ff7e);case 0x9e:case 0x9f:return function(_0x2327c6){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x368e5a['isComputedPropertyName'](_0x2327c6[_0x1a4e('0x2cb')]));var _0x55ff7e=_0x2c9ec9;_0x2c9ec9=void 0x0;var _0x1adc17,_0xf79407=_0x5b64d7(0x3f9e,0x41),_0x420b32=_0x368e5a['visitParameterList'](_0x2327c6[_0x1a4e('0x111a')],_0x218f21,_0x146f6e),_0x1b06ad=0x4080&_0x2327c6[_0x1a4e('0x257c')]?_0x25e3b4(_0x2327c6):_0x246a6c(_0x2327c6);return _0x1adc17=0x9e===_0x2327c6[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2c3f')](_0x2327c6,_0x2327c6[_0x1a4e('0x232f')],_0x2327c6['modifiers'],_0x2327c6[_0x1a4e('0x2cb')],_0x420b32,_0x2327c6[_0x1a4e('0x40')],_0x1b06ad):_0x368e5a['updateSetAccessor'](_0x2327c6,_0x2327c6['decorators'],_0x2327c6[_0x1a4e('0x242d')],_0x2327c6['name'],_0x420b32,_0x1b06ad),_0x5f5001(_0xf79407,0xc000,0x0),_0x2c9ec9=_0x55ff7e,_0x1adc17;}(_0x55ff7e);case 0xdb:return function(_0x2327c6){var _0x55ff7e,_0x1adc17=_0x5b64d7(0x0,_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x1)?0x20:0x0);if(_0x2c9ec9&&0x0==(0x3&_0x2327c6[_0x1a4e('0x2377')][_0x1a4e('0x7b2')])){for(var _0xf79407=void 0x0,_0x420b32=0x0,_0x1b06ad=_0x2327c6['declarationList'][_0x1a4e('0x22e5')];_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];if(_0x4d941d(_0x2c9ec9,_0x326eae),_0x326eae[_0x1a4e('0x236a')]){var _0x56674b=void 0x0;_0x368e5a[_0x1a4e('0x1678')](_0x326eae['name'])?_0x56674b=_0x368e5a[_0x1a4e('0x2e1e')](_0x326eae,_0x218f21,_0x146f6e,0x0):(_0x56674b=_0x368e5a[_0x1a4e('0x2e63')](_0x326eae[_0x1a4e('0x2cb')],0x3b,_0x368e5a['visitNode'](_0x326eae['initializer'],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')])),_0x368e5a[_0x1a4e('0x2d12')](_0x56674b,_0x326eae)),_0xf79407=_0x368e5a[_0x1a4e('0x252')](_0xf79407,_0x56674b);}}_0x55ff7e=_0xf79407?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d45')](_0xf79407)),_0x2327c6):void 0x0;}else _0x55ff7e=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);return _0x5f5001(_0x1adc17,0x0,0x0),_0x55ff7e;}(_0x55ff7e);case 0xe6:return function(_0x2327c6){return _0x2c9ec9?(_0x2c9ec9[_0x1a4e('0x2e61')]|=0x8,_0x4518f9(_0x2327c6)&&(_0x2327c6=_0xcb433b(_0x2327c6)),_0x368e5a['createReturn'](_0x368e5a['createObjectLiteral']([_0x368e5a[_0x1a4e('0x2d3d')](_0x368e5a[_0x1a4e('0x2893')]('value'),_0x2327c6['expression']?_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2302')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]):_0x368e5a['createVoidZero']())]))):_0x4518f9(_0x2327c6)?_0xcb433b(_0x2327c6):_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}(_0x55ff7e);default:return _0x368e5a[_0x1a4e('0x28cd')](_0x55ff7e,_0x218f21,_0x146f6e);}}(_0x55ff7e):_0x55ff7e;}function _0x1222ed(_0x368e5a){return _0x652366(_0x368e5a)?_0x1b6df5(_0x368e5a,!0x0):_0x368e5a;}function _0x213e28(_0x368e5a){return 0x62===_0x368e5a[_0x1a4e('0x146b')]?_0x330783(!0x0):_0x218f21(_0x368e5a);}function _0xcb433b(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['createReturn'](_0x368e5a['createFileLevelUniqueName'](_0x1a4e('0x2e58'))),_0x146f6e);}function _0x4d0d2e(_0x2327c6){_0x2327c6[_0x1a4e('0x2cb')]&&_0x385020();var _0xf79407=_0x368e5a[_0x1a4e('0x1679')](_0x2327c6),_0x1b06ad=_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,_0xf79407?[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2d44')))]:[],void 0x0,function(_0x2327c6,_0xf79407){var _0x1b06ad=[];_0x56674b(),function(_0x2327c6,_0x55ff7e,_0x1adc17){_0x1adc17&&_0x2327c6['push'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createExpressionStatement'](function(_0x146f6e,_0x2327c6){return _0x146f6e[_0x1a4e('0x2d33')](_0x420b32),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2ddf')]('__extends'),void 0x0,[_0x2327c6,_0x368e5a['createFileLevelUniqueName'](_0x1a4e('0x2d44'))]);}(_0x146f6e,_0x368e5a[_0x1a4e('0x2d4c')](_0x55ff7e))),_0x1adc17));}(_0x1b06ad,_0x2327c6,_0xf79407),function(_0x2327c6,_0x55ff7e,_0xf79407){var _0x420b32=_0x2c9ec9;_0x2c9ec9=void 0x0;var _0x1b06ad=_0x5b64d7(0x3f96,0x49),_0x326eae=_0x368e5a['getFirstConstructorWithBody'](_0x55ff7e),_0x56674b=function(_0x146f6e,_0x2327c6){if(!_0x146f6e||!_0x2327c6)return!0x1;if(_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e['parameters']))return!0x1;var _0x55ff7e=_0x368e5a['firstOrUndefined'](_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x2366')]);if(!_0x55ff7e||!_0x368e5a[_0x1a4e('0x2408')](_0x55ff7e)||0xdd!==_0x55ff7e['kind'])return!0x1;var _0x1adc17=_0x55ff7e[_0x1a4e('0x2302')];if(!_0x368e5a['nodeIsSynthesized'](_0x1adc17)||0xbf!==_0x1adc17[_0x1a4e('0x146b')])return!0x1;var _0xf79407=_0x1adc17['expression'];if(!_0x368e5a['nodeIsSynthesized'](_0xf79407)||0x62!==_0xf79407[_0x1a4e('0x146b')])return!0x1;var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2d6f')](_0x1adc17[_0x1a4e('0x2373')]);if(!_0x2c9ec9||!_0x368e5a[_0x1a4e('0x2408')](_0x2c9ec9)||0xd0!==_0x2c9ec9[_0x1a4e('0x146b')])return!0x1;var _0x420b32=_0x2c9ec9[_0x1a4e('0x2302')];return _0x368e5a['isIdentifier'](_0x420b32)&&_0x1a4e('0x2373')===_0x420b32[_0x1a4e('0x22f3')];}(_0x326eae,void 0x0!==_0xf79407),_0x55852f=_0x368e5a[_0x1a4e('0x2cb0')](void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2d4c')](_0x55ff7e),void 0x0,function(_0x2327c6,_0x55ff7e){return _0x368e5a['visitParameterList'](_0x2327c6&&!_0x55ff7e?_0x2327c6[_0x1a4e('0x111a')]:void 0x0,_0x218f21,_0x146f6e)||[];}(_0x326eae,_0x56674b),void 0x0,function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){var _0x2c9ec9=[];_0x3986b4();var _0x420b32=-0x1;_0xf79407?_0x420b32=0x0:_0x146f6e&&(_0x420b32=_0x368e5a[_0x1a4e('0x2e59')](_0x2c9ec9,_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x2366')],!0x1)),_0x146f6e&&(_0x5abb1f(_0x2c9ec9,_0x146f6e),_0x40c98e(_0x2c9ec9,_0x146f6e,_0xf79407),_0xf79407||(_0x420b32=_0x368e5a['addCustomPrologue'](_0x2c9ec9,_0x146f6e[_0x1a4e('0x8f2')]['statements'],_0x420b32,_0x218f21)),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x420b32>=0x0,'statementOffset\x20not\x20initialized\x20correctly!'));var _0x1b06ad=!!_0x55ff7e&&0x60!==_0x368e5a[_0x1a4e('0x2aa7')](_0x55ff7e['expression'])['kind'],_0x326eae=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(!_0x55ff7e)return _0x2327c6&&_0x2b92f3(_0x146f6e,_0x2327c6),0x0;if(!_0x2327c6)return _0x146f6e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ca3')](_0x2d0cb3())),0x2;if(_0x1adc17)return _0x5c4247(_0x146f6e,_0x2327c6,_0x2d0cb3()),_0x2878a3(),0x1;var _0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae=_0x2327c6[_0x1a4e('0x8f2')]['statements'];if(_0xf79407<_0x326eae[_0x1a4e('0x1e')]&&0xdd===(_0x2c9ec9=_0x326eae[_0xf79407])[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2361')](_0x2c9ec9[_0x1a4e('0x2302')])&&(_0x1b06ad=_0x2c9ec9[_0x1a4e('0x2302')],_0x420b32=_0x23c12d(_0x1b06ad,!0x1)),_0x420b32&&_0xf79407===_0x326eae[_0x1a4e('0x1e')]-0x1&&!(0x6000&_0x2327c6[_0x1a4e('0x257c')])){var _0x56674b=_0x368e5a[_0x1a4e('0x2ca3')](_0x420b32);return 0xcc===_0x420b32[_0x1a4e('0x146b')]&&0xbf===_0x420b32[_0x1a4e('0x5f')][_0x1a4e('0x146b')]||_0x368e5a['Debug'][_0x1a4e('0x1709')]('Assumed\x20generated\x20super\x20call\x20would\x20have\x20form\x20\x27super.call(...)\x20||\x20this\x27.'),_0x368e5a[_0x1a4e('0x28c2')](_0x56674b,_0x368e5a['getCommentRange'](_0x368e5a[_0x1a4e('0x2892')](_0x420b32[_0x1a4e('0x5f')],0x600))),_0x146f6e['push'](_0x56674b),0x2;}return _0x5c4247(_0x146f6e,_0x2327c6,_0x420b32||_0x1b904d()),_0x420b32?0x1:0x0;}(_0x2c9ec9,_0x146f6e,_0x1b06ad,_0xf79407,_0x420b32);0x1!==_0x326eae&&0x2!==_0x326eae||_0x420b32++,_0x146f6e&&(0x1===_0x326eae&&(_0x1adc17|=0x1000),_0x368e5a['addRange'](_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e['body'][_0x1a4e('0x2366')],_0x218f21,_0x368e5a['isStatement'],_0x420b32))),!_0x1b06ad||0x2===_0x326eae||_0x146f6e&&function _0x146f6e(_0x2327c6){if(0xe6===_0x2327c6[_0x1a4e('0x146b')])return!0x0;if(0xde===_0x2327c6[_0x1a4e('0x146b')]){var _0x55ff7e=_0x2327c6;if(_0x55ff7e[_0x1a4e('0x2607')])return _0x146f6e(_0x55ff7e[_0x1a4e('0x2606')])&&_0x146f6e(_0x55ff7e[_0x1a4e('0x2607')]);}else if(0xda===_0x2327c6[_0x1a4e('0x146b')]){var _0x1adc17=_0x368e5a['lastOrUndefined'](_0x2327c6[_0x1a4e('0x2366')]);if(_0x1adc17&&_0x146f6e(_0x1adc17))return!0x0;}return!0x1;}(_0x146f6e[_0x1a4e('0x8f2')])||_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a['createFileLevelUniqueName'](_0x1a4e('0x2e58')))),_0x368e5a[_0x1a4e('0x2329')](_0x2c9ec9,_0x1664ba()),_0x146f6e&&_0x2da4a8(_0x2c9ec9,_0x146f6e,!0x1);var _0x56674b=_0x368e5a[_0x1a4e('0x2c91')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x2c9ec9),_0x146f6e?_0x146f6e['body'][_0x1a4e('0x2366')]:_0x2327c6['members']),!0x0);return _0x368e5a['setTextRange'](_0x56674b,_0x146f6e?_0x146f6e[_0x1a4e('0x8f2')]:_0x2327c6),_0x146f6e||_0x368e5a['setEmitFlags'](_0x56674b,0x600),_0x56674b;}(_0x326eae,_0x55ff7e,_0xf79407,_0x56674b));_0x368e5a[_0x1a4e('0x2d12')](_0x55852f,_0x326eae||_0x55ff7e),_0xf79407&&_0x368e5a[_0x1a4e('0x2892')](_0x55852f,0x8),_0x2327c6[_0x1a4e('0x46')](_0x55852f),_0x5f5001(_0x1b06ad,0xc000,0x0),_0x2c9ec9=_0x420b32;}(_0x1b06ad,_0x2327c6,_0xf79407),function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x2369')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];switch(_0xf79407['kind']){case 0xd9:_0x146f6e['push'](_0x57c90d(_0xf79407));break;case 0x9c:_0x146f6e['push'](_0x2b321(_0x2823a1(_0x2327c6,_0xf79407),_0xf79407,_0x2327c6));break;case 0x9e:case 0x9f:var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2d48')](_0x2327c6[_0x1a4e('0x2369')],_0xf79407);_0xf79407===_0x2c9ec9[_0x1a4e('0x2d49')]&&_0x146f6e[_0x1a4e('0x46')](_0x135bfd(_0x2823a1(_0x2327c6,_0xf79407),_0x2c9ec9,_0x2327c6));break;case 0x9d:break;default:_0x368e5a['Debug'][_0x1a4e('0x2df8')](_0x2327c6);}}}(_0x1b06ad,_0x2327c6);var _0x326eae=_0x368e5a['createTokenRange'](_0x368e5a[_0x1a4e('0x22c6')](_0x55ff7e,_0x2327c6['members'][_0x1a4e('0xca')]),0x13),_0x55852f=_0x368e5a[_0x1a4e('0x2d4c')](_0x2327c6),_0x64086f=_0x368e5a['createPartiallyEmittedExpression'](_0x55852f);_0x64086f[_0x1a4e('0xca')]=_0x326eae[_0x1a4e('0xca')],_0x368e5a[_0x1a4e('0x2892')](_0x64086f,0x600);var _0x33406d=_0x368e5a[_0x1a4e('0x2ca3')](_0x64086f);_0x33406d['pos']=_0x326eae[_0x1a4e('0xa4')],_0x368e5a[_0x1a4e('0x2892')](_0x33406d,0x780),_0x1b06ad[_0x1a4e('0x46')](_0x33406d),_0x368e5a[_0x1a4e('0x2329')](_0x1b06ad,_0x1664ba());var _0x4eaba7=_0x368e5a['createBlock'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x1b06ad),_0x2327c6['members']),!0x0);return _0x368e5a[_0x1a4e('0x2892')](_0x4eaba7,0x600),_0x4eaba7;}(_0x2327c6,_0xf79407));_0x368e5a[_0x1a4e('0x2892')](_0x1b06ad,0x10000&_0x368e5a[_0x1a4e('0x2c65')](_0x2327c6)|0x80000);var _0x326eae=_0x368e5a['createPartiallyEmittedExpression'](_0x1b06ad);_0x326eae[_0x1a4e('0xca')]=_0x2327c6[_0x1a4e('0xca')],_0x368e5a['setEmitFlags'](_0x326eae,0x600);var _0x55852f=_0x368e5a['createPartiallyEmittedExpression'](_0x326eae);_0x55852f[_0x1a4e('0xca')]=_0x368e5a[_0x1a4e('0x22c6')](_0x55ff7e,_0x2327c6['pos']),_0x368e5a[_0x1a4e('0x2892')](_0x55852f,0x600);var _0x64086f=_0x368e5a[_0x1a4e('0x2c6d')](_0x368e5a[_0x1a4e('0x2c67')](_0x55852f,void 0x0,_0xf79407?[_0x368e5a[_0x1a4e('0x2d76')](_0xf79407[_0x1a4e('0x2302')],_0x218f21,_0x368e5a['isExpression'])]:[]));return _0x368e5a[_0x1a4e('0x2e6c')](_0x64086f,0x3,_0x1a4e('0x2e6d')),_0x64086f;}function _0x1b904d(){return _0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c2c')](),0x4);}function _0x2d0cb3(){return _0x368e5a[_0x1a4e('0x2d0d')](_0x368e5a[_0x1a4e('0x2d0c')](_0x368e5a[_0x1a4e('0x2d09')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2d44')),_0x368e5a[_0x1a4e('0x2c2d')]()),_0x368e5a[_0x1a4e('0x2d2a')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2d44')),_0x1b904d(),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x2373')))),_0x1b904d());}function _0x5abb1f(_0x146f6e,_0x2327c6){if(function(_0x368e5a){return 0x0!=(0x10000&_0x368e5a[_0x1a4e('0x257c')]);}(_0x2327c6))for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x111a')];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e],_0x2c9ec9=_0xf79407[_0x1a4e('0x2cb')],_0x420b32=_0xf79407['initializer'];_0xf79407[_0x1a4e('0x25f9')]||(_0x368e5a[_0x1a4e('0x1678')](_0x2c9ec9)?_0x2e7f27(_0x146f6e,_0xf79407,_0x2c9ec9,_0x420b32):_0x420b32&&_0x3d0efb(_0x146f6e,_0xf79407,_0x2c9ec9,_0x420b32));}}function _0x2e7f27(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x28c8')](_0x55ff7e);_0x1adc17['elements'][_0x1a4e('0x1e')]>0x0?_0x2327c6[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')](_0x368e5a[_0x1a4e('0x2dda')](_0x55ff7e,_0x218f21,_0x146f6e,0x0,_0x2c9ec9))),0x100000)):_0xf79407&&_0x2327c6[_0x1a4e('0x46')](_0x368e5a['setEmitFlags'](_0x368e5a['createExpressionStatement'](_0x368e5a[_0x1a4e('0x2d07')](_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d76')](_0xf79407,_0x218f21,_0x368e5a['isExpression']))),0x100000));}function _0x3d0efb(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x1adc17=_0x368e5a['visitNode'](_0x1adc17,_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]);var _0xf79407=_0x368e5a[_0x1a4e('0x2e20')](_0x368e5a[_0x1a4e('0x2d26')](_0x368e5a['getSynthesizedClone'](_0x55ff7e),_0x1a4e('0x3')),_0x368e5a['setEmitFlags'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a['getMutableClone'](_0x55ff7e),0x30),_0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0x630|_0x368e5a[_0x1a4e('0x2c65')](_0x1adc17))),_0x2327c6),0x600))]),_0x2327c6),0x7a1));_0x368e5a['startOnNewLine'](_0xf79407),_0x368e5a[_0x1a4e('0x2d12')](_0xf79407,_0x2327c6),_0x368e5a[_0x1a4e('0x2892')](_0xf79407,0x1007a0),_0x146f6e[_0x1a4e('0x46')](_0xf79407);}function _0x40c98e(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1722')](_0x2327c6[_0x1a4e('0x111a')]);if(function(_0x368e5a,_0x146f6e){return _0x368e5a&&_0x368e5a['dotDotDotToken']&&0x48===_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&!_0x146f6e;}(_0x1adc17,_0x55ff7e)){var _0xf79407=_0x368e5a[_0x1a4e('0x2cf1')](_0x1adc17['name']);_0x368e5a[_0x1a4e('0x2892')](_0xf79407,0x30);var _0x2c9ec9=_0x368e5a[_0x1a4e('0x28ca')](_0x1adc17[_0x1a4e('0x2cb')]),_0x420b32=_0x2327c6['parameters']['length']-0x1,_0x1b06ad=_0x368e5a['createLoopVariable']();_0x146f6e['push'](_0x368e5a['setEmitFlags'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a['createVariableDeclaration'](_0xf79407,void 0x0,_0x368e5a[_0x1a4e('0x2c60')]([]))])),_0x1adc17),0x100000));var _0x326eae=_0x368e5a[_0x1a4e('0x2e1f')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x1b06ad,void 0x0,_0x368e5a[_0x1a4e('0x2896')](_0x420b32))]),_0x1adc17),_0x368e5a['setTextRange'](_0x368e5a['createLessThan'](_0x1b06ad,_0x368e5a['createPropertyAccess'](_0x368e5a['createIdentifier']('arguments'),_0x1a4e('0x1e'))),_0x1adc17),_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2d0b')](_0x1b06ad),_0x1adc17),_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a['startOnNewLine'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2897')](_0x2c9ec9,0x0===_0x420b32?_0x1b06ad:_0x368e5a[_0x1a4e('0x2d0a')](_0x1b06ad,_0x368e5a[_0x1a4e('0x2896')](_0x420b32))),_0x368e5a[_0x1a4e('0x2897')](_0x368e5a['createIdentifier'](_0x1a4e('0x2373')),_0x1b06ad))),_0x1adc17))]));_0x368e5a[_0x1a4e('0x2892')](_0x326eae,0x100000),_0x368e5a[_0x1a4e('0x2d60')](_0x326eae),_0x146f6e[_0x1a4e('0x46')](_0x326eae);}}function _0x2b92f3(_0x146f6e,_0x2327c6){0x4000&_0x2327c6['transformFlags']&&0xc5!==_0x2327c6['kind']&&_0x5c4247(_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x2c2c')]());}function _0x5c4247(_0x146f6e,_0x2327c6,_0x55ff7e){_0x2878a3();var _0x1adc17=_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2e58')),void 0x0,_0x55ff7e)]));_0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0x100600),_0x368e5a[_0x1a4e('0x2d14')](_0x1adc17,_0x2327c6),_0x146f6e[_0x1a4e('0x46')](_0x1adc17);}function _0x2da4a8(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x4000&_0x1adc17){var _0xf79407=void 0x0;switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xc5:return _0x146f6e;case 0x9c:case 0x9e:case 0x9f:_0xf79407=_0x368e5a[_0x1a4e('0x2d0f')]();break;case 0x9d:_0xf79407=_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c2c')](),0x4),'constructor');break;case 0xef:case 0xc4:_0xf79407=_0x368e5a[_0x1a4e('0x2c7d')](_0x368e5a['createLogicalAnd'](_0x368e5a['setEmitFlags'](_0x368e5a['createThis'](),0x4),_0x368e5a[_0x1a4e('0x2e63')](_0x368e5a['setEmitFlags'](_0x368e5a[_0x1a4e('0x2c2c')](),0x4),0x5e,_0x368e5a[_0x1a4e('0x2dfa')](_0x2327c6))),_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c2c')](),0x4),_0x1a4e('0x10')),_0x368e5a[_0x1a4e('0x2d0f')]());break;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2df8')](_0x2327c6);}var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2e6b')),void 0x0,_0xf79407)]));if(_0x55ff7e)return[_0x2c9ec9][_0x1a4e('0x9a')](_0x146f6e);_0x146f6e[_0x1a4e('0x66')](_0x2c9ec9);}return _0x146f6e;}function _0x57c90d(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2e6e')](),_0x146f6e);}function _0x2b321(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=_0x5b64d7(0x0,0x0),_0x2c9ec9=_0x368e5a[_0x1a4e('0x2d18')](_0x2327c6),_0x420b32=_0x368e5a[_0x1a4e('0x2d13')](_0x2327c6),_0x1b06ad=_0x368e5a[_0x1a4e('0x2d28')](_0x146f6e,_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x2cb')],_0x218f21,_0x368e5a[_0x1a4e('0x254b')]),_0x2327c6[_0x1a4e('0x2cb')]),_0x326eae=_0x10c32e(_0x2327c6,_0x2327c6,void 0x0,_0x55ff7e);_0x368e5a[_0x1a4e('0x2892')](_0x326eae,0x600),_0x368e5a['setSourceMapRange'](_0x326eae,_0x420b32);var _0x56674b=_0x368e5a['setTextRange'](_0x368e5a['createExpressionStatement'](_0x368e5a[_0x1a4e('0x2d07')](_0x1b06ad,_0x326eae)),_0x2327c6);return _0x368e5a[_0x1a4e('0x2d25')](_0x56674b,_0x2327c6),_0x368e5a[_0x1a4e('0x28c2')](_0x56674b,_0x2c9ec9),_0x368e5a[_0x1a4e('0x2892')](_0x56674b,0x30),_0x5f5001(_0xf79407,0xc000,0xc000&_0x1adc17?0x4000:0x0),_0x56674b;}function _0x135bfd(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2d71')](_0x45ad54(_0x146f6e,_0x2327c6,_0x55ff7e,!0x1));return _0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0x600),_0x368e5a[_0x1a4e('0x2d14')](_0x1adc17,_0x368e5a[_0x1a4e('0x2d13')](_0x2327c6[_0x1a4e('0x2d49')])),_0x1adc17;}function _0x45ad54(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x2d49')],_0x420b32=_0x2327c6[_0x1a4e('0x2d4a')],_0x1b06ad=_0x2327c6[_0x1a4e('0x2d4b')],_0x326eae=_0x5b64d7(0x0,0x0),_0x56674b=_0x368e5a[_0x1a4e('0x2cf1')](_0x146f6e);_0x368e5a['setEmitFlags'](_0x56674b,0x620),_0x368e5a['setSourceMapRange'](_0x56674b,_0x2c9ec9[_0x1a4e('0x2cb')]);var _0x3986b4=_0x368e5a['createExpressionForPropertyName'](_0x368e5a[_0x1a4e('0x2d76')](_0x2c9ec9[_0x1a4e('0x2cb')],_0x218f21,_0x368e5a['isPropertyName']));_0x368e5a[_0x1a4e('0x2892')](_0x3986b4,0x610),_0x368e5a['setSourceMapRange'](_0x3986b4,_0x2c9ec9[_0x1a4e('0x2cb')]);var _0x1664ba=[];if(_0x420b32){var _0x55852f=_0x10c32e(_0x420b32,void 0x0,void 0x0,_0x55ff7e);_0x368e5a['setSourceMapRange'](_0x55852f,_0x368e5a['getSourceMapRange'](_0x420b32)),_0x368e5a[_0x1a4e('0x2892')](_0x55852f,0x200);var _0x64086f=_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x179'),_0x55852f);_0x368e5a['setCommentRange'](_0x64086f,_0x368e5a['getCommentRange'](_0x420b32)),_0x1664ba[_0x1a4e('0x46')](_0x64086f);}if(_0x1b06ad){var _0x33406d=_0x10c32e(_0x1b06ad,void 0x0,void 0x0,_0x55ff7e);_0x368e5a['setSourceMapRange'](_0x33406d,_0x368e5a[_0x1a4e('0x2d13')](_0x1b06ad)),_0x368e5a[_0x1a4e('0x2892')](_0x33406d,0x200);var _0x4eaba7=_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x17a'),_0x33406d);_0x368e5a[_0x1a4e('0x28c2')](_0x4eaba7,_0x368e5a[_0x1a4e('0x2d18')](_0x1b06ad)),_0x1664ba[_0x1a4e('0x46')](_0x4eaba7);}_0x1664ba['push'](_0x368e5a[_0x1a4e('0x2d3d')]('enumerable',_0x368e5a[_0x1a4e('0x2bd4')]()),_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x135a'),_0x368e5a[_0x1a4e('0x2bd4')]()));var _0x26f36c=_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x2893')]('Object'),_0x1a4e('0x2')),void 0x0,[_0x56674b,_0x3986b4,_0x368e5a['createObjectLiteral'](_0x1664ba,!0x0)]);return _0xf79407&&_0x368e5a['startOnNewLine'](_0x26f36c),_0x5f5001(_0x326eae,0xc000,0xc000&_0x1adc17?0x4000:0x0),_0x26f36c;}function _0x10c32e(_0x2327c6,_0x55ff7e,_0xf79407,_0x420b32){var _0x1b06ad=_0x2c9ec9;_0x2c9ec9=void 0x0;var _0x326eae=_0x420b32&&_0x368e5a[_0x1a4e('0x2367')](_0x420b32)&&!_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x20)?_0x5b64d7(0x3f9e,0x49):_0x5b64d7(0x3f9e,0x41),_0x56674b=_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x218f21,_0x146f6e),_0x3986b4=_0x25e3b4(_0x2327c6);return 0x4000&_0x1adc17&&!_0xf79407&&(0xef===_0x2327c6['kind']||0xc4===_0x2327c6[_0x1a4e('0x146b')])&&(_0xf79407=_0x368e5a[_0x1a4e('0x28c8')](_0x2327c6)),_0x5f5001(_0x326eae,0xc000,0x0),_0x2c9ec9=_0x1b06ad,_0x368e5a['setOriginalNode'](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,_0x2327c6[_0x1a4e('0x23fc')],_0xf79407,void 0x0,_0x56674b,void 0x0,_0x3986b4),_0x55ff7e),_0x2327c6);}function _0x25e3b4(_0x55ff7e){var _0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32=!0x1,_0x1b06ad=!0x1,_0x326eae=[],_0x56674b=[],_0x1664ba=_0x55ff7e[_0x1a4e('0x8f2')];if(_0x3986b4(),_0x368e5a[_0x1a4e('0x250c')](_0x1664ba)&&(_0x2c9ec9=_0x368e5a[_0x1a4e('0x2e59')](_0x326eae,_0x1664ba[_0x1a4e('0x2366')],!0x1)),_0x2b92f3(_0x326eae,_0x55ff7e),_0x5abb1f(_0x326eae,_0x55ff7e),_0x40c98e(_0x326eae,_0x55ff7e,!0x1),_0x368e5a[_0x1a4e('0x250c')](_0x1664ba))_0x2c9ec9=_0x368e5a[_0x1a4e('0x2e5a')](_0x326eae,_0x1664ba['statements'],_0x2c9ec9,_0x218f21),_0x1adc17=_0x1664ba[_0x1a4e('0x2366')],_0x368e5a[_0x1a4e('0x23d1')](_0x56674b,_0x368e5a[_0x1a4e('0x2d77')](_0x1664ba[_0x1a4e('0x2366')],_0x218f21,_0x368e5a['isStatement'],_0x2c9ec9)),!_0x420b32&&_0x1664ba[_0x1a4e('0x2677')]&&(_0x420b32=!0x0);else{_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xc5===_0x55ff7e[_0x1a4e('0x146b')]),_0x1adc17=_0x368e5a[_0x1a4e('0x2e6f')](_0x1664ba,-0x1);var _0x55852f=_0x55ff7e[_0x1a4e('0x25fa')];_0x368e5a['nodeIsSynthesized'](_0x55852f)||_0x368e5a[_0x1a4e('0x2408')](_0x1664ba)||(_0x368e5a[_0x1a4e('0x2486')](_0x55852f,_0x1664ba,_0x2327c6)?_0x1b06ad=!0x0:_0x420b32=!0x0);var _0x64086f=_0x368e5a[_0x1a4e('0x2d76')](_0x1664ba,_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]),_0x33406d=_0x368e5a[_0x1a4e('0x2ca3')](_0x64086f);_0x368e5a['setTextRange'](_0x33406d,_0x1664ba),_0x368e5a[_0x1a4e('0x2d1e')](_0x33406d,_0x1664ba),_0x368e5a['setEmitFlags'](_0x33406d,0x5a0),_0x56674b[_0x1a4e('0x46')](_0x33406d),_0xf79407=_0x1664ba;}var _0x4eaba7=_0x146f6e[_0x1a4e('0x2d72')]();_0x368e5a[_0x1a4e('0x2329')](_0x56674b,_0x4eaba7),_0x2da4a8(_0x56674b,_0x55ff7e,!0x1),(_0x368e5a[_0x1a4e('0x1c2')](_0x326eae)||_0x368e5a[_0x1a4e('0x1c2')](_0x4eaba7))&&(_0x420b32=!0x0);var _0x26f36c=_0x368e5a[_0x1a4e('0x2c91')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x326eae[_0x1a4e('0x9a')](_0x56674b)),_0x1adc17),_0x420b32);return _0x368e5a[_0x1a4e('0x2d12')](_0x26f36c,_0x55ff7e[_0x1a4e('0x8f2')]),!_0x420b32&&_0x1b06ad&&_0x368e5a[_0x1a4e('0x2892')](_0x26f36c,0x1),_0xf79407&&_0x368e5a['setTokenSourceMapRange'](_0x26f36c,0x13,_0xf79407),_0x368e5a['setOriginalNode'](_0x26f36c,_0x55ff7e[_0x1a4e('0x8f2')]),_0x26f36c;}function _0x246a6c(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2dfe')](_0x2327c6['body'],_0x1222ed,_0x146f6e);return _0x368e5a[_0x1a4e('0x2c92')](_0x55ff7e,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x2da4a8(_0x55ff7e[_0x1a4e('0x2366')],_0x2327c6,!0x0)),_0x55ff7e[_0x1a4e('0x2366')]));}function _0x1b6df5(_0x2327c6,_0x55ff7e){if(_0x55ff7e)return _0x368e5a['visitEachChild'](_0x2327c6,_0x218f21,_0x146f6e);var _0xf79407=0x100&_0x1adc17?_0x5b64d7(0xfc0,0x200):_0x5b64d7(0xf40,0x80),_0x2c9ec9=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);return _0x5f5001(_0xf79407,0x0,0x0),_0x2c9ec9;}function _0x5c0eae(_0x2327c6,_0x55ff7e){if(!_0x55ff7e)switch(_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0x146b')]){case 0xc3:return _0x368e5a[_0x1a4e('0x2d3a')](_0x2327c6,_0x5c0eae(_0x2327c6[_0x1a4e('0x2302')],!0x1));case 0xcc:return _0x368e5a[_0x1a4e('0x2d3a')](_0x2327c6,_0x7b71a0(_0x2327c6[_0x1a4e('0x2302')],!0x1));}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}function _0x7b71a0(_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2462')](_0x2327c6)?_0x368e5a[_0x1a4e('0x2e1e')](_0x2327c6,_0x218f21,_0x146f6e,0x0,_0x55ff7e):_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}function _0xb19601(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2cb')];if(_0x368e5a[_0x1a4e('0x1678')](_0x55ff7e))return _0x58ad08(_0x2327c6);if(!_0x2327c6['initializer']&&function(_0x368e5a){var _0x146f6e=_0x33406d[_0x1a4e('0x2df3')](_0x368e5a),_0x2327c6=0x40000&_0x146f6e,_0x55ff7e=0x80000&_0x146f6e;return!(0x0!=(0x40&_0x1adc17)||_0x2327c6&&_0x55ff7e&&0x0!=(0x200&_0x1adc17))&&0x0==(0x800&_0x1adc17)&&(!_0x33406d[_0x1a4e('0x2bd2')](_0x368e5a)||_0x55ff7e&&!_0x2327c6&&0x0==(0xc00&_0x1adc17));}(_0x2327c6)){var _0xf79407=_0x368e5a['getMutableClone'](_0x2327c6);return _0xf79407['initializer']=_0x368e5a[_0x1a4e('0x2d0f')](),_0xf79407;}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}function _0x58ad08(_0x2327c6){var _0x55ff7e,_0x1adc17=_0x5b64d7(0x20,0x0);return _0x55ff7e=_0x368e5a[_0x1a4e('0x1678')](_0x2327c6[_0x1a4e('0x2cb')])?_0x368e5a[_0x1a4e('0x2dda')](_0x2327c6,_0x218f21,_0x146f6e,0x0,void 0x0,0x0!=(0x20&_0x1adc17)):_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e),_0x5f5001(_0x1adc17,0x0,0x0),_0x55ff7e;}function _0x49a142(_0x146f6e){_0x2c9ec9[_0x1a4e('0x2e5e')][_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x2353')](_0x146f6e[_0x1a4e('0x1bc')]),!0x0);}function _0x1db974(_0x146f6e){_0x2c9ec9[_0x1a4e('0x2e5e')][_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x2353')](_0x146f6e[_0x1a4e('0x1bc')]),!0x1);}function _0x4063fa(_0x2327c6,_0x55ff7e,_0xf79407,_0x420b32,_0x1b06ad){var _0x326eae=_0x5b64d7(_0x2327c6,_0x55ff7e),_0x3986b4=function(_0x2327c6,_0x55ff7e,_0xf79407){if(!_0x2424ac(_0x2327c6)){var _0x420b32=void 0x0;_0x2c9ec9&&(_0x420b32=_0x2c9ec9[_0x1a4e('0x2e5d')],_0x2c9ec9[_0x1a4e('0x2e5d')]=0x6);var _0x1b06ad=_0xf79407?_0xf79407(_0x2327c6,_0x55ff7e,void 0x0):_0x368e5a[_0x1a4e('0x2e1d')](_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e),_0x55ff7e,_0x2c9ec9&&_0x1db974);return _0x2c9ec9&&(_0x2c9ec9['allowedNonLabeledJumps']=_0x420b32),_0x1b06ad;}var _0x326eae=function(_0x146f6e){var _0x2327c6;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xe1:case 0xe2:case 0xe3:var _0x55ff7e=_0x146f6e['initializer'];_0x55ff7e&&0xee===_0x55ff7e[_0x1a4e('0x146b')]&&(_0x2327c6=_0x55ff7e);}var _0x1adc17=[],_0xf79407=[];if(_0x2327c6&&0x3&_0x368e5a[_0x1a4e('0x22fd')](_0x2327c6))for(var _0x420b32=_0x36474f(_0x146f6e),_0x1b06ad=0x0,_0x326eae=_0x2327c6[_0x1a4e('0x22e5')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];_0x2a98e2(_0x146f6e,_0x56674b,_0x1adc17,_0xf79407,_0x420b32);}var _0x3986b4={'loopParameters':_0x1adc17,'loopOutParameters':_0xf79407};return _0x2c9ec9&&(_0x2c9ec9[_0x1a4e('0x2e5c')]&&(_0x3986b4[_0x1a4e('0x2e5c')]=_0x2c9ec9[_0x1a4e('0x2e5c')]),_0x2c9ec9[_0x1a4e('0x2e6a')]&&(_0x3986b4[_0x1a4e('0x2e6a')]=_0x2c9ec9['thisName']),_0x2c9ec9['hoistedLocalVariables']&&(_0x3986b4[_0x1a4e('0x2e70')]=_0x2c9ec9[_0x1a4e('0x2e70')])),_0x3986b4;}(_0x2327c6),_0x3986b4=[],_0x55852f=_0x2c9ec9;_0x2c9ec9=_0x326eae;var _0x64086f,_0x33406d,_0x4eaba7,_0x26f36c,_0x5b64d7,_0x5f5001=_0x36474f(_0x2327c6)?function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2c29')]('_loop_init'),_0xf79407=0x0!=(0x400000&_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x257c')]),_0x2c9ec9=0x0;_0x2327c6[_0x1a4e('0x2e69')]&&(_0x2c9ec9|=0x8),_0xf79407&&0x4&_0x1adc17&&(_0x2c9ec9|=0x40000);var _0x420b32=[];_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x146f6e['initializer'])),_0x478a2d(_0x2327c6[_0x1a4e('0x2e62')],0x2,0x1,_0x420b32);var _0x1b06ad=_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x55ff7e,void 0x0,_0x368e5a['setEmitFlags'](_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,_0xf79407?_0x368e5a['createToken'](0x28):void 0x0,void 0x0,void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2d76')](_0x368e5a['createBlock'](_0x420b32,!0x0),_0x218f21,_0x368e5a[_0x1a4e('0x250c')])),_0x2c9ec9))]),0x200000)),_0x326eae=_0x368e5a[_0x1a4e('0x2caf')](_0x368e5a[_0x1a4e('0x21')](_0x2327c6[_0x1a4e('0x2e62')],_0xbf1fda));return{'functionName':_0x55ff7e,'containsYield':_0xf79407,'functionDeclaration':_0x1b06ad,'part':_0x326eae};}(_0x2327c6,_0x326eae):void 0x0,_0x4518f9=_0x2a7f56(_0x2327c6)?function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0x2e71'));_0x56674b();var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['statement'],_0x218f21,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]),_0x420b32=_0x1664ba(),_0x1b06ad=[];(_0xd8e4ae(_0x146f6e)||function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2577')](_0x146f6e)&&!!_0x146f6e[_0x1a4e('0x236c')]&&_0x17e404(_0x146f6e[_0x1a4e('0x236c')]);}(_0x146f6e))&&(_0x2327c6['conditionVariable']=_0x368e5a[_0x1a4e('0x2c29')]('inc'),_0x1b06ad[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2e20')](_0x2327c6[_0x1a4e('0x2e72')],_0x368e5a[_0x1a4e('0x2c96')](_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['incrementor'],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')])),_0x368e5a[_0x1a4e('0x2c96')](_0x368e5a[_0x1a4e('0x2d07')](_0x2327c6['conditionVariable'],_0x368e5a[_0x1a4e('0x2bd4')]())))),_0xd8e4ae(_0x146f6e)&&_0x1b06ad[_0x1a4e('0x46')](_0x368e5a['createIf'](_0x368e5a[_0x1a4e('0x2c78')](0x34,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236b')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')])),_0x368e5a[_0x1a4e('0x2d76')](_0x368e5a['createBreak'](),_0x218f21,_0x368e5a[_0x1a4e('0x2569')])))),_0x368e5a[_0x1a4e('0x250c')](_0x2c9ec9)?_0x368e5a[_0x1a4e('0x23d1')](_0x1b06ad,_0x2c9ec9[_0x1a4e('0x2366')]):_0x1b06ad['push'](_0x2c9ec9),_0x478a2d(_0x2327c6[_0x1a4e('0x2e62')],0x1,0x1,_0x1b06ad),_0x368e5a[_0x1a4e('0x2329')](_0x1b06ad,_0x420b32);var _0x326eae=_0x368e5a['createBlock'](_0x1b06ad,!0x0);_0x368e5a[_0x1a4e('0x250c')](_0x2c9ec9)&&_0x368e5a[_0x1a4e('0x2d25')](_0x326eae,_0x2c9ec9);var _0x3986b4=0x0!=(0x400000&_0x146f6e[_0x1a4e('0x2390')][_0x1a4e('0x257c')]),_0x55852f=0x0;_0x2327c6[_0x1a4e('0x2e69')]&&(_0x55852f|=0x8),_0x3986b4&&0x0!=(0x4&_0x1adc17)&&(_0x55852f|=0x40000);var _0x64086f=_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0xf79407,void 0x0,_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,_0x3986b4?_0x368e5a[_0x1a4e('0x28b6')](0x28):void 0x0,void 0x0,void 0x0,_0x2327c6[_0x1a4e('0x2e73')],void 0x0,_0x326eae),_0x55852f))]),0x200000)),_0x33406d=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=[],_0x2c9ec9=!(-0x5&_0x2327c6[_0x1a4e('0x2e61')]||_0x2327c6['labeledNonLocalBreaks']||_0x2327c6[_0x1a4e('0x2e74')]),_0x420b32=_0x368e5a[_0x1a4e('0x2c67')](_0x146f6e,void 0x0,_0x368e5a[_0x1a4e('0x21')](_0x2327c6[_0x1a4e('0x2e73')],function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2cb')];})),_0x1b06ad=_0x1adc17?_0x368e5a[_0x1a4e('0x2c85')](_0x368e5a[_0x1a4e('0x28b6')](0x28),_0x368e5a['setEmitFlags'](_0x420b32,0x800000)):_0x420b32;if(_0x2c9ec9)_0xf79407[_0x1a4e('0x46')](_0x368e5a['createExpressionStatement'](_0x1b06ad)),_0x478a2d(_0x2327c6[_0x1a4e('0x2e62')],0x1,0x0,_0xf79407);else{var _0x326eae=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0xa46')),_0x56674b=_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x326eae,void 0x0,_0x1b06ad)]));if(_0xf79407['push'](_0x56674b),_0x478a2d(_0x2327c6[_0x1a4e('0x2e62')],0x1,0x0,_0xf79407),0x8&_0x2327c6[_0x1a4e('0x2e61')]){var _0x3986b4=void 0x0;_0x55ff7e?(_0x55ff7e[_0x1a4e('0x2e61')]|=0x8,_0x3986b4=_0x368e5a[_0x1a4e('0x2ca3')](_0x326eae)):_0x3986b4=_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a['createPropertyAccess'](_0x326eae,_0x1a4e('0x255'))),_0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2e20')](_0x368e5a[_0x1a4e('0x2e63')](_0x368e5a['createTypeOf'](_0x326eae),0x23,_0x368e5a['createLiteral'](_0x1a4e('0x85'))),_0x3986b4));}if(0x2&_0x2327c6[_0x1a4e('0x2e61')]&&_0xf79407['push'](_0x368e5a['createIf'](_0x368e5a[_0x1a4e('0x2e63')](_0x326eae,0x23,_0x368e5a[_0x1a4e('0x2896')]('break')),_0x368e5a[_0x1a4e('0x2e75')]())),_0x2327c6[_0x1a4e('0x2e76')]||_0x2327c6[_0x1a4e('0x2e74')]){var _0x1664ba=[];_0x4511c5(_0x2327c6[_0x1a4e('0x2e76')],!0x0,_0x326eae,_0x55ff7e,_0x1664ba),_0x4511c5(_0x2327c6[_0x1a4e('0x2e74')],!0x1,_0x326eae,_0x55ff7e,_0x1664ba),_0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ca5')](_0x326eae,_0x368e5a['createCaseBlock'](_0x1664ba)));}}return _0xf79407;}(_0xf79407,_0x2327c6,_0x55ff7e,_0x3986b4);return{'functionName':_0xf79407,'containsYield':_0x3986b4,'functionDeclaration':_0x64086f,'part':_0x33406d};}(_0x2327c6,_0x326eae,_0x55852f):void 0x0;if(_0x2c9ec9=_0x55852f,_0x5f5001&&_0x3986b4[_0x1a4e('0x46')](_0x5f5001[_0x1a4e('0x2e77')]),_0x4518f9&&_0x3986b4[_0x1a4e('0x46')](_0x4518f9[_0x1a4e('0x2e77')]),function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17;if(_0x2327c6[_0x1a4e('0x2e5c')]&&(_0x55ff7e?_0x55ff7e[_0x1a4e('0x2e5c')]=_0x2327c6['argumentsName']:(_0x1adc17||(_0x1adc17=[]))[_0x1a4e('0x46')](_0x368e5a['createVariableDeclaration'](_0x2327c6[_0x1a4e('0x2e5c')],void 0x0,_0x368e5a[_0x1a4e('0x2893')]('arguments')))),_0x2327c6[_0x1a4e('0x2e6a')]&&(_0x55ff7e?_0x55ff7e[_0x1a4e('0x2e6a')]=_0x2327c6[_0x1a4e('0x2e6a')]:(_0x1adc17||(_0x1adc17=[]))[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2cad')](_0x2327c6['thisName'],void 0x0,_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x19b5'))))),_0x2327c6[_0x1a4e('0x2e70')])if(_0x55ff7e)_0x55ff7e[_0x1a4e('0x2e70')]=_0x2327c6[_0x1a4e('0x2e70')];else{_0x1adc17||(_0x1adc17=[]);for(var _0xf79407=0x0,_0x2c9ec9=_0x2327c6[_0x1a4e('0x2e70')];_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x1adc17[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2cad')](_0x420b32));}}if(_0x2327c6[_0x1a4e('0x2e62')][_0x1a4e('0x1e')]){_0x1adc17||(_0x1adc17=[]);for(var _0x1b06ad=0x0,_0x326eae=_0x2327c6['loopOutParameters'];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];_0x1adc17[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2cad')](_0x56674b[_0x1a4e('0x2e78')]));}}_0x2327c6[_0x1a4e('0x2e72')]&&(_0x1adc17||(_0x1adc17=[]),_0x1adc17[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2cad')](_0x2327c6[_0x1a4e('0x2e72')],void 0x0,_0x368e5a[_0x1a4e('0x2bd5')]()))),_0x1adc17&&_0x146f6e['push'](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a['createVariableDeclarationList'](_0x1adc17)));}(_0x3986b4,_0x326eae,_0x55852f),_0x5f5001&&_0x3986b4[_0x1a4e('0x46')]((_0x33406d=_0x5f5001['functionName'],_0x4eaba7=_0x5f5001[_0x1a4e('0x2e79')],_0x26f36c=_0x368e5a[_0x1a4e('0x2c67')](_0x33406d,void 0x0,[]),_0x5b64d7=_0x4eaba7?_0x368e5a['createYield'](_0x368e5a[_0x1a4e('0x28b6')](0x28),_0x368e5a[_0x1a4e('0x2892')](_0x26f36c,0x800000)):_0x26f36c,_0x368e5a['createStatement'](_0x5b64d7))),_0x4518f9)if(_0xf79407)_0x64086f=_0xf79407(_0x2327c6,_0x55ff7e,_0x4518f9[_0x1a4e('0x2e7a')]);else{var _0x652366=_0x400271(_0x2327c6,_0x5f5001,_0x368e5a[_0x1a4e('0x2c91')](_0x4518f9[_0x1a4e('0x2e7a')],!0x0));_0x368e5a[_0x1a4e('0x2c07')](_0x652366),_0x64086f=_0x368e5a[_0x1a4e('0x2e1d')](_0x652366,_0x55ff7e,_0x2c9ec9&&_0x1db974);}else{var _0x1222ed=_0x400271(_0x2327c6,_0x5f5001,_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2390')],_0x218f21,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a['liftToBlock']));_0x368e5a[_0x1a4e('0x2c07')](_0x1222ed),_0x64086f=_0x368e5a['restoreEnclosingLabel'](_0x1222ed,_0x55ff7e,_0x2c9ec9&&_0x1db974);}return _0x3986b4[_0x1a4e('0x46')](_0x64086f),_0x3986b4;}(_0xf79407,_0x420b32,_0x1b06ad);return _0x5f5001(_0x326eae,0x0,0x0),_0x3986b4;}function _0x1edfe5(_0x368e5a,_0x146f6e){return _0x4063fa(0x0,0x100,_0x368e5a,_0x146f6e);}function _0x444899(_0x368e5a,_0x146f6e){return _0x4063fa(0xbc0,0x500,_0x368e5a,_0x146f6e);}function _0xa05256(_0x368e5a,_0x146f6e){return _0x4063fa(0x7c0,0x900,_0x368e5a,_0x146f6e);}function _0x4fc5ed(_0x368e5a,_0x146f6e){return _0x4063fa(0x7c0,0x900,_0x368e5a,_0x146f6e,_0x64086f['downlevelIteration']?_0x3b3931:_0x49ad12);}function _0x334972(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=[],_0x2c9ec9=_0x2327c6[_0x1a4e('0x236a')];if(_0x368e5a[_0x1a4e('0x251c')](_0x2c9ec9)){0x3&_0x2327c6[_0x1a4e('0x236a')][_0x1a4e('0x7b2')]&&_0x385020();var _0x420b32=_0x368e5a[_0x1a4e('0x1721')](_0x2c9ec9[_0x1a4e('0x22e5')]);if(_0x420b32&&_0x368e5a['isBindingPattern'](_0x420b32[_0x1a4e('0x2cb')])){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2dda')](_0x420b32,_0x218f21,_0x146f6e,0x0,_0x55ff7e),_0x326eae=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2caf')](_0x1b06ad),_0x2327c6['initializer']);_0x368e5a[_0x1a4e('0x2d25')](_0x326eae,_0x2327c6[_0x1a4e('0x236a')]),_0x368e5a[_0x1a4e('0x2d14')](_0x326eae,_0x368e5a[_0x1a4e('0x247d')](_0x1b06ad[0x0][_0x1a4e('0xa4')],_0x368e5a[_0x1a4e('0x10b1')](_0x1b06ad)['end'])),_0xf79407['push'](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x326eae));}else _0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x420b32?_0x420b32['name']:_0x368e5a[_0x1a4e('0x2c27')](void 0x0),void 0x0,_0x55ff7e)]),_0x368e5a[_0x1a4e('0x247e')](_0x2c9ec9,-0x1)),_0x2c9ec9)),_0x368e5a['moveRangeEnd'](_0x2c9ec9,-0x1)));}else{var _0x56674b=_0x368e5a['createAssignment'](_0x2c9ec9,_0x55ff7e);_0x368e5a[_0x1a4e('0x2462')](_0x56674b)?(_0x368e5a[_0x1a4e('0x2c07')](_0x56674b),_0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d71')](_0x7b71a0(_0x56674b,!0x1)))):(_0x56674b['end']=_0x2c9ec9[_0x1a4e('0xca')],_0xf79407['push'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createExpressionStatement'](_0x368e5a[_0x1a4e('0x2d76')](_0x56674b,_0x218f21,_0x368e5a[_0x1a4e('0x24a8')])),_0x368e5a['moveRangeEnd'](_0x2c9ec9,-0x1))));}if(_0x1adc17)return _0x5589eb(_0x368e5a[_0x1a4e('0x23d1')](_0xf79407,_0x1adc17));var _0x3986b4=_0x368e5a['visitNode'](_0x2327c6['statement'],_0x218f21,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a['liftToBlock']);return _0x368e5a[_0x1a4e('0x250c')](_0x3986b4)?_0x368e5a[_0x1a4e('0x2c92')](_0x3986b4,_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x28d1')](_0x368e5a[_0x1a4e('0x1717')](_0xf79407,_0x3986b4[_0x1a4e('0x2366')])),_0x3986b4[_0x1a4e('0x2366')])):(_0xf79407['push'](_0x3986b4),_0x5589eb(_0xf79407));}function _0x5589eb(_0x146f6e){return _0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c91')](_0x368e5a[_0x1a4e('0x28d1')](_0x146f6e),!0x0),0x1b0);}function _0x49ad12(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x218f21,_0x368e5a['isExpression']),_0xf79407=_0x368e5a[_0x1a4e('0x2c28')](),_0x420b32=_0x368e5a['isIdentifier'](_0x1adc17)?_0x368e5a[_0x1a4e('0x28c8')](_0x1adc17):_0x368e5a[_0x1a4e('0x2c27')](void 0x0);_0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0x30|_0x368e5a[_0x1a4e('0x2c65')](_0x1adc17));var _0x1b06ad=_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2e1f')](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2cad')](_0xf79407,void 0x0,_0x368e5a[_0x1a4e('0x2896')](0x0)),_0x368e5a[_0x1a4e('0x247e')](_0x146f6e['expression'],-0x1)),_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2cad')](_0x420b32,void 0x0,_0x1adc17),_0x146f6e[_0x1a4e('0x2302')])]),_0x146f6e[_0x1a4e('0x2302')]),0x200000),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d06')](_0xf79407,_0x368e5a['createPropertyAccess'](_0x420b32,_0x1a4e('0x1e'))),_0x146f6e['expression']),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d0b')](_0xf79407),_0x146f6e[_0x1a4e('0x2302')]),_0x334972(_0x146f6e,_0x368e5a[_0x1a4e('0x2897')](_0x420b32,_0xf79407),_0x55ff7e)),_0x146f6e);return _0x368e5a[_0x1a4e('0x2892')](_0x1b06ad,0x100),_0x368e5a['setTextRange'](_0x1b06ad,_0x146f6e),_0x368e5a[_0x1a4e('0x2e1d')](_0x1b06ad,_0x2327c6,_0x2c9ec9&&_0x1db974);}function _0x3b3931(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6['expression'],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]),_0x420b32=_0x368e5a['isIdentifier'](_0xf79407)?_0x368e5a[_0x1a4e('0x28c8')](_0xf79407):_0x368e5a[_0x1a4e('0x2c27')](void 0x0),_0x1b06ad=_0x368e5a[_0x1a4e('0x2370')](_0xf79407)?_0x368e5a[_0x1a4e('0x28c8')](_0x420b32):_0x368e5a[_0x1a4e('0x2c27')](void 0x0),_0x326eae=_0x368e5a[_0x1a4e('0x2c29')]('e'),_0x56674b=_0x368e5a[_0x1a4e('0x28c8')](_0x326eae),_0x3986b4=_0x368e5a['createTempVariable'](void 0x0),_0x1664ba=_0x368e5a[_0x1a4e('0x2d32')](_0x146f6e,_0xf79407,_0x2327c6[_0x1a4e('0x2302')]),_0x64086f=_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['createPropertyAccess'](_0x420b32,'next'),void 0x0,[]);_0x55852f(_0x326eae),_0x55852f(_0x3986b4);var _0x33406d=_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2e1f')](_0x368e5a[_0x1a4e('0x2892')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2cad')](_0x420b32,void 0x0,_0x1664ba),_0x2327c6[_0x1a4e('0x2302')]),_0x368e5a['createVariableDeclaration'](_0x1b06ad,void 0x0,_0x64086f)]),_0x2327c6[_0x1a4e('0x2302')]),0x200000),_0x368e5a['createLogicalNot'](_0x368e5a[_0x1a4e('0x2894')](_0x1b06ad,_0x1a4e('0x3c2'))),_0x368e5a[_0x1a4e('0x2d07')](_0x1b06ad,_0x64086f),_0x334972(_0x2327c6,_0x368e5a[_0x1a4e('0x2894')](_0x1b06ad,_0x1a4e('0x255')),_0x1adc17)),_0x2327c6),0x100);return _0x368e5a[_0x1a4e('0x2caa')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2e1d')](_0x33406d,_0x55ff7e,_0x2c9ec9&&_0x1db974)]),_0x368e5a[_0x1a4e('0x2ce8')](_0x368e5a[_0x1a4e('0x2cad')](_0x56674b),_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x326eae,_0x368e5a[_0x1a4e('0x2c62')]([_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x873'),_0x56674b)])))]),0x1)),_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2caa')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2e20')](_0x368e5a[_0x1a4e('0x2d0c')](_0x368e5a['createLogicalAnd'](_0x1b06ad,_0x368e5a[_0x1a4e('0x2d0e')](_0x368e5a[_0x1a4e('0x2894')](_0x1b06ad,'done'))),_0x368e5a[_0x1a4e('0x2d07')](_0x3986b4,_0x368e5a[_0x1a4e('0x2894')](_0x420b32,_0x1a4e('0xe40')))),_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d29')](_0x3986b4,_0x420b32,[]))),0x1)]),void 0x0,_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2892')](_0x368e5a['createIf'](_0x326eae,_0x368e5a[_0x1a4e('0x2ca9')](_0x368e5a['createPropertyAccess'](_0x326eae,_0x1a4e('0x873')))),0x1)]),0x1))]));}function _0x17e404(_0x368e5a){return 0x0!=(0x20000&_0x33406d[_0x1a4e('0x2df3')](_0x368e5a));}function _0x36474f(_0x146f6e){return _0x368e5a[_0x1a4e('0x2577')](_0x146f6e)&&!!_0x146f6e[_0x1a4e('0x236a')]&&_0x17e404(_0x146f6e[_0x1a4e('0x236a')]);}function _0xd8e4ae(_0x146f6e){return _0x368e5a[_0x1a4e('0x2577')](_0x146f6e)&&!!_0x146f6e['condition']&&_0x17e404(_0x146f6e[_0x1a4e('0x236b')]);}function _0x2424ac(_0x368e5a){return _0x2a7f56(_0x368e5a)||_0x36474f(_0x368e5a);}function _0x2a7f56(_0x368e5a){return 0x0!=(0x10000&_0x33406d['getNodeCheckFlags'](_0x368e5a));}function _0x4d941d(_0x146f6e,_0x2327c6){_0x146f6e[_0x1a4e('0x2e70')]||(_0x146f6e[_0x1a4e('0x2e70')]=[]),function _0x2327c6(_0x55ff7e){if(0x48===_0x55ff7e[_0x1a4e('0x146b')])_0x146f6e[_0x1a4e('0x2e70')]['push'](_0x55ff7e);else for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e[_0x1a4e('0x2398')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x368e5a[_0x1a4e('0x2506')](_0x2c9ec9)||_0x2327c6(_0x2c9ec9[_0x1a4e('0x2cb')]);}}(_0x2327c6[_0x1a4e('0x2cb')]);}function _0x400271(_0x146f6e,_0x2327c6,_0x55ff7e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xe1:return function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e['condition']&&_0x17e404(_0x146f6e[_0x1a4e('0x236b')]),_0xf79407=_0x1adc17||_0x146f6e['incrementor']&&_0x17e404(_0x146f6e[_0x1a4e('0x236c')]);return _0x368e5a[_0x1a4e('0x2c9d')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6?_0x2327c6['part']:_0x146f6e[_0x1a4e('0x236a')],_0x218f21,_0x368e5a[_0x1a4e('0x2d87')]),_0x368e5a['visitNode'](_0x1adc17?void 0x0:_0x146f6e[_0x1a4e('0x236b')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0xf79407?void 0x0:_0x146f6e[_0x1a4e('0x236c')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]),_0x55ff7e);}(_0x146f6e,_0x2327c6,_0x55ff7e);case 0xe2:return function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2d88')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['initializer'],_0x218f21,_0x368e5a[_0x1a4e('0x2d87')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x218f21,_0x368e5a['isExpression']),_0x2327c6);}(_0x146f6e,_0x55ff7e);case 0xe3:return function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2c9f')](_0x146f6e,void 0x0,_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x236a')],_0x218f21,_0x368e5a[_0x1a4e('0x2d87')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6);}(_0x146f6e,_0x55ff7e);case 0xdf:return function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2c9a')](_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x218f21,_0x368e5a['isExpression']));}(_0x146f6e,_0x55ff7e);case 0xe0:return function(_0x146f6e,_0x2327c6){return _0x368e5a['updateWhile'](_0x146f6e,_0x368e5a['visitNode'](_0x146f6e['expression'],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6);}(_0x146f6e,_0x55ff7e);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2df8')](_0x146f6e,_0x1a4e('0x2e7b'));}}function _0xbf1fda(_0x146f6e){return _0x368e5a[_0x1a4e('0x2cad')](_0x146f6e['originalName'],void 0x0,_0x146f6e[_0x1a4e('0x2e78')]);}function _0x2481c3(_0x146f6e,_0x2327c6){var _0x55ff7e=0x0===_0x2327c6?_0x146f6e['outParamName']:_0x146f6e['originalName'],_0x1adc17=0x0===_0x2327c6?_0x146f6e[_0x1a4e('0x2e7c')]:_0x146f6e[_0x1a4e('0x2e78')];return _0x368e5a['createBinary'](_0x1adc17,0x3b,_0x55ff7e);}function _0x478a2d(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=0x0,_0x2c9ec9=_0x146f6e;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x420b32[_0x1a4e('0x7b2')]&_0x2327c6&&_0x1adc17[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d71')](_0x2481c3(_0x420b32,_0x55ff7e)));}}function _0x2f17d4(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x2327c6?(_0x146f6e[_0x1a4e('0x2e76')]||(_0x146f6e[_0x1a4e('0x2e76')]=_0x368e5a['createMap']()),_0x146f6e['labeledNonLocalBreaks']['set'](_0x55ff7e,_0x1adc17)):(_0x146f6e['labeledNonLocalContinues']||(_0x146f6e[_0x1a4e('0x2e74')]=_0x368e5a[_0x1a4e('0x1772')]()),_0x146f6e[_0x1a4e('0x2e74')][_0x1a4e('0x17a')](_0x55ff7e,_0x1adc17));}function _0x4511c5(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x146f6e&&_0x146f6e[_0x1a4e('0x3b')](function(_0x146f6e,_0x2c9ec9){var _0x420b32=[];if(!_0x1adc17||_0x1adc17[_0x1a4e('0x2e5e')]&&_0x1adc17[_0x1a4e('0x2e5e')][_0x1a4e('0x179')](_0x2c9ec9)){var _0x1b06ad=_0x368e5a['createIdentifier'](_0x2c9ec9);_0x420b32[_0x1a4e('0x46')](_0x2327c6?_0x368e5a[_0x1a4e('0x2e75')](_0x1b06ad):_0x368e5a['createContinue'](_0x1b06ad));}else _0x2f17d4(_0x1adc17,_0x2327c6,_0x2c9ec9,_0x146f6e),_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ca3')](_0x55ff7e));_0xf79407['push'](_0x368e5a[_0x1a4e('0x2ce3')](_0x368e5a[_0x1a4e('0x2896')](_0x146f6e),_0x420b32));});}function _0x2a98e2(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x2cb')];if(_0x368e5a[_0x1a4e('0x1678')](_0x2c9ec9))for(var _0x420b32=0x0,_0x1b06ad=_0x2c9ec9[_0x1a4e('0x2398')];_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0x368e5a[_0x1a4e('0x2506')](_0x326eae)||_0x2a98e2(_0x146f6e,_0x326eae,_0x55ff7e,_0x1adc17,_0xf79407);}else{_0x55ff7e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x2c9ec9));var _0x56674b=_0x33406d['getNodeCheckFlags'](_0x2327c6);if(0x400000&_0x56674b||_0xf79407){var _0x3986b4=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0x2e7d')+_0x368e5a['idText'](_0x2c9ec9)),_0x1664ba=0x0;0x400000&_0x56674b&&(_0x1664ba|=0x1),_0x368e5a[_0x1a4e('0x2577')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x236a')]&&_0x33406d['isBindingCapturedByNode'](_0x146f6e[_0x1a4e('0x236a')],_0x2327c6)&&(_0x1664ba|=0x2),_0x1adc17[_0x1a4e('0x46')]({'flags':_0x1664ba,'originalName':_0x2c9ec9,'outParamName':_0x3986b4});}}}function _0x33b445(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2d28')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['name'],_0x218f21,_0x368e5a['isPropertyName'])),_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x236a')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]));return _0x368e5a[_0x1a4e('0x2d12')](_0x1adc17,_0x146f6e),_0x55ff7e&&_0x368e5a[_0x1a4e('0x2d60')](_0x1adc17),_0x1adc17;}function _0x52bb0d(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['createAssignment'](_0x368e5a[_0x1a4e('0x2d28')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2cb')],_0x218f21,_0x368e5a[_0x1a4e('0x254b')])),_0x368e5a[_0x1a4e('0x28ca')](_0x146f6e[_0x1a4e('0x2cb')]));return _0x368e5a['setTextRange'](_0x1adc17,_0x146f6e),_0x55ff7e&&_0x368e5a[_0x1a4e('0x2d60')](_0x1adc17),_0x1adc17;}function _0x578f98(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){var _0x2c9ec9=_0x5b64d7(0x0,0x0),_0x420b32=_0x368e5a['createAssignment'](_0x368e5a['createMemberAccessForPropertyName'](_0x2327c6,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2cb')],_0x218f21,_0x368e5a[_0x1a4e('0x254b')])),_0x10c32e(_0x146f6e,_0x146f6e,void 0x0,_0x55ff7e));return _0x368e5a[_0x1a4e('0x2d12')](_0x420b32,_0x146f6e),_0xf79407&&_0x368e5a[_0x1a4e('0x2d60')](_0x420b32),_0x5f5001(_0x2c9ec9,0xc000,0xc000&_0x1adc17?0x4000:0x0),_0x420b32;}function _0x23c12d(_0x2327c6,_0x55ff7e){if(0x20000&_0x2327c6['transformFlags']||0x62===_0x2327c6[_0x1a4e('0x2302')]['kind']||_0x368e5a[_0x1a4e('0x239f')](_0x368e5a[_0x1a4e('0x2aa7')](_0x2327c6[_0x1a4e('0x2302')]))){var _0x1adc17=_0x368e5a[_0x1a4e('0x2e65')](_0x2327c6[_0x1a4e('0x2302')],_0x55852f),_0xf79407=_0x1adc17[_0x1a4e('0xd95')],_0x2c9ec9=_0x1adc17[_0x1a4e('0x102e')];0x62===_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2892')](_0x2c9ec9,0x4);var _0x420b32=void 0x0;if(_0x420b32=0x20000&_0x2327c6['transformFlags']?_0x368e5a['createFunctionApply'](_0x368e5a['visitNode'](_0xf79407,_0x213e28,_0x368e5a['isExpression']),_0x368e5a['visitNode'](_0x2c9ec9,_0x218f21,_0x368e5a['isExpression']),_0xeea78b(_0x2327c6[_0x1a4e('0x2373')],!0x1,!0x1,!0x1)):_0x368e5a[_0x1a4e('0x2d29')](_0x368e5a[_0x1a4e('0x2d76')](_0xf79407,_0x213e28,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x2c9ec9,_0x218f21,_0x368e5a['isExpression']),_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x2373')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6),0x62===_0x2327c6[_0x1a4e('0x2302')]['kind']){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2c2c')]();_0x368e5a['setEmitFlags'](_0x1b06ad,0x4);var _0x326eae=_0x368e5a[_0x1a4e('0x2d0d')](_0x420b32,_0x1b06ad);_0x420b32=_0x55ff7e?_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2e58')),_0x326eae):_0x326eae;}return _0x368e5a[_0x1a4e('0x2d25')](_0x420b32,_0x2327c6);}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x218f21,_0x146f6e);}function _0xeea78b(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x1e')],_0x420b32=_0x368e5a[_0x1a4e('0x187')](_0x368e5a[_0x1a4e('0x1715')](_0x2327c6,_0x32aaca,function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e(_0x368e5a,_0x1adc17,_0xf79407&&_0x55ff7e===_0x2c9ec9);}));if(_0x64086f[_0x1a4e('0x2744')]){if(0x1===_0x420b32[_0x1a4e('0x1e')]){var _0x1b06ad=_0x420b32[0x0];if(_0x368e5a['isCallExpression'](_0x1b06ad)&&_0x368e5a[_0x1a4e('0x2370')](_0x1b06ad[_0x1a4e('0x2302')])&&0x1000&_0x368e5a[_0x1a4e('0x2c65')](_0x1b06ad['expression'])&&_0x1a4e('0x2e7e')===_0x1b06ad['expression']['escapedText'])return _0x420b32[0x0];}return _0x368e5a[_0x1a4e('0x2d40')](_0x146f6e,_0x420b32);}if(0x1===_0x420b32[_0x1a4e('0x1e')]){var _0x326eae=_0x2327c6[0x0];return _0x55ff7e&&_0x368e5a[_0x1a4e('0x2ac8')](_0x326eae)&&0xbb!==_0x326eae[_0x1a4e('0x2302')]['kind']?_0x368e5a['createArraySlice'](_0x420b32[0x0]):_0x420b32[0x0];}return _0x368e5a[_0x1a4e('0x2d2c')](_0x420b32['shift'](),_0x420b32);}function _0x32aaca(_0x146f6e){return _0x368e5a[_0x1a4e('0x2ac8')](_0x146f6e)?_0x3b19d4:_0xd06de;}function _0x3b19d4(_0x146f6e){return _0x368e5a[_0x1a4e('0x21')](_0x146f6e,_0x1e9a34);}function _0xd06de(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2c60')](_0x368e5a[_0x1a4e('0x2d77')](_0x368e5a[_0x1a4e('0x28d1')](_0x146f6e,_0x55ff7e),_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6);}function _0x1e9a34(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x218f21,_0x368e5a[_0x1a4e('0x24a8')]);}function _0x2f1489(_0x146f6e){var _0x55ff7e=_0x368e5a['getSourceTextOfNodeFromSourceFile'](_0x2327c6,_0x146f6e),_0x1adc17=0xe===_0x146f6e['kind']||0x11===_0x146f6e['kind'];return _0x55ff7e=(_0x55ff7e=_0x55ff7e[_0x1a4e('0x281')](0x1,_0x55ff7e[_0x1a4e('0x1e')]-(_0x1adc17?0x1:0x2)))[_0x1a4e('0x115')](/\r\n?/g,'\x0a'),_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createLiteral'](_0x55ff7e),_0x146f6e);}function _0x330783(_0x146f6e){return 0x8&_0x1adc17&&!_0x146f6e?_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2d44')),'prototype'):_0x368e5a[_0x1a4e('0x2c2a')](_0x1a4e('0x2d44'));}function _0x385020(){0x0==(0x2&_0x326eae)&&(_0x326eae|=0x2,_0x146f6e[_0x1a4e('0x2df4')](0x48));}function _0x2878a3(){0x0==(0x1&_0x326eae)&&(_0x326eae|=0x1,_0x146f6e[_0x1a4e('0x2df4')](0x64),_0x146f6e[_0x1a4e('0x2e13')](0x9d),_0x146f6e[_0x1a4e('0x2e13')](0x9c),_0x146f6e[_0x1a4e('0x2e13')](0x9e),_0x146f6e[_0x1a4e('0x2e13')](0x9f),_0x146f6e[_0x1a4e('0x2e13')](0xc5),_0x146f6e[_0x1a4e('0x2e13')](0xc4),_0x146f6e['enableEmitNotification'](0xef));}function _0x2823a1(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x20)?_0x368e5a[_0x1a4e('0x2d4c')](_0x146f6e):_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2d4c')](_0x146f6e),_0x1a4e('0xa'));}};var _0x420b32={'name':'typescript:extends','scoped':!0x1,'priority':0x0,'text':_0x1a4e('0x2e7f')},_0x1b06ad={'name':_0x1a4e('0x2e80'),'scoped':!0x1,'priority':0x0,'text':_0x1a4e('0x2e81')};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x2e82')]=function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17=_0x146f6e[_0x1a4e('0x23f1')]();0x1!==_0x1adc17['jsx']&&0x3!==_0x1adc17['jsx']||(_0x2327c6=_0x146f6e[_0x1a4e('0x2df1')],_0x146f6e['onEmitNode']=function(_0x146f6e,_0x1adc17,_0xf79407){switch(_0x1adc17['kind']){case 0x106:case 0x107:case 0x105:var _0x2c9ec9=_0x1adc17['tagName'];_0x55ff7e[_0x368e5a[_0x1a4e('0x2dc2')](_0x2c9ec9)]=!0x0;}_0x2327c6(_0x146f6e,_0x1adc17,_0xf79407);},_0x146f6e[_0x1a4e('0x2e13')](0x106),_0x146f6e['enableEmitNotification'](0x107),_0x146f6e[_0x1a4e('0x2e13')](0x105),_0x55ff7e=[]);var _0xf79407=_0x146f6e[_0x1a4e('0x2df2')];return _0x146f6e[_0x1a4e('0x2df2')]=function(_0x146f6e,_0x2327c6){return _0x2327c6['id']&&_0x55ff7e&&_0x55ff7e[_0x2327c6['id']]?_0xf79407(_0x146f6e,_0x2327c6):(_0x2327c6=_0xf79407(_0x146f6e,_0x2327c6),_0x368e5a['isPropertyAccessExpression'](_0x2327c6)?function(_0x146f6e){var _0x2327c6=_0x2c9ec9(_0x146f6e[_0x1a4e('0x2cb')]);return _0x2327c6?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createElementAccess'](_0x146f6e[_0x1a4e('0x2302')],_0x2327c6),_0x146f6e):_0x146f6e;}(_0x2327c6):_0x368e5a['isPropertyAssignment'](_0x2327c6)?function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['name'])&&_0x2c9ec9(_0x146f6e[_0x1a4e('0x2cb')]);return _0x2327c6?_0x368e5a['updatePropertyAssignment'](_0x146f6e,_0x2327c6,_0x146f6e[_0x1a4e('0x236a')]):_0x146f6e;}(_0x2327c6):_0x2327c6);},_0x146f6e['enableSubstitution'](0xbd),_0x146f6e[_0x1a4e('0x2df4')](0x113),_0x368e5a[_0x1a4e('0x2dc3')](function(_0x368e5a){return _0x368e5a;});function _0x2c9ec9(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x23f8')]||(_0x368e5a['nodeIsSynthesized'](_0x146f6e)?_0x368e5a['stringToToken'](_0x368e5a[_0x1a4e('0x2353')](_0x146f6e)):void 0x0);if(void 0x0!==_0x2327c6&&_0x2327c6>=0x49&&_0x2327c6<=0x6c)return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2896')](_0x146f6e),_0x146f6e);}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407;!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2e83')]=0x0]=_0x1a4e('0x2e83'),_0x368e5a[_0x368e5a['Statement']=0x1]=_0x1a4e('0x2e84'),_0x368e5a[_0x368e5a['Assign']=0x2]='Assign',_0x368e5a[_0x368e5a[_0x1a4e('0x2e30')]=0x3]='Break',_0x368e5a[_0x368e5a['BreakWhenTrue']=0x4]=_0x1a4e('0x2e85'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e86')]=0x5]='BreakWhenFalse',_0x368e5a[_0x368e5a['Yield']=0x6]='Yield',_0x368e5a[_0x368e5a[_0x1a4e('0x2e87')]=0x7]='YieldStar',_0x368e5a[_0x368e5a[_0x1a4e('0x2e32')]=0x8]=_0x1a4e('0x2e32'),_0x368e5a[_0x368e5a['Throw']=0x9]=_0x1a4e('0x2e88'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e89')]=0xa]=_0x1a4e('0x2e89');}(_0x146f6e||(_0x146f6e={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2e8a')]=0x0]='Open',_0x368e5a[_0x368e5a[_0x1a4e('0x2e8b')]=0x1]=_0x1a4e('0x2e8b');}(_0x2327c6||(_0x2327c6={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2e8c')]=0x0]=_0x1a4e('0x2e8c'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e8d')]=0x1]=_0x1a4e('0x2e8d'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e8e')]=0x2]=_0x1a4e('0x2e8e'),_0x368e5a[_0x368e5a[_0x1a4e('0x18fb')]=0x3]=_0x1a4e('0x18fb'),_0x368e5a[_0x368e5a['Labeled']=0x4]=_0x1a4e('0x2e8f');}(_0x55ff7e||(_0x55ff7e={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Try']=0x0]=_0x1a4e('0x2e90'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e91')]=0x1]='Catch',_0x368e5a[_0x368e5a['Finally']=0x2]=_0x1a4e('0x2e92'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e93')]=0x3]=_0x1a4e('0x2e93');}(_0x1adc17||(_0x1adc17={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2e94')]=0x0]=_0x1a4e('0x2e94'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e88')]=0x1]=_0x1a4e('0x2e88'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e32')]=0x2]=_0x1a4e('0x2e32'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e30')]=0x3]=_0x1a4e('0x2e30'),_0x368e5a[_0x368e5a[_0x1a4e('0x2624')]=0x4]=_0x1a4e('0x2624'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e87')]=0x5]='YieldStar',_0x368e5a[_0x368e5a[_0x1a4e('0x2e91')]=0x6]='Catch',_0x368e5a[_0x368e5a[_0x1a4e('0x2e89')]=0x7]='Endfinally';}(_0xf79407||(_0xf79407={})),_0x368e5a[_0x1a4e('0x2e95')]=function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0xb57a1a,_0x11617b,_0x360753=_0x146f6e['resumeLexicalEnvironment'],_0x5698cb=_0x146f6e[_0x1a4e('0x2d72')],_0x2b5bad=_0x146f6e[_0x1a4e('0x2e96')],_0x16beba=_0x146f6e['hoistVariableDeclaration'],_0x478992=_0x146f6e[_0x1a4e('0x23f1')](),_0x15b8f0=_0x368e5a[_0x1a4e('0x2589')](_0x478992),_0x273dd9=_0x146f6e['getEmitResolver'](),_0x3d5fcb=_0x146f6e[_0x1a4e('0x2df2')];_0x146f6e['onSubstituteNode']=function(_0x146f6e,_0x1adc17){return _0x1adc17=_0x3d5fcb(_0x146f6e,_0x1adc17),0x1===_0x146f6e?function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e)?function(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e)&&_0x2327c6&&_0x2327c6[_0x1a4e('0x178')](_0x368e5a[_0x1a4e('0x2353')](_0x146f6e))){var _0x1adc17=_0x368e5a['getOriginalNode'](_0x146f6e);if(_0x368e5a[_0x1a4e('0x2370')](_0x1adc17)&&_0x1adc17[_0x1a4e('0x11c')]){var _0xf79407=_0x273dd9[_0x1a4e('0x2dc6')](_0x1adc17);if(_0xf79407){var _0x2c9ec9=_0x55ff7e[_0x368e5a[_0x1a4e('0x2dc2')](_0xf79407)];if(_0x2c9ec9){var _0x420b32=_0x368e5a['getMutableClone'](_0x2c9ec9);return _0x368e5a[_0x1a4e('0x2d14')](_0x420b32,_0x146f6e),_0x368e5a['setCommentRange'](_0x420b32,_0x146f6e),_0x420b32;}}}}return _0x146f6e;}(_0x146f6e):_0x146f6e;}(_0x1adc17):_0x1adc17;};var _0x2c5932,_0x342801,_0x5cb356,_0x147adf,_0x453846,_0x1acca6,_0x5d7c59,_0x57a69c,_0x22a32c,_0x2a72ad,_0x3c5c61,_0x4cadb2,_0x177fb3=0x1,_0x3035ab=0x0,_0x24aa28=0x0;return _0x368e5a[_0x1a4e('0x2dc3')](function(_0x2327c6){if(_0x2327c6[_0x1a4e('0x2423')]||0x0==(0x200&_0x2327c6[_0x1a4e('0x257c')]))return _0x2327c6;var _0x55ff7e=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e);return _0x368e5a['addEmitHelpers'](_0x55ff7e,_0x146f6e[_0x1a4e('0x2e11')]()),_0x55ff7e;});function _0x12a2b7(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x257c')];return _0xf79407?function(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xdf:case 0xe0:return function(_0x2327c6){return _0xf79407?(_0x4bb45d(),_0x2327c6=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e),_0x39b5ca(),_0x2327c6):_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e);}(_0x2327c6);case 0xe8:return function(_0x2327c6){return _0xf79407&&_0x463d46({'kind':0x2,'isScript':!0x0,'breakLabel':-0x1}),_0x2327c6=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e),_0xf79407&&_0x3bc0dd(),_0x2327c6;}(_0x2327c6);case 0xe9:return function(_0x2327c6){return _0xf79407&&_0x463d46({'kind':0x4,'isScript':!0x0,'labelText':_0x368e5a[_0x1a4e('0x2353')](_0x2327c6[_0x1a4e('0x1bc')]),'breakLabel':-0x1}),_0x2327c6=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e),_0xf79407&&_0x38a0c2(),_0x2327c6;}(_0x2327c6);default:return _0x17bbdd(_0x2327c6);}}(_0x2327c6):_0x1adc17?_0x17bbdd(_0x2327c6):0x100&_0x55ff7e?function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xef:return _0x2442ad(_0x146f6e);case 0xc4:return _0x206a1e(_0x146f6e);default:return _0x368e5a[_0x1a4e('0x1749')]['failBadSyntaxKind'](_0x146f6e);}}(_0x2327c6):0x200&_0x55ff7e?_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e):_0x2327c6;}function _0x17bbdd(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xef:return _0x2442ad(_0x2327c6);case 0xc4:return _0x206a1e(_0x2327c6);case 0x9e:case 0x9f:return function(_0x2327c6){var _0x55ff7e=_0x1adc17,_0x2c9ec9=_0xf79407;return _0x1adc17=!0x1,_0xf79407=!0x1,_0x2327c6=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e),_0x1adc17=_0x55ff7e,_0xf79407=_0x2c9ec9,_0x2327c6;}(_0x2327c6);case 0xdb:return function(_0x146f6e){if(0x400000&_0x146f6e[_0x1a4e('0x257c')])_0x237414(_0x146f6e[_0x1a4e('0x2377')]);else{if(0x100000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e))return _0x146f6e;for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x16beba(_0x1adc17['name']);}var _0xf79407=_0x368e5a[_0x1a4e('0x2489')](_0x146f6e[_0x1a4e('0x2377')]);if(0x0!==_0xf79407[_0x1a4e('0x1e')])return _0x368e5a[_0x1a4e('0x2d14')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d45')](_0x368e5a[_0x1a4e('0x21')](_0xf79407,_0x3cdef0))),_0x146f6e);}}(_0x2327c6);case 0xe1:return function(_0x2327c6){_0xf79407&&_0x4bb45d();var _0x55ff7e=_0x2327c6['initializer'];if(_0x55ff7e&&_0x368e5a[_0x1a4e('0x251c')](_0x55ff7e)){for(var _0x1adc17=0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x22e5')];_0x1adc17<_0x2c9ec9[_0x1a4e('0x1e')];_0x1adc17++){var _0x420b32=_0x2c9ec9[_0x1adc17];_0x16beba(_0x420b32[_0x1a4e('0x2cb')]);}var _0x1b06ad=_0x368e5a[_0x1a4e('0x2489')](_0x55ff7e);_0x2327c6=_0x368e5a[_0x1a4e('0x2c9d')](_0x2327c6,_0x1b06ad[_0x1a4e('0x1e')]>0x0?_0x368e5a['inlineExpressions'](_0x368e5a[_0x1a4e('0x21')](_0x1b06ad,_0x3cdef0)):void 0x0,_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x236b')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x236c')],_0x12a2b7,_0x368e5a['isExpression']),_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x2390')],_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));}else _0x2327c6=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e);return _0xf79407&&_0x39b5ca(),_0x2327c6;}(_0x2327c6);case 0xe2:return function(_0x2327c6){_0xf79407&&_0x4bb45d();var _0x55ff7e=_0x2327c6[_0x1a4e('0x236a')];if(_0x368e5a[_0x1a4e('0x251c')](_0x55ff7e)){for(var _0x1adc17=0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x22e5')];_0x1adc17<_0x2c9ec9['length'];_0x1adc17++){var _0x420b32=_0x2c9ec9[_0x1adc17];_0x16beba(_0x420b32[_0x1a4e('0x2cb')]);}_0x2327c6=_0x368e5a[_0x1a4e('0x2d88')](_0x2327c6,_0x55ff7e[_0x1a4e('0x22e5')][0x0][_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2390')],_0x12a2b7,_0x368e5a['isStatement'],_0x368e5a[_0x1a4e('0x2d86')]));}else _0x2327c6=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e);return _0xf79407&&_0x39b5ca(),_0x2327c6;}(_0x2327c6);case 0xe5:return function(_0x2327c6){if(_0xf79407){var _0x55ff7e=_0x336912(_0x2327c6[_0x1a4e('0x1bc')]&&_0x368e5a[_0x1a4e('0x2353')](_0x2327c6[_0x1a4e('0x1bc')]));if(_0x55ff7e>0x0)return _0x5dab3c(_0x55ff7e,_0x2327c6);}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e);}(_0x2327c6);case 0xe4:return function(_0x2327c6){if(_0xf79407){var _0x55ff7e=_0x543773(_0x2327c6[_0x1a4e('0x1bc')]&&_0x368e5a['idText'](_0x2327c6[_0x1a4e('0x1bc')]));if(_0x55ff7e>0x0)return _0x5dab3c(_0x55ff7e,_0x2327c6);}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e);}(_0x2327c6);case 0xe6:return function(_0x146f6e){return function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2c60')](_0x146f6e?[_0xeca8af(0x2),_0x146f6e]:[_0xeca8af(0x2)])),_0x2327c6);}(_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a['isExpression']),_0x146f6e);}(_0x2327c6);default:return 0x400000&_0x2327c6['transformFlags']?function(_0x2327c6){switch(_0x2327c6['kind']){case 0xcc:return function(_0x2327c6){var _0x55ff7e=_0x368e5a['getExpressionAssociativity'](_0x2327c6);switch(_0x55ff7e){case 0x0:return function(_0x2327c6){if(_0x26fefc(_0x2327c6[_0x1a4e('0x5d')])){if(_0x368e5a[_0x1a4e('0x245f')](_0x2327c6[_0x1a4e('0x237a')][_0x1a4e('0x146b')]))return function(_0x146f6e){var _0x2327c6=_0x17361a(),_0x55ff7e=_0x2aeded();return _0x817b0c(_0x55ff7e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x5f')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x146f6e['left']),0x36===_0x146f6e[_0x1a4e('0x237a')]['kind']?_0x19db31(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x5f')]):_0x2836d6(_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x5f')]),_0x817b0c(_0x55ff7e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x5d')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x146f6e[_0x1a4e('0x5d')]),_0x2d871b(_0x2327c6),_0x55ff7e;}(_0x2327c6);if(0x1b===_0x2327c6['operatorToken'][_0x1a4e('0x146b')])return function(_0x146f6e){var _0x2327c6=[];return _0x55ff7e(_0x146f6e[_0x1a4e('0x5f')]),_0x55ff7e(_0x146f6e[_0x1a4e('0x5d')]),_0x368e5a['inlineExpressions'](_0x2327c6);function _0x55ff7e(_0x146f6e){_0x368e5a[_0x1a4e('0x236e')](_0x146f6e)&&0x1b===_0x146f6e[_0x1a4e('0x237a')]['kind']?(_0x55ff7e(_0x146f6e[_0x1a4e('0x5f')]),_0x55ff7e(_0x146f6e[_0x1a4e('0x5d')])):(_0x26fefc(_0x146f6e)&&_0x2327c6['length']>0x0&&(_0xfa58f2(0x1,[_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d45')](_0x2327c6))]),_0x2327c6=[]),_0x2327c6[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])));}}(_0x2327c6);var _0x55ff7e=_0x368e5a[_0x1a4e('0x2cf1')](_0x2327c6);return _0x55ff7e[_0x1a4e('0x5f')]=_0x834a12(_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x5f')],_0x12a2b7,_0x368e5a['isExpression'])),_0x55ff7e['right']=_0x368e5a['visitNode'](_0x2327c6['right'],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x55ff7e;}return _0x368e5a['visitEachChild'](_0x2327c6,_0x12a2b7,_0x146f6e);}(_0x2327c6);case 0x1:return function(_0x2327c6){var _0x55ff7e,_0x1adc17=_0x2327c6[_0x1a4e('0x5f')],_0xf79407=_0x2327c6['right'];if(_0x26fefc(_0xf79407)){var _0x2c9ec9=void 0x0;switch(_0x1adc17['kind']){case 0xbd:_0x2c9ec9=_0x368e5a[_0x1a4e('0x2c64')](_0x1adc17,_0x834a12(_0x368e5a[_0x1a4e('0x2d76')](_0x1adc17['expression'],_0x12a2b7,_0x368e5a[_0x1a4e('0x2430')])),_0x1adc17[_0x1a4e('0x2cb')]);break;case 0xbe:_0x2c9ec9=_0x368e5a[_0x1a4e('0x2c66')](_0x1adc17,_0x834a12(_0x368e5a[_0x1a4e('0x2d76')](_0x1adc17[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x2430')])),_0x834a12(_0x368e5a['visitNode'](_0x1adc17['argumentExpression'],_0x12a2b7,_0x368e5a['isExpression'])));break;default:_0x2c9ec9=_0x368e5a[_0x1a4e('0x2d76')](_0x1adc17,_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]);}var _0x420b32=_0x2327c6['operatorToken'][_0x1a4e('0x146b')];return(_0x55ff7e=_0x420b32)>=0x3c&&_0x55ff7e<=0x47?_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2e63')](_0x834a12(_0x2c9ec9),function(_0x368e5a){switch(_0x368e5a){case 0x3c:return 0x26;case 0x3d:return 0x27;case 0x3e:return 0x28;case 0x3f:return 0x29;case 0x40:return 0x2a;case 0x41:return 0x2b;case 0x42:return 0x2e;case 0x43:return 0x2f;case 0x44:return 0x30;case 0x45:return 0x31;case 0x46:return 0x32;case 0x47:return 0x33;}}(_0x420b32),_0x368e5a[_0x1a4e('0x2d76')](_0xf79407,_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0x2327c6)),_0x2327c6):_0x368e5a['updateBinary'](_0x2327c6,_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d76')](_0xf79407,_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]));}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e);}(_0x2327c6);default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x55ff7e);}}(_0x2327c6);case 0xcd:return function(_0x2327c6){if(_0x26fefc(_0x2327c6['whenTrue'])||_0x26fefc(_0x2327c6[_0x1a4e('0x2604')])){var _0x55ff7e=_0x17361a(),_0x1adc17=_0x17361a(),_0xf79407=_0x2aeded();return _0x19db31(_0x55ff7e,_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x236b')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6[_0x1a4e('0x236b')]),_0x817b0c(_0xf79407,_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2602')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x2327c6[_0x1a4e('0x2602')]),_0x4fd270(_0x1adc17),_0x2d871b(_0x55ff7e),_0x817b0c(_0xf79407,_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x2604')],_0x12a2b7,_0x368e5a['isExpression']),_0x2327c6[_0x1a4e('0x2604')]),_0x2d871b(_0x1adc17),_0xf79407;}return _0x368e5a['visitEachChild'](_0x2327c6,_0x12a2b7,_0x146f6e);}(_0x2327c6);case 0xcf:return function(_0x2327c6){var _0x55ff7e=_0x17361a(),_0x1adc17=_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]);if(_0x2327c6[_0x1a4e('0x23fc')]){var _0xf79407=0x0==(0x800000&_0x368e5a[_0x1a4e('0x2c65')](_0x2327c6[_0x1a4e('0x2302')]))?_0x368e5a['createValuesHelper'](_0x146f6e,_0x1adc17,_0x2327c6):_0x1adc17;!function(_0x368e5a,_0x146f6e){_0xfa58f2(0x7,[_0x368e5a],_0x146f6e);}(_0xf79407,_0x2327c6);}else!function(_0x368e5a,_0x146f6e){_0xfa58f2(0x6,[_0x368e5a],_0x146f6e);}(_0x1adc17,_0x2327c6);return _0x2d871b(_0x55ff7e),function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x147adf,_0x1a4e('0x128a')),void 0x0,[]),_0x146f6e);}(_0x2327c6);}(_0x2327c6);case 0xbb:return function(_0x368e5a){return _0x4ea7c9(_0x368e5a[_0x1a4e('0x2398')],void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2677')]);}(_0x2327c6);case 0xbc:return function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x13')],_0x55ff7e=_0x146f6e['multiLine'],_0x1adc17=_0x1c794b(_0x2327c6),_0xf79407=_0x2aeded();_0x817b0c(_0xf79407,_0x368e5a[_0x1a4e('0x2c62')](_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6,_0x12a2b7,_0x368e5a['isObjectLiteralElementLike'],0x0,_0x1adc17),_0x55ff7e));var _0x2c9ec9=_0x368e5a['reduceLeft'](_0x2327c6,function(_0x2327c6,_0x1adc17){_0x26fefc(_0x1adc17)&&_0x2327c6[_0x1a4e('0x1e')]>0x0&&(_0x70961f(_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d45')](_0x2327c6))),_0x2327c6=[]);var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2d47')](_0x146f6e,_0x1adc17,_0xf79407),_0x420b32=_0x368e5a['visitNode'](_0x2c9ec9,_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]);return _0x420b32&&(_0x55ff7e&&_0x368e5a['startOnNewLine'](_0x420b32),_0x2327c6[_0x1a4e('0x46')](_0x420b32)),_0x2327c6;},[],_0x1adc17);return _0x2c9ec9['push'](_0x55ff7e?_0x368e5a['startOnNewLine'](_0x368e5a[_0x1a4e('0x2cf1')](_0xf79407)):_0xf79407),_0x368e5a[_0x1a4e('0x2d45')](_0x2c9ec9);}(_0x2327c6);case 0xbe:return function(_0x2327c6){if(_0x26fefc(_0x2327c6['argumentExpression'])){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2cf1')](_0x2327c6);return _0x55ff7e['expression']=_0x834a12(_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x2430')])),_0x55ff7e[_0x1a4e('0x24a7')]=_0x368e5a['visitNode'](_0x2327c6[_0x1a4e('0x24a7')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x55ff7e;}return _0x368e5a['visitEachChild'](_0x2327c6,_0x12a2b7,_0x146f6e);}(_0x2327c6);case 0xbf:return function(_0x2327c6){if(!_0x368e5a[_0x1a4e('0x2a16')](_0x2327c6)&&_0x368e5a[_0x1a4e('0x3b')](_0x2327c6[_0x1a4e('0x2373')],_0x26fefc)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2e65')](_0x2327c6[_0x1a4e('0x2302')],_0x16beba,_0x15b8f0,!0x0),_0x1adc17=_0x55ff7e['target'],_0xf79407=_0x55ff7e['thisArg'];return _0x368e5a['setOriginalNode'](_0x368e5a[_0x1a4e('0x2d2a')](_0x834a12(_0x368e5a[_0x1a4e('0x2d76')](_0x1adc17,_0x12a2b7,_0x368e5a[_0x1a4e('0x2430')])),_0xf79407,_0x4ea7c9(_0x2327c6[_0x1a4e('0x2373')]),_0x2327c6),_0x2327c6);}return _0x368e5a['visitEachChild'](_0x2327c6,_0x12a2b7,_0x146f6e);}(_0x2327c6);case 0xc0:return function(_0x2327c6){if(_0x368e5a[_0x1a4e('0x3b')](_0x2327c6[_0x1a4e('0x2373')],_0x26fefc)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2e65')](_0x368e5a[_0x1a4e('0x2894')](_0x2327c6[_0x1a4e('0x2302')],_0x1a4e('0x945')),_0x16beba),_0x1adc17=_0x55ff7e[_0x1a4e('0xd95')],_0xf79407=_0x55ff7e[_0x1a4e('0x102e')];return _0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createNew'](_0x368e5a[_0x1a4e('0x2d2a')](_0x834a12(_0x368e5a[_0x1a4e('0x2d76')](_0x1adc17,_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0xf79407,_0x4ea7c9(_0x2327c6[_0x1a4e('0x2373')],_0x368e5a['createVoidZero']())),void 0x0,[]),_0x2327c6),_0x2327c6);}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e);}(_0x2327c6);default:return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e);}}(_0x2327c6):0x800200&_0x2327c6[_0x1a4e('0x257c')]?_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e):_0x2327c6;}}function _0x2442ad(_0x2327c6){if(_0x2327c6[_0x1a4e('0x23fc')])_0x2327c6=_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2cb0')](void 0x0,_0x2327c6['modifiers'],void 0x0,_0x2327c6[_0x1a4e('0x2cb')],void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6[_0x1a4e('0x111a')],_0x12a2b7,_0x146f6e),void 0x0,_0x35b90d(_0x2327c6['body'])),_0x2327c6),_0x2327c6);else{var _0x55ff7e=_0x1adc17,_0x2c9ec9=_0xf79407;_0x1adc17=!0x1,_0xf79407=!0x1,_0x2327c6=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x12a2b7,_0x146f6e),_0x1adc17=_0x55ff7e,_0xf79407=_0x2c9ec9;}return _0x1adc17?void _0x2b5bad(_0x2327c6):_0x2327c6;}function _0x206a1e(_0x2327c6){if(_0x2327c6['asteriskToken'])_0x2327c6=_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,_0x2327c6[_0x1a4e('0x2cb')],void 0x0,_0x368e5a[_0x1a4e('0x2d79')](_0x2327c6['parameters'],_0x12a2b7,_0x146f6e),void 0x0,_0x35b90d(_0x2327c6[_0x1a4e('0x8f2')])),_0x2327c6),_0x2327c6);else{var _0x55ff7e=_0x1adc17,_0x2c9ec9=_0xf79407;_0x1adc17=!0x1,_0xf79407=!0x1,_0x2327c6=_0x368e5a['visitEachChild'](_0x2327c6,_0x12a2b7,_0x146f6e),_0x1adc17=_0x55ff7e,_0xf79407=_0x2c9ec9;}return _0x2327c6;}function _0x35b90d(_0x146f6e){var _0x2327c6=[],_0x55ff7e=_0x1adc17,_0x2c9ec9=_0xf79407,_0x2b5bad=_0x420b32,_0x16beba=_0x1b06ad,_0x478992=_0x326eae,_0x15b8f0=_0x56674b,_0x273dd9=_0xb57a1a,_0x3d5fcb=_0x11617b,_0x453846=_0x177fb3,_0x1acca6=_0x2c5932,_0x5d7c59=_0x342801,_0x57a69c=_0x5cb356,_0x22a32c=_0x147adf;_0x1adc17=!0x0,_0xf79407=!0x1,_0x420b32=void 0x0,_0x1b06ad=void 0x0,_0x326eae=void 0x0,_0x56674b=void 0x0,_0xb57a1a=void 0x0,_0x11617b=void 0x0,_0x177fb3=0x1,_0x2c5932=void 0x0,_0x342801=void 0x0,_0x5cb356=void 0x0,_0x147adf=_0x368e5a['createTempVariable'](void 0x0),_0x360753();var _0x2a72ad=_0x368e5a[_0x1a4e('0x2dff')](_0x2327c6,_0x146f6e[_0x1a4e('0x2366')],!0x1,_0x12a2b7);_0x35747e(_0x146f6e['statements'],_0x2a72ad);var _0x3c5c61=_0x4d96fd();return _0x368e5a[_0x1a4e('0x2329')](_0x2327c6,_0x5698cb()),_0x2327c6[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ca3')](_0x3c5c61)),_0x1adc17=_0x55ff7e,_0xf79407=_0x2c9ec9,_0x420b32=_0x2b5bad,_0x1b06ad=_0x16beba,_0x326eae=_0x478992,_0x56674b=_0x15b8f0,_0xb57a1a=_0x273dd9,_0x11617b=_0x3d5fcb,_0x177fb3=_0x453846,_0x2c5932=_0x1acca6,_0x342801=_0x5d7c59,_0x5cb356=_0x57a69c,_0x147adf=_0x22a32c,_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c91')](_0x2327c6,_0x146f6e[_0x1a4e('0x2677')]),_0x146f6e);}function _0x4ea7c9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9=_0x1c794b(_0x146f6e);if(_0x2c9ec9>0x0){_0xf79407=_0x2aeded();var _0x420b32=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')],0x0,_0x2c9ec9);_0x817b0c(_0xf79407,_0x368e5a[_0x1a4e('0x2c60')](_0x2327c6?[_0x2327c6][_0x1a4e('0x9a')](_0x420b32):_0x420b32)),_0x2327c6=void 0x0;}var _0x1b06ad=_0x368e5a['reduceLeft'](_0x146f6e,function(_0x146f6e,_0x55ff7e){if(_0x26fefc(_0x55ff7e)&&_0x146f6e['length']>0x0){var _0x2c9ec9=void 0x0!==_0xf79407;_0xf79407||(_0xf79407=_0x2aeded()),_0x817b0c(_0xf79407,_0x2c9ec9?_0x368e5a[_0x1a4e('0x2d2c')](_0xf79407,[_0x368e5a[_0x1a4e('0x2c60')](_0x146f6e,_0x1adc17)]):_0x368e5a['createArrayLiteral'](_0x2327c6?[_0x2327c6][_0x1a4e('0x9a')](_0x146f6e):_0x146f6e,_0x1adc17)),_0x2327c6=void 0x0,_0x146f6e=[];}return _0x146f6e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d76')](_0x55ff7e,_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0x146f6e;},[],_0x2c9ec9);return _0xf79407?_0x368e5a[_0x1a4e('0x2d2c')](_0xf79407,[_0x368e5a['createArrayLiteral'](_0x1b06ad,_0x1adc17)]):_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c60')](_0x2327c6?[_0x2327c6][_0x1a4e('0x9a')](_0x1b06ad):_0x1b06ad,_0x1adc17),_0x55ff7e);}function _0x35747e(_0x368e5a,_0x146f6e){void 0x0===_0x146f6e&&(_0x146f6e=0x0);for(var _0x2327c6=_0x368e5a[_0x1a4e('0x1e')],_0x55ff7e=_0x146f6e;_0x55ff7e<_0x2327c6;_0x55ff7e++)_0x3c213d(_0x368e5a[_0x55ff7e]);}function _0x69ac46(_0x146f6e){_0x368e5a[_0x1a4e('0x250c')](_0x146f6e)?_0x35747e(_0x146f6e[_0x1a4e('0x2366')]):_0x3c213d(_0x146f6e);}function _0x3c213d(_0x1adc17){var _0x2c9ec9=_0xf79407;_0xf79407||(_0xf79407=_0x26fefc(_0x1adc17)),function(_0x1adc17){switch(_0x1adc17[_0x1a4e('0x146b')]){case 0xda:return function(_0x146f6e){_0x26fefc(_0x146f6e)?_0x35747e(_0x146f6e[_0x1a4e('0x2366')]):_0x70961f(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));}(_0x1adc17);case 0xdd:return function(_0x146f6e){_0x70961f(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x12a2b7,_0x368e5a['isStatement']));}(_0x1adc17);case 0xde:return function(_0x146f6e){if(_0x26fefc(_0x146f6e))if(_0x26fefc(_0x146f6e['thenStatement'])||_0x26fefc(_0x146f6e[_0x1a4e('0x2607')])){var _0x2327c6=_0x17361a(),_0x55ff7e=_0x146f6e[_0x1a4e('0x2607')]?_0x17361a():void 0x0;_0x19db31(_0x146f6e[_0x1a4e('0x2607')]?_0x55ff7e:_0x2327c6,_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x146f6e['expression']),_0x69ac46(_0x146f6e['thenStatement']),_0x146f6e[_0x1a4e('0x2607')]&&(_0x4fd270(_0x2327c6),_0x2d871b(_0x55ff7e),_0x69ac46(_0x146f6e[_0x1a4e('0x2607')])),_0x2d871b(_0x2327c6);}else _0x70961f(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));else _0x70961f(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));}(_0x1adc17);case 0xdf:return function(_0x146f6e){if(_0x26fefc(_0x146f6e)){var _0x2327c6=_0x17361a(),_0x55ff7e=_0x17361a();_0x4c34de(_0x2327c6),_0x2d871b(_0x55ff7e),_0x69ac46(_0x146f6e[_0x1a4e('0x2390')]),_0x2d871b(_0x2327c6),_0x2836d6(_0x55ff7e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0x39b5ca();}else _0x70961f(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));}(_0x1adc17);case 0xe0:return function(_0x146f6e){if(_0x26fefc(_0x146f6e)){var _0x2327c6=_0x17361a(),_0x55ff7e=_0x4c34de(_0x2327c6);_0x2d871b(_0x2327c6),_0x19db31(_0x55ff7e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0x69ac46(_0x146f6e[_0x1a4e('0x2390')]),_0x4fd270(_0x2327c6),_0x39b5ca();}else _0x70961f(_0x368e5a['visitNode'](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));}(_0x1adc17);case 0xe1:return function(_0x146f6e){if(_0x26fefc(_0x146f6e)){var _0x2327c6=_0x17361a(),_0x55ff7e=_0x17361a(),_0x1adc17=_0x4c34de(_0x55ff7e);if(_0x146f6e[_0x1a4e('0x236a')]){var _0xf79407=_0x146f6e['initializer'];_0x368e5a[_0x1a4e('0x251c')](_0xf79407)?_0x237414(_0xf79407):_0x70961f(_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['visitNode'](_0xf79407,_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0xf79407));}_0x2d871b(_0x2327c6),_0x146f6e[_0x1a4e('0x236b')]&&_0x19db31(_0x1adc17,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236b')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0x69ac46(_0x146f6e[_0x1a4e('0x2390')]),_0x2d871b(_0x55ff7e),_0x146f6e[_0x1a4e('0x236c')]&&_0x70961f(_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x236c')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0x146f6e[_0x1a4e('0x236c')])),_0x4fd270(_0x2327c6),_0x39b5ca();}else _0x70961f(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));}(_0x1adc17);case 0xe2:return function(_0x146f6e){if(_0x26fefc(_0x146f6e)){var _0x2327c6=_0x2aeded(),_0x55ff7e=_0x2aeded(),_0x1adc17=_0x368e5a[_0x1a4e('0x2c28')](),_0xf79407=_0x146f6e[_0x1a4e('0x236a')];_0x16beba(_0x1adc17),_0x817b0c(_0x2327c6,_0x368e5a[_0x1a4e('0x2c60')]()),_0x70961f(_0x368e5a['createForIn'](_0x55ff7e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['expression'],_0x12a2b7,_0x368e5a['isExpression']),_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x2327c6,_0x1a4e('0x46')),void 0x0,[_0x55ff7e])))),_0x817b0c(_0x1adc17,_0x368e5a[_0x1a4e('0x2896')](0x0));var _0x2c9ec9=_0x17361a(),_0x420b32=_0x17361a(),_0x1b06ad=_0x4c34de(_0x420b32);_0x2d871b(_0x2c9ec9),_0x19db31(_0x1b06ad,_0x368e5a['createLessThan'](_0x1adc17,_0x368e5a[_0x1a4e('0x2894')](_0x2327c6,_0x1a4e('0x1e'))));var _0x326eae=void 0x0;if(_0x368e5a[_0x1a4e('0x251c')](_0xf79407)){for(var _0x56674b=0x0,_0xb57a1a=_0xf79407[_0x1a4e('0x22e5')];_0x56674b<_0xb57a1a[_0x1a4e('0x1e')];_0x56674b++){var _0x11617b=_0xb57a1a[_0x56674b];_0x16beba(_0x11617b[_0x1a4e('0x2cb')]);}_0x326eae=_0x368e5a[_0x1a4e('0x28ca')](_0xf79407[_0x1a4e('0x22e5')][0x0][_0x1a4e('0x2cb')]);}else _0x326eae=_0x368e5a['visitNode'](_0xf79407,_0x12a2b7,_0x368e5a['isExpression']),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x368e5a[_0x1a4e('0x2430')](_0x326eae));_0x817b0c(_0x326eae,_0x368e5a[_0x1a4e('0x2897')](_0x2327c6,_0x1adc17)),_0x69ac46(_0x146f6e[_0x1a4e('0x2390')]),_0x2d871b(_0x420b32),_0x70961f(_0x368e5a['createExpressionStatement'](_0x368e5a['createPostfixIncrement'](_0x1adc17))),_0x4fd270(_0x2c9ec9),_0x39b5ca();}else _0x70961f(_0x368e5a['visitNode'](_0x146f6e,_0x12a2b7,_0x368e5a['isStatement']));}(_0x1adc17);case 0xe4:return function(_0x146f6e){var _0x2327c6=_0x543773(_0x146f6e[_0x1a4e('0x1bc')]?_0x368e5a['idText'](_0x146f6e['label']):void 0x0);_0x2327c6>0x0?_0x4fd270(_0x2327c6,_0x146f6e):_0x70961f(_0x146f6e);}(_0x1adc17);case 0xe5:return function(_0x146f6e){var _0x2327c6=_0x336912(_0x146f6e[_0x1a4e('0x1bc')]?_0x368e5a[_0x1a4e('0x2353')](_0x146f6e[_0x1a4e('0x1bc')]):void 0x0);_0x2327c6>0x0?_0x4fd270(_0x2327c6,_0x146f6e):_0x70961f(_0x146f6e);}(_0x1adc17);case 0xe6:return function(_0x146f6e){!function(_0x368e5a,_0x146f6e){_0xfa58f2(0x8,[_0x368e5a],_0x146f6e);}(_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x146f6e);}(_0x1adc17);case 0xe7:return function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17;_0x26fefc(_0x146f6e)?(_0x2327c6=_0x834a12(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0x55ff7e=_0x17361a(),_0x1adc17=_0x17361a(),_0x2d871b(_0x55ff7e),_0x463d46({'kind':0x1,'expression':_0x2327c6,'startLabel':_0x55ff7e,'endLabel':_0x1adc17}),_0x69ac46(_0x146f6e['statement']),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x1===_0x559e7e()),_0x2d871b(_0x4efdde()[_0x1a4e('0x2e97')])):_0x70961f(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));}(_0x1adc17);case 0xe8:return function(_0x146f6e){if(_0x26fefc(_0x146f6e[_0x1a4e('0x2608')])){for(var _0x2327c6=_0x146f6e[_0x1a4e('0x2608')],_0x55ff7e=_0x2327c6['clauses'][_0x1a4e('0x1e')],_0x1adc17=(_0x463d46({'kind':0x2,'isScript':!0x1,'breakLabel':_0x360753=_0x17361a()}),_0x360753),_0xf79407=_0x834a12(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')])),_0x2c9ec9=[],_0x420b32=-0x1,_0x1b06ad=0x0;_0x1b06ad<_0x55ff7e;_0x1b06ad++){var _0x326eae=_0x2327c6[_0x1a4e('0x2609')][_0x1b06ad];_0x2c9ec9[_0x1a4e('0x46')](_0x17361a()),0x110===_0x326eae['kind']&&-0x1===_0x420b32&&(_0x420b32=_0x1b06ad);}for(var _0x56674b=0x0,_0xb57a1a=[];_0x56674b<_0x55ff7e;){for(var _0x11617b=0x0,_0x1b06ad=_0x56674b;_0x1b06ad<_0x55ff7e;_0x1b06ad++){var _0x326eae=_0x2327c6[_0x1a4e('0x2609')][_0x1b06ad];if(0x10f===_0x326eae[_0x1a4e('0x146b')]){if(_0x26fefc(_0x326eae[_0x1a4e('0x2302')])&&_0xb57a1a[_0x1a4e('0x1e')]>0x0)break;_0xb57a1a[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ce3')](_0x368e5a[_0x1a4e('0x2d76')](_0x326eae[_0x1a4e('0x2302')],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),[_0x5dab3c(_0x2c9ec9[_0x1b06ad],_0x326eae['expression'])]));}else _0x11617b++;}_0xb57a1a[_0x1a4e('0x1e')]&&(_0x70961f(_0x368e5a['createSwitch'](_0xf79407,_0x368e5a[_0x1a4e('0x2cba')](_0xb57a1a))),_0x56674b+=_0xb57a1a[_0x1a4e('0x1e')],_0xb57a1a=[]),_0x11617b>0x0&&(_0x56674b+=_0x11617b,_0x11617b=0x0);}_0x4fd270(_0x420b32>=0x0?_0x2c9ec9[_0x420b32]:_0x1adc17);for(var _0x1b06ad=0x0;_0x1b06ad<_0x55ff7e;_0x1b06ad++)_0x2d871b(_0x2c9ec9[_0x1b06ad]),_0x35747e(_0x2327c6['clauses'][_0x1b06ad][_0x1a4e('0x2366')]);_0x3bc0dd();}else _0x70961f(_0x368e5a['visitNode'](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));var _0x360753;}(_0x1adc17);case 0xe9:return function(_0x146f6e){var _0x2327c6,_0x55ff7e;_0x26fefc(_0x146f6e)?(_0x2327c6=_0x368e5a[_0x1a4e('0x2353')](_0x146f6e['label']),_0x55ff7e=_0x17361a(),_0x463d46({'kind':0x4,'isScript':!0x1,'labelText':_0x2327c6,'breakLabel':_0x55ff7e}),_0x69ac46(_0x146f6e[_0x1a4e('0x2390')]),_0x38a0c2()):_0x70961f(_0x368e5a['visitNode'](_0x146f6e,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));}(_0x1adc17);case 0xea:return function(_0x146f6e){!function(_0x368e5a,_0x146f6e){_0xfa58f2(0x9,[_0x368e5a],_0x146f6e);}(_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['expression'],_0x12a2b7,_0x368e5a[_0x1a4e('0x24a8')]),_0x146f6e);}(_0x1adc17);case 0xeb:return function(_0x1adc17){var _0xf79407,_0x2c9ec9;_0x26fefc(_0x1adc17)?(_0xf79407=_0x17361a(),_0x2c9ec9=_0x17361a(),_0x2d871b(_0xf79407),_0x463d46({'kind':0x0,'state':0x0,'startLabel':_0xf79407,'endLabel':_0x2c9ec9}),_0x2d4503(),_0x69ac46(_0x1adc17['tryBlock']),_0x1adc17[_0x1a4e('0x260a')]&&(function(_0x1adc17){var _0xf79407;if(_0x368e5a['Debug'][_0x1a4e('0xba0')](0x0===_0x559e7e()),_0x368e5a['isGeneratedIdentifier'](_0x1adc17[_0x1a4e('0x2cb')]))_0xf79407=_0x1adc17[_0x1a4e('0x2cb')],_0x16beba(_0x1adc17['name']);else{var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2353')](_0x1adc17['name']);_0xf79407=_0x2aeded(_0x2c9ec9),_0x2327c6||(_0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x55ff7e=[],_0x146f6e[_0x1a4e('0x2df4')](0x48)),_0x2327c6['set'](_0x2c9ec9,!0x0),_0x55ff7e[_0x368e5a[_0x1a4e('0x2dc2')](_0x1adc17)]=_0xf79407;}var _0x420b32=_0x4dcac6();_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x420b32[_0x1a4e('0xa46')]<0x1),_0x4fd270(_0x420b32['endLabel']);var _0x1b06ad=_0x17361a();_0x2d871b(_0x1b06ad),_0x420b32[_0x1a4e('0xa46')]=0x1,_0x420b32['catchVariable']=_0xf79407,_0x420b32['catchLabel']=_0x1b06ad,_0x817b0c(_0xf79407,_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2894')](_0x147adf,'sent'),void 0x0,[])),_0x2d4503();}(_0x1adc17[_0x1a4e('0x260a')][_0x1a4e('0x260b')]),_0x69ac46(_0x1adc17[_0x1a4e('0x260a')][_0x1a4e('0x260c')])),_0x1adc17[_0x1a4e('0x267a')]&&(function(){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0===_0x559e7e());var _0x146f6e=_0x4dcac6();_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0xa46')]<0x2),_0x4fd270(_0x146f6e[_0x1a4e('0x2e97')]);var _0x2327c6=_0x17361a();_0x2d871b(_0x2327c6),_0x146f6e['state']=0x2,_0x146f6e[_0x1a4e('0x2e98')]=_0x2327c6;}(),_0x69ac46(_0x1adc17[_0x1a4e('0x267a')])),function(){_0x368e5a[_0x1a4e('0x1749')]['assert'](0x0===_0x559e7e());var _0x146f6e=_0x4efdde();_0x146f6e[_0x1a4e('0xa46')]<0x2?_0x4fd270(_0x146f6e[_0x1a4e('0x2e97')]):_0xfa58f2(0xa),_0x2d871b(_0x146f6e[_0x1a4e('0x2e97')]),_0x2d4503(),_0x146f6e['state']=0x3;}()):_0x70961f(_0x368e5a[_0x1a4e('0x28cd')](_0x1adc17,_0x12a2b7,_0x146f6e));}(_0x1adc17);default:_0x70961f(_0x368e5a[_0x1a4e('0x2d76')](_0x1adc17,_0x12a2b7,_0x368e5a[_0x1a4e('0x2569')]));}}(_0x1adc17),_0xf79407=_0x2c9ec9;}function _0x237414(_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e['declarations'];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6],_0xf79407=_0x368e5a[_0x1a4e('0x28ca')](_0x1adc17['name']);_0x368e5a[_0x1a4e('0x28c2')](_0xf79407,_0x1adc17[_0x1a4e('0x2cb')]),_0x16beba(_0xf79407);}for(var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2489')](_0x146f6e),_0x420b32=_0x2c9ec9[_0x1a4e('0x1e')],_0x1b06ad=0x0,_0x326eae=[];_0x1b06ad<_0x420b32;){for(var _0x56674b=_0x1b06ad;_0x56674b<_0x420b32&&!(_0x26fefc((_0x1adc17=_0x2c9ec9[_0x56674b])[_0x1a4e('0x236a')])&&_0x326eae[_0x1a4e('0x1e')]>0x0);_0x56674b++)_0x326eae['push'](_0x3cdef0(_0x1adc17));_0x326eae[_0x1a4e('0x1e')]&&(_0x70961f(_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d45')](_0x326eae))),_0x1b06ad+=_0x326eae[_0x1a4e('0x1e')],_0x326eae=[]);}}function _0x3cdef0(_0x146f6e){return _0x368e5a['setSourceMapRange'](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2d14')](_0x368e5a['getSynthesizedClone'](_0x146f6e[_0x1a4e('0x2cb')]),_0x146f6e[_0x1a4e('0x2cb')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236a')],_0x12a2b7,_0x368e5a['isExpression'])),_0x146f6e);}function _0x26fefc(_0x368e5a){return!!_0x368e5a&&0x0!=(0x400000&_0x368e5a['transformFlags']);}function _0x1c794b(_0x368e5a){for(var _0x146f6e=_0x368e5a[_0x1a4e('0x1e')],_0x2327c6=0x0;_0x2327c6<_0x146f6e;_0x2327c6++)if(_0x26fefc(_0x368e5a[_0x2327c6]))return _0x2327c6;return-0x1;}function _0x834a12(_0x146f6e){var _0x2327c6;return _0x368e5a['isGeneratedIdentifier'](_0x146f6e)||0x1000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)?_0x146f6e:(_0x817b0c(_0x2327c6=_0x368e5a[_0x1a4e('0x2c27')](_0x16beba),_0x146f6e,_0x146f6e),_0x2327c6);}function _0x2aeded(_0x146f6e){var _0x2327c6=_0x146f6e?_0x368e5a[_0x1a4e('0x2c29')](_0x146f6e):_0x368e5a[_0x1a4e('0x2c27')](void 0x0);return _0x16beba(_0x2327c6),_0x2327c6;}function _0x17361a(){_0xb57a1a||(_0xb57a1a=[]);var _0x368e5a=_0x177fb3;return _0x177fb3++,_0xb57a1a[_0x368e5a]=-0x1,_0x368e5a;}function _0x2d871b(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0!==_0xb57a1a,_0x1a4e('0x2e99')),_0xb57a1a[_0x146f6e]=_0x2c5932?_0x2c5932[_0x1a4e('0x1e')]:0x0;}function _0x463d46(_0x368e5a){_0x420b32||(_0x420b32=[],_0x326eae=[],_0x1b06ad=[],_0x56674b=[]);var _0x146f6e=_0x326eae[_0x1a4e('0x1e')];return _0x326eae[_0x146f6e]=0x0,_0x1b06ad[_0x146f6e]=_0x2c5932?_0x2c5932[_0x1a4e('0x1e')]:0x0,_0x420b32[_0x146f6e]=_0x368e5a,_0x56674b['push'](_0x368e5a),_0x146f6e;}function _0x4efdde(){var _0x146f6e=_0x4dcac6();if(void 0x0===_0x146f6e)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2e9a'));var _0x2327c6=_0x326eae['length'];return _0x326eae[_0x2327c6]=0x1,_0x1b06ad[_0x2327c6]=_0x2c5932?_0x2c5932[_0x1a4e('0x1e')]:0x0,_0x420b32[_0x2327c6]=_0x146f6e,_0x56674b[_0x1a4e('0x76')](),_0x146f6e;}function _0x4dcac6(){return _0x368e5a['lastOrUndefined'](_0x56674b);}function _0x559e7e(){var _0x368e5a=_0x4dcac6();return _0x368e5a&&_0x368e5a[_0x1a4e('0x146b')];}function _0x4bb45d(){_0x463d46({'kind':0x3,'isScript':!0x0,'breakLabel':-0x1,'continueLabel':-0x1});}function _0x4c34de(_0x368e5a){var _0x146f6e=_0x17361a();return _0x463d46({'kind':0x3,'isScript':!0x1,'breakLabel':_0x146f6e,'continueLabel':_0x368e5a}),_0x146f6e;}function _0x39b5ca(){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x3===_0x559e7e());var _0x146f6e=_0x4efdde(),_0x2327c6=_0x146f6e['breakLabel'];_0x146f6e['isScript']||_0x2d871b(_0x2327c6);}function _0x3bc0dd(){_0x368e5a['Debug'][_0x1a4e('0xba0')](0x2===_0x559e7e());var _0x146f6e=_0x4efdde(),_0x2327c6=_0x146f6e[_0x1a4e('0x2e9b')];_0x146f6e[_0x1a4e('0x2e9c')]||_0x2d871b(_0x2327c6);}function _0x38a0c2(){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x4===_0x559e7e());var _0x146f6e=_0x4efdde();_0x146f6e[_0x1a4e('0x2e9c')]||_0x2d871b(_0x146f6e[_0x1a4e('0x2e9b')]);}function _0x629046(_0x368e5a){return 0x2===_0x368e5a[_0x1a4e('0x146b')]||0x3===_0x368e5a[_0x1a4e('0x146b')];}function _0x5319b6(_0x368e5a){return 0x4===_0x368e5a[_0x1a4e('0x146b')];}function _0x387f1c(_0x368e5a){return 0x3===_0x368e5a[_0x1a4e('0x146b')];}function _0x501401(_0x368e5a,_0x146f6e){for(var _0x2327c6=_0x146f6e;_0x2327c6>=0x0;_0x2327c6--){var _0x55ff7e=_0x56674b[_0x2327c6];if(!_0x5319b6(_0x55ff7e))break;if(_0x55ff7e['labelText']===_0x368e5a)return!0x0;}return!0x1;}function _0x336912(_0x368e5a){if(_0x56674b)if(_0x368e5a)for(var _0x146f6e=_0x56674b[_0x1a4e('0x1e')]-0x1;_0x146f6e>=0x0;_0x146f6e--){if(_0x5319b6(_0x2327c6=_0x56674b[_0x146f6e])&&_0x2327c6['labelText']===_0x368e5a)return _0x2327c6[_0x1a4e('0x2e9b')];if(_0x629046(_0x2327c6)&&_0x501401(_0x368e5a,_0x146f6e-0x1))return _0x2327c6['breakLabel'];}else for(_0x146f6e=_0x56674b['length']-0x1;_0x146f6e>=0x0;_0x146f6e--){var _0x2327c6;if(_0x629046(_0x2327c6=_0x56674b[_0x146f6e]))return _0x2327c6[_0x1a4e('0x2e9b')];}return 0x0;}function _0x543773(_0x368e5a){if(_0x56674b)if(_0x368e5a){for(var _0x146f6e=_0x56674b[_0x1a4e('0x1e')]-0x1;_0x146f6e>=0x0;_0x146f6e--)if(_0x387f1c(_0x2327c6=_0x56674b[_0x146f6e])&&_0x501401(_0x368e5a,_0x146f6e-0x1))return _0x2327c6[_0x1a4e('0x2e9d')];}else for(_0x146f6e=_0x56674b[_0x1a4e('0x1e')]-0x1;_0x146f6e>=0x0;_0x146f6e--){var _0x2327c6;if(_0x387f1c(_0x2327c6=_0x56674b[_0x146f6e]))return _0x2327c6[_0x1a4e('0x2e9d')];}return 0x0;}function _0x2decbc(_0x146f6e){if(void 0x0!==_0x146f6e&&_0x146f6e>0x0){void 0x0===_0x11617b&&(_0x11617b=[]);var _0x2327c6=_0x368e5a[_0x1a4e('0x2896')](-0x1);return void 0x0===_0x11617b[_0x146f6e]?_0x11617b[_0x146f6e]=[_0x2327c6]:_0x11617b[_0x146f6e]['push'](_0x2327c6),_0x2327c6;}return _0x368e5a[_0x1a4e('0x2c89')]();}function _0xeca8af(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2896')](_0x146f6e);return _0x368e5a[_0x1a4e('0x2d1d')](_0x2327c6,0x3,function(_0x368e5a){switch(_0x368e5a){case 0x2:return'return';case 0x3:return _0x1a4e('0x137d');case 0x4:return _0x1a4e('0x22b2');case 0x5:return _0x1a4e('0x2e9e');case 0x7:return _0x1a4e('0x2e9f');default:return;}}(_0x146f6e)),_0x2327c6;}function _0x5dab3c(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x173f')](0x0,_0x146f6e,'Invalid\x20label'),_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2c60')]([_0xeca8af(0x3),_0x2decbc(_0x146f6e)])),_0x2327c6);}function _0x2d4503(){_0xfa58f2(0x0);}function _0x70961f(_0x368e5a){_0x368e5a?_0xfa58f2(0x1,[_0x368e5a]):_0x2d4503();}function _0x817b0c(_0x368e5a,_0x146f6e,_0x2327c6){_0xfa58f2(0x2,[_0x368e5a,_0x146f6e],_0x2327c6);}function _0x4fd270(_0x368e5a,_0x146f6e){_0xfa58f2(0x3,[_0x368e5a],_0x146f6e);}function _0x2836d6(_0x368e5a,_0x146f6e,_0x2327c6){_0xfa58f2(0x4,[_0x368e5a,_0x146f6e],_0x2327c6);}function _0x19db31(_0x368e5a,_0x146f6e,_0x2327c6){_0xfa58f2(0x5,[_0x368e5a,_0x146f6e],_0x2327c6);}function _0xfa58f2(_0x368e5a,_0x146f6e,_0x2327c6){void 0x0===_0x2c5932&&(_0x2c5932=[],_0x342801=[],_0x5cb356=[]),void 0x0===_0xb57a1a&&_0x2d871b(_0x17361a());var _0x55ff7e=_0x2c5932['length'];_0x2c5932[_0x55ff7e]=_0x368e5a,_0x342801[_0x55ff7e]=_0x146f6e,_0x5cb356[_0x55ff7e]=_0x2327c6;}function _0x4d96fd(){_0x3035ab=0x0,_0x24aa28=0x0,_0x453846=void 0x0,_0x1acca6=!0x1,_0x5d7c59=!0x1,_0x57a69c=void 0x0,_0x22a32c=void 0x0,_0x2a72ad=void 0x0,_0x3c5c61=void 0x0,_0x4cadb2=void 0x0;var _0x2327c6=function(){if(_0x2c5932){for(var _0x146f6e=0x0;_0x146f6e<_0x2c5932[_0x1a4e('0x1e')];_0x146f6e++)_0x1e7647(_0x146f6e);_0x539d84(_0x2c5932[_0x1a4e('0x1e')]);}else _0x539d84(0x0);if(_0x57a69c){var _0x2327c6=_0x368e5a[_0x1a4e('0x2894')](_0x147adf,_0x1a4e('0x1bc')),_0x55ff7e=_0x368e5a[_0x1a4e('0x2ca5')](_0x2327c6,_0x368e5a[_0x1a4e('0x2cba')](_0x57a69c));return[_0x368e5a['startOnNewLine'](_0x55ff7e)];}return _0x22a32c||[];}();return function(_0x146f6e,_0x2327c6){return _0x146f6e['requestEmitHelper'](_0x2c9ec9),_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2ddf')](_0x1a4e('0x165c')),void 0x0,[_0x368e5a[_0x1a4e('0x2c2c')](),_0x2327c6]);}(_0x146f6e,_0x368e5a[_0x1a4e('0x2892')](_0x368e5a['createFunctionExpression'](void 0x0,void 0x0,void 0x0,void 0x0,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x147adf)],void 0x0,_0x368e5a['createBlock'](_0x2327c6,_0x2327c6[_0x1a4e('0x1e')]>0x0)),0x80000));}function _0x539d84(_0x368e5a){(function(_0x368e5a){if(!_0x5d7c59)return!0x0;if(!_0xb57a1a||!_0x11617b)return!0x1;for(var _0x146f6e=0x0;_0x146f6e<_0xb57a1a[_0x1a4e('0x1e')];_0x146f6e++)if(_0xb57a1a[_0x146f6e]===_0x368e5a&&_0x11617b[_0x146f6e])return!0x0;return!0x1;}(_0x368e5a)&&(_0x5a3572(_0x368e5a),_0x4cadb2=void 0x0,_0x2f9d55(void 0x0,void 0x0)),_0x22a32c&&_0x57a69c&&_0x540a9a(!0x1),function(){if(void 0x0!==_0x11617b&&void 0x0!==_0x453846)for(var _0x368e5a=0x0;_0x368e5a<_0x453846[_0x1a4e('0x1e')];_0x368e5a++){var _0x146f6e=_0x453846[_0x368e5a];if(void 0x0!==_0x146f6e)for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6],_0xf79407=_0x11617b[_0x1adc17];if(void 0x0!==_0xf79407)for(var _0x2c9ec9=0x0,_0x420b32=_0xf79407;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1b06ad[_0x1a4e('0xe04')]=String(_0x368e5a);}}}}());}function _0x540a9a(_0x146f6e){if(_0x57a69c||(_0x57a69c=[]),_0x22a32c){if(_0x4cadb2)for(var _0x2327c6=_0x4cadb2[_0x1a4e('0x1e')]-0x1;_0x2327c6>=0x0;_0x2327c6--){var _0x55ff7e=_0x4cadb2[_0x2327c6];_0x22a32c=[_0x368e5a[_0x1a4e('0x2ca4')](_0x55ff7e[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x2c91')](_0x22a32c))];}if(_0x3c5c61){var _0x1adc17=_0x3c5c61[_0x1a4e('0x2ea0')],_0xf79407=_0x3c5c61['catchLabel'],_0x2c9ec9=_0x3c5c61[_0x1a4e('0x2e98')],_0x420b32=_0x3c5c61['endLabel'];_0x22a32c[_0x1a4e('0x66')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2894')](_0x147adf,_0x1a4e('0x1669')),_0x1a4e('0x46')),void 0x0,[_0x368e5a['createArrayLiteral']([_0x2decbc(_0x1adc17),_0x2decbc(_0xf79407),_0x2decbc(_0x2c9ec9),_0x2decbc(_0x420b32)])]))),_0x3c5c61=void 0x0;}_0x146f6e&&_0x22a32c['push'](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a['createPropertyAccess'](_0x147adf,_0x1a4e('0x1bc')),_0x368e5a[_0x1a4e('0x2896')](_0x24aa28+0x1))));}_0x57a69c[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ce3')](_0x368e5a['createLiteral'](_0x24aa28),_0x22a32c||[])),_0x22a32c=void 0x0;}function _0x5a3572(_0x368e5a){if(_0xb57a1a)for(var _0x146f6e=0x0;_0x146f6e<_0xb57a1a[_0x1a4e('0x1e')];_0x146f6e++)_0xb57a1a[_0x146f6e]===_0x368e5a&&(_0x22a32c&&(_0x540a9a(!_0x1acca6),_0x1acca6=!0x1,_0x5d7c59=!0x1,_0x24aa28++),void 0x0===_0x453846&&(_0x453846=[]),void 0x0===_0x453846[_0x24aa28]?_0x453846[_0x24aa28]=[_0x146f6e]:_0x453846[_0x24aa28]['push'](_0x146f6e));}function _0x1e7647(_0x146f6e){if(_0x5a3572(_0x146f6e),function(_0x368e5a){if(_0x420b32)for(;_0x3035ab<_0x326eae[_0x1a4e('0x1e')]&&_0x1b06ad[_0x3035ab]<=_0x368e5a;_0x3035ab++){var _0x146f6e=_0x420b32[_0x3035ab],_0x2327c6=_0x326eae[_0x3035ab];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x0:0x0===_0x2327c6?(_0x2a72ad||(_0x2a72ad=[]),_0x22a32c||(_0x22a32c=[]),_0x2a72ad['push'](_0x3c5c61),_0x3c5c61=_0x146f6e):0x1===_0x2327c6&&(_0x3c5c61=_0x2a72ad['pop']());break;case 0x1:0x0===_0x2327c6?(_0x4cadb2||(_0x4cadb2=[]),_0x4cadb2[_0x1a4e('0x46')](_0x146f6e)):0x1===_0x2327c6&&_0x4cadb2['pop']();}}}(_0x146f6e),!_0x1acca6){_0x1acca6=!0x1,_0x5d7c59=!0x1;var _0x2327c6=_0x2c5932[_0x146f6e];if(0x0!==_0x2327c6){if(0xa===_0x2327c6)return _0x1acca6=!0x0,void _0x57f7e2(_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2c60')]([_0xeca8af(0x7)])));var _0x55ff7e=_0x342801[_0x146f6e];if(0x1===_0x2327c6)return _0x57f7e2(_0x55ff7e[0x0]);var _0x1adc17,_0xf79407,_0x2c9ec9,_0x56674b=_0x5cb356[_0x146f6e];switch(_0x2327c6){case 0x2:return _0x1adc17=_0x55ff7e[0x0],_0xf79407=_0x55ff7e[0x1],_0x2c9ec9=_0x56674b,void _0x57f7e2(_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x1adc17,_0xf79407)),_0x2c9ec9));case 0x3:return function(_0x146f6e,_0x2327c6){_0x1acca6=!0x0,_0x57f7e2(_0x368e5a[_0x1a4e('0x2892')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2c60')]([_0xeca8af(0x3),_0x2decbc(_0x146f6e)])),_0x2327c6),0x180));}(_0x55ff7e[0x0],_0x56674b);case 0x4:return function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x57f7e2(_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2e20')](_0x2327c6,_0x368e5a['setEmitFlags'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2c60')]([_0xeca8af(0x3),_0x2decbc(_0x146f6e)])),_0x55ff7e),0x180)),0x1));}(_0x55ff7e[0x0],_0x55ff7e[0x1],_0x56674b);case 0x5:return function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x57f7e2(_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2e20')](_0x368e5a[_0x1a4e('0x2d0e')](_0x2327c6),_0x368e5a['setEmitFlags'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2c60')]([_0xeca8af(0x3),_0x2decbc(_0x146f6e)])),_0x55ff7e),0x180)),0x1));}(_0x55ff7e[0x0],_0x55ff7e[0x1],_0x56674b);case 0x6:return function(_0x146f6e,_0x2327c6){_0x1acca6=!0x0,_0x57f7e2(_0x368e5a[_0x1a4e('0x2892')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2c60')](_0x146f6e?[_0xeca8af(0x4),_0x146f6e]:[_0xeca8af(0x4)])),_0x2327c6),0x180));}(_0x55ff7e[0x0],_0x56674b);case 0x7:return function(_0x146f6e,_0x2327c6){_0x1acca6=!0x0,_0x57f7e2(_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createReturn'](_0x368e5a[_0x1a4e('0x2c60')]([_0xeca8af(0x5),_0x146f6e])),_0x2327c6),0x180));}(_0x55ff7e[0x0],_0x56674b);case 0x8:return _0x2f9d55(_0x55ff7e[0x0],_0x56674b);case 0x9:return function(_0x146f6e,_0x2327c6){_0x1acca6=!0x0,_0x5d7c59=!0x0,_0x57f7e2(_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2ca9')](_0x146f6e),_0x2327c6));}(_0x55ff7e[0x0],_0x56674b);}}}}function _0x57f7e2(_0x368e5a){_0x368e5a&&(_0x22a32c?_0x22a32c[_0x1a4e('0x46')](_0x368e5a):_0x22a32c=[_0x368e5a]);}function _0x2f9d55(_0x146f6e,_0x2327c6){_0x1acca6=!0x0,_0x5d7c59=!0x0,_0x57f7e2(_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2c60')](_0x146f6e?[_0xeca8af(0x2),_0x146f6e]:[_0xeca8af(0x2)])),_0x2327c6),0x180));}};var _0x2c9ec9={'name':'typescript:generator','scoped':!0x1,'priority':0x6,'text':_0x1a4e('0x2ea1')};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x2ea2')]=function(_0xf79407){var _0x2c9ec9=_0xf79407[_0x1a4e('0x2d70')],_0x420b32=_0xf79407[_0x1a4e('0x2d72')],_0x1b06ad=_0xf79407[_0x1a4e('0x2dd2')],_0x326eae=_0xf79407[_0x1a4e('0x23f1')](),_0x56674b=_0xf79407['getEmitResolver'](),_0x11b4fb=_0xf79407[_0x1a4e('0x2ea3')](),_0x4ca015=_0x368e5a['getEmitScriptTarget'](_0x326eae),_0x288ca5=_0x368e5a[_0x1a4e('0x2348')](_0x326eae),_0x301efa=_0xf79407['onSubstituteNode'],_0x17c637=_0xf79407[_0x1a4e('0x2df1')];_0xf79407[_0x1a4e('0x2df2')]=function(_0x146f6e,_0x2327c6){return(_0x2327c6=_0x301efa(_0x146f6e,_0x2327c6))['id']&&_0xf27e8d[_0x2327c6['id']]?_0x2327c6:0x1===_0x146f6e?function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x58e1d4(_0x146f6e);case 0xcc:return function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2460')](_0x146f6e['operatorToken'][_0x1a4e('0x146b')])&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['left'])&&!_0x368e5a['isGeneratedIdentifier'](_0x146f6e[_0x1a4e('0x5f')])&&!_0x368e5a[_0x1a4e('0x2e0a')](_0x146f6e[_0x1a4e('0x5f')])&&!_0x368e5a[_0x1a4e('0x2488')](_0x146f6e[_0x1a4e('0x5f')])){var _0x2327c6=_0x2bcc5c(_0x146f6e[_0x1a4e('0x5f')]);if(_0x2327c6){for(var _0x55ff7e=_0x146f6e,_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0xf27e8d[_0x368e5a[_0x1a4e('0x25ec')](_0x55ff7e)]=!0x0,_0x55ff7e=_0x15aac6(_0x2c9ec9,_0x55ff7e,_0x146f6e);}return _0x55ff7e;}}return _0x146f6e;}(_0x146f6e);case 0xcb:case 0xca:return function(_0x146f6e){if((0x2c===_0x146f6e[_0x1a4e('0x1474')]||0x2d===_0x146f6e[_0x1a4e('0x1474')])&&_0x368e5a['isIdentifier'](_0x146f6e[_0x1a4e('0x1784')])&&!_0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e['operand'])&&!_0x368e5a[_0x1a4e('0x2e0a')](_0x146f6e['operand'])&&!_0x368e5a['isDeclarationNameOfEnumOrNamespace'](_0x146f6e[_0x1a4e('0x1784')])){var _0x2327c6=_0x2bcc5c(_0x146f6e[_0x1a4e('0x1784')]);if(_0x2327c6){for(var _0x55ff7e=0xcb===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2e63')](_0x146f6e[_0x1a4e('0x1784')],_0x368e5a['createToken'](0x2c===_0x146f6e[_0x1a4e('0x1474')]?0x3c:0x3d),_0x368e5a[_0x1a4e('0x2896')](0x1)),_0x146f6e):_0x146f6e,_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0xf27e8d[_0x368e5a[_0x1a4e('0x25ec')](_0x55ff7e)]=!0x0,_0x55ff7e=_0x15aac6(_0x2c9ec9,_0x55ff7e);}return _0x55ff7e;}}return _0x146f6e;}(_0x146f6e);}return _0x146f6e;}(_0x2327c6):_0x368e5a[_0x1a4e('0x29a4')](_0x2327c6)?function(_0x146f6e){var _0x2327c6=_0x146f6e['name'],_0x55ff7e=_0x58e1d4(_0x2327c6);if(_0x55ff7e!==_0x2327c6){if(_0x146f6e['objectAssignmentInitializer']){var _0x1adc17=_0x368e5a[_0x1a4e('0x2d07')](_0x55ff7e,_0x146f6e[_0x1a4e('0x2471')]);return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d3d')](_0x2327c6,_0x1adc17),_0x146f6e);}return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createPropertyAssignment'](_0x2327c6,_0x55ff7e),_0x146f6e);}return _0x146f6e;}(_0x2327c6):_0x2327c6;},_0xf79407[_0x1a4e('0x2df1')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){0x117===_0x2327c6['kind']?(_0x5826d1=_0x2327c6,_0x445d01=_0x324ff2[_0x368e5a[_0x1a4e('0x2dc2')](_0x5826d1)],_0xf27e8d=[],_0x17c637(_0x146f6e,_0x2327c6,_0x55ff7e),_0x5826d1=void 0x0,_0x445d01=void 0x0,_0xf27e8d=void 0x0):_0x17c637(_0x146f6e,_0x2327c6,_0x55ff7e);},_0xf79407[_0x1a4e('0x2df4')](0x48),_0xf79407[_0x1a4e('0x2df4')](0xcc),_0xf79407[_0x1a4e('0x2df4')](0xca),_0xf79407[_0x1a4e('0x2df4')](0xcb),_0xf79407[_0x1a4e('0x2df4')](0x114),_0xf79407[_0x1a4e('0x2e13')](0x117);var _0x5826d1,_0x445d01,_0xf27e8d,_0x554ddf,_0x324ff2=[],_0x1e5f38=[];return _0x368e5a[_0x1a4e('0x2dc3')](function(_0x146f6e){if(_0x146f6e[_0x1a4e('0x2423')]||!(_0x368e5a[_0x1a4e('0x2346')](_0x146f6e,_0x326eae)||0x1000000&_0x146f6e[_0x1a4e('0x257c')]||_0x368e5a[_0x1a4e('0x2875')](_0x146f6e)&&_0x368e5a['hasJsonModuleEmitEnabled'](_0x326eae)&&(_0x326eae['out']||_0x326eae['outFile'])))return _0x146f6e;_0x5826d1=_0x146f6e,_0x445d01=_0x368e5a['collectExternalModuleInfo'](_0x146f6e,_0x56674b,_0x326eae),_0x324ff2[_0x368e5a['getOriginalNodeId'](_0x146f6e)]=_0x445d01;var _0x2327c6=function(_0x146f6e){switch(_0x146f6e){case _0x368e5a[_0x1a4e('0x1a35')]['AMD']:return _0x2332b7;case _0x368e5a[_0x1a4e('0x1a35')]['UMD']:return _0x2a85ca;default:return _0xb5fcfc;}}(_0x288ca5)(_0x146f6e);return _0x5826d1=void 0x0,_0x445d01=void 0x0,_0x554ddf=!0x1,_0x368e5a['aggregateTransformFlags'](_0x2327c6);});function _0x34d73a(){return!(_0x445d01[_0x1a4e('0x2ea4')]||!_0x368e5a['isExternalModule'](_0x5826d1));}function _0xb5fcfc(_0x2327c6){_0x2c9ec9();var _0x55ff7e=[],_0x1adc17=_0x368e5a['getStrictOptionValue'](_0x326eae,_0x1a4e('0x2839'))||!_0x326eae[_0x1a4e('0x2ea5')]&&_0x368e5a['isExternalModule'](_0x5826d1),_0x1b06ad=_0x368e5a[_0x1a4e('0x2dff')](_0x55ff7e,_0x2327c6[_0x1a4e('0x2366')],_0x1adc17,_0x3660f2);_0x34d73a()&&_0x368e5a['append'](_0x55ff7e,_0x54c2db()),_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x368e5a[_0x1a4e('0x2d76')](_0x445d01[_0x1a4e('0x2ea6')],_0x3660f2,_0x368e5a[_0x1a4e('0x2569')])),_0x368e5a[_0x1a4e('0x23d1')](_0x55ff7e,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x2366')],_0x3660f2,_0x368e5a[_0x1a4e('0x2569')],_0x1b06ad)),_0x8695cc(_0x55ff7e,!0x1),_0x368e5a[_0x1a4e('0x2329')](_0x55ff7e,_0x420b32());var _0x56674b=_0x368e5a['updateSourceFileNode'](_0x2327c6,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x55ff7e),_0x2327c6['statements']));return _0x445d01['hasExportStarsToExportValues']&&!_0x326eae[_0x1a4e('0x2742')]&&_0x368e5a[_0x1a4e('0x2d20')](_0x56674b,_0x146f6e),_0x368e5a[_0x1a4e('0x2d21')](_0x56674b,_0xf79407['readEmitHelpers']()),_0x56674b;}function _0x2332b7(_0x146f6e){var _0x2327c6=_0x368e5a['createIdentifier'](_0x1a4e('0x85d')),_0x55ff7e=_0x368e5a[_0x1a4e('0x2ea7')](_0x146f6e,_0x11b4fb,_0x326eae),_0x1adc17=_0x368e5a['isJsonSourceFile'](_0x146f6e)&&_0x146f6e,_0x2c9ec9=_0x1255a6(_0x146f6e,!0x0),_0x420b32=_0x2c9ec9[_0x1a4e('0x2ea8')],_0x1b06ad=_0x2c9ec9['unaliasedModuleNames'],_0x56674b=_0x2c9ec9['importAliasNames'],_0x4ca015=_0x368e5a[_0x1a4e('0x2cee')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')]([_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2c67')](_0x2327c6,void 0x0,(_0x55ff7e?[_0x55ff7e]:[])[_0x1a4e('0x9a')]([_0x368e5a[_0x1a4e('0x2c60')](_0x1adc17?_0x368e5a[_0x1a4e('0x1700')]:[_0x368e5a[_0x1a4e('0x2896')](_0x1a4e('0xfd8')),_0x368e5a['createLiteral'](_0x1a4e('0x0'))][_0x1a4e('0x9a')](_0x420b32,_0x1b06ad)),_0x1adc17?_0x1adc17[_0x1a4e('0x2366')][_0x1a4e('0x1e')]?_0x1adc17['statements'][0x0]['expression']:_0x368e5a[_0x1a4e('0x2c62')]():_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,'require'),_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,'exports')][_0x1a4e('0x9a')](_0x56674b),void 0x0,_0x3f8230(_0x146f6e))])))]),_0x146f6e[_0x1a4e('0x2366')]));return _0x368e5a[_0x1a4e('0x2d21')](_0x4ca015,_0xf79407[_0x1a4e('0x2e11')]()),_0x4ca015;}function _0x2a85ca(_0x146f6e){var _0x2327c6=_0x1255a6(_0x146f6e,!0x1),_0x55ff7e=_0x2327c6[_0x1a4e('0x2ea8')],_0x1adc17=_0x2327c6[_0x1a4e('0x2ea9')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x2eaa')],_0x420b32=_0x368e5a[_0x1a4e('0x2ea7')](_0x146f6e,_0x11b4fb,_0x326eae),_0x1b06ad=_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,'factory')],void 0x0,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2e20')](_0x368e5a[_0x1a4e('0x2d0c')](_0x368e5a[_0x1a4e('0x2d26')](_0x368e5a['createIdentifier']('module'),'object'),_0x368e5a[_0x1a4e('0x2d26')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xa6c')),_0x1a4e('0x0')),_0x1a4e('0x85'))),_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2c93')](void 0x0,[_0x368e5a[_0x1a4e('0x2cad')]('v',void 0x0,_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x294c')),void 0x0,[_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfd8')),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x0'))]))]),_0x368e5a['setEmitFlags'](_0x368e5a[_0x1a4e('0x2e20')](_0x368e5a[_0x1a4e('0x2d09')](_0x368e5a[_0x1a4e('0x2893')]('v'),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x3'))),_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['createAssignment'](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2893')]('module'),_0x1a4e('0x0')),_0x368e5a[_0x1a4e('0x2893')]('v')))),0x1)]),_0x368e5a[_0x1a4e('0x2e20')](_0x368e5a[_0x1a4e('0x2d0c')](_0x368e5a['createTypeCheck'](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x85d')),_0x1a4e('0x68')),_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x85d')),'amd')),_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x85d')),void 0x0,(_0x420b32?[_0x420b32]:[])[_0x1a4e('0x9a')]([_0x368e5a[_0x1a4e('0x2c60')]([_0x368e5a[_0x1a4e('0x2896')](_0x1a4e('0xfd8')),_0x368e5a[_0x1a4e('0x2896')](_0x1a4e('0x0'))][_0x1a4e('0x9a')](_0x55ff7e,_0x1adc17)),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x294c'))])))])))],!0x0),void 0x0)),_0x56674b=_0x368e5a[_0x1a4e('0x2cee')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')]([_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['createCall'](_0x1b06ad,void 0x0,[_0x368e5a['createFunctionExpression'](void 0x0,void 0x0,void 0x0,void 0x0,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x1a4e('0xfd8')),_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x1a4e('0x0'))][_0x1a4e('0x9a')](_0x2c9ec9),void 0x0,_0x3f8230(_0x146f6e))]))]),_0x146f6e[_0x1a4e('0x2366')]));return _0x368e5a['addEmitHelpers'](_0x56674b,_0xf79407['readEmitHelpers']()),_0x56674b;}function _0x1255a6(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=[],_0xf79407=[],_0x2c9ec9=0x0,_0x420b32=_0x146f6e[_0x1a4e('0x261a')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1b06ad['name']?(_0x55ff7e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2896')](_0x1b06ad[_0x1a4e('0x64')])),_0xf79407['push'](_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x1b06ad[_0x1a4e('0x2cb')]))):_0x1adc17[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2896')](_0x1b06ad[_0x1a4e('0x64')]));}for(var _0x4ca015=0x0,_0x288ca5=_0x445d01['externalImports'];_0x4ca015<_0x288ca5[_0x1a4e('0x1e')];_0x4ca015++){var _0x301efa=_0x288ca5[_0x4ca015],_0x17c637=_0x368e5a[_0x1a4e('0x2d65')](_0x301efa,_0x5826d1,_0x11b4fb,_0x56674b,_0x326eae),_0xf27e8d=_0x368e5a[_0x1a4e('0x2d64')](_0x301efa,_0x5826d1);_0x17c637&&(_0x2327c6&&_0xf27e8d?(_0x368e5a[_0x1a4e('0x2892')](_0xf27e8d,0x4),_0x55ff7e[_0x1a4e('0x46')](_0x17c637),_0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0xf27e8d))):_0x1adc17[_0x1a4e('0x46')](_0x17c637));}return{'aliasedModuleNames':_0x55ff7e,'unaliasedModuleNames':_0x1adc17,'importAliasNames':_0xf79407};}function _0x2cd5e2(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2bd3')](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x234e')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2d65')](_0x146f6e,_0x5826d1,_0x11b4fb,_0x56674b,_0x326eae)){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d64')](_0x146f6e,_0x5826d1),_0x55ff7e=_0x5be8d0(_0x146f6e,_0x2327c6);if(_0x55ff7e!==_0x2327c6)return _0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['createAssignment'](_0x2327c6,_0x55ff7e));}}function _0x3f8230(_0x55ff7e){_0x2c9ec9();var _0x1adc17=[],_0xf79407=_0x368e5a[_0x1a4e('0x2dff')](_0x1adc17,_0x55ff7e[_0x1a4e('0x2366')],!_0x326eae['noImplicitUseStrict'],_0x3660f2);_0x34d73a()&&_0x368e5a[_0x1a4e('0x252')](_0x1adc17,_0x54c2db()),_0x368e5a[_0x1a4e('0x252')](_0x1adc17,_0x368e5a[_0x1a4e('0x2d76')](_0x445d01[_0x1a4e('0x2ea6')],_0x3660f2,_0x368e5a[_0x1a4e('0x2569')])),_0x288ca5===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a31')]&&_0x368e5a['addRange'](_0x1adc17,_0x368e5a[_0x1a4e('0x1713')](_0x445d01['externalImports'],_0x2cd5e2)),_0x368e5a['addRange'](_0x1adc17,_0x368e5a[_0x1a4e('0x2d77')](_0x55ff7e['statements'],_0x3660f2,_0x368e5a[_0x1a4e('0x2569')],_0xf79407)),_0x8695cc(_0x1adc17,!0x0),_0x368e5a[_0x1a4e('0x2329')](_0x1adc17,_0x420b32());var _0x1b06ad=_0x368e5a['createBlock'](_0x1adc17,!0x0);return _0x445d01['hasExportStarsToExportValues']&&!_0x326eae['importHelpers']&&_0x368e5a[_0x1a4e('0x2d20')](_0x1b06ad,_0x146f6e),_0x554ddf&&_0x368e5a[_0x1a4e('0x2d20')](_0x1b06ad,_0x2327c6),_0x1b06ad;}function _0x8695cc(_0x146f6e,_0x2327c6){if(_0x445d01['exportEquals']){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2d76')](_0x445d01[_0x1a4e('0x2ea4')][_0x1a4e('0x2302')],_0x3b9283);if(_0x55ff7e)if(_0x2327c6){var _0x1adc17=_0x368e5a[_0x1a4e('0x2ca3')](_0x55ff7e);_0x368e5a['setTextRange'](_0x1adc17,_0x445d01[_0x1a4e('0x2ea4')]),_0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0x780),_0x146f6e[_0x1a4e('0x46')](_0x1adc17);}else _0x1adc17=_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xa6c')),_0x1a4e('0x0')),_0x55ff7e)),_0x368e5a[_0x1a4e('0x2d12')](_0x1adc17,_0x445d01[_0x1a4e('0x2ea4')]),_0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0x600),_0x146f6e[_0x1a4e('0x46')](_0x1adc17);}}function _0x3660f2(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf9:return function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x2982')](_0x146f6e);if(_0x288ca5!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a31')]){if(!_0x146f6e[_0x1a4e('0x23c6')])return _0x368e5a['setOriginalNode'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x2e58f8(_0x146f6e)),_0x146f6e),_0x146f6e);var _0x1adc17=[];_0x55ff7e&&!_0x368e5a[_0x1a4e('0x23c8')](_0x146f6e)?_0x1adc17[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x28ca')](_0x55ff7e[_0x1a4e('0x2cb')]),void 0x0,_0x5be8d0(_0x146f6e,_0x2e58f8(_0x146f6e)))):(_0x1adc17[_0x1a4e('0x46')](_0x368e5a['createVariableDeclaration'](_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e),void 0x0,_0x5be8d0(_0x146f6e,_0x2e58f8(_0x146f6e)))),_0x55ff7e&&_0x368e5a[_0x1a4e('0x23c8')](_0x146f6e)&&_0x1adc17[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x28ca')](_0x55ff7e['name']),void 0x0,_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e)))),_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')](_0x1adc17,_0x4ca015>=0x2?0x2:0x0)),_0x146f6e),_0x146f6e));}else _0x55ff7e&&_0x368e5a[_0x1a4e('0x23c8')](_0x146f6e)&&(_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x28ca')](_0x55ff7e[_0x1a4e('0x2cb')]),void 0x0,_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e)),_0x146f6e),_0x146f6e)],_0x4ca015>=0x2?0x2:0x0))));if(_0xcfe669(_0x146f6e)){var _0xf79407=_0x368e5a['getOriginalNodeId'](_0x146f6e);_0x1e5f38[_0xf79407]=_0x492a4b(_0x1e5f38[_0xf79407],_0x146f6e);}else _0x2327c6=_0x492a4b(_0x2327c6,_0x146f6e);return _0x368e5a[_0x1a4e('0x1723')](_0x2327c6);}(_0x146f6e);case 0xf8:return function(_0x146f6e){var _0x2327c6;if(_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x23a6')](_0x146f6e),_0x1a4e('0x2eab')),_0x288ca5!==_0x368e5a['ModuleKind'][_0x1a4e('0x1a31')]?_0x2327c6=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)?_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x15aac6(_0x146f6e['name'],_0x2e58f8(_0x146f6e))),_0x146f6e),_0x146f6e)):_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a['setOriginalNode'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a['createVariableDeclaration'](_0x368e5a[_0x1a4e('0x28ca')](_0x146f6e[_0x1a4e('0x2cb')]),void 0x0,_0x2e58f8(_0x146f6e))],_0x4ca015>=0x2?0x2:0x0)),_0x146f6e),_0x146f6e)):_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)&&(_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x15aac6(_0x368e5a[_0x1a4e('0x2d4e')](_0x146f6e),_0x368e5a[_0x1a4e('0x2dfa')](_0x146f6e))),_0x146f6e),_0x146f6e))),_0xcfe669(_0x146f6e)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0x1e5f38[_0x55ff7e]=_0x1b002c(_0x1e5f38[_0x55ff7e],_0x146f6e);}else _0x2327c6=_0x1b002c(_0x2327c6,_0x146f6e);return _0x368e5a[_0x1a4e('0x1723')](_0x2327c6);}(_0x146f6e);case 0xff:return function(_0x146f6e){if(_0x146f6e[_0x1a4e('0x23c5')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x28c8')](_0x146f6e);if(_0x146f6e['exportClause']){var _0x55ff7e=[];_0x288ca5!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a31')]&&_0x55ff7e['push'](_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x2327c6,void 0x0,_0x2e58f8(_0x146f6e))])),_0x146f6e),_0x146f6e));for(var _0x1adc17=0x0,_0x2c9ec9=_0x146f6e['exportClause'][_0x1a4e('0x2398')];_0x1adc17<_0x2c9ec9[_0x1a4e('0x1e')];_0x1adc17++){var _0x420b32=_0x2c9ec9[_0x1adc17],_0x1b06ad=_0x368e5a[_0x1a4e('0x2894')](_0x2327c6,_0x420b32[_0x1a4e('0x81a')]||_0x420b32[_0x1a4e('0x2cb')]);_0x55ff7e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x15aac6(_0x368e5a[_0x1a4e('0x2d4e')](_0x420b32),_0x1b06ad)),_0x420b32),_0x420b32));}return _0x368e5a[_0x1a4e('0x1723')](_0x55ff7e);}return _0x368e5a['setOriginalNode'](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createExpressionStatement'](function(_0x146f6e,_0x2327c6){return _0x146f6e[_0x1a4e('0x23f1')]()[_0x1a4e('0x2742')]?_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['getHelperName'](_0x1a4e('0x165d')),void 0x0,[_0x2327c6,_0x368e5a['createIdentifier'](_0x1a4e('0x0'))]):_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x19a8')),void 0x0,[_0x2327c6]);}(_0xf79407,_0x288ca5!==_0x368e5a['ModuleKind'][_0x1a4e('0x1a31')]?_0x2e58f8(_0x146f6e):_0x2327c6)),_0x146f6e),_0x146f6e);}}(_0x146f6e);case 0xfe:return function(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x267b')]){var _0x2327c6,_0x55ff7e=_0x146f6e[_0x1a4e('0x1604')];if(_0x55ff7e&&_0xcfe669(_0x55ff7e)){var _0x1adc17=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0x1e5f38[_0x1adc17]=_0x36ff67(_0x1e5f38[_0x1adc17],_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x8')),_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2302')],_0x3b9283),_0x146f6e,!0x0);}else _0x2327c6=_0x36ff67(_0x2327c6,_0x368e5a[_0x1a4e('0x2893')]('default'),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x3b9283),_0x146f6e,!0x0);return _0x368e5a[_0x1a4e('0x1723')](_0x2327c6);}}(_0x146f6e);case 0xdb:return function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17;if(_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)){for(var _0x2c9ec9=void 0x0,_0x420b32=0x0,_0x1b06ad=_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')];_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0x368e5a[_0x1a4e('0x2370')](_0x326eae[_0x1a4e('0x2cb')])&&_0x368e5a['isLocalName'](_0x326eae['name'])?(_0x2c9ec9||(_0x2c9ec9=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x242d')],_0x1e6d1e,_0x368e5a[_0x1a4e('0x2549')])),_0x55ff7e=_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x326eae)):_0x326eae[_0x1a4e('0x236a')]&&(_0x1adc17=_0x368e5a[_0x1a4e('0x252')](_0x1adc17,_0x2745d5(_0x326eae)));}_0x55ff7e&&(_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a['updateVariableStatement'](_0x146f6e,_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d42')](_0x146f6e[_0x1a4e('0x2377')],_0x55ff7e)))),_0x1adc17&&(_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createExpressionStatement'](_0x368e5a[_0x1a4e('0x2d45')](_0x1adc17)),_0x146f6e),_0x146f6e)));}else _0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x3b9283,_0xf79407));if(_0xcfe669(_0x146f6e)){var _0x56674b=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0x1e5f38[_0x56674b]=_0xb7692e(_0x1e5f38[_0x56674b],_0x146f6e);}else _0x2327c6=_0xb7692e(_0x2327c6,_0x146f6e);return _0x368e5a[_0x1a4e('0x1723')](_0x2327c6);}(_0x146f6e);case 0xef:return function(_0x146f6e){var _0x2327c6;if(_0x2327c6=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)?_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2cb0')](void 0x0,_0x368e5a['visitNodes'](_0x146f6e[_0x1a4e('0x242d')],_0x1e6d1e,_0x368e5a[_0x1a4e('0x2549')]),_0x146f6e[_0x1a4e('0x23fc')],_0x368e5a['getDeclarationName'](_0x146f6e,!0x0,!0x0),void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x111a')],_0x3b9283),void 0x0,_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e['body'],_0x3b9283,_0xf79407)),_0x146f6e),_0x146f6e)):_0x368e5a['append'](_0x2327c6,_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x3b9283,_0xf79407)),_0xcfe669(_0x146f6e)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0x1e5f38[_0x55ff7e]=_0x3b4fea(_0x1e5f38[_0x55ff7e],_0x146f6e);}else _0x2327c6=_0x3b4fea(_0x2327c6,_0x146f6e);return _0x368e5a[_0x1a4e('0x1723')](_0x2327c6);}(_0x146f6e);case 0xf0:return function(_0x146f6e){var _0x2327c6;if(_0x2327c6=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)?_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d25')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2df9')](void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x242d')],_0x1e6d1e,_0x368e5a['isModifier']),_0x368e5a[_0x1a4e('0x2d4f')](_0x146f6e,!0x0,!0x0),void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x237f')],_0x3b9283),_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2369')],_0x3b9283)),_0x146f6e),_0x146f6e)):_0x368e5a['append'](_0x2327c6,_0x368e5a['visitEachChild'](_0x146f6e,_0x3b9283,_0xf79407)),_0xcfe669(_0x146f6e)){var _0x55ff7e=_0x368e5a['getOriginalNodeId'](_0x146f6e);_0x1e5f38[_0x55ff7e]=_0x3b4fea(_0x1e5f38[_0x55ff7e],_0x146f6e);}else _0x2327c6=_0x3b4fea(_0x2327c6,_0x146f6e);return _0x368e5a[_0x1a4e('0x1723')](_0x2327c6);}(_0x146f6e);case 0x136:return function(_0x146f6e){if(_0xcfe669(_0x146f6e)&&0xdb===_0x146f6e[_0x1a4e('0x1604')][_0x1a4e('0x146b')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0x1e5f38[_0x2327c6]=_0xb7692e(_0x1e5f38[_0x2327c6],_0x146f6e[_0x1a4e('0x1604')]);}return _0x146f6e;}(_0x146f6e);case 0x137:return function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e),_0x55ff7e=_0x1e5f38[_0x2327c6];return _0x55ff7e?(delete _0x1e5f38[_0x2327c6],_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x146f6e)):_0x146f6e;}(_0x146f6e);default:return _0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x3b9283,_0xf79407);}}function _0x3b9283(_0x146f6e){return 0x1000000&_0x146f6e[_0x1a4e('0x257c')]||0x800&_0x146f6e[_0x1a4e('0x257c')]?_0x368e5a[_0x1a4e('0x2a16')](_0x146f6e)?function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d76')](_0x368e5a[_0x1a4e('0x1721')](_0x146f6e[_0x1a4e('0x2373')]),_0x3b9283),_0x55ff7e=!!(0x2000&_0x146f6e[_0x1a4e('0x257c')]);switch(_0x326eae[_0x1a4e('0xa6c')]){case _0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a31')]:return _0x308bcc(_0x2327c6,_0x55ff7e);case _0x368e5a['ModuleKind'][_0x1a4e('0x1a32')]:return function(_0x146f6e,_0x2327c6){if(_0x554ddf=!0x0,_0x368e5a[_0x1a4e('0x2dc9')](_0x146f6e)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x2374')](_0x146f6e)?_0x368e5a['createLiteral'](_0x146f6e):_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28ca')](_0x146f6e),_0x146f6e),0x600);return _0x368e5a[_0x1a4e('0x2c7d')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x2eac')),_0x124318(_0x146f6e,_0x2327c6),_0x308bcc(_0x55ff7e,_0x2327c6));}var _0x1adc17=_0x368e5a[_0x1a4e('0x2c27')](_0x1b06ad);return _0x368e5a['createComma'](_0x368e5a[_0x1a4e('0x2d07')](_0x1adc17,_0x146f6e),_0x368e5a['createConditional'](_0x368e5a[_0x1a4e('0x2893')]('__syncRequire'),_0x124318(_0x1adc17,_0x2327c6),_0x308bcc(_0x1adc17,_0x2327c6)));}(_0x2327c6,_0x55ff7e);case _0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a30')]:default:return _0x124318(_0x2327c6,_0x55ff7e);}}(_0x146f6e):0x400&_0x146f6e[_0x1a4e('0x257c')]&&_0x368e5a[_0x1a4e('0x236e')](_0x146f6e)?function(_0x146f6e){return function _0x146f6e(_0x2327c6){if(_0x368e5a[_0x1a4e('0x236f')](_0x2327c6))for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x13')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];switch(_0xf79407[_0x1a4e('0x146b')]){case 0x113:if(_0x146f6e(_0xf79407[_0x1a4e('0x236a')]))return!0x0;break;case 0x114:if(_0x146f6e(_0xf79407[_0x1a4e('0x2cb')]))return!0x0;break;case 0x115:if(_0x146f6e(_0xf79407[_0x1a4e('0x2302')]))return!0x0;break;case 0x9c:case 0x9e:case 0x9f:return!0x1;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0xf79407,_0x1a4e('0x2ead'));}}else if(_0x368e5a[_0x1a4e('0x2397')](_0x2327c6))for(var _0x2c9ec9=0x0,_0x420b32=_0x2327c6[_0x1a4e('0x2398')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0xf79407=_0x420b32[_0x2c9ec9];if(_0x368e5a[_0x1a4e('0x2ac8')](_0xf79407)){if(_0x146f6e(_0xf79407['expression']))return!0x0;}else if(_0x146f6e(_0xf79407))return!0x0;}else if(_0x368e5a[_0x1a4e('0x2370')](_0x2327c6))return _0x368e5a[_0x1a4e('0x1e')](_0x2bcc5c(_0x2327c6))>(_0x368e5a['isExportName'](_0x2327c6)?0x1:0x0);return!0x1;}(_0x146f6e['left'])?_0x368e5a[_0x1a4e('0x2e1e')](_0x146f6e,_0x3b9283,_0xf79407,0x0,!0x1,_0x5cd1cf):_0x368e5a['visitEachChild'](_0x146f6e,_0x3b9283,_0xf79407);}(_0x146f6e):_0x368e5a['visitEachChild'](_0x146f6e,_0x3b9283,_0xf79407):_0x146f6e;}function _0x308bcc(_0x146f6e,_0x2327c6){var _0x1adc17,_0x2c9ec9=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0xe20')),_0x420b32=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0x1077')),_0x1b06ad=[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x2c9ec9),_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x420b32)],_0x56674b=_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['createIdentifier'](_0x1a4e('0xfd8')),void 0x0,[_0x368e5a[_0x1a4e('0x2c60')]([_0x146f6e||_0x368e5a[_0x1a4e('0x2c89')]()]),_0x2c9ec9,_0x420b32]))]);_0x4ca015>=0x2?_0x1adc17=_0x368e5a[_0x1a4e('0x2c70')](void 0x0,void 0x0,_0x1b06ad,void 0x0,void 0x0,_0x56674b):(_0x1adc17=_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,_0x1b06ad,void 0x0,_0x56674b),_0x2327c6&&_0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0x8));var _0x11b4fb=_0x368e5a[_0x1a4e('0x2e66')](_0x368e5a['createIdentifier'](_0x1a4e('0xf55')),void 0x0,[_0x1adc17]);return _0x326eae[_0x1a4e('0x2590')]?(_0xf79407[_0x1a4e('0x2d33')](_0x55ff7e),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x11b4fb,_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xdf8'))),void 0x0,[_0x368e5a['getHelperName'](_0x1a4e('0x1665'))])):_0x11b4fb;}function _0x124318(_0x146f6e,_0x2327c6){var _0x1adc17,_0x2c9ec9=_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xf55')),_0x1a4e('0xe20')),void 0x0,[]),_0x420b32=_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfd8')),void 0x0,_0x146f6e?[_0x146f6e]:[]);return _0x326eae[_0x1a4e('0x2590')]&&(_0xf79407[_0x1a4e('0x2d33')](_0x55ff7e),_0x420b32=_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2ddf')](_0x1a4e('0x1665')),void 0x0,[_0x420b32])),_0x4ca015>=0x2?_0x1adc17=_0x368e5a[_0x1a4e('0x2c70')](void 0x0,void 0x0,[],void 0x0,void 0x0,_0x420b32):(_0x1adc17=_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,[],void 0x0,_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a['createReturn'](_0x420b32)])),_0x2327c6&&_0x368e5a[_0x1a4e('0x2892')](_0x1adc17,0x8)),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a['createPropertyAccess'](_0x2c9ec9,_0x1a4e('0xdf8')),void 0x0,[_0x1adc17]);}function _0x5be8d0(_0x146f6e,_0x2327c6){return!_0x326eae[_0x1a4e('0x2590')]||0x4000000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)?_0x2327c6:_0x368e5a[_0x1a4e('0x2dc4')](_0x146f6e)?(_0xf79407['requestEmitHelper'](_0x55ff7e),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2ddf')]('__importStar'),void 0x0,[_0x2327c6])):_0x368e5a[_0x1a4e('0x2eae')](_0x146f6e)?(_0xf79407[_0x1a4e('0x2d33')](_0x1adc17),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2ddf')]('__importDefault'),void 0x0,[_0x2327c6])):_0x2327c6;}function _0x2e58f8(_0x146f6e){var _0x2327c6=_0x368e5a['getExternalModuleNameLiteral'](_0x146f6e,_0x5826d1,_0x11b4fb,_0x56674b,_0x326eae),_0x55ff7e=[];return _0x2327c6&&_0x55ff7e['push'](_0x2327c6),_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2893')]('require'),void 0x0,_0x55ff7e);}function _0x5cd1cf(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2bcc5c(_0x146f6e);if(_0x1adc17){for(var _0xf79407=_0x368e5a[_0x1a4e('0x2eaf')](_0x146f6e)?_0x2327c6:_0x368e5a[_0x1a4e('0x2d07')](_0x146f6e,_0x2327c6),_0x2c9ec9=0x0,_0x420b32=_0x1adc17;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x368e5a[_0x1a4e('0x2892')](_0xf79407,0x4),_0xf79407=_0x15aac6(_0x1b06ad,_0xf79407,_0x55ff7e);}return _0xf79407;}return _0x368e5a[_0x1a4e('0x2d07')](_0x146f6e,_0x2327c6);}function _0x2745d5(_0x146f6e){return _0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])?_0x368e5a['flattenDestructuringAssignment'](_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x3b9283),void 0x0,_0xf79407,0x0,!0x1,_0x5cd1cf):_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a['createIdentifier']('exports'),_0x146f6e[_0x1a4e('0x2cb')]),_0x146f6e[_0x1a4e('0x2cb')]),_0x368e5a['visitNode'](_0x146f6e['initializer'],_0x3b9283));}function _0xcfe669(_0x146f6e){return 0x0!=(0x400000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e));}function _0x492a4b(_0x368e5a,_0x146f6e){if(_0x445d01['exportEquals'])return _0x368e5a;var _0x2327c6=_0x146f6e['importClause'];if(!_0x2327c6)return _0x368e5a;_0x2327c6['name']&&(_0x368e5a=_0x42ad1b(_0x368e5a,_0x2327c6));var _0x55ff7e=_0x2327c6[_0x1a4e('0x23c7')];if(_0x55ff7e)switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xfb:_0x368e5a=_0x42ad1b(_0x368e5a,_0x55ff7e);break;case 0xfc:for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e[_0x1a4e('0x2398')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++)_0x368e5a=_0x42ad1b(_0x368e5a,_0xf79407[_0x1adc17]);}return _0x368e5a;}function _0x1b002c(_0x368e5a,_0x146f6e){return _0x445d01[_0x1a4e('0x2ea4')]?_0x368e5a:_0x42ad1b(_0x368e5a,_0x146f6e);}function _0xb7692e(_0x368e5a,_0x146f6e){if(_0x445d01[_0x1a4e('0x2ea4')])return _0x368e5a;for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e['declarationList']['declarations'];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++)_0x368e5a=_0x14dae2(_0x368e5a,_0x55ff7e[_0x2327c6]);return _0x368e5a;}function _0x14dae2(_0x146f6e,_0x2327c6){if(_0x445d01['exportEquals'])return _0x146f6e;if(_0x368e5a[_0x1a4e('0x1678')](_0x2327c6[_0x1a4e('0x2cb')]))for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x2398')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x368e5a[_0x1a4e('0x2506')](_0xf79407)||(_0x146f6e=_0x14dae2(_0x146f6e,_0xf79407));}else _0x368e5a[_0x1a4e('0x2bd0')](_0x2327c6[_0x1a4e('0x2cb')])||(_0x146f6e=_0x42ad1b(_0x146f6e,_0x2327c6));return _0x146f6e;}function _0x3b4fea(_0x146f6e,_0x2327c6){return _0x445d01[_0x1a4e('0x2ea4')]?_0x146f6e:(_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x1)&&(_0x146f6e=_0x36ff67(_0x146f6e,_0x368e5a['hasModifier'](_0x2327c6,0x200)?_0x368e5a['createIdentifier'](_0x1a4e('0x8')):_0x368e5a['getDeclarationName'](_0x2327c6),_0x368e5a[_0x1a4e('0x2dfa')](_0x2327c6),_0x2327c6)),_0x2327c6[_0x1a4e('0x2cb')]&&(_0x146f6e=_0x42ad1b(_0x146f6e,_0x2327c6)),_0x146f6e);}function _0x42ad1b(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['getDeclarationName'](_0x2327c6),_0x1adc17=_0x445d01['exportSpecifiers']['get'](_0x368e5a[_0x1a4e('0x2353')](_0x55ff7e));if(_0x1adc17)for(var _0xf79407=0x0,_0x2c9ec9=_0x1adc17;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x146f6e=_0x36ff67(_0x146f6e,_0x420b32[_0x1a4e('0x2cb')],_0x55ff7e,_0x420b32[_0x1a4e('0x2cb')]);}return _0x146f6e;}function _0x36ff67(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x146f6e=_0x368e5a[_0x1a4e('0x252')](_0x146f6e,function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d71')](_0x15aac6(_0x146f6e,_0x2327c6)),_0x55ff7e);return _0x368e5a[_0x1a4e('0x2d60')](_0xf79407),_0x1adc17||_0x368e5a['setEmitFlags'](_0xf79407,0x600),_0xf79407;}(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407));}function _0x54c2db(){var _0x146f6e;return _0x146f6e=0x0===_0x4ca015?_0x368e5a[_0x1a4e('0x2d71')](_0x15aac6(_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x6')),_0x368e5a[_0x1a4e('0x2896')](!0x0))):_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfb5')),_0x1a4e('0x2')),void 0x0,[_0x368e5a['createIdentifier'](_0x1a4e('0x0')),_0x368e5a['createLiteral'](_0x1a4e('0x6')),_0x368e5a['createObjectLiteral']([_0x368e5a['createPropertyAssignment'](_0x1a4e('0x255'),_0x368e5a[_0x1a4e('0x2896')](!0x0))])])),_0x368e5a[_0x1a4e('0x2892')](_0x146f6e,0x100000),_0x146f6e;}function _0x15aac6(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x0')),_0x368e5a[_0x1a4e('0x28ca')](_0x146f6e)),_0x2327c6),_0x55ff7e);}function _0x1e6d1e(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x55:case 0x50:return;}return _0x368e5a;}function _0x58e1d4(_0x146f6e){if(0x1000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)){var _0x2327c6=_0x368e5a['getExternalHelpersModuleName'](_0x5826d1);return _0x2327c6?_0x368e5a[_0x1a4e('0x2894')](_0x2327c6,_0x146f6e):_0x146f6e;}if(!_0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2e0a')](_0x146f6e)){var _0x55ff7e=_0x56674b['getReferencedExportContainer'](_0x146f6e,_0x368e5a[_0x1a4e('0x2eaf')](_0x146f6e));if(_0x55ff7e&&0x117===_0x55ff7e[_0x1a4e('0x146b')])return _0x368e5a['setTextRange'](_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x0')),_0x368e5a[_0x1a4e('0x28ca')](_0x146f6e)),_0x146f6e);var _0x1adc17=_0x56674b[_0x1a4e('0x2eb0')](_0x146f6e);if(_0x1adc17){if(_0x368e5a[_0x1a4e('0x2d8d')](_0x1adc17))return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x28c8')](_0x1adc17[_0x1a4e('0x11c')]),_0x368e5a[_0x1a4e('0x2893')]('default')),_0x146f6e);if(_0x368e5a[_0x1a4e('0x2522')](_0x1adc17)){var _0xf79407=_0x1adc17[_0x1a4e('0x81a')]||_0x1adc17[_0x1a4e('0x2cb')];return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x28c8')](_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')]),_0x368e5a['getSynthesizedClone'](_0xf79407)),_0x146f6e);}}}return _0x146f6e;}function _0x2bcc5c(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e)){var _0x2327c6=_0x56674b[_0x1a4e('0x2eb0')](_0x146f6e)||_0x56674b[_0x1a4e('0x2dc6')](_0x146f6e);if(_0x2327c6)return _0x445d01&&_0x445d01['exportedBindings'][_0x368e5a[_0x1a4e('0x2dc2')](_0x2327c6)];}}};var _0x146f6e={'name':_0x1a4e('0x2eb1'),'scoped':!0x0,'text':_0x1a4e('0x2eb2')};var _0x2327c6={'name':'typescript:dynamicimport-sync-require','scoped':!0x0,'text':_0x1a4e('0x2eb3')},_0x55ff7e={'name':_0x1a4e('0x2eb4'),'scoped':!0x1,'text':_0x1a4e('0x2eb5')},_0x1adc17={'name':_0x1a4e('0x2eb6'),'scoped':!0x1,'text':_0x1a4e('0x2eb7')};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x2eb8')]=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2d70')],_0x55ff7e=_0x146f6e['endLexicalEnvironment'],_0x1adc17=_0x146f6e[_0x1a4e('0x2dd2')],_0xf79407=_0x146f6e[_0x1a4e('0x23f1')](),_0x2c9ec9=_0x146f6e[_0x1a4e('0x2df0')](),_0x420b32=_0x146f6e[_0x1a4e('0x2ea3')](),_0x1b06ad=_0x146f6e[_0x1a4e('0x2df2')],_0x326eae=_0x146f6e[_0x1a4e('0x2df1')];_0x146f6e[_0x1a4e('0x2df2')]=function(_0x146f6e,_0x2327c6){return function(_0x368e5a){return _0x943e40&&_0x368e5a['id']&&_0x943e40[_0x368e5a['id']];}(_0x2327c6=_0x1b06ad(_0x146f6e,_0x2327c6))?_0x2327c6:0x1===_0x146f6e?function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return function(_0x146f6e){if(0x1000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d61')](_0x56674b);return _0x2327c6?_0x368e5a['createPropertyAccess'](_0x2327c6,_0x146f6e):_0x146f6e;}if(!_0x368e5a['isGeneratedIdentifier'](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2e0a')](_0x146f6e)){var _0x55ff7e=_0x2c9ec9[_0x1a4e('0x2eb0')](_0x146f6e);if(_0x55ff7e){if(_0x368e5a[_0x1a4e('0x2d8d')](_0x55ff7e))return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x28c8')](_0x55ff7e[_0x1a4e('0x11c')]),_0x368e5a[_0x1a4e('0x2893')]('default')),_0x146f6e);if(_0x368e5a[_0x1a4e('0x2522')](_0x55ff7e))return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createPropertyAccess'](_0x368e5a['getGeneratedNameForNode'](_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')]),_0x368e5a['getSynthesizedClone'](_0x55ff7e[_0x1a4e('0x81a')]||_0x55ff7e['name'])),_0x146f6e);}}return _0x146f6e;}(_0x146f6e);case 0xcc:return function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2460')](_0x146f6e[_0x1a4e('0x237a')]['kind'])&&_0x368e5a['isIdentifier'](_0x146f6e[_0x1a4e('0x5f')])&&!_0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e['left'])&&!_0x368e5a[_0x1a4e('0x2e0a')](_0x146f6e[_0x1a4e('0x5f')])&&!_0x368e5a['isDeclarationNameOfEnumOrNamespace'](_0x146f6e[_0x1a4e('0x5f')])){var _0x2327c6=_0x1238af(_0x146f6e[_0x1a4e('0x5f')]);if(_0x2327c6){for(var _0x55ff7e=_0x146f6e,_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x55ff7e=_0xf89914(_0x2c9ec9,_0x18026f(_0x55ff7e));}return _0x55ff7e;}}return _0x146f6e;}(_0x146f6e);case 0xca:case 0xcb:return function(_0x146f6e){if((0x2c===_0x146f6e[_0x1a4e('0x1474')]||0x2d===_0x146f6e[_0x1a4e('0x1474')])&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['operand'])&&!_0x368e5a['isGeneratedIdentifier'](_0x146f6e[_0x1a4e('0x1784')])&&!_0x368e5a[_0x1a4e('0x2e0a')](_0x146f6e['operand'])&&!_0x368e5a[_0x1a4e('0x2488')](_0x146f6e[_0x1a4e('0x1784')])){var _0x2327c6=_0x1238af(_0x146f6e[_0x1a4e('0x1784')]);if(_0x2327c6){for(var _0x55ff7e=0xcb===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['setTextRange'](_0x368e5a['createPrefix'](_0x146f6e[_0x1a4e('0x1474')],_0x146f6e[_0x1a4e('0x1784')]),_0x146f6e):_0x146f6e,_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407['length'];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x55ff7e=_0xf89914(_0x2c9ec9,_0x18026f(_0x55ff7e));}return 0xcb===_0x146f6e[_0x1a4e('0x146b')]&&(_0x55ff7e=0x2c===_0x146f6e[_0x1a4e('0x1474')]?_0x368e5a[_0x1a4e('0x2d0a')](_0x18026f(_0x55ff7e),_0x368e5a[_0x1a4e('0x2896')](0x1)):_0x368e5a[_0x1a4e('0x2dde')](_0x18026f(_0x55ff7e),_0x368e5a[_0x1a4e('0x2896')](0x1))),_0x55ff7e;}}return _0x146f6e;}(_0x146f6e);}return _0x146f6e;}(_0x2327c6):0x4===_0x146f6e?function(_0x146f6e){switch(_0x146f6e['kind']){case 0x114:return function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')];if(!_0x368e5a['isGeneratedIdentifier'](_0x2327c6)&&!_0x368e5a[_0x1a4e('0x2e0a')](_0x2327c6)){var _0x55ff7e=_0x2c9ec9[_0x1a4e('0x2eb0')](_0x2327c6);if(_0x55ff7e){if(_0x368e5a[_0x1a4e('0x2d8d')](_0x55ff7e))return _0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2d3d')](_0x368e5a['getSynthesizedClone'](_0x2327c6),_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x28c8')](_0x55ff7e[_0x1a4e('0x11c')]),_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x8')))),_0x146f6e);if(_0x368e5a[_0x1a4e('0x2522')](_0x55ff7e))return _0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2d3d')](_0x368e5a[_0x1a4e('0x28ca')](_0x2327c6),_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x28c8')](_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['parent']),_0x368e5a['getSynthesizedClone'](_0x55ff7e[_0x1a4e('0x81a')]||_0x55ff7e[_0x1a4e('0x2cb')]))),_0x146f6e);}}return _0x146f6e;}(_0x146f6e);}return _0x146f6e;}(_0x2327c6):_0x2327c6;},_0x146f6e[_0x1a4e('0x2df1')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x117===_0x2327c6[_0x1a4e('0x146b')]){var _0x1adc17=_0x368e5a['getOriginalNodeId'](_0x2327c6);_0x56674b=_0x2327c6,_0x5a6be4=_0x59d814[_0x1adc17],_0x17c328=_0x23f8cb[_0x1adc17],(_0x943e40=_0x1c67d6[_0x1adc17])&&delete _0x1c67d6[_0x1adc17],_0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e),_0x56674b=void 0x0,_0x5a6be4=void 0x0,_0x17c328=void 0x0,_0x943e40=void 0x0;}else _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e);},_0x146f6e[_0x1a4e('0x2df4')](0x48),_0x146f6e['enableSubstitution'](0x114),_0x146f6e[_0x1a4e('0x2df4')](0xcc),_0x146f6e[_0x1a4e('0x2df4')](0xca),_0x146f6e[_0x1a4e('0x2df4')](0xcb),_0x146f6e[_0x1a4e('0x2e13')](0x117);var _0x56674b,_0x5a6be4,_0x17c328,_0x522ff2,_0xb3ffd3,_0x2490de,_0x943e40,_0x59d814=[],_0xf2a8ee=[],_0x23f8cb=[],_0x1c67d6=[];return _0x368e5a['chainBundle'](function(_0x146f6e){if(_0x146f6e[_0x1a4e('0x2423')]||!(_0x368e5a[_0x1a4e('0x2346')](_0x146f6e,_0xf79407)||0x1000000&_0x146f6e['transformFlags']))return _0x146f6e;var _0x1adc17=_0x368e5a['getOriginalNodeId'](_0x146f6e);_0x56674b=_0x146f6e,_0x2490de=_0x146f6e,_0x5a6be4=_0x59d814[_0x1adc17]=_0x368e5a[_0x1a4e('0x2dc5')](_0x146f6e,_0x2c9ec9,_0xf79407),_0x17c328=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0x0')),_0x23f8cb[_0x1adc17]=_0x17c328,_0x522ff2=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0x8cb'));var _0x1b06ad=function(_0x146f6e){for(var _0x2327c6=_0x368e5a['createMap'](),_0x55ff7e=[],_0x1adc17=0x0,_0x1b06ad=_0x146f6e;_0x1adc17<_0x1b06ad[_0x1a4e('0x1e')];_0x1adc17++){var _0x326eae=_0x1b06ad[_0x1adc17],_0x5a6be4=_0x368e5a['getExternalModuleNameLiteral'](_0x326eae,_0x56674b,_0x420b32,_0x2c9ec9,_0xf79407);if(_0x5a6be4){var _0x17c328=_0x5a6be4[_0x1a4e('0xe04')],_0x522ff2=_0x2327c6[_0x1a4e('0x179')](_0x17c328);void 0x0!==_0x522ff2?_0x55ff7e[_0x522ff2]['externalImports'][_0x1a4e('0x46')](_0x326eae):(_0x2327c6['set'](_0x17c328,_0x55ff7e[_0x1a4e('0x1e')]),_0x55ff7e['push']({'name':_0x5a6be4,'externalImports':[_0x326eae]}));}}return _0x55ff7e;}(_0x5a6be4[_0x1a4e('0x2eb9')]),_0x326eae=function(_0x146f6e,_0x1adc17){var _0x2c9ec9=[];_0x2327c6();var _0x420b32=_0x368e5a[_0x1a4e('0x2591')](_0xf79407,_0x1a4e('0x2839'))||!_0xf79407[_0x1a4e('0x2ea5')]&&_0x368e5a[_0x1a4e('0x22f1')](_0x56674b),_0x1b06ad=_0x368e5a['addPrologue'](_0x2c9ec9,_0x146f6e['statements'],_0x420b32,_0xab8d9b);_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x1a4e('0x2eba'),void 0x0,_0x368e5a[_0x1a4e('0x2d0c')](_0x522ff2,_0x368e5a[_0x1a4e('0x2894')](_0x522ff2,'id')))]))),_0x368e5a['visitNode'](_0x5a6be4[_0x1a4e('0x2ea6')],_0xab8d9b,_0x368e5a[_0x1a4e('0x2569')]);var _0x326eae=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e['statements'],_0xab8d9b,_0x368e5a[_0x1a4e('0x2569')],_0x1b06ad);_0x368e5a[_0x1a4e('0x23d1')](_0x2c9ec9,_0xb3ffd3),_0x368e5a['addStatementsAfterPrologue'](_0x2c9ec9,_0x55ff7e());var _0x17c328=function(_0x146f6e){if(_0x5a6be4[_0x1a4e('0x2ebb')]){if(!_0x5a6be4[_0x1a4e('0x2ebc')]&&0x0===_0x5a6be4[_0x1a4e('0x2ebd')]['size']){for(var _0x2327c6=!0x1,_0x55ff7e=0x0,_0x1adc17=_0x5a6be4[_0x1a4e('0x2eb9')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(0xff===_0xf79407['kind']&&_0xf79407['exportClause']){_0x2327c6=!0x0;break;}}if(!_0x2327c6){var _0x2c9ec9=_0x157e57(void 0x0);return _0x146f6e[_0x1a4e('0x46')](_0x2c9ec9),_0x2c9ec9[_0x1a4e('0x2cb')];}}var _0x420b32=[];if(_0x5a6be4[_0x1a4e('0x2ebc')])for(var _0x1b06ad=0x0,_0x326eae=_0x5a6be4['exportedNames'];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];_0x1a4e('0x8')!==_0x56674b[_0x1a4e('0x22f3')]&&_0x420b32['push'](_0x368e5a[_0x1a4e('0x2d3d')](_0x368e5a['createLiteral'](_0x56674b),_0x368e5a[_0x1a4e('0x2bd4')]()));}for(var _0x17c328=0x0,_0x522ff2=_0x5a6be4[_0x1a4e('0x2eb9')];_0x17c328<_0x522ff2[_0x1a4e('0x1e')];_0x17c328++){var _0xf79407=_0x522ff2[_0x17c328];if(0xff===_0xf79407[_0x1a4e('0x146b')]&&_0xf79407[_0x1a4e('0x260d')])for(var _0xb3ffd3=0x0,_0x2490de=_0xf79407[_0x1a4e('0x260d')]['elements'];_0xb3ffd3<_0x2490de[_0x1a4e('0x1e')];_0xb3ffd3++){var _0x943e40=_0x2490de[_0xb3ffd3];_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d3d')](_0x368e5a[_0x1a4e('0x2896')](_0x368e5a[_0x1a4e('0x2353')](_0x943e40['name']||_0x943e40[_0x1a4e('0x81a')])),_0x368e5a[_0x1a4e('0x2bd4')]()));}}var _0x59d814=_0x368e5a[_0x1a4e('0x2c29')](_0x1a4e('0x2ebc'));_0x146f6e[_0x1a4e('0x46')](_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a['createVariableDeclarationList']([_0x368e5a[_0x1a4e('0x2cad')](_0x59d814,void 0x0,_0x368e5a[_0x1a4e('0x2c62')](_0x420b32,!0x0))])));var _0xf2a8ee=_0x157e57(_0x59d814);return _0x146f6e[_0x1a4e('0x46')](_0xf2a8ee),_0xf2a8ee[_0x1a4e('0x2cb')];}}(_0x2c9ec9),_0x2490de=_0x368e5a[_0x1a4e('0x2c62')]([_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x2ebe'),_0xa641a6(_0x17c328,_0x1adc17)),_0x368e5a[_0x1a4e('0x2d3d')](_0x1a4e('0x6c3'),_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,[],void 0x0,_0x368e5a[_0x1a4e('0x2c91')](_0x326eae,!0x0)))]);return _0x2490de[_0x1a4e('0x2677')]=!0x0,_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ca3')](_0x2490de)),_0x368e5a[_0x1a4e('0x2c91')](_0x2c9ec9,!0x0);}(_0x146f6e,_0x1b06ad),_0xf2a8ee=_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x17c328),_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x522ff2)],void 0x0,_0x326eae),_0x4d03c3=_0x368e5a[_0x1a4e('0x2ea7')](_0x146f6e,_0x420b32,_0xf79407),_0x1eff02=_0x368e5a[_0x1a4e('0x2c60')](_0x368e5a[_0x1a4e('0x21')](_0x1b06ad,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2cb')];})),_0x40f03a=_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2cee')](_0x146f6e,_0x368e5a['setTextRange'](_0x368e5a['createNodeArray']([_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['createCall'](_0x368e5a['createPropertyAccess'](_0x368e5a[_0x1a4e('0x2893')]('System'),_0x1a4e('0x2ebf')),void 0x0,_0x4d03c3?[_0x4d03c3,_0x1eff02,_0xf2a8ee]:[_0x1eff02,_0xf2a8ee]))]),_0x146f6e['statements'])),0x400);return _0xf79407[_0x1a4e('0x2445')]||_0xf79407['out']||_0x368e5a[_0x1a4e('0x2d23')](_0x40f03a,_0x326eae,function(_0x368e5a){return!_0x368e5a['scoped'];}),_0x943e40&&(_0x1c67d6[_0x1adc17]=_0x943e40,_0x943e40=void 0x0),_0x56674b=void 0x0,_0x5a6be4=void 0x0,_0x17c328=void 0x0,_0x522ff2=void 0x0,_0xb3ffd3=void 0x0,_0x2490de=void 0x0,_0x368e5a[_0x1a4e('0x2c07')](_0x40f03a);});function _0x157e57(_0x146f6e){var _0x2327c6=_0x368e5a['createUniqueName'](_0x1a4e('0x2ec0')),_0x55ff7e=_0x368e5a[_0x1a4e('0x2893')]('m'),_0x1adc17=_0x368e5a['createIdentifier']('n'),_0xf79407=_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x0')),_0x2c9ec9=_0x368e5a[_0x1a4e('0x2d09')](_0x1adc17,_0x368e5a[_0x1a4e('0x2896')](_0x1a4e('0x8')));return _0x146f6e&&(_0x2c9ec9=_0x368e5a[_0x1a4e('0x2d0c')](_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d0e')](_0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x146f6e,_0x1a4e('0xb')),void 0x0,[_0x1adc17])))),_0x368e5a['createFunctionDeclaration'](void 0x0,void 0x0,void 0x0,_0x2327c6,void 0x0,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x55ff7e)],void 0x0,_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a['createVariableDeclaration'](_0xf79407,void 0x0,_0x368e5a['createObjectLiteral']([]))])),_0x368e5a[_0x1a4e('0x2c9e')](_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x1adc17,void 0x0)]),_0x55ff7e,_0x368e5a['createBlock']([_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2e20')](_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2897')](_0xf79407,_0x1adc17),_0x368e5a[_0x1a4e('0x2897')](_0x55ff7e,_0x1adc17)))),0x1)])),_0x368e5a['createExpressionStatement'](_0x368e5a['createCall'](_0x17c328,void 0x0,[_0xf79407]))],!0x0));}function _0xa641a6(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){for(var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x368e5a[_0x1a4e('0x3b')](_0x2c9ec9['externalImports'],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d64')](_0x146f6e,_0x56674b);}),_0x1b06ad=_0x420b32?_0x368e5a[_0x1a4e('0x28c8')](_0x420b32):_0x368e5a[_0x1a4e('0x2c29')](''),_0x326eae=[],_0x5a6be4=0x0,_0x522ff2=_0x2c9ec9['externalImports'];_0x5a6be4<_0x522ff2[_0x1a4e('0x1e')];_0x5a6be4++){var _0xb3ffd3=_0x522ff2[_0x5a6be4],_0x2490de=_0x368e5a[_0x1a4e('0x2d64')](_0xb3ffd3,_0x56674b);switch(_0xb3ffd3[_0x1a4e('0x146b')]){case 0xf9:if(!_0xb3ffd3[_0x1a4e('0x23c6')])break;case 0xf8:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0!==_0x2490de),_0x326eae[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a['createAssignment'](_0x2490de,_0x1b06ad)));break;case 0xff:if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0!==_0x2490de),_0xb3ffd3[_0x1a4e('0x260d')]){for(var _0x943e40=[],_0x59d814=0x0,_0xf2a8ee=_0xb3ffd3[_0x1a4e('0x260d')]['elements'];_0x59d814<_0xf2a8ee[_0x1a4e('0x1e')];_0x59d814++){var _0x23f8cb=_0xf2a8ee[_0x59d814];_0x943e40[_0x1a4e('0x46')](_0x368e5a['createPropertyAssignment'](_0x368e5a['createLiteral'](_0x368e5a[_0x1a4e('0x2353')](_0x23f8cb[_0x1a4e('0x2cb')])),_0x368e5a[_0x1a4e('0x2897')](_0x1b06ad,_0x368e5a[_0x1a4e('0x2896')](_0x368e5a[_0x1a4e('0x2353')](_0x23f8cb[_0x1a4e('0x81a')]||_0x23f8cb[_0x1a4e('0x2cb')])))));}_0x326eae['push'](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2c67')](_0x17c328,void 0x0,[_0x368e5a[_0x1a4e('0x2c62')](_0x943e40,!0x0)])));}else _0x326eae[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2c67')](_0x146f6e,void 0x0,[_0x1b06ad])));}}_0x55ff7e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2c6e')](void 0x0,void 0x0,void 0x0,void 0x0,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x1b06ad)],void 0x0,_0x368e5a[_0x1a4e('0x2c91')](_0x326eae,!0x0)));}return _0x368e5a['createArrayLiteral'](_0x55ff7e,!0x0);}function _0xab8d9b(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf9:return function(_0x146f6e){var _0x2327c6;if(_0x146f6e['importClause']&&_0x1adc17(_0x368e5a['getLocalNameForExternalImport'](_0x146f6e,_0x56674b)),_0x438eb6(_0x146f6e)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0xf2a8ee[_0x55ff7e]=_0x296854(_0xf2a8ee[_0x55ff7e],_0x146f6e);}else _0x2327c6=_0x296854(_0x2327c6,_0x146f6e);return _0x368e5a[_0x1a4e('0x1723')](_0x2327c6);}(_0x146f6e);case 0xf8:return function(_0x146f6e){var _0x2327c6;if(_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x368e5a['isExternalModuleImportEqualsDeclaration'](_0x146f6e),_0x1a4e('0x2eab')),_0x1adc17(_0x368e5a[_0x1a4e('0x2d64')](_0x146f6e,_0x56674b)),_0x438eb6(_0x146f6e)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0xf2a8ee[_0x55ff7e]=_0x1c415d(_0xf2a8ee[_0x55ff7e],_0x146f6e);}else _0x2327c6=_0x1c415d(_0x2327c6,_0x146f6e);return _0x368e5a['singleOrMany'](_0x2327c6);}(_0x146f6e);case 0xff:return;case 0xfe:return function(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x267b')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')]),_0x55ff7e=_0x146f6e[_0x1a4e('0x1604')];if(!_0x55ff7e||!_0x438eb6(_0x55ff7e))return _0x3c58f7(_0x368e5a['createIdentifier'](_0x1a4e('0x8')),_0x2327c6,!0x0);var _0x1adc17=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0xf2a8ee[_0x1adc17]=_0x4056cd(_0xf2a8ee[_0x1adc17],_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x8')),_0x2327c6,!0x0);}}(_0x146f6e);default:return _0x29d284(_0x146f6e);}}function _0x52bd16(_0x146f6e){if(_0x368e5a['isBindingPattern'](_0x146f6e[_0x1a4e('0x2cb')]))for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x2398')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0xf79407=_0x55ff7e[_0x2327c6];_0x368e5a[_0x1a4e('0x2506')](_0xf79407)||_0x52bd16(_0xf79407);}else _0x1adc17(_0x368e5a[_0x1a4e('0x28ca')](_0x146f6e[_0x1a4e('0x2cb')]));}function _0x12d5b6(_0x146f6e){return 0x0==(0x200000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e))&&(0x117===_0x2490de[_0x1a4e('0x146b')]||0x0==(0x3&_0x368e5a[_0x1a4e('0x24d0')](_0x146f6e)['flags']));}function _0x350542(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e?_0x357504:_0x21eb93;return _0x368e5a['isBindingPattern'](_0x2327c6[_0x1a4e('0x2cb')])?_0x368e5a[_0x1a4e('0x2e1e')](_0x2327c6,_0x16d3d5,_0x146f6e,0x0,!0x1,_0x1adc17):_0x2327c6[_0x1a4e('0x236a')]?_0x1adc17(_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x236a')],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')])):_0x2327c6[_0x1a4e('0x2cb')];}function _0x357504(_0x368e5a,_0x146f6e,_0x2327c6){return _0x3a8046(_0x368e5a,_0x146f6e,_0x2327c6,!0x0);}function _0x21eb93(_0x368e5a,_0x146f6e,_0x2327c6){return _0x3a8046(_0x368e5a,_0x146f6e,_0x2327c6,!0x1);}function _0x3a8046(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){return _0x1adc17(_0x368e5a[_0x1a4e('0x28ca')](_0x146f6e)),_0xf79407?_0xf89914(_0x146f6e,_0x18026f(_0x368e5a['setTextRange'](_0x368e5a[_0x1a4e('0x2d07')](_0x146f6e,_0x2327c6),_0x55ff7e))):_0x18026f(_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createAssignment'](_0x146f6e,_0x2327c6),_0x55ff7e));}function _0x438eb6(_0x146f6e){return 0x0!=(0x400000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e));}function _0x296854(_0x368e5a,_0x146f6e){if(_0x5a6be4[_0x1a4e('0x2ea4')])return _0x368e5a;var _0x2327c6=_0x146f6e['importClause'];if(!_0x2327c6)return _0x368e5a;_0x2327c6[_0x1a4e('0x2cb')]&&(_0x368e5a=_0x46d14d(_0x368e5a,_0x2327c6));var _0x55ff7e=_0x2327c6[_0x1a4e('0x23c7')];if(_0x55ff7e)switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xfb:_0x368e5a=_0x46d14d(_0x368e5a,_0x55ff7e);break;case 0xfc:for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e['elements'];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++)_0x368e5a=_0x46d14d(_0x368e5a,_0xf79407[_0x1adc17]);}return _0x368e5a;}function _0x1c415d(_0x368e5a,_0x146f6e){return _0x5a6be4[_0x1a4e('0x2ea4')]?_0x368e5a:_0x46d14d(_0x368e5a,_0x146f6e);}function _0x17569b(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x5a6be4[_0x1a4e('0x2ea4')])return _0x368e5a;for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];(_0xf79407[_0x1a4e('0x236a')]||_0x2327c6)&&(_0x368e5a=_0x26eca8(_0x368e5a,_0xf79407,_0x2327c6));}return _0x368e5a;}function _0x26eca8(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x5a6be4['exportEquals'])return _0x146f6e;if(_0x368e5a[_0x1a4e('0x1678')](_0x2327c6['name']))for(var _0x1adc17=0x0,_0xf79407=_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x2398')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x368e5a[_0x1a4e('0x2506')](_0x2c9ec9)||(_0x146f6e=_0x26eca8(_0x146f6e,_0x2c9ec9,_0x55ff7e));}else if(!_0x368e5a['isGeneratedIdentifier'](_0x2327c6[_0x1a4e('0x2cb')])){var _0x420b32=void 0x0;_0x55ff7e&&(_0x146f6e=_0x4056cd(_0x146f6e,_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2dfa')](_0x2327c6)),_0x420b32=_0x368e5a[_0x1a4e('0x2353')](_0x2327c6['name'])),_0x146f6e=_0x46d14d(_0x146f6e,_0x2327c6,_0x420b32);}return _0x146f6e;}function _0x4ae53c(_0x146f6e,_0x2327c6){if(_0x5a6be4[_0x1a4e('0x2ea4')])return _0x146f6e;var _0x55ff7e;if(_0x368e5a['hasModifier'](_0x2327c6,0x1)){var _0x1adc17=_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x200)?_0x368e5a['createLiteral']('default'):_0x2327c6['name'];_0x146f6e=_0x4056cd(_0x146f6e,_0x1adc17,_0x368e5a[_0x1a4e('0x2dfa')](_0x2327c6)),_0x55ff7e=_0x368e5a[_0x1a4e('0x2401')](_0x1adc17);}return _0x2327c6['name']&&(_0x146f6e=_0x46d14d(_0x146f6e,_0x2327c6,_0x55ff7e)),_0x146f6e;}function _0x46d14d(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x5a6be4['exportEquals'])return _0x146f6e;var _0x1adc17=_0x368e5a[_0x1a4e('0x2d4f')](_0x2327c6),_0xf79407=_0x5a6be4['exportSpecifiers']['get'](_0x368e5a[_0x1a4e('0x2353')](_0x1adc17));if(_0xf79407)for(var _0x2c9ec9=0x0,_0x420b32=_0xf79407;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1b06ad[_0x1a4e('0x2cb')]['escapedText']!==_0x55ff7e&&(_0x146f6e=_0x4056cd(_0x146f6e,_0x1b06ad[_0x1a4e('0x2cb')],_0x1adc17));}return _0x146f6e;}function _0x4056cd(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e=_0x368e5a[_0x1a4e('0x252')](_0x146f6e,_0x3c58f7(_0x2327c6,_0x55ff7e,_0x1adc17));}function _0x3c58f7(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2d71')](_0xf89914(_0x146f6e,_0x2327c6));return _0x368e5a['startOnNewLine'](_0x1adc17),_0x55ff7e||_0x368e5a['setEmitFlags'](_0x1adc17,0x600),_0x1adc17;}function _0xf89914(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['isIdentifier'](_0x146f6e)?_0x368e5a[_0x1a4e('0x2896')](_0x146f6e):_0x146f6e;return _0x368e5a[_0x1a4e('0x2892')](_0x2327c6,0x600|_0x368e5a[_0x1a4e('0x2c65')](_0x2327c6)),_0x368e5a[_0x1a4e('0x28c2')](_0x368e5a[_0x1a4e('0x2c67')](_0x17c328,void 0x0,[_0x55ff7e,_0x2327c6]),_0x2327c6);}function _0x29d284(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xdb:return function(_0x146f6e){if(!_0x12d5b6(_0x146f6e[_0x1a4e('0x2377')]))return _0x368e5a[_0x1a4e('0x2d76')](_0x146f6e,_0x16d3d5,_0x368e5a[_0x1a4e('0x2569')]);for(var _0x2327c6,_0x55ff7e,_0x1adc17=_0x368e5a['hasModifier'](_0x146f6e,0x1),_0xf79407=_0x438eb6(_0x146f6e),_0x2c9ec9=0x0,_0x420b32=_0x146f6e['declarationList'][_0x1a4e('0x22e5')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1b06ad[_0x1a4e('0x236a')]?_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x350542(_0x1b06ad,_0x1adc17&&!_0xf79407)):_0x52bd16(_0x1b06ad);}if(_0x2327c6&&(_0x55ff7e=_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a['createExpressionStatement'](_0x368e5a[_0x1a4e('0x2d45')](_0x2327c6)),_0x146f6e))),_0xf79407){var _0x326eae=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0xf2a8ee[_0x326eae]=_0x17569b(_0xf2a8ee[_0x326eae],_0x146f6e,_0x1adc17);}else _0x55ff7e=_0x17569b(_0x55ff7e,_0x146f6e,!0x1);return _0x368e5a[_0x1a4e('0x1723')](_0x55ff7e);}(_0x2327c6);case 0xef:return function(_0x2327c6){if(_0xb3ffd3=_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x1)?_0x368e5a[_0x1a4e('0x252')](_0xb3ffd3,_0x368e5a[_0x1a4e('0x2d8c')](_0x2327c6,_0x2327c6[_0x1a4e('0x232f')],_0x368e5a['visitNodes'](_0x2327c6[_0x1a4e('0x242d')],_0x364af4,_0x368e5a[_0x1a4e('0x2549')]),_0x2327c6[_0x1a4e('0x23fc')],_0x368e5a[_0x1a4e('0x2d4f')](_0x2327c6,!0x0,!0x0),void 0x0,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x111a')],_0x16d3d5,_0x368e5a[_0x1a4e('0x2405')]),void 0x0,_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x8f2')],_0x16d3d5,_0x368e5a[_0x1a4e('0x250c')]))):_0x368e5a[_0x1a4e('0x252')](_0xb3ffd3,_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x16d3d5,_0x146f6e)),_0x438eb6(_0x2327c6)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2dc2')](_0x2327c6);_0xf2a8ee[_0x55ff7e]=_0x4ae53c(_0xf2a8ee[_0x55ff7e],_0x2327c6);}else _0xb3ffd3=_0x4ae53c(_0xb3ffd3,_0x2327c6);}(_0x2327c6);case 0xf0:return function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x2dfa')](_0x146f6e);if(_0x1adc17(_0x55ff7e),_0x2327c6=_0x368e5a['append'](_0x2327c6,_0x368e5a['setTextRange'](_0x368e5a['createExpressionStatement'](_0x368e5a['createAssignment'](_0x55ff7e,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x2c88')](void 0x0,_0x146f6e[_0x1a4e('0x2cb')],void 0x0,_0x368e5a['visitNodes'](_0x146f6e[_0x1a4e('0x237f')],_0x16d3d5,_0x368e5a[_0x1a4e('0x252f')]),_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2369')],_0x16d3d5,_0x368e5a[_0x1a4e('0x2368')])),_0x146f6e))),_0x146f6e)),_0x438eb6(_0x146f6e)){var _0xf79407=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);_0xf2a8ee[_0xf79407]=_0x4ae53c(_0xf2a8ee[_0xf79407],_0x146f6e);}else _0x2327c6=_0x4ae53c(_0x2327c6,_0x146f6e);return _0x368e5a[_0x1a4e('0x1723')](_0x2327c6);}(_0x2327c6);case 0xe1:return function(_0x146f6e){var _0x2327c6=_0x2490de;return _0x2490de=_0x146f6e,_0x146f6e=_0x368e5a['updateFor'](_0x146f6e,_0x146f6e[_0x1a4e('0x236a')]&&_0x5f0419(_0x146f6e[_0x1a4e('0x236a')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236b')],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x236c')],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2390')],_0x29d284,_0x368e5a[_0x1a4e('0x2569')])),_0x2490de=_0x2327c6,_0x146f6e;}(_0x2327c6);case 0xe2:return function(_0x146f6e){var _0x2327c6=_0x2490de;return _0x2490de=_0x146f6e,_0x146f6e=_0x368e5a[_0x1a4e('0x2d88')](_0x146f6e,_0x5f0419(_0x146f6e[_0x1a4e('0x236a')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x16d3d5,_0x368e5a['isExpression']),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2390')],_0x29d284,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')])),_0x2490de=_0x2327c6,_0x146f6e;}(_0x2327c6);case 0xe3:return function(_0x146f6e){var _0x2327c6=_0x2490de;return _0x2490de=_0x146f6e,_0x146f6e=_0x368e5a[_0x1a4e('0x2c9f')](_0x146f6e,_0x146f6e['awaitModifier'],_0x5f0419(_0x146f6e[_0x1a4e('0x236a')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2390')],_0x29d284,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')])),_0x2490de=_0x2327c6,_0x146f6e;}(_0x2327c6);case 0xdf:return function(_0x146f6e){return _0x368e5a['updateDo'](_0x146f6e,_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2390')],_0x29d284,_0x368e5a['isStatement'],_0x368e5a[_0x1a4e('0x2d86')]),_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2302')],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')]));}(_0x2327c6);case 0xe0:return function(_0x146f6e){return _0x368e5a['updateWhile'](_0x146f6e,_0x368e5a['visitNode'](_0x146f6e['expression'],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2390')],_0x29d284,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a['liftToBlock']));}(_0x2327c6);case 0xe9:return function(_0x146f6e){return _0x368e5a['updateLabel'](_0x146f6e,_0x146f6e[_0x1a4e('0x1bc')],_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2390')],_0x29d284,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));}(_0x2327c6);case 0xe7:return function(_0x146f6e){return _0x368e5a['updateWith'](_0x146f6e,_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2302')],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x2390')],_0x29d284,_0x368e5a[_0x1a4e('0x2569')],_0x368e5a[_0x1a4e('0x2d86')]));}(_0x2327c6);case 0xe8:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2ca6')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2608')],_0x29d284,_0x368e5a[_0x1a4e('0x251f')]));}(_0x2327c6);case 0xf6:return function(_0x146f6e){var _0x2327c6=_0x2490de;return _0x2490de=_0x146f6e,_0x146f6e=_0x368e5a[_0x1a4e('0x2cbb')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2609')],_0x29d284,_0x368e5a[_0x1a4e('0x256f')])),_0x2490de=_0x2327c6,_0x146f6e;}(_0x2327c6);case 0x10f:return function(_0x146f6e){return _0x368e5a['updateCaseClause'](_0x146f6e,_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2302')],_0x16d3d5,_0x368e5a[_0x1a4e('0x24a8')]),_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2366')],_0x29d284,_0x368e5a['isStatement']));}(_0x2327c6);case 0x110:case 0xeb:return function(_0x2327c6){return _0x368e5a['visitEachChild'](_0x2327c6,_0x29d284,_0x146f6e);}(_0x2327c6);case 0x112:return function(_0x146f6e){var _0x2327c6=_0x2490de;return _0x2490de=_0x146f6e,_0x146f6e=_0x368e5a[_0x1a4e('0x2ce9')](_0x146f6e,_0x146f6e[_0x1a4e('0x260b')],_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x260c')],_0x29d284,_0x368e5a[_0x1a4e('0x250c')])),_0x2490de=_0x2327c6,_0x146f6e;}(_0x2327c6);case 0xda:return function(_0x2327c6){var _0x55ff7e=_0x2490de;return _0x2490de=_0x2327c6,_0x2327c6=_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x29d284,_0x146f6e),_0x2490de=_0x55ff7e,_0x2327c6;}(_0x2327c6);case 0x136:return function(_0x146f6e){if(_0x438eb6(_0x146f6e)&&0xdb===_0x146f6e[_0x1a4e('0x1604')][_0x1a4e('0x146b')]){var _0x2327c6=_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e),_0x55ff7e=_0x368e5a['hasModifier'](_0x146f6e[_0x1a4e('0x1604')],0x1);_0xf2a8ee[_0x2327c6]=_0x17569b(_0xf2a8ee[_0x2327c6],_0x146f6e['original'],_0x55ff7e);}return _0x146f6e;}(_0x2327c6);case 0x137:return function(_0x146f6e){var _0x2327c6=_0x368e5a['getOriginalNodeId'](_0x146f6e),_0x55ff7e=_0xf2a8ee[_0x2327c6];if(_0x55ff7e)return delete _0xf2a8ee[_0x2327c6],_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x146f6e);var _0x1adc17=_0x368e5a[_0x1a4e('0x24d0')](_0x146f6e);return _0x368e5a['isModuleOrEnumDeclaration'](_0x1adc17)?_0x368e5a[_0x1a4e('0x252')](_0x46d14d(_0x55ff7e,_0x1adc17),_0x146f6e):_0x146f6e;}(_0x2327c6);default:return _0x16d3d5(_0x2327c6);}}function _0x5f0419(_0x2327c6){if(function(_0x146f6e){return _0x368e5a[_0x1a4e('0x251c')](_0x146f6e)&&_0x12d5b6(_0x146f6e);}(_0x2327c6)){for(var _0x55ff7e=void 0x0,_0x1adc17=0x0,_0xf79407=_0x2327c6[_0x1a4e('0x22e5')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x55ff7e=_0x368e5a[_0x1a4e('0x252')](_0x55ff7e,_0x350542(_0x2c9ec9,!0x1)),_0x2c9ec9[_0x1a4e('0x236a')]||_0x52bd16(_0x2c9ec9);}return _0x55ff7e?_0x368e5a[_0x1a4e('0x2d45')](_0x55ff7e):_0x368e5a['createOmittedExpression']();}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x29d284,_0x146f6e);}function _0x16d3d5(_0x2327c6){return 0x400&_0x2327c6[_0x1a4e('0x257c')]&&0xcc===_0x2327c6[_0x1a4e('0x146b')]?function(_0x2327c6){return _0x194e0d(_0x2327c6[_0x1a4e('0x5f')])?_0x368e5a[_0x1a4e('0x2e1e')](_0x2327c6,_0x16d3d5,_0x146f6e,0x0,!0x0):_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x16d3d5,_0x146f6e);}(_0x2327c6):_0x368e5a['isImportCall'](_0x2327c6)?function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2894')](_0x522ff2,_0x368e5a[_0x1a4e('0x2893')]('import')),void 0x0,_0x368e5a['some'](_0x146f6e['arguments'])?[_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x2373')][0x0],_0x16d3d5)]:[]);}(_0x2327c6):0x800&_0x2327c6['transformFlags']||0x1000000&_0x2327c6[_0x1a4e('0x257c')]?_0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x16d3d5,_0x146f6e):_0x2327c6;}function _0x194e0d(_0x146f6e){if(_0x368e5a[_0x1a4e('0x287a')](_0x146f6e,!0x0))return _0x194e0d(_0x146f6e[_0x1a4e('0x5f')]);if(_0x368e5a['isSpreadElement'](_0x146f6e))return _0x194e0d(_0x146f6e[_0x1a4e('0x2302')]);if(_0x368e5a[_0x1a4e('0x236f')](_0x146f6e))return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e['properties'],_0x194e0d);if(_0x368e5a[_0x1a4e('0x2397')](_0x146f6e))return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e['elements'],_0x194e0d);if(_0x368e5a[_0x1a4e('0x29a4')](_0x146f6e))return _0x194e0d(_0x146f6e['name']);if(_0x368e5a[_0x1a4e('0x23b4')](_0x146f6e))return _0x194e0d(_0x146f6e[_0x1a4e('0x236a')]);if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)){var _0x2327c6=_0x2c9ec9['getReferencedExportContainer'](_0x146f6e);return void 0x0!==_0x2327c6&&0x117===_0x2327c6[_0x1a4e('0x146b')];}return!0x1;}function _0x364af4(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x55:case 0x50:return;}return _0x368e5a;}function _0x1238af(_0x146f6e){var _0x2327c6;if(!_0x368e5a['isGeneratedIdentifier'](_0x146f6e)){var _0x55ff7e=_0x2c9ec9['getReferencedImportDeclaration'](_0x146f6e)||_0x2c9ec9[_0x1a4e('0x2dc6')](_0x146f6e);if(_0x55ff7e){var _0x1adc17=_0x2c9ec9[_0x1a4e('0x2e0b')](_0x146f6e,!0x1);_0x1adc17&&0x117===_0x1adc17[_0x1a4e('0x146b')]&&(_0x2327c6=_0x368e5a['append'](_0x2327c6,_0x368e5a[_0x1a4e('0x2d4f')](_0x55ff7e))),_0x2327c6=_0x368e5a[_0x1a4e('0x23d1')](_0x2327c6,_0x5a6be4&&_0x5a6be4[_0x1a4e('0x2ec1')][_0x368e5a[_0x1a4e('0x2dc2')](_0x55ff7e)]);}}return _0x2327c6;}function _0x18026f(_0x146f6e){return void 0x0===_0x943e40&&(_0x943e40=[]),_0x943e40[_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e)]=!0x0,_0x146f6e;}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x2ec2')]=function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x146f6e[_0x1a4e('0x23f1')](),_0x1adc17=_0x146f6e[_0x1a4e('0x2df1')],_0xf79407=_0x146f6e[_0x1a4e('0x2df2')];return _0x146f6e[_0x1a4e('0x2df1')]=function(_0x146f6e,_0x55ff7e,_0xf79407){_0x368e5a['isSourceFile'](_0x55ff7e)?(_0x2327c6=_0x55ff7e,_0x1adc17(_0x146f6e,_0x55ff7e,_0xf79407),_0x2327c6=void 0x0):_0x1adc17(_0x146f6e,_0x55ff7e,_0xf79407);},_0x146f6e[_0x1a4e('0x2df2')]=function(_0x146f6e,_0x55ff7e){return _0x55ff7e=_0xf79407(_0x146f6e,_0x55ff7e),_0x368e5a['isIdentifier'](_0x55ff7e)&&0x1===_0x146f6e?function(_0x146f6e){if(0x1000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2d61')](_0x2327c6);if(_0x55ff7e)return _0x368e5a[_0x1a4e('0x2894')](_0x55ff7e,_0x146f6e);}return _0x146f6e;}(_0x55ff7e):_0x55ff7e;},_0x146f6e[_0x1a4e('0x2e13')](0x117),_0x146f6e[_0x1a4e('0x2df4')](0x48),_0x368e5a[_0x1a4e('0x2dc3')](function(_0x2327c6){if(_0x2327c6[_0x1a4e('0x2423')])return _0x2327c6;if(_0x368e5a[_0x1a4e('0x22f1')](_0x2327c6)||_0x55ff7e[_0x1a4e('0x2347')]){var _0x1adc17=_0x368e5a[_0x1a4e('0x2dc7')](_0x2327c6,_0x55ff7e);if(_0x1adc17){var _0xf79407=[],_0x420b32=_0x368e5a[_0x1a4e('0x2dff')](_0xf79407,_0x2327c6[_0x1a4e('0x2366')]),_0x1b06ad=_0x368e5a[_0x1a4e('0x2cbf')](void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2cc1')](void 0x0,_0x368e5a['createNamespaceImport'](_0x1adc17)),_0x368e5a[_0x1a4e('0x2896')](_0x368e5a[_0x1a4e('0x22e3')]));return _0x368e5a[_0x1a4e('0x2dc8')](_0x1b06ad,0x4000000),_0x368e5a[_0x1a4e('0x252')](_0xf79407,_0x1b06ad),_0x368e5a['addRange'](_0xf79407,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6['statements'],_0x2c9ec9,_0x368e5a[_0x1a4e('0x2569')],_0x420b32)),_0x368e5a[_0x1a4e('0x2cee')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0xf79407),_0x2327c6[_0x1a4e('0x2366')]));}return _0x368e5a[_0x1a4e('0x28cd')](_0x2327c6,_0x2c9ec9,_0x146f6e);}return _0x2327c6;});function _0x2c9ec9(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xf8:return;case 0xfe:return function(_0x368e5a){return _0x368e5a[_0x1a4e('0x267b')]?void 0x0:_0x368e5a;}(_0x368e5a);}return _0x368e5a;}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e){return _0x368e5a[_0x1a4e('0x238d')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24ec')](_0x146f6e)||_0x368e5a['isPropertySignature'](_0x146f6e)||_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23e3')](_0x146f6e)?_0x2327c6:_0x368e5a['isSetAccessor'](_0x146f6e)||_0x368e5a['isGetAccessor'](_0x146f6e)?function(_0x2327c6){var _0x55ff7e;_0x55ff7e=0x9f===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20)?_0x2327c6[_0x1a4e('0x2ec3')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ec4')]:_0x368e5a[_0x1a4e('0x167d')]['Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1']:_0x2327c6['errorModuleName']?_0x368e5a['Diagnostics'][_0x1a4e('0x2ec5')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ec6')]:_0x368e5a['hasModifier'](_0x146f6e,0x20)?_0x2327c6[_0x1a4e('0x2ec3')]?0x2===_0x2327c6[_0x1a4e('0x2989')]?_0x368e5a[_0x1a4e('0x167d')]['Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named']:_0x368e5a[_0x1a4e('0x167d')]['Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2']:_0x368e5a['Diagnostics']['Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1']:_0x2327c6['errorModuleName']?0x2===_0x2327c6[_0x1a4e('0x2989')]?_0x368e5a['Diagnostics'][_0x1a4e('0x2ec7')]:_0x368e5a['Diagnostics']['Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ec8')];return{'diagnosticMessage':_0x55ff7e,'errorNode':_0x146f6e[_0x1a4e('0x2cb')],'typeName':_0x146f6e[_0x1a4e('0x2cb')]};}:_0x368e5a[_0x1a4e('0x24ef')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24dd')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24ed')](_0x146f6e)||_0x368e5a[_0x1a4e('0x29a3')](_0x146f6e)||_0x368e5a['isFunctionDeclaration'](_0x146f6e)||_0x368e5a[_0x1a4e('0x24f0')](_0x146f6e)?function(_0x2327c6){var _0x55ff7e;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xa1:_0x55ff7e=_0x2327c6[_0x1a4e('0x2ec3')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ec9')]:_0x368e5a[_0x1a4e('0x167d')]['Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0'];break;case 0xa0:_0x55ff7e=_0x2327c6[_0x1a4e('0x2ec3')]?_0x368e5a['Diagnostics'][_0x1a4e('0x2eca')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2ecb')];break;case 0xa2:_0x55ff7e=_0x2327c6[_0x1a4e('0x2ec3')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ecc')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ecd')];break;case 0x9c:case 0x9b:_0x55ff7e=_0x368e5a['hasModifier'](_0x146f6e,0x20)?_0x2327c6[_0x1a4e('0x2ec3')]?0x2===_0x2327c6[_0x1a4e('0x2989')]?_0x368e5a['Diagnostics'][_0x1a4e('0x2ece')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ecf')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ed0')]:0xf0===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x2ec3')]?0x2===_0x2327c6[_0x1a4e('0x2989')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ed1')]:_0x368e5a[_0x1a4e('0x167d')]['Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ed2')]:_0x2327c6[_0x1a4e('0x2ec3')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ed3')]:_0x368e5a[_0x1a4e('0x167d')]['Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0'];break;case 0xef:_0x55ff7e=_0x2327c6[_0x1a4e('0x2ec3')]?0x2===_0x2327c6[_0x1a4e('0x2989')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ed4')]:_0x368e5a[_0x1a4e('0x167d')]['Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ed5')];break;default:return _0x368e5a['Debug']['fail'](_0x1a4e('0x2ed6')+_0x146f6e[_0x1a4e('0x146b')]);}return{'diagnosticMessage':_0x55ff7e,'errorNode':_0x146f6e['name']||_0x146f6e};}:_0x368e5a['isParameter'](_0x146f6e)?_0x368e5a[_0x1a4e('0x235e')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e['parent'],0x8)?_0x2327c6:function(_0x2327c6){var _0x55ff7e=function(_0x2327c6){switch(_0x146f6e[_0x1a4e('0x11c')]['kind']){case 0x9d:return _0x2327c6[_0x1a4e('0x2ec3')]?0x2===_0x2327c6[_0x1a4e('0x2989')]?_0x368e5a[_0x1a4e('0x167d')]['Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named']:_0x368e5a['Diagnostics'][_0x1a4e('0x2ed7')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2ed8')];case 0xa1:case 0xa6:return _0x2327c6['errorModuleName']?_0x368e5a[_0x1a4e('0x167d')]['Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2']:_0x368e5a['Diagnostics'][_0x1a4e('0x2ed9')];case 0xa0:return _0x2327c6[_0x1a4e('0x2ec3')]?_0x368e5a[_0x1a4e('0x167d')]['Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2eda')];case 0xa2:return _0x2327c6[_0x1a4e('0x2ec3')]?_0x368e5a[_0x1a4e('0x167d')]['Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2edb')];case 0x9c:case 0x9b:return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e[_0x1a4e('0x11c')],0x20)?_0x2327c6['errorModuleName']?0x2===_0x2327c6[_0x1a4e('0x2989')]?_0x368e5a['Diagnostics'][_0x1a4e('0x2edc')]:_0x368e5a[_0x1a4e('0x167d')]['Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2edd')]:0xf0===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x2ec3')]?0x2===_0x2327c6['accessibility']?_0x368e5a[_0x1a4e('0x167d')]['Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ede')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2edf')]:_0x2327c6['errorModuleName']?_0x368e5a['Diagnostics']['Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ee0')];case 0xef:case 0xa5:return _0x2327c6[_0x1a4e('0x2ec3')]?0x2===_0x2327c6[_0x1a4e('0x2989')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ee1')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ee2')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ee3')];default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2ee4')+_0x368e5a[_0x1a4e('0x18c5')][_0x146f6e['parent'][_0x1a4e('0x146b')]]);}}(_0x2327c6);return void 0x0!==_0x55ff7e?{'diagnosticMessage':_0x55ff7e,'errorNode':_0x146f6e,'typeName':_0x146f6e[_0x1a4e('0x2cb')]}:void 0x0;}:_0x368e5a[_0x1a4e('0x24ea')](_0x146f6e)?function(){var _0x2327c6;switch(_0x146f6e['parent'][_0x1a4e('0x146b')]){case 0xf0:_0x2327c6=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ee5')];break;case 0xf1:_0x2327c6=_0x368e5a['Diagnostics'][_0x1a4e('0x2ee6')];break;case 0xa1:_0x2327c6=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ee7')];break;case 0xa0:_0x2327c6=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ee8')];break;case 0x9c:case 0x9b:_0x2327c6=_0x368e5a['hasModifier'](_0x146f6e['parent'],0x20)?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ee9')]:0xf0===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['kind']?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2eea')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2eeb')];break;case 0xef:_0x2327c6=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2eec')];break;case 0xf2:_0x2327c6=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2eed')];break;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2eee')+_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]);}return{'diagnosticMessage':_0x2327c6,'errorNode':_0x146f6e,'typeName':_0x146f6e[_0x1a4e('0x2cb')]};}:_0x368e5a[_0x1a4e('0x242f')](_0x146f6e)?function(){var _0x2327c6;_0x2327c6=0xf0===_0x146f6e[_0x1a4e('0x11c')]['parent']['kind']?_0x368e5a[_0x1a4e('0x252f')](_0x146f6e[_0x1a4e('0x11c')])&&0x6d===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2381')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2eef')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ef0')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ef1')];return{'diagnosticMessage':_0x2327c6,'errorNode':_0x146f6e,'typeName':_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])};}:_0x368e5a[_0x1a4e('0x2bd3')](_0x146f6e)?function(){return{'diagnosticMessage':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ef2')],'errorNode':_0x146f6e,'typeName':_0x146f6e[_0x1a4e('0x2cb')]};}:_0x368e5a[_0x1a4e('0x2ef3')](_0x146f6e)?function(){return{'diagnosticMessage':_0x368e5a['Diagnostics'][_0x1a4e('0x2ef4')],'errorNode':_0x146f6e['type'],'typeName':_0x146f6e['name']};}:_0x368e5a['Debug']['assertNever'](_0x146f6e,_0x1a4e('0x2ef5')+_0x368e5a[_0x1a4e('0x18c5')][_0x146f6e['kind']]);function _0x2327c6(_0x2327c6){var _0x55ff7e=function(_0x2327c6){return 0xed===_0x146f6e[_0x1a4e('0x146b')]||0xba===_0x146f6e[_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x2ec3')]?0x2===_0x2327c6['accessibility']?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ef6')]:_0x368e5a['Diagnostics'][_0x1a4e('0x2ef7')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ef8')]:0x9a===_0x146f6e[_0x1a4e('0x146b')]||0x99===_0x146f6e[_0x1a4e('0x146b')]||0x97===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e['parent'],0x8)?_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20)?_0x2327c6[_0x1a4e('0x2ec3')]?0x2===_0x2327c6['accessibility']?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ef9')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2efa')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2efb')]:0xf0===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0x97===_0x146f6e[_0x1a4e('0x146b')]?_0x2327c6['errorModuleName']?0x2===_0x2327c6['accessibility']?_0x368e5a['Diagnostics'][_0x1a4e('0x2efc')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2efd')]:_0x368e5a['Diagnostics']['Public_property_0_of_exported_class_has_or_is_using_private_name_1']:_0x2327c6[_0x1a4e('0x2ec3')]?_0x368e5a[_0x1a4e('0x167d')]['Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2efe')]:void 0x0;}(_0x2327c6);return void 0x0!==_0x55ff7e?{'diagnosticMessage':_0x55ff7e,'errorNode':_0x146f6e,'typeName':_0x146f6e[_0x1a4e('0x2cb')]}:void 0x0;}}_0x368e5a[_0x1a4e('0x2eff')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x238d')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24ec')](_0x146f6e)||_0x368e5a[_0x1a4e('0x238e')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2573')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2574')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24ef')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24dd')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24ed')](_0x146f6e)||_0x368e5a[_0x1a4e('0x29a3')](_0x146f6e)||_0x368e5a['isFunctionDeclaration'](_0x146f6e)||_0x368e5a[_0x1a4e('0x24ac')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24ea')](_0x146f6e)||_0x368e5a[_0x1a4e('0x242f')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2bd3')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2ef3')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23e3')](_0x146f6e)||_0x368e5a['isIndexSignatureDeclaration'](_0x146f6e);},_0x368e5a[_0x1a4e('0x2f00')]=function(_0x2327c6){return _0x368e5a[_0x1a4e('0x2573')](_0x2327c6)||_0x368e5a['isGetAccessor'](_0x2327c6)?function(_0x146f6e){var _0x55ff7e=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x20)?_0x146f6e[_0x1a4e('0x2ec3')]?0x2===_0x146f6e[_0x1a4e('0x2989')]?_0x368e5a[_0x1a4e('0x167d')]['Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named']:_0x368e5a[_0x1a4e('0x167d')]['Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2efb')]:0xf0===_0x2327c6[_0x1a4e('0x11c')]['kind']?_0x146f6e[_0x1a4e('0x2ec3')]?0x2===_0x146f6e[_0x1a4e('0x2989')]?_0x368e5a[_0x1a4e('0x167d')]['Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named']:_0x368e5a[_0x1a4e('0x167d')]['Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2']:_0x368e5a[_0x1a4e('0x167d')]['Public_property_0_of_exported_class_has_or_is_using_private_name_1']:_0x146f6e[_0x1a4e('0x2ec3')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f01')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2efe')];}(_0x146f6e);return void 0x0!==_0x55ff7e?{'diagnosticMessage':_0x55ff7e,'errorNode':_0x2327c6,'typeName':_0x2327c6[_0x1a4e('0x2cb')]}:void 0x0;}:_0x368e5a[_0x1a4e('0x29a3')](_0x2327c6)||_0x368e5a[_0x1a4e('0x24ed')](_0x2327c6)?function(_0x146f6e){var _0x55ff7e=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x20)?_0x146f6e['errorModuleName']?0x2===_0x146f6e[_0x1a4e('0x2989')]?_0x368e5a['Diagnostics']['Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f02')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f03')]:0xf0===_0x2327c6[_0x1a4e('0x11c')]['kind']?_0x146f6e[_0x1a4e('0x2ec3')]?0x2===_0x146f6e[_0x1a4e('0x2989')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f04')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f05')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f06')]:_0x146f6e[_0x1a4e('0x2ec3')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f07')]:_0x368e5a[_0x1a4e('0x167d')]['Method_0_of_exported_interface_has_or_is_using_private_name_1'];}(_0x146f6e);return void 0x0!==_0x55ff7e?{'diagnosticMessage':_0x55ff7e,'errorNode':_0x2327c6,'typeName':_0x2327c6[_0x1a4e('0x2cb')]}:void 0x0;}:_0x146f6e(_0x2327c6);},_0x368e5a['createGetSymbolAccessibilityDiagnosticForNode']=_0x146f6e;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x2f08')]=function(_0x146f6e,_0x55ff7e,_0x1adc17){if(_0x1adc17&&_0x368e5a[_0x1a4e('0x23a9')](_0x1adc17))return[];var _0xf79407=_0x146f6e[_0x1a4e('0x23f1')]();return _0x368e5a['transformNodes'](_0x55ff7e,_0x146f6e,_0xf79407,_0x1adc17?[_0x1adc17]:_0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x2447')](),_0x368e5a[_0x1a4e('0x23aa')]),[_0x2327c6],!0x1)['diagnostics'];};var _0x146f6e=0x81c0d;function _0x2327c6(_0x2327c6){var _0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0xd2cc2a,_0x2fad6f,_0x17ec37,_0x4af9c1,_0xcce563,_0x4c316b=function(){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2f09'));},_0x308df6=_0x4c316b,_0x563b50=!0x0,_0x2a6ebe=!0x1,_0x133ef6=!0x1,_0x1f307f=!0x1,_0x182525=!0x1,_0x41046f=_0x2327c6[_0x1a4e('0x2ea3')](),_0x13de50={'trackSymbol':function(_0x368e5a,_0x146f6e,_0x2327c6){if(0x40000&_0x368e5a[_0x1a4e('0x7b2')])return;_0x16f6ce(_0x52e493['isSymbolAccessible'](_0x368e5a,_0x146f6e,_0x2327c6,!0x0)),_0x3355f0(_0x52e493[_0x1a4e('0x2f0a')](_0x368e5a,_0x2327c6));},'reportInaccessibleThisError':function(){_0x2fad6f&&_0x2327c6['addDiagnostic'](_0x368e5a[_0x1a4e('0x2354')](_0x2fad6f,_0x368e5a['Diagnostics'][_0x1a4e('0x2f0b')],_0x368e5a['declarationNameToString'](_0x2fad6f),_0x1a4e('0x19b5')));},'reportInaccessibleUniqueSymbolError':function(){_0x2fad6f&&_0x2327c6[_0x1a4e('0x2f0c')](_0x368e5a[_0x1a4e('0x2354')](_0x2fad6f,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f0b')],_0x368e5a[_0x1a4e('0x1676')](_0x2fad6f),_0x1a4e('0x2f0d')));},'reportPrivateInBaseOfClassExpression':function(_0x146f6e){_0x2fad6f&&_0x2327c6[_0x1a4e('0x2f0c')](_0x368e5a[_0x1a4e('0x2354')](_0x2fad6f,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f0e')],_0x146f6e));},'reportLikelyUnsafeImportRequiredError':function(_0x146f6e){_0x2fad6f&&_0x2327c6[_0x1a4e('0x2f0c')](_0x368e5a[_0x1a4e('0x2354')](_0x2fad6f,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2f0f')],_0x368e5a[_0x1a4e('0x1676')](_0x2fad6f),_0x146f6e));},'moduleResolverHost':_0x41046f,'trackReferencedAmbientModule':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x52e493[_0x1a4e('0x2f0a')](_0x2327c6,0x3ffffff);if(_0x368e5a['length'](_0x55ff7e))return _0x3355f0(_0x55ff7e);var _0x1adc17=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e);_0x4af9c1['set'](''+_0x368e5a[_0x1a4e('0x2dc2')](_0x1adc17),_0x1adc17);},'trackExternalModuleSymbolOfImportTypeNode':function(_0x368e5a){_0x2a6ebe||(_0xd2cc2a||(_0xd2cc2a=[]))[_0x1a4e('0x46')](_0x368e5a);}},_0x52e493=_0x2327c6['getEmitResolver'](),_0x37a0cd=_0x2327c6[_0x1a4e('0x23f1')](),_0x5b003a=_0x368e5a[_0x1a4e('0x2473')](_0x37a0cd),_0x1d9605=_0x37a0cd['noResolve'],_0x78b5ce=_0x37a0cd[_0x1a4e('0x277b')];return function(_0x146f6e){if(0x117===_0x146f6e[_0x1a4e('0x146b')]&&(_0x146f6e[_0x1a4e('0x2423')]||_0x368e5a['isSourceFileJS'](_0x146f6e)))return _0x146f6e;if(0x118===_0x146f6e['kind']){_0x2a6ebe=!0x0,_0x4af9c1=_0x368e5a[_0x1a4e('0x1772')](),_0xcce563=_0x368e5a[_0x1a4e('0x1772')]();var _0x55ff7e=!0x1,_0x1adc17=_0x368e5a[_0x1a4e('0x2cf8')](_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2c1e')],function(_0x146f6e){if(!_0x146f6e['isDeclarationFile']&&!_0x368e5a[_0x1a4e('0x23a9')](_0x146f6e)){if(_0x55ff7e=_0x55ff7e||_0x146f6e[_0x1a4e('0x261b')],_0x17ec37=_0x146f6e,_0x2c9ec9=_0x146f6e,_0x1b06ad=void 0x0,_0x56674b=!0x1,_0x326eae=_0x368e5a[_0x1a4e('0x1772')](),_0x308df6=_0x4c316b,_0x1f307f=!0x1,_0x182525=!0x1,_0x22f948(_0x146f6e,_0x4af9c1),_0x5d63d5(_0x146f6e,_0xcce563),_0x368e5a[_0x1a4e('0x22f1')](_0x146f6e)){_0x133ef6=!0x1,_0x563b50=!0x1;var _0x1adc17=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2366')],_0x2c7077),_0xf79407=_0x368e5a['updateSourceFileNode'](_0x146f6e,[_0x368e5a[_0x1a4e('0x2cb7')]([],[_0x368e5a[_0x1a4e('0x2c2e')](0x7d)],_0x368e5a[_0x1a4e('0x2896')](_0x368e5a['getResolvedExternalModuleName'](_0x2327c6['getEmitHost'](),_0x146f6e)),_0x368e5a[_0x1a4e('0x2f10')](_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0xdf2c78(_0x1adc17)),_0x146f6e[_0x1a4e('0x2366')])))],!0x0,[],[],!0x1,[]);return _0xf79407;}_0x563b50=!0x0;var _0x420b32=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2366')],_0x2c7077);return _0x368e5a[_0x1a4e('0x2cee')](_0x146f6e,_0xdf2c78(_0x420b32),!0x0,[],[],!0x1,[]);}}),_0x368e5a[_0x1a4e('0x1713')](_0x146f6e[_0x1a4e('0x2d02')],function(_0x146f6e){if(0x11a===_0x146f6e[_0x1a4e('0x146b')])return _0x368e5a[_0x1a4e('0x2f11')](_0x146f6e[_0x1a4e('0x2cfe')],_0x146f6e[_0x1a4e('0x2cff')],_0x146f6e[_0x1a4e('0x2d00')]);}));_0x1adc17[_0x1a4e('0x2f12')]=[],_0x1adc17['syntheticTypeReferences']=_0x2afd0a(),_0x1adc17[_0x1a4e('0x2f13')]=_0xc58432(),_0x1adc17[_0x1a4e('0x261b')]=_0x55ff7e;var _0xf79407=_0x368e5a[_0x1a4e('0x1671')](_0x368e5a[_0x1a4e('0x166f')](_0x368e5a[_0x1a4e('0x2f14')](_0x146f6e,_0x41046f,!0x0)[_0x1a4e('0x2f15')])),_0x2fad6f=_0x2d6de6(_0x1adc17['syntheticFileReferences'],_0xf79407);return _0x4af9c1[_0x1a4e('0x3b')](_0x2fad6f),_0x1adc17;}_0x563b50=!0x0,_0x1f307f=!0x1,_0x182525=!0x1,_0x2c9ec9=_0x146f6e,_0x17ec37=_0x146f6e,_0x308df6=_0x4c316b,_0x2a6ebe=!0x1,_0x133ef6=!0x1,_0x56674b=!0x1,_0x1b06ad=void 0x0,_0x326eae=_0x368e5a['createMap'](),_0x420b32=void 0x0,_0x4af9c1=_0x22f948(_0x17ec37,_0x368e5a[_0x1a4e('0x1772')]()),_0xcce563=_0x5d63d5(_0x17ec37,_0x368e5a[_0x1a4e('0x1772')]());var _0x13de50=[],_0x52e493=_0x368e5a['getDirectoryPath'](_0x368e5a['normalizeSlashes'](_0x368e5a[_0x1a4e('0x2f14')](_0x146f6e,_0x41046f,!0x0)[_0x1a4e('0x2f15')])),_0x37a0cd=_0x2d6de6(_0x13de50,_0x52e493),_0x5b003a=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2366')],_0x2c7077),_0x1d9605=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0xdf2c78(_0x5b003a)),_0x146f6e[_0x1a4e('0x2366')]);_0x4af9c1[_0x1a4e('0x3b')](_0x37a0cd);var _0x78b5ce=_0x368e5a[_0x1a4e('0xd9')](_0x1d9605,_0x368e5a['isAnyImportSyntax']);_0x368e5a[_0x1a4e('0x22f1')](_0x146f6e)&&(!_0x133ef6||_0x1f307f&&!_0x182525)&&(_0x1d9605=_0x368e5a[_0x1a4e('0x2d12')](_0x368e5a[_0x1a4e('0x28d1')](_0x1d9605[_0x1a4e('0x9a')]([_0x368e5a['createExportDeclaration'](void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2f16')]([]),void 0x0)])),_0x1d9605));var _0x535f81=_0x368e5a[_0x1a4e('0x2cee')](_0x146f6e,_0x1d9605,!0x0,_0x13de50,_0x2afd0a(),_0x146f6e[_0x1a4e('0x261b')],_0xc58432());return _0x535f81[_0x1a4e('0x2f17')]=_0xd2cc2a,_0x535f81;function _0xc58432(){return _0x368e5a[_0x1a4e('0x21')](_0x368e5a[_0x1a4e('0x1729')](_0xcce563[_0x1a4e('0x56')]()),function(_0x368e5a){return{'fileName':_0x368e5a,'pos':-0x1,'end':-0x1};});}function _0x2afd0a(){return _0x420b32?_0x368e5a[_0x1a4e('0x1713')](_0x368e5a[_0x1a4e('0x1729')](_0x420b32[_0x1a4e('0x56')]()),_0x2b7227):[];}function _0x2b7227(_0x146f6e){if(_0x78b5ce)for(var _0x2327c6=0x0,_0x55ff7e=_0x78b5ce;_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(_0x368e5a['isImportEqualsDeclaration'](_0x1adc17)&&_0x368e5a[_0x1a4e('0x2525')](_0x1adc17[_0x1a4e('0x236d')])){var _0xf79407=_0x1adc17['moduleReference'][_0x1a4e('0x2302')];if(_0x368e5a[_0x1a4e('0x2855')](_0xf79407)&&_0xf79407['text']===_0x146f6e)return;}else if(_0x368e5a[_0x1a4e('0x2981')](_0x1adc17)&&_0x368e5a['isStringLiteral'](_0x1adc17['moduleSpecifier'])&&_0x1adc17[_0x1a4e('0x23c5')][_0x1a4e('0xe04')]===_0x146f6e)return;}return{'fileName':_0x146f6e,'pos':-0x1,'end':-0x1};}function _0x2d6de6(_0x2327c6,_0x55ff7e){return function(_0x1adc17){var _0xf79407;if(_0x1adc17[_0x1a4e('0x2423')])_0xf79407=_0x1adc17['fileName'];else{if(_0x2a6ebe&&_0x368e5a[_0x1a4e('0x2ac')](_0x146f6e[_0x1a4e('0x2c1e')],_0x1adc17))return;var _0x2c9ec9=_0x368e5a['getOutputPathsFor'](_0x1adc17,_0x41046f,!0x0);_0xf79407=_0x2c9ec9['declarationFilePath']||_0x2c9ec9[_0x1a4e('0x2f18')]||_0x1adc17['fileName'];}if(_0xf79407){var _0x420b32=_0x368e5a['getRelativePathToDirectoryOrUrl'](_0x55ff7e,_0xf79407,_0x41046f['getCurrentDirectory'](),_0x41046f['getCanonicalFileName'],!0x1);if(_0x368e5a[_0x1a4e('0xdfb')](_0x420b32,'./')&&_0x368e5a[_0x1a4e('0x25ae')](_0x420b32)&&(_0x420b32=_0x420b32[_0x1a4e('0x281')](0x2)),_0x368e5a[_0x1a4e('0xdfb')](_0x420b32,_0x1a4e('0x2f19'))||-0x1!==_0x420b32[_0x1a4e('0x3e')](_0x1a4e('0x2824')))return;_0x2327c6['push']({'pos':-0x1,'end':-0x1,'fileName':_0x420b32});}};}};function _0x3355f0(_0x146f6e){if(_0x146f6e){_0x420b32=_0x420b32||_0x368e5a['createMap']();for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x420b32['set'](_0x1adc17,!0x0);}}}function _0x16f6ce(_0x146f6e){if(0x0===_0x146f6e[_0x1a4e('0x2989')]){if(_0x146f6e&&_0x146f6e['aliasesToMakeVisible'])if(_0x1b06ad)for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2f1a')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x368e5a['pushIfUnique'](_0x1b06ad,_0xf79407);}else _0x1b06ad=_0x146f6e[_0x1a4e('0x2f1a')];}else{var _0x2c9ec9=_0x308df6(_0x146f6e);_0x2c9ec9&&(_0x2c9ec9[_0x1a4e('0xe7d')]?_0x2327c6[_0x1a4e('0x2f0c')](_0x368e5a[_0x1a4e('0x2354')](_0x146f6e[_0x1a4e('0x2a0b')]||_0x2c9ec9[_0x1a4e('0x2a0b')],_0x2c9ec9[_0x1a4e('0x2f1b')],_0x368e5a[_0x1a4e('0x1675')](_0x2c9ec9[_0x1a4e('0xe7d')]),_0x146f6e[_0x1a4e('0x2f1c')],_0x146f6e['errorModuleName'])):_0x2327c6[_0x1a4e('0x2f0c')](_0x368e5a[_0x1a4e('0x2354')](_0x146f6e[_0x1a4e('0x2a0b')]||_0x2c9ec9[_0x1a4e('0x2a0b')],_0x2c9ec9[_0x1a4e('0x2f1b')],_0x146f6e[_0x1a4e('0x2f1c')],_0x146f6e[_0x1a4e('0x2ec3')])));}}function _0x22f948(_0x146f6e,_0x2327c6){return _0x1d9605||_0x368e5a[_0x1a4e('0x23a9')](_0x146f6e)?_0x2327c6:(_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2617')],function(_0x55ff7e){var _0x1adc17=_0x368e5a['tryResolveScriptReference'](_0x41046f,_0x146f6e,_0x55ff7e);_0x1adc17&&_0x2327c6['set'](''+_0x368e5a[_0x1a4e('0x2dc2')](_0x1adc17),_0x1adc17);}),_0x2327c6);}function _0x5d63d5(_0x146f6e,_0x2327c6){return _0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2619')],function(_0x368e5a){_0x41046f['getLibFileFromReference'](_0x368e5a)&&_0x2327c6[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x1b39')][_0x1a4e('0x2f1d')](),!0x0);}),_0x2327c6;}function _0x139eb0(_0x146f6e,_0x2327c6){var _0x1adc17;_0x56674b||(_0x1adc17=_0x308df6,_0x308df6=_0x368e5a[_0x1a4e('0x2f1e')](_0x146f6e));var _0xf79407=_0x368e5a[_0x1a4e('0x2d7a')](_0x146f6e,void 0x0,_0x55ff7e(_0x146f6e,_0x2327c6),_0x146f6e[_0x1a4e('0x25f9')],function _0x146f6e(_0x2327c6){return 0x48===_0x2327c6['kind']?_0x2327c6:0xb9===_0x2327c6[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2d82')](_0x2327c6,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x2398')],_0x55ff7e)):_0x368e5a[_0x1a4e('0x2c5d')](_0x2327c6,_0x368e5a['visitNodes'](_0x2327c6['elements'],_0x55ff7e));function _0x55ff7e(_0x2327c6){return 0xd2===_0x2327c6[_0x1a4e('0x146b')]?_0x2327c6:_0x368e5a[_0x1a4e('0x2d83')](_0x2327c6,_0x2327c6[_0x1a4e('0x25f9')],_0x2327c6[_0x1a4e('0x81a')],_0x146f6e(_0x2327c6['name']),_0x1414c4(_0x2327c6)?_0x2327c6['initializer']:void 0x0);}}(_0x146f6e[_0x1a4e('0x2cb')]),_0x52e493['isOptionalParameter'](_0x146f6e)?_0x146f6e[_0x1a4e('0x23ca')]||_0x368e5a[_0x1a4e('0x28b6')](0x38):void 0x0,_0x581721(_0x146f6e,_0x146f6e[_0x1a4e('0x40')],!0x0),_0x44f93d(_0x146f6e));return _0x56674b||(_0x308df6=_0x1adc17),_0xf79407;}function _0x1414c4(_0x146f6e){return function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9a:case 0x99:return!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8);case 0x97:case 0xed:return!0x0;}return!0x1;}(_0x146f6e)&&_0x52e493[_0x1a4e('0x2f1f')](_0x368e5a[_0x1a4e('0x240a')](_0x146f6e));}function _0x44f93d(_0x146f6e){if(_0x1414c4(_0x146f6e))return _0x52e493['createLiteralConstValue'](_0x368e5a[_0x1a4e('0x240a')](_0x146f6e),_0x13de50);}function _0x581721(_0x2327c6,_0x55ff7e,_0x1adc17){if((_0x1adc17||!_0x368e5a['hasModifier'](_0x2327c6,0x8))&&!_0x1414c4(_0x2327c6)){var _0xf79407,_0x420b32=0x97===_0x2327c6['kind']&&(_0x52e493[_0x1a4e('0x2f20')](_0x2327c6)||_0x52e493[_0x1a4e('0x2f21')](_0x2327c6));return _0x55ff7e&&!_0x420b32?_0x368e5a[_0x1a4e('0x2d76')](_0x55ff7e,_0x101661):_0x368e5a[_0x1a4e('0x240a')](_0x2327c6)?0x9f===_0x2327c6[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x289c')](0x78):(_0x2fad6f=_0x2327c6[_0x1a4e('0x2cb')],_0x56674b||(_0xf79407=_0x308df6,_0x308df6=_0x368e5a[_0x1a4e('0x2f1e')](_0x2327c6)),0xed===_0x2327c6[_0x1a4e('0x146b')]||0xba===_0x2327c6[_0x1a4e('0x146b')]?_0x1b06ad(_0x52e493[_0x1a4e('0x2f22')](_0x2327c6,_0x2c9ec9,_0x146f6e,_0x13de50)):0x97===_0x2327c6[_0x1a4e('0x146b')]||0x9a===_0x2327c6[_0x1a4e('0x146b')]||0x99===_0x2327c6[_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x236a')]?_0x1b06ad(_0x52e493[_0x1a4e('0x2f22')](_0x2327c6,_0x2c9ec9,_0x146f6e,_0x13de50,_0x420b32)||_0x52e493[_0x1a4e('0x2f23')](_0x2327c6[_0x1a4e('0x236a')],_0x2c9ec9,_0x146f6e,_0x13de50)):_0x1b06ad(_0x52e493[_0x1a4e('0x2f22')](_0x2327c6,_0x2c9ec9,_0x146f6e,_0x13de50,_0x420b32)):_0x1b06ad(_0x52e493[_0x1a4e('0x2f24')](_0x2327c6,_0x2c9ec9,_0x146f6e,_0x13de50))):_0x55ff7e?_0x368e5a[_0x1a4e('0x2d76')](_0x55ff7e,_0x101661):_0x368e5a['createKeywordTypeNode'](0x78);}function _0x1b06ad(_0x146f6e){return _0x2fad6f=void 0x0,_0x56674b||(_0x308df6=_0xf79407),_0x146f6e||_0x368e5a[_0x1a4e('0x289c')](0x78);}}function _0x498401(_0x146f6e){switch((_0x146f6e=_0x368e5a[_0x1a4e('0x240a')](_0x146f6e))[_0x1a4e('0x146b')]){case 0xef:case 0xf4:case 0xf1:case 0xf0:case 0xf2:case 0xf3:return!_0x52e493[_0x1a4e('0x2f25')](_0x146f6e);case 0xed:return!_0x1faaf7(_0x146f6e);case 0xf8:case 0xf9:case 0xff:case 0xfe:return!0x1;}return!0x1;}function _0x1faaf7(_0x146f6e){return!_0x368e5a[_0x1a4e('0x2506')](_0x146f6e)&&(_0x368e5a[_0x1a4e('0x1678')](_0x146f6e['name'])?_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x2398')],_0x1faaf7):_0x52e493['isDeclarationVisible'](_0x146f6e));}function _0x394bf2(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8)){var _0x1adc17=_0x368e5a[_0x1a4e('0x21')](_0x2327c6,function(_0x368e5a){return _0x139eb0(_0x368e5a,_0x55ff7e);});if(_0x1adc17)return _0x368e5a[_0x1a4e('0x28d1')](_0x1adc17,_0x2327c6[_0x1a4e('0x265d')]);}}function _0x6706d(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8)?void 0x0:_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6,_0x101661);}function _0x4e445f(_0x146f6e){return _0x368e5a['isSourceFile'](_0x146f6e)||_0x368e5a['isTypeAliasDeclaration'](_0x146f6e)||_0x368e5a['isModuleDeclaration'](_0x146f6e)||_0x368e5a[_0x1a4e('0x251d')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23ef')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)||_0x368e5a['isIndexSignatureDeclaration'](_0x146f6e)||_0x368e5a[_0x1a4e('0x2f26')](_0x146f6e);}function _0x137f11(_0x368e5a,_0x146f6e){_0x16f6ce(_0x52e493[_0x1a4e('0x2f27')](_0x368e5a,_0x146f6e)),_0x3355f0(_0x52e493[_0x1a4e('0x2f28')](_0x368e5a));}function _0xa9d161(_0x146f6e,_0x2327c6){return _0x368e5a['hasJSDocNodes'](_0x146f6e)&&_0x368e5a['hasJSDocNodes'](_0x2327c6)&&(_0x146f6e['jsDoc']=_0x2327c6['jsDoc']),_0x368e5a[_0x1a4e('0x28c2')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d18')](_0x2327c6));}function _0x20f8e3(_0x146f6e,_0x55ff7e){if(_0x55ff7e){if(_0x133ef6=_0x133ef6||0xf4!==_0x146f6e['kind']&&0xb7!==_0x146f6e[_0x1a4e('0x146b')],_0x368e5a['isStringLiteralLike'](_0x55ff7e))if(_0x2a6ebe){var _0x1adc17=_0x368e5a[_0x1a4e('0x243e')](_0x2327c6[_0x1a4e('0x2ea3')](),_0x52e493,_0x146f6e);if(_0x1adc17)return _0x368e5a[_0x1a4e('0x2896')](_0x1adc17);}else{var _0xf79407=_0x52e493[_0x1a4e('0x2f29')](_0x55ff7e);_0xf79407&&(_0xd2cc2a||(_0xd2cc2a=[]))[_0x1a4e('0x46')](_0xf79407);}return _0x55ff7e;}}function _0xdf2c78(_0x146f6e){for(;_0x368e5a[_0x1a4e('0x1e')](_0x1b06ad);){var _0x2327c6=_0x1b06ad[_0x1a4e('0x7d')]();if(!_0x368e5a[_0x1a4e('0x298a')](_0x2327c6))return _0x368e5a['Debug'][_0x1a4e('0x1709')]('Late\x20replaced\x20statement\x20was\x20found\x20which\x20is\x20not\x20handled\x20by\x20the\x20declaration\x20transformer!:\x20'+(_0x368e5a['SyntaxKind']?_0x368e5a[_0x1a4e('0x18c5')][_0x2327c6[_0x1a4e('0x146b')]]:_0x2327c6[_0x1a4e('0x146b')]));var _0x55ff7e=_0x51dea6(_0x2327c6,!0x0);_0x326eae['set'](''+_0x368e5a[_0x1a4e('0x2dc2')](_0x2327c6),_0x55ff7e);}return _0x368e5a[_0x1a4e('0x2d77')](_0x146f6e,function(_0x146f6e){if(_0x368e5a['isLateVisibilityPaintedStatement'](_0x146f6e)){var _0x2327c6=''+_0x368e5a[_0x1a4e('0x2dc2')](_0x146f6e);if(_0x326eae[_0x1a4e('0x178')](_0x2327c6)){var _0x55ff7e=_0x326eae[_0x1a4e('0x179')](_0x2327c6);return _0x326eae[_0x1a4e('0xf4c')](_0x2327c6),_0x55ff7e&&_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e[_0x1a4e('0x11c')])&&((_0x368e5a['isArray'](_0x55ff7e)?_0x368e5a[_0x1a4e('0x1c2')](_0x55ff7e,_0x520c81):_0x520c81(_0x55ff7e))&&(_0x1f307f=!0x0),(_0x368e5a[_0x1a4e('0x15')](_0x55ff7e)?_0x368e5a[_0x1a4e('0x1c2')](_0x55ff7e,_0x3362d8):_0x3362d8(_0x55ff7e))&&(_0x133ef6=!0x0)),_0x55ff7e;}}return _0x146f6e;});}function _0x3362d8(_0x146f6e){return _0x368e5a[_0x1a4e('0x234d')](_0x146f6e)||_0x368e5a[_0x1a4e('0x237b')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1);}function _0x520c81(_0x146f6e){return!(_0x368e5a['isAnyImportOrReExport'](_0x146f6e)||_0x368e5a['isExportAssignment'](_0x146f6e)||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)||_0x368e5a[_0x1a4e('0x233c')](_0x146f6e));}function _0x101661(_0x146f6e){if(!_0x5152d1(_0x146f6e)){if(_0x368e5a[_0x1a4e('0x23e6')](_0x146f6e)){if(_0x498401(_0x146f6e))return;if(_0x368e5a['hasDynamicName'](_0x146f6e)&&!_0x52e493['isLateBound'](_0x368e5a[_0x1a4e('0x240a')](_0x146f6e)))return;}if(!(_0x368e5a['isFunctionLike'](_0x146f6e)&&_0x52e493[_0x1a4e('0x2f2a')](_0x146f6e)||_0x368e5a[_0x1a4e('0x250b')](_0x146f6e))){var _0x55ff7e;_0x4e445f(_0x146f6e)&&(_0x55ff7e=_0x2c9ec9,_0x2c9ec9=_0x146f6e);var _0x1adc17=_0x308df6;if((_0x368e5a['isMethodDeclaration'](_0x146f6e)||_0x368e5a['isMethodSignature'](_0x146f6e))&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8)){if(_0x146f6e[_0x1a4e('0xb1b')]&&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')]&&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x22e5')][0x0]!==_0x146f6e)return;return _0x1f307f(_0x368e5a['createProperty'](void 0x0,_0xc5a6f(_0x146f6e),_0x146f6e[_0x1a4e('0x2cb')],void 0x0,void 0x0,void 0x0));}var _0xf79407=_0x368e5a[_0x1a4e('0x2eff')](_0x146f6e);_0xf79407&&!_0x56674b&&(_0x308df6=_0x368e5a[_0x1a4e('0x2f1e')](_0x146f6e)),_0x368e5a[_0x1a4e('0x2f2b')](_0x146f6e)&&_0x137f11(_0x146f6e[_0x1a4e('0x25fb')],_0x2c9ec9);var _0x420b32=_0x56674b,_0x1b06ad=(0xa8===_0x146f6e[_0x1a4e('0x146b')]||0xb5===_0x146f6e[_0x1a4e('0x146b')])&&0xf2!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')];if(_0x1b06ad&&(_0x56674b=!0x0),function(_0x368e5a){switch(_0x368e5a['kind']){case 0xa1:case 0x9d:case 0x9c:case 0x9e:case 0x9f:case 0x9a:case 0x99:case 0x9b:case 0xa0:case 0xa2:case 0xed:case 0x96:case 0xd3:case 0xa4:case 0xaf:case 0xa5:case 0xa6:case 0xb7:return!0x0;}return!0x1;}(_0x146f6e))switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xd3:(_0x368e5a[_0x1a4e('0x254a')](_0x146f6e[_0x1a4e('0x2302')])||_0x368e5a[_0x1a4e('0x2463')](_0x146f6e[_0x1a4e('0x2302')]))&&_0x137f11(_0x146f6e[_0x1a4e('0x2302')],_0x2c9ec9);var _0x326eae=_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x101661,_0x2327c6);return _0x1f307f(_0x368e5a[_0x1a4e('0x2c8a')](_0x326eae,_0x368e5a[_0x1a4e('0x2c12')](_0x326eae[_0x1a4e('0x2365')]),_0x326eae[_0x1a4e('0x2302')]));case 0xa4:_0x137f11(_0x146f6e[_0x1a4e('0xe7d')],_0x2c9ec9);_0x326eae=_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x101661,_0x2327c6);return _0x1f307f(_0x368e5a[_0x1a4e('0x2d7f')](_0x326eae,_0x326eae[_0x1a4e('0xe7d')],_0x368e5a[_0x1a4e('0x2c12')](_0x326eae[_0x1a4e('0x2365')])));case 0xa1:return _0x1f307f(_0x368e5a['updateConstructSignature'](_0x146f6e,_0x6706d(_0x146f6e,_0x146f6e[_0x1a4e('0x23d7')]),_0x394bf2(_0x146f6e,_0x146f6e[_0x1a4e('0x111a')]),_0x581721(_0x146f6e,_0x146f6e[_0x1a4e('0x40')])));case 0x9d:var _0xd2cc2a=_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8),_0x17ec37=_0x368e5a['createSignatureDeclaration'](0x9d,_0xd2cc2a?void 0x0:_0x6706d(_0x146f6e,_0x146f6e[_0x1a4e('0x23d7')]),_0xd2cc2a?void 0x0:_0x394bf2(_0x146f6e,_0x146f6e[_0x1a4e('0x111a')],0x0),void 0x0);return _0x17ec37['modifiers']=_0x368e5a[_0x1a4e('0x28d1')](_0xc5a6f(_0x146f6e)),_0x1f307f(_0x17ec37);case 0x9c:var _0x4af9c1=_0x368e5a['createSignatureDeclaration'](0x9b,_0x6706d(_0x146f6e,_0x146f6e['typeParameters']),_0x394bf2(_0x146f6e,_0x146f6e[_0x1a4e('0x111a')]),_0x581721(_0x146f6e,_0x146f6e[_0x1a4e('0x40')]));return _0x4af9c1[_0x1a4e('0x2cb')]=_0x146f6e[_0x1a4e('0x2cb')],_0x4af9c1[_0x1a4e('0x242d')]=_0x368e5a[_0x1a4e('0x28d1')](_0xc5a6f(_0x146f6e)),_0x4af9c1[_0x1a4e('0x23ca')]=_0x146f6e['questionToken'],_0x1f307f(_0x4af9c1);case 0x9e:case 0x9f:return _0x1f307f(_0x293c5c(_0x146f6e));case 0x9a:return _0x1f307f(_0x368e5a['updateProperty'](_0x146f6e,void 0x0,_0xc5a6f(_0x146f6e),_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x23ca')],_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8)?void 0x0:_0x581721(_0x146f6e,_0x146f6e[_0x1a4e('0x40')]),_0x44f93d(_0x146f6e)));case 0x99:return _0x1f307f(_0x368e5a[_0x1a4e('0x2c36')](_0x146f6e,_0xc5a6f(_0x146f6e),_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x23ca')],_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x8)?void 0x0:_0x581721(_0x146f6e,_0x146f6e[_0x1a4e('0x40')]),_0x44f93d(_0x146f6e)));case 0x9b:return _0x1f307f(_0x368e5a[_0x1a4e('0x2c3a')](_0x146f6e,_0x6706d(_0x146f6e,_0x146f6e[_0x1a4e('0x23d7')]),_0x394bf2(_0x146f6e,_0x146f6e[_0x1a4e('0x111a')]),_0x581721(_0x146f6e,_0x146f6e[_0x1a4e('0x40')]),_0x146f6e['name'],_0x146f6e[_0x1a4e('0x23ca')]));case 0xa0:return _0x1f307f(_0x368e5a[_0x1a4e('0x2c42')](_0x146f6e,_0x6706d(_0x146f6e,_0x146f6e[_0x1a4e('0x23d7')]),_0x394bf2(_0x146f6e,_0x146f6e['parameters']),_0x581721(_0x146f6e,_0x146f6e[_0x1a4e('0x40')])));case 0xa2:return _0x1f307f(_0x368e5a[_0x1a4e('0x2c45')](_0x146f6e,void 0x0,_0xc5a6f(_0x146f6e),_0x394bf2(_0x146f6e,_0x146f6e[_0x1a4e('0x111a')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x40')],_0x101661)||_0x368e5a[_0x1a4e('0x289c')](0x78)));case 0xed:return _0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])?_0x4f50ec(_0x146f6e[_0x1a4e('0x2cb')]):(_0x1b06ad=!0x0,_0x56674b=!0x0,_0x1f307f(_0x368e5a[_0x1a4e('0x2cae')](_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')],_0x581721(_0x146f6e,_0x146f6e['type']),_0x44f93d(_0x146f6e))));case 0x96:return function(_0x146f6e){return 0x9c===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e['parent'],0x8);}(_0x146f6e)&&(_0x146f6e[_0x1a4e('0x8')]||_0x146f6e[_0x1a4e('0x2364')])?_0x1f307f(_0x368e5a['updateTypeParameterDeclaration'](_0x146f6e,_0x146f6e[_0x1a4e('0x2cb')],void 0x0,void 0x0)):_0x1f307f(_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x101661,_0x2327c6));case 0xaf:var _0xcce563=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['checkType'],_0x101661),_0x4c316b=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['extendsType'],_0x101661),_0x563b50=_0x2c9ec9;_0x2c9ec9=_0x146f6e[_0x1a4e('0x25ff')];var _0x2a6ebe=_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x25ff')],_0x101661);_0x2c9ec9=_0x563b50;var _0x133ef6=_0x368e5a['visitNode'](_0x146f6e[_0x1a4e('0x266a')],_0x101661);return _0x1f307f(_0x368e5a[_0x1a4e('0x2c54')](_0x146f6e,_0xcce563,_0x4c316b,_0x2a6ebe,_0x133ef6));case 0xa5:return _0x1f307f(_0x368e5a['updateFunctionTypeNode'](_0x146f6e,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x23d7')],_0x101661),_0x394bf2(_0x146f6e,_0x146f6e[_0x1a4e('0x111a')]),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x40')],_0x101661)));case 0xa6:return _0x1f307f(_0x368e5a[_0x1a4e('0x2c49')](_0x146f6e,_0x368e5a['visitNodes'](_0x146f6e['typeParameters'],_0x101661),_0x394bf2(_0x146f6e,_0x146f6e['parameters']),_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x40')],_0x101661)));case 0xb7:return _0x368e5a[_0x1a4e('0x29fc')](_0x146f6e)?_0x1f307f(_0x368e5a[_0x1a4e('0x2c55')](_0x146f6e,_0x368e5a[_0x1a4e('0x2c5b')](_0x146f6e['argument'],_0x20f8e3(_0x146f6e,_0x146f6e[_0x1a4e('0x2300')][_0x1a4e('0x2301')])),_0x146f6e[_0x1a4e('0x2600')],_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2365')],_0x101661,_0x368e5a[_0x1a4e('0x2553')]),_0x146f6e[_0x1a4e('0x29fb')])):_0x1f307f(_0x146f6e);default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e,_0x1a4e('0x2f2c')+_0x368e5a[_0x1a4e('0x18c5')][_0x146f6e[_0x1a4e('0x146b')]]);}return _0x1f307f(_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x101661,_0x2327c6));}}function _0x1f307f(_0x2327c6){return _0x2327c6&&_0xf79407&&_0x368e5a['hasDynamicName'](_0x146f6e)&&function(_0x146f6e){var _0x2327c6;_0x56674b||(_0x2327c6=_0x308df6,_0x308df6=_0x368e5a[_0x1a4e('0x2f00')](_0x146f6e));_0x2fad6f=_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x52e493[_0x1a4e('0x2f2d')](_0x368e5a[_0x1a4e('0x240a')](_0x146f6e))),_0x137f11(_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x2302')],_0x2c9ec9),_0x56674b||(_0x308df6=_0x2327c6);_0x2fad6f=void 0x0;}(_0x146f6e),_0x4e445f(_0x146f6e)&&(_0x2c9ec9=_0x55ff7e),_0xf79407&&!_0x56674b&&(_0x308df6=_0x1adc17),_0x1b06ad&&(_0x56674b=_0x420b32),_0x2327c6===_0x146f6e?_0x2327c6:_0x2327c6&&_0x368e5a[_0x1a4e('0x2d25')](_0xa9d161(_0x2327c6,_0x146f6e),_0x146f6e);}}function _0x2c7077(_0x2327c6){if(function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xef:case 0xf4:case 0xf8:case 0xf1:case 0xf0:case 0xf2:case 0xf3:case 0xdb:case 0xf9:case 0xff:case 0xfe:return!0x0;}return!0x1;}(_0x2327c6)&&!_0x5152d1(_0x2327c6)){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xff:return _0x368e5a[_0x1a4e('0x22f0')](_0x2327c6['parent'])&&(_0x133ef6=!0x0,_0x182525=!0x0),_0x368e5a['updateExportDeclaration'](_0x2327c6,void 0x0,_0x2327c6[_0x1a4e('0x242d')],_0x2327c6['exportClause'],_0x20f8e3(_0x2327c6,_0x2327c6[_0x1a4e('0x23c5')]));case 0xfe:if(_0x368e5a[_0x1a4e('0x22f0')](_0x2327c6[_0x1a4e('0x11c')])&&(_0x133ef6=!0x0,_0x182525=!0x0),0x48===_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0x146b')])return _0x2327c6;var _0x55ff7e=_0x368e5a[_0x1a4e('0x2f2e')]('_default');_0x308df6=function(){return{'diagnosticMessage':_0x368e5a[_0x1a4e('0x167d')]['Default_export_of_the_module_has_or_is_using_private_name_0'],'errorNode':_0x2327c6};};var _0x1adc17=_0x368e5a[_0x1a4e('0x2cad')](_0x55ff7e,_0x52e493[_0x1a4e('0x2f23')](_0x2327c6[_0x1a4e('0x2302')],_0x2327c6,_0x146f6e,_0x13de50),void 0x0);return[_0x368e5a['createVariableStatement'](_0x563b50?[_0x368e5a[_0x1a4e('0x2c2e')](0x7d)]:[],_0x368e5a[_0x1a4e('0x2caf')]([_0x1adc17],0x2)),_0x368e5a[_0x1a4e('0x2cca')](_0x2327c6,_0x2327c6[_0x1a4e('0x232f')],_0x2327c6[_0x1a4e('0x242d')],_0x55ff7e)];}var _0xf79407=_0x51dea6(_0x2327c6);return _0x326eae['set'](''+_0x368e5a[_0x1a4e('0x2dc2')](_0x2327c6),_0xf79407),_0x2327c6;}}function _0x51dea6(_0x2327c6,_0x55ff7e){if(!_0x5152d1(_0x2327c6)){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xf8:return function(_0x146f6e){if(_0x52e493[_0x1a4e('0x2f25')](_0x146f6e)){if(0x103===_0x146f6e[_0x1a4e('0x236d')]['kind']){var _0x2327c6=_0x368e5a[_0x1a4e('0x23a7')](_0x146f6e);return _0x368e5a[_0x1a4e('0x2cbe')](_0x146f6e,void 0x0,_0x146f6e[_0x1a4e('0x242d')],_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2cd0')](_0x146f6e['moduleReference'],_0x20f8e3(_0x146f6e,_0x2327c6)));}var _0x55ff7e=_0x308df6;return _0x308df6=_0x368e5a[_0x1a4e('0x2f1e')](_0x146f6e),_0x137f11(_0x146f6e[_0x1a4e('0x236d')],_0x2c9ec9),_0x308df6=_0x55ff7e,_0x146f6e;}}(_0x2327c6);case 0xf9:return function(_0x146f6e){if(!_0x146f6e['importClause'])return _0x368e5a[_0x1a4e('0x2cc0')](_0x146f6e,void 0x0,_0x146f6e['modifiers'],_0x146f6e[_0x1a4e('0x23c6')],_0x20f8e3(_0x146f6e,_0x146f6e[_0x1a4e('0x23c5')]));var _0x2327c6=_0x146f6e[_0x1a4e('0x23c6')]&&_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x2cb')]&&_0x52e493[_0x1a4e('0x2f25')](_0x146f6e[_0x1a4e('0x23c6')])?_0x146f6e['importClause']['name']:void 0x0;if(!_0x146f6e['importClause'][_0x1a4e('0x23c7')])return _0x2327c6&&_0x368e5a['updateImportDeclaration'](_0x146f6e,void 0x0,_0x146f6e[_0x1a4e('0x242d')],_0x368e5a[_0x1a4e('0x2cc2')](_0x146f6e[_0x1a4e('0x23c6')],_0x2327c6,void 0x0),_0x20f8e3(_0x146f6e,_0x146f6e[_0x1a4e('0x23c5')]));if(0xfb===_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')][_0x1a4e('0x146b')]){var _0x55ff7e=_0x52e493[_0x1a4e('0x2f25')](_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')])?_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')]:void 0x0;return _0x2327c6||_0x55ff7e?_0x368e5a[_0x1a4e('0x2cc0')](_0x146f6e,void 0x0,_0x146f6e[_0x1a4e('0x242d')],_0x368e5a[_0x1a4e('0x2cc2')](_0x146f6e[_0x1a4e('0x23c6')],_0x2327c6,_0x55ff7e),_0x20f8e3(_0x146f6e,_0x146f6e[_0x1a4e('0x23c5')])):void 0x0;}var _0x1adc17=_0x368e5a['mapDefined'](_0x146f6e['importClause'][_0x1a4e('0x23c7')][_0x1a4e('0x2398')],function(_0x368e5a){return _0x52e493[_0x1a4e('0x2f25')](_0x368e5a)?_0x368e5a:void 0x0;});return _0x1adc17&&_0x1adc17[_0x1a4e('0x1e')]||_0x2327c6?_0x368e5a[_0x1a4e('0x2cc0')](_0x146f6e,void 0x0,_0x146f6e[_0x1a4e('0x242d')],_0x368e5a[_0x1a4e('0x2cc2')](_0x146f6e[_0x1a4e('0x23c6')],_0x2327c6,_0x1adc17&&_0x1adc17[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x2cc6')](_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')],_0x1adc17):void 0x0),_0x20f8e3(_0x146f6e,_0x146f6e[_0x1a4e('0x23c5')])):void 0x0;}(_0x2327c6);}if(!(_0x368e5a[_0x1a4e('0x23e6')](_0x2327c6)&&_0x498401(_0x2327c6)||_0x368e5a[_0x1a4e('0x2342')](_0x2327c6)&&_0x52e493['isImplementationOfOverload'](_0x2327c6))){var _0x1adc17;_0x4e445f(_0x2327c6)&&(_0x1adc17=_0x2c9ec9,_0x2c9ec9=_0x2327c6);var _0xf79407=_0x368e5a[_0x1a4e('0x2eff')](_0x2327c6),_0x420b32=_0x308df6;_0xf79407&&(_0x308df6=_0x368e5a['createGetSymbolAccessibilityDiagnosticForNode'](_0x2327c6));var _0x1b06ad=_0x563b50;switch(_0x2327c6['kind']){case 0xf2:return _0x22f948(_0x368e5a[_0x1a4e('0x2cb4')](_0x2327c6,void 0x0,_0xc5a6f(_0x2327c6,_0x55ff7e),_0x2327c6[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x23d7')],_0x101661,_0x368e5a[_0x1a4e('0x24ea')]),_0x368e5a[_0x1a4e('0x2d76')](_0x2327c6[_0x1a4e('0x40')],_0x101661,_0x368e5a['isTypeNode'])));case 0xf1:return _0x22f948(_0x368e5a[_0x1a4e('0x2cb3')](_0x2327c6,void 0x0,_0xc5a6f(_0x2327c6,_0x55ff7e),_0x2327c6[_0x1a4e('0x2cb')],_0x6706d(_0x2327c6,_0x2327c6[_0x1a4e('0x23d7')]),_0x33bdb6(_0x2327c6[_0x1a4e('0x237f')]),_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x2369')],_0x101661)));case 0xef:var _0x56674b=_0x22f948(_0x368e5a[_0x1a4e('0x2d8c')](_0x2327c6,void 0x0,_0xc5a6f(_0x2327c6,_0x55ff7e),void 0x0,_0x2327c6[_0x1a4e('0x2cb')],_0x6706d(_0x2327c6,_0x2327c6[_0x1a4e('0x23d7')]),_0x394bf2(_0x2327c6,_0x2327c6[_0x1a4e('0x111a')]),_0x581721(_0x2327c6,_0x2327c6['type']),void 0x0));if(_0x56674b&&_0x52e493[_0x1a4e('0x2f2f')](_0x2327c6)){var _0xd2cc2a=_0x368e5a[_0x1a4e('0x1713')](_0x52e493[_0x1a4e('0x2f30')](_0x2327c6),function(_0x2327c6){if(_0x368e5a['isPropertyAccessExpression'](_0x2327c6[_0x1a4e('0x2340')])){var _0x55ff7e=_0x52e493[_0x1a4e('0x2f22')](_0x2327c6[_0x1a4e('0x2340')],_0x2c9ec9,_0x146f6e,_0x13de50),_0x1adc17=_0x368e5a['createVariableDeclaration'](_0x368e5a[_0x1a4e('0x24d1')](_0x2327c6[_0x1a4e('0x22e8')]),_0x55ff7e,void 0x0);return _0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a['createVariableDeclarationList']([_0x1adc17]));}});return[_0x56674b,_0x368e5a['createModuleDeclaration'](void 0x0,_0xc5a6f(_0x2327c6,_0x55ff7e),_0x2327c6['name'],_0x368e5a[_0x1a4e('0x2f10')](_0xd2cc2a),0x10)];}return _0x56674b;case 0xf4:_0x563b50=!0x1;var _0x2fad6f=_0x2327c6[_0x1a4e('0x8f2')];if(_0x2fad6f&&0xf5===_0x2fad6f[_0x1a4e('0x146b')]){var _0x17ec37=_0x368e5a[_0x1a4e('0x2d77')](_0x2fad6f['statements'],_0x2c7077),_0x4af9c1=_0x368e5a['updateModuleBlock'](_0x2fad6f,_0xdf2c78(_0x17ec37));_0x563b50=_0x1b06ad;var _0xcce563=_0xc5a6f(_0x2327c6,_0x55ff7e);return _0x22f948(_0x368e5a[_0x1a4e('0x2cb8')](_0x2327c6,void 0x0,_0xcce563,_0x368e5a[_0x1a4e('0x2344')](_0x2327c6)?_0x20f8e3(_0x2327c6,_0x2327c6[_0x1a4e('0x2cb')]):_0x2327c6['name'],_0x4af9c1));}_0x563b50=_0x1b06ad;_0xcce563=_0xc5a6f(_0x2327c6,_0x55ff7e);_0x563b50=!0x1,_0x368e5a['visitNode'](_0x2fad6f,_0x2c7077);var _0x4c316b=''+_0x368e5a[_0x1a4e('0x2dc2')](_0x2fad6f);_0x4af9c1=_0x326eae[_0x1a4e('0x179')](_0x4c316b);return _0x326eae['delete'](_0x4c316b),_0x22f948(_0x368e5a['updateModuleDeclaration'](_0x2327c6,void 0x0,_0xcce563,_0x2327c6[_0x1a4e('0x2cb')],_0x4af9c1));case 0xf0:var _0x2a6ebe=_0x368e5a[_0x1a4e('0x28d1')](_0xc5a6f(_0x2327c6,_0x55ff7e)),_0x133ef6=_0x6706d(_0x2327c6,_0x2327c6[_0x1a4e('0x23d7')]),_0x1f307f=_0x368e5a[_0x1a4e('0x2b44')](_0x2327c6),_0x182525=void 0x0;if(_0x1f307f){var _0x41046f=_0x308df6;_0x182525=_0x368e5a['compact'](_0x368e5a[_0x1a4e('0x104e')](_0x1f307f[_0x1a4e('0x111a')],function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x5c))return _0x308df6=_0x368e5a[_0x1a4e('0x2f1e')](_0x146f6e),0x48===_0x146f6e['name']['kind']?_0xa9d161(_0x368e5a['createProperty'](void 0x0,_0xc5a6f(_0x146f6e),_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x23ca')],_0x581721(_0x146f6e,_0x146f6e['type']),_0x44f93d(_0x146f6e)),_0x146f6e):function _0x2327c6(_0x55ff7e){var _0x1adc17;for(var _0xf79407=0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x2398')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x368e5a['isOmittedExpression'](_0x420b32)||(_0x368e5a['isBindingPattern'](_0x420b32[_0x1a4e('0x2cb')])&&(_0x1adc17=_0x368e5a[_0x1a4e('0x1717')](_0x1adc17,_0x2327c6(_0x420b32[_0x1a4e('0x2cb')]))),(_0x1adc17=_0x1adc17||[])[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2c37')](void 0x0,_0xc5a6f(_0x146f6e),_0x420b32[_0x1a4e('0x2cb')],void 0x0,_0x581721(_0x420b32,void 0x0),void 0x0)));}return _0x1adc17;}(_0x146f6e[_0x1a4e('0x2cb')]);})),_0x308df6=_0x41046f;}var _0x37a0cd=_0x368e5a['createNodeArray'](_0x368e5a[_0x1a4e('0x1717')](_0x182525,_0x368e5a[_0x1a4e('0x2d77')](_0x2327c6[_0x1a4e('0x2369')],_0x101661))),_0x5b003a=_0x368e5a[_0x1a4e('0x1679')](_0x2327c6);if(_0x5b003a&&!_0x368e5a[_0x1a4e('0x2463')](_0x5b003a[_0x1a4e('0x2302')])&&0x60!==_0x5b003a[_0x1a4e('0x2302')][_0x1a4e('0x146b')]){var _0x1d9605=_0x368e5a[_0x1a4e('0x2f2e')](_0x368e5a[_0x1a4e('0x24d1')](_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')])+_0x1a4e('0x2f31'));_0x308df6=function(){return{'diagnosticMessage':_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ef0')],'errorNode':_0x5b003a,'typeName':_0x2327c6[_0x1a4e('0x2cb')]};};var _0x78b5ce=_0x368e5a[_0x1a4e('0x2cad')](_0x1d9605,_0x52e493[_0x1a4e('0x2f23')](_0x5b003a[_0x1a4e('0x2302')],_0x2327c6,_0x146f6e,_0x13de50),void 0x0),_0x3355f0=_0x368e5a[_0x1a4e('0x2c93')](_0x563b50?[_0x368e5a[_0x1a4e('0x2c2e')](0x7d)]:[],_0x368e5a[_0x1a4e('0x2caf')]([_0x78b5ce],0x2)),_0x16f6ce=_0x368e5a[_0x1a4e('0x28d1')](_0x368e5a[_0x1a4e('0x21')](_0x2327c6[_0x1a4e('0x237f')],function(_0x146f6e){if(0x56===_0x146f6e[_0x1a4e('0x2381')]){var _0x2327c6=_0x308df6;_0x308df6=_0x368e5a[_0x1a4e('0x2f1e')](_0x146f6e[_0x1a4e('0x2380')][0x0]);var _0x55ff7e=_0x368e5a[_0x1a4e('0x2ce7')](_0x146f6e,_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2380')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c8a')](_0x146f6e,_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e['typeArguments'],_0x101661),_0x1d9605);}));return _0x308df6=_0x2327c6,_0x55ff7e;}return _0x368e5a[_0x1a4e('0x2ce7')](_0x146f6e,_0x368e5a['visitNodes'](_0x368e5a[_0x1a4e('0x28d1')](_0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x2380')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2463')](_0x146f6e[_0x1a4e('0x2302')])||0x60===_0x146f6e['expression'][_0x1a4e('0x146b')];})),_0x101661));}));return[_0x3355f0,_0x22f948(_0x368e5a[_0x1a4e('0x2cb1')](_0x2327c6,void 0x0,_0x2a6ebe,_0x2327c6[_0x1a4e('0x2cb')],_0x133ef6,_0x16f6ce,_0x37a0cd))];}_0x16f6ce=_0x33bdb6(_0x2327c6[_0x1a4e('0x237f')]);return _0x22f948(_0x368e5a['updateClassDeclaration'](_0x2327c6,void 0x0,_0x2a6ebe,_0x2327c6[_0x1a4e('0x2cb')],_0x133ef6,_0x16f6ce,_0x37a0cd));case 0xdb:return _0x22f948(function(_0x146f6e,_0x2327c6){if(!_0x368e5a[_0x1a4e('0x3b')](_0x146f6e['declarationList'][_0x1a4e('0x22e5')],_0x1faaf7))return;var _0x55ff7e=_0x368e5a['visitNodes'](_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')],_0x101661);if(!_0x368e5a[_0x1a4e('0x1e')](_0x55ff7e))return;return _0x368e5a['updateVariableStatement'](_0x146f6e,_0x368e5a['createNodeArray'](_0xc5a6f(_0x146f6e,_0x2327c6)),_0x368e5a[_0x1a4e('0x2d42')](_0x146f6e[_0x1a4e('0x2377')],_0x55ff7e));}(_0x2327c6,_0x55ff7e));case 0xf3:return _0x22f948(_0x368e5a[_0x1a4e('0x2cb6')](_0x2327c6,void 0x0,_0x368e5a[_0x1a4e('0x28d1')](_0xc5a6f(_0x2327c6,_0x55ff7e)),_0x2327c6['name'],_0x368e5a['createNodeArray'](_0x368e5a[_0x1a4e('0x1713')](_0x2327c6[_0x1a4e('0x2369')],function(_0x146f6e){if(!_0x5152d1(_0x146f6e)){var _0x2327c6=_0x52e493[_0x1a4e('0x2e05')](_0x146f6e);return _0xa9d161(_0x368e5a[_0x1a4e('0x2ced')](_0x146f6e,_0x146f6e['name'],void 0x0!==_0x2327c6?_0x368e5a[_0x1a4e('0x2896')](_0x2327c6):void 0x0),_0x146f6e);}}))));}return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6,'Unhandled\x20top-level\x20node\x20in\x20declaration\x20emit:\x20'+_0x368e5a[_0x1a4e('0x18c5')][_0x2327c6['kind']]);}}function _0x22f948(_0x146f6e){return _0x4e445f(_0x2327c6)&&(_0x2c9ec9=_0x1adc17),_0xf79407&&(_0x308df6=_0x420b32),0xf4===_0x2327c6['kind']&&(_0x563b50=_0x1b06ad),_0x146f6e===_0x2327c6?_0x146f6e:_0x146f6e&&_0x368e5a['setOriginalNode'](_0xa9d161(_0x146f6e,_0x2327c6),_0x2327c6);}}function _0x4f50ec(_0x146f6e){return _0x368e5a[_0x1a4e('0x187')](_0x368e5a[_0x1a4e('0x1713')](_0x146f6e[_0x1a4e('0x2398')],function(_0x146f6e){return function(_0x146f6e){if(0xd2===_0x146f6e[_0x1a4e('0x146b')])return;if(_0x146f6e[_0x1a4e('0x2cb')]){if(!_0x1faaf7(_0x146f6e))return;return _0x368e5a[_0x1a4e('0x1678')](_0x146f6e[_0x1a4e('0x2cb')])?_0x4f50ec(_0x146f6e['name']):_0x368e5a[_0x1a4e('0x2cad')](_0x146f6e['name'],_0x581721(_0x146f6e,void 0x0),void 0x0);}}(_0x146f6e);}));}function _0x423d17(_0x146f6e){var _0x2327c6=_0x17ec37[_0x1a4e('0xe04')]['substring'](_0x146f6e[_0x1a4e('0xa4')],_0x146f6e[_0x1a4e('0xca')]);return _0x368e5a['stringContains'](_0x2327c6,'@internal');}function _0x5152d1(_0x146f6e){if(_0x78b5ce&&_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2362')](_0x368e5a['getParseTreeNode'](_0x146f6e),_0x17ec37);if(_0x368e5a[_0x1a4e('0x3b')](_0x2327c6,_0x423d17))return!0x0;}return!0x1;}function _0x4cf191(_0x146f6e){return _0x368e5a['isExportAssignment'](_0x146f6e)||_0x368e5a['isExportDeclaration'](_0x146f6e);}function _0xc5a6f(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['getModifierFlags'](_0x146f6e),_0xf79407=function(_0x146f6e,_0x2327c6){var _0x55ff7e=0xafb,_0xf79407=_0x563b50&&!function(_0x368e5a){if(0xf1===_0x368e5a[_0x1a4e('0x146b')])return!0x0;return!0x1;}(_0x146f6e)?0x2:0x0,_0x2c9ec9=0x117===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')];(!_0x2c9ec9||_0x2a6ebe&&_0x2c9ec9&&_0x368e5a['isExternalModule'](_0x146f6e['parent']))&&(_0x55ff7e^=0x2|(_0x2327c6||_0x2a6ebe&&_0x2c9ec9||function(_0x146f6e){return!!_0x368e5a[_0x1a4e('0x251e')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x2366')],_0x4cf191);}(_0x146f6e['parent'])?0x0:0x1),_0xf79407=0x0);return _0x1adc17(_0x146f6e,_0x55ff7e,_0xf79407);}(_0x146f6e,_0x2327c6);return _0x55ff7e===_0xf79407?_0x146f6e[_0x1a4e('0x242d')]:_0x368e5a[_0x1a4e('0x2c2f')](_0xf79407);}function _0x293c5c(_0x146f6e){var _0x2327c6=_0x52e493['getAllAccessorDeclarations'](_0x146f6e);if(_0x146f6e[_0x1a4e('0x146b')]===_0x2327c6['firstAccessor'][_0x1a4e('0x146b')]){var _0x1adc17=_0xf79407(_0x146f6e);!_0x1adc17&&_0x2327c6[_0x1a4e('0x2bdb')]&&(_0x1adc17=_0xf79407(_0x2327c6['secondAccessor']),_0x308df6=_0x368e5a['createGetSymbolAccessibilityDiagnosticForNode'](_0x2327c6[_0x1a4e('0x2bdb')]));var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2c37')](void 0x0,_0x55ff7e(_0x146f6e,void 0x0,_0x2327c6[_0x1a4e('0x2d4b')]?0x0:0x40),_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x23ca')],_0x581721(_0x146f6e,_0x1adc17),void 0x0),_0x420b32=_0x2327c6[_0x1a4e('0x2bdb')]&&_0x368e5a['getLeadingCommentRangesOfNode'](_0x2327c6['secondAccessor'],_0x17ec37);if(_0x420b32)for(var _0x1b06ad=function(_0x146f6e){if(0x3===_0x146f6e[_0x1a4e('0x146b')]){var _0x2327c6=_0x17ec37[_0x1a4e('0xe04')][_0x1a4e('0x78')](_0x146f6e[_0x1a4e('0xa4')]+0x2,_0x146f6e['end']-0x2),_0x55ff7e=_0x2327c6[_0x1a4e('0x2be')](/\r\n?|\n/g);if(_0x55ff7e['length']>0x1){var _0x1adc17=_0x55ff7e[_0x1a4e('0x78')](0x1),_0xf79407=_0x368e5a[_0x1a4e('0x2579')](_0x1adc17);_0x2327c6=[_0x55ff7e[0x0]]['concat'](_0x368e5a[_0x1a4e('0x21')](_0x1adc17,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x78')](_0xf79407);}))[_0x1a4e('0x9e')](_0x5b003a);}_0x368e5a[_0x1a4e('0x2e6c')](_0x2c9ec9,_0x146f6e['kind'],_0x2327c6,_0x146f6e[_0x1a4e('0x2428')]);}},_0x326eae=0x0,_0x56674b=_0x420b32;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){_0x1b06ad(_0x56674b[_0x326eae]);}return _0x2c9ec9;}}function _0x33bdb6(_0x146f6e){return _0x368e5a[_0x1a4e('0x28d1')](_0x368e5a[_0x1a4e('0xd9')](_0x368e5a[_0x1a4e('0x21')](_0x146f6e,function(_0x146f6e){return _0x368e5a['updateHeritageClause'](_0x146f6e,_0x368e5a['visitNodes'](_0x368e5a[_0x1a4e('0x28d1')](_0x368e5a[_0x1a4e('0xd9')](_0x146f6e['types'],function(_0x2327c6){return _0x368e5a[_0x1a4e('0x2463')](_0x2327c6['expression'])||0x56===_0x146f6e['token']&&0x60===_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0x146b')];})),_0x101661));}),function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2380')]&&!!_0x368e5a[_0x1a4e('0x2380')]['length'];}));}}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2c2f')](_0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e));}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x2327c6&&(_0x2327c6=0xbfb),void 0x0===_0x55ff7e&&(_0x55ff7e=0x0);var _0x1adc17=_0x368e5a[_0x1a4e('0x245c')](_0x146f6e)&_0x2327c6|_0x55ff7e;return 0x200&_0x1adc17&&!(0x1&_0x1adc17)&&(_0x1adc17^=0x1),0x200&_0x1adc17&&0x2&_0x1adc17&&(_0x1adc17^=0x2),_0x1adc17;}function _0xf79407(_0x368e5a){if(_0x368e5a)return 0x9e===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x40')]:_0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')]>0x0?_0x368e5a[_0x1a4e('0x111a')][0x0][_0x1a4e('0x40')]:void 0x0;}_0x368e5a['transformDeclarations']=_0x2327c6;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6;function _0x55ff7e(_0x368e5a,_0x146f6e){return _0x146f6e;}function _0x1adc17(_0x368e5a,_0x146f6e,_0x2327c6){_0x2327c6(_0x368e5a,_0x146f6e);}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2f32')]=0x0]=_0x1a4e('0x2f32'),_0x368e5a[_0x368e5a['Initialized']=0x1]=_0x1a4e('0x2f33'),_0x368e5a[_0x368e5a[_0x1a4e('0x2f34')]=0x2]=_0x1a4e('0x2f34'),_0x368e5a[_0x368e5a[_0x1a4e('0x2f35')]=0x3]=_0x1a4e('0x2f35');}(_0x146f6e||(_0x146f6e={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Substitution']=0x1]=_0x1a4e('0x19da'),_0x368e5a[_0x368e5a[_0x1a4e('0x2f36')]=0x2]=_0x1a4e('0x2f36');}(_0x2327c6||(_0x2327c6={})),_0x368e5a['getTransformers']=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['jsx'],_0x1adc17=_0x368e5a[_0x1a4e('0x2589')](_0x146f6e),_0xf79407=_0x368e5a[_0x1a4e('0x2348')](_0x146f6e),_0x2c9ec9=[];return _0x368e5a[_0x1a4e('0x23d1')](_0x2c9ec9,_0x2327c6&&_0x2327c6[_0x1a4e('0x103f')]),_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a['transformTypeScript']),0x2===_0x55ff7e&&_0x2c9ec9['push'](_0x368e5a['transformJsx']),_0x1adc17<0x6&&_0x2c9ec9['push'](_0x368e5a['transformESNext']),_0x1adc17<0x4&&_0x2c9ec9['push'](_0x368e5a['transformES2017']),_0x1adc17<0x3&&_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2e2a')]),_0x1adc17<0x2&&(_0x2c9ec9['push'](_0x368e5a[_0x1a4e('0x2e56')]),_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2e95')])),_0x2c9ec9['push'](function(_0x146f6e){switch(_0x146f6e){case _0x368e5a[_0x1a4e('0x1a35')]['ESNext']:case _0x368e5a[_0x1a4e('0x1a35')]['ES2015']:return _0x368e5a['transformES2015Module'];case _0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1308')]:return _0x368e5a['transformSystemModule'];default:return _0x368e5a[_0x1a4e('0x2ea2')];}}(_0xf79407)),_0x1adc17<0x1&&_0x2c9ec9[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2e82')]),_0x368e5a['addRange'](_0x2c9ec9,_0x2327c6&&_0x2327c6[_0x1a4e('0x103b')]),_0x2c9ec9;},_0x368e5a[_0x1a4e('0x2f37')]=_0x55ff7e,_0x368e5a[_0x1a4e('0x2f38')]=_0x1adc17,_0x368e5a[_0x1a4e('0x2f39')]=function(_0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){for(var _0x326eae,_0x56674b,_0x5e2e48,_0x14c101=new Array(0x138),_0x59ee86=[],_0x1bb081=[],_0x165a1c=0x0,_0x5f3470=!0x1,_0x30e51a=_0x55ff7e,_0x21071c=_0x1adc17,_0x1cbc2b=0x0,_0x4e5c9c=[],_0x502bbf={'getCompilerOptions':function(){return _0xf79407;},'getEmitResolver':function(){return _0x146f6e;},'getEmitHost':function(){return _0x2327c6;},'startLexicalEnvironment':function(){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1cbc2b>0x0,'Cannot\x20modify\x20the\x20lexical\x20environment\x20during\x20initialization.'),_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1cbc2b<0x2,'Cannot\x20modify\x20the\x20lexical\x20environment\x20after\x20transformation\x20has\x20completed.'),_0x368e5a['Debug'][_0x1a4e('0xba0')](!_0x5f3470,'Lexical\x20environment\x20is\x20suspended.'),_0x59ee86[_0x165a1c]=_0x326eae,_0x1bb081[_0x165a1c]=_0x56674b,_0x165a1c++,_0x326eae=void 0x0,_0x56674b=void 0x0;},'suspendLexicalEnvironment':function(){_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1cbc2b>0x0,_0x1a4e('0x2f3a')),_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1cbc2b<0x2,_0x1a4e('0x2f3b')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x5f3470,_0x1a4e('0x2f3c')),_0x5f3470=!0x0;},'resumeLexicalEnvironment':function(){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1cbc2b>0x0,_0x1a4e('0x2f3a')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1cbc2b<0x2,_0x1a4e('0x2f3b')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x5f3470,_0x1a4e('0x2f3d')),_0x5f3470=!0x1;},'endLexicalEnvironment':function(){var _0x146f6e;if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1cbc2b>0x0,_0x1a4e('0x2f3a')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1cbc2b<0x2,'Cannot\x20modify\x20the\x20lexical\x20environment\x20after\x20transformation\x20has\x20completed.'),_0x368e5a['Debug'][_0x1a4e('0xba0')](!_0x5f3470,_0x1a4e('0x2f3e')),(_0x326eae||_0x56674b)&&(_0x56674b&&(_0x146f6e=_0x56674b[_0x1a4e('0x78')]()),_0x326eae)){var _0x2327c6=_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')](_0x326eae));_0x146f6e?_0x146f6e[_0x1a4e('0x46')](_0x2327c6):_0x146f6e=[_0x2327c6];}return _0x326eae=_0x59ee86[--_0x165a1c],_0x56674b=_0x1bb081[_0x165a1c],0x0===_0x165a1c&&(_0x59ee86=[],_0x1bb081=[]),_0x146f6e;},'hoistVariableDeclaration':function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1cbc2b>0x0,_0x1a4e('0x2f3a')),_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1cbc2b<0x2,_0x1a4e('0x2f3b'));var _0x2327c6=_0x368e5a[_0x1a4e('0x2892')](_0x368e5a[_0x1a4e('0x2cad')](_0x146f6e),0x40);_0x326eae?_0x326eae[_0x1a4e('0x46')](_0x2327c6):_0x326eae=[_0x2327c6];},'hoistFunctionDeclaration':function(_0x146f6e){_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1cbc2b>0x0,_0x1a4e('0x2f3a')),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x1cbc2b<0x2,'Cannot\x20modify\x20the\x20lexical\x20environment\x20after\x20transformation\x20has\x20completed.'),_0x56674b?_0x56674b['push'](_0x146f6e):_0x56674b=[_0x146f6e];},'requestEmitHelper':function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x1cbc2b>0x0,_0x1a4e('0x2f3f')),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x1cbc2b<0x2,_0x1a4e('0x2f40')),_0x368e5a['Debug']['assert'](!_0x146f6e[_0x1a4e('0x2d62')],_0x1a4e('0x2f41')),_0x5e2e48=_0x368e5a[_0x1a4e('0x252')](_0x5e2e48,_0x146f6e);},'readEmitHelpers':function(){_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1cbc2b>0x0,_0x1a4e('0x2f3f')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1cbc2b<0x2,_0x1a4e('0x2f40'));var _0x146f6e=_0x5e2e48;return _0x5e2e48=void 0x0,_0x146f6e;},'enableSubstitution':function(_0x146f6e){_0x368e5a['Debug']['assert'](_0x1cbc2b<0x2,_0x1a4e('0x2f40')),_0x14c101[_0x146f6e]|=0x1;},'enableEmitNotification':function(_0x146f6e){_0x368e5a['Debug']['assert'](_0x1cbc2b<0x2,'Cannot\x20modify\x20the\x20transformation\x20context\x20after\x20transformation\x20has\x20completed.'),_0x14c101[_0x146f6e]|=0x2;},'isSubstitutionEnabled':_0x30ea5d,'isEmitNotificationEnabled':_0x1003b1,get 'onSubstituteNode'(){return _0x30e51a;},set 'onSubstituteNode'(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x1cbc2b<0x1,_0x1a4e('0x2f42')),_0x368e5a['Debug'][_0x1a4e('0xba0')](void 0x0!==_0x146f6e,_0x1a4e('0x2f43')),_0x30e51a=_0x146f6e;},get 'onEmitNode'(){return _0x21071c;},set 'onEmitNode'(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1cbc2b<0x1,_0x1a4e('0x2f42')),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0!==_0x146f6e,_0x1a4e('0x2f43')),_0x21071c=_0x146f6e;},'addDiagnostic':function(_0x368e5a){_0x4e5c9c[_0x1a4e('0x46')](_0x368e5a);}},_0x35b761=0x0,_0x18b57a=_0x2c9ec9;_0x35b761<_0x18b57a[_0x1a4e('0x1e')];_0x35b761++){var _0x599fa1=_0x18b57a[_0x35b761];_0x368e5a['disposeEmitNodes'](_0x368e5a[_0x1a4e('0x1674')](_0x368e5a['getParseTreeNode'](_0x599fa1)));}_0x368e5a[_0x1a4e('0x1774')]['mark'](_0x1a4e('0x2f44'));var _0x312e50=_0x368e5a['chain'][_0x1a4e('0x8b')](void 0x0,_0x420b32)(_0x502bbf);_0x1cbc2b=0x1;var _0x36eebb=_0x368e5a['map'](_0x2c9ec9,_0x1b06ad?_0x312e50:function(_0x146f6e){return!_0x146f6e||_0x368e5a['isSourceFile'](_0x146f6e)&&_0x146f6e[_0x1a4e('0x2423')]?_0x146f6e:_0x312e50(_0x146f6e);});return _0x1cbc2b=0x2,_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')](_0x1a4e('0x13da')),_0x368e5a['performance']['measure'](_0x1a4e('0x2f45'),'beforeTransform','afterTransform'),{'transformed':_0x36eebb,'substituteNode':function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1749')]['assert'](_0x1cbc2b<0x3,_0x1a4e('0x2f46')),_0x2327c6&&_0x30ea5d(_0x2327c6)&&_0x30e51a(_0x146f6e,_0x2327c6)||_0x2327c6;},'emitNodeWithNotification':function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1cbc2b<0x3,'Cannot\x20invoke\x20TransformationResult\x20callbacks\x20after\x20the\x20result\x20is\x20disposed.'),_0x2327c6&&(_0x1003b1(_0x2327c6)?_0x21071c(_0x146f6e,_0x2327c6,_0x55ff7e):_0x55ff7e(_0x146f6e,_0x2327c6));},'dispose':function(){if(_0x1cbc2b<0x3){for(var _0x146f6e=0x0,_0x2327c6=_0x2c9ec9;_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x2327c6[_0x146f6e];_0x368e5a['disposeEmitNodes'](_0x368e5a['getSourceFileOfNode'](_0x368e5a['getParseTreeNode'](_0x55ff7e)));}_0x326eae=void 0x0,_0x59ee86=void 0x0,_0x56674b=void 0x0,_0x1bb081=void 0x0,_0x30e51a=void 0x0,_0x21071c=void 0x0,_0x5e2e48=void 0x0,_0x1cbc2b=0x3;}},'diagnostics':_0x4e5c9c};function _0x30ea5d(_0x146f6e){return 0x0!=(0x1&_0x14c101[_0x146f6e[_0x1a4e('0x146b')]])&&0x0==(0x4&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e));}function _0x1003b1(_0x146f6e){return 0x0!=(0x2&_0x14c101[_0x146f6e[_0x1a4e('0x146b')]])||0x0!=(0x2&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e));}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6,_0x55ff7e=_0x1a4e('0x2f47'),_0x1adc17=function(){var _0x368e5a=[];return _0x368e5a[0x400]=['{','}'],_0x368e5a[0x800]=['(',')'],_0x368e5a[0x1000]=['<','>'],_0x368e5a[0x2000]=['[',']'],_0x368e5a;}(),_0xf79407={'pos':-0x1,'end':-0x1};function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=!0x1);var _0xf79407=_0x368e5a['isArray'](_0x55ff7e)?_0x55ff7e:_0x368e5a[_0x1a4e('0x2444')](_0x146f6e,_0x55ff7e),_0x2c9ec9=_0x146f6e[_0x1a4e('0x23f1')]();if(_0x2c9ec9[_0x1a4e('0x2445')]||_0x2c9ec9['out']){if(_0xf79407[_0x1a4e('0x1e')]){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2cf8')](_0xf79407,_0x146f6e[_0x1a4e('0x2f48')]());if(_0x5324cd=_0x2327c6(_0x420b32(_0x1b06ad,_0x146f6e,_0x1adc17),_0x1b06ad))return _0x5324cd;}}else for(var _0x326eae=0x0,_0x56674b=_0xf79407;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x5324cd,_0x37f3dd=_0x56674b[_0x326eae];if(_0x5324cd=_0x2327c6(_0x420b32(_0x37f3dd,_0x146f6e,_0x1adc17),_0x37f3dd))return _0x5324cd;}}function _0x420b32(_0x146f6e,_0x2327c6,_0x1adc17){var _0xf79407=_0x2327c6[_0x1a4e('0x23f1')]();if(0x118===_0x146f6e[_0x1a4e('0x146b')]){var _0x2c9ec9=_0xf79407[_0x1a4e('0x2445')]||_0xf79407['out'];return{'jsFilePath':_0x420b32=_0xf79407[_0x1a4e('0x2446')]?void 0x0:_0x2c9ec9,'sourceMapFilePath':_0x151f1b=_0x420b32&&_0x1b06ad(_0x420b32,_0xf79407),'declarationFilePath':_0x56674b=_0x1adc17||_0x368e5a[_0x1a4e('0x2b9d')](_0xf79407)?_0x368e5a['removeFileExtension'](_0x2c9ec9)+'.d.ts':void 0x0,'declarationMapPath':_0x56674b&&_0x368e5a['getAreDeclarationMapsEnabled'](_0xf79407)?_0x56674b+_0x1a4e('0x2f49'):void 0x0,'bundleInfoPath':_0xf79407[_0x1a4e('0x2702')]&&_0x420b32?_0x368e5a['removeFileExtension'](_0x420b32)+_0x55ff7e:void 0x0};}var _0x420b32,_0x56674b,_0x3b497e=_0x368e5a[_0x1a4e('0x2441')](_0x146f6e['fileName'],_0x2327c6,_0x326eae(_0x146f6e,_0xf79407)),_0x18a506=_0x368e5a[_0x1a4e('0x2875')](_0x146f6e)&&0x0===_0x368e5a[_0x1a4e('0x25aa')](_0x146f6e['fileName'],_0x3b497e,_0x2327c6[_0x1a4e('0x241c')](),!_0x2327c6[_0x1a4e('0x1b40')]()),_0x151f1b=!(_0x420b32=_0xf79407['emitDeclarationOnly']||_0x18a506?void 0x0:_0x3b497e)||_0x368e5a[_0x1a4e('0x2875')](_0x146f6e)?void 0x0:_0x1b06ad(_0x420b32,_0xf79407),_0x244fc2=_0x368e5a[_0x1a4e('0x23a9')](_0x146f6e);return{'jsFilePath':_0x420b32,'sourceMapFilePath':_0x151f1b,'declarationFilePath':_0x56674b=!_0x1adc17&&!_0x368e5a['getEmitDeclarations'](_0xf79407)||_0x244fc2?void 0x0:_0x368e5a[_0x1a4e('0x2442')](_0x146f6e['fileName'],_0x2327c6),'declarationMapPath':_0x56674b&&_0x368e5a[_0x1a4e('0x258e')](_0xf79407)?_0x56674b+'.map':void 0x0,'bundleInfoPath':void 0x0};}function _0x1b06ad(_0x368e5a,_0x146f6e){return _0x146f6e[_0x1a4e('0x2f4a')]&&!_0x146f6e[_0x1a4e('0x2f4b')]?_0x368e5a+_0x1a4e('0x2f49'):void 0x0;}function _0x326eae(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x2875')](_0x146f6e))return _0x1a4e('0x1a87');if(0x1===_0x2327c6[_0x1a4e('0x294b')])if(_0x368e5a[_0x1a4e('0x23a9')](_0x146f6e)){if(_0x368e5a[_0x1a4e('0x175b')](_0x146f6e[_0x1a4e('0x1b39')],_0x1a4e('0x1a86')))return _0x1a4e('0x1a86');}else if(0x1===_0x146f6e[_0x1a4e('0x22f7')])return'.jsx';return'.js';}function _0x56674b(_0x146f6e,_0x2327c6){void 0x0===_0x146f6e&&(_0x146f6e={}),void 0x0===_0x2327c6&&(_0x2327c6={});var _0x55ff7e,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x29aff1,_0x27dbfb,_0x3a0831,_0x1ce703,_0x453387,_0x57c1d8,_0x2c9994,_0x3a320a,_0x41bfd0,_0x1f754d=_0x2327c6[_0x1a4e('0x2f4c')],_0x461496=_0x2327c6[_0x1a4e('0x2df1')],_0x2c99e2=void 0x0===_0x461496?_0x368e5a[_0x1a4e('0x2f38')]:_0x461496,_0x95bc7f=_0x2327c6['substituteNode'],_0x3b5076=void 0x0===_0x95bc7f?_0x368e5a[_0x1a4e('0x2f37')]:_0x95bc7f,_0x125541=_0x2327c6[_0x1a4e('0x2f4d')],_0x3d8916=_0x2327c6['onAfterEmitNodeArray'],_0x35d07a=_0x2327c6[_0x1a4e('0x2f4e')],_0x453295=_0x2327c6[_0x1a4e('0x2f4f')],_0xd80a43=!!_0x146f6e[_0x1a4e('0x2da3')],_0x44970c=_0x368e5a['getNewLineCharacter'](_0x146f6e),_0x64fdf6=_0x368e5a['getEmitModuleKind'](_0x146f6e),_0x19c559=_0x368e5a['createMap'](),_0x193d9d=function(_0x368e5a){_0x3a0831[_0x1a4e('0x146')](_0x368e5a);},_0x5e11e4=!0x0,_0x375ddb=-0x1,_0x145b47=-0x1,_0xf3a61d=-0x1,_0x59c7d8=-0x1,_0xa7308c=!0x1,_0x5ae97f=!!_0x146f6e[_0x1a4e('0x273e')],_0x23ddfd=_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0x176b')](_0xd80a43,_0x1a4e('0x2f50'),_0x1a4e('0x2f51'),_0x1a4e('0x2f52')),_0x4e3e6a=_0x23ddfd[_0x1a4e('0x2f53')],_0x271fdb=_0x23ddfd[_0x1a4e('0x1b6b')];return _0x132499(),{'printNode':function(_0x146f6e,_0x2327c6,_0x55ff7e){switch(_0x146f6e){case 0x0:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x22f0')](_0x2327c6),_0x1a4e('0x2f54'));break;case 0x2:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x2370')](_0x2327c6),'Expected\x20an\x20Identifier\x20node.');break;case 0x1:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x24a8')](_0x2327c6),'Expected\x20an\x20Expression\x20node.');}switch(_0x2327c6['kind']){case 0x117:return _0x3bd877(_0x2327c6);case 0x118:return _0x526d55(_0x2327c6);case 0x119:return function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x3a0831;_0x526941(_0x146f6e,void 0x0),_0x459911(0x4,_0x368e5a,void 0x0),_0x132499(),_0x3a0831=_0x2327c6;}(_0x2327c6,_0xd84bed()),_0x5858dd();}return _0x49ab6f(_0x146f6e,_0x2327c6,_0x55ff7e,_0xd84bed()),_0x5858dd();},'printList':function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x300fcc(_0x368e5a,_0x146f6e,_0x2327c6,_0xd84bed()),_0x5858dd();},'printFile':_0x3bd877,'printBundle':_0x526d55,'writeNode':_0x49ab6f,'writeList':_0x300fcc,'writeFile':_0x2456d7,'writeBundle':_0x215983};function _0x526d55(_0x368e5a){return _0x215983(_0x368e5a,void 0x0,_0xd84bed(),void 0x0),_0x5858dd();}function _0x3bd877(_0x368e5a){return _0x2456d7(_0x368e5a,_0xd84bed(),void 0x0),_0x5858dd();}function _0x49ab6f(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x3a0831;_0x526941(_0x55ff7e,void 0x0),_0x459911(_0x368e5a,_0x146f6e,_0x2327c6),_0x132499(),_0x3a0831=_0x1adc17;}function _0x300fcc(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x3a0831;_0x526941(_0x55ff7e,void 0x0),_0x2327c6&&_0x53f94d(_0x2327c6),_0x5c27dd(_0xf79407,_0x146f6e,_0x368e5a),_0x132499(),_0x3a0831=_0x1adc17;}function _0x215983(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){_0x453387=!0x1;var _0x1adc17,_0xf79407=_0x3a0831;_0x526941(_0x2327c6,_0x55ff7e),_0x5d6827(_0x368e5a),_0x13fef9(_0x368e5a),_0xdab2ee(_0x368e5a),_0xc50d6a(!!(_0x1adc17=_0x368e5a)[_0x1a4e('0x261b')],_0x1adc17['syntheticFileReferences']||[],_0x1adc17[_0x1a4e('0x2f55')]||[],_0x1adc17[_0x1a4e('0x2f13')]||[]);for(var _0x2c9ec9=0x0,_0x420b32=_0x368e5a[_0x1a4e('0x2d02')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x544155(),_0x459911(0x4,_0x1b06ad,void 0x0);}_0x146f6e&&(_0x146f6e[_0x1a4e('0x2f56')]=_0x3a0831[_0x1a4e('0x2615')]());for(var _0x326eae=0x0,_0x56674b=_0x368e5a[_0x1a4e('0x2c1e')];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x29aff1=_0x56674b[_0x326eae];_0x459911(0x0,_0x29aff1,_0x29aff1);}_0x132499(),_0x3a0831=_0xf79407;}function _0x2456d7(_0x368e5a,_0x146f6e,_0x2327c6){_0x453387=!0x0;var _0x55ff7e=_0x3a0831;_0x526941(_0x146f6e,_0x2327c6),_0x5d6827(_0x368e5a),_0x13fef9(_0x368e5a),_0x459911(0x0,_0x368e5a,_0x368e5a),_0x132499(),_0x3a0831=_0x55ff7e;}function _0xd84bed(){return _0x1ce703||(_0x1ce703=_0x368e5a[_0x1a4e('0x2433')](_0x44970c));}function _0x5858dd(){var _0x368e5a=_0x1ce703[_0x1a4e('0x230e')]();return _0x1ce703[_0x1a4e('0xb5')](),_0x368e5a;}function _0x459911(_0x368e5a,_0x146f6e,_0x2327c6){_0x2327c6&&_0x53f94d(_0x2327c6),_0x4f1165(0x0,_0x146f6e)(_0x368e5a,_0x146f6e);}function _0x53f94d(_0x368e5a){_0x55ff7e=_0x368e5a,_0x3a320a=void 0x0,_0x41bfd0=void 0x0,_0x368e5a&&_0x5a3dc6(_0x368e5a);}function _0x526941(_0x2327c6,_0x55ff7e){_0x2327c6&&_0x146f6e['omitTrailingSemicolon']&&(_0x2327c6=_0x368e5a['getTrailingSemicolonOmittingWriter'](_0x2327c6)),_0x57c1d8=_0x55ff7e,_0x5e11e4=!(_0x3a0831=_0x2327c6)||!_0x57c1d8;}function _0x132499(){_0x2c9ec9=[],_0x420b32=[],_0x1b06ad=_0x368e5a[_0x1a4e('0x1772')](),_0x326eae=[],_0x56674b=0x0,_0x29aff1=[],_0x55ff7e=void 0x0,_0x3a320a=void 0x0,_0x41bfd0=void 0x0,_0x526941(void 0x0,void 0x0);}function _0x395a7(){return _0x3a320a||(_0x3a320a=_0x368e5a[_0x1a4e('0x22bf')](_0x55ff7e));}function _0x276f8e(_0x368e5a){void 0x0!==_0x368e5a&&_0x4f1165(0x0,_0x368e5a)(0x4,_0x368e5a);}function _0x417306(_0x368e5a){void 0x0!==_0x368e5a&&_0x4f1165(0x0,_0x368e5a)(0x2,_0x368e5a);}function _0x1303af(_0x368e5a){void 0x0!==_0x368e5a&&_0x4f1165(0x0,_0x368e5a)(0x1,_0x368e5a);}function _0x4f1165(_0x146f6e,_0x2327c6){switch(_0x146f6e){case 0x0:if(_0x2c99e2!==_0x368e5a[_0x1a4e('0x2f38')])return _0x363d49;case 0x1:if(_0x3b5076!==_0x368e5a[_0x1a4e('0x2f37')])return _0x40fcab;case 0x2:if(!_0x5ae97f&&0x117!==_0x2327c6[_0x1a4e('0x146b')])return _0x1d456b;case 0x3:if(!_0x5e11e4&&0x117!==_0x2327c6['kind']&&!_0x368e5a[_0x1a4e('0x23ab')](_0x2327c6))return _0x361e19;case 0x4:return _0x5dce7f;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}function _0x1755ff(_0x368e5a,_0x146f6e){return _0x4f1165(_0x368e5a+0x1,_0x146f6e);}function _0x363d49(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1755ff(0x0,_0x146f6e);_0x2c99e2(_0x368e5a,_0x146f6e,_0x2327c6);}function _0x5dce7f(_0x2327c6,_0x1adc17){if(0x0===_0x2327c6)return function(_0x146f6e){_0x544155();var _0x2327c6=_0x146f6e[_0x1a4e('0x2366')];if(_0x32f8de){var _0x55ff7e=0x0===_0x2327c6[_0x1a4e('0x1e')]||!_0x368e5a['isPrologueDirective'](_0x2327c6[0x0])||_0x368e5a['nodeIsSynthesized'](_0x2327c6[0x0]);if(_0x55ff7e)return void _0x32f8de(_0x146f6e,_0x2327c6,_0x22a274);}_0x22a274(_0x146f6e);}(_0x368e5a[_0x1a4e('0x172f')](_0x1adc17,_0x368e5a['isSourceFile']));if(0x2===_0x2327c6)return _0x6961f4(_0x368e5a['cast'](_0x1adc17,_0x368e5a[_0x1a4e('0x2370')]));if(0x3===_0x2327c6)return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0xe38521(),_0x1bd6a4('in'),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2364')]);}(_0x368e5a[_0x1a4e('0x172f')](_0x1adc17,_0x368e5a[_0x1a4e('0x24ea')]));if(0x5===_0x2327c6)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2a1b')](_0x1adc17,_0x368e5a[_0x1a4e('0x250d')]),_0x3d5805(!0x0);if(0x4===_0x2327c6){if(_0x368e5a[_0x1a4e('0x23f3')](_0x1adc17['kind']))return _0x1ba951(_0x1adc17,_0x1bd6a4);switch(_0x1adc17['kind']){case 0xf:case 0x10:case 0x11:return _0x4cf8e6(_0x1adc17);case 0x119:return _0x420b32=_0x1adc17,void _0x3a0831['rawWrite'](_0x420b32['text']);case 0x48:return _0x6961f4(_0x1adc17);case 0x94:return function(_0x368e5a){(function(_0x368e5a){0x48===_0x368e5a[_0x1a4e('0x146b')]?_0x1303af(_0x368e5a):_0x276f8e(_0x368e5a);}(_0x368e5a[_0x1a4e('0x5f')]),_0x28639b('.'),_0x276f8e(_0x368e5a[_0x1a4e('0x5d')]));}(_0x1adc17);case 0x95:return function(_0x368e5a){_0x28639b('['),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x28639b(']');}(_0x1adc17);case 0x96:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x368e5a['constraint']&&(_0xe38521(),_0x1bd6a4('extends'),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2364')]));_0x368e5a[_0x1a4e('0x8')]&&(_0xe38521(),_0x353fe4('='),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x8')]));}(_0x1adc17);case 0x97:return function(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a['decorators']),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x276f8e(_0x368e5a[_0x1a4e('0x25f9')]),_0x3b2365(_0x368e5a[_0x1a4e('0x2cb')],_0x134e7b),_0x276f8e(_0x368e5a[_0x1a4e('0x23ca')]),_0x368e5a['parent']&&0x121===_0x368e5a['parent']['kind']&&!_0x368e5a['name']?_0x276f8e(_0x368e5a[_0x1a4e('0x40')]):_0x315ebe(_0x368e5a[_0x1a4e('0x40')]);_0x240af7(_0x368e5a[_0x1a4e('0x236a')],_0x368e5a[_0x1a4e('0x40')]?_0x368e5a['type'][_0x1a4e('0xca')]:_0x368e5a[_0x1a4e('0x23ca')]?_0x368e5a['questionToken']['end']:_0x368e5a[_0x1a4e('0x2cb')]?_0x368e5a[_0x1a4e('0x2cb')]['end']:_0x368e5a['modifiers']?_0x368e5a['modifiers']['end']:_0x368e5a['decorators']?_0x368e5a[_0x1a4e('0x232f')]['end']:_0x368e5a[_0x1a4e('0xa4')],_0x368e5a);}(_0x1adc17);case 0x98:return _0x2c9ec9=_0x1adc17,_0x28639b('@'),void _0x1303af(_0x2c9ec9['expression']);case 0x99:return function(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x3b2365(_0x368e5a[_0x1a4e('0x2cb')],_0x152317),_0x276f8e(_0x368e5a[_0x1a4e('0x23ca')]),_0x315ebe(_0x368e5a[_0x1a4e('0x40')]),_0x5bc86e();}(_0x1adc17);case 0x9a:return function(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a['decorators']),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x276f8e(_0x368e5a['questionToken']),_0x276f8e(_0x368e5a[_0x1a4e('0x25f7')]),_0x315ebe(_0x368e5a['type']),_0x240af7(_0x368e5a['initializer'],_0x368e5a['type']?_0x368e5a[_0x1a4e('0x40')]['end']:_0x368e5a[_0x1a4e('0x23ca')]?_0x368e5a[_0x1a4e('0x23ca')][_0x1a4e('0xca')]:_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xca')],_0x368e5a),_0x5bc86e();}(_0x1adc17);case 0x9b:return function(_0x368e5a){_0x45f773(_0x368e5a),_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x276f8e(_0x368e5a['questionToken']),_0x5c21ff(_0x368e5a,_0x368e5a[_0x1a4e('0x23d7')]),_0x1322a5(_0x368e5a,_0x368e5a[_0x1a4e('0x111a')]),_0x315ebe(_0x368e5a['type']),_0x5bc86e(),_0x36dc55(_0x368e5a);}(_0x1adc17);case 0x9c:return function(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x276f8e(_0x368e5a[_0x1a4e('0x23fc')]),_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x276f8e(_0x368e5a['questionToken']),_0x748166(_0x368e5a,_0x1191f3);}(_0x1adc17);case 0x9d:return function(_0x368e5a){_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x1bd6a4(_0x1a4e('0x10')),_0x748166(_0x368e5a,_0x1191f3);}(_0x1adc17);case 0x9e:case 0x9f:return function(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x1bd6a4(0x9e===_0x368e5a['kind']?_0x1a4e('0x179'):_0x1a4e('0x17a')),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x748166(_0x368e5a,_0x1191f3);}(_0x1adc17);case 0xa0:return function(_0x368e5a){_0x45f773(_0x368e5a),_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a['modifiers']),_0x5c21ff(_0x368e5a,_0x368e5a['typeParameters']),_0x1322a5(_0x368e5a,_0x368e5a['parameters']),_0x315ebe(_0x368e5a[_0x1a4e('0x40')]),_0x5bc86e(),_0x36dc55(_0x368e5a);}(_0x1adc17);case 0xa1:return function(_0x368e5a){_0x45f773(_0x368e5a),_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x1bd6a4(_0x1a4e('0x22a5')),_0xe38521(),_0x5c21ff(_0x368e5a,_0x368e5a[_0x1a4e('0x23d7')]),_0x1322a5(_0x368e5a,_0x368e5a['parameters']),_0x315ebe(_0x368e5a[_0x1a4e('0x40')]),_0x5bc86e(),_0x36dc55(_0x368e5a);}(_0x1adc17);case 0xa2:return function(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x146f6e=_0x368e5a,_0x2327c6=_0x368e5a[_0x1a4e('0x111a')],_0x5c27dd(_0x146f6e,_0x2327c6,0x2290),_0x315ebe(_0x368e5a[_0x1a4e('0x40')]),_0x5bc86e();var _0x146f6e,_0x2327c6;}(_0x1adc17);case 0xa3:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x2667')]),_0xe38521(),_0x1bd6a4('is'),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]);}(_0x1adc17);case 0xa4:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0xe7d')]),_0x19da80(_0x368e5a,_0x368e5a[_0x1a4e('0x2365')]);}(_0x1adc17);case 0xa5:return function(_0x368e5a){_0x45f773(_0x368e5a),_0x5c21ff(_0x368e5a,_0x368e5a['typeParameters']),_0x1a7d13(_0x368e5a,_0x368e5a[_0x1a4e('0x111a')]),_0xe38521(),_0x28639b('=>'),_0xe38521(),_0x276f8e(_0x368e5a['type']),_0x36dc55(_0x368e5a);}(_0x1adc17);case 0x121:return function(_0x368e5a){_0x1bd6a4(_0x1a4e('0x68')),_0x1322a5(_0x368e5a,_0x368e5a[_0x1a4e('0x111a')]),_0x28639b(':'),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]);}(_0x1adc17);case 0xa6:return function(_0x368e5a){_0x45f773(_0x368e5a),_0x1bd6a4(_0x1a4e('0x22a5')),_0xe38521(),_0x5c21ff(_0x368e5a,_0x368e5a[_0x1a4e('0x23d7')]),_0x1322a5(_0x368e5a,_0x368e5a[_0x1a4e('0x111a')]),_0xe38521(),_0x28639b('=>'),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]),_0x36dc55(_0x368e5a);}(_0x1adc17);case 0xa7:return function(_0x368e5a){_0x1bd6a4(_0x1a4e('0x22ae')),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x25fb')]);}(_0x1adc17);case 0xa8:return function(_0x146f6e){_0x28639b('{');var _0x2327c6=0x1&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)?0x300:0x8081;_0x5c27dd(_0x146f6e,_0x146f6e[_0x1a4e('0x2369')],0x80000|_0x2327c6),_0x28639b('}');}(_0x1adc17);case 0xa9:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x2388')]),_0x28639b('['),_0x28639b(']');}(_0x1adc17);case 0xaa:return function(_0x368e5a){_0x28639b('['),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x25fc')],0x210),_0x28639b(']');}(_0x1adc17);case 0xab:return function(_0x368e5a){_0x276f8e(_0x368e5a['type']),_0x28639b('?');}(_0x1adc17);case 0xad:return function(_0x368e5a){_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2380')],0x204);}(_0x1adc17);case 0xae:return function(_0x368e5a){_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2380')],0x208);}(_0x1adc17);case 0xaf:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x25fd')]),_0xe38521(),_0x1bd6a4('extends'),_0xe38521(),_0x276f8e(_0x368e5a['extendsType']),_0xe38521(),_0x28639b('?'),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x25ff')]),_0xe38521(),_0x28639b(':'),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x266a')]);}(_0x1adc17);case 0xb0:return function(_0x368e5a){_0x1bd6a4(_0x1a4e('0x22a1')),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2668')]);}(_0x1adc17);case 0xb1:return function(_0x368e5a){_0x28639b('('),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]),_0x28639b(')');}(_0x1adc17);case 0xd3:return function(_0x368e5a){_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x19da80(_0x368e5a,_0x368e5a['typeArguments']);}(_0x1adc17);case 0xb2:return void _0x1bd6a4(_0x1a4e('0x19b5'));case 0xb3:return function(_0x368e5a){_0x3f2c49(_0x368e5a[_0x1a4e('0x1474')],_0x1bd6a4),_0xe38521(),_0x276f8e(_0x368e5a['type']);}(_0x1adc17);case 0xb4:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x2601')]),_0x28639b('['),_0x276f8e(_0x368e5a[_0x1a4e('0x2669')]),_0x28639b(']');}(_0x1adc17);case 0xb5:return function(_0x146f6e){var _0x2327c6=_0x368e5a['getEmitFlags'](_0x146f6e);_0x28639b('{'),0x1&_0x2327c6?_0xe38521():(_0x544155(),_0x27b9fc());_0x146f6e[_0x1a4e('0x2666')]&&(_0x276f8e(_0x146f6e[_0x1a4e('0x2666')]),0x85!==_0x146f6e[_0x1a4e('0x2666')][_0x1a4e('0x146b')]&&_0x1bd6a4(_0x1a4e('0x22aa')),_0xe38521());_0x28639b('['),_0x4f1165(0x0,_0x146f6e[_0x1a4e('0x2668')])(0x3,_0x146f6e[_0x1a4e('0x2668')]),_0x28639b(']'),_0x146f6e[_0x1a4e('0x23ca')]&&(_0x276f8e(_0x146f6e[_0x1a4e('0x23ca')]),0x38!==_0x146f6e['questionToken']['kind']&&_0x28639b('?'));_0x28639b(':'),_0xe38521(),_0x276f8e(_0x146f6e[_0x1a4e('0x40')]),_0x5bc86e(),0x1&_0x2327c6?_0xe38521():(_0x544155(),_0x2258d5());_0x28639b('}');}(_0x1adc17);case 0xb6:return function(_0x368e5a){_0x1303af(_0x368e5a[_0x1a4e('0x2301')]);}(_0x1adc17);case 0xb7:return function(_0x368e5a){_0x368e5a['isTypeOf']&&(_0x1bd6a4(_0x1a4e('0x22ae')),_0xe38521());_0x1bd6a4(_0x1a4e('0x22a0')),_0x28639b('('),_0x276f8e(_0x368e5a['argument']),_0x28639b(')'),_0x368e5a[_0x1a4e('0x2600')]&&(_0x28639b('.'),_0x276f8e(_0x368e5a[_0x1a4e('0x2600')]));_0x19da80(_0x368e5a,_0x368e5a[_0x1a4e('0x2365')]);}(_0x1adc17);case 0x11c:return void _0x28639b('*');case 0x11d:return void _0x28639b('?');case 0x11e:return function(_0x368e5a){_0x28639b('?'),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]);}(_0x1adc17);case 0x11f:return function(_0x368e5a){_0x28639b('!'),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]);}(_0x1adc17);case 0x120:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x40')]),_0x28639b('=');}(_0x1adc17);case 0xac:case 0x122:return function(_0x368e5a){_0x28639b(_0x1a4e('0x28ba')),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]);}(_0x1adc17);case 0xb8:return function(_0x368e5a){_0x28639b('{'),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2398')],0x80350),_0x28639b('}');}(_0x1adc17);case 0xb9:return function(_0x368e5a){_0x28639b('['),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2398')],0x80250),_0x28639b(']');}(_0x1adc17);case 0xba:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x25f9')]),_0x368e5a[_0x1a4e('0x81a')]&&(_0x276f8e(_0x368e5a[_0x1a4e('0x81a')]),_0x28639b(':'),_0xe38521());_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x240af7(_0x368e5a[_0x1a4e('0x236a')],_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xca')],_0x368e5a);}(_0x1adc17);case 0xd8:return function(_0x368e5a){_0x1303af(_0x368e5a['expression']),_0x276f8e(_0x368e5a[_0x1a4e('0x2301')]);}(_0x1adc17);case 0xd9:return void _0x5bc86e();case 0xda:return function(_0x368e5a){_0x3a04e4(_0x368e5a,!_0x368e5a['multiLine']&&_0x5882e4(_0x368e5a));}(_0x1adc17);case 0xdb:return function(_0x368e5a){_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x276f8e(_0x368e5a[_0x1a4e('0x2377')]),_0x5bc86e();}(_0x1adc17);case 0xdc:return _0x3d5805(!0x1);case 0xdd:return function(_0x146f6e){_0x1303af(_0x146f6e[_0x1a4e('0x2302')]),(!_0x368e5a[_0x1a4e('0x2875')](_0x55ff7e)||_0x368e5a[_0x1a4e('0x2408')](_0x146f6e['expression']))&&_0x5bc86e();}(_0x1adc17);case 0xde:return function(_0x368e5a){var _0x146f6e=_0x415706(0x5b,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a);_0xe38521(),_0x415706(0x14,_0x146f6e,_0x28639b,_0x368e5a),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x415706(0x15,_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0xca')],_0x28639b,_0x368e5a),_0x275827(_0x368e5a,_0x368e5a[_0x1a4e('0x2606')]),_0x368e5a['elseStatement']&&(_0x246320(_0x368e5a),_0x415706(0x53,_0x368e5a[_0x1a4e('0x2606')][_0x1a4e('0xca')],_0x1bd6a4,_0x368e5a),0xde===_0x368e5a['elseStatement'][_0x1a4e('0x146b')]?(_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2607')])):_0x275827(_0x368e5a,_0x368e5a[_0x1a4e('0x2607')]));}(_0x1adc17);case 0xdf:return function(_0x146f6e){_0x415706(0x52,_0x146f6e[_0x1a4e('0xa4')],_0x1bd6a4,_0x146f6e),_0x275827(_0x146f6e,_0x146f6e[_0x1a4e('0x2390')]),_0x368e5a[_0x1a4e('0x250c')](_0x146f6e['statement'])?_0xe38521():_0x246320(_0x146f6e);_0x4138c6(_0x146f6e,_0x146f6e[_0x1a4e('0x2390')][_0x1a4e('0xca')]),_0x28639b(';');}(_0x1adc17);case 0xe0:return function(_0x368e5a){_0x4138c6(_0x368e5a,_0x368e5a[_0x1a4e('0xa4')]),_0x275827(_0x368e5a,_0x368e5a['statement']);}(_0x1adc17);case 0xe1:return function(_0x368e5a){var _0x146f6e=_0x415706(0x59,_0x368e5a['pos'],_0x1bd6a4,_0x368e5a);_0xe38521();var _0x2327c6=_0x415706(0x14,_0x146f6e,_0x28639b,_0x368e5a);_0xe3ec0a(_0x368e5a[_0x1a4e('0x236a')]),_0x2327c6=_0x415706(0x1a,_0x368e5a[_0x1a4e('0x236a')]?_0x368e5a[_0x1a4e('0x236a')][_0x1a4e('0xca')]:_0x2327c6,_0x28639b,_0x368e5a),_0x2d40e9(_0x368e5a[_0x1a4e('0x236b')]),_0x2327c6=_0x415706(0x1a,_0x368e5a['condition']?_0x368e5a[_0x1a4e('0x236b')][_0x1a4e('0xca')]:_0x2327c6,_0x28639b,_0x368e5a),_0x2d40e9(_0x368e5a[_0x1a4e('0x236c')]),_0x415706(0x15,_0x368e5a[_0x1a4e('0x236c')]?_0x368e5a[_0x1a4e('0x236c')]['end']:_0x2327c6,_0x28639b,_0x368e5a),_0x275827(_0x368e5a,_0x368e5a[_0x1a4e('0x2390')]);}(_0x1adc17);case 0xe2:return function(_0x368e5a){var _0x146f6e=_0x415706(0x59,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a);_0xe38521(),_0x415706(0x14,_0x146f6e,_0x28639b,_0x368e5a),_0xe3ec0a(_0x368e5a[_0x1a4e('0x236a')]),_0xe38521(),_0x415706(0x5d,_0x368e5a[_0x1a4e('0x236a')][_0x1a4e('0xca')],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x415706(0x15,_0x368e5a[_0x1a4e('0x2302')]['end'],_0x28639b,_0x368e5a),_0x275827(_0x368e5a,_0x368e5a[_0x1a4e('0x2390')]);}(_0x1adc17);case 0xe3:return function(_0x368e5a){var _0x146f6e=_0x415706(0x59,_0x368e5a['pos'],_0x1bd6a4,_0x368e5a);_0xe38521(),function(_0x368e5a){_0x368e5a&&(_0x276f8e(_0x368e5a),_0xe38521());}(_0x368e5a[_0x1a4e('0x2678')]),_0x415706(0x14,_0x146f6e,_0x28639b,_0x368e5a),_0xe3ec0a(_0x368e5a[_0x1a4e('0x236a')]),_0xe38521(),_0x415706(0x93,_0x368e5a['initializer']['end'],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x1303af(_0x368e5a['expression']),_0x415706(0x15,_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0xca')],_0x28639b,_0x368e5a),_0x275827(_0x368e5a,_0x368e5a[_0x1a4e('0x2390')]);}(_0x1adc17);case 0xe4:return function(_0x368e5a){_0x415706(0x4e,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0x1aca50(_0x368e5a[_0x1a4e('0x1bc')]),_0x5bc86e();}(_0x1adc17);case 0xe5:return function(_0x368e5a){_0x415706(0x49,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0x1aca50(_0x368e5a[_0x1a4e('0x1bc')]),_0x5bc86e();}(_0x1adc17);case 0xe6:return function(_0x368e5a){_0x415706(0x61,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0x2d40e9(_0x368e5a[_0x1a4e('0x2302')]),_0x5bc86e();}(_0x1adc17);case 0xe7:return function(_0x368e5a){var _0x146f6e=_0x415706(0x6c,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a);_0xe38521(),_0x415706(0x14,_0x146f6e,_0x28639b,_0x368e5a),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x415706(0x15,_0x368e5a['expression'][_0x1a4e('0xca')],_0x28639b,_0x368e5a),_0x275827(_0x368e5a,_0x368e5a[_0x1a4e('0x2390')]);}(_0x1adc17);case 0xe8:return function(_0x368e5a){var _0x146f6e=_0x415706(0x63,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a);_0xe38521(),_0x415706(0x14,_0x146f6e,_0x28639b,_0x368e5a),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x415706(0x15,_0x368e5a['expression']['end'],_0x28639b,_0x368e5a),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2608')]);}(_0x1adc17);case 0xe9:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x1bc')]),_0x415706(0x39,_0x368e5a[_0x1a4e('0x1bc')][_0x1a4e('0xca')],_0x28639b,_0x368e5a),_0xe38521(),_0x276f8e(_0x368e5a['statement']);}(_0x1adc17);case 0xea:return function(_0x368e5a){_0x415706(0x65,_0x368e5a['pos'],_0x1bd6a4,_0x368e5a),_0x2d40e9(_0x368e5a[_0x1a4e('0x2302')]),_0x5bc86e();}(_0x1adc17);case 0xeb:return function(_0x368e5a){_0x415706(0x67,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2679')]),_0x368e5a[_0x1a4e('0x260a')]&&(_0x246320(_0x368e5a),_0x276f8e(_0x368e5a[_0x1a4e('0x260a')]));_0x368e5a[_0x1a4e('0x267a')]&&(_0x246320(_0x368e5a),_0x415706(0x58,(_0x368e5a['catchClause']||_0x368e5a[_0x1a4e('0x2679')])[_0x1a4e('0xca')],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x267a')]));}(_0x1adc17);case 0xec:return function(_0x368e5a){_0x5ebae7(0x4f,_0x368e5a['pos'],_0x1bd6a4),_0x5bc86e();}(_0x1adc17);case 0xed:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x315ebe(_0x368e5a[_0x1a4e('0x40')]),_0x240af7(_0x368e5a[_0x1a4e('0x236a')],_0x368e5a[_0x1a4e('0x40')]?_0x368e5a[_0x1a4e('0x40')][_0x1a4e('0xca')]:_0x368e5a['name']['end'],_0x368e5a);}(_0x1adc17);case 0xee:return function(_0x146f6e){_0x1bd6a4(_0x368e5a[_0x1a4e('0x2360')](_0x146f6e)?_0x1a4e('0x2f57'):_0x368e5a['isVarConst'](_0x146f6e)?_0x1a4e('0x2f58'):_0x1a4e('0x22b0')),_0xe38521(),_0x5c27dd(_0x146f6e,_0x146f6e[_0x1a4e('0x22e5')],0x210);}(_0x1adc17);case 0xef:return function(_0x368e5a){_0x4e36e4(_0x368e5a);}(_0x1adc17);case 0xf0:return function(_0x368e5a){_0x45fc5e(_0x368e5a);}(_0x1adc17);case 0xf1:return function(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a['modifiers']),_0x1bd6a4('interface'),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x5c21ff(_0x368e5a,_0x368e5a[_0x1a4e('0x23d7')]),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x237f')],0x200),_0xe38521(),_0x28639b('{'),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2369')],0x81),_0x28639b('}');}(_0x1adc17);case 0xf2:return function(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x1bd6a4(_0x1a4e('0x40')),_0xe38521(),_0x276f8e(_0x368e5a['name']),_0x5c21ff(_0x368e5a,_0x368e5a['typeParameters']),_0xe38521(),_0x28639b('='),_0xe38521(),_0x276f8e(_0x368e5a['type']),_0x5bc86e();}(_0x1adc17);case 0xf3:return function(_0x368e5a){_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x1bd6a4(_0x1a4e('0x889')),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0xe38521(),_0x28639b('{'),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2369')],0x91),_0x28639b('}');}(_0x1adc17);case 0xf4:return function(_0x368e5a){_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),0x200&~_0x368e5a['flags']&&(_0x1bd6a4(0x10&_0x368e5a[_0x1a4e('0x7b2')]?_0x1a4e('0x22a4'):_0x1a4e('0xa6c')),_0xe38521());_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]);var _0x146f6e=_0x368e5a['body'];if(!_0x146f6e)return _0x5bc86e();for(;0xf4===_0x146f6e['kind'];)_0x28639b('.'),_0x276f8e(_0x146f6e[_0x1a4e('0x2cb')]),_0x146f6e=_0x146f6e[_0x1a4e('0x8f2')];_0xe38521(),_0x276f8e(_0x146f6e);}(_0x1adc17);case 0xf5:return function(_0x146f6e){_0x45f773(_0x146f6e),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2366')],_0x32a16b),_0x3a04e4(_0x146f6e,_0x5882e4(_0x146f6e)),_0x36dc55(_0x146f6e);}(_0x1adc17);case 0xf6:return function(_0x368e5a){_0x415706(0x12,_0x368e5a[_0x1a4e('0xa4')],_0x28639b,_0x368e5a),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2609')],0x81),_0x415706(0x13,_0x368e5a[_0x1a4e('0x2609')]['end'],_0x28639b,_0x368e5a,!0x0);}(_0x1adc17);case 0xf7:return function(_0x368e5a){var _0x146f6e=_0x415706(0x55,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a);_0xe38521(),_0x146f6e=_0x415706(0x77,_0x146f6e,_0x1bd6a4,_0x368e5a),_0xe38521(),_0x146f6e=_0x415706(0x83,_0x146f6e,_0x1bd6a4,_0x368e5a),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x5bc86e();}(_0x1adc17);case 0xf8:return function(_0x368e5a){_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x415706(0x5c,_0x368e5a[_0x1a4e('0x242d')]?_0x368e5a[_0x1a4e('0x242d')][_0x1a4e('0xca')]:_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0xe38521(),_0x415706(0x3b,_0x368e5a['name'][_0x1a4e('0xca')],_0x28639b,_0x368e5a),_0xe38521(),function(_0x368e5a){0x48===_0x368e5a[_0x1a4e('0x146b')]?_0x1303af(_0x368e5a):_0x276f8e(_0x368e5a);}(_0x368e5a[_0x1a4e('0x236d')]),_0x5bc86e();}(_0x1adc17);case 0xf9:return function(_0x368e5a){_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x415706(0x5c,_0x368e5a[_0x1a4e('0x242d')]?_0x368e5a[_0x1a4e('0x242d')][_0x1a4e('0xca')]:_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x368e5a[_0x1a4e('0x23c6')]&&(_0x276f8e(_0x368e5a[_0x1a4e('0x23c6')]),_0xe38521(),_0x415706(0x90,_0x368e5a[_0x1a4e('0x23c6')][_0x1a4e('0xca')],_0x1bd6a4,_0x368e5a),_0xe38521());_0x1303af(_0x368e5a[_0x1a4e('0x23c5')]),_0x5bc86e();}(_0x1adc17);case 0xfa:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x368e5a[_0x1a4e('0x2cb')]&&_0x368e5a[_0x1a4e('0x23c7')]&&(_0x415706(0x1b,_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xca')],_0x28639b,_0x368e5a),_0xe38521());_0x276f8e(_0x368e5a[_0x1a4e('0x23c7')]);}(_0x1adc17);case 0xfb:return function(_0x368e5a){var _0x146f6e=_0x415706(0x28,_0x368e5a[_0x1a4e('0xa4')],_0x28639b,_0x368e5a);_0xe38521(),_0x415706(0x77,_0x146f6e,_0x1bd6a4,_0x368e5a),_0xe38521(),_0x276f8e(_0x368e5a['name']);}(_0x1adc17);case 0xfc:return function(_0x368e5a){_0x9b1127(_0x368e5a);}(_0x1adc17);case 0xfd:return function(_0x368e5a){_0x39ab6f(_0x368e5a);}(_0x1adc17);case 0xfe:return function(_0x368e5a){var _0x146f6e=_0x415706(0x55,_0x368e5a['pos'],_0x1bd6a4,_0x368e5a);_0xe38521(),_0x368e5a['isExportEquals']?_0x415706(0x3b,_0x146f6e,_0x353fe4,_0x368e5a):_0x415706(0x50,_0x146f6e,_0x1bd6a4,_0x368e5a);_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x5bc86e();}(_0x1adc17);case 0xff:return function(_0x368e5a){var _0x146f6e=_0x415706(0x55,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a);_0xe38521(),_0x368e5a[_0x1a4e('0x260d')]?_0x276f8e(_0x368e5a[_0x1a4e('0x260d')]):_0x146f6e=_0x415706(0x28,_0x146f6e,_0x28639b,_0x368e5a);if(_0x368e5a[_0x1a4e('0x23c5')]){_0xe38521();var _0x2327c6=_0x368e5a[_0x1a4e('0x260d')]?_0x368e5a[_0x1a4e('0x260d')][_0x1a4e('0xca')]:_0x146f6e;_0x415706(0x90,_0x2327c6,_0x1bd6a4,_0x368e5a),_0xe38521(),_0x1303af(_0x368e5a['moduleSpecifier']);}_0x5bc86e();}(_0x1adc17);case 0x100:return function(_0x368e5a){_0x9b1127(_0x368e5a);}(_0x1adc17);case 0x101:return function(_0x368e5a){_0x39ab6f(_0x368e5a);}(_0x1adc17);case 0x102:return;case 0x103:return function(_0x368e5a){_0x1bd6a4('require'),_0x28639b('('),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x28639b(')');}(_0x1adc17);case 0xb:return function(_0x368e5a){_0x3a0831['writeLiteral'](_0x3eb18c(_0x368e5a,!0x0));}(_0x1adc17);case 0x106:case 0x109:return function(_0x146f6e){_0x28639b('<'),_0x368e5a[_0x1a4e('0x2527')](_0x146f6e)&&(_0x703f00(_0x146f6e['tagName']),_0x146f6e['attributes'][_0x1a4e('0x13')]&&_0x146f6e[_0x1a4e('0x266d')][_0x1a4e('0x13')][_0x1a4e('0x1e')]>0x0&&_0xe38521(),_0x276f8e(_0x146f6e['attributes']));_0x28639b('>');}(_0x1adc17);case 0x107:case 0x10a:return function(_0x146f6e){_0x28639b('');}(_0x1adc17);case 0x10b:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){_0x2327c6&&(_0x146f6e(_0x368e5a),_0x55ff7e(_0x2327c6));}('=',_0x28639b,_0x368e5a[_0x1a4e('0x236a')],_0x276f8e);}(_0x1adc17);case 0x10c:return function(_0x368e5a){_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x13')],0x40200);}(_0x1adc17);case 0x10d:return function(_0x368e5a){_0x28639b(_0x1a4e('0x2f59')),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x28639b('}');}(_0x1adc17);case 0x10e:return function(_0x368e5a){_0x368e5a[_0x1a4e('0x2302')]&&(_0x28639b('{'),_0x276f8e(_0x368e5a[_0x1a4e('0x25f9')]),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x28639b('}'));}(_0x1adc17);case 0x10f:return function(_0x368e5a){_0x415706(0x4a,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0xcb9220(_0x368e5a,_0x368e5a[_0x1a4e('0x2366')],_0x368e5a[_0x1a4e('0x2302')]['end']);}(_0x1adc17);case 0x110:return function(_0x368e5a){var _0x146f6e=_0x415706(0x50,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a);_0xcb9220(_0x368e5a,_0x368e5a['statements'],_0x146f6e);}(_0x1adc17);case 0x111:return function(_0x368e5a){_0xe38521(),_0x3f2c49(_0x368e5a[_0x1a4e('0x2381')],_0x1bd6a4),_0xe38521(),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2380')],0x210);}(_0x1adc17);case 0x112:return function(_0x368e5a){var _0x146f6e=_0x415706(0x4b,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a);_0xe38521(),_0x368e5a[_0x1a4e('0x260b')]&&(_0x415706(0x14,_0x146f6e,_0x28639b,_0x368e5a),_0x276f8e(_0x368e5a['variableDeclaration']),_0x415706(0x15,_0x368e5a['variableDeclaration']['end'],_0x28639b,_0x368e5a),_0xe38521());_0x276f8e(_0x368e5a['block']);}(_0x1adc17);case 0x113:return function(_0x146f6e){_0x276f8e(_0x146f6e[_0x1a4e('0x2cb')]),_0x28639b(':'),_0xe38521();var _0x2327c6=_0x146f6e[_0x1a4e('0x236a')];if(_0xf018da&&0x0==(0x200&_0x368e5a[_0x1a4e('0x2c65')](_0x2327c6))){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2d18')](_0x2327c6);_0xf018da(_0x55ff7e[_0x1a4e('0xa4')]);}_0x1303af(_0x2327c6);}(_0x1adc17);case 0x114:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x368e5a[_0x1a4e('0x2471')]&&(_0xe38521(),_0x28639b('='),_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0x2471')]));}(_0x1adc17);case 0x115:return function(_0x368e5a){_0x368e5a[_0x1a4e('0x2302')]&&(_0x415706(0x19,_0x368e5a[_0x1a4e('0xa4')],_0x28639b,_0x368e5a),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]));}(_0x1adc17);case 0x116:return function(_0x368e5a){_0x276f8e(_0x368e5a['name']),_0x240af7(_0x368e5a[_0x1a4e('0x236a')],_0x368e5a[_0x1a4e('0x2cb')]['end'],_0x368e5a);}(_0x1adc17);case 0x12b:case 0x131:return function(_0x368e5a){_0x2e2b3c(_0x368e5a['tagName']),_0x2d9b02(_0x368e5a['typeExpression']),_0xe38521(),_0x368e5a[_0x1a4e('0x269b')]&&_0x28639b('[');_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]),_0x368e5a[_0x1a4e('0x269b')]&&_0x28639b(']');_0x29904b(_0x368e5a[_0x1a4e('0x2695')]);}(_0x1adc17);case 0x12c:case 0x12e:case 0x12d:case 0x12a:return _0x2e2b3c((_0xf79407=_0x1adc17)[_0x1a4e('0x132b')]),_0x2d9b02(_0xf79407[_0x1a4e('0x2379')]),void _0x29904b(_0xf79407['comment']);case 0x127:return function(_0x368e5a){_0x2e2b3c(_0x368e5a['tagName']),_0xe38521(),_0x28639b('{'),_0x276f8e(_0x368e5a[_0x1a4e('0x237e')]),_0x28639b('}'),_0x29904b(_0x368e5a[_0x1a4e('0x2695')]);}(_0x1adc17);case 0x12f:return function(_0x368e5a){_0x2e2b3c(_0x368e5a[_0x1a4e('0x132b')]),_0x2d9b02(_0x368e5a[_0x1a4e('0x2364')]),_0xe38521(),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x23d7')],0x210),_0x29904b(_0x368e5a[_0x1a4e('0x2695')]);}(_0x1adc17);case 0x130:return function(_0x368e5a){_0x2e2b3c(_0x368e5a[_0x1a4e('0x132b')]),_0x368e5a[_0x1a4e('0x2379')]&&(0x11b===_0x368e5a[_0x1a4e('0x2379')]['kind']?_0x2d9b02(_0x368e5a[_0x1a4e('0x2379')]):(_0xe38521(),_0x28639b('{'),_0x193d9d('Object'),_0x368e5a[_0x1a4e('0x2379')]['isArrayType']&&(_0x28639b('['),_0x28639b(']')),_0x28639b('}')));_0x368e5a['fullName']&&(_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2613')]));_0x29904b(_0x368e5a[_0x1a4e('0x2695')]),_0x368e5a[_0x1a4e('0x2379')]&&0x124===_0x368e5a[_0x1a4e('0x2379')][_0x1a4e('0x146b')]&&_0x333b0f(_0x368e5a[_0x1a4e('0x2379')]);}(_0x1adc17);case 0x129:return function(_0x368e5a){_0x2e2b3c(_0x368e5a[_0x1a4e('0x132b')]),_0x368e5a['name']&&(_0xe38521(),_0x276f8e(_0x368e5a['name']));_0x29904b(_0x368e5a[_0x1a4e('0x2695')]),_0x5b27d6(_0x368e5a[_0x1a4e('0x2379')]);}(_0x1adc17);case 0x125:return _0x5b27d6(_0x1adc17);case 0x124:return _0x333b0f(_0x1adc17);case 0x128:case 0x126:return function(_0x368e5a){_0x2e2b3c(_0x368e5a[_0x1a4e('0x132b')]),_0x29904b(_0x368e5a[_0x1a4e('0x2695')]);}(_0x1adc17);case 0x123:return function(_0x368e5a){if(_0x193d9d(_0x1a4e('0x2f5a')),_0x368e5a['comment'])for(var _0x146f6e=_0x368e5a[_0x1a4e('0x2695')][_0x1a4e('0x2be')](/\r\n?|\n/g),_0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x544155(),_0xe38521(),_0x28639b('*'),_0xe38521(),_0x193d9d(_0x1adc17);}_0x368e5a[_0x1a4e('0x2455')]&&(0x1!==_0x368e5a['tags'][_0x1a4e('0x1e')]||0x12e!==_0x368e5a['tags'][0x0]['kind']||_0x368e5a[_0x1a4e('0x2695')]?_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2455')],0x21):(_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x2455')][0x0])));_0xe38521(),_0x193d9d('*/');}(_0x1adc17);}if(_0x368e5a['isExpression'](_0x1adc17))_0x2327c6=0x1,_0x3b5076!==_0x368e5a[_0x1a4e('0x2f37')]&&(_0x1adc17=_0x3b5076(_0x2327c6,_0x1adc17));else if(_0x368e5a[_0x1a4e('0x2d7b')](_0x1adc17))return _0x1ba951(_0x1adc17,_0x28639b);}var _0xf79407,_0x2c9ec9,_0x420b32;if(0x1===_0x2327c6)switch(_0x1adc17[_0x1a4e('0x146b')]){case 0x8:case 0x9:return function(_0x368e5a){_0x4cf8e6(_0x368e5a);}(_0x1adc17);case 0xa:case 0xd:case 0xe:return _0x4cf8e6(_0x1adc17);case 0x48:return _0x6961f4(_0x1adc17);case 0x57:case 0x60:case 0x62:case 0x66:case 0x64:case 0x5c:return void _0x1ba951(_0x1adc17,_0x1bd6a4);case 0xbb:return function(_0x368e5a){var _0x146f6e=_0x368e5a['elements'],_0x2327c6=_0x368e5a[_0x1a4e('0x2677')]?0x10000:0x0;_0x338b22(_0x368e5a,_0x146f6e,0x22d2|_0x2327c6);}(_0x1adc17);case 0xbc:return function(_0x146f6e){_0x368e5a[_0x1a4e('0x3b')](_0x146f6e['properties'],_0x177900);var _0x2327c6=0x10000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e);_0x2327c6&&_0x27b9fc();var _0x1adc17=_0x146f6e['multiLine']?0x10000:0x0,_0xf79407=_0x55ff7e[_0x1a4e('0x22f6')]>=0x1&&!_0x368e5a['isJsonSourceFile'](_0x55ff7e)?0x40:0x0;_0x5c27dd(_0x146f6e,_0x146f6e[_0x1a4e('0x13')],0x80792|_0xf79407|_0x1adc17),_0x2327c6&&_0x2258d5();}(_0x1adc17);case 0xbd:return function(_0x2327c6){var _0x1adc17=!0x1,_0xf79407=!0x1;if(!(0x20000&_0x368e5a['getEmitFlags'](_0x2327c6))){var _0x2c9ec9=_0x2327c6['expression'][_0x1a4e('0xca')],_0x420b32=_0x368e5a[_0x1a4e('0x22c6')](_0x55ff7e[_0x1a4e('0xe04')],_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0xca')])+0x1,_0x1b06ad=_0x368e5a[_0x1a4e('0x28b6')](0x18);_0x1b06ad[_0x1a4e('0xa4')]=_0x2c9ec9,_0x1b06ad[_0x1a4e('0xca')]=_0x420b32,_0x1adc17=_0x4d326e(_0x2327c6,_0x2327c6[_0x1a4e('0x2302')],_0x1b06ad),_0xf79407=_0x4d326e(_0x2327c6,_0x1b06ad,_0x2327c6[_0x1a4e('0x2cb')]);}_0x1303af(_0x2327c6[_0x1a4e('0x2302')]),_0x3c2bb4(_0x1adc17,!0x1),!_0x1adc17&&function(_0x2327c6){if(_0x2327c6=_0x368e5a[_0x1a4e('0x24fe')](_0x2327c6),_0x368e5a['isNumericLiteral'](_0x2327c6)){var _0x55ff7e=_0x5273fe(_0x2327c6,!0x0);return!_0x2327c6[_0x1a4e('0x2335')]&&!_0x368e5a[_0x1a4e('0x175a')](_0x55ff7e,_0x368e5a[_0x1a4e('0x22ba')](0x18));}if(_0x368e5a[_0x1a4e('0x2371')](_0x2327c6)||_0x368e5a[_0x1a4e('0x2856')](_0x2327c6)){var _0x1adc17=_0x368e5a[_0x1a4e('0x2e05')](_0x2327c6);return _0x1a4e('0x3d')==typeof _0x1adc17&&isFinite(_0x1adc17)&&Math[_0x1a4e('0xb4')](_0x1adc17)===_0x1adc17&&_0x146f6e[_0x1a4e('0x273e')];}}(_0x2327c6[_0x1a4e('0x2302')])&&_0x28639b('.');_0x415706(0x18,_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0xca')],_0x28639b,_0x2327c6),_0x3c2bb4(_0xf79407,!0x1),_0x276f8e(_0x2327c6['name']),_0xb806d3(_0x1adc17,_0xf79407);}(_0x1adc17);case 0xbe:return function(_0x368e5a){_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x415706(0x16,_0x368e5a[_0x1a4e('0x2302')][_0x1a4e('0xca')],_0x28639b,_0x368e5a),_0x1303af(_0x368e5a[_0x1a4e('0x24a7')]),_0x415706(0x17,_0x368e5a[_0x1a4e('0x24a7')][_0x1a4e('0xca')],_0x28639b,_0x368e5a);}(_0x1adc17);case 0xbf:return function(_0x368e5a){_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x19da80(_0x368e5a,_0x368e5a['typeArguments']),_0x338b22(_0x368e5a,_0x368e5a[_0x1a4e('0x2373')],0xa10);}(_0x1adc17);case 0xc0:return function(_0x368e5a){_0x415706(0x5f,_0x368e5a['pos'],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x19da80(_0x368e5a,_0x368e5a[_0x1a4e('0x2365')]),_0x338b22(_0x368e5a,_0x368e5a[_0x1a4e('0x2373')],0x4a10);}(_0x1adc17);case 0xc1:return function(_0x368e5a){_0x1303af(_0x368e5a[_0x1a4e('0x7ba')]),_0x19da80(_0x368e5a,_0x368e5a['typeArguments']),_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0xe19')]);}(_0x1adc17);case 0xc2:return function(_0x368e5a){_0x28639b('<'),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]),_0x28639b('>'),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]);}(_0x1adc17);case 0xc3:return function(_0x368e5a){var _0x146f6e=_0x415706(0x14,_0x368e5a[_0x1a4e('0xa4')],_0x28639b,_0x368e5a);_0x1303af(_0x368e5a['expression']),_0x415706(0x15,_0x368e5a[_0x1a4e('0x2302')]?_0x368e5a[_0x1a4e('0x2302')]['end']:_0x146f6e,_0x28639b,_0x368e5a);}(_0x1adc17);case 0xc4:return function(_0x368e5a){_0x18d06f(_0x368e5a['name']),_0x4e36e4(_0x368e5a);}(_0x1adc17);case 0xc5:return function(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x748166(_0x368e5a,_0x4085de);}(_0x1adc17);case 0xc6:return function(_0x368e5a){_0x415706(0x51,_0x368e5a['pos'],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]);}(_0x1adc17);case 0xc7:return function(_0x368e5a){_0x415706(0x68,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]);}(_0x1adc17);case 0xc8:return function(_0x368e5a){_0x415706(0x6a,_0x368e5a['pos'],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]);}(_0x1adc17);case 0xc9:return function(_0x368e5a){_0x415706(0x7a,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0xe38521(),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]);}(_0x1adc17);case 0xca:return function(_0x368e5a){_0x3f2c49(_0x368e5a[_0x1a4e('0x1474')],_0x353fe4),function(_0x368e5a){var _0x146f6e=_0x368e5a['operand'];return 0xca===_0x146f6e['kind']&&(0x26===_0x368e5a[_0x1a4e('0x1474')]&&(0x26===_0x146f6e[_0x1a4e('0x1474')]||0x2c===_0x146f6e[_0x1a4e('0x1474')])||0x27===_0x368e5a[_0x1a4e('0x1474')]&&(0x27===_0x146f6e['operator']||0x2d===_0x146f6e[_0x1a4e('0x1474')]));}(_0x368e5a)&&_0xe38521();_0x1303af(_0x368e5a[_0x1a4e('0x1784')]);}(_0x1adc17);case 0xcb:return function(_0x368e5a){_0x1303af(_0x368e5a[_0x1a4e('0x1784')]),_0x3f2c49(_0x368e5a[_0x1a4e('0x1474')],_0x353fe4);}(_0x1adc17);case 0xcc:return function(_0x368e5a){var _0x146f6e=0x1b!==_0x368e5a[_0x1a4e('0x237a')]['kind'],_0x2327c6=_0x4d326e(_0x368e5a,_0x368e5a['left'],_0x368e5a[_0x1a4e('0x237a')]),_0x55ff7e=_0x4d326e(_0x368e5a,_0x368e5a['operatorToken'],_0x368e5a[_0x1a4e('0x5d')]);_0x1303af(_0x368e5a['left']),_0x3c2bb4(_0x2327c6,_0x146f6e),_0xbb59f9(_0x368e5a[_0x1a4e('0x237a')][_0x1a4e('0xa4')]),_0x1ba951(_0x368e5a[_0x1a4e('0x237a')],0x5d===_0x368e5a[_0x1a4e('0x237a')][_0x1a4e('0x146b')]?_0x1bd6a4:_0x353fe4),_0xf018da(_0x368e5a['operatorToken'][_0x1a4e('0xca')],!0x0),_0x3c2bb4(_0x55ff7e,!0x0),_0x1303af(_0x368e5a[_0x1a4e('0x5d')]),_0xb806d3(_0x2327c6,_0x55ff7e);}(_0x1adc17);case 0xcd:return function(_0x368e5a){var _0x146f6e=_0x4d326e(_0x368e5a,_0x368e5a[_0x1a4e('0x236b')],_0x368e5a[_0x1a4e('0x23ca')]),_0x2327c6=_0x4d326e(_0x368e5a,_0x368e5a[_0x1a4e('0x23ca')],_0x368e5a[_0x1a4e('0x2602')]),_0x55ff7e=_0x4d326e(_0x368e5a,_0x368e5a[_0x1a4e('0x2602')],_0x368e5a[_0x1a4e('0x2603')]),_0x1adc17=_0x4d326e(_0x368e5a,_0x368e5a[_0x1a4e('0x2603')],_0x368e5a[_0x1a4e('0x2604')]);_0x1303af(_0x368e5a[_0x1a4e('0x236b')]),_0x3c2bb4(_0x146f6e,!0x0),_0x276f8e(_0x368e5a['questionToken']),_0x3c2bb4(_0x2327c6,!0x0),_0x1303af(_0x368e5a[_0x1a4e('0x2602')]),_0xb806d3(_0x146f6e,_0x2327c6),_0x3c2bb4(_0x55ff7e,!0x0),_0x276f8e(_0x368e5a[_0x1a4e('0x2603')]),_0x3c2bb4(_0x1adc17,!0x0),_0x1303af(_0x368e5a[_0x1a4e('0x2604')]),_0xb806d3(_0x55ff7e,_0x1adc17);}(_0x1adc17);case 0xce:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x10f1')]),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x260e')],0x40000);}(_0x1adc17);case 0xcf:return function(_0x368e5a){_0x415706(0x75,_0x368e5a[_0x1a4e('0xa4')],_0x1bd6a4,_0x368e5a),_0x276f8e(_0x368e5a[_0x1a4e('0x23fc')]),_0x2d40e9(_0x368e5a[_0x1a4e('0x2302')]);}(_0x1adc17);case 0xd0:return function(_0x368e5a){_0x415706(0x19,_0x368e5a[_0x1a4e('0xa4')],_0x28639b,_0x368e5a),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]);}(_0x1adc17);case 0xd1:return function(_0x368e5a){_0x18d06f(_0x368e5a[_0x1a4e('0x2cb')]),_0x45fc5e(_0x368e5a);}(_0x1adc17);case 0xd2:return;case 0xd4:return function(_0x368e5a){_0x1303af(_0x368e5a['expression']),_0x368e5a[_0x1a4e('0x40')]&&(_0xe38521(),_0x1bd6a4('as'),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]));}(_0x1adc17);case 0xd5:return function(_0x368e5a){_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x353fe4('!');}(_0x1adc17);case 0xd6:return function(_0x368e5a){_0x5ebae7(_0x368e5a[_0x1a4e('0x2675')],_0x368e5a[_0x1a4e('0xa4')],_0x28639b),_0x28639b('.'),_0x276f8e(_0x368e5a['name']);}(_0x1adc17);case 0x104:return function(_0x368e5a){_0x276f8e(_0x368e5a[_0x1a4e('0x260f')]),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x6f')],0x40000),_0x276f8e(_0x368e5a[_0x1a4e('0x266e')]);}(_0x1adc17);case 0x105:return function(_0x368e5a){_0x28639b('<'),_0x703f00(_0x368e5a[_0x1a4e('0x132b')]),_0xe38521(),_0x276f8e(_0x368e5a[_0x1a4e('0x266d')]),_0x28639b('/>');}(_0x1adc17);case 0x108:return function(_0x368e5a){_0x276f8e(_0x368e5a['openingFragment']),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x6f')],0x40000),_0x276f8e(_0x368e5a[_0x1a4e('0x2611')]);}(_0x1adc17);case 0x134:return function(_0x368e5a){_0x1303af(_0x368e5a[_0x1a4e('0x2302')]);}(_0x1adc17);case 0x135:return function(_0x368e5a){_0x338b22(_0x368e5a,_0x368e5a[_0x1a4e('0x2398')],0x210);}(_0x1adc17);}}function _0x40fcab(_0x368e5a,_0x146f6e){_0x1755ff(0x1,_0x146f6e)(_0x368e5a,_0x3b5076(_0x368e5a,_0x146f6e));}function _0xdab2ee(_0x2327c6){var _0x1adc17=!0x1,_0xf79407=0x118===_0x2327c6['kind']?_0x2327c6:void 0x0;if(!_0xf79407||_0x64fdf6!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1733')]){for(var _0x2c9ec9=_0xf79407?_0xf79407[_0x1a4e('0x2c1e')]['length']:0x1,_0x420b32=0x0;_0x420b32<_0x2c9ec9;_0x420b32++){var _0x1b06ad=_0xf79407?_0xf79407[_0x1a4e('0x2c1e')][_0x420b32]:_0x2327c6,_0x326eae=_0x368e5a[_0x1a4e('0x22f0')](_0x1b06ad)?_0x1b06ad:_0x55ff7e,_0x56674b=_0x146f6e[_0x1a4e('0x2f5b')]||void 0x0!==_0x368e5a['getExternalHelpersModuleName'](_0x326eae),_0x29aff1=_0x368e5a[_0x1a4e('0x22f0')](_0x1b06ad)&&!_0x453387,_0x27dbfb=_0x368e5a[_0x1a4e('0x2d22')](_0x1b06ad);if(_0x27dbfb)for(var _0x3a0831=0x0,_0x1ce703=_0x368e5a[_0x1a4e('0x171f')](_0x27dbfb,_0x368e5a[_0x1a4e('0x2d24')]);_0x3a0831<_0x1ce703[_0x1a4e('0x1e')];_0x3a0831++){var _0x57c1d8=_0x1ce703[_0x3a0831];if(_0x57c1d8[_0x1a4e('0x2d62')]){if(_0xf79407)continue;}else{if(_0x56674b)continue;if(_0x29aff1){if(_0x19c559[_0x1a4e('0x179')](_0x57c1d8[_0x1a4e('0x2cb')]))continue;_0x19c559['set'](_0x57c1d8['name'],!0x0);}}_0x1a4e('0x9')==typeof _0x57c1d8[_0x1a4e('0xe04')]?_0x4b123a(_0x57c1d8['text']):_0x4b123a(_0x57c1d8[_0x1a4e('0xe04')](_0xf3afd0)),_0x1adc17=!0x0;}}return _0x1adc17;}}function _0x4cf8e6(_0x2327c6){var _0x55ff7e,_0x1adc17=_0x5273fe(_0x2327c6,_0x146f6e[_0x1a4e('0x2f5c')]);!_0x146f6e[_0x1a4e('0x2f4a')]&&!_0x146f6e[_0x1a4e('0x2f4b')]||0xa!==_0x2327c6[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x2647')](_0x2327c6[_0x1a4e('0x146b')])?function(_0x368e5a){_0x3a0831[_0x1a4e('0x2437')](_0x368e5a);}(_0x1adc17):(_0x55ff7e=_0x1adc17,_0x3a0831['writeLiteral'](_0x55ff7e));}function _0x6961f4(_0x368e5a){(_0x368e5a[_0x1a4e('0xb1b')]?_0x23ed6c:_0x193d9d)(_0x3eb18c(_0x368e5a,!0x1),_0x368e5a[_0x1a4e('0xb1b')]),_0x5c27dd(_0x368e5a,_0x368e5a['typeArguments'],0xd210);}function _0x4085de(_0x368e5a){_0x5c21ff(_0x368e5a,_0x368e5a[_0x1a4e('0x23d7')]),_0x1a7d13(_0x368e5a,_0x368e5a['parameters']),_0x315ebe(_0x368e5a[_0x1a4e('0x40')]),_0xe38521(),_0x276f8e(_0x368e5a['equalsGreaterThanToken']);}function _0x3a04e4(_0x146f6e,_0x2327c6){_0x415706(0x12,_0x146f6e[_0x1a4e('0xa4')],_0x28639b,_0x146f6e);var _0x55ff7e=_0x2327c6||0x1&_0x368e5a['getEmitFlags'](_0x146f6e)?0x300:0x81;_0x5c27dd(_0x146f6e,_0x146f6e['statements'],_0x55ff7e),_0x415706(0x13,_0x146f6e[_0x1a4e('0x2366')][_0x1a4e('0xca')],_0x28639b,_0x146f6e,!!(0x1&_0x55ff7e));}function _0x3d5805(_0x368e5a){_0x368e5a?_0x28639b(';'):_0x5bc86e();}function _0x4138c6(_0x368e5a,_0x146f6e){var _0x2327c6=_0x415706(0x6b,_0x146f6e,_0x1bd6a4,_0x368e5a);_0xe38521(),_0x415706(0x14,_0x2327c6,_0x28639b,_0x368e5a),_0x1303af(_0x368e5a[_0x1a4e('0x2302')]),_0x415706(0x15,_0x368e5a['expression']['end'],_0x28639b,_0x368e5a);}function _0xe3ec0a(_0x368e5a){void 0x0!==_0x368e5a&&(0xee===_0x368e5a[_0x1a4e('0x146b')]?_0x276f8e(_0x368e5a):_0x1303af(_0x368e5a));}function _0x415706(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a['getParseTreeNode'](_0xf79407),_0x1b06ad=_0x420b32&&_0x420b32['kind']===_0xf79407[_0x1a4e('0x146b')],_0x326eae=_0x2327c6;if(_0x1b06ad&&(_0x2327c6=_0x368e5a[_0x1a4e('0x22c6')](_0x55ff7e['text'],_0x2327c6)),_0xbb59f9&&_0x1b06ad&&_0xf79407['pos']!==_0x326eae){var _0x56674b=_0x2c9ec9&&!_0x368e5a['positionsAreOnSameLine'](_0x326eae,_0x2327c6,_0x55ff7e);_0x56674b&&_0x27b9fc(),_0xbb59f9(_0x326eae),_0x56674b&&_0x2258d5();}return _0x2327c6=_0x3f2c49(_0x146f6e,_0x1adc17,_0x2327c6),_0xf018da&&_0x1b06ad&&_0xf79407[_0x1a4e('0xca')]!==_0x2327c6&&_0xf018da(_0x2327c6,!0x0),_0x2327c6;}function _0x4e36e4(_0x368e5a){_0x580b1c(_0x368e5a,_0x368e5a[_0x1a4e('0x232f')]),_0x3a85bf(_0x368e5a,_0x368e5a[_0x1a4e('0x242d')]),_0x1bd6a4(_0x1a4e('0x68')),_0x276f8e(_0x368e5a[_0x1a4e('0x23fc')]),_0xe38521(),_0x417306(_0x368e5a[_0x1a4e('0x2cb')]),_0x748166(_0x368e5a,_0x1191f3);}function _0x4054db(_0x368e5a,_0x146f6e){_0x119935(_0x146f6e);}function _0x748166(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x8f2')];if(_0x55ff7e)if(_0x368e5a[_0x1a4e('0x250c')](_0x55ff7e)){var _0x1adc17=0x10000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e);_0x1adc17&&_0x27b9fc(),_0x45f773(_0x146f6e),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x111a')],_0x32a16b),_0x32a16b(_0x146f6e[_0x1a4e('0x8f2')]),_0x2327c6(_0x146f6e),_0x2c99e2?_0x2c99e2(0x4,_0x55ff7e,_0x4054db):_0x119935(_0x55ff7e),_0x36dc55(_0x146f6e),_0x1adc17&&_0x2258d5();}else _0x2327c6(_0x146f6e),_0xe38521(),_0x1303af(_0x55ff7e);else _0x2327c6(_0x146f6e),_0x5bc86e();}function _0x1191f3(_0x368e5a){_0x5c21ff(_0x368e5a,_0x368e5a[_0x1a4e('0x23d7')]),_0x1322a5(_0x368e5a,_0x368e5a[_0x1a4e('0x111a')]),_0x315ebe(_0x368e5a[_0x1a4e('0x40')]);}function _0x119935(_0x146f6e){_0xe38521(),_0x28639b('{'),_0x27b9fc();var _0x2327c6=function(_0x146f6e){if(0x1&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e))return!0x0;if(_0x146f6e['multiLine'])return!0x1;if(!_0x368e5a[_0x1a4e('0x2408')](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2482')](_0x146f6e,_0x55ff7e))return!0x1;if(_0x4ce646(_0x146f6e,_0x146f6e[_0x1a4e('0x2366')],0x2)||_0x34cfb9(_0x146f6e,_0x146f6e[_0x1a4e('0x2366')],0x2))return!0x1;for(var _0x2327c6,_0x1adc17=0x0,_0xf79407=_0x146f6e['statements'];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if(_0x37f015(_0x2327c6,_0x2c9ec9,0x2))return!0x1;_0x2327c6=_0x2c9ec9;}return!0x0;}(_0x146f6e)?_0x29b06d:_0x21705d;_0x32f8de?_0x32f8de(_0x146f6e,_0x146f6e['statements'],_0x2327c6):_0x2327c6(_0x146f6e),_0x2258d5(),_0x5ebae7(0x13,_0x146f6e[_0x1a4e('0x2366')][_0x1a4e('0xca')],_0x28639b,_0x146f6e);}function _0x29b06d(_0x368e5a){_0x21705d(_0x368e5a,!0x0);}function _0x21705d(_0x368e5a,_0x146f6e){var _0x2327c6=_0x10e909(_0x368e5a[_0x1a4e('0x2366')],!0x0),_0x55ff7e=_0x3a0831[_0x1a4e('0x2615')]();_0xdab2ee(_0x368e5a),0x0===_0x2327c6&&_0x55ff7e===_0x3a0831[_0x1a4e('0x2615')]()&&_0x146f6e?(_0x2258d5(),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2366')],0x300),_0x27b9fc()):_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2366')],0x1,_0x2327c6);}function _0x45fc5e(_0x146f6e){_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2369')],_0x177900),_0x580b1c(_0x146f6e,_0x146f6e['decorators']),_0x3a85bf(_0x146f6e,_0x146f6e[_0x1a4e('0x242d')]),_0x1bd6a4(_0x1a4e('0x237e')),_0x146f6e[_0x1a4e('0x2cb')]&&(_0xe38521(),_0x417306(_0x146f6e[_0x1a4e('0x2cb')]));var _0x2327c6=0x10000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e);_0x2327c6&&_0x27b9fc(),_0x5c21ff(_0x146f6e,_0x146f6e[_0x1a4e('0x23d7')]),_0x5c27dd(_0x146f6e,_0x146f6e[_0x1a4e('0x237f')],0x0),_0xe38521(),_0x28639b('{'),_0x5c27dd(_0x146f6e,_0x146f6e['members'],0x81),_0x28639b('}'),_0x2327c6&&_0x2258d5();}function _0x9b1127(_0x368e5a){_0x28639b('{'),_0x5c27dd(_0x368e5a,_0x368e5a[_0x1a4e('0x2398')],0x80350),_0x28639b('}');}function _0x39ab6f(_0x368e5a){_0x368e5a['propertyName']&&(_0x276f8e(_0x368e5a[_0x1a4e('0x81a')]),_0xe38521(),_0x415706(0x77,_0x368e5a[_0x1a4e('0x81a')]['end'],_0x1bd6a4,_0x368e5a),_0xe38521()),_0x276f8e(_0x368e5a[_0x1a4e('0x2cb')]);}function _0x703f00(_0x368e5a){0x48===_0x368e5a['kind']?_0x1303af(_0x368e5a):_0x276f8e(_0x368e5a);}function _0xcb9220(_0x146f6e,_0x2327c6,_0x1adc17){var _0xf79407=0x28081;0x1===_0x2327c6[_0x1a4e('0x1e')]&&(_0x368e5a[_0x1a4e('0x2408')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2408')](_0x2327c6[0x0])||_0x368e5a['rangeStartPositionsAreOnSameLine'](_0x146f6e,_0x2327c6[0x0],_0x55ff7e))?(_0x5ebae7(0x39,_0x1adc17,_0x28639b,_0x146f6e),_0xe38521(),_0xf79407&=-0x82):_0x415706(0x39,_0x1adc17,_0x28639b,_0x146f6e),_0x5c27dd(_0x146f6e,_0x2327c6,_0xf79407);}function _0x333b0f(_0x146f6e){_0x5c27dd(_0x146f6e,_0x368e5a[_0x1a4e('0x28d1')](_0x146f6e[_0x1a4e('0x2614')]),0x21);}function _0x5b27d6(_0x146f6e){_0x146f6e[_0x1a4e('0x23d7')]&&_0x5c27dd(_0x146f6e,_0x368e5a[_0x1a4e('0x28d1')](_0x146f6e[_0x1a4e('0x23d7')]),0x21),_0x146f6e[_0x1a4e('0x111a')]&&_0x5c27dd(_0x146f6e,_0x368e5a['createNodeArray'](_0x146f6e[_0x1a4e('0x111a')]),0x21),_0x146f6e[_0x1a4e('0x40')]&&(_0x544155(),_0xe38521(),_0x28639b('*'),_0xe38521(),_0x276f8e(_0x146f6e[_0x1a4e('0x40')]));}function _0x2e2b3c(_0x368e5a){_0x28639b('@'),_0x276f8e(_0x368e5a);}function _0x29904b(_0x368e5a){_0x368e5a&&(_0xe38521(),_0x193d9d(_0x368e5a));}function _0x2d9b02(_0x368e5a){_0x368e5a&&(_0xe38521(),_0x28639b('{'),_0x276f8e(_0x368e5a[_0x1a4e('0x40')]),_0x28639b('}'));}function _0xc50d6a(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17){if(_0x368e5a&&(_0x30c420('///\x20'),_0x544155()),_0x55ff7e&&_0x55ff7e['moduleName']&&(_0x30c420(_0x1a4e('0x2f5d')+_0x55ff7e[_0x1a4e('0x2419')]+_0x1a4e('0x2f5e')),_0x544155()),_0x55ff7e&&_0x55ff7e['amdDependencies'])for(var _0xf79407=0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x261a')];_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x420b32[_0x1a4e('0x2cb')]?_0x30c420(_0x1a4e('0x2f5f')+_0x420b32['name']+_0x1a4e('0x2f60')+_0x420b32['path']+'\x22\x20/>'):_0x30c420(_0x1a4e('0x2f61')+_0x420b32[_0x1a4e('0x64')]+_0x1a4e('0x2f5e')),_0x544155();}for(var _0x1b06ad=0x0,_0x326eae=_0x146f6e;_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){_0x30c420(_0x1a4e('0x2f62')+_0x326eae[_0x1b06ad][_0x1a4e('0x1b39')]+_0x1a4e('0x2f5e')),_0x544155();}for(var _0x56674b=0x0,_0x29aff1=_0x2327c6;_0x56674b<_0x29aff1['length'];_0x56674b++){_0x30c420(_0x1a4e('0x2f63')+_0x29aff1[_0x56674b]['fileName']+'\x22\x20/>'),_0x544155();}for(var _0x27dbfb=0x0,_0x3a0831=_0x1adc17;_0x27dbfb<_0x3a0831['length'];_0x27dbfb++){_0x30c420(_0x1a4e('0x2f64')+_0x3a0831[_0x27dbfb][_0x1a4e('0x1b39')]+_0x1a4e('0x2f5e')),_0x544155();}}function _0x22a274(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2366')];_0x45f773(_0x146f6e),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e['statements'],_0x32a16b),_0xdab2ee(_0x146f6e);var _0x55ff7e=_0x368e5a[_0x1a4e('0x5cb')](_0x2327c6,function(_0x146f6e){return!_0x368e5a[_0x1a4e('0x2877')](_0x146f6e);});!function(_0x368e5a){_0x368e5a[_0x1a4e('0x2423')]&&_0xc50d6a(_0x368e5a[_0x1a4e('0x261b')],_0x368e5a[_0x1a4e('0x2617')],_0x368e5a[_0x1a4e('0x2618')],_0x368e5a[_0x1a4e('0x2619')]);}(_0x146f6e),_0x5c27dd(_0x146f6e,_0x2327c6,0x1,-0x1===_0x55ff7e?_0x2327c6['length']:_0x55ff7e),_0x36dc55(_0x146f6e);}function _0x10e909(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=0x0;_0x1adc17<_0x146f6e[_0x1a4e('0x1e')];_0x1adc17++){var _0xf79407=_0x146f6e[_0x1adc17];if(!_0x368e5a[_0x1a4e('0x2877')](_0xf79407))return _0x1adc17;(!_0x55ff7e||!_0x55ff7e[_0x1a4e('0x178')](_0xf79407[_0x1a4e('0x2302')][_0x1a4e('0xe04')]))&&((_0x2327c6||_0x1adc17>0x0)&&_0x544155(),_0x276f8e(_0xf79407),_0x55ff7e&&_0x55ff7e['set'](_0xf79407['expression'][_0x1a4e('0xe04')],!0x0));}return _0x146f6e[_0x1a4e('0x1e')];}function _0x13fef9(_0x146f6e){if(_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e))_0x53f94d(_0x146f6e),_0x10e909(_0x146f6e[_0x1a4e('0x2366')]);else{for(var _0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2c1e')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x53f94d(_0xf79407),_0x10e909(_0xf79407[_0x1a4e('0x2366')],!0x0,_0x2327c6);}_0x53f94d(void 0x0);}}function _0x5d6827(_0x146f6e){if(_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e)){var _0x2327c6=_0x368e5a['getShebang'](_0x146f6e[_0x1a4e('0xe04')]);if(_0x2327c6)return _0x30c420(_0x2327c6),_0x544155(),!0x0;}else for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e['sourceFiles'];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){if(_0x5d6827(_0x1adc17[_0x55ff7e]))break;}}function _0x3b2365(_0x368e5a,_0x146f6e){if(_0x368e5a){var _0x2327c6=_0x193d9d;_0x193d9d=_0x146f6e,_0x276f8e(_0x368e5a),_0x193d9d=_0x2327c6;}}function _0x3a85bf(_0x368e5a,_0x146f6e){_0x146f6e&&_0x146f6e[_0x1a4e('0x1e')]&&(_0x5c27dd(_0x368e5a,_0x146f6e,0x40200),_0xe38521());}function _0x315ebe(_0x368e5a){_0x368e5a&&(_0x28639b(':'),_0xe38521(),_0x276f8e(_0x368e5a));}function _0x240af7(_0x368e5a,_0x146f6e,_0x2327c6){_0x368e5a&&(_0xe38521(),_0x415706(0x3b,_0x146f6e,_0x353fe4,_0x2327c6),_0xe38521(),_0x1303af(_0x368e5a));}function _0x1aca50(_0x368e5a){_0x368e5a&&(_0xe38521(),_0x276f8e(_0x368e5a));}function _0x2d40e9(_0x368e5a){_0x368e5a&&(_0xe38521(),_0x1303af(_0x368e5a));}function _0x275827(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x250c')](_0x2327c6)||0x1&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e))_0xe38521(),_0x276f8e(_0x2327c6);else{if(_0x544155(),_0x27b9fc(),_0x368e5a[_0x1a4e('0x250d')](_0x2327c6))_0x4f1165(0x0,_0x2327c6)(0x5,_0x2327c6);else _0x276f8e(_0x2327c6);_0x2258d5();}}function _0x580b1c(_0x368e5a,_0x146f6e){_0x5c27dd(_0x368e5a,_0x146f6e,0xc001);}function _0x19da80(_0x368e5a,_0x146f6e){_0x5c27dd(_0x368e5a,_0x146f6e,0xd210);}function _0x5c21ff(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x2365')])return _0x19da80(_0x146f6e,_0x146f6e[_0x1a4e('0x2365')]);_0x5c27dd(_0x146f6e,_0x2327c6,0xd210);}function _0x1322a5(_0x368e5a,_0x146f6e){_0x5c27dd(_0x368e5a,_0x146f6e,0xa10);}function _0x1a7d13(_0x146f6e,_0x2327c6){!function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2d6f')](_0x2327c6);return _0x55ff7e&&_0x55ff7e['pos']===_0x146f6e['pos']&&_0x368e5a[_0x1a4e('0x23e0')](_0x146f6e)&&!_0x146f6e['type']&&!_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x232f')])&&!_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x242d')])&&!_0x368e5a['some'](_0x146f6e[_0x1a4e('0x23d7')])&&!_0x368e5a[_0x1a4e('0x1c2')](_0x55ff7e[_0x1a4e('0x232f')])&&!_0x368e5a['some'](_0x55ff7e[_0x1a4e('0x242d')])&&!_0x55ff7e[_0x1a4e('0x25f9')]&&!_0x55ff7e[_0x1a4e('0x23ca')]&&!_0x55ff7e['type']&&!_0x55ff7e[_0x1a4e('0x236a')]&&_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e[_0x1a4e('0x2cb')]);}(_0x146f6e,_0x2327c6)?_0x1322a5(_0x146f6e,_0x2327c6):_0x5c27dd(_0x146f6e,_0x2327c6,0x210);}function _0x5c27dd(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x4b53e6(_0x276f8e,_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);}function _0x338b22(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x4b53e6(_0x1303af,_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);}function _0x58ea6b(_0x368e5a){switch(0x3c&_0x368e5a){case 0x0:break;case 0x10:_0x28639b(',');break;case 0x4:_0xe38521(),_0x28639b('|');break;case 0x20:_0xe38521(),_0x28639b('*'),_0xe38521();break;case 0x8:_0xe38521(),_0x28639b('&');}}function _0x4b53e6(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32){void 0x0===_0x2c9ec9&&(_0x2c9ec9=0x0),void 0x0===_0x420b32&&(_0x420b32=_0x55ff7e?_0x55ff7e[_0x1a4e('0x1e')]-_0x2c9ec9:0x0);var _0x1b06ad=void 0x0===_0x55ff7e;if(!(_0x1b06ad&&0x4000&_0xf79407)){var _0x326eae=void 0x0===_0x55ff7e||_0x2c9ec9>=_0x55ff7e[_0x1a4e('0x1e')]||0x0===_0x420b32;if(_0x326eae&&0x8000&_0xf79407)return _0x125541&&_0x125541(_0x55ff7e),void(_0x3d8916&&_0x3d8916(_0x55ff7e));if(0x3c00&_0xf79407&&(_0x28639b(function(_0x368e5a){return _0x1adc17[0x3c00&_0x368e5a][0x0];}(_0xf79407)),_0x326eae&&!_0x1b06ad&&_0xf018da(_0x55ff7e[_0x1a4e('0xa4')],!0x0)),_0x125541&&_0x125541(_0x55ff7e),_0x326eae)0x1&_0xf79407?_0x544155():0x100&_0xf79407&&!(0x80000&_0xf79407)&&_0xe38521();else{var _0x56674b=0x0==(0x40000&_0xf79407),_0x29aff1=_0x56674b;_0x4ce646(_0x2327c6,_0x55ff7e,_0xf79407)?(_0x544155(),_0x29aff1=!0x1):0x100&_0xf79407&&_0xe38521(),0x80&_0xf79407&&_0x27b9fc();for(var _0x27dbfb=void 0x0,_0x3a0831=!0x1,_0x1ce703=0x0;_0x1ce703<_0x420b32;_0x1ce703++){var _0x453387=_0x55ff7e[_0x2c9ec9+_0x1ce703];if(0x20&_0xf79407?(_0x544155(),_0x58ea6b(_0xf79407)):_0x27dbfb&&(0x3c&_0xf79407&&_0x27dbfb[_0x1a4e('0xca')]!==_0x2327c6[_0x1a4e('0xca')]&&_0xbb59f9(_0x27dbfb['end']),_0x58ea6b(_0xf79407),_0x37f015(_0x27dbfb,_0x453387,_0xf79407)?(0x0==(0x83&_0xf79407)&&(_0x27b9fc(),_0x3a0831=!0x0),_0x544155(),_0x29aff1=!0x1):_0x27dbfb&&0x200&_0xf79407&&_0xe38521()),_0x29aff1){if(_0xf018da)_0xf018da(_0x368e5a['getCommentRange'](_0x453387)[_0x1a4e('0xa4')]);}else _0x29aff1=_0x56674b;_0x146f6e(_0x453387),_0x3a0831&&(_0x2258d5(),_0x3a0831=!0x1),_0x27dbfb=_0x453387;}var _0x57c1d8=0x40&_0xf79407&&_0x55ff7e[_0x1a4e('0x265d')];0x10&_0xf79407&&_0x57c1d8&&_0x28639b(','),_0x27dbfb&&0x3c&_0xf79407&&_0x27dbfb[_0x1a4e('0xca')]!==_0x2327c6[_0x1a4e('0xca')]&&!(0x400&_0x368e5a[_0x1a4e('0x2c65')](_0x27dbfb))&&_0xbb59f9(_0x27dbfb[_0x1a4e('0xca')]),0x80&_0xf79407&&_0x2258d5(),_0x34cfb9(_0x2327c6,_0x55ff7e,_0xf79407)?_0x544155():0x100&_0xf79407&&_0xe38521();}_0x3d8916&&_0x3d8916(_0x55ff7e),0x3c00&_0xf79407&&(_0x326eae&&!_0x1b06ad&&_0xbb59f9(_0x55ff7e[_0x1a4e('0xca')]),_0x28639b(function(_0x368e5a){return _0x1adc17[0x3c00&_0x368e5a][0x1];}(_0xf79407)));}}function _0x23ed6c(_0x368e5a,_0x146f6e){_0x3a0831[_0x1a4e('0x2f65')](_0x368e5a,_0x146f6e);}function _0x28639b(_0x368e5a){_0x3a0831[_0x1a4e('0x2438')](_0x368e5a);}function _0x5bc86e(){_0x3a0831[_0x1a4e('0x2435')](';');}function _0x1bd6a4(_0x368e5a){_0x3a0831[_0x1a4e('0x230f')](_0x368e5a);}function _0x353fe4(_0x368e5a){_0x3a0831['writeOperator'](_0x368e5a);}function _0x134e7b(_0x368e5a){_0x3a0831[_0x1a4e('0x243a')](_0x368e5a);}function _0x30c420(_0x368e5a){_0x3a0831[_0x1a4e('0x2429')](_0x368e5a);}function _0xe38521(){_0x3a0831[_0x1a4e('0x2427')]('\x20');}function _0x152317(_0x368e5a){_0x3a0831['writeProperty'](_0x368e5a);}function _0x544155(){_0x3a0831[_0x1a4e('0x2426')]();}function _0x27b9fc(){_0x3a0831[_0x1a4e('0x2f66')]();}function _0x2258d5(){_0x3a0831[_0x1a4e('0x243c')]();}function _0x5ebae7(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x5e11e4?_0x3f2c49(_0x146f6e,_0x55ff7e,_0x2327c6):function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x5e11e4||_0x146f6e&&_0x368e5a[_0x1a4e('0x23ab')](_0x146f6e))return _0xf79407(_0x2327c6,_0x55ff7e,_0x1adc17);var _0x2c9ec9=_0x146f6e&&_0x146f6e[_0x1a4e('0x22ee')],_0x420b32=_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x7b2')]||0x0,_0x1b06ad=_0x2c9ec9&&_0x2c9ec9['tokenSourceMapRanges']&&_0x2c9ec9[_0x1a4e('0x2c24')][_0x2327c6],_0x326eae=_0x1b06ad&&_0x1b06ad['source']||_0x2c9994;_0x1adc17=_0x5a8e72(_0x326eae,_0x1b06ad?_0x1b06ad['pos']:_0x1adc17),0x0==(0x80&_0x420b32)&&_0x1adc17>=0x0&&_0x99ad26(_0x326eae,_0x1adc17);_0x1adc17=_0xf79407(_0x2327c6,_0x55ff7e,_0x1adc17),_0x1b06ad&&(_0x1adc17=_0x1b06ad['end']);0x0==(0x100&_0x420b32)&&_0x1adc17>=0x0&&_0x99ad26(_0x326eae,_0x1adc17);return _0x1adc17;}(_0x1adc17,_0x146f6e,_0x55ff7e,_0x2327c6,_0x3f2c49);}function _0x1ba951(_0x146f6e,_0x2327c6){_0x35d07a&&_0x35d07a(_0x146f6e),_0x2327c6(_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e[_0x1a4e('0x146b')])),_0x453295&&_0x453295(_0x146f6e);}function _0x3f2c49(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e);return _0x2327c6(_0x1adc17),_0x55ff7e<0x0?_0x55ff7e:_0x55ff7e+_0x1adc17[_0x1a4e('0x1e')];}function _0x246320(_0x146f6e){0x1&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)?_0xe38521():_0x544155();}function _0x4b123a(_0x146f6e){for(var _0x2327c6=_0x146f6e[_0x1a4e('0x2be')](/\r\n?|\n/g),_0x55ff7e=_0x368e5a[_0x1a4e('0x2579')](_0x2327c6),_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x55ff7e?_0x2c9ec9['slice'](_0x55ff7e):_0x2c9ec9;_0x420b32[_0x1a4e('0x1e')]&&(_0x544155(),_0x193d9d(_0x420b32),_0x3a0831[_0x1a4e('0x242a')](_0x44970c));}}function _0x3c2bb4(_0x368e5a,_0x146f6e){_0x368e5a?(_0x27b9fc(),_0x544155()):_0x146f6e&&_0xe38521();}function _0xb806d3(_0x368e5a,_0x146f6e){_0x368e5a&&_0x2258d5(),_0x146f6e&&_0x2258d5();}function _0x4ce646(_0x146f6e,_0x2327c6,_0x1adc17){if(0x1&_0x1adc17)return!0x0;if(0x2&_0x1adc17){if(0x10000&_0x1adc17)return!0x0;var _0xf79407=_0x2327c6[0x0];return void 0x0===_0xf79407?!_0x368e5a['rangeIsOnSingleLine'](_0x146f6e,_0x55ff7e):_0x368e5a['positionIsSynthesized'](_0x146f6e[_0x1a4e('0xa4')])||_0x368e5a[_0x1a4e('0x2408')](_0xf79407)?_0x1ec708(_0xf79407,_0x1adc17):!_0x368e5a['rangeStartPositionsAreOnSameLine'](_0x146f6e,_0xf79407,_0x55ff7e);}return!0x1;}function _0x37f015(_0x146f6e,_0x2327c6,_0x1adc17){return!!(0x1&_0x1adc17)||(0x2&_0x1adc17?void 0x0!==_0x146f6e&&void 0x0!==_0x2327c6&&(_0x368e5a[_0x1a4e('0x2408')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2408')](_0x2327c6)?_0x1ec708(_0x146f6e,_0x1adc17)||_0x1ec708(_0x2327c6,_0x1adc17):!_0x368e5a[_0x1a4e('0x2486')](_0x146f6e,_0x2327c6,_0x55ff7e)):_0x368e5a['getStartsOnNewLine'](_0x2327c6));}function _0x34cfb9(_0x146f6e,_0x2327c6,_0x1adc17){if(0x1&_0x1adc17)return 0x0==(0x20000&_0x1adc17);if(0x2&_0x1adc17){if(0x10000&_0x1adc17)return!0x0;var _0xf79407=_0x368e5a['lastOrUndefined'](_0x2327c6);return void 0x0===_0xf79407?!_0x368e5a[_0x1a4e('0x2482')](_0x146f6e,_0x55ff7e):_0x368e5a[_0x1a4e('0x2383')](_0x146f6e[_0x1a4e('0xa4')])||_0x368e5a['nodeIsSynthesized'](_0xf79407)?_0x1ec708(_0xf79407,_0x1adc17):!_0x368e5a[_0x1a4e('0x2484')](_0x146f6e,_0xf79407,_0x55ff7e);}return!0x1;}function _0x1ec708(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x2408')](_0x146f6e)){var _0x55ff7e=_0x368e5a['getStartsOnNewLine'](_0x146f6e);return void 0x0===_0x55ff7e?0x0!=(0x10000&_0x2327c6):_0x55ff7e;}return 0x0!=(0x10000&_0x2327c6);}function _0x4d326e(_0x146f6e,_0x2327c6,_0x1adc17){return _0x146f6e=_0x4bbf30(_0x146f6e),_0x2327c6=_0x4bbf30(_0x2327c6),_0x1adc17=_0x4bbf30(_0x1adc17),!!_0x368e5a[_0x1a4e('0x2d53')](_0x1adc17)||!(_0x368e5a[_0x1a4e('0x2408')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2408')](_0x2327c6)||_0x368e5a[_0x1a4e('0x2408')](_0x1adc17)||_0x368e5a['rangeEndIsOnSameLineAsRangeStart'](_0x2327c6,_0x1adc17,_0x55ff7e));}function _0x5882e4(_0x146f6e){return 0x0===_0x146f6e['statements'][_0x1a4e('0x1e')]&&_0x368e5a[_0x1a4e('0x2486')](_0x146f6e,_0x146f6e,_0x55ff7e);}function _0x4bbf30(_0x146f6e){for(;0xc3===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a['nodeIsSynthesized'](_0x146f6e);)_0x146f6e=_0x146f6e[_0x1a4e('0x2302')];return _0x146f6e;}function _0x3eb18c(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e)?_0x36ea90(_0x146f6e):_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&(_0x368e5a[_0x1a4e('0x2408')](_0x146f6e)||!_0x146f6e[_0x1a4e('0x11c')]||!_0x55ff7e||_0x146f6e[_0x1a4e('0x11c')]&&_0x55ff7e&&_0x368e5a[_0x1a4e('0x1674')](_0x146f6e)!==_0x368e5a[_0x1a4e('0x24d0')](_0x55ff7e))?_0x368e5a[_0x1a4e('0x2353')](_0x146f6e):0xa===_0x146f6e[_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x2c08')]?_0x3eb18c(_0x146f6e['textSourceNode'],_0x2327c6):!_0x368e5a[_0x1a4e('0x253f')](_0x146f6e)||!_0x368e5a[_0x1a4e('0x2408')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x11c')]?_0x368e5a[_0x1a4e('0x2330')](_0x55ff7e,_0x146f6e,_0x2327c6):_0x146f6e[_0x1a4e('0xe04')];}function _0x5273fe(_0x146f6e,_0x2327c6){if(0xa===_0x146f6e['kind']&&_0x146f6e[_0x1a4e('0x2c08')]){var _0x1adc17=_0x146f6e['textSourceNode'];return _0x368e5a[_0x1a4e('0x2370')](_0x1adc17)?_0x2327c6||0x1000000&_0x368e5a['getEmitFlags'](_0x146f6e)?'\x22'+_0x368e5a[_0x1a4e('0x2416')](_0x3eb18c(_0x1adc17))+'\x22':'\x22'+_0x368e5a['escapeNonAsciiString'](_0x3eb18c(_0x1adc17))+'\x22':_0x5273fe(_0x1adc17,_0x2327c6);}return _0x368e5a[_0x1a4e('0x2333')](_0x146f6e,_0x55ff7e,_0x2327c6);}function _0x45f773(_0x146f6e){_0x146f6e&&0x80000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)||(_0x326eae[_0x1a4e('0x46')](_0x56674b),_0x56674b=0x0,_0x29aff1[_0x1a4e('0x46')](_0x27dbfb));}function _0x36dc55(_0x146f6e){_0x146f6e&&0x80000&_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e)||(_0x56674b=_0x326eae[_0x1a4e('0x76')](),_0x27dbfb=_0x29aff1['pop']());}function _0x5c5b21(_0x146f6e){_0x27dbfb&&_0x27dbfb!==_0x368e5a['lastOrUndefined'](_0x29aff1)||(_0x27dbfb=_0x368e5a['createMap']()),_0x27dbfb['set'](_0x146f6e,!0x0);}function _0x32a16b(_0x146f6e){if(_0x146f6e)switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xda:_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2366')],_0x32a16b);break;case 0xe9:case 0xe7:case 0xdf:case 0xe0:_0x32a16b(_0x146f6e['statement']);break;case 0xde:_0x32a16b(_0x146f6e[_0x1a4e('0x2606')]),_0x32a16b(_0x146f6e[_0x1a4e('0x2607')]);break;case 0xe1:case 0xe3:case 0xe2:_0x32a16b(_0x146f6e['initializer']),_0x32a16b(_0x146f6e['statement']);break;case 0xe8:_0x32a16b(_0x146f6e[_0x1a4e('0x2608')]);break;case 0xf6:_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2609')],_0x32a16b);break;case 0x10f:case 0x110:_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2366')],_0x32a16b);break;case 0xeb:_0x32a16b(_0x146f6e[_0x1a4e('0x2679')]),_0x32a16b(_0x146f6e[_0x1a4e('0x260a')]),_0x32a16b(_0x146f6e['finallyBlock']);break;case 0x112:_0x32a16b(_0x146f6e[_0x1a4e('0x260b')]),_0x32a16b(_0x146f6e[_0x1a4e('0x260c')]);break;case 0xdb:_0x32a16b(_0x146f6e[_0x1a4e('0x2377')]);break;case 0xee:_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x22e5')],_0x32a16b);break;case 0xed:case 0x97:case 0xba:case 0xf0:_0x18d06f(_0x146f6e[_0x1a4e('0x2cb')]);break;case 0xef:_0x18d06f(_0x146f6e['name']),0x80000&_0x368e5a['getEmitFlags'](_0x146f6e)&&(_0x368e5a[_0x1a4e('0x3b')](_0x146f6e['parameters'],_0x32a16b),_0x32a16b(_0x146f6e[_0x1a4e('0x8f2')]));break;case 0xb8:case 0xb9:_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2398')],_0x32a16b);break;case 0xf9:_0x32a16b(_0x146f6e[_0x1a4e('0x23c6')]);break;case 0xfa:_0x18d06f(_0x146f6e[_0x1a4e('0x2cb')]),_0x32a16b(_0x146f6e[_0x1a4e('0x23c7')]);break;case 0xfb:_0x18d06f(_0x146f6e[_0x1a4e('0x2cb')]);break;case 0xfc:_0x368e5a[_0x1a4e('0x3b')](_0x146f6e['elements'],_0x32a16b);break;case 0xfd:_0x18d06f(_0x146f6e[_0x1a4e('0x81a')]||_0x146f6e[_0x1a4e('0x2cb')]);}}function _0x177900(_0x368e5a){if(_0x368e5a)switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x113:case 0x114:case 0x9a:case 0x9c:case 0x9e:case 0x9f:_0x18d06f(_0x368e5a['name']);}}function _0x18d06f(_0x146f6e){_0x146f6e&&(_0x368e5a[_0x1a4e('0x2bd0')](_0x146f6e)?_0x36ea90(_0x146f6e):_0x368e5a[_0x1a4e('0x1678')](_0x146f6e)&&_0x32a16b(_0x146f6e));}function _0x36ea90(_0x146f6e){if(0x4==(0x7&_0x146f6e[_0x1a4e('0x2545')]))return _0x487b6c(function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2c0e')],_0x55ff7e=_0x146f6e,_0x1adc17=_0x55ff7e['original'];for(;_0x1adc17&&(_0x55ff7e=_0x1adc17,!(_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e)&&0x4&_0x55ff7e['autoGenerateFlags']&&_0x55ff7e[_0x1a4e('0x2c0e')]!==_0x2327c6));)_0x1adc17=_0x55ff7e['original'];return _0x55ff7e;}(_0x146f6e),_0x146f6e[_0x1a4e('0x2545')]);var _0x2327c6=_0x146f6e[_0x1a4e('0x2c0e')];return _0x420b32[_0x2327c6]||(_0x420b32[_0x2327c6]=function(_0x146f6e){switch(0x7&_0x146f6e[_0x1a4e('0x2545')]){case 0x1:return _0x136546(0x0,!!(0x8&_0x146f6e['autoGenerateFlags']));case 0x2:return _0x136546(0x10000000,!!(0x8&_0x146f6e[_0x1a4e('0x2545')]));case 0x3:return _0x23487a(_0x368e5a[_0x1a4e('0x2353')](_0x146f6e),0x20&_0x146f6e['autoGenerateFlags']?_0x4db4a3:_0x397d5b,!!(0x10&_0x146f6e[_0x1a4e('0x2545')]),!!(0x8&_0x146f6e[_0x1a4e('0x2545')]));}return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x2f67'));}(_0x146f6e));}function _0x487b6c(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e);return _0x2c9ec9[_0x55ff7e]||(_0x2c9ec9[_0x55ff7e]=function(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x23487a(_0x3eb18c(_0x146f6e),_0x397d5b,!!(0x10&_0x2327c6),!!(0x8&_0x2327c6));case 0xf4:case 0xf3:return function(_0x146f6e){var _0x2327c6=_0x3eb18c(_0x146f6e[_0x1a4e('0x2cb')]);return function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x2327c6;_0x368e5a[_0x1a4e('0x2a01')](_0x55ff7e,_0x2327c6);_0x55ff7e=_0x55ff7e['nextContainer'])if(_0x55ff7e[_0x1a4e('0x283c')]){var _0x1adc17=_0x55ff7e[_0x1a4e('0x283c')][_0x1a4e('0x179')](_0x368e5a['escapeLeadingUnderscores'](_0x146f6e));if(_0x1adc17&&0x431b3bf&_0x1adc17[_0x1a4e('0x7b2')])return!0x1;}return!0x0;}(_0x2327c6,_0x146f6e)?_0x2327c6:_0x23487a(_0x2327c6);}(_0x146f6e);case 0xf9:case 0xff:return function(_0x146f6e){var _0x2327c6=_0x368e5a['getExternalModuleName'](_0x146f6e);return _0x23487a(_0x368e5a[_0x1a4e('0x2374')](_0x2327c6)?_0x368e5a['makeIdentifierFromModuleName'](_0x2327c6[_0x1a4e('0xe04')]):'module');}(_0x146f6e);case 0xef:case 0xf0:case 0xfe:return _0x23487a(_0x1a4e('0x8'));case 0xd1:return _0x23487a(_0x1a4e('0x237e'));case 0x9c:case 0x9e:case 0x9f:return function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')]))return _0x487b6c(_0x146f6e['name']);return _0x136546(0x0);}(_0x146f6e);default:return _0x136546(0x0);}}(_0x146f6e,_0x2327c6));}function _0x397d5b(_0x368e5a){return _0x4db4a3(_0x368e5a)&&!_0x1b06ad[_0x1a4e('0x178')](_0x368e5a)&&!(_0x27dbfb&&_0x27dbfb[_0x1a4e('0x178')](_0x368e5a));}function _0x4db4a3(_0x146f6e){return!_0x55ff7e||_0x368e5a[_0x1a4e('0x2325')](_0x55ff7e,_0x146f6e,_0x1f754d);}function _0x136546(_0x368e5a,_0x146f6e){if(_0x368e5a&&!(_0x56674b&_0x368e5a)&&_0x397d5b(_0x2327c6=0x10000000===_0x368e5a?'_i':'_n'))return _0x56674b|=_0x368e5a,_0x146f6e&&_0x5c5b21(_0x2327c6),_0x2327c6;for(;;){var _0x2327c6,_0x55ff7e=0xfffffff&_0x56674b;if(_0x56674b++,0x8!==_0x55ff7e&&0xd!==_0x55ff7e)if(_0x397d5b(_0x2327c6=_0x55ff7e<0x1a?'_'+String['fromCharCode'](0x61+_0x55ff7e):'_'+(_0x55ff7e-0x1a)))return _0x146f6e&&_0x5c5b21(_0x2327c6),_0x2327c6;}}function _0x23487a(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(void 0x0===_0x146f6e&&(_0x146f6e=_0x397d5b),_0x2327c6&&_0x146f6e(_0x368e5a))return _0x55ff7e?_0x5c5b21(_0x368e5a):_0x1b06ad[_0x1a4e('0x17a')](_0x368e5a,!0x0),_0x368e5a;0x5f!==_0x368e5a[_0x1a4e('0x913')](_0x368e5a[_0x1a4e('0x1e')]-0x1)&&(_0x368e5a+='_');for(var _0x1adc17=0x1;;){var _0xf79407=_0x368e5a+_0x1adc17;if(_0x146f6e(_0xf79407))return _0x55ff7e?_0x5c5b21(_0xf79407):_0x1b06ad[_0x1a4e('0x17a')](_0xf79407,!0x0),_0xf79407;_0x1adc17++;}}function _0xf3afd0(_0x368e5a){return _0x23487a(_0x368e5a,_0x4db4a3,!0x0);}function _0x1d456b(_0x146f6e,_0x2327c6){_0x4e3e6a(),_0xa7308c=!0x1;var _0x55ff7e=_0x368e5a[_0x1a4e('0x2c65')](_0x2327c6),_0x1adc17=_0x368e5a['getCommentRange'](_0x2327c6),_0xf79407=_0x1adc17['pos'],_0x2c9ec9=_0x1adc17[_0x1a4e('0xca')],_0x420b32=0x133!==_0x2327c6[_0x1a4e('0x146b')],_0x1b06ad=_0xf79407<0x0||0x0!=(0x200&_0x55ff7e)||0xb===_0x2327c6[_0x1a4e('0x146b')],_0x326eae=_0x2c9ec9<0x0||0x0!=(0x400&_0x55ff7e)||0xb===_0x2327c6[_0x1a4e('0x146b')],_0x56674b=_0x145b47,_0x29aff1=_0xf3a61d,_0x27dbfb=_0x59c7d8;(_0xf79407>0x0||_0x2c9ec9>0x0)&&_0xf79407!==_0x2c9ec9&&(_0x1b06ad||_0x1ef563(_0xf79407,_0x420b32),(!_0x1b06ad||_0xf79407>=0x0&&0x0!=(0x200&_0x55ff7e))&&(_0x145b47=_0xf79407),(!_0x326eae||_0x2c9ec9>=0x0&&0x0!=(0x400&_0x55ff7e))&&(_0xf3a61d=_0x2c9ec9,0xee===_0x2327c6['kind']&&(_0x59c7d8=_0x2c9ec9))),_0x368e5a['forEach'](_0x368e5a['getSyntheticLeadingComments'](_0x2327c6),_0x403608),_0x271fdb();var _0x3a0831=_0x1755ff(0x2,_0x2327c6);0x800&_0x55ff7e?(_0x5ae97f=!0x0,_0x3a0831(_0x146f6e,_0x2327c6),_0x5ae97f=!0x1):_0x3a0831(_0x146f6e,_0x2327c6),_0x4e3e6a(),_0x368e5a['forEach'](_0x368e5a[_0x1a4e('0x2d1b')](_0x2327c6),_0xd24f7c),(_0xf79407>0x0||_0x2c9ec9>0x0)&&_0xf79407!==_0x2c9ec9&&(_0x145b47=_0x56674b,_0xf3a61d=_0x29aff1,_0x59c7d8=_0x27dbfb,!_0x326eae&&_0x420b32&&function(_0x368e5a){_0x4795f3(_0x368e5a,_0xefc9e4);}(_0x2c9ec9)),_0x271fdb();}function _0x403608(_0x368e5a){0x2===_0x368e5a[_0x1a4e('0x146b')]&&_0x3a0831['writeLine'](),_0x476238(_0x368e5a),_0x368e5a['hasTrailingNewLine']||0x2===_0x368e5a[_0x1a4e('0x146b')]?_0x3a0831[_0x1a4e('0x2426')]():_0x3a0831['writeSpace']('\x20');}function _0xd24f7c(_0x368e5a){_0x3a0831['isAtStartOfLine']()||_0x3a0831['writeSpace']('\x20'),_0x476238(_0x368e5a),_0x368e5a['hasTrailingNewLine']&&_0x3a0831[_0x1a4e('0x2426')]();}function _0x476238(_0x146f6e){var _0x2327c6=function(_0x368e5a){return 0x3===_0x368e5a[_0x1a4e('0x146b')]?'/*'+_0x368e5a['text']+'*/':'//'+_0x368e5a[_0x1a4e('0xe04')];}(_0x146f6e),_0x55ff7e=0x3===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['computeLineStarts'](_0x2327c6):void 0x0;_0x368e5a[_0x1a4e('0x2459')](_0x2327c6,_0x55ff7e,_0x3a0831,0x0,_0x2327c6[_0x1a4e('0x1e')],_0x44970c);}function _0x32f8de(_0x146f6e,_0x2327c6,_0x1adc17){_0x4e3e6a();var _0xf79407,_0x2c9ec9,_0x420b32=_0x2327c6['pos'],_0x1b06ad=_0x2327c6[_0x1a4e('0xca')],_0x326eae=_0x368e5a[_0x1a4e('0x2c65')](_0x146f6e),_0x56674b=_0x5ae97f||_0x1b06ad<0x0||0x0!=(0x400&_0x326eae);_0x420b32<0x0||0x0!=(0x200&_0x326eae)||(_0xf79407=_0x2327c6,(_0x2c9ec9=_0x368e5a['emitDetachedComments'](_0x55ff7e[_0x1a4e('0xe04')],_0x395a7(),_0x3a0831,_0x43c0b1,_0xf79407,_0x44970c,_0x5ae97f))&&(_0x41bfd0?_0x41bfd0[_0x1a4e('0x46')](_0x2c9ec9):_0x41bfd0=[_0x2c9ec9])),_0x271fdb(),0x800&_0x326eae&&!_0x5ae97f?(_0x5ae97f=!0x0,_0x1adc17(_0x146f6e),_0x5ae97f=!0x1):_0x1adc17(_0x146f6e),_0x4e3e6a(),_0x56674b||(_0x1ef563(_0x2327c6[_0x1a4e('0xca')],!0x0),_0xa7308c&&!_0x3a0831['isAtStartOfLine']()&&_0x3a0831[_0x1a4e('0x2426')]()),_0x271fdb();}function _0x1ef563(_0x368e5a,_0x146f6e){_0xa7308c=!0x1,_0x146f6e?_0x19fe5f(_0x368e5a,_0x765379):0x0===_0x368e5a&&_0x19fe5f(_0x368e5a,_0x396a44);}function _0x396a44(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){(function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2f68')](_0x55ff7e['text'],_0x146f6e,_0x2327c6);}(_0x146f6e,_0x2327c6)&&_0x765379(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9));}function _0x23e303(_0x2327c6,_0x55ff7e){return!_0x146f6e[_0x1a4e('0x2f69')]||(_0x368e5a[_0x1a4e('0x262b')](_0x2327c6,_0x55ff7e)||_0x368e5a[_0x1a4e('0x232c')](_0x2327c6,_0x55ff7e));}function _0x765379(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){_0x23e303(_0x55ff7e[_0x1a4e('0xe04')],_0x146f6e)&&(_0xa7308c||(_0x368e5a[_0x1a4e('0x2f6a')](_0x395a7(),_0x3a0831,_0x2c9ec9,_0x146f6e),_0xa7308c=!0x0),_0x577b78(_0x146f6e),_0x368e5a['writeCommentRange'](_0x55ff7e[_0x1a4e('0xe04')],_0x395a7(),_0x3a0831,_0x146f6e,_0x2327c6,_0x44970c),_0x577b78(_0x2327c6),_0xf79407?_0x3a0831[_0x1a4e('0x2426')]():0x3===_0x1adc17&&_0x3a0831[_0x1a4e('0x2427')]('\x20'));}function _0xbb59f9(_0x368e5a){_0x5ae97f||-0x1===_0x368e5a||_0x1ef563(_0x368e5a,!0x0);}function _0xefc9e4(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){_0x23e303(_0x55ff7e[_0x1a4e('0xe04')],_0x146f6e)&&(_0x3a0831[_0x1a4e('0x2f6b')]()||_0x3a0831[_0x1a4e('0x2427')]('\x20'),_0x577b78(_0x146f6e),_0x368e5a[_0x1a4e('0x2459')](_0x55ff7e[_0x1a4e('0xe04')],_0x395a7(),_0x3a0831,_0x146f6e,_0x2327c6,_0x44970c),_0x577b78(_0x2327c6),_0xf79407&&_0x3a0831[_0x1a4e('0x2426')]());}function _0xf018da(_0x368e5a,_0x146f6e){_0x5ae97f||(_0x4e3e6a(),_0x4795f3(_0x368e5a,_0x146f6e?_0xefc9e4:_0x204a68),_0x271fdb());}function _0x204a68(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){_0x577b78(_0x146f6e),_0x368e5a[_0x1a4e('0x2459')](_0x55ff7e['text'],_0x395a7(),_0x3a0831,_0x146f6e,_0x2327c6,_0x44970c),_0x577b78(_0x2327c6),_0xf79407?_0x3a0831[_0x1a4e('0x2426')]():_0x3a0831[_0x1a4e('0x2427')]('\x20');}function _0x19fe5f(_0x146f6e,_0x2327c6){!_0x55ff7e||-0x1!==_0x145b47&&_0x146f6e===_0x145b47||(function(_0x146f6e){return void 0x0!==_0x41bfd0&&_0x368e5a[_0x1a4e('0x10b1')](_0x41bfd0)[_0x1a4e('0x2f6c')]===_0x146f6e;}(_0x146f6e)?function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x10b1')](_0x41bfd0)[_0x1a4e('0x2f6d')];_0x41bfd0[_0x1a4e('0x1e')]-0x1?_0x41bfd0[_0x1a4e('0x76')]():_0x41bfd0=void 0x0;_0x368e5a['forEachLeadingCommentRange'](_0x55ff7e[_0x1a4e('0xe04')],_0x2327c6,_0x146f6e,_0x2327c6);}(_0x2327c6):_0x368e5a[_0x1a4e('0x22c9')](_0x55ff7e[_0x1a4e('0xe04')],_0x146f6e,_0x2327c6,_0x146f6e));}function _0x4795f3(_0x146f6e,_0x2327c6){_0x55ff7e&&(-0x1===_0xf3a61d||_0x146f6e!==_0xf3a61d&&_0x146f6e!==_0x59c7d8)&&_0x368e5a[_0x1a4e('0x22ca')](_0x55ff7e[_0x1a4e('0xe04')],_0x146f6e,_0x2327c6);}function _0x43c0b1(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){_0x23e303(_0x55ff7e[_0x1a4e('0xe04')],_0xf79407)&&(_0x577b78(_0xf79407),_0x368e5a[_0x1a4e('0x2459')](_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32),_0x577b78(_0x2c9ec9));}function _0x361e19(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1755ff(0x3,_0x2327c6);if(_0x368e5a[_0x1a4e('0x2533')](_0x2327c6)&&void 0x0!==_0x2327c6['sourceMapText']){var _0x1adc17=_0x368e5a[_0x1a4e('0x2dba')](_0x2327c6['sourceMapText']);_0x1adc17&&_0x57c1d8['appendSourceMap'](_0x3a0831[_0x1a4e('0x2f6e')](),_0x3a0831[_0x1a4e('0x2f6f')](),_0x1adc17,_0x2327c6['sourceMapPath']),_0x55ff7e(_0x146f6e,_0x2327c6);}else{var _0xf79407=_0x368e5a[_0x1a4e('0x2d13')](_0x2327c6),_0x2c9ec9=_0xf79407['pos'],_0x420b32=_0xf79407[_0x1a4e('0xca')],_0x1b06ad=_0xf79407[_0x1a4e('0xfaa')],_0x326eae=void 0x0===_0x1b06ad?_0x2c9994:_0x1b06ad,_0x56674b=_0x368e5a['getEmitFlags'](_0x2327c6);0x133!==_0x2327c6[_0x1a4e('0x146b')]&&0x0==(0x10&_0x56674b)&&_0x2c9ec9>=0x0&&_0x99ad26(_0x326eae,_0x5a8e72(_0x326eae,_0x2c9ec9)),0x40&_0x56674b?(_0x5e11e4=!0x0,_0x55ff7e(_0x146f6e,_0x2327c6),_0x5e11e4=!0x1):_0x55ff7e(_0x146f6e,_0x2327c6),0x133!==_0x2327c6['kind']&&0x0==(0x20&_0x56674b)&&_0x420b32>=0x0&&_0x99ad26(_0x326eae,_0x420b32);}}function _0x5a8e72(_0x146f6e,_0x2327c6){return _0x146f6e['skipTrivia']?_0x146f6e['skipTrivia'](_0x2327c6):_0x368e5a[_0x1a4e('0x22c6')](_0x2c9994[_0x1a4e('0xe04')],_0x2327c6);}function _0x577b78(_0x146f6e){if(!(_0x5e11e4||_0x368e5a[_0x1a4e('0x2383')](_0x146f6e)||_0x577d26(_0x2c9994))){var _0x2327c6=_0x368e5a[_0x1a4e('0x22c1')](_0x55ff7e,_0x146f6e),_0x1adc17=_0x2327c6[_0x1a4e('0xc5')],_0xf79407=_0x2327c6[_0x1a4e('0x2324')];_0x57c1d8[_0x1a4e('0x1601')](_0x3a0831[_0x1a4e('0x2f6e')](),_0x3a0831['getColumn'](),_0x375ddb,_0x1adc17,_0xf79407,void 0x0);}}function _0x99ad26(_0x368e5a,_0x146f6e){if(_0x368e5a!==_0x2c9994){var _0x2327c6=_0x2c9994;_0x5a3dc6(_0x368e5a),_0x577b78(_0x146f6e),_0x5a3dc6(_0x2327c6);}else _0x577b78(_0x146f6e);}function _0x5a3dc6(_0x368e5a){_0x5e11e4||(_0x2c9994=_0x368e5a,_0x577d26(_0x368e5a)||(_0x375ddb=_0x57c1d8[_0x1a4e('0x2f70')](_0x368e5a[_0x1a4e('0x1b39')]),_0x146f6e['inlineSources']&&_0x57c1d8['setSourceContent'](_0x375ddb,_0x368e5a[_0x1a4e('0xe04')])));}function _0x577d26(_0x146f6e){return _0x368e5a[_0x1a4e('0x175b')](_0x146f6e[_0x1a4e('0x1b39')],_0x1a4e('0x1a87'));}}_0x368e5a['forEachEmittedFile']=_0x2c9ec9,_0x368e5a[_0x1a4e('0x2f14')]=_0x420b32,_0x368e5a[_0x1a4e('0x2f71')]=_0x326eae,_0x368e5a[_0x1a4e('0x2f72')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32){var _0x1b06ad,_0x326eae=_0x2327c6[_0x1a4e('0x23f1')](),_0x1830ea=_0x326eae[_0x1a4e('0x2f4a')]||_0x326eae[_0x1a4e('0x2f4b')]||_0x368e5a[_0x1a4e('0x258e')](_0x326eae)?[]:void 0x0,_0x258faa=_0x326eae['listEmittedFiles']?[]:void 0x0,_0x4e50f5=_0x368e5a['createDiagnosticCollection'](),_0x46a067=_0x368e5a[_0x1a4e('0x2473')](_0x326eae,function(){return _0x2327c6[_0x1a4e('0x2f73')]();}),_0x55da34=_0x368e5a[_0x1a4e('0x2433')](_0x46a067),_0x532e53=_0x368e5a['performance'][_0x1a4e('0x176d')](_0x1a4e('0x2f74'),_0x1a4e('0x2f75'),_0x1a4e('0x2f76')),_0x47e145=_0x532e53[_0x1a4e('0x2f53')],_0x1c3ad3=_0x532e53[_0x1a4e('0x1b6b')],_0x44de2a={'originalOffset':-0x1,'totalLength':-0x1},_0x434351=!0x1;return _0x47e145(),_0x2c9ec9(_0x2327c6,function(_0x55ff7e,_0x2c9ec9){var _0x1830ea=_0x55ff7e[_0x1a4e('0x2f18')],_0x46a067=_0x55ff7e[_0x1a4e('0x2f77')],_0x55da34=_0x55ff7e['declarationFilePath'],_0x532e53=_0x55ff7e[_0x1a4e('0x2cff')],_0x47e145=_0x55ff7e[_0x1a4e('0x2f78')];(function(_0x55ff7e,_0x2c9ec9,_0x420b32,_0x1b06ad){if(!_0x1adc17&&_0x2c9ec9)if(_0x2c9ec9&&_0x2327c6[_0x1a4e('0x2f79')](_0x2c9ec9)||_0x326eae[_0x1a4e('0x2740')])_0x434351=!0x0;else{var _0x1830ea=_0x368e5a['transformNodes'](_0x146f6e,_0x2327c6,_0x326eae,[_0x55ff7e],_0xf79407,!0x1),_0x258faa=_0x56674b({'removeComments':_0x326eae[_0x1a4e('0x273e')],'newLine':_0x326eae[_0x1a4e('0x16d0')],'noEmitHelpers':_0x326eae[_0x1a4e('0x2f5b')],'module':_0x326eae[_0x1a4e('0xa6c')],'target':_0x326eae[_0x1a4e('0xd95')],'sourceMap':_0x326eae[_0x1a4e('0x2f4a')],'inlineSourceMap':_0x326eae[_0x1a4e('0x2f4b')],'inlineSources':_0x326eae[_0x1a4e('0x2766')],'extendedDiagnostics':_0x326eae[_0x1a4e('0x2da3')]},{'hasGlobalName':_0x146f6e[_0x1a4e('0x2f4c')],'onEmitNode':_0x1830ea[_0x1a4e('0x2f7a')],'substituteNode':_0x1830ea['substituteNode']});_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x1===_0x1830ea[_0x1a4e('0x2f7b')][_0x1a4e('0x1e')],'Should\x20only\x20see\x20one\x20output\x20from\x20the\x20transform'),_0x27182d(_0x2c9ec9,_0x420b32,_0x1830ea[_0x1a4e('0x2f7b')][0x0],_0x1b06ad,_0x258faa,_0x326eae),_0x1830ea[_0x1a4e('0x2f7c')]();}}(_0x2c9ec9,_0x1830ea,_0x46a067,_0x47e145),function(_0x55ff7e,_0xf79407,_0x2c9ec9){if(_0xf79407&&!_0x368e5a[_0x1a4e('0x24e1')](_0x55ff7e)){var _0x1830ea=_0x368e5a['isSourceFile'](_0x55ff7e)?[_0x55ff7e]:_0x55ff7e[_0x1a4e('0x2c1e')],_0x258faa=_0x368e5a[_0x1a4e('0xd9')](_0x1830ea,_0x368e5a['isSourceFileNotJS']),_0x46a067=_0x326eae[_0x1a4e('0x2445')]||_0x326eae[_0x1a4e('0x303')]?[_0x368e5a[_0x1a4e('0x2cf8')](_0x258faa,_0x368e5a[_0x1a4e('0x22f0')](_0x55ff7e)?void 0x0:_0x55ff7e[_0x1a4e('0x2d02')])]:_0x258faa;_0x1adc17&&!_0x368e5a[_0x1a4e('0x2b9d')](_0x326eae)&&_0x258faa[_0x1a4e('0x3b')](_0x56e74c);var _0x55da34=_0x368e5a[_0x1a4e('0x2f39')](_0x146f6e,_0x2327c6,_0x326eae,_0x46a067,_0x368e5a['concatenate']([_0x368e5a[_0x1a4e('0x2f7d')]],_0x420b32),!0x1);if(_0x368e5a['length'](_0x55da34['diagnostics']))for(var _0x532e53=0x0,_0x47e145=_0x55da34[_0x1a4e('0x2728')];_0x532e53<_0x47e145[_0x1a4e('0x1e')];_0x532e53++){var _0x1c3ad3=_0x47e145[_0x532e53];_0x4e50f5['add'](_0x1c3ad3);}var _0x44de2a=_0x56674b({'removeComments':_0x326eae['removeComments'],'newLine':_0x326eae[_0x1a4e('0x16d0')],'noEmitHelpers':!0x0,'module':_0x326eae['module'],'target':_0x326eae[_0x1a4e('0xd95')],'sourceMap':_0x326eae[_0x1a4e('0x2f4a')],'inlineSourceMap':_0x326eae[_0x1a4e('0x2f4b')],'extendedDiagnostics':_0x326eae['extendedDiagnostics'],'onlyPrintJsDocStyle':!0x0},{'hasGlobalName':_0x146f6e[_0x1a4e('0x2f4c')],'onEmitNode':_0x55da34[_0x1a4e('0x2f7a')],'substituteNode':_0x55da34[_0x1a4e('0x2f7e')]}),_0xb4214b=!!_0x55da34['diagnostics']&&!!_0x55da34[_0x1a4e('0x2728')][_0x1a4e('0x1e')]||!!_0x2327c6[_0x1a4e('0x2f79')](_0xf79407)||!!_0x326eae[_0x1a4e('0x2740')];if(_0x434351=_0x434351||_0xb4214b,(!_0xb4214b||_0x1adc17)&&(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x1===_0x55da34[_0x1a4e('0x2f7b')][_0x1a4e('0x1e')],_0x1a4e('0x2f7f')),_0x27182d(_0xf79407,_0x2c9ec9,_0x55da34[_0x1a4e('0x2f7b')][0x0],void 0x0,_0x44de2a,{'sourceMap':_0x326eae[_0x1a4e('0x2f80')],'sourceRoot':_0x326eae[_0x1a4e('0x15c6')],'mapRoot':_0x326eae[_0x1a4e('0x2764')],'extendedDiagnostics':_0x326eae[_0x1a4e('0x2da3')]}),_0x1adc17&&0x117===_0x55da34[_0x1a4e('0x2f7b')][0x0]['kind'])){var _0x5e2eab=_0x55da34[_0x1a4e('0x2f7b')][0x0];_0x1b06ad=_0x5e2eab[_0x1a4e('0x2f17')];}_0x55da34['dispose']();}}(_0x2c9ec9,_0x55da34,_0x532e53),!_0x434351&&_0x258faa&&(_0x1adc17||(_0x1830ea&&_0x258faa[_0x1a4e('0x46')](_0x1830ea),_0x46a067&&_0x258faa[_0x1a4e('0x46')](_0x46a067),_0x47e145&&_0x258faa['push'](_0x47e145)),_0x55da34&&_0x258faa[_0x1a4e('0x46')](_0x55da34),_0x532e53&&_0x258faa[_0x1a4e('0x46')](_0x532e53)));},_0x368e5a[_0x1a4e('0x2444')](_0x2327c6,_0x55ff7e),_0x1adc17),_0x1c3ad3(),{'emitSkipped':_0x434351,'diagnostics':_0x4e50f5[_0x1a4e('0x2f81')](),'emittedFiles':_0x258faa,'sourceMaps':_0x1830ea,'exportedModulesFromDeclarationEmit':_0x1b06ad};function _0x56e74c(_0x2327c6){_0x368e5a['isExportAssignment'](_0x2327c6)?0x48===_0x2327c6[_0x1a4e('0x2302')][_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x2f82')](_0x2327c6[_0x1a4e('0x2302')],!0x0):_0x368e5a[_0x1a4e('0x2543')](_0x2327c6)?_0x146f6e['collectLinkedAliases'](_0x2327c6[_0x1a4e('0x81a')]||_0x2327c6[_0x1a4e('0x2cb')],!0x0):_0x368e5a[_0x1a4e('0x22eb')](_0x2327c6,_0x56e74c);}function _0x27182d(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad,_0x56674b=0x118===_0x1adc17[_0x1a4e('0x146b')]?_0x1adc17:void 0x0,_0x258faa=0x117===_0x1adc17[_0x1a4e('0x146b')]?_0x1adc17:void 0x0,_0x532e53=_0x56674b?_0x56674b[_0x1a4e('0x2c1e')]:[_0x258faa];if(function(_0x146f6e,_0x2327c6){return(_0x146f6e[_0x1a4e('0x2f4a')]||_0x146f6e[_0x1a4e('0x2f4b')])&&(0x117!==_0x2327c6[_0x1a4e('0x146b')]||!_0x368e5a[_0x1a4e('0x175b')](_0x2327c6[_0x1a4e('0x1b39')],_0x1a4e('0x1a87')));}(_0x420b32,_0x1adc17)&&(_0x1b06ad=_0x368e5a['createSourceMapGenerator'](_0x2327c6,_0x368e5a[_0x1a4e('0x2338')](_0x368e5a['normalizeSlashes'](_0x146f6e)),function(_0x146f6e){var _0x2327c6=_0x368e5a['normalizeSlashes'](_0x146f6e[_0x1a4e('0x15c6')]||'');return _0x2327c6?_0x368e5a['ensureTrailingDirectorySeparator'](_0x2327c6):_0x2327c6;}(_0x420b32),function(_0x146f6e,_0x55ff7e,_0x1adc17){if(_0x146f6e[_0x1a4e('0x15c6')])return _0x2327c6[_0x1a4e('0x241b')]();if(_0x146f6e[_0x1a4e('0x2764')]){var _0xf79407=_0x368e5a[_0x1a4e('0x166f')](_0x146f6e[_0x1a4e('0x2764')]);return _0x1adc17&&(_0xf79407=_0x368e5a[_0x1a4e('0x1671')](_0x368e5a[_0x1a4e('0x2448')](_0x1adc17[_0x1a4e('0x1b39')],_0x2327c6,_0xf79407))),0x0===_0x368e5a[_0x1a4e('0x1670')](_0xf79407)&&(_0xf79407=_0x368e5a['combinePaths'](_0x2327c6['getCommonSourceDirectory'](),_0xf79407)),_0xf79407;}return _0x368e5a['getDirectoryPath'](_0x368e5a['normalizePath'](_0x55ff7e));}(_0x420b32,_0x146f6e,_0x258faa),_0x420b32)),_0x56674b?_0x2c9ec9[_0x1a4e('0x2f83')](_0x56674b,_0x44de2a,_0x55da34,_0x1b06ad):_0x2c9ec9['writeFile'](_0x258faa,_0x55da34,_0x1b06ad),_0x1b06ad){_0x1830ea&&_0x1830ea[_0x1a4e('0x46')]({'inputSourceFileNames':_0x1b06ad[_0x1a4e('0x2f84')](),'sourceMap':_0x1b06ad[_0x1a4e('0xb9')]()});var _0x47e145=function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(_0x146f6e['inlineSourceMap']){var _0x420b32=_0x55ff7e[_0x1a4e('0x95')](),_0x1b06ad=_0x368e5a[_0x1a4e('0x246e')](_0x368e5a['sys'],_0x420b32);return _0x1a4e('0x2f85')+_0x1b06ad;}var _0x326eae=_0x368e5a['getBaseFileName'](_0x368e5a[_0x1a4e('0x166f')](_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0xf79407)));if(_0x146f6e[_0x1a4e('0x2764')]){var _0x56674b=_0x368e5a[_0x1a4e('0x166f')](_0x146f6e[_0x1a4e('0x2764')]);return _0x2c9ec9&&(_0x56674b=_0x368e5a['getDirectoryPath'](_0x368e5a['getSourceFilePathInNewDir'](_0x2c9ec9['fileName'],_0x2327c6,_0x56674b))),0x0===_0x368e5a[_0x1a4e('0x1670')](_0x56674b)?(_0x56674b=_0x368e5a[_0x1a4e('0x1673')](_0x2327c6[_0x1a4e('0x241b')](),_0x56674b),_0x368e5a[_0x1a4e('0x241d')](_0x368e5a[_0x1a4e('0x1671')](_0x368e5a[_0x1a4e('0x1672')](_0x1adc17)),_0x368e5a[_0x1a4e('0x1673')](_0x56674b,_0x326eae),_0x2327c6[_0x1a4e('0x241c')](),_0x2327c6[_0x1a4e('0x241a')],!0x0)):_0x368e5a[_0x1a4e('0x1673')](_0x56674b,_0x326eae);}return _0x326eae;}(_0x420b32,_0x1b06ad,_0x146f6e,_0x55ff7e,_0x258faa);if(_0x47e145&&(_0x55da34[_0x1a4e('0x2f6b')]()||_0x55da34[_0x1a4e('0x242a')](_0x46a067),_0x55da34[_0x1a4e('0x2429')](_0x1a4e('0x2f86')+_0x47e145)),_0x55ff7e){var _0x1c3ad3=_0x1b06ad[_0x1a4e('0x95')]();_0x368e5a[_0x1a4e('0x16b7')](_0x2327c6,_0x4e50f5,_0x55ff7e,_0x1c3ad3,!0x1,_0x532e53);}}else _0x55da34[_0x1a4e('0x2426')]();_0x368e5a[_0x1a4e('0x16b7')](_0x2327c6,_0x4e50f5,_0x146f6e,_0x55da34[_0x1a4e('0x230e')](),!!_0x326eae[_0x1a4e('0x2773')],_0x532e53),_0xf79407&&(_0x44de2a[_0x1a4e('0x2f87')]=_0x55da34[_0x1a4e('0x2615')](),_0x368e5a[_0x1a4e('0x16b7')](_0x2327c6,_0x4e50f5,_0xf79407,JSON[_0x1a4e('0xd7')](_0x44de2a,void 0x0,0x2),!0x1)),_0x55da34['clear'](),_0x44de2a={'originalOffset':-0x1,'totalLength':-0x1};}},function(_0x368e5a){_0x368e5a[_0x368e5a['Notification']=0x0]=_0x1a4e('0x1423'),_0x368e5a[_0x368e5a[_0x1a4e('0x19da')]=0x1]=_0x1a4e('0x19da'),_0x368e5a[_0x368e5a[_0x1a4e('0x2f88')]=0x2]=_0x1a4e('0x2f88'),_0x368e5a[_0x368e5a[_0x1a4e('0x2f89')]=0x3]='SourceMaps',_0x368e5a[_0x368e5a[_0x1a4e('0x2f8a')]=0x4]=_0x1a4e('0x2f8a');}(_0x146f6e||(_0x146f6e={})),_0x368e5a[_0x1a4e('0x298e')]=_0x56674b,function(_0x368e5a){_0x368e5a[_0x368e5a['Auto']=0x0]=_0x1a4e('0x18fa'),_0x368e5a[_0x368e5a[_0x1a4e('0x2f8b')]=0xfffffff]=_0x1a4e('0x2f8b'),_0x368e5a[_0x368e5a['_i']=0x10000000]='_i';}(_0x2327c6||(_0x2327c6={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e;function _0x2327c6(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x1b6f')](_0x146f6e,_0x2327c6,_0x55ff7e);}function _0x55ff7e(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x1b41')](_0x146f6e,_0x2327c6,0x0!=(0x1&_0x55ff7e));}function _0x1adc17(_0x368e5a,_0x2327c6){switch(_0x368e5a){case _0x146f6e[_0x1a4e('0x1733')]:return _0x2327c6;case _0x146f6e[_0x1a4e('0x2f8c')]:return _0x420b32;case _0x146f6e[_0x1a4e('0x16c7')]:return _0x2327c6===_0x55ff7e?_0x2c9ec9:_0xf79407;}}function _0xf79407(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x326eae,_0x56674b,_0x104997,_0x4d46f4){_0x56674b(_0x104997+'::\x20Added::\x20'+_0x1b06ad(_0x146f6e,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x4d46f4));var _0xe475bb=_0x420b32(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x326eae,_0x56674b,_0x104997,_0x4d46f4);return{'close':function(){_0x56674b(_0x104997+_0x1a4e('0x2f8d')+_0x1b06ad(_0x146f6e,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x4d46f4)),_0xe475bb[_0x1a4e('0x139b')]();}};}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x326eae,_0x56674b,_0x2c3af6,_0x2d4af2,_0x2d425e){var _0x483184=_0x2d4af2+'::\x20Added::\x20'+_0x1b06ad(_0x2327c6,_0x1adc17,_0x2c9ec9,_0x326eae,_0x2d425e);_0x2c3af6(_0x483184);var _0x1ff14c=_0x368e5a[_0x1a4e('0x2f8e')](),_0x47b804=_0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x326eae,_0x56674b,_0x2c3af6,_0x2d4af2,_0x2d425e),_0x46d61d=_0x368e5a[_0x1a4e('0x2f8e')]()-_0x1ff14c;return _0x2c3af6(_0x1a4e('0x2f8f')+_0x46d61d+'ms\x20'+_0x483184),{'close':function(){var _0x146f6e=_0x2d4af2+'::\x20Close::\x20'+_0x1b06ad(_0x2327c6,_0x1adc17,_0x2c9ec9,_0x326eae,_0x2d425e);_0x2c3af6(_0x146f6e);var _0x55ff7e=_0x368e5a['timestamp']();_0x47b804[_0x1a4e('0x139b')]();var _0xf79407=_0x368e5a[_0x1a4e('0x2f8e')]()-_0x55ff7e;_0x2c3af6(_0x1a4e('0x2f8f')+_0xf79407+_0x1a4e('0x2f90')+_0x146f6e);}};}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x326eae,_0x56674b,_0x4ce493,_0x152080){return _0x326eae(_0x146f6e,_0x2327c6,function(_0x146f6e,_0x326eae){var _0x1d3299=_0x4ce493+_0x1a4e('0x2f91')+_0x146f6e+'\x20'+(void 0x0!==_0x326eae?_0x326eae:'')+_0x1a4e('0x2f92')+_0x1b06ad(_0x2327c6,_0x1adc17,_0x2c9ec9,_0x420b32,_0x152080);_0x56674b(_0x1d3299);var _0x374f8d=_0x368e5a[_0x1a4e('0x2f8e')]();_0x55ff7e(_0x146f6e,_0x326eae,_0xf79407);var _0x2476b5=_0x368e5a[_0x1a4e('0x2f8e')]()-_0x374f8d;_0x56674b('Elapsed::\x20'+_0x2476b5+'ms\x20'+_0x1d3299);},_0x1adc17);}function _0x1b06ad(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x1a4e('0x2f93')+_0x368e5a+'\x20'+_0x146f6e+'\x20'+(_0x1adc17?_0x1adc17(_0x2327c6,_0x55ff7e):_0x2327c6);}function _0x326eae(_0x368e5a){_0x368e5a[_0x1a4e('0x2f94')][_0x1a4e('0x139b')]();}_0x368e5a[_0x1a4e('0x2f95')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e[_0x1a4e('0x27fc')]&&_0x146f6e[_0x1a4e('0x1b52')]){var _0x1adc17=_0x368e5a[_0x1a4e('0x1772')](),_0xf79407=_0x368e5a[_0x1a4e('0x1761')](_0x55ff7e);return{'useCaseSensitiveFileNames':_0x55ff7e,'fileExists':function(_0x368e5a){var _0x2327c6=_0x1b06ad(_0x2c9ec9(_0x368e5a));return _0x2327c6&&_0x30a5e1(_0x2327c6[_0x1a4e('0x25bd')],_0x326eae(_0x368e5a))||_0x146f6e[_0x1a4e('0x1b4d')](_0x368e5a);},'readFile':function(_0x368e5a,_0x2327c6){return _0x146f6e[_0x1a4e('0x16b8')](_0x368e5a,_0x2327c6);},'directoryExists':_0x146f6e[_0x1a4e('0x16b5')]&&function(_0x2327c6){var _0x55ff7e=_0x2c9ec9(_0x2327c6);return _0x1adc17['has'](_0x368e5a[_0x1a4e('0x2599')](_0x55ff7e))||_0x146f6e['directoryExists'](_0x2327c6);},'getDirectories':function(_0x368e5a){var _0x2327c6=_0x2c9ec9(_0x368e5a),_0x55ff7e=_0x56674b(_0x368e5a,_0x2327c6);return _0x55ff7e?_0x55ff7e['directories'][_0x1a4e('0x78')]():_0x146f6e[_0x1a4e('0x27fc')](_0x368e5a);},'readDirectory':function(_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad,_0x326eae){var _0x4e0f2e=_0x2c9ec9(_0x1adc17),_0x139fba=_0x56674b(_0x1adc17,_0x4e0f2e);return _0x139fba?_0x368e5a['matchFiles'](_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad,_0x55ff7e,_0x2327c6,_0x326eae,function(_0x146f6e){var _0x2327c6=_0x2c9ec9(_0x146f6e);return _0x2327c6===_0x4e0f2e?_0x139fba:_0x56674b(_0x146f6e,_0x2327c6)||_0x368e5a[_0x1a4e('0x1b74')];}):_0x146f6e[_0x1a4e('0x1b52')](_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad,_0x326eae);},'createDirectory':_0x146f6e[_0x1a4e('0x16b6')]&&function(_0x368e5a){var _0x2327c6=_0x1b06ad(_0x2c9ec9(_0x368e5a)),_0x55ff7e=_0x326eae(_0x368e5a);_0x2327c6&&_0x1b37ea(_0x2327c6[_0x1a4e('0x25ba')],_0x55ff7e,!0x0),_0x146f6e[_0x1a4e('0x16b6')](_0x368e5a);},'writeFile':_0x146f6e[_0x1a4e('0x16b7')]&&function(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x1b06ad(_0x2c9ec9(_0x368e5a));return _0x1adc17&&_0x55f592(_0x1adc17,_0x326eae(_0x368e5a),!0x0),_0x146f6e[_0x1a4e('0x16b7')](_0x368e5a,_0x2327c6,_0x55ff7e);},'addOrDeleteFileOrDirectory':function(_0x368e5a,_0x2327c6){if(_0x420b32(_0x2327c6))_0x4ea8f1();else{var _0x55ff7e=_0x1b06ad(_0x2327c6);if(_0x55ff7e){if(_0x146f6e[_0x1a4e('0x16b5')]){var _0x1adc17=_0x326eae(_0x368e5a),_0xf79407={'fileExists':_0x146f6e['fileExists'](_0x2327c6),'directoryExists':_0x146f6e[_0x1a4e('0x16b5')](_0x2327c6)};return _0xf79407[_0x1a4e('0x16b5')]||_0x30a5e1(_0x55ff7e[_0x1a4e('0x25ba')],_0x1adc17)?_0x4ea8f1():_0x55f592(_0x55ff7e,_0x1adc17,_0xf79407[_0x1a4e('0x1b4d')]),_0xf79407;}_0x4ea8f1();}}},'addOrDeleteFile':function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x55ff7e!==_0x368e5a[_0x1a4e('0x1b30')][_0x1a4e('0x1b2f')]){var _0x1adc17=_0x1b06ad(_0x2327c6);_0x1adc17&&_0x55f592(_0x1adc17,_0x326eae(_0x146f6e),_0x55ff7e===_0x368e5a[_0x1a4e('0x1b30')][_0x1a4e('0x1b2e')]);}},'clearCache':_0x4ea8f1};}function _0x2c9ec9(_0x146f6e){return _0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x2327c6,_0xf79407);}function _0x420b32(_0x146f6e){return _0x1adc17[_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x2599')](_0x146f6e));}function _0x1b06ad(_0x146f6e){return _0x420b32(_0x368e5a[_0x1a4e('0x1671')](_0x146f6e));}function _0x326eae(_0x146f6e){return _0x368e5a[_0x1a4e('0x2338')](_0x368e5a[_0x1a4e('0x1672')](_0x146f6e));}function _0x56674b(_0x2327c6,_0x55ff7e){var _0xf79407=_0x420b32(_0x55ff7e=_0x368e5a['ensureTrailingDirectorySeparator'](_0x55ff7e));if(_0xf79407)return _0xf79407;try{return function(_0x2327c6,_0x55ff7e){var _0xf79407={'files':_0x368e5a[_0x1a4e('0x21')](_0x146f6e['readDirectory'](_0x2327c6,void 0x0,void 0x0,['*.*']),_0x326eae)||[],'directories':_0x146f6e['getDirectories'](_0x2327c6)||[]};return _0x1adc17[_0x1a4e('0x17a')](_0x368e5a['ensureTrailingDirectorySeparator'](_0x55ff7e),_0xf79407),_0xf79407;}(_0x2327c6,_0x55ff7e);}catch(_0x2d0005){return void _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x1adc17[_0x1a4e('0x178')](_0x368e5a['ensureTrailingDirectorySeparator'](_0x55ff7e)));}}function _0x5743a3(_0x368e5a,_0x146f6e){return _0xf79407(_0x368e5a)===_0xf79407(_0x146f6e);}function _0x30a5e1(_0x146f6e,_0x2327c6){return _0x368e5a['some'](_0x146f6e,function(_0x368e5a){return _0x5743a3(_0x368e5a,_0x2327c6);});}function _0x1b37ea(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x30a5e1(_0x146f6e,_0x2327c6)){if(!_0x55ff7e)return _0x368e5a[_0x1a4e('0x27ca')](_0x146f6e,function(_0x368e5a){return!_0x5743a3(_0x368e5a,_0x2327c6);});}else if(_0x55ff7e)return _0x146f6e[_0x1a4e('0x46')](_0x2327c6);}function _0x55f592(_0x368e5a,_0x146f6e,_0x2327c6){_0x1b37ea(_0x368e5a['files'],_0x146f6e,_0x2327c6);}function _0x4ea8f1(){_0x1adc17['clear']();}},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x1995')]=0x1]=_0x1a4e('0x1995'),_0x368e5a[_0x368e5a[_0x1a4e('0x2f96')]=0x2]=_0x1a4e('0x2f96');}(_0x368e5a[_0x1a4e('0x2f97')]||(_0x368e5a[_0x1a4e('0x2f97')]={})),_0x368e5a[_0x1a4e('0x2f98')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x2f99')](),_0xf79407=_0x368e5a['arrayToSet'](_0x1adc17);_0x368e5a[_0x1a4e('0x2494')](_0x2327c6,_0xf79407,{'createNewValue':_0x55ff7e,'onDeleteValue':_0x368e5a[_0x1a4e('0x1b44')]});},_0x368e5a[_0x1a4e('0x2f9a')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){function _0x1adc17(_0x368e5a,_0x146f6e){return{'watcher':_0x55ff7e(_0x368e5a,_0x146f6e),'flags':_0x146f6e};}_0x368e5a['mutateMap'](_0x146f6e,_0x2327c6,{'createNewValue':_0x1adc17,'onDeleteValue':_0x326eae,'onExistingValue':function(_0x368e5a,_0x2327c6,_0x55ff7e){_0x368e5a[_0x1a4e('0x7b2')]!==_0x2327c6&&(_0x368e5a[_0x1a4e('0x2f94')][_0x1a4e('0x139b')](),_0x146f6e[_0x1a4e('0x17a')](_0x55ff7e,_0x1adc17(_0x55ff7e,_0x2327c6)));}});},_0x368e5a['isEmittedFileOfProgram']=function(_0x368e5a,_0x146f6e){return!!_0x368e5a&&_0x368e5a[_0x1a4e('0x2f9b')](_0x146f6e);},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x2f8c')]=0x1]=_0x1a4e('0x2f8c'),_0x368e5a[_0x368e5a[_0x1a4e('0x16c7')]=0x2]=_0x1a4e('0x16c7');}(_0x146f6e=_0x368e5a[_0x1a4e('0x2f9c')]||(_0x368e5a[_0x1a4e('0x2f9c')]={})),_0x368e5a[_0x1a4e('0x2f9d')]=function(_0x368e5a,_0xf79407,_0x2c9ec9){return function(_0x368e5a,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9){var _0x420b32=_0x1adc17(_0x368e5a,_0xf79407),_0x1b06ad=_0x368e5a===_0x146f6e[_0x1a4e('0x1733')]?function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0xf79407(_0x368e5a,_0x146f6e,function(_0x368e5a,_0x146f6e){return _0x2327c6(_0x368e5a,_0x146f6e,_0x1adc17);},_0x55ff7e);}:_0x420b32,_0x326eae=_0x1adc17(_0x368e5a,_0x2c9ec9);return{'watchFile':function(_0x368e5a,_0x146f6e,_0x1adc17,_0x2c9ec9,_0x1b06ad,_0x326eae){return _0x420b32(_0x368e5a,_0x146f6e,_0x1adc17,_0x2c9ec9,void 0x0,_0x1b06ad,_0x326eae,_0xf79407,_0x2327c6,_0x1a4e('0x2f9e'),_0x55ff7e);},'watchFilePath':function(_0x368e5a,_0x146f6e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x326eae,_0x56674b){return _0x1b06ad(_0x368e5a,_0x146f6e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x326eae,_0x56674b,_0xf79407,_0x2327c6,_0x1a4e('0x2f9e'),_0x55ff7e);},'watchDirectory':function(_0x368e5a,_0x146f6e,_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad){return _0x326eae(_0x368e5a,_0x146f6e,_0x1adc17,_0xf79407,void 0x0,_0x420b32,_0x1b06ad,_0x2c9ec9,_0x2327c6,'DirectoryWatcher',_0x55ff7e);}};}(_0x368e5a,_0xf79407,_0x2c9ec9,_0x2327c6,_0x55ff7e);},_0x368e5a['closeFileWatcherOf']=_0x326eae;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6=/(^\s*$)|(^\s*\/\/\/?\s*(@ts-ignore)?)/;function _0x55ff7e(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1671')](_0x2327c6),_0x1adc17=_0x368e5a['isRootedDiskPath'](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x1673')](_0x55ff7e,_0x146f6e);return _0x368e5a['normalizePath'](_0x1adc17);}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17;return _0x368e5a[_0x1a4e('0x3b')](_0x146f6e,function(_0x146f6e){var _0xf79407=_0x368e5a[_0x1a4e('0x25a0')](_0x146f6e,_0x2327c6);if(_0xf79407['pop'](),_0x1adc17){for(var _0x2c9ec9=Math[_0x1a4e('0x74')](_0x1adc17[_0x1a4e('0x1e')],_0xf79407[_0x1a4e('0x1e')]),_0x420b32=0x0;_0x420b32<_0x2c9ec9;_0x420b32++)if(_0x55ff7e(_0x1adc17[_0x420b32])!==_0x55ff7e(_0xf79407[_0x420b32])){if(0x0===_0x420b32)return!0x0;_0x1adc17[_0x1a4e('0x1e')]=_0x420b32;break;}_0xf79407[_0x1a4e('0x1e')]<_0x1adc17[_0x1a4e('0x1e')]&&(_0x1adc17[_0x1a4e('0x1e')]=_0xf79407['length']);}else _0x1adc17=_0xf79407;})?'':_0x1adc17?_0x368e5a[_0x1a4e('0x25a3')](_0x1adc17):_0x2327c6;}function _0xf79407(_0x368e5a,_0x146f6e){return _0x2c9ec9(_0x368e5a,_0x146f6e);}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e=_0x368e5a[_0x1a4e('0x16b4')]);var _0x1adc17,_0xf79407=_0x368e5a[_0x1a4e('0x1772')]();function _0x2c9ec9(_0x146f6e){_0x146f6e[_0x1a4e('0x1e')]>_0x368e5a[_0x1a4e('0x1670')](_0x146f6e)&&!function(_0x368e5a){return!!_0xf79407[_0x1a4e('0x178')](_0x368e5a)||!!_0x55ff7e[_0x1a4e('0x16b5')](_0x368e5a)&&(_0xf79407[_0x1a4e('0x17a')](_0x368e5a,!0x0),!0x0);}(_0x146f6e)&&(_0x2c9ec9(_0x368e5a[_0x1a4e('0x1671')](_0x146f6e)),_0x56674b[_0x1a4e('0x16b6')]?_0x56674b[_0x1a4e('0x16b6')](_0x146f6e):_0x55ff7e['createDirectory'](_0x146f6e));}function _0x420b32(){return _0x368e5a[_0x1a4e('0x1671')](_0x368e5a[_0x1a4e('0x1672')](_0x55ff7e[_0x1a4e('0x2f9f')]()));}var _0x1b06ad=_0x368e5a[_0x1a4e('0x2473')](_0x146f6e,function(){return _0x55ff7e[_0x1a4e('0x16d0')];}),_0x326eae=_0x55ff7e[_0x1a4e('0x1b46')]&&function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x1b46')](_0x368e5a);},_0x56674b={'getSourceFile':function(_0x146f6e,_0x55ff7e,_0x1adc17){var _0xf79407;try{_0x368e5a[_0x1a4e('0x1774')]['mark'](_0x1a4e('0x2fa0')),_0xf79407=_0x56674b[_0x1a4e('0x16b8')](_0x146f6e),_0x368e5a['performance']['mark']('afterIORead'),_0x368e5a[_0x1a4e('0x1774')]['measure']('I/O\x20Read',_0x1a4e('0x2fa0'),'afterIORead');}catch(_0x2595db){_0x1adc17&&_0x1adc17(_0x2595db['message']),_0xf79407='';}return void 0x0!==_0xf79407?_0x368e5a[_0x1a4e('0x262c')](_0x146f6e,_0xf79407,_0x55ff7e,_0x2327c6):void 0x0;},'getDefaultLibLocation':_0x420b32,'getDefaultLibFileName':function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1673')](_0x420b32(),_0x368e5a['getDefaultLibFileName'](_0x146f6e));},'writeFile':function(_0x2327c6,_0xf79407,_0x420b32,_0x1b06ad){try{_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')](_0x1a4e('0x2fa1')),_0x2c9ec9(_0x368e5a[_0x1a4e('0x1671')](_0x368e5a['normalizePath'](_0x2327c6))),_0x368e5a[_0x1a4e('0x248a')](_0x146f6e)&&_0x55ff7e[_0x1a4e('0xb47')]&&_0x55ff7e['getModifiedTime']?function(_0x146f6e,_0x2327c6,_0xf79407){_0x1adc17||(_0x1adc17=_0x368e5a[_0x1a4e('0x1772')]());var _0x2c9ec9=_0x55ff7e['createHash'](_0x2327c6),_0x420b32=_0x55ff7e[_0x1a4e('0x1b3b')](_0x146f6e);if(_0x420b32){var _0x1b06ad=_0x1adc17[_0x1a4e('0x179')](_0x146f6e);if(_0x1b06ad&&_0x1b06ad['byteOrderMark']===_0xf79407&&_0x1b06ad[_0x1a4e('0xaa4')]===_0x2c9ec9&&_0x1b06ad[_0x1a4e('0x1b3c')][_0x1a4e('0xe9')]()===_0x420b32['getTime']())return;}_0x55ff7e[_0x1a4e('0x16b7')](_0x146f6e,_0x2327c6,_0xf79407);var _0x326eae=_0x55ff7e[_0x1a4e('0x1b3b')](_0x146f6e)||_0x368e5a[_0x1a4e('0x1b32')];_0x1adc17[_0x1a4e('0x17a')](_0x146f6e,{'hash':_0x2c9ec9,'byteOrderMark':_0xf79407,'mtime':_0x326eae});}(_0x2327c6,_0xf79407,_0x420b32):_0x55ff7e[_0x1a4e('0x16b7')](_0x2327c6,_0xf79407,_0x420b32),_0x368e5a[_0x1a4e('0x1774')]['mark'](_0x1a4e('0x2fa2')),_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe0a')](_0x1a4e('0x2fa3'),'beforeIOWrite','afterIOWrite');}catch(_0x33f8b8){_0x1b06ad&&_0x1b06ad(_0x33f8b8[_0x1a4e('0x133')]);}},'getCurrentDirectory':_0x368e5a[_0x1a4e('0x2fa4')](function(){return _0x55ff7e['getCurrentDirectory']();}),'useCaseSensitiveFileNames':function(){return _0x55ff7e[_0x1a4e('0x1b40')];},'getCanonicalFileName':function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x1b40')]?_0x368e5a:_0x368e5a['toLowerCase']();},'getNewLine':function(){return _0x1b06ad;},'fileExists':function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x1b4d')](_0x368e5a);},'readFile':function(_0x368e5a){return _0x55ff7e['readFile'](_0x368e5a);},'trace':function(_0x368e5a){return _0x55ff7e['write'](_0x368e5a+_0x1b06ad);},'directoryExists':function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x16b5')](_0x368e5a);},'getEnvironmentVariable':function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x1b33')]?_0x55ff7e[_0x1a4e('0x1b33')](_0x368e5a):'';},'getDirectories':function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x27fc')](_0x368e5a);},'realpath':_0x326eae,'readDirectory':function(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){return _0x55ff7e['readDirectory'](_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407);},'createDirectory':function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x16b6')](_0x368e5a);}};return _0x56674b;}function _0x1b06ad(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1a2c')](_0x146f6e)+_0x1a4e('0x2fa5')+_0x146f6e[_0x1a4e('0x1617')]+':\x20'+_0x2b6e8c(_0x146f6e[_0x1a4e('0x16d2')],_0x2327c6[_0x1a4e('0x2f73')]())+_0x2327c6[_0x1a4e('0x2f73')]();if(_0x146f6e[_0x1a4e('0x15c9')]){var _0x1adc17=_0x368e5a['getLineAndCharacterOfPosition'](_0x146f6e['file'],_0x146f6e[_0x1a4e('0xc9')]),_0xf79407=_0x1adc17[_0x1a4e('0xc5')],_0x2c9ec9=_0x1adc17['character'],_0x420b32=_0x146f6e[_0x1a4e('0x15c9')]['fileName'];return _0x368e5a[_0x1a4e('0x259d')](_0x420b32,_0x2327c6['getCurrentDirectory'](),function(_0x368e5a){return _0x2327c6[_0x1a4e('0x241a')](_0x368e5a);})+'('+(_0xf79407+0x1)+','+(_0x2c9ec9+0x1)+_0x1a4e('0x2fa6')+_0x55ff7e;}return _0x55ff7e;}_0x368e5a[_0x1a4e('0x2fa7')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=_0x1a4e('0x2703')),_0x368e5a[_0x1a4e('0x2496')](_0x146f6e,function(_0x146f6e){var _0x1adc17=_0x368e5a['combinePaths'](_0x146f6e,_0x55ff7e);return _0x2327c6(_0x1adc17)?_0x1adc17:void 0x0;});},_0x368e5a[_0x1a4e('0x2fa8')]=_0x55ff7e,_0x368e5a[_0x1a4e('0x2fa9')]=_0x1adc17,_0x368e5a[_0x1a4e('0x2faa')]=_0xf79407,_0x368e5a[_0x1a4e('0x2fab')]=_0x2c9ec9,_0x368e5a[_0x1a4e('0x2fac')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x16b8')],_0xf79407=_0x146f6e['fileExists'],_0x2c9ec9=_0x146f6e['directoryExists'],_0x420b32=_0x146f6e[_0x1a4e('0x16b6')],_0x1b06ad=_0x146f6e[_0x1a4e('0x16b7')],_0x326eae=_0x146f6e[_0x1a4e('0x288f')],_0x56674b=_0x368e5a[_0x1a4e('0x1772')](),_0x224d22=_0x368e5a[_0x1a4e('0x1772')](),_0x3148c5=_0x368e5a[_0x1a4e('0x1772')](),_0x347b97=_0x368e5a[_0x1a4e('0x1772')](),_0x525cc0=function(_0x368e5a,_0x2327c6){var _0x55ff7e=_0x1adc17[_0x1a4e('0x1')](_0x146f6e,_0x2327c6);return _0x56674b[_0x1a4e('0x17a')](_0x368e5a,_0x55ff7e||!0x1),_0x55ff7e;};return _0x146f6e[_0x1a4e('0x16b8')]=function(_0x55ff7e){var _0xf79407=_0x2327c6(_0x55ff7e),_0x2c9ec9=_0x56674b[_0x1a4e('0x179')](_0xf79407);return void 0x0!==_0x2c9ec9?_0x2c9ec9:_0x368e5a[_0x1a4e('0x175b')](_0x55ff7e,_0x1a4e('0x1a87'))?_0x525cc0(_0xf79407,_0x55ff7e):_0x1adc17['call'](_0x146f6e,_0x55ff7e);},_0x55ff7e&&(_0x146f6e[_0x1a4e('0x288f')]=function(_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x2327c6(_0x55ff7e),_0x1b06ad=_0x347b97[_0x1a4e('0x179')](_0x420b32);if(_0x1b06ad)return _0x1b06ad;var _0x56674b=_0x326eae[_0x1a4e('0x1')](_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9);return _0x56674b&&(_0x368e5a[_0x1a4e('0x2fad')](_0x55ff7e)||_0x368e5a[_0x1a4e('0x175b')](_0x55ff7e,_0x1a4e('0x1a87')))&&_0x347b97[_0x1a4e('0x17a')](_0x420b32,_0x56674b),_0x56674b;}),_0x146f6e[_0x1a4e('0x1b4d')]=function(_0x368e5a){var _0x55ff7e=_0x2327c6(_0x368e5a),_0x1adc17=_0x224d22[_0x1a4e('0x179')](_0x55ff7e);if(void 0x0!==_0x1adc17)return _0x1adc17;var _0x2c9ec9=_0xf79407[_0x1a4e('0x1')](_0x146f6e,_0x368e5a);return _0x224d22['set'](_0x55ff7e,!!_0x2c9ec9),_0x2c9ec9;},_0x146f6e[_0x1a4e('0x16b7')]=function(_0x368e5a,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x326eae=_0x2327c6(_0x368e5a);_0x224d22['delete'](_0x326eae);var _0x3148c5=_0x56674b[_0x1a4e('0x179')](_0x326eae);if(_0x3148c5&&_0x3148c5!==_0x1adc17)_0x56674b[_0x1a4e('0xf4c')](_0x326eae),_0x347b97['delete'](_0x326eae);else if(_0x55ff7e){var _0x525cc0=_0x347b97['get'](_0x326eae);_0x525cc0&&_0x525cc0[_0x1a4e('0xe04')]!==_0x1adc17&&_0x347b97[_0x1a4e('0xf4c')](_0x326eae);}_0x1b06ad[_0x1a4e('0x1')](_0x146f6e,_0x368e5a,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32);},_0x2c9ec9&&_0x420b32&&(_0x146f6e[_0x1a4e('0x16b5')]=function(_0x368e5a){var _0x55ff7e=_0x2327c6(_0x368e5a),_0x1adc17=_0x3148c5[_0x1a4e('0x179')](_0x55ff7e);if(void 0x0!==_0x1adc17)return _0x1adc17;var _0xf79407=_0x2c9ec9[_0x1a4e('0x1')](_0x146f6e,_0x368e5a);return _0x3148c5[_0x1a4e('0x17a')](_0x55ff7e,!!_0xf79407),_0xf79407;},_0x146f6e[_0x1a4e('0x16b6')]=function(_0x368e5a){var _0x55ff7e=_0x2327c6(_0x368e5a);_0x3148c5['delete'](_0x55ff7e),_0x420b32['call'](_0x146f6e,_0x368e5a);}),{'originalReadFile':_0x1adc17,'originalFileExists':_0xf79407,'originalDirectoryExists':_0x2c9ec9,'originalCreateDirectory':_0x420b32,'originalWriteFile':_0x1b06ad,'originalGetSourceFile':_0x326eae,'readFileWithCache':function(_0x368e5a){var _0x146f6e=_0x2327c6(_0x368e5a),_0x55ff7e=_0x56674b['get'](_0x146f6e);return void 0x0!==_0x55ff7e?_0x55ff7e||void 0x0:_0x525cc0(_0x146f6e,_0x368e5a);}};},_0x368e5a['getPreEmitDiagnostics']=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x2fae')]()[_0x1a4e('0x9a')](_0x146f6e[_0x1a4e('0x2faf')](_0x55ff7e),_0x146f6e[_0x1a4e('0x2fb0')](_0x2327c6,_0x55ff7e),_0x146f6e[_0x1a4e('0x2fb1')](_0x55ff7e),_0x146f6e[_0x1a4e('0x2fb2')](_0x2327c6,_0x55ff7e));return _0x368e5a['getEmitDeclarations'](_0x146f6e[_0x1a4e('0x23f1')]())&&_0x368e5a[_0x1a4e('0x23d1')](_0x1adc17,_0x146f6e[_0x1a4e('0x2f08')](_0x2327c6,_0x55ff7e)),_0x368e5a[_0x1a4e('0x22df')](_0x1adc17);},_0x368e5a[_0x1a4e('0x2fb3')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6='',_0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17['length'];_0x55ff7e++)_0x2327c6+=_0x1b06ad(_0x1adc17[_0x55ff7e],_0x146f6e);return _0x2327c6;},_0x368e5a[_0x1a4e('0x2fb4')]=_0x1b06ad,function(_0x368e5a){_0x368e5a['Grey']=_0x1a4e('0x2fb5'),_0x368e5a['Red']=_0x1a4e('0x2fb6'),_0x368e5a['Yellow']=_0x1a4e('0x2fb7'),_0x368e5a[_0x1a4e('0x2fb8')]=_0x1a4e('0x2fb9'),_0x368e5a['Cyan']=_0x1a4e('0x2fba');}(_0x146f6e=_0x368e5a['ForegroundColorEscapeSequences']||(_0x368e5a[_0x1a4e('0x2fbb')]={}));var _0x326eae=_0x1a4e('0x2fbc'),_0x56674b='\x20',_0x49bb3b='',_0x3f90ea='...',_0x40b791='\x20\x20',_0x193416=_0x1a4e('0x2418');function _0x13fb0e(_0x2327c6){switch(_0x2327c6){case _0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')]:return _0x146f6e['Red'];case _0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d4')]:return _0x146f6e[_0x1a4e('0x2fbd')];case _0x368e5a['DiagnosticCategory'][_0x1a4e('0x1a2b')]:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]('Should\x20never\x20get\x20an\x20Info\x20diagnostic\x20on\x20the\x20command\x20line.');case _0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')]:return _0x146f6e[_0x1a4e('0x2fb8')];}}function _0x349c5c(_0x368e5a,_0x146f6e){return _0x146f6e+_0x368e5a+_0x49bb3b;}function _0x3a7e4c(_0x368e5a,_0x146f6e){for(;_0x368e5a[_0x1a4e('0x1e')]<_0x146f6e;)_0x368e5a='\x20'+_0x368e5a;return _0x368e5a;}function _0x5d72f4(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x22c1')](_0x146f6e,_0x2327c6),_0x1b06ad=_0x420b32[_0x1a4e('0xc5')],_0x40b791=_0x420b32[_0x1a4e('0x2324')],_0x193416=_0x368e5a['getLineAndCharacterOfPosition'](_0x146f6e,_0x2327c6+_0x55ff7e),_0x13fb0e=_0x193416[_0x1a4e('0xc5')],_0x5d72f4=_0x193416[_0x1a4e('0x2324')],_0x28b279=_0x368e5a[_0x1a4e('0x22c1')](_0x146f6e,_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x1e')])[_0x1a4e('0xc5')],_0x29925c=_0x13fb0e-_0x1b06ad>=0x4,_0x22d51d=(_0x13fb0e+0x1+'')[_0x1a4e('0x1e')];_0x29925c&&(_0x22d51d=Math[_0x1a4e('0x6c')](_0x3f90ea['length'],_0x22d51d));for(var _0x452a60='',_0x24207f=_0x1b06ad;_0x24207f<=_0x13fb0e;_0x24207f++){_0x452a60+=_0x2c9ec9[_0x1a4e('0x2f73')](),_0x29925c&&_0x1b06ad+0x1<_0x24207f&&_0x24207f<_0x13fb0e-0x1&&(_0x452a60+=_0x1adc17+_0x349c5c(_0x3a7e4c(_0x3f90ea,_0x22d51d),_0x326eae)+_0x56674b+_0x2c9ec9[_0x1a4e('0x2f73')](),_0x24207f=_0x13fb0e-0x1);var _0x26a357=_0x368e5a['getPositionOfLineAndCharacter'](_0x146f6e,_0x24207f,0x0),_0x5b023d=_0x24207f<_0x28b279?_0x368e5a[_0x1a4e('0x22bd')](_0x146f6e,_0x24207f+0x1,0x0):_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x1e')],_0x2b8796=_0x146f6e[_0x1a4e('0xe04')]['slice'](_0x26a357,_0x5b023d);if(_0x2b8796=(_0x2b8796=_0x2b8796[_0x1a4e('0x115')](/\s+$/g,''))[_0x1a4e('0x115')]('\x09','\x20'),_0x452a60+=_0x1adc17+_0x349c5c(_0x3a7e4c(_0x24207f+0x1+'',_0x22d51d),_0x326eae)+_0x56674b,_0x452a60+=_0x2b8796+_0x2c9ec9[_0x1a4e('0x2f73')](),_0x452a60+=_0x1adc17+_0x349c5c(_0x3a7e4c('',_0x22d51d),_0x326eae)+_0x56674b,_0x452a60+=_0xf79407,_0x24207f===_0x1b06ad){var _0x3d696c=_0x24207f===_0x13fb0e?_0x5d72f4:void 0x0;_0x452a60+=_0x2b8796['slice'](0x0,_0x40b791)[_0x1a4e('0x115')](/\S/g,'\x20'),_0x452a60+=_0x2b8796[_0x1a4e('0x78')](_0x40b791,_0x3d696c)[_0x1a4e('0x115')](/./g,'~');}else _0x452a60+=_0x24207f===_0x13fb0e?_0x2b8796[_0x1a4e('0x78')](0x0,_0x5d72f4)[_0x1a4e('0x115')](/./g,'~'):_0x2b8796['replace'](/./g,'~');_0x452a60+=_0x49bb3b;}return _0x452a60;}function _0x24327e(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){void 0x0===_0xf79407&&(_0xf79407=_0x349c5c);var _0x2c9ec9=_0x368e5a[_0x1a4e('0x22c1')](_0x2327c6,_0x55ff7e),_0x420b32=_0x2c9ec9[_0x1a4e('0xc5')],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x2324')],_0x326eae='';return _0x326eae+=_0xf79407(_0x1adc17?_0x368e5a['convertToRelativePath'](_0x2327c6['fileName'],_0x1adc17[_0x1a4e('0x241c')](),function(_0x368e5a){return _0x1adc17[_0x1a4e('0x241a')](_0x368e5a);}):_0x2327c6['fileName'],_0x146f6e[_0x1a4e('0x2fbe')]),_0x326eae+=':',_0x326eae+=_0xf79407(''+(_0x420b32+0x1),_0x146f6e[_0x1a4e('0x2fbd')]),_0x326eae+=':',_0x326eae+=_0xf79407(''+(_0x1b06ad+0x1),_0x146f6e[_0x1a4e('0x2fbd')]);}function _0x2b6e8c(_0x146f6e,_0x2327c6){if(_0x368e5a['isString'](_0x146f6e))return _0x146f6e;for(var _0x55ff7e=_0x146f6e,_0x1adc17='',_0xf79407=0x0;_0x55ff7e;){if(_0xf79407){_0x1adc17+=_0x2327c6;for(var _0x2c9ec9=0x0;_0x2c9ec9<_0xf79407;_0x2c9ec9++)_0x1adc17+='\x20\x20';}_0x1adc17+=_0x55ff7e[_0x1a4e('0x16d2')],_0xf79407++,_0x55ff7e=_0x55ff7e[_0x1a4e('0x7e')];}return _0x1adc17;}function _0x18e970(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(0x0===_0x146f6e[_0x1a4e('0x1e')])return[];for(var _0xf79407=[],_0x2c9ec9=_0x368e5a[_0x1a4e('0x1772')](),_0x420b32=0x0,_0x1b06ad=_0x146f6e;_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32],_0x56674b=void 0x0;_0x2c9ec9[_0x1a4e('0x178')](_0x326eae)?_0x56674b=_0x2c9ec9['get'](_0x326eae):_0x2c9ec9['set'](_0x326eae,_0x56674b=_0x1adc17(_0x326eae,_0x2327c6,_0x55ff7e)),_0xf79407[_0x1a4e('0x46')](_0x56674b);}return _0xf79407;}function _0x41133a(_0x146f6e){return{'fileExists':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x1b4d')](_0x368e5a);},'readDirectory':function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a['Debug']['assertDefined'](_0x146f6e[_0x1a4e('0x1b52')],_0x1a4e('0x2fbf')),_0x146f6e[_0x1a4e('0x1b52')](_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9);},'readFile':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x16b8')](_0x368e5a);},'useCaseSensitiveFileNames':_0x146f6e[_0x1a4e('0x1b40')](),'getCurrentDirectory':function(){return _0x146f6e['getCurrentDirectory']();},'onUnRecoverableConfigFileDiagnostic':function(){},'trace':_0x146f6e['trace']?function(_0x368e5a){return _0x146f6e[_0x1a4e('0x27e0')](_0x368e5a);}:void 0x0};}function _0x6ce618(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6||_0x146f6e;return _0x368e5a[_0x1a4e('0x2fc0')](_0x55ff7e[_0x1a4e('0x64')]);}function _0x40122e(_0x368e5a){return _0x368e5a[_0x1a4e('0x2350')]?_0x1a4e('0x2350'):_0x1a4e('0x257e');}function _0x5c3187(_0x146f6e,_0x2327c6){switch(_0x2327c6[_0x1a4e('0x2319')]){case _0x1a4e('0x25be'):case _0x1a4e('0x1a83'):return;case'.tsx':return _0x55ff7e();case _0x1a4e('0x1a86'):return _0x55ff7e()||_0x1adc17();case _0x1a4e('0x1a84'):return _0x1adc17();case _0x1a4e('0x1a87'):return _0x146f6e[_0x1a4e('0x25cd')]?void 0x0:_0x368e5a[_0x1a4e('0x167d')]['Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used'];}function _0x55ff7e(){return _0x146f6e[_0x1a4e('0x294b')]?void 0x0:_0x368e5a[_0x1a4e('0x167d')]['Module_0_was_resolved_to_1_but_jsx_is_not_set'];}function _0x1adc17(){return _0x146f6e['allowJs']||!_0x368e5a[_0x1a4e('0x2591')](_0x146f6e,_0x1a4e('0x2749'))?void 0x0:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x297f')];}}function _0x3cfb59(_0x368e5a){for(var _0x146f6e=_0x368e5a[_0x1a4e('0x10ca')],_0x2327c6=_0x368e5a[_0x1a4e('0x2940')],_0x55ff7e=_0x146f6e['map'](function(_0x368e5a){return _0x368e5a[_0x1a4e('0xe04')];}),_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];0xa===_0x2c9ec9[_0x1a4e('0x146b')]&&_0x55ff7e[_0x1a4e('0x46')](_0x2c9ec9['text']);}return _0x55ff7e;}_0x368e5a[_0x1a4e('0x2fc1')]=_0x349c5c,_0x368e5a[_0x1a4e('0x2fc2')]=_0x24327e,_0x368e5a[_0x1a4e('0x2fc3')]=function(_0x2327c6,_0x55ff7e){for(var _0x1adc17='',_0xf79407=0x0,_0x2c9ec9=_0x2327c6;_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if(_0x420b32[_0x1a4e('0x15c9')]&&(_0x1adc17+=_0x24327e(_0x49bb3b=_0x420b32[_0x1a4e('0x15c9')],_0x3f90ea=_0x420b32['start'],_0x55ff7e),_0x1adc17+=_0x1a4e('0x2ee')),_0x1adc17+=_0x349c5c(_0x368e5a['diagnosticCategoryName'](_0x420b32),_0x13fb0e(_0x420b32['category'])),_0x1adc17+=_0x349c5c(_0x1a4e('0x2fa5')+_0x420b32['code']+':\x20',_0x146f6e[_0x1a4e('0x2fc4')]),_0x1adc17+=_0x2b6e8c(_0x420b32[_0x1a4e('0x16d2')],_0x55ff7e[_0x1a4e('0x2f73')]()),_0x420b32[_0x1a4e('0x15c9')]&&(_0x1adc17+=_0x55ff7e[_0x1a4e('0x2f73')](),_0x1adc17+=_0x5d72f4(_0x420b32['file'],_0x420b32[_0x1a4e('0xc9')],_0x420b32['length'],'',_0x13fb0e(_0x420b32[_0x1a4e('0x1a2d')]),_0x55ff7e),_0x420b32[_0x1a4e('0x257d')])){_0x1adc17+=_0x55ff7e['getNewLine']();for(var _0x1b06ad=0x0,_0x326eae=_0x420b32['relatedInformation'];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x49bb3b=_0x56674b[_0x1a4e('0x15c9')],_0x3f90ea=_0x56674b['start'],_0x3a7e4c=_0x56674b['length'],_0x18e970=_0x56674b[_0x1a4e('0x16d2')];_0x49bb3b&&(_0x1adc17+=_0x55ff7e['getNewLine'](),_0x1adc17+=_0x40b791+_0x24327e(_0x49bb3b,_0x3f90ea,_0x55ff7e),_0x1adc17+=_0x5d72f4(_0x49bb3b,_0x3f90ea,_0x3a7e4c,_0x193416,_0x146f6e['Cyan'],_0x55ff7e)),_0x1adc17+=_0x55ff7e[_0x1a4e('0x2f73')](),_0x1adc17+=_0x193416+_0x2b6e8c(_0x18e970,_0x55ff7e['getNewLine']());}}_0x1adc17+=_0x55ff7e[_0x1a4e('0x2f73')]();}return _0x1adc17;},_0x368e5a[_0x1a4e('0x16d1')]=_0x2b6e8c,_0x368e5a[_0x1a4e('0x2fc5')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){if(!_0x146f6e||_0x420b32)return!0x1;if(_0x146f6e[_0x1a4e('0x2fc6')]()[_0x1a4e('0x1e')]!==_0x2327c6[_0x1a4e('0x1e')])return!0x1;var _0x326eae;if(!_0x368e5a['arrayIsEqualTo'](_0x146f6e[_0x1a4e('0x2fc7')](),_0x1b06ad,function(_0x2327c6,_0x55ff7e,_0x1adc17){return!!_0x368e5a[_0x1a4e('0x2316')](_0x2327c6,_0x55ff7e)&&function _0x146f6e(_0x2327c6,_0x55ff7e){return _0x2327c6?!!_0x368e5a['contains'](_0x326eae,_0x2327c6)||!!_0x49bb3b(_0x2327c6[_0x1a4e('0x27e7')])&&((_0x326eae||(_0x326eae=[]))[_0x1a4e('0x46')](_0x2327c6),!_0x368e5a[_0x1a4e('0x3b')](_0x2327c6[_0x1a4e('0x2702')],function(_0x368e5a,_0x55ff7e){return!_0x146f6e(_0x368e5a,_0x2327c6[_0x1a4e('0x27f2')][_0x1a4e('0x2fc8')][_0x55ff7e]);})):!_0xf79407(_0x6ce618(_0x55ff7e));}(_0x146f6e[_0x1a4e('0x2fc9')]()[_0x1adc17],_0x2327c6);}))return!0x1;if(_0x146f6e[_0x1a4e('0x2447')]()[_0x1a4e('0x1c2')](function(_0x368e5a){return!_0x49bb3b(_0x368e5a)||_0x2c9ec9(_0x368e5a[_0x1a4e('0x64')]);}))return!0x1;if(_0x146f6e[_0x1a4e('0x2f99')]()[_0x1a4e('0x1c2')](_0xf79407))return!0x1;var _0x56674b=_0x146f6e['getCompilerOptions']();return!(!_0x368e5a[_0x1a4e('0x2493')](_0x56674b,_0x55ff7e)||_0x56674b[_0x1a4e('0x2fca')]&&_0x55ff7e[_0x1a4e('0x2fca')]&&_0x56674b[_0x1a4e('0x2fca')][_0x1a4e('0xe04')]!==_0x55ff7e[_0x1a4e('0x2fca')][_0x1a4e('0xe04')]);function _0x49bb3b(_0x368e5a){return _0x368e5a[_0x1a4e('0xb98')]===_0x1adc17(_0x368e5a[_0x1a4e('0x27b6')]);}},_0x368e5a[_0x1a4e('0x2fae')]=function(_0x368e5a){return _0x368e5a[_0x1a4e('0x8dc')][_0x1a4e('0x2fca')]?_0x368e5a['options']['configFile'][_0x1a4e('0x2636')]['concat'](_0x368e5a[_0x1a4e('0x8dd')]):_0x368e5a[_0x1a4e('0x8dd')];},_0x368e5a[_0x1a4e('0x2fcb')]=function(_0x146f6e,_0x2c9ec9,_0x1b06ad,_0x326eae,_0x56674b){var _0x49bb3b,_0x3f90ea,_0x40b791,_0x193416,_0x13fb0e,_0x349c5c,_0x3a7e4c,_0x5d72f4,_0x24327e=_0x368e5a[_0x1a4e('0x15')](_0x146f6e)?function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return{'rootNames':_0x368e5a,'options':_0x146f6e,'host':_0x2327c6,'oldProgram':_0x55ff7e,'configFileParsingDiagnostics':_0x1adc17};}(_0x146f6e,_0x2c9ec9,_0x1b06ad,_0x326eae,_0x56674b):_0x146f6e,_0x2b6e8c=_0x24327e[_0x1a4e('0x2fcc')],_0x3e5a4f=_0x24327e[_0x1a4e('0x8dc')],_0x177eba=_0x24327e['configFileParsingDiagnostics'],_0x2cd3c7=_0x24327e[_0x1a4e('0x2fc8')],_0x1c46b1=_0x24327e[_0x1a4e('0x2fcd')],_0x1ea354=_0x368e5a[_0x1a4e('0x1772')](),_0x57c86e={},_0x48d864={},_0x120eda=_0x368e5a[_0x1a4e('0x1772')](),_0x3074bc=_0x368e5a[_0x1a4e('0x2413')](),_0x1e65d3=_0x1a4e('0x3d')==typeof _0x3e5a4f[_0x1a4e('0x278d')]?_0x3e5a4f['maxNodeModuleJsDepth']:0x0,_0x186ffd=0x0,_0x4fb597=_0x368e5a[_0x1a4e('0x1772')](),_0x2f38c3=_0x368e5a[_0x1a4e('0x1772')]();_0x368e5a[_0x1a4e('0x1774')]['mark'](_0x1a4e('0x2fce'));var _0x5d7a6e,_0x176a81,_0x1b57fa,_0x3544cc,_0x18c329=_0x24327e[_0x1a4e('0x1599')]||_0xf79407(_0x3e5a4f),_0x385ef6=_0x41133a(_0x18c329),_0x5437b2=_0x3e5a4f[_0x1a4e('0x2778')],_0x4c2ee2=_0x368e5a[_0x1a4e('0x2fa4')](function(){return _0x18c329[_0x1a4e('0x24ae')](_0x3e5a4f);}),_0x5628b4=_0x18c329[_0x1a4e('0x2fcf')]?_0x18c329[_0x1a4e('0x2fcf')]():_0x368e5a[_0x1a4e('0x1671')](_0x4c2ee2()),_0x584820=_0x368e5a[_0x1a4e('0x2413')](),_0x17012e=_0x18c329[_0x1a4e('0x241c')](),_0x33b334=_0x368e5a[_0x1a4e('0x25ce')](_0x3e5a4f),_0x1eb3f4=_0x368e5a['getSuppoertedExtensionsWithJsonIfResolveJsonModule'](_0x3e5a4f,_0x33b334),_0x4a96df=_0x368e5a['createMap'](),_0x445d89=_0x18c329[_0x1a4e('0x2fd0')]||_0x368e5a[_0x1a4e('0x1731')];if(_0x18c329['resolveModuleNames'])_0x1b57fa=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x18c329[_0x1a4e('0x2fd1')](_0x368e5a[_0x1a4e('0x1749')]['assertEachDefined'](_0x146f6e),_0x2327c6,_0x55ff7e,_0x1adc17)[_0x1a4e('0x21')](function(_0x146f6e){if(!_0x146f6e||void 0x0!==_0x146f6e['extension'])return _0x146f6e;var _0x2327c6=_0x368e5a['clone'](_0x146f6e);return _0x2327c6[_0x1a4e('0x2319')]=_0x368e5a[_0x1a4e('0x25df')](_0x146f6e[_0x1a4e('0x231a')]),_0x2327c6;});};else{_0x176a81=_0x368e5a[_0x1a4e('0x2fd2')](_0x17012e,function(_0x368e5a){return _0x18c329[_0x1a4e('0x241a')](_0x368e5a);});var _0x298a5c=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2fd3')](_0x146f6e,_0x2327c6,_0x3e5a4f,_0x18c329,_0x176a81,_0x55ff7e)['resolvedModule'];};_0x1b57fa=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x18e970(_0x368e5a['Debug'][_0x1a4e('0x1745')](_0x146f6e),_0x2327c6,_0x1adc17,_0x298a5c);};}if(_0x18c329[_0x1a4e('0x2fd4')])_0x3544cc=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x18c329[_0x1a4e('0x2fd4')](_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1745')](_0x146f6e),_0x2327c6,_0x55ff7e);};else{var _0x13feb6=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['resolveTypeReferenceDirective'](_0x146f6e,_0x2327c6,_0x3e5a4f,_0x18c329,_0x55ff7e)['resolvedTypeReferenceDirective'];};_0x3544cc=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x18e970(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1745')](_0x146f6e),_0x2327c6,_0x55ff7e,_0x13feb6);};}var _0x1b9883,_0x1d3728,_0x159cbb,_0x3b49a8,_0x570921=_0x368e5a[_0x1a4e('0x1772')](),_0x3dfc58=_0x368e5a[_0x1a4e('0x1772')](),_0x2d9ba3=_0x368e5a[_0x1a4e('0x1b3e')](),_0x219212=_0x368e5a[_0x1a4e('0x1772')](),_0x15efe9=_0x18c329[_0x1a4e('0x1b40')]()?_0x368e5a[_0x1a4e('0x1772')]():void 0x0,_0x5e728c=function(_0x146f6e,_0x2327c6){if(!_0x146f6e)return!0x1;var _0x55ff7e=_0x146f6e[_0x1a4e('0x23f1')]();return!!_0x368e5a[_0x1a4e('0x2fd5')][_0x1a4e('0x1c2')](function(_0x146f6e){return!_0x368e5a[_0x1a4e('0x2594')](_0x368e5a[_0x1a4e('0x2306')](_0x55ff7e,_0x146f6e),_0x368e5a[_0x1a4e('0x2306')](_0x2327c6,_0x146f6e));});}(_0x1c46b1,_0x3e5a4f),_0x315943=function(){if(!_0x1c46b1)return 0x0;var _0x146f6e=_0x1c46b1['getCompilerOptions']();if(_0x368e5a[_0x1a4e('0x2303')](_0x146f6e,_0x3e5a4f))return _0x1c46b1[_0x1a4e('0x2fd6')]=0x0;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!(0x3&_0x1c46b1[_0x1a4e('0x2fd6')]));var _0x2327c6=_0x1c46b1[_0x1a4e('0x2fc6')]();if(!_0x368e5a[_0x1a4e('0x171a')](_0x2327c6,_0x2b6e8c))return _0x1c46b1['structureIsReused']=0x0;if(!_0x368e5a[_0x1a4e('0x171a')](_0x3e5a4f['types'],_0x146f6e[_0x1a4e('0x2380')]))return _0x1c46b1['structureIsReused']=0x0;if(_0x43f077(_0x1c46b1['getProjectReferences'](),_0x1c46b1[_0x1a4e('0x2fc9')](),function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=(_0x2327c6?_0x2327c6['commandLine'][_0x1a4e('0x2fc8')]:_0x2cd3c7)[_0x146f6e],_0x1adc17=_0xe76c86(_0x55ff7e);return _0x368e5a?!_0x1adc17||_0x1adc17['sourceFile']!==_0x368e5a['sourceFile']:void 0x0!==_0x1adc17;},function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6?_0x4d1b32(_0x2327c6[_0x1a4e('0x27e7')][_0x1a4e('0x64')])[_0x1a4e('0x27f2')][_0x1a4e('0x2fc8')]:_0x2cd3c7;return!_0x368e5a[_0x1a4e('0x171a')](_0x146f6e,_0x55ff7e,_0x368e5a[_0x1a4e('0x2316')]);}))return _0x1c46b1['structureIsReused']=0x0;_0x2cd3c7&&(_0x1d3728=_0x2cd3c7[_0x1a4e('0x21')](_0xe76c86));var _0x55ff7e=[],_0x1adc17=[];if(_0x1c46b1['structureIsReused']=0x2,_0x1c46b1[_0x1a4e('0x2f99')]()['some'](function(_0x368e5a){return _0x18c329[_0x1a4e('0x1b4d')](_0x368e5a);}))return _0x1c46b1[_0x1a4e('0x2fd6')]=0x0;var _0xf79407,_0x2c9ec9=_0x1c46b1[_0x1a4e('0x2447')]();!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2fd7')]=0x0]=_0x1a4e('0x2fd7'),_0x368e5a[_0x368e5a[_0x1a4e('0x2fd8')]=0x1]='Modified';}(_0xf79407||(_0xf79407={}));for(var _0x420b32=_0x368e5a[_0x1a4e('0x1772')](),_0x1b06ad=0x0,_0x326eae=_0x2c9ec9;_0x1b06ad<_0x326eae['length'];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x49bb3b=_0x18c329[_0x1a4e('0x2fd9')]?_0x18c329[_0x1a4e('0x2fd9')](_0x56674b[_0x1a4e('0x1b39')],_0x56674b[_0x1a4e('0x27b6')],_0x3e5a4f[_0x1a4e('0xd95')],void 0x0,_0x5e728c):_0x18c329[_0x1a4e('0x288f')](_0x56674b[_0x1a4e('0x1b39')],_0x3e5a4f[_0x1a4e('0xd95')],void 0x0,_0x5e728c);if(!_0x49bb3b)return _0x1c46b1[_0x1a4e('0x2fd6')]=0x0;_0x368e5a['Debug']['assert'](!_0x49bb3b[_0x1a4e('0x293f')],'Host\x20should\x20not\x20return\x20a\x20redirect\x20source\x20file\x20from\x20`getSourceFile`');var _0x3f90ea=void 0x0;if(_0x56674b['redirectInfo']){if(_0x49bb3b!==_0x56674b[_0x1a4e('0x293f')][_0x1a4e('0x2fda')])return _0x1c46b1[_0x1a4e('0x2fd6')]=0x0;_0x3f90ea=!0x1,_0x49bb3b=_0x56674b;}else if(_0x1c46b1['redirectTargetsMap'][_0x1a4e('0x178')](_0x56674b[_0x1a4e('0x64')])){if(_0x49bb3b!==_0x56674b)return _0x1c46b1[_0x1a4e('0x2fd6')]=0x0;_0x3f90ea=!0x1;}else _0x3f90ea=_0x49bb3b!==_0x56674b;_0x49bb3b[_0x1a4e('0x64')]=_0x56674b[_0x1a4e('0x64')],_0x49bb3b[_0x1a4e('0x27b7')]=_0x56674b[_0x1a4e('0x27b7')],_0x49bb3b[_0x1a4e('0x27b6')]=_0x56674b[_0x1a4e('0x27b6')],_0x49bb3b[_0x1a4e('0x1b39')]=_0x56674b[_0x1a4e('0x1b39')];var _0x40b791=_0x1c46b1[_0x1a4e('0x2fdb')][_0x1a4e('0x179')](_0x56674b['path']);if(void 0x0!==_0x40b791){var _0x13fb0e=_0x420b32[_0x1a4e('0x179')](_0x40b791),_0x349c5c=_0x3f90ea?0x1:0x0;if(void 0x0!==_0x13fb0e&&0x1===_0x349c5c||0x1===_0x13fb0e)return _0x1c46b1[_0x1a4e('0x2fd6')]=0x0;_0x420b32['set'](_0x40b791,_0x349c5c);}if(_0x3f90ea){if(!_0x368e5a[_0x1a4e('0x171a')](_0x56674b['libReferenceDirectives'],_0x49bb3b[_0x1a4e('0x2619')],_0x33e67d))return _0x1c46b1[_0x1a4e('0x2fd6')]=0x0;_0x56674b[_0x1a4e('0x261b')]!==_0x49bb3b[_0x1a4e('0x261b')]&&(_0x1c46b1[_0x1a4e('0x2fd6')]=0x1),_0x368e5a['arrayIsEqualTo'](_0x56674b[_0x1a4e('0x2617')],_0x49bb3b['referencedFiles'],_0x33e67d)||(_0x1c46b1[_0x1a4e('0x2fd6')]=0x1),_0x1f17ec(_0x49bb3b),_0x368e5a[_0x1a4e('0x171a')](_0x56674b[_0x1a4e('0x10ca')],_0x49bb3b[_0x1a4e('0x10ca')],_0x1ba9de)||(_0x1c46b1['structureIsReused']=0x1),_0x368e5a['arrayIsEqualTo'](_0x56674b[_0x1a4e('0x2940')],_0x49bb3b[_0x1a4e('0x2940')],_0x1ba9de)||(_0x1c46b1['structureIsReused']=0x1),(0x180000&_0x56674b[_0x1a4e('0x7b2')])!=(0x180000&_0x49bb3b[_0x1a4e('0x7b2')])&&(_0x1c46b1[_0x1a4e('0x2fd6')]=0x1),_0x368e5a[_0x1a4e('0x171a')](_0x56674b['typeReferenceDirectives'],_0x49bb3b[_0x1a4e('0x2618')],_0x33e67d)||(_0x1c46b1[_0x1a4e('0x2fd6')]=0x1),_0x1adc17[_0x1a4e('0x46')]({'oldFile':_0x56674b,'newFile':_0x49bb3b});}else _0x445d89(_0x56674b[_0x1a4e('0x64')])&&(_0x1c46b1[_0x1a4e('0x2fd6')]=0x1,_0x1adc17['push']({'oldFile':_0x56674b,'newFile':_0x49bb3b}));_0x55ff7e[_0x1a4e('0x46')](_0x49bb3b);}if(0x2!==_0x1c46b1[_0x1a4e('0x2fd6')])return _0x1c46b1['structureIsReused'];for(var _0x3a7e4c=_0x1adc17[_0x1a4e('0x21')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2fdc')];}),_0x5d72f4=0x0,_0x24327e=_0x2c9ec9;_0x5d72f4<_0x24327e[_0x1a4e('0x1e')];_0x5d72f4++){var _0x18e970=_0x24327e[_0x5d72f4];if(!_0x368e5a['contains'](_0x3a7e4c,_0x18e970))for(var _0x41133a=0x0,_0x6ce618=_0x18e970[_0x1a4e('0x2fdd')];_0x41133a<_0x6ce618['length'];_0x41133a++){var _0x40122e=_0x6ce618[_0x41133a];_0x1ea354[_0x1a4e('0x17a')](_0x40122e,_0x18e970[_0x1a4e('0x1b39')]);}}for(var _0x5c3187=0x0,_0x177eba=_0x1adc17;_0x5c3187<_0x177eba[_0x1a4e('0x1e')];_0x5c3187++){var _0x57c86e=_0x177eba[_0x5c3187],_0x56674b=_0x57c86e['oldFile'],_0x49bb3b=_0x57c86e[_0x1a4e('0x2fde')],_0x48d864=_0x368e5a['getNormalizedAbsolutePath'](_0x49bb3b['originalFileName'],_0x17012e);if(_0x1b57fa){var _0x1e65d3=_0x3cfb59(_0x49bb3b),_0x186ffd=_0x2f93c4(_0x1e65d3,_0x48d864,_0x49bb3b),_0x4fb597=_0x368e5a[_0x1a4e('0x2320')](_0x1e65d3,_0x186ffd,_0x56674b['resolvedModules'],_0x368e5a[_0x1a4e('0x2fdf')]);_0x4fb597?(_0x1c46b1[_0x1a4e('0x2fd6')]=0x1,_0x49bb3b['resolvedModules']=_0x368e5a[_0x1a4e('0x2fe0')](_0x1e65d3,_0x186ffd)):_0x49bb3b['resolvedModules']=_0x56674b['resolvedModules'];}if(_0x3544cc){var _0x5d7a6e=_0x368e5a[_0x1a4e('0x21')](_0x49bb3b['typeReferenceDirectives'],function(_0x368e5a){return _0x368e5a['fileName'][_0x1a4e('0x2f1d')]();}),_0x186ffd=_0x3544cc(_0x5d7a6e,_0x48d864,_0x1cb161(_0x49bb3b['originalFileName'])),_0x4fb597=_0x368e5a['hasChangesInResolutions'](_0x5d7a6e,_0x186ffd,_0x56674b['resolvedTypeReferenceDirectiveNames'],_0x368e5a[_0x1a4e('0x231e')]);_0x4fb597?(_0x1c46b1[_0x1a4e('0x2fd6')]=0x1,_0x49bb3b[_0x1a4e('0x2315')]=_0x368e5a[_0x1a4e('0x2fe0')](_0x5d7a6e,_0x186ffd)):_0x49bb3b['resolvedTypeReferenceDirectiveNames']=_0x56674b[_0x1a4e('0x2315')];}}if(0x2!==_0x1c46b1['structureIsReused'])return _0x1c46b1[_0x1a4e('0x2fd6')];if(_0x18c329[_0x1a4e('0x2fe1')])return _0x1c46b1[_0x1a4e('0x2fd6')]=0x1;_0x1b9883=_0x1c46b1[_0x1a4e('0x2f99')]();for(var _0x176a81=0x0,_0x385ef6=_0x55ff7e;_0x176a81<_0x385ef6[_0x1a4e('0x1e')];_0x176a81++){var _0x49bb3b=_0x385ef6[_0x176a81],_0x5437b2=_0x49bb3b[_0x1a4e('0x64')];_0x52f628(_0x49bb3b,_0x5437b2,_0x49bb3b['resolvedPath']),_0x1c46b1[_0x1a4e('0x2fe2')](_0x1c46b1['getSourceFileByPath'](_0x5437b2))&&_0x2f38c3[_0x1a4e('0x17a')](_0x5437b2,!0x0);}_0x193416=_0x55ff7e,_0x3074bc=_0x1c46b1[_0x1a4e('0x2fe3')]();for(var _0x4c2ee2=0x0,_0x5628b4=_0x1adc17;_0x4c2ee2<_0x5628b4[_0x1a4e('0x1e')];_0x4c2ee2++){var _0x584820=_0x5628b4[_0x4c2ee2];_0x3074bc['reattachFileDiagnostics'](_0x584820[_0x1a4e('0x2fde')]);}return _0x120eda=_0x1c46b1['getResolvedTypeReferenceDirectives'](),_0x3dfc58=_0x1c46b1[_0x1a4e('0x2fdb')],_0x2d9ba3=_0x1c46b1[_0x1a4e('0x28d6')],_0x1c46b1['structureIsReused']=0x2;}();if(0x2!==_0x315943){if(_0x3f90ea=[],_0x40b791=[],_0x2cd3c7&&(_0x1d3728||(_0x1d3728=_0x2cd3c7['map'](_0xe76c86)),_0x2b6e8c[_0x1a4e('0x1e')]))for(var _0x5af153=0x0,_0x13bb71=_0x1d3728;_0x5af153<_0x13bb71[_0x1a4e('0x1e')];_0x5af153++){var _0x1ab225=_0x13bb71[_0x5af153];if(_0x1ab225){var _0x225e02=_0x1ab225[_0x1a4e('0x27f2')][_0x1a4e('0x8dc')][_0x1a4e('0x2445')]||_0x1ab225['commandLine']['options'][_0x1a4e('0x303')];_0x225e02&&_0x33cf97(_0x368e5a[_0x1a4e('0x25d9')](_0x225e02,_0x1a4e('0x1a83')),!0x1,!0x1,void 0x0);}}_0x368e5a['forEach'](_0x2b6e8c,function(_0x368e5a){return _0x2720ab(_0x368e5a,!0x1,!0x1);});var _0x375b75=_0x2b6e8c[_0x1a4e('0x1e')]?_0x368e5a['getAutomaticTypeDirectiveNames'](_0x3e5a4f,_0x18c329):_0x368e5a[_0x1a4e('0x1700')];if(_0x375b75['length'])for(var _0x4d5666=_0x3e5a4f['configFilePath']?_0x368e5a[_0x1a4e('0x1671')](_0x3e5a4f[_0x1a4e('0x2304')]):_0x18c329[_0x1a4e('0x241c')](),_0x1e61f4=_0x368e5a[_0x1a4e('0x1673')](_0x4d5666,'__inferred\x20type\x20names__.ts'),_0x36b68a=_0x3544cc(_0x375b75,_0x1e61f4),_0x555f67=0x0;_0x555f67<_0x375b75['length'];_0x555f67++)_0x275d43(_0x375b75[_0x555f67],_0x36b68a[_0x555f67]);if(_0x2b6e8c[_0x1a4e('0x1e')]&&!_0x5437b2){var _0x90c442=_0x4c2ee2();!_0x3e5a4f[_0x1a4e('0x261d')]&&_0x90c442?_0x2720ab(_0x90c442,!0x0,!0x1):_0x368e5a[_0x1a4e('0x3b')](_0x3e5a4f[_0x1a4e('0x261d')],function(_0x146f6e){_0x2720ab(_0x368e5a[_0x1a4e('0x1673')](_0x5628b4,_0x146f6e),!0x0,!0x1);});}_0x1b9883=_0x368e5a[_0x1a4e('0x1729')](_0x219212[_0x1a4e('0x56')](),function(_0x368e5a){return _0x368e5a;})[_0x1a4e('0xd9')](function(_0x368e5a){return!_0x219212[_0x1a4e('0x179')](_0x368e5a);}),_0x193416=_0x368e5a[_0x1a4e('0x171f')](_0x3f90ea,function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x166e')](_0x3b5086(_0x146f6e),_0x3b5086(_0x2327c6));})[_0x1a4e('0x9a')](_0x40b791),_0x3f90ea=void 0x0,_0x40b791=void 0x0;}if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x1b9883),_0x1c46b1&&_0x18c329[_0x1a4e('0x2fe4')]){for(var _0x365a3b=0x0,_0x5884d3=_0x1c46b1['getSourceFiles']();_0x365a3b<_0x5884d3[_0x1a4e('0x1e')];_0x365a3b++){var _0x27cc6d=_0x5884d3[_0x365a3b],_0x2163d4=_0x246d13(_0x27cc6d[_0x1a4e('0x27b6')]);(_0x5e728c||!_0x2163d4||_0x27cc6d[_0x1a4e('0x27b6')]===_0x27cc6d['path']&&_0x2163d4[_0x1a4e('0x27b6')]!==_0x27cc6d[_0x1a4e('0x64')])&&_0x18c329[_0x1a4e('0x2fe4')](_0x27cc6d,_0x1c46b1['getCompilerOptions'](),!!_0x246d13(_0x27cc6d[_0x1a4e('0x64')]));}_0x1c46b1['forEachResolvedProjectReference'](function(_0x368e5a,_0x146f6e){_0x368e5a&&!_0x4d1b32(_0x146f6e)&&_0x18c329[_0x1a4e('0x2fe4')](_0x368e5a[_0x1a4e('0x27e7')],_0x1c46b1['getCompilerOptions'](),!0x1);});}return _0x1c46b1=void 0x0,_0x49bb3b={'getRootFileNames':function(){return _0x2b6e8c;},'getSourceFile':_0x353585,'getSourceFileByPath':_0x246d13,'getSourceFiles':function(){return _0x193416;},'getMissingFilePaths':function(){return _0x1b9883;},'getCompilerOptions':function(){return _0x3e5a4f;},'getSyntacticDiagnostics':function(_0x368e5a,_0x146f6e){return _0x10f59e(_0x368e5a,_0x295348,_0x146f6e);},'getOptionsDiagnostics':function(){return _0x368e5a[_0x1a4e('0x22df')](_0x368e5a[_0x1a4e('0x1717')](_0x3074bc[_0x1a4e('0x2fb1')](),_0x368e5a[_0x1a4e('0x1717')](_0x584820[_0x1a4e('0x2fb1')](),function(){if(!_0x3e5a4f[_0x1a4e('0x2fca')])return _0x368e5a[_0x1a4e('0x1700')];var _0x146f6e=_0x584820['getDiagnostics'](_0x3e5a4f['configFile'][_0x1a4e('0x1b39')]);return _0x37cd33(function(_0x2327c6){_0x2327c6&&(_0x146f6e=_0x368e5a[_0x1a4e('0x1717')](_0x146f6e,_0x584820[_0x1a4e('0x2f81')](_0x2327c6[_0x1a4e('0x27e7')][_0x1a4e('0x1b39')])));}),_0x146f6e;}())));},'getGlobalDiagnostics':function(){return _0x2b6e8c['length']?_0x368e5a['sortAndDeduplicateDiagnostics'](_0x309563()[_0x1a4e('0x2fb1')]()[_0x1a4e('0x78')]()):_0x368e5a['emptyArray'];},'getSemanticDiagnostics':function(_0x368e5a,_0x146f6e){return _0x10f59e(_0x368e5a,_0x38ea2a,_0x146f6e);},'getSuggestionDiagnostics':function(_0x368e5a,_0x146f6e){return _0x5cb85a(function(){return _0x309563()[_0x1a4e('0x2fe5')](_0x368e5a,_0x146f6e);});},'getDeclarationDiagnostics':function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x49bb3b[_0x1a4e('0x23f1')]();return!_0x368e5a||_0x2327c6[_0x1a4e('0x303')]||_0x2327c6[_0x1a4e('0x2445')]?_0x315764(_0x368e5a,_0x146f6e):_0x10f59e(_0x368e5a,_0x43bb2b,_0x146f6e);},'getTypeChecker':_0x3e9936,'getClassifiableNames':function(){if(!_0x5d72f4){_0x3e9936(),_0x5d72f4=_0x368e5a['createUnderscoreEscapedMap']();for(var _0x146f6e=0x0,_0x2327c6=_0x193416;_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x2327c6[_0x146f6e];_0x368e5a[_0x1a4e('0x230a')](_0x55ff7e[_0x1a4e('0x2cf0')],_0x5d72f4);}}return _0x5d72f4;},'getDiagnosticsProducingTypeChecker':_0x309563,'getCommonSourceDirectory':_0x5a921c,'emit':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x5cb85a(function(){return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=[];if(!_0xf79407){if(_0x3e5a4f['noEmit'])return{'diagnostics':_0x420b32,'sourceMaps':void 0x0,'emittedFiles':void 0x0,'emitSkipped':!0x0};if(_0x3e5a4f[_0x1a4e('0x277f')]){var _0x1b06ad=_0x146f6e[_0x1a4e('0x2faf')](_0x1adc17)[_0x1a4e('0x9a')](_0x146f6e[_0x1a4e('0x2fb0')](_0x2327c6,_0x1adc17),_0x146f6e[_0x1a4e('0x2fb1')](_0x1adc17),_0x146f6e['getSemanticDiagnostics'](_0x2327c6,_0x1adc17));if(0x0===_0x1b06ad[_0x1a4e('0x1e')]&&_0x368e5a[_0x1a4e('0x2b9d')](_0x146f6e[_0x1a4e('0x23f1')]())&&(_0x420b32=_0x146f6e[_0x1a4e('0x2f08')](void 0x0,_0x1adc17)),_0x1b06ad['length']>0x0||_0x420b32[_0x1a4e('0x1e')]>0x0)return{'diagnostics':_0x368e5a[_0x1a4e('0x1717')](_0x1b06ad,_0x420b32),'sourceMaps':void 0x0,'emittedFiles':void 0x0,'emitSkipped':!0x0};}}var _0x326eae=_0x309563()[_0x1a4e('0x2df0')](_0x3e5a4f[_0x1a4e('0x2445')]||_0x3e5a4f[_0x1a4e('0x303')]?void 0x0:_0x2327c6,_0x1adc17);_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')](_0x1a4e('0x2fe6'));var _0x56674b=_0xf79407?[]:_0x368e5a[_0x1a4e('0x2fe7')](_0x3e5a4f,_0x2c9ec9),_0x49bb3b=_0x368e5a[_0x1a4e('0x2f72')](_0x326eae,_0x4d1a34(_0x55ff7e),_0x2327c6,_0xf79407,_0x56674b,_0x2c9ec9&&_0x2c9ec9['afterDeclarations']);return _0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')]('afterEmit'),_0x368e5a[_0x1a4e('0x1774')]['measure'](_0x1a4e('0x2f8a'),_0x1a4e('0x2fe6'),_0x1a4e('0x2fe8')),_0x49bb3b;}(_0x49bb3b,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407);});},'getCurrentDirectory':function(){return _0x17012e;},'getNodeCount':function(){return _0x309563()[_0x1a4e('0x2fe9')]();},'getIdentifierCount':function(){return _0x309563()[_0x1a4e('0x2fea')]();},'getSymbolCount':function(){return _0x309563()[_0x1a4e('0x2feb')]();},'getTypeCount':function(){return _0x309563()['getTypeCount']();},'getFileProcessingDiagnostics':function(){return _0x3074bc;},'getResolvedTypeReferenceDirectives':function(){return _0x120eda;},'isSourceFileFromExternalLibrary':_0x51631c,'isSourceFileDefaultLibrary':function(_0x146f6e){if(_0x146f6e['hasNoDefaultLib'])return!0x0;if(!_0x3e5a4f[_0x1a4e('0x2778')])return!0x1;var _0x2327c6=_0x18c329[_0x1a4e('0x1b40')]()?_0x368e5a['equateStringsCaseSensitive']:_0x368e5a['equateStringsCaseInsensitive'];return _0x3e5a4f[_0x1a4e('0x261d')]?_0x368e5a[_0x1a4e('0x1c2')](_0x3e5a4f[_0x1a4e('0x261d')],function(_0x55ff7e){return _0x2327c6(_0x146f6e[_0x1a4e('0x1b39')],_0x368e5a[_0x1a4e('0x1673')](_0x5628b4,_0x55ff7e));}):_0x2327c6(_0x146f6e[_0x1a4e('0x1b39')],_0x4c2ee2());},'dropDiagnosticsProducingTypeChecker':function(){_0x349c5c=void 0x0;},'getSourceFileFromReference':function(_0x368e5a,_0x146f6e){return _0x47366a(_0x55ff7e(_0x146f6e[_0x1a4e('0x1b39')],_0x368e5a[_0x1a4e('0x1b39')]),function(_0x368e5a){return _0x219212['get'](_0x56443b(_0x368e5a));});},'getLibFileFromReference':function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x1b39')][_0x1a4e('0x2f1d')](),_0x55ff7e=_0x368e5a['libMap'][_0x1a4e('0x179')](_0x2327c6);if(_0x55ff7e)return _0x353585(_0x368e5a[_0x1a4e('0x1673')](_0x5628b4,_0x55ff7e));},'sourceFileToPackageName':_0x3dfc58,'redirectTargetsMap':_0x2d9ba3,'isEmittedFile':function(_0x146f6e){if(_0x3e5a4f['noEmit'])return!0x1;var _0x2327c6=_0x56443b(_0x146f6e);if(_0x246d13(_0x2327c6))return!0x1;var _0x55ff7e=_0x3e5a4f[_0x1a4e('0x2445')]||_0x3e5a4f[_0x1a4e('0x303')];if(_0x55ff7e)return _0x127579(_0x2327c6,_0x55ff7e)||_0x127579(_0x2327c6,_0x368e5a[_0x1a4e('0x241e')](_0x55ff7e)+_0x1a4e('0x1a83'));if(_0x3e5a4f[_0x1a4e('0x2420')]&&_0x368e5a[_0x1a4e('0x25ab')](_0x3e5a4f[_0x1a4e('0x2420')],_0x2327c6,_0x17012e,!_0x18c329[_0x1a4e('0x1b40')]()))return!0x0;if(_0x3e5a4f[_0x1a4e('0x2421')])return _0x368e5a[_0x1a4e('0x25ab')](_0x3e5a4f[_0x1a4e('0x2421')],_0x2327c6,_0x17012e,!_0x18c329['useCaseSensitiveFileNames']());if(_0x368e5a[_0x1a4e('0x175c')](_0x2327c6,_0x368e5a[_0x1a4e('0x25c9')])||_0x368e5a[_0x1a4e('0x175b')](_0x2327c6,_0x1a4e('0x1a83'))){var _0x1adc17=_0x368e5a['removeFileExtension'](_0x2327c6);return!!_0x246d13(_0x1adc17+_0x1a4e('0x25be'))||!!_0x246d13(_0x1adc17+'.tsx');}return!0x1;},'getConfigFileParsingDiagnostics':function(){return _0x177eba||_0x368e5a[_0x1a4e('0x1700')];},'getResolvedModuleWithFailedLookupLocationsFromCache':function(_0x146f6e,_0x2327c6){return _0x176a81&&_0x368e5a[_0x1a4e('0x27ff')](_0x146f6e,_0x2327c6,_0x176a81);},'getProjectReferences':function(){return _0x2cd3c7;},'getResolvedProjectReferences':function(){return _0x1d3728;},'getProjectReferenceRedirect':_0x3b548f,'getResolvedProjectReferenceToRedirect':_0x1cb161,'getResolvedProjectReferenceByPath':_0x4d1b32,'forEachResolvedProjectReference':_0x37cd33},function(){if(_0x3e5a4f['strictPropertyInitialization']&&!_0x368e5a['getStrictOptionValue'](_0x3e5a4f,'strictNullChecks')&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')]['Option_0_cannot_be_specified_without_specifying_option_1'],_0x1a4e('0x274f'),_0x1a4e('0x288d')),_0x3e5a4f[_0x1a4e('0x2347')]&&(_0x368e5a['getEmitDeclarations'](_0x3e5a4f)&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2fec')],_0x40122e(_0x3e5a4f),_0x1a4e('0x2347')),_0x3e5a4f[_0x1a4e('0x277f')]&&_0x3b76f2(_0x368e5a['Diagnostics'][_0x1a4e('0x2fec')],_0x1a4e('0x277f'),_0x1a4e('0x2347')),_0x3e5a4f[_0x1a4e('0x303')]&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')]['Option_0_cannot_be_specified_with_option_1'],_0x1a4e('0x303'),_0x1a4e('0x2347')),_0x3e5a4f[_0x1a4e('0x2445')]&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2fec')],'outFile','isolatedModules')),_0x3e5a4f['inlineSourceMap']&&(_0x3e5a4f[_0x1a4e('0x2f4a')]&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2fec')],'sourceMap','inlineSourceMap'),_0x3e5a4f['mapRoot']&&_0x3b76f2(_0x368e5a['Diagnostics'][_0x1a4e('0x2fec')],_0x1a4e('0x2764'),_0x1a4e('0x2f4b'))),_0x3e5a4f[_0x1a4e('0x27de')]&&void 0x0===_0x3e5a4f[_0x1a4e('0x275b')]&&_0x3b76f2(_0x368e5a['Diagnostics']['Option_paths_cannot_be_used_without_specifying_baseUrl_option'],_0x1a4e('0x27de')),_0x3e5a4f['composite']&&!0x1===_0x3e5a4f[_0x1a4e('0x2350')]&&_0x3b76f2(_0x368e5a['Diagnostics'][_0x1a4e('0x2fed')],_0x1a4e('0x2350')),_0x43f077(_0x2cd3c7,_0x1d3728,function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=(_0x55ff7e?_0x55ff7e[_0x1a4e('0x27f2')][_0x1a4e('0x2fc8')]:_0x2cd3c7)[_0x2327c6],_0xf79407=_0x55ff7e&&_0x55ff7e[_0x1a4e('0x27e7')];if(_0x146f6e){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x27f2')][_0x1a4e('0x8dc')];if(!_0x2c9ec9[_0x1a4e('0x257e')]){var _0x420b32=_0x55ff7e?_0x55ff7e['commandLine'][_0x1a4e('0x2708')]:_0x2b6e8c;_0x420b32[_0x1a4e('0x1e')]&&_0x23397f(_0xf79407,_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2fee')],_0x1adc17['path']);}if(_0x1adc17[_0x1a4e('0x1610')]){var _0x1b06ad=_0x2c9ec9['outFile']||_0x2c9ec9[_0x1a4e('0x303')];_0x1b06ad?_0x18c329['fileExists'](_0x1b06ad)||_0x23397f(_0xf79407,_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2fef')],_0x1b06ad,_0x1adc17['path']):_0x23397f(_0xf79407,_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff0')],_0x1adc17['path']);}}else _0x23397f(_0xf79407,_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x26f2')],_0x1adc17[_0x1a4e('0x64')]);}),_0x3e5a4f[_0x1a4e('0x257e')]){var _0x146f6e=_0x193416[_0x1a4e('0xd9')](function(_0x368e5a){return!_0x368e5a['isDeclarationFile'];});if(_0x2b6e8c[_0x1a4e('0x1e')]<_0x146f6e[_0x1a4e('0x1e')])for(var _0x2327c6=_0x2b6e8c[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1672')](_0x146f6e)[_0x1a4e('0x2b2')]();}),_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1672')](_0x146f6e['path'])['toLowerCase']();});_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];-0x1===_0x2327c6[_0x1a4e('0x3e')](_0xf79407)&&_0x584820[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')]['File_0_is_not_in_project_file_list_Projects_must_list_all_files_or_use_an_include_pattern'],_0xf79407));}}if(_0x3e5a4f[_0x1a4e('0x27de')])for(var _0x2c9ec9 in _0x3e5a4f[_0x1a4e('0x27de')])if(_0x368e5a[_0x1a4e('0x26ff')](_0x3e5a4f[_0x1a4e('0x27de')],_0x2c9ec9))if(_0x368e5a[_0x1a4e('0x2595')](_0x2c9ec9)||_0x3f88ca(!0x0,_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x286d')],_0x2c9ec9),_0x368e5a[_0x1a4e('0x15')](_0x3e5a4f[_0x1a4e('0x27de')][_0x2c9ec9])){var _0x420b32=_0x3e5a4f[_0x1a4e('0x27de')][_0x2c9ec9][_0x1a4e('0x1e')];0x0===_0x420b32&&_0x3f88ca(!0x1,_0x2c9ec9,_0x368e5a['Diagnostics'][_0x1a4e('0x2ff1')],_0x2c9ec9);for(var _0x1b06ad=0x0;_0x1b06ad<_0x420b32;_0x1b06ad++){var _0x326eae=_0x3e5a4f[_0x1a4e('0x27de')][_0x2c9ec9][_0x1b06ad],_0x56674b=typeof _0x326eae;_0x1a4e('0x9')===_0x56674b?_0x368e5a['hasZeroOrOneAsteriskCharacter'](_0x326eae)||_0x5be397(_0x2c9ec9,_0x1b06ad,_0x368e5a['Diagnostics'][_0x1a4e('0x2ff2')],_0x326eae,_0x2c9ec9):_0x5be397(_0x2c9ec9,_0x1b06ad,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff3')],_0x326eae,_0x2c9ec9,_0x56674b);}}else _0x3f88ca(!0x1,_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff4')],_0x2c9ec9);_0x3e5a4f['sourceMap']||_0x3e5a4f['inlineSourceMap']||(_0x3e5a4f['inlineSources']&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')]['Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided'],_0x1a4e('0x2766')),_0x3e5a4f[_0x1a4e('0x15c6')]&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff5')],_0x1a4e('0x15c6'))),_0x3e5a4f[_0x1a4e('0x303')]&&_0x3e5a4f[_0x1a4e('0x2445')]&&_0x3b76f2(_0x368e5a['Diagnostics'][_0x1a4e('0x2fec')],_0x1a4e('0x303'),_0x1a4e('0x2445')),!_0x3e5a4f[_0x1a4e('0x2764')]||_0x3e5a4f['sourceMap']||_0x3e5a4f[_0x1a4e('0x2f80')]||_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff6')],_0x1a4e('0x2764'),_0x1a4e('0x2f4a'),_0x1a4e('0x2f80')),_0x3e5a4f[_0x1a4e('0x2420')]&&(_0x368e5a[_0x1a4e('0x2b9d')](_0x3e5a4f)||_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff6')],'declarationDir','declaration',_0x1a4e('0x257e')),(_0x3e5a4f[_0x1a4e('0x303')]||_0x3e5a4f[_0x1a4e('0x2445')])&&_0x3b76f2(_0x368e5a['Diagnostics'][_0x1a4e('0x2fec')],'declarationDir',_0x3e5a4f['out']?_0x1a4e('0x303'):'outFile')),_0x3e5a4f['declarationMap']&&!_0x368e5a[_0x1a4e('0x2b9d')](_0x3e5a4f)&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff6')],_0x1a4e('0x2f80'),'declaration',_0x1a4e('0x257e')),_0x3e5a4f[_0x1a4e('0x261d')]&&_0x3e5a4f[_0x1a4e('0x2778')]&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')]['Option_0_cannot_be_specified_with_option_1'],_0x1a4e('0x261d'),'noLib'),_0x3e5a4f['noImplicitUseStrict']&&_0x368e5a[_0x1a4e('0x2591')](_0x3e5a4f,'alwaysStrict')&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2fec')],_0x1a4e('0x2ea5'),'alwaysStrict');var _0x49bb3b=_0x3e5a4f[_0x1a4e('0xd95')]||0x0,_0x3f90ea=_0x3e5a4f[_0x1a4e('0x2445')]||_0x3e5a4f['out'],_0x40b791=_0x368e5a['find'](_0x193416,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22f1')](_0x146f6e)&&!_0x146f6e[_0x1a4e('0x2423')];});if(_0x3e5a4f['isolatedModules']){_0x3e5a4f[_0x1a4e('0xa6c')]===_0x368e5a['ModuleKind'][_0x1a4e('0x1733')]&&_0x49bb3b<0x2&&_0x3b76f2(_0x368e5a['Diagnostics'][_0x1a4e('0x2ff7')],_0x1a4e('0x2347'),_0x1a4e('0xd95'));var _0x13fb0e=_0x368e5a[_0x1a4e('0x1c7')](_0x193416,function(_0x146f6e){return!_0x368e5a[_0x1a4e('0x22f1')](_0x146f6e)&&!_0x146f6e['isDeclarationFile']&&0x6!==_0x146f6e[_0x1a4e('0x235a')];});if(_0x13fb0e){var _0x349c5c=_0x368e5a[_0x1a4e('0x2358')](_0x13fb0e,_0x13fb0e);_0x584820[_0x1a4e('0x177')](_0x368e5a['createFileDiagnostic'](_0x13fb0e,_0x349c5c[_0x1a4e('0xc9')],_0x349c5c['length'],_0x368e5a['Diagnostics']['Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided']));}}else if(_0x40b791&&_0x49bb3b<0x2&&_0x3e5a4f['module']===_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1733')]){var _0x349c5c=_0x368e5a['getErrorSpanForNode'](_0x40b791,_0x40b791[_0x1a4e('0x2359')]);_0x584820['add'](_0x368e5a[_0x1a4e('0x22f5')](_0x40b791,_0x349c5c['start'],_0x349c5c['length'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff8')]));}if(_0x3f90ea&&!_0x3e5a4f[_0x1a4e('0x2446')])if(_0x3e5a4f[_0x1a4e('0xa6c')]&&_0x3e5a4f[_0x1a4e('0xa6c')]!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a31')]&&_0x3e5a4f[_0x1a4e('0xa6c')]!==_0x368e5a['ModuleKind'][_0x1a4e('0x1308')])_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff9')],_0x3e5a4f[_0x1a4e('0x303')]?'out':'outFile','module');else if(void 0x0===_0x3e5a4f[_0x1a4e('0xa6c')]&&_0x40b791){var _0x349c5c=_0x368e5a[_0x1a4e('0x2358')](_0x40b791,_0x40b791['externalModuleIndicator']);_0x584820[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x22f5')](_0x40b791,_0x349c5c['start'],_0x349c5c['length'],_0x368e5a['Diagnostics'][_0x1a4e('0x2ffa')],_0x3e5a4f['out']?_0x1a4e('0x303'):'outFile'));}if(_0x3e5a4f[_0x1a4e('0x25cd')]&&(_0x368e5a[_0x1a4e('0x297a')](_0x3e5a4f)!==_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')]?_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ffb')],'resolveJsonModule'):_0x368e5a[_0x1a4e('0x258c')](_0x3e5a4f)||_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ffc')],_0x1a4e('0x25cd'),_0x1a4e('0xa6c'))),_0x3e5a4f['outDir']||_0x3e5a4f[_0x1a4e('0x15c6')]||_0x3e5a4f['mapRoot']){var _0x3a7e4c=_0x5a921c();_0x3e5a4f[_0x1a4e('0x2421')]&&''===_0x3a7e4c&&_0x193416[_0x1a4e('0x1c2')](function(_0x146f6e){return _0x368e5a['getRootLength'](_0x146f6e[_0x1a4e('0x1b39')])>0x1;})&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')]['Cannot_find_the_common_subdirectory_path_for_the_input_files'],_0x1a4e('0x2421'));}if(!_0x3e5a4f[_0x1a4e('0x2740')]&&_0x3e5a4f[_0x1a4e('0x25cb')]&&_0x368e5a[_0x1a4e('0x2b9d')](_0x3e5a4f)&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2fec')],_0x1a4e('0x25cb'),_0x40122e(_0x3e5a4f)),_0x3e5a4f[_0x1a4e('0x25e6')]&&!_0x3e5a4f[_0x1a4e('0x25cb')]&&_0x584820[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ffd')],_0x1a4e('0x25e6'),'allowJs')),_0x3e5a4f['emitDeclarationOnly']&&(_0x368e5a[_0x1a4e('0x2b9d')](_0x3e5a4f)||_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ff6')],'emitDeclarationOnly',_0x1a4e('0x2350'),_0x1a4e('0x257e')),_0x3e5a4f[_0x1a4e('0x2740')]&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')]['Option_0_cannot_be_specified_with_option_1'],_0x1a4e('0x2446'),_0x1a4e('0x2740'))),_0x3e5a4f[_0x1a4e('0x276b')]&&!_0x3e5a4f[_0x1a4e('0x2768')]&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')]['Option_0_cannot_be_specified_without_specifying_option_1'],'emitDecoratorMetadata','experimentalDecorators'),_0x3e5a4f[_0x1a4e('0x276d')]?(_0x3e5a4f[_0x1a4e('0x2770')]&&_0x3b76f2(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2fec')],'reactNamespace',_0x1a4e('0x276d')),_0x368e5a[_0x1a4e('0x267f')](_0x3e5a4f[_0x1a4e('0x276d')],_0x49bb3b)||_0x4f5023(_0x1a4e('0x276d'),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ffe')],_0x3e5a4f[_0x1a4e('0x276d')])):_0x3e5a4f[_0x1a4e('0x2770')]&&!_0x368e5a[_0x1a4e('0x2995')](_0x3e5a4f[_0x1a4e('0x2770')],_0x49bb3b)&&_0x4f5023('reactNamespace',_0x368e5a[_0x1a4e('0x167d')]['Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier'],_0x3e5a4f['reactNamespace']),!_0x3e5a4f[_0x1a4e('0x2740')]&&!_0x3e5a4f['suppressOutputPathCheck']){var _0x5d72f4=_0x4d1a34(),_0x24327e=_0x368e5a[_0x1a4e('0x1772')]();_0x368e5a[_0x1a4e('0x2fff')](_0x5d72f4,function(_0x368e5a){_0x3e5a4f[_0x1a4e('0x2446')]||_0x18e970(_0x368e5a[_0x1a4e('0x2f18')],_0x24327e),_0x18e970(_0x368e5a['declarationFilePath'],_0x24327e);});}function _0x18e970(_0x146f6e,_0x2327c6){if(_0x146f6e){var _0x55ff7e,_0x1adc17=_0x56443b(_0x146f6e);_0x219212['has'](_0x1adc17)&&(_0x3e5a4f[_0x1a4e('0x2304')]||(_0x55ff7e=_0x368e5a['chainDiagnosticMessages'](void 0x0,_0x368e5a['Diagnostics'][_0x1a4e('0x3000')])),_0x55ff7e=_0x368e5a[_0x1a4e('0x2586')](_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['Cannot_write_file_0_because_it_would_overwrite_input_file'],_0x146f6e),_0x283cb4(_0x146f6e,_0x368e5a['createCompilerDiagnosticFromMessageChain'](_0x55ff7e)));var _0xf79407=_0x18c329[_0x1a4e('0x1b40')]()?_0x1adc17:_0x1adc17['toLocaleLowerCase']();_0x2327c6[_0x1a4e('0x178')](_0xf79407)?_0x283cb4(_0x146f6e,_0x368e5a[_0x1a4e('0x166d')](_0x368e5a[_0x1a4e('0x167d')]['Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files'],_0x146f6e)):_0x2327c6[_0x1a4e('0x17a')](_0xf79407,!0x0);}}}(),_0x368e5a['performance']['mark'](_0x1a4e('0x3001')),_0x368e5a['performance']['measure'](_0x1a4e('0x3002'),'beforeProgram',_0x1a4e('0x3001')),_0x49bb3b;function _0x3b5086(_0x146f6e){if(_0x368e5a[_0x1a4e('0x25ab')](_0x5628b4,_0x146f6e[_0x1a4e('0x1b39')],!0x1)){var _0x2327c6=_0x368e5a['getBaseFileName'](_0x146f6e[_0x1a4e('0x1b39')]);if(_0x1a4e('0x3003')===_0x2327c6||_0x1a4e('0x24b3')===_0x2327c6)return 0x0;var _0x55ff7e=_0x368e5a[_0x1a4e('0x1758')](_0x368e5a[_0x1a4e('0x1764')](_0x2327c6,_0x1a4e('0x3004')),_0x1a4e('0x1a83')),_0x1adc17=_0x368e5a[_0x1a4e('0x271a')][_0x1a4e('0x3e')](_0x55ff7e);if(-0x1!==_0x1adc17)return _0x1adc17+0x1;}return _0x368e5a[_0x1a4e('0x271a')][_0x1a4e('0x1e')]+0x2;}function _0x56443b(_0x146f6e){return _0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x17012e,_0x52c173);}function _0x5a921c(){if(void 0x0===_0x13fb0e){var _0x146f6e=_0x368e5a[_0x1a4e('0xd9')](_0x193416,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x3005')](_0x146f6e,_0x3e5a4f,_0x51631c);});_0x3e5a4f['rootDir']&&_0x59cbff(_0x146f6e,_0x3e5a4f[_0x1a4e('0x273b')])?_0x13fb0e=_0x368e5a[_0x1a4e('0x22ea')](_0x3e5a4f[_0x1a4e('0x273b')],_0x17012e):_0x3e5a4f[_0x1a4e('0x257e')]&&_0x3e5a4f['configFilePath']?_0x59cbff(_0x146f6e,_0x13fb0e=_0x368e5a[_0x1a4e('0x1671')](_0x368e5a[_0x1a4e('0x166f')](_0x3e5a4f['configFilePath']))):(_0x2327c6=_0x146f6e,_0x13fb0e=_0x1adc17(_0x368e5a['mapDefined'](_0x2327c6,function(_0x368e5a){return _0x368e5a['isDeclarationFile']?void 0x0:_0x368e5a['fileName'];}),_0x17012e,_0x52c173)),_0x13fb0e&&_0x13fb0e[_0x13fb0e[_0x1a4e('0x1e')]-0x1]!==_0x368e5a[_0x1a4e('0x1b42')]&&(_0x13fb0e+=_0x368e5a[_0x1a4e('0x1b42')]);}var _0x2327c6;return _0x13fb0e;}function _0x2f93c4(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x0===_0x315943&&!_0x55ff7e[_0x1a4e('0x2fdd')][_0x1a4e('0x1e')])return _0x1b57fa(_0x146f6e,_0x2327c6,void 0x0,_0x1cb161(_0x55ff7e[_0x1a4e('0x27b7')]));var _0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32=_0x1c46b1&&_0x1c46b1[_0x1a4e('0x288f')](_0x2327c6);if(_0x420b32!==_0x55ff7e&&_0x55ff7e[_0x1a4e('0x2312')]){for(var _0x1b06ad=[],_0x326eae=0x0,_0x56674b=_0x146f6e;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x49bb3b=_0x56674b[_0x326eae],_0x3f90ea=_0x55ff7e[_0x1a4e('0x2312')]['get'](_0x49bb3b);_0x1b06ad[_0x1a4e('0x46')](_0x3f90ea);}return _0x1b06ad;}for(var _0x40b791={},_0x193416=0x0;_0x193416<_0x146f6e[_0x1a4e('0x1e')];_0x193416++){if(_0x49bb3b=_0x146f6e[_0x193416],_0x55ff7e===_0x420b32&&!_0x445d89(_0x420b32[_0x1a4e('0x64')])){var _0x13fb0e=_0x420b32&&_0x420b32['resolvedModules'][_0x1a4e('0x179')](_0x49bb3b);if(_0x13fb0e){_0x368e5a[_0x1a4e('0x3006')](_0x3e5a4f,_0x18c329)&&_0x368e5a['trace'](_0x18c329,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3007')],_0x49bb3b,_0x2327c6),(_0xf79407||(_0xf79407=new Array(_0x146f6e[_0x1a4e('0x1e')])))[_0x193416]=_0x13fb0e,(_0x2c9ec9||(_0x2c9ec9=[]))[_0x1a4e('0x46')](_0x49bb3b);continue;}}var _0x349c5c=!0x1;_0x368e5a[_0x1a4e('0x2ac')](_0x55ff7e['ambientModuleNames'],_0x49bb3b)?(_0x349c5c=!0x0,_0x368e5a[_0x1a4e('0x3006')](_0x3e5a4f,_0x18c329)&&_0x368e5a['trace'](_0x18c329,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3008')],_0x49bb3b,_0x2327c6)):_0x349c5c=_0x24327e(_0x49bb3b),_0x349c5c?(_0xf79407||(_0xf79407=new Array(_0x146f6e[_0x1a4e('0x1e')])))[_0x193416]=_0x40b791:(_0x1adc17||(_0x1adc17=[]))[_0x1a4e('0x46')](_0x49bb3b);}var _0x3a7e4c=_0x1adc17&&_0x1adc17['length']?_0x1b57fa(_0x1adc17,_0x2327c6,_0x2c9ec9,_0x1cb161(_0x55ff7e['originalFileName'])):_0x368e5a[_0x1a4e('0x1700')];if(!_0xf79407)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x3a7e4c['length']===_0x146f6e['length']),_0x3a7e4c;var _0x5d72f4=0x0;for(_0x193416=0x0;_0x193416<_0xf79407['length'];_0x193416++)_0xf79407[_0x193416]?_0xf79407[_0x193416]===_0x40b791&&(_0xf79407[_0x193416]=void 0x0):(_0xf79407[_0x193416]=_0x3a7e4c[_0x5d72f4],_0x5d72f4++);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x5d72f4===_0x3a7e4c[_0x1a4e('0x1e')]),_0xf79407;function _0x24327e(_0x146f6e){var _0x2327c6=_0x368e5a['getResolvedModule'](_0x420b32,_0x146f6e),_0x55ff7e=_0x2327c6&&_0x1c46b1['getSourceFile'](_0x2327c6[_0x1a4e('0x231a')]);if(_0x2327c6&&_0x55ff7e&&!_0x55ff7e[_0x1a4e('0x2359')])return!0x1;var _0x1adc17=_0x1ea354[_0x1a4e('0x179')](_0x146f6e);return!!_0x1adc17&&(_0x368e5a[_0x1a4e('0x3006')](_0x3e5a4f,_0x18c329)&&_0x368e5a[_0x1a4e('0x27e0')](_0x18c329,_0x368e5a['Diagnostics'][_0x1a4e('0x3009')],_0x146f6e,_0x1adc17),!0x0);}}function _0x4d1a34(_0x146f6e){return _0x420b32({'getPrependNodes':_0x44171e,'getCanonicalFileName':_0x52c173,'getCommonSourceDirectory':_0x49bb3b[_0x1a4e('0x241b')],'getCompilerOptions':_0x49bb3b[_0x1a4e('0x23f1')],'getCurrentDirectory':function(){return _0x17012e;},'getNewLine':function(){return _0x18c329[_0x1a4e('0x2f73')]();},'getSourceFile':_0x49bb3b[_0x1a4e('0x288f')],'getSourceFileByPath':_0x49bb3b[_0x1a4e('0x2fd9')],'getSourceFiles':_0x49bb3b[_0x1a4e('0x2447')],'getLibFileFromReference':_0x49bb3b[_0x1a4e('0x300a')],'isSourceFileFromExternalLibrary':_0x51631c,'writeFile':_0x146f6e||function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x18c329['writeFile'](_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);},'isEmitBlocked':_0x29ef5e,'readFile':function(_0x368e5a){return _0x18c329['readFile'](_0x368e5a);},'fileExists':function(_0x146f6e){var _0x2327c6=_0x56443b(_0x146f6e);return!!_0x246d13(_0x2327c6)||!_0x368e5a[_0x1a4e('0x2ac')](_0x1b9883,_0x2327c6)&&_0x18c329['fileExists'](_0x146f6e);}},_0x18c329[_0x1a4e('0x16b5')]?{'directoryExists':function(_0x368e5a){return _0x18c329['directoryExists'](_0x368e5a);}}:{},{'useCaseSensitiveFileNames':function(){return _0x18c329[_0x1a4e('0x1b40')]();}});}function _0x44171e(){if(!_0x2cd3c7)return _0x368e5a[_0x1a4e('0x1700')];for(var _0x146f6e=[],_0x2327c6=0x0;_0x2327c6<_0x2cd3c7[_0x1a4e('0x1e')];_0x2327c6++){var _0x55ff7e=_0x2cd3c7[_0x2327c6],_0x1adc17=_0x1d3728[_0x2327c6][_0x1a4e('0x27f2')];if(_0x55ff7e['prepend']&&_0x1adc17&&_0x1adc17[_0x1a4e('0x8dc')]){var _0xf79407=_0x1adc17[_0x1a4e('0x8dc')][_0x1a4e('0x2445')]||_0x1adc17[_0x1a4e('0x8dc')][_0x1a4e('0x303')];if(!_0xf79407)continue;var _0x2c9ec9=_0x368e5a[_0x1a4e('0x25d9')](_0xf79407,_0x1a4e('0x1a83')),_0x420b32=_0x18c329[_0x1a4e('0x16b8')](_0xf79407)||_0x1a4e('0x300b')+_0xf79407+_0x1a4e('0x300c'),_0x1b06ad=_0xf79407+_0x1a4e('0x2f49'),_0x326eae=_0x18c329[_0x1a4e('0x16b8')](_0x1b06ad),_0x56674b=_0x18c329[_0x1a4e('0x16b8')](_0x2c9ec9)||_0x1a4e('0x300b')+_0x2c9ec9+'\x20was\x20missing\x20*/\x0d\x0a',_0x49bb3b=_0x2c9ec9+'.map',_0x3f90ea=_0x18c329[_0x1a4e('0x16b8')](_0x49bb3b),_0x40b791=_0x368e5a[_0x1a4e('0x2cfb')](_0x420b32,_0x56674b,_0x326eae&&_0x1b06ad,_0x326eae,_0x3f90ea&&_0x49bb3b,_0x3f90ea);_0x146f6e[_0x1a4e('0x46')](_0x40b791);}}return _0x146f6e;}function _0x51631c(_0x368e5a){return!!_0x2f38c3['get'](_0x368e5a['path']);}function _0x309563(){return _0x349c5c||(_0x349c5c=_0x368e5a[_0x1a4e('0x288b')](_0x49bb3b,!0x0));}function _0x3e9936(){return _0x3a7e4c||(_0x3a7e4c=_0x368e5a[_0x1a4e('0x288b')](_0x49bb3b,!0x1));}function _0x29ef5e(_0x368e5a){return _0x4a96df[_0x1a4e('0x178')](_0x56443b(_0x368e5a));}function _0x353585(_0x368e5a){return _0x246d13(_0x56443b(_0x368e5a));}function _0x246d13(_0x368e5a){return _0x219212[_0x1a4e('0x179')](_0x368e5a);}function _0x10f59e(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e?_0x2327c6(_0x146f6e,_0x55ff7e):_0x368e5a['sortAndDeduplicateDiagnostics'](_0x368e5a[_0x1a4e('0x104e')](_0x49bb3b[_0x1a4e('0x2447')](),function(_0x368e5a){return _0x55ff7e&&_0x55ff7e[_0x1a4e('0x289b')](),_0x2327c6(_0x368e5a,_0x55ff7e);}));}function _0x295348(_0x146f6e){return _0x368e5a[_0x1a4e('0x23a9')](_0x146f6e)?(_0x146f6e[_0x1a4e('0x300d')]||(_0x146f6e[_0x1a4e('0x300d')]=function(_0x146f6e){return _0x5cb85a(function(){var _0x2327c6=[],_0x55ff7e=_0x146f6e;return _0x1adc17(_0x146f6e),_0x2327c6;function _0x1adc17(_0x146f6e){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0x97:case 0x9a:if(_0x55ff7e['questionToken']===_0x146f6e)return void _0x2327c6[_0x1a4e('0x46')](_0x420b32(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x26f8')],'?'));case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:case 0xc4:case 0xef:case 0xc5:case 0xed:if(_0x55ff7e[_0x1a4e('0x40')]===_0x146f6e)return void _0x2327c6[_0x1a4e('0x46')](_0x420b32(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x300e')]));}switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf8:return void _0x2327c6[_0x1a4e('0x46')](_0x420b32(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x300f')]));case 0xfe:if(_0x146f6e['isExportEquals'])return void _0x2327c6['push'](_0x420b32(_0x146f6e,_0x368e5a['Diagnostics']['export_can_only_be_used_in_a_ts_file']));break;case 0x111:var _0x2c9ec9=_0x146f6e;if(0x6d===_0x2c9ec9[_0x1a4e('0x2381')])return void _0x2327c6['push'](_0x420b32(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3010')]));break;case 0xf1:return void _0x2327c6['push'](_0x420b32(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3011')]));case 0xf4:return void _0x2327c6[_0x1a4e('0x46')](_0x420b32(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x3012')]));case 0xf2:return void _0x2327c6[_0x1a4e('0x46')](_0x420b32(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3013')]));case 0xf3:return void _0x2327c6[_0x1a4e('0x46')](_0x420b32(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x3014')]));case 0xd5:return void _0x2327c6[_0x1a4e('0x46')](_0x420b32(_0x146f6e,_0x368e5a['Diagnostics']['non_null_assertions_can_only_be_used_in_a_ts_file']));case 0xd4:return void _0x2327c6['push'](_0x420b32(_0x146f6e[_0x1a4e('0x40')],_0x368e5a['Diagnostics'][_0x1a4e('0x3015')]));case 0xc2:_0x368e5a['Debug']['fail']();}var _0x1b06ad=_0x55ff7e;_0x55ff7e=_0x146f6e,_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,_0x1adc17,_0xf79407),_0x55ff7e=_0x1b06ad;}function _0xf79407(_0x146f6e){switch(_0x55ff7e[_0x1a4e('0x232f')]!==_0x146f6e||_0x3e5a4f[_0x1a4e('0x2768')]||_0x2327c6[_0x1a4e('0x46')](_0x420b32(_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b43')])),_0x55ff7e[_0x1a4e('0x146b')]){case 0xf0:case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:case 0xc4:case 0xef:case 0xc5:if(_0x146f6e===_0x55ff7e['typeParameters'])return void _0x2327c6[_0x1a4e('0x46')](_0x2c9ec9(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x3016')]));case 0xdb:if(_0x146f6e===_0x55ff7e[_0x1a4e('0x242d')])return function(_0x146f6e,_0x55ff7e){for(var _0x1adc17=0x0,_0xf79407=_0x146f6e;_0x1adc17<_0xf79407['length'];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];switch(_0x2c9ec9[_0x1a4e('0x146b')]){case 0x4d:if(_0x55ff7e)continue;case 0x73:case 0x71:case 0x72:case 0x85:case 0x7d:case 0x76:_0x2327c6[_0x1a4e('0x46')](_0x420b32(_0x2c9ec9,_0x368e5a['Diagnostics'][_0x1a4e('0x26f8')],_0x368e5a[_0x1a4e('0x22ba')](_0x2c9ec9[_0x1a4e('0x146b')])));}}}(_0x146f6e,0xdb===_0x55ff7e[_0x1a4e('0x146b')]);break;case 0x9a:if(_0x146f6e===_0x55ff7e[_0x1a4e('0x242d')]){for(var _0xf79407=0x0,_0x1b06ad=_0x146f6e;_0xf79407<_0x1b06ad[_0x1a4e('0x1e')];_0xf79407++){var _0x326eae=_0x1b06ad[_0xf79407];0x74!==_0x326eae[_0x1a4e('0x146b')]&&_0x2327c6['push'](_0x420b32(_0x326eae,_0x368e5a['Diagnostics'][_0x1a4e('0x26f8')],_0x368e5a[_0x1a4e('0x22ba')](_0x326eae[_0x1a4e('0x146b')])));}return;}break;case 0x97:if(_0x146f6e===_0x55ff7e[_0x1a4e('0x242d')])return void _0x2327c6[_0x1a4e('0x46')](_0x2c9ec9(_0x146f6e,_0x368e5a['Diagnostics'][_0x1a4e('0x3017')]));break;case 0xbf:case 0xc0:case 0xd3:case 0x105:case 0x106:if(_0x146f6e===_0x55ff7e[_0x1a4e('0x2365')])return void _0x2327c6[_0x1a4e('0x46')](_0x2c9ec9(_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3018')]));}for(var _0x56674b=0x0,_0x49bb3b=_0x146f6e;_0x56674b<_0x49bb3b[_0x1a4e('0x1e')];_0x56674b++){var _0x3f90ea=_0x49bb3b[_0x56674b];_0x1adc17(_0x3f90ea);}}function _0x2c9ec9(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x2327c6[_0x1a4e('0xa4')];return _0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x420b32,_0x2327c6[_0x1a4e('0xca')]-_0x420b32,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9);}function _0x420b32(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x2356')](_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9);}});}(_0x146f6e)),_0x368e5a[_0x1a4e('0x1717')](_0x146f6e[_0x1a4e('0x300d')],_0x146f6e[_0x1a4e('0x2636')])):_0x146f6e[_0x1a4e('0x2636')];}function _0x5cb85a(_0x146f6e){try{return _0x146f6e();}catch(_0x1e5dc8){throw _0x1e5dc8 instanceof _0x368e5a[_0x1a4e('0x191c')]&&(_0x3a7e4c=void 0x0,_0x349c5c=void 0x0),_0x1e5dc8;}}function _0x38ea2a(_0x368e5a,_0x146f6e){return _0x2fa669(_0x368e5a,_0x146f6e,_0x57c86e,_0x4f388c);}function _0x4f388c(_0x146f6e,_0x2327c6){return _0x5cb85a(function(){if(_0x368e5a['skipTypeChecking'](_0x146f6e,_0x3e5a4f))return _0x368e5a['emptyArray'];var _0x55ff7e=_0x309563();_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x146f6e['bindDiagnostics']);for(var _0x1adc17,_0xf79407=_0x368e5a['isCheckJsEnabledForFile'](_0x146f6e,_0x3e5a4f),_0x2c9ec9=0x3===_0x146f6e['scriptKind']||0x4===_0x146f6e['scriptKind']||0x5===_0x146f6e['scriptKind']||_0xf79407||0x7===_0x146f6e[_0x1a4e('0x235a')],_0x420b32=0x0,_0x1b06ad=[_0x2c9ec9?_0x146f6e[_0x1a4e('0x263e')]:_0x368e5a['emptyArray'],_0x2c9ec9?_0x55ff7e[_0x1a4e('0x2f81')](_0x146f6e,_0x2327c6):_0x368e5a[_0x1a4e('0x1700')],_0x3074bc['getDiagnostics'](_0x146f6e[_0x1a4e('0x1b39')]),_0x584820['getDiagnostics'](_0x146f6e[_0x1a4e('0x1b39')]),_0xf79407?_0x146f6e[_0x1a4e('0x26a0')]:void 0x0];_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];if(_0x326eae)for(var _0x56674b=0x0,_0x49bb3b=_0x326eae;_0x56674b<_0x49bb3b[_0x1a4e('0x1e')];_0x56674b++){var _0x3f90ea=_0x49bb3b[_0x56674b];_0x2efabe(_0x3f90ea)&&(_0x1adc17=_0x368e5a[_0x1a4e('0x252')](_0x1adc17,_0x3f90ea));}}return _0x1adc17;});}function _0x2efabe(_0x146f6e){var _0x55ff7e=_0x146f6e[_0x1a4e('0x15c9')],_0x1adc17=_0x146f6e[_0x1a4e('0xc9')];if(_0x55ff7e)for(var _0xf79407=_0x368e5a[_0x1a4e('0x22bf')](_0x55ff7e),_0x2c9ec9=_0x368e5a['computeLineAndCharacterOfPosition'](_0xf79407,_0x1adc17)[_0x1a4e('0xc5')];_0x2c9ec9>0x0;){var _0x420b32=_0x55ff7e[_0x1a4e('0xe04')][_0x1a4e('0x78')](_0xf79407[_0x2c9ec9-0x1],_0xf79407[_0x2c9ec9]),_0x1b06ad=_0x2327c6['exec'](_0x420b32);if(!_0x1b06ad)return!0x0;if(_0x1b06ad[0x3])return!0x1;_0x2c9ec9--;}return!0x0;}function _0x315764(_0x368e5a,_0x146f6e){return _0x2fa669(_0x368e5a,_0x146f6e,_0x48d864,_0x3d7c96);}function _0x3d7c96(_0x146f6e,_0x2327c6){return _0x5cb85a(function(){var _0x55ff7e=_0x309563()[_0x1a4e('0x2df0')](_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0x2f08')](_0x4d1a34(_0x368e5a[_0x1a4e('0x10bf')]),_0x55ff7e,_0x146f6e);});}function _0x2fa669(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e?_0x55ff7e[_0x1a4e('0x3019')]&&_0x55ff7e[_0x1a4e('0x3019')][_0x1a4e('0x179')](_0x146f6e[_0x1a4e('0x64')]):_0x55ff7e['allDiagnostics'];if(_0xf79407)return _0xf79407;var _0x2c9ec9=_0x1adc17(_0x146f6e,_0x2327c6)||_0x368e5a['emptyArray'];return _0x146f6e?(_0x55ff7e[_0x1a4e('0x3019')]||(_0x55ff7e['perFile']=_0x368e5a[_0x1a4e('0x1772')]()),_0x55ff7e[_0x1a4e('0x3019')][_0x1a4e('0x17a')](_0x146f6e[_0x1a4e('0x64')],_0x2c9ec9)):_0x55ff7e['allDiagnostics']=_0x2c9ec9,_0x2c9ec9;}function _0x43bb2b(_0x368e5a,_0x146f6e){return _0x368e5a['isDeclarationFile']?[]:_0x315764(_0x368e5a,_0x146f6e);}function _0x2720ab(_0x146f6e,_0x2327c6,_0x55ff7e){_0x33cf97(_0x368e5a['normalizePath'](_0x146f6e),_0x2327c6,_0x55ff7e,void 0x0);}function _0x33e67d(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x1b39')]===_0x146f6e[_0x1a4e('0x1b39')];}function _0x1ba9de(_0x368e5a,_0x146f6e){return 0x48===_0x368e5a[_0x1a4e('0x146b')]?0x48===_0x146f6e['kind']&&_0x368e5a['escapedText']===_0x146f6e[_0x1a4e('0x22f3')]:0xa===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0xe04')]===_0x146f6e[_0x1a4e('0xe04')];}function _0x1f17ec(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x10ca')]){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407=_0x368e5a['isSourceFileJS'](_0x146f6e),_0x2c9ec9=_0x368e5a[_0x1a4e('0x22f1')](_0x146f6e);if(_0x3e5a4f['importHelpers']&&(_0x3e5a4f[_0x1a4e('0x2347')]||_0x2c9ec9)&&!_0x146f6e['isDeclarationFile']){var _0x420b32=_0x368e5a['createLiteral'](_0x368e5a[_0x1a4e('0x22e3')]),_0x1b06ad=_0x368e5a['createImportDeclaration'](void 0x0,void 0x0,void 0x0,_0x420b32);_0x368e5a[_0x1a4e('0x2dc8')](_0x1b06ad,0x4000000),_0x420b32[_0x1a4e('0x11c')]=_0x1b06ad,_0x1b06ad[_0x1a4e('0x11c')]=_0x146f6e,_0x2327c6=[_0x420b32];}for(var _0x326eae=0x0,_0x56674b=_0x146f6e[_0x1a4e('0x2366')];_0x326eae<_0x56674b['length'];_0x326eae++)_0x49bb3b(_0x56674b[_0x326eae],!0x1);return(0x80000&_0x146f6e[_0x1a4e('0x7b2')]||_0xf79407)&&function(_0x146f6e){for(var _0x55ff7e=/import|require/g;null!==_0x55ff7e[_0x1a4e('0x2af')](_0x146f6e[_0x1a4e('0xe04')]);){var _0x1adc17=_0x3f90ea(_0x146f6e,_0x55ff7e[_0x1a4e('0xfab')]);_0x368e5a[_0x1a4e('0x23ae')](_0x1adc17,!0x0)?_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x1adc17[_0x1a4e('0x2373')][0x0]):_0x368e5a[_0x1a4e('0x2a16')](_0x1adc17)&&0x1===_0x1adc17[_0x1a4e('0x2373')][_0x1a4e('0x1e')]&&_0x368e5a['isStringLiteralLike'](_0x1adc17[_0x1a4e('0x2373')][0x0])?_0x2327c6=_0x368e5a['append'](_0x2327c6,_0x1adc17[_0x1a4e('0x2373')][0x0]):_0x368e5a[_0x1a4e('0x29fc')](_0x1adc17)&&(_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x1adc17[_0x1a4e('0x2300')][_0x1a4e('0x2301')]));}}(_0x146f6e),_0x146f6e['imports']=_0x2327c6||_0x368e5a[_0x1a4e('0x1700')],_0x146f6e[_0x1a4e('0x2940')]=_0x55ff7e||_0x368e5a[_0x1a4e('0x1700')],void(_0x146f6e[_0x1a4e('0x2fdd')]=_0x1adc17||_0x368e5a[_0x1a4e('0x1700')]);}function _0x49bb3b(_0xf79407,_0x420b32){if(_0x368e5a[_0x1a4e('0x234d')](_0xf79407)){var _0x1b06ad=_0x368e5a[_0x1a4e('0x23c4')](_0xf79407);!(_0x1b06ad&&_0x368e5a[_0x1a4e('0x2374')](_0x1b06ad)&&_0x1b06ad[_0x1a4e('0xe04')])||_0x420b32&&_0x368e5a['isExternalModuleNameRelative'](_0x1b06ad['text'])||(_0x2327c6=_0x368e5a[_0x1a4e('0x252')](_0x2327c6,_0x1b06ad));}else if(_0x368e5a['isModuleDeclaration'](_0xf79407)&&_0x368e5a[_0x1a4e('0x233c')](_0xf79407)&&(_0x420b32||_0x368e5a['hasModifier'](_0xf79407,0x2)||_0x146f6e['isDeclarationFile'])){var _0x326eae=_0x368e5a['getTextOfIdentifierOrLiteral'](_0xf79407[_0x1a4e('0x2cb')]);if(_0x2c9ec9||_0x420b32&&!_0x368e5a[_0x1a4e('0x22dd')](_0x326eae))(_0x55ff7e||(_0x55ff7e=[]))[_0x1a4e('0x46')](_0xf79407[_0x1a4e('0x2cb')]);else if(!_0x420b32){_0x146f6e[_0x1a4e('0x2423')]&&(_0x1adc17||(_0x1adc17=[]))['push'](_0x326eae);var _0x56674b=_0xf79407[_0x1a4e('0x8f2')];if(_0x56674b)for(var _0x3f90ea=0x0,_0x40b791=_0x56674b['statements'];_0x3f90ea<_0x40b791[_0x1a4e('0x1e')];_0x3f90ea++)_0x49bb3b(_0x40b791[_0x3f90ea],!0x0);}}}function _0x3f90ea(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x146f6e,_0x1adc17=function(_0x368e5a){if(_0x368e5a[_0x1a4e('0xa4')]<=_0x2327c6&&(_0x2327c6<_0x368e5a['end']||_0x2327c6===_0x368e5a[_0x1a4e('0xca')]&&0x1===_0x368e5a[_0x1a4e('0x146b')]))return _0x368e5a;};;){var _0x2c9ec9=_0xf79407&&_0x368e5a['hasJSDocNodes'](_0x55ff7e)&&_0x368e5a[_0x1a4e('0x3b')](_0x55ff7e[_0x1a4e('0x22ec')],_0x1adc17)||_0x368e5a[_0x1a4e('0x22eb')](_0x55ff7e,_0x1adc17);if(!_0x2c9ec9)return _0x55ff7e;_0x55ff7e=_0x2c9ec9;}}}function _0x47366a(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x368e5a[_0x1a4e('0x25ae')](_0x146f6e)){if(!_0x3e5a4f[_0x1a4e('0x301a')]&&!_0x368e5a[_0x1a4e('0x3b')](_0x1eb3f4,function(_0x2327c6){return _0x368e5a[_0x1a4e('0x175b')](_0x18c329[_0x1a4e('0x241a')](_0x146f6e),_0x2327c6);}))return void(_0x55ff7e&&_0x55ff7e(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x301b')],_0x146f6e,'\x27'+_0x33b334['join'](_0x1a4e('0x301c'))+'\x27'));var _0xf79407=_0x2327c6(_0x146f6e);if(_0x55ff7e)if(_0xf79407)_0x1adc17&&_0x18c329[_0x1a4e('0x241a')](_0x146f6e)===_0x18c329[_0x1a4e('0x241a')](_0x1adc17[_0x1a4e('0x1b39')])&&_0x55ff7e(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x301d')]);else{var _0x2c9ec9=_0x3b548f(_0x146f6e);_0x2c9ec9?_0x55ff7e(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2978')],_0x2c9ec9,_0x146f6e):_0x55ff7e(_0x368e5a['Diagnostics'][_0x1a4e('0x26f2')],_0x146f6e);}return _0xf79407;}var _0x420b32=_0x3e5a4f[_0x1a4e('0x301a')]&&_0x2327c6(_0x146f6e);if(_0x420b32)return _0x420b32;if(!_0x55ff7e||!_0x3e5a4f[_0x1a4e('0x301a')]){var _0x1b06ad=_0x368e5a['forEach'](_0x33b334,function(_0x368e5a){return _0x2327c6(_0x146f6e+_0x368e5a);});return _0x55ff7e&&!_0x1b06ad&&_0x55ff7e(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x26f2')],_0x146f6e+_0x1a4e('0x25be')),_0x1b06ad;}_0x55ff7e(_0x368e5a[_0x1a4e('0x167d')]['File_0_not_found'],_0x146f6e);}function _0x33cf97(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){_0x47366a(_0x146f6e,function(_0x368e5a){return _0x37e8aa(_0x368e5a,_0x56443b(_0x368e5a),_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1adc17);},function(_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x1;_0x55ff7e0x0),Object[_0x1a4e('0x1c8')](_0x2c9ec9,{'id':{'get':function(){return this[_0x1a4e('0x293f')][_0x1a4e('0x301f')]['id'];},'set':function(_0x368e5a){this[_0x1a4e('0x293f')]['redirectTarget']['id']=_0x368e5a;}},'symbol':{'get':function(){return this[_0x1a4e('0x293f')][_0x1a4e('0x301f')][_0x1a4e('0xb1b')];},'set':function(_0x368e5a){this[_0x1a4e('0x293f')]['redirectTarget'][_0x1a4e('0xb1b')]=_0x368e5a;}}}),_0x2c9ec9;}(_0x24327e,_0x3a7e4c,_0x146f6e,_0x2327c6,_0x56443b(_0x146f6e),_0x56674b);return _0x2d9ba3[_0x1a4e('0x177')](_0x24327e[_0x1a4e('0x64')],_0x146f6e),_0x52f628(_0x2b6e8c,_0x2327c6,_0x326eae),_0x3dfc58[_0x1a4e('0x17a')](_0x2327c6,_0x1b06ad[_0x1a4e('0x2cb')]),_0x40b791[_0x1a4e('0x46')](_0x2b6e8c),_0x2b6e8c;}_0x3a7e4c&&(_0x570921[_0x1a4e('0x17a')](_0x5d72f4,_0x3a7e4c),_0x3dfc58['set'](_0x2327c6,_0x1b06ad[_0x1a4e('0x2cb')]));}if(_0x52f628(_0x3a7e4c,_0x2327c6,_0x326eae),_0x3a7e4c){if(_0x2f38c3[_0x1a4e('0x17a')](_0x2327c6,_0x186ffd>0x0),_0x3a7e4c[_0x1a4e('0x64')]=_0x2327c6,_0x3a7e4c[_0x1a4e('0x27b6')]=_0x56443b(_0x146f6e),_0x3a7e4c[_0x1a4e('0x27b7')]=_0x56674b,_0x18c329['useCaseSensitiveFileNames']()){var _0x18e970=_0x2327c6[_0x1a4e('0x2b2')](),_0x41133a=_0x15efe9['get'](_0x18e970);_0x41133a?_0x553167(_0x146f6e,_0x41133a['fileName'],_0xf79407,_0x2c9ec9,_0x420b32):_0x15efe9[_0x1a4e('0x17a')](_0x18e970,_0x3a7e4c);}_0x5437b2=_0x5437b2||_0x3a7e4c['hasNoDefaultLib']&&!_0x1adc17,_0x3e5a4f[_0x1a4e('0x23f2')]||(_0x28422f(_0x3a7e4c,_0x55ff7e),_0x94c445(_0x3a7e4c)),_0x59c551(_0x3a7e4c),_0x24d4a9(_0x3a7e4c),_0x55ff7e?_0x3f90ea['push'](_0x3a7e4c):_0x40b791['push'](_0x3a7e4c);}return _0x3a7e4c;}function _0x52f628(_0x368e5a,_0x146f6e,_0x2327c6){_0x219212['set'](_0x146f6e,_0x368e5a),_0x2327c6&&_0x219212[_0x1a4e('0x17a')](_0x2327c6,_0x368e5a);}function _0x3b548f(_0x146f6e){if(_0x1d3728&&_0x1d3728['length']&&!_0x368e5a[_0x1a4e('0x175b')](_0x146f6e,'.d.ts')&&_0x368e5a[_0x1a4e('0x175c')](_0x146f6e,_0x368e5a[_0x1a4e('0x25c7')])){var _0x2327c6=_0x1cb161(_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0x2327c6['commandLine'][_0x1a4e('0x8dc')][_0x1a4e('0x2445')]||_0x2327c6[_0x1a4e('0x27f2')][_0x1a4e('0x8dc')][_0x1a4e('0x303')];return _0x55ff7e?_0x368e5a['changeExtension'](_0x55ff7e,_0x1a4e('0x1a83')):_0x368e5a[_0x1a4e('0x3020')](_0x146f6e,_0x2327c6[_0x1a4e('0x27f2')]);}}}function _0x1cb161(_0x146f6e){void 0x0===_0x3b49a8&&(_0x3b49a8=_0x368e5a[_0x1a4e('0x1772')](),_0x37cd33(function(_0x368e5a,_0x146f6e){_0x368e5a&&_0x56443b(_0x3e5a4f[_0x1a4e('0x2304')])!==_0x146f6e&&_0x368e5a[_0x1a4e('0x27f2')][_0x1a4e('0x2708')][_0x1a4e('0x3b')](function(_0x368e5a){return _0x3b49a8[_0x1a4e('0x17a')](_0x56443b(_0x368e5a),_0x146f6e);});}));var _0x2327c6=_0x3b49a8[_0x1a4e('0x179')](_0x56443b(_0x146f6e));return _0x2327c6&&_0x4d1b32(_0x2327c6);}function _0x37cd33(_0x368e5a){return _0x43f077(_0x2cd3c7,_0x1d3728,function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x56443b(_0x6ce618((_0x55ff7e?_0x55ff7e['commandLine']['projectReferences']:_0x2cd3c7)[_0x2327c6]));return _0x368e5a(_0x146f6e,_0x1adc17);});}function _0x43f077(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407;return function _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32){if(_0x420b32){var _0x1b06ad=_0x420b32(_0x2327c6,_0x1adc17);if(_0x1b06ad)return _0x1b06ad;}return _0x368e5a[_0x1a4e('0x3b')](_0x55ff7e,function(_0x2327c6,_0x55ff7e){if(!_0x368e5a[_0x1a4e('0x2ac')](_0xf79407,_0x2327c6)){var _0x1b06ad=_0x2c9ec9(_0x2327c6,_0x55ff7e,_0x1adc17);if(_0x1b06ad)return _0x1b06ad;if(_0x2327c6)return(_0xf79407||(_0xf79407=[]))[_0x1a4e('0x46')](_0x2327c6),_0x146f6e(_0x2327c6['commandLine'][_0x1a4e('0x2fc8')],_0x2327c6['references'],_0x2327c6,_0x2c9ec9,_0x420b32);}});}(_0x146f6e,_0x2327c6,void 0x0,_0x55ff7e,_0x1adc17);}function _0x4d1b32(_0x368e5a){if(_0x159cbb)return _0x159cbb[_0x1a4e('0x179')](_0x368e5a)||void 0x0;}function _0x28422f(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2617')],function(_0x368e5a){_0x33cf97(_0x55ff7e(_0x368e5a[_0x1a4e('0x1b39')],_0x146f6e['originalFileName']),_0x2327c6,!0x1,void 0x0,_0x146f6e,_0x368e5a[_0x1a4e('0xa4')],_0x368e5a[_0x1a4e('0xca')]);});}function _0x94c445(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x2618')],function(_0x368e5a){return _0x368e5a['fileName'][_0x1a4e('0x2f1d')]();});if(_0x2327c6)for(var _0x55ff7e=_0x3544cc(_0x2327c6,_0x146f6e['originalFileName'],_0x1cb161(_0x146f6e[_0x1a4e('0x27b7')])),_0x1adc17=0x0;_0x1adc17<_0x2327c6[_0x1a4e('0x1e')];_0x1adc17++){var _0xf79407=_0x146f6e[_0x1a4e('0x2618')][_0x1adc17],_0x2c9ec9=_0x55ff7e[_0x1adc17],_0x420b32=_0xf79407[_0x1a4e('0x1b39')]['toLocaleLowerCase']();_0x368e5a['setResolvedTypeReferenceDirective'](_0x146f6e,_0x420b32,_0x2c9ec9),_0x275d43(_0x420b32,_0x2c9ec9,_0x146f6e,_0xf79407[_0x1a4e('0xa4')],_0xf79407[_0x1a4e('0xca')]);}}function _0x275d43(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x120eda['get'](_0x146f6e);if(!_0x2c9ec9||!_0x2c9ec9[_0x1a4e('0x231f')]){var _0x420b32=!0x0;_0x2327c6?(_0x2327c6[_0x1a4e('0x2318')]&&_0x186ffd++,_0x2327c6['primary']?_0x33cf97(_0x2327c6['resolvedFileName'],!0x1,!0x1,_0x2327c6[_0x1a4e('0x27d5')],_0x55ff7e,_0x1adc17,_0xf79407):_0x2c9ec9?(_0x2327c6[_0x1a4e('0x231a')]!==_0x2c9ec9['resolvedFileName']&&_0x18c329[_0x1a4e('0x16b8')](_0x2327c6['resolvedFileName'])!==_0x353585(_0x2c9ec9[_0x1a4e('0x231a')])[_0x1a4e('0xe04')]&&_0x3074bc[_0x1a4e('0x177')](_0x28ba32(_0x55ff7e,_0x1adc17,_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3021')],_0x146f6e,_0x2327c6[_0x1a4e('0x231a')],_0x2c9ec9[_0x1a4e('0x231a')])),_0x420b32=!0x1):_0x33cf97(_0x2327c6[_0x1a4e('0x231a')],!0x1,!0x1,_0x2327c6[_0x1a4e('0x27d5')],_0x55ff7e,_0x1adc17,_0xf79407),_0x2327c6[_0x1a4e('0x2318')]&&_0x186ffd--):_0x3074bc[_0x1a4e('0x177')](_0x28ba32(_0x55ff7e,_0x1adc17,_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3022')],_0x146f6e)),_0x420b32&&_0x120eda[_0x1a4e('0x17a')](_0x146f6e,_0x2327c6);}}function _0x59c551(_0x146f6e){_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2619')],function(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x1b39')][_0x1a4e('0x2f1d')](),_0x1adc17=_0x368e5a[_0x1a4e('0x271b')][_0x1a4e('0x179')](_0x55ff7e);if(_0x1adc17)_0x2720ab(_0x368e5a[_0x1a4e('0x1673')](_0x5628b4,_0x1adc17),!0x0,!0x0);else{var _0xf79407=_0x368e5a[_0x1a4e('0x1758')](_0x368e5a[_0x1a4e('0x1764')](_0x55ff7e,_0x1a4e('0x3004')),_0x1a4e('0x1a83')),_0x2c9ec9=_0x368e5a[_0x1a4e('0x1757')](_0xf79407,_0x368e5a[_0x1a4e('0x271a')],_0x368e5a['identity']),_0x420b32=_0x2c9ec9?_0x368e5a[_0x1a4e('0x167d')]['Cannot_find_lib_definition_for_0_Did_you_mean_1']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3023')];_0x3074bc['add'](_0x28ba32(_0x146f6e,_0x2327c6[_0x1a4e('0xa4')],_0x2327c6[_0x1a4e('0xca')],_0x420b32,_0x55ff7e,_0x2c9ec9));}});}function _0x28ba32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=[],_0x2c9ec9=0x4;_0x2c9ec9_0x1e65d3,_0x49bb3b=_0x326eae&&!_0x5c3187(_0x3e5a4f,_0xf79407)&&!_0x3e5a4f[_0x1a4e('0x23f2')]&&_0x1adc17<_0x146f6e[_0x1a4e('0x10ca')]['length']&&!_0x56674b&&!(_0x420b32&&!_0x3e5a4f[_0x1a4e('0x25cb')])&&(_0x368e5a[_0x1a4e('0x24e1')](_0x146f6e[_0x1a4e('0x10ca')][_0x1adc17])||!(0x200000&_0x146f6e[_0x1a4e('0x10ca')][_0x1adc17][_0x1a4e('0x7b2')]));_0x56674b?_0x4fb597[_0x1a4e('0x17a')](_0x146f6e[_0x1a4e('0x64')],!0x0):_0x49bb3b&&_0x37e8aa(_0x326eae,_0x56443b(_0x326eae),!0x1,!0x1,_0x146f6e,_0x368e5a['skipTrivia'](_0x146f6e[_0x1a4e('0xe04')],_0x146f6e[_0x1a4e('0x10ca')][_0x1adc17]['pos']),_0x146f6e['imports'][_0x1adc17][_0x1a4e('0xca')],_0xf79407[_0x1a4e('0x27d5')]),_0x2c9ec9&&_0x186ffd--;}}}else _0x146f6e['resolvedModules']=void 0x0;}function _0x59cbff(_0x146f6e,_0x2327c6){for(var _0x55ff7e=!0x0,_0x1adc17=_0x18c329[_0x1a4e('0x241a')](_0x368e5a['getNormalizedAbsolutePath'](_0x2327c6,_0x17012e)),_0xf79407=0x0,_0x2c9ec9=_0x146f6e;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x420b32[_0x1a4e('0x2423')]||0x0!==_0x18c329[_0x1a4e('0x241a')](_0x368e5a[_0x1a4e('0x22ea')](_0x420b32['fileName'],_0x17012e))['indexOf'](_0x1adc17)&&(_0x584820[_0x1a4e('0x177')](_0x368e5a['createCompilerDiagnostic'](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3024')],_0x420b32[_0x1a4e('0x1b39')],_0x2327c6)),_0x55ff7e=!0x1);}return _0x55ff7e;}function _0xe76c86(_0x146f6e){_0x159cbb||(_0x159cbb=_0x368e5a[_0x1a4e('0x1772')]());var _0x2327c6=_0x6ce618(_0x146f6e),_0x55ff7e=_0x56443b(_0x2327c6),_0x1adc17=_0x159cbb[_0x1a4e('0x179')](_0x55ff7e);if(void 0x0!==_0x1adc17)return _0x1adc17||void 0x0;var _0xf79407=_0x368e5a[_0x1a4e('0x22ea')](_0x368e5a[_0x1a4e('0x1671')](_0x2327c6),_0x18c329[_0x1a4e('0x241c')]()),_0x2c9ec9=_0x18c329[_0x1a4e('0x288f')](_0x2327c6,0x64);if(_0x52f628(_0x2c9ec9,_0x55ff7e,void 0x0),void 0x0!==_0x2c9ec9){_0x2c9ec9[_0x1a4e('0x64')]=_0x55ff7e,_0x2c9ec9['resolvedPath']=_0x55ff7e,_0x2c9ec9['originalFileName']=_0x2327c6;var _0x420b32=_0x368e5a['parseJsonSourceFileConfigFileContent'](_0x2c9ec9,_0x385ef6,_0xf79407,void 0x0,_0x2327c6),_0x1b06ad={'commandLine':_0x420b32,'sourceFile':_0x2c9ec9};return _0x159cbb[_0x1a4e('0x17a')](_0x55ff7e,_0x1b06ad),_0x420b32[_0x1a4e('0x2fc8')]&&(_0x1b06ad[_0x1a4e('0x2702')]=_0x420b32[_0x1a4e('0x2fc8')][_0x1a4e('0x21')](_0xe76c86)),_0x1b06ad;}_0x159cbb[_0x1a4e('0x17a')](_0x55ff7e,!0x1);}function _0x5be397(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){for(var _0x420b32=!0x0,_0x1b06ad=0x0,_0x326eae=_0x457642();_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];if(_0x368e5a[_0x1a4e('0x236f')](_0x56674b[_0x1a4e('0x236a')]))for(var _0x49bb3b=0x0,_0x3f90ea=_0x368e5a[_0x1a4e('0x2394')](_0x56674b[_0x1a4e('0x236a')],_0x146f6e);_0x49bb3b<_0x3f90ea['length'];_0x49bb3b++){var _0x40b791=_0x3f90ea[_0x49bb3b][_0x1a4e('0x236a')];_0x368e5a[_0x1a4e('0x2397')](_0x40b791)&&_0x40b791[_0x1a4e('0x2398')]['length']>_0x2327c6&&(_0x584820[_0x1a4e('0x177')](_0x368e5a['createDiagnosticForNodeInSourceFile'](_0x3e5a4f[_0x1a4e('0x2fca')],_0x40b791[_0x1a4e('0x2398')][_0x2327c6],_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9)),_0x420b32=!0x1);}}_0x420b32&&_0x584820['add'](_0x368e5a['createCompilerDiagnostic'](_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9));}function _0x3f88ca(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=!0x0,_0x2c9ec9=0x0,_0x420b32=_0x457642();_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x368e5a['isObjectLiteralExpression'](_0x1b06ad['initializer'])&&_0x3855bc(_0x1b06ad[_0x1a4e('0x236a')],_0x146f6e,_0x2327c6,void 0x0,_0x55ff7e,_0x1adc17)&&(_0xf79407=!0x1);}_0xf79407&&_0x584820[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x166d')](_0x55ff7e,_0x1adc17));}function _0x457642(){return function(_0x146f6e){var _0x2327c6=_0x3cb00c();if(_0x2327c6)return _0x368e5a[_0x1a4e('0x2394')](_0x2327c6,_0x146f6e);}('paths')||_0x368e5a[_0x1a4e('0x1700')];}function _0x3b76f2(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){_0x13925a(!0x0,_0x146f6e,_0x2327c6,_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);}function _0x4f5023(_0x368e5a,_0x146f6e,_0x2327c6){_0x13925a(!0x1,_0x368e5a,void 0x0,_0x146f6e,_0x2327c6);}function _0x23397f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1703')](_0x368e5a['getTsConfigPropArray'](_0x146f6e||_0x3e5a4f['configFile'],_0x1a4e('0x2702')),function(_0x146f6e){return _0x368e5a['isArrayLiteralExpression'](_0x146f6e[_0x1a4e('0x236a')])?_0x146f6e[_0x1a4e('0x236a')]:void 0x0;});_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x2398')]['length']>_0x2327c6?_0x584820['add'](_0x368e5a[_0x1a4e('0x2356')](_0x146f6e||_0x3e5a4f[_0x1a4e('0x2fca')],_0x2c9ec9[_0x1a4e('0x2398')][_0x2327c6],_0x55ff7e,_0x1adc17,_0xf79407)):_0x584820[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x166d')](_0x55ff7e,_0x1adc17,_0xf79407));}function _0x13925a(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x3cb00c();(!_0x1b06ad||!_0x3855bc(_0x1b06ad,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32))&&_0x584820['add'](_0x368e5a[_0x1a4e('0x166d')](_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32));}function _0x3cb00c(){if(void 0x0===_0x5d7a6e){_0x5d7a6e=null;var _0x146f6e=_0x368e5a[_0x1a4e('0x2395')](_0x3e5a4f[_0x1a4e('0x2fca')]);if(_0x146f6e)for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2394')](_0x146f6e,_0x1a4e('0x2706'));_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(_0x368e5a[_0x1a4e('0x236f')](_0x1adc17[_0x1a4e('0x236a')])){_0x5d7a6e=_0x1adc17[_0x1a4e('0x236a')];break;}}}return _0x5d7a6e;}function _0x3855bc(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){for(var _0x326eae=_0x368e5a[_0x1a4e('0x2394')](_0x146f6e,_0x55ff7e,_0x1adc17),_0x56674b=0x0,_0x49bb3b=_0x326eae;_0x56674b<_0x49bb3b['length'];_0x56674b++){var _0x3f90ea=_0x49bb3b[_0x56674b];_0x584820[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x2356')](_0x3e5a4f[_0x1a4e('0x2fca')],_0x2327c6?_0x3f90ea[_0x1a4e('0x2cb')]:_0x3f90ea['initializer'],_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad));}return!!_0x326eae[_0x1a4e('0x1e')];}function _0x283cb4(_0x368e5a,_0x146f6e){_0x4a96df['set'](_0x56443b(_0x368e5a),!0x0),_0x584820['add'](_0x146f6e);}function _0x127579(_0x146f6e,_0x2327c6){return 0x0===_0x368e5a[_0x1a4e('0x25aa')](_0x146f6e,_0x2327c6,_0x17012e,!_0x18c329[_0x1a4e('0x1b40')]());}},_0x368e5a[_0x1a4e('0x3025')]=_0x41133a,_0x368e5a[_0x1a4e('0x3026')]=_0x6ce618,_0x368e5a[_0x1a4e('0x2972')]=_0x5c3187;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x3027')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=[],_0x2c9ec9=_0x368e5a[_0x1a4e('0xd8c')](_0x146f6e,function(_0x368e5a,_0x146f6e,_0x2327c6){_0xf79407[_0x1a4e('0x46')]({'name':_0x368e5a,'writeByteOrderMark':_0x2327c6,'text':_0x146f6e});},_0x55ff7e,_0x2327c6,_0x1adc17);return{'outputFiles':_0xf79407,'emitSkipped':_0x2c9ec9[_0x1a4e('0x3028')],'exportedModulesFromDeclarationEmit':_0x2c9ec9['exportedModulesFromDeclarationEmit']};};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e){if(_0x146f6e[_0x1a4e('0x22e5')]&&_0x146f6e[_0x1a4e('0x22e5')][0x0]){var _0x2327c6=_0x368e5a['getSourceFileOfNode'](_0x146f6e['declarations'][0x0]);return _0x2327c6&&_0x2327c6[_0x1a4e('0x27b6')];}}function _0x55ff7e(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3029')](_0x146f6e);return _0x55ff7e&&_0x2327c6(_0x55ff7e);}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x1087')](_0x146f6e[_0x1a4e('0x302a')](_0x2327c6)||_0x2327c6,_0x55ff7e,_0x1adc17);}function _0xf79407(_0x146f6e,_0x2327c6,_0xf79407){var _0x2c9ec9;if(_0x2327c6[_0x1a4e('0x10ca')]&&_0x2327c6[_0x1a4e('0x10ca')][_0x1a4e('0x1e')]>0x0)for(var _0x420b32=_0x146f6e['getTypeChecker'](),_0x1b06ad=0x0,_0x326eae=_0x2327c6[_0x1a4e('0x10ca')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x55ff7e(_0x420b32,_0x326eae[_0x1b06ad]);_0x56674b&&_0x427286(_0x56674b);}var _0x1098df=_0x368e5a['getDirectoryPath'](_0x2327c6[_0x1a4e('0x64')]);if(_0x2327c6[_0x1a4e('0x2617')]&&_0x2327c6[_0x1a4e('0x2617')][_0x1a4e('0x1e')]>0x0)for(var _0x3cd8a2=0x0,_0x1570c5=_0x2327c6[_0x1a4e('0x2617')];_0x3cd8a2<_0x1570c5['length'];_0x3cd8a2++){var _0xbfc3a7=_0x1570c5[_0x3cd8a2];_0x427286(_0x1adc17(_0x146f6e,_0xbfc3a7[_0x1a4e('0x1b39')],_0x1098df,_0xf79407));}if(_0x2327c6[_0x1a4e('0x2315')]&&_0x2327c6['resolvedTypeReferenceDirectiveNames'][_0x1a4e('0x3b')](function(_0x368e5a){if(_0x368e5a){var _0x2327c6=_0x368e5a[_0x1a4e('0x231a')];_0x427286(_0x1adc17(_0x146f6e,_0x2327c6,_0x1098df,_0xf79407));}}),_0x2327c6['moduleAugmentations'][_0x1a4e('0x1e')]){_0x420b32=_0x146f6e[_0x1a4e('0x302b')]();for(var _0x3513f4=0x0,_0x5c61cd=_0x2327c6['moduleAugmentations'];_0x3513f4<_0x5c61cd[_0x1a4e('0x1e')];_0x3513f4++){var _0x44139f=_0x5c61cd[_0x3513f4];if(_0x368e5a[_0x1a4e('0x2374')](_0x44139f)){var _0xc8f2b9=_0x420b32['getSymbolAtLocation'](_0x44139f);_0xc8f2b9&&_0x475484(_0xc8f2b9);}}}for(var _0x5d08a0=0x0,_0x23539c=_0x146f6e['getTypeChecker']()['getAmbientModules']();_0x5d08a0<_0x23539c[_0x1a4e('0x1e')];_0x5d08a0++){var _0x485aa7=_0x23539c[_0x5d08a0];_0x485aa7[_0x1a4e('0x22e5')][_0x1a4e('0x1e')]>0x1&&_0x475484(_0x485aa7);}return _0x2c9ec9;function _0x475484(_0x146f6e){for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e['declarations'];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e],_0x2c9ec9=_0x368e5a[_0x1a4e('0x1674')](_0xf79407);_0x2c9ec9&&_0x2c9ec9!==_0x2327c6&&_0x427286(_0x2c9ec9[_0x1a4e('0x27b6')]);}}function _0x427286(_0x146f6e){_0x2c9ec9||(_0x2c9ec9=_0x368e5a['createMap']()),_0x2c9ec9[_0x1a4e('0x17a')](_0x146f6e,!0x0);}}function _0x2c9ec9(_0x368e5a,_0x146f6e){return _0x146f6e&&!_0x146f6e[_0x1a4e('0x302c')]==!_0x368e5a;}function _0x420b32(_0x368e5a,_0x146f6e){_0x146f6e[_0x1a4e('0x3b')](function(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x302d')]['get'](_0x2327c6)[_0x1a4e('0xabc')]=_0x146f6e,_0x368e5a['hasCalledUpdateShapeSignature'][_0x1a4e('0x17a')](_0x2327c6,!0x0);});}function _0x1b06ad(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x1adc17),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x1b06ad||!!_0x146f6e[_0x1a4e('0x302e')],_0x1a4e('0x302f')),_0x146f6e[_0x1a4e('0x3030')]['has'](_0x1adc17[_0x1a4e('0x64')])||_0xf79407['has'](_0x1adc17[_0x1a4e('0x64')]))return!0x1;var _0x326eae=_0x146f6e[_0x1a4e('0x302d')][_0x1a4e('0x179')](_0x1adc17[_0x1a4e('0x64')]);if(!_0x326eae)return _0x368e5a['Debug'][_0x1a4e('0x1709')]();var _0x56674b,_0x40e783=_0x326eae[_0x1a4e('0xabc')];if(_0x1adc17[_0x1a4e('0x2423')]){if(_0x56674b=_0x1adc17[_0x1a4e('0xb98')],_0x1b06ad&&_0x56674b!==_0x40e783){var _0x37327f=_0x146f6e[_0x1a4e('0x302c')]?_0x146f6e[_0x1a4e('0x302c')][_0x1a4e('0x179')](_0x1adc17[_0x1a4e('0x64')]):void 0x0;_0x1b06ad[_0x1a4e('0x17a')](_0x1adc17[_0x1a4e('0x64')],_0x37327f||!0x1);}}else{var _0x18aa18=_0x368e5a[_0x1a4e('0x3027')](_0x55ff7e,_0x1adc17,!0x0,_0x2c9ec9);_0x18aa18['outputFiles']&&_0x18aa18[_0x1a4e('0x3031')][_0x1a4e('0x1e')]>0x0?(_0x56674b=_0x420b32(_0x18aa18['outputFiles'][0x0][_0x1a4e('0xe04')]),_0x1b06ad&&_0x56674b!==_0x40e783&&function(_0x146f6e,_0x55ff7e,_0x1adc17){if(!_0x55ff7e)return void _0x1adc17['set'](_0x146f6e[_0x1a4e('0x64')],!0x1);var _0xf79407;_0x55ff7e[_0x1a4e('0x3b')](function(_0x146f6e){var _0x55ff7e;(_0x55ff7e=_0x2327c6(_0x146f6e))&&(_0xf79407||(_0xf79407=_0x368e5a[_0x1a4e('0x1772')]()),_0xf79407[_0x1a4e('0x17a')](_0x55ff7e,!0x0));}),_0x1adc17[_0x1a4e('0x17a')](_0x146f6e[_0x1a4e('0x64')],_0xf79407||!0x1);}(_0x1adc17,_0x18aa18[_0x1a4e('0x2f17')],_0x1b06ad)):_0x56674b=_0x40e783;}return _0xf79407['set'](_0x1adc17[_0x1a4e('0x64')],_0x56674b),!_0x40e783||_0x56674b!==_0x40e783;}function _0x326eae(_0x146f6e,_0x2327c6){if(!_0x146f6e['allFileNames']){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2447')]();_0x146f6e[_0x1a4e('0x3032')]=_0x55ff7e===_0x368e5a[_0x1a4e('0x1700')]?_0x368e5a[_0x1a4e('0x1700')]:_0x55ff7e[_0x1a4e('0x21')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x1b39')];});}return _0x146f6e[_0x1a4e('0x3032')];}function _0x56674b(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1729')](_0x368e5a[_0x1a4e('0x1714')](_0x146f6e[_0x1a4e('0x302c')][_0x1a4e('0x3c3')](),function(_0x368e5a){var _0x146f6e=_0x368e5a[0x0];return _0x368e5a[0x1][_0x1a4e('0x178')](_0x2327c6)?_0x146f6e:void 0x0;}));}function _0x50d2d3(_0x146f6e){return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x2940')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2343')](_0x146f6e[_0x1a4e('0x11c')]);});}(_0x146f6e)||!_0x368e5a[_0x1a4e('0x22f1')](_0x146f6e)&&!function(_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e['statements'];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];if(!_0x368e5a[_0x1a4e('0x233d')](_0x1adc17))return!0x1;}return!0x0;}(_0x146f6e);}function _0x225c10(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e[_0x1a4e('0x3033')])return _0x146f6e[_0x1a4e('0x3033')];var _0x1adc17;_0x1b06ad(_0x55ff7e);for(var _0xf79407=0x0,_0x2c9ec9=_0x2327c6[_0x1a4e('0x2447')]();_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x420b32!==_0x55ff7e&&_0x1b06ad(_0x420b32);}return _0x146f6e[_0x1a4e('0x3033')]=_0x1adc17||_0x368e5a[_0x1a4e('0x1700')],_0x146f6e['allFilesExcludingDefaultLibraryFile'];function _0x1b06ad(_0x368e5a){_0x2327c6[_0x1a4e('0x3034')](_0x368e5a)||(_0x1adc17||(_0x1adc17=[]))['push'](_0x368e5a);}}_0x146f6e[_0x1a4e('0x3035')]=_0x2c9ec9,_0x146f6e['create']=function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x368e5a[_0x1a4e('0x1772')](),_0x420b32=_0x146f6e[_0x1a4e('0x23f1')]()[_0x1a4e('0xa6c')]!==_0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1733')]?_0x368e5a[_0x1a4e('0x1772')]():void 0x0,_0x1b06ad=_0x420b32?_0x368e5a[_0x1a4e('0x1772')]():void 0x0,_0x326eae=_0x368e5a[_0x1a4e('0x1772')](),_0x56674b=_0x2c9ec9(_0x420b32,_0x55ff7e),_0x50d2d3=0x0,_0x225c10=_0x146f6e['getSourceFiles']();_0x50d2d3<_0x225c10[_0x1a4e('0x1e')];_0x50d2d3++){var _0xcdd68f=_0x225c10[_0x50d2d3],_0x12c02e=_0xcdd68f[_0x1a4e('0xb98')],_0x6771a7=_0x56674b?_0x55ff7e[_0x1a4e('0x302d')][_0x1a4e('0x179')](_0xcdd68f[_0x1a4e('0x64')]):void 0x0;if(_0x420b32){var _0x6a48f0=_0xf79407(_0x146f6e,_0xcdd68f,_0x2327c6);if(_0x6a48f0&&_0x420b32[_0x1a4e('0x17a')](_0xcdd68f[_0x1a4e('0x64')],_0x6a48f0),_0x56674b){var _0x2e07e2=_0x55ff7e[_0x1a4e('0x302e')][_0x1a4e('0x179')](_0xcdd68f['path']);_0x2e07e2&&_0x1b06ad['set'](_0xcdd68f['path'],_0x2e07e2);}}_0x1adc17['set'](_0xcdd68f[_0x1a4e('0x64')],{'version':_0x12c02e,'signature':_0x6771a7&&_0x6771a7['signature']});}return{'fileInfos':_0x1adc17,'referencedMap':_0x420b32,'exportedModulesMap':_0x1b06ad,'hasCalledUpdateShapeSignature':_0x326eae,'allFilesExcludingDefaultLibraryFile':void 0x0,'allFileNames':void 0x0};},_0x146f6e[_0x1a4e('0x3036')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x326eae){var _0x38672f=_0x2c9ec9||_0x368e5a[_0x1a4e('0x1772')](),_0x1bdd5c=_0x2327c6['getSourceFileByPath'](_0x55ff7e);if(!_0x1bdd5c)return _0x368e5a[_0x1a4e('0x1700')];if(!_0x1b06ad(_0x146f6e,_0x2327c6,_0x1bdd5c,_0x38672f,_0x1adc17,_0xf79407,_0x326eae))return[_0x1bdd5c];var _0x4689e2=(_0x146f6e[_0x1a4e('0x302c')]?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){if(_0x50d2d3(_0x55ff7e))return _0x225c10(_0x146f6e,_0x2327c6,_0x55ff7e);var _0x326eae=_0x2327c6[_0x1a4e('0x23f1')]();if(_0x326eae&&(_0x326eae[_0x1a4e('0x2347')]||_0x326eae[_0x1a4e('0x303')]||_0x326eae[_0x1a4e('0x2445')]))return[_0x55ff7e];var _0x38672f=_0x368e5a[_0x1a4e('0x1772')]();_0x38672f[_0x1a4e('0x17a')](_0x55ff7e[_0x1a4e('0x64')],_0x55ff7e);for(var _0x1bdd5c=_0x56674b(_0x146f6e,_0x55ff7e[_0x1a4e('0x64')]);_0x1bdd5c[_0x1a4e('0x1e')]>0x0;){var _0x4689e2=_0x1bdd5c[_0x1a4e('0x76')]();if(!_0x38672f[_0x1a4e('0x178')](_0x4689e2)){var _0x7b642f=_0x2327c6['getSourceFileByPath'](_0x4689e2);_0x38672f[_0x1a4e('0x17a')](_0x4689e2,_0x7b642f),_0x7b642f&&_0x1b06ad(_0x146f6e,_0x2327c6,_0x7b642f,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32)&&_0x1bdd5c[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x1bdd5c,_0x56674b(_0x146f6e,_0x4689e2));}}return _0x368e5a[_0x1a4e('0x1729')](_0x368e5a[_0x1a4e('0x1714')](_0x38672f[_0x1a4e('0x35b')](),function(_0x368e5a){return _0x368e5a;}));}:function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x23f1')]();return _0x55ff7e&&(_0x55ff7e['out']||_0x55ff7e[_0x1a4e('0x2445')])?[_0x2327c6]:_0x225c10(_0x368e5a,_0x146f6e,_0x2327c6);})(_0x146f6e,_0x2327c6,_0x1bdd5c,_0x38672f,_0x1adc17,_0xf79407,_0x326eae);return _0x2c9ec9||_0x420b32(_0x146f6e,_0x38672f),_0x4689e2;},_0x146f6e['updateSignaturesFromCache']=_0x420b32,_0x146f6e[_0x1a4e('0x3037')]=function(_0x146f6e,_0x2327c6){_0x2327c6&&(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x146f6e[_0x1a4e('0x302e')]),_0x2327c6[_0x1a4e('0x3b')](function(_0x368e5a,_0x2327c6){_0x368e5a?_0x146f6e['exportedModulesMap'][_0x1a4e('0x17a')](_0x2327c6,_0x368e5a):_0x146f6e[_0x1a4e('0x302e')][_0x1a4e('0xf4c')](_0x2327c6);}));},_0x146f6e[_0x1a4e('0x3038')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0xf79407=_0x2327c6['getCompilerOptions']();if(_0xf79407[_0x1a4e('0x2445')]||_0xf79407[_0x1a4e('0x303')])return _0x326eae(_0x146f6e,_0x2327c6);if(!_0x146f6e[_0x1a4e('0x302c')]||_0x50d2d3(_0x55ff7e))return _0x326eae(_0x146f6e,_0x2327c6);for(var _0x2c9ec9=_0x368e5a['createMap'](),_0x420b32=[_0x55ff7e[_0x1a4e('0x64')]];_0x420b32[_0x1a4e('0x1e')];){var _0x1b06ad=_0x420b32['pop']();if(!_0x2c9ec9[_0x1a4e('0x178')](_0x1b06ad)){_0x2c9ec9[_0x1a4e('0x17a')](_0x1b06ad,!0x0);var _0x56674b=_0x146f6e['referencedMap'][_0x1a4e('0x179')](_0x1b06ad);if(_0x56674b)for(var _0x225c10=_0x56674b[_0x1a4e('0x56')](),_0x4b0ebb=_0x225c10[_0x1a4e('0x7e')](),_0x53258b=_0x4b0ebb[_0x1a4e('0x255')],_0x769c48=_0x4b0ebb['done'];!_0x769c48;_0x53258b=(_0x1adc17=_0x225c10['next']())['value'],_0x769c48=_0x1adc17['done'],_0x1adc17)_0x420b32['push'](_0x53258b);}}return _0x368e5a['arrayFrom'](_0x368e5a[_0x1a4e('0x1714')](_0x2c9ec9[_0x1a4e('0x56')](),function(_0x368e5a){var _0x146f6e=_0x2327c6['getSourceFileByPath'](_0x368e5a);return _0x146f6e?_0x146f6e[_0x1a4e('0x1b39')]:_0x368e5a;}));};}(_0x368e5a[_0x1a4e('0x3039')]||(_0x368e5a[_0x1a4e('0x3039')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x3039')][_0x1a4e('0x7')](_0x146f6e,_0x2327c6,_0x55ff7e);_0x1adc17[_0x1a4e('0x303a')]=_0x146f6e;var _0xf79407=_0x146f6e['getCompilerOptions']();_0xf79407[_0x1a4e('0x2445')]||_0xf79407[_0x1a4e('0x303')]||(_0x1adc17[_0x1a4e('0x303b')]=_0x368e5a[_0x1a4e('0x1772')]()),_0x1adc17[_0x1a4e('0x303c')]=_0x368e5a['createMap']();var _0x2c9ec9=_0x368e5a[_0x1a4e('0x3039')][_0x1a4e('0x3035')](_0x1adc17[_0x1a4e('0x302c')],_0x55ff7e),_0x420b32=_0x2c9ec9?_0x55ff7e[_0x1a4e('0x303a')][_0x1a4e('0x23f1')]():void 0x0,_0x1b06ad=_0x2c9ec9&&_0x55ff7e[_0x1a4e('0x303b')]&&!!_0x1adc17[_0x1a4e('0x303b')]&&!_0x368e5a['compilerOptionsAffectSemanticDiagnostics'](_0xf79407,_0x420b32);_0x2c9ec9&&(_0x55ff7e['currentChangedFilePath']||_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!(_0x55ff7e['affectedFiles']||_0x55ff7e[_0x1a4e('0x303d')]&&_0x55ff7e['currentAffectedFilesSignatures'][_0x1a4e('0x220')]),_0x1a4e('0x303e')),_0x1b06ad&&_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x368e5a[_0x1a4e('0x2309')](_0x55ff7e[_0x1a4e('0x303c')],function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x303b')][_0x1a4e('0x178')](_0x368e5a);}),_0x1a4e('0x303f')),_0x368e5a['copyEntries'](_0x55ff7e[_0x1a4e('0x303c')],_0x1adc17[_0x1a4e('0x303c')]));var _0x326eae=_0x1adc17[_0x1a4e('0x302c')],_0x56674b=_0x2c9ec9?_0x55ff7e[_0x1a4e('0x302c')]:void 0x0,_0x52b9f8=_0x1b06ad&&!_0xf79407[_0x1a4e('0x25f3')]==!_0x420b32['skipLibCheck'],_0x32ff95=_0x52b9f8&&!_0xf79407['skipDefaultLibCheck']==!_0x420b32[_0x1a4e('0x25f4')];return _0x1adc17[_0x1a4e('0x302d')][_0x1a4e('0x3b')](function(_0x146f6e,_0x2327c6){var _0xf79407,_0x420b32,_0x249720,_0x284cc2;if(!_0x2c9ec9||!(_0xf79407=_0x55ff7e[_0x1a4e('0x302d')][_0x1a4e('0x179')](_0x2327c6))||_0xf79407[_0x1a4e('0xb98')]!==_0x146f6e[_0x1a4e('0xb98')]||(_0x249720=_0x420b32=_0x326eae&&_0x326eae[_0x1a4e('0x179')](_0x2327c6),_0x284cc2=_0x56674b&&_0x56674b['get'](_0x2327c6),_0x249720!==_0x284cc2&&(void 0x0===_0x249720||void 0x0===_0x284cc2||_0x249720['size']!==_0x284cc2[_0x1a4e('0x220')]||_0x368e5a[_0x1a4e('0x2309')](_0x249720,function(_0x368e5a){return!_0x284cc2[_0x1a4e('0x178')](_0x368e5a);})))||_0x420b32&&_0x368e5a[_0x1a4e('0x2309')](_0x420b32,function(_0x368e5a){return!_0x1adc17[_0x1a4e('0x302d')][_0x1a4e('0x178')](_0x368e5a)&&_0x55ff7e[_0x1a4e('0x302d')]['has'](_0x368e5a);}))_0x1adc17[_0x1a4e('0x303c')][_0x1a4e('0x17a')](_0x2327c6,!0x0);else if(_0x1b06ad){var _0x506c41=_0x1adc17[_0x1a4e('0x303a')][_0x1a4e('0x2fd9')](_0x2327c6);if(_0x506c41['isDeclarationFile']&&!_0x52b9f8)return;if(_0x506c41[_0x1a4e('0x261b')]&&!_0x32ff95)return;var _0x59340d=_0x55ff7e[_0x1a4e('0x303b')]['get'](_0x2327c6);_0x59340d&&(_0x1adc17[_0x1a4e('0x303b')][_0x1a4e('0x17a')](_0x2327c6,_0x59340d),_0x1adc17['semanticDiagnosticsFromOldState']||(_0x1adc17[_0x1a4e('0x3040')]=_0x368e5a[_0x1a4e('0x1772')]()),_0x1adc17[_0x1a4e('0x3040')][_0x1a4e('0x17a')](_0x2327c6,!0x0));}}),_0x1adc17;}function _0x2327c6(_0x146f6e,_0x2327c6){_0x368e5a['Debug']['assert'](!_0x2327c6||!_0x146f6e[_0x1a4e('0x3041')]||_0x146f6e[_0x1a4e('0x3041')][_0x146f6e[_0x1a4e('0x3042')]-0x1]!==_0x2327c6||!_0x146f6e[_0x1a4e('0x303b')][_0x1a4e('0x178')](_0x2327c6[_0x1a4e('0x64')]));}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){for(;;){var _0xf79407=_0x146f6e['affectedFiles'];if(_0xf79407){for(var _0x2c9ec9=_0x146f6e[_0x1a4e('0x3043')],_0x420b32=_0x146f6e[_0x1a4e('0x3042')];_0x420b32<_0xf79407[_0x1a4e('0x1e')];){var _0x1b06ad=_0xf79407[_0x420b32];if(!_0x2c9ec9[_0x1a4e('0x178')](_0x1b06ad[_0x1a4e('0x64')]))return _0x146f6e['affectedFilesIndex']=_0x420b32,_0x1adc17(_0x146f6e,_0x1b06ad),_0x1b06ad;_0x2c9ec9[_0x1a4e('0x17a')](_0x1b06ad[_0x1a4e('0x64')],!0x0),_0x420b32++;}_0x146f6e[_0x1a4e('0x303c')][_0x1a4e('0xf4c')](_0x146f6e[_0x1a4e('0x3044')]),_0x146f6e['currentChangedFilePath']=void 0x0,_0x368e5a[_0x1a4e('0x3039')][_0x1a4e('0x3045')](_0x146f6e,_0x146f6e[_0x1a4e('0x303d')]),_0x146f6e[_0x1a4e('0x303d')][_0x1a4e('0xb5')](),_0x368e5a[_0x1a4e('0x3039')]['updateExportedFilesMapFromCache'](_0x146f6e,_0x146f6e[_0x1a4e('0x3046')]),_0x146f6e['affectedFiles']=void 0x0;}var _0x326eae=_0x146f6e[_0x1a4e('0x303c')][_0x1a4e('0x56')]()['next']();if(_0x326eae[_0x1a4e('0x3c2')])return;var _0x56674b=_0x146f6e[_0x1a4e('0x303a')][_0x1a4e('0x23f1')]();if(_0x56674b['outFile']||_0x56674b[_0x1a4e('0x303')])return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x146f6e['semanticDiagnosticsPerFile']),_0x146f6e[_0x1a4e('0x303a')];_0x146f6e['currentAffectedFilesSignatures']=_0x146f6e[_0x1a4e('0x303d')]||_0x368e5a[_0x1a4e('0x1772')](),_0x146f6e[_0x1a4e('0x302e')]&&(_0x146f6e[_0x1a4e('0x3046')]=_0x146f6e[_0x1a4e('0x3046')]||_0x368e5a[_0x1a4e('0x1772')]()),_0x146f6e[_0x1a4e('0x3041')]=_0x368e5a[_0x1a4e('0x3039')][_0x1a4e('0x3036')](_0x146f6e,_0x146f6e['program'],_0x326eae[_0x1a4e('0x255')],_0x2327c6,_0x55ff7e,_0x146f6e[_0x1a4e('0x303d')],_0x146f6e[_0x1a4e('0x3046')]),_0x146f6e['currentChangedFilePath']=_0x326eae['value'],_0x146f6e[_0x1a4e('0x3042')]=0x0,_0x146f6e[_0x1a4e('0x3043')]=_0x146f6e[_0x1a4e('0x3043')]||_0x368e5a[_0x1a4e('0x1772')]();}}function _0x1adc17(_0x146f6e,_0x2327c6){if(!_0x2c9ec9(_0x146f6e,_0x2327c6[_0x1a4e('0x64')])){if(_0x146f6e[_0x1a4e('0x3033')]===_0x146f6e[_0x1a4e('0x3041')]&&!_0x146f6e[_0x1a4e('0x3047')]){_0x146f6e['cleanedDiagnosticsOfLibFiles']=!0x0;var _0x55ff7e=_0x146f6e[_0x1a4e('0x303a')]['getCompilerOptions']();if(_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x303a')][_0x1a4e('0x2447')](),function(_0x2327c6){return _0x146f6e[_0x1a4e('0x303a')][_0x1a4e('0x3034')](_0x2327c6)&&!_0x368e5a['skipTypeChecking'](_0x2327c6,_0x55ff7e)&&_0x2c9ec9(_0x146f6e,_0x2327c6[_0x1a4e('0x64')]);}))return;}if(_0x146f6e[_0x1a4e('0x302e')]&&0x1!==_0x146f6e['affectedFiles'][_0x1a4e('0x1e')]&&_0x146f6e[_0x1a4e('0x303c')][_0x1a4e('0x178')](_0x2327c6['path'])){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x146f6e[_0x1a4e('0x3046')]);var _0x1adc17=_0x368e5a[_0x1a4e('0x1772')]();_0x368e5a[_0x1a4e('0x2308')](_0x146f6e[_0x1a4e('0x3046')],function(_0x368e5a,_0x55ff7e){return _0x368e5a&&_0x368e5a[_0x1a4e('0x178')](_0x2327c6[_0x1a4e('0x64')])&&_0xf79407(_0x146f6e,_0x55ff7e,_0x1adc17);})||_0x368e5a[_0x1a4e('0x2308')](_0x146f6e['exportedModulesMap'],function(_0x368e5a,_0x55ff7e){return!_0x146f6e['currentAffectedFilesExportedModulesMap'][_0x1a4e('0x178')](_0x55ff7e)&&_0x368e5a[_0x1a4e('0x178')](_0x2327c6[_0x1a4e('0x64')])&&_0xf79407(_0x146f6e,_0x55ff7e,_0x1adc17);});}}}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['forEachEntry'](_0x146f6e['referencedMap'],function(_0x1adc17,_0xf79407){return _0x1adc17['has'](_0x2327c6)&&function _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17){if(!_0x368e5a[_0x1a4e('0x3048')](_0x1adc17,_0x55ff7e))return!0x1;if(_0x2c9ec9(_0x2327c6,_0x55ff7e))return!0x0;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x2327c6['currentAffectedFilesExportedModulesMap']);if(_0x368e5a['forEachEntry'](_0x2327c6['currentAffectedFilesExportedModulesMap'],function(_0x368e5a,_0xf79407){return _0x368e5a&&_0x368e5a['has'](_0x55ff7e)&&_0x146f6e(_0x2327c6,_0xf79407,_0x1adc17);}))return!0x0;return!!_0x368e5a[_0x1a4e('0x2308')](_0x2327c6['exportedModulesMap'],function(_0x368e5a,_0xf79407){return!_0x2327c6['currentAffectedFilesExportedModulesMap'][_0x1a4e('0x178')](_0xf79407)&&_0x368e5a[_0x1a4e('0x178')](_0x55ff7e)&&_0x146f6e(_0x2327c6,_0xf79407,_0x1adc17);});}(_0x146f6e,_0xf79407,_0x55ff7e);});}function _0x2c9ec9(_0x368e5a,_0x146f6e){return!_0x368e5a['semanticDiagnosticsFromOldState']||(_0x368e5a[_0x1a4e('0x3040')][_0x1a4e('0xf4c')](_0x146f6e),_0x368e5a[_0x1a4e('0x303b')][_0x1a4e('0xf4c')](_0x146f6e),!_0x368e5a[_0x1a4e('0x3040')]['size']);}function _0x420b32(_0x368e5a,_0x146f6e){_0x146f6e===_0x368e5a['program']?_0x368e5a[_0x1a4e('0x303c')][_0x1a4e('0xb5')]():(_0x368e5a[_0x1a4e('0x3043')][_0x1a4e('0x17a')](_0x146f6e[_0x1a4e('0x64')],!0x0),_0x368e5a[_0x1a4e('0x3042')]++);}function _0x1b06ad(_0x368e5a,_0x146f6e,_0x2327c6){return _0x420b32(_0x368e5a,_0x2327c6),{'result':_0x146f6e,'affected':_0x2327c6};}function _0x326eae(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['path'],_0x1adc17=_0x368e5a[_0x1a4e('0x303b')]['get'](_0x55ff7e);if(_0x1adc17)return _0x1adc17;var _0xf79407=_0x368e5a[_0x1a4e('0x303a')][_0x1a4e('0x2fb2')](_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0x303b')][_0x1a4e('0x17a')](_0x55ff7e,_0xf79407),_0xf79407;}var _0x56674b;!function(_0x368e5a){_0x368e5a[_0x368e5a['SemanticDiagnosticsBuilderProgram']=0x0]='SemanticDiagnosticsBuilderProgram',_0x368e5a[_0x368e5a[_0x1a4e('0x3049')]=0x1]=_0x1a4e('0x3049');}(_0x56674b=_0x368e5a[_0x1a4e('0x304a')]||(_0x368e5a['BuilderProgramKind']={})),_0x368e5a['getBuilderCreationParameters']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32,_0x1b06ad,_0x326eae;return void 0x0===_0x146f6e?(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0===_0x2327c6),_0x420b32=_0x55ff7e,_0x326eae=_0x1adc17,_0x368e5a['Debug'][_0x1a4e('0xba0')](!!_0x326eae),_0x1b06ad=_0x326eae[_0x1a4e('0x304b')]()):_0x368e5a['isArray'](_0x146f6e)?(_0x326eae=_0x1adc17,_0x1b06ad=_0x368e5a[_0x1a4e('0x2fcb')]({'rootNames':_0x146f6e,'options':_0x2327c6,'host':_0x55ff7e,'oldProgram':_0x326eae&&_0x326eae[_0x1a4e('0x304b')](),'configFileParsingDiagnostics':_0xf79407,'projectReferences':_0x2c9ec9}),_0x420b32=_0x55ff7e):(_0x1b06ad=_0x146f6e,_0x420b32=_0x2327c6,_0x326eae=_0x55ff7e,_0xf79407=_0x1adc17),{'host':_0x420b32,'newProgram':_0x1b06ad,'oldProgram':_0x326eae,'configFileParsingDiagnostics':_0xf79407||_0x368e5a[_0x1a4e('0x1700')]};},_0x368e5a[_0x1a4e('0x304c')]=function(_0x1adc17,_0xf79407){var _0x2c9ec9=_0xf79407[_0x1a4e('0x304d')],_0x32dce7=_0xf79407['host'],_0x3938e7=_0xf79407[_0x1a4e('0x2fcd')],_0x40be72=_0xf79407[_0x1a4e('0x304e')],_0x4b5e58=_0x3938e7&&_0x3938e7[_0x1a4e('0x304f')]();if(_0x4b5e58&&_0x2c9ec9===_0x4b5e58[_0x1a4e('0x303a')]&&_0x40be72===_0x2c9ec9[_0x1a4e('0x2fae')]())return _0x2c9ec9=void 0x0,_0x4b5e58=void 0x0,_0x3938e7;var _0x4640f1=_0x368e5a[_0x1a4e('0x1761')](_0x32dce7['useCaseSensitiveFileNames']()),_0x507958=_0x32dce7[_0x1a4e('0xb47')]||_0x368e5a['identity'],_0x597050=_0x146f6e(_0x2c9ec9,_0x4640f1,_0x4b5e58);_0x2c9ec9=void 0x0,_0x3938e7=void 0x0,_0x4b5e58=void 0x0;var _0x4cecbf={'getState':function(){return _0x597050;},'getProgram':function(){return _0x597050['program'];},'getCompilerOptions':function(){return _0x597050['program'][_0x1a4e('0x23f1')]();},'getSourceFile':function(_0x368e5a){return _0x597050[_0x1a4e('0x303a')][_0x1a4e('0x288f')](_0x368e5a);},'getSourceFiles':function(){return _0x597050[_0x1a4e('0x303a')][_0x1a4e('0x2447')]();},'getOptionsDiagnostics':function(_0x368e5a){return _0x597050[_0x1a4e('0x303a')][_0x1a4e('0x2faf')](_0x368e5a);},'getGlobalDiagnostics':function(_0x368e5a){return _0x597050[_0x1a4e('0x303a')][_0x1a4e('0x2fb1')](_0x368e5a);},'getConfigFileParsingDiagnostics':function(){return _0x40be72||_0x597050[_0x1a4e('0x303a')][_0x1a4e('0x2fae')]();},'getSyntacticDiagnostics':function(_0x368e5a,_0x146f6e){return _0x597050[_0x1a4e('0x303a')][_0x1a4e('0x2fb0')](_0x368e5a,_0x146f6e);},'getSemanticDiagnostics':function(_0x146f6e,_0xf79407){_0x2327c6(_0x597050,_0x146f6e);var _0x2c9ec9,_0x1b06ad=_0x597050['program']['getCompilerOptions']();if(_0x1b06ad[_0x1a4e('0x2445')]||_0x1b06ad['out'])return _0x368e5a['Debug'][_0x1a4e('0xba0')](!_0x597050['semanticDiagnosticsPerFile']),_0x597050[_0x1a4e('0x303a')]['getSemanticDiagnostics'](_0x146f6e,_0xf79407);if(_0x146f6e)return _0x326eae(_0x597050,_0x146f6e,_0xf79407);if(_0x1adc17===_0x56674b['SemanticDiagnosticsBuilderProgram'])for(var _0x32dce7=void 0x0;_0x32dce7=_0x55ff7e(_0x597050,_0xf79407,_0x507958);)_0x420b32(_0x597050,_0x32dce7);for(var _0x3938e7=0x0,_0x40be72=_0x597050[_0x1a4e('0x303a')][_0x1a4e('0x2447')]();_0x3938e7<_0x40be72[_0x1a4e('0x1e')];_0x3938e7++){var _0x4b5e58=_0x40be72[_0x3938e7];_0x2c9ec9=_0x368e5a[_0x1a4e('0x23d1')](_0x2c9ec9,_0x326eae(_0x597050,_0x4b5e58,_0xf79407));}return _0x2c9ec9||_0x368e5a[_0x1a4e('0x1700')];},'emit':function(_0x146f6e,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32){if(_0x1adc17===_0x56674b[_0x1a4e('0x3049')]&&(_0x2327c6(_0x597050,_0x146f6e),!_0x146f6e)){for(var _0x1b06ad=[],_0x326eae=!0x1,_0x3938e7=void 0x0,_0x40be72=[],_0x4b5e58=void 0x0;_0x4b5e58=_0x49f9c6(_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32);)_0x326eae=_0x326eae||_0x4b5e58[_0x1a4e('0x13f')][_0x1a4e('0x3028')],_0x3938e7=_0x368e5a[_0x1a4e('0x23d1')](_0x3938e7,_0x4b5e58[_0x1a4e('0x13f')][_0x1a4e('0x2728')]),_0x40be72=_0x368e5a[_0x1a4e('0x23d1')](_0x40be72,_0x4b5e58[_0x1a4e('0x13f')][_0x1a4e('0x3050')]),_0x1b06ad=_0x368e5a[_0x1a4e('0x23d1')](_0x1b06ad,_0x4b5e58[_0x1a4e('0x13f')][_0x1a4e('0x3051')]);return{'emitSkipped':_0x326eae,'diagnostics':_0x3938e7||_0x368e5a[_0x1a4e('0x1700')],'emittedFiles':_0x40be72,'sourceMaps':_0x1b06ad};}return _0x597050['program'][_0x1a4e('0xd8c')](_0x146f6e,_0x55ff7e||_0x32dce7[_0x1a4e('0x16b7')],_0xf79407,_0x2c9ec9,_0x420b32);},'getAllDependencies':function(_0x146f6e){return _0x368e5a['BuilderState'][_0x1a4e('0x3038')](_0x597050,_0x597050[_0x1a4e('0x303a')],_0x146f6e);},'getCurrentDirectory':function(){return _0x597050['program'][_0x1a4e('0x241c')]();}};return _0x1adc17===_0x56674b[_0x1a4e('0x3052')]?_0x4cecbf[_0x1a4e('0x3053')]=function(_0x368e5a,_0x146f6e){for(;;){var _0x2327c6=_0x55ff7e(_0x597050,_0x368e5a,_0x507958);if(!_0x2327c6)return;if(_0x2327c6===_0x597050[_0x1a4e('0x303a')])return _0x1b06ad(_0x597050,_0x597050[_0x1a4e('0x303a')][_0x1a4e('0x2fb2')](void 0x0,_0x368e5a),_0x2327c6);if(!_0x146f6e||!_0x146f6e(_0x2327c6))return _0x1b06ad(_0x597050,_0x326eae(_0x597050,_0x2327c6,_0x368e5a),_0x2327c6);_0x420b32(_0x597050,_0x2327c6);}}:_0x1adc17===_0x56674b[_0x1a4e('0x3049')]?_0x4cecbf['emitNextAffectedFile']=_0x49f9c6:_0x368e5a['notImplemented'](),_0x4cecbf;function _0x49f9c6(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17){var _0xf79407=_0x55ff7e(_0x597050,_0x146f6e,_0x507958);if(_0xf79407)return _0x1b06ad(_0x597050,_0x597050['program'][_0x1a4e('0xd8c')](_0xf79407===_0x597050[_0x1a4e('0x303a')]?void 0x0:_0xf79407,_0x368e5a||_0x32dce7[_0x1a4e('0x16b7')],_0x146f6e,_0x2327c6,_0x1adc17),_0xf79407);}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a['createSemanticDiagnosticsBuilderProgram']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x304c')](_0x368e5a[_0x1a4e('0x304a')]['SemanticDiagnosticsBuilderProgram'],_0x368e5a[_0x1a4e('0x3054')](_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9));},_0x368e5a[_0x1a4e('0x3055')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x304c')](_0x368e5a[_0x1a4e('0x304a')][_0x1a4e('0x3049')],_0x368e5a[_0x1a4e('0x3054')](_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9));},_0x368e5a[_0x1a4e('0x3056')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x3054')](_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9)[_0x1a4e('0x304d')];return{'getProgram':function(){return _0x420b32;},'getState':_0x368e5a['notImplemented'],'getCompilerOptions':_0x368e5a['notImplemented'],'getSourceFile':_0x368e5a[_0x1a4e('0x1732')],'getSourceFiles':_0x368e5a[_0x1a4e('0x1732')],'getOptionsDiagnostics':_0x368e5a[_0x1a4e('0x1732')],'getGlobalDiagnostics':_0x368e5a[_0x1a4e('0x1732')],'getConfigFileParsingDiagnostics':_0x368e5a[_0x1a4e('0x1732')],'getSyntacticDiagnostics':_0x368e5a['notImplemented'],'getSemanticDiagnostics':_0x368e5a[_0x1a4e('0x1732')],'emit':_0x368e5a[_0x1a4e('0x1732')],'getAllDependencies':_0x368e5a[_0x1a4e('0x1732')],'getCurrentDirectory':_0x368e5a[_0x1a4e('0x1732')]};};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e){return _0x368e5a['stringContains'](_0x146f6e,'/node_modules/.');}_0x368e5a[_0x1a4e('0x3057')]=_0x146f6e,_0x368e5a['maxNumberOfFilesToIterateForInvalidation']=0x100,_0x368e5a[_0x1a4e('0x3058')]=function(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad=!0x1,_0x326eae=_0x368e5a[_0x1a4e('0x1b3e')](),_0x56674b=_0x368e5a[_0x1a4e('0x2fa4')](function(){return _0x2327c6[_0x1a4e('0x241c')]();}),_0x17e5bd=_0x2327c6[_0x1a4e('0x3059')](),_0x23debb=_0x368e5a['createMap'](),_0x57d017=_0x368e5a['createCacheWithRedirects'](),_0x346b9a=_0x368e5a['createCacheWithRedirects'](),_0x1785f1=_0x368e5a[_0x1a4e('0x27fe')](_0x57d017,_0x346b9a,_0x56674b(),_0x2327c6[_0x1a4e('0x241a')]),_0x1f57d9=_0x368e5a[_0x1a4e('0x1772')](),_0xe0678a=_0x368e5a['createCacheWithRedirects'](),_0x3a4e84=[_0x1a4e('0x25be'),'.tsx',_0x1a4e('0x1a84'),_0x1a4e('0x1a86'),_0x1a4e('0x1a87')],_0x48778d=_0x368e5a[_0x1a4e('0x1772')](),_0x507dbf=_0x368e5a['createMap'](),_0x3affa5=_0x55ff7e&&_0x368e5a[_0x1a4e('0x25a7')](_0x368e5a['getNormalizedAbsolutePath'](_0x55ff7e,_0x56674b())),_0x320087=_0x3affa5&&_0x2327c6[_0x1a4e('0x1087')](_0x3affa5),_0x43553e=_0x368e5a[_0x1a4e('0x1772')]();return{'startRecordingFilesWithChangedResolutions':function(){_0xf79407=[];},'finishRecordingFilesWithChangedResolutions':function(){var _0x368e5a=_0xf79407;return _0xf79407=void 0x0,_0x368e5a;},'startCachingPerDirectoryResolution':_0x564644,'finishCachingPerDirectoryResolution':function(){_0x1b06ad=!0x1,_0x420b32=void 0x0,_0x564644(),_0x507dbf['forEach'](function(_0x368e5a,_0x146f6e){0x0===_0x368e5a[_0x1a4e('0x14ac')]&&(_0x507dbf[_0x1a4e('0xf4c')](_0x146f6e),_0x368e5a[_0x1a4e('0x2f94')][_0x1a4e('0x139b')]());});},'resolveModuleNames':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){return _0x3a70c2(_0x146f6e,_0x2327c6,_0xf79407,_0x23debb,_0x57d017,_0x60f7f1,_0x2b63bc,function(_0x146f6e){return!_0x146f6e['resolvedModule']||!_0x368e5a[_0x1a4e('0x2973')](_0x146f6e[_0x1a4e('0x2718')]['extension']);},_0x55ff7e,_0x1adc17);},'getResolvedModuleWithFailedLookupLocationsFromCache':function(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x23debb['get'](_0x2327c6[_0x1a4e('0x1087')](_0x146f6e));return _0x55ff7e&&_0x55ff7e[_0x1a4e('0x179')](_0x368e5a);},'resolveTypeReferenceDirectives':function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x3a70c2(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1f57d9,_0xe0678a,_0x368e5a[_0x1a4e('0x27f1')],_0x17250e,function(_0x368e5a){return void 0x0===_0x368e5a[_0x1a4e('0x305a')];},void 0x0,!0x1);},'removeResolutionsFromProjectReferenceRedirects':function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x175b')](_0x146f6e,'.json')){var _0x55ff7e=_0x2327c6[_0x1a4e('0x305b')]();if(_0x55ff7e){var _0x1adc17=_0x55ff7e['getResolvedProjectReferenceByPath'](_0x146f6e);_0x1adc17&&_0x1adc17[_0x1a4e('0x27f2')][_0x1a4e('0x2708')][_0x1a4e('0x3b')](function(_0x368e5a){return _0xc70f0f(_0x2327c6[_0x1a4e('0x1087')](_0x368e5a));});}}},'removeResolutionsOfFile':_0xc70f0f,'invalidateResolutionOfFile':function(_0x368e5a){_0xc70f0f(_0x368e5a),_0xe297d7(function(_0x146f6e,_0x55ff7e){var _0x1adc17=_0x55ff7e(_0x146f6e);return!!_0x1adc17&&_0x2327c6[_0x1a4e('0x1087')](_0x1adc17[_0x1a4e('0x231a')])===_0x368e5a;});},'setFilesWithInvalidatedNonRelativeUnresolvedImports':function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x420b32===_0x146f6e||void 0x0===_0x420b32),_0x420b32=_0x146f6e;},'createHasInvalidatedResolution':function(_0x146f6e){if(_0x1b06ad||_0x146f6e)return _0x2c9ec9=void 0x0,_0x368e5a[_0x1a4e('0x305c')];var _0x2327c6=_0x2c9ec9;return _0x2c9ec9=void 0x0,function(_0x368e5a){return!!_0x2327c6&&_0x2327c6[_0x1a4e('0x178')](_0x368e5a)||_0x507502(_0x368e5a);};},'updateTypeRootsWatch':function(){var _0x146f6e=_0x2327c6[_0x1a4e('0x305d')]();if(_0x146f6e[_0x1a4e('0x2380')])_0xac93a6();else{var _0x55ff7e=_0x368e5a[_0x1a4e('0x27e5')](_0x146f6e,{'directoryExists':_0x5af7c7,'getCurrentDirectory':_0x56674b});_0x55ff7e?_0x368e5a[_0x1a4e('0x2494')](_0x43553e,_0x368e5a['arrayToMap'](_0x55ff7e,function(_0x368e5a){return _0x2327c6[_0x1a4e('0x1087')](_0x368e5a);}),{'createNewValue':_0x477765,'onDeleteValue':_0x368e5a[_0x1a4e('0x1b44')]}):_0xac93a6();}},'closeTypeRootsWatch':_0xac93a6,'clear':function(){_0x368e5a[_0x1a4e('0x305e')](_0x507dbf,_0x368e5a[_0x1a4e('0x305f')]),_0x48778d[_0x1a4e('0xb5')](),_0x326eae[_0x1a4e('0xb5')](),_0xac93a6(),_0x23debb[_0x1a4e('0xb5')](),_0x1f57d9[_0x1a4e('0xb5')](),_0x1b06ad=!0x1,_0x564644();}};function _0x2b63bc(_0x368e5a){return _0x368e5a[_0x1a4e('0x2718')];}function _0x17250e(_0x368e5a){return _0x368e5a[_0x1a4e('0x305a')];}function _0x1c070b(_0x146f6e,_0x2327c6){return!(void 0x0===_0x146f6e||_0x2327c6[_0x1a4e('0x1e')]<=_0x146f6e[_0x1a4e('0x1e')])&&_0x368e5a[_0x1a4e('0xdfb')](_0x2327c6,_0x146f6e)&&_0x2327c6[_0x146f6e['length']]===_0x368e5a[_0x1a4e('0x1b42')];}function _0x507502(_0x368e5a){if(!_0x420b32)return!0x1;var _0x146f6e=_0x420b32[_0x1a4e('0x179')](_0x368e5a);return!!_0x146f6e&&!!_0x146f6e['length'];}function _0x564644(){_0x57d017[_0x1a4e('0xb5')](),_0x346b9a[_0x1a4e('0xb5')](),_0xe0678a['clear'](),_0x326eae[_0x1a4e('0x3b')](_0x1140ba),_0x326eae[_0x1a4e('0xb5')]();}function _0x60f7f1(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x2fd3')](_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x1785f1,_0x2c9ec9);if(!_0x2327c6[_0x1a4e('0x3060')])return _0x420b32;var _0x1b06ad=_0x2327c6[_0x1a4e('0x3060')]();if(!(void 0x0===_0x1b06ad||_0x368e5a[_0x1a4e('0x22dd')](_0x146f6e)||_0x420b32[_0x1a4e('0x2718')]&&_0x368e5a[_0x1a4e('0x25de')](_0x420b32[_0x1a4e('0x2718')][_0x1a4e('0x2319')]))){var _0x326eae=_0x368e5a[_0x1a4e('0x282d')](_0x146f6e,_0x2327c6[_0x1a4e('0x3061')],_0x1adc17,_0xf79407,_0x1b06ad),_0x56674b=_0x326eae['resolvedModule'],_0x17e5bd=_0x326eae['failedLookupLocations'];if(_0x56674b)return{'resolvedModule':_0x56674b,'failedLookupLocations':_0x368e5a[_0x1a4e('0x23d1')](_0x420b32[_0x1a4e('0x2809')],_0x17e5bd)};}return _0x420b32;}function _0x3a70c2(_0x146f6e,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x326eae,_0x56674b,_0x17e5bd,_0x23debb,_0x57d017){var _0x346b9a=_0x2327c6['toPath'](_0x55ff7e),_0x1785f1=_0x2c9ec9['get'](_0x346b9a)||_0x2c9ec9['set'](_0x346b9a,_0x368e5a[_0x1a4e('0x1772')]())[_0x1a4e('0x179')](_0x346b9a),_0x1f57d9=_0x368e5a[_0x1a4e('0x1671')](_0x346b9a),_0xe0678a=_0x420b32[_0x1a4e('0x3062')](_0x1adc17),_0x3a4e84=_0xe0678a['get'](_0x1f57d9);_0x3a4e84||(_0x3a4e84=_0x368e5a[_0x1a4e('0x1772')](),_0xe0678a[_0x1a4e('0x17a')](_0x1f57d9,_0x3a4e84));for(var _0x48778d=[],_0x507dbf=_0x2327c6['getCompilationSettings'](),_0x3affa5=_0x57d017&&_0x507502(_0x346b9a),_0x320087=_0x2327c6[_0x1a4e('0x305b')](),_0x43553e=_0x320087&&_0x320087[_0x1a4e('0x3063')](_0x55ff7e),_0x2b63bc=_0x43553e?!_0x1adc17||_0x1adc17[_0x1a4e('0x27e7')][_0x1a4e('0x64')]!==_0x43553e[_0x1a4e('0x27e7')][_0x1a4e('0x64')]:!!_0x1adc17,_0x17250e=_0x368e5a[_0x1a4e('0x1772')](),_0x1c070b=0x0,_0x564644=_0x146f6e;_0x1c070b<_0x564644[_0x1a4e('0x1e')];_0x1c070b++){var _0x60f7f1=_0x564644[_0x1c070b],_0x3a70c2=_0x1785f1[_0x1a4e('0x179')](_0x60f7f1);if(!_0x17250e[_0x1a4e('0x178')](_0x60f7f1)&&_0x1b06ad||_0x2b63bc||!_0x3a70c2||_0x3a70c2[_0x1a4e('0x3064')]||_0x3affa5&&!_0x368e5a[_0x1a4e('0x22dd')](_0x60f7f1)&&_0x17e5bd(_0x3a70c2)){var _0x22dc9a=_0x3a70c2,_0x5b1a0d=_0x3a4e84[_0x1a4e('0x179')](_0x60f7f1);_0x5b1a0d?_0x3a70c2=_0x5b1a0d:(_0x3a70c2=_0x326eae(_0x60f7f1,_0x55ff7e,_0x507dbf,_0x2327c6,_0x1adc17),_0x3a4e84[_0x1a4e('0x17a')](_0x60f7f1,_0x3a70c2)),_0x1785f1[_0x1a4e('0x17a')](_0x60f7f1,_0x3a70c2),_0x8f0ed4(_0x60f7f1,_0x3a70c2),_0x22dc9a&&_0x4d2ca5(_0x22dc9a),_0x57d017&&_0xf79407&&!_0x5d2e3e(_0x22dc9a,_0x3a70c2)&&(_0xf79407['push'](_0x346b9a),_0x57d017=!0x1);}_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0!==_0x3a70c2&&!_0x3a70c2[_0x1a4e('0x3064')]),_0x17250e['set'](_0x60f7f1,!0x0),_0x48778d['push'](_0x56674b(_0x3a70c2));}return _0x1785f1['forEach'](function(_0x146f6e,_0x2327c6){_0x17250e[_0x1a4e('0x178')](_0x2327c6)||_0x368e5a['contains'](_0x23debb,_0x2327c6)||(_0x4d2ca5(_0x146f6e),_0x1785f1[_0x1a4e('0xf4c')](_0x2327c6));}),_0x48778d;function _0x5d2e3e(_0x368e5a,_0x146f6e){if(_0x368e5a===_0x146f6e)return!0x0;if(!_0x368e5a||!_0x146f6e)return!0x1;var _0x2327c6=_0x56674b(_0x368e5a),_0x55ff7e=_0x56674b(_0x146f6e);return _0x2327c6===_0x55ff7e||!(!_0x2327c6||!_0x55ff7e)&&_0x2327c6['resolvedFileName']===_0x55ff7e[_0x1a4e('0x231a')];}}function _0x2862b5(_0x146f6e){return _0x368e5a[_0x1a4e('0x1098')](_0x146f6e,_0x1a4e('0x3065'));}function _0x381602(_0x146f6e){return _0x368e5a['endsWith'](_0x146f6e,_0x1a4e('0x3066'));}function _0x45b7f8(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1670')](_0x146f6e);if(_0x146f6e['length']===_0x2327c6)return!0x1;var _0x55ff7e=_0x146f6e[_0x1a4e('0x3e')](_0x368e5a[_0x1a4e('0x1b42')],_0x2327c6);if(-0x1===_0x55ff7e)return!0x1;if(0x2f!==_0x146f6e[_0x1a4e('0x913')](0x0)&&-0x1===_0x146f6e['substr'](_0x2327c6,_0x55ff7e)[_0x1a4e('0x83')](/users/i))return!0x0;for(var _0x1adc17=_0x55ff7e+0x1,_0xf79407=0x2;_0xf79407>0x0;_0xf79407--)if(0x0===(_0x1adc17=_0x146f6e[_0x1a4e('0x3e')](_0x368e5a['directorySeparator'],_0x1adc17)+0x1))return!0x1;return!0x0;}function _0x57753f(_0x146f6e,_0x2327c6){if(_0x1c070b(_0x320087,_0x2327c6)){_0x146f6e=_0x368e5a[_0x1a4e('0x22e9')](_0x146f6e)?_0x368e5a[_0x1a4e('0x1672')](_0x146f6e):_0x368e5a[_0x1a4e('0x22ea')](_0x146f6e,_0x56674b()),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0x1e')]===_0x2327c6[_0x1a4e('0x1e')],'FailedLookup:\x20'+_0x146f6e+_0x1a4e('0x3067')+_0x2327c6);var _0x55ff7e=_0x2327c6[_0x1a4e('0x3e')](_0x368e5a[_0x1a4e('0x1b42')],_0x320087[_0x1a4e('0x1e')]+0x1);return-0x1!==_0x55ff7e?{'dir':_0x146f6e['substr'](0x0,_0x55ff7e),'dirPath':_0x2327c6[_0x1a4e('0x254')](0x0,_0x55ff7e)}:{'dir':_0x3affa5,'dirPath':_0x320087,'nonRecursive':!0x1};}return _0x3fa15e(_0x368e5a[_0x1a4e('0x1671')](_0x368e5a[_0x1a4e('0x22ea')](_0x146f6e,_0x56674b())),_0x368e5a['getDirectoryPath'](_0x2327c6));}function _0x3fa15e(_0x146f6e,_0x2327c6){for(;_0x368e5a['pathContainsNodeModules'](_0x2327c6);)_0x146f6e=_0x368e5a[_0x1a4e('0x1671')](_0x146f6e),_0x2327c6=_0x368e5a[_0x1a4e('0x1671')](_0x2327c6);if(_0x2862b5(_0x2327c6))return _0x45b7f8(_0x368e5a[_0x1a4e('0x1671')](_0x2327c6))?{'dir':_0x146f6e,'dirPath':_0x2327c6}:void 0x0;var _0x55ff7e,_0x1adc17,_0xf79407=!0x0;if(void 0x0!==_0x320087)for(;!_0x1c070b(_0x2327c6,_0x320087);){var _0x2c9ec9=_0x368e5a['getDirectoryPath'](_0x2327c6);if(_0x2c9ec9===_0x2327c6)break;_0xf79407=!0x1,_0x55ff7e=_0x2327c6,_0x1adc17=_0x146f6e,_0x2327c6=_0x2c9ec9,_0x146f6e=_0x368e5a[_0x1a4e('0x1671')](_0x146f6e);}return _0x45b7f8(_0x2327c6)?{'dir':_0x1adc17||_0x146f6e,'dirPath':_0x55ff7e||_0x2327c6,'nonRecursive':_0xf79407}:void 0x0;}function _0x1d033b(_0x146f6e){return _0x368e5a[_0x1a4e('0x175c')](_0x146f6e,_0x3a4e84);}function _0x8f0ed4(_0x146f6e,_0x2327c6){_0x2327c6[_0x1a4e('0x2809')]&&_0x2327c6[_0x1a4e('0x2809')][_0x1a4e('0x1e')]&&(_0x2327c6[_0x1a4e('0x14ac')]?_0x2327c6[_0x1a4e('0x14ac')]++:(_0x2327c6['refCount']=0x1,_0x368e5a[_0x1a4e('0x22dd')](_0x146f6e)?_0x40b3b3(_0x2327c6):_0x326eae[_0x1a4e('0x177')](_0x146f6e,_0x2327c6)));}function _0x40b3b3(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x146f6e[_0x1a4e('0x14ac')]);for(var _0x55ff7e=!0x1,_0x1adc17=0x0,_0xf79407=_0x146f6e['failedLookupLocations'];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x2327c6[_0x1a4e('0x1087')](_0x2c9ec9),_0x1b06ad=_0x57753f(_0x2c9ec9,_0x420b32);if(_0x1b06ad){var _0x326eae=_0x1b06ad[_0x1a4e('0x3068')],_0x56674b=_0x1b06ad['dirPath'],_0x17e5bd=_0x1b06ad[_0x1a4e('0x3069')];if(!_0x1d033b(_0x420b32)){var _0x23debb=_0x48778d['get'](_0x420b32)||0x0;_0x48778d['set'](_0x420b32,_0x23debb+0x1);}_0x56674b===_0x320087?(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x17e5bd),_0x55ff7e=!0x0):_0x63f9ce(_0x326eae,_0x56674b,_0x17e5bd);}}_0x55ff7e&&_0x63f9ce(_0x3affa5,_0x320087,!0x0);}function _0x9a78a4(_0x368e5a){_0x368e5a[_0x1a4e('0x14ac')]=void 0x0;}function _0x1140ba(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x2327c6[_0x1a4e('0x305b')](),_0x1adc17=_0x55ff7e&&_0x55ff7e['getTypeChecker']()[_0x1a4e('0x306a')](_0x146f6e)?_0x9a78a4:_0x40b3b3;_0x368e5a[_0x1a4e('0x3b')](_0x1adc17);}function _0x63f9ce(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x507dbf[_0x1a4e('0x179')](_0x2327c6);_0x1adc17?(_0x368e5a[_0x1a4e('0x1749')]['assert'](!!_0x55ff7e==!!_0x1adc17[_0x1a4e('0x3069')]),_0x1adc17[_0x1a4e('0x14ac')]++):_0x507dbf['set'](_0x2327c6,{'watcher':_0x2419d2(_0x146f6e,_0x2327c6,_0x55ff7e),'refCount':0x1,'nonRecursive':_0x55ff7e});}function _0x4d2ca5(_0x146f6e){if(_0x146f6e[_0x1a4e('0x14ac')]&&(_0x146f6e['refCount']--,!_0x146f6e['refCount'])){for(var _0x55ff7e=!0x1,_0x1adc17=0x0,_0xf79407=_0x146f6e[_0x1a4e('0x2809')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x2327c6[_0x1a4e('0x1087')](_0x2c9ec9),_0x1b06ad=_0x57753f(_0x2c9ec9,_0x420b32);if(_0x1b06ad){var _0x326eae=_0x1b06ad['dirPath'],_0x56674b=_0x48778d[_0x1a4e('0x179')](_0x420b32);_0x56674b&&(0x1===_0x56674b?_0x48778d[_0x1a4e('0xf4c')](_0x420b32):(_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x56674b>0x1),_0x48778d['set'](_0x420b32,_0x56674b-0x1))),_0x326eae===_0x320087?_0x55ff7e=!0x0:_0xaee3e2(_0x326eae);}}_0x55ff7e&&_0xaee3e2(_0x320087);}}function _0xaee3e2(_0x368e5a){_0x507dbf['get'](_0x368e5a)['refCount']--;}function _0x2419d2(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x2327c6[_0x1a4e('0x306b')](_0x368e5a,function(_0x368e5a){var _0x55ff7e=_0x2327c6[_0x1a4e('0x1087')](_0x368e5a);_0x17e5bd&&_0x17e5bd[_0x1a4e('0x306c')](_0x368e5a,_0x55ff7e),!_0x1b06ad&&_0x30c4c6(_0x55ff7e,_0x146f6e===_0x55ff7e)&&_0x2327c6[_0x1a4e('0x306d')]();},_0x55ff7e?0x0:0x1);}function _0x14fac4(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a['get'](_0x146f6e);_0x2327c6&&(_0x2327c6[_0x1a4e('0x3b')](_0x4d2ca5),_0x368e5a[_0x1a4e('0xf4c')](_0x146f6e));}function _0xc70f0f(_0x368e5a){_0x14fac4(_0x23debb,_0x368e5a),_0x14fac4(_0x1f57d9,_0x368e5a);}function _0x500e8b(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['createMap']();_0x146f6e[_0x1a4e('0x3b')](function(_0x146f6e,_0xf79407){var _0x420b32=_0x368e5a[_0x1a4e('0x1671')](_0xf79407),_0x1b06ad=_0x1adc17[_0x1a4e('0x179')](_0x420b32);_0x1b06ad||(_0x1b06ad=_0x368e5a[_0x1a4e('0x1772')](),_0x1adc17[_0x1a4e('0x17a')](_0x420b32,_0x1b06ad)),_0x146f6e[_0x1a4e('0x3b')](function(_0x146f6e,_0x1adc17){_0x1b06ad[_0x1a4e('0x178')](_0x1adc17)||(_0x1b06ad['set'](_0x1adc17,!0x0),!_0x146f6e[_0x1a4e('0x3064')]&&_0x2327c6(_0x146f6e,_0x55ff7e)&&(_0x146f6e[_0x1a4e('0x3064')]=!0x0,(_0x2c9ec9||(_0x2c9ec9=_0x368e5a[_0x1a4e('0x1772')]()))[_0x1a4e('0x17a')](_0xf79407,!0x0)));});});}function _0xe297d7(_0x146f6e){var _0x55ff7e;_0x55ff7e=_0x2327c6[_0x1a4e('0x306e')]||_0x368e5a['maxNumberOfFilesToIterateForInvalidation'],_0x23debb[_0x1a4e('0x220')]>_0x55ff7e||_0x1f57d9[_0x1a4e('0x220')]>_0x55ff7e?_0x1b06ad=!0x0:(_0x500e8b(_0x23debb,_0x146f6e,_0x2b63bc),_0x500e8b(_0x1f57d9,_0x146f6e,_0x17250e));}function _0x30c4c6(_0x55ff7e,_0x1adc17){var _0xf79407;if(_0x1adc17)_0xf79407=function(_0x368e5a){return _0x1c070b(_0x55ff7e,_0x2327c6[_0x1a4e('0x1087')](_0x368e5a));};else{if(_0x146f6e(_0x55ff7e))return!0x1;var _0x420b32=_0x368e5a[_0x1a4e('0x1671')](_0x55ff7e);if(_0x381602(_0x55ff7e)||_0x2862b5(_0x55ff7e)||_0x381602(_0x420b32)||_0x2862b5(_0x420b32))_0xf79407=function(_0x146f6e){return _0x2327c6[_0x1a4e('0x1087')](_0x146f6e)===_0x55ff7e||_0x368e5a[_0x1a4e('0xdfb')](_0x2327c6['toPath'](_0x146f6e),_0x55ff7e);};else{if(!_0x1d033b(_0x55ff7e)&&!_0x48778d['has'](_0x55ff7e))return!0x1;if(_0x368e5a[_0x1a4e('0x306f')](_0x2327c6[_0x1a4e('0x305b')](),_0x55ff7e))return!0x1;_0xf79407=function(_0x368e5a){return _0x2327c6[_0x1a4e('0x1087')](_0x368e5a)===_0x55ff7e;};}}var _0x326eae=_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x220')];return _0xe297d7(function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x2809')],_0xf79407);}),_0x1b06ad||_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x220')]!==_0x326eae;}function _0xac93a6(){_0x368e5a['clearMap'](_0x43553e,_0x368e5a[_0x1a4e('0x1b44')]);}function _0x477765(_0x368e5a,_0x146f6e){return _0x2327c6[_0x1a4e('0x3070')](_0x146f6e,function(_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x1087')](_0x55ff7e);_0x17e5bd&&_0x17e5bd['addOrDeleteFileOrDirectory'](_0x55ff7e,_0x1adc17),_0x2327c6[_0x1a4e('0x3071')]();var _0xf79407=function(_0x368e5a,_0x146f6e){if(!_0x1b06ad){if(_0x1c070b(_0x320087,_0x146f6e))return _0x320087;var _0x2327c6=_0x3fa15e(_0x368e5a,_0x146f6e);return _0x2327c6&&_0x507dbf[_0x1a4e('0x178')](_0x2327c6['dirPath'])?_0x2327c6[_0x1a4e('0x3072')]:void 0x0;}}(_0x146f6e,_0x368e5a);_0xf79407&&_0x30c4c6(_0x1adc17,_0xf79407===_0x1adc17)&&_0x2327c6[_0x1a4e('0x306d')]();},0x1);}function _0x5af7c7(_0x146f6e){var _0x55ff7e=_0x368e5a['getDirectoryPath'](_0x368e5a['getDirectoryPath'](_0x146f6e)),_0x1adc17=_0x2327c6[_0x1a4e('0x1087')](_0x55ff7e);return _0x1adc17===_0x320087||_0x45b7f8(_0x1adc17);}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6,_0x55ff7e;function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x3073')],_0xf79407=_0x146f6e[_0x1a4e('0x3074')];return{'relativePreference':_0x1a4e('0x1143')===_0x1adc17?0x0:'non-relative'===_0x1adc17?0x1:0x2,'ending':function(){switch(_0xf79407){case _0x1a4e('0x3075'):return 0x0;case _0x1a4e('0xbd'):return 0x1;case'js':return 0x2;default:return function(_0x146f6e){var _0x2327c6=_0x146f6e['imports'];return _0x368e5a[_0x1a4e('0x1703')](_0x2327c6,function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0xe04')];return _0x368e5a[_0x1a4e('0x22de')](_0x2327c6)?_0x368e5a[_0x1a4e('0x3076')](_0x2327c6):void 0x0;})||!0x1;}(_0x55ff7e)?0x2:_0x368e5a['getEmitModuleResolutionKind'](_0x2327c6)!==_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')]?0x1:0x0;}}()};}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x1b06ad,_0x326eae){var _0x56674b=_0x2c9ec9(_0x2327c6,_0x1adc17),_0x4d5541=_0x36e094(_0xf79407,_0x2327c6,_0x55ff7e,_0x56674b[_0x1a4e('0x241a')],_0x1adc17,_0x1b06ad);return _0x368e5a[_0x1a4e('0x1703')](_0x4d5541,function(_0x368e5a){return _0x5dc371(_0x368e5a,_0x56674b,_0x1adc17,_0x146f6e);})||_0x420b32(_0x55ff7e,_0x56674b,_0x146f6e,_0x326eae);}function _0x2c9ec9(_0x146f6e,_0x2327c6){return{'getCanonicalFileName':_0x368e5a[_0x1a4e('0x1761')](!_0x2327c6['useCaseSensitiveFileNames']||_0x2327c6[_0x1a4e('0x1b40')]()),'sourceDirectory':_0x368e5a[_0x1a4e('0x1671')](_0x146f6e)};}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6[_0x1a4e('0x241a')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x3077')],_0x420b32=_0x1adc17[_0x1a4e('0x13e2')],_0x326eae=_0x1adc17['relativePreference'],_0x56674b=_0x55ff7e[_0x1a4e('0x275b')],_0x3c751c=_0x55ff7e[_0x1a4e('0x27de')],_0x1bc687=_0x55ff7e[_0x1a4e('0x275e')],_0x3d1263=_0x1bc687&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x54981d(_0x2327c6,_0x146f6e,_0x1adc17);if(void 0x0===_0xf79407)return;var _0x2c9ec9=_0x54981d(_0x55ff7e,_0x146f6e,_0x1adc17),_0x420b32=void 0x0!==_0x2c9ec9?_0x368e5a[_0x1a4e('0x241f')](_0x368e5a['getRelativePathFromDirectory'](_0x2c9ec9,_0xf79407,_0x1adc17)):_0xf79407;return _0x368e5a[_0x1a4e('0x241e')](_0x420b32);}(_0x1bc687,_0x146f6e,_0x2c9ec9,_0xf79407)||_0x766ed4(_0x368e5a['ensurePathIsNonModuleName'](_0x368e5a[_0x1a4e('0x25a5')](_0x2c9ec9,_0x146f6e,_0xf79407)),_0x420b32,_0x55ff7e);if(!_0x56674b||0x0===_0x326eae)return _0x3d1263;var _0x479bea=_0x536725(_0x146f6e,_0x56674b,_0xf79407);if(!_0x479bea)return _0x3d1263;var _0x21769c=_0x766ed4(_0x479bea,_0x420b32,_0x55ff7e),_0x24ba86=_0x3c751c&&_0x2c6ca2(_0x368e5a['removeFileExtension'](_0x479bea),_0x21769c,_0x3c751c),_0x28bcba=void 0x0===_0x24ba86?_0x21769c:_0x24ba86;return 0x1===_0x326eae?_0x28bcba:(0x2!==_0x326eae&&_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x326eae),_0x2709b0(_0x28bcba)||_0x1b06ad(_0x3d1263)<_0x1b06ad(_0x28bcba)?_0x3d1263:_0x28bcba);}function _0x1b06ad(_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a['startsWith'](_0x146f6e,'./')?0x2:0x0;_0x55ff7e<_0x146f6e['length'];_0x55ff7e++)0x2f===_0x146f6e['charCodeAt'](_0x55ff7e)&&_0x2327c6++;return _0x2327c6;}function _0x326eae(_0x368e5a,_0x146f6e,_0x2327c6){return _0x2327c6(_0x368e5a)===_0x2327c6(_0x146f6e);}function _0x56674b(_0x146f6e,_0x2327c6){return'node_modules'===_0x2327c6(_0x146f6e)||_0x368e5a[_0x1a4e('0xdfb')](_0x146f6e,'@');}function _0x424885(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=_0x368e5a[_0x1a4e('0x259e')](_0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x55ff7e,_0x1adc17)),_0x2c9ec9=_0x368e5a[_0x1a4e('0x259e')](_0x368e5a[_0x1a4e('0x1087')](_0x2327c6,_0x55ff7e,_0x1adc17));!_0x56674b(_0xf79407[_0xf79407[_0x1a4e('0x1e')]-0x2],_0x1adc17)&&!_0x56674b(_0x2c9ec9[_0x2c9ec9[_0x1a4e('0x1e')]-0x2],_0x1adc17)&&_0x326eae(_0xf79407[_0xf79407[_0x1a4e('0x1e')]-0x1],_0x2c9ec9[_0x2c9ec9[_0x1a4e('0x1e')]-0x1],_0x1adc17);)_0xf79407[_0x1a4e('0x76')](),_0x2c9ec9[_0x1a4e('0x76')]();return[_0x368e5a['getPathFromPathComponents'](_0xf79407),_0x368e5a[_0x1a4e('0x25a3')](_0x2c9ec9)];}function _0x36e094(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x2c9ec9['get'](_0x55ff7e),_0x1b06ad=_0x420b32?_0x420b32[_0x1a4e('0x9a')]([_0x55ff7e]):[_0x55ff7e],_0x326eae=_0xf79407[_0x1a4e('0x241c')]?_0xf79407[_0x1a4e('0x241c')]():'',_0x56674b=_0x1b06ad['map'](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22ea')](_0x146f6e,_0x326eae);}),_0x36e094=function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x368e5a[_0x1a4e('0x1772')](),_0xf79407=0x0,_0x2c9ec9=_0x368e5a[_0x1a4e('0x1713')](_0x146f6e,function(_0x146f6e){return _0x146f6e[_0x1a4e('0x2312')]&&_0x368e5a[_0x1a4e('0x1704')](_0x146f6e[_0x1a4e('0x2312')]['values'](),function(_0x368e5a){return _0x368e5a&&_0x368e5a['originalPath']&&_0x368e5a[_0x1a4e('0x231a')]!==_0x368e5a[_0x1a4e('0x231b')]?[_0x368e5a[_0x1a4e('0x231a')],_0x368e5a['originalPath']]:void 0x0;});});_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x424885(_0x420b32[0x0],_0x420b32[0x1],_0x55ff7e,_0x2327c6),_0x326eae=_0x1b06ad[0x0],_0x56674b=_0x1b06ad[0x1];_0x1adc17['set'](_0x56674b,_0x326eae);}return _0x1adc17;}(_0x146f6e,_0x1adc17,_0x326eae),_0x24ae7a=[],_0x23e38f=!_0xf79407[_0x1a4e('0x1b40')]||_0xf79407[_0x1a4e('0x1b40')]()?_0x368e5a['compareStringsCaseSensitive']:_0x368e5a['compareStringsCaseInsensitive'];return _0x36e094[_0x1a4e('0x3b')](function(_0x146f6e,_0x55ff7e){if(!_0x368e5a[_0x1a4e('0x259a')](_0x2327c6,_0x146f6e,_0x1adc17)){var _0x2c9ec9=_0x56674b[_0x1a4e('0x1c7')](function(_0x368e5a){return 0x0===_0x23e38f(_0x368e5a[_0x1a4e('0x78')](0x0,_0x146f6e[_0x1a4e('0x1e')]+0x1),_0x146f6e+'/');});if(void 0x0!==_0x2c9ec9){var _0x420b32=_0x368e5a['getRelativePathFromDirectory'](_0x146f6e,_0x2c9ec9,_0x1adc17),_0x1b06ad=_0x368e5a[_0x1a4e('0x1b4c')](_0x55ff7e,_0x420b32);_0xf79407[_0x1a4e('0x1b4d')]&&!_0xf79407[_0x1a4e('0x1b4d')](_0x1b06ad)||_0x24ae7a[_0x1a4e('0x46')](_0x1b06ad);}}}),_0x24ae7a['push'][_0x1a4e('0x8b')](_0x24ae7a,_0x56674b),_0x24ae7a;}function _0x2c6ca2(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17 in _0x55ff7e)for(var _0xf79407=0x0,_0x2c9ec9=_0x55ff7e[_0x1adc17];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x368e5a['removeFileExtension'](_0x368e5a[_0x1a4e('0x1672')](_0x420b32)),_0x326eae=_0x1b06ad[_0x1a4e('0x3e')]('*');if(-0x1!==_0x326eae){var _0x56674b=_0x1b06ad[_0x1a4e('0x254')](0x0,_0x326eae),_0x424885=_0x1b06ad[_0x1a4e('0x254')](_0x326eae+0x1);if(_0x2327c6[_0x1a4e('0x1e')]>=_0x56674b[_0x1a4e('0x1e')]+_0x424885[_0x1a4e('0x1e')]&&_0x368e5a[_0x1a4e('0xdfb')](_0x2327c6,_0x56674b)&&_0x368e5a[_0x1a4e('0x1098')](_0x2327c6,_0x424885)||!_0x424885&&_0x2327c6===_0x368e5a[_0x1a4e('0x25a7')](_0x56674b)){var _0x36e094=_0x2327c6[_0x1a4e('0x254')](_0x56674b[_0x1a4e('0x1e')],_0x2327c6[_0x1a4e('0x1e')]-_0x424885[_0x1a4e('0x1e')]);return _0x1adc17[_0x1a4e('0x115')]('*',_0x36e094);}}else if(_0x1b06ad===_0x2327c6||_0x1b06ad===_0x146f6e)return _0x1adc17;}}function _0x5dc371(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6[_0x1a4e('0x241a')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x3077')];if(_0x55ff7e['fileExists']&&_0x55ff7e['readFile']){var _0x420b32=function(_0x146f6e){var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=0x0,_0xf79407=0x0,_0x2c9ec9=0x0;!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x3078')]=0x0]=_0x1a4e('0x3078'),_0x368e5a[_0x368e5a[_0x1a4e('0x3079')]=0x1]=_0x1a4e('0x3079'),_0x368e5a[_0x368e5a[_0x1a4e('0x307a')]=0x2]=_0x1a4e('0x307a'),_0x368e5a[_0x368e5a[_0x1a4e('0x307b')]=0x3]=_0x1a4e('0x307b');}(_0x2327c6||(_0x2327c6={}));var _0x420b32=0x0,_0x1b06ad=0x0,_0x326eae=0x0;for(;_0x1b06ad>=0x0;)switch(_0x420b32=_0x1b06ad,_0x1b06ad=_0x146f6e[_0x1a4e('0x3e')]('/',_0x420b32+0x1),_0x326eae){case 0x0:_0x146f6e['indexOf'](_0x368e5a[_0x1a4e('0x2812')],_0x420b32)===_0x420b32&&(_0x55ff7e=_0x420b32,_0x1adc17=_0x1b06ad,_0x326eae=0x1);break;case 0x1:case 0x2:0x1===_0x326eae&&'@'===_0x146f6e[_0x1a4e('0x278')](_0x420b32+0x1)?_0x326eae=0x2:(_0xf79407=_0x1b06ad,_0x326eae=0x3);break;case 0x3:_0x326eae=_0x146f6e['indexOf'](_0x368e5a[_0x1a4e('0x2812')],_0x420b32)===_0x420b32?0x1:0x3;}return _0x2c9ec9=_0x420b32,_0x326eae>0x1?{'topLevelNodeModulesIndex':_0x55ff7e,'topLevelPackageNameIndex':_0x1adc17,'packageRootIndex':_0xf79407,'fileNameIndex':_0x2c9ec9}:void 0x0;}(_0x146f6e);if(_0x420b32){var _0x1b06ad=_0x146f6e[_0x1a4e('0x281')](0x0,_0x420b32[_0x1a4e('0x307c')]),_0x326eae=_0x368e5a[_0x1a4e('0x1673')](_0x1b06ad,_0x1a4e('0x16f1')),_0x56674b=_0x55ff7e[_0x1a4e('0x1b4d')](_0x326eae)?JSON[_0x1a4e('0x25a')](_0x55ff7e[_0x1a4e('0x16b8')](_0x326eae)):void 0x0,_0x424885=_0x56674b&&_0x56674b[_0x1a4e('0x27db')]?_0x368e5a[_0x1a4e('0x307d')](_0x56674b[_0x1a4e('0x27db')]):void 0x0;if(_0x424885){var _0x36e094=_0x146f6e[_0x1a4e('0x78')](_0x420b32[_0x1a4e('0x307c')]+0x1),_0x5dc371=_0x2c6ca2(_0x368e5a[_0x1a4e('0x241e')](_0x36e094),_0x766ed4(_0x36e094,0x0,_0x1adc17),_0x424885['paths']);void 0x0!==_0x5dc371&&(_0x146f6e=_0x368e5a['combinePaths'](_0x146f6e[_0x1a4e('0x78')](0x0,_0x420b32[_0x1a4e('0x307c')]),_0x5dc371));}var _0x57f74d=function(_0x146f6e){if(_0x56674b){var _0x2327c6=_0x56674b[_0x1a4e('0x27d9')]||_0x56674b['types']||_0x56674b[_0x1a4e('0x27da')];if(_0x2327c6){var _0x1adc17=_0x368e5a['toPath'](_0x2327c6,_0x1b06ad,_0xf79407);if(_0x368e5a[_0x1a4e('0x241e')](_0x1adc17)===_0x368e5a[_0x1a4e('0x241e')](_0xf79407(_0x146f6e)))return _0x1b06ad;}}var _0x2c9ec9=_0x368e5a[_0x1a4e('0x241e')](_0x146f6e);if(_0x1a4e('0x2815')===_0xf79407(_0x2c9ec9[_0x1a4e('0x281')](_0x420b32['fileNameIndex']))&&!function(_0x146f6e,_0x2327c6){if(!_0x146f6e['fileExists'])return;for(var _0x55ff7e=_0x368e5a['getSupportedExtensions']({'allowJs':!0x0},[{'extension':'node','isMixedContent':!0x1},{'extension':'json','isMixedContent':!0x1,'scriptKind':0x6}]),_0x1adc17=0x0,_0xf79407=_0x55ff7e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x2327c6+_0x2c9ec9;if(_0x146f6e[_0x1a4e('0x1b4d')](_0x420b32))return _0x420b32;}}(_0x55ff7e,_0x2c9ec9[_0x1a4e('0x281')](0x0,_0x420b32[_0x1a4e('0x307e')])))return _0x2c9ec9[_0x1a4e('0x281')](0x0,_0x420b32['fileNameIndex']);return _0x2c9ec9;}(_0x146f6e);if(_0x368e5a[_0x1a4e('0xdfb')](_0x2c9ec9,_0xf79407(_0x57f74d[_0x1a4e('0x281')](0x0,_0x420b32[_0x1a4e('0x307f')])))){var _0xa9a312=_0x57f74d[_0x1a4e('0x281')](_0x420b32['topLevelPackageNameIndex']+0x1),_0x4e6453=_0x368e5a[_0x1a4e('0x282a')](_0xa9a312);return _0x368e5a['getEmitModuleResolutionKind'](_0x1adc17)!==_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')]&&_0x4e6453===_0xa9a312?void 0x0:_0x4e6453;}}}}function _0x54981d(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['firstDefined'](_0x2327c6,function(_0x368e5a){var _0x2327c6=_0x536725(_0x146f6e,_0x368e5a,_0x55ff7e);return _0x2709b0(_0x2327c6)?void 0x0:_0x2327c6;});}function _0x766ed4(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a[_0x1a4e('0x175b')](_0x146f6e,'.json'))return _0x146f6e;var _0x1adc17=_0x368e5a[_0x1a4e('0x241e')](_0x146f6e);switch(_0x2327c6){case 0x0:return _0x368e5a[_0x1a4e('0x1758')](_0x1adc17,'/index');case 0x1:return _0x1adc17;case 0x2:return _0x1adc17+function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x25df')](_0x146f6e);switch(_0x55ff7e){case _0x1a4e('0x25be'):case'.d.ts':return _0x1a4e('0x1a84');case _0x1a4e('0x1a81'):return 0x1===_0x2327c6[_0x1a4e('0x294b')]?'.jsx':_0x1a4e('0x1a84');case'.js':case _0x1a4e('0x1a86'):case _0x1a4e('0x1a87'):return _0x55ff7e;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x55ff7e);}}(_0x146f6e,_0x55ff7e);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}}function _0x536725(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x241d')](_0x2327c6,_0x146f6e,_0x2327c6,_0x55ff7e,!0x1);return _0x368e5a[_0x1a4e('0x22e9')](_0x1adc17)?void 0x0:_0x1adc17;}function _0x2709b0(_0x146f6e){return _0x368e5a[_0x1a4e('0xdfb')](_0x146f6e,'..');}!function(_0x368e5a){_0x368e5a[_0x368e5a['Relative']=0x0]=_0x1a4e('0x3080'),_0x368e5a[_0x368e5a[_0x1a4e('0x3081')]=0x1]=_0x1a4e('0x3081'),_0x368e5a[_0x368e5a[_0x1a4e('0x18fa')]=0x2]=_0x1a4e('0x18fa');}(_0x2327c6||(_0x2327c6={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x3082')]=0x0]=_0x1a4e('0x3082'),_0x368e5a[_0x368e5a[_0x1a4e('0x19a5')]=0x1]=_0x1a4e('0x19a5'),_0x368e5a[_0x368e5a[_0x1a4e('0x3083')]=0x2]='JsExtension';}(_0x55ff7e||(_0x55ff7e={})),_0x146f6e[_0x1a4e('0x3084')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=_0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,function(_0x146f6e,_0x2327c6){return{'relativePreference':_0x368e5a['isExternalModuleNameRelative'](_0x2327c6)?0x0:0x1,'ending':_0x368e5a[_0x1a4e('0x3076')](_0x2327c6)?0x2:_0x368e5a[_0x1a4e('0x297a')](_0x146f6e)!==_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')]||_0x368e5a[_0x1a4e('0x1098')](_0x2327c6,_0x1a4e('0xbd'))?0x1:0x0};}(_0x146f6e,_0x1b06ad));if(_0x326eae!==_0x1b06ad)return _0x326eae;},_0x146f6e[_0x1a4e('0x3085')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){return void 0x0===_0x1b06ad&&(_0x1b06ad={}),_0xf79407(_0x368e5a,_0x2327c6,_0x55ff7e,_0x2c9ec9,_0x420b32,_0x326eae,_0x1adc17(_0x1b06ad,_0x368e5a,_0x146f6e));},_0x146f6e[_0x1a4e('0x28d5')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x1b06ad,_0x326eae,_0x56674b){var _0x424885=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1c7')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x3086')](_0x146f6e)&&(!_0x368e5a[_0x1a4e('0x2344')](_0x146f6e)||!_0x368e5a[_0x1a4e('0x22dd')](_0x368e5a[_0x1a4e('0x2401')](_0x146f6e[_0x1a4e('0x2cb')])));});if(_0x2327c6)return _0x2327c6[_0x1a4e('0x2cb')]['text'];}(_0x146f6e);if(_0x424885)return[_0x424885];var _0x2c6ca2=_0x2c9ec9(_0x55ff7e[_0x1a4e('0x64')],_0xf79407),_0x54981d=_0x368e5a[_0x1a4e('0x1674')](_0x146f6e[_0x1a4e('0x2340')]||_0x368e5a[_0x1a4e('0x3087')](_0x146f6e)),_0x766ed4=_0x36e094(_0x1b06ad,_0x55ff7e[_0x1a4e('0x64')],_0x54981d['fileName'],_0x2c6ca2['getCanonicalFileName'],_0xf79407,_0x56674b),_0x536725=_0x1adc17(_0x326eae,_0x2327c6,_0x55ff7e),_0x2709b0=_0x368e5a['mapDefined'](_0x766ed4,function(_0x368e5a){return _0x5dc371(_0x368e5a,_0x2c6ca2,_0xf79407,_0x2327c6);});return _0x2709b0[_0x1a4e('0x1e')]?_0x2709b0:_0x766ed4[_0x1a4e('0x21')](function(_0x368e5a){return _0x420b32(_0x368e5a,_0x2c6ca2,_0x2327c6,_0x536725);});},_0x146f6e['countPathComponents']=_0x1b06ad;}(_0x368e5a['moduleSpecifiers']||(_0x368e5a[_0x1a4e('0x28d0')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x16b4')]?{'getCurrentDirectory':function(){return _0x368e5a['sys']['getCurrentDirectory']();},'getNewLine':function(){return _0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x16d0')];},'getCanonicalFileName':_0x368e5a[_0x1a4e('0x1761')](_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x1b40')])}:void 0x0;function _0x2327c6(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6===_0x368e5a[_0x1a4e('0x16b4')]?_0x146f6e:{'getCurrentDirectory':function(){return _0x2327c6['getCurrentDirectory']();},'getNewLine':function(){return _0x2327c6[_0x1a4e('0x16d0')];},'getCanonicalFileName':_0x368e5a['createGetCanonicalFileName'](_0x2327c6[_0x1a4e('0x1b40')])};if(!_0x55ff7e)return function(_0x146f6e){return _0x2327c6['write'](_0x368e5a[_0x1a4e('0x2fb4')](_0x146f6e,_0x1adc17));};var _0xf79407=new Array(0x1);return function(_0x146f6e){_0xf79407[0x0]=_0x146f6e,_0x2327c6[_0x1a4e('0x146')](_0x368e5a['formatDiagnosticsWithColorAndContext'](_0xf79407,_0x1adc17)+_0x1adc17[_0x1a4e('0x2f73')]()),_0xf79407[0x0]=void 0x0;};}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){return!(!_0x146f6e[_0x1a4e('0x3088')]||_0x55ff7e[_0x1a4e('0x2721')]||_0x55ff7e['extendedDiagnostics']||_0x55ff7e[_0x1a4e('0x2728')]||!_0x368e5a[_0x1a4e('0x2ac')](_0x368e5a['screenStartingMessageCodes'],_0x2327c6[_0x1a4e('0x1617')]))&&(_0x146f6e[_0x1a4e('0x3088')](),!0x0);}function _0x1adc17(_0x146f6e,_0x2327c6){return _0x2327c6?function(_0x2327c6,_0x1adc17,_0xf79407){_0x55ff7e(_0x146f6e,_0x2327c6,_0xf79407);var _0x2c9ec9='['+_0x368e5a[_0x1a4e('0x2fc1')](new Date()['toLocaleTimeString'](),_0x368e5a['ForegroundColorEscapeSequences'][_0x1a4e('0x2fc4')])+']\x20';_0x2c9ec9+=''+_0x368e5a['flattenDiagnosticMessageText'](_0x2327c6['messageText'],_0x146f6e['newLine'])+(_0x1adc17+_0x1adc17),_0x146f6e[_0x1a4e('0x146')](_0x2c9ec9);}:function(_0x2327c6,_0x1adc17,_0xf79407){var _0x2c9ec9='';_0x55ff7e(_0x146f6e,_0x2327c6,_0xf79407)||(_0x2c9ec9+=_0x1adc17),_0x2c9ec9+=new Date()['toLocaleTimeString']()+_0x1a4e('0x2ee'),_0x2c9ec9+=''+_0x368e5a[_0x1a4e('0x16d1')](_0x2327c6[_0x1a4e('0x16d2')],_0x146f6e[_0x1a4e('0x16d0')])+function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2ac')](_0x368e5a['screenStartingMessageCodes'],_0x146f6e['code'])?_0x2327c6+_0x2327c6:_0x2327c6;}(_0x2327c6,_0x1adc17),_0x146f6e[_0x1a4e('0x146')](_0x2c9ec9);};}function _0xf79407(_0x146f6e){return _0x368e5a['countWhere'](_0x146f6e,function(_0x146f6e){return _0x146f6e[_0x1a4e('0x1a2d')]===_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')];});}function _0x2c9ec9(_0x146f6e){return 0x1===_0x146f6e?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3089')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x308a')];}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9){var _0x420b32=_0x146f6e[_0x1a4e('0x2fae')]()[_0x1a4e('0x78')](),_0x1b06ad=_0x420b32[_0x1a4e('0x1e')];_0x368e5a[_0x1a4e('0x23d1')](_0x420b32,_0x146f6e[_0x1a4e('0x2fb0')]());var _0x326eae=!0x1;_0x420b32[_0x1a4e('0x1e')]===_0x1b06ad&&(_0x368e5a[_0x1a4e('0x23d1')](_0x420b32,_0x146f6e['getOptionsDiagnostics']()),_0x368e5a[_0x1a4e('0x23d1')](_0x420b32,_0x146f6e[_0x1a4e('0x2fb1')]()),_0x420b32[_0x1a4e('0x1e')]===_0x1b06ad&&(_0x326eae=!0x0));var _0x56674b=_0x146f6e[_0x1a4e('0xd8c')](void 0x0,_0x2c9ec9),_0x32f3f1=_0x56674b[_0x1a4e('0x3050')],_0xb26c79=_0x56674b[_0x1a4e('0x3028')],_0xd5dfe9=_0x56674b[_0x1a4e('0x2728')];if(_0x368e5a['addRange'](_0x420b32,_0xd5dfe9),_0x326eae&&_0x368e5a[_0x1a4e('0x23d1')](_0x420b32,_0x146f6e[_0x1a4e('0x2fb2')]()),_0x368e5a[_0x1a4e('0x22df')](_0x420b32)[_0x1a4e('0x3b')](_0x2327c6),_0x55ff7e){var _0x33c48b=_0x146f6e[_0x1a4e('0x241c')]();_0x368e5a[_0x1a4e('0x3b')](_0x32f3f1,function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x22ea')](_0x146f6e,_0x33c48b);_0x55ff7e(_0x1a4e('0x308b')+_0x2327c6);}),_0x146f6e[_0x1a4e('0x23f1')]()['listFiles']&&_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2447')](),function(_0x368e5a){_0x55ff7e(_0x368e5a['fileName']);});}return _0x1adc17&&_0x1adc17(_0xf79407(_0x420b32)),_0xb26c79&&_0x420b32[_0x1a4e('0x1e')]>0x0?_0x368e5a['ExitStatus']['DiagnosticsPresent_OutputsSkipped']:_0x420b32[_0x1a4e('0x1e')]>0x0?_0x368e5a[_0x1a4e('0x1923')][_0x1a4e('0x1922')]:_0x368e5a['ExitStatus'][_0x1a4e('0x16ca')];}_0x368e5a[_0x1a4e('0x308c')]=_0x2327c6,_0x368e5a[_0x1a4e('0x308d')]=[_0x368e5a['Diagnostics'][_0x1a4e('0x308e')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x308f')][_0x1a4e('0x1617')]],_0x368e5a[_0x1a4e('0x3090')]=_0x1adc17,_0x368e5a[_0x1a4e('0x3091')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x55ff7e;_0xf79407[_0x1a4e('0x27b5')]=function(_0x146f6e){return _0x484e5b(_0x368e5a[_0x1a4e('0x16b4')],_0x1adc17,_0x146f6e);};var _0x2c9ec9=_0x368e5a[_0x1a4e('0x27b4')](_0x146f6e,_0x2327c6,_0xf79407);return _0xf79407[_0x1a4e('0x27b5')]=void 0x0,_0x2c9ec9;},_0x368e5a[_0x1a4e('0x3092')]=_0xf79407,_0x368e5a[_0x1a4e('0x3093')]=_0x2c9ec9,_0x368e5a[_0x1a4e('0x3094')]=function(_0x146f6e,_0x2327c6){if(0x0===_0x146f6e)return'';var _0x55ff7e=_0x368e5a[_0x1a4e('0x166d')](0x1===_0x146f6e?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3095')]:_0x368e5a['Diagnostics'][_0x1a4e('0x3096')],_0x146f6e);return''+_0x2327c6+_0x368e5a['flattenDiagnosticMessageText'](_0x55ff7e[_0x1a4e('0x16d2')],_0x2327c6)+_0x2327c6+_0x2327c6;},_0x368e5a[_0x1a4e('0x3097')]=_0x420b32;var _0x1b06ad={'close':_0x368e5a[_0x1a4e('0x10bf')]};function _0x326eae(_0x146f6e,_0x2327c6){return void 0x0===_0x146f6e&&(_0x146f6e=_0x368e5a[_0x1a4e('0x16b4')]),{'onWatchStatusChange':_0x2327c6||_0x1adc17(_0x146f6e),'watchFile':_0x146f6e['watchFile']?function(_0x368e5a,_0x2327c6,_0x55ff7e){return _0x146f6e['watchFile'](_0x368e5a,_0x2327c6,_0x55ff7e);}:function(){return _0x1b06ad;},'watchDirectory':_0x146f6e['watchDirectory']?function(_0x368e5a,_0x2327c6,_0x55ff7e){return _0x146f6e[_0x1a4e('0x1b41')](_0x368e5a,_0x2327c6,_0x55ff7e);}:function(){return _0x1b06ad;},'setTimeout':_0x146f6e['setTimeout']?function(_0x368e5a,_0x2327c6){for(var _0x55ff7e,_0x1adc17=[],_0xf79407=0x2;_0xf79407_0x368e5a[_0x1a4e('0x1670')](_0x55ff7e)&&!_0x2327c6[_0x1a4e('0x16b5')](_0x55ff7e)){var _0x1adc17=_0x368e5a[_0x1a4e('0x1671')](_0x55ff7e);_0x146f6e(_0x1adc17),_0x2327c6['createDirectory'](_0x55ff7e);}}(_0x368e5a[_0x1a4e('0x1671')](_0x368e5a[_0x1a4e('0x1672')](_0x146f6e))),_0x2327c6[_0x1a4e('0x16b7')](_0x146f6e,_0x55ff7e,_0x1adc17),_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')](_0x1a4e('0x2fa2')),_0x368e5a['performance']['measure']('I/O\x20Write',_0x1a4e('0x2fa1'),_0x1a4e('0x2fa2'));}catch(_0x20c138){_0xf79407&&_0xf79407(_0x20c138[_0x1a4e('0x133')]);}},'getCurrentDirectory':_0x39e8b9,'useCaseSensitiveFileNames':function(){return _0xde24c0;},'getCanonicalFileName':_0x122cec,'getNewLine':function(){return _0x4d5c9d;},'fileExists':_0x444235,'readFile':_0x47f0db,'trace':_0x43c541,'directoryExists':_0xa4165a[_0x1a4e('0x16b5')]&&function(_0x368e5a){return _0xa4165a[_0x1a4e('0x16b5')](_0x368e5a);},'getDirectories':_0xa4165a[_0x1a4e('0x27fc')]&&function(_0x368e5a){return _0xa4165a['getDirectories'](_0x368e5a);},'realpath':_0x2327c6[_0x1a4e('0x1b46')]&&function(_0x368e5a){return _0x2327c6[_0x1a4e('0x1b46')](_0x368e5a);},'getEnvironmentVariable':_0x2327c6[_0x1a4e('0x1b33')]?function(_0x368e5a){return _0x2327c6['getEnvironmentVariable'](_0x368e5a);}:function(){return'';},'onReleaseOldSourceFile':function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2a9c91[_0x1a4e('0x179')](_0x368e5a['resolvedPath']);_0x55ff7e&&(_0x368ede(_0x55ff7e)?(_0x1b06ad||(_0x1b06ad=[]))[_0x1a4e('0x46')](_0x368e5a['path']):_0x55ff7e[_0x1a4e('0x27e7')]===_0x368e5a&&(_0x55ff7e['fileWatcher']&&_0x55ff7e[_0x1a4e('0x30a6')][_0x1a4e('0x139b')](),_0x2a9c91[_0x1a4e('0xf4c')](_0x368e5a['resolvedPath']),_0x2327c6||_0x23fb56[_0x1a4e('0x30a7')](_0x368e5a[_0x1a4e('0x64')])));},'createHash':_0x2327c6[_0x1a4e('0xb47')]&&function(_0x368e5a){return _0x2327c6[_0x1a4e('0xb47')](_0x368e5a);},'toPath':_0x1f2baa,'getCompilationSettings':function(){return _0x42b39d;},'watchDirectoryOfFailedLookupLocation':function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x37d51f(_0x2327c6,_0x368e5a,_0x146f6e,_0x55ff7e,'Failed\x20Lookup\x20Locations');},'watchTypeRootsDirectory':function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x37d51f(_0x2327c6,_0x368e5a,_0x146f6e,_0x55ff7e,'Type\x20roots');},'getCachedDirectoryStructureHost':function(){return _0x947f99;},'onInvalidatedResolution':_0xdd5544,'onChangedAutomaticTypeDirectiveNames':function(){_0x45a952=!0x0,_0xdd5544();},'maxNumberOfFilesToIterateForInvalidation':_0x2327c6[_0x1a4e('0x306e')],'getCurrentProgram':_0x9dfee5,'writeLog':_0x8a94f1,'readDirectory':function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0xa4165a[_0x1a4e('0x1b52')](_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);}},_0x23fb56=_0x368e5a[_0x1a4e('0x3058')](_0x11c2a6,_0x36d33c?_0x368e5a[_0x1a4e('0x1671')](_0x368e5a[_0x1a4e('0x22ea')](_0x36d33c,_0x1606f7)):_0x1606f7,!0x1);_0x11c2a6[_0x1a4e('0x2fd1')]=_0x2327c6['resolveModuleNames']?function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17){return _0x2327c6[_0x1a4e('0x2fd1')](_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17);}:function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x23fb56[_0x1a4e('0x2fd1')](_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);},_0x11c2a6[_0x1a4e('0x2fd4')]=_0x2327c6[_0x1a4e('0x2fd4')]?function(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x2327c6[_0x1a4e('0x2fd4')](_0x368e5a,_0x146f6e,_0x55ff7e);}:function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x23fb56[_0x1a4e('0x2fd4')](_0x368e5a,_0x146f6e,_0x2327c6);};var _0x3a9e8d=!!_0x2327c6['resolveModuleNames']||!!_0x2327c6[_0x1a4e('0x2fd4')];return _0x1ecaa4(),_0x39b115(),_0x36d33c?{'getCurrentProgram':_0x36ff8e,'getProgram':_0x1ecaa4}:{'getCurrentProgram':_0x36ff8e,'getProgram':_0x1ecaa4,'updateRootFileNames':function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x36d33c,'Cannot\x20update\x20root\x20file\x20names\x20with\x20config\x20file\x20watch\x20mode'),_0x52aac4=_0x146f6e,_0xdd5544();}};function _0x36ff8e(){return _0x55ff7e;}function _0x9dfee5(){return _0x55ff7e&&_0x55ff7e[_0x1a4e('0x304b')]();}function _0x1ecaa4(){_0x8a94f1('Synchronizing\x20program');var _0x146f6e=_0x9dfee5();_0x2e04df&&(_0x4d5c9d=_0xef67d3(),_0x146f6e&&_0x368e5a[_0x1a4e('0x2303')](_0x146f6e[_0x1a4e('0x23f1')](),_0x42b39d)&&_0x23fb56[_0x1a4e('0xb5')]());var _0x1adc17=_0x23fb56[_0x1a4e('0x30a8')](_0x3a9e8d);return _0x368e5a[_0x1a4e('0x2fc5')](_0x9dfee5(),_0x52aac4,_0x42b39d,_0x390995,_0x444235,_0x1adc17,_0x45a952,_0x2093ce)?_0x103839&&(_0x55ff7e=_0x4581b7(void 0x0,void 0x0,_0x11c2a6,_0x55ff7e,_0x56674b,_0x2093ce),_0x103839=!0x1):function(_0x146f6e,_0x2327c6){_0x545c8d!==_0x368e5a[_0x1a4e('0x2f9c')]['None']&&(_0x8a94f1(_0x1a4e('0x30a9')),_0x8a94f1('\x20\x20roots:\x20'+JSON[_0x1a4e('0xd7')](_0x52aac4)),_0x8a94f1(_0x1a4e('0x30aa')+JSON[_0x1a4e('0xd7')](_0x42b39d)));var _0x1adc17=_0x2e04df||!_0x146f6e;if(_0x2e04df=!0x1,_0x103839=!0x1,_0x23fb56[_0x1a4e('0x30ab')](),_0x11c2a6[_0x1a4e('0x2fd0')]=_0x2327c6,_0x11c2a6[_0x1a4e('0x2fe1')]=_0x45a952,_0x55ff7e=_0x4581b7(_0x52aac4,_0x42b39d,_0x11c2a6,_0x55ff7e,_0x56674b,_0x2093ce),_0x23fb56['finishCachingPerDirectoryResolution'](),_0x368e5a[_0x1a4e('0x2f98')](_0x55ff7e['getProgram'](),_0xf79407||(_0xf79407=_0x368e5a[_0x1a4e('0x1772')]()),_0x1b4e92),_0x1adc17&&_0x23fb56[_0x1a4e('0x30ac')](),_0x1b06ad){for(var _0x2c9ec9=0x0,_0x420b32=_0x1b06ad;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x326eae=_0x420b32[_0x2c9ec9];_0xf79407[_0x1a4e('0x178')](_0x326eae)||_0x2a9c91[_0x1a4e('0xf4c')](_0x326eae);}_0x1b06ad=void 0x0;}}(_0x146f6e,_0x1adc17),_0x2327c6['afterProgramCreate']&&_0x2327c6[_0x1a4e('0x30ad')](_0x55ff7e),_0x55ff7e;}function _0xef67d3(){return _0x368e5a['getNewLineCharacter'](_0x42b39d||_0x3796d3,function(){return _0x2327c6['getNewLine']();});}function _0x1f2baa(_0x146f6e){return _0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x1606f7,_0x122cec);}function _0x368ede(_0x368e5a){return _0x1a4e('0x3d')==typeof _0x368e5a;}function _0x4e0a9a(_0x368e5a){return!!_0x368e5a['sourceFile'];}function _0x444235(_0x368e5a){var _0x146f6e=_0x1f2baa(_0x368e5a);return!!_0x368ede(_0x2a9c91[_0x1a4e('0x179')](_0x146f6e))||_0xa4165a[_0x1a4e('0x1b4d')](_0x368e5a);}function _0x5d79c2(_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x2a9c91['get'](_0x1adc17);if(!_0x368ede(_0x1b06ad)){if(!_0x1b06ad||_0x420b32||!_0x4e0a9a(_0x1b06ad)||_0x1b06ad['version'][_0x1a4e('0x95')]()!==_0x1b06ad['sourceFile'][_0x1a4e('0xb98')]){var _0x326eae=function(){var _0x146f6e;try{_0x368e5a['performance'][_0x1a4e('0xe08')](_0x1a4e('0x2fa0')),_0x146f6e=_0x2327c6['readFile'](_0x55ff7e,_0x42b39d[_0x1a4e('0x30ae')]),_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe08')](_0x1a4e('0x30af')),_0x368e5a[_0x1a4e('0x1774')][_0x1a4e('0xe0a')]('I/O\x20Read',_0x1a4e('0x2fa0'),_0x1a4e('0x30af'));}catch(_0x50586a){_0x2c9ec9&&_0x2c9ec9(_0x50586a[_0x1a4e('0x133')]);}return void 0x0!==_0x146f6e?_0x368e5a[_0x1a4e('0x262c')](_0x55ff7e,_0x146f6e,_0xf79407):void 0x0;}();if(_0x1b06ad)_0x420b32&&_0x1b06ad[_0x1a4e('0xb98')]++,_0x326eae?(_0x1b06ad['sourceFile']=_0x326eae,_0x326eae['version']=_0x1b06ad['version'][_0x1a4e('0x95')](),_0x1b06ad[_0x1a4e('0x30a6')]||(_0x1b06ad['fileWatcher']=_0x34bbc6(_0x2327c6,_0x55ff7e,_0x5243b6,_0x368e5a[_0x1a4e('0x1b31')]['Low'],_0x1adc17,_0x1a4e('0x30b0')))):(_0x4e0a9a(_0x1b06ad)&&_0x1b06ad['fileWatcher']['close'](),_0x2a9c91[_0x1a4e('0x17a')](_0x1adc17,_0x1b06ad[_0x1a4e('0xb98')]));else if(_0x326eae){_0x326eae[_0x1a4e('0xb98')]=_0x146f6e['toString']();var _0x56674b=_0x34bbc6(_0x2327c6,_0x55ff7e,_0x5243b6,_0x368e5a[_0x1a4e('0x1b31')][_0x1a4e('0x1b2a')],_0x1adc17,_0x1a4e('0x30b0'));_0x2a9c91[_0x1a4e('0x17a')](_0x1adc17,{'sourceFile':_0x326eae,'version':_0x146f6e,'fileWatcher':_0x56674b});}else _0x2a9c91[_0x1a4e('0x17a')](_0x1adc17,_0x146f6e);return _0x326eae;}return _0x1b06ad[_0x1a4e('0x27e7')];}}function _0x3abd37(_0x368e5a){var _0x146f6e=_0x2a9c91[_0x1a4e('0x179')](_0x368e5a);void 0x0!==_0x146f6e&&(_0x368ede(_0x146f6e)?_0x2a9c91[_0x1a4e('0x17a')](_0x368e5a,{'version':Number(_0x146f6e)+0x1}):_0x146f6e[_0x1a4e('0xb98')]++);}function _0x390995(_0x368e5a){var _0x146f6e=_0x2a9c91[_0x1a4e('0x179')](_0x368e5a);return!_0x146f6e||_0x368ede(_0x146f6e)?void 0x0:_0x146f6e[_0x1a4e('0xb98')][_0x1a4e('0x95')]();}function _0x4bb95e(_0x146f6e){_0x2327c6['onWatchStatusChange']&&_0x2327c6['onWatchStatusChange'](_0x368e5a[_0x1a4e('0x166d')](_0x146f6e),_0x4d5c9d,_0x42b39d||_0x3796d3);}function _0xdd5544(){_0x2327c6[_0x1a4e('0x1016')]&&_0x2327c6['clearTimeout']&&(_0x420b32&&_0x2327c6[_0x1a4e('0x1015')](_0x420b32),_0x8a94f1(_0x1a4e('0x30b1')),_0x420b32=_0x2327c6['setTimeout'](_0x12a470,0xfa));}function _0x12a470(){switch(_0x420b32=void 0x0,_0x4bb95e(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x308f')]),_0x1adc17){case _0x368e5a['ConfigFileProgramReloadLevel'][_0x1a4e('0x1995')]:return function(){_0x8a94f1('Reloading\x20new\x20file\x20names\x20and\x20options');var _0x146f6e=_0x368e5a['getFileNamesFromConfigSpecs'](_0x326eae,_0x368e5a['getDirectoryPath'](_0x36d33c),_0x42b39d,_0x37b413);_0x368e5a[_0x1a4e('0x27c9')](_0x146f6e,_0x36d33c,_0x326eae,_0x56674b,_0x42a120)&&(_0x103839=!0x0),_0x52aac4=_0x146f6e[_0x1a4e('0x2708')],_0x1ecaa4();}();case _0x368e5a['ConfigFileProgramReloadLevel'][_0x1a4e('0x2f96')]:return _0x8a94f1(_0x1a4e('0x30b2')+_0x36d33c),_0x1adc17=_0x368e5a[_0x1a4e('0x2f97')][_0x1a4e('0x1733')],_0x947f99&&_0x947f99['clearCache'](),_0xefae11(),_0x2e04df=!0x0,_0x1ecaa4(),void _0x39b115();default:return void _0x1ecaa4();}}function _0xefae11(){_0x272668(_0x368e5a[_0x1a4e('0x27b4')](_0x36d33c,_0x3796d3,_0x37b413));}function _0x272668(_0x146f6e){_0x52aac4=_0x146f6e[_0x1a4e('0x2708')],_0x42b39d=_0x146f6e[_0x1a4e('0x8dc')],_0x326eae=_0x146f6e[_0x1a4e('0x27bb')],_0x2093ce=_0x146f6e[_0x1a4e('0x2fc8')],_0x56674b=_0x368e5a[_0x1a4e('0x2fae')](_0x146f6e)[_0x1a4e('0x78')](),_0x42a120=_0x368e5a['canJsonReportNoInutFiles'](_0x146f6e[_0x1a4e('0x87e')]),_0x103839=!0x0;}function _0x5243b6(_0x146f6e,_0x2327c6,_0x55ff7e){_0x19cb69(_0x146f6e,_0x55ff7e,_0x2327c6),_0x2327c6===_0x368e5a[_0x1a4e('0x1b30')][_0x1a4e('0x1b3d')]&&_0x2a9c91[_0x1a4e('0x179')](_0x55ff7e)&&_0x23fb56[_0x1a4e('0x30b3')](_0x55ff7e),_0x23fb56[_0x1a4e('0x30b4')](_0x55ff7e),_0x3abd37(_0x55ff7e),_0xdd5544();}function _0x19cb69(_0x368e5a,_0x146f6e,_0x2327c6){_0x947f99&&_0x947f99[_0x1a4e('0x30b5')](_0x368e5a,_0x146f6e,_0x2327c6);}function _0x1b4e92(_0x146f6e){return _0x34bbc6(_0x2327c6,_0x146f6e,_0x47a223,_0x368e5a[_0x1a4e('0x1b31')][_0x1a4e('0x1b2b')],_0x146f6e,'Missing\x20file');}function _0x47a223(_0x146f6e,_0x2327c6,_0x55ff7e){_0x19cb69(_0x146f6e,_0x55ff7e,_0x2327c6),_0x2327c6===_0x368e5a[_0x1a4e('0x1b30')]['Created']&&_0xf79407['has'](_0x55ff7e)&&(_0xf79407[_0x1a4e('0x179')](_0x55ff7e)['close'](),_0xf79407[_0x1a4e('0xf4c')](_0x55ff7e),_0x3abd37(_0x55ff7e),_0xdd5544());}function _0x39b115(){_0x326eae?_0x368e5a[_0x1a4e('0x2f9a')](_0x2c9ec9||(_0x2c9ec9=_0x368e5a[_0x1a4e('0x1772')]()),_0x368e5a[_0x1a4e('0x1701')](_0x326eae[_0x1a4e('0x27cd')]),_0x56f4f7):_0x2c9ec9&&_0x368e5a[_0x1a4e('0x305e')](_0x2c9ec9,_0x368e5a['closeFileWatcherOf']);}function _0x56f4f7(_0x146f6e,_0x55ff7e){return _0x37d51f(_0x2327c6,_0x146f6e,function(_0x2327c6){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x36d33c);var _0x55ff7e=_0x1f2baa(_0x2327c6);_0x947f99&&_0x947f99[_0x1a4e('0x306c')](_0x2327c6,_0x55ff7e),_0x3abd37(_0x55ff7e),_0x368e5a[_0x1a4e('0x3057')](_0x55ff7e)||(_0x55ff7e===_0x146f6e||!_0x368e5a[_0x1a4e('0x25ae')](_0x55ff7e)||_0x368e5a[_0x1a4e('0x25d1')](_0x2327c6,_0x42b39d)?_0x1adc17!==_0x368e5a[_0x1a4e('0x2f97')][_0x1a4e('0x2f96')]&&(_0x1adc17=_0x368e5a[_0x1a4e('0x2f97')]['Partial'],_0xdd5544()):_0x8a94f1(_0x1a4e('0x30b6')+_0x36d33c+_0x1a4e('0x30b7')+_0x2327c6));},_0x55ff7e,_0x1a4e('0x30b8'));}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6,_0x55ff7e=new Date(-0x1eb208c2dc0000),_0x1adc17=new Date(0x1eb208c2dc0000);function _0xf79407(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1772')]();return{'setValue':function(_0x368e5a,_0x55ff7e){_0x2327c6[_0x1a4e('0x17a')](_0x146f6e(_0x368e5a),_0x55ff7e);},'getValue':function(_0x368e5a){return _0x2327c6[_0x1a4e('0x179')](_0x146f6e(_0x368e5a));},'removeKey':function(_0x368e5a){_0x2327c6[_0x1a4e('0xf4c')](_0x146f6e(_0x368e5a));},'forEach':function(_0x368e5a){_0x2327c6['forEach'](_0x368e5a);},'hasKey':function(_0x368e5a){return _0x2327c6['has'](_0x146f6e(_0x368e5a));},'getSize':function(){return _0x2327c6['size'];},'clear':function(){_0x2327c6[_0x1a4e('0xb5')]();}};}function _0x2c9ec9(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x368e5a['getValue'](_0x146f6e);return _0x1adc17||(_0x55ff7e=_0x2327c6(),_0x368e5a[_0x1a4e('0x272')](_0x146f6e,_0x55ff7e)),_0x1adc17||_0x55ff7e;}function _0x420b32(_0x146f6e,_0x2327c6){return _0x2c9ec9(_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x1772')]);}function _0x1b06ad(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['getRelativePathFromDirectory'](_0x56674b(_0x2327c6[_0x1a4e('0x8dc')],_0x2327c6['options'][_0x1a4e('0x2304')]),_0x146f6e,!0x0),_0x1adc17=_0x368e5a[_0x1a4e('0x1b4c')](_0x2327c6[_0x1a4e('0x8dc')][_0x1a4e('0x2420')]||_0x2327c6['options'][_0x1a4e('0x2421')]||_0x368e5a[_0x1a4e('0x1671')](_0x2327c6[_0x1a4e('0x8dc')][_0x1a4e('0x2304')]),_0x55ff7e);return _0x368e5a[_0x1a4e('0x25d9')](_0x1adc17,_0x1a4e('0x1a83'));}function _0x326eae(_0x146f6e,_0x2327c6){if(_0x2327c6[_0x1a4e('0x8dc')][_0x1a4e('0x2445')]||_0x2327c6[_0x1a4e('0x8dc')][_0x1a4e('0x303')]||_0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x1a4e('0x1a83')))return _0x368e5a['emptyArray'];var _0x55ff7e=[],_0x1adc17=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x25a5')](_0x56674b(_0x2327c6[_0x1a4e('0x8dc')],_0x2327c6[_0x1a4e('0x8dc')][_0x1a4e('0x2304')]),_0x146f6e,!0x0),_0x1adc17=_0x368e5a[_0x1a4e('0x1b4c')](_0x2327c6['options'][_0x1a4e('0x2421')]||_0x368e5a[_0x1a4e('0x1671')](_0x2327c6['options'][_0x1a4e('0x2304')]),_0x55ff7e),_0xf79407=_0x368e5a['fileExtensionIs'](_0x146f6e,_0x1a4e('0x1a87'))?_0x1a4e('0x1a87'):_0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x1a4e('0x1a81'))&&0x1===_0x2327c6[_0x1a4e('0x8dc')][_0x1a4e('0x294b')]?_0x1a4e('0x1a86'):_0x1a4e('0x1a84');return _0x368e5a['changeExtension'](_0x1adc17,_0xf79407);}(_0x146f6e,_0x2327c6);if(_0x55ff7e[_0x1a4e('0x46')](_0x1adc17),_0x2327c6[_0x1a4e('0x8dc')]['sourceMap']&&_0x55ff7e['push'](_0x1adc17+'.map'),_0x368e5a[_0x1a4e('0x2b9d')](_0x2327c6['options'])&&!_0x368e5a['fileExtensionIs'](_0x146f6e,_0x1a4e('0x1a87'))){var _0xf79407=_0x1b06ad(_0x146f6e,_0x2327c6);_0x55ff7e[_0x1a4e('0x46')](_0xf79407),_0x2327c6[_0x1a4e('0x8dc')][_0x1a4e('0x2f80')]&&_0x55ff7e['push'](_0xf79407+_0x1a4e('0x2f49'));}return _0x55ff7e;}function _0x56674b(_0x146f6e,_0x2327c6){return _0x146f6e[_0x1a4e('0x273b')]||_0x368e5a[_0x1a4e('0x1671')](_0x2327c6);}function _0x12731e(_0x368e5a,_0x146f6e){return _0x146f6e>_0x368e5a?_0x146f6e:_0x368e5a;}function _0x531c47(_0x146f6e){return _0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x1a4e('0x1a83'));}function _0x54dd37(_0x146f6e,_0x2327c6){return function(_0x55ff7e){var _0x1adc17=_0x2327c6?'['+_0x368e5a[_0x1a4e('0x2fc1')](new Date()[_0x1a4e('0x30b9')](),_0x368e5a[_0x1a4e('0x2fbb')]['Grey'])+']\x20':new Date()[_0x1a4e('0x30b9')]()+_0x1a4e('0x2ee');_0x1adc17+=''+_0x368e5a[_0x1a4e('0x16d1')](_0x55ff7e[_0x1a4e('0x16d2')],_0x146f6e[_0x1a4e('0x16d0')])+(_0x146f6e['newLine']+_0x146f6e['newLine']),_0x146f6e[_0x1a4e('0x146')](_0x1adc17);};}function _0x51fcaa(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x146f6e&&(_0x146f6e=_0x368e5a['sys']);var _0x1adc17=_0x368e5a[_0x1a4e('0x2fab')]({},void 0x0,_0x146f6e);return _0x1adc17['getModifiedTime']=_0x146f6e[_0x1a4e('0x1b3b')]?function(_0x368e5a){return _0x146f6e[_0x1a4e('0x1b3b')](_0x368e5a);}:function(){},_0x1adc17[_0x1a4e('0x1b4f')]=_0x146f6e['setModifiedTime']?function(_0x368e5a,_0x2327c6){return _0x146f6e[_0x1a4e('0x1b4f')](_0x368e5a,_0x2327c6);}:_0x368e5a[_0x1a4e('0x10bf')],_0x1adc17[_0x1a4e('0x1b4e')]=_0x146f6e[_0x1a4e('0x1b4e')]?function(_0x368e5a){return _0x146f6e[_0x1a4e('0x1b4e')](_0x368e5a);}:_0x368e5a[_0x1a4e('0x10bf')],_0x1adc17[_0x1a4e('0x30ba')]=_0x2327c6||_0x368e5a[_0x1a4e('0x308c')](_0x146f6e),_0x1adc17['reportSolutionBuilderStatus']=_0x55ff7e||_0x54dd37(_0x146f6e),_0x1adc17;}function _0x1d79f5(_0x146f6e){var _0x2327c6={};return _0x368e5a[_0x1a4e('0x271d')]['forEach'](function(_0x368e5a){_0x2327c6[_0x368e5a[_0x1a4e('0x2cb')]]=_0x146f6e[_0x368e5a[_0x1a4e('0x2cb')]];}),_0x2327c6;}function _0x181a12(_0x146f6e){return _0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x1a4e('0x1a87'))?_0x146f6e:_0x368e5a[_0x1a4e('0x1673')](_0x146f6e,'tsconfig.json');}function _0x4ae421(_0x146f6e){if(_0x146f6e[_0x1a4e('0x8dc')]['outFile']||_0x146f6e['options'][_0x1a4e('0x303')])return function(_0x146f6e){var _0x2327c6=_0x146f6e['options'][_0x1a4e('0x2445')]||_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0x303')];if(!_0x2327c6)return _0x368e5a[_0x1a4e('0x1749')]['fail'](_0x1a4e('0x30bb'));var _0x55ff7e=[];if(_0x55ff7e['push'](_0x2327c6),_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0x2f4a')]&&_0x55ff7e[_0x1a4e('0x46')](_0x2327c6+'.map'),_0x368e5a[_0x1a4e('0x2b9d')](_0x146f6e[_0x1a4e('0x8dc')])){var _0x1adc17=_0x368e5a[_0x1a4e('0x25d9')](_0x2327c6,'.d.ts');_0x55ff7e[_0x1a4e('0x46')](_0x1adc17),_0x146f6e['options']['declarationMap']&&_0x55ff7e[_0x1a4e('0x46')](_0x1adc17+_0x1a4e('0x2f49'));}return _0x55ff7e;}(_0x146f6e);for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2708')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x2327c6['push'][_0x1a4e('0x8b')](_0x2327c6,_0x326eae(_0xf79407,_0x146f6e));}return _0x2327c6;}function _0x33d98d(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){switch(_0x55ff7e['type']){case _0x2327c6[_0x1a4e('0x30bc')]:return _0xf79407(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30bd')],_0x1adc17(_0x146f6e),_0x1adc17(_0x55ff7e[_0x1a4e('0x30be')]),_0x1adc17(_0x55ff7e['newerInputFileName']));case _0x2327c6[_0x1a4e('0x30bf')]:return _0xf79407(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30bd')],_0x1adc17(_0x146f6e),_0x1adc17(_0x55ff7e[_0x1a4e('0x30be')]),_0x1adc17(_0x55ff7e[_0x1a4e('0x30c0')]));case _0x2327c6[_0x1a4e('0x30c1')]:return _0xf79407(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30c2')],_0x1adc17(_0x146f6e),_0x1adc17(_0x55ff7e['missingOutputFileName']));case _0x2327c6[_0x1a4e('0x30c3')]:if(void 0x0!==_0x55ff7e['newestInputFileTime'])return _0xf79407(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30c4')],_0x1adc17(_0x146f6e),_0x1adc17(_0x55ff7e[_0x1a4e('0x30c5')]||''),_0x1adc17(_0x55ff7e[_0x1a4e('0x30c6')]||''));break;case _0x2327c6['UpToDateWithUpstreamTypes']:return _0xf79407(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30c7')],_0x1adc17(_0x146f6e));case _0x2327c6[_0x1a4e('0x30c8')]:return _0xf79407(_0x368e5a['Diagnostics']['Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date'],_0x1adc17(_0x146f6e),_0x1adc17(_0x55ff7e[_0x1a4e('0x30c9')]));case _0x2327c6['UpstreamBlocked']:return _0xf79407(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30ca')],_0x1adc17(_0x146f6e),_0x1adc17(_0x55ff7e[_0x1a4e('0x30c9')]));case _0x2327c6[_0x1a4e('0x30cb')]:return _0xf79407(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30cc')],_0x1adc17(_0x146f6e),_0x55ff7e['reason']);case _0x2327c6[_0x1a4e('0x30cd')]:case _0x2327c6[_0x1a4e('0x30ce')]:break;default:_0x368e5a[_0x1a4e('0x1766')](_0x55ff7e);}}!function(_0x368e5a){_0x368e5a[_0x368e5a['None']=0x0]='None',_0x368e5a[_0x368e5a[_0x1a4e('0x16ca')]=0x1]='Success',_0x368e5a[_0x368e5a[_0x1a4e('0x30cf')]=0x2]='DeclarationOutputUnchanged',_0x368e5a[_0x368e5a[_0x1a4e('0x30d0')]=0x4]=_0x1a4e('0x30d0'),_0x368e5a[_0x368e5a[_0x1a4e('0x30d1')]=0x8]='SyntaxErrors',_0x368e5a[_0x368e5a[_0x1a4e('0x30d2')]=0x10]=_0x1a4e('0x30d2'),_0x368e5a[_0x368e5a[_0x1a4e('0x30d3')]=0x20]=_0x1a4e('0x30d3'),_0x368e5a[_0x368e5a[_0x1a4e('0x30d4')]=0x40]=_0x1a4e('0x30d4'),_0x368e5a[_0x368e5a[_0x1a4e('0x30d5')]=0x7c]=_0x1a4e('0x30d5');}(_0x146f6e||(_0x146f6e={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Unbuildable']=0x0]=_0x1a4e('0x30cb'),_0x368e5a[_0x368e5a[_0x1a4e('0x30c3')]=0x1]=_0x1a4e('0x30c3'),_0x368e5a[_0x368e5a['UpToDateWithUpstreamTypes']=0x2]=_0x1a4e('0x30d6'),_0x368e5a[_0x368e5a[_0x1a4e('0x30c1')]=0x3]=_0x1a4e('0x30c1'),_0x368e5a[_0x368e5a['OutOfDateWithSelf']=0x4]=_0x1a4e('0x30bc'),_0x368e5a[_0x368e5a[_0x1a4e('0x30bf')]=0x5]=_0x1a4e('0x30bf'),_0x368e5a[_0x368e5a[_0x1a4e('0x30c8')]=0x6]=_0x1a4e('0x30c8'),_0x368e5a[_0x368e5a[_0x1a4e('0x30d7')]=0x7]=_0x1a4e('0x30d7'),_0x368e5a[_0x368e5a[_0x1a4e('0x30ce')]=0x8]='ComputingUpstream',_0x368e5a[_0x368e5a[_0x1a4e('0x30cd')]=0x9]=_0x1a4e('0x30cd');}(_0x2327c6=_0x368e5a[_0x1a4e('0x30d8')]||(_0x368e5a[_0x1a4e('0x30d8')]={})),_0x368e5a[_0x1a4e('0x3020')]=_0x1b06ad,_0x368e5a[_0x1a4e('0x30d9')]=_0x54dd37,_0x368e5a[_0x1a4e('0x30da')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x146f6e&&(_0x146f6e=_0x368e5a[_0x1a4e('0x16b4')]);var _0xf79407=_0x51fcaa(_0x146f6e,_0x2327c6,_0x55ff7e);return _0xf79407['reportErrorSummary']=_0x1adc17,_0xf79407;},_0x368e5a[_0x1a4e('0x30db')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x51fcaa(_0x146f6e,_0x2327c6,_0x55ff7e),_0x2c9ec9=_0x368e5a[_0x1a4e('0x3099')](_0x146f6e,_0x1adc17);return _0xf79407[_0x1a4e('0x3098')]=_0x2c9ec9[_0x1a4e('0x3098')],_0xf79407[_0x1a4e('0x1b6f')]=_0x2c9ec9['watchFile'],_0xf79407[_0x1a4e('0x1b41')]=_0x2c9ec9[_0x1a4e('0x1b41')],_0xf79407['setTimeout']=_0x2c9ec9[_0x1a4e('0x1016')],_0xf79407[_0x1a4e('0x1015')]=_0x2c9ec9[_0x1a4e('0x1015')],_0xf79407;},_0x368e5a[_0x1a4e('0x30dc')]=function(_0x1b06ad,_0x326eae,_0x56674b){var _0x54dd37,_0x51fcaa,_0x400dc7=_0x1b06ad,_0x4c4cfe=_0x1b06ad[_0x1a4e('0x241c')](),_0x4b42fc=_0x368e5a['createGetCanonicalFileName'](_0x1b06ad[_0x1a4e('0x1b40')]()),_0x40dbe2=_0x368e5a[_0x1a4e('0x3025')](_0x1b06ad),_0x2d2add=_0x56674b,_0x1e4616=_0x1d79f5(_0x2d2add),_0x5640d5=_0xf79407(_0x25b78d),_0x5ae420=_0xf79407(_0x25b78d),_0x166b33=_0xf79407(_0x25b78d),_0x13ad3f=_0x368e5a[_0x1a4e('0x1772')](),_0x232422=function(_0x368e5a){return _0x1b06ad[_0x1a4e('0x27e0')]&&_0x1b06ad[_0x1a4e('0x27e0')](_0x368e5a);},_0x14e8d3=function(_0x368e5a){return _0x1b06ad['readFile'](_0x368e5a);},_0x483264=_0xf79407(_0x25b78d),_0x4061f7=_0xf79407(_0x25b78d),_0x1f0bda=_0xf79407(_0x25b78d),_0x2cf7b8=[],_0x3aaa07=0x0,_0x341a60=!0x1,_0x14395b=_0xf79407(_0x25b78d),_0x53d466=_0xf79407(_0x25b78d),_0x2170e1=_0xf79407(_0x25b78d);return{'buildAllProjects':function(){_0x2d2add['watch']&&_0x26cc4f(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x308e')]);var _0x55ff7e=_0x368e5a[_0x1a4e('0x2fac')](_0x1b06ad,_0x25b78d,!0x0),_0x1adc17=_0x55ff7e[_0x1a4e('0x30dd')],_0xf79407=_0x55ff7e['originalFileExists'],_0x2c9ec9=_0x55ff7e[_0x1a4e('0x30de')],_0x420b32=_0x55ff7e[_0x1a4e('0x30df')],_0x326eae=_0x55ff7e['originalWriteFile'],_0x12731e=_0x55ff7e[_0x1a4e('0x30e0')],_0x531c47=_0x55ff7e[_0x1a4e('0x30e1')],_0x54dd37=_0x14e8d3;_0x14e8d3=_0x531c47;var _0x51fcaa=_0x15d07c();!function(_0x146f6e){_0x2d2add[_0x1a4e('0x57')]&&_0x5d761d(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30e2')],_0x146f6e[_0x1a4e('0x30e3')][_0x1a4e('0x21')](function(_0x368e5a){return _0x1a4e('0x30e4')+_0x2e0b41(_0x368e5a);})[_0x1a4e('0x9e')](''));}(_0x51fcaa);for(var _0x1d79f5=!0x1,_0x181a12=0x0,_0x4ae421=_0x51fcaa[_0x1a4e('0x30e3')];_0x181a12<_0x4ae421[_0x1a4e('0x1e')];_0x181a12++){var _0x33d98d=_0x4ae421[_0x181a12],_0x400dc7=_0x3c7bfc(_0x33d98d);if(void 0x0===_0x400dc7){_0x53887c(_0x33d98d),_0x1d79f5=!0x0;break;}var _0x4c4cfe=_0x400dc7[_0x1a4e('0x8dd')],_0x4b42fc=_0x1700cd(_0x400dc7);_0x3454b8(_0x33d98d,_0x4b42fc);var _0x40dbe2=_0x400dc7[_0x1a4e('0x8dc')][_0x1a4e('0x2304')];if(_0x4b42fc[_0x1a4e('0x40')]!==_0x2327c6[_0x1a4e('0x30c3')]||_0x2d2add[_0x1a4e('0x2798')])if(_0x4b42fc[_0x1a4e('0x40')]!==_0x2327c6[_0x1a4e('0x30d6')]||_0x2d2add[_0x1a4e('0x2798')])if(_0x4b42fc[_0x1a4e('0x40')]!==_0x2327c6[_0x1a4e('0x30d7')])if(_0x4b42fc[_0x1a4e('0x40')]!==_0x2327c6['ContainerOnly']){var _0x1e4616=_0x4787c2(_0x33d98d);_0x1d79f5=_0x1d79f5||!!(_0x1e4616&_0x146f6e[_0x1a4e('0x30d5')]);}else _0x447525(_0x33d98d,_0x4c4cfe);else _0x447525(_0x33d98d,_0x4c4cfe),_0x2d2add[_0x1a4e('0x57')]&&_0x5d761d(_0x368e5a[_0x1a4e('0x167d')]['Skipping_build_of_project_0_because_its_dependency_1_has_errors'],_0x40dbe2,_0x4b42fc['upstreamProjectName']);else _0x447525(_0x33d98d,_0x4c4cfe),_0x24ef0c(_0x400dc7);else _0x447525(_0x33d98d,_0x4c4cfe),_0x56674b[_0x1a4e('0x2797')]&&_0x5d761d(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30e5')],_0x40dbe2);}return _0x4b1f36(),_0x1b06ad['readFile']=_0x1adc17,_0x1b06ad[_0x1a4e('0x1b4d')]=_0xf79407,_0x1b06ad['directoryExists']=_0x2c9ec9,_0x1b06ad[_0x1a4e('0x16b6')]=_0x420b32,_0x1b06ad['writeFile']=_0x326eae,_0x14e8d3=_0x54dd37,_0x1b06ad[_0x1a4e('0x288f')]=_0x12731e,_0x1d79f5?_0x368e5a['ExitStatus'][_0x1a4e('0x1921')]:_0x368e5a[_0x1a4e('0x1923')][_0x1a4e('0x16ca')];},'getUpToDateStatusOfFile':function(_0x368e5a){return _0x1700cd(_0x3c7bfc(_0x368e5a));},'cleanAllProjects':function(){var _0x146f6e=function(){for(var _0x368e5a=_0x15d07c(),_0x146f6e=[],_0x2327c6=0x0,_0x55ff7e=_0x368e5a['buildQueue'];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6],_0xf79407=_0x3c7bfc(_0x1adc17);if(void 0x0!==_0xf79407)for(var _0x2c9ec9=_0x4ae421(_0xf79407),_0x420b32=0x0,_0x326eae=_0x2c9ec9;_0x420b32<_0x326eae[_0x1a4e('0x1e')];_0x420b32++){var _0x56674b=_0x326eae[_0x420b32];_0x1b06ad['fileExists'](_0x56674b)&&_0x146f6e[_0x1a4e('0x46')](_0x56674b);}else _0x53887c(_0x1adc17);}return _0x146f6e;}();if(_0x2d2add[_0x1a4e('0x2797')])return _0x5d761d(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30e6')],_0x146f6e[_0x1a4e('0x21')](function(_0x368e5a){return _0x1a4e('0x30e7')+_0x368e5a;})[_0x1a4e('0x9e')]('')),_0x368e5a[_0x1a4e('0x1923')][_0x1a4e('0x16ca')];for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e;_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x1b06ad[_0x1a4e('0x1b4e')](_0x1adc17);}return _0x368e5a['ExitStatus'][_0x1a4e('0x16ca')];},'resetBuildContext':function(_0x146f6e){void 0x0===_0x146f6e&&(_0x146f6e=_0x56674b),_0x1e4616=_0x1d79f5(_0x2d2add=_0x146f6e),_0x5640d5[_0x1a4e('0xb5')](),_0x5ae420[_0x1a4e('0xb5')](),_0x166b33['clear'](),_0x13ad3f[_0x1a4e('0xb5')](),_0x54dd37=void 0x0,_0x483264[_0x1a4e('0xb5')](),_0x4061f7[_0x1a4e('0xb5')](),_0x1f0bda[_0x1a4e('0xb5')](),_0x2cf7b8[_0x1a4e('0x1e')]=0x0,_0x3aaa07=0x0,_0x51fcaa&&(clearTimeout(_0x51fcaa),_0x51fcaa=void 0x0),_0x341a60=!0x1,_0x368e5a[_0x1a4e('0x305e')](_0x14395b,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x305e')](_0x146f6e,_0x368e5a[_0x1a4e('0x305f')]);}),_0x368e5a[_0x1a4e('0x305e')](_0x53d466,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x305e')](_0x146f6e,_0x368e5a[_0x1a4e('0x1b44')]);}),_0x368e5a[_0x1a4e('0x305e')](_0x2170e1,_0x368e5a[_0x1a4e('0x1b44')]);},'getBuildGraph':_0x2403a6,'invalidateProject':function(_0x368e5a,_0x146f6e){_0x541226(_0x53310b(_0x368e5a),_0x146f6e);},'buildInvalidatedProject':_0xd441d1,'resolveProjectName':_0x53310b,'startWatching':function(){for(var _0x368e5a=_0x15d07c(),_0x146f6e=0x0,_0x2327c6=_0x368e5a[_0x1a4e('0x30e3')];_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x2327c6[_0x146f6e];_0x4b4940(_0x55ff7e);var _0x1adc17=_0x3c7bfc(_0x55ff7e);_0x1adc17&&(_0x1a4bb1(_0x55ff7e,_0x1adc17),_0x484258(_0x55ff7e,_0x1adc17));}}};function _0x25b78d(_0x146f6e){return _0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x4c4cfe,_0x4b42fc);}function _0x3c7bfc(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x5640d5[_0x1a4e('0x1460')](_0x146f6e);if(_0x55ff7e)return _0x55ff7e[_0x1a4e('0x8dc')]?_0x55ff7e:void 0x0;_0x40dbe2[_0x1a4e('0x27b5')]=function(_0x368e5a){return _0x2327c6=_0x368e5a;};var _0x1adc17=_0x368e5a[_0x1a4e('0x27b4')](_0x146f6e,_0x1e4616,_0x40dbe2);return _0x40dbe2[_0x1a4e('0x27b5')]=_0x368e5a[_0x1a4e('0x10bf')],_0x5640d5[_0x1a4e('0x272')](_0x146f6e,_0x1adc17||_0x2327c6),_0x1adc17;}function _0x5d761d(_0x146f6e){for(var _0x2327c6=[],_0x55ff7e=0x1;_0x55ff7e_0x2c9ec9&&(_0xf79407=_0x56674b,_0x2c9ec9=_0x54dd37);}var _0x51fcaa=_0x4ae421(_0x146f6e);if(0x0===_0x51fcaa[_0x1a4e('0x1e')])return{'type':_0x2327c6[_0x1a4e('0x30cd')]};for(var _0x1d79f5,_0x181a12=_0x1a4e('0x30ec'),_0x33d98d=_0x1adc17,_0x400dc7=_0x1a4e('0x30ec'),_0x4c4cfe=_0x55ff7e,_0x4b42fc=_0x55ff7e,_0x40dbe2=!0x1,_0x2d2add=0x0,_0x1e4616=_0x51fcaa;_0x2d2add<_0x1e4616[_0x1a4e('0x1e')];_0x2d2add++){var _0x5640d5=_0x1e4616[_0x2d2add];if(!_0x1b06ad['fileExists'](_0x5640d5)){_0x1d79f5=_0x5640d5;break;}var _0x13ad3f=_0x1b06ad[_0x1a4e('0x1b3b')](_0x5640d5)||_0x368e5a[_0x1a4e('0x1b32')];if(_0x13ad3f<_0x33d98d&&(_0x33d98d=_0x13ad3f,_0x181a12=_0x5640d5),_0x13ad3f<_0x2c9ec9){_0x40dbe2=!0x0;break;}if(_0x13ad3f>_0x4c4cfe&&(_0x4c4cfe=_0x13ad3f,_0x400dc7=_0x5640d5),_0x531c47(_0x5640d5)){var _0x232422=_0x5ae420[_0x1a4e('0x1460')](_0x5640d5);if(void 0x0!==_0x232422)_0x4b42fc=_0x12731e(_0x232422,_0x4b42fc);else{var _0x14e8d3=_0x1b06ad['getModifiedTime'](_0x5640d5)||_0x368e5a['missingFileModifiedTime'];_0x4b42fc=_0x12731e(_0x4b42fc,_0x14e8d3);}}}var _0x483264,_0x4061f7=!0x1,_0x1f0bda=!0x1;if(_0x146f6e['projectReferences']){_0x166b33[_0x1a4e('0x272')](_0x146f6e['options']['configFilePath'],{'type':_0x2327c6['ComputingUpstream']});for(var _0x2cf7b8=0x0,_0x3aaa07=_0x146f6e['projectReferences'];_0x2cf7b8<_0x3aaa07['length'];_0x2cf7b8++){var _0x341a60=_0x3aaa07[_0x2cf7b8];_0x1f0bda=_0x1f0bda||!!_0x341a60[_0x1a4e('0x1610')];var _0x14395b=_0x368e5a[_0x1a4e('0x3026')](_0x341a60),_0x53d466=_0x1700cd(_0x3c7bfc(_0x14395b));if(_0x53d466[_0x1a4e('0x40')]!==_0x2327c6[_0x1a4e('0x30ce')]){if(_0x53d466[_0x1a4e('0x40')]===_0x2327c6['Unbuildable'])return{'type':_0x2327c6[_0x1a4e('0x30d7')],'upstreamProjectName':_0x341a60[_0x1a4e('0x64')]};if(_0x53d466[_0x1a4e('0x40')]!==_0x2327c6[_0x1a4e('0x30c3')])return{'type':_0x2327c6[_0x1a4e('0x30c8')],'upstreamProjectName':_0x341a60['path']};if(!(_0x53d466[_0x1a4e('0x30ed')]&&_0x53d466[_0x1a4e('0x30ed')]<=_0x33d98d)){if(!(_0x53d466[_0x1a4e('0x30ee')]&&_0x53d466[_0x1a4e('0x30ee')]<=_0x33d98d))return _0x368e5a['Debug']['assert'](void 0x0!==_0x181a12,_0x1a4e('0x30ef')),{'type':_0x2327c6[_0x1a4e('0x30bf')],'outOfDateOutputFileName':_0x181a12,'newerProjectName':_0x341a60[_0x1a4e('0x64')]};_0x4061f7=!0x0,_0x483264=_0x341a60[_0x1a4e('0x64')];}}}}return void 0x0!==_0x1d79f5?{'type':_0x2327c6[_0x1a4e('0x30c1')],'missingOutputFileName':_0x1d79f5}:_0x40dbe2?{'type':_0x2327c6[_0x1a4e('0x30bc')],'outOfDateOutputFileName':_0x181a12,'newerInputFileName':_0xf79407}:_0x1f0bda&&_0x4061f7?{'type':_0x2327c6[_0x1a4e('0x30bf')],'outOfDateOutputFileName':_0x181a12,'newerProjectName':_0x483264}:{'type':_0x4061f7?_0x2327c6[_0x1a4e('0x30d6')]:_0x2327c6[_0x1a4e('0x30c3')],'newestDeclarationFileContentChangedTime':_0x4b42fc,'newestInputFileTime':_0x2c9ec9,'newestOutputFileTime':_0x4c4cfe,'newestInputFileName':_0xf79407,'newestOutputFileName':_0x400dc7,'oldestOutputFileName':_0x181a12};}(_0x146f6e);return _0x166b33['setValue'](_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0x2304')],_0x2c9ec9),_0x2c9ec9;}function _0x541226(_0x146f6e,_0x2327c6){_0x2327c6===_0x368e5a[_0x1a4e('0x2f97')][_0x1a4e('0x2f96')]&&(_0x5640d5['removeKey'](_0x146f6e),_0x54dd37=void 0x0),_0x166b33[_0x1a4e('0x30f0')](_0x146f6e),_0x483264[_0x1a4e('0x30f0')](_0x146f6e),_0x3e3c82(_0x146f6e,_0x2327c6);}function _0x3e3c82(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x4061f7['getValue'](_0x146f6e);void 0x0===_0x55ff7e?(_0x4061f7[_0x1a4e('0x272')](_0x146f6e,_0x2327c6||_0x368e5a[_0x1a4e('0x2f97')][_0x1a4e('0x1733')]),_0x2cf7b8[_0x1a4e('0x46')](_0x146f6e)):_0x55ff7e<(_0x2327c6||_0x368e5a[_0x1a4e('0x2f97')]['None'])&&_0x4061f7['setValue'](_0x146f6e,_0x2327c6||_0x368e5a[_0x1a4e('0x2f97')][_0x1a4e('0x1733')]);}function _0x5f1616(){_0x400dc7['setTimeout']&&_0x400dc7[_0x1a4e('0x1015')]&&(_0x51fcaa&&_0x400dc7[_0x1a4e('0x1015')](_0x51fcaa),_0x51fcaa=_0x400dc7[_0x1a4e('0x1016')](_0xd441d1,0xfa));}function _0xd441d1(){_0x51fcaa=void 0x0,_0x341a60&&(_0x341a60=!0x1,_0x1f0bda[_0x1a4e('0xb5')](),_0x26cc4f(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x308f')]));var _0x55ff7e=function(){if(_0x3aaa07<_0x2cf7b8[_0x1a4e('0x1e')]){var _0x368e5a=_0x2cf7b8[_0x3aaa07];_0x3aaa07++;var _0x146f6e=_0x4061f7['getValue'](_0x368e5a);return _0x4061f7[_0x1a4e('0x30f0')](_0x368e5a),_0x4061f7[_0x1a4e('0x30f1')]()||(_0x2cf7b8[_0x1a4e('0x1e')]=0x0,_0x3aaa07=0x0),{'project':_0x368e5a,'reloadLevel':_0x146f6e};}}();_0x55ff7e&&(function(_0x55ff7e,_0x1adc17){var _0xf79407=_0x3c7bfc(_0x55ff7e);if(_0xf79407){if(_0x1adc17===_0x368e5a[_0x1a4e('0x2f97')]['Full'])_0x4b4940(_0x55ff7e),_0x1a4bb1(_0x55ff7e,_0xf79407),_0x484258(_0x55ff7e,_0xf79407);else if(_0x1adc17===_0x368e5a[_0x1a4e('0x2f97')][_0x1a4e('0x1995')]){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x27d2')](_0xf79407[_0x1a4e('0x27bb')],_0x368e5a[_0x1a4e('0x1671')](_0x55ff7e),_0xf79407[_0x1a4e('0x8dc')],_0x40dbe2);_0x368e5a['updateErrorForNoInputFiles'](_0x2c9ec9,_0x55ff7e,_0xf79407[_0x1a4e('0x27bb')],_0xf79407[_0x1a4e('0x8dd')],_0x368e5a[_0x1a4e('0x27c8')](_0xf79407[_0x1a4e('0x87e')])),_0xf79407[_0x1a4e('0x2708')]=_0x2c9ec9[_0x1a4e('0x2708')],_0x484258(_0x55ff7e,_0xf79407);}var _0x420b32=_0x1700cd(_0xf79407);if(_0x3454b8(_0x55ff7e,_0x420b32),_0x420b32[_0x1a4e('0x40')]!==_0x2327c6[_0x1a4e('0x30d7')]){var _0x1b06ad=_0x4787c2(_0x55ff7e),_0x326eae=_0x15d07c(),_0x56674b=_0x326eae[_0x1a4e('0x30f2')][_0x1a4e('0x1460')](_0x55ff7e);if(_0x56674b)for(var _0x12731e=0x0,_0x531c47=_0x326eae[_0x1a4e('0x30e3')];_0x12731e<_0x531c47['length'];_0x12731e++){var _0x54dd37=_0x531c47[_0x12731e],_0x51fcaa=_0x56674b[_0x1a4e('0x1460')](_0x54dd37);!_0x51fcaa&&(void 0x0===_0x51fcaa||_0x1b06ad&_0x146f6e[_0x1a4e('0x30cf')])||_0x3e3c82(_0x54dd37);}}else _0x2d2add['verbose']&&_0x5d761d(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30f3')],_0x55ff7e,_0x420b32['upstreamProjectName']);}else _0x53887c(_0x55ff7e);}(_0x55ff7e[_0x1a4e('0x500')],_0x55ff7e[_0x1a4e('0x30f4')]),_0x4061f7['getSize']()?_0x2d2add['watch']&&!_0x51fcaa&&_0x5f1616():_0x4b1f36());}function _0x4b1f36(){if(_0x2d2add[_0x1a4e('0x1b72')]||_0x1b06ad['reportErrorSummary']){_0x15d07c()[_0x1a4e('0x30e3')]['forEach'](function(_0x146f6e){_0x1f0bda[_0x1a4e('0x30e9')](_0x146f6e)||_0x56c8a4(_0x483264[_0x1a4e('0x1460')](_0x146f6e)||_0x368e5a['emptyArray']);});var _0x146f6e=0x0;_0x483264[_0x1a4e('0x3b')](function(_0x2327c6){return _0x146f6e+=_0x368e5a[_0x1a4e('0x3092')](_0x2327c6);}),_0x2d2add[_0x1a4e('0x1b72')]?_0x26cc4f(_0x368e5a[_0x1a4e('0x3093')](_0x146f6e),_0x146f6e):_0x1b06ad[_0x1a4e('0x30f5')](_0x146f6e);}}function _0x4787c2(_0xf79407){if(_0x2d2add[_0x1a4e('0x2797')])return _0x5d761d(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30f6')],_0xf79407),_0x146f6e[_0x1a4e('0x16ca')];_0x2d2add[_0x1a4e('0x57')]&&_0x5d761d(_0x368e5a['Diagnostics'][_0x1a4e('0x30f7')],_0xf79407);var _0x2c9ec9=_0x146f6e[_0x1a4e('0x1733')];_0x2c9ec9|=_0x146f6e[_0x1a4e('0x30cf')];var _0x420b32=_0x3c7bfc(_0xf79407);if(!_0x420b32)return _0x2c9ec9|=_0x146f6e[_0x1a4e('0x30d0')],_0x53887c(_0xf79407),_0x166b33[_0x1a4e('0x272')](_0xf79407,{'type':_0x2327c6[_0x1a4e('0x30cb')],'reason':_0x1a4e('0x30f8')}),_0x2c9ec9;if(0x0===_0x420b32[_0x1a4e('0x2708')][_0x1a4e('0x1e')])return _0x447525(_0xf79407,_0x420b32[_0x1a4e('0x8dd')]),_0x146f6e[_0x1a4e('0x1733')];var _0x326eae={'projectReferences':_0x420b32[_0x1a4e('0x2fc8')],'host':_0x1b06ad,'rootNames':_0x420b32['fileNames'],'options':_0x420b32['options'],'configFileParsingDiagnostics':_0x420b32[_0x1a4e('0x8dd')]};_0x1b06ad['beforeCreateProgram']&&_0x1b06ad[_0x1a4e('0x30f9')](_0x2d2add);var _0x56674b=_0x368e5a['createProgram'](_0x326eae),_0x54dd37=_0x56674b['getOptionsDiagnostics']()[_0x1a4e('0x9a')](_0x56674b[_0x1a4e('0x2fae')](),_0x56674b[_0x1a4e('0x2fb0')]());if(_0x54dd37[_0x1a4e('0x1e')])return _0x40dbe2(_0x54dd37,_0x146f6e[_0x1a4e('0x30d1')],_0x1a4e('0x30fa'));var _0x51fcaa=_0x56674b['getSemanticDiagnostics']();if(_0x51fcaa[_0x1a4e('0x1e')])return _0x40dbe2(_0x51fcaa,_0x146f6e['TypeErrors'],_0x1a4e('0x30fb'));var _0x1d79f5,_0x181a12=_0x55ff7e,_0x4ae421=!0x1,_0x33d98d=[];if(_0x368e5a[_0x1a4e('0x3097')](_0x56674b,function(_0x368e5a){return(_0x1d79f5||(_0x1d79f5=[]))['push'](_0x368e5a);},_0x232422,void 0x0,function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x33d98d[_0x1a4e('0x46')]({'name':_0x368e5a,'text':_0x146f6e,'writeByteOrderMark':_0x2327c6});}),_0x1d79f5)return _0x40dbe2(_0x1d79f5,_0x146f6e[_0x1a4e('0x30d3')],_0x1a4e('0x30fc'));var _0x400dc7=_0x368e5a[_0x1a4e('0x2413')]();_0x33d98d['forEach'](function(_0x2327c6){var _0x55ff7e,_0x1adc17=_0x2327c6[_0x1a4e('0x2cb')],_0xf79407=_0x2327c6[_0x1a4e('0xe04')],_0x420b32=_0x2327c6['writeByteOrderMark'];!_0x4ae421&&_0x531c47(_0x1adc17)&&(_0x1b06ad[_0x1a4e('0x1b4d')](_0x1adc17)&&_0x14e8d3(_0x1adc17)===_0xf79407?_0x55ff7e=_0x1b06ad['getModifiedTime'](_0x1adc17):(_0x2c9ec9&=~_0x146f6e[_0x1a4e('0x30cf')],_0x4ae421=!0x0)),_0x368e5a[_0x1a4e('0x16b7')](_0x1b06ad,_0x400dc7,_0x1adc17,_0xf79407,_0x420b32),void 0x0!==_0x55ff7e&&(_0x181a12=_0x12731e(_0x55ff7e,_0x181a12),_0x5ae420[_0x1a4e('0x272')](_0x1adc17,_0x55ff7e));});var _0x4c4cfe=_0x400dc7[_0x1a4e('0x2f81')]();if(_0x4c4cfe[_0x1a4e('0x1e')])return _0x40dbe2(_0x4c4cfe,_0x146f6e[_0x1a4e('0x30d4')],_0x1a4e('0x2f8a'));var _0x4b42fc={'type':_0x2327c6[_0x1a4e('0x30c3')],'newestDeclarationFileContentChangedTime':_0x4ae421?_0x1adc17:_0x181a12};return _0x483264[_0x1a4e('0x30f0')](_0xf79407),_0x166b33[_0x1a4e('0x272')](_0xf79407,_0x4b42fc),_0x1b06ad[_0x1a4e('0x30fd')]&&_0x1b06ad[_0x1a4e('0x30fd')](_0x56674b),_0x2c9ec9;function _0x40dbe2(_0x368e5a,_0x146f6e,_0x55ff7e){return _0x2c9ec9|=_0x146f6e,_0x447525(_0xf79407,_0x368e5a),_0x166b33[_0x1a4e('0x272')](_0xf79407,{'type':_0x2327c6['Unbuildable'],'reason':_0x55ff7e+'\x20errors'}),_0x1b06ad[_0x1a4e('0x30fd')]&&_0x1b06ad[_0x1a4e('0x30fd')](_0x56674b),_0x2c9ec9;}}function _0x24ef0c(_0x146f6e){if(_0x2d2add[_0x1a4e('0x2797')])return _0x5d761d(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30f6')],_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0x2304')]);_0x2d2add[_0x1a4e('0x57')]&&_0x5d761d(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x30fe')],_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0x2304')]);for(var _0x1adc17=new Date(),_0xf79407=_0x4ae421(_0x146f6e),_0x2c9ec9=_0x55ff7e,_0x420b32=0x0,_0x326eae=_0xf79407;_0x420b32<_0x326eae[_0x1a4e('0x1e')];_0x420b32++){var _0x56674b=_0x326eae[_0x420b32];_0x531c47(_0x56674b)&&(_0x2c9ec9=_0x12731e(_0x2c9ec9,_0x1b06ad[_0x1a4e('0x1b3b')](_0x56674b)||_0x368e5a[_0x1a4e('0x1b32')])),_0x1b06ad[_0x1a4e('0x1b4f')](_0x56674b,_0x1adc17);}_0x166b33[_0x1a4e('0x272')](_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0x2304')],{'type':_0x2327c6[_0x1a4e('0x30c3')],'newestDeclarationFileContentChangedTime':_0x2c9ec9});}function _0x53310b(_0x146f6e){return _0x181a12(_0x368e5a['resolvePath'](_0x1b06ad[_0x1a4e('0x241c')](),_0x146f6e));}function _0x53887c(_0x368e5a){_0x447525(_0x368e5a,[_0x5640d5['getValue'](_0x368e5a)]);}function _0x447525(_0x368e5a,_0x146f6e){_0x56c8a4(_0x146f6e),_0x1f0bda[_0x1a4e('0x272')](_0x368e5a,!0x0),_0x483264[_0x1a4e('0x272')](_0x368e5a,_0x146f6e);}function _0x56c8a4(_0x368e5a){_0x368e5a['forEach'](function(_0x368e5a){return _0x1b06ad[_0x1a4e('0x30ba')](_0x368e5a);});}function _0x2e0b41(_0x146f6e){return _0x368e5a[_0x1a4e('0x259d')](_0x146f6e,_0x1b06ad[_0x1a4e('0x241c')](),function(_0x368e5a){return _0x1b06ad['getCanonicalFileName'](_0x368e5a);});}function _0x3454b8(_0x368e5a,_0x146f6e){if(_0x2d2add[_0x1a4e('0x57')])return _0x33d98d(_0x368e5a,_0x146f6e,_0x2e0b41,_0x5d761d);}},_0x368e5a[_0x1a4e('0x2fc0')]=_0x181a12,_0x368e5a[_0x1a4e('0x30ff')]=_0x4ae421,_0x368e5a[_0x1a4e('0x3100')]=_0x33d98d;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x368e5a,_0x146f6e){return _0x55ff7e(_0x368e5a,_0x146f6e,(_0x2327c6=new Set(),_0x1adc17=[],function(_0x368e5a,_0x146f6e,_0x55ff7e,_0xf79407){if(_0x2327c6[_0x1a4e('0x178')](_0x368e5a)||_0x1adc17[_0x1a4e('0x1e')]>0x4)return _0xf79407(_0x2327c6[_0x1a4e('0x178')](_0x368e5a),_0x1adc17);_0x2327c6['add'](_0x368e5a),_0x1adc17[_0x1a4e('0x46')](_0x146f6e);var _0x2c9ec9=_0x55ff7e();return _0x1adc17[_0x1a4e('0x76')](),_0x2327c6[_0x1a4e('0xf4c')](_0x368e5a),_0x2c9ec9;}));var _0x2327c6,_0x1adc17;}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x1adc17){return _0x1adc17(_0x2327c6,_0x146f6e,function(){if(_0x1a4e('0x68')==typeof _0x2327c6)return function(_0x146f6e,_0x2327c6,_0x1adc17){var _0xf79407=function(_0x146f6e,_0x2327c6){var _0x1adc17=_0x146f6e['prototype'];return'object'!=typeof _0x1adc17||null===_0x1adc17?_0x368e5a[_0x1a4e('0x1700')]:_0x368e5a[_0x1a4e('0x1713')](_0x1b06ad(_0x1adc17),function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x35f')],_0x1adc17=_0x368e5a[_0x1a4e('0x255')];return'constructor'===_0x146f6e?void 0x0:_0x55ff7e(_0x146f6e,_0x1adc17,_0x2327c6);});}(_0x146f6e,_0x1adc17),_0x2c9ec9=_0x368e5a[_0x1a4e('0x104e')](_0x1b06ad(_0x146f6e),function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x35f')],_0x2327c6=_0x368e5a['value'];return _0x55ff7e(_0x146f6e,_0x2327c6,_0x1adc17);}),_0x420b32=_0x368e5a[_0x1a4e('0x172f')](Function[_0x1a4e('0xa')]['toString']['call'](_0x146f6e),_0x368e5a[_0x1a4e('0xb19')]),_0x56674b=_0x368e5a['stringContains'](_0x420b32,'{\x20[native\x20code]\x20}')?function(_0x146f6e){return _0x368e5a[_0x1a4e('0x172e')](_0x326eae(_0x146f6e,_0x1a4e('0x1e')),_0x368e5a['isNumber'])||0x0;}(_0x146f6e):_0x420b32;return{'kind':0x2,'name':_0x2327c6,'source':_0x56674b,'namespaceMembers':_0x2c9ec9,'prototypeMembers':_0xf79407};}(_0x2327c6,_0x146f6e,_0x1adc17);if(_0x1a4e('0x85')==typeof _0x2327c6){var _0x2c9ec9=function(_0x146f6e,_0x2327c6,_0x1adc17){return _0x368e5a[_0x1a4e('0x15')](_0x2327c6)?{'name':_0x146f6e,'kind':0x1,'inner':_0x2327c6[_0x1a4e('0x1e')]&&_0x55ff7e(_0x1a4e('0x26ee'),_0x368e5a[_0x1a4e('0x10f7')](_0x2327c6),_0x1adc17)||_0x4b3b0b(_0x146f6e)}:_0x368e5a[_0x1a4e('0x2308')](_0xf79407(),function(_0x368e5a,_0x55ff7e){return _0x2327c6 instanceof _0x368e5a?{'kind':0x0,'name':_0x146f6e,'typeName':_0x55ff7e}:void 0x0;});}(_0x146f6e,_0x2327c6,_0x1adc17);if(void 0x0!==_0x2c9ec9)return _0x2c9ec9;var _0x420b32=_0x1b06ad(_0x2327c6),_0x16634a=Object[_0x1a4e('0xd98')](_0x2327c6)!==Object[_0x1a4e('0xa')],_0xe79c9f=_0x368e5a[_0x1a4e('0x104e')](_0x420b32,function(_0x368e5a){return _0x55ff7e(_0x368e5a[_0x1a4e('0x35f')],_0x368e5a[_0x1a4e('0x255')],_0x1adc17);});return{'kind':0x3,'name':_0x146f6e,'hasNontrivialPrototype':_0x16634a,'members':_0xe79c9f};}return{'kind':0x0,'name':_0x146f6e,'typeName':_0x56674b(_0x2327c6)?_0x1a4e('0x899'):typeof _0x2327c6};},function(_0x368e5a,_0x2327c6){return _0x4b3b0b(_0x146f6e,'\x20'+(_0x368e5a?_0x1a4e('0x3101'):_0x1a4e('0x3102'))+'\x20from\x20'+_0x2327c6[_0x1a4e('0x9e')]('.'));});}!function(_0x368e5a){_0x368e5a[_0x368e5a['Const']=0x0]=_0x1a4e('0x18c7'),_0x368e5a[_0x368e5a[_0x1a4e('0x104')]=0x1]='Array',_0x368e5a[_0x368e5a[_0x1a4e('0x3103')]=0x2]=_0x1a4e('0x3103'),_0x368e5a[_0x368e5a[_0x1a4e('0xfb5')]=0x3]='Object';}(_0x368e5a[_0x1a4e('0x3104')]||(_0x368e5a[_0x1a4e('0x3104')]={})),_0x368e5a['inspectModule']=function(_0x55ff7e){return _0x146f6e(_0x368e5a[_0x1a4e('0x241e')](_0x368e5a[_0x1a4e('0x2338')](_0x55ff7e)),function(_0x368e5a){try{return _0x2327c6('./node_modules/typedoc/node_modules/typescript/lib\x20sync\x20recursive')(_0x368e5a);}catch(_0x5c5af6){return;}}(_0x55ff7e));},_0x368e5a[_0x1a4e('0x3105')]=_0x146f6e;var _0xf79407=_0x368e5a[_0x1a4e('0x2fa4')](function(){for(var _0x146f6e=_0x368e5a[_0x1a4e('0x1772')](),_0x2327c6=0x0,_0x55ff7e=_0x1b06ad(_0x1adc17);_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0xf79407=_0x55ff7e[_0x2327c6],_0x2c9ec9=_0xf79407[_0x1a4e('0x35f')],_0x420b32=_0xf79407[_0x1a4e('0x255')];'function'==typeof _0x420b32&&_0x1a4e('0x85')==typeof _0x420b32[_0x1a4e('0xa')]&&_0x420b32!==Object&&_0x146f6e[_0x1a4e('0x17a')](_0x2c9ec9,_0x420b32);}return _0x146f6e;});var _0x2c9ec9=new Set(['arguments',_0x1a4e('0x2b7a'),_0x1a4e('0x10'),_0x1a4e('0x285b'),_0x1a4e('0xe47')]),_0x420b32=new Set(Object[_0x1a4e('0xd86')](_0x368e5a[_0x1a4e('0x10bf')]));function _0x1b06ad(_0x146f6e){for(var _0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x55ff7e=[],_0x1adc17=_0x146f6e;!_0x56674b(_0x1adc17)&&_0x1adc17!==Object[_0x1a4e('0xa')]&&_0x1adc17!==Function[_0x1a4e('0xa')];){for(var _0xf79407=0x0,_0x1b06ad=Object['getOwnPropertyNames'](_0x1adc17);_0xf79407<_0x1b06ad[_0x1a4e('0x1e')];_0xf79407++){var _0x4d8e99=_0x1b06ad[_0xf79407];if(!_0x2fbe2c(_0x4d8e99)&&!_0x2c9ec9[_0x1a4e('0x178')](_0x4d8e99)&&('function'!=typeof _0x146f6e||!_0x420b32[_0x1a4e('0x178')](_0x4d8e99))&&_0x368e5a[_0x1a4e('0x3048')](_0x2327c6,_0x4d8e99)){var _0x1341df=_0x326eae(_0x1adc17,_0x4d8e99);_0x1a4e('0x95')===_0x4d8e99&&_0x1a4e('0x68')==typeof _0x1341df&&0x0===_0x1341df[_0x1a4e('0x1e')]||_0x55ff7e[_0x1a4e('0x46')]({'key':_0x4d8e99,'value':_0x1341df});}}_0x1adc17=Object['getPrototypeOf'](_0x1adc17);}return _0x55ff7e[_0x1a4e('0x89')](function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x174a')](_0x146f6e[_0x1a4e('0x35f')],_0x2327c6[_0x1a4e('0x35f')]);});}function _0x326eae(_0x368e5a,_0x146f6e){var _0x2327c6=Object[_0x1a4e('0x12fc')](_0x368e5a,_0x146f6e);return _0x2327c6&&_0x2327c6[_0x1a4e('0x255')];}function _0x56674b(_0x368e5a){return null==_0x368e5a;}function _0x4b3b0b(_0x368e5a,_0x146f6e){return{'kind':0x0,'name':_0x368e5a,'typeName':_0x1a4e('0x899'),'comment':_0x146f6e};}function _0x2fbe2c(_0x368e5a){return _0x368e5a[_0x1a4e('0xdfb')]('_');}_0x368e5a[_0x1a4e('0x3106')]=_0x2fbe2c;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){_0x146f6e[_0x1a4e('0x3107')]='action::set',_0x146f6e[_0x1a4e('0x3108')]='action::invalidate',_0x146f6e[_0x1a4e('0x3109')]=_0x1a4e('0x310a'),_0x146f6e['ActionValueInspected']=_0x1a4e('0x310b'),_0x146f6e['EventTypesRegistry']=_0x1a4e('0x310c'),_0x146f6e['EventBeginInstallTypes']=_0x1a4e('0x310d'),_0x146f6e[_0x1a4e('0x310e')]=_0x1a4e('0x310f'),_0x146f6e[_0x1a4e('0x3110')]=_0x1a4e('0x3111'),function(_0x368e5a){_0x368e5a['GlobalCacheLocation']=_0x1a4e('0x3112'),_0x368e5a['LogFile']=_0x1a4e('0x3113'),_0x368e5a['EnableTelemetry']=_0x1a4e('0x3114'),_0x368e5a['TypingSafeListLocation']=_0x1a4e('0x3115'),_0x368e5a['TypesMapLocation']='--typesMapLocation',_0x368e5a[_0x1a4e('0x3116')]=_0x1a4e('0x3117');}(_0x146f6e[_0x1a4e('0xe46')]||(_0x146f6e[_0x1a4e('0xe46')]={})),_0x146f6e[_0x1a4e('0x3118')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x89c')][_0x1a4e('0x3e')](_0x146f6e)>=0x0;},_0x146f6e[_0x1a4e('0x3119')]=function(_0x146f6e){var _0x2327c6=_0x368e5a['sys'][_0x1a4e('0x89c')][_0x1a4e('0x3e')](_0x146f6e);return _0x2327c6>=0x0&&_0x2327c6<_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x89c')][_0x1a4e('0x1e')]-0x1?_0x368e5a[_0x1a4e('0x16b4')][_0x1a4e('0x89c')][_0x2327c6+0x1]:void 0x0;},_0x146f6e[_0x1a4e('0x311a')]=function(){var _0x368e5a=new Date();return _0x368e5a['getHours']()+':'+_0x368e5a['getMinutes']()+':'+_0x368e5a['getSeconds']()+'.'+_0x368e5a['getMilliseconds']();};}(_0x368e5a[_0x1a4e('0x311b')]||(_0x368e5a[_0x1a4e('0x311b')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6){return new _0x368e5a[(_0x1a4e('0x177f'))](_0x368e5a[_0x1a4e('0x391')](_0x2327c6,'ts'+_0x368e5a[_0x1a4e('0x16fa')])||_0x368e5a['getProperty'](_0x2327c6,_0x1a4e('0x311c')))[_0x1a4e('0x2a7')](_0x146f6e[_0x1a4e('0xb98')])<=0x0;}_0x146f6e[_0x1a4e('0x311d')]=_0x2327c6,_0x146f6e[_0x1a4e('0x311e')]=[_0x1a4e('0xba0'),_0x1a4e('0x311f'),'buffer',_0x1a4e('0x3120'),_0x1a4e('0x804'),_0x1a4e('0x3121'),'constants',_0x1a4e('0xa27'),_0x1a4e('0x3122'),_0x1a4e('0x3123'),'domain','events','fs',_0x1a4e('0x3124'),_0x1a4e('0x3125'),_0x1a4e('0x3126'),_0x1a4e('0x3127'),_0x1a4e('0x3128'),'os',_0x1a4e('0x64'),'perf_hooks','process','punycode',_0x1a4e('0x3129'),'readline',_0x1a4e('0x312a'),'stream','string_decoder',_0x1a4e('0x312b'),_0x1a4e('0x312c'),'tty',_0x1a4e('0x15cf'),_0x1a4e('0x101a'),'v8','vm','zlib'],_0x146f6e[_0x1a4e('0x312d')]=_0x368e5a[_0x1a4e('0x230b')](_0x146f6e[_0x1a4e('0x311e')]),_0x146f6e[_0x1a4e('0x312e')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x27b8')](_0x2327c6,function(_0x368e5a){return _0x146f6e['readFile'](_0x368e5a);});return _0x368e5a['createMapFromTemplate'](_0x55ff7e[_0x1a4e('0x1459')]);},_0x146f6e['loadTypesMap']=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x27b8')](_0x2327c6,function(_0x368e5a){return _0x146f6e['readFile'](_0x368e5a);});if(_0x55ff7e[_0x1a4e('0x1459')])return _0x368e5a[_0x1a4e('0x1701')](_0x55ff7e[_0x1a4e('0x1459')][_0x1a4e('0x312f')]);},_0x146f6e[_0x1a4e('0x3130')]=function(_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x975f4){if(!_0x326eae||!_0x326eae['enable'])return{'cachedTypingPaths':[],'newTypingNames':[],'filesToWatch':[]};var _0x18c3bf=_0x368e5a['createMap']();_0xf79407=_0x368e5a['mapDefined'](_0xf79407,function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1672')](_0x146f6e);if(_0x368e5a[_0x1a4e('0x25cf')](_0x2327c6))return _0x2327c6;});var _0x255df3=[];_0x326eae[_0x1a4e('0x26ea')]&&_0x32c47a(_0x326eae[_0x1a4e('0x26ea')],_0x1a4e('0x3131'));var _0x3dcc53=_0x326eae[_0x1a4e('0x25b6')]||[],_0x45939d=_0x368e5a[_0x1a4e('0x230b')](_0xf79407,_0x368e5a[_0x1a4e('0x1671')]);_0x45939d[_0x1a4e('0x17a')](_0x2c9ec9,!0x0),_0x45939d['forEach'](function(_0x146f6e,_0x2327c6){_0x597100(_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x1a4e('0x16f1')),_0x255df3),_0x597100(_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x1a4e('0x3132')),_0x255df3),_0x2946a8(_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,'bower_components'),_0x255df3),_0x2946a8(_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x1a4e('0x16ed')),_0x255df3);}),function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1713')](_0x146f6e,function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x25cf')](_0x146f6e)){var _0x2327c6=_0x368e5a[_0x1a4e('0x241e')](_0x368e5a['getBaseFileName'](_0x146f6e[_0x1a4e('0x2b2')]())),_0x55ff7e=_0x368e5a[_0x1a4e('0x175d')](_0x2327c6);return _0x420b32[_0x1a4e('0x179')](_0x55ff7e);}});_0x2327c6[_0x1a4e('0x1e')]&&_0x32c47a(_0x2327c6,'Inferred\x20typings\x20from\x20file\x20names'),_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x175b')](_0x146f6e,'.jsx');})&&(_0x1adc17&&_0x1adc17(_0x1a4e('0x3133')),_0x111db9(_0x1a4e('0x3134')));}(_0xf79407),_0x56674b&&_0x32c47a(_0x368e5a['deduplicate'](_0x56674b[_0x1a4e('0x21')](function(_0x368e5a){return _0x146f6e[_0x1a4e('0x312d')]['has'](_0x368e5a)?_0x1a4e('0x80'):_0x368e5a;}),_0x368e5a[_0x1a4e('0x25a2')],_0x368e5a[_0x1a4e('0x174a')]),'Inferred\x20typings\x20from\x20unresolved\x20imports'),_0x1b06ad[_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x975f4[_0x1a4e('0x179')](_0x146f6e);_0x18c3bf[_0x1a4e('0x178')](_0x146f6e)&&void 0x0===_0x18c3bf[_0x1a4e('0x179')](_0x146f6e)&&void 0x0!==_0x55ff7e&&_0x2327c6(_0x368e5a,_0x55ff7e)&&_0x18c3bf[_0x1a4e('0x17a')](_0x146f6e,_0x368e5a[_0x1a4e('0x3135')]);});for(var _0x1fdb30=0x0,_0x89928f=_0x3dcc53;_0x1fdb30<_0x89928f[_0x1a4e('0x1e')];_0x1fdb30++){var _0x5c8f3e=_0x89928f[_0x1fdb30];_0x18c3bf['delete'](_0x5c8f3e)&&_0x1adc17&&_0x1adc17(_0x1a4e('0x3136')+_0x5c8f3e+'\x20is\x20in\x20exclude\x20list,\x20will\x20be\x20ignored.');}var _0x2205a0=[],_0x3e836f=[];_0x18c3bf[_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){void 0x0!==_0x368e5a?_0x3e836f[_0x1a4e('0x46')](_0x368e5a):_0x2205a0['push'](_0x146f6e);});var _0x12ae71={'cachedTypingPaths':_0x3e836f,'newTypingNames':_0x2205a0,'filesToWatch':_0x255df3};return _0x1adc17&&_0x1adc17('Result:\x20'+JSON[_0x1a4e('0xd7')](_0x12ae71)),_0x12ae71;function _0x111db9(_0x368e5a){_0x18c3bf[_0x1a4e('0x178')](_0x368e5a)||_0x18c3bf['set'](_0x368e5a,void 0x0);}function _0x32c47a(_0x146f6e,_0x2327c6){_0x1adc17&&_0x1adc17(_0x2327c6+':\x20'+JSON['stringify'](_0x146f6e)),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e,_0x111db9);}function _0x597100(_0x146f6e,_0x2327c6){if(_0x55ff7e['fileExists'](_0x146f6e)){_0x2327c6['push'](_0x146f6e);var _0x1adc17=_0x368e5a[_0x1a4e('0x27b8')](_0x146f6e,function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x16b8')](_0x368e5a);})[_0x1a4e('0x1459')];_0x32c47a(_0x368e5a[_0x1a4e('0x104e')]([_0x1adc17['dependencies'],_0x1adc17['devDependencies'],_0x1adc17[_0x1a4e('0x3137')],_0x1adc17['peerDependencies']],_0x368e5a[_0x1a4e('0x2820')]),_0x1a4e('0x3138')+_0x146f6e+_0x1a4e('0x3139'));}}function _0x2946a8(_0x146f6e,_0x2327c6){if(_0x2327c6[_0x1a4e('0x46')](_0x146f6e),_0x55ff7e[_0x1a4e('0x16b5')](_0x146f6e)){var _0xf79407=_0x55ff7e['readDirectory'](_0x146f6e,[_0x1a4e('0x1a87')],void 0x0,void 0x0,0x2);_0x1adc17&&_0x1adc17('Searching\x20for\x20typing\x20names\x20in\x20'+_0x146f6e+_0x1a4e('0x313a')+JSON[_0x1a4e('0xd7')](_0xf79407));for(var _0x2c9ec9=[],_0x420b32=0x0,_0x1b06ad=_0xf79407;_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32],_0x56674b=_0x368e5a[_0x1a4e('0x1672')](_0x326eae),_0x975f4=_0x368e5a['getBaseFileName'](_0x56674b);if('package.json'===_0x975f4||_0x1a4e('0x3132')===_0x975f4){var _0x255df3=_0x368e5a['readConfigFile'](_0x56674b,function(_0x368e5a){return _0x55ff7e['readFile'](_0x368e5a);})[_0x1a4e('0x1459')];if((_0x1a4e('0x16f1')!==_0x975f4||!_0x255df3[_0x1a4e('0x313b')]||0x0!==_0x368e5a['filter'](_0x255df3['_requiredBy'],function(_0x368e5a){return'#'===_0x368e5a[0x0]||'/'===_0x368e5a;})[_0x1a4e('0x1e')])&&_0x255df3[_0x1a4e('0x2cb')]){var _0x3dcc53=_0x255df3[_0x1a4e('0x2380')]||_0x255df3[_0x1a4e('0x27d9')];if(_0x3dcc53){var _0x45939d=_0x368e5a[_0x1a4e('0x22ea')](_0x3dcc53,_0x368e5a[_0x1a4e('0x1671')](_0x56674b));_0x1adc17&&_0x1adc17(_0x1a4e('0x313c')+_0x255df3[_0x1a4e('0x2cb')]+_0x1a4e('0x313d')),_0x18c3bf[_0x1a4e('0x17a')](_0x255df3['name'],_0x45939d);}else _0x2c9ec9[_0x1a4e('0x46')](_0x255df3['name']);}}}_0x32c47a(_0x2c9ec9,_0x1a4e('0x313e'));}}},function(_0x368e5a){_0x368e5a[_0x368e5a['Ok']=0x0]='Ok',_0x368e5a[_0x368e5a[_0x1a4e('0x313f')]=0x1]=_0x1a4e('0x313f'),_0x368e5a[_0x368e5a['EmptyName']=0x2]='EmptyName',_0x368e5a[_0x368e5a[_0x1a4e('0x3140')]=0x3]=_0x1a4e('0x3140'),_0x368e5a[_0x368e5a['NameStartsWithDot']=0x4]='NameStartsWithDot',_0x368e5a[_0x368e5a[_0x1a4e('0x3141')]=0x5]=_0x1a4e('0x3141'),_0x368e5a[_0x368e5a[_0x1a4e('0x3142')]=0x6]=_0x1a4e('0x3142');}(_0x146f6e[_0x1a4e('0x3143')]||(_0x146f6e[_0x1a4e('0x3143')]={}));var _0x55ff7e=0xd6;_0x146f6e[_0x1a4e('0x3144')]=function(_0x368e5a){return _0x368e5a?_0x368e5a[_0x1a4e('0x1e')]>_0x55ff7e?0x3:0x2e===_0x368e5a[_0x1a4e('0x913')](0x0)?0x4:0x5f===_0x368e5a[_0x1a4e('0x913')](0x0)?0x5:/^@[^\/]+\/[^\/]+$/[_0x1a4e('0x8d0')](_0x368e5a)?0x1:encodeURIComponent(_0x368e5a)!==_0x368e5a?0x6:0x0:0x2;},_0x146f6e['renderPackageNameValidationFailure']=function(_0x146f6e,_0x2327c6){switch(_0x146f6e){case 0x2:return _0x1a4e('0x3145')+_0x2327c6+_0x1a4e('0x3146');case 0x3:return _0x1a4e('0x3145')+_0x2327c6+_0x1a4e('0x3147')+_0x55ff7e+'\x20characters';case 0x4:return'Package\x20name\x20\x27'+_0x2327c6+_0x1a4e('0x3148');case 0x5:return _0x1a4e('0x3145')+_0x2327c6+'\x27\x20cannot\x20start\x20with\x20\x27_\x27';case 0x1:return _0x1a4e('0x3149')+_0x2327c6+'\x27\x20is\x20scoped\x20and\x20currently\x20is\x20not\x20supported';case 0x6:return _0x1a4e('0x3145')+_0x2327c6+_0x1a4e('0x314a');case 0x0:return _0x368e5a['Debug'][_0x1a4e('0x1709')]();default:throw _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}};}(_0x368e5a['JsTyping']||(_0x368e5a[_0x1a4e('0x314b')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e;function _0x2327c6(_0x368e5a){return{'indentSize':0x4,'tabSize':0x4,'newLineCharacter':_0x368e5a||'\x0a','convertTabsToSpaces':!0x0,'indentStyle':_0x146f6e['Smart'],'insertSpaceAfterConstructor':!0x1,'insertSpaceAfterCommaDelimiter':!0x0,'insertSpaceAfterSemicolonInForStatements':!0x0,'insertSpaceBeforeAndAfterBinaryOperators':!0x0,'insertSpaceAfterKeywordsInControlFlowStatements':!0x0,'insertSpaceAfterFunctionKeywordForAnonymousFunctions':!0x1,'insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis':!0x1,'insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets':!0x1,'insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces':!0x0,'insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces':!0x1,'insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces':!0x1,'insertSpaceBeforeFunctionParenthesis':!0x1,'placeOpenBraceOnNewLineForFunctions':!0x1,'placeOpenBraceOnNewLineForControlBlocks':!0x1};}!function(_0x368e5a){var _0x146f6e=function(){function _0x368e5a(_0x368e5a){this[_0x1a4e('0xe04')]=_0x368e5a;}return _0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x230e')]=function(_0x368e5a,_0x146f6e){return 0x0===_0x368e5a&&_0x146f6e===this['text']['length']?this[_0x1a4e('0xe04')]:this[_0x1a4e('0xe04')][_0x1a4e('0x281')](_0x368e5a,_0x146f6e);},_0x368e5a[_0x1a4e('0xa')]['getLength']=function(){return this[_0x1a4e('0xe04')]['length'];},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x314c')]=function(){},_0x368e5a;}();_0x368e5a[_0x1a4e('0xe90')]=function(_0x368e5a){return new _0x146f6e(_0x368e5a);};}(_0x368e5a[_0x1a4e('0x314d')]||(_0x368e5a['ScriptSnapshot']={})),_0x368e5a[_0x1a4e('0x314e')]={},function(_0x368e5a){_0x368e5a[_0x1a4e('0x60')]=_0x1a4e('0x60'),_0x368e5a[_0x1a4e('0x314f')]=_0x1a4e('0x314f'),_0x368e5a[_0x1a4e('0x3150')]=_0x1a4e('0x3150'),_0x368e5a[_0x1a4e('0x3151')]=_0x1a4e('0x3151');}(_0x368e5a[_0x1a4e('0x3152')]||(_0x368e5a[_0x1a4e('0x3152')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x1852')]=0x1]=_0x1a4e('0x1852'),_0x368e5a[_0x368e5a[_0x1a4e('0x3153')]=0x2]=_0x1a4e('0x3153');}(_0x146f6e=_0x368e5a[_0x1a4e('0x3154')]||(_0x368e5a[_0x1a4e('0x3154')]={})),_0x368e5a[_0x1a4e('0x3155')]=_0x2327c6,_0x368e5a[_0x1a4e('0x3156')]=_0x2327c6('\x0a'),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x3157')]=0x0]=_0x1a4e('0x3157'),_0x368e5a[_0x368e5a[_0x1a4e('0x3158')]=0x1]=_0x1a4e('0x3158'),_0x368e5a[_0x368e5a[_0x1a4e('0x3159')]=0x2]=_0x1a4e('0x3159'),_0x368e5a[_0x368e5a[_0x1a4e('0x315a')]=0x3]=_0x1a4e('0x315a'),_0x368e5a[_0x368e5a[_0x1a4e('0x315b')]=0x4]=_0x1a4e('0x315b'),_0x368e5a[_0x368e5a[_0x1a4e('0x315c')]=0x5]=_0x1a4e('0x315c'),_0x368e5a[_0x368e5a[_0x1a4e('0x315d')]=0x6]=_0x1a4e('0x315d'),_0x368e5a[_0x368e5a[_0x1a4e('0x315e')]=0x7]=_0x1a4e('0x315e'),_0x368e5a[_0x368e5a[_0x1a4e('0x315f')]=0x8]=_0x1a4e('0x315f'),_0x368e5a[_0x368e5a['localName']=0x9]=_0x1a4e('0x3160'),_0x368e5a[_0x368e5a['methodName']=0xa]=_0x1a4e('0x3161'),_0x368e5a[_0x368e5a[_0x1a4e('0x2419')]=0xb]=_0x1a4e('0x2419'),_0x368e5a[_0x368e5a[_0x1a4e('0x1474')]=0xc]='operator',_0x368e5a[_0x368e5a[_0x1a4e('0x2667')]=0xd]='parameterName',_0x368e5a[_0x368e5a[_0x1a4e('0x81a')]=0xe]='propertyName',_0x368e5a[_0x368e5a['punctuation']=0xf]='punctuation',_0x368e5a[_0x368e5a[_0x1a4e('0x1a53')]=0x10]=_0x1a4e('0x1a53'),_0x368e5a[_0x368e5a['text']=0x11]=_0x1a4e('0xe04'),_0x368e5a[_0x368e5a[_0x1a4e('0x3162')]=0x12]=_0x1a4e('0x3162'),_0x368e5a[_0x368e5a[_0x1a4e('0x3163')]=0x13]='enumMemberName',_0x368e5a[_0x368e5a['functionName']=0x14]='functionName',_0x368e5a[_0x368e5a[_0x1a4e('0x3164')]=0x15]=_0x1a4e('0x3164');}(_0x368e5a[_0x1a4e('0x3165')]||(_0x368e5a[_0x1a4e('0x3165')]={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x3166')]='comment',_0x368e5a[_0x1a4e('0x3167')]=_0x1a4e('0x3168'),_0x368e5a[_0x1a4e('0x3169')]=_0x1a4e('0x1617'),_0x368e5a[_0x1a4e('0x316a')]=_0x1a4e('0x10ca');}(_0x368e5a[_0x1a4e('0x316b')]||(_0x368e5a[_0x1a4e('0x316b')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['JavaScript']=0x0]=_0x1a4e('0x27e1'),_0x368e5a[_0x368e5a[_0x1a4e('0x316c')]=0x1]=_0x1a4e('0x316c'),_0x368e5a[_0x368e5a[_0x1a4e('0x316d')]=0x2]='Declaration';}(_0x368e5a['OutputFileType']||(_0x368e5a['OutputFileType']={})),function(_0x368e5a){_0x368e5a[_0x368e5a['None']=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a['InMultiLineCommentTrivia']=0x1]='InMultiLineCommentTrivia',_0x368e5a[_0x368e5a[_0x1a4e('0x316e')]=0x2]=_0x1a4e('0x316e'),_0x368e5a[_0x368e5a[_0x1a4e('0x316f')]=0x3]=_0x1a4e('0x316f'),_0x368e5a[_0x368e5a['InTemplateHeadOrNoSubstitutionTemplate']=0x4]=_0x1a4e('0x3170'),_0x368e5a[_0x368e5a[_0x1a4e('0x3171')]=0x5]='InTemplateMiddleOrTail',_0x368e5a[_0x368e5a[_0x1a4e('0x3172')]=0x6]=_0x1a4e('0x3172');}(_0x368e5a[_0x1a4e('0x3173')]||(_0x368e5a[_0x1a4e('0x3173')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x3174')]=0x0]=_0x1a4e('0x3174'),_0x368e5a[_0x368e5a[_0x1a4e('0x3175')]=0x1]=_0x1a4e('0x3175'),_0x368e5a[_0x368e5a['Operator']=0x2]=_0x1a4e('0x3176'),_0x368e5a[_0x368e5a[_0x1a4e('0x3166')]=0x3]=_0x1a4e('0x3166'),_0x368e5a[_0x368e5a[_0x1a4e('0x3177')]=0x4]=_0x1a4e('0x3177'),_0x368e5a[_0x368e5a[_0x1a4e('0x17cb')]=0x5]=_0x1a4e('0x17cb'),_0x368e5a[_0x368e5a[_0x1a4e('0x19ce')]=0x6]=_0x1a4e('0x19ce'),_0x368e5a[_0x368e5a[_0x1a4e('0x178d')]=0x7]='BigIntLiteral',_0x368e5a[_0x368e5a[_0x1a4e('0x178e')]=0x8]='StringLiteral',_0x368e5a[_0x368e5a[_0x1a4e('0x3178')]=0x9]=_0x1a4e('0x3178');}(_0x368e5a[_0x1a4e('0x3179')]||(_0x368e5a[_0x1a4e('0x3179')]={})),function(_0x368e5a){_0x368e5a['unknown']='',_0x368e5a[_0x1a4e('0x317a')]=_0x1a4e('0x317a'),_0x368e5a[_0x1a4e('0x315c')]=_0x1a4e('0x315c'),_0x368e5a[_0x1a4e('0x317b')]=_0x1a4e('0xe3e'),_0x368e5a['moduleElement']=_0x1a4e('0xa6c'),_0x368e5a[_0x1a4e('0x317c')]=_0x1a4e('0x237e'),_0x368e5a['localClassElement']=_0x1a4e('0x317d'),_0x368e5a[_0x1a4e('0x317e')]=_0x1a4e('0x22a2'),_0x368e5a['typeElement']=_0x1a4e('0x40'),_0x368e5a[_0x1a4e('0x317f')]=_0x1a4e('0x889'),_0x368e5a[_0x1a4e('0x3180')]=_0x1a4e('0x3181'),_0x368e5a[_0x1a4e('0x3182')]='var',_0x368e5a[_0x1a4e('0x3183')]=_0x1a4e('0x3184'),_0x368e5a['functionElement']=_0x1a4e('0x68'),_0x368e5a['localFunctionElement']='local\x20function',_0x368e5a[_0x1a4e('0x3185')]=_0x1a4e('0x1062'),_0x368e5a[_0x1a4e('0x3186')]=_0x1a4e('0x3187'),_0x368e5a[_0x1a4e('0x3188')]=_0x1a4e('0x3189'),_0x368e5a[_0x1a4e('0x318a')]=_0x1a4e('0x81e'),_0x368e5a[_0x1a4e('0x318b')]=_0x1a4e('0x10'),_0x368e5a[_0x1a4e('0x318c')]=_0x1a4e('0x1'),_0x368e5a[_0x1a4e('0x318d')]=_0x1a4e('0xbd'),_0x368e5a['constructSignatureElement']=_0x1a4e('0x318e'),_0x368e5a[_0x1a4e('0x318f')]=_0x1a4e('0x3190'),_0x368e5a['typeParameterElement']=_0x1a4e('0x3191'),_0x368e5a[_0x1a4e('0x3192')]='primitive\x20type',_0x368e5a[_0x1a4e('0x1bc')]='label',_0x368e5a[_0x1a4e('0x3193')]=_0x1a4e('0x3193'),_0x368e5a['constElement']='const',_0x368e5a[_0x1a4e('0x3194')]=_0x1a4e('0x2f57'),_0x368e5a['directory']=_0x1a4e('0x3195'),_0x368e5a[_0x1a4e('0x3196')]=_0x1a4e('0x3197'),_0x368e5a['jsxAttribute']=_0x1a4e('0x3198'),_0x368e5a[_0x1a4e('0x9')]='string';}(_0x368e5a['ScriptElementKind']||(_0x368e5a['ScriptElementKind']={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x60')]='',_0x368e5a[_0x1a4e('0x3199')]=_0x1a4e('0x22a9'),_0x368e5a['privateMemberModifier']=_0x1a4e('0x22a7'),_0x368e5a[_0x1a4e('0x319a')]=_0x1a4e('0x22a8'),_0x368e5a[_0x1a4e('0x319b')]=_0x1a4e('0x229c'),_0x368e5a[_0x1a4e('0x319c')]=_0x1a4e('0x229b'),_0x368e5a[_0x1a4e('0x319d')]='static',_0x368e5a[_0x1a4e('0x319e')]=_0x1a4e('0x2be0'),_0x368e5a[_0x1a4e('0x319f')]=_0x1a4e('0x896'),_0x368e5a['dtsModifier']=_0x1a4e('0x1a83'),_0x368e5a[_0x1a4e('0x31a0')]=_0x1a4e('0x25be'),_0x368e5a[_0x1a4e('0x31a1')]=_0x1a4e('0x1a81'),_0x368e5a[_0x1a4e('0x31a2')]=_0x1a4e('0x1a84'),_0x368e5a[_0x1a4e('0x31a3')]=_0x1a4e('0x1a86'),_0x368e5a[_0x1a4e('0x31a4')]=_0x1a4e('0x1a87');}(_0x368e5a[_0x1a4e('0x31a5')]||(_0x368e5a[_0x1a4e('0x31a5')]={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x2695')]='comment',_0x368e5a['identifier']='identifier',_0x368e5a[_0x1a4e('0x315c')]=_0x1a4e('0x315c'),_0x368e5a[_0x1a4e('0x315e')]='number',_0x368e5a[_0x1a4e('0x31a6')]=_0x1a4e('0xf16'),_0x368e5a['operator']=_0x1a4e('0x1474'),_0x368e5a['stringLiteral']=_0x1a4e('0x9'),_0x368e5a[_0x1a4e('0x31a7')]='whitespace',_0x368e5a[_0x1a4e('0xe04')]=_0x1a4e('0xe04'),_0x368e5a[_0x1a4e('0x31a8')]=_0x1a4e('0x31a8'),_0x368e5a[_0x1a4e('0x3158')]=_0x1a4e('0x31a9'),_0x368e5a[_0x1a4e('0x3159')]='enum\x20name',_0x368e5a['interfaceName']=_0x1a4e('0x31aa'),_0x368e5a['moduleName']=_0x1a4e('0x31ab'),_0x368e5a[_0x1a4e('0x3162')]=_0x1a4e('0x31ac'),_0x368e5a[_0x1a4e('0x31ad')]=_0x1a4e('0x31ae'),_0x368e5a['parameterName']='parameter\x20name',_0x368e5a['docCommentTagName']=_0x1a4e('0x31af'),_0x368e5a[_0x1a4e('0x31b0')]=_0x1a4e('0x31b1'),_0x368e5a[_0x1a4e('0x31b2')]=_0x1a4e('0x31b3'),_0x368e5a[_0x1a4e('0x31b4')]='jsx\x20self\x20closing\x20tag\x20name',_0x368e5a[_0x1a4e('0x31b5')]=_0x1a4e('0x31b6'),_0x368e5a['jsxText']=_0x1a4e('0x31b7'),_0x368e5a[_0x1a4e('0x31b8')]=_0x1a4e('0x31b9');}(_0x368e5a[_0x1a4e('0x31ba')]||(_0x368e5a[_0x1a4e('0x31ba')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x2695')]=0x1]=_0x1a4e('0x2695'),_0x368e5a[_0x368e5a[_0x1a4e('0x31bb')]=0x2]=_0x1a4e('0x31bb'),_0x368e5a[_0x368e5a[_0x1a4e('0x315c')]=0x3]=_0x1a4e('0x315c'),_0x368e5a[_0x368e5a['numericLiteral']=0x4]='numericLiteral',_0x368e5a[_0x368e5a[_0x1a4e('0x1474')]=0x5]=_0x1a4e('0x1474'),_0x368e5a[_0x368e5a['stringLiteral']=0x6]=_0x1a4e('0x315f'),_0x368e5a[_0x368e5a[_0x1a4e('0x3164')]=0x7]='regularExpressionLiteral',_0x368e5a[_0x368e5a[_0x1a4e('0x31a7')]=0x8]=_0x1a4e('0x31a7'),_0x368e5a[_0x368e5a[_0x1a4e('0xe04')]=0x9]=_0x1a4e('0xe04'),_0x368e5a[_0x368e5a[_0x1a4e('0x31a8')]=0xa]=_0x1a4e('0x31a8'),_0x368e5a[_0x368e5a[_0x1a4e('0x3158')]=0xb]=_0x1a4e('0x3158'),_0x368e5a[_0x368e5a[_0x1a4e('0x3159')]=0xc]=_0x1a4e('0x3159'),_0x368e5a[_0x368e5a[_0x1a4e('0x315b')]=0xd]=_0x1a4e('0x315b'),_0x368e5a[_0x368e5a[_0x1a4e('0x2419')]=0xe]='moduleName',_0x368e5a[_0x368e5a[_0x1a4e('0x3162')]=0xf]=_0x1a4e('0x3162'),_0x368e5a[_0x368e5a['typeAliasName']=0x10]=_0x1a4e('0x31ad'),_0x368e5a[_0x368e5a[_0x1a4e('0x2667')]=0x11]='parameterName',_0x368e5a[_0x368e5a[_0x1a4e('0x31bc')]=0x12]=_0x1a4e('0x31bc'),_0x368e5a[_0x368e5a[_0x1a4e('0x31b0')]=0x13]=_0x1a4e('0x31b0'),_0x368e5a[_0x368e5a[_0x1a4e('0x31b2')]=0x14]=_0x1a4e('0x31b2'),_0x368e5a[_0x368e5a['jsxSelfClosingTagName']=0x15]=_0x1a4e('0x31b4'),_0x368e5a[_0x368e5a['jsxAttribute']=0x16]='jsxAttribute',_0x368e5a[_0x368e5a[_0x1a4e('0x31bd')]=0x17]=_0x1a4e('0x31bd'),_0x368e5a[_0x368e5a['jsxAttributeStringLiteralValue']=0x18]=_0x1a4e('0x31b8'),_0x368e5a[_0x368e5a[_0x1a4e('0x31a6')]=0x19]=_0x1a4e('0x31a6');}(_0x368e5a['ClassificationType']||(_0x368e5a[_0x1a4e('0x31be')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xed:return _0x368e5a['isInJSFile'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x24d8')](_0x146f6e)?0x7:0x1;case 0x97:case 0xba:case 0x9a:case 0x99:case 0x113:case 0x114:case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:case 0xef:case 0xc4:case 0xc5:case 0x112:case 0x10b:return 0x1;case 0x96:case 0xf1:case 0xf2:case 0xa8:return 0x2;case 0x130:return void 0x0===_0x146f6e[_0x1a4e('0x2cb')]?0x3:0x2;case 0x116:case 0xf0:return 0x3;case 0xf4:return _0x368e5a['isAmbientModule'](_0x146f6e)?0x5:0x1===_0x368e5a[_0x1a4e('0x2831')](_0x146f6e)?0x5:0x4;case 0xf3:case 0xfc:case 0xfd:case 0xf8:case 0xf9:case 0xfe:case 0xff:return 0x7;case 0x117:return 0x5;}return 0x7;}function _0x2327c6(_0x146f6e){for(;0x94===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')];)_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];return _0x368e5a[_0x1a4e('0x23a8')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x236d')]===_0x146f6e;}function _0x55ff7e(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1adc17(_0x368e5a);return!!_0x2327c6&&!!_0x2327c6[_0x1a4e('0x11c')]&&_0x146f6e(_0x2327c6[_0x1a4e('0x11c')])&&_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2302')]===_0x2327c6;}function _0x1adc17(_0x368e5a){return _0x420b32(_0x368e5a)?_0x368e5a[_0x1a4e('0x11c')]:_0x368e5a;}function _0xf79407(_0x146f6e){return 0x48===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a['isBreakOrContinueStatement'](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x1bc')]===_0x146f6e;}function _0x2c9ec9(_0x146f6e){return 0x48===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2519')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e['parent'][_0x1a4e('0x1bc')]===_0x146f6e;}function _0x420b32(_0x368e5a){return _0x368e5a&&_0x368e5a[_0x1a4e('0x11c')]&&0xbd===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x11c')]['name']===_0x368e5a;}_0x368e5a['scanner']=_0x368e5a[_0x1a4e('0x22d1')](0x6,!0x0),function(_0x368e5a){_0x368e5a[_0x368e5a['None']=0x0]='None',_0x368e5a[_0x368e5a[_0x1a4e('0x1975')]=0x1]=_0x1a4e('0x1975'),_0x368e5a[_0x368e5a['Type']=0x2]=_0x1a4e('0x3d4'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ca')]=0x4]=_0x1a4e('0x18ca'),_0x368e5a[_0x368e5a['All']=0x7]=_0x1a4e('0x18f3');}(_0x368e5a[_0x1a4e('0x31bf')]||(_0x368e5a[_0x1a4e('0x31bf')]={})),_0x368e5a[_0x1a4e('0x31c0')]=_0x146f6e,_0x368e5a[_0x1a4e('0x31c1')]=function(_0x55ff7e){return 0x117===_0x55ff7e[_0x1a4e('0x146b')]?0x1:0xfe===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0x103===_0x55ff7e['parent'][_0x1a4e('0x146b')]?0x7:_0x2327c6(_0x55ff7e)?function(_0x146f6e){var _0x2327c6=0x94===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e:_0x368e5a[_0x1a4e('0x24e9')](_0x146f6e['parent'])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x5d')]===_0x146f6e?_0x146f6e['parent']:void 0x0;return _0x2327c6&&0xf8===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?0x7:0x4;}(_0x55ff7e):_0x368e5a[_0x1a4e('0x23e5')](_0x55ff7e)?_0x146f6e(_0x55ff7e[_0x1a4e('0x11c')]):function(_0x146f6e){switch(_0x368e5a['isRightSideOfQualifiedNameOrPropertyAccess'](_0x146f6e)&&(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]),_0x146f6e[_0x1a4e('0x146b')]){case 0x64:return!_0x368e5a[_0x1a4e('0x28da')](_0x146f6e);case 0xb2:return!0x0;}switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xa4:return!0x0;case 0xb7:return!_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x29fb')];case 0xd3:return!_0x368e5a[_0x1a4e('0x298d')](_0x146f6e[_0x1a4e('0x11c')]);}return!0x1;}(_0x55ff7e)?0x2:function(_0x368e5a){return function(_0x368e5a){var _0x146f6e=_0x368e5a,_0x2327c6=!0x0;if(0x94===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){for(;_0x146f6e['parent']&&0x94===_0x146f6e[_0x1a4e('0x11c')]['kind'];)_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];_0x2327c6=_0x146f6e[_0x1a4e('0x5d')]===_0x368e5a;}return 0xa4===_0x146f6e['parent'][_0x1a4e('0x146b')]&&!_0x2327c6;}(_0x368e5a)||function(_0x368e5a){var _0x146f6e=_0x368e5a,_0x2327c6=!0x0;if(0xbd===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){for(;_0x146f6e[_0x1a4e('0x11c')]&&0xbd===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')];)_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];_0x2327c6=_0x146f6e['name']===_0x368e5a;}if(!_0x2327c6&&0xd3===_0x146f6e[_0x1a4e('0x11c')]['kind']&&0x111===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x55ff7e=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')];return 0xf0===_0x55ff7e[_0x1a4e('0x146b')]&&0x6d===_0x146f6e[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x2381')]||0xf1===_0x55ff7e[_0x1a4e('0x146b')]&&0x56===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['token'];}return!0x1;}(_0x368e5a);}(_0x55ff7e)?0x4:_0x368e5a[_0x1a4e('0x24ea')](_0x55ff7e[_0x1a4e('0x11c')])?(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x24e0')](_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])),0x2):_0x368e5a['isLiteralTypeNode'](_0x55ff7e[_0x1a4e('0x11c')])?0x3:0x1;},_0x368e5a[_0x1a4e('0x31c2')]=_0x2327c6,_0x368e5a['isCallExpressionTarget']=function(_0x146f6e){return _0x55ff7e(_0x146f6e,_0x368e5a[_0x1a4e('0x2372')]);},_0x368e5a['isNewExpressionTarget']=function(_0x146f6e){return _0x55ff7e(_0x146f6e,_0x368e5a['isNewExpression']);},_0x368e5a['isCallOrNewExpressionTarget']=function(_0x146f6e){return _0x55ff7e(_0x146f6e,_0x368e5a[_0x1a4e('0x31c3')]);},_0x368e5a[_0x1a4e('0x31c4')]=_0x1adc17,_0x368e5a[_0x1a4e('0x31c5')]=function(_0x368e5a,_0x146f6e){for(;_0x368e5a;){if(0xe9===_0x368e5a[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x1bc')][_0x1a4e('0x22f3')]===_0x146f6e)return _0x368e5a[_0x1a4e('0x1bc')];_0x368e5a=_0x368e5a['parent'];}},_0x368e5a[_0x1a4e('0x31c6')]=function(_0x146f6e,_0x2327c6){return!!_0x368e5a[_0x1a4e('0x2371')](_0x146f6e[_0x1a4e('0x2302')])&&_0x146f6e[_0x1a4e('0x2302')]['name'][_0x1a4e('0xe04')]===_0x2327c6;},_0x368e5a[_0x1a4e('0x31c7')]=_0xf79407,_0x368e5a[_0x1a4e('0x31c8')]=_0x2c9ec9,_0x368e5a[_0x1a4e('0x31c9')]=function(_0x368e5a){return _0x2c9ec9(_0x368e5a)||_0xf79407(_0x368e5a);},_0x368e5a[_0x1a4e('0x31ca')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x31cb')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x132b')]===_0x146f6e;},_0x368e5a[_0x1a4e('0x31cc')]=function(_0x368e5a){return 0x94===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x5d')]===_0x368e5a;},_0x368e5a[_0x1a4e('0x31cd')]=_0x420b32,_0x368e5a[_0x1a4e('0x31ce')]=function(_0x368e5a){return 0xf4===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x11c')]['name']===_0x368e5a;},_0x368e5a[_0x1a4e('0x31cf')]=function(_0x146f6e){return 0x48===_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a['isFunctionLike'](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x146f6e;},_0x368e5a['isLiteralNameOfPropertyDeclarationOrIndexAccess']=function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0x9a:case 0x99:case 0x113:case 0x116:case 0x9c:case 0x9b:case 0x9e:case 0x9f:case 0xf4:return _0x368e5a[_0x1a4e('0x23e9')](_0x146f6e['parent'])===_0x146f6e;case 0xbe:return _0x146f6e['parent'][_0x1a4e('0x24a7')]===_0x146f6e;case 0x95:return!0x0;case 0xb6:return 0xb4===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['kind'];default:return!0x1;}},_0x368e5a[_0x1a4e('0x31d0')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23a6')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&_0x368e5a['getExternalModuleImportEqualsDeclarationExpression'](_0x146f6e[_0x1a4e('0x11c')]['parent'])===_0x146f6e;},_0x368e5a[_0x1a4e('0x31d1')]=function(_0x146f6e){for(_0x368e5a[_0x1a4e('0x23cd')](_0x146f6e)&&(_0x146f6e=_0x146f6e['parent'][_0x1a4e('0x11c')]);;){if(!(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]))return;switch(_0x146f6e['kind']){case 0x117:case 0x9c:case 0x9b:case 0xef:case 0xc4:case 0x9e:case 0x9f:case 0xf0:case 0xf1:case 0xf3:case 0xf4:return _0x146f6e;}}},_0x368e5a[_0x1a4e('0x31d2')]=function _0x146f6e(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x117:return _0x368e5a[_0x1a4e('0x22f1')](_0x2327c6)?_0x1a4e('0xa6c'):_0x1a4e('0xe3e');case 0xf4:return'module';case 0xf0:case 0xd1:return _0x1a4e('0x237e');case 0xf1:return _0x1a4e('0x22a2');case 0xf2:case 0x129:case 0x130:return _0x1a4e('0x40');case 0xf3:return _0x1a4e('0x889');case 0xed:return _0x2c9ec9(_0x2327c6);case 0xba:return _0x2c9ec9(_0x368e5a['getRootDeclaration'](_0x2327c6));case 0xc5:case 0xef:case 0xc4:return'function';case 0x9e:return _0x1a4e('0x3187');case 0x9f:return _0x1a4e('0x3189');case 0x9c:case 0x9b:return _0x1a4e('0x1062');case 0x9a:case 0x99:return _0x1a4e('0x81e');case 0xa2:return _0x1a4e('0xbd');case 0xa1:return'construct';case 0xa0:return _0x1a4e('0x1');case 0x9d:return _0x1a4e('0x10');case 0x96:return _0x1a4e('0x3191');case 0x116:return _0x1a4e('0x3181');case 0x97:return _0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x5c)?_0x1a4e('0x81e'):_0x1a4e('0x3190');case 0xf8:case 0xfd:case 0x101:case 0xfb:return _0x1a4e('0x3193');case 0xcc:var _0x55ff7e=_0x368e5a[_0x1a4e('0x23ba')](_0x2327c6),_0x1adc17=_0x2327c6['right'];switch(_0x55ff7e){case 0x7:case 0x8:case 0x9:case 0x0:return'';case 0x1:case 0x2:var _0xf79407=_0x146f6e(_0x1adc17);return''===_0xf79407?_0x1a4e('0x2f58'):_0xf79407;case 0x3:return _0x368e5a['isFunctionExpression'](_0x1adc17)?_0x1a4e('0x1062'):_0x1a4e('0x81e');case 0x4:return _0x1a4e('0x81e');case 0x5:return _0x368e5a[_0x1a4e('0x23df')](_0x1adc17)?_0x1a4e('0x1062'):_0x1a4e('0x81e');case 0x6:return _0x1a4e('0x317d');default:return _0x368e5a[_0x1a4e('0x1766')](_0x55ff7e),'';}case 0x48:return _0x368e5a[_0x1a4e('0x2d8d')](_0x2327c6[_0x1a4e('0x11c')])?'alias':'';default:return'';}function _0x2c9ec9(_0x146f6e){return _0x368e5a[_0x1a4e('0x235f')](_0x146f6e)?_0x1a4e('0x2f58'):_0x368e5a[_0x1a4e('0x2360')](_0x146f6e)?_0x1a4e('0x2f57'):_0x1a4e('0x22b0');}},_0x368e5a[_0x1a4e('0x31d3')]=function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x64:return!0x0;case 0x48:return _0x368e5a[_0x1a4e('0x2450')](_0x146f6e)&&0x97===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')];default:return!0x1;}};var _0x1b06ad=/^\/\/\/\s*=_0x2327c6[_0x1a4e('0xca')];}function _0x3044f0(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return Math[_0x1a4e('0x6c')](_0x368e5a,_0x2327c6)_0x146f6e)break;var _0x326eae=_0x1b06ad[_0x1a4e('0x31d7')]();if(_0x146f6e<_0x326eae||_0x146f6e===_0x326eae&&(0x1===_0x1b06ad[_0x1a4e('0x146b')]||_0x1adc17)){_0xf79407=_0x1b06ad;continue _0x3c6fb1;}if(_0x55ff7e&&_0x326eae===_0x146f6e){var _0x56674b=_0x46ae25(_0x146f6e,_0x368e5a,_0x1b06ad);if(_0x56674b&&_0x55ff7e(_0x56674b))return _0x56674b;}}return _0xf79407;}}function _0x46ae25(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=function _0xf79407(_0x2c9ec9){if(_0x2cd999(_0x2c9ec9)&&0x1!==_0x2c9ec9[_0x1a4e('0x146b')])return _0x2c9ec9;var _0x420b32=_0x2c9ec9['getChildren'](_0x2327c6);for(var _0x1b06ad=0x0;_0x1b06ad<_0x420b32[_0x1a4e('0x1e')];_0x1b06ad++){var _0x326eae=_0x420b32[_0x1b06ad];if(_0x146f6e<_0x326eae[_0x1a4e('0xca')]){var _0x56674b=_0x326eae[_0x1a4e('0x31d6')](_0x2327c6,!_0x1adc17),_0x2fdee1=_0x56674b>=_0x146f6e||!_0x2e9ca8(_0x326eae,_0x2327c6)||_0x5be9b0(_0x326eae);if(_0x2fdee1){var _0x3044f0=_0x204041(_0x420b32,_0x1b06ad,_0x2327c6);return _0x3044f0&&_0x32e3ce(_0x3044f0,_0x2327c6);}return _0xf79407(_0x326eae);}}_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0!==_0x55ff7e||0x117===_0x2c9ec9[_0x1a4e('0x146b')]||0x1===_0x2c9ec9[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x2571')](_0x2c9ec9));var _0x46f722=_0x204041(_0x420b32,_0x420b32[_0x1a4e('0x1e')],_0x2327c6);return _0x46f722&&_0x32e3ce(_0x46f722,_0x2327c6);}(_0x55ff7e||_0x2327c6);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!(_0xf79407&&_0x5be9b0(_0xf79407))),_0xf79407;}function _0x2cd999(_0x146f6e){return _0x368e5a['isToken'](_0x146f6e)&&!_0x5be9b0(_0x146f6e);}function _0x32e3ce(_0x368e5a,_0x146f6e){if(_0x2cd999(_0x368e5a))return _0x368e5a;var _0x2327c6=_0x368e5a['getChildren'](_0x146f6e),_0x55ff7e=_0x204041(_0x2327c6,_0x2327c6[_0x1a4e('0x1e')],_0x146f6e);return _0x55ff7e&&_0x32e3ce(_0x55ff7e,_0x146f6e);}function _0x204041(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x2327c6-0x1;_0x1adc17>=0x0;_0x1adc17--){if(_0x5be9b0(_0x146f6e[_0x1adc17]))_0x368e5a['Debug']['assert'](_0x1adc17>0x0,_0x1a4e('0x31d8'));else if(_0x2e9ca8(_0x146f6e[_0x1adc17],_0x55ff7e))return _0x146f6e[_0x1adc17];}}function _0x5be9b0(_0x146f6e){return _0x368e5a[_0x1a4e('0x24e3')](_0x146f6e)&&_0x146f6e['containsOnlyWhiteSpaces'];}function _0x1c05e1(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x146b')],_0x1adc17=0x0;;){var _0xf79407=_0x46ae25(_0x368e5a['getFullStart'](),_0x2327c6);if(!_0xf79407)return;if((_0x368e5a=_0xf79407)[_0x1a4e('0x146b')]===_0x146f6e){if(0x0===_0x1adc17)return _0x368e5a;_0x1adc17--;}else _0x368e5a[_0x1a4e('0x146b')]===_0x55ff7e&&_0x1adc17++;}}function _0x216232(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x31d9')](_0x146f6e);return(_0x368e5a['isNewExpression'](_0x146f6e[_0x1a4e('0x11c')])?_0x1adc17[_0x1a4e('0x31da')]():_0x1adc17[_0x1a4e('0x31db')]())[_0x1a4e('0xd9')](function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x23d7')]&&_0x368e5a[_0x1a4e('0x23d7')][_0x1a4e('0x1e')]>=_0x2327c6;});}function _0x2248a5(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x146f6e,_0x1adc17=0x0,_0xf79407=0x0;_0x55ff7e;){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0x1c:if(!(_0x55ff7e=_0x46ae25(_0x55ff7e['getFullStart'](),_0x2327c6))||!_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e))return;if(!_0x1adc17)return _0x368e5a[_0x1a4e('0x23e5')](_0x55ff7e)?void 0x0:{'called':_0x55ff7e,'nTypeArguments':_0xf79407};_0x1adc17--;break;case 0x30:_0x1adc17=0x3;break;case 0x2f:_0x1adc17=0x2;break;case 0x1e:_0x1adc17++;break;case 0x13:if(!(_0x55ff7e=_0x1c05e1(_0x55ff7e,0x12,_0x2327c6)))return;break;case 0x15:if(!(_0x55ff7e=_0x1c05e1(_0x55ff7e,0x14,_0x2327c6)))return;break;case 0x17:if(!(_0x55ff7e=_0x1c05e1(_0x55ff7e,0x16,_0x2327c6)))return;break;case 0x1b:_0xf79407++;break;case 0x25:case 0x48:case 0xa:case 0x8:case 0x9:case 0x66:case 0x57:case 0x68:case 0x56:case 0x81:case 0x18:case 0x32:case 0x38:case 0x39:break;default:if(_0x368e5a[_0x1a4e('0x2553')](_0x55ff7e))break;return;}_0x55ff7e=_0x46ae25(_0x55ff7e[_0x1a4e('0x31d5')](),_0x2327c6);}}function _0x5b92f5(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x31dd')](_0x146f6e,_0x2327c6,void 0x0,_0x55ff7e);}function _0x2e9ca8(_0x368e5a,_0x146f6e){return 0x1===_0x368e5a['kind']?!!_0x368e5a[_0x1a4e('0x22ec')]:0x0!==_0x368e5a[_0x1a4e('0x29b')](_0x146f6e);}function _0x347075(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x5b92f5(_0x368e5a,_0x146f6e,void 0x0);return!!_0x55ff7e&&_0x2327c6===_0x1b06ad[_0x1a4e('0x8d0')](_0x368e5a['text']['substring'](_0x55ff7e[_0x1a4e('0xa4')],_0x55ff7e[_0x1a4e('0xca')]));}function _0x4bfaa2(_0x368e5a,_0x146f6e){return{'span':_0x368e5a,'newText':_0x146f6e};}function _0x56d780(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x1b40')]&&_0x368e5a[_0x1a4e('0x1b40')]();}function _0x114088(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x2cbf')](void 0x0,void 0x0,_0x146f6e||_0x2327c6?_0x368e5a[_0x1a4e('0x2cc1')](_0x146f6e,_0x2327c6&&_0x2327c6['length']?_0x368e5a[_0x1a4e('0x2cc5')](_0x2327c6):void 0x0):void 0x0,_0x1a4e('0x9')==typeof _0x55ff7e?_0xff9c6e(_0x55ff7e,_0x1adc17):_0x55ff7e);}function _0xff9c6e(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2896')](_0x146f6e,0x0===_0x2327c6);}function _0x3955f7(_0x146f6e,_0x2327c6){return _0x368e5a['isStringDoubleQuoted'](_0x146f6e,_0x2327c6)?0x1:0x0;}function _0x45deb3(_0x146f6e){return'default'!==_0x146f6e[_0x1a4e('0x22e8')]?_0x146f6e[_0x1a4e('0x22e8')]:_0x368e5a[_0x1a4e('0x1703')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e);return _0x2327c6&&0x48===_0x2327c6[_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x22f3')]:void 0x0;});}function _0x4531a7(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x1772')]();return function _0x146f6e(_0x2c9ec9){if(!(0x60&_0x2c9ec9['flags']&&_0x368e5a[_0x1a4e('0x3048')](_0xf79407,_0x368e5a[_0x1a4e('0x2889')](_0x2c9ec9))))return;return _0x368e5a[_0x1a4e('0x1703')](_0x2c9ec9['declarations'],function(_0xf79407){return _0x368e5a[_0x1a4e('0x1703')](_0x368e5a[_0x1a4e('0x31de')](_0xf79407),function(_0xf79407){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x31d9')](_0xf79407),_0x420b32=_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0xb1b')]&&_0x55ff7e[_0x1a4e('0x31df')](_0x2c9ec9,_0x2327c6);return _0x2c9ec9&&_0x420b32&&(_0x368e5a[_0x1a4e('0x1703')](_0x55ff7e['getRootSymbols'](_0x420b32),_0x1adc17)||_0x146f6e(_0x2c9ec9[_0x1a4e('0xb1b')]));});});}(_0x146f6e);}function _0x55f66c(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['textSpanContainsPosition'](_0x146f6e,_0x2327c6[_0x1a4e('0x31d6')](_0x55ff7e))&&_0x2327c6[_0x1a4e('0x31d7')]()<=_0x368e5a[_0x1a4e('0x24b4')](_0x146f6e);}function _0x4629d4(_0x368e5a,_0x146f6e){return!!_0x368e5a&&!!_0x146f6e&&_0x368e5a[_0x1a4e('0xc9')]===_0x146f6e[_0x1a4e('0xc9')]&&_0x368e5a[_0x1a4e('0x1e')]===_0x146f6e['length'];}_0x368e5a[_0x1a4e('0x31e0')]=function(_0x146f6e,_0x2327c6){return _0x368e5a['getLineStarts'](_0x2327c6)[_0x2327c6[_0x1a4e('0x22c1')](_0x146f6e)[_0x1a4e('0xc5')]];},_0x368e5a['rangeContainsRange']=_0x326eae,_0x368e5a['rangeContainsRangeExclusive']=function(_0x368e5a,_0x146f6e){return _0x56674b(_0x368e5a,_0x146f6e[_0x1a4e('0xa4')])&&_0x56674b(_0x368e5a,_0x146f6e['end']);},_0x368e5a[_0x1a4e('0x31e1')]=function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0xa4')]<=_0x146f6e&&_0x146f6e<=_0x368e5a[_0x1a4e('0xca')];},_0x368e5a[_0x1a4e('0x31e2')]=_0x56674b,_0x368e5a[_0x1a4e('0x31e3')]=_0x2fdee1,_0x368e5a[_0x1a4e('0x31e4')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0xa4')]<=_0x146f6e&&_0x368e5a[_0x1a4e('0xca')]>=_0x2327c6;},_0x368e5a['rangeOverlapsWithStartEnd']=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x3044f0(_0x368e5a['pos'],_0x368e5a[_0x1a4e('0xca')],_0x146f6e,_0x2327c6);},_0x368e5a[_0x1a4e('0x31e5')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x3044f0(_0x368e5a[_0x1a4e('0x31d6')](_0x146f6e),_0x368e5a['end'],_0x2327c6,_0x55ff7e);},_0x368e5a['startEndOverlapsWithStartEnd']=_0x3044f0,_0x368e5a['positionBelongsToNode']=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x1749')]['assert'](_0x146f6e['pos']<=_0x2327c6),_0x2327c6<_0x146f6e[_0x1a4e('0xca')]||!function _0x146f6e(_0x2327c6,_0x55ff7e){if(void 0x0===_0x2327c6||_0x368e5a[_0x1a4e('0x2327')](_0x2327c6))return!0x1;switch(_0x2327c6['kind']){case 0xf0:case 0xf1:case 0xf3:case 0xbc:case 0xb8:case 0xa8:case 0xda:case 0xf5:case 0xf6:case 0xfc:case 0x100:return _0x46f722(_0x2327c6,0x13,_0x55ff7e);case 0x112:return _0x146f6e(_0x2327c6[_0x1a4e('0x260c')],_0x55ff7e);case 0xc0:if(!_0x2327c6[_0x1a4e('0x2373')])return!0x0;case 0xbf:case 0xc3:case 0xb1:return _0x46f722(_0x2327c6,0x15,_0x55ff7e);case 0xa5:case 0xa6:return _0x146f6e(_0x2327c6[_0x1a4e('0x40')],_0x55ff7e);case 0x9d:case 0x9e:case 0x9f:case 0xef:case 0xc4:case 0x9c:case 0x9b:case 0xa1:case 0xa0:case 0xc5:return _0x2327c6[_0x1a4e('0x8f2')]?_0x146f6e(_0x2327c6[_0x1a4e('0x8f2')],_0x55ff7e):_0x2327c6[_0x1a4e('0x40')]?_0x146f6e(_0x2327c6[_0x1a4e('0x40')],_0x55ff7e):_0x51cc1f(_0x2327c6,0x15,_0x55ff7e);case 0xf4:return!!_0x2327c6['body']&&_0x146f6e(_0x2327c6[_0x1a4e('0x8f2')],_0x55ff7e);case 0xde:return _0x2327c6[_0x1a4e('0x2607')]?_0x146f6e(_0x2327c6[_0x1a4e('0x2607')],_0x55ff7e):_0x146f6e(_0x2327c6[_0x1a4e('0x2606')],_0x55ff7e);case 0xdd:return _0x146f6e(_0x2327c6[_0x1a4e('0x2302')],_0x55ff7e)||_0x51cc1f(_0x2327c6,0x1a,_0x55ff7e);case 0xbb:case 0xb9:case 0xbe:case 0x95:case 0xaa:return _0x46f722(_0x2327c6,0x17,_0x55ff7e);case 0xa2:return _0x2327c6[_0x1a4e('0x40')]?_0x146f6e(_0x2327c6[_0x1a4e('0x40')],_0x55ff7e):_0x51cc1f(_0x2327c6,0x17,_0x55ff7e);case 0x10f:case 0x110:return!0x1;case 0xe1:case 0xe2:case 0xe3:case 0xe0:return _0x146f6e(_0x2327c6[_0x1a4e('0x2390')],_0x55ff7e);case 0xdf:return _0x51cc1f(_0x2327c6,0x6b,_0x55ff7e)?_0x46f722(_0x2327c6,0x15,_0x55ff7e):_0x146f6e(_0x2327c6[_0x1a4e('0x2390')],_0x55ff7e);case 0xa7:return _0x146f6e(_0x2327c6['exprName'],_0x55ff7e);case 0xc7:case 0xc6:case 0xc8:case 0xcf:case 0xd0:var _0x1adc17=_0x2327c6;return _0x146f6e(_0x1adc17['expression'],_0x55ff7e);case 0xc1:return _0x146f6e(_0x2327c6[_0x1a4e('0xe19')],_0x55ff7e);case 0xce:var _0xf79407=_0x368e5a['lastOrUndefined'](_0x2327c6[_0x1a4e('0x260e')]);return _0x146f6e(_0xf79407,_0x55ff7e);case 0xd8:return _0x368e5a[_0x1a4e('0x2328')](_0x2327c6[_0x1a4e('0x2301')]);case 0xff:case 0xf9:return _0x368e5a[_0x1a4e('0x2328')](_0x2327c6['moduleSpecifier']);case 0xca:return _0x146f6e(_0x2327c6['operand'],_0x55ff7e);case 0xcc:return _0x146f6e(_0x2327c6['right'],_0x55ff7e);case 0xcd:return _0x146f6e(_0x2327c6[_0x1a4e('0x2604')],_0x55ff7e);default:return!0x0;}}(_0x146f6e,_0x55ff7e);},_0x368e5a[_0x1a4e('0x31e6')]=function(_0x146f6e){var _0x2327c6=_0x659a45(_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0x2327c6['getChildren']();return{'listItemIndex':_0x368e5a[_0x1a4e('0x2332')](_0x55ff7e,_0x146f6e),'list':_0x2327c6};}},_0x368e5a[_0x1a4e('0x31e7')]=_0x51cc1f,_0x368e5a['findChildOfKind']=_0x3085f9,_0x368e5a['findContainingList']=_0x659a45,_0x368e5a['getTouchingPropertyName']=function(_0x146f6e,_0x2327c6){return _0x3f698e(_0x146f6e,_0x2327c6,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2400')](_0x146f6e)||_0x368e5a['isKeyword'](_0x146f6e[_0x1a4e('0x146b')]);});},_0x368e5a[_0x1a4e('0x31e8')]=_0x3f698e,_0x368e5a['getTokenAtPosition']=_0x3e64e2,_0x368e5a[_0x1a4e('0x31e9')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x3e64e2(_0x146f6e,_0x2327c6);return _0x368e5a['isToken'](_0x55ff7e)&&_0x2327c6>_0x55ff7e[_0x1a4e('0x31d6')](_0x146f6e)&&_0x2327c6<_0x55ff7e[_0x1a4e('0x31d7')]()?_0x55ff7e:_0x46ae25(_0x2327c6,_0x146f6e);},_0x368e5a[_0x1a4e('0x31ea')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return function _0x2327c6(_0x1adc17){return _0x368e5a[_0x1a4e('0x2d7b')](_0x1adc17)&&_0x1adc17[_0x1a4e('0xa4')]===_0x146f6e['end']?_0x1adc17:_0x368e5a['firstDefined'](_0x1adc17[_0x1a4e('0x31d4')](),function(_0x368e5a){var _0x1adc17=_0x368e5a[_0x1a4e('0xa4')]<=_0x146f6e[_0x1a4e('0xa4')]&&_0x368e5a[_0x1a4e('0xca')]>_0x146f6e[_0x1a4e('0xca')]||_0x368e5a['pos']===_0x146f6e[_0x1a4e('0xca')];return _0x1adc17&&_0x2e9ca8(_0x368e5a,_0x55ff7e)?_0x2327c6(_0x368e5a):void 0x0;});}(_0x2327c6);},_0x368e5a['findPrecedingToken']=_0x46ae25,_0x368e5a[_0x1a4e('0x31eb')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(void 0x0===_0x55ff7e&&(_0x55ff7e=_0x46ae25(_0x2327c6,_0x146f6e)),_0x55ff7e&&_0x368e5a[_0x1a4e('0x2544')](_0x55ff7e)){var _0x1adc17=_0x55ff7e[_0x1a4e('0x31d6')](_0x146f6e),_0xf79407=_0x55ff7e[_0x1a4e('0x31d7')]();if(_0x1adc17<_0x2327c6&&_0x2327c6<_0xf79407)return!0x0;if(_0x2327c6===_0xf79407)return!!_0x55ff7e[_0x1a4e('0x2662')];}return!0x1;},_0x368e5a['isInsideJsxElementOrAttribute']=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x3e64e2(_0x368e5a,_0x146f6e);return!!_0x2327c6&&(0xb===_0x2327c6[_0x1a4e('0x146b')]||0x1c===_0x2327c6[_0x1a4e('0x146b')]&&0xb===_0x2327c6['parent'][_0x1a4e('0x146b')]||0x1c===_0x2327c6[_0x1a4e('0x146b')]&&0x10e===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||!(!_0x2327c6||0x13!==_0x2327c6[_0x1a4e('0x146b')]||0x10e!==_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')])||0x1c===_0x2327c6[_0x1a4e('0x146b')]&&0x107===_0x2327c6['parent'][_0x1a4e('0x146b')]);},_0x368e5a[_0x1a4e('0x31ec')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x3e64e2(_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0x2647')](_0x55ff7e['kind'])&&_0x2327c6>_0x55ff7e['getStart'](_0x146f6e);},_0x368e5a[_0x1a4e('0x31ed')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x3e64e2(_0x146f6e,_0x2327c6);return!!_0x368e5a['isJsxText'](_0x55ff7e)||!(0x12!==_0x55ff7e[_0x1a4e('0x146b')]||!_0x368e5a[_0x1a4e('0x252d')](_0x55ff7e[_0x1a4e('0x11c')])||!_0x368e5a['isJsxElement'](_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]))||!(0x1c!==_0x55ff7e[_0x1a4e('0x146b')]||!_0x368e5a[_0x1a4e('0x256e')](_0x55ff7e[_0x1a4e('0x11c')])||!_0x368e5a[_0x1a4e('0x2526')](_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]));},_0x368e5a[_0x1a4e('0x31ee')]=_0x1c05e1,_0x368e5a[_0x1a4e('0x31ef')]=function _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2248a5(_0x2327c6,_0x55ff7e);return void 0x0!==_0xf79407&&(_0x368e5a[_0x1a4e('0x2384')](_0xf79407[_0x1a4e('0x31f0')])||0x0!==_0x216232(_0xf79407[_0x1a4e('0x31f0')],_0xf79407[_0x1a4e('0x31f1')],_0x1adc17)[_0x1a4e('0x1e')]||_0x146f6e(_0xf79407[_0x1a4e('0x31f0')],_0x55ff7e,_0x1adc17));},_0x368e5a[_0x1a4e('0x31f2')]=_0x216232,_0x368e5a[_0x1a4e('0x31f3')]=_0x2248a5,_0x368e5a[_0x1a4e('0x31f4')]=_0x5b92f5,_0x368e5a[_0x1a4e('0x31f5')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x3e64e2(_0x146f6e,_0x2327c6);return!!_0x368e5a['findAncestor'](_0x55ff7e,_0x368e5a[_0x1a4e('0x2378')]);},_0x368e5a[_0x1a4e('0x31f6')]=function(_0x146f6e){var _0x2327c6=_0x368e5a['isDeclaration'](_0x146f6e)?_0x368e5a[_0x1a4e('0x235c')](_0x146f6e):0x0,_0x55ff7e=[];return 0x8&_0x2327c6&&_0x55ff7e[_0x1a4e('0x46')](_0x1a4e('0x22a7')),0x10&_0x2327c6&&_0x55ff7e[_0x1a4e('0x46')]('protected'),0x4&_0x2327c6&&_0x55ff7e[_0x1a4e('0x46')](_0x1a4e('0x22a9')),0x20&_0x2327c6&&_0x55ff7e[_0x1a4e('0x46')](_0x1a4e('0x22ab')),0x80&_0x2327c6&&_0x55ff7e[_0x1a4e('0x46')](_0x1a4e('0x2be0')),0x1&_0x2327c6&&_0x55ff7e[_0x1a4e('0x46')](_0x1a4e('0x229c')),0x400000&_0x146f6e[_0x1a4e('0x7b2')]&&_0x55ff7e[_0x1a4e('0x46')](_0x1a4e('0x229b')),_0x55ff7e[_0x1a4e('0x1e')]>0x0?_0x55ff7e[_0x1a4e('0x9e')](','):'';},_0x368e5a[_0x1a4e('0x31f7')]=function(_0x146f6e){return 0xa4===_0x146f6e[_0x1a4e('0x146b')]||0xbf===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x2365')]:_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)||0xf0===_0x146f6e[_0x1a4e('0x146b')]||0xf1===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x23d7')]:void 0x0;},_0x368e5a[_0x1a4e('0x31f8')]=function(_0x368e5a){return 0x2===_0x368e5a||0x3===_0x368e5a;},_0x368e5a[_0x1a4e('0x31f9')]=function(_0x146f6e){return!(0xa!==_0x146f6e&&0xd!==_0x146f6e&&!_0x368e5a['isTemplateLiteralKind'](_0x146f6e));},_0x368e5a[_0x1a4e('0x31fa')]=function(_0x368e5a){return 0x12<=_0x368e5a&&_0x368e5a<=0x47;},_0x368e5a[_0x1a4e('0x31fb')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2647')](_0x146f6e['kind'])&&_0x146f6e[_0x1a4e('0x31d6')](_0x55ff7e)<_0x2327c6&&_0x2327c6<_0x146f6e[_0x1a4e('0xca')]||!!_0x146f6e[_0x1a4e('0x2662')]&&_0x2327c6===_0x146f6e[_0x1a4e('0xca')];},_0x368e5a[_0x1a4e('0x31fc')]=function(_0x368e5a){switch(_0x368e5a){case 0x73:case 0x71:case 0x72:return!0x0;}return!0x1;},_0x368e5a[_0x1a4e('0x31fd')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x240')](_0x146f6e);return _0x368e5a[_0x1a4e('0x27c7')](_0x2327c6,_0x146f6e&&_0x146f6e[_0x1a4e('0x2fca')]),_0x2327c6;},_0x368e5a['isArrayLiteralOrObjectLiteralDestructuringPattern']=function _0x368e5a(_0x146f6e){if(0xbb===_0x146f6e[_0x1a4e('0x146b')]||0xbc===_0x146f6e[_0x1a4e('0x146b')]){if(0xcc===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x11c')]['left']===_0x146f6e&&0x3b===_0x146f6e[_0x1a4e('0x11c')]['operatorToken'][_0x1a4e('0x146b')])return!0x0;if(0xe3===_0x146f6e['parent']['kind']&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x236a')]===_0x146f6e)return!0x0;if(_0x368e5a(0x113===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:_0x146f6e[_0x1a4e('0x11c')]))return!0x0;}return!0x1;},_0x368e5a['isInReferenceComment']=function(_0x368e5a,_0x146f6e){return _0x347075(_0x368e5a,_0x146f6e,!0x0);},_0x368e5a['isInNonReferenceComment']=function(_0x368e5a,_0x146f6e){return _0x347075(_0x368e5a,_0x146f6e,!0x1);},_0x368e5a['createTextSpanFromNode']=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x22fa')](_0x146f6e['getStart'](_0x2327c6),_0x146f6e[_0x1a4e('0x31d7')]());},_0x368e5a[_0x1a4e('0x31fe')]=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x247d')](_0x146f6e[_0x1a4e('0x31d6')](_0x2327c6),_0x146f6e['end']);},_0x368e5a[_0x1a4e('0x31ff')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22fa')](_0x146f6e['pos'],_0x146f6e[_0x1a4e('0xca')]);},_0x368e5a['createTextRangeFromSpan']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x247d')](_0x146f6e[_0x1a4e('0xc9')],_0x146f6e[_0x1a4e('0xc9')]+_0x146f6e[_0x1a4e('0x1e')]);},_0x368e5a[_0x1a4e('0x3200')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x4bfaa2(_0x368e5a[_0x1a4e('0x22fb')](_0x146f6e,_0x2327c6),_0x55ff7e);},_0x368e5a['createTextChange']=_0x4bfaa2,_0x368e5a[_0x1a4e('0x3201')]=[0x78,0x92,0x7b,0x57,0x81,0x84,0x60,0x87,0x88,0x8a,0x8b,0x66,0x6a,0x8d,0x8e,0x8f],_0x368e5a['isTypeKeyword']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2ac')](_0x368e5a['typeKeywords'],_0x146f6e);},_0x368e5a[_0x1a4e('0x3202')]=function(_0x368e5a){return!!(0x600&_0x368e5a[_0x1a4e('0x7b2')])&&0x22===_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0x913')](0x0);},_0x368e5a[_0x1a4e('0x3203')]=function(){var _0x146f6e=[];return function(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x25ec')](_0x2327c6);return!_0x146f6e[_0x55ff7e]&&(_0x146f6e[_0x55ff7e]=!0x0);};},_0x368e5a[_0x1a4e('0x3204')]=function(_0x368e5a){return _0x368e5a[_0x1a4e('0x230e')](0x0,_0x368e5a[_0x1a4e('0x32a')]());},_0x368e5a[_0x1a4e('0x3205')]=function(_0x368e5a,_0x146f6e){for(var _0x2327c6='',_0x55ff7e=0x0;_0x55ff7e<_0x146f6e;_0x55ff7e++)_0x2327c6+=_0x368e5a;return _0x2327c6;},_0x368e5a[_0x1a4e('0x3206')]=function(_0x368e5a){return _0x368e5a[_0x1a4e('0x3207')]()&&_0x368e5a[_0x1a4e('0x3208')]()||_0x368e5a;},_0x368e5a[_0x1a4e('0x3209')]=function(_0x146f6e){return 0x95===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a['isStringOrNumericLiteralLike'](_0x146f6e[_0x1a4e('0x2302')])?_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0xe04')]:void 0x0:_0x368e5a[_0x1a4e('0x2401')](_0x146f6e);},_0x368e5a[_0x1a4e('0x320a')]=function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2447')]()['some'](function(_0x146f6e){return!_0x146f6e[_0x1a4e('0x2423')]&&!_0x368e5a['isSourceFileFromExternalLibrary'](_0x146f6e)&&!!_0x146f6e[_0x1a4e('0x2359')];});},_0x368e5a['compilerOptionsIndicateEs6Modules']=function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0xa6c')]||_0x368e5a['target']>=0x2||!!_0x368e5a[_0x1a4e('0x2740')];},_0x368e5a[_0x1a4e('0x320b')]=_0x56d780,_0x368e5a['hostGetCanonicalFileName']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1761')](_0x56d780(_0x146f6e));},_0x368e5a['makeImportIfNecessary']=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a||_0x146f6e&&_0x146f6e[_0x1a4e('0x1e')]?_0x114088(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e):void 0x0;},_0x368e5a[_0x1a4e('0x320c')]=_0x114088,_0x368e5a['makeStringLiteral']=_0xff9c6e,function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x320d')]=0x0]=_0x1a4e('0x320d'),_0x368e5a[_0x368e5a[_0x1a4e('0x320e')]=0x1]=_0x1a4e('0x320e');}(_0x368e5a[_0x1a4e('0x320f')]||(_0x368e5a['QuotePreference']={})),_0x368e5a['quotePreferenceFromString']=_0x3955f7,_0x368e5a[_0x1a4e('0x3210')]=function(_0x146f6e,_0x2327c6){if(_0x2327c6[_0x1a4e('0x3211')])return _0x1a4e('0x3212')===_0x2327c6[_0x1a4e('0x3211')]?0x0:0x1;var _0x55ff7e=_0x146f6e[_0x1a4e('0x10ca')]&&_0x368e5a['find'](_0x146f6e[_0x1a4e('0x10ca')],_0x368e5a[_0x1a4e('0x2374')]);return _0x55ff7e?_0x3955f7(_0x55ff7e,_0x146f6e):0x1;},_0x368e5a[_0x1a4e('0x3213')]=function(_0x146f6e){switch(_0x146f6e){case 0x0:return'\x27';case 0x1:return'\x22';default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}},_0x368e5a['symbolNameNoDefault']=function(_0x146f6e){var _0x2327c6=_0x45deb3(_0x146f6e);return void 0x0===_0x2327c6?void 0x0:_0x368e5a['unescapeLeadingUnderscores'](_0x2327c6);},_0x368e5a[_0x1a4e('0x3214')]=_0x45deb3,_0x368e5a[_0x1a4e('0x3215')]=function(_0x146f6e){return _0x368e5a['isBindingElement'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2d3f')](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])&&!_0x146f6e[_0x1a4e('0x81a')];},_0x368e5a[_0x1a4e('0x3216')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x31d9')](_0x146f6e[_0x1a4e('0x11c')]);return _0x2327c6&&_0x368e5a[_0x1a4e('0x31df')](_0x2327c6,_0x146f6e['name'][_0x1a4e('0xe04')]);},_0x368e5a[_0x1a4e('0x3217')]=_0x4531a7,_0x368e5a[_0x1a4e('0x3218')]=function(_0x368e5a,_0x146f6e){return _0x4531a7(_0x368e5a[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2cb')],_0x146f6e,function(_0x368e5a){return!0x0;})||!0x1;},_0x368e5a[_0x1a4e('0x3219')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e)for(;_0x146f6e['parent'];){if(_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e[_0x1a4e('0x11c')])||!_0x55f66c(_0x55ff7e,_0x146f6e[_0x1a4e('0x11c')],_0x2327c6))return _0x146f6e;_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];}},_0x368e5a[_0x1a4e('0x321a')]=function(_0x146f6e,_0x2327c6){return _0x146f6e[_0x1a4e('0x242d')]&&_0x368e5a['find'](_0x146f6e['modifiers'],function(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]===_0x2327c6;});},_0x368e5a[_0x1a4e('0x321b')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['findLast'](_0x2327c6[_0x1a4e('0x2366')],_0x368e5a['isAnyImportSyntax']);_0x1adc17?_0x146f6e[_0x1a4e('0x321c')](_0x2327c6,_0x1adc17,_0x55ff7e):_0x146f6e['insertNodeAtTopOfFile'](_0x2327c6,_0x55ff7e,!0x0);},_0x368e5a['textSpansEqual']=_0x4629d4,_0x368e5a[_0x1a4e('0x321d')]=function(_0x368e5a,_0x146f6e){return _0x368e5a['fileName']===_0x146f6e[_0x1a4e('0x1b39')]&&_0x4629d4(_0x368e5a[_0x1a4e('0x321e')],_0x146f6e['textSpan']);};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x368e5a){return _0x368e5a['declarations']&&_0x368e5a['declarations'][_0x1a4e('0x1e')]>0x0&&0x97===_0x368e5a['declarations'][0x0][_0x1a4e('0x146b')];}_0x368e5a[_0x1a4e('0x321f')]=_0x146f6e;var _0x2327c6=function(){var _0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x420b32=0xa*_0x368e5a['defaultMaximumTruncationLength'];_0xbee174();var _0x326eae=function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0xe04')]);};return{'displayParts':function(){var _0x2327c6=_0x146f6e[_0x1a4e('0x1e')]&&_0x146f6e[_0x146f6e[_0x1a4e('0x1e')]-0x1][_0x1a4e('0xe04')];return _0x2c9ec9>_0x420b32&&_0x2327c6&&_0x1a4e('0x28ba')!==_0x2327c6&&(_0x368e5a['isWhiteSpaceLike'](_0x2327c6[_0x1a4e('0x913')](_0x2327c6[_0x1a4e('0x1e')]-0x1))||_0x146f6e['push'](_0x1adc17('\x20',_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x1a53')])),_0x146f6e[_0x1a4e('0x46')](_0x1adc17(_0x1a4e('0x28ba'),_0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0x31a8')]))),_0x146f6e;},'writeKeyword':function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a['SymbolDisplayPartKind']['keyword']);},'writeOperator':function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0x1474')]);},'writePunctuation':function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a['SymbolDisplayPartKind']['punctuation']);},'writeTrailingSemicolon':function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x31a8')]);},'writeSpace':function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x1a53')]);},'writeStringLiteral':function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x315f')]);},'writeParameter':function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x2667')]);},'writeProperty':function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x81a')]);},'writeLiteral':function(_0x146f6e){return _0xf078d5(_0x146f6e,_0x368e5a[_0x1a4e('0x3165')]['stringLiteral']);},'writeSymbol':function(_0x368e5a,_0x2327c6){if(_0x2c9ec9>_0x420b32)return;_0x56674b(),_0x2c9ec9+=_0x368e5a['length'],_0x146f6e['push'](_0x55ff7e(_0x368e5a,_0x2327c6));},'writeLine':function(){if(_0x2c9ec9>_0x420b32)return;_0x2c9ec9+=0x1,_0x146f6e['push'](_0x1b06ad()),_0x2327c6=!0x0;},'write':_0x326eae,'writeComment':_0x326eae,'getText':function(){return'';},'getTextPos':function(){return 0x0;},'getColumn':function(){return 0x0;},'getLine':function(){return 0x0;},'isAtStartOfLine':function(){return!0x1;},'rawWrite':_0x368e5a[_0x1a4e('0x1732')],'getIndent':function(){return _0xf79407;},'increaseIndent':function(){_0xf79407++;},'decreaseIndent':function(){_0xf79407--;},'clear':_0xbee174,'trackSymbol':_0x368e5a['noop'],'reportInaccessibleThisError':_0x368e5a[_0x1a4e('0x10bf')],'reportInaccessibleUniqueSymbolError':_0x368e5a[_0x1a4e('0x10bf')],'reportPrivateInBaseOfClassExpression':_0x368e5a[_0x1a4e('0x10bf')]};function _0x56674b(){if(!(_0x2c9ec9>_0x420b32)&&_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2431')](_0xf79407);_0x55ff7e&&(_0x2c9ec9+=_0x55ff7e['length'],_0x146f6e['push'](_0x1adc17(_0x55ff7e,_0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0x1a53')]))),_0x2327c6=!0x1;}}function _0xf078d5(_0x368e5a,_0x2327c6){_0x2c9ec9>_0x420b32||(_0x56674b(),_0x2c9ec9+=_0x368e5a[_0x1a4e('0x1e')],_0x146f6e['push'](_0x1adc17(_0x368e5a,_0x2327c6)));}function _0xbee174(){_0x146f6e=[],_0x2327c6=!0x0,_0xf79407=0x0,_0x2c9ec9=0x0;}}();function _0x55ff7e(_0x2327c6,_0x55ff7e){return _0x1adc17(_0x2327c6,function(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x7b2')];if(0x3&_0x55ff7e)return _0x146f6e(_0x2327c6)?_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x2667')]:_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x3160')];if(0x4&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x81a')];if(0x8000&_0x55ff7e)return _0x368e5a['SymbolDisplayPartKind']['propertyName'];if(0x10000&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x81a')];if(0x8&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x3163')];if(0x10&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x3220')];if(0x20&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x3158')];if(0x40&_0x55ff7e)return _0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0x315b')];if(0x180&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')]['enumName'];if(0x600&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x2419')];if(0x2000&_0x55ff7e)return _0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0x3161')];if(0x40000&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x3162')];if(0x80000&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x3157')];if(0x200000&_0x55ff7e)return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x3157')];return _0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0xe04')];}(_0x55ff7e));}function _0x1adc17(_0x146f6e,_0x2327c6){return{'text':_0x146f6e,'kind':_0x368e5a[_0x1a4e('0x3165')][_0x2327c6]};}function _0xf79407(_0x146f6e){return _0x1adc17(_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e),_0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0x315c')]);}function _0x2c9ec9(_0x146f6e){return _0x1adc17(_0x146f6e,_0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0xe04')]);}_0x368e5a[_0x1a4e('0x3221')]=_0x55ff7e,_0x368e5a['displayPart']=_0x1adc17,_0x368e5a[_0x1a4e('0x3222')]=function(){return _0x1adc17('\x20',_0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0x1a53')]);},_0x368e5a[_0x1a4e('0x3223')]=_0xf79407,_0x368e5a[_0x1a4e('0x3224')]=function(_0x146f6e){return _0x1adc17(_0x368e5a['tokenToString'](_0x146f6e),_0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0x31a8')]);},_0x368e5a[_0x1a4e('0x3225')]=function(_0x146f6e){return _0x1adc17(_0x368e5a[_0x1a4e('0x22ba')](_0x146f6e),_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x1474')]);},_0x368e5a['textOrKeywordPart']=function(_0x146f6e){var _0x2327c6=_0x368e5a['stringToToken'](_0x146f6e);return void 0x0===_0x2327c6?_0x2c9ec9(_0x146f6e):_0xf79407(_0x2327c6);},_0x368e5a[_0x1a4e('0x3226')]=_0x2c9ec9;var _0x420b32='\x0d\x0a';function _0x1b06ad(){return _0x1adc17('\x0a',_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x315d')]);}function _0x326eae(_0x368e5a){try{return _0x368e5a(_0x2327c6),_0x2327c6[_0x1a4e('0x3227')]();}finally{_0x2327c6['clear']();}}function _0x56674b(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x1e')];return _0x146f6e>=0x2&&_0x368e5a[_0x1a4e('0x913')](0x0)===_0x368e5a['charCodeAt'](_0x146f6e-0x1)&&_0x3aabe5(_0x368e5a)?_0x368e5a[_0x1a4e('0x281')](0x1,_0x146f6e-0x1):_0x368e5a;}function _0x3aabe5(_0x146f6e){return _0x368e5a[_0x1a4e('0x2895')](_0x146f6e[_0x1a4e('0x913')](0x0));}function _0x41e7ee(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x3228')](_0x146f6e,_0x2327c6&&_0x2327c6[_0x1a4e('0x3229')]&&_0x2327c6[_0x1a4e('0x3229')](_0x146f6e));}function _0x2b665a(_0x368e5a,_0x146f6e){void 0x0===_0x146f6e&&(_0x146f6e=!0x0);var _0x2327c6=_0x368e5a&&_0x111a4d(_0x368e5a);return _0x2327c6&&!_0x146f6e&&_0x2a428f(_0x2327c6),_0x2327c6;}function _0x441081(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9;if(void 0x0===_0x2327c6&&(_0x2327c6=!0x0),_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&_0x55ff7e&&_0x1adc17){var _0x420b32=_0x1adc17[_0x1a4e('0x3029')](_0x146f6e),_0x1b06ad=_0x420b32&&_0x55ff7e['get'](String(_0x368e5a[_0x1a4e('0x2889')](_0x420b32)));_0x1b06ad&&(_0x2c9ec9=_0x368e5a[_0x1a4e('0x2893')](_0x1b06ad[_0x1a4e('0xe04')]));}return _0x2c9ec9||(_0x2c9ec9=_0x111a4d(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407)),_0x2c9ec9&&!_0x2327c6&&_0x2a428f(_0x2c9ec9),_0xf79407&&_0x2c9ec9&&_0xf79407(_0x146f6e,_0x2c9ec9),_0x2c9ec9;}function _0x111a4d(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6||_0x55ff7e||_0x1adc17?_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,function(_0x368e5a){return _0x441081(_0x368e5a,!0x0,_0x2327c6,_0x55ff7e,_0x1adc17);},_0x368e5a[_0x1a4e('0x28ce')]):_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x2b665a,_0x368e5a[_0x1a4e('0x28ce')]);if(_0xf79407===_0x146f6e){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x28ca')](_0x146f6e);return _0x368e5a['isStringLiteral'](_0x2c9ec9)?_0x2c9ec9[_0x1a4e('0x2c08')]=_0x146f6e:_0x368e5a['isNumericLiteral'](_0x2c9ec9)&&(_0x2c9ec9[_0x1a4e('0x2335')]=_0x146f6e[_0x1a4e('0x2335')]),_0x368e5a[_0x1a4e('0x2d12')](_0x2c9ec9,_0x146f6e);}return _0xf79407[_0x1a4e('0x11c')]=void 0x0,_0xf79407;}function _0x2a428f(_0x368e5a){_0x3159ab(_0x368e5a),_0x480965(_0x368e5a);}function _0x3159ab(_0x368e5a){_0x30675a(_0x368e5a,0x200,_0x234285);}function _0x480965(_0x146f6e){_0x30675a(_0x146f6e,0x400,_0x368e5a['getLastChild']);}function _0x30675a(_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a[_0x1a4e('0x2dc8')](_0x146f6e,_0x2327c6);var _0x1adc17=_0x55ff7e(_0x146f6e);_0x1adc17&&_0x30675a(_0x1adc17,_0x2327c6,_0x55ff7e);}function _0x234285(_0x368e5a){return _0x368e5a[_0x1a4e('0x22eb')](function(_0x368e5a){return _0x368e5a;});}function _0x291ff6(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0xdfb')](_0x146f6e,_0x2327c6))return 0x0;var _0x55ff7e=_0x146f6e[_0x1a4e('0x3e')]('\x20'+_0x2327c6);return-0x1===_0x55ff7e&&(_0x55ff7e=_0x146f6e['indexOf']('.'+_0x2327c6)),-0x1===_0x55ff7e&&(_0x55ff7e=_0x146f6e[_0x1a4e('0x3e')]('\x22'+_0x2327c6)),-0x1===_0x55ff7e?-0x1:_0x55ff7e+0x1;}function _0x154aaf(_0x368e5a){switch(_0x368e5a){case 0x23:case 0x21:case 0x24:case 0x22:return!0x0;default:return!0x1;}}function _0xd06689(_0x368e5a,_0x146f6e){return _0x146f6e[_0x1a4e('0x31d9')](_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['expression']);}_0x368e5a['getNewLineOrDefaultFromHost']=function(_0x368e5a,_0x146f6e){return _0x146f6e&&_0x146f6e[_0x1a4e('0x322a')]||_0x368e5a[_0x1a4e('0x2f73')]&&_0x368e5a[_0x1a4e('0x2f73')]()||_0x420b32;},_0x368e5a[_0x1a4e('0x322b')]=_0x1b06ad,_0x368e5a[_0x1a4e('0x322c')]=_0x326eae,_0x368e5a[_0x1a4e('0x322d')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=0x0),_0x326eae(function(_0x1adc17){_0x368e5a[_0x1a4e('0x322e')](_0x146f6e,_0x2327c6,0x4400|_0x55ff7e,_0x1adc17);});},_0x368e5a[_0x1a4e('0x322f')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return void 0x0===_0x1adc17&&(_0x1adc17=0x0),_0x326eae(function(_0xf79407){_0x368e5a[_0x1a4e('0x2f65')](_0x146f6e,_0x2327c6,_0x55ff7e,0x8|_0x1adc17,_0xf79407);});},_0x368e5a[_0x1a4e('0x3230')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=0x0),_0x55ff7e|=0x6420,_0x326eae(function(_0x1adc17){_0x368e5a['writeSignature'](_0x146f6e,_0x2327c6,_0x55ff7e,void 0x0,_0x1adc17);});},_0x368e5a['isImportOrExportSpecifierName']=function(_0x146f6e){return!!_0x146f6e[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x2542')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')]['propertyName']===_0x146f6e;},_0x368e5a[_0x1a4e('0x3231')]=_0x56674b,_0x368e5a['startsWithQuote']=_0x3aabe5,_0x368e5a[_0x1a4e('0x3232')]=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=0x2;_0x1adc17-0x1&&_0x368e5a['isWhiteSpaceSingleLine'](_0x146f6e['charCodeAt'](_0x2327c6));)_0x2327c6-=0x1;return _0x2327c6+0x1;},_0x368e5a[_0x1a4e('0x3234')]=_0x2b665a,_0x368e5a[_0x1a4e('0x3235')]=_0x441081,_0x368e5a['getSynthesizedDeepClones']=function(_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=!0x0),_0x146f6e&&_0x368e5a[_0x1a4e('0x28d1')](_0x146f6e[_0x1a4e('0x21')](function(_0x368e5a){return _0x2b665a(_0x368e5a,_0x2327c6);}),_0x146f6e[_0x1a4e('0x265d')]);},_0x368e5a[_0x1a4e('0x3236')]=_0x2a428f,_0x368e5a[_0x1a4e('0x3237')]=_0x3159ab,_0x368e5a[_0x1a4e('0x3238')]=_0x480965,_0x368e5a[_0x1a4e('0x3239')]=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x146f6e,_0x1adc17=0x1;!_0x368e5a[_0x1a4e('0x2325')](_0x2327c6,_0x55ff7e);_0x1adc17++)_0x55ff7e=_0x146f6e+'_'+_0x1adc17;return _0x55ff7e;},_0x368e5a['getRenameLocation']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=0x0,_0x2c9ec9=-0x1,_0x420b32=0x0,_0x1b06ad=_0x146f6e;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32],_0x56674b=_0x326eae[_0x1a4e('0x1b39')],_0x3aabe5=_0x326eae[_0x1a4e('0x323a')];_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x56674b===_0x2327c6);for(var _0x41e7ee=0x0,_0x2b665a=_0x3aabe5;_0x41e7ee<_0x2b665a[_0x1a4e('0x1e')];_0x41e7ee++){var _0x441081=_0x2b665a[_0x41e7ee],_0x111a4d=_0x441081[_0x1a4e('0x24c0')],_0x2a428f=_0x441081[_0x1a4e('0x323b')],_0x3159ab=_0x291ff6(_0x2a428f,_0x55ff7e);if(-0x1!==_0x3159ab&&(_0x2c9ec9=_0x111a4d[_0x1a4e('0xc9')]+_0xf79407+_0x3159ab,!_0x1adc17))return _0x2c9ec9;_0xf79407+=_0x2a428f[_0x1a4e('0x1e')]-_0x111a4d[_0x1a4e('0x1e')];}}return _0x368e5a[_0x1a4e('0x1749')]['assert'](_0x1adc17),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x2c9ec9>=0x0),_0x2c9ec9;},_0x368e5a[_0x1a4e('0x323c')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x368e5a['forEachLeadingCommentRange'](_0x55ff7e['text'],_0x146f6e[_0x1a4e('0xa4')],function(_0x146f6e,_0x2c9ec9,_0x420b32,_0x1b06ad){0x3===_0x420b32?(_0x146f6e+=0x2,_0x2c9ec9-=0x2):_0x146f6e+=0x2,_0x368e5a[_0x1a4e('0x2e6c')](_0x2327c6,_0x1adc17||_0x420b32,_0x55ff7e['text']['slice'](_0x146f6e,_0x2c9ec9),void 0x0!==_0xf79407?_0xf79407:_0x1b06ad);});},_0x368e5a[_0x1a4e('0x323d')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x11c')];switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xc0:return _0x146f6e[_0x1a4e('0x323e')](_0x2327c6);case 0xcc:var _0x55ff7e=_0x2327c6,_0x1adc17=_0x55ff7e['left'],_0xf79407=_0x55ff7e['operatorToken'],_0x2c9ec9=_0x55ff7e['right'];return _0x154aaf(_0xf79407[_0x1a4e('0x146b')])?_0x146f6e['getTypeAtLocation'](_0x368e5a===_0x2c9ec9?_0x1adc17:_0x2c9ec9):_0x146f6e['getContextualType'](_0x368e5a);case 0x10f:return _0x2327c6[_0x1a4e('0x2302')]===_0x368e5a?_0xd06689(_0x2327c6,_0x146f6e):void 0x0;default:return _0x146f6e[_0x1a4e('0x323e')](_0x368e5a);}},_0x368e5a['quote']=function(_0x146f6e,_0x2327c6){if(/^\d+$/[_0x1a4e('0x8d0')](_0x146f6e))return _0x146f6e;var _0x55ff7e=JSON['stringify'](_0x146f6e);switch(_0x2327c6[_0x1a4e('0x3211')]){case void 0x0:case'double':return _0x55ff7e;case _0x1a4e('0x3212'):return'\x27'+_0x56674b(_0x55ff7e)[_0x1a4e('0x115')]('\x27','\x5c\x27')['replace']('\x5c\x22','\x22')+'\x27';default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x2327c6['quotePreference']);}},_0x368e5a[_0x1a4e('0x323f')]=_0x154aaf,_0x368e5a['isStringLiteralOrTemplate']=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xa:case 0xe:case 0xce:case 0xc1:return!0x0;default:return!0x1;}},_0x368e5a['hasIndexSignature']=function(_0x368e5a){return!!_0x368e5a['getStringIndexType']()||!!_0x368e5a[_0x1a4e('0x3240')]();},_0x368e5a[_0x1a4e('0x3241')]=_0xd06689;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x3242')]=function(){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x22d1')](0x6,!0x1);function _0x420b32(_0x1adc17,_0x420b32,_0x1b06ad){var _0x326eae=0x0,_0x56674b=0x0,_0x56700b=[],_0x27a5cb=function(_0x146f6e){switch(_0x146f6e){case 0x3:return{'prefix':'\x22\x5c\x0a'};case 0x2:return{'prefix':_0x1a4e('0x3243')};case 0x1:return{'prefix':'/*\x0a'};case 0x4:return{'prefix':'`\x0a'};case 0x5:return{'prefix':'}\x0a','pushTemplate':!0x0};case 0x6:return{'prefix':'','pushTemplate':!0x0};case 0x0:return{'prefix':''};default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}(_0x420b32),_0x1d9bad=_0x27a5cb['prefix'],_0x1c0dec=_0x27a5cb['pushTemplate'];_0x1adc17=_0x1d9bad+_0x1adc17;var _0x3cd117=_0x1d9bad[_0x1a4e('0x1e')];_0x1c0dec&&_0x56700b[_0x1a4e('0x46')](0xf),_0x2c9ec9[_0x1a4e('0x2637')](_0x1adc17);var _0x104da0=0x0,_0x23a5ff=[],_0x2b0bb3=0x0;do{_0x326eae=_0x2c9ec9[_0x1a4e('0x22f8')](),_0x368e5a[_0x1a4e('0x23f9')](_0x326eae)||(_0x37148a(),_0x56674b=_0x326eae);var _0x1fd6c9=_0x2c9ec9['getTextPos']();if(_0x55ff7e(_0x2c9ec9[_0x1a4e('0x22f9')](),_0x1fd6c9,_0x3cd117,_0xf79407(_0x326eae),_0x23a5ff),_0x1fd6c9>=_0x1adc17[_0x1a4e('0x1e')]){var _0x4c766a=_0x2327c6(_0x2c9ec9,_0x326eae,_0x368e5a['lastOrUndefined'](_0x56700b));void 0x0!==_0x4c766a&&(_0x104da0=_0x4c766a);}}while(0x1!==_0x326eae);function _0x37148a(){switch(_0x326eae){case 0x2a:case 0x40:_0x146f6e[_0x56674b]||0xd!==_0x2c9ec9[_0x1a4e('0x2676')]()||(_0x326eae=0xd);break;case 0x1c:0x48===_0x56674b&&_0x2b0bb3++;break;case 0x1e:_0x2b0bb3>0x0&&_0x2b0bb3--;break;case 0x78:case 0x8a:case 0x87:case 0x7b:case 0x8b:_0x2b0bb3>0x0&&!_0x1b06ad&&(_0x326eae=0x48);break;case 0xf:_0x56700b[_0x1a4e('0x46')](_0x326eae);break;case 0x12:_0x56700b['length']>0x0&&_0x56700b['push'](_0x326eae);break;case 0x13:if(_0x56700b[_0x1a4e('0x1e')]>0x0){var _0x2327c6=_0x368e5a[_0x1a4e('0x1722')](_0x56700b);0xf===_0x2327c6?0x11===(_0x326eae=_0x2c9ec9[_0x1a4e('0x3244')]())?_0x56700b[_0x1a4e('0x76')]():_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1706')](_0x326eae,0x10,'Should\x20have\x20been\x20a\x20template\x20middle.'):(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1706')](_0x2327c6,0x12,_0x1a4e('0x3245')),_0x56700b['pop']());}break;default:if(!_0x368e5a[_0x1a4e('0x23f3')](_0x326eae))break;0x18===_0x56674b?_0x326eae=0x48:_0x368e5a[_0x1a4e('0x23f3')](_0x56674b)&&_0x368e5a[_0x1a4e('0x23f3')](_0x326eae)&&!function(_0x146f6e,_0x2327c6){if(!_0x368e5a[_0x1a4e('0x31fc')](_0x146f6e))return!0x0;switch(_0x2327c6){case 0x7e:case 0x89:case 0x7c:case 0x74:return!0x0;default:return!0x1;}}(_0x56674b,_0x326eae)&&(_0x326eae=0x48);}}return{'endOfLineState':_0x104da0,'spans':_0x23a5ff};}return{'getClassificationsForLine':function(_0x146f6e,_0x2327c6,_0x55ff7e){return function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0xf79407=_0x146f6e[_0x1a4e('0x3246')],_0x2c9ec9=0x0,_0x420b32=0x0;_0x420b32<_0xf79407[_0x1a4e('0x1e')];_0x420b32+=0x3){var _0x1b06ad=_0xf79407[_0x420b32],_0x326eae=_0xf79407[_0x420b32+0x1],_0x56674b=_0xf79407[_0x420b32+0x2];if(_0x2c9ec9>=0x0){var _0x3a0ce9=_0x1b06ad-_0x2c9ec9;_0x3a0ce9>0x0&&_0x55ff7e[_0x1a4e('0x46')]({'length':_0x3a0ce9,'classification':_0x368e5a[_0x1a4e('0x3179')][_0x1a4e('0x3177')]});}_0x55ff7e[_0x1a4e('0x46')]({'length':_0x326eae,'classification':_0x1adc17(_0x56674b)}),_0x2c9ec9=_0x1b06ad+_0x326eae;}var _0x4e2462=_0x2327c6[_0x1a4e('0x1e')]-_0x2c9ec9;return _0x4e2462>0x0&&_0x55ff7e['push']({'length':_0x4e2462,'classification':_0x368e5a[_0x1a4e('0x3179')][_0x1a4e('0x3177')]}),{'entries':_0x55ff7e,'finalLexState':_0x146f6e[_0x1a4e('0x3247')]};}(_0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e),_0x146f6e);},'getEncodedLexicalClassifications':_0x420b32};};var _0x146f6e=_0x368e5a['arrayToNumericMap']([0x48,0xa,0x8,0x9,0xd,0x64,0x2c,0x2d,0x15,0x17,0x13,0x66,0x57],function(_0x368e5a){return _0x368e5a;},function(){return!0x0;});function _0x2327c6(_0x146f6e,_0x2327c6,_0x55ff7e){switch(_0x2327c6){case 0xa:if(!_0x146f6e[_0x1a4e('0x2662')]())return;for(var _0x1adc17=_0x146f6e[_0x1a4e('0x2694')](),_0xf79407=_0x1adc17[_0x1a4e('0x1e')]-0x1,_0x2c9ec9=0x0;0x5c===_0x1adc17[_0x1a4e('0x913')](_0xf79407-_0x2c9ec9);)_0x2c9ec9++;if(0x0==(0x1&_0x2c9ec9))return;return 0x22===_0x1adc17[_0x1a4e('0x913')](0x0)?0x3:0x2;case 0x3:return _0x146f6e['isUnterminated']()?0x1:void 0x0;default:if(_0x368e5a[_0x1a4e('0x2647')](_0x2327c6)){if(!_0x146f6e['isUnterminated']())return;switch(_0x2327c6){case 0x11:return 0x5;case 0xe:return 0x4;default:return _0x368e5a['Debug'][_0x1a4e('0x1709')](_0x1a4e('0x3248')+_0x2327c6);}}return 0xf===_0x55ff7e?0x6:void 0x0;}}function _0x55ff7e(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(0x8!==_0x55ff7e){0x0===_0x368e5a&&_0x2327c6>0x0&&(_0x368e5a+=_0x2327c6);var _0xf79407=_0x146f6e-_0x368e5a;_0xf79407>0x0&&_0x1adc17[_0x1a4e('0x46')](_0x368e5a-_0x2327c6,_0xf79407,_0x55ff7e);}}function _0x1adc17(_0x146f6e){switch(_0x146f6e){case 0x1:return _0x368e5a[_0x1a4e('0x3179')]['Comment'];case 0x3:return _0x368e5a['TokenClass']['Keyword'];case 0x4:return _0x368e5a[_0x1a4e('0x3179')][_0x1a4e('0x19ce')];case 0x19:return _0x368e5a['TokenClass'][_0x1a4e('0x178d')];case 0x5:return _0x368e5a[_0x1a4e('0x3179')][_0x1a4e('0x3176')];case 0x6:return _0x368e5a[_0x1a4e('0x3179')][_0x1a4e('0x178e')];case 0x8:return _0x368e5a[_0x1a4e('0x3179')][_0x1a4e('0x3177')];case 0xa:return _0x368e5a[_0x1a4e('0x3179')][_0x1a4e('0x3174')];case 0x2:case 0xb:case 0xc:case 0xd:case 0xe:case 0xf:case 0x10:case 0x9:case 0x11:return _0x368e5a[_0x1a4e('0x3179')][_0x1a4e('0x17cb')];default:return;}}function _0xf79407(_0x146f6e){if(_0x368e5a['isKeyword'](_0x146f6e))return 0x3;if(function(_0x368e5a){switch(_0x368e5a){case 0x28:case 0x2a:case 0x2b:case 0x26:case 0x27:case 0x2e:case 0x2f:case 0x30:case 0x1c:case 0x1e:case 0x1f:case 0x20:case 0x5e:case 0x5d:case 0x77:case 0x21:case 0x22:case 0x23:case 0x24:case 0x31:case 0x33:case 0x32:case 0x36:case 0x37:case 0x46:case 0x45:case 0x47:case 0x42:case 0x43:case 0x44:case 0x3c:case 0x3d:case 0x3e:case 0x40:case 0x41:case 0x3b:case 0x1b:return!0x0;default:return!0x1;}}(_0x146f6e)||function(_0x368e5a){switch(_0x368e5a){case 0x26:case 0x27:case 0x35:case 0x34:case 0x2c:case 0x2d:return!0x0;default:return!0x1;}}(_0x146f6e))return 0x5;if(_0x146f6e>=0x12&&_0x146f6e<=0x47)return 0xa;switch(_0x146f6e){case 0x8:return 0x4;case 0x9:return 0x19;case 0xa:return 0x6;case 0xd:return 0x7;case 0x7:case 0x3:case 0x2:return 0x1;case 0x5:case 0x4:return 0x8;case 0x48:default:return _0x368e5a['isTemplateLiteralKind'](_0x146f6e)?0x6:0x2;}}function _0x2c9ec9(_0x368e5a,_0x146f6e){switch(_0x146f6e){case 0xf4:case 0xf0:case 0xf1:case 0xef:_0x368e5a[_0x1a4e('0x289b')]();}}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x420b32=[];return _0x55ff7e['forEachChild'](function _0x1b06ad(_0x326eae){if(_0x326eae&&_0x368e5a[_0x1a4e('0x24bb')](_0xf79407,_0x326eae['pos'],_0x326eae['getFullWidth']())){if(_0x2c9ec9(_0x2327c6,_0x326eae[_0x1a4e('0x146b')]),_0x368e5a[_0x1a4e('0x2370')](_0x326eae)&&!_0x368e5a[_0x1a4e('0x2327')](_0x326eae)&&_0x1adc17[_0x1a4e('0x178')](_0x326eae['escapedText'])){var _0x56674b=_0x146f6e['getSymbolAtLocation'](_0x326eae),_0x58f0f6=_0x56674b&&function _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6[_0x1a4e('0x3249')]();return 0x0==(0x2c07e0&_0xf79407)?void 0x0:0x20&_0xf79407?0xb:0x180&_0xf79407?0xc:0x80000&_0xf79407?0x10:0x600&_0xf79407?0x4&_0x55ff7e||0x1&_0x55ff7e&&function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22ef')](_0x146f6e)&&0x1===_0x368e5a[_0x1a4e('0x2831')](_0x146f6e);});}(_0x2327c6)?0xe:void 0x0:0x200000&_0xf79407?_0x146f6e(_0x1adc17[_0x1a4e('0x248d')](_0x2327c6),_0x55ff7e,_0x1adc17):0x2&_0x55ff7e?0x40&_0xf79407?0xd:0x40000&_0xf79407?0xf:void 0x0:void 0x0;}(_0x56674b,_0x368e5a[_0x1a4e('0x31c1')](_0x326eae),_0x146f6e);_0x58f0f6&&function(_0x368e5a,_0x146f6e,_0x2327c6){_0x420b32['push'](_0x368e5a),_0x420b32[_0x1a4e('0x46')](_0x146f6e-_0x368e5a),_0x420b32['push'](_0x2327c6);}(_0x326eae[_0x1a4e('0x31d6')](_0x55ff7e),_0x326eae[_0x1a4e('0x31d7')](),_0x58f0f6);}_0x326eae[_0x1a4e('0x22eb')](_0x1b06ad);}}),{'spans':_0x420b32,'endOfLineState':0x0};}function _0x1b06ad(_0x368e5a){switch(_0x368e5a){case 0x1:return _0x1a4e('0x2695');case 0x2:return'identifier';case 0x3:return'keyword';case 0x4:return _0x1a4e('0x3d');case 0x19:return'bigint';case 0x5:return _0x1a4e('0x1474');case 0x6:return'string';case 0x8:return _0x1a4e('0x324a');case 0x9:return _0x1a4e('0xe04');case 0xa:return _0x1a4e('0x31a8');case 0xb:return _0x1a4e('0x31a9');case 0xc:return _0x1a4e('0x324b');case 0xd:return _0x1a4e('0x31aa');case 0xe:return _0x1a4e('0x31ab');case 0xf:return'type\x20parameter\x20name';case 0x10:return _0x1a4e('0x31ae');case 0x11:return _0x1a4e('0x324c');case 0x12:return'doc\x20comment\x20tag\x20name';case 0x13:return'jsx\x20open\x20tag\x20name';case 0x14:return _0x1a4e('0x31b3');case 0x15:return _0x1a4e('0x324d');case 0x16:return _0x1a4e('0x31b6');case 0x17:return _0x1a4e('0x31b7');case 0x18:return'jsx\x20attribute\x20string\x20literal\x20value';default:return;}}function _0x326eae(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x146f6e['spans']['length']%0x3==0x0);for(var _0x2327c6=_0x146f6e[_0x1a4e('0x3246')],_0x55ff7e=[],_0x1adc17=0x0;_0x1adc17<_0x2327c6[_0x1a4e('0x1e')];_0x1adc17+=0x3)_0x55ff7e[_0x1a4e('0x46')]({'textSpan':_0x368e5a['createTextSpan'](_0x2327c6[_0x1adc17],_0x2327c6[_0x1adc17+0x1]),'classificationType':_0x1b06ad(_0x2327c6[_0x1adc17+0x2])});return _0x55ff7e;}function _0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e['start'],_0xf79407=_0x55ff7e[_0x1a4e('0x1e')],_0x420b32=_0x368e5a[_0x1a4e('0x22d1')](0x6,!0x1,_0x2327c6['languageVariant'],_0x2327c6['text']),_0x1b06ad=_0x368e5a[_0x1a4e('0x22d1')](0x6,!0x1,_0x2327c6[_0x1a4e('0x22f7')],_0x2327c6[_0x1a4e('0xe04')]),_0x326eae=[];return _0x21bd96(_0x2327c6),{'spans':_0x326eae,'endOfLineState':0x0};function _0x56674b(_0x368e5a,_0x146f6e,_0x2327c6){_0x326eae[_0x1a4e('0x46')](_0x368e5a),_0x326eae[_0x1a4e('0x46')](_0x146f6e),_0x326eae[_0x1a4e('0x46')](_0x2327c6);}function _0x1bf6cd(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){if(0x3===_0x55ff7e){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2634')](_0x2327c6[_0x1a4e('0xe04')],_0x1adc17,_0xf79407);if(_0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x22ec')])return _0x2c9ec9[_0x1a4e('0x22ec')][_0x1a4e('0x11c')]=_0x146f6e,void function(_0x368e5a){var _0x146f6e=_0x368e5a['pos'];if(_0x368e5a['tags'])for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x2455')];_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];switch(_0x1adc17[_0x1a4e('0xa4')]!==_0x146f6e&&_0x50baf0(_0x146f6e,_0x1adc17[_0x1a4e('0xa4')]-_0x146f6e),_0x56674b(_0x1adc17['pos'],0x1,0xa),_0x56674b(_0x1adc17[_0x1a4e('0x132b')][_0x1a4e('0xa4')],_0x1adc17['tagName'][_0x1a4e('0xca')]-_0x1adc17[_0x1a4e('0x132b')][_0x1a4e('0xa4')],0x12),_0x146f6e=_0x1adc17['tagName'][_0x1a4e('0xca')],_0x1adc17[_0x1a4e('0x146b')]){case 0x12b:_0xf79407(_0x1adc17);break;case 0x12f:_0x1936e5(_0x1adc17),_0x146f6e=_0x1adc17[_0x1a4e('0xca')];break;case 0x12e:case 0x12c:_0x21bd96(_0x1adc17[_0x1a4e('0x2379')]),_0x146f6e=_0x1adc17['end'];}}_0x146f6e!==_0x368e5a['end']&&_0x50baf0(_0x146f6e,_0x368e5a[_0x1a4e('0xca')]-_0x146f6e);return;function _0xf79407(_0x368e5a){_0x368e5a[_0x1a4e('0x2612')]&&(_0x50baf0(_0x146f6e,_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xa4')]-_0x146f6e),_0x56674b(_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xa4')],_0x368e5a['name']['end']-_0x368e5a[_0x1a4e('0x2cb')]['pos'],0x11),_0x146f6e=_0x368e5a[_0x1a4e('0x2cb')]['end']),_0x368e5a['typeExpression']&&(_0x50baf0(_0x146f6e,_0x368e5a[_0x1a4e('0x2379')][_0x1a4e('0xa4')]-_0x146f6e),_0x21bd96(_0x368e5a['typeExpression']),_0x146f6e=_0x368e5a[_0x1a4e('0x2379')][_0x1a4e('0xca')]),_0x368e5a[_0x1a4e('0x2612')]||(_0x50baf0(_0x146f6e,_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xa4')]-_0x146f6e),_0x56674b(_0x368e5a['name'][_0x1a4e('0xa4')],_0x368e5a['name'][_0x1a4e('0xca')]-_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xa4')],0x11),_0x146f6e=_0x368e5a['name'][_0x1a4e('0xca')]);}}(_0x2c9ec9[_0x1a4e('0x22ec')]);}_0x50baf0(_0x1adc17,_0xf79407);}function _0x50baf0(_0x368e5a,_0x146f6e){_0x56674b(_0x368e5a,_0x146f6e,0x1);}function _0x1936e5(_0x368e5a){for(var _0x146f6e=0x0,_0x2327c6=_0x368e5a['getChildren']();_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){_0x21bd96(_0x2327c6[_0x146f6e]);}}function _0xf0d6a9(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17;for(_0x1adc17=_0x2327c6;_0x1adc17<_0x55ff7e&&!_0x368e5a[_0x1a4e('0x22c3')](_0x146f6e[_0x1a4e('0x913')](_0x1adc17));_0x1adc17++);for(_0x56674b(_0x2327c6,_0x1adc17-_0x2327c6,0x1),_0x1b06ad[_0x1a4e('0x324e')](_0x1adc17);_0x1b06ad[_0x1a4e('0x2615')]()<_0x55ff7e;)_0x342a52();}function _0x342a52(){var _0x368e5a=_0x1b06ad[_0x1a4e('0x2615')](),_0x146f6e=_0x1b06ad[_0x1a4e('0x22f8')](),_0x2327c6=_0x1b06ad[_0x1a4e('0x2615')](),_0x55ff7e=_0x2959dc(_0x146f6e);_0x55ff7e&&_0x56674b(_0x368e5a,_0x2327c6-_0x368e5a,_0x55ff7e);}function _0xbbd426(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2378')](_0x146f6e))return!0x0;if(_0x368e5a[_0x1a4e('0x2327')](_0x146f6e))return!0x0;var _0x55ff7e=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x11c')]['kind']){case 0x106:if(_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x132b')]===_0x368e5a)return 0x13;break;case 0x107:if(_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x132b')]===_0x368e5a)return 0x14;break;case 0x105:if(_0x368e5a[_0x1a4e('0x11c')]['tagName']===_0x368e5a)return 0x15;break;case 0x10b:if(_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x368e5a)return 0x16;}return;}(_0x146f6e);if(!_0x368e5a['isToken'](_0x146f6e)&&0xb!==_0x146f6e[_0x1a4e('0x146b')]&&void 0x0===_0x55ff7e)return!0x1;var _0x1adc17=0xb===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0xa4')]:function(_0x146f6e){for(_0x420b32[_0x1a4e('0x324e')](_0x146f6e[_0x1a4e('0xa4')]);;){var _0x55ff7e=_0x420b32['getTextPos']();if(!_0x368e5a[_0x1a4e('0x22c5')](_0x2327c6[_0x1a4e('0xe04')],_0x55ff7e))return _0x55ff7e;var _0x1adc17=_0x420b32[_0x1a4e('0x22f8')](),_0xf79407=_0x420b32[_0x1a4e('0x2615')](),_0x2c9ec9=_0xf79407-_0x55ff7e;if(!_0x368e5a[_0x1a4e('0x23f9')](_0x1adc17))return _0x55ff7e;switch(_0x1adc17){case 0x4:case 0x5:continue;case 0x2:case 0x3:_0x1bf6cd(_0x146f6e,_0x1adc17,_0x55ff7e,_0x2c9ec9),_0x420b32[_0x1a4e('0x324e')](_0xf79407);continue;case 0x7:var _0x1b06ad=_0x2327c6[_0x1a4e('0xe04')],_0x326eae=_0x1b06ad[_0x1a4e('0x913')](_0x55ff7e);if(0x3c===_0x326eae||0x3e===_0x326eae){_0x56674b(_0x55ff7e,_0x2c9ec9,0x1);continue;}_0x368e5a[_0x1a4e('0x1749')]['assert'](0x7c===_0x326eae||0x3d===_0x326eae),_0xf0d6a9(_0x1b06ad,_0x55ff7e,_0xf79407);break;case 0x6:break;default:_0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x1adc17);}}}(_0x146f6e),_0xf79407=_0x146f6e['end']-_0x1adc17;if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0xf79407>=0x0),_0xf79407>0x0){var _0x2c9ec9=_0x55ff7e||_0x2959dc(_0x146f6e['kind'],_0x146f6e);_0x2c9ec9&&_0x56674b(_0x1adc17,_0xf79407,_0x2c9ec9);}return!0x0;}function _0x2959dc(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x23f3')](_0x146f6e))return 0x3;if((0x1c===_0x146f6e||0x1e===_0x146f6e)&&_0x2327c6&&_0x368e5a[_0x1a4e('0x31f7')](_0x2327c6[_0x1a4e('0x11c')]))return 0xa;if(_0x368e5a[_0x1a4e('0x31fa')](_0x146f6e)){if(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x11c')];if(0x3b===_0x146f6e&&(0xed===_0x55ff7e[_0x1a4e('0x146b')]||0x9a===_0x55ff7e['kind']||0x97===_0x55ff7e[_0x1a4e('0x146b')]||0x10b===_0x55ff7e[_0x1a4e('0x146b')]))return 0x5;if(0xcc===_0x55ff7e[_0x1a4e('0x146b')]||0xca===_0x55ff7e[_0x1a4e('0x146b')]||0xcb===_0x55ff7e[_0x1a4e('0x146b')]||0xcd===_0x55ff7e[_0x1a4e('0x146b')])return 0x5;}return 0xa;}if(0x8===_0x146f6e)return 0x4;if(0x9===_0x146f6e)return 0x19;if(0xa===_0x146f6e)return 0x10b===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?0x18:0x6;if(0xd===_0x146f6e)return 0x6;if(_0x368e5a[_0x1a4e('0x2647')](_0x146f6e))return 0x6;if(0xb===_0x146f6e)return 0x17;if(0x48===_0x146f6e){if(_0x2327c6)switch(_0x2327c6['parent'][_0x1a4e('0x146b')]){case 0xf0:return _0x2327c6['parent'][_0x1a4e('0x2cb')]===_0x2327c6?0xb:void 0x0;case 0x96:return _0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x2327c6?0xf:void 0x0;case 0xf1:return _0x2327c6[_0x1a4e('0x11c')]['name']===_0x2327c6?0xd:void 0x0;case 0xf3:return _0x2327c6[_0x1a4e('0x11c')]['name']===_0x2327c6?0xc:void 0x0;case 0xf4:return _0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x2327c6?0xe:void 0x0;case 0x97:return _0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x2327c6?_0x368e5a[_0x1a4e('0x287b')](_0x2327c6)?0x3:0x11:void 0x0;}return 0x2;}}function _0x21bd96(_0x55ff7e){if(_0x55ff7e&&_0x368e5a[_0x1a4e('0x24bc')](_0x1adc17,_0xf79407,_0x55ff7e[_0x1a4e('0xa4')],_0x55ff7e[_0x1a4e('0x2310')]())){_0x2c9ec9(_0x146f6e,_0x55ff7e[_0x1a4e('0x146b')]);for(var _0x420b32=0x0,_0x1b06ad=_0x55ff7e[_0x1a4e('0x31d4')](_0x2327c6);_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0xbbd426(_0x326eae)||_0x21bd96(_0x326eae);}}}}_0x368e5a[_0x1a4e('0x324f')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x326eae(_0x420b32(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17));},_0x368e5a['getEncodedSemanticClassifications']=_0x420b32,_0x368e5a[_0x1a4e('0x3250')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x326eae(_0x56674b(_0x368e5a,_0x146f6e,_0x2327c6));},_0x368e5a['getEncodedSyntacticClassifications']=_0x56674b;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){!function(_0x2327c6){function _0x55ff7e(_0x368e5a){return{'isGlobalCompletion':!0x1,'isMemberCompletion':!0x1,'isNewIdentifierLocation':!0x0,'entries':_0x368e5a['map'](function(_0x368e5a){var _0x146f6e=_0x368e5a['name'],_0x2327c6=_0x368e5a[_0x1a4e('0x146b')],_0x55ff7e=_0x368e5a[_0x1a4e('0x24c0')];return{'name':_0x146f6e,'kind':_0x2327c6,'kindModifiers':_0x1adc17(_0x368e5a['extension']),'sortText':'0','replacementSpan':_0x55ff7e};})};}function _0x1adc17(_0x146f6e){switch(_0x146f6e){case _0x1a4e('0x1a83'):return _0x1a4e('0x1a83');case _0x1a4e('0x1a84'):return'.js';case _0x1a4e('0x1a87'):return _0x1a4e('0x1a87');case _0x1a4e('0x1a86'):return'.jsx';case _0x1a4e('0x25be'):return _0x1a4e('0x25be');case _0x1a4e('0x1a81'):return _0x1a4e('0x1a81');case void 0x0:return'';default:return _0x368e5a['Debug']['assertNever'](_0x146f6e);}}var _0xf79407;function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x326eae,_0x56674b,_0x2bf1ce=_0x2327c6['parent'];switch(_0x2bf1ce['kind']){case 0xb6:switch(_0x2bf1ce[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xa4:return{'kind':0x2,'types':_0x1b06ad(_0x1adc17['getTypeArgumentConstraint'](_0x2bf1ce)),'isNewIdentifier':!0x1};case 0xb4:return _0x420b32(_0x1adc17[_0x1a4e('0x3251')](_0x2bf1ce[_0x1a4e('0x11c')]['objectType']));case 0xb7:return{'kind':0x0,'paths':_0x3bcf8e(_0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x1adc17)};case 0xad:if(!_0x368e5a[_0x1a4e('0x269a')](_0x2bf1ce['parent'][_0x1a4e('0x11c')]))return;var _0xd24ff3=(_0x326eae=_0x2bf1ce[_0x1a4e('0x11c')],_0x56674b=_0x2bf1ce,_0x368e5a[_0x1a4e('0x1713')](_0x326eae[_0x1a4e('0x2380')],function(_0x146f6e){return _0x146f6e!==_0x56674b&&_0x368e5a[_0x1a4e('0x22ff')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2374')](_0x146f6e[_0x1a4e('0x2301')])?_0x146f6e[_0x1a4e('0x2301')][_0x1a4e('0xe04')]:void 0x0;}));return{'kind':0x2,'types':_0x1b06ad(_0x1adc17[_0x1a4e('0x3252')](_0x2bf1ce[_0x1a4e('0x11c')]))[_0x1a4e('0xd9')](function(_0x146f6e){return!_0x368e5a[_0x1a4e('0x2ac')](_0xd24ff3,_0x146f6e[_0x1a4e('0x255')]);}),'isNewIdentifier':!0x1};default:return;}case 0x113:return _0x368e5a[_0x1a4e('0x236f')](_0x2bf1ce['parent'])&&_0x2bf1ce['name']===_0x2327c6?_0x420b32(_0x1adc17['getContextualType'](_0x2bf1ce[_0x1a4e('0x11c')])):_0x45a474();case 0xbe:var _0x50ff10=_0x2bf1ce,_0x46b942=_0x50ff10['expression'],_0x387ca4=_0x50ff10['argumentExpression'];return _0x2327c6===_0x387ca4?_0x420b32(_0x1adc17[_0x1a4e('0x31d9')](_0x46b942)):void 0x0;case 0xbf:case 0xc0:if(!_0x368e5a[_0x1a4e('0x23ae')](_0x2bf1ce,!0x1)&&!_0x368e5a[_0x1a4e('0x2a16')](_0x2bf1ce)){var _0x3071a7=_0x368e5a[_0x1a4e('0x3253')][_0x1a4e('0x3254')](_0x2327c6,_0x55ff7e,_0x146f6e);return _0x3071a7?function(_0x146f6e,_0x2327c6){var _0x55ff7e=!0x1,_0x1adc17=_0x368e5a[_0x1a4e('0x1772')](),_0xf79407=[];return _0x2327c6[_0x1a4e('0x3255')](_0x146f6e[_0x1a4e('0x3256')],_0xf79407,_0x146f6e[_0x1a4e('0x3257')]),{'kind':0x2,'types':_0x368e5a[_0x1a4e('0x104e')](_0xf79407,function(_0x368e5a){if(_0x368e5a[_0x1a4e('0x23d8')]||!(_0x146f6e[_0x1a4e('0x3257')]>_0x368e5a[_0x1a4e('0x111a')][_0x1a4e('0x1e')])){var _0xf79407=_0x2327c6['getParameterType'](_0x368e5a,_0x146f6e[_0x1a4e('0x3258')]);return _0x55ff7e=_0x55ff7e||!!(0x4&_0xf79407['flags']),_0x1b06ad(_0xf79407,_0x1adc17);}}),'isNewIdentifier':_0x55ff7e};}(_0x3071a7,_0x1adc17):_0x45a474();}case 0xf9:case 0xff:case 0x103:return{'kind':0x0,'paths':_0x3bcf8e(_0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x1adc17)};default:return _0x45a474();}function _0x45a474(){return{'kind':0x2,'types':_0x1b06ad(_0x368e5a['getContextualTypeFromParent'](_0x2327c6,_0x1adc17)),'isNewIdentifier':!0x1};}}function _0x420b32(_0x146f6e){return _0x146f6e&&{'kind':0x1,'symbols':_0x146f6e[_0x1a4e('0x3259')](),'hasIndexSignature':_0x368e5a[_0x1a4e('0x325a')](_0x146f6e)};}function _0x1b06ad(_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=_0x368e5a[_0x1a4e('0x1772')]()),_0x146f6e?(_0x146f6e=_0x368e5a['skipConstraint'](_0x146f6e))[_0x1a4e('0x325b')]()?_0x368e5a[_0x1a4e('0x104e')](_0x146f6e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x1b06ad(_0x368e5a,_0x2327c6);}):!_0x146f6e[_0x1a4e('0x2374')]()||0x400&_0x146f6e['flags']||!_0x368e5a[_0x1a4e('0x3048')](_0x2327c6,_0x146f6e[_0x1a4e('0x255')])?_0x368e5a[_0x1a4e('0x1700')]:[_0x146f6e]:_0x368e5a[_0x1a4e('0x1700')];}function _0x326eae(_0x368e5a,_0x146f6e,_0x2327c6){return{'name':_0x368e5a,'kind':_0x146f6e,'extension':_0x2327c6};}function _0x56674b(_0x368e5a){return _0x326eae(_0x368e5a,'directory',void 0x0);}function _0x1f2851(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=function(_0x146f6e,_0x2327c6){var _0x55ff7e=Math[_0x1a4e('0x6c')](_0x146f6e['lastIndexOf'](_0x368e5a[_0x1a4e('0x1b42')]),_0x146f6e[_0x1a4e('0x471')]('\x5c')),_0x1adc17=-0x1!==_0x55ff7e?_0x55ff7e+0x1:0x0,_0xf79407=_0x146f6e['length']-_0x1adc17;return 0x0===_0xf79407||_0x368e5a[_0x1a4e('0x2995')](_0x146f6e[_0x1a4e('0x254')](_0x1adc17,_0xf79407),0x6)?void 0x0:_0x368e5a[_0x1a4e('0x22fb')](_0x2327c6+_0x1adc17,_0xf79407);}(_0x146f6e,_0x2327c6);return _0x55ff7e[_0x1a4e('0x21')](function(_0x368e5a){return{'name':_0x368e5a['name'],'kind':_0x368e5a['kind'],'extension':_0x368e5a[_0x1a4e('0x2319')],'span':_0x1adc17};});}function _0x3bcf8e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x1f2851(_0x2327c6[_0x1a4e('0xe04')],_0x2327c6[_0x1a4e('0x31d6')](_0x146f6e)+0x1,function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x166f')](_0x2327c6['text']),_0x420b32=_0x146f6e['path'],_0x1b06ad=_0x368e5a[_0x1a4e('0x1671')](_0x420b32);return function(_0x368e5a){if(_0x368e5a&&_0x368e5a[_0x1a4e('0x1e')]>=0x2&&0x2e===_0x368e5a[_0x1a4e('0x913')](0x0)){var _0x146f6e=_0x368e5a['length']>=0x3&&0x2e===_0x368e5a['charCodeAt'](0x1)?0x2:0x1,_0x2327c6=_0x368e5a[_0x1a4e('0x913')](_0x146f6e);return 0x2f===_0x2327c6||0x5c===_0x2327c6;}return!0x1;}(_0x2c9ec9)||!_0x55ff7e[_0x1a4e('0x275b')]&&(_0x368e5a[_0x1a4e('0x22e9')](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x259b')](_0x2c9ec9))?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x42bf7e(_0x55ff7e);return _0x55ff7e[_0x1a4e('0x275e')]?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0xf79407[_0x1a4e('0x500')]||_0x2c9ec9[_0x1a4e('0x241c')](),_0x326eae=!(_0x2c9ec9[_0x1a4e('0x1b40')]&&_0x2c9ec9['useCaseSensitiveFileNames']()),_0x56674b=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x146f6e=_0x146f6e['map'](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1672')](_0x368e5a[_0x1a4e('0x22e9')](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x146f6e));});var _0xf79407=_0x368e5a[_0x1a4e('0x1703')](_0x146f6e,function(_0x146f6e){return _0x368e5a['containsPath'](_0x146f6e,_0x55ff7e,_0x2327c6,_0x1adc17)?_0x55ff7e['substr'](_0x146f6e[_0x1a4e('0x1e')]):void 0x0;});return _0x368e5a[_0x1a4e('0x25cc')](_0x146f6e[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a['combinePaths'](_0x146f6e,_0xf79407);})[_0x1a4e('0x9a')]([_0x55ff7e]),_0x368e5a[_0x1a4e('0x25a2')],_0x368e5a['compareStringsCaseSensitive']);}(_0x146f6e,_0x1b06ad,_0x55ff7e,_0x326eae);return _0x368e5a[_0x1a4e('0x104e')](_0x56674b,function(_0x368e5a){return _0x4b4d4a(_0x2327c6,_0x368e5a,_0x1adc17,_0x2c9ec9,_0x420b32);});}(_0x55ff7e[_0x1a4e('0x275e')],_0x146f6e,_0x2327c6,_0x2c9ec9,_0x55ff7e,_0x1adc17,_0xf79407):_0x4b4d4a(_0x146f6e,_0x2327c6,_0x2c9ec9,_0x1adc17,_0xf79407);}(_0x2c9ec9,_0x1b06ad,_0x55ff7e,_0x1adc17,_0x420b32):function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x275b')],_0x420b32=_0x55ff7e['paths'],_0x1b06ad=[],_0x56674b=_0x42bf7e(_0x55ff7e);if(_0x2c9ec9){var _0x1f2851=_0x55ff7e[_0x1a4e('0x500')]||_0x1adc17[_0x1a4e('0x241c')](),_0x3bcf8e=_0x368e5a[_0x1a4e('0x1672')](_0x368e5a[_0x1a4e('0x1673')](_0x1f2851,_0x2c9ec9));_0x4b4d4a(_0x146f6e,_0x3bcf8e,_0x56674b,_0x1adc17,void 0x0,_0x1b06ad),_0x420b32&&_0x19f40f(_0x1b06ad,_0x146f6e,_0x3bcf8e,_0x56674b[_0x1a4e('0x325c')],_0x420b32,_0x1adc17);}for(var _0x353d42=_0x2bbdbd(_0x146f6e),_0x32d402=0x0,_0x9c3375=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x325d')]()[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x3231')](_0x146f6e[_0x1a4e('0x2cb')]);})[_0x1a4e('0xd9')](function(_0x2327c6){return _0x368e5a[_0x1a4e('0xdfb')](_0x2327c6,_0x146f6e);});if(void 0x0!==_0x2327c6){var _0xf79407=_0x368e5a[_0x1a4e('0x2599')](_0x2327c6);return _0x1adc17[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1764')](_0x146f6e,_0xf79407);});}return _0x1adc17;}(_0x146f6e,_0x353d42,_0xf79407);_0x32d402<_0x9c3375[_0x1a4e('0x1e')];_0x32d402++){var _0x22c9fe=_0x9c3375[_0x32d402];_0x1b06ad[_0x1a4e('0x46')](_0x326eae(_0x22c9fe,_0x1a4e('0x3197'),void 0x0));}if(_0x434b3f(_0x1adc17,_0x55ff7e,_0x2327c6,_0x353d42,_0x56674b,_0x1b06ad),_0x368e5a['getEmitModuleResolutionKind'](_0x55ff7e)===_0x368e5a[_0x1a4e('0x258b')][_0x1a4e('0x1a2f')]){var _0x1e472d=!0x1;if(void 0x0===_0x353d42)for(var _0x24d4cd=function(_0x368e5a){_0x1b06ad[_0x1a4e('0x1c2')](function(_0x146f6e){return _0x146f6e[_0x1a4e('0x2cb')]===_0x368e5a;})||(_0x1e472d=!0x0,_0x1b06ad[_0x1a4e('0x46')](_0x326eae(_0x368e5a,_0x1a4e('0x3197'),void 0x0)));},_0x2dc5d2=0x0,_0x56e949=function(_0x146f6e,_0x2327c6){if(!_0x146f6e[_0x1a4e('0x16b8')]||!_0x146f6e[_0x1a4e('0x1b4d')])return _0x368e5a[_0x1a4e('0x1700')];for(var _0x55ff7e=[],_0x1adc17=0x0,_0xf79407=_0x58c327(_0x2327c6,_0x146f6e);_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++)for(var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x368e5a[_0x1a4e('0x27fd')](_0x2c9ec9,_0x146f6e),_0x1b06ad=0x0,_0x326eae=_0x291c0e;_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad],_0x1f2851=_0x420b32[_0x56674b];if(_0x1f2851)for(var _0x3bcf8e in _0x1f2851)_0x1f2851[_0x1a4e('0xb')](_0x3bcf8e)&&!_0x368e5a[_0x1a4e('0xdfb')](_0x3bcf8e,_0x1a4e('0x2829'))&&_0x55ff7e[_0x1a4e('0x46')](_0x3bcf8e);}return _0x55ff7e;}(_0x1adc17,_0x2327c6);_0x2dc5d2<_0x56e949['length'];_0x2dc5d2++){var _0x29ab26=_0x56e949[_0x2dc5d2];_0x24d4cd(_0x29ab26);}_0x1e472d||_0x368e5a[_0x1a4e('0x2496')](_0x2327c6,function(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x1a4e('0x16ed'));_0x302818(_0x1adc17,_0x55ff7e)&&_0x4b4d4a(_0x146f6e,_0x55ff7e,_0x56674b,_0x1adc17,void 0x0,_0x1b06ad);});}return _0x1b06ad;}(_0x2c9ec9,_0x1b06ad,_0x55ff7e,_0x1adc17,_0xf79407);}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407));}function _0x42bf7e(_0x368e5a,_0x146f6e){return void 0x0===_0x146f6e&&(_0x146f6e=!0x1),{'extensions':_0x5b787c(_0x368e5a),'includeExtensions':_0x146f6e};}function _0x5b787c(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x25ce')](_0x146f6e);return _0x146f6e[_0x1a4e('0x25cd')]&&_0x368e5a[_0x1a4e('0x297a')](_0x146f6e)===_0x368e5a[_0x1a4e('0x258b')]['NodeJs']?_0x2327c6[_0x1a4e('0x9a')](_0x1a4e('0x1a87')):_0x2327c6;}function _0x4b4d4a(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x55ff7e[_0x1a4e('0x325c')],_0x1b06ad=_0x55ff7e[_0x1a4e('0x325e')];void 0x0===_0x2c9ec9&&(_0x2c9ec9=[]),void 0x0===_0x146f6e&&(_0x146f6e=''),_0x146f6e=_0x368e5a[_0x1a4e('0x166f')](_0x146f6e),_0x368e5a[_0x1a4e('0x2598')](_0x146f6e)||(_0x146f6e=_0x368e5a[_0x1a4e('0x1671')](_0x146f6e)),''===_0x146f6e&&(_0x146f6e='.'+_0x368e5a['directorySeparator']),_0x146f6e=_0x368e5a['ensureTrailingDirectorySeparator'](_0x146f6e);var _0x1f2851=_0x368e5a[_0x1a4e('0x1b4c')](_0x2327c6,_0x146f6e),_0x3bcf8e=_0x368e5a[_0x1a4e('0x2598')](_0x1f2851)?_0x1f2851:_0x368e5a[_0x1a4e('0x1671')](_0x1f2851),_0x42bf7e=!(_0x1adc17[_0x1a4e('0x1b40')]&&_0x1adc17['useCaseSensitiveFileNames']());if(!_0x302818(_0x1adc17,_0x3bcf8e))return _0x2c9ec9;var _0x5b787c=_0x467b14(_0x1adc17,_0x3bcf8e,_0x420b32,void 0x0,[_0x1a4e('0x325f')]);if(_0x5b787c){for(var _0x4b4d4a=_0x368e5a[_0x1a4e('0x1772')](),_0x428551=0x0,_0x47571e=_0x5b787c;_0x428551<_0x47571e[_0x1a4e('0x1e')];_0x428551++){var _0xa9f5b5=_0x47571e[_0x428551];if(_0xa9f5b5=_0x368e5a['normalizePath'](_0xa9f5b5),!_0xf79407||0x0!==_0x368e5a[_0x1a4e('0x25aa')](_0xa9f5b5,_0xf79407,_0x2327c6,_0x42bf7e)){var _0x3fb2c1=_0x1b06ad||_0x368e5a[_0x1a4e('0x175b')](_0xa9f5b5,_0x1a4e('0x1a87'))?_0x368e5a[_0x1a4e('0x2338')](_0xa9f5b5):_0x368e5a[_0x1a4e('0x241e')](_0x368e5a[_0x1a4e('0x2338')](_0xa9f5b5));_0x4b4d4a['set'](_0x3fb2c1,_0x368e5a[_0x1a4e('0x2823')](_0xa9f5b5));}}_0x4b4d4a[_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){_0x2c9ec9[_0x1a4e('0x46')](_0x326eae(_0x146f6e,_0x1a4e('0xe3e'),_0x368e5a));});}var _0x5c7032=_0x41b672(_0x1adc17,_0x3bcf8e);if(_0x5c7032)for(var _0x2cdcd7=0x0,_0x43e6a2=_0x5c7032;_0x2cdcd7<_0x43e6a2['length'];_0x2cdcd7++){var _0x29ea30=_0x43e6a2[_0x2cdcd7],_0x4de8fb=_0x368e5a[_0x1a4e('0x2338')](_0x368e5a['normalizePath'](_0x29ea30));_0x1a4e('0x27e6')!==_0x4de8fb&&_0x2c9ec9['push'](_0x56674b(_0x4de8fb));}var _0x239c43=function(_0x146f6e,_0x2327c6){var _0x55ff7e;return _0x368e5a[_0x1a4e('0x2496')](_0x146f6e,function(_0x146f6e){return _0x1a4e('0x16ed')===_0x146f6e||!!(_0x55ff7e=_0x368e5a[_0x1a4e('0x2fa7')](_0x146f6e,function(_0x368e5a){return _0x4b25c0(_0x2327c6,_0x368e5a);},_0x1a4e('0x16f1')))||void 0x0;}),_0x55ff7e;}(_0x3bcf8e,_0x1adc17);if(_0x239c43){var _0x7d02f4=_0x368e5a[_0x1a4e('0x27fd')](_0x239c43,_0x1adc17)['typesVersions'];if(_0x1a4e('0x85')==typeof _0x7d02f4){var _0x4a1910=_0x368e5a[_0x1a4e('0x307d')](_0x7d02f4),_0x3b3a87=_0x4a1910&&_0x4a1910['paths'],_0x3c7e5b=_0x1f2851[_0x1a4e('0x78')](_0x368e5a['ensureTrailingDirectorySeparator'](_0x3bcf8e)['length']);_0x3b3a87&&_0x19f40f(_0x2c9ec9,_0x3c7e5b,_0x3bcf8e,_0x420b32,_0x3b3a87,_0x1adc17);}}return _0x2c9ec9;}function _0x19f40f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){for(var _0x420b32 in _0xf79407)if(_0x368e5a[_0x1a4e('0x26ff')](_0xf79407,_0x420b32)){var _0x1b06ad=_0xf79407[_0x420b32];if(_0x1b06ad)for(var _0x56674b=function(_0x368e5a,_0x2327c6,_0x55ff7e){_0x146f6e[_0x1a4e('0x1c2')](function(_0x146f6e){return _0x146f6e['name']===_0x368e5a;})||_0x146f6e['push'](_0x326eae(_0x368e5a,_0x2327c6,_0x55ff7e));},_0x1f2851=0x0,_0x3bcf8e=_0x56be66(_0x420b32,_0x1b06ad,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9);_0x1f2851<_0x3bcf8e[_0x1a4e('0x1e')];_0x1f2851++){var _0x42bf7e=_0x3bcf8e[_0x1f2851];_0x56674b(_0x42bf7e[_0x1a4e('0x2cb')],_0x42bf7e[_0x1a4e('0x146b')],_0x42bf7e['extension']);}}}function _0x2bbdbd(_0x146f6e){return _0x558d64(_0x146f6e)?_0x368e5a[_0x1a4e('0x2598')](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x1671')](_0x146f6e):void 0x0;}function _0x56be66(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(!_0x368e5a[_0x1a4e('0x1098')](_0x146f6e,'*'))return _0x368e5a['stringContains'](_0x146f6e,'*')?_0x368e5a['emptyArray']:_0x1f2851(_0x146f6e);var _0x420b32=_0x146f6e[_0x1a4e('0x78')](0x0,_0x146f6e[_0x1a4e('0x1e')]-0x1),_0x1b06ad=_0x368e5a['tryRemovePrefix'](_0x55ff7e,_0x420b32);return void 0x0===_0x1b06ad?_0x1f2851(_0x420b32):_0x368e5a[_0x1a4e('0x104e')](_0x2327c6,function(_0x146f6e){return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(!_0xf79407['readDirectory'])return;var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2595')](_0x55ff7e)?_0x368e5a['tryParsePattern'](_0x55ff7e):void 0x0;if(!_0x2c9ec9)return;var _0x420b32=_0x368e5a[_0x1a4e('0x1b4c')](_0x2c9ec9[_0x1a4e('0x1750')]),_0x1b06ad=_0x368e5a['hasTrailingDirectorySeparator'](_0x2c9ec9[_0x1a4e('0x1750')])?_0x420b32:_0x368e5a[_0x1a4e('0x1671')](_0x420b32),_0x1f2851=_0x368e5a[_0x1a4e('0x2598')](_0x2c9ec9[_0x1a4e('0x1750')])?'':_0x368e5a[_0x1a4e('0x2338')](_0x420b32),_0x3bcf8e=_0x558d64(_0x146f6e),_0x42bf7e=_0x3bcf8e?_0x368e5a[_0x1a4e('0x2598')](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x1671')](_0x146f6e):void 0x0,_0x5b787c=_0x3bcf8e?_0x368e5a[_0x1a4e('0x1673')](_0x1b06ad,_0x1f2851+_0x42bf7e):_0x1b06ad,_0x4b4d4a=_0x368e5a[_0x1a4e('0x1672')](_0x2c9ec9[_0x1a4e('0x1751')]),_0x19f40f=_0x368e5a[_0x1a4e('0x1672')](_0x368e5a[_0x1a4e('0x1673')](_0x2327c6,_0x5b787c)),_0x2bbdbd=_0x3bcf8e?_0x19f40f:_0x368e5a[_0x1a4e('0x2599')](_0x19f40f)+_0x1f2851,_0x56be66=_0x4b4d4a?_0x1a4e('0x26fe'):_0x1a4e('0x325f'),_0x17a07f=_0x368e5a['mapDefined'](_0x467b14(_0xf79407,_0x19f40f,_0x1adc17,void 0x0,[_0x56be66]),function(_0x146f6e){var _0x2327c6=_0x368e5a['tryGetExtensionFromPath'](_0x146f6e),_0x55ff7e=_0x1ffa73(_0x146f6e);return void 0x0===_0x55ff7e?void 0x0:_0x326eae(_0x368e5a['removeFileExtension'](_0x55ff7e),_0x1a4e('0xe3e'),_0x2327c6);}),_0x204d28=_0x368e5a[_0x1a4e('0x1713')](_0x41b672(_0xf79407,_0x19f40f)['map'](function(_0x146f6e){return _0x368e5a['combinePaths'](_0x19f40f,_0x146f6e);}),function(_0x368e5a){var _0x146f6e=_0x1ffa73(_0x368e5a);return void 0x0===_0x146f6e?void 0x0:_0x56674b(_0x146f6e);});return _0x17a07f[_0x1a4e('0x9a')](_0x204d28);function _0x1ffa73(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407=(_0x2327c6=_0x368e5a['normalizePath'](_0x146f6e),_0x55ff7e=_0x2bbdbd,_0x1adc17=_0x4b4d4a,_0x368e5a['startsWith'](_0x2327c6,_0x55ff7e)&&_0x368e5a[_0x1a4e('0x1098')](_0x2327c6,_0x1adc17)?_0x2327c6[_0x1a4e('0x78')](_0x55ff7e['length'],_0x2327c6[_0x1a4e('0x1e')]-_0x1adc17[_0x1a4e('0x1e')]):void 0x0);return void 0x0===_0xf79407?void 0x0:function(_0x146f6e){return _0x146f6e[0x0]===_0x368e5a[_0x1a4e('0x1b42')]?_0x146f6e[_0x1a4e('0x78')](0x1):_0x146f6e;}(_0xf79407);}}(_0x1b06ad,_0x1adc17,_0x146f6e,_0xf79407,_0x2c9ec9);});function _0x1f2851(_0x146f6e){return _0x368e5a[_0x1a4e('0xdfb')](_0x146f6e,_0x55ff7e)?[_0x56674b(_0x146f6e)]:_0x368e5a[_0x1a4e('0x1700')];}}function _0x434b3f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){void 0x0===_0x2c9ec9&&(_0x2c9ec9=[]);for(var _0x420b32=_0x368e5a['createMap'](),_0x1b06ad=0x0,_0x56674b=_0x101169(function(){return _0x368e5a[_0x1a4e('0x27e5')](_0x2327c6,_0x146f6e);})||_0x368e5a[_0x1a4e('0x1700')];_0x1b06ad<_0x56674b[_0x1a4e('0x1e')];_0x1b06ad++){_0x5b787c(_0x56674b[_0x1b06ad]);}for(var _0x1f2851=0x0,_0x3bcf8e=_0x58c327(_0x55ff7e,_0x146f6e);_0x1f2851<_0x3bcf8e['length'];_0x1f2851++){var _0x42bf7e=_0x3bcf8e[_0x1f2851];_0x5b787c(_0x368e5a[_0x1a4e('0x1673')](_0x368e5a[_0x1a4e('0x1671')](_0x42bf7e),_0x1a4e('0x3260')));}return _0x2c9ec9;function _0x5b787c(_0x55ff7e){if(_0x302818(_0x146f6e,_0x55ff7e))for(var _0x1b06ad=0x0,_0x56674b=_0x41b672(_0x146f6e,_0x55ff7e);_0x1b06ad<_0x56674b[_0x1a4e('0x1e')];_0x1b06ad++){var _0x1f2851=_0x56674b[_0x1b06ad],_0x3bcf8e=_0x368e5a[_0x1a4e('0x282b')](_0x1f2851);if(!_0x2327c6[_0x1a4e('0x2380')]||_0x368e5a[_0x1a4e('0x2ac')](_0x2327c6[_0x1a4e('0x2380')],_0x3bcf8e))if(void 0x0===_0x1adc17)_0x420b32['has'](_0x3bcf8e)||(_0x2c9ec9[_0x1a4e('0x46')](_0x326eae(_0x3bcf8e,_0x1a4e('0x3197'),void 0x0)),_0x420b32['set'](_0x3bcf8e,!0x0));else{var _0x42bf7e=_0x368e5a['combinePaths'](_0x55ff7e,_0x1f2851),_0x5b787c=_0x368e5a[_0x1a4e('0x25ac')](_0x1adc17,_0x3bcf8e,_0x368e5a[_0x1a4e('0x3261')](_0x146f6e));void 0x0!==_0x5b787c&&_0x4b4d4a(_0x5b787c,_0x42bf7e,_0xf79407,_0x146f6e,void 0x0,_0x2c9ec9);}}}}function _0x58c327(_0x146f6e,_0x2327c6){var _0x55ff7e=[];return _0x368e5a[_0x1a4e('0x2496')](_0x146f6e,function(_0x146f6e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2fa7')](_0x146f6e,function(_0x368e5a){return _0x4b25c0(_0x2327c6,_0x368e5a);},_0x1a4e('0x16f1'));if(!_0x1adc17)return!0x0;_0x55ff7e[_0x1a4e('0x46')](_0x1adc17);}),_0x55ff7e;}_0x2327c6[_0x1a4e('0x3262')]=function(_0x2327c6,_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x3bcf8e){if(_0x368e5a[_0x1a4e('0x3263')](_0x2327c6,_0x1adc17)){var _0x5b787c=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6),_0x2c9ec9=_0x368e5a[_0x1a4e('0x22cc')](_0x146f6e[_0x1a4e('0xe04')],_0xf79407[_0x1a4e('0xa4')]),_0x420b32=_0x2c9ec9&&_0x368e5a[_0x1a4e('0x1c7')](_0x2c9ec9,function(_0x368e5a){return _0x2327c6>=_0x368e5a[_0x1a4e('0xa4')]&&_0x2327c6<=_0x368e5a[_0x1a4e('0xca')];});if(_0x420b32){var _0x1b06ad=_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x78')](_0x420b32['pos'],_0x2327c6),_0x326eae=_0x105b08[_0x1a4e('0x2af')](_0x1b06ad);if(_0x326eae){var _0x56674b=_0x326eae[0x1],_0x3bcf8e=_0x326eae[0x2],_0x5b787c=_0x326eae[0x3],_0x19f40f=_0x368e5a[_0x1a4e('0x1671')](_0x146f6e['path']),_0x56be66=_0x1a4e('0x64')===_0x3bcf8e?_0x4b4d4a(_0x5b787c,_0x19f40f,_0x42bf7e(_0x55ff7e,!0x0),_0x1adc17,_0x146f6e['path']):_0x1a4e('0x2380')===_0x3bcf8e?_0x434b3f(_0x1adc17,_0x55ff7e,_0x19f40f,_0x2bbdbd(_0x5b787c),_0x42bf7e(_0x55ff7e)):_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();return _0x1f2851(_0x5b787c,_0x420b32[_0x1a4e('0xa4')]+_0x56674b['length'],_0x56be66);}}}(_0x2327c6,_0x1adc17,_0x1b06ad,_0x326eae);return _0x5b787c&&_0x55ff7e(_0x5b787c);}if(_0x368e5a[_0x1a4e('0x31eb')](_0x2327c6,_0x1adc17,_0xf79407))return _0xf79407&&_0x368e5a['isStringLiteralLike'](_0xf79407)?function(_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){if(void 0x0!==_0x2327c6)switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x0:return _0x55ff7e(_0x2327c6['paths']);case 0x1:var _0x1b06ad=[];return _0x146f6e[_0x1a4e('0x3265')](_0x2327c6['symbols'],_0x1b06ad,_0x1adc17,_0x1adc17,_0xf79407,0x6,_0x2c9ec9,0x4,_0x420b32),{'isGlobalCompletion':!0x1,'isMemberCompletion':!0x0,'isNewIdentifierLocation':_0x2327c6[_0x1a4e('0x325a')],'entries':_0x1b06ad};case 0x2:var _0x1b06ad=_0x2327c6['types'][_0x1a4e('0x21')](function(_0x368e5a){return{'name':_0x368e5a[_0x1a4e('0x255')],'kindModifiers':'','kind':_0x1a4e('0x9'),'sortText':'0'};});return{'isGlobalCompletion':!0x1,'isMemberCompletion':!0x1,'isNewIdentifierLocation':_0x2327c6[_0x1a4e('0x3266')],'entries':_0x1b06ad};default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}}(_0x2c9ec9(_0x2327c6,_0xf79407,_0x1adc17,_0x420b32,_0x1b06ad,_0x326eae),_0x2327c6,_0x420b32,_0x56674b,_0x3bcf8e):void 0x0;},_0x2327c6[_0x1a4e('0x3267')]=function(_0x2327c6,_0x55ff7e,_0xf79407,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x1f2851){if(_0x420b32&&_0x368e5a[_0x1a4e('0x2855')](_0x420b32)){var _0x3bcf8e=_0x2c9ec9(_0x55ff7e,_0x420b32,_0xf79407,_0x1b06ad,_0x326eae,_0x56674b);return _0x3bcf8e&&function(_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){switch(_0xf79407['kind']){case 0x0:var _0x326eae=_0x368e5a[_0x1a4e('0x1c7')](_0xf79407['paths'],function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2cb')]===_0x2327c6;});return _0x326eae&&_0x146f6e[_0x1a4e('0x3268')](_0x2327c6,_0x1adc17(_0x326eae[_0x1a4e('0x2319')]),_0x326eae[_0x1a4e('0x146b')],[_0x368e5a[_0x1a4e('0x3226')](_0x2327c6)]);case 0x1:var _0x326eae=_0x368e5a['find'](_0xf79407[_0x1a4e('0x3269')],function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2cb')]===_0x2327c6;});return _0x326eae&&_0x146f6e[_0x1a4e('0x326a')](_0x326eae,_0x420b32,_0x2c9ec9,_0x55ff7e,_0x1b06ad);case 0x2:return _0x368e5a[_0x1a4e('0x1c7')](_0xf79407[_0x1a4e('0x2380')],function(_0x368e5a){return _0x368e5a['value']===_0x2327c6;})?_0x146f6e[_0x1a4e('0x3268')](_0x2327c6,'',_0x1a4e('0x40'),[_0x368e5a[_0x1a4e('0x3226')](_0x2327c6)]):void 0x0;default:return _0x368e5a['Debug'][_0x1a4e('0x1746')](_0xf79407);}}(_0x2327c6,_0x420b32,_0x3bcf8e,_0x55ff7e,_0x1b06ad,_0x1f2851);}},function(_0x368e5a){_0x368e5a[_0x368e5a['Paths']=0x0]=_0x1a4e('0x326b'),_0x368e5a[_0x368e5a[_0x1a4e('0x326c')]=0x1]='Properties',_0x368e5a[_0x368e5a[_0x1a4e('0x326d')]=0x2]=_0x1a4e('0x326d');}(_0xf79407||(_0xf79407={}));var _0x105b08=/^(\/\/\/\s*'),'kind':_0x1a4e('0x237e'),'kindModifiers':void 0x0,'sortText':'0'};return{'isGlobalCompletion':!0x1,'isMemberCompletion':!0x0,'isNewIdentifierLocation':!0x1,'entries':[_0x470b7d]};}var _0x391713=[];if(_0x420b32(_0x146f6e,_0x55ff7e)){var _0x1391f2=_0x563ace(_0x326eae,_0x391713,_0x2d699d,_0x146f6e,_0x2327c6,_0x55ff7e['target'],_0x1adc17,_0x56674b,_0x2c9ec9,_0x99b4e6,_0xc9ff74,_0x29f521,_0x22c5a3);!function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x368e5a[_0x1a4e('0x3281')](_0x146f6e)[_0x1a4e('0x3b')](function(_0x146f6e,_0x2c9ec9){if(_0x146f6e!==_0x2327c6){var _0x420b32=_0x368e5a[_0x1a4e('0x24d1')](_0x2c9ec9);_0x368e5a[_0x1a4e('0x3048')](_0x55ff7e,_0x420b32)&&_0x368e5a[_0x1a4e('0x2995')](_0x420b32,_0x1adc17)&&_0xf79407[_0x1a4e('0x46')]({'name':_0x420b32,'kind':_0x1a4e('0x317a'),'kindModifiers':'','sortText':'1'});}});}(_0x146f6e,_0x2d699d[_0x1a4e('0xa4')],_0x1391f2,_0x55ff7e[_0x1a4e('0xd95')],_0x391713);}else{if((!_0x326eae||0x0===_0x326eae[_0x1a4e('0x1e')])&&0x0===_0x3a83a1)return;_0x563ace(_0x326eae,_0x391713,_0x2d699d,_0x146f6e,_0x2327c6,_0x55ff7e['target'],_0x1adc17,_0x56674b,_0x2c9ec9,_0x99b4e6,_0xc9ff74,_0x29f521,_0x22c5a3);}if(0x0!==_0x3a83a1)for(var _0x4a8903=_0x368e5a[_0x1a4e('0x230b')](_0x391713,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2cb')];}),_0x558a5f=0x0,_0x6cbdab=function(_0x146f6e){return _0x7fb622[_0x146f6e]||(_0x7fb622[_0x146f6e]=_0x5bd928()[_0x1a4e('0xd9')](function(_0x2327c6){var _0x55ff7e=_0x368e5a['stringToToken'](_0x2327c6[_0x1a4e('0x2cb')]);switch(_0x146f6e){case 0x0:return!0x1;case 0x1:return 0x79===_0x55ff7e||0x7a;case 0x2:return _0x2d1a0a(_0x55ff7e);case 0x3:return _0x3eeb5f(_0x55ff7e);case 0x4:return _0x368e5a[_0x1a4e('0x2547')](_0x55ff7e);case 0x5:return function(_0x146f6e){return 0x79===_0x146f6e||0x7a===_0x146f6e||!_0x368e5a[_0x1a4e('0x23f4')](_0x146f6e)&&!_0x2d1a0a(_0x146f6e);}(_0x55ff7e);case 0x6:return _0x368e5a[_0x1a4e('0x3282')](_0x55ff7e);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}));}(_0x3a83a1);_0x558a5f<_0x6cbdab[_0x1a4e('0x1e')];_0x558a5f++){var _0x1eca94=_0x6cbdab[_0x558a5f];_0x4a8903[_0x1a4e('0x178')](_0x1eca94['name'])||_0x391713['push'](_0x1eca94);}for(var _0x37daa1=0x0,_0xebda2a=_0x5a9c86;_0x37daa1<_0xebda2a[_0x1a4e('0x1e')];_0x37daa1++){var _0x523428=_0xebda2a[_0x37daa1];_0x391713['push'](_0x153a40(_0x523428));}return{'isGlobalCompletion':_0xa500af,'isMemberCompletion':_0x1b06ad(_0x56674b),'isNewIdentifierLocation':_0x4cfefc,'entries':_0x391713};}(_0xf79407,_0x4cfefc,_0x2d699d,_0x1adc17,_0x5a9c86,_0x56674b);case 0x1:return _0x2c9ec9(_0x368e5a[_0x1a4e('0x3283')][_0x1a4e('0x3284')]());case 0x2:return _0x2c9ec9(_0x368e5a[_0x1a4e('0x3283')][_0x1a4e('0x3285')]());case 0x3:return _0x2c9ec9(_0x368e5a[_0x1a4e('0x3283')]['getJSDocParameterNameCompletions'](_0x5a9c86[_0x1a4e('0x7ba')]));default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x5a9c86);}}};var _0x326eae,_0x56674b=function(_0x146f6e){return _0x1a4e('0x85')==typeof _0x146f6e?_0x368e5a[_0x1a4e('0x25f5')](_0x146f6e)+'n':JSON[_0x1a4e('0xd7')](_0x146f6e);};function _0x153a40(_0x368e5a){return{'name':_0x56674b(_0x368e5a),'kind':_0x1a4e('0x9'),'kindModifiers':'','sortText':'0'};}function _0x282446(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x153a40,_0x282446){var _0x284040=_0x34d2d5(_0x146f6e,_0x2c9ec9,_0x1b06ad,_0x420b32);if(_0x284040){var _0x31a58f,_0x2e3546,_0x45c31c=_0x284040['name'],_0x848e74=_0x284040['needsConvertPropertyAccess'];if(_0x1b06ad&&0x0===_0x1b06ad[_0x1a4e('0x146b')])_0x31a58f=_0x848e74?_0x1a4e('0x3286')+_0x368e5a[_0x1a4e('0x3287')](_0x45c31c,_0x282446)+']':_0x1a4e('0x3288')+_0x45c31c;else if((_0x1b06ad&&function(_0x368e5a){return 0x2===_0x368e5a['kind']||0x1===_0x368e5a[_0x1a4e('0x146b')];}(_0x1b06ad)||_0x848e74)&&_0x56674b){_0x31a58f=_0x848e74?'['+_0x368e5a['quote'](_0x45c31c,_0x282446)+']':'['+_0x45c31c+']';var _0x5e6cfe=_0x368e5a[_0x1a4e('0x327f')](_0x56674b,0x18,_0x55ff7e),_0x3fea46=_0x368e5a[_0x1a4e('0xdfb')](_0x45c31c,_0x56674b[_0x1a4e('0x2cb')][_0x1a4e('0xe04')])?_0x56674b[_0x1a4e('0x2cb')][_0x1a4e('0xca')]:_0x5e6cfe['end'];_0x2e3546=_0x368e5a[_0x1a4e('0x22fa')](_0x5e6cfe[_0x1a4e('0x31d6')](_0x55ff7e),_0x3fea46);}if(_0x153a40&&(void 0x0===_0x31a58f&&(_0x31a58f=_0x45c31c),_0x31a58f='{'+_0x31a58f+'}',_0x1a4e('0x34b')!=typeof _0x153a40&&(_0x2e3546=_0x368e5a[_0x1a4e('0x3289')](_0x153a40,_0x55ff7e))),void 0x0===_0x31a58f||_0x282446[_0x1a4e('0x328a')])return{'name':_0x45c31c,'kind':_0x368e5a[_0x1a4e('0x328b')][_0x1a4e('0x328c')](_0x1adc17,_0x146f6e,_0x2327c6),'kindModifiers':_0x368e5a[_0x1a4e('0x328b')][_0x1a4e('0x328d')](_0x146f6e),'sortText':'0','source':_0x244dee(_0x1b06ad),'hasAction':_0x19e6fa(!!_0x1b06ad&&_0xf79407(_0x1b06ad)),'isRecommended':_0x19e6fa(_0x8d0ce8(_0x146f6e,_0x326eae,_0x1adc17)),'insertText':_0x31a58f,'replacementSpan':_0x2e3546};}}function _0x8d0ce8(_0x368e5a,_0x146f6e,_0x2327c6){return _0x368e5a===_0x146f6e||!!(0x100000&_0x368e5a[_0x1a4e('0x7b2')])&&_0x2327c6[_0x1a4e('0x328e')](_0x368e5a)===_0x146f6e;}function _0x19e6fa(_0x368e5a){return!!_0x368e5a||void 0x0;}function _0x244dee(_0x146f6e){return _0x146f6e&&_0xf79407(_0x146f6e)?_0x368e5a[_0x1a4e('0x3231')](_0x146f6e[_0x1a4e('0x328f')][_0x1a4e('0x2cb')]):void 0x0;}function _0x563ace(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x153a40,_0x8d0ce8,_0x19e6fa){for(var _0x244dee=_0x368e5a['timestamp'](),_0x563ace=_0x368e5a[_0x1a4e('0x1772')](),_0x314356=0x0,_0x18b420=_0x146f6e;_0x314356<_0x18b420[_0x1a4e('0x1e')];_0x314356++){var _0x4df189=_0x18b420[_0x314356],_0x1a8651=_0x19e6fa?_0x19e6fa[_0x368e5a[_0x1a4e('0x2889')](_0x4df189)]:void 0x0,_0x458fb8=_0x282446(_0x4df189,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x1b06ad,_0x1a8651,_0x8d0ce8,_0x56674b,_0x153a40,_0x326eae);if(_0x458fb8){var _0x2176bd=_0x458fb8[_0x1a4e('0x2cb')];_0x563ace[_0x1a4e('0x178')](_0x2176bd)||(_0x1a8651||void 0x0===_0x4df189[_0x1a4e('0x11c')]&&!_0x368e5a[_0x1a4e('0x1c2')](_0x4df189['declarations'],function(_0x368e5a){return _0x368e5a[_0x1a4e('0x288f')]()===_0x55ff7e[_0x1a4e('0x288f')]();})||_0x563ace[_0x1a4e('0x17a')](_0x2176bd,!0x0),_0x2327c6[_0x1a4e('0x46')](_0x458fb8));}}return _0x420b32(_0x1a4e('0x3290')+(_0x368e5a['timestamp']()-_0x244dee)),_0x563ace;}function _0x4a77dd(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x23f1')](),_0x1b06ad=_0x1ccb4f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x420b32(_0x55ff7e,_0x2c9ec9),_0x1adc17,{'includeCompletionsForModuleExports':!0x0,'includeCompletionsWithInsertText':!0x0},_0xf79407);if(!_0x1b06ad)return{'type':_0x1a4e('0x60')};if(0x0!==_0x1b06ad[_0x1a4e('0x146b')])return{'type':_0x1a4e('0x3291'),'request':_0x1b06ad};var _0x326eae=_0x1b06ad[_0x1a4e('0x3269')],_0x153a40=_0x1b06ad['literals'],_0x282446=_0x1b06ad[_0x1a4e('0xbc')],_0x8d0ce8=_0x1b06ad[_0x1a4e('0x327b')],_0x19e6fa=_0x1b06ad[_0x1a4e('0x327d')],_0x563ace=_0x1b06ad[_0x1a4e('0x3292')],_0x4a77dd=_0x1b06ad[_0x1a4e('0x3293')],_0x56605c=_0x368e5a[_0x1a4e('0x1c7')](_0x153a40,function(_0x368e5a){return _0x56674b(_0x368e5a)===_0xf79407[_0x1a4e('0x2cb')];});return void 0x0!==_0x56605c?{'type':_0x1a4e('0x2301'),'literal':_0x56605c}:_0x368e5a[_0x1a4e('0x1703')](_0x326eae,function(_0x146f6e){var _0x2327c6=_0x19e6fa[_0x368e5a[_0x1a4e('0x2889')](_0x146f6e)],_0x55ff7e=_0x34d2d5(_0x146f6e,_0x2c9ec9[_0x1a4e('0xd95')],_0x2327c6,_0x8d0ce8);return _0x55ff7e&&_0x55ff7e[_0x1a4e('0x2cb')]===_0xf79407[_0x1a4e('0x2cb')]&&_0x244dee(_0x2327c6)===_0xf79407['source']?{'type':_0x1a4e('0xb1b'),'symbol':_0x146f6e,'location':_0x282446,'symbolToOriginInfoMap':_0x19e6fa,'previousToken':_0x563ace,'isJsxInitializer':_0x4a77dd}:void 0x0;})||{'type':_0x1a4e('0x60')};}function _0x5cc168(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x2327c6&&_0xf79407(_0x2327c6)&&_0x2327c6[_0x1a4e('0x3294')]&&_0x1a4e('0x8')===_0x146f6e[_0x1a4e('0x22e8')]?_0x368e5a['firstDefined'](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a['isExportAssignment'](_0x146f6e)&&_0x368e5a['isIdentifier'](_0x146f6e[_0x1a4e('0x2302')])?_0x146f6e['expression']['text']:void 0x0;})||_0x368e5a[_0x1a4e('0x3295')]['moduleSymbolToValidIdentifier'](_0x2327c6[_0x1a4e('0x328f')],_0x55ff7e):_0x146f6e['name'];}function _0x215fd4(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x9400e0(_0x146f6e,'',_0x2327c6,[_0x368e5a[_0x1a4e('0x3296')](_0x146f6e,_0x55ff7e)]);}function _0x4776f7(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x2327c6[_0x1a4e('0x3297')](_0xf79407,function(_0x2327c6){return _0x368e5a['SymbolDisplay'][_0x1a4e('0x3298')](_0x2327c6,_0x146f6e,_0x55ff7e,_0x1adc17,_0x1adc17,0x7);}),_0x326eae=_0x1b06ad[_0x1a4e('0x3227')],_0x56674b=_0x1b06ad[_0x1a4e('0x3299')],_0x153a40=_0x1b06ad[_0x1a4e('0x329a')],_0x282446=_0x1b06ad['tags'];return _0x9400e0(_0x146f6e[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x328b')][_0x1a4e('0x328d')](_0x146f6e),_0x153a40,_0x326eae,_0x56674b,_0x282446,_0x2c9ec9,_0x420b32);}function _0x9400e0(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){return{'name':_0x368e5a,'kindModifiers':_0x146f6e,'kind':_0x2327c6,'displayParts':_0x55ff7e,'documentation':_0x1adc17,'tags':_0xf79407,'codeActions':_0x2c9ec9,'source':_0x420b32};}function _0x46f3e6(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x329b')](_0x146f6e,_0x2327c6,0x3ffffff,!0x1);return _0x1adc17?_0x368e5a[_0x1a4e('0x10f7')](_0x1adc17):_0x146f6e[_0x1a4e('0x11c')]&&(function(_0x368e5a){return _0x368e5a[_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](function(_0x368e5a){return 0x117===_0x368e5a[_0x1a4e('0x146b')];});}(_0x146f6e[_0x1a4e('0x11c')])?_0x146f6e:_0x46f3e6(_0x146f6e[_0x1a4e('0x11c')],_0x2327c6,_0x55ff7e));}function _0x1ccb4f(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x146f6e[_0x1a4e('0x302b')](),_0x326eae=_0x368e5a['timestamp'](),_0x56674b=_0x368e5a['getTokenAtPosition'](_0x55ff7e,_0xf79407);_0x2327c6(_0x1a4e('0x329c')+(_0x368e5a[_0x1a4e('0x2f8e')]()-_0x326eae)),_0x326eae=_0x368e5a[_0x1a4e('0x2f8e')]();var _0x153a40=_0x368e5a['isInComment'](_0x55ff7e,_0xf79407,_0x56674b);_0x2327c6(_0x1a4e('0x329d')+(_0x368e5a['timestamp']()-_0x326eae));var _0x282446=!0x1,_0x8d0ce8=!0x1;if(_0x153a40){if(_0x368e5a[_0x1a4e('0x31f5')](_0x55ff7e,_0xf79407)){if(0x40===_0x55ff7e[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0xf79407-0x1))return{'kind':0x1};var _0x19e6fa=_0x368e5a[_0x1a4e('0x31e0')](_0xf79407,_0x55ff7e);if(!_0x55ff7e[_0x1a4e('0xe04')][_0x1a4e('0x281')](_0x19e6fa,_0xf79407)[_0x1a4e('0x909')](/[^\*|\s|(\/\*\*)]/))return{'kind':0x2};}var _0x244dee=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,_0x368e5a[_0x1a4e('0x2378')]);return _0x55ff7e&&_0x55ff7e[_0x1a4e('0x2455')]&&(_0x368e5a[_0x1a4e('0x31e1')](_0x55ff7e,_0x2327c6)?_0x368e5a[_0x1a4e('0x109c')](_0x55ff7e[_0x1a4e('0x2455')],function(_0x368e5a){return _0x368e5a[_0x1a4e('0xa4')]<_0x2327c6;}):void 0x0);}(_0x56674b,_0xf79407);if(_0x244dee){if(_0x244dee[_0x1a4e('0x132b')][_0x1a4e('0xa4')]<=_0xf79407&&_0xf79407<=_0x244dee[_0x1a4e('0x132b')][_0x1a4e('0xca')])return{'kind':0x1};if(function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x12b:case 0x131:case 0x12c:case 0x12e:case 0x130:return!0x0;default:return!0x1;}}(_0x244dee)&&_0x244dee[_0x1a4e('0x2379')]&&0x11b===_0x244dee[_0x1a4e('0x2379')][_0x1a4e('0x146b')]&&((_0x56674b=_0x368e5a[_0x1a4e('0x3264')](_0x55ff7e,_0xf79407))&&(_0x368e5a[_0x1a4e('0x23e5')](_0x56674b)||0x131===_0x56674b[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x56674b[_0x1a4e('0x11c')]['name']===_0x56674b)||(_0x282446=_0x128416(_0x244dee[_0x1a4e('0x2379')]))),_0x368e5a[_0x1a4e('0x24a9')](_0x244dee)&&(_0x368e5a[_0x1a4e('0x2327')](_0x244dee[_0x1a4e('0x2cb')])||_0x244dee['name']['pos']<=_0xf79407&&_0xf79407<=_0x244dee['name'][_0x1a4e('0xca')]))return{'kind':0x3,'tag':_0x244dee};}if(!_0x282446)return void _0x2327c6(_0x1a4e('0x329e'));}_0x326eae=_0x368e5a[_0x1a4e('0x2f8e')]();var _0x563ace=_0x368e5a[_0x1a4e('0x3279')](_0xf79407,_0x55ff7e,void 0x0);_0x2327c6(_0x1a4e('0x329f')+(_0x368e5a[_0x1a4e('0x2f8e')]()-_0x326eae));var _0x4a77dd=_0x563ace;if(_0x4a77dd&&_0xf79407<=_0x4a77dd['end']&&(_0x368e5a[_0x1a4e('0x2370')](_0x4a77dd)||_0x368e5a[_0x1a4e('0x23f3')](_0x4a77dd['kind']))){var _0x215fd4=_0x368e5a[_0x1a4e('0x2f8e')]();_0x4a77dd=_0x368e5a[_0x1a4e('0x3279')](_0x4a77dd[_0x1a4e('0x31d5')](),_0x55ff7e,void 0x0),_0x2327c6(_0x1a4e('0x32a0')+(_0x368e5a[_0x1a4e('0x2f8e')]()-_0x215fd4));}var _0x4776f7,_0x9400e0=_0x56674b,_0x1ccb4f=!0x1,_0x2bca9f=!0x1,_0x29a867=!0x1,_0x5d916b=!0x1,_0xb75ae8=_0x368e5a['getTouchingPropertyName'](_0x55ff7e,_0xf79407);if(_0x4a77dd){if(function(_0x146f6e){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2f8e')](),_0x1adc17=function(_0x146f6e){return(_0x368e5a[_0x1a4e('0x24e4')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2544')](_0x146f6e))&&(_0x368e5a[_0x1a4e('0x31e2')](_0x368e5a[_0x1a4e('0x32a1')](_0x368e5a[_0x1a4e('0x3289')](_0x146f6e)),_0xf79407)||_0xf79407===_0x146f6e['end']&&(!!_0x146f6e[_0x1a4e('0x2662')]||_0x368e5a[_0x1a4e('0x24e4')](_0x146f6e)));}(_0x146f6e)||function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')],_0x55ff7e=_0x2327c6[_0x1a4e('0x146b')];switch(_0x146f6e['kind']){case 0x1b:return 0xed===_0x55ff7e||0xee===_0x55ff7e||0xdb===_0x55ff7e||0xf3===_0x55ff7e||_0x34fc1d(_0x55ff7e)||0xf1===_0x55ff7e||0xb9===_0x55ff7e||0xf2===_0x55ff7e||_0x368e5a[_0x1a4e('0x2367')](_0x2327c6)&&!!_0x2327c6[_0x1a4e('0x23d7')]&&_0x2327c6[_0x1a4e('0x23d7')]['end']>=_0x146f6e[_0x1a4e('0xa4')];case 0x18:return 0xb9===_0x55ff7e;case 0x39:return 0xba===_0x55ff7e;case 0x16:return 0xb9===_0x55ff7e;case 0x14:return 0x112===_0x55ff7e||_0x34fc1d(_0x55ff7e);case 0x12:return 0xf3===_0x55ff7e;case 0x1c:return 0xf0===_0x55ff7e||0xd1===_0x55ff7e||0xf1===_0x55ff7e||0xf2===_0x55ff7e||_0x368e5a[_0x1a4e('0x254e')](_0x55ff7e);case 0x74:return 0x9a===_0x55ff7e&&!_0x368e5a[_0x1a4e('0x2367')](_0x2327c6[_0x1a4e('0x11c')]);case 0x19:return 0x97===_0x55ff7e||!!_0x2327c6[_0x1a4e('0x11c')]&&0xb9===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')];case 0x73:case 0x71:case 0x72:return 0x97===_0x55ff7e&&!_0x368e5a[_0x1a4e('0x23e3')](_0x2327c6['parent']);case 0x77:return 0xfd===_0x55ff7e||0x101===_0x55ff7e||0xfb===_0x55ff7e;case 0x7e:case 0x89:return!_0x37c760(_0x146f6e);case 0x4c:case 0x54:case 0x6e:case 0x5a:case 0x69:case 0x5c:case 0x6f:case 0x4d:case 0x75:case 0x8c:return!0x0;case 0x28:return _0x368e5a['isFunctionLike'](_0x146f6e[_0x1a4e('0x11c')])&&!_0x368e5a[_0x1a4e('0x24ed')](_0x146f6e['parent']);}if(_0x2d1a0a(_0x2e8c21(_0x146f6e))&&_0x37c760(_0x146f6e))return!0x1;if(_0x4cccd2(_0x146f6e)&&(!_0x368e5a['isIdentifier'](_0x146f6e)||_0x368e5a['isParameterPropertyModifier'](_0x2e8c21(_0x146f6e))||_0x128416(_0x146f6e)))return!0x1;switch(_0x2e8c21(_0x146f6e)){case 0x76:case 0x4c:case 0x4d:case 0x7d:case 0x54:case 0x5a:case 0x6e:case 0x6f:case 0x71:case 0x72:case 0x73:case 0x74:case 0x69:case 0x75:return!0x0;case 0x79:return _0x368e5a['isPropertyDeclaration'](_0x146f6e[_0x1a4e('0x11c')]);}return _0x368e5a[_0x1a4e('0x23e5')](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x2578')](_0x146f6e[_0x1a4e('0x11c')])&&!(_0x368e5a[_0x1a4e('0x2367')](_0x146f6e[_0x1a4e('0x11c')])&&(_0x146f6e!==_0x563ace||_0xf79407>_0x563ace[_0x1a4e('0xca')]));}(_0x146f6e)||function(_0x368e5a){if(0x8===_0x368e5a[_0x1a4e('0x146b')]){var _0x146f6e=_0x368e5a[_0x1a4e('0x3280')]();return'.'===_0x146f6e[_0x1a4e('0x278')](_0x146f6e[_0x1a4e('0x1e')]-0x1);}return!0x1;}(_0x146f6e)||function(_0x368e5a){if(0xb===_0x368e5a[_0x1a4e('0x146b')])return!0x0;if(0x1e===_0x368e5a[_0x1a4e('0x146b')]&&_0x368e5a['parent']){if(0x106===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return!0x0;if(0x107===_0x368e5a['parent'][_0x1a4e('0x146b')]||0x105===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return!!_0x368e5a['parent'][_0x1a4e('0x11c')]&&0x104===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')];}return!0x1;}(_0x146f6e);return _0x2327c6('getCompletionsAtPosition:\x20isCompletionListBlocker:\x20'+(_0x368e5a[_0x1a4e('0x2f8e')]()-_0x55ff7e)),_0x1adc17;}(_0x4a77dd))return void _0x2327c6(_0x1a4e('0x32a2'));var _0x4b1db2=_0x4a77dd[_0x1a4e('0x11c')];if(0x18===_0x4a77dd['kind'])switch(_0x1ccb4f=!0x0,_0x4b1db2[_0x1a4e('0x146b')]){case 0xbd:_0x9400e0=(_0x4776f7=_0x4b1db2)['expression'];break;case 0x94:_0x9400e0=_0x4b1db2['left'];break;case 0xf4:_0x9400e0=_0x4b1db2[_0x1a4e('0x2cb')];break;case 0xb7:case 0xd6:_0x9400e0=_0x4b1db2;break;default:return;}else if(0x1===_0x55ff7e[_0x1a4e('0x22f7')]){if(_0x4b1db2&&0xbd===_0x4b1db2[_0x1a4e('0x146b')]&&(_0x4a77dd=_0x4b1db2,_0x4b1db2=_0x4b1db2[_0x1a4e('0x11c')]),_0x56674b['parent']===_0xb75ae8)switch(_0x56674b['kind']){case 0x1e:0x104!==_0x56674b['parent'][_0x1a4e('0x146b')]&&0x106!==_0x56674b[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||(_0xb75ae8=_0x56674b);break;case 0x2a:0x105===_0x56674b[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&(_0xb75ae8=_0x56674b);}switch(_0x4b1db2['kind']){case 0x107:0x2a===_0x4a77dd[_0x1a4e('0x146b')]&&(_0x29a867=!0x0,_0xb75ae8=_0x4a77dd);break;case 0xcc:if(!_0x1b6e70(_0x4b1db2))break;case 0x105:case 0x104:case 0x106:0x1c===_0x4a77dd[_0x1a4e('0x146b')]&&(_0x2bca9f=!0x0,_0xb75ae8=_0x4a77dd);break;case 0x10b:switch(_0x563ace['kind']){case 0x3b:_0x5d916b=!0x0;break;case 0x48:_0x4b1db2!==_0x563ace['parent']&&!_0x4b1db2[_0x1a4e('0x236a')]&&_0x368e5a[_0x1a4e('0x327f')](_0x4b1db2,0x3b,_0x55ff7e)&&(_0x5d916b=_0x563ace);}}}}var _0x23e42a=_0x368e5a['timestamp'](),_0x4860d6=0x5,_0x273751=!0x1,_0xe414d4=0x0,_0x4c5167=[],_0x5330b6=[];if(_0x1ccb4f)!function(){_0x4860d6=0x2;var _0x146f6e=_0x368e5a[_0x1a4e('0x29fc')](_0x9400e0),_0x2327c6=_0x282446||_0x146f6e&&!_0x9400e0['isTypeOf']||_0x368e5a[_0x1a4e('0x2384')](_0x9400e0[_0x1a4e('0x11c')]),_0x1adc17=_0x368e5a[_0x1a4e('0x31c2')](_0x9400e0)||!_0x2327c6&&_0x368e5a[_0x1a4e('0x31ef')](_0x4a77dd,_0x55ff7e,_0x1b06ad);if(_0x368e5a[_0x1a4e('0x254a')](_0x9400e0)||_0x146f6e){var _0xf79407=_0x368e5a['isModuleDeclaration'](_0x9400e0[_0x1a4e('0x11c')]);_0xf79407&&(_0x273751=!0x0);var _0x2c9ec9=_0x1b06ad[_0x1a4e('0x3029')](_0x9400e0);if(_0x2c9ec9&&0x780&(_0x2c9ec9=_0x368e5a['skipAlias'](_0x2c9ec9,_0x1b06ad))[_0x1a4e('0x7b2')]){for(var _0x420b32=_0x368e5a[_0x1a4e('0x1749')]['assertEachDefined'](_0x1b06ad['getExportsOfModule'](_0x2c9ec9),_0x1a4e('0x32a3')),_0x326eae=function(_0x368e5a){return _0x1b06ad[_0x1a4e('0x32a4')](_0x146f6e?_0x9400e0:_0x9400e0[_0x1a4e('0x11c')],_0x368e5a['name']);},_0x56674b=function(_0x368e5a){return _0x3fc5f4(_0x368e5a);},_0x153a40=_0xf79407?function(_0x368e5a){return!!(0x780&_0x368e5a[_0x1a4e('0x7b2')])&&!_0x368e5a[_0x1a4e('0x22e5')][_0x1a4e('0x114')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x11c')]===_0x9400e0['parent'];});}:_0x1adc17?function(_0x368e5a){return _0x56674b(_0x368e5a)||_0x326eae(_0x368e5a);}:_0x2327c6?_0x56674b:_0x326eae,_0x8d0ce8=0x0,_0x19e6fa=_0x420b32;_0x8d0ce8<_0x19e6fa[_0x1a4e('0x1e')];_0x8d0ce8++){var _0x244dee=_0x19e6fa[_0x8d0ce8];_0x153a40(_0x244dee)&&_0x4c5167[_0x1a4e('0x46')](_0x244dee);}return void(!_0x2327c6&&_0x2c9ec9[_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](function(_0x368e5a){return 0x117!==_0x368e5a['kind']&&0xf4!==_0x368e5a[_0x1a4e('0x146b')]&&0xf3!==_0x368e5a[_0x1a4e('0x146b')];})&&_0xf0acc(_0x1b06ad[_0x1a4e('0x32a5')](_0x2c9ec9,_0x9400e0)));}}if(_0x368e5a[_0x1a4e('0x2509')](_0x9400e0)&&(0x5f===_0x9400e0[_0x1a4e('0x2675')]||0x5c===_0x9400e0[_0x1a4e('0x2675')])){var _0x563ace=0x5f===_0x9400e0[_0x1a4e('0x2675')]?_0x1a4e('0xd95'):_0x1a4e('0x7aa');return void _0x4c5167[_0x1a4e('0x46')](_0x1b06ad['createSymbol'](0x4,_0x368e5a[_0x1a4e('0x22f4')](_0x563ace)));}_0x2327c6||_0xf0acc(_0x1b06ad[_0x1a4e('0x31d9')](_0x9400e0));}();else if(_0x2bca9f){var _0x748d64=_0x368e5a['Debug']['assertEachDefined'](_0x1b06ad['getJsxIntrinsicTagNamesAt'](_0xb75ae8),_0x1a4e('0x32a6'));_0x42df6e(),_0x4c5167=_0x748d64[_0x1a4e('0x9a')](_0x4c5167),_0x4860d6=0x3,_0xe414d4=0x0;}else if(_0x29a867){var _0x3caa27=_0x4a77dd['parent']['parent']['openingElement']['tagName'],_0x59d92c=_0x1b06ad[_0x1a4e('0x3029')](_0x3caa27);_0x59d92c&&(_0x4c5167=[_0x59d92c]),_0x4860d6=0x3,_0xe414d4=0x0;}else if(!_0x42df6e())return;_0x2327c6(_0x1a4e('0x32a7')+(_0x368e5a['timestamp']()-_0x23e42a));var _0x312965=_0x563ace&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e['parent'];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x368e5a[_0x1a4e('0x323d')](_0x146f6e,_0x1adc17);case 0x3b:switch(_0xf79407['kind']){case 0xed:return _0x1adc17['getContextualType'](_0xf79407['initializer']);case 0xcc:return _0x1adc17[_0x1a4e('0x31d9')](_0xf79407['left']);case 0x10b:return _0x1adc17[_0x1a4e('0x32a8')](_0xf79407);default:return;}case 0x5f:return _0x1adc17['getContextualType'](_0xf79407);case 0x4a:return _0x368e5a[_0x1a4e('0x3241')](_0x368e5a[_0x1a4e('0x172f')](_0xf79407,_0x368e5a[_0x1a4e('0x252e')]),_0x1adc17);case 0x12:return _0x368e5a[_0x1a4e('0x252d')](_0xf79407)&&0x104!==_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x1adc17[_0x1a4e('0x32a8')](_0xf79407[_0x1a4e('0x11c')]):void 0x0;default:var _0x2c9ec9=_0x368e5a[_0x1a4e('0x3253')][_0x1a4e('0x3254')](_0x146f6e,_0x2327c6,_0x55ff7e);return _0x2c9ec9?_0x1adc17[_0x1a4e('0x32a9')](_0x2c9ec9[_0x1a4e('0x3256')],_0x2c9ec9[_0x1a4e('0x3258')]+(0x1b===_0x146f6e[_0x1a4e('0x146b')]?0x1:0x0)):_0x368e5a[_0x1a4e('0x323f')](_0x146f6e[_0x1a4e('0x146b')])&&_0x368e5a['isBinaryExpression'](_0xf79407)&&_0x368e5a[_0x1a4e('0x323f')](_0xf79407[_0x1a4e('0x237a')][_0x1a4e('0x146b')])?_0x1adc17['getTypeAtLocation'](_0xf79407['left']):_0x1adc17['getContextualType'](_0x146f6e);}}(_0x563ace,_0xf79407,_0x55ff7e,_0x1b06ad),_0x9c00e1=_0x368e5a[_0x1a4e('0x1713')](_0x312965&&(_0x312965[_0x1a4e('0x325b')]()?_0x312965['types']:[_0x312965]),function(_0x368e5a){return _0x368e5a[_0x1a4e('0x32aa')]()?_0x368e5a[_0x1a4e('0x255')]:void 0x0;}),_0x3bc7c7=_0x563ace&&_0x312965&&function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x1703')](_0x2327c6&&(_0x2327c6[_0x1a4e('0x325b')]()?_0x2327c6[_0x1a4e('0x2380')]:[_0x2327c6]),function(_0x2327c6){var _0x1adc17=_0x2327c6&&_0x2327c6[_0x1a4e('0xb1b')];return _0x1adc17&&0x1a8&_0x1adc17['flags']&&!_0x368e5a[_0x1a4e('0x2498')](_0x1adc17)?_0x46f3e6(_0x1adc17,_0x146f6e,_0x55ff7e):void 0x0;});}(_0x563ace,_0x312965,_0x1b06ad);return{'kind':0x0,'symbols':_0x4c5167,'completionKind':_0x4860d6,'isInSnippetScope':_0x8d0ce8,'propertyAccessToConvert':_0x4776f7,'isNewIdentifierLocation':_0x273751,'location':_0xb75ae8,'keywordFilters':_0xe414d4,'literals':_0x9c00e1,'symbolToOriginInfoMap':_0x5330b6,'recommendedCompletion':_0x3bc7c7,'previousToken':_0x563ace,'isJsxInitializer':_0x5d916b};function _0xf0acc(_0x368e5a){if(_0x273751=!!_0x368e5a['getStringIndexType'](),_0x1adc17)_0x4c5167[_0x1a4e('0x46')]['apply'](_0x4c5167,_0x29d759(_0x368e5a,_0x1b06ad));else for(var _0x146f6e=0x0,_0x2327c6=_0x368e5a[_0x1a4e('0x3259')]();_0x146f6e<_0x2327c6[_0x1a4e('0x1e')];_0x146f6e++){var _0x55ff7e=_0x2327c6[_0x146f6e];_0x1b06ad[_0x1a4e('0x32ab')](0xb7===_0x9400e0['kind']?_0x9400e0:_0x9400e0[_0x1a4e('0x11c')],_0x368e5a,_0x55ff7e)&&_0x100494(_0x55ff7e);}}function _0x100494(_0x146f6e){var _0x2327c6=_0x368e5a['firstDefined'](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x172e')](_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e),_0x368e5a[_0x1a4e('0x23e8')]);});if(_0x2327c6){var _0x55ff7e=function _0x146f6e(_0x2327c6){return _0x368e5a[_0x1a4e('0x2370')](_0x2327c6)?_0x2327c6:_0x368e5a[_0x1a4e('0x2371')](_0x2327c6)?_0x146f6e(_0x2327c6[_0x1a4e('0x2302')]):void 0x0;}(_0x2327c6[_0x1a4e('0x2302')]),_0x1adc17=_0x55ff7e&&_0x1b06ad[_0x1a4e('0x3029')](_0x55ff7e),_0xf79407=_0x1adc17&&_0x46f3e6(_0x1adc17,_0x4a77dd,_0x1b06ad);if(_0xf79407&&!_0x5330b6[_0x368e5a[_0x1a4e('0x2889')](_0xf79407)]){_0x4c5167[_0x1a4e('0x46')](_0xf79407);var _0x2c9ec9=_0xf79407[_0x1a4e('0x11c')];_0x5330b6[_0x368e5a[_0x1a4e('0x2889')](_0xf79407)]=_0x2c9ec9&&_0x368e5a[_0x1a4e('0x3202')](_0x2c9ec9)?{'kind':0x2,'moduleSymbol':_0x2c9ec9,'isDefaultExport':!0x1}:{'kind':0x1};}}else _0x4c5167['push'](_0x146f6e);}function _0x42df6e(){var _0x2327c6,_0x1adc17;return 0x1===(function(){var _0x146f6e,_0x2327c6,_0x55ff7e=function(_0x146f6e){if(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x12:case 0x1b:if(_0x368e5a[_0x1a4e('0x236f')](_0x2327c6)||_0x368e5a[_0x1a4e('0x2d3f')](_0x2327c6))return _0x2327c6;break;case 0x28:return _0x368e5a['isMethodDeclaration'](_0x2327c6)?_0x368e5a[_0x1a4e('0x172e')](_0x2327c6['parent'],_0x368e5a[_0x1a4e('0x236f')]):void 0x0;case 0x48:return _0x1a4e('0xe06')===_0x146f6e[_0x1a4e('0xe04')]&&_0x368e5a[_0x1a4e('0x29a4')](_0x146f6e[_0x1a4e('0x11c')])?_0x146f6e[_0x1a4e('0x11c')]['parent']:void 0x0;}}return;}(_0x4a77dd);if(!_0x55ff7e)return 0x0;if(_0x4860d6=0x0,0xbc===_0x55ff7e['kind']){var _0x1adc17=_0x1b06ad[_0x1a4e('0x323e')](_0x55ff7e);if(!_0x1adc17)return 0x2;_0x273751=_0x368e5a[_0x1a4e('0x325a')](_0x1adc17),_0x146f6e=_0x566cd7(_0x1adc17,_0x55ff7e,_0x1b06ad),_0x2327c6=_0x55ff7e[_0x1a4e('0x13')];}else{_0x368e5a['Debug'][_0x1a4e('0xba0')](0xb8===_0x55ff7e[_0x1a4e('0x146b')]),_0x273751=!0x1;var _0xf79407=_0x368e5a[_0x1a4e('0x2406')](_0x55ff7e['parent']);if(!_0x368e5a[_0x1a4e('0x32ac')](_0xf79407))return _0x368e5a[_0x1a4e('0x1749')]['fail']('Root\x20declaration\x20is\x20not\x20variable-like.');var _0x2c9ec9=_0x368e5a[_0x1a4e('0x29b6')](_0xf79407)||_0x368e5a[_0x1a4e('0x2575')](_0xf79407)||0xe3===_0xf79407[_0x1a4e('0x11c')]['parent']['kind'];if(_0x2c9ec9||0x97!==_0xf79407[_0x1a4e('0x146b')]||(_0x368e5a[_0x1a4e('0x24a8')](_0xf79407[_0x1a4e('0x11c')])?_0x2c9ec9=!!_0x1b06ad['getContextualType'](_0xf79407[_0x1a4e('0x11c')]):0x9c!==_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&0x9f!==_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||(_0x2c9ec9=_0x368e5a[_0x1a4e('0x24a8')](_0xf79407[_0x1a4e('0x11c')]['parent'])&&!!_0x1b06ad['getContextualType'](_0xf79407[_0x1a4e('0x11c')]['parent']))),_0x2c9ec9){var _0x1adc17=_0x1b06ad['getTypeAtLocation'](_0x55ff7e);if(!_0x1adc17)return 0x2;_0x146f6e=_0x1b06ad[_0x1a4e('0x32ad')](_0x1adc17)[_0x1a4e('0xd9')](function(_0x146f6e){return!(0x18&_0x368e5a[_0x1a4e('0x248c')](_0x146f6e));}),_0x2327c6=_0x55ff7e[_0x1a4e('0x2398')];}}_0x146f6e&&_0x146f6e['length']>0x0&&(_0x4c5167=function(_0x146f6e,_0x2327c6){if(0x0===_0x2327c6[_0x1a4e('0x1e')])return _0x146f6e;for(var _0x55ff7e=_0x368e5a['createUnderscoreEscapedMap'](),_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];if((0x113===_0x2c9ec9[_0x1a4e('0x146b')]||0x114===_0x2c9ec9[_0x1a4e('0x146b')]||0xba===_0x2c9ec9[_0x1a4e('0x146b')]||0x9c===_0x2c9ec9['kind']||0x9e===_0x2c9ec9[_0x1a4e('0x146b')]||0x9f===_0x2c9ec9['kind'])&&!_0x128416(_0x2c9ec9)){var _0x420b32=void 0x0;if(_0x368e5a[_0x1a4e('0x24a6')](_0x2c9ec9)&&_0x2c9ec9[_0x1a4e('0x81a')])0x48===_0x2c9ec9[_0x1a4e('0x81a')]['kind']&&(_0x420b32=_0x2c9ec9[_0x1a4e('0x81a')][_0x1a4e('0x22f3')]);else{var _0x1b06ad=_0x368e5a[_0x1a4e('0x23e9')](_0x2c9ec9);_0x420b32=_0x1b06ad&&_0x368e5a['isPropertyNameLiteral'](_0x1b06ad)?_0x368e5a[_0x1a4e('0x2840')](_0x1b06ad):void 0x0;}_0x55ff7e[_0x1a4e('0x17a')](_0x420b32,!0x0);}}return _0x146f6e[_0x1a4e('0xd9')](function(_0x368e5a){return!_0x55ff7e[_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x22e8')]);});}(_0x146f6e,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x2327c6)));return 0x1;}()||function(){var _0x146f6e=!_0x4a77dd||0x12!==_0x4a77dd['kind']&&0x1b!==_0x4a77dd[_0x1a4e('0x146b')]?void 0x0:_0x368e5a[_0x1a4e('0x172e')](_0x4a77dd[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2580')]);if(!_0x146f6e)return 0x0;var _0x2327c6=(0xfc===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:_0x146f6e[_0x1a4e('0x11c')])[_0x1a4e('0x23c5')],_0x55ff7e=_0x1b06ad[_0x1a4e('0x3029')](_0x2327c6);if(!_0x55ff7e)return 0x2;_0x4860d6=0x3,_0x273751=!0x1;var _0x1adc17=_0x1b06ad['getExportsAndPropertiesOfModule'](_0x55ff7e),_0xf79407=_0x368e5a['arrayToSet'](_0x146f6e['elements'],function(_0x368e5a){return _0x128416(_0x368e5a)?void 0x0:(_0x368e5a[_0x1a4e('0x81a')]||_0x368e5a[_0x1a4e('0x2cb')])[_0x1a4e('0x22f3')];});return _0x4c5167=_0x1adc17[_0x1a4e('0xd9')](function(_0x368e5a){return _0x1a4e('0x8')!==_0x368e5a[_0x1a4e('0x22e8')]&&!_0xf79407['get'](_0x368e5a['escapedName']);}),0x1;}()||(function(_0x146f6e){if(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x14:case 0x1b:return _0x368e5a[_0x1a4e('0x23e3')](_0x146f6e[_0x1a4e('0x11c')])?_0x146f6e[_0x1a4e('0x11c')]:void 0x0;default:if(_0x4cccd2(_0x146f6e))return _0x2327c6[_0x1a4e('0x11c')];}}}(_0x4a77dd)?(_0x4860d6=0x5,_0x273751=!0x0,_0xe414d4=0x4,0x1):0x0)||function(){var _0x146f6e=function(_0x146f6e,_0x2327c6,_0x55ff7e){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0x132:return _0x368e5a[_0x1a4e('0x172e')](_0x55ff7e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x24a1')]);case 0x1:var _0x1adc17=_0x368e5a['tryCast'](_0x368e5a[_0x1a4e('0x1722')](_0x368e5a[_0x1a4e('0x172f')](_0x55ff7e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x22f0')])['statements']),_0x368e5a[_0x1a4e('0x24a1')]);if(_0x1adc17&&!_0x368e5a[_0x1a4e('0x327f')](_0x1adc17,0x13,_0x146f6e))return _0x1adc17;}if(!_0x2327c6)return;switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x1a:case 0x13:return _0x37c760(_0x55ff7e)&&_0x55ff7e['parent']['name']===_0x55ff7e?_0x55ff7e['parent'][_0x1a4e('0x11c')]:_0x368e5a[_0x1a4e('0x172e')](_0x55ff7e,_0x368e5a[_0x1a4e('0x24a1')]);case 0x12:case 0x1b:return _0x368e5a[_0x1a4e('0x172e')](_0x2327c6[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x24a1')]);default:if(!_0x37c760(_0x2327c6))return;var _0xf79407=_0x368e5a[_0x1a4e('0x2367')](_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')])?_0x2d1a0a:_0x3eeb5f;return _0xf79407(_0x2327c6['kind'])||0x28===_0x2327c6[_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)&&_0xf79407(_0x368e5a[_0x1a4e('0x22bb')](_0x2327c6[_0x1a4e('0xe04')]))?_0x2327c6['parent']['parent']:void 0x0;}}(_0x55ff7e,_0x4a77dd,_0xb75ae8);if(!_0x146f6e)return 0x0;if(_0x4860d6=0x3,_0x273751=!0x0,_0xe414d4=0x28===_0x4a77dd[_0x1a4e('0x146b')]?0x0:_0x368e5a[_0x1a4e('0x2367')](_0x146f6e)?0x2:0x3,!_0x368e5a[_0x1a4e('0x2367')](_0x146f6e))return 0x1;var _0x2327c6=_0x4a77dd[_0x1a4e('0x11c')],_0x1adc17=_0x368e5a[_0x1a4e('0x2368')](_0x2327c6)?_0x368e5a[_0x1a4e('0x245c')](_0x2327c6):0x0;if(0x48===_0x4a77dd[_0x1a4e('0x146b')]&&!_0x128416(_0x4a77dd))switch(_0x4a77dd[_0x1a4e('0x230e')]()){case _0x1a4e('0x22a7'):_0x1adc17|=0x8;break;case'static':_0x1adc17|=0x20;}if(!(0x8&_0x1adc17)){var _0xf79407=_0x368e5a[_0x1a4e('0x104e')](_0x368e5a[_0x1a4e('0x31de')](_0x146f6e),function(_0x368e5a){var _0x2327c6=_0x1b06ad[_0x1a4e('0x31d9')](_0x368e5a);return _0x2327c6&&_0x1b06ad[_0x1a4e('0x32ad')](0x20&_0x1adc17?_0x1b06ad[_0x1a4e('0x32a5')](_0x2327c6[_0x1a4e('0xb1b')],_0x146f6e):_0x2327c6);});_0x4c5167=function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x368e5a[_0x1a4e('0x283a')](),_0xf79407=0x0,_0x2c9ec9=_0x2327c6;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];if((0x9a===_0x420b32[_0x1a4e('0x146b')]||0x9c===_0x420b32['kind']||0x9e===_0x420b32['kind']||0x9f===_0x420b32[_0x1a4e('0x146b')])&&(!_0x128416(_0x420b32)&&!_0x368e5a[_0x1a4e('0x24c6')](_0x420b32,0x8)&&_0x368e5a[_0x1a4e('0x24c6')](_0x420b32,0x20)===!!(0x20&_0x55ff7e))){var _0x1b06ad=_0x368e5a[_0x1a4e('0x29ee')](_0x420b32[_0x1a4e('0x2cb')]);_0x1b06ad&&_0x1adc17['set'](_0x1b06ad,!0x0);}}return _0x146f6e[_0x1a4e('0xd9')](function(_0x146f6e){return!(_0x1adc17[_0x1a4e('0x178')](_0x146f6e[_0x1a4e('0x22e8')])||!_0x146f6e[_0x1a4e('0x22e5')]||0x8&_0x368e5a['getDeclarationModifierFlagsFromSymbol'](_0x146f6e));});}(_0xf79407,_0x146f6e[_0x1a4e('0x2369')],_0x1adc17);}return 0x1;}()||(_0x2327c6=function(_0x146f6e){if(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x1e:case 0x1d:case 0x2a:case 0x48:case 0xbd:case 0x10c:case 0x10b:case 0x10d:if(_0x2327c6&&(0x105===_0x2327c6[_0x1a4e('0x146b')]||0x106===_0x2327c6[_0x1a4e('0x146b')])){if(0x1e===_0x146f6e['kind']){var _0x1adc17=_0x368e5a[_0x1a4e('0x3279')](_0x146f6e[_0x1a4e('0xa4')],_0x55ff7e,void 0x0);if(!_0x2327c6['typeArguments']||_0x1adc17&&0x2a===_0x1adc17[_0x1a4e('0x146b')])break;}return _0x2327c6;}if(0x10b===_0x2327c6[_0x1a4e('0x146b')])return _0x2327c6[_0x1a4e('0x11c')]['parent'];break;case 0xa:if(_0x2327c6&&(0x10b===_0x2327c6[_0x1a4e('0x146b')]||0x10d===_0x2327c6[_0x1a4e('0x146b')]))return _0x2327c6[_0x1a4e('0x11c')]['parent'];break;case 0x13:if(_0x2327c6&&0x10e===_0x2327c6[_0x1a4e('0x146b')]&&_0x2327c6[_0x1a4e('0x11c')]&&0x10b===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')];if(_0x2327c6&&0x10d===_0x2327c6[_0x1a4e('0x146b')])return _0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')];}}return;}(_0x4a77dd),(_0x1adc17=_0x2327c6&&_0x1b06ad[_0x1a4e('0x323e')](_0x2327c6[_0x1a4e('0x266d')]))?(_0x4c5167=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a['createUnderscoreEscapedMap'](),_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x128416(_0x2c9ec9)||0x10b===_0x2c9ec9[_0x1a4e('0x146b')]&&_0x55ff7e[_0x1a4e('0x17a')](_0x2c9ec9[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')],!0x0);}return _0x146f6e[_0x1a4e('0xd9')](function(_0x368e5a){return!_0x55ff7e[_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x22e8')]);});}(_0x566cd7(_0x1adc17,_0x2327c6[_0x1a4e('0x266d')],_0x1b06ad),_0x2327c6[_0x1a4e('0x266d')]['properties']),_0x4860d6=0x3,_0x273751=!0x1,0x1):0x0)||(function(){_0xe414d4=function(_0x146f6e){if(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x283d')](_0x146f6e[_0x1a4e('0x11c')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2367')](_0x146f6e)?_0x1a4e('0x1b55'):!(!_0x368e5a[_0x1a4e('0x254d')](_0x146f6e)||_0x2327c6!==_0x146f6e[_0x1a4e('0x8f2')])||(_0x2327c6=_0x146f6e,!0x1);});return _0x55ff7e&&_0x55ff7e;}}(_0x4a77dd)?0x5:0x1,_0x4860d6=0x1,_0x273751=function(_0x368e5a){if(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x11c')]['kind'];switch(_0x2e8c21(_0x368e5a)){case 0x1b:return 0xbf===_0x146f6e||0x9d===_0x146f6e||0xc0===_0x146f6e||0xbb===_0x146f6e||0xcc===_0x146f6e||0xa5===_0x146f6e;case 0x14:return 0xbf===_0x146f6e||0x9d===_0x146f6e||0xc0===_0x146f6e||0xc3===_0x146f6e||0xb1===_0x146f6e;case 0x16:return 0xbb===_0x146f6e||0xa2===_0x146f6e||0x95===_0x146f6e;case 0x82:case 0x83:return!0x0;case 0x18:return 0xf4===_0x146f6e;case 0x12:return 0xf0===_0x146f6e;case 0x3b:return 0xed===_0x146f6e||0xcc===_0x146f6e;case 0xf:return 0xce===_0x146f6e;case 0x10:return 0xd8===_0x146f6e;case 0x73:case 0x71:case 0x72:return 0x9a===_0x146f6e;}}return!0x1;}(_0x4a77dd),_0x563ace!==_0x4a77dd&&_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x563ace,_0x1a4e('0x32ae'));var _0x2327c6=_0x563ace!==_0x4a77dd?_0x563ace[_0x1a4e('0x31d6')]():_0xf79407,_0x1adc17=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e;for(;_0x1adc17&&!_0x368e5a['positionBelongsToNode'](_0x1adc17,_0x2327c6,_0x55ff7e);)_0x1adc17=_0x1adc17[_0x1a4e('0x11c')];return _0x1adc17;}(_0x4a77dd,_0x2327c6,_0x55ff7e)||_0x55ff7e;_0x8d0ce8=function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x117:case 0xce:case 0x10e:case 0xda:return!0x0;default:return _0x368e5a[_0x1a4e('0x2569')](_0x146f6e);}}(_0x1adc17);var _0x326eae=0x42c0fe8|(_0x31bda6()?0x0:0x401b3bf);if(_0x4c5167=_0x368e5a[_0x1a4e('0x1749')]['assertEachDefined'](_0x1b06ad['getSymbolsInScope'](_0x1adc17,_0x326eae),_0x1a4e('0x32af')),_0x2c9ec9['includeCompletionsWithInsertText']&&0x117!==_0x1adc17[_0x1a4e('0x146b')]){var _0x56674b=_0x1b06ad[_0x1a4e('0x32b0')](_0x1adc17);if(_0x56674b)for(var _0x153a40=0x0,_0x282446=_0x29d759(_0x56674b,_0x1b06ad);_0x153a40<_0x282446[_0x1a4e('0x1e')];_0x153a40++){var _0x19e6fa=_0x282446[_0x153a40];_0x5330b6[_0x368e5a[_0x1a4e('0x2889')](_0x19e6fa)]={'kind':0x0},_0x4c5167[_0x1a4e('0x46')](_0x19e6fa);}}_0x2c9ec9[_0x1a4e('0x32b1')]&&(_0x55ff7e['externalModuleIndicator']||!_0x55ff7e[_0x1a4e('0x2349')]&&(_0x368e5a[_0x1a4e('0x32b2')](_0x146f6e['getCompilerOptions']())||_0x368e5a[_0x1a4e('0x320a')](_0x146f6e)))&&function(_0x2327c6,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x1adc17[_0x1a4e('0x2b2')](),_0x326eae=_0x368e5a['createMap']();_0x368e5a[_0x1a4e('0x3295')]['forEachExternalModuleToImportFrom'](_0x1b06ad,_0x55ff7e,_0x146f6e[_0x1a4e('0x2447')](),function(_0x146f6e){if(!_0x420b32||!_0x420b32[_0x1a4e('0xfaa')]||_0x368e5a[_0x1a4e('0x3231')](_0x146f6e[_0x1a4e('0x2cb')])===_0x420b32[_0x1a4e('0xfaa')]){var _0x55ff7e=_0x1b06ad[_0x1a4e('0x32b3')](_0x146f6e);if(_0x368e5a[_0x1a4e('0x3048')](_0x326eae,_0x368e5a[_0x1a4e('0x2889')](_0x55ff7e))){_0x55ff7e!==_0x146f6e&&_0x368e5a[_0x1a4e('0x1c2')](_0x55ff7e[_0x1a4e('0x22e5')],function(_0x368e5a){return!!_0x368e5a['getSourceFile']()[_0x1a4e('0x2359')];})&&(_0x2327c6['push'](_0x55ff7e),_0x5330b6[_0x368e5a[_0x1a4e('0x2889')](_0x55ff7e)]={'kind':0x3,'moduleSymbol':_0x146f6e,'isDefaultExport':!0x1});for(var _0x1adc17=0x0,_0x56674b=_0x1b06ad['getExportsOfModule'](_0x146f6e);_0x1adc17<_0x56674b['length'];_0x1adc17++){var _0x153a40=_0x56674b[_0x1adc17];if(_0x1b06ad['getMergedSymbol'](_0x153a40['parent'])===_0x55ff7e&&!_0x368e5a[_0x1a4e('0x1c2')](_0x153a40[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a['isExportSpecifier'](_0x146f6e)&&(_0x146f6e[_0x1a4e('0x81a')]?_0x368e5a[_0x1a4e('0x23f7')](_0x146f6e[_0x1a4e('0x2cb')]):!!_0x146f6e['parent'][_0x1a4e('0x11c')][_0x1a4e('0x23c5')]);})){var _0x282446=_0x1a4e('0x8')===_0x153a40[_0x1a4e('0x22e8')];_0x282446&&(_0x153a40=_0x368e5a['getLocalSymbolForExportDefault'](_0x153a40)||_0x153a40);var _0x8d0ce8={'kind':0x3,'moduleSymbol':_0x146f6e,'isDefaultExport':_0x282446};(_0x420b32||_0x631f7a(_0x5cc168(_0x153a40,_0x8d0ce8,_0xf79407)[_0x1a4e('0x2b2')](),_0x2c9ec9))&&(_0x2327c6[_0x1a4e('0x46')](_0x153a40),_0x5330b6[_0x368e5a[_0x1a4e('0x2889')](_0x153a40)]=_0x8d0ce8);}}}}});}(_0x4c5167,_0x563ace&&_0x368e5a[_0x1a4e('0x2370')](_0x563ace)?_0x563ace[_0x1a4e('0xe04')]:'',_0x146f6e['getCompilerOptions']()[_0x1a4e('0xd95')]);!function(_0x146f6e){var _0x2327c6=_0x31bda6(),_0x1adc17=_0x2327c6||!_0x54ef9a(_0x4a77dd)&&_0x368e5a[_0x1a4e('0x31ef')](_0x4a77dd,_0x55ff7e,_0x1b06ad);_0x2327c6&&(_0xe414d4=0x6);_0x368e5a[_0x1a4e('0x27ca')](_0x146f6e,function(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x22f0')](_0xb75ae8)){if(_0x368e5a[_0x1a4e('0x237b')](_0xb75ae8[_0x1a4e('0x11c')]))return!0x0;if(_0x146f6e=_0x368e5a['skipAlias'](_0x146f6e,_0x1b06ad),_0x368e5a[_0x1a4e('0x31c2')](_0xb75ae8))return!!(0x780&_0x146f6e[_0x1a4e('0x7b2')]);if(_0x1adc17){var _0x55ff7e=_0x3fc5f4(_0x146f6e);if(_0x55ff7e||_0x2327c6)return _0x55ff7e;}}return!!(0x401b3bf&_0x368e5a[_0x1a4e('0x248e')](_0x146f6e));});}(_0x4c5167);}(),0x1));}function _0x31bda6(){return _0x282446||!_0x54ef9a(_0x4a77dd)&&(_0x368e5a[_0x1a4e('0x2384')](_0xb75ae8)||function(_0x146f6e){if(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')]['kind'];switch(_0x146f6e['kind']){case 0x39:return 0x9a===_0x2327c6||0x99===_0x2327c6||0x97===_0x2327c6||0xed===_0x2327c6||_0x368e5a['isFunctionLikeKind'](_0x2327c6);case 0x3b:return 0xf2===_0x2327c6;case 0x77:return 0xd4===_0x2327c6;}}return!0x1;}(_0x4a77dd));}function _0x54ef9a(_0x146f6e){return _0x146f6e&&0x68===_0x146f6e['kind']&&(0xa7===_0x146f6e[_0x1a4e('0x11c')]['kind']||_0x368e5a[_0x1a4e('0x2500')](_0x146f6e[_0x1a4e('0x11c')]));}function _0x3fc5f4(_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=_0x368e5a[_0x1a4e('0x1772')]());var _0x55ff7e=_0x368e5a['skipAlias'](_0x146f6e[_0x1a4e('0x248f')]||_0x146f6e,_0x1b06ad);return!!(0x40c09e8&_0x55ff7e[_0x1a4e('0x7b2')])||!!(0x600&_0x55ff7e[_0x1a4e('0x7b2')])&&_0x368e5a[_0x1a4e('0x3048')](_0x2327c6,_0x368e5a[_0x1a4e('0x2889')](_0x55ff7e))&&_0x1b06ad[_0x1a4e('0x32b4')](_0x55ff7e)[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x3fc5f4(_0x368e5a,_0x2327c6);});}function _0x631f7a(_0x368e5a,_0x146f6e){if(0x0===_0x146f6e['length'])return!0x0;for(var _0x2327c6=0x0,_0x55ff7e=0x0;_0x55ff7e<_0x368e5a['length'];_0x55ff7e++)if(_0x368e5a[_0x1a4e('0x913')](_0x55ff7e)===_0x146f6e[_0x1a4e('0x913')](_0x2327c6)&&++_0x2327c6===_0x146f6e[_0x1a4e('0x1e')])return!0x0;return!0x1;}function _0x4cccd2(_0x146f6e){return!!_0x146f6e[_0x1a4e('0x11c')]&&_0x368e5a[_0x1a4e('0x24ac')](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a['isConstructorDeclaration'](_0x146f6e['parent'][_0x1a4e('0x11c')])&&(_0x368e5a[_0x1a4e('0x2547')](_0x146f6e[_0x1a4e('0x146b')])||_0x368e5a[_0x1a4e('0x23e5')](_0x146f6e));}function _0x34fc1d(_0x146f6e){return _0x368e5a[_0x1a4e('0x254e')](_0x146f6e)&&0x9d!==_0x146f6e;}function _0x128416(_0x368e5a){return _0x368e5a[_0x1a4e('0x31d6')](_0x55ff7e)<=_0xf79407&&_0xf79407<=_0x368e5a[_0x1a4e('0x31d7')]();}}function _0x34d2d5(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x5cc168(_0x146f6e,_0x55ff7e,_0x2327c6);if(!(void 0x0===_0xf79407||0x600&_0x146f6e[_0x1a4e('0x7b2')]&&_0x368e5a[_0x1a4e('0x32b5')](_0xf79407)||_0x368e5a[_0x1a4e('0x2402')](_0x146f6e))){var _0x2c9ec9={'name':_0xf79407,'needsConvertPropertyAccess':!0x1};if(_0x368e5a[_0x1a4e('0x2995')](_0xf79407,_0x2327c6))return _0x2c9ec9;switch(_0x1adc17){case 0x3:return;case 0x0:return{'name':JSON[_0x1a4e('0xd7')](_0xf79407),'needsConvertPropertyAccess':!0x1};case 0x2:case 0x1:return 0x20===_0xf79407[_0x1a4e('0x913')](0x0)?void 0x0:{'name':_0xf79407,'needsConvertPropertyAccess':!0x0};case 0x5:case 0x4:return _0x2c9ec9;default:_0x368e5a['Debug']['assertNever'](_0x1adc17);}}}_0x146f6e[_0x1a4e('0x3265')]=_0x563ace,_0x146f6e[_0x1a4e('0x32b6')]=function(_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x153a40,_0x282446){var _0x8d0ce8=_0x2327c6[_0x1a4e('0x302b')](),_0x19e6fa=_0x2327c6[_0x1a4e('0x23f1')](),_0x244dee=_0x420b32[_0x1a4e('0x2cb')],_0x563ace=_0x368e5a[_0x1a4e('0x3279')](_0x2c9ec9,_0x1adc17);if(_0x368e5a['isInString'](_0x1adc17,_0x2c9ec9,_0x563ace))return _0x146f6e['StringCompletions'][_0x1a4e('0x3267')](_0x244dee,_0x1adc17,_0x2c9ec9,_0x563ace,_0x8d0ce8,_0x19e6fa,_0x1b06ad,_0x282446);var _0x9400e0=_0x4a77dd(_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32);switch(_0x9400e0[_0x1a4e('0x40')]){case _0x1a4e('0x3291'):var _0x46f3e6=_0x9400e0[_0x1a4e('0x3291')];switch(_0x46f3e6['kind']){case 0x1:return _0x368e5a[_0x1a4e('0x3283')]['getJSDocTagNameCompletionDetails'](_0x244dee);case 0x2:return _0x368e5a[_0x1a4e('0x3283')][_0x1a4e('0x32b7')](_0x244dee);case 0x3:return _0x368e5a[_0x1a4e('0x3283')][_0x1a4e('0x32b8')](_0x244dee);default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x46f3e6);}case'symbol':var _0x1ccb4f=_0x9400e0['symbol'],_0x34d2d5=_0x9400e0['location'],_0x1c81bc=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x153a40,_0x282446){var _0x8d0ce8=_0x146f6e[_0x368e5a[_0x1a4e('0x2889')](_0x2327c6)];if(!_0x8d0ce8||!_0xf79407(_0x8d0ce8))return{'codeActions':void 0x0,'sourceDisplay':void 0x0};var _0x19e6fa=_0x8d0ce8['moduleSymbol'],_0x244dee=_0x1adc17[_0x1a4e('0x32b9')](_0x368e5a[_0x1a4e('0x32ba')](_0x2327c6[_0x1a4e('0x248f')]||_0x2327c6,_0x1adc17)),_0x563ace=_0x368e5a[_0x1a4e('0x3295')]['getImportCompletionAction'](_0x244dee,_0x19e6fa,_0x1b06ad,_0x5cc168(_0x2327c6,_0x8d0ce8,_0x420b32[_0x1a4e('0xd95')]),_0x2c9ec9,_0x55ff7e,_0x153a40,_0x56674b&&_0x368e5a[_0x1a4e('0x2370')](_0x56674b)?_0x56674b[_0x1a4e('0x31d6')](_0x1b06ad):_0x326eae,_0x282446),_0x4a77dd=_0x563ace['moduleSpecifier'],_0x215fd4=_0x563ace['codeAction'];return{'sourceDisplay':[_0x368e5a[_0x1a4e('0x3226')](_0x4a77dd)],'codeActions':[_0x215fd4]};}(_0x9400e0['symbolToOriginInfoMap'],_0x1ccb4f,_0x2327c6,_0x8d0ce8,_0x1b06ad,_0x19e6fa,_0x1adc17,_0x2c9ec9,_0x9400e0[_0x1a4e('0x3292')],_0x326eae,_0x153a40);return _0x4776f7(_0x1ccb4f,_0x8d0ce8,_0x1adc17,_0x34d2d5,_0x282446,_0x1c81bc['codeActions'],_0x1c81bc[_0x1a4e('0x32bb')]);case _0x1a4e('0x2301'):var _0x76b6ca=_0x9400e0['literal'];return _0x215fd4(_0x56674b(_0x76b6ca),_0x1a4e('0x9'),_0x1a4e('0x9')==typeof _0x76b6ca?_0x368e5a[_0x1a4e('0x3165')]['stringLiteral']:_0x368e5a[_0x1a4e('0x3165')]['numericLiteral']);case _0x1a4e('0x60'):return _0x5bd928()[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2cb')]===_0x244dee;})?_0x215fd4(_0x244dee,_0x1a4e('0x315c'),_0x368e5a['SymbolDisplayPartKind']['keyword']):void 0x0;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x9400e0);}},_0x146f6e[_0x1a4e('0x326a')]=_0x4776f7,_0x146f6e['createCompletionDetails']=_0x9400e0,_0x146f6e[_0x1a4e('0x32bc')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x4a77dd(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);return _0x1a4e('0xb1b')===_0xf79407[_0x1a4e('0x40')]?_0xf79407[_0x1a4e('0xb1b')]:void 0x0;},function(_0x368e5a){_0x368e5a[_0x368e5a['Data']=0x0]='Data',_0x368e5a[_0x368e5a[_0x1a4e('0x32bd')]=0x1]=_0x1a4e('0x32bd'),_0x368e5a[_0x368e5a[_0x1a4e('0x32be')]=0x2]=_0x1a4e('0x32be'),_0x368e5a[_0x368e5a[_0x1a4e('0x32bf')]=0x3]=_0x1a4e('0x32bf');}(_0x326eae||(_0x326eae={})),function(_0x368e5a){_0x368e5a[_0x368e5a['ObjectPropertyDeclaration']=0x0]='ObjectPropertyDeclaration',_0x368e5a[_0x368e5a[_0x1a4e('0x32c0')]=0x1]='Global',_0x368e5a[_0x368e5a[_0x1a4e('0x32c1')]=0x2]='PropertyAccess',_0x368e5a[_0x368e5a['MemberLike']=0x3]='MemberLike',_0x368e5a[_0x368e5a['String']=0x4]=_0x1a4e('0x1011'),_0x368e5a[_0x368e5a['None']=0x5]=_0x1a4e('0x1733');}(_0x146f6e[_0x1a4e('0x32c2')]||(_0x146f6e[_0x1a4e('0x32c2')]={}));var _0x7fb622=[],_0x5bd928=_0x368e5a[_0x1a4e('0x2fa4')](function(){for(var _0x146f6e=[],_0x2327c6=0x49;_0x2327c6<=0x93;_0x2327c6++)_0x146f6e[_0x1a4e('0x46')]({'name':_0x368e5a[_0x1a4e('0x22ba')](_0x2327c6),'kind':_0x1a4e('0x315c'),'kindModifiers':'','sortText':'0'});return _0x146f6e;});function _0x3eeb5f(_0x368e5a){return 0x85===_0x368e5a;}function _0x2d1a0a(_0x146f6e){switch(_0x146f6e){case 0x76:case 0x7c:case 0x7e:case 0x89:case 0x79:return!0x0;default:return _0x368e5a[_0x1a4e('0x2548')](_0x146f6e);}}function _0x2e8c21(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e)?_0x146f6e['originalKeywordKind']||0x0:_0x146f6e[_0x1a4e('0x146b')];}function _0x566cd7(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e['isUnion']()?_0x55ff7e[_0x1a4e('0x32c3')](_0x146f6e[_0x1a4e('0x2380')]['filter'](function(_0x146f6e){return!(0x1fffc&_0x146f6e[_0x1a4e('0x7b2')]||_0x55ff7e['isArrayLikeType'](_0x146f6e)||_0x368e5a[_0x1a4e('0x249b')](_0x146f6e,_0x55ff7e)||_0x55ff7e[_0x1a4e('0x32c4')](_0x146f6e,_0x2327c6));})):_0x146f6e[_0x1a4e('0x3259')]();}function _0x29d759(_0x146f6e,_0x2327c6){return _0x146f6e['isUnion']()?_0x368e5a['Debug'][_0x1a4e('0x1745')](_0x2327c6[_0x1a4e('0x32c3')](_0x146f6e['types']),_0x1a4e('0x32c5')):_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1745')](_0x146f6e[_0x1a4e('0x3259')](),'getApparentProperties()\x20should\x20all\x20be\x20defined');}function _0x37c760(_0x146f6e){return _0x146f6e['parent']&&_0x368e5a['isClassOrTypeElement'](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a['isObjectTypeDeclaration'](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]);}function _0x1b6e70(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x5f')];return _0x368e5a[_0x1a4e('0x2327')](_0x2327c6);}}(_0x368e5a[_0x1a4e('0x3271')]||(_0x368e5a[_0x1a4e('0x3271')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6){return{'fileName':_0x2327c6['fileName'],'textSpan':_0x368e5a[_0x1a4e('0x3289')](_0x146f6e,_0x2327c6),'kind':_0x1a4e('0x60')};}function _0x55ff7e(_0x146f6e){return _0x368e5a[_0x1a4e('0x251a')](_0x146f6e)?[_0x146f6e]:_0x368e5a[_0x1a4e('0x32c6')](_0x146f6e)?_0x368e5a['concatenate'](_0x146f6e[_0x1a4e('0x260a')]?_0x55ff7e(_0x146f6e['catchClause']):_0x146f6e[_0x1a4e('0x2679')]&&_0x55ff7e(_0x146f6e['tryBlock']),_0x146f6e['finallyBlock']&&_0x55ff7e(_0x146f6e[_0x1a4e('0x267a')])):_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)?void 0x0:_0xf79407(_0x146f6e,_0x55ff7e);}function _0x1adc17(_0x146f6e){return _0x368e5a[_0x1a4e('0x2515')](_0x146f6e)?[_0x146f6e]:_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)?void 0x0:_0xf79407(_0x146f6e,_0x1adc17);}function _0xf79407(_0x146f6e,_0x2327c6){var _0x55ff7e=[];return _0x146f6e['forEachChild'](function(_0x146f6e){var _0x1adc17=_0x2327c6(_0x146f6e);void 0x0!==_0x1adc17&&_0x55ff7e['push'][_0x1a4e('0x8b')](_0x55ff7e,_0x368e5a[_0x1a4e('0x347')](_0x1adc17));}),_0x55ff7e;}function _0x2c9ec9(_0x368e5a,_0x146f6e){var _0x2327c6=_0x420b32(_0x146f6e);return!!_0x2327c6&&_0x2327c6===_0x368e5a;}function _0x420b32(_0x146f6e){return _0x368e5a[_0x1a4e('0x283d')](_0x146f6e,function(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xe8:if(0xe4===_0x146f6e[_0x1a4e('0x146b')])return!0x1;case 0xe1:case 0xe2:case 0xe3:case 0xe0:case 0xdf:return!_0x146f6e['label']||function(_0x146f6e,_0x2327c6){return!!_0x368e5a['findAncestor'](_0x146f6e[_0x1a4e('0x11c')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2519')](_0x146f6e)?_0x146f6e[_0x1a4e('0x1bc')]['escapedText']===_0x2327c6:_0x1a4e('0x1b55');});}(_0x2327c6,_0x146f6e[_0x1a4e('0x1bc')][_0x1a4e('0x22f3')]);default:return _0x368e5a[_0x1a4e('0x2342')](_0x2327c6)&&_0x1a4e('0x1b55');}});}function _0x1b06ad(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=0x2;_0x1adc17=0x0&&!_0x1b06ad(_0x2327c6,_0x55ff7e[_0xf79407],0x6b);_0xf79407--);return _0x368e5a[_0x1a4e('0x3b')](_0x1adc17(_0x146f6e['statement']),function(_0x368e5a){_0x2c9ec9(_0x146f6e,_0x368e5a)&&_0x1b06ad(_0x2327c6,_0x368e5a[_0x1a4e('0x32c7')](),0x49,0x4e);}),_0x2327c6;}function _0x56674b(_0x368e5a){var _0x146f6e=_0x420b32(_0x368e5a);if(_0x146f6e)switch(_0x146f6e['kind']){case 0xe1:case 0xe2:case 0xe3:case 0xdf:case 0xe0:return _0x326eae(_0x146f6e);case 0xe8:return _0x1ec56b(_0x146f6e);}}function _0x1ec56b(_0x146f6e){var _0x2327c6=[];return _0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x32c7')](),0x63),_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2608')]['clauses'],function(_0x55ff7e){_0x1b06ad(_0x2327c6,_0x55ff7e[_0x1a4e('0x32c7')](),0x4a,0x50),_0x368e5a[_0x1a4e('0x3b')](_0x1adc17(_0x55ff7e),function(_0x368e5a){_0x2c9ec9(_0x146f6e,_0x368e5a)&&_0x1b06ad(_0x2327c6,_0x368e5a['getFirstToken'](),0x49);});}),_0x2327c6;}function _0x1dc03f(_0x146f6e,_0x2327c6){var _0x55ff7e=[];(_0x1b06ad(_0x55ff7e,_0x146f6e[_0x1a4e('0x32c7')](),0x67),_0x146f6e[_0x1a4e('0x260a')]&&_0x1b06ad(_0x55ff7e,_0x146f6e[_0x1a4e('0x260a')][_0x1a4e('0x32c7')](),0x4b),_0x146f6e['finallyBlock'])&&_0x1b06ad(_0x55ff7e,_0x368e5a['findChildOfKind'](_0x146f6e,0x58,_0x2327c6),0x58);return _0x55ff7e;}function _0xba4662(_0x146f6e,_0x2327c6){var _0x1adc17=function(_0x146f6e){for(var _0x2327c6=_0x146f6e;_0x2327c6[_0x1a4e('0x11c')];){var _0x55ff7e=_0x2327c6[_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x2391')](_0x55ff7e)||0x117===_0x55ff7e[_0x1a4e('0x146b')])return _0x55ff7e;if(_0x368e5a['isTryStatement'](_0x55ff7e)&&_0x55ff7e['tryBlock']===_0x2327c6&&_0x55ff7e[_0x1a4e('0x260a')])return _0x2327c6;_0x2327c6=_0x55ff7e;}}(_0x146f6e);if(_0x1adc17){var _0xf79407=[];return _0x368e5a[_0x1a4e('0x3b')](_0x55ff7e(_0x1adc17),function(_0x146f6e){_0xf79407['push'](_0x368e5a[_0x1a4e('0x327f')](_0x146f6e,0x65,_0x2327c6));}),_0x368e5a[_0x1a4e('0x2391')](_0x1adc17)&&_0x368e5a['forEachReturnStatement'](_0x1adc17,function(_0x146f6e){_0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x327f')](_0x146f6e,0x61,_0x2327c6));}),_0xf79407;}}function _0xb7b717(_0x146f6e,_0x2327c6){var _0x1adc17=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);if(_0x1adc17){var _0xf79407=[];return _0x368e5a[_0x1a4e('0x2386')](_0x368e5a[_0x1a4e('0x172f')](_0x1adc17[_0x1a4e('0x8f2')],_0x368e5a[_0x1a4e('0x250c')]),function(_0x146f6e){_0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x327f')](_0x146f6e,0x61,_0x2327c6));}),_0x368e5a[_0x1a4e('0x3b')](_0x55ff7e(_0x1adc17[_0x1a4e('0x8f2')]),function(_0x146f6e){_0xf79407['push'](_0x368e5a[_0x1a4e('0x327f')](_0x146f6e,0x65,_0x2327c6));}),_0xf79407;}}function _0x55d24f(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);if(_0x2327c6){var _0x55ff7e=[];return _0x2327c6[_0x1a4e('0x242d')]&&_0x2327c6[_0x1a4e('0x242d')]['forEach'](function(_0x368e5a){_0x1b06ad(_0x55ff7e,_0x368e5a,0x79);}),_0x368e5a[_0x1a4e('0x22eb')](_0x2327c6,function(_0x146f6e){_0x5aa145(_0x146f6e,function(_0x146f6e){_0x368e5a[_0x1a4e('0x2502')](_0x146f6e)&&_0x1b06ad(_0x55ff7e,_0x146f6e['getFirstToken'](),0x7a);});}),_0x55ff7e;}}function _0x5aa145(_0x146f6e,_0x2327c6){_0x2327c6(_0x146f6e),_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)||_0x368e5a['isClassLike'](_0x146f6e)||_0x368e5a[_0x1a4e('0x23ef')](_0x146f6e)||_0x368e5a[_0x1a4e('0x22ef')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2ef3')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2553')](_0x146f6e)||_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,function(_0x368e5a){return _0x5aa145(_0x368e5a,_0x2327c6);});}_0x146f6e[_0x1a4e('0x32c8')]=function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a['getTouchingPropertyName'](_0x1adc17,_0xf79407);if(_0x420b32['parent']&&(_0x368e5a[_0x1a4e('0x2527')](_0x420b32[_0x1a4e('0x11c')])&&_0x420b32[_0x1a4e('0x11c')][_0x1a4e('0x132b')]===_0x420b32||_0x368e5a['isJsxClosingElement'](_0x420b32[_0x1a4e('0x11c')]))){var _0x1a8b0b=_0x420b32[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x17e209=[_0x1a8b0b[_0x1a4e('0x260f')],_0x1a8b0b[_0x1a4e('0x266e')]][_0x1a4e('0x21')](function(_0x368e5a){return _0x2327c6(_0x368e5a[_0x1a4e('0x132b')],_0x1adc17);});return[{'fileName':_0x1adc17[_0x1a4e('0x1b39')],'highlightSpans':_0x17e209}];}return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x230b')](_0xf79407,function(_0x368e5a){return _0x368e5a['fileName'];}),_0x420b32=_0x368e5a[_0x1a4e('0x32c9')][_0x1a4e('0x32ca')](_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x1adc17,void 0x0,_0x2c9ec9);if(_0x420b32){var _0x1b06ad=_0x368e5a[_0x1a4e('0x172d')](_0x420b32[_0x1a4e('0x21')](_0x368e5a[_0x1a4e('0x32c9')][_0x1a4e('0x32cb')]),function(_0x368e5a){return _0x368e5a[_0x1a4e('0x1b39')];},function(_0x368e5a){return _0x368e5a['span'];});return _0x368e5a[_0x1a4e('0x1729')](_0x1b06ad[_0x1a4e('0x3c3')](),function(_0x146f6e){var _0x2327c6=_0x146f6e[0x0],_0x1adc17=_0x146f6e[0x1];if(!_0x2c9ec9[_0x1a4e('0x178')](_0x2327c6)){_0x368e5a['Debug']['assert'](_0x55ff7e[_0x1a4e('0x28d6')][_0x1a4e('0x178')](_0x2327c6));var _0x420b32=_0x55ff7e[_0x1a4e('0x288f')](_0x2327c6),_0x1b06ad=_0x368e5a[_0x1a4e('0x1c7')](_0xf79407,function(_0x368e5a){return!!_0x368e5a['redirectInfo']&&_0x368e5a[_0x1a4e('0x293f')]['redirectTarget']===_0x420b32;});_0x2327c6=_0x1b06ad['fileName'],_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2c9ec9['has'](_0x2327c6));}return{'fileName':_0x2327c6,'highlightSpans':_0x1adc17};});}}(_0xf79407,_0x420b32,_0x146f6e,_0x55ff7e,_0x2c9ec9)||function(_0x146f6e,_0x55ff7e){var _0x1adc17=function(_0x146f6e,_0x55ff7e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x5b:case 0x53:return _0x368e5a[_0x1a4e('0x250e')](_0x146f6e[_0x1a4e('0x11c')])?function(_0x146f6e,_0x55ff7e){for(var _0x1adc17=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[];_0x368e5a[_0x1a4e('0x250e')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2607')]===_0x146f6e;)_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];for(;;){var _0x1adc17=_0x146f6e[_0x1a4e('0x31d4')](_0x2327c6);_0x1b06ad(_0x55ff7e,_0x1adc17[0x0],0x5b);for(var _0xf79407=_0x1adc17[_0x1a4e('0x1e')]-0x1;_0xf79407>=0x0&&!_0x1b06ad(_0x55ff7e,_0x1adc17[_0xf79407],0x53);_0xf79407--);if(!_0x146f6e[_0x1a4e('0x2607')]||!_0x368e5a['isIfStatement'](_0x146f6e[_0x1a4e('0x2607')]))break;_0x146f6e=_0x146f6e['elseStatement'];}return _0x55ff7e;}(_0x146f6e,_0x55ff7e),_0xf79407=[],_0x2c9ec9=0x0;_0x2c9ec9<_0x1adc17[_0x1a4e('0x1e')];_0x2c9ec9++){if(0x53===_0x1adc17[_0x2c9ec9]['kind']&&_0x2c9ec9<_0x1adc17[_0x1a4e('0x1e')]-0x1){for(var _0x420b32=_0x1adc17[_0x2c9ec9],_0x326eae=_0x1adc17[_0x2c9ec9+0x1],_0x56674b=!0x0,_0x1ec56b=_0x326eae['getStart'](_0x55ff7e)-0x1;_0x1ec56b>=_0x420b32[_0x1a4e('0xca')];_0x1ec56b--)if(!_0x368e5a[_0x1a4e('0x242b')](_0x55ff7e['text'][_0x1a4e('0x913')](_0x1ec56b))){_0x56674b=!0x1;break;}if(_0x56674b){_0xf79407['push']({'fileName':_0x55ff7e[_0x1a4e('0x1b39')],'textSpan':_0x368e5a['createTextSpanFromBounds'](_0x420b32[_0x1a4e('0x31d6')](),_0x326eae[_0x1a4e('0xca')]),'kind':_0x1a4e('0x3150')}),_0x2c9ec9++;continue;}}_0xf79407[_0x1a4e('0x46')](_0x2327c6(_0x1adc17[_0x2c9ec9],_0x55ff7e));}return _0xf79407;}(_0x146f6e[_0x1a4e('0x11c')],_0x55ff7e):void 0x0;case 0x61:return _0x1a8b0b(_0x146f6e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2516')],_0xb7b717);case 0x65:return _0x1a8b0b(_0x146f6e['parent'],_0x368e5a['isThrowStatement'],_0xba4662);case 0x67:case 0x4b:case 0x58:var _0x1adc17=0x4b===_0x146f6e['kind']?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:_0x146f6e['parent'];return _0x1a8b0b(_0x1adc17,_0x368e5a[_0x1a4e('0x32c6')],_0x1dc03f);case 0x63:return _0x1a8b0b(_0x146f6e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2518')],_0x1ec56b);case 0x4a:case 0x50:return _0x1a8b0b(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2518')],_0x1ec56b);case 0x49:case 0x4e:return _0x1a8b0b(_0x146f6e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2515')],_0x56674b);case 0x59:case 0x6b:case 0x52:return _0x1a8b0b(_0x146f6e[_0x1a4e('0x11c')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2560')](_0x146f6e,!0x0);},_0x326eae);case 0x7c:return _0x420b32(_0x368e5a['isConstructorDeclaration'],[0x7c]);case 0x7e:case 0x89:return _0x420b32(_0x368e5a['isAccessor'],[0x7e,0x89]);case 0x7a:return _0x1a8b0b(_0x146f6e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2502')],_0x55d24f);case 0x79:return _0x17e209(_0x55d24f(_0x146f6e));case 0x75:return _0x17e209(function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x2a5b')](_0x146f6e);if(_0x2327c6){var _0x55ff7e=[];return _0x368e5a[_0x1a4e('0x22eb')](_0x2327c6,function(_0x146f6e){_0x5aa145(_0x146f6e,function(_0x146f6e){_0x368e5a[_0x1a4e('0x32cc')](_0x146f6e)&&_0x1b06ad(_0x55ff7e,_0x146f6e[_0x1a4e('0x32c7')](),0x75);});}),_0x55ff7e;}}(_0x146f6e));default:return _0x368e5a[_0x1a4e('0x2546')](_0x146f6e['kind'])&&(_0x368e5a[_0x1a4e('0x23e6')](_0x146f6e['parent'])||_0x368e5a[_0x1a4e('0x2376')](_0x146f6e[_0x1a4e('0x11c')]))?_0x17e209((_0xf79407=_0x146f6e['kind'],_0x2c9ec9=_0x146f6e['parent'],_0x368e5a[_0x1a4e('0x1713')](function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x11c')];switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xf5:case 0x117:case 0xda:case 0x10f:case 0x110:return 0x80&_0x2327c6&&_0x368e5a[_0x1a4e('0x251d')](_0x146f6e)?_0x146f6e['members'][_0x1a4e('0x9a')]([_0x146f6e]):_0x55ff7e[_0x1a4e('0x2366')];case 0x9d:case 0x9c:case 0xef:return _0x55ff7e[_0x1a4e('0x111a')][_0x1a4e('0x9a')](_0x368e5a[_0x1a4e('0x2367')](_0x55ff7e[_0x1a4e('0x11c')])?_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x2369')]:[]);case 0xf0:case 0xd1:var _0x1adc17=_0x55ff7e['members'];if(0x1c&_0x2327c6){var _0xf79407=_0x368e5a['find'](_0x55ff7e[_0x1a4e('0x2369')],_0x368e5a[_0x1a4e('0x23e3')]);if(_0xf79407)return _0x1adc17[_0x1a4e('0x9a')](_0xf79407[_0x1a4e('0x111a')]);}else if(0x80&_0x2327c6)return _0x1adc17[_0x1a4e('0x9a')]([_0x55ff7e]);return _0x1adc17;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x55ff7e,_0x1a4e('0x32cd'));}}(_0x2c9ec9,_0x368e5a[_0x1a4e('0x245e')](_0xf79407)),function(_0x146f6e){return _0x368e5a[_0x1a4e('0x321a')](_0x146f6e,_0xf79407);}))):void 0x0;}var _0xf79407,_0x2c9ec9;function _0x420b32(_0x2327c6,_0x1adc17){return _0x1a8b0b(_0x146f6e[_0x1a4e('0x11c')],_0x2327c6,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1713')](_0x146f6e[_0x1a4e('0xb1b')]['declarations'],function(_0x146f6e){return _0x2327c6(_0x146f6e)?_0x368e5a[_0x1a4e('0x1c7')](_0x146f6e[_0x1a4e('0x31d4')](_0x55ff7e),function(_0x146f6e){return _0x368e5a['contains'](_0x1adc17,_0x146f6e['kind']);}):void 0x0;});});}function _0x1a8b0b(_0x368e5a,_0x146f6e,_0x2327c6){return _0x146f6e(_0x368e5a)?_0x17e209(_0x2327c6(_0x368e5a,_0x55ff7e)):void 0x0;}function _0x17e209(_0x368e5a){return _0x368e5a&&_0x368e5a[_0x1a4e('0x21')](function(_0x368e5a){return _0x2327c6(_0x368e5a,_0x55ff7e);});}}(_0x146f6e,_0x55ff7e);return _0x1adc17&&[{'fileName':_0x55ff7e['fileName'],'highlightSpans':_0x1adc17}];}(_0x420b32,_0x1adc17);};}(_0x368e5a[_0x1a4e('0x32ce')]||(_0x368e5a['DocumentHighlights']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e,_0x55ff7e,_0x1adc17){void 0x0===_0x55ff7e&&(_0x55ff7e='');var _0xf79407=_0x368e5a[_0x1a4e('0x1772')](),_0x2c9ec9=_0x368e5a[_0x1a4e('0x1761')](!!_0x146f6e);function _0x420b32(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x326eae(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,!0x0,_0x2c9ec9);}function _0x1b06ad(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x326eae(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,!0x1,_0x2c9ec9);}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){var _0x313294=_0x368e5a[_0x1a4e('0x25ee')](_0xf79407,_0x2c9ec9,_0x368e5a[_0x1a4e('0x1772')]),_0xd7c129=_0x313294[_0x1a4e('0x179')](_0x2327c6),_0x51b605=0x6===_0x56674b?0x64:_0x55ff7e[_0x1a4e('0xd95')]||0x1;!_0xd7c129&&_0x1adc17&&((_0x32ff4c=_0x1adc17[_0x1a4e('0x32cf')](_0x2c9ec9,_0x2327c6))&&(_0x368e5a['Debug']['assert'](_0x326eae),_0xd7c129={'sourceFile':_0x32ff4c,'languageServiceRefCount':0x0},_0x313294['set'](_0x2327c6,_0xd7c129)));if(_0xd7c129)_0xd7c129['sourceFile'][_0x1a4e('0xb98')]!==_0x1b06ad&&(_0xd7c129[_0x1a4e('0x27e7')]=_0x368e5a[_0x1a4e('0x32d0')](_0xd7c129[_0x1a4e('0x27e7')],_0x420b32,_0x1b06ad,_0x420b32['getChangeRange'](_0xd7c129[_0x1a4e('0x27e7')][_0x1a4e('0x32d1')])),_0x1adc17&&_0x1adc17[_0x1a4e('0x32d2')](_0x2c9ec9,_0x2327c6,_0xd7c129[_0x1a4e('0x27e7')])),_0x326eae&&_0xd7c129[_0x1a4e('0x32d3')]++;else{var _0x32ff4c=_0x368e5a[_0x1a4e('0x32d4')](_0x146f6e,_0x420b32,_0x51b605,_0x1b06ad,!0x1,_0x56674b);_0x1adc17&&_0x1adc17[_0x1a4e('0x32d2')](_0x2c9ec9,_0x2327c6,_0x32ff4c),_0xd7c129={'sourceFile':_0x32ff4c,'languageServiceRefCount':0x1},_0x313294[_0x1a4e('0x17a')](_0x2327c6,_0xd7c129);}return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0!==_0xd7c129[_0x1a4e('0x32d3')]),_0xd7c129['sourceFile'];}function _0x56674b(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0xf79407['get'](_0x2327c6)),_0x1adc17=_0x55ff7e[_0x1a4e('0x179')](_0x146f6e);_0x1adc17[_0x1a4e('0x32d3')]--,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1adc17['languageServiceRefCount']>=0x0),0x0===_0x1adc17[_0x1a4e('0x32d3')]&&_0x55ff7e[_0x1a4e('0xf4c')](_0x146f6e);}return{'acquireDocument':function(_0x146f6e,_0x1adc17,_0xf79407,_0x1b06ad,_0x326eae){return _0x420b32(_0x146f6e,_0x368e5a['toPath'](_0x146f6e,_0x55ff7e,_0x2c9ec9),_0x1adc17,_0x2327c6(_0x1adc17),_0xf79407,_0x1b06ad,_0x326eae);},'acquireDocumentWithKey':_0x420b32,'updateDocument':function(_0x146f6e,_0x1adc17,_0xf79407,_0x420b32,_0x326eae){return _0x1b06ad(_0x146f6e,_0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x55ff7e,_0x2c9ec9),_0x1adc17,_0x2327c6(_0x1adc17),_0xf79407,_0x420b32,_0x326eae);},'updateDocumentWithKey':_0x1b06ad,'releaseDocument':function(_0x146f6e,_0x1adc17){return _0x56674b(_0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x55ff7e,_0x2c9ec9),_0x2327c6(_0x1adc17));},'releaseDocumentWithKey':_0x56674b,'getLanguageServiceRefCounts':function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1729')](_0xf79407[_0x1a4e('0x3c3')](),function(_0x368e5a){var _0x2327c6=_0x368e5a[0x0],_0x55ff7e=_0x368e5a[0x1][_0x1a4e('0x179')](_0x146f6e);return[_0x2327c6,_0x55ff7e&&_0x55ff7e['languageServiceRefCount']];});},'reportStats':function(){var _0x146f6e=_0x368e5a[_0x1a4e('0x1729')](_0xf79407['keys']())[_0x1a4e('0xd9')](function(_0x368e5a){return _0x368e5a&&'_'===_0x368e5a['charAt'](0x0);})[_0x1a4e('0x21')](function(_0x368e5a){var _0x146f6e=_0xf79407[_0x1a4e('0x179')](_0x368e5a),_0x2327c6=[];return _0x146f6e[_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){_0x2327c6['push']({'name':_0x146f6e,'refCount':_0x368e5a[_0x1a4e('0x32d3')]});}),_0x2327c6[_0x1a4e('0x89')](function(_0x368e5a,_0x146f6e){return _0x146f6e[_0x1a4e('0x14ac')]-_0x368e5a['refCount'];}),{'bucket':_0x368e5a,'sourceFiles':_0x2327c6};});return JSON[_0x1a4e('0xd7')](_0x146f6e,void 0x0,0x2);},'getKeyForCompilationSettings':_0x2327c6};}function _0x2327c6(_0x146f6e){return _0x368e5a['sourceFileAffectingCompilerOptions']['map'](function(_0x2327c6){return _0x368e5a['getCompilerOptionValue'](_0x146f6e,_0x2327c6);})[_0x1a4e('0x9e')]('|');}_0x368e5a[_0x1a4e('0x32d5')]=function(_0x368e5a,_0x2327c6){return _0x146f6e(_0x368e5a,_0x2327c6);},_0x368e5a['createDocumentRegistryInternal']=_0x146f6e;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x3b')](0x117===_0x146f6e['kind']?_0x146f6e[_0x1a4e('0x2366')]:_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x2366')],function(_0x146f6e){return _0x2327c6(_0x146f6e)||_0x1b06ad(_0x146f6e)&&_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x8f2')]&&_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x2366')],_0x2327c6);});}function _0x55ff7e(_0x146f6e,_0x55ff7e){if(_0x146f6e[_0x1a4e('0x2359')]||void 0x0!==_0x146f6e[_0x1a4e('0x10ca')])for(var _0x1adc17=0x0,_0xf79407=_0x146f6e['imports'];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x55ff7e(_0x368e5a[_0x1a4e('0x23c1')](_0x2c9ec9),_0x2c9ec9);}else _0x2327c6(_0x146f6e,function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xff:case 0xf9:(_0x2327c6=_0x146f6e)['moduleSpecifier']&&_0x368e5a[_0x1a4e('0x2374')](_0x2327c6[_0x1a4e('0x23c5')])&&_0x55ff7e(_0x2327c6,_0x2327c6[_0x1a4e('0x23c5')]);break;case 0xf8:var _0x2327c6;_0x326eae(_0x2327c6=_0x146f6e)&&_0x55ff7e(_0x2327c6,_0x2327c6[_0x1a4e('0x236d')][_0x1a4e('0x2302')]);}});}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x11c')];if(_0x1adc17){var _0xf79407=_0x55ff7e[_0x1a4e('0x32b9')](_0x1adc17);return _0x368e5a[_0x1a4e('0x3202')](_0xf79407)?{'exportingModuleSymbol':_0xf79407,'exportKind':_0x2327c6}:void 0x0;}}function _0xf79407(_0x368e5a,_0x146f6e){return _0x146f6e[_0x1a4e('0x32b9')](_0x2c9ec9(_0x368e5a)[_0x1a4e('0xb1b')]);}function _0x2c9ec9(_0x146f6e){if(0xbf===_0x146f6e['kind'])return _0x146f6e[_0x1a4e('0x288f')]();var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];return 0x117===_0x2327c6[_0x1a4e('0x146b')]?_0x2327c6:(_0x368e5a['Debug'][_0x1a4e('0xba0')](0xf5===_0x2327c6['kind']),_0x368e5a[_0x1a4e('0x172f')](_0x2327c6[_0x1a4e('0x11c')],_0x1b06ad));}function _0x1b06ad(_0x368e5a){return 0xf4===_0x368e5a[_0x1a4e('0x146b')]&&0xa===_0x368e5a[_0x1a4e('0x2cb')]['kind'];}function _0x326eae(_0x368e5a){return 0x103===_0x368e5a[_0x1a4e('0x236d')][_0x1a4e('0x146b')]&&0xa===_0x368e5a[_0x1a4e('0x236d')]['expression'][_0x1a4e('0x146b')];}_0x146f6e[_0x1a4e('0x32d6')]=function(_0x146f6e,_0x1adc17,_0x1b06ad,_0x56674b){var _0x51dce3=function(_0x146f6e,_0x2327c6,_0x1adc17){for(var _0xf79407=_0x368e5a['createMap'](),_0x2c9ec9=0x0,_0x420b32=_0x146f6e;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1adc17&&_0x1adc17[_0x1a4e('0x289b')](),_0x55ff7e(_0x1b06ad,function(_0x146f6e,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x3029')](_0x55ff7e);if(_0x1adc17){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2889')](_0x1adc17)[_0x1a4e('0x95')](),_0x420b32=_0xf79407['get'](_0x2c9ec9);_0x420b32||_0xf79407[_0x1a4e('0x17a')](_0x2c9ec9,_0x420b32=[]),_0x420b32[_0x1a4e('0x46')](_0x146f6e);}});}return _0xf79407;}(_0x146f6e,_0x1b06ad,_0x56674b);return function(_0x55ff7e,_0x428799,_0x17527b){var _0x55c2f0=function(_0x146f6e,_0x55ff7e,_0x1adc17,_0x420b32,_0x1b06ad,_0x326eae){var _0x56674b=_0x420b32[_0x1a4e('0x32d7')],_0x51dce3=_0x420b32[_0x1a4e('0x32d8')],_0x428799=_0x368e5a[_0x1a4e('0x3203')](),_0x17527b=_0x368e5a[_0x1a4e('0x3203')](),_0x55c2f0=[],_0x516d8e=!!_0x56674b['globalExports'],_0x15cf34=_0x516d8e?void 0x0:[];return function _0x146f6e(_0x2327c6){var _0x55ff7e=_0x15f2be(_0x2327c6);if(_0x55ff7e)for(var _0x1adc17=0x0,_0x420b32=_0x55ff7e;_0x1adc17<_0x420b32[_0x1a4e('0x1e')];_0x1adc17++){var _0x56674b=_0x420b32[_0x1adc17];if(_0x428799(_0x56674b))switch(_0x326eae&&_0x326eae[_0x1a4e('0x289b')](),_0x56674b[_0x1a4e('0x146b')]){case 0xbf:if(!_0x516d8e){var _0x17527b=_0x56674b['parent'];if(0x2===_0x51dce3&&0xed===_0x17527b[_0x1a4e('0x146b')]){var _0x15cf34=_0x17527b[_0x1a4e('0x2cb')];if(0x48===_0x15cf34['kind']){_0x55c2f0[_0x1a4e('0x46')](_0x15cf34);break;}}_0x196c19(_0x56674b[_0x1a4e('0x288f')]());}break;case 0x48:break;case 0xf8:_0x45bb8f(_0x56674b,_0x56674b[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x24c6')](_0x56674b,0x1),!0x1);break;case 0xf9:_0x55c2f0[_0x1a4e('0x46')](_0x56674b);var _0x54d15e=_0x56674b[_0x1a4e('0x23c6')]&&_0x56674b[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')];_0x54d15e&&0xfb===_0x54d15e[_0x1a4e('0x146b')]?_0x45bb8f(_0x56674b,_0x54d15e[_0x1a4e('0x2cb')],!0x1,!0x0):!_0x516d8e&&_0x368e5a[_0x1a4e('0x23c8')](_0x56674b)&&_0x196c19(_0x2c9ec9(_0x56674b));break;case 0xff:_0x56674b[_0x1a4e('0x260d')]?_0x55c2f0['push'](_0x56674b):_0x146f6e(_0xf79407(_0x56674b,_0x1b06ad));break;case 0xb7:_0x55c2f0[_0x1a4e('0x46')](_0x56674b);break;default:_0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x56674b,_0x1a4e('0x32d9')+_0x368e5a['Debug'][_0x1a4e('0x23c2')](_0x56674b));}}}(_0x56674b),{'directImports':_0x55c2f0,'indirectUsers':function(){if(_0x516d8e)return _0x146f6e;for(var _0x2327c6=0x0,_0x1adc17=_0x56674b[_0x1a4e('0x22e5')];_0x2327c6<_0x1adc17[_0x1a4e('0x1e')];_0x2327c6++){var _0xf79407=_0x1adc17[_0x2327c6];_0x368e5a[_0x1a4e('0x2344')](_0xf79407)&&_0x55ff7e[_0x1a4e('0x178')](_0xf79407[_0x1a4e('0x288f')]()['fileName'])&&_0x196c19(_0xf79407);}return _0x15cf34['map'](_0x368e5a[_0x1a4e('0x1674')]);}()};function _0x45bb8f(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){if(0x2===_0x51dce3)_0xf79407||_0x55c2f0['push'](_0x146f6e);else if(!_0x516d8e){var _0x420b32=_0x2c9ec9(_0x146f6e);_0x368e5a[_0x1a4e('0x1749')]['assert'](0x117===_0x420b32['kind']||0xf4===_0x420b32['kind']),_0x1adc17||function(_0x146f6e,_0x55ff7e,_0x1adc17){var _0xf79407=_0x1adc17[_0x1a4e('0x3029')](_0x55ff7e);return!!_0x2327c6(_0x146f6e,function(_0x146f6e){if(_0x368e5a['isExportDeclaration'](_0x146f6e)){var _0x2327c6=_0x146f6e[_0x1a4e('0x260d')],_0x55ff7e=_0x146f6e['moduleSpecifier'];return!_0x55ff7e&&_0x2327c6&&_0x2327c6['elements'][_0x1a4e('0x1c2')](function(_0x368e5a){return _0x1adc17['getExportSpecifierLocalTargetSymbol'](_0x368e5a)===_0xf79407;});}});}(_0x420b32,_0x55ff7e,_0x1b06ad)?function _0x146f6e(_0x2327c6){if(_0x196c19(_0x2327c6)){var _0x55ff7e=_0x1b06ad[_0x1a4e('0x32b9')](_0x2327c6['symbol']);_0x368e5a['Debug'][_0x1a4e('0xba0')](!!(0x600&_0x55ff7e[_0x1a4e('0x7b2')]));var _0x1adc17=_0x15f2be(_0x55ff7e);if(_0x1adc17)for(var _0xf79407=0x0,_0x420b32=_0x1adc17;_0xf79407<_0x420b32[_0x1a4e('0x1e')];_0xf79407++){var _0x326eae=_0x420b32[_0xf79407];_0x146f6e(_0x2c9ec9(_0x326eae));}}}(_0x420b32):_0x196c19(_0x420b32);}}function _0x196c19(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')]['assert'](!_0x516d8e);var _0x2327c6=_0x17527b(_0x146f6e);return _0x2327c6&&_0x15cf34[_0x1a4e('0x46')](_0x146f6e),_0x2327c6;}function _0x15f2be(_0x146f6e){return _0x1adc17['get'](_0x368e5a[_0x1a4e('0x2889')](_0x146f6e)[_0x1a4e('0x95')]());}}(_0x146f6e,_0x1adc17,_0x51dce3,_0x428799,_0x1b06ad,_0x56674b),_0x516d8e=_0x55c2f0['directImports'],_0x15cf34=_0x55c2f0[_0x1a4e('0x32da')];return _0x420b32({'indirectUsers':_0x15cf34},function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=[],_0x420b32=[];function _0x1b06ad(_0x368e5a,_0x146f6e){_0x2c9ec9[_0x1a4e('0x46')]([_0x368e5a,_0x146f6e]);}if(_0x146f6e)for(var _0x56674b=0x0,_0x51dce3=_0x146f6e;_0x56674b<_0x51dce3[_0x1a4e('0x1e')];_0x56674b++){var _0x428799=_0x51dce3[_0x56674b];_0x17527b(_0x428799);}return{'importSearches':_0x2c9ec9,'singleReferences':_0x420b32};function _0x17527b(_0x146f6e){if(0xf8!==_0x146f6e[_0x1a4e('0x146b')])if(0x48!==_0x146f6e[_0x1a4e('0x146b')])if(0xb7!==_0x146f6e[_0x1a4e('0x146b')]){if(0xa===_0x146f6e['moduleSpecifier'][_0x1a4e('0x146b')])if(0xff!==_0x146f6e[_0x1a4e('0x146b')]){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x23c6')]||{'name':void 0x0,'namedBindings':void 0x0},_0x56674b=_0x2c9ec9[_0x1a4e('0x2cb')],_0x51dce3=_0x2c9ec9[_0x1a4e('0x23c7')];if(_0x51dce3)switch(_0x51dce3[_0x1a4e('0x146b')]){case 0xfb:_0x55c2f0(_0x51dce3[_0x1a4e('0x2cb')]);break;case 0xfc:0x0!==_0x55ff7e&&0x1!==_0x55ff7e||_0x516d8e(_0x51dce3);break;default:_0x368e5a['Debug'][_0x1a4e('0x1746')](_0x51dce3);}if(_0x56674b&&(0x1===_0x55ff7e||0x2===_0x55ff7e)&&(!_0xf79407||_0x56674b[_0x1a4e('0x22f3')]===_0x368e5a[_0x1a4e('0x3214')](_0x2327c6))){var _0x428799=_0x1adc17[_0x1a4e('0x3029')](_0x56674b);_0x1b06ad(_0x56674b,_0x428799);}}else _0x516d8e(_0x146f6e[_0x1a4e('0x260d')]);}else _0x146f6e[_0x1a4e('0x2600')]?_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2600')])&&_0x146f6e['qualifier']['escapedText']===_0x368e5a[_0x1a4e('0x24d2')](_0x2327c6)&&_0x420b32[_0x1a4e('0x46')](_0x146f6e[_0x1a4e('0x2600')]):0x2===_0x55ff7e&&_0x420b32[_0x1a4e('0x46')](_0x146f6e[_0x1a4e('0x2300')][_0x1a4e('0x2301')]);else _0x55c2f0(_0x146f6e);else _0x326eae(_0x146f6e)&&_0x55c2f0(_0x146f6e[_0x1a4e('0x2cb')]);}function _0x55c2f0(_0x368e5a){0x2!==_0x55ff7e||_0xf79407&&!_0x15cf34(_0x368e5a[_0x1a4e('0x22f3')])||_0x1b06ad(_0x368e5a,_0x1adc17[_0x1a4e('0x3029')](_0x368e5a));}function _0x516d8e(_0x368e5a){if(_0x368e5a)for(var _0x146f6e=0x0,_0x55ff7e=_0x368e5a['elements'];_0x146f6e<_0x55ff7e[_0x1a4e('0x1e')];_0x146f6e++){var _0x2c9ec9=_0x55ff7e[_0x146f6e],_0x326eae=_0x2c9ec9[_0x1a4e('0x2cb')],_0x56674b=_0x2c9ec9[_0x1a4e('0x81a')];if(_0x15cf34((_0x56674b||_0x326eae)[_0x1a4e('0x22f3')]))if(_0x56674b)_0x420b32[_0x1a4e('0x46')](_0x56674b),_0xf79407&&_0x326eae['escapedText']!==_0x2327c6['escapedName']||_0x1b06ad(_0x326eae,_0x1adc17[_0x1a4e('0x3029')](_0x326eae));else{var _0x51dce3=0x101===_0x2c9ec9[_0x1a4e('0x146b')]&&_0x2c9ec9[_0x1a4e('0x81a')]?_0x1adc17[_0x1a4e('0x32db')](_0x2c9ec9):_0x1adc17[_0x1a4e('0x3029')](_0x326eae);_0x1b06ad(_0x326eae,_0x51dce3);}}}function _0x15cf34(_0x368e5a){return _0x368e5a===_0x2327c6[_0x1a4e('0x22e8')]||0x0!==_0x55ff7e&&'default'===_0x368e5a;}}(_0x516d8e,_0x55ff7e,_0x428799[_0x1a4e('0x32d8')],_0x1b06ad,_0x17527b));};},function(_0x368e5a){_0x368e5a[_0x368e5a['Named']=0x0]=_0x1a4e('0x32dc'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ed')]=0x1]='Default',_0x368e5a[_0x368e5a[_0x1a4e('0x19b3')]=0x2]='ExportEquals';}(_0x146f6e[_0x1a4e('0x32dd')]||(_0x146f6e['ExportKind']={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Import']=0x0]='Import',_0x368e5a[_0x368e5a[_0x1a4e('0x18e5')]=0x1]=_0x1a4e('0x18e5');}(_0x146f6e[_0x1a4e('0x32de')]||(_0x146f6e[_0x1a4e('0x32de')]={})),_0x146f6e[_0x1a4e('0x32df')]=function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x1adc17=[],_0xf79407=_0x368e5a[_0x1a4e('0x302b')](),_0x2c9ec9=0x0,_0x420b32=_0x146f6e;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9],_0x326eae=_0x2327c6[_0x1a4e('0x2340')];if(0x117===_0x326eae[_0x1a4e('0x146b')]){for(var _0x56674b=0x0,_0x32e9ef=_0x1b06ad['referencedFiles'];_0x56674b<_0x32e9ef[_0x1a4e('0x1e')];_0x56674b++){var _0x5bd667=_0x32e9ef[_0x56674b];_0x368e5a[_0x1a4e('0x32e0')](_0x1b06ad,_0x5bd667)===_0x326eae&&_0x1adc17['push']({'kind':_0x1a4e('0x3150'),'referencingFile':_0x1b06ad,'ref':_0x5bd667});}for(var _0x34b80c=0x0,_0x15db3b=_0x1b06ad[_0x1a4e('0x2618')];_0x34b80c<_0x15db3b[_0x1a4e('0x1e')];_0x34b80c++){_0x5bd667=_0x15db3b[_0x34b80c];var _0x514a44=_0x368e5a[_0x1a4e('0x288e')]()['get'](_0x5bd667['fileName']);void 0x0!==_0x514a44&&_0x514a44[_0x1a4e('0x231a')]===_0x326eae[_0x1a4e('0x1b39')]&&_0x1adc17[_0x1a4e('0x46')]({'kind':_0x1a4e('0x3150'),'referencingFile':_0x1b06ad,'ref':_0x5bd667});}}_0x55ff7e(_0x1b06ad,function(_0x368e5a,_0x146f6e){_0xf79407[_0x1a4e('0x3029')](_0x146f6e)===_0x2327c6&&_0x1adc17['push']({'kind':'import','literal':_0x146f6e});});}return _0x1adc17;},_0x146f6e[_0x1a4e('0x32e1')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){return _0xf79407?_0x2c9ec9():_0x2c9ec9()||function(){if(function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xf8:return _0x2327c6[_0x1a4e('0x2cb')]===_0x146f6e&&_0x326eae(_0x2327c6);case 0xfd:return!_0x2327c6[_0x1a4e('0x81a')];case 0xfa:case 0xfb:return _0x368e5a[_0x1a4e('0x1749')]['assert'](_0x2327c6[_0x1a4e('0x2cb')]===_0x146f6e),!0x0;default:return!0x1;}}(_0x146f6e)){var _0x1adc17=_0x55ff7e[_0x1a4e('0x32e2')](_0x2327c6);if(_0x1adc17){'export='===(_0x1adc17=function(_0x146f6e,_0x2327c6){if(_0x146f6e[_0x1a4e('0x22e5')])for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e['declarations'];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0x368e5a[_0x1a4e('0x2543')](_0xf79407)&&!_0xf79407[_0x1a4e('0x81a')]&&!_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x23c5')])return _0x2327c6[_0x1a4e('0x32db')](_0xf79407);}return _0x146f6e;}(_0x1adc17,_0x55ff7e))['escapedName']&&(_0x1adc17=function(_0x146f6e,_0x2327c6){if(0x200000&_0x146f6e[_0x1a4e('0x7b2')])return _0x368e5a['Debug'][_0x1a4e('0x1744')](_0x2327c6[_0x1a4e('0x32e2')](_0x146f6e));var _0x55ff7e=_0x146f6e[_0x1a4e('0x2340')];return _0x368e5a[_0x1a4e('0x237b')](_0x55ff7e)?_0x368e5a['Debug']['assertDefined'](_0x55ff7e['expression'][_0x1a4e('0xb1b')]):_0x368e5a['isBinaryExpression'](_0x55ff7e)?_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0x55ff7e['right'][_0x1a4e('0xb1b')]):_0x368e5a[_0x1a4e('0x22f0')](_0x55ff7e)?_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0x55ff7e['symbol']):_0x368e5a['Debug'][_0x1a4e('0x1709')]();}(_0x1adc17,_0x55ff7e));var _0xf79407=_0x368e5a['symbolEscapedNameNoDefault'](_0x1adc17);return void 0x0===_0xf79407||_0x1a4e('0x8')===_0xf79407||_0xf79407===_0x2327c6['escapedName']?{'kind':0x0,'symbol':_0x1adc17}:void 0x0;}}}();function _0x2c9ec9(){var _0x1adc17=_0x146f6e[_0x1a4e('0x11c')],_0x2c9ec9=_0x1adc17[_0x1a4e('0x11c')];if(_0x2327c6[_0x1a4e('0x248f')])return 0xbd===_0x1adc17[_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a===_0x1adc17;})&&_0x368e5a[_0x1a4e('0x236e')](_0x2c9ec9)?_0x25e5b9(_0x2c9ec9,!0x1):void 0x0:_0x420b32(_0x2327c6[_0x1a4e('0x248f')],_0x1b06ad(_0x1adc17));var _0x326eae=function(_0x368e5a,_0x146f6e){if(0xed===_0x368e5a[_0x1a4e('0x146b')]){var _0x2327c6=_0x368e5a;return _0x2327c6[_0x1a4e('0x2cb')]!==_0x146f6e?void 0x0:0x112===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?void 0x0:0xdb===_0x2327c6['parent'][_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:void 0x0;}return _0x368e5a;}(_0x1adc17,_0x146f6e);if(_0x326eae&&_0x368e5a[_0x1a4e('0x24c6')](_0x326eae,0x1)){if(_0x368e5a[_0x1a4e('0x2bd3')](_0x326eae)&&_0x326eae['moduleReference']===_0x146f6e){if(_0xf79407)return;return{'kind':0x0,'symbol':_0x55ff7e['getSymbolAtLocation'](_0x326eae[_0x1a4e('0x2cb')])};}return _0x420b32(_0x2327c6,_0x1b06ad(_0x326eae));}if(_0x368e5a[_0x1a4e('0x237b')](_0x1adc17))return _0x56674b(_0x1adc17);if(_0x368e5a[_0x1a4e('0x237b')](_0x2c9ec9))return _0x56674b(_0x2c9ec9);if(_0x368e5a[_0x1a4e('0x236e')](_0x1adc17))return _0x25e5b9(_0x1adc17,!0x0);if(_0x368e5a[_0x1a4e('0x236e')](_0x2c9ec9))return _0x25e5b9(_0x2c9ec9,!0x0);if(_0x368e5a[_0x1a4e('0x2539')](_0x1adc17))return _0x420b32(_0x2327c6,0x0);function _0x56674b(_0x146f6e){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x11c')],_0x1a4e('0x32e3')),_0x1adc17=_0x146f6e['isExportEquals']?0x2:0x1;return{'kind':0x1,'symbol':_0x2327c6,'exportInfo':{'exportingModuleSymbol':_0x55ff7e,'exportKind':_0x1adc17}};}function _0x25e5b9(_0x146f6e,_0x1adc17){var _0xf79407;switch(_0x368e5a['getAssignmentDeclarationKind'](_0x146f6e)){case 0x1:_0xf79407=0x0;break;case 0x2:_0xf79407=0x2;break;default:return;}var _0x2c9ec9=_0x1adc17?_0x55ff7e['getSymbolAtLocation'](_0x368e5a['cast'](_0x146f6e['left'],_0x368e5a[_0x1a4e('0x2371')])[_0x1a4e('0x2cb')]):_0x2327c6;return!_0x2c9ec9||0x600&_0x55ff7e[_0x1a4e('0x32b9')](_0x2c9ec9[_0x1a4e('0x11c')])['flags']||_0x368e5a['Debug'][_0x1a4e('0x1709')](_0x1a4e('0x32e4')+_0x368e5a['Debug'][_0x1a4e('0x25db')](_0x2c9ec9)+_0x1a4e('0x32e5')+_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x25db')](_0x2c9ec9[_0x1a4e('0x11c')])),_0x2c9ec9&&_0x420b32(_0x2c9ec9,_0xf79407);}}function _0x420b32(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1adc17(_0x368e5a,_0x146f6e,_0x55ff7e);return _0x2327c6&&{'kind':0x1,'symbol':_0x368e5a,'exportInfo':_0x2327c6};}function _0x1b06ad(_0x146f6e){return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x200)?0x1:0x0;}},_0x146f6e[_0x1a4e('0x32e6')]=_0x1adc17;}(_0x368e5a[_0x1a4e('0x32c9')]||(_0x368e5a[_0x1a4e('0x32c9')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x368e5a,_0x146f6e){return void 0x0===_0x146f6e&&(_0x146f6e=0x1),{'kind':_0x146f6e,'node':_0x368e5a[_0x1a4e('0x2cb')]||_0x368e5a};}function _0x55ff7e(_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){return void 0x0===_0x1b06ad&&(_0x1b06ad={}),void 0x0===_0x326eae&&(_0x326eae=_0x368e5a[_0x1a4e('0x230b')](_0x2c9ec9,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x1b39')];})),_0x1adc17(_0x146f6e['Core'][_0x1a4e('0x32e7')](_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae));}function _0x1adc17(_0x146f6e){return _0x146f6e&&_0x368e5a[_0x1a4e('0x104e')](_0x146f6e,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2702')];});}function _0xf79407(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e[_0x1a4e('0x32e8')][_0x1a4e('0x32e9')](_0x1adc17,_0x2327c6),_0x2c9ec9=_0x2327c6[_0x1a4e('0x22e5')]&&_0x368e5a[_0x1a4e('0x1721')](_0x2327c6[_0x1a4e('0x22e5')])||_0x1adc17,_0x420b32=_0x368e5a[_0x1a4e('0x328b')]['getSymbolDisplayPartsDocumentationAndSymbolKind'](_0x55ff7e,_0x2327c6,_0x2c9ec9[_0x1a4e('0x288f')](),_0x2c9ec9,_0x2c9ec9,_0xf79407);return{'displayParts':_0x420b32[_0x1a4e('0x3227')],'kind':_0x420b32[_0x1a4e('0x329a')]};}function _0x2c9ec9(_0x146f6e){var _0x2327c6=_0x1b06ad(_0x146f6e),_0x55ff7e=_0x2327c6['textSpan'],_0x1adc17=_0x2327c6[_0x1a4e('0x1b39')];if(0x0===_0x146f6e[_0x1a4e('0x146b')])return{'textSpan':_0x55ff7e,'fileName':_0x1adc17,'isWriteAccess':!0x1,'isDefinition':!0x1};var _0xf79407=_0x146f6e['kind'],_0x2c9ec9=_0x146f6e[_0x1a4e('0x80')];return{'textSpan':_0x55ff7e,'fileName':_0x1adc17,'isWriteAccess':_0x56674b(_0x2c9ec9),'isDefinition':0x50===_0x2c9ec9['kind']||!!_0x368e5a['getDeclarationFromName'](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x23ea')](_0x2c9ec9),'isInString':0x2===_0xf79407||void 0x0};}function _0x1b06ad(_0x368e5a){if(0x0===_0x368e5a[_0x1a4e('0x146b')])return{'textSpan':_0x368e5a['textSpan'],'fileName':_0x368e5a[_0x1a4e('0x1b39')]};var _0x146f6e=_0x368e5a['node'][_0x1a4e('0x288f')]();return{'textSpan':_0x326eae(_0x368e5a['node'],_0x146f6e),'fileName':_0x146f6e['fileName']};}function _0x326eae(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x31d6')](_0x2327c6),_0x1adc17=_0x146f6e[_0x1a4e('0x31d7')]();return 0xa===_0x146f6e[_0x1a4e('0x146b')]&&(_0x55ff7e+=0x1,_0x1adc17-=0x1),_0x368e5a[_0x1a4e('0x22fa')](_0x55ff7e,_0x1adc17);}function _0x56674b(_0x146f6e){var _0x2327c6=_0x368e5a['getDeclarationFromName'](_0x146f6e);return!!_0x2327c6&&function(_0x146f6e){if(0x400000&_0x146f6e[_0x1a4e('0x7b2')])return!0x0;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xcc:case 0xba:case 0xf0:case 0xd1:case 0x50:case 0xf3:case 0x116:case 0x101:case 0xfa:case 0xf8:case 0xfd:case 0xf1:case 0x129:case 0x130:case 0x10b:case 0xf4:case 0xf7:case 0xfb:case 0x97:case 0x114:case 0xf2:case 0x96:return!0x0;case 0x113:return!_0x368e5a[_0x1a4e('0x32ea')](_0x146f6e[_0x1a4e('0x11c')]);case 0xef:case 0xc4:case 0x9d:case 0x9c:case 0x9e:case 0x9f:return!!_0x146f6e['body'];case 0xed:case 0x9a:return!!_0x146f6e[_0x1a4e('0x236a')]||_0x368e5a['isCatchClause'](_0x146f6e['parent']);case 0x9b:case 0x99:case 0x131:case 0x12b:return!0x1;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2df8')](_0x146f6e);}}(_0x2327c6)||0x50===_0x146f6e['kind']||_0x368e5a[_0x1a4e('0x2491')](_0x146f6e);}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0xf5b')]=0x0]=_0x1a4e('0xf5b'),_0x368e5a[_0x368e5a[_0x1a4e('0x191a')]=0x1]='Label',_0x368e5a[_0x368e5a[_0x1a4e('0x3175')]=0x2]=_0x1a4e('0x3175'),_0x368e5a[_0x368e5a[_0x1a4e('0x1954')]=0x3]=_0x1a4e('0x1954'),_0x368e5a[_0x368e5a['String']=0x4]='String';}(_0x146f6e[_0x1a4e('0x32eb')]||(_0x146f6e[_0x1a4e('0x32eb')]={})),function(_0x368e5a){_0x368e5a[_0x368e5a['Span']=0x0]=_0x1a4e('0x32ec'),_0x368e5a[_0x368e5a[_0x1a4e('0x882')]=0x1]=_0x1a4e('0x882'),_0x368e5a[_0x368e5a[_0x1a4e('0x178e')]=0x2]=_0x1a4e('0x178e'),_0x368e5a[_0x368e5a[_0x1a4e('0x32ed')]=0x3]=_0x1a4e('0x32ed'),_0x368e5a[_0x368e5a[_0x1a4e('0x32ee')]=0x4]=_0x1a4e('0x32ee');}(_0x146f6e['EntryKind']||(_0x146f6e['EntryKind']={})),_0x146f6e[_0x1a4e('0x32ef')]=_0x2327c6,_0x146f6e[_0x1a4e('0x32f0')]=function(_0x2327c6,_0x55ff7e,_0x1adc17,_0x420b32,_0x1b06ad){var _0x56674b=_0x368e5a[_0x1a4e('0x32f1')](_0x420b32,_0x1b06ad),_0x96395d=_0x146f6e[_0x1a4e('0x32e8')][_0x1a4e('0x32e7')](_0x1b06ad,_0x56674b,_0x2327c6,_0x1adc17,_0x55ff7e),_0x31089a=_0x2327c6['getTypeChecker']();return _0x96395d&&_0x96395d[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x1713')](_0x96395d,function(_0x146f6e){var _0x2327c6=_0x146f6e['definition'],_0x1adc17=_0x146f6e[_0x1a4e('0x2702')];return _0x2327c6&&{'definition':_0x31089a[_0x1a4e('0x3297')](_0x55ff7e,function(_0x146f6e){return function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=function(){switch(_0x146f6e['type']){case 0x0:var _0x1adc17=_0x146f6e['symbol'],_0x2c9ec9=_0xf79407(_0x1adc17,_0x2327c6,_0x55ff7e),_0x420b32=_0x2c9ec9[_0x1a4e('0x3227')],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x146b')],_0x326eae=_0x420b32[_0x1a4e('0x21')](function(_0x368e5a){return _0x368e5a['text'];})[_0x1a4e('0x9e')]('');return{'node':_0x1adc17[_0x1a4e('0x22e5')]?_0x368e5a['getNameOfDeclaration'](_0x368e5a[_0x1a4e('0x10f7')](_0x1adc17[_0x1a4e('0x22e5')]))||_0x368e5a['first'](_0x1adc17[_0x1a4e('0x22e5')]):_0x55ff7e,'name':_0x326eae,'kind':_0x1b06ad,'displayParts':_0x420b32};case 0x1:var _0x56674b=_0x146f6e[_0x1a4e('0x80')];return{'node':_0x56674b,'name':_0x56674b[_0x1a4e('0xe04')],'kind':_0x1a4e('0x1bc'),'displayParts':[_0x368e5a['displayPart'](_0x56674b[_0x1a4e('0xe04')],_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0xe04')])]};case 0x2:var _0x96395d=_0x146f6e[_0x1a4e('0x80')],_0x31089a=_0x368e5a[_0x1a4e('0x22ba')](_0x96395d['kind']);return{'node':_0x96395d,'name':_0x31089a,'kind':_0x1a4e('0x315c'),'displayParts':[{'text':_0x31089a,'kind':_0x1a4e('0x315c')}]};case 0x3:var _0x4f718d=_0x146f6e[_0x1a4e('0x80')],_0x1adc17=_0x2327c6[_0x1a4e('0x3029')](_0x4f718d),_0x123fed=_0x1adc17&&_0x368e5a[_0x1a4e('0x328b')]['getSymbolDisplayPartsDocumentationAndSymbolKind'](_0x2327c6,_0x1adc17,_0x4f718d['getSourceFile'](),_0x368e5a[_0x1a4e('0x31d1')](_0x4f718d),_0x4f718d)[_0x1a4e('0x3227')]||[_0x368e5a['textPart'](_0x1a4e('0x19b5'))];return{'node':_0x4f718d,'name':_0x1a4e('0x19b5'),'kind':'var','displayParts':_0x123fed};case 0x4:var _0x4abc25=_0x146f6e[_0x1a4e('0x80')];return{'node':_0x4abc25,'name':_0x4abc25[_0x1a4e('0xe04')],'kind':'var','displayParts':[_0x368e5a[_0x1a4e('0x3296')](_0x368e5a[_0x1a4e('0x1675')](_0x4abc25),_0x368e5a['SymbolDisplayPartKind'][_0x1a4e('0x315f')])]};default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}(),_0x2c9ec9=_0x1adc17[_0x1a4e('0x80')],_0x420b32=_0x1adc17['name'],_0x1b06ad=_0x1adc17[_0x1a4e('0x146b')],_0x56674b=_0x1adc17[_0x1a4e('0x3227')],_0x96395d=_0x2c9ec9['getSourceFile']();return{'containerKind':'','containerName':'','fileName':_0x96395d[_0x1a4e('0x1b39')],'kind':_0x1b06ad,'name':_0x420b32,'textSpan':_0x326eae(_0x368e5a[_0x1a4e('0x23e8')](_0x2c9ec9)?_0x2c9ec9[_0x1a4e('0x2302')]:_0x2c9ec9,_0x96395d),'displayParts':_0x56674b};}(_0x2327c6,_0x146f6e,_0x56674b);}),'references':_0x1adc17[_0x1a4e('0x21')](_0x2c9ec9)};}):void 0x0;},_0x146f6e[_0x1a4e('0x32f2')]=function(_0x1adc17,_0x2c9ec9,_0x1b06ad,_0x56674b,_0x498f17){var _0x38931f=function(_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){if(0x117!==_0x420b32['kind']){var _0x326eae=_0x1adc17[_0x1a4e('0x302b')]();if(0x114===_0x420b32['parent'][_0x1a4e('0x146b')]){var _0x56674b=[];return _0x146f6e['Core'][_0x1a4e('0x32f3')](_0x420b32,_0x326eae,function(_0x368e5a){return _0x56674b['push'](_0x2327c6(_0x368e5a));}),_0x56674b;}if(0x62===_0x420b32[_0x1a4e('0x146b')]||_0x368e5a['isSuperProperty'](_0x420b32[_0x1a4e('0x11c')])){var _0x498f17=_0x326eae[_0x1a4e('0x3029')](_0x420b32);return _0x498f17[_0x1a4e('0x2340')]&&[_0x2327c6(_0x498f17[_0x1a4e('0x2340')])];}return _0x55ff7e(_0x1b06ad,_0x420b32,_0x1adc17,_0x2c9ec9,_0xf79407,{'implementations':!0x0});}}(_0x1adc17,_0x2c9ec9,_0x1b06ad,_0x368e5a[_0x1a4e('0x32f1')](_0x56674b,_0x498f17),_0x498f17),_0x2d7d49=_0x1adc17[_0x1a4e('0x302b')]();return _0x368e5a[_0x1a4e('0x21')](_0x38931f,function(_0x146f6e){return function(_0x146f6e,_0x2327c6){if(0x0!==_0x146f6e[_0x1a4e('0x146b')]){var _0x55ff7e=_0x146f6e[_0x1a4e('0x80')],_0x1adc17=_0x55ff7e[_0x1a4e('0x288f')]();return _0x420b32({'textSpan':_0x326eae(_0x55ff7e,_0x1adc17),'fileName':_0x1adc17['fileName']},function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x3029')](_0x368e5a['isDeclaration'](_0x146f6e)&&_0x146f6e[_0x1a4e('0x2cb')]?_0x146f6e[_0x1a4e('0x2cb')]:_0x146f6e);return _0x55ff7e?_0xf79407(_0x55ff7e,_0x2327c6,_0x146f6e):0xbc===_0x146f6e[_0x1a4e('0x146b')]?{'kind':_0x1a4e('0x22a2'),'displayParts':[_0x368e5a[_0x1a4e('0x3224')](0x14),_0x368e5a[_0x1a4e('0x3226')]('object\x20literal'),_0x368e5a[_0x1a4e('0x3224')](0x15)]}:0xd1===_0x146f6e[_0x1a4e('0x146b')]?{'kind':_0x1a4e('0x317d'),'displayParts':[_0x368e5a[_0x1a4e('0x3224')](0x14),_0x368e5a['textPart'](_0x1a4e('0x32f4')),_0x368e5a[_0x1a4e('0x3224')](0x15)]}:{'kind':_0x368e5a['getNodeKind'](_0x146f6e),'displayParts':[]};}(_0x55ff7e,_0x2327c6));}var _0x2c9ec9=_0x146f6e['textSpan'],_0x1b06ad=_0x146f6e[_0x1a4e('0x1b39')];return{'textSpan':_0x2c9ec9,'fileName':_0x1b06ad,'kind':'','displayParts':[]};}(_0x146f6e,_0x2d7d49);});},_0x146f6e[_0x1a4e('0x32f5')]=function(_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){return _0x368e5a['map'](_0x1adc17(_0x146f6e['Core']['getReferencedSymbolsForNode'](_0x420b32,_0x2c9ec9,_0x2327c6,_0xf79407,_0x55ff7e,_0x1b06ad)),function(_0x368e5a){return _0x326eae(_0x368e5a,_0x2c9ec9,_0x2327c6[_0x1a4e('0x302b')]());});},_0x146f6e[_0x1a4e('0x32ca')]=_0x55ff7e,_0x146f6e['toRenameLocation']=function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x420b32({},_0x1b06ad(_0x146f6e),function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x0!==_0x146f6e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)){var _0x1adc17=_0x146f6e[_0x1a4e('0x80')],_0xf79407=_0x146f6e['kind'],_0x2c9ec9=_0x2327c6['text'],_0x420b32=_0x368e5a[_0x1a4e('0x29a4')](_0x1adc17[_0x1a4e('0x11c')]);if(_0x420b32||_0x368e5a['isObjectBindingElementWithoutPropertyName'](_0x1adc17[_0x1a4e('0x11c')])){var _0x1b06ad={'prefixText':_0x2c9ec9+':\x20'},_0x326eae={'suffixText':':\x20'+_0x2c9ec9};return 0x3===_0xf79407?_0x1b06ad:0x4===_0xf79407?_0x326eae:_0x420b32?_0x326eae:_0x1b06ad;}if(_0x368e5a[_0x1a4e('0x2522')](_0x146f6e[_0x1a4e('0x80')][_0x1a4e('0x11c')])&&!_0x146f6e[_0x1a4e('0x80')][_0x1a4e('0x11c')][_0x1a4e('0x81a')]){var _0x56674b=_0x368e5a[_0x1a4e('0x2543')](_0x2327c6['parent'])?_0x55ff7e[_0x1a4e('0x32db')](_0x2327c6['parent']):_0x55ff7e[_0x1a4e('0x3029')](_0x2327c6);return _0x368e5a[_0x1a4e('0x2ac')](_0x56674b[_0x1a4e('0x22e5')],_0x146f6e[_0x1a4e('0x80')][_0x1a4e('0x11c')])?{'prefixText':_0x2c9ec9+_0x1a4e('0x32f6')}:_0x368e5a['emptyOptions'];}if(_0x368e5a[_0x1a4e('0x2543')](_0x146f6e[_0x1a4e('0x80')][_0x1a4e('0x11c')])&&!_0x146f6e[_0x1a4e('0x80')][_0x1a4e('0x11c')][_0x1a4e('0x81a')])return _0x2327c6===_0x146f6e[_0x1a4e('0x80')]?{'prefixText':_0x2c9ec9+_0x1a4e('0x32f6')}:{'suffixText':_0x1a4e('0x32f6')+_0x2c9ec9};}return _0x368e5a['emptyOptions'];}(_0x146f6e,_0x2327c6,_0x55ff7e));},_0x146f6e['toReferenceEntry']=_0x2c9ec9,_0x146f6e[_0x1a4e('0x32cb')]=function(_0x368e5a){if(0x0===_0x368e5a['kind'])return{'fileName':_0x368e5a[_0x1a4e('0x1b39')],'span':{'textSpan':_0x368e5a['textSpan'],'kind':_0x1a4e('0x3150')}};var _0x146f6e=_0x368e5a['node'],_0x2327c6=_0x368e5a[_0x1a4e('0x146b')],_0x55ff7e=_0x146f6e['getSourceFile'](),_0x1adc17=_0x56674b(_0x146f6e),_0xf79407={'textSpan':_0x326eae(_0x146f6e,_0x55ff7e),'kind':_0x1adc17?_0x1a4e('0x3151'):_0x1a4e('0x3150'),'isInString':0x2===_0x2327c6||void 0x0};return{'fileName':_0x55ff7e['fileName'],'span':_0xf79407};};}(_0x368e5a[_0x1a4e('0x32c9')]||(_0x368e5a[_0x1a4e('0x32c9')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){!function(_0x2327c6){function _0x55ff7e(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){_0x368e5a[_0x1a4e('0x1749')]['assert'](!!_0x55ff7e[_0x1a4e('0x2340')]);for(var _0x420b32=_0x368e5a[_0x1a4e('0x1713')](_0x146f6e[_0x1a4e('0x32df')](_0x2327c6,_0xf79407,_0x55ff7e),function(_0x2327c6){if(_0x1a4e('0x22a0')===_0x2327c6['kind']){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2301')][_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x22ff')](_0x55ff7e)){var _0xf79407=_0x368e5a[_0x1a4e('0x172f')](_0x55ff7e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x22fe')]);if(_0x1adc17&&!_0xf79407[_0x1a4e('0x2600')])return;}return _0x146f6e['nodeEntry'](_0x2327c6['literal']);}return{'kind':0x0,'fileName':_0x2327c6[_0x1a4e('0x32f7')][_0x1a4e('0x1b39')],'textSpan':_0x368e5a[_0x1a4e('0x31ff')](_0x2327c6[_0x1a4e('0x1652')])};}),_0x1b06ad=0x0,_0x326eae=_0x55ff7e[_0x1a4e('0x22e5')];_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){switch((_0x3eaee0=_0x326eae[_0x1b06ad])[_0x1a4e('0x146b')]){case 0x117:break;case 0xf4:_0x2c9ec9[_0x1a4e('0x178')](_0x3eaee0[_0x1a4e('0x288f')]()[_0x1a4e('0x1b39')])&&_0x420b32[_0x1a4e('0x46')](_0x146f6e[_0x1a4e('0x32ef')](_0x3eaee0['name']));break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]('Expected\x20a\x20module\x20symbol\x20to\x20be\x20declared\x20by\x20a\x20SourceFile\x20or\x20ModuleDeclaration.');}}var _0x56674b=_0x55ff7e[_0x1a4e('0x0')][_0x1a4e('0x179')](_0x1a4e('0x19b4'));if(_0x56674b)for(var _0x251386=0x0,_0x4a5882=_0x56674b[_0x1a4e('0x22e5')];_0x251386<_0x4a5882['length'];_0x251386++){var _0x3eaee0,_0x440c7d=(_0x3eaee0=_0x4a5882[_0x251386])[_0x1a4e('0x288f')]();if(_0x2c9ec9['has'](_0x440c7d[_0x1a4e('0x1b39')])){var _0x181f03=_0x368e5a[_0x1a4e('0x236e')](_0x3eaee0)&&_0x368e5a[_0x1a4e('0x2371')](_0x3eaee0['left'])?_0x3eaee0[_0x1a4e('0x5f')]['expression']:_0x368e5a[_0x1a4e('0x237b')](_0x3eaee0)?_0x368e5a['Debug'][_0x1a4e('0x1744')](_0x368e5a[_0x1a4e('0x327f')](_0x3eaee0,0x55,_0x440c7d)):_0x368e5a[_0x1a4e('0x23e9')](_0x3eaee0)||_0x3eaee0;_0x420b32['push'](_0x146f6e['nodeEntry'](_0x181f03));}}return _0x420b32['length']?[{'definition':{'type':0x0,'symbol':_0x55ff7e},'references':_0x420b32}]:_0x368e5a['emptyArray'];}var _0x1adc17;_0x2327c6[_0x1a4e('0x32e7')]=function(_0x2327c6,_0x1adc17,_0x420b32,_0x1b06ad,_0x56674b,_0x5f336c,_0x142b4c){if(void 0x0===_0x5f336c&&(_0x5f336c={}),void 0x0===_0x142b4c&&(_0x142b4c=_0x368e5a[_0x1a4e('0x230b')](_0x1b06ad,function(_0x368e5a){return _0x368e5a['fileName'];})),_0x368e5a[_0x1a4e('0x22f0')](_0x1adc17)){var _0x2fbec6=_0x368e5a[_0x1a4e('0x32f8')][_0x1a4e('0x32f9')](_0x1adc17,_0x2327c6,_0x420b32),_0x3efa0e=_0x2fbec6&&_0x420b32[_0x1a4e('0x302b')]()['getMergedSymbol'](_0x2fbec6['file'][_0x1a4e('0xb1b')]);return _0x3efa0e&&_0x55ff7e(_0x420b32,_0x3efa0e,!0x1,_0x1b06ad,_0x142b4c);}if(!_0x5f336c['implementations']){var _0x4c3974=function(_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x368e5a['isTypeKeyword'](_0x2327c6['kind']))return function(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x104e')](_0x2327c6,function(_0x2327c6){return _0x1adc17[_0x1a4e('0x289b')](),_0x368e5a[_0x1a4e('0x1713')](_0x27822e(_0x2327c6,_0x368e5a[_0x1a4e('0x22ba')](_0x55ff7e),_0x2327c6),function(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]===_0x55ff7e?_0x146f6e['nodeEntry'](_0x368e5a):void 0x0;});});return _0xf79407[_0x1a4e('0x1e')]?[{'definition':{'type':0x2,'node':_0xf79407[0x0]['node']},'references':_0xf79407}]:void 0x0;}(_0x55ff7e,_0x2327c6[_0x1a4e('0x146b')],_0x1adc17);if(_0x368e5a[_0x1a4e('0x31c7')](_0x2327c6)){var _0xf79407=_0x368e5a[_0x1a4e('0x31c5')](_0x2327c6[_0x1a4e('0x11c')],_0x2327c6['text']);return _0xf79407&&_0x52ee81(_0xf79407[_0x1a4e('0x11c')],_0xf79407);}return _0x368e5a[_0x1a4e('0x31c8')](_0x2327c6)?_0x52ee81(_0x2327c6[_0x1a4e('0x11c')],_0x2327c6):_0x368e5a[_0x1a4e('0x31d3')](_0x2327c6)?function(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x239b')](_0x2327c6,!0x1),_0x2c9ec9=0x20;switch(_0xf79407[_0x1a4e('0x146b')]){case 0x9c:case 0x9b:if(_0x368e5a['isObjectLiteralMethod'](_0xf79407))break;case 0x9a:case 0x99:case 0x9d:case 0x9e:case 0x9f:_0x2c9ec9&=_0x368e5a['getModifierFlags'](_0xf79407),_0xf79407=_0xf79407[_0x1a4e('0x11c')];break;case 0x117:if(_0x368e5a[_0x1a4e('0x22f1')](_0xf79407))return;case 0xef:case 0xc4:break;default:return;}var _0x420b32=_0x368e5a['flatMap'](0x117===_0xf79407[_0x1a4e('0x146b')]?_0x55ff7e:[_0xf79407[_0x1a4e('0x288f')]()],function(_0x146f6e){return _0x1adc17['throwIfCancellationRequested'](),_0x27822e(_0x146f6e,_0x1a4e('0x19b5'),_0x368e5a[_0x1a4e('0x22f0')](_0xf79407)?_0x146f6e:_0xf79407)[_0x1a4e('0xd9')](function(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x31d3')](_0x146f6e))return!0x1;var _0x2327c6=_0x368e5a[_0x1a4e('0x239b')](_0x146f6e,!0x1);switch(_0xf79407['kind']){case 0xc4:case 0xef:return _0xf79407[_0x1a4e('0xb1b')]===_0x2327c6['symbol'];case 0x9c:case 0x9b:return _0x368e5a[_0x1a4e('0x2867')](_0xf79407)&&_0xf79407[_0x1a4e('0xb1b')]===_0x2327c6[_0x1a4e('0xb1b')];case 0xd1:case 0xf0:return _0x2327c6[_0x1a4e('0x11c')]&&_0xf79407['symbol']===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0xb1b')]&&(0x20&_0x368e5a[_0x1a4e('0x245c')](_0x2327c6))===_0x2c9ec9;case 0x117:return 0x117===_0x2327c6[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x22f1')](_0x2327c6);}});})[_0x1a4e('0x21')](function(_0x368e5a){return _0x146f6e['nodeEntry'](_0x368e5a);});return[{'definition':{'type':0x3,'node':_0x368e5a[_0x1a4e('0x1703')](_0x420b32,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24ac')](_0x146f6e[_0x1a4e('0x80')][_0x1a4e('0x11c')])?_0x146f6e[_0x1a4e('0x80')]:void 0x0;})||_0x2327c6},'references':_0x420b32}];}(_0x2327c6,_0x55ff7e,_0x1adc17):0x62===_0x2327c6[_0x1a4e('0x146b')]?function(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x239d')](_0x2327c6,!0x1);if(_0x55ff7e){var _0x1adc17=0x20;switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0x9a:case 0x99:case 0x9c:case 0x9b:case 0x9d:case 0x9e:case 0x9f:_0x1adc17&=_0x368e5a[_0x1a4e('0x245c')](_0x55ff7e),_0x55ff7e=_0x55ff7e[_0x1a4e('0x11c')];break;default:return;}var _0xf79407=_0x55ff7e[_0x1a4e('0x288f')](),_0x2c9ec9=_0x368e5a['mapDefined'](_0x27822e(_0xf79407,'super',_0x55ff7e),function(_0x2327c6){if(0x62===_0x2327c6[_0x1a4e('0x146b')]){var _0xf79407=_0x368e5a['getSuperContainer'](_0x2327c6,!0x1);return _0xf79407&&(0x20&_0x368e5a['getModifierFlags'](_0xf79407))===_0x1adc17&&_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0xb1b')]===_0x55ff7e[_0x1a4e('0xb1b')]?_0x146f6e[_0x1a4e('0x32ef')](_0x2327c6):void 0x0;}});return[{'definition':{'type':0x0,'symbol':_0x55ff7e['symbol']},'references':_0x2c9ec9}];}}(_0x2327c6):void 0x0;}(_0x1adc17,_0x1b06ad,_0x56674b);if(_0x4c3974)return _0x4c3974;}var _0x12bad6=_0x420b32['getTypeChecker'](),_0x5d9b9f=_0x12bad6[_0x1a4e('0x3029')](_0x1adc17);if(!_0x5d9b9f)return!_0x5f336c[_0x1a4e('0x32fa')]&&_0x368e5a['isStringLiteral'](_0x1adc17)?function(_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x104e')](_0x55ff7e,function(_0x55ff7e){return _0x1adc17['throwIfCancellationRequested'](),_0x368e5a[_0x1a4e('0x1713')](_0x27822e(_0x55ff7e,_0x2327c6[_0x1a4e('0xe04')]),function(_0x55ff7e){return _0x368e5a[_0x1a4e('0x2374')](_0x55ff7e)&&_0x55ff7e[_0x1a4e('0xe04')]===_0x2327c6[_0x1a4e('0xe04')]?_0x146f6e[_0x1a4e('0x32ef')](_0x55ff7e,0x2):void 0x0;});});return[{'definition':{'type':0x4,'node':_0x2327c6},'references':_0xf79407}];}(_0x1adc17,_0x1b06ad,_0x56674b):void 0x0;if(_0x1a4e('0x19b4')===_0x5d9b9f[_0x1a4e('0x22e8')])return _0x55ff7e(_0x420b32,_0x5d9b9f[_0x1a4e('0x11c')],!0x1,_0x1b06ad,_0x142b4c);var _0x5e80d6=_0x368e5a[_0x1a4e('0x1700')],_0x55d2ed=function(_0x146f6e){return 0x600&_0x146f6e['flags']?_0x368e5a[_0x1a4e('0x1c7')](_0x146f6e[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x22f0')]):void 0x0;}(_0x5d9b9f),_0x2b44ad=_0x1adc17;if(_0x55d2ed){var _0x43722d=_0x5d9b9f['exports'][_0x1a4e('0x179')](_0x1a4e('0x19b4'));if(_0x5e80d6=_0x55ff7e(_0x420b32,_0x5d9b9f,!!_0x43722d,_0x1b06ad,_0x142b4c),!_0x43722d||!_0x142b4c[_0x1a4e('0x178')](_0x55d2ed[_0x1a4e('0x1b39')]))return _0x5e80d6;_0x5d9b9f=_0x368e5a[_0x1a4e('0x32ba')](_0x43722d,_0x12bad6),_0x2b44ad=void 0x0;}return _0x368e5a[_0x1a4e('0x1717')](_0x5e80d6,function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x420b32,_0x1b06ad,_0x56674b){var _0x567c63=_0x2327c6&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6[_0x1a4e('0x11c')];return _0x368e5a[_0x1a4e('0x2543')](_0xf79407)&&!_0x1adc17?_0x539f9a(_0x2327c6,_0x146f6e,_0xf79407,_0x55ff7e):_0x368e5a['firstDefined'](_0x146f6e[_0x1a4e('0x22e5')],function(_0x1adc17){return _0x1adc17['parent']||_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x32fb')+_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x23c2')](_0x2327c6)+':\x20'+_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x25db')](_0x146f6e)),_0x368e5a[_0x1a4e('0x24a2')](_0x1adc17[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x24f4')](_0x1adc17['parent']['parent'])?_0x55ff7e[_0x1a4e('0x31df')](_0x55ff7e[_0x1a4e('0x3251')](_0x1adc17['parent'][_0x1a4e('0x11c')]),_0x146f6e[_0x1a4e('0x2cb')]):void 0x0;});}(_0x146f6e,_0x2327c6,_0x420b32,!!_0x56674b[_0x1a4e('0x32fc')])||_0x146f6e,_0x5f336c=_0x2327c6?_0x180d7d(_0x2327c6,_0x567c63):0x7,_0x43ad47=[],_0x142b4c=new _0xf79407(_0x55ff7e,_0x1adc17,_0x2327c6?function(_0x146f6e){switch(_0x146f6e['kind']){case 0x7c:return 0x1;case 0x48:if(_0x368e5a[_0x1a4e('0x2367')](_0x146f6e[_0x1a4e('0x11c')]))return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x146f6e),0x2;default:return 0x0;}}(_0x2327c6):0x0,_0x420b32,_0x1b06ad,_0x5f336c,_0x56674b,_0x43ad47),_0x2fbec6=_0x56674b[_0x1a4e('0x32fc')]?_0x368e5a[_0x1a4e('0x1c7')](_0x567c63['declarations'],_0x368e5a[_0x1a4e('0x2543')]):void 0x0;if(_0x2fbec6)_0x577714(_0x2fbec6['name'],_0x567c63,_0x2fbec6,_0x142b4c[_0x1a4e('0x32fd')](_0x2327c6,_0x146f6e,void 0x0),_0x142b4c,!0x0,!0x0);else if(_0x2327c6&&0x50===_0x2327c6[_0x1a4e('0x146b')])_0x3dc2e2(_0x2327c6,_0x567c63,_0x142b4c),_0x2c9ec9(_0x2327c6,_0x567c63,{'exportingModuleSymbol':_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x567c63[_0x1a4e('0x11c')],_0x1a4e('0x32e3')),'exportKind':0x1},_0x142b4c);else{var _0x3efa0e=_0x142b4c[_0x1a4e('0x32fd')](_0x2327c6,_0x567c63,void 0x0,{'allSearchSymbols':_0x2327c6?_0x3d6678(_0x567c63,_0x2327c6,_0x420b32,!!_0x56674b['isForRename'],!!_0x56674b[_0x1a4e('0x32fa')]):[_0x567c63]}),_0x4c3974=function(_0x146f6e){var _0x2327c6=_0x146f6e['declarations'],_0x55ff7e=_0x146f6e[_0x1a4e('0x7b2')],_0x1adc17=_0x146f6e[_0x1a4e('0x11c')],_0xf79407=_0x146f6e[_0x1a4e('0x2340')];if(_0xf79407&&(0xc4===_0xf79407[_0x1a4e('0x146b')]||0xd1===_0xf79407[_0x1a4e('0x146b')]))return _0xf79407;if(_0x2327c6){if(0x2004&_0x55ff7e){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1c7')](_0x2327c6,function(_0x146f6e){return _0x368e5a['hasModifier'](_0x146f6e,0x8);});return _0x2c9ec9?_0x368e5a[_0x1a4e('0x2a5e')](_0x2c9ec9,0xf0):void 0x0;}if(!_0x2327c6['some'](_0x368e5a['isObjectBindingElementWithoutPropertyName'])){var _0x420b32,_0x1b06ad=_0x1adc17&&!(0x40000&_0x146f6e[_0x1a4e('0x7b2')]);if(!_0x1b06ad||_0x368e5a['isExternalModuleSymbol'](_0x1adc17)&&!_0x1adc17['globalExports']){for(var _0x326eae=0x0,_0x56674b=_0x2327c6;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x567c63=_0x56674b[_0x326eae],_0x5f336c=_0x368e5a[_0x1a4e('0x31d1')](_0x567c63);if(_0x420b32&&_0x420b32!==_0x5f336c)return;if(!_0x5f336c||0x117===_0x5f336c[_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x2858')](_0x5f336c))return;_0x420b32=_0x5f336c;}return _0x1b06ad?_0x420b32['getSourceFile']():_0x420b32;}}}}(_0x567c63);if(_0x4c3974)_0x19d467(_0x4c3974,_0x4c3974[_0x1a4e('0x288f')](),_0x3efa0e,_0x142b4c,!(_0x368e5a[_0x1a4e('0x22f0')](_0x4c3974)&&!_0x368e5a['contains'](_0x55ff7e,_0x4c3974)));else for(var _0x12bad6=0x0,_0x5d9b9f=_0x142b4c[_0x1a4e('0x2c1e')];_0x12bad6<_0x5d9b9f['length'];_0x12bad6++){var _0x5e80d6=_0x5d9b9f[_0x12bad6];_0x142b4c['cancellationToken']['throwIfCancellationRequested'](),_0x326eae(_0x5e80d6,_0x3efa0e,_0x142b4c);}}return _0x43ad47;}(_0x5d9b9f,_0x2b44ad,_0x1b06ad,_0x142b4c,_0x12bad6,_0x56674b,_0x5f336c));},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x181b')]=0x1]='Constructor',_0x368e5a[_0x368e5a[_0x1a4e('0x1964')]=0x2]=_0x1a4e('0x1964');}(_0x1adc17||(_0x1adc17={}));var _0xf79407=function(){function _0x2327c6(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){this[_0x1a4e('0x2c1e')]=_0x146f6e,this[_0x1a4e('0x32fe')]=_0x2327c6,this[_0x1a4e('0x32ff')]=_0x55ff7e,this[_0x1a4e('0x257b')]=_0x1adc17,this[_0x1a4e('0x3300')]=_0xf79407,this[_0x1a4e('0x3301')]=_0x2c9ec9,this[_0x1a4e('0x8dc')]=_0x420b32,this[_0x1a4e('0x13f')]=_0x1b06ad,this[_0x1a4e('0x3302')]=_0x368e5a[_0x1a4e('0x1772')](),this[_0x1a4e('0x3303')]=_0x368e5a['nodeSeenTracker'](),this['markSeenReExportRHS']=_0x368e5a[_0x1a4e('0x3203')](),this[_0x1a4e('0x3304')]=[],this[_0x1a4e('0x3305')]=[];}return _0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3306')]=function(_0x368e5a){return this[_0x1a4e('0x32fe')][_0x1a4e('0x178')](_0x368e5a[_0x1a4e('0x1b39')]);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3307')]=function(_0x368e5a,_0x2327c6){return this[_0x1a4e('0x3308')]||(this[_0x1a4e('0x3308')]=_0x146f6e[_0x1a4e('0x32d6')](this[_0x1a4e('0x2c1e')],this[_0x1a4e('0x32fe')],this[_0x1a4e('0x257b')],this['cancellationToken'])),this[_0x1a4e('0x3308')](_0x368e5a,_0x2327c6,!!this[_0x1a4e('0x8dc')][_0x1a4e('0x32fc')]);},_0x2327c6['prototype'][_0x1a4e('0x32fd')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17={});var _0xf79407=_0x1adc17['text'],_0x2c9ec9=void 0x0===_0xf79407?_0x368e5a[_0x1a4e('0x3231')](_0x368e5a['unescapeLeadingUnderscores']((_0x368e5a[_0x1a4e('0x2468')](_0x2327c6)||_0x2327c6)['escapedName'])):_0xf79407,_0x420b32=_0x1adc17[_0x1a4e('0x3309')],_0x1b06ad=void 0x0===_0x420b32?[_0x2327c6]:_0x420b32;return{'symbol':_0x2327c6,'comingFrom':_0x55ff7e,'text':_0x2c9ec9,'escapedText':_0x368e5a[_0x1a4e('0x22f4')](_0x2c9ec9),'parents':this[_0x1a4e('0x8dc')][_0x1a4e('0x32fa')]&&_0x146f6e?function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x31cd')](_0x146f6e)?_0x146f6e['parent']:void 0x0,_0xf79407=_0x1adc17&&_0x55ff7e[_0x1a4e('0x31d9')](_0x1adc17['expression']),_0x2c9ec9=_0x368e5a[_0x1a4e('0x1713')](_0xf79407&&(_0xf79407[_0x1a4e('0x330a')]()?_0xf79407[_0x1a4e('0x2380')]:_0xf79407['symbol']===_0x2327c6[_0x1a4e('0x11c')]?void 0x0:[_0xf79407]),function(_0x368e5a){return _0x368e5a[_0x1a4e('0xb1b')]&&0x60&_0x368e5a[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]?_0x368e5a['symbol']:void 0x0;});return 0x0===_0x2c9ec9['length']?void 0x0:_0x2c9ec9;}(_0x146f6e,_0x2327c6,this['checker']):void 0x0,'allSearchSymbols':_0x1b06ad,'includes':function(_0x146f6e){return _0x368e5a['contains'](_0x1b06ad,_0x146f6e);}};},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x330b')]=function(_0x2327c6){var _0x55ff7e=_0x368e5a['getSymbolId'](_0x2327c6),_0x1adc17=this[_0x1a4e('0x3304')][_0x55ff7e];return _0x1adc17||(_0x1adc17=this[_0x1a4e('0x3304')][_0x55ff7e]=[],this[_0x1a4e('0x13f')]['push']({'definition':{'type':0x0,'symbol':_0x2327c6},'references':_0x1adc17})),function(_0x368e5a,_0x2327c6){return _0x1adc17[_0x1a4e('0x46')](_0x146f6e['nodeEntry'](_0x368e5a,_0x2327c6));};},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x330c')]=function(_0x368e5a,_0x146f6e){this[_0x1a4e('0x13f')][_0x1a4e('0x46')]({'definition':void 0x0,'references':[{'kind':0x0,'fileName':_0x368e5a,'textSpan':_0x146f6e}]});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x330d')]=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e),_0x1adc17=this['sourceFileToSeenSymbols'][_0x55ff7e]||(this[_0x1a4e('0x3305')][_0x55ff7e]=_0x368e5a[_0x1a4e('0x1772')]()),_0xf79407=!0x1,_0x2c9ec9=0x0,_0x420b32=_0x2327c6;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0xf79407=_0x368e5a[_0x1a4e('0x3048')](_0x1adc17,_0x368e5a[_0x1a4e('0x2889')](_0x1b06ad))||_0xf79407;}return _0xf79407;},_0x2327c6;}();function _0x2c9ec9(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x3307')](_0x146f6e,_0x2327c6),_0xf79407=_0x1adc17['importSearches'],_0x2c9ec9=_0x1adc17[_0x1a4e('0x330e')],_0x1b06ad=_0x1adc17[_0x1a4e('0x32da')];if(_0x2c9ec9['length'])for(var _0x56674b=_0x55ff7e[_0x1a4e('0x330b')](_0x146f6e),_0x4cb9dc=0x0,_0x36ba18=_0x2c9ec9;_0x4cb9dc<_0x36ba18[_0x1a4e('0x1e')];_0x4cb9dc++){var _0x348620=_0x36ba18[_0x4cb9dc];_0x420b32(_0x348620,_0x55ff7e)&&_0x56674b(_0x348620);}for(var _0x35f6bb=0x0,_0x5d93d6=_0xf79407;_0x35f6bb<_0x5d93d6[_0x1a4e('0x1e')];_0x35f6bb++){var _0x528b7c=_0x5d93d6[_0x35f6bb],_0x143804=_0x528b7c[0x0],_0x14a2a2=_0x528b7c[0x1];_0xbc8cd3(_0x143804[_0x1a4e('0x288f')](),_0x55ff7e[_0x1a4e('0x32fd')](_0x143804,_0x14a2a2,0x1),_0x55ff7e);}if(_0x1b06ad['length']){var _0x1ab9d8=void 0x0;switch(_0x2327c6[_0x1a4e('0x32d8')]){case 0x0:_0x1ab9d8=_0x55ff7e['createSearch'](_0x368e5a,_0x146f6e,0x1);break;case 0x1:_0x1ab9d8=_0x55ff7e[_0x1a4e('0x8dc')]['isForRename']?void 0x0:_0x55ff7e[_0x1a4e('0x32fd')](_0x368e5a,_0x146f6e,0x1,{'text':_0x1a4e('0x8')});}if(_0x1ab9d8)for(var _0x2fd653=0x0,_0x2b8dde=_0x1b06ad;_0x2fd653<_0x2b8dde[_0x1a4e('0x1e')];_0x2fd653++){_0x326eae(_0x2b8dde[_0x2fd653],_0x1ab9d8,_0x55ff7e);}}}function _0x420b32(_0x146f6e,_0x2327c6){return!!_0x52f821(_0x146f6e,_0x2327c6)&&(!_0x2327c6[_0x1a4e('0x8dc')][_0x1a4e('0x32fc')]||!!_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&!(_0x368e5a[_0x1a4e('0x2542')](_0x146f6e['parent'])&&_0x1a4e('0x8')===_0x146f6e[_0x1a4e('0x22f3')]));}function _0x1b06ad(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x22e5')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6],_0xf79407=_0x1adc17[_0x1a4e('0x288f')]();_0xbc8cd3(_0xf79407,_0x146f6e[_0x1a4e('0x32fd')](_0x1adc17,_0x368e5a,0x0),_0x146f6e,_0x146f6e[_0x1a4e('0x3306')](_0xf79407));}}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0!==_0x368e5a[_0x1a4e('0x3281')](_0x146f6e)[_0x1a4e('0x179')](_0x2327c6[_0x1a4e('0x22f3')])&&_0xbc8cd3(_0x146f6e,_0x2327c6,_0x55ff7e);}function _0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x235e')](_0x146f6e[_0x1a4e('0x11c')])?_0x368e5a[_0x1a4e('0x10f7')](_0x2327c6[_0x1a4e('0x330f')](_0x146f6e[_0x1a4e('0x11c')],_0x146f6e['text'])):_0x2327c6[_0x1a4e('0x3029')](_0x146f6e);if(_0xf79407)for(var _0x2c9ec9=0x0,_0x420b32=_0x27822e(_0x55ff7e,_0xf79407[_0x1a4e('0x2cb')]);_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];if(_0x368e5a[_0x1a4e('0x2370')](_0x1b06ad)&&_0x1b06ad!==_0x146f6e&&_0x1b06ad[_0x1a4e('0x22f3')]===_0x146f6e[_0x1a4e('0x22f3')]){var _0x326eae=_0x2327c6[_0x1a4e('0x3029')](_0x1b06ad);if(_0x326eae===_0xf79407||_0x2327c6[_0x1a4e('0x3310')](_0x1b06ad[_0x1a4e('0x11c')])===_0xf79407||_0x368e5a['isExportSpecifier'](_0x1b06ad[_0x1a4e('0x11c')])&&_0x539f9a(_0x1b06ad,_0x326eae,_0x1b06ad[_0x1a4e('0x11c')],_0x2327c6)===_0xf79407){var _0x56674b=_0x1adc17(_0x1b06ad);if(_0x56674b)return _0x56674b;}}}}function _0x27822e(_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=_0x146f6e),_0x3073a0(_0x146f6e,_0x2327c6,_0x55ff7e)[_0x1a4e('0x21')](function(_0x2327c6){return _0x368e5a[_0x1a4e('0x32f1')](_0x146f6e,_0x2327c6);});}function _0x3073a0(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e=_0x146f6e);var _0x1adc17=[];if(!_0x2327c6||!_0x2327c6[_0x1a4e('0x1e')])return _0x1adc17;for(var _0xf79407=_0x146f6e[_0x1a4e('0xe04')],_0x2c9ec9=_0xf79407[_0x1a4e('0x1e')],_0x420b32=_0x2327c6[_0x1a4e('0x1e')],_0x1b06ad=_0xf79407[_0x1a4e('0x3e')](_0x2327c6,_0x55ff7e[_0x1a4e('0xa4')]);_0x1b06ad>=0x0&&!(_0x1b06ad>_0x55ff7e[_0x1a4e('0xca')]);){var _0x326eae=_0x1b06ad+_0x420b32;0x0!==_0x1b06ad&&_0x368e5a['isIdentifierPart'](_0xf79407[_0x1a4e('0x913')](_0x1b06ad-0x1),0x6)||_0x326eae!==_0x2c9ec9&&_0x368e5a[_0x1a4e('0x22d0')](_0xf79407[_0x1a4e('0x913')](_0x326eae),0x6)||_0x1adc17[_0x1a4e('0x46')](_0x1b06ad),_0x1b06ad=_0xf79407[_0x1a4e('0x3e')](_0x2327c6,_0x1b06ad+_0x420b32+0x1);}return _0x1adc17;}function _0x52ee81(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x288f')](),_0xf79407=_0x55ff7e[_0x1a4e('0xe04')],_0x2c9ec9=_0x368e5a[_0x1a4e('0x1713')](_0x27822e(_0x1adc17,_0xf79407,_0x2327c6),function(_0x2327c6){return _0x2327c6===_0x55ff7e||_0x368e5a['isJumpStatementTarget'](_0x2327c6)&&_0x368e5a[_0x1a4e('0x31c5')](_0x2327c6,_0xf79407)===_0x55ff7e?_0x146f6e[_0x1a4e('0x32ef')](_0x2327c6):void 0x0;});return[{'definition':{'type':0x1,'node':_0x55ff7e},'references':_0x2c9ec9}];}function _0xbc8cd3(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=!0x0),_0x2327c6[_0x1a4e('0x3300')][_0x1a4e('0x289b')](),_0x19d467(_0x368e5a,_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);}function _0x19d467(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x55ff7e['markSearchedSymbols'](_0x146f6e,_0x2327c6[_0x1a4e('0x3309')]))for(var _0xf79407=0x0,_0x2c9ec9=_0x3073a0(_0x146f6e,_0x2327c6[_0x1a4e('0xe04')],_0x368e5a);_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){_0x1f208a(_0x146f6e,_0x2c9ec9[_0xf79407],_0x2327c6,_0x55ff7e,_0x1adc17);}}function _0x52f821(_0x146f6e,_0x2327c6){return!!(_0x368e5a[_0x1a4e('0x31c1')](_0x146f6e)&_0x2327c6[_0x1a4e('0x3301')]);}function _0x1f208a(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32){var _0x326eae=_0x368e5a[_0x1a4e('0x32f1')](_0x2327c6,_0x55ff7e);if(function(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x146f6e[_0x1a4e('0xe04')]['length']===_0x2327c6['length'];case 0xa:var _0x55ff7e=_0x146f6e;return(_0x368e5a[_0x1a4e('0x3311')](_0x55ff7e)||_0x368e5a[_0x1a4e('0x31ce')](_0x146f6e)||_0x368e5a[_0x1a4e('0x31d0')](_0x146f6e)||_0x368e5a['isCallExpression'](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x23bb')](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')]['arguments'][0x1]===_0x146f6e)&&_0x55ff7e[_0x1a4e('0xe04')][_0x1a4e('0x1e')]===_0x2327c6[_0x1a4e('0x1e')];case 0x8:return _0x368e5a['isLiteralNameOfPropertyDeclarationOrIndexAccess'](_0x146f6e)&&_0x146f6e['text']['length']===_0x2327c6[_0x1a4e('0x1e')];case 0x50:return'default'[_0x1a4e('0x1e')]===_0x2327c6[_0x1a4e('0x1e')];default:return!0x1;}}(_0x326eae,_0x1adc17[_0x1a4e('0xe04')])){if(_0x52f821(_0x326eae,_0xf79407)){var _0x56674b=_0xf79407[_0x1a4e('0x257b')]['getSymbolAtLocation'](_0x326eae);if(_0x56674b){var _0x27822e=_0x326eae[_0x1a4e('0x11c')];if(!_0x368e5a[_0x1a4e('0x2522')](_0x27822e)||_0x27822e[_0x1a4e('0x81a')]!==_0x326eae){if(_0x368e5a[_0x1a4e('0x2543')](_0x27822e))return _0x368e5a['Debug']['assert'](0x48===_0x326eae[_0x1a4e('0x146b')]),void _0x577714(_0x326eae,_0x56674b,_0x27822e,_0x1adc17,_0xf79407,_0x420b32);var _0x3073a0=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x1adc17['checker'];return _0x73b953(_0x2327c6,_0x55ff7e,_0xf79407,!0x1,function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return _0x146f6e[_0x1a4e('0xae5')](_0x1adc17||_0x55ff7e||_0x2327c6)?{'symbol':!_0x55ff7e||0x6&_0x368e5a['getCheckFlags'](_0x2327c6)?_0x2327c6:_0x55ff7e,'kind':_0xf79407}:void 0x0;},function(_0x2327c6){return!(_0x146f6e[_0x1a4e('0x3312')]&&!_0x146f6e[_0x1a4e('0x3312')][_0x1a4e('0x1c2')](function(_0x146f6e){return function _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x2327c6===_0x55ff7e)return!0x0;var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2889')](_0x2327c6)+','+_0x368e5a['getSymbolId'](_0x55ff7e);var _0x420b32=_0x1adc17[_0x1a4e('0x179')](_0x2c9ec9);if(void 0x0!==_0x420b32)return _0x420b32;_0x1adc17[_0x1a4e('0x17a')](_0x2c9ec9,!0x1);var _0x1b06ad=_0x2327c6['declarations'][_0x1a4e('0x1c2')](function(_0x2327c6){return _0x368e5a[_0x1a4e('0x31de')](_0x2327c6)[_0x1a4e('0x1c2')](function(_0x368e5a){var _0x2327c6=_0xf79407[_0x1a4e('0x31d9')](_0x368e5a);return!!_0x2327c6&&!!_0x2327c6['symbol']&&_0x146f6e(_0x2327c6['symbol'],_0x55ff7e,_0x1adc17,_0xf79407);});});_0x1adc17['set'](_0x2c9ec9,_0x1b06ad);return _0x1b06ad;}(_0x2327c6[_0x1a4e('0x11c')],_0x146f6e,_0x1adc17[_0x1a4e('0x3302')],_0xf79407);}));});}(_0x1adc17,_0x56674b,_0x326eae,_0xf79407);if(_0x3073a0){switch(_0xf79407[_0x1a4e('0x32ff')]){case 0x0:_0x420b32&&_0x3dc2e2(_0x326eae,_0x3073a0,_0xf79407);break;case 0x1:!function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a[_0x1a4e('0x3313')](_0x146f6e)&&_0x3dc2e2(_0x146f6e,_0x55ff7e[_0x1a4e('0xb1b')],_0x1adc17);var _0xf79407=function(){return _0x1adc17[_0x1a4e('0x330b')](_0x55ff7e[_0x1a4e('0xb1b')]);};if(_0x368e5a[_0x1a4e('0x2367')](_0x146f6e[_0x1a4e('0x11c')]))_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x50===_0x146f6e[_0x1a4e('0x146b')]||_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x146f6e),function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=0x0,_0xf79407=_0x146f6e[_0x1a4e('0x2369')][_0x1a4e('0x179')]('__constructor')['declarations'];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x368e5a[_0x1a4e('0x327f')](_0x2c9ec9,0x7c,_0x2327c6);_0x368e5a[_0x1a4e('0x1749')]['assert'](0x9d===_0x2c9ec9[_0x1a4e('0x146b')]&&!!_0x420b32),_0x55ff7e(_0x420b32);}_0x146f6e[_0x1a4e('0x0')]['forEach'](function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2340')];if(_0x2327c6&&0x9c===_0x2327c6[_0x1a4e('0x146b')]){var _0x1adc17=_0x2327c6[_0x1a4e('0x8f2')];_0x1adc17&&_0x39c1da(_0x1adc17,0x64,function(_0x146f6e){_0x368e5a[_0x1a4e('0x3313')](_0x146f6e)&&_0x55ff7e(_0x146f6e);});}});}(_0x55ff7e[_0x1a4e('0xb1b')],_0x2327c6,_0xf79407());else{var _0x2c9ec9=(_0x420b32=_0x146f6e,_0x368e5a[_0x1a4e('0x2461')](_0x368e5a[_0x1a4e('0x31c4')](_0x420b32)[_0x1a4e('0x11c')]));_0x2c9ec9&&function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2369')][_0x1a4e('0x179')](_0x1a4e('0x19a2'));if(!_0x55ff7e)return;for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e['declarations'];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x368e5a['Debug'][_0x1a4e('0xba0')](0x9d===_0x2c9ec9['kind']);var _0x420b32=_0x2c9ec9[_0x1a4e('0x8f2')];_0x420b32&&_0x39c1da(_0x420b32,0x62,function(_0x146f6e){_0x368e5a[_0x1a4e('0x3314')](_0x146f6e)&&_0x2327c6(_0x146f6e);});}}(_0x2c9ec9,_0xf79407());}var _0x420b32;}(_0x326eae,_0x2327c6,_0x1adc17,_0xf79407);break;case 0x2:!function(_0x146f6e,_0x2327c6,_0x55ff7e){_0x3dc2e2(_0x146f6e,_0x2327c6[_0x1a4e('0xb1b')],_0x55ff7e);var _0x1adc17=_0x146f6e[_0x1a4e('0x11c')];if(_0x55ff7e['options'][_0x1a4e('0x32fc')]||!_0x368e5a[_0x1a4e('0x2367')](_0x1adc17))return;_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1adc17['name']===_0x146f6e);for(var _0xf79407=_0x55ff7e['referenceAdder'](_0x2327c6['symbol']),_0x2c9ec9=0x0,_0x420b32=_0x1adc17[_0x1a4e('0x2369')];_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x368e5a['isMethodOrAccessor'](_0x1b06ad)&&_0x368e5a[_0x1a4e('0x24c6')](_0x1b06ad,0x20)&&(_0x1b06ad[_0x1a4e('0x8f2')]&&_0x1b06ad[_0x1a4e('0x8f2')]['forEachChild'](function _0x146f6e(_0x2327c6){0x64===_0x2327c6['kind']?_0xf79407(_0x2327c6):_0x368e5a[_0x1a4e('0x2342')](_0x2327c6)||_0x368e5a[_0x1a4e('0x2367')](_0x2327c6)||_0x2327c6[_0x1a4e('0x22eb')](_0x146f6e);}));}}(_0x326eae,_0x1adc17,_0xf79407);break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0xf79407['specialSearchKind']);}!function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e[_0x1a4e('0x32e1')](_0x368e5a,_0x2327c6,_0x1adc17['checker'],0x1===_0x55ff7e['comingFrom']);if(!_0xf79407)return;var _0x420b32=_0xf79407[_0x1a4e('0xb1b')];0x0===_0xf79407[_0x1a4e('0x146b')]?_0x1adc17[_0x1a4e('0x8dc')]['isForRename']||_0x1b06ad(_0x420b32,_0x1adc17):_0x2c9ec9(_0x368e5a,_0x420b32,_0xf79407[_0x1a4e('0x3315')],_0x1adc17);}(_0x326eae,_0x56674b,_0x1adc17,_0xf79407);}else!function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e['flags'],_0xf79407=_0x146f6e[_0x1a4e('0x2340')],_0x2c9ec9=_0x55ff7e[_0x1a4e('0x257b')]['getShorthandAssignmentValueSymbol'](_0xf79407),_0x420b32=_0xf79407&&_0x368e5a['getNameOfDeclaration'](_0xf79407);0x2000000&_0x1adc17||!_0x420b32||!_0x2327c6[_0x1a4e('0xae5')](_0x2c9ec9)||_0x3dc2e2(_0x420b32,_0x2c9ec9,_0x55ff7e);}(_0x56674b,_0x1adc17,_0xf79407);}}}}else!_0xf79407[_0x1a4e('0x8dc')]['implementations']&&(_0xf79407[_0x1a4e('0x8dc')][_0x1a4e('0x3316')]&&_0x368e5a[_0x1a4e('0x31eb')](_0x2327c6,_0x55ff7e)||_0xf79407['options'][_0x1a4e('0x3317')]&&_0x368e5a[_0x1a4e('0x3318')](_0x2327c6,_0x55ff7e))&&_0xf79407[_0x1a4e('0x330c')](_0x2327c6['fileName'],_0x368e5a[_0x1a4e('0x22fb')](_0x55ff7e,_0x1adc17[_0x1a4e('0xe04')][_0x1a4e('0x1e')]));}function _0x577714(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32,_0x326eae,_0x56674b){var _0x27822e=_0x1adc17[_0x1a4e('0x11c')],_0x3073a0=_0x1adc17['propertyName'],_0x52ee81=_0x1adc17[_0x1a4e('0x2cb')],_0xbc8cd3=_0x27822e[_0x1a4e('0x11c')],_0x19d467=_0x539f9a(_0x2327c6,_0x55ff7e,_0x1adc17,_0x420b32[_0x1a4e('0x257b')]);if(_0x56674b||_0xf79407[_0x1a4e('0xae5')](_0x19d467)){if(_0x3073a0?_0x2327c6===_0x3073a0?(_0xbc8cd3[_0x1a4e('0x23c5')]||_0x5aad9e(),_0x326eae&&!_0x420b32[_0x1a4e('0x8dc')]['isForRename']&&_0x420b32[_0x1a4e('0x3319')](_0x52ee81)&&_0x3dc2e2(_0x52ee81,_0x368e5a['Debug'][_0x1a4e('0x1744')](_0x1adc17[_0x1a4e('0xb1b')]),_0x420b32)):_0x420b32['markSeenReExportRHS'](_0x2327c6)&&_0x5aad9e():_0x420b32[_0x1a4e('0x8dc')][_0x1a4e('0x32fc')]&&_0x1a4e('0x8')===_0x52ee81['escapedText']||_0x5aad9e(),!_0x420b32['options'][_0x1a4e('0x32fc')]||_0x56674b){var _0x52f821=0x50===_0x2327c6[_0x1a4e('0x23f8')]?0x1:0x0,_0x1f208a=_0x368e5a['Debug'][_0x1a4e('0x1744')](_0x1adc17[_0x1a4e('0xb1b')]),_0x577714=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x146f6e[_0x1a4e('0x32e6')](_0x1f208a,_0x52f821,_0x420b32[_0x1a4e('0x257b')]));_0x2c9ec9(_0x2327c6,_0x1f208a,_0x577714,_0x420b32);}if(0x1!==_0xf79407[_0x1a4e('0x331a')]&&_0xbc8cd3[_0x1a4e('0x23c5')]&&!_0x3073a0&&!_0x420b32[_0x1a4e('0x8dc')][_0x1a4e('0x32fc')]){var _0x55692a=_0x420b32[_0x1a4e('0x257b')][_0x1a4e('0x32db')](_0x1adc17);_0x55692a&&_0x1b06ad(_0x55692a,_0x420b32);}}function _0x5aad9e(){_0x326eae&&_0x3dc2e2(_0x2327c6,_0x19d467,_0x420b32);}}function _0x539f9a(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x11c')],_0x1adc17=_0x2327c6['propertyName'],_0xf79407=_0x2327c6[_0x1a4e('0x2cb')];return _0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1adc17===_0x146f6e||_0xf79407===_0x146f6e),_0x1adc17?_0x1adc17===_0x146f6e:!_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x23c5')];}(_0x146f6e,_0x55ff7e)&&_0x1adc17[_0x1a4e('0x32db')](_0x55ff7e)||_0x2327c6;}function _0x3dc2e2(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x1a4e('0x146b')in _0x2327c6?_0x2327c6:{'kind':void 0x0,'symbol':_0x2327c6},_0xf79407=_0x1adc17[_0x1a4e('0x146b')],_0x2c9ec9=_0x1adc17[_0x1a4e('0xb1b')],_0x420b32=_0x55ff7e[_0x1a4e('0x330b')](_0x2c9ec9);_0x55ff7e[_0x1a4e('0x8dc')][_0x1a4e('0x32fa')]?function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a['isDeclarationName'](_0x146f6e)&&(_0x1adc17=_0x146f6e['parent'],0x400000&_0x1adc17[_0x1a4e('0x7b2')]||(_0x368e5a['isVariableLike'](_0x1adc17)?_0x368e5a[_0x1a4e('0x29b6')](_0x1adc17):_0x368e5a['isFunctionLikeDeclaration'](_0x1adc17)?_0x1adc17[_0x1a4e('0x8f2')]:_0x368e5a[_0x1a4e('0x2367')](_0x1adc17)||_0x368e5a[_0x1a4e('0x2566')](_0x1adc17))))return void _0x2327c6(_0x146f6e);var _0x1adc17;if(0x48!==_0x146f6e[_0x1a4e('0x146b')])return;0x114===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x20a1c8(_0x146f6e,_0x55ff7e[_0x1a4e('0x257b')],_0x2327c6);var _0xf79407=function _0x146f6e(_0x2327c6){return _0x368e5a['isIdentifier'](_0x2327c6)||_0x368e5a[_0x1a4e('0x2371')](_0x2327c6)?_0x146f6e(_0x2327c6[_0x1a4e('0x11c')]):_0x368e5a[_0x1a4e('0x242f')](_0x2327c6)?_0x368e5a[_0x1a4e('0x172e')](_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2367')]):void 0x0;}(_0x146f6e);if(_0xf79407)return void _0x2327c6(_0xf79407);var _0x2c9ec9=_0x368e5a['findAncestor'](_0x146f6e,function(_0x146f6e){return!_0x368e5a['isQualifiedName'](_0x146f6e[_0x1a4e('0x11c')])&&!_0x368e5a[_0x1a4e('0x2553')](_0x146f6e[_0x1a4e('0x11c')])&&!_0x368e5a[_0x1a4e('0x2550')](_0x146f6e[_0x1a4e('0x11c')]);}),_0x420b32=_0x2c9ec9[_0x1a4e('0x11c')];if(_0x368e5a['hasType'](_0x420b32)&&_0x420b32['type']===_0x2c9ec9&&_0x55ff7e[_0x1a4e('0x3303')](_0x420b32))if(_0x368e5a[_0x1a4e('0x29b6')](_0x420b32))_0x326eae(_0x420b32[_0x1a4e('0x236a')]);else if(_0x368e5a[_0x1a4e('0x2342')](_0x420b32)&&_0x420b32[_0x1a4e('0x8f2')]){var _0x1b06ad=_0x420b32[_0x1a4e('0x8f2')];0xda===_0x1b06ad[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2386')](_0x1b06ad,function(_0x368e5a){_0x368e5a[_0x1a4e('0x2302')]&&_0x326eae(_0x368e5a[_0x1a4e('0x2302')]);}):_0x326eae(_0x1b06ad);}else _0x368e5a[_0x1a4e('0x255e')](_0x420b32)&&_0x326eae(_0x420b32[_0x1a4e('0x2302')]);function _0x326eae(_0x368e5a){(function _0x368e5a(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xc3:return _0x368e5a(_0x146f6e[_0x1a4e('0x2302')]);case 0xc5:case 0xc4:case 0xbc:case 0xd1:case 0xbb:return!0x0;default:return!0x1;}}(_0x368e5a)&&_0x2327c6(_0x368e5a));}}(_0x146f6e,_0x420b32,_0x55ff7e):_0x420b32(_0x146f6e,_0xf79407);}function _0x3d6678(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=[];return _0x73b953(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,function(_0x368e5a,_0x146f6e,_0x2327c6){_0xf79407[_0x1a4e('0x46')](_0x2327c6||_0x146f6e||_0x368e5a);},function(){return!_0x1adc17;}),_0xf79407;}function _0x73b953(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x331b')](_0x2327c6);if(_0x420b32){var _0x1b06ad=_0x55ff7e['getShorthandAssignmentValueSymbol'](_0x2327c6['parent']);if(_0x1b06ad&&_0x1adc17)return _0xf79407(_0x1b06ad,void 0x0,void 0x0,0x3);var _0x326eae=_0x55ff7e[_0x1a4e('0x323e')](_0x420b32[_0x1a4e('0x11c')]),_0x56674b=_0x326eae&&_0x368e5a['firstDefined'](_0x368e5a[_0x1a4e('0x331c')](_0x420b32,_0x55ff7e,_0x326eae,!0x0),function(_0x368e5a){return _0x1f208a(_0x368e5a,0x4);});if(_0x56674b)return _0x56674b;var _0x27822e=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x32ea')](_0x146f6e['parent'][_0x1a4e('0x11c')])?_0x2327c6[_0x1a4e('0x331d')](_0x146f6e):void 0x0;}(_0x2327c6,_0x55ff7e),_0x3073a0=_0x27822e&&_0xf79407(_0x27822e,void 0x0,void 0x0,0x4);if(_0x3073a0)return _0x3073a0;var _0x52ee81=_0x1b06ad&&_0xf79407(_0x1b06ad,void 0x0,void 0x0,0x3);if(_0x52ee81)return _0x52ee81;}var _0xbc8cd3=_0x1f208a(_0x146f6e);if(_0xbc8cd3)return _0xbc8cd3;if(_0x146f6e['valueDeclaration']&&_0x368e5a[_0x1a4e('0x235e')](_0x146f6e[_0x1a4e('0x2340')])){var _0x19d467=_0x55ff7e['getSymbolsOfParameterPropertyDeclaration'](_0x368e5a[_0x1a4e('0x172f')](_0x146f6e[_0x1a4e('0x2340')],_0x368e5a[_0x1a4e('0x24ac')]),_0x146f6e[_0x1a4e('0x2cb')]);return _0x368e5a['Debug']['assert'](0x2===_0x19d467['length']&&!!(0x1&_0x19d467[0x0][_0x1a4e('0x7b2')])&&!!(0x4&_0x19d467[0x1][_0x1a4e('0x7b2')])),_0x1f208a(0x1&_0x146f6e[_0x1a4e('0x7b2')]?_0x19d467[0x1]:_0x19d467[0x0]);}if(!_0x1adc17){var _0x52f821=_0x368e5a[_0x1a4e('0x3215')](_0x2327c6[_0x1a4e('0x11c')])?_0x368e5a[_0x1a4e('0x3216')](_0x55ff7e,_0x2327c6['parent']):void 0x0;return _0x52f821&&_0x1f208a(_0x52f821,0x4);}function _0x1f208a(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1703')](_0x55ff7e[_0x1a4e('0x331e')](_0x146f6e),function(_0x1adc17){return _0xf79407(_0x146f6e,_0x1adc17,void 0x0,_0x2327c6)||(_0x1adc17[_0x1a4e('0x11c')]&&0x60&_0x1adc17[_0x1a4e('0x11c')]['flags']&&_0x2c9ec9(_0x1adc17)?_0x368e5a['getPropertySymbolsFromBaseTypes'](_0x1adc17[_0x1a4e('0x11c')],_0x1adc17[_0x1a4e('0x2cb')],_0x55ff7e,function(_0x368e5a){return _0xf79407(_0x146f6e,_0x1adc17,_0x368e5a,_0x2327c6);}):void 0x0);});}}function _0x180d7d(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x31c1')](_0x146f6e),_0x1adc17=_0x2327c6[_0x1a4e('0x22e5')];if(_0x1adc17){var _0xf79407=void 0x0;do{_0xf79407=_0x55ff7e;for(var _0x2c9ec9=0x0,_0x420b32=_0x1adc17;_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9],_0x326eae=_0x368e5a[_0x1a4e('0x31c0')](_0x1b06ad);_0x326eae&_0x55ff7e&&(_0x55ff7e|=_0x326eae);}}while(_0x55ff7e!==_0xf79407);}return _0x55ff7e;}function _0x20a1c8(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x3029')](_0x146f6e),_0xf79407=_0x2327c6[_0x1a4e('0x3310')](_0x1adc17[_0x1a4e('0x2340')]);if(_0xf79407)for(var _0x2c9ec9=0x0,_0x420b32=_0xf79407[_0x1a4e('0x331f')]();_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];0x1&_0x368e5a['getMeaningFromDeclaration'](_0x1b06ad)&&_0x55ff7e(_0x1b06ad);}}function _0x39c1da(_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,function(_0x368e5a){_0x368e5a[_0x1a4e('0x146b')]===_0x2327c6&&_0x55ff7e(_0x368e5a),_0x39c1da(_0x368e5a,_0x2327c6,_0x55ff7e);});}_0x2327c6[_0x1a4e('0x3320')]=function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){for(var _0x56674b=_0x146f6e['createImportTracker'](_0x2327c6,_0x368e5a[_0x1a4e('0x230b')](_0x2327c6,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x1b39')];}),_0x55ff7e,_0x1adc17)(_0xf79407,{'exportKind':_0x1b06ad?0x1:0x0,'exportingModuleSymbol':_0x2c9ec9},!0x1),_0x3073a0=_0x56674b['importSearches'],_0x52ee81=_0x56674b[_0x1a4e('0x32da')],_0xbc8cd3=0x0,_0x19d467=_0x3073a0;_0xbc8cd3<_0x19d467[_0x1a4e('0x1e')];_0xbc8cd3++)_0x326eae(_0x19d467[_0xbc8cd3][0x0]);for(var _0x52f821=0x0,_0x1f208a=_0x52ee81;_0x52f821<_0x1f208a[_0x1a4e('0x1e')];_0x52f821++)for(var _0x577714=0x0,_0x539f9a=_0x27822e(_0x1f208a[_0x52f821],_0x1b06ad?'default':_0x420b32);_0x577714<_0x539f9a[_0x1a4e('0x1e')];_0x577714++){var _0x3dc2e2=_0x539f9a[_0x577714];_0x368e5a['isIdentifier'](_0x3dc2e2)&&!_0x368e5a[_0x1a4e('0x2542')](_0x3dc2e2[_0x1a4e('0x11c')])&&_0x55ff7e[_0x1a4e('0x3029')](_0x3dc2e2)===_0xf79407&&_0x326eae(_0x3dc2e2);}},_0x2327c6['isSymbolReferencedInFile']=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x56674b(_0x368e5a,_0x146f6e,_0x2327c6,function(){return!0x0;})||!0x1;},_0x2327c6['eachSymbolReferenceInFile']=_0x56674b,_0x2327c6['eachSignatureCall']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x146f6e[_0x1a4e('0x2cb')]&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')]))for(var _0xf79407=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x55ff7e[_0x1a4e('0x3029')](_0x146f6e[_0x1a4e('0x2cb')])),_0x2c9ec9=0x0,_0x420b32=_0x2327c6;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++)for(var _0x1b06ad=0x0,_0x326eae=_0x27822e(_0x420b32[_0x2c9ec9],_0xf79407[_0x1a4e('0x2cb')]);_0x1b06ad<_0x326eae[_0x1a4e('0x1e')];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];if(_0x368e5a[_0x1a4e('0x2370')](_0x56674b)&&_0x56674b!==_0x146f6e[_0x1a4e('0x2cb')]&&_0x56674b[_0x1a4e('0x22f3')]===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]){var _0x3073a0=_0x368e5a[_0x1a4e('0x31c4')](_0x56674b),_0x52ee81=_0x3073a0[_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x2372')](_0x52ee81)&&_0x52ee81[_0x1a4e('0x2302')]===_0x3073a0){var _0xbc8cd3=_0x55ff7e[_0x1a4e('0x3029')](_0x56674b);_0xbc8cd3&&_0x55ff7e[_0x1a4e('0x331e')](_0xbc8cd3)[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a===_0xf79407;})&&_0x1adc17(_0x52ee81);}}}},_0x2327c6[_0x1a4e('0x32e9')]=_0x180d7d,_0x2327c6['getReferenceEntriesForShorthandPropertyAssignment']=_0x20a1c8;}(_0x146f6e[_0x1a4e('0x32e8')]||(_0x146f6e[_0x1a4e('0x32e8')]={}));}(_0x368e5a[_0x1a4e('0x32c9')]||(_0x368e5a[_0x1a4e('0x32c9')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x1adc17(_0x146f6e);return function(_0x146f6e){var _0x420b32=_0xf79407&&_0xf79407[_0x1a4e('0x3321')]({'fileName':_0x146f6e,'pos':0x0}),_0x1b06ad=function(_0x146f6e){if(_0x1adc17(_0x146f6e)===_0x2c9ec9)return _0x55ff7e;var _0x2327c6=_0x368e5a[_0x1a4e('0x25ac')](_0x146f6e,_0x2c9ec9,_0x1adc17);return void 0x0===_0x2327c6?void 0x0:_0x55ff7e+'/'+_0x2327c6;}(_0x420b32?_0x420b32['fileName']:_0x146f6e);return _0x420b32?void 0x0===_0x1b06ad?void 0x0:function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2701')](_0x146f6e,_0x55ff7e,_0xf79407);return _0x2327c6(_0x368e5a['getDirectoryPath'](_0x1adc17),_0x2c9ec9);}(_0x420b32[_0x1a4e('0x1b39')],_0x1b06ad,_0x146f6e,_0x1adc17):_0x1b06ad;};}function _0x2327c6(_0x146f6e,_0x2327c6){return _0x368e5a['ensurePathIsNonModuleName'](function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1672')](_0x368e5a[_0x1a4e('0x1673')](_0x146f6e,_0x2327c6));}(_0x146f6e,_0x2327c6));}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x1adc17(function(_0x368e5a){var _0x146f6e=_0x2327c6(_0x368e5a);return void 0x0!==_0x146f6e&&_0x55ff7e[_0x1a4e('0x1b4d')](_0x146f6e)?{'newFileName':_0x146f6e,'updated':!0x0}:void 0x0;})||_0x1adc17(function(_0x368e5a){var _0x146f6e=_0x2327c6(_0x368e5a);return _0x55ff7e[_0x1a4e('0x1b4d')](_0x368e5a)?void 0x0!==_0x146f6e?{'newFileName':_0x146f6e,'updated':!0x0}:{'newFileName':_0x368e5a,'updated':!0x1}:void 0x0;});function _0x1adc17(_0x2327c6){return _0x146f6e&&(_0x146f6e[_0x1a4e('0x2718')]&&_0x2327c6(_0x146f6e[_0x1a4e('0x2718')][_0x1a4e('0x231a')])||_0x368e5a[_0x1a4e('0x1703')](_0x146f6e[_0x1a4e('0x2809')],_0x2327c6));}}function _0x1adc17(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x247d')](_0x146f6e[_0x1a4e('0x31d6')](_0x2327c6)+0x1,_0x146f6e[_0x1a4e('0xca')]-0x1);}function _0xf79407(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x236f')](_0x146f6e))for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e['properties'];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x368e5a[_0x1a4e('0x23b4')](_0xf79407)&&_0x368e5a['isStringLiteral'](_0xf79407[_0x1a4e('0x2cb')])&&_0x2327c6(_0xf79407,_0xf79407['name'][_0x1a4e('0xe04')]);}}_0x368e5a[_0x1a4e('0x3322')]=function(_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x24c942,_0x3018ce){var _0x27be7c=_0x368e5a[_0x1a4e('0x320b')](_0x326eae),_0x58346a=_0x368e5a[_0x1a4e('0x1761')](_0x27be7c),_0x438331=_0x146f6e(_0x420b32,_0x1b06ad,_0x58346a,_0x3018ce),_0x5dac57=_0x146f6e(_0x1b06ad,_0x420b32,_0x58346a,_0x3018ce);return _0x368e5a['textChanges'][_0x1a4e('0x3323')][_0x1a4e('0x3324')]({'host':_0x326eae,'formatContext':_0x56674b},function(_0x146f6e){!function(_0x146f6e,_0x55ff7e,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){var _0x24c942=_0x146f6e[_0x1a4e('0x23f1')]()[_0x1a4e('0x2fca')];if(_0x24c942){var _0x3018ce=_0x368e5a[_0x1a4e('0x1671')](_0x24c942[_0x1a4e('0x1b39')]),_0x27be7c=_0x368e5a[_0x1a4e('0x2395')](_0x24c942);_0x27be7c&&_0xf79407(_0x27be7c,function(_0x146f6e,_0x2327c6){switch(_0x2327c6){case'files':case'include':case'exclude':var _0x1adc17=_0x58346a(_0x146f6e);if(!_0x1adc17&&_0x1a4e('0x26ea')===_0x2327c6&&_0x368e5a[_0x1a4e('0x2397')](_0x146f6e[_0x1a4e('0x236a')])){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1713')](_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x2398')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2374')](_0x146f6e)?_0x146f6e[_0x1a4e('0xe04')]:void 0x0;}),_0x27be7c=_0x368e5a['getFileMatcherPatterns'](_0x3018ce,[],_0x2c9ec9,_0x56674b,_0x326eae);_0x368e5a[_0x1a4e('0x27bd')](_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0x27be7c[_0x1a4e('0x1b54')]),_0x56674b)[_0x1a4e('0x8d0')](_0x420b32)&&!_0x368e5a['getRegexFromPattern'](_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0x27be7c[_0x1a4e('0x1b54')]),_0x56674b)['test'](_0x1b06ad)&&_0x55ff7e[_0x1a4e('0x321c')](_0x24c942,_0x368e5a['last'](_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x2398')]),_0x368e5a[_0x1a4e('0x2c0b')](_0x5dac57(_0x1b06ad)));}break;case _0x1a4e('0x2706'):_0xf79407(_0x146f6e['initializer'],function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3325')](_0x2327c6);_0x55ff7e&&(_0x55ff7e[_0x1a4e('0x270e')]||_0x1a4e('0x26f0')===_0x55ff7e[_0x1a4e('0x40')]&&_0x55ff7e[_0x1a4e('0x26ee')]['isFilePath'])?_0x58346a(_0x146f6e):_0x1a4e('0x27de')===_0x2327c6&&_0xf79407(_0x146f6e['initializer'],function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2397')](_0x146f6e[_0x1a4e('0x236a')]))for(var _0x2327c6=0x0,_0x55ff7e=_0x146f6e[_0x1a4e('0x236a')][_0x1a4e('0x2398')];_0x2327c6<_0x55ff7e['length'];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x438331(_0x1adc17);}});});}});}function _0x58346a(_0x146f6e){for(var _0x2327c6=_0x368e5a['isArrayLiteralExpression'](_0x146f6e[_0x1a4e('0x236a')])?_0x146f6e[_0x1a4e('0x236a')]['elements']:[_0x146f6e[_0x1a4e('0x236a')]],_0x55ff7e=!0x1,_0x1adc17=0x0,_0xf79407=_0x2327c6;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x55ff7e=_0x438331(_0x2c9ec9)||_0x55ff7e;}return _0x55ff7e;}function _0x438331(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2374')](_0x146f6e))return!0x1;var _0xf79407=_0x2327c6(_0x3018ce,_0x146f6e[_0x1a4e('0xe04')]),_0x420b32=_0x2c9ec9(_0xf79407);return void 0x0!==_0x420b32&&(_0x55ff7e['replaceRangeWithText'](_0x24c942,_0x1adc17(_0x146f6e,_0x24c942),_0x5dac57(_0x420b32)),!0x0);}function _0x5dac57(_0x146f6e){return _0x368e5a[_0x1a4e('0x25a5')](_0x3018ce,_0x146f6e,!_0x56674b);}}(_0x2c9ec9,_0x146f6e,_0x438331,_0x420b32,_0x1b06ad,_0x326eae[_0x1a4e('0x241c')](),_0x27be7c),function(_0x146f6e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){for(var _0x56674b=_0x146f6e[_0x1a4e('0x2447')](),_0x24c942=function(_0x24c942){var _0x3018ce=_0x2c9ec9(_0x24c942[_0x1a4e('0x64')]),_0x27be7c=void 0x0!==_0x3018ce?_0x3018ce:_0x24c942[_0x1a4e('0x64')],_0x58346a=_0x368e5a[_0x1a4e('0x1671')](_0x27be7c),_0x438331=_0x420b32(_0x24c942['fileName']),_0x5dac57=_0x438331||_0x24c942[_0x1a4e('0x1b39')],_0x5132d6=_0x368e5a[_0x1a4e('0x1671')](_0x5dac57),_0x3819b6=void 0x0!==_0x3018ce||void 0x0!==_0x438331;!function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){for(var _0x2c9ec9=0x0,_0x420b32=_0x146f6e[_0x1a4e('0x2617')]||_0x368e5a['emptyArray'];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9],_0x326eae=_0x55ff7e(_0x1b06ad[_0x1a4e('0x1b39')]);void 0x0!==_0x326eae&&_0x326eae!==_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x78')](_0x1b06ad[_0x1a4e('0xa4')],_0x1b06ad['end'])&&_0x2327c6[_0x1a4e('0x3326')](_0x146f6e,_0x1b06ad,_0x326eae);}for(var _0x56674b=0x0,_0x24c942=_0x146f6e[_0x1a4e('0x10ca')];_0x56674b<_0x24c942[_0x1a4e('0x1e')];_0x56674b++){var _0x3018ce=_0x24c942[_0x56674b],_0x326eae=_0xf79407(_0x3018ce);void 0x0!==_0x326eae&&_0x326eae!==_0x3018ce['text']&&_0x2327c6[_0x1a4e('0x3326')](_0x146f6e,_0x1adc17(_0x3018ce,_0x146f6e),_0x326eae);}}(_0x24c942,_0xf79407,function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x22de')](_0x146f6e)){var _0x55ff7e=_0x2327c6(_0x5132d6,_0x146f6e),_0x1adc17=_0x2c9ec9(_0x55ff7e);return void 0x0===_0x1adc17?void 0x0:_0x368e5a[_0x1a4e('0x241f')](_0x368e5a[_0x1a4e('0x25a5')](_0x58346a,_0x1adc17,_0x326eae));}},function(_0x2327c6){var _0x1adc17=_0x146f6e[_0x1a4e('0x302b')]()['getSymbolAtLocation'](_0x2327c6);if(!_0x1adc17||!_0x1adc17[_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x233c')](_0x146f6e);})){var _0xf79407=void 0x0!==_0x438331?_0x55ff7e(_0x368e5a['resolveModuleName'](_0x2327c6[_0x1a4e('0xe04')],_0x5dac57,_0x146f6e[_0x1a4e('0x23f1')](),_0x1b06ad),_0x2c9ec9,_0x1b06ad):function(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){if(_0x146f6e){var _0x1b06ad=_0x368e5a[_0x1a4e('0x1c7')](_0x146f6e[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x22f0')])[_0x1a4e('0x1b39')],_0x326eae=_0x420b32(_0x1b06ad);return void 0x0===_0x326eae?{'newFileName':_0x1b06ad,'updated':!0x1}:{'newFileName':_0x326eae,'updated':!0x0};}var _0x56674b=_0x2c9ec9[_0x1a4e('0x2fd1')]?_0x2c9ec9[_0x1a4e('0x3327')]&&_0x2c9ec9['getResolvedModuleWithFailedLookupLocationsFromCache'](_0x2327c6[_0x1a4e('0xe04')],_0x1adc17['fileName']):_0xf79407[_0x1a4e('0x3327')](_0x2327c6[_0x1a4e('0xe04')],_0x1adc17[_0x1a4e('0x1b39')]);return _0x55ff7e(_0x56674b,_0x420b32,_0x2c9ec9);}(_0x1adc17,_0x2327c6,_0x24c942,_0x146f6e,_0x1b06ad,_0x2c9ec9);return void 0x0!==_0xf79407&&(_0xf79407[_0x1a4e('0x3328')]||_0x3819b6&&_0x368e5a['pathIsRelative'](_0x2327c6['text']))?_0x368e5a[_0x1a4e('0x28d0')][_0x1a4e('0x3084')](_0x146f6e['getCompilerOptions'](),_0x27be7c,_0xf79407[_0x1a4e('0x3329')],_0x1b06ad,_0x56674b,_0x146f6e['redirectTargetsMap'],_0x2327c6[_0x1a4e('0xe04')]):void 0x0;}});},_0x3018ce=0x0,_0x27be7c=_0x56674b;_0x3018ce<_0x27be7c['length'];_0x3018ce++){var _0x58346a=_0x27be7c[_0x3018ce];_0x24c942(_0x58346a);}}(_0x2c9ec9,_0x146f6e,_0x438331,_0x5dac57,_0x326eae,_0x58346a);});},_0x368e5a[_0x1a4e('0x332a')]=_0x146f6e;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6,_0x1adc17){var _0x326eae=_0x55ff7e(_0x2327c6,_0x1adc17,_0x146f6e);if(_0x326eae)return[_0x56674b(_0x326eae['fileName'],_0x326eae['file'][_0x1a4e('0x1b39')])];var _0x8f7955=_0x368e5a[_0x1a4e('0x32f1')](_0x2327c6,_0x1adc17);if(_0x8f7955!==_0x2327c6){var _0x48d3ef=_0x8f7955[_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x31c7')](_0x8f7955)){var _0x104597=_0x368e5a[_0x1a4e('0x31c5')](_0x8f7955[_0x1a4e('0x11c')],_0x8f7955[_0x1a4e('0xe04')]);return _0x104597?[_0x420b32(_0x104597,'label',_0x8f7955['text'],void 0x0)]:void 0x0;}var _0x247e38=_0x146f6e[_0x1a4e('0x302b')](),_0x40b9da=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x3029')](_0x368e5a);if(_0x2327c6&&0x200000&_0x2327c6['flags']&&function(_0x368e5a,_0x146f6e){if(0x48!==_0x368e5a[_0x1a4e('0x146b')])return!0x1;if(_0x368e5a[_0x1a4e('0x11c')]===_0x146f6e)return!0x0;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xfa:case 0xf8:return!0x0;case 0xfd:return 0xfc===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')];default:return!0x1;}}(_0x368e5a,_0x2327c6[_0x1a4e('0x22e5')][0x0])){var _0x55ff7e=_0x146f6e[_0x1a4e('0x248d')](_0x2327c6);if(_0x55ff7e['declarations'])return _0x55ff7e;}return _0x2327c6;}(_0x8f7955,_0x247e38);if(!_0x40b9da)return function(_0x146f6e,_0x2327c6){if(!_0x368e5a[_0x1a4e('0x2371')](_0x146f6e[_0x1a4e('0x11c')])||_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]!==_0x146f6e)return;var _0x55ff7e=_0x2327c6[_0x1a4e('0x31d9')](_0x146f6e[_0x1a4e('0x11c')]['expression']);return _0x368e5a[_0x1a4e('0x1713')](_0x55ff7e['isUnionOrIntersection']()?_0x55ff7e[_0x1a4e('0x2380')]:[_0x55ff7e],function(_0x368e5a){var _0x146f6e=_0x2327c6[_0x1a4e('0x332b')](_0x368e5a,0x0);return _0x146f6e&&_0x146f6e[_0x1a4e('0x2350')]&&_0x1b06ad(_0x2327c6,_0x146f6e[_0x1a4e('0x2350')]);});}(_0x8f7955,_0x247e38);var _0x7ef5d7=function(_0x146f6e,_0x2327c6){var _0x55ff7e=function(_0x146f6e){var _0x2327c6=function _0x146f6e(_0x2327c6){return _0x368e5a[_0x1a4e('0x31cd')](_0x2327c6)?_0x146f6e(_0x2327c6[_0x1a4e('0x11c')]):_0x2327c6;}(_0x146f6e),_0x55ff7e=_0x2327c6[_0x1a4e('0x11c')];return _0x55ff7e&&_0x368e5a[_0x1a4e('0x255b')](_0x55ff7e)&&_0x368e5a[_0x1a4e('0x23a2')](_0x55ff7e)===_0x2327c6?_0x55ff7e:void 0x0;}(_0x2327c6),_0x1adc17=_0x55ff7e&&_0x146f6e[_0x1a4e('0x3255')](_0x55ff7e);return _0x368e5a[_0x1a4e('0x172e')](_0x1adc17&&_0x1adc17[_0x1a4e('0x2350')],function(_0x146f6e){return _0x368e5a['isFunctionLike'](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x24de')](_0x146f6e);});}(_0x247e38,_0x8f7955);if(_0x7ef5d7&&(!_0x368e5a['isJsxOpeningLikeElement'](_0x8f7955[_0x1a4e('0x11c')])||!function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x9d:case 0xa6:case 0xa1:return!0x0;default:return!0x1;}}(_0x7ef5d7))){var _0x58e689=_0x1b06ad(_0x247e38,_0x7ef5d7);if(_0x247e38[_0x1a4e('0x331e')](_0x40b9da)[_0x1a4e('0x1c2')](function(_0x146f6e){return function(_0x146f6e,_0x2327c6){return _0x146f6e===_0x2327c6['symbol']||_0x146f6e===_0x2327c6[_0x1a4e('0xb1b')][_0x1a4e('0x11c')]||!_0x368e5a[_0x1a4e('0x255b')](_0x2327c6[_0x1a4e('0x11c')])&&_0x146f6e===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0xb1b')];}(_0x146f6e,_0x7ef5d7);})||_0x40b9da[_0x1a4e('0x22e5')]&&_0x40b9da[_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](function(_0x146f6e){return _0x368e5a['isVariableDeclaration'](_0x146f6e)&&!!_0x146f6e[_0x1a4e('0x236a')]&&_0x368e5a[_0x1a4e('0x23ae')](_0x146f6e[_0x1a4e('0x236a')],!0x1);}))return[_0x58e689];var _0x4a1a0a=_0xf79407(_0x247e38,_0x40b9da,_0x8f7955)||_0x368e5a['emptyArray'];return 0x62===_0x8f7955[_0x1a4e('0x146b')]?[_0x58e689][_0x1a4e('0x9a')](_0x4a1a0a):_0x4a1a0a[_0x1a4e('0x9a')]([_0x58e689]);}if(0x114===_0x8f7955[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x48c919=_0x247e38[_0x1a4e('0x3310')](_0x40b9da[_0x1a4e('0x2340')]);return _0x48c919?_0x48c919['declarations'][_0x1a4e('0x21')](function(_0x368e5a){return _0x2c9ec9(_0x368e5a,_0x247e38,_0x48c919,_0x8f7955);}):[];}if(_0x368e5a['isPropertyName'](_0x8f7955)&&_0x368e5a[_0x1a4e('0x24a6')](_0x48d3ef)&&_0x368e5a[_0x1a4e('0x2d3f')](_0x48d3ef[_0x1a4e('0x11c')])&&_0x8f7955===(_0x48d3ef[_0x1a4e('0x81a')]||_0x48d3ef[_0x1a4e('0x2cb')])){var _0x1607e4=_0x368e5a['getNameFromPropertyName'](_0x8f7955),_0x4d8b6f=_0x247e38[_0x1a4e('0x31d9')](_0x48d3ef[_0x1a4e('0x11c')]);return void 0x0===_0x1607e4?_0x368e5a[_0x1a4e('0x1700')]:_0x368e5a[_0x1a4e('0x104e')](_0x4d8b6f['isUnion']()?_0x4d8b6f[_0x1a4e('0x2380')]:[_0x4d8b6f],function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x391')](_0x1607e4);return _0x146f6e&&_0xf79407(_0x247e38,_0x146f6e,_0x8f7955);});}var _0x561dca=_0x368e5a['getContainingObjectLiteralElement'](_0x8f7955);if(_0x561dca){var _0x32762b=_0x561dca&&_0x247e38[_0x1a4e('0x323e')](_0x561dca[_0x1a4e('0x11c')]);if(_0x32762b)return _0x368e5a['flatMap'](_0x368e5a[_0x1a4e('0x331c')](_0x561dca,_0x247e38,_0x32762b,!0x1),function(_0x368e5a){return _0xf79407(_0x247e38,_0x368e5a,_0x8f7955);});}return _0xf79407(_0x247e38,_0x40b9da,_0x8f7955);}}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x326eae(_0x146f6e[_0x1a4e('0x2617')],_0x2327c6);if(_0x1adc17)return(_0x420b32=_0x368e5a[_0x1a4e('0x332c')](_0x55ff7e,_0x146f6e,_0x1adc17))&&{'fileName':_0x1adc17[_0x1a4e('0x1b39')],'file':_0x420b32};var _0xf79407=_0x326eae(_0x146f6e['typeReferenceDirectives'],_0x2327c6);if(_0xf79407){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x288e')]()[_0x1a4e('0x179')](_0xf79407['fileName']);return(_0x420b32=_0x2c9ec9&&_0x55ff7e['getSourceFile'](_0x2c9ec9[_0x1a4e('0x231a')]))&&{'fileName':_0xf79407['fileName'],'file':_0x420b32};}var _0x420b32,_0x1b06ad=_0x326eae(_0x146f6e[_0x1a4e('0x2619')],_0x2327c6);return _0x1b06ad?(_0x420b32=_0x55ff7e[_0x1a4e('0x300a')](_0x1b06ad))&&{'fileName':_0x1b06ad[_0x1a4e('0x1b39')],'file':_0x420b32}:void 0x0;}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x104e')](!_0x146f6e['isUnion']()||0x20&_0x146f6e[_0x1a4e('0x7b2')]?[_0x146f6e]:_0x146f6e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x368e5a['symbol']&&_0xf79407(_0x2327c6,_0x368e5a['symbol'],_0x55ff7e);});}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){return function(){if(0x20&_0x2327c6[_0x1a4e('0x7b2')]&&(_0x368e5a[_0x1a4e('0x3313')](_0x55ff7e)||0x7c===_0x55ff7e['kind'])){var _0x146f6e=_0x368e5a[_0x1a4e('0x1c7')](_0x2327c6[_0x1a4e('0x22e5')],_0x368e5a['isClassLike'])||_0x368e5a[_0x1a4e('0x1749')]['fail'](_0x1a4e('0x332d'));return _0x1adc17(_0x146f6e[_0x1a4e('0x2369')],!0x0);}}()||(_0x368e5a[_0x1a4e('0x332e')](_0x55ff7e)||_0x368e5a[_0x1a4e('0x31cf')](_0x55ff7e)?_0x1adc17(_0x2327c6[_0x1a4e('0x22e5')],!0x1):void 0x0)||_0x368e5a['map'](_0x2327c6[_0x1a4e('0x22e5')],function(_0x368e5a){return _0x2c9ec9(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);});function _0x1adc17(_0x1adc17,_0xf79407){if(_0x1adc17){var _0x420b32=_0x1adc17[_0x1a4e('0xd9')](_0xf79407?_0x368e5a[_0x1a4e('0x23e3')]:_0x368e5a[_0x1a4e('0x2342')]);return _0x420b32['length']?[_0x2c9ec9(_0x368e5a[_0x1a4e('0x1c7')](_0x420b32,function(_0x368e5a){return!!_0x368e5a[_0x1a4e('0x8f2')];})||_0x368e5a[_0x1a4e('0x10b1')](_0x420b32),_0x146f6e,_0x2327c6,_0x55ff7e)]:void 0x0;}}}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6[_0x1a4e('0x332f')](_0x55ff7e);return _0x420b32(_0x146f6e,_0x368e5a[_0x1a4e('0x328b')][_0x1a4e('0x328c')](_0x2327c6,_0x55ff7e,_0x1adc17),_0xf79407,_0x55ff7e[_0x1a4e('0x11c')]?_0x2327c6[_0x1a4e('0x332f')](_0x55ff7e[_0x1a4e('0x11c')],_0x1adc17):'');}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a['getNameOfDeclaration'](_0x146f6e)||_0x146f6e,_0x2c9ec9=_0xf79407[_0x1a4e('0x288f')]();return{'fileName':_0x2c9ec9[_0x1a4e('0x1b39')],'textSpan':_0x368e5a[_0x1a4e('0x3289')](_0xf79407,_0x2c9ec9),'kind':_0x2327c6,'name':_0x55ff7e,'containerKind':void 0x0,'containerName':_0x1adc17};}function _0x1b06ad(_0x368e5a,_0x146f6e){return _0x2c9ec9(_0x146f6e,_0x368e5a,_0x146f6e[_0x1a4e('0xb1b')],_0x146f6e);}function _0x326eae(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1c7')](_0x146f6e,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x24b7')](_0x146f6e,_0x2327c6);});}function _0x56674b(_0x146f6e,_0x2327c6){return{'fileName':_0x2327c6,'textSpan':_0x368e5a[_0x1a4e('0x22fa')](0x0,0x0),'kind':_0x1a4e('0xe3e'),'name':_0x146f6e,'containerName':void 0x0,'containerKind':void 0x0};}_0x146f6e[_0x1a4e('0x3330')]=_0x2327c6,_0x146f6e[_0x1a4e('0x32f9')]=_0x55ff7e,_0x146f6e[_0x1a4e('0x3331')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x32f1')](_0x2327c6,_0x55ff7e);if(_0xf79407!==_0x2327c6){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x3029')](_0xf79407);if(_0x2c9ec9){var _0x420b32=_0x146f6e['getTypeOfSymbolAtLocation'](_0x2c9ec9,_0xf79407),_0x1b06ad=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x2327c6[_0x1a4e('0xb1b')]===_0x146f6e||_0x146f6e['valueDeclaration']&&_0x2327c6['symbol']&&_0x368e5a['isVariableDeclaration'](_0x146f6e[_0x1a4e('0x2340')])&&_0x146f6e['valueDeclaration'][_0x1a4e('0x236a')]===_0x2327c6[_0x1a4e('0xb1b')][_0x1a4e('0x2340')]){var _0x1adc17=_0x2327c6[_0x1a4e('0x31db')]();if(0x1===_0x1adc17[_0x1a4e('0x1e')])return _0x55ff7e[_0x1a4e('0x3332')](_0x368e5a[_0x1a4e('0x10f7')](_0x1adc17));}}(_0x2c9ec9,_0x420b32,_0x146f6e),_0x326eae=_0x1b06ad&&_0x1adc17(_0x1b06ad,_0x146f6e,_0xf79407);return _0x326eae&&0x0!==_0x326eae[_0x1a4e('0x1e')]?_0x326eae:_0x1adc17(_0x420b32,_0x146f6e,_0xf79407);}}},_0x146f6e[_0x1a4e('0x3333')]=function(_0x146f6e,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6(_0x146f6e,_0x55ff7e,_0x1adc17);if(_0xf79407&&0x0!==_0xf79407[_0x1a4e('0x1e')]){var _0x2c9ec9=_0x326eae(_0x55ff7e['referencedFiles'],_0x1adc17)||_0x326eae(_0x55ff7e['typeReferenceDirectives'],_0x1adc17)||_0x326eae(_0x55ff7e[_0x1a4e('0x2619')],_0x1adc17);if(_0x2c9ec9)return{'definitions':_0xf79407,'textSpan':_0x368e5a[_0x1a4e('0x31ff')](_0x2c9ec9)};var _0x420b32=_0x368e5a['getTouchingPropertyName'](_0x55ff7e,_0x1adc17);return{'definitions':_0xf79407,'textSpan':_0x368e5a[_0x1a4e('0x22fb')](_0x420b32['getStart'](),_0x420b32[_0x1a4e('0x29b')]())};}},_0x146f6e[_0x1a4e('0x3334')]=_0x326eae;}(_0x368e5a[_0x1a4e('0x32f8')]||(_0x368e5a[_0x1a4e('0x32f8')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17=[_0x1a4e('0x2be0'),_0x1a4e('0x3335'),'alias',_0x1a4e('0x2300'),'async',_0x1a4e('0x2696'),_0x1a4e('0x3336'),_0x1a4e('0x3337'),_0x1a4e('0x13db'),'class',_0x1a4e('0x3338'),_0x1a4e('0x1045'),'constructor',_0x1a4e('0x3339'),_0x1a4e('0x333a'),_0x1a4e('0x8'),_0x1a4e('0x333b'),_0x1a4e('0x27b1'),'emits',_0x1a4e('0x889'),_0x1a4e('0x333c'),_0x1a4e('0x333d'),_0x1a4e('0x0'),_0x1a4e('0x229d'),'external','field',_0x1a4e('0x15c9'),_0x1a4e('0x333e'),_0x1a4e('0x333f'),_0x1a4e('0x68'),'generator','global',_0x1a4e('0x3340'),_0x1a4e('0x1599'),_0x1a4e('0x3341'),'implements','inheritdoc',_0x1a4e('0xdc6'),_0x1a4e('0x3bf'),'interface',_0x1a4e('0x146b'),_0x1a4e('0x3342'),_0x1a4e('0x3343'),_0x1a4e('0x3344'),_0x1a4e('0x3345'),_0x1a4e('0x3346'),_0x1a4e('0x1062'),_0x1a4e('0x3347'),_0x1a4e('0xa6c'),_0x1a4e('0x2cb'),'namespace',_0x1a4e('0x3348'),_0x1a4e('0x22a6'),'param',_0x1a4e('0x22a7'),_0x1a4e('0x81e'),_0x1a4e('0x22a8'),'public',_0x1a4e('0x22aa'),'requires',_0x1a4e('0x2cd4'),_0x1a4e('0x3349'),_0x1a4e('0x334a'),_0x1a4e('0x22ab'),_0x1a4e('0x334b'),_0x1a4e('0xe19'),_0x1a4e('0x19b5'),_0x1a4e('0x334c'),_0x1a4e('0x334d'),_0x1a4e('0x334e'),'type','typedef','var',_0x1a4e('0x334f'),_0x1a4e('0xb98'),_0x1a4e('0x95b'),_0x1a4e('0x3350')];function _0xf79407(_0x368e5a){var _0x146f6e=_0x368e5a['comment'];switch(_0x368e5a['kind']){case 0x127:return _0x55ff7e(_0x368e5a[_0x1a4e('0x237e')]);case 0x12f:return _0x1adc17(_0x368e5a['typeParameters'][_0x1a4e('0x21')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x230e')]();})['join'](',\x20'));case 0x12e:return _0x55ff7e(_0x368e5a[_0x1a4e('0x2379')]);case 0x130:case 0x129:case 0x131:case 0x12b:var _0x2327c6=_0x368e5a[_0x1a4e('0x2cb')];return _0x2327c6?_0x55ff7e(_0x2327c6):_0x146f6e;default:return _0x146f6e;}function _0x55ff7e(_0x368e5a){return _0x1adc17(_0x368e5a[_0x1a4e('0x230e')]());}function _0x1adc17(_0x368e5a){return void 0x0===_0x146f6e?_0x368e5a:_0x368e5a+'\x20'+_0x146f6e;}}function _0x2c9ec9(_0x368e5a,_0x146f6e){if(_0x368e5a)for(var _0x2327c6=0x0;_0x2327c6<_0x368e5a['length'];_0x2327c6++)if(_0x368e5a[_0x1a4e('0x3e')](_0x368e5a[_0x2327c6])===_0x2327c6){var _0x55ff7e=_0x146f6e(_0x368e5a[_0x2327c6],_0x2327c6);if(_0x55ff7e)return _0x55ff7e;}}function _0x420b32(_0x146f6e){return{'name':_0x146f6e,'kind':'','kindModifiers':'','displayParts':[_0x368e5a[_0x1a4e('0x3226')](_0x146f6e)],'documentation':_0x368e5a['emptyArray'],'tags':void 0x0,'codeActions':void 0x0};}function _0x1b06ad(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xef:case 0xc4:case 0x9c:case 0x9d:case 0x9b:return{'commentOwner':_0x146f6e,'parameters':_0x146f6e[_0x1a4e('0x111a')]};case 0x113:return _0x1b06ad(_0x146f6e[_0x1a4e('0x236a')]);case 0xf0:case 0xf1:case 0x99:case 0xf3:case 0x116:case 0xf2:return{'commentOwner':_0x146f6e};case 0xdb:var _0x2327c6=_0x146f6e[_0x1a4e('0x2377')]['declarations'];return{'commentOwner':_0x146f6e,'parameters':0x1===_0x2327c6['length']&&_0x2327c6[0x0][_0x1a4e('0x236a')]?function(_0x146f6e){for(;0xc3===_0x146f6e['kind'];)_0x146f6e=_0x146f6e[_0x1a4e('0x2302')];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xc4:case 0xc5:return _0x146f6e[_0x1a4e('0x111a')];case 0xd1:var _0x2327c6=_0x368e5a[_0x1a4e('0x1c7')](_0x146f6e['members'],_0x368e5a['isConstructorDeclaration']);return _0x2327c6?_0x2327c6[_0x1a4e('0x111a')]:_0x368e5a['emptyArray'];}return _0x368e5a[_0x1a4e('0x1700')];}(_0x2327c6[0x0][_0x1a4e('0x236a')]):void 0x0};case 0x117:return _0x1a4e('0x1b55');case 0xf4:return 0xf4===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?void 0x0:{'commentOwner':_0x146f6e};case 0xcc:var _0x55ff7e=_0x146f6e;return 0x0===_0x368e5a['getAssignmentDeclarationKind'](_0x55ff7e)?_0x1a4e('0x1b55'):{'commentOwner':_0x146f6e,'parameters':_0x368e5a[_0x1a4e('0x2342')](_0x55ff7e['right'])?_0x55ff7e[_0x1a4e('0x5d')][_0x1a4e('0x111a')]:_0x368e5a[_0x1a4e('0x1700')]};}}_0x146f6e[_0x1a4e('0x3351')]=function(_0x146f6e){var _0x2327c6=[];return _0x2c9ec9(_0x146f6e,function(_0x146f6e){for(var _0x55ff7e=0x0,_0x1adc17=function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x12b:case 0x131:return[_0x146f6e];case 0x129:case 0x130:return[_0x146f6e,_0x146f6e['parent']];default:return _0x368e5a[_0x1a4e('0x23cf')](_0x146f6e);}}(_0x146f6e);_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e]['comment'];void 0x0!==_0xf79407&&(_0x2327c6[_0x1a4e('0x1e')]&&_0x2327c6[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x322b')]()),_0x2327c6[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3226')](_0xf79407)));}}),_0x2327c6;},_0x146f6e[_0x1a4e('0x3352')]=function(_0x146f6e){var _0x2327c6=[];return _0x2c9ec9(_0x146f6e,function(_0x146f6e){for(var _0x55ff7e=0x0,_0x1adc17=_0x368e5a['getJSDocTags'](_0x146f6e);_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0x2c9ec9=_0x1adc17[_0x55ff7e];_0x2327c6[_0x1a4e('0x46')]({'name':_0x2c9ec9[_0x1a4e('0x132b')]['text'],'text':_0xf79407(_0x2c9ec9)});}}),_0x2327c6;},_0x146f6e[_0x1a4e('0x3284')]=function(){return _0x2327c6||(_0x2327c6=_0x368e5a[_0x1a4e('0x21')](_0x1adc17,function(_0x368e5a){return{'name':_0x368e5a,'kind':_0x1a4e('0x315c'),'kindModifiers':'','sortText':'0'};}));},_0x146f6e[_0x1a4e('0x3353')]=_0x420b32,_0x146f6e['getJSDocTagCompletions']=function(){return _0x55ff7e||(_0x55ff7e=_0x368e5a['map'](_0x1adc17,function(_0x368e5a){return{'name':'@'+_0x368e5a,'kind':_0x1a4e('0x315c'),'kindModifiers':'','sortText':'0'};}));},_0x146f6e['getJSDocTagCompletionDetails']=_0x420b32,_0x146f6e[_0x1a4e('0x3354')]=function(_0x146f6e){if(!_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')]))return _0x368e5a[_0x1a4e('0x1700')];var _0x2327c6=_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')],_0x55ff7e=_0x146f6e['parent'],_0x1adc17=_0x55ff7e[_0x1a4e('0x11c')];return _0x368e5a[_0x1a4e('0x2342')](_0x1adc17)?_0x368e5a[_0x1a4e('0x1713')](_0x1adc17[_0x1a4e('0x111a')],function(_0x1adc17){if(_0x368e5a[_0x1a4e('0x2370')](_0x1adc17['name'])){var _0xf79407=_0x1adc17[_0x1a4e('0x2cb')]['text'];if(!_0x55ff7e[_0x1a4e('0x2455')][_0x1a4e('0x1c2')](function(_0x2327c6){return _0x2327c6!==_0x146f6e&&_0x368e5a[_0x1a4e('0x24a9')](_0x2327c6)&&_0x368e5a[_0x1a4e('0x2370')](_0x2327c6[_0x1a4e('0x2cb')])&&_0x2327c6['name'][_0x1a4e('0x22f3')]===_0xf79407;})&&(void 0x0===_0x2327c6||_0x368e5a[_0x1a4e('0xdfb')](_0xf79407,_0x2327c6)))return{'name':_0xf79407,'kind':_0x1a4e('0x3190'),'kindModifiers':'','sortText':'0'};}}):[];},_0x146f6e['getJSDocParameterNameCompletionDetails']=function(_0x146f6e){return{'name':_0x146f6e,'kind':'parameter','kindModifiers':'','displayParts':[_0x368e5a[_0x1a4e('0x3226')](_0x146f6e)],'documentation':_0x368e5a[_0x1a4e('0x1700')],'tags':void 0x0,'codeActions':void 0x0};},_0x146f6e[_0x1a4e('0x3355')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['getTokenAtPosition'](_0x2327c6,_0x55ff7e),_0xf79407=_0x368e5a[_0x1a4e('0x283d')](_0x1adc17,_0x368e5a[_0x1a4e('0x2378')]);if(!_0xf79407||void 0x0===_0xf79407[_0x1a4e('0x2695')]&&!_0x368e5a[_0x1a4e('0x1e')](_0xf79407[_0x1a4e('0x2455')])){var _0x2c9ec9=_0x1adc17[_0x1a4e('0x31d6')](_0x2327c6);if(_0xf79407||!(_0x2c9ec9<_0x55ff7e)){var _0x420b32=function(_0x146f6e){return _0x368e5a['forEachAncestor'](_0x146f6e,_0x1b06ad);}(_0x1adc17);if(_0x420b32){var _0x326eae=_0x420b32[_0x1a4e('0x3356')],_0x56674b=_0x420b32[_0x1a4e('0x111a')];if(!(_0x326eae[_0x1a4e('0x31d6')](_0x2327c6)<_0x55ff7e)){if(!_0x56674b||0x0===_0x56674b['length'])return{'newText':'/**\x20*/','caretOffset':0x3};var _0x5f2293=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x146f6e[_0x1a4e('0xe04')],_0x1adc17=_0x368e5a[_0x1a4e('0x31e0')](_0x2327c6,_0x146f6e),_0xf79407=_0x1adc17;_0xf79407<=_0x2327c6&&_0x368e5a[_0x1a4e('0x242b')](_0x55ff7e[_0x1a4e('0x913')](_0xf79407));_0xf79407++);return _0x55ff7e[_0x1a4e('0x78')](_0x1adc17,_0xf79407);}(_0x2327c6,_0x55ff7e),_0x4cd1be=_0x1a4e('0x2f5a')+_0x146f6e+_0x5f2293+_0x1a4e('0x3357');return{'newText':_0x4cd1be+_0x146f6e+function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['map'](function(_0x368e5a,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2cb')],_0x2c9ec9=_0x368e5a[_0x1a4e('0x25f9')],_0x420b32=0x48===_0xf79407[_0x1a4e('0x146b')]?_0xf79407[_0x1a4e('0xe04')]:'param'+_0x1adc17,_0x1b06ad=_0x146f6e?_0x2c9ec9?_0x1a4e('0x3358'):_0x1a4e('0x3359'):'';return _0x2327c6+_0x1a4e('0x335a')+_0x1b06ad+_0x420b32+_0x55ff7e;})[_0x1a4e('0x9e')]('');}(_0x56674b,_0x368e5a[_0x1a4e('0x25cf')](_0x2327c6[_0x1a4e('0x1b39')]),_0x5f2293,_0x146f6e)+_0x5f2293+'\x20*/'+(_0x2c9ec9===_0x55ff7e?_0x146f6e+_0x5f2293:''),'caretOffset':_0x4cd1be[_0x1a4e('0x1e')]};}}}}};}(_0x368e5a['JsDoc']||(_0x368e5a[_0x1a4e('0x3283')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x368e5a,_0x146f6e){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xfa:case 0xfd:case 0xf8:var _0x2327c6=_0x146f6e[_0x1a4e('0x3029')](_0x368e5a[_0x1a4e('0x2cb')]),_0x55ff7e=_0x146f6e[_0x1a4e('0x248d')](_0x2327c6);return _0x2327c6[_0x1a4e('0x22e8')]!==_0x55ff7e[_0x1a4e('0x22e8')];default:return!0x0;}}function _0x55ff7e(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e);return!!_0x55ff7e&&(_0xf79407(_0x55ff7e,_0x2327c6)||0x95===_0x55ff7e[_0x1a4e('0x146b')]&&_0x1adc17(_0x55ff7e[_0x1a4e('0x2302')],_0x2327c6));}function _0x1adc17(_0x146f6e,_0x2327c6){return _0xf79407(_0x146f6e,_0x2327c6)||_0x368e5a['isPropertyAccessExpression'](_0x146f6e)&&(_0x2327c6[_0x1a4e('0x46')](_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]),!0x0)&&_0x1adc17(_0x146f6e['expression'],_0x2327c6);}function _0xf79407(_0x146f6e,_0x2327c6){return _0x368e5a['isPropertyNameLiteral'](_0x146f6e)&&(_0x2327c6[_0x1a4e('0x46')](_0x368e5a['getTextOfIdentifierOrLiteral'](_0x146f6e)),!0x0);}function _0x2c9ec9(_0x146f6e){var _0x2327c6=[],_0xf79407=_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e);if(_0xf79407&&0x95===_0xf79407[_0x1a4e('0x146b')]&&!_0x1adc17(_0xf79407['expression'],_0x2327c6))return _0x368e5a[_0x1a4e('0x1700')];_0x2327c6[_0x1a4e('0x7d')]();for(var _0x2c9ec9=_0x368e5a[_0x1a4e('0x31d1')](_0x146f6e);_0x2c9ec9;){if(!_0x55ff7e(_0x2c9ec9,_0x2327c6))return _0x368e5a[_0x1a4e('0x1700')];_0x2c9ec9=_0x368e5a['getContainerNode'](_0x2c9ec9);}return _0x2327c6[_0x1a4e('0x9b')]();}function _0x420b32(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x166e')](_0x146f6e[_0x1a4e('0x335b')],_0x2327c6['matchKind'])||_0x368e5a[_0x1a4e('0x1754')](_0x146f6e[_0x1a4e('0x2cb')],_0x2327c6[_0x1a4e('0x2cb')]);}function _0x1b06ad(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2350')],_0x55ff7e=_0x368e5a[_0x1a4e('0x31d1')](_0x2327c6),_0x1adc17=_0x55ff7e&&_0x368e5a[_0x1a4e('0x23e9')](_0x55ff7e);return{'name':_0x146f6e[_0x1a4e('0x2cb')],'kind':_0x368e5a[_0x1a4e('0x31d2')](_0x2327c6),'kindModifiers':_0x368e5a['getNodeModifiers'](_0x2327c6),'matchKind':_0x368e5a[_0x1a4e('0x335c')][_0x146f6e[_0x1a4e('0x335b')]],'isCaseSensitive':_0x146f6e[_0x1a4e('0x335d')],'fileName':_0x146f6e[_0x1a4e('0x1b39')],'textSpan':_0x368e5a[_0x1a4e('0x3289')](_0x2327c6),'containerName':_0x1adc17?_0x1adc17[_0x1a4e('0xe04')]:'','containerKind':_0x1adc17?_0x368e5a['getNodeKind'](_0x55ff7e):''};}_0x146f6e[_0x1a4e('0x335e')]=function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x326eae,_0x56674b){var _0x41a14b=_0x368e5a[_0x1a4e('0x335f')](_0xf79407);if(!_0x41a14b)return _0x368e5a[_0x1a4e('0x1700')];for(var _0x18e81b=[],_0x1bf820=function(_0x368e5a){if(_0x1adc17['throwIfCancellationRequested'](),_0x56674b&&_0x368e5a[_0x1a4e('0x2423')])return _0x1a4e('0x137e');_0x368e5a['getNamedDeclarations']()[_0x1a4e('0x3b')](function(_0x146f6e,_0x1adc17){!function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32){var _0x1b06ad=_0x368e5a[_0x1a4e('0x3360')](_0x146f6e);if(_0x1b06ad)for(var _0x326eae=0x0,_0x56674b=_0x55ff7e;_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x41a14b=_0x56674b[_0x326eae];if(_0x2327c6(_0x41a14b,_0x1adc17))if(_0x368e5a[_0x1a4e('0x3361')]){var _0x18e81b=_0x368e5a[_0x1a4e('0x3362')](_0x2c9ec9(_0x41a14b),_0x146f6e);_0x18e81b&&_0x420b32['push']({'name':_0x146f6e,'fileName':_0xf79407,'matchKind':_0x18e81b[_0x1a4e('0x146b')],'isCaseSensitive':_0x18e81b[_0x1a4e('0x335d')],'declaration':_0x41a14b});}else _0x420b32[_0x1a4e('0x46')]({'name':_0x146f6e,'fileName':_0xf79407,'matchKind':_0x1b06ad[_0x1a4e('0x146b')],'isCaseSensitive':_0x1b06ad[_0x1a4e('0x335d')],'declaration':_0x41a14b});}}(_0x41a14b,_0x1adc17,_0x146f6e,_0x55ff7e,_0x368e5a[_0x1a4e('0x1b39')],_0x18e81b);});},_0x4b22b5=0x0,_0x10d5f6=_0x146f6e;_0x4b22b5<_0x10d5f6['length'];_0x4b22b5++)_0x1bf820(_0x10d5f6[_0x4b22b5]);return _0x18e81b[_0x1a4e('0x89')](_0x420b32),(void 0x0===_0x326eae?_0x18e81b:_0x18e81b['slice'](0x0,_0x326eae))[_0x1a4e('0x21')](_0x1b06ad);};}(_0x368e5a[_0x1a4e('0x3363')]||(_0x368e5a[_0x1a4e('0x3363')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407=/\s+/g,_0x2c9ec9=[],_0x420b32=[];function _0x1b06ad(){_0x55ff7e=void 0x0,_0x2327c6=void 0x0,_0x2c9ec9=[],_0x1adc17=void 0x0,_0x420b32=[];}function _0x326eae(_0x368e5a){return _0x368e5a[_0x1a4e('0x230e')](_0x55ff7e);}function _0x56674b(_0x368e5a){return _0x368e5a[_0x1a4e('0x80')][_0x1a4e('0x146b')];}function _0x5ba990(_0x368e5a,_0x146f6e){_0x368e5a[_0x1a4e('0x6f')]?_0x368e5a[_0x1a4e('0x6f')][_0x1a4e('0x46')](_0x146f6e):_0x368e5a[_0x1a4e('0x6f')]=[_0x146f6e];}function _0x4f51d7(_0x146f6e){_0x368e5a['Debug']['assert'](!_0x2c9ec9[_0x1a4e('0x1e')]);var _0x2327c6={'node':_0x146f6e,'name':void 0x0,'additionalNodes':void 0x0,'parent':void 0x0,'children':void 0x0,'indent':0x0};_0x1adc17=_0x2327c6;for(var _0x55ff7e=0x0,_0xf79407=_0x146f6e[_0x1a4e('0x2366')];_0x55ff7e<_0xf79407[_0x1a4e('0x1e')];_0x55ff7e++){_0x1a7d81(_0xf79407[_0x55ff7e]);}return _0x1c2d72(),_0x368e5a['Debug']['assert'](!_0x1adc17&&!_0x2c9ec9[_0x1a4e('0x1e')]),_0x2327c6;}function _0x30b630(_0x368e5a){_0x5ba990(_0x1adc17,_0x2dbe2f(_0x368e5a));}function _0x2dbe2f(_0x146f6e){return{'node':_0x146f6e,'name':_0x368e5a[_0x1a4e('0x23e6')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24a8')](_0x146f6e)?_0x368e5a['getNameOfDeclaration'](_0x146f6e):void 0x0,'additionalNodes':void 0x0,'parent':_0x1adc17,'children':void 0x0,'indent':_0x1adc17['indent']+0x1};}function _0x272f98(_0x368e5a){var _0x146f6e=_0x2dbe2f(_0x368e5a);_0x5ba990(_0x1adc17,_0x146f6e),_0x2c9ec9[_0x1a4e('0x46')](_0x1adc17),_0x1adc17=_0x146f6e;}function _0x1c2d72(){_0x1adc17[_0x1a4e('0x6f')]&&(_0x33a684(_0x1adc17[_0x1a4e('0x6f')],_0x1adc17),_0x225c19(_0x1adc17[_0x1a4e('0x6f')])),_0x1adc17=_0x2c9ec9['pop']();}function _0x194528(_0x368e5a,_0x146f6e){_0x272f98(_0x368e5a),_0x1a7d81(_0x146f6e),_0x1c2d72();}function _0x1a7d81(_0x146f6e){if(_0x2327c6[_0x1a4e('0x289b')](),_0x146f6e&&!_0x368e5a[_0x1a4e('0x2d7b')](_0x146f6e))switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9d:var _0x55ff7e=_0x146f6e;_0x194528(_0x55ff7e,_0x55ff7e[_0x1a4e('0x8f2')]);for(var _0x1adc17=0x0,_0xf79407=_0x55ff7e[_0x1a4e('0x111a')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x368e5a[_0x1a4e('0x235e')](_0x2c9ec9)&&_0x30b630(_0x2c9ec9);}break;case 0x9c:case 0x9e:case 0x9f:case 0x9b:_0x368e5a[_0x1a4e('0x23fe')](_0x146f6e)||_0x194528(_0x146f6e,_0x146f6e[_0x1a4e('0x8f2')]);break;case 0x9a:case 0x99:_0x368e5a[_0x1a4e('0x23fe')](_0x146f6e)||_0x30b630(_0x146f6e);break;case 0xfa:var _0x420b32=_0x146f6e;_0x420b32[_0x1a4e('0x2cb')]&&_0x30b630(_0x420b32[_0x1a4e('0x2cb')]);var _0x1b06ad=_0x420b32[_0x1a4e('0x23c7')];if(_0x1b06ad)if(0xfb===_0x1b06ad[_0x1a4e('0x146b')])_0x30b630(_0x1b06ad);else for(var _0x326eae=0x0,_0x56674b=_0x1b06ad[_0x1a4e('0x2398')];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){_0x30b630(_0x56674b[_0x326eae]);}break;case 0xba:case 0xed:var _0x5ba990=_0x146f6e,_0x4f51d7=_0x5ba990[_0x1a4e('0x2cb')],_0x2dbe2f=_0x5ba990['initializer'];_0x368e5a['isBindingPattern'](_0x4f51d7)?_0x1a7d81(_0x4f51d7):_0x2dbe2f&&function(_0x368e5a){switch(_0x368e5a['kind']){case 0xc5:case 0xc4:case 0xd1:return!0x0;default:return!0x1;}}(_0x2dbe2f)?_0x2dbe2f[_0x1a4e('0x2cb')]?_0x1a7d81(_0x2dbe2f):(_0x272f98(_0x146f6e),_0x368e5a[_0x1a4e('0x22eb')](_0x2dbe2f,_0x1a7d81),_0x1c2d72()):_0x194528(_0x146f6e,_0x2dbe2f);break;case 0xc5:case 0xef:case 0xc4:_0x194528(_0x146f6e,_0x146f6e['body']);break;case 0xf3:_0x272f98(_0x146f6e);for(var _0x183626=0x0,_0x4d330d=_0x146f6e[_0x1a4e('0x2369')];_0x183626<_0x4d330d[_0x1a4e('0x1e')];_0x183626++){_0x13e687(_0x34fb7b=_0x4d330d[_0x183626])||_0x30b630(_0x34fb7b);}_0x1c2d72();break;case 0xf0:case 0xd1:case 0xf1:_0x272f98(_0x146f6e);for(var _0x1ceb67=0x0,_0x6c456e=_0x146f6e['members'];_0x1ceb67<_0x6c456e['length'];_0x1ceb67++){var _0x34fb7b;_0x1a7d81(_0x34fb7b=_0x6c456e[_0x1ceb67]);}_0x1c2d72();break;case 0xf4:_0x194528(_0x146f6e,function _0x146f6e(_0x2327c6){return _0x2327c6['body']&&_0x368e5a[_0x1a4e('0x22ef')](_0x2327c6[_0x1a4e('0x8f2')])?_0x146f6e(_0x2327c6[_0x1a4e('0x8f2')]):_0x2327c6;}(_0x146f6e)[_0x1a4e('0x8f2')]);break;case 0x101:case 0xf8:case 0xa2:case 0xa0:case 0xa1:case 0xf2:_0x30b630(_0x146f6e);break;case 0xcc:var _0x212900=_0x368e5a[_0x1a4e('0x23ba')](_0x146f6e);switch(_0x212900){case 0x1:case 0x2:case 0x3:case 0x6:return void _0x194528(_0x146f6e,_0x146f6e['right']);case 0x4:case 0x5:case 0x0:case 0x7:case 0x8:case 0x9:break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x212900);}default:_0x368e5a[_0x1a4e('0x23d0')](_0x146f6e)&&_0x368e5a['forEach'](_0x146f6e['jsDoc'],function(_0x146f6e){_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x2455')],function(_0x146f6e){_0x368e5a[_0x1a4e('0x23cd')](_0x146f6e)&&_0x30b630(_0x146f6e);});}),_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,_0x1a7d81);}}function _0x33a684(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1772')]();_0x368e5a[_0x1a4e('0x27ca')](_0x146f6e,function(_0x146f6e){var _0x1adc17=_0x368e5a['getNameOfDeclaration'](_0x146f6e[_0x1a4e('0x80')]),_0xf79407=_0x1adc17&&_0x326eae(_0x1adc17);if(!_0xf79407)return!0x0;var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x179')](_0xf79407);if(!_0x2c9ec9)return _0x55ff7e[_0x1a4e('0x17a')](_0xf79407,_0x146f6e),!0x0;if(_0x2c9ec9 instanceof Array){for(var _0x420b32=0x0,_0x1b06ad=_0x2c9ec9;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x56674b;if(_0x5a3385(_0x56674b=_0x1b06ad[_0x420b32],_0x146f6e,_0x2327c6))return!0x1;}return _0x2c9ec9[_0x1a4e('0x46')](_0x146f6e),!0x0;}return!_0x5a3385(_0x56674b=_0x2c9ec9,_0x146f6e,_0x2327c6)&&(_0x55ff7e[_0x1a4e('0x17a')](_0xf79407,[_0x56674b,_0x146f6e]),!0x0);});}function _0x5a3385(_0x146f6e,_0x2327c6,_0x55ff7e){return!!function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e[_0x1a4e('0x146b')]!==_0x2327c6[_0x1a4e('0x146b')]||_0x146f6e[_0x1a4e('0x11c')]!==_0x2327c6[_0x1a4e('0x11c')]&&(!_0x5ea1ae(_0x146f6e,_0x55ff7e)||!_0x5ea1ae(_0x2327c6,_0x55ff7e)))return!0x1;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9a:case 0x9c:case 0x9e:case 0x9f:return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x20)===_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x20);case 0xf4:return function _0x368e5a(_0x146f6e,_0x2327c6){return _0x146f6e[_0x1a4e('0x8f2')]['kind']===_0x2327c6['body'][_0x1a4e('0x146b')]&&(0xf4!==_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x146b')]||_0x368e5a(_0x146f6e[_0x1a4e('0x8f2')],_0x2327c6['body']));}(_0x146f6e,_0x2327c6);default:return!0x0;}}(_0x146f6e[_0x1a4e('0x80')],_0x2327c6[_0x1a4e('0x80')],_0x55ff7e)&&(function(_0x146f6e,_0x2327c6){var _0x55ff7e;_0x146f6e['additionalNodes']=_0x146f6e['additionalNodes']||[],_0x146f6e[_0x1a4e('0x3364')]['push'](_0x2327c6[_0x1a4e('0x80')]),_0x2327c6['additionalNodes']&&(_0x55ff7e=_0x146f6e[_0x1a4e('0x3364')])[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x55ff7e,_0x2327c6[_0x1a4e('0x3364')]);_0x146f6e[_0x1a4e('0x6f')]=_0x368e5a[_0x1a4e('0x1717')](_0x146f6e[_0x1a4e('0x6f')],_0x2327c6[_0x1a4e('0x6f')]),_0x146f6e[_0x1a4e('0x6f')]&&(_0x33a684(_0x146f6e[_0x1a4e('0x6f')],_0x146f6e),_0x225c19(_0x146f6e[_0x1a4e('0x6f')]));}(_0x146f6e,_0x2327c6),!0x0);}function _0x5ea1ae(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x251e')](_0x146f6e[_0x1a4e('0x11c')])?_0x146f6e['parent'][_0x1a4e('0x11c')]:_0x146f6e[_0x1a4e('0x11c')];return _0x55ff7e===_0x2327c6['node']||_0x368e5a['contains'](_0x2327c6[_0x1a4e('0x3364')],_0x55ff7e);}function _0x225c19(_0x368e5a){_0x368e5a[_0x1a4e('0x89')](_0x4a40f2);}function _0x4a40f2(_0x146f6e,_0x2327c6){return _0x368e5a['compareStringsCaseSensitiveUI'](_0x5f072c(_0x146f6e[_0x1a4e('0x80')]),_0x5f072c(_0x2327c6[_0x1a4e('0x80')]))||_0x368e5a[_0x1a4e('0x166e')](_0x56674b(_0x146f6e),_0x56674b(_0x2327c6));}function _0x5f072c(_0x146f6e){if(0xf4===_0x146f6e[_0x1a4e('0x146b')])return _0x138ad0(_0x146f6e);var _0x2327c6=_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e);if(_0x2327c6&&_0x368e5a[_0x1a4e('0x254b')](_0x2327c6))return _0x368e5a[_0x1a4e('0x24d1')](_0x368e5a[_0x1a4e('0x29ee')](_0x2327c6));switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xc4:case 0xc5:case 0xd1:return _0x1ca4c9(_0x146f6e);default:return;}}function _0x5ca63d(_0x146f6e,_0x2327c6){if(0xf4===_0x146f6e[_0x1a4e('0x146b')])return _0x138ad0(_0x146f6e);if(_0x2327c6){var _0x55ff7e=_0x326eae(_0x2327c6);if(_0x55ff7e[_0x1a4e('0x1e')]>0x0)return _0x55ff7e;}switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x117:var _0x1adc17=_0x146f6e;return _0x368e5a['isExternalModule'](_0x1adc17)?'\x22'+_0x368e5a['escapeString'](_0x368e5a[_0x1a4e('0x2338')](_0x368e5a[_0x1a4e('0x241e')](_0x368e5a[_0x1a4e('0x1672')](_0x1adc17[_0x1a4e('0x1b39')]))))+'\x22':_0x1a4e('0x3365');case 0xc5:case 0xef:case 0xc4:case 0xf0:case 0xd1:return 0x200&_0x368e5a[_0x1a4e('0x245c')](_0x146f6e)?_0x1a4e('0x8'):_0x1ca4c9(_0x146f6e);case 0x9d:return _0x1a4e('0x10');case 0xa1:return _0x1a4e('0x3366');case 0xa0:return'()';case 0xa2:return'[]';default:return _0x1a4e('0x3367');}}function _0x2634e7(_0x146f6e){return{'text':_0x5ca63d(_0x146f6e['node'],_0x146f6e[_0x1a4e('0x2cb')]),'kind':_0x368e5a['getNodeKind'](_0x146f6e[_0x1a4e('0x80')]),'kindModifiers':_0x4d1673(_0x146f6e[_0x1a4e('0x80')]),'spans':_0x2e00fa(_0x146f6e),'nameSpan':_0x146f6e[_0x1a4e('0x2cb')]&&_0x5476c3(_0x146f6e[_0x1a4e('0x2cb')]),'childItems':_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x6f')],_0x2634e7)};}function _0x17332e(_0x146f6e){return{'text':_0x5ca63d(_0x146f6e[_0x1a4e('0x80')],_0x146f6e[_0x1a4e('0x2cb')]),'kind':_0x368e5a[_0x1a4e('0x31d2')](_0x146f6e['node']),'kindModifiers':_0x4d1673(_0x146f6e[_0x1a4e('0x80')]),'spans':_0x2e00fa(_0x146f6e),'childItems':_0x368e5a[_0x1a4e('0x21')](_0x146f6e[_0x1a4e('0x6f')],function(_0x146f6e){return{'text':_0x5ca63d(_0x146f6e[_0x1a4e('0x80')],_0x146f6e[_0x1a4e('0x2cb')]),'kind':_0x368e5a[_0x1a4e('0x31d2')](_0x146f6e[_0x1a4e('0x80')]),'kindModifiers':_0x368e5a['getNodeModifiers'](_0x146f6e[_0x1a4e('0x80')]),'spans':_0x2e00fa(_0x146f6e),'childItems':_0x420b32,'indent':0x0,'bolded':!0x1,'grayed':!0x1};})||_0x420b32,'indent':_0x146f6e[_0x1a4e('0x3368')],'bolded':!0x1,'grayed':!0x1};}function _0x2e00fa(_0x368e5a){var _0x146f6e=[_0x5476c3(_0x368e5a[_0x1a4e('0x80')])];if(_0x368e5a[_0x1a4e('0x3364')])for(var _0x2327c6=0x0,_0x55ff7e=_0x368e5a[_0x1a4e('0x3364')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6];_0x146f6e[_0x1a4e('0x46')](_0x5476c3(_0x1adc17));}return _0x146f6e;}function _0x138ad0(_0x146f6e){if(_0x368e5a[_0x1a4e('0x233c')](_0x146f6e))return _0x368e5a[_0x1a4e('0x1675')](_0x146f6e['name']);var _0x2327c6=[];for(_0x2327c6['push'](_0x368e5a[_0x1a4e('0x2401')](_0x146f6e[_0x1a4e('0x2cb')]));_0x146f6e['body']&&0xf4===_0x146f6e[_0x1a4e('0x8f2')][_0x1a4e('0x146b')];)_0x146f6e=_0x146f6e[_0x1a4e('0x8f2')],_0x2327c6[_0x1a4e('0x46')](_0x368e5a['getTextOfIdentifierOrLiteral'](_0x146f6e[_0x1a4e('0x2cb')]));return _0x2327c6[_0x1a4e('0x9e')]('.');}function _0x13e687(_0x368e5a){return!_0x368e5a[_0x1a4e('0x2cb')]||0x95===_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0x146b')];}function _0x5476c3(_0x146f6e){return 0x117===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x31ff')](_0x146f6e):_0x368e5a[_0x1a4e('0x3289')](_0x146f6e,_0x55ff7e);}function _0x4d1673(_0x146f6e){return _0x146f6e[_0x1a4e('0x11c')]&&0xed===_0x146f6e['parent'][_0x1a4e('0x146b')]&&(_0x146f6e=_0x146f6e[_0x1a4e('0x11c')]),_0x368e5a[_0x1a4e('0x31f6')](_0x146f6e);}function _0x1ca4c9(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];if(_0x146f6e[_0x1a4e('0x2cb')]&&_0x368e5a[_0x1a4e('0x2310')](_0x146f6e[_0x1a4e('0x2cb')])>0x0)return _0x368e5a[_0x1a4e('0x1676')](_0x146f6e['name']);if(_0x368e5a['isVariableDeclaration'](_0x2327c6))return _0x368e5a[_0x1a4e('0x1676')](_0x2327c6[_0x1a4e('0x2cb')]);if(_0x368e5a[_0x1a4e('0x236e')](_0x2327c6)&&0x3b===_0x2327c6[_0x1a4e('0x237a')][_0x1a4e('0x146b')])return _0x326eae(_0x2327c6['left'])['replace'](_0xf79407,'');if(_0x368e5a['isPropertyAssignment'](_0x2327c6))return _0x326eae(_0x2327c6[_0x1a4e('0x2cb')]);if(0x200&_0x368e5a[_0x1a4e('0x245c')](_0x146f6e))return _0x1a4e('0x8');if(_0x368e5a[_0x1a4e('0x2367')](_0x146f6e))return _0x1a4e('0x3369');if(_0x368e5a[_0x1a4e('0x2372')](_0x2327c6)){var _0x1adc17=function _0x146f6e(_0x2327c6){if(_0x368e5a[_0x1a4e('0x2370')](_0x2327c6))return _0x2327c6[_0x1a4e('0xe04')];if(_0x368e5a['isPropertyAccessExpression'](_0x2327c6)){var _0x55ff7e=_0x146f6e(_0x2327c6[_0x1a4e('0x2302')]),_0x1adc17=_0x2327c6['name']['text'];return void 0x0===_0x55ff7e?_0x1adc17:_0x55ff7e+'.'+_0x1adc17;}return;}(_0x2327c6[_0x1a4e('0x2302')]);if(void 0x0!==_0x1adc17)return _0x1adc17+'('+_0x368e5a[_0x1a4e('0x1713')](_0x2327c6['arguments'],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2374')](_0x146f6e)?_0x146f6e['getText'](_0x55ff7e):void 0x0;})[_0x1a4e('0x9e')](',\x20')+_0x1a4e('0x336a');}return _0x1a4e('0x336b');}_0x146f6e[_0x1a4e('0x336c')]=function(_0x146f6e,_0x1adc17){_0x2327c6=_0x1adc17,_0x55ff7e=_0x146f6e;try{return _0x368e5a[_0x1a4e('0x21')]((_0xf79407=_0x4f51d7(_0x146f6e),_0x2c9ec9=[],function _0x146f6e(_0x2327c6){if(function(_0x146f6e){switch(_0x56674b(_0x146f6e)){case 0xf0:case 0xd1:case 0xf3:case 0xf1:case 0xf4:case 0x117:case 0xf2:case 0x130:case 0x129:return!0x0;case 0x9d:case 0x9c:case 0x9e:case 0x9f:case 0xed:return _0x2327c6(_0x146f6e);case 0xc5:case 0xef:case 0xc4:return function(_0x368e5a){if(!_0x368e5a['node'][_0x1a4e('0x8f2')])return!0x1;switch(_0x56674b(_0x368e5a[_0x1a4e('0x11c')])){case 0xf5:case 0x117:case 0x9c:case 0x9d:return!0x0;default:return _0x2327c6(_0x368e5a);}}(_0x146f6e);default:return!0x1;}function _0x2327c6(_0x146f6e){return _0x368e5a[_0x1a4e('0x1c2')](_0x146f6e['children'],function(_0x368e5a){var _0x146f6e=_0x56674b(_0x368e5a);return 0xed!==_0x146f6e&&0xba!==_0x146f6e;});}}(_0x2327c6)&&(_0x2c9ec9[_0x1a4e('0x46')](_0x2327c6),_0x2327c6[_0x1a4e('0x6f')]))for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x6f')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x146f6e(_0xf79407);}}(_0xf79407),_0x2c9ec9),_0x17332e);}finally{_0x1b06ad();}var _0xf79407,_0x2c9ec9;},_0x146f6e['getNavigationTree']=function(_0x368e5a,_0x146f6e){_0x2327c6=_0x146f6e,_0x55ff7e=_0x368e5a;try{return _0x2634e7(_0x4f51d7(_0x368e5a));}finally{_0x1b06ad();}};}(_0x368e5a[_0x1a4e('0x336d')]||(_0x368e5a[_0x1a4e('0x336d')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e){var _0x55ff7e=_0x146f6e[_0x1a4e('0x8f2')];return _0x55ff7e&&!_0x368e5a['isIdentifier'](_0x55ff7e)?_0x368e5a[_0x1a4e('0x251e')](_0x55ff7e)?_0x55ff7e:_0x2327c6(_0x55ff7e):void 0x0;}function _0x55ff7e(_0x146f6e){return void 0x0!==_0x146f6e&&_0x368e5a[_0x1a4e('0x2855')](_0x146f6e)?_0x146f6e[_0x1a4e('0xe04')]:void 0x0;}function _0x1adc17(_0x146f6e){if(0x0===_0x146f6e[_0x1a4e('0x1e')])return _0x146f6e;var _0x2327c6=function(_0x146f6e){for(var _0x2327c6,_0x55ff7e=[],_0x1adc17=[],_0xf79407=[],_0x2c9ec9=0x0,_0x420b32=_0x146f6e;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];if(void 0x0!==_0x1b06ad[_0x1a4e('0x23c6')]){var _0x326eae=_0x1b06ad['importClause'],_0x56674b=_0x326eae[_0x1a4e('0x2cb')],_0x52067b=_0x326eae[_0x1a4e('0x23c7')];_0x56674b&&_0x55ff7e[_0x1a4e('0x46')](_0x1b06ad),_0x52067b&&(_0x368e5a[_0x1a4e('0x336e')](_0x52067b)?_0x1adc17[_0x1a4e('0x46')](_0x1b06ad):_0xf79407[_0x1a4e('0x46')](_0x1b06ad));}else _0x2327c6=_0x2327c6||_0x1b06ad;}return{'importWithoutClause':_0x2327c6,'defaultImports':_0x55ff7e,'namespaceImports':_0x1adc17,'namedImports':_0xf79407};}(_0x146f6e),_0x55ff7e=_0x2327c6['importWithoutClause'],_0x1adc17=_0x2327c6[_0x1a4e('0x336f')],_0xf79407=_0x2327c6[_0x1a4e('0x3370')],_0x1b06ad=_0x2327c6[_0x1a4e('0x3371')],_0x56674b=[];if(_0x55ff7e&&_0x56674b[_0x1a4e('0x46')](_0x55ff7e),0x1===_0x1adc17[_0x1a4e('0x1e')]&&0x1===_0xf79407[_0x1a4e('0x1e')]&&0x0===_0x1b06ad['length']){var _0x496056=_0x1adc17[0x0];return _0x56674b[_0x1a4e('0x46')](_0x2c9ec9(_0x496056,_0x496056[_0x1a4e('0x23c6')][_0x1a4e('0x2cb')],_0xf79407[0x0]['importClause'][_0x1a4e('0x23c7')])),_0x56674b;}for(var _0x5585f7,_0x53da8d=0x0,_0x124245=_0x368e5a['stableSort'](_0xf79407,function(_0x368e5a,_0x146f6e){return _0x326eae(_0x368e5a[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')][_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')][_0x1a4e('0x2cb')]);});_0x53da8d<_0x124245[_0x1a4e('0x1e')];_0x53da8d++){var _0x95b14d=_0x124245[_0x53da8d];_0x56674b[_0x1a4e('0x46')](_0x2c9ec9(_0x95b14d,void 0x0,_0x95b14d[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')]));}if(0x0===_0x1adc17[_0x1a4e('0x1e')]&&0x0===_0x1b06ad['length'])return _0x56674b;var _0x231e4d=[];if(0x1===_0x1adc17[_0x1a4e('0x1e')])_0x5585f7=_0x1adc17[0x0][_0x1a4e('0x23c6')][_0x1a4e('0x2cb')];else for(var _0x28cef4=0x0,_0x4b1703=_0x1adc17;_0x28cef4<_0x4b1703[_0x1a4e('0x1e')];_0x28cef4++){_0x496056=_0x4b1703[_0x28cef4];_0x231e4d[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2cc7')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x8')),_0x496056[_0x1a4e('0x23c6')][_0x1a4e('0x2cb')]));}_0x231e4d[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x231e4d,_0x368e5a[_0x1a4e('0x104e')](_0x1b06ad,function(_0x368e5a){return _0x368e5a['importClause'][_0x1a4e('0x23c7')]['elements'];}));var _0x1c8232=_0x420b32(_0x231e4d),_0x3dce89=_0x1adc17[_0x1a4e('0x1e')]>0x0?_0x1adc17[0x0]:_0x1b06ad[0x0],_0x620612=0x0===_0x1c8232[_0x1a4e('0x1e')]?_0x5585f7?void 0x0:_0x368e5a[_0x1a4e('0x2cc5')](_0x368e5a[_0x1a4e('0x1700')]):0x0===_0x1b06ad[_0x1a4e('0x1e')]?_0x368e5a['createNamedImports'](_0x1c8232):_0x368e5a['updateNamedImports'](_0x1b06ad[0x0]['importClause'][_0x1a4e('0x23c7')],_0x1c8232);return _0x56674b[_0x1a4e('0x46')](_0x2c9ec9(_0x3dce89,_0x5585f7,_0x620612)),_0x56674b;}function _0xf79407(_0x146f6e){if(0x0===_0x146f6e[_0x1a4e('0x1e')])return _0x146f6e;var _0x2327c6=function(_0x368e5a){for(var _0x146f6e,_0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];void 0x0===_0xf79407['exportClause']?_0x146f6e=_0x146f6e||_0xf79407:_0x2327c6['push'](_0xf79407);}return{'exportWithoutClause':_0x146f6e,'namedExports':_0x2327c6};}(_0x146f6e),_0x55ff7e=_0x2327c6[_0x1a4e('0x3372')],_0x1adc17=_0x2327c6[_0x1a4e('0x3373')],_0xf79407=[];if(_0x55ff7e&&_0xf79407[_0x1a4e('0x46')](_0x55ff7e),0x0===_0x1adc17[_0x1a4e('0x1e')])return _0xf79407;var _0x2c9ec9=[];_0x2c9ec9[_0x1a4e('0x46')]['apply'](_0x2c9ec9,_0x368e5a[_0x1a4e('0x104e')](_0x1adc17,function(_0x368e5a){return _0x368e5a['exportClause'][_0x1a4e('0x2398')];}));var _0x1b06ad=_0x420b32(_0x2c9ec9),_0x326eae=_0x1adc17[0x0];return _0xf79407[_0x1a4e('0x46')](_0x368e5a['updateExportDeclaration'](_0x326eae,_0x326eae[_0x1a4e('0x232f')],_0x326eae[_0x1a4e('0x242d')],_0x368e5a['updateNamedExports'](_0x326eae[_0x1a4e('0x260d')],_0x1b06ad),_0x326eae[_0x1a4e('0x23c5')])),_0xf79407;}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2cc0')](_0x146f6e,_0x146f6e[_0x1a4e('0x232f')],_0x146f6e[_0x1a4e('0x242d')],_0x368e5a['updateImportClause'](_0x146f6e['importClause'],_0x2327c6,_0x55ff7e),_0x146f6e['moduleSpecifier']);}function _0x420b32(_0x146f6e){return _0x368e5a['stableSort'](_0x146f6e,function(_0x368e5a,_0x146f6e){return _0x326eae(_0x368e5a[_0x1a4e('0x81a')]||_0x368e5a[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x81a')]||_0x146f6e[_0x1a4e('0x2cb')])||_0x326eae(_0x368e5a[_0x1a4e('0x2cb')],_0x146f6e['name']);});}function _0x1b06ad(_0x146f6e,_0x2327c6){var _0x1adc17=_0x55ff7e(_0x146f6e),_0xf79407=_0x55ff7e(_0x2327c6);return _0x368e5a[_0x1a4e('0x1756')](void 0x0===_0x1adc17,void 0x0===_0xf79407)||_0x368e5a[_0x1a4e('0x1756')](_0x368e5a[_0x1a4e('0x22dd')](_0x1adc17),_0x368e5a[_0x1a4e('0x22dd')](_0xf79407))||_0x368e5a['compareStringsCaseInsensitive'](_0x1adc17,_0xf79407);}function _0x326eae(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x3374')](_0x146f6e[_0x1a4e('0xe04')],_0x2327c6['text']);}_0x146f6e[_0x1a4e('0x3375')]=function(_0x146f6e,_0x420b32,_0x326eae,_0x56674b,_0x1f9281){var _0x55bbd7=_0x368e5a[_0x1a4e('0x323a')]['ChangeTracker'][_0x1a4e('0x3376')]({'host':_0x326eae,'formatContext':_0x420b32}),_0x1880f9=function(_0x2327c6){return _0x1adc17(function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x55ff7e[_0x1a4e('0x302b')](),_0xf79407=_0x1adc17[_0x1a4e('0x3377')](),_0x420b32=!!(0x4&_0x2327c6[_0x1a4e('0x257c')]),_0x1b06ad=[],_0x326eae=0x0,_0x56674b=_0x146f6e;_0x326eae<_0x56674b['length'];_0x326eae++){var _0x1f9281=_0x56674b[_0x326eae],_0x55bbd7=_0x1f9281[_0x1a4e('0x23c6')];if(_0x55bbd7){var _0x1880f9=_0x55bbd7[_0x1a4e('0x2cb')],_0x316970=_0x55bbd7[_0x1a4e('0x23c7')];if(_0x1880f9&&!_0x2d83ab(_0x1880f9)&&(_0x1880f9=void 0x0),_0x316970)if(_0x368e5a[_0x1a4e('0x336e')](_0x316970))_0x2d83ab(_0x316970[_0x1a4e('0x2cb')])||(_0x316970=void 0x0);else{var _0x321fea=_0x316970[_0x1a4e('0x2398')][_0x1a4e('0xd9')](function(_0x368e5a){return _0x2d83ab(_0x368e5a[_0x1a4e('0x2cb')]);});_0x321fea[_0x1a4e('0x1e')]<_0x316970[_0x1a4e('0x2398')][_0x1a4e('0x1e')]&&(_0x316970=_0x321fea[_0x1a4e('0x1e')]?_0x368e5a['updateNamedImports'](_0x316970,_0x321fea):void 0x0);}(_0x1880f9||_0x316970)&&_0x1b06ad['push'](_0x2c9ec9(_0x1f9281,_0x1880f9,_0x316970));}else _0x1b06ad[_0x1a4e('0x46')](_0x1f9281);}return _0x1b06ad;function _0x2d83ab(_0x146f6e){return _0x420b32&&_0x146f6e['text']===_0xf79407||_0x368e5a['FindAllReferences'][_0x1a4e('0x32e8')][_0x1a4e('0x3378')](_0x146f6e,_0x1adc17,_0x2327c6);}}(_0x2327c6,_0x146f6e,_0x56674b));};_0x1206d7(_0x146f6e[_0x1a4e('0x2366')][_0x1a4e('0xd9')](_0x368e5a[_0x1a4e('0x2981')]),_0x1880f9),_0x1206d7(_0x146f6e[_0x1a4e('0x2366')][_0x1a4e('0xd9')](_0x368e5a[_0x1a4e('0x234e')]),_0xf79407);for(var _0x48a072=0x0,_0x383955=_0x146f6e[_0x1a4e('0x2366')]['filter'](_0x368e5a['isAmbientModule']);_0x48a072<_0x383955[_0x1a4e('0x1e')];_0x48a072++){var _0x4d11ce=_0x2327c6(_0x383955[_0x48a072]);_0x1206d7(_0x4d11ce[_0x1a4e('0x2366')][_0x1a4e('0xd9')](_0x368e5a['isImportDeclaration']),_0x1880f9),_0x1206d7(_0x4d11ce[_0x1a4e('0x2366')][_0x1a4e('0xd9')](_0x368e5a['isExportDeclaration']),_0xf79407);}return _0x55bbd7[_0x1a4e('0x3379')]();function _0x1206d7(_0x2327c6,_0x1adc17){if(0x0!==_0x368e5a[_0x1a4e('0x1e')](_0x2327c6)){_0x368e5a[_0x1a4e('0x3237')](_0x2327c6[0x0]);var _0xf79407=_0x368e5a[_0x1a4e('0x14ea')](_0x2327c6,function(_0x368e5a){return _0x55ff7e(_0x368e5a['moduleSpecifier']);}),_0x2c9ec9=_0x368e5a['stableSort'](_0xf79407,function(_0x368e5a,_0x146f6e){return _0x1b06ad(_0x368e5a[0x0]['moduleSpecifier'],_0x146f6e[0x0][_0x1a4e('0x23c5')]);}),_0x56674b=_0x368e5a[_0x1a4e('0x104e')](_0x2c9ec9,function(_0x368e5a){return _0x55ff7e(_0x368e5a[0x0][_0x1a4e('0x23c5')])?_0x1adc17(_0x368e5a):_0x368e5a;});0x0===_0x56674b[_0x1a4e('0x1e')]?_0x55bbd7[_0x1a4e('0xf4c')](_0x146f6e,_0x2327c6[0x0]):_0x55bbd7[_0x1a4e('0x337a')](_0x146f6e,_0x2327c6[0x0],_0x56674b,{'useNonAdjustedStartPosition':!0x0,'useNonAdjustedEndPosition':!0x1,'suffix':_0x368e5a[_0x1a4e('0x337b')](_0x326eae,_0x420b32[_0x1a4e('0x8dc')])});for(var _0x1f9281=0x1;_0x1f9281<_0x2327c6[_0x1a4e('0x1e')];_0x1f9281++)_0x55bbd7[_0x1a4e('0xf4c')](_0x146f6e,_0x2327c6[_0x1f9281]);}}},_0x146f6e[_0x1a4e('0x337c')]=_0x1adc17,_0x146f6e[_0x1a4e('0x337d')]=_0xf79407,_0x146f6e[_0x1a4e('0x337e')]=_0x1b06ad;}(_0x368e5a[_0x1a4e('0x337f')]||(_0x368e5a[_0x1a4e('0x337f')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){_0x146f6e['collectElements']=function(_0x146f6e,_0x2327c6){var _0x420b32=[];return function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x420b32=0x28,_0x1b06ad=0x0,_0x326eae=_0x146f6e[_0x1a4e('0x2366')],_0x56674b=_0x326eae['length'];_0x1b06ad<_0x56674b;){for(;_0x1b06ad<_0x56674b&&!_0x368e5a[_0x1a4e('0x234c')](_0x326eae[_0x1b06ad]);)_0x2d1438(_0x326eae[_0x1b06ad]),_0x1b06ad++;if(_0x1b06ad===_0x56674b)break;for(var _0x582353=_0x1b06ad;_0x1b06ad<_0x56674b&&_0x368e5a[_0x1a4e('0x234c')](_0x326eae[_0x1b06ad]);)_0x1adc17(_0x326eae[_0x1b06ad],_0x146f6e,_0x2327c6,_0x55ff7e),_0x1b06ad++;var _0x2a54e7=_0x1b06ad-0x1;_0x2a54e7!==_0x582353&&_0x55ff7e[_0x1a4e('0x46')](_0xf79407(_0x368e5a[_0x1a4e('0x327f')](_0x326eae[_0x582353],0x5c,_0x146f6e)['getStart'](_0x146f6e),_0x326eae[_0x2a54e7][_0x1a4e('0x31d7')](),_0x1a4e('0x10ca')));}function _0x2d1438(_0x1b06ad){if(0x0!==_0x420b32){_0x2327c6[_0x1a4e('0x289b')](),_0x368e5a[_0x1a4e('0x23e6')](_0x1b06ad)&&_0x1adc17(_0x1b06ad,_0x146f6e,_0x2327c6,_0x55ff7e);var _0x326eae=function(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xda:if(_0x368e5a[_0x1a4e('0x2391')](_0x146f6e))return _0x56674b(_0x146f6e[_0x1a4e('0x11c')],0xc5!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]);switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xdf:case 0xe2:case 0xe3:case 0xe1:case 0xde:case 0xe0:case 0xe7:case 0x112:return _0x56674b(_0x146f6e[_0x1a4e('0x11c')]);case 0xeb:var _0x55ff7e=_0x146f6e[_0x1a4e('0x11c')];if(_0x55ff7e[_0x1a4e('0x2679')]===_0x146f6e)return _0x56674b(_0x146f6e[_0x1a4e('0x11c')]);if(_0x55ff7e['finallyBlock']===_0x146f6e)return _0x56674b(_0x368e5a['findChildOfKind'](_0x55ff7e,0x58,_0x2327c6));default:return _0x2c9ec9(_0x368e5a['createTextSpanFromNode'](_0x146f6e,_0x2327c6),_0x1a4e('0x1617'));}case 0xf5:return _0x56674b(_0x146f6e[_0x1a4e('0x11c')]);case 0xf0:case 0xf1:case 0xf3:case 0xf6:return _0x56674b(_0x146f6e);case 0xbc:return _0x326eae(_0x146f6e);case 0xbb:return _0x326eae(_0x146f6e,0x16);case 0x104:return _0x1adc17=_0x146f6e,_0x420b32=_0x368e5a[_0x1a4e('0x22fa')](_0x1adc17[_0x1a4e('0x260f')]['getStart'](_0x2327c6),_0x1adc17[_0x1a4e('0x266e')]['getEnd']()),_0x1b06ad=_0x1adc17['openingElement'][_0x1a4e('0x132b')][_0x1a4e('0x230e')](_0x2327c6),_0x2c9ec9(_0x420b32,_0x1a4e('0x1617'),_0x420b32,!0x1,'<'+_0x1b06ad+_0x1a4e('0x3380')+_0x1b06ad+'>');case 0x105:case 0x106:return function(_0x368e5a){if(0x0!==_0x368e5a[_0x1a4e('0x13')][_0x1a4e('0x1e')])return _0xf79407(_0x368e5a[_0x1a4e('0x31d6')](_0x2327c6),_0x368e5a[_0x1a4e('0x31d7')](),'code');}(_0x146f6e[_0x1a4e('0x266d')]);}var _0x1adc17,_0x420b32,_0x1b06ad;function _0x326eae(_0x146f6e,_0x2327c6){return void 0x0===_0x2327c6&&(_0x2327c6=0x12),_0x56674b(_0x146f6e,!0x1,!_0x368e5a[_0x1a4e('0x2397')](_0x146f6e['parent']),_0x2327c6);}function _0x56674b(_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32){void 0x0===_0x1adc17&&(_0x1adc17=!0x1),void 0x0===_0xf79407&&(_0xf79407=!0x0),void 0x0===_0x420b32&&(_0x420b32=0x12);var _0x1b06ad=_0x368e5a['findChildOfKind'](_0x146f6e,_0x420b32,_0x2327c6),_0x326eae=0x12===_0x420b32?0x13:0x17,_0x56674b=_0x368e5a['findChildOfKind'](_0x146f6e,_0x326eae,_0x2327c6);if(_0x1b06ad&&_0x56674b){var _0x582353=_0x368e5a['createTextSpanFromBounds'](_0xf79407?_0x1b06ad[_0x1a4e('0x31d5')]():_0x1b06ad[_0x1a4e('0x31d6')](_0x2327c6),_0x56674b[_0x1a4e('0x31d7')]());return _0x2c9ec9(_0x582353,'code',_0x368e5a[_0x1a4e('0x3289')](_0x55ff7e,_0x2327c6),_0x1adc17);}}}(_0x1b06ad,_0x146f6e);_0x326eae&&_0x55ff7e['push'](_0x326eae),_0x420b32--,_0x368e5a[_0x1a4e('0x250e')](_0x1b06ad)&&_0x1b06ad[_0x1a4e('0x2607')]&&_0x368e5a[_0x1a4e('0x250e')](_0x1b06ad[_0x1a4e('0x2607')])?(_0x2d1438(_0x1b06ad[_0x1a4e('0x2302')]),_0x2d1438(_0x1b06ad[_0x1a4e('0x2606')]),_0x420b32++,_0x2d1438(_0x1b06ad[_0x1a4e('0x2607')]),_0x420b32--):_0x1b06ad['forEachChild'](_0x2d1438),_0x420b32++;}}}(_0x146f6e,_0x2327c6,_0x420b32),function(_0x146f6e,_0x2327c6){for(var _0x1adc17=[],_0xf79407=_0x146f6e['getLineStarts'](),_0x420b32=0x0;_0x420b32<_0xf79407[_0x1a4e('0x1e')];_0x420b32++){var _0x1b06ad=_0xf79407[_0x420b32],_0x326eae=_0x420b32+0x1===_0xf79407[_0x1a4e('0x1e')]?_0x146f6e[_0x1a4e('0x31d7')]():_0xf79407[_0x420b32+0x1]-0x1,_0x56674b=_0x146f6e['text'][_0x1a4e('0x281')](_0x1b06ad,_0x326eae),_0x4f0502=_0x55ff7e(_0x56674b);if(_0x4f0502&&!_0x368e5a[_0x1a4e('0x31f4')](_0x146f6e,_0x1b06ad))if(_0x4f0502[0x1]){var _0x5d1d90=_0x1adc17[_0x1a4e('0x76')]();_0x5d1d90&&(_0x5d1d90[_0x1a4e('0x321e')][_0x1a4e('0x1e')]=_0x326eae-_0x5d1d90[_0x1a4e('0x321e')][_0x1a4e('0xc9')],_0x5d1d90[_0x1a4e('0x3381')][_0x1a4e('0x1e')]=_0x326eae-_0x5d1d90[_0x1a4e('0x321e')][_0x1a4e('0xc9')],_0x2327c6[_0x1a4e('0x46')](_0x5d1d90));}else{var _0x595d76=_0x368e5a[_0x1a4e('0x22fa')](_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x3e')]('//',_0x1b06ad),_0x326eae);_0x1adc17[_0x1a4e('0x46')](_0x2c9ec9(_0x595d76,_0x1a4e('0x3168'),_0x595d76,!0x1,_0x4f0502[0x2]||_0x1a4e('0x3382')));}}}(_0x146f6e,_0x420b32),_0x420b32['sort'](function(_0x368e5a,_0x146f6e){return _0x368e5a['textSpan']['start']-_0x146f6e[_0x1a4e('0x321e')][_0x1a4e('0xc9')];});};var _0x2327c6=/^\s*\/\/\s*#(end)?region(?:\s+(.*))?(?:\r)?$/;function _0x55ff7e(_0x368e5a){return _0x2327c6[_0x1a4e('0x2af')](_0x368e5a);}function _0x1adc17(_0x146f6e,_0x2327c6,_0x1adc17,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x2362')](_0x146f6e,_0x2327c6);if(_0x420b32){for(var _0x1b06ad=-0x1,_0x326eae=-0x1,_0x56674b=0x0,_0x3ad950=_0x2327c6['getFullText'](),_0x45bb0e=0x0,_0x4ef4d0=_0x420b32;_0x45bb0e<_0x4ef4d0[_0x1a4e('0x1e')];_0x45bb0e++){var _0x296346=_0x4ef4d0[_0x45bb0e],_0x339fa1=_0x296346[_0x1a4e('0x146b')],_0x506a6f=_0x296346[_0x1a4e('0xa4')],_0x5beb1b=_0x296346[_0x1a4e('0xca')];switch(_0x1adc17['throwIfCancellationRequested'](),_0x339fa1){case 0x2:if(_0x55ff7e(_0x3ad950[_0x1a4e('0x78')](_0x506a6f,_0x5beb1b))){_0x54364a(),_0x56674b=0x0;break;}0x0===_0x56674b&&(_0x1b06ad=_0x506a6f),_0x326eae=_0x5beb1b,_0x56674b++;break;case 0x3:_0x54364a(),_0x2c9ec9[_0x1a4e('0x46')](_0xf79407(_0x506a6f,_0x5beb1b,_0x1a4e('0x2695'))),_0x56674b=0x0;break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x339fa1);}}_0x54364a();}function _0x54364a(){_0x56674b>0x1&&_0x2c9ec9[_0x1a4e('0x46')](_0xf79407(_0x1b06ad,_0x326eae,_0x1a4e('0x2695')));}}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x2c9ec9(_0x368e5a[_0x1a4e('0x22fa')](_0x146f6e,_0x2327c6),_0x55ff7e);}function _0x2c9ec9(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return void 0x0===_0x2327c6&&(_0x2327c6=_0x368e5a),void 0x0===_0x55ff7e&&(_0x55ff7e=!0x1),void 0x0===_0x1adc17&&(_0x1adc17=_0x1a4e('0x28ba')),{'textSpan':_0x368e5a,'kind':_0x146f6e,'hintSpan':_0x2327c6,'bannerText':_0x1adc17,'autoCollapse':_0x55ff7e};}}(_0x368e5a['OutliningElementsCollector']||(_0x368e5a[_0x1a4e('0x3383')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e;function _0x2327c6(_0x368e5a,_0x146f6e){return{'kind':_0x368e5a,'isCaseSensitive':_0x146f6e};}function _0x55ff7e(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x179')](_0x368e5a);return _0x2327c6||_0x146f6e[_0x1a4e('0x17a')](_0x368e5a,_0x2327c6=_0x3a60e7(_0x368e5a)),_0x2327c6;}function _0x1adc17(_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=function(_0x368e5a,_0x146f6e){for(var _0x2327c6=_0x368e5a[_0x1a4e('0x1e')]-_0x146f6e[_0x1a4e('0x1e')],_0x55ff7e=function(_0x2327c6){if(_0x4e90f8(_0x146f6e,function(_0x146f6e,_0x55ff7e){return _0x1fd0d4(_0x368e5a[_0x1a4e('0x913')](_0x55ff7e+_0x2327c6))===_0x146f6e;}))return{'value':_0x2327c6};},_0x1adc17=0x0;_0x1adc17<=_0x2327c6;_0x1adc17++){var _0xf79407=_0x55ff7e(_0x1adc17);if(_0x1a4e('0x85')==typeof _0xf79407)return _0xf79407[_0x1a4e('0x255')];}return-0x1;}(_0x1adc17,_0xf79407[_0x1a4e('0x3384')]);if(0x0===_0x420b32)return _0x2327c6(_0xf79407[_0x1a4e('0xe04')][_0x1a4e('0x1e')]===_0x1adc17[_0x1a4e('0x1e')]?_0x146f6e['exact']:_0x146f6e[_0x1a4e('0x1750')],_0x368e5a[_0x1a4e('0xdfb')](_0x1adc17,_0xf79407[_0x1a4e('0xe04')]));if(_0xf79407[_0x1a4e('0x3385')]){if(-0x1===_0x420b32)return;for(var _0x3e0d9e=0x0,_0x5a502c=_0x55ff7e(_0x1adc17,_0x2c9ec9);_0x3e0d9e<_0x5a502c[_0x1a4e('0x1e')];_0x3e0d9e++){var _0x552c15=_0x5a502c[_0x3e0d9e];if(_0x1b06ad(_0x1adc17,_0x552c15,_0xf79407[_0x1a4e('0xe04')],!0x0))return _0x2327c6(_0x146f6e['substring'],_0x1b06ad(_0x1adc17,_0x552c15,_0xf79407[_0x1a4e('0xe04')],!0x1));}if(_0xf79407[_0x1a4e('0xe04')][_0x1a4e('0x1e')]<_0x1adc17[_0x1a4e('0x1e')]&&_0x56674b(_0x1adc17['charCodeAt'](_0x420b32)))return _0x2327c6(_0x146f6e[_0x1a4e('0x281')],!0x1);}else{if(_0x1adc17[_0x1a4e('0x3e')](_0xf79407[_0x1a4e('0xe04')])>0x0)return _0x2327c6(_0x146f6e[_0x1a4e('0x281')],!0x0);if(_0xf79407[_0x1a4e('0x3386')]['length']>0x0){var _0x44fbea=_0x55ff7e(_0x1adc17,_0x2c9ec9),_0xa29f6a=!!_0x326eae(_0x1adc17,_0x44fbea,_0xf79407,!0x1)||!_0x326eae(_0x1adc17,_0x44fbea,_0xf79407,!0x0)&&void 0x0;if(void 0x0!==_0xa29f6a)return _0x2327c6(_0x146f6e['camelCase'],_0xa29f6a);}}}function _0xf79407(_0x368e5a,_0x146f6e,_0x2327c6){if(_0x4e90f8(_0x146f6e[_0x1a4e('0x3387')][_0x1a4e('0xe04')],function(_0x368e5a){return 0x20!==_0x368e5a&&0x2a!==_0x368e5a;})){var _0x55ff7e=_0x1adc17(_0x368e5a,_0x146f6e[_0x1a4e('0x3387')],_0x2327c6);if(_0x55ff7e)return _0x55ff7e;}for(var _0xf79407,_0x420b32=0x0,_0x1b06ad=_0x146f6e[_0x1a4e('0x3388')];_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){_0xf79407=_0x2c9ec9(_0xf79407,_0x1adc17(_0x368e5a,_0x1b06ad[_0x420b32],_0x2327c6));}return _0xf79407;}function _0x2c9ec9(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x74')](_0x146f6e,_0x2327c6,_0x420b32);}function _0x420b32(_0x146f6e,_0x2327c6){return void 0x0===_0x146f6e?0x1:void 0x0===_0x2327c6?-0x1:_0x368e5a['compareValues'](_0x146f6e[_0x1a4e('0x146b')],_0x2327c6[_0x1a4e('0x146b')])||_0x368e5a[_0x1a4e('0x1756')](!_0x146f6e['isCaseSensitive'],!_0x2327c6[_0x1a4e('0x335d')]);}function _0x1b06ad(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return void 0x0===_0x1adc17&&(_0x1adc17={'start':0x0,'length':_0x2327c6[_0x1a4e('0x1e')]}),_0x1adc17[_0x1a4e('0x1e')]<=_0x146f6e['length']&&_0x37900f(0x0,_0x1adc17[_0x1a4e('0x1e')],function(_0xf79407){return function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x2327c6?_0x1fd0d4(_0x368e5a)===_0x1fd0d4(_0x146f6e):_0x368e5a===_0x146f6e;}(_0x2327c6[_0x1a4e('0x913')](_0x1adc17[_0x1a4e('0xc9')]+_0xf79407),_0x368e5a[_0x1a4e('0x913')](_0x146f6e['start']+_0xf79407),_0x55ff7e);});}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407,_0x2c9ec9,_0x420b32=_0x55ff7e[_0x1a4e('0x3386')],_0x326eae=0x0,_0x4798d1=0x0;;){if(_0x4798d1===_0x420b32['length'])return!0x0;if(_0x326eae===_0x2327c6[_0x1a4e('0x1e')])return!0x1;for(var _0x34d902=_0x2327c6[_0x326eae],_0x6dabfa=!0x1;_0x4798d1<_0x420b32[_0x1a4e('0x1e')];_0x4798d1++){var _0x18fde7=_0x420b32[_0x4798d1];if(_0x6dabfa&&(!_0x56674b(_0x55ff7e[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x420b32[_0x4798d1-0x1][_0x1a4e('0xc9')]))||!_0x56674b(_0x55ff7e[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x420b32[_0x4798d1][_0x1a4e('0xc9')]))))break;if(!_0x1b06ad(_0x146f6e,_0x34d902,_0x55ff7e[_0x1a4e('0xe04')],_0x1adc17,_0x18fde7))break;_0x6dabfa=!0x0,_0xf79407=void 0x0===_0xf79407?_0x326eae:_0xf79407,_0x2c9ec9=void 0x0===_0x2c9ec9||_0x2c9ec9,_0x34d902=_0x368e5a[_0x1a4e('0x22fb')](_0x34d902[_0x1a4e('0xc9')]+_0x18fde7['length'],_0x34d902[_0x1a4e('0x1e')]-_0x18fde7[_0x1a4e('0x1e')]);}_0x6dabfa||void 0x0===_0x2c9ec9||(_0x2c9ec9=!0x1),_0x326eae++;}}function _0x56674b(_0x146f6e){if(_0x146f6e>=0x41&&_0x146f6e<=0x5a)return!0x0;if(_0x146f6e<0x7f||!_0x368e5a[_0x1a4e('0x22b4')](_0x146f6e,0x6))return!0x1;var _0x2327c6=String[_0x1a4e('0x8fe')](_0x146f6e);return _0x2327c6===_0x2327c6['toUpperCase']();}function _0x58769c(_0x146f6e){if(_0x146f6e>=0x61&&_0x146f6e<=0x7a)return!0x0;if(_0x146f6e<0x7f||!_0x368e5a[_0x1a4e('0x22b4')](_0x146f6e,0x6))return!0x1;var _0x2327c6=String[_0x1a4e('0x8fe')](_0x146f6e);return _0x2327c6===_0x2327c6[_0x1a4e('0x2b2')]();}function _0x1fd0d4(_0x368e5a){return _0x368e5a>=0x41&&_0x368e5a<=0x5a?_0x368e5a-0x41+0x61:_0x368e5a<0x7f?_0x368e5a:String['fromCharCode'](_0x368e5a)[_0x1a4e('0x2b2')]()['charCodeAt'](0x0);}function _0x583426(_0x368e5a){return _0x368e5a>=0x30&&_0x368e5a<=0x39;}function _0x3e99ad(_0x368e5a){return _0x56674b(_0x368e5a)||_0x58769c(_0x368e5a)||_0x583426(_0x368e5a)||0x5f===_0x368e5a||0x24===_0x368e5a;}function _0x40abc(_0x368e5a){for(var _0x146f6e=[],_0x2327c6=0x0,_0x55ff7e=0x0,_0x1adc17=0x0;_0x1adc17<_0x368e5a[_0x1a4e('0x1e')];_0x1adc17++){_0x3e99ad(_0x368e5a[_0x1a4e('0x913')](_0x1adc17))?(0x0===_0x55ff7e&&(_0x2327c6=_0x1adc17),_0x55ff7e++):_0x55ff7e>0x0&&(_0x146f6e['push'](_0x327864(_0x368e5a[_0x1a4e('0x254')](_0x2327c6,_0x55ff7e))),_0x55ff7e=0x0);}return _0x55ff7e>0x0&&_0x146f6e['push'](_0x327864(_0x368e5a[_0x1a4e('0x254')](_0x2327c6,_0x55ff7e))),_0x146f6e;}function _0x327864(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x2b2')]();return{'text':_0x368e5a,'textLowerCase':_0x146f6e,'isLowerCase':_0x368e5a===_0x146f6e,'characterSpans':_0x4a6702(_0x368e5a)};}function _0x4a6702(_0x368e5a){return _0x313868(_0x368e5a,!0x1);}function _0x3a60e7(_0x368e5a){return _0x313868(_0x368e5a,!0x0);}function _0x313868(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=0x0,_0xf79407=0x1;_0xf79407<_0x146f6e['length'];_0xf79407++){var _0x2c9ec9=_0x583426(_0x146f6e['charCodeAt'](_0xf79407-0x1)),_0x420b32=_0x583426(_0x146f6e['charCodeAt'](_0xf79407)),_0x1b06ad=_0x4c3d2b(_0x146f6e,_0x2327c6,_0xf79407),_0x326eae=_0x2327c6&&_0x4926cf(_0x146f6e,_0xf79407,_0x1adc17);(_0x988b60(_0x146f6e[_0x1a4e('0x913')](_0xf79407-0x1))||_0x988b60(_0x146f6e[_0x1a4e('0x913')](_0xf79407))||_0x2c9ec9!==_0x420b32||_0x1b06ad||_0x326eae)&&(_0x57f980(_0x146f6e,_0x1adc17,_0xf79407)||_0x55ff7e[_0x1a4e('0x46')](_0x368e5a['createTextSpan'](_0x1adc17,_0xf79407-_0x1adc17)),_0x1adc17=_0xf79407);}return _0x57f980(_0x146f6e,_0x1adc17,_0x146f6e[_0x1a4e('0x1e')])||_0x55ff7e['push'](_0x368e5a[_0x1a4e('0x22fb')](_0x1adc17,_0x146f6e[_0x1a4e('0x1e')]-_0x1adc17)),_0x55ff7e;}function _0x988b60(_0x368e5a){switch(_0x368e5a){case 0x21:case 0x22:case 0x23:case 0x25:case 0x26:case 0x27:case 0x28:case 0x29:case 0x2a:case 0x2c:case 0x2d:case 0x2e:case 0x2f:case 0x3a:case 0x3b:case 0x3f:case 0x40:case 0x5b:case 0x5c:case 0x5d:case 0x5f:case 0x7b:case 0x7d:return!0x0;}return!0x1;}function _0x57f980(_0x368e5a,_0x146f6e,_0x2327c6){return _0x4e90f8(_0x368e5a,function(_0x368e5a){return _0x988b60(_0x368e5a)&&0x5f!==_0x368e5a;},_0x146f6e,_0x2327c6);}function _0x4926cf(_0x368e5a,_0x146f6e,_0x2327c6){return _0x146f6e!==_0x2327c6&&_0x146f6e+0x1<_0x368e5a[_0x1a4e('0x1e')]&&_0x56674b(_0x368e5a[_0x1a4e('0x913')](_0x146f6e))&&_0x58769c(_0x368e5a[_0x1a4e('0x913')](_0x146f6e+0x1))&&_0x4e90f8(_0x368e5a,_0x56674b,_0x2327c6,_0x146f6e);}function _0x4c3d2b(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x56674b(_0x368e5a[_0x1a4e('0x913')](_0x2327c6-0x1));return _0x56674b(_0x368e5a[_0x1a4e('0x913')](_0x2327c6))&&(!_0x146f6e||!_0x55ff7e);}function _0x37900f(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a;_0x55ff7e<_0x146f6e;_0x55ff7e++)if(!_0x2327c6(_0x55ff7e))return!0x1;return!0x0;}function _0x4e90f8(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x2327c6&&(_0x2327c6=0x0),void 0x0===_0x55ff7e&&(_0x55ff7e=_0x368e5a['length']),_0x37900f(_0x2327c6,_0x55ff7e,function(_0x2327c6){return _0x146f6e(_0x368e5a[_0x1a4e('0x913')](_0x2327c6),_0x2327c6);});}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x3389')]=0x0]='exact',_0x368e5a[_0x368e5a['prefix']=0x1]=_0x1a4e('0x1750'),_0x368e5a[_0x368e5a[_0x1a4e('0x281')]=0x2]=_0x1a4e('0x281'),_0x368e5a[_0x368e5a[_0x1a4e('0x338a')]=0x3]=_0x1a4e('0x338a');}(_0x146f6e=_0x368e5a[_0x1a4e('0x335c')]||(_0x368e5a[_0x1a4e('0x335c')]={})),_0x368e5a[_0x1a4e('0x335f')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x55ff7e=_0x146f6e[_0x1a4e('0x2bd')]()[_0x1a4e('0x2be')]('.')[_0x1a4e('0x21')](function(_0x368e5a){return function(_0x368e5a){return{'totalTextChunk':_0x327864(_0x368e5a),'subWordTextChunks':_0x40abc(_0x368e5a)};}(_0x368e5a[_0x1a4e('0x2bd')]());});if(!_0x55ff7e[_0x1a4e('0x1c2')](function(_0x368e5a){return!_0x368e5a[_0x1a4e('0x3388')][_0x1a4e('0x1e')];}))return{'getFullMatch':function(_0x146f6e,_0x1adc17){return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0x420b32;if(_0xf79407(_0x2327c6,_0x368e5a['last'](_0x55ff7e),_0x1adc17)&&!(_0x55ff7e[_0x1a4e('0x1e')]-0x1>_0x146f6e[_0x1a4e('0x1e')])){for(var _0x1b06ad=_0x55ff7e[_0x1a4e('0x1e')]-0x2,_0x326eae=_0x146f6e[_0x1a4e('0x1e')]-0x1;_0x1b06ad>=0x0;_0x1b06ad-=0x1,_0x326eae-=0x1)_0x420b32=_0x2c9ec9(_0x420b32,_0xf79407(_0x146f6e[_0x326eae],_0x55ff7e[_0x1b06ad],_0x1adc17));return _0x420b32;}}(_0x146f6e,_0x1adc17,_0x55ff7e,_0x2327c6);},'getMatchForLastSegmentOfPattern':function(_0x146f6e){return _0xf79407(_0x146f6e,_0x368e5a[_0x1a4e('0x10b1')](_0x55ff7e),_0x2327c6);},'patternContainsDots':_0x55ff7e['length']>0x1};},_0x368e5a[_0x1a4e('0x338b')]=_0x4a6702,_0x368e5a[_0x1a4e('0x338c')]=_0x3a60e7;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x338d')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x2327c6&&(_0x2327c6=!0x0),void 0x0===_0x55ff7e&&(_0x55ff7e=!0x1);var _0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32={'languageVersion':0x1,'pragmas':void 0x0,'checkJsDirective':void 0x0,'referencedFiles':[],'typeReferenceDirectives':[],'libReferenceDirectives':[],'amdDependencies':[],'hasNoDefaultLib':void 0x0,'moduleName':void 0x0},_0x1b06ad=[],_0x326eae=0x0,_0x56674b=!0x1;function _0x3eb283(){return _0xf79407=_0x2c9ec9,0x12===(_0x2c9ec9=_0x368e5a[_0x1a4e('0x338e')][_0x1a4e('0x22f8')]())?_0x326eae++:0x13===_0x2c9ec9&&_0x326eae--,_0x2c9ec9;}function _0x33f4ec(){var _0x146f6e=_0x368e5a[_0x1a4e('0x338e')][_0x1a4e('0x2648')](),_0x2327c6=_0x368e5a[_0x1a4e('0x338e')]['getTokenPos']();return{'fileName':_0x146f6e,'pos':_0x2327c6,'end':_0x2327c6+_0x146f6e[_0x1a4e('0x1e')]};}function _0xca7dfe(){_0x1b06ad[_0x1a4e('0x46')](_0x33f4ec()),_0x354036();}function _0x354036(){0x0===_0x326eae&&(_0x56674b=!0x0);}function _0x4f9060(){var _0x146f6e=_0x368e5a[_0x1a4e('0x338e')][_0x1a4e('0x338f')]();return 0x7d===_0x146f6e&&(0x82===(_0x146f6e=_0x3eb283())&&0xa===(_0x146f6e=_0x3eb283())&&(_0x1adc17||(_0x1adc17=[]),_0x1adc17[_0x1a4e('0x46')]({'ref':_0x33f4ec(),'depth':_0x326eae})),!0x0);}function _0x36df20(){if(0x18===_0xf79407)return!0x1;var _0x146f6e=_0x368e5a[_0x1a4e('0x338e')][_0x1a4e('0x338f')]();if(0x5c===_0x146f6e){if(0x14===(_0x146f6e=_0x3eb283())){if(0xa===(_0x146f6e=_0x3eb283()))return _0xca7dfe(),!0x0;}else{if(0xa===_0x146f6e)return _0xca7dfe(),!0x0;if(0x48===_0x146f6e||_0x368e5a['isKeyword'](_0x146f6e))if(0x90===(_0x146f6e=_0x3eb283())){if(0xa===(_0x146f6e=_0x3eb283()))return _0xca7dfe(),!0x0;}else if(0x3b===_0x146f6e){if(_0x2607a2(!0x0))return!0x0;}else{if(0x1b!==_0x146f6e)return!0x0;_0x146f6e=_0x3eb283();}if(0x12===_0x146f6e){for(_0x146f6e=_0x3eb283();0x13!==_0x146f6e&&0x1!==_0x146f6e;)_0x146f6e=_0x3eb283();0x13===_0x146f6e&&0x90===(_0x146f6e=_0x3eb283())&&0xa===(_0x146f6e=_0x3eb283())&&_0xca7dfe();}else 0x28===_0x146f6e&&0x77===(_0x146f6e=_0x3eb283())&&(0x48===(_0x146f6e=_0x3eb283())||_0x368e5a[_0x1a4e('0x23f3')](_0x146f6e))&&0x90===(_0x146f6e=_0x3eb283())&&0xa===(_0x146f6e=_0x3eb283())&&_0xca7dfe();}return!0x0;}return!0x1;}function _0x49012e(){var _0x146f6e=_0x368e5a['scanner'][_0x1a4e('0x338f')]();if(0x55===_0x146f6e){if(_0x354036(),0x12===(_0x146f6e=_0x3eb283())){for(_0x146f6e=_0x3eb283();0x13!==_0x146f6e&&0x1!==_0x146f6e;)_0x146f6e=_0x3eb283();0x13===_0x146f6e&&0x90===(_0x146f6e=_0x3eb283())&&0xa===(_0x146f6e=_0x3eb283())&&_0xca7dfe();}else if(0x28===_0x146f6e)0x90===(_0x146f6e=_0x3eb283())&&0xa===(_0x146f6e=_0x3eb283())&&_0xca7dfe();else if(0x5c===_0x146f6e&&(0x48===(_0x146f6e=_0x3eb283())||_0x368e5a['isKeyword'](_0x146f6e))&&0x3b===(_0x146f6e=_0x3eb283())&&_0x2607a2(!0x0))return!0x0;return!0x0;}return!0x1;}function _0x2607a2(_0x146f6e){var _0x2327c6=_0x146f6e?_0x3eb283():_0x368e5a[_0x1a4e('0x338e')][_0x1a4e('0x338f')]();return 0x86===_0x2327c6&&(0x14===(_0x2327c6=_0x3eb283())&&0xa===(_0x2327c6=_0x3eb283())&&_0xca7dfe(),!0x0);}function _0x4a683c(){var _0x146f6e=_0x368e5a[_0x1a4e('0x338e')][_0x1a4e('0x338f')]();if(0x48===_0x146f6e&&_0x1a4e('0x85d')===_0x368e5a[_0x1a4e('0x338e')]['getTokenValue']()){if(0x14!==(_0x146f6e=_0x3eb283()))return!0x0;if(0xa===(_0x146f6e=_0x3eb283())){if(0x1b!==(_0x146f6e=_0x3eb283()))return!0x0;_0x146f6e=_0x3eb283();}if(0x16!==_0x146f6e)return!0x0;for(_0x146f6e=_0x3eb283();0x17!==_0x146f6e&&0x1!==_0x146f6e;)0xa===_0x146f6e&&_0xca7dfe(),_0x146f6e=_0x3eb283();return!0x0;}return!0x1;}if(_0x2327c6&&function(){for(_0x368e5a['scanner'][_0x1a4e('0x2637')](_0x146f6e),_0x3eb283();0x1!==_0x368e5a[_0x1a4e('0x338e')][_0x1a4e('0x338f')]();)_0x4f9060()||_0x36df20()||_0x49012e()||_0x55ff7e&&(_0x2607a2(!0x1)||_0x4a683c())||_0x3eb283();_0x368e5a['scanner'][_0x1a4e('0x2637')](void 0x0);}(),_0x368e5a['processCommentPragmas'](_0x420b32,_0x146f6e),_0x368e5a[_0x1a4e('0x26a9')](_0x420b32,_0x368e5a[_0x1a4e('0x10bf')]),_0x56674b){if(_0x1adc17)for(var _0x4c78dd=0x0,_0x5b0f5d=_0x1adc17;_0x4c78dd<_0x5b0f5d['length'];_0x4c78dd++){var _0x28e4ed=_0x5b0f5d[_0x4c78dd];_0x1b06ad['push'](_0x28e4ed[_0x1a4e('0x1652')]);}return{'referencedFiles':_0x420b32['referencedFiles'],'typeReferenceDirectives':_0x420b32[_0x1a4e('0x2618')],'libReferenceDirectives':_0x420b32[_0x1a4e('0x2619')],'importedFiles':_0x1b06ad,'isLibFile':!!_0x420b32[_0x1a4e('0x261b')],'ambientExternalModules':void 0x0};}var _0x43a869=void 0x0;if(_0x1adc17)for(var _0x335cde=0x0,_0x23707f=_0x1adc17;_0x335cde<_0x23707f[_0x1a4e('0x1e')];_0x335cde++)0x0===(_0x28e4ed=_0x23707f[_0x335cde])[_0x1a4e('0x4cd')]?(_0x43a869||(_0x43a869=[]),_0x43a869[_0x1a4e('0x46')](_0x28e4ed[_0x1a4e('0x1652')][_0x1a4e('0x1b39')])):_0x1b06ad[_0x1a4e('0x46')](_0x28e4ed[_0x1a4e('0x1652')]);return{'referencedFiles':_0x420b32['referencedFiles'],'typeReferenceDirectives':_0x420b32[_0x1a4e('0x2618')],'libReferenceDirectives':_0x420b32['libReferenceDirectives'],'importedFiles':_0x1b06ad,'isLibFile':!!_0x420b32[_0x1a4e('0x261b')],'ambientExternalModules':_0x43a869};};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e){return{'canRename':!0x1,'localizedErrorMessage':_0x368e5a['getLocaleSpecificMessage'](_0x146f6e)};}function _0x55ff7e(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x31d6')](_0x2327c6),_0x1adc17=_0x146f6e[_0x1a4e('0x29b')](_0x2327c6);return 0xa===_0x146f6e['kind']&&(_0x55ff7e+=0x1,_0x1adc17-=0x2),_0x368e5a[_0x1a4e('0x22fb')](_0x55ff7e,_0x1adc17);}_0x146f6e[_0x1a4e('0x3390')]=function(_0x146f6e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x32f1')](_0x1adc17,_0xf79407);return(_0x2c9ec9&&function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:case 0xa:case 0x64:return!0x0;case 0x8:return _0x368e5a['isLiteralNameOfPropertyDeclarationOrIndexAccess'](_0x146f6e);default:return!0x1;}}(_0x2c9ec9)?function(_0x146f6e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x1adc17[_0x1a4e('0x3029')](_0x146f6e);if(_0x420b32){var _0x1b06ad=_0x420b32[_0x1a4e('0x22e5')];if(_0x1b06ad&&0x0!==_0x1b06ad[_0x1a4e('0x1e')]){if(_0x1b06ad[_0x1a4e('0x1c2')](_0x2c9ec9))return _0x2327c6(_0x368e5a['Diagnostics']['You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library']);if(!(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&0x50===_0x146f6e[_0x1a4e('0x23f8')]&&0x600&_0x420b32[_0x1a4e('0x11c')]['flags'])){if(_0x368e5a[_0x1a4e('0x2855')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x23c3')](_0x146f6e))return function(_0x146f6e,_0x55ff7e,_0x1adc17){if(!_0x368e5a['isExternalModuleNameRelative'](_0x146f6e[_0x1a4e('0xe04')]))return _0x2327c6(_0x368e5a['Diagnostics'][_0x1a4e('0x3391')]);var _0xf79407=_0x368e5a[_0x1a4e('0x1c7')](_0x1adc17['declarations'],_0x368e5a['isSourceFile']);if(_0xf79407){var _0x2c9ec9=_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x1098')](_0x1a4e('0x2815'))||_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x1098')](_0x1a4e('0x3392'))?void 0x0:_0x368e5a[_0x1a4e('0x1759')](_0x368e5a[_0x1a4e('0x241e')](_0xf79407[_0x1a4e('0x1b39')]),_0x1a4e('0x2815')),_0x420b32=void 0x0===_0x2c9ec9?_0xf79407['fileName']:_0x2c9ec9,_0x1b06ad=void 0x0===_0x2c9ec9?_0x1a4e('0xa6c'):_0x1a4e('0x3195'),_0x326eae=_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x471')]('/')+0x1,_0x56674b=_0x368e5a[_0x1a4e('0x22fb')](_0x146f6e[_0x1a4e('0x31d6')](_0x55ff7e)+0x1+_0x326eae,_0x146f6e['text'][_0x1a4e('0x1e')]-_0x326eae);return{'canRename':!0x0,'fileToRename':_0x420b32,'kind':_0x1b06ad,'displayName':_0x420b32,'fullDisplayName':_0x420b32,'kindModifiers':'','triggerSpan':_0x56674b};}}(_0x146f6e,_0xf79407,_0x420b32);var _0x326eae=_0x368e5a['SymbolDisplay'][_0x1a4e('0x328c')](_0x1adc17,_0x420b32,_0x146f6e),_0x56674b=_0x368e5a[_0x1a4e('0x3393')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2674')](_0x146f6e)&&0x95===_0x146f6e['parent'][_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x3231')](_0x368e5a[_0x1a4e('0x2401')](_0x146f6e)):void 0x0,_0x3dd81b=_0x56674b||_0x1adc17[_0x1a4e('0x332f')](_0x420b32),_0x318b3a=_0x56674b||_0x1adc17['getFullyQualifiedName'](_0x420b32);return function(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){return{'canRename':!0x0,'fileToRename':void 0x0,'kind':_0x2327c6,'displayName':_0x368e5a,'fullDisplayName':_0x146f6e,'kindModifiers':_0x1adc17,'triggerSpan':_0x55ff7e(_0xf79407,_0x2c9ec9)};}(_0x3dd81b,_0x318b3a,_0x326eae,_0x368e5a['SymbolDisplay'][_0x1a4e('0x328d')](_0x420b32),_0x146f6e,_0xf79407);}}}}(_0x2c9ec9,_0x146f6e['getTypeChecker'](),_0x1adc17,function(_0x368e5a){return _0x146f6e['isSourceFileDefaultLibrary'](_0x368e5a['getSourceFile']());}):void 0x0)||_0x2327c6(_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3394')]);};}(_0x368e5a['Rename']||(_0x368e5a[_0x1a4e('0x3395')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6,_0x55ff7e;function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0x368e5a['findPrecedingToken'](_0x146f6e[_0x1a4e('0x31d5')](),_0x2327c6,_0x146f6e[_0x1a4e('0x11c')],!0x0));return _0x368e5a['rangeContainsRange'](_0x55ff7e,_0x1adc17);}function _0xf79407(_0x146f6e,_0x2327c6){var _0x55ff7e=function(_0x146f6e,_0x2327c6){if(0x1c===_0x146f6e[_0x1a4e('0x146b')]||0x14===_0x146f6e[_0x1a4e('0x146b')])return{'list':_0x5aec72(_0x146f6e[_0x1a4e('0x11c')],_0x146f6e,_0x2327c6),'argumentIndex':0x0};var _0x55ff7e=_0x368e5a[_0x1a4e('0x3396')](_0x146f6e);return _0x55ff7e&&{'list':_0x55ff7e,'argumentIndex':_0x1b06ad(_0x55ff7e,_0x146f6e)};}(_0x146f6e,_0x2327c6);if(_0x55ff7e){var _0x1adc17=_0x55ff7e['list'],_0xf79407=_0x55ff7e[_0x1a4e('0x3258')],_0x2c9ec9=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x31d4')](),_0x55ff7e=_0x368e5a[_0x1a4e('0x170c')](_0x2327c6,function(_0x368e5a){return 0x1b!==_0x368e5a[_0x1a4e('0x146b')];});_0x2327c6[_0x1a4e('0x1e')]>0x0&&0x1b===_0x368e5a[_0x1a4e('0x10b1')](_0x2327c6)[_0x1a4e('0x146b')]&&_0x55ff7e++;return _0x55ff7e;}(_0x1adc17);return 0x0!==_0xf79407&&_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x173f')](_0xf79407,_0x2c9ec9),{'list':_0x1adc17,'argumentIndex':_0xf79407,'argumentCount':_0x2c9ec9,'argumentsSpan':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x31d5')](),_0x1adc17=_0x368e5a['skipTrivia'](_0x2327c6['text'],_0x146f6e[_0x1a4e('0x31d7')](),!0x1);return _0x368e5a[_0x1a4e('0x22fb')](_0x55ff7e,_0x1adc17-_0x55ff7e);}(_0x1adc17,_0x2327c6)};}}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e['parent'];if(_0x368e5a[_0x1a4e('0x31c3')](_0x1adc17)){var _0x2c9ec9=_0x1adc17,_0x420b32=_0xf79407(_0x146f6e,_0x55ff7e);if(!_0x420b32)return;var _0x1b06ad=_0x420b32['list'],_0x56674b=_0x420b32[_0x1a4e('0x3258')],_0x123596=_0x420b32[_0x1a4e('0x3257')],_0x3e3361=_0x420b32['argumentsSpan'];return{'isTypeParameterList':!!_0x1adc17[_0x1a4e('0x2365')]&&_0x1adc17['typeArguments']['pos']===_0x1b06ad[_0x1a4e('0xa4')],'invocation':{'kind':0x0,'node':_0x2c9ec9},'argumentsSpan':_0x3e3361,'argumentIndex':_0x56674b,'argumentCount':_0x123596};}if(_0x368e5a[_0x1a4e('0x24e5')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x24fb')](_0x1adc17))return _0x368e5a[_0x1a4e('0x31fb')](_0x146f6e,_0x2327c6,_0x55ff7e)?_0x326eae(_0x1adc17,0x0,_0x55ff7e):void 0x0;if(_0x368e5a[_0x1a4e('0x24e6')](_0x146f6e)&&0xc1===_0x1adc17[_0x1a4e('0x11c')]['kind']){var _0x5dd624=_0x1adc17,_0x757da9=_0x5dd624['parent'];return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xce===_0x5dd624['kind']),_0x326eae(_0x757da9,_0x56674b=_0x368e5a[_0x1a4e('0x31fb')](_0x146f6e,_0x2327c6,_0x55ff7e)?0x0:0x1,_0x55ff7e);}if(_0x368e5a[_0x1a4e('0x250a')](_0x1adc17)&&_0x368e5a[_0x1a4e('0x24fb')](_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x11c')])){var _0x33cd07=_0x1adc17;_0x757da9=_0x1adc17[_0x1a4e('0x11c')]['parent'];if(_0x368e5a[_0x1a4e('0x24e8')](_0x146f6e)&&!_0x368e5a[_0x1a4e('0x31fb')](_0x146f6e,_0x2327c6,_0x55ff7e))return;return _0x326eae(_0x757da9,_0x56674b=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x55ff7e>=_0x2327c6[_0x1a4e('0x31d6')](),_0x1a4e('0x3397')),_0x368e5a['isTemplateLiteralToken'](_0x2327c6))return _0x368e5a[_0x1a4e('0x31fb')](_0x2327c6,_0x55ff7e,_0x1adc17)?0x0:_0x146f6e+0x2;return _0x146f6e+0x1;}(_0x33cd07[_0x1a4e('0x11c')][_0x1a4e('0x260e')][_0x1a4e('0x3e')](_0x33cd07),_0x146f6e,_0x2327c6,_0x55ff7e),_0x55ff7e);}if(_0x368e5a[_0x1a4e('0x256e')](_0x1adc17)){var _0x39b14d=_0x1adc17[_0x1a4e('0x266d')][_0x1a4e('0xa4')],_0x27d470=_0x368e5a[_0x1a4e('0x22c6')](_0x55ff7e[_0x1a4e('0xe04')],_0x1adc17['attributes'][_0x1a4e('0xca')],!0x1);return{'isTypeParameterList':!0x1,'invocation':{'kind':0x0,'node':_0x1adc17},'argumentsSpan':_0x368e5a['createTextSpan'](_0x39b14d,_0x27d470-_0x39b14d),'argumentIndex':0x0,'argumentCount':0x1};}var _0x2f868b=_0x368e5a['getPossibleTypeArgumentsInfo'](_0x146f6e,_0x55ff7e);if(_0x2f868b){var _0x3ae2d0=_0x2f868b[_0x1a4e('0x31f0')],_0x2c81eb=_0x2f868b[_0x1a4e('0x31f1')];return{'isTypeParameterList':!0x0,'invocation':_0x2c9ec9={'kind':0x1,'called':_0x3ae2d0},'argumentsSpan':_0x3e3361=_0x368e5a[_0x1a4e('0x22fa')](_0x3ae2d0[_0x1a4e('0x31d6')](_0x55ff7e),_0x146f6e[_0x1a4e('0xca')]),'argumentIndex':_0x2c81eb,'argumentCount':_0x2c81eb+0x1};}}function _0x420b32(_0x146f6e){return _0x368e5a[_0x1a4e('0x236e')](_0x146f6e[_0x1a4e('0x5f')])?_0x420b32(_0x146f6e[_0x1a4e('0x5f')])+0x1:0x2;}function _0x1b06ad(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=0x0,_0x1adc17=_0x368e5a['getChildren']();_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0xf79407===_0x146f6e)break;0x1b!==_0xf79407[_0x1a4e('0x146b')]&&_0x2327c6++;}return _0x2327c6;}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x24e5')](_0x146f6e[_0x1a4e('0xe19')])?0x1:_0x146f6e[_0x1a4e('0xe19')][_0x1a4e('0x260e')][_0x1a4e('0x1e')]+0x1;return 0x0!==_0x2327c6&&_0x368e5a[_0x1a4e('0x1749')]['assertLessThan'](_0x2327c6,_0x1adc17),{'isTypeParameterList':!0x1,'invocation':{'kind':0x0,'node':_0x146f6e},'argumentsSpan':_0x56674b(_0x146f6e,_0x55ff7e),'argumentIndex':_0x2327c6,'argumentCount':_0x1adc17};}function _0x56674b(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['template'],_0x1adc17=_0x55ff7e[_0x1a4e('0x31d6')](),_0xf79407=_0x55ff7e[_0x1a4e('0x31d7')]();0xce===_0x55ff7e['kind']&&(0x0===_0x368e5a[_0x1a4e('0x10b1')](_0x55ff7e['templateSpans'])[_0x1a4e('0x2301')][_0x1a4e('0x2310')]()&&(_0xf79407=_0x368e5a[_0x1a4e('0x22c6')](_0x2327c6['text'],_0xf79407,!0x1)));return _0x368e5a[_0x1a4e('0x22fb')](_0x1adc17,_0xf79407-_0x1adc17);}function _0x5aec72(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x31d4')](_0x55ff7e),_0xf79407=_0x1adc17[_0x1a4e('0x3e')](_0x2327c6);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0xf79407>=0x0&&_0x1adc17['length']>_0xf79407+0x1),_0x1adc17[_0xf79407+0x1];}function _0xdf24d6(_0x146f6e){return 0x0===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x23a2')](_0x146f6e[_0x1a4e('0x80')]):_0x146f6e['called'];}function _0x3d051c(_0x368e5a){return 0x0===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x80')]:0x1===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x31f0')]:_0x368e5a[_0x1a4e('0x80')];}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1a11')]=0x0]=_0x1a4e('0x1a11'),_0x368e5a[_0x368e5a[_0x1a4e('0x3398')]=0x1]=_0x1a4e('0x3398'),_0x368e5a[_0x368e5a[_0x1a4e('0x2935')]=0x2]=_0x1a4e('0x2935');}(_0x2327c6||(_0x2327c6={})),_0x146f6e['getSignatureHelpItems']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1b06ad,_0x326eae){var _0x56674b=_0x146f6e[_0x1a4e('0x302b')](),_0x5aec72=_0x368e5a[_0x1a4e('0x31e9')](_0x2327c6,_0x55ff7e);if(_0x5aec72){var _0x68cf10=!!_0x1b06ad&&_0x1a4e('0x3399')===_0x1b06ad[_0x1a4e('0x146b')];if(!_0x68cf10||!_0x368e5a['isInString'](_0x2327c6,_0x55ff7e,_0x5aec72)&&!_0x368e5a[_0x1a4e('0x31f4')](_0x2327c6,_0x55ff7e)){var _0x30210e=!!_0x1b06ad&&_0x1a4e('0x339a')===_0x1b06ad[_0x1a4e('0x146b')],_0x3fedaf=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x1b06ad){for(var _0x326eae=function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x339b')](_0x146f6e[_0x1a4e('0x11c')],_0x146f6e),_0x1a4e('0x339c'),function(){return _0x1a4e('0x339d')+_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x23c2')](_0x146f6e)+',\x20parent:\x20'+_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x23c2')](_0x146f6e[_0x1a4e('0x11c')]);});var _0x1b06ad=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0x2c9ec9=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x14===_0x146f6e[_0x1a4e('0x146b')]||0x1b===_0x146f6e[_0x1a4e('0x146b')]){var _0x1adc17=_0x146f6e[_0x1a4e('0x11c')];switch(_0x1adc17[_0x1a4e('0x146b')]){case 0xc3:case 0x9c:case 0xc4:case 0xc5:var _0x2c9ec9=_0xf79407(_0x146f6e,_0x2327c6);if(!_0x2c9ec9)return;var _0x1b06ad=_0x2c9ec9[_0x1a4e('0x3258')],_0x326eae=_0x2c9ec9['argumentCount'],_0x56674b=_0x2c9ec9[_0x1a4e('0x339e')],_0x5aec72=_0x368e5a[_0x1a4e('0x24ed')](_0x1adc17)?_0x55ff7e[_0x1a4e('0x339f')](_0x1adc17):_0x55ff7e[_0x1a4e('0x323e')](_0x1adc17);return _0x5aec72&&{'contextualType':_0x5aec72,'argumentIndex':_0x1b06ad,'argumentCount':_0x326eae,'argumentsSpan':_0x56674b};case 0xcc:var _0xdf24d6=function _0x146f6e(_0x2327c6){return _0x368e5a[_0x1a4e('0x236e')](_0x2327c6[_0x1a4e('0x11c')])?_0x146f6e(_0x2327c6['parent']):_0x2327c6;}(_0x1adc17),_0x3d051c=_0x55ff7e[_0x1a4e('0x323e')](_0xdf24d6),_0x68cf10=0x14===_0x146f6e[_0x1a4e('0x146b')]?0x0:_0x420b32(_0x1adc17)-0x1,_0x578cf8=_0x420b32(_0xdf24d6);return _0x3d051c&&{'contextualType':_0x3d051c,'argumentIndex':_0x68cf10,'argumentCount':_0x578cf8,'argumentsSpan':_0x368e5a['createTextSpanFromNode'](_0x1adc17)};default:return;}}}(_0x146f6e,_0x55ff7e,_0x1adc17);if(_0x2c9ec9){var _0x1b06ad,_0x326eae=_0x2c9ec9[_0x1a4e('0x2a73')],_0x56674b=_0x2c9ec9[_0x1a4e('0x3258')],_0x5aec72=_0x2c9ec9[_0x1a4e('0x3257')],_0xdf24d6=_0x2c9ec9[_0x1a4e('0x339e')],_0x3d051c=_0x326eae[_0x1a4e('0x31db')]();return 0x1!==_0x3d051c[_0x1a4e('0x1e')]?void 0x0:{'isTypeParameterList':!0x1,'invocation':{'kind':0x2,'signature':_0x368e5a['first'](_0x3d051c),'node':_0x146f6e,'symbol':(_0x1b06ad=_0x326eae[_0x1a4e('0xb1b')],_0x1a4e('0x2acc')===_0x1b06ad['name']&&_0x368e5a[_0x1a4e('0x1703')](_0x1b06ad[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a['isFunctionTypeNode'](_0x146f6e)?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0xb1b')]:void 0x0;})||_0x1b06ad)},'argumentsSpan':_0xdf24d6,'argumentIndex':_0x56674b,'argumentCount':_0x5aec72};}}(_0x146f6e,0x0,_0x55ff7e,_0x1adc17)||_0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e);}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);if(_0x1b06ad)return{'value':_0x1b06ad};},_0x56674b=_0x146f6e;_0x1b06ad||!_0x368e5a['isBlock'](_0x56674b)&&!_0x368e5a[_0x1a4e('0x22f0')](_0x56674b);_0x56674b=_0x56674b['parent']){var _0x5aec72=_0x326eae(_0x56674b);if('object'==typeof _0x5aec72)return _0x5aec72[_0x1a4e('0x255')];}}(_0x5aec72,_0x55ff7e,_0x2327c6,_0x56674b,_0x30210e);if(_0x3fedaf){_0x326eae[_0x1a4e('0x289b')]();var _0xab0060=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9){var _0x420b32=_0x146f6e['invocation'],_0x1b06ad=_0x146f6e[_0x1a4e('0x3257')];switch(_0x420b32[_0x1a4e('0x146b')]){case 0x0:if(_0x2c9ec9&&!function(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x368e5a[_0x1a4e('0x31c3')](_0x2327c6))return!0x1;var _0xf79407=_0x2327c6[_0x1a4e('0x31d4')](_0x55ff7e);switch(_0x146f6e['kind']){case 0x14:return _0x368e5a[_0x1a4e('0x2ac')](_0xf79407,_0x146f6e);case 0x1b:var _0x2c9ec9=_0x368e5a[_0x1a4e('0x3396')](_0x146f6e);return!!_0x2c9ec9&&_0x368e5a[_0x1a4e('0x2ac')](_0xf79407,_0x2c9ec9);case 0x1c:return _0x1adc17(_0x146f6e,_0x55ff7e,_0x2327c6['expression']);default:return!0x1;}}(_0xf79407,_0x420b32[_0x1a4e('0x80')],_0x55ff7e))return;var _0x326eae=[],_0x56674b=_0x2327c6['getResolvedSignatureForSignatureHelp'](_0x420b32[_0x1a4e('0x80')],_0x326eae,_0x1b06ad);return 0x0===_0x326eae[_0x1a4e('0x1e')]?void 0x0:{'kind':0x0,'candidates':_0x326eae,'resolvedSignature':_0x56674b};case 0x1:var _0x5aec72=_0x420b32['called'];if(_0x2c9ec9&&!_0x1adc17(_0xf79407,_0x55ff7e,_0x368e5a[_0x1a4e('0x2370')](_0x5aec72)?_0x5aec72[_0x1a4e('0x11c')]:_0x5aec72))return;var _0x326eae=_0x368e5a[_0x1a4e('0x31f2')](_0x5aec72,_0x1b06ad,_0x2327c6);if(0x0!==_0x326eae['length'])return{'kind':0x0,'candidates':_0x326eae,'resolvedSignature':_0x368e5a[_0x1a4e('0x10f7')](_0x326eae)};var _0xdf24d6=_0x2327c6['getSymbolAtLocation'](_0x5aec72);return _0xdf24d6&&{'kind':0x1,'symbol':_0xdf24d6};case 0x2:return{'kind':0x0,'candidates':[_0x420b32[_0x1a4e('0xabc')]],'resolvedSignature':_0x420b32[_0x1a4e('0xabc')]};default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x420b32);}}(_0x3fedaf,_0x56674b,_0x2327c6,_0x5aec72,_0x68cf10);return _0x326eae['throwIfCancellationRequested'](),_0xab0060?_0x56674b['runWithCancellationToken'](_0x326eae,function(_0x368e5a){return 0x0===_0xab0060[_0x1a4e('0x146b')]?_0x3e57e2(_0xab0060['candidates'],_0xab0060[_0x1a4e('0x29d0')],_0x3fedaf,_0x2327c6,_0x368e5a):function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x3257')],_0xf79407=_0x146f6e[_0x1a4e('0x339e')],_0x2c9ec9=_0x146f6e[_0x1a4e('0x3256')],_0x420b32=_0x146f6e[_0x1a4e('0x3258')],_0x1b06ad=_0x55ff7e[_0x1a4e('0x33a0')](_0x368e5a);return _0x1b06ad?{'items':[_0x51df19(_0x368e5a,_0x1b06ad,_0x55ff7e,_0x3d051c(_0x2c9ec9),_0x2327c6)],'applicableSpan':_0xf79407,'selectedItemIndex':0x0,'argumentIndex':_0x420b32,'argumentCount':_0x1adc17}:void 0x0;}(_0xab0060[_0x1a4e('0xb1b')],_0x3fedaf,_0x2327c6,_0x368e5a);}):_0x368e5a[_0x1a4e('0x23a9')](_0x2327c6)?function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x2!==_0x146f6e[_0x1a4e('0x3256')][_0x1a4e('0x146b')]){var _0x1adc17=_0xdf24d6(_0x146f6e[_0x1a4e('0x3256')]),_0xf79407=_0x368e5a[_0x1a4e('0x2370')](_0x1adc17)?_0x1adc17[_0x1a4e('0xe04')]:_0x368e5a[_0x1a4e('0x2371')](_0x1adc17)?_0x1adc17[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]:void 0x0,_0x2c9ec9=_0x2327c6[_0x1a4e('0x302b')]();return void 0x0===_0xf79407?void 0x0:_0x368e5a['firstDefined'](_0x2327c6[_0x1a4e('0x2447')](),function(_0x2327c6){return _0x368e5a[_0x1a4e('0x1703')](_0x2327c6[_0x1a4e('0x33a1')]()[_0x1a4e('0x179')](_0xf79407),function(_0x368e5a){var _0x1adc17=_0x368e5a[_0x1a4e('0xb1b')]&&_0x2c9ec9['getTypeOfSymbolAtLocation'](_0x368e5a['symbol'],_0x368e5a),_0xf79407=_0x1adc17&&_0x1adc17[_0x1a4e('0x31db')]();if(_0xf79407&&_0xf79407['length'])return _0x2c9ec9[_0x1a4e('0x3297')](_0x55ff7e,function(_0x368e5a){return _0x3e57e2(_0xf79407,_0xf79407[0x0],_0x146f6e,_0x2327c6,_0x368e5a);});});});}}(_0x3fedaf,_0x146f6e,_0x326eae):void 0x0;}}}},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x33a2')]=0x0]=_0x1a4e('0x33a2'),_0x368e5a[_0x368e5a[_0x1a4e('0x3d4')]=0x1]=_0x1a4e('0x3d4');}(_0x55ff7e||(_0x55ff7e={})),_0x146f6e[_0x1a4e('0x3254')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2c9ec9(_0x368e5a,_0x146f6e,_0x2327c6);return!_0x55ff7e||_0x55ff7e[_0x1a4e('0x33a3')]||0x0!==_0x55ff7e[_0x1a4e('0x3256')][_0x1a4e('0x146b')]?void 0x0:{'invocation':_0x55ff7e['invocation'][_0x1a4e('0x80')],'argumentCount':_0x55ff7e[_0x1a4e('0x3257')],'argumentIndex':_0x55ff7e[_0x1a4e('0x3258')]};};var _0x471e92=0x42fe000;function _0x3e57e2(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x33a3')],_0x420b32=_0x55ff7e[_0x1a4e('0x3257')],_0x1b06ad=_0x55ff7e['argumentsSpan'],_0x326eae=_0x55ff7e[_0x1a4e('0x3256')],_0x56674b=_0x55ff7e[_0x1a4e('0x3258')],_0x5aec72=_0x3d051c(_0x326eae),_0x3e57e2=0x2===_0x326eae[_0x1a4e('0x146b')]?_0x326eae[_0x1a4e('0xb1b')]:_0xf79407[_0x1a4e('0x3029')](_0xdf24d6(_0x326eae)),_0x7a8d3b=_0x3e57e2?_0x368e5a[_0x1a4e('0x322f')](_0xf79407,_0x3e57e2,void 0x0,void 0x0):_0x368e5a[_0x1a4e('0x1700')],_0x1801de=_0x146f6e[_0x1a4e('0x21')](function(_0x146f6e){return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=(_0x55ff7e?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=(_0x146f6e[_0x1a4e('0xd95')]||_0x146f6e)[_0x1a4e('0x23d7')],_0x2c9ec9=_0x368e5a[_0x1a4e('0x298e')]({'removeComments':!0x0}),_0x420b32=(_0xf79407||_0x368e5a[_0x1a4e('0x1700')])[_0x1a4e('0x21')](function(_0x368e5a){return _0xdf8fee(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9);}),_0x1b06ad=_0x368e5a[_0x1a4e('0x322c')](function(_0xf79407){var _0x420b32=_0x146f6e[_0x1a4e('0x28c7')]?[_0x2327c6['symbolToParameterDeclaration'](_0x146f6e['thisParameter'],_0x55ff7e,_0x471e92)]:[],_0x1b06ad=_0x368e5a[_0x1a4e('0x28d1')](_0x420b32[_0x1a4e('0x9a')](_0x146f6e['parameters'][_0x1a4e('0x21')](function(_0x368e5a){return _0x2327c6['symbolToParameterDeclaration'](_0x368e5a,_0x55ff7e,_0x471e92);})));_0x2c9ec9[_0x1a4e('0x33a4')](0xa10,_0x1b06ad,_0x1adc17,_0xf79407);});return{'isVariadic':!0x1,'parameters':_0x420b32,'prefix':[_0x368e5a[_0x1a4e('0x3224')](0x1c)],'suffix':[_0x368e5a[_0x1a4e('0x3224')](0x1e)][_0x1a4e('0x9a')](_0x1b06ad)};}:function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e['hasRestParameter'],_0x2c9ec9=_0x368e5a[_0x1a4e('0x298e')]({'removeComments':!0x0}),_0x420b32=_0x368e5a['mapToDisplayParts'](function(_0xf79407){if(_0x146f6e[_0x1a4e('0x23d7')]&&_0x146f6e[_0x1a4e('0x23d7')][_0x1a4e('0x1e')]){var _0x420b32=_0x368e5a[_0x1a4e('0x28d1')](_0x146f6e[_0x1a4e('0x23d7')][_0x1a4e('0x21')](function(_0x368e5a){return _0x2327c6[_0x1a4e('0x28e3')](_0x368e5a,_0x55ff7e);}));_0x2c9ec9[_0x1a4e('0x33a4')](0xd210,_0x420b32,_0x1adc17,_0xf79407);}}),_0x1b06ad=_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x21')](function(_0x146f6e){return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x322c')](function(_0x368e5a){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x28e2')](_0x146f6e,_0x55ff7e,_0x471e92);_0xf79407[_0x1a4e('0x298f')](0x4,_0x2c9ec9,_0x1adc17,_0x368e5a);}),_0x420b32=_0x2327c6[_0x1a4e('0x33a5')](_0x146f6e[_0x1a4e('0x2340')]);return{'name':_0x146f6e[_0x1a4e('0x2cb')],'documentation':_0x146f6e[_0x1a4e('0x33a6')](_0x2327c6),'displayParts':_0x2c9ec9,'isOptional':_0x420b32};}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9);});return{'isVariadic':_0xf79407,'parameters':_0x1b06ad,'prefix':_0x420b32['concat']([_0x368e5a[_0x1a4e('0x3224')](0x14)]),'suffix':[_0x368e5a['punctuationPart'](0x15)]};})(_0x146f6e,_0x1adc17,_0xf79407,_0x2c9ec9),_0x1b06ad=_0x420b32[_0x1a4e('0x33a7')],_0x326eae=_0x420b32[_0x1a4e('0x111a')],_0x56674b=_0x420b32[_0x1a4e('0x1750')],_0x5aec72=_0x420b32[_0x1a4e('0x1751')],_0xdf24d6=_0x2327c6['concat'](_0x56674b),_0x3d051c=_0x5aec72[_0x1a4e('0x9a')](function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x322c')](function(_0x368e5a){_0x368e5a[_0x1a4e('0x2438')](':'),_0x368e5a['writeSpace']('\x20');var _0x1adc17=_0x55ff7e[_0x1a4e('0x33a8')](_0x146f6e);_0x1adc17?_0x55ff7e['writeTypePredicate'](_0x1adc17,_0x2327c6,void 0x0,_0x368e5a):_0x55ff7e[_0x1a4e('0x322e')](_0x55ff7e['getReturnTypeOfSignature'](_0x146f6e),_0x2327c6,void 0x0,_0x368e5a);});}(_0x146f6e,_0xf79407,_0x1adc17)),_0x3e57e2=_0x146f6e['getDocumentationComment'](_0x1adc17),_0x7a8d3b=_0x146f6e[_0x1a4e('0x33a9')]();return{'isVariadic':_0x1b06ad,'prefixDisplayParts':_0xdf24d6,'suffixDisplayParts':_0x3d051c,'separatorDisplayParts':_0xb5a54,'parameters':_0x326eae,'documentation':_0x3e57e2,'tags':_0x7a8d3b};}(_0x146f6e,_0x7a8d3b,_0x2c9ec9,_0xf79407,_0x5aec72,_0x1adc17);});0x0!==_0x56674b&&_0x368e5a['Debug'][_0x1a4e('0x173f')](_0x56674b,_0x420b32);var _0x49cdc8=_0x146f6e[_0x1a4e('0x3e')](_0x2327c6);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](-0x1!==_0x49cdc8),{'items':_0x1801de,'applicableSpan':_0x1b06ad,'selectedItemIndex':_0x49cdc8,'argumentIndex':_0x56674b,'argumentCount':_0x420b32};}function _0x51df19(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a['symbolToDisplayParts'](_0x55ff7e,_0x146f6e),_0x420b32=_0x368e5a[_0x1a4e('0x298e')]({'removeComments':!0x0}),_0x1b06ad=_0x2327c6[_0x1a4e('0x21')](function(_0x368e5a){return _0xdf8fee(_0x368e5a,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32);}),_0x326eae=_0x146f6e[_0x1a4e('0x33a6')](_0x55ff7e),_0x56674b=_0x146f6e[_0x1a4e('0x33a9')]();return{'isVariadic':!0x1,'prefixDisplayParts':_0x2c9ec9[_0x1a4e('0x9a')]([_0x368e5a[_0x1a4e('0x3224')](0x1c)]),'suffixDisplayParts':[_0x368e5a[_0x1a4e('0x3224')](0x1e)],'separatorDisplayParts':_0xb5a54,'parameters':_0x1b06ad,'documentation':_0x326eae,'tags':_0x56674b};}var _0xb5a54=[_0x368e5a[_0x1a4e('0x3224')](0x1b),_0x368e5a[_0x1a4e('0x3222')]()];function _0xdf8fee(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a['mapToDisplayParts'](function(_0x368e5a){var _0x2c9ec9=_0x2327c6['typeParameterToDeclaration'](_0x146f6e,_0x55ff7e);_0xf79407[_0x1a4e('0x298f')](0x4,_0x2c9ec9,_0x1adc17,_0x368e5a);});return{'name':_0x146f6e[_0x1a4e('0xb1b')]['name'],'documentation':_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x33a6')](_0x2327c6),'displayParts':_0x2c9ec9,'isOptional':!0x1};}}(_0x368e5a[_0x1a4e('0x3253')]||(_0x368e5a['SignatureHelp']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e=/^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\/=]+)$)?/;_0x368e5a[_0x1a4e('0x33aa')]=function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32,_0x1b06ad=_0x368e5a['createGetCanonicalFileName'](_0x2327c6);return{'tryGetSourcePosition':function _0x146f6e(_0x2327c6){if(_0x368e5a[_0x1a4e('0x2fad')](_0x2327c6[_0x1a4e('0x1b39')])){var _0x55ff7e=_0x589da7(_0x2327c6[_0x1a4e('0x1b39')]);if(_0x55ff7e){var _0x1adc17=_0x3cbb08(_0x2327c6[_0x1a4e('0x1b39')],_0x55ff7e)['getSourcePosition'](_0x2327c6);return _0x1adc17===_0x2327c6?void 0x0:_0x146f6e(_0x1adc17)||_0x1adc17;}}},'tryGetGeneratedPosition':function(_0x146f6e){var _0x2327c6=_0x2c9ec9(),_0x1adc17=_0x2327c6[_0x1a4e('0x23f1')](),_0xf79407=_0x1adc17[_0x1a4e('0x2445')]||_0x1adc17[_0x1a4e('0x303')],_0x420b32=_0xf79407?_0x368e5a[_0x1a4e('0x241e')](_0xf79407)+_0x1a4e('0x1a83'):_0x368e5a['getDeclarationEmitOutputFilePathWorker'](_0x146f6e[_0x1a4e('0x1b39')],_0x2327c6[_0x1a4e('0x23f1')](),_0x55ff7e,_0x2327c6[_0x1a4e('0x241b')](),_0x1b06ad);if(void 0x0!==_0x420b32){var _0x326eae=_0x589da7(_0x420b32);if(_0x326eae){var _0x56674b=_0x3cbb08(_0x420b32,_0x326eae)[_0x1a4e('0x33ab')](_0x146f6e);return _0x56674b===_0x146f6e?void 0x0:_0x56674b;}}},'toLineColumnOffset':function(_0x368e5a,_0x146f6e){return _0x589da7(_0x368e5a)[_0x1a4e('0x22c1')](_0x146f6e);},'clearCache':function(){_0x420b32=function(_0x146f6e){var _0x2327c6=_0x368e5a['createMap']();return{'get':function(_0x55ff7e){if(_0x2327c6[_0x1a4e('0x178')](_0x55ff7e))return _0x2327c6[_0x1a4e('0x179')](_0x55ff7e);if(_0x146f6e[_0x1a4e('0x1b4d')]&&_0x146f6e[_0x1a4e('0x16b8')]&&_0x146f6e[_0x1a4e('0x1b4d')](_0x55ff7e)){var _0x1adc17=_0x146f6e[_0x1a4e('0x16b8')](_0x55ff7e),_0xf79407={'text':_0x1adc17,'lineMap':void 0x0,'getLineAndCharacterOfPosition':function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22c0')](_0x368e5a[_0x1a4e('0x22bf')](this),_0x146f6e);}};return _0x2327c6[_0x1a4e('0x17a')](_0x55ff7e,_0xf79407),_0xf79407;}}};}(_0xf79407);}};function _0x326eae(_0x146f6e){return _0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x55ff7e,_0x1b06ad);}function _0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x2dba')](_0x2327c6);if(!(_0xf79407&&_0xf79407[_0x1a4e('0x15c5')]&&_0xf79407['file']&&_0xf79407[_0x1a4e('0x15c8')]))return _0x146f6e[_0x1a4e('0x33ac')]=_0x368e5a[_0x1a4e('0x2dc1')];var _0x326eae=_0x2c9ec9();return _0x146f6e[_0x1a4e('0x33ac')]=_0x368e5a[_0x1a4e('0x2dbe')]({'getSourceFileLike':function(_0x368e5a){var _0x146f6e=_0x326eae&&_0x326eae[_0x1a4e('0x2fd9')](_0x368e5a);return void 0x0===_0x146f6e||_0x146f6e[_0x1a4e('0x27b6')]!==_0x368e5a?_0x420b32[_0x1a4e('0x179')](_0x368e5a):_0x146f6e;},'getCanonicalFileName':_0x1b06ad,'log':_0x1adc17},_0xf79407,_0x55ff7e);}function _0x3cbb08(_0x2327c6,_0x55ff7e){if(!_0xf79407[_0x1a4e('0x16b8')]||!_0xf79407[_0x1a4e('0x1b4d')])return _0x55ff7e[_0x1a4e('0x33ac')]=_0x368e5a['identitySourceMapConsumer'];if(_0x55ff7e[_0x1a4e('0x33ac')])return _0x55ff7e[_0x1a4e('0x33ac')];var _0x1adc17=function(_0x146f6e){var _0x2327c6=_0x420b32[_0x1a4e('0x179')](_0x326eae(_0x146f6e));if(_0x2327c6)return _0x368e5a[_0x1a4e('0x2db9')](_0x2327c6[_0x1a4e('0xe04')],_0x368e5a[_0x1a4e('0x22bf')](_0x2327c6));}(_0x2327c6);if(_0x1adc17){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x2af')](_0x1adc17);if(_0x2c9ec9){if(_0x2c9ec9[0x1]){var _0x3cbb08=_0x2c9ec9[0x1];return _0x56674b(_0x55ff7e,_0x368e5a['base64decode'](_0x368e5a[_0x1a4e('0x16b4')],_0x3cbb08),_0x2327c6);}_0x1adc17=void 0x0;}}var _0x5afe13=[];_0x1adc17&&_0x5afe13[_0x1a4e('0x46')](_0x1adc17),_0x5afe13['push'](_0x2327c6+_0x1a4e('0x2f49'));for(var _0x172586=0x0,_0xd02fba=_0x5afe13;_0x172586<_0xd02fba[_0x1a4e('0x1e')];_0x172586++){var _0x41c43a=_0xd02fba[_0x172586],_0x1e61b2=_0x368e5a[_0x1a4e('0x1087')](_0x41c43a,_0x368e5a[_0x1a4e('0x1671')](_0x2327c6),_0x1b06ad);if(_0xf79407['fileExists'](_0x1e61b2))return _0x56674b(_0x55ff7e,_0xf79407[_0x1a4e('0x16b8')](_0x1e61b2),_0x1e61b2);}return _0x55ff7e[_0x1a4e('0x33ac')]=_0x368e5a[_0x1a4e('0x2dc1')];}function _0x589da7(_0x368e5a){var _0x146f6e=_0x326eae(_0x368e5a),_0x2327c6=_0x2c9ec9()[_0x1a4e('0x2fd9')](_0x146f6e);return _0x2327c6&&_0x2327c6[_0x1a4e('0x27b6')]===_0x146f6e?_0x2327c6:_0x420b32[_0x1a4e('0x179')](_0x146f6e);}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e){switch(_0x146f6e['kind']){case 0xf9:var _0x2327c6=_0x146f6e['importClause'],_0x55ff7e=_0x146f6e['moduleSpecifier'];return _0x2327c6&&!_0x2327c6[_0x1a4e('0x2cb')]&&_0x2327c6[_0x1a4e('0x23c7')]&&0xfb===_0x2327c6['namedBindings'][_0x1a4e('0x146b')]&&_0x368e5a['isStringLiteral'](_0x55ff7e)?_0x2327c6['namedBindings'][_0x1a4e('0x2cb')]:void 0x0;case 0xf8:return _0x146f6e['name'];default:return;}}function _0x2327c6(_0x146f6e){return _0x368e5a[_0x1a4e('0x2516')](_0x146f6e)&&!!_0x146f6e[_0x1a4e('0x2302')]&&_0x55ff7e(_0x146f6e['expression']);}function _0x55ff7e(_0x146f6e){if(!_0x1adc17(_0x146f6e)||!_0x146f6e[_0x1a4e('0x2373')]['every'](_0xf79407))return!0x1;for(var _0x2327c6=_0x146f6e[_0x1a4e('0x2302')];_0x1adc17(_0x2327c6)||_0x368e5a[_0x1a4e('0x2371')](_0x2327c6);){if(_0x368e5a[_0x1a4e('0x2372')](_0x2327c6)&&!_0x2327c6['arguments'][_0x1a4e('0x114')](_0xf79407))return!0x1;_0x2327c6=_0x2327c6[_0x1a4e('0x2302')];}return!0x0;}function _0x1adc17(_0x146f6e){return _0x368e5a['isCallExpression'](_0x146f6e)&&(_0x368e5a['hasPropertyAccessExpressionWithName'](_0x146f6e,_0x1a4e('0xdf8'))||_0x368e5a['hasPropertyAccessExpressionWithName'](_0x146f6e,_0x1a4e('0x1586')));}function _0xf79407(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x60:case 0x48:case 0xef:case 0xc4:case 0xc5:return!0x0;default:return!0x1;}}_0x368e5a[_0x1a4e('0x33ad')]=function(_0x55ff7e,_0x1adc17,_0xf79407){_0x1adc17['getSemanticDiagnostics'](_0x55ff7e,_0xf79407);var _0x2c9ec9,_0x420b32=[],_0x1b06ad=_0x1adc17[_0x1a4e('0x302b')]();_0x55ff7e[_0x1a4e('0x2349')]&&(_0x368e5a[_0x1a4e('0x320a')](_0x1adc17)||_0x368e5a['compilerOptionsIndicateEs6Modules'](_0x1adc17[_0x1a4e('0x23f1')]()))&&function(_0x146f6e){return _0x146f6e[_0x1a4e('0x2366')]['some'](function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xdb:return _0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')][_0x1a4e('0x1c2')](function(_0x146f6e){return!!_0x146f6e['initializer']&&_0x368e5a['isRequireCall'](function _0x146f6e(_0x2327c6){return _0x368e5a[_0x1a4e('0x2371')](_0x2327c6)?_0x146f6e(_0x2327c6[_0x1a4e('0x2302')]):_0x2327c6;}(_0x146f6e[_0x1a4e('0x236a')]),!0x0);});case 0xdd:var _0x2327c6=_0x146f6e['expression'];if(!_0x368e5a[_0x1a4e('0x236e')](_0x2327c6))return _0x368e5a[_0x1a4e('0x23ae')](_0x2327c6,!0x0);var _0x55ff7e=_0x368e5a[_0x1a4e('0x23ba')](_0x2327c6);return 0x1===_0x55ff7e||0x2===_0x55ff7e;default:return!0x1;}});}(_0x55ff7e)&&_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2354')]((_0x2c9ec9=_0x55ff7e[_0x1a4e('0x2349')],_0x368e5a[_0x1a4e('0x236e')](_0x2c9ec9)?_0x2c9ec9[_0x1a4e('0x5f')]:_0x2c9ec9),_0x368e5a['Diagnostics'][_0x1a4e('0x33ae')]));var _0x326eae=_0x368e5a[_0x1a4e('0x23a9')](_0x55ff7e);if(function _0x146f6e(_0x1adc17){if(_0x326eae)switch(_0x1adc17[_0x1a4e('0x146b')]){case 0xc4:var _0xf79407=_0x368e5a[_0x1a4e('0x29ab')](_0x1adc17);if(_0xf79407){var _0x2c9ec9=_0xf79407[_0x1a4e('0xb1b')];if(_0x2c9ec9&&(_0x2c9ec9['exports']&&_0x2c9ec9[_0x1a4e('0x0')][_0x1a4e('0x220')]||_0x2c9ec9[_0x1a4e('0x2369')]&&_0x2c9ec9[_0x1a4e('0x2369')][_0x1a4e('0x220')])){_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2354')](_0x368e5a['isVariableDeclaration'](_0x1adc17[_0x1a4e('0x11c')])?_0x1adc17['parent']['name']:_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x33af')]));break;}}case 0xef:var _0x56674b=_0x1adc17[_0x1a4e('0xb1b')];_0x56674b[_0x1a4e('0x2369')]&&_0x56674b[_0x1a4e('0x2369')][_0x1a4e('0x220')]>0x0&&_0x420b32[_0x1a4e('0x46')](_0x368e5a['createDiagnosticForNode'](_0x368e5a[_0x1a4e('0x238d')](_0x1adc17[_0x1a4e('0x11c')])?_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]:_0x1adc17,_0x368e5a[_0x1a4e('0x167d')]['This_constructor_function_may_be_converted_to_a_class_declaration']));}else{if(_0x368e5a[_0x1a4e('0x2376')](_0x1adc17)&&_0x1adc17['parent']===_0x55ff7e&&0x2&_0x1adc17['declarationList'][_0x1a4e('0x7b2')]&&0x1===_0x1adc17[_0x1a4e('0x2377')]['declarations']['length']){var _0x3f5a83=_0x1adc17[_0x1a4e('0x2377')]['declarations'][0x0][_0x1a4e('0x236a')];_0x3f5a83&&_0x368e5a[_0x1a4e('0x23ae')](_0x3f5a83,!0x0)&&_0x420b32[_0x1a4e('0x46')](_0x368e5a['createDiagnosticForNode'](_0x3f5a83,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x33b0')]));}_0x368e5a['codefix'][_0x1a4e('0x33b1')](_0x1adc17)&&_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2354')](_0x1adc17[_0x1a4e('0x2cb')]||_0x1adc17,_0x368e5a['Diagnostics']['JSDoc_types_may_be_moved_to_TypeScript_types']));}_0x368e5a[_0x1a4e('0x254d')](_0x1adc17)&&function(_0x146f6e,_0x55ff7e,_0x1adc17){var _0xf79407;!_0x368e5a[_0x1a4e('0x23fd')](_0x146f6e)&&_0x146f6e['body']&&_0x368e5a[_0x1a4e('0x250c')](_0x146f6e[_0x1a4e('0x8f2')])&&(_0xf79407=_0x146f6e[_0x1a4e('0x8f2')],_0x368e5a['forEachReturnStatement'](_0xf79407,_0x2327c6))&&function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x31d9')](_0x368e5a),_0x55ff7e=_0x146f6e[_0x1a4e('0x249c')](_0x2327c6,0x0),_0x1adc17=_0x55ff7e['length']?_0x146f6e['getReturnTypeOfSignature'](_0x55ff7e[0x0]):void 0x0;return!!_0x1adc17&&!!_0x146f6e[_0x1a4e('0x33b2')](_0x1adc17);}(_0x146f6e,_0x55ff7e)&&_0x1adc17[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2354')](!_0x146f6e['name']&&_0x368e5a['isVariableDeclaration'](_0x146f6e[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')])?_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]:_0x146f6e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x33b3')]));}(_0x1adc17,_0x1b06ad,_0x420b32),_0x1adc17[_0x1a4e('0x22eb')](_0x146f6e);}(_0x55ff7e),_0x368e5a[_0x1a4e('0x258f')](_0x1adc17[_0x1a4e('0x23f1')]()))for(var _0x56674b=0x0,_0x43a50f=_0x55ff7e['imports'];_0x56674b<_0x43a50f['length'];_0x56674b++){var _0x567bab=_0x43a50f[_0x56674b],_0x13e717=_0x146f6e(_0x368e5a[_0x1a4e('0x23c1')](_0x567bab));if(_0x13e717){var _0x56f11b=_0x368e5a[_0x1a4e('0x2311')](_0x55ff7e,_0x567bab[_0x1a4e('0xe04')]),_0x467d66=_0x56f11b&&_0x1adc17[_0x1a4e('0x288f')](_0x56f11b[_0x1a4e('0x231a')]);_0x467d66&&_0x467d66[_0x1a4e('0x2359')]&&_0x368e5a[_0x1a4e('0x237b')](_0x467d66[_0x1a4e('0x2359')])&&_0x467d66[_0x1a4e('0x2359')][_0x1a4e('0x267b')]&&_0x420b32[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2354')](_0x13e717,_0x368e5a[_0x1a4e('0x167d')]['Import_may_be_converted_to_a_default_import']));}}return _0x368e5a[_0x1a4e('0x23d1')](_0x420b32,_0x55ff7e[_0x1a4e('0x263f')]),_0x368e5a['addRange'](_0x420b32,_0x1adc17[_0x1a4e('0x2fe5')](_0x55ff7e,_0xf79407)),_0x420b32[_0x1a4e('0x89')](function(_0x368e5a,_0x146f6e){return _0x368e5a['start']-_0x146f6e['start'];});},_0x368e5a[_0x1a4e('0x33b4')]=_0x2327c6,_0x368e5a[_0x1a4e('0x33b5')]=_0x55ff7e;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6,_0x1adc17){var _0xf79407=_0x55ff7e(_0x146f6e,_0x2327c6,_0x1adc17);if(''!==_0xf79407)return _0xf79407;var _0x2c9ec9=_0x368e5a[_0x1a4e('0x248e')](_0x2327c6);return 0x20&_0x2c9ec9?_0x368e5a[_0x1a4e('0x28c9')](_0x2327c6,0xd1)?_0x1a4e('0x317d'):_0x1a4e('0x237e'):0x180&_0x2c9ec9?_0x1a4e('0x889'):0x80000&_0x2c9ec9?_0x1a4e('0x40'):0x40&_0x2c9ec9?_0x1a4e('0x22a2'):0x40000&_0x2c9ec9?_0x1a4e('0x3191'):0x40000&_0x2c9ec9?'type\x20parameter':0x8&_0x2c9ec9?_0x1a4e('0x3181'):0x200000&_0x2c9ec9?_0x1a4e('0x3193'):0x600&_0x2c9ec9?'module':_0xf79407;}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=_0x146f6e[_0x1a4e('0x331e')](_0x2327c6);if(0x1===_0xf79407[_0x1a4e('0x1e')]&&0x2000&_0x368e5a['first'](_0xf79407)['flags']&&0x0!==_0x146f6e['getTypeOfSymbolAtLocation'](_0x2327c6,_0x55ff7e)[_0x1a4e('0x33b6')]()['getCallSignatures']()['length'])return _0x1a4e('0x1062');if(_0x146f6e['isUndefinedSymbol'](_0x2327c6))return _0x1a4e('0x22b0');if(_0x146f6e[_0x1a4e('0x33b7')](_0x2327c6))return _0x1a4e('0x3184');if(0x64===_0x55ff7e[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x24a8')](_0x55ff7e))return'parameter';var _0x2c9ec9=_0x368e5a[_0x1a4e('0x248e')](_0x2327c6);if(0x3&_0x2c9ec9)return _0x368e5a[_0x1a4e('0x321f')](_0x2327c6)?'parameter':_0x2327c6['valueDeclaration']&&_0x368e5a['isVarConst'](_0x2327c6[_0x1a4e('0x2340')])?'const':_0x368e5a[_0x1a4e('0x3b')](_0x2327c6[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x2360')])?_0x1a4e('0x2f57'):_0x1adc17(_0x2327c6)?_0x1a4e('0x3184'):_0x1a4e('0x22b0');if(0x10&_0x2c9ec9)return _0x1adc17(_0x2327c6)?_0x1a4e('0x33b8'):_0x1a4e('0x68');if(0x8000&_0x2c9ec9)return _0x1a4e('0x3187');if(0x10000&_0x2c9ec9)return _0x1a4e('0x3189');if(0x2000&_0x2c9ec9)return _0x1a4e('0x1062');if(0x4000&_0x2c9ec9)return _0x1a4e('0x10');if(0x4&_0x2c9ec9){if(0x2000000&_0x2c9ec9&&0x6&_0x2327c6['checkFlags']){var _0x420b32=_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x331e')](_0x2327c6),function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x3249')]();if(0x18007&_0x2327c6)return _0x1a4e('0x81e');_0x368e5a[_0x1a4e('0x1749')]['assert'](!!(0x2010&_0x2327c6));});return _0x420b32||(_0x146f6e[_0x1a4e('0x32a5')](_0x2327c6,_0x55ff7e)[_0x1a4e('0x31db')]()[_0x1a4e('0x1e')]?_0x1a4e('0x1062'):'property');}switch(_0x55ff7e['parent']&&_0x55ff7e[_0x1a4e('0x11c')]['kind']){case 0x106:case 0x104:case 0x105:return 0x48===_0x55ff7e[_0x1a4e('0x146b')]?_0x1a4e('0x81e'):'JSX\x20attribute';case 0x10b:return _0x1a4e('0x3198');default:return _0x1a4e('0x81e');}}return'';}function _0x1adc17(_0x146f6e){return!_0x146f6e['parent']&&_0x368e5a['forEach'](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){if(0xc4===_0x146f6e[_0x1a4e('0x146b')])return!0x0;if(0xed!==_0x146f6e[_0x1a4e('0x146b')]&&0xef!==_0x146f6e[_0x1a4e('0x146b')])return!0x1;for(var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];!_0x368e5a['isFunctionBlock'](_0x2327c6);_0x2327c6=_0x2327c6['parent'])if(0x117===_0x2327c6[_0x1a4e('0x146b')]||0xf5===_0x2327c6['kind'])return!0x1;return!0x0;});}_0x146f6e['getSymbolKind']=_0x2327c6,_0x146f6e[_0x1a4e('0x328d')]=function(_0x146f6e){var _0x2327c6=_0x146f6e&&_0x146f6e[_0x1a4e('0x22e5')]&&_0x146f6e[_0x1a4e('0x22e5')][_0x1a4e('0x1e')]>0x0?_0x368e5a[_0x1a4e('0x31f6')](_0x146f6e[_0x1a4e('0x22e5')][0x0]):'',_0x55ff7e=_0x146f6e&&0x1000000&_0x146f6e['flags']?_0x1a4e('0x896'):'';return _0x2327c6&&_0x55ff7e?_0x2327c6+','+_0x55ff7e:_0x2327c6||_0x55ff7e;},_0x146f6e[_0x1a4e('0x3298')]=function _0x146f6e(_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){void 0x0===_0x326eae&&(_0x326eae=_0x368e5a[_0x1a4e('0x31c1')](_0x1b06ad));var _0x549492,_0x22429d,_0x43b58e,_0xde1815,_0x4ca397,_0x3c57eb,_0x4b1a99=[],_0x39a5f7=_0x368e5a[_0x1a4e('0x248e')](_0xf79407),_0x4d170f=0x1&_0x326eae?_0x55ff7e(_0x1adc17,_0xf79407,_0x1b06ad):'',_0x31277=!0x1,_0x48b26c=0x64===_0x1b06ad[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x23a5')](_0x1b06ad);if(0x64===_0x1b06ad[_0x1a4e('0x146b')]&&!_0x48b26c)return{'displayParts':[_0x368e5a[_0x1a4e('0x3223')](0x64)],'documentation':[],'symbolKind':_0x1a4e('0x33b9'),'tags':void 0x0};if(''!==_0x4d170f||0x20&_0x39a5f7||0x200000&_0x39a5f7){_0x1a4e('0x3187')!==_0x4d170f&&_0x1a4e('0x3189')!==_0x4d170f||(_0x4d170f=_0x1a4e('0x81e'));var _0x2d3132=void 0x0;if(_0x43b58e=_0x48b26c?_0x1adc17[_0x1a4e('0x31d9')](_0x1b06ad):_0x1adc17[_0x1a4e('0x32a5')](_0xf79407[_0x1a4e('0x248f')]||_0xf79407,_0x1b06ad),_0x1b06ad[_0x1a4e('0x11c')]&&0xbd===_0x1b06ad[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x3c9445=_0x1b06ad[_0x1a4e('0x11c')][_0x1a4e('0x2cb')];(_0x3c9445===_0x1b06ad||_0x3c9445&&0x0===_0x3c9445[_0x1a4e('0x2310')]())&&(_0x1b06ad=_0x1b06ad['parent']);}var _0x59956b=void 0x0;if(_0x368e5a[_0x1a4e('0x31c3')](_0x1b06ad)?_0x59956b=_0x1b06ad:_0x368e5a[_0x1a4e('0x3314')](_0x1b06ad)||_0x368e5a[_0x1a4e('0x3313')](_0x1b06ad)?_0x59956b=_0x1b06ad[_0x1a4e('0x11c')]:_0x1b06ad['parent']&&_0x368e5a[_0x1a4e('0x256e')](_0x1b06ad[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x2342')](_0xf79407['valueDeclaration'])&&(_0x59956b=_0x1b06ad[_0x1a4e('0x11c')]),_0x59956b){_0x2d3132=_0x1adc17['getResolvedSignature'](_0x59956b,[]);var _0x3f910e=0xc0===_0x59956b['kind']||_0x368e5a[_0x1a4e('0x2372')](_0x59956b)&&0x62===_0x59956b['expression'][_0x1a4e('0x146b')],_0x59d1d5=_0x3f910e?_0x43b58e['getConstructSignatures']():_0x43b58e[_0x1a4e('0x31db')]();if(_0x368e5a['contains'](_0x59d1d5,_0x2d3132[_0x1a4e('0xd95')])||_0x368e5a[_0x1a4e('0x2ac')](_0x59d1d5,_0x2d3132)||(_0x2d3132=_0x59d1d5[_0x1a4e('0x1e')]?_0x59d1d5[0x0]:void 0x0),_0x2d3132){switch(_0x3f910e&&0x20&_0x39a5f7?(_0x4d170f=_0x1a4e('0x10'),_0x1a8810(_0x43b58e[_0x1a4e('0xb1b')],_0x4d170f)):0x200000&_0x39a5f7?(_0x2cdbd8(_0x4d170f=_0x1a4e('0x3193')),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x3f910e&&(_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x5f)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]())),_0x2a96d1(_0xf79407)):_0x1a8810(_0xf79407,_0x4d170f),_0x4d170f){case _0x1a4e('0x3198'):case _0x1a4e('0x81e'):case _0x1a4e('0x22b0'):case _0x1a4e('0x2f58'):case'let':case _0x1a4e('0x3190'):case _0x1a4e('0x3184'):_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3224')](0x39)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),0x10&_0x368e5a[_0x1a4e('0x249a')](_0x43b58e)||!_0x43b58e[_0x1a4e('0xb1b')]||(_0x368e5a[_0x1a4e('0x23d1')](_0x4b1a99,_0x368e5a['symbolToDisplayParts'](_0x1adc17,_0x43b58e[_0x1a4e('0xb1b')],_0x420b32,void 0x0,0x5)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x322b')]())),_0x3f910e&&(_0x4b1a99['push'](_0x368e5a[_0x1a4e('0x3223')](0x5f)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]())),_0x4387c7(_0x2d3132,_0x59d1d5,0x40000);break;default:_0x4387c7(_0x2d3132,_0x59d1d5);}_0x31277=!0x0;}}else if(_0x368e5a[_0x1a4e('0x31cf')](_0x1b06ad)&&!(0x18000&_0x39a5f7)||0x7c===_0x1b06ad[_0x1a4e('0x146b')]&&0x9d===_0x1b06ad[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x1d66e2=_0x1b06ad[_0x1a4e('0x11c')];_0x368e5a[_0x1a4e('0x1c7')](_0xf79407[_0x1a4e('0x22e5')],function(_0x368e5a){return _0x368e5a===(0x7c===_0x1b06ad['kind']?_0x1d66e2['parent']:_0x1d66e2);})&&(_0x59d1d5=0x9d===_0x1d66e2[_0x1a4e('0x146b')]?_0x43b58e[_0x1a4e('0x33b6')]()[_0x1a4e('0x31da')]():_0x43b58e[_0x1a4e('0x33b6')]()[_0x1a4e('0x31db')](),_0x2d3132=_0x1adc17['isImplementationOfOverload'](_0x1d66e2)?_0x59d1d5[0x0]:_0x1adc17[_0x1a4e('0x33ba')](_0x1d66e2),0x9d===_0x1d66e2[_0x1a4e('0x146b')]?(_0x4d170f=_0x1a4e('0x10'),_0x1a8810(_0x43b58e[_0x1a4e('0xb1b')],_0x4d170f)):_0x1a8810(0xa0!==_0x1d66e2[_0x1a4e('0x146b')]||0x800&_0x43b58e[_0x1a4e('0xb1b')]['flags']||0x1000&_0x43b58e[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]?_0xf79407:_0x43b58e[_0x1a4e('0xb1b')],_0x4d170f),_0x4387c7(_0x2d3132,_0x59d1d5),_0x31277=!0x0);}}if(0x20&_0x39a5f7&&!_0x31277&&!_0x48b26c&&(_0x159155(),_0x368e5a[_0x1a4e('0x28c9')](_0xf79407,0xd1)?_0x2cdbd8(_0x1a4e('0x317d')):_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x4c)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x2a96d1(_0xf79407),_0x4c0b6b(_0xf79407,_0x2c9ec9)),0x40&_0x39a5f7&&0x2&_0x326eae&&(_0x3d82a8(),_0x4b1a99['push'](_0x368e5a[_0x1a4e('0x3223')](0x6e)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x2a96d1(_0xf79407),_0x4c0b6b(_0xf79407,_0x2c9ec9)),0x80000&_0x39a5f7&&0x2&_0x326eae&&(_0x3d82a8(),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x8c)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x2a96d1(_0xf79407),_0x4c0b6b(_0xf79407,_0x2c9ec9),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3225')](0x3b)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x368e5a['addRange'](_0x4b1a99,_0x368e5a[_0x1a4e('0x322d')](_0x1adc17,_0x1adc17['getDeclaredTypeOfSymbol'](_0xf79407),_0x420b32,0x800000))),0x180&_0x39a5f7&&(_0x3d82a8(),_0x368e5a[_0x1a4e('0x1c2')](_0xf79407[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x29a5')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x235b')](_0x146f6e);})&&(_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x4d)),_0x4b1a99['push'](_0x368e5a['spacePart']())),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['keywordPart'](0x54)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x2a96d1(_0xf79407)),0x600&_0x39a5f7){_0x3d82a8();var _0xca3e0b=(_0x4f2050=_0x368e5a['getDeclarationOfKind'](_0xf79407,0xf4))&&_0x4f2050['name']&&0x48===_0x4f2050[_0x1a4e('0x2cb')][_0x1a4e('0x146b')];_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](_0xca3e0b?0x83:0x82)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['spacePart']()),_0x2a96d1(_0xf79407);}if(0x40000&_0x39a5f7&&0x2&_0x326eae)if(_0x3d82a8(),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['punctuationPart'](0x14)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3226')]('type\x20parameter')),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3224')](0x15)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x2a96d1(_0xf79407),_0xf79407[_0x1a4e('0x11c')])_0x1132cd(),_0x2a96d1(_0xf79407[_0x1a4e('0x11c')],_0x420b32),_0x4c0b6b(_0xf79407[_0x1a4e('0x11c')],_0x420b32);else{var _0x4eee7f=_0x368e5a['getDeclarationOfKind'](_0xf79407,0x96);if(void 0x0===_0x4eee7f)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();(_0x4f2050=_0x4eee7f[_0x1a4e('0x11c')])&&(_0x368e5a[_0x1a4e('0x254e')](_0x4f2050[_0x1a4e('0x146b')])?(_0x1132cd(),_0x2d3132=_0x1adc17[_0x1a4e('0x33ba')](_0x4f2050),0xa1===_0x4f2050[_0x1a4e('0x146b')]?(_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x5f)),_0x4b1a99['push'](_0x368e5a['spacePart']())):0xa0!==_0x4f2050['kind']&&_0x4f2050[_0x1a4e('0x2cb')]&&_0x2a96d1(_0x4f2050[_0x1a4e('0xb1b')]),_0x368e5a[_0x1a4e('0x23d1')](_0x4b1a99,_0x368e5a[_0x1a4e('0x3230')](_0x1adc17,_0x2d3132,_0x2c9ec9,0x20))):0xf2===_0x4f2050[_0x1a4e('0x146b')]&&(_0x1132cd(),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x8c)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x2a96d1(_0x4f2050[_0x1a4e('0xb1b')]),_0x4c0b6b(_0x4f2050[_0x1a4e('0xb1b')],_0x2c9ec9)));}if(0x8&_0x39a5f7&&(_0x4d170f=_0x1a4e('0x3181'),_0x1a8810(_0xf79407,_0x1a4e('0x3181')),0x116===(_0x4f2050=_0xf79407[_0x1a4e('0x22e5')][0x0])['kind'])){var _0x3a10a2=_0x1adc17[_0x1a4e('0x2e05')](_0x4f2050);void 0x0!==_0x3a10a2&&(_0x4b1a99['push'](_0x368e5a[_0x1a4e('0x3222')]()),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3225')](0x3b)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['displayPart'](_0x368e5a['getTextOfConstantValue'](_0x3a10a2),_0x1a4e('0x3d')==typeof _0x3a10a2?_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x315e')]:_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x315f')])));}if(0x200000&_0x39a5f7){if(_0x3d82a8(),!_0x31277){var _0x1fac4a=_0x1adc17['getAliasedSymbol'](_0xf79407);if(_0x1fac4a!==_0xf79407&&_0x1fac4a[_0x1a4e('0x22e5')]&&_0x1fac4a[_0x1a4e('0x22e5')]['length']>0x0){var _0x588d7a=_0x1fac4a[_0x1a4e('0x22e5')][0x0],_0x51cb2b=_0x368e5a[_0x1a4e('0x23e9')](_0x588d7a);if(_0x51cb2b){var _0x1d4d4e=_0x368e5a[_0x1a4e('0x233d')](_0x588d7a)&&_0x368e5a[_0x1a4e('0x24c6')](_0x588d7a,0x2),_0x26bbc3=_0x1a4e('0x8')!==_0xf79407[_0x1a4e('0x2cb')]&&!_0x1d4d4e,_0x3edac8=_0x146f6e(_0x1adc17,_0x1fac4a,_0x368e5a[_0x1a4e('0x1674')](_0x588d7a),_0x588d7a,_0x51cb2b,_0x326eae,_0x26bbc3?_0xf79407:_0x1fac4a);_0x4b1a99[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x4b1a99,_0x3edac8[_0x1a4e('0x3227')]),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x322b')]()),_0x4ca397=_0x3edac8[_0x1a4e('0x3299')],_0x3c57eb=_0x3edac8[_0x1a4e('0x2455')];}}}switch(_0xf79407[_0x1a4e('0x22e5')][0x0]['kind']){case 0xf7:_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['keywordPart'](0x55)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x4b1a99['push'](_0x368e5a[_0x1a4e('0x3223')](0x83));break;case 0xfe:_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x55)),_0x4b1a99['push'](_0x368e5a[_0x1a4e('0x3222')]()),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](_0xf79407[_0x1a4e('0x22e5')][0x0][_0x1a4e('0x267b')]?0x3b:0x50));break;case 0x101:_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x55));break;default:_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x5c));}_0x4b1a99['push'](_0x368e5a[_0x1a4e('0x3222')]()),_0x2a96d1(_0xf79407),_0x368e5a['forEach'](_0xf79407[_0x1a4e('0x22e5')],function(_0x146f6e){if(0xf8===_0x146f6e[_0x1a4e('0x146b')]){var _0x2327c6=_0x146f6e;if(_0x368e5a[_0x1a4e('0x23a6')](_0x2327c6))_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['operatorPart'](0x3b)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['spacePart']()),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x86)),_0x4b1a99['push'](_0x368e5a['punctuationPart'](0x14)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3296')](_0x368e5a[_0x1a4e('0x1675')](_0x368e5a[_0x1a4e('0x23a7')](_0x2327c6)),_0x368e5a[_0x1a4e('0x3165')]['stringLiteral'])),_0x4b1a99['push'](_0x368e5a[_0x1a4e('0x3224')](0x15));else{var _0x55ff7e=_0x1adc17[_0x1a4e('0x3029')](_0x2327c6[_0x1a4e('0x236d')]);_0x55ff7e&&(_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3225')](0x3b)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x2a96d1(_0x55ff7e,_0x420b32));}return!0x0;}});}if(!_0x31277)if(''!==_0x4d170f){if(_0x43b58e)if(_0x48b26c?(_0x3d82a8(),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x64))):_0x1a8810(_0xf79407,_0x4d170f),'property'===_0x4d170f||_0x1a4e('0x3198')===_0x4d170f||0x3&_0x39a5f7||_0x1a4e('0x3184')===_0x4d170f||_0x48b26c)if(_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3224')](0x39)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['spacePart']()),_0x43b58e[_0x1a4e('0xb1b')]&&0x40000&_0x43b58e[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]){var _0xb38caf=_0x368e5a[_0x1a4e('0x322c')](function(_0x146f6e){var _0x2327c6=_0x1adc17[_0x1a4e('0x28e3')](_0x43b58e,_0x420b32);_0xb80d31()['writeNode'](0x4,_0x2327c6,_0x368e5a[_0x1a4e('0x1674')](_0x368e5a['getParseTreeNode'](_0x420b32)),_0x146f6e);});_0x368e5a[_0x1a4e('0x23d1')](_0x4b1a99,_0xb38caf);}else _0x368e5a[_0x1a4e('0x23d1')](_0x4b1a99,_0x368e5a['typeToDisplayParts'](_0x1adc17,_0x43b58e,_0x420b32));else(0x10&_0x39a5f7||0x2000&_0x39a5f7||0x4000&_0x39a5f7||0x20000&_0x39a5f7||0x18000&_0x39a5f7||_0x1a4e('0x1062')===_0x4d170f)&&(_0x59d1d5=_0x43b58e[_0x1a4e('0x33b6')]()[_0x1a4e('0x31db')]())[_0x1a4e('0x1e')]&&_0x4387c7(_0x59d1d5[0x0],_0x59d1d5);}else _0x4d170f=_0x2327c6(_0x1adc17,_0xf79407,_0x1b06ad);if(!_0x549492&&(_0x549492=_0xf79407[_0x1a4e('0x33a6')](_0x1adc17),_0x22429d=_0xf79407[_0x1a4e('0x33a9')](),0x0===_0x549492[_0x1a4e('0x1e')]&&0x4&_0x39a5f7&&_0xf79407['parent']&&_0x368e5a[_0x1a4e('0x3b')](_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x22e5')],function(_0x368e5a){return 0x117===_0x368e5a[_0x1a4e('0x146b')];})))for(var _0x50beb0=0x0,_0x3addd3=_0xf79407[_0x1a4e('0x22e5')];_0x50beb0<_0x3addd3[_0x1a4e('0x1e')];_0x50beb0++){var _0x4f2050;if((_0x4f2050=_0x3addd3[_0x50beb0])[_0x1a4e('0x11c')]&&0xcc===_0x4f2050[_0x1a4e('0x11c')]['kind']){var _0x3c64f1=_0x1adc17[_0x1a4e('0x3029')](_0x4f2050[_0x1a4e('0x11c')][_0x1a4e('0x5d')]);if(_0x3c64f1&&(_0x549492=_0x3c64f1['getDocumentationComment'](_0x1adc17),_0x22429d=_0x3c64f1[_0x1a4e('0x33a9')](),_0x549492['length']>0x0))break;}}return 0x0===_0x549492[_0x1a4e('0x1e')]&&_0x4ca397&&(_0x549492=_0x4ca397),0x0===_0x22429d[_0x1a4e('0x1e')]&&_0x3c57eb&&(_0x22429d=_0x3c57eb),{'displayParts':_0x4b1a99,'documentation':_0x549492,'symbolKind':_0x4d170f,'tags':0x0===_0x22429d[_0x1a4e('0x1e')]?void 0x0:_0x22429d};function _0xb80d31(){return _0xde1815||(_0xde1815=_0x368e5a['createPrinter']({'removeComments':!0x0})),_0xde1815;}function _0x3d82a8(){_0x4b1a99[_0x1a4e('0x1e')]&&_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x322b')]()),_0x159155();}function _0x159155(){_0x56674b&&(_0x2cdbd8('alias'),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()));}function _0x1132cd(){_0x4b1a99['push'](_0x368e5a['spacePart']()),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3223')](0x5d)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['spacePart']());}function _0x2a96d1(_0x146f6e,_0x2327c6){_0x56674b&&_0x146f6e===_0xf79407&&(_0x146f6e=_0x56674b);var _0x55ff7e=_0x368e5a[_0x1a4e('0x322f')](_0x1adc17,_0x146f6e,_0x2327c6||_0x2c9ec9,void 0x0,0x7);_0x368e5a['addRange'](_0x4b1a99,_0x55ff7e),0x1000000&_0xf79407[_0x1a4e('0x7b2')]&&_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['punctuationPart'](0x38));}function _0x1a8810(_0x146f6e,_0x2327c6){_0x3d82a8(),_0x2327c6&&(_0x2cdbd8(_0x2327c6),_0x146f6e&&!_0x368e5a[_0x1a4e('0x1c2')](_0x146f6e[_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23e0')](_0x146f6e)||(_0x368e5a[_0x1a4e('0x23df')](_0x146f6e)||_0x368e5a[_0x1a4e('0x237c')](_0x146f6e))&&!_0x146f6e[_0x1a4e('0x2cb')];})&&(_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3222')]()),_0x2a96d1(_0x146f6e)));}function _0x2cdbd8(_0x146f6e){switch(_0x146f6e){case'var':case'function':case _0x1a4e('0x2f57'):case _0x1a4e('0x2f58'):case'constructor':return void _0x4b1a99[_0x1a4e('0x46')](_0x368e5a['textOrKeywordPart'](_0x146f6e));default:return _0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3224')](0x14)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['textOrKeywordPart'](_0x146f6e)),void _0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3224')](0x15));}}function _0x4387c7(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e=0x0),_0x368e5a['addRange'](_0x4b1a99,_0x368e5a[_0x1a4e('0x3230')](_0x1adc17,_0x146f6e,_0x420b32,0x20|_0x55ff7e)),_0x2327c6[_0x1a4e('0x1e')]>0x1&&(_0x4b1a99['push'](_0x368e5a[_0x1a4e('0x3222')]()),_0x4b1a99['push'](_0x368e5a[_0x1a4e('0x3224')](0x14)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3225')](0x26)),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3296')]((_0x2327c6[_0x1a4e('0x1e')]-0x1)[_0x1a4e('0x95')](),_0x368e5a[_0x1a4e('0x3165')][_0x1a4e('0x315e')])),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a['spacePart']()),_0x4b1a99['push'](_0x368e5a['textPart'](0x2===_0x2327c6[_0x1a4e('0x1e')]?'overload':'overloads')),_0x4b1a99[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3224')](0x15)));var _0xf79407=_0x146f6e[_0x1a4e('0x33a6')](_0x1adc17);_0x549492=0x0===_0xf79407[_0x1a4e('0x1e')]?void 0x0:_0xf79407,_0x22429d=_0x146f6e[_0x1a4e('0x33a9')]();}function _0x4c0b6b(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x322c')](function(_0x55ff7e){var _0xf79407=_0x1adc17[_0x1a4e('0x28e1')](_0x146f6e,_0x2327c6);_0xb80d31()[_0x1a4e('0x33a4')](0xd210,_0xf79407,_0x368e5a[_0x1a4e('0x1674')](_0x368e5a[_0x1a4e('0x240a')](_0x2327c6)),_0x55ff7e);});_0x368e5a[_0x1a4e('0x23d1')](_0x4b1a99,_0x55ff7e);}};}(_0x368e5a[_0x1a4e('0x328b')]||(_0x368e5a[_0x1a4e('0x328b')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e,_0x2327c6){var _0x1adc17=[],_0xf79407=_0x2327c6[_0x1a4e('0x2706')]?_0x55ff7e(_0x2327c6[_0x1a4e('0x2706')],_0x1adc17):_0x368e5a[_0x1a4e('0x33bb')]();_0xf79407[_0x1a4e('0x2347')]=!0x0,_0xf79407[_0x1a4e('0x33bc')]=!0x0,_0xf79407[_0x1a4e('0x301a')]=!0x0,_0xf79407[_0x1a4e('0x2778')]=!0x0,_0xf79407['lib']=void 0x0,_0xf79407[_0x1a4e('0x2380')]=void 0x0,_0xf79407['noEmit']=void 0x0,_0xf79407['noEmitOnError']=void 0x0,_0xf79407[_0x1a4e('0x27de')]=void 0x0,_0xf79407[_0x1a4e('0x275e')]=void 0x0,_0xf79407[_0x1a4e('0x2350')]=void 0x0,_0xf79407[_0x1a4e('0x257e')]=void 0x0,_0xf79407['declarationDir']=void 0x0,_0xf79407[_0x1a4e('0x303')]=void 0x0,_0xf79407[_0x1a4e('0x2445')]=void 0x0,_0xf79407[_0x1a4e('0x23f2')]=!0x0;var _0x2c9ec9=_0x2327c6[_0x1a4e('0x1b39')]||(_0xf79407[_0x1a4e('0x294b')]?_0x1a4e('0x33bd'):_0x1a4e('0x33be')),_0x420b32=_0x368e5a[_0x1a4e('0x262c')](_0x2c9ec9,_0x146f6e,_0xf79407[_0x1a4e('0xd95')]);_0x2327c6['moduleName']&&(_0x420b32[_0x1a4e('0x2419')]=_0x2327c6[_0x1a4e('0x2419')]),_0x2327c6[_0x1a4e('0x2cef')]&&(_0x420b32[_0x1a4e('0x2cef')]=_0x368e5a[_0x1a4e('0x1701')](_0x2327c6[_0x1a4e('0x2cef')]));var _0x1b06ad,_0x326eae,_0x56674b=_0x368e5a[_0x1a4e('0x2473')](_0xf79407),_0x4f881b={'getSourceFile':function(_0x146f6e){return _0x146f6e===_0x368e5a[_0x1a4e('0x1672')](_0x2c9ec9)?_0x420b32:void 0x0;},'writeFile':function(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x175b')](_0x146f6e,_0x1a4e('0x2f49'))?(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1706')](_0x326eae,void 0x0,_0x1a4e('0x33bf'),_0x146f6e),_0x326eae=_0x2327c6):(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1706')](_0x1b06ad,void 0x0,_0x1a4e('0x33c0'),_0x146f6e),_0x1b06ad=_0x2327c6);},'getDefaultLibFileName':function(){return _0x1a4e('0x3003');},'useCaseSensitiveFileNames':function(){return!0x1;},'getCanonicalFileName':function(_0x368e5a){return _0x368e5a;},'getCurrentDirectory':function(){return'';},'getNewLine':function(){return _0x56674b;},'fileExists':function(_0x368e5a){return _0x368e5a===_0x2c9ec9;},'readFile':function(){return'';},'directoryExists':function(){return!0x0;},'getDirectories':function(){return[];}},_0x46bcb8=_0x368e5a[_0x1a4e('0x2fcb')]([_0x2c9ec9],_0xf79407,_0x4f881b);return _0x2327c6['reportDiagnostics']&&(_0x368e5a[_0x1a4e('0x23d1')](_0x1adc17,_0x46bcb8[_0x1a4e('0x2fb0')](_0x420b32)),_0x368e5a['addRange'](_0x1adc17,_0x46bcb8[_0x1a4e('0x2faf')]())),_0x46bcb8[_0x1a4e('0xd8c')](void 0x0,void 0x0,void 0x0,void 0x0,_0x2327c6[_0x1a4e('0x33c1')]),void 0x0===_0x1b06ad?_0x368e5a[_0x1a4e('0x1749')]['fail']('Output\x20generation\x20failed'):{'outputText':_0x1b06ad,'diagnostics':_0x1adc17,'sourceMapText':_0x326eae};}var _0x2327c6;function _0x55ff7e(_0x146f6e,_0x55ff7e){_0x2327c6=_0x2327c6||_0x368e5a[_0x1a4e('0xd9')](_0x368e5a[_0x1a4e('0x26eb')],function(_0x146f6e){return _0x1a4e('0x85')==typeof _0x146f6e[_0x1a4e('0x40')]&&!_0x368e5a[_0x1a4e('0x2308')](_0x146f6e[_0x1a4e('0x40')],function(_0x368e5a){return _0x1a4e('0x3d')!=typeof _0x368e5a;});}),_0x146f6e=_0x368e5a[_0x1a4e('0x31fd')](_0x146f6e);for(var _0x1adc17=function(_0x2327c6){if(!_0x368e5a[_0x1a4e('0x26ff')](_0x146f6e,_0x2327c6[_0x1a4e('0x2cb')]))return'continue';var _0x1adc17=_0x146f6e[_0x2327c6['name']];_0x368e5a[_0x1a4e('0xb19')](_0x1adc17)?_0x146f6e[_0x2327c6['name']]=_0x368e5a[_0x1a4e('0x279d')](_0x2327c6,_0x1adc17,_0x55ff7e):_0x368e5a['forEachEntry'](_0x2327c6[_0x1a4e('0x40')],function(_0x368e5a){return _0x368e5a===_0x1adc17;})||_0x55ff7e['push'](_0x368e5a['createCompilerDiagnosticForInvalidCustomType'](_0x2327c6));},_0xf79407=0x0,_0x2c9ec9=_0x2327c6;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){_0x1adc17(_0x2c9ec9[_0xf79407]);}return _0x146f6e;}_0x368e5a['transpileModule']=_0x146f6e,_0x368e5a[_0x1a4e('0x33c2')]=function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x146f6e(_0x2327c6,{'compilerOptions':_0x55ff7e,'fileName':_0x1adc17,'reportDiagnostics':!!_0xf79407,'moduleName':_0x2c9ec9});return _0x368e5a[_0x1a4e('0x23d1')](_0xf79407,_0x420b32[_0x1a4e('0x2728')]),_0x420b32['outputText'];},_0x368e5a['fixupCompilerOptions']=_0x55ff7e;}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){!function(_0x368e5a){_0x368e5a[_0x368e5a['FormatDocument']=0x0]='FormatDocument',_0x368e5a[_0x368e5a[_0x1a4e('0x33c3')]=0x1]=_0x1a4e('0x33c3'),_0x368e5a[_0x368e5a[_0x1a4e('0x33c4')]=0x2]=_0x1a4e('0x33c4'),_0x368e5a[_0x368e5a[_0x1a4e('0x33c5')]=0x3]=_0x1a4e('0x33c5'),_0x368e5a[_0x368e5a[_0x1a4e('0x33c6')]=0x4]=_0x1a4e('0x33c6'),_0x368e5a[_0x368e5a[_0x1a4e('0x33c7')]=0x5]='FormatOnClosingCurlyBrace';}(_0x146f6e[_0x1a4e('0x33c8')]||(_0x146f6e[_0x1a4e('0x33c8')]={}));var _0x2327c6=function(){function _0x146f6e(_0x368e5a,_0x146f6e,_0x2327c6){this['sourceFile']=_0x368e5a,this[_0x1a4e('0x33c9')]=_0x146f6e,this[_0x1a4e('0x8dc')]=_0x2327c6;}return _0x146f6e['prototype']['updateContext']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){this[_0x1a4e('0x33ca')]=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x146f6e),this['currentTokenParent']=_0x368e5a['Debug'][_0x1a4e('0x1744')](_0x2327c6),this[_0x1a4e('0x33cb')]=_0x368e5a['Debug'][_0x1a4e('0x1744')](_0x55ff7e),this[_0x1a4e('0x33cc')]=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x1adc17),this[_0x1a4e('0x33cd')]=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0xf79407),this[_0x1a4e('0x33ce')]=void 0x0,this[_0x1a4e('0x33cf')]=void 0x0,this[_0x1a4e('0x33d0')]=void 0x0,this[_0x1a4e('0x33d1')]=void 0x0,this[_0x1a4e('0x33d2')]=void 0x0;},_0x146f6e[_0x1a4e('0xa')]['ContextNodeAllOnSameLine']=function(){return void 0x0===this[_0x1a4e('0x33ce')]&&(this[_0x1a4e('0x33ce')]=this[_0x1a4e('0x33d3')](this[_0x1a4e('0x33cd')])),this['contextNodeAllOnSameLine'];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x33d4')]=function(){return void 0x0===this[_0x1a4e('0x33cf')]&&(this['nextNodeAllOnSameLine']=this[_0x1a4e('0x33d3')](this[_0x1a4e('0x33cc')])),this['nextNodeAllOnSameLine'];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x33d5')]=function(){if(void 0x0===this[_0x1a4e('0x33d0')]){var _0x368e5a=this[_0x1a4e('0x27e7')][_0x1a4e('0x22c1')](this[_0x1a4e('0x33ca')][_0x1a4e('0xa4')])[_0x1a4e('0xc5')],_0x146f6e=this[_0x1a4e('0x27e7')][_0x1a4e('0x22c1')](this[_0x1a4e('0x33cb')][_0x1a4e('0xa4')])[_0x1a4e('0xc5')];this[_0x1a4e('0x33d0')]=_0x368e5a===_0x146f6e;}return this[_0x1a4e('0x33d0')];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x33d6')]=function(){return void 0x0===this[_0x1a4e('0x33d1')]&&(this['contextNodeBlockIsOnOneLine']=this[_0x1a4e('0x33d7')](this['contextNode'])),this['contextNodeBlockIsOnOneLine'];},_0x146f6e[_0x1a4e('0xa')]['NextNodeBlockIsOnOneLine']=function(){return void 0x0===this['nextNodeBlockIsOnOneLine']&&(this[_0x1a4e('0x33d2')]=this[_0x1a4e('0x33d7')](this[_0x1a4e('0x33cc')])),this[_0x1a4e('0x33d2')];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x33d3')]=function(_0x368e5a){return this['sourceFile'][_0x1a4e('0x22c1')](_0x368e5a[_0x1a4e('0x31d6')](this[_0x1a4e('0x27e7')]))['line']===this[_0x1a4e('0x27e7')][_0x1a4e('0x22c1')](_0x368e5a[_0x1a4e('0x31d7')]())[_0x1a4e('0xc5')];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x33d7')]=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x327f')](_0x146f6e,0x12,this[_0x1a4e('0x27e7')]),_0x55ff7e=_0x368e5a[_0x1a4e('0x327f')](_0x146f6e,0x13,this['sourceFile']);return!(!_0x2327c6||!_0x55ff7e)&&this['sourceFile'][_0x1a4e('0x22c1')](_0x2327c6[_0x1a4e('0x31d7')]())[_0x1a4e('0xc5')]===this[_0x1a4e('0x27e7')][_0x1a4e('0x22c1')](_0x55ff7e[_0x1a4e('0x31d6')](this[_0x1a4e('0x27e7')]))[_0x1a4e('0xc5')];},_0x146f6e;}();_0x146f6e['FormattingContext']=_0x2327c6;}(_0x368e5a[_0x1a4e('0x31dc')]||(_0x368e5a[_0x1a4e('0x31dc')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x368e5a[_0x1a4e('0x22d1')](0x6,!0x1,0x0),_0x1adc17=_0x368e5a['createScanner'](0x6,!0x1,0x1);!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x33d8')]=0x0]=_0x1a4e('0x33d8'),_0x368e5a[_0x368e5a[_0x1a4e('0x33d9')]=0x1]=_0x1a4e('0x33d9'),_0x368e5a[_0x368e5a[_0x1a4e('0x33da')]=0x2]=_0x1a4e('0x33da'),_0x368e5a[_0x368e5a[_0x1a4e('0x33db')]=0x3]=_0x1a4e('0x33db'),_0x368e5a[_0x368e5a['RescanJsxIdentifier']=0x4]=_0x1a4e('0x33dc'),_0x368e5a[_0x368e5a[_0x1a4e('0x33dd')]=0x5]=_0x1a4e('0x33dd');}(_0x2327c6||(_0x2327c6={})),_0x146f6e[_0x1a4e('0x33de')]=function(_0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=0x1===_0x2327c6?_0x1adc17:_0x55ff7e;_0x1b06ad['setText'](_0x146f6e),_0x1b06ad['setTextPos'](_0xf79407);var _0x326eae,_0x56674b,_0x317e1d,_0x254595,_0x2fd75e,_0x578984=!0x0,_0x4f2cb4=_0x420b32({'advance':function(){_0x2fd75e=void 0x0,_0x1b06ad[_0x1a4e('0x2645')]()!==_0xf79407?_0x578984=!!_0x56674b&&0x4===_0x368e5a[_0x1a4e('0x10b1')](_0x56674b)[_0x1a4e('0x146b')]:_0x1b06ad['scan'](),_0x326eae=void 0x0,_0x56674b=void 0x0;for(var _0x146f6e=_0x1b06ad['getStartPos']();_0x146f6e<_0x2c9ec9;){var _0x2327c6=_0x1b06ad['getToken']();if(!_0x368e5a[_0x1a4e('0x23f9')](_0x2327c6))break;_0x1b06ad['scan']();var _0x55ff7e={'pos':_0x146f6e,'end':_0x1b06ad['getStartPos'](),'kind':_0x2327c6};_0x146f6e=_0x1b06ad['getStartPos'](),_0x326eae=_0x368e5a['append'](_0x326eae,_0x55ff7e);}_0x317e1d=_0x1b06ad[_0x1a4e('0x2645')]();},'readTokenInfo':function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x5eb1f3());var _0x2327c6=function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x20:case 0x43:case 0x44:case 0x30:case 0x2f:return!0x0;}return!0x1;}(_0x146f6e)?0x1:0xd===_0x146f6e['kind']?0x2:function(_0x368e5a){return 0x10===_0x368e5a[_0x1a4e('0x146b')]||0x11===_0x368e5a['kind'];}(_0x146f6e)?0x3:function(_0x146f6e){if(_0x146f6e[_0x1a4e('0x11c')])switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0x10b:case 0x106:case 0x107:case 0x105:return _0x368e5a[_0x1a4e('0x23f3')](_0x146f6e[_0x1a4e('0x146b')])||0x48===_0x146f6e[_0x1a4e('0x146b')];}return!0x1;}(_0x146f6e)?0x4:0xb===_0x146f6e[_0x1a4e('0x146b')]?0x5:0x0;if(_0x2fd75e&&_0x2327c6===_0x254595)return _0x171796(_0x2fd75e,_0x146f6e);_0x1b06ad['getStartPos']()!==_0x317e1d&&(_0x368e5a['Debug'][_0x1a4e('0xba0')](void 0x0!==_0x2fd75e),_0x1b06ad[_0x1a4e('0x324e')](_0x317e1d),_0x1b06ad['scan']());var _0x55ff7e=function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x1b06ad[_0x1a4e('0x338f')]();switch(_0x254595=0x0,_0x2327c6){case 0x1:if(0x1e===_0x1adc17){_0x254595=0x1;var _0xf79407=_0x1b06ad[_0x1a4e('0x2640')]();return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e['kind']===_0xf79407),_0xf79407;}break;case 0x2:if(0x2a===(_0x55ff7e=_0x1adc17)||0x40===_0x55ff7e){_0x254595=0x2;var _0xf79407=_0x1b06ad['reScanSlashToken']();return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0x146b')]===_0xf79407),_0xf79407;}break;case 0x3:if(0x13===_0x1adc17)return _0x254595=0x3,_0x1b06ad[_0x1a4e('0x3244')]();break;case 0x4:return _0x254595=0x4,_0x1b06ad[_0x1a4e('0x33df')]();case 0x5:return _0x254595=0x5,_0x1b06ad[_0x1a4e('0x2672')]();case 0x0:break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}return _0x1adc17;}(_0x146f6e,_0x2327c6),_0x1adc17={'pos':_0x1b06ad['getStartPos'](),'end':_0x1b06ad[_0x1a4e('0x2615')](),'kind':_0x55ff7e};for(_0x56674b&&(_0x56674b=void 0x0);_0x1b06ad[_0x1a4e('0x2645')]()<_0x2c9ec9&&(_0x55ff7e=_0x1b06ad[_0x1a4e('0x22f8')](),_0x368e5a[_0x1a4e('0x23f9')](_0x55ff7e));){var _0xf79407={'pos':_0x1b06ad[_0x1a4e('0x2645')](),'end':_0x1b06ad[_0x1a4e('0x2615')](),'kind':_0x55ff7e};if(_0x56674b||(_0x56674b=[]),_0x56674b['push'](_0xf79407),0x4===_0x55ff7e){_0x1b06ad[_0x1a4e('0x22f8')]();break;}}return _0x171796(_0x2fd75e={'leadingTrivia':_0x326eae,'trailingTrivia':_0x56674b,'token':_0x1adc17},_0x146f6e);},'isOnToken':_0x5eb1f3,'getCurrentLeadingTrivia':function(){return _0x326eae;},'lastTrailingTriviaWasNewLine':function(){return _0x578984;},'skipToEndOf':function(_0x368e5a){_0x1b06ad[_0x1a4e('0x324e')](_0x368e5a['end']),_0x317e1d=_0x1b06ad[_0x1a4e('0x2645')](),_0x254595=void 0x0,_0x2fd75e=void 0x0,_0x578984=!0x1,_0x326eae=void 0x0,_0x56674b=void 0x0;}});return _0x2fd75e=void 0x0,_0x1b06ad[_0x1a4e('0x2637')](void 0x0),_0x4f2cb4;function _0x5eb1f3(){var _0x146f6e=_0x2fd75e?_0x2fd75e['token']['kind']:_0x1b06ad[_0x1a4e('0x338f')]();return(_0x2fd75e?_0x2fd75e[_0x1a4e('0x2381')][_0x1a4e('0xa4')]:_0x1b06ad[_0x1a4e('0x2645')]())<_0x2c9ec9&&0x1!==_0x146f6e&&!_0x368e5a[_0x1a4e('0x23f9')](_0x146f6e);}function _0x171796(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2d7b')](_0x2327c6)&&_0x146f6e[_0x1a4e('0x2381')][_0x1a4e('0x146b')]!==_0x2327c6[_0x1a4e('0x146b')]&&(_0x146f6e[_0x1a4e('0x2381')][_0x1a4e('0x146b')]=_0x2327c6[_0x1a4e('0x146b')]),_0x146f6e;}};}(_0x368e5a[_0x1a4e('0x31dc')]||(_0x368e5a[_0x1a4e('0x31dc')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){_0x146f6e[_0x1a4e('0x33e0')]=_0x368e5a[_0x1a4e('0x1700')],function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x33e1')]=0x1]=_0x1a4e('0x33e1'),_0x368e5a[_0x368e5a['Space']=0x2]=_0x1a4e('0x33e2'),_0x368e5a[_0x368e5a[_0x1a4e('0x33e3')]=0x4]=_0x1a4e('0x33e3'),_0x368e5a[_0x368e5a[_0x1a4e('0x33e4')]=0x8]='Delete';}(_0x146f6e[_0x1a4e('0x33e5')]||(_0x146f6e['RuleAction']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x33e6')]=0x1]=_0x1a4e('0x33e6');}(_0x146f6e[_0x1a4e('0x33e7')]||(_0x146f6e[_0x1a4e('0x33e7')]={}));}(_0x368e5a[_0x1a4e('0x31dc')]||(_0x368e5a[_0x1a4e('0x31dc')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9){return void 0x0===_0x2c9ec9&&(_0x2c9ec9=0x0),{'leftTokenRange':_0x1adc17(_0x146f6e),'rightTokenRange':_0x1adc17(_0x2327c6),'rule':{'debugName':_0x368e5a,'context':_0x55ff7e,'action':_0xf79407,'flags':_0x2c9ec9}};}function _0x55ff7e(_0x368e5a){return{'tokens':_0x368e5a,'isSpecific':!0x0};}function _0x1adc17(_0x146f6e){return'number'==typeof _0x146f6e?_0x55ff7e([_0x146f6e]):_0x368e5a[_0x1a4e('0x15')](_0x146f6e)?_0x55ff7e(_0x146f6e):_0x146f6e;}function _0xf79407(_0x146f6e,_0x2327c6,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=[]);for(var _0xf79407=[],_0x2c9ec9=_0x146f6e;_0x2c9ec9<=_0x2327c6;_0x2c9ec9++)_0x368e5a[_0x1a4e('0x2ac')](_0x1adc17,_0x2c9ec9)||_0xf79407[_0x1a4e('0x46')](_0x2c9ec9);return _0x55ff7e(_0xf79407);}function _0x2c9ec9(_0x368e5a){return function(_0x146f6e){return _0x146f6e[_0x1a4e('0x8dc')]&&_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0xb')](_0x368e5a)&&!!_0x146f6e[_0x1a4e('0x8dc')][_0x368e5a];};}function _0x420b32(_0x368e5a){return function(_0x146f6e){return _0x146f6e[_0x1a4e('0x8dc')]&&_0x146f6e[_0x1a4e('0x8dc')]['hasOwnProperty'](_0x368e5a)&&!_0x146f6e[_0x1a4e('0x8dc')][_0x368e5a];};}function _0x1b06ad(_0x368e5a){return function(_0x146f6e){return!_0x146f6e[_0x1a4e('0x8dc')]||!_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0xb')](_0x368e5a)||!_0x146f6e[_0x1a4e('0x8dc')][_0x368e5a];};}function _0x326eae(_0x368e5a){return function(_0x146f6e){return!_0x146f6e[_0x1a4e('0x8dc')]||!_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0xb')](_0x368e5a)||!_0x146f6e['options'][_0x368e5a]||_0x146f6e[_0x1a4e('0x33d5')]();};}function _0x56674b(_0x368e5a){return function(_0x146f6e){return!_0x146f6e[_0x1a4e('0x8dc')]||!_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0xb')](_0x368e5a)||!!_0x146f6e[_0x1a4e('0x8dc')][_0x368e5a];};}function _0x50cd8d(_0x368e5a){return 0xe1===_0x368e5a['contextNode']['kind'];}function _0x50ff35(_0x368e5a){return!_0x50cd8d(_0x368e5a);}function _0x587471(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x33cd')]['kind']){case 0xcc:case 0xcd:case 0xaf:case 0xd4:case 0x101:case 0xfd:case 0xa3:case 0xad:case 0xae:return!0x0;case 0xba:case 0xf2:case 0xf8:case 0xed:case 0x97:case 0x116:case 0x9a:case 0x99:return 0x3b===_0x368e5a['currentTokenSpan'][_0x1a4e('0x146b')]||0x3b===_0x368e5a[_0x1a4e('0x33cb')][_0x1a4e('0x146b')];case 0xe2:case 0x96:return 0x5d===_0x368e5a['currentTokenSpan'][_0x1a4e('0x146b')]||0x5d===_0x368e5a[_0x1a4e('0x33cb')][_0x1a4e('0x146b')];case 0xe3:return 0x93===_0x368e5a['currentTokenSpan'][_0x1a4e('0x146b')]||0x93===_0x368e5a[_0x1a4e('0x33cb')]['kind'];}return!0x1;}function _0x4598e4(_0x368e5a){return!_0x587471(_0x368e5a);}function _0x3008d3(_0x368e5a){return!_0x8768fd(_0x368e5a);}function _0x8768fd(_0x146f6e){var _0x2327c6=_0x146f6e['contextNode'][_0x1a4e('0x146b')];return 0x9a===_0x2327c6||0x99===_0x2327c6||0x97===_0x2327c6||0xed===_0x2327c6||_0x368e5a['isFunctionLikeKind'](_0x2327c6);}function _0x59dee7(_0x368e5a){return 0xcd===_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')]||0xaf===_0x368e5a['contextNode'][_0x1a4e('0x146b')];}function _0x2e830e(_0x368e5a){return _0x368e5a[_0x1a4e('0x33d5')]()||_0x3c780b(_0x368e5a);}function _0xf4d431(_0x368e5a){return 0xb8===_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')]||0xb5===_0x368e5a[_0x1a4e('0x33cd')]['kind']||function(_0x368e5a){return _0x112f51(_0x368e5a)&&(_0x368e5a[_0x1a4e('0x33e8')]()||_0x368e5a[_0x1a4e('0x33d6')]());}(_0x368e5a);}function _0x318b0e(_0x368e5a){return _0x3c780b(_0x368e5a)&&!(_0x368e5a['NextNodeAllOnSameLine']()||_0x368e5a[_0x1a4e('0x33e9')]());}function _0x156bf7(_0x368e5a){return _0x112f51(_0x368e5a)&&!(_0x368e5a[_0x1a4e('0x33e8')]()||_0x368e5a['ContextNodeBlockIsOnOneLine']());}function _0x112f51(_0x368e5a){return _0x31d183(_0x368e5a[_0x1a4e('0x33cd')]);}function _0x3c780b(_0x368e5a){return _0x31d183(_0x368e5a[_0x1a4e('0x33cc')]);}function _0x31d183(_0x368e5a){if(_0x1ef6cc(_0x368e5a))return!0x0;switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xda:case 0xf6:case 0xbc:case 0xf5:return!0x0;}return!0x1;}function _0x50f4f3(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x33cd')]['kind']){case 0xef:case 0x9c:case 0x9b:case 0x9e:case 0x9f:case 0xa0:case 0xc4:case 0x9d:case 0xc5:case 0xf1:return!0x0;}return!0x1;}function _0x2d21ab(_0x368e5a){return!_0x50f4f3(_0x368e5a);}function _0x1f2e6b(_0x368e5a){return 0xef===_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')]||0xc4===_0x368e5a['contextNode']['kind'];}function _0x33d728(_0x368e5a){return _0x1ef6cc(_0x368e5a[_0x1a4e('0x33cd')]);}function _0x1ef6cc(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xf0:case 0xd1:case 0xf1:case 0xf3:case 0xa8:case 0xf4:case 0xff:case 0x100:case 0xf9:case 0xfc:return!0x0;}return!0x1;}function _0x22e622(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x33ea')][_0x1a4e('0x146b')]){case 0xf0:case 0xf4:case 0xf3:case 0x112:case 0xf5:case 0xe8:return!0x0;case 0xda:var _0x146f6e=_0x368e5a[_0x1a4e('0x33ea')][_0x1a4e('0x11c')];if(!_0x146f6e||0xc5!==_0x146f6e[_0x1a4e('0x146b')]&&0xc4!==_0x146f6e[_0x1a4e('0x146b')])return!0x0;}return!0x1;}function _0x1824df(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')]){case 0xde:case 0xe8:case 0xe1:case 0xe2:case 0xe3:case 0xe0:case 0xeb:case 0xdf:case 0xe7:case 0x112:return!0x0;default:return!0x1;}}function _0x862d88(_0x368e5a){return 0xbc===_0x368e5a['contextNode']['kind'];}function _0x54724e(_0x368e5a){return function(_0x368e5a){return 0xbf===_0x368e5a['contextNode'][_0x1a4e('0x146b')];}(_0x368e5a)||function(_0x368e5a){return 0xc0===_0x368e5a['contextNode']['kind'];}(_0x368e5a);}function _0x48cf15(_0x368e5a){return 0x1b!==_0x368e5a[_0x1a4e('0x33ca')][_0x1a4e('0x146b')];}function _0xeb034d(_0x368e5a){return 0x17!==_0x368e5a['nextTokenSpan'][_0x1a4e('0x146b')];}function _0x1540ab(_0x368e5a){return 0xc5===_0x368e5a['contextNode'][_0x1a4e('0x146b')];}function _0x56da67(_0x368e5a){return 0xb7===_0x368e5a['contextNode'][_0x1a4e('0x146b')];}function _0xdfe199(_0x368e5a){return _0x368e5a['TokensAreOnSameLine']()&&0xb!==_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')];}function _0x3cabf4(_0x368e5a){return 0x104!==_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')]&&0x108!==_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')];}function _0x3d40c3(_0x368e5a){return 0x10e===_0x368e5a['contextNode']['kind']||0x10d===_0x368e5a['contextNode'][_0x1a4e('0x146b')];}function _0x47825f(_0x368e5a){return 0x10b===_0x368e5a['nextTokenParent']['kind'];}function _0x4db2e2(_0x368e5a){return 0x10b===_0x368e5a[_0x1a4e('0x33cd')]['kind'];}function _0x822383(_0x368e5a){return 0x105===_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')];}function _0x7b043(_0x368e5a){return!_0x50f4f3(_0x368e5a)&&!_0x3c780b(_0x368e5a);}function _0x29cd2b(_0x368e5a){return _0x368e5a[_0x1a4e('0x33d5')]()&&!!_0x368e5a['contextNode'][_0x1a4e('0x232f')]&&_0x19027f(_0x368e5a[_0x1a4e('0x33ea')])&&!_0x19027f(_0x368e5a[_0x1a4e('0x33cc')]);}function _0x19027f(_0x146f6e){for(;_0x368e5a[_0x1a4e('0x28da')](_0x146f6e);)_0x146f6e=_0x146f6e['parent'];return 0x98===_0x146f6e[_0x1a4e('0x146b')];}function _0x5d6a64(_0x368e5a){return 0xee===_0x368e5a[_0x1a4e('0x33ea')]['kind']&&_0x368e5a[_0x1a4e('0x33ea')]['getStart'](_0x368e5a[_0x1a4e('0x27e7')])===_0x368e5a['currentTokenSpan'][_0x1a4e('0xa4')];}function _0x4fe711(_0x368e5a){return 0x2!==_0x368e5a[_0x1a4e('0x33c9')];}function _0x6be391(_0x368e5a){return 0xf4===_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')];}function _0x44aa29(_0x368e5a){return 0xa8===_0x368e5a['contextNode'][_0x1a4e('0x146b')];}function _0x23e1f3(_0x368e5a){return 0xa1===_0x368e5a['contextNode'][_0x1a4e('0x146b')];}function _0x4d76f4(_0x368e5a,_0x146f6e){if(0x1c!==_0x368e5a[_0x1a4e('0x146b')]&&0x1e!==_0x368e5a[_0x1a4e('0x146b')])return!0x1;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xa4:case 0xc2:case 0xf2:case 0xf0:case 0xd1:case 0xf1:case 0xef:case 0xc4:case 0xc5:case 0x9c:case 0x9b:case 0xa0:case 0xa1:case 0xbf:case 0xc0:case 0xd3:return!0x0;default:return!0x1;}}function _0x148bd5(_0x368e5a){return _0x4d76f4(_0x368e5a[_0x1a4e('0x33ca')],_0x368e5a[_0x1a4e('0x33ea')])||_0x4d76f4(_0x368e5a[_0x1a4e('0x33cb')],_0x368e5a['nextTokenParent']);}function _0x1bcbcd(_0x368e5a){return 0xc2===_0x368e5a[_0x1a4e('0x33cd')]['kind'];}function _0x1983fc(_0x368e5a){return 0x6a===_0x368e5a[_0x1a4e('0x33ca')]['kind']&&0xc8===_0x368e5a['currentTokenParent'][_0x1a4e('0x146b')];}function _0x1b36c3(_0x368e5a){return 0xcf===_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')]&&void 0x0!==_0x368e5a['contextNode']['expression'];}function _0xb4c3e(_0x368e5a){return 0xd5===_0x368e5a[_0x1a4e('0x33cd')][_0x1a4e('0x146b')];}_0x146f6e[_0x1a4e('0x33eb')]=function(){for(var _0x1adc17=[],_0x112f51=0x0;_0x112f51<=0x93;_0x112f51++)_0x1adc17['push'](_0x112f51);function _0x31d183(){for(var _0x368e5a=[],_0x146f6e=0x0;_0x146f6e>=_0x2c9ec9;return _0x2327c6;}(_0x56f0bf,_0x16a0f3),0x0,_0x55ff7e),_0x1b06ad[_0x326eae]=(_0x12a0d5=0x1+((_0x56674b=_0x56f0bf)>>(_0x409196=_0x16a0f3)&_0x420b32),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')]((_0x12a0d5&_0x420b32)===_0x12a0d5,'Adding\x20more\x20rules\x20into\x20the\x20sub-bucket\x20than\x20allowed.\x20Maximum\x20allowed\x20is\x2032\x20rules.'),_0x56674b&~(_0x420b32<<_0x409196)|_0x12a0d5<<_0x409196);}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x3465')]=0x0]=_0x1a4e('0x3465'),_0x368e5a[_0x368e5a[_0x1a4e('0x3469')]=0x1*_0x2c9ec9]=_0x1a4e('0x3469'),_0x368e5a[_0x368e5a[_0x1a4e('0x3466')]=0x2*_0x2c9ec9]=_0x1a4e('0x3466'),_0x368e5a[_0x368e5a[_0x1a4e('0x3467')]=0x3*_0x2c9ec9]='ContextRulesAny',_0x368e5a[_0x368e5a[_0x1a4e('0x3468')]=0x4*_0x2c9ec9]=_0x1a4e('0x3468'),_0x368e5a[_0x368e5a[_0x1a4e('0x346a')]=0x5*_0x2c9ec9]=_0x1a4e('0x346a');}(_0xf79407||(_0xf79407={}));}(_0x368e5a[_0x1a4e('0x31dc')]||(_0x368e5a['formatting']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9;function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x3279')](_0x146f6e,_0x55ff7e);return _0x1adc17&&_0x1adc17[_0x1a4e('0x146b')]===_0x2327c6&&_0x146f6e===_0x1adc17[_0x1a4e('0x31d7')]()?_0x1adc17:void 0x0;}function _0x1b06ad(_0x368e5a){for(var _0x146f6e=_0x368e5a;_0x146f6e&&_0x146f6e[_0x1a4e('0x11c')]&&_0x146f6e['parent'][_0x1a4e('0xca')]===_0x368e5a['end']&&!_0x326eae(_0x146f6e[_0x1a4e('0x11c')],_0x146f6e);)_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];return _0x146f6e;}function _0x326eae(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf0:case 0xf1:return _0x368e5a[_0x1a4e('0x339b')](_0x146f6e[_0x1a4e('0x2369')],_0x2327c6);case 0xf4:var _0x55ff7e=_0x146f6e[_0x1a4e('0x8f2')];return!!_0x55ff7e&&0xf5===_0x55ff7e['kind']&&_0x368e5a[_0x1a4e('0x339b')](_0x55ff7e[_0x1a4e('0x2366')],_0x2327c6);case 0x117:case 0xda:case 0xf5:return _0x368e5a['rangeContainsRange'](_0x146f6e[_0x1a4e('0x2366')],_0x2327c6);case 0x112:return _0x368e5a['rangeContainsRange'](_0x146f6e[_0x1a4e('0x260c')][_0x1a4e('0x2366')],_0x2327c6);}return!0x1;}function _0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e?_0x468777({'pos':_0x368e5a[_0x1a4e('0x31e0')](_0x146f6e[_0x1a4e('0x31d6')](_0x2327c6),_0x2327c6),'end':_0x146f6e[_0x1a4e('0xca')]},_0x2327c6,_0x55ff7e,_0x1adc17):[];}function _0x468777(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=function(_0x146f6e,_0x2327c6){return function _0x55ff7e(_0x1adc17){var _0xf79407=_0x368e5a['forEachChild'](_0x1adc17,function(_0x55ff7e){return _0x368e5a[_0x1a4e('0x31e3')](_0x55ff7e['getStart'](_0x2327c6),_0x55ff7e[_0x1a4e('0xca')],_0x146f6e)&&_0x55ff7e;});if(_0xf79407){var _0x2c9ec9=_0x55ff7e(_0xf79407);if(_0x2c9ec9)return _0x2c9ec9;}return _0x1adc17;}(_0x2327c6);}(_0x2327c6,_0x55ff7e);return _0x146f6e[_0x1a4e('0x33de')](_0x55ff7e[_0x1a4e('0xe04')],_0x55ff7e[_0x1a4e('0x22f7')],function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e['getStart'](_0x55ff7e);if(_0x1adc17===_0x2327c6[_0x1a4e('0xa4')]&&_0x146f6e['end']===_0x2327c6[_0x1a4e('0xca')])return _0x1adc17;var _0xf79407=_0x368e5a[_0x1a4e('0x3279')](_0x2327c6[_0x1a4e('0xa4')],_0x55ff7e);return _0xf79407?_0xf79407[_0x1a4e('0xca')]>=_0x2327c6['pos']?_0x146f6e[_0x1a4e('0xa4')]:_0xf79407[_0x1a4e('0xca')]:_0x146f6e['pos'];}(_0x2c9ec9,_0x2327c6,_0x55ff7e),_0x2327c6[_0x1a4e('0xca')],function(_0x420b32){return _0x3d5554(_0x2327c6,_0x2c9ec9,_0x146f6e[_0x1a4e('0x346b')][_0x1a4e('0x346c')](_0x2c9ec9,_0x2327c6,_0x55ff7e,_0x1adc17[_0x1a4e('0x8dc')]),function(_0x368e5a,_0x2327c6,_0x55ff7e){for(var _0x1adc17,_0xf79407=-0x1;_0x368e5a;){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x22c1')](_0x368e5a[_0x1a4e('0x31d6')](_0x55ff7e))[_0x1a4e('0xc5')];if(-0x1!==_0xf79407&&_0x2c9ec9!==_0xf79407)break;if(_0x146f6e['SmartIndenter'][_0x1a4e('0x346d')](_0x2327c6,_0x368e5a,_0x1adc17,_0x55ff7e))return _0x2327c6[_0x1a4e('0x346e')];_0xf79407=_0x2c9ec9,_0x1adc17=_0x368e5a,_0x368e5a=_0x368e5a['parent'];}return 0x0;}(_0x2c9ec9,_0x1adc17[_0x1a4e('0x8dc')],_0x55ff7e),_0x420b32,_0x1adc17,_0xf79407,function(_0x146f6e,_0x2327c6){if(!_0x146f6e[_0x1a4e('0x1e')])return _0xf79407;var _0x55ff7e=_0x146f6e[_0x1a4e('0xd9')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x346f')](_0x2327c6,_0x146f6e['start'],_0x146f6e[_0x1a4e('0xc9')]+_0x146f6e[_0x1a4e('0x1e')]);})[_0x1a4e('0x89')](function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0xc9')]-_0x146f6e[_0x1a4e('0xc9')];});if(!_0x55ff7e[_0x1a4e('0x1e')])return _0xf79407;var _0x1adc17=0x0;return function(_0x146f6e){for(;;){if(_0x1adc17>=_0x55ff7e[_0x1a4e('0x1e')])return!0x1;var _0x2327c6=_0x55ff7e[_0x1adc17];if(_0x146f6e['end']<=_0x2327c6[_0x1a4e('0xc9')])return!0x1;if(_0x368e5a[_0x1a4e('0x3470')](_0x146f6e['pos'],_0x146f6e['end'],_0x2327c6[_0x1a4e('0xc9')],_0x2327c6[_0x1a4e('0xc9')]+_0x2327c6[_0x1a4e('0x1e')]))return!0x0;_0x1adc17++;}};function _0xf79407(){return!0x1;}}(_0x55ff7e[_0x1a4e('0x2636')],_0x2327c6),_0x55ff7e);});}function _0x3d5554(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){var _0x468777,_0x3d5554,_0x2c4310,_0x2a9f7b,_0x346e90=_0x420b32[_0x1a4e('0x8dc')],_0x13b6e0=_0x420b32[_0x1a4e('0x3471')],_0x2b0072=new _0x146f6e[(_0x1a4e('0x3472'))](_0x56674b,_0x1b06ad,_0x346e90),_0x362512=-0x1,_0x5b34f7=[];if(_0x2c9ec9['advance'](),_0x2c9ec9['isOnToken']()){var _0x323dba=_0x56674b['getLineAndCharacterOfPosition'](_0x55ff7e[_0x1a4e('0x31d6')](_0x56674b))[_0x1a4e('0xc5')],_0x4a949b=_0x323dba;_0x55ff7e['decorators']&&(_0x4a949b=_0x56674b['getLineAndCharacterOfPosition'](_0x368e5a[_0x1a4e('0x232e')](_0x55ff7e,_0x56674b))[_0x1a4e('0xc5')]),function _0x55ff7e(_0x1adc17,_0xf79407,_0x420b32,_0x1b06ad,_0x3d5554,_0x1379d1){if(!_0x368e5a[_0x1a4e('0x346f')](_0x2327c6,_0x1adc17[_0x1a4e('0x31d6')](_0x56674b),_0x1adc17[_0x1a4e('0x31d7')]()))return;var _0x2c4310=_0x46eaa4(_0x1adc17,_0x420b32,_0x3d5554,_0x1379d1);var _0x13b6e0=_0xf79407;_0x368e5a[_0x1a4e('0x22eb')](_0x1adc17,function(_0x368e5a){_0x5b34f7(_0x368e5a,-0x1,_0x1adc17,_0x2c4310,_0x420b32,_0x1b06ad,!0x1);},function(_0x2327c6){!function(_0x2327c6,_0x55ff7e,_0xf79407,_0x420b32){_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x368e5a[_0x1a4e('0x253d')](_0x2327c6));var _0x1b06ad=function(_0x368e5a,_0x146f6e){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0x9d:case 0xef:case 0xc4:case 0x9c:case 0x9b:case 0xc5:if(_0x368e5a[_0x1a4e('0x23d7')]===_0x146f6e)return 0x1c;if(_0x368e5a[_0x1a4e('0x111a')]===_0x146f6e)return 0x14;break;case 0xbf:case 0xc0:if(_0x368e5a['typeArguments']===_0x146f6e)return 0x1c;if(_0x368e5a[_0x1a4e('0x2373')]===_0x146f6e)return 0x14;break;case 0xa4:if(_0x368e5a[_0x1a4e('0x2365')]===_0x146f6e)return 0x1c;break;case 0xa8:return 0x12;}return 0x0;}(_0x55ff7e,_0x2327c6),_0x326eae=_0x420b32,_0x468777=_0xf79407;if(0x0!==_0x1b06ad)for(;_0x2c9ec9[_0x1a4e('0x3473')]();){var _0x3d5554=_0x2c9ec9[_0x1a4e('0x3474')](_0x55ff7e);if(_0x3d5554[_0x1a4e('0x2381')][_0x1a4e('0xca')]>_0x2327c6[_0x1a4e('0xa4')])break;if(_0x3d5554['token'][_0x1a4e('0x146b')]===_0x1b06ad){_0x468777=_0x56674b['getLineAndCharacterOfPosition'](_0x3d5554[_0x1a4e('0x2381')]['pos'])[_0x1a4e('0xc5')],_0x323dba(_0x3d5554,_0x55ff7e,_0x420b32,_0x55ff7e);var _0x1379d1=void 0x0;if(-0x1!==_0x362512)_0x1379d1=_0x362512;else{var _0x2c4310=_0x368e5a[_0x1a4e('0x31e0')](_0x3d5554[_0x1a4e('0x2381')][_0x1a4e('0xa4')],_0x56674b);_0x1379d1=_0x146f6e[_0x1a4e('0x346b')][_0x1a4e('0x3475')](_0x2c4310,_0x3d5554[_0x1a4e('0x2381')]['pos'],_0x56674b,_0x346e90);}_0x326eae=_0x46eaa4(_0x55ff7e,_0xf79407,_0x1379d1,_0x346e90[_0x1a4e('0x346e')]);}else _0x323dba(_0x3d5554,_0x55ff7e,_0x420b32,_0x55ff7e);}for(var _0x2a9f7b=-0x1,_0x13b6e0=0x0;_0x13b6e0<_0x2327c6[_0x1a4e('0x1e')];_0x13b6e0++){var _0x2b0072=_0x2327c6[_0x13b6e0];_0x2a9f7b=_0x5b34f7(_0x2b0072,_0x2a9f7b,_0x1adc17,_0x326eae,_0x468777,_0x468777,!0x0,0x0===_0x13b6e0);}var _0x4a949b=function(_0x368e5a){switch(_0x368e5a){case 0x14:return 0x15;case 0x1c:return 0x1e;case 0x12:return 0x13;}return 0x0;}(_0x1b06ad);if(0x0!==_0x4a949b&&_0x2c9ec9[_0x1a4e('0x3473')]()){var _0x3d5554=_0x2c9ec9[_0x1a4e('0x3474')](_0x55ff7e);0x1b===_0x3d5554[_0x1a4e('0x2381')]['kind']&&_0x368e5a[_0x1a4e('0x255b')](_0x55ff7e)&&(_0x2c9ec9[_0x1a4e('0x3476')](),_0x3d5554=_0x2c9ec9[_0x1a4e('0x3473')]()?_0x2c9ec9[_0x1a4e('0x3474')](_0x55ff7e):void 0x0),_0x3d5554&&_0x3d5554[_0x1a4e('0x2381')][_0x1a4e('0x146b')]===_0x4a949b&&_0x368e5a[_0x1a4e('0x339b')](_0x55ff7e,_0x3d5554[_0x1a4e('0x2381')])&&_0x323dba(_0x3d5554,_0x55ff7e,_0x326eae,_0x55ff7e,!0x0);}}(_0x2327c6,_0x1adc17,_0x420b32,_0x2c4310);});for(;_0x2c9ec9['isOnToken']();){var _0x2b0072=_0x2c9ec9['readTokenInfo'](_0x1adc17);if(_0x2b0072['token'][_0x1a4e('0xca')]>_0x1adc17[_0x1a4e('0xca')])break;_0x323dba(_0x2b0072,_0x1adc17,_0x2c4310,_0x1adc17);}function _0x5b34f7(_0xf79407,_0x420b32,_0x1b06ad,_0x326eae,_0x468777,_0x3d5554,_0x1379d1,_0x2c4310){var _0x2b0072=_0xf79407[_0x1a4e('0x31d6')](_0x56674b),_0x5b34f7=_0x56674b[_0x1a4e('0x22c1')](_0x2b0072)[_0x1a4e('0xc5')],_0x4a949b=_0x5b34f7;_0xf79407[_0x1a4e('0x232f')]&&(_0x4a949b=_0x56674b['getLineAndCharacterOfPosition'](_0x368e5a[_0x1a4e('0x232e')](_0xf79407,_0x56674b))['line']);var _0x31fb08=-0x1;if(_0x1379d1&&_0x368e5a[_0x1a4e('0x339b')](_0x2327c6,_0x1b06ad)&&-0x1!==(_0x31fb08=function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(_0x368e5a['rangeOverlapsWithStartEnd'](_0xf79407,_0x2327c6,_0x55ff7e)||_0x368e5a[_0x1a4e('0x31e4')](_0xf79407,_0x2327c6,_0x55ff7e)){if(-0x1!==_0x2c9ec9)return _0x2c9ec9;}else{var _0x420b32=_0x56674b['getLineAndCharacterOfPosition'](_0x2327c6)[_0x1a4e('0xc5')],_0x1b06ad=_0x368e5a[_0x1a4e('0x31e0')](_0x2327c6,_0x56674b),_0x326eae=_0x146f6e[_0x1a4e('0x346b')][_0x1a4e('0x3475')](_0x1b06ad,_0x2327c6,_0x56674b,_0x346e90);if(_0x420b32!==_0x1adc17||_0x2327c6===_0x326eae){var _0x468777=_0x146f6e[_0x1a4e('0x346b')][_0x1a4e('0x3477')](_0x346e90);return _0x468777>_0x326eae?_0x468777:_0x326eae;}}return-0x1;}(_0x2b0072,_0xf79407[_0x1a4e('0xca')],_0x468777,_0x2327c6,_0x420b32))&&(_0x420b32=_0x31fb08),!_0x368e5a['rangeOverlapsWithStartEnd'](_0x2327c6,_0xf79407['pos'],_0xf79407['end']))return _0xf79407[_0x1a4e('0xca')]<_0x2327c6['pos']&&_0x2c9ec9[_0x1a4e('0x3478')](_0xf79407),_0x420b32;if(0x0===_0xf79407[_0x1a4e('0x2310')]())return _0x420b32;for(;_0x2c9ec9[_0x1a4e('0x3473')]();){var _0x58dba1=_0x2c9ec9[_0x1a4e('0x3474')](_0x1adc17);if(_0x58dba1[_0x1a4e('0x2381')][_0x1a4e('0xca')]>_0x2b0072)break;_0x323dba(_0x58dba1,_0x1adc17,_0x326eae,_0x1adc17);}if(!_0x2c9ec9[_0x1a4e('0x3473')]())return _0x420b32;if(_0x368e5a[_0x1a4e('0x2d7b')](_0xf79407)&&0xb!==_0xf79407['kind']){var _0x58dba1=_0x2c9ec9[_0x1a4e('0x3474')](_0xf79407);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x58dba1[_0x1a4e('0x2381')][_0x1a4e('0xca')]===_0xf79407[_0x1a4e('0xca')],'Token\x20end\x20is\x20child\x20end'),_0x323dba(_0x58dba1,_0x1adc17,_0x326eae,_0xf79407),_0x420b32;}var _0x1c29e2=0x98===_0xf79407[_0x1a4e('0x146b')]?_0x5b34f7:_0x3d5554,_0x10ab3c=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x146f6e[_0x1a4e('0x346b')]['shouldIndentChildNode'](_0x346e90,_0x368e5a)?_0x346e90[_0x1a4e('0x346e')]:0x0;return _0x2c9ec9===_0x2327c6?{'indentation':_0x2327c6===_0x2a9f7b?_0x362512:_0xf79407[_0x1a4e('0x3479')](),'delta':Math['min'](_0x346e90[_0x1a4e('0x346e')],_0xf79407[_0x1a4e('0x5fa')](_0x368e5a)+_0x420b32)}:-0x1===_0x55ff7e?0x14===_0x368e5a[_0x1a4e('0x146b')]&&_0x2327c6===_0x2a9f7b?{'indentation':_0x362512,'delta':_0xf79407['getDelta'](_0x368e5a)}:_0x146f6e[_0x1a4e('0x346b')][_0x1a4e('0x347a')](_0x1adc17,_0x368e5a,_0x2327c6,_0x56674b)?{'indentation':_0xf79407[_0x1a4e('0x3479')](),'delta':_0x420b32}:{'indentation':_0xf79407['getIndentation']()+_0xf79407[_0x1a4e('0x5fa')](_0x368e5a),'delta':_0x420b32}:{'indentation':_0x55ff7e,'delta':_0x420b32};}(_0xf79407,_0x5b34f7,_0x31fb08,_0x1adc17,_0x326eae,_0x1c29e2);if(_0x55ff7e(_0xf79407,_0x13b6e0,_0x5b34f7,_0x4a949b,_0x10ab3c['indentation'],_0x10ab3c['delta']),0xb===_0xf79407[_0x1a4e('0x146b')]){var _0x46098a={'pos':_0xf79407['getStart'](),'end':_0xf79407['getEnd']()};_0x4aded8(_0x46098a,_0x10ab3c['indentation'],!0x0,!0x1);}return _0x13b6e0=_0x1adc17,_0x2c4310&&0xbb===_0x1b06ad['kind']&&-0x1===_0x420b32&&(_0x420b32=_0x10ab3c[_0x1a4e('0x347b')]),_0x420b32;}function _0x323dba(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a['rangeContainsRange'](_0x55ff7e,_0x146f6e[_0x1a4e('0x2381')]));var _0x1b06ad=_0x2c9ec9[_0x1a4e('0x347c')](),_0x3d5554=!0x1;_0x146f6e[_0x1a4e('0x347d')]&&_0x1bf044(_0x146f6e[_0x1a4e('0x347d')],_0x55ff7e,_0x13b6e0,_0x1adc17);var _0x1379d1=0x0,_0x2c4310=_0x368e5a[_0x1a4e('0x339b')](_0x2327c6,_0x146f6e[_0x1a4e('0x2381')]),_0x346e90=_0x56674b[_0x1a4e('0x22c1')](_0x146f6e[_0x1a4e('0x2381')]['pos']);if(_0x2c4310){var _0x2b0072=_0x326eae(_0x146f6e[_0x1a4e('0x2381')]),_0x5b34f7=_0x468777;if(_0x1379d1=_0x112cbf(_0x146f6e[_0x1a4e('0x2381')],_0x346e90,_0x55ff7e,_0x13b6e0,_0x1adc17),!_0x2b0072)if(0x0===_0x1379d1){var _0x323dba=_0x5b34f7&&_0x56674b[_0x1a4e('0x22c1')](_0x5b34f7['end'])[_0x1a4e('0xc5')];_0x3d5554=_0x1b06ad&&_0x346e90[_0x1a4e('0xc5')]!==_0x323dba;}else _0x3d5554=0x1===_0x1379d1;}if(_0x146f6e[_0x1a4e('0x347e')]&&_0x1bf044(_0x146f6e[_0x1a4e('0x347e')],_0x55ff7e,_0x13b6e0,_0x1adc17),_0x3d5554){var _0x4a949b=_0x2c4310&&!_0x326eae(_0x146f6e[_0x1a4e('0x2381')])?_0x1adc17[_0x1a4e('0x347f')](_0x346e90[_0x1a4e('0xc5')],_0x146f6e[_0x1a4e('0x2381')][_0x1a4e('0x146b')],_0xf79407,!!_0x420b32):-0x1,_0x304dff=!0x0;if(_0x146f6e[_0x1a4e('0x347d')]){var _0x366640=_0x1adc17[_0x1a4e('0x3480')](_0x146f6e['token'][_0x1a4e('0x146b')],_0x4a949b,_0xf79407);_0x304dff=_0x169596(_0x146f6e[_0x1a4e('0x347d')],_0x366640,_0x304dff,function(_0x368e5a){return _0x4e7e44(_0x368e5a[_0x1a4e('0xa4')],_0x366640,!0x1);});}-0x1!==_0x4a949b&&_0x304dff&&(_0x4e7e44(_0x146f6e[_0x1a4e('0x2381')]['pos'],_0x4a949b,0x1===_0x1379d1),_0x2a9f7b=_0x346e90['line'],_0x362512=_0x4a949b);}_0x2c9ec9[_0x1a4e('0x3476')](),_0x13b6e0=_0x55ff7e;}}(_0x55ff7e,_0x55ff7e,_0x323dba,_0x4a949b,_0x1adc17,_0xf79407);}if(!_0x2c9ec9[_0x1a4e('0x3473')]()){var _0xf7d75f=_0x2c9ec9[_0x1a4e('0x3481')]();_0xf7d75f&&(_0x169596(_0xf7d75f,_0x1adc17,!0x1,function(_0x368e5a){return _0x112cbf(_0x368e5a,_0x56674b[_0x1a4e('0x22c1')](_0x368e5a[_0x1a4e('0xa4')]),_0x55ff7e,_0x55ff7e,void 0x0);}),function(){var _0x368e5a=_0x468777?_0x468777['end']:_0x2327c6['pos'],_0x146f6e=_0x56674b['getLineAndCharacterOfPosition'](_0x368e5a)['line'],_0x55ff7e=_0x56674b[_0x1a4e('0x22c1')](_0x2327c6[_0x1a4e('0xca')])[_0x1a4e('0xc5')];_0x4d9a57(_0x146f6e,_0x55ff7e+0x1,_0x468777);}());}return _0x5b34f7;function _0x46eaa4(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return{'getIndentationForComment':function(_0x368e5a,_0x146f6e,_0x2327c6){switch(_0x368e5a){case 0x13:case 0x17:case 0x15:return _0x1adc17+_0x2c9ec9(_0x2327c6);}return-0x1!==_0x146f6e?_0x146f6e:_0x1adc17;},'getIndentationForToken':function(_0x146f6e,_0xf79407,_0x420b32,_0x1b06ad){return!_0x1b06ad&&function(_0x146f6e,_0x1adc17,_0xf79407){switch(_0x1adc17){case 0x12:case 0x13:case 0x15:case 0x53:case 0x6b:case 0x3a:return!0x1;case 0x2a:case 0x1e:switch(_0xf79407[_0x1a4e('0x146b')]){case 0x106:case 0x107:case 0x105:return!0x1;}break;case 0x16:case 0x17:if(0xb5!==_0xf79407[_0x1a4e('0x146b')])return!0x1;}return _0x55ff7e!==_0x146f6e&&!(_0x2327c6[_0x1a4e('0x232f')]&&_0x1adc17===function(_0x146f6e){if(_0x146f6e[_0x1a4e('0x242d')]&&_0x146f6e[_0x1a4e('0x242d')][_0x1a4e('0x1e')])return _0x146f6e['modifiers'][0x0][_0x1a4e('0x146b')];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf0:return 0x4c;case 0xf1:return 0x6e;case 0xef:return 0x5a;case 0xf3:return 0xf3;case 0x9e:return 0x7e;case 0x9f:return 0x89;case 0x9c:if(_0x146f6e[_0x1a4e('0x23fc')])return 0x28;case 0x9a:case 0x97:var _0x2327c6=_0x368e5a[_0x1a4e('0x23e9')](_0x146f6e);if(_0x2327c6)return _0x2327c6[_0x1a4e('0x146b')];}}(_0x2327c6));}(_0x146f6e,_0xf79407,_0x420b32)?_0x1adc17+_0x2c9ec9(_0x420b32):_0x1adc17;},'getIndentation':function(){return _0x1adc17;},'getDelta':_0x2c9ec9,'recomputeIndentation':function(_0x368e5a){_0x2327c6[_0x1a4e('0x11c')]&&_0x146f6e['SmartIndenter'][_0x1a4e('0x346d')](_0x346e90,_0x2327c6[_0x1a4e('0x11c')],_0x2327c6,_0x56674b)&&(_0x1adc17+=_0x368e5a?_0x346e90[_0x1a4e('0x346e')]:-_0x346e90[_0x1a4e('0x346e')],_0xf79407=_0x146f6e[_0x1a4e('0x346b')][_0x1a4e('0x346d')](_0x346e90,_0x2327c6)?_0x346e90[_0x1a4e('0x346e')]:0x0);}};function _0x2c9ec9(_0x368e5a){return _0x146f6e[_0x1a4e('0x346b')][_0x1a4e('0x3482')](_0x346e90,_0x2327c6,_0x368e5a,_0x56674b,!0x0)?_0xf79407:0x0;}}function _0x169596(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){for(var _0x2c9ec9=0x0,_0x420b32=_0x146f6e;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9],_0x326eae=_0x368e5a[_0x1a4e('0x339b')](_0x2327c6,_0x1b06ad);switch(_0x1b06ad[_0x1a4e('0x146b')]){case 0x3:_0x326eae&&_0x4aded8(_0x1b06ad,_0x55ff7e,!_0x1adc17),_0x1adc17=!0x1;break;case 0x2:_0x1adc17&&_0x326eae&&_0xf79407(_0x1b06ad),_0x1adc17=!0x1;break;case 0x4:_0x1adc17=!0x0;}}return _0x1adc17;}function _0x1bf044(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){for(var _0x2c9ec9=0x0,_0x420b32=_0x146f6e;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];if(_0x368e5a['isComment'](_0x1b06ad[_0x1a4e('0x146b')])&&_0x368e5a[_0x1a4e('0x339b')](_0x2327c6,_0x1b06ad))_0x112cbf(_0x1b06ad,_0x56674b[_0x1a4e('0x22c1')](_0x1b06ad['pos']),_0x55ff7e,_0x1adc17,_0xf79407);}}function _0x112cbf(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=0x0;_0x326eae(_0x146f6e)||(_0x468777?_0x420b32=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){_0x2b0072[_0x1a4e('0x3483')](_0x1adc17,_0x2c9ec9,_0x146f6e,_0x55ff7e,_0x420b32);var _0x326eae,_0x468777=_0x13b6e0(_0x2b0072),_0x3d5554=0x0;if(_0x468777){switch(_0x3d5554=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x1adc17!==_0x2327c6;switch(_0x368e5a[_0x1a4e('0x3464')]){case 0x1:return 0x0;case 0x8:if(_0x146f6e[_0x1a4e('0xca')]!==_0x55ff7e['pos'])return _0x2d6799(_0x146f6e['end'],_0x55ff7e[_0x1a4e('0xa4')]-_0x146f6e[_0x1a4e('0xca')]),_0xf79407?0x2:0x0;break;case 0x4:if(0x1!==_0x368e5a[_0x1a4e('0x7b2')]&&_0x2327c6!==_0x1adc17)return 0x0;var _0x2c9ec9=_0x1adc17-_0x2327c6;if(0x1!==_0x2c9ec9)return _0x2e9c0a(_0x146f6e['end'],_0x55ff7e[_0x1a4e('0xa4')]-_0x146f6e[_0x1a4e('0xca')],_0x346e90[_0x1a4e('0x322a')]),_0xf79407?0x0:0x1;break;case 0x2:if(0x1!==_0x368e5a[_0x1a4e('0x7b2')]&&_0x2327c6!==_0x1adc17)return 0x0;var _0x420b32=_0x55ff7e[_0x1a4e('0xa4')]-_0x146f6e[_0x1a4e('0xca')];if(0x1!==_0x420b32||0x20!==_0x56674b[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x146f6e['end']))return _0x2e9c0a(_0x146f6e[_0x1a4e('0xca')],_0x55ff7e[_0x1a4e('0xa4')]-_0x146f6e[_0x1a4e('0xca')],'\x20'),_0xf79407?0x2:0x0;}return 0x0;}(_0x468777,_0x1adc17,_0xf79407,_0x146f6e,_0x2327c6)){case 0x2:_0x55ff7e[_0x1a4e('0x31d6')](_0x56674b)===_0x146f6e[_0x1a4e('0xa4')]&&_0x1b06ad[_0x1a4e('0x3484')](!0x1);break;case 0x1:_0x55ff7e[_0x1a4e('0x31d6')](_0x56674b)===_0x146f6e['pos']&&_0x1b06ad[_0x1a4e('0x3484')](!0x0);break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x0===_0x3d5554);}_0x326eae=!(0x8&_0x468777['action'])&&0x1!==_0x468777[_0x1a4e('0x7b2')];}else _0x326eae=!0x0;_0x2327c6!==_0xf79407&&_0x326eae&&_0x4d9a57(_0xf79407,_0x2327c6,_0x1adc17);return _0x3d5554;}(_0x146f6e,_0x55ff7e[_0x1a4e('0xc5')],_0x1adc17,_0x468777,_0x2c4310,_0x3d5554,_0xf79407,_0x2c9ec9):_0x4d9a57(_0x56674b[_0x1a4e('0x22c1')](_0x2327c6['pos'])[_0x1a4e('0xc5')],_0x55ff7e[_0x1a4e('0xc5')]));return _0x468777=_0x146f6e,_0x3d5554=_0x1adc17,_0x2c4310=_0x55ff7e['line'],_0x420b32;}function _0x4e7e44(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x17404f(_0x2327c6,_0x346e90);if(_0x55ff7e)_0x2e9c0a(_0x146f6e,0x0,_0x1adc17);else{var _0xf79407=_0x56674b[_0x1a4e('0x22c1')](_0x146f6e),_0x2c9ec9=_0x368e5a['getStartPositionOfLine'](_0xf79407[_0x1a4e('0xc5')],_0x56674b);(_0x2327c6!==function(_0x368e5a,_0x146f6e){for(var _0x2327c6=0x0,_0x55ff7e=0x0;_0x55ff7e<_0x146f6e;_0x55ff7e++)0x9===_0x56674b[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x368e5a+_0x55ff7e)?_0x2327c6+=_0x346e90[_0x1a4e('0x3485')]-_0x2327c6%_0x346e90[_0x1a4e('0x3485')]:_0x2327c6++;return _0x2327c6;}(_0x2c9ec9,_0xf79407[_0x1a4e('0x2324')])||function(_0x368e5a,_0x146f6e){return _0x368e5a!==_0x56674b[_0x1a4e('0xe04')][_0x1a4e('0x254')](_0x146f6e,_0x368e5a[_0x1a4e('0x1e')]);}(_0x1adc17,_0x2c9ec9))&&_0x2e9c0a(_0x2c9ec9,_0xf79407[_0x1a4e('0x2324')],_0x1adc17);}}function _0x4aded8(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){void 0x0===_0xf79407&&(_0xf79407=!0x0);var _0x2c9ec9=_0x56674b['getLineAndCharacterOfPosition'](_0x2327c6['pos'])[_0x1a4e('0xc5')],_0x420b32=_0x56674b['getLineAndCharacterOfPosition'](_0x2327c6['end'])[_0x1a4e('0xc5')];if(_0x2c9ec9!==_0x420b32){for(var _0x1b06ad=[],_0x326eae=_0x2327c6[_0x1a4e('0xa4')],_0x468777=_0x2c9ec9;_0x468777<_0x420b32;_0x468777++){var _0x3d5554=_0x368e5a[_0x1a4e('0x3486')](_0x468777,_0x56674b);_0x1b06ad['push']({'pos':_0x326eae,'end':_0x3d5554}),_0x326eae=_0x368e5a[_0x1a4e('0x2322')](_0x468777+0x1,_0x56674b);}if(_0xf79407&&_0x1b06ad[_0x1a4e('0x46')]({'pos':_0x326eae,'end':_0x2327c6[_0x1a4e('0xca')]}),0x0!==_0x1b06ad[_0x1a4e('0x1e')]){var _0x2c4310=_0x368e5a[_0x1a4e('0x2322')](_0x2c9ec9,_0x56674b),_0x2a9f7b=_0x146f6e[_0x1a4e('0x346b')][_0x1a4e('0x3487')](_0x2c4310,_0x1b06ad[0x0][_0x1a4e('0xa4')],_0x56674b,_0x346e90);if(_0x55ff7e!==_0x2a9f7b[_0x1a4e('0x15d1')]){var _0x13b6e0=0x0;_0x1adc17&&(_0x13b6e0=0x1,_0x2c9ec9++);for(var _0x2b0072=_0x55ff7e-_0x2a9f7b[_0x1a4e('0x15d1')],_0x362512=_0x13b6e0;_0x362512<_0x1b06ad[_0x1a4e('0x1e')];_0x362512++,_0x2c9ec9++){var _0x5b34f7=_0x368e5a[_0x1a4e('0x2322')](_0x2c9ec9,_0x56674b),_0x323dba=0x0===_0x362512?_0x2a9f7b:_0x146f6e[_0x1a4e('0x346b')][_0x1a4e('0x3487')](_0x1b06ad[_0x362512][_0x1a4e('0xa4')],_0x1b06ad[_0x362512][_0x1a4e('0xca')],_0x56674b,_0x346e90),_0x4a949b=_0x323dba[_0x1a4e('0x15d1')]+_0x2b0072;if(_0x4a949b>0x0){var _0xf7d75f=_0x17404f(_0x4a949b,_0x346e90);_0x2e9c0a(_0x5b34f7,_0x323dba[_0x1a4e('0x2324')],_0xf7d75f);}else _0x2d6799(_0x5b34f7,_0x323dba[_0x1a4e('0x2324')]);}}}}else _0x1adc17||_0x4e7e44(_0x2327c6[_0x1a4e('0xa4')],_0x55ff7e,!0x1);}function _0x4d9a57(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x146f6e;_0x1adc17<_0x2327c6;_0x1adc17++){var _0xf79407=_0x368e5a['getStartPositionOfLine'](_0x1adc17,_0x56674b),_0x2c9ec9=_0x368e5a['getEndLinePosition'](_0x1adc17,_0x56674b);if(!(_0x55ff7e&&(_0x368e5a[_0x1a4e('0x31f8')](_0x55ff7e[_0x1a4e('0x146b')])||_0x368e5a[_0x1a4e('0x31f9')](_0x55ff7e[_0x1a4e('0x146b')]))&&_0x55ff7e[_0x1a4e('0xa4')]<=_0x2c9ec9&&_0x55ff7e[_0x1a4e('0xca')]>_0x2c9ec9)){var _0x420b32=_0x9e6d5d(_0xf79407,_0x2c9ec9);-0x1!==_0x420b32&&(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x420b32===_0xf79407||!_0x368e5a['isWhiteSpaceSingleLine'](_0x56674b[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x420b32-0x1))),_0x2d6799(_0x420b32,_0x2c9ec9+0x1-_0x420b32));}}}function _0x9e6d5d(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x2327c6;_0x55ff7e>=_0x146f6e&&_0x368e5a[_0x1a4e('0x242b')](_0x56674b[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x55ff7e));)_0x55ff7e--;return _0x55ff7e!==_0x2327c6?_0x55ff7e+0x1:-0x1;}function _0x2d6799(_0x146f6e,_0x2327c6){_0x2327c6&&_0x5b34f7[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3200')](_0x146f6e,_0x2327c6,''));}function _0x2e9c0a(_0x146f6e,_0x2327c6,_0x55ff7e){(_0x2327c6||_0x55ff7e)&&_0x5b34f7['push'](_0x368e5a[_0x1a4e('0x3200')](_0x146f6e,_0x2327c6,_0x55ff7e));}}function _0x17404f(_0x146f6e,_0x2327c6){if((!_0x1adc17||_0x1adc17[_0x1a4e('0x3485')]!==_0x2327c6[_0x1a4e('0x3485')]||_0x1adc17[_0x1a4e('0x346e')]!==_0x2327c6[_0x1a4e('0x346e')])&&(_0x1adc17={'tabSize':_0x2327c6[_0x1a4e('0x3485')],'indentSize':_0x2327c6['indentSize']},_0xf79407=_0x2c9ec9=void 0x0),_0x2327c6[_0x1a4e('0x3488')]){var _0x55ff7e=void 0x0,_0x420b32=Math['floor'](_0x146f6e/_0x2327c6[_0x1a4e('0x346e')]),_0x1b06ad=_0x146f6e%_0x2327c6[_0x1a4e('0x346e')];return _0x2c9ec9||(_0x2c9ec9=[]),void 0x0===_0x2c9ec9[_0x420b32]?(_0x55ff7e=_0x368e5a['repeatString']('\x20',_0x2327c6['indentSize']*_0x420b32),_0x2c9ec9[_0x420b32]=_0x55ff7e):_0x55ff7e=_0x2c9ec9[_0x420b32],_0x1b06ad?_0x55ff7e+_0x368e5a[_0x1a4e('0x3205')]('\x20',_0x1b06ad):_0x55ff7e;}var _0x326eae=Math[_0x1a4e('0xb4')](_0x146f6e/_0x2327c6['tabSize']),_0x56674b=_0x146f6e-_0x326eae*_0x2327c6['tabSize'],_0x468777=void 0x0;return _0xf79407||(_0xf79407=[]),void 0x0===_0xf79407[_0x326eae]?_0xf79407[_0x326eae]=_0x468777=_0x368e5a[_0x1a4e('0x3205')]('\x09',_0x326eae):_0x468777=_0xf79407[_0x326eae],_0x56674b?_0x468777+_0x368e5a[_0x1a4e('0x3205')]('\x20',_0x56674b):_0x468777;}!function(_0x368e5a){_0x368e5a[_0x368e5a['Unknown']=-0x1]='Unknown';}(_0x2327c6||(_0x2327c6={})),_0x146f6e[_0x1a4e('0x3489')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6['getLineAndCharacterOfPosition'](_0x146f6e)[_0x1a4e('0xc5')];if(0x0===_0x1adc17)return[];for(var _0xf79407=_0x368e5a['getEndLinePosition'](_0x1adc17,_0x2327c6);_0x368e5a[_0x1a4e('0x242b')](_0x2327c6[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0xf79407));)_0xf79407--;return _0x368e5a['isLineBreak'](_0x2327c6[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0xf79407))&&_0xf79407--,_0x468777({'pos':_0x368e5a[_0x1a4e('0x2322')](_0x1adc17-0x1,_0x2327c6),'end':_0xf79407+0x1},_0x2327c6,_0x55ff7e,0x2);},_0x146f6e[_0x1a4e('0x348a')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x56674b(_0x1b06ad(_0x420b32(_0x368e5a,0x1a,_0x146f6e)),_0x146f6e,_0x2327c6,0x3);},_0x146f6e[_0x1a4e('0x348b')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x420b32(_0x146f6e,0x12,_0x2327c6);if(!_0x1adc17)return[];var _0xf79407=_0x1b06ad(_0x1adc17[_0x1a4e('0x11c')]);return _0x468777({'pos':_0x368e5a[_0x1a4e('0x31e0')](_0xf79407[_0x1a4e('0x31d6')](_0x2327c6),_0x2327c6),'end':_0x146f6e},_0x2327c6,_0x55ff7e,0x4);},_0x146f6e['formatOnClosingCurly']=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x56674b(_0x1b06ad(_0x420b32(_0x368e5a,0x13,_0x146f6e)),_0x146f6e,_0x2327c6,0x5);},_0x146f6e[_0x1a4e('0x348c')]=function(_0x368e5a,_0x146f6e){return _0x468777({'pos':0x0,'end':_0x368e5a[_0x1a4e('0xe04')]['length']},_0x368e5a,_0x146f6e,0x0);},_0x146f6e['formatSelection']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x468777({'pos':_0x368e5a[_0x1a4e('0x31e0')](_0x146f6e,_0x55ff7e),'end':_0x2327c6},_0x55ff7e,_0x1adc17,0x1);},_0x146f6e['formatNodeGivenIndentation']=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32={'pos':0x0,'end':_0x2327c6[_0x1a4e('0xe04')][_0x1a4e('0x1e')]};return _0x146f6e[_0x1a4e('0x33de')](_0x2327c6[_0x1a4e('0xe04')],_0x55ff7e,_0x420b32[_0x1a4e('0xa4')],_0x420b32[_0x1a4e('0xca')],function(_0x146f6e){return _0x3d5554(_0x420b32,_0x368e5a,_0x1adc17,_0xf79407,_0x146f6e,_0x2c9ec9,0x1,function(_0x368e5a){return!0x1;},_0x2327c6);});},function(_0x368e5a){_0x368e5a[_0x368e5a['None']=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x348d')]=0x1]=_0x1a4e('0x348d'),_0x368e5a[_0x368e5a[_0x1a4e('0x348e')]=0x2]=_0x1a4e('0x348e');}(_0x55ff7e||(_0x55ff7e={})),_0x146f6e['getRangeOfEnclosingComment']=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=_0x368e5a['getTokenAtPosition'](_0x146f6e,_0x2327c6));var _0xf79407=_0x368e5a[_0x1a4e('0x283d')](_0x1adc17,_0x368e5a[_0x1a4e('0x2378')]);if(_0xf79407&&(_0x1adc17=_0xf79407['parent']),!(_0x1adc17[_0x1a4e('0x31d6')](_0x146f6e)<=_0x2327c6&&_0x2327c6<_0x1adc17[_0x1a4e('0x31d7')]())){var _0x2c9ec9=(_0x55ff7e=null===_0x55ff7e?void 0x0:void 0x0===_0x55ff7e?_0x368e5a[_0x1a4e('0x3279')](_0x2327c6,_0x146f6e):_0x55ff7e)&&_0x368e5a[_0x1a4e('0x22cd')](_0x146f6e[_0x1a4e('0xe04')],_0x55ff7e[_0x1a4e('0xca')]),_0x420b32=_0x368e5a[_0x1a4e('0x2362')](_0x1adc17,_0x146f6e),_0x1b06ad=_0x368e5a[_0x1a4e('0x1717')](_0x2c9ec9,_0x420b32);return _0x1b06ad&&_0x368e5a['find'](_0x1b06ad,function(_0x55ff7e){return _0x368e5a[_0x1a4e('0x31e2')](_0x55ff7e,_0x2327c6)||_0x2327c6===_0x55ff7e[_0x1a4e('0xca')]&&(0x2===_0x55ff7e[_0x1a4e('0x146b')]||_0x2327c6===_0x146f6e[_0x1a4e('0x2310')]());});}},_0x146f6e[_0x1a4e('0x348f')]=_0x17404f;}(_0x368e5a[_0x1a4e('0x31dc')]||(_0x368e5a[_0x1a4e('0x31dc')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){!function(_0x2327c6){var _0x55ff7e,_0x1adc17;function _0xf79407(_0x368e5a){return _0x368e5a[_0x1a4e('0x3490')]||0x0;}function _0x2c9ec9(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x326eae){for(var _0x56674b=_0x368e5a[_0x1a4e('0x11c')];_0x56674b;){var _0x32a34e=!0x0;if(_0x2327c6){var _0x1a103d=_0x368e5a[_0x1a4e('0x31d6')](_0x1adc17);_0x32a34e=_0x1a103d<_0x2327c6['pos']||_0x1a103d>_0x2327c6[_0x1a4e('0xca')];}var _0xd0449e=_0x420b32(_0x56674b,_0x368e5a,_0x1adc17),_0xe58beb=_0xd0449e[_0x1a4e('0xc5')]===_0x146f6e[_0x1a4e('0xc5')]||_0x575ae4(_0x56674b,_0x368e5a,_0x146f6e[_0x1a4e('0xc5')],_0x1adc17);if(_0x32a34e){var _0x540841=_0x54f5e2(_0x368e5a,_0x1adc17,_0x326eae,!_0xe58beb);if(-0x1!==_0x540841)return _0x540841+_0x55ff7e;if(-0x1!==(_0x540841=_0x1b06ad(_0x368e5a,_0x56674b,_0x146f6e,_0xe58beb,_0x1adc17,_0x326eae)))return _0x540841+_0x55ff7e;}_0x5a19f6(_0x326eae,_0x56674b,_0x368e5a,_0x1adc17,_0x2c9ec9)&&!_0xe58beb&&(_0x55ff7e+=_0x326eae['indentSize']);var _0x4d8083=_0x8157fb(_0x56674b,_0x368e5a,_0x146f6e[_0x1a4e('0xc5')],_0x1adc17);_0x56674b=(_0x368e5a=_0x56674b)['parent'],_0x146f6e=_0x4d8083?_0x1adc17['getLineAndCharacterOfPosition'](_0x368e5a['getStart'](_0x1adc17)):_0xd0449e;}return _0x55ff7e+_0xf79407(_0x326eae);}function _0x420b32(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x336447(_0x146f6e,_0x2327c6),_0x1adc17=_0x55ff7e?_0x55ff7e[_0x1a4e('0xa4')]:_0x368e5a['getStart'](_0x2327c6);return _0x2327c6[_0x1a4e('0x22c1')](_0x1adc17);}function _0x1b06ad(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return(_0x368e5a[_0x1a4e('0x23e6')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2568')](_0x146f6e))&&(0x117===_0x2327c6[_0x1a4e('0x146b')]||!_0x1adc17)?_0xe0cfa7(_0x55ff7e,_0xf79407,_0x2c9ec9):-0x1;}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x31ea')](_0x146f6e,_0x2327c6,_0x1adc17);return _0xf79407?0x12===_0xf79407[_0x1a4e('0x146b')]?0x1:0x13===_0xf79407['kind']&&_0x55ff7e===_0x56674b(_0xf79407,_0x1adc17)[_0x1a4e('0xc5')]?0x2:0x0:0x0;}function _0x56674b(_0x368e5a,_0x146f6e){return _0x146f6e['getLineAndCharacterOfPosition'](_0x368e5a[_0x1a4e('0x31d6')](_0x146f6e));}function _0x8157fb(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(!_0x368e5a[_0x1a4e('0x2372')](_0x146f6e)||!_0x368e5a[_0x1a4e('0x2ac')](_0x146f6e[_0x1a4e('0x2373')],_0x2327c6))return!0x1;var _0xf79407=_0x146f6e['expression']['getEnd']();return _0x368e5a[_0x1a4e('0x22c1')](_0x1adc17,_0xf79407)['line']===_0x55ff7e;}function _0x575ae4(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(0xde===_0x146f6e[_0x1a4e('0x146b')]&&_0x146f6e[_0x1a4e('0x2607')]===_0x2327c6){var _0xf79407=_0x368e5a[_0x1a4e('0x327f')](_0x146f6e,0x53,_0x1adc17);return _0x368e5a['Debug']['assert'](void 0x0!==_0xf79407),_0x56674b(_0xf79407,_0x1adc17)['line']===_0x55ff7e;}return!0x1;}function _0x336447(_0x368e5a,_0x146f6e){return _0x368e5a['parent']&&_0x2e925a(_0x368e5a[_0x1a4e('0x31d6')](_0x146f6e),_0x368e5a[_0x1a4e('0x31d7')](),_0x368e5a[_0x1a4e('0x11c')],_0x146f6e);}function _0x2e925a(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xa4:return _0xf79407(_0x55ff7e['typeArguments']);case 0xbc:return _0xf79407(_0x55ff7e[_0x1a4e('0x13')]);case 0xbb:return _0xf79407(_0x55ff7e[_0x1a4e('0x2398')]);case 0xa8:return _0xf79407(_0x55ff7e['members']);case 0xef:case 0xc4:case 0xc5:case 0x9c:case 0x9b:case 0xa0:case 0x9d:case 0xa6:case 0xa1:return _0xf79407(_0x55ff7e['typeParameters'])||_0xf79407(_0x55ff7e[_0x1a4e('0x111a')]);case 0xf0:case 0xd1:case 0xf1:case 0xf2:case 0x12f:return _0xf79407(_0x55ff7e[_0x1a4e('0x23d7')]);case 0xc0:case 0xbf:return _0xf79407(_0x55ff7e[_0x1a4e('0x2365')])||_0xf79407(_0x55ff7e[_0x1a4e('0x2373')]);case 0xee:return _0xf79407(_0x55ff7e[_0x1a4e('0x22e5')]);case 0xfc:case 0x100:return _0xf79407(_0x55ff7e[_0x1a4e('0x2398')]);case 0xb8:case 0xb9:return _0xf79407(_0x55ff7e['elements']);}function _0xf79407(_0xf79407){return _0xf79407&&_0x368e5a['rangeContainsStartEnd'](function(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x368e5a[_0x1a4e('0x31d4')](_0x2327c6),_0x1adc17=0x1;_0x1adc17<_0x55ff7e[_0x1a4e('0x1e')]-0x1;_0x1adc17++)if(_0x55ff7e[_0x1adc17][_0x1a4e('0xa4')]===_0x146f6e[_0x1a4e('0xa4')]&&_0x55ff7e[_0x1adc17][_0x1a4e('0xca')]===_0x146f6e['end'])return{'pos':_0x55ff7e[_0x1adc17-0x1][_0x1a4e('0xca')],'end':_0x55ff7e[_0x1adc17+0x1][_0x1a4e('0x31d6')](_0x2327c6)};return _0x146f6e;}(_0x55ff7e,_0xf79407,_0x1adc17),_0x146f6e,_0x2327c6)?_0xf79407:void 0x0;}}function _0x56939b(_0x368e5a,_0x146f6e,_0x2327c6){return _0x368e5a?_0xe0cfa7(_0x146f6e[_0x1a4e('0x22c1')](_0x368e5a[_0x1a4e('0xa4')]),_0x146f6e,_0x2327c6):-0x1;}function _0x54f5e2(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a[_0x1a4e('0x11c')]&&0xee===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return-0x1;var _0x1adc17=_0x336447(_0x368e5a,_0x146f6e);if(_0x1adc17){var _0xf79407=_0x1adc17[_0x1a4e('0x3e')](_0x368e5a);if(-0x1!==_0xf79407){var _0x2c9ec9=_0x432370(_0x1adc17,_0xf79407,_0x146f6e,_0x2327c6);if(-0x1!==_0x2c9ec9)return _0x2c9ec9;}return _0x56939b(_0x1adc17,_0x146f6e,_0x2327c6)+(_0x55ff7e?_0x2327c6[_0x1a4e('0x346e')]:0x0);}return-0x1;}function _0x432370(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x2327c6>=0x0&&_0x2327c6<_0x146f6e[_0x1a4e('0x1e')]);for(var _0xf79407=_0x56674b(_0x146f6e[_0x2327c6],_0x55ff7e),_0x2c9ec9=_0x2327c6-0x1;_0x2c9ec9>=0x0;_0x2c9ec9--)if(0x1b!==_0x146f6e[_0x2c9ec9][_0x1a4e('0x146b')]){if(_0x55ff7e[_0x1a4e('0x22c1')](_0x146f6e[_0x2c9ec9][_0x1a4e('0xca')])[_0x1a4e('0xc5')]!==_0xf79407['line'])return _0xe0cfa7(_0xf79407,_0x55ff7e,_0x1adc17);_0xf79407=_0x56674b(_0x146f6e[_0x2c9ec9],_0x55ff7e);}return-0x1;}function _0xe0cfa7(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x22bd')](_0x368e5a[_0x1a4e('0xc5')],0x0);return _0xc0b224(_0x55ff7e,_0x55ff7e+_0x368e5a['character'],_0x146f6e,_0x2327c6);}function _0x1899a9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=0x0,_0x2c9ec9=0x0,_0x420b32=_0x146f6e;_0x420b32<_0x2327c6;_0x420b32++){var _0x1b06ad=_0x55ff7e[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x420b32);if(!_0x368e5a[_0x1a4e('0x242b')](_0x1b06ad))break;0x9===_0x1b06ad?_0x2c9ec9+=_0x1adc17[_0x1a4e('0x3485')]+_0x2c9ec9%_0x1adc17[_0x1a4e('0x3485')]:_0x2c9ec9++,_0xf79407++;}return{'column':_0x2c9ec9,'character':_0xf79407};}function _0xc0b224(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x1899a9(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e)[_0x1a4e('0x15d1')];}function _0x3fdb01(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x55ff7e?_0x55ff7e[_0x1a4e('0x146b')]:0x0;switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xdd:case 0xf0:case 0xd1:case 0xf1:case 0xf3:case 0xf2:case 0xbb:case 0xda:case 0xf5:case 0xbc:case 0xa8:case 0xb5:case 0xaa:case 0xf6:case 0x110:case 0x10f:case 0xc3:case 0xbd:case 0xbf:case 0xc0:case 0xdb:case 0xfe:case 0xe6:case 0xcd:case 0xb9:case 0xb8:case 0x106:case 0x109:case 0x105:case 0x10e:case 0x9b:case 0xa0:case 0xa1:case 0x97:case 0xa5:case 0xa6:case 0xb1:case 0xc1:case 0xc9:case 0x100:case 0xfc:case 0x101:case 0xfd:case 0x9a:return!0x0;case 0xed:case 0x113:return!(!_0x146f6e[_0x1a4e('0x3491')]&&_0x1adc17&&0xbc===_0x2c9ec9)||function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e['text'],_0x2327c6[_0x1a4e('0xa4')]),_0x1adc17=_0x146f6e[_0x1a4e('0x22c1')](_0x55ff7e)[_0x1a4e('0xc5')],_0xf79407=_0x146f6e[_0x1a4e('0x22c1')](_0x2327c6['end'])[_0x1a4e('0xc5')];return _0x1adc17===_0xf79407;}(_0x1adc17,_0x55ff7e);case 0xdf:case 0xe0:case 0xe2:case 0xe3:case 0xe1:case 0xde:case 0xef:case 0xc4:case 0x9c:case 0xc5:case 0x9d:case 0x9e:case 0x9f:return 0xda!==_0x2c9ec9;case 0xff:return 0x100!==_0x2c9ec9;case 0xf9:return 0xfa!==_0x2c9ec9||!!_0x55ff7e[_0x1a4e('0x23c7')]&&0xfc!==_0x55ff7e[_0x1a4e('0x23c7')][_0x1a4e('0x146b')];case 0x104:return 0x107!==_0x2c9ec9;case 0x108:return 0x10a!==_0x2c9ec9;case 0xae:case 0xad:if(0xa8===_0x2c9ec9)return!0x1;}return _0xf79407;}function _0x5a19f6(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return void 0x0===_0x1adc17&&(_0x1adc17=!0x1),_0x3fdb01(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,!0x1)&&!(_0x1adc17&&_0x2327c6&&function(_0x368e5a,_0x146f6e){switch(_0x368e5a){case 0xe6:case 0xea:case 0xe4:case 0xe5:return 0xda!==_0x146f6e['kind'];default:return!0x1;}}(_0x2327c6[_0x1a4e('0x146b')],_0x146f6e));}!function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1785')]=-0x1]=_0x1a4e('0x1785');}(_0x55ff7e||(_0x55ff7e={})),_0x2327c6[_0x1a4e('0x3479')]=function(_0x2327c6,_0x55ff7e,_0x1adc17,_0x420b32){if(void 0x0===_0x420b32&&(_0x420b32=!0x1),_0x2327c6>_0x55ff7e[_0x1a4e('0xe04')][_0x1a4e('0x1e')])return _0xf79407(_0x1adc17);if(_0x1adc17['indentStyle']===_0x368e5a[_0x1a4e('0x3154')][_0x1a4e('0x1733')])return 0x0;var _0x1b06ad=_0x368e5a['findPrecedingToken'](_0x2327c6,_0x55ff7e,void 0x0,!0x0),_0x8157fb=_0x146f6e['getRangeOfEnclosingComment'](_0x55ff7e,_0x2327c6,_0x1b06ad||null);if(_0x8157fb&&0x3===_0x8157fb[_0x1a4e('0x146b')])return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x22c1')](_0x146f6e,_0x2327c6)[_0x1a4e('0xc5')]-0x1,_0x2c9ec9=_0x368e5a['getLineAndCharacterOfPosition'](_0x146f6e,_0x1adc17[_0x1a4e('0xa4')])[_0x1a4e('0xc5')];if(_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2c9ec9>=0x0),_0xf79407<=_0x2c9ec9)return _0xc0b224(_0x368e5a[_0x1a4e('0x2322')](_0x2c9ec9,_0x146f6e),_0x2327c6,_0x146f6e,_0x55ff7e);var _0x420b32=_0x368e5a[_0x1a4e('0x2322')](_0xf79407,_0x146f6e),_0x1b06ad=_0x1899a9(_0x420b32,_0x2327c6,_0x146f6e,_0x55ff7e),_0x326eae=_0x1b06ad[_0x1a4e('0x15d1')],_0x56674b=_0x1b06ad[_0x1a4e('0x2324')];return 0x0===_0x326eae?_0x326eae:0x2a===_0x146f6e[_0x1a4e('0xe04')]['charCodeAt'](_0x420b32+_0x56674b)?_0x326eae-0x1:_0x326eae;}(_0x55ff7e,_0x2327c6,_0x1adc17,_0x8157fb);if(!_0x1b06ad)return _0xf79407(_0x1adc17);if(_0x368e5a['isStringOrRegularExpressionOrTemplateLiteral'](_0x1b06ad[_0x1a4e('0x146b')])&&_0x1b06ad[_0x1a4e('0x31d6')](_0x55ff7e)<=_0x2327c6&&_0x2327c6<_0x1b06ad['end'])return 0x0;var _0x575ae4=_0x55ff7e[_0x1a4e('0x22c1')](_0x2327c6)[_0x1a4e('0xc5')];if(_0x1adc17[_0x1a4e('0x3492')]===_0x368e5a[_0x1a4e('0x3154')][_0x1a4e('0x1852')])return function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x2327c6;_0x1adc17>0x0;){var _0xf79407=_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x1adc17);if(!_0x368e5a[_0x1a4e('0x22c2')](_0xf79407))break;_0x1adc17--;}return _0xc0b224(_0x368e5a[_0x1a4e('0x31e0')](_0x1adc17,_0x146f6e),_0x1adc17,_0x146f6e,_0x55ff7e);}(_0x55ff7e,_0x2327c6,_0x1adc17);if(0x1b===_0x1b06ad['kind']&&0xcc!==_0x1b06ad[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x336447=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['findListItemInfo'](_0x146f6e);return _0x1adc17&&_0x1adc17[_0x1a4e('0x3493')]>0x0?_0x432370(_0x1adc17['list']['getChildren'](),_0x1adc17[_0x1a4e('0x3493')]-0x1,_0x2327c6,_0x55ff7e):-0x1;}(_0x1b06ad,_0x55ff7e,_0x1adc17);if(-0x1!==_0x336447)return _0x336447;}var _0xe0cfa7=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0x146f6e&&_0x2e925a(_0x368e5a,_0x368e5a,_0x146f6e,_0x2327c6);}(_0x2327c6,_0x1b06ad[_0x1a4e('0x11c')],_0x55ff7e);return _0xe0cfa7&&!_0x368e5a[_0x1a4e('0x339b')](_0xe0cfa7,_0x1b06ad)?_0x56939b(_0xe0cfa7,_0x55ff7e,_0x1adc17)+_0x1adc17[_0x1a4e('0x346e')]:function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x420b32,_0x1b06ad){for(var _0x8157fb,_0x575ae4=_0x55ff7e;_0x575ae4;){if(_0x368e5a[_0x1a4e('0x3494')](_0x575ae4,_0x2327c6,_0x146f6e)&&_0x5a19f6(_0x1b06ad,_0x575ae4,_0x8157fb,_0x146f6e,!0x0)){var _0x336447=_0x56674b(_0x575ae4,_0x146f6e),_0x2e925a=_0x326eae(_0x55ff7e,_0x575ae4,_0x1adc17,_0x146f6e),_0x56939b=0x0!==_0x2e925a?_0x420b32&&0x2===_0x2e925a?_0x1b06ad[_0x1a4e('0x346e')]:0x0:_0x1adc17!==_0x336447['line']?_0x1b06ad[_0x1a4e('0x346e')]:0x0;return _0x2c9ec9(_0x575ae4,_0x336447,void 0x0,_0x56939b,_0x146f6e,!0x0,_0x1b06ad);}var _0x432370=_0x54f5e2(_0x575ae4,_0x146f6e,_0x1b06ad,!0x0);if(-0x1!==_0x432370)return _0x432370;_0x8157fb=_0x575ae4,_0x575ae4=_0x575ae4[_0x1a4e('0x11c')];}return _0xf79407(_0x1b06ad);}(_0x55ff7e,_0x2327c6,_0x1b06ad,_0x575ae4,_0x420b32,_0x1adc17);},_0x2327c6[_0x1a4e('0x346c')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x22c1')](_0x368e5a['getStart'](_0x2327c6));return _0x2c9ec9(_0x368e5a,_0x1adc17,_0x146f6e,0x0,_0x2327c6,!0x1,_0x55ff7e);},_0x2327c6[_0x1a4e('0x3477')]=_0xf79407,function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1785')]=0x0]=_0x1a4e('0x1785'),_0x368e5a[_0x368e5a[_0x1a4e('0x3495')]=0x1]=_0x1a4e('0x3495'),_0x368e5a[_0x368e5a[_0x1a4e('0x3496')]=0x2]=_0x1a4e('0x3496');}(_0x1adc17||(_0x1adc17={})),_0x2327c6['isArgumentAndStartLineOverlapsExpressionBeingCalled']=_0x8157fb,_0x2327c6[_0x1a4e('0x347a')]=_0x575ae4,_0x2327c6[_0x1a4e('0x3497')]=_0x336447,_0x2327c6[_0x1a4e('0x3487')]=_0x1899a9,_0x2327c6[_0x1a4e('0x3475')]=_0xc0b224,_0x2327c6['nodeWillIndentChild']=_0x3fdb01,_0x2327c6[_0x1a4e('0x346d')]=_0x5a19f6;}(_0x146f6e[_0x1a4e('0x346b')]||(_0x146f6e[_0x1a4e('0x346b')]={}));}(_0x368e5a[_0x1a4e('0x31dc')]||(_0x368e5a[_0x1a4e('0x31dc')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e){var _0x2327c6=_0x146f6e['__pos'];return _0x368e5a[_0x1a4e('0x1749')]['assert'](_0x1a4e('0x3d')==typeof _0x2327c6),_0x2327c6;}function _0x55ff7e(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')]('number'==typeof _0x2327c6),_0x146f6e['__pos']=_0x2327c6;}function _0x1adc17(_0x146f6e){var _0x2327c6=_0x146f6e['__end'];return _0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1a4e('0x3d')==typeof _0x2327c6),_0x2327c6;}function _0xf79407(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')]('number'==typeof _0x2327c6),_0x146f6e['__end']=_0x2327c6;}var _0x2c9ec9,_0x1b06ad;function _0x326eae(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x22c6')](_0x146f6e,_0x2327c6,!0x1,!0x0);}function _0x56674b(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return{'pos':_0xf6c2e3(_0x368e5a,_0x146f6e,_0x55ff7e,_0x2c9ec9[_0x1a4e('0x3498')]),'end':_0x5dfdeb(_0x368e5a,_0x2327c6,_0x55ff7e)};}function _0xf6c2e3(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x55ff7e[_0x1a4e('0x3499')])return _0x2327c6[_0x1a4e('0x31d6')](_0x146f6e);var _0xf79407=_0x2327c6[_0x1a4e('0x31d5')](),_0x420b32=_0x2327c6['getStart'](_0x146f6e);if(_0xf79407===_0x420b32)return _0x420b32;var _0x1b06ad=_0x368e5a[_0x1a4e('0x31e0')](_0xf79407,_0x146f6e);if(_0x368e5a['getLineStartPositionForPosition'](_0x420b32,_0x146f6e)===_0x1b06ad)return _0x1adc17===_0x2c9ec9[_0x1a4e('0x3498')]?_0x420b32:_0xf79407;var _0x56674b=_0xf79407>0x0?0x1:0x0,_0xf6c2e3=_0x368e5a['getStartPositionOfLine'](_0x368e5a[_0x1a4e('0x244a')](_0x146f6e,_0x1b06ad)+_0x56674b,_0x146f6e);return _0xf6c2e3=_0x326eae(_0x146f6e['text'],_0xf6c2e3),_0x368e5a[_0x1a4e('0x2322')](_0x368e5a[_0x1a4e('0x244a')](_0x146f6e,_0xf6c2e3),_0x146f6e);}function _0x5dfdeb(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0xca')];if(_0x55ff7e[_0x1a4e('0x349a')]||_0x368e5a[_0x1a4e('0x24a8')](_0x2327c6))return _0x1adc17;var _0xf79407=_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e[_0x1a4e('0xe04')],_0x1adc17,!0x0);return _0xf79407!==_0x1adc17&&_0x368e5a[_0x1a4e('0x22c3')](_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0xf79407-0x1))?_0xf79407:_0x1adc17;}function _0x517c45(_0x368e5a,_0x146f6e){return!!_0x146f6e&&!!_0x368e5a['parent']&&(0x1b===_0x146f6e[_0x1a4e('0x146b')]||0x1a===_0x146f6e['kind']&&0xbc===_0x368e5a['parent']['kind']);}!function(_0x368e5a){_0x368e5a[_0x368e5a['FullStart']=0x0]=_0x1a4e('0x349b'),_0x368e5a[_0x368e5a[_0x1a4e('0x3498')]=0x1]=_0x1a4e('0x3498');}(_0x2c9ec9=_0x146f6e[_0x1a4e('0x349c')]||(_0x146f6e['Position']={})),_0x146f6e[_0x1a4e('0x349d')]={'useNonAdjustedStartPosition':!0x0,'useNonAdjustedEndPosition':!0x0},function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x349e')]=0x0]=_0x1a4e('0x349e'),_0x368e5a[_0x368e5a[_0x1a4e('0x349f')]=0x1]='ReplaceWithSingleNode',_0x368e5a[_0x368e5a[_0x1a4e('0x34a0')]=0x2]=_0x1a4e('0x34a0'),_0x368e5a[_0x368e5a[_0x1a4e('0x34a1')]=0x3]=_0x1a4e('0x34a1');}(_0x1b06ad||(_0x1b06ad={}));var _0x50f7e4,_0x536376=function(){function _0x2327c6(_0x146f6e,_0x2327c6){this[_0x1a4e('0x322a')]=_0x146f6e,this[_0x1a4e('0x34a2')]=_0x2327c6,this[_0x1a4e('0x34a3')]=[],this[_0x1a4e('0x34a4')]=[],this[_0x1a4e('0x34a5')]=_0x368e5a[_0x1a4e('0x1772')](),this[_0x1a4e('0x34a6')]=[];}return _0x2327c6[_0x1a4e('0x3376')]=function(_0x146f6e){return new _0x2327c6(_0x368e5a[_0x1a4e('0x337b')](_0x146f6e[_0x1a4e('0x1599')],_0x146f6e[_0x1a4e('0x34a2')][_0x1a4e('0x8dc')]),_0x146f6e[_0x1a4e('0x34a2')]);},_0x2327c6['with']=function(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x2327c6[_0x1a4e('0x3376')](_0x368e5a);return _0x146f6e(_0x55ff7e),_0x55ff7e[_0x1a4e('0x3379')]();},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34a7')]=function(_0x368e5a,_0x146f6e){this[_0x1a4e('0x34a3')][_0x1a4e('0x46')]({'kind':_0x1b06ad[_0x1a4e('0x349e')],'sourceFile':_0x368e5a,'range':_0x146f6e});},_0x2327c6[_0x1a4e('0xa')]['delete']=function(_0x368e5a,_0x146f6e){this['deletedNodes'][_0x1a4e('0x46')]({'sourceFile':_0x368e5a,'node':_0x146f6e});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34a8')]=function(_0x146f6e,_0x2327c6){this[_0x1a4e('0x34a7')](_0x146f6e,{'pos':_0x2327c6[_0x1a4e('0x31d6')](_0x146f6e),'end':_0x368e5a['skipTrivia'](_0x146f6e['text'],_0x2327c6['end'],!0x0)});},_0x2327c6[_0x1a4e('0xa')]['deleteNodeRange']=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e={});var _0x1adc17=_0xf6c2e3(_0x368e5a,_0x146f6e,_0x55ff7e,_0x2c9ec9[_0x1a4e('0x349b')]),_0xf79407=_0x5dfdeb(_0x368e5a,_0x2327c6,_0x55ff7e);this['deleteRange'](_0x368e5a,{'pos':_0x1adc17,'end':_0xf79407});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34a9')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e={});var _0x1adc17=_0xf6c2e3(_0x368e5a,_0x146f6e,_0x55ff7e,_0x2c9ec9[_0x1a4e('0x349b')]),_0xf79407=void 0x0===_0x2327c6?_0x368e5a[_0x1a4e('0xe04')][_0x1a4e('0x1e')]:_0xf6c2e3(_0x368e5a,_0x2327c6,_0x55ff7e,_0x2c9ec9[_0x1a4e('0x349b')]);this[_0x1a4e('0x34a7')](_0x368e5a,{'pos':_0x1adc17,'end':_0xf79407});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34aa')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e={}),this[_0x1a4e('0x34a3')][_0x1a4e('0x46')]({'kind':_0x1b06ad[_0x1a4e('0x349f')],'sourceFile':_0x368e5a,'range':_0x146f6e,'options':_0x55ff7e,'node':_0x2327c6});},_0x2327c6['prototype']['replaceNode']=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=_0x146f6e[_0x1a4e('0x349d')]),this[_0x1a4e('0x34aa')](_0x368e5a,_0x56674b(_0x368e5a,_0x2327c6,_0x2327c6,_0x1adc17),_0x55ff7e,_0x1adc17);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34ab')]=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){void 0x0===_0xf79407&&(_0xf79407=_0x146f6e[_0x1a4e('0x349d')]),this['replaceRange'](_0x368e5a,_0x56674b(_0x368e5a,_0x2327c6,_0x55ff7e,_0xf79407),_0x1adc17,_0xf79407);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34ac')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e={}),this[_0x1a4e('0x34a3')][_0x1a4e('0x46')]({'kind':_0x1b06ad[_0x1a4e('0x34a0')],'sourceFile':_0x368e5a,'range':_0x146f6e,'options':_0x55ff7e,'nodes':_0x2327c6});},_0x2327c6['prototype']['replaceNodeWithNodes']=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=_0x146f6e[_0x1a4e('0x349d')]),this['replaceRangeWithNodes'](_0x368e5a,_0x56674b(_0x368e5a,_0x2327c6,_0x2327c6,_0x1adc17),_0x55ff7e,_0x1adc17);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34ad')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){this[_0x1a4e('0x3326')](_0x368e5a,_0x56674b(_0x368e5a,_0x2327c6,_0x2327c6,_0x146f6e[_0x1a4e('0x349d')]),_0x55ff7e);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34ae')]=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){void 0x0===_0xf79407&&(_0xf79407=_0x146f6e[_0x1a4e('0x349d')]),this[_0x1a4e('0x34ac')](_0x368e5a,_0x56674b(_0x368e5a,_0x2327c6,_0x55ff7e,_0xf79407),_0x1adc17,_0xf79407);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34af')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x31ea')](_0x2327c6,_0x2327c6[_0x1a4e('0x11c')],_0x146f6e);return _0x55ff7e&&0x1b===_0x55ff7e[_0x1a4e('0x146b')]?_0x55ff7e:void 0x0;},_0x2327c6[_0x1a4e('0xa')]['replacePropertyAssignment']=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this[_0x1a4e('0x34af')](_0x368e5a,_0x146f6e)?'':','+this['newLineCharacter'];this['replaceNode'](_0x368e5a,_0x146f6e,_0x2327c6,{'suffix':_0x55ff7e});},_0x2327c6['prototype'][_0x1a4e('0x34b0')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17={}),this[_0x1a4e('0x34aa')](_0x146f6e,_0x368e5a['createRange'](_0x2327c6),_0x55ff7e,_0x1adc17);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34b1')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17={}),this[_0x1a4e('0x34ac')](_0x146f6e,_0x368e5a[_0x1a4e('0x247d')](_0x2327c6),_0x55ff7e,_0x1adc17);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34b2')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=function(_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2366')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(!_0x368e5a[_0x1a4e('0x2877')](_0xf79407))break;_0x2327c6=_0xf79407;}var _0x2c9ec9=0x0,_0x420b32=_0x146f6e[_0x1a4e('0xe04')];if(_0x2327c6)return _0x2c9ec9=_0x2327c6[_0x1a4e('0xca')],_0x517c45(),_0x2c9ec9;var _0x1b06ad=_0x368e5a[_0x1a4e('0x22ce')](_0x420b32);void 0x0!==_0x1b06ad&&(_0x2c9ec9=_0x1b06ad[_0x1a4e('0x1e')],_0x517c45());var _0x326eae=_0x368e5a[_0x1a4e('0x22cc')](_0x420b32,_0x2c9ec9);if(!_0x326eae)return _0x2c9ec9;_0x326eae[_0x1a4e('0x1e')]&&0x3===_0x326eae[0x0]['kind']&&_0x368e5a[_0x1a4e('0x232c')](_0x420b32,_0x326eae[0x0][_0x1a4e('0xa4')])&&(_0x2c9ec9=_0x326eae[0x0][_0x1a4e('0xca')],_0x517c45(),_0x326eae=_0x326eae[_0x1a4e('0x78')](0x1));for(var _0x56674b=0x0,_0xf6c2e3=_0x326eae;_0x56674b<_0xf6c2e3['length'];_0x56674b++){var _0x5dfdeb=_0xf6c2e3[_0x56674b];if(0x2!==_0x5dfdeb['kind']||!_0x368e5a[_0x1a4e('0x2f68')](_0x420b32,_0x5dfdeb[_0x1a4e('0xa4')],_0x5dfdeb['end']))break;_0x2c9ec9=_0x5dfdeb[_0x1a4e('0xca')],_0x517c45();}return _0x2c9ec9;function _0x517c45(){if(_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')]){var _0x146f6e=_0x420b32[_0x1a4e('0x913')](_0x2c9ec9);_0x368e5a['isLineBreak'](_0x146f6e)&&++_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')]&&0xd===_0x146f6e&&0xa===_0x420b32['charCodeAt'](_0x2c9ec9)&&_0x2c9ec9++;}}}(_0x146f6e);this[_0x1a4e('0x34b0')](_0x146f6e,_0x1adc17,_0x2327c6,{'prefix':0x0===_0x1adc17?void 0x0:this['newLineCharacter'],'suffix':(_0x368e5a[_0x1a4e('0x22c3')](_0x146f6e['text']['charCodeAt'](_0x1adc17))?'':this[_0x1a4e('0x322a')])+(_0x55ff7e?this[_0x1a4e('0x322a')]:'')});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34b3')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e=!0x1),this[_0x1a4e('0x34b0')](_0x368e5a,_0xf6c2e3(_0x368e5a,_0x146f6e,{},_0x2c9ec9[_0x1a4e('0x3498')]),_0x2327c6,this[_0x1a4e('0x34b4')](_0x146f6e,_0x55ff7e));},_0x2327c6['prototype']['insertModifierBefore']=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x31d6')](_0x146f6e);this['insertNodeAt'](_0x146f6e,_0x1adc17,_0x368e5a[_0x1a4e('0x28b6')](_0x2327c6),{'suffix':'\x20'});},_0x2327c6[_0x1a4e('0xa')]['insertLastModifierBefore']=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x55ff7e['modifiers']){var _0x1adc17=_0x55ff7e[_0x1a4e('0x242d')][_0x1a4e('0xca')];this[_0x1a4e('0x34b0')](_0x146f6e,_0x1adc17,_0x368e5a[_0x1a4e('0x28b6')](_0x2327c6),{'prefix':'\x20'});}else this[_0x1a4e('0x34b5')](_0x146f6e,_0x2327c6,_0x55ff7e);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34b6')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2322')](_0x2327c6,_0x146f6e),_0x2c9ec9=_0x368e5a['getFirstNonSpaceCharacterPosition'](_0x146f6e[_0x1a4e('0xe04')],_0xf79407),_0x420b32=_0x135e37(_0x146f6e,_0x2c9ec9),_0x1b06ad=_0x368e5a['getTouchingToken'](_0x146f6e,_0x420b32?_0x2c9ec9:_0x55ff7e),_0x326eae=_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x78')](_0xf79407,_0x2c9ec9),_0x56674b=(_0x420b32?'':this[_0x1a4e('0x322a')])+'//'+_0x1adc17+this[_0x1a4e('0x322a')]+_0x326eae;this[_0x1a4e('0x34b7')](_0x146f6e,_0x1b06ad[_0x1a4e('0x31d6')](_0x146f6e),_0x56674b);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34b8')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x31d6')](_0x146f6e);if(_0x2327c6[_0x1a4e('0x22ec')])for(var _0xf79407=0x0,_0x2c9ec9=_0x2327c6['jsDoc'];_0xf79407<_0x2c9ec9['length'];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];this[_0x1a4e('0x34a7')](_0x146f6e,{'pos':_0x368e5a[_0x1a4e('0x31e0')](_0x420b32[_0x1a4e('0x31d6')](_0x146f6e),_0x146f6e),'end':_0x5dfdeb(_0x146f6e,_0x420b32,{})});}var _0x1b06ad=_0x368e5a[_0x1a4e('0x34b9')](_0x146f6e['text'],_0x1adc17-0x1),_0x326eae=_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x78')](_0x1b06ad,_0x1adc17);this[_0x1a4e('0x34b0')](_0x146f6e,_0x1adc17,_0x55ff7e,{'preserveLeadingWhitespace':!0x1,'suffix':this[_0x1a4e('0x322a')]+_0x326eae});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3326')]=function(_0x368e5a,_0x146f6e,_0x2327c6){this[_0x1a4e('0x34a3')]['push']({'kind':_0x1b06ad[_0x1a4e('0x34a1')],'sourceFile':_0x368e5a,'range':_0x146f6e,'text':_0x2327c6});},_0x2327c6['prototype'][_0x1a4e('0x34b7')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){this[_0x1a4e('0x3326')](_0x146f6e,_0x368e5a['createRange'](_0x2327c6),_0x55ff7e);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34ba')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17;if(_0x368e5a[_0x1a4e('0x2342')](_0x2327c6)){if(!(_0x1adc17=_0x368e5a['findChildOfKind'](_0x2327c6,0x15,_0x146f6e))){if(!_0x368e5a[_0x1a4e('0x23e0')](_0x2327c6))return;_0x1adc17=_0x368e5a['first'](_0x2327c6[_0x1a4e('0x111a')]);}}else _0x1adc17=0xed!==_0x2327c6[_0x1a4e('0x146b')]&&_0x2327c6[_0x1a4e('0x23ca')]?_0x2327c6[_0x1a4e('0x23ca')]:_0x2327c6['name'];this[_0x1a4e('0x34b0')](_0x146f6e,_0x1adc17[_0x1a4e('0xca')],_0x55ff7e,{'prefix':':\x20'});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34bb')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=(_0x368e5a[_0x1a4e('0x327f')](_0x2327c6,0x14,_0x146f6e)||_0x368e5a[_0x1a4e('0x10f7')](_0x2327c6[_0x1a4e('0x111a')]))[_0x1a4e('0x31d6')](_0x146f6e);this[_0x1a4e('0x34b1')](_0x146f6e,_0x1adc17,_0x55ff7e,{'prefix':'<','suffix':'>'});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34b4')]=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2569')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2368')](_0x146f6e)?{'suffix':_0x2327c6?this[_0x1a4e('0x322a')]+this['newLineCharacter']:this[_0x1a4e('0x322a')]}:_0x368e5a[_0x1a4e('0x238d')](_0x146f6e)?{'suffix':',\x20'}:_0x368e5a[_0x1a4e('0x24ac')](_0x146f6e)?{}:_0x368e5a[_0x1a4e('0x2374')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2981')](_0x146f6e['parent'])||_0x368e5a['isNamedImports'](_0x146f6e)?{'suffix':',\x20'}:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2df8')](_0x146f6e);},_0x2327c6['prototype'][_0x1a4e('0x34bc')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1721')](_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0x2366')]);_0x1adc17&&_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0x2677')]?this[_0x1a4e('0x34b3')](_0x146f6e,_0x1adc17,_0x55ff7e):this['replaceConstructorBody'](_0x146f6e,_0x2327c6,[_0x55ff7e][_0x1a4e('0x9a')](_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0x2366')]));},_0x2327c6[_0x1a4e('0xa')]['insertNodeAtConstructorEnd']=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1722')](_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0x2366')]);_0x1adc17&&_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0x2677')]?this[_0x1a4e('0x321c')](_0x146f6e,_0x1adc17,_0x55ff7e):this[_0x1a4e('0x34bd')](_0x146f6e,_0x2327c6,_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0x2366')][_0x1a4e('0x9a')]([_0x55ff7e]));},_0x2327c6[_0x1a4e('0xa')]['replaceConstructorBody']=function(_0x146f6e,_0x2327c6,_0x55ff7e){this[_0x1a4e('0x34be')](_0x146f6e,_0x2327c6[_0x1a4e('0x8f2')],_0x368e5a[_0x1a4e('0x2c91')](_0x55ff7e,!0x0));},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34bf')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0xf6c2e3(_0x146f6e,_0x2327c6['getLastToken'](),{},_0x2c9ec9['Start']);this[_0x1a4e('0x34b0')](_0x146f6e,_0x1adc17,_0x55ff7e,{'prefix':_0x368e5a[_0x1a4e('0x22c3')](_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x2327c6['getLastToken']()[_0x1a4e('0xa4')]))?this[_0x1a4e('0x322a')]:this[_0x1a4e('0x322a')]+this[_0x1a4e('0x322a')],'suffix':this[_0x1a4e('0x322a')]});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34c0')]=function(_0x368e5a,_0x146f6e,_0x2327c6){this[_0x1a4e('0x34c1')](_0x368e5a,_0x146f6e,_0x2327c6);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34c2')]=function(_0x368e5a,_0x146f6e,_0x2327c6){this[_0x1a4e('0x34c1')](_0x368e5a,_0x146f6e,_0x2327c6);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34c1')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6['getStart'](_0x146f6e),_0xf79407=_0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x346b')]['findFirstNonWhitespaceColumn'](_0x368e5a[_0x1a4e('0x31e0')](_0x1adc17,_0x146f6e),_0x1adc17,_0x146f6e,this['formatContext'][_0x1a4e('0x8dc')])+this[_0x1a4e('0x34a2')][_0x1a4e('0x8dc')][_0x1a4e('0x346e')];this[_0x1a4e('0x34b0')](_0x146f6e,_0x596c5a(_0x2327c6)['pos'],_0x55ff7e,_0x420b32({'indentation':_0xf79407},this[_0x1a4e('0x34c3')](_0x146f6e,_0x2327c6)));},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34c3')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x236f')](_0x2327c6)?',':'';if(0x0===_0x596c5a(_0x2327c6)['length']){if(_0x368e5a['addToSeen'](this['classesWithNodesInsertedAtStart'],_0x368e5a['getNodeId'](_0x2327c6),{'node':_0x2327c6,'sourceFile':_0x146f6e})){var _0x1adc17=_0x368e5a[_0x1a4e('0x2487')][_0x1a4e('0x8b')](void 0x0,_0x36db1b(_0x2327c6,_0x146f6e)[_0x1a4e('0x9a')]([_0x146f6e]));return{'prefix':this[_0x1a4e('0x322a')],'suffix':_0x55ff7e+(_0x1adc17?this[_0x1a4e('0x322a')]:'')};}return{'prefix':'','suffix':_0x55ff7e+this['newLineCharacter']};}return{'prefix':this[_0x1a4e('0x322a')],'suffix':_0x55ff7e};},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34c4')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this['insertNodeAfterWorker'](_0x368e5a,this['nextCommaToken'](_0x368e5a,_0x146f6e)||_0x146f6e,_0x2327c6);this[_0x1a4e('0x34b0')](_0x368e5a,_0x55ff7e,_0x2327c6,this['getInsertNodeAfterOptions'](_0x368e5a,_0x146f6e));},_0x2327c6['prototype'][_0x1a4e('0x321c')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this[_0x1a4e('0x34c5')](_0x368e5a,_0x146f6e,_0x2327c6);this[_0x1a4e('0x34b0')](_0x368e5a,_0x55ff7e,_0x2327c6,this[_0x1a4e('0x34c6')](_0x368e5a,_0x146f6e));},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34c7')]=function(_0x368e5a,_0x146f6e,_0x2327c6){this['insertNodeAt'](_0x368e5a,_0x146f6e[_0x1a4e('0xca')],_0x2327c6,{'prefix':',\x20'});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34c8')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=this['insertNodeAfterWorker'](_0x146f6e,_0x2327c6,_0x368e5a['first'](_0x55ff7e));this[_0x1a4e('0x34b1')](_0x146f6e,_0x1adc17,_0x55ff7e,this[_0x1a4e('0x34c6')](_0x146f6e,_0x2327c6));},_0x2327c6['prototype'][_0x1a4e('0x34c5')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0xf79407;return _0x1adc17=_0x2327c6,_0xf79407=_0x55ff7e,((_0x368e5a[_0x1a4e('0x238e')](_0x1adc17)||_0x368e5a['isPropertyDeclaration'](_0x1adc17))&&_0x368e5a[_0x1a4e('0x2551')](_0xf79407)&&0x95===_0xf79407[_0x1a4e('0x2cb')]['kind']||_0x368e5a[_0x1a4e('0x2568')](_0x1adc17)&&_0x368e5a[_0x1a4e('0x2568')](_0xf79407))&&0x3b!==_0x146f6e['text'][_0x1a4e('0x913')](_0x2327c6[_0x1a4e('0xca')]-0x1)&&this[_0x1a4e('0x34aa')](_0x146f6e,_0x368e5a[_0x1a4e('0x247d')](_0x2327c6[_0x1a4e('0xca')]),_0x368e5a[_0x1a4e('0x28b6')](0x1a)),_0x5dfdeb(_0x146f6e,_0x2327c6,{});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34c6')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=this['getInsertNodeAfterOptionsWorker'](_0x2327c6);return _0x420b32({},_0x55ff7e,{'prefix':_0x2327c6[_0x1a4e('0xca')]===_0x146f6e[_0x1a4e('0xca')]&&_0x368e5a[_0x1a4e('0x2569')](_0x2327c6)?_0x55ff7e[_0x1a4e('0x1750')]?'\x0a'+_0x55ff7e['prefix']:'\x0a':_0x55ff7e[_0x1a4e('0x1750')]});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34c9')]=function(_0x146f6e){switch(_0x146f6e['kind']){case 0xf0:case 0xf4:return{'prefix':this[_0x1a4e('0x322a')],'suffix':this[_0x1a4e('0x322a')]};case 0xed:case 0xa:case 0x48:return{'prefix':',\x20'};case 0x113:return{'suffix':','+this[_0x1a4e('0x322a')]};case 0x55:return{'prefix':'\x20'};case 0x97:return{};default:return _0x368e5a['Debug'][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x2569')](_0x146f6e)||_0x368e5a['isClassOrTypeElement'](_0x146f6e)),{'suffix':this[_0x1a4e('0x322a')]};}},_0x2327c6['prototype'][_0x1a4e('0x34ca')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a[_0x1a4e('0x1749')]['assert'](!_0x2327c6[_0x1a4e('0x2cb')]),0xc5===_0x2327c6[_0x1a4e('0x146b')]){var _0x1adc17=_0x368e5a['findChildOfKind'](_0x2327c6,0x25,_0x146f6e),_0xf79407=_0x368e5a[_0x1a4e('0x327f')](_0x2327c6,0x14,_0x146f6e);_0xf79407?(this[_0x1a4e('0x34b1')](_0x146f6e,_0xf79407['getStart'](_0x146f6e),[_0x368e5a['createToken'](0x5a),_0x368e5a['createIdentifier'](_0x55ff7e)],{'joiner':'\x20'}),_0x5ac47e(this,_0x146f6e,_0x1adc17)):(this[_0x1a4e('0x34b7')](_0x146f6e,_0x368e5a[_0x1a4e('0x10f7')](_0x2327c6[_0x1a4e('0x111a')])[_0x1a4e('0x31d6')](_0x146f6e),_0x1a4e('0x165')+_0x55ff7e+'('),this[_0x1a4e('0x34aa')](_0x146f6e,_0x1adc17,_0x368e5a[_0x1a4e('0x28b6')](0x15))),0xda!==_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0x146b')]&&(this[_0x1a4e('0x34b1')](_0x146f6e,_0x2327c6[_0x1a4e('0x8f2')][_0x1a4e('0x31d6')](_0x146f6e),[_0x368e5a[_0x1a4e('0x28b6')](0x12),_0x368e5a[_0x1a4e('0x28b6')](0x61)],{'joiner':'\x20','suffix':'\x20'}),this[_0x1a4e('0x34b1')](_0x146f6e,_0x2327c6[_0x1a4e('0x8f2')]['end'],[_0x368e5a['createToken'](0x1a),_0x368e5a[_0x1a4e('0x28b6')](0x13)],{'joiner':'\x20'}));}else{var _0x2c9ec9=_0x368e5a[_0x1a4e('0x327f')](_0x2327c6,0xc4===_0x2327c6[_0x1a4e('0x146b')]?0x5a:0x4c,_0x146f6e)[_0x1a4e('0xca')];this[_0x1a4e('0x34b0')](_0x146f6e,_0x2c9ec9,_0x368e5a[_0x1a4e('0x2893')](_0x55ff7e),{'prefix':'\x20'});}},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34cb')]=function(_0x368e5a,_0x146f6e){this[_0x1a4e('0x34b7')](_0x368e5a,_0x146f6e['getStart'](_0x368e5a),_0x1a4e('0x34cc'));},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34cd')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(void 0x0===_0x1adc17&&(_0x1adc17=_0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x346b')][_0x1a4e('0x3497')](_0x2327c6,_0x146f6e)),_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x2332')](_0x1adc17,_0x2327c6);if(!(_0xf79407<0x0)){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x31d7')]();if(_0xf79407!==_0x1adc17[_0x1a4e('0x1e')]-0x1){var _0x420b32=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6[_0x1a4e('0xca')]);if(_0x420b32&&_0x517c45(_0x2327c6,_0x420b32)){var _0x1b06ad=_0x368e5a['getLineAndCharacterOfPosition'](_0x146f6e,_0x326eae(_0x146f6e[_0x1a4e('0xe04')],_0x1adc17[_0xf79407+0x1][_0x1a4e('0x31d5')]())),_0x56674b=_0x368e5a[_0x1a4e('0x22c1')](_0x146f6e,_0x420b32['end']),_0xf6c2e3=void 0x0,_0x5dfdeb=void 0x0;_0x56674b[_0x1a4e('0xc5')]===_0x1b06ad[_0x1a4e('0xc5')]?(_0x5dfdeb=_0x420b32[_0x1a4e('0xca')],_0xf6c2e3=function(_0x368e5a){for(var _0x146f6e='',_0x2327c6=0x0;_0x2327c6<_0x368e5a;_0x2327c6++)_0x146f6e+='\x20';return _0x146f6e;}(_0x1b06ad['character']-_0x56674b[_0x1a4e('0x2324')])):_0x5dfdeb=_0x368e5a[_0x1a4e('0x2322')](_0x1b06ad[_0x1a4e('0xc5')],_0x146f6e);var _0x50f7e4=''+_0x368e5a[_0x1a4e('0x22ba')](_0x420b32['kind'])+_0x146f6e[_0x1a4e('0xe04')]['substring'](_0x420b32[_0x1a4e('0xca')],_0x1adc17[_0xf79407+0x1][_0x1a4e('0x31d6')](_0x146f6e));this['replaceRange'](_0x146f6e,_0x368e5a['createRange'](_0x5dfdeb,_0x1adc17[_0xf79407+0x1]['getStart'](_0x146f6e)),_0x55ff7e,{'prefix':_0xf6c2e3,'suffix':_0x50f7e4});}}else{var _0x536376=_0x2327c6['getStart'](_0x146f6e),_0x4064b8=_0x368e5a[_0x1a4e('0x31e0')](_0x536376,_0x146f6e),_0x114d3b=void 0x0,_0x485281=!0x1;if(0x1===_0x1adc17[_0x1a4e('0x1e')])_0x114d3b=0x1b;else{var _0x2d2bae=_0x368e5a['findPrecedingToken'](_0x2327c6['pos'],_0x146f6e);_0x114d3b=_0x517c45(_0x2327c6,_0x2d2bae)?_0x2d2bae[_0x1a4e('0x146b')]:0x1b,_0x485281=_0x368e5a['getLineStartPositionForPosition'](_0x1adc17[_0xf79407-0x1][_0x1a4e('0x31d6')](_0x146f6e),_0x146f6e)!==_0x4064b8;}if(function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x2327c6;_0x55ff7e<_0x146f6e['length'];){var _0x1adc17=_0x146f6e[_0x1a4e('0x913')](_0x55ff7e);if(!_0x368e5a[_0x1a4e('0x242b')](_0x1adc17))return 0x2f===_0x1adc17;_0x55ff7e++;}return!0x1;}(_0x146f6e['text'],_0x2327c6['end'])&&(_0x485281=!0x0),_0x485281){this['replaceRange'](_0x146f6e,_0x368e5a[_0x1a4e('0x247d')](_0x2c9ec9),_0x368e5a[_0x1a4e('0x28b6')](_0x114d3b));var _0x54cc1a=_0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x346b')][_0x1a4e('0x3475')](_0x4064b8,_0x536376,_0x146f6e,this[_0x1a4e('0x34a2')][_0x1a4e('0x8dc')]),_0x12ffcf=_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e[_0x1a4e('0xe04')],_0x2c9ec9,!0x0,!0x1);_0x12ffcf!==_0x2c9ec9&&_0x368e5a[_0x1a4e('0x22c3')](_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x913')](_0x12ffcf-0x1))&&_0x12ffcf--,this[_0x1a4e('0x34aa')](_0x146f6e,_0x368e5a['createRange'](_0x12ffcf),_0x55ff7e,{'indentation':_0x54cc1a,'prefix':this['newLineCharacter']});}else this[_0x1a4e('0x34aa')](_0x146f6e,_0x368e5a[_0x1a4e('0x247d')](_0x2c9ec9),_0x55ff7e,{'prefix':_0x368e5a['tokenToString'](_0x114d3b)+'\x20'});}}}else _0x368e5a['Debug'][_0x1a4e('0x1709')](_0x1a4e('0x34ce'));},_0x2327c6[_0x1a4e('0xa')]['finishClassesWithNodesInsertedAtStart']=function(){var _0x146f6e=this;this[_0x1a4e('0x34a5')]['forEach'](function(_0x2327c6){var _0x55ff7e=_0x2327c6['node'],_0x1adc17=_0x2327c6[_0x1a4e('0x27e7')],_0xf79407=_0x36db1b(_0x55ff7e,_0x1adc17),_0x2c9ec9=_0xf79407[0x0],_0x420b32=_0xf79407[0x1];_0x368e5a[_0x1a4e('0x2487')](_0x2c9ec9,_0x420b32,_0x1adc17)&&_0x2c9ec9!==_0x420b32-0x1&&_0x146f6e[_0x1a4e('0x34a7')](_0x1adc17,_0x368e5a[_0x1a4e('0x247d')](_0x2c9ec9,_0x420b32-0x1));});},_0x2327c6[_0x1a4e('0xa')]['finishDeleteDeclarations']=function(){for(var _0x146f6e=this,_0x2327c6=new _0x368e5a['NodeSet'](),_0x55ff7e=function(_0x146f6e,_0x55ff7e){_0x1adc17[_0x1a4e('0x34a6')][_0x1a4e('0x1c2')](function(_0x2327c6){return _0x2327c6[_0x1a4e('0x27e7')]===_0x146f6e&&_0x368e5a[_0x1a4e('0x34cf')](_0x2327c6[_0x1a4e('0x80')],_0x55ff7e);})||(_0x368e5a[_0x1a4e('0x15')](_0x55ff7e)?_0x1adc17['deleteRange'](_0x146f6e,_0x368e5a[_0x1a4e('0x25f1')](_0x55ff7e)):_0x5577ff['deleteDeclaration'](_0x1adc17,_0x2327c6,_0x146f6e,_0x55ff7e));},_0x1adc17=this,_0xf79407=0x0,_0x2c9ec9=this[_0x1a4e('0x34a6')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x55ff7e(_0x420b32[_0x1a4e('0x27e7')],_0x420b32['node']);}_0x2327c6[_0x1a4e('0x3b')](function(_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x288f')](),_0xf79407=_0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x346b')][_0x1a4e('0x3497')](_0x55ff7e,_0x1adc17);if(_0x55ff7e===_0x368e5a[_0x1a4e('0x10b1')](_0xf79407)){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x109d')](_0xf79407,function(_0x368e5a){return!_0x2327c6[_0x1a4e('0x178')](_0x368e5a);},_0xf79407[_0x1a4e('0x1e')]-0x2);-0x1!==_0x2c9ec9&&_0x146f6e[_0x1a4e('0x34a7')](_0x1adc17,{'pos':_0xf79407[_0x2c9ec9][_0x1a4e('0xca')],'end':_0x5a966a(_0x1adc17,_0xf79407[_0x2c9ec9+0x1])});}});},_0x2327c6['prototype'][_0x1a4e('0x3379')]=function(_0x368e5a){this[_0x1a4e('0x34d0')](),this[_0x1a4e('0x34d1')]();for(var _0x146f6e=_0x50f7e4[_0x1a4e('0x34d2')](this[_0x1a4e('0x34a3')],this['newLineCharacter'],this['formatContext'],_0x368e5a),_0x2327c6=0x0,_0x55ff7e=this[_0x1a4e('0x34a4')];_0x2327c6<_0x55ff7e[_0x1a4e('0x1e')];_0x2327c6++){var _0x1adc17=_0x55ff7e[_0x2327c6],_0xf79407=_0x1adc17[_0x1a4e('0x2fdc')],_0x2c9ec9=_0x1adc17[_0x1a4e('0x1b39')],_0x420b32=_0x1adc17[_0x1a4e('0x2366')];_0x146f6e[_0x1a4e('0x46')](_0x50f7e4['newFileChanges'](_0xf79407,_0x2c9ec9,_0x420b32,this['newLineCharacter'],this[_0x1a4e('0x34a2')]));}return _0x146f6e;},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x34d3')]=function(_0x368e5a,_0x146f6e,_0x2327c6){this[_0x1a4e('0x34a4')][_0x1a4e('0x46')]({'oldFile':_0x368e5a,'fileName':_0x146f6e,'statements':_0x2327c6});},_0x2327c6;}();function _0x5a966a(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x22c6')](_0x146f6e['text'],_0xf6c2e3(_0x146f6e,_0x2327c6,{},_0x2c9ec9[_0x1a4e('0x349b')]),!0x1,!0x0);}function _0x36db1b(_0x146f6e,_0x2327c6){return[_0x368e5a[_0x1a4e('0x327f')](_0x146f6e,0x12,_0x2327c6)[_0x1a4e('0xca')],_0x368e5a['findChildOfKind'](_0x146f6e,0x13,_0x2327c6)['end']];}function _0x596c5a(_0x146f6e){return _0x368e5a[_0x1a4e('0x236f')](_0x146f6e)?_0x146f6e[_0x1a4e('0x13')]:_0x146f6e[_0x1a4e('0x2369')];}function _0xf73a4f(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x2327c6[_0x1a4e('0x1e')]-0x1;_0x55ff7e>=0x0;_0x55ff7e--){var _0x1adc17=_0x2327c6[_0x55ff7e],_0xf79407=_0x1adc17[_0x1a4e('0x24c0')],_0x2c9ec9=_0x1adc17[_0x1a4e('0x323b')];_0x146f6e=''+_0x146f6e[_0x1a4e('0x281')](0x0,_0xf79407[_0x1a4e('0xc9')])+_0x2c9ec9+_0x146f6e['substring'](_0x368e5a[_0x1a4e('0x24b4')](_0xf79407));}return _0x146f6e;}function _0x4cc9c7(_0x146f6e){var _0x55ff7e=_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x4cc9c7,_0x368e5a[_0x1a4e('0x28ce')],_0x54adf4,_0x4cc9c7),_0xf79407=_0x368e5a['nodeIsSynthesized'](_0x55ff7e)?_0x55ff7e:Object[_0x1a4e('0x7')](_0x55ff7e);return _0xf79407[_0x1a4e('0xa4')]=_0x2327c6(_0x146f6e),_0xf79407[_0x1a4e('0xca')]=_0x1adc17(_0x146f6e),_0xf79407;}function _0x54adf4(_0x146f6e,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32);if(!_0x1b06ad)return _0x1b06ad;var _0x326eae=_0x1b06ad===_0x146f6e?_0x368e5a[_0x1a4e('0x28d1')](_0x1b06ad[_0x1a4e('0x78')](0x0)):_0x1b06ad;return _0x326eae[_0x1a4e('0xa4')]=_0x2327c6(_0x146f6e),_0x326eae[_0x1a4e('0xca')]=_0x1adc17(_0x146f6e),_0x326eae;}_0x146f6e['ChangeTracker']=_0x536376,_0x146f6e['getNewFileText']=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x50f7e4[_0x1a4e('0x34d4')](void 0x0,_0x146f6e,_0x368e5a,_0x2327c6,_0x55ff7e);},function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x1adc17[_0x1a4e('0x21')](function(_0x368e5a){return _0x55ff7e(_0x368e5a,_0x146f6e,_0xf79407)[_0x1a4e('0xe04')];})[_0x1a4e('0x9e')](_0xf79407),_0x1b06ad=_0x368e5a[_0x1a4e('0x262c')](_0x1a4e('0x34d5'),_0x420b32,0x6,!0x0,_0x2327c6);return _0xf73a4f(_0x420b32,_0x368e5a['formatting'][_0x1a4e('0x348c')](_0x1b06ad,_0x2c9ec9))+_0xf79407;}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=new _0x111830(_0x55ff7e),_0xf79407='\x0a'===_0x55ff7e?0x1:0x0;return _0x368e5a[_0x1a4e('0x298e')]({'newLine':_0xf79407,'neverAsciiEscape':!0x0},_0x1adc17)['writeNode'](0x4,_0x146f6e,_0x2327c6,_0x1adc17),{'text':_0x1adc17[_0x1a4e('0x230e')](),'node':_0x4cc9c7(_0x146f6e)};}_0x146f6e['getTextChangesFromChanges']=function(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){return _0x368e5a[_0x1a4e('0x14ea')](_0x146f6e,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x27e7')][_0x1a4e('0x64')];})['map'](function(_0x146f6e){for(var _0x2c9ec9=_0x146f6e[0x0][_0x1a4e('0x27e7')],_0x420b32=_0x368e5a[_0x1a4e('0x171f')](_0x146f6e,function(_0x368e5a,_0x146f6e){return _0x368e5a['range']['pos']-_0x146f6e['range'][_0x1a4e('0xa4')]||_0x368e5a[_0x1a4e('0x1075')][_0x1a4e('0xca')]-_0x146f6e['range']['end'];}),_0x326eae=function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x420b32[_0x146f6e][_0x1a4e('0x1075')][_0x1a4e('0xca')]<=_0x420b32[_0x146f6e+0x1][_0x1a4e('0x1075')][_0x1a4e('0xa4')],'Changes\x20overlap',function(){return JSON['stringify'](_0x420b32[_0x146f6e]['range'])+'\x20and\x20'+JSON[_0x1a4e('0xd7')](_0x420b32[_0x146f6e+0x1][_0x1a4e('0x1075')]);});},_0x56674b=0x0;_0x56674b<_0x420b32[_0x1a4e('0x1e')]-0x1;_0x56674b++)_0x326eae(_0x56674b);var _0xf6c2e3=_0x420b32[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x34d6')](_0x368e5a[_0x1a4e('0x31ff')](_0x146f6e['range']),function(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){if(_0x146f6e[_0x1a4e('0x146b')]===_0x1b06ad[_0x1a4e('0x349e')])return'';if(_0x146f6e[_0x1a4e('0x146b')]===_0x1b06ad[_0x1a4e('0x34a1')])return _0x146f6e['text'];var _0x420b32=_0x146f6e[_0x1a4e('0x8dc')],_0x326eae=void 0x0===_0x420b32?{}:_0x420b32,_0x56674b=_0x146f6e[_0x1a4e('0x1075')]['pos'],_0xf6c2e3=function(_0x146f6e){return function(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=_0xf79407[_0x1a4e('0x347b')],_0x56674b=_0xf79407[_0x1a4e('0x1750')],_0xf6c2e3=_0xf79407['delta'],_0x5dfdeb=_0x55ff7e(_0x146f6e,_0x2327c6,_0x2c9ec9),_0x517c45=_0x5dfdeb[_0x1a4e('0x80')],_0x50f7e4=_0x5dfdeb[_0x1a4e('0xe04')];_0x1b06ad&&_0x1b06ad(_0x517c45,_0x50f7e4);var _0x536376=_0x420b32[_0x1a4e('0x8dc')],_0x5a966a=void 0x0!==_0x326eae?_0x326eae:_0x368e5a[_0x1a4e('0x31dc')]['SmartIndenter'][_0x1a4e('0x3479')](_0x1adc17,_0x2327c6,_0x536376,_0x56674b===_0x2c9ec9||_0x368e5a['getLineStartPositionForPosition'](_0x1adc17,_0x2327c6)===_0x1adc17);void 0x0===_0xf6c2e3&&(_0xf6c2e3=_0x368e5a['formatting']['SmartIndenter'][_0x1a4e('0x346d')](_0x420b32['options'],_0x146f6e)&&_0x536376[_0x1a4e('0x346e')]||0x0);var _0x36db1b={'text':_0x50f7e4,'getLineAndCharacterOfPosition':function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22c1')](this,_0x146f6e);}},_0x596c5a=_0x368e5a['formatting'][_0x1a4e('0x34d7')](_0x517c45,_0x36db1b,_0x2327c6[_0x1a4e('0x22f7')],_0x5a966a,_0xf6c2e3,_0x420b32);return _0xf73a4f(_0x50f7e4,_0x596c5a);}(_0x146f6e,_0x2327c6,_0x56674b,_0x326eae,_0x1adc17,_0xf79407,_0x2c9ec9);},_0x5dfdeb=_0x146f6e['kind']===_0x1b06ad[_0x1a4e('0x34a0')]?_0x146f6e['nodes']['map'](function(_0x146f6e){return _0x368e5a['removeSuffix'](_0xf6c2e3(_0x146f6e),_0x1adc17);})[_0x1a4e('0x9e')](_0x146f6e[_0x1a4e('0x8dc')][_0x1a4e('0x34d8')]||_0x1adc17):_0xf6c2e3(_0x146f6e[_0x1a4e('0x80')]),_0x517c45=_0x326eae[_0x1a4e('0x34d9')]||void 0x0!==_0x326eae[_0x1a4e('0x347b')]||_0x368e5a[_0x1a4e('0x31e0')](_0x56674b,_0x2327c6)===_0x56674b?_0x5dfdeb:_0x5dfdeb[_0x1a4e('0x115')](/^\s+/,'');return(_0x326eae[_0x1a4e('0x1750')]||'')+_0x517c45+(_0x326eae[_0x1a4e('0x1751')]||'');}(_0x146f6e,_0x2c9ec9,_0x2327c6,_0x1adc17,_0xf79407));});return{'fileName':_0x2c9ec9['fileName'],'textChanges':_0xf6c2e3};});},_0x146f6e[_0x1a4e('0x34da')]=function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x2327c6(_0x146f6e,_0x368e5a[_0x1a4e('0x25c6')](_0x55ff7e),_0x1adc17,_0xf79407,_0x2c9ec9);return{'fileName':_0x55ff7e,'textChanges':[_0x368e5a[_0x1a4e('0x34d6')](_0x368e5a['createTextSpan'](0x0,0x0),_0x420b32)],'isNewFile':!0x0};},_0x146f6e[_0x1a4e('0x34d4')]=_0x2327c6,_0x146f6e[_0x1a4e('0x34db')]=_0x55ff7e;}(_0x50f7e4||(_0x50f7e4={})),_0x146f6e[_0x1a4e('0x34dc')]=_0xf73a4f;var _0x5577ff,_0x111830=function(){function _0x146f6e(_0x146f6e){var _0x2327c6=this;this[_0x1a4e('0x34dd')]=0x0,this[_0x1a4e('0x34de')]=_0x368e5a[_0x1a4e('0x2433')](_0x146f6e),this[_0x1a4e('0x2df1')]=function(_0x368e5a,_0x146f6e,_0x1adc17){_0x146f6e&&_0x55ff7e(_0x146f6e,_0x2327c6[_0x1a4e('0x34dd')]),_0x1adc17(_0x368e5a,_0x146f6e),_0x146f6e&&_0xf79407(_0x146f6e,_0x2327c6['lastNonTriviaPosition']);},this['onBeforeEmitNodeArray']=function(_0x368e5a){_0x368e5a&&_0x55ff7e(_0x368e5a,_0x2327c6['lastNonTriviaPosition']);},this[_0x1a4e('0x34df')]=function(_0x368e5a){_0x368e5a&&_0xf79407(_0x368e5a,_0x2327c6[_0x1a4e('0x34dd')]);},this[_0x1a4e('0x2f4e')]=function(_0x368e5a){_0x368e5a&&_0x55ff7e(_0x368e5a,_0x2327c6[_0x1a4e('0x34dd')]);},this[_0x1a4e('0x2f4f')]=function(_0x368e5a){_0x368e5a&&_0xf79407(_0x368e5a,_0x2327c6[_0x1a4e('0x34dd')]);};}return _0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x34e0')]=function(_0x146f6e,_0x2327c6){if(_0x2327c6||!function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22c6')](_0x146f6e,0x0)===_0x146f6e[_0x1a4e('0x1e')];}(_0x146f6e)){this[_0x1a4e('0x34dd')]=this[_0x1a4e('0x34de')]['getTextPos']();for(var _0x55ff7e=0x0;_0x368e5a[_0x1a4e('0x22c2')](_0x146f6e['charCodeAt'](_0x146f6e[_0x1a4e('0x1e')]-_0x55ff7e-0x1));)_0x55ff7e++;this[_0x1a4e('0x34dd')]-=_0x55ff7e;}},_0x146f6e['prototype'][_0x1a4e('0x146')]=function(_0x368e5a){this[_0x1a4e('0x34de')]['write'](_0x368e5a),this[_0x1a4e('0x34e0')](_0x368e5a,!0x1);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2429')]=function(_0x368e5a){this[_0x1a4e('0x34de')][_0x1a4e('0x2429')](_0x368e5a);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x230f')]=function(_0x368e5a){this[_0x1a4e('0x34de')][_0x1a4e('0x230f')](_0x368e5a),this['setLastNonTriviaPosition'](_0x368e5a,!0x1);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2439')]=function(_0x368e5a){this[_0x1a4e('0x34de')]['writeOperator'](_0x368e5a),this['setLastNonTriviaPosition'](_0x368e5a,!0x1);},_0x146f6e[_0x1a4e('0xa')]['writePunctuation']=function(_0x368e5a){this['writer'][_0x1a4e('0x2438')](_0x368e5a),this[_0x1a4e('0x34e0')](_0x368e5a,!0x1);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2435')]=function(_0x368e5a){this[_0x1a4e('0x34de')][_0x1a4e('0x2435')](_0x368e5a),this[_0x1a4e('0x34e0')](_0x368e5a,!0x1);},_0x146f6e['prototype']['writeParameter']=function(_0x368e5a){this['writer'][_0x1a4e('0x243a')](_0x368e5a),this['setLastNonTriviaPosition'](_0x368e5a,!0x1);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x243b')]=function(_0x368e5a){this[_0x1a4e('0x34de')][_0x1a4e('0x243b')](_0x368e5a),this[_0x1a4e('0x34e0')](_0x368e5a,!0x1);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2427')]=function(_0x368e5a){this[_0x1a4e('0x34de')][_0x1a4e('0x2427')](_0x368e5a),this[_0x1a4e('0x34e0')](_0x368e5a,!0x1);},_0x146f6e['prototype'][_0x1a4e('0x2437')]=function(_0x368e5a){this[_0x1a4e('0x34de')][_0x1a4e('0x2437')](_0x368e5a),this[_0x1a4e('0x34e0')](_0x368e5a,!0x1);},_0x146f6e['prototype'][_0x1a4e('0x2f65')]=function(_0x368e5a,_0x146f6e){this['writer'][_0x1a4e('0x2f65')](_0x368e5a,_0x146f6e),this['setLastNonTriviaPosition'](_0x368e5a,!0x1);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2426')]=function(){this[_0x1a4e('0x34de')]['writeLine']();},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2f66')]=function(){this['writer'][_0x1a4e('0x2f66')]();},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x243c')]=function(){this[_0x1a4e('0x34de')][_0x1a4e('0x243c')]();},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x230e')]=function(){return this[_0x1a4e('0x34de')][_0x1a4e('0x230e')]();},_0x146f6e['prototype'][_0x1a4e('0x242a')]=function(_0x368e5a){this['writer']['rawWrite'](_0x368e5a),this[_0x1a4e('0x34e0')](_0x368e5a,!0x1);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2436')]=function(_0x368e5a){this[_0x1a4e('0x34de')][_0x1a4e('0x2436')](_0x368e5a),this[_0x1a4e('0x34e0')](_0x368e5a,!0x0);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2615')]=function(){return this[_0x1a4e('0x34de')][_0x1a4e('0x2615')]();},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2f6e')]=function(){return this[_0x1a4e('0x34de')]['getLine']();},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2f6f')]=function(){return this[_0x1a4e('0x34de')][_0x1a4e('0x2f6f')]();},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x245a')]=function(){return this[_0x1a4e('0x34de')]['getIndent']();},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2f6b')]=function(){return this[_0x1a4e('0x34de')][_0x1a4e('0x2f6b')]();},_0x146f6e['prototype'][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x34de')][_0x1a4e('0xb5')](),this[_0x1a4e('0x34dd')]=0x0;},_0x146f6e;}();function _0x135e37(_0x146f6e,_0x2327c6){return!(_0x368e5a[_0x1a4e('0x31f4')](_0x146f6e,_0x2327c6)||_0x368e5a[_0x1a4e('0x31eb')](_0x146f6e,_0x2327c6)||_0x368e5a[_0x1a4e('0x31ec')](_0x146f6e,_0x2327c6)||_0x368e5a[_0x1a4e('0x31ed')](_0x146f6e,_0x2327c6));}function _0x5ac47e(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e={});var _0x1adc17=_0xf6c2e3(_0x146f6e,_0x2327c6,_0x55ff7e,_0x2c9ec9['FullStart']),_0xf79407=_0x5dfdeb(_0x146f6e,_0x2327c6,_0x55ff7e);_0x368e5a[_0x1a4e('0x34a7')](_0x146f6e,{'pos':_0x1adc17,'end':_0xf79407});}function _0x47fae8(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x346b')][_0x1a4e('0x3497')](_0x1adc17,_0x55ff7e)),_0x2c9ec9=_0x368e5a[_0x1a4e('0x2332')](_0xf79407,_0x1adc17);_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](-0x1!==_0x2c9ec9),0x1!==_0xf79407[_0x1a4e('0x1e')]?(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x2327c6['has'](_0x1adc17),_0x1a4e('0x34e1')),_0x2327c6['add'](_0x1adc17),_0x146f6e[_0x1a4e('0x34a7')](_0x55ff7e,{'pos':_0x5a966a(_0x55ff7e,_0x1adc17),'end':_0x2c9ec9===_0xf79407[_0x1a4e('0x1e')]-0x1?_0x5dfdeb(_0x55ff7e,_0x1adc17,{}):_0x5a966a(_0x55ff7e,_0xf79407[_0x2c9ec9+0x1])})):_0x5ac47e(_0x146f6e,_0x55ff7e,_0x1adc17);}_0x146f6e[_0x1a4e('0x34e2')]=_0x135e37,function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]){var _0x1adc17=_0x368e5a['Debug'][_0x1a4e('0x1744')](_0x368e5a['getTokenAtPosition'](_0x2327c6,_0x55ff7e[_0x1a4e('0xa4')]-0x1));_0x146f6e[_0x1a4e('0x34a7')](_0x2327c6,{'pos':_0x1adc17[_0x1a4e('0x31d6')](_0x2327c6),'end':_0x55ff7e['end']});}else{_0x5ac47e(_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x2a5e')](_0x55ff7e,0xf9));}}_0x146f6e[_0x1a4e('0x34e3')]=function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){switch(_0xf79407[_0x1a4e('0x146b')]){case 0x97:var _0x2c9ec9=_0xf79407[_0x1a4e('0x11c')];_0x368e5a[_0x1a4e('0x23e0')](_0x2c9ec9)&&0x1===_0x2c9ec9[_0x1a4e('0x111a')][_0x1a4e('0x1e')]&&!_0x368e5a[_0x1a4e('0x327f')](_0x2c9ec9,0x14,_0x1adc17)?_0x146f6e[_0x1a4e('0x34ad')](_0x1adc17,_0xf79407,'()'):_0x47fae8(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407);break;case 0xf9:_0x5ac47e(_0x146f6e,_0x1adc17,_0xf79407,_0xf79407===_0x1adc17[_0x1a4e('0x10ca')][0x0]['parent']?{'useNonAdjustedStartPosition':!0x0,'useNonAdjustedEndPosition':!0x1}:void 0x0);break;case 0xba:var _0x420b32=_0xf79407[_0x1a4e('0x11c')];0xb9===_0x420b32[_0x1a4e('0x146b')]&&_0xf79407!==_0x368e5a[_0x1a4e('0x10b1')](_0x420b32[_0x1a4e('0x2398')])?_0x5ac47e(_0x146f6e,_0x1adc17,_0xf79407):_0x47fae8(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407);break;case 0xed:!function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x1adc17[_0x1a4e('0x11c')];if(0x112!==_0xf79407[_0x1a4e('0x146b')])if(0x1===_0xf79407[_0x1a4e('0x22e5')][_0x1a4e('0x1e')]){var _0x2c9ec9=_0xf79407['parent'];switch(_0x2c9ec9[_0x1a4e('0x146b')]){case 0xe3:case 0xe2:_0x146f6e['replaceNode'](_0x55ff7e,_0x1adc17,_0x368e5a[_0x1a4e('0x2c62')]());break;case 0xe1:_0x5ac47e(_0x146f6e,_0x55ff7e,_0xf79407);break;case 0xdb:_0x5ac47e(_0x146f6e,_0x55ff7e,_0x2c9ec9);break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2c9ec9);}}else _0x47fae8(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);else _0x146f6e[_0x1a4e('0x34e4')](_0x55ff7e,_0x368e5a['findChildOfKind'](_0xf79407,0x14,_0x55ff7e),_0x368e5a[_0x1a4e('0x327f')](_0xf79407,0x15,_0x55ff7e));}(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407);break;case 0x96:_0x47fae8(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407);break;case 0xfd:var _0x1b06ad=_0xf79407['parent'];0x1===_0x1b06ad[_0x1a4e('0x2398')][_0x1a4e('0x1e')]?_0x2327c6(_0x146f6e,_0x1adc17,_0x1b06ad):_0x47fae8(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407);break;case 0xfb:_0x2327c6(_0x146f6e,_0x1adc17,_0xf79407);break;default:_0x368e5a[_0x1a4e('0x2d8d')](_0xf79407[_0x1a4e('0x11c')])&&_0xf79407['parent']['name']===_0xf79407?function(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x55ff7e[_0x1a4e('0x23c7')]){var _0x1adc17=_0x55ff7e['name'][_0x1a4e('0x31d6')](_0x2327c6),_0xf79407=_0x368e5a['getTokenAtPosition'](_0x2327c6,_0x55ff7e[_0x1a4e('0x2cb')][_0x1a4e('0xca')]);if(_0xf79407&&0x1b===_0xf79407['kind']){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x22c6')](_0x2327c6[_0x1a4e('0xe04')],_0xf79407[_0x1a4e('0xca')],!0x1,!0x0);_0x146f6e[_0x1a4e('0x34a7')](_0x2327c6,{'pos':_0x1adc17,'end':_0x2c9ec9});}else _0x5ac47e(_0x146f6e,_0x2327c6,_0x55ff7e[_0x1a4e('0x2cb')]);}else _0x5ac47e(_0x146f6e,_0x2327c6,_0x55ff7e[_0x1a4e('0x11c')]);}(_0x146f6e,_0x1adc17,_0xf79407['parent']):_0x368e5a[_0x1a4e('0x255b')](_0xf79407[_0x1a4e('0x11c')])?_0x47fae8(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407):_0x5ac47e(_0x146f6e,_0x1adc17,_0xf79407,0x1a===_0xf79407['kind']?{'useNonAdjustedEndPosition':!0x0}:void 0x0);}};}(_0x5577ff||(_0x5577ff={})),_0x146f6e['deleteNode']=_0x5ac47e;}(_0x368e5a['textChanges']||(_0x368e5a[_0x1a4e('0x323a')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x368e5a['createMultiMap'](),_0x55ff7e=_0x368e5a[_0x1a4e('0x1772')]();function _0x1adc17(_0x146f6e){return _0x368e5a[_0x1a4e('0x15')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2581')](_0x368e5a[_0x1a4e('0x2582')](_0x146f6e[0x0]),_0x146f6e[_0x1a4e('0x78')](0x1)):_0x368e5a[_0x1a4e('0x2582')](_0x146f6e);}function _0xf79407(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return{'fixName':_0x368e5a,'description':_0x146f6e,'changes':_0x2327c6,'fixId':_0x55ff7e,'fixAllDescription':_0x1adc17,'commands':_0xf79407?[_0xf79407]:void 0x0};}function _0x2c9ec9(_0x368e5a,_0x146f6e){return{'changes':_0x368e5a,'commands':_0x146f6e};}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=_0x146f6e['program'],_0xf79407=_0x146f6e[_0x1a4e('0x27e7')],_0x2c9ec9=_0x146f6e[_0x1a4e('0x3300')],_0x420b32=0x0,_0x1b06ad=_0x1adc17['getSemanticDiagnostics'](_0xf79407,_0x2c9ec9)[_0x1a4e('0x9a')](_0x368e5a[_0x1a4e('0x33ad')](_0xf79407,_0x1adc17,_0x2c9ec9));_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0x368e5a['contains'](_0x2327c6,_0x326eae[_0x1a4e('0x1617')])&&_0x55ff7e(_0x326eae);}}_0x146f6e[_0x1a4e('0x34e5')]=function(_0x368e5a,_0x146f6e,_0x2327c6){return _0xf79407(_0x368e5a,_0x1adc17(_0x2327c6),_0x146f6e,void 0x0,void 0x0);},_0x146f6e[_0x1a4e('0x34e6')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x2c9ec9,_0x420b32){return _0xf79407(_0x368e5a,_0x1adc17(_0x2327c6),_0x146f6e,_0x55ff7e,_0x1adc17(_0x2c9ec9),_0x420b32);},_0x146f6e[_0x1a4e('0x34e7')]=function(_0x146f6e){for(var _0x1adc17=0x0,_0xf79407=_0x146f6e[_0x1a4e('0x34e8')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x2327c6[_0x1a4e('0x177')](String(_0x2c9ec9),_0x146f6e);}if(_0x146f6e[_0x1a4e('0x34e9')])for(var _0x420b32=0x0,_0x1b06ad=_0x146f6e[_0x1a4e('0x34e9')];_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0x368e5a[_0x1a4e('0x1749')]['assert'](!_0x55ff7e[_0x1a4e('0x178')](_0x326eae)),_0x55ff7e[_0x1a4e('0x17a')](_0x326eae,_0x146f6e);}},_0x146f6e['getSupportedErrorCodes']=function(){return _0x368e5a['arrayFrom'](_0x2327c6[_0x1a4e('0x56')]());},_0x146f6e['getFixes']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x104e')](_0x2327c6[_0x1a4e('0x179')](String(_0x146f6e[_0x1a4e('0x34ea')]))||_0x368e5a[_0x1a4e('0x1700')],function(_0x368e5a){return _0x368e5a[_0x1a4e('0x34eb')](_0x146f6e);});},_0x146f6e['getAllFixes']=function(_0x146f6e){return _0x55ff7e['get'](_0x368e5a[_0x1a4e('0x172f')](_0x146f6e[_0x1a4e('0x34ec')],_0x368e5a[_0x1a4e('0xb19')]))['getAllCodeActions'](_0x146f6e);},_0x146f6e['createCombinedCodeActions']=_0x2c9ec9,_0x146f6e[_0x1a4e('0x34ed')]=function(_0x368e5a,_0x146f6e){return{'fileName':_0x368e5a,'textChanges':_0x146f6e};},_0x146f6e[_0x1a4e('0x34ee')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=[];return _0x2c9ec9(_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')]['with'](_0x146f6e,function(_0x368e5a){return _0x420b32(_0x146f6e,_0x2327c6,function(_0x146f6e){return _0x55ff7e(_0x368e5a,_0x146f6e,_0x1adc17);});}),0x0===_0x1adc17['length']?void 0x0:_0x1adc17);},_0x146f6e[_0x1a4e('0x34ef')]=_0x420b32;}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a['codefix']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){var _0x146f6e,_0x2327c6;_0x146f6e=_0x368e5a[_0x1a4e('0x34f0')]||(_0x368e5a['refactor']={}),_0x2327c6=_0x368e5a[_0x1a4e('0x1772')](),_0x146f6e[_0x1a4e('0x34f1')]=function(_0x368e5a,_0x146f6e){_0x2327c6[_0x1a4e('0x17a')](_0x368e5a,_0x146f6e);},_0x146f6e[_0x1a4e('0x34f2')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1729')](_0x368e5a[_0x1a4e('0x170f')](_0x2327c6[_0x1a4e('0x35b')](),function(_0x368e5a){return _0x146f6e[_0x1a4e('0x3300')]&&_0x146f6e[_0x1a4e('0x3300')][_0x1a4e('0x34f3')]()?void 0x0:_0x368e5a[_0x1a4e('0x34f4')](_0x146f6e);}));},_0x146f6e[_0x1a4e('0x34f5')]=function(_0x368e5a,_0x146f6e,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x179')](_0x146f6e);return _0x1adc17&&_0x1adc17[_0x1a4e('0x34f6')](_0x368e5a,_0x55ff7e);},_0x368e5a['getRefactorContextSpan']=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x34f7')],_0x55ff7e=_0x146f6e[_0x1a4e('0x34f8')];return _0x368e5a[_0x1a4e('0x22fa')](_0x2327c6,void 0x0===_0x55ff7e?_0x2327c6:_0x55ff7e);};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x34f9'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x34fa')][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x55ff7e),_0xf79407=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x368e5a['findAncestor'](_0x1adc17,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2507')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24fc')](_0x146f6e);})),_0x2c9ec9=_0x368e5a['isAsExpression'](_0xf79407)?_0x368e5a[_0x1a4e('0x34fb')](_0xf79407[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x289c')](0x8f)):_0x368e5a[_0x1a4e('0x34fc')](_0x368e5a[_0x1a4e('0x289c')](0x8f),_0xf79407[_0x1a4e('0x2302')]);_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0xf79407[_0x1a4e('0x2302')],_0x2c9ec9);}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0xf79407=_0x368e5a['textChanges'][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0x1adc17(_0x368e5a,_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e[_0x1a4e('0x24c0')]['start']);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x34fd')],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x34fe')])];},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x368e5a,_0x146f6e){return _0x1adc17(_0x368e5a,_0x146f6e[_0x1a4e('0x15c9')],_0x146f6e[_0x1a4e('0xc9')]);});}});}(_0x368e5a['codefix']||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x34ff'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2abb')][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x55ff7e),_0xf79407=_0x368e5a[_0x1a4e('0x283d')](_0x1adc17,_0x368e5a[_0x1a4e('0x24eb')]);_0x368e5a['Debug'][_0x1a4e('0xba0')](!!_0xf79407,_0x1a4e('0x3500'));var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2c67')](_0xf79407[_0x1a4e('0x2302')],void 0x0,void 0x0);_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0xf79407[_0x1a4e('0x2302')],_0x2c9ec9);}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')]['with'](_0x55ff7e,function(_0x368e5a){return _0x1adc17(_0x368e5a,_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e[_0x1a4e('0x24c0')]['start']);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3501')],_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x3502')])];},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x368e5a,_0x146f6e){return _0x1adc17(_0x368e5a,_0x146f6e['file'],_0x146f6e[_0x1a4e('0xc9')]);});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x3503'),_0x55ff7e=[_0x368e5a['Diagnostics'][_0x1a4e('0x3504')][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0x172e')](_0x368e5a[_0x1a4e('0x24ac')](_0x55ff7e[_0x1a4e('0x11c')])?_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:_0x55ff7e[_0x1a4e('0x11c')],_0xf79407);}function _0xf79407(_0x146f6e){return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x254d')](_0x146f6e)||0xed===_0x146f6e[_0x1a4e('0x146b')]||0x99===_0x146f6e['kind']||0x9a===_0x146f6e[_0x1a4e('0x146b')];}(_0x146f6e)&&_0x2c9ec9(_0x146f6e);}function _0x2c9ec9(_0x146f6e){return _0x368e5a[_0x1a4e('0x254d')](_0x146f6e)?_0x146f6e[_0x1a4e('0x111a')]['some'](_0x2c9ec9)||!_0x146f6e[_0x1a4e('0x40')]&&!!_0x368e5a['getJSDocReturnType'](_0x146f6e):!_0x146f6e['type']&&!!_0x368e5a[_0x1a4e('0x2425')](_0x146f6e);}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x368e5a[_0x1a4e('0x254d')](_0x55ff7e)&&(_0x368e5a[_0x1a4e('0x2453')](_0x55ff7e)||_0x55ff7e[_0x1a4e('0x111a')][_0x1a4e('0x1c2')](function(_0x146f6e){return!!_0x368e5a[_0x1a4e('0x2425')](_0x146f6e);}))){if(!_0x55ff7e[_0x1a4e('0x23d7')]){var _0x1adc17=_0x368e5a[_0x1a4e('0x2454')](_0x55ff7e);_0x1adc17[_0x1a4e('0x1e')]&&_0x146f6e[_0x1a4e('0x34bb')](_0x2327c6,_0x55ff7e,_0x1adc17);}var _0xf79407=_0x368e5a['isArrowFunction'](_0x55ff7e)&&!_0x368e5a[_0x1a4e('0x327f')](_0x55ff7e,0x14,_0x2327c6);_0xf79407&&_0x146f6e[_0x1a4e('0x34b3')](_0x2327c6,_0x368e5a['first'](_0x55ff7e[_0x1a4e('0x111a')]),_0x368e5a[_0x1a4e('0x28b6')](0x14));for(var _0x2c9ec9=0x0,_0x420b32=_0x55ff7e['parameters'];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x326eae=_0x420b32[_0x2c9ec9];if(!_0x326eae[_0x1a4e('0x40')]){var _0x56674b=_0x368e5a[_0x1a4e('0x2425')](_0x326eae);_0x56674b&&_0x146f6e[_0x1a4e('0x34ba')](_0x2327c6,_0x326eae,_0x1b06ad(_0x56674b));}}if(_0xf79407&&_0x146f6e[_0x1a4e('0x321c')](_0x2327c6,_0x368e5a[_0x1a4e('0x10b1')](_0x55ff7e[_0x1a4e('0x111a')]),_0x368e5a[_0x1a4e('0x28b6')](0x15)),!_0x55ff7e[_0x1a4e('0x40')]){var _0x46ea5a=_0x368e5a[_0x1a4e('0x2453')](_0x55ff7e);_0x46ea5a&&_0x146f6e[_0x1a4e('0x34ba')](_0x2327c6,_0x55ff7e,_0x1b06ad(_0x46ea5a));}}else{var _0x3c071a=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x368e5a['getJSDocType'](_0x55ff7e));_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x55ff7e[_0x1a4e('0x40')]),_0x146f6e[_0x1a4e('0x34ba')](_0x2327c6,_0x55ff7e,_0x1b06ad(_0x3c071a));}}function _0x1b06ad(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x11c:case 0x11d:return _0x368e5a[_0x1a4e('0x28a5')]('any',_0x368e5a[_0x1a4e('0x1700')]);case 0x120:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c51')]([_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x40')],_0x1b06ad),_0x368e5a['createTypeReferenceNode'](_0x1a4e('0x3'),_0x368e5a[_0x1a4e('0x1700')])]);}(_0x146f6e);case 0x11f:return _0x1b06ad(_0x146f6e[_0x1a4e('0x40')]);case 0x11e:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c51')]([_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['type'],_0x1b06ad),_0x368e5a['createTypeReferenceNode'](_0x1a4e('0xe7f'),_0x368e5a['emptyArray'])]);}(_0x146f6e);case 0x122:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x28a6')](_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e['type'],_0x1b06ad));}(_0x146f6e);case 0x121:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2abd')](_0x368e5a[_0x1a4e('0x1700')],_0x146f6e['parameters'][_0x1a4e('0x21')](_0x326eae),_0x146f6e[_0x1a4e('0x40')]);}(_0x146f6e);case 0xa4:return function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0xe7d')],_0x55ff7e=_0x146f6e[_0x1a4e('0x2365')];if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0xe7d')])){if(_0x368e5a['isJSDocIndexSignature'](_0x146f6e))return function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,0x87===_0x146f6e[_0x1a4e('0x2365')][0x0][_0x1a4e('0x146b')]?'n':'s',void 0x0,_0x368e5a[_0x1a4e('0x28a5')](0x87===_0x146f6e['typeArguments'][0x0][_0x1a4e('0x146b')]?_0x1a4e('0x3d'):'string',[]),void 0x0),_0x55ff7e=_0x368e5a['createTypeLiteralNode']([_0x368e5a['createIndexSignature'](void 0x0,void 0x0,[_0x2327c6],_0x146f6e[_0x1a4e('0x2365')][0x1])]);return _0x368e5a[_0x1a4e('0x2892')](_0x55ff7e,0x1),_0x55ff7e;}(_0x146f6e);var _0x1adc17=_0x146f6e[_0x1a4e('0xe7d')][_0x1a4e('0xe04')];switch(_0x146f6e['typeName'][_0x1a4e('0xe04')]){case _0x1a4e('0x1011'):case'Boolean':case _0x1a4e('0xfb5'):case _0x1a4e('0x16da'):_0x1adc17=_0x1adc17['toLowerCase']();break;case _0x1a4e('0xf12'):case _0x1a4e('0xf27'):case _0x1a4e('0x12d4'):_0x1adc17=_0x1adc17[0x0][_0x1a4e('0x257')]()+_0x1adc17['slice'](0x1);}_0x2327c6=_0x368e5a[_0x1a4e('0x2893')](_0x1adc17),_0x55ff7e='Array'!==_0x1adc17&&_0x1a4e('0xf55')!==_0x1adc17||_0x146f6e[_0x1a4e('0x2365')]?_0x368e5a[_0x1a4e('0x2d77')](_0x146f6e[_0x1a4e('0x2365')],_0x1b06ad):_0x368e5a[_0x1a4e('0x28d1')]([_0x368e5a[_0x1a4e('0x28a5')](_0x1a4e('0x899'),_0x368e5a['emptyArray'])]);}return _0x368e5a['createTypeReferenceNode'](_0x2327c6,_0x55ff7e);}(_0x146f6e);default:var _0x2327c6=_0x368e5a[_0x1a4e('0x28cd')](_0x146f6e,_0x1b06ad,void 0x0);return _0x368e5a[_0x1a4e('0x2892')](_0x2327c6,0x1),_0x2327c6;}}function _0x326eae(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0x146f6e),_0x55ff7e=0x122===_0x146f6e[_0x1a4e('0x40')]['kind']&&_0x2327c6===_0x146f6e['parent'][_0x1a4e('0x111a')][_0x1a4e('0x1e')]-0x1,_0x1adc17=_0x146f6e[_0x1a4e('0x2cb')]||(_0x55ff7e?_0x1a4e('0x1078'):_0x1a4e('0x1363')+_0x2327c6),_0xf79407=_0x55ff7e?_0x368e5a[_0x1a4e('0x28b6')](0x19):_0x146f6e['dotDotDotToken'];return _0x368e5a[_0x1a4e('0x28c3')](_0x146f6e['decorators'],_0x146f6e[_0x1a4e('0x242d')],_0xf79407,_0x1adc17,_0x146f6e['questionToken'],_0x368e5a[_0x1a4e('0x2d76')](_0x146f6e[_0x1a4e('0x40')],_0x1b06ad),_0x146f6e[_0x1a4e('0x236a')]);}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0xf79407=_0x1adc17(_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]);if(_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0x420b32(_0x368e5a,_0x55ff7e['sourceFile'],_0xf79407);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')]['Annotate_with_type_from_JSDoc'],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3505')])];}},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1adc17(_0x146f6e[_0x1a4e('0x15c9')],_0x146f6e[_0x1a4e('0xc9')]);_0x2327c6&&_0x420b32(_0x368e5a,_0x146f6e[_0x1a4e('0x15c9')],_0x2327c6);});}}),_0x146f6e[_0x1a4e('0x33b1')]=_0xf79407;}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6,_0x55ff7e=_0x1a4e('0x3506'),_0x1adc17=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3507')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a42')]['code'],_0x368e5a['Diagnostics'][_0x1a4e('0x2a3b')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a39')][_0x1a4e('0x1617')],_0x368e5a['Diagnostics'][_0x1a4e('0x3508')][_0x1a4e('0x1617')],_0x368e5a['Diagnostics'][_0x1a4e('0x3509')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29a8')][_0x1a4e('0x1617')],_0x368e5a['Diagnostics'][_0x1a4e('0x350a')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x350b')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a43')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3c')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')]['Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage'][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')]['Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage']['code'],_0x368e5a[_0x1a4e('0x167d')]['_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage']['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x350c')]['code'],_0x368e5a['Diagnostics'][_0x1a4e('0x350d')]['code']];function _0xf79407(_0x146f6e,_0x2327c6){switch(_0x146f6e){case _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3b')][_0x1a4e('0x1617')]:case _0x368e5a[_0x1a4e('0x167d')]['Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage'][_0x1a4e('0x1617')]:return _0x368e5a[_0x1a4e('0x350e')](_0x368e5a['getContainingFunction'](_0x2327c6))?_0x368e5a['Diagnostics'][_0x1a4e('0x350f')]:_0x368e5a['Diagnostics'][_0x1a4e('0x3510')];case _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a39')]['code']:case _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3a')][_0x1a4e('0x1617')]:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3510')];default:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x350f')];}}function _0x2c9ec9(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x4890b2,_0x48e3b4,_0x572f3f){if(_0x368e5a[_0x1a4e('0x2547')](_0x1adc17[_0x1a4e('0x146b')])||0x48===_0x1adc17[_0x1a4e('0x146b')]||0x19===_0x1adc17[_0x1a4e('0x146b')]||0x64===_0x1adc17['kind']){var _0x4e8842=_0x1adc17[_0x1a4e('0x11c')];switch(_0xf79407=function(_0x146f6e){switch(_0x146f6e){case _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x350b')]['code']:return _0x368e5a['Diagnostics'][_0x1a4e('0x3507')][_0x1a4e('0x1617')];case _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a43')][_0x1a4e('0x1617')]:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a42')][_0x1a4e('0x1617')];case _0x368e5a['Diagnostics'][_0x1a4e('0x2a3c')]['code']:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3b')][_0x1a4e('0x1617')];case _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a3a')][_0x1a4e('0x1617')]:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a39')][_0x1a4e('0x1617')];case _0x368e5a[_0x1a4e('0x167d')]['Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage'][_0x1a4e('0x1617')]:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3508')][_0x1a4e('0x1617')];case _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a40')]['code']:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3509')][_0x1a4e('0x1617')];case _0x368e5a['Diagnostics'][_0x1a4e('0x350c')][_0x1a4e('0x1617')]:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29a8')][_0x1a4e('0x1617')];case _0x368e5a['Diagnostics'][_0x1a4e('0x350d')][_0x1a4e('0x1617')]:return _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x350a')][_0x1a4e('0x1617')];}return _0x146f6e;}(_0xf79407)){case _0x368e5a[_0x1a4e('0x167d')]['Member_0_implicitly_has_an_1_type']['code']:case _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3507')][_0x1a4e('0x1617')]:if(_0x368e5a[_0x1a4e('0x238d')](_0x4e8842)&&_0x48e3b4(_0x4e8842)||_0x368e5a[_0x1a4e('0x24ec')](_0x4e8842)||_0x368e5a['isPropertySignature'](_0x4e8842))return _0x420b32(_0x146f6e,_0x55ff7e,_0x4e8842,_0x2c9ec9,_0x572f3f,_0x4890b2),_0x4e8842;if(_0x368e5a['isPropertyAccessExpression'](_0x4e8842)){var _0x24954a=_0x468199(_0x881da8(_0x4e8842[_0x1a4e('0x2cb')],_0x2c9ec9,_0x4890b2),_0x4e8842,_0x2c9ec9,_0x572f3f);if(_0x24954a){var _0x23a272=_0x368e5a[_0x1a4e('0x2cd2')](_0x368e5a['createJSDocTypeExpression'](_0x24954a),'');_0x29806c(_0x146f6e,_0x55ff7e,_0x368e5a['cast'](_0x4e8842[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2375')]),[_0x23a272]);}return _0x4e8842;}return;case _0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a42')][_0x1a4e('0x1617')]:var _0x58f5bb=_0x2c9ec9[_0x1a4e('0x302b')]()[_0x1a4e('0x3029')](_0x1adc17);return _0x58f5bb&&_0x58f5bb['valueDeclaration']&&_0x368e5a['isVariableDeclaration'](_0x58f5bb['valueDeclaration'])&&_0x48e3b4(_0x58f5bb[_0x1a4e('0x2340')])?(_0x420b32(_0x146f6e,_0x55ff7e,_0x58f5bb[_0x1a4e('0x2340')],_0x2c9ec9,_0x572f3f,_0x4890b2),_0x58f5bb['valueDeclaration']):void 0x0;}var _0x509301=_0x368e5a[_0x1a4e('0x2a5b')](_0x1adc17);if(void 0x0!==_0x509301)switch(_0xf79407){case _0x368e5a[_0x1a4e('0x167d')]['Parameter_0_implicitly_has_an_1_type'][_0x1a4e('0x1617')]:if(_0x368e5a[_0x1a4e('0x350e')](_0x509301))return _0x1b06ad(_0x146f6e,_0x55ff7e,_0x509301,_0x2c9ec9,_0x572f3f,_0x4890b2),_0x509301;case _0x368e5a[_0x1a4e('0x167d')]['Rest_parameter_0_implicitly_has_an_any_type'][_0x1a4e('0x1617')]:if(_0x48e3b4(_0x509301)){var _0x118157=_0x368e5a['cast'](_0x4e8842,_0x368e5a[_0x1a4e('0x24ac')]);return function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){if(!_0x368e5a[_0x1a4e('0x2370')](_0x1adc17[_0x1a4e('0x2cb')]))return;var _0x35feee=function(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9d:_0x2c9ec9=_0x368e5a[_0x1a4e('0x327f')](_0x146f6e,0x7c,_0x55ff7e);break;case 0xc5:case 0xc4:var _0x420b32=_0x146f6e[_0x1a4e('0x11c')];_0x2c9ec9=_0x368e5a['isVariableDeclaration'](_0x420b32)&&_0x368e5a['isIdentifier'](_0x420b32[_0x1a4e('0x2cb')])?_0x420b32[_0x1a4e('0x2cb')]:_0x146f6e[_0x1a4e('0x2cb')];break;case 0xef:case 0x9c:_0x2c9ec9=_0x146f6e[_0x1a4e('0x2cb')];}if(_0x2c9ec9)return _0x2327c6[_0x1a4e('0x3511')](_0x53dc61(_0x2c9ec9,_0x1adc17,_0xf79407),_0x146f6e,_0x1adc17,_0xf79407);}(_0xf79407,_0x55ff7e,_0x2c9ec9,_0x1b06ad)||_0xf79407[_0x1a4e('0x111a')][_0x1a4e('0x21')](function(_0x146f6e){return{'declaration':_0x146f6e,'type':_0x368e5a['isIdentifier'](_0x146f6e[_0x1a4e('0x2cb')])?_0x881da8(_0x146f6e['name'],_0x2c9ec9,_0x1b06ad):_0x2c9ec9[_0x1a4e('0x302b')]()[_0x1a4e('0x3512')]()};});if(_0x368e5a['Debug'][_0x1a4e('0xba0')](_0xf79407[_0x1a4e('0x111a')]['length']===_0x35feee[_0x1a4e('0x1e')]),_0x368e5a[_0x1a4e('0x24e1')](_0xf79407))_0x56674b(_0x146f6e,_0x55ff7e,_0x35feee,_0x2c9ec9,_0x420b32);else{var _0x3590d7=_0x368e5a[_0x1a4e('0x23e0')](_0xf79407)&&!_0x368e5a[_0x1a4e('0x327f')](_0xf79407,0x14,_0x55ff7e);_0x3590d7&&_0x146f6e['insertNodeBefore'](_0x55ff7e,_0x368e5a['first'](_0xf79407['parameters']),_0x368e5a[_0x1a4e('0x28b6')](0x14));for(var _0x4890b2=0x0,_0x48e3b4=_0x35feee;_0x4890b2<_0x48e3b4[_0x1a4e('0x1e')];_0x4890b2++){var _0x572f3f=_0x48e3b4[_0x4890b2],_0x4e8842=_0x572f3f[_0x1a4e('0x2350')],_0x24954a=_0x572f3f[_0x1a4e('0x40')];!_0x4e8842||_0x4e8842[_0x1a4e('0x40')]||_0x4e8842['initializer']||_0x326eae(_0x146f6e,_0x55ff7e,_0x4e8842,_0x24954a,_0x2c9ec9,_0x420b32);}_0x3590d7&&_0x146f6e['insertNodeAfter'](_0x55ff7e,_0x368e5a[_0x1a4e('0x10b1')](_0xf79407['parameters']),_0x368e5a[_0x1a4e('0x28b6')](0x15));}}(_0x146f6e,_0x55ff7e,_0x118157,_0x509301,_0x2c9ec9,_0x572f3f,_0x4890b2),_0x118157;}return;case _0x368e5a['Diagnostics'][_0x1a4e('0x3508')][_0x1a4e('0x1617')]:case _0x368e5a['Diagnostics']['_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type'][_0x1a4e('0x1617')]:return _0x368e5a[_0x1a4e('0x24ee')](_0x509301)&&_0x368e5a[_0x1a4e('0x2370')](_0x509301[_0x1a4e('0x2cb')])?(_0x326eae(_0x146f6e,_0x55ff7e,_0x509301,_0x881da8(_0x509301[_0x1a4e('0x2cb')],_0x2c9ec9,_0x4890b2),_0x2c9ec9,_0x572f3f),_0x509301):void 0x0;case _0x368e5a[_0x1a4e('0x167d')]['Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation']['code']:return _0x368e5a[_0x1a4e('0x350e')](_0x509301)?(_0x1b06ad(_0x146f6e,_0x55ff7e,_0x509301,_0x2c9ec9,_0x572f3f,_0x4890b2),_0x509301):void 0x0;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](String(_0xf79407));}}}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e[_0x1a4e('0x2cb')])&&_0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e,_0x881da8(_0x55ff7e[_0x1a4e('0x2cb')],_0x1adc17,_0x2c9ec9),_0x1adc17,_0xf79407);}function _0x1b06ad(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x1721')](_0x55ff7e['parameters']);if(_0x420b32&&_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e[_0x1a4e('0x2cb')])&&_0x368e5a['isIdentifier'](_0x420b32[_0x1a4e('0x2cb')])){var _0x1b06ad=_0x881da8(_0x55ff7e['name'],_0x1adc17,_0x2c9ec9);_0x1b06ad===_0x1adc17['getTypeChecker']()[_0x1a4e('0x3512')]()&&(_0x1b06ad=_0x881da8(_0x420b32[_0x1a4e('0x2cb')],_0x1adc17,_0x2c9ec9)),_0x368e5a[_0x1a4e('0x24e1')](_0x55ff7e)?_0x56674b(_0x146f6e,_0x2327c6,[{'declaration':_0x420b32,'type':_0x1b06ad}],_0x1adc17,_0xf79407):_0x326eae(_0x146f6e,_0x2327c6,_0x420b32,_0x1b06ad,_0x1adc17,_0xf79407);}}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x468199(_0x1adc17,_0x55ff7e,_0xf79407,_0x2c9ec9);if(_0x420b32)if(_0x368e5a[_0x1a4e('0x24e1')](_0x2327c6)&&0x99!==_0x55ff7e['kind']){var _0x1b06ad=_0x368e5a['isVariableDeclaration'](_0x55ff7e)?_0x368e5a[_0x1a4e('0x172e')](_0x55ff7e['parent'][_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2376')]):_0x55ff7e;if(!_0x1b06ad)return;var _0x326eae=_0x368e5a[_0x1a4e('0x2cd1')](_0x420b32);_0x29806c(_0x146f6e,_0x2327c6,_0x1b06ad,[_0x368e5a[_0x1a4e('0x24ee')](_0x55ff7e)?_0x368e5a[_0x1a4e('0x2cd3')](_0x326eae,''):_0x368e5a[_0x1a4e('0x2cd2')](_0x326eae,'')]);}else _0x146f6e['tryInsertTypeAnnotation'](_0x2327c6,_0x55ff7e,_0x420b32);}function _0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x1e')]&&_0x55ff7e[0x0][_0x1a4e('0x2350')][_0x1a4e('0x11c')];_0x2c9ec9&&_0x29806c(_0x146f6e,_0x2327c6,_0x2c9ec9,_0x368e5a[_0x1a4e('0x1713')](_0x55ff7e,function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2350')];if(!_0x2327c6[_0x1a4e('0x236a')]&&!_0x368e5a[_0x1a4e('0x2425')](_0x2327c6)&&_0x368e5a['isIdentifier'](_0x2327c6[_0x1a4e('0x2cb')])){var _0x55ff7e=_0x146f6e[_0x1a4e('0x40')]&&_0x468199(_0x146f6e[_0x1a4e('0x40')],_0x2327c6,_0x1adc17,_0xf79407),_0x2c9ec9=_0x368e5a[_0x1a4e('0x28ca')](_0x2327c6[_0x1a4e('0x2cb')]);return _0x368e5a[_0x1a4e('0x2892')](_0x2c9ec9,0xe00),_0x55ff7e&&_0x368e5a[_0x1a4e('0x2cd5')](_0x2c9ec9,!!_0x146f6e['isOptional'],_0x368e5a[_0x1a4e('0x2cd1')](_0x55ff7e),'');}}));}function _0x29806c(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x1713')](_0x55ff7e['jsDoc'],function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2695')];}),_0x2c9ec9=_0x368e5a[_0x1a4e('0x170e')](_0x55ff7e[_0x1a4e('0x22ec')],function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2455')];}),_0x420b32=_0x1adc17[_0x1a4e('0xd9')](function(_0x146f6e){return!_0x2c9ec9||!_0x2c9ec9['some'](function(_0x2327c6,_0x55ff7e){var _0x1adc17=function(_0x146f6e,_0x2327c6){if(_0x146f6e['kind']!==_0x2327c6[_0x1a4e('0x146b')])return;switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x12b:var _0x55ff7e=_0x146f6e,_0x1adc17=_0x2327c6;return _0x368e5a['isIdentifier'](_0x55ff7e['name'])&&_0x368e5a[_0x1a4e('0x2370')](_0x1adc17[_0x1a4e('0x2cb')])&&_0x55ff7e['name'][_0x1a4e('0x22f3')]===_0x1adc17[_0x1a4e('0x2cb')][_0x1a4e('0x22f3')]?_0x368e5a['createJSDocParamTag'](_0x1adc17[_0x1a4e('0x2cb')],_0x1adc17[_0x1a4e('0x269b')],_0x1adc17[_0x1a4e('0x2379')],_0x55ff7e[_0x1a4e('0x2695')]):void 0x0;case 0x12c:return _0x368e5a['createJSDocReturnTag'](_0x2327c6['typeExpression'],_0x146f6e[_0x1a4e('0x2695')]);}}(_0x2327c6,_0x146f6e);return _0x1adc17&&(_0x2c9ec9[_0x55ff7e]=_0x1adc17),!!_0x1adc17;});}),_0x1b06ad=_0x368e5a[_0x1a4e('0x2cd6')](_0xf79407[_0x1a4e('0x9e')]('\x0a'),_0x368e5a['createNodeArray']((_0x2c9ec9||_0x368e5a[_0x1a4e('0x1700')])[_0x1a4e('0x9a')](_0x420b32)));_0x146f6e[_0x1a4e('0x34b8')](_0x2327c6,_0x55ff7e,_0x1b06ad);}function _0x468199(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x302b')](),_0xf79407=!0x0,_0x2c9ec9=function(){_0xf79407=!0x1;},_0x420b32=_0x1adc17[_0x1a4e('0x28dd')](_0x368e5a,_0x146f6e,void 0x0,{'trackSymbol':function(_0x368e5a,_0x146f6e,_0x2327c6){_0xf79407=_0xf79407&&0x0===_0x1adc17[_0x1a4e('0x3513')](_0x368e5a,_0x146f6e,_0x2327c6,!0x1)['accessibility'];},'reportInaccessibleThisError':_0x2c9ec9,'reportPrivateInBaseOfClassExpression':_0x2c9ec9,'reportInaccessibleUniqueSymbolError':_0x2c9ec9,'moduleResolverHost':{'readFile':_0x55ff7e[_0x1a4e('0x16b8')],'fileExists':_0x55ff7e[_0x1a4e('0x1b4d')],'directoryExists':_0x55ff7e[_0x1a4e('0x16b5')],'getSourceFiles':_0x2327c6['getSourceFiles'],'getCurrentDirectory':_0x2327c6['getCurrentDirectory'],'getCommonSourceDirectory':_0x2327c6[_0x1a4e('0x241b')]}});return _0xf79407?_0x420b32:void 0x0;}function _0x53dc61(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x1713')](_0x368e5a[_0x1a4e('0x32c9')][_0x1a4e('0x32ca')](-0x1,_0x146f6e,_0x2327c6,_0x2327c6[_0x1a4e('0x2447')](),_0x55ff7e),function(_0x146f6e){return 0x0!==_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x172e')](_0x146f6e[_0x1a4e('0x80')],_0x368e5a[_0x1a4e('0x2370')]):void 0x0;});}function _0x881da8(_0x368e5a,_0x146f6e,_0x55ff7e){var _0x1adc17=_0x53dc61(_0x368e5a,_0x146f6e,_0x55ff7e),_0xf79407=_0x146f6e[_0x1a4e('0x302b')](),_0x2c9ec9=_0x2327c6['inferTypesFromReferences'](_0x1adc17,_0xf79407,_0x55ff7e);return _0x2327c6[_0x1a4e('0x3514')](_0x2c9ec9,_0xf79407);}_0x146f6e['registerCodeFix']({'errorCodes':_0x1adc17,'getCodeActions':function(_0x2327c6){var _0x1adc17,_0x420b32=_0x2327c6['sourceFile'],_0x1b06ad=_0x2327c6[_0x1a4e('0x303a')],_0x326eae=_0x2327c6[_0x1a4e('0x24c0')]['start'],_0x56674b=_0x2327c6[_0x1a4e('0x34ea')],_0x29806c=_0x2327c6[_0x1a4e('0x3300')],_0x468199=_0x2327c6[_0x1a4e('0x1599')],_0x53dc61=_0x368e5a[_0x1a4e('0x3264')](_0x420b32,_0x326eae),_0x881da8=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x146f6e){_0x1adc17=_0x2c9ec9(_0x146f6e,_0x420b32,_0x53dc61,_0x56674b,_0x1b06ad,_0x29806c,_0x368e5a[_0x1a4e('0x305c')],_0x468199);}),_0x26f1b5=_0x1adc17&&_0x368e5a[_0x1a4e('0x23e9')](_0x1adc17);return _0x26f1b5&&0x0!==_0x881da8[_0x1a4e('0x1e')]?[_0x146f6e[_0x1a4e('0x34e6')](_0x55ff7e,_0x881da8,[_0xf79407(_0x56674b,_0x53dc61),_0x26f1b5[_0x1a4e('0x230e')](_0x420b32)],_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3515')])]:void 0x0;},'fixIds':[_0x55ff7e],'getAllCodeActions':function(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x27e7')],_0xf79407=_0x2327c6[_0x1a4e('0x303a')],_0x420b32=_0x2327c6[_0x1a4e('0x3300')],_0x1b06ad=_0x2327c6[_0x1a4e('0x1599')],_0x326eae=_0x368e5a['nodeSeenTracker']();return _0x146f6e[_0x1a4e('0x34ee')](_0x2327c6,_0x1adc17,function(_0x146f6e,_0x2327c6){_0x2c9ec9(_0x146f6e,_0x55ff7e,_0x368e5a['getTokenAtPosition'](_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')]),_0x2327c6['code'],_0xf79407,_0x420b32,_0x326eae,_0x1b06ad);});}}),function(_0x146f6e){function _0x2327c6(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x1adc17={},_0xf79407=0x0,_0x420b32=_0x368e5a;_0xf79407<_0x420b32[_0x1a4e('0x1e')];_0xf79407++){var _0x1b06ad=_0x420b32[_0xf79407];_0x2327c6['throwIfCancellationRequested'](),_0x55ff7e(_0x1b06ad,_0x146f6e,_0x1adc17);}return _0x2c9ec9(_0x1adc17,_0x146f6e);}function _0x55ff7e(_0x146f6e,_0x2327c6,_0xf79407){for(;_0x368e5a[_0x1a4e('0x2466')](_0x146f6e);)_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];switch(_0x146f6e[_0x1a4e('0x11c')]['kind']){case 0xcb:_0xf79407[_0x1a4e('0x84c')]=!0x0;break;case 0xca:!function(_0x368e5a,_0x146f6e){switch(_0x368e5a[_0x1a4e('0x1474')]){case 0x2c:case 0x2d:case 0x27:case 0x35:_0x146f6e[_0x1a4e('0x84c')]=!0x0;break;case 0x26:_0x146f6e['isNumberOrString']=!0x0;}}(_0x146f6e['parent'],_0xf79407);break;case 0xcc:!function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){switch(_0x2327c6['operatorToken'][_0x1a4e('0x146b')]){case 0x29:case 0x28:case 0x2a:case 0x2b:case 0x2e:case 0x2f:case 0x30:case 0x31:case 0x32:case 0x33:case 0x3d:case 0x3f:case 0x3e:case 0x40:case 0x41:case 0x45:case 0x46:case 0x47:case 0x42:case 0x44:case 0x43:case 0x27:case 0x1c:case 0x1f:case 0x1e:case 0x20:var _0xf79407=_0x55ff7e[_0x1a4e('0x31d9')](_0x2327c6[_0x1a4e('0x5f')]===_0x146f6e?_0x2327c6[_0x1a4e('0x5d')]:_0x2327c6['left']);0x420&_0xf79407[_0x1a4e('0x7b2')]?_0x326eae(_0x1adc17,_0xf79407):_0x1adc17[_0x1a4e('0x84c')]=!0x0;break;case 0x3c:case 0x26:var _0x2c9ec9=_0x55ff7e['getTypeAtLocation'](_0x2327c6[_0x1a4e('0x5f')]===_0x146f6e?_0x2327c6['right']:_0x2327c6['left']);0x420&_0x2c9ec9[_0x1a4e('0x7b2')]?_0x326eae(_0x1adc17,_0x2c9ec9):0x128&_0x2c9ec9[_0x1a4e('0x7b2')]?_0x1adc17[_0x1a4e('0x84c')]=!0x0:0x84&_0x2c9ec9[_0x1a4e('0x7b2')]?_0x1adc17[_0x1a4e('0xb19')]=!0x0:_0x1adc17[_0x1a4e('0x3516')]=!0x0;break;case 0x3b:case 0x21:case 0x23:case 0x24:case 0x22:_0x326eae(_0x1adc17,_0x55ff7e[_0x1a4e('0x31d9')](_0x2327c6[_0x1a4e('0x5f')]===_0x146f6e?_0x2327c6['right']:_0x2327c6[_0x1a4e('0x5f')]));break;case 0x5d:_0x146f6e===_0x2327c6[_0x1a4e('0x5f')]&&(_0x1adc17[_0x1a4e('0xb19')]=!0x0);break;case 0x37:_0x146f6e!==_0x2327c6[_0x1a4e('0x5f')]||0xed!==_0x146f6e[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x146b')]&&!_0x368e5a[_0x1a4e('0x287a')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],!0x0)||_0x326eae(_0x1adc17,_0x55ff7e[_0x1a4e('0x31d9')](_0x2327c6['right']));}}(_0x146f6e,_0x146f6e[_0x1a4e('0x11c')],_0x2327c6,_0xf79407);break;case 0x10f:case 0x110:!function(_0x368e5a,_0x146f6e,_0x2327c6){_0x326eae(_0x2327c6,_0x146f6e['getTypeAtLocation'](_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x2302')]));}(_0x146f6e['parent'],_0x2327c6,_0xf79407);break;case 0xbf:case 0xc0:_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x2302')]===_0x146f6e?function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x1adc17={'argumentTypes':[],'returnType':{}};if(_0x368e5a[_0x1a4e('0x2373')])for(var _0xf79407=0x0,_0x2c9ec9=_0x368e5a[_0x1a4e('0x2373')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x1adc17['argumentTypes'][_0x1a4e('0x46')](_0x146f6e[_0x1a4e('0x31d9')](_0x420b32));}_0x55ff7e(_0x368e5a,_0x146f6e,_0x1adc17[_0x1a4e('0x2e01')]),0xbf===_0x368e5a[_0x1a4e('0x146b')]?(_0x2327c6[_0x1a4e('0x3517')]||(_0x2327c6[_0x1a4e('0x3517')]=[]))[_0x1a4e('0x46')](_0x1adc17):(_0x2327c6[_0x1a4e('0x3518')]||(_0x2327c6[_0x1a4e('0x3518')]=[]))['push'](_0x1adc17);}(_0x146f6e[_0x1a4e('0x11c')],_0x2327c6,_0xf79407):_0x1adc17(_0x146f6e,_0x2327c6,_0xf79407);break;case 0xbd:!function(_0x146f6e,_0x2327c6,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x22f4')](_0x146f6e[_0x1a4e('0x2cb')]['text']);_0x1adc17[_0x1a4e('0x13')]||(_0x1adc17[_0x1a4e('0x13')]=_0x368e5a[_0x1a4e('0x283a')]());var _0x2c9ec9=_0x1adc17[_0x1a4e('0x13')]['get'](_0xf79407)||{};_0x55ff7e(_0x146f6e,_0x2327c6,_0x2c9ec9),_0x1adc17['properties']['set'](_0xf79407,_0x2c9ec9);}(_0x146f6e[_0x1a4e('0x11c')],_0x2327c6,_0xf79407);break;case 0xbe:!function(_0x368e5a,_0x146f6e,_0x2327c6,_0x1adc17){if(_0x146f6e===_0x368e5a[_0x1a4e('0x24a7')])return void(_0x1adc17[_0x1a4e('0x3516')]=!0x0);var _0xf79407=_0x2327c6['getTypeAtLocation'](_0x368e5a[_0x1a4e('0x24a7')]),_0x2c9ec9={};_0x55ff7e(_0x368e5a,_0x2327c6,_0x2c9ec9),0x128&_0xf79407['flags']?_0x1adc17[_0x1a4e('0x3519')]=_0x2c9ec9:_0x1adc17[_0x1a4e('0x351a')]=_0x2c9ec9;}(_0x146f6e['parent'],_0x146f6e,_0x2327c6,_0xf79407);break;case 0xed:var _0x2c9ec9=_0x146f6e[_0x1a4e('0x11c')],_0x420b32=_0x2c9ec9[_0x1a4e('0x2cb')],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x236a')];if(_0x146f6e===_0x420b32){_0x1b06ad&&_0x326eae(_0xf79407,_0x2327c6[_0x1a4e('0x31d9')](_0x1b06ad));break;}default:return _0x1adc17(_0x146f6e,_0x2327c6,_0xf79407);}}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a[_0x1a4e('0x28da')](_0x146f6e)&&_0x326eae(_0x55ff7e,_0x2327c6[_0x1a4e('0x323e')](_0x146f6e));}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){if(void 0x0===_0x55ff7e&&(_0x55ff7e=_0x2327c6['getAnyType']()),!_0x146f6e[_0x1a4e('0x1e')])return _0x55ff7e;var _0x1adc17=_0x2327c6[_0x1a4e('0x351b')]([_0x2327c6[_0x1a4e('0x351c')](),_0x2327c6[_0x1a4e('0x351d')]()]),_0xf79407=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=0x0,_0xf79407=_0x146f6e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++)for(var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=0x0,_0x1b06ad=_0x2327c6;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32],_0x56674b=_0x326eae[_0x1a4e('0x351e')],_0x29806c=_0x326eae[_0x1a4e('0x351f')];_0x56674b(_0x2c9ec9)&&(_0x368e5a[_0x1a4e('0x1749')]['assert'](!_0x29806c(_0x2c9ec9)),_0x55ff7e[_0x1a4e('0x46')](_0x29806c));}return _0x146f6e['filter'](function(_0x368e5a){return _0x55ff7e[_0x1a4e('0x114')](function(_0x146f6e){return!_0x146f6e(_0x368e5a);});});}(_0x146f6e,[{'high':function(_0x368e5a){return _0x368e5a===_0x2327c6[_0x1a4e('0x351c')]()||_0x368e5a===_0x2327c6['getNumberType']();},'low':function(_0x368e5a){return _0x368e5a===_0x1adc17;}},{'high':function(_0x368e5a){return!(0x4001&_0x368e5a[_0x1a4e('0x7b2')]);},'low':function(_0x368e5a){return!!(0x4001&_0x368e5a[_0x1a4e('0x7b2')]);}},{'high':function(_0x368e5a){return!(0x1c001&_0x368e5a[_0x1a4e('0x7b2')]||0x10&_0x2327c6[_0x1a4e('0x249a')](_0x368e5a));},'low':function(_0x368e5a){return!!(0x10&_0x2327c6[_0x1a4e('0x249a')](_0x368e5a));}}]),_0x2c9ec9=_0xf79407[_0x1a4e('0xd9')](function(_0x368e5a){return 0x10&_0x2327c6[_0x1a4e('0x249a')](_0x368e5a);});return _0x2c9ec9[_0x1a4e('0x1e')]&&(_0xf79407=_0xf79407[_0x1a4e('0xd9')](function(_0x368e5a){return!(0x10&_0x2327c6[_0x1a4e('0x249a')](_0x368e5a));}))[_0x1a4e('0x46')](function(_0x146f6e,_0x2327c6){if(0x1===_0x146f6e['length'])return _0x146f6e[0x0];for(var _0x55ff7e=[],_0x1adc17=[],_0xf79407=[],_0x2c9ec9=[],_0x420b32=!0x1,_0x1b06ad=!0x1,_0x326eae=_0x368e5a['createMultiMap'](),_0x56674b=0x0,_0x29806c=_0x146f6e;_0x56674b<_0x29806c[_0x1a4e('0x1e')];_0x56674b++){for(var _0x468199=_0x29806c[_0x56674b],_0x53dc61=0x0,_0x881da8=_0x2327c6[_0x1a4e('0x32ad')](_0x468199);_0x53dc61<_0x881da8[_0x1a4e('0x1e')];_0x53dc61++){var _0x325e88=_0x881da8[_0x53dc61];_0x326eae[_0x1a4e('0x177')](_0x325e88[_0x1a4e('0x2cb')],_0x2327c6[_0x1a4e('0x32a5')](_0x325e88,_0x325e88[_0x1a4e('0x2340')]));}_0x55ff7e[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x55ff7e,_0x2327c6[_0x1a4e('0x249c')](_0x468199,0x0)),_0x1adc17[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x1adc17,_0x2327c6['getSignaturesOfType'](_0x468199,0x1)),_0x468199[_0x1a4e('0x28bb')]&&(_0xf79407['push'](_0x468199[_0x1a4e('0x28bb')]['type']),_0x420b32=_0x420b32||_0x468199[_0x1a4e('0x28bb')][_0x1a4e('0x28bc')]),_0x468199[_0x1a4e('0x28b8')]&&(_0x2c9ec9[_0x1a4e('0x46')](_0x468199[_0x1a4e('0x28b8')][_0x1a4e('0x40')]),_0x1b06ad=_0x1b06ad||_0x468199[_0x1a4e('0x28b8')][_0x1a4e('0x28bc')]);}var _0x39837a=_0x368e5a[_0x1a4e('0x1716')](_0x326eae,function(_0x368e5a,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x1e')]<_0x146f6e['length']?0x1000000:0x0,_0xf79407=_0x2327c6['createSymbol'](0x4|_0x1adc17,_0x368e5a);return _0xf79407['type']=_0x2327c6[_0x1a4e('0x351b')](_0x55ff7e),[_0x368e5a,_0xf79407];});return _0x2327c6[_0x1a4e('0x3520')](_0x146f6e[0x0][_0x1a4e('0xb1b')],_0x39837a,_0x55ff7e,_0x1adc17,_0xf79407[_0x1a4e('0x1e')]?_0x2327c6[_0x1a4e('0x3521')](_0x2327c6[_0x1a4e('0x351b')](_0xf79407),_0x420b32):void 0x0,_0x2c9ec9[_0x1a4e('0x1e')]?_0x2327c6['createIndexInfo'](_0x2327c6[_0x1a4e('0x351b')](_0x2c9ec9),_0x1b06ad):void 0x0);}(_0x2c9ec9,_0x2327c6)),_0x2327c6[_0x1a4e('0x3522')](_0x2327c6[_0x1a4e('0x351b')](_0xf79407));}function _0x2c9ec9(_0x146f6e,_0x2327c6){var _0x55ff7e=[];if(_0x146f6e[_0x1a4e('0x84c')]&&_0x55ff7e[_0x1a4e('0x46')](_0x2327c6[_0x1a4e('0x351d')]()),_0x146f6e[_0x1a4e('0xb19')]&&_0x55ff7e[_0x1a4e('0x46')](_0x2327c6[_0x1a4e('0x351c')]()),_0x146f6e['isNumberOrString']&&_0x55ff7e[_0x1a4e('0x46')](_0x2327c6[_0x1a4e('0x351b')]([_0x2327c6[_0x1a4e('0x351c')](),_0x2327c6['getNumberType']()])),_0x55ff7e[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x55ff7e,(_0x146f6e[_0x1a4e('0x3523')]||[])[_0x1a4e('0x21')](function(_0x368e5a){return _0x2327c6['getBaseTypeOfLiteralType'](_0x368e5a);})),_0x146f6e[_0x1a4e('0x13')]&&_0x56674b(_0x146f6e[_0x1a4e('0x13')][_0x1a4e('0x179')](_0x1a4e('0xdf8')))){var _0x1adc17=_0x420b32(0x0,_0x146f6e[_0x1a4e('0x13')]['get'](_0x1a4e('0xdf8'))[_0x1a4e('0x3517')],!0x1,_0x2327c6)['getCallSignatures']()['map'](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x3524')]();});_0x1adc17['push'](_0x2327c6[_0x1a4e('0x3525')](_0x1adc17['length']?_0x2327c6['getUnionType'](_0x1adc17,0x2):_0x2327c6[_0x1a4e('0x3512')]()));}else _0x146f6e[_0x1a4e('0x13')]&&_0x56674b(_0x146f6e[_0x1a4e('0x13')][_0x1a4e('0x179')](_0x1a4e('0x46')))&&_0x55ff7e[_0x1a4e('0x46')](_0x2327c6[_0x1a4e('0x3526')](_0x420b32(0x0,_0x146f6e[_0x1a4e('0x13')][_0x1a4e('0x179')](_0x1a4e('0x46'))['callContexts'],!0x1,_0x2327c6)));if(_0x146f6e[_0x1a4e('0x3519')])_0x55ff7e['push'](_0x2327c6[_0x1a4e('0x3526')](_0x6397fc(_0x146f6e[_0x1a4e('0x3519')])));else if(_0x146f6e['properties']||_0x146f6e['callContexts']||_0x146f6e['constructContexts']||_0x146f6e['stringIndexContext']){var _0x326eae=_0x368e5a[_0x1a4e('0x283a')](),_0x29806c=[],_0x468199=[],_0x53dc61=void 0x0;if(_0x146f6e[_0x1a4e('0x13')]&&_0x146f6e[_0x1a4e('0x13')][_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x2327c6[_0x1a4e('0x3527')](0x4,_0x146f6e);_0x55ff7e[_0x1a4e('0x40')]=_0x6397fc(_0x368e5a),_0x326eae[_0x1a4e('0x17a')](_0x146f6e,_0x55ff7e);}),_0x146f6e[_0x1a4e('0x3517')])for(var _0x881da8=0x0,_0x131cc9=_0x146f6e[_0x1a4e('0x3517')];_0x881da8<_0x131cc9[_0x1a4e('0x1e')];_0x881da8++){var _0x1b10df=_0x131cc9[_0x881da8];_0x29806c[_0x1a4e('0x46')](_0x1b06ad(_0x1b10df,_0x2327c6));}if(_0x146f6e['constructContexts'])for(var _0x162ae3=0x0,_0x5150e1=_0x146f6e[_0x1a4e('0x3518')];_0x162ae3<_0x5150e1[_0x1a4e('0x1e')];_0x162ae3++){var _0x25a91f=_0x5150e1[_0x162ae3];_0x468199['push'](_0x1b06ad(_0x25a91f,_0x2327c6));}_0x146f6e[_0x1a4e('0x351a')]&&(_0x53dc61=_0x2327c6[_0x1a4e('0x3521')](_0x6397fc(_0x146f6e[_0x1a4e('0x351a')]),!0x1)),_0x55ff7e[_0x1a4e('0x46')](_0x2327c6[_0x1a4e('0x3520')](void 0x0,_0x326eae,_0x29806c,_0x468199,_0x53dc61,void 0x0));}return _0x55ff7e;function _0x6397fc(_0x368e5a){return _0xf79407(_0x2c9ec9(_0x368e5a,_0x2327c6),_0x2327c6);}}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=[];if(_0x2327c6)for(var _0x2c9ec9=0x0,_0x420b32=_0x2327c6;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x1b06ad['argumentTypes']['length']>_0x146f6e&&(_0x55ff7e?_0xf79407=_0x368e5a['concatenate'](_0xf79407,_0x368e5a['map'](_0x1b06ad[_0x1a4e('0x3528')][_0x1a4e('0x78')](_0x146f6e),function(_0x368e5a){return _0x1adc17[_0x1a4e('0x3529')](_0x368e5a);})):_0xf79407[_0x1a4e('0x46')](_0x1adc17[_0x1a4e('0x3529')](_0x1b06ad[_0x1a4e('0x3528')][_0x146f6e])));}if(_0xf79407[_0x1a4e('0x1e')]){var _0x326eae=_0x1adc17[_0x1a4e('0x3522')](_0x1adc17[_0x1a4e('0x351b')](_0xf79407,0x2));return _0x55ff7e?_0x1adc17[_0x1a4e('0x3526')](_0x326eae):_0x326eae;}}function _0x1b06ad(_0x146f6e,_0x2327c6){for(var _0x55ff7e=[],_0x1adc17=0x0;_0x1adc17<_0x146f6e[_0x1a4e('0x3528')][_0x1a4e('0x1e')];_0x1adc17++){var _0x420b32=_0x2327c6[_0x1a4e('0x3527')](0x1,_0x368e5a[_0x1a4e('0x22f4')](_0x1a4e('0x1363')+_0x1adc17));_0x420b32[_0x1a4e('0x40')]=_0x2327c6[_0x1a4e('0x3522')](_0x2327c6[_0x1a4e('0x3529')](_0x146f6e[_0x1a4e('0x3528')][_0x1adc17])),_0x55ff7e['push'](_0x420b32);}var _0x1b06ad=_0xf79407(_0x2c9ec9(_0x146f6e['returnType'],_0x2327c6),_0x2327c6,_0x2327c6[_0x1a4e('0x352a')]());return _0x2327c6[_0x1a4e('0x352b')](void 0x0,void 0x0,void 0x0,_0x55ff7e,_0x1b06ad,void 0x0,_0x146f6e[_0x1a4e('0x3528')][_0x1a4e('0x1e')],!0x1,!0x1);}function _0x326eae(_0x368e5a,_0x146f6e){!_0x146f6e||0x1&_0x146f6e[_0x1a4e('0x7b2')]||0x20000&_0x146f6e[_0x1a4e('0x7b2')]||(_0x368e5a[_0x1a4e('0x3523')]||(_0x368e5a[_0x1a4e('0x3523')]=[]))[_0x1a4e('0x46')](_0x146f6e);}function _0x56674b(_0x368e5a){return!!_0x368e5a&&!!_0x368e5a['callContexts'];}_0x146f6e[_0x1a4e('0x352c')]=_0x2327c6,_0x146f6e[_0x1a4e('0x3511')]=function(_0x146f6e,_0x1adc17,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x2c9ec9[_0x1a4e('0x302b')]();if(0x0!==_0x146f6e['length']&&_0x1adc17['parameters']){for(var _0x326eae={},_0x56674b=0x0,_0x29806c=_0x146f6e;_0x56674b<_0x29806c[_0x1a4e('0x1e')];_0x56674b++){var _0x468199=_0x29806c[_0x56674b];_0x420b32[_0x1a4e('0x289b')](),_0x55ff7e(_0x468199,_0x1b06ad,_0x326eae);}var _0x881da8=(_0x326eae[_0x1a4e('0x3518')]||[])[_0x1a4e('0x9a')](_0x326eae[_0x1a4e('0x3517')]||[]);return _0x1adc17[_0x1a4e('0x111a')][_0x1a4e('0x21')](function(_0x146f6e,_0x55ff7e){for(var _0x326eae=[],_0x56674b=_0x368e5a[_0x1a4e('0x28cb')](_0x146f6e),_0x29806c=!0x1,_0x468199=0x0,_0x3cd91c=_0x881da8;_0x468199<_0x3cd91c['length'];_0x468199++){var _0x8ad620=_0x3cd91c[_0x468199];if(_0x8ad620[_0x1a4e('0x3528')][_0x1a4e('0x1e')]<=_0x55ff7e)_0x29806c=_0x368e5a[_0x1a4e('0x24e1')](_0x1adc17),_0x326eae[_0x1a4e('0x46')](_0x1b06ad[_0x1a4e('0x352d')]());else if(_0x56674b)for(var _0x2180e3=_0x55ff7e;_0x2180e3<_0x8ad620[_0x1a4e('0x3528')][_0x1a4e('0x1e')];_0x2180e3++)_0x326eae[_0x1a4e('0x46')](_0x1b06ad[_0x1a4e('0x3529')](_0x8ad620[_0x1a4e('0x3528')][_0x2180e3]));else _0x326eae[_0x1a4e('0x46')](_0x1b06ad['getBaseTypeOfLiteralType'](_0x8ad620['argumentTypes'][_0x55ff7e]));}if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])){var _0xb19ad6=_0x2327c6(_0x53dc61(_0x146f6e['name'],_0x2c9ec9,_0x420b32),_0x1b06ad,_0x420b32);_0x326eae[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x326eae,_0x56674b?_0x368e5a[_0x1a4e('0x1713')](_0xb19ad6,_0x1b06ad[_0x1a4e('0x352e')]):_0xb19ad6);}var _0x37f65f=_0xf79407(_0x326eae,_0x1b06ad);return{'type':_0x56674b?_0x1b06ad['createArrayType'](_0x37f65f):_0x37f65f,'isOptional':_0x29806c&&!_0x56674b,'declaration':_0x146f6e};});}},_0x146f6e['unifyFromContext']=_0xf79407;}(_0x2327c6||(_0x2327c6={}));}(_0x368e5a['codefix']||(_0x368e5a['codefix']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x352f'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')]['This_constructor_function_may_be_converted_to_a_class_declaration']['code']];function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0x2c9ec9=_0x1adc17['getSymbolAtLocation'](_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x55ff7e));if(_0x2c9ec9&&0x13&_0x2c9ec9[_0x1a4e('0x7b2')]){var _0x420b32,_0x1b06ad,_0x326eae=_0x2c9ec9[_0x1a4e('0x2340')];switch(_0x326eae[_0x1a4e('0x146b')]){case 0xef:_0x420b32=_0x326eae,_0x146f6e[_0x1a4e('0xf4c')](_0x2327c6,_0x326eae),_0x1b06ad=function(_0x146f6e){var _0x2327c6=_0x56674b(_0x2c9ec9);_0x146f6e[_0x1a4e('0x8f2')]&&_0x2327c6[_0x1a4e('0x66')](_0x368e5a[_0x1a4e('0x2c3c')](void 0x0,void 0x0,_0x146f6e[_0x1a4e('0x111a')],_0x146f6e['body']));var _0x55ff7e=_0xf79407(_0x146f6e,0x55);return _0x368e5a['createClassDeclaration'](void 0x0,_0x55ff7e,_0x146f6e['name'],void 0x0,void 0x0,_0x2327c6);}(_0x326eae);break;case 0xed:_0x420b32=_0x326eae[_0x1a4e('0x11c')]['parent'],_0x1b06ad=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x236a')];if(!_0x2327c6||0xc4!==_0x2327c6['kind'])return;if(0x48!==_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x146b')])return;var _0x55ff7e=_0x56674b(_0x146f6e['symbol']);_0x2327c6['body']&&_0x55ff7e[_0x1a4e('0x66')](_0x368e5a[_0x1a4e('0x2c3c')](void 0x0,void 0x0,_0x2327c6[_0x1a4e('0x111a')],_0x2327c6[_0x1a4e('0x8f2')]));var _0x1adc17=_0xf79407(_0x420b32,0x55);return _0x368e5a[_0x1a4e('0x2df9')](void 0x0,_0x1adc17,_0x146f6e['name'],void 0x0,void 0x0,_0x55ff7e);}(_0x326eae),0x1===_0x326eae[_0x1a4e('0x11c')]['declarations'][_0x1a4e('0x1e')]?(_0x368e5a[_0x1a4e('0x323c')](_0x420b32,_0x1b06ad,_0x2327c6),_0x146f6e[_0x1a4e('0xf4c')](_0x2327c6,_0x420b32)):_0x146f6e[_0x1a4e('0xf4c')](_0x2327c6,_0x326eae);}_0x1b06ad&&(_0x368e5a[_0x1a4e('0x323c')](_0x326eae,_0x1b06ad,_0x2327c6),_0x146f6e['insertNodeAfter'](_0x2327c6,_0x420b32,_0x1b06ad));}function _0x56674b(_0x55ff7e){var _0x1adc17=[];return _0x55ff7e[_0x1a4e('0x2369')]&&_0x55ff7e['members'][_0x1a4e('0x3b')](function(_0x368e5a){var _0x146f6e=_0x2c9ec9(_0x368e5a,void 0x0);_0x146f6e&&_0x1adc17[_0x1a4e('0x46')](_0x146f6e);}),_0x55ff7e[_0x1a4e('0x0')]&&_0x55ff7e['exports'][_0x1a4e('0x3b')](function(_0x146f6e){var _0x2327c6=_0x2c9ec9(_0x146f6e,[_0x368e5a[_0x1a4e('0x28b6')](0x74)]);_0x2327c6&&_0x1adc17[_0x1a4e('0x46')](_0x2327c6);}),_0x1adc17;function _0x2c9ec9(_0x55ff7e,_0x1adc17){if(0x2000&_0x55ff7e[_0x1a4e('0x7b2')]){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x2340')],_0x420b32=_0x2c9ec9['parent'];if(_0x1b06ad=_0x420b32['right'],_0x368e5a[_0x1a4e('0x2342')](_0x1b06ad)){var _0x1b06ad,_0x326eae=_0x420b32[_0x1a4e('0x11c')]&&0xdd===_0x420b32[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x420b32[_0x1a4e('0x11c')]:_0x420b32;if(_0x146f6e[_0x1a4e('0xf4c')](_0x2327c6,_0x326eae),!_0x420b32['right'])return _0x368e5a[_0x1a4e('0x2c37')]([],_0x1adc17,_0x55ff7e[_0x1a4e('0x2cb')],void 0x0,void 0x0,void 0x0);switch(_0x420b32[_0x1a4e('0x5d')][_0x1a4e('0x146b')]){case 0xc4:var _0x56674b=_0x420b32[_0x1a4e('0x5d')],_0x4ee65e=_0x368e5a['concatenate'](_0x1adc17,_0xf79407(_0x56674b,0x79)),_0x1d17c9=_0x368e5a[_0x1a4e('0x2c3b')](void 0x0,_0x4ee65e,void 0x0,_0x2c9ec9[_0x1a4e('0x2cb')],void 0x0,void 0x0,_0x56674b[_0x1a4e('0x111a')],void 0x0,_0x56674b[_0x1a4e('0x8f2')]);return _0x368e5a['copyComments'](_0x420b32,_0x1d17c9,_0x2327c6),_0x1d17c9;case 0xc5:var _0x427fc1=_0x420b32[_0x1a4e('0x5d')],_0x541925=_0x427fc1[_0x1a4e('0x8f2')],_0x361f8d=void 0x0;_0x361f8d=0xda===_0x541925['kind']?_0x541925:_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2ca3')](_0x541925)]);_0x4ee65e=_0x368e5a[_0x1a4e('0x1717')](_0x1adc17,_0xf79407(_0x427fc1,0x79)),_0x1d17c9=_0x368e5a[_0x1a4e('0x2c3b')](void 0x0,_0x4ee65e,void 0x0,_0x2c9ec9['name'],void 0x0,void 0x0,_0x427fc1[_0x1a4e('0x111a')],void 0x0,_0x361f8d);return _0x368e5a[_0x1a4e('0x323c')](_0x420b32,_0x1d17c9,_0x2327c6),_0x1d17c9;default:if(_0x368e5a[_0x1a4e('0x23a9')](_0x2327c6))return;var _0x52f9fe=_0x368e5a[_0x1a4e('0x2c37')](void 0x0,_0x1adc17,_0x2c9ec9[_0x1a4e('0x2cb')],void 0x0,void 0x0,_0x420b32[_0x1a4e('0x5d')]);return _0x368e5a['copyComments'](_0x420b32[_0x1a4e('0x11c')],_0x52f9fe,_0x2327c6),_0x52f9fe;}}}}}}function _0xf79407(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0xd9')](_0x146f6e[_0x1a4e('0x242d')],function(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]===_0x2327c6;});}_0x146f6e['registerCodeFix']({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0xf79407=_0x368e5a['textChanges']['ChangeTracker'][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0x1adc17(_0x368e5a,_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x55ff7e[_0x1a4e('0x303a')]['getTypeChecker']());});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0xf79407,_0x368e5a['Diagnostics'][_0x1a4e('0x3530')],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3531')])];},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x146f6e,_0x2327c6){return _0x1adc17(_0x146f6e,_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')],_0x368e5a[_0x1a4e('0x303a')]['getTypeChecker']());});}});}(_0x368e5a['codefix']||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x3532'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')]['This_may_be_converted_to_an_async_function'][_0x1a4e('0x1617')]],_0x1adc17=!0x0;function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x56674b,_0xd63991=_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x55ff7e);if(_0x56674b=_0x368e5a['isIdentifier'](_0xd63991)&&_0x368e5a[_0x1a4e('0x238d')](_0xd63991['parent'])&&_0xd63991[_0x1a4e('0x11c')][_0x1a4e('0x236a')]&&_0x368e5a[_0x1a4e('0x254d')](_0xd63991[_0x1a4e('0x11c')]['initializer'])?_0xd63991['parent'][_0x1a4e('0x236a')]:_0x368e5a[_0x1a4e('0x172e')](_0x368e5a[_0x1a4e('0x2a5b')](_0x368e5a['getTokenAtPosition'](_0x2327c6,_0x55ff7e)),_0x368e5a[_0x1a4e('0x254d')])){var _0x1284b8,_0x28d887,_0x253c7b=_0x368e5a[_0x1a4e('0x1772')](),_0xc7db7c=_0x368e5a['createMap'](),_0xc11abd=[],_0xe23066=_0x368e5a['isInJSFile'](_0x56674b),_0x40e93b=function(_0x146f6e,_0x2327c6){if(!_0x146f6e[_0x1a4e('0x8f2')])return _0x368e5a[_0x1a4e('0x1772')]();var _0x55ff7e=_0x368e5a[_0x1a4e('0x1772')]();return _0x368e5a['forEachChild'](_0x146f6e[_0x1a4e('0x8f2')],function _0x146f6e(_0x1adc17){_0x2c9ec9(_0x1adc17,_0x2327c6,_0x1a4e('0xdf8'))?(_0x55ff7e['set'](_0x368e5a[_0x1a4e('0x25ec')](_0x1adc17)['toString'](),!0x0),_0x368e5a[_0x1a4e('0x3b')](_0x1adc17['arguments'],_0x146f6e)):_0x2c9ec9(_0x1adc17,_0x2327c6,_0x1a4e('0x1586'))?(_0x55ff7e[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x25ec')](_0x1adc17)[_0x1a4e('0x95')](),!0x0),_0x368e5a[_0x1a4e('0x22eb')](_0x1adc17,_0x146f6e)):_0x2c9ec9(_0x1adc17,_0x2327c6)?_0x55ff7e[_0x1a4e('0x17a')](_0x368e5a['getNodeId'](_0x1adc17)[_0x1a4e('0x95')](),!0x0):_0x368e5a[_0x1a4e('0x22eb')](_0x1adc17,_0x146f6e);}),_0x55ff7e;}(_0x56674b,_0x1adc17),_0x307fa4=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x326eae){var _0x56674b=_0x368e5a['createMap'](),_0xd63991=_0x368e5a[_0x1a4e('0x1772')]();return _0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,function _0x146f6e(_0x2c9ec9){if(_0x368e5a['isIdentifier'](_0x2c9ec9)){var _0x1284b8=_0x2327c6['getSymbolAtLocation'](_0x2c9ec9),_0x28d887=_0x1284b8&&function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x2340')]&&_0x368e5a['valueDeclaration']['getSourceFile']()===_0x146f6e;}(_0x1284b8,_0x1adc17[_0x1a4e('0x27e7')]);if(_0x1284b8&&_0x28d887){var _0x253c7b=_0x23568e(_0x2327c6[_0x1a4e('0x31d9')](_0x2c9ec9),_0x2327c6),_0xc7db7c=_0x368e5a[_0x1a4e('0x2889')](_0x1284b8)['toString']();if(!_0x253c7b||_0x368e5a[_0x1a4e('0x254d')](_0x2c9ec9[_0x1a4e('0x11c')])||_0x55ff7e[_0x1a4e('0x178')](_0xc7db7c)){if(_0x2c9ec9['parent']&&(_0x368e5a[_0x1a4e('0x24ac')](_0x2c9ec9[_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x238d')](_0x2c9ec9[_0x1a4e('0x11c')]))){var _0xc11abd=_0x2c9ec9[_0x1a4e('0xe04')],_0xe23066=_0xd63991[_0x1a4e('0x179')](_0xc11abd);if(_0xe23066&&_0xe23066[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a!==_0x1284b8;})){var _0x40e93b=_0x1b06ad(_0x2c9ec9,_0xd63991);_0x56674b[_0x1a4e('0x17a')](_0xc7db7c,_0x40e93b[_0x1a4e('0x31bb')]),_0x55ff7e[_0x1a4e('0x17a')](_0xc7db7c,_0x40e93b),_0x326eae[_0x1a4e('0x46')]({'identifier':_0x40e93b[_0x1a4e('0x31bb')],'symbol':_0x1284b8}),_0x420b32(_0xd63991,_0xc11abd,_0x1284b8);}else{var _0x307fa4=_0x368e5a[_0x1a4e('0x3234')](_0x2c9ec9);_0x56674b[_0x1a4e('0x17a')](_0xc7db7c,_0x307fa4),_0x55ff7e[_0x1a4e('0x17a')](_0xc7db7c,{'identifier':_0x307fa4,'types':[],'numberOfAssignmentsOriginal':_0x326eae[_0x1a4e('0xd9')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x31bb')][_0x1a4e('0xe04')]===_0x2c9ec9[_0x1a4e('0xe04')];})[_0x1a4e('0x1e')]}),(_0x368e5a[_0x1a4e('0x24ac')](_0x2c9ec9[_0x1a4e('0x11c')])&&function(_0x146f6e){var _0x55ff7e=_0x146f6e[_0x1a4e('0x11c')];if(_0x368e5a['isCallExpression'](_0x55ff7e)||_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e)&&!_0xf79407['get'](_0x368e5a['getNodeId'](_0x55ff7e)['toString']())){var _0x1adc17=_0x2327c6[_0x1a4e('0x31d9')](_0x55ff7e),_0x2c9ec9=_0x1adc17&&_0x2327c6[_0x1a4e('0x33b2')](_0x1adc17);return!!_0x2c9ec9;}return!0x1;}(_0x2c9ec9[_0x1a4e('0x11c')][_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x238d')](_0x2c9ec9[_0x1a4e('0x11c')]))&&(_0x326eae[_0x1a4e('0x46')]({'identifier':_0x307fa4,'symbol':_0x1284b8}),_0x420b32(_0xd63991,_0xc11abd,_0x1284b8));}}}else{var _0x4c9ede=_0x368e5a[_0x1a4e('0x1721')](_0x253c7b[_0x1a4e('0x111a')]),_0x2b04e3=_0x4c9ede&&_0x368e5a['isParameter'](_0x4c9ede[_0x1a4e('0x2340')])&&_0x368e5a[_0x1a4e('0x172e')](_0x4c9ede[_0x1a4e('0x2340')][_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2370')])||_0x368e5a['createOptimisticUniqueName'](_0x1a4e('0x13f')),_0x304937=_0x1b06ad(_0x2b04e3,_0xd63991);_0x55ff7e['set'](_0xc7db7c,_0x304937),_0x326eae[_0x1a4e('0x46')]({'identifier':_0x304937['identifier'],'symbol':_0x1284b8}),_0x420b32(_0xd63991,_0x2b04e3[_0x1a4e('0xe04')],_0x1284b8);}}}else _0x368e5a[_0x1a4e('0x22eb')](_0x2c9ec9,_0x146f6e);}),_0x368e5a['getSynthesizedDeepCloneWithRenames'](_0x146f6e,!0x0,_0x56674b,_0x2327c6,function(_0x146f6e,_0x1adc17){if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)){var _0x420b32=_0x2327c6['getSymbolAtLocation'](_0x146f6e),_0x1b06ad=_0x420b32&&_0x368e5a[_0x1a4e('0x2889')](_0x420b32)['toString'](),_0x326eae=_0x420b32&&_0x55ff7e[_0x1a4e('0x179')](_0x1b06ad);if(_0x326eae){var _0x56674b=_0x2327c6['getTypeAtLocation'](_0x146f6e);_0x2c9ec9['set'](_0x368e5a['getNodeId'](_0x1adc17)['toString'](),_0x56674b);}}var _0xd63991=_0xf79407['get'](_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e)[_0x1a4e('0x95')]());void 0x0!==_0xd63991&&(_0xf79407['delete'](_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e)[_0x1a4e('0x95')]()),_0xf79407[_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x25ec')](_0x1adc17)[_0x1a4e('0x95')](),_0xd63991));});}(_0x56674b,_0x1adc17,_0x253c7b,_0xf79407,_0x40e93b,_0xc7db7c,_0xc11abd),_0x4c9ede=function(_0x368e5a){var _0x146f6e=[];return _0x368e5a[_0x1a4e('0x3b')](function(_0x368e5a){0x0===_0x368e5a['numberOfAssignmentsOriginal']&&_0x146f6e['push'](_0x368e5a[_0x1a4e('0x31bb')]);}),_0x146f6e;}(_0x253c7b),_0x2b04e3=_0x307fa4[_0x1a4e('0x8f2')]&&_0x368e5a[_0x1a4e('0x250c')](_0x307fa4[_0x1a4e('0x8f2')])?(_0x1284b8=_0x307fa4[_0x1a4e('0x8f2')],_0x28d887=[],_0x368e5a[_0x1a4e('0x2386')](_0x1284b8,function(_0x146f6e){_0x368e5a[_0x1a4e('0x33b4')](_0x146f6e)&&_0x28d887['push'](_0x146f6e);}),_0x28d887):_0x368e5a[_0x1a4e('0x1700')],_0x304937={'checker':_0x1adc17,'synthNamesMap':_0x253c7b,'allVarNames':_0xc11abd,'setOfExpressionsToReturn':_0x40e93b,'constIdentifiers':_0x4c9ede,'originalTypeMap':_0xc7db7c,'isInJSFile':_0xe23066};if(_0x2b04e3[_0x1a4e('0x1e')]){_0x146f6e[_0x1a4e('0x3533')](_0x2327c6,0x79,_0x56674b);for(var _0x9b113e=function(_0x55ff7e){_0x368e5a[_0x1a4e('0x22eb')](_0x55ff7e,function _0x1adc17(_0xf79407){_0x368e5a[_0x1a4e('0x2372')](_0xf79407)?function(_0x368e5a,_0x55ff7e){var _0x1adc17=_0x326eae(_0x368e5a,_0x304937,_0x368e5a);_0x146f6e[_0x1a4e('0x337a')](_0x2327c6,_0x55ff7e,_0x1adc17);}(_0xf79407,_0x55ff7e):_0x368e5a[_0x1a4e('0x2342')](_0xf79407)||_0x368e5a[_0x1a4e('0x22eb')](_0xf79407,_0x1adc17);});},_0x3b8a03=0x0,_0x38160a=_0x2b04e3;_0x3b8a03<_0x38160a[_0x1a4e('0x1e')];_0x3b8a03++){_0x9b113e(_0x38160a[_0x3b8a03]);}}}}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=(_0x55ff7e?_0x368e5a[_0x1a4e('0x2372')](_0x146f6e):_0x368e5a[_0x1a4e('0x24a8')](_0x146f6e))&&(!_0x55ff7e||_0x368e5a['hasPropertyAccessExpressionWithName'](_0x146f6e,_0x55ff7e))&&_0x2327c6['getTypeAtLocation'](_0x146f6e);return!(!_0x1adc17||!_0x2327c6['getPromisedTypeOfPromise'](_0x1adc17));}function _0x420b32(_0x368e5a,_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x178')](_0x146f6e)?_0x368e5a[_0x1a4e('0x179')](_0x146f6e)['push'](_0x2327c6):_0x368e5a['set'](_0x146f6e,[_0x2327c6]);}function _0x1b06ad(_0x146f6e,_0x2327c6){var _0x55ff7e=(_0x2327c6['get'](_0x146f6e['text'])||_0x368e5a[_0x1a4e('0x1700')])['length'];return{'identifier':0x0===_0x55ff7e?_0x146f6e:_0x368e5a['createIdentifier'](_0x146f6e[_0x1a4e('0xe04')]+'_'+_0x55ff7e),'types':[],'numberOfAssignmentsOriginal':0x0};}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407){if(!_0x146f6e)return _0x368e5a['emptyArray'];var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&_0x2327c6[_0x1a4e('0x3534')][_0x1a4e('0x179')](_0x368e5a['getNodeId'](_0x146f6e)[_0x1a4e('0x95')]())||_0x2327c6['checker']['getTypeAtLocation'](_0x146f6e);return _0x368e5a[_0x1a4e('0x2372')](_0x146f6e)&&_0x368e5a['hasPropertyAccessExpressionWithName'](_0x146f6e,'then')&&_0x2c9ec9&&_0x2327c6['checker'][_0x1a4e('0x33b2')](_0x2c9ec9)?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x146f6e[_0x1a4e('0x2373')],_0x2c9ec9=_0xf79407[0x0],_0x420b32=_0xf79407[0x1];if(!_0x2c9ec9)return _0x326eae(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6,_0x55ff7e);var _0x1b06ad=_0x457a5b(_0x2c9ec9,_0x2327c6),_0x56674b=_0x521fa0(_0x2c9ec9,_0x1adc17,_0x1b06ad,_0x146f6e,_0x2327c6);if(_0x420b32){var _0x296b94=_0x457a5b(_0x420b32,_0x2327c6),_0x5cad45=_0x368e5a['createBlock'](_0x326eae(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6,_0x146f6e,_0x1b06ad)[_0x1a4e('0x9a')](_0x56674b)),_0x500eeb=_0x521fa0(_0x420b32,_0x1adc17,_0x296b94,_0x146f6e,_0x2327c6),_0x40a575=_0x296b94?_0x296b94['identifier']['text']:'e',_0x109f76=_0x368e5a['createCatchClause'](_0x40a575,_0x368e5a[_0x1a4e('0x2c91')](_0x500eeb));return[_0x368e5a[_0x1a4e('0x2caa')](_0x5cad45,_0x109f76,void 0x0)];}return _0x326eae(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6,_0x146f6e,_0x1b06ad)[_0x1a4e('0x9a')](_0x56674b);}(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407):_0x368e5a[_0x1a4e('0x2372')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x31c6')](_0x146f6e,_0x1a4e('0x1586'))&&_0x2c9ec9&&_0x2327c6[_0x1a4e('0x257b')][_0x1a4e('0x33b2')](_0x2c9ec9)?function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e[_0x1a4e('0x2373')][0x0],_0xf79407=_0x457a5b(_0x1adc17,_0x2327c6),_0x2c9ec9=_0x2327c6[_0x1a4e('0x3535')]['get'](_0x368e5a['getNodeId'](_0x146f6e)['toString']());_0x55ff7e&&!_0x2c9ec9&&(_0x55ff7e[_0x1a4e('0x3536')]=0x2,_0x2327c6[_0x1a4e('0x3537')][_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){if(_0x368e5a[_0x1a4e('0x31bb')][_0x1a4e('0xe04')]===_0x55ff7e[_0x1a4e('0x31bb')][_0x1a4e('0xe04')]){var _0x1adc17=_0x56674b(_0x55ff7e);_0x2327c6['synthNamesMap'][_0x1a4e('0x17a')](_0x146f6e,_0x1adc17);}}),_0x2327c6[_0x1a4e('0x3538')]['some'](function(_0x368e5a){return _0x368e5a[_0x1a4e('0xe04')]===_0x55ff7e[_0x1a4e('0x31bb')][_0x1a4e('0xe04')];})&&_0x2327c6['constIdentifiers']['push'](_0x56674b(_0x55ff7e)[_0x1a4e('0x31bb')]));var _0x420b32,_0x1b06ad=_0x368e5a[_0x1a4e('0x2c91')](_0x326eae(_0x146f6e['expression'],_0x2327c6,_0x146f6e,_0x55ff7e)),_0x4c5bae=_0x521fa0(_0x1adc17,_0x55ff7e,_0xf79407,_0x146f6e,_0x2327c6),_0x5107cd=_0xf79407?_0xf79407['identifier']['text']:'e',_0x592b4d=_0x368e5a[_0x1a4e('0x2ce8')](_0x5107cd,_0x368e5a['createBlock'](_0x4c5bae));if(_0x55ff7e&&!_0x2c9ec9){var _0x371ab0=_0x55ff7e[_0x1a4e('0x2380')],_0x4f93f8=_0x2327c6[_0x1a4e('0x257b')][_0x1a4e('0x351b')](_0x371ab0,0x2),_0x114483=_0x2327c6[_0x1a4e('0x24e1')]?void 0x0:_0x2327c6[_0x1a4e('0x257b')][_0x1a4e('0x28dd')](_0x4f93f8),_0x6bd9bb=[_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x3234')](_0x55ff7e['identifier']),_0x114483)];_0x420b32=_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')](_0x6bd9bb,0x1));}var _0x3d6c20=_0x368e5a[_0x1a4e('0x2caa')](_0x1b06ad,_0x592b4d,void 0x0);return _0x420b32?[_0x420b32,_0x3d6c20]:[_0x3d6c20];}(_0x146f6e,_0x2327c6,_0xf79407):_0x368e5a[_0x1a4e('0x2371')](_0x146f6e)?_0x326eae(_0x146f6e[_0x1a4e('0x2302')],_0x2327c6,_0x55ff7e,_0xf79407):_0x2c9ec9&&_0x2327c6[_0x1a4e('0x257b')][_0x1a4e('0x33b2')](_0x2c9ec9)?function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x3535')][_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e)[_0x1a4e('0x95')]()),_0xf79407=_0x146f6e[_0x1a4e('0x1604')]?_0x146f6e[_0x1a4e('0x1604')]['parent']:_0x146f6e[_0x1a4e('0x11c')];if(_0x55ff7e&&!_0x1adc17&&(!_0xf79407||_0x368e5a[_0x1a4e('0x2371')](_0xf79407)))return _0x54d042(_0x55ff7e,_0x368e5a[_0x1a4e('0x2c76')](_0x146f6e),_0x2327c6);if(!_0x55ff7e&&!_0x1adc17&&(!_0xf79407||_0x368e5a['isPropertyAccessExpression'](_0xf79407)))return[_0x368e5a[_0x1a4e('0x2c96')](_0x368e5a[_0x1a4e('0x2c76')](_0x146f6e))];return[_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a['getSynthesizedDeepClone'](_0x146f6e))];}(_0x146f6e,_0x2327c6,_0xf79407):(_0x1adc17=!0x1,_0x368e5a[_0x1a4e('0x1700')]);}function _0x56674b(_0x146f6e){return{'identifier':_0x368e5a['createOptimisticUniqueName'](_0x146f6e[_0x1a4e('0x31bb')][_0x1a4e('0xe04')]),'types':[],'numberOfAssignmentsOriginal':0x0};}function _0x4ff263(_0x368e5a,_0x146f6e){return _0x146f6e[_0x1a4e('0x1c2')](function(_0x146f6e){return _0x146f6e['text']===_0x368e5a[_0x1a4e('0xe04')];})?0x2:0x1;}function _0x54d042(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x146f6e&&0x0!==_0x146f6e[_0x1a4e('0x31bb')][_0x1a4e('0xe04')][_0x1a4e('0x1e')]?_0x146f6e['types'][_0x1a4e('0x1e')]<_0x146f6e[_0x1a4e('0x3536')]?[_0x368e5a[_0x1a4e('0x2c96')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x3234')](_0x146f6e[_0x1a4e('0x31bb')]),_0x2327c6))]:[_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a['createVariableDeclaration'](_0x368e5a[_0x1a4e('0x3234')](_0x146f6e[_0x1a4e('0x31bb')]),void 0x0,_0x2327c6)],_0x4ff263(_0x146f6e[_0x1a4e('0x31bb')],_0x55ff7e[_0x1a4e('0x3538')])))]:[_0x368e5a[_0x1a4e('0x2c96')](_0x2327c6)];}function _0x521fa0(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x420b32){var _0x1b06ad=_0x420b32[_0x1a4e('0x3535')]['get'](_0x368e5a[_0x1a4e('0x25ec')](_0xf79407)[_0x1a4e('0x95')]());switch(_0x146f6e['kind']){case 0x60:break;case 0x48:if(!_0x55ff7e)break;var _0x326eae=_0x368e5a['createCall'](_0x368e5a[_0x1a4e('0x3234')](_0x146f6e),void 0x0,[_0x55ff7e[_0x1a4e('0x31bb')]]);if(_0x1b06ad)return[_0x368e5a[_0x1a4e('0x2ca3')](_0x326eae)];var _0x56674b=_0x420b32[_0x1a4e('0x3534')][_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x25ec')](_0x146f6e)[_0x1a4e('0x95')]())||_0x420b32[_0x1a4e('0x257b')][_0x1a4e('0x31d9')](_0x146f6e),_0x521fa0=_0x420b32['checker'][_0x1a4e('0x249c')](_0x56674b,0x0);if(!_0x521fa0[_0x1a4e('0x1e')]){_0x1adc17=!0x1;break;}var _0x4e51a7=_0x521fa0[0x0][_0x1a4e('0x3524')](),_0x4cb342=_0x54d042(_0x2327c6,_0x368e5a['createAwait'](_0x326eae),_0x420b32);return _0x2327c6&&_0x2327c6[_0x1a4e('0x2380')][_0x1a4e('0x46')](_0x4e51a7),_0x4cb342;case 0xc4:case 0xc5:var _0x3fcb34=_0x146f6e[_0x1a4e('0x8f2')];if(_0x368e5a[_0x1a4e('0x250c')](_0x3fcb34)){for(var _0x3033c5=[],_0x4bca34=!0x1,_0x448af0=0x0,_0xf2808a=_0x3fcb34[_0x1a4e('0x2366')];_0x448af0<_0xf2808a[_0x1a4e('0x1e')];_0x448af0++){var _0x3bffce=_0xf2808a[_0x448af0];_0x368e5a['isReturnStatement'](_0x3bffce)&&(_0x4bca34=!0x0),_0x368e5a['isReturnStatementWithFixablePromiseHandler'](_0x3bffce)?_0x3033c5=_0x3033c5[_0x1a4e('0x9a')](_0x113527(_0x420b32,[_0x3bffce],_0x2327c6)):_0x3033c5[_0x1a4e('0x46')](_0x3bffce);}return _0x1b06ad?_0x3033c5[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x3234')](_0x146f6e);}):function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=[],_0x420b32=0x0,_0x1b06ad=_0x146f6e;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];if(_0x368e5a[_0x1a4e('0x2516')](_0x326eae)){if(_0x326eae[_0x1a4e('0x2302')]){var _0x56674b=_0x2c9ec9(_0x326eae[_0x1a4e('0x2302')],_0x55ff7e[_0x1a4e('0x257b')])?_0x368e5a[_0x1a4e('0x2c76')](_0x326eae[_0x1a4e('0x2302')]):_0x326eae['expression'];void 0x0===_0x2327c6?_0xf79407[_0x1a4e('0x46')](_0x368e5a['createExpressionStatement'](_0x56674b)):_0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x2327c6,void 0x0,_0x56674b)],_0x4ff263(_0x2327c6,_0x55ff7e[_0x1a4e('0x3538')]))));}}else _0xf79407[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x3234')](_0x326eae));}_0x1adc17||void 0x0===_0x2327c6||_0xf79407['push'](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a['createVariableDeclarationList']([_0x368e5a[_0x1a4e('0x2cad')](_0x2327c6,void 0x0,_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x3')))],_0x4ff263(_0x2327c6,_0x55ff7e[_0x1a4e('0x3538')]))));return _0xf79407;}(_0x3033c5,void 0x0===_0x2327c6?void 0x0:_0x2327c6[_0x1a4e('0x31bb')],_0x420b32,_0x4bca34);}var _0x1bb535=_0x113527(_0x420b32,_0x368e5a['isFixablePromiseHandler'](_0x3fcb34)?[_0x368e5a[_0x1a4e('0x2ca3')](_0x3fcb34)]:_0x368e5a['emptyArray'],_0x2327c6);if(_0x1bb535['length']>0x0)return _0x1bb535;var _0xf74d1c=_0x23568e(_0x420b32[_0x1a4e('0x257b')]['getTypeAtLocation'](_0x146f6e),_0x420b32[_0x1a4e('0x257b')])[_0x1a4e('0x3524')](),_0x6e2420=_0x368e5a[_0x1a4e('0x3234')](_0x3fcb34),_0x5790e2=_0x420b32[_0x1a4e('0x257b')][_0x1a4e('0x33b2')](_0xf74d1c)?_0x368e5a[_0x1a4e('0x2c76')](_0x6e2420):_0x6e2420;if(_0x1b06ad)return[_0x368e5a[_0x1a4e('0x2ca3')](_0x5790e2)];var _0x2c70a9=_0x54d042(_0x2327c6,_0x5790e2,_0x420b32);return _0x2327c6&&_0x2327c6['types'][_0x1a4e('0x46')](_0xf74d1c),_0x2c70a9;default:_0x1adc17=!0x1;}return _0x368e5a[_0x1a4e('0x1700')];}function _0x23568e(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6['getSignaturesOfType'](_0x146f6e,0x0);return _0x368e5a['lastOrUndefined'](_0x55ff7e);}function _0x113527(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=[],_0xf79407=0x0,_0x2c9ec9=_0x2327c6;_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x368e5a[_0x1a4e('0x22eb')](_0x420b32,function _0x2327c6(_0xf79407){if(_0x368e5a[_0x1a4e('0x2372')](_0xf79407)){var _0x2c9ec9=_0x326eae(_0xf79407,_0x146f6e,_0xf79407,_0x55ff7e);if((_0x1adc17=_0x1adc17[_0x1a4e('0x9a')](_0x2c9ec9))[_0x1a4e('0x1e')]>0x0)return;}else _0x368e5a[_0x1a4e('0x2342')](_0xf79407)||_0x368e5a[_0x1a4e('0x22eb')](_0xf79407,_0x2327c6);});}return _0x1adc17;}function _0x457a5b(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=0x0,_0xf79407=[];_0x368e5a[_0x1a4e('0x254d')](_0x146f6e)?_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x1e')]>0x0&&(_0x55ff7e=_0x2c9ec9(_0x146f6e[_0x1a4e('0x111a')][0x0]['name'])):_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&(_0x55ff7e=_0x2c9ec9(_0x146f6e));if(_0x55ff7e&&'undefined'!==_0x55ff7e[_0x1a4e('0x31bb')][_0x1a4e('0xe04')])return _0x55ff7e;function _0x2c9ec9(_0x146f6e){var _0x55ff7e,_0x2c9ec9=function(_0x368e5a){return _0x368e5a[_0x1a4e('0xb1b')]?_0x368e5a['symbol']:_0x2327c6[_0x1a4e('0x257b')]['getSymbolAtLocation'](_0x368e5a);}((_0x55ff7e=_0x146f6e)[_0x1a4e('0x1604')]?_0x55ff7e['original']:_0x55ff7e);return _0x2c9ec9&&_0x2327c6[_0x1a4e('0x3537')][_0x1a4e('0x179')](_0x368e5a['getSymbolId'](_0x2c9ec9)[_0x1a4e('0x95')]())||{'identifier':_0x146f6e,'types':_0xf79407,'numberOfAssignmentsOriginal':_0x1adc17};}}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){_0x1adc17=!0x0;var _0x2c9ec9=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')]['with'](_0x55ff7e,function(_0x368e5a){return _0xf79407(_0x368e5a,_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x55ff7e[_0x1a4e('0x303a')][_0x1a4e('0x302b')](),_0x55ff7e);});return _0x1adc17?[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x2c9ec9,_0x368e5a[_0x1a4e('0x167d')]['Convert_to_async_function'],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3539')])]:[];},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e['codeFixAll'](_0x368e5a,_0x55ff7e,function(_0x146f6e,_0x2327c6){return _0xf79407(_0x146f6e,_0x2327c6['file'],_0x2327c6[_0x1a4e('0xc9')],_0x368e5a['program'][_0x1a4e('0x302b')](),_0x368e5a);});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=0x0,_0x2c9ec9=_0x146f6e[_0x1a4e('0x10ca')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407],_0x1b06ad=_0x368e5a[_0x1a4e('0x2311')](_0x146f6e,_0x420b32[_0x1a4e('0xe04')]);if(_0x1b06ad&&_0x1b06ad['resolvedFileName']===_0x2327c6['fileName']){var _0x326eae=_0x368e5a[_0x1a4e('0x23c1')](_0x420b32);switch(_0x326eae[_0x1a4e('0x146b')]){case 0xf8:_0x55ff7e[_0x1a4e('0x34be')](_0x146f6e,_0x326eae,_0x368e5a[_0x1a4e('0x320c')](_0x326eae[_0x1a4e('0x2cb')],void 0x0,_0x420b32,_0x1adc17));break;case 0xbf:_0x368e5a[_0x1a4e('0x23ae')](_0x326eae,!0x1)&&_0x55ff7e['replaceNode'](_0x146f6e,_0x326eae,_0x368e5a[_0x1a4e('0x2894')](_0x368e5a[_0x1a4e('0x3234')](_0x326eae),_0x1a4e('0x8')));}}}}function _0x55ff7e(_0x146f6e,_0x2327c6){_0x146f6e[_0x1a4e('0x22eb')](function _0x55ff7e(_0x1adc17){if(_0x368e5a[_0x1a4e('0x2371')](_0x1adc17)&&_0x368e5a[_0x1a4e('0x2881')](_0x146f6e,_0x1adc17[_0x1a4e('0x2302')])){var _0xf79407=_0x1adc17[_0x1a4e('0x11c')];_0x2327c6(_0x1adc17,_0x368e5a[_0x1a4e('0x236e')](_0xf79407)&&_0xf79407[_0x1a4e('0x5f')]===_0x1adc17&&0x3b===_0xf79407[_0x1a4e('0x237a')]['kind']);}_0x1adc17[_0x1a4e('0x22eb')](_0x55ff7e);});}function _0x1adc17(_0x2327c6,_0x55ff7e,_0x1adc17,_0x1b06ad,_0x34b2d0,_0x336358,_0x583088,_0x47fbca){switch(_0x55ff7e['kind']){case 0xdb:return function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x1b06ad,_0x326eae){var _0x5c8682=_0x55ff7e['declarationList'],_0x34b2d0=!0x1,_0x336358=_0x368e5a['flatMap'](_0x5c8682['declarations'],function(_0x55ff7e){var _0x336358=_0x55ff7e['name'],_0x583088=_0x55ff7e['initializer'];if(_0x583088){if(_0x368e5a[_0x1a4e('0x2881')](_0x2327c6,_0x583088))return _0x34b2d0=!0x0,[];if(_0x368e5a[_0x1a4e('0x23ae')](_0x583088,!0x0))return _0x34b2d0=!0x0,function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x1b06ad,_0x326eae,_0x56674b){switch(_0x55ff7e[_0x1a4e('0x146b')]){case 0xb8:var _0x5c8682=_0x368e5a['mapAllOrFail'](_0x55ff7e[_0x1a4e('0x2398')],function(_0x146f6e){return _0x146f6e[_0x1a4e('0x25f9')]||_0x146f6e[_0x1a4e('0x236a')]||_0x146f6e[_0x1a4e('0x81a')]&&!_0x368e5a['isIdentifier'](_0x146f6e[_0x1a4e('0x81a')])||!_0x368e5a[_0x1a4e('0x2370')](_0x146f6e['name'])?void 0x0:_0x522c5c(_0x146f6e['propertyName']&&_0x146f6e[_0x1a4e('0x81a')][_0x1a4e('0xe04')],_0x146f6e[_0x1a4e('0x2cb')]['text']);});if(_0x5c8682)return[_0x368e5a[_0x1a4e('0x320c')](void 0x0,_0x5c8682,_0x1adc17,_0x56674b)];case 0xb9:var _0x34b2d0=_0x420b32(_0x146f6e[_0x1a4e('0x353a')](_0x1adc17['text'],_0x326eae),_0x1b06ad);return[_0x368e5a[_0x1a4e('0x320c')](_0x368e5a[_0x1a4e('0x2893')](_0x34b2d0),void 0x0,_0x1adc17,_0x56674b),_0x359aa1(void 0x0,_0x368e5a[_0x1a4e('0x3234')](_0x55ff7e),_0x368e5a['createIdentifier'](_0x34b2d0))];case 0x48:return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x1b06ad){for(var _0x326eae=_0xf79407[_0x1a4e('0x3029')](_0x2327c6),_0x56674b=_0x368e5a['createMap'](),_0x1d6efc=!0x1,_0x35bdc1=0x0,_0x5c8682=_0x2c9ec9[_0x1a4e('0x1604')]['get'](_0x2327c6[_0x1a4e('0xe04')]);_0x35bdc1<_0x5c8682[_0x1a4e('0x1e')];_0x35bdc1++){var _0x34b2d0=_0x5c8682[_0x35bdc1];if(_0xf79407['getSymbolAtLocation'](_0x34b2d0)===_0x326eae&&_0x34b2d0!==_0x2327c6){var _0x336358=_0x34b2d0['parent'];if(_0x368e5a[_0x1a4e('0x2371')](_0x336358)){var _0x583088=_0x336358['expression'],_0x47fbca=_0x336358[_0x1a4e('0x2cb')][_0x1a4e('0xe04')];_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x583088===_0x34b2d0);var _0x59c755=_0x56674b['get'](_0x47fbca);void 0x0===_0x59c755&&(_0x59c755=_0x420b32(_0x47fbca,_0x2c9ec9),_0x56674b['set'](_0x47fbca,_0x59c755)),_0x1adc17['replaceNode'](_0x146f6e,_0x336358,_0x368e5a[_0x1a4e('0x2893')](_0x59c755));}else _0x1d6efc=!0x0;}}var _0x206334=0x0===_0x56674b['size']?void 0x0:_0x368e5a[_0x1a4e('0x1729')](_0x368e5a[_0x1a4e('0x353b')](_0x56674b[_0x1a4e('0x3c3')](),function(_0x146f6e){var _0x2327c6=_0x146f6e[0x0],_0x55ff7e=_0x146f6e[0x1];return _0x368e5a[_0x1a4e('0x2cc7')](_0x2327c6===_0x55ff7e?void 0x0:_0x368e5a['createIdentifier'](_0x2327c6),_0x368e5a['createIdentifier'](_0x55ff7e));}));_0x206334||(_0x1d6efc=!0x0);return[_0x368e5a['makeImport'](_0x1d6efc?_0x368e5a[_0x1a4e('0x3234')](_0x2327c6):void 0x0,_0x206334,_0x55ff7e,_0x1b06ad)];}(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x1b06ad,_0x56674b);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x55ff7e);}}(_0x2327c6,_0x336358,_0x583088['arguments'][0x0],_0x1adc17,_0xf79407,_0x2c9ec9,_0x1b06ad,_0x326eae);if(_0x368e5a[_0x1a4e('0x2371')](_0x583088)&&_0x368e5a['isRequireCall'](_0x583088[_0x1a4e('0x2302')],!0x0))return _0x34b2d0=!0x0,function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xb8:case 0xb9:var _0x2c9ec9=_0x420b32(_0x2327c6,_0x1adc17);return[_0x56674b(_0x2c9ec9,_0x2327c6,_0x55ff7e,_0xf79407),_0x359aa1(void 0x0,_0x146f6e,_0x368e5a[_0x1a4e('0x2893')](_0x2c9ec9))];case 0x48:return[_0x56674b(_0x146f6e['text'],_0x2327c6,_0x55ff7e,_0xf79407)];default:return _0x368e5a['Debug'][_0x1a4e('0x1746')](_0x146f6e);}}(_0x336358,_0x583088[_0x1a4e('0x2cb')]['text'],_0x583088['expression'][_0x1a4e('0x2373')][0x0],_0x2c9ec9,_0x326eae);}return _0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x55ff7e],_0x5c8682['flags']));});_0x34b2d0&&_0x1adc17[_0x1a4e('0x337a')](_0x2327c6,_0x55ff7e,_0x336358);}(_0x2327c6,_0x55ff7e,_0x1b06ad,_0x1adc17,_0x34b2d0,_0x336358,_0x47fbca),!0x1;case 0xdd:var _0x11e12b=_0x55ff7e[_0x1a4e('0x2302')];switch(_0x11e12b['kind']){case 0xbf:return _0x368e5a[_0x1a4e('0x23ae')](_0x11e12b,!0x0)&&_0x1b06ad['replaceNode'](_0x2327c6,_0x55ff7e,_0x368e5a[_0x1a4e('0x320c')](void 0x0,void 0x0,_0x11e12b[_0x1a4e('0x2373')][0x0],_0x47fbca)),!0x1;case 0xcc:return 0x3b===_0x11e12b[_0x1a4e('0x237a')][_0x1a4e('0x146b')]&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x420b32){var _0x1b06ad=_0x55ff7e[_0x1a4e('0x5f')],_0x56674b=_0x55ff7e[_0x1a4e('0x5d')];if(!_0x368e5a['isPropertyAccessExpression'](_0x1b06ad))return!0x1;if(_0x368e5a[_0x1a4e('0x2881')](_0x146f6e,_0x1b06ad)){if(!_0x368e5a[_0x1a4e('0x2881')](_0x146f6e,_0x56674b)){var _0x53e8ea=_0x368e5a[_0x1a4e('0x236f')](_0x56674b)?(_0x34b2d0=_0x56674b,(_0x336358=_0x368e5a[_0x1a4e('0x1712')](_0x34b2d0[_0x1a4e('0x13')],function(_0x146f6e){switch(_0x146f6e['kind']){case 0x9e:case 0x9f:case 0x114:case 0x115:return;case 0x113:return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])?function(_0x146f6e,_0x2327c6){var _0x55ff7e=[_0x368e5a[_0x1a4e('0x28b6')](0x55)];switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xc4:var _0x1adc17=_0x2327c6[_0x1a4e('0x2cb')];if(_0x1adc17&&_0x1adc17[_0x1a4e('0xe04')]!==_0x146f6e)return _0xf79407();case 0xc5:return _0x326eae(_0x146f6e,_0x55ff7e,_0x2327c6);case 0xd1:return function(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2df9')](_0x368e5a['getSynthesizedDeepClones'](_0x55ff7e[_0x1a4e('0x232f')]),_0x368e5a[_0x1a4e('0x1717')](_0x2327c6,_0x368e5a[_0x1a4e('0x353c')](_0x55ff7e['modifiers'])),_0x146f6e,_0x368e5a[_0x1a4e('0x353c')](_0x55ff7e[_0x1a4e('0x23d7')]),_0x368e5a[_0x1a4e('0x353c')](_0x55ff7e[_0x1a4e('0x237f')]),_0x368e5a[_0x1a4e('0x353c')](_0x55ff7e[_0x1a4e('0x2369')]));}(_0x146f6e,_0x55ff7e,_0x2327c6);default:return _0xf79407();}function _0xf79407(){return _0x359aa1(_0x55ff7e,_0x368e5a[_0x1a4e('0x2893')](_0x146f6e),_0x2327c6);}}(_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')],_0x146f6e[_0x1a4e('0x236a')]):void 0x0;case 0x9c:return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])?_0x326eae(_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')],[_0x368e5a[_0x1a4e('0x28b6')](0x55)],_0x146f6e):void 0x0;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}))&&[_0x336358,!0x1]):_0x368e5a[_0x1a4e('0x23ae')](_0x56674b,!0x0)?function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['text'],_0x1adc17=_0x2327c6[_0x1a4e('0x3029')](_0x146f6e),_0x420b32=_0x1adc17?_0x1adc17['exports']:_0x368e5a[_0x1a4e('0x22e2')];return _0x420b32[_0x1a4e('0x178')](_0x1a4e('0x19b4'))?[[_0x2c9ec9(_0x55ff7e)],!0x0]:_0x420b32[_0x1a4e('0x178')](_0x1a4e('0x8'))?_0x420b32[_0x1a4e('0x220')]>0x1?[[_0xf79407(_0x55ff7e),_0x2c9ec9(_0x55ff7e)],!0x0]:[[_0x2c9ec9(_0x55ff7e)],!0x0]:[[_0xf79407(_0x55ff7e)],!0x1];}(_0x56674b[_0x1a4e('0x2373')][0x0],_0x2327c6):void 0x0;return _0x53e8ea?(_0x1adc17[_0x1a4e('0x337a')](_0x146f6e,_0x55ff7e[_0x1a4e('0x11c')],_0x53e8ea[0x0]),_0x53e8ea[0x1]):(_0x1adc17['replaceRangeWithText'](_0x146f6e,_0x368e5a['createRange'](_0x1b06ad['getStart'](_0x146f6e),_0x56674b[_0x1a4e('0xa4')]),_0x1a4e('0x353d')),!0x0);}_0x1adc17[_0x1a4e('0xf4c')](_0x146f6e,_0x55ff7e['parent']);}else _0x368e5a['isExportsOrModuleExportsOrAlias'](_0x146f6e,_0x1b06ad[_0x1a4e('0x2302')])&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6[_0x1a4e('0x5f')][_0x1a4e('0x2cb')]['text'],_0x2c9ec9=_0x1adc17[_0x1a4e('0x179')](_0xf79407);if(void 0x0!==_0x2c9ec9){var _0x420b32=[_0x359aa1(void 0x0,_0x2c9ec9,_0x2327c6[_0x1a4e('0x5d')]),_0x55db21([_0x368e5a[_0x1a4e('0x2ccd')](_0x2c9ec9,_0xf79407)])];_0x55ff7e[_0x1a4e('0x337a')](_0x146f6e,_0x2327c6['parent'],_0x420b32);}else!function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e['left'],_0xf79407=_0x146f6e[_0x1a4e('0x5d')],_0x2c9ec9=_0x146f6e[_0x1a4e('0x11c')],_0x420b32=_0x1adc17[_0x1a4e('0x2cb')][_0x1a4e('0xe04')];if(!(_0x368e5a['isFunctionExpression'](_0xf79407)||_0x368e5a[_0x1a4e('0x23e0')](_0xf79407)||_0x368e5a[_0x1a4e('0x237c')](_0xf79407))||_0xf79407['name']&&_0xf79407['name'][_0x1a4e('0xe04')]!==_0x420b32)_0x55ff7e[_0x1a4e('0x34ae')](_0x2327c6,_0x1adc17[_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x327f')](_0x1adc17,0x18,_0x2327c6),[_0x368e5a[_0x1a4e('0x28b6')](0x55),_0x368e5a[_0x1a4e('0x28b6')](0x4d)],{'joiner':'\x20','suffix':'\x20'});else{_0x55ff7e[_0x1a4e('0x34aa')](_0x2327c6,{'pos':_0x1adc17[_0x1a4e('0x31d6')](_0x2327c6),'end':_0xf79407[_0x1a4e('0x31d6')](_0x2327c6)},_0x368e5a['createToken'](0x55),{'suffix':'\x20'}),_0xf79407[_0x1a4e('0x2cb')]||_0x55ff7e[_0x1a4e('0x34ca')](_0x2327c6,_0xf79407,_0x420b32);var _0x1b06ad=_0x368e5a[_0x1a4e('0x327f')](_0x2c9ec9,0x1a,_0x2327c6);_0x1b06ad&&_0x55ff7e[_0x1a4e('0xf4c')](_0x2327c6,_0x1b06ad);}}(_0x2327c6,_0x146f6e,_0x55ff7e);}(_0x146f6e,_0x55ff7e,_0x1adc17,_0x420b32);var _0x34b2d0,_0x336358;return!0x1;}(_0x2327c6,_0x1adc17,_0x11e12b,_0x1b06ad,_0x583088);}default:return!0x1;}}function _0xf79407(_0x368e5a){return _0x55db21(void 0x0,_0x368e5a);}function _0x2c9ec9(_0x146f6e){return _0x55db21([_0x368e5a[_0x1a4e('0x2ccd')](void 0x0,_0x1a4e('0x8'))],_0x146f6e);}function _0x420b32(_0x368e5a,_0x146f6e){for(;_0x146f6e[_0x1a4e('0x1604')][_0x1a4e('0x178')](_0x368e5a)||_0x146f6e['additional'][_0x1a4e('0x178')](_0x368e5a);)_0x368e5a='_'+_0x368e5a;return _0x146f6e['additional'][_0x1a4e('0x17a')](_0x368e5a,!0x0),_0x368e5a;}function _0x1b06ad(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1b3e')]();return function _0x146f6e(_0x2327c6,_0x55ff7e){_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)&&function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x11c')];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xbd:return _0x146f6e[_0x1a4e('0x2cb')]!==_0x368e5a;case 0xba:case 0xfd:return _0x146f6e[_0x1a4e('0x81a')]!==_0x368e5a;default:return!0x0;}}(_0x2327c6)&&_0x55ff7e(_0x2327c6);_0x2327c6['forEachChild'](function(_0x368e5a){return _0x146f6e(_0x368e5a,_0x55ff7e);});}(_0x146f6e,function(_0x368e5a){return _0x2327c6[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0xe04')],_0x368e5a);}),_0x2327c6;}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2cb0')](_0x368e5a[_0x1a4e('0x353c')](_0x55ff7e[_0x1a4e('0x232f')]),_0x368e5a[_0x1a4e('0x1717')](_0x2327c6,_0x368e5a[_0x1a4e('0x353c')](_0x55ff7e[_0x1a4e('0x242d')])),_0x368e5a[_0x1a4e('0x3234')](_0x55ff7e[_0x1a4e('0x23fc')]),_0x146f6e,_0x368e5a['getSynthesizedDeepClones'](_0x55ff7e[_0x1a4e('0x23d7')]),_0x368e5a[_0x1a4e('0x353c')](_0x55ff7e[_0x1a4e('0x111a')]),_0x368e5a[_0x1a4e('0x3234')](_0x55ff7e[_0x1a4e('0x40')]),_0x368e5a[_0x1a4e('0x2d74')](_0x368e5a[_0x1a4e('0x3234')](_0x55ff7e[_0x1a4e('0x8f2')])));}function _0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x1a4e('0x8')===_0x2327c6?_0x368e5a[_0x1a4e('0x320c')](_0x368e5a['createIdentifier'](_0x146f6e),void 0x0,_0x55ff7e,_0x1adc17):_0x368e5a[_0x1a4e('0x320c')](void 0x0,[_0x522c5c(_0x2327c6,_0x146f6e)],_0x55ff7e,_0x1adc17);}function _0x522c5c(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2cc7')](void 0x0!==_0x146f6e&&_0x146f6e!==_0x2327c6?_0x368e5a['createIdentifier'](_0x146f6e):void 0x0,_0x368e5a[_0x1a4e('0x2893')](_0x2327c6));}function _0x359aa1(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['createVariableStatement'](_0x146f6e,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a['createVariableDeclaration'](_0x2327c6,void 0x0,_0x55ff7e)],0x2));}function _0x55db21(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2ccb')](void 0x0,void 0x0,_0x146f6e&&_0x368e5a['createNamedExports'](_0x146f6e),void 0x0===_0x2327c6?void 0x0:_0x368e5a[_0x1a4e('0x2896')](_0x2327c6));}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x33ae')][_0x1a4e('0x1617')]],'getCodeActions':function(_0xf79407){var _0x2c9ec9=_0xf79407['sourceFile'],_0x326eae=_0xf79407[_0x1a4e('0x303a')],_0x56674b=_0xf79407[_0x1a4e('0x353e')],_0x522c5c=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0xf79407,function(_0x146f6e){if(function(_0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x326eae){var _0x56674b={'original':_0x1b06ad(_0x146f6e),'additional':_0x368e5a['createMap']()},_0x522c5c=function(_0x146f6e,_0x2327c6,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x1772')]();return _0x55ff7e(_0x146f6e,function(_0x146f6e){var _0x55ff7e=_0x146f6e['name'],_0x2c9ec9=_0x55ff7e[_0x1a4e('0xe04')],_0x1b06ad=_0x55ff7e[_0x1a4e('0x23f8')];!_0xf79407['has'](_0x2c9ec9)&&(void 0x0!==_0x1b06ad&&_0x368e5a[_0x1a4e('0x23f5')](_0x1b06ad)||_0x2327c6[_0x1a4e('0x353f')](_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')],_0x146f6e,0x401b3bf,!0x0))&&_0xf79407[_0x1a4e('0x17a')](_0x2c9ec9,_0x420b32('_'+_0x2c9ec9,_0x1adc17));}),_0xf79407;}(_0x146f6e,_0x2327c6,_0x56674b);!function(_0x146f6e,_0x2327c6,_0x1adc17){_0x55ff7e(_0x146f6e,function(_0x55ff7e,_0xf79407){if(!_0xf79407){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')];_0x1adc17[_0x1a4e('0x34be')](_0x146f6e,_0x55ff7e,_0x368e5a[_0x1a4e('0x2893')](_0x2327c6[_0x1a4e('0x179')](_0x2c9ec9)||_0x2c9ec9));}});}(_0x146f6e,_0x522c5c,_0xf79407);for(var _0x359aa1=!0x1,_0x55db21=0x0,_0x1bf255=_0x146f6e[_0x1a4e('0x2366')];_0x55db21<_0x1bf255[_0x1a4e('0x1e')];_0x55db21++){var _0x10b534=_0x1bf255[_0x55db21],_0x366672=_0x1adc17(_0x146f6e,_0x10b534,_0x2327c6,_0xf79407,_0x56674b,_0x2c9ec9,_0x522c5c,_0x326eae);_0x359aa1=_0x359aa1||_0x366672;}return _0x359aa1;}(_0x2c9ec9,_0x326eae['getTypeChecker'](),_0x146f6e,_0x326eae[_0x1a4e('0x23f1')]()['target'],_0x368e5a[_0x1a4e('0x3210')](_0x2c9ec9,_0x56674b)))for(var _0xf79407=0x0,_0x522c5c=_0x326eae[_0x1a4e('0x2447')]();_0xf79407<_0x522c5c['length'];_0xf79407++){var _0x359aa1=_0x522c5c[_0xf79407];_0x2327c6(_0x359aa1,_0x2c9ec9,_0x146f6e,_0x368e5a[_0x1a4e('0x3210')](_0x359aa1,_0x56674b));}});return[_0x146f6e[_0x1a4e('0x34e5')](_0x1a4e('0x3540'),_0x522c5c,_0x368e5a[_0x1a4e('0x167d')]['Convert_to_ES6_module'])];}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x3541'),_0x55ff7e=[_0x368e5a['Diagnostics']['Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1'][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['findAncestor'](_0x368e5a['getTokenAtPosition'](_0x146f6e,_0x2327c6),_0x368e5a[_0x1a4e('0x24e9')]);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!!_0x55ff7e,_0x1a4e('0x3542')),_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e[_0x1a4e('0x5f')])?_0x55ff7e:void 0x0;}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e['right'][_0x1a4e('0xe04')],_0xf79407=_0x368e5a[_0x1a4e('0x28ae')](_0x368e5a[_0x1a4e('0x28a5')](_0x55ff7e[_0x1a4e('0x5f')],void 0x0),_0x368e5a[_0x1a4e('0x289d')](_0x368e5a[_0x1a4e('0x2896')](_0x1adc17)));_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e,_0xf79407);}_0x146f6e['registerCodeFix']({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0x2c9ec9=_0x1adc17(_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e['span'][_0x1a4e('0xc9')]);if(_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x323a')]['ChangeTracker'][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0xf79407(_0x368e5a,_0x55ff7e[_0x1a4e('0x27e7')],_0x2c9ec9);}),_0x1b06ad=_0x2c9ec9[_0x1a4e('0x5f')]['text']+'[\x22'+_0x2c9ec9[_0x1a4e('0x5d')]['text']+'\x22]';return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x420b32,[_0x368e5a['Diagnostics'][_0x1a4e('0x3543')],_0x1b06ad],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['Rewrite_all_as_indexed_access_types'])];}},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1adc17(_0x146f6e['file'],_0x146f6e['start']);_0x2327c6&&_0xf79407(_0x368e5a,_0x146f6e['file'],_0x2327c6);});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=[_0x368e5a['Diagnostics'][_0x1a4e('0x2a24')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a25')][_0x1a4e('0x1617')]],_0x55ff7e='fixClassIncorrectlyImplementsInterface';function _0x1adc17(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x368e5a[_0x1a4e('0x239a')](_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6)));}function _0xf79407(_0x146f6e){return!(0x8&_0x368e5a['getModifierFlags'](_0x146f6e['valueDeclaration']));}function _0x2c9ec9(_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1679')](_0x146f6e);if(!_0x55ff7e)return _0x368e5a[_0x1a4e('0x22e7')]();var _0x1adc17=_0x2327c6[_0x1a4e('0x31d9')](_0x55ff7e),_0x2c9ec9=_0x2327c6[_0x1a4e('0x32ad')](_0x1adc17);return _0x368e5a[_0x1a4e('0x22e7')](_0x2c9ec9[_0x1a4e('0xd9')](_0xf79407));}(_0x2c9ec9,_0x2327c6),_0x56674b=_0x2327c6['getTypeAtLocation'](_0x55ff7e),_0x417e20=_0x2327c6[_0x1a4e('0x32ad')](_0x56674b)['filter'](_0x368e5a['and'](_0xf79407,function(_0x368e5a){return!_0x326eae[_0x1a4e('0x178')](_0x368e5a[_0x1a4e('0x22e8')]);})),_0x277d61=_0x2327c6[_0x1a4e('0x31d9')](_0x2c9ec9);function _0x2f6b14(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x2327c6[_0x1a4e('0x332b')](_0x368e5a,_0x146f6e);_0x55ff7e&&_0x420b32[_0x1a4e('0x34c0')](_0x1adc17,_0x2c9ec9,_0x2327c6['indexInfoToIndexSignatureDeclaration'](_0x55ff7e,_0x146f6e,_0x2c9ec9));}_0x277d61['getNumberIndexType']()||_0x2f6b14(_0x56674b,0x1),_0x277d61['getStringIndexType']()||_0x2f6b14(_0x56674b,0x0),_0x146f6e['createMissingMemberNodes'](_0x2c9ec9,_0x417e20,_0x2327c6,_0x1b06ad,function(_0x368e5a){return _0x420b32[_0x1a4e('0x34c0')](_0x1adc17,_0x2c9ec9,_0x368e5a);});}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x2327c6,'getCodeActions':function(_0x2327c6){var _0xf79407=_0x2327c6[_0x1a4e('0x303a')],_0x420b32=_0x2327c6[_0x1a4e('0x27e7')],_0x1b06ad=_0x2327c6[_0x1a4e('0x24c0')],_0x326eae=_0x1adc17(_0x420b32,_0x1b06ad['start']),_0x56674b=_0xf79407[_0x1a4e('0x302b')]();return _0x368e5a[_0x1a4e('0x1713')](_0x368e5a[_0x1a4e('0x167a')](_0x326eae),function(_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x368e5a){return _0x2c9ec9(_0x56674b,_0x1adc17,_0x420b32,_0x326eae,_0x368e5a,_0x2327c6[_0x1a4e('0x353e')]);});return 0x0===_0xf79407[_0x1a4e('0x1e')]?void 0x0:_0x146f6e[_0x1a4e('0x34e6')](_0x55ff7e,_0xf79407,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3544')],_0x1adc17[_0x1a4e('0x230e')](_0x420b32)],_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3545')]);});},'fixIds':[_0x55ff7e],'getAllCodeActions':function(_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x1772')]();return _0x146f6e[_0x1a4e('0x34ee')](_0x55ff7e,_0x2327c6,function(_0x146f6e,_0x2327c6){var _0x420b32=_0x1adc17(_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')]);if(_0x368e5a[_0x1a4e('0x3048')](_0xf79407,_0x368e5a[_0x1a4e('0x25ec')](_0x420b32)))for(var _0x1b06ad=0x0,_0x326eae=_0x368e5a[_0x1a4e('0x167a')](_0x420b32);_0x1b06ad<_0x326eae['length'];_0x1b06ad++){var _0x56674b=_0x326eae[_0x1b06ad];_0x2c9ec9(_0x55ff7e[_0x1a4e('0x303a')][_0x1a4e('0x302b')](),_0x56674b,_0x2327c6[_0x1a4e('0x15c9')],_0x420b32,_0x146f6e,_0x55ff7e['preferences']);}});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){_0x146f6e[_0x1a4e('0x3546')]='fixMissingImport';var _0x2327c6,_0x55ff7e,_0x1adc17=[_0x368e5a['Diagnostics'][_0x1a4e('0x2a50')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3547')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2961')][_0x1a4e('0x1617')],_0x368e5a['Diagnostics'][_0x1a4e('0x2960')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x296f')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x295f')][_0x1a4e('0x1617')],_0x368e5a['Diagnostics'][_0x1a4e('0x2965')]['code']];function _0xf79407(_0x146f6e,_0x2327c6){return!(0x401b3bf&_0x368e5a[_0x1a4e('0x32ba')](_0x146f6e,_0x2327c6)['flags']);}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x56674b=_0x1adc17['getTypeChecker'](),_0x2dd76b=_0x368e5a['flatMap'](_0x146f6e,function(_0x146f6e){return function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e['moduleSymbol'],_0xf79407=_0x146f6e['importKind'];return _0x146f6e[_0x1a4e('0x3548')]&&_0x368e5a[_0x1a4e('0x23a9')](_0x55ff7e)?_0x368e5a['emptyArray']:_0x368e5a['mapDefined'](_0x55ff7e['imports'],function(_0x146f6e){var _0x55ff7e=_0x368e5a[_0x1a4e('0x23c1')](_0x146f6e);return 0xf9!==_0x55ff7e['kind']&&0xf8!==_0x55ff7e[_0x1a4e('0x146b')]||_0x2327c6[_0x1a4e('0x3029')](_0x146f6e)!==_0x1adc17?void 0x0:{'declaration':_0x55ff7e,'importKind':_0xf79407};});}(_0x146f6e,_0x56674b,_0xf79407);}),_0x4636d3=void 0x0===_0x55ff7e?void 0x0:function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x1703')](_0x146f6e,function(_0x146f6e){var _0xf79407=_0x146f6e[_0x1a4e('0x2350')],_0x2c9ec9=function(_0x146f6e){if(0xf9===_0x146f6e[_0x1a4e('0x146b')]){var _0x2327c6=_0x146f6e['importClause']&&_0x368e5a[_0x1a4e('0x2d8d')](_0x146f6e[_0x1a4e('0x23c6')])&&_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')];return _0x2327c6&&0xfb===_0x2327c6[_0x1a4e('0x146b')]?_0x2327c6['name']:void 0x0;}return _0x146f6e[_0x1a4e('0x2cb')];}(_0xf79407);if(_0x2c9ec9){var _0x420b32=_0x1adc17[_0x1a4e('0x248d')](_0x1adc17[_0x1a4e('0x3029')](_0x2c9ec9));if(_0x420b32&&_0x420b32['exports'][_0x1a4e('0x178')](_0x368e5a['escapeLeadingUnderscores'](_0x2327c6)))return{'kind':0x0,'namespacePrefix':_0x2c9ec9[_0x1a4e('0xe04')],'position':_0x55ff7e};}});}(_0x2dd76b,_0x2327c6,_0x55ff7e,_0x56674b),_0x2fb222=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x1703')](_0x146f6e,function(_0x368e5a){var _0x146f6e=_0x368e5a['declaration'],_0x2327c6=_0x368e5a[_0x1a4e('0x3549')];if(0xf9===_0x146f6e[_0x1a4e('0x146b')]){var _0x55ff7e=_0x146f6e[_0x1a4e('0x23c6')];if(_0x55ff7e){var _0x1adc17=_0x55ff7e['name'],_0xf79407=_0x55ff7e[_0x1a4e('0x23c7')];return 0x1===_0x2327c6&&!_0x1adc17||0x0===_0x2327c6&&(!_0xf79407||0xfc===_0xf79407['kind'])?{'kind':0x2,'importClause':_0x55ff7e,'importKind':_0x2327c6}:void 0x0;}}});}(_0x2dd76b),_0x3f00eb=_0x2fb222?[_0x2fb222]:function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x56674b=_0x368e5a['firstDefined'](_0x2327c6,_0x326eae);return _0x56674b?[_0x56674b]:_0x1b06ad(_0x55ff7e,_0x1adc17,_0xf79407,_0x146f6e,_0x2c9ec9,_0x420b32);}(_0x146f6e,_0x2dd76b,_0x1adc17,_0xf79407,_0x55ff7e,_0x2c9ec9,_0x420b32);return(_0x4636d3?[_0x4636d3]:_0x368e5a[_0x1a4e('0x1700')])[_0x1a4e('0x9a')](_0x3f00eb);}function _0x1b06ad(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x23a9')](_0x2327c6),_0x1b06ad=_0x368e5a['flatMap'](_0x1adc17,function(_0x1adc17){var _0x1b06ad=_0x1adc17['moduleSymbol'],_0x326eae=_0x1adc17['importKind'],_0x56674b=_0x1adc17[_0x1a4e('0x3548')];return _0x368e5a[_0x1a4e('0x28d0')][_0x1a4e('0x28d5')](_0x1b06ad,_0x146f6e[_0x1a4e('0x23f1')](),_0x2327c6,_0xf79407,_0x146f6e[_0x1a4e('0x2447')](),_0x2c9ec9,_0x146f6e[_0x1a4e('0x28d6')])[_0x1a4e('0x21')](function(_0x146f6e){return _0x56674b&&_0x420b32?{'kind':0x1,'moduleSpecifier':_0x146f6e,'position':_0x368e5a['Debug'][_0x1a4e('0x1744')](_0x55ff7e)}:{'kind':0x3,'moduleSpecifier':_0x146f6e,'importKind':_0x326eae};});});return _0x368e5a[_0x1a4e('0x89')](_0x1b06ad,function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x23c5')][_0x1a4e('0x1e')]-_0x146f6e[_0x1a4e('0x23c5')][_0x1a4e('0x1e')];});}function _0x326eae(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x2350')],_0x55ff7e=_0x146f6e[_0x1a4e('0x3549')],_0x1adc17=0xf9===_0x2327c6[_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x23c5')]:0x103===_0x2327c6[_0x1a4e('0x236d')][_0x1a4e('0x146b')]?_0x2327c6[_0x1a4e('0x236d')][_0x1a4e('0x2302')]:void 0x0;return _0x1adc17&&_0x368e5a[_0x1a4e('0x2374')](_0x1adc17)?{'kind':0x3,'moduleSpecifier':_0x1adc17[_0x1a4e('0xe04')],'importKind':_0x55ff7e}:void 0x0;}function _0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['getTokenAtPosition'](_0x146f6e[_0x1a4e('0x27e7')],_0x55ff7e),_0xf79407=_0x2327c6===_0x368e5a['Diagnostics'][_0x1a4e('0x295f')][_0x1a4e('0x1617')]?function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x27e7')],_0x1adc17=_0x146f6e[_0x1a4e('0x303a')],_0xf79407=_0x146f6e[_0x1a4e('0x1599')],_0x420b32=_0x146f6e[_0x1a4e('0x353e')],_0x1b06ad=_0x1adc17[_0x1a4e('0x302b')](),_0x326eae=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)?_0x2327c6[_0x1a4e('0x3029')](_0x146f6e):void 0x0;if(_0x368e5a[_0x1a4e('0x249e')](_0x55ff7e))return _0x55ff7e;var _0x1adc17=_0x146f6e['parent'];return _0x368e5a[_0x1a4e('0x256e')](_0x1adc17)&&_0x1adc17['tagName']===_0x146f6e||_0x368e5a['isJsxOpeningFragment'](_0x1adc17)?_0x368e5a[_0x1a4e('0x172e')](_0x2327c6[_0x1a4e('0x353f')](_0x2327c6[_0x1a4e('0x3377')](_0x1adc17),_0x368e5a[_0x1a4e('0x256e')](_0x1adc17)?_0x146f6e:_0x1adc17,0x401b3bf,!0x1),_0x368e5a[_0x1a4e('0x249e')]):void 0x0;}(_0x2327c6,_0x1b06ad);if(!_0x326eae)return;var _0x56674b=_0x1b06ad[_0x1a4e('0x248d')](_0x326eae),_0x363a50=_0x326eae[_0x1a4e('0x2cb')];return{'fixes':_0x2c9ec9([{'moduleSymbol':_0x56674b,'importKind':_0x348df3(_0x1adc17[_0x1a4e('0x23f1')]()),'exportedSymbolIsTypeOnly':!0x1}],_0x363a50,_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)?_0x2327c6[_0x1a4e('0x31d6')](_0x55ff7e):void 0x0,_0x1adc17,_0x55ff7e,_0xf79407,_0x420b32),'symbolName':_0x363a50};}(_0x146f6e,_0x1adc17):_0x368e5a['isIdentifier'](_0x1adc17)?function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['sourceFile'],_0x1adc17=_0x146f6e['program'],_0xf79407=_0x146f6e[_0x1a4e('0x3300')],_0x420b32=_0x146f6e[_0x1a4e('0x1599')],_0x1b06ad=_0x146f6e[_0x1a4e('0x353e')],_0x326eae=_0x1adc17[_0x1a4e('0x302b')](),_0x56674b=_0x368e5a[_0x1a4e('0x256e')](_0x2327c6[_0x1a4e('0x11c')])&&_0x2327c6['parent'][_0x1a4e('0x132b')]===_0x2327c6&&(_0x368e5a[_0x1a4e('0x2a82')](_0x2327c6[_0x1a4e('0xe04')])||_0x326eae[_0x1a4e('0x353f')](_0x2327c6[_0x1a4e('0xe04')],_0x2327c6,0x3ffffff,!0x1))?_0x326eae[_0x1a4e('0x3377')]():_0x2327c6['text'];return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1a4e('0x8')!==_0x56674b),{'fixes':_0x368e5a[_0x1a4e('0x1729')](_0x368e5a[_0x1a4e('0x170f')](_0x225722(_0x56674b,_0x368e5a[_0x1a4e('0x31c1')](_0x2327c6),_0xf79407,_0x55ff7e,_0x326eae,_0x1adc17)[_0x1a4e('0x3c3')](),function(_0x368e5a){return _0x368e5a[0x0],_0x2c9ec9(_0x368e5a[0x1],_0x56674b,_0x2327c6[_0x1a4e('0x31d6')](_0x55ff7e),_0x1adc17,_0x55ff7e,_0x420b32,_0x1b06ad);})),'symbolName':_0x56674b};}(_0x146f6e,_0x1adc17):void 0x0;return _0xf79407&&_0x420b32({},_0xf79407,{'fixes':_0x368e5a[_0x1a4e('0x89')](_0xf79407[_0x1a4e('0x354a')],function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0x146b')]-_0x146f6e[_0x1a4e('0x146b')];})});}function _0x348df3(_0x146f6e){if(_0x368e5a['getAllowSyntheticDefaultImports'](_0x146f6e))return 0x1;var _0x2327c6=_0x368e5a[_0x1a4e('0x2348')](_0x146f6e);switch(_0x2327c6){case _0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a31')]:case _0x368e5a[_0x1a4e('0x1a35')]['CommonJS']:case _0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a32')]:return 0x3;case _0x368e5a['ModuleKind'][_0x1a4e('0x1308')]:case _0x368e5a['ModuleKind'][_0x1a4e('0x1a33')]:case _0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1a34')]:case _0x368e5a[_0x1a4e('0x1a35')][_0x1a4e('0x1733')]:return 0x2;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}}function _0x225722(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x368e5a[_0x1a4e('0x1b3e')]();function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){_0x1b06ad[_0x1a4e('0x177')](_0x368e5a['getUniqueSymbolId'](_0x2327c6,_0x2c9ec9)['toString'](),{'moduleSymbol':_0x146f6e,'importKind':_0x55ff7e,'exportedSymbolIsTypeOnly':_0xf79407(_0x2327c6,_0x2c9ec9)});}return _0x2a74ae(_0x2c9ec9,_0x1adc17,_0x420b32[_0x1a4e('0x2447')](),function(_0x368e5a){_0x55ff7e[_0x1a4e('0x289b')]();var _0x1adc17=_0x1facb1(_0x368e5a,_0x2c9ec9,_0x420b32['getCompilerOptions']());_0x1adc17&&_0x1adc17[_0x1a4e('0x2cb')]===_0x146f6e&&_0x58e971(_0x1adc17[_0x1a4e('0x354b')],_0x2327c6)&&_0x326eae(_0x368e5a,_0x1adc17[_0x1a4e('0xb1b')],_0x1adc17[_0x1a4e('0x146b')]);var _0xf79407=_0x2c9ec9[_0x1a4e('0x354c')](_0x146f6e,_0x368e5a);_0xf79407&&_0x58e971(_0xf79407,_0x2327c6)&&_0x326eae(_0x368e5a,_0xf79407,0x0);}),_0x1b06ad;}function _0x1facb1(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x354d')]('default',_0x368e5a);if(_0x2327c6)return{'symbol':_0x2327c6,'kind':0x1};var _0x55ff7e=_0x146f6e[_0x1a4e('0x32b3')](_0x368e5a);return _0x55ff7e===_0x368e5a?void 0x0:{'symbol':_0x55ff7e,'kind':0x3};}(_0x146f6e,_0x2327c6);if(_0x1adc17){var _0xf79407=_0x1adc17[_0x1a4e('0xb1b')],_0x2c9ec9=_0x1adc17[_0x1a4e('0x146b')],_0x1b06ad=function _0x146f6e(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a['getLocalSymbolForExportDefault'](_0x2327c6);if(_0x2c9ec9)return{'symbolForMeaning':_0x2c9ec9,'name':_0x2c9ec9['name']};var _0x420b32=(_0x1b06ad=_0x2327c6,_0x1b06ad[_0x1a4e('0x22e5')]&&_0x368e5a[_0x1a4e('0x1703')](_0x1b06ad[_0x1a4e('0x22e5')],function(_0x146f6e){if(_0x368e5a['isExportAssignment'](_0x146f6e)){if(_0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2302')]))return _0x146f6e['expression'][_0x1a4e('0xe04')];}else if(_0x368e5a['isExportSpecifier'](_0x146f6e))return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1a4e('0x8')===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]),_0x146f6e['propertyName']&&_0x146f6e['propertyName']['text'];}));var _0x1b06ad;if(void 0x0!==_0x420b32)return{'symbolForMeaning':_0x2327c6,'name':_0x420b32};if(0x200000&_0x2327c6['flags']){var _0x326eae=_0x1adc17[_0x1a4e('0x32e2')](_0x2327c6);return _0x326eae&&_0x146f6e(_0x326eae,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x326eae[_0x1a4e('0x11c')]),_0x1adc17,_0xf79407);}return{'symbolForMeaning':_0x2327c6,'name':_0x31f435(_0x55ff7e,_0xf79407[_0x1a4e('0xd95')])};}(_0xf79407,_0x146f6e,_0x2327c6,_0x55ff7e);return _0x1b06ad&&_0x420b32({'symbol':_0xf79407,'kind':_0x2c9ec9},_0x1b06ad);}}function _0x881c2e(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32,_0x1b06ad=_0x368e5a['textChanges']['ChangeTracker']['with'](_0x2327c6,function(_0x146f6e){_0x420b32=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){switch(_0x1adc17[_0x1a4e('0x146b')]){case 0x0:return _0x51d94a(_0x146f6e,_0x2327c6,_0x1adc17),[_0x368e5a[_0x1a4e('0x167d')]['Change_0_to_1'],_0x55ff7e,_0x1adc17[_0x1a4e('0x354e')]+'.'+_0x55ff7e];case 0x1:return _0x22b94c(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407),[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x354f')],_0x55ff7e,_0x5717c1(_0x1adc17['moduleSpecifier'],_0xf79407)+_0x55ff7e];case 0x2:var _0x2c9ec9=_0x1adc17[_0x1a4e('0x23c6')],_0x420b32=_0x1adc17[_0x1a4e('0x3549')];_0x482693(_0x146f6e,_0x2327c6,_0x2c9ec9,0x1===_0x420b32?_0x55ff7e:void 0x0,0x0===_0x420b32?[_0x55ff7e]:_0x368e5a[_0x1a4e('0x1700')]);var _0x1b06ad=_0x368e5a[_0x1a4e('0x3231')](_0x2c9ec9[_0x1a4e('0x11c')][_0x1a4e('0x23c5')]['getText']());return[0x1===_0x420b32?_0x368e5a[_0x1a4e('0x167d')]['Add_default_import_0_to_existing_import_declaration_from_1']:_0x368e5a[_0x1a4e('0x167d')]['Add_0_to_existing_import_declaration_from_1'],_0x55ff7e,_0x1b06ad];case 0x3:var _0x420b32=_0x1adc17[_0x1a4e('0x3549')],_0x326eae=_0x1adc17[_0x1a4e('0x23c5')];return _0x3d1659(_0x146f6e,_0x2327c6,_0x326eae,_0xf79407,0x1===_0x420b32?{'defaultImport':_0x55ff7e,'namedImports':_0x368e5a[_0x1a4e('0x1700')],'namespaceLikeImport':void 0x0}:0x0===_0x420b32?{'defaultImport':void 0x0,'namedImports':[_0x55ff7e],'namespaceLikeImport':void 0x0}:{'defaultImport':void 0x0,'namedImports':_0x368e5a[_0x1a4e('0x1700')],'namespaceLikeImport':{'importKind':_0x420b32,'name':_0x55ff7e}}),[0x1===_0x420b32?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3550')]:_0x368e5a['Diagnostics'][_0x1a4e('0x3551')],_0x55ff7e,_0x326eae];default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x1adc17);}}(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9);});return _0x146f6e['createCodeFixAction']('import',_0x1b06ad,_0x420b32,_0x146f6e[_0x1a4e('0x3546')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3552')]);}function _0x482693(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x1adc17&&(_0x368e5a['Debug'][_0x1a4e('0xba0')](!_0x55ff7e[_0x1a4e('0x2cb')]),_0x146f6e[_0x1a4e('0x34b0')](_0x2327c6,_0x55ff7e['getStart'](_0x2327c6),_0x368e5a[_0x1a4e('0x2893')](_0x1adc17),{'suffix':',\x20'})),_0xf79407[_0x1a4e('0x1e')]){var _0x2c9ec9=_0xf79407[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2cc7')](void 0x0,_0x368e5a[_0x1a4e('0x2893')](_0x146f6e));});if(_0x55ff7e['namedBindings']&&_0x368e5a[_0x1a4e('0x172f')](_0x55ff7e['namedBindings'],_0x368e5a['isNamedImports'])[_0x1a4e('0x2398')][_0x1a4e('0x1e')])for(var _0x420b32=0x0,_0x1b06ad=_0x2c9ec9;_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0x146f6e[_0x1a4e('0x34cd')](_0x2327c6,_0x368e5a[_0x1a4e('0x10b1')](_0x368e5a[_0x1a4e('0x172f')](_0x55ff7e[_0x1a4e('0x23c7')],_0x368e5a[_0x1a4e('0x2521')])[_0x1a4e('0x2398')]),_0x326eae);}else if(_0x2c9ec9['length']){var _0x56674b=_0x368e5a['createNamedImports'](_0x2c9ec9);_0x55ff7e[_0x1a4e('0x23c7')]?_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e[_0x1a4e('0x23c7')],_0x56674b):_0x146f6e[_0x1a4e('0x321c')](_0x2327c6,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x55ff7e[_0x1a4e('0x2cb')]),_0x56674b);}}}function _0x51d94a(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x354e')],_0x1adc17=_0x2327c6[_0x1a4e('0x3553')];_0x368e5a['insertText'](_0x146f6e,_0x1adc17,_0x55ff7e+'.');}function _0x22b94c(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6['moduleSpecifier'],_0xf79407=_0x2327c6[_0x1a4e('0x3553')];_0x368e5a[_0x1a4e('0x34b7')](_0x146f6e,_0xf79407,_0x5717c1(_0x1adc17,_0x55ff7e));}function _0x5717c1(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3213')](_0x2327c6);return _0x1a4e('0x3554')+_0x55ff7e+_0x146f6e+_0x55ff7e+').';}function _0x3d1659(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0xf79407[_0x1a4e('0x3555')],_0x420b32=_0xf79407[_0x1a4e('0x3371')],_0x1b06ad=_0xf79407[_0x1a4e('0x3556')],_0x326eae=_0x368e5a['makeStringLiteral'](_0x55ff7e,_0x1adc17);(void 0x0!==_0x2c9ec9||_0x420b32[_0x1a4e('0x1e')])&&_0x368e5a['insertImport'](_0x146f6e,_0x2327c6,_0x368e5a['makeImport'](void 0x0===_0x2c9ec9?void 0x0:_0x368e5a[_0x1a4e('0x2893')](_0x2c9ec9),_0x420b32['map'](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2cc7')](void 0x0,_0x368e5a[_0x1a4e('0x2893')](_0x146f6e));}),_0x55ff7e,_0x1adc17)),_0x1b06ad&&_0x368e5a[_0x1a4e('0x321b')](_0x146f6e,_0x2327c6,0x3===_0x1b06ad[_0x1a4e('0x3549')]?_0x368e5a['createImportEqualsDeclaration'](void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2893')](_0x1b06ad[_0x1a4e('0x2cb')]),_0x368e5a[_0x1a4e('0x2ccf')](_0x326eae)):_0x368e5a[_0x1a4e('0x2cbf')](void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2cc1')](void 0x0,_0x368e5a[_0x1a4e('0x2cc3')](_0x368e5a[_0x1a4e('0x2893')](_0x1b06ad['name']))),_0x326eae));}function _0x58e971(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['declarations'];return _0x368e5a[_0x1a4e('0x1c2')](_0x55ff7e,function(_0x146f6e){return!!(_0x368e5a[_0x1a4e('0x31c0')](_0x146f6e)&_0x2327c6);});}function _0x2a74ae(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x2318a0(_0x146f6e,_0x55ff7e,function(_0x146f6e,_0x55ff7e){var _0xf79407,_0x2c9ec9,_0x420b32;(void 0x0===_0x55ff7e||_0x55ff7e!==_0x2327c6&&(_0xf79407=_0x2327c6[_0x1a4e('0x1b39')],_0x2c9ec9=_0x55ff7e[_0x1a4e('0x1b39')],void 0x0===(_0x420b32=_0x368e5a[_0x1a4e('0x2496')](_0x2c9ec9,function(_0x146f6e){return _0x1a4e('0x16ed')===_0x368e5a[_0x1a4e('0x2338')](_0x146f6e)?_0x146f6e:void 0x0;}))||_0x368e5a[_0x1a4e('0xdfb')](_0xf79407,_0x368e5a[_0x1a4e('0x1671')](_0x420b32))))&&_0x1adc17(_0x146f6e);});}function _0x2318a0(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=0x0,_0xf79407=_0x146f6e[_0x1a4e('0x325d')]();_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){_0x55ff7e(_0xf79407[_0x1adc17],void 0x0);}for(var _0x2c9ec9=0x0,_0x420b32=_0x2327c6;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x368e5a['isExternalOrCommonJsModule'](_0x1b06ad)&&_0x55ff7e(_0x146f6e['getMergedSymbol'](_0x1b06ad[_0x1a4e('0xb1b')]),_0x1b06ad);}}function _0x31f435(_0x146f6e,_0x2327c6){return _0x5ce183(_0x368e5a[_0x1a4e('0x241e')](_0x368e5a[_0x1a4e('0x3231')](_0x146f6e['name'])),_0x2327c6);}function _0x5ce183(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x2338')](_0x368e5a[_0x1a4e('0x1758')](_0x146f6e,_0x1a4e('0x2815'))),_0x1adc17='',_0xf79407=!0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x913')](0x0);_0x368e5a['isIdentifierStart'](_0x2c9ec9,_0x2327c6)?_0x1adc17+=String['fromCharCode'](_0x2c9ec9):_0xf79407=!0x1;for(var _0x420b32=0x1;_0x420b32<_0x55ff7e[_0x1a4e('0x1e')];_0x420b32++){var _0x1b06ad=_0x55ff7e[_0x1a4e('0x913')](_0x420b32),_0x326eae=_0x368e5a[_0x1a4e('0x22d0')](_0x1b06ad,_0x2327c6);if(_0x326eae){var _0x56674b=String['fromCharCode'](_0x1b06ad);_0xf79407||(_0x56674b=_0x56674b[_0x1a4e('0x257')]()),_0x1adc17+=_0x56674b;}_0xf79407=_0x326eae;}return _0x368e5a['isStringANonContextualKeyword'](_0x1adc17)?'_'+_0x1adc17:_0x1adc17||'_';}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x1adc17,'getCodeActions':function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x34ea')],_0x55ff7e=_0x146f6e[_0x1a4e('0x353e')],_0x1adc17=_0x146f6e[_0x1a4e('0x27e7')],_0xf79407=_0x146f6e['span'],_0x2c9ec9=_0x56674b(_0x146f6e,_0x2327c6,_0xf79407[_0x1a4e('0xc9')]);if(_0x2c9ec9){var _0x420b32=_0x2c9ec9[_0x1a4e('0x354a')],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x24d2')],_0x326eae=_0x368e5a[_0x1a4e('0x3210')](_0x1adc17,_0x55ff7e);return _0x420b32['map'](function(_0x368e5a){return _0x881c2e(_0x146f6e,_0x1adc17,_0x1b06ad,_0x368e5a,_0x326eae);});}},'fixIds':[_0x146f6e[_0x1a4e('0x3546')]],'getAllCodeActions':function(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x27e7')],_0xf79407=_0x2327c6[_0x1a4e('0x353e')],_0x2c9ec9=[],_0x420b32=[],_0x1b06ad=_0x368e5a[_0x1a4e('0x1772')](),_0x326eae=_0x368e5a[_0x1a4e('0x1772')]();return _0x146f6e[_0x1a4e('0x34ef')](_0x2327c6,_0x1adc17,function(_0x146f6e){var _0x55ff7e=_0x56674b(_0x2327c6,_0x146f6e['code'],_0x146f6e[_0x1a4e('0xc9')]);if(_0x55ff7e&&_0x55ff7e[_0x1a4e('0x354a')]['length']){var _0x1adc17=_0x55ff7e['fixes'],_0xf79407=_0x55ff7e['symbolName'],_0x348df3=_0x368e5a['first'](_0x1adc17);switch(_0x348df3[_0x1a4e('0x146b')]){case 0x0:_0x2c9ec9[_0x1a4e('0x46')](_0x348df3);break;case 0x1:_0x420b32[_0x1a4e('0x46')](_0x348df3);break;case 0x2:var _0x225722=_0x348df3['importClause'],_0x1facb1=_0x348df3[_0x1a4e('0x3549')],_0x881c2e=String(_0x368e5a[_0x1a4e('0x25ec')](_0x225722));(_0x482693=_0x1b06ad[_0x1a4e('0x179')](_0x881c2e))||_0x1b06ad[_0x1a4e('0x17a')](_0x881c2e,_0x482693={'importClause':_0x225722,'defaultImport':void 0x0,'namedImports':[]}),0x0===_0x1facb1?_0x368e5a[_0x1a4e('0x171d')](_0x482693[_0x1a4e('0x3371')],_0xf79407):(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0===_0x482693['defaultImport']||_0x482693[_0x1a4e('0x3555')]===_0xf79407),_0x482693['defaultImport']=_0xf79407);break;case 0x3:var _0x482693,_0x51d94a=_0x348df3[_0x1a4e('0x23c5')];_0x1facb1=_0x348df3[_0x1a4e('0x3549')];switch((_0x482693=_0x326eae['get'](_0x51d94a))||_0x326eae[_0x1a4e('0x17a')](_0x51d94a,_0x482693={'defaultImport':void 0x0,'namedImports':[],'namespaceLikeImport':void 0x0}),_0x1facb1){case 0x1:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0===_0x482693[_0x1a4e('0x3555')]||_0x482693[_0x1a4e('0x3555')]===_0xf79407),_0x482693[_0x1a4e('0x3555')]=_0xf79407;break;case 0x0:_0x368e5a[_0x1a4e('0x171d')](_0x482693[_0x1a4e('0x3371')],_0xf79407);break;case 0x3:case 0x2:_0x368e5a['Debug'][_0x1a4e('0xba0')](void 0x0===_0x482693[_0x1a4e('0x3556')]||_0x482693['namespaceLikeImport'][_0x1a4e('0x2cb')]===_0xf79407),_0x482693[_0x1a4e('0x3556')]={'importKind':_0x1facb1,'name':_0xf79407};}break;default:_0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x348df3);}}}),_0x146f6e[_0x1a4e('0x3557')](_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x146f6e){for(var _0x2327c6=_0x368e5a['getQuotePreference'](_0x55ff7e,_0xf79407),_0x1adc17=0x0,_0x56674b=_0x2c9ec9;_0x1adc17<_0x56674b['length'];_0x1adc17++){var _0x348df3=_0x56674b[_0x1adc17];_0x51d94a(_0x146f6e,_0x55ff7e,_0x348df3);}for(var _0x225722=0x0,_0x1facb1=_0x420b32;_0x225722<_0x1facb1[_0x1a4e('0x1e')];_0x225722++){_0x348df3=_0x1facb1[_0x225722];_0x22b94c(_0x146f6e,_0x55ff7e,_0x348df3,_0x2327c6);}_0x1b06ad[_0x1a4e('0x3b')](function(_0x368e5a){var _0x2327c6=_0x368e5a[_0x1a4e('0x23c6')],_0x1adc17=_0x368e5a[_0x1a4e('0x3555')],_0xf79407=_0x368e5a[_0x1a4e('0x3371')];_0x482693(_0x146f6e,_0x55ff7e,_0x2327c6,_0x1adc17,_0xf79407);}),_0x326eae[_0x1a4e('0x3b')](function(_0x368e5a,_0x1adc17){_0x3d1659(_0x146f6e,_0x55ff7e,_0x1adc17,_0x2327c6,_0x368e5a);});}));}}),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x3558')]=0x0]='UseNamespace',_0x368e5a[_0x368e5a[_0x1a4e('0x1834')]=0x1]=_0x1a4e('0x1834'),_0x368e5a[_0x368e5a['AddToExisting']=0x2]='AddToExisting',_0x368e5a[_0x368e5a[_0x1a4e('0x3559')]=0x3]=_0x1a4e('0x3559');}(_0x2327c6||(_0x2327c6={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x32dc')]=0x0]=_0x1a4e('0x32dc'),_0x368e5a[_0x368e5a[_0x1a4e('0x18ed')]=0x1]=_0x1a4e('0x18ed'),_0x368e5a[_0x368e5a['Namespace']=0x2]=_0x1a4e('0x18ca'),_0x368e5a[_0x368e5a[_0x1a4e('0x355a')]=0x3]=_0x1a4e('0x355a');}(_0x55ff7e||(_0x55ff7e={})),_0x146f6e[_0x1a4e('0x355b')]=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x420b32,_0x326eae,_0x56674b,_0x348df3,_0x225722){var _0x482693=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae=[];return _0x2318a0(_0x420b32,_0x1b06ad,function(_0x1b06ad,_0x56674b){if(!_0x56674b||_0x1b06ad===_0x2327c6||!_0x368e5a['startsWith'](_0x1adc17['fileName'],_0x368e5a[_0x1a4e('0x1671')](_0x56674b[_0x1a4e('0x1b39')]))){var _0x348df3=_0x1facb1(_0x1b06ad,_0x420b32,_0x2c9ec9);_0x348df3&&_0x348df3[_0x1a4e('0x2cb')]===_0x55ff7e&&_0x368e5a['skipAlias'](_0x348df3[_0x1a4e('0xb1b')],_0x420b32)===_0x146f6e&&_0x326eae[_0x1a4e('0x46')]({'moduleSymbol':_0x1b06ad,'importKind':_0x348df3[_0x1a4e('0x146b')],'exportedSymbolIsTypeOnly':_0xf79407(_0x348df3['symbol'],_0x420b32)});for(var _0x225722=0x0,_0x881c2e=_0x420b32[_0x1a4e('0x32b4')](_0x1b06ad);_0x225722<_0x881c2e[_0x1a4e('0x1e')];_0x225722++){var _0x482693=_0x881c2e[_0x225722];_0x482693[_0x1a4e('0x2cb')]===_0x55ff7e&&_0x368e5a[_0x1a4e('0x32ba')](_0x482693,_0x420b32)===_0x146f6e&&_0x326eae[_0x1a4e('0x46')]({'moduleSymbol':_0x1b06ad,'importKind':0x0,'exportedSymbolIsTypeOnly':_0xf79407(_0x482693,_0x420b32)});}}}),_0x326eae;}(_0x146f6e,_0x2327c6,_0x1adc17,_0x55ff7e,_0x326eae['getCompilerOptions'](),_0x326eae[_0x1a4e('0x302b')](),_0x326eae[_0x1a4e('0x2447')]());_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x482693[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x328f')]===_0x2327c6;}));var _0x51d94a,_0x22b94c,_0x5717c1,_0x3d1659,_0x58e971=_0x368e5a['first'](_0x1b06ad(_0x326eae,_0x55ff7e,_0x348df3,_0x482693,_0x420b32,_0x225722))[_0x1a4e('0x23c5')],_0x2a74ae=_0x368e5a[_0x1a4e('0x10f7')](_0x2c9ec9(_0x482693,_0x1adc17,_0x348df3,_0x326eae,_0x55ff7e,_0x420b32,_0x225722));return{'moduleSpecifier':_0x58e971,'codeAction':(_0x51d94a=_0x881c2e({'host':_0x420b32,'formatContext':_0x56674b},_0x55ff7e,_0x1adc17,_0x2a74ae,_0x368e5a[_0x1a4e('0x3210')](_0x55ff7e,_0x225722)),_0x22b94c=_0x51d94a['description'],_0x5717c1=_0x51d94a[_0x1a4e('0x34a3')],_0x3d1659=_0x51d94a['commands'],{'description':_0x22b94c,'changes':_0x5717c1,'commands':_0x3d1659})};},_0x146f6e[_0x1a4e('0x355c')]=_0x2a74ae,_0x146f6e['moduleSymbolToValidIdentifier']=_0x31f435,_0x146f6e['moduleSpecifierToValidIdentifier']=_0x5ce183;}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a9c')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3547')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2961')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2960')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x355d')][_0x1a4e('0x1617')]];function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0xf79407=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6),_0x2c9ec9=_0x55ff7e['program'][_0x1a4e('0x302b')]();if(_0x368e5a['isPropertyAccessExpression'](_0xf79407[_0x1a4e('0x11c')])&&_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0xf79407){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x48===_0xf79407[_0x1a4e('0x146b')]);var _0x420b32=_0x2c9ec9[_0x1a4e('0x31d9')](_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x2302')]);_0x1adc17=_0x2c9ec9[_0x1a4e('0x355e')](_0xf79407,_0x420b32);}else if(_0x368e5a[_0x1a4e('0x2522')](_0xf79407[_0x1a4e('0x11c')])&&_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0xf79407){_0x368e5a['Debug']['assert'](0x48===_0xf79407[_0x1a4e('0x146b')]);var _0x1b06ad=function(_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x55ff7e||!_0x368e5a[_0x1a4e('0x2855')](_0x55ff7e['moduleSpecifier']))return;var _0x1adc17=_0x368e5a['getResolvedModule'](_0x146f6e,_0x55ff7e['moduleSpecifier'][_0x1a4e('0xe04')]);return _0x1adc17?_0x2327c6[_0x1a4e('0x303a')][_0x1a4e('0x288f')](_0x1adc17[_0x1a4e('0x231a')]):void 0x0;}(_0x146f6e,_0x55ff7e,_0x368e5a['findAncestor'](_0xf79407,_0x368e5a['isImportDeclaration']));_0x1b06ad&&_0x1b06ad[_0x1a4e('0xb1b')]&&(_0x1adc17=_0x2c9ec9['getSuggestionForNonexistentExport'](_0xf79407,_0x1b06ad[_0x1a4e('0xb1b')]));}else{var _0x326eae=_0x368e5a[_0x1a4e('0x31c1')](_0xf79407),_0x56674b=_0x368e5a[_0x1a4e('0x1675')](_0xf79407);_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0!==_0x56674b,_0x1a4e('0x355f')),_0x1adc17=_0x2c9ec9['getSuggestionForNonexistentSymbol'](_0xf79407,_0x56674b,function(_0x368e5a){var _0x146f6e=0x0;0x4&_0x368e5a&&(_0x146f6e|=0x780);0x2&_0x368e5a&&(_0x146f6e|=0x40c09e8);0x1&_0x368e5a&&(_0x146f6e|=0x401b3bf);return _0x146f6e;}(_0x326eae));}return void 0x0===_0x1adc17?void 0x0:{'node':_0xf79407,'suggestion':_0x1adc17};}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){!_0x368e5a[_0x1a4e('0x2995')](_0x1adc17,_0xf79407)&&_0x368e5a['isPropertyAccessExpression'](_0x55ff7e[_0x1a4e('0x11c')])?_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e['parent'],_0x368e5a[_0x1a4e('0x2897')](_0x55ff7e['parent'][_0x1a4e('0x2302')],_0x368e5a[_0x1a4e('0x2896')](_0x1adc17))):_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e,_0x368e5a[_0x1a4e('0x2893')](_0x1adc17));}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x2327c6,'getCodeActions':function(_0x2327c6){var _0xf79407=_0x2327c6[_0x1a4e('0x27e7')],_0x2c9ec9=_0x55ff7e(_0xf79407,_0x2327c6[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x2327c6);if(_0x2c9ec9){var _0x420b32=_0x2c9ec9[_0x1a4e('0x80')],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x3560')],_0x326eae=_0x2327c6['host'][_0x1a4e('0x305d')]()['target'],_0x56674b=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x368e5a){return _0x1adc17(_0x368e5a,_0xf79407,_0x420b32,_0x1b06ad,_0x326eae);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x1a4e('0x3561'),_0x56674b,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3562')],_0x1b06ad],'fixSpelling',_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3563')])];}},'fixIds':['fixSpelling'],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x2327c6,function(_0x146f6e,_0x2327c6){var _0xf79407=_0x55ff7e(_0x2327c6['file'],_0x2327c6['start'],_0x368e5a),_0x2c9ec9=_0x368e5a[_0x1a4e('0x1599')][_0x1a4e('0x305d')]()[_0x1a4e('0xd95')];_0xf79407&&_0x1adc17(_0x146f6e,_0x368e5a[_0x1a4e('0x27e7')],_0xf79407[_0x1a4e('0x80')],_0xf79407[_0x1a4e('0x3560')],_0x2c9ec9);});}});}(_0x368e5a['codefix']||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6,_0x55ff7e='addMissingMember',_0x1adc17=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29f0')]['code'],_0x368e5a['Diagnostics'][_0x1a4e('0x2a9c')]['code'],_0x368e5a['Diagnostics']['Property_0_is_missing_in_type_1_but_required_in_type_2'][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a27')]['code'],_0x368e5a[_0x1a4e('0x167d')]['Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more'][_0x1a4e('0x1617')]],_0xf79407=_0x1a4e('0x3564');function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['getTokenAtPosition'](_0x146f6e,_0x2327c6);if(_0x368e5a['isIdentifier'](_0x1adc17)){var _0xf79407=_0x1adc17[_0x1a4e('0x11c')];if(_0x368e5a[_0x1a4e('0x2371')](_0xf79407)){var _0x2c9ec9=_0x368e5a['skipConstraint'](_0x55ff7e[_0x1a4e('0x31d9')](_0xf79407[_0x1a4e('0x2302')])),_0x420b32=_0x2c9ec9[_0x1a4e('0xb1b')];if(_0x420b32&&_0x420b32[_0x1a4e('0x22e5')]){var _0x1b06ad=_0x368e5a[_0x1a4e('0x1c7')](_0x420b32[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x2367')])||_0x368e5a[_0x1a4e('0x1c7')](_0x420b32[_0x1a4e('0x22e5')],_0x368e5a[_0x1a4e('0x23ef')]);if(_0x1b06ad){var _0x326eae=(_0x2c9ec9[_0x1a4e('0xd95')]||_0x2c9ec9)!==_0x55ff7e[_0x1a4e('0x3565')](_0x420b32),_0x56674b=_0x1b06ad[_0x1a4e('0x288f')]();return{'kind':0x1,'token':_0x1adc17,'parentDeclaration':_0x1b06ad,'makeStatic':_0x326eae,'declSourceFile':_0x56674b,'inJs':_0x368e5a['isSourceFileJS'](_0x56674b),'call':_0x368e5a[_0x1a4e('0x172e')](_0xf79407[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2372')])};}var _0x1ed64b=_0x368e5a[_0x1a4e('0x1c7')](_0x420b32['declarations'],_0x368e5a[_0x1a4e('0x29a5')]);return _0x1ed64b?{'kind':0x0,'token':_0x1adc17,'parentDeclaration':_0x1ed64b}:void 0x0;}}}}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0xf79407){if(0xd1===_0x55ff7e[_0x1a4e('0x146b')])return;var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x2cb')][_0x1a4e('0x230e')](),_0x420b32=_0x1b06ad(_0x368e5a[_0x1a4e('0x2893')](_0x2c9ec9),_0x1adc17);_0x146f6e[_0x1a4e('0x321c')](_0x2327c6,_0x55ff7e,_0x420b32);}else{var _0x326eae=_0x368e5a[_0x1a4e('0x2b44')](_0x55ff7e);if(!_0x326eae)return;var _0x56674b=_0x1b06ad(_0x368e5a[_0x1a4e('0x2c2c')](),_0x1adc17);_0x146f6e[_0x1a4e('0x3566')](_0x2327c6,_0x326eae,_0x56674b);}}function _0x1b06ad(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2c96')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a[_0x1a4e('0x2894')](_0x146f6e,_0x2327c6),_0x368e5a['createIdentifier'](_0x1a4e('0x3'))));}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17;if(0xcc===_0x55ff7e[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x146b')]){var _0xf79407=_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x2c9ec9=_0x55ff7e[_0x1a4e('0x11c')]===_0xf79407[_0x1a4e('0x5f')]?_0xf79407[_0x1a4e('0x5d')]:_0xf79407[_0x1a4e('0x5f')],_0x420b32=_0x146f6e[_0x1a4e('0x3522')](_0x146f6e[_0x1a4e('0x3529')](_0x146f6e[_0x1a4e('0x31d9')](_0x2c9ec9)));_0x1adc17=_0x146f6e[_0x1a4e('0x28dd')](_0x420b32,_0x2327c6);}else{var _0x1b06ad=_0x146f6e[_0x1a4e('0x323e')](_0x55ff7e[_0x1a4e('0x11c')]);_0x1adc17=_0x1b06ad?_0x146f6e[_0x1a4e('0x28dd')](_0x1b06ad):void 0x0;}return _0x1adc17||_0x368e5a[_0x1a4e('0x289c')](0x78);}function _0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a['createProperty'](void 0x0,_0x2c9ec9?[_0x368e5a[_0x1a4e('0x28b6')](0x74)]:void 0x0,_0x1adc17,void 0x0,_0xf79407,void 0x0),_0x1b06ad=function(_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2369')];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(!_0x368e5a[_0x1a4e('0x24ec')](_0xf79407))break;_0x2327c6=_0xf79407;}return _0x2327c6;}(_0x55ff7e);_0x1b06ad?_0x146f6e[_0x1a4e('0x321c')](_0x2327c6,_0x1b06ad,_0x420b32):_0x146f6e['insertNodeAtClassStart'](_0x2327c6,_0x55ff7e,_0x420b32);}function _0x3264bf(_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x368e5a[_0x1a4e('0x289c')](0x8a),_0x326eae=_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,'x',void 0x0,_0x1b06ad,void 0x0),_0x56674b=_0x368e5a[_0x1a4e('0x28c4')](void 0x0,void 0x0,[_0x326eae],_0x420b32),_0x3264bf=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')]['with'](_0x2327c6,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x34c0')](_0x1adc17,_0xf79407,_0x56674b);});return _0x146f6e[_0x1a4e('0x34e5')](_0x55ff7e,_0x3264bf,[_0x368e5a[_0x1a4e('0x167d')]['Add_index_signature_for_property_0'],_0x2c9ec9]);}function _0xbfe627(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){var _0x3264bf=_0x146f6e['createMethodFromCallExpression'](_0x2327c6,_0x420b32,_0x2c9ec9[_0x1a4e('0xe04')],_0x326eae,_0x1b06ad,_0x56674b,!_0x368e5a['isInterfaceDeclaration'](_0xf79407)),_0xbfe627=_0x368e5a[_0x1a4e('0x2a5e')](_0x420b32,0x9c);_0xbfe627&&_0xbfe627[_0x1a4e('0x11c')]===_0xf79407?_0x55ff7e[_0x1a4e('0x321c')](_0x1adc17,_0xbfe627,_0x3264bf):_0x55ff7e['insertNodeAtClassStart'](_0x1adc17,_0xf79407,_0x3264bf);}function _0x50ff06(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x1c2')](_0x1adc17['members'],function(_0x368e5a){var _0x146f6e=_0x2327c6['getTypeAtLocation'](_0x368e5a);return!!(_0x146f6e&&0x84&_0x146f6e['flags']);}),_0x2c9ec9=_0x368e5a[_0x1a4e('0x2cec')](_0x55ff7e,_0xf79407?_0x368e5a[_0x1a4e('0x2c0b')](_0x55ff7e[_0x1a4e('0xe04')]):void 0x0);_0x146f6e[_0x1a4e('0x34be')](_0x1adc17[_0x1a4e('0x288f')](),_0x1adc17,_0x368e5a[_0x1a4e('0x2cb6')](_0x1adc17,_0x1adc17[_0x1a4e('0x232f')],_0x1adc17[_0x1a4e('0x242d')],_0x1adc17[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x1717')](_0x1adc17[_0x1a4e('0x2369')],_0x368e5a[_0x1a4e('0x1767')](_0x2c9ec9))));}_0x146f6e['registerCodeFix']({'errorCodes':_0x1adc17,'getCodeActions':function(_0x2327c6){var _0x1adc17=_0x2c9ec9(_0x2327c6['sourceFile'],_0x2327c6[_0x1a4e('0x24c0')]['start'],_0x2327c6[_0x1a4e('0x303a')][_0x1a4e('0x302b')]());if(_0x1adc17){if(0x0===_0x1adc17[_0x1a4e('0x146b')]){var _0x1b06ad=_0x1adc17[_0x1a4e('0x2381')],_0x40e18d=_0x1adc17[_0x1a4e('0x3567')],_0x222728=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x368e5a){return _0x50ff06(_0x368e5a,_0x2327c6[_0x1a4e('0x303a')][_0x1a4e('0x302b')](),_0x1b06ad,_0x40e18d);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x55ff7e,_0x222728,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3568')],_0x1b06ad[_0x1a4e('0xe04')]],_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3569')])];}var _0x169a19=_0x1adc17[_0x1a4e('0x3567')],_0x56d864=_0x1adc17['declSourceFile'],_0x4f0d6c=_0x1adc17[_0x1a4e('0x356a')],_0x494ea4=_0x1adc17[_0x1a4e('0x356b')],_0x3c4176=_0x1adc17[_0x1a4e('0x2381')],_0x2cf828=_0x1adc17[_0x1a4e('0x1')],_0x35f561=_0x2cf828&&function(_0x2327c6,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x3264bf){var _0x50ff06=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x368e5a){return _0xbfe627(_0x2327c6,_0x368e5a,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b,_0x3264bf);});return _0x146f6e[_0x1a4e('0x34e6')](_0x55ff7e,_0x50ff06,[_0x326eae?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x356c')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x356d')],_0x420b32[_0x1a4e('0xe04')]],_0xf79407,_0x368e5a[_0x1a4e('0x167d')]['Add_all_missing_members']);}(_0x2327c6,_0x56d864,_0x169a19,_0x3c4176,_0x2cf828,_0x494ea4,_0x4f0d6c,_0x2327c6['preferences']),_0x2ce03b=_0x4f0d6c&&!_0x368e5a['isInterfaceDeclaration'](_0x169a19)?_0x368e5a[_0x1a4e('0x1767')](function(_0x2327c6,_0x1adc17,_0x2c9ec9,_0x1b06ad,_0x326eae){var _0x56674b=_0x368e5a['textChanges'][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x368e5a){return _0x420b32(_0x368e5a,_0x1adc17,_0x2c9ec9,_0x1b06ad,_0x326eae);});return 0x0===_0x56674b['length']?void 0x0:_0x146f6e[_0x1a4e('0x34e6')](_0x55ff7e,_0x56674b,[_0x326eae?_0x368e5a[_0x1a4e('0x167d')]['Initialize_static_property_0']:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x356e')],_0x1b06ad],_0xf79407,_0x368e5a['Diagnostics'][_0x1a4e('0x3569')]);}(_0x2327c6,_0x56d864,_0x169a19,_0x3c4176['text'],_0x494ea4)):function(_0x2327c6,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0xbfe627=_0x326eae(_0x2327c6['program'][_0x1a4e('0x302b')](),_0x2c9ec9,_0x420b32),_0x50ff06=function(_0x2327c6,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){var _0x3264bf=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x368e5a){return _0x56674b(_0x368e5a,_0x1adc17,_0x2c9ec9,_0x1b06ad,_0x326eae,_0x420b32);});return _0x146f6e[_0x1a4e('0x34e6')](_0x55ff7e,_0x3264bf,[_0x420b32?_0x368e5a['Diagnostics'][_0x1a4e('0x356f')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3570')],_0x1b06ad],_0xf79407,_0x368e5a['Diagnostics']['Add_all_missing_members']);}(_0x2327c6,_0x1adc17,_0x2c9ec9,_0x1b06ad,_0x420b32[_0x1a4e('0xe04')],_0xbfe627);return _0x1b06ad?[_0x50ff06]:[_0x50ff06,_0x3264bf(_0x2327c6,_0x1adc17,_0x2c9ec9,_0x420b32['text'],_0xbfe627)];}(_0x2327c6,_0x56d864,_0x169a19,_0x3c4176,_0x494ea4);return _0x368e5a[_0x1a4e('0x1717')](_0x368e5a['singleElementArray'](_0x35f561),_0x2ce03b);}},'fixIds':[_0xf79407],'getAllCodeActions':function(_0x2327c6){var _0x55ff7e=_0x2327c6['program'],_0xf79407=_0x2327c6[_0x1a4e('0x353e')],_0x1b06ad=_0x55ff7e[_0x1a4e('0x302b')](),_0x3264bf=_0x368e5a['createMap'](),_0x309e5c=new _0x368e5a[(_0x1a4e('0x25ef'))]();return _0x146f6e[_0x1a4e('0x3557')](_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')]['with'](_0x2327c6,function(_0x43d72f){_0x146f6e['eachDiagnostic'](_0x2327c6,_0x1adc17,function(_0x146f6e){var _0x2327c6=_0x2c9ec9(_0x146f6e[_0x1a4e('0x15c9')],_0x146f6e[_0x1a4e('0xc9')],_0x1b06ad);if(_0x2327c6&&_0x368e5a[_0x1a4e('0x3048')](_0x3264bf,_0x368e5a['getNodeId'](_0x2327c6[_0x1a4e('0x3567')])+'#'+_0x2327c6[_0x1a4e('0x2381')][_0x1a4e('0xe04')]))if(0x0===_0x2327c6['kind']){var _0x55ff7e=_0x2327c6[_0x1a4e('0x2381')],_0x1adc17=_0x2327c6['parentDeclaration'];_0x50ff06(_0x43d72f,_0x1b06ad,_0x55ff7e,_0x1adc17);}else{_0x1adc17=_0x2327c6['parentDeclaration'];var _0xf79407=_0x2327c6[_0x1a4e('0x2381')],_0x420b32=_0x309e5c['getOrUpdate'](_0x1adc17,function(){return[];});_0x420b32[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2381')][_0x1a4e('0xe04')]===_0xf79407[_0x1a4e('0xe04')];})||_0x420b32['push'](_0x2327c6);}}),_0x309e5c[_0x1a4e('0x3b')](function(_0x146f6e,_0x1adc17){for(var _0x2c9ec9=function(_0x146f6e,_0x2327c6){var _0x55ff7e=[];for(;_0x146f6e;){var _0x1adc17=_0x368e5a[_0x1a4e('0x23ee')](_0x146f6e),_0xf79407=_0x1adc17&&_0x2327c6[_0x1a4e('0x3029')](_0x1adc17['expression']),_0x2c9ec9=_0xf79407&&_0x368e5a[_0x1a4e('0x1c7')](_0xf79407[_0x1a4e('0x22e5')],_0x368e5a['isClassLike']);_0x2c9ec9&&_0x55ff7e['push'](_0x2c9ec9),_0x146f6e=_0x2c9ec9;}return _0x55ff7e;}(_0x1adc17,_0x1b06ad),_0x3264bf=function(_0x146f6e){if(_0x2c9ec9[_0x1a4e('0x1c2')](function(_0x368e5a){var _0x2327c6=_0x309e5c[_0x1a4e('0x179')](_0x368e5a);return!!_0x2327c6&&_0x2327c6[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a['token']['text']===_0x146f6e[_0x1a4e('0x2381')][_0x1a4e('0xe04')];});}))return _0x1a4e('0x137e');var _0x1adc17=_0x146f6e[_0x1a4e('0x3567')],_0x1b06ad=_0x146f6e['declSourceFile'],_0x3264bf=_0x146f6e['inJs'],_0x50ff06=_0x146f6e[_0x1a4e('0x356b')],_0x1db933=_0x146f6e[_0x1a4e('0x2381')],_0x21cdce=_0x146f6e['call'];if(_0x21cdce)_0xbfe627(_0x2327c6,_0x43d72f,_0x1b06ad,_0x1adc17,_0x1db933,_0x21cdce,_0x50ff06,_0x3264bf,_0xf79407);else if(_0x3264bf&&!_0x368e5a[_0x1a4e('0x23ef')](_0x1adc17))_0x420b32(_0x43d72f,_0x1b06ad,_0x1adc17,_0x1db933['text'],_0x50ff06);else{var _0x476c8c=_0x326eae(_0x55ff7e[_0x1a4e('0x302b')](),_0x1adc17,_0x1db933);_0x56674b(_0x43d72f,_0x1b06ad,_0x1adc17,_0x1db933[_0x1a4e('0xe04')],_0x476c8c,_0x50ff06);}},_0x50ff06=0x0,_0x1db933=_0x146f6e;_0x50ff06<_0x1db933[_0x1a4e('0x1e')];_0x50ff06++){_0x3264bf(_0x1db933[_0x50ff06]);}});}));}}),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1974')]=0x0]='Enum',_0x368e5a[_0x368e5a[_0x1a4e('0x1a07')]=0x1]=_0x1a4e('0x1a07');}(_0x2327c6||(_0x2327c6={}));}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x3571'),_0x55ff7e='generateTypes',_0x1adc17=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3572')][_0x1a4e('0x1617')],_0xf79407=[_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x297f')][_0x1a4e('0x1617')]];function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x27e7')][_0x1a4e('0x1b39')],_0xf79407=_0x368e5a['tryResolveJSModule'](_0x2327c6,_0x368e5a['getDirectoryPath'](_0x1adc17),_0x55ff7e[_0x1a4e('0x1599')]);if(void 0x0!==_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1b4c')](_0x368e5a[_0x1a4e('0x1671')](_0x55ff7e[_0x1a4e('0x303a')][_0x1a4e('0x23f1')]()[_0x1a4e('0x2fca')][_0x1a4e('0x1b39')]),_0x146f6e,_0x2327c6+'.d.ts');if(!_0x55ff7e[_0x1a4e('0x1599')][_0x1a4e('0x1b4d')](_0x2c9ec9))return{'type':'generate\x20types','file':_0x1adc17,'fileToGenerateTypesFor':_0xf79407,'outputFileName':_0x2c9ec9};}}function _0x420b32(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x303a')]['getCompilerOptions']()[_0x1a4e('0x2fca')];if(_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2395')](_0x55ff7e);if(_0x1adc17){var _0xf79407=_0x33fb77(_0x1adc17,_0x1a4e('0x2706'));if(!_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2c62')]([_0x326eae(),_0x53d822()]);return _0x146f6e['insertNodeAtObjectStart'](_0x55ff7e,_0x1adc17,_0x347539('compilerOptions',_0x2c9ec9)),_0x56674b;}var _0x420b32=_0xf79407[_0x1a4e('0x236a')];if(!_0x368e5a[_0x1a4e('0x236f')](_0x420b32))return _0x56674b;var _0x3a7cd4=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x33fb77(_0x55ff7e,'baseUrl');return _0x1adc17?_0x368e5a[_0x1a4e('0x2374')](_0x1adc17[_0x1a4e('0x236a')])?_0x1adc17[_0x1a4e('0x236a')][_0x1a4e('0xe04')]:_0x1b06ad:(_0x146f6e[_0x1a4e('0x34c2')](_0x2327c6,_0x55ff7e,_0x326eae()),_0x1b06ad);}(_0x146f6e,_0x55ff7e,_0x420b32),_0x49274c=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x33fb77(_0x55ff7e,_0x1a4e('0x27de'));if(!_0x1adc17||!_0x368e5a[_0x1a4e('0x236f')](_0x1adc17['initializer']))return _0x146f6e['insertNodeAtObjectStart'](_0x2327c6,_0x55ff7e,_0x53d822()),_0x56674b;var _0xf79407=_0x368e5a['firstDefined'](_0x1adc17[_0x1a4e('0x236a')][_0x1a4e('0x13')],function(_0x146f6e){return _0x368e5a['isPropertyAssignment'](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2374')](_0x146f6e[_0x1a4e('0x2cb')])&&'*'===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]&&_0x368e5a[_0x1a4e('0x2397')](_0x146f6e[_0x1a4e('0x236a')])?_0x368e5a['firstDefined'](_0x146f6e['initializer']['elements'],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2374')](_0x146f6e)?_0x368e5a['tryRemoveSuffix'](_0x146f6e[_0x1a4e('0xe04')],'/*'):void 0x0;}):void 0x0;});return _0xf79407||(_0x146f6e[_0x1a4e('0x34c2')](_0x2327c6,_0x1adc17[_0x1a4e('0x236a')],_0x485d52()),_0x56674b);}(_0x146f6e,_0x55ff7e,_0x420b32);return _0x368e5a[_0x1a4e('0x1673')](_0x3a7cd4,_0x49274c);}}}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0xf79407,'getCodeActions':function(_0x1adc17){var _0xf79407=_0x1adc17[_0x1a4e('0x1599')],_0x1b06ad=_0x1adc17['sourceFile'],_0x326eae=_0x298906(_0x1b06ad,_0x1adc17[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]);if(void 0x0!==_0x326eae){var _0x56674b=_0x234132(_0x326eae,_0xf79407,_0x1adc17[_0x1a4e('0x34ea')]);return void 0x0===_0x56674b?_0x368e5a[_0x1a4e('0x1767')](function(_0x1adc17,_0xf79407){var _0x1b06ad,_0x326eae=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x1adc17,function(_0x368e5a){var _0x146f6e=_0x420b32(_0x368e5a,_0x1adc17);_0x1b06ad=void 0x0===_0x146f6e?void 0x0:_0x2c9ec9(_0x146f6e,_0xf79407,_0x1adc17);});return _0x1b06ad&&_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x326eae,[_0x368e5a['Diagnostics']['Generate_types_for_0'],_0xf79407],_0x55ff7e,_0x368e5a['Diagnostics'][_0x1a4e('0x3573')],_0x1b06ad);}(_0x1adc17,_0x326eae)):[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,[],[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3574')],_0x56674b],_0x1a4e('0x3575'),_0x368e5a['Diagnostics'][_0x1a4e('0x3576')],_0xc79ec2(_0x1b06ad[_0x1a4e('0x1b39')],_0x56674b))];}},'fixIds':[_0x1a4e('0x3575'),_0x55ff7e],'getAllCodeActions':function(_0x2327c6){var _0x1adc17=null;return _0x146f6e['codeFixAll'](_0x2327c6,_0xf79407,function(_0x146f6e,_0xf79407,_0x1b06ad){var _0x326eae=_0x298906(_0xf79407[_0x1a4e('0x15c9')],_0xf79407[_0x1a4e('0xc9')]);if(void 0x0!==_0x326eae)switch(_0x2327c6[_0x1a4e('0x34ec')]){case'installTypesPackage':var _0x56674b=_0x234132(_0x326eae,_0x2327c6[_0x1a4e('0x1599')],_0xf79407['code']);_0x56674b&&_0x1b06ad[_0x1a4e('0x46')](_0xc79ec2(_0xf79407[_0x1a4e('0x15c9')][_0x1a4e('0x1b39')],_0x56674b));break;case _0x55ff7e:var _0x2d18a4=null!==_0x1adc17?_0x1adc17:_0x1adc17=_0x420b32(_0x146f6e,_0x2327c6),_0x1cc112=void 0x0===_0x2d18a4?void 0x0:_0x2c9ec9(_0x2d18a4,_0x326eae,_0x2327c6);_0x1cc112&&_0x1b06ad['push'](_0x1cc112);break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x3577')+_0x2327c6[_0x1a4e('0x34ec')]);}});}});var _0x1b06ad='.';function _0x326eae(){return _0x347539('baseUrl',_0x368e5a[_0x1a4e('0x2c0b')](_0x1b06ad));}var _0x56674b=_0x1a4e('0x2380');function _0x485d52(){return _0x347539('*',_0x368e5a[_0x1a4e('0x2c60')]([_0x368e5a[_0x1a4e('0x2c0b')](_0x56674b+'/*')]));}function _0x53d822(){return _0x347539(_0x1a4e('0x27de'),_0x368e5a[_0x1a4e('0x2c62')]([_0x485d52()]));}function _0x347539(_0x146f6e,_0x2327c6){return _0x368e5a['createPropertyAssignment'](_0x368e5a[_0x1a4e('0x2c0b')](_0x146f6e),_0x2327c6);}function _0x33fb77(_0x146f6e,_0x2327c6){return _0x368e5a['find'](_0x146f6e[_0x1a4e('0x13')],function(_0x146f6e){return _0x368e5a['isPropertyAssignment'](_0x146f6e)&&!!_0x146f6e['name']&&_0x368e5a['isStringLiteral'](_0x146f6e[_0x1a4e('0x2cb')])&&_0x146f6e[_0x1a4e('0x2cb')]['text']===_0x2327c6;});}function _0xc79ec2(_0x368e5a,_0x146f6e){return{'type':_0x1a4e('0x3578'),'file':_0x368e5a,'packageName':_0x146f6e};}function _0x298906(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['cast'](_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6),_0x368e5a['isStringLiteral'])[_0x1a4e('0xe04')],_0x1adc17=_0x368e5a[_0x1a4e('0x2826')](_0x55ff7e)[_0x1a4e('0x281d')];return _0x368e5a['isExternalModuleNameRelative'](_0x1adc17)?void 0x0:_0x1adc17;}function _0x234132(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x55ff7e===_0x1adc17?_0x368e5a[_0x1a4e('0x314b')][_0x1a4e('0x312d')][_0x1a4e('0x178')](_0x146f6e)?'@types/node':void 0x0:_0x2327c6[_0x1a4e('0x3579')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2828')](_0x146f6e):void 0x0;}}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b81')][_0x1a4e('0x1617')],_0x368e5a['Diagnostics'][_0x1a4e('0x357a')][_0x1a4e('0x1617')]],_0x55ff7e=_0x1a4e('0x357b');function _0x1adc17(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0x172f')](_0x55ff7e[_0x1a4e('0x11c')],_0x368e5a['isClassLike']);}function _0xf79407(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x420b32){var _0x1b06ad=_0x368e5a[_0x1a4e('0x1679')](_0x2327c6),_0x326eae=_0x1adc17['getTypeAtLocation'](_0x1b06ad),_0x56674b=_0x1adc17['getPropertiesOfType'](_0x326eae)[_0x1a4e('0xd9')](_0x2c9ec9);_0x146f6e[_0x1a4e('0x357c')](_0x2327c6,_0x56674b,_0x1adc17,_0x420b32,function(_0x368e5a){return _0xf79407['insertNodeAtClassStart'](_0x55ff7e,_0x2327c6,_0x368e5a);});}function _0x2c9ec9(_0x146f6e){var _0x2327c6=_0x368e5a['getModifierFlags'](_0x368e5a[_0x1a4e('0x10f7')](_0x146f6e[_0x1a4e('0x331f')]()));return!(0x8&_0x2327c6||!(0x80&_0x2327c6));}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x2327c6,'getCodeActions':function(_0x2327c6){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x303a')],_0x420b32=_0x2327c6[_0x1a4e('0x27e7')],_0x1b06ad=_0x2327c6[_0x1a4e('0x24c0')],_0x326eae=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x368e5a){return _0xf79407(_0x1adc17(_0x420b32,_0x1b06ad[_0x1a4e('0xc9')]),_0x420b32,_0x2c9ec9[_0x1a4e('0x302b')](),_0x368e5a,_0x2327c6['preferences']);});return 0x0===_0x326eae[_0x1a4e('0x1e')]?void 0x0:[_0x146f6e[_0x1a4e('0x34e6')](_0x55ff7e,_0x326eae,_0x368e5a['Diagnostics']['Implement_inherited_abstract_class'],_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x357d')])];},'fixIds':[_0x55ff7e],'getAllCodeActions':function(_0x55ff7e){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x1772')]();return _0x146f6e['codeFixAll'](_0x55ff7e,_0x2327c6,function(_0x146f6e,_0x2327c6){var _0x420b32=_0x1adc17(_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')]);_0x368e5a[_0x1a4e('0x3048')](_0x2c9ec9,_0x368e5a[_0x1a4e('0x25ec')](_0x420b32))&&_0xf79407(_0x420b32,_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e[_0x1a4e('0x303a')][_0x1a4e('0x302b')](),_0x146f6e,_0x55ff7e['preferences']);});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6='classSuperMustPrecedeThisAccess',_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a64')][_0x1a4e('0x1617')]];function _0x1adc17(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){_0x368e5a[_0x1a4e('0x34bc')](_0x146f6e,_0x2327c6,_0x55ff7e),_0x368e5a[_0x1a4e('0xf4c')](_0x146f6e,_0x55ff7e);}function _0xf79407(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6);if(0x64===_0x55ff7e[_0x1a4e('0x146b')]){var _0x1adc17=_0x368e5a[_0x1a4e('0x2a5b')](_0x55ff7e),_0xf79407=_0x2c9ec9(_0x1adc17[_0x1a4e('0x8f2')]);return _0xf79407&&!_0xf79407[_0x1a4e('0x2302')][_0x1a4e('0x2373')][_0x1a4e('0x1c2')](function(_0x146f6e){return _0x368e5a['isPropertyAccessExpression'](_0x146f6e)&&_0x146f6e[_0x1a4e('0x2302')]===_0x55ff7e;})?{'constructor':_0x1adc17,'superCall':_0xf79407}:void 0x0;}}function _0x2c9ec9(_0x146f6e){return _0x368e5a[_0x1a4e('0x2375')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2361')](_0x146f6e['expression'])?_0x146f6e:_0x368e5a[_0x1a4e('0x2342')](_0x146f6e)?void 0x0:_0x368e5a[_0x1a4e('0x22eb')](_0x146f6e,_0x2c9ec9);}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0x2c9ec9=_0x55ff7e['sourceFile'],_0x420b32=_0x55ff7e['span'],_0x1b06ad=_0xf79407(_0x2c9ec9,_0x420b32[_0x1a4e('0xc9')]);if(_0x1b06ad){var _0x326eae=_0x1b06ad['constructor'],_0x56674b=_0x1b06ad[_0x1a4e('0x2a63')],_0x5e4392=_0x368e5a['textChanges'][_0x1a4e('0x3323')]['with'](_0x55ff7e,function(_0x368e5a){return _0x1adc17(_0x368e5a,_0x2c9ec9,_0x326eae,_0x56674b);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x5e4392,_0x368e5a[_0x1a4e('0x167d')]['Make_super_call_the_first_statement_in_the_constructor'],_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x357e')])];}},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x2327c6){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x27e7')],_0x420b32=_0x368e5a[_0x1a4e('0x1772')]();return _0x146f6e[_0x1a4e('0x34ee')](_0x2327c6,_0x55ff7e,function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0xf79407(_0x2327c6['file'],_0x2327c6[_0x1a4e('0xc9')]);if(_0x55ff7e){var _0x1b06ad=_0x55ff7e[_0x1a4e('0x10')],_0x326eae=_0x55ff7e[_0x1a4e('0x2a63')];_0x368e5a[_0x1a4e('0x3048')](_0x420b32,_0x368e5a['getNodeId'](_0x1b06ad[_0x1a4e('0x11c')]))&&_0x1adc17(_0x146f6e,_0x2c9ec9,_0x1b06ad,_0x326eae);}});}});}(_0x368e5a['codefix']||(_0x368e5a['codefix']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6='constructorForDerivedNeedSuperCall',_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b1d')]['code']];function _0x1adc17(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x7c===_0x55ff7e[_0x1a4e('0x146b')]),_0x55ff7e['parent'];}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2c96')](_0x368e5a['createCall'](_0x368e5a['createSuper'](),void 0x0,_0x368e5a[_0x1a4e('0x1700')]));_0x146f6e['insertNodeAtConstructorStart'](_0x2327c6,_0x55ff7e,_0x1adc17);}_0x146f6e['registerCodeFix']({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x27e7')],_0x420b32=_0x55ff7e[_0x1a4e('0x24c0')],_0x1b06ad=_0x1adc17(_0x2c9ec9,_0x420b32[_0x1a4e('0xc9')]),_0x326eae=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0xf79407(_0x368e5a,_0x2c9ec9,_0x1b06ad);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x326eae,_0x368e5a['Diagnostics']['Add_missing_super_call'],_0x2327c6,_0x368e5a['Diagnostics']['Add_all_missing_super_calls'])];},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x146f6e,_0x2327c6){return _0xf79407(_0x146f6e,_0x368e5a['sourceFile'],_0x1adc17(_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')]));});}});}(_0x368e5a['codefix']||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x357f'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')]['Cannot_extend_an_interface_0_Did_you_mean_implements'][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['getTokenAtPosition'](_0x146f6e,_0x2327c6),_0x1adc17=_0x368e5a[_0x1a4e('0x239a')](_0x55ff7e)[_0x1a4e('0x237f')],_0xf79407=_0x1adc17[0x0][_0x1a4e('0x32c7')]();return 0x56===_0xf79407[_0x1a4e('0x146b')]?{'extendsToken':_0xf79407,'heritageClauses':_0x1adc17}:void 0x0;}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(_0x146f6e['replaceNode'](_0x2327c6,_0x55ff7e,_0x368e5a[_0x1a4e('0x28b6')](0x6d)),0x2===_0x1adc17[_0x1a4e('0x1e')]&&0x56===_0x1adc17[0x0]['token']&&0x6d===_0x1adc17[0x1][_0x1a4e('0x2381')]){var _0xf79407=_0x1adc17[0x1][_0x1a4e('0x32c7')](),_0x2c9ec9=_0xf79407[_0x1a4e('0x31d5')]();_0x146f6e['replaceRange'](_0x2327c6,{'pos':_0x2c9ec9,'end':_0x2c9ec9},_0x368e5a[_0x1a4e('0x28b6')](0x1b));for(var _0x420b32=_0x2327c6['text'],_0x1b06ad=_0xf79407[_0x1a4e('0xca')];_0x1b06ad<_0x420b32['length']&&_0x368e5a[_0x1a4e('0x242b')](_0x420b32['charCodeAt'](_0x1b06ad));)_0x1b06ad++;_0x146f6e[_0x1a4e('0x34a7')](_0x2327c6,{'pos':_0xf79407[_0x1a4e('0x31d6')](),'end':_0x1b06ad});}}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x27e7')],_0x420b32=_0x1adc17(_0x2c9ec9,_0x55ff7e['span'][_0x1a4e('0xc9')]);if(_0x420b32){var _0x1b06ad=_0x420b32[_0x1a4e('0x3580')],_0x326eae=_0x420b32[_0x1a4e('0x237f')],_0x56674b=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0xf79407(_0x368e5a,_0x2c9ec9,_0x1b06ad,_0x326eae);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x56674b,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3581')],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3582')])];}},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1adc17(_0x146f6e[_0x1a4e('0x15c9')],_0x146f6e[_0x1a4e('0xc9')]);_0x2327c6&&_0xf79407(_0x368e5a,_0x146f6e[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0x3580')],_0x2327c6[_0x1a4e('0x237f')]);});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x3583'),_0x55ff7e=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2960')][_0x1a4e('0x1617')],_0x1adc17=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2961')]['code'],_0x55ff7e];function _0xf79407(_0x146f6e,_0x2327c6,_0x1adc17){var _0xf79407=_0x368e5a['getTokenAtPosition'](_0x146f6e,_0x2327c6);if(_0x368e5a[_0x1a4e('0x2370')](_0xf79407))return{'node':_0xf79407,'className':_0x1adc17===_0x55ff7e?_0x368e5a[_0x1a4e('0x239a')](_0xf79407)[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]:void 0x0};}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x80')],_0xf79407=_0x55ff7e[_0x1a4e('0x3158')];_0x368e5a[_0x1a4e('0x3236')](_0x1adc17),_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x1adc17,_0x368e5a[_0x1a4e('0x2894')](_0xf79407?_0x368e5a[_0x1a4e('0x2893')](_0xf79407):_0x368e5a[_0x1a4e('0x2c2c')](),_0x1adc17));}_0x146f6e['registerCodeFix']({'errorCodes':_0x1adc17,'getCodeActions':function(_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x27e7')],_0x420b32=_0xf79407(_0x1adc17,_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x55ff7e['errorCode']);if(_0x420b32){var _0x1b06ad=_0x368e5a['textChanges'][_0x1a4e('0x3323')]['with'](_0x55ff7e,function(_0x368e5a){return _0x2c9ec9(_0x368e5a,_0x1adc17,_0x420b32);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x1b06ad,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3584')],_0x420b32[_0x1a4e('0x3158')]||_0x1a4e('0x19b5')],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3585')])];}},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x1adc17,function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0xf79407(_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')],_0x2327c6[_0x1a4e('0x1617')]);_0x55ff7e&&_0x2c9ec9(_0x146f6e,_0x368e5a[_0x1a4e('0x27e7')],_0x55ff7e);});}});}(_0x368e5a['codefix']||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x3586'),_0x55ff7e='unusedIdentifier_prefix',_0x1adc17=_0x1a4e('0x3587'),_0xf79407=_0x1a4e('0x3588'),_0x2c9ec9=[_0x368e5a['Diagnostics'][_0x1a4e('0x2b48')]['code'],_0x368e5a['Diagnostics']['_0_is_declared_but_never_used'][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b49')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b4b')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3589')][_0x1a4e('0x1617')],_0x368e5a['Diagnostics'][_0x1a4e('0x2b4c')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b4a')][_0x1a4e('0x1617')]];function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e){_0x146f6e['replaceNode'](_0x2327c6,_0x55ff7e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x289c')](0x8f));}function _0x1b06ad(_0x55ff7e,_0xf79407){return _0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x55ff7e,_0xf79407,_0x1adc17,_0x368e5a['Diagnostics'][_0x1a4e('0x358a')]);}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){_0x146f6e[_0x1a4e('0xf4c')](_0x2327c6,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x368e5a['cast'](_0x55ff7e[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x234b')])[_0x1a4e('0x23d7')]));}function _0x56674b(_0x146f6e){return 0x5c===_0x146f6e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x172e')](_0x146f6e[_0x1a4e('0x11c')],_0x368e5a['isImportDeclaration']):void 0x0;}function _0x16cd21(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){if(0x12!==_0x146f6e[_0x1a4e('0x146b')]||!_0x368e5a[_0x1a4e('0x2d3f')](_0x146f6e[_0x1a4e('0x11c')]))return!0x1;var _0x420b32=_0x146f6e[_0x1a4e('0x11c')]['parent'];return 0x97===_0x420b32[_0x1a4e('0x146b')]?_0x125a67(_0x2327c6,_0x55ff7e,_0x420b32,_0x1adc17,_0xf79407,_0x2c9ec9):_0x2327c6[_0x1a4e('0xf4c')](_0x55ff7e,_0x420b32),!0x0;}function _0x4bb9fb(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x172e')](_0x2327c6[_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x251c')]);return!(!_0x1adc17||_0x1adc17['getChildren'](_0x146f6e)[0x0]!==_0x2327c6)&&(_0x55ff7e[_0x1a4e('0xf4c')](_0x146f6e,0xdb===_0x1adc17['parent'][_0x1a4e('0x146b')]?_0x1adc17[_0x1a4e('0x11c')]:_0x1adc17),!0x0);}function _0x346c28(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x2327c6!==_0x368e5a['Diagnostics'][_0x1a4e('0x2b49')][_0x1a4e('0x1617')]&&(0x7f===_0x1adc17[_0x1a4e('0x146b')]&&(_0x1adc17=_0x368e5a[_0x1a4e('0x172f')](_0x1adc17[_0x1a4e('0x11c')],_0x368e5a['isInferTypeNode'])[_0x1a4e('0x2668')][_0x1a4e('0x2cb')]),_0x368e5a[_0x1a4e('0x2370')](_0x1adc17)&&function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0x97:case 0x96:return!0x0;case 0xed:var _0x146f6e=_0x368e5a[_0x1a4e('0x11c')];switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xe3:case 0xe2:return!0x0;}}return!0x1;}(_0x1adc17)&&_0x146f6e[_0x1a4e('0x34be')](_0x55ff7e,_0x1adc17,_0x368e5a[_0x1a4e('0x2893')]('_'+_0x1adc17[_0x1a4e('0xe04')])));}function _0x10d726(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){!function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x146f6e['parent'];_0x368e5a[_0x1a4e('0x24ac')](_0x420b32)?_0x125a67(_0x2327c6,_0x55ff7e,_0x420b32,_0x1adc17,_0xf79407,_0x2c9ec9):_0x2327c6[_0x1a4e('0xf4c')](_0x55ff7e,_0x368e5a['isImportClause'](_0x420b32)?_0x146f6e:_0x368e5a['isComputedPropertyName'](_0x420b32)?_0x420b32[_0x1a4e('0x11c')]:_0x420b32);}(_0x2327c6,_0x55ff7e,_0x146f6e,_0x1adc17,_0xf79407,_0x2c9ec9),_0x368e5a[_0x1a4e('0x2370')](_0x2327c6)&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a[_0x1a4e('0x32c9')][_0x1a4e('0x32e8')][_0x1a4e('0x358b')](_0x55ff7e,_0x1adc17,_0x2327c6,function(_0x55ff7e){_0x368e5a[_0x1a4e('0x2371')](_0x55ff7e[_0x1a4e('0x11c')])&&_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x55ff7e&&(_0x55ff7e=_0x55ff7e[_0x1a4e('0x11c')]),_0x368e5a[_0x1a4e('0x236e')](_0x55ff7e[_0x1a4e('0x11c')])&&_0x368e5a[_0x1a4e('0x2375')](_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x5f')]===_0x55ff7e&&_0x146f6e[_0x1a4e('0xf4c')](_0x2327c6,_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]);});}(_0x55ff7e,_0x146f6e,_0x2327c6,_0x1adc17);}function _0x125a67(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){(function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x146f6e['parent'];switch(_0x1adc17[_0x1a4e('0x146b')]){case 0x9c:var _0xf79407=_0x2327c6['getSymbolAtLocation'](_0x1adc17[_0x1a4e('0x2cb')]);if(_0x368e5a[_0x1a4e('0x3218')](_0xf79407,_0x2327c6))return!0x1;case 0x9d:case 0xef:return!0x0;case 0xc4:case 0xc5:var _0x2c9ec9=_0x1adc17[_0x1a4e('0x111a')],_0x420b32=_0x2c9ec9[_0x1a4e('0x3e')](_0x146f6e);return _0x368e5a['Debug']['assert'](-0x1!==_0x420b32),_0x55ff7e?_0x2c9ec9['slice'](_0x420b32+0x1)[_0x1a4e('0x114')](function(_0x368e5a){return 0x48===_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0x146b')]&&!_0x368e5a['symbol'][_0x1a4e('0x2958')];}):_0x420b32===_0x2c9ec9['length']-0x1;case 0x9f:return!0x1;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x2df8')](_0x1adc17);}}(_0x55ff7e,_0x1adc17,_0x2c9ec9)&&(_0x55ff7e['modifiers']&&_0x55ff7e[_0x1a4e('0x242d')]['length']>0x0&&(!_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e[_0x1a4e('0x2cb')])||_0x368e5a['FindAllReferences']['Core'][_0x1a4e('0x3378')](_0x55ff7e[_0x1a4e('0x2cb')],_0x1adc17,_0x2327c6))?_0x55ff7e[_0x1a4e('0x242d')][_0x1a4e('0x3b')](function(_0x368e5a){_0x146f6e['deleteModifier'](_0x2327c6,_0x368e5a);}):(_0x146f6e['delete'](_0x2327c6,_0x55ff7e),function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x368e5a[_0x1a4e('0x32c9')]['Core'][_0x1a4e('0x358c')](_0x55ff7e[_0x1a4e('0x11c')],_0x1adc17,_0xf79407,function(_0x368e5a){var _0x1adc17=_0x55ff7e['parent'][_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0x55ff7e);_0x368e5a[_0x1a4e('0x2373')][_0x1a4e('0x1e')]>_0x1adc17&&_0x146f6e[_0x1a4e('0xf4c')](_0x2327c6,_0x368e5a[_0x1a4e('0x2373')][_0x1adc17]);});}(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x1adc17))));}_0x146f6e['registerCodeFix']({'errorCodes':_0x2c9ec9,'getCodeActions':function(_0x1adc17){var _0x2c9ec9=_0x1adc17[_0x1a4e('0x34ea')],_0x125a67=_0x1adc17[_0x1a4e('0x27e7')],_0x265e56=_0x1adc17[_0x1a4e('0x303a')],_0x1d18ce=_0x265e56['getTypeChecker'](),_0x36bdec=_0x265e56[_0x1a4e('0x2447')](),_0x215c36=_0x368e5a['getTokenAtPosition'](_0x125a67,_0x1adc17[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]);if(_0x368e5a[_0x1a4e('0x24e0')](_0x215c36))return[_0x1b06ad(_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x1adc17,function(_0x368e5a){return _0x368e5a[_0x1a4e('0xf4c')](_0x125a67,_0x215c36);}),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x358d')])];if(0x1c===_0x215c36[_0x1a4e('0x146b')])return[_0x1b06ad(_0x12ffe9=_0x368e5a['textChanges'][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x1adc17,function(_0x368e5a){return _0x326eae(_0x368e5a,_0x125a67,_0x215c36);}),_0x368e5a[_0x1a4e('0x167d')]['Remove_type_parameters'])];var _0x395f98=_0x56674b(_0x215c36);if(_0x395f98)return[_0x1b06ad(_0x12ffe9=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')]['with'](_0x1adc17,function(_0x368e5a){return _0x368e5a[_0x1a4e('0xf4c')](_0x125a67,_0x395f98);}),[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x358e')],_0x368e5a[_0x1a4e('0x249f')](_0x395f98)])];var _0x5e7586=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x1adc17,function(_0x368e5a){return _0x16cd21(_0x215c36,_0x368e5a,_0x125a67,_0x1d18ce,_0x36bdec,!0x1);});if(_0x5e7586['length'])return[_0x1b06ad(_0x5e7586,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x358f')])];var _0x5843f6=_0x368e5a['textChanges']['ChangeTracker'][_0x1a4e('0x3324')](_0x1adc17,function(_0x368e5a){return _0x4bb9fb(_0x125a67,_0x215c36,_0x368e5a);});if(_0x5843f6[_0x1a4e('0x1e')])return[_0x1b06ad(_0x5843f6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3590')])];var _0x4b3f75=[];if(0x7f===_0x215c36[_0x1a4e('0x146b')]){var _0x12ffe9=_0x368e5a['textChanges']['ChangeTracker'][_0x1a4e('0x3324')](_0x1adc17,function(_0x368e5a){return _0x420b32(_0x368e5a,_0x125a67,_0x215c36);}),_0x147d23=_0x368e5a[_0x1a4e('0x172f')](_0x215c36[_0x1a4e('0x11c')],_0x368e5a['isInferTypeNode'])['typeParameter'][_0x1a4e('0x2cb')][_0x1a4e('0xe04')];_0x4b3f75[_0x1a4e('0x46')](_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x12ffe9,[_0x368e5a[_0x1a4e('0x167d')]['Replace_infer_0_with_unknown'],_0x147d23],_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3591')]));}else{var _0x52d9f2=_0x368e5a[_0x1a4e('0x323a')]['ChangeTracker'][_0x1a4e('0x3324')](_0x1adc17,function(_0x368e5a){return _0x10d726(_0x125a67,_0x215c36,_0x368e5a,_0x1d18ce,_0x36bdec,!0x1);});if(_0x52d9f2['length']){_0x147d23=_0x368e5a[_0x1a4e('0x23e8')](_0x215c36['parent'])?_0x215c36[_0x1a4e('0x11c')]:_0x215c36;_0x4b3f75[_0x1a4e('0x46')](_0x1b06ad(_0x52d9f2,[_0x368e5a[_0x1a4e('0x167d')]['Remove_declaration_for_Colon_0'],_0x147d23[_0x1a4e('0x230e')](_0x125a67)]));}}var _0x2d7511=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x1adc17,function(_0x368e5a){return _0x346c28(_0x368e5a,_0x2c9ec9,_0x125a67,_0x215c36);});return _0x2d7511['length']&&_0x4b3f75[_0x1a4e('0x46')](_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x2d7511,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3592')],_0x215c36[_0x1a4e('0x230e')](_0x125a67)],_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3593')])),_0x4b3f75;},'fixIds':[_0x55ff7e,_0x1adc17,_0xf79407],'getAllCodeActions':function(_0x2327c6){var _0x1b06ad=_0x2327c6[_0x1a4e('0x27e7')],_0x125a67=_0x2327c6[_0x1a4e('0x303a')],_0x2ce44d=_0x125a67[_0x1a4e('0x302b')](),_0x271664=_0x125a67[_0x1a4e('0x2447')]();return _0x146f6e[_0x1a4e('0x34ee')](_0x2327c6,_0x2c9ec9,function(_0x146f6e,_0x2c9ec9){var _0x125a67=_0x368e5a['getTokenAtPosition'](_0x1b06ad,_0x2c9ec9['start']);switch(_0x2327c6[_0x1a4e('0x34ec')]){case _0x55ff7e:_0x346c28(_0x146f6e,_0x2c9ec9[_0x1a4e('0x1617')],_0x1b06ad,_0x125a67);break;case _0x1adc17:if(0x7f===_0x125a67[_0x1a4e('0x146b')])break;var _0x282663=_0x56674b(_0x125a67);_0x282663?_0x146f6e[_0x1a4e('0xf4c')](_0x1b06ad,_0x282663):_0x368e5a[_0x1a4e('0x24e0')](_0x125a67)?_0x146f6e[_0x1a4e('0xf4c')](_0x1b06ad,_0x125a67):0x1c===_0x125a67[_0x1a4e('0x146b')]?_0x326eae(_0x146f6e,_0x1b06ad,_0x125a67):_0x16cd21(_0x125a67,_0x146f6e,_0x1b06ad,_0x2ce44d,_0x271664,!0x0)||_0x4bb9fb(_0x1b06ad,_0x125a67,_0x146f6e)||_0x10d726(_0x1b06ad,_0x125a67,_0x146f6e,_0x2ce44d,_0x271664,!0x0);break;case _0xf79407:0x7f===_0x125a67[_0x1a4e('0x146b')]&&_0x420b32(_0x146f6e,_0x1b06ad,_0x125a67);break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](JSON[_0x1a4e('0xd7')](_0x2327c6['fixId']));}});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a['codefix']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x3594'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x284b')][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x55ff7e),_0x2c9ec9=_0x368e5a['findAncestor'](_0xf79407,_0x368e5a['isStatement']);_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x2c9ec9['getStart'](_0x2327c6)===_0xf79407['getStart'](_0x2327c6));var _0x420b32=(_0x368e5a['isBlock'](_0x2c9ec9['parent'])?_0x2c9ec9[_0x1a4e('0x11c')]:_0x2c9ec9)[_0x1a4e('0x11c')];if(!_0x368e5a[_0x1a4e('0x250c')](_0x2c9ec9[_0x1a4e('0x11c')])||_0x2c9ec9===_0x368e5a[_0x1a4e('0x10f7')](_0x2c9ec9[_0x1a4e('0x11c')][_0x1a4e('0x2366')]))switch(_0x420b32[_0x1a4e('0x146b')]){case 0xde:if(_0x420b32['elseStatement']){if(_0x368e5a['isBlock'](_0x2c9ec9[_0x1a4e('0x11c')]))break;return void _0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x2c9ec9,_0x368e5a[_0x1a4e('0x2c91')](_0x368e5a[_0x1a4e('0x1700')]));}case 0xe0:case 0xe1:return void _0x146f6e[_0x1a4e('0xf4c')](_0x2327c6,_0x420b32);}if(_0x368e5a[_0x1a4e('0x250c')](_0x2c9ec9[_0x1a4e('0x11c')])){var _0x1b06ad=_0x55ff7e+_0x1adc17,_0x326eae=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](function(_0x368e5a,_0x146f6e){for(var _0x2327c6,_0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(!_0x146f6e(_0xf79407))break;_0x2327c6=_0xf79407;}return _0x2327c6;}(_0x368e5a[_0x1a4e('0x25e9')](_0x2c9ec9[_0x1a4e('0x11c')]['statements'],_0x2c9ec9),function(_0x368e5a){return _0x368e5a['pos']<_0x1b06ad;}));_0x146f6e[_0x1a4e('0x34e4')](_0x2327c6,_0x2c9ec9,_0x326eae);}else _0x146f6e[_0x1a4e('0xf4c')](_0x2327c6,_0x2c9ec9);}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0xf79407=_0x368e5a['textChanges'][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0x1adc17(_0x368e5a,_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0x1e')]);});return[_0x146f6e['createCodeFixAction'](_0x2327c6,_0xf79407,_0x368e5a[_0x1a4e('0x167d')]['Remove_unreachable_code'],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3595')])];},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e['codeFixAll'](_0x368e5a,_0x55ff7e,function(_0x368e5a,_0x146f6e){return _0x1adc17(_0x368e5a,_0x146f6e[_0x1a4e('0x15c9')],_0x146f6e[_0x1a4e('0xc9')],_0x146f6e[_0x1a4e('0x1e')]);});}});}(_0x368e5a['codefix']||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x3596'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2854')][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['getTokenAtPosition'](_0x2327c6,_0x55ff7e),_0xf79407=_0x368e5a['cast'](_0x1adc17['parent'],_0x368e5a[_0x1a4e('0x2519')]),_0x2c9ec9=_0x1adc17[_0x1a4e('0x31d6')](_0x2327c6),_0x420b32=_0xf79407[_0x1a4e('0x2390')][_0x1a4e('0x31d6')](_0x2327c6),_0x1b06ad=_0x368e5a[_0x1a4e('0x2487')](_0x2c9ec9,_0x420b32,_0x2327c6)?_0x420b32:_0x368e5a[_0x1a4e('0x22c6')](_0x2327c6[_0x1a4e('0xe04')],_0x368e5a[_0x1a4e('0x327f')](_0xf79407,0x39,_0x2327c6)[_0x1a4e('0xca')],!0x0);_0x146f6e['deleteRange'](_0x2327c6,{'pos':_0x2c9ec9,'end':_0x1b06ad});}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')]['with'](_0x55ff7e,function(_0x368e5a){return _0x1adc17(_0x368e5a,_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3597')],_0x2327c6,_0x368e5a['Diagnostics']['Remove_all_unused_labels'])];},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x368e5a,_0x146f6e){return _0x1adc17(_0x368e5a,_0x146f6e['file'],_0x146f6e[_0x1a4e('0xc9')]);});}});}(_0x368e5a['codefix']||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2bc4')][_0x1a4e('0x1617')]];function _0x55ff7e(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x368e5a[_0x1a4e('0x34be')](_0x146f6e,_0x2327c6,_0x1adc17['typeToTypeNode'](_0x55ff7e,_0x2327c6));}function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['findAncestor'](_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6),_0xf79407),_0x2c9ec9=_0x1adc17&&_0x1adc17[_0x1a4e('0x40')];return _0x2c9ec9&&{'typeNode':_0x2c9ec9,'type':_0x55ff7e['getTypeFromTypeNode'](_0x2c9ec9)};}function _0xf79407(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xd4:case 0xa0:case 0xa1:case 0xef:case 0x9e:case 0xa2:case 0xb5:case 0x9c:case 0x9b:case 0x97:case 0x9a:case 0x99:case 0x9f:case 0xf2:case 0xc2:case 0xed:return!0x0;default:return!0x1;}}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x2327c6,'getCodeActions':function(_0x2327c6){var _0xf79407=_0x2327c6['sourceFile'],_0x2c9ec9=_0x2327c6[_0x1a4e('0x303a')][_0x1a4e('0x302b')](),_0x420b32=_0x1adc17(_0xf79407,_0x2327c6[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x2c9ec9);if(_0x420b32){var _0x1b06ad=_0x420b32[_0x1a4e('0x3598')],_0x326eae=_0x420b32[_0x1a4e('0x40')],_0x56674b=_0x1b06ad[_0x1a4e('0x230e')](_0xf79407),_0x164f02=[_0x5439fd(_0x326eae,'fixJSDocTypes_plain',_0x368e5a['Diagnostics'][_0x1a4e('0x3599')])];return 0x11e===_0x1b06ad[_0x1a4e('0x146b')]&&_0x164f02[_0x1a4e('0x46')](_0x5439fd(_0x2c9ec9[_0x1a4e('0x359a')](_0x326eae,0x8000),_0x1a4e('0x359b'),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x359c')])),_0x164f02;}function _0x5439fd(_0x1adc17,_0x420b32,_0x326eae){var _0x164f02=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x2327c6,function(_0x368e5a){return _0x55ff7e(_0x368e5a,_0xf79407,_0x1b06ad,_0x1adc17,_0x2c9ec9);});return _0x146f6e['createCodeFixAction'](_0x1a4e('0x359d'),_0x164f02,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x354f')],_0x56674b,_0x2c9ec9[_0x1a4e('0x359e')](_0x1adc17)],_0x420b32,_0x326eae);}},'fixIds':[_0x1a4e('0x359f'),'fixJSDocTypes_nullable'],'getAllCodeActions':function(_0x368e5a){var _0xf79407=_0x368e5a['fixId'],_0x2c9ec9=_0x368e5a[_0x1a4e('0x303a')],_0x420b32=_0x368e5a['sourceFile'],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x302b')]();return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x2327c6,function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1adc17(_0x146f6e[_0x1a4e('0x15c9')],_0x146f6e[_0x1a4e('0xc9')],_0x1b06ad);if(_0x2327c6){var _0x2c9ec9=_0x2327c6['typeNode'],_0x326eae=_0x2327c6[_0x1a4e('0x40')],_0x56674b=0x11e===_0x2c9ec9[_0x1a4e('0x146b')]&&'fixJSDocTypes_nullable'===_0xf79407?_0x1b06ad[_0x1a4e('0x359a')](_0x326eae,0x8000):_0x326eae;_0x55ff7e(_0x368e5a,_0x420b32,_0x2c9ec9,_0x56674b,_0x1b06ad);}});}});}(_0x368e5a['codefix']||(_0x368e5a['codefix']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x35a0'),_0x55ff7e=[_0x368e5a['Diagnostics']['await_expression_is_only_allowed_within_an_async_function']['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35a1')][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6),_0x1adc17=_0x368e5a[_0x1a4e('0x2a5b')](_0x55ff7e);if(_0x1adc17){var _0xf79407,_0x2c9ec9;switch(_0x1adc17[_0x1a4e('0x146b')]){case 0x9c:_0xf79407=_0x1adc17[_0x1a4e('0x2cb')];break;case 0xef:case 0xc4:_0xf79407=_0x368e5a[_0x1a4e('0x327f')](_0x1adc17,0x5a,_0x146f6e);break;case 0xc5:_0xf79407=_0x368e5a[_0x1a4e('0x327f')](_0x1adc17,0x14,_0x146f6e)||_0x368e5a['first'](_0x1adc17['parameters']);break;default:return;}return _0xf79407&&{'insertBefore':_0xf79407,'returnType':(_0x2c9ec9=_0x1adc17,_0x2c9ec9[_0x1a4e('0x40')]?_0x2c9ec9[_0x1a4e('0x40')]:_0x368e5a[_0x1a4e('0x238d')](_0x2c9ec9[_0x1a4e('0x11c')])&&_0x2c9ec9['parent'][_0x1a4e('0x40')]&&_0x368e5a[_0x1a4e('0x24de')](_0x2c9ec9[_0x1a4e('0x11c')][_0x1a4e('0x40')])?_0x2c9ec9['parent'][_0x1a4e('0x40')][_0x1a4e('0x40')]:void 0x0)};}}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0x132e')],_0xf79407=_0x55ff7e[_0x1a4e('0x2e01')];if(_0xf79407){var _0x2c9ec9=_0x368e5a['getEntityNameFromTypeNode'](_0xf79407);_0x2c9ec9&&0x48===_0x2c9ec9[_0x1a4e('0x146b')]&&_0x1a4e('0xf55')===_0x2c9ec9[_0x1a4e('0xe04')]||_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0xf79407,_0x368e5a[_0x1a4e('0x28a5')](_0x1a4e('0xf55'),_0x368e5a[_0x1a4e('0x28d1')]([_0xf79407])));}_0x146f6e[_0x1a4e('0x34b5')](_0x2327c6,0x79,_0x1adc17);}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x27e7')],_0x420b32=_0x55ff7e[_0x1a4e('0x24c0')],_0x1b06ad=_0x1adc17(_0x2c9ec9,_0x420b32[_0x1a4e('0xc9')]);if(_0x1b06ad){var _0x326eae=_0x368e5a['textChanges'][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0xf79407(_0x368e5a,_0x2c9ec9,_0x1b06ad);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x326eae,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35a2')],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')]['Add_all_missing_async_modifiers'])];}},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e['codeFixAll'](_0x368e5a,_0x55ff7e,function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1adc17(_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')]);_0x55ff7e&&_0xf79407(_0x146f6e,_0x368e5a[_0x1a4e('0x27e7')],_0x55ff7e);});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x35a3'),_0x55ff7e=_0x368e5a[_0x1a4e('0x1713')](Object[_0x1a4e('0x56')](_0x368e5a[_0x1a4e('0x167d')]),function(_0x146f6e){var _0x2327c6=_0x368e5a['Diagnostics'][_0x146f6e];return _0x2327c6['category']===_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x101f')]?_0x2327c6[_0x1a4e('0x1617')]:void 0x0;});function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x22c1')](_0x2327c6,_0x55ff7e)[_0x1a4e('0xc5')];_0x1adc17&&!_0x368e5a[_0x1a4e('0x3048')](_0x1adc17,_0xf79407)||_0x146f6e['insertCommentBeforeLine'](_0x2327c6,_0xf79407,_0x55ff7e,_0x1a4e('0x35a4'));}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0xf79407=_0x55ff7e[_0x1a4e('0x27e7')],_0x2c9ec9=_0x55ff7e[_0x1a4e('0x303a')],_0x420b32=_0x55ff7e[_0x1a4e('0x24c0')],_0x1b06ad=_0x55ff7e[_0x1a4e('0x1599')],_0x326eae=_0x55ff7e['formatContext'];if(_0x368e5a[_0x1a4e('0x24e1')](_0xf79407)&&_0x368e5a[_0x1a4e('0x25e3')](_0xf79407,_0x2c9ec9[_0x1a4e('0x23f1')]())){var _0x56674b=[_0x146f6e[_0x1a4e('0x34e5')]('disableJsDiagnostics',[_0x146f6e['createFileTextChanges'](_0xf79407['fileName'],[_0x368e5a[_0x1a4e('0x34d6')](_0xf79407[_0x1a4e('0x25e4')]?_0x368e5a[_0x1a4e('0x22fa')](_0xf79407[_0x1a4e('0x25e4')][_0x1a4e('0xa4')],_0xf79407[_0x1a4e('0x25e4')][_0x1a4e('0xca')]):_0x368e5a[_0x1a4e('0x22fb')](0x0,0x0),_0x1a4e('0x35a5')+_0x368e5a[_0x1a4e('0x337b')](_0x1b06ad,_0x326eae[_0x1a4e('0x8dc')]))])],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35a6')])];return _0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x34e2')](_0xf79407,_0x420b32[_0x1a4e('0xc9')])&&_0x56674b[_0x1a4e('0x66')](_0x146f6e[_0x1a4e('0x34e6')](_0x1a4e('0x35a3'),_0x368e5a['textChanges'][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0x1adc17(_0x368e5a,_0xf79407,_0x420b32[_0x1a4e('0xc9')]);}),_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35a7')],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35a8')])),_0x56674b;}},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x2327c6){var _0xf79407=_0x368e5a[_0x1a4e('0x1772')]();return _0x146f6e[_0x1a4e('0x34ee')](_0x2327c6,_0x55ff7e,function(_0x146f6e,_0x2327c6){_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x34e2')](_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6['start'])&&_0x1adc17(_0x146f6e,_0x2327c6['file'],_0x2327c6['start'],_0xf79407);});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x146f6e[_0x1a4e('0x331f')]();if(_0x1b06ad&&_0x1b06ad[_0x1a4e('0x1e')]){var _0x326eae=_0x1b06ad[0x0],_0x56674b=_0x368e5a[_0x1a4e('0x3234')](_0x368e5a[_0x1a4e('0x23e9')](_0x326eae),!0x1),_0x17853d=function(_0x146f6e){if(0x4&_0x146f6e)return _0x368e5a[_0x1a4e('0x28b6')](0x73);if(0x10&_0x146f6e)return _0x368e5a[_0x1a4e('0x28b6')](0x72);return;}(_0x368e5a[_0x1a4e('0x245c')](_0x326eae)),_0xb13114=_0x17853d?_0x368e5a['createNodeArray']([_0x17853d]):void 0x0,_0x55246d=_0xf79407['getWidenedType'](_0xf79407[_0x1a4e('0x32a5')](_0x146f6e,_0x2327c6)),_0x34b722=!!(0x1000000&_0x146f6e['flags']);switch(_0x326eae[_0x1a4e('0x146b')]){case 0x9e:case 0x9f:case 0x99:case 0x9a:var _0x5199cc=_0xf79407[_0x1a4e('0x28dd')](_0x55246d,_0x2327c6);_0x420b32(_0x368e5a['createProperty'](void 0x0,_0xb13114,_0x56674b,_0x34b722?_0x368e5a[_0x1a4e('0x28b6')](0x38):void 0x0,_0x5199cc,void 0x0));break;case 0x9b:case 0x9c:var _0x4a02ac=_0xf79407['getSignaturesOfType'](_0x55246d,0x0);if(!_0x368e5a[_0x1a4e('0x1c2')](_0x4a02ac))break;if(0x1===_0x1b06ad[_0x1a4e('0x1e')]){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x1===_0x4a02ac[_0x1a4e('0x1e')]),_0x3a232d(_0x4a02ac[0x0],_0xb13114,_0x56674b,_0x1adc17(_0x2c9ec9));break;}for(var _0x1502a6=0x0,_0x47d050=_0x4a02ac;_0x1502a6<_0x47d050[_0x1a4e('0x1e')];_0x1502a6++){_0x3a232d(_0x47d050[_0x1502a6],_0x368e5a['getSynthesizedDeepClones'](_0xb13114,!0x1),_0x368e5a[_0x1a4e('0x3234')](_0x56674b,!0x1));}if(_0x1b06ad['length']>_0x4a02ac[_0x1a4e('0x1e')])_0x3a232d(_0xf79407[_0x1a4e('0x33ba')](_0x1b06ad[_0x1b06ad[_0x1a4e('0x1e')]-0x1]),_0xb13114,_0x56674b,_0x1adc17(_0x2c9ec9));else _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1b06ad['length']===_0x4a02ac[_0x1a4e('0x1e')]),_0x420b32(function(_0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x420b32){for(var _0x1b06ad=_0x146f6e[0x0],_0x326eae=_0x146f6e[0x0][_0x1a4e('0x29c5')],_0x56674b=!0x1,_0x17853d=0x0,_0xb13114=_0x146f6e;_0x17853d<_0xb13114[_0x1a4e('0x1e')];_0x17853d++){var _0x55246d=_0xb13114[_0x17853d];_0x326eae=Math[_0x1a4e('0x74')](_0x55246d['minArgumentCount'],_0x326eae),_0x55246d[_0x1a4e('0x23d8')]&&(_0x56674b=!0x0),_0x55246d[_0x1a4e('0x111a')][_0x1a4e('0x1e')]>=_0x1b06ad[_0x1a4e('0x111a')][_0x1a4e('0x1e')]&&(!_0x55246d['hasRestParameter']||_0x1b06ad[_0x1a4e('0x23d8')])&&(_0x1b06ad=_0x55246d);}var _0x34b722=_0x1b06ad[_0x1a4e('0x111a')][_0x1a4e('0x1e')]-(_0x1b06ad[_0x1a4e('0x23d8')]?0x1:0x0),_0x5199cc=_0x1b06ad[_0x1a4e('0x111a')][_0x1a4e('0x21')](function(_0x368e5a){return _0x368e5a['name'];}),_0x4a02ac=_0x55ff7e(_0x34b722,_0x5199cc,void 0x0,_0x326eae,!0x1);if(_0x56674b){var _0x1502a6=_0x368e5a['createArrayTypeNode'](_0x368e5a[_0x1a4e('0x289c')](0x78)),_0x47d050=_0x368e5a['createParameter'](void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x28b6')](0x19),_0x5199cc[_0x34b722]||_0x1a4e('0x1078'),_0x34b722>=_0x326eae?_0x368e5a['createToken'](0x38):void 0x0,_0x1502a6,void 0x0);_0x4a02ac['push'](_0x47d050);}return function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){return _0x368e5a['createMethod'](void 0x0,_0x146f6e,void 0x0,_0x2327c6,_0x55ff7e?_0x368e5a[_0x1a4e('0x28b6')](0x38):void 0x0,_0xf79407,_0x2c9ec9,_0x420b32,_0x1adc17(_0x1b06ad));}(_0x2c9ec9,_0x2327c6,_0xf79407,void 0x0,_0x4a02ac,void 0x0,_0x420b32);}(_0x4a02ac,_0x56674b,_0x34b722,_0xb13114,_0x2c9ec9));}}function _0x3a232d(_0x146f6e,_0x55ff7e,_0x1adc17,_0x2c9ec9){var _0x1b06ad=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad=_0x146f6e[_0x1a4e('0x28df')](_0x2327c6,0x9c,_0x55ff7e,0x100);if(!_0x1b06ad)return;return _0x1b06ad[_0x1a4e('0x232f')]=void 0x0,_0x1b06ad[_0x1a4e('0x242d')]=_0x1adc17,_0x1b06ad['name']=_0xf79407,_0x1b06ad[_0x1a4e('0x23ca')]=_0x2c9ec9?_0x368e5a[_0x1a4e('0x28b6')](0x38):void 0x0,_0x1b06ad[_0x1a4e('0x8f2')]=_0x420b32,_0x1b06ad;}(_0xf79407,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x34b722,_0x2c9ec9);_0x1b06ad&&_0x420b32(_0x1b06ad);}}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){for(var _0x2c9ec9=[],_0x420b32=0x0;_0x420b32<_0x146f6e;_0x420b32++){var _0x1b06ad=_0x368e5a['createParameter'](void 0x0,void 0x0,void 0x0,_0x2327c6&&_0x2327c6[_0x420b32]||_0x1a4e('0x1363')+_0x420b32,void 0x0!==_0x1adc17&&_0x420b32>=_0x1adc17?_0x368e5a[_0x1a4e('0x28b6')](0x38):void 0x0,_0xf79407?void 0x0:_0x55ff7e&&_0x55ff7e[_0x420b32]||_0x368e5a['createKeywordTypeNode'](0x78),void 0x0);_0x2c9ec9['push'](_0x1b06ad);}return _0x2c9ec9;}function _0x1adc17(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2ca9')](_0x368e5a['createNew'](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x101f')),void 0x0,[_0x368e5a[_0x1a4e('0x2896')]('Method\x20not\x20implemented.',_0x1a4e('0x3212')===_0x146f6e[_0x1a4e('0x3211')])]))],!0x0);}_0x146f6e[_0x1a4e('0x357c')]=function(_0x368e5a,_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){for(var _0x2c9ec9=_0x368e5a[_0x1a4e('0xb1b')][_0x1a4e('0x2369')],_0x420b32=0x0,_0x1b06ad=_0x146f6e;_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0x2c9ec9[_0x1a4e('0x178')](_0x326eae['escapedName'])||_0x2327c6(_0x326eae,_0x368e5a,_0x55ff7e,_0x1adc17,_0xf79407);}},_0x146f6e[_0x1a4e('0x35a9')]=function(_0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae){var _0x56674b=_0x2327c6[_0x1a4e('0x2365')],_0x3a3292=_0x2327c6[_0x1a4e('0x2373')],_0x20ed7b=_0x2327c6[_0x1a4e('0x11c')],_0xfd155f=_0x146f6e[_0x1a4e('0x303a')][_0x1a4e('0x302b')](),_0x4c0427=_0x368e5a[_0x1a4e('0x21')](_0x3a3292,function(_0x368e5a){return _0xfd155f['typeToTypeNode'](_0xfd155f[_0x1a4e('0x3529')](_0xfd155f['getTypeAtLocation'](_0x368e5a)));}),_0x5ba67a=_0x368e5a[_0x1a4e('0x21')](_0x3a3292,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e)?_0x146f6e[_0x1a4e('0xe04')]:_0x368e5a[_0x1a4e('0x2371')](_0x146f6e)?_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]:void 0x0;}),_0x23b83c=_0xfd155f[_0x1a4e('0x323e')](_0x2327c6),_0x2f9fa6=_0x2c9ec9?void 0x0:_0x23b83c&&_0xfd155f[_0x1a4e('0x28dd')](_0x23b83c,_0x2327c6)||_0x368e5a[_0x1a4e('0x289c')](0x78);return _0x368e5a[_0x1a4e('0x2c3b')](void 0x0,_0x420b32?[_0x368e5a[_0x1a4e('0x28b6')](0x74)]:void 0x0,_0x368e5a[_0x1a4e('0x32cc')](_0x20ed7b)?_0x368e5a[_0x1a4e('0x28b6')](0x28):void 0x0,_0xf79407,void 0x0,_0x2c9ec9?void 0x0:_0x368e5a[_0x1a4e('0x21')](_0x56674b,function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2c33')](0x54+_0x56674b[_0x1a4e('0x1e')]-0x1<=0x5a?String[_0x1a4e('0x8fe')](0x54+_0x2327c6):'T'+_0x2327c6);}),_0x55ff7e(_0x3a3292[_0x1a4e('0x1e')],_0x5ba67a,_0x4c0427,void 0x0,_0x2c9ec9),_0x2f9fa6,_0x326eae?_0x1adc17(_0x1b06ad):void 0x0);};}(_0x368e5a['codefix']||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x35aa');function _0x55ff7e(_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x323a')]['ChangeTracker'][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x34be')](_0x1adc17,_0xf79407,_0x2c9ec9);});return _0x146f6e[_0x1a4e('0x34e5')](_0x2327c6,_0x420b32,[_0x368e5a[_0x1a4e('0x167d')]['Replace_import_with_0'],_0x420b32[0x0]['textChanges'][0x0][_0x1a4e('0x323b')]]);}function _0x1adc17(_0x1adc17,_0xf79407){var _0x2c9ec9=_0x1adc17[_0x1a4e('0x303a')][_0x1a4e('0x302b')]()[_0x1a4e('0x31d9')](_0xf79407);if(!_0x2c9ec9[_0x1a4e('0xb1b')]||!_0x2c9ec9[_0x1a4e('0xb1b')]['originatingImport'])return[];var _0x420b32=[],_0x1b06ad=_0x2c9ec9['symbol']['originatingImport'];if(_0x368e5a[_0x1a4e('0x2a16')](_0x1b06ad)||_0x368e5a[_0x1a4e('0x23d1')](_0x420b32,function(_0x146f6e,_0x2327c6){var _0x1adc17=_0x368e5a[_0x1a4e('0x1674')](_0x2327c6),_0xf79407=_0x368e5a['getNamespaceDeclarationNode'](_0x2327c6),_0x2c9ec9=_0x146f6e[_0x1a4e('0x303a')][_0x1a4e('0x23f1')](),_0x420b32=[];return _0x420b32[_0x1a4e('0x46')](_0x55ff7e(_0x146f6e,_0x1adc17,_0x2327c6,_0x368e5a[_0x1a4e('0x320c')](_0xf79407['name'],void 0x0,_0x2327c6[_0x1a4e('0x23c5')],_0x368e5a[_0x1a4e('0x3210')](_0x1adc17,_0x146f6e[_0x1a4e('0x353e')])))),_0x368e5a['getEmitModuleKind'](_0x2c9ec9)===_0x368e5a[_0x1a4e('0x1a35')]['CommonJS']&&_0x420b32[_0x1a4e('0x46')](_0x55ff7e(_0x146f6e,_0x1adc17,_0x2327c6,_0x368e5a[_0x1a4e('0x35ab')](void 0x0,void 0x0,_0xf79407[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2ccf')](_0x2327c6[_0x1a4e('0x23c5')])))),_0x420b32;}(_0x1adc17,_0x1b06ad)),_0x368e5a[_0x1a4e('0x24a8')](_0xf79407)&&(!_0x368e5a[_0x1a4e('0x2846')](_0xf79407[_0x1a4e('0x11c')])||_0xf79407[_0x1a4e('0x11c')]['name']!==_0xf79407)){var _0x326eae=_0x1adc17[_0x1a4e('0x27e7')],_0x56674b=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x1adc17,function(_0x146f6e){return _0x146f6e[_0x1a4e('0x34be')](_0x326eae,_0xf79407,_0x368e5a[_0x1a4e('0x2894')](_0xf79407,_0x1a4e('0x8')),{});});_0x420b32[_0x1a4e('0x46')](_0x146f6e[_0x1a4e('0x34e5')](_0x2327c6,_0x56674b,_0x368e5a['Diagnostics'][_0x1a4e('0x35ac')]));}return _0x420b32;}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ab5')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2ab6')]['code']],'getCodeActions':function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x27e7')],_0x55ff7e=_0x368e5a['Diagnostics'][_0x1a4e('0x2ab5')][_0x1a4e('0x1617')]===_0x146f6e[_0x1a4e('0x34ea')]?0xbf:0xc0,_0xf79407=_0x368e5a[_0x1a4e('0x283d')](_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x146f6e['span'][_0x1a4e('0xc9')]),function(_0x368e5a){return _0x368e5a[_0x1a4e('0x146b')]===_0x55ff7e&&_0x368e5a[_0x1a4e('0x31d6')]()===_0x146f6e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]&&_0x368e5a[_0x1a4e('0x31d7')]()===_0x146f6e[_0x1a4e('0x24c0')]['start']+_0x146f6e[_0x1a4e('0x24c0')][_0x1a4e('0x1e')];});if(!_0xf79407)return[];var _0x2c9ec9=_0xf79407[_0x1a4e('0x2302')];return _0x1adc17(_0x146f6e,_0x2c9ec9);}}),_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':[_0x368e5a['Diagnostics']['Argument_of_type_0_is_not_assignable_to_parameter_of_type_1'][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aa4')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35ad')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a19')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2a12')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b70')]['code'],_0x368e5a[_0x1a4e('0x167d')]['Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2'][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2b72')][_0x1a4e('0x1617')],_0x368e5a[_0x1a4e('0x167d')]['Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2']['code'],_0x368e5a[_0x1a4e('0x167d')]['Property_0_in_type_1_is_not_assignable_to_type_2']['code'],_0x368e5a['Diagnostics'][_0x1a4e('0x35ae')]['code'],_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x2aa5')][_0x1a4e('0x1617')]],'getCodeActions':function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x27e7')],_0x55ff7e=_0x368e5a[_0x1a4e('0x283d')](_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x146f6e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]),function(_0x368e5a){return _0x368e5a[_0x1a4e('0x31d6')]()===_0x146f6e['span']['start']&&_0x368e5a['getEnd']()===_0x146f6e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]+_0x146f6e['span']['length'];});if(!_0x55ff7e)return[];return _0x1adc17(_0x146f6e,_0x55ff7e);}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a['codefix']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x35af'),_0x55ff7e='addMissingPropertyDefiniteAssignmentAssertions',_0x1adc17=_0x1a4e('0x35b0'),_0xf79407=_0x1a4e('0x35b1'),_0x2c9ec9=[_0x368e5a['Diagnostics'][_0x1a4e('0x35b2')]['code']];function _0x420b32(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0x2370')](_0x55ff7e)?_0x368e5a[_0x1a4e('0x172f')](_0x55ff7e['parent'],_0x368e5a[_0x1a4e('0x24ec')]):void 0x0;}function _0x1b06ad(_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x1adc17,function(_0x368e5a){return _0x326eae(_0x368e5a,_0x1adc17['sourceFile'],_0xf79407);});return _0x146f6e['createCodeFixAction'](_0x2327c6,_0x2c9ec9,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35b3')],_0xf79407[_0x1a4e('0x230e')]()],_0x55ff7e,_0x368e5a[_0x1a4e('0x167d')]['Add_definite_assignment_assertions_to_all_uninitialized_properties']);}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2c38')](_0x55ff7e,_0x55ff7e[_0x1a4e('0x232f')],_0x55ff7e['modifiers'],_0x55ff7e[_0x1a4e('0x2cb')],_0x368e5a['createToken'](0x34),_0x55ff7e['type'],_0x55ff7e['initializer']);_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e,_0x1adc17);}function _0x56674b(_0x55ff7e,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0x1c3c62(_0x368e5a,_0x55ff7e[_0x1a4e('0x27e7')],_0xf79407);});return _0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x2c9ec9,[_0x368e5a['Diagnostics'][_0x1a4e('0x35b4')],_0xf79407[_0x1a4e('0x2cb')][_0x1a4e('0x230e')]()],_0x1adc17,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35b5')]);}function _0x1c3c62(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x289c')](0x8d),_0xf79407=_0x55ff7e[_0x1a4e('0x40')],_0x2c9ec9=_0x368e5a[_0x1a4e('0x24f4')](_0xf79407)?_0xf79407[_0x1a4e('0x2380')][_0x1a4e('0x9a')](_0x1adc17):[_0xf79407,_0x1adc17];_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0xf79407,_0x368e5a['createUnionTypeNode'](_0x2c9ec9));}function _0x228c35(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a['updateProperty'](_0x55ff7e,_0x55ff7e[_0x1a4e('0x232f')],_0x55ff7e['modifiers'],_0x55ff7e['name'],_0x55ff7e[_0x1a4e('0x23ca')],_0x55ff7e['type'],_0x1adc17);_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e,_0xf79407);}function _0x430961(_0x146f6e,_0x2327c6){return function _0x146f6e(_0x2327c6,_0x55ff7e){if(0x200&_0x55ff7e[_0x1a4e('0x7b2')])return _0x55ff7e===_0x2327c6[_0x1a4e('0x35b6')]()||_0x55ff7e===_0x2327c6['getFalseType'](!0x0)?_0x368e5a['createFalse']():_0x368e5a[_0x1a4e('0x2bd4')]();if(_0x55ff7e[_0x1a4e('0x32aa')]())return _0x368e5a[_0x1a4e('0x2896')](_0x55ff7e[_0x1a4e('0x255')]);if(_0x55ff7e[_0x1a4e('0x325b')]())return _0x368e5a[_0x1a4e('0x1703')](_0x55ff7e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x146f6e(_0x2327c6,_0x368e5a);});if(_0x55ff7e[_0x1a4e('0x35b7')]()){var _0x1adc17=_0x368e5a[_0x1a4e('0x2499')](_0x55ff7e[_0x1a4e('0xb1b')]);if(!_0x1adc17||_0x368e5a[_0x1a4e('0x24c6')](_0x1adc17,0x80))return;var _0xf79407=_0x368e5a['getFirstConstructorWithBody'](_0x1adc17);if(_0xf79407&&_0xf79407[_0x1a4e('0x111a')][_0x1a4e('0x1e')])return;return _0x368e5a[_0x1a4e('0x2e66')](_0x368e5a[_0x1a4e('0x2893')](_0x55ff7e[_0x1a4e('0xb1b')][_0x1a4e('0x2cb')]),void 0x0,void 0x0);}if(_0x2327c6['isArrayLikeType'](_0x55ff7e))return _0x368e5a['createArrayLiteral']();return;}(_0x146f6e,_0x146f6e[_0x1a4e('0x3251')](_0x2327c6['type']));}_0x146f6e['registerCodeFix']({'errorCodes':_0x2c9ec9,'getCodeActions':function(_0x55ff7e){var _0x1adc17=_0x420b32(_0x55ff7e[_0x1a4e('0x27e7')],_0x55ff7e[_0x1a4e('0x24c0')]['start']);if(_0x1adc17){var _0x2c9ec9=[_0x56674b(_0x55ff7e,_0x1adc17),_0x1b06ad(_0x55ff7e,_0x1adc17)];return _0x368e5a[_0x1a4e('0x252')](_0x2c9ec9,function(_0x55ff7e,_0x1adc17){var _0x2c9ec9=_0x430961(_0x55ff7e['program'][_0x1a4e('0x302b')](),_0x1adc17);if(!_0x2c9ec9)return;var _0x420b32=_0x368e5a[_0x1a4e('0x323a')]['ChangeTracker'][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0x228c35(_0x368e5a,_0x55ff7e['sourceFile'],_0x1adc17,_0x2c9ec9);});return _0x146f6e['createCodeFixAction'](_0x2327c6,_0x420b32,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35b8')],_0x1adc17[_0x1a4e('0x2cb')]['getText']()],_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35b9')]);}(_0x55ff7e,_0x1adc17)),_0x2c9ec9;}},'fixIds':[_0x55ff7e,_0x1adc17,_0xf79407],'getAllCodeActions':function(_0x2327c6){return _0x146f6e[_0x1a4e('0x34ee')](_0x2327c6,_0x2c9ec9,function(_0x146f6e,_0x2c9ec9){var _0x1b06ad=_0x420b32(_0x2c9ec9[_0x1a4e('0x15c9')],_0x2c9ec9[_0x1a4e('0xc9')]);if(_0x1b06ad)switch(_0x2327c6[_0x1a4e('0x34ec')]){case _0x55ff7e:_0x326eae(_0x146f6e,_0x2c9ec9[_0x1a4e('0x15c9')],_0x1b06ad);break;case _0x1adc17:_0x1c3c62(_0x146f6e,_0x2c9ec9[_0x1a4e('0x15c9')],_0x1b06ad);break;case _0xf79407:var _0x56674b=_0x430961(_0x2327c6[_0x1a4e('0x303a')][_0x1a4e('0x302b')](),_0x1b06ad);if(!_0x56674b)return;_0x228c35(_0x146f6e,_0x2c9ec9[_0x1a4e('0x15c9')],_0x1b06ad,_0x56674b);break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](JSON[_0x1a4e('0xd7')](_0x2327c6[_0x1a4e('0x34ec')]));}});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){return _0x2327c6(_0x368e5a[_0x1a4e('0x3105')](_0x146f6e,_0x55ff7e),_0x1adc17,_0xf79407);}function _0x2327c6(_0x146f6e,_0x2327c6,_0x55ff7e){return void 0x0===_0x55ff7e&&(_0x55ff7e=0x0),_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x35ba')](_0xf79407(_0x146f6e,_0x55ff7e),0x3,_0x2327c6['newLineCharacter']||'\x0a',_0x368e5a['formatting'][_0x1a4e('0x35bb')](_0x2327c6));}var _0x55ff7e;function _0x1adc17(_0x368e5a){return _0xf79407(_0x368e5a,0x2);}function _0xf79407(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1a4e('0x8')===_0x146f6e[_0x1a4e('0x2cb')],_0x56674b=_0x55ff7e?_0x1a4e('0x35bc'):_0x146f6e[_0x1a4e('0x2cb')];if(!_0x59e704(_0x56674b)||_0x55ff7e&&0x1!==_0x2327c6)return _0x368e5a[_0x1a4e('0x1700')];var _0x12f6cd=_0x55ff7e&&0x2===_0x146f6e[_0x1a4e('0x146b')]?[_0x368e5a[_0x1a4e('0x2c2e')](0x55),_0x368e5a[_0x1a4e('0x2c2e')](0x50)]:0x3===_0x2327c6||0x0===_0x2327c6?[_0x368e5a[_0x1a4e('0x2c2e')](0x7d)]:0x1===_0x2327c6?[_0x368e5a[_0x1a4e('0x2c2e')](0x55)]:void 0x0,_0x460df2=function(){return 0x0===_0x2327c6?[_0x2c9ec9(_0x146f6e[_0x1a4e('0x2cb')],!0x0)]:_0x368e5a[_0x1a4e('0x1700')];},_0xda9e9f=function(){return _0x55ff7e?[_0x2c9ec9('_default',!0x1)]:_0x368e5a['emptyArray'];};switch(_0x146f6e['kind']){case 0x2:return _0x460df2()[_0x1a4e('0x9a')](function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x55ff7e[_0x1a4e('0xfaa')],_0x2c9ec9=_0x55ff7e[_0x1a4e('0x35bd')],_0x56674b=_0x55ff7e[_0x1a4e('0x35be')],_0x12f6cd=_0x44cdb9(_0x1adc17),_0x460df2=void 0x0===_0x12f6cd?{'parameters':_0x368e5a[_0x1a4e('0x1700')],'returnType':_0x5ca3d7()}:_0x326eae(_0x12f6cd),_0xda9e9f=_0x460df2['parameters'],_0x28eb8a=_0x460df2[_0x1a4e('0x2e01')],_0x1459f0=_0x368e5a[_0x1a4e('0x1772')]();_0x1a4e('0x85')==typeof _0x12f6cd&&function(_0x146f6e,_0x2327c6){_0x20eb55(_0x146f6e,function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x287a')](_0x146f6e,!0x0)&&_0x368e5a[_0x1a4e('0x2371')](_0x146f6e[_0x1a4e('0x5f')])&&0x64===_0x146f6e[_0x1a4e('0x5f')][_0x1a4e('0x2302')][_0x1a4e('0x146b')]){var _0x55ff7e=_0x146f6e['left'][_0x1a4e('0x2cb')][_0x1a4e('0xe04')];_0x368e5a[_0x1a4e('0x3106')](_0x55ff7e)||_0x368e5a[_0x1a4e('0x25ee')](_0x2327c6,_0x55ff7e,function(){return _0x368e5a[_0x1a4e('0x2c37')](void 0x0,void 0x0,_0x55ff7e,void 0x0,_0x5ca3d7(),void 0x0);});}});}(_0x12f6cd,_0x1459f0);for(var _0x1dbe9d=0x0,_0x4f5b4f=_0x2c9ec9;_0x1dbe9d<_0x4f5b4f['length'];_0x1dbe9d++){var _0x4e48e9=_0x4f5b4f[_0x1dbe9d];if(0x2===_0x4e48e9[_0x1a4e('0x146b')]){var _0x1409c4=_0x420b32(_0x4e48e9);_0x1409c4&&_0x1459f0[_0x1a4e('0x17a')](_0x4e48e9[_0x1a4e('0x2cb')],_0x1409c4);}}var _0x332a66=0x0!==_0x1459f0[_0x1a4e('0x220')]||void 0x0===_0x12f6cd||_0x1a4e('0x3d')!=typeof _0x12f6cd&&0x9d===_0x12f6cd[_0x1a4e('0x146b')]?[]:void 0x0,_0x3a4bf1=_0x368e5a['flatMap'](_0x56674b,function(_0x146f6e){if(_0x59e704(_0x146f6e[_0x1a4e('0x2cb')])){if(_0x332a66)switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x3:if(_0x146f6e['members'][_0x1a4e('0x1c2')](function(_0x368e5a){return 0x2===_0x368e5a['kind'];}))break;case 0x1:case 0x0:return void _0x332a66[_0x1a4e('0x46')](_0x550ba0(_0x368e5a[_0x1a4e('0x2c37')](void 0x0,[_0x368e5a['createModifier'](0x74)],_0x146f6e[_0x1a4e('0x2cb')],void 0x0,_0x1b06ad(_0x146f6e),void 0x0),0x0===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e['comment']:void 0x0));case 0x2:if(!_0x146f6e[_0x1a4e('0x35be')][_0x1a4e('0x1e')]){var _0x2327c6=_0x420b32(_0x146f6e,[_0x368e5a[_0x1a4e('0x2c2e')](0x74)]);if(_0x2327c6)return void _0x332a66[_0x1a4e('0x46')](_0x2327c6);}break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}return _0xf79407(_0x146f6e,0x2);}});return[_0x332a66?_0x368e5a[_0x1a4e('0x2df9')](void 0x0,_0x146f6e,_0x2327c6,void 0x0,void 0x0,_0x332a66[_0x1a4e('0x9a')](_0xda9e9f[_0x1a4e('0x1e')]?[_0x368e5a['createConstructor'](void 0x0,void 0x0,_0xda9e9f,void 0x0)]:_0x368e5a['emptyArray'],_0x368e5a['arrayFrom'](_0x1459f0['values']()))):_0x368e5a[_0x1a4e('0x2cb0')](void 0x0,_0x146f6e,void 0x0,_0x2327c6,void 0x0,_0xda9e9f,_0x28eb8a,void 0x0)][_0x1a4e('0x9a')](0x0===_0x3a4bf1[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x1700')]:[_0x54bf76(_0x146f6e&&_0x146f6e[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a['getSynthesizedDeepClone'](_0x146f6e);}),_0x2327c6,_0x3a4bf1)]);}(_0x12f6cd,_0x56674b,_0x146f6e));case 0x3:var _0x259c55=_0x146f6e[_0x1a4e('0x2369')];if(!_0x146f6e[_0x1a4e('0x35bf')]){if(0x0===_0x2327c6)return _0x368e5a[_0x1a4e('0x104e')](_0x259c55,function(_0x368e5a){return _0xf79407(_0x368e5a,0x1);});if(_0x259c55[_0x1a4e('0x1c2')](function(_0x368e5a){return 0x2===_0x368e5a[_0x1a4e('0x146b')];}))return _0xda9e9f()[_0x1a4e('0x9a')]([_0x54bf76(_0x12f6cd,_0x56674b,_0x368e5a[_0x1a4e('0x104e')](_0x259c55,_0x1adc17))]);}case 0x0:case 0x1:var _0xe3309d=0x0===_0x146f6e['kind']?_0x146f6e[_0x1a4e('0x2695')]:void 0x0,_0x262048=_0x368e5a[_0x1a4e('0x2c93')](_0x12f6cd,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a['createVariableDeclaration'](_0x56674b,_0x1b06ad(_0x146f6e))],0x2));return _0x460df2()[_0x1a4e('0x9a')](_0xda9e9f(),[_0x550ba0(_0x262048,_0xe3309d)]);default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}function _0x2c9ec9(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2cc9')](void 0x0,void 0x0,_0x2327c6,_0x368e5a[_0x1a4e('0x2893')](_0x146f6e));}function _0x420b32(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e['name'],_0x1adc17=_0x146f6e[_0x1a4e('0xfaa')];if(_0x59e704(_0x55ff7e)){var _0xf79407=_0x44cdb9(_0x1adc17);if(void 0x0!==_0xf79407&&(_0x1a4e('0x3d')==typeof _0xf79407||0x9d!==_0xf79407['kind'])){var _0x2c9ec9=_0x326eae(_0xf79407);return _0x2c9ec9&&_0x368e5a[_0x1a4e('0x2c3b')](void 0x0,_0x2327c6,void 0x0,_0x55ff7e,void 0x0,void 0x0,_0x2c9ec9[_0x1a4e('0x111a')],_0x2c9ec9['returnType'],void 0x0);}}}function _0x1b06ad(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x0:return _0x368e5a[_0x1a4e('0x28a5')](_0x146f6e['typeName'],void 0x0);case 0x1:return _0x368e5a['createArrayTypeNode'](_0x1b06ad(_0x146f6e[_0x1a4e('0xdc6')]));case 0x2:return _0x368e5a[_0x1a4e('0x28a5')]('Function',void 0x0);case 0x3:return _0x368e5a[_0x1a4e('0x28b9')](_0x146f6e[_0x1a4e('0x2369')][_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x28be')](void 0x0,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2995')](_0x146f6e,0x6)?_0x368e5a[_0x1a4e('0x2893')](_0x146f6e):_0x368e5a['createStringLiteral'](_0x146f6e);}(_0x146f6e[_0x1a4e('0x2cb')]),void 0x0,_0x1b06ad(_0x146f6e),void 0x0);}));default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}function _0x326eae(_0x146f6e){if(_0x1a4e('0x3d')==typeof _0x146f6e)return{'parameters':_0x368e5a['fill'](_0x146f6e,function(_0x368e5a){return _0x56674b('p'+_0x368e5a,_0x5ca3d7());}),'returnType':_0x5ca3d7()};var _0x2327c6=!0x1,_0x55ff7e=!0x1;return _0x20eb55(_0x146f6e,function(_0x146f6e){_0x2327c6=_0x2327c6||_0x368e5a[_0x1a4e('0x2370')](_0x146f6e)&&'arguments'===_0x146f6e[_0x1a4e('0xe04')],_0x55ff7e=_0x55ff7e||_0x368e5a[_0x1a4e('0x2516')](_0x146f6e)&&!!_0x146f6e['expression']&&0xc8!==_0x146f6e[_0x1a4e('0x2302')][_0x1a4e('0x146b')];}),{'parameters':_0x146f6e[_0x1a4e('0x111a')][_0x1a4e('0x21')](function(_0x368e5a){return _0x56674b(''+_0x368e5a['name'][_0x1a4e('0x230e')](),_0x5ca3d7());})[_0x1a4e('0x9a')](_0x2327c6?[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,_0x368e5a['createToken'](0x19),'args',void 0x0,_0x368e5a[_0x1a4e('0x28a6')](_0x5ca3d7()))]:_0x368e5a[_0x1a4e('0x1700')]),'returnType':_0x55ff7e?_0x5ca3d7():_0x368e5a[_0x1a4e('0x289c')](0x6a)};}function _0x56674b(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x146f6e,void 0x0,_0x2327c6);}function _0x44cdb9(_0x146f6e){if(_0x1a4e('0x3d')==typeof _0x146f6e)return _0x146f6e;var _0x2327c6=_0x368e5a[_0x1a4e('0x172e')](_0x1a720c(_0x146f6e),function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23df')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23e0')](_0x146f6e)||_0x368e5a[_0x1a4e('0x237c')](_0x146f6e);});return _0x2327c6?_0x368e5a[_0x1a4e('0x237c')](_0x2327c6)?_0x368e5a[_0x1a4e('0x1c7')](_0x2327c6['members'],_0x368e5a[_0x1a4e('0x23e3')]):_0x2327c6:_0x368e5a['cast'](_0x368e5a[_0x1a4e('0x10f7')](_0x368e5a['cast'](_0x1a720c('{\x20'+_0x146f6e+'\x20}'),_0x368e5a[_0x1a4e('0x236f')])[_0x1a4e('0x13')]),_0x368e5a['isMethodDeclaration']);}function _0x1a720c(_0x146f6e){var _0x2327c6=_0x1a4e('0x35c0')+_0x146f6e,_0x55ff7e=_0x368e5a[_0x1a4e('0x262c')](_0x1a4e('0x35c1'),_0x2327c6,0x6,!0x0);return _0x368e5a[_0x1a4e('0x10f7')](_0x368e5a[_0x1a4e('0x172f')](_0x368e5a[_0x1a4e('0x10f7')](_0x55ff7e['statements']),_0x368e5a[_0x1a4e('0x2376')])[_0x1a4e('0x2377')][_0x1a4e('0x22e5')])[_0x1a4e('0x236a')];}function _0x20eb55(_0x146f6e,_0x2327c6){_0x146f6e['body'][_0x1a4e('0x22eb')](function _0x146f6e(_0x55ff7e){_0x2327c6(_0x55ff7e),_0x368e5a[_0x1a4e('0x2342')](_0x55ff7e)||_0x55ff7e[_0x1a4e('0x22eb')](_0x146f6e);});}function _0x59e704(_0x146f6e){var _0x2327c6=_0x368e5a['stringToToken'](_0x146f6e);return!(_0x2327c6&&_0x368e5a[_0x1a4e('0x23f5')](_0x2327c6))&&_0x368e5a[_0x1a4e('0x2995')](_0x146f6e,0x6);}function _0x550ba0(_0x146f6e,_0x2327c6){return void 0x0!==_0x2327c6&&_0x368e5a[_0x1a4e('0x2e6c')](_0x146f6e,0x2,_0x2327c6),_0x146f6e;}function _0x5ca3d7(){return _0x368e5a['createKeywordTypeNode'](0x78);}function _0x54bf76(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x2cb7')](void 0x0,_0x146f6e,_0x368e5a[_0x1a4e('0x2893')](_0x2327c6),_0x368e5a[_0x1a4e('0x2f10')](_0x55ff7e),0x10);}_0x368e5a[_0x1a4e('0x35c2')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){return _0x146f6e(_0x368e5a,_0x2327c6,_0x55ff7e,0x0);},_0x368e5a[_0x1a4e('0x35c3')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){return _0x146f6e(_0x368e5a,_0x2327c6,_0x55ff7e,0x3);},_0x368e5a[_0x1a4e('0x35c4')]=_0x2327c6,function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x19b3')]=0x0]=_0x1a4e('0x19b3'),_0x368e5a[_0x368e5a[_0x1a4e('0x35c5')]=0x1]=_0x1a4e('0x35c5'),_0x368e5a[_0x368e5a['NamespaceMember']=0x2]=_0x1a4e('0x35c6'),_0x368e5a[_0x368e5a[_0x1a4e('0x32c0')]=0x3]=_0x1a4e('0x32c0');}(_0x55ff7e||(_0x55ff7e={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x35c7'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x33b0')][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6)[_0x1a4e('0x11c')];if(!_0x368e5a[_0x1a4e('0x23ae')](_0x55ff7e,!0x0))throw _0x368e5a[_0x1a4e('0x1749')]['failBadSyntaxKind'](_0x55ff7e);var _0x1adc17=_0x368e5a[_0x1a4e('0x172f')](_0x55ff7e[_0x1a4e('0x11c')],_0x368e5a['isVariableDeclaration']);return{'statement':_0x368e5a['cast'](_0x1adc17[_0x1a4e('0x11c')]['parent'],_0x368e5a[_0x1a4e('0x2376')]),'name':_0x368e5a[_0x1a4e('0x172f')](_0x1adc17[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2370')]),'required':_0x55ff7e[_0x1a4e('0x2373')][0x0]};}(_0x2327c6,_0x55ff7e),_0x2c9ec9=_0xf79407[_0x1a4e('0x2390')],_0x420b32=_0xf79407[_0x1a4e('0x2cb')],_0x1b06ad=_0xf79407[_0x1a4e('0x35c8')];_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x2c9ec9,_0x368e5a[_0x1a4e('0x258f')](_0x1adc17[_0x1a4e('0x23f1')]())?_0x368e5a[_0x1a4e('0x2cbf')](void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2cc1')](_0x420b32,void 0x0),_0x1b06ad):_0x368e5a[_0x1a4e('0x35ab')](void 0x0,void 0x0,_0x420b32,_0x368e5a[_0x1a4e('0x2ccf')](_0x1b06ad)));}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0xf79407=_0x368e5a['textChanges']['ChangeTracker'][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0x1adc17(_0x368e5a,_0x55ff7e['sourceFile'],_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x55ff7e[_0x1a4e('0x303a')]);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0xf79407,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35c9')],_0x2327c6,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35ca')])];},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x146f6e,_0x2327c6){return _0x1adc17(_0x146f6e,_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')],_0x368e5a[_0x1a4e('0x303a')]);});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x35cb'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')]['Import_may_be_converted_to_a_default_import']['code']];function _0x1adc17(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6);if(_0x368e5a[_0x1a4e('0x2370')](_0x55ff7e)){var _0x1adc17=_0x55ff7e['parent'];if(_0x368e5a[_0x1a4e('0x2bd3')](_0x1adc17)&&_0x368e5a[_0x1a4e('0x2525')](_0x1adc17[_0x1a4e('0x236d')]))return{'importNode':_0x1adc17,'name':_0x55ff7e,'moduleSpecifier':_0x1adc17[_0x1a4e('0x236d')][_0x1a4e('0x2302')]};if(_0x368e5a[_0x1a4e('0x336e')](_0x1adc17)){var _0xf79407=_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x11c')];return{'importNode':_0xf79407,'name':_0x55ff7e,'moduleSpecifier':_0xf79407[_0x1a4e('0x23c5')]};}}}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e[_0x1a4e('0x35cc')],_0x368e5a[_0x1a4e('0x320c')](_0x55ff7e[_0x1a4e('0x2cb')],void 0x0,_0x55ff7e[_0x1a4e('0x23c5')],_0x368e5a[_0x1a4e('0x3210')](_0x2327c6,_0x1adc17)));}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x27e7')],_0x420b32=_0x55ff7e[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x1b06ad=_0x1adc17(_0x2c9ec9,_0x420b32);if(_0x1b06ad){var _0x326eae=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0xf79407(_0x368e5a,_0x2c9ec9,_0x1b06ad,_0x55ff7e[_0x1a4e('0x353e')]);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x326eae,_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35cd')],_0x2327c6,_0x368e5a['Diagnostics']['Convert_all_to_default_imports'])];}},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e['codeFixAll'](_0x368e5a,_0x55ff7e,function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1adc17(_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')]);_0x55ff7e&&_0xf79407(_0x146f6e,_0x2327c6['file'],_0x55ff7e,_0x368e5a['preferences']);});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6=_0x1a4e('0x35ce'),_0x55ff7e=[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x29ff')][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0x5c===_0x55ff7e[_0x1a4e('0x146b')]),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xb7===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]),_0x55ff7e['parent'];}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['updateImportTypeNode'](_0x55ff7e,_0x55ff7e[_0x1a4e('0x2300')],_0x55ff7e[_0x1a4e('0x2600')],_0x55ff7e[_0x1a4e('0x2365')],!0x0);_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e,_0x1adc17);}_0x146f6e['registerCodeFix']({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x27e7')],_0x420b32=_0x55ff7e['span'],_0x1b06ad=_0x1adc17(_0x2c9ec9,_0x420b32[_0x1a4e('0xc9')]),_0x326eae=_0x368e5a['textChanges'][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0xf79407(_0x368e5a,_0x2c9ec9,_0x1b06ad);});return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x326eae,_0x368e5a[_0x1a4e('0x167d')]['Add_missing_typeof'],_0x2327c6,_0x368e5a['Diagnostics'][_0x1a4e('0x35cf')])];},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x34ee')](_0x368e5a,_0x55ff7e,function(_0x146f6e,_0x2327c6){return _0xf79407(_0x146f6e,_0x368e5a[_0x1a4e('0x27e7')],_0x1adc17(_0x2327c6[_0x1a4e('0x15c9')],_0x2327c6[_0x1a4e('0xc9')]));});}});}(_0x368e5a[_0x1a4e('0x3295')]||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){var _0x2327c6='fixConvertToMappedObjectType',_0x55ff7e=[_0x368e5a['Diagnostics'][_0x1a4e('0x2b09')][_0x1a4e('0x1617')]];function _0x1adc17(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6),_0x1adc17=_0x368e5a[_0x1a4e('0x172f')](_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x24f0')]);if(!_0x368e5a[_0x1a4e('0x251d')](_0x1adc17[_0x1a4e('0x11c')]))return{'indexSignature':_0x1adc17,'container':_0x368e5a['isInterfaceDeclaration'](_0x1adc17[_0x1a4e('0x11c')])?_0x1adc17[_0x1a4e('0x11c')]:_0x368e5a[_0x1a4e('0x172f')](_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x368e5a[_0x1a4e('0x2ef3')])};}function _0xf79407(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17,_0xf79407,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x35d0')],_0x420b32=_0x55ff7e['container'],_0x1b06ad=(_0x368e5a[_0x1a4e('0x23ef')](_0x420b32)?_0x420b32[_0x1a4e('0x2369')]:_0x420b32[_0x1a4e('0x40')]['members'])[_0x1a4e('0xd9')](function(_0x146f6e){return!_0x368e5a[_0x1a4e('0x24f0')](_0x146f6e);}),_0x326eae=_0x368e5a[_0x1a4e('0x10f7')](_0x2c9ec9[_0x1a4e('0x111a')]),_0x56674b=_0x368e5a['createTypeParameterDeclaration'](_0x368e5a['cast'](_0x326eae['name'],_0x368e5a['isIdentifier']),_0x326eae['type']),_0x37ec7c=_0x368e5a[_0x1a4e('0x28b7')](_0x368e5a[_0x1a4e('0x245b')](_0x2c9ec9)?_0x368e5a[_0x1a4e('0x2c2e')](0x85):void 0x0,_0x56674b,_0x2c9ec9[_0x1a4e('0x23ca')],_0x2c9ec9[_0x1a4e('0x40')]),_0x135ec3=_0x368e5a['createIntersectionTypeNode'](_0x368e5a[_0x1a4e('0x31de')](_0x420b32)[_0x1a4e('0x9a')]([_0x37ec7c],_0x1b06ad[_0x1a4e('0x1e')]?[_0x368e5a[_0x1a4e('0x28b9')](_0x1b06ad)]:_0x368e5a['emptyArray']));_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x420b32,(_0x1adc17=_0x420b32,_0xf79407=_0x135ec3,_0x368e5a['createTypeAliasDeclaration'](_0x1adc17[_0x1a4e('0x232f')],_0x1adc17[_0x1a4e('0x242d')],_0x1adc17['name'],_0x1adc17[_0x1a4e('0x23d7')],_0xf79407)));}_0x146f6e[_0x1a4e('0x34e7')]({'errorCodes':_0x55ff7e,'getCodeActions':function(_0x55ff7e){var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x27e7')],_0x420b32=_0x55ff7e['span'],_0x1b06ad=_0x1adc17(_0x2c9ec9,_0x420b32[_0x1a4e('0xc9')]);if(_0x1b06ad){var _0x326eae=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x55ff7e,function(_0x368e5a){return _0xf79407(_0x368e5a,_0x2c9ec9,_0x1b06ad);}),_0x56674b=_0x368e5a[_0x1a4e('0x2353')](_0x1b06ad[_0x1a4e('0x12d8')][_0x1a4e('0x2cb')]);return[_0x146f6e[_0x1a4e('0x34e6')](_0x2327c6,_0x326eae,[_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35d1')],_0x56674b],_0x2327c6,[_0x368e5a['Diagnostics'][_0x1a4e('0x35d1')],_0x56674b])];}},'fixIds':[_0x2327c6],'getAllCodeActions':function(_0x368e5a){return _0x146f6e['codeFixAll'](_0x368e5a,_0x55ff7e,function(_0x368e5a,_0x146f6e){var _0x2327c6=_0x1adc17(_0x146f6e[_0x1a4e('0x15c9')],_0x146f6e[_0x1a4e('0xc9')]);_0x2327c6&&_0xf79407(_0x368e5a,_0x146f6e[_0x1a4e('0x15c9')],_0x2327c6);});}});}(_0x368e5a['codefix']||(_0x368e5a[_0x1a4e('0x3295')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x15c9')],_0x55ff7e=_0x368e5a[_0x1a4e('0x35d2')](_0x146f6e),_0x1adc17=_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x55ff7e['start']),_0xf79407=_0x368e5a[_0x1a4e('0x3219')](_0x1adc17,_0x2327c6,_0x55ff7e);if(_0xf79407&&(_0x368e5a[_0x1a4e('0x22f0')](_0xf79407[_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x251e')](_0xf79407[_0x1a4e('0x11c')])&&_0x368e5a['isAmbientModule'](_0xf79407[_0x1a4e('0x11c')]['parent']))){var _0x2c9ec9=_0x368e5a['isSourceFile'](_0xf79407[_0x1a4e('0x11c')])?_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0xb1b')]:_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0xb1b')],_0x420b32=_0x368e5a[_0x1a4e('0x245c')](_0xf79407),_0x1b06ad=!!(0x200&_0x420b32);if(0x1&_0x420b32&&(_0x1b06ad||!_0x2c9ec9[_0x1a4e('0x0')]['has'](_0x1a4e('0x8'))))switch(_0xf79407[_0x1a4e('0x146b')]){case 0xef:case 0xf0:case 0xf1:case 0xf3:case 0xf2:case 0xf4:var _0x326eae=_0xf79407;return _0x326eae['name']&&_0x368e5a[_0x1a4e('0x2370')](_0x326eae[_0x1a4e('0x2cb')])?{'exportNode':_0x326eae,'exportName':_0x326eae[_0x1a4e('0x2cb')],'wasDefault':_0x1b06ad,'exportingModuleSymbol':_0x2c9ec9}:void 0x0;case 0xdb:var _0x56674b=_0xf79407;if(!(0x2&_0x56674b['declarationList'][_0x1a4e('0x7b2')])||0x1!==_0x56674b[_0x1a4e('0x2377')][_0x1a4e('0x22e5')][_0x1a4e('0x1e')])return;var _0x15080b=_0x368e5a['first'](_0x56674b[_0x1a4e('0x2377')][_0x1a4e('0x22e5')]);if(!_0x15080b[_0x1a4e('0x236a')])return;return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x1b06ad),_0x368e5a[_0x1a4e('0x2370')](_0x15080b['name'])?{'exportNode':_0x56674b,'exportName':_0x15080b[_0x1a4e('0x2cb')],'wasDefault':_0x1b06ad,'exportingModuleSymbol':_0x2c9ec9}:void 0x0;default:return;}}}function _0x55ff7e(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2cc7')](_0x146f6e===_0x2327c6?void 0x0:_0x368e5a['createIdentifier'](_0x146f6e),_0x368e5a['createIdentifier'](_0x2327c6));}_0x146f6e['registerRefactor'](_0x1a4e('0x35d3'),{'getAvailableActions':function(_0x146f6e){var _0x55ff7e=_0x2327c6(_0x146f6e);if(!_0x55ff7e)return _0x368e5a[_0x1a4e('0x1700')];var _0x1adc17=_0x55ff7e[_0x1a4e('0x35d4')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35d5')][_0x1a4e('0x133')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35d6')][_0x1a4e('0x133')];return[{'name':_0x1a4e('0x35d3'),'description':_0x1adc17,'actions':[{'name':_0x55ff7e['wasDefault']?_0x1a4e('0x2284'):_0x1a4e('0x35d7'),'description':_0x1adc17}]}];},'getEditsForAction':function(_0x146f6e,_0x1adc17){return _0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1a4e('0x2284')===_0x1adc17||'Convert\x20named\x20export\x20to\x20default\x20export'===_0x1adc17),{'edits':_0x368e5a[_0x1a4e('0x323a')]['ChangeTracker'][_0x1a4e('0x3324')](_0x146f6e,function(_0x1adc17){return _0xf79407=_0x146f6e[_0x1a4e('0x15c9')],_0x2c9ec9=_0x146f6e[_0x1a4e('0x303a')],_0x420b32=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x2327c6(_0x146f6e)),_0x1b06ad=_0x1adc17,_0x326eae=_0x146f6e[_0x1a4e('0x3300')],function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6[_0x1a4e('0x35d4')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x35d8')],_0x420b32=_0x2327c6[_0x1a4e('0x35d9')];if(_0xf79407)_0x55ff7e[_0x1a4e('0xf4c')](_0x146f6e,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x368e5a[_0x1a4e('0x321a')](_0x2c9ec9,0x50)));else{var _0x1b06ad=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x368e5a['findModifier'](_0x2c9ec9,0x55));switch(_0x2c9ec9[_0x1a4e('0x146b')]){case 0xef:case 0xf0:case 0xf1:_0x55ff7e[_0x1a4e('0x321c')](_0x146f6e,_0x1b06ad,_0x368e5a[_0x1a4e('0x28b6')](0x50));break;case 0xdb:if(!_0x368e5a[_0x1a4e('0x32c9')][_0x1a4e('0x32e8')][_0x1a4e('0x3378')](_0x420b32,_0x1adc17,_0x146f6e)){_0x55ff7e[_0x1a4e('0x34be')](_0x146f6e,_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d10')](_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0x368e5a[_0x1a4e('0x10f7')](_0x2c9ec9['declarationList'][_0x1a4e('0x22e5')])[_0x1a4e('0x236a')])));break;}case 0xf3:case 0xf2:case 0xf4:_0x55ff7e[_0x1a4e('0x34a8')](_0x146f6e,_0x1b06ad),_0x55ff7e[_0x1a4e('0x321c')](_0x146f6e,_0x2c9ec9,_0x368e5a['createExportDefault'](_0x368e5a['createIdentifier'](_0x420b32[_0x1a4e('0xe04')])));break;default:_0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x2c9ec9);}}}(_0xf79407,_0x420b32,_0x1b06ad,_0x2c9ec9['getTypeChecker']()),void function(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x35d4')],_0x420b32=_0x2327c6[_0x1a4e('0x35d9')],_0x1b06ad=_0x2327c6[_0x1a4e('0x32d7')],_0x326eae=_0x146f6e[_0x1a4e('0x302b')](),_0x56674b=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x326eae[_0x1a4e('0x3029')](_0x420b32));_0x368e5a[_0x1a4e('0x32c9')][_0x1a4e('0x32e8')][_0x1a4e('0x3320')](_0x146f6e['getSourceFiles'](),_0x326eae,_0xf79407,_0x56674b,_0x1b06ad,_0x420b32[_0x1a4e('0xe04')],_0x2c9ec9,function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x288f')]();_0x2c9ec9?function(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x11c')];switch(_0x2c9ec9['kind']){case 0xbd:_0x1adc17[_0x1a4e('0x34be')](_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x2893')](_0xf79407));break;case 0xfd:case 0x101:var _0x420b32=_0x2c9ec9;_0x1adc17[_0x1a4e('0x34be')](_0x146f6e,_0x420b32,_0x55ff7e(_0xf79407,_0x420b32[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]));break;case 0xfa:var _0x1b06ad=_0x2c9ec9;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1b06ad[_0x1a4e('0x2cb')]===_0x2327c6);var _0x420b32=_0x55ff7e(_0xf79407,_0x2327c6[_0x1a4e('0xe04')]),_0x326eae=_0x1b06ad[_0x1a4e('0x23c7')];if(_0x326eae)if(0xfb===_0x326eae[_0x1a4e('0x146b')]){_0x1adc17[_0x1a4e('0x34a7')](_0x146f6e,{'pos':_0x2327c6['getStart'](_0x146f6e),'end':_0x326eae['getStart'](_0x146f6e)});var _0x56674b=_0x368e5a[_0x1a4e('0x2374')](_0x1b06ad[_0x1a4e('0x11c')][_0x1a4e('0x23c5')])?_0x368e5a['quotePreferenceFromString'](_0x1b06ad[_0x1a4e('0x11c')]['moduleSpecifier'],_0x146f6e):0x1,_0x5b9f37=_0x368e5a[_0x1a4e('0x320c')](void 0x0,[_0x55ff7e(_0xf79407,_0x2327c6['text'])],_0x1b06ad[_0x1a4e('0x11c')][_0x1a4e('0x23c5')],_0x56674b);_0x1adc17[_0x1a4e('0x321c')](_0x146f6e,_0x1b06ad[_0x1a4e('0x11c')],_0x5b9f37);}else _0x1adc17[_0x1a4e('0xf4c')](_0x146f6e,_0x2327c6),_0x1adc17[_0x1a4e('0x34c7')](_0x146f6e,_0x326eae[_0x1a4e('0x2398')],_0x420b32);else _0x1adc17[_0x1a4e('0x34be')](_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x2cc5')]([_0x420b32]));break;default:_0x368e5a[_0x1a4e('0x1749')]['failBadSyntaxKind'](_0x2c9ec9);}}(_0x2327c6,_0x146f6e,_0x1adc17,_0x420b32[_0x1a4e('0xe04')]):function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x11c')];switch(_0x1adc17[_0x1a4e('0x146b')]){case 0xbd:_0x55ff7e[_0x1a4e('0x34be')](_0x146f6e,_0x2327c6,_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x8')));break;case 0xfd:var _0xf79407=_0x368e5a['createIdentifier'](_0x1adc17[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]);0x1===_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x2398')][_0x1a4e('0x1e')]?_0x55ff7e[_0x1a4e('0x34be')](_0x146f6e,_0x1adc17[_0x1a4e('0x11c')],_0xf79407):(_0x55ff7e['delete'](_0x146f6e,_0x1adc17),_0x55ff7e[_0x1a4e('0x34b3')](_0x146f6e,_0x1adc17[_0x1a4e('0x11c')],_0xf79407));break;case 0x101:_0x55ff7e[_0x1a4e('0x34be')](_0x146f6e,_0x1adc17,function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2ccd')](_0x146f6e===_0x2327c6?void 0x0:_0x368e5a['createIdentifier'](_0x146f6e),_0x368e5a[_0x1a4e('0x2893')](_0x2327c6));}(_0x1a4e('0x8'),_0x1adc17[_0x1a4e('0x2cb')]['text']));break;default:_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x1adc17);}}(_0x2327c6,_0x146f6e,_0x1adc17);});}(_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae);var _0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae;}),'renameFilename':void 0x0,'renameLocation':void 0x0};}});}(_0x368e5a['refactor']||(_0x368e5a[_0x1a4e('0x34f0')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x15c9')],_0x55ff7e=_0x368e5a[_0x1a4e('0x35d2')](_0x146f6e),_0x1adc17=_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x55ff7e[_0x1a4e('0xc9')]),_0xf79407=_0x368e5a[_0x1a4e('0x3219')](_0x1adc17,_0x2327c6,_0x55ff7e);if(_0xf79407&&_0x368e5a['isImportDeclaration'](_0xf79407)){var _0x2c9ec9=_0xf79407[_0x1a4e('0x23c6')];return _0x2c9ec9&&_0x2c9ec9[_0x1a4e('0x23c7')];}}function _0x55ff7e(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['createImportDeclaration'](void 0x0,void 0x0,_0x368e5a['createImportClause'](_0x2327c6,_0x55ff7e&&_0x55ff7e[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x2cc5')](_0x55ff7e):void 0x0),_0x146f6e['moduleSpecifier']);}_0x146f6e[_0x1a4e('0x34f1')](_0x1a4e('0x35da'),{'getAvailableActions':function(_0x146f6e){var _0x55ff7e=_0x2327c6(_0x146f6e);if(!_0x55ff7e)return _0x368e5a['emptyArray'];var _0x1adc17=0xfb===_0x55ff7e[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35db')][_0x1a4e('0x133')]:_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35dc')][_0x1a4e('0x133')];return[{'name':_0x1a4e('0x35da'),'description':_0x1adc17,'actions':[{'name':0xfb===_0x55ff7e['kind']?_0x1a4e('0x35dd'):_0x1a4e('0x227c'),'description':_0x1adc17}]}];},'getEditsForAction':function(_0x146f6e,_0x1adc17){return _0x368e5a['Debug'][_0x1a4e('0xba0')]('Convert\x20namespace\x20import\x20to\x20named\x20imports'===_0x1adc17||_0x1a4e('0x227c')===_0x1adc17),{'edits':_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x146f6e,function(_0x1adc17){return _0xf79407=_0x146f6e[_0x1a4e('0x15c9')],_0x2c9ec9=_0x146f6e[_0x1a4e('0x303a')],_0x420b32=_0x1adc17,_0x1b06ad=_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x2327c6(_0x146f6e)),_0x326eae=_0x2c9ec9[_0x1a4e('0x302b')](),void(0xfb===_0x1b06ad[_0x1a4e('0x146b')]?function(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=!0x1,_0x1b06ad=[],_0x326eae=_0x368e5a[_0x1a4e('0x1772')]();_0x368e5a['FindAllReferences'][_0x1a4e('0x32e8')][_0x1a4e('0x358b')](_0xf79407[_0x1a4e('0x2cb')],_0x2327c6,_0x146f6e,function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2371')](_0x146f6e['parent'])){var _0x55ff7e=_0x368e5a['cast'](_0x146f6e[_0x1a4e('0x11c')],_0x368e5a['isPropertyAccessExpression']),_0x1adc17=_0x55ff7e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')];_0x2327c6[_0x1a4e('0x353f')](_0x1adc17,_0x146f6e,0x3ffffff,!0x0)&&_0x326eae['set'](_0x1adc17,!0x0),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x55ff7e[_0x1a4e('0x2302')]===_0x146f6e),_0x1b06ad[_0x1a4e('0x46')](_0x55ff7e);}else _0x420b32=!0x0;});for(var _0x56674b=_0x368e5a['createMap'](),_0x598960=0x0,_0x291f7c=_0x1b06ad;_0x598960<_0x291f7c[_0x1a4e('0x1e')];_0x598960++){var _0x5b8947=_0x291f7c[_0x598960],_0x563b16=_0x5b8947[_0x1a4e('0x2cb')]['text'],_0x2c2465=_0x56674b[_0x1a4e('0x179')](_0x563b16);void 0x0===_0x2c2465&&_0x56674b[_0x1a4e('0x17a')](_0x563b16,_0x2c2465=_0x326eae[_0x1a4e('0x178')](_0x563b16)?_0x368e5a[_0x1a4e('0x3239')](_0x563b16,_0x146f6e):_0x563b16),_0x1adc17[_0x1a4e('0x34be')](_0x146f6e,_0x5b8947,_0x368e5a['createIdentifier'](_0x2c2465));}var _0x7fb08c=[];_0x56674b[_0x1a4e('0x3b')](function(_0x146f6e,_0x2327c6){_0x7fb08c[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2cc7')](_0x146f6e===_0x2327c6?void 0x0:_0x368e5a['createIdentifier'](_0x2327c6),_0x368e5a[_0x1a4e('0x2893')](_0x146f6e)));});var _0x432985=_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x11c')];_0x420b32&&!_0x2c9ec9?_0x1adc17[_0x1a4e('0x321c')](_0x146f6e,_0x432985,_0x55ff7e(_0x432985,void 0x0,_0x7fb08c)):_0x1adc17[_0x1a4e('0x34be')](_0x146f6e,_0x432985,_0x55ff7e(_0x432985,_0x420b32?_0x368e5a[_0x1a4e('0x2893')](_0xf79407[_0x1a4e('0x2cb')]['text']):void 0x0,_0x7fb08c));}(_0xf79407,_0x326eae,_0x420b32,_0x1b06ad,_0x368e5a[_0x1a4e('0x258f')](_0x2c9ec9['getCompilerOptions']())):function(_0x146f6e,_0x2327c6,_0x1adc17,_0xf79407){for(var _0x2c9ec9=_0xf79407['parent'][_0x1a4e('0x11c')],_0x420b32=_0x2c9ec9[_0x1a4e('0x23c5')],_0x1b06ad=_0x420b32&&_0x368e5a['isStringLiteral'](_0x420b32)?_0x368e5a[_0x1a4e('0x3295')][_0x1a4e('0x353a')](_0x420b32[_0x1a4e('0xe04')],0x6):_0x1a4e('0xa6c'),_0x326eae=_0xf79407[_0x1a4e('0x2398')][_0x1a4e('0x1c2')](function(_0x55ff7e){return _0x368e5a['FindAllReferences']['Core'][_0x1a4e('0x358b')](_0x55ff7e['name'],_0x2327c6,_0x146f6e,function(_0x368e5a){return!!_0x2327c6[_0x1a4e('0x353f')](_0x1b06ad,_0x368e5a,0x3ffffff,!0x0);})||!0x1;})?_0x368e5a[_0x1a4e('0x3239')](_0x1b06ad,_0x146f6e):_0x1b06ad,_0x56674b=[],_0x230df8=function(_0x55ff7e){var _0xf79407=(_0x55ff7e['propertyName']||_0x55ff7e['name'])[_0x1a4e('0xe04')];_0x368e5a[_0x1a4e('0x32c9')]['Core'][_0x1a4e('0x358b')](_0x55ff7e[_0x1a4e('0x2cb')],_0x2327c6,_0x146f6e,function(_0x2327c6){var _0x2c9ec9=_0x368e5a['createPropertyAccess'](_0x368e5a['createIdentifier'](_0x326eae),_0xf79407);_0x368e5a[_0x1a4e('0x29a4')](_0x2327c6[_0x1a4e('0x11c')])?_0x1adc17[_0x1a4e('0x34be')](_0x146f6e,_0x2327c6['parent'],_0x368e5a['createPropertyAssignment'](_0x2327c6['text'],_0x2c9ec9)):_0x368e5a[_0x1a4e('0x2543')](_0x2327c6[_0x1a4e('0x11c')])&&!_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x81a')]?_0x56674b[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2cb')]===_0x55ff7e['name'];})||_0x56674b[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2cc7')](_0x55ff7e[_0x1a4e('0x81a')]&&_0x368e5a['createIdentifier'](_0x55ff7e[_0x1a4e('0x81a')][_0x1a4e('0xe04')]),_0x368e5a[_0x1a4e('0x2893')](_0x55ff7e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]))):_0x1adc17[_0x1a4e('0x34be')](_0x146f6e,_0x2327c6,_0x2c9ec9);});},_0x51c542=0x0,_0x3e1820=_0xf79407['elements'];_0x51c542<_0x3e1820[_0x1a4e('0x1e')];_0x51c542++){var _0x1f70b5=_0x3e1820[_0x51c542];_0x230df8(_0x1f70b5);}_0x1adc17['replaceNode'](_0x146f6e,_0xf79407,_0x368e5a[_0x1a4e('0x2cc3')](_0x368e5a[_0x1a4e('0x2893')](_0x326eae))),_0x56674b['length']&&_0x1adc17['insertNodeAfter'](_0x146f6e,_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x55ff7e(_0x2c9ec9,void 0x0,_0x56674b));}(_0xf79407,_0x326eae,_0x420b32,_0x1b06ad));var _0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad,_0x326eae;}),'renameFilename':void 0x0,'renameLocation':void 0x0};}});}(_0x368e5a[_0x1a4e('0x34f0')]||(_0x368e5a[_0x1a4e('0x34f0')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){!function(_0x2327c6){var _0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32=_0x1a4e('0x35de');function _0x1b06ad(_0x146f6e){var _0x2327c6=_0x56674b(_0x146f6e[_0x1a4e('0x15c9')],_0x368e5a['getRefactorContextSpan'](_0x146f6e))['targetRange'];if(void 0x0===_0x2327c6)return _0x368e5a[_0x1a4e('0x1700')];var _0x55ff7e=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x4767e2(_0x146f6e,_0x2327c6),_0x1adc17=_0x55ff7e[_0x1a4e('0x35df')],_0xf79407=_0x55ff7e[_0x1a4e('0x35e0')],_0x2c9ec9=_0xf79407[_0x1a4e('0x35e1')],_0x420b32=_0xf79407[_0x1a4e('0x35e2')];return _0x1adc17[_0x1a4e('0x21')](function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17,_0xf79407=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x254d')](_0x146f6e)?_0x1a4e('0x35e3'):_0x368e5a[_0x1a4e('0x2367')](_0x146f6e)?_0x1a4e('0x1062'):_0x1a4e('0x68');}(_0x146f6e),_0x1b06ad=function(_0x146f6e){return _0x368e5a['isClassLike'](_0x146f6e)?_0x1a4e('0x35e4'):'constant';}(_0x146f6e),_0x326eae=_0x368e5a[_0x1a4e('0x254d')](_0x146f6e)?function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x9d:return _0x1a4e('0x10');case 0xc4:case 0xef:return _0x146f6e['name']?_0x1a4e('0x35e5')+_0x146f6e[_0x1a4e('0x2cb')]['text']+'\x27':_0x1a4e('0x35e6');case 0xc5:return _0x1a4e('0x35e7');case 0x9c:return _0x1a4e('0x35e8')+_0x146f6e['name'][_0x1a4e('0x230e')]()+'\x27';case 0x9e:return _0x1a4e('0x35e9')+_0x146f6e[_0x1a4e('0x2cb')]['getText']()+'\x27';case 0x9f:return _0x1a4e('0x35ea')+_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0x230e')]()+'\x27';default:throw _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}(_0x146f6e):_0x368e5a[_0x1a4e('0x2367')](_0x146f6e)?function(_0x368e5a){return 0xf0===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a[_0x1a4e('0x2cb')]?_0x1a4e('0x35eb')+_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]+'\x27':_0x1a4e('0x35ec'):_0x368e5a[_0x1a4e('0x2cb')]?_0x1a4e('0x35ed')+_0x368e5a[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]+'\x27':_0x1a4e('0x35ee');}(_0x146f6e):function(_0x368e5a){return 0xf5===_0x368e5a[_0x1a4e('0x146b')]?'namespace\x20\x27'+_0x368e5a['parent']['name'][_0x1a4e('0x230e')]()+'\x27':_0x368e5a[_0x1a4e('0x2359')]?0x0:0x1;}(_0x146f6e);return 0x1===_0x326eae?(_0x55ff7e=_0x368e5a[_0x1a4e('0x2581')](_0x368e5a[_0x1a4e('0x2582')](_0x368e5a[_0x1a4e('0x167d')]['Extract_to_0_in_1_scope']),[_0xf79407,_0x1a4e('0x10e6')]),_0x1adc17=_0x368e5a['formatStringFromArgs'](_0x368e5a[_0x1a4e('0x2582')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35ef')]),[_0x1b06ad,_0x1a4e('0x10e6')])):0x0===_0x326eae?(_0x55ff7e=_0x368e5a[_0x1a4e('0x2581')](_0x368e5a['getLocaleSpecificMessage'](_0x368e5a['Diagnostics'][_0x1a4e('0x35ef')]),[_0xf79407,_0x1a4e('0xa6c')]),_0x1adc17=_0x368e5a[_0x1a4e('0x2581')](_0x368e5a['getLocaleSpecificMessage'](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35ef')]),[_0x1b06ad,'module'])):(_0x55ff7e=_0x368e5a[_0x1a4e('0x2581')](_0x368e5a[_0x1a4e('0x2582')](_0x368e5a['Diagnostics']['Extract_to_0_in_1']),[_0xf79407,_0x326eae]),_0x1adc17=_0x368e5a[_0x1a4e('0x2581')](_0x368e5a['getLocaleSpecificMessage'](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35f0')]),[_0x1b06ad,_0x326eae])),0x0!==_0x2327c6||_0x368e5a[_0x1a4e('0x2367')](_0x146f6e)||(_0x1adc17=_0x368e5a['formatStringFromArgs'](_0x368e5a[_0x1a4e('0x2582')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35f1')]),[_0x1b06ad])),{'functionExtraction':{'description':_0x55ff7e,'errors':_0x2c9ec9[_0x2327c6]},'constantExtraction':{'description':_0x1adc17,'errors':_0x420b32[_0x2327c6]}};});}(_0x2327c6,_0x146f6e);if(void 0x0===_0x55ff7e)return _0x368e5a[_0x1a4e('0x1700')];for(var _0x1adc17=[],_0xf79407=_0x368e5a['createMap'](),_0x2c9ec9=[],_0x1b06ad=_0x368e5a[_0x1a4e('0x1772')](),_0x326eae=0x0,_0x19a606=0x0,_0x3090bd=_0x55ff7e;_0x19a606<_0x3090bd[_0x1a4e('0x1e')];_0x19a606++){var _0x27e3a2=_0x3090bd[_0x19a606],_0x308a0e=_0x27e3a2['functionExtraction'],_0x4c79e0=_0x27e3a2[_0x1a4e('0x35f2')];if(0x0===_0x308a0e[_0x1a4e('0x8dd')]['length']){var _0x14dd6e=_0x308a0e[_0x1a4e('0x27b1')];_0xf79407[_0x1a4e('0x178')](_0x14dd6e)||(_0xf79407[_0x1a4e('0x17a')](_0x14dd6e,!0x0),_0x1adc17['push']({'description':_0x14dd6e,'name':_0x1a4e('0x35f3')+_0x326eae}));}if(0x0===_0x4c79e0[_0x1a4e('0x8dd')]['length']){_0x14dd6e=_0x4c79e0['description'];_0x1b06ad[_0x1a4e('0x178')](_0x14dd6e)||(_0x1b06ad[_0x1a4e('0x17a')](_0x14dd6e,!0x0),_0x2c9ec9[_0x1a4e('0x46')]({'description':_0x14dd6e,'name':_0x1a4e('0x35f4')+_0x326eae}));}_0x326eae++;}var _0x5a34cd=[];return _0x1adc17[_0x1a4e('0x1e')]&&_0x5a34cd['push']({'name':_0x420b32,'description':_0x368e5a[_0x1a4e('0x2582')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x35f5')]),'actions':_0x1adc17}),_0x2c9ec9['length']&&_0x5a34cd[_0x1a4e('0x46')]({'name':_0x420b32,'description':_0x368e5a[_0x1a4e('0x2582')](_0x368e5a[_0x1a4e('0x167d')]['Extract_constant']),'actions':_0x2c9ec9}),_0x5a34cd['length']?_0x5a34cd:_0x368e5a['emptyArray'];}function _0x326eae(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x56674b(_0x146f6e['file'],_0x368e5a[_0x1a4e('0x35d2')](_0x146f6e))['targetRange'],_0xf79407=/^function_scope_(\d+)$/[_0x1a4e('0x2af')](_0x2327c6);if(_0xf79407){var _0x2c9ec9=+_0xf79407[0x1];return _0x368e5a['Debug'][_0x1a4e('0xba0')](isFinite(_0x2c9ec9),_0x1a4e('0x35f6')),function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=_0x4767e2(_0x146f6e,_0x2327c6),_0x2c9ec9=_0xf79407[_0x1a4e('0x35df')],_0x420b32=_0xf79407[_0x1a4e('0x35e0')],_0x1b06ad=_0x420b32[_0x1a4e('0xd95')],_0x326eae=_0x420b32[_0x1a4e('0x35f7')],_0x56674b=_0x420b32[_0x1a4e('0x35e1')],_0x39a3b2=_0x420b32[_0x1a4e('0x35f8')];return _0x368e5a['Debug'][_0x1a4e('0xba0')](!_0x56674b[_0x55ff7e]['length'],_0x1a4e('0x35f9')),_0x2327c6[_0x1a4e('0x3300')]['throwIfCancellationRequested'](),function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9,_0x420b32){var _0x1b06ad,_0x326eae,_0x56674b=_0x55ff7e[_0x1a4e('0x35fa')],_0x39a3b2=_0x55ff7e['typeParameterUsages'],_0x2192f9=_0x55ff7e[_0x1a4e('0x35fb')],_0xff1388=_0x420b32[_0x1a4e('0x303a')][_0x1a4e('0x302b')](),_0x5bf283=_0x2327c6['getSourceFile'](),_0x16a3a6=_0x368e5a[_0x1a4e('0x3239')](_0x368e5a[_0x1a4e('0x2367')](_0x2327c6)?'newMethod':'newFunction',_0x5bf283),_0x191d3d=_0x368e5a[_0x1a4e('0x24e1')](_0x2327c6),_0x5389fe=_0x368e5a[_0x1a4e('0x2893')](_0x16a3a6),_0x1f907c=[],_0x486ef8=[];_0x56674b[_0x1a4e('0x3b')](function(_0x146f6e,_0x55ff7e){var _0x1adc17;if(!_0x191d3d){var _0xf79407=_0xff1388['getTypeOfSymbolAtLocation'](_0x146f6e[_0x1a4e('0xb1b')],_0x146f6e[_0x1a4e('0x80')]);_0xf79407=_0xff1388[_0x1a4e('0x3529')](_0xf79407),_0x1adc17=_0xff1388[_0x1a4e('0x28dd')](_0xf79407,_0x2327c6,0x1);}var _0x2c9ec9=_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x55ff7e,void 0x0,_0x1adc17);_0x1f907c[_0x1a4e('0x46')](_0x2c9ec9),0x2===_0x146f6e[_0x1a4e('0x35fc')]&&(_0x326eae||(_0x326eae=[]))['push'](_0x146f6e),_0x486ef8['push'](_0x368e5a['createIdentifier'](_0x55ff7e));});var _0x171ed3=_0x368e5a['arrayFrom'](_0x39a3b2[_0x1a4e('0x35b')]())['map'](function(_0x368e5a){return{'type':_0x368e5a,'declaration':_0x41bb5b(_0x368e5a)};})['sort'](_0x1f2493),_0xca5b01=0x0===_0x171ed3[_0x1a4e('0x1e')]?void 0x0:_0x171ed3[_0x1a4e('0x21')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x2350')];}),_0x53c715=void 0x0!==_0xca5b01?_0xca5b01[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x28a5')](_0x146f6e['name'],void 0x0);}):void 0x0;if(_0x368e5a[_0x1a4e('0x24a8')](_0x146f6e)&&!_0x191d3d){var _0x4cd46b=_0xff1388[_0x1a4e('0x323e')](_0x146f6e);_0x1b06ad=_0xff1388[_0x1a4e('0x28dd')](_0x4cd46b,_0x2327c6,0x1);}var _0x4654ec,_0x5a4f7a=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9,_0x420b32=void 0x0!==_0x55ff7e||_0x2327c6[_0x1a4e('0x1e')]>0x0;if(_0x368e5a['isBlock'](_0x146f6e)&&!_0x420b32&&0x0===_0x1adc17[_0x1a4e('0x220')])return{'body':_0x368e5a[_0x1a4e('0x2c91')](_0x146f6e[_0x1a4e('0x2366')],!0x0),'returnValueProperty':void 0x0};var _0x1b06ad=!0x1,_0x326eae=_0x368e5a[_0x1a4e('0x28d1')](_0x368e5a['isBlock'](_0x146f6e)?_0x146f6e['statements'][_0x1a4e('0x78')](0x0):[_0x368e5a[_0x1a4e('0x2569')](_0x146f6e)?_0x146f6e:_0x368e5a[_0x1a4e('0x2ca3')](_0x146f6e)]);if(_0x420b32||_0x1adc17[_0x1a4e('0x220')]){var _0x56674b=_0x368e5a[_0x1a4e('0x2d77')](_0x326eae,function _0x146f6e(_0xf79407){if(!_0x1b06ad&&0xe6===_0xf79407[_0x1a4e('0x146b')]&&_0x420b32){var _0x326eae=_0x52230c(_0x2327c6,_0x55ff7e);return _0xf79407['expression']&&(_0x2c9ec9||(_0x2c9ec9=_0x1a4e('0x35fd')),_0x326eae[_0x1a4e('0x66')](_0x368e5a[_0x1a4e('0x2d3d')](_0x2c9ec9,_0x368e5a[_0x1a4e('0x2d76')](_0xf79407[_0x1a4e('0x2302')],_0x146f6e)))),0x1===_0x326eae[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x2ca3')](_0x326eae[0x0]['name']):_0x368e5a['createReturn'](_0x368e5a[_0x1a4e('0x2c62')](_0x326eae));}var _0x56674b=_0x1b06ad;_0x1b06ad=_0x1b06ad||_0x368e5a[_0x1a4e('0x254d')](_0xf79407)||_0x368e5a['isClassLike'](_0xf79407);var _0x39a3b2=_0x1adc17[_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x25ec')](_0xf79407)['toString']()),_0x2192f9=_0x39a3b2?_0x368e5a[_0x1a4e('0x3234')](_0x39a3b2):_0x368e5a[_0x1a4e('0x28cd')](_0xf79407,_0x146f6e,_0x368e5a['nullTransformationContext']);return _0x1b06ad=_0x56674b,_0x2192f9;})[_0x1a4e('0x78')]();if(_0x420b32&&!_0xf79407&&_0x368e5a[_0x1a4e('0x2569')](_0x146f6e)){var _0x39a3b2=_0x52230c(_0x2327c6,_0x55ff7e);0x1===_0x39a3b2['length']?_0x56674b['push'](_0x368e5a[_0x1a4e('0x2ca3')](_0x39a3b2[0x0][_0x1a4e('0x2cb')])):_0x56674b[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2c62')](_0x39a3b2)));}return{'body':_0x368e5a[_0x1a4e('0x2c91')](_0x56674b,!0x0),'returnValueProperty':_0x2c9ec9};}return{'body':_0x368e5a[_0x1a4e('0x2c91')](_0x326eae,!0x0),'returnValueProperty':void 0x0};}(_0x146f6e,_0xf79407,_0x326eae,_0x2192f9,!!(_0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x35ff')])),_0x78d88f=_0x5a4f7a['body'],_0x1abf05=_0x5a4f7a[_0x1a4e('0x3600')];if(_0x368e5a[_0x1a4e('0x3236')](_0x78d88f),_0x368e5a[_0x1a4e('0x2367')](_0x2327c6)){var _0x30dc5f=_0x191d3d?[]:[_0x368e5a[_0x1a4e('0x28b6')](0x71)];_0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x3601')]&&_0x30dc5f[_0x1a4e('0x46')](_0x368e5a['createToken'](0x74)),_0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x3602')]&&_0x30dc5f['push'](_0x368e5a[_0x1a4e('0x28b6')](0x79)),_0x4654ec=_0x368e5a[_0x1a4e('0x2c3b')](void 0x0,_0x30dc5f[_0x1a4e('0x1e')]?_0x30dc5f:void 0x0,_0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x3603')]?_0x368e5a[_0x1a4e('0x28b6')](0x28):void 0x0,_0x5389fe,void 0x0,_0xca5b01,_0x1f907c,_0x1b06ad,_0x78d88f);}else _0x4654ec=_0x368e5a[_0x1a4e('0x2cb0')](void 0x0,_0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17['IsAsyncFunction']?[_0x368e5a['createToken'](0x79)]:void 0x0,_0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x3603')]?_0x368e5a[_0x1a4e('0x28b6')](0x28):void 0x0,_0x5389fe,_0xca5b01,_0x1f907c,_0x1b06ad,_0x78d88f);var _0x21a120=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3376')](_0x420b32),_0x4913b4=function(_0x146f6e,_0x2327c6){return _0x368e5a['find'](function(_0x146f6e){if(_0x368e5a['isFunctionLikeDeclaration'](_0x146f6e)){var _0x2327c6=_0x146f6e[_0x1a4e('0x8f2')];if(_0x368e5a[_0x1a4e('0x250c')](_0x2327c6))return _0x2327c6[_0x1a4e('0x2366')];}else{if(_0x368e5a['isModuleBlock'](_0x146f6e)||_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e))return _0x146f6e[_0x1a4e('0x2366')];if(_0x368e5a[_0x1a4e('0x2367')](_0x146f6e))return _0x146f6e[_0x1a4e('0x2369')];_0x368e5a[_0x1a4e('0x1766')](_0x146f6e);}return _0x368e5a['emptyArray'];}(_0x2327c6),function(_0x2327c6){return _0x2327c6[_0x1a4e('0xa4')]>=_0x146f6e&&_0x368e5a[_0x1a4e('0x254d')](_0x2327c6)&&!_0x368e5a[_0x1a4e('0x23e3')](_0x2327c6);});}((_0x8392c4(_0x2c9ec9[_0x1a4e('0x1075')])?_0x368e5a['last'](_0x2c9ec9['range']):_0x2c9ec9[_0x1a4e('0x1075')])[_0x1a4e('0xca')],_0x2327c6);_0x4913b4?_0x21a120['insertNodeBefore'](_0x420b32[_0x1a4e('0x15c9')],_0x4913b4,_0x4654ec,!0x0):_0x21a120['insertNodeAtEndOfScope'](_0x420b32[_0x1a4e('0x15c9')],_0x2327c6,_0x4654ec);var _0x337935=[],_0x1a6899=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x2893')](_0x55ff7e);if(_0x368e5a['isClassLike'](_0x146f6e)){var _0x2c9ec9=_0x2327c6['facts']&_0x1adc17['InStaticRegion']?_0x368e5a[_0x1a4e('0x2893')](_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]):_0x368e5a['createThis']();return _0x368e5a[_0x1a4e('0x2894')](_0x2c9ec9,_0xf79407);}return _0xf79407;}(_0x2327c6,_0x2c9ec9,_0x16a3a6),_0xb1502c=_0x368e5a[_0x1a4e('0x2c67')](_0x1a6899,_0x53c715,_0x486ef8);if(_0x2c9ec9['facts']&_0x1adc17[_0x1a4e('0x3603')]&&(_0xb1502c=_0x368e5a[_0x1a4e('0x2c85')](_0x368e5a[_0x1a4e('0x28b6')](0x28),_0xb1502c)),_0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x3602')]&&(_0xb1502c=_0x368e5a[_0x1a4e('0x2c76')](_0xb1502c)),_0xf79407[_0x1a4e('0x1e')]&&!_0x326eae)if(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x1abf05),_0x368e5a['Debug']['assert'](!(_0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17['HasReturn'])),0x1===_0xf79407['length']){var _0x376aa0=_0xf79407[0x0];_0x337935[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a['createVariableDeclarationList']([_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x3234')](_0x376aa0['name']),_0x368e5a['getSynthesizedDeepClone'](_0x376aa0[_0x1a4e('0x40')]),_0xb1502c)],_0x376aa0[_0x1a4e('0x11c')][_0x1a4e('0x7b2')])));}else{for(var _0x2463bd=[],_0x130868=[],_0x4ba8f9=_0xf79407[0x0][_0x1a4e('0x11c')][_0x1a4e('0x7b2')],_0xac6672=!0x1,_0x45c9a8=0x0,_0x305486=_0xf79407;_0x45c9a8<_0x305486[_0x1a4e('0x1e')];_0x45c9a8++){var _0x376aa0=_0x305486[_0x45c9a8];_0x2463bd[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2c5f')](void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x3234')](_0x376aa0['name'])));var _0x9c7ab0=_0xff1388[_0x1a4e('0x28dd')](_0xff1388[_0x1a4e('0x3529')](_0xff1388['getTypeAtLocation'](_0x376aa0)),_0x2327c6,0x1);_0x130868[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x28be')](void 0x0,_0x376aa0[_0x1a4e('0xb1b')]['name'],void 0x0,_0x9c7ab0,void 0x0)),_0xac6672=_0xac6672||void 0x0!==_0x376aa0[_0x1a4e('0x40')],_0x4ba8f9&=_0x376aa0[_0x1a4e('0x11c')][_0x1a4e('0x7b2')];}var _0x2de4ca=_0xac6672?_0x368e5a[_0x1a4e('0x28b9')](_0x130868):void 0x0;_0x2de4ca&&_0x368e5a[_0x1a4e('0x2892')](_0x2de4ca,0x1),_0x337935[_0x1a4e('0x46')](_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x368e5a[_0x1a4e('0x2c5c')](_0x2463bd),_0x2de4ca,_0xb1502c)],_0x4ba8f9)));}else if(_0xf79407[_0x1a4e('0x1e')]||_0x326eae){if(_0xf79407[_0x1a4e('0x1e')])for(var _0x3c2efd=0x0,_0x1a504a=_0xf79407;_0x3c2efd<_0x1a504a[_0x1a4e('0x1e')];_0x3c2efd++){var _0x376aa0=_0x1a504a[_0x3c2efd],_0x2d2a3f=_0x376aa0[_0x1a4e('0x11c')]['flags'];0x2&_0x2d2a3f&&(_0x2d2a3f=-0x3&_0x2d2a3f|0x1),_0x337935[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a['createVariableDeclarationList']([_0x368e5a[_0x1a4e('0x2cad')](_0x376aa0[_0x1a4e('0xb1b')][_0x1a4e('0x2cb')],_0x58714b(_0x376aa0[_0x1a4e('0x40')]))],_0x2d2a3f)));}_0x1abf05&&_0x337935[_0x1a4e('0x46')](_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x1abf05,_0x58714b(_0x1b06ad))],0x1)));var _0x1992a9=_0x52230c(_0xf79407,_0x326eae);_0x1abf05&&_0x1992a9['unshift'](_0x368e5a[_0x1a4e('0x2d3e')](_0x1abf05)),0x1===_0x1992a9[_0x1a4e('0x1e')]?(_0x368e5a['Debug'][_0x1a4e('0xba0')](!_0x1abf05),_0x337935[_0x1a4e('0x46')](_0x368e5a['createStatement'](_0x368e5a['createAssignment'](_0x1992a9[0x0][_0x1a4e('0x2cb')],_0xb1502c))),_0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x35ff')]&&_0x337935[_0x1a4e('0x46')](_0x368e5a['createReturn']())):(_0x337935['push'](_0x368e5a[_0x1a4e('0x2c96')](_0x368e5a[_0x1a4e('0x2d07')](_0x368e5a['createObjectLiteral'](_0x1992a9),_0xb1502c))),_0x1abf05&&_0x337935[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2ca3')](_0x368e5a[_0x1a4e('0x2893')](_0x1abf05))));}else _0x2c9ec9[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x35ff')]?_0x337935['push'](_0x368e5a[_0x1a4e('0x2ca3')](_0xb1502c)):_0x8392c4(_0x2c9ec9['range'])?_0x337935['push'](_0x368e5a['createStatement'](_0xb1502c)):_0x337935[_0x1a4e('0x46')](_0xb1502c);_0x8392c4(_0x2c9ec9['range'])?_0x21a120[_0x1a4e('0x34ae')](_0x420b32[_0x1a4e('0x15c9')],_0x368e5a[_0x1a4e('0x10f7')](_0x2c9ec9['range']),_0x368e5a[_0x1a4e('0x10b1')](_0x2c9ec9[_0x1a4e('0x1075')]),_0x337935):_0x21a120['replaceNodeWithNodes'](_0x420b32['file'],_0x2c9ec9['range'],_0x337935);var _0x1ee9a5=_0x21a120[_0x1a4e('0x3379')](),_0x47836f=(_0x8392c4(_0x2c9ec9['range'])?_0x368e5a['first'](_0x2c9ec9[_0x1a4e('0x1075')]):_0x2c9ec9[_0x1a4e('0x1075')])[_0x1a4e('0x288f')]()[_0x1a4e('0x1b39')],_0x3fea47=_0x368e5a[_0x1a4e('0x3604')](_0x1ee9a5,_0x47836f,_0x16a3a6,!0x1);return{'renameFilename':_0x47836f,'renameLocation':_0x3fea47,'edits':_0x1ee9a5};function _0x58714b(_0x146f6e){if(void 0x0!==_0x146f6e){for(var _0x2327c6=_0x368e5a[_0x1a4e('0x3234')](_0x146f6e),_0x55ff7e=_0x2327c6;_0x368e5a[_0x1a4e('0x24f7')](_0x55ff7e);)_0x55ff7e=_0x55ff7e['type'];return _0x368e5a[_0x1a4e('0x24f4')](_0x55ff7e)&&_0x368e5a['find'](_0x55ff7e[_0x1a4e('0x2380')],function(_0x368e5a){return 0x8d===_0x368e5a[_0x1a4e('0x146b')];})?_0x2327c6:_0x368e5a[_0x1a4e('0x2c51')]([_0x2327c6,_0x368e5a[_0x1a4e('0x289c')](0x8d)]);}}}(_0x1b06ad,_0x2c9ec9[_0x55ff7e],_0x326eae[_0x55ff7e],_0x39a3b2,_0x146f6e,_0x2327c6);}(_0x55ff7e,_0x146f6e,_0x2c9ec9);}var _0x420b32=/^constant_scope_(\d+)$/[_0x1a4e('0x2af')](_0x2327c6);if(_0x420b32){_0x2c9ec9=+_0x420b32[0x1];return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](isFinite(_0x2c9ec9),'Expected\x20to\x20parse\x20a\x20finite\x20number\x20from\x20the\x20constant\x20scope\x20index'),function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0xf79407=_0x4767e2(_0x146f6e,_0x2327c6),_0x2c9ec9=_0xf79407[_0x1a4e('0x35df')],_0x420b32=_0xf79407[_0x1a4e('0x35e0')],_0x1b06ad=_0x420b32[_0x1a4e('0xd95')],_0x326eae=_0x420b32['usagesPerScope'],_0x56674b=_0x420b32['constantErrorsPerScope'],_0x2475dc=_0x420b32[_0x1a4e('0x35f8')];return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x56674b[_0x55ff7e][_0x1a4e('0x1e')],_0x1a4e('0x35f9')),_0x368e5a['Debug']['assert'](0x0===_0x2475dc[_0x1a4e('0x1e')],_0x1a4e('0x3605')),_0x2327c6['cancellationToken']['throwIfCancellationRequested'](),function(_0x146f6e,_0x2327c6,_0x55ff7e,_0xf79407,_0x2c9ec9){var _0x420b32=_0x55ff7e[_0x1a4e('0x35fb')],_0x1b06ad=_0x2c9ec9[_0x1a4e('0x303a')]['getTypeChecker'](),_0x326eae=_0x2327c6[_0x1a4e('0x288f')](),_0x56674b=_0x368e5a['getUniqueName'](_0x368e5a[_0x1a4e('0x2367')](_0x2327c6)?_0x1a4e('0x3606'):_0x1a4e('0x3607'),_0x326eae),_0x2475dc=_0x368e5a[_0x1a4e('0x24e1')](_0x2327c6),_0x562bbd=_0x2475dc||!_0x1b06ad[_0x1a4e('0x3608')](_0x146f6e)?void 0x0:_0x1b06ad[_0x1a4e('0x28dd')](_0x1b06ad['getContextualType'](_0x146f6e),_0x2327c6,0x1),_0x470bda=function(_0x146f6e,_0x2327c6){return _0x2327c6['size']?function _0x146f6e(_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x179')](_0x368e5a[_0x1a4e('0x25ec')](_0x55ff7e)[_0x1a4e('0x95')]());return _0x1adc17?_0x368e5a[_0x1a4e('0x3234')](_0x1adc17):_0x368e5a[_0x1a4e('0x28cd')](_0x55ff7e,_0x146f6e,_0x368e5a['nullTransformationContext']);}(_0x146f6e):_0x146f6e;}(_0x146f6e,_0x420b32);_0x368e5a[_0x1a4e('0x3236')](_0x470bda);var _0x2a3a85=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3376')](_0x2c9ec9);if(_0x368e5a[_0x1a4e('0x2367')](_0x2327c6)){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x2475dc);var _0x5ca435=[];_0x5ca435['push'](_0x368e5a[_0x1a4e('0x28b6')](0x71)),_0xf79407&_0x1adc17[_0x1a4e('0x3601')]&&_0x5ca435[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x28b6')](0x74)),_0x5ca435['push'](_0x368e5a[_0x1a4e('0x28b6')](0x85));var _0x599c20=_0x368e5a[_0x1a4e('0x2c37')](void 0x0,_0x5ca435,_0x56674b,void 0x0,_0x562bbd,_0x470bda),_0x31efc1=_0x368e5a[_0x1a4e('0x2894')](_0xf79407&_0x1adc17[_0x1a4e('0x3601')]?_0x368e5a[_0x1a4e('0x2893')](_0x2327c6[_0x1a4e('0x2cb')][_0x1a4e('0x230e')]()):_0x368e5a[_0x1a4e('0x2c2c')](),_0x368e5a['createIdentifier'](_0x56674b)),_0x385a99=_0x146f6e[_0x1a4e('0xa4')],_0x2bdc26=function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=_0x2327c6['members'];_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1adc17['length']>0x0);for(var _0xf79407=!0x0,_0x2c9ec9=0x0,_0x420b32=_0x1adc17;_0x2c9ec9<_0x420b32['length'];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];if(_0x1b06ad['pos']>_0x146f6e)return _0x55ff7e||_0x1adc17[0x0];if(_0xf79407&&!_0x368e5a[_0x1a4e('0x24ec')](_0x1b06ad)){if(void 0x0!==_0x55ff7e)return _0x1b06ad;_0xf79407=!0x1;}_0x55ff7e=_0x1b06ad;}return void 0x0===_0x55ff7e?_0x368e5a['Debug'][_0x1a4e('0x1709')]():_0x55ff7e;}(_0x385a99,_0x2327c6);_0x2a3a85[_0x1a4e('0x34b3')](_0x2c9ec9[_0x1a4e('0x15c9')],_0x2bdc26,_0x599c20,!0x0),_0x2a3a85['replaceNode'](_0x2c9ec9[_0x1a4e('0x15c9')],_0x146f6e,_0x31efc1);}else{var _0x43359b=_0x368e5a[_0x1a4e('0x2cad')](_0x56674b,_0x562bbd,_0x470bda),_0x2ba598=function(_0x146f6e,_0x2327c6){for(var _0x55ff7e;void 0x0!==_0x146f6e&&_0x146f6e!==_0x2327c6;){if(_0x368e5a[_0x1a4e('0x238d')](_0x146f6e)&&_0x146f6e['initializer']===_0x55ff7e&&_0x368e5a['isVariableDeclarationList'](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x22e5')][_0x1a4e('0x1e')]>0x1)return _0x146f6e;_0x55ff7e=_0x146f6e,_0x146f6e=_0x146f6e[_0x1a4e('0x11c')];}}(_0x146f6e,_0x2327c6);if(_0x2ba598){_0x2a3a85[_0x1a4e('0x34b3')](_0x2c9ec9[_0x1a4e('0x15c9')],_0x2ba598,_0x43359b);var _0x31efc1=_0x368e5a[_0x1a4e('0x2893')](_0x56674b);_0x2a3a85['replaceNode'](_0x2c9ec9[_0x1a4e('0x15c9')],_0x146f6e,_0x31efc1);}else if(0xdd===_0x146f6e['parent'][_0x1a4e('0x146b')]&&_0x2327c6===_0x368e5a[_0x1a4e('0x283d')](_0x146f6e,_0x44fcdc)){var _0x1f7066=_0x368e5a['createVariableStatement'](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x43359b],0x2));_0x2a3a85[_0x1a4e('0x34be')](_0x2c9ec9[_0x1a4e('0x15c9')],_0x146f6e[_0x1a4e('0x11c')],_0x1f7066);}else{var _0x1f7066=_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a['createVariableDeclarationList']([_0x43359b],0x2)),_0x2bdc26=function(_0x146f6e,_0x2327c6){var _0x55ff7e;_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x368e5a[_0x1a4e('0x2367')](_0x2327c6));for(var _0x1adc17=_0x146f6e;_0x1adc17!==_0x2327c6;_0x1adc17=_0x1adc17[_0x1a4e('0x11c')])_0x44fcdc(_0x1adc17)&&(_0x55ff7e=_0x1adc17);for(var _0x1adc17=(_0x55ff7e||_0x146f6e)[_0x1a4e('0x11c')];;_0x1adc17=_0x1adc17['parent']){if(_0x2a1586(_0x1adc17)){for(var _0xf79407=void 0x0,_0x2c9ec9=0x0,_0x420b32=_0x1adc17['statements'];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];if(_0x1b06ad[_0x1a4e('0xa4')]>_0x146f6e[_0x1a4e('0xa4')])break;_0xf79407=_0x1b06ad;}return!_0xf79407&&_0x368e5a['isCaseClause'](_0x1adc17)?(_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a[_0x1a4e('0x2518')](_0x1adc17['parent'][_0x1a4e('0x11c')])),_0x1adc17[_0x1a4e('0x11c')][_0x1a4e('0x11c')]):_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0xf79407);}_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1adc17!==_0x2327c6,_0x1a4e('0x3609'));}}(_0x146f6e,_0x2327c6);if(0x0===_0x2bdc26[_0x1a4e('0xa4')]?_0x2a3a85[_0x1a4e('0x34b2')](_0x2c9ec9[_0x1a4e('0x15c9')],_0x1f7066,!0x1):_0x2a3a85[_0x1a4e('0x34b3')](_0x2c9ec9[_0x1a4e('0x15c9')],_0x2bdc26,_0x1f7066,!0x1),0xdd===_0x146f6e[_0x1a4e('0x11c')]['kind'])_0x2a3a85[_0x1a4e('0xf4c')](_0x2c9ec9[_0x1a4e('0x15c9')],_0x146f6e[_0x1a4e('0x11c')]);else{var _0x31efc1=_0x368e5a['createIdentifier'](_0x56674b);_0x2a3a85[_0x1a4e('0x34be')](_0x2c9ec9['file'],_0x146f6e,_0x31efc1);}}}var _0x3acf5d=_0x2a3a85[_0x1a4e('0x3379')](),_0x41f31e=_0x146f6e[_0x1a4e('0x288f')]()['fileName'],_0x3c02e8=_0x368e5a['getRenameLocation'](_0x3acf5d,_0x41f31e,_0x56674b,!0x0);return{'renameFilename':_0x41f31e,'renameLocation':_0x3c02e8,'edits':_0x3acf5d};}(_0x368e5a['isExpression'](_0x1b06ad)?_0x1b06ad:_0x1b06ad['statements'][0x0][_0x1a4e('0x2302')],_0x2c9ec9[_0x55ff7e],_0x326eae[_0x55ff7e],_0x146f6e[_0x1a4e('0x35fe')],_0x2327c6);}(_0x55ff7e,_0x146f6e,_0x2c9ec9);}_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]('Unrecognized\x20action\x20name');}function _0x56674b(_0x146f6e,_0x2327c6){var _0xf79407=_0x2327c6[_0x1a4e('0x1e')];if(0x0===_0xf79407)return{'errors':[_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x2327c6[_0x1a4e('0xc9')],_0xf79407,_0x55ff7e[_0x1a4e('0x360a')])]};var _0x2c9ec9=_0x368e5a[_0x1a4e('0x3219')](_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6[_0x1a4e('0xc9')]),_0x146f6e,_0x2327c6),_0x420b32=_0x368e5a['getParentNodeInSpan'](_0x368e5a[_0x1a4e('0x31e9')](_0x146f6e,_0x368e5a[_0x1a4e('0x24b4')](_0x2327c6)),_0x146f6e,_0x2327c6),_0x1b06ad=[],_0x326eae=_0x1adc17[_0x1a4e('0x1733')];if(!_0x2c9ec9||!_0x420b32)return{'errors':[_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x2327c6[_0x1a4e('0xc9')],_0xf79407,_0x55ff7e[_0x1a4e('0x360b')])]};if(_0x2c9ec9[_0x1a4e('0x11c')]!==_0x420b32['parent'])return{'errors':[_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x2327c6[_0x1a4e('0xc9')],_0xf79407,_0x55ff7e[_0x1a4e('0x360b')])]};if(_0x2c9ec9!==_0x420b32){if(!_0x2a1586(_0x2c9ec9['parent']))return{'errors':[_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x2327c6[_0x1a4e('0xc9')],_0xf79407,_0x55ff7e[_0x1a4e('0x360b')])]};for(var _0x56674b=[],_0x565c53=0x0,_0x54dec4=_0x2c9ec9[_0x1a4e('0x11c')][_0x1a4e('0x2366')];_0x565c53<_0x54dec4[_0x1a4e('0x1e')];_0x565c53++){var _0x168cd8=_0x54dec4[_0x565c53];if(_0x168cd8===_0x2c9ec9||_0x56674b[_0x1a4e('0x1e')]){var _0x3baad0=_0x139fc6(_0x168cd8);if(_0x3baad0)return{'errors':_0x3baad0};_0x56674b[_0x1a4e('0x46')](_0x168cd8);}if(_0x168cd8===_0x420b32)break;}return _0x56674b[_0x1a4e('0x1e')]?{'targetRange':{'range':_0x56674b,'facts':_0x326eae,'declarations':_0x1b06ad}}:{'errors':[_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x2327c6[_0x1a4e('0xc9')],_0xf79407,_0x55ff7e[_0x1a4e('0x360b')])]};}if(_0x368e5a['isReturnStatement'](_0x2c9ec9)&&!_0x2c9ec9[_0x1a4e('0x2302')])return{'errors':[_0x368e5a[_0x1a4e('0x22f5')](_0x146f6e,_0x2327c6[_0x1a4e('0xc9')],_0xf79407,_0x55ff7e[_0x1a4e('0x360b')])]};var _0xa89770=function(_0x146f6e){if(_0x368e5a['isReturnStatement'](_0x146f6e)){if(_0x146f6e[_0x1a4e('0x2302')])return _0x146f6e[_0x1a4e('0x2302')];}else if(_0x368e5a[_0x1a4e('0x2376')](_0x146f6e)){for(var _0x2327c6=0x0,_0x55ff7e=void 0x0,_0x1adc17=0x0,_0xf79407=_0x146f6e['declarationList'][_0x1a4e('0x22e5')];_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17];_0x2c9ec9[_0x1a4e('0x236a')]&&(_0x2327c6++,_0x55ff7e=_0x2c9ec9[_0x1a4e('0x236a')]);}if(0x1===_0x2327c6)return _0x55ff7e;}else if(_0x368e5a[_0x1a4e('0x238d')](_0x146f6e)&&_0x146f6e[_0x1a4e('0x236a')])return _0x146f6e[_0x1a4e('0x236a')];return _0x146f6e;}(_0x2c9ec9),_0xf38945=function(_0x146f6e){if(_0x368e5a[_0x1a4e('0x2370')](_0x368e5a[_0x1a4e('0x2375')](_0x146f6e)?_0x146f6e[_0x1a4e('0x2302')]:_0x146f6e))return[_0x368e5a[_0x1a4e('0x2354')](_0x146f6e,_0x55ff7e['cannotExtractIdentifier'])];return;}(_0xa89770)||_0x139fc6(_0xa89770);return _0xf38945?{'errors':_0xf38945}:{'targetRange':{'range':_0x4b79fc(_0xa89770),'facts':_0x326eae,'declarations':_0x1b06ad}};function _0x139fc6(_0x146f6e){var _0xf79407;if(function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x2e30')]=0x1]=_0x1a4e('0x2e30'),_0x368e5a[_0x368e5a['Continue']=0x2]=_0x1a4e('0x2e31'),_0x368e5a[_0x368e5a['Return']=0x4]='Return';}(_0xf79407||(_0xf79407={})),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x146f6e[_0x1a4e('0xa4')]<=_0x146f6e[_0x1a4e('0xca')],_0x1a4e('0x22fc')),_0x368e5a['Debug'][_0x1a4e('0xba0')](!_0x368e5a[_0x1a4e('0x2383')](_0x146f6e[_0x1a4e('0xa4')]),_0x1a4e('0x22fc')),!(_0x368e5a[_0x1a4e('0x2569')](_0x146f6e)||_0x368e5a[_0x1a4e('0x28da')](_0x146f6e)&&function(_0x368e5a){var _0x146f6e=_0x368e5a[_0x1a4e('0x11c')];switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x116:return!0x1;}switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xa:return 0xf9!==_0x146f6e['kind']&&0xfd!==_0x146f6e['kind'];case 0xd0:case 0xb8:case 0xba:return!0x1;case 0x48:return 0xba!==_0x146f6e[_0x1a4e('0x146b')]&&0xfd!==_0x146f6e[_0x1a4e('0x146b')]&&0x101!==_0x146f6e[_0x1a4e('0x146b')];}return!0x0;}(_0x146f6e)))return[_0x368e5a[_0x1a4e('0x2354')](_0x146f6e,_0x55ff7e[_0x1a4e('0x360c')])];if(0x400000&_0x146f6e[_0x1a4e('0x7b2')])return[_0x368e5a[_0x1a4e('0x2354')](_0x146f6e,_0x55ff7e[_0x1a4e('0x360d')])];var _0x2c9ec9,_0x420b32=_0x368e5a['getContainingClass'](_0x146f6e);_0x420b32&&function(_0x146f6e,_0x2327c6){for(var _0x55ff7e=_0x146f6e;_0x55ff7e!==_0x2327c6;){if(0x9a===_0x55ff7e[_0x1a4e('0x146b')]){_0x368e5a['hasModifier'](_0x55ff7e,0x20)&&(_0x326eae|=_0x1adc17[_0x1a4e('0x3601')]);break;}if(0x97===_0x55ff7e[_0x1a4e('0x146b')]){0x9d===_0x368e5a[_0x1a4e('0x2a5b')](_0x55ff7e)['kind']&&(_0x326eae|=_0x1adc17[_0x1a4e('0x3601')]);break;}0x9c===_0x55ff7e['kind']&&_0x368e5a['hasModifier'](_0x55ff7e,0x20)&&(_0x326eae|=_0x1adc17[_0x1a4e('0x3601')]),_0x55ff7e=_0x55ff7e[_0x1a4e('0x11c')];}}(_0x146f6e,_0x420b32);var _0x56674b,_0x150706=0x4;return function _0x146f6e(_0xf79407){if(_0x2c9ec9)return!0x0;if(_0x368e5a['isDeclaration'](_0xf79407)){var _0x420b32=0xed===_0xf79407['kind']?_0xf79407[_0x1a4e('0x11c')]['parent']:_0xf79407;if(_0x368e5a[_0x1a4e('0x24c6')](_0x420b32,0x1))return(_0x2c9ec9||(_0x2c9ec9=[]))['push'](_0x368e5a[_0x1a4e('0x2354')](_0xf79407,_0x55ff7e['cannotExtractExportedEntity'])),!0x0;_0x1b06ad[_0x1a4e('0x46')](_0xf79407[_0x1a4e('0xb1b')]);}switch(_0xf79407['kind']){case 0xf9:return(_0x2c9ec9||(_0x2c9ec9=[]))[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2354')](_0xf79407,_0x55ff7e[_0x1a4e('0x360e')])),!0x0;case 0x62:if(0xbf===_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){var _0x565c53=_0x368e5a[_0x1a4e('0x239a')](_0xf79407);if(_0x565c53[_0x1a4e('0xa4')]<_0x2327c6['start']||_0x565c53[_0x1a4e('0xca')]>=_0x2327c6[_0x1a4e('0xc9')]+_0x2327c6[_0x1a4e('0x1e')])return(_0x2c9ec9||(_0x2c9ec9=[]))['push'](_0x368e5a['createDiagnosticForNode'](_0xf79407,_0x55ff7e[_0x1a4e('0x360f')])),!0x0;}else _0x326eae|=_0x1adc17[_0x1a4e('0x3610')];}if(_0x368e5a[_0x1a4e('0x254d')](_0xf79407)||_0x368e5a[_0x1a4e('0x2367')](_0xf79407)){switch(_0xf79407[_0x1a4e('0x146b')]){case 0xef:case 0xf0:_0x368e5a[_0x1a4e('0x22f0')](_0xf79407['parent'])&&void 0x0===_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x2359')]&&(_0x2c9ec9||(_0x2c9ec9=[]))[_0x1a4e('0x46')](_0x368e5a['createDiagnosticForNode'](_0xf79407,_0x55ff7e['functionWillNotBeVisibleInTheNewScope']));}return!0x1;}var _0x54dec4=_0x150706;switch(_0xf79407[_0x1a4e('0x146b')]){case 0xde:case 0xeb:_0x150706=0x0;break;case 0xda:_0xf79407['parent']&&0xeb===_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0xf79407[_0x1a4e('0x11c')][_0x1a4e('0x267a')]===_0xf79407&&(_0x150706=0x4);break;case 0x10f:_0x150706|=0x1;break;default:_0x368e5a[_0x1a4e('0x2560')](_0xf79407,!0x1)&&(_0x150706|=0x3);}switch(_0xf79407[_0x1a4e('0x146b')]){case 0xb2:case 0x64:_0x326eae|=_0x1adc17['UsesThis'];break;case 0xe9:var _0x168cd8=_0xf79407[_0x1a4e('0x1bc')];(_0x56674b||(_0x56674b=[]))[_0x1a4e('0x46')](_0x168cd8[_0x1a4e('0x22f3')]),_0x368e5a['forEachChild'](_0xf79407,_0x146f6e),_0x56674b[_0x1a4e('0x76')]();break;case 0xe5:case 0xe4:var _0x168cd8=_0xf79407[_0x1a4e('0x1bc')];_0x168cd8?_0x368e5a[_0x1a4e('0x2ac')](_0x56674b,_0x168cd8['escapedText'])||(_0x2c9ec9||(_0x2c9ec9=[]))[_0x1a4e('0x46')](_0x368e5a['createDiagnosticForNode'](_0xf79407,_0x55ff7e['cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange'])):_0x150706&(0xe5===_0xf79407[_0x1a4e('0x146b')]?0x1:0x2)||(_0x2c9ec9||(_0x2c9ec9=[]))[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2354')](_0xf79407,_0x55ff7e[_0x1a4e('0x3611')]));break;case 0xc9:_0x326eae|=_0x1adc17[_0x1a4e('0x3602')];break;case 0xcf:_0x326eae|=_0x1adc17['IsGenerator'];break;case 0xe6:0x4&_0x150706?_0x326eae|=_0x1adc17[_0x1a4e('0x35ff')]:(_0x2c9ec9||(_0x2c9ec9=[]))[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2354')](_0xf79407,_0x55ff7e['cannotExtractRangeContainingConditionalReturnStatement']));break;default:_0x368e5a[_0x1a4e('0x22eb')](_0xf79407,_0x146f6e);}_0x150706=_0x54dec4;}(_0x146f6e),_0x2c9ec9;}}function _0x4b79fc(_0x146f6e){return _0x368e5a[_0x1a4e('0x2569')](_0x146f6e)?[_0x146f6e]:_0x368e5a[_0x1a4e('0x28da')](_0x146f6e)?_0x368e5a[_0x1a4e('0x2375')](_0x146f6e[_0x1a4e('0x11c')])?[_0x146f6e[_0x1a4e('0x11c')]]:_0x146f6e:void 0x0;}function _0x44fcdc(_0x146f6e){return _0x368e5a[_0x1a4e('0x254d')](_0x146f6e)||_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e)||_0x368e5a[_0x1a4e('0x251e')](_0x146f6e)||_0x368e5a[_0x1a4e('0x2367')](_0x146f6e);}function _0x4767e2(_0x146f6e,_0x2327c6){var _0xf79407=_0x2327c6[_0x1a4e('0x15c9')],_0x2c9ec9=function(_0x146f6e){var _0x2327c6=_0x8392c4(_0x146f6e[_0x1a4e('0x1075')])?_0x368e5a[_0x1a4e('0x10f7')](_0x146f6e[_0x1a4e('0x1075')]):_0x146f6e[_0x1a4e('0x1075')];if(_0x146f6e[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x3610')]){var _0x55ff7e=_0x368e5a[_0x1a4e('0x239a')](_0x2327c6);if(_0x55ff7e){var _0xf79407=_0x368e5a[_0x1a4e('0x283d')](_0x2327c6,_0x368e5a['isFunctionLikeDeclaration']);return _0xf79407?[_0xf79407,_0x55ff7e]:[_0x55ff7e];}}for(var _0x2c9ec9=[];;)if(0x97===(_0x2327c6=_0x2327c6[_0x1a4e('0x11c')])[_0x1a4e('0x146b')]&&(_0x2327c6=_0x368e5a['findAncestor'](_0x2327c6,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x254d')](_0x146f6e);})['parent']),_0x44fcdc(_0x2327c6)&&(_0x2c9ec9[_0x1a4e('0x46')](_0x2327c6),0x117===_0x2327c6[_0x1a4e('0x146b')]))return _0x2c9ec9;}(_0x146f6e);return{'scopes':_0x2c9ec9,'readsAndWrites':function(_0x146f6e,_0x2327c6,_0xf79407,_0x2c9ec9,_0x420b32,_0x1b06ad){var _0x326eae,_0x56674b,_0x4b79fc=_0x368e5a['createMap'](),_0x44fcdc=[],_0x4767e2=[],_0x373f1e=[],_0x40d299=[],_0x69223f=[],_0x4dddec=_0x368e5a['createMap'](),_0x298548=[],_0x17a986=_0x8392c4(_0x146f6e[_0x1a4e('0x1075')])?0x1===_0x146f6e['range'][_0x1a4e('0x1e')]&&_0x368e5a[_0x1a4e('0x2375')](_0x146f6e[_0x1a4e('0x1075')][0x0])?_0x146f6e[_0x1a4e('0x1075')][0x0]['expression']:void 0x0:_0x146f6e[_0x1a4e('0x1075')];if(void 0x0===_0x17a986){var _0x5a0bff=_0x146f6e[_0x1a4e('0x1075')],_0x5c5f67=_0x368e5a['first'](_0x5a0bff)[_0x1a4e('0x31d6')](),_0x345577=_0x368e5a[_0x1a4e('0x10b1')](_0x5a0bff)[_0x1a4e('0xca')];_0x56674b=_0x368e5a['createFileDiagnostic'](_0x2c9ec9,_0x5c5f67,_0x345577-_0x5c5f67,_0x55ff7e['expressionExpected']);}else 0x24000&_0x420b32[_0x1a4e('0x31d9')](_0x17a986)['flags']&&(_0x56674b=_0x368e5a['createDiagnosticForNode'](_0x17a986,_0x55ff7e['uselessConstantType']));for(var _0x90f7ef=0x0,_0xc48b37=_0x2327c6;_0x90f7ef<_0xc48b37['length'];_0x90f7ef++){var _0x192563=_0xc48b37[_0x90f7ef];_0x44fcdc['push']({'usages':_0x368e5a[_0x1a4e('0x1772')](),'typeParameterUsages':_0x368e5a[_0x1a4e('0x1772')](),'substitutions':_0x368e5a[_0x1a4e('0x1772')]()}),_0x4767e2[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x1772')]()),_0x373f1e[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x254d')](_0x192563)&&0xef!==_0x192563['kind']?[_0x368e5a[_0x1a4e('0x2354')](_0x192563,_0x55ff7e[_0x1a4e('0x3612')])]:[]);var _0x4f3c00=[];_0x56674b&&_0x4f3c00[_0x1a4e('0x46')](_0x56674b),_0x368e5a['isClassLike'](_0x192563)&&_0x368e5a[_0x1a4e('0x24e1')](_0x192563)&&_0x4f3c00[_0x1a4e('0x46')](_0x368e5a[_0x1a4e('0x2354')](_0x192563,_0x55ff7e['cannotExtractToJSClass'])),_0x368e5a[_0x1a4e('0x23e0')](_0x192563)&&!_0x368e5a['isBlock'](_0x192563['body'])&&_0x4f3c00['push'](_0x368e5a['createDiagnosticForNode'](_0x192563,_0x55ff7e['cannotExtractToExpressionArrowFunction'])),_0x40d299[_0x1a4e('0x46')](_0x4f3c00);}var _0x2e2ccc=_0x368e5a['createMap'](),_0x5bbfe3=_0x8392c4(_0x146f6e[_0x1a4e('0x1075')])?_0x368e5a[_0x1a4e('0x2c91')](_0x146f6e['range']):_0x146f6e[_0x1a4e('0x1075')],_0xd85ecb=_0x8392c4(_0x146f6e[_0x1a4e('0x1075')])?_0x368e5a[_0x1a4e('0x10f7')](_0x146f6e[_0x1a4e('0x1075')]):_0x146f6e[_0x1a4e('0x1075')],_0x57bf7d=(_0x555f45=_0xd85ecb,!!_0x368e5a[_0x1a4e('0x283d')](_0x555f45,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x3613')](_0x146f6e)&&0x0!==_0x368e5a[_0x1a4e('0x29af')](_0x146f6e)['length'];}));var _0x555f45;if(function _0x1b06ad(_0x326eae,_0x56674b){if(void 0x0===_0x56674b&&(_0x56674b=0x1),_0x57bf7d){var _0x4b79fc=_0x420b32[_0x1a4e('0x31d9')](_0x326eae);_0x4f1c04(_0x4b79fc);}if(_0x368e5a[_0x1a4e('0x23e6')](_0x326eae)&&_0x326eae[_0x1a4e('0xb1b')]&&_0x69223f[_0x1a4e('0x46')](_0x326eae),_0x368e5a[_0x1a4e('0x287a')](_0x326eae))_0x1b06ad(_0x326eae['left'],0x2),_0x1b06ad(_0x326eae[_0x1a4e('0x5d')]);else if(_0x368e5a[_0x1a4e('0x255d')](_0x326eae))_0x1b06ad(_0x326eae['operand'],0x2);else if(_0x368e5a[_0x1a4e('0x2371')](_0x326eae)||_0x368e5a[_0x1a4e('0x2856')](_0x326eae))_0x368e5a[_0x1a4e('0x22eb')](_0x326eae,_0x1b06ad);else if(_0x368e5a['isIdentifier'](_0x326eae)){if(!_0x326eae['parent'])return;if(_0x368e5a['isQualifiedName'](_0x326eae[_0x1a4e('0x11c')])&&_0x326eae!==_0x326eae[_0x1a4e('0x11c')]['left'])return;if(_0x368e5a['isPropertyAccessExpression'](_0x326eae[_0x1a4e('0x11c')])&&_0x326eae!==_0x326eae['parent'][_0x1a4e('0x2302')])return;!function(_0x1b06ad,_0x326eae,_0x56674b){var _0x4b79fc=function(_0x1b06ad,_0x326eae,_0x56674b){var _0x4b79fc=_0x99d6de(_0x1b06ad);if(_0x4b79fc){var _0x69223f=_0x368e5a['getSymbolId'](_0x4b79fc)[_0x1a4e('0x95')](),_0xf288b9=_0x2e2ccc['get'](_0x69223f);if(_0xf288b9&&_0xf288b9>=_0x326eae)return _0x69223f;if(_0x2e2ccc['set'](_0x69223f,_0x326eae),_0xf288b9){for(var _0x4dddec=0x0,_0x298548=_0x44fcdc;_0x4dddec<_0x298548['length'];_0x4dddec++){var _0x17a986=_0x298548[_0x4dddec],_0x5a0bff=_0x17a986[_0x1a4e('0x35fa')][_0x1a4e('0x179')](_0x1b06ad[_0x1a4e('0xe04')]);_0x5a0bff&&_0x17a986[_0x1a4e('0x35fa')][_0x1a4e('0x17a')](_0x1b06ad[_0x1a4e('0xe04')],{'usage':_0x326eae,'symbol':_0x4b79fc,'node':_0x1b06ad});}return _0x69223f;}var _0x5c5f67=_0x4b79fc[_0x1a4e('0x331f')](),_0x345577=_0x5c5f67&&_0x368e5a[_0x1a4e('0x1c7')](_0x5c5f67,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x288f')]()===_0x2c9ec9;});if(_0x345577&&!_0x368e5a['rangeContainsStartEnd'](_0xf79407,_0x345577[_0x1a4e('0x31d6')](),_0x345577[_0x1a4e('0xca')])){if(_0x146f6e[_0x1a4e('0x35fe')]&_0x1adc17[_0x1a4e('0x3603')]&&0x2===_0x326eae){for(var _0x90f7ef=_0x368e5a['createDiagnosticForNode'](_0x1b06ad,_0x55ff7e[_0x1a4e('0x3614')]),_0xc48b37=0x0,_0x192563=_0x373f1e;_0xc48b37<_0x192563[_0x1a4e('0x1e')];_0xc48b37++){var _0x4f3c00=_0x192563[_0xc48b37];_0x4f3c00[_0x1a4e('0x46')](_0x90f7ef);}for(var _0x5bbfe3=0x0,_0xd85ecb=_0x40d299;_0x5bbfe3<_0xd85ecb[_0x1a4e('0x1e')];_0x5bbfe3++){var _0x4f3c00=_0xd85ecb[_0x5bbfe3];_0x4f3c00[_0x1a4e('0x46')](_0x90f7ef);}}for(var _0x57bf7d=0x0;_0x57bf7d<_0x2327c6[_0x1a4e('0x1e')];_0x57bf7d++){var _0x555f45=_0x2327c6[_0x57bf7d],_0x374384=_0x420b32['resolveName'](_0x4b79fc[_0x1a4e('0x2cb')],_0x555f45,_0x4b79fc[_0x1a4e('0x7b2')],!0x1);if(_0x374384!==_0x4b79fc&&!_0x4767e2[_0x57bf7d][_0x1a4e('0x178')](_0x69223f)){var _0x8e0502=_0x1951f9(_0x4b79fc[_0x1a4e('0x248f')]||_0x4b79fc,_0x555f45,_0x56674b);if(_0x8e0502)_0x4767e2[_0x57bf7d]['set'](_0x69223f,_0x8e0502);else if(_0x56674b){if(!(0x40000&_0x4b79fc[_0x1a4e('0x7b2')])){var _0x90f7ef=_0x368e5a[_0x1a4e('0x2354')](_0x1b06ad,_0x55ff7e[_0x1a4e('0x3615')]);_0x373f1e[_0x57bf7d][_0x1a4e('0x46')](_0x90f7ef),_0x40d299[_0x57bf7d][_0x1a4e('0x46')](_0x90f7ef);}}else _0x44fcdc[_0x57bf7d][_0x1a4e('0x35fa')][_0x1a4e('0x17a')](_0x1b06ad[_0x1a4e('0xe04')],{'usage':_0x326eae,'symbol':_0x4b79fc,'node':_0x1b06ad});}}return _0x69223f;}}}(_0x1b06ad,_0x326eae,_0x56674b);if(_0x4b79fc)for(var _0x69223f=0x0;_0x69223f<_0x2327c6[_0x1a4e('0x1e')];_0x69223f++){var _0x4916bb=_0x4767e2[_0x69223f][_0x1a4e('0x179')](_0x4b79fc);_0x4916bb&&_0x44fcdc[_0x69223f]['substitutions'][_0x1a4e('0x17a')](_0x368e5a[_0x1a4e('0x25ec')](_0x1b06ad)[_0x1a4e('0x95')](),_0x4916bb);}}(_0x326eae,_0x56674b,_0x368e5a[_0x1a4e('0x2384')](_0x326eae));}else _0x368e5a[_0x1a4e('0x22eb')](_0x326eae,_0x1b06ad);}(_0x5bbfe3),_0x57bf7d&&!_0x8392c4(_0x146f6e[_0x1a4e('0x1075')])){var _0x5709ba=_0x420b32[_0x1a4e('0x323e')](_0x146f6e[_0x1a4e('0x1075')]);_0x4f1c04(_0x5709ba);}if(_0x4b79fc[_0x1a4e('0x220')]>0x0){for(var _0x51b36b=_0x368e5a[_0x1a4e('0x1772')](),_0x4608b6=0x0,_0x10b2f0=_0xd85ecb;void 0x0!==_0x10b2f0&&_0x4608b6<_0x2327c6[_0x1a4e('0x1e')];_0x10b2f0=_0x10b2f0['parent'])if(_0x10b2f0===_0x2327c6[_0x4608b6]&&(_0x51b36b[_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){_0x44fcdc[_0x4608b6]['typeParameterUsages']['set'](_0x146f6e,_0x368e5a);}),_0x4608b6++),_0x368e5a[_0x1a4e('0x3613')](_0x10b2f0))for(var _0x55a66c=0x0,_0x3915f6=_0x368e5a[_0x1a4e('0x29af')](_0x10b2f0);_0x55a66c<_0x3915f6['length'];_0x55a66c++){var _0x4694b2=_0x3915f6[_0x55a66c],_0x4053c1=_0x420b32[_0x1a4e('0x31d9')](_0x4694b2);_0x4b79fc[_0x1a4e('0x178')](_0x4053c1['id'][_0x1a4e('0x95')]())&&_0x51b36b[_0x1a4e('0x17a')](_0x4053c1['id']['toString'](),_0x4053c1);}_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x4608b6===_0x2327c6[_0x1a4e('0x1e')]);}if(_0x69223f['length']){var _0x254a01=_0x368e5a[_0x1a4e('0x234a')](_0x2327c6[0x0],_0x2327c6[0x0][_0x1a4e('0x11c')])?_0x2327c6[0x0]:_0x368e5a[_0x1a4e('0x283e')](_0x2327c6[0x0]);_0x368e5a[_0x1a4e('0x22eb')](_0x254a01,function _0x2327c6(_0x55ff7e){if(_0x55ff7e===_0x146f6e[_0x1a4e('0x1075')]||_0x8392c4(_0x146f6e[_0x1a4e('0x1075')])&&_0x146f6e['range']['indexOf'](_0x55ff7e)>=0x0)return;var _0x1adc17=_0x368e5a['isIdentifier'](_0x55ff7e)?_0x99d6de(_0x55ff7e):_0x420b32[_0x1a4e('0x3029')](_0x55ff7e);if(_0x1adc17){var _0xf79407=_0x368e5a['find'](_0x69223f,function(_0x368e5a){return _0x368e5a[_0x1a4e('0xb1b')]===_0x1adc17;});if(_0xf79407)if(_0x368e5a[_0x1a4e('0x238d')](_0xf79407)){var _0x2c9ec9=_0xf79407[_0x1a4e('0xb1b')]['id'][_0x1a4e('0x95')]();_0x4dddec['has'](_0x2c9ec9)||(_0x298548[_0x1a4e('0x46')](_0xf79407),_0x4dddec[_0x1a4e('0x17a')](_0x2c9ec9,!0x0));}else _0x326eae=_0x326eae||_0xf79407;}_0x368e5a['forEachChild'](_0x55ff7e,_0x2327c6);});}for(var _0x451c3e=function(_0x2327c6){var _0x1adc17=_0x44fcdc[_0x2327c6];if(_0x2327c6>0x0&&(_0x1adc17[_0x1a4e('0x35fa')][_0x1a4e('0x220')]>0x0||_0x1adc17['typeParameterUsages'][_0x1a4e('0x220')]>0x0)){var _0xf79407=_0x8392c4(_0x146f6e[_0x1a4e('0x1075')])?_0x146f6e[_0x1a4e('0x1075')][0x0]:_0x146f6e[_0x1a4e('0x1075')];_0x40d299[_0x2327c6][_0x1a4e('0x46')](_0x368e5a['createDiagnosticForNode'](_0xf79407,_0x55ff7e[_0x1a4e('0x3616')]));}var _0x2c9ec9,_0x420b32=!0x1;if(_0x44fcdc[_0x2327c6][_0x1a4e('0x35fa')][_0x1a4e('0x3b')](function(_0x146f6e){0x2===_0x146f6e[_0x1a4e('0x35fc')]&&(_0x420b32=!0x0,0x1a004&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x7b2')]&&_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2340')]&&_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e[_0x1a4e('0xb1b')]['valueDeclaration'],0x40)&&(_0x2c9ec9=_0x146f6e[_0x1a4e('0xb1b')]['valueDeclaration']));}),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x8392c4(_0x146f6e[_0x1a4e('0x1075')])||0x0===_0x298548[_0x1a4e('0x1e')]),_0x420b32&&!_0x8392c4(_0x146f6e[_0x1a4e('0x1075')])){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2354')](_0x146f6e[_0x1a4e('0x1075')],_0x55ff7e['cannotWriteInExpression']);_0x373f1e[_0x2327c6][_0x1a4e('0x46')](_0x1b06ad),_0x40d299[_0x2327c6][_0x1a4e('0x46')](_0x1b06ad);}else if(_0x2c9ec9&&_0x2327c6>0x0){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2354')](_0x2c9ec9,_0x55ff7e[_0x1a4e('0x3617')]);_0x373f1e[_0x2327c6][_0x1a4e('0x46')](_0x1b06ad),_0x40d299[_0x2327c6][_0x1a4e('0x46')](_0x1b06ad);}else if(_0x326eae){var _0x1b06ad=_0x368e5a[_0x1a4e('0x2354')](_0x326eae,_0x55ff7e[_0x1a4e('0x3618')]);_0x373f1e[_0x2327c6][_0x1a4e('0x46')](_0x1b06ad),_0x40d299[_0x2327c6][_0x1a4e('0x46')](_0x1b06ad);}},_0x334070=0x0;_0x334070<_0x2327c6[_0x1a4e('0x1e')];_0x334070++)_0x451c3e(_0x334070);return{'target':_0x5bbfe3,'usagesPerScope':_0x44fcdc,'functionErrorsPerScope':_0x373f1e,'constantErrorsPerScope':_0x40d299,'exposedVariableDeclarations':_0x298548};function _0x4f1c04(_0x368e5a){for(var _0x146f6e=_0x420b32[_0x1a4e('0x3619')](function(){return _0x1b06ad[_0x1a4e('0x289b')](),!0x0;}),_0x2327c6=_0x146f6e['walkType'](_0x368e5a)['visitedTypes'],_0x55ff7e=0x0,_0x1adc17=_0x2327c6;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0xf79407['isTypeParameter']()&&_0x4b79fc[_0x1a4e('0x17a')](_0xf79407['id'][_0x1a4e('0x95')](),_0xf79407);}}function _0x99d6de(_0x146f6e){return _0x146f6e[_0x1a4e('0x11c')]&&_0x368e5a['isShorthandPropertyAssignment'](_0x146f6e[_0x1a4e('0x11c')])&&_0x146f6e['parent'][_0x1a4e('0x2cb')]===_0x146f6e?_0x420b32[_0x1a4e('0x3310')](_0x146f6e[_0x1a4e('0x11c')]):_0x420b32['getSymbolAtLocation'](_0x146f6e);}function _0x1951f9(_0x146f6e,_0x2327c6,_0x55ff7e){if(_0x146f6e){var _0x1adc17=_0x146f6e['getDeclarations']();if(_0x1adc17&&_0x1adc17[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x368e5a[_0x1a4e('0x11c')]===_0x2327c6;}))return _0x368e5a[_0x1a4e('0x2893')](_0x146f6e['name']);var _0xf79407=_0x1951f9(_0x146f6e[_0x1a4e('0x11c')],_0x2327c6,_0x55ff7e);if(void 0x0!==_0xf79407)return _0x55ff7e?_0x368e5a[_0x1a4e('0x28c1')](_0xf79407,_0x368e5a[_0x1a4e('0x2893')](_0x146f6e[_0x1a4e('0x2cb')])):_0x368e5a[_0x1a4e('0x2894')](_0xf79407,_0x146f6e[_0x1a4e('0x2cb')]);}}}(_0x146f6e,_0x2c9ec9,function(_0x146f6e,_0x2327c6){return _0x8392c4(_0x146f6e[_0x1a4e('0x1075')])?{'pos':_0x368e5a[_0x1a4e('0x10f7')](_0x146f6e[_0x1a4e('0x1075')])[_0x1a4e('0x31d6')](_0x2327c6),'end':_0x368e5a[_0x1a4e('0x10b1')](_0x146f6e[_0x1a4e('0x1075')])[_0x1a4e('0x31d7')]()}:_0x146f6e[_0x1a4e('0x1075')];}(_0x146f6e,_0xf79407),_0xf79407,_0x2327c6['program'][_0x1a4e('0x302b')](),_0x2327c6['cancellationToken'])};}function _0x41bb5b(_0x368e5a){var _0x146f6e,_0x2327c6=_0x368e5a['symbol'];if(_0x2327c6&&_0x2327c6[_0x1a4e('0x22e5')])for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6['declarations'];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];(void 0x0===_0x146f6e||_0xf79407[_0x1a4e('0xa4')]<_0x146f6e[_0x1a4e('0xa4')])&&(_0x146f6e=_0xf79407);}return _0x146f6e;}function _0x1f2493(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x40')],_0x1adc17=_0x146f6e[_0x1a4e('0x2350')],_0xf79407=_0x2327c6[_0x1a4e('0x40')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x2350')];return _0x368e5a[_0x1a4e('0x1755')](_0x1adc17,_0x2c9ec9,'pos',_0x368e5a[_0x1a4e('0x166e')])||_0x368e5a[_0x1a4e('0x174a')](_0x55ff7e[_0x1a4e('0xb1b')]?_0x55ff7e[_0x1a4e('0xb1b')][_0x1a4e('0x3b6')]():'',_0xf79407[_0x1a4e('0xb1b')]?_0xf79407[_0x1a4e('0xb1b')]['getName']():'')||_0x368e5a[_0x1a4e('0x166e')](_0x55ff7e['id'],_0xf79407['id']);}function _0x52230c(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a['map'](_0x146f6e,function(_0x146f6e){return _0x368e5a['createShorthandPropertyAssignment'](_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2cb')]);}),_0x1adc17=_0x368e5a[_0x1a4e('0x21')](_0x2327c6,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d3e')](_0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x2cb')]);});return void 0x0===_0x55ff7e?_0x1adc17:void 0x0===_0x1adc17?_0x55ff7e:_0x55ff7e[_0x1a4e('0x9a')](_0x1adc17);}function _0x8392c4(_0x146f6e){return _0x368e5a[_0x1a4e('0x15')](_0x146f6e);}function _0x2a1586(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xda:case 0x117:case 0xf5:case 0x10f:return!0x0;default:return!0x1;}}_0x146f6e[_0x1a4e('0x34f1')](_0x420b32,{'getAvailableActions':_0x1b06ad,'getEditsForAction':_0x326eae}),_0x2327c6[_0x1a4e('0x34f4')]=_0x1b06ad,_0x2327c6['getEditsForAction']=_0x326eae,function(_0x146f6e){function _0x2327c6(_0x146f6e){return{'message':_0x146f6e,'code':0x0,'category':_0x368e5a[_0x1a4e('0x16d3')][_0x1a4e('0x16d5')],'key':_0x146f6e};}_0x146f6e['cannotExtractRange']=_0x2327c6(_0x1a4e('0x361a')),_0x146f6e[_0x1a4e('0x360e')]=_0x2327c6(_0x1a4e('0x361b')),_0x146f6e['cannotExtractSuper']=_0x2327c6('Cannot\x20extract\x20super\x20call.'),_0x146f6e[_0x1a4e('0x360a')]=_0x2327c6(_0x1a4e('0x361c')),_0x146f6e['expressionExpected']=_0x2327c6(_0x1a4e('0x361d')),_0x146f6e[_0x1a4e('0x361e')]=_0x2327c6(_0x1a4e('0x361f')),_0x146f6e[_0x1a4e('0x360c')]=_0x2327c6(_0x1a4e('0x3620')),_0x146f6e[_0x1a4e('0x3611')]=_0x2327c6(_0x1a4e('0x3621')),_0x146f6e[_0x1a4e('0x3622')]=_0x2327c6(_0x1a4e('0x3623')),_0x146f6e['cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange']=_0x2327c6(_0x1a4e('0x3624')),_0x146f6e['cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators']=_0x2327c6(_0x1a4e('0x3625')),_0x146f6e[_0x1a4e('0x3615')]=_0x2327c6(_0x1a4e('0x3626')),_0x146f6e[_0x1a4e('0x3627')]=_0x2327c6(_0x1a4e('0x3628')),_0x146f6e[_0x1a4e('0x3629')]=_0x2327c6(_0x1a4e('0x362a')),_0x146f6e[_0x1a4e('0x3618')]=_0x2327c6(_0x1a4e('0x362b')),_0x146f6e[_0x1a4e('0x362c')]=_0x2327c6(_0x1a4e('0x362d')),_0x146f6e[_0x1a4e('0x3617')]=_0x2327c6(_0x1a4e('0x362e')),_0x146f6e[_0x1a4e('0x360d')]=_0x2327c6(_0x1a4e('0x362f')),_0x146f6e['cannotAccessVariablesFromNestedScopes']=_0x2327c6(_0x1a4e('0x3630')),_0x146f6e[_0x1a4e('0x3612')]=_0x2327c6(_0x1a4e('0x3631')),_0x146f6e['cannotExtractToJSClass']=_0x2327c6(_0x1a4e('0x3632')),_0x146f6e[_0x1a4e('0x3633')]=_0x2327c6(_0x1a4e('0x3634'));}(_0x55ff7e=_0x2327c6[_0x1a4e('0x3635')]||(_0x2327c6['Messages']={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1733')]=0x0]=_0x1a4e('0x1733'),_0x368e5a[_0x368e5a[_0x1a4e('0x35ff')]=0x1]=_0x1a4e('0x35ff'),_0x368e5a[_0x368e5a[_0x1a4e('0x3603')]=0x2]='IsGenerator',_0x368e5a[_0x368e5a[_0x1a4e('0x3602')]=0x4]=_0x1a4e('0x3602'),_0x368e5a[_0x368e5a[_0x1a4e('0x3610')]=0x8]=_0x1a4e('0x3610'),_0x368e5a[_0x368e5a[_0x1a4e('0x3601')]=0x10]=_0x1a4e('0x3601');}(_0x1adc17||(_0x1adc17={})),_0x2327c6[_0x1a4e('0x3636')]=_0x56674b,function(_0x368e5a){_0x368e5a[_0x368e5a['Module']=0x0]='Module',_0x368e5a[_0x368e5a[_0x1a4e('0x32c0')]=0x1]=_0x1a4e('0x32c0');}(_0xf79407||(_0xf79407={})),function(_0x368e5a){_0x368e5a[_0x368e5a[_0x1a4e('0x1adb')]=0x1]=_0x1a4e('0x1adb'),_0x368e5a[_0x368e5a[_0x1a4e('0x3637')]=0x2]='Write';}(_0x2c9ec9||(_0x2c9ec9={}));}(_0x146f6e[_0x1a4e('0x3638')]||(_0x146f6e[_0x1a4e('0x3638')]={}));}(_0x368e5a[_0x1a4e('0x34f0')]||(_0x368e5a[_0x1a4e('0x34f0')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){!function(_0x2327c6){var _0x55ff7e=_0x1a4e('0x226e'),_0x1adc17=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3639')][_0x1a4e('0x133')];function _0xf79407(_0x146f6e){return _0x368e5a[_0x1a4e('0x235e')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24ec')](_0x146f6e)||_0x368e5a[_0x1a4e('0x23b4')](_0x146f6e);}function _0x2c9ec9(_0x146f6e,_0x2327c6){return _0x368e5a['isIdentifier'](_0x2327c6)?_0x368e5a[_0x1a4e('0x2893')](_0x146f6e):_0x368e5a[_0x1a4e('0x2896')](_0x146f6e);}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6?_0x55ff7e[_0x1a4e('0x2cb')]:_0x368e5a[_0x1a4e('0x2c2c')]();return _0x368e5a['isIdentifier'](_0x146f6e)?_0x368e5a[_0x1a4e('0x2894')](_0x1adc17,_0x146f6e):_0x368e5a['createElementAccess'](_0x1adc17,_0x368e5a['createLiteral'](_0x146f6e));}function _0x1b06ad(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x252')](_0x146f6e?void 0x0:[_0x368e5a[_0x1a4e('0x28b6')](_0x55ff7e)],_0x2327c6?_0x368e5a[_0x1a4e('0x28b6')](0x74):void 0x0);return _0x1adc17&&_0x368e5a[_0x1a4e('0x28d1')](_0x1adc17);}function _0x326eae(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x15c9')],_0x55ff7e=_0x146f6e[_0x1a4e('0x34f7')],_0x1adc17=_0x146f6e[_0x1a4e('0x34f8')],_0x420b32=_0x368e5a[_0x1a4e('0x3264')](_0x2327c6,_0x55ff7e),_0x1b06ad=_0x368e5a[_0x1a4e('0x283d')](_0x420b32[_0x1a4e('0x11c')],_0xf79407);if(_0x1b06ad&&_0x368e5a[_0x1a4e('0x31e5')](_0x1b06ad[_0x1a4e('0x2cb')],_0x2327c6,_0x55ff7e,_0x1adc17)&&function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e)||_0x368e5a['isStringLiteral'](_0x146f6e);}(_0x1b06ad[_0x1a4e('0x2cb')])&&0x7c==(0x7c|_0x368e5a[_0x1a4e('0x245c')](_0x1b06ad))){var _0x326eae=_0x1b06ad[_0x1a4e('0x2cb')][_0x1a4e('0xe04')],_0x56674b=function(_0x368e5a){return 0x5f===_0x368e5a['charCodeAt'](0x0);}(_0x326eae),_0x4413e8=_0x2c9ec9(_0x56674b?_0x326eae:_0x368e5a['getUniqueName']('_'+_0x326eae,_0x2327c6),_0x1b06ad[_0x1a4e('0x2cb')]),_0x3f1bc6=_0x2c9ec9(_0x56674b?_0x368e5a['getUniqueName'](_0x326eae['substring'](0x1),_0x2327c6):_0x326eae,_0x1b06ad[_0x1a4e('0x2cb')]);return{'isStatic':_0x368e5a[_0x1a4e('0x29c2')](_0x1b06ad),'isReadonly':_0x368e5a[_0x1a4e('0x245b')](_0x1b06ad),'type':_0x368e5a[_0x1a4e('0x363a')](_0x1b06ad),'container':0x97===_0x1b06ad[_0x1a4e('0x146b')]?_0x1b06ad[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:_0x1b06ad[_0x1a4e('0x11c')],'originalName':_0x1b06ad[_0x1a4e('0x2cb')][_0x1a4e('0xe04')],'declaration':_0x1b06ad,'fieldName':_0x4413e8,'accessorName':_0x3f1bc6,'renameAccessor':_0x56674b};}}function _0x56674b(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x368e5a['isParameterPropertyDeclaration'](_0x1adc17)?_0x146f6e[_0x1a4e('0x34c0')](_0x2327c6,_0xf79407,_0x55ff7e):_0x368e5a[_0x1a4e('0x23b4')](_0x1adc17)?_0x146f6e[_0x1a4e('0x34c4')](_0x2327c6,_0x1adc17,_0x55ff7e):_0x146f6e[_0x1a4e('0x321c')](_0x2327c6,_0x1adc17,_0x55ff7e);}_0x146f6e[_0x1a4e('0x34f1')](_0x55ff7e,{'getEditsForAction':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x15c9')],_0x1adc17=_0x326eae(_0x146f6e);if(!_0x1adc17)return;var _0xf79407=_0x368e5a['isSourceFileJS'](_0x55ff7e),_0x2c9ec9=_0x368e5a[_0x1a4e('0x323a')][_0x1a4e('0x3323')][_0x1a4e('0x3376')](_0x146f6e),_0x1747e5=_0x1adc17[_0x1a4e('0x363b')],_0x26c041=_0x1adc17['isReadonly'],_0x193656=_0x1adc17[_0x1a4e('0x315a')],_0x4d0feb=_0x1adc17[_0x1a4e('0x363c')],_0x131719=_0x1adc17[_0x1a4e('0x2e7c')],_0x5f5674=_0x1adc17['type'],_0x1a4363=_0x1adc17[_0x1a4e('0x12d8')],_0x3dcdfe=_0x1adc17[_0x1a4e('0x2350')],_0x5cc2c9=_0x1adc17[_0x1a4e('0x363d')];_0x368e5a[_0x1a4e('0x3236')](_0x193656),_0x368e5a['suppressLeadingAndTrailingTrivia'](_0x3dcdfe),_0x368e5a['suppressLeadingAndTrailingTrivia'](_0x1a4363);var _0x2dba51=_0x368e5a[_0x1a4e('0x2367')](_0x1a4363),_0x2a7df5=-0x41&_0x368e5a[_0x1a4e('0x245c')](_0x3dcdfe),_0x585c71=_0x2dba51?!_0x2a7df5||0x8&_0x2a7df5?_0x1b06ad(_0xf79407,_0x1747e5,0x73):_0x368e5a['createNodeArray'](_0x368e5a[_0x1a4e('0x2c2f')](_0x2a7df5)):void 0x0,_0x3f66e8=_0x2dba51?_0x1b06ad(_0xf79407,_0x1747e5,0x71):void 0x0;!function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){_0x368e5a[_0x1a4e('0x24ec')](_0x55ff7e)?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a['updateProperty'](_0x55ff7e,_0x55ff7e[_0x1a4e('0x232f')],_0xf79407,_0x1adc17,_0x55ff7e['questionToken']||_0x55ff7e[_0x1a4e('0x25f7')],_0x55ff7e[_0x1a4e('0x40')],_0x55ff7e[_0x1a4e('0x236a')]);_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e,_0x2c9ec9);}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407):_0x368e5a[_0x1a4e('0x23b4')](_0x55ff7e)?function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x363e')](_0x55ff7e,_0x1adc17,_0x55ff7e[_0x1a4e('0x236a')]);_0x146f6e[_0x1a4e('0x363f')](_0x2327c6,_0x55ff7e,_0xf79407);}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17):_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x55ff7e,_0x368e5a[_0x1a4e('0x2d7a')](_0x55ff7e,_0x55ff7e['decorators'],_0xf79407,_0x55ff7e[_0x1a4e('0x25f9')],_0x368e5a['cast'](_0x1adc17,_0x368e5a['isIdentifier']),_0x55ff7e[_0x1a4e('0x23ca')],_0x55ff7e[_0x1a4e('0x40')],_0x55ff7e[_0x1a4e('0x236a')]));}(_0x2c9ec9,_0x55ff7e,_0x3dcdfe,_0x193656,_0x3f66e8);var _0x15be99=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x2c3e')](void 0x0,_0x1adc17,_0x2327c6,void 0x0,_0x55ff7e,_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a['createReturn'](_0x420b32(_0x146f6e,_0xf79407,_0x2c9ec9))],!0x0));}(_0x193656,_0x4d0feb,_0x5f5674,_0x585c71,_0x1747e5,_0x1a4363);if(_0x368e5a[_0x1a4e('0x3236')](_0x15be99),_0x56674b(_0x2c9ec9,_0x55ff7e,_0x15be99,_0x3dcdfe,_0x1a4363),_0x26c041){var _0x4b0e67=_0x368e5a[_0x1a4e('0x2b44')](_0x1a4363);_0x4b0e67&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(!_0x55ff7e[_0x1a4e('0x8f2')])return;_0x55ff7e[_0x1a4e('0x8f2')][_0x1a4e('0x22eb')](function _0x55ff7e(_0x2c9ec9){_0x368e5a[_0x1a4e('0x2856')](_0x2c9ec9)&&0x64===_0x2c9ec9[_0x1a4e('0x2302')][_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2374')](_0x2c9ec9[_0x1a4e('0x24a7')])&&_0x2c9ec9[_0x1a4e('0x24a7')][_0x1a4e('0xe04')]===_0xf79407&&_0x368e5a[_0x1a4e('0x2491')](_0x2c9ec9)&&_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x2c9ec9[_0x1a4e('0x24a7')],_0x368e5a[_0x1a4e('0x2c0b')](_0x1adc17)),_0x368e5a[_0x1a4e('0x2371')](_0x2c9ec9)&&0x64===_0x2c9ec9[_0x1a4e('0x2302')][_0x1a4e('0x146b')]&&_0x2c9ec9[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]===_0xf79407&&_0x368e5a['isWriteAccess'](_0x2c9ec9)&&_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x2c9ec9['name'],_0x368e5a[_0x1a4e('0x2893')](_0x1adc17)),_0x368e5a[_0x1a4e('0x2342')](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x2367')](_0x2c9ec9)||_0x2c9ec9[_0x1a4e('0x22eb')](_0x55ff7e);});}(_0x2c9ec9,_0x55ff7e,_0x4b0e67,_0x193656[_0x1a4e('0xe04')],_0x131719);}else{var _0x11760b=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x3640')](void 0x0,_0x1adc17,_0x2327c6,[_0x368e5a[_0x1a4e('0x28c3')](void 0x0,void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0x255')),void 0x0,_0x55ff7e)],_0x368e5a[_0x1a4e('0x2c91')]([_0x368e5a[_0x1a4e('0x2c96')](_0x368e5a[_0x1a4e('0x2d07')](_0x420b32(_0x146f6e,_0xf79407,_0x2c9ec9),_0x368e5a['createIdentifier'](_0x1a4e('0x255'))))],!0x0));}(_0x193656,_0x4d0feb,_0x5f5674,_0x585c71,_0x1747e5,_0x1a4363);_0x368e5a[_0x1a4e('0x3236')](_0x11760b),_0x56674b(_0x2c9ec9,_0x55ff7e,_0x11760b,_0x3dcdfe,_0x1a4363);}var _0x1ccb1b=_0x2c9ec9[_0x1a4e('0x3379')](),_0x506a76=_0x55ff7e[_0x1a4e('0x1b39')],_0x26e98a=_0x5cc2c9?_0x4d0feb:_0x193656,_0x23edbd=(_0x368e5a[_0x1a4e('0x2370')](_0x26e98a)?0x0:-0x1)+_0x368e5a[_0x1a4e('0x3604')](_0x1ccb1b,_0x506a76,_0x26e98a[_0x1a4e('0xe04')],_0x368e5a[_0x1a4e('0x24ac')](_0x3dcdfe));return{'renameFilename':_0x506a76,'renameLocation':_0x23edbd,'edits':_0x1ccb1b};},'getAvailableActions':function(_0x146f6e){return _0x326eae(_0x146f6e)?[{'name':_0x55ff7e,'description':_0x1adc17,'actions':[{'name':_0x55ff7e,'description':_0x1adc17}]}]:_0x368e5a['emptyArray'];}});}(_0x146f6e[_0x1a4e('0x3641')]||(_0x146f6e[_0x1a4e('0x3641')]={}));}(_0x368e5a['refactor']||(_0x368e5a[_0x1a4e('0x34f0')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){function _0x2327c6(_0x146f6e){var _0x2327c6=function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x15c9')],_0x55ff7e=_0x368e5a[_0x1a4e('0x32a1')](_0x368e5a[_0x1a4e('0x35d2')](_0x146f6e)),_0x1adc17=_0x2327c6['statements'],_0xf79407=_0x368e5a[_0x1a4e('0x5cb')](_0x1adc17,function(_0x368e5a){return _0x368e5a[_0x1a4e('0xca')]>_0x55ff7e[_0x1a4e('0xa4')];});if(-0x1!==_0xf79407){var _0x2c9ec9=_0x1adc17[_0xf79407];if(_0x368e5a[_0x1a4e('0x2846')](_0x2c9ec9)&&_0x2c9ec9[_0x1a4e('0x2cb')]&&_0x368e5a[_0x1a4e('0x339b')](_0x2c9ec9[_0x1a4e('0x2cb')],_0x55ff7e))return{'toMove':[_0x1adc17[_0xf79407]],'afterLast':_0x1adc17[_0xf79407+0x1]};if(!(_0x55ff7e['pos']>_0x2c9ec9['getStart'](_0x2327c6))){var _0x420b32=_0x368e5a['findIndex'](_0x1adc17,function(_0x368e5a){return _0x368e5a['end']>_0x55ff7e[_0x1a4e('0xca')];},_0xf79407);if(-0x1===_0x420b32||!(0x0===_0x420b32||_0x1adc17[_0x420b32][_0x1a4e('0x31d6')](_0x2327c6)<_0x55ff7e[_0x1a4e('0xca')]))return{'toMove':_0x1adc17[_0x1a4e('0x78')](_0xf79407,-0x1===_0x420b32?_0x1adc17[_0x1a4e('0x1e')]:_0x420b32),'afterLast':-0x1===_0x420b32?void 0x0:_0x1adc17[_0x420b32]};}}}(_0x146f6e);if(void 0x0!==_0x2327c6){var _0x55ff7e=[],_0x1adc17=[],_0xf79407=_0x2327c6[_0x1a4e('0x3642')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x3643')];return _0x368e5a[_0x1a4e('0x3644')](_0xf79407,function(_0x146f6e){return!function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf9:return!0x0;case 0xf8:return!_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1);case 0xdb:return _0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')][_0x1a4e('0x114')](function(_0x146f6e){return!!_0x146f6e['initializer']&&_0x368e5a[_0x1a4e('0x23ae')](_0x146f6e['initializer'],!0x0);});default:return!0x1;}}(_0x146f6e);},function(_0x368e5a,_0x146f6e){for(var _0x2327c6=_0x368e5a;_0x2327c6<_0x146f6e;_0x2327c6++)_0x55ff7e[_0x1a4e('0x46')](_0xf79407[_0x2327c6]);_0x1adc17['push']({'first':_0xf79407[_0x368e5a],'afterLast':_0x2c9ec9});}),0x0===_0x55ff7e[_0x1a4e('0x1e')]?void 0x0:{'all':_0x55ff7e,'ranges':_0x1adc17};}}function _0x55ff7e(_0x368e5a,_0x146f6e,_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e],_0x2c9ec9=_0xf79407[_0x1a4e('0x10f7')],_0x420b32=_0xf79407[_0x1a4e('0x3643')];_0x2327c6[_0x1a4e('0x34a9')](_0x368e5a,_0x2c9ec9,_0x420b32);}}function _0x1adc17(_0x368e5a){return 0xf9===_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a['moduleSpecifier']:0xf8===_0x368e5a['kind']?_0x368e5a[_0x1a4e('0x236d')]['expression']:_0x368e5a[_0x1a4e('0x236a')][_0x1a4e('0x2373')][0x0];}function _0xf79407(_0x146f6e,_0x2327c6){if(_0x368e5a[_0x1a4e('0x2981')](_0x146f6e))_0x368e5a[_0x1a4e('0x2374')](_0x146f6e[_0x1a4e('0x23c5')])&&_0x2327c6(_0x146f6e);else if(_0x368e5a[_0x1a4e('0x2bd3')](_0x146f6e))_0x368e5a[_0x1a4e('0x2525')](_0x146f6e[_0x1a4e('0x236d')])&&_0x368e5a[_0x1a4e('0x2855')](_0x146f6e[_0x1a4e('0x236d')][_0x1a4e('0x2302')])&&_0x2327c6(_0x146f6e);else if(_0x368e5a[_0x1a4e('0x2376')](_0x146f6e))for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')];_0x55ff7e<_0x1adc17['length'];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0xf79407[_0x1a4e('0x236a')]&&_0x368e5a[_0x1a4e('0x23ae')](_0xf79407[_0x1a4e('0x236a')],!0x0)&&_0x2327c6(_0xf79407);}}function _0x2c9ec9(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x55ff7e=_0x368e5a['ensurePathIsNonModuleName'](_0x55ff7e),_0x1adc17){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2cc7')](void 0x0,_0x368e5a['createIdentifier'](_0x146f6e));});return _0x368e5a[_0x1a4e('0x3645')](_0x146f6e,_0x2c9ec9,_0x55ff7e,_0xf79407);}_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](!_0x146f6e);var _0x326eae=_0x2327c6[_0x1a4e('0x21')](function(_0x146f6e){return _0x368e5a['createBindingElement'](void 0x0,void 0x0,_0x146f6e);});return _0x326eae[_0x1a4e('0x1e')]?_0x420b32(_0x368e5a[_0x1a4e('0x2c5c')](_0x326eae),void 0x0,_0x1b06ad(_0x368e5a[_0x1a4e('0x2896')](_0x55ff7e))):void 0x0;}function _0x420b32(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return void 0x0===_0x1adc17&&(_0x1adc17=0x2),_0x368e5a[_0x1a4e('0x2c93')](void 0x0,_0x368e5a[_0x1a4e('0x2caf')]([_0x368e5a[_0x1a4e('0x2cad')](_0x146f6e,_0x2327c6,_0x55ff7e)],_0x1adc17));}function _0x1b06ad(_0x146f6e){return _0x368e5a[_0x1a4e('0x2c67')](_0x368e5a[_0x1a4e('0x2893')](_0x1a4e('0xfd8')),void 0x0,[_0x146f6e]);}function _0x326eae(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xf9:!function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){if(!_0x146f6e[_0x1a4e('0x23c6')])return;var _0x1adc17=_0x146f6e['importClause'],_0xf79407=_0x1adc17['name'],_0x2c9ec9=_0x1adc17[_0x1a4e('0x23c7')],_0x420b32=!_0xf79407||_0x55ff7e(_0xf79407),_0x1b06ad=!_0x2c9ec9||(0xfb===_0x2c9ec9['kind']?_0x55ff7e(_0x2c9ec9[_0x1a4e('0x2cb')]):0x0!==_0x2c9ec9[_0x1a4e('0x2398')][_0x1a4e('0x1e')]&&_0x2c9ec9[_0x1a4e('0x2398')][_0x1a4e('0x114')](function(_0x368e5a){return _0x55ff7e(_0x368e5a[_0x1a4e('0x2cb')]);}));if(_0x420b32&&_0x1b06ad)_0x2327c6['delete'](_0x368e5a,_0x146f6e);else if(_0xf79407&&_0x420b32&&_0x2327c6[_0x1a4e('0xf4c')](_0x368e5a,_0xf79407),_0x2c9ec9)if(_0x1b06ad)_0x2327c6[_0x1a4e('0xf4c')](_0x368e5a,_0x2c9ec9);else if(0xfc===_0x2c9ec9[_0x1a4e('0x146b')])for(var _0x326eae=0x0,_0x56674b=_0x2c9ec9['elements'];_0x326eae<_0x56674b[_0x1a4e('0x1e')];_0x326eae++){var _0x24e87a=_0x56674b[_0x326eae];_0x55ff7e(_0x24e87a[_0x1a4e('0x2cb')])&&_0x2327c6['delete'](_0x368e5a,_0x24e87a);}}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);break;case 0xf8:_0x1adc17(_0x2327c6['name'])&&_0x55ff7e[_0x1a4e('0xf4c')](_0x146f6e,_0x2327c6);break;case 0xed:!function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x2327c6['name'];switch(_0xf79407[_0x1a4e('0x146b')]){case 0x48:_0x1adc17(_0xf79407)&&_0x55ff7e[_0x1a4e('0xf4c')](_0x146f6e,_0xf79407);break;case 0xb9:break;case 0xb8:if(_0xf79407['elements'][_0x1a4e('0x114')](function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])&&_0x1adc17(_0x146f6e['name']);}))_0x55ff7e[_0x1a4e('0xf4c')](_0x146f6e,_0x368e5a[_0x1a4e('0x251c')](_0x2327c6[_0x1a4e('0x11c')])&&0x1===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x22e5')][_0x1a4e('0x1e')]?_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')]:_0x2327c6);else for(var _0x2c9ec9=0x0,_0x420b32=_0xf79407[_0x1a4e('0x2398')];_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x368e5a[_0x1a4e('0x2370')](_0x1b06ad[_0x1a4e('0x2cb')])&&_0x1adc17(_0x1b06ad[_0x1a4e('0x2cb')])&&_0x55ff7e['delete'](_0x146f6e,_0x1b06ad[_0x1a4e('0x2cb')]);}}}(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);break;default:_0x368e5a['Debug']['assertNever'](_0x2327c6);}}function _0x56674b(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf8:case 0xfd:case 0xfa:return!0x0;case 0xed:return _0x10e170(_0x146f6e);case 0xba:return _0x368e5a[_0x1a4e('0x238d')](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')])&&_0x10e170(_0x146f6e[_0x1a4e('0x11c')]['parent']);default:return!0x1;}}function _0x10e170(_0x146f6e){return _0x368e5a[_0x1a4e('0x22f0')](_0x146f6e[_0x1a4e('0x11c')]['parent']['parent'])&&_0x146f6e['initializer']&&_0x368e5a['isRequireCall'](_0x146f6e[_0x1a4e('0x236a')],!0x0);}function _0x41cc51(_0x146f6e,_0x2327c6,_0x55ff7e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf9:var _0x1adc17=_0x146f6e[_0x1a4e('0x23c6')];if(!_0x1adc17)return;var _0xf79407=_0x1adc17['name']&&_0x55ff7e(_0x1adc17['name'])?_0x1adc17['name']:void 0x0,_0x2c9ec9=_0x1adc17[_0x1a4e('0x23c7')]&&function(_0x146f6e,_0x2327c6){if(0xfb===_0x146f6e[_0x1a4e('0x146b')])return _0x2327c6(_0x146f6e['name'])?_0x146f6e:void 0x0;var _0x55ff7e=_0x146f6e[_0x1a4e('0x2398')][_0x1a4e('0xd9')](function(_0x368e5a){return _0x2327c6(_0x368e5a[_0x1a4e('0x2cb')]);});return _0x55ff7e[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x2cc5')](_0x55ff7e):void 0x0;}(_0x1adc17[_0x1a4e('0x23c7')],_0x55ff7e);return _0xf79407||_0x2c9ec9?_0x368e5a[_0x1a4e('0x2cbf')](void 0x0,void 0x0,_0x368e5a['createImportClause'](_0xf79407,_0x2c9ec9),_0x2327c6):void 0x0;case 0xf8:return _0x55ff7e(_0x146f6e[_0x1a4e('0x2cb')])?_0x146f6e:void 0x0;case 0xed:var _0x326eae=function(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0x48:return _0x2327c6(_0x146f6e)?_0x146f6e:void 0x0;case 0xb9:return _0x146f6e;case 0xb8:var _0x55ff7e=_0x146f6e[_0x1a4e('0x2398')]['filter'](function(_0x146f6e){return _0x146f6e['propertyName']||!_0x368e5a['isIdentifier'](_0x146f6e[_0x1a4e('0x2cb')])||_0x2327c6(_0x146f6e[_0x1a4e('0x2cb')]);});return _0x55ff7e[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x2c5c')](_0x55ff7e):void 0x0;}}(_0x146f6e['name'],_0x55ff7e);return _0x326eae?_0x420b32(_0x326eae,_0x146f6e[_0x1a4e('0x40')],_0x1b06ad(_0x2327c6),_0x146f6e[_0x1a4e('0x11c')]['flags']):void 0x0;default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}function _0x1d92b2(_0x146f6e,_0x2327c6,_0x55ff7e){_0x146f6e['forEachChild'](function _0x146f6e(_0x1adc17){if(_0x368e5a['isIdentifier'](_0x1adc17)&&!_0x368e5a[_0x1a4e('0x23e5')](_0x1adc17)){var _0xf79407=_0x2327c6[_0x1a4e('0x3029')](_0x1adc17);_0xf79407&&_0x55ff7e(_0xf79407);}else _0x1adc17[_0x1a4e('0x22eb')](_0x146f6e);});}_0x146f6e[_0x1a4e('0x34f1')](_0x1a4e('0x3646'),{'getAvailableActions':function(_0x146f6e){if(!_0x146f6e[_0x1a4e('0x353e')][_0x1a4e('0x3647')]||void 0x0===_0x2327c6(_0x146f6e))return _0x368e5a['emptyArray'];var _0x55ff7e=_0x368e5a[_0x1a4e('0x2582')](_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3648')]);return[{'name':_0x1a4e('0x3646'),'description':_0x55ff7e,'actions':[{'name':_0x1a4e('0x3646'),'description':_0x55ff7e}]}];},'getEditsForAction':function(_0x146f6e,_0x420b32){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1a4e('0x3646')===_0x420b32);var _0x10e170=_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0x2327c6(_0x146f6e));return{'edits':_0x368e5a['textChanges'][_0x1a4e('0x3323')][_0x1a4e('0x3324')](_0x146f6e,function(_0x2327c6){return _0x420b32=_0x146f6e[_0x1a4e('0x15c9')],_0x55407d=_0x146f6e[_0x1a4e('0x303a')],_0x3e286c=_0x10e170,_0x45df7e=_0x2327c6,_0x4f50b1=_0x146f6e['host'],_0x5bef62=_0x146f6e[_0x1a4e('0x353e')],_0x41363d=_0x55407d[_0x1a4e('0x302b')](),_0x5841ae=function(_0x146f6e,_0x2327c6,_0x55ff7e){for(var _0x1adc17=new _0x39ffe8(),_0xf79407=new _0x39ffe8(),_0x2c9ec9=new _0x39ffe8(),_0x420b32=0x0,_0x1b06ad=_0x2327c6;_0x420b32<_0x1b06ad[_0x1a4e('0x1e')];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0x52c047(_0x326eae,function(_0x146f6e){_0x1adc17[_0x1a4e('0x177')](_0x368e5a[_0x1a4e('0x1749')]['assertDefined'](_0x368e5a['isExpressionStatement'](_0x146f6e)?_0x55ff7e[_0x1a4e('0x3029')](_0x146f6e['expression'][_0x1a4e('0x5f')]):_0x146f6e[_0x1a4e('0xb1b')]));});}for(var _0x10e170=0x0,_0x41cc51=_0x2327c6;_0x10e170<_0x41cc51[_0x1a4e('0x1e')];_0x10e170++){var _0x326eae=_0x41cc51[_0x10e170];_0x1d92b2(_0x326eae,_0x55ff7e,function(_0x2327c6){var _0x55ff7e;if(_0x2327c6[_0x1a4e('0x22e5')])for(var _0x420b32=0x0,_0x1b06ad=_0x2327c6['declarations'];_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x326eae=_0x1b06ad[_0x420b32];_0x56674b(_0x326eae)?_0xf79407['add'](_0x2327c6):_0x513d2b(_0x326eae)&&(_0x55ff7e=_0x326eae,(_0x368e5a[_0x1a4e('0x238d')](_0x55ff7e)?_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['parent']:_0x55ff7e['parent'])===_0x146f6e)&&!_0x1adc17['has'](_0x2327c6)&&_0x2c9ec9[_0x1a4e('0x177')](_0x2327c6);}});}for(var _0x5c854c=_0xf79407[_0x1a4e('0x240')](),_0x35b10f=new _0x39ffe8(),_0x50f89c=0x0,_0x4cdaf0=_0x146f6e[_0x1a4e('0x2366')];_0x50f89c<_0x4cdaf0[_0x1a4e('0x1e')];_0x50f89c++){var _0x326eae=_0x4cdaf0[_0x50f89c];_0x368e5a[_0x1a4e('0x2ac')](_0x2327c6,_0x326eae)||_0x1d92b2(_0x326eae,_0x55ff7e,function(_0x368e5a){_0x1adc17[_0x1a4e('0x178')](_0x368e5a)&&_0x35b10f[_0x1a4e('0x177')](_0x368e5a),_0x5c854c[_0x1a4e('0xf4c')](_0x368e5a);});}return{'movedSymbols':_0x1adc17,'newFileImportsFromOldFile':_0x2c9ec9,'oldFileImportsFromNewFile':_0x35b10f,'oldImportsNeededByNewFile':_0xf79407,'unusedImportsFromOldFile':_0x5c854c};}(_0x420b32,_0x3e286c['all'],_0x41363d),_0x16ea30=_0x368e5a[_0x1a4e('0x1671')](_0x420b32[_0x1a4e('0x1b39')]),_0x546329=_0x368e5a['extensionFromPath'](_0x420b32[_0x1a4e('0x1b39')]),_0x406b54=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){for(var _0xf79407=_0x146f6e,_0x2c9ec9=0x1;;_0x2c9ec9++){var _0x420b32=_0x368e5a['combinePaths'](_0x55ff7e,_0xf79407+_0x2327c6);if(!_0x1adc17[_0x1a4e('0x1b4d')](_0x420b32))return _0xf79407;_0xf79407=_0x146f6e+'.'+_0x2c9ec9;}}(_0x5841ae[_0x1a4e('0x3649')][_0x1a4e('0x2308')](_0x368e5a[_0x1a4e('0x364a')])||_0x1a4e('0x2fde'),_0x546329,_0x16ea30,_0x4f50b1),_0x232f3e=_0x406b54+_0x546329,_0x45df7e[_0x1a4e('0x34d3')](_0x420b32,_0x368e5a['combinePaths'](_0x16ea30,_0x232f3e),function(_0x146f6e,_0x2327c6,_0x420b32,_0x56674b,_0x10e170,_0x1d92b2,_0x433ec7){var _0x56b687=_0x10e170[_0x1a4e('0x302b')]();if(!_0x146f6e[_0x1a4e('0x2359')]&&!_0x146f6e[_0x1a4e('0x2349')])return _0x55ff7e(_0x146f6e,_0x56674b[_0x1a4e('0x364b')],_0x420b32),_0x56674b[_0x1a4e('0xb8')];var _0x6c7551=!!_0x146f6e[_0x1a4e('0x2359')],_0xdbba45=_0x368e5a[_0x1a4e('0x3210')](_0x146f6e,_0x433ec7),_0x33a25e=function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407,_0x420b32=[];return _0x146f6e[_0x1a4e('0x3b')](function(_0x146f6e){_0x1a4e('0x8')===_0x146f6e[_0x1a4e('0x22e8')]?_0xf79407=_0x368e5a['createIdentifier'](_0x368e5a['symbolNameNoDefault'](_0x146f6e)):_0x420b32[_0x1a4e('0x46')](_0x146f6e[_0x1a4e('0x2cb')]);}),_0x2c9ec9(_0xf79407,_0x420b32,_0x2327c6,_0x55ff7e,_0x1adc17);}(_0x2327c6[_0x1a4e('0x364c')],_0x1d92b2,_0x6c7551,_0xdbba45);return _0x33a25e&&_0x368e5a[_0x1a4e('0x321b')](_0x420b32,_0x146f6e,_0x33a25e),function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9){for(var _0x420b32=0x0,_0x1b06ad=_0x146f6e[_0x1a4e('0x2366')];_0x420b32<_0x1b06ad['length'];_0x420b32++){var _0x56674b=_0x1b06ad[_0x420b32];_0x368e5a[_0x1a4e('0x2ac')](_0x2327c6,_0x56674b)||_0xf79407(_0x56674b,function(_0x368e5a){return _0x326eae(_0x146f6e,_0x368e5a,_0x55ff7e,function(_0x368e5a){return _0x1adc17[_0x1a4e('0x178')](_0x2c9ec9[_0x1a4e('0x3029')](_0x368e5a));});});}}(_0x146f6e,_0x56674b['all'],_0x420b32,_0x2327c6[_0x1a4e('0x364d')],_0x56b687),_0x55ff7e(_0x146f6e,_0x56674b[_0x1a4e('0x364b')],_0x420b32),function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x2c9ec9,_0x420b32){for(var _0x56674b=_0x2327c6[_0x1a4e('0x302b')](),_0x10e170=function(_0x2327c6){if(_0x2327c6===_0x55ff7e)return _0x1a4e('0x137e');for(var _0x10e170=function(_0x10e170){_0xf79407(_0x10e170,function(_0xf79407){if(_0x56674b[_0x1a4e('0x3029')](_0x1adc17(_0xf79407))===_0x55ff7e[_0x1a4e('0xb1b')]){var _0x1d92b2=function(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e[_0x1a4e('0x11c')])?_0x368e5a['getPropertySymbolFromBindingElement'](_0x56674b,_0x146f6e['parent']):_0x368e5a[_0x1a4e('0x32ba')](_0x56674b['getSymbolAtLocation'](_0x146f6e),_0x56674b);return!!_0x2327c6&&_0x2c9ec9[_0x1a4e('0x178')](_0x2327c6);};_0x326eae(_0x2327c6,_0xf79407,_0x146f6e,_0x1d92b2);var _0x433ec7=_0x368e5a[_0x1a4e('0x1673')](_0x368e5a[_0x1a4e('0x1671')](_0x1adc17(_0xf79407)[_0x1a4e('0xe04')]),_0x420b32),_0x364475=_0x41cc51(_0xf79407,_0x368e5a[_0x1a4e('0x2896')](_0x433ec7),_0x1d92b2);_0x364475&&_0x146f6e[_0x1a4e('0x321c')](_0x2327c6,_0x10e170,_0x364475);var _0x10f1a0=function(_0x146f6e){switch(_0x146f6e['kind']){case 0xf9:return _0x146f6e[_0x1a4e('0x23c6')]&&_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')]&&0xfb===_0x146f6e[_0x1a4e('0x23c6')][_0x1a4e('0x23c7')]['kind']?_0x146f6e['importClause']['namedBindings'][_0x1a4e('0x2cb')]:void 0x0;case 0xf8:return _0x146f6e[_0x1a4e('0x2cb')];case 0xed:return _0x368e5a['tryCast'](_0x146f6e['name'],_0x368e5a[_0x1a4e('0x2370')]);default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x146f6e);}}(_0xf79407);_0x10f1a0&&function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9,_0x420b32,_0x326eae){var _0x56674b=_0x368e5a['codefix']['moduleSpecifierToValidIdentifier'](_0xf79407,0x6),_0x10e170=!0x1,_0x41cc51=[];if(_0x368e5a['FindAllReferences'][_0x1a4e('0x32e8')]['eachSymbolReferenceInFile'](_0x420b32,_0x55ff7e,_0x2327c6,function(_0x146f6e){_0x368e5a[_0x1a4e('0x2371')](_0x146f6e[_0x1a4e('0x11c')])&&(_0x10e170=_0x10e170||!!_0x55ff7e[_0x1a4e('0x353f')](_0x56674b,_0x146f6e,0x3ffffff,!0x0),_0x1adc17[_0x1a4e('0x178')](_0x55ff7e[_0x1a4e('0x3029')](_0x146f6e[_0x1a4e('0x11c')]['name']))&&_0x41cc51['push'](_0x146f6e));}),_0x41cc51['length']){for(var _0x1d92b2=_0x10e170?_0x368e5a[_0x1a4e('0x3239')](_0x56674b,_0x2327c6):_0x56674b,_0x433ec7=0x0,_0x364475=_0x41cc51;_0x433ec7<_0x364475[_0x1a4e('0x1e')];_0x433ec7++){var _0x10f1a0=_0x364475[_0x433ec7];_0x146f6e[_0x1a4e('0x34be')](_0x2327c6,_0x10f1a0,_0x368e5a[_0x1a4e('0x2893')](_0x1d92b2));}_0x146f6e[_0x1a4e('0x321c')](_0x2327c6,_0x326eae,function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2893')](_0x2327c6),_0xf79407=_0x368e5a['createLiteral'](_0x55ff7e);switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xf9:return _0x368e5a[_0x1a4e('0x2cbf')](void 0x0,void 0x0,_0x368e5a[_0x1a4e('0x2cc1')](void 0x0,_0x368e5a[_0x1a4e('0x2cc3')](_0x1adc17)),_0xf79407);case 0xf8:return _0x368e5a[_0x1a4e('0x35ab')](void 0x0,void 0x0,_0x1adc17,_0x368e5a[_0x1a4e('0x2ccf')](_0xf79407));case 0xed:return _0x368e5a['createVariableDeclaration'](_0x1adc17,void 0x0,_0x1b06ad(_0xf79407));default:return _0x368e5a['Debug'][_0x1a4e('0x1746')](_0x146f6e);}}(_0x326eae,_0xf79407,_0x2c9ec9));}}(_0x146f6e,_0x2327c6,_0x56674b,_0x2c9ec9,_0x420b32,_0x433ec7,_0x10f1a0,_0xf79407);}});},_0x1d92b2=0x0,_0x433ec7=_0x2327c6[_0x1a4e('0x2366')];_0x1d92b2<_0x433ec7[_0x1a4e('0x1e')];_0x1d92b2++){var _0x3dc613=_0x433ec7[_0x1d92b2];_0x10e170(_0x3dc613);}},_0x1d92b2=0x0,_0x433ec7=_0x2327c6[_0x1a4e('0x2447')]();_0x1d92b2<_0x433ec7['length'];_0x1d92b2++){var _0x473538=_0x433ec7[_0x1d92b2];_0x10e170(_0x473538);}}(_0x420b32,_0x10e170,_0x146f6e,_0x2327c6[_0x1a4e('0x3649')],_0x1d92b2),function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x420b32,_0x1b06ad,_0x326eae,_0x56674b){for(var _0x10e170,_0x1d92b2=[],_0x433ec7=0x0,_0xdd8a84=_0x146f6e[_0x1a4e('0x2366')];_0x433ec7<_0xdd8a84['length'];_0x433ec7++){var _0x3a1485=_0xdd8a84[_0x433ec7];_0xf79407(_0x3a1485,function(_0x146f6e){_0x368e5a['append'](_0x1d92b2,_0x41cc51(_0x146f6e,_0x1adc17(_0x146f6e),function(_0x368e5a){return _0x2327c6[_0x1a4e('0x178')](_0x1b06ad[_0x1a4e('0x3029')](_0x368e5a));}));});}var _0x59d90c=[],_0x5403af=_0x368e5a[_0x1a4e('0x3203')]();return _0x55ff7e[_0x1a4e('0x3b')](function(_0x2327c6){for(var _0x55ff7e=0x0,_0x1adc17=_0x2327c6[_0x1a4e('0x22e5')];_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];if(_0x513d2b(_0xf79407)){var _0x2c9ec9=(_0x56674b=_0xf79407,_0x368e5a['isExpressionStatement'](_0x56674b)?_0x56674b['expression'][_0x1a4e('0x5f')][_0x1a4e('0x2cb')]:_0x368e5a[_0x1a4e('0x172e')](_0x56674b[_0x1a4e('0x2cb')],_0x368e5a[_0x1a4e('0x2370')]));if(_0x2c9ec9){var _0x1b06ad=_0x1c1602(_0xf79407);_0x5403af(_0x1b06ad)&&_0x142711(_0x146f6e,_0x1b06ad,_0x420b32,_0x326eae),_0x368e5a[_0x1a4e('0x24c6')](_0xf79407,0x200)?_0x10e170=_0x2c9ec9:_0x59d90c[_0x1a4e('0x46')](_0x2c9ec9[_0x1a4e('0xe04')]);}}}var _0x56674b;}),_0x368e5a[_0x1a4e('0x252')](_0x1d92b2,_0x2c9ec9(_0x10e170,_0x59d90c,_0x368e5a[_0x1a4e('0x241e')](_0x368e5a[_0x1a4e('0x2338')](_0x146f6e['fileName'])),_0x326eae,_0x56674b)),_0x1d92b2;}(_0x146f6e,_0x2327c6['oldImportsNeededByNewFile'],_0x2327c6[_0x1a4e('0x364e')],_0x420b32,_0x56b687,_0x6c7551,_0xdbba45)[_0x1a4e('0x9a')](function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x368e5a[_0x1a4e('0x104e')](_0x2327c6,function(_0x2327c6){if(_0x2c9ec9=_0x2327c6,_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x368e5a['isSourceFile'](_0x2c9ec9[_0x1a4e('0x11c')])),(_0x4bb606(_0x2c9ec9)||_0x368e5a[_0x1a4e('0x2376')](_0x2c9ec9))&&!_0x316ffb(_0x146f6e,_0x2327c6,_0x1adc17)&&_0x52c047(_0x2327c6,function(_0x146f6e){return _0x55ff7e[_0x1a4e('0x178')](_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x146f6e[_0x1a4e('0xb1b')]));})){var _0xf79407=function(_0x368e5a,_0x146f6e){return _0x146f6e?[_0x1b007b(_0x368e5a)]:function(_0x368e5a){return[_0x368e5a][_0x1a4e('0x9a')](_0x4c600d(_0x368e5a)[_0x1a4e('0x21')](_0x5d6d01));}(_0x368e5a);}(_0x2327c6,_0x1adc17);if(_0xf79407)return _0xf79407;}var _0x2c9ec9;return _0x2327c6;});}(_0x146f6e,_0x56674b['all'],_0x2327c6[_0x1a4e('0x364c')],_0x6c7551));}(_0x420b32,_0x5841ae,_0x45df7e,_0x3e286c,_0x55407d,_0x406b54,_0x5bef62)),void function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e['getCompilerOptions']()[_0x1a4e('0x2fca')];if(_0x2c9ec9){var _0x420b32=_0x368e5a['normalizePath'](_0x368e5a[_0x1a4e('0x1673')](_0x55ff7e,'..',_0x1adc17)),_0x1b06ad=_0x368e5a[_0x1a4e('0x2701')](_0x2c9ec9['fileName'],_0x420b32,_0xf79407),_0x326eae=_0x2c9ec9[_0x1a4e('0x2366')][0x0]&&_0x368e5a[_0x1a4e('0x172e')](_0x2c9ec9[_0x1a4e('0x2366')][0x0][_0x1a4e('0x2302')],_0x368e5a['isObjectLiteralExpression']),_0x56674b=_0x326eae&&_0x368e5a[_0x1a4e('0x1c7')](_0x326eae['properties'],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23b4')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x2374')](_0x146f6e['name'])&&'files'===_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')];});_0x56674b&&_0x368e5a[_0x1a4e('0x2397')](_0x56674b[_0x1a4e('0x236a')])&&_0x2327c6[_0x1a4e('0x34cd')](_0x2c9ec9,_0x368e5a['last'](_0x56674b['initializer'][_0x1a4e('0x2398')]),_0x368e5a[_0x1a4e('0x2896')](_0x1b06ad),_0x56674b['initializer']['elements']);}}(_0x55407d,_0x45df7e,_0x420b32[_0x1a4e('0x1b39')],_0x232f3e,_0x368e5a['hostGetCanonicalFileName'](_0x4f50b1));var _0x420b32,_0x55407d,_0x3e286c,_0x45df7e,_0x4f50b1,_0x5bef62,_0x41363d,_0x5841ae,_0x16ea30,_0x546329,_0x406b54,_0x232f3e;}),'renameFilename':void 0x0,'renameLocation':void 0x0};}});var _0x39ffe8=function(){function _0x146f6e(){this[_0x1a4e('0x21')]=_0x368e5a[_0x1a4e('0x1772')]();}return _0x146f6e['prototype'][_0x1a4e('0x177')]=function(_0x146f6e){this['map']['set'](String(_0x368e5a[_0x1a4e('0x2889')](_0x146f6e)),_0x146f6e);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x178')]=function(_0x146f6e){return this['map'][_0x1a4e('0x178')](String(_0x368e5a[_0x1a4e('0x2889')](_0x146f6e)));},_0x146f6e['prototype'][_0x1a4e('0xf4c')]=function(_0x146f6e){this[_0x1a4e('0x21')][_0x1a4e('0xf4c')](String(_0x368e5a[_0x1a4e('0x2889')](_0x146f6e)));},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3b')]=function(_0x368e5a){this[_0x1a4e('0x21')]['forEach'](_0x368e5a);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x2308')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2308')](this[_0x1a4e('0x21')],_0x146f6e);},_0x146f6e['prototype']['clone']=function(){var _0x2327c6=new _0x146f6e();return _0x368e5a[_0x1a4e('0x230a')](this['map'],_0x2327c6[_0x1a4e('0x21')]),_0x2327c6;},_0x146f6e;}();function _0x513d2b(_0x146f6e){return _0x4bb606(_0x146f6e)&&_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e[_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x238d')](_0x146f6e)&&_0x368e5a[_0x1a4e('0x22f0')](_0x146f6e['parent']['parent']['parent']);}function _0x4bb606(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x146b')]){case 0xef:case 0xf0:case 0xf4:case 0xf3:case 0xf2:case 0xf1:case 0xf8:return!0x0;default:return!0x1;}}function _0x52c047(_0x146f6e,_0x2327c6){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xef:case 0xf0:case 0xf4:case 0xf3:case 0xf2:case 0xf1:case 0xf8:return _0x2327c6(_0x146f6e);case 0xdb:return _0x368e5a[_0x1a4e('0x1703')](_0x146f6e['declarationList'][_0x1a4e('0x22e5')],function(_0x146f6e){return function _0x146f6e(_0x2327c6,_0x55ff7e){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x48:return _0x55ff7e(_0x368e5a[_0x1a4e('0x172f')](_0x2327c6[_0x1a4e('0x11c')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x238d')](_0x146f6e)||_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e);}));case 0xb9:case 0xb8:return _0x368e5a[_0x1a4e('0x1703')](_0x2327c6['elements'],function(_0x2327c6){return _0x368e5a[_0x1a4e('0x2506')](_0x2327c6)?void 0x0:_0x146f6e(_0x2327c6[_0x1a4e('0x2cb')],_0x55ff7e);});default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}}(_0x146f6e[_0x1a4e('0x2cb')],_0x2327c6);});case 0xdd:var _0x55ff7e=_0x146f6e[_0x1a4e('0x2302')];return _0x368e5a[_0x1a4e('0x236e')](_0x55ff7e)&&0x1===_0x368e5a[_0x1a4e('0x23ba')](_0x55ff7e)?_0x2327c6(_0x146f6e):void 0x0;}}function _0x1c1602(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xed:return _0x146f6e['parent'][_0x1a4e('0x11c')];case 0xba:return _0x1c1602(_0x368e5a['cast'](_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')],function(_0x146f6e){return _0x368e5a['isVariableDeclaration'](_0x146f6e)||_0x368e5a[_0x1a4e('0x24a6')](_0x146f6e);}));default:return _0x146f6e;}}function _0x142711(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){if(!_0x316ffb(_0x146f6e,_0x2327c6,_0x1adc17))if(_0x1adc17)_0x368e5a[_0x1a4e('0x2375')](_0x2327c6)||_0x55ff7e['insertExportModifier'](_0x146f6e,_0x2327c6);else{var _0xf79407=_0x4c600d(_0x2327c6);0x0!==_0xf79407[_0x1a4e('0x1e')]&&_0x55ff7e[_0x1a4e('0x34c8')](_0x146f6e,_0x2327c6,_0xf79407[_0x1a4e('0x21')](_0x5d6d01));}}function _0x316ffb(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x55ff7e?!_0x368e5a['isExpressionStatement'](_0x2327c6)&&_0x368e5a[_0x1a4e('0x24c6')](_0x2327c6,0x1):_0x4c600d(_0x2327c6)[_0x1a4e('0x1c2')](function(_0x2327c6){return _0x146f6e[_0x1a4e('0xb1b')][_0x1a4e('0x0')][_0x1a4e('0x178')](_0x368e5a[_0x1a4e('0x22f4')](_0x2327c6));});}function _0x1b007b(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x1717')]([_0x368e5a[_0x1a4e('0x2c2e')](0x55)],_0x146f6e[_0x1a4e('0x242d')]);switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xef:return _0x368e5a['updateFunctionDeclaration'](_0x146f6e,_0x146f6e[_0x1a4e('0x232f')],_0x2327c6,_0x146f6e['asteriskToken'],_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e['typeParameters'],_0x146f6e[_0x1a4e('0x111a')],_0x146f6e['type'],_0x146f6e[_0x1a4e('0x8f2')]);case 0xf0:return _0x368e5a['updateClassDeclaration'](_0x146f6e,_0x146f6e[_0x1a4e('0x232f')],_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x23d7')],_0x146f6e[_0x1a4e('0x237f')],_0x146f6e[_0x1a4e('0x2369')]);case 0xdb:return _0x368e5a[_0x1a4e('0x2c94')](_0x146f6e,_0x2327c6,_0x146f6e[_0x1a4e('0x2377')]);case 0xf4:return _0x368e5a[_0x1a4e('0x2cb8')](_0x146f6e,_0x146f6e[_0x1a4e('0x232f')],_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e['body']);case 0xf3:return _0x368e5a[_0x1a4e('0x2cb6')](_0x146f6e,_0x146f6e[_0x1a4e('0x232f')],_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e['members']);case 0xf2:return _0x368e5a[_0x1a4e('0x2cb4')](_0x146f6e,_0x146f6e[_0x1a4e('0x232f')],_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x23d7')],_0x146f6e['type']);case 0xf1:return _0x368e5a[_0x1a4e('0x2cb3')](_0x146f6e,_0x146f6e[_0x1a4e('0x232f')],_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e['typeParameters'],_0x146f6e[_0x1a4e('0x237f')],_0x146f6e[_0x1a4e('0x2369')]);case 0xf8:return _0x368e5a[_0x1a4e('0x2cbe')](_0x146f6e,_0x146f6e[_0x1a4e('0x232f')],_0x2327c6,_0x146f6e[_0x1a4e('0x2cb')],_0x146f6e[_0x1a4e('0x236d')]);case 0xdd:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x146f6e);}}function _0x4c600d(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x146b')]){case 0xef:case 0xf0:return[_0x146f6e[_0x1a4e('0x2cb')][_0x1a4e('0xe04')]];case 0xdb:return _0x368e5a['mapDefined'](_0x146f6e[_0x1a4e('0x2377')][_0x1a4e('0x22e5')],function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2370')](_0x146f6e[_0x1a4e('0x2cb')])?_0x146f6e[_0x1a4e('0x2cb')]['text']:void 0x0;});case 0xf4:case 0xf3:case 0xf2:case 0xf1:case 0xf8:return _0x368e5a[_0x1a4e('0x1700')];case 0xdd:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();default:return _0x368e5a[_0x1a4e('0x1749')]['assertNever'](_0x146f6e);}}function _0x5d6d01(_0x146f6e){return _0x368e5a[_0x1a4e('0x2d71')](_0x368e5a[_0x1a4e('0x2e63')](_0x368e5a[_0x1a4e('0x2894')](_0x368e5a['createIdentifier'](_0x1a4e('0x0')),_0x368e5a[_0x1a4e('0x2893')](_0x146f6e)),0x3b,_0x368e5a[_0x1a4e('0x2893')](_0x146f6e)));}}(_0x368e5a[_0x1a4e('0x34f0')]||(_0x368e5a['refactor']={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){!function(_0x2327c6){var _0x55ff7e=_0x1a4e('0x227e'),_0x1adc17=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x364f')]['message'],_0xf79407=_0x1a4e('0x2280'),_0x2c9ec9='Remove\x20braces\x20from\x20arrow\x20function',_0x420b32=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3650')][_0x1a4e('0x133')],_0x1b06ad=_0x368e5a[_0x1a4e('0x167d')][_0x1a4e('0x3651')][_0x1a4e('0x133')];function _0x326eae(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6),_0x1adc17=_0x368e5a[_0x1a4e('0x2a5b')](_0x55ff7e);if(_0x1adc17&&_0x368e5a[_0x1a4e('0x23e0')](_0x1adc17)&&_0x368e5a[_0x1a4e('0x339b')](_0x1adc17,_0x55ff7e)&&!_0x368e5a[_0x1a4e('0x339b')](_0x1adc17[_0x1a4e('0x8f2')],_0x55ff7e)){if(_0x368e5a['isExpression'](_0x1adc17[_0x1a4e('0x8f2')]))return{'func':_0x1adc17,'addBraces':!0x0,'expression':_0x1adc17[_0x1a4e('0x8f2')]};if(0x1===_0x1adc17[_0x1a4e('0x8f2')][_0x1a4e('0x2366')][_0x1a4e('0x1e')]){var _0xf79407=_0x368e5a['first'](_0x1adc17['body'][_0x1a4e('0x2366')]);if(_0x368e5a[_0x1a4e('0x2516')](_0xf79407))return{'func':_0x1adc17,'addBraces':!0x1,'expression':_0xf79407[_0x1a4e('0x2302')],'returnStatement':_0xf79407};}}}_0x146f6e[_0x1a4e('0x34f1')](_0x55ff7e,{'getEditsForAction':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x146f6e[_0x1a4e('0x15c9')],_0x1adc17=_0x146f6e[_0x1a4e('0x34f7')],_0x420b32=_0x326eae(_0x55ff7e,_0x1adc17);if(!_0x420b32)return;var _0x1b06ad,_0x56674b=_0x420b32[_0x1a4e('0x2302')],_0x4a922b=_0x420b32['returnStatement'],_0x4212e8=_0x420b32[_0x1a4e('0x102d')];if(_0x2327c6===_0xf79407){var _0x112eb7=_0x368e5a['createReturn'](_0x56674b);_0x1b06ad=_0x368e5a[_0x1a4e('0x2c91')]([_0x112eb7],!0x0),_0x368e5a[_0x1a4e('0x3236')](_0x1b06ad),_0x368e5a[_0x1a4e('0x323c')](_0x56674b,_0x112eb7,_0x55ff7e,0x3,!0x0);}else if(_0x2327c6===_0x2c9ec9&&_0x4a922b){var _0x46274d=_0x56674b||_0x368e5a[_0x1a4e('0x2d0f')]();_0x1b06ad=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x236e')](_0x146f6e)&&0x1b===_0x146f6e['operatorToken'][_0x1a4e('0x146b')]||_0x368e5a[_0x1a4e('0x236f')](_0x146f6e);}(_0x46274d)?_0x368e5a[_0x1a4e('0x2c6d')](_0x46274d):_0x46274d,_0x368e5a[_0x1a4e('0x3236')](_0x1b06ad),_0x368e5a[_0x1a4e('0x323c')](_0x4a922b,_0x1b06ad,_0x55ff7e,0x3,!0x1);}else _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x3652'));var _0x4e6610=_0x368e5a[_0x1a4e('0x323a')]['ChangeTracker'][_0x1a4e('0x3324')](_0x146f6e,function(_0x368e5a){return _0x368e5a[_0x1a4e('0x34be')](_0x55ff7e,_0x4212e8[_0x1a4e('0x8f2')],_0x1b06ad);});return{'renameFilename':void 0x0,'renameLocation':void 0x0,'edits':_0x4e6610};},'getAvailableActions':function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x15c9')],_0x56674b=_0x146f6e['startPosition'],_0x5240aa=_0x326eae(_0x2327c6,_0x56674b);return _0x5240aa?[{'name':_0x55ff7e,'description':_0x1adc17,'actions':[_0x5240aa[_0x1a4e('0x3653')]?{'name':_0xf79407,'description':_0x420b32}:{'name':_0x2c9ec9,'description':_0x1b06ad}]}]:_0x368e5a[_0x1a4e('0x1700')];}});}(_0x146f6e['addOrRemoveBracesToArrowFunction']||(_0x146f6e['addOrRemoveBracesToArrowFunction']={}));}(_0x368e5a['refactor']||(_0x368e5a[_0x1a4e('0x34f0')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){function _0x146f6e(_0x146f6e,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x2628')](_0x146f6e)?new _0x2327c6(_0x146f6e,_0x55ff7e,_0x1adc17):0x48===_0x146f6e?new _0x326eae(0x48,_0x55ff7e,_0x1adc17):new _0x1b06ad(_0x146f6e,_0x55ff7e,_0x1adc17);return _0x2c9ec9['parent']=_0xf79407,_0x2c9ec9[_0x1a4e('0x7b2')]=0xc17800&_0xf79407[_0x1a4e('0x7b2')],_0x2c9ec9;}_0x368e5a[_0x1a4e('0x3654')]=_0x1a4e('0x3655');var _0x2327c6=function(){function _0x2327c6(_0x368e5a,_0x146f6e,_0x2327c6){this[_0x1a4e('0xa4')]=_0x146f6e,this[_0x1a4e('0xca')]=_0x2327c6,this['flags']=0x0,this[_0x1a4e('0x257c')]=void 0x0,this[_0x1a4e('0x11c')]=void 0x0,this[_0x1a4e('0x146b')]=_0x368e5a;}return _0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3656')]=function(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')]['assert'](!_0x368e5a[_0x1a4e('0x2383')](this[_0x1a4e('0xa4')])&&!_0x368e5a[_0x1a4e('0x2383')](this[_0x1a4e('0xca')]),_0x146f6e||_0x1a4e('0x3657'));},_0x2327c6['prototype'][_0x1a4e('0x288f')]=function(){return _0x368e5a[_0x1a4e('0x1674')](this);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x31d6')]=function(_0x146f6e,_0x2327c6){return this['assertHasRealPosition'](),_0x368e5a[_0x1a4e('0x232d')](this,_0x146f6e,_0x2327c6);},_0x2327c6[_0x1a4e('0xa')]['getFullStart']=function(){return this[_0x1a4e('0x3656')](),this[_0x1a4e('0xa4')];},_0x2327c6['prototype'][_0x1a4e('0x31d7')]=function(){return this[_0x1a4e('0x3656')](),this[_0x1a4e('0xca')];},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x29b')]=function(_0x368e5a){return this['assertHasRealPosition'](),this[_0x1a4e('0x31d7')]()-this[_0x1a4e('0x31d6')](_0x368e5a);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x2310')]=function(){return this[_0x1a4e('0x3656')](),this['end']-this[_0x1a4e('0xa4')];},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3658')]=function(_0x368e5a){return this[_0x1a4e('0x3656')](),this[_0x1a4e('0x31d6')](_0x368e5a)-this[_0x1a4e('0xa4')];},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3280')]=function(_0x368e5a){return this[_0x1a4e('0x3656')](),(_0x368e5a||this[_0x1a4e('0x288f')]())['text']['substring'](this['pos'],this[_0x1a4e('0xca')]);},_0x2327c6[_0x1a4e('0xa')]['getText']=function(_0x368e5a){return this[_0x1a4e('0x3656')](),_0x368e5a||(_0x368e5a=this[_0x1a4e('0x288f')]()),_0x368e5a[_0x1a4e('0xe04')][_0x1a4e('0x281')](this[_0x1a4e('0x31d6')](_0x368e5a),this[_0x1a4e('0x31d7')]());},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3659')]=function(_0x368e5a){return this[_0x1a4e('0x31d4')](_0x368e5a)['length'];},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x365a')]=function(_0x368e5a,_0x146f6e){return this['getChildren'](_0x146f6e)[_0x368e5a];},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x31d4')]=function(_0x2327c6){return this[_0x1a4e('0x3656')]('Node\x20without\x20a\x20real\x20position\x20cannot\x20be\x20scanned\x20and\x20thus\x20has\x20no\x20token\x20nodes\x20-\x20use\x20forEachChild\x20and\x20collect\x20the\x20result\x20if\x20that\x27s\x20fine'),this[_0x1a4e('0x22ed')]||(this['_children']=function(_0x2327c6,_0x1adc17){if(!_0x368e5a[_0x1a4e('0x2628')](_0x2327c6[_0x1a4e('0x146b')]))return _0x368e5a['emptyArray'];var _0xf79407=[];if(_0x368e5a['isJSDocCommentContainingNode'](_0x2327c6))return _0x2327c6['forEachChild'](function(_0x368e5a){_0xf79407[_0x1a4e('0x46')](_0x368e5a);}),_0xf79407;_0x368e5a[_0x1a4e('0x338e')]['setText']((_0x1adc17||_0x2327c6[_0x1a4e('0x288f')]())[_0x1a4e('0xe04')]);var _0x2c9ec9=_0x2327c6[_0x1a4e('0xa4')],_0x420b32=function(_0x368e5a){_0x55ff7e(_0xf79407,_0x2c9ec9,_0x368e5a['pos'],_0x2327c6),_0xf79407[_0x1a4e('0x46')](_0x368e5a),_0x2c9ec9=_0x368e5a['end'];};return _0x368e5a[_0x1a4e('0x3b')](_0x2327c6[_0x1a4e('0x22ec')],_0x420b32),_0x2c9ec9=_0x2327c6[_0x1a4e('0xa4')],_0x2327c6[_0x1a4e('0x22eb')](_0x420b32,function(_0x368e5a){_0x55ff7e(_0xf79407,_0x2c9ec9,_0x368e5a['pos'],_0x2327c6),_0xf79407[_0x1a4e('0x46')](function(_0x368e5a,_0x2327c6){var _0x1adc17=_0x146f6e(0x132,_0x368e5a[_0x1a4e('0xa4')],_0x368e5a[_0x1a4e('0xca')],_0x2327c6);_0x1adc17[_0x1a4e('0x22ed')]=[];for(var _0xf79407=_0x368e5a[_0x1a4e('0xa4')],_0x2c9ec9=0x0,_0x420b32=_0x368e5a;_0x2c9ec9<_0x420b32[_0x1a4e('0x1e')];_0x2c9ec9++){var _0x1b06ad=_0x420b32[_0x2c9ec9];_0x55ff7e(_0x1adc17['_children'],_0xf79407,_0x1b06ad[_0x1a4e('0xa4')],_0x2327c6),_0x1adc17[_0x1a4e('0x22ed')][_0x1a4e('0x46')](_0x1b06ad),_0xf79407=_0x1b06ad['end'];}return _0x55ff7e(_0x1adc17[_0x1a4e('0x22ed')],_0xf79407,_0x368e5a['end'],_0x2327c6),_0x1adc17;}(_0x368e5a,_0x2327c6)),_0x2c9ec9=_0x368e5a['end'];}),_0x55ff7e(_0xf79407,_0x2c9ec9,_0x2327c6['end'],_0x2327c6),_0x368e5a[_0x1a4e('0x338e')][_0x1a4e('0x2637')](void 0x0),_0xf79407;}(this,_0x2327c6));},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x32c7')]=function(_0x146f6e){this[_0x1a4e('0x3656')]();var _0x2327c6=this[_0x1a4e('0x31d4')](_0x146f6e);if(_0x2327c6['length']){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1c7')](_0x2327c6,function(_0x368e5a){return _0x368e5a['kind']<0x11b||_0x368e5a[_0x1a4e('0x146b')]>0x131;});return _0x55ff7e[_0x1a4e('0x146b')]<0x94?_0x55ff7e:_0x55ff7e[_0x1a4e('0x32c7')](_0x146f6e);}},_0x2327c6[_0x1a4e('0xa')]['getLastToken']=function(_0x146f6e){this['assertHasRealPosition']();var _0x2327c6=this[_0x1a4e('0x31d4')](_0x146f6e),_0x55ff7e=_0x368e5a[_0x1a4e('0x1722')](_0x2327c6);if(_0x55ff7e)return _0x55ff7e[_0x1a4e('0x146b')]<0x94?_0x55ff7e:_0x55ff7e[_0x1a4e('0x365b')](_0x146f6e);},_0x2327c6[_0x1a4e('0xa')]['forEachChild']=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x22eb')](this,_0x146f6e,_0x2327c6);},_0x2327c6;}();function _0x55ff7e(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){for(_0x368e5a['scanner']['setTextPos'](_0x55ff7e);_0x55ff7e<_0x1adc17;){var _0x2c9ec9=_0x368e5a[_0x1a4e('0x338e')][_0x1a4e('0x22f8')](),_0x420b32=_0x368e5a['scanner'][_0x1a4e('0x2615')]();if(_0x420b32<=_0x1adc17&&(0x48===_0x2c9ec9&&_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')](_0x1a4e('0x365c')+_0x368e5a['Debug'][_0x1a4e('0x23c2')](_0xf79407)+_0x1a4e('0x365d')),_0x2327c6[_0x1a4e('0x46')](_0x146f6e(_0x2c9ec9,_0x55ff7e,_0x420b32,_0xf79407))),_0x55ff7e=_0x420b32,0x1===_0x2c9ec9)break;}}var _0x1adc17=function(){function _0x146f6e(_0x368e5a,_0x146f6e){this['pos']=_0x368e5a,this[_0x1a4e('0xca')]=_0x146f6e,this['flags']=0x0,this['parent']=void 0x0;}return _0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x288f')]=function(){return _0x368e5a[_0x1a4e('0x1674')](this);},_0x146f6e['prototype'][_0x1a4e('0x31d6')]=function(_0x146f6e,_0x2327c6){return _0x368e5a['getTokenPosOfNode'](this,_0x146f6e,_0x2327c6);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x31d5')]=function(){return this[_0x1a4e('0xa4')];},_0x146f6e[_0x1a4e('0xa')]['getEnd']=function(){return this['end'];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x29b')]=function(_0x368e5a){return this['getEnd']()-this[_0x1a4e('0x31d6')](_0x368e5a);},_0x146f6e['prototype'][_0x1a4e('0x2310')]=function(){return this[_0x1a4e('0xca')]-this[_0x1a4e('0xa4')];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3658')]=function(_0x368e5a){return this[_0x1a4e('0x31d6')](_0x368e5a)-this['pos'];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3280')]=function(_0x368e5a){return(_0x368e5a||this[_0x1a4e('0x288f')]())[_0x1a4e('0xe04')][_0x1a4e('0x281')](this[_0x1a4e('0xa4')],this[_0x1a4e('0xca')]);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x230e')]=function(_0x368e5a){return _0x368e5a||(_0x368e5a=this['getSourceFile']()),_0x368e5a['text'][_0x1a4e('0x281')](this[_0x1a4e('0x31d6')](_0x368e5a),this[_0x1a4e('0x31d7')]());},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3659')]=function(){return 0x0;},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x365a')]=function(){},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x31d4')]=function(){return 0x1===this[_0x1a4e('0x146b')]&&this[_0x1a4e('0x22ec')]||_0x368e5a['emptyArray'];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x32c7')]=function(){},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x365b')]=function(){},_0x146f6e[_0x1a4e('0xa')]['forEachChild']=function(){},_0x146f6e;}(),_0x2c9ec9=function(){function _0x146f6e(_0x368e5a,_0x146f6e){this['flags']=_0x368e5a,this[_0x1a4e('0x22e8')]=_0x146f6e;}return _0x146f6e['prototype']['getFlags']=function(){return this[_0x1a4e('0x7b2')];},Object['defineProperty'](_0x146f6e[_0x1a4e('0xa')],_0x1a4e('0x2cb'),{'get':function(){return _0x368e5a[_0x1a4e('0x24d2')](this);},'enumerable':!0x0,'configurable':!0x0}),_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x365e')]=function(){return this[_0x1a4e('0x22e8')];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3b6')]=function(){return this[_0x1a4e('0x2cb')];},_0x146f6e[_0x1a4e('0xa')]['getDeclarations']=function(){return this['declarations'];},_0x146f6e['prototype'][_0x1a4e('0x33a6')]=function(_0x146f6e){return this[_0x1a4e('0x365f')]||(this[_0x1a4e('0x365f')]=_0x368e5a[_0x1a4e('0x1700')],this[_0x1a4e('0x365f')]=_0x3a0252(this[_0x1a4e('0x22e5')],_0x146f6e)),this['documentationComment'];},_0x146f6e[_0x1a4e('0xa')]['getJsDocTags']=function(){return void 0x0===this[_0x1a4e('0x2455')]&&(this[_0x1a4e('0x2455')]=_0x368e5a[_0x1a4e('0x3283')]['getJsDocTagsFromDeclarations'](this['declarations'])),this[_0x1a4e('0x2455')];},_0x146f6e;}(),_0x1b06ad=function(_0x368e5a){function _0x146f6e(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['call'](this,_0x2327c6,_0x55ff7e)||this;return _0x1adc17['kind']=_0x146f6e,_0x1adc17;}return _0x56674b(_0x146f6e,_0x368e5a),_0x146f6e;}(_0x1adc17),_0x326eae=function(_0x146f6e){function _0x2327c6(_0x368e5a,_0x2327c6,_0x55ff7e){return _0x146f6e[_0x1a4e('0x1')](this,_0x2327c6,_0x55ff7e)||this;}return _0x56674b(_0x2327c6,_0x146f6e),Object[_0x1a4e('0x2')](_0x2327c6[_0x1a4e('0xa')],'text',{'get':function(){return _0x368e5a[_0x1a4e('0x2353')](this);},'enumerable':!0x0,'configurable':!0x0}),_0x2327c6;}(_0x1adc17);_0x326eae[_0x1a4e('0xa')][_0x1a4e('0x146b')]=0x48;var _0x54d949=function(){function _0x146f6e(_0x368e5a,_0x146f6e){this[_0x1a4e('0x257b')]=_0x368e5a,this[_0x1a4e('0x7b2')]=_0x146f6e;}return _0x146f6e[_0x1a4e('0xa')]['getFlags']=function(){return this['flags'];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3660')]=function(){return this['symbol'];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3661')]=function(){return this[_0x1a4e('0x257b')][_0x1a4e('0x32ad')](this);},_0x146f6e[_0x1a4e('0xa')]['getProperty']=function(_0x368e5a){return this[_0x1a4e('0x257b')][_0x1a4e('0x31df')](this,_0x368e5a);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3259')]=function(){return this[_0x1a4e('0x257b')][_0x1a4e('0x3662')](this);},_0x146f6e[_0x1a4e('0xa')]['getCallSignatures']=function(){return this[_0x1a4e('0x257b')][_0x1a4e('0x249c')](this,0x0);},_0x146f6e['prototype'][_0x1a4e('0x31da')]=function(){return this['checker'][_0x1a4e('0x249c')](this,0x1);},_0x146f6e['prototype']['getStringIndexType']=function(){return this[_0x1a4e('0x257b')][_0x1a4e('0x3663')](this,0x0);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3240')]=function(){return this['checker'][_0x1a4e('0x3663')](this,0x1);},_0x146f6e[_0x1a4e('0xa')]['getBaseTypes']=function(){return this[_0x1a4e('0x3664')]()?this[_0x1a4e('0x257b')][_0x1a4e('0x3665')](this):void 0x0;},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x33b6')]=function(){return this['checker'][_0x1a4e('0x33b6')](this);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3208')]=function(){return this[_0x1a4e('0x257b')][_0x1a4e('0x3666')](this);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3667')]=function(){return this[_0x1a4e('0x257b')][_0x1a4e('0x3668')](this);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x325b')]=function(){return!!(0x100000&this['flags']);},_0x146f6e[_0x1a4e('0xa')]['isIntersection']=function(){return!!(0x200000&this[_0x1a4e('0x7b2')]);},_0x146f6e['prototype'][_0x1a4e('0x330a')]=function(){return!!(0x300000&this[_0x1a4e('0x7b2')]);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x32aa')]=function(){return!!(0x180&this[_0x1a4e('0x7b2')]);},_0x146f6e[_0x1a4e('0xa')]['isStringLiteral']=function(){return!!(0x80&this[_0x1a4e('0x7b2')]);},_0x146f6e[_0x1a4e('0xa')]['isNumberLiteral']=function(){return!!(0x100&this['flags']);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3207')]=function(){return!!(0x40000&this[_0x1a4e('0x7b2')]);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3664')]=function(){return!!(0x3&_0x368e5a[_0x1a4e('0x249a')](this));},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x35b7')]=function(){return!!(0x1&_0x368e5a[_0x1a4e('0x249a')](this));},_0x146f6e;}(),_0xdffbb=function(){function _0x146f6e(_0x368e5a){this[_0x1a4e('0x257b')]=_0x368e5a;}return _0x146f6e['prototype']['getDeclaration']=function(){return this[_0x1a4e('0x2350')];},_0x146f6e[_0x1a4e('0xa')]['getTypeParameters']=function(){return this[_0x1a4e('0x23d7')];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3669')]=function(){return this[_0x1a4e('0x111a')];},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3524')]=function(){return this[_0x1a4e('0x257b')][_0x1a4e('0x3332')](this);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x33a6')]=function(){return this[_0x1a4e('0x365f')]||(this[_0x1a4e('0x365f')]=_0x3a0252(_0x368e5a[_0x1a4e('0x1767')](this[_0x1a4e('0x2350')]),this['checker']));},_0x146f6e['prototype'][_0x1a4e('0x33a9')]=function(){return void 0x0===this[_0x1a4e('0x366a')]&&(this['jsDocTags']=this[_0x1a4e('0x2350')]?_0x368e5a['JsDoc'][_0x1a4e('0x3352')]([this[_0x1a4e('0x2350')]]):[]),this[_0x1a4e('0x366a')];},_0x146f6e;}();function _0x5dfb26(_0x146f6e){return _0x368e5a[_0x1a4e('0x24df')](_0x146f6e)[_0x1a4e('0x1c2')](function(_0x368e5a){return _0x1a4e('0x366b')===_0x368e5a[_0x1a4e('0x132b')][_0x1a4e('0xe04')];});}function _0x3a0252(_0x146f6e,_0x2327c6){if(!_0x146f6e)return _0x368e5a['emptyArray'];var _0x55ff7e=_0x368e5a['JsDoc'][_0x1a4e('0x3351')](_0x146f6e);if(0x0===_0x55ff7e[_0x1a4e('0x1e')]||_0x146f6e[_0x1a4e('0x1c2')](_0x5dfb26))for(var _0x1adc17=0x0,_0xf79407=_0x146f6e;_0x1adc17<_0xf79407[_0x1a4e('0x1e')];_0x1adc17++){var _0x2c9ec9=_0xf79407[_0x1adc17],_0x420b32=_0x55ad41(_0x2c9ec9,_0x2c9ec9[_0x1a4e('0xb1b')][_0x1a4e('0x2cb')],_0x2327c6);_0x420b32&&(_0x55ff7e=0x0===_0x55ff7e[_0x1a4e('0x1e')]?_0x420b32[_0x1a4e('0x78')]():_0x420b32[_0x1a4e('0x9a')](_0x368e5a[_0x1a4e('0x322b')](),_0x55ff7e));}return _0x55ff7e;}function _0x55ad41(_0x146f6e,_0x2327c6,_0x55ff7e){return _0x368e5a['firstDefined'](_0x146f6e['parent']?_0x368e5a[_0x1a4e('0x31de')](_0x146f6e[_0x1a4e('0x11c')]):_0x368e5a['emptyArray'],function(_0x368e5a){var _0x146f6e=_0x55ff7e[_0x1a4e('0x31d9')](_0x368e5a),_0x1adc17=_0x146f6e&&_0x55ff7e['getPropertyOfType'](_0x146f6e,_0x2327c6),_0xf79407=_0x1adc17&&_0x1adc17[_0x1a4e('0x33a6')](_0x55ff7e);return _0xf79407&&_0xf79407[_0x1a4e('0x1e')]?_0xf79407:void 0x0;});}var _0x3f0748=function(_0x146f6e){function _0x2327c6(_0x368e5a,_0x2327c6,_0x55ff7e){return _0x146f6e['call'](this,_0x368e5a,_0x2327c6,_0x55ff7e)||this;}return _0x56674b(_0x2327c6,_0x146f6e),_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x2632')](this,_0x146f6e,_0x2327c6);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x22c1')]=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22c1')](this,_0x146f6e);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x22bf')]=function(){return _0x368e5a['getLineStarts'](this);},_0x2327c6[_0x1a4e('0xa')]['getPositionOfLineAndCharacter']=function(_0x146f6e,_0x2327c6){return _0x368e5a['getPositionOfLineAndCharacter'](this,_0x146f6e,_0x2327c6);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x366c')]=function(_0x368e5a){var _0x146f6e,_0x2327c6=this[_0x1a4e('0x22c1')](_0x368e5a)['line'],_0x55ff7e=this[_0x1a4e('0x22bf')]();_0x2327c6+0x1>=_0x55ff7e[_0x1a4e('0x1e')]&&(_0x146f6e=this['getEnd']()),_0x146f6e||(_0x146f6e=_0x55ff7e[_0x2327c6+0x1]-0x1);var _0x1adc17=this['getFullText']();return'\x0a'===_0x1adc17[_0x146f6e]&&'\x0d'===_0x1adc17[_0x146f6e-0x1]?_0x146f6e-0x1:_0x146f6e;},_0x2327c6['prototype'][_0x1a4e('0x33a1')]=function(){return this[_0x1a4e('0x366d')]||(this['namedDeclarations']=this['computeNamedDeclarations']()),this[_0x1a4e('0x366d')];},_0x2327c6[_0x1a4e('0xa')]['computeNamedDeclarations']=function(){var _0x146f6e=_0x368e5a[_0x1a4e('0x1b3e')]();return this['forEachChild'](function _0x1adc17(_0xf79407){switch(_0xf79407[_0x1a4e('0x146b')]){case 0xef:case 0xc4:case 0x9c:case 0x9b:var _0x2c9ec9=_0xf79407,_0x420b32=_0x55ff7e(_0x2c9ec9);if(_0x420b32){var _0x1b06ad=function(_0x368e5a){var _0x2327c6=_0x146f6e[_0x1a4e('0x179')](_0x368e5a);_0x2327c6||_0x146f6e[_0x1a4e('0x17a')](_0x368e5a,_0x2327c6=[]);return _0x2327c6;}(_0x420b32),_0x326eae=_0x368e5a[_0x1a4e('0x1722')](_0x1b06ad);_0x326eae&&_0x2c9ec9[_0x1a4e('0x11c')]===_0x326eae[_0x1a4e('0x11c')]&&_0x2c9ec9['symbol']===_0x326eae['symbol']?_0x2c9ec9[_0x1a4e('0x8f2')]&&!_0x326eae[_0x1a4e('0x8f2')]&&(_0x1b06ad[_0x1b06ad[_0x1a4e('0x1e')]-0x1]=_0x2c9ec9):_0x1b06ad['push'](_0x2c9ec9);}_0x368e5a[_0x1a4e('0x22eb')](_0xf79407,_0x1adc17);break;case 0xf0:case 0xd1:case 0xf1:case 0xf2:case 0xf3:case 0xf4:case 0xf8:case 0x101:case 0xfd:case 0xfa:case 0xfb:case 0x9e:case 0x9f:case 0xa8:_0x2327c6(_0xf79407),_0x368e5a[_0x1a4e('0x22eb')](_0xf79407,_0x1adc17);break;case 0x97:if(!_0x368e5a[_0x1a4e('0x24c6')](_0xf79407,0x5c))break;case 0xed:case 0xba:var _0x56674b=_0xf79407;if(_0x368e5a['isBindingPattern'](_0x56674b[_0x1a4e('0x2cb')])){_0x368e5a['forEachChild'](_0x56674b['name'],_0x1adc17);break;}_0x56674b[_0x1a4e('0x236a')]&&_0x1adc17(_0x56674b[_0x1a4e('0x236a')]);case 0x116:case 0x9a:case 0x99:_0x2327c6(_0xf79407);break;case 0xff:_0xf79407[_0x1a4e('0x260d')]&&_0x368e5a['forEach'](_0xf79407[_0x1a4e('0x260d')][_0x1a4e('0x2398')],_0x1adc17);break;case 0xf9:var _0x54d949=_0xf79407[_0x1a4e('0x23c6')];_0x54d949&&(_0x54d949[_0x1a4e('0x2cb')]&&_0x2327c6(_0x54d949[_0x1a4e('0x2cb')]),_0x54d949[_0x1a4e('0x23c7')]&&(0xfb===_0x54d949[_0x1a4e('0x23c7')]['kind']?_0x2327c6(_0x54d949[_0x1a4e('0x23c7')]):_0x368e5a[_0x1a4e('0x3b')](_0x54d949['namedBindings'][_0x1a4e('0x2398')],_0x1adc17)));break;case 0xcc:0x0!==_0x368e5a[_0x1a4e('0x23ba')](_0xf79407)&&_0x2327c6(_0xf79407);default:_0x368e5a[_0x1a4e('0x22eb')](_0xf79407,_0x1adc17);}}),_0x146f6e;function _0x2327c6(_0x368e5a){var _0x2327c6=_0x55ff7e(_0x368e5a);_0x2327c6&&_0x146f6e[_0x1a4e('0x177')](_0x2327c6,_0x368e5a);}function _0x55ff7e(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x24d4')](_0x146f6e);return _0x2327c6&&(_0x368e5a[_0x1a4e('0x23e8')](_0x2327c6)&&_0x368e5a[_0x1a4e('0x2371')](_0x2327c6['expression'])?_0x2327c6[_0x1a4e('0x2302')]['name'][_0x1a4e('0xe04')]:_0x368e5a[_0x1a4e('0x254b')](_0x2327c6)?_0x368e5a[_0x1a4e('0x3209')](_0x2327c6):void 0x0);}},_0x2327c6;}(_0x2327c6),_0x5343f8=function(){function _0x146f6e(_0x368e5a,_0x146f6e,_0x2327c6){this[_0x1a4e('0x1b39')]=_0x368e5a,this[_0x1a4e('0xe04')]=_0x146f6e,this[_0x1a4e('0x22c6')]=_0x2327c6;}return _0x146f6e[_0x1a4e('0xa')]['getLineAndCharacterOfPosition']=function(_0x146f6e){return _0x368e5a[_0x1a4e('0x22c1')](this,_0x146f6e);},_0x146f6e;}();function _0x5a660c(_0x146f6e){var _0x2327c6=!0x0;for(var _0x55ff7e in _0x146f6e)if(_0x368e5a[_0x1a4e('0x26ff')](_0x146f6e,_0x55ff7e)&&!_0x2c0f2c(_0x55ff7e)){_0x2327c6=!0x1;break;}if(_0x2327c6)return _0x146f6e;var _0x1adc17={};for(var _0x55ff7e in _0x146f6e){if(_0x368e5a['hasProperty'](_0x146f6e,_0x55ff7e))_0x1adc17[_0x2c0f2c(_0x55ff7e)?_0x55ff7e:_0x55ff7e[_0x1a4e('0x278')](0x0)[_0x1a4e('0x2b2')]()+_0x55ff7e[_0x1a4e('0x254')](0x1)]=_0x146f6e[_0x55ff7e];}return _0x1adc17;}function _0x2c0f2c(_0x368e5a){return!_0x368e5a['length']||_0x368e5a[_0x1a4e('0x278')](0x0)===_0x368e5a['charAt'](0x0)[_0x1a4e('0x2b2')]();}function _0x45aff7(){return{'target':0x1,'jsx':0x1};}_0x368e5a[_0x1a4e('0x366e')]=_0x5a660c,_0x368e5a[_0x1a4e('0x366f')]=function(_0x146f6e){return _0x146f6e?_0x368e5a['map'](_0x146f6e,function(_0x368e5a){return _0x368e5a[_0x1a4e('0xe04')];})[_0x1a4e('0x9e')](''):'';},_0x368e5a[_0x1a4e('0x33bb')]=_0x45aff7,_0x368e5a[_0x1a4e('0x3670')]=function(){return _0x368e5a[_0x1a4e('0x3295')][_0x1a4e('0x3671')]();};var _0x1f0025=function(){function _0x146f6e(_0x146f6e,_0x2327c6){this[_0x1a4e('0x1599')]=_0x146f6e,this['currentDirectory']=_0x146f6e['getCurrentDirectory'](),this['fileNameToEntry']=_0x368e5a[_0x1a4e('0x1772')]();for(var _0x55ff7e=0x0,_0x1adc17=_0x146f6e['getScriptFileNames']();_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];this[_0x1a4e('0x3672')](_0xf79407,_0x368e5a[_0x1a4e('0x1087')](_0xf79407,this[_0x1a4e('0x1b51')],_0x2327c6));}this[_0x1a4e('0x3673')]=_0x146f6e[_0x1a4e('0x305d')]()||{'target':0x1,'jsx':0x1};}return _0x146f6e['prototype']['compilationSettings']=function(){return this[_0x1a4e('0x3673')];},_0x146f6e['prototype'][_0x1a4e('0x2fc7')]=function(){return this[_0x1a4e('0x1599')][_0x1a4e('0x2fc7')]&&this[_0x1a4e('0x1599')]['getProjectReferences']();},_0x146f6e[_0x1a4e('0xa')]['createEntry']=function(_0x146f6e,_0x2327c6){var _0x55ff7e,_0x1adc17=this['host'][_0x1a4e('0x3674')](_0x146f6e);return _0x55ff7e=_0x1adc17?{'hostFileName':_0x146f6e,'version':this[_0x1a4e('0x1599')][_0x1a4e('0x3675')](_0x146f6e),'scriptSnapshot':_0x1adc17,'scriptKind':_0x368e5a['getScriptKind'](_0x146f6e,this[_0x1a4e('0x1599')])}:_0x146f6e,this[_0x1a4e('0x3676')][_0x1a4e('0x17a')](_0x2327c6,_0x55ff7e),_0x55ff7e;},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3677')]=function(_0x368e5a){return this['fileNameToEntry'][_0x1a4e('0x179')](_0x368e5a);},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3678')]=function(_0x146f6e){var _0x2327c6=this[_0x1a4e('0x3676')][_0x1a4e('0x179')](_0x146f6e);return _0x368e5a['isString'](_0x2327c6)?void 0x0:_0x2327c6;},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x3679')]=function(_0x146f6e,_0x2327c6){var _0x55ff7e=this['getEntryByPath'](_0x2327c6)||this['createEntry'](_0x146f6e,_0x2327c6);return _0x368e5a[_0x1a4e('0xb19')](_0x55ff7e)?void 0x0:_0x55ff7e;},_0x146f6e[_0x1a4e('0xa')]['getRootFileNames']=function(){var _0x146f6e=[];return this[_0x1a4e('0x3676')][_0x1a4e('0x3b')](function(_0x2327c6){_0x368e5a[_0x1a4e('0xb19')](_0x2327c6)?_0x146f6e[_0x1a4e('0x46')](_0x2327c6):0x6!==_0x2327c6['scriptKind']&&_0x146f6e[_0x1a4e('0x46')](_0x2327c6[_0x1a4e('0x367a')]);}),_0x146f6e;},_0x146f6e[_0x1a4e('0xa')]['getVersion']=function(_0x368e5a){var _0x146f6e=this[_0x1a4e('0x3678')](_0x368e5a);return _0x146f6e&&_0x146f6e[_0x1a4e('0xb98')];},_0x146f6e['prototype'][_0x1a4e('0x3674')]=function(_0x368e5a){var _0x146f6e=this[_0x1a4e('0x3678')](_0x368e5a);return _0x146f6e&&_0x146f6e['scriptSnapshot'];},_0x146f6e;}(),_0x13210e=function(){function _0x146f6e(_0x368e5a){this['host']=_0x368e5a;}return _0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x367b')]=function(_0x146f6e){var _0x2327c6=this[_0x1a4e('0x1599')]['getScriptSnapshot'](_0x146f6e);if(!_0x2327c6)throw new Error(_0x1a4e('0x367c')+_0x146f6e+'\x27.');var _0x55ff7e,_0x1adc17=_0x368e5a['getScriptKind'](_0x146f6e,this[_0x1a4e('0x1599')]),_0xf79407=this[_0x1a4e('0x1599')][_0x1a4e('0x3675')](_0x146f6e);if(this['currentFileName']!==_0x146f6e)_0x55ff7e=_0x56dbf7(_0x146f6e,_0x2327c6,0x6,_0xf79407,!0x0,_0x1adc17);else if(this['currentFileVersion']!==_0xf79407){var _0x2c9ec9=_0x2327c6[_0x1a4e('0x314c')](this['currentFileScriptSnapshot']);_0x55ff7e=_0x592e12(this[_0x1a4e('0x367d')],_0x2327c6,_0xf79407,_0x2c9ec9);}return _0x55ff7e&&(this[_0x1a4e('0x367e')]=_0xf79407,this['currentFileName']=_0x146f6e,this[_0x1a4e('0x367f')]=_0x2327c6,this['currentSourceFile']=_0x55ff7e),this['currentSourceFile'];},_0x146f6e;}();function _0x1567b4(_0x368e5a,_0x146f6e,_0x2327c6){_0x368e5a['version']=_0x2327c6,_0x368e5a[_0x1a4e('0x32d1')]=_0x146f6e;}function _0x56dbf7(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){var _0x420b32=_0x368e5a[_0x1a4e('0x262c')](_0x146f6e,_0x368e5a['getSnapshotText'](_0x2327c6),_0x55ff7e,_0xf79407,_0x2c9ec9);return _0x1567b4(_0x420b32,_0x2327c6,_0x1adc17),_0x420b32;}function _0x592e12(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){if(_0x1adc17&&_0x55ff7e!==_0x146f6e[_0x1a4e('0xb98')]&&!_0x368e5a['disableIncrementalParsing']){var _0x2c9ec9=void 0x0,_0x420b32=0x0!==_0x1adc17[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]?_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x254')](0x0,_0x1adc17[_0x1a4e('0x24c0')]['start']):'',_0x1b06ad=_0x368e5a[_0x1a4e('0x24b4')](_0x1adc17['span'])!==_0x146f6e[_0x1a4e('0xe04')]['length']?_0x146f6e[_0x1a4e('0xe04')][_0x1a4e('0x254')](_0x368e5a[_0x1a4e('0x24b4')](_0x1adc17[_0x1a4e('0x24c0')])):'';if(0x0===_0x1adc17[_0x1a4e('0x24c1')])_0x2c9ec9=_0x420b32&&_0x1b06ad?_0x420b32+_0x1b06ad:_0x420b32||_0x1b06ad;else{var _0x326eae=_0x2327c6['getText'](_0x1adc17[_0x1a4e('0x24c0')]['start'],_0x1adc17[_0x1a4e('0x24c0')][_0x1a4e('0xc9')]+_0x1adc17[_0x1a4e('0x24c1')]);_0x2c9ec9=_0x420b32&&_0x1b06ad?_0x420b32+_0x326eae+_0x1b06ad:_0x420b32?_0x420b32+_0x326eae:_0x326eae+_0x1b06ad;}var _0x56674b=_0x368e5a[_0x1a4e('0x2632')](_0x146f6e,_0x2c9ec9,_0x1adc17,_0xf79407);return _0x1567b4(_0x56674b,_0x2327c6,_0x55ff7e),_0x56674b[_0x1a4e('0x3680')]=void 0x0,_0x146f6e!==_0x56674b&&_0x146f6e[_0x1a4e('0x32d1')]&&(_0x146f6e[_0x1a4e('0x32d1')][_0x1a4e('0x2f7c')]&&_0x146f6e['scriptSnapshot']['dispose'](),_0x146f6e[_0x1a4e('0x32d1')]=void 0x0),_0x56674b;}return _0x56dbf7(_0x146f6e['fileName'],_0x2327c6,_0x146f6e['languageVersion'],_0x55ff7e,!0x0,_0x146f6e[_0x1a4e('0x235a')]);}_0x368e5a['createLanguageServiceSourceFile']=_0x56dbf7,_0x368e5a[_0x1a4e('0x3681')]=!0x1,_0x368e5a[_0x1a4e('0x32d0')]=_0x592e12;var _0x3e5bb0=function(){function _0x146f6e(_0x368e5a){this[_0x1a4e('0x3300')]=_0x368e5a;}return _0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x34f3')]=function(){return!!this[_0x1a4e('0x3300')]&&this[_0x1a4e('0x3300')]['isCancellationRequested']();},_0x146f6e[_0x1a4e('0xa')][_0x1a4e('0x289b')]=function(){if(this[_0x1a4e('0x34f3')]())throw new _0x368e5a[(_0x1a4e('0x191c'))]();},_0x146f6e;}(),_0x2b0513=function(){function _0x146f6e(_0x368e5a,_0x146f6e){void 0x0===_0x146f6e&&(_0x146f6e=0x14),this[_0x1a4e('0x3682')]=_0x368e5a,this['throttleWaitMilliseconds']=_0x146f6e,this[_0x1a4e('0x3683')]=0x0;}return _0x146f6e['prototype']['isCancellationRequested']=function(){var _0x146f6e=_0x368e5a[_0x1a4e('0x2f8e')]();return Math[_0x1a4e('0x65')](_0x146f6e-this[_0x1a4e('0x3683')])>=this['throttleWaitMilliseconds']&&(this[_0x1a4e('0x3683')]=_0x146f6e,this[_0x1a4e('0x3682')][_0x1a4e('0x34f3')]());},_0x146f6e[_0x1a4e('0xa')]['throwIfCancellationRequested']=function(){if(this['isCancellationRequested']())throw new _0x368e5a[(_0x1a4e('0x191c'))]();},_0x146f6e;}();function _0x100fb1(_0x146f6e){var _0x2327c6=function(_0x146f6e){switch(_0x146f6e['kind']){case 0xa:case 0x8:if(0x95===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x368e5a[_0x1a4e('0x3684')](_0x146f6e['parent'][_0x1a4e('0x11c')])?_0x146f6e[_0x1a4e('0x11c')]['parent']:void 0x0;case 0x48:return!_0x368e5a[_0x1a4e('0x3684')](_0x146f6e[_0x1a4e('0x11c')])||0xbc!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['kind']&&0x10c!==_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')]||_0x146f6e['parent'][_0x1a4e('0x2cb')]!==_0x146f6e?void 0x0:_0x146f6e['parent'];}return;}(_0x146f6e);return _0x2327c6&&(_0x368e5a[_0x1a4e('0x236f')](_0x2327c6['parent'])||_0x368e5a['isJsxAttributes'](_0x2327c6['parent']))?_0x2327c6:void 0x0;}function _0x25262c(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x3209')](_0x146f6e[_0x1a4e('0x2cb')]);if(!_0xf79407)return _0x368e5a[_0x1a4e('0x1700')];if(!_0x55ff7e[_0x1a4e('0x325b')]())return(_0x2c9ec9=_0x55ff7e[_0x1a4e('0x391')](_0xf79407))?[_0x2c9ec9]:_0x368e5a['emptyArray'];var _0x2c9ec9,_0x420b32=_0x368e5a['mapDefined'](_0x55ff7e[_0x1a4e('0x2380')],function(_0x55ff7e){return _0x368e5a[_0x1a4e('0x236f')](_0x146f6e[_0x1a4e('0x11c')])&&_0x2327c6[_0x1a4e('0x32c4')](_0x55ff7e,_0x146f6e[_0x1a4e('0x11c')])?void 0x0:_0x55ff7e[_0x1a4e('0x391')](_0xf79407);});if(_0x1adc17&&(0x0===_0x420b32[_0x1a4e('0x1e')]||_0x420b32[_0x1a4e('0x1e')]===_0x55ff7e[_0x1a4e('0x2380')][_0x1a4e('0x1e')])&&(_0x2c9ec9=_0x55ff7e[_0x1a4e('0x391')](_0xf79407)))return[_0x2c9ec9];return 0x0===_0x420b32[_0x1a4e('0x1e')]?_0x368e5a[_0x1a4e('0x1713')](_0x55ff7e[_0x1a4e('0x2380')],function(_0x368e5a){return _0x368e5a['getProperty'](_0xf79407);}):_0x420b32;}_0x368e5a[_0x1a4e('0x3685')]=_0x2b0513,_0x368e5a[_0x1a4e('0x3686')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17;void 0x0===_0x2327c6&&(_0x2327c6=_0x368e5a['createDocumentRegistry'](_0x146f6e[_0x1a4e('0x1b40')]&&_0x146f6e['useCaseSensitiveFileNames'](),_0x146f6e[_0x1a4e('0x241c')]())),void 0x0===_0x55ff7e&&(_0x55ff7e=!0x1);var _0xf79407,_0x2c9ec9,_0x1b06ad=new _0x13210e(_0x146f6e),_0x326eae=0x0,_0x56674b=new _0x3e5bb0(_0x146f6e['getCancellationToken']&&_0x146f6e[_0x1a4e('0x3687')]()),_0x54d949=_0x146f6e[_0x1a4e('0x241c')]();function _0xdffbb(_0x368e5a){_0x146f6e[_0x1a4e('0x58')]&&_0x146f6e[_0x1a4e('0x58')](_0x368e5a);}!_0x368e5a[_0x1a4e('0x24ce')]&&_0x146f6e[_0x1a4e('0x3688')]&&(_0x368e5a['localizedDiagnosticMessages']=_0x146f6e[_0x1a4e('0x3688')]());var _0x5dfb26=_0x368e5a[_0x1a4e('0x320b')](_0x146f6e),_0x3a0252=_0x368e5a[_0x1a4e('0x1761')](_0x5dfb26),_0x55ad41=_0x368e5a[_0x1a4e('0x33aa')](_0x5dfb26,_0x54d949,_0xdffbb,_0x146f6e,function(){return _0xf79407;});function _0x3f0748(_0x368e5a){var _0x146f6e=_0xf79407['getSourceFile'](_0x368e5a);if(!_0x146f6e)throw new Error('Could\x20not\x20find\x20file:\x20\x27'+_0x368e5a+'\x27.');return _0x146f6e;}function _0x5343f8(){if(_0x368e5a[_0x1a4e('0x1749')]['assert'](!_0x55ff7e),_0x146f6e[_0x1a4e('0x3689')]){var _0x1adc17=_0x146f6e['getProjectVersion']();if(_0x1adc17){if(_0x2c9ec9===_0x1adc17&&!_0x146f6e[_0x1a4e('0x2fe1')])return;_0x2c9ec9=_0x1adc17;}}var _0x420b32=_0x146f6e['getTypeRootsVersion']?_0x146f6e[_0x1a4e('0x368a')]():0x0;_0x326eae!==_0x420b32&&(_0xdffbb('TypeRoots\x20version\x20has\x20changed;\x20provide\x20new\x20program'),_0xf79407=void 0x0,_0x326eae=_0x420b32);var _0x1b06ad=new _0x1f0025(_0x146f6e,_0x3a0252),_0x3f0748=_0x1b06ad[_0x1a4e('0x2fc6')](),_0x5343f8=_0x146f6e[_0x1a4e('0x2fd0')]||_0x368e5a[_0x1a4e('0x1731')],_0x5a660c=_0x1b06ad[_0x1a4e('0x2fc7')]();if(!_0x368e5a[_0x1a4e('0x2fc5')](_0xf79407,_0x3f0748,_0x1b06ad[_0x1a4e('0x368b')](),function(_0x368e5a){return _0x1b06ad[_0x1a4e('0x368c')](_0x368e5a);},_0x56dbf7,_0x5343f8,!!_0x146f6e[_0x1a4e('0x2fe1')],_0x5a660c)){var _0x2c0f2c=_0x1b06ad[_0x1a4e('0x368b')](),_0x45aff7={'getSourceFile':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x592e12(_0x146f6e,_0x368e5a[_0x1a4e('0x1087')](_0x146f6e,_0x54d949,_0x3a0252),0x0,0x0,_0x1adc17);},'getSourceFileByPath':_0x592e12,'getCancellationToken':function(){return _0x56674b;},'getCanonicalFileName':_0x3a0252,'useCaseSensitiveFileNames':function(){return _0x5dfb26;},'getNewLine':function(){return _0x368e5a[_0x1a4e('0x2473')](_0x2c0f2c,function(){return _0x368e5a['getNewLineOrDefaultFromHost'](_0x146f6e);});},'getDefaultLibFileName':function(_0x368e5a){return _0x146f6e[_0x1a4e('0x24ae')](_0x368e5a);},'writeFile':_0x368e5a[_0x1a4e('0x10bf')],'getCurrentDirectory':function(){return _0x54d949;},'fileExists':_0x56dbf7,'readFile':function(_0x2327c6){var _0x55ff7e=_0x368e5a['toPath'](_0x2327c6,_0x54d949,_0x3a0252),_0x1adc17=_0x1b06ad&&_0x1b06ad[_0x1a4e('0x3677')](_0x55ff7e);return _0x1adc17?_0x368e5a[_0x1a4e('0xb19')](_0x1adc17)?void 0x0:_0x368e5a[_0x1a4e('0x3204')](_0x1adc17[_0x1a4e('0x32d1')]):_0x146f6e[_0x1a4e('0x16b8')]&&_0x146f6e[_0x1a4e('0x16b8')](_0x2327c6);},'realpath':_0x146f6e[_0x1a4e('0x1b46')]&&function(_0x368e5a){return _0x146f6e['realpath'](_0x368e5a);},'directoryExists':function(_0x2327c6){return _0x368e5a[_0x1a4e('0x27ef')](_0x2327c6,_0x146f6e);},'getDirectories':function(_0x368e5a){return _0x146f6e['getDirectories']?_0x146f6e[_0x1a4e('0x27fc')](_0x368e5a):[];},'readDirectory':function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1744')](_0x146f6e[_0x1a4e('0x1b52')],_0x1a4e('0x368d')),_0x146f6e[_0x1a4e('0x1b52')](_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9);},'onReleaseOldSourceFile':function(_0x368e5a,_0x146f6e){var _0x55ff7e=_0x2327c6[_0x1a4e('0x368e')](_0x146f6e);_0x2327c6[_0x1a4e('0x368f')](_0x368e5a['resolvedPath'],_0x55ff7e);},'hasInvalidatedResolution':_0x5343f8,'hasChangedAutomaticTypeDirectiveNames':_0x146f6e[_0x1a4e('0x2fe1')]};_0x146f6e[_0x1a4e('0x27e0')]&&(_0x45aff7[_0x1a4e('0x27e0')]=function(_0x368e5a){return _0x146f6e[_0x1a4e('0x27e0')](_0x368e5a);}),_0x146f6e['resolveModuleNames']&&(_0x45aff7[_0x1a4e('0x2fd1')]=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x146f6e[_0x1a4e('0x2fd1')](_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17);}),_0x146f6e[_0x1a4e('0x2fd4')]&&(_0x45aff7[_0x1a4e('0x2fd4')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){return _0x146f6e[_0x1a4e('0x2fd4')](_0x368e5a,_0x2327c6,_0x55ff7e);});var _0x13210e=_0x2327c6[_0x1a4e('0x368e')](_0x2c0f2c),_0x1567b4={'rootNames':_0x3f0748,'options':_0x2c0f2c,'host':_0x45aff7,'oldProgram':_0xf79407,'projectReferences':_0x5a660c};return _0xf79407=_0x368e5a[_0x1a4e('0x2fcb')](_0x1567b4),_0x1b06ad=void 0x0,_0x55ad41[_0x1a4e('0x3690')](),void _0xf79407['getTypeChecker']();}function _0x56dbf7(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x1087')](_0x2327c6,_0x54d949,_0x3a0252),_0x1adc17=_0x1b06ad&&_0x1b06ad[_0x1a4e('0x3677')](_0x55ff7e);return _0x1adc17?!_0x368e5a[_0x1a4e('0xb19')](_0x1adc17):!!_0x146f6e[_0x1a4e('0x1b4d')]&&_0x146f6e[_0x1a4e('0x1b4d')](_0x2327c6);}function _0x592e12(_0x146f6e,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](void 0x0!==_0x1b06ad,_0x1a4e('0x3691'));var _0x326eae=_0x1b06ad&&_0x1b06ad['getOrCreateEntryByPath'](_0x146f6e,_0x55ff7e);if(_0x326eae){if(!_0x420b32){var _0x56674b=_0xf79407&&_0xf79407[_0x1a4e('0x2fd9')](_0x55ff7e);if(_0x56674b)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1706')](_0x326eae['scriptKind'],_0x56674b[_0x1a4e('0x235a')],_0x1a4e('0x3692'),_0x55ff7e),_0x2327c6[_0x1a4e('0x3693')](_0x146f6e,_0x55ff7e,_0x2c0f2c,_0x13210e,_0x326eae[_0x1a4e('0x32d1')],_0x326eae[_0x1a4e('0xb98')],_0x326eae[_0x1a4e('0x235a')]);}return _0x2327c6['acquireDocumentWithKey'](_0x146f6e,_0x55ff7e,_0x2c0f2c,_0x13210e,_0x326eae[_0x1a4e('0x32d1')],_0x326eae[_0x1a4e('0xb98')],_0x326eae[_0x1a4e('0x235a')]);}}}function _0x2c0f2c(){if(!_0x55ff7e)return _0x5343f8(),_0xf79407;_0x368e5a['Debug']['assert'](void 0x0===_0xf79407);}function _0x45aff7(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['normalizePath'](_0x146f6e);_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x55ff7e[_0x1a4e('0x1c2')](function(_0x146f6e){return _0x368e5a['normalizePath'](_0x146f6e)===_0x1adc17;})),_0x5343f8();var _0x2c9ec9=_0x55ff7e[_0x1a4e('0x21')](_0x3f0748),_0x420b32=_0x3f0748(_0x146f6e);return _0x368e5a[_0x1a4e('0x32ce')][_0x1a4e('0x32c8')](_0xf79407,_0x56674b,_0x420b32,_0x2327c6,_0x2c9ec9);}function _0x1567b4(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x5343f8();var _0x2c9ec9=_0x55ff7e&&_0x55ff7e[_0x1a4e('0x32fc')]?_0xf79407[_0x1a4e('0x2447')]()['filter'](function(_0x368e5a){return!_0xf79407[_0x1a4e('0x3034')](_0x368e5a);}):_0xf79407['getSourceFiles']();return _0x368e5a['FindAllReferences'][_0x1a4e('0x32f5')](_0xf79407,_0x56674b,_0x2c9ec9,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17);}function _0x56dbf7(_0x2327c6){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3229')](_0x2327c6,_0x146f6e);return 0x3===_0x55ff7e||0x4===_0x55ff7e;}var _0x592e12=_0x368e5a['createMapFromTemplate'](((_0x1adc17={})[0x12]=0x13,_0x1adc17[0x14]=0x15,_0x1adc17[0x16]=0x17,_0x1adc17[0x1e]=0x1c,_0x1adc17));function _0x2b0513(_0x2327c6,_0x55ff7e){var _0x1adc17=function(_0x146f6e){return _0x368e5a['toPath'](_0x146f6e,_0x54d949,_0x3a0252);};switch(_0x2327c6[_0x1a4e('0x40')]){case _0x1a4e('0x3578'):return _0x146f6e[_0x1a4e('0x3694')]?_0x146f6e[_0x1a4e('0x3694')]({'fileName':_0x1adc17(_0x2327c6[_0x1a4e('0x15c9')]),'packageName':_0x2327c6[_0x1a4e('0x281d')]}):Promise[_0x1a4e('0x1077')](_0x1a4e('0x3695'));case _0x1a4e('0x3696'):var _0xf79407=_0x2327c6[_0x1a4e('0x3697')],_0x2c9ec9=_0x2327c6[_0x1a4e('0x3698')];return _0x146f6e[_0x1a4e('0x3105')]?_0x146f6e[_0x1a4e('0x3105')]({'fileNameToRequire':_0xf79407})['then'](function(_0x2327c6){var _0xf79407=_0x1adc17(_0x2c9ec9);return _0x146f6e[_0x1a4e('0x16b7')](_0xf79407,_0x368e5a[_0x1a4e('0x35c4')](_0x2327c6,_0x55ff7e||_0x368e5a[_0x1a4e('0x3156')])),{'successMessage':'Wrote\x20types\x20to\x20\x27'+_0xf79407+'\x27'};}):Promise[_0x1a4e('0x1077')](_0x1a4e('0x3695'));default:return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1746')](_0x2327c6);}}function _0x5f3173(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x1a4e('0x3d')==typeof _0x55ff7e?[_0x55ff7e,void 0x0]:[_0x55ff7e[_0x1a4e('0xa4')],_0x55ff7e[_0x1a4e('0xca')]];return{'file':_0x2327c6,'startPosition':_0x2c9ec9[0x0],'endPosition':_0x2c9ec9[0x1],'program':_0x2c0f2c(),'host':_0x146f6e,'formatContext':_0x368e5a[_0x1a4e('0x31dc')]['getFormatContext'](_0xf79407),'cancellationToken':_0x56674b,'preferences':_0x1adc17};}return _0x592e12[_0x1a4e('0x3b')](function(_0x368e5a,_0x146f6e){return _0x592e12['set'](_0x368e5a['toString'](),Number(_0x146f6e));}),{'dispose':function(){_0xf79407&&(_0x368e5a[_0x1a4e('0x3b')](_0xf79407['getSourceFiles'](),function(_0x368e5a){return _0x2327c6[_0x1a4e('0x3699')](_0x368e5a[_0x1a4e('0x1b39')],_0xf79407[_0x1a4e('0x23f1')]());}),_0xf79407=void 0x0),_0x146f6e=void 0x0;},'cleanupSemanticCache':function(){_0xf79407=void 0x0;},'getSyntacticDiagnostics':function(_0x368e5a){return _0x5343f8(),_0xf79407[_0x1a4e('0x2fb0')](_0x3f0748(_0x368e5a),_0x56674b)[_0x1a4e('0x78')]();},'getSemanticDiagnostics':function(_0x146f6e){_0x5343f8();var _0x2327c6=_0x3f0748(_0x146f6e),_0x55ff7e=_0xf79407[_0x1a4e('0x2fb2')](_0x2327c6,_0x56674b);if(!_0x368e5a['getEmitDeclarations'](_0xf79407['getCompilerOptions']()))return _0x55ff7e['slice']();var _0x1adc17=_0xf79407[_0x1a4e('0x2f08')](_0x2327c6,_0x56674b);return _0x55ff7e[_0x1a4e('0x9a')](_0x1adc17);},'getSuggestionDiagnostics':function(_0x146f6e){return _0x5343f8(),_0x368e5a[_0x1a4e('0x33ad')](_0x3f0748(_0x146f6e),_0xf79407,_0x56674b);},'getCompilerOptionsDiagnostics':function(){return _0x5343f8(),_0xf79407[_0x1a4e('0x2faf')](_0x56674b)[_0x1a4e('0x9a')](_0xf79407['getGlobalDiagnostics'](_0x56674b));},'getSyntacticClassifications':function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x3250')](_0x56674b,_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e),_0x2327c6);},'getSemanticClassifications':function(_0x146f6e,_0x2327c6){return _0x56dbf7(_0x146f6e)?(_0x5343f8(),_0x368e5a['getSemanticClassifications'](_0xf79407[_0x1a4e('0x302b')](),_0x56674b,_0x3f0748(_0x146f6e),_0xf79407[_0x1a4e('0x369a')](),_0x2327c6)):[];},'getEncodedSyntacticClassifications':function(_0x146f6e,_0x2327c6){return _0x368e5a['getEncodedSyntacticClassifications'](_0x56674b,_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e),_0x2327c6);},'getEncodedSemanticClassifications':function(_0x146f6e,_0x2327c6){return _0x56dbf7(_0x146f6e)?(_0x5343f8(),_0x368e5a['getEncodedSemanticClassifications'](_0xf79407[_0x1a4e('0x302b')](),_0x56674b,_0x3f0748(_0x146f6e),_0xf79407['getClassifiableNames'](),_0x2327c6)):{'spans':[],'endOfLineState':0x0};},'getCompletionsAtPosition':function(_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=_0x368e5a[_0x1a4e('0x314e')]);var _0x2c9ec9=_0x420b32({},_0x368e5a[_0x1a4e('0x10a5')](_0x1adc17),{'includeCompletionsForModuleExports':_0x1adc17[_0x1a4e('0x32b1')]||_0x1adc17[_0x1a4e('0x369b')],'includeCompletionsWithInsertText':_0x1adc17[_0x1a4e('0x328a')]||_0x1adc17[_0x1a4e('0x369c')]});return _0x5343f8(),_0x368e5a[_0x1a4e('0x3271')][_0x1a4e('0x3278')](_0x146f6e,_0xf79407,_0xdffbb,_0x3f0748(_0x2327c6),_0x55ff7e,_0x2c9ec9,_0x1adc17[_0x1a4e('0x369d')]);},'getCompletionEntryDetails':function(_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad){return void 0x0===_0x1b06ad&&(_0x1b06ad=_0x368e5a[_0x1a4e('0x314e')]),_0x5343f8(),_0x368e5a[_0x1a4e('0x3271')][_0x1a4e('0x32b6')](_0xf79407,_0xdffbb,_0x3f0748(_0x2327c6),_0x55ff7e,{'name':_0x1adc17,'source':_0x420b32},_0x146f6e,_0x2c9ec9&&_0x368e5a[_0x1a4e('0x31dc')]['getFormatContext'](_0x2c9ec9),_0x1b06ad,_0x56674b);},'getCompletionEntrySymbol':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){return _0x5343f8(),_0x368e5a[_0x1a4e('0x3271')][_0x1a4e('0x32bc')](_0xf79407,_0xdffbb,_0x3f0748(_0x146f6e),_0x2327c6,{'name':_0x55ff7e,'source':_0x1adc17});},'getSignatureHelpItems':function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=(void 0x0===_0x55ff7e?_0x368e5a[_0x1a4e('0x314e')]:_0x55ff7e)[_0x1a4e('0x369e')];_0x5343f8();var _0x2c9ec9=_0x3f0748(_0x146f6e);return _0x368e5a[_0x1a4e('0x3253')][_0x1a4e('0x369f')](_0xf79407,_0x2c9ec9,_0x2327c6,_0x1adc17,_0x56674b);},'getQuickInfoAtPosition':function(_0x146f6e,_0x2327c6){_0x5343f8();var _0x55ff7e=_0x3f0748(_0x146f6e),_0x1adc17=_0x368e5a[_0x1a4e('0x32f1')](_0x55ff7e,_0x2327c6);if(_0x1adc17!==_0x55ff7e){var _0x2c9ec9=_0xf79407[_0x1a4e('0x302b')](),_0x420b32=function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x100fb1(_0x146f6e);if(_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x323e')](_0x55ff7e[_0x1a4e('0x11c')]),_0xf79407=_0x1adc17&&_0x25262c(_0x55ff7e,_0x2327c6,_0x1adc17,!0x1);if(_0xf79407&&0x1===_0xf79407[_0x1a4e('0x1e')])return _0x368e5a[_0x1a4e('0x10f7')](_0xf79407);}return _0x2327c6['getSymbolAtLocation'](_0x146f6e);}(_0x1adc17,_0x2c9ec9);if(!_0x420b32||_0x2c9ec9[_0x1a4e('0x36a0')](_0x420b32)){var _0x1b06ad=function(_0x146f6e,_0x2327c6,_0x55ff7e){switch(_0x2327c6[_0x1a4e('0x146b')]){case 0x48:return!_0x368e5a[_0x1a4e('0x31c9')](_0x2327c6)&&!_0x368e5a[_0x1a4e('0x31ca')](_0x2327c6);case 0xbd:case 0x94:return!_0x368e5a[_0x1a4e('0x31f4')](_0x146f6e,_0x55ff7e);case 0x64:case 0xb2:case 0x62:return!0x0;default:return!0x1;}}(_0x55ff7e,_0x1adc17,_0x2327c6)?_0x2c9ec9[_0x1a4e('0x31d9')](_0x1adc17):void 0x0;return _0x1b06ad&&{'kind':'','kindModifiers':'','textSpan':_0x368e5a[_0x1a4e('0x3289')](_0x1adc17,_0x55ff7e),'displayParts':_0x2c9ec9['runWithCancellationToken'](_0x56674b,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x322d')](_0x146f6e,_0x1b06ad,_0x368e5a[_0x1a4e('0x31d1')](_0x1adc17));}),'documentation':_0x1b06ad[_0x1a4e('0xb1b')]?_0x1b06ad[_0x1a4e('0xb1b')][_0x1a4e('0x33a6')](_0x2c9ec9):void 0x0,'tags':_0x1b06ad[_0x1a4e('0xb1b')]?_0x1b06ad[_0x1a4e('0xb1b')]['getJsDocTags']():void 0x0};}var _0x326eae=_0x2c9ec9[_0x1a4e('0x3297')](_0x56674b,function(_0x146f6e){return _0x368e5a[_0x1a4e('0x328b')][_0x1a4e('0x3298')](_0x146f6e,_0x420b32,_0x55ff7e,_0x368e5a[_0x1a4e('0x31d1')](_0x1adc17),_0x1adc17);}),_0x54d949=_0x326eae[_0x1a4e('0x329a')],_0xdffbb=_0x326eae['displayParts'],_0x5dfb26=_0x326eae[_0x1a4e('0x3299')],_0x3a0252=_0x326eae[_0x1a4e('0x2455')];return{'kind':_0x54d949,'kindModifiers':_0x368e5a[_0x1a4e('0x328b')][_0x1a4e('0x328d')](_0x420b32),'textSpan':_0x368e5a[_0x1a4e('0x3289')](_0x1adc17,_0x55ff7e),'displayParts':_0xdffbb,'documentation':_0x5dfb26,'tags':_0x3a0252};}},'getDefinitionAtPosition':function(_0x146f6e,_0x2327c6){return _0x5343f8(),_0x368e5a[_0x1a4e('0x32f8')][_0x1a4e('0x3330')](_0xf79407,_0x3f0748(_0x146f6e),_0x2327c6);},'getDefinitionAndBoundSpan':function(_0x146f6e,_0x2327c6){return _0x5343f8(),_0x368e5a[_0x1a4e('0x32f8')][_0x1a4e('0x3333')](_0xf79407,_0x3f0748(_0x146f6e),_0x2327c6);},'getImplementationAtPosition':function(_0x146f6e,_0x2327c6){return _0x5343f8(),_0x368e5a[_0x1a4e('0x32c9')][_0x1a4e('0x32f2')](_0xf79407,_0x56674b,_0xf79407[_0x1a4e('0x2447')](),_0x3f0748(_0x146f6e),_0x2327c6);},'getTypeDefinitionAtPosition':function(_0x146f6e,_0x2327c6){return _0x5343f8(),_0x368e5a[_0x1a4e('0x32f8')][_0x1a4e('0x3331')](_0xf79407[_0x1a4e('0x302b')](),_0x3f0748(_0x146f6e),_0x2327c6);},'getReferencesAtPosition':function(_0x146f6e,_0x2327c6){return _0x5343f8(),_0x1567b4(_0x368e5a[_0x1a4e('0x32f1')](_0x3f0748(_0x146f6e),_0x2327c6),_0x2327c6,{},_0x368e5a[_0x1a4e('0x32c9')]['toReferenceEntry']);},'findReferences':function(_0x146f6e,_0x2327c6){return _0x5343f8(),_0x368e5a[_0x1a4e('0x32c9')][_0x1a4e('0x32f0')](_0xf79407,_0x56674b,_0xf79407[_0x1a4e('0x2447')](),_0x3f0748(_0x146f6e),_0x2327c6);},'getOccurrencesAtPosition':function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x104e')](_0x45aff7(_0x146f6e,_0x2327c6,[_0x146f6e]),function(_0x368e5a){return _0x368e5a[_0x1a4e('0x36a1')]['map'](function(_0x146f6e){return{'fileName':_0x368e5a[_0x1a4e('0x1b39')],'textSpan':_0x146f6e['textSpan'],'isWriteAccess':'writtenReference'===_0x146f6e[_0x1a4e('0x146b')],'isDefinition':!0x1,'isInString':_0x146f6e[_0x1a4e('0x31eb')]};});});},'getDocumentHighlights':_0x45aff7,'getNameOrDottedNameSpan':function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e),_0xf79407=_0x368e5a[_0x1a4e('0x32f1')](_0x1adc17,_0x2327c6);if(_0xf79407!==_0x1adc17){switch(_0xf79407[_0x1a4e('0x146b')]){case 0xbd:case 0x94:case 0xa:case 0x57:case 0x66:case 0x60:case 0x62:case 0x64:case 0xb2:case 0x48:break;default:return;}for(var _0x2c9ec9=_0xf79407;;)if(_0x368e5a['isRightSideOfPropertyAccess'](_0x2c9ec9)||_0x368e5a[_0x1a4e('0x31cc')](_0x2c9ec9))_0x2c9ec9=_0x2c9ec9[_0x1a4e('0x11c')];else{if(!_0x368e5a[_0x1a4e('0x31ce')](_0x2c9ec9))break;if(0xf4!==_0x2c9ec9[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')]||_0x2c9ec9[_0x1a4e('0x11c')][_0x1a4e('0x11c')]['body']!==_0x2c9ec9[_0x1a4e('0x11c')])break;_0x2c9ec9=_0x2c9ec9[_0x1a4e('0x11c')]['parent'][_0x1a4e('0x2cb')];}return _0x368e5a[_0x1a4e('0x22fa')](_0x2c9ec9[_0x1a4e('0x31d6')](),_0xf79407[_0x1a4e('0x31d7')]());}},'getBreakpointStatementAtPosition':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e);return _0x368e5a[_0x1a4e('0x36a2')][_0x1a4e('0x36a3')](_0x55ff7e,_0x2327c6);},'getNavigateToItems':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=!0x1),_0x5343f8();var _0x2c9ec9=_0x55ff7e?[_0x3f0748(_0x55ff7e)]:_0xf79407[_0x1a4e('0x2447')]();return _0x368e5a['NavigateTo']['getNavigateToItems'](_0x2c9ec9,_0xf79407[_0x1a4e('0x302b')](),_0x56674b,_0x146f6e,_0x2327c6,_0x1adc17);},'getRenameInfo':function(_0x146f6e,_0x2327c6){return _0x5343f8(),_0x368e5a[_0x1a4e('0x3395')][_0x1a4e('0x3390')](_0xf79407,_0x3f0748(_0x146f6e),_0x2327c6);},'findRenameLocations':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){_0x5343f8();var _0xf79407=_0x3f0748(_0x146f6e),_0x2c9ec9=_0x368e5a[_0x1a4e('0x32f1')](_0xf79407,_0x2327c6);if(_0x368e5a['isIdentifier'](_0x2c9ec9)&&(_0x368e5a[_0x1a4e('0x2527')](_0x2c9ec9[_0x1a4e('0x11c')])||_0x368e5a[_0x1a4e('0x2528')](_0x2c9ec9[_0x1a4e('0x11c')]))&&_0x368e5a['isIntrinsicJsxName'](_0x2c9ec9[_0x1a4e('0x22f3')])){var _0x420b32=_0x2c9ec9[_0x1a4e('0x11c')]['parent'];return[_0x420b32[_0x1a4e('0x260f')],_0x420b32[_0x1a4e('0x266e')]][_0x1a4e('0x21')](function(_0x146f6e){return{'fileName':_0xf79407['fileName'],'textSpan':_0x368e5a['createTextSpanFromNode'](_0x146f6e[_0x1a4e('0x132b')],_0xf79407)};});}return _0x1567b4(_0x2c9ec9,_0x2327c6,{'findInStrings':_0x55ff7e,'findInComments':_0x1adc17,'isForRename':!0x0},_0x368e5a['FindAllReferences']['toRenameLocation']);},'getNavigationBarItems':function(_0x146f6e){return _0x368e5a[_0x1a4e('0x336d')]['getNavigationBarItems'](_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e),_0x56674b);},'getNavigationTree':function(_0x146f6e){return _0x368e5a['NavigationBar'][_0x1a4e('0x36a4')](_0x1b06ad['getCurrentSourceFile'](_0x146f6e),_0x56674b);},'getOutliningSpans':function(_0x146f6e){var _0x2327c6=_0x1b06ad['getCurrentSourceFile'](_0x146f6e);return _0x368e5a['OutliningElementsCollector'][_0x1a4e('0x36a5')](_0x2327c6,_0x56674b);},'getTodoComments':function(_0x146f6e,_0x2327c6){_0x5343f8();var _0x55ff7e=_0x3f0748(_0x146f6e);_0x56674b['throwIfCancellationRequested']();var _0x1adc17,_0xf79407,_0x2c9ec9=_0x55ff7e[_0x1a4e('0xe04')],_0x420b32=[];if(_0x2327c6[_0x1a4e('0x1e')]>0x0&&(_0xf79407=_0x55ff7e[_0x1a4e('0x1b39')],!_0x368e5a[_0x1a4e('0x175a')](_0xf79407,'/node_modules/')))for(var _0x1b06ad=function(){var _0x146f6e='('+/(?:^(?:\s|\*)*)/[_0x1a4e('0xfaa')]+'|'+/(?:\/\/+\s*)/[_0x1a4e('0xfaa')]+'|'+/(?:\/\*+\s*)/['source']+')',_0x55ff7e=_0x1a4e('0xfe3')+_0x368e5a[_0x1a4e('0x21')](_0x2327c6,function(_0x368e5a){return'('+_0x368e5a[_0x1a4e('0xe04')][_0x1a4e('0x115')](/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,_0x1a4e('0xf92'))+')';})[_0x1a4e('0x9e')]('|')+')';return new RegExp(_0x146f6e+'('+_0x55ff7e+/(?:.*?)/[_0x1a4e('0xfaa')]+')'+/(?:$|\*\/)/[_0x1a4e('0xfaa')],_0x1a4e('0x36a6'));}(),_0x326eae=void 0x0;_0x326eae=_0x1b06ad[_0x1a4e('0x2af')](_0x2c9ec9);){_0x56674b[_0x1a4e('0x289b')](),_0x368e5a[_0x1a4e('0x1749')]['assert'](_0x326eae[_0x1a4e('0x1e')]===_0x2327c6[_0x1a4e('0x1e')]+0x3);var _0x54d949=_0x326eae[0x1],_0xdffbb=_0x326eae[_0x1a4e('0xbd')]+_0x54d949['length'];if(_0x368e5a[_0x1a4e('0x31f4')](_0x55ff7e,_0xdffbb)){for(var _0x5dfb26=void 0x0,_0x3a0252=0x0;_0x3a0252<_0x2327c6[_0x1a4e('0x1e')];_0x3a0252++)_0x326eae[_0x3a0252+0x3]&&(_0x5dfb26=_0x2327c6[_0x3a0252]);if(void 0x0===_0x5dfb26)return _0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0x1709')]();if(!((_0x1adc17=_0x2c9ec9['charCodeAt'](_0xdffbb+_0x5dfb26[_0x1a4e('0xe04')][_0x1a4e('0x1e')]))>=0x61&&_0x1adc17<=0x7a||_0x1adc17>=0x41&&_0x1adc17<=0x5a||_0x1adc17>=0x30&&_0x1adc17<=0x39)){var _0x55ad41=_0x326eae[0x2];_0x420b32['push']({'descriptor':_0x5dfb26,'message':_0x55ad41,'position':_0xdffbb});}}}return _0x420b32;},'getBraceMatchingAtPosition':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e),_0x1adc17=_0x368e5a[_0x1a4e('0x31e8')](_0x55ff7e,_0x2327c6),_0xf79407=_0x1adc17[_0x1a4e('0x31d6')](_0x55ff7e)===_0x2327c6?_0x592e12[_0x1a4e('0x179')](_0x1adc17[_0x1a4e('0x146b')]['toString']()):void 0x0,_0x2c9ec9=_0xf79407&&_0x368e5a[_0x1a4e('0x327f')](_0x1adc17[_0x1a4e('0x11c')],_0xf79407,_0x55ff7e);return _0x2c9ec9?[_0x368e5a[_0x1a4e('0x3289')](_0x1adc17,_0x55ff7e),_0x368e5a[_0x1a4e('0x3289')](_0x2c9ec9,_0x55ff7e)]['sort'](function(_0x368e5a,_0x146f6e){return _0x368e5a[_0x1a4e('0xc9')]-_0x146f6e['start'];}):_0x368e5a['emptyArray'];},'getIndentationAtPosition':function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x2f8e')](),_0xf79407=_0x5a660c(_0x55ff7e),_0x2c9ec9=_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e);_0xdffbb(_0x1a4e('0x36a7')+(_0x368e5a['timestamp']()-_0x1adc17)),_0x1adc17=_0x368e5a[_0x1a4e('0x2f8e')]();var _0x420b32=_0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x346b')]['getIndentation'](_0x2327c6,_0x2c9ec9,_0xf79407);return _0xdffbb(_0x1a4e('0x36a8')+(_0x368e5a[_0x1a4e('0x2f8e')]()-_0x1adc17)),_0x420b32;},'getFormattingEditsForRange':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e);return _0x368e5a[_0x1a4e('0x31dc')]['formatSelection'](_0x2327c6,_0x55ff7e,_0xf79407,_0x368e5a['formatting'][_0x1a4e('0x35bb')](_0x5a660c(_0x1adc17)));},'getFormattingEditsForDocument':function(_0x146f6e,_0x2327c6){return _0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x348c')](_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e),_0x368e5a['formatting'][_0x1a4e('0x35bb')](_0x5a660c(_0x2327c6)));},'getFormattingEditsAfterKeystroke':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407=_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e),_0x2c9ec9=_0x368e5a['formatting'][_0x1a4e('0x35bb')](_0x5a660c(_0x1adc17));if(!_0x368e5a[_0x1a4e('0x31f4')](_0xf79407,_0x2327c6))switch(_0x55ff7e){case'{':return _0x368e5a['formatting']['formatOnOpeningCurly'](_0x2327c6,_0xf79407,_0x2c9ec9);case'}':return _0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x36a9')](_0x2327c6,_0xf79407,_0x2c9ec9);case';':return _0x368e5a[_0x1a4e('0x31dc')]['formatOnSemicolon'](_0x2327c6,_0xf79407,_0x2c9ec9);case'\x0a':return _0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x3489')](_0x2327c6,_0xf79407,_0x2c9ec9);}return[];},'getDocCommentTemplateAtPosition':function(_0x2327c6,_0x55ff7e){return _0x368e5a[_0x1a4e('0x3283')][_0x1a4e('0x3355')](_0x368e5a[_0x1a4e('0x337b')](_0x146f6e),_0x1b06ad[_0x1a4e('0x367b')](_0x2327c6),_0x55ff7e);},'isValidBraceCompletionAtPosition':function(_0x146f6e,_0x2327c6,_0x55ff7e){if(0x3c===_0x55ff7e)return!0x1;var _0x1adc17=_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e);if(_0x368e5a[_0x1a4e('0x31eb')](_0x1adc17,_0x2327c6))return!0x1;if(_0x368e5a[_0x1a4e('0x36aa')](_0x1adc17,_0x2327c6))return 0x7b===_0x55ff7e;if(_0x368e5a['isInTemplateString'](_0x1adc17,_0x2327c6))return!0x1;switch(_0x55ff7e){case 0x27:case 0x22:case 0x60:return!_0x368e5a[_0x1a4e('0x31f4')](_0x1adc17,_0x2327c6);}return!0x0;},'getJsxClosingTagAtPosition':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e),_0x1adc17=_0x368e5a['findPrecedingToken'](_0x2327c6,_0x55ff7e);if(_0x1adc17){var _0xf79407=0x1e===_0x1adc17[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x2527')](_0x1adc17[_0x1a4e('0x11c')])?_0x1adc17['parent'][_0x1a4e('0x11c')]:_0x368e5a[_0x1a4e('0x24e3')](_0x1adc17)?_0x1adc17[_0x1a4e('0x11c')]:void 0x0;return _0xf79407&&function _0x146f6e(_0x2327c6){var _0x55ff7e=_0x2327c6[_0x1a4e('0x260f')],_0x1adc17=_0x2327c6[_0x1a4e('0x266e')],_0xf79407=_0x2327c6[_0x1a4e('0x11c')];return!_0x368e5a['tagNamesAreEquivalent'](_0x55ff7e[_0x1a4e('0x132b')],_0x1adc17[_0x1a4e('0x132b')])||_0x368e5a[_0x1a4e('0x2526')](_0xf79407)&&_0x368e5a[_0x1a4e('0x26ac')](_0x55ff7e[_0x1a4e('0x132b')],_0xf79407[_0x1a4e('0x260f')][_0x1a4e('0x132b')])&&_0x146f6e(_0xf79407);}(_0xf79407)?{'newText':''}:void 0x0;}},'getSpanOfEnclosingComment':function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x1b06ad[_0x1a4e('0x367b')](_0x146f6e),_0xf79407=_0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x31dd')](_0x1adc17,_0x2327c6);return!_0xf79407||_0x55ff7e&&0x3!==_0xf79407[_0x1a4e('0x146b')]?void 0x0:_0x368e5a[_0x1a4e('0x31ff')](_0xf79407);},'getCodeFixesAtPosition':function(_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9,_0x420b32,_0x1b06ad){void 0x0===_0x1b06ad&&(_0x1b06ad=_0x368e5a['emptyOptions']),_0x5343f8();var _0x326eae=_0x3f0748(_0x2327c6),_0x54d949=_0x368e5a[_0x1a4e('0x22fa')](_0x55ff7e,_0x1adc17),_0xdffbb=_0x368e5a[_0x1a4e('0x31dc')]['getFormatContext'](_0x420b32);return _0x368e5a['flatMap'](_0x368e5a[_0x1a4e('0x25cc')](_0x2c9ec9,_0x368e5a[_0x1a4e('0x2969')],_0x368e5a[_0x1a4e('0x166e')]),function(_0x2327c6){return _0x56674b[_0x1a4e('0x289b')](),_0x368e5a[_0x1a4e('0x3295')][_0x1a4e('0x36ab')]({'errorCode':_0x2327c6,'sourceFile':_0x326eae,'span':_0x54d949,'program':_0xf79407,'host':_0x146f6e,'cancellationToken':_0x56674b,'formatContext':_0xdffbb,'preferences':_0x1b06ad});});},'getCombinedCodeFix':function(_0x2327c6,_0x55ff7e,_0x1adc17,_0x2c9ec9){void 0x0===_0x2c9ec9&&(_0x2c9ec9=_0x368e5a[_0x1a4e('0x314e')]),_0x5343f8(),_0x368e5a['Debug'][_0x1a4e('0xba0')](_0x1a4e('0x15c9')===_0x2327c6['type']);var _0x420b32=_0x3f0748(_0x2327c6[_0x1a4e('0x1b39')]),_0x1b06ad=_0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x35bb')](_0x1adc17);return _0x368e5a[_0x1a4e('0x3295')][_0x1a4e('0x36ac')]({'fixId':_0x55ff7e,'sourceFile':_0x420b32,'program':_0xf79407,'host':_0x146f6e,'cancellationToken':_0x56674b,'formatContext':_0x1b06ad,'preferences':_0x2c9ec9});},'applyCodeActionCommand':function(_0x146f6e,_0x2327c6){var _0x55ff7e=_0x1a4e('0x9')==typeof _0x146f6e?_0x2327c6:_0x146f6e,_0x1adc17='string'!=typeof _0x146f6e?_0x2327c6:void 0x0;return _0x368e5a[_0x1a4e('0x15')](_0x55ff7e)?Promise[_0x1a4e('0xb8')](_0x55ff7e[_0x1a4e('0x21')](function(_0x368e5a){return _0x2b0513(_0x368e5a,_0x1adc17);})):_0x2b0513(_0x55ff7e,_0x1adc17);},'organizeImports':function(_0x2327c6,_0x55ff7e,_0x1adc17){void 0x0===_0x1adc17&&(_0x1adc17=_0x368e5a[_0x1a4e('0x314e')]),_0x5343f8(),_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](_0x1a4e('0x15c9')===_0x2327c6[_0x1a4e('0x40')]);var _0x2c9ec9=_0x3f0748(_0x2327c6['fileName']),_0x420b32=_0x368e5a[_0x1a4e('0x31dc')][_0x1a4e('0x35bb')](_0x55ff7e);return _0x368e5a[_0x1a4e('0x337f')][_0x1a4e('0x3375')](_0x2c9ec9,_0x420b32,_0x146f6e,_0xf79407,_0x1adc17);},'getEditsForFileRename':function(_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){return void 0x0===_0xf79407&&(_0xf79407=_0x368e5a[_0x1a4e('0x314e')]),_0x368e5a[_0x1a4e('0x3322')](_0x2c0f2c(),_0x2327c6,_0x55ff7e,_0x146f6e,_0x368e5a[_0x1a4e('0x31dc')]['getFormatContext'](_0x1adc17),_0xf79407,_0x55ad41);},'getEmitOutput':function(_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e=!0x1),_0x5343f8();var _0x1adc17=_0x3f0748(_0x2327c6),_0x2c9ec9=_0x146f6e[_0x1a4e('0x36ad')]&&_0x146f6e[_0x1a4e('0x36ad')]();return _0x368e5a[_0x1a4e('0x3027')](_0xf79407,_0x1adc17,_0x55ff7e,_0x56674b,_0x2c9ec9);},'getNonBoundSourceFile':function(_0x368e5a){return _0x1b06ad[_0x1a4e('0x367b')](_0x368e5a);},'getProgram':_0x2c0f2c,'getApplicableRefactors':function(_0x146f6e,_0x2327c6,_0x55ff7e){void 0x0===_0x55ff7e&&(_0x55ff7e=_0x368e5a[_0x1a4e('0x314e')]),_0x5343f8();var _0x1adc17=_0x3f0748(_0x146f6e);return _0x368e5a['refactor'][_0x1a4e('0x34f2')](_0x5f3173(_0x1adc17,_0x2327c6,_0x55ff7e));},'getEditsForRefactor':function(_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){void 0x0===_0x2c9ec9&&(_0x2c9ec9=_0x368e5a[_0x1a4e('0x314e')]),_0x5343f8();var _0x420b32=_0x3f0748(_0x146f6e);return _0x368e5a[_0x1a4e('0x34f0')][_0x1a4e('0x34f5')](_0x5f3173(_0x420b32,_0x55ff7e,_0x2c9ec9,_0x2327c6),_0x1adc17,_0xf79407);},'toLineColumnOffset':_0x55ad41[_0x1a4e('0x36ae')],'getSourceMapper':function(){return _0x55ad41;}};},_0x368e5a['getNameTable']=function(_0x146f6e){return _0x146f6e[_0x1a4e('0x3680')]||function(_0x146f6e){var _0x2327c6=_0x146f6e[_0x1a4e('0x3680')]=_0x368e5a['createUnderscoreEscapedMap']();_0x146f6e[_0x1a4e('0x22eb')](function _0x146f6e(_0x55ff7e){if(_0x368e5a['isIdentifier'](_0x55ff7e)&&!_0x368e5a[_0x1a4e('0x31ca')](_0x55ff7e)&&_0x55ff7e[_0x1a4e('0x22f3')]||_0x368e5a[_0x1a4e('0x2674')](_0x55ff7e)&&function(_0x146f6e){return _0x368e5a[_0x1a4e('0x23e5')](_0x146f6e)||0x103===_0x146f6e['parent'][_0x1a4e('0x146b')]||function(_0x368e5a){return _0x368e5a&&_0x368e5a['parent']&&0xbe===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&_0x368e5a['parent'][_0x1a4e('0x24a7')]===_0x368e5a;}(_0x146f6e)||_0x368e5a['isLiteralComputedPropertyDeclarationName'](_0x146f6e);}(_0x55ff7e)){var _0x1adc17=_0x368e5a[_0x1a4e('0x2840')](_0x55ff7e);_0x2327c6[_0x1a4e('0x17a')](_0x1adc17,void 0x0===_0x2327c6[_0x1a4e('0x179')](_0x1adc17)?_0x55ff7e[_0x1a4e('0xa4')]:-0x1);}if(_0x368e5a[_0x1a4e('0x22eb')](_0x55ff7e,_0x146f6e),_0x368e5a[_0x1a4e('0x23d0')](_0x55ff7e))for(var _0xf79407=0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x22ec')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x368e5a[_0x1a4e('0x22eb')](_0x420b32,_0x146f6e);}});}(_0x146f6e),_0x146f6e['nameTable'];},_0x368e5a[_0x1a4e('0x331b')]=_0x100fb1,_0x368e5a[_0x1a4e('0x331c')]=_0x25262c,_0x368e5a[_0x1a4e('0x36af')]=function(_0x146f6e){return _0xf79407+_0x368e5a[_0x1a4e('0x1b42')]+_0x368e5a[_0x1a4e('0x24ae')](_0x146f6e);},_0x368e5a[_0x1a4e('0x2626')]={'getNodeConstructor':function(){return _0x2327c6;},'getTokenConstructor':function(){return _0x1b06ad;},'getIdentifierConstructor':function(){return _0x326eae;},'getSourceFileConstructor':function(){return _0x3f0748;},'getSymbolConstructor':function(){return _0x2c9ec9;},'getTypeConstructor':function(){return _0x54d949;},'getSignatureConstructor':function(){return _0xdffbb;},'getSourceMapSourceConstructor':function(){return _0x5343f8;}};}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){!function(_0x146f6e){_0x146f6e[_0x1a4e('0x36a3')]=function(_0x146f6e,_0x2327c6){if(!_0x146f6e[_0x1a4e('0x2423')]){var _0x55ff7e=_0x368e5a[_0x1a4e('0x3264')](_0x146f6e,_0x2327c6),_0x1adc17=_0x146f6e[_0x1a4e('0x22c1')](_0x2327c6)[_0x1a4e('0xc5')];if(_0x146f6e[_0x1a4e('0x22c1')](_0x55ff7e['getStart'](_0x146f6e))[_0x1a4e('0xc5')]>_0x1adc17){var _0xf79407=_0x368e5a[_0x1a4e('0x3279')](_0x55ff7e[_0x1a4e('0xa4')],_0x146f6e);if(!_0xf79407||_0x146f6e['getLineAndCharacterOfPosition'](_0xf79407['getEnd']())['line']!==_0x1adc17)return;_0x55ff7e=_0xf79407;}if(!(0x400000&_0x55ff7e[_0x1a4e('0x7b2')]))return _0x3e9af9(_0x55ff7e);}function _0x2c9ec9(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x2327c6[_0x1a4e('0x232f')]?_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e[_0x1a4e('0xe04')],_0x2327c6[_0x1a4e('0x232f')][_0x1a4e('0xca')]):_0x2327c6[_0x1a4e('0x31d6')](_0x146f6e);return _0x368e5a['createTextSpanFromBounds'](_0x1adc17,(_0x55ff7e||_0x2327c6)[_0x1a4e('0x31d7')]());}function _0x420b32(_0x2327c6,_0x55ff7e){return _0x2c9ec9(_0x2327c6,_0x368e5a['findNextToken'](_0x55ff7e,_0x55ff7e[_0x1a4e('0x11c')],_0x146f6e));}function _0x1b06ad(_0x368e5a,_0x2327c6){return _0x368e5a&&_0x1adc17===_0x146f6e[_0x1a4e('0x22c1')](_0x368e5a[_0x1a4e('0x31d6')](_0x146f6e))[_0x1a4e('0xc5')]?_0x3e9af9(_0x368e5a):_0x3e9af9(_0x2327c6);}function _0x326eae(_0x2327c6){return _0x3e9af9(_0x368e5a['findPrecedingToken'](_0x2327c6['pos'],_0x146f6e));}function _0x56674b(_0x2327c6){return _0x3e9af9(_0x368e5a[_0x1a4e('0x31ea')](_0x2327c6,_0x2327c6[_0x1a4e('0x11c')],_0x146f6e));}function _0x3e9af9(_0x2327c6){if(_0x2327c6){var _0x55ff7e=_0x2327c6['parent'];switch(_0x2327c6[_0x1a4e('0x146b')]){case 0xdb:return _0x156c93(_0x2327c6['declarationList'][_0x1a4e('0x22e5')][0x0]);case 0xed:case 0x9a:case 0x99:return _0x156c93(_0x2327c6);case 0x97:return function _0x146f6e(_0x2327c6){if(_0x368e5a[_0x1a4e('0x1678')](_0x2327c6[_0x1a4e('0x2cb')]))return _0x4b366b(_0x2327c6['name']);if(function(_0x146f6e){return!!_0x146f6e[_0x1a4e('0x236a')]||void 0x0!==_0x146f6e[_0x1a4e('0x25f9')]||_0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0xc);}(_0x2327c6))return _0x2c9ec9(_0x2327c6);var _0x55ff7e=_0x2327c6[_0x1a4e('0x11c')],_0x1adc17=_0x55ff7e[_0x1a4e('0x111a')][_0x1a4e('0x3e')](_0x2327c6);return _0x368e5a[_0x1a4e('0x1749')]['assert'](-0x1!==_0x1adc17),0x0!==_0x1adc17?_0x146f6e(_0x55ff7e['parameters'][_0x1adc17-0x1]):_0x3e9af9(_0x55ff7e[_0x1a4e('0x8f2')]);}(_0x2327c6);case 0xef:case 0x9c:case 0x9b:case 0x9e:case 0x9f:case 0x9d:case 0xc4:case 0xc5:return function(_0x368e5a){if(_0x368e5a[_0x1a4e('0x8f2')])return _0x264450(_0x368e5a)?_0x2c9ec9(_0x368e5a):_0x3e9af9(_0x368e5a[_0x1a4e('0x8f2')]);}(_0x2327c6);case 0xda:if(_0x368e5a['isFunctionBlock'](_0x2327c6))return _0x3a294c=(_0x5bdfcc=_0x2327c6)[_0x1a4e('0x2366')][_0x1a4e('0x1e')]?_0x5bdfcc[_0x1a4e('0x2366')][0x0]:_0x5bdfcc[_0x1a4e('0x365b')](),_0x264450(_0x5bdfcc[_0x1a4e('0x11c')])?_0x1b06ad(_0x5bdfcc[_0x1a4e('0x11c')],_0x3a294c):_0x3e9af9(_0x3a294c);case 0xf5:return _0x1ab764(_0x2327c6);case 0x112:return _0x1ab764(_0x2327c6[_0x1a4e('0x260c')]);case 0xdd:return _0x2c9ec9(_0x2327c6[_0x1a4e('0x2302')]);case 0xe6:return _0x2c9ec9(_0x2327c6['getChildAt'](0x0),_0x2327c6[_0x1a4e('0x2302')]);case 0xe0:return _0x420b32(_0x2327c6,_0x2327c6['expression']);case 0xdf:return _0x3e9af9(_0x2327c6[_0x1a4e('0x2390')]);case 0xec:return _0x2c9ec9(_0x2327c6[_0x1a4e('0x365a')](0x0));case 0xde:return _0x420b32(_0x2327c6,_0x2327c6[_0x1a4e('0x2302')]);case 0xe9:return _0x3e9af9(_0x2327c6[_0x1a4e('0x2390')]);case 0xe5:case 0xe4:return _0x2c9ec9(_0x2327c6['getChildAt'](0x0),_0x2327c6[_0x1a4e('0x1bc')]);case 0xe1:return(_0x265e92=_0x2327c6)['initializer']?_0x55e89e(_0x265e92):_0x265e92[_0x1a4e('0x236b')]?_0x2c9ec9(_0x265e92[_0x1a4e('0x236b')]):_0x265e92[_0x1a4e('0x236c')]?_0x2c9ec9(_0x265e92[_0x1a4e('0x236c')]):void 0x0;case 0xe2:return _0x420b32(_0x2327c6,_0x2327c6[_0x1a4e('0x2302')]);case 0xe3:return _0x55e89e(_0x2327c6);case 0xe8:return _0x420b32(_0x2327c6,_0x2327c6[_0x1a4e('0x2302')]);case 0x10f:case 0x110:return _0x3e9af9(_0x2327c6[_0x1a4e('0x2366')][0x0]);case 0xeb:return _0x1ab764(_0x2327c6[_0x1a4e('0x2679')]);case 0xea:case 0xfe:return _0x2c9ec9(_0x2327c6,_0x2327c6['expression']);case 0xf8:return _0x2c9ec9(_0x2327c6,_0x2327c6[_0x1a4e('0x236d')]);case 0xf9:case 0xff:return _0x2c9ec9(_0x2327c6,_0x2327c6['moduleSpecifier']);case 0xf4:if(0x1!==_0x368e5a[_0x1a4e('0x2831')](_0x2327c6))return;case 0xf0:case 0xf3:case 0x116:case 0xba:return _0x2c9ec9(_0x2327c6);case 0xe7:return _0x3e9af9(_0x2327c6[_0x1a4e('0x2390')]);case 0x98:return _0x1ca495=_0x55ff7e['decorators'],_0x368e5a[_0x1a4e('0x22fa')](_0x368e5a[_0x1a4e('0x22c6')](_0x146f6e[_0x1a4e('0xe04')],_0x1ca495[_0x1a4e('0xa4')]),_0x1ca495[_0x1a4e('0xca')]);case 0xb8:case 0xb9:return _0x4b366b(_0x2327c6);case 0xf1:case 0xf2:return;case 0x1a:case 0x1:return _0x1b06ad(_0x368e5a[_0x1a4e('0x3279')](_0x2327c6['pos'],_0x146f6e));case 0x1b:return _0x326eae(_0x2327c6);case 0x12:return function(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xf3:var _0x55ff7e=_0x2327c6[_0x1a4e('0x11c')];return _0x1b06ad(_0x368e5a[_0x1a4e('0x3279')](_0x2327c6['pos'],_0x146f6e,_0x2327c6[_0x1a4e('0x11c')]),_0x55ff7e['members']['length']?_0x55ff7e[_0x1a4e('0x2369')][0x0]:_0x55ff7e[_0x1a4e('0x365b')](_0x146f6e));case 0xf0:var _0x1adc17=_0x2327c6['parent'];return _0x1b06ad(_0x368e5a[_0x1a4e('0x3279')](_0x2327c6['pos'],_0x146f6e,_0x2327c6[_0x1a4e('0x11c')]),_0x1adc17[_0x1a4e('0x2369')]['length']?_0x1adc17['members'][0x0]:_0x1adc17['getLastToken'](_0x146f6e));case 0xf6:return _0x1b06ad(_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')],_0x2327c6['parent'][_0x1a4e('0x2609')][0x0]);}return _0x3e9af9(_0x2327c6[_0x1a4e('0x11c')]);}(_0x2327c6);case 0x13:return function(_0x146f6e){switch(_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xf5:if(0x1!==_0x368e5a[_0x1a4e('0x2831')](_0x146f6e['parent']['parent']))return;case 0xf3:case 0xf0:return _0x2c9ec9(_0x146f6e);case 0xda:if(_0x368e5a['isFunctionBlock'](_0x146f6e[_0x1a4e('0x11c')]))return _0x2c9ec9(_0x146f6e);case 0x112:return _0x3e9af9(_0x368e5a[_0x1a4e('0x1722')](_0x146f6e[_0x1a4e('0x11c')]['statements']));case 0xf6:var _0x2327c6=_0x146f6e['parent'],_0x55ff7e=_0x368e5a[_0x1a4e('0x1722')](_0x2327c6[_0x1a4e('0x2609')]);return _0x55ff7e?_0x3e9af9(_0x368e5a[_0x1a4e('0x1722')](_0x55ff7e['statements'])):void 0x0;case 0xb8:var _0x1adc17=_0x146f6e[_0x1a4e('0x11c')];return _0x3e9af9(_0x368e5a['lastOrUndefined'](_0x1adc17['elements'])||_0x1adc17);default:if(_0x368e5a['isArrayLiteralOrObjectLiteralDestructuringPattern'](_0x146f6e[_0x1a4e('0x11c')])){var _0xf79407=_0x146f6e[_0x1a4e('0x11c')];return _0x2c9ec9(_0x368e5a['lastOrUndefined'](_0xf79407[_0x1a4e('0x13')])||_0xf79407);}return _0x3e9af9(_0x146f6e[_0x1a4e('0x11c')]);}}(_0x2327c6);case 0x17:return function(_0x146f6e){switch(_0x146f6e['parent']['kind']){case 0xb9:var _0x2327c6=_0x146f6e[_0x1a4e('0x11c')];return _0x2c9ec9(_0x368e5a[_0x1a4e('0x1722')](_0x2327c6[_0x1a4e('0x2398')])||_0x2327c6);default:if(_0x368e5a['isArrayLiteralOrObjectLiteralDestructuringPattern'](_0x146f6e[_0x1a4e('0x11c')])){var _0x55ff7e=_0x146f6e['parent'];return _0x2c9ec9(_0x368e5a['lastOrUndefined'](_0x55ff7e['elements'])||_0x55ff7e);}return _0x3e9af9(_0x146f6e[_0x1a4e('0x11c')]);}}(_0x2327c6);case 0x14:return function(_0x368e5a){return 0xdf===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0xbf===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0xc0===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x326eae(_0x368e5a):0xc3===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x56674b(_0x368e5a):_0x3e9af9(_0x368e5a[_0x1a4e('0x11c')]);}(_0x2327c6);case 0x15:return function(_0x368e5a){switch(_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xc4:case 0xef:case 0xc5:case 0x9c:case 0x9b:case 0x9e:case 0x9f:case 0x9d:case 0xe0:case 0xdf:case 0xe1:case 0xe3:case 0xbf:case 0xc0:case 0xc3:return _0x326eae(_0x368e5a);default:return _0x3e9af9(_0x368e5a[_0x1a4e('0x11c')]);}}(_0x2327c6);case 0x39:return function(_0x146f6e){return _0x368e5a[_0x1a4e('0x2342')](_0x146f6e['parent'])||0x113===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]||0x97===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x326eae(_0x146f6e):_0x3e9af9(_0x146f6e[_0x1a4e('0x11c')]);}(_0x2327c6);case 0x1e:case 0x1c:return function(_0x368e5a){return 0xc2===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x56674b(_0x368e5a):_0x3e9af9(_0x368e5a[_0x1a4e('0x11c')]);}(_0x2327c6);case 0x6b:return function(_0x368e5a){return 0xdf===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x420b32(_0x368e5a,_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x2302')]):_0x3e9af9(_0x368e5a['parent']);}(_0x2327c6);case 0x53:case 0x4b:case 0x58:return _0x56674b(_0x2327c6);case 0x93:return function(_0x368e5a){return 0xe3===_0x368e5a[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x56674b(_0x368e5a):_0x3e9af9(_0x368e5a[_0x1a4e('0x11c')]);}(_0x2327c6);default:if(_0x368e5a[_0x1a4e('0x32ea')](_0x2327c6))return _0x44a456(_0x2327c6);if((0x48===_0x2327c6[_0x1a4e('0x146b')]||0xd0===_0x2327c6[_0x1a4e('0x146b')]||0x113===_0x2327c6[_0x1a4e('0x146b')]||0x114===_0x2327c6['kind'])&&_0x368e5a[_0x1a4e('0x32ea')](_0x55ff7e))return _0x2c9ec9(_0x2327c6);if(0xcc===_0x2327c6[_0x1a4e('0x146b')]){var _0x1adc17=_0x2327c6,_0xf79407=_0x1adc17[_0x1a4e('0x5f')],_0x109144=_0x1adc17[_0x1a4e('0x237a')];if(_0x368e5a[_0x1a4e('0x32ea')](_0xf79407))return _0x44a456(_0xf79407);if(0x3b===_0x109144[_0x1a4e('0x146b')]&&_0x368e5a[_0x1a4e('0x32ea')](_0x2327c6[_0x1a4e('0x11c')]))return _0x2c9ec9(_0x2327c6);if(0x1b===_0x109144[_0x1a4e('0x146b')])return _0x3e9af9(_0xf79407);}if(_0x368e5a[_0x1a4e('0x28da')](_0x2327c6))switch(_0x55ff7e['kind']){case 0xdf:return _0x326eae(_0x2327c6);case 0x98:return _0x3e9af9(_0x2327c6['parent']);case 0xe1:case 0xe3:return _0x2c9ec9(_0x2327c6);case 0xcc:if(0x1b===_0x2327c6['parent']['operatorToken'][_0x1a4e('0x146b')])return _0x2c9ec9(_0x2327c6);break;case 0xc5:if(_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x8f2')]===_0x2327c6)return _0x2c9ec9(_0x2327c6);}switch(_0x2327c6['parent'][_0x1a4e('0x146b')]){case 0x113:if(_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x2cb')]===_0x2327c6&&!_0x368e5a['isArrayLiteralOrObjectLiteralDestructuringPattern'](_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')]))return _0x3e9af9(_0x2327c6['parent'][_0x1a4e('0x236a')]);break;case 0xc2:if(_0x2327c6['parent'][_0x1a4e('0x40')]===_0x2327c6)return _0x56674b(_0x2327c6['parent']['type']);break;case 0xed:case 0x97:var _0x3adbbd=_0x2327c6[_0x1a4e('0x11c')],_0x18b122=_0x3adbbd[_0x1a4e('0x236a')],_0x5e779e=_0x3adbbd[_0x1a4e('0x40')];if(_0x18b122===_0x2327c6||_0x5e779e===_0x2327c6||_0x368e5a['isAssignmentOperator'](_0x2327c6[_0x1a4e('0x146b')]))return _0x326eae(_0x2327c6);break;case 0xcc:if(_0xf79407=_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x5f')],_0x368e5a['isArrayLiteralOrObjectLiteralDestructuringPattern'](_0xf79407)&&_0x2327c6!==_0xf79407)return _0x326eae(_0x2327c6);break;default:if(_0x368e5a[_0x1a4e('0x2342')](_0x2327c6[_0x1a4e('0x11c')])&&_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x40')]===_0x2327c6)return _0x326eae(_0x2327c6);}return _0x3e9af9(_0x2327c6[_0x1a4e('0x11c')]);}}var _0x265e92,_0x5bdfcc,_0x3a294c,_0x1ca495;function _0x8fc371(_0x2327c6){return _0x368e5a['isVariableDeclarationList'](_0x2327c6[_0x1a4e('0x11c')])&&_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x22e5')][0x0]===_0x2327c6?_0x2c9ec9(_0x368e5a[_0x1a4e('0x3279')](_0x2327c6[_0x1a4e('0xa4')],_0x146f6e,_0x2327c6[_0x1a4e('0x11c')]),_0x2327c6):_0x2c9ec9(_0x2327c6);}function _0x156c93(_0x2327c6){if(0xe2===_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x11c')][_0x1a4e('0x146b')])return _0x3e9af9(_0x2327c6[_0x1a4e('0x11c')]['parent']);var _0x55ff7e=_0x2327c6['parent'];return _0x368e5a[_0x1a4e('0x1678')](_0x2327c6[_0x1a4e('0x2cb')])?_0x4b366b(_0x2327c6[_0x1a4e('0x2cb')]):_0x2327c6[_0x1a4e('0x236a')]||_0x368e5a['hasModifier'](_0x2327c6,0x1)||0xe3===_0x55ff7e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x8fc371(_0x2327c6):_0x368e5a[_0x1a4e('0x251c')](_0x2327c6['parent'])&&_0x2327c6[_0x1a4e('0x11c')]['declarations'][0x0]!==_0x2327c6?_0x3e9af9(_0x368e5a[_0x1a4e('0x3279')](_0x2327c6[_0x1a4e('0xa4')],_0x146f6e,_0x2327c6[_0x1a4e('0x11c')])):void 0x0;}function _0x264450(_0x146f6e){return _0x368e5a[_0x1a4e('0x24c6')](_0x146f6e,0x1)||0xf0===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]&&0x9d!==_0x146f6e[_0x1a4e('0x146b')];}function _0x1ab764(_0x2327c6){switch(_0x2327c6[_0x1a4e('0x11c')][_0x1a4e('0x146b')]){case 0xf4:if(0x1!==_0x368e5a[_0x1a4e('0x2831')](_0x2327c6[_0x1a4e('0x11c')]))return;case 0xe0:case 0xde:case 0xe2:return _0x1b06ad(_0x2327c6[_0x1a4e('0x11c')],_0x2327c6[_0x1a4e('0x2366')][0x0]);case 0xe1:case 0xe3:return _0x1b06ad(_0x368e5a[_0x1a4e('0x3279')](_0x2327c6[_0x1a4e('0xa4')],_0x146f6e,_0x2327c6[_0x1a4e('0x11c')]),_0x2327c6[_0x1a4e('0x2366')][0x0]);}return _0x3e9af9(_0x2327c6[_0x1a4e('0x2366')][0x0]);}function _0x55e89e(_0x368e5a){if(0xee!==_0x368e5a['initializer'][_0x1a4e('0x146b')])return _0x3e9af9(_0x368e5a[_0x1a4e('0x236a')]);var _0x146f6e=_0x368e5a['initializer'];return _0x146f6e[_0x1a4e('0x22e5')]['length']>0x0?_0x3e9af9(_0x146f6e[_0x1a4e('0x22e5')][0x0]):void 0x0;}function _0x4b366b(_0x146f6e){var _0x2327c6=_0x368e5a[_0x1a4e('0x3b')](_0x146f6e[_0x1a4e('0x2398')],function(_0x368e5a){return 0xd2!==_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a:void 0x0;});return _0x2327c6?_0x3e9af9(_0x2327c6):0xba===_0x146f6e['parent'][_0x1a4e('0x146b')]?_0x2c9ec9(_0x146f6e['parent']):_0x8fc371(_0x146f6e[_0x1a4e('0x11c')]);}function _0x44a456(_0x146f6e){_0x368e5a[_0x1a4e('0x1749')][_0x1a4e('0xba0')](0xb9!==_0x146f6e[_0x1a4e('0x146b')]&&0xb8!==_0x146f6e[_0x1a4e('0x146b')]);var _0x2327c6=0xbb===_0x146f6e[_0x1a4e('0x146b')]?_0x146f6e[_0x1a4e('0x2398')]:_0x146f6e['properties'],_0x55ff7e=_0x368e5a[_0x1a4e('0x3b')](_0x2327c6,function(_0x368e5a){return 0xd2!==_0x368e5a[_0x1a4e('0x146b')]?_0x368e5a:void 0x0;});return _0x55ff7e?_0x3e9af9(_0x55ff7e):_0x2c9ec9(0xcc===_0x146f6e[_0x1a4e('0x11c')][_0x1a4e('0x146b')]?_0x146f6e['parent']:_0x146f6e);}}};}(_0x368e5a[_0x1a4e('0x36a2')]||(_0x368e5a[_0x1a4e('0x36a2')]={}));}(_0xa22d8b||(_0xa22d8b={})),function(_0x368e5a){_0x368e5a[_0x1a4e('0x93')]=function(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=[];_0x55ff7e=_0x368e5a[_0x1a4e('0x36b0')](_0x55ff7e,_0x1adc17);var _0xf79407=_0x368e5a[_0x1a4e('0x15')](_0x146f6e)?_0x146f6e:[_0x146f6e],_0x2c9ec9=_0x368e5a['transformNodes'](void 0x0,void 0x0,_0x55ff7e,_0xf79407,_0x2327c6,!0x0);return _0x2c9ec9[_0x1a4e('0x2728')]=_0x368e5a[_0x1a4e('0x1717')](_0x2c9ec9[_0x1a4e('0x2728')],_0x1adc17),_0x2c9ec9;};}(_0xa22d8b||(_0xa22d8b={}));var _0xa22d8b,_0x489aea,_0x16e10a=function(){return this;}();!function(_0x146f6e){function _0x2327c6(_0x368e5a,_0x146f6e){_0x368e5a&&_0x368e5a[_0x1a4e('0x58')](_0x1a4e('0x36b1')+_0x146f6e[_0x1a4e('0x133')]);}var _0x55ff7e=function(){function _0x368e5a(_0x368e5a){this[_0x1a4e('0x36b2')]=_0x368e5a;}return _0x368e5a['prototype']['getText']=function(_0x368e5a,_0x146f6e){return this[_0x1a4e('0x36b2')][_0x1a4e('0x230e')](_0x368e5a,_0x146f6e);},_0x368e5a['prototype']['getLength']=function(){return this['scriptSnapshotShim'][_0x1a4e('0x32a')]();},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x314c')]=function(_0x368e5a){var _0x2327c6=_0x368e5a,_0x55ff7e=this[_0x1a4e('0x36b2')][_0x1a4e('0x314c')](_0x2327c6[_0x1a4e('0x36b2')]);if(null===_0x55ff7e)return null;var _0x1adc17=JSON[_0x1a4e('0x25a')](_0x55ff7e);return _0x146f6e[_0x1a4e('0x24c3')](_0x146f6e['createTextSpan'](_0x1adc17[_0x1a4e('0x24c0')][_0x1a4e('0xc9')],_0x1adc17['span'][_0x1a4e('0x1e')]),_0x1adc17[_0x1a4e('0x24c1')]);},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x2f7c')]=function(){'dispose'in this[_0x1a4e('0x36b2')]&&this[_0x1a4e('0x36b2')][_0x1a4e('0x2f7c')]();},_0x368e5a;}(),_0x1adc17=function(){function _0x368e5a(_0x368e5a){var _0x2327c6=this;this[_0x1a4e('0x36b3')]=_0x368e5a,this[_0x1a4e('0x36b4')]=!0x1,this['tracingEnabled']=!0x1,_0x1a4e('0x36b5')in this[_0x1a4e('0x36b3')]&&(this['resolveModuleNames']=function(_0x368e5a,_0x55ff7e){var _0x1adc17=JSON['parse'](_0x2327c6[_0x1a4e('0x36b3')][_0x1a4e('0x36b5')](_0x55ff7e));return _0x146f6e['map'](_0x368e5a,function(_0x368e5a){var _0x2327c6=_0x146f6e[_0x1a4e('0x391')](_0x1adc17,_0x368e5a);return _0x2327c6?{'resolvedFileName':_0x2327c6,'extension':_0x146f6e[_0x1a4e('0x25df')](_0x2327c6),'isExternalLibraryImport':!0x1}:void 0x0;});}),_0x1a4e('0x16b5')in this[_0x1a4e('0x36b3')]&&(this[_0x1a4e('0x16b5')]=function(_0x368e5a){return _0x2327c6[_0x1a4e('0x36b3')][_0x1a4e('0x16b5')](_0x368e5a);}),_0x1a4e('0x36b6')in this['shimHost']&&(this['resolveTypeReferenceDirectives']=function(_0x368e5a,_0x55ff7e){var _0x1adc17=JSON[_0x1a4e('0x25a')](_0x2327c6['shimHost'][_0x1a4e('0x36b6')](_0x55ff7e));return _0x146f6e[_0x1a4e('0x21')](_0x368e5a,function(_0x368e5a){return _0x146f6e[_0x1a4e('0x391')](_0x1adc17,_0x368e5a);});});}return _0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x58')]=function(_0x368e5a){this[_0x1a4e('0x36b4')]&&this['shimHost'][_0x1a4e('0x58')](_0x368e5a);},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x27e0')]=function(_0x368e5a){this[_0x1a4e('0x36b7')]&&this[_0x1a4e('0x36b3')][_0x1a4e('0x27e0')](_0x368e5a);},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x873')]=function(_0x368e5a){this[_0x1a4e('0x36b3')]['error'](_0x368e5a);},_0x368e5a[_0x1a4e('0xa')]['getProjectVersion']=function(){if(this['shimHost']['getProjectVersion'])return this['shimHost']['getProjectVersion']();},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x368a')]=function(){return this['shimHost'][_0x1a4e('0x368a')]?this[_0x1a4e('0x36b3')]['getTypeRootsVersion']():0x0;},_0x368e5a[_0x1a4e('0xa')]['useCaseSensitiveFileNames']=function(){return!!this[_0x1a4e('0x36b3')][_0x1a4e('0x1b40')]&&this['shimHost']['useCaseSensitiveFileNames']();},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x305d')]=function(){var _0x368e5a=this[_0x1a4e('0x36b3')][_0x1a4e('0x305d')]();if(null===_0x368e5a||''===_0x368e5a)throw Error(_0x1a4e('0x36b8'));var _0x146f6e=JSON['parse'](_0x368e5a);return _0x146f6e[_0x1a4e('0x301a')]=!0x0,_0x146f6e;},_0x368e5a['prototype'][_0x1a4e('0x36b9')]=function(){var _0x368e5a=this[_0x1a4e('0x36b3')]['getScriptFileNames']();return JSON[_0x1a4e('0x25a')](_0x368e5a);},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x3674')]=function(_0x368e5a){var _0x146f6e=this[_0x1a4e('0x36b3')]['getScriptSnapshot'](_0x368e5a);return _0x146f6e&&new _0x55ff7e(_0x146f6e);},_0x368e5a['prototype'][_0x1a4e('0x3229')]=function(_0x368e5a){return'getScriptKind'in this[_0x1a4e('0x36b3')]?this['shimHost'][_0x1a4e('0x3229')](_0x368e5a):0x0;},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x3675')]=function(_0x368e5a){return this[_0x1a4e('0x36b3')][_0x1a4e('0x3675')](_0x368e5a);},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x3688')]=function(){var _0x368e5a=this[_0x1a4e('0x36b3')]['getLocalizedDiagnosticMessages']();if(null===_0x368e5a||''===_0x368e5a)return null;try{return JSON[_0x1a4e('0x25a')](_0x368e5a);}catch(_0x5597fd){return this[_0x1a4e('0x58')](_0x5597fd[_0x1a4e('0x27b1')]||_0x1a4e('0x36ba')),null;}},_0x368e5a['prototype'][_0x1a4e('0x3687')]=function(){var _0x368e5a=this[_0x1a4e('0x36b3')]['getCancellationToken']();return new _0x146f6e[(_0x1a4e('0x3685'))](_0x368e5a);},_0x368e5a['prototype']['getCurrentDirectory']=function(){return this[_0x1a4e('0x36b3')][_0x1a4e('0x241c')]();},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x27fc')]=function(_0x368e5a){return JSON[_0x1a4e('0x25a')](this[_0x1a4e('0x36b3')]['getDirectories'](_0x368e5a));},_0x368e5a['prototype']['getDefaultLibFileName']=function(_0x368e5a){return this[_0x1a4e('0x36b3')][_0x1a4e('0x24ae')](JSON['stringify'](_0x368e5a));},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x1b52')]=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x25c1')](_0x368e5a,_0x55ff7e,_0x1adc17,this[_0x1a4e('0x36b3')][_0x1a4e('0x1b40')](),this[_0x1a4e('0x36b3')][_0x1a4e('0x241c')]());return JSON[_0x1a4e('0x25a')](this['shimHost'][_0x1a4e('0x1b52')](_0x368e5a,JSON[_0x1a4e('0xd7')](_0x2327c6),JSON['stringify'](_0x2c9ec9[_0x1a4e('0x1b53')]),_0x2c9ec9[_0x1a4e('0x25c5')],_0x2c9ec9[_0x1a4e('0x1b54')],_0x2c9ec9['includeDirectoryPattern'],_0xf79407));},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x16b8')]=function(_0x368e5a,_0x146f6e){return this[_0x1a4e('0x36b3')]['readFile'](_0x368e5a,_0x146f6e);},_0x368e5a[_0x1a4e('0xa')]['fileExists']=function(_0x368e5a){return this[_0x1a4e('0x36b3')][_0x1a4e('0x1b4d')](_0x368e5a);},_0x368e5a;}();_0x146f6e[_0x1a4e('0x36bb')]=_0x1adc17;var _0xf79407=function(){function _0x368e5a(_0x368e5a){var _0x146f6e=this;this[_0x1a4e('0x36b3')]=_0x368e5a,this[_0x1a4e('0x1b40')]=!!this[_0x1a4e('0x36b3')][_0x1a4e('0x1b40')]&&this[_0x1a4e('0x36b3')][_0x1a4e('0x1b40')](),_0x1a4e('0x16b5')in this[_0x1a4e('0x36b3')]?this[_0x1a4e('0x16b5')]=function(_0x368e5a){return _0x146f6e[_0x1a4e('0x36b3')][_0x1a4e('0x16b5')](_0x368e5a);}:this[_0x1a4e('0x16b5')]=void 0x0,_0x1a4e('0x1b46')in this[_0x1a4e('0x36b3')]?this[_0x1a4e('0x1b46')]=function(_0x368e5a){return _0x146f6e[_0x1a4e('0x36b3')][_0x1a4e('0x1b46')](_0x368e5a);}:this['realpath']=void 0x0;}return _0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x1b52')]=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=_0x146f6e[_0x1a4e('0x25c1')](_0x368e5a,_0x55ff7e,_0x1adc17,this[_0x1a4e('0x36b3')][_0x1a4e('0x1b40')](),this[_0x1a4e('0x36b3')][_0x1a4e('0x241c')]());return JSON[_0x1a4e('0x25a')](this[_0x1a4e('0x36b3')][_0x1a4e('0x1b52')](_0x368e5a,JSON[_0x1a4e('0xd7')](_0x2327c6),JSON[_0x1a4e('0xd7')](_0x2c9ec9[_0x1a4e('0x1b53')]),_0x2c9ec9[_0x1a4e('0x25c5')],_0x2c9ec9['includeFilePattern'],_0x2c9ec9[_0x1a4e('0x25c4')],_0xf79407));},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x1b4d')]=function(_0x368e5a){return this[_0x1a4e('0x36b3')]['fileExists'](_0x368e5a);},_0x368e5a['prototype'][_0x1a4e('0x16b8')]=function(_0x368e5a){return this[_0x1a4e('0x36b3')][_0x1a4e('0x16b8')](_0x368e5a);},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x27fc')]=function(_0x368e5a){return JSON[_0x1a4e('0x25a')](this[_0x1a4e('0x36b3')][_0x1a4e('0x27fc')](_0x368e5a));},_0x368e5a;}();function _0x2c9ec9(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){return _0x420b32(_0x368e5a,_0x146f6e,!0x0,_0x2327c6,_0x55ff7e);}function _0x420b32(_0x368e5a,_0x55ff7e,_0x1adc17,_0xf79407,_0x2c9ec9){try{var _0x420b32=function(_0x368e5a,_0x2327c6,_0x55ff7e,_0x1adc17){var _0xf79407;_0x1adc17&&(_0x368e5a[_0x1a4e('0x58')](_0x2327c6),_0xf79407=_0x146f6e['timestamp']());var _0x2c9ec9=_0x55ff7e();if(_0x1adc17){var _0x420b32=_0x146f6e[_0x1a4e('0x2f8e')]();if(_0x368e5a[_0x1a4e('0x58')](_0x2327c6+_0x1a4e('0x36bc')+(_0x420b32-_0xf79407)+_0x1a4e('0x36bd')),_0x146f6e['isString'](_0x2c9ec9)){var _0x1b06ad=_0x2c9ec9;_0x1b06ad[_0x1a4e('0x1e')]>0x80&&(_0x1b06ad=_0x1b06ad[_0x1a4e('0x281')](0x0,0x80)+'...'),_0x368e5a['log'](_0x1a4e('0x36be')+_0x1b06ad['length']+_0x1a4e('0x36bf')+JSON[_0x1a4e('0xd7')](_0x1b06ad)+'\x27');}}return _0x2c9ec9;}(_0x368e5a,_0x55ff7e,_0xf79407,_0x2c9ec9);return _0x1adc17?JSON[_0x1a4e('0xd7')]({'result':_0x420b32}):_0x420b32;}catch(_0x27344f){return _0x27344f instanceof _0x146f6e['OperationCanceledException']?JSON[_0x1a4e('0xd7')]({'canceled':!0x0}):(_0x2327c6(_0x368e5a,_0x27344f),_0x27344f['description']=_0x55ff7e,JSON[_0x1a4e('0xd7')]({'error':_0x27344f}));}}_0x146f6e[_0x1a4e('0x36c0')]=_0xf79407;var _0x1b06ad=function(){function _0x368e5a(_0x368e5a){this['factory']=_0x368e5a,_0x368e5a[_0x1a4e('0x36c1')](this);}return _0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x2f7c')]=function(_0x368e5a){this[_0x1a4e('0x294c')]['unregisterShim'](this);},_0x368e5a;}();function _0x326eae(_0x368e5a,_0x2327c6){return _0x368e5a[_0x1a4e('0x21')](function(_0x368e5a){return function(_0x368e5a,_0x2327c6){return{'message':_0x146f6e[_0x1a4e('0x16d1')](_0x368e5a[_0x1a4e('0x16d2')],_0x2327c6),'start':_0x368e5a[_0x1a4e('0xc9')],'length':_0x368e5a['length'],'category':_0x146f6e[_0x1a4e('0x1a2c')](_0x368e5a),'code':_0x368e5a[_0x1a4e('0x1617')],'reportsUnnecessary':_0x368e5a[_0x1a4e('0x2583')]};}(_0x368e5a,_0x2327c6);});}_0x146f6e['realizeDiagnostics']=_0x326eae;var _0xa22d8b=function(_0x368e5a){function _0x2327c6(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a[_0x1a4e('0x1')](this,_0x146f6e)||this;return _0x1adc17[_0x1a4e('0x1599')]=_0x2327c6,_0x1adc17['languageService']=_0x55ff7e,_0x1adc17[_0x1a4e('0x36c2')]=!0x1,_0x1adc17[_0x1a4e('0x16e6')]=_0x1adc17[_0x1a4e('0x1599')],_0x1adc17;}return _0x56674b(_0x2327c6,_0x368e5a),_0x2327c6[_0x1a4e('0xa')]['forwardJSONCall']=function(_0x368e5a,_0x146f6e){return _0x2c9ec9(this[_0x1a4e('0x16e6')],_0x368e5a,_0x146f6e,this[_0x1a4e('0x36c2')]);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x2f7c')]=function(_0x146f6e){this[_0x1a4e('0x16e6')][_0x1a4e('0x58')](_0x1a4e('0x36c3')),this[_0x1a4e('0x36c4')][_0x1a4e('0x2f7c')](),this[_0x1a4e('0x36c4')]=null,_0x16e10a&&_0x16e10a['CollectGarbage']&&(_0x16e10a['CollectGarbage'](),this[_0x1a4e('0x16e6')][_0x1a4e('0x58')](_0x1a4e('0x36c5'))),this[_0x1a4e('0x16e6')]=null,_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x2f7c')][_0x1a4e('0x1')](this,_0x146f6e);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36c6')]=function(_0x368e5a){this[_0x1a4e('0x36c7')](_0x1a4e('0x36c8')+_0x368e5a+')',function(){return null;});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36c9')]=function(){var _0x368e5a=this;this[_0x1a4e('0x36c7')](_0x1a4e('0x36ca'),function(){return _0x368e5a[_0x1a4e('0x36c4')][_0x1a4e('0x36c9')](),null;});},_0x2327c6['prototype']['realizeDiagnostics']=function(_0x368e5a){return _0x326eae(_0x368e5a,_0x146f6e[_0x1a4e('0x337b')](this[_0x1a4e('0x1599')]));},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3250')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36cb')+_0x368e5a+_0x1a4e('0x36cc')+_0x2327c6+',\x20'+_0x55ff7e+')',function(){return _0x1adc17[_0x1a4e('0x36c4')][_0x1a4e('0x3250')](_0x368e5a,_0x146f6e[_0x1a4e('0x22fb')](_0x2327c6,_0x55ff7e));});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x324f')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this['forwardJSONCall'](_0x1a4e('0x36cd')+_0x368e5a+'\x27,\x20'+_0x2327c6+',\x20'+_0x55ff7e+')',function(){return _0x1adc17[_0x1a4e('0x36c4')][_0x1a4e('0x324f')](_0x368e5a,_0x146f6e[_0x1a4e('0x22fb')](_0x2327c6,_0x55ff7e));});},_0x2327c6['prototype'][_0x1a4e('0x36ce')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36cf')+_0x368e5a+_0x1a4e('0x36cc')+_0x2327c6+',\x20'+_0x55ff7e+')',function(){return _0x489aea(_0x1adc17[_0x1a4e('0x36c4')]['getEncodedSyntacticClassifications'](_0x368e5a,_0x146f6e[_0x1a4e('0x22fb')](_0x2327c6,_0x55ff7e)));});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36d0')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36d1')+_0x368e5a+_0x1a4e('0x36cc')+_0x2327c6+',\x20'+_0x55ff7e+')',function(){return _0x489aea(_0x1adc17['languageService'][_0x1a4e('0x36d0')](_0x368e5a,_0x146f6e[_0x1a4e('0x22fb')](_0x2327c6,_0x55ff7e)));});},_0x2327c6['prototype'][_0x1a4e('0x2fb0')]=function(_0x368e5a){var _0x146f6e=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36d2')+_0x368e5a+'\x27)',function(){var _0x2327c6=_0x146f6e[_0x1a4e('0x36c4')][_0x1a4e('0x2fb0')](_0x368e5a);return _0x146f6e[_0x1a4e('0x36d3')](_0x2327c6);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x2fb2')]=function(_0x368e5a){var _0x146f6e=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36d4')+_0x368e5a+'\x27)',function(){var _0x2327c6=_0x146f6e[_0x1a4e('0x36c4')]['getSemanticDiagnostics'](_0x368e5a);return _0x146f6e['realizeDiagnostics'](_0x2327c6);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x2fe5')]=function(_0x368e5a){var _0x146f6e=this;return this['forwardJSONCall'](_0x1a4e('0x36d5')+_0x368e5a+'\x27)',function(){return _0x146f6e['realizeDiagnostics'](_0x146f6e['languageService'][_0x1a4e('0x2fe5')](_0x368e5a));});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36d6')]=function(){var _0x368e5a=this;return this[_0x1a4e('0x36c7')]('getCompilerOptionsDiagnostics()',function(){var _0x146f6e=_0x368e5a[_0x1a4e('0x36c4')][_0x1a4e('0x36d6')]();return _0x368e5a[_0x1a4e('0x36d3')](_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')]['getQuickInfoAtPosition']=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36d7')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x2327c6[_0x1a4e('0x36c4')][_0x1a4e('0x36d8')](_0x368e5a,_0x146f6e);});},_0x2327c6['prototype'][_0x1a4e('0x36d9')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this;return this['forwardJSONCall'](_0x1a4e('0x36da')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+',\x20'+_0x2327c6+')',function(){return _0x55ff7e[_0x1a4e('0x36c4')][_0x1a4e('0x36d9')](_0x368e5a,_0x146f6e,_0x2327c6);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36db')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')]('getBreakpointStatementAtPosition(\x27'+_0x368e5a+'\x27,\x20'+_0x146f6e+')',function(){return _0x2327c6[_0x1a4e('0x36c4')][_0x1a4e('0x36db')](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x369f')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this;return this[_0x1a4e('0x36c7')]('getSignatureHelpItems(\x27'+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x55ff7e['languageService'][_0x1a4e('0x369f')](_0x368e5a,_0x146f6e,_0x2327c6);});},_0x2327c6['prototype']['getDefinitionAtPosition']=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this['forwardJSONCall'](_0x1a4e('0x36dc')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x2327c6['languageService'][_0x1a4e('0x3330')](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3333')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36dd')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x2327c6['languageService']['getDefinitionAndBoundSpan'](_0x368e5a,_0x146f6e);});},_0x2327c6['prototype'][_0x1a4e('0x3331')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')]('getTypeDefinitionAtPosition(\x27'+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x2327c6[_0x1a4e('0x36c4')][_0x1a4e('0x3331')](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')]['getImplementationAtPosition']=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36de')+_0x368e5a+'\x27,\x20'+_0x146f6e+')',function(){return _0x2327c6[_0x1a4e('0x36c4')]['getImplementationAtPosition'](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3390')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this['forwardJSONCall'](_0x1a4e('0x36df')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x2327c6[_0x1a4e('0x36c4')][_0x1a4e('0x3390')](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36e0')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36e1')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+',\x20'+_0x2327c6+',\x20'+_0x55ff7e+')',function(){return _0x1adc17[_0x1a4e('0x36c4')][_0x1a4e('0x36e0')](_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e);});},_0x2327c6[_0x1a4e('0xa')]['getBraceMatchingAtPosition']=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this['forwardJSONCall']('getBraceMatchingAtPosition(\x27'+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x2327c6[_0x1a4e('0x36c4')][_0x1a4e('0x36e2')](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36e3')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36e4')+_0x368e5a+'\x27,\x20'+_0x146f6e+',\x20'+_0x2327c6+')',function(){return _0x55ff7e[_0x1a4e('0x36c4')][_0x1a4e('0x36e3')](_0x368e5a,_0x146f6e,_0x2327c6);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36e5')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this;return this['forwardJSONCall'](_0x1a4e('0x36e6')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x55ff7e[_0x1a4e('0x36c4')][_0x1a4e('0x36e5')](_0x368e5a,_0x146f6e,_0x2327c6);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36e7')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36e8')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){var _0x1adc17=JSON['parse'](_0x2327c6);return _0x55ff7e[_0x1a4e('0x36c4')][_0x1a4e('0x36e7')](_0x368e5a,_0x146f6e,_0x1adc17);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36e9')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36ea')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x2327c6[_0x1a4e('0x36c4')][_0x1a4e('0x36e9')](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36eb')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36ec')+_0x368e5a+'\x27,\x20'+_0x146f6e+')',function(){return _0x2327c6[_0x1a4e('0x36c4')][_0x1a4e('0x36eb')](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36ed')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36ee')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x2327c6[_0x1a4e('0x36c4')][_0x1a4e('0x36ed')](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x32c8')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this[_0x1a4e('0x36c7')]('getDocumentHighlights(\x27'+_0x368e5a+_0x1a4e('0x36cc')+_0x2327c6+')',function(){var _0xf79407=_0x1adc17[_0x1a4e('0x36c4')]['getDocumentHighlights'](_0x368e5a,_0x2327c6,JSON[_0x1a4e('0x25a')](_0x55ff7e)),_0x2c9ec9=_0x146f6e[_0x1a4e('0x166f')](_0x368e5a)[_0x1a4e('0x2b2')]();return _0x146f6e[_0x1a4e('0xd9')](_0xf79407,function(_0x368e5a){return _0x146f6e[_0x1a4e('0x166f')](_0x368e5a['fileName'])['toLowerCase']()===_0x2c9ec9;});});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3278')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36ef')+_0x368e5a+'\x27,\x20'+_0x146f6e+',\x20'+_0x2327c6+')',function(){return _0x55ff7e['languageService']['getCompletionsAtPosition'](_0x368e5a,_0x146f6e,_0x2327c6);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x32b6')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e,_0x1adc17,_0xf79407){var _0x2c9ec9=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36f0')+_0x368e5a+'\x27,\x20'+_0x146f6e+',\x20\x27'+_0x2327c6+'\x27)',function(){var _0x420b32=void 0x0===_0x55ff7e?void 0x0:JSON[_0x1a4e('0x25a')](_0x55ff7e);return _0x2c9ec9[_0x1a4e('0x36c4')]['getCompletionEntryDetails'](_0x368e5a,_0x146f6e,_0x2327c6,_0x420b32,_0x1adc17,_0xf79407);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36f1')]=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36f2')+_0x368e5a+'\x27,\x20'+_0x146f6e+',\x20'+_0x2327c6+')',function(){var _0xf79407=JSON[_0x1a4e('0x25a')](_0x55ff7e);return _0x1adc17[_0x1a4e('0x36c4')]['getFormattingEditsForRange'](_0x368e5a,_0x146f6e,_0x2327c6,_0xf79407);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36f3')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this['forwardJSONCall'](_0x1a4e('0x36f4')+_0x368e5a+'\x27)',function(){var _0x55ff7e=JSON[_0x1a4e('0x25a')](_0x146f6e);return _0x2327c6['languageService'][_0x1a4e('0x36f3')](_0x368e5a,_0x55ff7e);});},_0x2327c6[_0x1a4e('0xa')]['getFormattingEditsAfterKeystroke']=function(_0x368e5a,_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36f5')+_0x368e5a+'\x27,\x20'+_0x146f6e+_0x1a4e('0x36f6')+_0x2327c6+'\x27)',function(){var _0xf79407=JSON[_0x1a4e('0x25a')](_0x55ff7e);return _0x1adc17['languageService'][_0x1a4e('0x36f7')](_0x368e5a,_0x146f6e,_0x2327c6,_0xf79407);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3355')]=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36f8')+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+')',function(){return _0x2327c6['languageService'][_0x1a4e('0x3355')](_0x368e5a,_0x146f6e);});},_0x2327c6[_0x1a4e('0xa')]['getNavigateToItems']=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this;return this[_0x1a4e('0x36c7')]('getNavigateToItems(\x27'+_0x368e5a+_0x1a4e('0x36cc')+_0x146f6e+',\x20'+_0x2327c6+')',function(){return _0x55ff7e['languageService'][_0x1a4e('0x335e')](_0x368e5a,_0x146f6e,_0x2327c6);});},_0x2327c6['prototype'][_0x1a4e('0x336c')]=function(_0x368e5a){var _0x146f6e=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36f9')+_0x368e5a+'\x27)',function(){return _0x146f6e[_0x1a4e('0x36c4')][_0x1a4e('0x336c')](_0x368e5a);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x36a4')]=function(_0x368e5a){var _0x146f6e=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36fa')+_0x368e5a+'\x27)',function(){return _0x146f6e[_0x1a4e('0x36c4')][_0x1a4e('0x36a4')](_0x368e5a);});},_0x2327c6['prototype']['getOutliningSpans']=function(_0x368e5a){var _0x146f6e=this;return this['forwardJSONCall'](_0x1a4e('0x36fb')+_0x368e5a+'\x27)',function(){return _0x146f6e['languageService'][_0x1a4e('0x36fc')](_0x368e5a);});},_0x2327c6['prototype']['getTodoComments']=function(_0x368e5a,_0x146f6e){var _0x2327c6=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x36fd')+_0x368e5a+'\x27)',function(){return _0x2327c6[_0x1a4e('0x36c4')][_0x1a4e('0x36fe')](_0x368e5a,JSON[_0x1a4e('0x25a')](_0x146f6e));});},_0x2327c6['prototype']['getEmitOutput']=function(_0x368e5a){var _0x146f6e=this;return this['forwardJSONCall'](_0x1a4e('0x36ff')+_0x368e5a+'\x27)',function(){return _0x146f6e[_0x1a4e('0x36c4')][_0x1a4e('0x3700')](_0x368e5a);});},_0x2327c6['prototype']['getEmitOutputObject']=function(_0x368e5a){var _0x146f6e=this;return _0x420b32(this[_0x1a4e('0x16e6')],'getEmitOutput(\x27'+_0x368e5a+'\x27)',!0x1,function(){return _0x146f6e[_0x1a4e('0x36c4')][_0x1a4e('0x3700')](_0x368e5a);},this[_0x1a4e('0x36c2')]);},_0x2327c6;}(_0x1b06ad);function _0x489aea(_0x368e5a){return{'spans':_0x368e5a[_0x1a4e('0x3246')][_0x1a4e('0x9e')](','),'endOfLineState':_0x368e5a[_0x1a4e('0x3247')]};}var _0x49d3ce=function(_0x368e5a){function _0x2327c6(_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['call'](this,_0x2327c6)||this;return _0x1adc17[_0x1a4e('0x16e6')]=_0x55ff7e,_0x1adc17[_0x1a4e('0x36c2')]=!0x1,_0x1adc17[_0x1a4e('0x3701')]=_0x146f6e[_0x1a4e('0x3242')](),_0x1adc17;}return _0x56674b(_0x2327c6,_0x368e5a),_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3702')]=function(_0x368e5a,_0x146f6e,_0x2327c6){var _0x55ff7e=this;return void 0x0===_0x2327c6&&(_0x2327c6=!0x1),_0x2c9ec9(this[_0x1a4e('0x16e6')],_0x1a4e('0x3702'),function(){return _0x489aea(_0x55ff7e[_0x1a4e('0x3701')][_0x1a4e('0x3702')](_0x368e5a,_0x146f6e,_0x2327c6));},this['logPerformance']);},_0x2327c6[_0x1a4e('0xa')]['getClassificationsForLine']=function(_0x368e5a,_0x146f6e,_0x2327c6){void 0x0===_0x2327c6&&(_0x2327c6=!0x1);for(var _0x55ff7e=this[_0x1a4e('0x3701')][_0x1a4e('0x3703')](_0x368e5a,_0x146f6e,_0x2327c6),_0x1adc17='',_0xf79407=0x0,_0x2c9ec9=_0x55ff7e[_0x1a4e('0x3c3')];_0xf79407<_0x2c9ec9[_0x1a4e('0x1e')];_0xf79407++){var _0x420b32=_0x2c9ec9[_0xf79407];_0x1adc17+=_0x420b32[_0x1a4e('0x1e')]+'\x0a',_0x1adc17+=_0x420b32[_0x1a4e('0x3704')]+'\x0a';}return _0x1adc17+=_0x55ff7e['finalLexState'];},_0x2327c6;}(_0x1b06ad),_0x3665bb=function(_0x368e5a){function _0x2327c6(_0x146f6e,_0x2327c6,_0x55ff7e){var _0x1adc17=_0x368e5a['call'](this,_0x146f6e)||this;return _0x1adc17[_0x1a4e('0x16e6')]=_0x2327c6,_0x1adc17['host']=_0x55ff7e,_0x1adc17[_0x1a4e('0x36c2')]=!0x1,_0x1adc17;}return _0x56674b(_0x2327c6,_0x368e5a),_0x2327c6[_0x1a4e('0xa')]['forwardJSONCall']=function(_0x368e5a,_0x146f6e){return _0x2c9ec9(this[_0x1a4e('0x16e6')],_0x368e5a,_0x146f6e,this[_0x1a4e('0x36c2')]);},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x2fd3')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x3705')+_0x368e5a+'\x27)',function(){var _0xf79407=JSON[_0x1a4e('0x25a')](_0x55ff7e),_0x2c9ec9=_0x146f6e['resolveModuleName'](_0x2327c6,_0x146f6e[_0x1a4e('0x166f')](_0x368e5a),_0xf79407,_0x1adc17[_0x1a4e('0x1599')]),_0x420b32=_0x2c9ec9[_0x1a4e('0x2718')]?_0x2c9ec9[_0x1a4e('0x2718')][_0x1a4e('0x231a')]:void 0x0;return _0x2c9ec9[_0x1a4e('0x2718')]&&_0x1a4e('0x25be')!==_0x2c9ec9[_0x1a4e('0x2718')][_0x1a4e('0x2319')]&&'.tsx'!==_0x2c9ec9[_0x1a4e('0x2718')]['extension']&&'.d.ts'!==_0x2c9ec9[_0x1a4e('0x2718')][_0x1a4e('0x2319')]&&(_0x420b32=void 0x0),{'resolvedFileName':_0x420b32,'failedLookupLocations':_0x2c9ec9[_0x1a4e('0x2809')]};});},_0x2327c6['prototype'][_0x1a4e('0x27f1')]=function(_0x368e5a,_0x2327c6,_0x55ff7e){var _0x1adc17=this;return this['forwardJSONCall'](_0x1a4e('0x3706')+_0x368e5a+')',function(){var _0xf79407=JSON[_0x1a4e('0x25a')](_0x55ff7e),_0x2c9ec9=_0x146f6e[_0x1a4e('0x27f1')](_0x2327c6,_0x146f6e['normalizeSlashes'](_0x368e5a),_0xf79407,_0x1adc17['host']);return{'resolvedFileName':_0x2c9ec9[_0x1a4e('0x305a')]?_0x2c9ec9[_0x1a4e('0x305a')][_0x1a4e('0x231a')]:void 0x0,'primary':!_0x2c9ec9[_0x1a4e('0x305a')]||_0x2c9ec9['resolvedTypeReferenceDirective'][_0x1a4e('0x231f')],'failedLookupLocations':_0x2c9ec9[_0x1a4e('0x2809')]};});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3707')]=function(_0x368e5a,_0x2327c6){var _0x55ff7e=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x3708')+_0x368e5a+'\x27)',function(){var _0x368e5a=_0x146f6e[_0x1a4e('0x338d')](_0x146f6e['getSnapshotText'](_0x2327c6),!0x0,!0x0);return{'referencedFiles':_0x55ff7e[_0x1a4e('0x3709')](_0x368e5a[_0x1a4e('0x2617')]),'importedFiles':_0x55ff7e[_0x1a4e('0x3709')](_0x368e5a[_0x1a4e('0x370a')]),'ambientExternalModules':_0x368e5a['ambientExternalModules'],'isLibFile':_0x368e5a['isLibFile'],'typeReferenceDirectives':_0x55ff7e[_0x1a4e('0x3709')](_0x368e5a[_0x1a4e('0x2618')]),'libReferenceDirectives':_0x55ff7e[_0x1a4e('0x3709')](_0x368e5a[_0x1a4e('0x2619')])};});},_0x2327c6['prototype']['getAutomaticTypeDirectiveNames']=function(_0x368e5a){var _0x2327c6=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x370b')+_0x368e5a+'\x27)',function(){var _0x55ff7e=JSON[_0x1a4e('0x25a')](_0x368e5a);return _0x146f6e[_0x1a4e('0x27fb')](_0x55ff7e,_0x2327c6[_0x1a4e('0x1599')]);});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3709')]=function(_0x368e5a){if(_0x368e5a){for(var _0x2327c6=[],_0x55ff7e=0x0,_0x1adc17=_0x368e5a;_0x55ff7e<_0x1adc17[_0x1a4e('0x1e')];_0x55ff7e++){var _0xf79407=_0x1adc17[_0x55ff7e];_0x2327c6[_0x1a4e('0x46')]({'path':_0x146f6e['normalizeSlashes'](_0xf79407[_0x1a4e('0x1b39')]),'position':_0xf79407[_0x1a4e('0xa4')],'length':_0xf79407[_0x1a4e('0xca')]-_0xf79407[_0x1a4e('0xa4')]});}return _0x2327c6;}},_0x2327c6['prototype'][_0x1a4e('0x370c')]=function(_0x368e5a,_0x2327c6){var _0x55ff7e=this;return this[_0x1a4e('0x36c7')](_0x1a4e('0x370d')+_0x368e5a+'\x27)',function(){var _0x1adc17=_0x146f6e[_0x1a4e('0x2631')](_0x368e5a,_0x146f6e['getSnapshotText'](_0x2327c6)),_0xf79407=_0x146f6e[_0x1a4e('0x166f')](_0x368e5a),_0x2c9ec9=_0x146f6e[_0x1a4e('0x27c6')](_0x1adc17,_0x55ff7e['host'],_0x146f6e[_0x1a4e('0x1671')](_0xf79407),{},_0xf79407);return{'options':_0x2c9ec9['options'],'typeAcquisition':_0x2c9ec9[_0x1a4e('0x2709')],'files':_0x2c9ec9[_0x1a4e('0x2708')],'raw':_0x2c9ec9[_0x1a4e('0x87e')],'errors':_0x326eae(_0x1adc17[_0x1a4e('0x2636')]['concat'](_0x2c9ec9[_0x1a4e('0x8dd')]),'\x0d\x0a')};});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x370e')]=function(){return this[_0x1a4e('0x36c7')](_0x1a4e('0x370f'),function(){return _0x146f6e[_0x1a4e('0x33bb')]();});},_0x2327c6[_0x1a4e('0xa')][_0x1a4e('0x3130')]=function(_0x368e5a){var _0x2327c6=this,_0x55ff7e=_0x146f6e[_0x1a4e('0x1761')](!0x1);return this[_0x1a4e('0x36c7')](_0x1a4e('0x3710'),function(){var _0x1adc17=JSON[_0x1a4e('0x25a')](_0x368e5a);return void 0x0===_0x2327c6['safeList']&&(_0x2327c6[_0x1a4e('0x3711')]=_0x146f6e['JsTyping'][_0x1a4e('0x312e')](_0x2327c6[_0x1a4e('0x1599')],_0x146f6e[_0x1a4e('0x1087')](_0x1adc17[_0x1a4e('0x3712')],_0x1adc17['safeListPath'],_0x55ff7e))),_0x146f6e[_0x1a4e('0x314b')]['discoverTypings'](_0x2327c6['host'],function(_0x368e5a){return _0x2327c6[_0x1a4e('0x16e6')][_0x1a4e('0x58')](_0x368e5a);},_0x1adc17[_0x1a4e('0x2708')],_0x146f6e[_0x1a4e('0x1087')](_0x1adc17[_0x1a4e('0x3713')],_0x1adc17[_0x1a4e('0x3713')],_0x55ff7e),_0x2327c6[_0x1a4e('0x3711')],_0x1adc17[_0x1a4e('0x3714')],_0x1adc17[_0x1a4e('0x2709')],_0x1adc17[_0x1a4e('0x3715')],_0x1adc17[_0x1a4e('0x3716')]);});},_0x2327c6;}(_0x1b06ad),_0xa1c1d0=function(){function _0x368e5a(){this[_0x1a4e('0x3717')]=[];}return _0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x3718')]=function(){return _0x146f6e[_0x1a4e('0x3654')];},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x3719')]=function(_0x368e5a){try{void 0x0===this[_0x1a4e('0x371a')]&&(this[_0x1a4e('0x371a')]=_0x146f6e[_0x1a4e('0x32d5')](_0x368e5a[_0x1a4e('0x1b40')]&&_0x368e5a[_0x1a4e('0x1b40')](),_0x368e5a[_0x1a4e('0x241c')]()));var _0x55ff7e=new _0x1adc17(_0x368e5a),_0xf79407=_0x146f6e['createLanguageService'](_0x55ff7e,this[_0x1a4e('0x371a')],!0x1);return new _0xa22d8b(this,_0x368e5a,_0xf79407);}catch(_0x3175f6){throw _0x2327c6(_0x368e5a,_0x3175f6),_0x3175f6;}},_0x368e5a['prototype']['createClassifierShim']=function(_0x368e5a){try{return new _0x49d3ce(this,_0x368e5a);}catch(_0x211027){throw _0x2327c6(_0x368e5a,_0x211027),_0x211027;}},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x371b')]=function(_0x368e5a){try{var _0x146f6e=new _0xf79407(_0x368e5a);return new _0x3665bb(this,_0x368e5a,_0x146f6e);}catch(_0x1fa074){throw _0x2327c6(_0x368e5a,_0x1fa074),_0x1fa074;}},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){_0x146f6e[_0x1a4e('0xb5')](this[_0x1a4e('0x3717')]),this[_0x1a4e('0x371a')]=void 0x0;},_0x368e5a[_0x1a4e('0xa')][_0x1a4e('0x36c1')]=function(_0x368e5a){this[_0x1a4e('0x3717')][_0x1a4e('0x46')](_0x368e5a);},_0x368e5a['prototype']['unregisterShim']=function(_0x368e5a){for(var _0x146f6e=0x0;_0x146f6e=_0x309170)return _0x2461e7;switch(_0x2461e7){case'%s':return String(_0x2d7ec8[_0x241a82++]);case'%d':return Number(_0x2d7ec8[_0x241a82++]);case'%j':try{return JSON[_0x1a4e('0xd7')](_0x2d7ec8[_0x241a82++]);}catch(_0x4cf842){return _0x1a4e('0x3722');}default:return _0x2461e7;}}),_0xe244b2=_0x2d7ec8[_0x241a82];_0x241a82<_0x309170;_0xe244b2=_0x2d7ec8[++_0x241a82])_0x4d1b2a(_0xe244b2)||!_0x34543c(_0xe244b2)?_0x8ebe7b+='\x20'+_0xe244b2:_0x8ebe7b+='\x20'+_0x45a248(_0xe244b2);return _0x8ebe7b;},_0x52a409[_0x1a4e('0x3723')]=function(_0x241a82,_0x2d7ec8){if(void 0x0!==_0x2461e7&&!0x0===_0x2461e7[_0x1a4e('0x371f')])return _0x241a82;if(void 0x0===_0x2461e7)return function(){return _0x52a409[_0x1a4e('0x3723')](_0x241a82,_0x2d7ec8)[_0x1a4e('0x8b')](this,arguments);};var _0x5bbff3=!0x1;return function(){if(!_0x5bbff3){if(_0x2461e7[_0x1a4e('0x3720')])throw new Error(_0x2d7ec8);_0x2461e7[_0x1a4e('0x3721')]?console[_0x1a4e('0x27e0')](_0x2d7ec8):console[_0x1a4e('0x873')](_0x2d7ec8),_0x5bbff3=!0x0;}return _0x241a82['apply'](this,arguments);};};var _0xdb9ace,_0x16fb5e={};function _0x45a248(_0x2461e7,_0x241a82){var _0x2d7ec8={'seen':[],'stylize':_0x53a856};return arguments[_0x1a4e('0x1e')]>=0x3&&(_0x2d7ec8[_0x1a4e('0x4cd')]=arguments[0x2]),arguments[_0x1a4e('0x1e')]>=0x4&&(_0x2d7ec8[_0x1a4e('0x3724')]=arguments[0x3]),_0x6ec050(_0x241a82)?_0x2d7ec8['showHidden']=_0x241a82:_0x241a82&&_0x52a409['_extend'](_0x2d7ec8,_0x241a82),_0x373201(_0x2d7ec8['showHidden'])&&(_0x2d7ec8[_0x1a4e('0x3725')]=!0x1),_0x373201(_0x2d7ec8[_0x1a4e('0x4cd')])&&(_0x2d7ec8[_0x1a4e('0x4cd')]=0x2),_0x373201(_0x2d7ec8[_0x1a4e('0x3724')])&&(_0x2d7ec8[_0x1a4e('0x3724')]=!0x1),_0x373201(_0x2d7ec8[_0x1a4e('0x3726')])&&(_0x2d7ec8[_0x1a4e('0x3726')]=!0x0),_0x2d7ec8[_0x1a4e('0x3724')]&&(_0x2d7ec8[_0x1a4e('0x3727')]=_0xe35aa9),_0x376402(_0x2d7ec8,_0x2461e7,_0x2d7ec8[_0x1a4e('0x4cd')]);}function _0xe35aa9(_0x2461e7,_0x52a409){var _0x241a82=_0x45a248[_0x1a4e('0xe1d')][_0x52a409];return _0x241a82?'['+_0x45a248[_0x1a4e('0x3724')][_0x241a82][0x0]+'m'+_0x2461e7+'['+_0x45a248[_0x1a4e('0x3724')][_0x241a82][0x1]+'m':_0x2461e7;}function _0x53a856(_0x2461e7,_0x52a409){return _0x2461e7;}function _0x376402(_0x2461e7,_0x241a82,_0x2d7ec8){if(_0x2461e7['customInspect']&&_0x241a82&&_0x253b94(_0x241a82[_0x1a4e('0xae2')])&&_0x241a82[_0x1a4e('0xae2')]!==_0x52a409['inspect']&&(!_0x241a82[_0x1a4e('0x10')]||_0x241a82[_0x1a4e('0x10')][_0x1a4e('0xa')]!==_0x241a82)){var _0x5bbff3=_0x241a82[_0x1a4e('0xae2')](_0x2d7ec8,_0x2461e7);return _0x495f0f(_0x5bbff3)||(_0x5bbff3=_0x376402(_0x2461e7,_0x5bbff3,_0x2d7ec8)),_0x5bbff3;}var _0xdb9ace=function(_0x2461e7,_0x52a409){if(_0x373201(_0x52a409))return _0x2461e7[_0x1a4e('0x3727')](_0x1a4e('0x3'),'undefined');if(_0x495f0f(_0x52a409)){var _0x241a82='\x27'+JSON['stringify'](_0x52a409)[_0x1a4e('0x115')](/^"|"$/g,'')[_0x1a4e('0x115')](/'/g,'\x5c\x27')[_0x1a4e('0x115')](/\\"/g,'\x22')+'\x27';return _0x2461e7[_0x1a4e('0x3727')](_0x241a82,_0x1a4e('0x9'));}if(_0xd34b2a(_0x52a409))return _0x2461e7['stylize'](''+_0x52a409,_0x1a4e('0x3d'));if(_0x6ec050(_0x52a409))return _0x2461e7[_0x1a4e('0x3727')](''+_0x52a409,_0x1a4e('0x34b'));if(_0x4d1b2a(_0x52a409))return _0x2461e7[_0x1a4e('0x3727')](_0x1a4e('0xe7f'),'null');}(_0x2461e7,_0x241a82);if(_0xdb9ace)return _0xdb9ace;var _0x16fb5e=Object[_0x1a4e('0x56')](_0x241a82),_0x45a248=function(_0x2461e7){var _0x52a409={};return _0x2461e7[_0x1a4e('0x3b')](function(_0x2461e7,_0x241a82){_0x52a409[_0x2461e7]=!0x0;}),_0x52a409;}(_0x16fb5e);if(_0x2461e7[_0x1a4e('0x3725')]&&(_0x16fb5e=Object[_0x1a4e('0xd86')](_0x241a82)),_0x44b554(_0x241a82)&&(_0x16fb5e[_0x1a4e('0x3e')]('message')>=0x0||_0x16fb5e[_0x1a4e('0x3e')](_0x1a4e('0x27b1'))>=0x0))return _0x2e58ea(_0x241a82);if(0x0===_0x16fb5e[_0x1a4e('0x1e')]){if(_0x253b94(_0x241a82)){var _0xe35aa9=_0x241a82[_0x1a4e('0x2cb')]?':\x20'+_0x241a82[_0x1a4e('0x2cb')]:'';return _0x2461e7[_0x1a4e('0x3727')](_0x1a4e('0x3728')+_0xe35aa9+']',_0x1a4e('0x3729'));}if(_0x517b8f(_0x241a82))return _0x2461e7[_0x1a4e('0x3727')](RegExp[_0x1a4e('0xa')][_0x1a4e('0x95')][_0x1a4e('0x1')](_0x241a82),_0x1a4e('0x372a'));if(_0x40e75e(_0x241a82))return _0x2461e7[_0x1a4e('0x3727')](Date[_0x1a4e('0xa')][_0x1a4e('0x95')][_0x1a4e('0x1')](_0x241a82),_0x1a4e('0xf27'));if(_0x44b554(_0x241a82))return _0x2e58ea(_0x241a82);}var _0x53a856,_0xb75a9c='',_0xc1533b=!0x1,_0x926437=['{','}'];(_0x37bd18(_0x241a82)&&(_0xc1533b=!0x0,_0x926437=['[',']']),_0x253b94(_0x241a82))&&(_0xb75a9c='\x20[Function'+(_0x241a82[_0x1a4e('0x2cb')]?':\x20'+_0x241a82['name']:'')+']');return _0x517b8f(_0x241a82)&&(_0xb75a9c='\x20'+RegExp[_0x1a4e('0xa')]['toString']['call'](_0x241a82)),_0x40e75e(_0x241a82)&&(_0xb75a9c='\x20'+Date[_0x1a4e('0xa')][_0x1a4e('0x372b')][_0x1a4e('0x1')](_0x241a82)),_0x44b554(_0x241a82)&&(_0xb75a9c='\x20'+_0x2e58ea(_0x241a82)),0x0!==_0x16fb5e[_0x1a4e('0x1e')]||_0xc1533b&&0x0!=_0x241a82['length']?_0x2d7ec8<0x0?_0x517b8f(_0x241a82)?_0x2461e7[_0x1a4e('0x3727')](RegExp[_0x1a4e('0xa')][_0x1a4e('0x95')][_0x1a4e('0x1')](_0x241a82),'regexp'):_0x2461e7[_0x1a4e('0x3727')](_0x1a4e('0x372c'),_0x1a4e('0x3729')):(_0x2461e7[_0x1a4e('0x372d')][_0x1a4e('0x46')](_0x241a82),_0x53a856=_0xc1533b?function(_0x2461e7,_0x52a409,_0x241a82,_0x2d7ec8,_0x5bbff3){for(var _0xdb9ace=[],_0x16fb5e=0x0,_0x45a248=_0x52a409[_0x1a4e('0x1e')];_0x16fb5e<_0x45a248;++_0x16fb5e)_0x399fd1(_0x52a409,String(_0x16fb5e))?_0xdb9ace[_0x1a4e('0x46')](_0x3be4e5(_0x2461e7,_0x52a409,_0x241a82,_0x2d7ec8,String(_0x16fb5e),!0x0)):_0xdb9ace[_0x1a4e('0x46')]('');return _0x5bbff3[_0x1a4e('0x3b')](function(_0x5bbff3){_0x5bbff3[_0x1a4e('0x909')](/^\d+$/)||_0xdb9ace[_0x1a4e('0x46')](_0x3be4e5(_0x2461e7,_0x52a409,_0x241a82,_0x2d7ec8,_0x5bbff3,!0x0));}),_0xdb9ace;}(_0x2461e7,_0x241a82,_0x2d7ec8,_0x45a248,_0x16fb5e):_0x16fb5e[_0x1a4e('0x21')](function(_0x52a409){return _0x3be4e5(_0x2461e7,_0x241a82,_0x2d7ec8,_0x45a248,_0x52a409,_0xc1533b);}),_0x2461e7[_0x1a4e('0x372d')]['pop'](),function(_0x2461e7,_0x52a409,_0x241a82){if(_0x2461e7[_0x1a4e('0xbb')](function(_0x2461e7,_0x52a409){return 0x0,_0x52a409[_0x1a4e('0x3e')]('\x0a')>=0x0&&0x0,_0x2461e7+_0x52a409[_0x1a4e('0x115')](/\u001b\[\d\d?m/g,'')[_0x1a4e('0x1e')]+0x1;},0x0)>0x3c)return _0x241a82[0x0]+(''===_0x52a409?'':_0x52a409+'\x0a\x20')+'\x20'+_0x2461e7[_0x1a4e('0x9e')](',\x0a\x20\x20')+'\x20'+_0x241a82[0x1];return _0x241a82[0x0]+_0x52a409+'\x20'+_0x2461e7['join'](',\x20')+'\x20'+_0x241a82[0x1];}(_0x53a856,_0xb75a9c,_0x926437)):_0x926437[0x0]+_0xb75a9c+_0x926437[0x1];}function _0x2e58ea(_0x2461e7){return'['+Error[_0x1a4e('0xa')]['toString'][_0x1a4e('0x1')](_0x2461e7)+']';}function _0x3be4e5(_0x2461e7,_0x52a409,_0x241a82,_0x2d7ec8,_0x5bbff3,_0xdb9ace){var _0x16fb5e,_0x45a248,_0xe35aa9;if((_0xe35aa9=Object[_0x1a4e('0x12fc')](_0x52a409,_0x5bbff3)||{'value':_0x52a409[_0x5bbff3]})[_0x1a4e('0x179')]?_0x45a248=_0xe35aa9[_0x1a4e('0x17a')]?_0x2461e7[_0x1a4e('0x3727')](_0x1a4e('0x372e'),_0x1a4e('0x3729')):_0x2461e7[_0x1a4e('0x3727')](_0x1a4e('0x372f'),_0x1a4e('0x3729')):_0xe35aa9[_0x1a4e('0x17a')]&&(_0x45a248=_0x2461e7[_0x1a4e('0x3727')](_0x1a4e('0x3730'),_0x1a4e('0x3729'))),_0x399fd1(_0x2d7ec8,_0x5bbff3)||(_0x16fb5e='['+_0x5bbff3+']'),_0x45a248||(_0x2461e7[_0x1a4e('0x372d')][_0x1a4e('0x3e')](_0xe35aa9['value'])<0x0?(_0x45a248=_0x4d1b2a(_0x241a82)?_0x376402(_0x2461e7,_0xe35aa9[_0x1a4e('0x255')],null):_0x376402(_0x2461e7,_0xe35aa9[_0x1a4e('0x255')],_0x241a82-0x1))['indexOf']('\x0a')>-0x1&&(_0x45a248=_0xdb9ace?_0x45a248['split']('\x0a')[_0x1a4e('0x21')](function(_0x2461e7){return'\x20\x20'+_0x2461e7;})[_0x1a4e('0x9e')]('\x0a')['substr'](0x2):'\x0a'+_0x45a248[_0x1a4e('0x2be')]('\x0a')[_0x1a4e('0x21')](function(_0x2461e7){return _0x1a4e('0x472')+_0x2461e7;})[_0x1a4e('0x9e')]('\x0a')):_0x45a248=_0x2461e7['stylize'](_0x1a4e('0x3722'),_0x1a4e('0x3729'))),_0x373201(_0x16fb5e)){if(_0xdb9ace&&_0x5bbff3[_0x1a4e('0x909')](/^\d+$/))return _0x45a248;(_0x16fb5e=JSON['stringify'](''+_0x5bbff3))[_0x1a4e('0x909')](/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(_0x16fb5e=_0x16fb5e[_0x1a4e('0x254')](0x1,_0x16fb5e[_0x1a4e('0x1e')]-0x2),_0x16fb5e=_0x2461e7[_0x1a4e('0x3727')](_0x16fb5e,_0x1a4e('0x2cb'))):(_0x16fb5e=_0x16fb5e[_0x1a4e('0x115')](/'/g,'\x5c\x27')[_0x1a4e('0x115')](/\\"/g,'\x22')[_0x1a4e('0x115')](/(^"|"$)/g,'\x27'),_0x16fb5e=_0x2461e7['stylize'](_0x16fb5e,_0x1a4e('0x9')));}return _0x16fb5e+':\x20'+_0x45a248;}function _0x37bd18(_0x2461e7){return Array[_0x1a4e('0x15')](_0x2461e7);}function _0x6ec050(_0x2461e7){return'boolean'==typeof _0x2461e7;}function _0x4d1b2a(_0x2461e7){return null===_0x2461e7;}function _0xd34b2a(_0x2461e7){return _0x1a4e('0x3d')==typeof _0x2461e7;}function _0x495f0f(_0x2461e7){return'string'==typeof _0x2461e7;}function _0x373201(_0x2461e7){return void 0x0===_0x2461e7;}function _0x517b8f(_0x2461e7){return _0x34543c(_0x2461e7)&&_0x1a4e('0xb1e')===_0x356f1b(_0x2461e7);}function _0x34543c(_0x2461e7){return _0x1a4e('0x85')==typeof _0x2461e7&&null!==_0x2461e7;}function _0x40e75e(_0x2461e7){return _0x34543c(_0x2461e7)&&_0x1a4e('0xb20')===_0x356f1b(_0x2461e7);}function _0x44b554(_0x2461e7){return _0x34543c(_0x2461e7)&&(_0x1a4e('0xf85')===_0x356f1b(_0x2461e7)||_0x2461e7 instanceof Error);}function _0x253b94(_0x2461e7){return _0x1a4e('0x68')==typeof _0x2461e7;}function _0x356f1b(_0x2461e7){return Object[_0x1a4e('0xa')][_0x1a4e('0x95')]['call'](_0x2461e7);}function _0x97e392(_0x2461e7){return _0x2461e7<0xa?'0'+_0x2461e7[_0x1a4e('0x95')](0xa):_0x2461e7[_0x1a4e('0x95')](0xa);}_0x52a409[_0x1a4e('0x1398')]=function(_0x241a82){if(_0x373201(_0xdb9ace)&&(_0xdb9ace=_0x1a4e('0x1b58')[_0x1a4e('0x3731')]||''),_0x241a82=_0x241a82[_0x1a4e('0x257')](),!_0x16fb5e[_0x241a82])if(new RegExp('\x5cb'+_0x241a82+'\x5cb','i')[_0x1a4e('0x8d0')](_0xdb9ace)){var _0x2d7ec8=_0x2461e7[_0x1a4e('0x3732')];_0x16fb5e[_0x241a82]=function(){var _0x2461e7=_0x52a409[_0x1a4e('0x390')][_0x1a4e('0x8b')](_0x52a409,arguments);console['error'](_0x1a4e('0x3733'),_0x241a82,_0x2d7ec8,_0x2461e7);};}else _0x16fb5e[_0x241a82]=function(){};return _0x16fb5e[_0x241a82];},_0x52a409[_0x1a4e('0xae2')]=_0x45a248,_0x45a248[_0x1a4e('0x3724')]={'bold':[0x1,0x16],'italic':[0x3,0x17],'underline':[0x4,0x18],'inverse':[0x7,0x1b],'white':[0x25,0x27],'grey':[0x5a,0x27],'black':[0x1e,0x27],'blue':[0x22,0x27],'cyan':[0x24,0x27],'green':[0x20,0x27],'magenta':[0x23,0x27],'red':[0x1f,0x27],'yellow':[0x21,0x27]},_0x45a248['styles']={'special':_0x1a4e('0x3734'),'number':_0x1a4e('0x3735'),'boolean':_0x1a4e('0x3735'),'undefined':_0x1a4e('0x3736'),'null':_0x1a4e('0x3737'),'string':'green','date':_0x1a4e('0x3738'),'regexp':'red'},_0x52a409[_0x1a4e('0x15')]=_0x37bd18,_0x52a409['isBoolean']=_0x6ec050,_0x52a409[_0x1a4e('0x29d')]=_0x4d1b2a,_0x52a409['isNullOrUndefined']=function(_0x2461e7){return null==_0x2461e7;},_0x52a409[_0x1a4e('0x84c')]=_0xd34b2a,_0x52a409[_0x1a4e('0xb19')]=_0x495f0f,_0x52a409[_0x1a4e('0xb1a')]=function(_0x2461e7){return'symbol'==typeof _0x2461e7;},_0x52a409[_0x1a4e('0xb1c')]=_0x373201,_0x52a409[_0x1a4e('0xb1d')]=_0x517b8f,_0x52a409[_0x1a4e('0x84d')]=_0x34543c,_0x52a409[_0x1a4e('0xb1f')]=_0x40e75e,_0x52a409[_0x1a4e('0x8b4')]=_0x44b554,_0x52a409[_0x1a4e('0xb21')]=_0x253b94,_0x52a409[_0x1a4e('0x3739')]=function(_0x2461e7){return null===_0x2461e7||_0x1a4e('0x34b')==typeof _0x2461e7||_0x1a4e('0x3d')==typeof _0x2461e7||_0x1a4e('0x9')==typeof _0x2461e7||'symbol'==typeof _0x2461e7||void 0x0===_0x2461e7;},_0x52a409[_0x1a4e('0x871')]=_0x241a82(_0x1a4e('0x373a'));var _0x21fa56=[_0x1a4e('0x373b'),_0x1a4e('0x373c'),_0x1a4e('0x373d'),_0x1a4e('0x373e'),_0x1a4e('0x373f'),_0x1a4e('0x3740'),_0x1a4e('0x3741'),_0x1a4e('0x3742'),_0x1a4e('0x3743'),_0x1a4e('0x3744'),_0x1a4e('0x3745'),'Dec'];function _0x3754aa(){var _0x2461e7=new Date(),_0x52a409=[_0x97e392(_0x2461e7[_0x1a4e('0xf07')]()),_0x97e392(_0x2461e7[_0x1a4e('0xf08')]()),_0x97e392(_0x2461e7[_0x1a4e('0xf09')]())][_0x1a4e('0x9e')](':');return[_0x2461e7[_0x1a4e('0x3746')](),_0x21fa56[_0x2461e7[_0x1a4e('0xf06')]()],_0x52a409]['join']('\x20');}function _0x399fd1(_0x2461e7,_0x52a409){return Object[_0x1a4e('0xa')]['hasOwnProperty']['call'](_0x2461e7,_0x52a409);}_0x52a409[_0x1a4e('0x58')]=function(){console[_0x1a4e('0x58')]('%s\x20-\x20%s',_0x3754aa(),_0x52a409['format']['apply'](_0x52a409,arguments));},_0x52a409[_0x1a4e('0xdd4')]=_0x241a82(_0x1a4e('0x863')),_0x52a409[_0x1a4e('0x3747')]=function(_0x2461e7,_0x52a409){if(!_0x52a409||!_0x34543c(_0x52a409))return _0x2461e7;for(var _0x241a82=Object[_0x1a4e('0x56')](_0x52a409),_0x2d7ec8=_0x241a82['length'];_0x2d7ec8--;)_0x2461e7[_0x241a82[_0x2d7ec8]]=_0x52a409[_0x241a82[_0x2d7ec8]];return _0x2461e7;};var _0x3a6e3c=_0x1a4e('0x3')!=typeof Symbol?Symbol(_0x1a4e('0x3748')):void 0x0;function _0x558e5a(_0x2461e7,_0x52a409){if(!_0x2461e7){var _0x241a82=new Error(_0x1a4e('0x3749'));_0x241a82[_0x1a4e('0x374a')]=_0x2461e7,_0x2461e7=_0x241a82;}return _0x52a409(_0x2461e7);}_0x52a409[_0x1a4e('0x374b')]=function(_0x2461e7){if(_0x1a4e('0x68')!=typeof _0x2461e7)throw new TypeError(_0x1a4e('0x374c'));if(_0x3a6e3c&&_0x2461e7[_0x3a6e3c]){var _0x52a409;if(_0x1a4e('0x68')!=typeof(_0x52a409=_0x2461e7[_0x3a6e3c]))throw new TypeError(_0x1a4e('0x374d'));return Object[_0x1a4e('0x2')](_0x52a409,_0x3a6e3c,{'value':_0x52a409,'enumerable':!0x1,'writable':!0x1,'configurable':!0x0}),_0x52a409;}function _0x52a409(){for(var _0x52a409,_0x241a82,_0x2d7ec8=new Promise(function(_0x2461e7,_0x2d7ec8){_0x52a409=_0x2461e7,_0x241a82=_0x2d7ec8;}),_0x5bbff3=[],_0xdb9ace=0x0;_0xdb9ace',this[_0x1a4e('0x376c')]=_0x230eac&&_0x230eac[_0x1a4e('0x13')]||{},this['_zoneDelegate']=new _0x37c765(this,this[_0x1a4e('0x5ba')]&&this[_0x1a4e('0x5ba')][_0x1a4e('0x376d')],_0x230eac);}static[_0x1a4e('0x376e')](){if(_0x48773c[_0x1a4e('0xf55')]!==_0x7aaf0b[_0x1a4e('0x376f')])throw new Error(_0x1a4e('0x3770'));}static get[_0x1a4e('0x1372')](){let _0x48773c=_0x88f13b[_0x1a4e('0x3771')];for(;_0x48773c[_0x1a4e('0x11c')];)_0x48773c=_0x48773c['parent'];return _0x48773c;}static get[_0x1a4e('0x3771')](){return _0x25d7a3[_0x1a4e('0x3772')];}static get[_0x1a4e('0x3773')](){return _0x58a978;}static[_0x1a4e('0x3774')](_0x230eac,_0x4462e8){if(_0x7aaf0b[_0x1a4e('0xb')](_0x230eac)){if(_0x24f625)throw Error(_0x1a4e('0x3775')+_0x230eac);}else if(!_0x48773c['__Zone_disable_'+_0x230eac]){const _0x2bfa93=_0x1a4e('0x3776')+_0x230eac;_0x410fdb(_0x2bfa93),_0x7aaf0b[_0x230eac]=_0x4462e8(_0x48773c,_0x88f13b,_0x2f2f9f),_0x26f579(_0x2bfa93,_0x2bfa93);}}get[_0x1a4e('0x11c')](){return this[_0x1a4e('0x5ba')];}get['name'](){return this[_0x1a4e('0x3d3')];}[_0x1a4e('0x179')](_0x48773c){const _0x230eac=this[_0x1a4e('0x3777')](_0x48773c);if(_0x230eac)return _0x230eac['_properties'][_0x48773c];}[_0x1a4e('0x3777')](_0x48773c){let _0x230eac=this;for(;_0x230eac;){if(_0x230eac['_properties'][_0x1a4e('0xb')](_0x48773c))return _0x230eac;_0x230eac=_0x230eac['_parent'];}return null;}['fork'](_0x48773c){if(!_0x48773c)throw new Error(_0x1a4e('0x3778'));return this[_0x1a4e('0x376d')][_0x1a4e('0x3779')](this,_0x48773c);}[_0x1a4e('0x24f')](_0x48773c,_0x230eac){if(_0x1a4e('0x68')!=typeof _0x48773c)throw new Error(_0x1a4e('0x377a')+_0x48773c);const _0x410fdb=this[_0x1a4e('0x376d')][_0x1a4e('0x377b')](this,_0x48773c,_0x230eac),_0x26f579=this;return function(){return _0x26f579['runGuarded'](_0x410fdb,this,arguments,_0x230eac);};}[_0x1a4e('0x1f3')](_0x48773c,_0x230eac,_0x410fdb,_0x26f579){_0x25d7a3={'parent':_0x25d7a3,'zone':this};try{return this[_0x1a4e('0x376d')][_0x1a4e('0x10a6')](this,_0x48773c,_0x230eac,_0x410fdb,_0x26f579);}finally{_0x25d7a3=_0x25d7a3[_0x1a4e('0x11c')];}}[_0x1a4e('0x377c')](_0x48773c,_0x230eac=null,_0x410fdb,_0x26f579){_0x25d7a3={'parent':_0x25d7a3,'zone':this};try{try{return this[_0x1a4e('0x376d')]['invoke'](this,_0x48773c,_0x230eac,_0x410fdb,_0x26f579);}catch(_0xc81c01){if(this[_0x1a4e('0x376d')][_0x1a4e('0x377d')](this,_0xc81c01))throw _0xc81c01;}}finally{_0x25d7a3=_0x25d7a3[_0x1a4e('0x11c')];}}['runTask'](_0x48773c,_0x230eac,_0x410fdb){if(_0x48773c['zone']!=this)throw new Error(_0x1a4e('0x377e')+(_0x48773c[_0x1a4e('0x3772')]||_0x28af52)[_0x1a4e('0x2cb')]+_0x1a4e('0x377f')+this[_0x1a4e('0x2cb')]+')');if(_0x48773c[_0x1a4e('0xa46')]===_0x48d66e&&(_0x48773c[_0x1a4e('0x40')]===_0x527e5b||_0x48773c[_0x1a4e('0x40')]===_0x534031))return;const _0x26f579=_0x48773c[_0x1a4e('0xa46')]!=_0x559606;_0x26f579&&_0x48773c[_0x1a4e('0x3780')](_0x559606,_0x1102cd),_0x48773c['runCount']++;const _0x4462e8=_0x58a978;_0x58a978=_0x48773c,_0x25d7a3={'parent':_0x25d7a3,'zone':this};try{_0x48773c['type']==_0x534031&&_0x48773c[_0x1a4e('0x7f')]&&!_0x48773c['data'][_0x1a4e('0x3781')]&&(_0x48773c[_0x1a4e('0x3782')]=void 0x0);try{return this[_0x1a4e('0x376d')][_0x1a4e('0x3783')](this,_0x48773c,_0x230eac,_0x410fdb);}catch(_0x612041){if(this['_zoneDelegate'][_0x1a4e('0x377d')](this,_0x612041))throw _0x612041;}}finally{_0x48773c['state']!==_0x48d66e&&_0x48773c[_0x1a4e('0xa46')]!==_0x3582aa&&(_0x48773c[_0x1a4e('0x40')]==_0x527e5b||_0x48773c[_0x1a4e('0x7f')]&&_0x48773c['data'][_0x1a4e('0x3781')]?_0x26f579&&_0x48773c[_0x1a4e('0x3780')](_0x1102cd,_0x559606):(_0x48773c[_0x1a4e('0x3784')]=0x0,this[_0x1a4e('0x3785')](_0x48773c,-0x1),_0x26f579&&_0x48773c['_transitionTo'](_0x48d66e,_0x559606,_0x48d66e))),_0x25d7a3=_0x25d7a3[_0x1a4e('0x11c')],_0x58a978=_0x4462e8;}}[_0x1a4e('0x3786')](_0x48773c){if(_0x48773c[_0x1a4e('0x3772')]&&_0x48773c[_0x1a4e('0x3772')]!==this){let _0x230eac=this;for(;_0x230eac;){if(_0x230eac===_0x48773c[_0x1a4e('0x3772')])throw Error(_0x1a4e('0x3787')+this[_0x1a4e('0x2cb')]+_0x1a4e('0x3788')+_0x48773c[_0x1a4e('0x3772')][_0x1a4e('0x2cb')]);_0x230eac=_0x230eac[_0x1a4e('0x11c')];}}_0x48773c[_0x1a4e('0x3780')](_0x3be406,_0x48d66e);const _0x230eac=[];_0x48773c[_0x1a4e('0x3789')]=_0x230eac,_0x48773c['_zone']=this;try{_0x48773c=this['_zoneDelegate'][_0x1a4e('0x3786')](this,_0x48773c);}catch(_0x5e27be){throw _0x48773c[_0x1a4e('0x3780')](_0x3582aa,_0x3be406,_0x48d66e),this['_zoneDelegate'][_0x1a4e('0x377d')](this,_0x5e27be),_0x5e27be;}return _0x48773c[_0x1a4e('0x3789')]===_0x230eac&&this[_0x1a4e('0x3785')](_0x48773c,0x1),_0x48773c[_0x1a4e('0xa46')]==_0x3be406&&_0x48773c[_0x1a4e('0x3780')](_0x1102cd,_0x3be406),_0x48773c;}[_0x1a4e('0x378a')](_0x48773c,_0x230eac,_0x410fdb,_0x26f579){return this['scheduleTask'](new _0x212e9d(_0x573104,_0x48773c,_0x230eac,_0x410fdb,_0x26f579,void 0x0));}['scheduleMacroTask'](_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8){return this['scheduleTask'](new _0x212e9d(_0x534031,_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8));}[_0x1a4e('0x378b')](_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8){return this[_0x1a4e('0x3786')](new _0x212e9d(_0x527e5b,_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8));}[_0x1a4e('0x378c')](_0x48773c){if(_0x48773c[_0x1a4e('0x3772')]!=this)throw new Error(_0x1a4e('0x378d')+(_0x48773c[_0x1a4e('0x3772')]||_0x28af52)[_0x1a4e('0x2cb')]+_0x1a4e('0x377f')+this[_0x1a4e('0x2cb')]+')');_0x48773c[_0x1a4e('0x3780')](_0x2fc584,_0x1102cd,_0x559606);try{this[_0x1a4e('0x376d')][_0x1a4e('0x378c')](this,_0x48773c);}catch(_0x54a0a7){throw _0x48773c[_0x1a4e('0x3780')](_0x3582aa,_0x2fc584),this[_0x1a4e('0x376d')][_0x1a4e('0x377d')](this,_0x54a0a7),_0x54a0a7;}return this[_0x1a4e('0x3785')](_0x48773c,-0x1),_0x48773c[_0x1a4e('0x3780')](_0x48d66e,_0x2fc584),_0x48773c[_0x1a4e('0x3784')]=0x0,_0x48773c;}[_0x1a4e('0x3785')](_0x48773c,_0x230eac){const _0x410fdb=_0x48773c[_0x1a4e('0x3789')];-0x1==_0x230eac&&(_0x48773c[_0x1a4e('0x3789')]=null);for(let _0x26f579=0x0;_0x26f579<_0x410fdb[_0x1a4e('0x1e')];_0x26f579++)_0x410fdb[_0x26f579][_0x1a4e('0x3785')](_0x48773c[_0x1a4e('0x40')],_0x230eac);}}_0x88f13b[_0x1a4e('0x3769')]=_0x2bfa93;const _0x5ea16d={'name':'','onHasTask':(_0x48773c,_0x230eac,_0x410fdb,_0x26f579)=>_0x48773c[_0x1a4e('0x378e')](_0x410fdb,_0x26f579),'onScheduleTask':(_0x48773c,_0x230eac,_0x410fdb,_0x26f579)=>_0x48773c[_0x1a4e('0x3786')](_0x410fdb,_0x26f579),'onInvokeTask':(_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8,_0x2bfa93)=>_0x48773c[_0x1a4e('0x3783')](_0x410fdb,_0x26f579,_0x4462e8,_0x2bfa93),'onCancelTask':(_0x48773c,_0x230eac,_0x410fdb,_0x26f579)=>_0x48773c[_0x1a4e('0x378c')](_0x410fdb,_0x26f579)};class _0x37c765{constructor(_0x48773c,_0x230eac,_0x410fdb){this['_taskCounts']={'microTask':0x0,'macroTask':0x0,'eventTask':0x0},this['zone']=_0x48773c,this['_parentDelegate']=_0x230eac,this[_0x1a4e('0x378f')]=_0x410fdb&&(_0x410fdb&&_0x410fdb[_0x1a4e('0x3790')]?_0x410fdb:_0x230eac[_0x1a4e('0x378f')]),this['_forkDlgt']=_0x410fdb&&(_0x410fdb['onFork']?_0x230eac:_0x230eac['_forkDlgt']),this[_0x1a4e('0x3791')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x3790')]?this[_0x1a4e('0x3772')]:_0x230eac[_0x1a4e('0x3791')]),this[_0x1a4e('0x3792')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x3793')]?_0x410fdb:_0x230eac[_0x1a4e('0x3792')]),this['_interceptDlgt']=_0x410fdb&&(_0x410fdb[_0x1a4e('0x3793')]?_0x230eac:_0x230eac[_0x1a4e('0x3794')]),this[_0x1a4e('0x3795')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x3793')]?this[_0x1a4e('0x3772')]:_0x230eac[_0x1a4e('0x3795')]),this[_0x1a4e('0x3796')]=_0x410fdb&&(_0x410fdb['onInvoke']?_0x410fdb:_0x230eac['_invokeZS']),this[_0x1a4e('0x3797')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x3798')]?_0x230eac:_0x230eac['_invokeDlgt']),this['_invokeCurrZone']=_0x410fdb&&(_0x410fdb[_0x1a4e('0x3798')]?this[_0x1a4e('0x3772')]:_0x230eac[_0x1a4e('0x3799')]),this['_handleErrorZS']=_0x410fdb&&(_0x410fdb['onHandleError']?_0x410fdb:_0x230eac[_0x1a4e('0x379a')]),this[_0x1a4e('0x379b')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x379c')]?_0x230eac:_0x230eac['_handleErrorDlgt']),this['_handleErrorCurrZone']=_0x410fdb&&(_0x410fdb[_0x1a4e('0x379c')]?this[_0x1a4e('0x3772')]:_0x230eac[_0x1a4e('0x379d')]),this[_0x1a4e('0x379e')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x379f')]?_0x410fdb:_0x230eac[_0x1a4e('0x379e')]),this[_0x1a4e('0x37a0')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x379f')]?_0x230eac:_0x230eac[_0x1a4e('0x37a0')]),this[_0x1a4e('0x37a1')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x379f')]?this[_0x1a4e('0x3772')]:_0x230eac[_0x1a4e('0x37a1')]),this['_invokeTaskZS']=_0x410fdb&&(_0x410fdb[_0x1a4e('0x37a2')]?_0x410fdb:_0x230eac[_0x1a4e('0x37a3')]),this['_invokeTaskDlgt']=_0x410fdb&&(_0x410fdb[_0x1a4e('0x37a2')]?_0x230eac:_0x230eac[_0x1a4e('0x37a4')]),this['_invokeTaskCurrZone']=_0x410fdb&&(_0x410fdb[_0x1a4e('0x37a2')]?this['zone']:_0x230eac[_0x1a4e('0x37a5')]),this[_0x1a4e('0x37a6')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x37a7')]?_0x410fdb:_0x230eac[_0x1a4e('0x37a6')]),this[_0x1a4e('0x37a8')]=_0x410fdb&&(_0x410fdb[_0x1a4e('0x37a7')]?_0x230eac:_0x230eac['_cancelTaskDlgt']),this['_cancelTaskCurrZone']=_0x410fdb&&(_0x410fdb[_0x1a4e('0x37a7')]?this['zone']:_0x230eac[_0x1a4e('0x37a9')]),this[_0x1a4e('0x37aa')]=null,this[_0x1a4e('0x37ab')]=null,this[_0x1a4e('0x37ac')]=null,this[_0x1a4e('0x37ad')]=null;const _0x26f579=_0x410fdb&&_0x410fdb[_0x1a4e('0x37ae')],_0x4462e8=_0x230eac&&_0x230eac['_hasTaskZS'];(_0x26f579||_0x4462e8)&&(this[_0x1a4e('0x37aa')]=_0x26f579?_0x410fdb:_0x5ea16d,this['_hasTaskDlgt']=_0x230eac,this[_0x1a4e('0x37ac')]=this,this[_0x1a4e('0x37ad')]=_0x48773c,_0x410fdb[_0x1a4e('0x379f')]||(this['_scheduleTaskZS']=_0x5ea16d,this[_0x1a4e('0x37a0')]=_0x230eac,this[_0x1a4e('0x37a1')]=this[_0x1a4e('0x3772')]),_0x410fdb[_0x1a4e('0x37a2')]||(this[_0x1a4e('0x37a3')]=_0x5ea16d,this[_0x1a4e('0x37a4')]=_0x230eac,this[_0x1a4e('0x37a5')]=this[_0x1a4e('0x3772')]),_0x410fdb[_0x1a4e('0x37a7')]||(this[_0x1a4e('0x37a6')]=_0x5ea16d,this['_cancelTaskDlgt']=_0x230eac,this[_0x1a4e('0x37a9')]=this[_0x1a4e('0x3772')]));}[_0x1a4e('0x3779')](_0x48773c,_0x230eac){return this[_0x1a4e('0x378f')]?this[_0x1a4e('0x378f')]['onFork'](this[_0x1a4e('0x37af')],this[_0x1a4e('0x3772')],_0x48773c,_0x230eac):new _0x88f13b(_0x48773c,_0x230eac);}['intercept'](_0x48773c,_0x230eac,_0x410fdb){return this[_0x1a4e('0x3792')]?this[_0x1a4e('0x3792')][_0x1a4e('0x3793')](this['_interceptDlgt'],this[_0x1a4e('0x3795')],_0x48773c,_0x230eac,_0x410fdb):_0x230eac;}[_0x1a4e('0x10a6')](_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8){return this[_0x1a4e('0x3796')]?this[_0x1a4e('0x3796')][_0x1a4e('0x3798')](this[_0x1a4e('0x3797')],this[_0x1a4e('0x3799')],_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8):_0x230eac[_0x1a4e('0x8b')](_0x410fdb,_0x26f579);}['handleError'](_0x48773c,_0x230eac){return!this[_0x1a4e('0x379a')]||this['_handleErrorZS']['onHandleError'](this[_0x1a4e('0x379b')],this[_0x1a4e('0x379d')],_0x48773c,_0x230eac);}['scheduleTask'](_0x48773c,_0x230eac){let _0x410fdb=_0x230eac;if(this[_0x1a4e('0x379e')])this['_hasTaskZS']&&_0x410fdb[_0x1a4e('0x3789')][_0x1a4e('0x46')](this[_0x1a4e('0x37ac')]),(_0x410fdb=this[_0x1a4e('0x379e')][_0x1a4e('0x379f')](this[_0x1a4e('0x37a0')],this[_0x1a4e('0x37a1')],_0x48773c,_0x230eac))||(_0x410fdb=_0x230eac);else if(_0x230eac[_0x1a4e('0x37b0')])_0x230eac[_0x1a4e('0x37b0')](_0x230eac);else{if(_0x230eac['type']!=_0x573104)throw new Error('Task\x20is\x20missing\x20scheduleFn.');_0x1c3a35(_0x230eac);}return _0x410fdb;}['invokeTask'](_0x48773c,_0x230eac,_0x410fdb,_0x26f579){return this[_0x1a4e('0x37a3')]?this['_invokeTaskZS'][_0x1a4e('0x37a2')](this['_invokeTaskDlgt'],this['_invokeTaskCurrZone'],_0x48773c,_0x230eac,_0x410fdb,_0x26f579):_0x230eac[_0x1a4e('0x13db')]['apply'](_0x410fdb,_0x26f579);}[_0x1a4e('0x378c')](_0x48773c,_0x230eac){let _0x410fdb;if(this['_cancelTaskZS'])_0x410fdb=this[_0x1a4e('0x37a6')][_0x1a4e('0x37a7')](this[_0x1a4e('0x37a8')],this[_0x1a4e('0x37a9')],_0x48773c,_0x230eac);else{if(!_0x230eac['cancelFn'])throw Error(_0x1a4e('0x37b1'));_0x410fdb=_0x230eac['cancelFn'](_0x230eac);}return _0x410fdb;}[_0x1a4e('0x378e')](_0x48773c,_0x230eac){try{this[_0x1a4e('0x37aa')]&&this['_hasTaskZS'][_0x1a4e('0x37ae')](this[_0x1a4e('0x37ab')],this[_0x1a4e('0x37ad')],_0x48773c,_0x230eac);}catch(_0x8dc0c4){this[_0x1a4e('0x377d')](_0x48773c,_0x8dc0c4);}}[_0x1a4e('0x3785')](_0x48773c,_0x230eac){const _0x410fdb=this[_0x1a4e('0x37b2')],_0x26f579=_0x410fdb[_0x48773c],_0x4462e8=_0x410fdb[_0x48773c]=_0x26f579+_0x230eac;if(_0x4462e8<0x0)throw new Error(_0x1a4e('0x37b3'));if(0x0==_0x26f579||0x0==_0x4462e8){const _0x230eac={'microTask':_0x410fdb[_0x1a4e('0x37b4')]>0x0,'macroTask':_0x410fdb[_0x1a4e('0x37b5')]>0x0,'eventTask':_0x410fdb[_0x1a4e('0x37b6')]>0x0,'change':_0x48773c};this['hasTask'](this[_0x1a4e('0x3772')],_0x230eac);}}}class _0x212e9d{constructor(_0x230eac,_0x410fdb,_0x26f579,_0x4462e8,_0x2bfa93,_0x24f625){if(this['_zone']=null,this['runCount']=0x0,this[_0x1a4e('0x3789')]=null,this[_0x1a4e('0x37b7')]=_0x1a4e('0x37b8'),this[_0x1a4e('0x40')]=_0x230eac,this['source']=_0x410fdb,this[_0x1a4e('0x7f')]=_0x4462e8,this[_0x1a4e('0x37b0')]=_0x2bfa93,this[_0x1a4e('0x3782')]=_0x24f625,!_0x26f579)throw new Error('callback\x20is\x20not\x20defined');this['callback']=_0x26f579;const _0x88f13b=this;_0x230eac===_0x527e5b&&_0x4462e8&&_0x4462e8[_0x1a4e('0x37b9')]?this[_0x1a4e('0x10a6')]=_0x212e9d[_0x1a4e('0x3783')]:this[_0x1a4e('0x10a6')]=function(){return _0x212e9d[_0x1a4e('0x3783')][_0x1a4e('0x1')](_0x48773c,_0x88f13b,this,arguments);};}static[_0x1a4e('0x3783')](_0x48773c,_0x230eac,_0x410fdb){_0x48773c||(_0x48773c=this),_0x14edeb++;try{return _0x48773c[_0x1a4e('0x3784')]++,_0x48773c[_0x1a4e('0x3772')][_0x1a4e('0x37ba')](_0x48773c,_0x230eac,_0x410fdb);}finally{0x1==_0x14edeb&&_0x31ab04(),_0x14edeb--;}}get[_0x1a4e('0x3772')](){return this[_0x1a4e('0x37bb')];}get[_0x1a4e('0xa46')](){return this[_0x1a4e('0x37b7')];}[_0x1a4e('0x37bc')](){this[_0x1a4e('0x3780')](_0x48d66e,_0x3be406);}[_0x1a4e('0x3780')](_0x48773c,_0x230eac,_0x410fdb){if(this[_0x1a4e('0x37b7')]!==_0x230eac&&this[_0x1a4e('0x37b7')]!==_0x410fdb)throw new Error(this[_0x1a4e('0x40')]+'\x20\x27'+this['source']+_0x1a4e('0x37bd')+_0x48773c+'\x27,\x20expecting\x20state\x20\x27'+_0x230eac+'\x27'+(_0x410fdb?_0x1a4e('0x37be')+_0x410fdb+'\x27':'')+_0x1a4e('0x37bf')+this[_0x1a4e('0x37b7')]+'\x27.');this[_0x1a4e('0x37b7')]=_0x48773c,_0x48773c==_0x48d66e&&(this[_0x1a4e('0x3789')]=null);}['toString'](){return this[_0x1a4e('0x7f')]&&void 0x0!==this[_0x1a4e('0x7f')][_0x1a4e('0x37c0')]?this[_0x1a4e('0x7f')][_0x1a4e('0x37c0')]['toString']():Object['prototype'][_0x1a4e('0x95')][_0x1a4e('0x1')](this);}[_0x1a4e('0xb9')](){return{'type':this[_0x1a4e('0x40')],'state':this['state'],'source':this['source'],'zone':this[_0x1a4e('0x3772')][_0x1a4e('0x2cb')],'runCount':this[_0x1a4e('0x3784')]};}}const _0x56ea95=_0x2bfa93(_0x1a4e('0x1016')),_0x5191a9=_0x2bfa93('Promise'),_0x1632c0=_0x2bfa93(_0x1a4e('0xdf8'));let _0x120985,_0x597e41=[],_0x182f70=!0x1;function _0x1c3a35(_0x230eac){if(0x0===_0x14edeb&&0x0===_0x597e41[_0x1a4e('0x1e')])if(_0x120985||_0x48773c[_0x5191a9]&&(_0x120985=_0x48773c[_0x5191a9]['resolve'](0x0)),_0x120985){let _0x48773c=_0x120985[_0x1632c0];_0x48773c||(_0x48773c=_0x120985[_0x1a4e('0xdf8')]),_0x48773c[_0x1a4e('0x1')](_0x120985,_0x31ab04);}else _0x48773c[_0x56ea95](_0x31ab04,0x0);_0x230eac&&_0x597e41[_0x1a4e('0x46')](_0x230eac);}function _0x31ab04(){if(!_0x182f70){for(_0x182f70=!0x0;_0x597e41['length'];){const _0x48773c=_0x597e41;_0x597e41=[];for(let _0x230eac=0x0;_0x230eac<_0x48773c['length'];_0x230eac++){const _0x410fdb=_0x48773c[_0x230eac];try{_0x410fdb[_0x1a4e('0x3772')][_0x1a4e('0x37ba')](_0x410fdb,null,null);}catch(_0xb2f69f){_0x2f2f9f[_0x1a4e('0x37c1')](_0xb2f69f);}}}_0x2f2f9f[_0x1a4e('0x37c2')](),_0x182f70=!0x1;}}const _0x28af52={'name':'NO\x20ZONE'},_0x48d66e=_0x1a4e('0x37b8'),_0x3be406=_0x1a4e('0x37c3'),_0x1102cd=_0x1a4e('0x1456'),_0x559606=_0x1a4e('0x37c4'),_0x2fc584=_0x1a4e('0x37c5'),_0x3582aa=_0x1a4e('0x22af'),_0x573104=_0x1a4e('0x37b4'),_0x534031='macroTask',_0x527e5b=_0x1a4e('0x37b6'),_0x7aaf0b={},_0x2f2f9f={'symbol':_0x2bfa93,'currentZoneFrame':()=>_0x25d7a3,'onUnhandledError':_0x2c1443,'microtaskDrainDone':_0x2c1443,'scheduleMicroTask':_0x1c3a35,'showUncaughtError':()=>!_0x88f13b[_0x2bfa93('ignoreConsoleErrorUncaughtError')],'patchEventTarget':()=>[],'patchOnProperties':_0x2c1443,'patchMethod':()=>_0x2c1443,'bindArguments':()=>[],'patchThen':()=>_0x2c1443,'patchMacroTask':()=>_0x2c1443,'patchEventPrototype':()=>_0x2c1443,'isIEOrEdge':()=>!0x1,'getGlobalObjects':()=>void 0x0,'ObjectDefineProperty':()=>_0x2c1443,'ObjectGetOwnPropertyDescriptor':()=>void 0x0,'ObjectCreate':()=>void 0x0,'ArraySlice':()=>[],'patchClass':()=>_0x2c1443,'wrapWithCurrentZone':()=>_0x2c1443,'filterProperties':()=>[],'attachOriginToPatched':()=>_0x2c1443,'_redefineProperty':()=>_0x2c1443,'patchCallbacks':()=>_0x2c1443};let _0x25d7a3={'parent':null,'zone':new _0x88f13b(null,null)},_0x58a978=null,_0x14edeb=0x0;function _0x2c1443(){}_0x26f579(_0x1a4e('0x3766'),_0x1a4e('0x3766')),_0x48773c[_0x1a4e('0x3766')]=_0x88f13b;}(_0x1a4e('0x3')!=typeof window&&window||_0x1a4e('0x3')!=typeof self&&self||_0x26f579);const _0x48773c=Object[_0x1a4e('0x12fc')],_0x230eac=Object[_0x1a4e('0x2')],_0x410fdb=Object[_0x1a4e('0xd98')],_0x4462e8=Object[_0x1a4e('0x7')],_0x2bfa93=Array[_0x1a4e('0xa')][_0x1a4e('0x78')],_0x170424=_0x1a4e('0xec5'),_0x2146a8=_0x1a4e('0xec2'),_0x50ae4c=Zone['__symbol__'](_0x170424),_0x5792dc=Zone[_0x1a4e('0x3769')](_0x2146a8),_0x35efaa=_0x1a4e('0xe7b'),_0x3b3b5d='false',_0x37f6eb=Zone[_0x1a4e('0x3769')]('');function _0x24fc05(_0x48773c,_0x230eac){return Zone[_0x1a4e('0x3771')]['wrap'](_0x48773c,_0x230eac);}function _0x26f339(_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8){return Zone[_0x1a4e('0x3771')][_0x1a4e('0x37c6')](_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8);}const _0x3d0b59=Zone['__symbol__'],_0x4f7143=_0x1a4e('0x3')!=typeof window,_0x5e63a6=_0x4f7143?window:void 0x0,_0x18daea=_0x4f7143&&_0x5e63a6||_0x1a4e('0x85')==typeof self&&self||_0x26f579,_0x49c2fa='removeAttribute',_0x570ba0=[null];function _0x1e0835(_0x48773c,_0x230eac){for(let _0x410fdb=_0x48773c[_0x1a4e('0x1e')]-0x1;_0x410fdb>=0x0;_0x410fdb--)_0x1a4e('0x68')==typeof _0x48773c[_0x410fdb]&&(_0x48773c[_0x410fdb]=_0x24fc05(_0x48773c[_0x410fdb],_0x230eac+'_'+_0x410fdb));return _0x48773c;}function _0x47a92b(_0x48773c){return!_0x48773c||!0x1!==_0x48773c[_0x1a4e('0x1346')]&&!('function'==typeof _0x48773c[_0x1a4e('0x179')]&&void 0x0===_0x48773c[_0x1a4e('0x17a')]);}const _0x44ebc1=_0x1a4e('0x3')!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,_0x160d21=!('nw'in _0x18daea)&&void 0x0!==_0x18daea[_0x1a4e('0x1154')]&&'[object\x20process]'==={}[_0x1a4e('0x95')]['call'](_0x18daea['process']),_0x375368=!_0x160d21&&!_0x44ebc1&&!(!_0x4f7143||!_0x5e63a6['HTMLElement']),_0xdfb820=void 0x0!==_0x18daea[_0x1a4e('0x1154')]&&_0x1a4e('0x1544')==={}['toString'][_0x1a4e('0x1')](_0x18daea[_0x1a4e('0x1154')])&&!_0x44ebc1&&!(!_0x4f7143||!_0x5e63a6[_0x1a4e('0x37c7')]),_0x57aef7={},_0x52845c=function(_0x48773c){if(!(_0x48773c=_0x48773c||_0x18daea[_0x1a4e('0x333c')]))return;let _0x230eac=_0x57aef7[_0x48773c[_0x1a4e('0x40')]];_0x230eac||(_0x230eac=_0x57aef7[_0x48773c[_0x1a4e('0x40')]]=_0x3d0b59(_0x1a4e('0x37c8')+_0x48773c[_0x1a4e('0x40')]));const _0x410fdb=this||_0x48773c['target']||_0x18daea,_0x26f579=_0x410fdb[_0x230eac];let _0x4462e8;if(_0x375368&&_0x410fdb===_0x5e63a6&&_0x1a4e('0x873')===_0x48773c['type']){const _0x230eac=_0x48773c;!0x0===(_0x4462e8=_0x26f579&&_0x26f579[_0x1a4e('0x1')](this,_0x230eac[_0x1a4e('0x133')],_0x230eac[_0x1a4e('0x37c9')],_0x230eac[_0x1a4e('0x37ca')],_0x230eac[_0x1a4e('0x37cb')],_0x230eac[_0x1a4e('0x873')]))&&_0x48773c['preventDefault']();}else null==(_0x4462e8=_0x26f579&&_0x26f579['apply'](this,arguments))||_0x4462e8||_0x48773c[_0x1a4e('0x1598')]();return _0x4462e8;};function _0x4275a6(_0x410fdb,_0x26f579,_0x4462e8){let _0x2bfa93=_0x48773c(_0x410fdb,_0x26f579);if(!_0x2bfa93&&_0x4462e8){const _0x230eac=_0x48773c(_0x4462e8,_0x26f579);_0x230eac&&(_0x2bfa93={'enumerable':!0x0,'configurable':!0x0});}if(!_0x2bfa93||!_0x2bfa93[_0x1a4e('0x135a')])return;const _0x170424=_0x3d0b59('on'+_0x26f579+_0x1a4e('0x37cc'));if(_0x410fdb[_0x1a4e('0xb')](_0x170424)&&_0x410fdb[_0x170424])return;delete _0x2bfa93[_0x1a4e('0x1346')],delete _0x2bfa93[_0x1a4e('0x255')];const _0x2146a8=_0x2bfa93[_0x1a4e('0x179')],_0x50ae4c=_0x2bfa93['set'],_0x5792dc=_0x26f579[_0x1a4e('0x254')](0x2);let _0x35efaa=_0x57aef7[_0x5792dc];_0x35efaa||(_0x35efaa=_0x57aef7[_0x5792dc]=_0x3d0b59('ON_PROPERTY'+_0x5792dc)),_0x2bfa93[_0x1a4e('0x17a')]=function(_0x48773c){let _0x230eac=this;if(_0x230eac||_0x410fdb!==_0x18daea||(_0x230eac=_0x18daea),!_0x230eac)return;let _0x26f579=_0x230eac[_0x35efaa];_0x26f579&&_0x230eac['removeEventListener'](_0x5792dc,_0x52845c),_0x50ae4c&&_0x50ae4c[_0x1a4e('0x8b')](_0x230eac,_0x570ba0),_0x1a4e('0x68')==typeof _0x48773c?(_0x230eac[_0x35efaa]=_0x48773c,_0x230eac['addEventListener'](_0x5792dc,_0x52845c,!0x1)):_0x230eac[_0x35efaa]=null;},_0x2bfa93['get']=function(){let _0x48773c=this;if(_0x48773c||_0x410fdb!==_0x18daea||(_0x48773c=_0x18daea),!_0x48773c)return null;const _0x230eac=_0x48773c[_0x35efaa];if(_0x230eac)return _0x230eac;if(_0x2146a8){let _0x230eac=_0x2146a8&&_0x2146a8[_0x1a4e('0x1')](this);if(_0x230eac)return _0x2bfa93[_0x1a4e('0x17a')]['call'](this,_0x230eac),_0x1a4e('0x68')==typeof _0x48773c[_0x49c2fa]&&_0x48773c[_0x1a4e('0x37cd')](_0x26f579),_0x230eac;}return null;},_0x230eac(_0x410fdb,_0x26f579,_0x2bfa93),_0x410fdb[_0x170424]=!0x0;}function _0x33a902(_0x48773c,_0x230eac,_0x410fdb){if(_0x230eac)for(let _0x26f579=0x0;_0x26f579<_0x230eac[_0x1a4e('0x1e')];_0x26f579++)_0x4275a6(_0x48773c,'on'+_0x230eac[_0x26f579],_0x410fdb);else{const _0x230eac=[];for(const _0x410fdb in _0x48773c)'on'==_0x410fdb[_0x1a4e('0x254')](0x0,0x2)&&_0x230eac['push'](_0x410fdb);for(let _0x26f579=0x0;_0x26f579<_0x230eac['length'];_0x26f579++)_0x4275a6(_0x48773c,_0x230eac[_0x26f579],_0x410fdb);}}const _0x5446eb=_0x3d0b59(_0x1a4e('0x37ce'));function _0x248e34(_0x48773c){const _0x410fdb=_0x18daea[_0x48773c];if(!_0x410fdb)return;_0x18daea[_0x3d0b59(_0x48773c)]=_0x410fdb,_0x18daea[_0x48773c]=function(){const _0x230eac=_0x1e0835(arguments,_0x48773c);switch(_0x230eac['length']){case 0x0:this[_0x5446eb]=new _0x410fdb();break;case 0x1:this[_0x5446eb]=new _0x410fdb(_0x230eac[0x0]);break;case 0x2:this[_0x5446eb]=new _0x410fdb(_0x230eac[0x0],_0x230eac[0x1]);break;case 0x3:this[_0x5446eb]=new _0x410fdb(_0x230eac[0x0],_0x230eac[0x1],_0x230eac[0x2]);break;case 0x4:this[_0x5446eb]=new _0x410fdb(_0x230eac[0x0],_0x230eac[0x1],_0x230eac[0x2],_0x230eac[0x3]);break;default:throw new Error(_0x1a4e('0x37cf'));}},_0x4fb4cb(_0x18daea[_0x48773c],_0x410fdb);const _0x26f579=new _0x410fdb(function(){});let _0x4462e8;for(_0x4462e8 in _0x26f579)_0x1a4e('0x37d0')===_0x48773c&&'responseBlob'===_0x4462e8||function(_0x410fdb){_0x1a4e('0x68')==typeof _0x26f579[_0x410fdb]?_0x18daea[_0x48773c][_0x1a4e('0xa')][_0x410fdb]=function(){return this[_0x5446eb][_0x410fdb]['apply'](this[_0x5446eb],arguments);}:_0x230eac(_0x18daea[_0x48773c]['prototype'],_0x410fdb,{'set':function(_0x230eac){_0x1a4e('0x68')==typeof _0x230eac?(this[_0x5446eb][_0x410fdb]=_0x24fc05(_0x230eac,_0x48773c+'.'+_0x410fdb),_0x4fb4cb(this[_0x5446eb][_0x410fdb],_0x230eac)):this[_0x5446eb][_0x410fdb]=_0x230eac;},'get':function(){return this[_0x5446eb][_0x410fdb];}});}(_0x4462e8);for(_0x4462e8 in _0x410fdb)_0x1a4e('0xa')!==_0x4462e8&&_0x410fdb[_0x1a4e('0xb')](_0x4462e8)&&(_0x18daea[_0x48773c][_0x4462e8]=_0x410fdb[_0x4462e8]);}function _0x3168ce(_0x230eac,_0x26f579,_0x4462e8){let _0x2bfa93=_0x230eac;for(;_0x2bfa93&&!_0x2bfa93[_0x1a4e('0xb')](_0x26f579);)_0x2bfa93=_0x410fdb(_0x2bfa93);!_0x2bfa93&&_0x230eac[_0x26f579]&&(_0x2bfa93=_0x230eac);const _0x170424=_0x3d0b59(_0x26f579);let _0x2146a8=null;if(_0x2bfa93&&!(_0x2146a8=_0x2bfa93[_0x170424])){_0x2146a8=_0x2bfa93[_0x170424]=_0x2bfa93[_0x26f579];const _0x230eac=_0x2bfa93&&_0x48773c(_0x2bfa93,_0x26f579);if(_0x47a92b(_0x230eac)){const _0x48773c=_0x4462e8(_0x2146a8,_0x170424,_0x26f579);_0x2bfa93[_0x26f579]=function(){return _0x48773c(this,arguments);},_0x4fb4cb(_0x2bfa93[_0x26f579],_0x2146a8);}}return _0x2146a8;}function _0x1662d3(_0x48773c,_0x230eac,_0x410fdb){let _0x26f579=null;function _0x4462e8(_0x48773c){const _0x230eac=_0x48773c[_0x1a4e('0x7f')];return _0x230eac[_0x1a4e('0x89c')][_0x230eac['cbIdx']]=function(){_0x48773c[_0x1a4e('0x10a6')]['apply'](this,arguments);},_0x26f579['apply'](_0x230eac[_0x1a4e('0xd95')],_0x230eac['args']),_0x48773c;}_0x26f579=_0x3168ce(_0x48773c,_0x230eac,_0x48773c=>function(_0x230eac,_0x26f579){const _0x2bfa93=_0x410fdb(_0x230eac,_0x26f579);return _0x2bfa93[_0x1a4e('0x37d1')]>=0x0&&_0x1a4e('0x68')==typeof _0x26f579[_0x2bfa93['cbIdx']]?_0x26f339(_0x2bfa93[_0x1a4e('0x2cb')],_0x26f579[_0x2bfa93[_0x1a4e('0x37d1')]],_0x2bfa93,_0x4462e8):_0x48773c['apply'](_0x230eac,_0x26f579);});}function _0x4fb4cb(_0x48773c,_0x230eac){_0x48773c[_0x3d0b59(_0x1a4e('0x37d2'))]=_0x230eac;}let _0x52ff0c=!0x1,_0x52df06=!0x1;function _0x41eeb2(){if(_0x52ff0c)return _0x52df06;_0x52ff0c=!0x0;try{const _0x48773c=_0x5e63a6[_0x1a4e('0x37d3')][_0x1a4e('0xe37')];-0x1===_0x48773c['indexOf'](_0x1a4e('0x37d4'))&&-0x1===_0x48773c['indexOf'](_0x1a4e('0x37d5'))&&-0x1===_0x48773c[_0x1a4e('0x3e')]('Edge/')||(_0x52df06=!0x0);}catch(_0x52387e){}return _0x52df06;}Zone[_0x1a4e('0x3774')](_0x1a4e('0x376f'),(_0x48773c,_0x230eac,_0x410fdb)=>{const _0x26f579=Object['getOwnPropertyDescriptor'],_0x4462e8=Object[_0x1a4e('0x2')],_0x2bfa93=_0x410fdb[_0x1a4e('0xb1b')],_0x170424=[],_0x2146a8=!0x0===_0x48773c[_0x2bfa93(_0x1a4e('0x37d6'))],_0x50ae4c=_0x2bfa93('Promise'),_0x5792dc=_0x2bfa93(_0x1a4e('0xdf8')),_0x35efaa='__creationTrace__';_0x410fdb[_0x1a4e('0x37c1')]=_0x48773c=>{if(_0x410fdb[_0x1a4e('0x37d7')]()){const _0x230eac=_0x48773c&&_0x48773c[_0x1a4e('0x37d8')];_0x230eac?console[_0x1a4e('0x873')](_0x1a4e('0x37d9'),_0x230eac instanceof Error?_0x230eac['message']:_0x230eac,_0x1a4e('0x37da'),_0x48773c[_0x1a4e('0x3772')][_0x1a4e('0x2cb')],';\x20Task:',_0x48773c[_0x1a4e('0x37db')]&&_0x48773c['task']['source'],_0x1a4e('0x37dc'),_0x230eac,_0x230eac instanceof Error?_0x230eac[_0x1a4e('0x2cd')]:void 0x0):console[_0x1a4e('0x873')](_0x48773c);}},_0x410fdb[_0x1a4e('0x37c2')]=()=>{for(;_0x170424[_0x1a4e('0x1e')];){const _0x48773c=_0x170424[_0x1a4e('0x7d')]();try{_0x48773c['zone'][_0x1a4e('0x377c')](()=>{throw _0x48773c;});}catch(_0x106eb7){_0x37f6eb(_0x106eb7);}}};const _0x3b3b5d=_0x2bfa93(_0x1a4e('0x37dd'));function _0x37f6eb(_0x48773c){_0x410fdb[_0x1a4e('0x37c1')](_0x48773c);try{const _0x410fdb=_0x230eac[_0x3b3b5d];_0x1a4e('0x68')==typeof _0x410fdb&&_0x410fdb[_0x1a4e('0x1')](this,_0x48773c);}catch(_0x45ce53){}}function _0x24fc05(_0x48773c){return _0x48773c&&_0x48773c[_0x1a4e('0xdf8')];}function _0x26f339(_0x48773c){return _0x48773c;}function _0x3d0b59(_0x48773c){return _0x52df06[_0x1a4e('0x1077')](_0x48773c);}const _0x4f7143=_0x2bfa93('state'),_0x5e63a6=_0x2bfa93(_0x1a4e('0x255')),_0x18daea=_0x2bfa93('finally'),_0x49c2fa=_0x2bfa93(_0x1a4e('0x37de')),_0x570ba0=_0x2bfa93('parentPromiseState'),_0x1e0835='Promise.then',_0x47a92b=null,_0x44ebc1=!0x0,_0x160d21=!0x1,_0x375368=0x0;function _0xdfb820(_0x48773c,_0x230eac){return _0x410fdb=>{try{_0x33a902(_0x48773c,_0x230eac,_0x410fdb);}catch(_0x3d1cce){_0x33a902(_0x48773c,!0x1,_0x3d1cce);}};}const _0x57aef7=function(){let _0x48773c=!0x1;return function(_0x230eac){return function(){_0x48773c||(_0x48773c=!0x0,_0x230eac[_0x1a4e('0x8b')](null,arguments));};};},_0x52845c=_0x1a4e('0x37df'),_0x4275a6=_0x2bfa93(_0x1a4e('0x37e0'));function _0x33a902(_0x48773c,_0x26f579,_0x2bfa93){const _0x50ae4c=_0x57aef7();if(_0x48773c===_0x2bfa93)throw new TypeError(_0x52845c);if(_0x48773c[_0x4f7143]===_0x47a92b){let _0x5792dc=null;try{_0x1a4e('0x85')!=typeof _0x2bfa93&&'function'!=typeof _0x2bfa93||(_0x5792dc=_0x2bfa93&&_0x2bfa93[_0x1a4e('0xdf8')]);}catch(_0x3e1d5d){return _0x50ae4c(()=>{_0x33a902(_0x48773c,!0x1,_0x3e1d5d);})(),_0x48773c;}if(_0x26f579!==_0x160d21&&_0x2bfa93 instanceof _0x52df06&&_0x2bfa93['hasOwnProperty'](_0x4f7143)&&_0x2bfa93['hasOwnProperty'](_0x5e63a6)&&_0x2bfa93[_0x4f7143]!==_0x47a92b)_0x248e34(_0x2bfa93),_0x33a902(_0x48773c,_0x2bfa93[_0x4f7143],_0x2bfa93[_0x5e63a6]);else if(_0x26f579!==_0x160d21&&_0x1a4e('0x68')==typeof _0x5792dc)try{_0x5792dc[_0x1a4e('0x1')](_0x2bfa93,_0x50ae4c(_0xdfb820(_0x48773c,_0x26f579)),_0x50ae4c(_0xdfb820(_0x48773c,!0x1)));}catch(_0x1fb47c){_0x50ae4c(()=>{_0x33a902(_0x48773c,!0x1,_0x1fb47c);})();}else{_0x48773c[_0x4f7143]=_0x26f579;const _0x50ae4c=_0x48773c[_0x5e63a6];if(_0x48773c[_0x5e63a6]=_0x2bfa93,_0x48773c[_0x18daea]===_0x18daea&&_0x26f579===_0x44ebc1&&(_0x48773c[_0x4f7143]=_0x48773c[_0x570ba0],_0x48773c[_0x5e63a6]=_0x48773c[_0x49c2fa]),_0x26f579===_0x160d21&&_0x2bfa93 instanceof Error){const _0x48773c=_0x230eac[_0x1a4e('0x3773')]&&_0x230eac[_0x1a4e('0x3773')][_0x1a4e('0x7f')]&&_0x230eac[_0x1a4e('0x3773')][_0x1a4e('0x7f')][_0x35efaa];_0x48773c&&_0x4462e8(_0x2bfa93,_0x4275a6,{'configurable':!0x0,'enumerable':!0x1,'writable':!0x0,'value':_0x48773c});}for(let _0x230eac=0x0;_0x230eac<_0x50ae4c[_0x1a4e('0x1e')];)_0x1662d3(_0x48773c,_0x50ae4c[_0x230eac++],_0x50ae4c[_0x230eac++],_0x50ae4c[_0x230eac++],_0x50ae4c[_0x230eac++]);if(0x0==_0x50ae4c['length']&&_0x26f579==_0x160d21){_0x48773c[_0x4f7143]=_0x375368;let _0x26f579=_0x2bfa93;if(!_0x2146a8)try{throw new Error(_0x1a4e('0x37e1')+function(_0x48773c){if(_0x48773c&&_0x48773c['toString']===Object['prototype']['toString']){const _0x230eac=_0x48773c[_0x1a4e('0x10')]&&_0x48773c[_0x1a4e('0x10')]['name'];return(_0x230eac||'')+':\x20'+JSON[_0x1a4e('0xd7')](_0x48773c);}return _0x48773c?_0x48773c[_0x1a4e('0x95')]():Object[_0x1a4e('0xa')][_0x1a4e('0x95')]['call'](_0x48773c);}(_0x2bfa93)+(_0x2bfa93&&_0x2bfa93[_0x1a4e('0x2cd')]?'\x0a'+_0x2bfa93['stack']:''));}catch(_0x204b23){_0x26f579=_0x204b23;}_0x26f579['rejection']=_0x2bfa93,_0x26f579['promise']=_0x48773c,_0x26f579['zone']=_0x230eac[_0x1a4e('0x3771')],_0x26f579[_0x1a4e('0x37db')]=_0x230eac[_0x1a4e('0x3773')],_0x170424['push'](_0x26f579),_0x410fdb[_0x1a4e('0x378a')]();}}}return _0x48773c;}const _0x5446eb=_0x2bfa93(_0x1a4e('0x37e2'));function _0x248e34(_0x48773c){if(_0x48773c[_0x4f7143]===_0x375368){try{const _0x410fdb=_0x230eac[_0x5446eb];_0x410fdb&&_0x1a4e('0x68')==typeof _0x410fdb&&_0x410fdb[_0x1a4e('0x1')](this,{'rejection':_0x48773c[_0x5e63a6],'promise':_0x48773c});}catch(_0x5a265e){}_0x48773c[_0x4f7143]=_0x160d21;for(let _0x230eac=0x0;_0x230eac<_0x170424[_0x1a4e('0x1e')];_0x230eac++)_0x48773c===_0x170424[_0x230eac][_0x1a4e('0x12d4')]&&_0x170424[_0x1a4e('0x8a')](_0x230eac,0x1);}}function _0x1662d3(_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8){_0x248e34(_0x48773c);const _0x2bfa93=_0x48773c[_0x4f7143],_0x170424=_0x2bfa93?_0x1a4e('0x68')==typeof _0x26f579?_0x26f579:_0x26f339:_0x1a4e('0x68')==typeof _0x4462e8?_0x4462e8:_0x3d0b59;_0x230eac[_0x1a4e('0x378a')](_0x1e0835,()=>{try{const _0x26f579=_0x48773c[_0x5e63a6],_0x4462e8=!!_0x410fdb&&_0x18daea===_0x410fdb[_0x18daea];_0x4462e8&&(_0x410fdb[_0x49c2fa]=_0x26f579,_0x410fdb[_0x570ba0]=_0x2bfa93);const _0x2146a8=_0x230eac[_0x1a4e('0x1f3')](_0x170424,void 0x0,_0x4462e8&&_0x170424!==_0x3d0b59&&_0x170424!==_0x26f339?[]:[_0x26f579]);_0x33a902(_0x410fdb,!0x0,_0x2146a8);}catch(_0x3727b1){_0x33a902(_0x410fdb,!0x1,_0x3727b1);}},_0x410fdb);}const _0x4fb4cb='function\x20ZoneAwarePromise()\x20{\x20[native\x20code]\x20}',_0x52ff0c=function(){};class _0x52df06{static[_0x1a4e('0x95')](){return _0x4fb4cb;}static[_0x1a4e('0xe20')](_0x48773c){return _0x33a902(new this(null),_0x44ebc1,_0x48773c);}static[_0x1a4e('0x1077')](_0x48773c){return _0x33a902(new this(null),_0x160d21,_0x48773c);}static['race'](_0x48773c){let _0x230eac,_0x410fdb,_0x26f579=new this((_0x48773c,_0x26f579)=>{_0x230eac=_0x48773c,_0x410fdb=_0x26f579;});function _0x4462e8(_0x48773c){_0x230eac(_0x48773c);}function _0x2bfa93(_0x48773c){_0x410fdb(_0x48773c);}for(let _0x230eac of _0x48773c)_0x24fc05(_0x230eac)||(_0x230eac=this[_0x1a4e('0xe20')](_0x230eac)),_0x230eac[_0x1a4e('0xdf8')](_0x4462e8,_0x2bfa93);return _0x26f579;}static[_0x1a4e('0xb8')](_0x48773c){return _0x52df06[_0x1a4e('0x37e3')](_0x48773c);}static[_0x1a4e('0x37e4')](_0x48773c){const _0x230eac=this&&this[_0x1a4e('0xa')]instanceof _0x52df06?this:_0x52df06;return _0x230eac['allWithCallback'](_0x48773c,{'thenCallback':_0x48773c=>({'status':'fulfilled','value':_0x48773c}),'errorCallback':_0x48773c=>({'status':_0x1a4e('0x37e5'),'reason':_0x48773c})});}static[_0x1a4e('0x37e3')](_0x48773c,_0x230eac){let _0x410fdb,_0x26f579,_0x4462e8=new this((_0x48773c,_0x230eac)=>{_0x410fdb=_0x48773c,_0x26f579=_0x230eac;}),_0x2bfa93=0x2,_0x170424=0x0;const _0x2146a8=[];for(let _0x4462e8 of _0x48773c){_0x24fc05(_0x4462e8)||(_0x4462e8=this['resolve'](_0x4462e8));const _0x48773c=_0x170424;try{_0x4462e8['then'](_0x26f579=>{_0x2146a8[_0x48773c]=_0x230eac?_0x230eac[_0x1a4e('0x37e6')](_0x26f579):_0x26f579,0x0==--_0x2bfa93&&_0x410fdb(_0x2146a8);},_0x4462e8=>{_0x230eac?(_0x2146a8[_0x48773c]=_0x230eac[_0x1a4e('0x37e7')](_0x4462e8),0x0==--_0x2bfa93&&_0x410fdb(_0x2146a8)):_0x26f579(_0x4462e8);});}catch(_0x1965ac){_0x26f579(_0x1965ac);}_0x2bfa93++,_0x170424++;}return 0x0==(_0x2bfa93-=0x2)&&_0x410fdb(_0x2146a8),_0x4462e8;}constructor(_0x48773c){const _0x230eac=this;if(!(_0x230eac instanceof _0x52df06))throw new Error(_0x1a4e('0x37e8'));_0x230eac[_0x4f7143]=_0x47a92b,_0x230eac[_0x5e63a6]=[];try{_0x48773c&&_0x48773c(_0xdfb820(_0x230eac,_0x44ebc1),_0xdfb820(_0x230eac,_0x160d21));}catch(_0x5c97d9){_0x33a902(_0x230eac,!0x1,_0x5c97d9);}}get[Symbol[_0x1a4e('0x4')]](){return'Promise';}get[Symbol['species']](){return _0x52df06;}[_0x1a4e('0xdf8')](_0x48773c,_0x410fdb){let _0x26f579=this[_0x1a4e('0x10')][Symbol[_0x1a4e('0xadb')]];_0x26f579&&_0x1a4e('0x68')==typeof _0x26f579||(_0x26f579=this[_0x1a4e('0x10')]||_0x52df06);const _0x4462e8=new _0x26f579(_0x52ff0c),_0x2bfa93=_0x230eac[_0x1a4e('0x3771')];return this[_0x4f7143]==_0x47a92b?this[_0x5e63a6][_0x1a4e('0x46')](_0x2bfa93,_0x4462e8,_0x48773c,_0x410fdb):_0x1662d3(this,_0x2bfa93,_0x4462e8,_0x48773c,_0x410fdb),_0x4462e8;}['catch'](_0x48773c){return this['then'](null,_0x48773c);}['finally'](_0x48773c){let _0x410fdb=this[_0x1a4e('0x10')][Symbol[_0x1a4e('0xadb')]];_0x410fdb&&_0x1a4e('0x68')==typeof _0x410fdb||(_0x410fdb=_0x52df06);const _0x26f579=new _0x410fdb(_0x52ff0c);_0x26f579[_0x18daea]=_0x18daea;const _0x4462e8=_0x230eac[_0x1a4e('0x3771')];return this[_0x4f7143]==_0x47a92b?this[_0x5e63a6][_0x1a4e('0x46')](_0x4462e8,_0x26f579,_0x48773c,_0x48773c):_0x1662d3(this,_0x4462e8,_0x26f579,_0x48773c,_0x48773c),_0x26f579;}}_0x52df06['resolve']=_0x52df06[_0x1a4e('0xe20')],_0x52df06[_0x1a4e('0x1077')]=_0x52df06[_0x1a4e('0x1077')],_0x52df06[_0x1a4e('0x144c')]=_0x52df06[_0x1a4e('0x144c')],_0x52df06['all']=_0x52df06[_0x1a4e('0xb8')];const _0x41eeb2=_0x48773c[_0x50ae4c]=_0x48773c[_0x1a4e('0xf55')];_0x48773c[_0x1a4e('0xf55')]=_0x52df06;const _0x40125a=_0x2bfa93(_0x1a4e('0x37e9'));function _0xda4439(_0x48773c){const _0x230eac=_0x48773c['prototype'],_0x410fdb=_0x26f579(_0x230eac,_0x1a4e('0xdf8'));if(_0x410fdb&&(!0x1===_0x410fdb[_0x1a4e('0x1346')]||!_0x410fdb['configurable']))return;const _0x4462e8=_0x230eac[_0x1a4e('0xdf8')];_0x230eac[_0x5792dc]=_0x4462e8,_0x48773c['prototype'][_0x1a4e('0xdf8')]=function(_0x48773c,_0x230eac){const _0x410fdb=new _0x52df06((_0x48773c,_0x230eac)=>{_0x4462e8['call'](this,_0x48773c,_0x230eac);});return _0x410fdb[_0x1a4e('0xdf8')](_0x48773c,_0x230eac);},_0x48773c[_0x40125a]=!0x0;}return _0x410fdb['patchThen']=_0xda4439,_0x41eeb2&&(_0xda4439(_0x41eeb2),_0x3168ce(_0x48773c,_0x1a4e('0xdf6'),_0x48773c=>function(_0x48773c){return function(_0x230eac,_0x410fdb){let _0x26f579=_0x48773c['apply'](_0x230eac,_0x410fdb);if(_0x26f579 instanceof _0x52df06)return _0x26f579;let _0x4462e8=_0x26f579[_0x1a4e('0x10')];return _0x4462e8[_0x40125a]||_0xda4439(_0x4462e8),_0x26f579;};}(_0x48773c))),Promise[_0x230eac['__symbol__'](_0x1a4e('0x37ea'))]=_0x170424,_0x52df06;}),Zone[_0x1a4e('0x3774')](_0x1a4e('0x95'),_0x48773c=>{const _0x230eac=Function[_0x1a4e('0xa')]['toString'],_0x410fdb=_0x3d0b59(_0x1a4e('0x37d2')),_0x26f579=_0x3d0b59('Promise'),_0x4462e8=_0x3d0b59(_0x1a4e('0x101f')),_0x2bfa93=function(){if('function'==typeof this){const _0x2bfa93=this[_0x410fdb];if(_0x2bfa93)return'function'==typeof _0x2bfa93?_0x230eac[_0x1a4e('0x1')](_0x2bfa93):Object['prototype']['toString'][_0x1a4e('0x1')](_0x2bfa93);if(this===Promise){const _0x410fdb=_0x48773c[_0x26f579];if(_0x410fdb)return _0x230eac[_0x1a4e('0x1')](_0x410fdb);}if(this===Error){const _0x410fdb=_0x48773c[_0x4462e8];if(_0x410fdb)return _0x230eac[_0x1a4e('0x1')](_0x410fdb);}}return _0x230eac[_0x1a4e('0x1')](this);};_0x2bfa93[_0x410fdb]=_0x230eac,Function[_0x1a4e('0xa')][_0x1a4e('0x95')]=_0x2bfa93;const _0x170424=Object[_0x1a4e('0xa')][_0x1a4e('0x95')];Object[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return this instanceof Promise?_0x1a4e('0xfc4'):_0x170424['call'](this);};});let _0x292a06=!0x1;if(_0x1a4e('0x3')!=typeof window)try{const _0x48773c=Object['defineProperty']({},_0x1a4e('0x37eb'),{'get':function(){_0x292a06=!0x0;}});window['addEventListener'](_0x1a4e('0x8d0'),_0x48773c,_0x48773c),window[_0x1a4e('0xec2')](_0x1a4e('0x8d0'),_0x48773c,_0x48773c);}catch(_0x420501){_0x292a06=!0x1;}const _0x79ccc0={'useG':!0x0},_0x39bb6e={},_0x21f5d7={},_0x3cf6d=new RegExp('^'+_0x37f6eb+_0x1a4e('0x37ec')),_0x3cf5b5=_0x3d0b59(_0x1a4e('0x37ed'));function _0x38cb55(_0x48773c,_0x230eac){const _0x410fdb=(_0x230eac?_0x230eac(_0x48773c):_0x48773c)+_0x3b3b5d,_0x26f579=(_0x230eac?_0x230eac(_0x48773c):_0x48773c)+_0x35efaa,_0x4462e8=_0x37f6eb+_0x410fdb,_0x2bfa93=_0x37f6eb+_0x26f579;_0x39bb6e[_0x48773c]={},_0x39bb6e[_0x48773c][_0x3b3b5d]=_0x4462e8,_0x39bb6e[_0x48773c][_0x35efaa]=_0x2bfa93;}function _0x57b2db(_0x48773c,_0x230eac,_0x26f579){const _0x4462e8=_0x26f579&&_0x26f579[_0x1a4e('0x177')]||_0x170424,_0x2bfa93=_0x26f579&&_0x26f579['rm']||_0x2146a8,_0x50ae4c=_0x26f579&&_0x26f579[_0x1a4e('0xda3')]||_0x1a4e('0x37ee'),_0x5792dc=_0x26f579&&_0x26f579['rmAll']||_0x1a4e('0xda2'),_0x24fc05=_0x3d0b59(_0x4462e8),_0x26f339='.'+_0x4462e8+':',_0x4f7143=_0x1a4e('0xd9d'),_0x5e63a6='.'+_0x4f7143+':',_0x18daea=function(_0x48773c,_0x230eac,_0x410fdb){if(_0x48773c['isRemoved'])return;const _0x26f579=_0x48773c[_0x1a4e('0x13db')];_0x1a4e('0x85')==typeof _0x26f579&&_0x26f579[_0x1a4e('0x37ef')]&&(_0x48773c[_0x1a4e('0x13db')]=_0x48773c=>_0x26f579[_0x1a4e('0x37ef')](_0x48773c),_0x48773c[_0x1a4e('0x37f0')]=_0x26f579),_0x48773c[_0x1a4e('0x10a6')](_0x48773c,_0x230eac,[_0x410fdb]);const _0x4462e8=_0x48773c[_0x1a4e('0x8dc')];if(_0x4462e8&&_0x1a4e('0x85')==typeof _0x4462e8&&_0x4462e8[_0x1a4e('0xd9e')]){const _0x26f579=_0x48773c[_0x1a4e('0x37f0')]?_0x48773c[_0x1a4e('0x37f0')]:_0x48773c['callback'];_0x230eac[_0x2bfa93][_0x1a4e('0x1')](_0x230eac,_0x410fdb[_0x1a4e('0x40')],_0x26f579,_0x4462e8);}},_0x49c2fa=function(_0x230eac){if(!(_0x230eac=_0x230eac||_0x48773c[_0x1a4e('0x333c')]))return;const _0x410fdb=this||_0x230eac[_0x1a4e('0xd95')]||_0x48773c,_0x26f579=_0x410fdb[_0x39bb6e[_0x230eac[_0x1a4e('0x40')]][_0x3b3b5d]];if(_0x26f579)if(0x1===_0x26f579['length'])_0x18daea(_0x26f579[0x0],_0x410fdb,_0x230eac);else{const _0x48773c=_0x26f579['slice']();for(let _0x26f579=0x0;_0x26f579<_0x48773c[_0x1a4e('0x1e')]&&(!_0x230eac||!0x0!==_0x230eac[_0x3cf5b5]);_0x26f579++)_0x18daea(_0x48773c[_0x26f579],_0x410fdb,_0x230eac);}},_0x570ba0=function(_0x230eac){if(!(_0x230eac=_0x230eac||_0x48773c[_0x1a4e('0x333c')]))return;const _0x410fdb=this||_0x230eac[_0x1a4e('0xd95')]||_0x48773c,_0x26f579=_0x410fdb[_0x39bb6e[_0x230eac[_0x1a4e('0x40')]][_0x35efaa]];if(_0x26f579)if(0x1===_0x26f579['length'])_0x18daea(_0x26f579[0x0],_0x410fdb,_0x230eac);else{const _0x48773c=_0x26f579[_0x1a4e('0x78')]();for(let _0x26f579=0x0;_0x26f579<_0x48773c[_0x1a4e('0x1e')]&&(!_0x230eac||!0x0!==_0x230eac[_0x3cf5b5]);_0x26f579++)_0x18daea(_0x48773c[_0x26f579],_0x410fdb,_0x230eac);}};function _0x1e0835(_0x230eac,_0x26f579){if(!_0x230eac)return!0x1;let _0x170424=!0x0;_0x26f579&&void 0x0!==_0x26f579['useG']&&(_0x170424=_0x26f579['useG']);const _0x2146a8=_0x26f579&&_0x26f579['vh'];let _0x18daea=!0x0;_0x26f579&&void 0x0!==_0x26f579[_0x1a4e('0x37f1')]&&(_0x18daea=_0x26f579[_0x1a4e('0x37f1')]);let _0x1e0835=!0x1;_0x26f579&&void 0x0!==_0x26f579['rt']&&(_0x1e0835=_0x26f579['rt']);let _0x47a92b=_0x230eac;for(;_0x47a92b&&!_0x47a92b['hasOwnProperty'](_0x4462e8);)_0x47a92b=_0x410fdb(_0x47a92b);if(!_0x47a92b&&_0x230eac[_0x4462e8]&&(_0x47a92b=_0x230eac),!_0x47a92b)return!0x1;if(_0x47a92b[_0x24fc05])return!0x1;const _0x44ebc1=_0x26f579&&_0x26f579[_0x1a4e('0x37f2')],_0x375368={},_0xdfb820=_0x47a92b[_0x24fc05]=_0x47a92b[_0x4462e8],_0x57aef7=_0x47a92b[_0x3d0b59(_0x2bfa93)]=_0x47a92b[_0x2bfa93],_0x52845c=_0x47a92b[_0x3d0b59(_0x50ae4c)]=_0x47a92b[_0x50ae4c],_0x4275a6=_0x47a92b[_0x3d0b59(_0x5792dc)]=_0x47a92b[_0x5792dc];let _0x33a902;function _0x5446eb(_0x48773c,_0x230eac){return!_0x292a06&&_0x1a4e('0x85')==typeof _0x48773c&&_0x48773c?!!_0x48773c[_0x1a4e('0x37f3')]:_0x292a06&&_0x230eac?_0x1a4e('0x34b')==typeof _0x48773c?{'capture':_0x48773c,'passive':!0x0}:_0x48773c?_0x1a4e('0x85')==typeof _0x48773c&&!0x1!==_0x48773c[_0x1a4e('0x37eb')]?Object[_0x1a4e('0x200')](Object[_0x1a4e('0x200')]({},_0x48773c),{'passive':!0x0}):_0x48773c:{'passive':!0x0}:_0x48773c;}_0x26f579&&_0x26f579[_0x1a4e('0x1610')]&&(_0x33a902=_0x47a92b[_0x3d0b59(_0x26f579[_0x1a4e('0x1610')])]=_0x47a92b[_0x26f579[_0x1a4e('0x1610')]]);const _0x248e34=function(_0x48773c){return _0x33a902['call'](_0x375368[_0x1a4e('0xd95')],_0x375368[_0x1a4e('0x37f4')],_0x48773c['invoke'],_0x375368[_0x1a4e('0x8dc')]);},_0x3168ce=_0x170424?function(_0x48773c){if(!_0x375368[_0x1a4e('0x37f5')])return _0xdfb820[_0x1a4e('0x1')](_0x375368[_0x1a4e('0xd95')],_0x375368[_0x1a4e('0x37f4')],_0x375368[_0x1a4e('0x37f3')]?_0x570ba0:_0x49c2fa,_0x375368[_0x1a4e('0x8dc')]);}:function(_0x48773c){return _0xdfb820[_0x1a4e('0x1')](_0x375368[_0x1a4e('0xd95')],_0x375368[_0x1a4e('0x37f4')],_0x48773c[_0x1a4e('0x10a6')],_0x375368[_0x1a4e('0x8dc')]);},_0x1662d3=_0x170424?function(_0x48773c){if(!_0x48773c[_0x1a4e('0x37f6')]){const _0x230eac=_0x39bb6e[_0x48773c[_0x1a4e('0x37f4')]];let _0x410fdb;_0x230eac&&(_0x410fdb=_0x230eac[_0x48773c[_0x1a4e('0x37f3')]?_0x35efaa:_0x3b3b5d]);const _0x26f579=_0x410fdb&&_0x48773c[_0x1a4e('0xd95')][_0x410fdb];if(_0x26f579)for(let _0x230eac=0x0;_0x230eac<_0x26f579[_0x1a4e('0x1e')];_0x230eac++){const _0x4462e8=_0x26f579[_0x230eac];if(_0x4462e8===_0x48773c){_0x26f579[_0x1a4e('0x8a')](_0x230eac,0x1),_0x48773c['isRemoved']=!0x0,0x0===_0x26f579[_0x1a4e('0x1e')]&&(_0x48773c[_0x1a4e('0x37f7')]=!0x0,_0x48773c[_0x1a4e('0xd95')][_0x410fdb]=null);break;}}}if(_0x48773c[_0x1a4e('0x37f7')])return _0x57aef7['call'](_0x48773c[_0x1a4e('0xd95')],_0x48773c[_0x1a4e('0x37f4')],_0x48773c['capture']?_0x570ba0:_0x49c2fa,_0x48773c['options']);}:function(_0x48773c){return _0x57aef7['call'](_0x48773c[_0x1a4e('0xd95')],_0x48773c['eventName'],_0x48773c['invoke'],_0x48773c[_0x1a4e('0x8dc')]);},_0x52ff0c=_0x26f579&&_0x26f579[_0x1a4e('0x565')]?_0x26f579[_0x1a4e('0x565')]:function(_0x48773c,_0x230eac){const _0x410fdb=typeof _0x230eac;return'function'===_0x410fdb&&_0x48773c[_0x1a4e('0x13db')]===_0x230eac||'object'===_0x410fdb&&_0x48773c[_0x1a4e('0x37f0')]===_0x230eac;},_0x52df06=Zone[_0x3d0b59('BLACK_LISTED_EVENTS')],_0x41eeb2=_0x48773c[_0x3d0b59('PASSIVE_EVENTS')],_0x3cf5b5=function(_0x230eac,_0x410fdb,_0x4462e8,_0x2bfa93,_0x50ae4c=!0x1,_0x5792dc=!0x1){return function(){const _0x37f6eb=this||_0x48773c;let _0x24fc05=arguments[0x0];_0x26f579&&_0x26f579['transferEventName']&&(_0x24fc05=_0x26f579[_0x1a4e('0x37f8')](_0x24fc05));let _0x26f339=arguments[0x1];if(!_0x26f339)return _0x230eac[_0x1a4e('0x8b')](this,arguments);if(_0x160d21&&_0x1a4e('0x1649')===_0x24fc05)return _0x230eac[_0x1a4e('0x8b')](this,arguments);let _0x3d0b59=!0x1;if(_0x1a4e('0x68')!=typeof _0x26f339){if(!_0x26f339[_0x1a4e('0x37ef')])return _0x230eac['apply'](this,arguments);_0x3d0b59=!0x0;}if(_0x2146a8&&!_0x2146a8(_0x230eac,_0x26f339,_0x37f6eb,arguments))return;const _0x4f7143=_0x292a06&&!!_0x41eeb2&&-0x1!==_0x41eeb2[_0x1a4e('0x3e')](_0x24fc05),_0x5e63a6=_0x5446eb(arguments[0x2],_0x4f7143);if(_0x52df06)for(let _0x48773c=0x0;_0x48773c<_0x52df06[_0x1a4e('0x1e')];_0x48773c++)if(_0x24fc05===_0x52df06[_0x48773c])return _0x4f7143?_0x230eac[_0x1a4e('0x1')](_0x37f6eb,_0x24fc05,_0x26f339,_0x5e63a6):_0x230eac['apply'](this,arguments);const _0x49c2fa=!!_0x5e63a6&&(_0x1a4e('0x34b')==typeof _0x5e63a6||_0x5e63a6[_0x1a4e('0x37f3')]),_0x570ba0=!(!_0x5e63a6||_0x1a4e('0x85')!=typeof _0x5e63a6)&&_0x5e63a6[_0x1a4e('0xd9e')],_0x1e0835=Zone[_0x1a4e('0x3771')];let _0x47a92b=_0x39bb6e[_0x24fc05];_0x47a92b||(_0x38cb55(_0x24fc05,_0x44ebc1),_0x47a92b=_0x39bb6e[_0x24fc05]);const _0xdfb820=_0x47a92b[_0x49c2fa?_0x35efaa:_0x3b3b5d];let _0x57aef7,_0x52845c=_0x37f6eb[_0xdfb820],_0x4275a6=!0x1;if(_0x52845c){if(_0x4275a6=!0x0,_0x18daea)for(let _0x48773c=0x0;_0x48773c<_0x52845c[_0x1a4e('0x1e')];_0x48773c++)if(_0x52ff0c(_0x52845c[_0x48773c],_0x26f339))return;}else _0x52845c=_0x37f6eb[_0xdfb820]=[];const _0x33a902=_0x37f6eb[_0x1a4e('0x10')]['name'],_0x248e34=_0x21f5d7[_0x33a902];_0x248e34&&(_0x57aef7=_0x248e34[_0x24fc05]),_0x57aef7||(_0x57aef7=_0x33a902+_0x410fdb+(_0x44ebc1?_0x44ebc1(_0x24fc05):_0x24fc05)),_0x375368[_0x1a4e('0x8dc')]=_0x5e63a6,_0x570ba0&&(_0x375368[_0x1a4e('0x8dc')][_0x1a4e('0xd9e')]=!0x1),_0x375368['target']=_0x37f6eb,_0x375368[_0x1a4e('0x37f3')]=_0x49c2fa,_0x375368[_0x1a4e('0x37f4')]=_0x24fc05,_0x375368['isExisting']=_0x4275a6;const _0x3168ce=_0x170424?_0x79ccc0:void 0x0;_0x3168ce&&(_0x3168ce[_0x1a4e('0x37f9')]=_0x375368);const _0x1662d3=_0x1e0835[_0x1a4e('0x378b')](_0x57aef7,_0x26f339,_0x3168ce,_0x4462e8,_0x2bfa93);return _0x375368[_0x1a4e('0xd95')]=null,_0x3168ce&&(_0x3168ce['taskData']=null),_0x570ba0&&(_0x5e63a6[_0x1a4e('0xd9e')]=!0x0),(_0x292a06||'boolean'!=typeof _0x1662d3[_0x1a4e('0x8dc')])&&(_0x1662d3[_0x1a4e('0x8dc')]=_0x5e63a6),_0x1662d3[_0x1a4e('0xd95')]=_0x37f6eb,_0x1662d3['capture']=_0x49c2fa,_0x1662d3[_0x1a4e('0x37f4')]=_0x24fc05,_0x3d0b59&&(_0x1662d3['originalDelegate']=_0x26f339),_0x5792dc?_0x52845c[_0x1a4e('0x66')](_0x1662d3):_0x52845c[_0x1a4e('0x46')](_0x1662d3),_0x50ae4c?_0x37f6eb:void 0x0;};};return _0x47a92b[_0x4462e8]=_0x3cf5b5(_0xdfb820,_0x26f339,_0x3168ce,_0x1662d3,_0x1e0835),_0x33a902&&(_0x47a92b[_0x4f7143]=_0x3cf5b5(_0x33a902,_0x5e63a6,_0x248e34,_0x1662d3,_0x1e0835,!0x0)),_0x47a92b[_0x2bfa93]=function(){const _0x230eac=this||_0x48773c;let _0x410fdb=arguments[0x0];_0x26f579&&_0x26f579[_0x1a4e('0x37f8')]&&(_0x410fdb=_0x26f579[_0x1a4e('0x37f8')](_0x410fdb));const _0x4462e8=arguments[0x2],_0x2bfa93=!!_0x4462e8&&('boolean'==typeof _0x4462e8||_0x4462e8[_0x1a4e('0x37f3')]),_0x170424=arguments[0x1];if(!_0x170424)return _0x57aef7[_0x1a4e('0x8b')](this,arguments);if(_0x2146a8&&!_0x2146a8(_0x57aef7,_0x170424,_0x230eac,arguments))return;const _0x50ae4c=_0x39bb6e[_0x410fdb];let _0x5792dc;_0x50ae4c&&(_0x5792dc=_0x50ae4c[_0x2bfa93?_0x35efaa:_0x3b3b5d]);const _0x24fc05=_0x5792dc&&_0x230eac[_0x5792dc];if(_0x24fc05)for(let _0x48773c=0x0;_0x48773c<_0x24fc05[_0x1a4e('0x1e')];_0x48773c++){const _0x26f579=_0x24fc05[_0x48773c];if(_0x52ff0c(_0x26f579,_0x170424)){if(_0x24fc05['splice'](_0x48773c,0x1),_0x26f579[_0x1a4e('0x37f6')]=!0x0,0x0===_0x24fc05[_0x1a4e('0x1e')]&&(_0x26f579[_0x1a4e('0x37f7')]=!0x0,_0x230eac[_0x5792dc]=null,_0x1a4e('0x9')==typeof _0x410fdb)){const _0x48773c=_0x37f6eb+_0x1a4e('0x37c8')+_0x410fdb;_0x230eac[_0x48773c]=null;}return _0x26f579['zone'][_0x1a4e('0x378c')](_0x26f579),_0x1e0835?_0x230eac:void 0x0;}}return _0x57aef7[_0x1a4e('0x8b')](this,arguments);},_0x47a92b[_0x50ae4c]=function(){const _0x230eac=this||_0x48773c;let _0x410fdb=arguments[0x0];_0x26f579&&_0x26f579[_0x1a4e('0x37f8')]&&(_0x410fdb=_0x26f579[_0x1a4e('0x37f8')](_0x410fdb));const _0x4462e8=[],_0x2bfa93=_0x29e4f2(_0x230eac,_0x44ebc1?_0x44ebc1(_0x410fdb):_0x410fdb);for(let _0x48773c=0x0;_0x48773c<_0x2bfa93[_0x1a4e('0x1e')];_0x48773c++){const _0x230eac=_0x2bfa93[_0x48773c];let _0x410fdb=_0x230eac[_0x1a4e('0x37f0')]?_0x230eac[_0x1a4e('0x37f0')]:_0x230eac[_0x1a4e('0x13db')];_0x4462e8[_0x1a4e('0x46')](_0x410fdb);}return _0x4462e8;},_0x47a92b[_0x5792dc]=function(){const _0x230eac=this||_0x48773c;let _0x410fdb=arguments[0x0];if(_0x410fdb){_0x26f579&&_0x26f579[_0x1a4e('0x37f8')]&&(_0x410fdb=_0x26f579[_0x1a4e('0x37f8')](_0x410fdb));const _0x48773c=_0x39bb6e[_0x410fdb];if(_0x48773c){const _0x26f579=_0x48773c[_0x3b3b5d],_0x4462e8=_0x48773c[_0x35efaa],_0x170424=_0x230eac[_0x26f579],_0x2146a8=_0x230eac[_0x4462e8];if(_0x170424){const _0x48773c=_0x170424[_0x1a4e('0x78')]();for(let _0x230eac=0x0;_0x230eac<_0x48773c[_0x1a4e('0x1e')];_0x230eac++){const _0x26f579=_0x48773c[_0x230eac];let _0x4462e8=_0x26f579[_0x1a4e('0x37f0')]?_0x26f579[_0x1a4e('0x37f0')]:_0x26f579[_0x1a4e('0x13db')];this[_0x2bfa93]['call'](this,_0x410fdb,_0x4462e8,_0x26f579[_0x1a4e('0x8dc')]);}}if(_0x2146a8){const _0x48773c=_0x2146a8['slice']();for(let _0x230eac=0x0;_0x230eac<_0x48773c[_0x1a4e('0x1e')];_0x230eac++){const _0x26f579=_0x48773c[_0x230eac];let _0x4462e8=_0x26f579[_0x1a4e('0x37f0')]?_0x26f579[_0x1a4e('0x37f0')]:_0x26f579[_0x1a4e('0x13db')];this[_0x2bfa93][_0x1a4e('0x1')](this,_0x410fdb,_0x4462e8,_0x26f579[_0x1a4e('0x8dc')]);}}}}else{const _0x48773c=Object[_0x1a4e('0x56')](_0x230eac);for(let _0x230eac=0x0;_0x230eac<_0x48773c['length'];_0x230eac++){const _0x410fdb=_0x48773c[_0x230eac],_0x26f579=_0x3cf6d['exec'](_0x410fdb);let _0x4462e8=_0x26f579&&_0x26f579[0x1];_0x4462e8&&_0x1a4e('0xda0')!==_0x4462e8&&this[_0x5792dc]['call'](this,_0x4462e8);}this[_0x5792dc][_0x1a4e('0x1')](this,_0x1a4e('0xda0'));}if(_0x1e0835)return this;},_0x4fb4cb(_0x47a92b[_0x4462e8],_0xdfb820),_0x4fb4cb(_0x47a92b[_0x2bfa93],_0x57aef7),_0x4275a6&&_0x4fb4cb(_0x47a92b[_0x5792dc],_0x4275a6),_0x52845c&&_0x4fb4cb(_0x47a92b[_0x50ae4c],_0x52845c),!0x0;}let _0x47a92b=[];for(let _0x48773c=0x0;_0x48773c<_0x230eac[_0x1a4e('0x1e')];_0x48773c++)_0x47a92b[_0x48773c]=_0x1e0835(_0x230eac[_0x48773c],_0x26f579);return _0x47a92b;}function _0x29e4f2(_0x48773c,_0x230eac){if(!_0x230eac){const _0x410fdb=[];for(let _0x26f579 in _0x48773c){const _0x4462e8=_0x3cf6d[_0x1a4e('0x2af')](_0x26f579);let _0x2bfa93=_0x4462e8&&_0x4462e8[0x1];if(_0x2bfa93&&(!_0x230eac||_0x2bfa93===_0x230eac)){const _0x230eac=_0x48773c[_0x26f579];if(_0x230eac)for(let _0x48773c=0x0;_0x48773c<_0x230eac[_0x1a4e('0x1e')];_0x48773c++)_0x410fdb[_0x1a4e('0x46')](_0x230eac[_0x48773c]);}}return _0x410fdb;}let _0x410fdb=_0x39bb6e[_0x230eac];_0x410fdb||(_0x38cb55(_0x230eac),_0x410fdb=_0x39bb6e[_0x230eac]);const _0x26f579=_0x48773c[_0x410fdb[_0x3b3b5d]],_0x4462e8=_0x48773c[_0x410fdb[_0x35efaa]];return _0x26f579?_0x4462e8?_0x26f579[_0x1a4e('0x9a')](_0x4462e8):_0x26f579[_0x1a4e('0x78')]():_0x4462e8?_0x4462e8[_0x1a4e('0x78')]():[];}function _0xea3ab6(_0x48773c,_0x230eac){const _0x410fdb=_0x48773c['Event'];_0x410fdb&&_0x410fdb[_0x1a4e('0xa')]&&_0x230eac[_0x1a4e('0x37fa')](_0x410fdb[_0x1a4e('0xa')],_0x1a4e('0x37fb'),_0x48773c=>function(_0x230eac,_0x410fdb){_0x230eac[_0x3cf5b5]=!0x0,_0x48773c&&_0x48773c['apply'](_0x230eac,_0x410fdb);});}function _0x3a92f7(_0x48773c,_0x230eac,_0x410fdb,_0x26f579,_0x4462e8){const _0x2bfa93=Zone[_0x1a4e('0x3769')](_0x26f579);if(_0x230eac[_0x2bfa93])return;const _0x170424=_0x230eac[_0x2bfa93]=_0x230eac[_0x26f579];_0x230eac[_0x26f579]=function(_0x2bfa93,_0x2146a8,_0x50ae4c){return _0x2146a8&&_0x2146a8[_0x1a4e('0xa')]&&_0x4462e8['forEach'](function(_0x230eac){const _0x4462e8=_0x410fdb+'.'+_0x26f579+'::'+_0x230eac,_0x2bfa93=_0x2146a8[_0x1a4e('0xa')];if(_0x2bfa93['hasOwnProperty'](_0x230eac)){const _0x410fdb=_0x48773c[_0x1a4e('0x37fc')](_0x2bfa93,_0x230eac);_0x410fdb&&_0x410fdb[_0x1a4e('0x255')]?(_0x410fdb[_0x1a4e('0x255')]=_0x48773c[_0x1a4e('0x37fd')](_0x410fdb['value'],_0x4462e8),_0x48773c[_0x1a4e('0x37fe')](_0x2146a8[_0x1a4e('0xa')],_0x230eac,_0x410fdb)):_0x2bfa93[_0x230eac]&&(_0x2bfa93[_0x230eac]=_0x48773c['wrapWithCurrentZone'](_0x2bfa93[_0x230eac],_0x4462e8));}else _0x2bfa93[_0x230eac]&&(_0x2bfa93[_0x230eac]=_0x48773c[_0x1a4e('0x37fd')](_0x2bfa93[_0x230eac],_0x4462e8));}),_0x170424['call'](_0x230eac,_0x2bfa93,_0x2146a8,_0x50ae4c);},_0x48773c['attachOriginToPatched'](_0x230eac[_0x26f579],_0x170424);}const _0x1e9d8b=[_0x1a4e('0x37ff'),_0x1a4e('0x3800'),_0x1a4e('0x3801'),_0x1a4e('0x3802'),_0x1a4e('0x3803'),_0x1a4e('0x3804'),_0x1a4e('0x3805'),_0x1a4e('0x3806'),'devicemotion',_0x1a4e('0x3807'),_0x1a4e('0x3808'),_0x1a4e('0x3809'),_0x1a4e('0x1595'),'languagechange',_0x1a4e('0x133'),_0x1a4e('0x380a'),_0x1a4e('0x380b'),_0x1a4e('0x380c'),_0x1a4e('0x380d'),_0x1a4e('0x380e'),_0x1a4e('0x380f'),_0x1a4e('0x1596'),'rejectionhandled','storage',_0x1a4e('0x129e'),'unload','userproximity',_0x1a4e('0x3810'),_0x1a4e('0x3811'),_0x1a4e('0x3812')],_0x20e13f=[_0x1a4e('0x3813'),_0x1a4e('0x3814'),_0x1a4e('0x3815'),'mozinterruptbegin','mozinterruptend'],_0x11ef28=[_0x1a4e('0x7b')],_0x1e3ed5=['blur','error',_0x1a4e('0x3816'),'load',_0x1a4e('0x3817'),_0x1a4e('0x351'),_0x1a4e('0x3818')],_0x4e30ef=[_0x1a4e('0x3819'),_0x1a4e('0x13c2'),_0x1a4e('0xc9')],_0x2539d7=[_0x1a4e('0x381a'),'progress',_0x1a4e('0x381b'),_0x1a4e('0x873'),_0x1a4e('0x7b'),_0x1a4e('0x381c'),'timeout',_0x1a4e('0x381d'),'readystatechange'],_0xc467a3=['upgradeneeded','complete','abort',_0x1a4e('0xe0c'),_0x1a4e('0x873'),'blocked','versionchange',_0x1a4e('0x139b')],_0x3db4c6=[_0x1a4e('0x139b'),'error',_0x1a4e('0x12bc'),_0x1a4e('0x133')],_0x1c066c=['error',_0x1a4e('0x133')],_0xedb9a9=['abort','animationcancel',_0x1a4e('0x381e'),_0x1a4e('0x381f'),_0x1a4e('0x3820'),_0x1a4e('0x3821'),_0x1a4e('0x3822'),_0x1a4e('0x1038'),_0x1a4e('0x3823'),_0x1a4e('0x3824'),'change',_0x1a4e('0x3825'),_0x1a4e('0x3826'),_0x1a4e('0x3827'),_0x1a4e('0x3828'),_0x1a4e('0x3829'),_0x1a4e('0x139b'),_0x1a4e('0x382a'),_0x1a4e('0x382b'),_0x1a4e('0x382c'),_0x1a4e('0x382d'),_0x1a4e('0x382e'),'dragenter',_0x1a4e('0x382f'),_0x1a4e('0x3830'),_0x1a4e('0x3831'),'drop',_0x1a4e('0x3832'),_0x1a4e('0x3833'),'ended','error',_0x1a4e('0x3816'),_0x1a4e('0x3834'),_0x1a4e('0x3835'),_0x1a4e('0x3836'),_0x1a4e('0xfc7'),_0x1a4e('0x3837'),_0x1a4e('0x3838'),_0x1a4e('0x3839'),_0x1a4e('0x383a'),_0x1a4e('0x7b'),_0x1a4e('0x381a'),'loadeddata',_0x1a4e('0x383b'),_0x1a4e('0x383c'),_0x1a4e('0x383d'),_0x1a4e('0x383e'),_0x1a4e('0x383f'),_0x1a4e('0xec6'),_0x1a4e('0x3840'),_0x1a4e('0x3841'),'mouseup',_0x1a4e('0x3842'),_0x1a4e('0x3843'),'pause',_0x1a4e('0x3844'),_0x1a4e('0x3845'),'pointercancel',_0x1a4e('0x3846'),_0x1a4e('0x3847'),'pointerleave',_0x1a4e('0x3848'),'mozpointerlockchange',_0x1a4e('0x3849'),'pointerlockerror','mozpointerlockerror',_0x1a4e('0x384a'),'pointermove','pointout',_0x1a4e('0x384b'),_0x1a4e('0x384c'),_0x1a4e('0x381c'),_0x1a4e('0x384d'),_0x1a4e('0x138'),_0x1a4e('0x3817'),_0x1a4e('0x351'),_0x1a4e('0x384e'),'seeking',_0x1a4e('0x51a'),_0x1a4e('0x384f'),_0x1a4e('0x3850'),'show',_0x1a4e('0x89'),_0x1a4e('0x3851'),_0x1a4e('0x3852'),_0x1a4e('0x3853'),_0x1a4e('0x3854'),'volumechange','touchcancel',_0x1a4e('0x3855'),_0x1a4e('0x3856'),'touchend','transitioncancel',_0x1a4e('0x3857'),_0x1a4e('0x3858'),_0x1a4e('0x3859')][_0x1a4e('0x9a')](['webglcontextrestored',_0x1a4e('0x385a'),_0x1a4e('0x385b')],[_0x1a4e('0x385c'),_0x1a4e('0x385d')],[_0x1a4e('0x385e')],[_0x1a4e('0x385f'),_0x1a4e('0x3860'),_0x1a4e('0x3861'),_0x1a4e('0x151'),_0x1a4e('0x3862'),_0x1a4e('0x3863'),_0x1a4e('0x3864'),_0x1a4e('0x3865'),_0x1a4e('0x3866'),_0x1a4e('0x3867'),_0x1a4e('0x3868'),_0x1a4e('0x3869'),'readystatechange','visibilitychange','resume'],_0x1e9d8b,[_0x1a4e('0x386a'),_0x1a4e('0x386b'),_0x1a4e('0x386c'),_0x1a4e('0xea'),_0x1a4e('0x386d'),_0x1a4e('0x386e'),_0x1a4e('0x386f'),_0x1a4e('0x381d'),_0x1a4e('0x3870'),_0x1a4e('0x83'),_0x1a4e('0x3871'),_0x1a4e('0x3872'),_0x1a4e('0x3873'),_0x1a4e('0x3874'),_0x1a4e('0x3875'),_0x1a4e('0x3876')],[_0x1a4e('0x3877'),'afterupdate',_0x1a4e('0x3878'),_0x1a4e('0x3879'),_0x1a4e('0x387a'),'beforeeditfocus',_0x1a4e('0x387b'),_0x1a4e('0x387c'),'controlselect','dataavailable',_0x1a4e('0x387d'),_0x1a4e('0x387e'),_0x1a4e('0x387f'),'filterchange','layoutcomplete','losecapture','move','moveend','movestart',_0x1a4e('0x3880'),_0x1a4e('0x3881'),_0x1a4e('0x3882'),'rowenter','rowexit',_0x1a4e('0x3883'),_0x1a4e('0x3884'),_0x1a4e('0x3885'),_0x1a4e('0x3886'),_0x1a4e('0x3887'),_0x1a4e('0x271e'),'mscontentzoom',_0x1a4e('0x3888'),_0x1a4e('0x3889'),_0x1a4e('0x388a'),'msgestureend',_0x1a4e('0x388b'),_0x1a4e('0x388c'),'msgesturetap',_0x1a4e('0x388d'),_0x1a4e('0x388e'),_0x1a4e('0x388f'),_0x1a4e('0x3890'),_0x1a4e('0x3891'),'mspointerenter','mspointerhover',_0x1a4e('0x3892'),_0x1a4e('0x3893'),_0x1a4e('0x3894'),_0x1a4e('0x3895'),_0x1a4e('0x3896'),'pointerout',_0x1a4e('0x3897'),_0x1a4e('0x3898'),_0x1a4e('0x127b'),'storagecommit']);function _0x51757d(_0x48773c,_0x230eac,_0x410fdb){if(!_0x410fdb||0x0===_0x410fdb['length'])return _0x230eac;const _0x26f579=_0x410fdb[_0x1a4e('0xd9')](_0x230eac=>_0x230eac['target']===_0x48773c);if(!_0x26f579||0x0===_0x26f579[_0x1a4e('0x1e')])return _0x230eac;const _0x4462e8=_0x26f579[0x0][_0x1a4e('0x3899')];return _0x230eac[_0x1a4e('0xd9')](_0x48773c=>-0x1===_0x4462e8[_0x1a4e('0x3e')](_0x48773c));}function _0x5b4d2e(_0x48773c,_0x230eac,_0x410fdb,_0x26f579){if(!_0x48773c)return;const _0x4462e8=_0x51757d(_0x48773c,_0x230eac,_0x410fdb);_0x33a902(_0x48773c,_0x4462e8,_0x26f579);}function _0x42d95c(_0x48773c,_0x230eac){if(_0x160d21&&!_0xdfb820)return;if(Zone[_0x48773c[_0x1a4e('0xb1b')](_0x1a4e('0x389a'))])return;const _0x26f579=_0x1a4e('0x3')!=typeof WebSocket,_0x4462e8=_0x230eac[_0x1a4e('0x389b')];if(_0x375368){const _0x48773c=window,_0x230eac=function(){try{const _0x230eac=_0x48773c[_0x1a4e('0x37d3')]['userAgent'];if(-0x1!==_0x230eac[_0x1a4e('0x3e')](_0x1a4e('0x37d4'))||-0x1!==_0x230eac['indexOf']('Trident/'))return!0x0;}catch(_0x3b3837){}return!0x1;}()?[{'target':_0x48773c,'ignoreProperties':[_0x1a4e('0x873')]}]:[];_0x5b4d2e(_0x48773c,_0xedb9a9[_0x1a4e('0x9a')](['messageerror']),_0x4462e8?_0x4462e8[_0x1a4e('0x9a')](_0x230eac):_0x4462e8,_0x410fdb(_0x48773c)),_0x5b4d2e(Document[_0x1a4e('0xa')],_0xedb9a9,_0x4462e8),void 0x0!==_0x48773c[_0x1a4e('0x389c')]&&_0x5b4d2e(_0x48773c[_0x1a4e('0x389c')][_0x1a4e('0xa')],_0xedb9a9,_0x4462e8),_0x5b4d2e(Element['prototype'],_0xedb9a9,_0x4462e8),_0x5b4d2e(HTMLElement['prototype'],_0xedb9a9,_0x4462e8),_0x5b4d2e(HTMLMediaElement[_0x1a4e('0xa')],_0x20e13f,_0x4462e8),_0x5b4d2e(HTMLFrameSetElement[_0x1a4e('0xa')],_0x1e9d8b['concat'](_0x1e3ed5),_0x4462e8),_0x5b4d2e(HTMLBodyElement[_0x1a4e('0xa')],_0x1e9d8b[_0x1a4e('0x9a')](_0x1e3ed5),_0x4462e8),_0x5b4d2e(HTMLFrameElement[_0x1a4e('0xa')],_0x11ef28,_0x4462e8),_0x5b4d2e(HTMLIFrameElement[_0x1a4e('0xa')],_0x11ef28,_0x4462e8);const _0x26f579=_0x48773c[_0x1a4e('0x389d')];_0x26f579&&_0x5b4d2e(_0x26f579[_0x1a4e('0xa')],_0x4e30ef,_0x4462e8);const _0x2bfa93=_0x48773c['Worker'];_0x2bfa93&&_0x5b4d2e(_0x2bfa93['prototype'],_0x1c066c,_0x4462e8);}const _0x2bfa93=_0x230eac[_0x1a4e('0x37d0')];_0x2bfa93&&_0x5b4d2e(_0x2bfa93[_0x1a4e('0xa')],_0x2539d7,_0x4462e8);const _0x170424=_0x230eac[_0x1a4e('0x389e')];_0x170424&&_0x5b4d2e(_0x170424&&_0x170424[_0x1a4e('0xa')],_0x2539d7,_0x4462e8),_0x1a4e('0x3')!=typeof IDBIndex&&(_0x5b4d2e(IDBIndex['prototype'],_0xc467a3,_0x4462e8),_0x5b4d2e(IDBRequest[_0x1a4e('0xa')],_0xc467a3,_0x4462e8),_0x5b4d2e(IDBOpenDBRequest['prototype'],_0xc467a3,_0x4462e8),_0x5b4d2e(IDBDatabase['prototype'],_0xc467a3,_0x4462e8),_0x5b4d2e(IDBTransaction['prototype'],_0xc467a3,_0x4462e8),_0x5b4d2e(IDBCursor['prototype'],_0xc467a3,_0x4462e8)),_0x26f579&&_0x5b4d2e(WebSocket[_0x1a4e('0xa')],_0x3db4c6,_0x4462e8);}Zone[_0x1a4e('0x3774')]('util',(_0x410fdb,_0x26f579,_0x50ae4c)=>{_0x50ae4c[_0x1a4e('0x389f')]=_0x33a902,_0x50ae4c['patchMethod']=_0x3168ce,_0x50ae4c['bindArguments']=_0x1e0835,_0x50ae4c[_0x1a4e('0x38a0')]=_0x1662d3;const _0x5792dc=_0x26f579[_0x1a4e('0x3769')](_0x1a4e('0x38a1')),_0x26f339=_0x26f579[_0x1a4e('0x3769')]('UNPATCHED_EVENTS');_0x410fdb[_0x26f339]&&(_0x410fdb[_0x5792dc]=_0x410fdb[_0x26f339]),_0x410fdb[_0x5792dc]&&(_0x26f579[_0x5792dc]=_0x26f579[_0x26f339]=_0x410fdb[_0x5792dc]),_0x50ae4c[_0x1a4e('0x38a2')]=_0xea3ab6,_0x50ae4c[_0x1a4e('0x38a3')]=_0x57b2db,_0x50ae4c[_0x1a4e('0x38a4')]=_0x41eeb2,_0x50ae4c[_0x1a4e('0x38a5')]=_0x230eac,_0x50ae4c[_0x1a4e('0x37fc')]=_0x48773c,_0x50ae4c[_0x1a4e('0x38a6')]=_0x4462e8,_0x50ae4c[_0x1a4e('0x38a7')]=_0x2bfa93,_0x50ae4c['patchClass']=_0x248e34,_0x50ae4c[_0x1a4e('0x37fd')]=_0x24fc05,_0x50ae4c[_0x1a4e('0x83d')]=_0x51757d,_0x50ae4c[_0x1a4e('0x38a8')]=_0x4fb4cb,_0x50ae4c[_0x1a4e('0x37fe')]=Object[_0x1a4e('0x2')],_0x50ae4c[_0x1a4e('0x38a9')]=_0x3a92f7,_0x50ae4c['getGlobalObjects']=()=>({'globalSources':_0x21f5d7,'zoneSymbolEventNames':_0x39bb6e,'eventNames':_0xedb9a9,'isBrowser':_0x375368,'isMix':_0xdfb820,'isNode':_0x160d21,'TRUE_STR':_0x35efaa,'FALSE_STR':_0x3b3b5d,'ZONE_SYMBOL_PREFIX':_0x37f6eb,'ADD_EVENT_LISTENER_STR':_0x170424,'REMOVE_EVENT_LISTENER_STR':_0x2146a8});});const _0x2df661=_0x3d0b59(_0x1a4e('0x38aa'));function _0x453017(_0x48773c,_0x230eac,_0x410fdb,_0x26f579){let _0x4462e8=null,_0x2bfa93=null;_0x410fdb+=_0x26f579;const _0x170424={};function _0x2146a8(_0x230eac){const _0x410fdb=_0x230eac['data'];return _0x410fdb[_0x1a4e('0x89c')][0x0]=function(){try{_0x230eac[_0x1a4e('0x10a6')][_0x1a4e('0x8b')](this,arguments);}finally{_0x230eac[_0x1a4e('0x7f')]&&_0x230eac[_0x1a4e('0x7f')]['isPeriodic']||(_0x1a4e('0x3d')==typeof _0x410fdb[_0x1a4e('0x37c0')]?delete _0x170424[_0x410fdb[_0x1a4e('0x37c0')]]:_0x410fdb[_0x1a4e('0x37c0')]&&(_0x410fdb[_0x1a4e('0x37c0')][_0x2df661]=null));}},_0x410fdb[_0x1a4e('0x37c0')]=_0x4462e8[_0x1a4e('0x8b')](_0x48773c,_0x410fdb[_0x1a4e('0x89c')]),_0x230eac;}function _0x50ae4c(_0x230eac){return _0x2bfa93[_0x1a4e('0x1')](_0x48773c,_0x230eac[_0x1a4e('0x7f')][_0x1a4e('0x37c0')]);}_0x4462e8=_0x3168ce(_0x48773c,_0x230eac+=_0x26f579,_0x410fdb=>function(_0x4462e8,_0x2bfa93){if(_0x1a4e('0x68')==typeof _0x2bfa93[0x0]){const _0x48773c={'isPeriodic':'Interval'===_0x26f579,'delay':_0x1a4e('0x38ab')===_0x26f579||'Interval'===_0x26f579?_0x2bfa93[0x1]||0x0:void 0x0,'args':_0x2bfa93},_0x410fdb=_0x26f339(_0x230eac,_0x2bfa93[0x0],_0x48773c,_0x2146a8,_0x50ae4c);if(!_0x410fdb)return _0x410fdb;const _0x4462e8=_0x410fdb[_0x1a4e('0x7f')][_0x1a4e('0x37c0')];return _0x1a4e('0x3d')==typeof _0x4462e8?_0x170424[_0x4462e8]=_0x410fdb:_0x4462e8&&(_0x4462e8[_0x2df661]=_0x410fdb),_0x4462e8&&_0x4462e8[_0x1a4e('0x1652')]&&_0x4462e8[_0x1a4e('0x1651')]&&_0x1a4e('0x68')==typeof _0x4462e8[_0x1a4e('0x1652')]&&_0x1a4e('0x68')==typeof _0x4462e8[_0x1a4e('0x1651')]&&(_0x410fdb[_0x1a4e('0x1652')]=_0x4462e8[_0x1a4e('0x1652')][_0x1a4e('0x945')](_0x4462e8),_0x410fdb[_0x1a4e('0x1651')]=_0x4462e8[_0x1a4e('0x1651')][_0x1a4e('0x945')](_0x4462e8)),_0x1a4e('0x3d')==typeof _0x4462e8||_0x4462e8?_0x4462e8:_0x410fdb;}return _0x410fdb[_0x1a4e('0x8b')](_0x48773c,_0x2bfa93);}),_0x2bfa93=_0x3168ce(_0x48773c,_0x410fdb,_0x230eac=>function(_0x410fdb,_0x26f579){const _0x4462e8=_0x26f579[0x0];let _0x2bfa93;_0x1a4e('0x3d')==typeof _0x4462e8?_0x2bfa93=_0x170424[_0x4462e8]:(_0x2bfa93=_0x4462e8&&_0x4462e8[_0x2df661])||(_0x2bfa93=_0x4462e8),_0x2bfa93&&_0x1a4e('0x9')==typeof _0x2bfa93[_0x1a4e('0x40')]?_0x1a4e('0x37b8')!==_0x2bfa93[_0x1a4e('0xa46')]&&(_0x2bfa93['cancelFn']&&_0x2bfa93[_0x1a4e('0x7f')]['isPeriodic']||0x0===_0x2bfa93[_0x1a4e('0x3784')])&&(_0x1a4e('0x3d')==typeof _0x4462e8?delete _0x170424[_0x4462e8]:_0x4462e8&&(_0x4462e8[_0x2df661]=null),_0x2bfa93[_0x1a4e('0x3772')][_0x1a4e('0x378c')](_0x2bfa93)):_0x230eac[_0x1a4e('0x8b')](_0x48773c,_0x26f579);});}function _0x31ca2a(_0x48773c,_0x230eac){if(Zone[_0x230eac['symbol'](_0x1a4e('0x38a3'))])return;const {eventNames:_0x410fdb,zoneSymbolEventNames:_0x26f579,TRUE_STR:_0x4462e8,FALSE_STR:_0x2bfa93,ZONE_SYMBOL_PREFIX:_0x170424}=_0x230eac['getGlobalObjects']();for(let _0x48773c=0x0;_0x48773c<_0x410fdb[_0x1a4e('0x1e')];_0x48773c++){const _0x230eac=_0x410fdb[_0x48773c],_0x2146a8=_0x230eac+_0x2bfa93,_0x50ae4c=_0x230eac+_0x4462e8,_0x5792dc=_0x170424+_0x2146a8,_0x35efaa=_0x170424+_0x50ae4c;_0x26f579[_0x230eac]={},_0x26f579[_0x230eac][_0x2bfa93]=_0x5792dc,_0x26f579[_0x230eac][_0x4462e8]=_0x35efaa;}const _0x2146a8=_0x48773c[_0x1a4e('0x38ac')];return _0x2146a8&&_0x2146a8[_0x1a4e('0xa')]?(_0x230eac[_0x1a4e('0x38a3')](_0x48773c,[_0x2146a8&&_0x2146a8[_0x1a4e('0xa')]]),!0x0):void 0x0;}Zone[_0x1a4e('0x3774')](_0x1a4e('0x38ad'),_0x48773c=>{const _0x230eac=_0x48773c[Zone[_0x1a4e('0x3769')]('legacyPatch')];_0x230eac&&_0x230eac();}),Zone['__load_patch'](_0x1a4e('0x312b'),_0x48773c=>{_0x453017(_0x48773c,_0x1a4e('0x17a'),_0x1a4e('0xb5'),_0x1a4e('0x38ab')),_0x453017(_0x48773c,_0x1a4e('0x17a'),_0x1a4e('0xb5'),_0x1a4e('0x38ae')),_0x453017(_0x48773c,_0x1a4e('0x17a'),_0x1a4e('0xb5'),_0x1a4e('0x1512'));}),Zone[_0x1a4e('0x3774')]('requestAnimationFrame',_0x48773c=>{_0x453017(_0x48773c,'request',_0x1a4e('0x1038'),_0x1a4e('0x38af')),_0x453017(_0x48773c,_0x1a4e('0x38b0'),_0x1a4e('0x38b1'),_0x1a4e('0x38af')),_0x453017(_0x48773c,_0x1a4e('0x38b2'),_0x1a4e('0x38b3'),_0x1a4e('0x38af'));}),Zone['__load_patch']('blocking',(_0x48773c,_0x230eac)=>{const _0x410fdb=[_0x1a4e('0x38b4'),_0x1a4e('0x38b5'),_0x1a4e('0x38b6')];for(let _0x26f579=0x0;_0x26f579<_0x410fdb[_0x1a4e('0x1e')];_0x26f579++){const _0x4462e8=_0x410fdb[_0x26f579];_0x3168ce(_0x48773c,_0x4462e8,(_0x410fdb,_0x26f579,_0x4462e8)=>function(_0x26f579,_0x2bfa93){return _0x230eac[_0x1a4e('0x3771')][_0x1a4e('0x1f3')](_0x410fdb,_0x48773c,_0x2bfa93,_0x4462e8);});}}),Zone['__load_patch'](_0x1a4e('0x38ac'),(_0x48773c,_0x230eac,_0x410fdb)=>{!function(_0x48773c,_0x230eac){_0x230eac[_0x1a4e('0x38a2')](_0x48773c,_0x230eac);}(_0x48773c,_0x410fdb),_0x31ca2a(_0x48773c,_0x410fdb);const _0x26f579=_0x48773c[_0x1a4e('0x389e')];_0x26f579&&_0x26f579['prototype']&&_0x410fdb['patchEventTarget'](_0x48773c,[_0x26f579[_0x1a4e('0xa')]]);}),Zone[_0x1a4e('0x3774')](_0x1a4e('0x38b7'),(_0x48773c,_0x230eac,_0x410fdb)=>{_0x248e34(_0x1a4e('0x38b7')),_0x248e34(_0x1a4e('0x38b8'));}),Zone[_0x1a4e('0x3774')]('IntersectionObserver',(_0x48773c,_0x230eac,_0x410fdb)=>{_0x248e34(_0x1a4e('0x38b9'));}),Zone[_0x1a4e('0x3774')](_0x1a4e('0x38ba'),(_0x48773c,_0x230eac,_0x410fdb)=>{_0x248e34(_0x1a4e('0x38ba'));}),Zone['__load_patch'](_0x1a4e('0x38bb'),(_0x48773c,_0x230eac,_0x410fdb)=>{_0x42d95c(_0x410fdb,_0x48773c);}),Zone[_0x1a4e('0x3774')](_0x1a4e('0x38bc'),(_0x48773c,_0x230eac,_0x410fdb)=>{!function(_0x48773c,_0x230eac){const {isBrowser:_0x410fdb,isMix:_0x26f579}=_0x230eac['getGlobalObjects']();(_0x410fdb||_0x26f579)&&_0x48773c['customElements']&&_0x1a4e('0x38bc')in _0x48773c&&_0x230eac[_0x1a4e('0x38a9')](_0x230eac,_0x48773c[_0x1a4e('0x38bc')],'customElements',_0x1a4e('0x85d'),[_0x1a4e('0x38bd'),_0x1a4e('0x38be'),_0x1a4e('0x38bf'),_0x1a4e('0x38c0')]);}(_0x48773c,_0x410fdb);}),Zone[_0x1a4e('0x3774')]('XHR',(_0x48773c,_0x230eac)=>{!function(_0x48773c){const _0x35efaa=_0x48773c['XMLHttpRequest'];if(!_0x35efaa)return;const _0x3b3b5d=_0x35efaa[_0x1a4e('0xa')];let _0x37f6eb=_0x3b3b5d[_0x50ae4c],_0x24fc05=_0x3b3b5d[_0x5792dc];if(!_0x37f6eb){const _0x230eac=_0x48773c[_0x1a4e('0x389e')];if(_0x230eac){const _0x48773c=_0x230eac[_0x1a4e('0xa')];_0x37f6eb=_0x48773c[_0x50ae4c],_0x24fc05=_0x48773c[_0x5792dc];}}const _0x4f7143=_0x1a4e('0x38c1'),_0x5e63a6=_0x1a4e('0x1456');function _0x18daea(_0x48773c){const _0x26f579=_0x48773c[_0x1a4e('0x7f')],_0x170424=_0x26f579['target'];_0x170424[_0x2bfa93]=!0x1,_0x170424[_0x2146a8]=!0x1;const _0x35efaa=_0x170424[_0x4462e8];_0x37f6eb||(_0x37f6eb=_0x170424[_0x50ae4c],_0x24fc05=_0x170424[_0x5792dc]),_0x35efaa&&_0x24fc05[_0x1a4e('0x1')](_0x170424,_0x4f7143,_0x35efaa);const _0x3b3b5d=_0x170424[_0x4462e8]=()=>{if(_0x170424[_0x1a4e('0x1627')]===_0x170424[_0x1a4e('0x38c2')])if(!_0x26f579[_0x1a4e('0x38c3')]&&_0x170424[_0x2bfa93]&&_0x48773c['state']===_0x5e63a6){const _0x410fdb=_0x170424[_0x230eac[_0x1a4e('0x3769')](_0x1a4e('0x38c4'))];if(_0x410fdb&&_0x410fdb[_0x1a4e('0x1e')]>0x0){const _0x4462e8=_0x48773c[_0x1a4e('0x10a6')];_0x48773c[_0x1a4e('0x10a6')]=function(){const _0x410fdb=_0x170424[_0x230eac[_0x1a4e('0x3769')](_0x1a4e('0x38c4'))];for(let _0x230eac=0x0;_0x230eac<_0x410fdb['length'];_0x230eac++)_0x410fdb[_0x230eac]===_0x48773c&&_0x410fdb[_0x1a4e('0x8a')](_0x230eac,0x1);_0x26f579[_0x1a4e('0x38c3')]||_0x48773c['state']!==_0x5e63a6||_0x4462e8[_0x1a4e('0x1')](_0x48773c);},_0x410fdb[_0x1a4e('0x46')](_0x48773c);}else _0x48773c[_0x1a4e('0x10a6')]();}else _0x26f579['aborted']||!0x1!==_0x170424[_0x2bfa93]||(_0x170424[_0x2146a8]=!0x0);};_0x37f6eb[_0x1a4e('0x1')](_0x170424,_0x4f7143,_0x3b3b5d);const _0x26f339=_0x170424[_0x410fdb];return _0x26f339||(_0x170424[_0x410fdb]=_0x48773c),_0x160d21[_0x1a4e('0x8b')](_0x170424,_0x26f579[_0x1a4e('0x89c')]),_0x170424[_0x2bfa93]=!0x0,_0x48773c;}function _0x49c2fa(){}function _0x570ba0(_0x48773c){const _0x230eac=_0x48773c['data'];return _0x230eac['aborted']=!0x0,_0x375368[_0x1a4e('0x8b')](_0x230eac['target'],_0x230eac['args']);}const _0x1e0835=_0x3168ce(_0x3b3b5d,_0x1a4e('0x12bc'),()=>function(_0x48773c,_0x230eac){return _0x48773c[_0x26f579]=0x0==_0x230eac[0x2],_0x48773c[_0x170424]=_0x230eac[0x1],_0x1e0835[_0x1a4e('0x8b')](_0x48773c,_0x230eac);}),_0x47a92b=_0x3d0b59(_0x1a4e('0x38c5')),_0x44ebc1=_0x3d0b59(_0x1a4e('0x38c6')),_0x160d21=_0x3168ce(_0x3b3b5d,_0x1a4e('0x1626'),()=>function(_0x48773c,_0x410fdb){if(!0x0===_0x230eac[_0x1a4e('0x3771')][_0x44ebc1])return _0x160d21['apply'](_0x48773c,_0x410fdb);if(_0x48773c[_0x26f579])return _0x160d21['apply'](_0x48773c,_0x410fdb);{const _0x230eac={'target':_0x48773c,'url':_0x48773c[_0x170424],'isPeriodic':!0x1,'args':_0x410fdb,'aborted':!0x1},_0x26f579=_0x26f339('XMLHttpRequest.send',_0x49c2fa,_0x230eac,_0x18daea,_0x570ba0);_0x48773c&&!0x0===_0x48773c[_0x2146a8]&&!_0x230eac['aborted']&&_0x26f579['state']===_0x5e63a6&&_0x26f579[_0x1a4e('0x10a6')]();}}),_0x375368=_0x3168ce(_0x3b3b5d,_0x1a4e('0x381b'),()=>function(_0x48773c,_0x26f579){const _0x4462e8=_0x48773c[_0x410fdb];if(_0x4462e8&&_0x1a4e('0x9')==typeof _0x4462e8[_0x1a4e('0x40')]){if(null==_0x4462e8[_0x1a4e('0x3782')]||_0x4462e8['data']&&_0x4462e8[_0x1a4e('0x7f')][_0x1a4e('0x38c3')])return;_0x4462e8[_0x1a4e('0x3772')][_0x1a4e('0x378c')](_0x4462e8);}else if(!0x0===_0x230eac[_0x1a4e('0x3771')][_0x47a92b])return _0x375368[_0x1a4e('0x8b')](_0x48773c,_0x26f579);});}(_0x48773c);const _0x410fdb=_0x3d0b59(_0x1a4e('0x38c7')),_0x26f579=_0x3d0b59(_0x1a4e('0x38c8')),_0x4462e8=_0x3d0b59(_0x1a4e('0x38c9')),_0x2bfa93=_0x3d0b59(_0x1a4e('0x38ca')),_0x170424=_0x3d0b59(_0x1a4e('0x38cb')),_0x2146a8=_0x3d0b59('xhrErrorBeforeScheduled');}),Zone[_0x1a4e('0x3774')](_0x1a4e('0x38cc'),_0x230eac=>{_0x230eac[_0x1a4e('0x37d3')]&&_0x230eac[_0x1a4e('0x37d3')][_0x1a4e('0x38cc')]&&function(_0x230eac,_0x410fdb){const _0x26f579=_0x230eac[_0x1a4e('0x10')][_0x1a4e('0x2cb')];for(let _0x4462e8=0x0;_0x4462e8<_0x410fdb['length'];_0x4462e8++){const _0x2bfa93=_0x410fdb[_0x4462e8],_0x170424=_0x230eac[_0x2bfa93];if(_0x170424){const _0x410fdb=_0x48773c(_0x230eac,_0x2bfa93);if(!_0x47a92b(_0x410fdb))continue;_0x230eac[_0x2bfa93]=(_0x48773c=>{const _0x230eac=function(){return _0x48773c[_0x1a4e('0x8b')](this,_0x1e0835(arguments,_0x26f579+'.'+_0x2bfa93));};return _0x4fb4cb(_0x230eac,_0x48773c),_0x230eac;})(_0x170424);}}}(_0x230eac[_0x1a4e('0x37d3')][_0x1a4e('0x38cc')],['getCurrentPosition',_0x1a4e('0x38cd')]);}),Zone['__load_patch'](_0x1a4e('0x38ce'),(_0x48773c,_0x230eac)=>{function _0x410fdb(_0x230eac){return function(_0x410fdb){const _0x26f579=_0x29e4f2(_0x48773c,_0x230eac);_0x26f579[_0x1a4e('0x3b')](_0x26f579=>{const _0x4462e8=_0x48773c[_0x1a4e('0x38ce')];if(_0x4462e8){const _0x48773c=new _0x4462e8(_0x230eac,{'promise':_0x410fdb[_0x1a4e('0x12d4')],'reason':_0x410fdb['rejection']});_0x26f579[_0x1a4e('0x10a6')](_0x48773c);}});};}_0x48773c[_0x1a4e('0x38ce')]&&(_0x230eac[_0x3d0b59(_0x1a4e('0x37dd'))]=_0x410fdb('unhandledrejection'),_0x230eac[_0x3d0b59(_0x1a4e('0x37e2'))]=_0x410fdb('rejectionhandled'));});})?_0x4462e8[_0x1a4e('0x1')](_0x230eac,_0x410fdb,_0x230eac,_0x48773c):_0x4462e8)||(_0x48773c[_0x1a4e('0x0')]=_0x2bfa93);}['call'](this,_0x410fdb(_0x1a4e('0xb07'))));},'./src/Analysis/AirborneAnalysis.ts':function(_0x1b987c,_0x4c3f7e,_0x8b71a3){'use strict';_0x8b71a3['r'](_0x4c3f7e),_0x8b71a3['d'](_0x4c3f7e,_0x1a4e('0x38cf'),function(){return _0x26571f;});var _0x28dc62=_0x8b71a3(_0x1a4e('0x38d0')),_0x3b7224=_0x8b71a3(_0x1a4e('0x38d1')),_0x26571f=function(){function _0x1b987c(_0x1b987c){this['viewer']=_0x1b987c,this[_0x1a4e('0x38d2')]=[];}return _0x1b987c[_0x1a4e('0xa')]['open']=function(_0x1b987c,_0x4c3f7e,_0x8b71a3,_0x26571f){var _0x48d80d=this;void 0x0===_0x4c3f7e&&(_0x4c3f7e=_0x1a4e('0x38d3')),void 0x0===_0x8b71a3&&(_0x8b71a3=_0x1a4e('0x38d4')),void 0x0===_0x26571f&&(_0x26571f=!0x0),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')]['depthTestAgainstTerrain']=_0x26571f;var _0x49bd99=_0x1b987c[_0x1a4e('0x38d8')];if(0x0!=_0x49bd99['length']){var _0x5ed1d1=[];_0x49bd99['forEach'](function(_0x4c3f7e,_0x26571f){var _0x49bd99=[];_0x4c3f7e[_0x1a4e('0x38d9')]['forEach'](function(_0x1b987c){_0x49bd99[_0x1a4e('0x46')](new _0x28dc62[(_0x1a4e('0x38da'))](_0x1b987c['x'],_0x1b987c['y']));}),_0x5ed1d1[_0x1a4e('0x46')](_0x49bd99);var _0x1bff76=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x4c3f7e[_0x1a4e('0x38d9')][0x0]['x'],_0x4c3f7e['gridV'][0x0]['y']),_0x33face=_0x48d80d[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x38dc')][_0x1a4e('0x38dd')](_0x1bff76),_0x3f31e3=_0x48d80d['viewer'][_0x1a4e('0x38d6')]['globe'][_0x1a4e('0x29c')](_0x33face),_0x32dc0b=new _0x28dc62[(_0x1a4e('0x38da'))](_0x4c3f7e[_0x1a4e('0x38d9')][0x0]['x'],_0x4c3f7e[_0x1a4e('0x38d9')][0x0]['y'],_0x3f31e3),_0x6fd972=_0x1a4e('0x38de')+_0x1b987c[_0x1a4e('0x4b8')][_0x26571f]+_0x1a4e('0x38df'),_0x573f74=_0x3b7224[_0x1a4e('0x38e0')][_0x1a4e('0x38e1')](_0x32dc0b,_0x6fd972,_0x8b71a3);_0x48d80d['labelArr'][_0x1a4e('0x46')](_0x48d80d[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x573f74));}),this[_0x1a4e('0xe7')]=this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x3b7224[_0x1a4e('0x38e0')][_0x1a4e('0x2c6')](_0x5ed1d1,_0x4c3f7e));}},_0x1b987c[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){var _0x1b987c=this;this[_0x1a4e('0xe7')]&&(this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0xe7')]),this[_0x1a4e('0x38d2')][_0x1a4e('0x3b')](function(_0x4c3f7e){_0x1b987c[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x82')](_0x4c3f7e);})),this['polygon']=null,this['labelArr']=[];},_0x1b987c['prototype'][_0x1a4e('0x38e4')]=function(){return this[_0x1a4e('0x38d2')][_0x1a4e('0x1e')];},_0x1b987c;}();},'./src/Analysis/Analysis.ts':function(_0x2dde9d,_0x421ebe,_0x13a815){'use strict';_0x13a815['r'](_0x421ebe),_0x13a815['d'](_0x421ebe,_0x1a4e('0x38e5'),function(){return _0x16b1b4;});var _0x427db3=_0x13a815(_0x1a4e('0x38e6')),_0x2a3f99=_0x13a815(_0x1a4e('0x38e7')),_0x513dd2=_0x13a815(_0x1a4e('0x38e8')),_0x4ff3f5=_0x13a815('./src/Analysis/GroundClipping.ts'),_0x1877a0=_0x13a815(_0x1a4e('0x38e9')),_0xfb74a=_0x13a815(_0x1a4e('0x38ea')),_0x5cbbf3=_0x13a815(_0x1a4e('0x38eb')),_0x53a633=_0x13a815(_0x1a4e('0x38ec')),_0x466fa1=_0x13a815('./src/Analysis/HideAnalysis.ts'),_0x2c0d9c=_0x13a815(_0x1a4e('0x38ed')),_0x22ccf3=_0x13a815(_0x1a4e('0x38ee')),_0x3ed6b1=_0x13a815('./src/Analysis/PolygonVisiableAnalysis.ts'),_0x126a8e=_0x13a815(_0x1a4e('0x38ef')),_0xff134c=_0x13a815(_0x1a4e('0x38f0')),_0x2413c7=_0x13a815(_0x1a4e('0x38f1')),_0x3a998f=_0x13a815(_0x1a4e('0x38f2')),_0x330551=_0x13a815(_0x1a4e('0x38f3')),_0x57ee9c=_0x13a815('./src/Analysis/WatchHouseAnalysis.ts'),_0x524166=_0x13a815(_0x1a4e('0x38f4')),_0x5dbab5=_0x13a815(_0x1a4e('0x38f5')),_0x4b16db=_0x13a815(_0x1a4e('0x38f6')),_0x808839=_0x13a815(_0x1a4e('0x38f7')),_0x2ba864=_0x13a815(_0x1a4e('0x38f8')),_0xe1888c=_0x13a815('./src/Analysis/NuclearProtectionAnalysis.ts'),_0x3cb236=_0x13a815(_0x1a4e('0x38f9')),_0x16b1b4=function(){function _0x2dde9d(_0x2dde9d){this[_0x1a4e('0x38fa')]=_0x2dde9d,this['_init']();}return _0x2dde9d[_0x1a4e('0xa')][_0x1a4e('0x1f7')]=function(){this[_0x1a4e('0x38fb')]=new _0x427db3[(_0x1a4e('0x38fc'))](this[_0x1a4e('0x38fa')]);},Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x38fd'),{'get':function(){return this['_layerSplit'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d['prototype'],'viewshedAnalyze',{'get':function(){return this['_viewshedAnalyze']||(this['_viewshedAnalyze']=new _0x2a3f99['ViewshedAnalyze'](this['_viewer'])),this[_0x1a4e('0x38fe')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x38ff'),{'get':function(){return this[_0x1a4e('0x3900')]||(this['_heightAnalyze']=new _0x513dd2[(_0x1a4e('0x3901'))](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3900')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],'groundClip',{'get':function(){return this[_0x1a4e('0x3902')]||(this[_0x1a4e('0x3902')]=new _0x4ff3f5['GroundClipping'](this[_0x1a4e('0x38fa')])),this['_groundClip'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x3903'),{'get':function(){return this['_floodAnalysis']||(this[_0x1a4e('0x3904')]=new _0x1877a0[(_0x1a4e('0x3905'))](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3904')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x3906'),{'get':function(){return this['_profileAnalysis']||(this[_0x1a4e('0x3907')]=new _0xfb74a[(_0x1a4e('0x3908'))](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3907')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d['prototype'],_0x1a4e('0x3909'),{'get':function(){return this[_0x1a4e('0x390a')]||(this[_0x1a4e('0x390a')]=new _0x5cbbf3[(_0x1a4e('0x390b'))](this[_0x1a4e('0x38fa')])),this['_measureDistance'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x390c'),{'get':function(){return this[_0x1a4e('0x390d')]||(this[_0x1a4e('0x390d')]=new _0x53a633['MeasureArea'](this[_0x1a4e('0x38fa')])),this['_measureArea'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],'hideAnalysis',{'get':function(){return this[_0x1a4e('0x390e')]||(this[_0x1a4e('0x390e')]=new _0x466fa1['HideAnalysis'](this[_0x1a4e('0x38fa')])),this['_hideAnalysis'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d['prototype'],_0x1a4e('0x390f'),{'get':function(){return this[_0x1a4e('0x3910')]||(this[_0x1a4e('0x3910')]=new _0x2c0d9c[(_0x1a4e('0x3911'))](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3910')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x3912'),{'get':function(){return this['_pathAnalysis']||(this[_0x1a4e('0x3913')]=new _0x22ccf3[(_0x1a4e('0x3914'))](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3913')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d['prototype'],'polygonVisiableAnalysis',{'get':function(){return this[_0x1a4e('0x3915')]||(this['_polygonVisiableAnalysis']=new _0x3ed6b1['PolygonVisiableAnalysis'](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3915')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x3916'),{'get':function(){return this[_0x1a4e('0x3917')]||(this[_0x1a4e('0x3917')]=new _0x126a8e[(_0x1a4e('0x3918'))](this['_viewer'])),this[_0x1a4e('0x3917')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x3919'),{'get':function(){return this[_0x1a4e('0x391a')]||(this[_0x1a4e('0x391a')]=new _0xff134c[(_0x1a4e('0x3919'))](this[_0x1a4e('0x38fa')])),this['_skylineAnalyze'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],'bufferAnalysis',{'get':function(){return this[_0x1a4e('0x391b')]||(this['_bufferAnalysis']=new _0x2413c7['BufferAnalysis'](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x391b')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x391c'),{'get':function(){return this['_headFloodAnalysis']||(this[_0x1a4e('0x391d')]=new _0x3a998f['HeadFloodAnalysis'](this['_viewer'])),this[_0x1a4e('0x391d')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x391e'),{'get':function(){return this[_0x1a4e('0x391f')]||(this['_shadowAnalysis']=new _0x330551[(_0x1a4e('0x3920'))](this['_viewer'])),this['_shadowAnalysis'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d[_0x1a4e('0xa')],'watchHouseAnalysis',{'get':function(){return this[_0x1a4e('0x3921')]||(this[_0x1a4e('0x3921')]=new _0x57ee9c[(_0x1a4e('0x3922'))](this[_0x1a4e('0x38fa')])),this['_watchHouseAnalysis'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2dde9d[_0x1a4e('0xa')],'contourAnalysis',{'get':function(){return this[_0x1a4e('0x3923')]||(this[_0x1a4e('0x3923')]=new _0x524166['ContourAnalysis'](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3923')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x3924'),{'get':function(){return this[_0x1a4e('0x3925')]||(this[_0x1a4e('0x3925')]=new _0x5dbab5[(_0x1a4e('0x3926'))](this['_viewer'])),this[_0x1a4e('0x3925')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2dde9d[_0x1a4e('0xa')],_0x1a4e('0x3927'),{'get':function(){return this['_inDirectAimAnalysis']||(this['_inDirectAimAnalysis']=new _0x4b16db[(_0x1a4e('0x3928'))](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3929')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d['prototype'],_0x1a4e('0x392a'),{'get':function(){return this['_airborneAnalysis']||(this[_0x1a4e('0x392b')]=new _0x808839['AirborneAnalysis'](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x392b')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2dde9d['prototype'],_0x1a4e('0x392c'),{'get':function(){return this[_0x1a4e('0x392d')]||(this[_0x1a4e('0x392d')]=new _0x2ba864[(_0x1a4e('0x392e'))](this['_viewer'])),this[_0x1a4e('0x392d')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2dde9d['prototype'],_0x1a4e('0x392f'),{'get':function(){return this['_nuclearProtectionAnalysis']||(this[_0x1a4e('0x3930')]=new _0xe1888c[(_0x1a4e('0x3931'))](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3930')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2dde9d['prototype'],'morphologicAnalysis',{'get':function(){return this[_0x1a4e('0x3932')]||(this[_0x1a4e('0x3932')]=new _0x3cb236[(_0x1a4e('0x3933'))](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x3932')];},'enumerable':!0x0,'configurable':!0x0}),_0x2dde9d;}();},'./src/Analysis/AnalysisUtil.ts':function(_0x4d8509,_0x471033,_0x1fe0be){'use strict';_0x1fe0be['r'](_0x471033),_0x1fe0be['d'](_0x471033,'AnalysisUtil',function(){return _0x3d07f3;});var _0x528238=_0x1fe0be(_0x1a4e('0x38d0')),_0x3d07f3=function(){function _0x4d8509(){}return _0x4d8509['createImage']=function(_0x4d8509,_0x471033,_0x1fe0be){var _0x528238=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x528238[_0x1a4e('0x3935')](_0x1a4e('0x3936'),_0x4d8509+'px'),_0x528238[_0x1a4e('0x3935')](_0x1a4e('0x152'),_0x471033+'px');for(var _0x3d07f3=_0x528238[_0x1a4e('0x51c')]('2d'),_0x258c97=_0x3d07f3[_0x1a4e('0x3937')](_0x4d8509,_0x471033),_0x4490de=0x0;_0x4490de<_0x258c97['width'];_0x4490de++)for(var _0x20b210=0x0;_0x20b210<_0x258c97['height'];_0x20b210++){var _0x3baa92=0x4*(_0x20b210*_0x258c97[_0x1a4e('0x3936')]+_0x4490de);_0x258c97[_0x1a4e('0x7f')][_0x3baa92]=_0x1fe0be[_0x3baa92],_0x258c97[_0x1a4e('0x7f')][_0x3baa92+0x1]=_0x1fe0be[_0x3baa92+0x1],_0x258c97[_0x1a4e('0x7f')][_0x3baa92+0x2]=_0x1fe0be[_0x3baa92+0x2],_0x258c97[_0x1a4e('0x7f')][_0x3baa92+0x3]=_0x1fe0be[_0x3baa92+0x3];}return _0x3d07f3[_0x1a4e('0x3938')](_0x258c97,0x0,0x0),_0x528238[_0x1a4e('0x3939')]('image/png');},_0x4d8509[_0x1a4e('0x393a')]=function(_0x4d8509,_0x471033,_0x1fe0be){void 0x0===_0x471033&&(_0x471033=0x2),void 0x0===_0x1fe0be&&(_0x1fe0be=_0x1a4e('0x393b'));for(var _0x528238=Cesium['Color'][_0x1a4e('0x393c')](_0x1fe0be),_0x3d07f3=[],_0x2e3570=_0x4d8509[_0x1a4e('0x1e')],_0x23a976=function(_0x1fe0be){var _0x2e3570=[];_0x4d8509[_0x1fe0be][_0x1a4e('0x3b')](function(_0x4d8509){_0x2e3570[_0x1a4e('0x46')](_0x4d8509[_0x1a4e('0x1a1')]),_0x2e3570['push'](_0x4d8509[_0x1a4e('0x1a2')]);});var _0x23a976=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium['GroundPolylineGeometry']({'positions':Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')](_0x2e3570),'width':_0x471033}),'attributes':{'color':Cesium[_0x1a4e('0x3940')]['fromColor'](_0x528238)}});_0x3d07f3[_0x1a4e('0x46')](_0x23a976);},_0x3ec4c1=0x0;_0x3ec4c1<_0x2e3570;_0x3ec4c1++)_0x23a976(_0x3ec4c1);return new Cesium[(_0x1a4e('0x3941'))]({'geometryInstances':_0x3d07f3,'appearance':new Cesium[(_0x1a4e('0x3942'))]({'translucent':!0x0})});},_0x4d8509[_0x1a4e('0x2c6')]=function(_0x4d8509,_0x471033,_0x1fe0be){void 0x0===_0x471033&&(_0x471033=_0x1a4e('0x38d4'));var _0x528238,_0x3d07f3=[],_0x268d1a=_0x4d8509[_0x1a4e('0x1e')];_0x528238=_0x1fe0be?new Cesium[(_0x1a4e('0x3943'))]({'material':Cesium['Material'][_0x1a4e('0x3944')](_0x1a4e('0x1186'),{'image':_0x1fe0be})}):new Cesium[(_0x1a4e('0x3943'))]({'material':Cesium['Material']['fromType']('Color',{'color':Cesium['Color'][_0x1a4e('0x393c')](_0x471033)})});for(var _0x25ed60=function(_0x471033){var _0x1fe0be=[];_0x4d8509[_0x471033][_0x1a4e('0x3b')](function(_0x4d8509){_0x1fe0be[_0x1a4e('0x46')](_0x4d8509[_0x1a4e('0x1a1')]),_0x1fe0be[_0x1a4e('0x46')](_0x4d8509[_0x1a4e('0x1a2')]);}),console[_0x1a4e('0x58')](_0x1fe0be);var _0x528238=new Cesium['GeometryInstance']({'geometry':new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':new Cesium['PolygonHierarchy'](Cesium['Cartesian3'][_0x1a4e('0x393f')](_0x1fe0be))})});_0x3d07f3[_0x1a4e('0x46')](_0x528238);},_0x247a23=0x0;_0x247a23<_0x268d1a;_0x247a23++)_0x25ed60(_0x247a23);return new Cesium[(_0x1a4e('0x3946'))]({'geometryInstances':_0x3d07f3,'appearance':_0x528238});},_0x4d8509['createTextPoint']=function(_0x4d8509,_0x471033,_0x1fe0be){void 0x0===_0x1fe0be&&(_0x1fe0be=_0x1a4e('0x38d4'));var _0x3d07f3=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x1fe0be),_0x3857f7=Cesium[_0x1a4e('0x3947')]['WHITE'];return new Cesium[(_0x1a4e('0x3948'))]({'position':_0x528238[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x4d8509),'point':{'pointColor':_0x3857f7,'pixelSize':0x5,'heightReference':Cesium[_0x1a4e('0x394a')][_0x1a4e('0x394b')]},'label':{'text':_0x471033,'font':'14px\x20Helvetica','fillColor':_0x3d07f3,'outlineColor':_0x3d07f3,'outlineWidth':0x2,'style':Cesium['LabelStyle'][_0x1a4e('0x394c')],'eyeOffset':new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,-0x2710)}});},_0x4d8509[_0x1a4e('0x394d')]=function(_0x4d8509,_0x471033){return new Cesium['Entity']({'rectangle':{'coordinates':Cesium['Rectangle'][_0x1a4e('0x38db')](_0x4d8509[_0x1a4e('0x394e')],_0x4d8509[_0x1a4e('0x394f')],_0x4d8509[_0x1a4e('0x3950')],_0x4d8509['north']),'material':new Cesium[(_0x1a4e('0x3951'))]({'image':_0x471033,'translucent':!0x0,'repeat':new Cesium[(_0x1a4e('0x3952'))](0x1,0x1)})}});},_0x4d8509['createPoint']=function(_0x4d8509,_0x471033){void 0x0===_0x471033&&(_0x471033='#ffff00');var _0x1fe0be=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x471033);return new Cesium[(_0x1a4e('0x3948'))]({'position':_0x528238[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x4d8509),'point':{'color':_0x1fe0be,'pixelSize':0x5,'heightReference':Cesium[_0x1a4e('0x394a')][_0x1a4e('0x24a')]}});},_0x4d8509[_0x1a4e('0x3953')]=function(_0x4d8509,_0x471033,_0x1fe0be){void 0x0===_0x471033&&(_0x471033=_0x1a4e('0x38d4')),void 0x0===_0x1fe0be&&(_0x1fe0be=0x2);var _0x3d07f3=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x471033),_0xd1efcf=_0x528238[_0x1a4e('0x38da')][_0x1a4e('0x3954')](_0x4d8509),_0x307588=[];return _0xd1efcf[_0x1a4e('0x3b')](function(_0x4d8509){_0x307588[_0x1a4e('0x46')](_0x4d8509[0x0],_0x4d8509[0x1],_0x4d8509[0x2]);}),new Cesium[(_0x1a4e('0x3948'))]({'polyline':{'show':!0x0,'positions':Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3955')](_0x307588),'material':_0x3d07f3,'width':_0x1fe0be}});},_0x4d8509[_0x1a4e('0x3956')]=function(_0x4d8509,_0x471033,_0x1fe0be){return new Cesium[(_0x1a4e('0x3948'))]({'name':_0x1a4e('0x3957'),'position':_0x528238[_0x1a4e('0x38da')]['toCartesian3'](_0x471033),'ellipse':{'semiMajorAxis':_0x4d8509,'semiMinorAxis':_0x4d8509,'material':new Cesium[(_0x1a4e('0x3951'))]({'image':_0x1fe0be,'translucent':!0x0,'repeat':new Cesium[(_0x1a4e('0x3952'))](0x1,0x1)})},'heightReference':Cesium[_0x1a4e('0x394a')][_0x1a4e('0x394b')]});},_0x4d8509;}();},'./src/Analysis/BufferAnalysis.ts':function(_0x2a880f,_0x4755da,_0xbcfdb5){'use strict';_0xbcfdb5['r'](_0x4755da),_0xbcfdb5['d'](_0x4755da,_0x1a4e('0x3958'),function(){return _0x511827;});var _0x511827=function(){function _0x2a880f(_0x2a880f){this[_0x1a4e('0x38d5')]=_0x2a880f;}return _0x2a880f['prototype'][_0x1a4e('0x12bc')]=function(_0x2a880f,_0x4755da,_0xbcfdb5){var _0x511827=this;void 0x0===_0x4755da&&(_0x4755da=!0x0),void 0x0===_0xbcfdb5&&(_0xbcfdb5=_0x1a4e('0x3959')),this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38d7')]['depthTestAgainstTerrain']=_0x4755da;var _0x29458c=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0xbcfdb5),_0x53f22d=JSON['parse'](_0x2a880f[_0x1a4e('0x18')]),_0xdd5a47={'type':_0x1a4e('0x12'),'geometry':'','properties':{'name':_0x1a4e('0x395a')}};_0xdd5a47[_0x1a4e('0x18')]=_0x53f22d,this[_0x1a4e('0x38d5')][_0x1a4e('0x395b')][_0x1a4e('0x177')](Cesium[_0x1a4e('0x395c')][_0x1a4e('0x7b')](_0xdd5a47,{'fill':_0x29458c,'clampToGround':!0x0}))[_0x1a4e('0xdf8')](function(_0x2a880f){_0x511827['dataSource']=_0x2a880f;});},_0x2a880f[_0x1a4e('0xa')]['close']=function(){this[_0x1a4e('0x395d')]&&this['viewer']['dataSources'][_0x1a4e('0x82')](this[_0x1a4e('0x395d')]),this[_0x1a4e('0x395d')]=null;},_0x2a880f;}();},'./src/Analysis/ContourAnalysis.ts':function(_0x23e075,_0x53f661,_0x56b151){'use strict';_0x56b151['r'](_0x53f661),_0x56b151['d'](_0x53f661,'ContourAnalysis',function(){return _0x203aed;});var _0x353086=_0x56b151(_0x1a4e('0x38d0')),_0x50c2b3=_0x56b151(_0x1a4e('0x38d1')),_0x203aed=function(){function _0x23e075(_0x23e075){this[_0x1a4e('0x38d5')]=_0x23e075;}return _0x23e075[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x23e075,_0x53f661,_0x56b151){void 0x0===_0x53f661&&(_0x53f661='#00ff00'),void 0x0===_0x56b151&&(_0x56b151=0x2);var _0x203aed=[];_0x23e075['resultList'][_0x1a4e('0x3b')](function(_0x23e075){var _0x53f661=[];_0x23e075['forEach'](function(_0x23e075){_0x53f661['push'](new _0x353086['GeoPoint'](_0x23e075['p']['x'],_0x23e075['p']['y']));}),_0x203aed['push'](_0x53f661);}),this[_0x1a4e('0x8f7')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](_0x50c2b3['AnalysisUtil'][_0x1a4e('0x393a')](_0x203aed,_0x56b151,_0x53f661));},_0x23e075['prototype'][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x8f7')]&&this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')]['remove'](this[_0x1a4e('0x8f7')]),this['primitive']=null;},_0x23e075;}();},'./src/Analysis/DirectAimAnalysis.ts':function(_0x5323d9,_0x361a6d,_0x12a388){'use strict';_0x12a388['r'](_0x361a6d),_0x12a388['d'](_0x361a6d,_0x1a4e('0x3926'),function(){return _0x98f1fa;});var _0x4b69be=_0x12a388(_0x1a4e('0x38d1')),_0x98f1fa=function(){function _0x5323d9(_0x5323d9){this[_0x1a4e('0x38d5')]=_0x5323d9;}return _0x5323d9['prototype'][_0x1a4e('0x12bc')]=function(_0x5323d9,_0x361a6d,_0x12a388,_0x98f1fa,_0x562c7d,_0x2e4588){void 0x0===_0x361a6d&&(_0x361a6d=_0x1a4e('0x395e')),void 0x0===_0x12a388&&(_0x12a388='rgba(255,\x20128,\x200,\x200.5)'),void 0x0===_0x98f1fa&&(_0x98f1fa=_0x1a4e('0x395f')),void 0x0===_0x562c7d&&(_0x562c7d=_0x1a4e('0x3960')),void 0x0===_0x2e4588&&(_0x2e4588=!0x0),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=_0x2e4588;for(var _0x540c40=_0x5323d9[_0x1a4e('0x3962')],_0x3b5d96=_0x5323d9['rows'],_0x426501=_0x5323d9[_0x1a4e('0x59')],_0x5968b3=_0x5323d9[_0x1a4e('0x3963')],_0x1c9968=[],_0x3f716d=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x562c7d)[_0x1a4e('0xc58')](),_0x5cd7a7=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x98f1fa)[_0x1a4e('0xc58')](),_0x4a5779=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x12a388)[_0x1a4e('0xc58')](),_0x1b96b0=Cesium['Color']['fromCssColorString'](_0x361a6d)[_0x1a4e('0xc58')](),_0x365684=0x0;_0x365684<_0x3b5d96;_0x365684++)for(var _0x2fa6c1=0x0;_0x2fa6c1<_0x426501;_0x2fa6c1++)switch(_0x5968b3[_0x365684][_0x2fa6c1]){case 0x4:_0x1c9968[_0x1a4e('0x46')](_0x3f716d[0x0]),_0x1c9968[_0x1a4e('0x46')](_0x3f716d[0x1]),_0x1c9968[_0x1a4e('0x46')](_0x3f716d[0x2]),_0x1c9968[_0x1a4e('0x46')](_0x3f716d[0x3]);break;case 0x3:_0x1c9968[_0x1a4e('0x46')](_0x5cd7a7[0x0]),_0x1c9968['push'](_0x5cd7a7[0x1]),_0x1c9968[_0x1a4e('0x46')](_0x5cd7a7[0x2]),_0x1c9968['push'](_0x5cd7a7[0x3]);break;case 0x2:_0x1c9968[_0x1a4e('0x46')](_0x4a5779[0x0]),_0x1c9968[_0x1a4e('0x46')](_0x4a5779[0x1]),_0x1c9968['push'](_0x4a5779[0x2]),_0x1c9968[_0x1a4e('0x46')](_0x4a5779[0x3]);break;case 0x1:_0x1c9968[_0x1a4e('0x46')](_0x1b96b0[0x0]),_0x1c9968['push'](_0x1b96b0[0x1]),_0x1c9968['push'](_0x1b96b0[0x2]),_0x1c9968['push'](_0x1b96b0[0x3]);break;default:_0x1c9968[_0x1a4e('0x46')](0xff),_0x1c9968['push'](0xff),_0x1c9968[_0x1a4e('0x46')](0xff),_0x1c9968[_0x1a4e('0x46')](0x0);}var _0x557e44=_0x4b69be[_0x1a4e('0x38e0')][_0x1a4e('0x3964')](_0x426501,_0x3b5d96,_0x1c9968),_0x5518d2=new Cesium[(_0x1a4e('0x3965'))](_0x540c40[_0x1a4e('0x3966')],_0x540c40[_0x1a4e('0x3967')],_0x540c40[_0x1a4e('0x3968')],_0x540c40[_0x1a4e('0x3969')]);this[_0x1a4e('0x396a')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')]['add'](_0x4b69be[_0x1a4e('0x38e0')][_0x1a4e('0x394d')](_0x5518d2,_0x557e44));},_0x5323d9[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x396a')]&&this['viewer'][_0x1a4e('0x38e2')]['remove'](this[_0x1a4e('0x396a')]),this[_0x1a4e('0x396a')]=null;},_0x5323d9;}();},'./src/Analysis/FloodAnalysis.ts':function(_0x9e92e2,_0x2edfdc,_0x195f01){'use strict';_0x195f01['r'](_0x2edfdc),_0x195f01['d'](_0x2edfdc,_0x1a4e('0x3905'),function(){return _0x5a7591;}),_0x195f01['d'](_0x2edfdc,_0x1a4e('0x396b'),function(){return _0x5eb3a4;});var _0x5d6b01=_0x195f01(_0x1a4e('0x396c')),_0x15d2be=_0x195f01(_0x1a4e('0x38d0')),_0x26fa4c=_0x195f01(_0x1a4e('0x396d')),_0x4b7783=_0x195f01(_0x1a4e('0x396e')),_0x2bcceb=_0x195f01(_0x1a4e('0x396f')),_0x33d991=_0x195f01(_0x1a4e('0x3970')),_0x5a7591=function(){function _0x9e92e2(_0x9e92e2){this[_0x1a4e('0x38fa')]=_0x9e92e2,this[_0x1a4e('0x3971')]=!0x0;}return _0x9e92e2[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x9e92e2){var _0x2edfdc=this;this['_handler']&&this[_0x1a4e('0x139b')](),_0x9e92e2['clampToGround']&&(this[_0x1a4e('0x3971')]=_0x9e92e2[_0x1a4e('0x3972')]);var _0x195f01=this[_0x1a4e('0x38fa')],_0x5d6b01=_0x195f01[_0x1a4e('0x3973')][_0x1a4e('0x3974')]();this[_0x1a4e('0x3975')]=_0x195f01['graphicLayer'][_0x1a4e('0x7')]({'type':'RectangleLineGraphic','lineStyle':_0x9e92e2[_0x1a4e('0x134')],'width':_0x9e92e2[_0x1a4e('0x3936')],'clampToGround':this[_0x1a4e('0x3971')]},_0x5d6b01,function(_0x195f01){_0x2edfdc['_flag']=_0x2edfdc[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')]['depthTestAgainstTerrain'],_0x2edfdc[_0x1a4e('0x3976')]=new Cesium['ScreenSpaceEventHandler'](_0x2edfdc[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['canvas']),_0x2edfdc['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')]['depthTestAgainstTerrain']=!0x0,_0x9e92e2[_0x1a4e('0x3977')]&&_0x9e92e2[_0x1a4e('0x3977')](_0x195f01),_0x2edfdc[_0x1a4e('0x3978')](_0x195f01);}),_0x9e92e2[_0x1a4e('0x3979')]||(_0x9e92e2[_0x1a4e('0x3979')]=new _0x4b7783['LabelGraphicOpt'](),_0x9e92e2[_0x1a4e('0x3979')][_0x1a4e('0x3553')]=new _0x15d2be[(_0x1a4e('0x38da'))](0x0,0x0,0x0),_0x9e92e2['labelGraphicOpt'][_0x1a4e('0x397a')]='right',_0x9e92e2[_0x1a4e('0x3979')][_0x1a4e('0x397b')]=_0x1a4e('0x5c'));var _0x26fa4c=new _0x4b7783[(_0x1a4e('0x397c'))](_0x9e92e2['labelGraphicOpt']);this[_0x1a4e('0x397d')]=_0x5d6b01['add'](_0x26fa4c),this['_rect'][_0x1a4e('0x397e')](function(_0x195f01){var _0x5d6b01=_0x195f01['obj'][_0x195f01[_0x1a4e('0x35f')]];_0x5d6b01['length'];_0x2edfdc['_calcDistance'](_0x5d6b01,_0x9e92e2[_0x1a4e('0x397f')]),_0x2edfdc[_0x1a4e('0x397d')]['position']=_0x5d6b01[0x2],_0x2edfdc['_labelItem']['text']=_0x2edfdc[_0x1a4e('0x3980')];});},_0x9e92e2[_0x1a4e('0xa')][_0x1a4e('0x3978')]=function(_0x9e92e2){var _0x2edfdc=this,_0x195f01=this[_0x1a4e('0x38fa')]['graphicLayer'][_0x1a4e('0x3974')]();this['_handler'][_0x1a4e('0x3981')](function(_0x2bcceb){var _0x33d991=_0x2bcceb[_0x1a4e('0x3553')],_0x5a7591=_0x15d2be['GeoPoint'][_0x1a4e('0x3982')](_0x33d991['x'],_0x33d991['y'],_0x2edfdc['_viewer']);if(_0x5a7591&&!_0x2edfdc[_0x1a4e('0x3983')]){var _0x5eb3a4=new _0x26fa4c[(_0x1a4e('0x3984'))]({'position':_0x5a7591,'color':'#f66','pixelSize':0xa});_0x2edfdc[_0x1a4e('0x3983')]=_0x195f01[_0x1a4e('0x177')](_0x5eb3a4);var _0x2a7429=new _0x4b7783['LabelGraphicOpt']();_0x2a7429[_0x1a4e('0x3553')]=_0x5a7591,_0x2a7429[_0x1a4e('0xe04')]=_0x1a4e('0x3985'),_0x2a7429[_0x1a4e('0x3986')]='20px\x20Helvetica',_0x2a7429[_0x1a4e('0x3987')]=_0x1a4e('0x3988'),_0x2a7429[_0x1a4e('0x397a')]=_0x1a4e('0x5f'),_0x2a7429['verticalOrigin']=_0x1a4e('0x5c');var _0x2ecd9f=new _0x4b7783[(_0x1a4e('0x397c'))](_0x2a7429);_0x2edfdc[_0x1a4e('0x436')]=_0x195f01[_0x1a4e('0x177')](_0x2ecd9f);var _0x25e6d9=new _0x5d6b01[(_0x1a4e('0x3989'))]({'positions':_0x9e92e2[_0x1a4e('0x398a')],'extrudedHeight':0x1,'color':'rgba(0,153,255,0.6)'});_0x2edfdc[_0x1a4e('0x398b')]=_0x195f01['add'](_0x25e6d9);var _0x40993f=_0x5a7591[_0x1a4e('0x398c')]/0x8,_0xe9a57d=setInterval(function(){_0x40993f<_0x5a7591[_0x1a4e('0x398c')]?(_0x40993f+=_0x5a7591['alt']/0x8,_0x2edfdc['_polygon'][_0x1a4e('0x398d')]=_0x40993f):clearInterval(_0xe9a57d);},0x64);}},Cesium['ScreenSpaceEventType'][_0x1a4e('0x398e')]);},_0x9e92e2[_0x1a4e('0xa')][_0x1a4e('0x398f')]=function(_0x9e92e2,_0x2edfdc){if(!(_0x9e92e2[_0x1a4e('0x1e')]<0x2)){var _0x195f01=0x0;switch(_0x195f01=this['_clampToGround']?_0x33d991[_0x1a4e('0x3990')][_0x1a4e('0x3991')](_0x9e92e2):_0x33d991[_0x1a4e('0x3990')][_0x1a4e('0x3992')](_0x9e92e2),_0x195f01=Math[_0x1a4e('0x65')](_0x195f01),_0x2edfdc){case _0x1a4e('0x3993'):this[_0x1a4e('0x3980')]=(_0x195f01/0xf4240)[_0x1a4e('0x1e5')](0x4)+'km2';break;default:this['_area']=_0x195f01[_0x1a4e('0x1e5')](0x4)+'m2';}}},_0x9e92e2[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){var _0x9e92e2=this['_viewer'][_0x1a4e('0x3973')][_0x1a4e('0x3974')]();_0x9e92e2[_0x1a4e('0x82')](this[_0x1a4e('0x398b')]),_0x9e92e2[_0x1a4e('0x82')](this[_0x1a4e('0x3983')]),_0x9e92e2[_0x1a4e('0x82')](this[_0x1a4e('0x436')]),_0x9e92e2[_0x1a4e('0x82')](this[_0x1a4e('0x397d')]),_0x9e92e2[_0x1a4e('0x82')](this[_0x1a4e('0x3975')]),this[_0x1a4e('0x398b')]=null,this['_label']=null,this[_0x1a4e('0x3983')]=null,this[_0x1a4e('0x397d')]=null,this[_0x1a4e('0x3975')]=null,this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=this[_0x1a4e('0x3994')],this[_0x1a4e('0x3976')][_0x1a4e('0x3995')]()||(this[_0x1a4e('0x3976')]['destroy'](),this[_0x1a4e('0x3976')]=null);},_0x9e92e2;}(),_0x5eb3a4=function(){this[_0x1a4e('0x134')]=new _0x2bcceb[(_0x1a4e('0x3996'))]({'color':_0x1a4e('0x3997')}),this[_0x1a4e('0x397f')]=_0x1a4e('0x3993'),this[_0x1a4e('0x3936')]=0x3;};},'./src/Analysis/GroundClipping.ts':function(_0x2c9568,_0x3181c0,_0x5fbd72){'use strict';_0x5fbd72['r'](_0x3181c0),_0x5fbd72['d'](_0x3181c0,_0x1a4e('0x3998'),function(){return _0x3a8c3b;});var _0x12fd3d=_0x5fbd72('./src/Analysis/TerrainClipPlane.ts'),_0x424d51=_0x5fbd72(_0x1a4e('0x3999')),_0x3a8c3b=function(){function _0x2c9568(_0x2c9568){this['_height']=0x64,this[_0x1a4e('0x38d5')]=_0x2c9568;}return Object[_0x1a4e('0x2')](_0x2c9568[_0x1a4e('0xa')],_0x1a4e('0x64'),{'get':function(){return this[_0x1a4e('0x399a')];},'set':function(_0x2c9568){this[_0x1a4e('0x399a')]=_0x2c9568,this[_0x1a4e('0x399b')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c9568[_0x1a4e('0xa')],_0x1a4e('0x152'),{'get':function(){return this[_0x1a4e('0x399c')];},'set':function(_0x2c9568){this[_0x1a4e('0x399c')]=_0x2c9568,this[_0x1a4e('0x399d')][_0x1a4e('0x399c')]=_0x2c9568,this[_0x1a4e('0x399b')]();},'enumerable':!0x0,'configurable':!0x0}),_0x2c9568['prototype'][_0x1a4e('0x177')]=function(_0x2c9568,_0x3181c0){void 0x0===_0x3181c0&&(_0x3181c0=0x64),_0x424d51['Util'][_0x1a4e('0x399e')](_0x2c9568)<=0x0?console[_0x1a4e('0x58')](_0x1a4e('0x399f')):(this[_0x1a4e('0x399d')]||(this[_0x1a4e('0x399d')]=new _0x12fd3d['TerrainClipPlane'](this[_0x1a4e('0x38d5')],{'height':_0x3181c0,'splitNum':0x2710,'wallImg':_0x424d51['Util']['formatUrlByBaseJs']('resources/image/excavate_side_min.jpg'),'bottomImg':_0x424d51[_0x1a4e('0x39a0')]['formatUrlByBaseJs'](_0x1a4e('0x39a1'))})),this[_0x1a4e('0x399c')]=_0x3181c0,this['terrainClipPlan']['_height']=_0x3181c0,this[_0x1a4e('0x64')]=_0x2c9568);},_0x2c9568['prototype'][_0x1a4e('0x39a2')]=function(_0x2c9568){for(var _0x3181c0=[],_0x5fbd72=0x0;_0x5fbd72<_0x2c9568[_0x1a4e('0x1e')];_0x5fbd72++){var _0x12fd3d=_0x2c9568[_0x5fbd72],_0x424d51=_0x12fd3d[_0x1a4e('0x1a1')],_0x3a8c3b=_0x12fd3d[_0x1a4e('0x1a2')],_0x238a58=_0x12fd3d[_0x1a4e('0x398c')],_0x2118c5=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x424d51,_0x3a8c3b,_0x238a58);_0x3181c0[_0x1a4e('0x46')]({'x':_0x2118c5['x'],'y':_0x2118c5['y'],'z':_0x2118c5['z']});}return _0x3181c0;},_0x2c9568[_0x1a4e('0xa')][_0x1a4e('0x399b')]=function(){this[_0x1a4e('0x399d')]['updateData'](this[_0x1a4e('0x39a2')](this['path']));},_0x2c9568[_0x1a4e('0xa')]['clear']=function(){this[_0x1a4e('0x399d')][_0x1a4e('0xb5')]();},_0x2c9568;}();},'./src/Analysis/GroundClippingAnalysis.ts':function(_0x1b7806,_0x13bae4,_0x5356ed){'use strict';_0x5356ed['r'](_0x13bae4),_0x5356ed['d'](_0x13bae4,_0x1a4e('0x392e'),function(){return _0x4ab67d;});var _0x406d9c=_0x5356ed(_0x1a4e('0x3999')),_0x4ab67d=function(){function _0x1b7806(_0x1b7806){this[_0x1a4e('0x38d5')]=_0x1b7806,this[_0x1a4e('0x39a3')]=[];}return _0x1b7806[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x1b7806,_0x13bae4,_0x5356ed){var _0x4ab67d=0x0===_0x1b7806[_0x1a4e('0x39a4')]?0.0001:_0x1b7806['maxH'],_0x4399af={'minX':Math[_0x1a4e('0x74')](_0x5356ed[0x0][_0x1a4e('0x1a1')],_0x5356ed[0x1][_0x1a4e('0x1a1')]),'maxX':Math[_0x1a4e('0x6c')](_0x5356ed[0x0][_0x1a4e('0x1a1')],_0x5356ed[0x1][_0x1a4e('0x1a1')]),'minY':Math[_0x1a4e('0x74')](_0x5356ed[0x0][_0x1a4e('0x1a2')],_0x5356ed[0x1][_0x1a4e('0x1a2')]),'maxY':Math[_0x1a4e('0x6c')](_0x5356ed[0x0]['lat'],_0x5356ed[0x1][_0x1a4e('0x1a2')]),'maxH':_0x4ab67d},_0x48fde9=-Number(_0x13bae4)+_0x4ab67d,_0x4b4c5d=Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](_0x4399af['minX'],_0x4399af[_0x1a4e('0x71')],_0x4399af[_0x1a4e('0x75')],_0x4399af[_0x1a4e('0x72')]),_0xe57829=new Cesium[(_0x1a4e('0x3951'))]({'image':_0x406d9c[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x39a1')),'repeat':new Cesium[(_0x1a4e('0x3952'))](0x1,0x1)}),_0x5ed67d=Number(_0x13bae4),_0x598f37=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')]({'rectangle':{'coordinates':_0x4b4c5d,'material':_0xe57829,'height':_0x5ed67d}});this[_0x1a4e('0x39a3')][_0x1a4e('0x46')](_0x598f37);var _0x1420d1=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')]([_0x4399af[_0x1a4e('0x70')],_0x4399af[_0x1a4e('0x71')],_0x4399af[_0x1a4e('0x75')],_0x4399af[_0x1a4e('0x71')],_0x4399af[_0x1a4e('0x75')],_0x4399af[_0x1a4e('0x72')],_0x4399af[_0x1a4e('0x70')],_0x4399af['maxY'],_0x4399af[_0x1a4e('0x70')],_0x4399af[_0x1a4e('0x71')]]),_0x12669d=[_0x4ab67d,_0x4ab67d,_0x4ab67d,_0x4ab67d,_0x4ab67d],_0x11169d=[Number(_0x13bae4),Number(_0x13bae4),Number(_0x13bae4),Number(_0x13bae4),Number(_0x13bae4)],_0x50f19f=new Cesium[(_0x1a4e('0x3951'))]({'image':_0x406d9c[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')]('resources/image/excavate_side_min.jpg'),'repeat':new Cesium[(_0x1a4e('0x3952'))](0x1,0x1)}),_0x24e260=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')]['add']({'wall':{'positions':_0x1420d1,'maximumHeights':_0x12669d,'minimumHeights':_0x11169d,'materialWall':_0x50f19f}});this[_0x1a4e('0x39a3')][_0x1a4e('0x46')](_0x24e260);var _0x3257cf=this[_0x1a4e('0x39a6')](_0x4399af['minY'],_0x4399af[_0x1a4e('0x70')],_0x4399af[_0x1a4e('0x72')],_0x4399af['minX']),_0x2511be=this['getFlatternDistance'](_0x4399af[_0x1a4e('0x71')],_0x4399af['minX'],_0x4399af['minY'],_0x4399af[_0x1a4e('0x75')]),_0x2d99fa=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x4399af[_0x1a4e('0x70')]+(_0x4399af[_0x1a4e('0x75')]-_0x4399af[_0x1a4e('0x70')])/0x2,_0x4399af[_0x1a4e('0x71')]+(_0x4399af[_0x1a4e('0x72')]-_0x4399af['minY'])/0x2,_0x48fde9),_0x41f4af=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39a7')]['withAlpha'](0.3),_0x4f7de3=this['viewer'][_0x1a4e('0x38e2')]['add']({'position':_0x2d99fa,'box':{'dimensions':new Cesium['Cartesian3'](_0x2511be,_0x3257cf,0x1388),'boxColor':_0x41f4af}}),_0x4d8411=_0x4f7de3[_0x1a4e('0x39a8')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0xe3f')]())[_0x1a4e('0x240')]();this[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](_0x4f7de3);var _0x1bc90b=this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')];_0x1bc90b[_0x1a4e('0x3961')]=!0x0,_0x1bc90b['clippingPlanes']=new Cesium[(_0x1a4e('0x39aa'))]({'modelMatrix':_0x4d8411,'planes':[new Cesium['Plane'](new Cesium[(_0x1a4e('0x393e'))](0x1,0x0,0x0),-_0x2511be/0x2),new Cesium['Plane'](new Cesium[(_0x1a4e('0x393e'))](-0x1,0x0,0x0),-_0x2511be/0x2),new Cesium[(_0x1a4e('0x39ab'))](new Cesium['Cartesian3'](0x0,0x1,0x0),-_0x3257cf/0x2),new Cesium[(_0x1a4e('0x39ab'))](new Cesium[(_0x1a4e('0x393e'))](0x0,-0x1,0x0),-_0x3257cf/0x2)]});},_0x1b7806[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){var _0x1b7806=this;this[_0x1a4e('0x39a3')]&&this['entityArr'][_0x1a4e('0x1e')]>0x0&&(this[_0x1a4e('0x39a3')][_0x1a4e('0x3b')](function(_0x13bae4){_0x1b7806['viewer'][_0x1a4e('0x38e2')][_0x1a4e('0x82')](_0x13bae4);}),this[_0x1a4e('0x39a3')]=[],this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')]['clippingPlanes'][_0x1a4e('0x25e5')]=!0x1);},_0x1b7806[_0x1a4e('0xa')][_0x1a4e('0x39a6')]=function(_0x1b7806,_0x13bae4,_0x5356ed,_0x406d9c){var _0x4ab67d=Math['PI'];function _0x139d1d(_0x1b7806){return _0x1b7806*_0x4ab67d/0xb4;}var _0x1bb4fe,_0x3f494d,_0x1b2ee6,_0x4d6cbe,_0x190bb2=_0x139d1d((_0x1b7806+_0x5356ed)/0x2),_0x176ca7=_0x139d1d((_0x1b7806-_0x5356ed)/0x2),_0x4aa397=_0x139d1d((_0x13bae4-_0x406d9c)/0x2),_0x4af41f=Math[_0x1a4e('0x8f')](_0x176ca7),_0x43607c=Math[_0x1a4e('0x8f')](_0x4aa397),_0x1a957f=Math[_0x1a4e('0x8f')](_0x190bb2);return _0x1bb4fe=(_0x4af41f*=_0x4af41f)*(0x1-(_0x43607c*=_0x43607c))+(0x1-(_0x1a957f*=_0x1a957f))*_0x43607c,_0x3f494d=(0x1-_0x4af41f)*(0x1-_0x43607c)+_0x1a957f*_0x43607c,0x2*(_0x1b2ee6=Math[_0x1a4e('0xc2')](Math[_0x1a4e('0x91')](_0x1bb4fe/_0x3f494d)))*0x615299*(0x1+0x1/298.257*((0x3*(_0x4d6cbe=Math[_0x1a4e('0x91')](_0x1bb4fe*_0x3f494d)/_0x1b2ee6)-0x1)/0x2/_0x3f494d*_0x1a957f*(0x1-_0x4af41f)-(0x3*_0x4d6cbe+0x1)/0x2/_0x1bb4fe*(0x1-_0x1a957f)*_0x4af41f));},_0x1b7806;}();},'./src/Analysis/HeadFloodAnalysis.ts':function(_0x441050,_0x1a68a0,_0x47fcd8){'use strict';_0x47fcd8['r'](_0x1a68a0),_0x47fcd8['d'](_0x1a68a0,'HeadFloodAnalysis',function(){return _0x734f06;});var _0xa79e5=_0x47fcd8('./src/Analysis/AnalysisUtil.ts'),_0x734f06=function(){function _0x441050(_0x441050){this['viewer']=_0x441050;}return _0x441050['prototype']['open']=function(_0x441050,_0x1a68a0,_0x47fcd8,_0x734f06){void 0x0===_0x1a68a0&&(_0x1a68a0=!0x0),void 0x0===_0x47fcd8&&(_0x47fcd8=_0x1a4e('0x395e')),void 0x0===_0x734f06&&(_0x734f06='rgba(117,\x20190,\x20193,\x200.5)'),this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=_0x1a68a0;var _0x274123=this[_0x1a4e('0x1772')](_0x441050,_0x47fcd8,_0x734f06),_0x1662cd=_0x441050[_0x1a4e('0x3962')];this[_0x1a4e('0x396a')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')]['add'](_0xa79e5[_0x1a4e('0x38e0')]['createRectangle'](new Cesium[(_0x1a4e('0x3965'))](_0x1662cd[_0x1a4e('0x3966')],_0x1662cd['yMin'],_0x1662cd[_0x1a4e('0x3968')],_0x1662cd['yMax']),_0x274123));},_0x441050['prototype'][_0x1a4e('0x139b')]=function(){this['rectangle']&&this['viewer'][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this['rectangle']);},_0x441050[_0x1a4e('0xa')][_0x1a4e('0x1772')]=function(_0x441050,_0x1a68a0,_0x47fcd8){for(var _0x734f06=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x1a68a0)[_0x1a4e('0xc58')](),_0x144512=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x47fcd8)[_0x1a4e('0xc58')](),_0x1c32c5=_0x441050[_0x1a4e('0xf4')],_0x22271c=_0x441050['cols'],_0x2ae331=_0x441050[_0x1a4e('0x39ac')],_0xe7e9b4=[],_0x9a7bbf=0x0;_0x9a7bbf<_0x1c32c5;_0x9a7bbf++)for(var _0x576f11=0x0;_0x576f11<_0x22271c;_0x576f11++)0x0==_0x2ae331[_0x9a7bbf][_0x576f11]?(_0xe7e9b4[_0x1a4e('0x46')](_0x144512[0x0]),_0xe7e9b4[_0x1a4e('0x46')](_0x144512[0x1]),_0xe7e9b4[_0x1a4e('0x46')](_0x144512[0x2]),_0xe7e9b4[_0x1a4e('0x46')](_0x144512[0x3])):0x1==_0x2ae331[_0x9a7bbf][_0x576f11]?(_0xe7e9b4['push'](_0x734f06[0x0]),_0xe7e9b4[_0x1a4e('0x46')](_0x734f06[0x1]),_0xe7e9b4[_0x1a4e('0x46')](_0x734f06[0x2]),_0xe7e9b4[_0x1a4e('0x46')](_0x734f06[0x3])):(_0xe7e9b4['push'](0xff),_0xe7e9b4[_0x1a4e('0x46')](0x0),_0xe7e9b4['push'](0x0),_0xe7e9b4[_0x1a4e('0x46')](0x0));return _0xa79e5['AnalysisUtil'][_0x1a4e('0x3964')](_0x22271c,_0x1c32c5,_0xe7e9b4);},_0x441050;}();},'./src/Analysis/HeightAnalyze.ts':function(_0x57686c,_0x3dbbfd,_0x266f3c){'use strict';_0x266f3c['r'](_0x3dbbfd),_0x266f3c['d'](_0x3dbbfd,_0x1a4e('0x3901'),function(){return _0x32a52a;});var _0x32a52a=function(){function _0x57686c(_0x57686c){this[_0x1a4e('0x2b8')]=[],this['viewer']=_0x57686c,this[_0x1a4e('0x1459')]={'color':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39ad')][_0x1a4e('0x39ae')](0.7),'height':0x190};}return Object[_0x1a4e('0x2')](_0x57686c[_0x1a4e('0xa')],'color',{'get':function(){return this[_0x1a4e('0x1459')][_0x1a4e('0x134')];},'set':function(_0x57686c){this[_0x1a4e('0x1459')]['color']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x57686c),this[_0x1a4e('0x39af')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x57686c['prototype'],_0x1a4e('0x152'),{'get':function(){return this[_0x1a4e('0x1459')][_0x1a4e('0x152')];},'set':function(_0x57686c){this[_0x1a4e('0x1459')][_0x1a4e('0x152')]=_0x57686c,this['updateLayer']();},'enumerable':!0x0,'configurable':!0x0}),_0x57686c['prototype'][_0x1a4e('0x39b0')]=function(_0x57686c){_0x57686c['length']<0x2||(this[_0x1a4e('0x2b8')]=Cesium[_0x1a4e('0x393e')]['fromDegreesArrayHeights'](_0x57686c),this[_0x1a4e('0x39af')]());},_0x57686c[_0x1a4e('0xa')]['open']=function(){this['updateLayer']();},_0x57686c[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x39b1')]);},_0x57686c[_0x1a4e('0xa')][_0x1a4e('0x39af')]=function(){if(this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')]['remove'](this['_layer']),this['_points']){var _0x57686c=this['creategeometry'](this[_0x1a4e('0x2b8')]);this[_0x1a4e('0x39b1')]=new Cesium[(_0x1a4e('0x39b2'))]({'allowPicking':!0x1,'geometryInstances':_0x57686c,'asynchronous':!0x1}),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this['_layer']);}},_0x57686c['prototype']['creategeometry']=function(_0x57686c){return new Cesium['GeometryInstance']({'geometry':Cesium[_0x1a4e('0x3945')][_0x1a4e('0x39b3')]({'positions':_0x57686c,'height':this[_0x1a4e('0x1459')][_0x1a4e('0x152')],'perPositionHeight':!0x1,'extrudedHeight':0xf4240}),'attributes':{'color':Cesium[_0x1a4e('0x3940')][_0x1a4e('0x39b4')](this[_0x1a4e('0x1459')][_0x1a4e('0x134')])}});},_0x57686c;}();},'./src/Analysis/HideAnalysis.ts':function(_0x2f737c,_0x2c6db8,_0xce92f2){'use strict';_0xce92f2['r'](_0x2c6db8),_0xce92f2['d'](_0x2c6db8,_0x1a4e('0x39b5'),function(){return _0x49b23f;});var _0x299951=_0xce92f2(_0x1a4e('0x38d1')),_0x49b23f=function(){function _0x2f737c(_0x2f737c){this['viewer']=_0x2f737c;}return _0x2f737c[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x2f737c,_0x2c6db8,_0xce92f2,_0x49b23f,_0x5b2529,_0x27bf19){void 0x0===_0x49b23f&&(_0x49b23f=!0x0),void 0x0===_0x5b2529&&(_0x5b2529='rgba(255,56,116,0.5)'),void 0x0===_0x27bf19&&(_0x27bf19=_0x1a4e('0x39b6')),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=_0x49b23f;for(var _0x1c3d5b=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x5b2529)[_0x1a4e('0xc58')](),_0x1c17cb=Cesium['Color'][_0x1a4e('0x393c')](_0x27bf19)[_0x1a4e('0xc58')](),_0x1640e3=_0x2f737c[_0x1a4e('0x59')],_0x54daa5=_0x2f737c[_0x1a4e('0xf4')],_0x6f4335=_0x2f737c['vm'],_0x4198c1=[],_0xaf2a55=0x0;_0xaf2a55<_0x54daa5;_0xaf2a55++)for(var _0x36c86c=0x0;_0x36c86c<_0x1640e3;_0x36c86c++)0x1==_0x6f4335[_0xaf2a55*_0x1640e3+_0x36c86c]?(_0x4198c1[_0x1a4e('0x46')](_0x1c17cb[0x0]),_0x4198c1['push'](_0x1c17cb[0x1]),_0x4198c1['push'](_0x1c17cb[0x2]),_0x4198c1['push'](_0x1c17cb[0x3])):0x0==_0x6f4335[_0xaf2a55*_0x1640e3+_0x36c86c]?(_0x4198c1['push'](_0x1c3d5b[0x0]),_0x4198c1[_0x1a4e('0x46')](_0x1c3d5b[0x1]),_0x4198c1[_0x1a4e('0x46')](_0x1c3d5b[0x2]),_0x4198c1[_0x1a4e('0x46')](_0x1c3d5b[0x3])):(_0x4198c1[_0x1a4e('0x46')](0xff),_0x4198c1[_0x1a4e('0x46')](0x0),_0x4198c1[_0x1a4e('0x46')](0x0),_0x4198c1[_0x1a4e('0x46')](0x0));var _0x3f8cb9=_0x299951[_0x1a4e('0x38e0')]['createImage'](_0x1640e3,_0x54daa5,_0x4198c1);this[_0x1a4e('0x8f0')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x299951[_0x1a4e('0x38e0')][_0x1a4e('0x3956')](_0xce92f2,_0x2c6db8,_0x3f8cb9));},_0x2f737c[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x8f0')]&&(this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this[_0x1a4e('0x8f0')]),this[_0x1a4e('0x8f0')]=null);},_0x2f737c;}();},'./src/Analysis/InDirectAimAnalysis.ts':function(_0x2e0859,_0x2d4902,_0x127572){'use strict';_0x127572['r'](_0x2d4902),_0x127572['d'](_0x2d4902,_0x1a4e('0x3928'),function(){return _0x63292c;});var _0x461367=_0x127572(_0x1a4e('0x38d1')),_0x63292c=function(){function _0x2e0859(_0x2e0859){this['viewer']=_0x2e0859;}return _0x2e0859['prototype'][_0x1a4e('0x12bc')]=function(_0x2e0859,_0x2d4902,_0x127572,_0x63292c){void 0x0===_0x2d4902&&(_0x2d4902=_0x1a4e('0x395e')),void 0x0===_0x127572&&(_0x127572='rgba(117,\x20190,\x20193,\x200.5)'),void 0x0===_0x63292c&&(_0x63292c=!0x0),this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=_0x63292c;for(var _0x52b111=Cesium['Color']['fromCssColorString'](_0x2d4902)[_0x1a4e('0xc58')](),_0x312b52=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x127572)[_0x1a4e('0xc58')](),_0x52233e=_0x2e0859[_0x1a4e('0x3962')],_0x559723=_0x2e0859[_0x1a4e('0xf4')],_0x2f2763=_0x2e0859[_0x1a4e('0x59')],_0x4b613c=_0x2e0859[_0x1a4e('0x3963')],_0x1f77d8=[],_0x336ca8=0x0;_0x336ca8<_0x559723;_0x336ca8++)for(var _0x1a5fff=0x0;_0x1a5fff<_0x2f2763;_0x1a5fff++)switch(_0x4b613c[_0x336ca8][_0x1a5fff]){case 0x2:_0x1f77d8[_0x1a4e('0x46')](_0x312b52[0x0]),_0x1f77d8[_0x1a4e('0x46')](_0x312b52[0x1]),_0x1f77d8[_0x1a4e('0x46')](_0x312b52[0x2]),_0x1f77d8[_0x1a4e('0x46')](_0x312b52[0x3]);break;case 0x1:_0x1f77d8[_0x1a4e('0x46')](_0x52b111[0x0]),_0x1f77d8['push'](_0x52b111[0x1]),_0x1f77d8[_0x1a4e('0x46')](_0x52b111[0x2]),_0x1f77d8[_0x1a4e('0x46')](_0x52b111[0x3]);break;default:_0x1f77d8[_0x1a4e('0x46')](0xff),_0x1f77d8[_0x1a4e('0x46')](0xff),_0x1f77d8[_0x1a4e('0x46')](0xff),_0x1f77d8[_0x1a4e('0x46')](0x0);}var _0xa5249b=_0x461367[_0x1a4e('0x38e0')][_0x1a4e('0x3964')](_0x2f2763,_0x559723,_0x1f77d8),_0x51d846=new Cesium['Rectangle'](_0x52233e[_0x1a4e('0x3966')],_0x52233e['yMin'],_0x52233e[_0x1a4e('0x3968')],_0x52233e['yMax']);this['rectangle']=this['viewer'][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x461367[_0x1a4e('0x38e0')]['createRectangle'](_0x51d846,_0xa5249b));},_0x2e0859[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x396a')]&&this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this['rectangle']),this[_0x1a4e('0x396a')]=null;},_0x2e0859;}();},'./src/Analysis/IntervisibilityAnalysis.ts':function(_0x4aa61f,_0x5fb8bb,_0x7789a4){'use strict';_0x7789a4['r'](_0x5fb8bb),_0x7789a4['d'](_0x5fb8bb,_0x1a4e('0x3911'),function(){return _0x35b373;});var _0x3b47fe=_0x7789a4(_0x1a4e('0x38d0')),_0x4f4df7=_0x7789a4(_0x1a4e('0x38d1')),_0x35b373=function(){function _0x4aa61f(_0x4aa61f){this[_0x1a4e('0x38d5')]=_0x4aa61f;}return _0x4aa61f[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x4aa61f,_0x5fb8bb,_0x7789a4,_0x4f4df7,_0x35b373,_0x172595,_0x3a4568){if(void 0x0===_0x7789a4&&(_0x7789a4=!0x0),void 0x0===_0x4f4df7&&(_0x4f4df7=0x5),void 0x0===_0x35b373&&(_0x35b373='rgba(117,191,194,1)'),void 0x0===_0x172595&&(_0x172595='rgba(202,49,96,1)'),void 0x0===_0x3a4568&&(_0x3a4568=_0x1a4e('0x39b7')),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['globe']['depthTestAgainstTerrain']=_0x7789a4,_0x4aa61f[_0x1a4e('0xc4')]){var _0x1fb675=new _0x3b47fe['GeoPoint'](_0x4aa61f[_0x1a4e('0xc4')]['x'],_0x4aa61f[_0x1a4e('0xc4')]['y'],_0x4aa61f[_0x1a4e('0xc4')]['z']);this[_0x1a4e('0x39b8')](_0x5fb8bb,_0x1fb675,_0x4f4df7,_0x35b373,_0x172595,_0x3a4568);}else this[_0x1a4e('0x39b9')](_0x5fb8bb,_0x4f4df7,_0x35b373);},_0x4aa61f[_0x1a4e('0xa')][_0x1a4e('0x39b8')]=function(_0x4aa61f,_0x5fb8bb,_0x7789a4,_0x35b373,_0x43b133,_0xb113a4){var _0xd99efc=_0x4aa61f[0x0],_0xe3dfdd=_0x4aa61f[0x1];this[_0x1a4e('0x39ba')]=this[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x177')](_0x4f4df7[_0x1a4e('0x38e0')][_0x1a4e('0x3953')]([new _0x3b47fe['GeoPoint'](_0xd99efc[_0x1a4e('0x1a1')],_0xd99efc['lat'],_0xd99efc['alt']),new _0x3b47fe[(_0x1a4e('0x38da'))](_0x5fb8bb[_0x1a4e('0x1a1')],_0x5fb8bb[_0x1a4e('0x1a2')],_0x5fb8bb[_0x1a4e('0x398c')])],_0x35b373,_0x7789a4)),this[_0x1a4e('0x39bb')]=this[_0x1a4e('0x38d5')]['entities']['add'](_0x4f4df7[_0x1a4e('0x38e0')][_0x1a4e('0x3953')]([new _0x3b47fe[(_0x1a4e('0x38da'))](_0x5fb8bb[_0x1a4e('0x1a1')],_0x5fb8bb['lat'],_0x5fb8bb[_0x1a4e('0x398c')]),new _0x3b47fe[(_0x1a4e('0x38da'))](_0xe3dfdd[_0x1a4e('0x1a1')],_0xe3dfdd[_0x1a4e('0x1a2')],_0xe3dfdd[_0x1a4e('0x398c')])],_0x43b133,_0x7789a4)),this[_0x1a4e('0xc4')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x4f4df7[_0x1a4e('0x38e0')][_0x1a4e('0x2bc')](new _0x3b47fe[(_0x1a4e('0x38da'))](_0x5fb8bb[_0x1a4e('0x1a1')],_0x5fb8bb[_0x1a4e('0x1a2')],_0x5fb8bb['alt']),_0xb113a4));},_0x4aa61f[_0x1a4e('0xa')]['createDirPrimitive']=function(_0x4aa61f,_0x5fb8bb,_0x7789a4){var _0x35b373=_0x4aa61f[0x0],_0x40ac43=_0x4aa61f[0x1];this[_0x1a4e('0x39bc')]=this['viewer']['entities'][_0x1a4e('0x177')](_0x4f4df7[_0x1a4e('0x38e0')]['createLine']([new _0x3b47fe[(_0x1a4e('0x38da'))](_0x35b373['lon'],_0x35b373[_0x1a4e('0x1a2')],_0x35b373[_0x1a4e('0x398c')]+0x2),new _0x3b47fe['GeoPoint'](_0x40ac43[_0x1a4e('0x1a1')],_0x40ac43[_0x1a4e('0x1a2')],_0x40ac43[_0x1a4e('0x398c')]+0x2)],_0x7789a4,_0x5fb8bb));},_0x4aa61f[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this['dirLine']?this[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](this['dirLine']):this[_0x1a4e('0x39ba')]&&(this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this[_0x1a4e('0x39ba')]),this[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](this['lineRed']),this[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](this[_0x1a4e('0xc4')])),this[_0x1a4e('0x39bb')]=null,this[_0x1a4e('0x39bc')]=null,this['lineGreen']=null;},_0x4aa61f;}();},'./src/Analysis/LayerSplit.ts':function(_0x6dd4d9,_0x14bde8,_0x32a26d){'use strict';_0x32a26d['r'](_0x14bde8),_0x32a26d['d'](_0x14bde8,_0x1a4e('0x38fc'),function(){return _0x282109;});var _0x282109=function(){function _0x6dd4d9(_0x6dd4d9){this[_0x1a4e('0x38fa')]=_0x6dd4d9;}return _0x6dd4d9[_0x1a4e('0xa')][_0x1a4e('0x39bd')]=function(_0x6dd4d9){switch(_0x6dd4d9){case _0x1a4e('0x5f'):return Cesium[_0x1a4e('0x39be')]['LEFT'];case'up':return Cesium['ImagerySplitDirection']['UP'];case _0x1a4e('0x5c'):return Cesium[_0x1a4e('0x39be')][_0x1a4e('0x39bf')];case'right':return Cesium[_0x1a4e('0x39be')]['RIGHT'];}},_0x6dd4d9['prototype'][_0x1a4e('0x39c0')]=function(_0x6dd4d9){return JSON[_0x1a4e('0xd7')](_0x6dd4d9)[_0x1a4e('0x115')](/,/gi,';')[_0x1a4e('0x115')](/"/gi,'')[_0x1a4e('0x115')]('{','')['replace']('}','');},_0x6dd4d9['prototype']['_main']=function(_0x6dd4d9,_0x14bde8,_0x32a26d,_0x282109,_0x4f0265){_0x14bde8[_0x1a4e('0x39c1')]=_0x32a26d;var _0x4bca8e,_0x3de18b=_0x6dd4d9['container'],_0x20e07d=document['createElement'](_0x1a4e('0x9d6'));_0x20e07d[_0x1a4e('0x3935')]('id',_0x1a4e('0x39c2'));var _0x41d365=!0x1;_0x3de18b[_0x1a4e('0x12c4')](_0x20e07d),_0x32a26d===Cesium[_0x1a4e('0x39be')]['LEFT']||_0x32a26d===Cesium[_0x1a4e('0x39be')][_0x1a4e('0x318')]?(_0x6dd4d9['scene'][_0x1a4e('0x39be')]=_0x32a26d,_0x6dd4d9[_0x1a4e('0x38d6')]['imagerySplitPosition']=0.5,_0x20e07d[_0x1a4e('0x375c')][_0x1a4e('0x1322')]=_0x1a4e('0x39c3')+_0x282109+_0x1a4e('0x39c4')+_0x4f0265+'px;height:\x20100%;z-index:\x209999;',_0x20e07d[_0x1a4e('0x39c5')]=function(){_0x20e07d['style'][_0x1a4e('0x39c6')]='ew-resize';},_0x4bca8e=function(_0x14bde8){if(_0x41d365){var _0x32a26d=_0x14bde8[_0x1a4e('0x34f8')]['x'],_0x282109=(_0x20e07d[_0x1a4e('0x39c7')]+_0x32a26d)/_0x20e07d[_0x1a4e('0x39c8')][_0x1a4e('0x39c9')];_0x20e07d[_0x1a4e('0x375c')][_0x1a4e('0x5f')]=0x64*_0x282109+'%',_0x6dd4d9[_0x1a4e('0x38d6')][_0x1a4e('0x39ca')]=_0x282109;}}):(_0x6dd4d9[_0x1a4e('0x38d6')][_0x1a4e('0x39be')]=_0x32a26d,_0x6dd4d9['scene'][_0x1a4e('0x39ca')]=0.5,_0x20e07d['style'][_0x1a4e('0x1322')]='position:\x20absolute;left:\x200px;top:\x2050%;background-color:\x20\x20'+_0x282109+';width:\x20100%;height:\x20'+_0x4f0265+_0x1a4e('0x39cb'),_0x20e07d['onmouseover']=function(){_0x20e07d[_0x1a4e('0x375c')][_0x1a4e('0x39c6')]='n-resize';},_0x4bca8e=function(_0x14bde8){if(_0x41d365){var _0x32a26d=_0x14bde8[_0x1a4e('0x34f8')]['y'],_0x282109=(_0x20e07d[_0x1a4e('0x39cc')]+_0x32a26d)/_0x20e07d[_0x1a4e('0x39c8')]['offsetHeight'];_0x20e07d['style']['top']=0x64*_0x282109+'%',_0x6dd4d9[_0x1a4e('0x38d6')]['imagerySplitPosition']=0x1-_0x282109;}}),this[_0x1a4e('0x3976')]=new Cesium[(_0x1a4e('0x39cd'))](_0x20e07d),this[_0x1a4e('0x3976')]['setInputAction'](function(){_0x41d365=!0x0;},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39cf')]),this[_0x1a4e('0x3976')]['setInputAction'](function(){_0x41d365=!0x0;},Cesium['ScreenSpaceEventType'][_0x1a4e('0x39d0')]),this[_0x1a4e('0x3976')][_0x1a4e('0x3981')](_0x4bca8e,Cesium['ScreenSpaceEventType'][_0x1a4e('0x39d1')]),this[_0x1a4e('0x3976')][_0x1a4e('0x3981')](_0x4bca8e,Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d2')]),this[_0x1a4e('0x3976')]['setInputAction'](function(){_0x41d365=!0x1;},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d3')]),this[_0x1a4e('0x3976')][_0x1a4e('0x3981')](function(){_0x41d365=!0x1;},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d4')]);},_0x6dd4d9[_0x1a4e('0xa')]['open']=function(_0x6dd4d9,_0x14bde8,_0x32a26d,_0x282109){void 0x0===_0x14bde8&&(_0x14bde8='up'),void 0x0===_0x32a26d&&(_0x32a26d='#d3d3d3'),void 0x0===_0x282109&&(_0x282109=0x5),this[_0x1a4e('0x39b1')]=_0x6dd4d9,this[_0x1a4e('0x39d5')]=this[_0x1a4e('0x39bd')](_0x14bde8),this[_0x1a4e('0x39d6')](this[_0x1a4e('0x38fa')],this[_0x1a4e('0x39b1')],this[_0x1a4e('0x39d5')],_0x32a26d,_0x282109);},_0x6dd4d9['prototype'][_0x1a4e('0x139b')]=function(){if(this[_0x1a4e('0x39b1')]){this[_0x1a4e('0x39b1')][_0x1a4e('0x39c1')]=Cesium['ImagerySplitDirection'][_0x1a4e('0x24a')];var _0x6dd4d9=document[_0x1a4e('0x39d7')](_0x1a4e('0x39d8'));if(_0x6dd4d9&&this[_0x1a4e('0x38fa')][_0x1a4e('0x12d8')][_0x1a4e('0x12c5')](_0x6dd4d9),this['_handler'][_0x1a4e('0x3995')])return;this[_0x1a4e('0x3976')][_0x1a4e('0x139c')](),this[_0x1a4e('0x3976')]=null;}},_0x6dd4d9;}();},'./src/Analysis/MeasureArea.ts':function(_0x3cb24f,_0x15adeb,_0x420db7){'use strict';_0x420db7['r'](_0x15adeb),_0x420db7['d'](_0x15adeb,_0x1a4e('0x39d9'),function(){return _0x28c85f;}),_0x420db7['d'](_0x15adeb,_0x1a4e('0x39da'),function(){return _0x381c8f;});var _0x3b7d3e=_0x420db7(_0x1a4e('0x3970')),_0x14d71e=_0x420db7(_0x1a4e('0x396e')),_0xfdc92a=_0x420db7(_0x1a4e('0x38d0')),_0x28c85f=function(){function _0x3cb24f(_0x3cb24f){this[_0x1a4e('0x38fa')]=_0x3cb24f,this[_0x1a4e('0x3980')]=_0x1a4e('0x39db');}return _0x3cb24f[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x3cb24f){var _0x15adeb=this;this[_0x1a4e('0x39dc')]&&this[_0x1a4e('0x139b')](),this['_clampToGround']=_0x3cb24f['clampToGround'];var _0x420db7=this['_viewer'],_0x3b7d3e=_0x420db7[_0x1a4e('0x3973')]['getIgnoreRoot']();this[_0x1a4e('0x39dc')]=_0x420db7[_0x1a4e('0x3973')]['create']({'type':_0x1a4e('0x3989'),'color':_0x3cb24f[_0x1a4e('0x134')],'clampToGround':_0x3cb24f[_0x1a4e('0x39dd')]},_0x3b7d3e,_0x3cb24f[_0x1a4e('0x3977')]),_0x3cb24f['labelGraphicOpt']||(_0x3cb24f['labelGraphicOpt']=new _0x14d71e[(_0x1a4e('0x39de'))](),_0x3cb24f[_0x1a4e('0x3979')]['position']=new _0xfdc92a[(_0x1a4e('0x38da'))](0x0,0x0,0x0),_0x3cb24f['labelGraphicOpt'][_0x1a4e('0x397a')]=_0x1a4e('0x5d'),_0x3cb24f['labelGraphicOpt'][_0x1a4e('0x397b')]=_0x1a4e('0x5c'));var _0x28c85f=new _0x14d71e['LabelGraphic'](_0x3cb24f[_0x1a4e('0x3979')]);this[_0x1a4e('0x397d')]=_0x3b7d3e[_0x1a4e('0x177')](_0x28c85f),this[_0x1a4e('0x39dc')][_0x1a4e('0x397e')](function(_0x420db7){var _0x3b7d3e=_0x420db7[_0x1a4e('0x89f')][_0x420db7[_0x1a4e('0x35f')]],_0x14d71e=_0x3b7d3e['length'];_0x15adeb[_0x1a4e('0x398f')](_0x3b7d3e,_0x3cb24f[_0x1a4e('0x397f')]),_0x15adeb[_0x1a4e('0x397d')][_0x1a4e('0x3553')]=_0x3b7d3e[_0x14d71e-0x1],_0x15adeb[_0x1a4e('0x397d')][_0x1a4e('0xe04')]=_0x15adeb[_0x1a4e('0x3980')];});},_0x3cb24f['prototype'][_0x1a4e('0x398f')]=function(_0x3cb24f,_0x15adeb){if(!(_0x3cb24f[_0x1a4e('0x1e')]<0x2)){var _0x420db7=0x0;switch(_0x420db7=this[_0x1a4e('0x3971')]?_0x3b7d3e['Calculate'][_0x1a4e('0x3991')](_0x3cb24f):_0x3b7d3e[_0x1a4e('0x3990')][_0x1a4e('0x3992')](_0x3cb24f),_0x420db7=Math[_0x1a4e('0x65')](_0x420db7),_0x15adeb){case'kilometer':this['_area']=_0x420db7/0xf4240+_0x1a4e('0x39df');break;default:this[_0x1a4e('0x3980')]=_0x420db7+'m2';}}},_0x3cb24f[_0x1a4e('0xa')]['close']=function(){var _0x3cb24f=this[_0x1a4e('0x38fa')][_0x1a4e('0x3973')]['getIgnoreRoot']();_0x3cb24f[_0x1a4e('0x82')](this[_0x1a4e('0x39dc')]),_0x3cb24f[_0x1a4e('0x82')](this[_0x1a4e('0x397d')]),this[_0x1a4e('0x39dc')]=null,this[_0x1a4e('0x397d')]=null;},_0x3cb24f;}(),_0x381c8f=function(){this[_0x1a4e('0x3972')]=!0x1,this[_0x1a4e('0x39dd')]=!0x0,this[_0x1a4e('0x397f')]=_0x1a4e('0x39e0'),this[_0x1a4e('0x134')]=_0x1a4e('0x39e1');};},'./src/Analysis/MeasureDistance.ts':function(_0x17deae,_0x2034e9,_0x2a9f2b){'use strict';_0x2a9f2b['r'](_0x2034e9),_0x2a9f2b['d'](_0x2034e9,'MeasureDistance',function(){return _0x910cdd;}),_0x2a9f2b['d'](_0x2034e9,_0x1a4e('0x39e2'),function(){return _0xbbbb74;});var _0x3ea39d=_0x2a9f2b(_0x1a4e('0x3970')),_0x1b9c96=_0x2a9f2b(_0x1a4e('0x396e')),_0x5130ce=_0x2a9f2b(_0x1a4e('0x38d0')),_0x910cdd=function(){function _0x17deae(_0x17deae){this[_0x1a4e('0x38fa')]=_0x17deae,this[_0x1a4e('0x4b3')]='0m';}return _0x17deae['prototype']['open']=function(_0x17deae){var _0x2034e9=this;this[_0x1a4e('0x39e3')]&&this['close'](),this['_clampToGround']=_0x17deae['clampToGround'];var _0x2a9f2b=this['_viewer'],_0x3ea39d=_0x2a9f2b[_0x1a4e('0x3973')][_0x1a4e('0x3974')]();this[_0x1a4e('0x39e3')]=_0x2a9f2b[_0x1a4e('0x3973')][_0x1a4e('0x7')]({'type':_0x1a4e('0x39e4'),'color':_0x17deae[_0x1a4e('0x134')],'clampToGround':_0x17deae[_0x1a4e('0x39e5')]},_0x3ea39d,_0x17deae[_0x1a4e('0x3977')]),_0x17deae[_0x1a4e('0x3979')]||(_0x17deae['labelGraphicOpt']=new _0x1b9c96[(_0x1a4e('0x39de'))](),_0x17deae['labelGraphicOpt'][_0x1a4e('0x3553')]=new _0x5130ce['GeoPoint'](0x0,0x0,0x0),_0x17deae[_0x1a4e('0x3979')][_0x1a4e('0x397a')]=_0x1a4e('0x5d'),_0x17deae[_0x1a4e('0x3979')]['verticalOrigin']=_0x1a4e('0x5c'));var _0x910cdd=new _0x1b9c96[(_0x1a4e('0x397c'))](_0x17deae['labelGraphicOpt']);this['_labelItem']=_0x3ea39d['add'](_0x910cdd),this['_polyline']['onUpdateAttribute'](function(_0x2a9f2b){var _0x3ea39d=_0x2a9f2b[_0x1a4e('0x89f')][_0x2a9f2b['key']];if(_0x3ea39d['length']){var _0x1b9c96=_0x3ea39d[_0x1a4e('0x1e')];_0x2034e9[_0x1a4e('0x398f')](_0x3ea39d,_0x17deae['unit']),_0x2034e9['_labelItem'][_0x1a4e('0x3553')]=_0x3ea39d[_0x1b9c96-0x1],_0x2034e9[_0x1a4e('0x397d')][_0x1a4e('0xe04')]=_0x2034e9[_0x1a4e('0x4b3')];}});},_0x17deae[_0x1a4e('0xa')][_0x1a4e('0x398f')]=function(_0x17deae,_0x2034e9){if(!(_0x17deae[_0x1a4e('0x1e')]<0x2)){var _0x2a9f2b=0x0;switch(_0x2a9f2b=this[_0x1a4e('0x3971')]?_0x3ea39d[_0x1a4e('0x3990')][_0x1a4e('0x39e6')](_0x17deae,this['_viewer']):_0x3ea39d[_0x1a4e('0x3990')][_0x1a4e('0x39e7')](_0x17deae),_0x2034e9){case _0x1a4e('0x3993'):this[_0x1a4e('0x4b3')]=(_0x2a9f2b/0x3e8)[_0x1a4e('0x1e5')](0x2)+'km';break;default:this[_0x1a4e('0x4b3')]=_0x2a9f2b['toFixed'](0x2)+'m';}}},_0x17deae['prototype'][_0x1a4e('0x139b')]=function(){var _0x17deae=this[_0x1a4e('0x38fa')][_0x1a4e('0x3973')][_0x1a4e('0x3974')]();_0x17deae['remove'](this[_0x1a4e('0x39e3')]),_0x17deae['remove'](this['_labelItem']),this['_polyline']=null,this[_0x1a4e('0x397d')]=null;},_0x17deae;}(),_0xbbbb74=function(){this['clampToGround']=!0x1,this[_0x1a4e('0x39e5')]=!0x0,this[_0x1a4e('0x397f')]=_0x1a4e('0x39e0'),this[_0x1a4e('0x134')]=_0x1a4e('0x393b');};},'./src/Analysis/MorphologicAnalysis.ts':function(_0x1f91e2,_0x11b293,_0xe9a4e7){'use strict';_0xe9a4e7['r'](_0x11b293),_0xe9a4e7['d'](_0x11b293,_0x1a4e('0x3933'),function(){return _0x5a034c;}),_0xe9a4e7['d'](_0x11b293,_0x1a4e('0x39e8'),function(){return _0x473ef5;});var _0x473ef5,_0x513998=_0xe9a4e7(_0x1a4e('0x38d0')),_0x2ceb33=_0xe9a4e7(_0x1a4e('0x38d1')),_0x5a034c=function(){function _0x1f91e2(_0x1f91e2){this['viewer']=_0x1f91e2,this[_0x1a4e('0x39e9')]=[],this['primitiveArr']=[];}return _0x1f91e2[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x1f91e2,_0x11b293,_0xe9a4e7,_0x473ef5,_0x5a034c,_0x204082){var _0x5462da=this;switch(void 0x0===_0x473ef5&&(_0x473ef5=_0x1a4e('0x393b')),void 0x0===_0x5a034c&&(_0x5a034c='#ff0000'),void 0x0===_0x204082&&(_0x204082=!0x0),this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=_0x204082,_0x11b293){case 0x1:_0x1f91e2[_0x1a4e('0x39ea')][_0x1a4e('0x3b')](function(_0x1f91e2){_0x5462da['entitiyArr']['push'](_0x5462da[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x177')](_0x2ceb33[_0x1a4e('0x38e0')][_0x1a4e('0x38e1')](new _0x513998['GeoPoint'](_0x1f91e2['x'],_0x1f91e2['y'],_0x1f91e2['z']),_0x1a4e('0x39eb'),_0x5a034c)));});break;case 0x2:_0x1f91e2['saddleList'][_0x1a4e('0x3b')](function(_0x1f91e2){_0x5462da[_0x1a4e('0x39e9')][_0x1a4e('0x46')](_0x5462da[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')]['add'](_0x2ceb33[_0x1a4e('0x38e0')]['createTextPoint'](new _0x513998[(_0x1a4e('0x38da'))](_0x1f91e2['x'],_0x1f91e2['y'],_0x1f91e2['z']),_0x1a4e('0x39ec'),_0x5a034c)));});break;case 0x3:case 0x4:case 0x5:var _0x3c5ac0=[];_0x1f91e2[_0x1a4e('0x39ed')][_0x1a4e('0x3b')](function(_0x1f91e2){var _0x11b293=[];_0x1f91e2[_0x1a4e('0x38d9')][_0x1a4e('0x3b')](function(_0x1f91e2){_0x11b293[_0x1a4e('0x46')](new _0x513998[(_0x1a4e('0x38da'))](_0x1f91e2['x'],_0x1f91e2['y']));}),_0x3c5ac0[_0x1a4e('0x46')](_0x11b293);}),this[_0x1a4e('0x39ee')][_0x1a4e('0x46')](this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x2ceb33[_0x1a4e('0x38e0')]['createPolyline'](_0x3c5ac0,0x2,_0x473ef5)));break;case 0x6:this['entitiyArr'][_0x1a4e('0x46')](this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x2ceb33[_0x1a4e('0x38e0')]['createTextPoint'](_0xe9a4e7[0x0],'地形为:'+_0x1f91e2['type'],_0x5a034c)));}},_0x1f91e2[_0x1a4e('0xa')]['close']=function(){var _0x1f91e2=this;this[_0x1a4e('0x39ee')][_0x1a4e('0x3b')](function(_0x11b293){_0x1f91e2[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x11b293);}),this[_0x1a4e('0x39e9')][_0x1a4e('0x3b')](function(_0x11b293){_0x1f91e2[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](_0x11b293);}),this[_0x1a4e('0x39ee')]=[],this[_0x1a4e('0x39e9')]=[];},_0x1f91e2;}();!function(_0x1f91e2){_0x1f91e2[_0x1f91e2['MountainTop']=0x1]=_0x1a4e('0x39ef'),_0x1f91e2[_0x1f91e2[_0x1a4e('0x39f0')]=0x2]=_0x1a4e('0x39f0'),_0x1f91e2[_0x1f91e2[_0x1a4e('0x39f1')]=0x3]='Bottomline',_0x1f91e2[_0x1f91e2[_0x1a4e('0x39f2')]=0x4]=_0x1a4e('0x39f2'),_0x1f91e2[_0x1f91e2['Ridgeline']=0x5]=_0x1a4e('0x39f3'),_0x1f91e2[_0x1f91e2[_0x1a4e('0x39f4')]=0x6]=_0x1a4e('0x39f4');}(_0x473ef5||(_0x473ef5={}));},'./src/Analysis/NuclearProtectionAnalysis.ts':function(_0x3bac99,_0x1cc7f4,_0x4095b2){'use strict';_0x4095b2['r'](_0x1cc7f4),_0x4095b2['d'](_0x1cc7f4,_0x1a4e('0x3931'),function(){return _0x503ae8;});var _0x34bdd4=_0x4095b2(_0x1a4e('0x38d1')),_0x503ae8=function(){function _0x3bac99(_0x3bac99){this[_0x1a4e('0x38d5')]=_0x3bac99;}return _0x3bac99[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x3bac99,_0x1cc7f4){void 0x0===_0x1cc7f4&&(_0x1cc7f4=!0x0),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=_0x1cc7f4;for(var _0x4095b2=_0x3bac99[_0x1a4e('0x3962')],_0x503ae8=_0x3bac99[_0x1a4e('0xf4')],_0x4c5740=_0x3bac99[_0x1a4e('0x59')],_0x3ae444=_0x3bac99[_0x1a4e('0x39f5')],_0x1a252d=[],_0x24e165=[[0xff,0x38,0x74,0x64],[0xff,0xff,0xff,0x0]],_0x281105=0x0;_0x281105<_0x503ae8;_0x281105++)for(var _0x2bc437=0x0;_0x2bc437<_0x4c5740;_0x2bc437++){switch(_0x3ae444[_0x281105*_0x4c5740+_0x2bc437]){case 0x1:_0x1a252d[_0x1a4e('0x46')](_0x24e165[0x0][0x0]),_0x1a252d[_0x1a4e('0x46')](_0x24e165[0x0][0x1]),_0x1a252d[_0x1a4e('0x46')](_0x24e165[0x0][0x2]),_0x1a252d['push'](_0x24e165[0x0][0x3]);break;default:_0x1a252d[_0x1a4e('0x46')](_0x24e165[0x1][0x0]),_0x1a252d['push'](_0x24e165[0x1][0x1]),_0x1a252d['push'](_0x24e165[0x1][0x2]),_0x1a252d[_0x1a4e('0x46')](_0x24e165[0x1][0x3]);}}var _0x531f02=_0x34bdd4[_0x1a4e('0x38e0')][_0x1a4e('0x3964')](_0x4c5740,_0x503ae8,_0x1a252d),_0x245c65=new Cesium[(_0x1a4e('0x3965'))](_0x4095b2['xMin'],_0x4095b2[_0x1a4e('0x3967')],_0x4095b2['xMax'],_0x4095b2['yMax']);this[_0x1a4e('0x8f0')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x34bdd4[_0x1a4e('0x38e0')][_0x1a4e('0x394d')](_0x245c65,_0x531f02));},_0x3bac99[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x8f0')]&&(this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')]['remove'](this[_0x1a4e('0x8f0')]),this['entity']=null);},_0x3bac99;}();},'./src/Analysis/PathAnalysis.ts':function(_0x878c4c,_0x345cb9,_0x22e6db){'use strict';_0x22e6db['r'](_0x345cb9),_0x22e6db['d'](_0x345cb9,_0x1a4e('0x3914'),function(){return _0xf32a23;});var _0xf32a23=function(){function _0x878c4c(_0x878c4c){this[_0x1a4e('0x38d5')]=_0x878c4c,this[_0x1a4e('0x39f6')]=new Array();}return _0x878c4c[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x878c4c,_0x345cb9,_0x22e6db,_0xf32a23){var _0x2f7a2f=this;void 0x0===_0x345cb9&&(_0x345cb9=!0x0),void 0x0===_0x22e6db&&(_0x22e6db=0xa),void 0x0===_0xf32a23&&(_0xf32a23=_0x1a4e('0x38d4')),this['viewer'][_0x1a4e('0x38d6')]['globe']['depthTestAgainstTerrain']=_0x345cb9;var _0x3655c6=Cesium['Color'][_0x1a4e('0x393c')](_0xf32a23);_0x878c4c[_0x1a4e('0x38d8')]['forEach'](function(_0x878c4c){var _0x345cb9=[];_0x878c4c['forEach'](function(_0x878c4c){_0x345cb9[_0x1a4e('0x46')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x878c4c['x'],_0x878c4c['y']));});var _0xf32a23=_0x2f7a2f[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')]['add']({'polyline':{'positions':_0x345cb9,'width':_0x22e6db,'material':new Cesium[(_0x1a4e('0x39f7'))]({'color':_0x3655c6,'glowPower':0.25}),'clampToGround':!0x0}});_0x2f7a2f[_0x1a4e('0x39f6')][_0x1a4e('0x46')](_0xf32a23);});},_0x878c4c['prototype'][_0x1a4e('0x139b')]=function(){for(var _0x878c4c=this[_0x1a4e('0x39f6')][_0x1a4e('0x1e')],_0x345cb9=0x0;_0x345cb9<_0x878c4c;_0x345cb9++)this[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](this[_0x1a4e('0x39f6')][_0x345cb9]);this[_0x1a4e('0x39f6')]=[];},_0x878c4c;}();},'./src/Analysis/PolygonVisiableAnalysis.ts':function(_0xe4a25c,_0x4f301c,_0x5d2334){'use strict';_0x5d2334['r'](_0x4f301c),_0x5d2334['d'](_0x4f301c,_0x1a4e('0x39f8'),function(){return _0x27339a;});var _0x2dcb47=_0x5d2334(_0x1a4e('0x38d1')),_0x27339a=function(){function _0xe4a25c(_0xe4a25c){this[_0x1a4e('0x38d5')]=_0xe4a25c;}return _0xe4a25c[_0x1a4e('0xa')]['open']=function(_0xe4a25c,_0x4f301c,_0x5d2334,_0x27339a){void 0x0===_0x4f301c&&(_0x4f301c=!0x0),void 0x0===_0x5d2334&&(_0x5d2334=_0x1a4e('0x39b6')),void 0x0===_0x27339a&&(_0x27339a=_0x1a4e('0x39f9')),this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=_0x4f301c;for(var _0x5b429b=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x5d2334)[_0x1a4e('0xc58')](),_0x3b112c=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x27339a)[_0x1a4e('0xc58')](),_0x3ae410=_0xe4a25c['gisExtent'],_0x4ccbee=_0x3ae410[_0x1a4e('0x3966')],_0x1902f6=_0x3ae410[_0x1a4e('0x3968')],_0x485412=_0x3ae410[_0x1a4e('0x3967')],_0x1f7bdd=_0x3ae410[_0x1a4e('0x3969')],_0x1a6e4b=_0xe4a25c[_0x1a4e('0x59')],_0x2f99e4=_0xe4a25c[_0x1a4e('0xf4')],_0x3ebaf6=_0xe4a25c['vm'],_0x43098a=[],_0x49f35f=0x0;_0x49f35f<_0x2f99e4;_0x49f35f++)for(var _0x16b7d4=0x0;_0x16b7d4<_0x1a6e4b;_0x16b7d4++)0x1==_0x3ebaf6[_0x49f35f*_0x1a6e4b+_0x16b7d4]?(_0x43098a[_0x1a4e('0x46')](_0x5b429b[0x0]),_0x43098a[_0x1a4e('0x46')](_0x5b429b[0x1]),_0x43098a[_0x1a4e('0x46')](_0x5b429b[0x2]),_0x43098a[_0x1a4e('0x46')](_0x5b429b[0x3])):0x0==_0x3ebaf6[_0x49f35f*_0x1a6e4b+_0x16b7d4]?(_0x43098a[_0x1a4e('0x46')](_0x3b112c[0x0]),_0x43098a['push'](_0x3b112c[0x1]),_0x43098a[_0x1a4e('0x46')](_0x3b112c[0x2]),_0x43098a[_0x1a4e('0x46')](_0x3b112c[0x3])):(_0x43098a['push'](0xff),_0x43098a[_0x1a4e('0x46')](0x0),_0x43098a[_0x1a4e('0x46')](0x0),_0x43098a[_0x1a4e('0x46')](0x0));var _0x330f40=_0x2dcb47[_0x1a4e('0x38e0')][_0x1a4e('0x3964')](_0x1a6e4b,_0x2f99e4,_0x43098a),_0x2a549c=new Cesium[(_0x1a4e('0x3965'))](_0x4ccbee,_0x485412,_0x1902f6,_0x1f7bdd);this[_0x1a4e('0x8f0')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')]['add'](_0x2dcb47['AnalysisUtil'][_0x1a4e('0x394d')](_0x2a549c,_0x330f40));},_0xe4a25c[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x8f0')]&&(this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')]['remove'](this['entity']),this['entity']=null);},_0xe4a25c;}();},'./src/Analysis/ProfileAnalysis.ts':function(_0x687e88,_0x4df904,_0x20b5c3){'use strict';_0x20b5c3['r'](_0x4df904),_0x20b5c3['d'](_0x4df904,'ProfileAnalysis',function(){return _0xc32807;});var _0x5d24ba=_0x20b5c3(_0x1a4e('0x38eb')),_0x8fe2c=_0x20b5c3('./src/Utils/Calculate.ts'),_0xc32807=function(){function _0x687e88(_0x687e88){this['_viewer']=_0x687e88,this['_measureDistance']=new _0x5d24ba[(_0x1a4e('0x390b'))](this[_0x1a4e('0x38fa')]);}return _0x687e88[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x687e88){var _0x4df904=this,_0x20b5c3=new _0x5d24ba[(_0x1a4e('0x39e2'))]();_0x20b5c3[_0x1a4e('0x3977')]=function(_0x20b5c3){for(var _0x5d24ba=[],_0xc32807=_0x20b5c3['positions']['length'],_0x33324e=[],_0x3ceb57=0x0;_0x3ceb57<_0xc32807-0x1;_0x3ceb57++)for(var _0x27722f=0x0;_0x27722f<0x64;_0x27722f++){var _0x1c8035=Cesium['Math'][_0x1a4e('0x94c')](_0x20b5c3['positions'][_0x3ceb57][_0x1a4e('0x1a1')],_0x20b5c3[_0x1a4e('0x398a')][_0x3ceb57+0x1]['lon'],_0x27722f/0x64),_0x383281=Cesium[_0x1a4e('0x1020')]['lerp'](_0x20b5c3[_0x1a4e('0x398a')][_0x3ceb57][_0x1a4e('0x1a2')],_0x20b5c3[_0x1a4e('0x398a')][_0x3ceb57+0x1]['lat'],_0x27722f/0x64);_0x33324e[_0x1a4e('0x46')]({'lon':_0x1c8035,'lat':_0x383281});}var _0x41d132=_0x33324e[_0x1a4e('0x1e')];for(_0x3ceb57=0x0;_0x3ceb57<_0x41d132;_0x3ceb57++)_0x5d24ba['push'](Cesium[_0x1a4e('0x39fa')]['fromDegrees'](_0x33324e[_0x3ceb57]['lon'],_0x33324e[_0x3ceb57][_0x1a4e('0x1a2')]));var _0x5b24c6=[];_0x5b24c6['push'](0x0);for(_0x3ceb57=0x1;_0x3ceb57<_0x41d132;_0x3ceb57++)_0x5b24c6[_0x1a4e('0x46')](_0x8fe2c['Calculate'][_0x1a4e('0x39e7')]([_0x33324e[_0x3ceb57],_0x33324e[0x0]])[_0x1a4e('0x1e5')](0x2));var _0x1d5b6f=Cesium[_0x1a4e('0x39fb')](_0x4df904[_0x1a4e('0x38fa')][_0x1a4e('0x39fc')],_0x5d24ba);Cesium[_0x1a4e('0x39fd')](_0x1d5b6f,function(_0x4df904){_0x33324e['forEach'](function(_0x687e88,_0x20b5c3){_0x33324e[_0x20b5c3]['alt']=_0x4df904[_0x20b5c3][_0x1a4e('0x152')];}),_0x687e88(_0x5b24c6,_0x33324e);});},this[_0x1a4e('0x390a')][_0x1a4e('0x12bc')](_0x20b5c3);},_0x687e88[_0x1a4e('0xa')]['close']=function(){this[_0x1a4e('0x390a')][_0x1a4e('0x139b')]();},_0x687e88;}();},'./src/Analysis/SelectionTool.ts':function(_0x3fb417,_0x1b4fac,_0x5747d7){'use strict';_0x5747d7['r'](_0x1b4fac),_0x5747d7['d'](_0x1b4fac,_0x1a4e('0x39fe'),function(){return _0xec05cd;});var _0xec05cd=function(){function _0x3fb417(_0x3fb417){this['_selectionColor']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39ad')],this[_0x1a4e('0x39ff')]=_0x3fb417;}return Object[_0x1a4e('0x2')](_0x3fb417[_0x1a4e('0xa')],'selectionColor',{'get':function(){return this[_0x1a4e('0x3a00')];},'set':function(_0x3fb417){this[_0x1a4e('0x3a00')]=_0x3fb417;},'enumerable':!0x0,'configurable':!0x0}),_0x3fb417[_0x1a4e('0xa')][_0x1a4e('0x51a')]=function(_0x3fb417,_0x1b4fac){var _0x5747d7=this,_0xec05cd=new Cesium[(_0x1a4e('0x3a01'))]();_0xec05cd[_0x1a4e('0x134')]={'evaluateColor':function(_0xec05cd,_0x26bffb){var _0x3273fc=Cesium['Color'][_0x1a4e('0x39a7')];if(_0xec05cd[_0x1a4e('0x3a02')]()['indexOf'](_0x3fb417)>-0x1){var _0x4fbebe=_0xec05cd[_0x1a4e('0x391')](_0x3fb417);_0x1b4fac[_0x1a4e('0x3e')](_0x4fbebe[_0x1a4e('0x95')]())>-0x1&&(_0x3273fc=_0x5747d7['_selectionColor']);}return Cesium['Color'][_0x1a4e('0x240')](_0x3273fc,_0x26bffb);}},this[_0x1a4e('0x39ff')][_0x1a4e('0x375c')]=_0xec05cd;},_0x3fb417[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x39ff')][_0x1a4e('0x375c')]=void 0x0;},_0x3fb417;}();},'./src/Analysis/ShadowAnalysis.ts':function(_0x20d891,_0x3ec60b,_0x4f631d){'use strict';_0x4f631d['r'](_0x3ec60b),_0x4f631d['d'](_0x3ec60b,_0x1a4e('0x3920'),function(){return _0x360211;});var _0x3d41cd=_0x4f631d(_0x1a4e('0x38d1')),_0x360211=function(){function _0x20d891(_0x20d891){this[_0x1a4e('0x38d5')]=_0x20d891;}return _0x20d891[_0x1a4e('0xa')]['close']=function(){this[_0x1a4e('0x396a')]&&this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this[_0x1a4e('0x396a')]);},_0x20d891[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x20d891,_0x3ec60b){void 0x0===_0x3ec60b&&(_0x3ec60b=!0x0),this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=_0x3ec60b;var _0x4f631d=this['createMap'](_0x20d891),_0x360211=new Cesium[(_0x1a4e('0x3965'))](_0x20d891[_0x1a4e('0x3962')][_0x1a4e('0x3966')],_0x20d891['gisExtent'][_0x1a4e('0x3967')],_0x20d891['gisExtent']['xMax'],_0x20d891[_0x1a4e('0x3962')][_0x1a4e('0x3969')]);this[_0x1a4e('0x396a')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x3d41cd[_0x1a4e('0x38e0')][_0x1a4e('0x394d')](_0x360211,_0x4f631d));},_0x20d891[_0x1a4e('0xa')][_0x1a4e('0x1772')]=function(_0x20d891){var _0x3ec60b=_0x20d891[_0x1a4e('0xf4')],_0x4f631d=_0x20d891[_0x1a4e('0x59')],_0x360211=_0x20d891[_0x1a4e('0x3a03')],_0x13499e=[];return _0x360211['forEach'](function(_0x20d891){_0x13499e[_0x1a4e('0x46')](_0x20d891),_0x13499e[_0x1a4e('0x46')](_0x20d891),_0x13499e[_0x1a4e('0x46')](_0x20d891),_0x13499e['push'](0xff);}),_0x3d41cd[_0x1a4e('0x38e0')][_0x1a4e('0x3964')](_0x4f631d,_0x3ec60b,_0x13499e);},_0x20d891;}();},'./src/Analysis/SkylineAnalyze.ts':function(_0x543fed,_0x4bc3a8,_0x5524c8){'use strict';_0x5524c8['r'](_0x4bc3a8),_0x5524c8['d'](_0x4bc3a8,'SkylineAnalyze',function(){return _0x378aa4;}),_0x5524c8['d'](_0x4bc3a8,_0x1a4e('0x3a04'),function(){return _0x40d250;}),_0x5524c8['d'](_0x4bc3a8,'SkylinePostProcess',function(){return _0x2dd8fc;});var _0x23ef2a,_0x4c6ada=(_0x23ef2a=function(_0x543fed,_0x4bc3a8){return(_0x23ef2a=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x543fed,_0x4bc3a8){_0x543fed['__proto__']=_0x4bc3a8;}||function(_0x543fed,_0x4bc3a8){for(var _0x5524c8 in _0x4bc3a8)_0x4bc3a8[_0x1a4e('0xb')](_0x5524c8)&&(_0x543fed[_0x5524c8]=_0x4bc3a8[_0x5524c8]);})(_0x543fed,_0x4bc3a8);},function(_0x543fed,_0x4bc3a8){function _0x5524c8(){this[_0x1a4e('0x10')]=_0x543fed;}_0x23ef2a(_0x543fed,_0x4bc3a8),_0x543fed[_0x1a4e('0xa')]=null===_0x4bc3a8?Object[_0x1a4e('0x7')](_0x4bc3a8):(_0x5524c8[_0x1a4e('0xa')]=_0x4bc3a8[_0x1a4e('0xa')],new _0x5524c8());}),_0x378aa4=function(){function _0x543fed(_0x543fed){this[_0x1a4e('0x38fa')]=_0x543fed;}return _0x543fed[_0x1a4e('0xa')][_0x1a4e('0x12bc')]=function(_0x543fed){this['close'](),this[_0x1a4e('0x3a05')]=new _0x2dd8fc(this['_viewer'][_0x1a4e('0x3a06')],_0x543fed),this[_0x1a4e('0x3a07')]=this[_0x1a4e('0x38fa')]['scene'][_0x1a4e('0x3a08')][_0x1a4e('0x177')](this[_0x1a4e('0x3a05')]);},_0x543fed[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x3a07')]&&this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3a08')][_0x1a4e('0x82')](this[_0x1a4e('0x3a07')]);},_0x543fed;}(),_0x40d250=function(){this[_0x1a4e('0x3936')]=0x2,this['strokeType']=new Cesium[(_0x1a4e('0x393e'))](0x1,0x0,0x0),this[_0x1a4e('0x3a09')]=Cesium[_0x1a4e('0x3947')]['RED'],this['color']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39ad')],this[_0x1a4e('0x3a0a')]=0x1f4;},_0x2dd8fc=function(_0x543fed){function _0x4bc3a8(_0x4bc3a8,_0x5524c8){if(Cesium[_0x1a4e('0x3a0b')](_0x5524c8)){var _0x23ef2a={'fragmentShader':_0x1a4e('0x3a0c'),'uniforms':{'height':function(){return Cesium['Cartographic'][_0x1a4e('0x3a0d')](_0x4bc3a8[_0x1a4e('0x3553')])['height'];},'lineWidth':function(){return _0x5524c8[_0x1a4e('0x3936')];},'strokeType':function(){return _0x5524c8[_0x1a4e('0x3a0e')];},'tjxColor':function(){return _0x5524c8[_0x1a4e('0x134')];},'bjColor':function(){return _0x5524c8[_0x1a4e('0x3a09')];},'cameraPos':function(){return _0x4bc3a8[_0x1a4e('0x3553')];},'mbDis':function(){return _0x5524c8['strokeDistance'];}}};return _0x543fed[_0x1a4e('0x1')](this,_0x23ef2a)||this;}console[_0x1a4e('0x873')](_0x1a4e('0x3a0f'));}return _0x4c6ada(_0x4bc3a8,_0x543fed),_0x4bc3a8;}(Cesium['PostProcessStage']);},'./src/Analysis/SlopeAnalysis.ts':function(_0x413bf2,_0x3846fb,_0x480f89){'use strict';_0x480f89['r'](_0x3846fb),_0x480f89['d'](_0x3846fb,_0x1a4e('0x3918'),function(){return _0x2dbbef;});var _0x5f0d1a=_0x480f89('./src/Analysis/AnalysisUtil.ts'),_0x2dbbef=function(){function _0x413bf2(_0x413bf2){this['viewer']=_0x413bf2;}return _0x413bf2[_0x1a4e('0xa')]['open']=function(_0x413bf2,_0x3846fb){void 0x0===_0x3846fb&&(_0x3846fb=!0x0),this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=_0x3846fb;var _0x480f89=this[_0x1a4e('0x1772')](_0x413bf2),_0x2dbbef=new Cesium[(_0x1a4e('0x3965'))](_0x413bf2[_0x1a4e('0x3a10')],_0x413bf2['min_y'],_0x413bf2[_0x1a4e('0x3a11')],_0x413bf2[_0x1a4e('0x3a12')]);this[_0x1a4e('0x396a')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x5f0d1a['AnalysisUtil'][_0x1a4e('0x394d')](_0x2dbbef,_0x480f89));},_0x413bf2[_0x1a4e('0xa')][_0x1a4e('0x1772')]=function(_0x413bf2){var _0x3846fb=[],_0x480f89=0x5a,_0x2dbbef=0x0;_0x413bf2[_0x1a4e('0x3a13')][_0x1a4e('0x3b')](function(_0x413bf2){_0x413bf2<_0x480f89&&(_0x480f89=_0x413bf2),_0x413bf2>_0x2dbbef&&(_0x2dbbef=_0x413bf2);});var _0x13c8a3=(_0x2dbbef-_0x480f89)/0x8;_0x413bf2[_0x1a4e('0x3a13')][_0x1a4e('0x3b')](function(_0x413bf2){_0x413bf2<=_0x480f89+_0x13c8a3?_0x3846fb[_0x1a4e('0x46')](_0x1a4e('0x3a14')):_0x413bf2<_0x480f89+0x2*_0x13c8a3?_0x3846fb[_0x1a4e('0x46')](_0x1a4e('0x3a15')):_0x413bf2<_0x480f89+0x3*_0x13c8a3?_0x3846fb[_0x1a4e('0x46')](_0x1a4e('0x3a16')):_0x413bf2<_0x480f89+0x4*_0x13c8a3?_0x3846fb[_0x1a4e('0x46')]('154,188,4'):_0x413bf2<_0x480f89+0x5*_0x13c8a3?_0x3846fb[_0x1a4e('0x46')](_0x1a4e('0x3a17')):_0x413bf2<_0x480f89+0x6*_0x13c8a3?_0x3846fb[_0x1a4e('0x46')](_0x1a4e('0x3a18')):_0x413bf2<_0x480f89+0x7*_0x13c8a3?_0x3846fb[_0x1a4e('0x46')](_0x1a4e('0x3a19')):_0x413bf2<_0x480f89+0x8*_0x13c8a3?_0x3846fb['push'](_0x1a4e('0x3a1a')):_0x413bf2>=_0x480f89+0x8*_0x13c8a3&&_0x3846fb[_0x1a4e('0x46')](_0x1a4e('0x3a1b'));});var _0x49f2bf=[];return _0x3846fb[_0x1a4e('0x3b')](function(_0x413bf2){var _0x3846fb=_0x413bf2[_0x1a4e('0x2be')](',');_0x49f2bf[_0x1a4e('0x46')](_0x3846fb[0x0]),_0x49f2bf[_0x1a4e('0x46')](_0x3846fb[0x1]),_0x49f2bf[_0x1a4e('0x46')](_0x3846fb[0x2]),_0x49f2bf['push'](0x64);}),_0x5f0d1a['AnalysisUtil'][_0x1a4e('0x3964')](_0x413bf2[_0x1a4e('0x59')],_0x413bf2[_0x1a4e('0xf4')],_0x49f2bf);},_0x413bf2['prototype'][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x396a')]&&this[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](this['rectangle']),this['rectangle']=null;},_0x413bf2;}();},'./src/Analysis/TerrainClipPlane.ts':function(_0x207d87,_0x114bb8,_0x294e0f){'use strict';_0x294e0f['r'](_0x114bb8),_0x294e0f['d'](_0x114bb8,_0x1a4e('0x3a1c'),function(){return _0x38c9b1;});var _0x38c9b1=function(){function _0x207d87(_0x207d87,_0x114bb8){this[_0x1a4e('0x3a1d')]=0x1869f,this[_0x1a4e('0x38d5')]=_0x207d87,this['options']=_0x114bb8||{},this[_0x1a4e('0x3a1e')]=_0x114bb8['positions'],this[_0x1a4e('0x399c')]=this[_0x1a4e('0x8dc')][_0x1a4e('0x152')]||0x0,this[_0x1a4e('0x3a1f')]=_0x114bb8[_0x1a4e('0x3a1f')],this[_0x1a4e('0x3a20')]=_0x114bb8[_0x1a4e('0x3a20')],this['splitNum']=Cesium['defaultValue'](_0x114bb8[_0x1a4e('0x3a21')],0x32),this[_0x1a4e('0x3a1e')]&&this[_0x1a4e('0x3a1e')]['length']>0x0&&this['updateData'](this['_positions']);}return Object[_0x1a4e('0x2')](_0x207d87[_0x1a4e('0xa')],_0x1a4e('0x152'),{'get':function(){return this[_0x1a4e('0x399c')];},'set':function(_0x207d87){this[_0x1a4e('0x399c')]=_0x207d87,this[_0x1a4e('0x3a22')](_0x207d87);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x207d87[_0x1a4e('0xa')],_0x1a4e('0x3a23'),{'get':function(){return this[_0x1a4e('0x3a24')];},'set':function(_0x207d87){this[_0x1a4e('0x3a24')]=_0x207d87,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3a25')]&&(this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x3a25')][_0x1a4e('0x25e5')]=_0x207d87),this['_switchExcavate'](_0x207d87);},'enumerable':!0x0,'configurable':!0x0}),_0x207d87['prototype']['updateData']=function(_0x207d87){this['clear']();var _0x114bb8=[],_0x294e0f=_0x207d87[_0x1a4e('0x1e')],_0x38c9b1=new Cesium['Cartesian3'](),_0x20b5aa=Cesium['Cartesian3']['subtract'](_0x207d87[0x0],_0x207d87[0x1],_0x38c9b1);_0x20b5aa=_0x20b5aa['x']>0x0,this[_0x1a4e('0x3a1d')]=0x270f;for(var _0x3dbfde=0x0;_0x3dbfde<_0x294e0f;++_0x3dbfde){var _0x19a41c=(_0x3dbfde+0x1)%_0x294e0f,_0x3a73c8=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x7bf')](_0x207d87[_0x3dbfde],_0x207d87[_0x19a41c],new Cesium[(_0x1a4e('0x393e'))]()),_0x2b42f1=Cesium['Cartographic'][_0x1a4e('0x3a0d')](_0x207d87[_0x3dbfde]),_0x3d693e=this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')]['getHeight'](_0x2b42f1)||_0x2b42f1['height'];_0x3d693e=0x0)return _0x8dd704;if(!Cesium[_0x1a4e('0x3a0b')](_0x120485['id'])&&_0xe1c334>=-0x1f4)return _0x8dd704;}}if(_0x1286a4[_0x1a4e('0xa69')]===Cesium[_0x1a4e('0x3a55')][_0x1a4e('0x3a56')]){var _0x5ceee9=_0x1286a4['camera'][_0x1a4e('0x3a57')](_0x5bf7dc);_0x8dd704=_0x1286a4[_0x1a4e('0x38d7')]['pick'](_0x5ceee9,_0x1286a4);}else _0x8dd704=_0x1286a4[_0x1a4e('0x3a06')][_0x1a4e('0x3a58')](_0x5bf7dc,_0x1286a4[_0x1a4e('0x38d7')][_0x1a4e('0x38dc')]);return _0x8dd704;},_0x1286a4[_0x1a4e('0xa')][_0x1a4e('0xbaa')]=function(_0x1286a4,_0x5bf7dc){if(Cesium[_0x1a4e('0x3a0b')](_0x1286a4['id'])){var _0x531584=_0x1286a4['id'];if(_0x531584[_0x1a4e('0x3a59')])return!0x1;if(_0x5bf7dc&&_0x531584==_0x5bf7dc)return!0x1;}if(Cesium[_0x1a4e('0x3a0b')](_0x1286a4[_0x1a4e('0x8f7')])){var _0x120485=_0x1286a4[_0x1a4e('0x8f7')];if(_0x120485[_0x1a4e('0x3a59')])return!0x1;if(_0x5bf7dc&&_0x120485==_0x5bf7dc)return!0x1;}return!0x0;},_0x1286a4[_0x1a4e('0xa')][_0x1a4e('0x3a5a')]=function(){var _0x1286a4=this,_0x5bf7dc=this,_0x531584=this[_0x1a4e('0x38d5')],_0x120485=new Cesium[(_0x1a4e('0x39cd'))](this['viewer']['scene'][_0x1a4e('0x3934')]);_0x120485['setInputAction'](function(_0x120485){var _0x14f8f0=_0x1286a4[_0x1a4e('0x3a54')](_0x531584[_0x1a4e('0x38d6')],_0x120485['position'],null);_0x14f8f0&&(_0x5bf7dc[_0x1a4e('0x3a44')]?_0x5bf7dc[_0x1a4e('0x3a44')]&&!_0x5bf7dc[_0x1a4e('0x3a45')]&&(_0x5bf7dc['viewPosition']=_0x14f8f0,_0x5bf7dc['_addToScene'](),_0x5bf7dc[_0x1a4e('0x3a5b')](),_0x5bf7dc[_0x1a4e('0x3a52')]&&_0x5bf7dc[_0x1a4e('0x3a52')]()):_0x5bf7dc[_0x1a4e('0x3a44')]=_0x14f8f0);},Cesium['ScreenSpaceEventType']['LEFT_CLICK']),_0x120485[_0x1a4e('0x3981')](function(_0x120485){var _0xf0af51=_0x1286a4[_0x1a4e('0x3a54')](_0x531584['scene'],_0x120485[_0x1a4e('0x34f8')],null);if(_0xf0af51){var _0x5b07ff=_0x5bf7dc[_0x1a4e('0x3a44')];_0x5b07ff&&(_0x5bf7dc[_0x1a4e('0x3a5c')]=_0x5bf7dc[_0x1a4e('0x3a5d')](_0x5b07ff,_0xf0af51),_0x5bf7dc['distance']=Number(Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x5b07ff,_0xf0af51)['toFixed'](0x1)));}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]),this['_handler']=_0x120485;},_0x1286a4[_0x1a4e('0xa')][_0x1a4e('0x3a5b')]=function(){null!=this[_0x1a4e('0x3976')]&&(this['_handler'][_0x1a4e('0x139c')](),delete this['_handler']);},_0x1286a4[_0x1a4e('0xa')][_0x1a4e('0x3a53')]=function(){this[_0x1a4e('0x3a5c')]=this[_0x1a4e('0x3a5d')](this[_0x1a4e('0x3a44')],this[_0x1a4e('0x3a45')]),this[_0x1a4e('0x3a5e')](this[_0x1a4e('0x3a44')],this[_0x1a4e('0x3a45')]),this['_addPostProcess'](),!this[_0x1a4e('0x3a5f')]&&this[_0x1a4e('0x3a60')](this[_0x1a4e('0x3a44')],this[_0x1a4e('0x3a5c')]),this['viewer']['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this);},_0x1286a4[_0x1a4e('0xa')][_0x1a4e('0x3a5e')]=function(_0x1286a4,_0x5bf7dc){var _0x531584=_0x1286a4,_0x120485=_0x5bf7dc,_0x802739=this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')],_0x4173bb=new Cesium['Camera'](_0x802739);_0x4173bb[_0x1a4e('0x3553')]=_0x531584,_0x4173bb[_0x1a4e('0x1df')]=Cesium[_0x1a4e('0x393e')]['subtract'](_0x120485,_0x531584,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0)),_0x4173bb['up']=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x531584,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0));var _0x3405e8=Number(Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x120485,_0x531584)[_0x1a4e('0x1e5')](0x1));this[_0x1a4e('0x1ed')]=_0x3405e8,_0x4173bb[_0x1a4e('0x3a51')]=new Cesium['PerspectiveFrustum']({'fov':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](this[_0x1a4e('0x3a61')]),'aspectRatio':_0x802739[_0x1a4e('0x3934')][_0x1a4e('0x3a62')]/_0x802739[_0x1a4e('0x3934')][_0x1a4e('0x3a63')],'near':0.1,'far':0x1388}),this[_0x1a4e('0x3a64')]=new Cesium[(_0x1a4e('0x3a65'))]({'lightCamera':_0x4173bb,'isPointLight':!0x1,'enabled':!0x1,'cascadesEnabled':!0x1,'context':_0x802739[_0x1a4e('0x8cb')],'pointLightRadius':_0x3405e8});},_0x1286a4[_0x1a4e('0xa')][_0x1a4e('0x3a5d')]=function(_0x1286a4,_0x5bf7dc){return this[_0x1a4e('0x3a66')]||(this[_0x1a4e('0x3a66')]=new Cesium[(_0x1a4e('0x3a67'))](this[_0x1a4e('0x38d5')]['scene'])),this[_0x1a4e('0x3a66')]['position']=_0x1286a4,this[_0x1a4e('0x3a66')][_0x1a4e('0x1df')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x5bf7dc,_0x1286a4,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0)),this[_0x1a4e('0x3a66')]['up']=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x1286a4,new Cesium['Cartesian3'](0x0,0x0,0x0)),new Cesium['HeadingPitchRoll'](this['pCamera'][_0x1a4e('0x3a68')]-Cesium['Math']['PI']/0x2,this[_0x1a4e('0x3a66')][_0x1a4e('0x3a69')],this['pCamera']['roll']);},_0x1286a4[_0x1a4e('0xa')]['_addPostProcess']=function(){var _0x1286a4=this,_0x5bf7dc=_0x1286a4[_0x1a4e('0x3a64')][_0x1a4e('0x3a6a')]?_0x1286a4['viewShadowMap'][_0x1a4e('0x3a6b')]:_0x1286a4[_0x1a4e('0x3a64')]['_primitiveBias'];this['postProcess']=this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x3a08')][_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x3a6c'))]({'fragmentShader':_0x1a4e('0x3a6d'),'uniforms':{'verticalAngle':function(){return _0x1286a4[_0x1a4e('0x3a49')];},'dis':function(){return _0x1286a4[_0x1a4e('0x1ed')];},'horizontalAngle':function(){return _0x1286a4['horizontalAngle'];},'visibleColor':function(){return _0x1286a4[_0x1a4e('0x3a4b')];},'disVisibleColor':function(){return _0x1286a4['hiddenAreaColor'];},'mixNum':function(){return _0x1286a4[_0x1a4e('0x3a4f')];},'stcshadow':function(){return _0x1286a4['viewShadowMap']['_shadowMapTexture'];},'_shadowMap_matrix':function(){return _0x1286a4[_0x1a4e('0x3a64')][_0x1a4e('0x3a6e')];},'shadowMap_lightPositionEC':function(){return _0x1286a4[_0x1a4e('0x3a64')]['_lightPositionEC'];},'shadowMap_lightDirectionEC':function(){return _0x1286a4[_0x1a4e('0x3a64')][_0x1a4e('0x3a6f')];},'shadowMap_lightUp':function(){return _0x1286a4[_0x1a4e('0x3a64')][_0x1a4e('0x3a70')]['up'];},'shadowMap_lightDir':function(){return _0x1286a4['viewShadowMap'][_0x1a4e('0x3a70')][_0x1a4e('0x1df')];},'shadowMap_lightRight':function(){return _0x1286a4[_0x1a4e('0x3a64')][_0x1a4e('0x3a70')]['right'];},'shadowMap_texelSizeDepthBiasAndNormalShadingSmooth':function(){var _0x531584=new Cesium[(_0x1a4e('0x3952'))]();return _0x531584['x']=0x1/_0x1286a4[_0x1a4e('0x3a64')][_0x1a4e('0x3a71')]['x'],_0x531584['y']=0x1/_0x1286a4['viewShadowMap'][_0x1a4e('0x3a71')]['y'],Cesium[_0x1a4e('0x3a72')][_0x1a4e('0x3a73')](_0x531584['x'],_0x531584['y'],_0x5bf7dc[_0x1a4e('0x3a74')],_0x5bf7dc['normalShadingSmooth'],this['combinedUniforms1']);},'shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness':function(){return Cesium[_0x1a4e('0x3a72')][_0x1a4e('0x3a73')](_0x5bf7dc[_0x1a4e('0x3a75')],_0x1286a4['viewShadowMap']['_distance'],_0x1286a4[_0x1a4e('0x3a64')][_0x1a4e('0x3a76')],_0x1286a4['viewShadowMap'][_0x1a4e('0x3a77')],this['combinedUniforms2']);}}}));},_0x1286a4[_0x1a4e('0xa')][_0x1a4e('0x3a78')]=function(){this[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](this[_0x1a4e('0x3a5f')]);},_0x1286a4[_0x1a4e('0xa')][_0x1a4e('0x3a79')]=function(){this[_0x1a4e('0x3a78')](),this[_0x1a4e('0x3a60')](this[_0x1a4e('0x3a44')],this[_0x1a4e('0x3a5c')]);},_0x1286a4[_0x1a4e('0xa')]['addRadar']=function(_0x1286a4,_0x5bf7dc){var _0x531584=Cesium['Transforms']['headingPitchRollQuaternion'](_0x1286a4,_0x5bf7dc);this[_0x1a4e('0x3a5f')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')]({'position':_0x1286a4,'orientation':_0x531584,'ellipsoid':{'radii':new Cesium[(_0x1a4e('0x393e'))](this['distance'],this[_0x1a4e('0x1ed')],this['distance']),'innerRadii':new Cesium[(_0x1a4e('0x393e'))](0.1,0.1,0.1),'minimumClock':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](-0x3c),'maximumClock':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](0x3c),'minimumCone':Cesium[_0x1a4e('0x1020')]['toRadians'](0x4b),'maximumCone':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](0x69),'material':Cesium['Color'][_0x1a4e('0x3a7a')]['withAlpha'](0.3),'stackPartitions':0x10,'slicePartitions':0x10,'outline':!0x0,'fill':!0x1,'outlineColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39a7')]}});},_0x1286a4[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x1286a4){this[_0x1a4e('0x3a64')]&&_0x1286a4[_0x1a4e('0x3a7b')][_0x1a4e('0x46')](this['viewShadowMap']);},_0x1286a4['prototype'][_0x1a4e('0x139c')]=function(){this[_0x1a4e('0x3a5b')](),this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3a08')]['remove'](this[_0x1a4e('0x3a7c')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this[_0x1a4e('0x3a5f')]),delete this[_0x1a4e('0x3a5f')],delete this['postProcess'],delete this[_0x1a4e('0x3a64')],delete this[_0x1a4e('0x3a49')],delete this[_0x1a4e('0x38d5')],delete this['horizontalAngle'],delete this['visibleAreaColor'],delete this[_0x1a4e('0x3a4d')],delete this[_0x1a4e('0x1ed')],delete this[_0x1a4e('0x3a5c')],delete this['cameraPosition'],delete this[_0x1a4e('0x3a45')],delete this[_0x1a4e('0x3a4f')];},Object[_0x1a4e('0x2')](_0x1286a4['prototype'],'horizontalAngle',{'get':function(){return this[_0x1a4e('0x3a61')];},'set':function(_0x1286a4){this[_0x1a4e('0x3a61')]=_0x1286a4,this[_0x1a4e('0x3a79')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1286a4[_0x1a4e('0xa')],_0x1a4e('0x3a49'),{'get':function(){return this['_verticalAngle'];},'set':function(_0x1286a4){this[_0x1a4e('0x3a48')]=_0x1286a4,this[_0x1a4e('0x3a79')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1286a4['prototype'],_0x1a4e('0x1ed'),{'get':function(){return this['_distance'];},'set':function(_0x1286a4){this[_0x1a4e('0x4b3')]=_0x1286a4,this[_0x1a4e('0x3a79')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1286a4[_0x1a4e('0xa')],_0x1a4e('0x3a4b'),{'get':function(){return this[_0x1a4e('0x3a4a')];},'set':function(_0x1286a4){this[_0x1a4e('0x3a4a')]=_0x1286a4;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1286a4[_0x1a4e('0xa')],'hiddenAreaColor',{'get':function(){return this[_0x1a4e('0x3a4c')];},'set':function(_0x1286a4){this[_0x1a4e('0x3a4c')]=_0x1286a4;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1286a4['prototype'],_0x1a4e('0x3a4f'),{'get':function(){return this[_0x1a4e('0x3a4e')];},'set':function(_0x1286a4){this[_0x1a4e('0x3a4e')]=_0x1286a4;},'enumerable':!0x0,'configurable':!0x0}),_0x1286a4;}();},'./src/Analysis/ViewshedAnalyze.ts':function(_0xd3d68d,_0x2f8d1f,_0x170c4f){'use strict';_0x170c4f['r'](_0x2f8d1f),_0x170c4f['d'](_0x2f8d1f,_0x1a4e('0x3a7d'),function(){return _0x397280;});var _0x431c01=function(_0xd3d68d){var _0x2f8d1f='function'==typeof Symbol&&_0xd3d68d[Symbol['iterator']],_0x170c4f=0x0;return _0x2f8d1f?_0x2f8d1f['call'](_0xd3d68d):{'next':function(){return _0xd3d68d&&_0x170c4f>=_0xd3d68d[_0x1a4e('0x1e')]&&(_0xd3d68d=void 0x0),{'value':_0xd3d68d&&_0xd3d68d[_0x170c4f++],'done':!_0xd3d68d};}};},_0x397280=function(){function _0xd3d68d(_0xd3d68d){this[_0x1a4e('0x38d5')]=_0xd3d68d,this['config']={'timeId':null,'cameraPosition':null,'startAnalyze':!0x1,'shadowOptions':null,'handler':null,'spotLightCamera':null,'radii':null,'heading':null,'roll':null,'pitch':null,'tempFrustum':null,'normalShaderFun':null,'normalShader':null,'lightSwitch':null,'testOn':null,'entities':[],'activeShapePoints':[],'_showDistance':!0x0,'_visibleColor':Cesium['Color'][_0x1a4e('0x3a7e')],'_inVisibleColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39ad')]},this[_0x1a4e('0x3a7f')]={'terrainShadows':this[_0x1a4e('0x38d5')][_0x1a4e('0x3a80')],'depthTestAgainstTerrain':this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')]['depthTestAgainstTerrain']};}return Object[_0x1a4e('0x2')](_0xd3d68d[_0x1a4e('0xa')],_0x1a4e('0x3a81'),{'get':function(){return this[_0x1a4e('0x1459')][_0x1a4e('0x3a82')];},'set':function(_0xd3d68d){_0xd3d68d instanceof Cesium['Color']&&(this[_0x1a4e('0x1459')][_0x1a4e('0x3a82')]=_0xd3d68d);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xd3d68d[_0x1a4e('0xa')],_0x1a4e('0x3a83'),{'get':function(){return this[_0x1a4e('0x1459')][_0x1a4e('0x3a84')];},'set':function(_0xd3d68d){_0xd3d68d instanceof Cesium[_0x1a4e('0x3947')]&&(this[_0x1a4e('0x1459')]['_inVisibleColor']=_0xd3d68d);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xd3d68d['prototype'],_0x1a4e('0x3a85'),{'get':function(){return this[_0x1a4e('0x1459')][_0x1a4e('0x3a86')];},'set':function(_0xd3d68d){this[_0x1a4e('0x1459')][_0x1a4e('0x3a86')]=_0xd3d68d;},'enumerable':!0x0,'configurable':!0x0}),_0xd3d68d['prototype'][_0x1a4e('0x12bc')]=function(){this[_0x1a4e('0x1459')][_0x1a4e('0x3a87')]||(this['close'](),this[_0x1a4e('0x38d5')][_0x1a4e('0x3a80')]=Cesium['ShadowMode']['ENABLED'],this[_0x1a4e('0x1459')][_0x1a4e('0x3a88')]=this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x3961')],this['config']['testOn'],this['_initialiseHandlers'](),this[_0x1a4e('0x1459')][_0x1a4e('0x3a87')]=!0x0);},_0xd3d68d[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){var _0xd3d68d,_0x2f8d1f;this['config'][_0x1a4e('0x3a87')]=!0x1,this[_0x1a4e('0x1459')][_0x1a4e('0x3a44')]=null,this[_0x1a4e('0x1459')][_0x1a4e('0x3a89')]&&this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x1459')][_0x1a4e('0x3a89')]),this[_0x1a4e('0x1459')][_0x1a4e('0x3a8a')]&&(this[_0x1a4e('0x1459')][_0x1a4e('0x3a8a')][_0x1a4e('0x139c')](),this[_0x1a4e('0x1459')]['handler']=null),this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3a8b')]&&(this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3a8b')][_0x1a4e('0x25e5')]=!0x1);try{for(var _0x170c4f=_0x431c01(this[_0x1a4e('0x1459')]['entities']),_0x397280=_0x170c4f[_0x1a4e('0x7e')]();!_0x397280[_0x1a4e('0x3c2')];_0x397280=_0x170c4f['next']()){var _0x377af6=_0x397280[_0x1a4e('0x255')];this[_0x1a4e('0x38d5')]['entities']['remove'](_0x377af6);}}catch(_0x40be08){_0xd3d68d={'error':_0x40be08};}finally{try{_0x397280&&!_0x397280[_0x1a4e('0x3c2')]&&(_0x2f8d1f=_0x170c4f['return'])&&_0x2f8d1f[_0x1a4e('0x1')](_0x170c4f);}finally{if(_0xd3d68d)throw _0xd3d68d[_0x1a4e('0x873')];}}this['config']['entities']=[],this[_0x1a4e('0x1459')]['activeShapePoints']=[],this[_0x1a4e('0x38d5')]['terrainShadows']=this['defaultOption']['terrainShadows'],this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]=this[_0x1a4e('0x3a7f')][_0x1a4e('0x3961')];},_0xd3d68d['prototype'][_0x1a4e('0x3a8c')]=function(){var _0xd3d68d=this;this[_0x1a4e('0x1459')][_0x1a4e('0x3a8a')]=new Cesium['ScreenSpaceEventHandler'](this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['canvas']),this[_0x1a4e('0x1459')]['handler'][_0x1a4e('0x3981')](function(_0x2f8d1f){if(_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x3a87')]&&null!=_0xd3d68d['config'][_0x1a4e('0x3a44')]){var _0x170c4f=_0xd3d68d[_0x1a4e('0x3a8d')](_0x2f8d1f[_0x1a4e('0x34f8')]);_0xd3d68d[_0x1a4e('0x3a8e')](_0x170c4f),_0xd3d68d[_0x1a4e('0x3a8f')](),_0xd3d68d[_0x1a4e('0x3a90')](),Cesium['defined'](_0x170c4f)&&(0x1!=_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x3a91')][_0x1a4e('0x1e')]&&_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x3a91')][_0x1a4e('0x76')](),_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x3a91')][_0x1a4e('0x46')](_0x170c4f));}},Cesium[_0x1a4e('0x39ce')]['MOUSE_MOVE']),this[_0x1a4e('0x1459')][_0x1a4e('0x3a8a')][_0x1a4e('0x3981')](function(_0x2f8d1f){var _0x170c4f,_0x397280;if(_0xd3d68d[_0x1a4e('0x1459')]['startAnalyze']&&null==_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x3a44')]){var _0x3833a9=_0xd3d68d[_0x1a4e('0x3a8d')](_0x2f8d1f[_0x1a4e('0x3553')]);if(_0x3833a9){try{for(var _0x3b8ae7=_0x431c01(_0xd3d68d['config'][_0x1a4e('0x38e2')]),_0x1c38be=_0x3b8ae7[_0x1a4e('0x7e')]();!_0x1c38be[_0x1a4e('0x3c2')];_0x1c38be=_0x3b8ae7[_0x1a4e('0x7e')]()){var _0x25a502=_0x1c38be[_0x1a4e('0x255')];_0xd3d68d[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](_0x25a502);}}catch(_0x43f84f){_0x170c4f={'error':_0x43f84f};}finally{try{_0x1c38be&&!_0x1c38be[_0x1a4e('0x3c2')]&&(_0x397280=_0x3b8ae7[_0x1a4e('0xe40')])&&_0x397280[_0x1a4e('0x1')](_0x3b8ae7);}finally{if(_0x170c4f)throw _0x170c4f[_0x1a4e('0x873')];}}_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x38e2')]=[],_0xd3d68d[_0x1a4e('0x1459')]['activeShapePoints']=[],_0xd3d68d[_0x1a4e('0x1459')]['cameraPosition']=_0x3833a9,_0xd3d68d[_0x1a4e('0x3a92')](_0x3833a9),_0xd3d68d[_0x1a4e('0x3a93')](_0x3833a9),_0xd3d68d[_0x1a4e('0x1459')]['activeShapePoints'][_0x1a4e('0x46')](_0x3833a9);}}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x398e')]),this['config'][_0x1a4e('0x3a8a')][_0x1a4e('0x3981')](function(_0x2f8d1f){_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x3a87')]=!_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x3a87')],_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x3a44')]=null;},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x3a94')]);},_0xd3d68d[_0x1a4e('0xa')][_0x1a4e('0x3a93')]=function(_0xd3d68d){var _0x2f8d1f=this,_0x170c4f=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x2f8d1f[_0x1a4e('0x1459')]['activeShapePoints'];},!0x1),_0x431c01=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x2f8d1f[_0x1a4e('0x1459')][_0x1a4e('0x3a91')][_0x2f8d1f[_0x1a4e('0x1459')]['activeShapePoints'][_0x1a4e('0x1e')]-0x1];},!0x1),_0x397280=new Cesium['CallbackProperty'](function(){var _0xd3d68d='';_0x2f8d1f[_0x1a4e('0x1459')]['activeShapePoints'][_0x1a4e('0x1e')]>0x1&&(_0xd3d68d='距离:'+Cesium['Cartesian3'][_0x1a4e('0x1ed')](_0x2f8d1f[_0x1a4e('0x1459')][_0x1a4e('0x3a91')][0x0],_0x2f8d1f['config']['activeShapePoints'][0x1])[_0x1a4e('0x1e5')](0x2)+'米');return _0xd3d68d;},!0x1),_0x149609=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x2f8d1f['config'][_0x1a4e('0x3a86')];},!0x1);this[_0x1a4e('0x1459')][_0x1a4e('0x38e2')][_0x1a4e('0x46')](this['viewer']['entities'][_0x1a4e('0x177')]({'position':_0xd3d68d,'point':{'pixelSize':0xc,'color':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x3a96')],'disableDepthTestDistance':Number['POSITIVE_INFINITY']}})),this[_0x1a4e('0x1459')][_0x1a4e('0x38e2')][_0x1a4e('0x46')](this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')]({'polyline':{'positions':_0x170c4f,'show':_0x149609,'width':0x2,'clampToGround':!0x1,'material':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x3a7e')],'disableDepthTestDistance':Number['POSITIVE_INFINITY'],'classificationType':Cesium['ClassificationType'][_0x1a4e('0x24a')]}})),this[_0x1a4e('0x1459')][_0x1a4e('0x38e2')][_0x1a4e('0x46')](this['viewer'][_0x1a4e('0x38e2')][_0x1a4e('0x177')]({'position':_0x431c01,'label':{'show':_0x149609,'text':_0x397280,'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](0x1e,-0x32),'scale':0.5,'font':_0x1a4e('0x3a97'),'fillColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x3a98')],'outlineColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x3a99')],'outlineWidth':0x1,'showBackground':!0x0,'backgroundColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x3a99')][_0x1a4e('0x39ae')](0.9),'backgroundPadding':new Cesium[(_0x1a4e('0x3952'))](0xa,0x6),'disableDepthTestDistance':Number[_0x1a4e('0x4d5')]}}));},_0xd3d68d[_0x1a4e('0xa')][_0x1a4e('0x3a8e')]=function(_0xd3d68d){var _0x2f8d1f=new Cesium[(_0x1a4e('0x393e'))]();Cesium[_0x1a4e('0x393e')]['subtract'](_0xd3d68d,this[_0x1a4e('0x1459')][_0x1a4e('0x3a44')],_0x2f8d1f),this[_0x1a4e('0x1459')][_0x1a4e('0x3a9a')]=Cesium[_0x1a4e('0x393e')]['magnitude'](_0x2f8d1f),Cesium['Cartesian3'][_0x1a4e('0x330')](_0x2f8d1f,_0x2f8d1f);var _0x170c4f=this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x3a9b')]['camera'],_0x431c01=_0x170c4f[_0x1a4e('0x3a68')],_0x397280=_0x170c4f[_0x1a4e('0x3a69')],_0x2b4bd5=_0x170c4f[_0x1a4e('0x3a9c')],_0x4dee94=new Cesium[(_0x1a4e('0x393e'))]();Cesium['Cartesian3'][_0x1a4e('0x240')](_0x170c4f[_0x1a4e('0x3553')],_0x4dee94);var _0x5dec30=_0x2f8d1f[_0x1a4e('0x240')](),_0x10c590=this[_0x1a4e('0x1459')][_0x1a4e('0x3a44')][_0x1a4e('0x240')]();_0x10c590=Cesium['Cartesian3']['normalize'](_0x10c590,_0x10c590),Math[_0x1a4e('0x65')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a9d')](_0x10c590,_0x5dec30))>=0x1&&(_0x10c590=Math[_0x1a4e('0x65')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a9d')](_0x5dec30,Cesium[_0x1a4e('0x393e')]['UNIT_Y']))<0x1?Cesium[_0x1a4e('0x393e')][_0x1a4e('0x240')](Cesium['Cartesian3'][_0x1a4e('0x3a9e')],_0x10c590):Cesium[_0x1a4e('0x393e')]['clone'](Cesium[_0x1a4e('0x393e')]['UNIT_Z'],_0x10c590));var _0xbb60b4=new Cesium[(_0x1a4e('0x393e'))]();Cesium['Cartesian3'][_0x1a4e('0x3a26')](_0x10c590,_0x5dec30,_0xbb60b4),_0xbb60b4=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0xbb60b4,_0xbb60b4),Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x5dec30,_0xbb60b4,_0x10c590),_0x10c590=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x10c590,_0x10c590),_0x170c4f['setView']({'destination':this['config'][_0x1a4e('0x3a44')],'orientation':{'direction':_0x5dec30,'up':_0x10c590}}),this[_0x1a4e('0x1459')][_0x1a4e('0x3a68')]=_0x170c4f[_0x1a4e('0x3a68')],this['config']['roll']=_0x170c4f[_0x1a4e('0x3a9c')],this[_0x1a4e('0x1459')]['pitch']=_0x170c4f[_0x1a4e('0x3a69')],_0x170c4f[_0x1a4e('0x3a9f')]({'destination':_0x4dee94,'orientation':{'heading':_0x431c01,'pitch':_0x397280,'roll':_0x2b4bd5}});},_0xd3d68d[_0x1a4e('0xa')][_0x1a4e('0x3a92')]=function(_0xd3d68d){this[_0x1a4e('0x1459')][_0x1a4e('0x3aa0')]=new Cesium[(_0x1a4e('0x3a67'))](this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]),this[_0x1a4e('0x1459')]['spotLightCamera']['position']=_0xd3d68d,this['config'][_0x1a4e('0x3aa0')][_0x1a4e('0x3a51')][_0x1a4e('0x3aa1')]=Cesium[_0x1a4e('0x1020')]['PI_OVER_THREE'],this[_0x1a4e('0x1459')][_0x1a4e('0x3aa0')]['frustum']['aspectRatio']=0x1,this[_0x1a4e('0x1459')][_0x1a4e('0x3aa0')][_0x1a4e('0x3a51')][_0x1a4e('0x3aa2')]=0x1,this['config'][_0x1a4e('0x3aa0')][_0x1a4e('0x3a51')]['far']=0x2,this['config'][_0x1a4e('0x3aa3')]={'context':this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x8cb')],'enabled':!0x0,'lightCamera':this[_0x1a4e('0x1459')][_0x1a4e('0x3aa0')],'maximumDistance':0x1f4,'cascadesEnabled':!0x1};var _0x2f8d1f=this;this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x3a8b')]=new Cesium[(_0x1a4e('0x3a65'))](this['config'][_0x1a4e('0x3aa3')]),null==this[_0x1a4e('0x1459')][_0x1a4e('0x3aa4')]&&(this[_0x1a4e('0x1459')]['normalShaderFun']=Cesium[_0x1a4e('0x3aa5')][_0x1a4e('0x3aa6')]),Cesium[_0x1a4e('0x3aa5')][_0x1a4e('0x3aa6')]=function(_0xd3d68d,_0x170c4f,_0x431c01,_0x397280,_0x59f850){return _0x2f8d1f[_0x1a4e('0x3aa7')](_0x2f8d1f,_0xd3d68d,_0x170c4f,_0x431c01,_0x397280,_0x59f850);};},_0xd3d68d[_0x1a4e('0xa')][_0x1a4e('0x3aa7')]=function(_0xd3d68d,_0x2f8d1f,_0x170c4f,_0x431c01,_0x397280,_0x39e01c){var _0x3009bf=_0xd3d68d[_0x1a4e('0x1459')][_0x1a4e('0x3aa4')](_0x2f8d1f,_0x170c4f,_0x431c01,_0x397280,_0x39e01c);return _0x3009bf['sources'][_0x3009bf[_0x1a4e('0x15c5')][_0x1a4e('0x1e')]-0x1]=_0x3009bf['sources'][_0x3009bf[_0x1a4e('0x15c5')][_0x1a4e('0x1e')]-0x1][_0x1a4e('0x115')](_0x1a4e('0x3aa8'),_0x1a4e('0x3aa9')),_0x3009bf;},_0xd3d68d[_0x1a4e('0xa')][_0x1a4e('0x3a8f')]=function(){this['config'][_0x1a4e('0x3a9a')]<=0x1||(this[_0x1a4e('0x1459')][_0x1a4e('0x3aa0')][_0x1a4e('0x3a51')][_0x1a4e('0x3aaa')]=this[_0x1a4e('0x1459')]['radii'],this[_0x1a4e('0x1459')][_0x1a4e('0x3aa3')][_0x1a4e('0x3a76')]=this[_0x1a4e('0x1459')][_0x1a4e('0x3a9a')],this[_0x1a4e('0x1459')][_0x1a4e('0x3aa0')][_0x1a4e('0x3a9f')]({'orientation':{'heading':this[_0x1a4e('0x1459')][_0x1a4e('0x3a68')],'pitch':this[_0x1a4e('0x1459')][_0x1a4e('0x3a69')],'roll':this[_0x1a4e('0x1459')][_0x1a4e('0x3a9c')]}}));},_0xd3d68d['prototype'][_0x1a4e('0x3a90')]=function(){var _0xd3d68d=this[_0x1a4e('0x1459')][_0x1a4e('0x3a68')]-0x64/57.29578,_0x2f8d1f=new Cesium[(_0x1a4e('0x3aab'))](_0xd3d68d,this[_0x1a4e('0x1459')][_0x1a4e('0x3a69')],this[_0x1a4e('0x1459')]['roll']),_0x170c4f=Cesium[_0x1a4e('0x3aac')][_0x1a4e('0x3aad')](_0x2f8d1f),_0x431c01=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3aaf')](_0x170c4f),_0x397280=Cesium[_0x1a4e('0x3a29')]['multiply'](Cesium['Transforms'][_0x1a4e('0x3ab0')](this[_0x1a4e('0x1459')][_0x1a4e('0x3a44')]),Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x431c01,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0)),new Cesium[(_0x1a4e('0x3a29'))]()),_0x336a84=this['_getViewShadGeometry']({'dist':this['config'][_0x1a4e('0x3a9a')]}),_0x3e7568=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x336a84,'modelMatrix':_0x397280,'attributes':{'color':Cesium['ColorGeometryInstanceAttribute']['fromColor'](Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39a7')])}}),_0x457024=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x3e7568,'asynchronous':!0x1,'appearance':new Cesium[(_0x1a4e('0x3ab2'))]({'flat':!0x0,'translucent':!0x1})});this[_0x1a4e('0x1459')][_0x1a4e('0x3a89')]&&this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x1459')][_0x1a4e('0x3a89')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](_0x457024),this[_0x1a4e('0x1459')]['tempFrustum']=_0x457024;},_0xd3d68d[_0x1a4e('0xa')][_0x1a4e('0x3a8d')]=function(_0xd3d68d){return this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['pickPosition'](_0xd3d68d);},_0xd3d68d[_0x1a4e('0xa')][_0x1a4e('0x3ab3')]=function(_0xd3d68d){_0xd3d68d=Cesium[_0x1a4e('0x3a46')](_0xd3d68d,Cesium[_0x1a4e('0x3a46')]['EMPTY_OBJECT']);var _0x2f8d1f=Cesium[_0x1a4e('0x3a46')](_0xd3d68d[_0x1a4e('0x81')],0xc8),_0x170c4f=Cesium[_0x1a4e('0x3a46')](_0xd3d68d[_0x1a4e('0x3ab4')],0x4b),_0x431c01=Cesium[_0x1a4e('0x3a46')](_0xd3d68d[_0x1a4e('0x3ab5')],0x1e),_0x397280=Cesium[_0x1a4e('0x3a46')](_0xd3d68d[_0x1a4e('0x3ab6')],0x3c),_0x14ce3c=Cesium['defaultValue'](_0xd3d68d[_0x1a4e('0x3ab7')],0x140),_0x378ba4=new Cesium[(_0x1a4e('0x393e'))](_0x2f8d1f,_0x2f8d1f,_0x2f8d1f),_0x2bc85b=Cesium[_0x1a4e('0x3ab8')][_0x1a4e('0x3ab9')](_0x378ba4),_0x2c9afc=Cesium[_0x1a4e('0x1020')]['toRadians'](_0x170c4f),_0x159018=Cesium['Math'][_0x1a4e('0x566')](_0x431c01),_0x337f81=Cesium[_0x1a4e('0x1020')]['toRadians'](_0x14ce3c),_0x2c0e8c=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x397280),_0x4f58d7=new Float64Array(0xf),_0x996d04=Cesium[_0x1a4e('0x3aba')][_0x1a4e('0x3abb')](0x5,0x14),_0x3546c7=0x0,_0x1db5be=1.1547005*_0x2f8d1f;_0x4f58d7[_0x3546c7++]=_0x1db5be*Math['cos'](_0x337f81)*Math[_0x1a4e('0x8f')](_0x2c9afc),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math[_0x1a4e('0x8f')](_0x337f81)*Math['sin'](_0x2c9afc),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math[_0x1a4e('0x90')](_0x2c9afc),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math[_0x1a4e('0x90')](_0x337f81+_0x2c0e8c)*Math[_0x1a4e('0x8f')](_0x2c9afc),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math['sin'](_0x337f81+_0x2c0e8c)*Math[_0x1a4e('0x8f')](_0x2c9afc),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math[_0x1a4e('0x90')](_0x2c9afc),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math[_0x1a4e('0x90')](_0x337f81)*Math[_0x1a4e('0x8f')](_0x2c9afc+_0x159018),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math['sin'](_0x337f81)*Math[_0x1a4e('0x8f')](_0x2c9afc+_0x159018),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math[_0x1a4e('0x90')](_0x2c9afc+_0x159018),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math['cos'](_0x337f81+_0x2c0e8c)*Math[_0x1a4e('0x8f')](_0x2c9afc+_0x159018),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math[_0x1a4e('0x8f')](_0x337f81+_0x2c0e8c)*Math[_0x1a4e('0x8f')](_0x2c9afc+_0x159018),_0x4f58d7[_0x3546c7++]=_0x1db5be*Math['cos'](_0x2c9afc+_0x159018),_0x4f58d7[_0x3546c7++]=0x0,_0x4f58d7[_0x3546c7++]=0x0,_0x4f58d7[_0x3546c7++]=0x0,_0x3546c7=0x0,_0x996d04[_0x3546c7++]=0x4,_0x996d04[_0x3546c7++]=0x0,_0x996d04[_0x3546c7++]=0x4,_0x996d04[_0x3546c7++]=0x1,_0x996d04[_0x3546c7++]=0x4,_0x996d04[_0x3546c7++]=0x2,_0x996d04[_0x3546c7++]=0x4,_0x996d04[_0x3546c7++]=0x3,_0x996d04[_0x3546c7++]=0x0,_0x996d04[_0x3546c7++]=0x1,_0x996d04[_0x3546c7++]=0x0,_0x996d04[_0x3546c7++]=0x2,_0x996d04[_0x3546c7++]=0x2,_0x996d04[_0x3546c7++]=0x3,_0x996d04[_0x3546c7++]=0x3,_0x996d04[_0x3546c7++]=0x1;var _0x25ab8f=new Cesium[(_0x1a4e('0x3abc'))]({'position':new Cesium['GeometryAttribute']({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x4f58d7})});return new Cesium[(_0x1a4e('0x3abe'))]({'attributes':_0x25ab8f,'indices':_0x996d04,'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3ac0')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3ac2')](_0x2bc85b)});},_0xd3d68d;}();},'./src/Analysis/WatchHouseAnalysis.ts':function(_0x2ff069,_0x163b34,_0x8bfa9e){'use strict';_0x8bfa9e['r'](_0x163b34),_0x8bfa9e['d'](_0x163b34,_0x1a4e('0x3922'),function(){return _0x27aa7e;});var _0x262c8e=_0x8bfa9e(_0x1a4e('0x38d1')),_0x55a065=_0x8bfa9e(_0x1a4e('0x3999')),_0x244e67=function(_0x2ff069,_0x163b34,_0x8bfa9e,_0x262c8e){return new(_0x8bfa9e||(_0x8bfa9e=Promise))(function(_0x55a065,_0x244e67){function _0x4a850c(_0x2ff069){try{_0x407ea5(_0x262c8e[_0x1a4e('0x7e')](_0x2ff069));}catch(_0x2c0134){_0x244e67(_0x2c0134);}}function _0x27aa7e(_0x2ff069){try{_0x407ea5(_0x262c8e[_0x1a4e('0x1362')](_0x2ff069));}catch(_0x1f11ac){_0x244e67(_0x1f11ac);}}function _0x407ea5(_0x2ff069){_0x2ff069[_0x1a4e('0x3c2')]?_0x55a065(_0x2ff069[_0x1a4e('0x255')]):new _0x8bfa9e(function(_0x163b34){_0x163b34(_0x2ff069['value']);})[_0x1a4e('0xdf8')](_0x4a850c,_0x27aa7e);}_0x407ea5((_0x262c8e=_0x262c8e['apply'](_0x2ff069,_0x163b34||[]))[_0x1a4e('0x7e')]());});},_0x4a850c=function(_0x2ff069,_0x163b34){var _0x8bfa9e,_0x262c8e,_0x55a065,_0x244e67,_0x4a850c={'label':0x0,'sent':function(){if(0x1&_0x55a065[0x0])throw _0x55a065[0x1];return _0x55a065[0x1];},'trys':[],'ops':[]};return _0x244e67={'next':_0x27aa7e(0x0),'throw':_0x27aa7e(0x1),'return':_0x27aa7e(0x2)},'function'==typeof Symbol&&(_0x244e67[Symbol[_0x1a4e('0x335')]]=function(){return this;}),_0x244e67;function _0x27aa7e(_0x244e67){return function(_0x27aa7e){return function(_0x244e67){if(_0x8bfa9e)throw new TypeError('Generator\x20is\x20already\x20executing.');for(;_0x4a850c;)try{if(_0x8bfa9e=0x1,_0x262c8e&&(_0x55a065=0x2&_0x244e67[0x0]?_0x262c8e[_0x1a4e('0xe40')]:_0x244e67[0x0]?_0x262c8e[_0x1a4e('0x1362')]||((_0x55a065=_0x262c8e['return'])&&_0x55a065[_0x1a4e('0x1')](_0x262c8e),0x0):_0x262c8e[_0x1a4e('0x7e')])&&!(_0x55a065=_0x55a065[_0x1a4e('0x1')](_0x262c8e,_0x244e67[0x1]))['done'])return _0x55a065;switch(_0x262c8e=0x0,_0x55a065&&(_0x244e67=[0x2&_0x244e67[0x0],_0x55a065[_0x1a4e('0x255')]]),_0x244e67[0x0]){case 0x0:case 0x1:_0x55a065=_0x244e67;break;case 0x4:return _0x4a850c[_0x1a4e('0x1bc')]++,{'value':_0x244e67[0x1],'done':!0x1};case 0x5:_0x4a850c['label']++,_0x262c8e=_0x244e67[0x1],_0x244e67=[0x0];continue;case 0x7:_0x244e67=_0x4a850c[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x4a850c[_0x1a4e('0x1669')]['pop']();continue;default:if(!(_0x55a065=(_0x55a065=_0x4a850c[_0x1a4e('0x1669')])[_0x1a4e('0x1e')]>0x0&&_0x55a065[_0x55a065[_0x1a4e('0x1e')]-0x1])&&(0x6===_0x244e67[0x0]||0x2===_0x244e67[0x0])){_0x4a850c=0x0;continue;}if(0x3===_0x244e67[0x0]&&(!_0x55a065||_0x244e67[0x1]>_0x55a065[0x0]&&_0x244e67[0x1]<_0x55a065[0x3])){_0x4a850c[_0x1a4e('0x1bc')]=_0x244e67[0x1];break;}if(0x6===_0x244e67[0x0]&&_0x4a850c[_0x1a4e('0x1bc')]<_0x55a065[0x1]){_0x4a850c['label']=_0x55a065[0x1],_0x55a065=_0x244e67;break;}if(_0x55a065&&_0x4a850c[_0x1a4e('0x1bc')]<_0x55a065[0x2]){_0x4a850c[_0x1a4e('0x1bc')]=_0x55a065[0x2],_0x4a850c[_0x1a4e('0x166a')]['push'](_0x244e67);break;}_0x55a065[0x2]&&_0x4a850c[_0x1a4e('0x166a')]['pop'](),_0x4a850c[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;}_0x244e67=_0x163b34[_0x1a4e('0x1')](_0x2ff069,_0x4a850c);}catch(_0x4ae9c2){_0x244e67=[0x6,_0x4ae9c2],_0x262c8e=0x0;}finally{_0x8bfa9e=_0x55a065=0x0;}if(0x5&_0x244e67[0x0])throw _0x244e67[0x1];return{'value':_0x244e67[0x0]?_0x244e67[0x1]:void 0x0,'done':!0x0};}([_0x244e67,_0x27aa7e]);};}},_0x27aa7e=function(){function _0x2ff069(_0x2ff069){this['viewer']=_0x2ff069,this[_0x1a4e('0x3ac3')]=[];}return _0x2ff069[_0x1a4e('0xa')]['open']=function(_0x2ff069){var _0x163b34=this;_0x2ff069['resultList'][_0x1a4e('0x3b')](function(_0x2ff069){var _0x8bfa9e=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x2ff069['x'],_0x2ff069['y']),_0x262c8e=_0x163b34['viewer']['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x38dc')][_0x1a4e('0x38dd')](_0x8bfa9e),_0x244e67=_0x163b34[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x29c')](_0x262c8e),_0x4a850c=_0x163b34['viewer']['entities'][_0x1a4e('0x177')]({'position':Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x2ff069['x'],_0x2ff069['y'],_0x244e67),'billboard':{'image':_0x55a065[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x3ac4')),'verticalOrigin':Cesium[_0x1a4e('0x3ac5')]['BOTTOM'],'width':0x1e,'height':0x1e}});_0x163b34[_0x1a4e('0x3ac3')]['push'](_0x4a850c);});var _0x8bfa9e=_0x2ff069[_0x1a4e('0x3962')];this[_0x1a4e('0x396a')]=this['viewer'][_0x1a4e('0x38e2')][_0x1a4e('0x177')]({'rectangle':{'coordinates':Cesium[_0x1a4e('0x3965')]['fromDegrees'](_0x8bfa9e[_0x1a4e('0x3966')],_0x8bfa9e[_0x1a4e('0x3967')],_0x8bfa9e[_0x1a4e('0x3968')],_0x8bfa9e[_0x1a4e('0x3969')]),'material':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39a7')][_0x1a4e('0x39ae')](0.4)}});},_0x2ff069['prototype'][_0x1a4e('0x139b')]=function(){this['rectangle']&&this[_0x1a4e('0x38d5')]['entities']['remove'](this['rectangle']);for(var _0x2ff069=this[_0x1a4e('0x3ac3')][_0x1a4e('0x1e')],_0x163b34=0x0;_0x163b34<_0x2ff069;_0x163b34++)this[_0x1a4e('0x38d5')]['entities'][_0x1a4e('0x82')](this[_0x1a4e('0x3ac3')][_0x163b34]);this['watchEntity']&&this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this['watchEntity']),this[_0x1a4e('0x396a')]=null,this['iconEntityArr']['splice'](0x0,_0x2ff069),this['watchEntity']=null;},_0x2ff069[_0x1a4e('0xa')]['openVisiblity']=function(_0x2ff069){return _0x244e67(this,void 0x0,void 0x0,function(){var _0x163b34,_0x8bfa9e,_0x55a065,_0x244e67,_0x27aa7e,_0x36701d,_0x3386f1,_0x7993a4,_0x1a836d;return _0x4a850c(this,function(_0x4a850c){for(this['viewer']['entities'][_0x1a4e('0x82')](this[_0x1a4e('0x396a')]),this['rectangle']=null,this[_0x1a4e('0x3ac6')]&&(this['viewer'][_0x1a4e('0x38e2')]['remove'](this[_0x1a4e('0x3ac6')]),this[_0x1a4e('0x3ac6')]=null),_0x163b34=_0x2ff069['gisExtent'],_0x8bfa9e=_0x2ff069['cols'],_0x55a065=_0x2ff069[_0x1a4e('0xf4')],_0x244e67=_0x2ff069['vm'],_0x27aa7e=[],_0x36701d=0x0;_0x36701d<_0x55a065;_0x36701d++)for(_0x3386f1=0x0;_0x3386f1<_0x8bfa9e;_0x3386f1++)0x1==_0x244e67[_0x36701d*_0x8bfa9e+_0x3386f1]?(_0x27aa7e['push'](0x75),_0x27aa7e[_0x1a4e('0x46')](0xbe),_0x27aa7e[_0x1a4e('0x46')](0xc1),_0x27aa7e[_0x1a4e('0x46')](0x64)):0x0==_0x244e67[_0x36701d*_0x8bfa9e+_0x3386f1]?(_0x27aa7e[_0x1a4e('0x46')](0xff),_0x27aa7e[_0x1a4e('0x46')](0x38),_0x27aa7e[_0x1a4e('0x46')](0x74),_0x27aa7e[_0x1a4e('0x46')](0x64)):(_0x27aa7e['push'](0xff),_0x27aa7e[_0x1a4e('0x46')](0x0),_0x27aa7e[_0x1a4e('0x46')](0x0),_0x27aa7e['push'](0x0));return _0x7993a4=_0x262c8e['AnalysisUtil'][_0x1a4e('0x3964')](_0x8bfa9e,_0x55a065,_0x27aa7e),_0x1a836d=new Cesium['Rectangle'](_0x163b34[_0x1a4e('0x3966')],_0x163b34[_0x1a4e('0x3967')],_0x163b34['xMax'],_0x163b34[_0x1a4e('0x3969')]),this['watchEntity']=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x262c8e[_0x1a4e('0x38e0')][_0x1a4e('0x394d')](_0x1a836d,_0x7993a4)),[0x2];});});},_0x2ff069;}();},'./src/Core/Event.ts':function(_0x28e25b,_0x29dfc7,_0x1655bf){'use strict';_0x1655bf['r'](_0x29dfc7),_0x1655bf['d'](_0x29dfc7,'Event',function(){return _0x724a96;});var _0x724a96=function(){function _0x28e25b(){}return _0x28e25b[_0x1a4e('0xa')]['on']=function(_0x28e25b,_0x29dfc7,_0x1655bf){return this[_0x1a4e('0x3ac7')](_0x28e25b,_0x29dfc7,_0x1655bf),this;},_0x28e25b[_0x1a4e('0xa')][_0x1a4e('0x3ac7')]=function(_0x28e25b,_0x29dfc7,_0x1655bf){this[_0x1a4e('0xd8b')]=this[_0x1a4e('0xd8b')]||{};var _0x724a96=this[_0x1a4e('0xd8b')][_0x28e25b];_0x724a96||(_0x724a96=[],this[_0x1a4e('0xd8b')][_0x28e25b]=_0x724a96),_0x1655bf===this&&(_0x1655bf=void 0x0);for(var _0x4bbd34={'fn':_0x29dfc7,'ctx':_0x1655bf},_0x3c1dde=_0x724a96,_0x3fdcb4=0x0,_0x15e28c=_0x3c1dde[_0x1a4e('0x1e')];_0x3fdcb4<_0x15e28c;_0x3fdcb4++)if(_0x3c1dde[_0x3fdcb4]['fn']===_0x29dfc7&&_0x3c1dde[_0x3fdcb4][_0x1a4e('0x169f')]===_0x1655bf)return;_0x3c1dde[_0x1a4e('0x46')](_0x4bbd34);},_0x28e25b[_0x1a4e('0xa')][_0x1a4e('0xda1')]=function(_0x28e25b,_0x29dfc7,_0x1655bf){_0x28e25b?this['_off'](_0x28e25b,_0x29dfc7,_0x1655bf):delete this[_0x1a4e('0xd8b')];},_0x28e25b[_0x1a4e('0xa')][_0x1a4e('0x3ac8')]=function(_0x28e25b,_0x29dfc7,_0x1655bf){if(this[_0x1a4e('0xd8b')]){var _0x724a96=this[_0x1a4e('0xd8b')][_0x28e25b];if(_0x724a96)if(_0x29dfc7){for(var _0x321560=0x0,_0x24f727=_0x724a96[_0x1a4e('0x1e')];_0x321560<_0x24f727;_0x321560++)if(_0x29dfc7===_0x724a96[_0x321560]['fn']&&_0x1655bf===_0x724a96[_0x321560][_0x1a4e('0x8cb')])return void _0x724a96[_0x1a4e('0x8a')](_0x321560,0x1);}else delete this['_events'];}},_0x28e25b[_0x1a4e('0xa')]['fire']=function(_0x28e25b,_0x29dfc7){if(!this[_0x1a4e('0x3344')](_0x28e25b))return this;if(this[_0x1a4e('0xd8b')]){var _0x1655bf=this[_0x1a4e('0xd8b')][_0x28e25b];if(_0x1655bf){this[_0x1a4e('0x3ac9')]=this[_0x1a4e('0x3ac9')]+0x1||0x1;for(var _0x724a96=0x0,_0x51a7ff=_0x1655bf['length'];_0x724a96<_0x51a7ff;_0x724a96++){var _0x5523a0=_0x1655bf[_0x724a96];_0x5523a0['fn'][_0x1a4e('0x1')](_0x5523a0[_0x1a4e('0x169f')]||this,_0x29dfc7);}this[_0x1a4e('0x3ac9')]--;}}return this;},_0x28e25b[_0x1a4e('0xa')][_0x1a4e('0x3344')]=function(_0x28e25b){var _0x29dfc7=this[_0x1a4e('0xd8b')]&&this[_0x1a4e('0xd8b')][_0x28e25b];return!!(_0x29dfc7&&_0x29dfc7[_0x1a4e('0x1e')]>0x0);},_0x28e25b;}();},'./src/Core/Item.ts':function(_0x38ecf1,_0x3015e1,_0x3917d6){'use strict';_0x3917d6['r'](_0x3015e1),_0x3917d6['d'](_0x3015e1,_0x1a4e('0x3aca'),function(){return _0xc5cab7;});var _0xc5cab7=function(){function _0x38ecf1(){}return Object[_0x1a4e('0x2')](_0x38ecf1[_0x1a4e('0xa')],_0x1a4e('0x2cb'),{'get':function(){return this[_0x1a4e('0x3d3')];},'set':function(_0x38ecf1){this['_name']=_0x38ecf1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x38ecf1[_0x1a4e('0xa')],'id',{'get':function(){return this[_0x1a4e('0x515')];},'enumerable':!0x0,'configurable':!0x0}),_0x38ecf1[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x38ecf1[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x38ecf1,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3aca');},'enumerable':!0x0,'configurable':!0x0}),_0x38ecf1[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){},_0x38ecf1[_0x1a4e('0xa')][_0x1a4e('0x3acc')]=function(_0x38ecf1){},_0x38ecf1[_0x1a4e('0xa')][_0x1a4e('0x3acd')]=function(_0x38ecf1){throw new Error(_0x1a4e('0x3ace'));},_0x38ecf1[_0x1a4e('0xa')][_0x1a4e('0x3acf')]=function(){},_0x38ecf1;}();},'./src/Core/Layer.ts':function(_0x41eb5e,_0x41bcc1,_0x275de7){'use strict';_0x275de7['r'](_0x41bcc1),_0x275de7['d'](_0x41bcc1,'Layer',function(){return _0x276a96;});var _0x5f48a7,_0x24ac33=_0x275de7(_0x1a4e('0x3ad0')),_0x41d995=(_0x5f48a7=function(_0x41eb5e,_0x41bcc1){return(_0x5f48a7=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x41eb5e,_0x41bcc1){_0x41eb5e[_0x1a4e('0x295')]=_0x41bcc1;}||function(_0x41eb5e,_0x41bcc1){for(var _0x275de7 in _0x41bcc1)_0x41bcc1[_0x1a4e('0xb')](_0x275de7)&&(_0x41eb5e[_0x275de7]=_0x41bcc1[_0x275de7]);})(_0x41eb5e,_0x41bcc1);},function(_0x41eb5e,_0x41bcc1){function _0x275de7(){this[_0x1a4e('0x10')]=_0x41eb5e;}_0x5f48a7(_0x41eb5e,_0x41bcc1),_0x41eb5e[_0x1a4e('0xa')]=null===_0x41bcc1?Object['create'](_0x41bcc1):(_0x275de7[_0x1a4e('0xa')]=_0x41bcc1['prototype'],new _0x275de7());}),_0xf3d7d9=function(_0x41eb5e){var _0x41bcc1=_0x1a4e('0x68')==typeof Symbol&&_0x41eb5e[Symbol[_0x1a4e('0x335')]],_0x275de7=0x0;return _0x41bcc1?_0x41bcc1[_0x1a4e('0x1')](_0x41eb5e):{'next':function(){return _0x41eb5e&&_0x275de7>=_0x41eb5e[_0x1a4e('0x1e')]&&(_0x41eb5e=void 0x0),{'value':_0x41eb5e&&_0x41eb5e[_0x275de7++],'done':!_0x41eb5e};}};},_0x276a96=function(_0x41eb5e){function _0x41bcc1(){var _0x41bcc1=_0x41eb5e[_0x1a4e('0x1')](this)||this;return _0x41bcc1[_0x1a4e('0x3ad1')]=[],_0x41bcc1;}return _0x41d995(_0x41bcc1,_0x41eb5e),_0x41bcc1[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x41eb5e){return this[_0x1a4e('0x3ad1')]['push'](_0x41eb5e),this['fire']('add',_0x41eb5e),_0x41eb5e;},_0x41bcc1[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x41eb5e){var _0x41bcc1=this[_0x1a4e('0x3ad2')](_0x41eb5e);if(_0x41bcc1){var _0x275de7=this[_0x1a4e('0x3ad1')][_0x1a4e('0x3e')](_0x41bcc1);return this[_0x1a4e('0x3ad1')][_0x1a4e('0x8a')](_0x275de7,0x1),this[_0x1a4e('0x3ad3')](_0x1a4e('0x82'),_0x41bcc1),_0x41bcc1;}},_0x41bcc1[_0x1a4e('0xa')][_0x1a4e('0x3ad2')]=function(_0x41eb5e){var _0x41bcc1=this['_itemList'][_0x1a4e('0xd9')](function(_0x41bcc1){if(_0x41bcc1['id']===_0x41eb5e)return!0x0;});if(_0x41bcc1[_0x1a4e('0x1e')])return _0x41bcc1[0x0];},_0x41bcc1[_0x1a4e('0xa')][_0x1a4e('0x3ad4')]=function(_0x41eb5e){var _0x41bcc1=this[_0x1a4e('0x3ad1')]['filter'](function(_0x41bcc1){if(_0x41bcc1['name']===_0x41eb5e)return!0x0;});if(_0x41bcc1[_0x1a4e('0x1e')])return _0x41bcc1[0x0];},_0x41bcc1[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x41eb5e,_0x41bcc1,_0x275de7=[];try{for(var _0x5f48a7=_0xf3d7d9(this[_0x1a4e('0x3ad1')]),_0x24ac33=_0x5f48a7[_0x1a4e('0x7e')]();!_0x24ac33[_0x1a4e('0x3c2')];_0x24ac33=_0x5f48a7[_0x1a4e('0x7e')]()){var _0x41d995=_0x24ac33[_0x1a4e('0x255')];_0x275de7[_0x1a4e('0x46')](_0x41d995[_0x1a4e('0x3acb')]());}}catch(_0x153a5a){_0x41eb5e={'error':_0x153a5a};}finally{try{_0x24ac33&&!_0x24ac33[_0x1a4e('0x3c2')]&&(_0x41bcc1=_0x5f48a7[_0x1a4e('0xe40')])&&_0x41bcc1[_0x1a4e('0x1')](_0x5f48a7);}finally{if(_0x41eb5e)throw _0x41eb5e['error'];}}return _0x275de7;},_0x41bcc1['prototype']['parseJson']=function(_0x41eb5e){},_0x41bcc1['prototype'][_0x1a4e('0x3ad5')]=function(){return this['_itemList'];},_0x41bcc1;}(_0x24ac33[_0x1a4e('0x168d')]);},'./src/Core/Register.ts':function(_0x4d5e6f,_0x168ebd){var _0x3c0c4d,_0x451c10=function(){function _0x4d5e6f(){this['_registerList']=new Map(),this[_0x1a4e('0x3ad6')]['set'](_0x3c0c4d[_0x1a4e('0x3ad7')],new Map()),this[_0x1a4e('0x3ad6')][_0x1a4e('0x17a')](_0x3c0c4d['GraphicItem'],new Map()),this[_0x1a4e('0x3ad6')][_0x1a4e('0x17a')](_0x3c0c4d[_0x1a4e('0x3ad8')],new Map()),this['_registerList']['set'](_0x3c0c4d['TileItem'],new Map()),this[_0x1a4e('0x3ad6')][_0x1a4e('0x17a')](_0x3c0c4d[_0x1a4e('0x3ad9')],new Map()),this[_0x1a4e('0x3ad6')][_0x1a4e('0x17a')](_0x3c0c4d['modelItem'],new Map()),this['_registerList'][_0x1a4e('0x17a')](_0x3c0c4d['ActionItem'],new Map());}return _0x4d5e6f[_0x1a4e('0xa')][_0x1a4e('0x3ada')]=function(_0x4d5e6f,_0x168ebd){if(_0x168ebd){var _0x3c0c4d=this[_0x1a4e('0x3ad6')][_0x1a4e('0x179')](_0x4d5e6f);if(_0x3c0c4d){var _0x451c10=_0x168ebd[_0x1a4e('0x40')];_0x451c10?_0x3c0c4d[_0x1a4e('0x179')](_0x451c10)?console[_0x1a4e('0xe3c')](_0x1a4e('0x3adb')+_0x168ebd[_0x1a4e('0x2cb')]+_0x1a4e('0x3adc')+_0x451c10+'一致的构造器'):_0x3c0c4d['set'](_0x451c10,_0x168ebd):console['warn']('注册类'+_0x168ebd[_0x1a4e('0x2cb')]+_0x1a4e('0x3add'));}else console[_0x1a4e('0xe3c')]('注册类'+_0x168ebd[_0x1a4e('0x2cb')]+'失败:无该注册类型'+_0x4d5e6f);}else console[_0x1a4e('0xe3c')](_0x1a4e('0x3ade'));},_0x4d5e6f['prototype'][_0x1a4e('0x3adf')]=function(_0x4d5e6f,_0x168ebd){var _0x3c0c4d=this[_0x1a4e('0x3ad6')][_0x1a4e('0x179')](_0x4d5e6f);if(_0x3c0c4d){if(_0x3c0c4d[_0x1a4e('0x179')](_0x168ebd))return _0x3c0c4d[_0x1a4e('0x179')](_0x168ebd);console['warn'](_0x1a4e('0x3ae0')+_0x168ebd+'类型注册构造器');}else console[_0x1a4e('0xe3c')](_0x1a4e('0x3ae0')+_0x4d5e6f+_0x1a4e('0x3ae1'));},_0x4d5e6f['prototype']['GET_REGISTER_LIST']=function(){return this[_0x1a4e('0x3ad6')];},_0x4d5e6f;}();!function(_0x4d5e6f){_0x4d5e6f['ImageItem']='ImageItem',_0x4d5e6f[_0x1a4e('0x3ad9')]=_0x1a4e('0x3ad9'),_0x4d5e6f['modelItem']='modelItem',_0x4d5e6f[_0x1a4e('0x3ae2')]='GraphicItem',_0x4d5e6f[_0x1a4e('0x3ad8')]='EfficentItem',_0x4d5e6f['TileItem']=_0x1a4e('0x3ae3'),_0x4d5e6f[_0x1a4e('0x3ae4')]=_0x1a4e('0x3ae4');}(_0x3c0c4d||(_0x3c0c4d={}));var _0x4e481b=new _0x451c10();window['GV']||(window['GV']={}),window['GV'][_0x1a4e('0x3ada')]=_0x4e481b[_0x1a4e('0x3ada')][_0x1a4e('0x945')](_0x4e481b),window['GV']['GET_CONSTRUCTOR']=_0x4e481b[_0x1a4e('0x3adf')][_0x1a4e('0x945')](_0x4e481b),window['GV']['GET_REGISTER_LIST']=_0x4e481b[_0x1a4e('0x3ae5')][_0x1a4e('0x945')](_0x4e481b),window[_0x1a4e('0x3ae6')]=function(){var _0x4d5e6f=window['GV'],_0x168ebd=window[_0x1a4e('0x3ae7')];return _0x168ebd&&_0x168ebd[_0x1a4e('0x3adf')]&&(_0x4d5e6f=window[_0x1a4e('0x3ae7')]),_0x4d5e6f;};},'./src/DePlugin/ArrayHelper.ts':function(_0x2489fd,_0x11e6b1,_0x22f1eb){'use strict';_0x22f1eb['r'](_0x11e6b1),_0x22f1eb['d'](_0x11e6b1,_0x1a4e('0x3ae8'),function(){return _0x2fb1bc;});var _0x2fb1bc=function(){function _0x2489fd(){}return _0x2489fd[_0x1a4e('0x349e')]=function(_0x2489fd,_0x11e6b1){var _0x22f1eb=_0x2489fd[_0x1a4e('0x3e')](_0x11e6b1);_0x22f1eb>-0x1&&_0x2489fd[_0x1a4e('0x8a')](_0x22f1eb,0x1);},_0x2489fd['moveItem']=function(_0x2489fd,_0x11e6b1,_0x22f1eb){return _0x2489fd[_0x11e6b1]=_0x2489fd['splice'](_0x22f1eb,0x1,_0x2489fd[_0x11e6b1])[0x0],_0x2489fd;},_0x2489fd;}();},'./src/DePlugin/Model/DePluginAttribute.ts':function(_0x3bfaa6,_0x19268e,_0x52f424){'use strict';_0x52f424['r'](_0x19268e),_0x52f424['d'](_0x19268e,_0x1a4e('0x3ae9'),function(){return _0x4cbfa0;}),_0x52f424['d'](_0x19268e,_0x1a4e('0x3aea'),function(){return _0x4c5383;});var _0x4c5383,_0x4cbfa0=function(_0x3bfaa6,_0x19268e,_0x52f424,_0x4cbfa0,_0x1b0f89,_0x4438b4){void 0x0===_0x52f424&&(_0x52f424=null),void 0x0===_0x4cbfa0&&(_0x4cbfa0=!0x1),void 0x0===_0x4438b4&&(_0x4438b4=null),this['state']=_0x4c5383[_0x1a4e('0x139b')],this[_0x1a4e('0x2cb')]=_0x3bfaa6,this['pluginConstructor']=_0x19268e,this[_0x1a4e('0x3aeb')]=_0x52f424,this[_0x1a4e('0x3aec')]=_0x4cbfa0,this[_0x1a4e('0x3aed')]=_0x1b0f89,this['position']=_0x4438b4;};!function(_0x3bfaa6){_0x3bfaa6[_0x3bfaa6[_0x1a4e('0x3a23')]=0x0]='show',_0x3bfaa6[_0x3bfaa6[_0x1a4e('0x3aee')]=0x1]='hide',_0x3bfaa6[_0x3bfaa6[_0x1a4e('0x139b')]=0x2]='close';}(_0x4c5383||(_0x4c5383={}));},'./src/DePlugin/Model/de-plugin-base.ts':function(_0x59c12f,_0x4f313a,_0x19aabd){'use strict';_0x19aabd['r'](_0x4f313a),_0x19aabd['d'](_0x4f313a,'DePluginBase',function(){return _0x23a317;});var _0x23a317=function(){function _0x59c12f(){}return _0x59c12f['prototype'][_0x1a4e('0x3aef')]=function(_0x59c12f,_0x4f313a){},_0x59c12f;}();},'./src/DePlugin/PluginManager.ts':function(_0x182f1e,_0x3bc03e,_0x1d6a9a){'use strict';_0x1d6a9a['r'](_0x3bc03e),_0x1d6a9a['d'](_0x3bc03e,_0x1a4e('0x3af0'),function(){return _0x4a462d;});var _0x508620,_0x3c6efa=_0x1d6a9a(_0x1a4e('0x3ad0')),_0x29fce0=_0x1d6a9a('./src/DePlugin/Model/DePluginAttribute.ts'),_0x1dbbcd=_0x1d6a9a(_0x1a4e('0x3af1')),_0x4b92b1=(_0x508620=function(_0x182f1e,_0x3bc03e){return(_0x508620=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x182f1e,_0x3bc03e){_0x182f1e['__proto__']=_0x3bc03e;}||function(_0x182f1e,_0x3bc03e){for(var _0x1d6a9a in _0x3bc03e)_0x3bc03e[_0x1a4e('0xb')](_0x1d6a9a)&&(_0x182f1e[_0x1d6a9a]=_0x3bc03e[_0x1d6a9a]);})(_0x182f1e,_0x3bc03e);},function(_0x182f1e,_0x3bc03e){function _0x1d6a9a(){this[_0x1a4e('0x10')]=_0x182f1e;}_0x508620(_0x182f1e,_0x3bc03e),_0x182f1e['prototype']=null===_0x3bc03e?Object[_0x1a4e('0x7')](_0x3bc03e):(_0x1d6a9a[_0x1a4e('0xa')]=_0x3bc03e['prototype'],new _0x1d6a9a());}),_0x4a462d=function(_0x182f1e){function _0x3bc03e(_0x3bc03e){var _0x1d6a9a=_0x182f1e[_0x1a4e('0x1')](this)||this;return _0x1d6a9a[_0x1a4e('0x3af2')]=[],_0x1d6a9a[_0x1a4e('0x3af3')]=[],_0x1d6a9a['leftTools']=[],_0x1d6a9a[_0x1a4e('0x3af4')]=[],_0x1d6a9a[_0x1a4e('0x3af5')]=[],_0x1d6a9a[_0x1a4e('0x3af6')]=[],_0x1d6a9a[_0x1a4e('0x38fa')]=_0x3bc03e,_0x1d6a9a;}return _0x4b92b1(_0x3bc03e,_0x182f1e),_0x3bc03e[_0x1a4e('0xa')][_0x1a4e('0x3af7')]=function(_0x182f1e){this['Tools'][_0x1a4e('0x46')](_0x182f1e),_0x182f1e[_0x1a4e('0x3553')]?'3'===_0x182f1e[_0x1a4e('0x3553')]&&this[_0x1a4e('0x3af5')][_0x1a4e('0x46')](_0x182f1e):this['leftTools']['push'](_0x182f1e);},_0x3bc03e[_0x1a4e('0xa')][_0x1a4e('0x3af8')]=function(_0x182f1e){this[_0x1a4e('0x3af3')]['push'](_0x182f1e),'图层'==_0x182f1e[_0x1a4e('0x2cb')]&&(this['showWidget'](_0x182f1e),_0x182f1e[_0x1a4e('0x3bf')][_0x1a4e('0x3aee')](),_0x182f1e['state']=_0x29fce0[_0x1a4e('0x3aea')][_0x1a4e('0x3aee')]),_0x182f1e[_0x1a4e('0x3553')]?'3'===_0x182f1e[_0x1a4e('0x3553')]&&this[_0x1a4e('0x3af6')][_0x1a4e('0x46')](_0x182f1e):this[_0x1a4e('0x3af4')]['push'](_0x182f1e);},_0x3bc03e[_0x1a4e('0xa')][_0x1a4e('0x3af9')]=function(_0x182f1e){this[_0x1a4e('0x3afa')]&&(this[_0x1a4e('0x3afa')][_0x1a4e('0x3bf')][_0x1a4e('0x139b')](),this[_0x1a4e('0x3afa')][_0x1a4e('0xa46')]=_0x29fce0['PluginState'][_0x1a4e('0x139b')]),_0x182f1e[_0x1a4e('0x3bf')]||this[_0x1a4e('0x3afb')](_0x182f1e),_0x182f1e[_0x1a4e('0x3bf')][_0x1a4e('0x3a23')](),_0x182f1e['state']=_0x29fce0['PluginState'][_0x1a4e('0x3a23')],this[_0x1a4e('0x3afa')]=_0x182f1e;},_0x3bc03e['prototype'][_0x1a4e('0x3afc')]=function(_0x182f1e){var _0x3bc03e=this;if(_0x182f1e==this[_0x1a4e('0x3afa')])return this[_0x1a4e('0x3afa')]['instance'][_0x1a4e('0x3aee')](),_0x182f1e[_0x1a4e('0xa46')]=_0x29fce0[_0x1a4e('0x3aea')]['hide'],void(this[_0x1a4e('0x3afa')]=void 0x0);this[_0x1a4e('0x3afa')]&&(this[_0x1a4e('0x3afa')][_0x1a4e('0xa46')]=_0x29fce0[_0x1a4e('0x3aea')][_0x1a4e('0x3aee')],this[_0x1a4e('0x3afa')][_0x1a4e('0x3bf')][_0x1a4e('0x3aee')]()),_0x182f1e['instance']||this[_0x1a4e('0x3afb')](_0x182f1e),setTimeout(function(){_0x182f1e[_0x1a4e('0x3bf')][_0x1a4e('0x3a23')](),_0x182f1e[_0x1a4e('0xa46')]=_0x29fce0[_0x1a4e('0x3aea')][_0x1a4e('0x3a23')],_0x3bc03e[_0x1a4e('0x3afa')]=_0x182f1e;},0x64);},_0x3bc03e[_0x1a4e('0xa')][_0x1a4e('0x3afd')]=function(_0x182f1e){var _0x3bc03e=this[_0x1a4e('0x3afe')](_0x182f1e);_0x3bc03e[_0x1a4e('0x3bf')]&&_0x3bc03e[_0x1a4e('0x3bf')][_0x1a4e('0x139b')](),_0x3bc03e[_0x1a4e('0xa46')]=_0x29fce0['PluginState']['close'],!this[_0x1a4e('0x3afa')]||_0x182f1e!=this[_0x1a4e('0x3afa')]&&_0x182f1e!=this[_0x1a4e('0x3afa')][_0x1a4e('0x3bf')]||(this[_0x1a4e('0x3afa')]=void 0x0);},_0x3bc03e[_0x1a4e('0xa')][_0x1a4e('0x3aff')]=function(_0x182f1e){var _0x3bc03e=this[_0x1a4e('0x3afe')](_0x182f1e);_0x3bc03e['instance']||this['createInstance'](_0x3bc03e),_0x3bc03e[_0x1a4e('0x3bf')][_0x1a4e('0x3a23')](),_0x3bc03e['instance'][_0x1a4e('0x3aee')](),_0x3bc03e['state']=_0x29fce0['PluginState'][_0x1a4e('0x3aee')];},_0x3bc03e['prototype'][_0x1a4e('0x3afb')]=function(_0x182f1e){_0x1a4e('0x9')==typeof _0x182f1e[_0x1a4e('0x3b00')]?_0x182f1e['instance']=new _0x1dbbcd[(_0x1a4e('0x3b01'))](_0x182f1e[_0x1a4e('0x3b00')]):_0x182f1e[_0x1a4e('0x3bf')]=new _0x182f1e[(_0x1a4e('0x3b00'))](),_0x182f1e['instance']['init'](this[_0x1a4e('0x38fa')]);},_0x3bc03e[_0x1a4e('0xa')][_0x1a4e('0x3b02')]=function(_0x182f1e){_0x182f1e[_0x1a4e('0x3bf')]||this[_0x1a4e('0x3afb')](_0x182f1e),_0x182f1e[_0x1a4e('0x3bf')][_0x1a4e('0x3a23')](),_0x182f1e[_0x1a4e('0xa46')]=_0x29fce0['PluginState'][_0x1a4e('0x3a23')];},_0x3bc03e[_0x1a4e('0xa')][_0x1a4e('0x3b03')]=function(_0x182f1e){var _0x3bc03e=this[_0x1a4e('0x3afe')](_0x182f1e);return!!this['Widgets'][_0x1a4e('0xae5')](_0x3bc03e)&&(_0x3bc03e[_0x1a4e('0x3bf')]&&_0x3bc03e['instance'][_0x1a4e('0x139b')](),_0x3bc03e['state']=_0x29fce0[_0x1a4e('0x3aea')]['close'],!0x0);},_0x3bc03e[_0x1a4e('0xa')][_0x1a4e('0x3b04')]=function(_0x182f1e){this['closeWidget'](_0x182f1e)||this['closeTool'](_0x182f1e);},_0x3bc03e['prototype'][_0x1a4e('0x3afe')]=function(_0x182f1e){if(_0x182f1e[_0x1a4e('0x3b00')])return _0x182f1e;var _0x3bc03e=this[_0x1a4e('0x3af2')][_0x1a4e('0x1c7')](function(_0x3bc03e){return _0x3bc03e[_0x1a4e('0x3bf')]==_0x182f1e;});return _0x3bc03e||this['Widgets'][_0x1a4e('0x1c7')](function(_0x3bc03e){return _0x3bc03e[_0x1a4e('0x3bf')]==_0x182f1e;});},_0x3bc03e;}(_0x3c6efa[_0x1a4e('0x168d')]);},'./src/DePlugin/PluginViewManager.ts':function(_0x5dd3bd,_0x109749,_0xcc0c96){'use strict';_0xcc0c96['r'](_0x109749),_0xcc0c96['d'](_0x109749,'DePluginViewManager',function(){return _0x125e70;});var _0x30bf99=_0xcc0c96(_0x1a4e('0x3b05')),_0x6b0b78=_0xcc0c96(_0x1a4e('0x3b06')),_0x3df4c4=(_0xcc0c96('./node_modules/zone.js/fesm2015/zone.js'),_0xcc0c96(_0x1a4e('0x3b07'))),_0x125e70=function(){function _0x5dd3bd(_0x5dd3bd,_0x109749,_0xcc0c96){this[_0x1a4e('0x3b08')]=[],this[_0x1a4e('0x38fa')]=_0x5dd3bd,this[_0x1a4e('0x3b09')]=_0x109749,this[_0x1a4e('0x3b0a')]=_0xcc0c96,this[_0x1a4e('0x3b0b')]=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3934')];}return _0x5dd3bd['prototype']['_onCanvasChange']=function(_0x5dd3bd){},_0x5dd3bd['prototype']['resetMouseBaseElement']=function(){this[_0x1a4e('0x3b0c')](this[_0x1a4e('0x3b0b')]);},_0x5dd3bd[_0x1a4e('0xa')][_0x1a4e('0x3b0c')]=function(_0x5dd3bd){this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3b0d')]=_0x5dd3bd,this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3b0e')][_0x1a4e('0x3b0f')]=new Cesium[(_0x1a4e('0x3b10'))](_0x5dd3bd),this['_onCanvasChange'](_0x5dd3bd);},_0x5dd3bd['prototype'][_0x1a4e('0x3b11')]=function(_0x5dd3bd,_0x109749,_0xcc0c96){void 0x0===_0xcc0c96&&(_0xcc0c96=!0x1);var _0x6b0b78=new _0x30bf99['DeCustomItem'](_0x5dd3bd,_0x109749,_0xcc0c96);return _0x6b0b78[_0x1a4e('0x3b12')]=_0x30bf99[_0x1a4e('0x3b13')][_0x1a4e('0x3b14')],this['comArray'][_0x1a4e('0x46')](_0x6b0b78),this['_toolContainer'][_0x1a4e('0x12c4')](_0x6b0b78[_0x1a4e('0x3b14')]),_0x6b0b78;},_0x5dd3bd[_0x1a4e('0xa')][_0x1a4e('0x3b15')]=function(_0x5dd3bd,_0x109749,_0xcc0c96,_0x3df4c4){void 0x0===_0x3df4c4&&(_0x3df4c4=!0x1);var _0x125e70=document['createElement']('div');this[_0x1a4e('0x3b09')]?this['_toolContainer']['append'](_0x125e70):document['body'][_0x1a4e('0x252')](_0x125e70);var _0x2278e3=Object(_0x6b0b78[_0x1a4e('0x1281')])({'name':_0x1a4e('0x3b16'),'entry':_0x5dd3bd,'container':_0x125e70,'props':_0xcc0c96}),_0xbcf445=new _0x30bf99[(_0x1a4e('0x3b17'))](_0x125e70,_0x109749,_0x3df4c4);return _0xbcf445[_0x1a4e('0x3b12')]=_0x30bf99[_0x1a4e('0x3b13')][_0x1a4e('0x3b18')],_0xbcf445[_0x1a4e('0x7f')]=_0x2278e3,this['comArray']['push'](_0xbcf445),_0xbcf445;},_0x5dd3bd[_0x1a4e('0xa')][_0x1a4e('0x3b19')]=function(_0x5dd3bd,_0x109749,_0xcc0c96,_0x30bf99){void 0x0===_0xcc0c96&&(_0xcc0c96=!0x1);var _0x6b0b78=this[_0x1a4e('0x3b1a')](_0x5dd3bd);_0x6b0b78['id']=_0x30bf99,Object[_0x1a4e('0x200')](_0x6b0b78[_0x1a4e('0x375c')],_0x109749),_0x6b0b78[_0x1a4e('0x375c')][_0x1a4e('0x3553')]=_0x1a4e('0x3b1b');var _0x3df4c4=this[_0x1a4e('0x3b11')](_0x6b0b78,_0x109749,_0xcc0c96);_0x3df4c4['instance']=_0x6b0b78;var _0x125e70=setInterval(function(){var _0x5dd3bd=window,_0x109749=_0x3df4c4[_0x1a4e('0x3bf')][_0x1a4e('0x375e')];_0x109749&&(clearInterval(_0x125e70),_0x109749[_0x1a4e('0x3b1c')]=_0x5dd3bd[_0x1a4e('0x3b1c')],_0x109749[_0x1a4e('0x3b1d')]=_0x5dd3bd['Cesium'],_0x5dd3bd['GV']&&(_0x109749['GV']=_0x5dd3bd['GV']));},0xa);return _0x3df4c4['instance'][_0x1a4e('0xec5')](_0x1a4e('0x7b'),function(_0x5dd3bd){_0x109749[_0x1a4e('0x3b1e')];}),_0x3df4c4;},_0x5dd3bd[_0x1a4e('0xa')][_0x1a4e('0x3b1f')]=function(_0x5dd3bd,_0x109749,_0xcc0c96,_0x30bf99){void 0x0===_0xcc0c96&&(_0xcc0c96=!0x1);var _0x6b0b78=this[_0x1a4e('0x3b20')](_0x5dd3bd,_0x109749,_0x30bf99),_0x3df4c4=this[_0x1a4e('0x3b11')](_0x6b0b78[_0x1a4e('0x26ee')],_0x109749,_0xcc0c96);_0x3df4c4[_0x1a4e('0x3bf')]=_0x6b0b78[_0x1a4e('0x375b')];var _0x125e70=setInterval(function(){var _0x5dd3bd=window,_0x109749=_0x6b0b78[_0x1a4e('0x375b')][_0x1a4e('0x375e')];_0x109749&&(clearInterval(_0x125e70),_0x109749[_0x1a4e('0x3b1c')]=_0x5dd3bd[_0x1a4e('0x3b1c')],_0x109749[_0x1a4e('0x3b1d')]=_0x5dd3bd['Cesium'],_0x5dd3bd['GV']&&(_0x109749['GV']=_0x5dd3bd['GV']));},0xa);return _0x6b0b78[_0x1a4e('0x3b21')]['onclick']=function(){_0x3df4c4['onclosed']['next']();},_0x3df4c4;},_0x5dd3bd[_0x1a4e('0xa')][_0x1a4e('0x3b20')]=function(_0x5dd3bd,_0x109749,_0xcc0c96){var _0x30bf99=document['createElement'](_0x1a4e('0x9d6'));Object[_0x1a4e('0x200')](_0x30bf99[_0x1a4e('0x375c')],_0x109749);var _0x6b0b78=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));_0x6b0b78['className']=_0x1a4e('0x10f1'),_0x30bf99[_0x1a4e('0x3158')]=_0x1a4e('0x3b22'),_0x30bf99[_0x1a4e('0x252')](_0x6b0b78);var _0x3df4c4='';_0x3df4c4+=_0x1a4e('0x3b23')+_0x109749['iconClass']+'\x22>
',_0x3df4c4+=_0x1a4e('0x3b24')+_0x109749[_0x1a4e('0x1268')]+'',_0x6b0b78[_0x1a4e('0x12ba')]=_0x3df4c4;var _0x125e70=this['createIframe'](_0x5dd3bd);_0x125e70[_0x1a4e('0x375c')]['height']=_0x1a4e('0x3b25'),_0x125e70['id']=_0xcc0c96;var _0x5c5939=document['createElement']('i');return _0x5c5939[_0x1a4e('0x3158')]=_0x1a4e('0x3b26'),_0x6b0b78[_0x1a4e('0x252')](_0x5c5939),_0x30bf99['append'](_0x125e70),{'element':_0x30bf99,'iframe':_0x125e70,'closeElement':_0x5c5939};},_0x5dd3bd[_0x1a4e('0xa')][_0x1a4e('0x3b1a')]=function(_0x5dd3bd,_0x109749){void 0x0===_0x109749&&(_0x109749='');var _0xcc0c96=document['createElement'](_0x1a4e('0x375b'));return _0xcc0c96[_0x1a4e('0x2cb')]=_0x109749,_0xcc0c96[_0x1a4e('0xe05')]=_0x5dd3bd,_0xcc0c96[_0x1a4e('0x375c')][_0x1a4e('0x3936')]=_0x1a4e('0x3b27'),_0xcc0c96[_0x1a4e('0x375c')][_0x1a4e('0x152')]='100%',_0xcc0c96[_0x1a4e('0x375c')][_0x1a4e('0x3b28')]='none',_0xcc0c96;},_0x5dd3bd[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(_0x5dd3bd){this['comArray']['includes'](_0x5dd3bd)&&(_0x3df4c4[_0x1a4e('0x3ae8')][_0x1a4e('0x349e')](this[_0x1a4e('0x3b08')],_0x5dd3bd),this[_0x1a4e('0x3b09')][_0x1a4e('0x12c5')](_0x5dd3bd[_0x1a4e('0x3b14')]),_0x5dd3bd[_0x1a4e('0x3b29')][_0x1a4e('0x7e')]());},_0x5dd3bd;}();},'./src/DePlugin/SingleDePlugin.ts':function(_0x4c9e61,_0x1c2f81,_0x10216b){'use strict';_0x10216b['r'](_0x1c2f81),_0x10216b['d'](_0x1c2f81,_0x1a4e('0x3b01'),function(){return _0x291017;});var _0x2e710d,_0x5a6a51=_0x10216b(_0x1a4e('0x3b2a')),_0x32bf11=(_0x2e710d=function(_0x4c9e61,_0x1c2f81){return(_0x2e710d=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4c9e61,_0x1c2f81){_0x4c9e61[_0x1a4e('0x295')]=_0x1c2f81;}||function(_0x4c9e61,_0x1c2f81){for(var _0x10216b in _0x1c2f81)_0x1c2f81[_0x1a4e('0xb')](_0x10216b)&&(_0x4c9e61[_0x10216b]=_0x1c2f81[_0x10216b]);})(_0x4c9e61,_0x1c2f81);},function(_0x4c9e61,_0x1c2f81){function _0x10216b(){this[_0x1a4e('0x10')]=_0x4c9e61;}_0x2e710d(_0x4c9e61,_0x1c2f81),_0x4c9e61[_0x1a4e('0xa')]=null===_0x1c2f81?Object[_0x1a4e('0x7')](_0x1c2f81):(_0x10216b[_0x1a4e('0xa')]=_0x1c2f81['prototype'],new _0x10216b());}),_0x291017=function(_0x4c9e61){function _0x1c2f81(_0x1c2f81){var _0x10216b=_0x4c9e61[_0x1a4e('0x1')](this)||this;return _0x10216b[_0x1a4e('0x3b2b')]=_0x1c2f81,_0x10216b;}return _0x32bf11(_0x1c2f81,_0x4c9e61),_0x1c2f81[_0x1a4e('0xa')]['init']=function(_0x4c9e61){this[_0x1a4e('0x38d5')]=_0x4c9e61;},_0x1c2f81[_0x1a4e('0xa')][_0x1a4e('0x3a23')]=function(_0x4c9e61){this[_0x1a4e('0x1a3')]?this[_0x1a4e('0x1a3')][_0x1a4e('0x3b2c')]=!0x0:this[_0x1a4e('0x1a3')]=window[_0x1a4e('0x3b2d')][_0x1a4e('0x3b15')](this[_0x1a4e('0x3b2b')],{'title':'','width':_0x1a4e('0x3b27'),'height':_0x1a4e('0x3b27'),'left':'0','top':'0','zIndex':'-1'},{'viewer':this[_0x1a4e('0x38d5')],'plugin':this});},_0x1c2f81[_0x1a4e('0xa')]['hide']=function(){this[_0x1a4e('0x1a3')]&&this[_0x1a4e('0x1a3')]['hide']();},_0x1c2f81[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){this[_0x1a4e('0x1a3')]&&(this[_0x1a4e('0x1a3')][_0x1a4e('0x7f')][_0x1a4e('0x1356')](),window[_0x1a4e('0x3b2d')][_0x1a4e('0x139b')](this['view']),this[_0x1a4e('0x1a3')]=void 0x0);},_0x1c2f81[_0x1a4e('0xa')][_0x1a4e('0x2f7c')]=function(){},_0x1c2f81[_0x1a4e('0xa')][_0x1a4e('0x3b2e')]=function(){},_0x1c2f81[_0x1a4e('0xa')][_0x1a4e('0x3b2f')]=function(_0x4c9e61,_0x1c2f81){},_0x1c2f81;}(_0x5a6a51['DePluginBase']);},'./src/DePlugin/model/com-item.ts':function(_0x9da1e8,_0x20bcb8,_0x5e844b){'use strict';_0x5e844b['r'](_0x20bcb8),_0x5e844b['d'](_0x20bcb8,'DeComItemBase',function(){return _0x163732;}),_0x5e844b['d'](_0x20bcb8,_0x1a4e('0x3b17'),function(){return _0x182ae7;}),_0x5e844b['d'](_0x20bcb8,_0x1a4e('0x3b13'),function(){return _0x478c33;}),_0x5e844b['d'](_0x20bcb8,_0x1a4e('0x3b30'),function(){return _0x587ef8;});var _0xf7b3b8,_0x478c33,_0x2fc502=_0x5e844b(_0x1a4e('0x3b31')),_0x1648f2=(_0xf7b3b8=function(_0x9da1e8,_0x20bcb8){return(_0xf7b3b8=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x9da1e8,_0x20bcb8){_0x9da1e8[_0x1a4e('0x295')]=_0x20bcb8;}||function(_0x9da1e8,_0x20bcb8){for(var _0x5e844b in _0x20bcb8)_0x20bcb8[_0x1a4e('0xb')](_0x5e844b)&&(_0x9da1e8[_0x5e844b]=_0x20bcb8[_0x5e844b]);})(_0x9da1e8,_0x20bcb8);},function(_0x9da1e8,_0x20bcb8){function _0x5e844b(){this['constructor']=_0x9da1e8;}_0xf7b3b8(_0x9da1e8,_0x20bcb8),_0x9da1e8[_0x1a4e('0xa')]=null===_0x20bcb8?Object[_0x1a4e('0x7')](_0x20bcb8):(_0x5e844b[_0x1a4e('0xa')]=_0x20bcb8[_0x1a4e('0xa')],new _0x5e844b());}),_0x163732=function(){function _0x9da1e8(){this[_0x1a4e('0x3b32')]=!0x1,this[_0x1a4e('0x3b33')]=!0x0,this[_0x1a4e('0x3b29')]=new _0x2fc502['Subject'](),this[_0x1a4e('0x3b34')]=new _0x2fc502[(_0x1a4e('0x140c'))]();}return Object[_0x1a4e('0x2')](_0x9da1e8['prototype'],_0x1a4e('0x3b2c'),{'get':function(){return this['_visible'];},'set':function(_0x9da1e8){this[_0x1a4e('0x3b33')]=_0x9da1e8,this[_0x1a4e('0x3b33')]&&(this['customElement'][_0x1a4e('0x375c')]['display']=_0x1a4e('0x260c'));},'enumerable':!0x0,'configurable':!0x0}),_0x9da1e8[_0x1a4e('0xa')]['close']=function(){window[_0x1a4e('0x3b2d')][_0x1a4e('0x139b')](this);},_0x9da1e8['prototype'][_0x1a4e('0x3aee')]=function(){this['visible']=!0x1,this[_0x1a4e('0x3b14')][_0x1a4e('0x375c')][_0x1a4e('0x375d')]=_0x1a4e('0x60');},_0x9da1e8;}(),_0x182ae7=function(_0x9da1e8){function _0x20bcb8(_0x20bcb8,_0x5e844b,_0xf7b3b8){void 0x0===_0xf7b3b8&&(_0xf7b3b8=!0x1);var _0x2fc502=_0x9da1e8[_0x1a4e('0x1')](this)||this;return _0x2fc502[_0x1a4e('0x3b12')]=_0x478c33[_0x1a4e('0x3b14')],_0x2fc502['customElement']=_0x20bcb8,_0x2fc502[_0x1a4e('0x3b32')]=_0xf7b3b8,_0x2fc502[_0x1a4e('0x3b35')]=_0x5e844b,_0x2fc502;}return _0x1648f2(_0x20bcb8,_0x9da1e8),_0x20bcb8;}(_0x163732);!function(_0x9da1e8){_0x9da1e8[_0x9da1e8[_0x1a4e('0x3b36')]=0x0]=_0x1a4e('0x3b36'),_0x9da1e8[_0x9da1e8[_0x1a4e('0x3b18')]=0x1]=_0x1a4e('0x3b18'),_0x9da1e8[_0x9da1e8['customElement']=0x2]=_0x1a4e('0x3b14');}(_0x478c33||(_0x478c33={}));var _0x587ef8=function(){};},'./src/DigitalCity/BuildingMesh.ts':function(_0x1ccbff,_0x471656,_0x1ea15e){'use strict';_0x1ea15e['r'](_0x471656),_0x1ea15e['d'](_0x471656,_0x1a4e('0x3b37'),function(){return _0x59544f;});var _0x4526eb=_0x1ea15e(_0x1a4e('0x3b38')),_0x34a624=function(_0x1ccbff){var _0x471656='function'==typeof Symbol&&_0x1ccbff[Symbol[_0x1a4e('0x335')]],_0x1ea15e=0x0;return _0x471656?_0x471656[_0x1a4e('0x1')](_0x1ccbff):{'next':function(){return _0x1ccbff&&_0x1ea15e>=_0x1ccbff[_0x1a4e('0x1e')]&&(_0x1ccbff=void 0x0),{'value':_0x1ccbff&&_0x1ccbff[_0x1ea15e++],'done':!_0x1ccbff};}};},_0x59544f=function(){function _0x1ccbff(_0x1ccbff,_0x471656,_0x1ea15e,_0x4526eb){var _0x34a624=this;void 0x0===_0x1ea15e&&(_0x1ea15e=0x64),void 0x0===_0x4526eb&&(_0x4526eb=_0x1a4e('0x3b39')),this['viewer']=_0x1ccbff,this[_0x1a4e('0x3b3a')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x471656[0x0][0x0]),this[_0x1a4e('0x3b3b')]=_0x1ea15e/0x3,this[_0x1a4e('0x134')]=_0x4526eb;var _0x59544f=this[_0x1a4e('0x3e0')](_0x471656);this[_0x1a4e('0x3b3c')]=this[_0x1a4e('0x3b3d')]();var _0x10b1e4=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x59544f,'appearance':this[_0x1a4e('0x3b3c')],'asynchronous':!0x0});this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x10b1e4),this[_0x1a4e('0x38d5')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](function(){_0x34a624[_0x1a4e('0x3b3c')]['material']['uniforms']['time']+=0.3;});}return _0x1ccbff[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(_0x1ccbff){var _0x471656,_0x1ea15e,_0x4526eb=[];try{for(var _0x59544f=_0x34a624(_0x1ccbff),_0x1ccf0b=_0x59544f['next']();!_0x1ccf0b[_0x1a4e('0x3c2')];_0x1ccf0b=_0x59544f['next']()){var _0x3a6b69=_0x1ccf0b[_0x1a4e('0x255')],_0x41beee=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':{'positions':_0x3a6b69},'extrudedHeight':Math[_0x1a4e('0x12e')]()*this[_0x1a4e('0x3b3b')]})});_0x4526eb[_0x1a4e('0x46')](_0x41beee);}}catch(_0x2a851b){_0x471656={'error':_0x2a851b};}finally{try{_0x1ccf0b&&!_0x1ccf0b[_0x1a4e('0x3c2')]&&(_0x1ea15e=_0x59544f[_0x1a4e('0xe40')])&&_0x1ea15e[_0x1a4e('0x1')](_0x59544f);}finally{if(_0x471656)throw _0x471656[_0x1a4e('0x873')];}}return _0x4526eb;},_0x1ccbff[_0x1a4e('0xa')][_0x1a4e('0x3b3d')]=function(){return new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium['Material']({'fabric':{'type':'Color','uniforms':{'time':0x1e,'color':_0x4526eb['RenderUtils'][_0x1a4e('0x3b40')](this[_0x1a4e('0x134')]),'minHeight':this['minHeight'],'standardHeight':this[_0x1a4e('0x3b3b')]},'source':this['getMS']()}}),'vertexShaderSource':this[_0x1a4e('0x3b41')](),'fragmentShaderSource':this[_0x1a4e('0x3b42')]()});},_0x1ccbff[_0x1a4e('0xa')][_0x1a4e('0x3b43')]=function(){return _0x1a4e('0x3b44');},_0x1ccbff[_0x1a4e('0xa')][_0x1a4e('0x3b41')]=function(){return _0x1a4e('0x3b45');},_0x1ccbff['prototype']['getFs']=function(){return _0x1a4e('0x3b46');},_0x1ccbff;}();},'./src/DigitalCity/CustomTilesetShader.ts':function(_0x4da597,_0x217765,_0x133808){'use strict';_0x133808['r'](_0x217765);var _0x4ab127=_0x1a4e('0x3b47'),_0x1c5aa1=Cesium['defaultValue'],_0x27a926=function(){function _0x4da597(_0x217765,_0x133808){void 0x0===_0x133808&&(_0x133808={}),_0x217765&&(this['vertex']=_0x1c5aa1(_0x133808[_0x1a4e('0x3b48')],_0x4ab127)[_0x1a4e('0x95')](),this[_0x1a4e('0x3b49')]=_0x1c5aa1(_0x133808[_0x1a4e('0x3b4a')],_0x4ab127)['toString'](),_0x4da597['cached'][_0x1a4e('0x17a')](_0x217765[_0x1a4e('0x15cf')],this));}return _0x4da597[_0x1a4e('0x3b4b')]={'fragmentShader':_0x1a4e('0x3b4c'),'vertexShader':_0x1a4e('0x3b4d')},_0x4da597[_0x1a4e('0x3b4e')]=new Map(),_0x4da597;}();_0x217765[_0x1a4e('0x8')]=_0x27a926;},'./src/DigitalCity/CylinderGeometry.ts':function(_0x3cca5a,_0x5ad7fe,_0x4b50c4){'use strict';_0x4b50c4['r'](_0x5ad7fe),_0x4b50c4['d'](_0x5ad7fe,_0x1a4e('0x3b4f'),function(){return _0x3a7941;});var _0x3a7941=function(){function _0x3cca5a(_0x3cca5a){this[_0x1a4e('0x3b50')]=_0x3cca5a[_0x1a4e('0x3b50')],this[_0x1a4e('0x3b51')]=_0x3cca5a[_0x1a4e('0x3b51')],this[_0x1a4e('0x3553')]=_0x3cca5a['position'],this[_0x1a4e('0x152')]=_0x3cca5a['height'],this[_0x1a4e('0x78')]=_0x3cca5a['slice'];}return _0x3cca5a['prototype']['createGeometry']=function(){var _0x3cca5a=this[_0x1a4e('0x3b52')](this['slice'],this['topRadius'],this[_0x1a4e('0x3b51')],this[_0x1a4e('0x152')]),_0x5ad7fe=this[_0x1a4e('0x3b53')](_0x3cca5a[0x0],_0x3cca5a[0x1],this['slice']);return this[_0x1a4e('0x3b54')](_0x5ad7fe[0x0],_0x5ad7fe[0x1],_0x5ad7fe[0x2]);},_0x3cca5a[_0x1a4e('0xa')][_0x1a4e('0x3b55')]=function(){return Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](this[_0x1a4e('0x3553')]['lon'],this['position'][_0x1a4e('0x1a2')],this[_0x1a4e('0x3553')]['alt']));},_0x3cca5a[_0x1a4e('0xa')]['createVertex']=function(_0x3cca5a,_0x5ad7fe,_0x4b50c4,_0x3a7941){for(var _0x4b9eb9=[],_0x3fefd1=[],_0x347554=0x168/_0x3cca5a,_0x564c98=0x0;_0x564c98<=_0x3cca5a;_0x564c98++){var _0x5dd9ce=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x347554*_0x564c98);_0x4b9eb9[_0x1a4e('0x46')](new Cesium['Cartesian3'](_0x5ad7fe*Math[_0x1a4e('0x90')](_0x5dd9ce),-_0x5ad7fe*Math[_0x1a4e('0x8f')](_0x5dd9ce),_0x3a7941)),_0x3fefd1[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393e'))](_0x4b50c4*Math[_0x1a4e('0x90')](_0x5dd9ce),-_0x4b50c4*Math[_0x1a4e('0x8f')](_0x5dd9ce),0x0));}return[_0x4b9eb9,_0x3fefd1];},_0x3cca5a[_0x1a4e('0xa')]['createGeometeryAttribute']=function(_0x3cca5a,_0x5ad7fe,_0x4b50c4){for(var _0x3a7941=[],_0x3ed10b=[],_0xa657f8=[],_0x2bee3a=0x0;_0x2bee3a<_0x3cca5a[_0x1a4e('0x1e')]-0x1;_0x2bee3a++){for(var _0x3f79c5=Cesium[_0x1a4e('0x393e')]['subtract'](_0x3cca5a[_0x2bee3a],_0x5ad7fe[_0x2bee3a],new Cesium['Cartesian3']()),_0x3ec852=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x5ad7fe[_0x2bee3a+0x1],_0x5ad7fe[_0x2bee3a],new Cesium[(_0x1a4e('0x393e'))]()),_0x33df53=Cesium[_0x1a4e('0x393e')]['normalize'](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x3ec852,_0x3f79c5,new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]()),_0x51d3d4=0x0;_0x51d3d4<0x6;_0x51d3d4++)_0xa657f8[_0x1a4e('0x46')](_0x33df53['x']),_0xa657f8['push'](_0x33df53['y']),_0xa657f8['push'](_0x33df53['z']);_0x3a7941[_0x1a4e('0x46')](_0x3cca5a[_0x2bee3a]['x']),_0x3a7941['push'](_0x3cca5a[_0x2bee3a]['y']),_0x3a7941[_0x1a4e('0x46')](_0x3cca5a[_0x2bee3a]['z']),_0x3ed10b['push'](_0x2bee3a/_0x4b50c4),_0x3ed10b[_0x1a4e('0x46')](0x0),_0x3a7941['push'](_0x5ad7fe[_0x2bee3a]['x']),_0x3a7941['push'](_0x5ad7fe[_0x2bee3a]['y']),_0x3a7941[_0x1a4e('0x46')](_0x5ad7fe[_0x2bee3a]['z']),_0x3ed10b[_0x1a4e('0x46')](_0x2bee3a/_0x4b50c4),_0x3ed10b[_0x1a4e('0x46')](0x1),_0x3a7941[_0x1a4e('0x46')](_0x5ad7fe[_0x2bee3a+0x1]['x']),_0x3a7941['push'](_0x5ad7fe[_0x2bee3a+0x1]['y']),_0x3a7941[_0x1a4e('0x46')](_0x5ad7fe[_0x2bee3a+0x1]['z']),_0x3ed10b['push']((_0x2bee3a+0x1)/_0x4b50c4),_0x3ed10b['push'](0x1),_0x3a7941[_0x1a4e('0x46')](_0x3cca5a[_0x2bee3a+0x1]['x']),_0x3a7941[_0x1a4e('0x46')](_0x3cca5a[_0x2bee3a+0x1]['y']),_0x3a7941[_0x1a4e('0x46')](_0x3cca5a[_0x2bee3a+0x1]['z']),_0x3ed10b[_0x1a4e('0x46')]((_0x2bee3a+0x1)/_0x4b50c4),_0x3ed10b[_0x1a4e('0x46')](0x0),_0x3a7941['push'](_0x3cca5a[_0x2bee3a]['x']),_0x3a7941[_0x1a4e('0x46')](_0x3cca5a[_0x2bee3a]['y']),_0x3a7941[_0x1a4e('0x46')](_0x3cca5a[_0x2bee3a]['z']),_0x3ed10b['push'](_0x2bee3a/_0x4b50c4),_0x3ed10b['push'](0x0),_0x3a7941[_0x1a4e('0x46')](_0x5ad7fe[_0x2bee3a+0x1]['x']),_0x3a7941[_0x1a4e('0x46')](_0x5ad7fe[_0x2bee3a+0x1]['y']),_0x3a7941[_0x1a4e('0x46')](_0x5ad7fe[_0x2bee3a+0x1]['z']),_0x3ed10b[_0x1a4e('0x46')]((_0x2bee3a+0x1)/_0x4b50c4),_0x3ed10b[_0x1a4e('0x46')](0x1);}return[_0x3a7941,_0x3ed10b,_0xa657f8];},_0x3cca5a[_0x1a4e('0xa')][_0x1a4e('0x3b54')]=function(_0x3cca5a,_0x5ad7fe,_0x4b50c4){var _0x3a7941=new Float64Array(_0x3cca5a),_0x564f2d=new Float32Array(_0x5ad7fe),_0x12b9c6=new Float32Array(_0x4b50c4);return new Cesium[(_0x1a4e('0x3abe'))]({'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')]['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x3a7941}),'st':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x564f2d}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0x12b9c6})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x3a7941)});},_0x3cca5a;}();},'./src/DigitalCity/DefenseEllipsoid.ts':function(_0x5da91b,_0x2f35b7,_0x1a7d3b){'use strict';_0x1a7d3b['r'](_0x2f35b7),_0x1a7d3b['d'](_0x2f35b7,_0x1a4e('0x3b5c'),function(){return _0x59bf79;});var _0x2ff94d=_0x1a7d3b(_0x1a4e('0x3b38')),_0x366282=_0x1a7d3b(_0x1a4e('0x38d0')),_0x160e88=_0x1a7d3b('./src/Utils/Util.ts'),_0x181688=function(_0x5da91b,_0x2f35b7,_0x1a7d3b,_0x2ff94d){return new(_0x1a7d3b||(_0x1a7d3b=Promise))(function(_0x366282,_0x160e88){function _0x181688(_0x5da91b){try{_0x59bf79(_0x2ff94d[_0x1a4e('0x7e')](_0x5da91b));}catch(_0x1d8fc1){_0x160e88(_0x1d8fc1);}}function _0x1c2c19(_0x5da91b){try{_0x59bf79(_0x2ff94d[_0x1a4e('0x1362')](_0x5da91b));}catch(_0x30e0f5){_0x160e88(_0x30e0f5);}}function _0x59bf79(_0x5da91b){_0x5da91b[_0x1a4e('0x3c2')]?_0x366282(_0x5da91b[_0x1a4e('0x255')]):new _0x1a7d3b(function(_0x2f35b7){_0x2f35b7(_0x5da91b['value']);})[_0x1a4e('0xdf8')](_0x181688,_0x1c2c19);}_0x59bf79((_0x2ff94d=_0x2ff94d['apply'](_0x5da91b,_0x2f35b7||[]))[_0x1a4e('0x7e')]());});},_0x1c2c19=function(_0x5da91b,_0x2f35b7){var _0x1a7d3b,_0x2ff94d,_0x366282,_0x160e88,_0x181688={'label':0x0,'sent':function(){if(0x1&_0x366282[0x0])throw _0x366282[0x1];return _0x366282[0x1];},'trys':[],'ops':[]};return _0x160e88={'next':_0x1c2c19(0x0),'throw':_0x1c2c19(0x1),'return':_0x1c2c19(0x2)},'function'==typeof Symbol&&(_0x160e88[Symbol[_0x1a4e('0x335')]]=function(){return this;}),_0x160e88;function _0x1c2c19(_0x160e88){return function(_0x1c2c19){return function(_0x160e88){if(_0x1a7d3b)throw new TypeError(_0x1a4e('0x16f8'));for(;_0x181688;)try{if(_0x1a7d3b=0x1,_0x2ff94d&&(_0x366282=0x2&_0x160e88[0x0]?_0x2ff94d[_0x1a4e('0xe40')]:_0x160e88[0x0]?_0x2ff94d[_0x1a4e('0x1362')]||((_0x366282=_0x2ff94d[_0x1a4e('0xe40')])&&_0x366282[_0x1a4e('0x1')](_0x2ff94d),0x0):_0x2ff94d['next'])&&!(_0x366282=_0x366282[_0x1a4e('0x1')](_0x2ff94d,_0x160e88[0x1]))['done'])return _0x366282;switch(_0x2ff94d=0x0,_0x366282&&(_0x160e88=[0x2&_0x160e88[0x0],_0x366282[_0x1a4e('0x255')]]),_0x160e88[0x0]){case 0x0:case 0x1:_0x366282=_0x160e88;break;case 0x4:return _0x181688[_0x1a4e('0x1bc')]++,{'value':_0x160e88[0x1],'done':!0x1};case 0x5:_0x181688[_0x1a4e('0x1bc')]++,_0x2ff94d=_0x160e88[0x1],_0x160e88=[0x0];continue;case 0x7:_0x160e88=_0x181688[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x181688[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;default:if(!(_0x366282=(_0x366282=_0x181688[_0x1a4e('0x1669')])[_0x1a4e('0x1e')]>0x0&&_0x366282[_0x366282['length']-0x1])&&(0x6===_0x160e88[0x0]||0x2===_0x160e88[0x0])){_0x181688=0x0;continue;}if(0x3===_0x160e88[0x0]&&(!_0x366282||_0x160e88[0x1]>_0x366282[0x0]&&_0x160e88[0x1]<_0x366282[0x3])){_0x181688['label']=_0x160e88[0x1];break;}if(0x6===_0x160e88[0x0]&&_0x181688['label']<_0x366282[0x1]){_0x181688[_0x1a4e('0x1bc')]=_0x366282[0x1],_0x366282=_0x160e88;break;}if(_0x366282&&_0x181688[_0x1a4e('0x1bc')]<_0x366282[0x2]){_0x181688[_0x1a4e('0x1bc')]=_0x366282[0x2],_0x181688[_0x1a4e('0x166a')]['push'](_0x160e88);break;}_0x366282[0x2]&&_0x181688['ops'][_0x1a4e('0x76')](),_0x181688[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;}_0x160e88=_0x2f35b7[_0x1a4e('0x1')](_0x5da91b,_0x181688);}catch(_0x51115f){_0x160e88=[0x6,_0x51115f],_0x2ff94d=0x0;}finally{_0x1a7d3b=_0x366282=0x0;}if(0x5&_0x160e88[0x0])throw _0x160e88[0x1];return{'value':_0x160e88[0x0]?_0x160e88[0x1]:void 0x0,'done':!0x0};}([_0x160e88,_0x1c2c19]);};}},_0x59bf79=function(){function _0x5da91b(_0x5da91b,_0x2f35b7,_0x1a7d3b,_0x2ff94d){var _0x366282=this;void 0x0===_0x1a7d3b&&(_0x1a7d3b=0x1f4),void 0x0===_0x2ff94d&&(_0x2ff94d=_0x1a4e('0x393b')),this[_0x1a4e('0x3b5d')]=_0x1a7d3b,this[_0x1a4e('0x134')]=_0x2ff94d,this[_0x1a4e('0x3553')]=_0x2f35b7,this['viewer']=_0x5da91b,this[_0x1a4e('0x129a')]=0x0,this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x38d5')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](function(){_0x366282['time']+=0.01,_0x366282[_0x1a4e('0x3b3c')]['material']['uniforms'][_0x1a4e('0x129a')]=_0x366282[_0x1a4e('0x129a')];});}return _0x5da91b[_0x1a4e('0xa')]['createPrimitive']=function(){return _0x181688(this,void 0x0,void 0x0,function(){var _0x5da91b,_0x2f35b7;return _0x1c2c19(this,function(_0x1a7d3b){return _0x5da91b=new Cesium[(_0x1a4e('0x3b5f'))]({'radii':new Cesium['Cartesian3'](this[_0x1a4e('0x3b5d')],this[_0x1a4e('0x3b5d')],this[_0x1a4e('0x3b5d')])}),_0x2f35b7=Cesium[_0x1a4e('0x3b5f')][_0x1a4e('0x3e0')](_0x5da91b),this[_0x1a4e('0x3b3c')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium['Material']({'fabric':{'uniforms':{'color':_0x2ff94d[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x134')]),'alpha':0x0,'image':_0x160e88[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x3b61')),'noiseImage':_0x160e88[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x3b62')),'time':0x0},'source':this[_0x1a4e('0x3b63')]()}}),'vertexShaderSource':this[_0x1a4e('0x3b41')](),'fragmentShaderSource':this['getFs'](),'translucent':!0x0}),this[_0x1a4e('0x8f7')]=new Cesium['Primitive']({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x2f35b7}),'appearance':this[_0x1a4e('0x3b3c')]}),this['primitive'][_0x1a4e('0x3b64')]=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x366282[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x3553')])),this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this[_0x1a4e('0x8f7')]),[0x2];});});},_0x5da91b['prototype'][_0x1a4e('0x3b63')]=function(){return _0x1a4e('0x3b65');},_0x5da91b[_0x1a4e('0xa')][_0x1a4e('0x3b41')]=function(){return _0x1a4e('0x3b66');},_0x5da91b[_0x1a4e('0xa')][_0x1a4e('0x3b42')]=function(){return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20realPos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20pos3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20pos3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(realPos.z<0.0){\x20discard;}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.normalEC\x20=\x20normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.st\x20=\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(material.diffuse\x20,\x20material.alpha);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x5da91b;}();},'./src/DigitalCity/DiffusionCircles.ts':function(_0x16f089,_0x5b8050,_0x4d7315){'use strict';_0x4d7315['r'](_0x5b8050),_0x4d7315['d'](_0x5b8050,_0x1a4e('0x3b67'),function(){return _0x23a29e;});var _0x59ada2=_0x4d7315(_0x1a4e('0x3b38')),_0x21c443=_0x4d7315(_0x1a4e('0x38d0')),_0x23a29e=function(){function _0x16f089(_0x16f089,_0x5b8050,_0x4d7315,_0x59ada2,_0x23a29e,_0xf087fd){void 0x0===_0x5b8050&&(_0x5b8050=new _0x21c443[(_0x1a4e('0x38da'))](0x0,0x0,0x0)),void 0x0===_0x4d7315&&(_0x4d7315=0x64),void 0x0===_0x59ada2&&(_0x59ada2=0x0),void 0x0===_0x23a29e&&(_0x23a29e='#FF0000'),void 0x0===_0xf087fd&&(_0xf087fd=!0x1),this[_0x1a4e('0x38fa')]=_0x16f089,this[_0x1a4e('0x3b68')]=_0x5b8050,this['_radius']=_0x4d7315,this[_0x1a4e('0x399c')]=_0x59ada2,this[_0x1a4e('0x3b69')]=_0x23a29e,this[_0x1a4e('0x3b6a')]=_0xf087fd,this['init'](),this[_0x1a4e('0x3b6b')]();}return _0x16f089['prototype']['startAnimate']=function(){var _0x16f089=this,_0x5b8050=window[_0x1a4e('0x3b6c')];new _0x5b8050[(_0x1a4e('0x3b6d'))]({'big':0x0,'small':0x0})['to']({'big':0.45,'small':0.45},0x5dc)[_0x1a4e('0x183')](0xc8)[_0x1a4e('0x3b6e')](_0x5b8050[_0x1a4e('0x3b6f')][_0x1a4e('0x3b70')][_0x1a4e('0x3b71')])[_0x1a4e('0x3b72')](function(_0x5b8050){_0x16f089['appearance'][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x3b73')]=_0x5b8050[_0x1a4e('0xdbf')],_0x16f089['appearance']['material'][_0x1a4e('0x3b74')][_0x1a4e('0x3b75')]=_0x5b8050[_0x1a4e('0x3b76')];})[_0x1a4e('0x3b77')](0x1/0x0)['start']();!function _0x16f089(){requestAnimationFrame(_0x16f089);_0x5b8050['update']();}();},_0x16f089[_0x1a4e('0xa')]['init']=function(){this[_0x1a4e('0x3e0')](),this[_0x1a4e('0x3b3d')](),this[_0x1a4e('0x3b5e')]();},_0x16f089[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(){var _0x16f089=new Cesium['CircleGeometry']({'center':_0x21c443[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x3b68')]),'radius':this['_radius'],'height':this[_0x1a4e('0x399c')]});this['geometry']=_0x16f089;},_0x16f089[_0x1a4e('0xa')]['createAppearance']=function(){var _0x16f089=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':'Color','uniforms':{'color':_0x59ada2[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this['_color']),'BigRadius':0x0,'SmallRadius':0x0},'source':this[_0x1a4e('0x3b6a')]?this['getInnerSource']():this['getOuterSource']()}})});this[_0x1a4e('0x3b3c')]=_0x16f089;},_0x16f089['prototype'][_0x1a4e('0x3b5e')]=function(){this['primitive']=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this['geometry']}),'appearance':this[_0x1a4e('0x3b3c')]}),this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this['primitive']);},_0x16f089['prototype'][_0x1a4e('0x3b78')]=function(){return _0x1a4e('0x3b79');},_0x16f089['prototype']['getOuterSource']=function(){return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20vec4(1.0,\x200.0,\x200.0,1.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20distColor\x20=\x20vec3(1.0,\x200.0,\x200.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dist\x20=\x20distance(vec2(0.5,0.5),\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dist\x20<\x20BigRadius){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color\x20=\x20vec4(distColor\x20*\x20100.0,\x20dist\x20-\x200.1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color\x20=\x20vec4(distColor,\x200.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20color.a\x20*\x202.2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x16f089[_0x1a4e('0xa')]['clear']=function(){this[_0x1a4e('0x8f7')]&&(this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x8f7')]),this[_0x1a4e('0x8f7')]=null);},_0x16f089;}();},'./src/DigitalCity/FlowLine.ts':function(_0x203f71,_0x164615,_0x1f542f){'use strict';_0x1f542f['r'](_0x164615),_0x1f542f['d'](_0x164615,_0x1a4e('0x3b7a'),function(){return _0x532281;}),_0x1f542f['d'](_0x164615,_0x1a4e('0x3b7b'),function(){return _0x586f4e;});var _0x3a8346=_0x1f542f(_0x1a4e('0x3999')),_0x532281=function(){function _0x203f71(_0x203f71,_0x164615){var _0x1f542f=this;this[_0x1a4e('0x38d5')]=_0x203f71,this['lineAppearance']=this[_0x1a4e('0x3b7c')]();var _0x3a8346=_0x164615[_0x1a4e('0x3b7d')],_0x532281=_0x164615[_0x1a4e('0x3b7e')];this[_0x1a4e('0x7')](_0x3a8346,_0x532281),this['viewer'][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](function(){_0x1f542f[_0x1a4e('0x3b7f')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x129a')]+=0.01;});}return _0x203f71[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x203f71,_0x164615){var _0x1f542f=this,_0x3a8346=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x203f71['lon'],_0x203f71[_0x1a4e('0x1a2')],_0x203f71[_0x1a4e('0x398c')]),_0x532281=[];_0x164615[_0x1a4e('0x21')](function(_0x203f71){var _0x164615=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x203f71['lon'],_0x203f71[_0x1a4e('0x1a2')],0x0),_0x586f4e=_0x1f542f[_0x1a4e('0x3b80')](_0x3a8346,_0x164615),_0x6df4c2=_0x1f542f[_0x1a4e('0x3afb')](_0x586f4e);_0x532281[_0x1a4e('0x46')](_0x6df4c2);}),this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x532281,'appearance':this['lineAppearance'],'asynchronous':!0x0}));},_0x203f71[_0x1a4e('0xa')][_0x1a4e('0x3b7c')]=function(){return new Cesium[(_0x1a4e('0x3b81'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'image':_0x3a8346[_0x1a4e('0x39a0')]['formatUrlByBaseJs'](_0x1a4e('0x3b82')),'time':0x0},'source':this['getFlowLineSource']()}})});},_0x203f71[_0x1a4e('0xa')][_0x1a4e('0x3b83')]=function(){return'czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texture2D(image,vec2(fract(st.s\x20-\x20time),\x20st.t));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=color.a;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20pow(color.rgb,vec3(1.6));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20';},_0x203f71['prototype'][_0x1a4e('0x3afb')]=function(_0x203f71){return new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium['PolylineGeometry']({'positions':_0x203f71,'width':0xa})});},_0x203f71['prototype'][_0x1a4e('0x3b80')]=function(_0x203f71,_0x164615){var _0x1f542f=new Cesium[(_0x1a4e('0x393e'))]();Cesium['Cartesian3']['add'](_0x203f71,_0x164615,_0x1f542f);var _0x3a8346=new Cesium[(_0x1a4e('0x393e'))]();Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3b84')](_0x1f542f,0x2,_0x3a8346);var _0x532281=Cesium['Cartographic']['fromCartesian'](_0x3a8346);_0x532281[_0x1a4e('0x152')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x203f71,_0x164615)/0x2;var _0x586f4e=new Cesium[(_0x1a4e('0x393e'))]();Cesium['Ellipsoid'][_0x1a4e('0x3b85')][_0x1a4e('0x3b86')](_0x532281,_0x586f4e);for(var _0x1cec37=new Cesium['CatmullRomSpline']({'times':[0x0,0.5,0x1],'points':[_0x203f71,_0x586f4e,_0x164615]}),_0x20ef1d=[],_0x4852a0=0x0;_0x4852a0<0xc8;_0x4852a0++)_0x20ef1d['push'](_0x1cec37[_0x1a4e('0x10cb')](_0x4852a0/0xc8));return _0x20ef1d;},_0x203f71;}(),_0x586f4e=function(){};},'./src/DigitalCity/FlowTube.ts':function(_0x4522aa,_0x4c6dbd,_0x5f3a59){'use strict';_0x5f3a59['r'](_0x4c6dbd),_0x5f3a59['d'](_0x4c6dbd,_0x1a4e('0x3b87'),function(){return _0x58d42d;}),_0x5f3a59['d'](_0x4c6dbd,_0x1a4e('0x3b88'),function(){return _0x43eaea;});var _0x4a684b=_0x5f3a59(_0x1a4e('0x38d0')),_0x1f910c=_0x5f3a59(_0x1a4e('0x3999')),_0x3de243=function(_0x4522aa,_0x4c6dbd){var _0x5f3a59='function'==typeof Symbol&&_0x4522aa[Symbol['iterator']];if(!_0x5f3a59)return _0x4522aa;var _0x4a684b,_0x1f910c,_0x3de243=_0x5f3a59[_0x1a4e('0x1')](_0x4522aa),_0x54f467=[];try{for(;(void 0x0===_0x4c6dbd||_0x4c6dbd-->0x0)&&!(_0x4a684b=_0x3de243[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x54f467['push'](_0x4a684b[_0x1a4e('0x255')]);}catch(_0x32ce1d){_0x1f910c={'error':_0x32ce1d};}finally{try{_0x4a684b&&!_0x4a684b[_0x1a4e('0x3c2')]&&(_0x5f3a59=_0x3de243[_0x1a4e('0xe40')])&&_0x5f3a59[_0x1a4e('0x1')](_0x3de243);}finally{if(_0x1f910c)throw _0x1f910c[_0x1a4e('0x873')];}}return _0x54f467;},_0x54f467=function(){for(var _0x4522aa=[],_0x4c6dbd=0x0;_0x4c6dbd0x0&&0x0===_0x2579a5['x']||0x0===this[_0x1a4e('0x3c26')]['x']&&_0x2579a5['x']>0x0,this[_0x1a4e('0x3c4a')]=this[_0x1a4e('0x3c4a')]||this[_0x1a4e('0x3c26')]['y']>0x0&&0x0===_0x2579a5['y']||0x0===this[_0x1a4e('0x3c26')]['y']&&_0x2579a5['y']>0x0,_0x9cc4b1[_0x1a4e('0x240')](_0x2579a5,this['_imageBasedLightingFactor']));}},'lightColor':{'get':function(){return this[_0x1a4e('0x3c28')];},'set':function(_0x2579a5){var _0x3c0d68=this[_0x1a4e('0x3c28')];_0x2579a5===_0x3c0d68||_0x1e69d3[_0x1a4e('0x23e')](_0x2579a5,_0x3c0d68)||(this[_0x1a4e('0x3c4a')]=this[_0x1a4e('0x3c4a')]||_0xb326f5(_0x3c0d68)&&!_0xb326f5(_0x2579a5)||_0xb326f5(_0x2579a5)&&!_0xb326f5(_0x3c0d68),this[_0x1a4e('0x3c28')]=_0x1e69d3[_0x1a4e('0x240')](_0x2579a5,_0x3c0d68));}},'luminanceAtZenith':{'get':function(){return this[_0x1a4e('0x3c29')];},'set':function(_0x2579a5){var _0x3c0d68=this[_0x1a4e('0x3c29')];_0x2579a5!==_0x3c0d68&&(this['_shouldRegenerateShaders']=this[_0x1a4e('0x3c4a')]||_0xb326f5(_0x3c0d68)&&!_0xb326f5(_0x2579a5)||_0xb326f5(_0x2579a5)&&!_0xb326f5(_0x3c0d68),this[_0x1a4e('0x3c29')]=_0x2579a5);}},'sphericalHarmonicCoefficients':{'get':function(){return this[_0x1a4e('0x3c2b')];},'set':function(_0x2579a5){if(_0xb326f5(_0x2579a5)&&(!Array['isArray'](_0x2579a5)||0x9!==_0x2579a5['length']))throw new _0x5cdcca(_0x1a4e('0x3c4b'));_0x2579a5!==this[_0x1a4e('0x3c2b')]&&(this['_sphericalHarmonicCoefficients']=_0x2579a5,this[_0x1a4e('0x3c4a')]=!0x0);}},'specularEnvironmentMaps':{'get':function(){return this['_specularEnvironmentMaps'];},'set':function(_0x2579a5){this[_0x1a4e('0x3c2e')]=this[_0x1a4e('0x3c2e')]||_0x2579a5!==this[_0x1a4e('0x3c2d')],this[_0x1a4e('0x3c2d')]=_0x2579a5;}},'credit':{'get':function(){return this[_0x1a4e('0x3bd3')];}}}),_0x1efb48['silhouetteSupported']=function(_0x2579a5){return _0x11bb81(_0x2579a5[_0x1a4e('0x8cb')]);},_0x1efb48['fromGltf']=function(_0x2579a5){if(!_0xb326f5(_0x2579a5)||!_0xb326f5(_0x2579a5[_0x1a4e('0x15cf')]))throw new _0x5cdcca('options.url\x20is\x20required');var _0x3c0d68=_0x2579a5[_0x1a4e('0x15cf')];_0x2579a5=_0xa5de7a(_0x2579a5);var _0x27dd41=_0xb0201[_0x1a4e('0x3bd1')](_0x3c0d68),_0x1244a5=_0x1c717e(_0x2579a5[_0x1a4e('0x3bd0')],_0x27dd41[_0x1a4e('0x240')]()),_0x5afd64=_0xb0201[_0x1a4e('0x3bd1')](_0x1244a5),_0x9cc4b1=_0x1c717e(_0x2579a5[_0x1a4e('0x3bcc')],_0x106a8c[_0x2984d4(_0x27dd41['url'])]);_0xb326f5(_0x9cc4b1)||(_0x9cc4b1=_0x520ffa(),_0x106a8c[_0x2984d4(_0x27dd41[_0x1a4e('0x15cf')])]=_0x9cc4b1),_0xb326f5(_0x2579a5[_0x1a4e('0x3bd0')])&&!_0xb326f5(_0x2579a5['cacheKey'])&&(_0x9cc4b1+=_0x5afd64[_0x1a4e('0x15cf')]),_0x2579a5[_0x1a4e('0x3bcc')]=_0x9cc4b1,_0x2579a5[_0x1a4e('0x3bd0')]=_0x5afd64;var _0x1e69d3=new _0x1efb48(_0x2579a5),_0x27566f=_0x238f1f[_0x9cc4b1];return _0xb326f5(_0x27566f)?_0x27566f['ready']||(++_0x27566f[_0x1a4e('0x389')],_0x27566f[_0x1a4e('0x3bc8')]['push'](_0x1e69d3)):((_0x27566f=new _0x5e880d({'ready':!0x1}))[_0x1a4e('0x389')]=0x1,_0x27566f[_0x1a4e('0x3bc8')][_0x1a4e('0x46')](_0x1e69d3),_0x339897(_0x1e69d3,_0x27566f),_0x238f1f[_0x9cc4b1]=_0x27566f,_0xb326f5(_0x27dd41[_0x1a4e('0x3c4c')]['Accept'])||(_0x27dd41['headers'][_0x1a4e('0x3c4d')]=_0x1a4e('0x3c4e')),_0x27dd41[_0x1a4e('0x3c4f')]()[_0x1a4e('0xdf8')](function(_0x2579a5){var _0x3c0d68=new Uint8Array(_0x2579a5);if('glTF'===_0x4b17f5(_0x3c0d68)){var _0x1244a5=_0x5f1854(_0x3c0d68);_0x27566f[_0x1a4e('0x3bc9')](_0x1244a5);}else{var _0x5afd64=_0x3bace5(_0x3c0d68);_0x27566f['makeReady'](JSON[_0x1a4e('0x25a')](_0x5afd64));}var _0x9cc4b1=_0x1e69d3['_resourceCredits'],_0x74f4c5=_0x27dd41['credits'];if(_0xb326f5(_0x74f4c5))for(var _0x508ecf=_0x74f4c5[_0x1a4e('0x1e')],_0xa5de7a=0x0;_0xa5de7a<_0x508ecf;_0xa5de7a++)_0x9cc4b1[_0x1a4e('0x46')](_0x74f4c5[_0xa5de7a]);})['otherwise'](_0x4eeb99[_0x1a4e('0x3c50')](_0x1e69d3,_0x1a4e('0x3c51'),_0x27dd41[_0x1a4e('0x15cf')]))),_0x1e69d3;},_0x1efb48[_0x1a4e('0x3c52')]=_0x238f1f,_0x1efb48[_0x1a4e('0xa')][_0x1a4e('0x1cd')]=function(_0x2579a5){var _0x3c0d68=_0x1d6644(this,_0x1a4e('0x3c53'),_0x2579a5);return _0xb326f5(_0x3c0d68)?_0x3c0d68[_0x1a4e('0x3c54')]:void 0x0;},_0x1efb48[_0x1a4e('0xa')][_0x1a4e('0x3c55')]=function(_0x2579a5){return _0x1d6644(this,_0x1a4e('0x3c56'),_0x2579a5);},_0x1efb48[_0x1a4e('0xa')][_0x1a4e('0x3c57')]=function(_0x2579a5){return _0x1d6644(this,'materialsByName',_0x2579a5);},_0x1efb48[_0x1a4e('0xa')][_0x1a4e('0x3c58')]=function(_0x2579a5,_0x3c0d68){_0x508ecf[_0x1a4e('0x3c45')][_0x1a4e('0x3d')]('value',_0x3c0d68);var _0x27dd41=_0x1d6644(this,'stagesByKey',_0x2579a5),_0x1244a5=_0x1d6644(this,_0x1a4e('0x3c59'),_0x2579a5);_0xb326f5(_0x27dd41)&&_0xb326f5(_0x1244a5)&&(_0x3c0d68=_0x504fda[_0x1a4e('0x24e')](_0x3c0d68,_0x27dd41[_0x1a4e('0x3c5a')],_0x27dd41['maximumValue']),_0x504fda['equalsEpsilon'](_0x27dd41['currentValue'],_0x3c0d68,_0x12cc3c)||(_0x27dd41[_0x1a4e('0x3c5b')]=_0x3c0d68,_0x1244a5[_0x1a4e('0x3c5c')]=!0x0));};var _0x4bcbfa=new _0x1e69d3(),_0x5f10fe=new _0x332591();function _0x1e1001(_0x2579a5,_0x3c0d68){_0x508ecf[_0x1a4e('0x3c45')][_0x1a4e('0x85')]('stage',_0x2579a5),_0x508ecf[_0x1a4e('0x3c45')][_0x1a4e('0x85')](_0x1a4e('0x13f'),_0x3c0d68);var _0x27dd41,_0x1244a5=_0x2579a5[_0x1a4e('0x3c5b')],_0x5afd64=_0x4bcbfa;switch(_0x2579a5['type']){case _0x1a4e('0x3c5d'):_0x27dd41=_0x332591[_0x1a4e('0x3c5e')](_0x504fda['toRadians'](_0x1244a5),_0x5f10fe),_0x193920[_0x1a4e('0x3c5f')](_0x3c0d68,_0x27dd41,_0x3c0d68);break;case'yRotate':_0x27dd41=_0x332591[_0x1a4e('0x3c60')](_0x504fda[_0x1a4e('0x566')](_0x1244a5),_0x5f10fe),_0x193920[_0x1a4e('0x3c5f')](_0x3c0d68,_0x27dd41,_0x3c0d68);break;case _0x1a4e('0x3c61'):_0x27dd41=_0x332591[_0x1a4e('0x3c62')](_0x504fda[_0x1a4e('0x566')](_0x1244a5),_0x5f10fe),_0x193920['multiplyByMatrix3'](_0x3c0d68,_0x27dd41,_0x3c0d68);break;case _0x1a4e('0x3c63'):_0x5afd64['x']=_0x1244a5,_0x5afd64['y']=0x0,_0x5afd64['z']=0x0,_0x193920['multiplyByTranslation'](_0x3c0d68,_0x5afd64,_0x3c0d68);break;case'yTranslate':_0x5afd64['x']=0x0,_0x5afd64['y']=_0x1244a5,_0x5afd64['z']=0x0,_0x193920[_0x1a4e('0x3c64')](_0x3c0d68,_0x5afd64,_0x3c0d68);break;case _0x1a4e('0x3c65'):_0x5afd64['x']=0x0,_0x5afd64['y']=0x0,_0x5afd64['z']=_0x1244a5,_0x193920[_0x1a4e('0x3c64')](_0x3c0d68,_0x5afd64,_0x3c0d68);break;case'xScale':_0x5afd64['x']=_0x1244a5,_0x5afd64['y']=0x1,_0x5afd64['z']=0x1,_0x193920[_0x1a4e('0x3c66')](_0x3c0d68,_0x5afd64,_0x3c0d68);break;case _0x1a4e('0x3c67'):_0x5afd64['x']=0x1,_0x5afd64['y']=_0x1244a5,_0x5afd64['z']=0x1,_0x193920[_0x1a4e('0x3c66')](_0x3c0d68,_0x5afd64,_0x3c0d68);break;case _0x1a4e('0x3c68'):_0x5afd64['x']=0x1,_0x5afd64['y']=0x1,_0x5afd64['z']=_0x1244a5,_0x193920[_0x1a4e('0x3c66')](_0x3c0d68,_0x5afd64,_0x3c0d68);break;case _0x1a4e('0x3c69'):_0x193920[_0x1a4e('0x3c6a')](_0x3c0d68,_0x1244a5,_0x3c0d68);}return _0x3c0d68;}var _0x107b09=new _0x193920();function _0x244761(_0x2579a5,_0x3c0d68){return function(_0x27dd41){var _0x1244a5=_0x2579a5[_0x1a4e('0x3c11')],_0x5afd64=new Uint8Array(_0x27dd41);--_0x1244a5[_0x1a4e('0x3c6b')],_0x2579a5['gltf'][_0x1a4e('0x3c6c')][_0x3c0d68][_0x1a4e('0x3c6d')]['_pipeline'][_0x1a4e('0xfaa')]=_0x5afd64;};}function _0x314d05(_0x2579a5,_0x3c0d68){return function(_0x27dd41){var _0x1244a5=_0x2579a5[_0x1a4e('0x3c11')];--_0x1244a5[_0x1a4e('0x3c3a')],_0x1244a5[_0x1a4e('0x3c6e')]['enqueue']({'id':_0x3c0d68,'image':_0x27dd41,'bufferView':_0x27dd41[_0x1a4e('0x3c6f')],'width':_0x27dd41['width'],'height':_0x27dd41['height'],'internalFormat':_0x27dd41['internalFormat']});};}_0x1efb48[_0x1a4e('0xa')]['applyArticulations']=function(){var _0x2579a5=this['_runtime'][_0x1a4e('0x3c70')];for(var _0x3c0d68 in _0x2579a5)if(_0x2579a5[_0x1a4e('0xb')](_0x3c0d68)){var _0x27dd41=_0x2579a5[_0x3c0d68];if(_0x27dd41[_0x1a4e('0x3c5c')]){_0x27dd41[_0x1a4e('0x3c5c')]=!0x1;for(var _0x1244a5=_0x27dd41[_0x1a4e('0x11d')][_0x1a4e('0x1e')],_0x5afd64=0x0;_0x5afd64<_0x1244a5;++_0x5afd64){for(var _0x9cc4b1=_0x27dd41[_0x1a4e('0x11d')][_0x5afd64],_0x1e69d3=_0x193920[_0x1a4e('0x240')](_0x9cc4b1['originalMatrix'],_0x107b09),_0x27566f=_0x27dd41[_0x1a4e('0x3c71')][_0x1a4e('0x1e')],_0x74f4c5=0x0;_0x74f4c5<_0x27566f;++_0x74f4c5){_0x1e69d3=_0x1e1001(_0x27dd41['stages'][_0x74f4c5],_0x1e69d3);}_0x9cc4b1[_0x1a4e('0x3c72')]=_0x1e69d3;}}}};var _0x57d4bf=/(^data:image\/ktx)|(\.ktx$)/i,_0x3ed296=/(^data:image\/crn)|(\.crn$)/i;var _0x466ef6=new _0x193920();var _0x5cf673=function(){this['id']=void 0x0,this[_0x1a4e('0x3c51')]=void 0x0,this[_0x1a4e('0x8cb')]=void 0x0;};function _0x448848(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=_0x3c0d68[_0x1a4e('0x3c11')],_0x5afd64=_0x3c0d68[_0x1a4e('0x3bca')][_0x1a4e('0x3c73')][_0x2579a5];_0xb326f5(_0x5afd64)||(_0x5afd64=_0x1244a5[_0x1a4e('0x3c74')][_0x2579a5]);var _0x9cc4b1=_0x39842c['createVertexBuffer']({'context':_0x27dd41,'typedArray':_0x1244a5[_0x1a4e('0x13f2')](_0x5afd64),'usage':_0x5a531b['STATIC_DRAW']});_0x9cc4b1[_0x1a4e('0x3c75')]=!0x1,_0x3c0d68[_0x1a4e('0x3c19')]['buffers'][_0x2579a5]=_0x9cc4b1,_0x3c0d68[_0x1a4e('0x3c1e')]+=_0x9cc4b1['sizeInBytes'];}_0x5cf673['prototype'][_0x1a4e('0x17a')]=function(_0x2579a5,_0x3c0d68,_0x27dd41){this['id']=_0x2579a5,this[_0x1a4e('0x3c51')]=_0x3c0d68,this['context']=_0x27dd41;},_0x5cf673['prototype'][_0x1a4e('0x6c3')]=function(){_0x448848(this['id'],this[_0x1a4e('0x3c51')],this[_0x1a4e('0x8cb')]);};var _0x499f35=function(){this['id']=void 0x0,this[_0x1a4e('0x3c76')]=void 0x0,this[_0x1a4e('0x3c51')]=void 0x0,this[_0x1a4e('0x8cb')]=void 0x0;};function _0x158ff7(_0x2579a5,_0x3c0d68,_0x27dd41,_0x1244a5){var _0x5afd64=_0x27dd41[_0x1a4e('0x3c11')],_0x9cc4b1=_0x27dd41['gltf'][_0x1a4e('0x3c73')][_0x2579a5];_0xb326f5(_0x9cc4b1)||(_0x9cc4b1=_0x5afd64[_0x1a4e('0x3c74')][_0x2579a5]);var _0x1e69d3=_0x39842c[_0x1a4e('0x3c77')]({'context':_0x1244a5,'typedArray':_0x5afd64[_0x1a4e('0x13f2')](_0x9cc4b1),'usage':_0x5a531b[_0x1a4e('0x3c78')],'indexDatatype':_0x3c0d68});_0x1e69d3[_0x1a4e('0x3c75')]=!0x1,_0x27dd41[_0x1a4e('0x3c19')][_0x1a4e('0x3c6c')][_0x2579a5]=_0x1e69d3,_0x27dd41['_geometryByteLength']+=_0x1e69d3['sizeInBytes'];}_0x499f35[_0x1a4e('0xa')]['set']=function(_0x2579a5,_0x3c0d68,_0x27dd41,_0x1244a5){this['id']=_0x2579a5,this[_0x1a4e('0x3c76')]=_0x3c0d68,this[_0x1a4e('0x3c51')]=_0x27dd41,this['context']=_0x1244a5;},_0x499f35[_0x1a4e('0xa')][_0x1a4e('0x6c3')]=function(){_0x158ff7(this['id'],this[_0x1a4e('0x3c76')],this[_0x1a4e('0x3c51')],this[_0x1a4e('0x8cb')]);};var _0x3175b8=new _0x5cf673(),_0x313117=new _0x499f35();function _0x513604(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5['_runtime'][_0x1a4e('0x3c79')][_0x3c0d68[_0x1a4e('0x3a41')]];if(_0xb326f5(_0x27dd41))return _0x27dd41[_0x1a4e('0x3c7a')];}function _0x20c08f(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5,_0x5afd64,_0x9cc4b1,_0x1e69d3=_0x27dd41['_programPrimitives'][_0x3c0d68];if(!_0xb326f5(_0x1e69d3))return _0x2579a5;for(_0x5afd64 in _0x1e69d3)if(_0x1e69d3['hasOwnProperty'](_0x5afd64)&&_0x513604(_0x27dd41,_0x1244a5=_0x1e69d3[_0x5afd64])===_0x3c0d68)break;if(_0x27dd41[_0x1a4e('0x3c18')][_0x3c0d68]=void 0x0,_0x27dd41[_0x1a4e('0x3c7b')][_0x1a4e('0x3c7c')])_0x9cc4b1=_0x4eeb99[_0x1a4e('0x3c7d')](_0x27dd41[_0x1a4e('0x3bca')],_0x1244a5,_0x2579a5),_0x27dd41['_quantizedUniforms'][_0x3c0d68]=_0x9cc4b1[_0x1a4e('0x3b74')];else{var _0x27566f=_0x27dd41[_0x1a4e('0x3c1d')][_0x5afd64];if(!_0xb326f5(_0x27566f))return _0x2579a5;_0x9cc4b1=_0x4eeb99[_0x1a4e('0x3c7e')](_0x27dd41['gltf'],_0x1244a5,_0x2579a5,_0x27566f['attributes']);}return _0x9cc4b1[_0x1a4e('0x3c7f')];}function _0x23c424(_0x2579a5,_0x3c0d68,_0x27dd41){return _0xb326f5(_0x27dd41)&&(_0x2579a5=_0x27dd41(_0x2579a5,_0x3c0d68)),_0x2579a5;}var _0x4df647=function(){this[_0x1a4e('0x3c80')]=void 0x0,this[_0x1a4e('0x3c51')]=void 0x0,this['context']=void 0x0;};function _0x3bb53d(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=_0x2579a5[_0x1a4e('0x3c81')],_0x5afd64=_0x2579a5[_0x1a4e('0x3c82')],_0x9cc4b1=_0x3c0d68[_0x1a4e('0x3c83')][_0x1244a5],_0x1e69d3=_0x3c0d68[_0x1a4e('0x3c19')][_0x1a4e('0x3c84')],_0x27566f=_0x1e69d3[_0x9cc4b1[_0x1a4e('0x3b48')]],_0x74f4c5=_0x1e69d3[_0x9cc4b1['fragmentShader']],_0x508ecf=_0x3c0d68[_0x1a4e('0x3c21')];if(_0x3c0d68[_0x1a4e('0x3c7b')][_0x1a4e('0x3c7c')]||_0x3c0d68[_0x1a4e('0x3c85')]){var _0xa5de7a=_0x508ecf[_0x1244a5];_0xb326f5(_0xa5de7a)||(_0xa5de7a=_0x20c08f(_0x27566f,_0x1244a5,_0x3c0d68),_0x508ecf[_0x1244a5]=_0xa5de7a),_0x27566f=_0xa5de7a;}var _0xcaf5b7=_0x23c424(_0x27566f,_0x1244a5,_0x3c0d68[_0x1a4e('0x3bfe')]),_0x39bf97=_0x23c424(_0x74f4c5,_0x1244a5,_0x3c0d68[_0x1a4e('0x3c00')]);_0xb326f5(_0x3c0d68[_0x1a4e('0x3c02')])||(_0x39bf97='uniform\x20vec4\x20czm_pickColor;\x0a'+_0x39bf97);var _0x520ffa=_0x3c0d68[_0x1a4e('0x3c26')]['x']>0x0||_0x3c0d68[_0x1a4e('0x3c26')]['y']>0x0;if(_0x520ffa&&(_0x39bf97=_0x1a4e('0x3c86')+_0x39bf97),_0xb326f5(_0x3c0d68[_0x1a4e('0x3c28')])&&(_0x39bf97='#define\x20USE_CUSTOM_LIGHT_COLOR\x20\x0a\x0a'+_0x39bf97),('2.0'!==_0x3c0d68[_0x1a4e('0x3c25')]||_0x3c0d68[_0x1a4e('0x3c87')])&&(_0x39bf97=_0x2ae581[_0x1a4e('0x3c88')](_0x39bf97,'non_gamma_corrected_main'),_0x39bf97+='\x0avoid\x20main()\x20{\x20\x0a\x20\x20\x20\x20non_gamma_corrected_main();\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20czm_gammaCorrect(gl_FragColor);\x20\x0a}\x20\x0a'),_0x24f44a[_0x1a4e('0x3c89')](_0x27dd41)){var _0x5d62e6=_0xb326f5(_0x3c0d68[_0x1a4e('0x3c2b')])||_0x3c0d68[_0x1a4e('0x3c2f')],_0x1c717e=_0xb326f5(_0x3c0d68[_0x1a4e('0x3c8a')])&&_0x3c0d68[_0x1a4e('0x3c8a')]['ready']||_0x3c0d68['_useDefaultSpecularMaps'];(_0x5d62e6||_0x1c717e||_0x520ffa)&&(_0x39bf97=_0x1a4e('0x3c8b')+_0x39bf97),_0xb326f5(_0x3c0d68[_0x1a4e('0x3c2b')])?_0x39bf97=_0x1a4e('0x3c8c')+_0x39bf97:_0x3c0d68[_0x1a4e('0x3c2f')]&&(_0x39bf97=_0x1a4e('0x3c8d')+_0x39bf97),_0xb326f5(_0x3c0d68['_specularEnvironmentMapAtlas'])&&_0x3c0d68[_0x1a4e('0x3c8a')][_0x1a4e('0x3bc7')]?_0x39bf97=_0x1a4e('0x3c8e')+_0x39bf97:_0x3c0d68[_0x1a4e('0x3c8f')]&&(_0x39bf97='#define\x20SPECULAR_IBL\x20\x0a'+_0x39bf97);}_0xb326f5(_0x3c0d68[_0x1a4e('0x3c29')])&&(_0x39bf97='#define\x20USE_SUN_LUMINANCE\x20\x0auniform\x20float\x20gltf_luminanceAtZenith;\x0a'+_0x39bf97),_0x2a9c47(_0x1244a5,_0x5afd64,_0x39bf97,_0xcaf5b7,_0x3c0d68,_0x27dd41);}function _0x134a41(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x5afd64=_0x2579a5[_0x1a4e('0x3c81')],_0x9cc4b1=_0x2579a5['techniqueId'],_0x1e69d3=_0x3c0d68[_0x1a4e('0x3c83')][_0x5afd64],_0x27566f=_0x3c0d68[_0x1a4e('0x3c19')][_0x1a4e('0x3c84')],_0x74f4c5=_0x3c0d68[_0x1a4e('0x3c21')],_0x508ecf=_0x3c0d68[_0x1a4e('0x3a25')],_0xa5de7a=_0x528a48(_0x3c0d68),_0xcaf5b7=_0x27566f[_0x1e69d3[_0x1a4e('0x3b48')]],_0x39bf97=_0x27566f[_0x1e69d3['fragmentShader']];(_0x3c0d68['extensionsUsed'][_0x1a4e('0x3c7c')]||_0x3c0d68[_0x1a4e('0x3c85')])&&(_0xcaf5b7=_0x74f4c5[_0x5afd64]);var _0x520ffa=_0x39bf97;_0x3ed601(_0x3c0d68)&&(_0x520ffa=_0x1efb48[_0x1a4e('0x3c90')](_0x520ffa)),_0xa5de7a&&(_0x520ffa=function(_0x2579a5,_0x3c0d68,_0x27dd41){return _0x2579a5=_0x2ae581[_0x1a4e('0x3c88')](_0x2579a5,_0x1a4e('0x3c91')),_0x2579a5+=_0x1efb48[_0x1a4e('0x3c92')](_0x3c0d68,_0x27dd41)+'\x0a',_0x2579a5+=_0x1a4e('0x3c93')+_0x5c550c(_0x1a4e('0x3c94'),_0x1a4e('0x3c95'),_0x1a4e('0x3c96'))+_0x1a4e('0x3c97');}(_0x520ffa,_0x508ecf,_0x27dd41));var _0x5d62e6=_0x23c424(_0xcaf5b7,_0x5afd64,_0x3c0d68[_0x1a4e('0x3bfe')]),_0x1c717e=_0x23c424(_0x520ffa,_0x5afd64,_0x3c0d68[_0x1a4e('0x3c00')]),_0x297127=_0x3c0d68[_0x1a4e('0x3c98')][_0x1a4e('0x3291')];if(_0x1244a5[_0x1a4e('0x8')][_0x1a4e('0x3b4e')][_0x1a4e('0x178')](_0x297127[_0x1a4e('0x15cf')])){var _0x5cdcca=_0x1244a5[_0x1a4e('0x8')][_0x1a4e('0x3b4e')][_0x1a4e('0x179')](_0x297127[_0x1a4e('0x15cf')]);_0xb326f5(_0x5cdcca[_0x1a4e('0x3c99')])&&(_0x5d62e6=_0x2ae581['replaceMain'](_0x5d62e6,_0x1a4e('0x3c9a')),_0x5d62e6+=_0x5cdcca[_0x1a4e('0x3c99')]),_0xb326f5(_0x5cdcca[_0x1a4e('0x3b49')])&&(_0x1c717e=_0x2ae581[_0x1a4e('0x3c88')](_0x1c717e,'czm_gv_main'),_0x1c717e+=_0x5cdcca[_0x1a4e('0x3b49')]);}_0xb326f5(_0x3c0d68[_0x1a4e('0x3c02')])||(_0x1c717e=_0x1a4e('0x3c9b')+_0x1c717e);var _0x273940=_0x3c0d68['_imageBasedLightingFactor']['x']>0x0||_0x3c0d68['_imageBasedLightingFactor']['y']>0x0;if(_0x273940&&(_0x1c717e=_0x1a4e('0x3c86')+_0x1c717e),_0xb326f5(_0x3c0d68[_0x1a4e('0x3c28')])&&(_0x1c717e='#define\x20USE_CUSTOM_LIGHT_COLOR\x20\x0a\x0a'+_0x1c717e),('2.0'!==_0x3c0d68['_sourceVersion']||_0x3c0d68['_sourceKHRTechniquesWebGL'])&&(_0x1c717e=_0x2ae581[_0x1a4e('0x3c88')](_0x1c717e,_0x1a4e('0x3c9c')),_0x1c717e+=_0x1a4e('0x3c9d')),_0x24f44a[_0x1a4e('0x3c89')](_0x27dd41)){var _0x18b53d=_0xb326f5(_0x3c0d68[_0x1a4e('0x3c2b')])||_0x3c0d68['_useDefaultSphericalHarmonics'],_0x2984d4=_0xb326f5(_0x3c0d68['_specularEnvironmentMapAtlas'])&&_0x3c0d68[_0x1a4e('0x3c8a')][_0x1a4e('0x3bc7')]||_0x3c0d68['_useDefaultSpecularMaps'];!_0xa5de7a&&(_0x18b53d||_0x2984d4||_0x273940)&&(_0x1c717e=_0x1a4e('0x3c8b')+_0x1c717e),_0xb326f5(_0x3c0d68[_0x1a4e('0x3c2b')])?_0x1c717e='#define\x20DIFFUSE_IBL\x20\x0a#define\x20CUSTOM_SPHERICAL_HARMONICS\x20\x0auniform\x20vec3\x20gltf_sphericalHarmonicCoefficients[9];\x20\x0a'+_0x1c717e:_0x3c0d68[_0x1a4e('0x3c2f')]&&(_0x1c717e=_0x1a4e('0x3c8d')+_0x1c717e),_0xb326f5(_0x3c0d68[_0x1a4e('0x3c8a')])&&_0x3c0d68[_0x1a4e('0x3c8a')][_0x1a4e('0x3bc7')]?_0x1c717e=_0x1a4e('0x3c8e')+_0x1c717e:_0x3c0d68['_useDefaultSpecularMaps']&&(_0x1c717e=_0x1a4e('0x3c9e')+_0x1c717e);}_0xb326f5(_0x3c0d68['_luminanceAtZenith'])&&(_0x1c717e=_0x1a4e('0x3c9f')+_0x1c717e),_0x2a9c47(_0x5afd64,_0x9cc4b1,_0x1c717e,_0x5d62e6,_0x3c0d68,_0x27dd41);}function _0x2a9c47(_0x2579a5,_0x3c0d68,_0x27dd41,_0x1244a5,_0x5afd64,_0x9cc4b1){var _0x1e69d3=_0x5afd64[_0x1a4e('0x3ca0')][_0x3c0d68],_0x27566f=_0x4eeb99['createAttributeLocations'](_0x1e69d3,_0x5afd64[_0x1a4e('0x3bfd')]);_0x5afd64['_rendererResources'][_0x1a4e('0x3ca1')][_0x2579a5]=_0xadbb5d['fromCache']({'context':_0x9cc4b1,'vertexShaderSource':_0x1244a5,'fragmentShaderSource':_0x27dd41,'attributeLocations':_0x27566f});}_0x4df647[_0x1a4e('0xa')]['set']=function(_0x2579a5,_0x3c0d68,_0x27dd41){this[_0x1a4e('0x3c80')]=_0x2579a5,this[_0x1a4e('0x3c51')]=_0x3c0d68,this['context']=_0x27dd41;},_0x4df647[_0x1a4e('0xa')][_0x1a4e('0x6c3')]=function(){_0x3bb53d(this[_0x1a4e('0x3c80')],this[_0x1a4e('0x3c51')],this[_0x1a4e('0x8cb')]);};var _0x10a7f2=new _0x4df647();function _0x5e13a9(_0x2579a5,_0x3c0d68){return function(_0x27dd41){_0x2579a5['texturesToCreate']['enqueue']({'id':_0x3c0d68['id'],'image':_0x27dd41,'bufferView':void 0x0}),--_0x2579a5['pendingBufferViewToImage'];};}var _0x25a26a=function(){this[_0x1a4e('0x3ca2')]=void 0x0,this['model']=void 0x0,this[_0x1a4e('0x8cb')]=void 0x0;};function _0x4812ca(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=_0x3c0d68['gltf'][_0x1a4e('0x3ca3')][_0x2579a5['id']],_0x5afd64=_0x3c0d68[_0x1a4e('0x3c19')][_0x1a4e('0x3ca4')][_0x1244a5[_0x1a4e('0x3ca5')]];_0xb326f5(_0x5afd64)||(_0x5afd64=new _0x543742({'wrapS':_0x3ddd22[_0x1a4e('0x3ca6')],'wrapT':_0x3ddd22[_0x1a4e('0x3ca6')]}));for(var _0x9cc4b1=!0x1,_0x1e69d3=_0x3c0d68[_0x1a4e('0x3bca')][_0x1a4e('0x3ca7')],_0x27566f=_0x1e69d3[_0x1a4e('0x1e')],_0x74f4c5=0x0;_0x74f4c5<_0x27566f;++_0x74f4c5){var _0x508ecf=_0x1e69d3[_0x74f4c5];if(_0xb326f5(_0x508ecf['extensions'])&&_0xb326f5(_0x508ecf[_0x1a4e('0x325c')][_0x1a4e('0x3ca8')])){var _0xa5de7a=_0x508ecf['extensions'][_0x1a4e('0x3ca8')]['values'];for(var _0xcaf5b7 in _0xa5de7a)if(_0xa5de7a[_0x1a4e('0xb')](_0xcaf5b7)&&-0x1!==_0xcaf5b7[_0x1a4e('0x3e')](_0x1a4e('0x3bad'))){var _0x39bf97=_0xa5de7a[_0xcaf5b7];if(_0x39bf97[_0x1a4e('0xbd')]===_0x2579a5['id']&&_0xb326f5(_0x39bf97['extensions'])&&_0xb326f5(_0x39bf97[_0x1a4e('0x325c')]['KHR_texture_transform'])){_0x9cc4b1=!0x0;break;}}}if(_0x9cc4b1)break;}var _0x520ffa=_0x5afd64[_0x1a4e('0x3ca9')],_0x5d62e6=_0x5afd64[_0x1a4e('0x3caa')],_0x1c717e=_0x5afd64[_0x1a4e('0x3cab')];_0x9cc4b1&&_0x1c717e!==_0x271ce0[_0x1a4e('0x3cac')]&&_0x1c717e!==_0x271ce0[_0x1a4e('0x3cad')]&&(_0x1c717e=_0x1c717e===_0x271ce0[_0x1a4e('0x3cae')]||_0x1c717e===_0x271ce0[_0x1a4e('0x3caf')]?_0x271ce0[_0x1a4e('0x3cad')]:_0x271ce0['LINEAR'],_0x5afd64=new _0x543742({'wrapS':_0x5afd64[_0x1a4e('0x3ca9')],'wrapT':_0x5afd64[_0x1a4e('0x3caa')],'textureMinificationFilter':_0x1c717e,'textureMagnificationFilter':_0x5afd64['magnificationFilter']}));var _0x297127,_0x5cdcca=_0x2579a5[_0x1a4e('0x3cb0')],_0x273940=!(_0xb326f5(_0x5cdcca)&&_0x433fe4[_0x1a4e('0x3cb1')](_0x5cdcca)||_0x1c717e!==_0x271ce0[_0x1a4e('0x3cae')]&&_0x1c717e!==_0x271ce0[_0x1a4e('0x3caf')]&&_0x1c717e!==_0x271ce0[_0x1a4e('0x3cb2')]&&_0x1c717e!==_0x271ce0[_0x1a4e('0x3cb3')]),_0x18b53d=_0x273940||_0x520ffa===_0x3ddd22[_0x1a4e('0x3ca6')]||_0x520ffa===_0x3ddd22['MIRRORED_REPEAT']||_0x5d62e6===_0x3ddd22['REPEAT']||_0x5d62e6===_0x3ddd22['MIRRORED_REPEAT'],_0x2984d4=_0x2579a5[_0x1a4e('0x3cb4')];if(_0xb326f5(_0x5cdcca))_0x297127=new _0x5d0639({'context':_0x27dd41,'source':{'arrayBufferView':_0x2579a5[_0x1a4e('0x3c6f')]},'width':_0x2579a5[_0x1a4e('0x3936')],'height':_0x2579a5[_0x1a4e('0x152')],'pixelFormat':_0x5cdcca,'sampler':_0x5afd64});else if(_0xb326f5(_0x2984d4)){var _0x4b17f5=!_0x504fda[_0x1a4e('0x3cb5')](_0x2984d4[_0x1a4e('0x3936')])||!_0x504fda[_0x1a4e('0x3cb5')](_0x2984d4['height']);if(_0x18b53d&&_0x4b17f5){var _0x3bace5=document['createElement'](_0x1a4e('0x3934'));_0x3bace5[_0x1a4e('0x3936')]=_0x504fda['nextPowerOfTwo'](_0x2984d4[_0x1a4e('0x3936')]),_0x3bace5[_0x1a4e('0x152')]=_0x504fda[_0x1a4e('0x3cb6')](_0x2984d4[_0x1a4e('0x152')]),_0x3bace5['getContext']('2d')['drawImage'](_0x2984d4,0x0,0x0,_0x2984d4[_0x1a4e('0x3936')],_0x2984d4[_0x1a4e('0x152')],0x0,0x0,_0x3bace5[_0x1a4e('0x3936')],_0x3bace5[_0x1a4e('0x152')]),_0x2984d4=_0x3bace5;}_0x297127=new _0x5d0639({'context':_0x27dd41,'source':_0x2984d4,'pixelFormat':_0x1244a5['internalFormat'],'pixelDatatype':_0x1244a5[_0x1a4e('0x40')],'sampler':_0x5afd64,'flipY':!0x1}),_0x273940&&_0x297127[_0x1a4e('0x3cb7')]();}_0xb326f5(_0x297127)&&(_0x3c0d68[_0x1a4e('0x3c19')][_0x1a4e('0x3ca3')][_0x2579a5['id']]=_0x297127,_0x3c0d68['_texturesByteLength']+=_0x297127['sizeInBytes']);}_0x25a26a['prototype'][_0x1a4e('0x17a')]=function(_0x2579a5,_0x3c0d68,_0x27dd41){this[_0x1a4e('0x3ca2')]=_0x2579a5,this[_0x1a4e('0x3c51')]=_0x3c0d68,this['context']=_0x27dd41;},_0x25a26a[_0x1a4e('0xa')]['execute']=function(){_0x4812ca(this[_0x1a4e('0x3ca2')],this[_0x1a4e('0x3c51')],this[_0x1a4e('0x8cb')]);};var _0x27e5fd=new _0x25a26a();function _0x2dbda7(_0x2579a5,_0x3c0d68,_0x27dd41,_0x1244a5){return function(_0x5afd64){_0xb326f5(_0x1244a5)&&(_0x5afd64=_0x2579a5[_0x1a4e('0x3bea')]?_0x1244a5[_0x1a4e('0x3cb8')](_0x5afd64):_0x1244a5[_0x1a4e('0x3cb9')](_0x5afd64),_0x3c0d68[_0x27dd41]=_0x1244a5[_0x1a4e('0x10cb')](_0x5afd64,_0x3c0d68[_0x27dd41]),_0x3c0d68[_0x1a4e('0x3cba')]=_0x2579a5[_0x1a4e('0x3c14')]);};}function _0x106d58(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5[_0x1a4e('0x3c11')];if(_0x27dd41[_0x1a4e('0x3cbb')]()&&_0x27dd41['finishedProgramCreation']()&&_0x27dd41[_0x1a4e('0x3cbc')]){_0x27dd41[_0x1a4e('0x3cbc')]=!0x1;var _0x1244a5=_0x2579a5[_0x1a4e('0x3c19')]['buffers'],_0x5afd64=_0x2579a5[_0x1a4e('0x3c19')]['vertexArrays'],_0x9cc4b1=_0x2579a5[_0x1a4e('0x3bca')],_0x1e69d3=_0x9cc4b1[_0x1a4e('0x3cbd')];_0x529c2f[_0x1a4e('0x3cbe')](_0x9cc4b1,function(_0x27dd41,_0x27566f){_0x529c2f['meshPrimitive'](_0x27dd41,function(_0x27dd41,_0x74f4c5){var _0x508ecf,_0xa5de7a,_0xcaf5b7,_0x39bf97=[],_0x520ffa=function(_0x2579a5,_0x3c0d68){var _0x27dd41,_0x1244a5,_0x5afd64=_0x2579a5[_0x1a4e('0x3ca0')],_0x9cc4b1={},_0x1e69d3=_0x2579a5['_runtime'][_0x1a4e('0x3c79')][_0x3c0d68[_0x1a4e('0x3a41')]];if(!_0xb326f5(_0x1e69d3))return _0x9cc4b1;var _0x27566f=_0x5afd64[_0x1e69d3[_0x1a4e('0x3cbf')]];if(!_0xb326f5(_0x27566f))return _0x9cc4b1;var _0x74f4c5=_0x27566f[_0x1a4e('0x266d')],_0x508ecf=_0x2579a5[_0x1a4e('0x3c19')]['programs'][_0x27566f[_0x1a4e('0x303a')]],_0xa5de7a=_0x508ecf[_0x1a4e('0x3cc0')],_0xcaf5b7=_0x508ecf[_0x1a4e('0x3cc1')];for(_0x27dd41 in _0xa5de7a)if(_0xa5de7a[_0x1a4e('0xb')](_0x27dd41)){var _0x39bf97=_0x74f4c5[_0x27dd41];_0xb326f5(_0x39bf97)&&(_0x1244a5=_0xcaf5b7[_0x27dd41],_0x9cc4b1[_0x39bf97[_0x1a4e('0x3cc2')]]=_0x1244a5);}var _0x520ffa=_0x2579a5[_0x1a4e('0x3bfd')];if(_0xb326f5(_0x520ffa))for(_0x27dd41 in _0x520ffa)_0x520ffa[_0x1a4e('0xb')](_0x27dd41)&&(_0x1244a5=_0xcaf5b7[_0x27dd41],_0x9cc4b1[_0x27dd41]=_0x1244a5);return _0x9cc4b1;}(_0x2579a5,_0x27dd41),_0x5d62e6=_0x2579a5[_0x1a4e('0x3c1d')][_0x27566f+_0x1a4e('0x3cc3')+_0x74f4c5];_0x529c2f['meshPrimitiveAttribute'](_0x27dd41,function(_0x2579a5,_0x3c0d68){if(_0x508ecf=_0x520ffa[_0x3c0d68],_0xb326f5(_0x508ecf)){if(_0xb326f5(_0x5d62e6)){var _0x27dd41=_0x5d62e6[_0x1a4e('0x266d')];if(_0x27dd41['hasOwnProperty'](_0x3c0d68)){var _0x5afd64=_0x27dd41[_0x3c0d68];return void _0x39bf97[_0x1a4e('0x46')]({'index':_0x508ecf,'vertexBuffer':_0x1244a5[_0x5afd64['bufferView']],'componentsPerAttribute':_0x5afd64[_0x1a4e('0x3cc4')],'componentDatatype':_0x5afd64[_0x1a4e('0x3cc5')],'normalize':_0x5afd64[_0x1a4e('0x3cc6')],'offsetInBytes':_0x5afd64['byteOffset'],'strideInBytes':_0x5afd64['byteStride']});}}var _0x27566f=_0x1e69d3[_0x2579a5],_0x74f4c5=_0xb326f5(_0x27566f['normalized'])&&_0x27566f[_0x1a4e('0x3cc6')];_0x39bf97['push']({'index':_0x508ecf,'vertexBuffer':_0x1244a5[_0x27566f[_0x1a4e('0x3c6f')]],'componentsPerAttribute':_0x261264(_0x27566f[_0x1a4e('0x40')]),'componentDatatype':_0x27566f['componentType'],'normalize':_0x74f4c5,'offsetInBytes':_0x27566f[_0x1a4e('0xf61')],'strideInBytes':_0x18eeed(_0x9cc4b1,_0x27566f)});}});var _0x1c717e,_0x297127=_0x2579a5['_precreatedAttributes'];if(_0xb326f5(_0x297127))for(_0xcaf5b7 in _0x297127)_0x297127[_0x1a4e('0xb')](_0xcaf5b7)&&(_0x508ecf=_0x520ffa[_0xcaf5b7],_0xb326f5(_0x508ecf)&&((_0xa5de7a=_0x297127[_0xcaf5b7])[_0x1a4e('0xbd')]=_0x508ecf,_0x39bf97['push'](_0xa5de7a)));if(_0xb326f5(_0x27dd41[_0x1a4e('0x3cc7')])){var _0x5cdcca=_0x1e69d3[_0x27dd41[_0x1a4e('0x3cc7')]][_0x1a4e('0x3c6f')];_0xb326f5(_0x5d62e6)&&(_0x5cdcca=_0x5d62e6[_0x1a4e('0x3c6f')]),_0x1c717e=_0x1244a5[_0x5cdcca];}_0x5afd64[_0x27566f+_0x1a4e('0x3cc3')+_0x74f4c5]=new _0x3c857b({'context':_0x3c0d68,'attributes':_0x39bf97,'indexBuffer':_0x1c717e});});});}}function _0x107c43(_0x2579a5){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3c11')];_0x3c0d68[_0x1a4e('0x3cc8')]&&(_0x3c0d68['createRenderStates']=!0x1,_0x529c2f[_0x1a4e('0x3a41')](_0x2579a5['gltf'],function(_0x3c0d68,_0x27dd41){!function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=_0x2579a5['_rendererResources'][_0x1a4e('0x3cc9')],_0x5afd64=[_0x322a94[_0x1a4e('0x3cca')],_0x322a94[_0x1a4e('0x3cca')]],_0x9cc4b1=[_0x322a94['ONE'],_0x322a94[_0x1a4e('0x3ccb')],_0x322a94[_0x1a4e('0x25f')],_0x322a94[_0x1a4e('0x3ccb')]];_0xb326f5(_0x3c0d68[_0x1a4e('0x325c')])&&_0xb326f5(_0x3c0d68[_0x1a4e('0x325c')][_0x1a4e('0x3ccc')])&&(_0x5afd64=_0x3c0d68[_0x1a4e('0x325c')]['KHR_blend']['blendEquation'],_0x9cc4b1=_0x3c0d68[_0x1a4e('0x325c')][_0x1a4e('0x3ccc')]['blendFactors']);var _0x1e69d3=!_0x3c0d68['doubleSided'],_0x27566f=_0x1a4e('0x3ccd')===_0x3c0d68[_0x1a4e('0x3cce')];_0x1244a5[_0x27dd41]=_0x18503a[_0x1a4e('0x3ccf')]({'cull':{'enabled':_0x1e69d3},'depthTest':{'enabled':!0x0,'func':_0xe57711[_0x1a4e('0x3cd0')]},'depthMask':!_0x27566f,'blending':{'enabled':_0x27566f,'equationRgb':_0x5afd64[0x0],'equationAlpha':_0x5afd64[0x1],'functionSourceRgb':_0x9cc4b1[0x0],'functionDestinationRgb':_0x9cc4b1[0x1],'functionSourceAlpha':_0x9cc4b1[0x2],'functionDestinationAlpha':_0x9cc4b1[0x3]}});}(_0x2579a5,_0x3c0d68,_0x27dd41);}));}var _0x3d7f5f={'MODEL':function(_0x2579a5,_0x3c0d68,_0x27dd41){return function(){return _0x27dd41['computedMatrix'];};},'VIEW':function(_0x2579a5,_0x3c0d68,_0x27dd41){return function(){return _0x2579a5['view'];};},'PROJECTION':function(_0x2579a5,_0x3c0d68,_0x27dd41){return function(){return _0x2579a5[_0x1a4e('0x7a7')];};},'MODELVIEW':function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=new _0x193920();return function(){return _0x193920['multiplyTransformation'](_0x2579a5[_0x1a4e('0x1a3')],_0x27dd41[_0x1a4e('0x3cd1')],_0x1244a5);};},'CESIUM_RTC_MODELVIEW':function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=new _0x193920();return function(){return _0x193920[_0x1a4e('0x3cd2')](_0x2579a5[_0x1a4e('0x1a3')],_0x27dd41[_0x1a4e('0x3cd1')],_0x1244a5),_0x193920[_0x1a4e('0x3cd3')](_0x1244a5,_0x3c0d68[_0x1a4e('0x3c24')],_0x1244a5);};},'MODELVIEWPROJECTION':function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=new _0x193920();return function(){return _0x193920['multiplyTransformation'](_0x2579a5[_0x1a4e('0x1a3')],_0x27dd41[_0x1a4e('0x3cd1')],_0x1244a5),_0x193920[_0x1a4e('0x260')](_0x2579a5['_projection'],_0x1244a5,_0x1244a5);};},'MODELINVERSE':function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=new _0x193920();return function(){return _0x193920[_0x1a4e('0x3cd4')](_0x27dd41[_0x1a4e('0x3cd1')],_0x1244a5);};},'VIEWINVERSE':function(_0x2579a5,_0x3c0d68){return function(){return _0x2579a5[_0x1a4e('0x3cd5')];};},'PROJECTIONINVERSE':function(_0x2579a5,_0x3c0d68,_0x27dd41){return function(){return _0x2579a5[_0x1a4e('0x3cd6')];};},'MODELVIEWINVERSE':function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=new _0x193920(),_0x5afd64=new _0x193920();return function(){return _0x193920[_0x1a4e('0x3cd2')](_0x2579a5['view'],_0x27dd41[_0x1a4e('0x3cd1')],_0x1244a5),_0x193920[_0x1a4e('0x3cd4')](_0x1244a5,_0x5afd64);};},'MODELVIEWPROJECTIONINVERSE':function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=new _0x193920(),_0x5afd64=new _0x193920();return function(){return _0x193920[_0x1a4e('0x3cd2')](_0x2579a5[_0x1a4e('0x1a3')],_0x27dd41[_0x1a4e('0x3cd1')],_0x1244a5),_0x193920['multiply'](_0x2579a5[_0x1a4e('0x3cd7')],_0x1244a5,_0x1244a5),_0x193920[_0x1a4e('0x3cd4')](_0x1244a5,_0x5afd64);};},'MODELINVERSETRANSPOSE':function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=new _0x193920(),_0x5afd64=new _0x332591();return function(){return _0x193920['inverse'](_0x27dd41[_0x1a4e('0x3cd1')],_0x1244a5),_0x193920[_0x1a4e('0x3cd8')](_0x1244a5,_0x5afd64),_0x332591[_0x1a4e('0x3cd9')](_0x5afd64,_0x5afd64);};},'MODELVIEWINVERSETRANSPOSE':function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=new _0x193920(),_0x5afd64=new _0x193920(),_0x9cc4b1=new _0x332591();return function(){return _0x193920[_0x1a4e('0x3cd2')](_0x2579a5[_0x1a4e('0x1a3')],_0x27dd41['computedMatrix'],_0x1244a5),_0x193920[_0x1a4e('0x3cd4')](_0x1244a5,_0x5afd64),_0x193920[_0x1a4e('0x3cd8')](_0x5afd64,_0x9cc4b1),_0x332591[_0x1a4e('0x3cd9')](_0x9cc4b1,_0x9cc4b1);};},'VIEWPORT':function(_0x2579a5,_0x3c0d68,_0x27dd41){return function(){return _0x2579a5['viewportCartesian4'];};}};function _0x3473ea(_0x2579a5,_0x3c0d68,_0x27dd41,_0x1244a5,_0x5afd64,_0x9cc4b1,_0x1e69d3){var _0x27566f,_0x74f4c5,_0x508ecf={},_0xa5de7a={};return _0x529c2f[_0x1a4e('0x3cda')](_0x27dd41,function(_0x27dd41,_0xcaf5b7){var _0x39bf97;if(_0xb326f5(_0x1244a5)&&_0xb326f5(_0x1244a5[_0xcaf5b7]))_0x39bf97=_0x4eeb99[_0x1a4e('0x3cdb')](_0x27dd41[_0x1a4e('0x40')],_0x1244a5[_0xcaf5b7],_0x9cc4b1,_0x1e69d3),_0x508ecf[_0xcaf5b7]=_0x39bf97[_0x1a4e('0x102d')],_0xa5de7a[_0xcaf5b7]=_0x39bf97;else if(_0xb326f5(_0x27dd41[_0x1a4e('0x80')]))_0x508ecf[_0xcaf5b7]=function(_0x2579a5,_0x3c0d68,_0x27dd41,_0x1244a5){var _0x5afd64=_0x3c0d68[_0x1a4e('0x3c35')][_0x1a4e('0x11d')][_0x2579a5];return _0x3d7f5f[_0x27dd41](_0x1244a5,_0x3c0d68,_0x5afd64);}(_0x27dd41['node'],_0x2579a5,_0x27dd41['semantic'],_0x5afd64[_0x1a4e('0x3cdc')]);else if(_0xb326f5(_0x27dd41[_0x1a4e('0x3cc2')]))if(_0x1a4e('0x3cdd')===_0x27dd41[_0x1a4e('0x3cc2')])_0x27566f=_0xcaf5b7;else if(_0x1a4e('0x3cde')===_0x27dd41[_0x1a4e('0x3cc2')])_0x74f4c5=_0xcaf5b7;else if(_0x1a4e('0x3cdf')===_0x27dd41[_0x1a4e('0x3cc2')]){var _0x520ffa=_0x3c0d68[_0x1a4e('0x3cce')];if(_0xb326f5(_0x520ffa)&&_0x1a4e('0x3ce0')===_0x520ffa){var _0x5d62e6=_0x1c717e(_0x3c0d68['alphaCutoff'],0.5);_0x39bf97=_0x4eeb99['createUniformFunction'](_0x27dd41[_0x1a4e('0x40')],_0x5d62e6,_0x9cc4b1,_0x1e69d3),_0x508ecf[_0xcaf5b7]=_0x39bf97[_0x1a4e('0x102d')],_0xa5de7a[_0xcaf5b7]=_0x39bf97;}}else _0x508ecf[_0xcaf5b7]=_0x4eeb99[_0x1a4e('0x3ce1')]()[_0x27dd41[_0x1a4e('0x3cc2')]](_0x5afd64[_0x1a4e('0x3cdc')],_0x2579a5);else if(_0xb326f5(_0x27dd41['value'])){var _0x297127=_0x4eeb99[_0x1a4e('0x3cdb')](_0x27dd41['type'],_0x27dd41[_0x1a4e('0x255')],_0x9cc4b1,_0x1e69d3);_0x508ecf[_0xcaf5b7]=_0x297127[_0x1a4e('0x102d')],_0xa5de7a[_0xcaf5b7]=_0x297127;}}),{'map':_0x508ecf,'values':_0xa5de7a,'jointMatrixUniformName':_0x27566f,'morphWeightsUniformName':_0x74f4c5};}function _0x2dc323(_0x2579a5){return _0x4eeb99[_0x1a4e('0x3ce2')](_0x2579a5[_0x1a4e('0x266d')]);}function _0x4d08d8(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x513604(_0x2579a5,_0x3c0d68),_0x1244a5=_0x2579a5[_0x1a4e('0x3c17')][_0x27dd41];return _0x4eeb99[_0x1a4e('0x3ce3')](_0x2579a5[_0x1a4e('0x3bca')],_0x3c0d68,_0x1244a5);}function _0x5e28ec(_0x2579a5){return function(){return _0x2579a5;};}function _0x447e3c(_0x2579a5){return function(){return _0x2579a5[_0x1a4e('0x3ce4')];};}function _0x511002(_0x2579a5){return function(){return _0x2579a5[_0x1a4e('0x3ce5')];};}function _0x48db4c(_0x2579a5){return function(){return _0x2579a5['silhouetteColor'];};}function _0x490412(_0x2579a5){return function(){return _0x2579a5['silhouetteSize'];};}function _0x13bee9(_0x2579a5){return function(){return _0x2579a5['color'];};}var _0x39474d=new _0x193920();function _0x5af160(_0x2579a5){return function(){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3a25')];if(!_0xb326f5(_0x3c0d68)&&!_0xb326f5(_0x2579a5[_0x1a4e('0x3c2b')])&&!_0xb326f5(_0x2579a5[_0x1a4e('0x3c2d')]))return _0x193920['IDENTITY'];var _0x27dd41=_0xb326f5(_0x3c0d68)?_0x3c0d68['modelMatrix']:_0x193920[_0x1a4e('0x3a2a')];return _0x193920[_0x1a4e('0x260')](_0x2579a5[_0x1a4e('0x3ce6')],_0x27dd41,_0x39474d);};}function _0x170fdf(_0x2579a5){return function(){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3a25')];return _0xb326f5(_0x3c0d68)&&_0x3c0d68[_0x1a4e('0x25e5')]?_0x3c0d68['texture']:_0x2579a5['_defaultTexture'];};}function _0x5d437f(_0x2579a5){return function(){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3a25')];if(!_0xb326f5(_0x3c0d68))return _0xcaf5b7[_0x1a4e('0x39a7')][_0x1a4e('0x39ae')](0x0);var _0x27dd41=_0xcaf5b7['clone'](_0x3c0d68['edgeColor']);return _0x27dd41[_0x1a4e('0x3a4f')]=_0x3c0d68[_0x1a4e('0x3ce7')],_0x27dd41;};}function _0x4aafab(_0x2579a5){return function(){return _0x67849b[_0x1a4e('0x3ce8')](_0x2579a5['colorBlendMode'],_0x2579a5[_0x1a4e('0x3bf1')]);};}function _0xbe90a1(_0x2579a5){return function(){return _0x2579a5['_imageBasedLightingFactor'];};}function _0x267cd3(_0x2579a5){return function(){return _0x2579a5[_0x1a4e('0x3c28')];};}function _0x5e057a(_0x2579a5){return function(){return _0x2579a5['luminanceAtZenith'];};}function _0x43f7c1(_0x2579a5){return function(){return _0x2579a5[_0x1a4e('0x3c2b')];};}function _0x4e7cbb(_0x2579a5){return function(){return _0x2579a5['_specularEnvironmentMapAtlas'][_0x1a4e('0x3ce9')];};}function _0x58c4d3(_0x2579a5){return function(){return _0x2579a5['_specularEnvironmentMapAtlas'][_0x1a4e('0x3ce9')][_0x1a4e('0x3cea')];};}function _0x35ea3a(_0x2579a5){return function(){return _0x2579a5[_0x1a4e('0x3c8a')][_0x1a4e('0x3ceb')];};}function _0x460aa1(_0x2579a5,_0x3c0d68){switch(_0x2579a5[_0x1a4e('0xa69')]){case _0x23ff9f[_0x1a4e('0x3b5a')]:return _0x3c0d68/0x3;case _0x23ff9f['TRIANGLE_STRIP']:case _0x23ff9f[_0x1a4e('0x3cec')]:return Math[_0x1a4e('0x6c')](_0x3c0d68-0x2,0x0);default:return 0x0;}}function _0x48750a(_0x2579a5,_0x3c0d68,_0x27dd41,_0x1244a5,_0x9cc4b1){for(var _0x27566f=_0x2579a5[_0x1a4e('0x3c22')],_0x74f4c5=_0x2579a5[_0x1a4e('0x3c44')],_0x508ecf=_0x2579a5[_0x1a4e('0x3be7')],_0xa5de7a=_0x2579a5[_0x1a4e('0x3c35')]['meshesByName'],_0xcaf5b7=_0x2579a5[_0x1a4e('0x3c19')],_0x520ffa=_0xcaf5b7[_0x1a4e('0x3ced')],_0x5d62e6=_0xcaf5b7[_0x1a4e('0x3ca1')],_0x1c717e=_0xcaf5b7[_0x1a4e('0x3cc9')],_0x297127=_0x2579a5[_0x1a4e('0x3c15')],_0x5cdcca=_0x2579a5[_0x1a4e('0x3bca')],_0x273940=_0x5cdcca[_0x1a4e('0x3cbd')],_0x18b53d=_0x5cdcca[_0x1a4e('0x3cee')],_0x2984d4=_0x3c0d68['mesh'],_0x4b17f5=_0x18b53d[_0x2984d4],_0x3bace5=_0x4b17f5[_0x1a4e('0x38e3')],_0x53347a=_0x3bace5[_0x1a4e('0x1e')],_0x498271=0x0;_0x498271<_0x53347a;++_0x498271){var _0x16e9d4,_0x504fda=_0x3bace5[_0x498271],_0x332591=_0x273940[_0x504fda['indices']],_0x433fe4=_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x3c79')][_0x504fda[_0x1a4e('0x3a41')]][_0x1a4e('0x3c7a')],_0x23ff9f=_0x2579a5[_0x1a4e('0x3c1d')][_0x2984d4+_0x1a4e('0x3cc3')+_0x498271],_0x4a338d=_0x504fda[_0x1a4e('0x266d')][_0x1a4e('0x3cef')];if(_0xb326f5(_0x4a338d)){var _0xb0201=_0x4eeb99[_0x1a4e('0x3cf0')](_0x5cdcca,_0x4a338d);_0x16e9d4=_0x5afd64[_0x1a4e('0x3cf1')](_0x1e69d3['fromArray'](_0xb0201[_0x1a4e('0x74')]),_0x1e69d3[_0x1a4e('0x14bb')](_0xb0201['max']));}var _0x516987,_0x322a94,_0x39842c=_0x520ffa[_0x2984d4+_0x1a4e('0x3cc3')+_0x498271];if(_0xb326f5(_0x23ff9f))_0x322a94=_0x23ff9f[_0x1a4e('0x3cf2')],_0x516987=0x0;else if(_0xb326f5(_0x332591))_0x322a94=_0x332591[_0x1a4e('0x389')],_0x516987=_0x332591[_0x1a4e('0xf61')]/_0x1e8396[_0x1a4e('0x3cf3')](_0x332591[_0x1a4e('0x3c76')]);else{_0x322a94=_0x273940[_0x504fda[_0x1a4e('0x266d')][_0x1a4e('0x3cef')]]['count'],_0x516987=0x0;}_0x2579a5[_0x1a4e('0x3c20')]+=_0x460aa1(_0x504fda,_0x322a94);var _0x5a531b=_0x297127[_0x504fda['material']],_0x18503a=_0x5a531b[_0x1a4e('0x3cf4')];if(_0xb326f5(_0x5a531b[_0x1a4e('0x3cf5')])){var _0x543742={};_0x543742[_0x5a531b[_0x1a4e('0x3cf5')]]=_0x447e3c(_0x27dd41),_0x18503a=_0x39bf97(_0x18503a,_0x543742);}if(_0xb326f5(_0x5a531b['morphWeightsUniformName'])){var _0xadbb5d={};_0xadbb5d[_0x5a531b[_0x1a4e('0x3cf6')]]=_0x511002(_0x27dd41),_0x18503a=_0x39bf97(_0x18503a,_0xadbb5d);}_0x18503a=_0x39bf97(_0x18503a,{'gltf_color':_0x13bee9(_0x2579a5),'gltf_colorBlend':_0x4aafab(_0x2579a5),'gltf_clippingPlanes':_0x170fdf(_0x2579a5),'gltf_clippingPlanesEdgeStyle':_0x5d437f(_0x2579a5),'gltf_clippingPlanesMatrix':_0x5af160(_0x2579a5),'gltf_iblFactor':_0xbe90a1(_0x2579a5),'gltf_lightColor':_0x267cd3(_0x2579a5),'gltf_sphericalHarmonicCoefficients':_0x43f7c1(_0x2579a5),'gltf_specularMap':_0x4e7cbb(_0x2579a5),'gltf_specularMapSize':_0x58c4d3(_0x2579a5),'gltf_maxSpecularLOD':_0x35ea3a(_0x2579a5),'gltf_luminanceAtZenith':_0x5e057a(_0x2579a5)}),_0xb326f5(_0x2579a5[_0x1a4e('0x3c02')])&&(_0x18503a=_0x2579a5['_uniformMapLoaded'](_0x18503a,_0x433fe4,_0x27dd41));var _0x2ae581={};_0x2579a5[_0x1a4e('0x3c7b')][_0x1a4e('0x3c7c')]?_0x2ae581=_0x4d08d8(_0x2579a5,_0x504fda):_0x2579a5['_dequantizeInShader']&&_0xb326f5(_0x23ff9f)&&(_0x2ae581=_0x2dc323(_0x23ff9f)),_0x18503a=_0x39bf97(_0x18503a,_0x2ae581);var _0x5d0639=_0x1c717e[_0x504fda[_0x1a4e('0x3a41')]],_0x271ce0=_0x5d0639[_0x1a4e('0x3cf7')][_0x1a4e('0x25e5')],_0x3ddd22=_0x2579a5[_0x1a4e('0x3cf8')];_0xb326f5(_0x3ddd22)||(_0x3ddd22={'primitive':_0x2579a5,'id':_0x2579a5['id'],'node':_0x27dd41[_0x1a4e('0x3c54')],'mesh':_0xa5de7a[_0x4b17f5['name']]});var _0x3c857b,_0x5b8b2e=_0x213277[_0x1a4e('0x3cf9')](_0x2579a5['_shadows']),_0x16810e=_0x213277[_0x1a4e('0x3cfa')](_0x2579a5[_0x1a4e('0x3bef')]);if(_0x508ecf&&!_0xb326f5(_0x2579a5['_uniformMapLoaded'])){_0x3c857b=_0x1244a5[_0x1a4e('0x3cfb')](_0x3ddd22),_0x74f4c5[_0x1a4e('0x46')](_0x3c857b);var _0x529c2f={'czm_pickColor':_0x5e28ec(_0x3c857b[_0x1a4e('0x134')])};_0x18503a=_0x39bf97(_0x18503a,_0x529c2f);}_0x508ecf&&(_0x3c857b=_0xb326f5(_0x2579a5['_pickIdLoaded'])&&_0xb326f5(_0x2579a5[_0x1a4e('0x3c02')])?_0x2579a5['_pickIdLoaded']():_0x1a4e('0x3cfc'));var _0x18eeed,_0x47abb0=new _0x432c3c({'boundingVolume':new _0x5afd64(),'cull':_0x2579a5['cull'],'modelMatrix':new _0x193920(),'primitiveType':_0x504fda['mode'],'vertexArray':_0x39842c,'count':_0x322a94,'offset':_0x516987,'shaderProgram':_0x5d62e6[_0x433fe4],'castShadows':_0x5b8b2e,'receiveShadows':_0x16810e,'uniformMap':_0x18503a,'renderState':_0x5d0639,'owner':_0x3ddd22,'pass':_0x271ce0?_0x14ae99[_0x1a4e('0x3cfd')]:_0x2579a5[_0x1a4e('0x3c0d')],'pickId':_0x3c857b});_0x9cc4b1||((_0x18eeed=_0x432c3c[_0x1a4e('0x3cfe')](_0x47abb0))[_0x1a4e('0x3cff')]=new _0x5afd64(),_0x18eeed[_0x1a4e('0x3b64')]=new _0x193920());var _0x261264={'show':!0x0,'boundingSphere':_0x16e9d4,'command':_0x47abb0,'command2D':_0x18eeed,'silhouetteModelCommand':void 0x0,'silhouetteModelCommand2D':void 0x0,'silhouetteColorCommand':void 0x0,'silhouetteColorCommand2D':void 0x0,'translucentCommand':void 0x0,'translucentCommand2D':void 0x0,'disableCullingCommand':void 0x0,'disableCullingCommand2D':void 0x0,'programId':_0x433fe4};_0x27dd41['commands'][_0x1a4e('0x46')](_0x261264),_0x27566f[_0x1a4e('0x46')](_0x261264);}}function _0x252b99(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x3c0d68[_0x1a4e('0x8cb')],_0x1244a5=_0x3c0d68['scene3DOnly'],_0x5afd64=_0x2579a5[_0x1a4e('0x3c21')],_0x9cc4b1=_0x2579a5[_0x1a4e('0x3ca0')],_0x27566f=_0x2579a5['_sourcePrograms'],_0x74f4c5=_0x2579a5[_0x1a4e('0x3c19')],_0x508ecf=_0x74f4c5[_0x1a4e('0x3c84')];for(var _0xa5de7a in _0x2579a5[_0x1a4e('0x3c1b')]&&(_0x508ecf=_0x74f4c5[_0x1a4e('0x3c84')]=_0x2579a5[_0x1a4e('0x3c1a')]['sourceShaders']),_0x9cc4b1)if(_0x9cc4b1[_0x1a4e('0xb')](_0xa5de7a)){var _0xcaf5b7=_0x9cc4b1[_0xa5de7a][_0x1a4e('0x303a')],_0x39bf97=_0x27566f[_0xcaf5b7],_0x520ffa=_0x508ecf[_0x39bf97[_0x1a4e('0x3b48')]];if(_0x4eeb99[_0x1a4e('0x3d00')](_0x39bf97[_0x1a4e('0x3d01')],_0x27dd41),_0x2579a5['extensionsUsed'][_0x1a4e('0x3c7c')]||_0x2579a5['_dequantizeInShader']){var _0x5d62e6=_0x5afd64[_0xcaf5b7];_0xb326f5(_0x5d62e6)||(_0x5d62e6=_0x20c08f(_0x520ffa,_0xcaf5b7,_0x2579a5),_0x5afd64[_0xcaf5b7]=_0x5d62e6),_0x520ffa=_0x5d62e6;}_0x520ffa=_0x23c424(_0x520ffa,_0xcaf5b7,_0x2579a5[_0x1a4e('0x3bfe')]);}if(_0x2579a5[_0x1a4e('0x3c1b')]){var _0x1c717e=_0x2579a5[_0x1a4e('0x3c1a')];_0x74f4c5['buffers']=_0x1c717e[_0x1a4e('0x3c6c')],_0x74f4c5['vertexArrays']=_0x1c717e[_0x1a4e('0x3ced')],_0x74f4c5[_0x1a4e('0x3ca1')]=_0x1c717e['programs'],_0x74f4c5[_0x1a4e('0x3d02')]=_0x1c717e[_0x1a4e('0x3d02')],_0x74f4c5[_0x1a4e('0x3ca3')]=_0x1c717e[_0x1a4e('0x3ca3')],_0x74f4c5[_0x1a4e('0x3ca4')]=_0x1c717e[_0x1a4e('0x3ca4')],_0x74f4c5[_0x1a4e('0x3cc9')]=_0x1c717e[_0x1a4e('0x3cc9')],_0xb326f5(_0x2579a5[_0x1a4e('0x3bfd')])&&_0x106d58(_0x2579a5,_0x27dd41),_0x2579a5[_0x1a4e('0x3c41')]+=function(_0x2579a5){var _0x3c0d68=0x0;for(var _0x27dd41 in _0x2579a5)_0x2579a5['hasOwnProperty'](_0x27dd41)&&(_0x3c0d68+=_0x2579a5[_0x27dd41][_0x1a4e('0x3d03')]);return _0x3c0d68;}(_0x1c717e[_0x1a4e('0x3c6c')]),_0x2579a5['_cachedTexturesByteLength']+=function(_0x2579a5){var _0x3c0d68=0x0;for(var _0x27dd41 in _0x2579a5)_0x2579a5[_0x1a4e('0xb')](_0x27dd41)&&(_0x3c0d68+=_0x2579a5[_0x27dd41]['sizeInBytes']);return _0x3c0d68;}(_0x1c717e['textures']);}else!function(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5[_0x1a4e('0x3c11')];if(0x0===_0x27dd41[_0x1a4e('0x3c6b')]){var _0x1244a5,_0x5afd64=_0x3c0d68[_0x1a4e('0x8cb')],_0x9cc4b1=_0x27dd41[_0x1a4e('0x3d04')],_0x1e69d3=_0x27dd41[_0x1a4e('0x3d05')];if(_0x2579a5['asynchronous']){for(;_0x9cc4b1['length']>0x0&&(_0x3175b8[_0x1a4e('0x17a')](_0x9cc4b1[_0x1a4e('0x3eb')](),_0x2579a5,_0x5afd64),_0x3c0d68['jobScheduler']['execute'](_0x3175b8,_0xf0295e[_0x1a4e('0x3d06')]));)_0x9cc4b1[_0x1a4e('0x3d07')]();for(;_0x1e69d3[_0x1a4e('0x1e')]>0x0&&(_0x1244a5=_0x1e69d3[_0x1a4e('0x3eb')](),_0x313117[_0x1a4e('0x17a')](_0x1244a5['id'],_0x1244a5[_0x1a4e('0x3c76')],_0x2579a5,_0x5afd64),_0x3c0d68[_0x1a4e('0x3d08')][_0x1a4e('0x6c3')](_0x313117,_0xf0295e[_0x1a4e('0x3d06')]));)_0x1e69d3[_0x1a4e('0x3d07')]();}else{for(;_0x9cc4b1[_0x1a4e('0x1e')]>0x0;)_0x448848(_0x9cc4b1[_0x1a4e('0x3d07')](),_0x2579a5,_0x5afd64);for(;_0x1e69d3['length']>0x0;)_0x158ff7((_0x1244a5=_0x1e69d3[_0x1a4e('0x3d07')]())['id'],_0x1244a5[_0x1a4e('0x3c76')],_0x2579a5,_0x5afd64);}}}(_0x2579a5,_0x3c0d68),function(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5[_0x1a4e('0x3c11')],_0x1244a5=_0x27dd41[_0x1a4e('0x3d09')];if(0x0===_0x27dd41[_0x1a4e('0x3d0a')]&&0x0===_0x27dd41['pendingBufferLoads']){var _0x5afd64=_0x3c0d68[_0x1a4e('0x8cb')];if(_0x2579a5['asynchronous'])for(;_0x1244a5[_0x1a4e('0x1e')]>0x0&&(_0x10a7f2[_0x1a4e('0x17a')](_0x1244a5[_0x1a4e('0x3eb')](),_0x2579a5,_0x5afd64),_0x3c0d68['jobScheduler']['execute'](_0x10a7f2,_0xf0295e[_0x1a4e('0x3d0b')]));)_0x1244a5[_0x1a4e('0x3d07')]();else for(;_0x1244a5['length']>0x0;)_0x3bb53d(_0x1244a5[_0x1a4e('0x3d07')](),_0x2579a5,_0x5afd64);}}(_0x2579a5,_0x3c0d68),function(_0x2579a5){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3c11')];if(_0x3c0d68['createSamplers']){_0x3c0d68['createSamplers']=!0x1;var _0x27dd41=_0x2579a5[_0x1a4e('0x3c19')][_0x1a4e('0x3ca4')];_0x529c2f[_0x1a4e('0x3ca5')](_0x2579a5['gltf'],function(_0x2579a5,_0x3c0d68){_0x27dd41[_0x3c0d68]=new _0x543742({'wrapS':_0x2579a5[_0x1a4e('0x3ca9')],'wrapT':_0x2579a5['wrapT'],'minificationFilter':_0x2579a5['minFilter'],'magnificationFilter':_0x2579a5[_0x1a4e('0x3d0c')]});});}}(_0x2579a5),function(_0x2579a5){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3c11')];if(0x0===_0x3c0d68[_0x1a4e('0x3c6b')])for(;_0x3c0d68[_0x1a4e('0x3d0d')][_0x1a4e('0x1e')]>0x0;){var _0x27dd41=_0x3c0d68[_0x1a4e('0x3d0d')][_0x1a4e('0x3d07')](),_0x1244a5=_0x2579a5[_0x1a4e('0x3bca')],_0x5afd64=_0x1244a5[_0x1a4e('0x3c73')][_0x27dd41['bufferView']],_0x9cc4b1=(_0x1244a5[_0x1a4e('0x3ca3')][_0x27dd41['id']]['source'],_0x4eeb99[_0x1a4e('0x3c50')](_0x2579a5,_0x1a4e('0x3cb4'),_0x1a4e('0x3d0e')+_0x27dd41['id']+_0x1a4e('0x3d0f')+_0x27dd41[_0x1a4e('0x3c6f')]));if(_0x1a4e('0x3d10')===_0x27dd41[_0x1a4e('0x3d11')])_0x16e9d4(_0x3c0d68['getBuffer'](_0x5afd64))[_0x1a4e('0xdf8')](_0x314d05(_0x2579a5,_0x27dd41['id']))[_0x1a4e('0x3d12')](_0x9cc4b1),++_0x2579a5[_0x1a4e('0x3c11')][_0x1a4e('0x3c3a')];else if(_0x1a4e('0x3d13')===_0x27dd41['mimeType'])_0x53347a(_0x3c0d68[_0x1a4e('0x13f2')](_0x5afd64))[_0x1a4e('0xdf8')](_0x314d05(_0x2579a5,_0x27dd41['id']))[_0x1a4e('0x3d12')](_0x9cc4b1),++_0x2579a5[_0x1a4e('0x3c11')][_0x1a4e('0x3c3a')];else{var _0x1e69d3=_0x5e13a9(_0x3c0d68,_0x27dd41);_0x498271({'uint8Array':_0x3c0d68[_0x1a4e('0x13f2')](_0x5afd64),'format':_0x27dd41['mimeType'],'flipY':!0x1})['then'](_0x1e69d3)[_0x1a4e('0x3d12')](_0x9cc4b1),++_0x3c0d68[_0x1a4e('0x3d14')];}}}(_0x2579a5),function(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x3c0d68[_0x1a4e('0x8cb')],_0x1244a5=_0x2579a5[_0x1a4e('0x3c11')][_0x1a4e('0x3c6e')];if(_0x2579a5[_0x1a4e('0x3d15')])for(;_0x1244a5[_0x1a4e('0x1e')]>0x0&&(_0x27e5fd[_0x1a4e('0x17a')](_0x1244a5[_0x1a4e('0x3eb')](),_0x2579a5,_0x27dd41),_0x3c0d68[_0x1a4e('0x3d08')]['execute'](_0x27e5fd,_0xf0295e[_0x1a4e('0x3d16')]));)_0x1244a5[_0x1a4e('0x3d07')]();else for(;_0x1244a5['length']>0x0;)_0x4812ca(_0x1244a5[_0x1a4e('0x3d07')](),_0x2579a5,_0x27dd41);}(_0x2579a5,_0x3c0d68);!function(_0x2579a5){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3c11')];if(0x0===_0x3c0d68[_0x1a4e('0x3c6b')]&&_0x3c0d68[_0x1a4e('0x3d17')]){_0x3c0d68['createSkins']=!0x1;var _0x27dd41=_0x2579a5[_0x1a4e('0x3bca')],_0x1244a5=_0x27dd41['accessors'],_0x5afd64={};_0x529c2f[_0x1a4e('0x3d18')](_0x27dd41,function(_0x3c0d68,_0x27dd41){var _0x9cc4b1,_0x1e69d3=_0x1244a5[_0x3c0d68[_0x1a4e('0x3d19')]];_0x193920[_0x1a4e('0x23e')](_0x3c0d68['bindShapeMatrix'],_0x193920[_0x1a4e('0x3a2a')])||(_0x9cc4b1=_0x193920['clone'](_0x3c0d68[_0x1a4e('0x3d1a')])),_0x5afd64[_0x27dd41]={'inverseBindMatrices':_0x5e71de[_0x1a4e('0x3d1b')](_0x2579a5,_0x1e69d3),'bindShapeMatrix':_0x9cc4b1};}),function(_0x2579a5,_0x3c0d68){for(var _0x27dd41=_0x2579a5[_0x1a4e('0x3bca')],_0x1244a5=_0x27dd41[_0x1a4e('0x3d1c')],_0x5afd64=_0x27dd41['nodes'],_0x9cc4b1=_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x11d')],_0x1e69d3=_0x2579a5['_loadResources']['skinnedNodesIds'],_0x27566f=_0x1e69d3[_0x1a4e('0x1e')],_0x74f4c5=0x0;_0x74f4c5<_0x27566f;++_0x74f4c5){var _0x508ecf=_0x1e69d3[_0x74f4c5],_0xa5de7a=_0x9cc4b1[_0x508ecf],_0xcaf5b7=_0x5afd64[_0x508ecf],_0x39bf97=_0x3c0d68[_0xcaf5b7['skin']];_0xa5de7a[_0x1a4e('0x3d19')]=_0x39bf97[_0x1a4e('0x3d19')],_0xa5de7a[_0x1a4e('0x3d1a')]=_0x39bf97[_0x1a4e('0x3d1a')];for(var _0x520ffa=_0x1244a5[_0xcaf5b7[_0x1a4e('0x3d18')]][_0x1a4e('0x3d1d')],_0x5d62e6=_0x520ffa['length'],_0x1c717e=0x0;_0x1c717e<_0x5d62e6;++_0x1c717e){var _0xb326f5=_0x9cc4b1[_0x520ffa[_0x1c717e]];_0xa5de7a['joints']['push'](_0xb326f5);}}}(_0x2579a5,_0x5afd64);}}(_0x2579a5),function(_0x2579a5){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3c11')];if(_0x3c0d68[_0x1a4e('0x3d1e')]()&&_0x3c0d68[_0x1a4e('0x3d1f')]){_0x3c0d68[_0x1a4e('0x3d1f')]=!0x1,_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x3d20')]=[];var _0x27dd41=_0x2579a5['_runtime'][_0x1a4e('0x11d')],_0x1244a5=_0x2579a5[_0x1a4e('0x3bca')]['accessors'];_0x529c2f[_0x1a4e('0x3d21')](_0x2579a5[_0x1a4e('0x3bca')],function(_0x3c0d68,_0x5afd64){for(var _0x9cc4b1=_0x3c0d68[_0x1a4e('0x3d22')],_0x1e69d3=_0x3c0d68[_0x1a4e('0x3ca4')],_0x27566f=Number[_0x1a4e('0x201')],_0x74f4c5=-Number[_0x1a4e('0x201')],_0x508ecf=_0x9cc4b1['length'],_0xa5de7a=new Array(_0x508ecf),_0xcaf5b7=0x0;_0xcaf5b7<_0x508ecf;++_0xcaf5b7){var _0x39bf97=_0x9cc4b1[_0xcaf5b7],_0x520ffa=_0x39bf97[_0x1a4e('0xd95')],_0x5d62e6=_0x520ffa[_0x1a4e('0x64')],_0x1c717e=_0x1e69d3[_0x39bf97[_0x1a4e('0x3ca5')]],_0xb326f5=_0x5e71de['getAnimationParameterValues'](_0x2579a5,_0x1244a5[_0x1c717e[_0x1a4e('0xfc7')]]),_0x297127=_0x5e71de[_0x1a4e('0x3d23')](_0x2579a5,_0x1244a5[_0x1c717e['output']]);_0x27566f=Math['min'](_0x27566f,_0xb326f5[0x0]),_0x74f4c5=Math['max'](_0x74f4c5,_0xb326f5[_0xb326f5[_0x1a4e('0x1e')]-0x1]);var _0x5cdcca=_0x5e71de[_0x1a4e('0x3d24')](_0x2579a5,_0x5afd64,_0x3c0d68,_0x39bf97[_0x1a4e('0x3ca5')],_0x1c717e,_0xb326f5,_0x5d62e6,_0x297127);_0xa5de7a[_0xcaf5b7]=_0x2dbda7(_0x2579a5,_0x27dd41[_0x520ffa['node']],_0x520ffa[_0x1a4e('0x64')],_0x5cdcca);}_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x3d20')][_0x5afd64]={'name':_0x3c0d68[_0x1a4e('0x2cb')],'startTime':_0x27566f,'stopTime':_0x74f4c5,'channelEvaluators':_0xa5de7a};});}}(_0x2579a5),_0x2579a5[_0x1a4e('0x3c1b')]||(_0x106d58(_0x2579a5,_0x27dd41),_0x107c43(_0x2579a5)),function(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5[_0x1a4e('0x3c11')];if(_0x27dd41[_0x1a4e('0x3d25')]()&&_0x27dd41['createUniformMaps']){_0x27dd41['createUniformMaps']=!0x1;var _0x1244a5=_0x2579a5[_0x1a4e('0x3bca')],_0x5afd64=_0x2579a5[_0x1a4e('0x3ca0')],_0x9cc4b1=_0x2579a5['_uniformMaps'],_0x1e69d3=_0x2579a5['_rendererResources'][_0x1a4e('0x3ca3')],_0x27566f=_0x2579a5['_defaultTexture'];_0x529c2f[_0x1a4e('0x3a41')](_0x1244a5,function(_0x27dd41,_0x1244a5){var _0x74f4c5=_0x2579a5[_0x1a4e('0x3c35')]['materialsById'][_0x1244a5],_0x508ecf=_0x5afd64[_0x74f4c5[_0x1a4e('0x3cbf')]],_0xa5de7a=_0x74f4c5[_0x1a4e('0x3d26')],_0xcaf5b7=_0x3473ea(_0x2579a5,_0x27dd41,_0x508ecf,_0xa5de7a,_0x3c0d68,_0x1e69d3,_0x27566f),_0x39bf97=_0x9cc4b1[_0x1244a5];if(_0x39bf97[_0x1a4e('0x3cf4')]=_0xcaf5b7[_0x1a4e('0x21')],_0x39bf97['values']=_0xcaf5b7['values'],_0x39bf97['jointMatrixUniformName']=_0xcaf5b7[_0x1a4e('0x3cf5')],_0x39bf97[_0x1a4e('0x3cf6')]=_0xcaf5b7[_0x1a4e('0x3cf6')],_0xb326f5(_0x508ecf[_0x1a4e('0x266d')][_0x1a4e('0x3d27')])){var _0x520ffa=_0x2997e6['createTexture'](_0x2579a5,_0x3c0d68);_0x39bf97[_0x1a4e('0x3cf4')][_0x1a4e('0x3d28')]=function(){return _0x520ffa;};}});}}(_0x2579a5,_0x27dd41),function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=_0x2579a5[_0x1a4e('0x3c11')];if(_0x1244a5[_0x1a4e('0x3d29')]()&&_0x1244a5['createRuntimeNodes']){_0x1244a5[_0x1a4e('0x3d2a')]=!0x1;for(var _0x5afd64=[],_0x9cc4b1=_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x11d')],_0x27566f=_0x2579a5['gltf'],_0x74f4c5=_0x27566f[_0x1a4e('0x11d')],_0x508ecf=_0x27566f['scenes'][_0x27566f['scene']]['nodes'],_0xa5de7a=_0x508ecf[_0x1a4e('0x1e')],_0xcaf5b7=[],_0x39bf97={},_0x520ffa=0x0;_0x520ffa<_0xa5de7a;++_0x520ffa)for(_0xcaf5b7[_0x1a4e('0x46')]({'parentRuntimeNode':void 0x0,'gltfNode':_0x74f4c5[_0x508ecf[_0x520ffa]],'id':_0x508ecf[_0x520ffa]});_0xcaf5b7[_0x1a4e('0x1e')]>0x0;){var _0x5d62e6=_0xcaf5b7[_0x1a4e('0x76')]();_0x39bf97[_0x5d62e6['id']]=!0x0;var _0x1c717e=_0x5d62e6['parentRuntimeNode'],_0x297127=_0x5d62e6[_0x1a4e('0x3d2b')],_0x5cdcca=_0x9cc4b1[_0x5d62e6['id']];if(0x0===_0x5cdcca[_0x1a4e('0x3312')][_0x1a4e('0x1e')])if(_0xb326f5(_0x297127[_0x1a4e('0x3c72')]))_0x5cdcca[_0x1a4e('0x3c72')]=_0x193920[_0x1a4e('0x3d2c')](_0x297127[_0x1a4e('0x3c72')]);else{var _0x273940=_0x297127['rotation'];_0x5cdcca[_0x1a4e('0x3d2d')]=_0x1e69d3[_0x1a4e('0x14bb')](_0x297127[_0x1a4e('0x3d2d')]),_0x5cdcca[_0x1a4e('0x3d2e')]=_0x4a338d[_0x1a4e('0x3d2f')](_0x273940),_0x5cdcca[_0x1a4e('0x143')]=_0x1e69d3[_0x1a4e('0x14bb')](_0x297127[_0x1a4e('0x143')]);}_0xb326f5(_0x1c717e)?(_0x1c717e[_0x1a4e('0x6f')][_0x1a4e('0x46')](_0x5cdcca),_0x5cdcca[_0x1a4e('0x3312')][_0x1a4e('0x46')](_0x1c717e)):_0x5afd64[_0x1a4e('0x46')](_0x5cdcca),_0xb326f5(_0x297127['mesh'])&&_0x48750a(_0x2579a5,_0x297127,_0x5cdcca,_0x3c0d68,_0x27dd41);var _0x18b53d=_0x297127['children'];if(_0xb326f5(_0x18b53d))for(var _0x2984d4=_0x18b53d[_0x1a4e('0x1e')],_0x4b17f5=0x0;_0x4b17f5<_0x2984d4;_0x4b17f5++){var _0x3bace5=_0x18b53d[_0x4b17f5];_0x39bf97[_0x3bace5]||_0xcaf5b7[_0x1a4e('0x46')]({'parentRuntimeNode':_0x5cdcca,'gltfNode':_0x74f4c5[_0x3bace5],'id':_0x18b53d[_0x4b17f5]});}}_0x2579a5['_runtime'][_0x1a4e('0x3d30')]=_0x5afd64,_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x11d')]=_0x9cc4b1;}}(_0x2579a5,_0x27dd41,_0x1244a5);}function _0x35af25(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5[_0x1a4e('0x3c54')],_0x1244a5=_0x27dd41['matrix'];_0x27dd41[_0x1a4e('0x3d31')]&&_0xb326f5(_0x1244a5)?_0x193920['clone'](_0x1244a5,_0x3c0d68):_0xb326f5(_0x2579a5['matrix'])?_0x193920['clone'](_0x2579a5[_0x1a4e('0x3c72')],_0x3c0d68):(_0x193920[_0x1a4e('0x3d32')](_0x2579a5[_0x1a4e('0x3d2d')],_0x2579a5[_0x1a4e('0x3d2e')],_0x2579a5[_0x1a4e('0x143')],_0x3c0d68),_0x27dd41[_0x1a4e('0x3d33')](_0x3c0d68));}var _0x232472=[],_0x79654e=new _0x27566f(),_0x3ac1b6=new _0x193920();var _0x5df36c=new _0x193920();function _0x23afaa(_0x2579a5){var _0x3c0d68,_0x27dd41,_0x1244a5=_0x432c3c['shallowClone'](_0x2579a5);return _0x1244a5[_0x1a4e('0x3d34')]=_0x14ae99['TRANSLUCENT'],_0x1244a5[_0x1a4e('0x3d35')]=(_0x3c0d68=_0x2579a5[_0x1a4e('0x3d35')],(_0x27dd41=_0xa5de7a(_0x3c0d68,!0x0))[_0x1a4e('0x3c0c')][_0x1a4e('0x25e5')]=!0x1,_0x27dd41[_0x1a4e('0x3d36')][_0x1a4e('0x25e5')]=!0x0,_0x27dd41[_0x1a4e('0x3d37')]=!0x1,_0x27dd41[_0x1a4e('0x3cf7')]=_0x59349c[_0x1a4e('0x3d38')],_0x18503a[_0x1a4e('0x3ccf')](_0x27dd41)),_0x1244a5;}function _0x497eb3(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=_0x3c0d68[_0x1a4e('0x3d39')],_0x5afd64=_0x2579a5[_0x1a4e('0x134')][_0x1a4e('0x3a4f')];if(_0x5afd64>0x0&&_0x5afd64<0x1){var _0x9cc4b1=_0x2579a5[_0x1a4e('0x3c22')],_0x1e69d3=_0x9cc4b1['length'];if(!_0xb326f5(_0x9cc4b1[0x0][_0x1a4e('0x3d3a')])||_0x27dd41)for(var _0x27566f=0x0;_0x27566f<_0x1e69d3;++_0x27566f){var _0x74f4c5=_0x9cc4b1[_0x27566f],_0x508ecf=_0x74f4c5[_0x1a4e('0x3885')];if(_0x74f4c5[_0x1a4e('0x3d3a')]=_0x23afaa(_0x508ecf),!_0x1244a5){var _0xa5de7a=_0x74f4c5['command2D'];_0x74f4c5[_0x1a4e('0x3d3b')]=_0x23afaa(_0xa5de7a);}}}}function _0x1c6ec6(_0x2579a5){var _0x3c0d68,_0x27dd41,_0x1244a5=_0x432c3c[_0x1a4e('0x3cfe')](_0x2579a5);return _0x1244a5['renderState']=(_0x3c0d68=_0x2579a5[_0x1a4e('0x3d35')],(_0x27dd41=_0xa5de7a(_0x3c0d68,!0x0))[_0x1a4e('0x3c0c')][_0x1a4e('0x25e5')]=!0x1,_0x18503a[_0x1a4e('0x3ccf')](_0x27dd41)),_0x1244a5;}function _0x12f01d(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=_0x3c0d68[_0x1a4e('0x3d39')];if(!_0x2579a5[_0x1a4e('0x3bf5')]){var _0x5afd64=_0x2579a5['_nodeCommands'],_0x9cc4b1=_0x5afd64[_0x1a4e('0x1e')];if(!_0xb326f5(_0x5afd64[0x0][_0x1a4e('0x3d3c')])||_0x27dd41)for(var _0x1e69d3=0x0;_0x1e69d3<_0x9cc4b1;++_0x1e69d3){var _0x27566f=_0x5afd64[_0x1e69d3],_0x74f4c5=_0x27566f[_0x1a4e('0x3885')];if(_0x27566f[_0x1a4e('0x3d3c')]=_0x1c6ec6(_0x74f4c5),!_0x1244a5){var _0x508ecf=_0x27566f['command2D'];_0x27566f['disableCullingCommand2D']=_0x1c6ec6(_0x508ecf);}}}}function _0x2873f0(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5[_0x1a4e('0x3c19')][_0x1a4e('0x3ca1')];for(var _0x1244a5 in _0x27dd41)if(_0x27dd41[_0x1a4e('0xb')](_0x1244a5)&&_0x27dd41[_0x1244a5]===_0x3c0d68)return _0x1244a5;}function _0x4302f9(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5=_0x3c0d68['vertexShaderSource'][_0x1a4e('0x15c5')][0x0],_0x5afd64=_0x3c0d68[_0x1a4e('0x3cc1')],_0x9cc4b1=_0x2579a5[_0x1a4e('0x3bd8')];_0x1244a5=_0x2ae581[_0x1a4e('0x3c88')](_0x1244a5,_0x1a4e('0x3d3d')),_0x1244a5+=_0x1a4e('0x3d3e')+_0x9cc4b1+_0x1a4e('0x3d3f');return _0xadbb5d['fromCache']({'context':_0x27dd41['context'],'vertexShaderSource':_0x1244a5,'fragmentShaderSource':_0x1a4e('0x3d40'),'attributeLocations':_0x5afd64});}function _0x38c39b(_0x2579a5,_0x3c0d68){return _0x11bb81(_0x3c0d68['context'])&&_0x2579a5[_0x1a4e('0x3bd9')]>0x0&&_0x2579a5[_0x1a4e('0x3bd5')][_0x1a4e('0x3a4f')]>0x0&&_0xb326f5(_0x2579a5[_0x1a4e('0x3bd8')]);}function _0x42eb7d(_0x2579a5){return _0x2579a5['color'][_0x1a4e('0x3a4f')]>0x0&&_0x2579a5[_0x1a4e('0x134')]['alpha']<0x1;}function _0x62f0c8(_0x2579a5){return 0x0===_0x2579a5['color'][_0x1a4e('0x3a4f')];}function _0x41e951(_0x2579a5,_0x3c0d68){return Math[_0x1a4e('0xb4')](_0x2579a5)!==Math[_0x1a4e('0xb4')](_0x3c0d68)||Math[_0x1a4e('0x6d')](_0x2579a5)!==Math[_0x1a4e('0x6d')](_0x3c0d68);}var _0x6ad21f=0x0;function _0xf7db4(_0x2579a5,_0x3c0d68){for(var _0x27dd41=++_0x6ad21f%0xff,_0x1244a5=function(_0x2579a5){for(var _0x3c0d68=_0x2579a5[_0x1a4e('0x3c22')],_0x27dd41=_0x3c0d68[_0x1a4e('0x1e')],_0x1244a5=0x0;_0x1244a5<_0x27dd41;++_0x1244a5)if(_0x3c0d68[_0x1244a5][_0x1a4e('0x3885')]['pass']===_0x14ae99['TRANSLUCENT'])return!0x0;return!0x1;}(_0x2579a5)||_0x42eb7d(_0x2579a5)||_0x2579a5[_0x1a4e('0x3bd5')][_0x1a4e('0x3a4f')]<0x1,_0x5afd64=_0x2579a5[_0x1a4e('0x3c19')]['silhouettePrograms'],_0x9cc4b1=_0x3c0d68[_0x1a4e('0x3d39')],_0x1e69d3=_0x2579a5[_0x1a4e('0x3c22')],_0x27566f=_0x1e69d3[_0x1a4e('0x1e')],_0x74f4c5=0x0;_0x74f4c5<_0x27566f;++_0x74f4c5){var _0x508ecf=_0x1e69d3[_0x74f4c5],_0xcaf5b7=_0x508ecf['command'],_0x520ffa=_0x42eb7d(_0x2579a5)?_0x508ecf['translucentCommand']:_0xcaf5b7,_0x5d62e6=_0x432c3c[_0x1a4e('0x3cfe')](_0x520ffa),_0x1c717e=_0xa5de7a(_0x520ffa[_0x1a4e('0x3d35')]);_0x1c717e['stencilTest']={'enabled':!0x0,'frontFunction':_0x322a94[_0x1a4e('0x3d41')],'backFunction':_0x322a94['ALWAYS'],'reference':_0x27dd41,'mask':-0x1,'frontOperation':{'fail':_0x322a94['KEEP'],'zFail':_0x322a94[_0x1a4e('0x559')],'zPass':_0x322a94[_0x1a4e('0x3d42')]},'backOperation':{'fail':_0x322a94['KEEP'],'zFail':_0x322a94[_0x1a4e('0x559')],'zPass':_0x322a94[_0x1a4e('0x3d42')]}},_0x62f0c8(_0x2579a5)&&(_0x1c717e[_0x1a4e('0x3d43')]={'red':!0x1,'green':!0x1,'blue':!0x1,'alpha':!0x1},_0x1c717e['depthMask']=!0x1),_0x1c717e=_0x18503a[_0x1a4e('0x3ccf')](_0x1c717e),_0x5d62e6[_0x1a4e('0x3d35')]=_0x1c717e,_0x508ecf[_0x1a4e('0x3d44')]=_0x5d62e6;var _0x297127=_0x432c3c[_0x1a4e('0x3cfe')](_0xcaf5b7);(_0x1c717e=_0xa5de7a(_0xcaf5b7[_0x1a4e('0x3d35')],!0x0))[_0x1a4e('0x3d36')][_0x1a4e('0x25e5')]=!0x0,_0x1c717e[_0x1a4e('0x3c0c')][_0x1a4e('0x25e5')]=!0x1,_0x1244a5&&(_0x297127[_0x1a4e('0x3d34')]=_0x14ae99[_0x1a4e('0x3cfd')],_0x1c717e[_0x1a4e('0x3d37')]=!0x1,_0x1c717e[_0x1a4e('0x3cf7')]=_0x59349c[_0x1a4e('0x3d38')]),_0x1c717e[_0x1a4e('0x3d45')]={'enabled':!0x0,'frontFunction':_0x322a94[_0x1a4e('0x3d46')],'backFunction':_0x322a94[_0x1a4e('0x3d46')],'reference':_0x27dd41,'mask':-0x1,'frontOperation':{'fail':_0x322a94[_0x1a4e('0x559')],'zFail':_0x322a94[_0x1a4e('0x559')],'zPass':_0x322a94[_0x1a4e('0x559')]},'backOperation':{'fail':_0x322a94[_0x1a4e('0x559')],'zFail':_0x322a94[_0x1a4e('0x559')],'zPass':_0x322a94[_0x1a4e('0x559')]}},_0x1c717e=_0x18503a[_0x1a4e('0x3ccf')](_0x1c717e);var _0x5cdcca=_0xcaf5b7[_0x1a4e('0x3d47')],_0x273940=_0x2873f0(_0x2579a5,_0x5cdcca),_0x18b53d=_0x5afd64[_0x273940];_0xb326f5(_0x18b53d)||(_0x18b53d=_0x4302f9(_0x2579a5,_0x5cdcca,_0x3c0d68),_0x5afd64[_0x273940]=_0x18b53d);var _0x2984d4=_0x39bf97(_0xcaf5b7[_0x1a4e('0x3cf4')],{'gltf_silhouetteColor':_0x48db4c(_0x2579a5),'gltf_silhouetteSize':_0x490412(_0x2579a5)});if(_0x297127[_0x1a4e('0x3d35')]=_0x1c717e,_0x297127[_0x1a4e('0x3d47')]=_0x18b53d,_0x297127[_0x1a4e('0x3cf4')]=_0x2984d4,_0x297127['castShadows']=!0x1,_0x297127['receiveShadows']=!0x1,_0x508ecf['silhouetteColorCommand']=_0x297127,!_0x9cc4b1){var _0x4b17f5=_0x508ecf[_0x1a4e('0x3d48')],_0x3bace5=_0x432c3c['shallowClone'](_0x5d62e6);_0x3bace5[_0x1a4e('0x3cff')]=_0x4b17f5[_0x1a4e('0x3cff')],_0x3bace5['modelMatrix']=_0x4b17f5['modelMatrix'],_0x508ecf['silhouetteModelCommand2D']=_0x3bace5;var _0x1e8396=_0x432c3c[_0x1a4e('0x3cfe')](_0x297127);_0x3bace5['boundingVolume']=_0x4b17f5[_0x1a4e('0x3cff')],_0x3bace5[_0x1a4e('0x3b64')]=_0x4b17f5['modelMatrix'],_0x508ecf[_0x1a4e('0x3d49')]=_0x1e8396;}}}function _0x5b1d7e(_0x2579a5,_0x3c0d68,_0x27dd41){if(_0x38c39b(_0x2579a5,_0x3c0d68)){var _0x1244a5=_0x2579a5[_0x1a4e('0x3c22')],_0x5afd64=_0x41e951(_0x2579a5[_0x1a4e('0x134')][_0x1a4e('0x3a4f')],_0x2579a5[_0x1a4e('0x3d4a')])||_0x41e951(_0x2579a5[_0x1a4e('0x3bd5')][_0x1a4e('0x3a4f')],_0x2579a5[_0x1a4e('0x3bd7')])||!_0xb326f5(_0x1244a5[0x0]['silhouetteModelCommand']);_0x2579a5['_colorPreviousAlpha']=_0x2579a5['color'][_0x1a4e('0x3a4f')],_0x2579a5['_silhouetteColorPreviousAlpha']=_0x2579a5[_0x1a4e('0x3bd5')][_0x1a4e('0x3a4f')],(_0x5afd64||_0x27dd41)&&_0xf7db4(_0x2579a5,_0x3c0d68);}}var _0x51fea4=new _0x5afd64();var _0x34febd=new _0x1e69d3(),_0x3580f5=new _0x74f4c5();function _0x5c7a94(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5['scale'];if(0x0!==_0x2579a5['minimumPixelSize']){var _0x1244a5=_0x3c0d68[_0x1a4e('0x8cb')],_0x5afd64=Math[_0x1a4e('0x6c')](_0x1244a5['drawingBufferWidth'],_0x1244a5[_0x1a4e('0x3d4b')]),_0x9cc4b1=_0xb326f5(_0x2579a5[_0x1a4e('0x3bdb')])?_0x2579a5['_clampedModelMatrix']:_0x2579a5[_0x1a4e('0x3b64')];if(_0x34febd['x']=_0x9cc4b1[0xc],_0x34febd['y']=_0x9cc4b1[0xd],_0x34febd['z']=_0x9cc4b1[0xe],_0xb326f5(_0x2579a5[_0x1a4e('0x3c23')])&&_0x1e69d3[_0x1a4e('0x177')](_0x2579a5[_0x1a4e('0x3c23')],_0x34febd,_0x34febd),_0x2579a5[_0x1a4e('0xa4c')]!==_0x25982e['SCENE3D']){var _0x27566f=_0x3c0d68[_0x1a4e('0x3d4c')],_0x74f4c5=_0x27566f['ellipsoid'][_0x1a4e('0x38dd')](_0x34febd,_0x3580f5);_0x27566f[_0x1a4e('0x500')](_0x74f4c5,_0x34febd),_0x1e69d3[_0x1a4e('0x3a73')](_0x34febd['z'],_0x34febd['x'],_0x34febd['y'],_0x34febd);}var _0x508ecf=_0x2579a5[_0x1a4e('0x3d4d')][_0x1a4e('0x3b5d')],_0xa5de7a=function(_0x2579a5,_0x3c0d68,_0x27dd41){return _0x51fea4['center']=_0x2579a5,_0x51fea4[_0x1a4e('0x3b5d')]=_0x3c0d68,_0x27dd41['camera'][_0x1a4e('0x3d4e')](_0x51fea4,_0x27dd41['context'][_0x1a4e('0x3d4f')],_0x27dd41[_0x1a4e('0x8cb')]['drawingBufferHeight']);}(_0x34febd,_0x508ecf,_0x3c0d68),_0xcaf5b7=0x1/_0xa5de7a;Math['min'](_0xcaf5b7*(0x2*_0x508ecf),_0x5afd64)<_0x2579a5[_0x1a4e('0x3bdc')]&&(_0x27dd41=_0x2579a5[_0x1a4e('0x3bdc')]*_0xa5de7a/(0x2*_0x2579a5[_0x1a4e('0x3c39')]));}return _0xb326f5(_0x2579a5[_0x1a4e('0x3bdd')])?Math[_0x1a4e('0x74')](_0x2579a5[_0x1a4e('0x3bdd')],_0x27dd41):_0x27dd41;}function _0x1563a9(_0x2579a5){_0xb326f5(_0x2579a5['_cacheKey'])&&_0xb326f5(_0x2579a5[_0x1a4e('0x3bc5')])&&0x0==--_0x2579a5[_0x1a4e('0x3bc5')][_0x1a4e('0x389')]&&delete _0x238f1f[_0x2579a5[_0x1a4e('0x3bcd')]],_0x2579a5[_0x1a4e('0x3bc5')]=void 0x0;}function _0x538980(_0x2579a5,_0x3c0d68){this[_0x1a4e('0x3c6c')]=void 0x0,this['vertexArrays']=void 0x0,this[_0x1a4e('0x3ca1')]=void 0x0,this[_0x1a4e('0x3c84')]=void 0x0,this[_0x1a4e('0x3d02')]=void 0x0,this[_0x1a4e('0x3ca3')]=void 0x0,this[_0x1a4e('0x3ca4')]=void 0x0,this[_0x1a4e('0x3cc9')]=void 0x0,this[_0x1a4e('0x3bc7')]=!0x1,this['context']=_0x2579a5,this[_0x1a4e('0x3bcc')]=_0x3c0d68,this[_0x1a4e('0x389')]=0x0;}function _0x18a97c(_0x2579a5){for(var _0x3c0d68 in _0x2579a5)_0x2579a5[_0x1a4e('0xb')](_0x3c0d68)&&_0x2579a5[_0x3c0d68][_0x1a4e('0x139c')]();}function _0x5a73ef(_0x2579a5,_0x3c0d68,_0x27dd41){return function(_0x1244a5){if(_0x2579a5[_0x1a4e('0x3bdf')]===_0x33ea2e[_0x1a4e('0x3d50')]){var _0x5afd64=_0x3c0d68[_0x1a4e('0x38dd')](_0x1244a5,_0x3580f5);_0x5afd64['height']+=_0x27dd41['height'],_0x3c0d68[_0x1a4e('0x3b86')](_0x5afd64,_0x1244a5);}var _0x9cc4b1=_0x2579a5[_0x1a4e('0x3bdb')];_0x193920[_0x1a4e('0x240')](_0x2579a5[_0x1a4e('0x3b64')],_0x9cc4b1),_0x9cc4b1[0xc]=_0x1244a5['x'],_0x9cc4b1[0xd]=_0x1244a5['y'],_0x9cc4b1[0xe]=_0x1244a5['z'],_0x2579a5[_0x1a4e('0x3be0')]=!0x0;};}_0x538980[_0x1a4e('0xa')][_0x1a4e('0x3d51')]=function(){if(0x0==--this['count'])return _0xb326f5(this['cacheKey'])&&delete this[_0x1a4e('0x8cb')]['cache'][_0x1a4e('0x3d52')][this[_0x1a4e('0x3bcc')]],_0x18a97c((_0x2579a5=this)[_0x1a4e('0x3c6c')]),_0x18a97c(_0x2579a5[_0x1a4e('0x3ced')]),_0x18a97c(_0x2579a5['programs']),_0x18a97c(_0x2579a5[_0x1a4e('0x3d02')]),_0x18a97c(_0x2579a5['textures']),_0x297127(this);var _0x2579a5;};var _0x4152fe=new _0x1e69d3(),_0x9b198f=new _0x74f4c5();function _0x35f188(_0x2579a5,_0x3c0d68){_0x2579a5[_0x1a4e('0x3ca1')]!==_0x3c0d68[_0x1a4e('0x3ca1')]&&_0x18a97c(_0x2579a5[_0x1a4e('0x3ca1')]),_0x2579a5[_0x1a4e('0x3d02')]!==_0x3c0d68[_0x1a4e('0x3d02')]&&_0x18a97c(_0x2579a5[_0x1a4e('0x3d02')]);}_0x1efb48[_0x1a4e('0xa')]['update']=function(_0x2579a5){if(_0x2579a5['mode']!==_0x25982e[_0x1a4e('0x3d53')])if(_0x18b53d[_0x1a4e('0x3d54')][_0x1a4e('0x3d55')]){var _0x3c0d68=_0x18b53d['supportsWebP'](),_0x27dd41=_0x2579a5[_0x1a4e('0x8cb')];if(this[_0x1a4e('0x3d56')]=_0x27dd41['defaultTexture'],this[_0x1a4e('0x37b7')]===_0x4c40c5[_0x1a4e('0x3c10')]&&_0xb326f5(this[_0x1a4e('0x3bca')])){var _0x1244a5,_0x9cc4b1=this[_0x1a4e('0x3bcc')];if(_0xb326f5(_0x9cc4b1)){_0x27dd41[_0x1a4e('0xa67')][_0x1a4e('0x3d52')]=_0x1c717e(_0x27dd41['cache'][_0x1a4e('0x3d52')],{});var _0x508ecf=_0x27dd41[_0x1a4e('0xa67')]['modelRendererResourceCache'];if(_0x1244a5=_0x508ecf[this[_0x1a4e('0x3bcc')]],_0xb326f5(_0x1244a5)){if(!_0x1244a5[_0x1a4e('0x3bc7')])return;++_0x1244a5[_0x1a4e('0x389')],this[_0x1a4e('0x3c1b')]=!0x0;}else(_0x1244a5=new _0x538980(_0x27dd41,_0x9cc4b1))['count']=0x1,_0x508ecf[this[_0x1a4e('0x3bcc')]]=_0x1244a5;this[_0x1a4e('0x3c1a')]=_0x1244a5;}else(_0x1244a5=new _0x538980(_0x27dd41,void 0x0))[_0x1a4e('0x389')]=0x1,this['_cachedRendererResources']=_0x1244a5;if(this[_0x1a4e('0x37b7')]=_0x4c40c5[_0x1a4e('0x3d57')],this[_0x1a4e('0x37b7')]!==_0x4c40c5[_0x1a4e('0x6b3')]){var _0xcaf5b7=this[_0x1a4e('0x3bca')][_0x1a4e('0x325c')];if(_0xb326f5(_0xcaf5b7)&&_0xb326f5(_0xcaf5b7[_0x1a4e('0x3d58')])){var _0x39bf97=_0x1e69d3['fromArray'](_0xcaf5b7[_0x1a4e('0x3d58')][_0x1a4e('0x111')]);if(!_0x1e69d3[_0x1a4e('0x23e')](_0x39bf97,_0x1e69d3[_0x1a4e('0xea7')])){this[_0x1a4e('0x3d59')]=_0x39bf97;var _0x520ffa=_0x2579a5['mapProjection'],_0x5d62e6=_0x520ffa['ellipsoid'][_0x1a4e('0x38dd')](this['_rtcCenter3D']),_0x297127=_0x520ffa[_0x1a4e('0x500')](_0x5d62e6);_0x1e69d3['fromElements'](_0x297127['z'],_0x297127['x'],_0x297127['y'],_0x297127),this[_0x1a4e('0x3d5a')]=_0x297127,this[_0x1a4e('0x3c24')]=new _0x1e69d3(),this[_0x1a4e('0x3c23')]=this['_rtcCenter3D'];}}_0x16810e(this[_0x1a4e('0x3bca')]),this[_0x1a4e('0x3c11')]=new _0x11dbaf(),this[_0x1a4e('0x3c1b')]||_0x4eeb99['parseBuffers'](this,_0x244761);}}var _0x273940=this[_0x1a4e('0x3c11')],_0x2984d4=this['_incrementallyLoadTextures'],_0x4b17f5=!0x1;if(this[_0x1a4e('0x37b7')]===_0x4c40c5[_0x1a4e('0x3d57')]){if(0x0===_0x273940[_0x1a4e('0x3c6b')]){if(!_0x273940[_0x1a4e('0x3d55')]){if(_0x2579a5['brdfLutGenerator'][_0x1a4e('0x937')](_0x2579a5),_0x4eeb99[_0x1a4e('0x3d5b')](this[_0x1a4e('0x3d5c')],_0x3c0d68),_0x4eeb99['updateForwardAxis'](this),!_0xb326f5(this[_0x1a4e('0x3bca')]['extras'][_0x1a4e('0x3d5d')])){var _0x1e8396=this['gltf'];_0x1e8396['extras'][_0x1a4e('0x3d5d')]=_0x4eeb99[_0x1a4e('0x3d5e')](_0x1e8396),_0x1e8396['extras'][_0x1a4e('0x3d5f')]=_0xb326f5(_0x4eeb99[_0x1a4e('0x3c3e')](_0x1e8396)[_0x1a4e('0x3ca8')]),this['_sourceVersion']=_0x1e8396[_0x1a4e('0x3c6d')][_0x1a4e('0x3d5d')],this[_0x1a4e('0x3c87')]=_0x1e8396[_0x1a4e('0x3c6d')][_0x1a4e('0x3d5f')],_0x3c240c(_0x1e8396),_0x5b8b2e(_0x1e8396);var _0x498271={'addBatchIdToGeneratedShaders':this['_addBatchIdToGeneratedShaders']};_0x18fe56(_0x1e8396,_0x498271),_0x218517(_0x1e8396,_0x498271);}this[_0x1a4e('0x3c25')]=this[_0x1a4e('0x3bca')][_0x1a4e('0x3c6d')][_0x1a4e('0x3d5d')],this['_sourceKHRTechniquesWebGL']=this[_0x1a4e('0x3bca')]['extras'][_0x1a4e('0x3d5f')],this[_0x1a4e('0x3c85')]=this[_0x1a4e('0x3c85')]&&_0x3623e8[_0x1a4e('0x25ae')](this),function(_0x2579a5){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3bca')],_0x27dd41=_0x2579a5[_0x1a4e('0x3c11')];_0x529c2f['buffer'](_0x3c0d68,function(_0x2579a5,_0x3c0d68){_0x27dd41[_0x1a4e('0x3c6c')][_0x3c0d68]=_0x2579a5['extras'][_0x1a4e('0x3d60')][_0x1a4e('0xfaa')];});}(this),function(_0x2579a5){var _0x3c0d68={},_0x27dd41={},_0x1244a5={};_0x2579a5['_runtime'][_0x1a4e('0x3c70')]=_0x3c0d68,_0x2579a5['_runtime']['articulationsByStageKey']=_0x27dd41,_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x3d61')]=_0x1244a5;var _0x5afd64=_0x2579a5['gltf'];if(_0x47abb0(_0x5afd64,_0x1a4e('0x3d62'))&&_0xb326f5(_0x5afd64['extensions'])&&_0xb326f5(_0x5afd64[_0x1a4e('0x325c')][_0x1a4e('0x3d62')])){var _0x9cc4b1=_0x5afd64[_0x1a4e('0x325c')][_0x1a4e('0x3d62')][_0x1a4e('0x3d63')];if(_0xb326f5(_0x9cc4b1))for(var _0x1e69d3=_0x9cc4b1[_0x1a4e('0x1e')],_0x27566f=0x0;_0x27566f<_0x1e69d3;++_0x27566f){var _0x74f4c5=_0xa5de7a(_0x9cc4b1[_0x27566f]);_0x74f4c5[_0x1a4e('0x11d')]=[],_0x74f4c5[_0x1a4e('0x3c5c')]=!0x0,_0x3c0d68[_0x74f4c5[_0x1a4e('0x2cb')]]=_0x74f4c5;for(var _0x508ecf=_0x74f4c5['stages']['length'],_0xcaf5b7=0x0;_0xcaf5b7<_0x508ecf;++_0xcaf5b7){var _0x39bf97=_0x74f4c5[_0x1a4e('0x3c71')][_0xcaf5b7];_0x39bf97[_0x1a4e('0x3c5b')]=_0x39bf97[_0x1a4e('0x3d64')];var _0x520ffa=_0x74f4c5[_0x1a4e('0x2cb')]+'\x20'+_0x39bf97[_0x1a4e('0x2cb')];_0x27dd41[_0x520ffa]=_0x74f4c5,_0x1244a5[_0x520ffa]=_0x39bf97;}}}}(this),function(_0x2579a5){var _0x3c0d68=_0x2579a5['gltf'];if(_0x47abb0(_0x3c0d68,_0x1a4e('0x3ca8'))){var _0x27dd41=_0x2579a5['_sourcePrograms'],_0x1244a5=_0x2579a5[_0x1a4e('0x3ca0')],_0x5afd64=_0x3c0d68[_0x1a4e('0x325c')][_0x1a4e('0x3ca8')][_0x1a4e('0x3ca1')];_0x529c2f[_0x1a4e('0x3d65')](_0x3c0d68,function(_0x2579a5,_0x3c0d68){_0x1244a5[_0x3c0d68]=_0xa5de7a(_0x2579a5);var _0x9cc4b1=_0x2579a5[_0x1a4e('0x303a')];_0xb326f5(_0x27dd41[_0x9cc4b1])||(_0x27dd41[_0x9cc4b1]=_0xa5de7a(_0x5afd64[_0x9cc4b1]));});}}(this),this[_0x1a4e('0x3c1b')]||(function(_0x2579a5){var _0x3c0d68=_0x2579a5['gltf'][_0x1a4e('0x3c73')],_0x27dd41=_0x2579a5['_loadResources'][_0x1a4e('0x3d04')];_0x529c2f[_0x1a4e('0x3c6f')](_0x2579a5['gltf'],function(_0x2579a5,_0x3c0d68){_0x2579a5[_0x1a4e('0xd95')]===_0x322a94[_0x1a4e('0x3d66')]&&_0x27dd41['enqueue'](_0x3c0d68);});var _0x1244a5=_0x2579a5[_0x1a4e('0x3c11')][_0x1a4e('0x3d05')],_0x5afd64={};_0x529c2f[_0x1a4e('0x3d67')](_0x2579a5['gltf'],function(_0x2579a5){var _0x27dd41=_0x2579a5[_0x1a4e('0x3c6f')];_0xb326f5(_0x27dd41)&&(_0x3c0d68[_0x27dd41][_0x1a4e('0xd95')]!==_0x322a94[_0x1a4e('0x3d68')]||_0xb326f5(_0x5afd64[_0x27dd41])||(_0x5afd64[_0x27dd41]=!0x0,_0x1244a5['enqueue']({'id':_0x27dd41,'componentType':_0x2579a5[_0x1a4e('0x3c76')]})));});}(this),function(_0x2579a5){var _0x3c0d68=_0x2579a5['gltf'],_0x27dd41=_0x3c0d68[_0x1a4e('0x3c6c')],_0x1244a5=_0x3c0d68[_0x1a4e('0x3c73')],_0x5afd64=_0x2579a5['_rendererResources'][_0x1a4e('0x3c84')];_0x529c2f[_0x1a4e('0x3c7f')](_0x3c0d68,function(_0x3c0d68,_0x9cc4b1){if(_0xb326f5(_0x3c0d68['bufferView'])){var _0x1e69d3=_0x3c0d68[_0x1a4e('0x3c6f')],_0x27566f=_0x1244a5[_0x1e69d3],_0x74f4c5=_0x27566f['buffer'],_0x508ecf=_0x27dd41[_0x74f4c5],_0xa5de7a=_0x3bace5(_0x508ecf[_0x1a4e('0x3c6d')][_0x1a4e('0x3d60')][_0x1a4e('0xfaa')],_0x27566f[_0x1a4e('0xf61')],_0x27566f[_0x1a4e('0x876')]);_0x5afd64[_0x9cc4b1]=_0xa5de7a;}else if(_0xb326f5(_0x3c0d68[_0x1a4e('0x3c6d')]['_pipeline'][_0x1a4e('0xfaa')]))_0x5afd64[_0x9cc4b1]=_0x3c0d68[_0x1a4e('0x3c6d')][_0x1a4e('0x3d60')]['source'];else{++_0x2579a5[_0x1a4e('0x3c11')]['pendingShaderLoads'];var _0xcaf5b7=_0x2579a5[_0x1a4e('0x3c98')]['getDerivedResource']({'url':_0x3c0d68[_0x1a4e('0x3d69')]});_0xcaf5b7[_0x1a4e('0x3d6a')]()[_0x1a4e('0xdf8')](function(_0x2579a5,_0x3c0d68,_0x27dd41){return function(_0x1244a5){var _0x5afd64=_0x2579a5[_0x1a4e('0x3c11')];_0x5afd64[_0x1a4e('0x3d6b')][_0x27dd41]={'source':_0x1244a5,'type':_0x3c0d68,'bufferView':void 0x0},--_0x5afd64[_0x1a4e('0x3d0a')],_0x2579a5[_0x1a4e('0x3c19')][_0x1a4e('0x3c84')][_0x27dd41]=_0x1244a5;};}(_0x2579a5,_0x3c0d68[_0x1a4e('0x40')],_0x9cc4b1))[_0x1a4e('0x3d12')](_0x4eeb99[_0x1a4e('0x3c50')](_0x2579a5,_0x1a4e('0x3c7f'),_0xcaf5b7[_0x1a4e('0x15cf')]));}});}(this),function(_0x2579a5){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3ca0')];for(var _0x27dd41 in _0x3c0d68)if(_0x3c0d68[_0x1a4e('0xb')](_0x27dd41)){var _0x1244a5=_0x3c0d68[_0x27dd41];_0x2579a5[_0x1a4e('0x3c11')]['programsToCreate'][_0x1a4e('0x3d6c')]({'programId':_0x1244a5['program'],'techniqueId':_0x27dd41});}}(this),function(_0x2579a5,_0x3c0d68,_0x27dd41){var _0x1244a5,_0x5afd64=_0x2579a5[_0x1a4e('0x3bca')],_0x9cc4b1=_0x5afd64[_0x1a4e('0x3d6d')];_0x529c2f[_0x1a4e('0x3ce9')](_0x5afd64,function(_0x5afd64,_0x1e69d3){var _0x27566f=_0x5afd64[_0x1a4e('0xfaa')];_0xb326f5(_0x5afd64[_0x1a4e('0x325c')])&&_0xb326f5(_0x5afd64['extensions'][_0x1a4e('0x3d6e')])&&_0x27dd41&&(_0x27566f=_0x5afd64[_0x1a4e('0x325c')][_0x1a4e('0x3d6e')]['source']);var _0x74f4c5=_0x9cc4b1[_0x27566f],_0x508ecf=_0x74f4c5[_0x1a4e('0x3c6d')],_0xa5de7a=_0x74f4c5[_0x1a4e('0x3c6f')],_0xcaf5b7=_0x74f4c5['mimeType'];if(_0x1244a5=_0x74f4c5['uri'],_0xb326f5(_0x508ecf)&&_0xb326f5(_0x508ecf[_0x1a4e('0x3d6f')])){var _0x39bf97=_0x508ecf[_0x1a4e('0x3d6f')]['crunch'],_0x520ffa=_0x508ecf[_0x1a4e('0x3d6f')]['s3tc'],_0x5d62e6=_0x508ecf['compressedImage3DTiles'][_0x1a4e('0x3d70')],_0x1c717e=_0x508ecf['compressedImage3DTiles'][_0x1a4e('0x3d71')];_0x3c0d68[_0x1a4e('0x3d72')]&&_0xb326f5(_0x39bf97)?(_0xcaf5b7=_0x39bf97[_0x1a4e('0x3d11')],_0xb326f5(_0x39bf97['bufferView'])?_0xa5de7a=_0x39bf97[_0x1a4e('0x3c6f')]:_0x1244a5=_0x39bf97[_0x1a4e('0x3d69')]):_0x3c0d68[_0x1a4e('0x3d72')]&&_0xb326f5(_0x520ffa)?(_0xcaf5b7=_0x520ffa[_0x1a4e('0x3d11')],_0xb326f5(_0x520ffa[_0x1a4e('0x3c6f')])?_0xa5de7a=_0x520ffa[_0x1a4e('0x3c6f')]:_0x1244a5=_0x520ffa['uri']):_0x3c0d68['pvrtc']&&_0xb326f5(_0x5d62e6)?(_0xcaf5b7=_0x5d62e6['mimeType'],_0xb326f5(_0x5d62e6[_0x1a4e('0x3c6f')])?_0xa5de7a=_0x5d62e6[_0x1a4e('0x3c6f')]:_0x1244a5=_0x5d62e6[_0x1a4e('0x3d69')]):_0x3c0d68[_0x1a4e('0x3d71')]&&_0xb326f5(_0x1c717e)&&(_0xcaf5b7=_0x1c717e[_0x1a4e('0x3d11')],_0xb326f5(_0x1c717e['bufferView'])?_0xa5de7a=_0x1c717e[_0x1a4e('0x3c6f')]:_0x1244a5=_0x1c717e[_0x1a4e('0x3d69')]);}if(_0xb326f5(_0xa5de7a))_0x2579a5[_0x1a4e('0x3c11')][_0x1a4e('0x3d0d')][_0x1a4e('0x3d6c')]({'id':_0x1e69d3,'image':void 0x0,'bufferView':_0xa5de7a,'mimeType':_0xcaf5b7});else{++_0x2579a5[_0x1a4e('0x3c11')][_0x1a4e('0x3c3a')];var _0x297127=_0x2579a5[_0x1a4e('0x3c98')][_0x1a4e('0x3d73')]({'url':_0x1244a5});(_0x57d4bf['test'](_0x1244a5)?_0x16e9d4(_0x297127):_0x3ed296[_0x1a4e('0x8d0')](_0x1244a5)?_0x53347a(_0x297127):_0x297127[_0x1a4e('0x3d74')]())[_0x1a4e('0xdf8')](_0x314d05(_0x2579a5,_0x1e69d3))['otherwise'](_0x4eeb99[_0x1a4e('0x3c50')](_0x2579a5,_0x1a4e('0x3cb4'),_0x297127[_0x1a4e('0x15cf')]));}});}(this,_0x27dd41,_0x3c0d68)),function(_0x2579a5){var _0x3c0d68=_0x2579a5[_0x1a4e('0x3bca')],_0x27dd41=_0x2579a5[_0x1a4e('0x3ca0')],_0x1244a5={},_0x5afd64={},_0x9cc4b1=_0x2579a5[_0x1a4e('0x3c15')];_0x529c2f[_0x1a4e('0x3a41')](_0x3c0d68,function(_0x3c0d68,_0x1e69d3){_0x9cc4b1[_0x1e69d3]={'uniformMap':void 0x0,'values':void 0x0,'jointMatrixUniformName':void 0x0,'morphWeightsUniformName':void 0x0};var _0x27566f=new _0xf3f483(_0x2579a5,_0x3c0d68,_0x1e69d3);if(_0xb326f5(_0x3c0d68['extensions'])&&_0xb326f5(_0x3c0d68[_0x1a4e('0x325c')][_0x1a4e('0x3ca8')])){var _0x74f4c5=_0x3c0d68[_0x1a4e('0x325c')][_0x1a4e('0x3ca8')][_0x1a4e('0x3d65')];_0x27566f[_0x1a4e('0x3cbf')]=_0x74f4c5,_0x27566f[_0x1a4e('0x3c7a')]=_0x27dd41[_0x74f4c5][_0x1a4e('0x303a')],_0x529c2f[_0x1a4e('0x3d75')](_0x3c0d68,function(_0x2579a5,_0x3c0d68){_0xb326f5(_0x27566f[_0x1a4e('0x3d26')])||(_0x27566f[_0x1a4e('0x3d26')]={}),_0x27566f[_0x1a4e('0x3d26')][_0x3c0d68]=_0xa5de7a(_0x2579a5);});}_0x1244a5[_0x3c0d68[_0x1a4e('0x2cb')]]=_0x27566f,_0x5afd64[_0x1e69d3]=_0x27566f;}),_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x3d76')]=_0x1244a5,_0x2579a5['_runtime'][_0x1a4e('0x3c79')]=_0x5afd64;}(this),function(_0x2579a5){var _0x3c0d68={},_0x27dd41=_0x2579a5['_runtime'][_0x1a4e('0x3c79')];_0x529c2f[_0x1a4e('0x3cbe')](_0x2579a5[_0x1a4e('0x3bca')],function(_0x1244a5,_0x5afd64){_0x3c0d68[_0x1244a5[_0x1a4e('0x2cb')]]=new _0x4c51e4(_0x1244a5,_0x27dd41,_0x5afd64),(_0xb326f5(_0x2579a5[_0x1a4e('0x3c7b')][_0x1a4e('0x3c7c')])||_0x2579a5[_0x1a4e('0x3c85')])&&_0x529c2f[_0x1a4e('0x3d77')](_0x1244a5,function(_0x3c0d68,_0x27dd41){var _0x1244a5=_0x513604(_0x2579a5,_0x3c0d68),_0x9cc4b1=_0x2579a5[_0x1a4e('0x3c18')][_0x1244a5];_0xb326f5(_0x9cc4b1)||(_0x9cc4b1={},_0x2579a5[_0x1a4e('0x3c18')][_0x1244a5]=_0x9cc4b1),_0x9cc4b1[_0x5afd64+'.primitive.'+_0x27dd41]=_0x3c0d68;});}),_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x3c56')]=_0x3c0d68;}(this),function(_0x2579a5){var _0x3c0d68={},_0x27dd41={},_0x1244a5=[],_0x5afd64=_0x2579a5[_0x1a4e('0x3c11')]['skinnedNodesIds'],_0x9cc4b1=_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x3c70')];_0x529c2f['node'](_0x2579a5[_0x1a4e('0x3bca')],function(_0x1e69d3,_0x27566f){var _0x74f4c5={'matrix':void 0x0,'translation':void 0x0,'rotation':void 0x0,'scale':void 0x0,'computedShow':!0x0,'transformToRoot':new _0x193920(),'computedMatrix':new _0x193920(),'dirtyNumber':0x0,'commands':[],'inverseBindMatrices':void 0x0,'bindShapeMatrix':void 0x0,'joints':[],'computedJointMatrices':[],'jointName':_0x1e69d3[_0x1a4e('0x3d78')],'weights':[],'children':[],'parents':[],'publicNode':void 0x0};if(_0x74f4c5[_0x1a4e('0x3c54')]=new _0x29cbdf(_0x2579a5,_0x1e69d3,_0x74f4c5,_0x27566f,_0x4eeb99[_0x1a4e('0x3d79')](_0x1e69d3)),_0x3c0d68[_0x27566f]=_0x74f4c5,_0x27dd41[_0x1e69d3[_0x1a4e('0x2cb')]]=_0x74f4c5,_0xb326f5(_0x1e69d3[_0x1a4e('0x3d18')])&&(_0x5afd64[_0x1a4e('0x46')](_0x27566f),_0x1244a5[_0x1a4e('0x46')](_0x74f4c5)),_0xb326f5(_0x1e69d3[_0x1a4e('0x325c')])&&_0xb326f5(_0x1e69d3[_0x1a4e('0x325c')][_0x1a4e('0x3d62')])){var _0x508ecf=_0x1e69d3[_0x1a4e('0x325c')][_0x1a4e('0x3d62')][_0x1a4e('0x3d7a')];if(_0xb326f5(_0x508ecf)){var _0xa5de7a=_0x193920['clone'](_0x74f4c5[_0x1a4e('0x3c54')]['originalMatrix'],_0x466ef6),_0xcaf5b7=_0x9cc4b1[_0x508ecf];_0xcaf5b7['nodes']['push'](_0x74f4c5[_0x1a4e('0x3c54')]);for(var _0x39bf97=_0xcaf5b7[_0x1a4e('0x3c71')]['length'],_0x520ffa=0x0;_0x520ffa<_0x39bf97;++_0x520ffa)_0xa5de7a=_0x1e1001(_0xcaf5b7[_0x1a4e('0x3c71')][_0x520ffa],_0xa5de7a);_0x74f4c5[_0x1a4e('0x3c54')][_0x1a4e('0x3c72')]=_0xa5de7a;}}}),_0x2579a5['_runtime'][_0x1a4e('0x11d')]=_0x3c0d68,_0x2579a5['_runtime'][_0x1a4e('0x3c53')]=_0x27dd41,_0x2579a5[_0x1a4e('0x3c35')][_0x1a4e('0x3d7b')]=_0x1244a5;}(this),_0x3623e8[_0x1a4e('0x25a')](this,_0x27dd41),_0x273940[_0x1a4e('0x3d55')]=!0x0;}_0x273940[_0x1a4e('0x3d7c')]()||_0x3623e8[_0x1a4e('0x3d7d')](this,_0x27dd41)['otherwise'](_0x4eeb99[_0x1a4e('0x3c50')](this,_0x1a4e('0x3c51'),this[_0x1a4e('0x3bd0')])),_0x273940[_0x1a4e('0x3d7c')]()&&!_0x273940[_0x1a4e('0x3d7e')]&&(this[_0x1a4e('0x3c0e')]=_0x4eeb99['computeBoundingSphere'](this),this['_initialRadius']=this['_boundingSphere']['radius'],_0x3623e8[_0x1a4e('0x3d7f')](this),_0x273940[_0x1a4e('0x3d7e')]=!0x0),_0x273940[_0x1a4e('0x3d7e')]&&0x0===_0x273940[_0x1a4e('0x3d0a')]&&(_0x2997e6[_0x1a4e('0x3d80')](this),_0x252b99(this,_0x2579a5));}(_0x273940[_0x1a4e('0x13f1')]()||_0x2984d4&&_0x273940[_0x1a4e('0x3d29')]())&&(this[_0x1a4e('0x37b7')]=_0x4c40c5[_0x1a4e('0x3c32')],_0x4b17f5=!0x0);}if(_0xb326f5(_0x273940)&&this[_0x1a4e('0x37b7')]===_0x4c40c5[_0x1a4e('0x3c32')]&&(_0x2984d4&&!_0x4b17f5&&_0x252b99(this,_0x2579a5),_0x273940[_0x1a4e('0x13f1')]())){this[_0x1a4e('0x3c11')]=void 0x0;var _0x332591=this[_0x1a4e('0x3c19')],_0x433fe4=this[_0x1a4e('0x3c1a')];_0x433fe4[_0x1a4e('0x3c6c')]=_0x332591[_0x1a4e('0x3c6c')],_0x433fe4[_0x1a4e('0x3ced')]=_0x332591[_0x1a4e('0x3ced')],_0x433fe4[_0x1a4e('0x3ca1')]=_0x332591[_0x1a4e('0x3ca1')],_0x433fe4[_0x1a4e('0x3c84')]=_0x332591[_0x1a4e('0x3c84')],_0x433fe4[_0x1a4e('0x3d02')]=_0x332591['silhouettePrograms'],_0x433fe4[_0x1a4e('0x3ca3')]=_0x332591[_0x1a4e('0x3ca3')],_0x433fe4['samplers']=_0x332591['samplers'],_0x433fe4[_0x1a4e('0x3cc9')]=_0x332591[_0x1a4e('0x3cc9')],_0x433fe4[_0x1a4e('0x3bc7')]=!0x0,this[_0x1a4e('0x3bd8')]=_0x4eeb99[_0x1a4e('0x3d81')](this[_0x1a4e('0x3bca')],_0x1a4e('0x3d82')),_0xb326f5(this[_0x1a4e('0x3bfd')])&&(_0x433fe4[_0x1a4e('0x3ced')]={}),this[_0x1a4e('0x3bcf')]&&_0x1563a9(this);}var _0x4a338d=_0x24f44a['isSupported'](_0x27dd41);if(this[_0x1a4e('0x3c2e')]&&_0x4a338d){if(this[_0x1a4e('0x3c2e')]=!0x1,this['_specularEnvironmentMapAtlas']=this[_0x1a4e('0x3c8a')]&&this['_specularEnvironmentMapAtlas']['destroy'](),this['_specularEnvironmentMapAtlas']=void 0x0,_0xb326f5(this[_0x1a4e('0x3c2d')])){this['_specularEnvironmentMapAtlas']=new _0x24f44a(this[_0x1a4e('0x3c2d')]);var _0xb0201=this;this[_0x1a4e('0x3c8a')][_0x1a4e('0x3d83')][_0x1a4e('0xdf8')](function(){_0xb0201['_shouldRegenerateShaders']=!0x0;})['otherwise'](function(_0x2579a5){console['error'](_0x1a4e('0x3d84')+_0x2579a5);});}this['_shouldRegenerateShaders']=!0x0;}_0xb326f5(this[_0x1a4e('0x3c8a')])&&this[_0x1a4e('0x3c8a')][_0x1a4e('0x937')](_0x2579a5);var _0x39842c=!_0xb326f5(this[_0x1a4e('0x3c8a')])&&_0xb326f5(_0x2579a5['specularEnvironmentMaps'])&&!this[_0x1a4e('0x3c8f')],_0x5a531b=!_0xb326f5(_0x2579a5[_0x1a4e('0x3d85')])&&this[_0x1a4e('0x3c8f')],_0x432c3c=!_0xb326f5(this['_sphericalHarmonicCoefficients'])&&_0xb326f5(_0x2579a5['sphericalHarmonicCoefficients'])&&!this[_0x1a4e('0x3c2f')],_0x14ae99=!_0xb326f5(_0x2579a5[_0x1a4e('0x3c2c')])&&this[_0x1a4e('0x3c2f')];this[_0x1a4e('0x3c4a')]=this[_0x1a4e('0x3c4a')]||_0x39842c||_0x5a531b||_0x432c3c||_0x14ae99,this[_0x1a4e('0x3c8f')]=!_0xb326f5(this['_specularEnvironmentMapAtlas'])&&_0xb326f5(_0x2579a5[_0x1a4e('0x3d85')]),this['_useDefaultSphericalHarmonics']=!_0xb326f5(this['_sphericalHarmonicCoefficients'])&&_0xb326f5(_0x2579a5[_0x1a4e('0x3c2c')]);var _0x18503a=_0x38c39b(this,_0x2579a5),_0x543742=_0x42eb7d(this),_0xadbb5d=_0x62f0c8(this),_0x2ae581=this[_0x1a4e('0x3bf5')],_0x5d0639=!_0xb326f5(this[_0x1a4e('0x3bfa')])||function(_0x2579a5,_0x3c0d68){var _0x27dd41,_0x1244a5=_0x2579a5[_0x1a4e('0x3bfa')],_0x5afd64=_0x1244a5[_0x1a4e('0x3aa2')]*_0x1244a5['near'],_0x9cc4b1=_0x1244a5[_0x1a4e('0x3aaa')]*_0x1244a5[_0x1a4e('0x3aaa')];if(_0x3c0d68[_0x1a4e('0xa69')]===_0x25982e['SCENE2D'])_0x27dd41=0.5*(_0x3c0d68[_0x1a4e('0x3a06')][_0x1a4e('0x3a51')][_0x1a4e('0x5d')]-_0x3c0d68[_0x1a4e('0x3a06')][_0x1a4e('0x3a51')][_0x1a4e('0x5f')]),_0x27dd41*=_0x27dd41;else{var _0x27566f=_0x193920[_0x1a4e('0x3d86')](_0x2579a5['modelMatrix'],_0x4152fe);if(_0x3c0d68[_0x1a4e('0xa69')]===_0x25982e['COLUMBUS_VIEW']){var _0x74f4c5=_0x3c0d68[_0x1a4e('0x3d4c')],_0x508ecf=_0x74f4c5[_0x1a4e('0x38dc')][_0x1a4e('0x38dd')](_0x27566f,_0x9b198f);_0x27566f=_0x74f4c5[_0x1a4e('0x500')](_0x508ecf,_0x27566f),_0x1e69d3['fromElements'](_0x27566f['z'],_0x27566f['x'],_0x27566f['y'],_0x27566f);}_0x27dd41=_0x1e69d3['distanceSquared'](_0x27566f,_0x3c0d68[_0x1a4e('0x3a06')][_0x1a4e('0x3d87')]);}return _0x27dd41>=_0x5afd64&&_0x27dd41<=_0x9cc4b1;}(this,_0x2579a5),_0x271ce0=this[_0x1a4e('0x3a23')]&&_0x5d0639&&0x0!==this[_0x1a4e('0x143')]&&(!_0xadbb5d||_0x18503a);if(_0x271ce0&&this[_0x1a4e('0x37b7')]===_0x4c40c5[_0x1a4e('0x3c32')]||_0x4b17f5){var _0x3ddd22=this['activeAnimations']['update'](_0x2579a5)||this['_cesiumAnimationsDirty'];this[_0x1a4e('0x3c13')]=!0x1,this[_0x1a4e('0x3c3b')]=!0x1;var _0x3c857b=this[_0x1a4e('0x3b64')],_0x18eeed=_0x2579a5['mode']!==this['_mode'];this['_mode']=_0x2579a5[_0x1a4e('0xa69')];var _0x261264=!_0x193920[_0x1a4e('0x23e')](this[_0x1a4e('0x3bda')],_0x3c857b)||this['_scale']!==this[_0x1a4e('0x143')]||this['_minimumPixelSize']!==this['minimumPixelSize']||0x0!==this[_0x1a4e('0x3bdc')]||this['_maximumScale']!==this[_0x1a4e('0x3bdd')]||this[_0x1a4e('0x3d88')]!==this['heightReference']||this[_0x1a4e('0x3be0')]||_0x18eeed;if(_0x261264||_0x4b17f5){_0x193920[_0x1a4e('0x240')](_0x3c857b,this[_0x1a4e('0x3bda')]),function(_0x2579a5){_0xb326f5(_0x2579a5[_0x1a4e('0x3be1')])&&(_0x2579a5[_0x1a4e('0x3be1')](),_0x2579a5['_removeUpdateHeightCallback']=void 0x0);var _0x3c0d68=_0x2579a5[_0x1a4e('0x3be2')];if(_0xb326f5(_0x3c0d68)&&_0xb326f5(_0x3c0d68['globe'])&&_0x2579a5[_0x1a4e('0x3bdf')]!==_0x33ea2e[_0x1a4e('0x24a')]){var _0x27dd41=_0x3c0d68['globe'],_0x1244a5=_0x27dd41[_0x1a4e('0x38dc')],_0x5afd64=_0x2579a5[_0x1a4e('0x3b64')];_0x34febd['x']=_0x5afd64[0xc],_0x34febd['y']=_0x5afd64[0xd],_0x34febd['z']=_0x5afd64[0xe];var _0x9cc4b1=_0x1244a5['cartesianToCartographic'](_0x34febd);_0xb326f5(_0x2579a5[_0x1a4e('0x3bdb')])||(_0x2579a5[_0x1a4e('0x3bdb')]=_0x193920[_0x1a4e('0x240')](_0x5afd64,new _0x193920()));var _0x1e69d3=_0x27dd41['_surface'];_0x2579a5[_0x1a4e('0x3be1')]=_0x1e69d3[_0x1a4e('0x3d89')](_0x9cc4b1,_0x5a73ef(_0x2579a5,_0x1244a5,_0x9cc4b1));var _0x27566f=_0x27dd41[_0x1a4e('0x29c')](_0x9cc4b1);if(_0xb326f5(_0x27566f)){var _0x508ecf=_0x5a73ef(_0x2579a5,_0x1244a5,_0x9cc4b1);_0x74f4c5[_0x1a4e('0x240')](_0x9cc4b1,_0x3580f5),_0x3580f5[_0x1a4e('0x152')]=_0x27566f,_0x1244a5[_0x1a4e('0x3b86')](_0x3580f5,_0x34febd),_0x508ecf(_0x34febd);}}else{if(_0x2579a5['heightReference']!==_0x33ea2e['NONE'])throw new _0x5cdcca(_0x1a4e('0x3d8a'));_0x2579a5[_0x1a4e('0x3bdb')]=void 0x0;}}(this),_0xb326f5(this[_0x1a4e('0x3bdb')])&&(_0x3c857b=this['_clampedModelMatrix']),this[_0x1a4e('0x3c4')]=this[_0x1a4e('0x143')],this[_0x1a4e('0x3d8b')]=this[_0x1a4e('0x3bdc')],this[_0x1a4e('0x3bde')]=this[_0x1a4e('0x3bdd')],this[_0x1a4e('0x3d88')]=this[_0x1a4e('0x3bdf')],this[_0x1a4e('0x3be0')]=!0x1;var _0x5f1854=_0x5c7a94(this,_0x2579a5),_0x38ea71=this[_0x1a4e('0x3d8c')];_0x193920[_0x1a4e('0x3c6a')](_0x3c857b,_0x5f1854,_0x38ea71),this['_upAxis']===_0x49daef['Y']?_0x193920[_0x1a4e('0x3cd2')](_0x38ea71,_0x49daef[_0x1a4e('0x3d8d')],_0x38ea71):this['_upAxis']===_0x49daef['X']&&_0x193920['multiplyTransformation'](_0x38ea71,_0x49daef[_0x1a4e('0x3d8e')],_0x38ea71),this[_0x1a4e('0x3c0b')]===_0x49daef['Z']&&_0x193920[_0x1a4e('0x3cd2')](_0x38ea71,_0x49daef[_0x1a4e('0x3d8f')],_0x38ea71);}(_0x3ddd22||_0x261264||_0x4b17f5)&&(function(_0x2579a5,_0x3c0d68,_0x27dd41,_0x1244a5){var _0x9cc4b1=_0x2579a5[_0x1a4e('0x3c14')],_0x74f4c5=_0x2579a5[_0x1a4e('0x3c35')]['rootNodes'],_0x508ecf=_0x74f4c5[_0x1a4e('0x1e')],_0xa5de7a=_0x232472,_0xcaf5b7=_0x2579a5[_0x1a4e('0x3d8c')];if(_0x2579a5[_0x1a4e('0xa4c')]!==_0x25982e['SCENE3D']&&!_0x2579a5['_ignoreCommands']){var _0x39bf97=_0x193920[_0x1a4e('0x2f6f')](_0xcaf5b7,0x3,_0x79654e);if(_0x27566f[_0x1a4e('0x23e')](_0x39bf97,_0x27566f[_0x1a4e('0x3d90')])){var _0x520ffa=_0x2579a5[_0x1a4e('0x3d4d')][_0x1a4e('0x111')],_0x5d62e6=_0x516987[_0x1a4e('0x3d91')](_0x1244a5,_0x520ffa,_0x3ac1b6);_0xcaf5b7=_0x193920[_0x1a4e('0x260')](_0x5d62e6,_0xcaf5b7,_0x3ac1b6),_0xb326f5(_0x2579a5[_0x1a4e('0x3c23')])&&(_0x193920['setTranslation'](_0xcaf5b7,_0x27566f[_0x1a4e('0x3d90')],_0xcaf5b7),_0x2579a5['_rtcCenter']=_0x2579a5[_0x1a4e('0x3d5a')]);}else _0xcaf5b7=_0x516987[_0x1a4e('0x3d92')](_0x1244a5,_0xcaf5b7,_0x3ac1b6),_0x2579a5[_0x1a4e('0x3c23')]=_0x2579a5[_0x1a4e('0x3d59')];}for(var _0x1c717e=0x0;_0x1c717e<_0x508ecf;++_0x1c717e){var _0x297127=_0x74f4c5[_0x1c717e];for(_0x35af25(_0x297127,_0x297127[_0x1a4e('0x3d93')]),_0xa5de7a[_0x1a4e('0x46')](_0x297127);_0xa5de7a[_0x1a4e('0x1e')]>0x0;){var _0x5cdcca=(_0x297127=_0xa5de7a['pop']())[_0x1a4e('0x3d93')],_0x273940=_0x297127[_0x1a4e('0x3d94')];if(_0x297127[_0x1a4e('0x3cba')]===_0x9cc4b1||_0x3c0d68||_0x27dd41){var _0x18b53d=_0x193920[_0x1a4e('0x3cd2')](_0xcaf5b7,_0x5cdcca,_0x297127['computedMatrix']),_0x2984d4=_0x273940[_0x1a4e('0x1e')];if(_0x2984d4>0x0)for(var _0x4b17f5=0x0;_0x4b17f5<_0x2984d4;++_0x4b17f5){var _0x3bace5=_0x273940[_0x4b17f5],_0x1e8396=_0x3bace5[_0x1a4e('0x3885')];_0x193920[_0x1a4e('0x240')](_0x18b53d,_0x1e8396['modelMatrix']),_0x5afd64[_0x1a4e('0x93')](_0x3bace5[_0x1a4e('0x3d4d')],_0x1e8396['modelMatrix'],_0x1e8396[_0x1a4e('0x3cff')]),_0xb326f5(_0x2579a5[_0x1a4e('0x3c23')])&&_0x1e69d3[_0x1a4e('0x177')](_0x2579a5[_0x1a4e('0x3c23')],_0x1e8396[_0x1a4e('0x3cff')][_0x1a4e('0x111')],_0x1e8396['boundingVolume'][_0x1a4e('0x111')]),_0x1e8396=_0x3bace5['command2D'],_0xb326f5(_0x1e8396)&&_0x2579a5[_0x1a4e('0xa4c')]===_0x25982e['SCENE2D']&&(_0x193920[_0x1a4e('0x240')](_0x18b53d,_0x1e8396['modelMatrix']),_0x1e8396[_0x1a4e('0x3b64')][0xd]-=0x2*_0x504fda[_0x1a4e('0x113')](_0x1e8396[_0x1a4e('0x3b64')][0xd])*_0x504fda['PI']*_0x1244a5[_0x1a4e('0x38dc')][_0x1a4e('0x3d95')],_0x5afd64[_0x1a4e('0x93')](_0x3bace5[_0x1a4e('0x3d4d')],_0x1e8396[_0x1a4e('0x3b64')],_0x1e8396['boundingVolume']));}}var _0x53347a=_0x297127[_0x1a4e('0x6f')];if(_0xb326f5(_0x53347a))for(var _0x498271=_0x53347a[_0x1a4e('0x1e')],_0x16e9d4=0x0;_0x16e9d4<_0x498271;++_0x16e9d4){var _0x332591=_0x53347a[_0x16e9d4];_0x332591[_0x1a4e('0x3cba')]=Math[_0x1a4e('0x6c')](_0x332591[_0x1a4e('0x3cba')],_0x297127[_0x1a4e('0x3cba')]),(_0x332591[_0x1a4e('0x3cba')]===_0x9cc4b1||_0x27dd41)&&(_0x35af25(_0x332591,_0x332591['transformToRoot']),_0x193920[_0x1a4e('0x3cd2')](_0x5cdcca,_0x332591[_0x1a4e('0x3d93')],_0x332591['transformToRoot'])),_0xa5de7a['push'](_0x332591);}}}++_0x2579a5[_0x1a4e('0x3c14')];}(this,_0x261264,_0x4b17f5,_0x2579a5['mapProjection']),this[_0x1a4e('0x3c3b')]=!0x0,(_0x3ddd22||_0x4b17f5)&&function(_0x2579a5){for(var _0x3c0d68=_0x2579a5['_runtime']['skinnedNodes'],_0x27dd41=_0x3c0d68[_0x1a4e('0x1e')],_0x1244a5=0x0;_0x1244a5<_0x27dd41;++_0x1244a5){var _0x5afd64=_0x3c0d68[_0x1244a5];_0x5df36c=_0x193920[_0x1a4e('0x3d96')](_0x5afd64[_0x1a4e('0x3d93')],_0x5df36c);for(var _0x9cc4b1=_0x5afd64[_0x1a4e('0x3ce4')],_0x1e69d3=_0x5afd64[_0x1a4e('0x3d1d')],_0x27566f=_0x5afd64[_0x1a4e('0x3d1a')],_0x74f4c5=_0x5afd64[_0x1a4e('0x3d19')],_0x508ecf=_0x74f4c5[_0x1a4e('0x1e')],_0xa5de7a=0x0;_0xa5de7a<_0x508ecf;++_0xa5de7a)_0xb326f5(_0x9cc4b1[_0xa5de7a])||(_0x9cc4b1[_0xa5de7a]=new _0x193920()),_0x9cc4b1[_0xa5de7a]=_0x193920[_0x1a4e('0x3cd2')](_0x5df36c,_0x1e69d3[_0xa5de7a][_0x1a4e('0x3d93')],_0x9cc4b1[_0xa5de7a]),_0x9cc4b1[_0xa5de7a]=_0x193920['multiplyTransformation'](_0x9cc4b1[_0xa5de7a],_0x74f4c5[_0xa5de7a],_0x9cc4b1[_0xa5de7a]),_0xb326f5(_0x27566f)&&(_0x9cc4b1[_0xa5de7a]=_0x193920[_0x1a4e('0x3cd2')](_0x9cc4b1[_0xa5de7a],_0x27566f,_0x9cc4b1[_0xa5de7a]));}}(this)),this[_0x1a4e('0x3c12')]&&(this['_perNodeShowDirty']=!0x1,function(_0x2579a5){for(var _0x3c0d68=_0x2579a5[_0x1a4e('0x3c35')]['rootNodes'],_0x27dd41=_0x3c0d68['length'],_0x1244a5=_0x232472,_0x5afd64=0x0;_0x5afd64<_0x27dd41;++_0x5afd64){var _0x9cc4b1=_0x3c0d68[_0x5afd64];for(_0x9cc4b1[_0x1a4e('0x3d97')]=_0x9cc4b1[_0x1a4e('0x3c54')][_0x1a4e('0x3a23')],_0x1244a5[_0x1a4e('0x46')](_0x9cc4b1);_0x1244a5[_0x1a4e('0x1e')]>0x0;){for(var _0x1e69d3=(_0x9cc4b1=_0x1244a5[_0x1a4e('0x76')]())[_0x1a4e('0x3d97')],_0x27566f=_0x9cc4b1['commands'],_0x74f4c5=_0x27566f[_0x1a4e('0x1e')],_0x508ecf=0x0;_0x508ecf<_0x74f4c5;++_0x508ecf)_0x27566f[_0x508ecf][_0x1a4e('0x3a23')]=_0x1e69d3;var _0xa5de7a=_0x9cc4b1[_0x1a4e('0x6f')];if(_0xb326f5(_0xa5de7a))for(var _0xcaf5b7=_0xa5de7a[_0x1a4e('0x1e')],_0x39bf97=0x0;_0x39bf97<_0xcaf5b7;++_0x39bf97){var _0x520ffa=_0xa5de7a[_0x39bf97];_0x520ffa[_0x1a4e('0x3d97')]=_0x1e69d3&&_0x520ffa[_0x1a4e('0x3c54')][_0x1a4e('0x3a23')],_0x1244a5['push'](_0x520ffa);}}}}(this)),function(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5['id'];if(_0x2579a5[_0x1a4e('0x515')]!==_0x27dd41){_0x2579a5['_id']=_0x27dd41;for(var _0x1244a5=_0x2579a5[_0x1a4e('0x3c44')],_0x5afd64=_0x1244a5[_0x1a4e('0x1e')],_0x9cc4b1=0x0;_0x9cc4b1<_0x5afd64;++_0x9cc4b1)_0x1244a5[_0x9cc4b1][_0x1a4e('0x85')]['id']=_0x27dd41;}}(this),function(_0x2579a5){if(_0x2579a5[_0x1a4e('0x3bf8')]!==_0x2579a5['debugWireframe']){_0x2579a5[_0x1a4e('0x3bf8')]=_0x2579a5[_0x1a4e('0x3bf7')];for(var _0x3c0d68=_0x2579a5[_0x1a4e('0x3bf7')]?_0x23ff9f[_0x1a4e('0x3ac0')]:_0x23ff9f[_0x1a4e('0x3b5a')],_0x27dd41=_0x2579a5[_0x1a4e('0x3c22')],_0x1244a5=_0x27dd41[_0x1a4e('0x1e')],_0x5afd64=0x0;_0x5afd64<_0x1244a5;++_0x5afd64)_0x27dd41[_0x5afd64][_0x1a4e('0x3885')][_0x1a4e('0x3192')]=_0x3c0d68;}}(this),function(_0x2579a5){if(_0x2579a5[_0x1a4e('0x3d98')]!==_0x2579a5['_debugShowBoundingVolume']){_0x2579a5[_0x1a4e('0x3bf6')]=_0x2579a5['debugShowBoundingVolume'];for(var _0x3c0d68=_0x2579a5[_0x1a4e('0x3d98')],_0x27dd41=_0x2579a5[_0x1a4e('0x3c22')],_0x1244a5=_0x27dd41[_0x1a4e('0x1e')],_0x5afd64=0x0;_0x5afd64<_0x1244a5;++_0x5afd64)_0x27dd41[_0x5afd64][_0x1a4e('0x3885')][_0x1a4e('0x3d98')]=_0x3c0d68;}}(this),function(_0x2579a5){if(_0x2579a5['shadows']!==_0x2579a5[_0x1a4e('0x3bef')]){_0x2579a5['_shadows']=_0x2579a5[_0x1a4e('0x3bed')];for(var _0x3c0d68=_0x213277[_0x1a4e('0x3cf9')](_0x2579a5[_0x1a4e('0x3bed')]),_0x27dd41=_0x213277[_0x1a4e('0x3cfa')](_0x2579a5['shadows']),_0x1244a5=_0x2579a5[_0x1a4e('0x3c22')],_0x5afd64=_0x1244a5[_0x1a4e('0x1e')],_0x9cc4b1=0x0;_0x9cc4b1<_0x5afd64;_0x9cc4b1++){var _0x1e69d3=_0x1244a5[_0x9cc4b1];_0x1e69d3['command'][_0x1a4e('0x3cf9')]=_0x3c0d68,_0x1e69d3[_0x1a4e('0x3885')][_0x1a4e('0x3cfa')]=_0x27dd41;}}}(this),function(_0x2579a5,_0x3c0d68){var _0x27dd41=_0x2579a5['_clippingPlanes'];_0xb326f5(_0x27dd41)&&_0x27dd41[_0x1a4e('0x168e')]===_0x2579a5&&_0x27dd41[_0x1a4e('0x25e5')]&&_0x27dd41['update'](_0x3c0d68);}(this,_0x2579a5);var _0x59349c=this[_0x1a4e('0x3bf3')],_0x240b0c=0x0,_0x67849b=_0xb326f5(_0x59349c)&&_0x59349c['enabled']&&_0x59349c[_0x1a4e('0x1e')]>0x0,_0xe57711=_0xb326f5(this[_0x1a4e('0x3c2b')])||this[_0x1a4e('0x3c2f')],_0x5c550c=_0xb326f5(this[_0x1a4e('0x3c8a')])&&this[_0x1a4e('0x3c8a')]['ready']||this['_useDefaultSpecularMaps'];if(_0x67849b||_0xe57711||_0x5c550c){var _0x3f98dc=_0x1c717e(this[_0x1a4e('0x3d99')],_0x3c857b);_0x193920[_0x1a4e('0x260')](_0x27dd41[_0x1a4e('0x3cdc')][_0x1a4e('0x3d9a')],_0x3f98dc,this[_0x1a4e('0x3ce6')]);}_0x67849b&&(_0x240b0c=_0x59349c[_0x1a4e('0x3d9b')]);var _0xf0295e=this[_0x1a4e('0x3c4a')];_0xf0295e=_0xf0295e||this[_0x1a4e('0x3bf4')]!==_0x240b0c,this['_clippingPlanesState']=_0x240b0c;var _0x5e71de=_0x3ed601(this);_0x5e71de!==this[_0x1a4e('0x3bf2')]&&(this['_colorShadingEnabled']=_0x5e71de,_0xf0295e=!0x0),_0xf0295e?function(_0x2579a5,_0x3c0d68){var _0x27dd41,_0x1244a5=_0x2579a5[_0x1a4e('0x3c19')],_0x5afd64=_0x2579a5[_0x1a4e('0x3c1a')];if(_0x35f188(_0x1244a5,_0x5afd64),_0x528a48(_0x2579a5)||_0x3ed601(_0x2579a5)||_0x2579a5[_0x1a4e('0x3c4a')]){_0x2579a5[_0x1a4e('0x3c4a')]=!0x1,_0x1244a5[_0x1a4e('0x3ca1')]={},_0x1244a5['silhouettePrograms']={};var _0x9cc4b1,_0x1e69d3={},_0x27566f=_0x2579a5[_0x1a4e('0x3ca0')];for(var _0x74f4c5 in _0x27566f)_0x27566f['hasOwnProperty'](_0x74f4c5)&&(_0x9cc4b1=_0x27566f[_0x74f4c5],_0x27dd41=_0x9cc4b1[_0x1a4e('0x303a')],_0x1e69d3[_0x27dd41]||(_0x1e69d3[_0x27dd41]=!0x0,_0x134a41({'programId':_0x27dd41,'techniqueId':_0x74f4c5},_0x2579a5,_0x3c0d68[_0x1a4e('0x8cb')])));}else _0x1244a5[_0x1a4e('0x3ca1')]=_0x5afd64[_0x1a4e('0x3ca1')],_0x1244a5['silhouettePrograms']=_0x5afd64[_0x1a4e('0x3d02')];for(var _0x508ecf=_0x1244a5[_0x1a4e('0x3ca1')],_0xa5de7a=_0x2579a5['_nodeCommands'],_0xcaf5b7=_0xa5de7a[_0x1a4e('0x1e')],_0x39bf97=0x0;_0x39bf97<_0xcaf5b7;++_0x39bf97){var _0x520ffa=_0xa5de7a[_0x39bf97];_0x27dd41=_0x520ffa[_0x1a4e('0x3c81')];var _0x5d62e6=_0x508ecf[_0x27dd41];_0x520ffa[_0x1a4e('0x3885')][_0x1a4e('0x3d47')]=_0x5d62e6,_0xb326f5(_0x520ffa[_0x1a4e('0x3d48')])&&(_0x520ffa[_0x1a4e('0x3d48')][_0x1a4e('0x3d47')]=_0x5d62e6);}_0x497eb3(_0x2579a5,_0x3c0d68,!0x0),_0x12f01d(_0x2579a5,_0x3c0d68,!0x0),_0x5b1d7e(_0x2579a5,_0x3c0d68,!0x0);}(this,_0x2579a5):(_0x497eb3(this,_0x2579a5,!0x1),_0x12f01d(this,_0x2579a5,!0x1),_0x5b1d7e(this,_0x2579a5,!0x1));}if(_0x4b17f5){var _0x16518b=this;_0x2579a5[_0x1a4e('0x3d9c')][_0x1a4e('0x46')](function(){_0x16518b['_ready']=!0x0,_0x16518b['_readyPromise'][_0x1a4e('0xe20')](_0x16518b);});}else{if(_0x271ce0&&!this['_ignoreCommands']){var _0x2b8e7a,_0x12cc3c,_0x339897,_0x5e880d=_0x2579a5[_0x1a4e('0x3d9d')],_0x238f1f=_0x2579a5['passes'],_0x106a8c=this[_0x1a4e('0x3c22')],_0x1efb48=_0x106a8c[_0x1a4e('0x1e')],_0x11bb81=_0x2579a5[_0x1a4e('0x3d4c')]['ellipsoid'][_0x1a4e('0x3d95')]*_0x504fda['PI'];if(_0x238f1f[_0x1a4e('0x12d9')]||_0x238f1f[_0x1a4e('0x106e')]&&this['allowPicking']){for(_0x2b8e7a=0x0;_0x2b8e7a<_0x1efb48;++_0x2b8e7a)if((_0x12cc3c=_0x106a8c[_0x2b8e7a])[_0x1a4e('0x3a23')]){var _0x1d6644=_0x12cc3c[_0x1a4e('0x3885')];if(_0x18503a?_0x1d6644=_0x12cc3c[_0x1a4e('0x3d44')]:_0x543742?_0x1d6644=_0x12cc3c['translucentCommand']:_0x2ae581||(_0x1d6644=_0x12cc3c['disableCullingCommand']),_0x5e880d[_0x1a4e('0x46')](_0x1d6644),_0x339897=_0x12cc3c[_0x1a4e('0x3885')][_0x1a4e('0x3cff')],_0x2579a5['mode']===_0x25982e['SCENE2D']&&(_0x339897[_0x1a4e('0x111')]['y']+_0x339897['radius']>_0x11bb81||_0x339897[_0x1a4e('0x111')]['y']-_0x339897['radius']<_0x11bb81)){var _0x4bcbfa=_0x12cc3c[_0x1a4e('0x3d48')];_0x18503a?_0x4bcbfa=_0x12cc3c[_0x1a4e('0x3d9e')]:_0x543742?_0x4bcbfa=_0x12cc3c[_0x1a4e('0x3d3b')]:_0x2ae581||(_0x4bcbfa=_0x12cc3c[_0x1a4e('0x3d9f')]),_0x5e880d[_0x1a4e('0x46')](_0x4bcbfa);}}if(_0x18503a&&!_0x238f1f[_0x1a4e('0x106e')])for(_0x2b8e7a=0x0;_0x2b8e7a<_0x1efb48;++_0x2b8e7a)(_0x12cc3c=_0x106a8c[_0x2b8e7a])['show']&&(_0x5e880d['push'](_0x12cc3c[_0x1a4e('0x3da0')]),_0x339897=_0x12cc3c['command']['boundingVolume'],_0x2579a5[_0x1a4e('0xa69')]===_0x25982e[_0x1a4e('0x3da1')]&&(_0x339897[_0x1a4e('0x111')]['y']+_0x339897[_0x1a4e('0x3b5d')]>_0x11bb81||_0x339897[_0x1a4e('0x111')]['y']-_0x339897[_0x1a4e('0x3b5d')]<_0x11bb81)&&_0x5e880d[_0x1a4e('0x46')](_0x12cc3c[_0x1a4e('0x3d49')]));}}var _0x5f10fe=this[_0x1a4e('0x3bd3')];_0xb326f5(_0x5f10fe)&&_0x2579a5[_0x1a4e('0x3da2')][_0x1a4e('0x3da3')](_0x5f10fe);for(var _0x107b09=this[_0x1a4e('0x3bd4')],_0x5cf673=_0x107b09['length'],_0x448848=0x0;_0x448848<_0x5cf673;_0x448848++)_0x2579a5[_0x1a4e('0x3da2')]['addCredit'](_0x107b09[_0x448848]);}}else _0x18b53d['supportsWebP']['initialize']();},_0x1efb48['prototype']['isDestroyed']=function(){return!0x1;},_0x1efb48['prototype'][_0x1a4e('0x139c')]=function(){_0xb326f5(this[_0x1a4e('0x3bfd')])&&_0x18a97c(this['_rendererResources'][_0x1a4e('0x3ced')]),_0xb326f5(this[_0x1a4e('0x3be1')])&&(this[_0x1a4e('0x3be1')](),this[_0x1a4e('0x3be1')]=void 0x0),_0xb326f5(this[_0x1a4e('0x3be4')])&&(this[_0x1a4e('0x3be4')](),this['_terrainProviderChangedCallback']=void 0x0),_0xb326f5(this[_0x1a4e('0x3c1a')])&&_0x35f188(this[_0x1a4e('0x3c19')],this['_cachedRendererResources']),this[_0x1a4e('0x3c19')]=void 0x0,this[_0x1a4e('0x3c1a')]=this[_0x1a4e('0x3c1a')]&&this[_0x1a4e('0x3c1a')][_0x1a4e('0x3d51')](),_0x3623e8[_0x1a4e('0x3da4')](this);for(var _0x2579a5=this['_pickIds'],_0x3c0d68=_0x2579a5['length'],_0x27dd41=0x0;_0x27dd41<_0x3c0d68;++_0x27dd41)_0x2579a5[_0x27dd41]['destroy']();_0x1563a9(this),this[_0x1a4e('0x3c21')]=void 0x0;var _0x1244a5=this[_0x1a4e('0x3bf3')];return _0xb326f5(_0x1244a5)&&!_0x1244a5[_0x1a4e('0x3995')]()&&_0x1244a5[_0x1a4e('0x168e')]===this&&_0x1244a5[_0x1a4e('0x139c')](),this[_0x1a4e('0x3bf3')]=void 0x0,this[_0x1a4e('0x3c8a')]=this[_0x1a4e('0x3c8a')]&&this['_specularEnvironmentMapAtlas']['destroy'](),_0x297127(this);},_0x1efb48[_0x1a4e('0x3c92')]=_0x3f98dc,_0x1efb48[_0x1a4e('0x3c90')]=function(_0x2579a5){return _0x2579a5=_0x2ae581[_0x1a4e('0x3c88')](_0x2579a5,_0x1a4e('0x3da5')),_0x2579a5+=_0x1a4e('0x3da6');},_0x3c0d68['default']=_0x1efb48;},'./src/DigitalCity/ODLine.ts':function(_0x39983e,_0x5bb569,_0x47e2c5){'use strict';_0x47e2c5['r'](_0x5bb569),_0x47e2c5['d'](_0x5bb569,_0x1a4e('0x3da7'),function(){return _0x5d22ad;});var _0x330f4e=_0x47e2c5(_0x1a4e('0x3999')),_0x1ff614=function(_0x39983e){var _0x5bb569=_0x1a4e('0x68')==typeof Symbol&&_0x39983e[Symbol[_0x1a4e('0x335')]],_0x47e2c5=0x0;return _0x5bb569?_0x5bb569['call'](_0x39983e):{'next':function(){return _0x39983e&&_0x47e2c5>=_0x39983e[_0x1a4e('0x1e')]&&(_0x39983e=void 0x0),{'value':_0x39983e&&_0x39983e[_0x47e2c5++],'done':!_0x39983e};}};},_0x5d22ad=function(){function _0x39983e(_0x39983e,_0x5bb569,_0x47e2c5){var _0x330f4e=this;void 0x0===_0x47e2c5&&(_0x47e2c5=0x2),this['viewer']=_0x39983e,this[_0x1a4e('0x3936')]=_0x47e2c5,this[_0x1a4e('0x3b7f')]=this[_0x1a4e('0x3b7c')]();var _0x1ff614=new Cesium['Primitive']({'geometryInstances':this[_0x1a4e('0x3da8')](_0x5bb569),'appearance':this[_0x1a4e('0x3b7f')],'asynchronous':!0x0});this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x1ff614),this[_0x1a4e('0x38d5')]['clock'][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](function(){_0x330f4e[_0x1a4e('0x3b7f')][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x129a')]+=0.01;});}return _0x39983e[_0x1a4e('0xa')]['createLineGeometry']=function(_0x39983e){var _0x5bb569,_0x47e2c5,_0x330f4e=[];try{for(var _0x5d22ad=_0x1ff614(_0x39983e),_0x24a6e1=_0x5d22ad[_0x1a4e('0x7e')]();!_0x24a6e1['done'];_0x24a6e1=_0x5d22ad[_0x1a4e('0x7e')]()){var _0x297721=_0x24a6e1[_0x1a4e('0x255')],_0x36a42d=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3da9'))]({'positions':_0x297721,'width':this[_0x1a4e('0x3936')]})});_0x330f4e[_0x1a4e('0x46')](_0x36a42d);}}catch(_0x3587f0){_0x5bb569={'error':_0x3587f0};}finally{try{_0x24a6e1&&!_0x24a6e1['done']&&(_0x47e2c5=_0x5d22ad[_0x1a4e('0xe40')])&&_0x47e2c5['call'](_0x5d22ad);}finally{if(_0x5bb569)throw _0x5bb569[_0x1a4e('0x873')];}}return _0x330f4e;},_0x39983e['prototype'][_0x1a4e('0x3b7c')]=function(){return new Cesium[(_0x1a4e('0x3b81'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'image':_0x330f4e[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x3daa')),'time':0x0},'source':this[_0x1a4e('0x3dab')]()}})});},_0x39983e[_0x1a4e('0xa')][_0x1a4e('0x3dab')]=function(){return _0x1a4e('0x3dac');},_0x39983e;}();},'./src/DigitalCity/ParticleCylinderGeometry.ts':function(_0x19e72c,_0x1481b5,_0x516f5a){'use strict';_0x516f5a['r'](_0x1481b5),_0x516f5a['d'](_0x1481b5,_0x1a4e('0x3dad'),function(){return _0x383ed3;});var _0x383ed3=function(){function _0x19e72c(_0x19e72c){this[_0x1a4e('0x3b50')]=_0x19e72c[_0x1a4e('0x3b50')],this[_0x1a4e('0x3b51')]=_0x19e72c[_0x1a4e('0x3b51')],this['position']=_0x19e72c[_0x1a4e('0x3553')],this[_0x1a4e('0x152')]=_0x19e72c[_0x1a4e('0x152')],this[_0x1a4e('0x78')]=_0x19e72c[_0x1a4e('0x78')];}return _0x19e72c[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(){var _0x19e72c=this[_0x1a4e('0x3b52')](this[_0x1a4e('0x78')],this['topRadius'],this[_0x1a4e('0x3b51')],this['height']),_0x1481b5=this[_0x1a4e('0x3b53')](_0x19e72c[0x0],_0x19e72c[0x1],this[_0x1a4e('0x78')]);return this[_0x1a4e('0x3b54')](_0x1481b5[0x0],_0x1481b5[0x1]);},_0x19e72c['prototype'][_0x1a4e('0x3b55')]=function(){return Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](this['position'][_0x1a4e('0x1a1')],this[_0x1a4e('0x3553')]['lat'],this[_0x1a4e('0x3553')]['alt']));},_0x19e72c[_0x1a4e('0xa')][_0x1a4e('0x3b52')]=function(_0x19e72c,_0x1481b5,_0x516f5a,_0x383ed3){for(var _0x49f8b9=[],_0x544f67=[],_0x9a296a=0x168/_0x19e72c,_0x339f18=0x0;_0x339f18<=0x168;_0x339f18+=_0x9a296a){var _0x288704=Math['PI']/0xb4*_0x339f18;_0x49f8b9[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393e'))](_0x1481b5*Math[_0x1a4e('0x90')](_0x288704),-_0x1481b5*Math['sin'](_0x288704),_0x383ed3)),_0x544f67[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393e'))](_0x516f5a*Math[_0x1a4e('0x90')](_0x288704),-_0x516f5a*Math[_0x1a4e('0x8f')](_0x288704),0x0));}return[_0x49f8b9,_0x544f67];},_0x19e72c[_0x1a4e('0xa')][_0x1a4e('0x3b53')]=function(_0x19e72c,_0x1481b5,_0x516f5a){for(var _0x383ed3=[],_0x57c314=[],_0x131283=0x0;_0x131283<_0x19e72c[_0x1a4e('0x1e')]-0x1;_0x131283++)_0x383ed3['push'](_0x19e72c[_0x131283]['x']),_0x383ed3['push'](_0x19e72c[_0x131283]['y']),_0x383ed3[_0x1a4e('0x46')](_0x19e72c[_0x131283]['z']),_0x57c314[_0x1a4e('0x46')](_0x131283/_0x516f5a*0x3),_0x57c314['push'](0x0),_0x383ed3[_0x1a4e('0x46')](_0x1481b5[_0x131283]['x']),_0x383ed3[_0x1a4e('0x46')](_0x1481b5[_0x131283]['y']),_0x383ed3['push'](_0x1481b5[_0x131283]['z']),_0x57c314[_0x1a4e('0x46')](_0x131283/_0x516f5a*0x3),_0x57c314[_0x1a4e('0x46')](0.3),_0x383ed3[_0x1a4e('0x46')](_0x1481b5[_0x131283+0x1]['x']),_0x383ed3[_0x1a4e('0x46')](_0x1481b5[_0x131283+0x1]['y']),_0x383ed3[_0x1a4e('0x46')](_0x1481b5[_0x131283+0x1]['z']),_0x57c314[_0x1a4e('0x46')]((_0x131283+0x1)/_0x516f5a*0x3),_0x57c314[_0x1a4e('0x46')](0.3),_0x383ed3[_0x1a4e('0x46')](_0x19e72c[_0x131283+0x1]['x']),_0x383ed3[_0x1a4e('0x46')](_0x19e72c[_0x131283+0x1]['y']),_0x383ed3[_0x1a4e('0x46')](_0x19e72c[_0x131283+0x1]['z']),_0x57c314['push']((_0x131283+0x1)/_0x516f5a*0x3),_0x57c314[_0x1a4e('0x46')](0x0),_0x383ed3[_0x1a4e('0x46')](_0x19e72c[_0x131283]['x']),_0x383ed3[_0x1a4e('0x46')](_0x19e72c[_0x131283]['y']),_0x383ed3[_0x1a4e('0x46')](_0x19e72c[_0x131283]['z']),_0x57c314['push'](_0x131283/_0x516f5a*0x3),_0x57c314[_0x1a4e('0x46')](0x0),_0x383ed3[_0x1a4e('0x46')](_0x1481b5[_0x131283+0x1]['x']),_0x383ed3[_0x1a4e('0x46')](_0x1481b5[_0x131283+0x1]['y']),_0x383ed3[_0x1a4e('0x46')](_0x1481b5[_0x131283+0x1]['z']),_0x57c314['push']((_0x131283+0x1)/_0x516f5a*0x3),_0x57c314[_0x1a4e('0x46')](0.3);return[_0x383ed3,_0x57c314];},_0x19e72c[_0x1a4e('0xa')][_0x1a4e('0x3b54')]=function(_0x19e72c,_0x1481b5){var _0x516f5a=new Float64Array(_0x19e72c),_0x383ed3=new Float32Array(_0x1481b5);return new Cesium['Geometry']({'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')]['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x516f5a}),'st':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x383ed3})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x516f5a)});},_0x19e72c;}();},'./src/DigitalCity/ParticleOrbitingCone.ts':function(_0x27c958,_0x552cf1,_0x5b110c){'use strict';_0x5b110c['r'](_0x552cf1),_0x5b110c['d'](_0x552cf1,'ParticleOrbitingCone',function(){return _0x26aa56;}),_0x5b110c['d'](_0x552cf1,_0x1a4e('0x3dae'),function(){return _0x250d4d;});var _0x164353=_0x5b110c(_0x1a4e('0x3b38')),_0x31fc14=_0x5b110c(_0x1a4e('0x3999')),_0x20351d=_0x5b110c(_0x1a4e('0x38d0')),_0x23bb02=_0x5b110c(_0x1a4e('0x3daf')),_0x26aa56=function(){function _0x27c958(_0x27c958,_0x552cf1){this[_0x1a4e('0x134')]=_0x1a4e('0x3db0'),this['viewer']=_0x27c958,this[_0x1a4e('0x3553')]=_0x552cf1['position'],this[_0x1a4e('0x134')]=_0x552cf1[_0x1a4e('0x134')],this[_0x1a4e('0x3db1')]=_0x552cf1[_0x1a4e('0x3db1')],this['particleOpt']=_0x552cf1['particle'],this[_0x1a4e('0x3db2')](),this[_0x1a4e('0x3db3')](),this[_0x1a4e('0x3db4')]();}return _0x27c958[_0x1a4e('0xa')][_0x1a4e('0x3db2')]=function(){var _0x27c958=this,_0x552cf1=[];this['circles']['map'](function(_0x5b110c){var _0x164353=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3db5'))]({'center':_0x20351d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x27c958[_0x1a4e('0x3553')]),'radius':_0x5b110c['radius'],'height':_0x5b110c[_0x1a4e('0x152')]})});_0x552cf1[_0x1a4e('0x46')](_0x164353);});var _0x5b110c=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x552cf1,'appearance':new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium['Material']({'fabric':{'type':_0x1a4e('0x1186'),'uniforms':{'color':_0x164353['RenderUtils']['getColor'](this[_0x1a4e('0x134')]),'image':this[_0x1a4e('0x3db6')]()},'source':_0x1a4e('0x3db7')}})})});this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x5b110c);},_0x27c958[_0x1a4e('0xa')][_0x1a4e('0x3db6')]=function(){var _0x27c958=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x27c958['setAttribute']('width',_0x1a4e('0x3db8')),_0x27c958[_0x1a4e('0x3935')](_0x1a4e('0x152'),_0x1a4e('0x3db8'));var _0x552cf1=_0x27c958[_0x1a4e('0x51c')]('2d'),_0x5b110c=_0x552cf1[_0x1a4e('0x3db9')](0x100,0x100,0x0,0x100,0x100,0x100);return _0x5b110c[_0x1a4e('0x3dba')](0.96,'rgba(255,\x20255,\x20255,\x200.0'),_0x5b110c[_0x1a4e('0x3dba')](0.98,_0x1a4e('0x3dbb')),_0x5b110c[_0x1a4e('0x3dba')](0x1,'rgba(255,\x20255,\x20255,\x201.0'),_0x552cf1[_0x1a4e('0x3dbc')](0x0,0x0,0x200,0x200),_0x552cf1[_0x1a4e('0x3dbd')](),_0x552cf1[_0x1a4e('0x124')](0x100,0x100,0x100,0x0,0x2*Math['PI'],!0x0),_0x552cf1[_0x1a4e('0x3dbe')]=_0x5b110c,_0x552cf1[_0x1a4e('0x22c')](),_0x552cf1[_0x1a4e('0x878')](),_0x27c958[_0x1a4e('0x3939')]('image/png');},_0x27c958[_0x1a4e('0xa')][_0x1a4e('0x3db3')]=function(){var _0x27c958=new _0x23bb02[(_0x1a4e('0x3dad'))]({'topRadius':this[_0x1a4e('0x3dbf')][_0x1a4e('0x3b50')],'bottomRadius':this[_0x1a4e('0x3dbf')]['bottomRadius'],'height':this[_0x1a4e('0x3dbf')]['height'],'position':this[_0x1a4e('0x3553')],'slice':0x32})['createGeometry'](),_0x552cf1=new Cesium['Primitive']({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x27c958}),'appearance':new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium['Material']({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':_0x164353[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x134')]),'image':this[_0x1a4e('0x3dc0')](),'alphaTemp':0x2},'source':_0x1a4e('0x3dc1')}})}),'modelMatrix':Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x20351d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x3553')]))});this[_0x1a4e('0x38d5')]['scene']['primitives'][_0x1a4e('0x177')](_0x552cf1);},_0x27c958[_0x1a4e('0xa')]['createConeImage']=function(){var _0x27c958=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x27c958[_0x1a4e('0x3935')]('width',_0x1a4e('0x3dc2')),_0x27c958['setAttribute'](_0x1a4e('0x152'),_0x1a4e('0x3dc3'));var _0x552cf1=_0x27c958['getContext']('2d');_0x552cf1['clearRect'](0x0,0x0,0x1,0x100);var _0x5b110c=_0x552cf1[_0x1a4e('0x3dc4')](0x0,0x0,0x0,0x100);return _0x5b110c[_0x1a4e('0x3dba')](0x0,_0x1a4e('0x3dc5')),_0x5b110c[_0x1a4e('0x3dba')](0x1,_0x1a4e('0x3dc6')),_0x552cf1[_0x1a4e('0x3dbe')]=_0x5b110c,_0x552cf1['fillRect'](0x0,0x0,0x1,0x100),_0x27c958['toDataURL'](_0x1a4e('0x3dc7'));},_0x27c958[_0x1a4e('0xa')][_0x1a4e('0x3db4')]=function(){var _0x27c958=new _0x23bb02['ParticleCylinderGeometry']({'topRadius':this[_0x1a4e('0x3dbf')]['topRadius']+0x5,'bottomRadius':this['particleOpt'][_0x1a4e('0x3b51')]+0x5,'height':this[_0x1a4e('0x3dbf')][_0x1a4e('0x152')],'position':this[_0x1a4e('0x3553')],'slice':0xa0}),_0x552cf1=_0x27c958[_0x1a4e('0x3e0')]();this[_0x1a4e('0x3dc8')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':_0x164353[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x134')]),'image':_0x31fc14[_0x1a4e('0x39a0')]['formatUrlByBaseJs']('resources/localscene/MarkParticle.png'),'alphaTemp':0x2},'source':this[_0x1a4e('0x3dc9')]()}}),'translucent':!0x0});var _0x5b110c=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x552cf1}),'appearance':this[_0x1a4e('0x3dc8')],'asynchronous':!0x1}),_0x20351d=_0x27c958[_0x1a4e('0x3b55')]();_0x5b110c[_0x1a4e('0x3b64')]=_0x20351d,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['add'](_0x5b110c);},_0x27c958[_0x1a4e('0xa')][_0x1a4e('0x3dc9')]=function(){return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dt=fract(czm_frameNumber/100.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st=fract(st+vec2(dt,dt));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20textColor=texture2D(image,vec2(1.0)-st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20\x20textColor.a*alphaTemp;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb*vec3(2.0,2.0,2.0);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x27c958;}(),_0x250d4d=function(){this[_0x1a4e('0x134')]='#FFFF00';};},'./src/DigitalCity/Pentahedron.ts':function(_0x244bfd,_0x5cdf67,_0x51098a){'use strict';_0x51098a['r'](_0x5cdf67),_0x51098a['d'](_0x5cdf67,'Pentahedron',function(){return _0x492773;});var _0x514cdc=_0x51098a(_0x1a4e('0x3b38')),_0x17dd1a=_0x51098a(_0x1a4e('0x38d0')),_0xafd096=_0x51098a(_0x1a4e('0x3dca')),_0x492773=function(){function _0x244bfd(_0x244bfd,_0x5cdf67,_0x51098a,_0x514cdc,_0xafd096,_0x492773,_0x187dcd,_0x3f4e88){var _0x260b40=this;void 0x0===_0x5cdf67&&(_0x5cdf67=new _0x17dd1a[(_0x1a4e('0x38da'))](0x0,0x0,0x0)),void 0x0===_0x51098a&&(_0x51098a=0x32),void 0x0===_0x514cdc&&(_0x514cdc=0.1),void 0x0===_0xafd096&&(_0xafd096=0x0),void 0x0===_0x492773&&(_0x492773='rgba(255,\x20204,\x20102,\x200.6)'),void 0x0===_0x187dcd&&(_0x187dcd=0x4),void 0x0===_0x3f4e88&&(_0x3f4e88=1.5),this[_0x1a4e('0x3dcb')]=0x0,this['listenerFun']=function(){_0x260b40['_angle']+=_0x260b40[_0x1a4e('0x3dcc')];var _0x244bfd=_0x260b40[_0x1a4e('0x3dcd')](),_0x5cdf67=Cesium['Matrix3']['fromRotationZ'](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x260b40[_0x1a4e('0x3dcb')])),_0x51098a=Cesium[_0x1a4e('0x3a29')]['fromRotationTranslation'](_0x5cdf67),_0x514cdc=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x260')](_0x244bfd,_0x51098a,new Cesium[(_0x1a4e('0x3a29'))]());_0x260b40[_0x1a4e('0x8f7')][_0x1a4e('0x3b64')]=_0x514cdc;},this['_viewer']=_0x244bfd,this[_0x1a4e('0x3b68')]=_0x5cdf67,this[_0x1a4e('0x3dce')]=_0x51098a,this['_bottomRadius']=_0x514cdc,this[_0x1a4e('0x399c')]=_0xafd096,this[_0x1a4e('0x3b69')]=_0x492773,this[_0x1a4e('0x3dcf')]=_0x187dcd,this[_0x1a4e('0x3dcc')]=_0x3f4e88,this['init'](),this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')]['onTick']['addEventListener'](this[_0x1a4e('0x3dd0')]);}return _0x244bfd[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){this[_0x1a4e('0x3b3d')](),this[_0x1a4e('0x3b5e')]();},_0x244bfd[_0x1a4e('0xa')][_0x1a4e('0x3b3d')]=function(){this[_0x1a4e('0x3b3c')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':_0x514cdc['RenderUtils'][_0x1a4e('0x3b40')](this[_0x1a4e('0x3b69')])},'source':this[_0x1a4e('0x3b90')]()}}),'translucent':!0x0});},_0x244bfd['prototype']['createPrimitive']=function(){var _0x244bfd=this[_0x1a4e('0x3e0')](),_0x5cdf67=this[_0x1a4e('0x3dcd')]();this[_0x1a4e('0x8f7')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x244bfd}),'appearance':this[_0x1a4e('0x3b3c')],'modelMatrix':_0x5cdf67,'asynchronous':!0x1}),this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['add'](this[_0x1a4e('0x8f7')]);},_0x244bfd[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(){return new _0xafd096[(_0x1a4e('0x3b4f'))]({'topRadius':this[_0x1a4e('0x3dce')],'bottomRadius':this[_0x1a4e('0x3dd1')],'position':this[_0x1a4e('0x3b68')],'height':this['_height'],'slice':this[_0x1a4e('0x3dcf')]})[_0x1a4e('0x3e0')]();},_0x244bfd[_0x1a4e('0xa')][_0x1a4e('0x3dcd')]=function(){return Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x17dd1a[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x3b68')]));},_0x244bfd[_0x1a4e('0xa')][_0x1a4e('0x3b90')]=function(){return _0x1a4e('0x3dd2');},_0x244bfd[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this['primitive']&&(this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x8f7')]),this['_viewer']['clock'][_0x1a4e('0x3b3f')]['removeEventListener'](this[_0x1a4e('0x3dd0')]),this[_0x1a4e('0x8f7')]=null);},Object[_0x1a4e('0x2')](_0x244bfd[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){if(this[_0x1a4e('0x3b69')])return this['_color'];},'set':function(_0x244bfd){this[_0x1a4e('0x3b69')]=_0x244bfd,this[_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['color']=_0x514cdc[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x244bfd);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x244bfd['prototype'],_0x1a4e('0x3553'),{'get':function(){if(this[_0x1a4e('0x3b68')])return this['_position'];},'set':function(_0x244bfd){this['_position']=_0x244bfd,this[_0x1a4e('0x8f7')]&&(this['_viewer']['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this['primitive']),this[_0x1a4e('0x3b5e')]());},'enumerable':!0x0,'configurable':!0x0}),_0x244bfd;}();},'./src/DigitalCity/RotatingPentahedron.ts':function(_0x2cdb53,_0x2e983c,_0x4fbc13){'use strict';_0x4fbc13['r'](_0x2e983c),_0x4fbc13['d'](_0x2e983c,_0x1a4e('0x3dd3'),function(){return _0x3e2aee;}),_0x4fbc13['d'](_0x2e983c,'RotatingPentahedronOpt',function(){return _0x7371e1;});var _0x64ac2e=_0x4fbc13(_0x1a4e('0x38d0')),_0x5e4cfd=_0x4fbc13(_0x1a4e('0x3999')),_0x362204=_0x4fbc13('./src/LayerManager/GraphicLayer/GraphicRender/RenderUtils.ts'),_0x226588=function(_0x2cdb53,_0x2e983c){var _0x4fbc13=_0x1a4e('0x68')==typeof Symbol&&_0x2cdb53[Symbol[_0x1a4e('0x335')]];if(!_0x4fbc13)return _0x2cdb53;var _0x64ac2e,_0x5e4cfd,_0x362204=_0x4fbc13[_0x1a4e('0x1')](_0x2cdb53),_0x226588=[];try{for(;(void 0x0===_0x2e983c||_0x2e983c-->0x0)&&!(_0x64ac2e=_0x362204[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x226588['push'](_0x64ac2e['value']);}catch(_0x18950a){_0x5e4cfd={'error':_0x18950a};}finally{try{_0x64ac2e&&!_0x64ac2e[_0x1a4e('0x3c2')]&&(_0x4fbc13=_0x362204['return'])&&_0x4fbc13[_0x1a4e('0x1')](_0x362204);}finally{if(_0x5e4cfd)throw _0x5e4cfd['error'];}}return _0x226588;},_0x56cb2f=function(){for(var _0x2cdb53=[],_0x2e983c=0x0;_0x2e983c0x1&&(this['updateAttribute']=0.001),this[_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x3ddf')]<0x1&&(this[_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x3ddf')]=0x3);var _0x17bc7d,_0x263ae2,_0x1c82c7=0.5*(0x1-Math[_0x1a4e('0x90')](this[_0x1a4e('0x3dda')]*Math['PI']*0x2));_0x17bc7d=_0x263ae2=0.5*(0x1-Math[_0x1a4e('0x90')](this[_0x1a4e('0x3dda')]*Math['PI']));var _0x43467f=Cesium['Transforms'][_0x1a4e('0x3ab0')](_0x319381['GeoPoint']['toCartesian3'](this['dataItem']['position'])),_0xe0cb57=Cesium['Matrix4'][_0x1a4e('0x3de0')](new Cesium[(_0x1a4e('0x393e'))](_0x17bc7d,_0x263ae2,_0x1c82c7)),_0x1b3c1a=Cesium['Matrix4']['multiply'](_0x43467f,_0xe0cb57,new Cesium[(_0x1a4e('0x3a29'))]());this[_0x1a4e('0x8f7')][_0x1a4e('0x3b64')]=_0x1b3c1a,this[_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x3ddf')]=0x2*_0x1c82c7;},_0x17bc7d;}(),_0x15e82d=function(){this[_0x1a4e('0x3b50')]=0x1e,this['bottomRadius']=0x1e,this['position']=new _0x319381['GeoPoint'](0x0,0x0,0x0),this['height']=0x1e,this[_0x1a4e('0x78')]=0x28,this[_0x1a4e('0x134')]=_0x1a4e('0x3de1');};},'./src/DigitalCity/TruncatedCone.ts':function(_0x3c964e,_0x4e7441,_0xbc7a33){'use strict';_0xbc7a33['r'](_0x4e7441),_0xbc7a33['d'](_0x4e7441,_0x1a4e('0x3de2'),function(){return _0x1f5e11;}),_0xbc7a33['d'](_0x4e7441,_0x1a4e('0x3de3'),function(){return _0x39cf19;});var _0x121180=_0xbc7a33(_0x1a4e('0x3b38')),_0xeb6334=_0xbc7a33(_0x1a4e('0x38d0')),_0x146bed=_0xbc7a33(_0x1a4e('0x3dca')),_0x1f5e11=function(){function _0x3c964e(_0x3c964e,_0x4e7441){var _0xbc7a33=this;this['viewer']=_0x3c964e,this[_0x1a4e('0x8dc')]=_0x4e7441,this[_0x1a4e('0x3de4')](),this['createPartTwo'](),this[_0x1a4e('0x3de5')](),this['viewer'][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](function(){_0xbc7a33[_0x1a4e('0x3de6')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['angle']+=0.15;});}return _0x3c964e[_0x1a4e('0xa')][_0x1a4e('0x3de4')]=function(){var _0x3c964e=new Cesium['Primitive']({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3db5'))]({'center':_0xeb6334[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x8dc')][_0x1a4e('0x3de7')]),'radius':this[_0x1a4e('0x8dc')][_0x1a4e('0x3de8')],'height':0x0})}),'appearance':new Cesium['MaterialAppearance']({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x1186'),'uniforms':{'image':this[_0x1a4e('0x3de9')](),'color':_0x121180[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this['options'][_0x1a4e('0x134')])},'source':_0x1a4e('0x3db7')}}),'translucent':!0x0}),'asynchronous':!0x1});this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](_0x3c964e);},_0x3c964e[_0x1a4e('0xa')]['createPartOneImage']=function(){var _0x3c964e=document['createElement'](_0x1a4e('0x3934'));_0x3c964e['setAttribute'](_0x1a4e('0x3936'),'512px'),_0x3c964e[_0x1a4e('0x3935')]('height',_0x1a4e('0x3db8'));var _0x4e7441=_0x3c964e[_0x1a4e('0x51c')]('2d'),_0xbc7a33=_0x4e7441['createRadialGradient'](0x100,0x100,0x0,0x100,0x100,0x100);return _0xbc7a33[_0x1a4e('0x3dba')](0.8,_0x1a4e('0x3dea')),_0xbc7a33['addColorStop'](0.84,_0x1a4e('0x3dbb')),_0xbc7a33[_0x1a4e('0x3dba')](0.88,'rgba(255,\x20255,\x20255,\x200.0'),_0xbc7a33[_0x1a4e('0x3dba')](0.92,_0x1a4e('0x3deb')),_0xbc7a33[_0x1a4e('0x3dba')](0.96,_0x1a4e('0x3dbb')),_0xbc7a33['addColorStop'](0x1,_0x1a4e('0x3deb')),_0x4e7441[_0x1a4e('0x3dbc')](0x0,0x0,0x200,0x200),_0x4e7441[_0x1a4e('0x3dbd')](),_0x4e7441['arc'](0x100,0x100,0x100,0x0,0x2*Math['PI'],!0x0),_0x4e7441[_0x1a4e('0x3dbe')]=_0xbc7a33,_0x4e7441['fill'](),_0x4e7441[_0x1a4e('0x878')](),_0x3c964e[_0x1a4e('0x3939')](_0x1a4e('0x3dc7'));},_0x3c964e[_0x1a4e('0xa')][_0x1a4e('0x3dec')]=function(){this[_0x1a4e('0x3de6')]=new Cesium['MaterialAppearance']({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x1186'),'uniforms':{'image':this[_0x1a4e('0x3ded')](),'color':_0x121180[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x8dc')]['color']),'angle':0x0},'source':_0x1a4e('0x3dee')}}),'translucent':!0x0});var _0x3c964e=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3db5'))]({'center':_0xeb6334[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x8dc')][_0x1a4e('0x3de7')]),'radius':this[_0x1a4e('0x8dc')][_0x1a4e('0x3def')],'height':0x0})}),'appearance':this['partTowAppearance'],'asynchronous':!0x1});this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x3c964e);},_0x3c964e[_0x1a4e('0xa')]['createPartTwoImage']=function(){var _0x3c964e=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x3c964e[_0x1a4e('0x3935')](_0x1a4e('0x3936'),_0x1a4e('0x3db8')),_0x3c964e[_0x1a4e('0x3935')](_0x1a4e('0x152'),'512px');var _0x4e7441=_0x3c964e[_0x1a4e('0x51c')]('2d');return _0x4e7441[_0x1a4e('0x3dbc')](0x0,0x0,0x200,0x200),_0x4e7441[_0x1a4e('0x3df0')]=_0x1a4e('0x3df1'),_0x4e7441[_0x1a4e('0x3df2')]([0x104,0x104]),_0x4e7441['lineWidth']=0x14,_0x4e7441['arc'](0x100,0x100,0xf1,0x0,0x2*Math['PI'],!0x0),_0x4e7441[_0x1a4e('0x3df3')](),_0x3c964e['toDataURL'](_0x1a4e('0x3dc7'));},_0x3c964e[_0x1a4e('0xa')]['createPartThree']=function(){var _0x3c964e=new _0x146bed[(_0x1a4e('0x3b4f'))]({'topRadius':this[_0x1a4e('0x8dc')][_0x1a4e('0x3df4')],'bottomRadius':this[_0x1a4e('0x8dc')][_0x1a4e('0x3df5')],'position':this[_0x1a4e('0x8dc')][_0x1a4e('0x3de7')],'height':this[_0x1a4e('0x8dc')][_0x1a4e('0x3df6')],'slice':0x32})['createGeometry'](),_0x4e7441=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x3c964e}),_0xbc7a33=new _0x146bed['CylinderGeometry']({'topRadius':this[_0x1a4e('0x8dc')]['innerTopRadius'],'bottomRadius':this[_0x1a4e('0x8dc')][_0x1a4e('0x3df7')],'position':this[_0x1a4e('0x8dc')][_0x1a4e('0x3de7')],'height':this['options'][_0x1a4e('0x3df8')],'slice':0x32})[_0x1a4e('0x3e0')](),_0x1f5e11=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0xbc7a33}),_0x39cf19=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':[_0x4e7441,_0x1f5e11],'appearance':new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':_0x121180['RenderUtils']['getColor'](this[_0x1a4e('0x8dc')][_0x1a4e('0x134')]),'image':this['createPartThreeImage'](),'alphaTemp':0x2},'source':this[_0x1a4e('0x3df9')]()}})}),'modelMatrix':Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0xeb6334[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x8dc')]['circleCenter']))});this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x39cf19);},_0x3c964e['prototype'][_0x1a4e('0x3dfa')]=function(){var _0x3c964e=document['createElement']('canvas');_0x3c964e[_0x1a4e('0x3935')](_0x1a4e('0x3936'),'1px'),_0x3c964e[_0x1a4e('0x3935')](_0x1a4e('0x152'),_0x1a4e('0x3dc3'));var _0x4e7441=_0x3c964e[_0x1a4e('0x51c')]('2d');_0x4e7441[_0x1a4e('0x3dbc')](0x0,0x0,0x1,0x100);var _0xbc7a33=_0x4e7441[_0x1a4e('0x3dc4')](0x0,0x0,0x0,0x100);return _0xbc7a33[_0x1a4e('0x3dba')](0x0,_0x1a4e('0x3ddc')),_0xbc7a33[_0x1a4e('0x3dba')](0x1,_0x1a4e('0x3ddd')),_0x4e7441[_0x1a4e('0x3dbe')]=_0xbc7a33,_0x4e7441['fillRect'](0x0,0x0,0x1,0x100),_0x3c964e[_0x1a4e('0x3939')](_0x1a4e('0x3dc7'));},_0x3c964e[_0x1a4e('0xa')][_0x1a4e('0x3df9')]=function(){return _0x1a4e('0x3dfb');},_0x3c964e;}(),_0x39cf19=function(){this['circleCenter']=new _0xeb6334[(_0x1a4e('0x38da'))](0x0,0x0,0x0),this[_0x1a4e('0x134')]=_0x1a4e('0x3db0'),this[_0x1a4e('0x3de8')]=0x32,this['dottedCircleRadius']=0x23,this['outerTopRadius']=0x2d,this[_0x1a4e('0x3df5')]=0x19,this[_0x1a4e('0x3df6')]=0x23,this[_0x1a4e('0x3dfc')]=0x23,this['innerBottomRadius']=0xf,this[_0x1a4e('0x3df8')]=0x2d;};},'./src/Editor/Creator/BaseCreator.ts':function(_0x1efeb5,_0xa4a853,_0x4a41fd){'use strict';_0x4a41fd['r'](_0xa4a853),_0x4a41fd['d'](_0xa4a853,_0x1a4e('0x3dfd'),function(){return _0x20aff5;});var _0x519685,_0x1893cd=_0x4a41fd(_0x1a4e('0x3ad0')),_0x12bdcb=(_0x519685=function(_0x1efeb5,_0xa4a853){return(_0x519685=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1efeb5,_0xa4a853){_0x1efeb5[_0x1a4e('0x295')]=_0xa4a853;}||function(_0x1efeb5,_0xa4a853){for(var _0x4a41fd in _0xa4a853)_0xa4a853[_0x1a4e('0xb')](_0x4a41fd)&&(_0x1efeb5[_0x4a41fd]=_0xa4a853[_0x4a41fd]);})(_0x1efeb5,_0xa4a853);},function(_0x1efeb5,_0xa4a853){function _0x4a41fd(){this[_0x1a4e('0x10')]=_0x1efeb5;}_0x519685(_0x1efeb5,_0xa4a853),_0x1efeb5[_0x1a4e('0xa')]=null===_0xa4a853?Object[_0x1a4e('0x7')](_0xa4a853):(_0x4a41fd['prototype']=_0xa4a853[_0x1a4e('0xa')],new _0x4a41fd());}),_0x20aff5=function(_0x1efeb5){function _0xa4a853(_0xa4a853,_0x4a41fd){var _0x519685=_0x1efeb5[_0x1a4e('0x1')](this)||this;return _0x519685[_0x1a4e('0x38fa')]=_0xa4a853,_0x519685['_father']=_0x4a41fd,_0x519685[_0x1a4e('0x3dfe')]=_0x4a41fd[_0x1a4e('0x3dff')],_0x519685;}return _0x12bdcb(_0xa4a853,_0x1efeb5),_0xa4a853[_0x1a4e('0xa')][_0x1a4e('0x3e00')]=function(){return this[_0x1a4e('0x3976')]&&!this[_0x1a4e('0x3976')][_0x1a4e('0x3995')]()||(this[_0x1a4e('0x3976')]=new Cesium[(_0x1a4e('0x39cd'))](this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3934')])),this[_0x1a4e('0x3976')];},_0xa4a853[_0x1a4e('0xa')]['create']=function(_0x1efeb5,_0xa4a853,_0x4a41fd){},_0xa4a853[_0x1a4e('0xa')][_0x1a4e('0x3e01')]=function(_0x1efeb5,_0xa4a853){this[_0x1a4e('0x3dfe')][_0x1a4e('0x3e02')](_0x1efeb5,_0xa4a853);},_0xa4a853['prototype'][_0x1a4e('0x3e03')]=function(_0x1efeb5,_0xa4a853){this[_0x1a4e('0x3dfe')][_0x1a4e('0x177')](_0x1efeb5,_0xa4a853);},_0xa4a853[_0x1a4e('0xa')][_0x1a4e('0x3e04')]=function(){this[_0x1a4e('0x3dfe')][_0x1a4e('0xb5')]();},_0xa4a853[_0x1a4e('0xa')][_0x1a4e('0x3e05')]=function(_0x1efeb5){_0x1efeb5&&(_0x1efeb5[_0x1a4e('0x3e06')]=!0x1),this[_0x1a4e('0x3e07')][_0x1a4e('0x3ad3')]('createFinish',_0x1efeb5),this['clear']();},_0xa4a853['prototype'][_0x1a4e('0x3e08')]=function(_0x1efeb5){this[_0x1a4e('0x3e07')][_0x1a4e('0x3ad3')](_0x1a4e('0x3e08'),_0x1efeb5);},_0xa4a853[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x3976')]&&(this['_handler'][_0x1a4e('0x139c')](),this[_0x1a4e('0x3976')]=void 0x0,this[_0x1a4e('0x3e04')](),this[_0x1a4e('0x3e07')][_0x1a4e('0x3e09')](_0x1a4e('0x8')));},_0xa4a853;}(_0x1893cd[_0x1a4e('0x168d')]);},'./src/Editor/Creator/CircularCreator.ts':function(_0x4bb5ad,_0x1e9d1c,_0x4e3a0f){'use strict';_0x4e3a0f['r'](_0x1e9d1c),_0x4e3a0f['d'](_0x1e9d1c,_0x1a4e('0x3e0a'),function(){return _0x4f26e0;});var _0x3cd2c3,_0x303ddc=_0x4e3a0f('./src/Editor/Creator/BaseCreator.ts'),_0x5df0e5=_0x4e3a0f(_0x1a4e('0x38d0')),_0x4b83f6=_0x4e3a0f('./src/Utils/Calculate.ts'),_0x337116=_0x4e3a0f(_0x1a4e('0x3e0b')),_0x539f92=_0x4e3a0f('./src/Utils/Util.ts'),_0x2abc63=(_0x3cd2c3=function(_0x4bb5ad,_0x1e9d1c){return(_0x3cd2c3=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x4bb5ad,_0x1e9d1c){_0x4bb5ad[_0x1a4e('0x295')]=_0x1e9d1c;}||function(_0x4bb5ad,_0x1e9d1c){for(var _0x4e3a0f in _0x1e9d1c)_0x1e9d1c[_0x1a4e('0xb')](_0x4e3a0f)&&(_0x4bb5ad[_0x4e3a0f]=_0x1e9d1c[_0x4e3a0f]);})(_0x4bb5ad,_0x1e9d1c);},function(_0x4bb5ad,_0x1e9d1c){function _0x4e3a0f(){this[_0x1a4e('0x10')]=_0x4bb5ad;}_0x3cd2c3(_0x4bb5ad,_0x1e9d1c),_0x4bb5ad['prototype']=null===_0x1e9d1c?Object[_0x1a4e('0x7')](_0x1e9d1c):(_0x4e3a0f[_0x1a4e('0xa')]=_0x1e9d1c[_0x1a4e('0xa')],new _0x4e3a0f());}),_0x4f26e0=function(_0x4bb5ad){function _0x1e9d1c(_0x1e9d1c,_0x4e3a0f){return _0x4bb5ad[_0x1a4e('0x1')](this,_0x1e9d1c,_0x4e3a0f)||this;}return _0x2abc63(_0x1e9d1c,_0x4bb5ad),_0x1e9d1c[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x4bb5ad,_0x1e9d1c,_0x4e3a0f){var _0x3cd2c3=this;if(_0x4bb5ad||_0x1e9d1c){var _0x303ddc=window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),_0x4bb5ad['type']);if(_0x303ddc){var _0x2abc63=new _0x303ddc(_0x4bb5ad),_0x4f26e0=[];return this['getHandler']()[_0x1a4e('0x3981')](function(_0x4bb5ad){var _0x303ddc=_0x4bb5ad[_0x1a4e('0x3553')],_0x539f92=_0x5df0e5[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x303ddc['x'],_0x303ddc['y'],_0x3cd2c3[_0x1a4e('0x38fa')]);if(_0x539f92)switch(_0x4f26e0[_0x1a4e('0x1e')]){case 0x0:_0x4f26e0[_0x1a4e('0x46')](_0x539f92),_0x2abc63[_0x1a4e('0x3553')]=_0x539f92,_0x1e9d1c['add'](_0x2abc63),_0x2abc63&&(_0x2abc63[_0x1a4e('0x3e06')]=!0x0);break;case 0x2:_0x4f26e0['length']>0x0&&(_0x337116[_0x1a4e('0x3ae2')]['isClamp'](_0x2abc63)||(_0x539f92['alt']=_0x4f26e0[0x0][_0x1a4e('0x398c')])),_0x4f26e0[0x1]=_0x539f92,_0x2abc63['radius']=_0x4b83f6[_0x1a4e('0x3990')][_0x1a4e('0x39e7')](_0x4f26e0),_0x2abc63&&(_0x2abc63['isEditing']=!0x1),_0x3cd2c3[_0x1a4e('0x3e05')](_0x2abc63),_0x4e3a0f&&_0x4e3a0f(_0x2abc63);}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x398e')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x4bb5ad){0x0===_0x4f26e0[_0x1a4e('0x1e')]?(_0x3cd2c3[_0x1a4e('0x3e05')](void 0x0),_0x4e3a0f&&_0x4e3a0f(void 0x0)):(_0x2abc63&&(_0x2abc63['isEditing']=!0x1),_0x3cd2c3[_0x1a4e('0x3e05')](_0x2abc63),_0x4e3a0f&&_0x4e3a0f(_0x2abc63));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x3a94')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x4bb5ad){var _0x1e9d1c=_0x4bb5ad[_0x1a4e('0x34f8')],_0x4e3a0f=_0x5df0e5[_0x1a4e('0x38da')]['fromScreen'](_0x1e9d1c['x'],_0x1e9d1c['y'],_0x3cd2c3['_viewer']);if(_0x4e3a0f)if(_0x4f26e0[_0x1a4e('0x1e')]>0x0&&(_0x337116[_0x1a4e('0x3ae2')][_0x1a4e('0x3e0c')](_0x2abc63)||(_0x4e3a0f['alt']=_0x4f26e0[0x0]['alt'])),0x0===_0x4f26e0['length'])_0x3cd2c3[_0x1a4e('0x3e01')](_0x4e3a0f);else{0x1===_0x4f26e0[_0x1a4e('0x1e')]?(_0x4f26e0[_0x1a4e('0x46')](_0x4e3a0f),_0x3cd2c3['addCtrPoint'](_0x4e3a0f)):0x2===_0x4f26e0[_0x1a4e('0x1e')]&&(_0x4f26e0[0x1]=_0x4e3a0f);var _0x303ddc=_0x4b83f6[_0x1a4e('0x3990')][_0x1a4e('0x39e7')](_0x4f26e0),_0x3f3d84=_0x303ddc[_0x1a4e('0x3e0d')](_0x539f92[_0x1a4e('0x39a0')][_0x1a4e('0x3e0e')](_0x303ddc,0x1))+'m';_0x3cd2c3['setCtrPoint'](_0x4e3a0f,_0x3f3d84),_0x2abc63[_0x1a4e('0x3b5d')]=_0x303ddc;}},Cesium[_0x1a4e('0x39ce')]['MOUSE_MOVE']),_0x2abc63;}}},_0x1e9d1c;}(_0x303ddc['BaseCreator']);},'./src/Editor/Creator/CreatorManager.ts':function(_0x2242de,_0x46500a,_0x4fa008){'use strict';_0x4fa008['r'](_0x46500a),_0x4fa008['d'](_0x46500a,'CreatorManager',function(){return _0x3e9f41;});var _0xd448e,_0x374011=_0x4fa008('./src/Core/Event.ts'),_0x2f6481=_0x4fa008(_0x1a4e('0x3e0f')),_0x2d0a85=_0x4fa008(_0x1a4e('0x3e10')),_0x1562f5=_0x4fa008(_0x1a4e('0x3e11')),_0x21b2f9=_0x4fa008(_0x1a4e('0x3e12')),_0x1da8c1=_0x4fa008('./src/Editor/Creator/CircularCreator.ts'),_0x7a208=_0x4fa008(_0x1a4e('0x3e13')),_0x5c301a=_0x4fa008(_0x1a4e('0x3e14')),_0x5c7aee=_0x4fa008('./src/Editor/Creator/LabelBillboardCreator.ts'),_0x282911=_0x4fa008(_0x1a4e('0x3e15')),_0x443f20=_0x4fa008(_0x1a4e('0x3e16')),_0x3b625f=_0x4fa008(_0x1a4e('0x3e17')),_0x3ffc10=(_0xd448e=function(_0x2242de,_0x46500a){return(_0xd448e=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x2242de,_0x46500a){_0x2242de[_0x1a4e('0x295')]=_0x46500a;}||function(_0x2242de,_0x46500a){for(var _0x4fa008 in _0x46500a)_0x46500a['hasOwnProperty'](_0x4fa008)&&(_0x2242de[_0x4fa008]=_0x46500a[_0x4fa008]);})(_0x2242de,_0x46500a);},function(_0x2242de,_0x46500a){function _0x4fa008(){this[_0x1a4e('0x10')]=_0x2242de;}_0xd448e(_0x2242de,_0x46500a),_0x2242de['prototype']=null===_0x46500a?Object[_0x1a4e('0x7')](_0x46500a):(_0x4fa008[_0x1a4e('0xa')]=_0x46500a[_0x1a4e('0xa')],new _0x4fa008());}),_0x3e9f41=function(_0x2242de){function _0x46500a(_0x46500a,_0x4fa008){var _0xd448e=_0x2242de[_0x1a4e('0x1')](this)||this;_0xd448e[_0x1a4e('0x38fa')]=_0x46500a,_0xd448e['_graphicLayer']=_0x4fa008,_0xd448e['_controlPointSet']=new _0x1562f5[(_0x1a4e('0x3e18'))](_0xd448e[_0x1a4e('0x38fa')],_0x4fa008),_0xd448e[_0x1a4e('0x3e19')]=new Map();var _0x374011=new _0x2f6481[(_0x1a4e('0x3e1a'))](_0xd448e[_0x1a4e('0x38fa')],_0xd448e);_0xd448e['_creatorList'][_0x1a4e('0x17a')](_0x1a4e('0x3e1b'),_0x374011);var _0x3ffc10=new _0x2d0a85[(_0x1a4e('0x3e1c'))](_0xd448e[_0x1a4e('0x38fa')],_0xd448e);_0xd448e['_creatorList'][_0x1a4e('0x17a')]('lineCreator',_0x3ffc10);var _0x3e9f41=new _0x21b2f9[(_0x1a4e('0x3e1d'))](_0xd448e[_0x1a4e('0x38fa')],_0xd448e);_0xd448e[_0x1a4e('0x3e19')][_0x1a4e('0x17a')](_0x1a4e('0x3e1e'),_0x3e9f41);var _0x132f40=new _0x1da8c1[(_0x1a4e('0x3e0a'))](_0xd448e[_0x1a4e('0x38fa')],_0xd448e);_0xd448e[_0x1a4e('0x3e19')]['set'](_0x1a4e('0x3e1f'),_0x132f40);var _0x499fe7=new _0x7a208['RectangleCreator'](_0xd448e[_0x1a4e('0x38fa')],_0xd448e);_0xd448e[_0x1a4e('0x3e19')][_0x1a4e('0x17a')](_0x1a4e('0x3e20'),_0x499fe7);var _0x22b4ee=new _0x5c301a[(_0x1a4e('0x3e21'))](_0xd448e[_0x1a4e('0x38fa')],_0xd448e);_0xd448e[_0x1a4e('0x3e19')][_0x1a4e('0x17a')](_0x1a4e('0x3e22'),_0x22b4ee);var _0x43169f=new _0x5c7aee[(_0x1a4e('0x3e23'))](_0xd448e['_viewer'],_0xd448e);_0xd448e[_0x1a4e('0x3e19')][_0x1a4e('0x17a')]('labelBillboardCreator',_0x43169f);var _0x1f2d8d=new _0x282911[(_0x1a4e('0x3e24'))](_0xd448e['_viewer'],_0xd448e);_0xd448e[_0x1a4e('0x3e19')][_0x1a4e('0x17a')]('labelRectCreator',_0x1f2d8d);var _0x3d9b40=new _0x443f20[(_0x1a4e('0x3e25'))](_0xd448e[_0x1a4e('0x38fa')],_0xd448e);_0xd448e[_0x1a4e('0x3e19')][_0x1a4e('0x17a')]('cylinderDynamicCreator',_0x3d9b40);var _0x565f1c=new _0x3b625f[(_0x1a4e('0x3e26'))](_0xd448e[_0x1a4e('0x38fa')],_0xd448e);return _0xd448e[_0x1a4e('0x3e19')][_0x1a4e('0x17a')](_0x1a4e('0x3e27'),_0x565f1c),_0xd448e;}return _0x3ffc10(_0x46500a,_0x2242de),Object[_0x1a4e('0x2')](_0x46500a[_0x1a4e('0xa')],'controlPointSet',{'get':function(){return this[_0x1a4e('0x3dfe')];},'enumerable':!0x0,'configurable':!0x0}),_0x46500a['prototype'][_0x1a4e('0x3e28')]=function(_0x2242de){switch(_0x2242de){case _0x1a4e('0x3e29'):case _0x1a4e('0x3984'):case _0x1a4e('0x3e2a'):case _0x1a4e('0x3e2b'):case _0x1a4e('0x397c'):case _0x1a4e('0x3e2c'):case _0x1a4e('0x3e2d'):case _0x1a4e('0x3e2e'):case _0x1a4e('0x3e2f'):case _0x1a4e('0x3e30'):case _0x1a4e('0x3e31'):case _0x1a4e('0x3e32'):case _0x1a4e('0x3e33'):case'FireGraphic':case'SensorGraphic':case'BubbleGraphic':return this[_0x1a4e('0x3e19')][_0x1a4e('0x179')]('pointCreator');case _0x1a4e('0x3e34'):case _0x1a4e('0x39e4'):case _0x1a4e('0x3989'):case _0x1a4e('0x3e35'):case _0x1a4e('0x3e36'):case _0x1a4e('0x3e37'):case'BezierLineGraphic':case _0x1a4e('0x3e38'):case _0x1a4e('0x3e39'):case _0x1a4e('0x3e3a'):case'SectorGraphic':return this[_0x1a4e('0x3e19')][_0x1a4e('0x179')](_0x1a4e('0x3e3b'));case _0x1a4e('0x3e3c'):return this['_creatorList'][_0x1a4e('0x179')](_0x1a4e('0x3e1e'));case _0x1a4e('0x3e3d'):case'DynamicRippleGraphic':case _0x1a4e('0x3e3e'):case _0x1a4e('0x3e3f'):case'SphereGraphic':case _0x1a4e('0x3e40'):case'SpreadCircleLineGraphic':case'SpreadCircleClampGraphic':case _0x1a4e('0x3e41'):case'SpreadCircleRingGraphic':case _0x1a4e('0x3e42'):case _0x1a4e('0x3e43'):case _0x1a4e('0x3e44'):return this['_creatorList'][_0x1a4e('0x179')](_0x1a4e('0x3e1f'));case'RectangleGraphic':return this[_0x1a4e('0x3e19')][_0x1a4e('0x179')]('rectangleCreator');case _0x1a4e('0x3e45'):return this[_0x1a4e('0x3e19')][_0x1a4e('0x179')](_0x1a4e('0x3e22'));case _0x1a4e('0x3e46'):return this['_creatorList'][_0x1a4e('0x179')]('labelBillboardCreator');case _0x1a4e('0x3e47'):return this['_creatorList'][_0x1a4e('0x179')](_0x1a4e('0x3e48'));case _0x1a4e('0x3e49'):return this['_creatorList'][_0x1a4e('0x179')](_0x1a4e('0x3e27'));}},_0x46500a[_0x1a4e('0xa')][_0x1a4e('0x3e09')]=function(_0x2242de){(window[_0x1a4e('0x3e4a')]?window[_0x1a4e('0x3e4a')]:this[_0x1a4e('0x38fa')]['scene'][_0x1a4e('0x3934')])[_0x1a4e('0x375c')][_0x1a4e('0x39c6')]=_0x2242de;},_0x46500a[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x2242de,_0x46500a,_0x4fa008){if(this[_0x1a4e('0x3e4b')]&&this['_currentCreator'][_0x1a4e('0xb5')](),_0x2242de||_0x2242de['type']){this[_0x1a4e('0x3e09')]('pointer');var _0xd448e=this[_0x1a4e('0x3e28')](_0x2242de[_0x1a4e('0x40')]);if(_0xd448e)return this['_currentCreator']=_0xd448e,_0x46500a||(_0x46500a=this[_0x1a4e('0x3e4c')][_0x1a4e('0x4d4')]()),_0xd448e['create'](_0x2242de,_0x46500a,_0x4fa008);}},_0x46500a[_0x1a4e('0xa')][_0x1a4e('0x3e4d')]=function(){this['fire'](_0x1a4e('0x3e05'),void 0x0),this[_0x1a4e('0x3e4b')]&&this[_0x1a4e('0x3e4b')][_0x1a4e('0xb5')](),this[_0x1a4e('0x3e4b')]=void 0x0;},_0x46500a;}(_0x374011[_0x1a4e('0x168d')]);},'./src/Editor/Creator/CylinderDynamicCreator.ts':function(_0x1d4948,_0xffdd19,_0x300a64){'use strict';_0x300a64['r'](_0xffdd19),_0x300a64['d'](_0xffdd19,_0x1a4e('0x3e25'),function(){return _0x1ada7b;});var _0x522128,_0x15e642=_0x300a64(_0x1a4e('0x3e4e')),_0x1ed580=_0x300a64(_0x1a4e('0x38d0')),_0xfbede8=(_0x522128=function(_0x1d4948,_0xffdd19){return(_0x522128=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1d4948,_0xffdd19){_0x1d4948[_0x1a4e('0x295')]=_0xffdd19;}||function(_0x1d4948,_0xffdd19){for(var _0x300a64 in _0xffdd19)_0xffdd19['hasOwnProperty'](_0x300a64)&&(_0x1d4948[_0x300a64]=_0xffdd19[_0x300a64]);})(_0x1d4948,_0xffdd19);},function(_0x1d4948,_0xffdd19){function _0x300a64(){this[_0x1a4e('0x10')]=_0x1d4948;}_0x522128(_0x1d4948,_0xffdd19),_0x1d4948[_0x1a4e('0xa')]=null===_0xffdd19?Object['create'](_0xffdd19):(_0x300a64[_0x1a4e('0xa')]=_0xffdd19[_0x1a4e('0xa')],new _0x300a64());}),_0x1ada7b=function(_0x1d4948){function _0xffdd19(_0xffdd19,_0x300a64){return _0x1d4948['call'](this,_0xffdd19,_0x300a64)||this;}return _0xfbede8(_0xffdd19,_0x1d4948),_0xffdd19[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x1d4948,_0xffdd19,_0x300a64){var _0x522128=this;if(_0x1d4948||_0xffdd19){var _0x15e642=window['GET_NS3D']()['GET_CONSTRUCTOR']('GraphicItem',_0x1d4948[_0x1a4e('0x40')]);if(_0x15e642){var _0xfbede8=new _0x15e642(_0x1d4948),_0x1ada7b=[];return this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x15e642){var _0x49785a=_0x15e642,_0x1f7e14=_0x1ed580[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x49785a['position']['x'],_0x49785a[_0x1a4e('0x3553')]['y'],_0x522128['_viewer']);if(_0x1f7e14)switch(_0xfbede8&&(_0xfbede8[_0x1a4e('0x3e06')]=!0x0),_0x1ada7b[_0x1a4e('0x1e')]){case 0x0:_0x1ada7b['push'](_0x1f7e14),_0xfbede8[_0x1a4e('0x3e4f')]=_0x1f7e14,_0xfbede8[_0x1a4e('0x3b51')]=_0x1d4948[_0x1a4e('0x3b51')]?_0x1d4948[_0x1a4e('0x3b51')]:0x1388,_0x1d4948[_0x1a4e('0x3e50')]||(_0xfbede8[_0x1a4e('0x3e50')]=new _0x1ed580['GeoPoint'](_0x1f7e14['lon'],_0x1f7e14['lat'],_0x1f7e14[_0x1a4e('0x398c')]+0x1)),0x0===_0x1d4948['topRadius']||_0x1d4948[_0x1a4e('0x3b50')]?_0xfbede8[_0x1a4e('0x3b50')]=_0x1d4948[_0x1a4e('0x3b50')]:_0xfbede8[_0x1a4e('0x3b50')]=_0xfbede8[_0x1a4e('0x3b51')],_0xffdd19[_0x1a4e('0x177')](_0xfbede8),_0xfbede8[_0x1a4e('0x1a53')]=_0x1d4948['space'],_0x522128[_0x1a4e('0x3e03')](_0x1f7e14);break;case 0x2:return _0xfbede8&&(_0xfbede8[_0x1a4e('0x3e06')]=!0x1),_0xfbede8[_0x1a4e('0x3e50')]=_0x1f7e14,_0x522128[_0x1a4e('0x3e05')](_0xfbede8),void(_0x300a64&&_0x300a64(_0xfbede8));}},Cesium['ScreenSpaceEventType'][_0x1a4e('0x398e')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x1d4948){0x0===_0x1ada7b['length']?(_0x522128[_0x1a4e('0x3e05')](void 0x0),_0x300a64&&_0x300a64(void 0x0)):(_0xfbede8&&(_0xfbede8[_0x1a4e('0x3e06')]=!0x1),_0x522128['createFinish'](_0xfbede8),_0x300a64&&_0x300a64(_0xfbede8));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x3a94')]),this['getHandler']()[_0x1a4e('0x3981')](function(_0x1d4948){var _0xffdd19=_0x1d4948,_0x300a64=_0x1ed580[_0x1a4e('0x38da')]['fromScreen'](_0xffdd19[_0x1a4e('0x34f8')]['x'],_0xffdd19[_0x1a4e('0x34f8')]['y'],_0x522128[_0x1a4e('0x38fa')]);_0x300a64&&(0x0!==_0x1ada7b[_0x1a4e('0x1e')]?(0x1===_0x1ada7b[_0x1a4e('0x1e')]?_0x1ada7b[_0x1a4e('0x46')](_0x300a64):0x2===_0x1ada7b[_0x1a4e('0x1e')]&&(_0x1ada7b[0x1]=_0x300a64),_0x522128[_0x1a4e('0x3e01')](_0x300a64),_0xfbede8[_0x1a4e('0x3e50')]=_0x300a64):_0x522128['setCtrPoint'](_0x300a64));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]),_0xfbede8;}}},_0xffdd19;}(_0x15e642['BaseCreator']);},'./src/Editor/Creator/EllipseCreator.ts':function(_0x20c029,_0x2f2b67,_0x27debd){'use strict';_0x27debd['r'](_0x2f2b67),_0x27debd['d'](_0x2f2b67,_0x1a4e('0x3e1d'),function(){return _0x188d26;});var _0x327855,_0x5c94b5=_0x27debd(_0x1a4e('0x3e4e')),_0x56886b=_0x27debd(_0x1a4e('0x38d0')),_0x3ed04b=_0x27debd('./src/Utils/Calculate.ts'),_0x2c653b=_0x27debd(_0x1a4e('0x3e0b')),_0x261ef1=_0x27debd('./src/Utils/Util.ts'),_0xf1e5fb=(_0x327855=function(_0x20c029,_0x2f2b67){return(_0x327855=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x20c029,_0x2f2b67){_0x20c029[_0x1a4e('0x295')]=_0x2f2b67;}||function(_0x20c029,_0x2f2b67){for(var _0x27debd in _0x2f2b67)_0x2f2b67[_0x1a4e('0xb')](_0x27debd)&&(_0x20c029[_0x27debd]=_0x2f2b67[_0x27debd]);})(_0x20c029,_0x2f2b67);},function(_0x20c029,_0x2f2b67){function _0x27debd(){this[_0x1a4e('0x10')]=_0x20c029;}_0x327855(_0x20c029,_0x2f2b67),_0x20c029[_0x1a4e('0xa')]=null===_0x2f2b67?Object[_0x1a4e('0x7')](_0x2f2b67):(_0x27debd[_0x1a4e('0xa')]=_0x2f2b67[_0x1a4e('0xa')],new _0x27debd());}),_0x188d26=function(_0x20c029){function _0x2f2b67(_0x2f2b67,_0x27debd){return _0x20c029[_0x1a4e('0x1')](this,_0x2f2b67,_0x27debd)||this;}return _0xf1e5fb(_0x2f2b67,_0x20c029),_0x2f2b67[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x20c029,_0x2f2b67,_0x27debd){var _0x327855=this;if(_0x20c029||_0x2f2b67){var _0x5c94b5=window['GET_NS3D']()['GET_CONSTRUCTOR'](_0x1a4e('0x3ae2'),_0x20c029['type']);if(_0x5c94b5){var _0xf1e5fb=new _0x5c94b5(_0x20c029),_0x188d26=[],_0x2066c4=0x0;return this['getHandler']()[_0x1a4e('0x3981')](function(_0x20c029){var _0x5c94b5=_0x20c029['position'],_0x3ed04b=_0x56886b[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x5c94b5['x'],_0x5c94b5['y'],_0x327855[_0x1a4e('0x38fa')]);if(_0x3ed04b){switch(_0x2066c4){case 0x0:_0x188d26[_0x1a4e('0x46')](_0x3ed04b),_0xf1e5fb[_0x1a4e('0x3553')]=_0x3ed04b,_0x2f2b67[_0x1a4e('0x177')](_0xf1e5fb),_0xf1e5fb[_0x1a4e('0x3e06')]=!0x0;break;case 0x1:_0x188d26[_0x1a4e('0x76')]();break;case 0x2:_0xf1e5fb[_0x1a4e('0x3e06')]=!0x1,_0x327855[_0x1a4e('0x3e05')](_0xf1e5fb),_0x27debd&&_0x27debd(_0xf1e5fb);}_0x2066c4++;}},Cesium[_0x1a4e('0x39ce')]['LEFT_CLICK']),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x20c029){_0xf1e5fb?(_0xf1e5fb[_0x1a4e('0x3e06')]=!0x1,_0x327855[_0x1a4e('0x3e05')](_0xf1e5fb),_0x27debd&&_0x27debd(_0xf1e5fb)):(_0x327855['createFinish'](void 0x0),_0x27debd&&_0x27debd(void 0x0));},Cesium[_0x1a4e('0x39ce')]['RIGHT_CLICK']),this['getHandler']()[_0x1a4e('0x3981')](function(_0x20c029){var _0x2f2b67=_0x20c029,_0x27debd=_0x56886b[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x2f2b67[_0x1a4e('0x34f8')]['x'],_0x2f2b67[_0x1a4e('0x34f8')]['y'],_0x327855[_0x1a4e('0x38fa')]);if(_0x27debd)switch(_0x188d26[_0x1a4e('0x1e')]>0x0&&(_0x2c653b[_0x1a4e('0x3ae2')][_0x1a4e('0x3e0c')](_0xf1e5fb)||(_0x27debd[_0x1a4e('0x398c')]=_0x188d26[0x0][_0x1a4e('0x398c')])),_0x2066c4){case 0x0:_0x327855['setCtrPoint'](_0x27debd);break;case 0x1:_0x27debd['lat']=_0x188d26[0x0][_0x1a4e('0x1a2')],0x1===_0x188d26[_0x1a4e('0x1e')]?(_0x188d26[_0x1a4e('0x46')](_0x27debd),_0x327855[_0x1a4e('0x3e03')](_0x27debd)):_0x188d26[0x1]=_0x27debd;var _0x5c94b5=_0x3ed04b[_0x1a4e('0x3990')][_0x1a4e('0x39e7')](_0x188d26),_0x33320f=_0x5c94b5[_0x1a4e('0x3e0d')](_0x261ef1[_0x1a4e('0x39a0')][_0x1a4e('0x3e0e')](_0x5c94b5,0x1))+'m';_0x327855['setCtrPoint'](_0x27debd,_0x33320f),_0xf1e5fb[_0x1a4e('0x3e51')]=_0x5c94b5,_0xf1e5fb[_0x1a4e('0x3e52')]=_0x5c94b5;break;case 0x2:_0x27debd[_0x1a4e('0x1a1')]=_0x188d26[0x0][_0x1a4e('0x1a1')],0x1===_0x188d26[_0x1a4e('0x1e')]?(_0x188d26[_0x1a4e('0x46')](_0x27debd),_0x327855[_0x1a4e('0x3e03')](_0x27debd)):_0x188d26[0x1]=_0x27debd;var _0x9d3330=_0x3ed04b[_0x1a4e('0x3990')][_0x1a4e('0x39e7')](_0x188d26),_0x194868=_0x9d3330[_0x1a4e('0x3e0d')](_0x261ef1[_0x1a4e('0x39a0')][_0x1a4e('0x3e0e')](_0x9d3330,0x1))+'m';_0x327855[_0x1a4e('0x3e01')](_0x27debd,_0x194868),_0xf1e5fb['semiMinorAxis']=_0x9d3330;}},Cesium['ScreenSpaceEventType'][_0x1a4e('0x39d1')]),_0xf1e5fb;}}},_0x2f2b67;}(_0x5c94b5[_0x1a4e('0x3dfd')]);},'./src/Editor/Creator/LabelBillboardCreator.ts':function(_0x33a8ac,_0x246df3,_0x5e4cbc){'use strict';_0x5e4cbc['r'](_0x246df3),_0x5e4cbc['d'](_0x246df3,'LabelBillboardCreator',function(){return _0x44dad4;});var _0x49fda7,_0x29ed24=_0x5e4cbc(_0x1a4e('0x3e4e')),_0x12aa48=_0x5e4cbc(_0x1a4e('0x38d0')),_0x41a954=(_0x49fda7=function(_0x33a8ac,_0x246df3){return(_0x49fda7=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x33a8ac,_0x246df3){_0x33a8ac[_0x1a4e('0x295')]=_0x246df3;}||function(_0x33a8ac,_0x246df3){for(var _0x5e4cbc in _0x246df3)_0x246df3[_0x1a4e('0xb')](_0x5e4cbc)&&(_0x33a8ac[_0x5e4cbc]=_0x246df3[_0x5e4cbc]);})(_0x33a8ac,_0x246df3);},function(_0x33a8ac,_0x246df3){function _0x5e4cbc(){this[_0x1a4e('0x10')]=_0x33a8ac;}_0x49fda7(_0x33a8ac,_0x246df3),_0x33a8ac['prototype']=null===_0x246df3?Object[_0x1a4e('0x7')](_0x246df3):(_0x5e4cbc[_0x1a4e('0xa')]=_0x246df3['prototype'],new _0x5e4cbc());}),_0x44dad4=function(_0x33a8ac){function _0x246df3(_0x246df3,_0x5e4cbc){return _0x33a8ac['call'](this,_0x246df3,_0x5e4cbc)||this;}return _0x41a954(_0x246df3,_0x33a8ac),_0x246df3[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x33a8ac,_0x246df3,_0x5e4cbc){var _0x49fda7=this;if(_0x33a8ac||_0x246df3){var _0x29ed24=window[_0x1a4e('0x3ae6')]()['GET_CONSTRUCTOR']('GraphicItem',_0x33a8ac[_0x1a4e('0x40')]);if(_0x29ed24){var _0x41a954=new _0x29ed24(_0x33a8ac);return this['getHandler']()[_0x1a4e('0x3981')](function(_0x33a8ac){var _0x29ed24=_0x33a8ac,_0x44dad4=_0x12aa48['GeoPoint'][_0x1a4e('0x3982')](_0x29ed24[_0x1a4e('0x3553')]['x'],_0x29ed24[_0x1a4e('0x3553')]['y'],_0x49fda7[_0x1a4e('0x38fa')]);_0x44dad4&&(_0x41a954[_0x1a4e('0x3553')]=_0x44dad4,_0x246df3[_0x1a4e('0x177')](_0x41a954),_0x49fda7[_0x1a4e('0x3e08')](_0x41a954),_0x49fda7[_0x1a4e('0x3e05')](_0x41a954),_0x5e4cbc&&_0x5e4cbc(_0x41a954));},Cesium[_0x1a4e('0x39ce')]['LEFT_CLICK']),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x33a8ac){_0x49fda7[_0x1a4e('0x3e05')](void 0x0),_0x5e4cbc&&_0x5e4cbc(void 0x0);},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x3a94')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x33a8ac){var _0x246df3=_0x33a8ac,_0x5e4cbc=_0x12aa48[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x246df3['endPosition']['x'],_0x246df3[_0x1a4e('0x34f8')]['y'],_0x49fda7[_0x1a4e('0x38fa')]);_0x5e4cbc&&_0x49fda7[_0x1a4e('0x3e01')](_0x5e4cbc);},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]),_0x41a954;}}},_0x246df3;}(_0x29ed24[_0x1a4e('0x3dfd')]);},'./src/Editor/Creator/LabelRectCreator.ts':function(_0x380243,_0xe7d04,_0x3ca326){'use strict';_0x3ca326['r'](_0xe7d04),_0x3ca326['d'](_0xe7d04,_0x1a4e('0x3e24'),function(){return _0x16948a;});var _0x374ee3,_0x22ca82=_0x3ca326(_0x1a4e('0x3e4e')),_0x1d9049=_0x3ca326(_0x1a4e('0x38d0')),_0x4b9aa2=(_0x374ee3=function(_0x380243,_0xe7d04){return(_0x374ee3=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x380243,_0xe7d04){_0x380243[_0x1a4e('0x295')]=_0xe7d04;}||function(_0x380243,_0xe7d04){for(var _0x3ca326 in _0xe7d04)_0xe7d04['hasOwnProperty'](_0x3ca326)&&(_0x380243[_0x3ca326]=_0xe7d04[_0x3ca326]);})(_0x380243,_0xe7d04);},function(_0x380243,_0xe7d04){function _0x3ca326(){this[_0x1a4e('0x10')]=_0x380243;}_0x374ee3(_0x380243,_0xe7d04),_0x380243['prototype']=null===_0xe7d04?Object[_0x1a4e('0x7')](_0xe7d04):(_0x3ca326[_0x1a4e('0xa')]=_0xe7d04[_0x1a4e('0xa')],new _0x3ca326());}),_0x16948a=function(_0x380243){function _0xe7d04(_0xe7d04,_0x3ca326){return _0x380243['call'](this,_0xe7d04,_0x3ca326)||this;}return _0x4b9aa2(_0xe7d04,_0x380243),_0xe7d04[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x380243,_0xe7d04,_0x3ca326){var _0x374ee3=this;if(_0x380243||_0xe7d04){var _0x22ca82=window['GET_NS3D']()[_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),_0x380243[_0x1a4e('0x40')]);if(_0x22ca82){var _0x4b9aa2=new _0x22ca82(_0x380243);return this['getHandler']()[_0x1a4e('0x3981')](function(_0x380243){var _0x22ca82=_0x380243,_0x16948a=_0x1d9049['GeoPoint'][_0x1a4e('0x3982')](_0x22ca82[_0x1a4e('0x3553')]['x'],_0x22ca82['position']['y'],_0x374ee3[_0x1a4e('0x38fa')]);_0x16948a&&(_0x4b9aa2[_0x1a4e('0x3553')]=_0x16948a,_0xe7d04['add'](_0x4b9aa2),_0x374ee3['createItem'](_0x4b9aa2),_0x374ee3[_0x1a4e('0x3e05')](_0x4b9aa2),_0x3ca326&&_0x3ca326(_0x4b9aa2));},Cesium['ScreenSpaceEventType'][_0x1a4e('0x398e')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x380243){_0x374ee3[_0x1a4e('0x3e05')](void 0x0),_0x3ca326&&_0x3ca326(void 0x0);},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x3a94')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x380243){var _0xe7d04=_0x380243,_0x3ca326=_0x1d9049[_0x1a4e('0x38da')]['fromScreen'](_0xe7d04[_0x1a4e('0x34f8')]['x'],_0xe7d04[_0x1a4e('0x34f8')]['y'],_0x374ee3[_0x1a4e('0x38fa')]);_0x3ca326&&_0x374ee3[_0x1a4e('0x3e01')](_0x3ca326);},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]),_0x4b9aa2;}}},_0xe7d04;}(_0x22ca82[_0x1a4e('0x3dfd')]);},'./src/Editor/Creator/PointCreator.ts':function(_0x104e8e,_0x50d75a,_0x14bff8){'use strict';_0x14bff8['r'](_0x50d75a),_0x14bff8['d'](_0x50d75a,_0x1a4e('0x3e1a'),function(){return _0x4ebe1e;});var _0x123605,_0x2e2998=_0x14bff8(_0x1a4e('0x3e4e')),_0x4fa599=_0x14bff8(_0x1a4e('0x38d0')),_0x46cc3a=(_0x123605=function(_0x104e8e,_0x50d75a){return(_0x123605=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x104e8e,_0x50d75a){_0x104e8e[_0x1a4e('0x295')]=_0x50d75a;}||function(_0x104e8e,_0x50d75a){for(var _0x14bff8 in _0x50d75a)_0x50d75a[_0x1a4e('0xb')](_0x14bff8)&&(_0x104e8e[_0x14bff8]=_0x50d75a[_0x14bff8]);})(_0x104e8e,_0x50d75a);},function(_0x104e8e,_0x50d75a){function _0x14bff8(){this[_0x1a4e('0x10')]=_0x104e8e;}_0x123605(_0x104e8e,_0x50d75a),_0x104e8e['prototype']=null===_0x50d75a?Object['create'](_0x50d75a):(_0x14bff8[_0x1a4e('0xa')]=_0x50d75a[_0x1a4e('0xa')],new _0x14bff8());}),_0x4ebe1e=function(_0x104e8e){function _0x50d75a(_0x50d75a,_0x14bff8){return _0x104e8e[_0x1a4e('0x1')](this,_0x50d75a,_0x14bff8)||this;}return _0x46cc3a(_0x50d75a,_0x104e8e),_0x50d75a[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x104e8e,_0x50d75a,_0x14bff8){var _0x123605=this;if(_0x104e8e||_0x50d75a){var _0x2e2998=window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),_0x104e8e['type']);if(_0x2e2998){var _0x46cc3a=new _0x2e2998(_0x104e8e);return this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x104e8e){var _0x2e2998=_0x104e8e,_0x4ebe1e=_0x4fa599[_0x1a4e('0x38da')]['fromScreen'](_0x2e2998[_0x1a4e('0x3553')]['x'],_0x2e2998[_0x1a4e('0x3553')]['y'],_0x123605['_viewer']);_0x4ebe1e&&(_0x46cc3a[_0x1a4e('0x3553')]=_0x4ebe1e,_0x50d75a[_0x1a4e('0x177')](_0x46cc3a),_0x123605['createItem'](_0x46cc3a),_0x123605[_0x1a4e('0x3e05')](_0x46cc3a),_0x46cc3a[_0x1a4e('0x3e06')]=!0x1,_0x14bff8&&(_0x14bff8(_0x46cc3a),_0x46cc3a[_0x1a4e('0x3e06')]=!0x1));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x398e')]),this['getHandler']()[_0x1a4e('0x3981')](function(_0x104e8e){_0x123605['createFinish'](void 0x0),_0x14bff8&&_0x14bff8(void 0x0),_0x46cc3a&&(_0x46cc3a[_0x1a4e('0x3e06')]=!0x1);},Cesium['ScreenSpaceEventType'][_0x1a4e('0x3a94')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x104e8e){var _0x50d75a=_0x104e8e,_0x14bff8=_0x4fa599[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x50d75a[_0x1a4e('0x34f8')]['x'],_0x50d75a[_0x1a4e('0x34f8')]['y'],_0x123605[_0x1a4e('0x38fa')]);_0x14bff8&&(_0x46cc3a&&(_0x46cc3a[_0x1a4e('0x3e06')]=!0x0),_0x123605[_0x1a4e('0x3e01')](_0x14bff8));},Cesium[_0x1a4e('0x39ce')]['MOUSE_MOVE']),_0x46cc3a;}}},_0x50d75a;}(_0x2e2998['BaseCreator']);},'./src/Editor/Creator/PolylineCreator.ts':function(_0x2a384f,_0x1e9134,_0x4a047b){'use strict';_0x4a047b['r'](_0x1e9134),_0x4a047b['d'](_0x1e9134,'PolylineCreator',function(){return _0x1cfe83;});var _0x48c1a9,_0x10a068=_0x4a047b('./src/Editor/Creator/BaseCreator.ts'),_0x3d0878=_0x4a047b('./src/Utils/GeoPoint.ts'),_0x3e7475=(_0x48c1a9=function(_0x2a384f,_0x1e9134){return(_0x48c1a9=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x2a384f,_0x1e9134){_0x2a384f[_0x1a4e('0x295')]=_0x1e9134;}||function(_0x2a384f,_0x1e9134){for(var _0x4a047b in _0x1e9134)_0x1e9134[_0x1a4e('0xb')](_0x4a047b)&&(_0x2a384f[_0x4a047b]=_0x1e9134[_0x4a047b]);})(_0x2a384f,_0x1e9134);},function(_0x2a384f,_0x1e9134){function _0x4a047b(){this['constructor']=_0x2a384f;}_0x48c1a9(_0x2a384f,_0x1e9134),_0x2a384f[_0x1a4e('0xa')]=null===_0x1e9134?Object['create'](_0x1e9134):(_0x4a047b[_0x1a4e('0xa')]=_0x1e9134[_0x1a4e('0xa')],new _0x4a047b());}),_0x13d188=function(_0x2a384f,_0x1e9134){var _0x4a047b=_0x1a4e('0x68')==typeof Symbol&&_0x2a384f[Symbol[_0x1a4e('0x335')]];if(!_0x4a047b)return _0x2a384f;var _0x48c1a9,_0x10a068,_0x3d0878=_0x4a047b[_0x1a4e('0x1')](_0x2a384f),_0x3e7475=[];try{for(;(void 0x0===_0x1e9134||_0x1e9134-->0x0)&&!(_0x48c1a9=_0x3d0878[_0x1a4e('0x7e')]())['done'];)_0x3e7475[_0x1a4e('0x46')](_0x48c1a9[_0x1a4e('0x255')]);}catch(_0xf52306){_0x10a068={'error':_0xf52306};}finally{try{_0x48c1a9&&!_0x48c1a9[_0x1a4e('0x3c2')]&&(_0x4a047b=_0x3d0878[_0x1a4e('0xe40')])&&_0x4a047b['call'](_0x3d0878);}finally{if(_0x10a068)throw _0x10a068[_0x1a4e('0x873')];}}return _0x3e7475;},_0x332691=function(){for(var _0x2a384f=[],_0x1e9134=0x0;_0x1e9134=_0x31e6df?(_0x13d188['positions']=_0x3e7475,_0x48c1a9[_0x1a4e('0x3e05')](_0x13d188),_0x4a047b&&_0x4a047b(_0x13d188),_0x13d188[_0x1a4e('0x3e06')]=!0x1,_0x39ee0f=!0x1):_0x13d188[_0x1a4e('0x398a')]=_0x3e7475));},Cesium['ScreenSpaceEventType'][_0x1a4e('0x398e')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x2a384f){_0x13d188?_0x3e7475[_0x1a4e('0x1e')]<_0x1cfe83?(_0x13d188[_0x1a4e('0x3e06')]=!0x1,_0x1e9134[_0x1a4e('0x82')](_0x13d188),_0x48c1a9[_0x1a4e('0x3e05')](void 0x0),_0x4a047b&&_0x4a047b(void 0x0)):(_0x13d188[_0x1a4e('0x398a')]=_0x3e7475,_0x13d188[_0x1a4e('0x3e06')]=!0x1,_0x48c1a9[_0x1a4e('0x3e05')](_0x13d188),_0x4a047b&&_0x4a047b(_0x13d188)):(_0x48c1a9[_0x1a4e('0x3e05')](void 0x0),_0x4a047b&&_0x4a047b(void 0x0));},Cesium[_0x1a4e('0x39ce')]['RIGHT_CLICK']),this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x2a384f){_0x13d188?_0x3e7475[_0x1a4e('0x1e')]<_0x1cfe83?(_0x13d188[_0x1a4e('0x3e06')]=!0x1,_0x1e9134[_0x1a4e('0x82')](_0x13d188),_0x48c1a9[_0x1a4e('0x3e05')](void 0x0),_0x4a047b&&_0x4a047b(void 0x0)):(_0x3e7475['pop'](),_0x13d188['positions']=_0x3e7475,_0x13d188[_0x1a4e('0x3e06')]=!0x1,_0x48c1a9[_0x1a4e('0x3e05')](_0x13d188),_0x4a047b&&_0x4a047b(_0x13d188)):(_0x48c1a9[_0x1a4e('0x3e05')](void 0x0),_0x4a047b&&_0x4a047b(void 0x0)),_0x39ee0f=!0x1;},Cesium['ScreenSpaceEventType'][_0x1a4e('0x3e55')]),this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x2a384f){var _0x4a047b=_0x2a384f,_0x10a068=_0x3d0878['GeoPoint']['fromScreen'](_0x4a047b[_0x1a4e('0x34f8')]['x'],_0x4a047b['endPosition']['y'],_0x48c1a9[_0x1a4e('0x38fa')]);if(_0x10a068&&(_0x48c1a9[_0x1a4e('0x3e01')](_0x10a068),0x0!==_0x3e7475[_0x1a4e('0x1e')])){for(var _0x332691=[],_0x31e6df=0x0;_0x31e6df<_0x3e7475['length'];_0x31e6df++)_0x332691[_0x1a4e('0x46')](_0x3e7475[_0x31e6df]);_0x332691[_0x1a4e('0x46')](_0x10a068),_0x39ee0f?_0x13d188[_0x1a4e('0x398a')]=_0x332691:_0x332691[_0x1a4e('0x1e')]>=_0x1cfe83&&(_0x13d188['positions']=_0x332691,_0x1e9134[_0x1a4e('0x177')](_0x13d188),_0x48c1a9[_0x1a4e('0x3e08')](_0x13d188),_0x13d188[_0x1a4e('0x3e06')]=!0x0,_0x39ee0f=!0x0);}},Cesium['ScreenSpaceEventType'][_0x1a4e('0x39d1')]),_0x13d188;}}},_0x1e9134;}(_0x10a068[_0x1a4e('0x3dfd')]);},'./src/Editor/Creator/RectangleCreator.ts':function(_0x23b9f9,_0x294aef,_0x500155){'use strict';_0x500155['r'](_0x294aef),_0x500155['d'](_0x294aef,_0x1a4e('0x3e56'),function(){return _0x1f6583;});var _0x4e3952,_0x4b7149=_0x500155(_0x1a4e('0x3e4e')),_0x1e5c20=_0x500155(_0x1a4e('0x38d0')),_0x3f0768=(_0x4e3952=function(_0x23b9f9,_0x294aef){return(_0x4e3952=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x23b9f9,_0x294aef){_0x23b9f9[_0x1a4e('0x295')]=_0x294aef;}||function(_0x23b9f9,_0x294aef){for(var _0x500155 in _0x294aef)_0x294aef['hasOwnProperty'](_0x500155)&&(_0x23b9f9[_0x500155]=_0x294aef[_0x500155]);})(_0x23b9f9,_0x294aef);},function(_0x23b9f9,_0x294aef){function _0x500155(){this[_0x1a4e('0x10')]=_0x23b9f9;}_0x4e3952(_0x23b9f9,_0x294aef),_0x23b9f9[_0x1a4e('0xa')]=null===_0x294aef?Object[_0x1a4e('0x7')](_0x294aef):(_0x500155[_0x1a4e('0xa')]=_0x294aef['prototype'],new _0x500155());}),_0x1f6583=function(_0x23b9f9){function _0x294aef(_0x294aef,_0x500155){return _0x23b9f9[_0x1a4e('0x1')](this,_0x294aef,_0x500155)||this;}return _0x3f0768(_0x294aef,_0x23b9f9),_0x294aef[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x23b9f9,_0x294aef,_0x500155){var _0x4e3952=this;if(_0x23b9f9||_0x294aef){var _0x4b7149=window['GET_NS3D']()[_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),_0x23b9f9[_0x1a4e('0x40')]);if(_0x4b7149){var _0x3f0768=new _0x4b7149(_0x23b9f9),_0x1f6583=[],_0x27474f=0x0;return this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x23b9f9){var _0x4b7149=_0x23b9f9,_0x1b3f49=_0x1e5c20['GeoPoint'][_0x1a4e('0x3982')](_0x4b7149[_0x1a4e('0x3553')]['x'],_0x4b7149[_0x1a4e('0x3553')]['y'],_0x4e3952['_viewer']);_0x1b3f49&&(_0x4e3952['addCtrPoint'](_0x1b3f49),0x0===_0x27474f&&(_0x294aef[_0x1a4e('0x177')](_0x3f0768),_0x1f6583[_0x1a4e('0x46')](_0x1b3f49)),0x2===++_0x27474f&&(_0x4e3952[_0x1a4e('0x3e05')](_0x3f0768),_0x500155&&_0x500155(_0x3f0768)),_0x3f0768[_0x1a4e('0x3e06')]=!0x0);},Cesium['ScreenSpaceEventType'][_0x1a4e('0x398e')]),this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x23b9f9){_0x3f0768?(_0x3f0768[_0x1a4e('0x3e06')]=!0x0,_0x4e3952['createFinish'](_0x3f0768),_0x500155&&_0x500155(_0x3f0768)):(_0x4e3952[_0x1a4e('0x3e05')](void 0x0),_0x500155&&_0x500155(void 0x0));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x3a94')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x23b9f9){var _0x294aef=_0x23b9f9,_0x500155=_0x1e5c20[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x294aef['endPosition']['x'],_0x294aef[_0x1a4e('0x34f8')]['y'],_0x4e3952[_0x1a4e('0x38fa')]);_0x500155&&(_0x4e3952[_0x1a4e('0x3e01')](_0x500155),0x0!==_0x1f6583[_0x1a4e('0x1e')]&&(_0x1f6583[_0x1a4e('0x1e')]>0x1&&_0x1f6583[_0x1a4e('0x76')](),_0x1f6583['push'](_0x500155),_0x3f0768[_0x1a4e('0x398a')]=_0x1f6583));},Cesium[_0x1a4e('0x39ce')]['MOUSE_MOVE']),_0x3f0768;}}},_0x294aef;}(_0x4b7149[_0x1a4e('0x3dfd')]);},'./src/Editor/Creator/RectangleLineCreator.ts':function(_0x2af711,_0x162fd0,_0x4cf3d0){'use strict';_0x4cf3d0['r'](_0x162fd0),_0x4cf3d0['d'](_0x162fd0,_0x1a4e('0x3e21'),function(){return _0x5e1d05;});var _0x4e0a5b,_0x5b67e5=_0x4cf3d0(_0x1a4e('0x3e4e')),_0xc4a917=_0x4cf3d0(_0x1a4e('0x38d0')),_0x18bae4=(_0x4e0a5b=function(_0x2af711,_0x162fd0){return(_0x4e0a5b=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x2af711,_0x162fd0){_0x2af711[_0x1a4e('0x295')]=_0x162fd0;}||function(_0x2af711,_0x162fd0){for(var _0x4cf3d0 in _0x162fd0)_0x162fd0['hasOwnProperty'](_0x4cf3d0)&&(_0x2af711[_0x4cf3d0]=_0x162fd0[_0x4cf3d0]);})(_0x2af711,_0x162fd0);},function(_0x2af711,_0x162fd0){function _0x4cf3d0(){this[_0x1a4e('0x10')]=_0x2af711;}_0x4e0a5b(_0x2af711,_0x162fd0),_0x2af711[_0x1a4e('0xa')]=null===_0x162fd0?Object[_0x1a4e('0x7')](_0x162fd0):(_0x4cf3d0[_0x1a4e('0xa')]=_0x162fd0[_0x1a4e('0xa')],new _0x4cf3d0());}),_0x5e1d05=function(_0x2af711){function _0x162fd0(_0x162fd0,_0x4cf3d0){return _0x2af711['call'](this,_0x162fd0,_0x4cf3d0)||this;}return _0x18bae4(_0x162fd0,_0x2af711),_0x162fd0[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x2af711,_0x162fd0,_0x4cf3d0){var _0x4e0a5b=this;if(_0x2af711||_0x162fd0){var _0x5b67e5=window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),_0x1a4e('0x39e4'));if(_0x5b67e5){var _0x18bae4=new _0x5b67e5(_0x2af711),_0x5e1d05=[],_0x4b528c=0x0;return this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x2af711){var _0x5b67e5=_0x2af711,_0x191b50=_0xc4a917['GeoPoint'][_0x1a4e('0x3982')](_0x5b67e5[_0x1a4e('0x3553')]['x'],_0x5b67e5[_0x1a4e('0x3553')]['y'],_0x4e0a5b[_0x1a4e('0x38fa')]);_0x191b50&&(_0x4e0a5b[_0x1a4e('0x3e03')](_0x191b50),0x0===_0x4b528c&&(_0x162fd0[_0x1a4e('0x177')](_0x18bae4),_0x5e1d05[_0x1a4e('0x46')](_0x191b50)),0x2===++_0x4b528c&&(_0x4e0a5b[_0x1a4e('0x3e05')](_0x18bae4),_0x4cf3d0&&_0x4cf3d0(_0x18bae4)));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x398e')]),this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x2af711){_0x18bae4?(_0x4e0a5b[_0x1a4e('0x3e05')](_0x18bae4),_0x4cf3d0&&_0x4cf3d0(_0x18bae4)):(_0x4e0a5b[_0x1a4e('0x3e05')](void 0x0),_0x4cf3d0&&_0x4cf3d0(void 0x0));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x3a94')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x2af711){var _0x162fd0=_0x2af711,_0x4cf3d0=_0xc4a917[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x162fd0['endPosition']['x'],_0x162fd0[_0x1a4e('0x34f8')]['y'],_0x4e0a5b[_0x1a4e('0x38fa')]);if(_0x4cf3d0&&(_0x4e0a5b[_0x1a4e('0x3e01')](_0x4cf3d0),0x0!==_0x5e1d05['length'])){_0x5e1d05[_0x1a4e('0x1e')]>0x1&&_0x5e1d05[_0x1a4e('0x76')](),_0x5e1d05[_0x1a4e('0x46')](_0x4cf3d0);var _0x5b67e5=_0x4e0a5b['getCoordinates'](_0x5e1d05);_0x18bae4['positions']=_0x5b67e5;}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]),_0x18bae4;}}},_0x162fd0[_0x1a4e('0xa')][_0x1a4e('0x397')]=function(_0x2af711){var _0x162fd0=[];_0x162fd0[_0x1a4e('0x46')](_0x2af711[0x0]);var _0x4cf3d0=new _0xc4a917[(_0x1a4e('0x38da'))](_0x2af711[0x0][_0x1a4e('0x1a1')],_0x2af711[0x1][_0x1a4e('0x1a2')],_0x2af711[0x0][_0x1a4e('0x398c')]);_0x162fd0[_0x1a4e('0x46')](_0x4cf3d0);var _0x4e0a5b=new _0xc4a917[(_0x1a4e('0x38da'))](_0x2af711[0x1]['lon'],_0x2af711[0x0][_0x1a4e('0x1a2')],_0x2af711[0x1][_0x1a4e('0x398c')]);return _0x162fd0[_0x1a4e('0x46')](_0x2af711[0x1]),_0x162fd0[_0x1a4e('0x46')](_0x4e0a5b),_0x162fd0[_0x1a4e('0x46')](_0x2af711[0x0]),_0x162fd0;},_0x162fd0;}(_0x5b67e5['BaseCreator']);},'./src/Editor/Creator/ScreenTextCreator.ts':function(_0x376b56,_0x434448,_0x2e2a38){'use strict';_0x2e2a38['r'](_0x434448),_0x2e2a38['d'](_0x434448,'ScreenTextCreator',function(){return _0x4f4a28;});var _0x2d22b9,_0x371246=_0x2e2a38(_0x1a4e('0x3e4e')),_0x5d0a4c=(_0x2d22b9=function(_0x376b56,_0x434448){return(_0x2d22b9=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x376b56,_0x434448){_0x376b56[_0x1a4e('0x295')]=_0x434448;}||function(_0x376b56,_0x434448){for(var _0x2e2a38 in _0x434448)_0x434448[_0x1a4e('0xb')](_0x2e2a38)&&(_0x376b56[_0x2e2a38]=_0x434448[_0x2e2a38]);})(_0x376b56,_0x434448);},function(_0x376b56,_0x434448){function _0x2e2a38(){this[_0x1a4e('0x10')]=_0x376b56;}_0x2d22b9(_0x376b56,_0x434448),_0x376b56[_0x1a4e('0xa')]=null===_0x434448?Object[_0x1a4e('0x7')](_0x434448):(_0x2e2a38['prototype']=_0x434448[_0x1a4e('0xa')],new _0x2e2a38());}),_0x4f4a28=function(_0x376b56){function _0x434448(_0x434448,_0x2e2a38){return _0x376b56[_0x1a4e('0x1')](this,_0x434448,_0x2e2a38)||this;}return _0x5d0a4c(_0x434448,_0x376b56),_0x434448['prototype'][_0x1a4e('0x7')]=function(_0x376b56,_0x434448,_0x2e2a38){var _0x2d22b9=this;if(_0x376b56||_0x434448){var _0x371246=window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),_0x376b56['type']);if(_0x371246){var _0x5d0a4c=new _0x371246(_0x376b56);return this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x376b56){var _0x371246=_0x376b56;if(_0x371246['position']['x']&&_0x371246['position']['y']){var _0x4f4a28=[_0x371246[_0x1a4e('0x3553')]['x'],_0x371246[_0x1a4e('0x3553')]['y']];_0x5d0a4c['position']=_0x4f4a28,_0x434448[_0x1a4e('0x177')](_0x5d0a4c),_0x2d22b9[_0x1a4e('0x3e08')](_0x5d0a4c),_0x2d22b9[_0x1a4e('0x3e05')](_0x5d0a4c),_0x2e2a38&&_0x2e2a38(_0x5d0a4c),_0x5d0a4c[_0x1a4e('0x3e06')]=!0x1;}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x398e')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x376b56){_0x2d22b9[_0x1a4e('0x3e05')](void 0x0),_0x2e2a38&&_0x2e2a38(void 0x0),_0x5d0a4c&&(_0x5d0a4c[_0x1a4e('0x3e06')]=!0x1);},Cesium[_0x1a4e('0x39ce')]['RIGHT_CLICK']),this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x376b56){var _0x434448=_0x376b56;if(_0x434448[_0x1a4e('0x34f8')]['x']&&_0x434448[_0x1a4e('0x34f8')]['y']){_0x434448[_0x1a4e('0x34f8')]['x'],_0x434448[_0x1a4e('0x34f8')]['y'];_0x5d0a4c&&(_0x5d0a4c[_0x1a4e('0x3e06')]=!0x0);}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]),_0x5d0a4c;}}},_0x434448;}(_0x371246[_0x1a4e('0x3dfd')]);},'./src/Editor/Editor/BaseEditor.ts':function(_0x5d1cb0,_0x12de8c,_0x71a918){'use strict';_0x71a918['r'](_0x12de8c),_0x71a918['d'](_0x12de8c,'BaseEditor',function(){return _0xe1bf10;});var _0x4e2d70,_0x4a304f=_0x71a918(_0x1a4e('0x3ad0')),_0xf80e19=_0x71a918(_0x1a4e('0x3e0b')),_0x257542=_0x71a918(_0x1a4e('0x3e57')),_0x413dd7=(_0x4e2d70=function(_0x5d1cb0,_0x12de8c){return(_0x4e2d70=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5d1cb0,_0x12de8c){_0x5d1cb0[_0x1a4e('0x295')]=_0x12de8c;}||function(_0x5d1cb0,_0x12de8c){for(var _0x71a918 in _0x12de8c)_0x12de8c[_0x1a4e('0xb')](_0x71a918)&&(_0x5d1cb0[_0x71a918]=_0x12de8c[_0x71a918]);})(_0x5d1cb0,_0x12de8c);},function(_0x5d1cb0,_0x12de8c){function _0x71a918(){this[_0x1a4e('0x10')]=_0x5d1cb0;}_0x4e2d70(_0x5d1cb0,_0x12de8c),_0x5d1cb0[_0x1a4e('0xa')]=null===_0x12de8c?Object['create'](_0x12de8c):(_0x71a918[_0x1a4e('0xa')]=_0x12de8c['prototype'],new _0x71a918());}),_0xe1bf10=function(_0x5d1cb0){function _0x12de8c(_0x12de8c,_0x71a918){var _0x4e2d70=_0x5d1cb0[_0x1a4e('0x1')](this)||this;return _0x4e2d70[_0x1a4e('0x38fa')]=_0x12de8c,_0x4e2d70[_0x1a4e('0x3e07')]=_0x71a918,_0x4e2d70[_0x1a4e('0x3dfe')]=_0x71a918[_0x1a4e('0x3dff')],_0x4e2d70[_0x1a4e('0x3e58')]=new _0x257542[(_0x1a4e('0x3e59'))](_0x12de8c),_0x4e2d70;}return _0x413dd7(_0x12de8c,_0x5d1cb0),_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e5a')]=function(_0x5d1cb0){this[_0x1a4e('0x3e58')][_0x1a4e('0x3e5b')](_0x5d1cb0);},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e00')]=function(){return this[_0x1a4e('0x3976')]&&!this[_0x1a4e('0x3976')][_0x1a4e('0x3995')]()||(this[_0x1a4e('0x3976')]=new Cesium['ScreenSpaceEventHandler'](this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3934')])),this[_0x1a4e('0x3976')];},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x5d1cb0){this[_0x1a4e('0x3e5d')]=_0x5d1cb0;},_0x12de8c['prototype']['clearCtrPint']=function(){this[_0x1a4e('0x3dfe')][_0x1a4e('0xb5')]();},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e03')]=function(_0x5d1cb0){this[_0x1a4e('0x3dfe')]['add'](_0x5d1cb0);},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e08')]=function(_0x5d1cb0){this[_0x1a4e('0x3e07')][_0x1a4e('0x3ad3')]('createItem',_0x5d1cb0);},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e5e')]=function(){return this[_0x1a4e('0x3dfe')]['getList']();},_0x12de8c[_0x1a4e('0xa')]['setCtrlActive']=function(_0x5d1cb0,_0x12de8c){this['_controlPointSet']['setCtrlActive'](_0x5d1cb0,_0x12de8c);},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x3976')]&&(this[_0x1a4e('0x3e5d')]=void 0x0,this[_0x1a4e('0x3976')][_0x1a4e('0x139c')](),this[_0x1a4e('0x3976')]=void 0x0,this[_0x1a4e('0x3e04')](),this[_0x1a4e('0x3e07')][_0x1a4e('0x3e09')](_0x1a4e('0x8')));},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e5f')]=function(){},_0x12de8c['prototype'][_0x1a4e('0x3e60')]=function(_0x5d1cb0,_0x12de8c){var _0x71a918=this[_0x1a4e('0x3e07')][_0x1a4e('0x3e4c')][_0x1a4e('0x3e61')](_0x5d1cb0,_0x12de8c);if(_0x71a918)return _0x1a4e('0x3e62')!=_0x71a918[_0x1a4e('0x2cb')]?-0x1:(this[_0x1a4e('0x3e63')](_0x71a918,!0x0),this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x1,_0x71a918[_0x1a4e('0x3e66')][_0x1a4e('0xbd')]);},_0x12de8c['prototype']['_screenPixel']=function(){return this['_viewer']['camera'][_0x1a4e('0x3e67')][_0x1a4e('0x152')]/1047.776588;},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e68')]=function(_0x5d1cb0,_0x12de8c){return void 0x0===_0x12de8c&&(_0x12de8c=0x3),_0x5d1cb0*(this['_screenPixel']()*_0x12de8c);},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e69')]=function(_0x5d1cb0){},_0x12de8c[_0x1a4e('0xa')][_0x1a4e('0x3e0c')]=function(_0x5d1cb0){return _0xf80e19['GraphicItem'][_0x1a4e('0x3e0c')](_0x5d1cb0);},_0x12de8c['prototype']['updateCtrlPts']=function(_0x5d1cb0){var _0x12de8c=this,_0x71a918=this[_0x1a4e('0x3e5f')]();if(_0x71a918){this[_0x1a4e('0x3dfe')][_0x1a4e('0x3e6a')](_0x71a918);var _0x4e2d70=this[_0x1a4e('0x3e0c')](_0x5d1cb0);if(_0x4e2d70&&0x3===this[_0x1a4e('0x38fa')]['scene']['mode']){for(var _0x4a304f=[],_0xf80e19=_0x71a918[_0x1a4e('0x1e')],_0x257542=0x0;_0x257542<_0xf80e19;_0x257542++)_0x4a304f[_0x1a4e('0x46')](Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x38db')](_0x71a918[_0x257542][_0x1a4e('0x1a1')],_0x71a918[_0x257542]['lat']));var _0x413dd7=Cesium[_0x1a4e('0x39fb')](this[_0x1a4e('0x38fa')]['terrainProvider'],_0x4a304f);Cesium[_0x1a4e('0x39fd')](_0x413dd7,function(_0x5d1cb0){for(var _0x4e2d70=0x0;_0x4e2d70<_0xf80e19;_0x4e2d70++)_0x71a918[_0x4e2d70][_0x1a4e('0x398c')]=_0x5d1cb0[_0x4e2d70][_0x1a4e('0x152')],_0x12de8c['_controlPointSet'][_0x1a4e('0x3e6b')](_0x71a918[_0x4e2d70],_0x4e2d70);});}this['_controlPointSet']['setHeightEditVisible'](!_0x4e2d70&&0x3===this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0xa69')]),this[_0x1a4e('0x3ad3')]('editItemRealTimeChange',_0x5d1cb0);}},_0x12de8c;}(_0x4a304f[_0x1a4e('0x168d')]);},'./src/Editor/Editor/CircularEditor.ts':function(_0x5a7598,_0x579c07,_0x1f4c80){'use strict';_0x1f4c80['r'](_0x579c07),_0x1f4c80['d'](_0x579c07,_0x1a4e('0x3e6c'),function(){return _0x294dc5;});var _0x2c42b0,_0x307a58=_0x1f4c80('./src/Editor/Editor/BaseEditor.ts'),_0xf34408=_0x1f4c80('./src/Utils/GeoPoint.ts'),_0x44cff8=_0x1f4c80(_0x1a4e('0x3970')),_0x345254=_0x1f4c80('./src/Utils/Util.ts'),_0x31320d=(_0x2c42b0=function(_0x5a7598,_0x579c07){return(_0x2c42b0=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5a7598,_0x579c07){_0x5a7598[_0x1a4e('0x295')]=_0x579c07;}||function(_0x5a7598,_0x579c07){for(var _0x1f4c80 in _0x579c07)_0x579c07['hasOwnProperty'](_0x1f4c80)&&(_0x5a7598[_0x1f4c80]=_0x579c07[_0x1f4c80]);})(_0x5a7598,_0x579c07);},function(_0x5a7598,_0x579c07){function _0x1f4c80(){this[_0x1a4e('0x10')]=_0x5a7598;}_0x2c42b0(_0x5a7598,_0x579c07),_0x5a7598[_0x1a4e('0xa')]=null===_0x579c07?Object[_0x1a4e('0x7')](_0x579c07):(_0x1f4c80[_0x1a4e('0xa')]=_0x579c07[_0x1a4e('0xa')],new _0x1f4c80());}),_0x294dc5=function(_0x5a7598){function _0x579c07(){return null!==_0x5a7598&&_0x5a7598[_0x1a4e('0x8b')](this,arguments)||this;}return _0x31320d(_0x579c07,_0x5a7598),_0x579c07[_0x1a4e('0xa')][_0x1a4e('0x3e6d')]=function(_0x5a7598,_0x579c07){return _0x44cff8[_0x1a4e('0x3990')]['rhumbDestination'](_0x5a7598,_0x579c07,0x87);},_0x579c07[_0x1a4e('0xa')]['build']=function(_0x5a7598){this[_0x1a4e('0x3e6e')]=[];var _0x579c07=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3553')],_0x1f4c80=this['_editItem'][_0x1a4e('0x3b5d')],_0x2c42b0=this[_0x1a4e('0x3e6d')](_0x579c07,_0x1f4c80);this[_0x1a4e('0x3e6e')][_0x1a4e('0x46')](_0x579c07),this[_0x1a4e('0x3e6e')][_0x1a4e('0x46')](new _0xf34408[(_0x1a4e('0x38da'))](_0x2c42b0[_0x1a4e('0x1a1')],_0x2c42b0[_0x1a4e('0x1a2')],_0x579c07['alt']));var _0x307a58=this[_0x1a4e('0x3e6e')],_0x44cff8=this[_0x1a4e('0x3dfe')];if(this[_0x1a4e('0x3e0c')](_0x5a7598)){for(var _0x345254=[],_0x31320d=_0x307a58['length'],_0x294dc5=0x0;_0x294dc5<_0x31320d;_0x294dc5++)_0x345254[_0x1a4e('0x46')](Cesium['Cartographic']['fromDegrees'](_0x307a58[_0x294dc5][_0x1a4e('0x1a1')],_0x307a58[_0x294dc5][_0x1a4e('0x1a2')]));var _0x56ed3b=Cesium[_0x1a4e('0x39fb')](this['_viewer'][_0x1a4e('0x39fc')],_0x345254);Cesium[_0x1a4e('0x39fd')](_0x56ed3b,function(_0x5a7598){for(var _0x579c07=0x0;_0x579c07<_0x31320d;_0x579c07++)_0x307a58[_0x579c07][_0x1a4e('0x398c')]=_0x5a7598[_0x579c07][_0x1a4e('0x152')],_0x44cff8[_0x1a4e('0x3e6b')](_0x307a58[_0x579c07],_0x579c07);});}},_0x579c07[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x579c07){var _0x1f4c80=this;if(_0x5a7598[_0x1a4e('0xa')][_0x1a4e('0x3e5c')][_0x1a4e('0x1')](this,_0x579c07),_0x579c07){this[_0x1a4e('0x4c6')](_0x579c07);var _0x2c42b0=void 0x0,_0x307a58=-0x1;this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x5a7598){var _0x579c07=_0x5a7598[_0x1a4e('0x3553')];_0x307a58=-0x1,(_0x2c42b0=_0x1f4c80['_father'][_0x1a4e('0x3e4c')][_0x1a4e('0x3e61')](_0x579c07['x'],_0x579c07['y']))&&(_0x1f4c80['setCtrlActive'](_0x2c42b0,!0x0),_0x1f4c80[_0x1a4e('0x38fa')]['scene'][_0x1a4e('0x3e64')]['enableRotate']=!0x1,_0x1f4c80[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x1,_0x307a58=_0x2c42b0[_0x1a4e('0x3e66')][_0x1a4e('0xbd')]);},Cesium[_0x1a4e('0x39ce')]['LEFT_DOWN']),this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x5a7598){_0x307a58>=0x0&&(_0x2c42b0&&_0x1f4c80[_0x1a4e('0x3dfe')][_0x1a4e('0x3e63')](_0x2c42b0,!0x1),_0x1f4c80[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['screenSpaceCameraController'][_0x1a4e('0x3e65')]=!0x0,_0x1f4c80[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['screenSpaceCameraController'][_0x1a4e('0x3e6f')]=!0x0),_0x1f4c80['fire'](_0x1a4e('0x3e70'),{'item':_0x579c07,'ctrlPoint':_0x2c42b0}),_0x307a58=-0x1,_0x2c42b0=void 0x0;},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d3')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x5a7598){if(!(_0x307a58<0x0)){var _0x345254=_0x5a7598[_0x1a4e('0x34f8')],_0x31320d=_0xf34408[_0x1a4e('0x38da')]['fromScreen'](_0x345254['x'],_0x345254['y'],_0x1f4c80['_viewer']);switch(_0x307a58){case 0x0:if(_0x1a4e('0x3e62')===_0x2c42b0[_0x1a4e('0x2cb')])_0x579c07[_0x1a4e('0x3553')]=_0x31320d,_0x1f4c80[_0x1a4e('0x3e0c')](_0x579c07)||(_0x1f4c80['_geoPoints'][0x1][_0x1a4e('0x398c')]=_0x31320d['alt']);else if(_0x1a4e('0x3e71')===_0x2c42b0[_0x1a4e('0x2cb')]){var _0x294dc5=_0x5a7598['startPosition'],_0x3d337c=_0x1f4c80[_0x1a4e('0x3e68')](_0x345254['y']-_0x294dc5['y']),_0x1a4ac4=_0x579c07[_0x1a4e('0x3553')];_0x1a4ac4[_0x1a4e('0x398c')]=_0x1a4ac4[_0x1a4e('0x398c')]-_0x3d337c,_0x1f4c80[_0x1a4e('0x3e6e')][0x1][_0x1a4e('0x398c')]=_0x1a4ac4[_0x1a4e('0x398c')],_0x579c07[_0x1a4e('0x3553')]=_0x1a4ac4;}break;case 0x1:var _0x4c1eec=_0x579c07[_0x1a4e('0x3553')];_0x579c07[_0x1a4e('0x3b5d')]=_0x44cff8[_0x1a4e('0x3990')][_0x1a4e('0x39e7')]([_0x4c1eec,_0x31320d]);}_0x1f4c80[_0x1a4e('0x3e72')](_0x579c07);}},Cesium['ScreenSpaceEventType'][_0x1a4e('0x39d1')]);}},_0x579c07[_0x1a4e('0xa')][_0x1a4e('0x3e72')]=function(_0x579c07){_0x5a7598[_0x1a4e('0xa')][_0x1a4e('0x3e72')][_0x1a4e('0x1')](this,_0x579c07),this[_0x1a4e('0x3dfe')][_0x1a4e('0x3e73')](!0x1),this[_0x1a4e('0x3dfe')]['setHeightEditVisible'](!0x1),this[_0x1a4e('0x3e0c')](_0x579c07)||0x3!==this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0xa69')]||(this[_0x1a4e('0x3dfe')]['setHeightEditVisible'](!0x0,0x0),this[_0x1a4e('0x3e6e')][0x1][_0x1a4e('0x398c')]=this[_0x1a4e('0x3e6e')][0x0]['alt']);var _0x1f4c80=this['_editItem'][_0x1a4e('0x3b5d')],_0x2c42b0=_0x1f4c80[_0x1a4e('0x3e0d')](_0x345254['Util'][_0x1a4e('0x3e0e')](_0x1f4c80,0x1))+'m';this[_0x1a4e('0x3dfe')][_0x1a4e('0x3e6b')](this[_0x1a4e('0x3e6e')][0x1],0x1,_0x2c42b0);},_0x579c07[_0x1a4e('0xa')][_0x1a4e('0x3e5f')]=function(){var _0x5a7598=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3553')],_0x579c07=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3b5d')],_0x1f4c80=this[_0x1a4e('0x3e6d')](_0x5a7598,_0x579c07);return this[_0x1a4e('0x3e6e')][0x0]=_0x5a7598,this[_0x1a4e('0x3e6e')][0x1][_0x1a4e('0x1a1')]=_0x1f4c80[_0x1a4e('0x1a1')],this[_0x1a4e('0x3e6e')][0x1][_0x1a4e('0x1a2')]=_0x1f4c80[_0x1a4e('0x1a2')],this[_0x1a4e('0x3e6e')];},_0x579c07;}(_0x307a58[_0x1a4e('0x3e74')]);},'./src/Editor/Editor/EditorManager.ts':function(_0x3a8523,_0x379697,_0x4d83b1){'use strict';_0x4d83b1['r'](_0x379697),_0x4d83b1['d'](_0x379697,_0x1a4e('0x3e75'),function(){return _0x238c0b;});var _0x2e96bb,_0x3d5823=_0x4d83b1('./src/Core/Event.ts'),_0x41d7c4=_0x4d83b1(_0x1a4e('0x3e0b')),_0x55ea26=_0x4d83b1(_0x1a4e('0x3e11')),_0x6eb513=_0x4d83b1('./src/Editor/Editor/LineEditor.ts'),_0x4ab269=_0x4d83b1(_0x1a4e('0x3e76')),_0x3a408b=_0x4d83b1('./src/Editor/Editor/PointEditor.ts'),_0x181b30=_0x4d83b1('./src/Editor/Editor/EllipseEditor.ts'),_0x32edf1=_0x4d83b1(_0x1a4e('0x3e77')),_0x258280=_0x4d83b1(_0x1a4e('0x3e78')),_0x125248=_0x4d83b1(_0x1a4e('0x3e79')),_0x88f6a9=_0x4d83b1(_0x1a4e('0x3e7a')),_0xe6a586=_0x4d83b1(_0x1a4e('0x3e7b')),_0x1891c9=_0x4d83b1(_0x1a4e('0x3e7c')),_0x42e5ed=_0x4d83b1(_0x1a4e('0x3e7d')),_0x19c5b0=_0x4d83b1(_0x1a4e('0x3e7e')),_0x2f11f0=_0x4d83b1('./src/LayerManager/GraphicLayer/GraphicRender/html/ScreenTextItem.ts'),_0x1dc35c=_0x4d83b1(_0x1a4e('0x3e7f')),_0x3bd90f=(_0x2e96bb=function(_0x3a8523,_0x379697){return(_0x2e96bb=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x3a8523,_0x379697){_0x3a8523['__proto__']=_0x379697;}||function(_0x3a8523,_0x379697){for(var _0x4d83b1 in _0x379697)_0x379697['hasOwnProperty'](_0x4d83b1)&&(_0x3a8523[_0x4d83b1]=_0x379697[_0x4d83b1]);})(_0x3a8523,_0x379697);},function(_0x3a8523,_0x379697){function _0x4d83b1(){this['constructor']=_0x3a8523;}_0x2e96bb(_0x3a8523,_0x379697),_0x3a8523[_0x1a4e('0xa')]=null===_0x379697?Object[_0x1a4e('0x7')](_0x379697):(_0x4d83b1[_0x1a4e('0xa')]=_0x379697[_0x1a4e('0xa')],new _0x4d83b1());}),_0x7ac941=function(_0x3a8523,_0x379697){var _0x4d83b1=_0x1a4e('0x68')==typeof Symbol&&_0x3a8523[Symbol[_0x1a4e('0x335')]];if(!_0x4d83b1)return _0x3a8523;var _0x2e96bb,_0x3d5823,_0x41d7c4=_0x4d83b1[_0x1a4e('0x1')](_0x3a8523),_0x55ea26=[];try{for(;(void 0x0===_0x379697||_0x379697-->0x0)&&!(_0x2e96bb=_0x41d7c4[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x55ea26[_0x1a4e('0x46')](_0x2e96bb[_0x1a4e('0x255')]);}catch(_0x1d962c){_0x3d5823={'error':_0x1d962c};}finally{try{_0x2e96bb&&!_0x2e96bb[_0x1a4e('0x3c2')]&&(_0x4d83b1=_0x41d7c4[_0x1a4e('0xe40')])&&_0x4d83b1[_0x1a4e('0x1')](_0x41d7c4);}finally{if(_0x3d5823)throw _0x3d5823[_0x1a4e('0x873')];}}return _0x55ea26;},_0x35eaba=function(){for(var _0x3a8523=[],_0x379697=0x0;_0x379697_0x4ab269&&(_0x3a408b=_0x4ab269-_0x41d7c4-0xc),_0x181b30+_0x55ea26+0xc>_0x6eb513&&(_0x181b30=_0x6eb513-_0x55ea26-0xc),_0x3a8523['position']=[_0x3a408b,_0x181b30];},_0x4d83b1[_0x1a4e('0x3eb2')]=function(_0x379697,_0x4d83b1,_0x2e96bb){var _0x3a408b=_0x41d7c4+_0x4d83b1,_0x181b30=_0x55ea26+_0x2e96bb;_0x3a408b<0x32&&(_0x3a408b=0x32),_0x181b30<0x32&&(_0x181b30=0x32),_0x3a408b+_0x3d5823[0x0]+0xc>_0x4ab269&&(_0x3a408b=_0x4ab269-_0x3d5823[0x0]-0xc),_0x181b30+_0x3d5823[0x1]+0xc>_0x6eb513&&(_0x181b30=_0x6eb513-_0x3d5823[0x1]-0xc),_0x3a8523[_0x1a4e('0x3936')]=_0x3a408b,_0x3a8523['height']=_0x181b30;},_0x4d83b1[_0x1a4e('0x3eb3')]();}}},_0x379697;}(_0x3d5823[_0x1a4e('0x168d')]);},'./src/Editor/Editor/EllipseEditor.ts':function(_0x507f6b,_0x497327,_0x3ec1f7){'use strict';_0x3ec1f7['r'](_0x497327),_0x3ec1f7['d'](_0x497327,_0x1a4e('0x3eb4'),function(){return _0x2a0ef4;});var _0x2701e0,_0x4c5b16=_0x3ec1f7(_0x1a4e('0x3eb5')),_0x30d107=_0x3ec1f7('./src/Utils/GeoPoint.ts'),_0x4845d1=_0x3ec1f7('./src/Utils/Calculate.ts'),_0x1470a2=_0x3ec1f7(_0x1a4e('0x3999')),_0x312ccd=(_0x2701e0=function(_0x507f6b,_0x497327){return(_0x2701e0=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x507f6b,_0x497327){_0x507f6b[_0x1a4e('0x295')]=_0x497327;}||function(_0x507f6b,_0x497327){for(var _0x3ec1f7 in _0x497327)_0x497327[_0x1a4e('0xb')](_0x3ec1f7)&&(_0x507f6b[_0x3ec1f7]=_0x497327[_0x3ec1f7]);})(_0x507f6b,_0x497327);},function(_0x507f6b,_0x497327){function _0x3ec1f7(){this[_0x1a4e('0x10')]=_0x507f6b;}_0x2701e0(_0x507f6b,_0x497327),_0x507f6b[_0x1a4e('0xa')]=null===_0x497327?Object['create'](_0x497327):(_0x3ec1f7[_0x1a4e('0xa')]=_0x497327[_0x1a4e('0xa')],new _0x3ec1f7());}),_0x2a0ef4=function(_0x507f6b){function _0x497327(){return null!==_0x507f6b&&_0x507f6b[_0x1a4e('0x8b')](this,arguments)||this;}return _0x312ccd(_0x497327,_0x507f6b),_0x497327[_0x1a4e('0xa')][_0x1a4e('0x3e6d')]=function(_0x507f6b,_0x497327,_0x3ec1f7){return _0x4845d1['Calculate'][_0x1a4e('0x7e4')](_0x507f6b,_0x497327,_0x3ec1f7);},_0x497327[_0x1a4e('0xa')][_0x1a4e('0x4c6')]=function(_0x507f6b){this['_geoPoints']=[];var _0x497327=this[_0x1a4e('0x3e5d')]['position'],_0x3ec1f7=this[_0x1a4e('0x3e5d')]['semiMajorAxis'],_0x2701e0=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3e51')];if(this['_geoPoints'][_0x1a4e('0x46')](_0x497327),_0x3ec1f7===_0x2701e0){var _0x4c5b16=this[_0x1a4e('0x3e6d')](_0x497327,_0x3ec1f7,0x87);this[_0x1a4e('0x3e6e')][_0x1a4e('0x46')](new _0x30d107['GeoPoint'](_0x4c5b16['lon'],_0x4c5b16['lat'],_0x497327[_0x1a4e('0x398c')]));}else{var _0x4845d1=this[_0x1a4e('0x3e6d')](_0x497327,_0x3ec1f7,0x5a),_0x1470a2=this[_0x1a4e('0x3e6d')](_0x497327,_0x2701e0,0xb4);this[_0x1a4e('0x3e6e')][_0x1a4e('0x46')](new _0x30d107['GeoPoint'](_0x4845d1['lon'],_0x4845d1[_0x1a4e('0x1a2')],_0x497327[_0x1a4e('0x398c')])),this['_geoPoints'][_0x1a4e('0x46')](new _0x30d107[(_0x1a4e('0x38da'))](_0x1470a2[_0x1a4e('0x1a1')],_0x1470a2[_0x1a4e('0x1a2')],_0x497327[_0x1a4e('0x398c')]));}var _0x312ccd=this['_geoPoints'],_0x2a0ef4=this[_0x1a4e('0x3dfe')];if(this['isClamp'](_0x507f6b)){for(var _0x5e89af=[],_0x107993=_0x312ccd['length'],_0x124aca=0x0;_0x124aca<_0x107993;_0x124aca++)_0x5e89af[_0x1a4e('0x46')](Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x38db')](_0x312ccd[_0x124aca][_0x1a4e('0x1a1')],_0x312ccd[_0x124aca][_0x1a4e('0x1a2')]));var _0x1ca157=Cesium['sampleTerrainMostDetailed'](this[_0x1a4e('0x38fa')]['terrainProvider'],_0x5e89af);Cesium[_0x1a4e('0x39fd')](_0x1ca157,function(_0x507f6b){for(var _0x497327=0x0;_0x497327<_0x107993;_0x497327++)_0x312ccd[_0x497327][_0x1a4e('0x398c')]=_0x507f6b[_0x497327][_0x1a4e('0x152')],_0x2a0ef4[_0x1a4e('0x3e6b')](_0x312ccd[_0x497327],_0x497327);});}},_0x497327[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x497327){var _0x3ec1f7=this;if(_0x507f6b[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]['call'](this,_0x497327),_0x497327&&(this['build'](_0x497327),_0x497327)){var _0x2701e0,_0x4c5b16=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3e52')],_0x1470a2=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3e51')],_0x312ccd=_0x1a4e('0x3957');_0x4c5b16===_0x1470a2&&(_0x312ccd=_0x1a4e('0x125'));var _0x2a0ef4=!0x1;this['getHandler']()['setInputAction'](function(_0x507f6b){var _0x497327=_0x507f6b['position'];if(_0x2701e0=_0x3ec1f7['_father'][_0x1a4e('0x3e4c')][_0x1a4e('0x3e61')](_0x497327['x'],_0x497327['y'])){if(_0x1a4e('0x3e62')!=_0x2701e0['name']&&_0x1a4e('0x3e71')!=_0x2701e0[_0x1a4e('0x2cb')])return;_0x2a0ef4=!0x0,_0x3ec1f7['setCtrlActive'](_0x2701e0,!0x0),_0x3ec1f7[_0x1a4e('0x38fa')]['scene'][_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x1,_0x3ec1f7[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x1;}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39cf')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x507f6b){_0x2a0ef4&&_0x2701e0&&(_0x3ec1f7['setCtrlActive'](_0x2701e0,!0x1),_0x2a0ef4=!0x1,_0x3ec1f7['_viewer']['scene'][_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x0,_0x3ec1f7['_viewer']['scene'][_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x0,_0x3ec1f7[_0x1a4e('0x3ad3')](_0x1a4e('0x3e70'),{'item':_0x497327,'ctrlPoint':_0x2701e0}));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d3')]),this['getHandler']()[_0x1a4e('0x3981')](function(_0x507f6b){if(_0x2a0ef4){var _0x4c5b16=_0x507f6b[_0x1a4e('0x34f8')],_0x1470a2=_0x30d107[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x4c5b16['x'],_0x4c5b16['y'],_0x3ec1f7[_0x1a4e('0x38fa')]);if(_0x1470a2&&_0x2701e0){switch(_0x2701e0['extendInfo']['index']){case 0x0:if(_0x1a4e('0x3e62')===_0x2701e0[_0x1a4e('0x2cb')])_0x497327['position']=_0x1470a2;else if(_0x1a4e('0x3e71')===_0x2701e0[_0x1a4e('0x2cb')]){var _0x22455d=_0x507f6b[_0x1a4e('0x34f7')],_0x141b84=_0x3ec1f7[_0x1a4e('0x3e68')](_0x4c5b16['y']-_0x22455d['y']),_0x10fbfd=_0x497327[_0x1a4e('0x3553')];_0x10fbfd[_0x1a4e('0x398c')]=_0x10fbfd['alt']-_0x141b84,_0x3ec1f7[_0x1a4e('0x3e6e')][0x0][_0x1a4e('0x398c')]=_0x10fbfd[_0x1a4e('0x398c')],_0x497327['position']=_0x10fbfd;}break;case 0x1:var _0x5005c0=_0x4845d1[_0x1a4e('0x3990')]['spaceDistance']([_0x497327[_0x1a4e('0x3553')],_0x1470a2]);_0x1a4e('0x125')===_0x312ccd?(_0x497327[_0x1a4e('0x3e52')]=_0x5005c0,_0x497327[_0x1a4e('0x3e51')]=_0x5005c0):_0x497327[_0x1a4e('0x3e52')]=_0x5005c0;break;case 0x2:_0x497327[_0x1a4e('0x3e51')]=_0x4845d1['Calculate'][_0x1a4e('0x39e7')]([_0x497327['position'],_0x1470a2]);}_0x3ec1f7[_0x1a4e('0x3e72')](_0x497327);}}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]);}},_0x497327[_0x1a4e('0xa')][_0x1a4e('0x3e72')]=function(_0x497327){_0x507f6b['prototype']['updateCtrlPts'][_0x1a4e('0x1')](this,_0x497327),this[_0x1a4e('0x3dfe')][_0x1a4e('0x3e73')](!0x1),this[_0x1a4e('0x3dfe')][_0x1a4e('0x3eb6')](!0x1),this[_0x1a4e('0x3e0c')](_0x497327)||0x3!==this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0xa69')]||(this['_controlPointSet'][_0x1a4e('0x3eb6')](!0x0,0x0),this[_0x1a4e('0x3e6e')][0x1]['alt']=this[_0x1a4e('0x3e6e')][0x0][_0x1a4e('0x398c')],this[_0x1a4e('0x3e6e')][_0x1a4e('0x1e')]>0x2&&(this[_0x1a4e('0x3e6e')][0x2][_0x1a4e('0x398c')]=this[_0x1a4e('0x3e6e')][0x0]['alt']));var _0x3ec1f7=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3e52')],_0x2701e0=_0x3ec1f7[_0x1a4e('0x3e0d')](_0x1470a2[_0x1a4e('0x39a0')][_0x1a4e('0x3e0e')](_0x3ec1f7,0x1))+'m';if(this[_0x1a4e('0x3dfe')][_0x1a4e('0x3e6b')](this[_0x1a4e('0x3e6e')][0x1],0x1,_0x2701e0),this['_geoPoints']['length']>0x2){var _0x4c5b16=this['_editItem'][_0x1a4e('0x3e51')];_0x2701e0=_0x4c5b16[_0x1a4e('0x3e0d')](_0x1470a2[_0x1a4e('0x39a0')][_0x1a4e('0x3e0e')](_0x4c5b16,0x1))+'m',this[_0x1a4e('0x3dfe')][_0x1a4e('0x3e6b')](this[_0x1a4e('0x3e6e')][0x2],0x2,_0x2701e0);}},_0x497327[_0x1a4e('0xa')]['getPositions']=function(){var _0x507f6b=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3553')],_0x497327=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3e52')],_0x3ec1f7=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3e51')];if(this[_0x1a4e('0x3e6e')][0x0]=_0x507f6b,_0x497327===_0x3ec1f7){var _0x2701e0=this[_0x1a4e('0x3e6d')](_0x507f6b,_0x497327,0x87);this[_0x1a4e('0x3e6e')][0x1][_0x1a4e('0x1a1')]=_0x2701e0[_0x1a4e('0x1a1')],this[_0x1a4e('0x3e6e')][0x1][_0x1a4e('0x1a2')]=_0x2701e0[_0x1a4e('0x1a2')];}else{var _0x4c5b16=this['getRadiusCtrlPoint'](_0x507f6b,_0x497327,0x5a),_0x30d107=this[_0x1a4e('0x3e6d')](_0x507f6b,_0x3ec1f7,0xb4);this[_0x1a4e('0x3e6e')][0x1][_0x1a4e('0x1a1')]=_0x4c5b16[_0x1a4e('0x1a1')],this['_geoPoints'][0x1][_0x1a4e('0x1a2')]=_0x4c5b16[_0x1a4e('0x1a2')],this[_0x1a4e('0x3e6e')][0x2]['lon']=_0x30d107[_0x1a4e('0x1a1')],this[_0x1a4e('0x3e6e')][0x2][_0x1a4e('0x1a2')]=_0x30d107[_0x1a4e('0x1a2')];}return this[_0x1a4e('0x3e6e')];},_0x497327;}(_0x4c5b16[_0x1a4e('0x3e74')]);},'./src/Editor/Editor/FlagEditor.ts':function(_0x468559,_0x319b5d,_0x4d32e9){'use strict';_0x4d32e9['r'](_0x319b5d),_0x4d32e9['d'](_0x319b5d,_0x1a4e('0x3eb7'),function(){return _0x20e749;});var _0x1fbafb,_0x2e96c7=_0x4d32e9(_0x1a4e('0x3eb5')),_0x1ab48d=_0x4d32e9(_0x1a4e('0x38d0')),_0x3856bd=(_0x1fbafb=function(_0x468559,_0x319b5d){return(_0x1fbafb=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x468559,_0x319b5d){_0x468559[_0x1a4e('0x295')]=_0x319b5d;}||function(_0x468559,_0x319b5d){for(var _0x4d32e9 in _0x319b5d)_0x319b5d[_0x1a4e('0xb')](_0x4d32e9)&&(_0x468559[_0x4d32e9]=_0x319b5d[_0x4d32e9]);})(_0x468559,_0x319b5d);},function(_0x468559,_0x319b5d){function _0x4d32e9(){this['constructor']=_0x468559;}_0x1fbafb(_0x468559,_0x319b5d),_0x468559['prototype']=null===_0x319b5d?Object[_0x1a4e('0x7')](_0x319b5d):(_0x4d32e9[_0x1a4e('0xa')]=_0x319b5d[_0x1a4e('0xa')],new _0x4d32e9());}),_0x20e749=function(_0x468559){function _0x319b5d(_0x319b5d,_0x4d32e9){var _0x1fbafb=_0x468559[_0x1a4e('0x1')](this,_0x319b5d,_0x4d32e9)||this;return _0x1fbafb[_0x1a4e('0x3eb8')](),_0x1fbafb;}return _0x3856bd(_0x319b5d,_0x468559),_0x319b5d['prototype'][_0x1a4e('0x3eb8')]=function(){var _0x468559=this,_0x319b5d=[{'Image':_0x1a4e('0x3eb9'),'ToolTip':_0x1a4e('0x3eba'),'Operator':function(_0x319b5d,_0x4d32e9){if(_0x468559['_editItem']){var _0x1fbafb=_0x4d32e9['x']-_0x319b5d['x'],_0x2e96c7=_0x4d32e9['y']-_0x319b5d['y'];_0x1fbafb/=_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x143')],_0x2e96c7/=_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x143')],_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x3ebb')]=[_0x468559['_editItem'][_0x1a4e('0x3ebb')][0x0]+_0x1fbafb,_0x468559['_editItem'][_0x1a4e('0x3ebb')][0x1]-_0x2e96c7];}}},{'Image':_0x1a4e('0x3ebc'),'ToolTip':_0x1a4e('0x3ebd'),'Operator':function(_0x319b5d,_0x4d32e9){if(_0x468559['_editItem']){var _0x1fbafb=_0x4d32e9['y']-_0x319b5d['y'];_0x1fbafb/=_0x468559[_0x1a4e('0x3e5d')]['scale'],_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x3ebe')]=_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x3ebe')]-_0x1fbafb;}}},{'Image':_0x1a4e('0x3ebf'),'ToolTip':'整体缩放','Operator':function(_0x319b5d,_0x4d32e9){if(_0x468559[_0x1a4e('0x3e5d')]){var _0x1fbafb=_0x4d32e9['x']-_0x319b5d['x'],_0x2e96c7=_0x4d32e9['y']-_0x319b5d['y'],_0x1ab48d=_0x1fbafb*_0x1fbafb+_0x2e96c7*_0x2e96c7;_0x1ab48d=Math[_0x1a4e('0x91')](_0x1ab48d);var _0x3856bd=_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x3ec0')]();if(_0x3856bd){var _0x20e749=Math[_0x1a4e('0x91')](_0x3856bd[_0x1a4e('0x3ec1')]*_0x3856bd[_0x1a4e('0x3ec1')]+_0x3856bd[_0x1a4e('0x3ec2')]*_0x3856bd['canvasHeight']),_0x55c509=_0x1fbafb<0x0?-_0x1ab48d/_0x20e749:_0x1ab48d/_0x20e749;_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x143')]=_0x468559['_editItem'][_0x1a4e('0x143')]+_0x55c509;}}}}];this[_0x1a4e('0x3e58')]['setOperators'](_0x319b5d),this[_0x1a4e('0x3e58')][_0x1a4e('0x3ec3')]=function(){if(_0x468559[_0x1a4e('0x3e5d')]){var _0x319b5d=_0x1ab48d[_0x1a4e('0x38da')][_0x1a4e('0x3ec4')](_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x3553')],_0x468559[_0x1a4e('0x38fa')]),_0x4d32e9=_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x143')];return{'x':_0x319b5d['x']+_0x468559[_0x1a4e('0x3e5d')]['inflectionOffset'][0x0]*_0x4d32e9,'y':_0x319b5d['y']-(_0x468559[_0x1a4e('0x3e5d')][_0x1a4e('0x3ebb')][0x1]+_0x468559['_editItem'][_0x1a4e('0x3ebe')])*_0x4d32e9};}};},_0x319b5d[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x319b5d){_0x468559[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]['call'](this,_0x319b5d),_0x319b5d&&this[_0x1a4e('0x3e58')][_0x1a4e('0x12bc')]();},_0x319b5d[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x3e58')]['close'](),_0x468559[_0x1a4e('0xa')][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x319b5d;}(_0x2e96c7[_0x1a4e('0x3e74')]);},'./src/Editor/Editor/LabelBillboardEditor.ts':function(_0x3031ea,_0x31b124,_0x3c829a){'use strict';_0x3c829a['r'](_0x31b124),_0x3c829a['d'](_0x31b124,_0x1a4e('0x3e97'),function(){return _0x2ffc77;});var _0xeb168f,_0xb11244=_0x3c829a(_0x1a4e('0x3eb5')),_0x28b4d4=_0x3c829a(_0x1a4e('0x38d0')),_0x486244=(_0xeb168f=function(_0x3031ea,_0x31b124){return(_0xeb168f=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x3031ea,_0x31b124){_0x3031ea['__proto__']=_0x31b124;}||function(_0x3031ea,_0x31b124){for(var _0x3c829a in _0x31b124)_0x31b124[_0x1a4e('0xb')](_0x3c829a)&&(_0x3031ea[_0x3c829a]=_0x31b124[_0x3c829a]);})(_0x3031ea,_0x31b124);},function(_0x3031ea,_0x31b124){function _0x3c829a(){this[_0x1a4e('0x10')]=_0x3031ea;}_0xeb168f(_0x3031ea,_0x31b124),_0x3031ea[_0x1a4e('0xa')]=null===_0x31b124?Object[_0x1a4e('0x7')](_0x31b124):(_0x3c829a[_0x1a4e('0xa')]=_0x31b124[_0x1a4e('0xa')],new _0x3c829a());}),_0x2ffc77=function(_0x3031ea){function _0x31b124(_0x31b124,_0x3c829a){var _0xeb168f=_0x3031ea[_0x1a4e('0x1')](this,_0x31b124,_0x3c829a)||this;return _0xeb168f[_0x1a4e('0x3eb8')](),_0xeb168f;}return _0x486244(_0x31b124,_0x3031ea),_0x31b124[_0x1a4e('0xa')][_0x1a4e('0x3eb8')]=function(){var _0x3031ea=this,_0x31b124=[{'Image':_0x1a4e('0x3ec5'),'ToolTip':_0x1a4e('0x3ec6'),'Operator':function(_0x31b124,_0x3c829a){_0x3031ea[_0x1a4e('0x3e5d')][_0x1a4e('0x3ec7')]-=_0x3c829a['x']-_0x31b124['x'];}},{'Image':'arrow-right.png','ToolTip':_0x1a4e('0x3ec8'),'Operator':function(_0x31b124,_0x3c829a){_0x3031ea[_0x1a4e('0x3e5d')][_0x1a4e('0x3ec9')]+=_0x3c829a['x']-_0x31b124['x'];}},{'Image':_0x1a4e('0x3eca'),'ToolTip':'移动','tag':'labelbillboard','Operator':function(_0x31b124,_0x3c829a){var _0xeb168f;if(_0x3031ea['_editItem']){var _0xb11244=_0x3031ea['_editItem'][_0x1a4e('0x3ecb')]();_0xeb168f=_0x28b4d4[_0x1a4e('0x38da')][_0x1a4e('0x3ec4')](_0xb11244,_0x3031ea[_0x1a4e('0x38fa')]);}_0x3031ea['startMove']={'x':_0x3c829a['x']-_0xeb168f['x'],'y':_0x3c829a['y']-_0xeb168f['y']};var _0x486244={'x':_0x3c829a['x']-_0xeb168f['x'],'y':_0x3c829a['y']-_0xeb168f['y']};_0x3031ea[_0x1a4e('0x3e5d')][_0x1a4e('0x3ecc')](_0x486244),_0x3031ea['_editItem'][_0x1a4e('0x3ecd')]=_0x3031ea[_0x1a4e('0x3ece')]['x'],_0x3031ea['_editItem'][_0x1a4e('0x3ecf')]=_0x3031ea[_0x1a4e('0x3ece')]['y'];}},{'Image':_0x1a4e('0x3ed0'),'ToolTip':_0x1a4e('0x3eba'),'Operator':function(_0x31b124,_0x3c829a){_0x3031ea['_editItem']['leftrightOpenningTop']-=_0x3c829a['y']-_0x31b124['y'];}},{'Image':_0x1a4e('0x3ed1'),'ToolTip':_0x1a4e('0x3ec8'),'Operator':function(_0x31b124,_0x3c829a){_0x3031ea[_0x1a4e('0x3e5d')][_0x1a4e('0x3ed2')]+=_0x3c829a['y']-_0x31b124['y'];}}];this[_0x1a4e('0x3e58')][_0x1a4e('0x3ed3')](_0x31b124),this[_0x1a4e('0x3e58')][_0x1a4e('0x3ec3')]=function(){if(_0x3031ea[_0x1a4e('0x3e5d')]){var _0x31b124=_0x28b4d4[_0x1a4e('0x38da')][_0x1a4e('0x3ec4')](_0x3031ea[_0x1a4e('0x3e5d')][_0x1a4e('0x3553')],_0x3031ea['_viewer']);return{'x':_0x31b124['x']+_0x3031ea[_0x1a4e('0x3ece')]['x']-0x6e,'y':_0x31b124['y']+_0x3031ea[_0x1a4e('0x3ece')]['y']};}};},_0x31b124[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x31b124){_0x3031ea[_0x1a4e('0xa')][_0x1a4e('0x3e5c')][_0x1a4e('0x1')](this,_0x31b124),_0x31b124&&(this[_0x1a4e('0x3ece')]={'x':_0x31b124[_0x1a4e('0x3ecd')],'y':_0x31b124[_0x1a4e('0x3ecf')]},this[_0x1a4e('0x3e58')][_0x1a4e('0x12bc')]());},_0x31b124['prototype'][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x3e58')][_0x1a4e('0x139b')](),_0x3031ea[_0x1a4e('0xa')][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x31b124;}(_0xb11244[_0x1a4e('0x3e74')]);},'./src/Editor/Editor/LabelRectEditor.ts':function(_0x485d08,_0x52e9a2,_0x1d793c){'use strict';_0x1d793c['r'](_0x52e9a2),_0x1d793c['d'](_0x52e9a2,_0x1a4e('0x3ed4'),function(){return _0x55cf9c;});var _0x1388dd,_0x5a75a0=_0x1d793c(_0x1a4e('0x3eb5')),_0x1e4c6a=(_0x1388dd=function(_0x485d08,_0x52e9a2){return(_0x1388dd=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x485d08,_0x52e9a2){_0x485d08[_0x1a4e('0x295')]=_0x52e9a2;}||function(_0x485d08,_0x52e9a2){for(var _0x1d793c in _0x52e9a2)_0x52e9a2[_0x1a4e('0xb')](_0x1d793c)&&(_0x485d08[_0x1d793c]=_0x52e9a2[_0x1d793c]);})(_0x485d08,_0x52e9a2);},function(_0x485d08,_0x52e9a2){function _0x1d793c(){this[_0x1a4e('0x10')]=_0x485d08;}_0x1388dd(_0x485d08,_0x52e9a2),_0x485d08['prototype']=null===_0x52e9a2?Object[_0x1a4e('0x7')](_0x52e9a2):(_0x1d793c['prototype']=_0x52e9a2[_0x1a4e('0xa')],new _0x1d793c());}),_0x55cf9c=function(_0x485d08){function _0x52e9a2(_0x52e9a2,_0x1d793c){var _0x1388dd=_0x485d08[_0x1a4e('0x1')](this,_0x52e9a2,_0x1d793c)||this;return _0x1388dd[_0x1a4e('0x3eb8')](),_0x1388dd;}return _0x1e4c6a(_0x52e9a2,_0x485d08),_0x52e9a2[_0x1a4e('0xa')][_0x1a4e('0x3eb8')]=function(){var _0x485d08=this;this[_0x1a4e('0x3e58')][_0x1a4e('0x3ec3')]=function(){_0x485d08[_0x1a4e('0x3e5d')];};},_0x52e9a2['prototype'][_0x1a4e('0x3e5c')]=function(_0x52e9a2){_0x485d08[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]['call'](this,_0x52e9a2),_0x52e9a2&&this[_0x1a4e('0x3e58')][_0x1a4e('0x12bc')]();},_0x52e9a2[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x3e58')][_0x1a4e('0x139b')](),_0x485d08[_0x1a4e('0xa')][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x52e9a2;}(_0x5a75a0[_0x1a4e('0x3e74')]);},'./src/Editor/Editor/LineEditor.ts':function(_0x3db83b,_0x347440,_0x1aeacd){'use strict';_0x1aeacd['r'](_0x347440),_0x1aeacd['d'](_0x347440,_0x1a4e('0x3e90'),function(){return _0x43ac17;});var _0x2f9094,_0x1f2b89=_0x1aeacd(_0x1a4e('0x3eb5')),_0x3a1029=_0x1aeacd('./src/Utils/GeoPoint.ts'),_0x597c37=_0x1aeacd(_0x1a4e('0x396c')),_0x65b545=_0x1aeacd(_0x1a4e('0x3ed5')),_0x48b3e3=_0x1aeacd(_0x1a4e('0x3ed6')),_0x11ffa8=(_0x2f9094=function(_0x3db83b,_0x347440){return(_0x2f9094=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x3db83b,_0x347440){_0x3db83b[_0x1a4e('0x295')]=_0x347440;}||function(_0x3db83b,_0x347440){for(var _0x1aeacd in _0x347440)_0x347440[_0x1a4e('0xb')](_0x1aeacd)&&(_0x3db83b[_0x1aeacd]=_0x347440[_0x1aeacd]);})(_0x3db83b,_0x347440);},function(_0x3db83b,_0x347440){function _0x1aeacd(){this[_0x1a4e('0x10')]=_0x3db83b;}_0x2f9094(_0x3db83b,_0x347440),_0x3db83b['prototype']=null===_0x347440?Object[_0x1a4e('0x7')](_0x347440):(_0x1aeacd[_0x1a4e('0xa')]=_0x347440['prototype'],new _0x1aeacd());}),_0x43ac17=function(_0x3db83b){function _0x347440(_0x347440,_0x1aeacd){var _0x2f9094=_0x3db83b[_0x1a4e('0x1')](this,_0x347440,_0x1aeacd)||this;return _0x2f9094[_0x1a4e('0x3ed7')]=new _0x65b545[(_0x1a4e('0x3ed8'))](_0x347440),_0x2f9094;}return _0x11ffa8(_0x347440,_0x3db83b),_0x347440['prototype']['getInsertIndex']=function(_0x3db83b,_0x347440){for(var _0x1aeacd=_0x3a1029['GeoPoint']['toCartesian3'](_0x3db83b),_0x2f9094=0x0,_0x1f2b89=0x0,_0x65b545=[],_0x48b3e3=_0x347440[_0x1a4e('0x398a')],_0x11ffa8=0x0;_0x11ffa8<_0x48b3e3[_0x1a4e('0x1e')];_0x11ffa8++)_0x65b545[_0x1a4e('0x46')](_0x48b3e3[_0x11ffa8]);if(_0x347440 instanceof _0x597c37[_0x1a4e('0x3989')]){_0x65b545[_0x1a4e('0x46')](_0x65b545[0x0]);for(var _0x43ac17=0x0;_0x43ac17<_0x65b545['length']-0x1;_0x43ac17++){var _0xcf4641=_0x65b545[_0x43ac17],_0xc51628=_0x65b545[_0x43ac17+0x1],_0xf6bb22=new Cesium['Cartesian2'](_0xcf4641[_0x1a4e('0x1a1')]-_0x3db83b[_0x1a4e('0x1a1')],_0xcf4641[_0x1a4e('0x1a2')]-_0x3db83b[_0x1a4e('0x1a2')]),_0x14823c=new Cesium[(_0x1a4e('0x3952'))](_0xc51628['lon']-_0x3db83b[_0x1a4e('0x1a1')],_0xc51628[_0x1a4e('0x1a2')]-_0x3db83b[_0x1a4e('0x1a2')]);(_0x3ba110=Cesium[_0x1a4e('0x3952')][_0x1a4e('0x3ed9')](_0xf6bb22,_0x14823c))>_0x2f9094&&(_0x2f9094=_0x3ba110,_0x1f2b89=_0x43ac17+0x1);}if(_0x2f9094<0xaa*Cesium['Math'][_0x1a4e('0x3eda')])return-0x1;}else for(_0x43ac17=0x0;_0x43ac17<_0x65b545['length']-0x1;_0x43ac17++){var _0x3ba110;_0xcf4641=_0x65b545[_0x43ac17],_0xc51628=_0x65b545[_0x43ac17+0x1],_0xf6bb22=Cesium['Cartesian3']['subtract'](_0x3a1029['GeoPoint'][_0x1a4e('0x3949')](_0xcf4641),_0x1aeacd,new Cesium[(_0x1a4e('0x393e'))]()),_0x14823c=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x3a1029[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0xc51628),_0x1aeacd,new Cesium[(_0x1a4e('0x393e'))]());(_0x3ba110=Cesium['Cartesian3'][_0x1a4e('0x3ed9')](_0xf6bb22,_0x14823c))>_0x2f9094&&(_0x2f9094=_0x3ba110,_0x1f2b89=_0x43ac17+0x1);}return _0x1f2b89;},_0x347440[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x347440){var _0x1aeacd=this;if(_0x3db83b[_0x1a4e('0xa')][_0x1a4e('0x3e5c')][_0x1a4e('0x1')](this,_0x347440),_0x347440){var _0x2f9094=_0x347440[_0x1a4e('0x398a')],_0x1f2b89=void 0x0;this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x3db83b){var _0x347440=_0x3db83b[_0x1a4e('0x3553')];(_0x1f2b89=_0x1aeacd[_0x1a4e('0x3e07')][_0x1a4e('0x3e4c')][_0x1a4e('0x3e61')](_0x347440['x'],_0x347440['y']))&&(_0x1aeacd[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x1,_0x1aeacd[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x1,_0x1aeacd[_0x1a4e('0x3e63')](_0x1f2b89,!0x0));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39cf')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x3db83b){if(_0x1f2b89){if(_0x1aeacd['setCtrlActive'](_0x1f2b89,!0x1),_0x1a4e('0x3edb')===_0x1f2b89[_0x1a4e('0x2cb')]){for(var _0x3a1029=_0x1f2b89[_0x1a4e('0x3e66')][_0x1a4e('0xbd')],_0x597c37=[],_0x65b545=0x0;_0x65b545<_0x2f9094[_0x1a4e('0x1e')];_0x65b545++)_0x65b545!==_0x3a1029&&_0x597c37['push'](_0x2f9094[_0x65b545]);_0x347440['positions']=_0x597c37,_0x2f9094=_0x597c37,_0x1aeacd[_0x1a4e('0x3e72')](_0x347440);}_0x1aeacd[_0x1a4e('0x3ad3')](_0x1a4e('0x3e70'),{'editItem':_0x347440,'ctrlPoint':_0x1f2b89}),_0x1f2b89=void 0x0,_0x1aeacd[_0x1a4e('0x38fa')]['scene'][_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x0,_0x1aeacd[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')]['enableTranslate']=!0x0;}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d3')]),this['getHandler']()[_0x1a4e('0x3981')](function(_0x3db83b){var _0x3a1029=0x2;if(null!=_0x347440['getMinCtrlPosNum']&&(_0x3a1029=_0x347440['getMinCtrlPosNum']()),_0x2f9094[_0x1a4e('0x1e')]!=_0x3a1029){var _0x597c37=_0x3db83b['position'];if(_0x1f2b89=_0x1aeacd[_0x1a4e('0x3e07')][_0x1a4e('0x3e4c')][_0x1a4e('0x3e61')](_0x597c37['x'],_0x597c37['y'])){var _0x65b545=_0x1f2b89[_0x1a4e('0x3e66')][_0x1a4e('0xbd')];switch(_0x1f2b89[_0x1a4e('0x2cb')]){case _0x1a4e('0x3e62'):for(var _0x48b3e3=[],_0x11ffa8=0x0;_0x11ffa8<_0x2f9094[_0x1a4e('0x1e')];_0x11ffa8++)_0x11ffa8!==_0x65b545&&_0x48b3e3[_0x1a4e('0x46')](_0x2f9094[_0x11ffa8]);_0x347440['positions']=_0x48b3e3,_0x2f9094=_0x48b3e3,_0x1aeacd[_0x1a4e('0x3e72')](_0x347440);}_0x1f2b89=void 0x0;}}},Cesium[_0x1a4e('0x39ce')]['RIGHT_CLICK']),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x3db83b){if(!(_0x347440 instanceof _0x48b3e3[_0x1a4e('0x3e34')])){var _0x3a1029=_0x3db83b[_0x1a4e('0x3553')];if(_0x1f2b89=_0x1aeacd[_0x1a4e('0x3e07')][_0x1a4e('0x3e4c')]['pickIgnoreByCoordinate'](_0x3a1029['x'],_0x3a1029['y'])){var _0x597c37=_0x1f2b89['extendInfo'][_0x1a4e('0x11c')];return _0x597c37&&_0x597c37[_0x1a4e('0x3edc')](!_0x597c37[_0x1a4e('0x3edd')]()),void(_0x1f2b89=void 0x0);}if(_0x1aeacd['_father'][_0x1a4e('0x3e4c')][_0x1a4e('0x3e87')](_0x3a1029['x'],_0x3a1029['y'])===_0x347440){var _0x65b545=Number['MAX_VALUE'];if(_0x347440[_0x1a4e('0x3e53')]&&(_0x65b545=_0x347440[_0x1a4e('0x3e53')]()),_0x2f9094['length']==_0x65b545)return;var _0x11ffa8=_0x1aeacd[_0x1a4e('0x3ed7')]['pickGeoPoint'](_0x3a1029['x'],_0x3a1029['y']);if(!_0x11ffa8)return;var _0x43ac17=_0x1aeacd[_0x1a4e('0x3ede')](_0x11ffa8,_0x347440);if(_0x43ac17<0x0)return;for(var _0x22ca73=[],_0x3bb760=0x0;_0x3bb760<_0x2f9094[_0x1a4e('0x1e')];_0x3bb760++)_0x3bb760===_0x43ac17&&_0x22ca73[_0x1a4e('0x46')](_0x11ffa8),_0x22ca73[_0x1a4e('0x46')](_0x2f9094[_0x3bb760]);_0x43ac17===_0x2f9094[_0x1a4e('0x1e')]&&_0x22ca73['push'](_0x11ffa8),_0x347440[_0x1a4e('0x398a')]=_0x22ca73,_0x2f9094=_0x22ca73,_0x1aeacd[_0x1a4e('0x3e72')](_0x347440);}}},Cesium['ScreenSpaceEventType'][_0x1a4e('0x3e55')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x3db83b){var _0x597c37=_0x3db83b[_0x1a4e('0x34f7')],_0x65b545=_0x3db83b[_0x1a4e('0x34f8')];if(_0x1f2b89){var _0x48b3e3=_0x1f2b89[_0x1a4e('0x3e66')][_0x1a4e('0xbd')];switch(_0x1f2b89[_0x1a4e('0x2cb')]){case _0x1a4e('0x3e62'):var _0x11ffa8=_0x3a1029[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x597c37['x'],_0x597c37['y'],_0x1aeacd[_0x1a4e('0x38fa')]),_0x43ac17=_0x3a1029[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x65b545['x'],_0x65b545['y'],_0x1aeacd[_0x1a4e('0x38fa')]);if(!_0x11ffa8||!_0x43ac17)return;_0x2f9094[_0x48b3e3]['lon']=_0x2f9094[_0x48b3e3][_0x1a4e('0x1a1')]+(_0x43ac17[_0x1a4e('0x1a1')]-_0x11ffa8[_0x1a4e('0x1a1')]),_0x2f9094[_0x48b3e3][_0x1a4e('0x1a2')]=_0x2f9094[_0x48b3e3][_0x1a4e('0x1a2')]+(_0x43ac17[_0x1a4e('0x1a2')]-_0x11ffa8[_0x1a4e('0x1a2')]),_0x1aeacd['isClamp'](_0x347440)&&(_0x2f9094[_0x48b3e3][_0x1a4e('0x398c')]=_0x43ac17[_0x1a4e('0x398c')]);break;case _0x1a4e('0x3e71'):var _0x339fc8=_0x1aeacd[_0x1a4e('0x3e68')](_0x65b545['y']-_0x597c37['y']);_0x2f9094[_0x48b3e3][_0x1a4e('0x398c')]=_0x2f9094[_0x48b3e3][_0x1a4e('0x398c')]-_0x339fc8;}_0x347440[_0x1a4e('0x398a')]=_0x2f9094,_0x1aeacd[_0x1a4e('0x3dfe')][_0x1a4e('0x3e6b')](_0x2f9094[_0x48b3e3],_0x48b3e3),_0x1aeacd[_0x1a4e('0x3ad3')](_0x1a4e('0x3ea3'),_0x347440);}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]);}},_0x347440[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){_0x3db83b['prototype'][_0x1a4e('0xb5')][_0x1a4e('0x1')](this),this[_0x1a4e('0x3ed7')]=void 0x0;},_0x347440[_0x1a4e('0xa')][_0x1a4e('0x3e5f')]=function(){return this[_0x1a4e('0x3e5d')][_0x1a4e('0x398a')];},_0x347440[_0x1a4e('0xa')][_0x1a4e('0x3e72')]=function(_0x347440){_0x3db83b[_0x1a4e('0xa')][_0x1a4e('0x3e72')][_0x1a4e('0x1')](this,_0x347440);var _0x1aeacd=this['_controlPointSet'][_0x1a4e('0x3edf')](),_0x2f9094=0x2;null!=_0x347440[_0x1a4e('0x3e54')]&&(_0x2f9094=_0x347440['getMinCtrlPosNum']()),_0x1aeacd==_0x2f9094?this['_controlPointSet'][_0x1a4e('0x3e73')](!0x1):this['_controlPointSet'][_0x1a4e('0x3e73')](!0x0);},_0x347440;}(_0x1f2b89[_0x1a4e('0x3e74')]);},'./src/Editor/Editor/ObliqueEditor.ts':function(_0x187ae1,_0x20c1d5,_0xfdde9e){'use strict';_0xfdde9e['r'](_0x20c1d5),_0xfdde9e['d'](_0x20c1d5,_0x1a4e('0x3e99'),function(){return _0x4b41ce;});var _0x21ee51,_0x348ac1=_0xfdde9e(_0x1a4e('0x3eb5')),_0x1c673d=(_0x21ee51=function(_0x187ae1,_0x20c1d5){return(_0x21ee51=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x187ae1,_0x20c1d5){_0x187ae1[_0x1a4e('0x295')]=_0x20c1d5;}||function(_0x187ae1,_0x20c1d5){for(var _0xfdde9e in _0x20c1d5)_0x20c1d5[_0x1a4e('0xb')](_0xfdde9e)&&(_0x187ae1[_0xfdde9e]=_0x20c1d5[_0xfdde9e]);})(_0x187ae1,_0x20c1d5);},function(_0x187ae1,_0x20c1d5){function _0xfdde9e(){this['constructor']=_0x187ae1;}_0x21ee51(_0x187ae1,_0x20c1d5),_0x187ae1['prototype']=null===_0x20c1d5?Object[_0x1a4e('0x7')](_0x20c1d5):(_0xfdde9e[_0x1a4e('0xa')]=_0x20c1d5[_0x1a4e('0xa')],new _0xfdde9e());}),_0x4b41ce=function(_0x187ae1){function _0x20c1d5(_0x20c1d5,_0xfdde9e){var _0x21ee51=_0x187ae1[_0x1a4e('0x1')](this,_0x20c1d5,_0xfdde9e)||this;return _0x21ee51[_0x1a4e('0x3eb8')](),_0x21ee51;}return _0x1c673d(_0x20c1d5,_0x187ae1),_0x20c1d5['prototype'][_0x1a4e('0x3eb8')]=function(){var _0x187ae1=this;this['_screenEditor']['centerCallback']=function(){_0x187ae1[_0x1a4e('0x3e5d')];};},_0x20c1d5[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x187ae1){_0x187ae1&&this['_screenEditor'][_0x1a4e('0x12bc')]();},_0x20c1d5[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x3e58')][_0x1a4e('0x139b')]();},_0x20c1d5;}(_0x348ac1[_0x1a4e('0x3e74')]);},'./src/Editor/Editor/PointEditor.ts':function(_0x89d247,_0x12bcea,_0x75b6b){'use strict';_0x75b6b['r'](_0x12bcea),_0x75b6b['d'](_0x12bcea,_0x1a4e('0x3e8e'),function(){return _0x2e9644;});var _0x2ef995,_0x397afc=_0x75b6b(_0x1a4e('0x3eb5')),_0x400d1d=_0x75b6b(_0x1a4e('0x38d0')),_0xd1fcd0=(_0x2ef995=function(_0x89d247,_0x12bcea){return(_0x2ef995=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x89d247,_0x12bcea){_0x89d247[_0x1a4e('0x295')]=_0x12bcea;}||function(_0x89d247,_0x12bcea){for(var _0x75b6b in _0x12bcea)_0x12bcea[_0x1a4e('0xb')](_0x75b6b)&&(_0x89d247[_0x75b6b]=_0x12bcea[_0x75b6b]);})(_0x89d247,_0x12bcea);},function(_0x89d247,_0x12bcea){function _0x75b6b(){this[_0x1a4e('0x10')]=_0x89d247;}_0x2ef995(_0x89d247,_0x12bcea),_0x89d247[_0x1a4e('0xa')]=null===_0x12bcea?Object['create'](_0x12bcea):(_0x75b6b[_0x1a4e('0xa')]=_0x12bcea['prototype'],new _0x75b6b());}),_0x2e9644=function(_0x89d247){function _0x12bcea(){return null!==_0x89d247&&_0x89d247[_0x1a4e('0x8b')](this,arguments)||this;}return _0xd1fcd0(_0x12bcea,_0x89d247),_0x12bcea['prototype'][_0x1a4e('0x3e5c')]=function(_0x12bcea){var _0x75b6b=this;if(_0x89d247[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]['call'](this,_0x12bcea),_0x12bcea){var _0x2ef995=_0x12bcea[_0x1a4e('0x3553')],_0x397afc=void 0x0;this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x89d247){var _0x12bcea=_0x89d247['position'];(_0x397afc=_0x75b6b[_0x1a4e('0x3e07')]['_graphicLayer'][_0x1a4e('0x3e61')](_0x12bcea['x'],_0x12bcea['y']))&&(_0x75b6b[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x1,_0x75b6b[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x1,_0x75b6b[_0x1a4e('0x3e63')](_0x397afc,!0x0));},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39cf')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x89d247){_0x397afc&&(_0x75b6b[_0x1a4e('0x3e63')](_0x397afc,!0x1),_0x75b6b['fire'](_0x1a4e('0x3e70'),{'editItem':_0x12bcea,'ctrlPoint':_0x397afc}),_0x397afc=void 0x0,_0x75b6b[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['screenSpaceCameraController'][_0x1a4e('0x3e65')]=!0x0,_0x75b6b['_viewer']['scene']['screenSpaceCameraController']['enableTranslate']=!0x0);},Cesium[_0x1a4e('0x39ce')]['LEFT_UP']),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x89d247){if(_0x397afc){var _0xd1fcd0=_0x89d247[_0x1a4e('0x34f7')],_0x2e9644=_0x89d247[_0x1a4e('0x34f8')];switch(_0x397afc[_0x1a4e('0x2cb')]){case _0x1a4e('0x3e62'):var _0x4a8df7=_0x400d1d['GeoPoint']['fromScreen'](_0x2e9644['x'],_0x2e9644['y'],_0x75b6b['_viewer']);if(!_0x4a8df7)return;_0x2ef995['lon']=_0x4a8df7[_0x1a4e('0x1a1')],_0x2ef995[_0x1a4e('0x1a2')]=_0x4a8df7['lat'],_0x2ef995[_0x1a4e('0x398c')]=_0x4a8df7[_0x1a4e('0x398c')];break;case _0x1a4e('0x3e71'):var _0x5790eb=_0x75b6b[_0x1a4e('0x3e68')](_0x2e9644['y']-_0xd1fcd0['y']);_0x2ef995[_0x1a4e('0x398c')]=_0x2ef995[_0x1a4e('0x398c')]-_0x5790eb;}_0x12bcea['position']=_0x2ef995,_0x75b6b['_controlPointSet'][_0x1a4e('0x3e6b')](_0x2ef995,0x0);}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]);}},_0x12bcea[_0x1a4e('0xa')][_0x1a4e('0x3e5f')]=function(){return[this['_editItem'][_0x1a4e('0x3553')]];},_0x12bcea[_0x1a4e('0xa')][_0x1a4e('0x3e72')]=function(_0x12bcea){_0x89d247[_0x1a4e('0xa')][_0x1a4e('0x3e72')][_0x1a4e('0x1')](this,_0x12bcea),this[_0x1a4e('0x3dfe')][_0x1a4e('0x3e73')](!0x1);},_0x12bcea;}(_0x397afc[_0x1a4e('0x3e74')]);},'./src/Editor/Editor/PolygonEditor.ts':function(_0x1970d5,_0x7d8fd9,_0x32891d){'use strict';_0x32891d['r'](_0x7d8fd9),_0x32891d['d'](_0x7d8fd9,_0x1a4e('0x3e91'),function(){return _0x59a1eb;});var _0x356230,_0x9d397e=_0x32891d('./src/Editor/Editor/LineEditor.ts'),_0x5603ea=_0x32891d(_0x1a4e('0x3e0b')),_0x42ef08=(_0x356230=function(_0x1970d5,_0x7d8fd9){return(_0x356230=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1970d5,_0x7d8fd9){_0x1970d5[_0x1a4e('0x295')]=_0x7d8fd9;}||function(_0x1970d5,_0x7d8fd9){for(var _0x32891d in _0x7d8fd9)_0x7d8fd9[_0x1a4e('0xb')](_0x32891d)&&(_0x1970d5[_0x32891d]=_0x7d8fd9[_0x32891d]);})(_0x1970d5,_0x7d8fd9);},function(_0x1970d5,_0x7d8fd9){function _0x32891d(){this[_0x1a4e('0x10')]=_0x1970d5;}_0x356230(_0x1970d5,_0x7d8fd9),_0x1970d5[_0x1a4e('0xa')]=null===_0x7d8fd9?Object[_0x1a4e('0x7')](_0x7d8fd9):(_0x32891d[_0x1a4e('0xa')]=_0x7d8fd9[_0x1a4e('0xa')],new _0x32891d());}),_0x59a1eb=function(_0x1970d5){function _0x7d8fd9(){return null!==_0x1970d5&&_0x1970d5[_0x1a4e('0x8b')](this,arguments)||this;}return _0x42ef08(_0x7d8fd9,_0x1970d5),_0x7d8fd9[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x7d8fd9){_0x1970d5[_0x1a4e('0xa')][_0x1a4e('0x3e5c')][_0x1a4e('0x1')](this,_0x7d8fd9);},_0x7d8fd9['prototype'][_0x1a4e('0x3e5f')]=function(){var _0x1970d5,_0x7d8fd9=!0x1;if(null!=this['_editItem'][_0x1a4e('0x152')]?(_0x1970d5=this[_0x1a4e('0x3e5d')][_0x1a4e('0x152')],_0x7d8fd9=!0x0):null!=this['_editItem']['extrudedHeight']&&(_0x1970d5=this[_0x1a4e('0x3e5d')][_0x1a4e('0x398d')],_0x7d8fd9=!0x0),_0x7d8fd9){for(var _0x32891d=this[_0x1a4e('0x3e5d')][_0x1a4e('0x398a')],_0x356230=0x0;_0x356230<_0x32891d[_0x1a4e('0x1e')];_0x356230++)_0x32891d[_0x356230][_0x1a4e('0x398c')]=_0x1970d5;return _0x32891d;}return this[_0x1a4e('0x3e5d')][_0x1a4e('0x398a')];},_0x7d8fd9[_0x1a4e('0xa')]['getHeightEditVisible']=function(){return!_0x5603ea[_0x1a4e('0x3ae2')][_0x1a4e('0x3e0c')](this['_editItem'])&&(null==this[_0x1a4e('0x3e5d')][_0x1a4e('0x152')]&&null==this[_0x1a4e('0x3e5d')][_0x1a4e('0x398d')]);},_0x7d8fd9[_0x1a4e('0xa')][_0x1a4e('0x3e72')]=function(_0x7d8fd9){_0x1970d5[_0x1a4e('0xa')][_0x1a4e('0x3e72')]['call'](this,_0x7d8fd9),this[_0x1a4e('0x3dfe')]['setHeightEditVisible'](this['getHeightEditVisible']());},_0x7d8fd9;}(_0x9d397e[_0x1a4e('0x3e90')]);},'./src/Editor/Editor/RectangleEditor.ts':function(_0x4eb33a,_0x3ee18c,_0x8c7c62){'use strict';_0x8c7c62['r'](_0x3ee18c),_0x8c7c62['d'](_0x3ee18c,_0x1a4e('0x3e93'),function(){return _0x3531b4;});var _0x2696c5,_0x397864=_0x8c7c62(_0x1a4e('0x3eb5')),_0x1e49d8=_0x8c7c62(_0x1a4e('0x38d0')),_0x40c3a3=(_0x2696c5=function(_0x4eb33a,_0x3ee18c){return(_0x2696c5=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4eb33a,_0x3ee18c){_0x4eb33a['__proto__']=_0x3ee18c;}||function(_0x4eb33a,_0x3ee18c){for(var _0x8c7c62 in _0x3ee18c)_0x3ee18c[_0x1a4e('0xb')](_0x8c7c62)&&(_0x4eb33a[_0x8c7c62]=_0x3ee18c[_0x8c7c62]);})(_0x4eb33a,_0x3ee18c);},function(_0x4eb33a,_0x3ee18c){function _0x8c7c62(){this['constructor']=_0x4eb33a;}_0x2696c5(_0x4eb33a,_0x3ee18c),_0x4eb33a[_0x1a4e('0xa')]=null===_0x3ee18c?Object[_0x1a4e('0x7')](_0x3ee18c):(_0x8c7c62['prototype']=_0x3ee18c[_0x1a4e('0xa')],new _0x8c7c62());}),_0x3531b4=function(_0x4eb33a){function _0x3ee18c(){return null!==_0x4eb33a&&_0x4eb33a[_0x1a4e('0x8b')](this,arguments)||this;}return _0x40c3a3(_0x3ee18c,_0x4eb33a),_0x3ee18c[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x3ee18c){var _0x8c7c62=this;if(_0x4eb33a[_0x1a4e('0xa')][_0x1a4e('0x3e5c')][_0x1a4e('0x1')](this,_0x3ee18c),_0x3ee18c){var _0x2696c5,_0x397864,_0x40c3a3=_0x3ee18c[_0x1a4e('0x398a')],_0x3531b4=!0x0;this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x4eb33a){var _0x3ee18c=_0x4eb33a['position'];if(_0x2696c5=_0x8c7c62['_father'][_0x1a4e('0x3e4c')][_0x1a4e('0x3e61')](_0x3ee18c['x'],_0x3ee18c['y'])){var _0x1e49d8=_0x2696c5[_0x1a4e('0x3e66')][_0x1a4e('0xbd')];if('CtrlPoint'===_0x2696c5['name'])switch(_0x3531b4=!0x0,_0x1e49d8){case 0x0:_0x397864=_0x40c3a3[0x1];break;case 0x1:_0x397864=_0x40c3a3[0x0];}_0x8c7c62[_0x1a4e('0x3e63')](_0x2696c5,!0x0),_0x8c7c62[_0x1a4e('0x38fa')]['scene'][_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x1,_0x8c7c62[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x1;}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39cf')]),this[_0x1a4e('0x3e00')]()[_0x1a4e('0x3981')](function(_0x4eb33a){_0x3531b4=!0x1,_0x2696c5&&_0x8c7c62['setCtrlActive'](_0x2696c5,!0x1),_0x8c7c62[_0x1a4e('0x3ad3')](_0x1a4e('0x3e70'),{'item':_0x3ee18c,'ctrlPoint':_0x2696c5}),_0x8c7c62[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['screenSpaceCameraController'][_0x1a4e('0x3e65')]=!0x0,_0x8c7c62[_0x1a4e('0x38fa')]['scene']['screenSpaceCameraController'][_0x1a4e('0x3e6f')]=!0x0;},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d3')]),this[_0x1a4e('0x3e00')]()['setInputAction'](function(_0x4eb33a){if(_0x3531b4){var _0x15259e=_0x4eb33a['endPosition'],_0x211434=_0x1e49d8[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x15259e['x'],_0x15259e['y'],_0x8c7c62['_viewer']);if(_0x211434&&_0x2696c5){var _0x222ce8=_0x2696c5[_0x1a4e('0x3e66')][_0x1a4e('0xbd')],_0x27d553=[];if(_0x1a4e('0x3e62')===_0x2696c5[_0x1a4e('0x2cb')]){switch(_0x222ce8){case 0x0:_0x27d553['push'](_0x211434),_0x27d553['push'](_0x397864);break;case 0x1:_0x27d553['push'](_0x397864),_0x27d553[_0x1a4e('0x46')](_0x211434);}_0x40c3a3=_0x27d553,_0x3ee18c[_0x1a4e('0x398a')]=_0x27d553,_0x8c7c62[_0x1a4e('0x3e72')](_0x3ee18c);}}}},Cesium['ScreenSpaceEventType'][_0x1a4e('0x39d1')]);}},_0x3ee18c[_0x1a4e('0xa')][_0x1a4e('0x3e72')]=function(_0x3ee18c){_0x4eb33a[_0x1a4e('0xa')]['updateCtrlPts']['call'](this,_0x3ee18c),this['_controlPointSet']['setRemoveEditVisible'](!0x1),this[_0x1a4e('0x3dfe')][_0x1a4e('0x3eb6')](!0x1);},_0x3ee18c['prototype'][_0x1a4e('0x3e5f')]=function(){var _0x4eb33a,_0x3ee18c=!0x1;if(null!=this[_0x1a4e('0x3e5d')]['height']?(_0x4eb33a=this[_0x1a4e('0x3e5d')][_0x1a4e('0x152')],_0x3ee18c=!0x0):null!=this[_0x1a4e('0x3e5d')][_0x1a4e('0x398d')]&&(_0x4eb33a=this['_editItem'][_0x1a4e('0x398d')],_0x3ee18c=!0x0),_0x3ee18c){for(var _0x8c7c62=this[_0x1a4e('0x3e5d')][_0x1a4e('0x398a')],_0x2696c5=0x0;_0x2696c5<_0x8c7c62[_0x1a4e('0x1e')];_0x2696c5++)_0x8c7c62[_0x2696c5]['alt']=_0x4eb33a;return _0x8c7c62;}return this[_0x1a4e('0x3e5d')]['positions'];},_0x3ee18c;}(_0x397864['BaseEditor']);},'./src/Editor/Editor/ScreenEditor.ts':function(_0x3e0769,_0x11c15e,_0x275d63){'use strict';_0x275d63['r'](_0x11c15e),_0x275d63['d'](_0x11c15e,_0x1a4e('0x3e59'),function(){return _0x30ce84;});var _0x56935e=_0x275d63(_0x1a4e('0x3999')),_0x35be87=function(_0x3e0769){var _0x11c15e=_0x1a4e('0x68')==typeof Symbol&&_0x3e0769[Symbol['iterator']],_0x275d63=0x0;return _0x11c15e?_0x11c15e[_0x1a4e('0x1')](_0x3e0769):{'next':function(){return _0x3e0769&&_0x275d63>=_0x3e0769[_0x1a4e('0x1e')]&&(_0x3e0769=void 0x0),{'value':_0x3e0769&&_0x3e0769[_0x275d63++],'done':!_0x3e0769};}};},_0x30ce84=function(){function _0x3e0769(_0x3e0769){this[_0x1a4e('0x3ee0')]=!0x1,this[_0x1a4e('0x3ee1')]=null,this[_0x1a4e('0x38fa')]=_0x3e0769,this[_0x1a4e('0x3ee1')]=this[_0x1a4e('0x38fa')][_0x1a4e('0x12d8')];}return _0x3e0769[_0x1a4e('0xa')][_0x1a4e('0x3ee2')]=function(){return this[_0x1a4e('0x3ee1')];},_0x3e0769[_0x1a4e('0xa')][_0x1a4e('0x3e5b')]=function(_0x3e0769){this['_divContainer']=_0x3e0769;},_0x3e0769[_0x1a4e('0xa')][_0x1a4e('0x3ed3')]=function(_0x3e0769){this[_0x1a4e('0x3ee3')]=_0x3e0769;},Object[_0x1a4e('0x2')](_0x3e0769[_0x1a4e('0xa')],'centerCallback',{'set':function(_0x3e0769){this[_0x1a4e('0x3ee4')]=_0x3e0769;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3e0769['prototype'],'updateCtrlPtsCallback',{'set':function(_0x3e0769){this[_0x1a4e('0x3ee5')]=_0x3e0769;},'enumerable':!0x0,'configurable':!0x0}),_0x3e0769[_0x1a4e('0xa')]['open']=function(){this[_0x1a4e('0x3ee0')]||(this[_0x1a4e('0x3ee0')]=!0x0,this[_0x1a4e('0x3ee6')]());},_0x3e0769['prototype']['close']=function(){this[_0x1a4e('0x3ee0')]&&this[_0x1a4e('0x3ee7')]();},_0x3e0769['prototype'][_0x1a4e('0x3ee7')]=function(){this['_operatorContainer']&&(this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3ee8')][_0x1a4e('0xec2')](this['moveDivContainer']),this[_0x1a4e('0x3ee2')]()[_0x1a4e('0x12c5')](this['_operatorContainer']),this[_0x1a4e('0x3ee9')]=void 0x0,this[_0x1a4e('0x3eea')]&&(this['getOwnerElement']()[_0x1a4e('0xec2')](_0x1a4e('0x3eea'),this[_0x1a4e('0x3eea')]),this[_0x1a4e('0xec6')]=void 0x0),this[_0x1a4e('0xec6')]&&(this['getOwnerElement']()[_0x1a4e('0xec2')](_0x1a4e('0xec6'),this[_0x1a4e('0xec6')]),this['mouseup']=void 0x0),this['_isOpen']=!0x1);},_0x3e0769[_0x1a4e('0xa')][_0x1a4e('0x3ee6')]=function(){var _0x3e0769,_0x11c15e,_0x275d63=this;if(this[_0x1a4e('0x3ee3')]&&0x0!==this[_0x1a4e('0x3ee3')]['length']){var _0x30ce84,_0x2a6ba6,_0x1e6753=document['createElement'](_0x1a4e('0x9d6'));_0x1e6753[_0x1a4e('0x375c')][_0x1a4e('0x3553')]=_0x1a4e('0x3b1b'),_0x1e6753[_0x1a4e('0x375c')][_0x1a4e('0x375d')]=_0x1a4e('0x60'),_0x1e6753[_0x1a4e('0x375c')][_0x1a4e('0x3eeb')]=_0x1a4e('0x3eec'),_0x1e6753[_0x1a4e('0x3eed')]=function(){return!0x1;};var _0x12d198=this[_0x1a4e('0x3ee3')],_0x39589c=function(_0x3e0769){if(_0x3e0769[_0x1a4e('0x3eee')]&&!_0x3e0769[_0x1a4e('0x3eee')]())return _0x1a4e('0x137e');var _0x11c15e=document['createElement']('button'),_0x275d63=document[_0x1a4e('0xe3d')](_0x1a4e('0x3eef'));_0x275d63[_0x1a4e('0xe05')]=_0x56935e[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x3ef0')+_0x3e0769[_0x1a4e('0x1186')]),_0x11c15e[_0x1a4e('0x12c4')](_0x275d63),_0x11c15e['title']=_0x3e0769['ToolTip'],_0x11c15e[_0x1a4e('0x375c')][_0x1a4e('0x3ef1')]='transparent',_0x11c15e[_0x1a4e('0x375c')][_0x1a4e('0x3b28')]=_0x1a4e('0x3dc2'),_0x1e6753[_0x1a4e('0x12c4')](_0x11c15e),_0x11c15e[_0x1a4e('0x3ef2')]=function(_0x11c15e){var _0x275d63=_0x11c15e[_0x1a4e('0xd95')][_0x1a4e('0x3ef3')][_0x1a4e('0x39c7')]+_0x11c15e[_0x1a4e('0x3ef4')],_0x56935e=_0x11c15e[_0x1a4e('0xd95')][_0x1a4e('0x3ef3')][_0x1a4e('0x39cc')]+_0x11c15e[_0x1a4e('0x3ef5')];_0x2a6ba6={'x':_0x275d63,'y':_0x56935e},_0x30ce84=_0x3e0769;},_0x3e0769[_0x1a4e('0x3ef6')]=_0x11c15e;};try{for(var _0x59801c=_0x35be87(_0x12d198),_0x29de72=_0x59801c[_0x1a4e('0x7e')]();!_0x29de72[_0x1a4e('0x3c2')];_0x29de72=_0x59801c[_0x1a4e('0x7e')]()){_0x39589c(_0x29de72[_0x1a4e('0x255')]);}}catch(_0x446d08){_0x3e0769={'error':_0x446d08};}finally{try{_0x29de72&&!_0x29de72['done']&&(_0x11c15e=_0x59801c[_0x1a4e('0xe40')])&&_0x11c15e[_0x1a4e('0x1')](_0x59801c);}finally{if(_0x3e0769)throw _0x3e0769['error'];}}this[_0x1a4e('0xec6')]=function(_0x3e0769){if(_0x30ce84&&_0x2a6ba6){var _0x11c15e={'x':_0x3e0769[_0x1a4e('0xd95')]['offsetParent'][_0x1a4e('0x39c7')]+_0x3e0769['layerX'],'y':_0x3e0769[_0x1a4e('0xd95')][_0x1a4e('0x3ef3')][_0x1a4e('0x39cc')]+_0x3e0769[_0x1a4e('0x3ef5')]};_0x30ce84[_0x1a4e('0x3176')][_0x1a4e('0x1')](_0x275d63,_0x2a6ba6,_0x11c15e),_0x2a6ba6=_0x11c15e,_0x275d63['ctrlPtsUpdateCallback']&&_0x275d63[_0x1a4e('0x3ee5')]();}},this['getOwnerElement']()[_0x1a4e('0xec5')](_0x1a4e('0xec6'),this[_0x1a4e('0xec6')]),this['mouseup']=function(_0x3e0769){_0x2a6ba6=null,_0x30ce84=void 0x0;},this[_0x1a4e('0x3ee2')]()[_0x1a4e('0xec5')]('mouseup',this['mouseup']),this[_0x1a4e('0x3ee2')]()['appendChild'](_0x1e6753),this[_0x1a4e('0x3ee9')]=_0x1e6753,this['moveDivContainer']=function(){if(_0x275d63['getCenterCallback']){var _0x3e0769=_0x275d63['getCenterCallback']();_0x3e0769&&(_0x275d63['_operatorContainer'][_0x1a4e('0x375c')]['display']=_0x1a4e('0x260c'),_0x275d63['_operatorContainer'][_0x1a4e('0x375c')][_0x1a4e('0x5e')]=_0x3e0769['y']-0x19+'px',_0x275d63[_0x1a4e('0x3ee9')][_0x1a4e('0x375c')][_0x1a4e('0x5f')]=_0x3e0769['x']+0x5+'px');}},this[_0x1a4e('0x38fa')]['scene'][_0x1a4e('0x3ee8')]['addEventListener'](this[_0x1a4e('0x3ef7')]);}},_0x3e0769;}();},'./src/Editor/Editor/ScreenTextEditor.ts':function(_0x541932,_0x389b09,_0x19da76){'use strict';_0x19da76['r'](_0x389b09),_0x19da76['d'](_0x389b09,_0x1a4e('0x3e9a'),function(){return _0x32aa81;});var _0x255bf2,_0x84aa92=_0x19da76(_0x1a4e('0x3eb5')),_0x3456de=(_0x255bf2=function(_0x541932,_0x389b09){return(_0x255bf2=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x541932,_0x389b09){_0x541932[_0x1a4e('0x295')]=_0x389b09;}||function(_0x541932,_0x389b09){for(var _0x19da76 in _0x389b09)_0x389b09[_0x1a4e('0xb')](_0x19da76)&&(_0x541932[_0x19da76]=_0x389b09[_0x19da76]);})(_0x541932,_0x389b09);},function(_0x541932,_0x389b09){function _0x19da76(){this[_0x1a4e('0x10')]=_0x541932;}_0x255bf2(_0x541932,_0x389b09),_0x541932[_0x1a4e('0xa')]=null===_0x389b09?Object[_0x1a4e('0x7')](_0x389b09):(_0x19da76[_0x1a4e('0xa')]=_0x389b09['prototype'],new _0x19da76());}),_0x32aa81=function(_0x541932){function _0x389b09(){return null!==_0x541932&&_0x541932['apply'](this,arguments)||this;}return _0x3456de(_0x389b09,_0x541932),_0x389b09[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x541932){this['_editItem']=_0x541932,this[_0x1a4e('0x3e5d')]['getRenderObject']()[_0x1a4e('0x3eae')][_0x1a4e('0x3ef8')](!0x0);},_0x389b09[_0x1a4e('0xa')]['clear']=function(){this['_editItem']&&this['_editItem'][_0x1a4e('0x3ef9')]()&&(this['_editItem']['getRenderObject']()[_0x1a4e('0x3eae')][_0x1a4e('0x3ef8')](!0x1),this[_0x1a4e('0x3e5d')]=void 0x0);},_0x389b09[_0x1a4e('0xa')][_0x1a4e('0x3e00')]=function(){return null;},_0x389b09[_0x1a4e('0xa')][_0x1a4e('0x3e04')]=function(){},_0x389b09[_0x1a4e('0xa')][_0x1a4e('0x3e03')]=function(){},_0x389b09[_0x1a4e('0xa')]['createItem']=function(_0x541932){this['_father'][_0x1a4e('0x3ad3')](_0x1a4e('0x3e08'),_0x541932);},_0x389b09['prototype'][_0x1a4e('0x3e5e')]=function(){return[];},_0x389b09[_0x1a4e('0xa')][_0x1a4e('0x3e63')]=function(_0x541932,_0x389b09){},_0x389b09[_0x1a4e('0xa')]['getPositions']=function(){return[];},_0x389b09[_0x1a4e('0xa')]['getActiveIndex']=function(_0x541932,_0x389b09){return-0x1;},_0x389b09[_0x1a4e('0xa')][_0x1a4e('0x3e68')]=function(_0x541932,_0x389b09){return void 0x0===_0x389b09&&(_0x389b09=0x3),-0x1;},_0x389b09[_0x1a4e('0xa')][_0x1a4e('0x3e69')]=function(_0x541932){},_0x389b09[_0x1a4e('0xa')][_0x1a4e('0x3e0c')]=function(_0x541932){return!0x1;},_0x389b09[_0x1a4e('0xa')][_0x1a4e('0x3e72')]=function(_0x541932){},_0x389b09;}(_0x84aa92[_0x1a4e('0x3e74')]);},'./src/Editor/Editor/WholeEditor.ts':function(_0x1e2403,_0x1e5c82,_0x46fdc6){'use strict';_0x46fdc6['r'](_0x1e5c82),_0x46fdc6['d'](_0x1e5c82,_0x1a4e('0x3e81'),function(){return _0x2da578;});var _0x49ad5a=_0x46fdc6(_0x1a4e('0x3e7f')),_0x1aab08=_0x46fdc6(_0x1a4e('0x38d0')),_0x16fba0=_0x46fdc6(_0x1a4e('0x3e57')),_0x2da578=function(){function _0x1e2403(_0x1e2403){this[_0x1a4e('0x38fa')]=_0x1e2403,this[_0x1a4e('0x3e58')]=new _0x16fba0[(_0x1a4e('0x3e59'))](_0x1e2403),this[_0x1a4e('0x3eb8')]();}return _0x1e2403[_0x1a4e('0xa')][_0x1a4e('0x3eb8')]=function(){var _0x1e2403=this,_0x1e5c82=[{'Image':_0x1a4e('0x3eb9'),'ToolTip':_0x1a4e('0x3eba'),'Operator':this['movePosition'][_0x1a4e('0x945')](this),'CanOperator':function(){return!!_0x1e2403['_editItem']&&_0x1e2403['_editItem'][_0x1a4e('0x3efa')];}},{'Image':'Height.png','ToolTip':_0x1a4e('0x3ec8'),'Operator':this[_0x1a4e('0x3efb')]['bind'](this),'CanOperator':function(){return 0x2!==_0x1e2403[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0xa69')]&&(!!_0x1e2403['_editItem']&&(!_0x1e2403[_0x1a4e('0x3e5d')]['clampToGround']&&'clamp_to_ground'!=_0x1e2403[_0x1a4e('0x3e5d')][_0x1a4e('0x3bdf')]&&_0x1e2403[_0x1a4e('0x3e5d')]['movePosition']));}},{'Image':'Scale.png','ToolTip':_0x1a4e('0x3efc'),'Operator':this[_0x1a4e('0x3efd')][_0x1a4e('0x945')](this),'CanOperator':function(){return!!_0x1e2403[_0x1a4e('0x3e5d')]&&!!(_0x1e2403['_editItem'][_0x1a4e('0x143')]||_0x1e2403['_editItem'][_0x1a4e('0x3efe')]||_0x1e2403[_0x1a4e('0x3e5d')][_0x1a4e('0x220')]);}},{'Image':_0x1a4e('0x3eff'),'ToolTip':_0x1a4e('0x3f00'),'Operator':this[_0x1a4e('0x3f01')][_0x1a4e('0x945')](this),'CanOperator':function(){return!!_0x1e2403['_editItem']&&null!=_0x1e2403['_editItem'][_0x1a4e('0x3a69')];}},{'Image':'RotateY.png','ToolTip':_0x1a4e('0x3f02'),'Operator':this['rotateByRoll'][_0x1a4e('0x945')](this),'CanOperator':function(){return!!_0x1e2403[_0x1a4e('0x3e5d')]&&null!=_0x1e2403[_0x1a4e('0x3e5d')][_0x1a4e('0x3a9c')];}},{'Image':'RotateZ.png','ToolTip':'改变偏航角','Operator':this[_0x1a4e('0x3f03')]['bind'](this),'CanOperator':function(){return!!_0x1e2403[_0x1a4e('0x3e5d')]&&null!=_0x1e2403['_editItem'][_0x1a4e('0x3a68')];}}];this[_0x1a4e('0x3e58')]['setOperators'](_0x1e5c82),this[_0x1a4e('0x3e58')][_0x1a4e('0x3ec3')]=function(){if(_0x1e2403[_0x1a4e('0x3e5d')]){var _0x1e5c82=_0x1e2403[_0x1a4e('0x3e5d')][_0x1a4e('0x3ecb')]();return _0x1aab08[_0x1a4e('0x38da')][_0x1a4e('0x3ec4')](_0x1e5c82,_0x1e2403[_0x1a4e('0x38fa')]);}};},_0x1e2403[_0x1a4e('0xa')][_0x1a4e('0x3e5a')]=function(_0x1e2403){this['_screenEditor'][_0x1a4e('0x3e5b')](_0x1e2403);},_0x1e2403[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x1e2403){this[_0x1a4e('0x3e5d')]!==_0x1e2403&&(this['_editItem']=_0x1e2403,this[_0x1a4e('0x3e58')]['close'](),!this[_0x1a4e('0x3e5d')]||this[_0x1a4e('0x3e5d')]instanceof _0x49ad5a[_0x1a4e('0x3e49')]||this[_0x1a4e('0x3e58')][_0x1a4e('0x12bc')]());},Object[_0x1a4e('0x2')](_0x1e2403[_0x1a4e('0xa')],_0x1a4e('0x3ea0'),{'set':function(_0x1e2403){var _0x1e5c82=this;this[_0x1a4e('0x3e58')][_0x1a4e('0x3ea0')]=function(){_0x1e2403&&_0x1e2403(_0x1e5c82[_0x1a4e('0x3e5d')]);};},'enumerable':!0x0,'configurable':!0x0}),_0x1e2403[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x3e58')][_0x1a4e('0x139b')]();},_0x1e2403['prototype'][_0x1a4e('0x3f03')]=function(_0x1e2403,_0x1e5c82){var _0x46fdc6=_0x1e5c82['x']-_0x1e2403['x'],_0x49ad5a=this[_0x1a4e('0x3e5d')][_0x1a4e('0x3a68')];this[_0x1a4e('0x3e5d')][_0x1a4e('0x3a68')]=_0x49ad5a+_0x46fdc6;},_0x1e2403[_0x1a4e('0xa')][_0x1a4e('0x3f01')]=function(_0x1e2403,_0x1e5c82){var _0x46fdc6=_0x1e5c82['y']-_0x1e2403['y'],_0x49ad5a=this['_editItem']['pitch'];this[_0x1a4e('0x3e5d')][_0x1a4e('0x3a69')]=_0x49ad5a+_0x46fdc6;},_0x1e2403[_0x1a4e('0xa')][_0x1a4e('0x3f04')]=function(_0x1e2403,_0x1e5c82){var _0x46fdc6=_0x1e5c82['x']-_0x1e2403['x'],_0x49ad5a=this['_editItem'][_0x1a4e('0x3a9c')];this[_0x1a4e('0x3e5d')]['roll']=_0x49ad5a+_0x46fdc6;},_0x1e2403[_0x1a4e('0xa')]['movePosition']=function(_0x1e2403,_0x1e5c82){var _0x46fdc6=_0x1aab08[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x1e2403['x'],_0x1e2403['y'],this[_0x1a4e('0x38fa')]);if(_0x46fdc6){var _0x49ad5a=_0x1aab08['GeoPoint'][_0x1a4e('0x3982')](_0x1e5c82['x'],_0x1e5c82['y'],this[_0x1a4e('0x38fa')]);if(_0x49ad5a){var _0x16fba0=_0x49ad5a[_0x1a4e('0x1a1')]-_0x46fdc6[_0x1a4e('0x1a1')],_0x2da578=_0x49ad5a[_0x1a4e('0x1a2')]-_0x46fdc6['lat'];this[_0x1a4e('0x3e5d')][_0x1a4e('0x3efa')](_0x16fba0,_0x2da578);}}},_0x1e2403[_0x1a4e('0xa')][_0x1a4e('0x3f05')]=function(){return this['_viewer']['camera'][_0x1a4e('0x3e67')][_0x1a4e('0x152')]/1047.776588;},_0x1e2403[_0x1a4e('0xa')][_0x1a4e('0x3e68')]=function(_0x1e2403,_0x1e5c82){return void 0x0===_0x1e5c82&&(_0x1e5c82=0x3),_0x1e2403*(this[_0x1a4e('0x3f05')]()*_0x1e5c82);},_0x1e2403[_0x1a4e('0xa')]['moveHeight']=function(_0x1e2403,_0x1e5c82){var _0x46fdc6=this['_getLengthByMouse'](_0x1e5c82['y']-_0x1e2403['y']),_0x49ad5a=_0x1aab08[_0x1a4e('0x38da')]['fromScreen'](_0x1e2403['x'],_0x1e2403['y'],this['_viewer']);_0x49ad5a&&(new _0x1aab08[(_0x1a4e('0x38da'))](_0x49ad5a['lon'],_0x49ad5a[_0x1a4e('0x1a2')],-_0x46fdc6)&&this[_0x1a4e('0x3e5d')]['movePosition'](0x0,0x0,-_0x46fdc6));},_0x1e2403[_0x1a4e('0xa')][_0x1a4e('0x3efd')]=function(_0x1e2403,_0x1e5c82){var _0x46fdc6=_0x1e2403['x']-_0x1e5c82['x'],_0x49ad5a=void 0x0;this['_editItem'][_0x1a4e('0x143')]?_0x49ad5a=_0x1a4e('0x143'):this['_editItem'][_0x1a4e('0x3efe')]?_0x49ad5a=_0x1a4e('0x3efe'):this[_0x1a4e('0x3e5d')][_0x1a4e('0x220')]&&(_0x49ad5a=_0x1a4e('0x220'));var _0x1aab08=this[_0x1a4e('0x3e5d')][_0x49ad5a];if(0x0!=_0x46fdc6){var _0x16fba0=0x1;_0x1aab08=(_0x16fba0=_0x46fdc6>0x0?_0x1aab08/(0x1+_0x46fdc6/0x40):_0x1aab08*(0x1+-_0x46fdc6/0x40))<=0x0?1e-12:_0x16fba0;}this['_editItem'][_0x49ad5a]=_0x1aab08;},_0x1e2403;}();},'./src/Editor/EditorUtil/BaseControlPoint.ts':function(_0x4d6728,_0x2d5253,_0x4c04a6){'use strict';_0x4c04a6['r'](_0x2d5253),_0x4c04a6['d'](_0x2d5253,'BaseControlPoint',function(){return _0x30cc6c;});var _0x31f698=_0x4c04a6(_0x1a4e('0x38d0')),_0x30cc6c=function(){function _0x4d6728(_0x4d6728,_0x2d5253,_0x4c04a6,_0x30cc6c,_0x57c549){this['_viewer']=_0x4d6728,this[_0x1a4e('0x14e9')]=_0x2d5253,this['_position']=_0x31f698[_0x1a4e('0x38da')][_0x1a4e('0x240')](_0x4c04a6),this[_0x1a4e('0x528')]=_0x30cc6c,this['_text']=_0x57c549,this[_0x1a4e('0x3f06')]=!0x0,this[_0x1a4e('0x3f07')]=!0x1,this[_0x1a4e('0x1fd')](this[_0x1a4e('0x3b68')]);}return _0x4d6728['prototype']['init']=function(_0x4d6728){},_0x4d6728[_0x1a4e('0xa')][_0x1a4e('0x3f08')]=function(_0x4d6728){this[_0x1a4e('0x528')]=_0x4d6728;},_0x4d6728[_0x1a4e('0xa')]['setVisible']=function(_0x4d6728){},_0x4d6728[_0x1a4e('0xa')][_0x1a4e('0x3edd')]=function(){return this[_0x1a4e('0x3f06')];},_0x4d6728[_0x1a4e('0xa')][_0x1a4e('0x3edc')]=function(_0x4d6728){this[_0x1a4e('0x3f06')]=_0x4d6728;},_0x4d6728['prototype'][_0x1a4e('0x3f09')]=function(_0x4d6728){this['_isFormat']=_0x4d6728;},_0x4d6728[_0x1a4e('0xa')][_0x1a4e('0x3e02')]=function(_0x4d6728,_0x2d5253){},_0x4d6728[_0x1a4e('0xa')][_0x1a4e('0x3f0a')]=function(){return this[_0x1a4e('0x3b68')];},_0x4d6728['prototype'][_0x1a4e('0xb5')]=function(){},_0x4d6728;}();},'./src/Editor/EditorUtil/ControlPoint.ts':function(_0x4d1771,_0x17d367,_0x53de14){'use strict';_0x53de14['r'](_0x17d367),_0x53de14['d'](_0x17d367,_0x1a4e('0x3f0b'),function(){return _0x3f7b62;});var _0x38ba4b,_0x2a62a9=_0x53de14(_0x1a4e('0x38d0')),_0x180fc5=_0x53de14('./src/Editor/EditorUtil/BaseControlPoint.ts'),_0x37cd97=_0x53de14(_0x1a4e('0x396d')),_0x54ab24=_0x53de14('./src/LayerManager/GraphicLayer/GraphicItem/LabelGraphic.ts'),_0x236b66=_0x53de14(_0x1a4e('0x3f0c')),_0x557ba3=_0x53de14(_0x1a4e('0x3999')),_0x38fd57=(_0x38ba4b=function(_0x4d1771,_0x17d367){return(_0x38ba4b=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4d1771,_0x17d367){_0x4d1771[_0x1a4e('0x295')]=_0x17d367;}||function(_0x4d1771,_0x17d367){for(var _0x53de14 in _0x17d367)_0x17d367[_0x1a4e('0xb')](_0x53de14)&&(_0x4d1771[_0x53de14]=_0x17d367[_0x53de14]);})(_0x4d1771,_0x17d367);},function(_0x4d1771,_0x17d367){function _0x53de14(){this[_0x1a4e('0x10')]=_0x4d1771;}_0x38ba4b(_0x4d1771,_0x17d367),_0x4d1771[_0x1a4e('0xa')]=null===_0x17d367?Object[_0x1a4e('0x7')](_0x17d367):(_0x53de14['prototype']=_0x17d367['prototype'],new _0x53de14());}),_0x3f7b62=function(_0x4d1771){function _0x17d367(_0x17d367,_0x53de14,_0x38ba4b,_0x2a62a9,_0x180fc5){return _0x4d1771[_0x1a4e('0x1')](this,_0x17d367,_0x53de14,_0x38ba4b,_0x2a62a9,_0x180fc5)||this;}return _0x38fd57(_0x17d367,_0x4d1771),_0x17d367[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4d1771){this[_0x1a4e('0x3f0d')]=0x3,this[_0x1a4e('0x3f0e')]=[],_0x17d367[_0x1a4e('0x3f0f')]='#FFFF66',_0x17d367[_0x1a4e('0x3f10')]=_0x1a4e('0x3f11'),_0x17d367[_0x1a4e('0x3f12')]=_0x1a4e('0x3f13'),this[_0x1a4e('0x3f14')](_0x4d1771);var _0x53de14=new _0x37cd97[(_0x1a4e('0x3984'))]({'position':_0x4d1771,'name':_0x1a4e('0x3e62'),'color':_0x17d367[_0x1a4e('0x3f10')],'pixelSize':0xa,'outlineWidth':0x1,'outlineColor':'rgba(8,69,128,1)','isDepthTest':!0x1,'heightReference':_0x1a4e('0x60'),'extendInfo':{'type':_0x1a4e('0x3b1'),'index':this[_0x1a4e('0x528')],'parent':this}});_0x53de14[_0x1a4e('0x3e06')]=!0x1,this[_0x1a4e('0x14e9')]['add'](_0x53de14),this[_0x1a4e('0x3f0e')][_0x1a4e('0x46')](_0x53de14);var _0x38ba4b=new _0x54ab24[(_0x1a4e('0x397c'))]({'position':_0x4d1771,'name':_0x1a4e('0x3f15'),'text':null!=this[_0x1a4e('0x3f16')]?this[_0x1a4e('0x3f16')]:this[_0x1a4e('0x3f17')],'font':_0x1a4e('0x3f18'),'horizontalOrigin':_0x1a4e('0x5f'),'verticalOrigin':_0x1a4e('0x5e'),'pixelOffset':[0xc,0x6],'fillColor':_0x1a4e('0x3f19'),'showBackground':!0x0,'backgroundColor':_0x1a4e('0x3f1a'),'translucencyByDistance':[0xc350,0x1,0xf4240,0.6],'extendInfo':{'type':_0x1a4e('0x3b1'),'index':this[_0x1a4e('0x528')],'parent':this},'isDepthTest':!0x1,'heightReference':_0x1a4e('0x60'),'scale':0x1});_0x38ba4b[_0x1a4e('0x3e06')]=!0x0,this[_0x1a4e('0x14e9')][_0x1a4e('0x177')](_0x38ba4b),this[_0x1a4e('0x3f0e')][_0x1a4e('0x46')](_0x38ba4b);var _0x2a62a9=new _0x236b66[(_0x1a4e('0x3e2a'))]({'position':_0x4d1771,'name':_0x1a4e('0x3e71'),'image':_0x557ba3[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x3f1b')),'visible':!0x1,'width':0x30,'height':0x30,'scale':0.5,'pixelOffset':[0x0,-0xf],'color':_0x17d367['normalColor'],'disableDepthTestDistance':Number[_0x1a4e('0x4d5')],'extendInfo':{'type':'edit','index':this[_0x1a4e('0x528')],'parent':this}});_0x2a62a9[_0x1a4e('0x3e06')]=!0x0,this[_0x1a4e('0x14e9')][_0x1a4e('0x177')](_0x2a62a9),this[_0x1a4e('0x3f0e')]['push'](_0x2a62a9);},_0x17d367['prototype'][_0x1a4e('0x3f14')]=function(_0x4d1771){if(this[_0x1a4e('0x3f07')])this['_labelText']=this[_0x1a4e('0x3f1c')](_0x4d1771);else{var _0x17d367=Math[_0x1a4e('0x65')](_0x4d1771[_0x1a4e('0x1a1')]),_0x53de14=Math['abs'](_0x4d1771[_0x1a4e('0x1a2')]);this[_0x1a4e('0x3f17')]=(_0x4d1771[_0x1a4e('0x1a1')]>=0x0?'E':'W')+_0x17d367[_0x1a4e('0x3e0d')](_0x557ba3['Util'][_0x1a4e('0x3e0e')](_0x17d367,this[_0x1a4e('0x3f0d')]))+'°'+(_0x4d1771[_0x1a4e('0x1a2')]>=0x0?'N':'S')+_0x53de14['toPrecision'](_0x557ba3[_0x1a4e('0x39a0')][_0x1a4e('0x3e0e')](_0x53de14,this[_0x1a4e('0x3f0d')]))+'°'+(0x3===this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0xa69')]?_0x4d1771[_0x1a4e('0x398c')][_0x1a4e('0x3e0d')](_0x557ba3[_0x1a4e('0x39a0')]['getPrecision'](_0x4d1771[_0x1a4e('0x398c')],0x1))+'m':'');}},_0x17d367[_0x1a4e('0xa')][_0x1a4e('0x3f1c')]=function(_0x4d1771){var _0x17d367,_0x53de14=_0x4d1771[_0x1a4e('0x1a1')];_0x53de14>=0x0?_0x17d367='E':(_0x17d367='W',_0x53de14=-_0x53de14);var _0x38ba4b,_0x2a62a9=Math['floor'](_0x53de14),_0x180fc5=0x3c*(_0x53de14-_0x2a62a9),_0x37cd97=Math[_0x1a4e('0xb4')](_0x180fc5),_0x54ab24=Math[_0x1a4e('0xb4')](0x3c*(_0x180fc5-_0x37cd97));_0x17d367=_0x17d367+_0x2a62a9[_0x1a4e('0x95')]()+'°'+_0x37cd97[_0x1a4e('0x95')]()+'′'+_0x54ab24[_0x1a4e('0x95')]()+'″';var _0x236b66=_0x4d1771[_0x1a4e('0x1a2')];_0x236b66>0x0?_0x38ba4b='N':(_0x38ba4b='S',_0x236b66=-_0x236b66);var _0x38fd57=Math[_0x1a4e('0xb4')](_0x236b66);_0x180fc5=0x3c*(_0x236b66-_0x38fd57);var _0x3f7b62=Math[_0x1a4e('0xb4')](_0x180fc5),_0x214a67=Math[_0x1a4e('0xb4')](0x3c*(_0x180fc5-_0x3f7b62));return _0x17d367+(_0x38ba4b=_0x38ba4b+_0x38fd57[_0x1a4e('0x95')]()+'°'+_0x3f7b62[_0x1a4e('0x95')]()+'′'+_0x214a67['toString']()+'″')+(0x3===this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['mode']?_0x4d1771['alt'][_0x1a4e('0x3e0d')](_0x557ba3[_0x1a4e('0x39a0')][_0x1a4e('0x3e0e')](_0x4d1771[_0x1a4e('0x398c')],0x1))+'m':'');},_0x17d367[_0x1a4e('0xa')][_0x1a4e('0x3f08')]=function(_0x4d1771){var _0x17d367=this;this['_index']=_0x4d1771,this['_graphics']['forEach'](function(_0x4d1771){_0x4d1771[_0x1a4e('0x3e66')][_0x1a4e('0xbd')]=_0x17d367[_0x1a4e('0x528')];});},_0x17d367['prototype']['setVisible']=function(_0x4d1771){var _0x17d367=this;this['_graphics'][_0x1a4e('0x3b')](function(_0x53de14){_0x53de14 instanceof _0x54ab24[_0x1a4e('0x397c')]?_0x53de14['visible']=_0x17d367[_0x1a4e('0x3f06')]&&_0x4d1771:_0x53de14[_0x1a4e('0x3b2c')]=_0x4d1771;});},_0x17d367[_0x1a4e('0xa')][_0x1a4e('0x3edc')]=function(_0x17d367){_0x4d1771[_0x1a4e('0xa')]['setLabelVisible']['call'](this,_0x17d367),this[_0x1a4e('0x3f0e')][_0x1a4e('0x3b')](function(_0x4d1771){_0x4d1771 instanceof _0x54ab24[_0x1a4e('0x397c')]&&(_0x4d1771[_0x1a4e('0x3b2c')]=_0x17d367);});},_0x17d367[_0x1a4e('0xa')][_0x1a4e('0x3f09')]=function(_0x17d367){var _0x53de14=this;_0x4d1771[_0x1a4e('0xa')]['setLabelFormat'][_0x1a4e('0x1')](this,_0x17d367),null==this[_0x1a4e('0x3f16')]&&(this[_0x1a4e('0x3f14')](this[_0x1a4e('0x3b68')]),this['_graphics'][_0x1a4e('0x3b')](function(_0x4d1771){_0x4d1771 instanceof _0x54ab24[_0x1a4e('0x397c')]&&(_0x4d1771['text']=null!=_0x53de14[_0x1a4e('0x3f16')]?_0x53de14[_0x1a4e('0x3f16')]:_0x53de14[_0x1a4e('0x3f17')]);}));},_0x17d367['prototype']['setPosition']=function(_0x4d1771,_0x17d367){var _0x53de14=this;_0x2a62a9[_0x1a4e('0x38da')][_0x1a4e('0x240')](_0x4d1771,this['_position']),null!=_0x17d367?this[_0x1a4e('0x3f16')]=_0x17d367:this['buildPositionText'](_0x4d1771),this['_graphics']['forEach'](function(_0x4d1771){_0x4d1771 instanceof _0x54ab24['LabelGraphic']&&(_0x4d1771[_0x1a4e('0xe04')]=null!=_0x53de14['_text']?_0x53de14[_0x1a4e('0x3f16')]:_0x53de14[_0x1a4e('0x3f17')]),_0x4d1771[_0x1a4e('0x3553')]=_0x53de14[_0x1a4e('0x3b68')];});},_0x17d367[_0x1a4e('0x3e63')]=function(_0x4d1771,_0x53de14){_0x53de14?_0x4d1771[_0x1a4e('0x134')]=_0x17d367[_0x1a4e('0x3f0f')]:_0x1a4e('0x3edb')===_0x4d1771['name']?_0x4d1771['color']=_0x17d367[_0x1a4e('0x3f12')]:_0x4d1771['color']=_0x17d367[_0x1a4e('0x3f10')];},_0x17d367[_0x1a4e('0xa')]['setHeightEditVisible']=function(_0x4d1771){this[_0x1a4e('0x3f0e')][_0x1a4e('0x3b')](function(_0x17d367){_0x17d367 instanceof _0x236b66[_0x1a4e('0x3e2a')]&&_0x1a4e('0x3e71')===_0x17d367[_0x1a4e('0x2cb')]&&(_0x17d367[_0x1a4e('0x3b2c')]=_0x4d1771);});},_0x17d367['prototype'][_0x1a4e('0x3e73')]=function(_0x4d1771){this['_graphics']['forEach'](function(_0x17d367){_0x17d367 instanceof _0x236b66[_0x1a4e('0x3e2a')]&&_0x1a4e('0x3edb')===_0x17d367[_0x1a4e('0x2cb')]&&(_0x17d367[_0x1a4e('0x3b2c')]=_0x4d1771);});},_0x17d367[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){var _0x4d1771=this;this[_0x1a4e('0x3f0e')]['forEach'](function(_0x17d367){_0x4d1771[_0x1a4e('0x14e9')][_0x1a4e('0x82')](_0x17d367);}),this[_0x1a4e('0x3f0e')]=[];},_0x17d367;}(_0x180fc5[_0x1a4e('0x3f1d')]);},'./src/Editor/EditorUtil/ControlPointSet.ts':function(_0x20923d,_0x5b53b7,_0x124239){'use strict';_0x124239['r'](_0x5b53b7),_0x124239['d'](_0x5b53b7,_0x1a4e('0x3e18'),function(){return _0x4040c1;});var _0x39f336=_0x124239(_0x1a4e('0x38d0')),_0x20f504=_0x124239(_0x1a4e('0x3f1e')),_0xc7f0f1=_0x124239(_0x1a4e('0x3f1f')),_0x4040c1=function(){function _0x20923d(_0x20923d,_0x5b53b7){this['_viewer']=_0x20923d,this[_0x1a4e('0x3e4c')]=_0x5b53b7,this[_0x1a4e('0x3f20')]=[],this[_0x1a4e('0x14e9')]=new _0x20f504[(_0x1a4e('0x3f21'))](),this[_0x1a4e('0x3e4c')][_0x1a4e('0x3974')]()[_0x1a4e('0x177')](this[_0x1a4e('0x14e9')]),this[_0x1a4e('0x3f22')]=_0xc7f0f1[_0x1a4e('0x3f0b')],this[_0x1a4e('0x3f23')]=0x0,this[_0x1a4e('0x3f24')]=!0x0,this['_labelFormat']=!0x1;}return _0x20923d[_0x1a4e('0xa')][_0x1a4e('0x3f25')]=function(_0x20923d){this[_0x1a4e('0x3f22')]=_0x20923d;},_0x20923d[_0x1a4e('0xa')]['add']=function(_0x20923d,_0x5b53b7){var _0x124239=new this[(_0x1a4e('0x3f22'))](this[_0x1a4e('0x38fa')],this[_0x1a4e('0x14e9')],_0x20923d,this['_pointList']['length'],_0x5b53b7);_0x124239[_0x1a4e('0x3edc')](this['_labelVisible']),_0x124239['setLabelFormat'](this['_labelFormat']),this[_0x1a4e('0x3f20')][_0x1a4e('0x46')](_0x124239);},_0x20923d['prototype']['setPosition']=function(_0x20923d,_0x5b53b7){0x0===this[_0x1a4e('0x3f20')][_0x1a4e('0x1e')]?this['add'](_0x20923d,_0x5b53b7):this[_0x1a4e('0x3f20')][this[_0x1a4e('0x3f20')]['length']-0x1][_0x1a4e('0x3e02')](_0x20923d,_0x5b53b7);},_0x20923d['prototype']['updatePosition']=function(_0x20923d,_0x5b53b7,_0x124239){_0x5b53b7<0x0||_0x5b53b7>=this[_0x1a4e('0x3f20')]['length']||this[_0x1a4e('0x3f20')][_0x5b53b7][_0x1a4e('0x3e02')](_0x20923d,_0x124239);},_0x20923d[_0x1a4e('0xa')][_0x1a4e('0x3f26')]=function(){return this[_0x1a4e('0x3f20')];},_0x20923d['prototype'][_0x1a4e('0x3edf')]=function(){return this[_0x1a4e('0x3f23')];},_0x20923d['prototype'][_0x1a4e('0x3e63')]=function(_0x20923d,_0x5b53b7){_0xc7f0f1['ControlPoint'][_0x1a4e('0x3e63')](_0x20923d,_0x5b53b7);},_0x20923d['prototype']['setHeightEditVisible']=function(_0x20923d,_0x5b53b7){if(void 0x0===_0x5b53b7&&(_0x5b53b7=-0x1),!(_0x5b53b7>=this[_0x1a4e('0x3f20')]['length']))if(_0x5b53b7<0x0)for(var _0x124239=0x0;_0x124239=this['_pointList'][_0x1a4e('0x1e')]))if(_0x5b53b7<0x0)for(var _0x124239=0x0;_0x1242390x0)&&!(_0x775dce=_0x5cc0a7[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x1d987f[_0x1a4e('0x46')](_0x775dce[_0x1a4e('0x255')]);}catch(_0x39d371){_0x303c9a={'error':_0x39d371};}finally{try{_0x775dce&&!_0x775dce[_0x1a4e('0x3c2')]&&(_0x4af757=_0x5cc0a7[_0x1a4e('0xe40')])&&_0x4af757[_0x1a4e('0x1')](_0x5cc0a7);}finally{if(_0x303c9a)throw _0x303c9a['error'];}}return _0x1d987f;},_0x3cd1c7=function(){for(var _0x55de5c=[],_0x21c2f0=0x0;_0x21c2f0=_0x55de5c[_0x1a4e('0x1e')]&&(_0x55de5c=void 0x0),{'value':_0x55de5c&&_0x55de5c[_0x4af757++],'done':!_0x55de5c};}};},_0x22cef5=function(_0x55de5c){function _0x21c2f0(_0x21c2f0){var _0x4af757=_0x55de5c['call'](this)||this;return _0x4af757['_itemCollection']=[],_0x4af757[_0x1a4e('0x515')]=_0x1d987f[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),_0x4af757[_0x1a4e('0x38fa')]=_0x21c2f0,_0x4af757;}return _0x1d196d(_0x21c2f0,_0x55de5c),_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x21c2f0['type'];},Object['defineProperty'](_0x21c2f0,_0x1a4e('0x40'),{'get':function(){return'ActionGroup';},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x21c2f0[_0x1a4e('0xa')],_0x1a4e('0x1e'),{'get':function(){return this['_itemCollection']['length'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x21c2f0[_0x1a4e('0xa')],_0x1a4e('0x4054'),{'get':function(){return this[_0x1a4e('0x4055')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x21c2f0[_0x1a4e('0xa')],'actionCollection',{'get':function(){return this[_0x1a4e('0x4056')];},'enumerable':!0x0,'configurable':!0x0}),_0x21c2f0[_0x1a4e('0xa')]['setBaseTime']=function(_0x55de5c){this[_0x1a4e('0x4057')]=_0x55de5c;},_0x21c2f0[_0x1a4e('0xa')]['addAction']=function(_0x55de5c){_0x55de5c[_0x1a4e('0x4058')]=this[_0x1a4e('0x4059')](_0x55de5c[_0x1a4e('0x405a')]),_0x55de5c['endTime']=this[_0x1a4e('0x405b')](_0x55de5c[_0x1a4e('0x405c')]),_0x55de5c['actionGroup']=this,_0x55de5c['viewer']=this[_0x1a4e('0x38fa')],this[_0x1a4e('0x4056')][_0x1a4e('0x46')](_0x55de5c);},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x405d')]=function(_0x55de5c){if(_0x55de5c&&_0x55de5c['id'])for(var _0x21c2f0=this[_0x1a4e('0x4056')],_0x4af757=0x0;_0x4af757<_0x21c2f0['length'];_0x4af757++){var _0x775dce=_0x21c2f0[_0x4af757];if(_0x55de5c['id']===_0x775dce['id']){_0x55de5c[_0x1a4e('0x405e')]=null,_0x21c2f0[_0x1a4e('0x8a')](_0x4af757,0x1),this['calcTimeBound']();break;}}},_0x21c2f0['prototype'][_0x1a4e('0x405f')]=function(_0x55de5c){if(_0x55de5c&&_0x55de5c['id'])for(var _0x21c2f0=this[_0x1a4e('0x4056')],_0x4af757=0x0;_0x4af757<_0x21c2f0[_0x1a4e('0x1e')];_0x4af757++){var _0x775dce=_0x21c2f0[_0x4af757];if(_0x55de5c['id']===_0x775dce['id']){_0x55de5c[_0x1a4e('0x405e')]=null,_0x21c2f0['splice'](_0x4af757,0x1),_0x775dce instanceof _0x914383[_0x1a4e('0x4019')]&&_0x775dce[_0x1a4e('0x4060')](this[_0x1a4e('0x38fa')]),this['calcTimeBound']();break;}}},_0x21c2f0['prototype'][_0x1a4e('0x4061')]=function(_0x55de5c){if(_0x55de5c){for(var _0x21c2f0=this[_0x1a4e('0x4056')],_0x4af757=0x0;_0x4af757<_0x21c2f0[_0x1a4e('0x1e')];_0x4af757++){var _0x775dce=_0x21c2f0[_0x4af757];if(_0x55de5c===_0x775dce['id']){_0x775dce[_0x1a4e('0x405e')]=null,_0x21c2f0['splice'](_0x4af757,0x1),_0x775dce instanceof _0x914383['PathAction']&&_0x775dce[_0x1a4e('0x4060')](this[_0x1a4e('0x38fa')]);break;}}this['calcTimeBound']();}},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4062')]=function(_0x55de5c){if(!_0x55de5c)return null;for(var _0x21c2f0=this['_itemCollection'],_0x4af757=0x0;_0x4af757<_0x21c2f0['length'];_0x4af757++){var _0x775dce=_0x21c2f0[_0x4af757];if(_0x55de5c===_0x775dce['id'])return _0x775dce;}return null;},_0x21c2f0[_0x1a4e('0xa')]['isContainActionId']=function(_0x55de5c){return!!this['_itemCollection']['find'](function(_0x21c2f0){return _0x21c2f0['id']===_0x55de5c;});},_0x21c2f0[_0x1a4e('0xa')]['clear']=function(){var _0x55de5c=this;this[_0x1a4e('0x4056')][_0x1a4e('0x3b')](function(_0x21c2f0){_0x21c2f0['actionGroup']=null,_0x21c2f0 instanceof _0x914383[_0x1a4e('0x4019')]&&_0x21c2f0['removePathGraphic'](_0x55de5c[_0x1a4e('0x38fa')]);}),this[_0x1a4e('0x4056')]=[],this[_0x1a4e('0x4063')]=null,this['_endTime']=null;},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4064')]=function(_0x55de5c){if(_0x55de5c&&_0x55de5c['id'])for(var _0x21c2f0=this['_itemCollection'],_0x4af757=0x0;_0x4af757<_0x21c2f0['length'];_0x4af757++){var _0x775dce=_0x21c2f0[_0x4af757];if(_0x55de5c['id']===_0x775dce['id']){if(0x0!==_0x4af757){var _0x303c9a=_0x21c2f0[_0x4af757-0x1];_0x21c2f0[_0x4af757-0x1]=_0x775dce,_0x21c2f0[_0x4af757]=_0x303c9a;}break;}}},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4065')]=function(_0x55de5c){if(_0x55de5c&&_0x55de5c['id'])for(var _0x21c2f0=this[_0x1a4e('0x4056')],_0x4af757=0x0;_0x4af757<_0x21c2f0[_0x1a4e('0x1e')];_0x4af757++){var _0x775dce=_0x21c2f0[_0x4af757];if(_0x55de5c['id']===_0x775dce['id']){if(_0x4af757!==_0x21c2f0[_0x1a4e('0x1e')]-0x1){var _0x303c9a=_0x21c2f0[_0x4af757+0x1];_0x21c2f0[_0x4af757+0x1]=_0x775dce,_0x21c2f0[_0x4af757]=_0x303c9a;}break;}}},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4066')]=function(){var _0x55de5c=this['_itemCollection'],_0x21c2f0=null,_0x4af757=null;_0x55de5c[_0x1a4e('0x3b')](function(_0x55de5c){_0x21c2f0?Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x55de5c[_0x1a4e('0x4058')],_0x21c2f0)<0x0&&(_0x21c2f0=_0x55de5c[_0x1a4e('0x4058')]):_0x21c2f0=_0x55de5c[_0x1a4e('0x4058')],_0x4af757?Cesium['JulianDate'][_0x1a4e('0x77')](_0x55de5c['endTime'],_0x4af757)>0x0&&(_0x4af757=_0x55de5c['endTime']):_0x4af757=_0x55de5c[_0x1a4e('0x4067')];}),this['_startTime']=_0x21c2f0,this[_0x1a4e('0x4068')]=_0x4af757;},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4055')]=function(_0x55de5c){var _0x21c2f0=this[_0x1a4e('0x4056')],_0x4af757=0x0,_0x775dce=0x0,_0x303c9a=[],_0x5cc0a7=[];return _0x21c2f0[_0x1a4e('0x3b')](function(_0x21c2f0){_0x55de5c&&_0x21c2f0['id']===_0x55de5c['id']||(_0x303c9a[_0x1a4e('0x46')](_0x21c2f0['rStartTime']),_0x5cc0a7[_0x1a4e('0x46')](_0x21c2f0[_0x1a4e('0x405c')]));}),_0x303c9a[_0x1a4e('0x1e')]&&(_0x4af757=Math[_0x1a4e('0x74')][_0x1a4e('0x8b')](Math,_0x3cd1c7(_0x303c9a)),_0x775dce=Math[_0x1a4e('0x6c')][_0x1a4e('0x8b')](Math,_0x3cd1c7(_0x5cc0a7))),[_0x4af757,_0x775dce];},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4059')]=function(_0x55de5c){return this[_0x1a4e('0x4069')](null,_0x55de5c);},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x405b')]=function(_0x55de5c){return this[_0x1a4e('0x406a')](null,_0x55de5c);},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x406a')]=function(_0x55de5c,_0x21c2f0){var _0x4af757=this['calcRTimeBound'](_0x55de5c)[0x1];return this[_0x1a4e('0x4068')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](this[_0x1a4e('0x4057')],Math[_0x1a4e('0x6c')](_0x21c2f0,_0x4af757),new Cesium[(_0x1a4e('0x39a9'))]()),Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](this[_0x1a4e('0x4057')],_0x21c2f0,new Cesium[(_0x1a4e('0x39a9'))]());},_0x21c2f0[_0x1a4e('0xa')]['reCalcStartTimeByRST']=function(_0x55de5c,_0x21c2f0){var _0x4af757=this[_0x1a4e('0x4055')](_0x55de5c)[0x0],_0x775dce=Math[_0x1a4e('0x74')](_0x21c2f0,_0x4af757);return this[_0x1a4e('0x4063')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](this['_baseTime'],_0x775dce>0x0?_0x775dce:0x0,new Cesium['JulianDate']()),Cesium['JulianDate']['addSeconds'](this[_0x1a4e('0x4057')],_0x21c2f0,new Cesium[(_0x1a4e('0x39a9'))]());},_0x21c2f0[_0x1a4e('0xa')]['recordInitState']=function(_0x55de5c){_0x55de5c||this['_itemCollection'][_0x1a4e('0x3b')](function(_0x55de5c){_0x55de5c['recordInitState']();});},_0x21c2f0[_0x1a4e('0xa')]['pauseInExecute']=function(){this[_0x1a4e('0x4056')][_0x1a4e('0x3b')](function(_0x55de5c){_0x55de5c[_0x1a4e('0x406c')]();});},_0x21c2f0['prototype'][_0x1a4e('0x406d')]=function(){this[_0x1a4e('0x4056')][_0x1a4e('0x3b')](function(_0x55de5c){_0x55de5c[_0x1a4e('0x406e')]();});},_0x21c2f0[_0x1a4e('0xa')]['stopInExecute']=function(){this[_0x1a4e('0x4056')]['forEach'](function(_0x55de5c){_0x55de5c[_0x1a4e('0x406f')]();});},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4070')]=function(){this[_0x1a4e('0x4056')]['forEach'](function(_0x55de5c){_0x55de5c['recoverInitState']();});},_0x21c2f0['prototype'][_0x1a4e('0x3dd0')]=function(_0x55de5c,_0x21c2f0){var _0x4af757=this;this[_0x1a4e('0x4056')][_0x1a4e('0x3b')](function(_0x775dce){_0x775dce[_0x1a4e('0x4071')](_0x55de5c,_0x4af757['_baseTime'],_0x21c2f0);});},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x55de5c=[];return this[_0x1a4e('0x4056')]['forEach'](function(_0x21c2f0){var _0x4af757=_0x21c2f0['toJson'](),_0x775dce=_0x21c2f0[_0x1a4e('0x4072')];_0x775dce&&(delete _0x4af757['option']['graphic'],_0x4af757[_0x1a4e('0x4073')]=_0x775dce['id']);_0x55de5c[_0x1a4e('0x46')](_0x4af757);}),{'actions':_0x55de5c};},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x3acc')]=function(_0x55de5c){var _0x21c2f0=this,_0x4af757=Cesium[_0x1a4e('0x240')](_0x55de5c,!0x0),_0x775dce=this[_0x1a4e('0x38fa')][_0x1a4e('0x3973')]['getRoot']();return _0x4af757['actions'][_0x1a4e('0x3b')](function(_0x55de5c){if(_0x55de5c[_0x1a4e('0x4073')]&&(_0x55de5c[_0x1a4e('0x3b35')]['graphic']=_0x21c2f0[_0x1a4e('0x4074')](_0x775dce,_0x55de5c[_0x1a4e('0x4073')])),_0x1a4e('0x4019')===_0x55de5c['type']){var _0x4af757=new(window['GET_NS3D']()[_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),_0x55de5c[_0x1a4e('0x3b35')]['path']['type']))(_0x55de5c['option'][_0x1a4e('0x64')]);_0x21c2f0[_0x1a4e('0x4075')]()[_0x1a4e('0x177')](_0x4af757),_0x55de5c['option'][_0x1a4e('0x64')]=_0x4af757;}var _0x303c9a=new(window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x3adf')](_0x1a4e('0x3ae4'),_0x55de5c[_0x1a4e('0x40')]))(_0x55de5c[_0x1a4e('0x3b35')]);_0x303c9a[_0x1a4e('0x2cb')]=_0x55de5c[_0x1a4e('0x2cb')],_0x303c9a['properties']=_0x55de5c[_0x1a4e('0x13')],_0x21c2f0[_0x1a4e('0x4076')](_0x303c9a);}),this['_itemCollection'];},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4075')]=function(){return _0x914383[_0x1a4e('0x4019')][_0x1a4e('0x4077')](this[_0x1a4e('0x38fa')]);},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4078')]=function(){var _0x55de5c=this,_0x21c2f0=this['_viewer'][_0x1a4e('0x3973')][_0x1a4e('0x4d4')]();return this[_0x1a4e('0x4056')]['findIndex'](function(_0x4af757){return!!_0x4af757[_0x1a4e('0x4072')]&&_0x55de5c['_getGraphicById'](_0x21c2f0,_0x4af757[_0x1a4e('0x4072')]['id'])!==_0x4af757[_0x1a4e('0x4072')];});},_0x21c2f0[_0x1a4e('0xa')]['reBindGraphicById']=function(){var _0x55de5c=this,_0x21c2f0=this['_viewer']['graphicLayer'][_0x1a4e('0x4d4')]();this['_itemCollection']['forEach'](function(_0x4af757){if(_0x4af757[_0x1a4e('0x4072')]){var _0x775dce=_0x4af757['graphic']['id'];_0x4af757[_0x1a4e('0x4072')]=_0x55de5c[_0x1a4e('0x4074')](_0x21c2f0,_0x775dce);}});},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x4079')]=function(_0x55de5c){_0x55de5c['startTime']=this[_0x1a4e('0x4057')],_0x55de5c[_0x1a4e('0x407a')]=this[_0x1a4e('0x4068')],_0x55de5c['currentTime']=this[_0x1a4e('0x4057')],this[_0x1a4e('0x4056')][_0x1a4e('0x3b')](function(_0x55de5c){_0x55de5c[_0x1a4e('0x37a')]=!0x1,_0x55de5c['isFirstDone']=!0x1,_0x1a4e('0x4019')===_0x55de5c['getType']()&&_0x55de5c[_0x1a4e('0x407b')]();});},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x407c')]=function(_0x55de5c){return _0x55de5c?_0x55de5c[_0x1a4e('0x91d')]()+'/'+(_0x55de5c['getMonth']()+0x1)+'/'+_0x55de5c[_0x1a4e('0x3746')]()+'\x20'+_0x55de5c[_0x1a4e('0xf07')]()+':'+_0x55de5c[_0x1a4e('0xf08')]()+':'+_0x55de5c[_0x1a4e('0xf09')]():null;},_0x21c2f0[_0x1a4e('0xa')]['_getGraphics']=function(){return this[_0x1a4e('0x38fa')]['graphicLayer'][_0x1a4e('0x4d4')]()['children'];},_0x21c2f0[_0x1a4e('0xa')]['_getRelativeGraphics']=function(){var _0x55de5c=[],_0x21c2f0=new Map();return this[_0x1a4e('0x4056')][_0x1a4e('0x3b')](function(_0x55de5c){var _0x4af757=_0x55de5c[_0x1a4e('0x4072')];_0x4af757&&_0x21c2f0[_0x1a4e('0x17a')](_0x4af757['id'],_0x4af757);}),_0x21c2f0[_0x1a4e('0x3b')](function(_0x21c2f0,_0x4af757){_0x55de5c[_0x1a4e('0x46')](_0x21c2f0);}),_0x55de5c;},_0x21c2f0[_0x1a4e('0xa')]['_getGraphicById']=function(_0x55de5c,_0x21c2f0){var _0x4af757,_0x775dce,_0x303c9a,_0x5cc0a7,_0x1d987f=_0x55de5c[_0x1a4e('0x6f')],_0x914383=[];try{for(var _0x1d196d=_0x9af806(_0x1d987f),_0xc627b4=_0x1d196d[_0x1a4e('0x7e')]();!_0xc627b4['done'];_0xc627b4=_0x1d196d[_0x1a4e('0x7e')]()){if((_0x39c77d=_0xc627b4['value'])instanceof _0x2bf098[_0x1a4e('0x3f21')])_0x914383[_0x1a4e('0x46')](_0x39c77d);else if(_0x39c77d['id']===_0x21c2f0)return _0x39c77d;}}catch(_0x5c1531){_0x4af757={'error':_0x5c1531};}finally{try{_0xc627b4&&!_0xc627b4['done']&&(_0x775dce=_0x1d196d[_0x1a4e('0xe40')])&&_0x775dce[_0x1a4e('0x1')](_0x1d196d);}finally{if(_0x4af757)throw _0x4af757[_0x1a4e('0x873')];}}try{for(var _0x3cd1c7=_0x9af806(_0x914383),_0x22cef5=_0x3cd1c7['next']();!_0x22cef5[_0x1a4e('0x3c2')];_0x22cef5=_0x3cd1c7[_0x1a4e('0x7e')]()){var _0x39c77d,_0x32feec=_0x22cef5[_0x1a4e('0x255')];if(_0x39c77d=this[_0x1a4e('0x4074')](_0x32feec,_0x21c2f0))return _0x39c77d;}}catch(_0x23e9e1){_0x303c9a={'error':_0x23e9e1};}finally{try{_0x22cef5&&!_0x22cef5['done']&&(_0x5cc0a7=_0x3cd1c7[_0x1a4e('0xe40')])&&_0x5cc0a7[_0x1a4e('0x1')](_0x3cd1c7);}finally{if(_0x303c9a)throw _0x303c9a['error'];}}return null;},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x407d')]=function(_0x55de5c,_0x21c2f0,_0x4af757){_0x4af757?_0x4af757+=',':_0x4af757='';for(var _0x775dce=0x0;_0x775dce<_0x55de5c['length'];_0x775dce++){var _0x303c9a=_0x55de5c[_0x775dce];if(_0x303c9a[_0x1a4e('0x6f')]){var _0x5cc0a7=this['_getGraphicIndex'](_0x303c9a['children'],_0x21c2f0,''+_0x4af757+_0x775dce);if(_0x5cc0a7)return _0x5cc0a7;}else if(_0x303c9a['id']===_0x21c2f0['id'])return''+_0x4af757+_0x775dce;}},_0x21c2f0[_0x1a4e('0xa')][_0x1a4e('0x407e')]=function(_0x55de5c,_0x21c2f0){var _0x4af757,_0x775dce=_0x21c2f0['split'](',');return 0x1===_0x775dce[_0x1a4e('0x1e')]?_0x55de5c[parseInt(_0x775dce[0x0])]:(_0x775dce[_0x1a4e('0x3b')](function(_0x21c2f0,_0x303c9a){var _0x5cc0a7=parseInt(_0x21c2f0);_0x4af757=_0x303c9a!==_0x775dce[_0x1a4e('0x1e')]-0x1?_0x55de5c[_0x5cc0a7]:_0x4af757[_0x1a4e('0x6f')][_0x5cc0a7];}),_0x4af757);},_0x21c2f0;}(_0x5cc0a7['Item']);!function(_0x55de5c){_0x55de5c[_0x1a4e('0x407f')]=_0x1a4e('0x4080'),_0x55de5c[_0x1a4e('0x3498')]=_0x1a4e('0xc9'),_0x55de5c[_0x1a4e('0x4081')]=_0x1a4e('0x139d'),_0x55de5c['Stop']='stop',_0x55de5c[_0x1a4e('0x4082')]='restart';}(_0x303c9a||(_0x303c9a={}));},'./src/LayerManager/ActionLayer/ActionItem/ActionItem.ts':function(_0x5ae816,_0x2be3cb,_0x2f899d){'use strict';_0x2f899d['r'](_0x2be3cb),_0x2f899d['d'](_0x2be3cb,_0x1a4e('0x3ae4'),function(){return _0x76a9e2;});var _0x5dbe29,_0x4ff8b4=_0x2f899d(_0x1a4e('0x4053')),_0x407403=_0x2f899d(_0x1a4e('0x3999')),_0x26b03b=(_0x5dbe29=function(_0x5ae816,_0x2be3cb){return(_0x5dbe29=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5ae816,_0x2be3cb){_0x5ae816[_0x1a4e('0x295')]=_0x2be3cb;}||function(_0x5ae816,_0x2be3cb){for(var _0x2f899d in _0x2be3cb)_0x2be3cb[_0x1a4e('0xb')](_0x2f899d)&&(_0x5ae816[_0x2f899d]=_0x2be3cb[_0x2f899d]);})(_0x5ae816,_0x2be3cb);},function(_0x5ae816,_0x2be3cb){function _0x2f899d(){this['constructor']=_0x5ae816;}_0x5dbe29(_0x5ae816,_0x2be3cb),_0x5ae816[_0x1a4e('0xa')]=null===_0x2be3cb?Object[_0x1a4e('0x7')](_0x2be3cb):(_0x2f899d[_0x1a4e('0xa')]=_0x2be3cb[_0x1a4e('0xa')],new _0x2f899d());}),_0x76a9e2=function(_0x5ae816){function _0x2be3cb(){var _0x2be3cb=_0x5ae816[_0x1a4e('0x1')](this)||this;return _0x2be3cb[_0x1a4e('0x732')]=!0x1,_0x2be3cb[_0x1a4e('0x4083')]=!0x1,_0x2be3cb[_0x1a4e('0x4084')]=null,_0x2be3cb[_0x1a4e('0x4085')]=null,_0x2be3cb['_viewer']=null,_0x2be3cb[_0x1a4e('0x376c')]={},_0x2be3cb[_0x1a4e('0x515')]=_0x407403['Util'][_0x1a4e('0x404b')](),_0x2be3cb;}return _0x26b03b(_0x2be3cb,_0x5ae816),_0x2be3cb[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x2be3cb['type'];},Object[_0x1a4e('0x2')](_0x2be3cb,_0x1a4e('0x40'),{'get':function(){return'ActionItem';},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2be3cb[_0x1a4e('0xa')],_0x1a4e('0x38d5'),{'set':function(_0x5ae816){this[_0x1a4e('0x38fa')]=_0x5ae816;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2be3cb[_0x1a4e('0xa')],_0x1a4e('0x405a'),{'get':function(){return this['_rStartTime'];},'set':function(_0x5ae816){this[_0x1a4e('0x4086')]=_0x5ae816,this[_0x1a4e('0x4085')]&&(this[_0x1a4e('0x4063')]=this['_actionGroup'][_0x1a4e('0x4069')](this,_0x5ae816));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2be3cb[_0x1a4e('0xa')],'rEndTime',{'get':function(){return this['_rEndTime'];},'set':function(_0x5ae816){this[_0x1a4e('0x4087')]=_0x5ae816,this[_0x1a4e('0x4085')]&&(this['_endTime']=this[_0x1a4e('0x4085')][_0x1a4e('0x406a')](this,_0x5ae816));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2be3cb[_0x1a4e('0xa')],'startTime',{'get':function(){return this['_startTime'];},'set':function(_0x5ae816){this[_0x1a4e('0x4063')]=_0x5ae816;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2be3cb[_0x1a4e('0xa')],_0x1a4e('0x4067'),{'get':function(){return this['_endTime'];},'set':function(_0x5ae816){this[_0x1a4e('0x4068')]=_0x5ae816;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2be3cb['prototype'],_0x1a4e('0x37a'),{'get':function(){return this[_0x1a4e('0x732')];},'set':function(_0x5ae816){this[_0x1a4e('0x732')]=_0x5ae816;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2be3cb[_0x1a4e('0xa')],_0x1a4e('0x4088'),{'get':function(){return this[_0x1a4e('0x4083')];},'set':function(_0x5ae816){this['_isFirstDone']=_0x5ae816;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2be3cb[_0x1a4e('0xa')],'actionGroup',{'set':function(_0x5ae816){this[_0x1a4e('0x4085')]=_0x5ae816;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2be3cb['prototype'],_0x1a4e('0x13'),{'get':function(){return this[_0x1a4e('0x376c')];},'set':function(_0x5ae816){this[_0x1a4e('0x376c')]=_0x5ae816;},'enumerable':!0x0,'configurable':!0x0}),_0x2be3cb[_0x1a4e('0xa')][_0x1a4e('0x4071')]=function(_0x5ae816,_0x2be3cb,_0x2f899d){},_0x2be3cb[_0x1a4e('0xa')][_0x1a4e('0x4089')]=function(){},_0x2be3cb[_0x1a4e('0xa')][_0x1a4e('0x4070')]=function(){},_0x2be3cb[_0x1a4e('0xa')][_0x1a4e('0x406c')]=function(){},_0x2be3cb[_0x1a4e('0xa')][_0x1a4e('0x406f')]=function(){},_0x2be3cb[_0x1a4e('0xa')][_0x1a4e('0x406e')]=function(){},_0x2be3cb;}(_0x4ff8b4[_0x1a4e('0x3aca')]);},'./src/LayerManager/ActionLayer/ActionItem/CameraAction.ts':function(_0x1275fb,_0x1b898a,_0x43205d){'use strict';_0x43205d['r'](_0x1b898a),_0x43205d['d'](_0x1b898a,_0x1a4e('0x401a'),function(){return _0x3f9711;});var _0x57a22c,_0x40b957=_0x43205d(_0x1a4e('0x408a')),_0x3ddfda=(_0x57a22c=function(_0x1275fb,_0x1b898a){return(_0x57a22c=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1275fb,_0x1b898a){_0x1275fb['__proto__']=_0x1b898a;}||function(_0x1275fb,_0x1b898a){for(var _0x43205d in _0x1b898a)_0x1b898a[_0x1a4e('0xb')](_0x43205d)&&(_0x1275fb[_0x43205d]=_0x1b898a[_0x43205d]);})(_0x1275fb,_0x1b898a);},function(_0x1275fb,_0x1b898a){function _0x43205d(){this[_0x1a4e('0x10')]=_0x1275fb;}_0x57a22c(_0x1275fb,_0x1b898a),_0x1275fb[_0x1a4e('0xa')]=null===_0x1b898a?Object[_0x1a4e('0x7')](_0x1b898a):(_0x43205d[_0x1a4e('0xa')]=_0x1b898a[_0x1a4e('0xa')],new _0x43205d());}),_0x3f9711=function(_0x1275fb){function _0x1b898a(_0x1b898a){var _0x43205d=_0x1275fb[_0x1a4e('0x1')](this)||this;return _0x43205d[_0x1a4e('0x408b')]=null,_0x43205d[_0x1a4e('0x4086')]=_0x1b898a[_0x1a4e('0x4058')],_0x43205d[_0x1a4e('0x4087')]=_0x1b898a[_0x1a4e('0x4067')],_0x1b898a[_0x1a4e('0x408c')][_0x1a4e('0x17e')]=_0x43205d[_0x1a4e('0x4087')]-_0x43205d['_rStartTime'],_0x43205d['_cameraOpt']=_0x1b898a[_0x1a4e('0x408c')],_0x43205d;}return _0x3ddfda(_0x1b898a,_0x1275fb),Object[_0x1a4e('0x2')](_0x1b898a[_0x1a4e('0xa')],'rEndTime',{'get':function(){return this[_0x1a4e('0x4087')];},'set':function(_0x1275fb){this[_0x1a4e('0x4087')]=_0x1275fb,this['_cameraOpt'][_0x1a4e('0x17e')]=this[_0x1a4e('0x4087')]-this[_0x1a4e('0x4086')],this[_0x1a4e('0x4085')]&&(this['_endTime']=this['_actionGroup']['reCalcEndTimeByRET'](this,_0x1275fb));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1b898a[_0x1a4e('0xa')],_0x1a4e('0x408d'),{'get':function(){return{'startTime':this[_0x1a4e('0x4086')],'endTime':this[_0x1a4e('0x4087')],'cameraOpt':this[_0x1a4e('0x408b')]};},'set':function(_0x1275fb){this[_0x1a4e('0x4086')]=_0x1275fb[_0x1a4e('0x4058')],this['_rEndTime']=_0x1275fb[_0x1a4e('0x4067')],_0x1275fb[_0x1a4e('0x408c')]['duration']=this[_0x1a4e('0x4087')]-this['_rStartTime'],this['_cameraOpt']=_0x1275fb['cameraOpt'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b898a[_0x1a4e('0xa')],_0x1a4e('0x408c'),{'get':function(){return this[_0x1a4e('0x408b')];},'set':function(_0x1275fb){var _0x1b898a=Cesium['clone'](_0x1275fb,!0x0);_0x1b898a[_0x1a4e('0x17e')]=this[_0x1a4e('0x4087')]-this[_0x1a4e('0x4086')],this['_cameraOpt']=_0x1b898a;},'enumerable':!0x0,'configurable':!0x0}),_0x1b898a[_0x1a4e('0xa')]['getType']=function(){return _0x1b898a['type'];},Object[_0x1a4e('0x2')](_0x1b898a,_0x1a4e('0x40'),{'get':function(){return'CameraAction';},'enumerable':!0x0,'configurable':!0x0}),_0x1b898a[_0x1a4e('0xa')][_0x1a4e('0x4071')]=function(_0x1275fb,_0x1b898a,_0x43205d){if(!this[_0x1a4e('0x732')]&&Cesium['JulianDate'][_0x1a4e('0x77')](_0x1275fb,this['_startTime'])>=0x0){var _0x57a22c=Cesium[_0x1a4e('0x240')](this['_cameraOpt'],!0x0);_0x57a22c[_0x1a4e('0x17e')]=_0x57a22c[_0x1a4e('0x17e')]/_0x43205d,this['_viewer'][_0x1a4e('0x3a06')][_0x1a4e('0x408e')](_0x57a22c),this[_0x1a4e('0x732')]=!0x0;}},_0x1b898a[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){return{'name':this[_0x1a4e('0x2cb')],'type':this[_0x1a4e('0x3cc')](),'option':{'startTime':this[_0x1a4e('0x4086')],'cameraOpt':this[_0x1a4e('0x408b')]},'properties':this[_0x1a4e('0x376c')]};},_0x1b898a;}(_0x40b957[_0x1a4e('0x3ae4')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae4'),_0x3f9711);},'./src/LayerManager/ActionLayer/ActionItem/FadeOutAction.ts':function(_0x5d177c,_0x2a470a,_0x26015c){'use strict';_0x26015c['r'](_0x2a470a),_0x26015c['d'](_0x2a470a,_0x1a4e('0x401c'),function(){return _0x20bfad;}),_0x26015c['d'](_0x2a470a,_0x1a4e('0x408f'),function(){return _0x138376;});var _0x332e59,_0x2a33ed=_0x26015c(_0x1a4e('0x408a')),_0x10c3d4=(_0x332e59=function(_0x5d177c,_0x2a470a){return(_0x332e59=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5d177c,_0x2a470a){_0x5d177c[_0x1a4e('0x295')]=_0x2a470a;}||function(_0x5d177c,_0x2a470a){for(var _0x26015c in _0x2a470a)_0x2a470a[_0x1a4e('0xb')](_0x26015c)&&(_0x5d177c[_0x26015c]=_0x2a470a[_0x26015c]);})(_0x5d177c,_0x2a470a);},function(_0x5d177c,_0x2a470a){function _0x26015c(){this['constructor']=_0x5d177c;}_0x332e59(_0x5d177c,_0x2a470a),_0x5d177c['prototype']=null===_0x2a470a?Object[_0x1a4e('0x7')](_0x2a470a):(_0x26015c[_0x1a4e('0xa')]=_0x2a470a[_0x1a4e('0xa')],new _0x26015c());}),_0x20bfad=function(_0x5d177c){function _0x2a470a(_0x2a470a){var _0x26015c=_0x5d177c[_0x1a4e('0x1')](this)||this;return _0x26015c[_0x1a4e('0x4090')]=0x64,_0x26015c['_materialGraphicTypes']=[_0x1a4e('0x3989'),_0x1a4e('0x39e4'),_0x1a4e('0x3e8f'),'ParabolaLineGraphic',_0x1a4e('0x3e32'),'RectangleGraphic',_0x1a4e('0x3e95'),_0x1a4e('0x3e37'),_0x1a4e('0x3e31')],_0x26015c[_0x1a4e('0x4086')]=_0x2a470a[_0x1a4e('0x4058')],_0x26015c[_0x1a4e('0x4087')]=_0x2a470a[_0x1a4e('0x4067')],_0x26015c[_0x1a4e('0x4091')]=_0x2a470a[_0x1a4e('0x4072')],_0x26015c[_0x1a4e('0x4092')]=_0x2a470a['startTrans'],_0x26015c[_0x1a4e('0x4093')]=_0x2a470a[_0x1a4e('0x4094')],_0x26015c[_0x1a4e('0x4095')]=_0x26015c[_0x1a4e('0x4087')]-_0x26015c[_0x1a4e('0x4086')],_0x26015c;}return _0x10c3d4(_0x2a470a,_0x5d177c),_0x2a470a[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x2a470a[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x2a470a,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x401c');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2a470a[_0x1a4e('0xa')],_0x1a4e('0x4096'),{'get':function(){return this['_startTrans'];},'set':function(_0x5d177c){this[_0x1a4e('0x4092')]=_0x5d177c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2a470a['prototype'],_0x1a4e('0x4094'),{'get':function(){return this[_0x1a4e('0x4093')];},'set':function(_0x5d177c){this['_endTrans']=_0x5d177c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2a470a[_0x1a4e('0xa')],'graphic',{'get':function(){return this['_graphic'];},'set':function(_0x5d177c){this[_0x1a4e('0x4091')]=_0x5d177c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2a470a[_0x1a4e('0xa')],_0x1a4e('0x405a'),{'get':function(){return this['_rStartTime'];},'set':function(_0x5d177c){this['_rStartTime']=_0x5d177c,this[_0x1a4e('0x4085')]&&(this[_0x1a4e('0x4063')]=this[_0x1a4e('0x4085')][_0x1a4e('0x4069')](this,_0x5d177c)),this[_0x1a4e('0x4095')]=this['_rEndTime']-this[_0x1a4e('0x4086')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2a470a['prototype'],_0x1a4e('0x405c'),{'get':function(){return this[_0x1a4e('0x4087')];},'set':function(_0x5d177c){this['_rEndTime']=_0x5d177c,this['_actionGroup']&&(this[_0x1a4e('0x4068')]=this['_actionGroup'][_0x1a4e('0x406a')](this,_0x5d177c)),this[_0x1a4e('0x4095')]=this[_0x1a4e('0x4087')]-this[_0x1a4e('0x4086')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2a470a[_0x1a4e('0xa')],_0x1a4e('0x408d'),{'get':function(){return{'startTime':this['rStartTime'],'endTime':this[_0x1a4e('0x405c')],'graphic':this['_graphic'],'startTrans':this['_startTrans'],'endTrans':this[_0x1a4e('0x4093')]};},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2a470a[_0x1a4e('0xa')],'ationOpt',{'set':function(_0x5d177c){this['rStartTime']=_0x5d177c[_0x1a4e('0x4058')],this[_0x1a4e('0x405c')]=_0x5d177c[_0x1a4e('0x4067')],this[_0x1a4e('0x4091')]=_0x5d177c[_0x1a4e('0x4072')],this[_0x1a4e('0x4092')]=_0x5d177c[_0x1a4e('0x4096')]?_0x5d177c[_0x1a4e('0x4096')]:0x1,this[_0x1a4e('0x4093')]=_0x5d177c[_0x1a4e('0x4094')]?_0x5d177c[_0x1a4e('0x4094')]:0x0,this[_0x1a4e('0x4095')]=this[_0x1a4e('0x4087')]-this[_0x1a4e('0x4086')];},'enumerable':!0x0,'configurable':!0x0}),_0x2a470a[_0x1a4e('0xa')][_0x1a4e('0x4071')]=function(_0x5d177c){var _0x2a470a=this;if(!this[_0x1a4e('0x732')]&&Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x5d177c,this['_startTime'])>=0x0){if(!this[_0x1a4e('0x4083')]){if(!this[_0x1a4e('0x4084')])return;if(this[_0x1a4e('0x4091')][_0x1a4e('0x3b2c')]=!0x0,this['_graphic']['isEditing']=!0x0,this[_0x1a4e('0x4097')]=this['_parseColor'](this[_0x1a4e('0x4091')]),this[_0x1a4e('0x4098')]=this[_0x1a4e('0x4099')](),this[_0x1a4e('0x4083')]=!0x0,Object[_0x1a4e('0x56')](this[_0x1a4e('0x4097')])[_0x1a4e('0x3b')](function(_0x5d177c){if(_0x2a470a[_0x1a4e('0x4097')][_0x5d177c]){var _0x26015c=Cesium[_0x1a4e('0x3947')]['clone'](_0x2a470a[_0x1a4e('0x4097')][_0x5d177c]);_0x2a470a[_0x1a4e('0x4091')][_0x5d177c]=_0x26015c[_0x1a4e('0x39ae')](_0x2a470a[_0x1a4e('0x4092')])[_0x1a4e('0x409a')]();}}),this[_0x1a4e('0x4098')])return this[_0x1a4e('0x409b')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x5d177c,this[_0x1a4e('0x4063')])/this[_0x1a4e('0x4095')],void this[_0x1a4e('0x409d')]();}this[_0x1a4e('0x409b')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x5d177c,this[_0x1a4e('0x4063')])/this[_0x1a4e('0x4095')];var _0x26015c=this[_0x1a4e('0x4092')],_0x332e59=this[_0x1a4e('0x4093')];if(!this[_0x1a4e('0x4098')]){if(_0x332e59<_0x26015c)this[_0x1a4e('0x409b')]=0x1-this[_0x1a4e('0x409b')];else if(_0x332e59===_0x26015c)return;var _0x2a33ed=this['_trans']*Math[_0x1a4e('0x65')](_0x332e59-_0x26015c);Math[_0x1a4e('0x65')](_0x332e59-_0x2a33ed)<0.01&&(_0x2a33ed=_0x332e59),Object[_0x1a4e('0x56')](this[_0x1a4e('0x4097')])[_0x1a4e('0x3b')](function(_0x5d177c){if(_0x2a470a[_0x1a4e('0x4097')][_0x5d177c]){var _0x26015c=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x240')](_0x2a470a[_0x1a4e('0x4097')][_0x5d177c]);_0x2a470a[_0x1a4e('0x4091')][_0x5d177c]=_0x26015c[_0x1a4e('0x39ae')](_0x2a33ed)[_0x1a4e('0x409a')]();}});}}!this[_0x1a4e('0x732')]&&Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x5d177c,this['_endTime'])>0x0&&(this[_0x1a4e('0x732')]=!0x0,this['_clearInterval'](),this[_0x1a4e('0x4091')][_0x1a4e('0x3e06')]=!0x1);},_0x2a470a['prototype'][_0x1a4e('0x409e')]=function(_0x5d177c){var _0x2a470a=_0x5d177c[_0x1a4e('0x3cc')](),_0x26015c={},_0x332e59=[_0x1a4e('0x134')];switch(_0x2a470a){case _0x1a4e('0x3984'):case _0x1a4e('0x3e32'):case'EllipseGraphic':case _0x1a4e('0x3e92'):case _0x1a4e('0x3e95'):case'VolumePolylineGraphic':case _0x1a4e('0x3fe4'):_0x332e59=[_0x1a4e('0x409f'),_0x1a4e('0x134')];break;case'PopoverGraphic':_0x332e59=[_0x1a4e('0x40a0'),'fillColor','labelFontColor',_0x1a4e('0x134')];break;case'CustomLabelGraphic':_0x332e59=[_0x1a4e('0x3ef1')];break;case _0x1a4e('0x3e30'):_0x332e59=[_0x1a4e('0x40a1'),_0x1a4e('0x3987'),_0x1a4e('0x134')];break;case _0x1a4e('0x397c'):_0x332e59=[_0x1a4e('0x3987'),_0x1a4e('0x409f'),_0x1a4e('0x3ef1')];break;case'LabelRectGraphic':_0x332e59=[_0x1a4e('0x134'),_0x1a4e('0x40a2')];break;case _0x1a4e('0x3e2f'):_0x332e59=[_0x1a4e('0x40a3'),_0x1a4e('0x40a4'),_0x1a4e('0x40a0'),_0x1a4e('0x40a5')];break;case _0x1a4e('0x3e3f'):_0x332e59=[_0x1a4e('0x40a5'),'scanLineColor'];break;case _0x1a4e('0x3e3e'):_0x332e59=['spreadColor'];break;case _0x1a4e('0x40a6'):_0x332e59=[_0x1a4e('0x40a7'),_0x1a4e('0x40a8')];}return _0x332e59[_0x1a4e('0x3b')](function(_0x2a470a){_0x5d177c[_0x2a470a]&&(_0x26015c[_0x2a470a]=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x5d177c[_0x2a470a]));}),_0x26015c;},_0x2a470a[_0x1a4e('0xa')][_0x1a4e('0x409d')]=function(){var _0x5d177c=this;if(this['_isChangeColorByMaterial']()){this['_clearInterval']();var _0x2a470a=this[_0x1a4e('0x4092')],_0x26015c=this[_0x1a4e('0x4093')];this['_intervalFun']=setInterval(function(){if(_0x26015c<_0x2a470a)_0x5d177c[_0x1a4e('0x409b')]=0x1-_0x5d177c[_0x1a4e('0x409b')];else if(_0x26015c===_0x2a470a)return;var _0x332e59=_0x5d177c['_trans']*Math[_0x1a4e('0x65')](_0x26015c-_0x2a470a);Math['abs'](_0x26015c-_0x332e59)<0.01&&(_0x332e59=_0x26015c),Object[_0x1a4e('0x56')](_0x5d177c[_0x1a4e('0x4097')])[_0x1a4e('0x3b')](function(_0x2a470a){if(_0x5d177c[_0x1a4e('0x4097')][_0x2a470a]){var _0x26015c=Cesium[_0x1a4e('0x3947')]['clone'](_0x5d177c[_0x1a4e('0x4097')][_0x2a470a]);_0x5d177c[_0x1a4e('0x4091')][_0x2a470a]=_0x26015c['withAlpha'](_0x332e59)[_0x1a4e('0x409a')]();}});},this[_0x1a4e('0x4090')]);}},_0x2a470a[_0x1a4e('0xa')][_0x1a4e('0x40a9')]=function(){this[_0x1a4e('0x40aa')]&&(clearInterval(this['_intervalFun']),this[_0x1a4e('0x40aa')]=null);},_0x2a470a[_0x1a4e('0xa')][_0x1a4e('0x4099')]=function(){for(var _0x5d177c=this[_0x1a4e('0x40ab')],_0x2a470a=this[_0x1a4e('0x4091')][_0x1a4e('0x3cc')](),_0x26015c=0x0;_0x26015c<_0x5d177c[_0x1a4e('0x1e')];_0x26015c++)if(_0x2a470a===_0x5d177c[_0x26015c])return!0x0;return!0x1;},_0x2a470a[_0x1a4e('0xa')][_0x1a4e('0x406c')]=function(){this[_0x1a4e('0x40a9')]();},_0x2a470a['prototype'][_0x1a4e('0x406f')]=function(){this[_0x1a4e('0x40a9')]();},_0x2a470a[_0x1a4e('0xa')][_0x1a4e('0x406e')]=function(){this[_0x1a4e('0x409d')]();},_0x2a470a['prototype'][_0x1a4e('0x4089')]=function(){this[_0x1a4e('0x4084')]={'graphic':this[_0x1a4e('0x4091')],'initColor':this[_0x1a4e('0x409e')](this['_graphic'])};},_0x2a470a[_0x1a4e('0xa')][_0x1a4e('0x4070')]=function(){if(this[_0x1a4e('0x4084')]){var _0x5d177c=this[_0x1a4e('0x4084')][_0x1a4e('0x40ac')],_0x2a470a=this['_initState']['graphic'];Object[_0x1a4e('0x56')](_0x5d177c)[_0x1a4e('0x3b')](function(_0x26015c){_0x2a470a[_0x26015c]=_0x5d177c[_0x26015c][_0x1a4e('0x409a')]();});}},_0x2a470a['prototype'][_0x1a4e('0x3acb')]=function(){return{'name':this['name'],'type':this[_0x1a4e('0x3cc')](),'option':{'startTime':this[_0x1a4e('0x4086')],'endTime':this[_0x1a4e('0x4087')],'startTrans':this[_0x1a4e('0x4092')],'endTrans':this[_0x1a4e('0x4093')],'graphic':this['_graphic']['toJson']()},'properties':this[_0x1a4e('0x376c')]};},_0x2a470a;}(_0x2a33ed[_0x1a4e('0x3ae4')]),_0x138376=function(){this[_0x1a4e('0x4096')]=0x1,this[_0x1a4e('0x4094')]=0x0;};window['GV']['REGISTER'](_0x1a4e('0x3ae4'),_0x20bfad);},'./src/LayerManager/ActionLayer/ActionItem/FlickerAction.ts':function(_0x51b46d,_0x46370c,_0x427388){'use strict';_0x427388['r'](_0x46370c),_0x427388['d'](_0x46370c,_0x1a4e('0x40ad'),function(){return _0x48b831;});var _0x4062eb,_0x26d086=_0x427388('./src/LayerManager/ActionLayer/ActionItem/ActionItem.ts'),_0x2bc94b=(_0x4062eb=function(_0x51b46d,_0x46370c){return(_0x4062eb=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x51b46d,_0x46370c){_0x51b46d[_0x1a4e('0x295')]=_0x46370c;}||function(_0x51b46d,_0x46370c){for(var _0x427388 in _0x46370c)_0x46370c[_0x1a4e('0xb')](_0x427388)&&(_0x51b46d[_0x427388]=_0x46370c[_0x427388]);})(_0x51b46d,_0x46370c);},function(_0x51b46d,_0x46370c){function _0x427388(){this[_0x1a4e('0x10')]=_0x51b46d;}_0x4062eb(_0x51b46d,_0x46370c),_0x51b46d['prototype']=null===_0x46370c?Object[_0x1a4e('0x7')](_0x46370c):(_0x427388[_0x1a4e('0xa')]=_0x46370c['prototype'],new _0x427388());}),_0x48b831=function(_0x51b46d){function _0x46370c(_0x46370c){var _0x427388=_0x51b46d[_0x1a4e('0x1')](this)||this;return _0x427388[_0x1a4e('0x4086')]=_0x46370c[_0x1a4e('0x4058')],_0x427388[_0x1a4e('0x4087')]=_0x46370c['endTime'],_0x427388[_0x1a4e('0x40ae')]=_0x46370c[_0x1a4e('0x40af')],_0x427388[_0x1a4e('0x4091')]=_0x46370c[_0x1a4e('0x4072')],_0x427388['_f']=Math['floor'](0x3e8/_0x427388[_0x1a4e('0x40ae')]),_0x427388;}return _0x2bc94b(_0x46370c,_0x51b46d),_0x46370c[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x46370c[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x46370c,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x40ad');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x46370c['prototype'],_0x1a4e('0x4072'),{'get':function(){return this[_0x1a4e('0x4091')];},'set':function(_0x51b46d){this[_0x1a4e('0x4091')]=_0x51b46d;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x46370c[_0x1a4e('0xa')],'actionOpt',{'get':function(){return{'startTime':this['rStartTime'],'endTime':this[_0x1a4e('0x405c')],'graphic':this[_0x1a4e('0x4091')],'frequency':this[_0x1a4e('0x40ae')]};},'set':function(_0x51b46d){this[_0x1a4e('0x405a')]=_0x51b46d[_0x1a4e('0x4058')],this[_0x1a4e('0x405c')]=_0x51b46d[_0x1a4e('0x4067')],this['_frequency']=_0x51b46d[_0x1a4e('0x40af')],this['_f']=Math['floor'](0x3e8/this[_0x1a4e('0x40ae')]);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x46370c[_0x1a4e('0xa')],_0x1a4e('0x40af'),{'get':function(){return this[_0x1a4e('0x40ae')];},'set':function(_0x51b46d){this[_0x1a4e('0x40ae')]=_0x51b46d,this['_f']=Math[_0x1a4e('0xb4')](0x3e8/this['_frequency']);},'enumerable':!0x0,'configurable':!0x0}),_0x46370c['prototype'][_0x1a4e('0x4071')]=function(_0x51b46d,_0x46370c){!this[_0x1a4e('0x732')]&&Cesium[_0x1a4e('0x39a9')]['compare'](_0x51b46d,this[_0x1a4e('0x4068')])>0x0&&(this['recoverInitState'](),this['_isDone']=!0x0),!this['_isDone']&&Cesium['JulianDate'][_0x1a4e('0x77')](_0x51b46d,this[_0x1a4e('0x4063')])>=0x0&&(this[_0x1a4e('0x4091')][_0x1a4e('0x3b2c')]=Boolean(Math[_0x1a4e('0xb4')](0x3e8*Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x51b46d,_0x46370c)/this['_f'])%0x2));},_0x46370c[_0x1a4e('0xa')][_0x1a4e('0x4089')]=function(){this[_0x1a4e('0x4084')]={'graphic':this['_graphic'],'initVisible':this[_0x1a4e('0x4091')][_0x1a4e('0x3b2c')]};},_0x46370c[_0x1a4e('0xa')]['recoverInitState']=function(){if(this[_0x1a4e('0x4084')]){var _0x51b46d=this[_0x1a4e('0x4084')]['initVisible'];this[_0x1a4e('0x4084')][_0x1a4e('0x4072')][_0x1a4e('0x3b2c')]=_0x51b46d;}},_0x46370c['prototype'][_0x1a4e('0x406f')]=function(){this[_0x1a4e('0x4091')][_0x1a4e('0x3b2c')]=!0x0;},_0x46370c[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){return{'name':this[_0x1a4e('0x2cb')],'type':this['getType'](),'option':{'startTime':this[_0x1a4e('0x4086')],'endTime':this[_0x1a4e('0x4087')],'graphic':this['_graphic'][_0x1a4e('0x3acb')](),'frequency':this[_0x1a4e('0x40ae')]},'properties':this[_0x1a4e('0x376c')]};},_0x46370c;}(_0x26d086[_0x1a4e('0x3ae4')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae4'),_0x48b831);},'./src/LayerManager/ActionLayer/ActionItem/PathAction.ts':function(_0x2018ed,_0x2241bb,_0x1a940e){'use strict';_0x1a940e['r'](_0x2241bb),_0x1a940e['d'](_0x2241bb,_0x1a4e('0x4019'),function(){return _0x4be6e8;}),_0x1a940e['d'](_0x2241bb,_0x1a4e('0x40b0'),function(){return _0x310581;});var _0x513181,_0x5ea5d7=_0x1a940e(_0x1a4e('0x3970')),_0x3e79cf=_0x1a940e(_0x1a4e('0x38d0')),_0x22ac24=_0x1a940e(_0x1a4e('0x3f52')),_0x3bd210=_0x1a940e(_0x1a4e('0x3f1e')),_0x17cb5c=_0x1a940e(_0x1a4e('0x40b1')),_0x1b62e7=_0x1a940e(_0x1a4e('0x408a')),_0x4922e6=(_0x513181=function(_0x2018ed,_0x2241bb){return(_0x513181=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x2018ed,_0x2241bb){_0x2018ed[_0x1a4e('0x295')]=_0x2241bb;}||function(_0x2018ed,_0x2241bb){for(var _0x1a940e in _0x2241bb)_0x2241bb[_0x1a4e('0xb')](_0x1a940e)&&(_0x2018ed[_0x1a940e]=_0x2241bb[_0x1a940e]);})(_0x2018ed,_0x2241bb);},function(_0x2018ed,_0x2241bb){function _0x1a940e(){this['constructor']=_0x2018ed;}_0x513181(_0x2018ed,_0x2241bb),_0x2018ed[_0x1a4e('0xa')]=null===_0x2241bb?Object[_0x1a4e('0x7')](_0x2241bb):(_0x1a940e[_0x1a4e('0xa')]=_0x2241bb[_0x1a4e('0xa')],new _0x1a940e());}),_0x4be6e8=function(_0x2018ed){function _0x2241bb(_0x2241bb){var _0x1a940e=_0x2018ed[_0x1a4e('0x1')](this)||this;return _0x1a940e[_0x1a4e('0x40b2')]=[_0x1a4e('0x3989'),_0x1a4e('0x39e4'),_0x1a4e('0x3e8f'),'ParabolaLineGraphic','RectangleGraphic',_0x1a4e('0x3e37'),_0x1a4e('0x3fe4')],_0x1a940e[_0x1a4e('0x40b3')]=[_0x1a4e('0x4027'),_0x1a4e('0x3e41'),'SpreadCircleLineGraphic',_0x1a4e('0x40b4')],_0x1a940e[_0x1a4e('0x4086')]=_0x2241bb[_0x1a4e('0x4058')],_0x1a940e[_0x1a4e('0x4087')]=_0x2241bb[_0x1a4e('0x4067')],_0x1a940e['_graphic']=_0x2241bb[_0x1a4e('0x4072')],_0x1a940e[_0x1a4e('0x40b5')]=_0x2241bb[_0x1a4e('0x40b6')],_0x1a940e[_0x1a4e('0x40b7')]=_0x2241bb['moveCallback'],_0x1a940e[_0x1a4e('0x399a')]=_0x2241bb['path'],_0x1a940e;}return _0x4922e6(_0x2241bb,_0x2018ed),_0x2241bb['prototype'][_0x1a4e('0x3cc')]=function(){return _0x2241bb[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x2241bb,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x4019');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2241bb[_0x1a4e('0xa')],_0x1a4e('0x40b8'),{'set':function(_0x2018ed){this[_0x1a4e('0x405a')]=_0x2018ed[_0x1a4e('0x4058')],this['rEndTime']=_0x2018ed['endTime'],this[_0x1a4e('0x4091')]=_0x2018ed[_0x1a4e('0x4072')],this['_relativePosParam']=_0x2018ed[_0x1a4e('0x40b6')],this[_0x1a4e('0x399a')]=_0x2018ed[_0x1a4e('0x64')],_0x2018ed[_0x1a4e('0x40b9')]&&(this[_0x1a4e('0x40b7')]=_0x2018ed[_0x1a4e('0x40b9')]);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2241bb[_0x1a4e('0xa')],_0x1a4e('0x40b9'),{'set':function(_0x2018ed){this[_0x1a4e('0x40b7')]=_0x2018ed;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2241bb[_0x1a4e('0xa')],_0x1a4e('0x405a'),{'get':function(){return this[_0x1a4e('0x4086')];},'set':function(_0x2018ed){this['_rStartTime']=_0x2018ed,this['_actionGroup']&&(this['_startTime']=this[_0x1a4e('0x4085')][_0x1a4e('0x4069')](this,_0x2018ed));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2241bb[_0x1a4e('0xa')],_0x1a4e('0x405c'),{'get':function(){return this['_rEndTime'];},'set':function(_0x2018ed){this[_0x1a4e('0x4087')]=_0x2018ed,this[_0x1a4e('0x4085')]&&(this['_endTime']=this[_0x1a4e('0x4085')][_0x1a4e('0x406a')](this,_0x2018ed));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2241bb['prototype'],'graphic',{'get':function(){return this['_graphic'];},'set':function(_0x2018ed){this[_0x1a4e('0x4091')]=_0x2018ed;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2241bb[_0x1a4e('0xa')],_0x1a4e('0x40ba'),{'get':function(){return this[_0x1a4e('0x399a')];},'set':function(_0x2018ed){if(_0x2018ed['father']&&_0x2018ed['father'][_0x1a4e('0x2cb')]!==_0x17cb5c[_0x1a4e('0x404d')]){var _0x2241bb=_0x2018ed[_0x1a4e('0x240')](),_0x1a940e=this['removePathGraphic'](this[_0x1a4e('0x38fa')]);_0x1a940e&&_0x1a940e[_0x1a4e('0x177')](_0x2241bb),this[_0x1a4e('0x399a')]=_0x2241bb;}},'enumerable':!0x0,'configurable':!0x0}),_0x2241bb[_0x1a4e('0xa')]['removePathGraphic']=function(_0x2018ed){if(!this[_0x1a4e('0x399a')])return null;var _0x2241bb=_0x2018ed[_0x1a4e('0x3973')][_0x1a4e('0x4d4')]()[_0x1a4e('0x6f')][_0x1a4e('0x1c7')](function(_0x2018ed){return _0x2018ed instanceof _0x3bd210[_0x1a4e('0x3f21')]&&_0x2018ed[_0x1a4e('0x2cb')]===_0x17cb5c[_0x1a4e('0x404d')];});return _0x2241bb&&(_0x2241bb['remove'](this[_0x1a4e('0x399a')]),this['_path']=null),_0x2241bb;},_0x2241bb[_0x1a4e('0x4077')]=function(_0x2018ed){var _0x2241bb=_0x2018ed[_0x1a4e('0x3973')][_0x1a4e('0x4d4')]()[_0x1a4e('0x6f')][_0x1a4e('0x1c7')](function(_0x2018ed){return _0x2018ed instanceof _0x3bd210[_0x1a4e('0x3f21')]&&_0x2018ed['name']===_0x17cb5c[_0x1a4e('0x404d')];});return _0x2241bb||((_0x2241bb=new _0x3bd210[(_0x1a4e('0x3f21'))]())['name']=_0x17cb5c['PathGroupName'],_0x2018ed[_0x1a4e('0x3973')][_0x1a4e('0x177')](_0x2241bb)),_0x2241bb;},_0x2241bb[_0x1a4e('0xa')]['initPositions']=function(){var _0x2018ed=this,_0x2241bb=this['_getPathPos'](this[_0x1a4e('0x399a')]);if(0x0!==_0x2241bb[_0x1a4e('0x1e')]){if(_0x2241bb[_0x1a4e('0x1e')]<0x2)throw _0x1a4e('0x40bb');var _0x1a940e=new Cesium[(_0x1a4e('0x40bc'))](),_0x513181=(this[_0x1a4e('0x4087')]-this[_0x1a4e('0x4086')])/(_0x2241bb[_0x1a4e('0x1e')]-0x1);_0x2241bb[_0x1a4e('0x3b')](function(_0x2241bb,_0x5ea5d7){var _0x22ac24=Cesium['JulianDate'][_0x1a4e('0x406b')](_0x2018ed['_startTime'],_0x513181*_0x5ea5d7,new Cesium[(_0x1a4e('0x39a9'))]());_0x1a940e['addSample'](_0x22ac24,_0x3e79cf[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x2241bb));}),this[_0x1a4e('0x40bd')]=_0x1a940e;}else this[_0x1a4e('0x40bd')]=null;},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x4071')]=function(_0x2018ed){var _0x2241bb=this[_0x1a4e('0x4091')];!this[_0x1a4e('0x732')]&&Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x2018ed,this['_endTime'])>0x0&&(this[_0x1a4e('0x732')]=!0x0,this[_0x1a4e('0x40a9')](),this[_0x1a4e('0x40be')]=null),!this[_0x1a4e('0x732')]&&Cesium['JulianDate']['compare'](_0x2018ed,this[_0x1a4e('0x4063')])>=0x0&&(this[_0x1a4e('0x4083')]?this[_0x1a4e('0x40bf')](_0x2018ed):(_0x1a4e('0x3e3a')!==_0x2241bb[_0x1a4e('0x3cc')]()||_0x2241bb[_0x1a4e('0x40c0')]||_0x2241bb[_0x1a4e('0x40c1')]||(this['_specialGraphicOpt']={'dispersion':_0x2241bb['topPosition'][_0x1a4e('0x398c')]-_0x2241bb[_0x1a4e('0x3e4f')]['alt']}),this[_0x1a4e('0x4083')]=!0x0,this['_multiPos']=this[_0x1a4e('0x4091')][_0x1a4e('0x398a')],this[_0x1a4e('0x409d')]()));},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x406c')]=function(){this[_0x1a4e('0x40a9')]();},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x406f')]=function(){this['_clearInterval']();},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x406e')]=function(){this[_0x1a4e('0x409d')]();},_0x2241bb['prototype'][_0x1a4e('0x40bf')]=function(_0x2018ed){var _0x2241bb=this['_posProperty'],_0x1a940e=this[_0x1a4e('0x4091')];if(_0x2241bb){var _0x513181=_0x2241bb[_0x1a4e('0x1460')](_0x2018ed),_0x22ac24=_0x2241bb[_0x1a4e('0x1460')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x2018ed,-0.01,new Cesium[(_0x1a4e('0x39a9'))]()));if(_0x22ac24&&_0x513181)if(this[_0x1a4e('0x40c2')]||this[_0x1a4e('0x40c3')])this['_multiPosGraphicTrans']=_0x513181;else{var _0x3bd210=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x513181,_0x22ac24,new Cesium[(_0x1a4e('0x393e'))]()),_0x17cb5c=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x513181,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),new Cesium[(_0x1a4e('0x393e'))]()),_0x1b62e7=Cesium[_0x1a4e('0x393e')]['normalize'](_0x3bd210,new Cesium['Cartesian3']()),_0x4922e6=new Cesium[(_0x1a4e('0x393e'))](0x1,0x0,0x0),_0x4be6e8=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a9d')](_0x4922e6,_0x1b62e7)/Cesium[_0x1a4e('0x393e')]['magnitude'](_0x4922e6)*Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x1b62e7),_0x310581=Math[_0x1a4e('0x92c')](_0x4be6e8),_0x43e575=Cesium[_0x1a4e('0x393e')]['cross'](_0x4922e6,_0x1b62e7,new Cesium[(_0x1a4e('0x393e'))]()),_0x5e5e6f=Cesium['Quaternion'][_0x1a4e('0x40c4')](_0x43e575,_0x310581),_0x559a1b=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3aaf')](_0x5e5e6f),_0x1661de=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x559a1b,_0x17cb5c),_0x5e8e10=_0x5ea5d7[_0x1a4e('0x3990')][_0x1a4e('0x40c5')](_0x1661de),_0x5d5368=_0x3e79cf[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x513181);if(this[_0x1a4e('0x40be')])_0x1a940e[_0x1a4e('0x3e4f')]=_0x5d5368,_0x1a940e['topPosition']=new _0x3e79cf['GeoPoint'](_0x5d5368[_0x1a4e('0x1a1')],_0x5d5368[_0x1a4e('0x1a2')],_0x5d5368['alt']+this[_0x1a4e('0x40be')]['dispersion']);else if(this[_0x1a4e('0x40b5')]){var _0x494246=_0x5ea5d7[_0x1a4e('0x3990')][_0x1a4e('0x40c6')]({'position':_0x5d5368,'heading':_0x5e8e10['heading'],'pitch':0x0,'roll':0x0},this['_relativePosParam']);_0x1a940e[_0x1a4e('0x3553')]=_0x494246[_0x1a4e('0x3553')],_0x1a940e[_0x1a4e('0x3a68')]=_0x494246[_0x1a4e('0x3a68')],_0x1a940e[_0x1a4e('0x3a69')]=_0x494246[_0x1a4e('0x3a69')],_0x1a940e[_0x1a4e('0x3a9c')]=_0x494246[_0x1a4e('0x3a9c')];}else _0x1a940e[_0x1a4e('0x3553')]=_0x5d5368,_0x1a940e[_0x1a4e('0x3a68')]=_0x5e8e10['heading'],_0x1a940e['pitch']=0x0,_0x1a940e['roll']=0x0;this[_0x1a4e('0x40b7')]&&this[_0x1a4e('0x40b7')](_0x5d5368,_0x2018ed);}}},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x409d')]=function(){var _0x2018ed,_0x2241bb=this;(this['_isMultiNodesGraphic']||this[_0x1a4e('0x40c3')])&&(this[_0x1a4e('0x40a9')](),this[_0x1a4e('0x40c2')]&&(_0x2018ed=this[_0x1a4e('0x4091')][_0x1a4e('0x3ecb')]()),this[_0x1a4e('0x40aa')]=setInterval(function(){var _0x1a940e=_0x3e79cf[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x2241bb[_0x1a4e('0x40c7')]);if(_0x2241bb[_0x1a4e('0x40c3')])_0x2241bb[_0x1a4e('0x4091')][_0x1a4e('0x3553')]=_0x1a940e,_0x2241bb[_0x1a4e('0x40b7')]&&_0x2241bb[_0x1a4e('0x40b7')](_0x1a940e);else if(_0x2241bb[_0x1a4e('0x40c2')]){var _0x513181=[],_0x5ea5d7=[_0x1a940e[_0x1a4e('0x1a1')]-_0x2018ed[_0x1a4e('0x1a1')],_0x1a940e['lat']-_0x2018ed[_0x1a4e('0x1a2')],_0x1a940e[_0x1a4e('0x398c')]-_0x2018ed[_0x1a4e('0x398c')]];_0x2241bb[_0x1a4e('0x4084')][_0x1a4e('0x398a')][_0x1a4e('0x3b')](function(_0x2018ed,_0x2241bb){var _0x1a940e=new _0x3e79cf[(_0x1a4e('0x38da'))](_0x2018ed[_0x1a4e('0x1a1')]+_0x5ea5d7[0x0],_0x2018ed[_0x1a4e('0x1a2')]+_0x5ea5d7[0x1],_0x2018ed['alt']+_0x5ea5d7[0x2]);_0x513181['push'](_0x1a940e);}),_0x2241bb[_0x1a4e('0x4091')]['positions']=_0x513181,_0x2241bb[_0x1a4e('0x40b7')]&&_0x2241bb[_0x1a4e('0x40b7')](_0x513181);}},0x64));},_0x2241bb['prototype']['_clearInterval']=function(){this[_0x1a4e('0x40aa')]&&(clearInterval(this[_0x1a4e('0x40aa')]),this['_intervalFun']=null);},_0x2241bb['prototype'][_0x1a4e('0x40c8')]=function(){for(var _0x2018ed=this[_0x1a4e('0x40b2')],_0x2241bb=this['_graphic']['getType'](),_0x1a940e=0x0;_0x1a940e<_0x2018ed[_0x1a4e('0x1e')];_0x1a940e++)if(_0x2241bb===_0x2018ed[_0x1a940e])return!0x0;return!0x1;},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x40c9')]=function(){for(var _0x2018ed=this[_0x1a4e('0x40b3')],_0x2241bb=this[_0x1a4e('0x4091')][_0x1a4e('0x3cc')](),_0x1a940e=0x0;_0x1a940e<_0x2018ed['length'];_0x1a940e++)if(_0x2241bb===_0x2018ed[_0x1a940e])return!0x0;return!0x1;},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x40ca')]=function(_0x2018ed){return _0x2018ed?_0x2018ed instanceof _0x22ac24[_0x1a4e('0x3e8f')]?_0x2018ed[_0x1a4e('0x40cb')]:_0x2018ed[_0x1a4e('0x398a')]:[];},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x4089')]=function(){this[_0x1a4e('0x40c2')]=this['_isMultiNodes'](),this['_isNeedIntervalSingleNodeGraphic']=this[_0x1a4e('0x40c9')](),this['_isMultiNodesGraphic']?this['_initState']={'graphic':this[_0x1a4e('0x4091')],'positions':this[_0x1a4e('0x4091')][_0x1a4e('0x398a')],'heading':this[_0x1a4e('0x4091')][_0x1a4e('0x3a68')],'pitch':this[_0x1a4e('0x4091')][_0x1a4e('0x3a69')],'roll':this[_0x1a4e('0x4091')]['roll']}:this['_initState']={'graphic':this['_graphic'],'position':this[_0x1a4e('0x4091')][_0x1a4e('0x3553')],'heading':this[_0x1a4e('0x4091')][_0x1a4e('0x3a68')],'pitch':this[_0x1a4e('0x4091')][_0x1a4e('0x3a69')],'roll':this[_0x1a4e('0x4091')][_0x1a4e('0x3a9c')]};},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x4070')]=function(){if(this['_initState']){var _0x2018ed=this['_graphic'];this[_0x1a4e('0x40c2')]?_0x2018ed[_0x1a4e('0x398a')]=this[_0x1a4e('0x4084')][_0x1a4e('0x398a')]:_0x2018ed[_0x1a4e('0x3553')]=this['_initState'][_0x1a4e('0x3553')],_0x2018ed['heading']&&(_0x2018ed[_0x1a4e('0x3a68')]=this[_0x1a4e('0x4084')][_0x1a4e('0x3a68')],_0x2018ed['pitch']=this[_0x1a4e('0x4084')][_0x1a4e('0x3a69')],_0x2018ed['roll']=this[_0x1a4e('0x4084')][_0x1a4e('0x3a9c')]);}},_0x2241bb[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x2018ed=this[_0x1a4e('0x399a')][_0x1a4e('0x3acb')]();_0x2018ed[_0x1a4e('0x3b2c')]=!0x1;var _0x2241bb={'name':this[_0x1a4e('0x2cb')],'type':this[_0x1a4e('0x3cc')](),'option':{'startTime':this[_0x1a4e('0x4086')],'endTime':this['_rEndTime'],'graphic':this['_graphic'][_0x1a4e('0x3acb')](),'path':_0x2018ed},'properties':this[_0x1a4e('0x376c')]};return this[_0x1a4e('0x40b5')]&&(_0x2241bb[_0x1a4e('0x3b35')][_0x1a4e('0x40b6')]=this[_0x1a4e('0x40b5')]),this[_0x1a4e('0x40b7')]&&(_0x2241bb['option'][_0x1a4e('0x40b9')]=this[_0x1a4e('0x40b7')]),_0x2241bb;},_0x2241bb;}(_0x1b62e7[_0x1a4e('0x3ae4')]),_0x310581=function(){};window['GV'][_0x1a4e('0x3ada')]('ActionItem',_0x4be6e8);},'./src/LayerManager/ActionLayer/ActionItem/ScaleAction.ts':function(_0x5358da,_0x269c60,_0x219d8d){'use strict';_0x219d8d['r'](_0x269c60),_0x219d8d['d'](_0x269c60,_0x1a4e('0x401d'),function(){return _0x2a37bc;});var _0x33fab3,_0x3d9ead=_0x219d8d(_0x1a4e('0x408a')),_0xfb1589=(_0x33fab3=function(_0x5358da,_0x269c60){return(_0x33fab3=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5358da,_0x269c60){_0x5358da[_0x1a4e('0x295')]=_0x269c60;}||function(_0x5358da,_0x269c60){for(var _0x219d8d in _0x269c60)_0x269c60[_0x1a4e('0xb')](_0x219d8d)&&(_0x5358da[_0x219d8d]=_0x269c60[_0x219d8d]);})(_0x5358da,_0x269c60);},function(_0x5358da,_0x269c60){function _0x219d8d(){this['constructor']=_0x5358da;}_0x33fab3(_0x5358da,_0x269c60),_0x5358da['prototype']=null===_0x269c60?Object[_0x1a4e('0x7')](_0x269c60):(_0x219d8d['prototype']=_0x269c60[_0x1a4e('0xa')],new _0x219d8d());}),_0x2a37bc=function(_0x5358da){function _0x269c60(_0x269c60){var _0x219d8d=_0x5358da['call'](this)||this;return _0x219d8d['_needIntervalTypes']=[_0x1a4e('0x39e4'),_0x1a4e('0x3e8f'),_0x1a4e('0x3e38')],_0x219d8d[_0x1a4e('0x40cc')]=0x1,_0x219d8d[_0x1a4e('0x4086')]=_0x269c60[_0x1a4e('0x4058')],_0x219d8d[_0x1a4e('0x4087')]=_0x269c60[_0x1a4e('0x4067')],_0x219d8d['_graphic']=_0x269c60[_0x1a4e('0x4072')],_0x219d8d[_0x1a4e('0x40cd')]=_0x269c60[_0x1a4e('0x40ce')],_0x219d8d[_0x1a4e('0x4095')]=_0x219d8d[_0x1a4e('0x4087')]-_0x219d8d[_0x1a4e('0x4086')],_0x219d8d;}return _0xfb1589(_0x269c60,_0x5358da),_0x269c60[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x269c60['type'];},Object[_0x1a4e('0x2')](_0x269c60,_0x1a4e('0x40'),{'get':function(){return'ScaleAction';},'enumerable':!0x0,'configurable':!0x0}),_0x269c60[_0x1a4e('0xa')]['timelineFun']=function(_0x5358da){!this[_0x1a4e('0x732')]&&Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x5358da,this['_endTime'])>0x0&&(this[_0x1a4e('0x732')]=!0x0,this[_0x1a4e('0x40a9')]()),!this['_isDone']&&Cesium['JulianDate'][_0x1a4e('0x77')](_0x5358da,this[_0x1a4e('0x4063')])>=0x0&&(this[_0x1a4e('0x4083')]||(this[_0x1a4e('0x40cf')]=this[_0x1a4e('0x40d0')](),this[_0x1a4e('0x4083')]=!0x0,this['_createInterval']()),this[_0x1a4e('0x40cc')]=Cesium['JulianDate'][_0x1a4e('0x409c')](_0x5358da,this[_0x1a4e('0x4063')])/this[_0x1a4e('0x4095')],this[_0x1a4e('0x40cf')]||this[_0x1a4e('0x40d1')]());},_0x269c60[_0x1a4e('0xa')]['pauseEvent']=function(){this[_0x1a4e('0x40a9')]();},_0x269c60[_0x1a4e('0xa')][_0x1a4e('0x406f')]=function(){this[_0x1a4e('0x40a9')]();},_0x269c60[_0x1a4e('0xa')][_0x1a4e('0x406e')]=function(){this[_0x1a4e('0x409d')]();},_0x269c60[_0x1a4e('0xa')]['_createInterval']=function(){var _0x5358da=this;this[_0x1a4e('0x40cf')]&&(this['_clearInterval'](),this[_0x1a4e('0x40aa')]=setInterval(function(){_0x5358da['_changePixelSize']();},0x64));},_0x269c60[_0x1a4e('0xa')]['_clearInterval']=function(){this['_intervalFun']&&(clearInterval(this[_0x1a4e('0x40aa')]),this[_0x1a4e('0x40aa')]=null);},_0x269c60[_0x1a4e('0xa')]['_isNeedInterval']=function(){for(var _0x5358da=this[_0x1a4e('0x40d2')],_0x269c60=this[_0x1a4e('0x4091')][_0x1a4e('0x3cc')](),_0x219d8d=0x0;_0x219d8d<_0x5358da[_0x1a4e('0x1e')];_0x219d8d++)if(_0x269c60===_0x5358da[_0x219d8d])return!0x0;return!0x1;},Object[_0x1a4e('0x2')](_0x269c60[_0x1a4e('0xa')],_0x1a4e('0x408d'),{'get':function(){return{'startTime':this[_0x1a4e('0x405a')],'endTime':this[_0x1a4e('0x405c')],'graphic':this[_0x1a4e('0x4091')],'factor':this[_0x1a4e('0x40cd')]};},'set':function(_0x5358da){this[_0x1a4e('0x4091')]=_0x5358da['graphic'],this[_0x1a4e('0x40cd')]=_0x5358da[_0x1a4e('0x40ce')],this['rStartTime']=_0x5358da[_0x1a4e('0x4058')],this[_0x1a4e('0x405c')]=_0x5358da['endTime'],this[_0x1a4e('0x4095')]=this['_rEndTime']-this['_rStartTime'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x269c60[_0x1a4e('0xa')],_0x1a4e('0x4072'),{'get':function(){return this[_0x1a4e('0x4091')];},'set':function(_0x5358da){this[_0x1a4e('0x4091')]=_0x5358da;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x269c60[_0x1a4e('0xa')],_0x1a4e('0x40ce'),{'get':function(){return this['_factor'];},'set':function(_0x5358da){this[_0x1a4e('0x40cd')]=_0x5358da;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x269c60[_0x1a4e('0xa')],'rStartTime',{'get':function(){return this[_0x1a4e('0x4086')];},'set':function(_0x5358da){this['_rStartTime']=_0x5358da,this['_actionGroup']&&(this[_0x1a4e('0x4063')]=this[_0x1a4e('0x4085')][_0x1a4e('0x4069')](this,_0x5358da)),this[_0x1a4e('0x4095')]=this[_0x1a4e('0x4087')]-this[_0x1a4e('0x4086')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x269c60[_0x1a4e('0xa')],_0x1a4e('0x405c'),{'get':function(){return this['_rEndTime'];},'set':function(_0x5358da){this[_0x1a4e('0x4087')]=_0x5358da,this[_0x1a4e('0x4085')]&&(this[_0x1a4e('0x4068')]=this[_0x1a4e('0x4085')][_0x1a4e('0x406a')](this,_0x5358da)),this[_0x1a4e('0x4095')]=this['_rEndTime']-this[_0x1a4e('0x4086')];},'enumerable':!0x0,'configurable':!0x0}),_0x269c60['prototype'][_0x1a4e('0x40d3')]=function(_0x5358da){switch(_0x5358da[_0x1a4e('0x3cc')]()){case _0x1a4e('0x3984'):return{'pixelSize':_0x5358da['pixelSize']};case _0x1a4e('0x3e2a'):case _0x1a4e('0x397c'):case'CustomLabelGraphic':case _0x1a4e('0x3e30'):case _0x1a4e('0x3e2e'):case _0x1a4e('0x3e47'):case _0x1a4e('0x3e46'):case _0x1a4e('0x3e2c'):return{'scale':_0x5358da[_0x1a4e('0x143')]};case _0x1a4e('0x3e3d'):case _0x1a4e('0x3e2f'):case'ScanGraphic':case _0x1a4e('0x3e3e'):case _0x1a4e('0x3e95'):return{'radius':_0x5358da[_0x1a4e('0x3b5d')]};case _0x1a4e('0x3e8f'):case _0x1a4e('0x39e4'):case _0x1a4e('0x3e38'):return{'width':_0x5358da['width']};case'EllipseGraphic':return{'semiMinorAxis':_0x5358da[_0x1a4e('0x3e51')],'semiMajorAxis':_0x5358da[_0x1a4e('0x3e52')]};case _0x1a4e('0x3e2b'):return{'radii':_0x5358da[_0x1a4e('0x3a9a')]};case _0x1a4e('0x3e34'):return{'rasterWidth':_0x5358da[_0x1a4e('0x40d4')]};case _0x1a4e('0x3e29'):return{'size':_0x5358da[_0x1a4e('0x220')]};default:return console['log'](_0x1a4e('0x40d5')),null;}},_0x269c60[_0x1a4e('0xa')]['_changePixelSize']=function(){if(this[_0x1a4e('0x40d6')]){var _0x5358da=this['_initSize'];for(var _0x269c60 in _0x5358da)if(_0x1a4e('0x3a9a')===_0x269c60){var _0x219d8d=_0x5358da[_0x269c60],_0x33fab3=(_0x219d8d[0x0]*this[_0x1a4e('0x40cd')]-_0x219d8d[0x0])*this[_0x1a4e('0x40cc')]+_0x219d8d[0x0],_0x3d9ead=(_0x219d8d[0x1]*this[_0x1a4e('0x40cd')]-_0x219d8d[0x1])*this[_0x1a4e('0x40cc')]+_0x219d8d[0x1],_0xfb1589=(_0x219d8d[0x2]*this[_0x1a4e('0x40cd')]-_0x219d8d[0x2])*this[_0x1a4e('0x40cc')]+_0x219d8d[0x2];this['_graphic'][_0x269c60]=[_0x33fab3,_0x3d9ead,_0xfb1589];}else this[_0x1a4e('0x4091')][_0x269c60]=(_0x5358da[_0x269c60]*this[_0x1a4e('0x40cd')]-_0x5358da[_0x269c60])*this['_progress']+_0x5358da[_0x269c60];}},_0x269c60[_0x1a4e('0xa')]['recordInitState']=function(){this[_0x1a4e('0x40d6')]=this[_0x1a4e('0x40d3')](this[_0x1a4e('0x4091')]),this[_0x1a4e('0x4084')]={'graphic':this['_graphic'],'initSize':this['_initSize']};},_0x269c60[_0x1a4e('0xa')][_0x1a4e('0x4070')]=function(){if(this[_0x1a4e('0x4084')]&&this['_initState'][_0x1a4e('0x40d7')]){var _0x5358da=this[_0x1a4e('0x4084')][_0x1a4e('0x40d7')],_0x269c60=this[_0x1a4e('0x4084')][_0x1a4e('0x4072')];for(var _0x219d8d in _0x5358da)_0x269c60[_0x219d8d]=_0x5358da[_0x219d8d];}},_0x269c60[_0x1a4e('0xa')]['toJson']=function(){return{'name':this['name'],'type':this['getType'](),'option':{'startTime':this[_0x1a4e('0x4086')],'endTime':this[_0x1a4e('0x4087')],'graphic':this[_0x1a4e('0x4091')][_0x1a4e('0x3acb')](),'factor':this['_factor']},'properties':this[_0x1a4e('0x376c')]};},_0x269c60;}(_0x3d9ead['ActionItem']);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae4'),_0x2a37bc);},'./src/LayerManager/ActionLayer/ActionItem/VisibleAction.ts':function(_0x4fbbbe,_0x4045f0,_0x51b960){'use strict';_0x51b960['r'](_0x4045f0),_0x51b960['d'](_0x4045f0,'VisibleAction',function(){return _0x4d85b4;});var _0x688483,_0x5df637=_0x51b960(_0x1a4e('0x408a')),_0x24055d=(_0x688483=function(_0x4fbbbe,_0x4045f0){return(_0x688483=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4fbbbe,_0x4045f0){_0x4fbbbe[_0x1a4e('0x295')]=_0x4045f0;}||function(_0x4fbbbe,_0x4045f0){for(var _0x51b960 in _0x4045f0)_0x4045f0['hasOwnProperty'](_0x51b960)&&(_0x4fbbbe[_0x51b960]=_0x4045f0[_0x51b960]);})(_0x4fbbbe,_0x4045f0);},function(_0x4fbbbe,_0x4045f0){function _0x51b960(){this[_0x1a4e('0x10')]=_0x4fbbbe;}_0x688483(_0x4fbbbe,_0x4045f0),_0x4fbbbe[_0x1a4e('0xa')]=null===_0x4045f0?Object['create'](_0x4045f0):(_0x51b960[_0x1a4e('0xa')]=_0x4045f0[_0x1a4e('0xa')],new _0x51b960());}),_0x4d85b4=function(_0x4fbbbe){function _0x4045f0(_0x4045f0){var _0x51b960=_0x4fbbbe[_0x1a4e('0x1')](this)||this;return _0x51b960[_0x1a4e('0x4091')]=null,_0x51b960['_visible']=!0x0,_0x51b960[_0x1a4e('0x4091')]=_0x4045f0[_0x1a4e('0x4072')],_0x51b960[_0x1a4e('0x3b33')]=_0x4045f0[_0x1a4e('0x3b2c')],_0x51b960[_0x1a4e('0x4086')]=_0x4045f0[_0x1a4e('0x4058')],_0x51b960['_rEndTime']=_0x4045f0[_0x1a4e('0x4058')],_0x51b960;}return _0x24055d(_0x4045f0,_0x4fbbbe),_0x4045f0[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4045f0[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x4045f0,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x401b');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4045f0['prototype'],_0x1a4e('0x4072'),{'get':function(){return this[_0x1a4e('0x4091')];},'set':function(_0x4fbbbe){this[_0x1a4e('0x4091')]=_0x4fbbbe;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4045f0['prototype'],_0x1a4e('0x408d'),{'get':function(){return{'graphic':this[_0x1a4e('0x4091')],'startTime':this[_0x1a4e('0x405a')],'visible':this[_0x1a4e('0x3b33')]};},'set':function(_0x4fbbbe){this['_graphic']=_0x4fbbbe[_0x1a4e('0x4072')],this[_0x1a4e('0x3b33')]=_0x4fbbbe['visible'],this[_0x1a4e('0x405a')]=_0x4fbbbe['startTime'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4045f0[_0x1a4e('0xa')],_0x1a4e('0x3b2c'),{'get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0x4fbbbe){this[_0x1a4e('0x3b33')]=_0x4fbbbe;},'enumerable':!0x0,'configurable':!0x0}),_0x4045f0[_0x1a4e('0xa')][_0x1a4e('0x4071')]=function(_0x4fbbbe){!this[_0x1a4e('0x732')]&&Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x4fbbbe,this[_0x1a4e('0x4063')])>=0x0&&(this['_graphic']['visible']=this[_0x1a4e('0x3b33')],this[_0x1a4e('0x732')]=!0x0);},_0x4045f0['prototype'][_0x1a4e('0x4089')]=function(){this[_0x1a4e('0x4084')]={'graphic':this[_0x1a4e('0x4091')],'visible':this[_0x1a4e('0x4091')]['visible']};},_0x4045f0[_0x1a4e('0xa')]['recoverInitState']=function(){this[_0x1a4e('0x4084')]&&(this[_0x1a4e('0x4084')]['graphic'][_0x1a4e('0x3b2c')]=this[_0x1a4e('0x4084')][_0x1a4e('0x3b2c')]);},_0x4045f0[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){return{'name':this[_0x1a4e('0x2cb')],'type':this['getType'](),'option':{'startTime':this[_0x1a4e('0x4086')],'graphic':this[_0x1a4e('0x4091')][_0x1a4e('0x3acb')](),'visible':this[_0x1a4e('0x3b33')]},'properties':this[_0x1a4e('0x376c')]};},_0x4045f0;}(_0x5df637[_0x1a4e('0x3ae4')]);window['GV']['REGISTER']('ActionItem',_0x4d85b4);},'./src/LayerManager/ActionLayer/ActionLayer.ts':function(_0x5dd43e,_0x1e0dea,_0x295124){'use strict';_0x295124['r'](_0x1e0dea),_0x295124['d'](_0x1e0dea,_0x1a4e('0x4018'),function(){return _0x207af1;}),_0x295124['d'](_0x1e0dea,_0x1a4e('0x40d8'),function(){return _0x19b811;});var _0x19b811,_0x45d38f=_0x295124(_0x1a4e('0x40d9')),_0xe8981a=_0x295124(_0x1a4e('0x408a')),_0x50911f=_0x295124(_0x1a4e('0x40b1')),_0x59f64f=function(_0x5dd43e,_0x1e0dea){var _0x295124=_0x1a4e('0x68')==typeof Symbol&&_0x5dd43e[Symbol[_0x1a4e('0x335')]];if(!_0x295124)return _0x5dd43e;var _0x19b811,_0x45d38f,_0xe8981a=_0x295124['call'](_0x5dd43e),_0x50911f=[];try{for(;(void 0x0===_0x1e0dea||_0x1e0dea-->0x0)&&!(_0x19b811=_0xe8981a[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x50911f[_0x1a4e('0x46')](_0x19b811['value']);}catch(_0x1994dd){_0x45d38f={'error':_0x1994dd};}finally{try{_0x19b811&&!_0x19b811[_0x1a4e('0x3c2')]&&(_0x295124=_0xe8981a[_0x1a4e('0xe40')])&&_0x295124['call'](_0xe8981a);}finally{if(_0x45d38f)throw _0x45d38f[_0x1a4e('0x873')];}}return _0x50911f;},_0x5f4704=function(){for(var _0x5dd43e=[],_0x1e0dea=0x0;_0x1e0dea-0x1;})>-0x1&&this[_0x1a4e('0x40da')][_0x1a4e('0x3b')](function(_0x5dd43e){_0x5dd43e['reBindGraphicById']();});},_0x5dd43e[_0x1a4e('0xa')]['_getGroupTimeLengths']=function(){var _0x5dd43e=[];return this['_groupCollection'][_0x1a4e('0x3b')](function(_0x1e0dea){var _0x295124=_0x1e0dea[_0x1a4e('0x4054')];_0x5dd43e[_0x1a4e('0x46')](_0x295124[0x1]-0x0);}),_0x5dd43e;},_0x5dd43e[_0x1a4e('0xa')][_0x1a4e('0x40ed')]=function(){var _0x5dd43e=this['_groupCollection'],_0x1e0dea=[],_0x295124=[];return _0x5dd43e[_0x1a4e('0x3b')](function(_0x5dd43e){var _0x19b811=_0x5dd43e[_0x1a4e('0x4054')];_0x1e0dea[_0x1a4e('0x46')](_0x19b811[0x0]),_0x295124[_0x1a4e('0x46')](_0x19b811[0x1]);}),[Math[_0x1a4e('0x74')][_0x1a4e('0x8b')](Math,_0x5f4704(_0x1e0dea)),Math[_0x1a4e('0x6c')][_0x1a4e('0x8b')](Math,_0x5f4704(_0x295124))];},_0x5dd43e[_0x1a4e('0xa')][_0x1a4e('0xc9')]=function(_0x5dd43e){if(!(this[_0x1a4e('0x40ee')]<0x1)){if(_0x5dd43e&&this[_0x1a4e('0x40ef')](),this[_0x1a4e('0x37b7')]===_0x19b811['NotStart'])this['_recordInitState'](_0x5dd43e),this[_0x1a4e('0x40e4')]=new Cesium[(_0x1a4e('0x40f0'))]({'clockRange':Cesium['ClockRange']['CLAMPED'],'clockStep':Cesium['ClockStep']['SYSTEM_CLOCK_MULTIPLIER'],'multiplier':this[_0x1a4e('0x40db')]}),this[_0x1a4e('0x40f1')](),this['_tickListener']=this['_viewer'][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](this[_0x1a4e('0x40f2')],this),this['_state']=_0x19b811[_0x1a4e('0x3498')],this[_0x1a4e('0x40e4')][_0x1a4e('0x40f3')]=!0x0;else if(this[_0x1a4e('0x37b7')]===_0x19b811[_0x1a4e('0x40f4')])this[_0x1a4e('0x40f5')]();else if(this[_0x1a4e('0x37b7')]===_0x19b811['Pause']){this[_0x1a4e('0x40da')][this['_currentGroupIndex']][_0x1a4e('0x406d')](),this[_0x1a4e('0x40e4')][_0x1a4e('0x40f3')]=!0x0;}this[_0x1a4e('0x40f6')]&&this[_0x1a4e('0x40f6')]();}},_0x5dd43e[_0x1a4e('0xa')]['pause']=function(){this[_0x1a4e('0x40e4')]&&(this[_0x1a4e('0x40e4')][_0x1a4e('0x40f3')]=!0x1,this[_0x1a4e('0x40e4')][_0x1a4e('0x40f7')]=this[_0x1a4e('0x40e4')][_0x1a4e('0x40f8')](),this[_0x1a4e('0x37b7')]=_0x19b811[_0x1a4e('0x4081')],this[_0x1a4e('0x40da')][this[_0x1a4e('0x40dd')]][_0x1a4e('0x40f9')](),this[_0x1a4e('0x40fa')]&&this[_0x1a4e('0x40fa')]());},_0x5dd43e[_0x1a4e('0xa')][_0x1a4e('0x40f5')]=function(){this[_0x1a4e('0x40e4')]=new Cesium[(_0x1a4e('0x40f0'))]({'clockRange':Cesium[_0x1a4e('0x40fb')][_0x1a4e('0x40fc')],'clockStep':Cesium[_0x1a4e('0x40fd')][_0x1a4e('0x40fe')],'multiplier':this[_0x1a4e('0x40db')]}),this[_0x1a4e('0x40f1')](),this[_0x1a4e('0x40ff')]=this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](this[_0x1a4e('0x40f2')],this),this[_0x1a4e('0x40e4')]['shouldAnimate']=!0x0,this['_state']=_0x19b811[_0x1a4e('0x4082')];},_0x5dd43e[_0x1a4e('0xa')][_0x1a4e('0x127b')]=function(){this[_0x1a4e('0x40e4')]&&(this[_0x1a4e('0x40e4')]['currentTime']=this[_0x1a4e('0x4057')],this[_0x1a4e('0x40e4')][_0x1a4e('0x40f3')]=!0x1,this['_removeTickListener'](),this[_0x1a4e('0x37b7')]=_0x19b811['Stop'],this[_0x1a4e('0x40da')][this['_currentGroupIndex']][_0x1a4e('0x4100')](),this[_0x1a4e('0x40dd')]=0x0,this[_0x1a4e('0x4101')]&&this[_0x1a4e('0x4101')]());},_0x5dd43e['prototype']['reSet']=function(){var _0x5dd43e=this[_0x1a4e('0x40da')];this[_0x1a4e('0x127b')](),this[_0x1a4e('0x37b7')]===_0x19b811[_0x1a4e('0x40f4')]&&_0x5dd43e[_0x1a4e('0x3b')](function(_0x5dd43e){_0x5dd43e['recoverInitState']();}),this[_0x1a4e('0x37b7')]=_0x19b811['NotStart'];},_0x5dd43e['prototype']['setInitCamera']=function(_0x5dd43e){_0x5dd43e&&(_0x5dd43e['duration']=0x0),this[_0x1a4e('0x4102')]=_0x5dd43e;},Object['defineProperty'](_0x5dd43e[_0x1a4e('0xa')],'onStart',{'set':function(_0x5dd43e){this[_0x1a4e('0x40f6')]=_0x5dd43e;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5dd43e['prototype'],_0x1a4e('0x4103'),{'set':function(_0x5dd43e){this[_0x1a4e('0x40fa')]=_0x5dd43e;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5dd43e[_0x1a4e('0xa')],'onRunning',{'set':function(_0x5dd43e){this[_0x1a4e('0x4104')]=_0x5dd43e;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5dd43e['prototype'],'runningCB',{'set':function(_0x5dd43e){this['_runningCB']=_0x5dd43e;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5dd43e['prototype'],_0x1a4e('0x4105'),{'set':function(_0x5dd43e){this[_0x1a4e('0x4106')]=_0x5dd43e;},'enumerable':!0x0,'configurable':!0x0}),_0x5dd43e['prototype'][_0x1a4e('0x404e')]=function(_0x5dd43e){return Object(_0x50911f[_0x1a4e('0x404e')])(_0x5dd43e);},Object[_0x1a4e('0x2')](_0x5dd43e['prototype'],_0x1a4e('0x4107'),{'set':function(_0x5dd43e){this[_0x1a4e('0x4101')]=_0x5dd43e;},'enumerable':!0x0,'configurable':!0x0}),_0x5dd43e['prototype'][_0x1a4e('0x3acb')]=function(_0x5dd43e){this['reSet']();var _0x1e0dea=[];return this[_0x1a4e('0x40da')][_0x1a4e('0x3b')](function(_0x5dd43e){_0x1e0dea[_0x1a4e('0x46')](_0x5dd43e[_0x1a4e('0x3acb')]());}),_0x5dd43e?{'baseTime':this[_0x1a4e('0x407c')](this['getBaseTime']()),'actionGroups':_0x1e0dea,'graphics':this[_0x1a4e('0x38fa')][_0x1a4e('0x3973')][_0x1a4e('0x3acb')]()}:{'baseTime':this['_toStringByDate'](this[_0x1a4e('0x40eb')]()),'actionGroups':_0x1e0dea};},_0x5dd43e['prototype'][_0x1a4e('0x3acc')]=function(_0x5dd43e){var _0x1e0dea=this;this[_0x1a4e('0xb5')](),this[_0x1a4e('0x40df')](_0x5dd43e[_0x1a4e('0x4108')]),_0x5dd43e[_0x1a4e('0x4109')]&&this['_viewer'][_0x1a4e('0x3973')][_0x1a4e('0x410a')](_0x5dd43e[_0x1a4e('0x4109')]);var _0x295124=[];return _0x5dd43e[_0x1a4e('0x410b')][_0x1a4e('0x3b')](function(_0x5dd43e){var _0x19b811=new _0x45d38f[(_0x1a4e('0x4052'))](_0x1e0dea[_0x1a4e('0x38fa')]);_0x19b811['setBaseTime'](_0x1e0dea[_0x1a4e('0x4057')]),_0x19b811[_0x1a4e('0x3acc')](_0x5dd43e),_0x295124[_0x1a4e('0x46')](_0x19b811);}),_0x295124[_0x1a4e('0x1e')]&&(this['_groupCollection']=_0x295124),this[_0x1a4e('0x40da')];},_0x5dd43e[_0x1a4e('0xa')]['_recordInitState']=function(_0x5dd43e){_0x5dd43e||this[_0x1a4e('0x40da')][_0x1a4e('0x3b')](function(_0x5dd43e){_0x5dd43e[_0x1a4e('0x4089')]();});},_0x5dd43e[_0x1a4e('0xa')][_0x1a4e('0x40f1')]=function(){this[_0x1a4e('0x4102')]&&this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x408e')](this[_0x1a4e('0x4102')]);var _0x5dd43e=this[_0x1a4e('0x40da')];_0x5dd43e[0x0]['beforeStartInit'](this[_0x1a4e('0x40e4')]),this[_0x1a4e('0x37b7')]===_0x19b811[_0x1a4e('0x40f4')]&&_0x5dd43e[_0x1a4e('0x3b')](function(_0x5dd43e){_0x5dd43e[_0x1a4e('0x4070')]();}),this[_0x1a4e('0x40de')]=this[_0x1a4e('0x410c')](),this[_0x1a4e('0x4106')]&&this[_0x1a4e('0x4106')](_0x5dd43e[0x0]);},_0x5dd43e[_0x1a4e('0xa')][_0x1a4e('0x40f2')]=function(){var _0x5dd43e=this[_0x1a4e('0x40da')][this[_0x1a4e('0x40dd')]];if(_0x5dd43e&&_0x5dd43e[_0x1a4e('0x410d')][_0x1a4e('0x1e')]){var _0x1e0dea=this[_0x1a4e('0x40e4')][_0x1a4e('0x40f8')](),_0x295124=this['_clock'][_0x1a4e('0x407a')];if(this[_0x1a4e('0x4104')]){for(var _0x19b811=Cesium[_0x1a4e('0x39a9')]['secondsDifference'](_0x1e0dea,this['_baseTime']),_0x45d38f=_0x19b811,_0xe8981a=0x0;_0xe8981a=0x0&&this[_0x1a4e('0x410e')]();}else this[_0x1a4e('0x410e')]();},_0x5dd43e[_0x1a4e('0xa')][_0x1a4e('0x410e')]=function(){var _0x5dd43e=this['_groupCollection'],_0x1e0dea=this['_getNextGroupIndex']();if(_0x1e0dea){this[_0x1a4e('0x40dd')]=_0x1e0dea;var _0x295124=_0x5dd43e[_0x1e0dea];_0x295124[_0x1a4e('0x1e')]?(_0x295124['beforeStartInit'](this[_0x1a4e('0x40e4')]),this[_0x1a4e('0x4106')]&&this[_0x1a4e('0x4106')](_0x295124)):this[_0x1a4e('0x410e')]();}else this[_0x1a4e('0x127b')](),this[_0x1a4e('0x40dd')]=0x0,this[_0x1a4e('0x40dc')]&&this[_0x1a4e('0xc9')](!0x0);},_0x5dd43e['prototype'][_0x1a4e('0x410f')]=function(){return this['_currentGroupIndex']_0xd2cfd6?_0xd2cfd6:_0xacd67e<_0x232f34?_0x232f34:_0xacd67e;},_0xacd67e[_0x1a4e('0xa')][_0x1a4e('0x411f')]=function(){var _0xacd67e=this;this[_0x1a4e('0x38d6')][_0x1a4e('0x411c')][_0x1a4e('0x4123')]=this[_0x1a4e('0x4113')];var _0x232f34=this['_rectangle'][0x2]-this[_0x1a4e('0x4116')][0x0],_0xd2cfd6=this[_0x1a4e('0x4116')][0x3]-this[_0x1a4e('0x4116')][0x1];this[_0x1a4e('0x4124')]&&this['_billboardCollection'][_0x1a4e('0x3a42')](),this[_0x1a4e('0x4125')]&&this['_modelCollection']['map'](function(_0x232f34){_0xacd67e[_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x232f34);}),this[_0x1a4e('0x4125')]=[],this[_0x1a4e('0x4124')]=this[_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](new Cesium['BillboardCollection']());new Map();for(var _0x20b858=0x0;_0x20b858=0x64?console[_0x1a4e('0x58')](_0x1a4e('0x413e')):this[_0x1a4e('0x4137')]['width']!==_0x515f64&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3936')]=_0x515f64,this['updateAttribute'](_0x1a4e('0x3936')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x38a950[_0x1a4e('0xa')],'clampToGround',{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x38a950[_0x1a4e('0xa')],'step',{'get':function(){return this[_0x1a4e('0x4137')]['step'];},'set':function(_0x515f64){_0x515f64<=0x0||_0x515f64>=0x3e8?console[_0x1a4e('0x58')](_0x1a4e('0x413f')):(this[_0x1a4e('0x4137')][_0x1a4e('0xbad')]=_0x515f64,this[_0x1a4e('0x3dda')](_0x1a4e('0x398a')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x38a950[_0x1a4e('0xa')],_0x1a4e('0x4140'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4140')];},'set':function(_0x515f64){this[_0x1a4e('0x4137')][_0x1a4e('0x4140')]=_0x515f64;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x38a950['prototype'],_0x1a4e('0x4141'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4141')];},'set':function(_0x515f64){this['_opt'][_0x1a4e('0x4141')]=_0x515f64,this[_0x1a4e('0x3dda')]('lineStyle');},'enumerable':!0x0,'configurable':!0x0}),_0x38a950[_0x1a4e('0xa')]['getInterpolationCallback']=function(_0x515f64){var _0x38a950=_0xa897e3[_0x1a4e('0x3990')]['modifyControlPoints'](_0x515f64);return _0xa897e3[_0x1a4e('0x3990')][_0x1a4e('0x4142')](_0x38a950,this[_0x1a4e('0xbad')]);},Object[_0x1a4e('0x2')](_0x38a950[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this['lineStyle']['color'];},'set':function(_0x515f64){var _0x38a950=this[_0x1a4e('0x4141')];_0x38a950['color']=_0x515f64,this[_0x1a4e('0x4141')]=_0x38a950;},'enumerable':!0x0,'configurable':!0x0}),_0x38a950;}(_0x11668f[_0x1a4e('0x3ae2')]),_0x2723d5=function(_0x515f64){function _0x38a950(){var _0x38a950=null!==_0x515f64&&_0x515f64[_0x1a4e('0x8b')](this,arguments)||this;return _0x38a950[_0x1a4e('0xbad')]=0x32,_0x38a950[_0x1a4e('0x4141')]=new _0x3bb73b['ColorStyle'](_0x1a4e('0x393b')),_0x38a950[_0x1a4e('0x3936')]=0x1,_0x38a950[_0x1a4e('0x4140')]=!0x1,_0x38a950;}return _0x5b8ef7(_0x38a950,_0x515f64),_0x38a950;}(_0x11668f[_0x1a4e('0x4143')]);window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x301604);},'./src/LayerManager/GraphicLayer/GraphicItem/BillboardGraphic.ts':function(_0x5ad61c,_0x27c191,_0x1f3cc4){'use strict';_0x1f3cc4['r'](_0x27c191),_0x1f3cc4['d'](_0x27c191,_0x1a4e('0x3e2a'),function(){return _0x36a354;}),_0x1f3cc4['d'](_0x27c191,'BillboardGraphicOpt',function(){return _0x10dbc7;});var _0xd2e67c,_0x180647=_0x1f3cc4(_0x1a4e('0x4144')),_0x2d7536=_0x1f3cc4(_0x1a4e('0x4136')),_0x46df59=(_0xd2e67c=function(_0x5ad61c,_0x27c191){return(_0xd2e67c=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x5ad61c,_0x27c191){_0x5ad61c[_0x1a4e('0x295')]=_0x27c191;}||function(_0x5ad61c,_0x27c191){for(var _0x1f3cc4 in _0x27c191)_0x27c191[_0x1a4e('0xb')](_0x1f3cc4)&&(_0x5ad61c[_0x1f3cc4]=_0x27c191[_0x1f3cc4]);})(_0x5ad61c,_0x27c191);},function(_0x5ad61c,_0x27c191){function _0x1f3cc4(){this[_0x1a4e('0x10')]=_0x5ad61c;}_0xd2e67c(_0x5ad61c,_0x27c191),_0x5ad61c['prototype']=null===_0x27c191?Object[_0x1a4e('0x7')](_0x27c191):(_0x1f3cc4['prototype']=_0x27c191[_0x1a4e('0xa')],new _0x1f3cc4());}),_0x36a354=function(_0x5ad61c){function _0x27c191(_0x27c191){var _0x1f3cc4=_0x5ad61c[_0x1a4e('0x1')](this,_0x27c191)||this;return _0x1f3cc4['_opt']=new _0x10dbc7(),_0x1f3cc4['parseJson'](_0x27c191),_0x1f3cc4;}return _0x46df59(_0x27c191,_0x5ad61c),_0x27c191['prototype'][_0x1a4e('0x1fd')]=function(_0x27c191){if(_0x5ad61c[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x27c191),this['father']){var _0x1f3cc4=new _0x180647[(_0x1a4e('0x4145'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x1f3cc4;};}},_0x27c191[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this['_getRenderObj']();},_0x27c191[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x27c191[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x27c191,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e2a');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x3cb4'),{'get':function(){return this['_opt'][_0x1a4e('0x3cb4')];},'set':function(_0x5ad61c){this[_0x1a4e('0x4137')][_0x1a4e('0x3cb4')]!==_0x5ad61c&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3cb4')]=_0x5ad61c,this[_0x1a4e('0x3dda')]('image'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191['prototype'],'scale',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x143')];},'set':function(_0x5ad61c){this['_opt'][_0x1a4e('0x143')]!==_0x5ad61c&&(this[_0x1a4e('0x4137')]['scale']=_0x5ad61c,this[_0x1a4e('0x3dda')](_0x1a4e('0x143')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x397a'),{'get':function(){return this['_opt'][_0x1a4e('0x397a')];},'set':function(_0x5ad61c){this['_opt'][_0x1a4e('0x397a')]!==_0x5ad61c&&(this[_0x1a4e('0x4137')][_0x1a4e('0x397a')]=_0x5ad61c,this[_0x1a4e('0x3dda')](_0x1a4e('0x397a')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x397b'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x397b')];},'set':function(_0x5ad61c){this['_opt']['verticalOrigin']!==_0x5ad61c&&(this['_opt'][_0x1a4e('0x397b')]=_0x5ad61c,this[_0x1a4e('0x3dda')]('verticalOrigin'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x4146'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4146')];},'set':function(_0x5ad61c){this[_0x1a4e('0x4137')][_0x1a4e('0x4146')]=_0x5ad61c,this[_0x1a4e('0x3dda')]('eyeOffset');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x4147'),{'get':function(){return this['_opt']['pixelOffset'];},'set':function(_0x5ad61c){this[_0x1a4e('0x4137')][_0x1a4e('0x4147')]=_0x5ad61c,this[_0x1a4e('0x3dda')]('pixelOffset');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x3d2e'),{'get':function(){return this[_0x1a4e('0x4137')]['rotation'];},'set':function(_0x5ad61c){this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]!==_0x5ad61c&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]=_0x5ad61c,this[_0x1a4e('0x3dda')](_0x1a4e('0x3d2e')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x3936'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3936')];},'set':function(_0x5ad61c){this['_opt'][_0x1a4e('0x3936')]!==_0x5ad61c&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3936')]=_0x5ad61c,this[_0x1a4e('0x3dda')](_0x1a4e('0x3936')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],'height',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x152')];},'set':function(_0x5ad61c){this[_0x1a4e('0x4137')][_0x1a4e('0x152')]!==_0x5ad61c&&(this['_opt'][_0x1a4e('0x152')]=_0x5ad61c,this['updateAttribute'](_0x1a4e('0x152')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x5ad61c){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]!==_0x5ad61c&&(this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x5ad61c,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191['prototype'],_0x1a4e('0x4148'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4148')];},'set':function(_0x5ad61c){this[_0x1a4e('0x4137')][_0x1a4e('0x4148')]=_0x5ad61c,this[_0x1a4e('0x3dda')]('scaleByDistance');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191['prototype'],_0x1a4e('0x4149'),{'get':function(){return this['_opt'][_0x1a4e('0x4149')];},'set':function(_0x5ad61c){this[_0x1a4e('0x4137')][_0x1a4e('0x4149')]=_0x5ad61c,this[_0x1a4e('0x3dda')]('sizeInMeters');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x3bdf'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x5ad61c){this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]!==_0x5ad61c&&(this['_opt'][_0x1a4e('0x3bdf')]=_0x5ad61c,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x27c191[_0x1a4e('0xa')],_0x1a4e('0x414a'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x414a')];},'set':function(_0x5ad61c){this['_opt'][_0x1a4e('0x414a')]=_0x5ad61c,this[_0x1a4e('0x3dda')](_0x1a4e('0x414a'));},'enumerable':!0x0,'configurable':!0x0}),_0x27c191;}(_0x2d7536[_0x1a4e('0x413a')]),_0x10dbc7=function(_0x5ad61c){function _0x27c191(){var _0x27c191=null!==_0x5ad61c&&_0x5ad61c[_0x1a4e('0x8b')](this,arguments)||this;return _0x27c191[_0x1a4e('0x143')]=0x1,_0x27c191['horizontalOrigin']=_0x1a4e('0x111'),_0x27c191['verticalOrigin']=_0x1a4e('0x111'),_0x27c191[_0x1a4e('0x3d2e')]=0x0,_0x27c191['color']=_0x1a4e('0x3988'),_0x27c191;}return _0x46df59(_0x27c191,_0x5ad61c),_0x27c191;}(_0x2d7536[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x36a354);},'./src/LayerManager/GraphicLayer/GraphicItem/BindedCylinderGraphic.ts':function(_0x253a2d,_0x493402,_0x5d3f6a){'use strict';_0x5d3f6a['r'](_0x493402),_0x5d3f6a['d'](_0x493402,_0x1a4e('0x3ffe'),function(){return _0x4b3116;}),_0x5d3f6a['d'](_0x493402,_0x1a4e('0x3fff'),function(){return _0x588661;});var _0x24ca1f,_0x418fcf=_0x5d3f6a('./src/LayerManager/GraphicLayer/GraphicRender/BindedCylinder.ts'),_0x48a20c=_0x5d3f6a('./src/LayerManager/GraphicLayer/GraphicItem/GraphicPositionItem.ts'),_0x958427=(_0x24ca1f=function(_0x253a2d,_0x493402){return(_0x24ca1f=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x253a2d,_0x493402){_0x253a2d[_0x1a4e('0x295')]=_0x493402;}||function(_0x253a2d,_0x493402){for(var _0x5d3f6a in _0x493402)_0x493402[_0x1a4e('0xb')](_0x5d3f6a)&&(_0x253a2d[_0x5d3f6a]=_0x493402[_0x5d3f6a]);})(_0x253a2d,_0x493402);},function(_0x253a2d,_0x493402){function _0x5d3f6a(){this['constructor']=_0x253a2d;}_0x24ca1f(_0x253a2d,_0x493402),_0x253a2d[_0x1a4e('0xa')]=null===_0x493402?Object[_0x1a4e('0x7')](_0x493402):(_0x5d3f6a[_0x1a4e('0xa')]=_0x493402[_0x1a4e('0xa')],new _0x5d3f6a());}),_0x4b3116=function(_0x253a2d){function _0x493402(_0x493402){var _0x5d3f6a=_0x253a2d['call'](this,_0x493402)||this;return _0x5d3f6a['_opt']=new _0x588661(),_0x5d3f6a[_0x1a4e('0x3acc')](_0x493402),_0x5d3f6a;}return _0x958427(_0x493402,_0x253a2d),_0x493402[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x493402[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x493402,_0x1a4e('0x40'),{'get':function(){return'BindedCylinderGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0x493402[_0x1a4e('0xa')]['init']=function(_0x493402){if(_0x253a2d[_0x1a4e('0xa')]['init'][_0x1a4e('0x1')](this,_0x493402),this[_0x1a4e('0x4138')]){var _0x5d3f6a=new _0x418fcf['BindedCylinder'](this,this[_0x1a4e('0x4138')]['getRoot']());this[_0x1a4e('0x413d')]=function(){return _0x5d3f6a;};}},Object[_0x1a4e('0x2')](_0x493402[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this['_opt'][_0x1a4e('0x134')];},'set':function(_0x253a2d){this['_opt']['color']=_0x253a2d,this[_0x1a4e('0x3dda')]('color');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x493402[_0x1a4e('0xa')],'angle',{'get':function(){return this['_opt'][_0x1a4e('0x502')];},'set':function(_0x253a2d){this[_0x1a4e('0x4137')]['angle']=_0x253a2d,this[_0x1a4e('0x3dda')](_0x1a4e('0x502'));},'enumerable':!0x0,'configurable':!0x0}),_0x493402[_0x1a4e('0xa')][_0x1a4e('0x7a3')]=function(_0x253a2d,_0x493402,_0x5d3f6a){this['_opt'][_0x1a4e('0x414b')]=_0x253a2d,this[_0x1a4e('0x4137')]['horizontalAngle']=_0x493402,this['_opt']['verticalAngle']=_0x5d3f6a,this[_0x1a4e('0x3dda')](_0x1a4e('0x7a3')),this['_opt'][_0x1a4e('0x414b')]=void 0x0,this['_opt'][_0x1a4e('0x3a47')]=void 0x0,this[_0x1a4e('0x4137')]['verticalAngle']=void 0x0;},Object[_0x1a4e('0x2')](_0x493402[_0x1a4e('0xa')],_0x1a4e('0x414b'),{'get':function(){return this[_0x1a4e('0x4137')]['nextPosition'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x493402[_0x1a4e('0xa')],_0x1a4e('0x3a47'),{'get':function(){return this['_opt']['horizontalAngle'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x493402[_0x1a4e('0xa')],'verticalAngle',{'get':function(){return this[_0x1a4e('0x4137')]['verticalAngle'];},'enumerable':!0x0,'configurable':!0x0}),_0x493402;}(_0x48a20c[_0x1a4e('0x413a')]),_0x588661=function(_0x253a2d){function _0x493402(){var _0x493402=null!==_0x253a2d&&_0x253a2d[_0x1a4e('0x8b')](this,arguments)||this;return _0x493402[_0x1a4e('0x502')]=0x1e,_0x493402['color']=_0x1a4e('0x38d4'),_0x493402[_0x1a4e('0x3a47')]=0x0,_0x493402[_0x1a4e('0x3a49')]=0x0,_0x493402;}return _0x958427(_0x493402,_0x253a2d),_0x493402;}(_0x48a20c['GraphicPositionItemOpt']);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x4b3116);},'./src/LayerManager/GraphicLayer/GraphicItem/BlastGraphic.ts':function(_0x5b7a62,_0x2d6cfe,_0x438af5){'use strict';_0x438af5['r'](_0x2d6cfe),_0x438af5['d'](_0x2d6cfe,'BlastGraphic',function(){return _0x4f9306;}),_0x438af5['d'](_0x2d6cfe,'BlastGraphicOpt',function(){return _0x1cecb0;});var _0x16d384,_0x26fd63=_0x438af5(_0x1a4e('0x4136')),_0x33e8db=_0x438af5(_0x1a4e('0x414c')),_0x2d4612=(_0x16d384=function(_0x5b7a62,_0x2d6cfe){return(_0x16d384=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5b7a62,_0x2d6cfe){_0x5b7a62[_0x1a4e('0x295')]=_0x2d6cfe;}||function(_0x5b7a62,_0x2d6cfe){for(var _0x438af5 in _0x2d6cfe)_0x2d6cfe['hasOwnProperty'](_0x438af5)&&(_0x5b7a62[_0x438af5]=_0x2d6cfe[_0x438af5]);})(_0x5b7a62,_0x2d6cfe);},function(_0x5b7a62,_0x2d6cfe){function _0x438af5(){this[_0x1a4e('0x10')]=_0x5b7a62;}_0x16d384(_0x5b7a62,_0x2d6cfe),_0x5b7a62['prototype']=null===_0x2d6cfe?Object[_0x1a4e('0x7')](_0x2d6cfe):(_0x438af5[_0x1a4e('0xa')]=_0x2d6cfe[_0x1a4e('0xa')],new _0x438af5());}),_0x4f9306=function(_0x5b7a62){function _0x2d6cfe(_0x2d6cfe){var _0x438af5=_0x5b7a62[_0x1a4e('0x1')](this,_0x2d6cfe)||this;return _0x438af5[_0x1a4e('0x4137')]=new _0x1cecb0(),_0x438af5['parseJson'](_0x2d6cfe),_0x438af5;}return _0x2d4612(_0x2d6cfe,_0x5b7a62),_0x2d6cfe[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x2d6cfe){if(_0x5b7a62[_0x1a4e('0xa')]['init'][_0x1a4e('0x1')](this,_0x2d6cfe),this[_0x1a4e('0x4138')]){var _0x438af5=new _0x33e8db[(_0x1a4e('0x414d'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x438af5;};}},_0x2d6cfe[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x2d6cfe[_0x1a4e('0x40')];},Object['defineProperty'](_0x2d6cfe,_0x1a4e('0x40'),{'get':function(){return'BlastGraphic';},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2d6cfe[_0x1a4e('0xa')],'startColor',{'get':function(){return this['_opt'][_0x1a4e('0x414e')];},'set':function(_0x5b7a62){this[_0x1a4e('0x4137')][_0x1a4e('0x414e')]!==_0x5b7a62&&(this[_0x1a4e('0x4137')]['startColor']=_0x5b7a62,this['updateAttribute'](_0x1a4e('0x414e')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2d6cfe[_0x1a4e('0xa')],'endColor',{'get':function(){return this['_opt'][_0x1a4e('0x414f')];},'set':function(_0x5b7a62){this[_0x1a4e('0x4137')]['endColor']!==_0x5b7a62&&(this[_0x1a4e('0x4137')]['endColor']=_0x5b7a62,this[_0x1a4e('0x3dda')](_0x1a4e('0x414f')));},'enumerable':!0x0,'configurable':!0x0}),_0x2d6cfe['prototype'][_0x1a4e('0x3acb')]=function(){var _0x5b7a62={'type':this[_0x1a4e('0x3cc')](),'id':this['id'],'name':this['name'],'extendInfo':this[_0x1a4e('0x3e66')]};for(var _0x2d6cfe in this[_0x1a4e('0x4137')])void 0x0!==this[_0x1a4e('0x4137')][_0x2d6cfe]&&(this[_0x1a4e('0x4137')][_0x2d6cfe]instanceof Object&&this[_0x1a4e('0x4137')][_0x2d6cfe][_0x1a4e('0x3acb')]?_0x5b7a62[_0x2d6cfe]=this['_opt'][_0x2d6cfe][_0x1a4e('0x3acb')]():_0x5b7a62[_0x2d6cfe]=this['_opt'][_0x2d6cfe]);return _0x5b7a62['id']=this['id'],_0x5b7a62;},_0x2d6cfe;}(_0x26fd63['GraphicPositionItem']),_0x1cecb0=function(_0x5b7a62){function _0x2d6cfe(){var _0x2d6cfe=null!==_0x5b7a62&&_0x5b7a62[_0x1a4e('0x8b')](this,arguments)||this;return _0x2d6cfe['startColor']=_0x1a4e('0x4150'),_0x2d6cfe[_0x1a4e('0x414f')]=_0x1a4e('0x4151'),_0x2d6cfe;}return _0x2d4612(_0x2d6cfe,_0x5b7a62),_0x2d6cfe;}(_0x26fd63[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x4f9306);},'./src/LayerManager/GraphicLayer/GraphicItem/BubbleGraphic.ts':function(_0x26f809,_0x486ee8,_0x4f86ff){'use strict';_0x4f86ff['r'](_0x486ee8),_0x4f86ff['d'](_0x486ee8,_0x1a4e('0x3fdc'),function(){return _0x3b4107;}),_0x4f86ff['d'](_0x486ee8,'BubbleGraphicOpt',function(){return _0x38a831;}),_0x4f86ff['d'](_0x486ee8,_0x1a4e('0x3fdd'),function(){return _0x163014;});var _0x4eab10,_0x163014,_0x4f2e7d=_0x4f86ff(_0x1a4e('0x3e0b')),_0x1e51b1=_0x4f86ff(_0x1a4e('0x4152')),_0x5b0363=(_0x4eab10=function(_0x26f809,_0x486ee8){return(_0x4eab10=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x26f809,_0x486ee8){_0x26f809[_0x1a4e('0x295')]=_0x486ee8;}||function(_0x26f809,_0x486ee8){for(var _0x4f86ff in _0x486ee8)_0x486ee8['hasOwnProperty'](_0x4f86ff)&&(_0x26f809[_0x4f86ff]=_0x486ee8[_0x4f86ff]);})(_0x26f809,_0x486ee8);},function(_0x26f809,_0x486ee8){function _0x4f86ff(){this[_0x1a4e('0x10')]=_0x26f809;}_0x4eab10(_0x26f809,_0x486ee8),_0x26f809[_0x1a4e('0xa')]=null===_0x486ee8?Object[_0x1a4e('0x7')](_0x486ee8):(_0x4f86ff[_0x1a4e('0xa')]=_0x486ee8[_0x1a4e('0xa')],new _0x4f86ff());}),_0x3b4107=function(_0x26f809){function _0x486ee8(_0x486ee8){var _0x4f86ff=_0x26f809[_0x1a4e('0x1')](this,_0x486ee8)||this;return _0x4f86ff[_0x1a4e('0x39d5')]=_0x1a4e('0x3fdc'),_0x4f86ff[_0x1a4e('0x4137')]=new _0x38a831(),_0x4f86ff[_0x1a4e('0x3acc')](_0x486ee8),_0x4f86ff;}return _0x5b0363(_0x486ee8,_0x26f809),_0x486ee8[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x486ee8[_0x1a4e('0x40')];},Object['defineProperty'](_0x486ee8,'type',{'get':function(){return _0x1a4e('0x3fdc');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x486ee8['prototype'],'bubbleType',{'get':function(){return this['_opt'][_0x1a4e('0x4153')];},'set':function(_0x26f809){this[_0x1a4e('0x4137')][_0x1a4e('0x4153')]=_0x26f809;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x486ee8[_0x1a4e('0xa')],_0x1a4e('0x4154'),{'get':function(){return this[_0x1a4e('0x4137')]['panelOffset'];},'set':function(_0x26f809){this[_0x1a4e('0x4137')]['panelOffset']=_0x26f809,this[_0x1a4e('0x3dda')]('panelOffset');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x486ee8['prototype'],_0x1a4e('0x4155'),{'get':function(){return this['_opt'][_0x1a4e('0x4155')];},'set':function(_0x26f809){this[_0x1a4e('0x4137')]['bindObject']=_0x26f809,this[_0x1a4e('0x3dda')](_0x1a4e('0x4155'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x486ee8[_0x1a4e('0xa')],'position',{'get':function(){return this['_opt'][_0x1a4e('0x3553')];},'set':function(_0x26f809){this[_0x1a4e('0x4137')][_0x1a4e('0x3553')]=_0x26f809,this[_0x1a4e('0x4155')]=this[_0x1a4e('0x4137')]['position'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x486ee8['prototype'],_0x1a4e('0x4156'),{'get':function(){return this[_0x1a4e('0x3ef9')]()[_0x1a4e('0x4157')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x486ee8['prototype'],_0x1a4e('0x4158'),{'get':function(){return this['getRenderObject']()[_0x1a4e('0x4159')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x486ee8[_0x1a4e('0xa')],_0x1a4e('0x415a'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x415a')];},'set':function(_0x26f809){this[_0x1a4e('0x4137')][_0x1a4e('0x415a')]=_0x26f809,this[_0x1a4e('0x3dda')](_0x1a4e('0x415a'));},'enumerable':!0x0,'configurable':!0x0}),_0x486ee8[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x486ee8){if(_0x26f809[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x486ee8),this['father']){var _0x4f86ff=new _0x1e51b1[(_0x1a4e('0x415b'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x4f86ff;};}},_0x486ee8['prototype'][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x413d')]();},_0x486ee8;}(_0x4f2e7d[_0x1a4e('0x3ae2')]),_0x38a831=function(_0x26f809){function _0x486ee8(){var _0x486ee8=null!==_0x26f809&&_0x26f809[_0x1a4e('0x8b')](this,arguments)||this;return _0x486ee8[_0x1a4e('0x4154')]={'x':0xc8,'y':0x64},_0x486ee8[_0x1a4e('0x415a')]=!0x0,_0x486ee8['bubbleType']=_0x163014[_0x1a4e('0x415c')],_0x486ee8['visible']=!0x0,_0x486ee8;}return _0x5b0363(_0x486ee8,_0x26f809),_0x486ee8;}(_0x4f2e7d['GraphicItemOpt']);!function(_0x26f809){_0x26f809[_0x1a4e('0x415c')]=_0x1a4e('0x415d'),_0x26f809[_0x1a4e('0x415e')]=_0x1a4e('0x415f');}(_0x163014||(_0x163014={})),window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x3b4107);},'./src/LayerManager/GraphicLayer/GraphicItem/CircularGraphic.ts':function(_0x16b23b,_0x2220e6,_0x11fb95){'use strict';_0x11fb95['r'](_0x2220e6),_0x11fb95['d'](_0x2220e6,_0x1a4e('0x3e3d'),function(){return _0x1884ea;}),_0x11fb95['d'](_0x2220e6,_0x1a4e('0x3ff1'),function(){return _0x33cee6;});var _0x1dc98c,_0xa12b91=_0x11fb95(_0x1a4e('0x4136')),_0x20c380=_0x11fb95(_0x1a4e('0x4160')),_0x21836=(_0x1dc98c=function(_0x16b23b,_0x2220e6){return(_0x1dc98c=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x16b23b,_0x2220e6){_0x16b23b[_0x1a4e('0x295')]=_0x2220e6;}||function(_0x16b23b,_0x2220e6){for(var _0x11fb95 in _0x2220e6)_0x2220e6['hasOwnProperty'](_0x11fb95)&&(_0x16b23b[_0x11fb95]=_0x2220e6[_0x11fb95]);})(_0x16b23b,_0x2220e6);},function(_0x16b23b,_0x2220e6){function _0x11fb95(){this['constructor']=_0x16b23b;}_0x1dc98c(_0x16b23b,_0x2220e6),_0x16b23b['prototype']=null===_0x2220e6?Object['create'](_0x2220e6):(_0x11fb95[_0x1a4e('0xa')]=_0x2220e6['prototype'],new _0x11fb95());}),_0x1884ea=function(_0x16b23b){function _0x2220e6(_0x2220e6){var _0x11fb95=_0x16b23b[_0x1a4e('0x1')](this,_0x2220e6)||this;return _0x11fb95[_0x1a4e('0x4137')]=new _0x33cee6(),_0x11fb95['parseJson'](_0x2220e6),_0x11fb95;}return _0x21836(_0x2220e6,_0x16b23b),_0x2220e6[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x2220e6[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x2220e6,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e3d');},'enumerable':!0x0,'configurable':!0x0}),_0x2220e6[_0x1a4e('0xa')]['init']=function(_0x2220e6){if(_0x16b23b[_0x1a4e('0xa')][_0x1a4e('0x1fd')]['call'](this,_0x2220e6),this[_0x1a4e('0x4138')]){var _0x11fb95=new _0x20c380[(_0x1a4e('0x4161'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x11fb95;};}},Object['defineProperty'](_0x2220e6[_0x1a4e('0xa')],_0x1a4e('0x3b5d'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')];},'set':function(_0x16b23b){this['_opt'][_0x1a4e('0x3b5d')]=_0x16b23b,this['updateAttribute'](_0x1a4e('0x3b5d'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2220e6[_0x1a4e('0xa')],_0x1a4e('0x4162'),{'get':function(){return this['_opt'][_0x1a4e('0x4162')];},'set':function(_0x16b23b){this[_0x1a4e('0x4137')][_0x1a4e('0x4162')]=_0x16b23b,this[_0x1a4e('0x3dda')](_0x1a4e('0x4162'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2220e6[_0x1a4e('0xa')],_0x1a4e('0x4163'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4163')];},'set':function(_0x16b23b){this[_0x1a4e('0x4137')][_0x1a4e('0x4163')]=_0x16b23b,this[_0x1a4e('0x3dda')]('endAngle');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2220e6[_0x1a4e('0xa')],'color',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x16b23b){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x16b23b,this[_0x1a4e('0x3dda')]('color');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2220e6[_0x1a4e('0xa')],'clampToGround',{'get':function(){return this[_0x1a4e('0x4137')]['clampToGround'];},'set':function(_0x16b23b){this['_opt'][_0x1a4e('0x3972')]=_0x16b23b,this[_0x1a4e('0x3dda')](_0x1a4e('0x3972'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2220e6[_0x1a4e('0xa')],_0x1a4e('0xbad'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0xbad')];},'set':function(_0x16b23b){this[_0x1a4e('0x4137')][_0x1a4e('0xbad')]=_0x16b23b,this[_0x1a4e('0x3dda')]('step');},'enumerable':!0x0,'configurable':!0x0}),_0x2220e6;}(_0xa12b91[_0x1a4e('0x413a')]),_0x33cee6=function(_0x16b23b){function _0x2220e6(){var _0x2220e6=null!==_0x16b23b&&_0x16b23b[_0x1a4e('0x8b')](this,arguments)||this;return _0x2220e6['clampToGround']=!0x0,_0x2220e6[_0x1a4e('0x3b5d')]=0x1,_0x2220e6['startAngle']=0x0,_0x2220e6[_0x1a4e('0x4163')]=0x168,_0x2220e6[_0x1a4e('0x134')]=_0x1a4e('0x4164'),_0x2220e6[_0x1a4e('0xbad')]=0x40,_0x2220e6;}return _0x21836(_0x2220e6,_0x16b23b),_0x2220e6;}(_0xa12b91[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x1884ea);},'./src/LayerManager/GraphicLayer/GraphicItem/CustomLabelGraphic.ts':function(_0x36ca67,_0x36724a,_0x11d4f0){'use strict';_0x11d4f0['r'](_0x36724a),_0x11d4f0['d'](_0x36724a,'CustomLabelGraphic',function(){return _0x5ced1c;}),_0x11d4f0['d'](_0x36724a,'CustomLabelGraphicOpt',function(){return _0x3e10b9;});var _0x5d1400,_0xd693=_0x11d4f0(_0x1a4e('0x4165')),_0x588a26=_0x11d4f0(_0x1a4e('0x4136')),_0x540c44=_0x11d4f0(_0x1a4e('0x4166')),_0x1a65c5=(_0x5d1400=function(_0x36ca67,_0x36724a){return(_0x5d1400=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x36ca67,_0x36724a){_0x36ca67[_0x1a4e('0x295')]=_0x36724a;}||function(_0x36ca67,_0x36724a){for(var _0x11d4f0 in _0x36724a)_0x36724a[_0x1a4e('0xb')](_0x11d4f0)&&(_0x36ca67[_0x11d4f0]=_0x36724a[_0x11d4f0]);})(_0x36ca67,_0x36724a);},function(_0x36ca67,_0x36724a){function _0x11d4f0(){this[_0x1a4e('0x10')]=_0x36ca67;}_0x5d1400(_0x36ca67,_0x36724a),_0x36ca67['prototype']=null===_0x36724a?Object[_0x1a4e('0x7')](_0x36724a):(_0x11d4f0[_0x1a4e('0xa')]=_0x36724a['prototype'],new _0x11d4f0());}),_0x5ced1c=function(_0x36ca67){function _0x36724a(_0x36724a){var _0x11d4f0=_0x36ca67['call'](this,_0x36724a)||this;return _0x11d4f0[_0x1a4e('0x4137')]=new _0x3e10b9(),_0x11d4f0[_0x1a4e('0x3acc')](_0x36724a),_0x11d4f0;}return _0x1a65c5(_0x36724a,_0x36ca67),_0x36724a['prototype'][_0x1a4e('0x1fd')]=function(_0x36724a){if(_0x36ca67[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x36724a),this['father']){var _0x11d4f0=new _0xd693[(_0x1a4e('0x4167'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x11d4f0;};}},_0x36724a[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x413d')]();},_0x36724a[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x36724a[_0x1a4e('0x40')];},Object['defineProperty'](_0x36724a,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e31');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x36724a[_0x1a4e('0xa')],_0x1a4e('0xe04'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0xe04')];},'set':function(_0x36ca67){this['_opt'][_0x1a4e('0xe04')]=_0x36ca67,this[_0x1a4e('0x3dda')](_0x1a4e('0xe04'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x36724a[_0x1a4e('0xa')],_0x1a4e('0x143'),{'get':function(){return this[_0x1a4e('0x4137')]['scale'];},'set':function(_0x36ca67){this[_0x1a4e('0x4137')][_0x1a4e('0x143')]!==_0x36ca67&&(this[_0x1a4e('0x4137')][_0x1a4e('0x143')]=_0x36ca67,this[_0x1a4e('0x3dda')](_0x1a4e('0x143')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x36724a[_0x1a4e('0xa')],'width',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3936')];},'set':function(_0x36ca67){this[_0x1a4e('0x4137')][_0x1a4e('0x3936')]!==_0x36ca67&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3936')]=_0x36ca67,this[_0x1a4e('0x3dda')](_0x1a4e('0x3936')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x36724a[_0x1a4e('0xa')],_0x1a4e('0x152'),{'get':function(){return this['_opt']['height'];},'set':function(_0x36ca67){this[_0x1a4e('0x4137')][_0x1a4e('0x152')]!==_0x36ca67&&(this[_0x1a4e('0x4137')][_0x1a4e('0x152')]=_0x36ca67,this['updateAttribute']('height'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x36724a[_0x1a4e('0xa')],_0x1a4e('0x3ef1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3ef1')];},'set':function(_0x36ca67){this[_0x1a4e('0x4137')][_0x1a4e('0x3ef1')]!==_0x36ca67&&(this[_0x1a4e('0x4137')]['backgroundColor']=_0x36ca67,this[_0x1a4e('0x3dda')]('backgroundColor'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x36724a[_0x1a4e('0xa')],_0x1a4e('0x397b'),{'get':function(){return this['_opt'][_0x1a4e('0x397b')];},'set':function(_0x36ca67){this['_opt']['verticalOrigin']!==_0x36ca67&&(this['_opt']['verticalOrigin']=_0x36ca67,this['updateAttribute']('verticalOrigin'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x36724a[_0x1a4e('0xa')],'clampToGround',{'get':function(){return!0x1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x36724a[_0x1a4e('0xa')],_0x1a4e('0x3bfa'),{'get':function(){return this[_0x1a4e('0x4137')]['distanceDisplayCondition'];},'set':function(_0x36ca67){this[_0x1a4e('0x4137')][_0x1a4e('0x3bfa')]=_0x36ca67,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bfa'));},'enumerable':!0x0,'configurable':!0x0}),_0x36724a[_0x1a4e('0xa')]['getEditor']=function(_0x36ca67,_0x36724a){return new _0x540c44[(_0x1a4e('0x3e8e'))](_0x36ca67,_0x36724a);},_0x36724a;}(_0x588a26[_0x1a4e('0x413a')]),_0x3e10b9=function(_0x36ca67){function _0x36724a(){var _0x36724a=null!==_0x36ca67&&_0x36ca67[_0x1a4e('0x8b')](this,arguments)||this;return _0x36724a['text']='星图',_0x36724a[_0x1a4e('0x143')]=0x1,_0x36724a[_0x1a4e('0x3936')]=0x100,_0x36724a['height']=0x100,_0x36724a[_0x1a4e('0x3ef1')]='rgba(0,0,255,1.0)',_0x36724a['verticalOrigin']=_0x1a4e('0x111'),_0x36724a;}return _0x1a65c5(_0x36724a,_0x36ca67),_0x36724a;}(_0x588a26[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x5ced1c);},'./src/LayerManager/GraphicLayer/GraphicItem/CylinderDynamicGraphic.ts':function(_0x50d4c7,_0x5e2f49,_0x4d817f){'use strict';_0x4d817f['r'](_0x5e2f49),_0x4d817f['d'](_0x5e2f49,_0x1a4e('0x3e3a'),function(){return _0xe79019;}),_0x4d817f['d'](_0x5e2f49,_0x1a4e('0x3fcd'),function(){return _0x3f4058;});var _0x43aa3a,_0x58dab0=_0x4d817f(_0x1a4e('0x3e0b')),_0x445895=_0x4d817f(_0x1a4e('0x38d0')),_0x4f4e44=_0x4d817f(_0x1a4e('0x4168')),_0x11bb05=(_0x43aa3a=function(_0x50d4c7,_0x5e2f49){return(_0x43aa3a=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x50d4c7,_0x5e2f49){_0x50d4c7[_0x1a4e('0x295')]=_0x5e2f49;}||function(_0x50d4c7,_0x5e2f49){for(var _0x4d817f in _0x5e2f49)_0x5e2f49[_0x1a4e('0xb')](_0x4d817f)&&(_0x50d4c7[_0x4d817f]=_0x5e2f49[_0x4d817f]);})(_0x50d4c7,_0x5e2f49);},function(_0x50d4c7,_0x5e2f49){function _0x4d817f(){this[_0x1a4e('0x10')]=_0x50d4c7;}_0x43aa3a(_0x50d4c7,_0x5e2f49),_0x50d4c7[_0x1a4e('0xa')]=null===_0x5e2f49?Object[_0x1a4e('0x7')](_0x5e2f49):(_0x4d817f[_0x1a4e('0xa')]=_0x5e2f49[_0x1a4e('0xa')],new _0x4d817f());}),_0xe79019=function(_0x50d4c7){function _0x5e2f49(_0x5e2f49){var _0x4d817f=_0x50d4c7[_0x1a4e('0x1')](this,_0x5e2f49)||this;return _0x4d817f[_0x1a4e('0x39d5')]=_0x1a4e('0x3e3a'),_0x4d817f[_0x1a4e('0x4137')]=new _0x3f4058(),_0x4d817f[_0x1a4e('0x4169')]=void 0x0,_0x4d817f[_0x1a4e('0x416a')]=void 0x0,_0x4d817f[_0x1a4e('0x3acc')](_0x5e2f49),_0x4d817f;}return _0x11bb05(_0x5e2f49,_0x50d4c7),_0x5e2f49[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x5e2f49[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x5e2f49,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e3a');},'enumerable':!0x0,'configurable':!0x0}),_0x5e2f49[_0x1a4e('0xa')]['getMaxCtrlPosNum']=function(){return 0x2;},_0x5e2f49[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x5e2f49){if(_0x50d4c7[_0x1a4e('0xa')]['init'][_0x1a4e('0x1')](this,_0x5e2f49),this[_0x1a4e('0x4138')]){var _0x4d817f=this[_0x1a4e('0x416b')]=new _0x4f4e44['CylinderSensor'](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x4d817f;};}},Object[_0x1a4e('0x2')](_0x5e2f49[_0x1a4e('0xa')],_0x1a4e('0x40c0'),{'get':function(){return this[_0x1a4e('0x4169')];},'set':function(_0x50d4c7){null==_0x50d4c7&&null!=this[_0x1a4e('0x4169')]&&(this['_opt'][_0x1a4e('0x3e50')]=this[_0x1a4e('0x4169')][_0x1a4e('0x3553')]),this[_0x1a4e('0x4169')]=_0x50d4c7;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5e2f49[_0x1a4e('0xa')],_0x1a4e('0x40c1'),{'get':function(){return this[_0x1a4e('0x416a')];},'set':function(_0x50d4c7){null==_0x50d4c7&&null!=this[_0x1a4e('0x416a')]&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3e4f')]=this[_0x1a4e('0x416a')][_0x1a4e('0x3553')]),this['_bindBottom']=_0x50d4c7;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5e2f49[_0x1a4e('0xa')],_0x1a4e('0x3e50'),{'get':function(){return null==this[_0x1a4e('0x4169')]?this[_0x1a4e('0x4137')]['topPosition']:this['_bindTop'][_0x1a4e('0x3553')];},'set':function(_0x50d4c7){_0x50d4c7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3e50')]=_0x50d4c7,this[_0x1a4e('0x3dda')](_0x1a4e('0x3e50')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5e2f49['prototype'],_0x1a4e('0x3e4f'),{'get':function(){return null==this[_0x1a4e('0x416a')]?this[_0x1a4e('0x4137')][_0x1a4e('0x3e4f')]:this[_0x1a4e('0x416a')]['position'];},'set':function(_0x50d4c7){_0x50d4c7&&(this['_opt'][_0x1a4e('0x3e4f')]=_0x50d4c7,this[_0x1a4e('0x3dda')](_0x1a4e('0x3e4f')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5e2f49[_0x1a4e('0xa')],_0x1a4e('0x3b50'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b50')];},'set':function(_0x50d4c7){void 0x0!==_0x50d4c7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3b50')]=_0x50d4c7,this[_0x1a4e('0x3dda')](_0x1a4e('0x3b50')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5e2f49[_0x1a4e('0xa')],_0x1a4e('0x3b51'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b51')];},'set':function(_0x50d4c7){void 0x0!==_0x50d4c7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3b51')]=_0x50d4c7,this['updateAttribute'](_0x1a4e('0x3b51')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5e2f49[_0x1a4e('0xa')],_0x1a4e('0x40e3'),{'get':function(){return this['_opt'][_0x1a4e('0x40e3')];},'set':function(_0x50d4c7){void 0x0!==_0x50d4c7&&(_0x50d4c7>0x5&&(_0x50d4c7=0x5),_0x50d4c7<0x1&&(_0x50d4c7=0x1),this[_0x1a4e('0x4137')][_0x1a4e('0x40e3')]=_0x50d4c7,this[_0x1a4e('0x3dda')]('speed'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5e2f49[_0x1a4e('0xa')],'evenConeColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a7')];},'set':function(_0x50d4c7){void 0x0!==_0x50d4c7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x40a7')]=_0x50d4c7,this['updateAttribute'](_0x1a4e('0x40a7')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5e2f49[_0x1a4e('0xa')],_0x1a4e('0x40a8'),{'get':function(){return this['_opt'][_0x1a4e('0x40a8')];},'set':function(_0x50d4c7){void 0x0!==_0x50d4c7&&(this['_opt'][_0x1a4e('0x40a8')]=_0x50d4c7,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a8')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5e2f49[_0x1a4e('0xa')],_0x1a4e('0x78'),{'get':function(){return this['_opt'][_0x1a4e('0x78')];},'set':function(_0x50d4c7){void 0x0!==_0x50d4c7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x78')]=_0x50d4c7,this[_0x1a4e('0x3dda')](_0x1a4e('0x78')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5e2f49['prototype'],_0x1a4e('0x1a53'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x1a53')];},'set':function(_0x50d4c7){void 0x0!==_0x50d4c7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x1a53')]=_0x50d4c7,this[_0x1a4e('0x3dda')](_0x1a4e('0x1a53')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5e2f49[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return[this['topPosition'],this[_0x1a4e('0x3e4f')]];},'set':function(_0x50d4c7){_0x50d4c7['length']<0x2||(this['topPosition']=_0x50d4c7[0x0],this[_0x1a4e('0x3e4f')]=_0x50d4c7[0x1]);},'enumerable':!0x0,'configurable':!0x0}),_0x5e2f49['prototype'][_0x1a4e('0x3ecb')]=function(){var _0x50d4c7=this[_0x1a4e('0x3e50')],_0x5e2f49=this['bottomPosition'];return new _0x445895[(_0x1a4e('0x38da'))](_0x50d4c7[_0x1a4e('0x1a1')],_0x50d4c7[_0x1a4e('0x1a2')],(_0x50d4c7[_0x1a4e('0x398c')]-_0x5e2f49[_0x1a4e('0x398c')])/0x2+_0x5e2f49[_0x1a4e('0x398c')]);},_0x5e2f49[_0x1a4e('0xa')]['movePosition']=function(_0x50d4c7,_0x5e2f49,_0x4d817f){this[_0x1a4e('0x3e50')][_0x1a4e('0x1a1')]+=_0x50d4c7,this[_0x1a4e('0x3e50')][_0x1a4e('0x1a2')]+=_0x5e2f49,this[_0x1a4e('0x3e50')][_0x1a4e('0x398c')]+=_0x4d817f||0x0,this[_0x1a4e('0x3e4f')]['lon']+=_0x50d4c7,this[_0x1a4e('0x3e4f')][_0x1a4e('0x1a2')]+=_0x5e2f49,this['bottomPosition'][_0x1a4e('0x398c')]+=_0x4d817f||0x0,this['topPosition']=this[_0x1a4e('0x3e50')],this['bottomPosition']=this[_0x1a4e('0x3e4f')];},_0x5e2f49['prototype'][_0x1a4e('0x3acc')]=function(_0x5e2f49){for(var _0x4d817f in _0x5e2f49)_0x1a4e('0x3e50')===_0x4d817f&&_0x5e2f49[_0x4d817f]&&_0x5e2f49[_0x4d817f][_0x1a4e('0x1e')]&&(_0x5e2f49[_0x4d817f]=_0x445895[_0x1a4e('0x38da')][_0x1a4e('0x3d2f')](_0x5e2f49[_0x4d817f])),_0x1a4e('0x3e4f')===_0x4d817f&&_0x5e2f49[_0x4d817f]&&_0x5e2f49[_0x4d817f][_0x1a4e('0x1e')]&&(_0x5e2f49[_0x4d817f]=_0x445895['GeoPoint'][_0x1a4e('0x3d2f')](_0x5e2f49[_0x4d817f]));_0x50d4c7[_0x1a4e('0xa')][_0x1a4e('0x3acc')][_0x1a4e('0x1')](this,_0x5e2f49);},_0x5e2f49[_0x1a4e('0xa')][_0x1a4e('0x416c')]=function(_0x50d4c7){var _0x5e2f49=[];if(null!=this[_0x1a4e('0x4169')]&&_0x5e2f49[_0x1a4e('0x46')]({'name':_0x1a4e('0x40c0'),'bind':this['_bindTop']['id']}),null!=this[_0x1a4e('0x416a')]&&_0x5e2f49[_0x1a4e('0x46')]({'name':_0x1a4e('0x40c1'),'bind':this[_0x1a4e('0x416a')]['id']}),_0x5e2f49[_0x1a4e('0x1e')]>0x0){var _0x4d817f={'id':this['id'],'binds':_0x5e2f49};_0x50d4c7['push'](_0x4d817f);}},_0x5e2f49;}(_0x58dab0[_0x1a4e('0x3ae2')]),_0x3f4058=function(_0x50d4c7){function _0x5e2f49(){var _0x5e2f49=null!==_0x50d4c7&&_0x50d4c7['apply'](this,arguments)||this;return _0x5e2f49[_0x1a4e('0x3e50')]=new _0x445895[(_0x1a4e('0x38da'))](0x0,0x0,0x30d40),_0x5e2f49[_0x1a4e('0x3e4f')]=new _0x445895[(_0x1a4e('0x38da'))](0x0,0x0,0x0),_0x5e2f49['topRadius']=0x2ee0,_0x5e2f49[_0x1a4e('0x3b51')]=0x2ee0,_0x5e2f49[_0x1a4e('0x40e3')]=0x1,_0x5e2f49[_0x1a4e('0x40a7')]=_0x1a4e('0x416d'),_0x5e2f49[_0x1a4e('0x40a8')]=_0x1a4e('0x416e'),_0x5e2f49[_0x1a4e('0x1a53')]=0xbb8,_0x5e2f49[_0x1a4e('0x78')]=0x24,_0x5e2f49;}return _0x11bb05(_0x5e2f49,_0x50d4c7),_0x5e2f49;}(_0x58dab0[_0x1a4e('0x4143')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0xe79019);},'./src/LayerManager/GraphicLayer/GraphicItem/CylinderGraphic.ts':function(_0x5699d2,_0x4f46b2,_0x5791cb){'use strict';_0x5791cb['r'](_0x4f46b2),_0x5791cb['d'](_0x4f46b2,_0x1a4e('0x3e32'),function(){return _0x38ef92;}),_0x5791cb['d'](_0x4f46b2,'CylinderGraphicOpt',function(){return _0x9c5a57;});var _0x50e90a,_0x5ec2bd=_0x5791cb(_0x1a4e('0x416f')),_0x309e70=_0x5791cb(_0x1a4e('0x4136')),_0x21cbf0=(_0x50e90a=function(_0x5699d2,_0x4f46b2){return(_0x50e90a=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5699d2,_0x4f46b2){_0x5699d2['__proto__']=_0x4f46b2;}||function(_0x5699d2,_0x4f46b2){for(var _0x5791cb in _0x4f46b2)_0x4f46b2['hasOwnProperty'](_0x5791cb)&&(_0x5699d2[_0x5791cb]=_0x4f46b2[_0x5791cb]);})(_0x5699d2,_0x4f46b2);},function(_0x5699d2,_0x4f46b2){function _0x5791cb(){this[_0x1a4e('0x10')]=_0x5699d2;}_0x50e90a(_0x5699d2,_0x4f46b2),_0x5699d2[_0x1a4e('0xa')]=null===_0x4f46b2?Object[_0x1a4e('0x7')](_0x4f46b2):(_0x5791cb['prototype']=_0x4f46b2[_0x1a4e('0xa')],new _0x5791cb());}),_0x38ef92=function(_0x5699d2){function _0x4f46b2(_0x4f46b2){var _0x5791cb=_0x5699d2[_0x1a4e('0x1')](this,_0x4f46b2)||this;return _0x5791cb[_0x1a4e('0x4137')]=new _0x9c5a57(),_0x5791cb[_0x1a4e('0x3acc')](_0x4f46b2),_0x5791cb;}return _0x21cbf0(_0x4f46b2,_0x5699d2),_0x4f46b2[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4f46b2[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x4f46b2,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e32');},'enumerable':!0x0,'configurable':!0x0}),_0x4f46b2['prototype'][_0x1a4e('0x1fd')]=function(_0x4f46b2){if(_0x5699d2[_0x1a4e('0xa')][_0x1a4e('0x1fd')]['call'](this,_0x4f46b2),this[_0x1a4e('0x4138')]){var _0x5791cb=new _0x5ec2bd[(_0x1a4e('0x4170'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x5791cb;};}},Object[_0x1a4e('0x2')](_0x4f46b2[_0x1a4e('0xa')],'heightReference',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x5699d2){this['_opt'][_0x1a4e('0x3bdf')]!==_0x5699d2&&(this[_0x1a4e('0x4137')]['heightReference']=_0x5699d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f46b2[_0x1a4e('0xa')],'length',{'get':function(){return this['_opt'][_0x1a4e('0x1e')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')]['length']!==_0x5699d2&&(this[_0x1a4e('0x4137')]['length']=_0x5699d2,this['updateAttribute'](_0x1a4e('0x1e')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2['prototype'],_0x1a4e('0x3b50'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b50')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')]['topRadius']!==_0x5699d2&&(this['_opt'][_0x1a4e('0x3b50')]=_0x5699d2,this['updateAttribute'](_0x1a4e('0x3b50')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2[_0x1a4e('0xa')],_0x1a4e('0x3b51'),{'get':function(){return this[_0x1a4e('0x4137')]['bottomRadius'];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x3b51')]!==_0x5699d2&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3b51')]=_0x5699d2,this['updateAttribute'](_0x1a4e('0x3b51')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f46b2[_0x1a4e('0xa')],_0x1a4e('0x3a68'),{'get':function(){return this[_0x1a4e('0x4137')]['heading'];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')]['heading']!==_0x5699d2&&(this[_0x1a4e('0x4137')]['heading']=_0x5699d2,this['updateAttribute'](_0x1a4e('0x3a68')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2[_0x1a4e('0xa')],_0x1a4e('0x3a69'),{'get':function(){return this['_opt'][_0x1a4e('0x3a69')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x3a69')]!==_0x5699d2&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3a69')]=_0x5699d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x3a69')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2[_0x1a4e('0xa')],_0x1a4e('0x3a9c'),{'get':function(){return this['_opt'][_0x1a4e('0x3a9c')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x3a9c')]!==_0x5699d2&&(this['_opt'][_0x1a4e('0x3a9c')]=_0x5699d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x3a9c')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2[_0x1a4e('0xa')],_0x1a4e('0x22c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x22c')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x22c')]=_0x5699d2,this[_0x1a4e('0x3dda')]('fill');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]!==_0x5699d2&&(this[_0x1a4e('0x4137')]['color']=_0x5699d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2['prototype'],_0x1a4e('0x4171'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4171')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x4171')]=_0x5699d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x4171'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x409f')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]!==_0x5699d2&&(this['_opt'][_0x1a4e('0x409f')]=_0x5699d2,this['updateAttribute'](_0x1a4e('0x409f')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f46b2[_0x1a4e('0xa')],'outlineWidth',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4172')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x4172')]!==_0x5699d2&&(this[_0x1a4e('0x4137')]['outlineWidth']=_0x5699d2,this['updateAttribute'](_0x1a4e('0x4172')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f46b2[_0x1a4e('0xa')],_0x1a4e('0x4173'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4173')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x4173')]!==_0x5699d2&&(this[_0x1a4e('0x4137')]['numberOfVerticalLines']=_0x5699d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x4173')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2[_0x1a4e('0xa')],_0x1a4e('0x4174'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4174')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')][_0x1a4e('0x4174')]!==_0x5699d2&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4174')]=_0x5699d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x4174')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f46b2[_0x1a4e('0xa')],'shadows',{'get':function(){return this['_opt'][_0x1a4e('0x3bed')];},'set':function(_0x5699d2){this[_0x1a4e('0x4137')]['shadows']!==_0x5699d2&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bed')]=_0x5699d2,this['updateAttribute'](_0x1a4e('0x3bed')));},'enumerable':!0x0,'configurable':!0x0}),_0x4f46b2;}(_0x309e70[_0x1a4e('0x413a')]),_0x9c5a57=function(_0x5699d2){function _0x4f46b2(){var _0x4f46b2=null!==_0x5699d2&&_0x5699d2['apply'](this,arguments)||this;return _0x4f46b2[_0x1a4e('0x3bdf')]='none',_0x4f46b2[_0x1a4e('0x1e')]=0x4e20,_0x4f46b2[_0x1a4e('0x3b50')]=0xbb8,_0x4f46b2[_0x1a4e('0x3b51')]=0xbb8,_0x4f46b2[_0x1a4e('0x3a68')]=0x0,_0x4f46b2['pitch']=0x0,_0x4f46b2[_0x1a4e('0x3a9c')]=0x0,_0x4f46b2[_0x1a4e('0x22c')]=!0x0,_0x4f46b2['color']=_0x1a4e('0x4175'),_0x4f46b2[_0x1a4e('0x4171')]=!0x1,_0x4f46b2['outlineColor']=_0x1a4e('0x4176'),_0x4f46b2[_0x1a4e('0x4172')]=0x1,_0x4f46b2;}return _0x21cbf0(_0x4f46b2,_0x5699d2),_0x4f46b2;}(_0x309e70['GraphicPositionItemOpt']);window['GV']['REGISTER'](_0x1a4e('0x3ae2'),_0x38ef92);},'./src/LayerManager/GraphicLayer/GraphicItem/DashBoardGraphic.ts':function(_0x33e710,_0x282be8,_0x20d91d){'use strict';_0x20d91d['r'](_0x282be8),_0x20d91d['d'](_0x282be8,_0x1a4e('0x3e40'),function(){return _0xea6364;}),_0x20d91d['d'](_0x282be8,_0x1a4e('0x3ffd'),function(){return _0x5a42a9;});var _0x58dbc,_0x437f32=_0x20d91d('./src/LayerManager/GraphicLayer/GraphicRender/dashboardEffect.ts'),_0x54d888=_0x20d91d('./src/LayerManager/GraphicLayer/GraphicItem/GraphicPositionItem.ts'),_0x377437=(_0x58dbc=function(_0x33e710,_0x282be8){return(_0x58dbc=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x33e710,_0x282be8){_0x33e710[_0x1a4e('0x295')]=_0x282be8;}||function(_0x33e710,_0x282be8){for(var _0x20d91d in _0x282be8)_0x282be8['hasOwnProperty'](_0x20d91d)&&(_0x33e710[_0x20d91d]=_0x282be8[_0x20d91d]);})(_0x33e710,_0x282be8);},function(_0x33e710,_0x282be8){function _0x20d91d(){this[_0x1a4e('0x10')]=_0x33e710;}_0x58dbc(_0x33e710,_0x282be8),_0x33e710[_0x1a4e('0xa')]=null===_0x282be8?Object[_0x1a4e('0x7')](_0x282be8):(_0x20d91d[_0x1a4e('0xa')]=_0x282be8[_0x1a4e('0xa')],new _0x20d91d());}),_0xea6364=function(_0x33e710){function _0x282be8(_0x282be8){var _0x20d91d=_0x33e710[_0x1a4e('0x1')](this,_0x282be8)||this;return _0x20d91d['_opt']=new _0x5a42a9(),_0x20d91d[_0x1a4e('0x3acc')](_0x282be8),_0x20d91d;}return _0x377437(_0x282be8,_0x33e710),_0x282be8['prototype'][_0x1a4e('0x3cc')]=function(){return _0x282be8['type'];},Object[_0x1a4e('0x2')](_0x282be8,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e40');},'enumerable':!0x0,'configurable':!0x0}),_0x282be8[_0x1a4e('0xa')]['init']=function(_0x282be8){if(_0x33e710[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x282be8),this[_0x1a4e('0x4138')]){var _0x20d91d=new _0x437f32[(_0x1a4e('0x4177'))](this,this[_0x1a4e('0x4138')]['getRoot']());this[_0x1a4e('0x413d')]=function(){return _0x20d91d;};}},Object['defineProperty'](_0x282be8['prototype'],_0x1a4e('0x502'),{'get':function(){return this['_opt'][_0x1a4e('0x502')];},'set':function(_0x33e710){this[_0x1a4e('0x4137')][_0x1a4e('0x502')]=_0x33e710,this['updateAttribute']('angle');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x282be8[_0x1a4e('0xa')],_0x1a4e('0x4178'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4178')];},'set':function(_0x33e710){this['_opt']['dashColor']=_0x33e710,this[_0x1a4e('0x3dda')](_0x1a4e('0x4178'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x282be8[_0x1a4e('0xa')],'radius',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')];},'set':function(_0x33e710){_0x33e710<0x0?console[_0x1a4e('0xe3c')](_0x1a4e('0x4179')):(this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')]=_0x33e710,this['updateAttribute'](_0x1a4e('0x3b5d')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x282be8['prototype'],_0x1a4e('0x3972'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),_0x282be8;}(_0x54d888[_0x1a4e('0x413a')]),_0x5a42a9=function(_0x33e710){function _0x282be8(){var _0x282be8=null!==_0x33e710&&_0x33e710[_0x1a4e('0x8b')](this,arguments)||this;return _0x282be8[_0x1a4e('0x4178')]=_0x1a4e('0x417a'),_0x282be8['radius']=0x5dc,_0x282be8[_0x1a4e('0x502')]=0x0,_0x282be8;}return _0x377437(_0x282be8,_0x33e710),_0x282be8;}(_0x54d888[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0xea6364);},'./src/LayerManager/GraphicLayer/GraphicItem/DynamicRippleGraphic.ts':function(_0xfd7d2f,_0x563e39,_0x381577){'use strict';_0x381577['r'](_0x563e39),_0x381577['d'](_0x563e39,_0x1a4e('0x3e94'),function(){return _0x17552b;}),_0x381577['d'](_0x563e39,_0x1a4e('0x3feb'),function(){return _0x3d0986;});var _0x3dbc4a,_0x4f00c8=_0x381577(_0x1a4e('0x417b')),_0x94b117=_0x381577(_0x1a4e('0x4136')),_0x1cfa6d=(_0x3dbc4a=function(_0xfd7d2f,_0x563e39){return(_0x3dbc4a=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0xfd7d2f,_0x563e39){_0xfd7d2f[_0x1a4e('0x295')]=_0x563e39;}||function(_0xfd7d2f,_0x563e39){for(var _0x381577 in _0x563e39)_0x563e39[_0x1a4e('0xb')](_0x381577)&&(_0xfd7d2f[_0x381577]=_0x563e39[_0x381577]);})(_0xfd7d2f,_0x563e39);},function(_0xfd7d2f,_0x563e39){function _0x381577(){this['constructor']=_0xfd7d2f;}_0x3dbc4a(_0xfd7d2f,_0x563e39),_0xfd7d2f[_0x1a4e('0xa')]=null===_0x563e39?Object[_0x1a4e('0x7')](_0x563e39):(_0x381577[_0x1a4e('0xa')]=_0x563e39[_0x1a4e('0xa')],new _0x381577());}),_0x17552b=function(_0xfd7d2f){function _0x563e39(_0x563e39){var _0x381577=_0xfd7d2f[_0x1a4e('0x1')](this,_0x563e39)||this;return _0x381577[_0x1a4e('0x4137')]=new _0x3d0986(),_0x381577[_0x1a4e('0x3acc')](_0x563e39),_0x381577;}return _0x1cfa6d(_0x563e39,_0xfd7d2f),_0x563e39[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x563e39['type'];},Object['defineProperty'](_0x563e39,'type',{'get':function(){return'DynamicRippleGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0x563e39[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x563e39){if(_0xfd7d2f['prototype']['init'][_0x1a4e('0x1')](this,_0x563e39),this[_0x1a4e('0x4138')]){var _0x381577=new _0x4f00c8[(_0x1a4e('0x417c'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x381577;};}},Object['defineProperty'](_0x563e39[_0x1a4e('0xa')],_0x1a4e('0x3b5d'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')];},'set':function(_0xfd7d2f){this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')]=_0xfd7d2f,this['updateAttribute'](_0x1a4e('0x3b5d'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x563e39[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')]['color'];},'set':function(_0xfd7d2f){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0xfd7d2f;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x563e39[_0x1a4e('0xa')],_0x1a4e('0x4171'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4171')];},'set':function(_0xfd7d2f){this[_0x1a4e('0x4137')][_0x1a4e('0x4171')]=_0xfd7d2f,this[_0x1a4e('0x3dda')]('outline');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x563e39[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x409f')];},'set':function(_0xfd7d2f){this[_0x1a4e('0x4137')]['outlineColor']=_0xfd7d2f,this['updateAttribute']('outlineColor');},'enumerable':!0x0,'configurable':!0x0}),_0x563e39;}(_0x94b117['GraphicPositionItem']),_0x3d0986=function(_0xfd7d2f){function _0x563e39(){var _0x563e39=null!==_0xfd7d2f&&_0xfd7d2f[_0x1a4e('0x8b')](this,arguments)||this;return _0x563e39[_0x1a4e('0x3b5d')]=0x493e0,_0x563e39[_0x1a4e('0x134')]=_0x1a4e('0x417d'),_0x563e39[_0x1a4e('0x4171')]=!0x1,_0x563e39[_0x1a4e('0x409f')]=_0x1a4e('0x3988'),_0x563e39;}return _0x1cfa6d(_0x563e39,_0xfd7d2f),_0x563e39;}(_0x94b117['GraphicPositionItemOpt']);window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x17552b);},'./src/LayerManager/GraphicLayer/GraphicItem/EllipseGraphic.ts':function(_0x18af9a,_0xcca7dc,_0x190774){'use strict';_0x190774['r'](_0xcca7dc),_0x190774['d'](_0xcca7dc,_0x1a4e('0x3e3c'),function(){return _0x5eb00a;}),_0x190774['d'](_0xcca7dc,'EllipseGraphicOpt',function(){return _0x5e7eef;});var _0x17906e,_0x33a0d4=_0x190774('./src/LayerManager/GraphicLayer/GraphicRender/CesiumEllipse.ts'),_0x161173=_0x190774(_0x1a4e('0x4136')),_0x95629b=(_0x17906e=function(_0x18af9a,_0xcca7dc){return(_0x17906e=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x18af9a,_0xcca7dc){_0x18af9a['__proto__']=_0xcca7dc;}||function(_0x18af9a,_0xcca7dc){for(var _0x190774 in _0xcca7dc)_0xcca7dc[_0x1a4e('0xb')](_0x190774)&&(_0x18af9a[_0x190774]=_0xcca7dc[_0x190774]);})(_0x18af9a,_0xcca7dc);},function(_0x18af9a,_0xcca7dc){function _0x190774(){this[_0x1a4e('0x10')]=_0x18af9a;}_0x17906e(_0x18af9a,_0xcca7dc),_0x18af9a[_0x1a4e('0xa')]=null===_0xcca7dc?Object[_0x1a4e('0x7')](_0xcca7dc):(_0x190774[_0x1a4e('0xa')]=_0xcca7dc[_0x1a4e('0xa')],new _0x190774());}),_0x5eb00a=function(_0x18af9a){function _0xcca7dc(_0xcca7dc){var _0x190774=_0x18af9a[_0x1a4e('0x1')](this,_0xcca7dc)||this;return _0x190774['_opt']=new _0x5e7eef(),_0x190774[_0x1a4e('0x3acc')](_0xcca7dc),_0x190774;}return _0x95629b(_0xcca7dc,_0x18af9a),_0xcca7dc[_0x1a4e('0xa')]['getType']=function(){return _0xcca7dc[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0xcca7dc,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e3c');},'enumerable':!0x0,'configurable':!0x0}),_0xcca7dc[_0x1a4e('0xa')]['init']=function(_0xcca7dc){if(_0x18af9a['prototype']['init'][_0x1a4e('0x1')](this,_0xcca7dc),this[_0x1a4e('0x4138')]){if(void 0x0===this['position'])return void console[_0x1a4e('0x873')](_0x1a4e('0x417e'));var _0x190774=new _0x33a0d4[(_0x1a4e('0x417f'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x190774;};}},Object[_0x1a4e('0x2')](_0xcca7dc[_0x1a4e('0xa')],_0x1a4e('0x3e51'),{'get':function(){return this['_opt'][_0x1a4e('0x3e51')];},'set':function(_0x18af9a){this['_opt'][_0x1a4e('0x3e51')]!==_0x18af9a&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3e51')]=_0x18af9a,this[_0x1a4e('0x3dda')](_0x1a4e('0x3e51')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xcca7dc[_0x1a4e('0xa')],_0x1a4e('0x3e52'),{'get':function(){return this['_opt']['semiMajorAxis'];},'set':function(_0x18af9a){this['_opt'][_0x1a4e('0x3e52')]!==_0x18af9a&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3e52')]=_0x18af9a,this['updateAttribute'](_0x1a4e('0x3e52')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc[_0x1a4e('0xa')],_0x1a4e('0x3bdf'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]!==_0x18af9a&&(this['_opt']['heightReference']=_0x18af9a,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc[_0x1a4e('0xa')],'extrudedHeight',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x398d')];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')]['extrudedHeight']!==_0x18af9a&&(this[_0x1a4e('0x4137')][_0x1a4e('0x398d')]=_0x18af9a,this['updateAttribute'](_0x1a4e('0x398d')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xcca7dc[_0x1a4e('0xa')],_0x1a4e('0x4180'),{'get':function(){return this[_0x1a4e('0x4137')]['extrudedHeightReference'];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')]['extrudedHeightReference']!==_0x18af9a&&(this[_0x1a4e('0x4137')]['extrudedHeightReference']=_0x18af9a,this[_0x1a4e('0x3dda')](_0x1a4e('0x4180')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc[_0x1a4e('0xa')],_0x1a4e('0x22c'),{'get':function(){return this['_opt']['fill'];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')][_0x1a4e('0x22c')]=_0x18af9a,this[_0x1a4e('0x3dda')]('fill');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc['prototype'],'color',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x18af9a){this['_opt']['color']!==_0x18af9a&&(this[_0x1a4e('0x4137')]['color']=_0x18af9a,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc[_0x1a4e('0xa')],_0x1a4e('0x4171'),{'get':function(){return this['_opt'][_0x1a4e('0x4171')];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')][_0x1a4e('0x4171')]=_0x18af9a,this['updateAttribute'](_0x1a4e('0x4171'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xcca7dc[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this[_0x1a4e('0x4137')]['outlineColor'];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')]['outlineColor']!==_0x18af9a&&(this['_opt'][_0x1a4e('0x409f')]=_0x18af9a,this[_0x1a4e('0x3dda')](_0x1a4e('0x409f')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc['prototype'],_0x1a4e('0x4173'),{'get':function(){return this[_0x1a4e('0x4137')]['numberOfVerticalLines'];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')][_0x1a4e('0x4173')]!==_0x18af9a&&(this[_0x1a4e('0x4137')]['numberOfVerticalLines']=_0x18af9a,this[_0x1a4e('0x3dda')](_0x1a4e('0x4173')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc[_0x1a4e('0xa')],_0x1a4e('0x3d2e'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]!==_0x18af9a&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]=_0x18af9a,this[_0x1a4e('0x3dda')](_0x1a4e('0x3d2e')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc[_0x1a4e('0xa')],_0x1a4e('0x4181'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4181')];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')][_0x1a4e('0x4181')]!==_0x18af9a&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4181')]=_0x18af9a,this['updateAttribute'](_0x1a4e('0x4181')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc['prototype'],'granularity',{'get':function(){return this['_opt'][_0x1a4e('0x4182')];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')][_0x1a4e('0x4182')]!==_0x18af9a&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4182')]=_0x18af9a,this['updateAttribute']('granularity'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcca7dc[_0x1a4e('0xa')],'shadows',{'get':function(){return this[_0x1a4e('0x4137')]['shadows'];},'set':function(_0x18af9a){this[_0x1a4e('0x4137')][_0x1a4e('0x3bed')]!==_0x18af9a&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bed')]=_0x18af9a,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bed')));},'enumerable':!0x0,'configurable':!0x0}),_0xcca7dc;}(_0x161173[_0x1a4e('0x413a')]),_0x5e7eef=function(_0x18af9a){function _0xcca7dc(){var _0xcca7dc=null!==_0x18af9a&&_0x18af9a[_0x1a4e('0x8b')](this,arguments)||this;return _0xcca7dc[_0x1a4e('0x22c')]=!0x0,_0xcca7dc[_0x1a4e('0x134')]=_0x1a4e('0x4176'),_0xcca7dc[_0x1a4e('0x4171')]=!0x1,_0xcca7dc['granularity']=_0x1a4e('0x4183'),_0xcca7dc;}return _0x95629b(_0xcca7dc,_0x18af9a),_0xcca7dc;}(_0x161173[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x5eb00a);},'./src/LayerManager/GraphicLayer/GraphicItem/EllipsoidGraphic.ts':function(_0x3ebab8,_0x5c356d,_0x36a0ac){'use strict';_0x36a0ac['r'](_0x5c356d),_0x36a0ac['d'](_0x5c356d,_0x1a4e('0x3e2b'),function(){return _0x3e6cb6;}),_0x36a0ac['d'](_0x5c356d,_0x1a4e('0x4184'),function(){return _0x293ba3;});var _0x3b823a,_0x1fdbc2=_0x36a0ac(_0x1a4e('0x4185')),_0x1fd369=_0x36a0ac(_0x1a4e('0x4136')),_0xab62e9=(_0x3b823a=function(_0x3ebab8,_0x5c356d){return(_0x3b823a=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x3ebab8,_0x5c356d){_0x3ebab8['__proto__']=_0x5c356d;}||function(_0x3ebab8,_0x5c356d){for(var _0x36a0ac in _0x5c356d)_0x5c356d['hasOwnProperty'](_0x36a0ac)&&(_0x3ebab8[_0x36a0ac]=_0x5c356d[_0x36a0ac]);})(_0x3ebab8,_0x5c356d);},function(_0x3ebab8,_0x5c356d){function _0x36a0ac(){this['constructor']=_0x3ebab8;}_0x3b823a(_0x3ebab8,_0x5c356d),_0x3ebab8['prototype']=null===_0x5c356d?Object[_0x1a4e('0x7')](_0x5c356d):(_0x36a0ac[_0x1a4e('0xa')]=_0x5c356d[_0x1a4e('0xa')],new _0x36a0ac());}),_0x3e6cb6=function(_0x3ebab8){function _0x5c356d(_0x5c356d){var _0x36a0ac=_0x3ebab8[_0x1a4e('0x1')](this,_0x5c356d)||this;return _0x36a0ac[_0x1a4e('0x4137')]=new _0x293ba3(),_0x36a0ac[_0x1a4e('0x3acc')](_0x5c356d),_0x36a0ac;}return _0xab62e9(_0x5c356d,_0x3ebab8),_0x5c356d[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x5c356d[_0x1a4e('0x40')];},Object['defineProperty'](_0x5c356d,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e2b');},'enumerable':!0x0,'configurable':!0x0}),_0x5c356d[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x5c356d){if(_0x3ebab8[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x5c356d),this['father']){var _0x36a0ac=new _0x1fdbc2[(_0x1a4e('0x4186'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x36a0ac;};}},Object[_0x1a4e('0x2')](_0x5c356d['prototype'],_0x1a4e('0x3bdf'),{'get':function(){return this['_opt'][_0x1a4e('0x3bdf')];},'set':function(_0x3ebab8){this['_opt'][_0x1a4e('0x3bdf')]!==_0x3ebab8&&(this['_opt']['heightReference']=_0x3ebab8,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5c356d[_0x1a4e('0xa')],'radii',{'get':function(){return this['_opt'][_0x1a4e('0x3a9a')];},'set':function(_0x3ebab8){this[_0x1a4e('0x4137')]['radii']=_0x3ebab8,this[_0x1a4e('0x3dda')](_0x1a4e('0x3a9a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5c356d['prototype'],_0x1a4e('0x22c'),{'get':function(){return this['_opt'][_0x1a4e('0x22c')];},'set':function(_0x3ebab8){this['_opt'][_0x1a4e('0x22c')]=_0x3ebab8,this[_0x1a4e('0x3dda')](_0x1a4e('0x22c'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5c356d[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x3ebab8){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]!==_0x3ebab8&&(this['_opt']['color']=_0x3ebab8,this['updateAttribute']('color'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5c356d[_0x1a4e('0xa')],'outline',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4171')];},'set':function(_0x3ebab8){this[_0x1a4e('0x4137')][_0x1a4e('0x4171')]=_0x3ebab8,this['updateAttribute']('outline');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5c356d[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this['_opt'][_0x1a4e('0x409f')];},'set':function(_0x3ebab8){this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]!==_0x3ebab8&&(this['_opt'][_0x1a4e('0x409f')]=_0x3ebab8,this[_0x1a4e('0x3dda')](_0x1a4e('0x409f')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5c356d['prototype'],'subdivisions',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4187')];},'set':function(_0x3ebab8){this[_0x1a4e('0x4137')][_0x1a4e('0x4187')]!==_0x3ebab8&&(this['_opt']['subdivisions']=_0x3ebab8,this[_0x1a4e('0x3dda')](_0x1a4e('0x4187')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5c356d[_0x1a4e('0xa')],_0x1a4e('0x4188'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4188')];},'set':function(_0x3ebab8){this[_0x1a4e('0x4137')]['stackPartitions']!==_0x3ebab8&&(this[_0x1a4e('0x4137')]['stackPartitions']=_0x3ebab8,this['updateAttribute']('stackPartitions'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5c356d[_0x1a4e('0xa')],_0x1a4e('0x4189'),{'get':function(){return this['_opt'][_0x1a4e('0x4189')];},'set':function(_0x3ebab8){this[_0x1a4e('0x4137')]['slicePartitions']!==_0x3ebab8&&(this['_opt'][_0x1a4e('0x4189')]=_0x3ebab8,this['updateAttribute'](_0x1a4e('0x4189')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5c356d['prototype'],'shadows',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bed')];},'set':function(_0x3ebab8){this[_0x1a4e('0x4137')][_0x1a4e('0x3bed')]!==_0x3ebab8&&(this['_opt'][_0x1a4e('0x3bed')]=_0x3ebab8,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bed')));},'enumerable':!0x0,'configurable':!0x0}),_0x5c356d;}(_0x1fd369[_0x1a4e('0x413a')]),_0x293ba3=function(_0x3ebab8){function _0x5c356d(){var _0x5c356d=null!==_0x3ebab8&&_0x3ebab8[_0x1a4e('0x8b')](this,arguments)||this;return _0x5c356d[_0x1a4e('0x3bdf')]='none',_0x5c356d[_0x1a4e('0x3a9a')]=[0x30d40,0x30d40,0x493e0],_0x5c356d['fill']=!0x0,_0x5c356d['color']=_0x1a4e('0x4176'),_0x5c356d[_0x1a4e('0x4171')]=!0x1,_0x5c356d[_0x1a4e('0x409f')]=_0x1a4e('0x4176'),_0x5c356d['shadows']='enabled',_0x5c356d;}return _0xab62e9(_0x5c356d,_0x3ebab8),_0x5c356d;}(_0x1fd369[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x3e6cb6);},'./src/LayerManager/GraphicLayer/GraphicItem/FireGraphic.ts':function(_0x50bb9b,_0x7a91fd,_0x104f14){'use strict';_0x104f14['r'](_0x7a91fd),_0x104f14['d'](_0x7a91fd,'FireGraphic',function(){return _0x3f57ad;}),_0x104f14['d'](_0x7a91fd,'FireGraphicOpt',function(){return _0x498ff7;}),_0x104f14['d'](_0x7a91fd,_0x1a4e('0x402f'),function(){return _0x398440;});var _0x1e5db5,_0x398440,_0xe66b9a=_0x104f14('./src/LayerManager/GraphicLayer/GraphicItem/GraphicPositionItem.ts'),_0x5f2492=_0x104f14(_0x1a4e('0x418a')),_0x348970=(_0x1e5db5=function(_0x50bb9b,_0x7a91fd){return(_0x1e5db5=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x50bb9b,_0x7a91fd){_0x50bb9b[_0x1a4e('0x295')]=_0x7a91fd;}||function(_0x50bb9b,_0x7a91fd){for(var _0x104f14 in _0x7a91fd)_0x7a91fd[_0x1a4e('0xb')](_0x104f14)&&(_0x50bb9b[_0x104f14]=_0x7a91fd[_0x104f14]);})(_0x50bb9b,_0x7a91fd);},function(_0x50bb9b,_0x7a91fd){function _0x104f14(){this['constructor']=_0x50bb9b;}_0x1e5db5(_0x50bb9b,_0x7a91fd),_0x50bb9b[_0x1a4e('0xa')]=null===_0x7a91fd?Object['create'](_0x7a91fd):(_0x104f14[_0x1a4e('0xa')]=_0x7a91fd[_0x1a4e('0xa')],new _0x104f14());}),_0x3f57ad=function(_0x50bb9b){function _0x7a91fd(_0x7a91fd){var _0x104f14=_0x50bb9b[_0x1a4e('0x1')](this,_0x7a91fd)||this;return _0x104f14['_opt']=new _0x498ff7(),_0x104f14[_0x1a4e('0x3acc')](_0x7a91fd),_0x104f14;}return _0x348970(_0x7a91fd,_0x50bb9b),_0x7a91fd[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x7a91fd){if(_0x50bb9b[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x7a91fd),this[_0x1a4e('0x4138')]){var _0x104f14=new _0x5f2492[(_0x1a4e('0x418b'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0x104f14;};}},_0x7a91fd[_0x1a4e('0xa')]['getType']=function(){return _0x7a91fd[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x7a91fd,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x402d');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x7a91fd[_0x1a4e('0xa')],_0x1a4e('0x414e'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x414e')];},'set':function(_0x50bb9b){this[_0x1a4e('0x4137')]['startColor']!==_0x50bb9b&&(this[_0x1a4e('0x4137')]['startColor']=_0x50bb9b,this[_0x1a4e('0x3dda')](_0x1a4e('0x414e')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x7a91fd[_0x1a4e('0xa')],_0x1a4e('0x414f'),{'get':function(){return this[_0x1a4e('0x4137')]['endColor'];},'set':function(_0x50bb9b){this[_0x1a4e('0x4137')][_0x1a4e('0x414f')]!==_0x50bb9b&&(this[_0x1a4e('0x4137')]['endColor']=_0x50bb9b,this[_0x1a4e('0x3dda')](_0x1a4e('0x414f')));},'enumerable':!0x0,'configurable':!0x0}),_0x7a91fd[_0x1a4e('0xa')]['toJson']=function(){var _0x50bb9b={'type':this[_0x1a4e('0x3cc')](),'id':this['id'],'name':this[_0x1a4e('0x2cb')],'extendInfo':this[_0x1a4e('0x3e66')]};for(var _0x7a91fd in this[_0x1a4e('0x4137')])void 0x0!==this[_0x1a4e('0x4137')][_0x7a91fd]&&(this['_opt'][_0x7a91fd]instanceof Object&&this[_0x1a4e('0x4137')][_0x7a91fd][_0x1a4e('0x3acb')]?_0x50bb9b[_0x7a91fd]=this[_0x1a4e('0x4137')][_0x7a91fd][_0x1a4e('0x3acb')]():_0x50bb9b[_0x7a91fd]=this[_0x1a4e('0x4137')][_0x7a91fd]);return _0x50bb9b['id']=this['id'],_0x50bb9b;},Object['defineProperty'](_0x7a91fd[_0x1a4e('0xa')],'renderType',{'get':function(){return this['_opt'][_0x1a4e('0x418c')];},'set':function(_0x50bb9b){console[_0x1a4e('0x58')](_0x50bb9b),this['_opt'][_0x1a4e('0x418c')]!=_0x50bb9b&&(this['_opt'][_0x1a4e('0x418c')]=_0x50bb9b,this['updateAttribute']('renderType'));},'enumerable':!0x0,'configurable':!0x0}),_0x7a91fd;}(_0xe66b9a['GraphicPositionItem']),_0x498ff7=function(_0x50bb9b){function _0x7a91fd(){var _0x7a91fd=null!==_0x50bb9b&&_0x50bb9b['apply'](this,arguments)||this;return _0x7a91fd[_0x1a4e('0x414e')]=_0x1a4e('0x4150'),_0x7a91fd[_0x1a4e('0x414f')]='rgba(255,255,0,.3)',_0x7a91fd['renderType']=_0x398440['FIRE'],_0x7a91fd;}return _0x348970(_0x7a91fd,_0x50bb9b),_0x7a91fd;}(_0xe66b9a['GraphicPositionItemOpt']);!function(_0x50bb9b){_0x50bb9b[_0x1a4e('0x418d')]=_0x1a4e('0x3ad3'),_0x50bb9b[_0x1a4e('0x418e')]=_0x1a4e('0x418f');}(_0x398440||(_0x398440={})),window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x3f57ad);},'./src/LayerManager/GraphicLayer/GraphicItem/FlagGraphic.ts':function(_0x527e91,_0xcad21c,_0x39e203){'use strict';_0x39e203['r'](_0xcad21c),_0x39e203['d'](_0xcad21c,_0x1a4e('0x3e30'),function(){return _0x24e38c;}),_0x39e203['d'](_0xcad21c,_0x1a4e('0x3fec'),function(){return _0x9c5a03;});var _0x438168,_0x1eb70b=_0x39e203(_0x1a4e('0x3e0b')),_0x4ae481=_0x39e203('./src/LayerManager/GraphicLayer/GraphicRender/Flag.ts'),_0x1d4abf=(_0x438168=function(_0x527e91,_0xcad21c){return(_0x438168=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x527e91,_0xcad21c){_0x527e91[_0x1a4e('0x295')]=_0xcad21c;}||function(_0x527e91,_0xcad21c){for(var _0x39e203 in _0xcad21c)_0xcad21c[_0x1a4e('0xb')](_0x39e203)&&(_0x527e91[_0x39e203]=_0xcad21c[_0x39e203]);})(_0x527e91,_0xcad21c);},function(_0x527e91,_0xcad21c){function _0x39e203(){this[_0x1a4e('0x10')]=_0x527e91;}_0x438168(_0x527e91,_0xcad21c),_0x527e91[_0x1a4e('0xa')]=null===_0xcad21c?Object[_0x1a4e('0x7')](_0xcad21c):(_0x39e203[_0x1a4e('0xa')]=_0xcad21c['prototype'],new _0x39e203());}),_0x24e38c=function(_0x527e91){function _0xcad21c(_0xcad21c){var _0x39e203=_0x527e91[_0x1a4e('0x1')](this,_0xcad21c)||this;return _0x39e203[_0x1a4e('0x4137')]=new _0x9c5a03(),_0x39e203[_0x1a4e('0x3acc')](_0xcad21c),_0x39e203;}return _0x1d4abf(_0xcad21c,_0x527e91),_0xcad21c[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0xcad21c){if(_0x527e91['prototype'][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0xcad21c),this['father']){var _0x39e203=new _0x4ae481[(_0x1a4e('0x4190'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x39e203;};}},_0xcad21c['prototype'][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x413d')]();},_0xcad21c['prototype'][_0x1a4e('0x3cc')]=function(){return _0xcad21c[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0xcad21c,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e30');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcad21c[_0x1a4e('0xa')],'position',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3553')];},'set':function(_0x527e91){this[_0x1a4e('0x4137')][_0x1a4e('0x3553')]=_0x527e91,this['updateAttribute'](_0x1a4e('0x3553'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcad21c['prototype'],'text',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0xe04')];},'set':function(_0x527e91){this[_0x1a4e('0x4137')][_0x1a4e('0xe04')]=_0x527e91,this['updateAttribute'](_0x1a4e('0xe04'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xcad21c[_0x1a4e('0xa')],'scale',{'get':function(){return this['_opt'][_0x1a4e('0x143')];},'set':function(_0x527e91){this['_opt']['scale']!==_0x527e91&&(this[_0x1a4e('0x4137')][_0x1a4e('0x143')]=_0x527e91,this[_0x1a4e('0x3dda')](_0x1a4e('0x143')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcad21c[_0x1a4e('0xa')],'inflectionOffset',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3ebb')];},'set':function(_0x527e91){this[_0x1a4e('0x4137')][_0x1a4e('0x3ebb')]!==_0x527e91&&(this[_0x1a4e('0x4137')]['inflectionOffset']=_0x527e91,this[_0x1a4e('0x3dda')](_0x1a4e('0x3ebb')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcad21c[_0x1a4e('0xa')],_0x1a4e('0x3ebe'),{'get':function(){return this['_opt'][_0x1a4e('0x3ebe')];},'set':function(_0x527e91){this[_0x1a4e('0x4137')][_0x1a4e('0x3ebe')]!==_0x527e91&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3ebe')]=_0x527e91,this[_0x1a4e('0x3dda')](_0x1a4e('0x3ebe')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcad21c[_0x1a4e('0xa')],_0x1a4e('0x4191'),{'get':function(){return this[_0x1a4e('0x4137')]['lineWidth'];},'set':function(_0x527e91){this[_0x1a4e('0x4137')][_0x1a4e('0x4191')]!==_0x527e91&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4191')]=_0x527e91,this[_0x1a4e('0x3dda')](_0x1a4e('0x4191')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcad21c[_0x1a4e('0xa')],_0x1a4e('0x4192'),{'get':function(){return this[_0x1a4e('0x4137')]['textSize'];},'set':function(_0x527e91){this[_0x1a4e('0x4137')][_0x1a4e('0x4192')]!==_0x527e91&&(this[_0x1a4e('0x4137')]['textSize']=_0x527e91,this[_0x1a4e('0x3dda')](_0x1a4e('0x4192')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcad21c[_0x1a4e('0xa')],_0x1a4e('0x40a1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a1')];},'set':function(_0x527e91){this[_0x1a4e('0x4137')][_0x1a4e('0x40a1')]!==_0x527e91&&(this[_0x1a4e('0x4137')][_0x1a4e('0x40a1')]=_0x527e91,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a1')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcad21c[_0x1a4e('0xa')],_0x1a4e('0x3987'),{'get':function(){return this[_0x1a4e('0x4137')]['fillColor'];},'set':function(_0x527e91){this[_0x1a4e('0x4137')][_0x1a4e('0x3987')]!==_0x527e91&&(this[_0x1a4e('0x4137')]['fillColor']=_0x527e91,this['updateAttribute'](_0x1a4e('0x3987')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xcad21c[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x527e91){this[_0x1a4e('0x4137')]['color']!==_0x527e91&&(this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x527e91,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),_0xcad21c[_0x1a4e('0xa')]['getCanvasInfo']=function(){return this['getRenderObject']()[_0x1a4e('0x3ec0')]();},Object[_0x1a4e('0x2')](_0xcad21c['prototype'],'clampToGround',{'get':function(){return!0x1;},'enumerable':!0x0,'configurable':!0x0}),_0xcad21c;}(_0x1eb70b['GraphicItem']),_0x9c5a03=function(_0x527e91){function _0xcad21c(){var _0xcad21c=null!==_0x527e91&&_0x527e91[_0x1a4e('0x8b')](this,arguments)||this;return _0xcad21c[_0x1a4e('0x143')]=0x1,_0xcad21c[_0x1a4e('0x3ebb')]=[0x0,0x0],_0xcad21c[_0x1a4e('0x3ebe')]=0x50,_0xcad21c['textSize']=0x9,_0xcad21c['textColor']=_0x1a4e('0x4193'),_0xcad21c['color']=_0x1a4e('0x4194'),_0xcad21c[_0x1a4e('0x4191')]=0x1,_0xcad21c;}return _0x1d4abf(_0xcad21c,_0x527e91),_0xcad21c;}(_0x1eb70b[_0x1a4e('0x4143')]);window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x24e38c);},'./src/LayerManager/GraphicLayer/GraphicItem/FlowWallGraphic.ts':function(_0xabfdbe,_0x4d2a98,_0x39bf17){'use strict';_0x39bf17['r'](_0x4d2a98),_0x39bf17['d'](_0x4d2a98,_0x1a4e('0x3e39'),function(){return _0x43ca8c;}),_0x39bf17['d'](_0x4d2a98,'FlowWallGraphicOpt',function(){return _0xaff595;}),_0x39bf17['d'](_0x4d2a98,_0x1a4e('0x4195'),function(){return _0x46f405;});var _0x3f87ee,_0x46f405,_0x1760de=_0x39bf17(_0x1a4e('0x3999')),_0xf54a4=_0x39bf17(_0x1a4e('0x4196')),_0x2f34c5=_0x39bf17(_0x1a4e('0x3e0b')),_0x2b2847=(_0x3f87ee=function(_0xabfdbe,_0x4d2a98){return(_0x3f87ee=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0xabfdbe,_0x4d2a98){_0xabfdbe[_0x1a4e('0x295')]=_0x4d2a98;}||function(_0xabfdbe,_0x4d2a98){for(var _0x39bf17 in _0x4d2a98)_0x4d2a98[_0x1a4e('0xb')](_0x39bf17)&&(_0xabfdbe[_0x39bf17]=_0x4d2a98[_0x39bf17]);})(_0xabfdbe,_0x4d2a98);},function(_0xabfdbe,_0x4d2a98){function _0x39bf17(){this[_0x1a4e('0x10')]=_0xabfdbe;}_0x3f87ee(_0xabfdbe,_0x4d2a98),_0xabfdbe[_0x1a4e('0xa')]=null===_0x4d2a98?Object[_0x1a4e('0x7')](_0x4d2a98):(_0x39bf17[_0x1a4e('0xa')]=_0x4d2a98['prototype'],new _0x39bf17());}),_0x43ca8c=function(_0xabfdbe){function _0x4d2a98(_0x4d2a98){var _0x39bf17=_0xabfdbe[_0x1a4e('0x1')](this,_0x4d2a98)||this;return _0x39bf17[_0x1a4e('0x4137')]=new _0xaff595(),_0x39bf17[_0x1a4e('0x3acc')](_0x4d2a98),_0x39bf17;}return _0x2b2847(_0x4d2a98,_0xabfdbe),_0x4d2a98[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4d2a98){if(_0xabfdbe[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x4d2a98),this[_0x1a4e('0x4138')]){var _0x39bf17=new _0xf54a4[(_0x1a4e('0x4197'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x39bf17;};}},_0x4d2a98[_0x1a4e('0xa')]['getRenderObject']=function(){return this['_getRenderObj']();},_0x4d2a98[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4d2a98['type'];},Object[_0x1a4e('0x2')](_0x4d2a98,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e39');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d2a98[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return this[_0x1a4e('0x4137')]['positions'];},'set':function(_0xabfdbe){this[_0x1a4e('0x4137')][_0x1a4e('0x398a')]=_0xabfdbe,this['updateAttribute']('positions');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d2a98[_0x1a4e('0xa')],_0x1a4e('0x3b77'),{'get':function(){return this[_0x1a4e('0x4137')]['repeat'];},'set':function(_0xabfdbe){this[_0x1a4e('0x4137')][_0x1a4e('0x3b77')]=_0xabfdbe,this[_0x1a4e('0x3dda')](_0x1a4e('0x3b77'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d2a98['prototype'],_0x1a4e('0x3cb4'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3cb4')];},'set':function(_0xabfdbe){this[_0x1a4e('0x4137')][_0x1a4e('0x3cb4')]=_0xabfdbe,this[_0x1a4e('0x3dda')]('image');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d2a98[_0x1a4e('0xa')],_0x1a4e('0x40e3'),{'get':function(){return this[_0x1a4e('0x4137')]['speed'];},'set':function(_0xabfdbe){_0xabfdbe>=0x1&&_0xabfdbe<=0xa&&(this['_opt'][_0x1a4e('0x40e3')]=_0xabfdbe,this[_0x1a4e('0x3dda')]('speed'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d2a98[_0x1a4e('0xa')],'flowDir',{'get':function(){return this['_opt'][_0x1a4e('0x4198')];},'set':function(_0xabfdbe){this[_0x1a4e('0x4137')][_0x1a4e('0x4198')]=_0xabfdbe,this['updateAttribute'](_0x1a4e('0x4198'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d2a98['prototype'],_0x1a4e('0x4199'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4199')];},'set':function(_0xabfdbe){this[_0x1a4e('0x4137')][_0x1a4e('0x4199')]=_0xabfdbe,this['updateAttribute'](_0x1a4e('0x4199'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4d2a98[_0x1a4e('0xa')],_0x1a4e('0x419a'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x419a')];},'set':function(_0xabfdbe){this['_opt']['minimumHeights']=_0xabfdbe,this[_0x1a4e('0x3dda')](_0x1a4e('0x419a'));},'enumerable':!0x0,'configurable':!0x0}),_0x4d2a98;}(_0x2f34c5[_0x1a4e('0x3ae2')]),_0xaff595=function(){this[_0x1a4e('0x3b77')]=new Cesium[(_0x1a4e('0x3952'))](0x1,0x1),this[_0x1a4e('0x3cb4')]=_0x1760de[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x419b')),this[_0x1a4e('0x40e3')]=0x1,this[_0x1a4e('0x4198')]=_0x46f405[_0x1a4e('0x419c')];};window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x43ca8c),function(_0xabfdbe){_0xabfdbe[_0xabfdbe['vertical']=0x1]=_0x1a4e('0x419d'),_0xabfdbe[_0xabfdbe[_0x1a4e('0x419c')]=0x0]=_0x1a4e('0x419c');}(_0x46f405||(_0x46f405={}));},'./src/LayerManager/GraphicLayer/GraphicItem/GradientSectorGraphic.ts':function(_0x23b4af,_0x9c9128,_0x2ce813){'use strict';_0x2ce813['r'](_0x9c9128),_0x2ce813['d'](_0x9c9128,_0x1a4e('0x4000'),function(){return _0x3399ff;}),_0x2ce813['d'](_0x9c9128,_0x1a4e('0x4001'),function(){return _0x27e409;});var _0x438e1c,_0x3ad14b=_0x2ce813(_0x1a4e('0x3e0b')),_0x48ab98=_0x2ce813(_0x1a4e('0x38d0')),_0x49fbfc=_0x2ce813(_0x1a4e('0x419e')),_0x2288c6=(_0x438e1c=function(_0x23b4af,_0x9c9128){return(_0x438e1c=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x23b4af,_0x9c9128){_0x23b4af[_0x1a4e('0x295')]=_0x9c9128;}||function(_0x23b4af,_0x9c9128){for(var _0x2ce813 in _0x9c9128)_0x9c9128['hasOwnProperty'](_0x2ce813)&&(_0x23b4af[_0x2ce813]=_0x9c9128[_0x2ce813]);})(_0x23b4af,_0x9c9128);},function(_0x23b4af,_0x9c9128){function _0x2ce813(){this[_0x1a4e('0x10')]=_0x23b4af;}_0x438e1c(_0x23b4af,_0x9c9128),_0x23b4af[_0x1a4e('0xa')]=null===_0x9c9128?Object['create'](_0x9c9128):(_0x2ce813[_0x1a4e('0xa')]=_0x9c9128['prototype'],new _0x2ce813());}),_0x3399ff=function(_0x23b4af){function _0x9c9128(_0x9c9128){var _0x2ce813=_0x23b4af['call'](this,_0x9c9128)||this;return _0x2ce813[_0x1a4e('0x39d5')]=_0x1a4e('0x4000'),_0x2ce813['_opt']=new _0x27e409(),_0x2ce813[_0x1a4e('0x3acc')](_0x9c9128),_0x2ce813;}return _0x2288c6(_0x9c9128,_0x23b4af),_0x9c9128[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x9c9128[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x9c9128,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x4000');},'enumerable':!0x0,'configurable':!0x0}),_0x9c9128[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x9c9128){if(_0x23b4af[_0x1a4e('0xa')]['init'][_0x1a4e('0x1')](this,_0x9c9128),this[_0x1a4e('0x4138')]){var _0x2ce813=new _0x49fbfc[(_0x1a4e('0x419f'))](this,this[_0x1a4e('0x4138')]['getRoot']());this[_0x1a4e('0x413d')]=function(){return _0x2ce813;};}},_0x9c9128[_0x1a4e('0xa')][_0x1a4e('0x3ecb')]=function(){},_0x9c9128[_0x1a4e('0xa')][_0x1a4e('0x3efa')]=function(){},Object[_0x1a4e('0x2')](_0x9c9128[_0x1a4e('0xa')],_0x1a4e('0x3e50'),{'get':function(){return this[_0x1a4e('0x4137')]['topPosition'];},'set':function(_0x23b4af){_0x23b4af&&(this['_opt'][_0x1a4e('0x3e50')]=_0x23b4af,this[_0x1a4e('0x3dda')](_0x1a4e('0x3e50')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x9c9128[_0x1a4e('0xa')],'bottomPosition',{'get':function(){return this['_opt'][_0x1a4e('0x3e4f')];},'set':function(_0x23b4af){_0x23b4af&&(this['_opt'][_0x1a4e('0x3e4f')]=_0x23b4af,this[_0x1a4e('0x3dda')](_0x1a4e('0x3e4f')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x9c9128['prototype'],'position',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3e4f')];},'set':function(_0x23b4af){var _0x9c9128=this[_0x1a4e('0x4137')][_0x1a4e('0x3e4f')],_0x2ce813=this[_0x1a4e('0x4137')][_0x1a4e('0x3e50')],_0x438e1c=_0x23b4af['lon']-_0x9c9128[_0x1a4e('0x1a1')]+_0x2ce813[_0x1a4e('0x1a1')],_0x3ad14b=_0x23b4af[_0x1a4e('0x1a2')]-_0x9c9128['lat']+_0x2ce813['lat'],_0x49fbfc=_0x23b4af[_0x1a4e('0x398c')]-_0x9c9128[_0x1a4e('0x398c')]+_0x2ce813[_0x1a4e('0x398c')],_0x2288c6=new _0x48ab98[(_0x1a4e('0x38da'))](_0x438e1c,_0x3ad14b,_0x49fbfc);this[_0x1a4e('0x4137')][_0x1a4e('0x3e4f')]=_0x23b4af,this[_0x1a4e('0x4137')][_0x1a4e('0x3e50')]=_0x2288c6,this[_0x1a4e('0x3dda')](_0x1a4e('0x3553'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x9c9128[_0x1a4e('0xa')],_0x1a4e('0x3aa1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3aa1')];},'set':function(_0x23b4af){void 0x0!==_0x23b4af&&(this['_opt']['fov']=_0x23b4af,this[_0x1a4e('0x3dda')](_0x1a4e('0x3aa1')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x9c9128[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')]['color'];},'set':function(_0x23b4af){void 0x0!==_0x23b4af&&(this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x23b4af,this[_0x1a4e('0x3dda')]('color'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x9c9128[_0x1a4e('0xa')],_0x1a4e('0x3d2e'),{'get':function(){return this['_opt']['rotation'];},'set':function(_0x23b4af){void 0x0!==_0x23b4af&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]=_0x23b4af,this[_0x1a4e('0x3dda')](_0x1a4e('0x3d2e')));},'enumerable':!0x0,'configurable':!0x0}),_0x9c9128;}(_0x3ad14b['GraphicItem']),_0x27e409=function(_0x23b4af){function _0x9c9128(){var _0x9c9128=null!==_0x23b4af&&_0x23b4af[_0x1a4e('0x8b')](this,arguments)||this;return _0x9c9128[_0x1a4e('0x3e50')]=new _0x48ab98['GeoPoint'](0x0,0x0,0x30d40),_0x9c9128['bottomPosition']=new _0x48ab98['GeoPoint'](0x0,0x0,0x0),_0x9c9128[_0x1a4e('0x3aa1')]=0x3c,_0x9c9128[_0x1a4e('0x134')]=_0x1a4e('0x416d'),_0x9c9128['rotation']=0x0,_0x9c9128;}return _0x2288c6(_0x9c9128,_0x23b4af),_0x9c9128;}(_0x3ad14b[_0x1a4e('0x4143')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x3399ff);},'./src/LayerManager/GraphicLayer/GraphicItem/GraphicGroup.ts':function(_0x273cde,_0xb37571,_0x281e06){'use strict';_0x281e06['r'](_0xb37571),_0x281e06['d'](_0xb37571,'GraphicGroup',function(){return _0x508312;});var _0x1520ba,_0x2a7072=_0x281e06(_0x1a4e('0x3ad0')),_0x435a6b=_0x281e06(_0x1a4e('0x3999')),_0x56d24e=_0x281e06('./src/Utils/GeoPoint.ts'),_0x2aec36=_0x281e06(_0x1a4e('0x3f0c')),_0x516cb2=(_0x1520ba=function(_0x273cde,_0xb37571){return(_0x1520ba=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x273cde,_0xb37571){_0x273cde['__proto__']=_0xb37571;}||function(_0x273cde,_0xb37571){for(var _0x281e06 in _0xb37571)_0xb37571[_0x1a4e('0xb')](_0x281e06)&&(_0x273cde[_0x281e06]=_0xb37571[_0x281e06]);})(_0x273cde,_0xb37571);},function(_0x273cde,_0xb37571){function _0x281e06(){this['constructor']=_0x273cde;}_0x1520ba(_0x273cde,_0xb37571),_0x273cde[_0x1a4e('0xa')]=null===_0xb37571?Object[_0x1a4e('0x7')](_0xb37571):(_0x281e06[_0x1a4e('0xa')]=_0xb37571['prototype'],new _0x281e06());}),_0x42778d=function(_0x273cde,_0xb37571,_0x281e06,_0x1520ba){return new(_0x281e06||(_0x281e06=Promise))(function(_0x2a7072,_0x435a6b){function _0x56d24e(_0x273cde){try{_0x516cb2(_0x1520ba[_0x1a4e('0x7e')](_0x273cde));}catch(_0x21a1b9){_0x435a6b(_0x21a1b9);}}function _0x2aec36(_0x273cde){try{_0x516cb2(_0x1520ba[_0x1a4e('0x1362')](_0x273cde));}catch(_0x3631f7){_0x435a6b(_0x3631f7);}}function _0x516cb2(_0x273cde){_0x273cde[_0x1a4e('0x3c2')]?_0x2a7072(_0x273cde[_0x1a4e('0x255')]):new _0x281e06(function(_0xb37571){_0xb37571(_0x273cde[_0x1a4e('0x255')]);})['then'](_0x56d24e,_0x2aec36);}_0x516cb2((_0x1520ba=_0x1520ba[_0x1a4e('0x8b')](_0x273cde,_0xb37571||[]))[_0x1a4e('0x7e')]());});},_0x33997f=function(_0x273cde,_0xb37571){var _0x281e06,_0x1520ba,_0x2a7072,_0x435a6b,_0x56d24e={'label':0x0,'sent':function(){if(0x1&_0x2a7072[0x0])throw _0x2a7072[0x1];return _0x2a7072[0x1];},'trys':[],'ops':[]};return _0x435a6b={'next':_0x2aec36(0x0),'throw':_0x2aec36(0x1),'return':_0x2aec36(0x2)},'function'==typeof Symbol&&(_0x435a6b[Symbol[_0x1a4e('0x335')]]=function(){return this;}),_0x435a6b;function _0x2aec36(_0x435a6b){return function(_0x2aec36){return function(_0x435a6b){if(_0x281e06)throw new TypeError(_0x1a4e('0x16f8'));for(;_0x56d24e;)try{if(_0x281e06=0x1,_0x1520ba&&(_0x2a7072=0x2&_0x435a6b[0x0]?_0x1520ba[_0x1a4e('0xe40')]:_0x435a6b[0x0]?_0x1520ba[_0x1a4e('0x1362')]||((_0x2a7072=_0x1520ba['return'])&&_0x2a7072[_0x1a4e('0x1')](_0x1520ba),0x0):_0x1520ba['next'])&&!(_0x2a7072=_0x2a7072[_0x1a4e('0x1')](_0x1520ba,_0x435a6b[0x1]))[_0x1a4e('0x3c2')])return _0x2a7072;switch(_0x1520ba=0x0,_0x2a7072&&(_0x435a6b=[0x2&_0x435a6b[0x0],_0x2a7072[_0x1a4e('0x255')]]),_0x435a6b[0x0]){case 0x0:case 0x1:_0x2a7072=_0x435a6b;break;case 0x4:return _0x56d24e[_0x1a4e('0x1bc')]++,{'value':_0x435a6b[0x1],'done':!0x1};case 0x5:_0x56d24e[_0x1a4e('0x1bc')]++,_0x1520ba=_0x435a6b[0x1],_0x435a6b=[0x0];continue;case 0x7:_0x435a6b=_0x56d24e['ops'][_0x1a4e('0x76')](),_0x56d24e['trys'][_0x1a4e('0x76')]();continue;default:if(!(_0x2a7072=(_0x2a7072=_0x56d24e[_0x1a4e('0x1669')])[_0x1a4e('0x1e')]>0x0&&_0x2a7072[_0x2a7072[_0x1a4e('0x1e')]-0x1])&&(0x6===_0x435a6b[0x0]||0x2===_0x435a6b[0x0])){_0x56d24e=0x0;continue;}if(0x3===_0x435a6b[0x0]&&(!_0x2a7072||_0x435a6b[0x1]>_0x2a7072[0x0]&&_0x435a6b[0x1]<_0x2a7072[0x3])){_0x56d24e[_0x1a4e('0x1bc')]=_0x435a6b[0x1];break;}if(0x6===_0x435a6b[0x0]&&_0x56d24e['label']<_0x2a7072[0x1]){_0x56d24e[_0x1a4e('0x1bc')]=_0x2a7072[0x1],_0x2a7072=_0x435a6b;break;}if(_0x2a7072&&_0x56d24e[_0x1a4e('0x1bc')]<_0x2a7072[0x2]){_0x56d24e['label']=_0x2a7072[0x2],_0x56d24e['ops'][_0x1a4e('0x46')](_0x435a6b);break;}_0x2a7072[0x2]&&_0x56d24e[_0x1a4e('0x166a')]['pop'](),_0x56d24e['trys'][_0x1a4e('0x76')]();continue;}_0x435a6b=_0xb37571[_0x1a4e('0x1')](_0x273cde,_0x56d24e);}catch(_0x2a7f9e){_0x435a6b=[0x6,_0x2a7f9e],_0x1520ba=0x0;}finally{_0x281e06=_0x2a7072=0x0;}if(0x5&_0x435a6b[0x0])throw _0x435a6b[0x1];return{'value':_0x435a6b[0x0]?_0x435a6b[0x1]:void 0x0,'done':!0x0};}([_0x435a6b,_0x2aec36]);};}},_0x468dc6=function(_0x273cde){var _0xb37571=_0x1a4e('0x68')==typeof Symbol&&_0x273cde[Symbol['iterator']],_0x281e06=0x0;return _0xb37571?_0xb37571[_0x1a4e('0x1')](_0x273cde):{'next':function(){return _0x273cde&&_0x281e06>=_0x273cde['length']&&(_0x273cde=void 0x0),{'value':_0x273cde&&_0x273cde[_0x281e06++],'done':!_0x273cde};}};},_0x508312=function(_0x273cde){function _0xb37571(_0xb37571){var _0x281e06=_0x273cde[_0x1a4e('0x1')](this)||this;return _0x281e06[_0x1a4e('0x39d5')]=_0x1a4e('0x3f21'),_0x281e06['_visible']=!0x0,_0x281e06[_0x1a4e('0x3ad1')]=[],_0x281e06[_0x1a4e('0x515')]=_0x435a6b[_0x1a4e('0x39a0')]['createGuid'](),_0xb37571&&_0x281e06['parseJson'](_0xb37571),_0x281e06;}return _0x516cb2(_0xb37571,_0x273cde),Object[_0x1a4e('0x2')](_0xb37571,'type',{'get':function(){return _0x1a4e('0x3f21');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xb37571[_0x1a4e('0xa')],'name',{'get':function(){return this['_name'];},'set':function(_0x273cde){this['_name']=_0x273cde;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xb37571[_0x1a4e('0xa')],'id',{'get':function(){return this[_0x1a4e('0x515')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xb37571[_0x1a4e('0xa')],'father',{'get':function(){return this[_0x1a4e('0x3e07')];},'enumerable':!0x0,'configurable':!0x0}),_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x41a0')]=function(){this[_0x1a4e('0x3e07')]?this[_0x1a4e('0x41a1')]=this['_father'][_0x1a4e('0x41a2')]&&this[_0x1a4e('0x3b33')]:this['_renderVisible']=this[_0x1a4e('0x3b33')];},Object[_0x1a4e('0x2')](_0xb37571['prototype'],_0x1a4e('0x3b2c'),{'get':function(){return this['_visible'];},'set':function(_0x273cde){this[_0x1a4e('0x3b33')]=_0x273cde,this[_0x1a4e('0x41a0')](),this[_0x1a4e('0x6f')][_0x1a4e('0x3b')](function(_0x281e06){_0x281e06 instanceof _0xb37571&&(_0x281e06['visible']=_0x273cde),_0x281e06['updateVisible']();});},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xb37571[_0x1a4e('0xa')],_0x1a4e('0x41a2'),{'get':function(){return this[_0x1a4e('0x41a1')];},'enumerable':!0x0,'configurable':!0x0}),_0xb37571['prototype'][_0x1a4e('0x1fd')]=function(_0x273cde){var _0x281e06=this;_0x273cde instanceof _0xb37571?(this[_0x1a4e('0x4bd')]=_0x273cde[_0x1a4e('0x4bd')],this[_0x1a4e('0x3e07')]=_0x273cde):this[_0x1a4e('0x4bd')]=_0x273cde,this[_0x1a4e('0x41a0')](),this[_0x1a4e('0x6f')][_0x1a4e('0x3b')](function(_0x273cde){_0x273cde[_0x1a4e('0x1fd')](_0x281e06);});},_0xb37571[_0x1a4e('0xa')]['destroy']=function(){this['_itemList'][_0x1a4e('0x3b')](function(_0x273cde){_0x273cde[_0x1a4e('0x139c')]();}),this[_0x1a4e('0x3e07')]=void 0x0,this['_root']=void 0x0;},_0xb37571[_0x1a4e('0xa')]['clear']=function(){var _0x273cde=this;this['_clusterComputeFun']&&(this[_0x1a4e('0x41a3')](this[_0x1a4e('0x38fa')]),this[_0x1a4e('0x41a4')](this[_0x1a4e('0x38fa')],this[_0x1a4e('0x41a5')]));var _0xb37571=[];this[_0x1a4e('0x6f')][_0x1a4e('0x3b')](function(_0x273cde){_0xb37571[_0x1a4e('0x46')](_0x273cde['id']);}),_0xb37571[_0x1a4e('0x3b')](function(_0xb37571){_0x273cde[_0x1a4e('0x41a6')](_0xb37571);});},Object[_0x1a4e('0x2')](_0xb37571[_0x1a4e('0xa')],_0x1a4e('0x6f'),{'get':function(){return this['_itemList'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xb37571['prototype'],_0x1a4e('0x3e66'),{'get':function(){return this[_0x1a4e('0x41a7')];},'set':function(_0x273cde){this['_extendInfo']=_0x273cde;},'enumerable':!0x0,'configurable':!0x0}),_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x273cde){return this[_0x1a4e('0x3ad1')][_0x1a4e('0x46')](_0x273cde),this[_0x1a4e('0x4bd')]&&(_0x273cde[_0x1a4e('0x1fd')](this),this['getRoot']()[_0x1a4e('0x3ad3')](_0x1a4e('0x177'),_0x273cde)),_0x273cde;},_0xb37571[_0x1a4e('0xa')]['addByJson']=function(_0x273cde){var _0x281e06=new(window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),_0x273cde[_0x1a4e('0x40')]))(_0x273cde);return this[_0x1a4e('0x177')](_0x281e06),_0x281e06 instanceof _0xb37571&&_0x273cde['id']&&(_0x281e06[_0x1a4e('0x515')]=_0x273cde['id']),_0x281e06;},_0xb37571['prototype'][_0x1a4e('0x41a6')]=function(_0x273cde){var _0xb37571=this[_0x1a4e('0x41a8')](_0x273cde);if(_0xb37571)return this[_0x1a4e('0x82')](_0xb37571);},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x273cde){if(_0x273cde){_0x273cde[_0x1a4e('0x139c')]();var _0xb37571=this[_0x1a4e('0x3ad1')][_0x1a4e('0x3e')](_0x273cde);this[_0x1a4e('0x3ad1')][_0x1a4e('0x8a')](_0xb37571,0x1),this['getRoot']()[_0x1a4e('0x3ad3')](_0x1a4e('0x82'),_0x273cde);return'q',_0x273cde;}},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x41a8')]=function(_0x273cde){var _0x281e06,_0x1520ba;try{for(var _0x2a7072=_0x468dc6(this['_itemList']),_0x435a6b=_0x2a7072['next']();!_0x435a6b[_0x1a4e('0x3c2')];_0x435a6b=_0x2a7072[_0x1a4e('0x7e')]()){var _0x56d24e=_0x435a6b[_0x1a4e('0x255')];if(_0x56d24e['id']===_0x273cde)return _0x56d24e;if(_0x56d24e instanceof _0xb37571){var _0x2aec36=_0x56d24e[_0x1a4e('0x41a8')](_0x273cde);if(_0x2aec36)return _0x2aec36;}}}catch(_0x4795ba){_0x281e06={'error':_0x4795ba};}finally{try{_0x435a6b&&!_0x435a6b['done']&&(_0x1520ba=_0x2a7072[_0x1a4e('0xe40')])&&_0x1520ba[_0x1a4e('0x1')](_0x2a7072);}finally{if(_0x281e06)throw _0x281e06[_0x1a4e('0x873')];}}},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x41a9')]=function(_0x273cde){var _0x281e06,_0x1520ba,_0x2a7072=[];try{for(var _0x435a6b=_0x468dc6(this['_itemList']),_0x56d24e=_0x435a6b[_0x1a4e('0x7e')]();!_0x56d24e[_0x1a4e('0x3c2')];_0x56d24e=_0x435a6b['next']()){var _0x2aec36=_0x56d24e[_0x1a4e('0x255')];if(_0x2aec36[_0x1a4e('0x2cb')]===_0x273cde)_0x2a7072[_0x1a4e('0x46')](_0x2aec36);else if(_0x2aec36 instanceof _0xb37571){var _0x516cb2=_0x2aec36[_0x1a4e('0x41a9')](_0x273cde);_0x2a7072=_0x2a7072[_0x1a4e('0x9a')](_0x516cb2);}}}catch(_0x3a1099){_0x281e06={'error':_0x3a1099};}finally{try{_0x56d24e&&!_0x56d24e[_0x1a4e('0x3c2')]&&(_0x1520ba=_0x435a6b[_0x1a4e('0xe40')])&&_0x1520ba[_0x1a4e('0x1')](_0x435a6b);}finally{if(_0x281e06)throw _0x281e06[_0x1a4e('0x873')];}}return _0x2a7072;},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x273cde,_0xb37571,_0x281e06={'type':this[_0x1a4e('0x39d5')],'id':this[_0x1a4e('0x515')],'name':this[_0x1a4e('0x3d3')],'extendInfo':this[_0x1a4e('0x41a7')],'children':[]},_0x1520ba=[];try{for(var _0x2a7072=_0x468dc6(this[_0x1a4e('0x3ad1')]),_0x435a6b=_0x2a7072['next']();!_0x435a6b[_0x1a4e('0x3c2')];_0x435a6b=_0x2a7072['next']()){var _0x56d24e=_0x435a6b[_0x1a4e('0x255')];_0x1520ba[_0x1a4e('0x46')](_0x56d24e[_0x1a4e('0x3acb')]());}}catch(_0x50b79c){_0x273cde={'error':_0x50b79c};}finally{try{_0x435a6b&&!_0x435a6b[_0x1a4e('0x3c2')]&&(_0xb37571=_0x2a7072[_0x1a4e('0xe40')])&&_0xb37571['call'](_0x2a7072);}finally{if(_0x273cde)throw _0x273cde[_0x1a4e('0x873')];}}return _0x281e06[_0x1a4e('0x6f')]=_0x1520ba,_0x281e06;},_0xb37571['prototype']['bindToJson']=function(_0x273cde){var _0xb37571,_0x281e06;try{for(var _0x1520ba=_0x468dc6(this[_0x1a4e('0x3ad1')]),_0x2a7072=_0x1520ba[_0x1a4e('0x7e')]();!_0x2a7072[_0x1a4e('0x3c2')];_0x2a7072=_0x1520ba['next']()){_0x2a7072[_0x1a4e('0x255')][_0x1a4e('0x416c')](_0x273cde);}}catch(_0x773d31){_0xb37571={'error':_0x773d31};}finally{try{_0x2a7072&&!_0x2a7072['done']&&(_0x281e06=_0x1520ba[_0x1a4e('0xe40')])&&_0x281e06[_0x1a4e('0x1')](_0x1520ba);}finally{if(_0xb37571)throw _0xb37571['error'];}}},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x3acc')]=function(_0x273cde){var _0xb37571,_0x281e06;this['_name']=_0x273cde[_0x1a4e('0x2cb')],this[_0x1a4e('0x41a7')]=_0x273cde[_0x1a4e('0x3e66')],this['_visible']=void 0x0===_0x273cde['visible'];try{for(var _0x1520ba=_0x468dc6(_0x273cde[_0x1a4e('0x6f')]),_0x2a7072=_0x1520ba['next']();!_0x2a7072[_0x1a4e('0x3c2')];_0x2a7072=_0x1520ba[_0x1a4e('0x7e')]()){var _0x435a6b=_0x2a7072[_0x1a4e('0x255')],_0x56d24e=new(window['GV'][_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),_0x435a6b[_0x1a4e('0x40')]))(_0x435a6b);this[_0x1a4e('0x177')](_0x56d24e);}}catch(_0x1f65d6){_0xb37571={'error':_0x1f65d6};}finally{try{_0x2a7072&&!_0x2a7072[_0x1a4e('0x3c2')]&&(_0x281e06=_0x1520ba[_0x1a4e('0xe40')])&&_0x281e06['call'](_0x1520ba);}finally{if(_0xb37571)throw _0xb37571[_0x1a4e('0x873')];}}return this;},_0xb37571[_0x1a4e('0xa')]['parseBind']=function(_0x273cde){var _0xb37571=this;_0x273cde[_0x1a4e('0x3b')](function(_0x273cde){var _0x281e06,_0x1520ba,_0x2a7072=_0xb37571['getById'](_0x273cde['id']);if(null==_0x2a7072)console[_0x1a4e('0x58')](_0x1a4e('0x41aa')+_0x273cde['id']);else try{for(var _0x435a6b=_0x468dc6(_0x273cde[_0x1a4e('0x41ab')]),_0x56d24e=_0x435a6b['next']();!_0x56d24e[_0x1a4e('0x3c2')];_0x56d24e=_0x435a6b['next']()){var _0x2aec36=_0x56d24e['value'],_0x516cb2=_0xb37571[_0x1a4e('0x41a8')](_0x2aec36[_0x1a4e('0x945')]);null==_0x516cb2?console['log']('解析绑定时丢失对象,ID为:'+_0x273cde[_0x1a4e('0x945')]):_0x2a7072[_0x2aec36[_0x1a4e('0x2cb')]]=_0x516cb2;}}catch(_0x19d52a){_0x281e06={'error':_0x19d52a};}finally{try{_0x56d24e&&!_0x56d24e[_0x1a4e('0x3c2')]&&(_0x1520ba=_0x435a6b[_0x1a4e('0xe40')])&&_0x1520ba[_0x1a4e('0x1')](_0x435a6b);}finally{if(_0x281e06)throw _0x281e06[_0x1a4e('0x873')];}}});},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x4d4')]=function(){if(this[_0x1a4e('0x4bd')])return this['_root']();},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x41a4')]=function(_0x273cde,_0xb37571){return _0x42778d(this,void 0x0,void 0x0,function(){return _0x33997f(this,function(_0x281e06){switch(_0x281e06[_0x1a4e('0x1bc')]){case 0x0:return this[_0x1a4e('0x38fa')]=_0x273cde,this[_0x1a4e('0x41a5')]=_0xb37571,this[_0x1a4e('0x41a3')](_0x273cde),this[_0x1a4e('0x41ac')]=new Map(),this[_0x1a4e('0x41ad')]=new Map(),[0x4,this[_0x1a4e('0x41ae')](_0x273cde,_0xb37571)];case 0x1:return _0x281e06[_0x1a4e('0x128a')](),_0x273cde[_0x1a4e('0x3a06')][_0x1a4e('0x41af')][_0x1a4e('0xec5')](this[_0x1a4e('0x41b0')]),_0x273cde[_0x1a4e('0x41b1')]['moveEnd']['addEventListener'](this[_0x1a4e('0x41b2')],!0x1),[0x2];}});});},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x41a3')]=function(_0x273cde){var _0xb37571=this;_0x273cde['camera'][_0x1a4e('0x41af')][_0x1a4e('0xec2')](this[_0x1a4e('0x41b0')]),_0x273cde[_0x1a4e('0x41b1')][_0x1a4e('0x41b3')]['removeEventListener'](this[_0x1a4e('0x41b2')],!0x1),this[_0x1a4e('0x41ac')]&&(this[_0x1a4e('0x41ac')][_0x1a4e('0x3b')](function(_0x273cde,_0x281e06){_0xb37571[_0x1a4e('0x41a8')](_0x273cde['id'])?_0xb37571[_0x1a4e('0x82')](_0x273cde):_0xb37571[_0x1a4e('0x41ac')][_0x1a4e('0xf4c')](_0x281e06);}),this[_0x1a4e('0x41ac')]=null),this[_0x1a4e('0x41ad')]&&(this[_0x1a4e('0x41ad')][_0x1a4e('0xb5')](),this[_0x1a4e('0x41ad')]=null),this['children'][_0x1a4e('0x3b')](function(_0x273cde){_0x273cde[_0x1a4e('0x41b4')]&&(_0x273cde[_0x1a4e('0x3b2c')]=!0x0);}),this['clusterWorker']&&this['clusterWorker'][_0x1a4e('0x41b5')]();},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x41ae')]=function(_0x273cde,_0xb37571){return _0x42778d(this,void 0x0,void 0x0,function(){var _0x281e06,_0x1520ba,_0x2a7072=this;return _0x33997f(this,function(_0x516cb2){switch(_0x516cb2[_0x1a4e('0x1bc')]){case 0x0:return[0x4,function(_0x273cde){return new Promise(function(_0xb37571,_0x281e06){var _0x1520ba=new XMLHttpRequest();_0x1520ba[_0x1a4e('0x12bc')](_0x1a4e('0x1625'),_0x273cde,!0x0),_0x1520ba[_0x1a4e('0x41b6')]=_0x1a4e('0x41b7'),_0x1520ba['onload']=function(){if(0xc8===this[_0x1a4e('0xe02')]){var _0x273cde=this[_0x1a4e('0x41b8')],_0x281e06=URL[_0x1a4e('0x41b9')](_0x273cde);_0xb37571(_0x281e06);}},_0x1520ba['send']();});}(_0x435a6b[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x41ba')))];case 0x1:return _0x281e06=_0x516cb2['sent'](),[0x4,new Promise(function(_0x273cde,_0xb37571){var _0x281e06=new XMLHttpRequest();_0x281e06[_0x1a4e('0x12bc')](_0x1a4e('0x1625'),_0x435a6b[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x41bb')),!0x0),_0x281e06[_0x1a4e('0x41b6')]=_0x1a4e('0xe04'),_0x281e06[_0x1a4e('0x1336')]=function(){0xc8===this[_0x1a4e('0xe02')]&&_0x273cde(this[_0x1a4e('0x41b8')]);},_0x281e06[_0x1a4e('0x1626')]();})];case 0x2:return _0x1520ba=_0x516cb2[_0x1a4e('0x128a')](),this['_svg']=_0x1520ba,this[_0x1a4e('0x41bc')]=new Worker(_0x281e06),this[_0x1a4e('0x41b2')]=function(){_0x2a7072[_0x1a4e('0x41bd')]=!0x1,_0x2a7072['_clusterComputeFun']();},this['_clusterComputeFun']=function(){if(!_0x2a7072[_0x1a4e('0x41bd')]){_0x2a7072[_0x1a4e('0x41bd')]=!0x0;var _0x281e06={};_0x2a7072[_0x1a4e('0x6f')][_0x1a4e('0x3b')](function(_0xb37571){_0xb37571[_0x1a4e('0x3553')]instanceof _0x56d24e[_0x1a4e('0x38da')]&&!_0xb37571[_0x1a4e('0x41be')]&&_0x435a6b[_0x1a4e('0x39a0')][_0x1a4e('0x41bf')](_0xb37571[_0x1a4e('0x3553')],_0x273cde)&&(_0x281e06[_0xb37571[_0x1a4e('0x3cc')]()]||(_0x281e06[_0xb37571[_0x1a4e('0x3cc')]()]=[]),_0x281e06[_0xb37571[_0x1a4e('0x3cc')]()][_0x1a4e('0x46')](_0xb37571),_0xb37571[_0x1a4e('0x41b4')]=!0x0);});var _0x1520ba={},_0x516cb2=function(_0x435a6b){_0x1520ba[_0x435a6b]||(_0x1520ba[_0x435a6b]=[]),_0x281e06[_0x435a6b]['forEach'](function(_0xb37571){var _0x281e06=_0x56d24e[_0x1a4e('0x38da')][_0x1a4e('0x3ec4')](_0xb37571['position'],_0x273cde),_0x2a7072=[_0x281e06['x'],_0x281e06['y']];_0x2a7072['originGraphic']=_0xb37571,_0x1520ba[_0x435a6b][_0x1a4e('0x46')](_0x2a7072);}),_0x2a7072[_0x1a4e('0x41bc')][_0x1a4e('0x1545')]({'posArr':JSON['stringify'](_0x1520ba[_0x435a6b]),'range':_0xb37571,'key':_0x435a6b}),_0x2a7072[_0x1a4e('0x41bc')][_0x1a4e('0x1547')]=function(_0x273cde){var _0xb37571=_0x273cde[_0x1a4e('0x7f')][_0x1a4e('0x35f')],_0x1520ba=_0x273cde['data'][_0x1a4e('0x41c0')],_0x435a6b=[];_0x1520ba['forEach'](function(_0x273cde,_0x1520ba){var _0x516cb2=[];_0x273cde[_0x1a4e('0x3b')](function(_0x273cde){try{_0x281e06[_0xb37571][_0x273cde]&&(_0x281e06[_0xb37571][_0x273cde][_0x1a4e('0x3b2c')]=!0x1,_0x435a6b['push'](_0x273cde),_0x516cb2['push'](_0x281e06[_0xb37571][_0x273cde][_0x1a4e('0x3553')]));}catch(_0x526a17){}});var _0x42778d=function(_0x273cde){if(_0x273cde){var _0xb37571=[];_0x273cde[_0x1a4e('0x3b')](function(_0x273cde){_0xb37571[_0x1a4e('0x46')](_0x56d24e[_0x1a4e('0x38da')]['toCartesian3'](_0x273cde));});var _0x281e06=Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x41c1')](_0xb37571)[_0x1a4e('0x111')];return _0x56d24e[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x281e06);}}(_0x516cb2),_0x33997f=_0x2a7072[_0x1a4e('0x41ac')][_0x1a4e('0x179')](_0x1520ba+_0xb37571);_0x33997f?(_0x33997f[_0x1a4e('0x3553')]=_0x42778d,_0x33997f[_0x1a4e('0x41c2')]!=_0x273cde['length']&&(_0x33997f['image']=_0x2a7072[_0x1a4e('0x41c3')](String(_0x273cde['length']),_0x1a4e('0x41c4')),_0x33997f['textLength']=_0x273cde[_0x1a4e('0x1e')])):((_0x33997f=new _0x2aec36[(_0x1a4e('0x3e2a'))]({'position':_0x42778d,'image':_0x2a7072[_0x1a4e('0x41c3')](_0x273cde['length'],_0x1a4e('0x41c4')),'scale':0x1,'width':0x32,'height':0x32}))[_0x1a4e('0x41c2')]=_0x273cde[_0x1a4e('0x1e')],_0x33997f[_0x1a4e('0x41be')]=!0x0,_0x2a7072[_0x1a4e('0x177')](_0x33997f),_0x2a7072[_0x1a4e('0x41ac')]['set'](_0x1520ba+_0xb37571,_0x33997f));});for(var _0x516cb2=0x0;_0x516cb2<_0x281e06[_0xb37571][_0x1a4e('0x1e')];_0x516cb2++)_0x435a6b[_0x1a4e('0xae5')](_0x516cb2)||(_0x281e06[_0xb37571][_0x516cb2][_0x1a4e('0x3b2c')]=!0x0);_0x2a7072[_0x1a4e('0x41ac')]['forEach'](function(_0x273cde,_0xb37571){parseInt(_0xb37571)>=_0x1520ba[_0x1a4e('0x1e')]?_0x273cde[_0x1a4e('0x3b2c')]=!0x1:_0x273cde[_0x1a4e('0x3b2c')]=!0x0;}),_0x2a7072[_0x1a4e('0x41bd')]=!0x1;};};for(var _0x42778d in _0x281e06)_0x516cb2(_0x42778d);}},[0x2];}});});},_0xb37571[_0x1a4e('0xa')][_0x1a4e('0x41c3')]=function(_0x273cde,_0xb37571){var _0x281e06=Number(_0x273cde),_0x1520ba=this[_0x1a4e('0x41ad')]['get'](_0x281e06);if(!_0x1520ba){var _0x2a7072=this[_0x1a4e('0x41c5')];_0x2a7072=(_0x2a7072=_0x2a7072[_0x1a4e('0x115')](/rgb\(255,0,0\)/g,'blue'))[_0x1a4e('0x115')](/white/g,_0x1a4e('0x41c6'));var _0x435a6b=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));_0x435a6b[_0x1a4e('0x12ba')]=_0x2a7072,_0x435a6b[_0x1a4e('0x39d7')](_0x1a4e('0xe04'))[_0x1a4e('0x12ba')]=_0x273cde;var _0x56d24e=_0x435a6b[_0x1a4e('0x12d7')](_0x1a4e('0x41c7'));Array[_0x1a4e('0x1b5')](_0x56d24e)[_0x1a4e('0x3b')](function(_0x273cde){_0x273cde[_0x1a4e('0x41c8')](_0x1a4e('0x22c'))&&_0x1a4e('0x60')!=_0x273cde[_0x1a4e('0x41c8')](_0x1a4e('0x22c'))&&_0x273cde[_0x1a4e('0x3935')](_0x1a4e('0x22c'),'blue');});var _0x2aec36=_0x435a6b[_0x1a4e('0x12ba')],_0x516cb2=_0x1a4e('0x41c9');_0x1520ba=_0x516cb2+=btoa(unescape(encodeURIComponent(_0x2aec36))),this[_0x1a4e('0x41ad')][_0x1a4e('0x17a')](_0x281e06,_0x1520ba);}return _0x1520ba;},_0xb37571;}(_0x2a7072[_0x1a4e('0x168d')]);window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x508312);},'./src/LayerManager/GraphicLayer/GraphicItem/GraphicItem.ts':function(_0x6ee601,_0x491f7c,_0x3cceb4){'use strict';_0x3cceb4['r'](_0x491f7c),_0x3cceb4['d'](_0x491f7c,_0x1a4e('0x3ae2'),function(){return _0x2775cf;}),_0x3cceb4['d'](_0x491f7c,'GraphicItemOpt',function(){return _0x1611d9;}),_0x3cceb4['d'](_0x491f7c,'HeightReferenceEnum',function(){return _0x434e45;});var _0x33f12a,_0x434e45,_0x16840a=_0x3cceb4(_0x1a4e('0x4053')),_0x1f233d=_0x3cceb4(_0x1a4e('0x3999')),_0x47c43e=_0x3cceb4(_0x1a4e('0x38d0')),_0x575783=_0x3cceb4(_0x1a4e('0x3ad0')),_0x5e6497=_0x3cceb4(_0x1a4e('0x396f')),_0x5cb2ac=(_0x33f12a=function(_0x6ee601,_0x491f7c){return(_0x33f12a=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x6ee601,_0x491f7c){_0x6ee601['__proto__']=_0x491f7c;}||function(_0x6ee601,_0x491f7c){for(var _0x3cceb4 in _0x491f7c)_0x491f7c['hasOwnProperty'](_0x3cceb4)&&(_0x6ee601[_0x3cceb4]=_0x491f7c[_0x3cceb4]);})(_0x6ee601,_0x491f7c);},function(_0x6ee601,_0x491f7c){function _0x3cceb4(){this[_0x1a4e('0x10')]=_0x6ee601;}_0x33f12a(_0x6ee601,_0x491f7c),_0x6ee601[_0x1a4e('0xa')]=null===_0x491f7c?Object[_0x1a4e('0x7')](_0x491f7c):(_0x3cceb4[_0x1a4e('0xa')]=_0x491f7c['prototype'],new _0x3cceb4());}),_0x2775cf=function(_0x6ee601){function _0x491f7c(_0x491f7c){var _0x3cceb4=_0x6ee601[_0x1a4e('0x1')](this)||this;return _0x3cceb4['_isEditing']=!0x1,_0x3cceb4['_id']=_0x1f233d[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),_0x3cceb4[_0x1a4e('0x41ca')]=new _0x575783[(_0x1a4e('0x168d'))](),_0x3cceb4;}return _0x5cb2ac(_0x491f7c,_0x6ee601),_0x491f7c[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x413d')]&&this[_0x1a4e('0x3ef9')]()[_0x1a4e('0x937')]();},_0x491f7c[_0x1a4e('0xa')]['onUpdateAttribute']=function(_0x6ee601){this[_0x1a4e('0x41ca')]['on'](_0x1a4e('0x3dda'),_0x6ee601);},_0x491f7c[_0x1a4e('0xa')][_0x1a4e('0x41cb')]=function(_0x6ee601){this[_0x1a4e('0x41ca')]['off'](_0x1a4e('0x3dda'),_0x6ee601);},_0x491f7c[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x6ee601){this[_0x1a4e('0x413d')]&&(this[_0x1a4e('0x3ef9')]()[_0x1a4e('0x3dda')](_0x6ee601),this[_0x1a4e('0x41ca')][_0x1a4e('0x3ad3')](_0x1a4e('0x3dda'),{'obj':this,'key':_0x6ee601}));},_0x491f7c['prototype'][_0x1a4e('0x3ef9')]=function(){if(this[_0x1a4e('0x413d')])return this[_0x1a4e('0x413d')]();},_0x491f7c['prototype'][_0x1a4e('0x41a0')]=function(){this['_father']?this['_renderVisible']=this[_0x1a4e('0x3e07')][_0x1a4e('0x41a2')]&&this[_0x1a4e('0x4137')][_0x1a4e('0x3b2c')]:this[_0x1a4e('0x41a1')]=this[_0x1a4e('0x4137')][_0x1a4e('0x3b2c')],this['updateAttribute'](_0x1a4e('0x3b2c'));},Object[_0x1a4e('0x2')](_0x491f7c[_0x1a4e('0xa')],_0x1a4e('0x2cb'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x2cb')];},'set':function(_0x6ee601){this['_opt'][_0x1a4e('0x2cb')]=_0x6ee601;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x491f7c[_0x1a4e('0xa')],'id',{'get':function(){return this[_0x1a4e('0x515')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x491f7c[_0x1a4e('0xa')],'extendInfo',{'get':function(){return this[_0x1a4e('0x4137')]['extendInfo'];},'set':function(_0x6ee601){this[_0x1a4e('0x4137')]['extendInfo']=_0x6ee601;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x491f7c[_0x1a4e('0xa')],_0x1a4e('0x3b2c'),{'get':function(){return this[_0x1a4e('0x4137')]['visible'];},'set':function(_0x6ee601){this[_0x1a4e('0x4137')][_0x1a4e('0x3b2c')]=_0x6ee601,this[_0x1a4e('0x41a0')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x491f7c[_0x1a4e('0xa')],_0x1a4e('0x41a2'),{'get':function(){return this[_0x1a4e('0x41a1')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x491f7c[_0x1a4e('0xa')],_0x1a4e('0x4138'),{'get':function(){return this['_father'];},'enumerable':!0x0,'configurable':!0x0}),_0x491f7c[_0x1a4e('0xa')]['getType']=function(){return _0x491f7c[_0x1a4e('0x40')];},Object['defineProperty'](_0x491f7c,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3ae2');},'enumerable':!0x0,'configurable':!0x0}),_0x491f7c[_0x1a4e('0x3e0c')]=function(_0x6ee601){var _0x491f7c=_0x6ee601['clampToGround'];return _0x1a4e('0x41cc')==_0x6ee601[_0x1a4e('0x3bdf')]&&(_0x491f7c=!0x0),_0x491f7c;},Object[_0x1a4e('0x2')](_0x491f7c[_0x1a4e('0xa')],'clampToGround',{'get':function(){return!0x1;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x491f7c['prototype'],_0x1a4e('0x3e06'),{'get':function(){return this[_0x1a4e('0x41cd')];},'set':function(_0x6ee601){this['_isEditing']!==_0x6ee601&&(this[_0x1a4e('0x41cd')]=_0x6ee601,this[_0x1a4e('0x3dda')]('isEditing'));},'enumerable':!0x0,'configurable':!0x0}),_0x491f7c[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x6ee601={'type':this['getType'](),'id':this['id'],'name':this[_0x1a4e('0x2cb')],'extendInfo':this[_0x1a4e('0x3e66')]};for(var _0x3cceb4 in this['_opt'])void 0x0!==this['_opt'][_0x3cceb4]&&_0x1a4e('0x10')!==_0x3cceb4&&(_0x1a4e('0x398a')!==_0x3cceb4?this['_opt'][_0x3cceb4]instanceof _0x491f7c||(this[_0x1a4e('0x4137')][_0x3cceb4]instanceof Object&&this['_opt'][_0x3cceb4][_0x1a4e('0x3acb')]?_0x6ee601[_0x3cceb4]=this[_0x1a4e('0x4137')][_0x3cceb4][_0x1a4e('0x3acb')]():_0x6ee601[_0x3cceb4]=this[_0x1a4e('0x4137')][_0x3cceb4]):_0x6ee601[_0x3cceb4]=_0x47c43e['GeoPoint'][_0x1a4e('0x3954')](this['_opt'][_0x1a4e('0x398a')]));return _0x6ee601;},_0x491f7c['prototype'][_0x1a4e('0x416c')]=function(_0x6ee601){},_0x491f7c[_0x1a4e('0xa')]['parseJson']=function(_0x6ee601){for(var _0x491f7c in _0x6ee601)_0x1a4e('0x398a')===_0x491f7c&&_0x6ee601[_0x491f7c]&&_0x6ee601[_0x491f7c][_0x1a4e('0x1e')]&&_0x6ee601[_0x491f7c][0x0]&&_0x6ee601[_0x491f7c][0x0]['length']&&(_0x6ee601[_0x491f7c]=_0x47c43e[_0x1a4e('0x38da')][_0x1a4e('0x41ce')](_0x6ee601[_0x491f7c])),_0x1a4e('0x3553')===_0x491f7c&&_0x6ee601[_0x491f7c]&&_0x6ee601[_0x491f7c]['length']&&(_0x6ee601[_0x491f7c]=_0x47c43e[_0x1a4e('0x38da')][_0x1a4e('0x3d2f')](_0x6ee601[_0x491f7c])),_0x1a4e('0x4141')!==_0x491f7c||!_0x6ee601[_0x491f7c]||_0x6ee601[_0x491f7c]instanceof _0x5e6497[_0x1a4e('0x41cf')]||(_0x6ee601[_0x491f7c]=_0x5e6497[_0x1a4e('0x41d0')]['createStyle'](_0x6ee601[_0x491f7c])),this[_0x1a4e('0x4137')][_0x491f7c]=_0x1f233d[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x6ee601[_0x491f7c],this['_opt'][_0x491f7c]),'id'===_0x491f7c&&(this['_id']=this[_0x1a4e('0x4137')][_0x491f7c]);},_0x491f7c[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x6ee601){this[_0x1a4e('0x3e07')]=_0x6ee601,this[_0x1a4e('0x41a0')]();},_0x491f7c[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){this[_0x1a4e('0x3ef9')]()&&this[_0x1a4e('0x3ef9')]()['clear'](),this['_getRenderObj']=void 0x0;},_0x491f7c[_0x1a4e('0xa')][_0x1a4e('0x3e8a')]=function(_0x6ee601,_0x491f7c){},_0x491f7c[_0x1a4e('0xa')][_0x1a4e('0x3ecb')]=function(){if(void 0x0!==this[_0x1a4e('0x3553')])return this['position'];if(this[_0x1a4e('0x43')]){var _0x6ee601=this['coordinates'],_0x491f7c=this[_0x1a4e('0x152')];return _0x491f7c||(_0x491f7c=0x0),new _0x47c43e[(_0x1a4e('0x38da'))]((_0x6ee601[0x0]+_0x6ee601[0x2])/0x2,(_0x6ee601[0x1]+_0x6ee601[0x3])/0x2,_0x491f7c);}if(this[_0x1a4e('0x398a')]){var _0x3cceb4=this[_0x1a4e('0x398a')],_0x33f12a=[];_0x3cceb4[_0x1a4e('0x3b')](function(_0x6ee601){_0x33f12a[_0x1a4e('0x46')](_0x47c43e['GeoPoint'][_0x1a4e('0x3949')](_0x6ee601));});var _0x434e45=Cesium[_0x1a4e('0x3ac1')]['fromPoints'](_0x33f12a)[_0x1a4e('0x111')];return _0x47c43e[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x434e45);}},_0x491f7c['prototype']['movePosition']=function(_0x6ee601,_0x491f7c,_0x3cceb4){if(void 0x0===_0x6ee601&&(_0x6ee601=0x0),void 0x0===_0x491f7c&&(_0x491f7c=0x0),void 0x0===_0x3cceb4&&(_0x3cceb4=0x0),void 0x0!==this[_0x1a4e('0x3553')]&&(this[_0x1a4e('0x3553')]['lon']+=_0x6ee601,this[_0x1a4e('0x3553')][_0x1a4e('0x1a2')]+=_0x491f7c,this[_0x1a4e('0x3553')]['alt']+=_0x3cceb4,this[_0x1a4e('0x3553')]=this[_0x1a4e('0x3553')]),void 0x0!==this[_0x1a4e('0x43')]&&(this[_0x1a4e('0x43')][0x0]+=_0x6ee601,this[_0x1a4e('0x43')][0x1]+=_0x491f7c,this['coordinates'][0x2]+=_0x6ee601,this[_0x1a4e('0x43')][0x3]+=_0x491f7c,this[_0x1a4e('0x43')]=this[_0x1a4e('0x43')]),this['positions']){var _0x33f12a=this[_0x1a4e('0x398a')];_0x33f12a[_0x1a4e('0x3b')](function(_0x33f12a){_0x33f12a[_0x1a4e('0x1a1')]+=_0x6ee601,_0x33f12a[_0x1a4e('0x1a2')]+=_0x491f7c,_0x33f12a[_0x1a4e('0x398c')]+=_0x3cceb4;}),this[_0x1a4e('0x398a')]=_0x33f12a;}},_0x491f7c[_0x1a4e('0xa')][_0x1a4e('0x240')]=function(){var _0x6ee601=this[_0x1a4e('0x3acb')]();return delete _0x6ee601['id'],new(window['GV'][_0x1a4e('0x3adf')](_0x1a4e('0x3ae2'),this[_0x1a4e('0x3cc')]()))(_0x6ee601);},_0x491f7c;}(_0x16840a[_0x1a4e('0x3aca')]),_0x1611d9=function(){this[_0x1a4e('0x3b2c')]=!0x0,this['isEditing']=!0x1;};!function(_0x6ee601){_0x6ee601[_0x6ee601['ClampToGround']=Cesium[_0x1a4e('0x394a')][_0x1a4e('0x394b')]]='ClampToGround',_0x6ee601[_0x6ee601[_0x1a4e('0x1733')]=Cesium[_0x1a4e('0x394a')][_0x1a4e('0x24a')]]='None',_0x6ee601[_0x6ee601[_0x1a4e('0x41d1')]=Cesium[_0x1a4e('0x394a')][_0x1a4e('0x3d50')]]=_0x1a4e('0x41d1');}(_0x434e45||(_0x434e45={}));},'./src/LayerManager/GraphicLayer/GraphicItem/GraphicPositionItem.ts':function(_0x253f83,_0x20e146,_0x57f0e5){'use strict';_0x57f0e5['r'](_0x20e146),_0x57f0e5['d'](_0x20e146,_0x1a4e('0x413a'),function(){return _0x1390ac;}),_0x57f0e5['d'](_0x20e146,_0x1a4e('0x413b'),function(){return _0x423af9;});var _0x2461c8,_0x57ceb7=_0x57f0e5(_0x1a4e('0x3e0b')),_0x51e962=_0x57f0e5('./src/Utils/GeoPoint.ts'),_0x28a393=(_0x2461c8=function(_0x253f83,_0x20e146){return(_0x2461c8=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x253f83,_0x20e146){_0x253f83['__proto__']=_0x20e146;}||function(_0x253f83,_0x20e146){for(var _0x57f0e5 in _0x20e146)_0x20e146[_0x1a4e('0xb')](_0x57f0e5)&&(_0x253f83[_0x57f0e5]=_0x20e146[_0x57f0e5]);})(_0x253f83,_0x20e146);},function(_0x253f83,_0x20e146){function _0x57f0e5(){this[_0x1a4e('0x10')]=_0x253f83;}_0x2461c8(_0x253f83,_0x20e146),_0x253f83['prototype']=null===_0x20e146?Object[_0x1a4e('0x7')](_0x20e146):(_0x57f0e5['prototype']=_0x20e146[_0x1a4e('0xa')],new _0x57f0e5());}),_0x1390ac=function(_0x253f83){function _0x20e146(_0x20e146){var _0x57f0e5=_0x253f83[_0x1a4e('0x1')](this,_0x20e146)||this;return _0x57f0e5[_0x1a4e('0x4137')]=new _0x423af9(),_0x57f0e5['parseJson'](_0x20e146),_0x57f0e5;}return _0x28a393(_0x20e146,_0x253f83),Object['defineProperty'](_0x20e146[_0x1a4e('0xa')],'position',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3553')];},'set':function(_0x253f83){_0x253f83 instanceof _0x51e962[_0x1a4e('0x38da')]&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3553')]=_0x253f83,this[_0x1a4e('0x3dda')](_0x1a4e('0x3553')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x20e146[_0x1a4e('0xa')],_0x1a4e('0x4155'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4155')];},'set':function(_0x253f83){this[_0x1a4e('0x4137')][_0x1a4e('0x4155')]=_0x253f83,this[_0x1a4e('0x3dda')](_0x1a4e('0x4155'));},'enumerable':!0x0,'configurable':!0x0}),_0x20e146[_0x1a4e('0xa')]['bindToJson']=function(_0x253f83){var _0x20e146=[];if(null!=this['bindObject']&&_0x20e146[_0x1a4e('0x46')]({'name':_0x1a4e('0x4155'),'bind':this[_0x1a4e('0x4155')]['id']}),_0x20e146[_0x1a4e('0x1e')]>0x0){var _0x57f0e5={'id':this['id'],'binds':_0x20e146};_0x253f83['push'](_0x57f0e5);}},_0x20e146;}(_0x57ceb7[_0x1a4e('0x3ae2')]),_0x423af9=function(_0x253f83){function _0x20e146(){var _0x20e146=null!==_0x253f83&&_0x253f83[_0x1a4e('0x8b')](this,arguments)||this;return _0x20e146[_0x1a4e('0x3553')]=new _0x51e962[(_0x1a4e('0x38da'))](0x0,0x0,0x0),_0x20e146[_0x1a4e('0x4155')]=void 0x0,_0x20e146;}return _0x28a393(_0x20e146,_0x253f83),_0x20e146;}(_0x57ceb7[_0x1a4e('0x4143')]);},'./src/LayerManager/GraphicLayer/GraphicItem/Icon/BaseIconGraphic.ts':function(_0x378f12,_0x46d4cd,_0x5c0085){'use strict';_0x5c0085['r'](_0x46d4cd),_0x5c0085['d'](_0x46d4cd,'BaseIconGraphic',function(){return _0x95a719;}),_0x5c0085['d'](_0x46d4cd,_0x1a4e('0x401e'),function(){return _0x388c9c;});var _0x76c679,_0x3938dc=_0x5c0085(_0x1a4e('0x4136')),_0x52d175=_0x5c0085(_0x1a4e('0x41d2')),_0x1c36e2=_0x5c0085(_0x1a4e('0x41d3')),_0x1d398e=_0x5c0085('./src/LayerManager/GraphicLayer/GraphicRender/Icon/WaveIconRender.ts'),_0x4a4e0b=(_0x76c679=function(_0x378f12,_0x46d4cd){return(_0x76c679=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x378f12,_0x46d4cd){_0x378f12[_0x1a4e('0x295')]=_0x46d4cd;}||function(_0x378f12,_0x46d4cd){for(var _0x5c0085 in _0x46d4cd)_0x46d4cd[_0x1a4e('0xb')](_0x5c0085)&&(_0x378f12[_0x5c0085]=_0x46d4cd[_0x5c0085]);})(_0x378f12,_0x46d4cd);},function(_0x378f12,_0x46d4cd){function _0x5c0085(){this[_0x1a4e('0x10')]=_0x378f12;}_0x76c679(_0x378f12,_0x46d4cd),_0x378f12['prototype']=null===_0x46d4cd?Object[_0x1a4e('0x7')](_0x46d4cd):(_0x5c0085['prototype']=_0x46d4cd[_0x1a4e('0xa')],new _0x5c0085());}),_0x95a719=function(_0x378f12){function _0x46d4cd(_0x46d4cd){var _0x5c0085=_0x378f12[_0x1a4e('0x1')](this,_0x46d4cd)||this;return _0x5c0085[_0x1a4e('0x4137')]=new _0x388c9c(),_0x5c0085['parseJson'](_0x46d4cd),_0x5c0085;}return _0x4a4e0b(_0x46d4cd,_0x378f12),_0x46d4cd[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return'BaseIconGraphic';},_0x46d4cd['prototype'][_0x1a4e('0x1fd')]=function(_0x46d4cd){if(_0x378f12[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x46d4cd),this[_0x1a4e('0x4138')]){var _0x5c0085=this['getType'](),_0x76c679=void 0x0;switch(_0x5c0085){case _0x1a4e('0x3e42'):_0x76c679=new _0x52d175[(_0x1a4e('0x41d4'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());break;case _0x1a4e('0x3e43'):_0x76c679=new _0x1c36e2[(_0x1a4e('0x41d5'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());break;case _0x1a4e('0x3e44'):_0x76c679=new _0x1d398e[(_0x1a4e('0x41d6'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());}this[_0x1a4e('0x413d')]=function(){return _0x76c679;};}},Object['defineProperty'](_0x46d4cd[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this['_opt'][_0x1a4e('0x134')];},'set':function(_0x378f12){this[_0x1a4e('0x4137')]['color']=_0x378f12,this[_0x1a4e('0x3dda')](_0x1a4e('0x134'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x46d4cd[_0x1a4e('0xa')],_0x1a4e('0x3b5d'),{'get':function(){return this['_opt']['radius'];},'set':function(_0x378f12){this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')]=_0x378f12,this['updateAttribute'](_0x1a4e('0x3b5d'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x46d4cd[_0x1a4e('0xa')],'numberOfLines',{'get':function(){return this['_opt'][_0x1a4e('0x41d7')];},'set':function(_0x378f12){this[_0x1a4e('0x4137')]['numberOfLines']=_0x378f12,this[_0x1a4e('0x3dda')]('numberOfLines');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x46d4cd[_0x1a4e('0xa')],_0x1a4e('0x17e'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x17e')];},'set':function(_0x378f12){this[_0x1a4e('0x4137')]['duration']=_0x378f12,this[_0x1a4e('0x3dda')](_0x1a4e('0x17e'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x46d4cd[_0x1a4e('0xa')],'image',{'get':function(){return this[_0x1a4e('0x4137')]['image'];},'set':function(_0x378f12){this[_0x1a4e('0x4137')][_0x1a4e('0x3cb4')]=_0x378f12,this[_0x1a4e('0x3dda')](_0x1a4e('0x3cb4'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x46d4cd[_0x1a4e('0xa')],_0x1a4e('0x3972'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),_0x46d4cd;}(_0x3938dc['GraphicPositionItem']),_0x388c9c=function(_0x378f12){function _0x46d4cd(){var _0x46d4cd=null!==_0x378f12&&_0x378f12[_0x1a4e('0x8b')](this,arguments)||this;return _0x46d4cd['radius']=0x3e8,_0x46d4cd[_0x1a4e('0x41d7')]=0x3,_0x46d4cd[_0x1a4e('0x134')]=_0x1a4e('0x979'),_0x46d4cd['duration']=0xbb8,_0x46d4cd['gradient']=0x1,_0x46d4cd;}return _0x4a4e0b(_0x46d4cd,_0x378f12),_0x46d4cd;}(_0x3938dc[_0x1a4e('0x413b')]);},'./src/LayerManager/GraphicLayer/GraphicItem/Icon/CircleIconGraphic.ts':function(_0x26ce98,_0x1c2fbe,_0x266174){'use strict';_0x266174['r'](_0x1c2fbe);var _0x40e0a7,_0x4703f8=_0x266174(_0x1a4e('0x3f95')),_0x3a7459=(_0x40e0a7=function(_0x26ce98,_0x1c2fbe){return(_0x40e0a7=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x26ce98,_0x1c2fbe){_0x26ce98[_0x1a4e('0x295')]=_0x1c2fbe;}||function(_0x26ce98,_0x1c2fbe){for(var _0x266174 in _0x1c2fbe)_0x1c2fbe[_0x1a4e('0xb')](_0x266174)&&(_0x26ce98[_0x266174]=_0x1c2fbe[_0x266174]);})(_0x26ce98,_0x1c2fbe);},function(_0x26ce98,_0x1c2fbe){function _0x266174(){this[_0x1a4e('0x10')]=_0x26ce98;}_0x40e0a7(_0x26ce98,_0x1c2fbe),_0x26ce98['prototype']=null===_0x1c2fbe?Object[_0x1a4e('0x7')](_0x1c2fbe):(_0x266174[_0x1a4e('0xa')]=_0x1c2fbe[_0x1a4e('0xa')],new _0x266174());}),_0x3ce295=function(_0x26ce98){function _0x1c2fbe(_0x1c2fbe){return _0x26ce98[_0x1a4e('0x1')](this,_0x1c2fbe)||this;}return _0x3a7459(_0x1c2fbe,_0x26ce98),_0x1c2fbe[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x1a4e('0x3e42');},Object[_0x1a4e('0x2')](_0x1c2fbe,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e42');},'enumerable':!0x0,'configurable':!0x0}),_0x1c2fbe;}(_0x4703f8['BaseIconGraphic']);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x3ce295),_0x1c2fbe[_0x1a4e('0x8')]=_0x3ce295;},'./src/LayerManager/GraphicLayer/GraphicItem/Icon/WarnIconGraphic.ts':function(_0x46b382,_0x1bb7e0,_0x2f2a9e){'use strict';_0x2f2a9e['r'](_0x1bb7e0);var _0xc9b87e,_0x2ff613=_0x2f2a9e(_0x1a4e('0x3f95')),_0x2bc041=(_0xc9b87e=function(_0x46b382,_0x1bb7e0){return(_0xc9b87e=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x46b382,_0x1bb7e0){_0x46b382['__proto__']=_0x1bb7e0;}||function(_0x46b382,_0x1bb7e0){for(var _0x2f2a9e in _0x1bb7e0)_0x1bb7e0[_0x1a4e('0xb')](_0x2f2a9e)&&(_0x46b382[_0x2f2a9e]=_0x1bb7e0[_0x2f2a9e]);})(_0x46b382,_0x1bb7e0);},function(_0x46b382,_0x1bb7e0){function _0x2f2a9e(){this[_0x1a4e('0x10')]=_0x46b382;}_0xc9b87e(_0x46b382,_0x1bb7e0),_0x46b382[_0x1a4e('0xa')]=null===_0x1bb7e0?Object[_0x1a4e('0x7')](_0x1bb7e0):(_0x2f2a9e[_0x1a4e('0xa')]=_0x1bb7e0['prototype'],new _0x2f2a9e());}),_0x2e5274=function(_0x46b382){function _0x1bb7e0(_0x1bb7e0){var _0x2f2a9e=_0x46b382[_0x1a4e('0x1')](this,_0x1bb7e0)||this;return _0x2f2a9e[_0x1a4e('0x41d8')]=_0x2f2a9e['_opt'][_0x1a4e('0x41d9')],_0x2f2a9e;}return _0x2bc041(_0x1bb7e0,_0x46b382),_0x1bb7e0[_0x1a4e('0xa')]['getType']=function(){return'WarnIconGraphic';},Object['defineProperty'](_0x1bb7e0,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e43');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1bb7e0[_0x1a4e('0xa')],'gradient',{'get':function(){return this['_opt'][_0x1a4e('0x41da')];},'set':function(_0x46b382){this[_0x1a4e('0x4137')][_0x1a4e('0x41da')]=_0x46b382,this['updateAttribute'](_0x1a4e('0x41da'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1bb7e0['prototype'],_0x1a4e('0x41d9'),{'get':function(){return this['_centerColor'];},'set':function(_0x46b382){this[_0x1a4e('0x4137')][_0x1a4e('0x41d9')]=_0x46b382,this['_centerColor']=_0x46b382,this['updateAttribute'](_0x1a4e('0x41d9'));},'enumerable':!0x0,'configurable':!0x0}),_0x1bb7e0;}(_0x2ff613[_0x1a4e('0x41db')]);window['GV']['REGISTER'](_0x1a4e('0x3ae2'),_0x2e5274),_0x1bb7e0[_0x1a4e('0x8')]=_0x2e5274;},'./src/LayerManager/GraphicLayer/GraphicItem/Icon/WaveIconGraphic.ts':function(_0x18fab4,_0x804da2,_0x35e681){'use strict';_0x35e681['r'](_0x804da2);var _0x9a5ccb,_0xfbb684=_0x35e681(_0x1a4e('0x3f95')),_0x832506=(_0x9a5ccb=function(_0x18fab4,_0x804da2){return(_0x9a5ccb=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x18fab4,_0x804da2){_0x18fab4[_0x1a4e('0x295')]=_0x804da2;}||function(_0x18fab4,_0x804da2){for(var _0x35e681 in _0x804da2)_0x804da2[_0x1a4e('0xb')](_0x35e681)&&(_0x18fab4[_0x35e681]=_0x804da2[_0x35e681]);})(_0x18fab4,_0x804da2);},function(_0x18fab4,_0x804da2){function _0x35e681(){this[_0x1a4e('0x10')]=_0x18fab4;}_0x9a5ccb(_0x18fab4,_0x804da2),_0x18fab4[_0x1a4e('0xa')]=null===_0x804da2?Object[_0x1a4e('0x7')](_0x804da2):(_0x35e681[_0x1a4e('0xa')]=_0x804da2[_0x1a4e('0xa')],new _0x35e681());}),_0x3c2fa8=function(_0x18fab4){function _0x804da2(_0x804da2){var _0x35e681=_0x18fab4['call'](this,_0x804da2)||this;return _0x35e681[_0x1a4e('0x41dc')]=_0x35e681[_0x1a4e('0x4137')]['gradient'],_0x35e681;}return _0x832506(_0x804da2,_0x18fab4),Object[_0x1a4e('0x2')](_0x804da2['prototype'],_0x1a4e('0x41da'),{'get':function(){return this[_0x1a4e('0x41dc')];},'set':function(_0x18fab4){this['_gradient']=_0x18fab4,this[_0x1a4e('0x3dda')]('gradient');},'enumerable':!0x0,'configurable':!0x0}),_0x804da2[_0x1a4e('0xa')]['getType']=function(){return _0x1a4e('0x3e44');},Object[_0x1a4e('0x2')](_0x804da2,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e44');},'enumerable':!0x0,'configurable':!0x0}),_0x804da2;}(_0xfbb684[_0x1a4e('0x41db')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x3c2fa8),_0x804da2['default']=_0x3c2fa8;},'./src/LayerManager/GraphicLayer/GraphicItem/JBLineGraphic.ts':function(_0x111ae8,_0x255051,_0x1309b2){'use strict';_0x1309b2['r'](_0x255051),_0x1309b2['d'](_0x255051,'JBLineGraphic',function(){return _0x5b21ff;}),_0x1309b2['d'](_0x255051,_0x1a4e('0x41dd'),function(){return _0x311cf5;});var _0x305ac9,_0x2979c5=_0x1309b2('./src/LayerManager/GraphicLayer/GraphicItem/GraphicItem.ts'),_0x1c30fb=_0x1309b2('./src/LayerManager/GraphicLayer/GraphicRender/JBLineRender.ts'),_0xfa90b5=_0x1309b2(_0x1a4e('0x3f6c')),_0x3b8ba5=(_0x305ac9=function(_0x111ae8,_0x255051){return(_0x305ac9=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x111ae8,_0x255051){_0x111ae8[_0x1a4e('0x295')]=_0x255051;}||function(_0x111ae8,_0x255051){for(var _0x1309b2 in _0x255051)_0x255051['hasOwnProperty'](_0x1309b2)&&(_0x111ae8[_0x1309b2]=_0x255051[_0x1309b2]);})(_0x111ae8,_0x255051);},function(_0x111ae8,_0x255051){function _0x1309b2(){this['constructor']=_0x111ae8;}_0x305ac9(_0x111ae8,_0x255051),_0x111ae8[_0x1a4e('0xa')]=null===_0x255051?Object[_0x1a4e('0x7')](_0x255051):(_0x1309b2['prototype']=_0x255051['prototype'],new _0x1309b2());}),_0x5b21ff=function(_0x111ae8){function _0x255051(_0x255051){var _0x1309b2=_0x111ae8[_0x1a4e('0x1')](this,_0x255051)||this;return _0x1309b2[_0x1a4e('0x39d5')]=_0x1a4e('0x3e34'),_0x1309b2[_0x1a4e('0x4137')]=new _0x311cf5(),_0x1309b2[_0x1a4e('0x3acc')](_0x255051),_0x1309b2;}return _0x3b8ba5(_0x255051,_0x111ae8),Object['defineProperty'](_0x255051[_0x1a4e('0xa')],'code',{'get':function(){return this['_opt'][_0x1a4e('0x1617')];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')][_0x1a4e('0x1617')]=_0x111ae8;},'enumerable':!0x0,'configurable':!0x0}),_0x255051[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x255051['type'];},Object['defineProperty'](_0x255051,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e34');},'enumerable':!0x0,'configurable':!0x0}),_0x255051[_0x1a4e('0xa')]['init']=function(_0x255051){if(window['GV']['JBConfig']){if(_0x111ae8[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x255051),this[_0x1a4e('0x4138')]){var _0x1309b2=new _0x1c30fb[(_0x1a4e('0x41de'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x1309b2;};}}else console[_0x1a4e('0xe3c')](_0x1a4e('0x41df'));},Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return this['_opt'][_0x1a4e('0x398a')];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')][_0x1a4e('0x398a')]=_0x111ae8,this['updateAttribute'](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x4191'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4191')];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')]['lineWidth']!==_0x111ae8&&(_0x111ae8<0x0&&(_0x111ae8=0x1),this[_0x1a4e('0x4137')][_0x1a4e('0x4191')]=_0x111ae8,this[_0x1a4e('0x3dda')]('lineWidth'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],'dirty',{'get':function(){return this[_0x1a4e('0x4137')]['dirty'];},'set':function(_0x111ae8){this['_opt'][_0x1a4e('0x4140')]=_0x111ae8;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x152'),{'get':function(){return this[_0x1a4e('0x4137')]['height'];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')]['height']=_0x111ae8,this[_0x1a4e('0x3dda')]('height');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x41e0'),{'get':function(){return this[_0x1a4e('0x4137')]['supplementFlag'];},'set':function(_0x111ae8){this['_opt'][_0x1a4e('0x41e0')]=_0x111ae8,this['updateAttribute'](_0x1a4e('0x41e0'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x40a0'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a0')];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')][_0x1a4e('0x40a0')]=_0x111ae8,this[_0x1a4e('0x3dda')]('lineColor');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this['_opt'][_0x1a4e('0x40a0')];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')]['lineColor']=_0x111ae8,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a0'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x41e1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41e1')];},'set':function(_0x111ae8){this['_opt'][_0x1a4e('0x41e1')]=_0x111ae8,this[_0x1a4e('0x3dda')](_0x1a4e('0x41e1'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],'fillFlag',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41e2')];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')]['fillFlag']=_0x111ae8,this[_0x1a4e('0x3dda')](_0x1a4e('0x41e2'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x41e3'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41e3')];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')][_0x1a4e('0x41e3')]=_0x111ae8,this[_0x1a4e('0x3dda')](_0x1a4e('0x41e3'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x41e4'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41e4')];},'set':function(_0x111ae8){this['_opt'][_0x1a4e('0x41e4')]=_0x111ae8,this[_0x1a4e('0x3dda')]('fillEndColor');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x41e5'),{'get':function(){return this['_opt'][_0x1a4e('0x41e5')];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')][_0x1a4e('0x41e5')]=_0x111ae8,this['updateAttribute'](_0x1a4e('0x41e5'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051['prototype'],'supplementColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41e6')];},'set':function(_0x111ae8){this[_0x1a4e('0x4137')][_0x1a4e('0x41e6')]=_0x111ae8,this[_0x1a4e('0x3dda')](_0x1a4e('0x41e6'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],_0x1a4e('0x41e7'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41e7')];},'set':function(_0x111ae8){this['_opt'][_0x1a4e('0x41e7')]!=_0x111ae8&&(this[_0x1a4e('0x4137')]['isUnique']=_0x111ae8,this[_0x1a4e('0x3dda')]('positions'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x255051[_0x1a4e('0xa')],'clampToGround',{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),_0x255051;}(_0x2979c5[_0x1a4e('0x3ae2')]),_0x311cf5=function(_0x111ae8){function _0x255051(){var _0x255051=null!==_0x111ae8&&_0x111ae8[_0x1a4e('0x8b')](this,arguments)||this;return _0x255051[_0x1a4e('0x4191')]=0x5,_0x255051['lineColor']='#ffff00',_0x255051['color']='#ffff00',_0x255051['dirty']=!0x1,_0x255051['height']=0x0,_0x255051[_0x1a4e('0x41e0')]=!0x1,_0x255051[_0x1a4e('0x41e1')]=_0xfa90b5[_0x1a4e('0x3ff0')][_0x1a4e('0x41e8')],_0x255051['fillFlag']=!0x1,_0x255051['fillStartColor']=_0x1a4e('0x41e9'),_0x255051[_0x1a4e('0x41e4')]=_0x1a4e('0x41e9'),_0x255051[_0x1a4e('0x41e5')]=0x0,_0x255051[_0x1a4e('0x41e6')]=_0x1a4e('0x41ea'),_0x255051[_0x1a4e('0x41e7')]=!0x0,_0x255051;}return _0x3b8ba5(_0x255051,_0x111ae8),_0x255051;}(_0x2979c5['GraphicItemOpt']);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x5b21ff);},'./src/LayerManager/GraphicLayer/GraphicItem/JBPointGraphic.ts':function(_0x9c281c,_0x2ed735,_0x3201e1){'use strict';_0x3201e1['r'](_0x2ed735),_0x3201e1['d'](_0x2ed735,'JBPointGraphic',function(){return _0x1c692a;}),_0x3201e1['d'](_0x2ed735,'JBPointGraphicOpt',function(){return _0x5e1804;}),_0x3201e1['d'](_0x2ed735,_0x1a4e('0x3ff0'),function(){return _0x563524;});var _0x1f6078,_0x563524,_0x4e9f29=_0x3201e1(_0x1a4e('0x3e0b')),_0x4a41bc=_0x3201e1(_0x1a4e('0x41eb')),_0x10e111=(_0x1f6078=function(_0x9c281c,_0x2ed735){return(_0x1f6078=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x9c281c,_0x2ed735){_0x9c281c[_0x1a4e('0x295')]=_0x2ed735;}||function(_0x9c281c,_0x2ed735){for(var _0x3201e1 in _0x2ed735)_0x2ed735[_0x1a4e('0xb')](_0x3201e1)&&(_0x9c281c[_0x3201e1]=_0x2ed735[_0x3201e1]);})(_0x9c281c,_0x2ed735);},function(_0x9c281c,_0x2ed735){function _0x3201e1(){this[_0x1a4e('0x10')]=_0x9c281c;}_0x1f6078(_0x9c281c,_0x2ed735),_0x9c281c[_0x1a4e('0xa')]=null===_0x2ed735?Object[_0x1a4e('0x7')](_0x2ed735):(_0x3201e1[_0x1a4e('0xa')]=_0x2ed735[_0x1a4e('0xa')],new _0x3201e1());}),_0x1c692a=function(_0x9c281c){function _0x2ed735(_0x2ed735){var _0x3201e1=_0x9c281c[_0x1a4e('0x1')](this,_0x2ed735)||this;return _0x3201e1[_0x1a4e('0x39d5')]='JBPointGraphic',_0x3201e1['_opt']=new _0x5e1804(),_0x3201e1[_0x1a4e('0x3acc')](_0x2ed735),_0x3201e1;}return _0x10e111(_0x2ed735,_0x9c281c),_0x2ed735['prototype'][_0x1a4e('0x1fd')]=function(_0x2ed735){if(window['GV'][_0x1a4e('0x4038')]){if(_0x9c281c['prototype'][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x2ed735),this[_0x1a4e('0x4138')]){var _0x3201e1=new _0x4a41bc[(_0x1a4e('0x41ec'))](this,this['father'][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0x3201e1;};}}else console['warn'](_0x1a4e('0x41df'));},Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x3553'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3553')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x3553')]=_0x9c281c,this['updateAttribute'](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x1617'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x1617')];},'set':function(_0x9c281c){this['_opt'][_0x1a4e('0x1617')]=_0x9c281c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')]['color'];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x134'));},'enumerable':!0x0,'configurable':!0x0}),_0x2ed735[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x2ed735[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x2ed735,'type',{'get':function(){return _0x1a4e('0x3e29');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x3d2e'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]=_0x9c281c,this[_0x1a4e('0x3dda')]('rotation');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x220'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x220')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x220')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x220'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41ed'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41ed')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41ed')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x41ed'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735['prototype'],_0x1a4e('0x41ee'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41ee')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41ee')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x41ee'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41e1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41e1')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')]['renderMode']=_0x9c281c,this[_0x1a4e('0x3dda')]('renderMode');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2ed735[_0x1a4e('0xa')],'imageOffset',{'get':function(){return this[_0x1a4e('0x4137')]['imageOffset'];},'set':function(_0x9c281c){this['_opt'][_0x1a4e('0x41ef')]=_0x9c281c,this['updateAttribute'](_0x1a4e('0x41ef'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2ed735[_0x1a4e('0xa')],'textOffset',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41f0')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41f0')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x41f0'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2ed735[_0x1a4e('0xa')],'text',{'get':function(){return this['_opt']['text'];},'set':function(_0x9c281c){this['_opt'][_0x1a4e('0xe04')]=_0x9c281c,this['updateAttribute'](_0x1a4e('0xe04'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41f1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41f1')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41f1')]=_0x9c281c,this[_0x1a4e('0x3dda')]('textFont');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x40a1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a1')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x40a1')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a1'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x4192'),{'get':function(){return this['_opt'][_0x1a4e('0x4192')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')]['textSize']=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x4192'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],'textBackgroundColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41f2')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41f2')]=_0x9c281c,this['updateAttribute'](_0x1a4e('0x41f2'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735['prototype'],_0x1a4e('0x41f3'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41f3')];},'set':function(_0x9c281c){this['_opt'][_0x1a4e('0x41f3')]=_0x9c281c,this[_0x1a4e('0x3dda')]('textScale');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735['prototype'],'height',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x152')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x152')]=_0x9c281c,this['updateAttribute'](_0x1a4e('0x152'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41f4'),{'get':function(){return this['_opt']['vectorExtrudedHeight'];},'set':function(_0x9c281c){this['_opt'][_0x1a4e('0x41f4')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x41f4'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x3987'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3987')];},'set':function(_0x9c281c){this['_opt'][_0x1a4e('0x3987')]=_0x9c281c,this[_0x1a4e('0x3dda')]('fillColor');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],'clampToGround',{'get':function(){return!0x1;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2ed735['prototype'],_0x1a4e('0x4147'),{'set':function(_0x9c281c){},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41f5'),{'get':function(){return this['_opt'][_0x1a4e('0x41f5')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41f5')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x41f5'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41f6'),{'get':function(){return this['_opt']['flagTextSize'];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41f6')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x41f5'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41f7'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41f7')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41f7')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x41f7'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41f8'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41f8')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41f8')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x41f8'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41f9'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41f9')];},'set':function(_0x9c281c){this['_opt'][_0x1a4e('0x41f9')]=_0x9c281c,this['updateAttribute'](_0x1a4e('0x41f5'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735['prototype'],_0x1a4e('0x41fa'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41fa')];},'set':function(_0x9c281c){this['_opt'][_0x1a4e('0x41fa')]=_0x9c281c,this['updateAttribute'](_0x1a4e('0x41fa'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41fb'),{'get':function(){return this['_opt'][_0x1a4e('0x41fb')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')]['trailLineShow']=_0x9c281c,this[_0x1a4e('0x3dda')]('trailLineShow');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41fc'),{'get':function(){return this[_0x1a4e('0x4137')]['trailLineColor'];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41fc')]=_0x9c281c,this[_0x1a4e('0x3dda')](_0x1a4e('0x41fc'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2ed735['prototype'],_0x1a4e('0x41fd'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41fd')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41fd')]=_0x9c281c,this['updateAttribute'](_0x1a4e('0x41fd'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735['prototype'],'enableTrailDrag',{'get':function(){return this['_opt'][_0x1a4e('0x41fe')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')]['enableTrailDrag']=_0x9c281c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x41ff'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41ff')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')][_0x1a4e('0x41ff')]=_0x9c281c,this[_0x1a4e('0x937')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2ed735[_0x1a4e('0xa')],_0x1a4e('0x4200'),{'get':function(){return this['_opt'][_0x1a4e('0x4200')];},'set':function(_0x9c281c){this[_0x1a4e('0x4137')]['flagInnerStrokeColor']=_0x9c281c,this['update']();},'enumerable':!0x0,'configurable':!0x0}),_0x2ed735;}(_0x4e9f29[_0x1a4e('0x3ae2')]),_0x5e1804=function(_0x9c281c){function _0x2ed735(){var _0x2ed735=null!==_0x9c281c&&_0x9c281c[_0x1a4e('0x8b')](this,arguments)||this;return _0x2ed735['color']='transparent',_0x2ed735[_0x1a4e('0x220')]=0xc8,_0x2ed735[_0x1a4e('0x3d2e')]=0x0,_0x2ed735['dirty']=!0x1,_0x2ed735['strokeColor']=_0x1a4e('0x4201'),_0x2ed735[_0x1a4e('0x41ee')]=0x0,_0x2ed735[_0x1a4e('0x41e1')]=_0x563524[_0x1a4e('0x4202')],_0x2ed735['textOffset']={'x':0x0,'y':0x0},_0x2ed735[_0x1a4e('0x41ef')]={'x':0x0,'y':0x0},_0x2ed735[_0x1a4e('0x41f1')]='sans-serif',_0x2ed735[_0x1a4e('0x4192')]=0x14,_0x2ed735[_0x1a4e('0x40a1')]=_0x1a4e('0x4201'),_0x2ed735[_0x1a4e('0x41f2')]='transparent',_0x2ed735[_0x1a4e('0x41f3')]=0x1,_0x2ed735[_0x1a4e('0x152')]=0x0,_0x2ed735['flagText']='',_0x2ed735[_0x1a4e('0x41f6')]=0x5a,_0x2ed735['flagTextSpace']=0xa,_0x2ed735[_0x1a4e('0x41f8')]='黑体',_0x2ed735[_0x1a4e('0x41f9')]=_0x1a4e('0x979'),_0x2ed735[_0x1a4e('0x41fa')]=_0x1a4e('0x4203'),_0x2ed735[_0x1a4e('0x41fb')]=!0x1,_0x2ed735['trailLineColor']=_0x1a4e('0x979'),_0x2ed735[_0x1a4e('0x41fd')]=0x2,_0x2ed735[_0x1a4e('0x41fe')]=!0x0,_0x2ed735[_0x1a4e('0x41ff')]=0x0,_0x2ed735[_0x1a4e('0x4200')]=_0x1a4e('0x4203'),_0x2ed735;}return _0x10e111(_0x2ed735,_0x9c281c),_0x2ed735;}(_0x4e9f29[_0x1a4e('0x4143')]);!function(_0x9c281c){_0x9c281c[_0x1a4e('0x4204')]='VECTOR',_0x9c281c[_0x1a4e('0x41e8')]=_0x1a4e('0x41e8'),_0x9c281c['BILLBOARD']=_0x1a4e('0x4202');}(_0x563524||(_0x563524={})),window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x1c692a);},'./src/LayerManager/GraphicLayer/GraphicItem/LabelBillboardGraphic.ts':function(_0x19e595,_0x5110d6,_0x1ed9c9){'use strict';_0x1ed9c9['r'](_0x5110d6),_0x1ed9c9['d'](_0x5110d6,_0x1a4e('0x3e46'),function(){return _0x4f3d4e;}),_0x1ed9c9['d'](_0x5110d6,'LabelBillboardGraphicOpt',function(){return _0x23291e;});var _0x49b20c,_0x22ed11=_0x1ed9c9(_0x1a4e('0x3e0b')),_0x57d774=_0x1ed9c9(_0x1a4e('0x4205')),_0x2bcb49=(_0x49b20c=function(_0x19e595,_0x5110d6){return(_0x49b20c=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x19e595,_0x5110d6){_0x19e595[_0x1a4e('0x295')]=_0x5110d6;}||function(_0x19e595,_0x5110d6){for(var _0x1ed9c9 in _0x5110d6)_0x5110d6[_0x1a4e('0xb')](_0x1ed9c9)&&(_0x19e595[_0x1ed9c9]=_0x5110d6[_0x1ed9c9]);})(_0x19e595,_0x5110d6);},function(_0x19e595,_0x5110d6){function _0x1ed9c9(){this[_0x1a4e('0x10')]=_0x19e595;}_0x49b20c(_0x19e595,_0x5110d6),_0x19e595[_0x1a4e('0xa')]=null===_0x5110d6?Object[_0x1a4e('0x7')](_0x5110d6):(_0x1ed9c9[_0x1a4e('0xa')]=_0x5110d6[_0x1a4e('0xa')],new _0x1ed9c9());}),_0x4f3d4e=function(_0x19e595){function _0x5110d6(_0x5110d6){var _0x1ed9c9=_0x19e595['call'](this,_0x5110d6)||this;return _0x1ed9c9[_0x1a4e('0x39d5')]='LabelBillboardGraphic',_0x1ed9c9[_0x1a4e('0x4137')]=new _0x23291e(),_0x1ed9c9['parseJson'](_0x5110d6),_0x1ed9c9;}return _0x2bcb49(_0x5110d6,_0x19e595),_0x5110d6['prototype'][_0x1a4e('0x1fd')]=function(_0x5110d6){if(_0x19e595['prototype'][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x5110d6),this[_0x1a4e('0x4138')]){var _0x1ed9c9=new _0x57d774[(_0x1a4e('0x4206'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x1ed9c9;},this['updateCanvas'](void 0x0);}},_0x5110d6[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x413d')]();},_0x5110d6[_0x1a4e('0xa')]['updateCanvas']=function(_0x19e595){_0x19e595?(this[_0x1a4e('0x3ecd')]=_0x19e595['x'],this[_0x1a4e('0x3ecf')]=_0x19e595['y']):this[_0x1a4e('0x3ef9')]()['updateCanvas']({'x':this[_0x1a4e('0x3ecd')],'y':this[_0x1a4e('0x3ecf')]});},_0x5110d6['prototype'][_0x1a4e('0x3cc')]=function(){return _0x5110d6['type'];},Object['defineProperty'](_0x5110d6,_0x1a4e('0x40'),{'get':function(){return'LabelBillboardGraphic';},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x3553'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3553')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x3553')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x3553'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x143'),{'get':function(){return this[_0x1a4e('0x4137')]['scale'];},'set':function(_0x19e595){this['_opt'][_0x1a4e('0x143')]!==_0x19e595&&(this[_0x1a4e('0x4137')][_0x1a4e('0x143')]=_0x19e595,this['updateAttribute'](_0x1a4e('0x143')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],'eyeOffset',{'get':function(){return this['_opt'][_0x1a4e('0x4146')];},'set':function(_0x19e595){this['_opt'][_0x1a4e('0x4146')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x4146'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x3d2e'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]!==_0x19e595&&(this[_0x1a4e('0x4137')]['rotation']=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x3d2e')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]!==_0x19e595&&(this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6['prototype'],_0x1a4e('0x4148'),{'get':function(){return this['_opt']['scaleByDistance'];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x4148')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x4148'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],'heightReference',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x19e595){this['_opt'][_0x1a4e('0x3bdf')]!==_0x19e595&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5110d6['prototype'],_0x1a4e('0x3ec1'),{'get':function(){return this[_0x1a4e('0x4137')]['canvasWidth'];},'set':function(_0x19e595){this[_0x1a4e('0x4137')]['canvasWidth']!==_0x19e595&&(this[_0x1a4e('0x4137')]['canvasWidth']=_0x19e595,this[_0x1a4e('0x3dda')]('canvasWidth'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x3ecd'),{'get':function(){return this[_0x1a4e('0x4137')]['moveX'];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x3ecd')]!==_0x19e595&&(this['_opt'][_0x1a4e('0x3ecd')]=_0x19e595,this['updateAttribute'](_0x1a4e('0x3ecd')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x3ecf'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3ecf')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x3ecf')]!==_0x19e595&&(this[_0x1a4e('0x4137')]['moveY']=_0x19e595,this['updateAttribute'](_0x1a4e('0x3ecf')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0xe04'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0xe04')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0xe04')]!==_0x19e595&&(this[_0x1a4e('0x4137')][_0x1a4e('0xe04')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0xe04')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6['prototype'],_0x1a4e('0x4207'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4207')];},'set':function(_0x19e595){this['_opt'][_0x1a4e('0x4207')]!==_0x19e595&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4207')]=_0x19e595,this['updateAttribute'](_0x1a4e('0x4207')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],'lineHeight',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4208')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x4208')]!==_0x19e595&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4208')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x4208')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x3ec7'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3ec7')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x3ec7')]!==_0x19e595&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3ec7')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x3ec7')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x3ec9'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3ec9')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x3ec9')]!==_0x19e595&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3ec9')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x3ec9')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x4209'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4209')];},'set':function(_0x19e595){this['_opt'][_0x1a4e('0x4209')]!==_0x19e595&&(this['_opt'][_0x1a4e('0x4209')]=_0x19e595,this[_0x1a4e('0x3dda')]('leftrightOpenningTop'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5110d6[_0x1a4e('0xa')],'leftrightOpenningBottom',{'get':function(){return this[_0x1a4e('0x4137')]['leftrightOpenningBottom'];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x3ed2')]!==_0x19e595&&(this['_opt']['leftrightOpenningBottom']=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x3ed2')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x40a2'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a2')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x40a2')]!==_0x19e595&&(this[_0x1a4e('0x4137')][_0x1a4e('0x40a2')]=_0x19e595,this[_0x1a4e('0x3dda')]('fontColor'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5110d6[_0x1a4e('0xa')],_0x1a4e('0x3bfa'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bfa')];},'set':function(_0x19e595){this[_0x1a4e('0x4137')][_0x1a4e('0x3bfa')]=_0x19e595,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bfa'));},'enumerable':!0x0,'configurable':!0x0}),_0x5110d6;}(_0x22ed11['GraphicItem']),_0x23291e=function(_0x19e595){function _0x5110d6(){var _0x5110d6=null!==_0x19e595&&_0x19e595['apply'](this,arguments)||this;return _0x5110d6[_0x1a4e('0x143')]=0x1,_0x5110d6[_0x1a4e('0x134')]=_0x1a4e('0x420a'),_0x5110d6[_0x1a4e('0x3ec1')]=0xc8,_0x5110d6['moveX']=0x0,_0x5110d6[_0x1a4e('0x3ecf')]=0x0,_0x5110d6[_0x1a4e('0xe04')]='我是文本',_0x5110d6[_0x1a4e('0x4207')]=0xa,_0x5110d6['fontColor']=_0x1a4e('0x420b'),_0x5110d6[_0x1a4e('0x4208')]=0x14,_0x5110d6['topbottomOpenningLeft']=0x32,_0x5110d6[_0x1a4e('0x3ec9')]=0x32,_0x5110d6[_0x1a4e('0x4209')]=0x1e,_0x5110d6['leftrightOpenningBottom']=0x1e,_0x5110d6;}return _0x2bcb49(_0x5110d6,_0x19e595),_0x5110d6;}(_0x22ed11[_0x1a4e('0x4143')]);window['GV']['REGISTER']('GraphicItem',_0x4f3d4e);},'./src/LayerManager/GraphicLayer/GraphicItem/LabelGraphic.ts':function(_0x23e7e7,_0x3fdd09,_0x2c5c61){'use strict';_0x2c5c61['r'](_0x3fdd09),_0x2c5c61['d'](_0x3fdd09,_0x1a4e('0x397c'),function(){return _0x4f1b2a;}),_0x2c5c61['d'](_0x3fdd09,_0x1a4e('0x39de'),function(){return _0x2c9cf6;});var _0x546426,_0x3239a4=_0x2c5c61(_0x1a4e('0x4136')),_0x2fd9fb=_0x2c5c61(_0x1a4e('0x420c')),_0x3217ca=(_0x546426=function(_0x23e7e7,_0x3fdd09){return(_0x546426=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x23e7e7,_0x3fdd09){_0x23e7e7[_0x1a4e('0x295')]=_0x3fdd09;}||function(_0x23e7e7,_0x3fdd09){for(var _0x2c5c61 in _0x3fdd09)_0x3fdd09[_0x1a4e('0xb')](_0x2c5c61)&&(_0x23e7e7[_0x2c5c61]=_0x3fdd09[_0x2c5c61]);})(_0x23e7e7,_0x3fdd09);},function(_0x23e7e7,_0x3fdd09){function _0x2c5c61(){this[_0x1a4e('0x10')]=_0x23e7e7;}_0x546426(_0x23e7e7,_0x3fdd09),_0x23e7e7['prototype']=null===_0x3fdd09?Object[_0x1a4e('0x7')](_0x3fdd09):(_0x2c5c61[_0x1a4e('0xa')]=_0x3fdd09[_0x1a4e('0xa')],new _0x2c5c61());}),_0x4f1b2a=function(_0x23e7e7){function _0x3fdd09(_0x3fdd09){var _0x2c5c61=_0x23e7e7[_0x1a4e('0x1')](this,_0x3fdd09)||this;return _0x2c5c61['_opt']=new _0x2c9cf6(),_0x2c5c61[_0x1a4e('0x3acc')](_0x3fdd09),_0x2c5c61;}return _0x3217ca(_0x3fdd09,_0x23e7e7),_0x3fdd09[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x3fdd09){if(_0x23e7e7[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x3fdd09),this['father']){var _0x2c5c61=new _0x2fd9fb[(_0x1a4e('0x420d'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0x2c5c61;};}},_0x3fdd09['prototype'][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x413d')]();},_0x3fdd09[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x3fdd09[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x3fdd09,'type',{'get':function(){return'LabelGraphic';},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x3fdd09[_0x1a4e('0xa')],_0x1a4e('0xe04'),{'get':function(){return this['_opt']['text'];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0xe04')]=_0x23e7e7,this[_0x1a4e('0x3dda')](_0x1a4e('0xe04'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09['prototype'],_0x1a4e('0x143'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x143')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0x143')]!==_0x23e7e7&&(this['_opt'][_0x1a4e('0x143')]=_0x23e7e7,this[_0x1a4e('0x3dda')]('scale'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09[_0x1a4e('0xa')],_0x1a4e('0x397a'),{'get':function(){return this['_opt'][_0x1a4e('0x397a')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0x397a')]!==_0x23e7e7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x397a')]=_0x23e7e7,this[_0x1a4e('0x3dda')](_0x1a4e('0x397a')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09[_0x1a4e('0xa')],_0x1a4e('0x397b'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x397b')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')]['verticalOrigin']!==_0x23e7e7&&(this[_0x1a4e('0x4137')]['verticalOrigin']=_0x23e7e7,this['updateAttribute'](_0x1a4e('0x397b')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x3fdd09[_0x1a4e('0xa')],_0x1a4e('0x4146'),{'get':function(){return this['_opt'][_0x1a4e('0x4146')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0x4146')]=_0x23e7e7,this['updateAttribute']('eyeOffset');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x3fdd09[_0x1a4e('0xa')],_0x1a4e('0x4147'),{'get':function(){return this['_opt']['pixelOffset'];},'set':function(_0x23e7e7){this['_opt'][_0x1a4e('0x4147')]=_0x23e7e7,this[_0x1a4e('0x3dda')]('pixelOffset');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09['prototype'],'outlineWidth',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4172')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0x4172')]!==_0x23e7e7&&(this['_opt'][_0x1a4e('0x4172')]=_0x23e7e7,this[_0x1a4e('0x3dda')]('outlineWidth'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09['prototype'],_0x1a4e('0x3986'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3986')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0x3986')]!==_0x23e7e7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3986')]=_0x23e7e7,this[_0x1a4e('0x3dda')](_0x1a4e('0x3986')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09['prototype'],_0x1a4e('0x375c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x375c')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')]['style']!==_0x23e7e7&&(this['_opt'][_0x1a4e('0x375c')]=_0x23e7e7,this[_0x1a4e('0x3dda')]('style'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09['prototype'],_0x1a4e('0x3987'),{'get':function(){return this[_0x1a4e('0x4137')]['fillColor'];},'set':function(_0x23e7e7){this['_opt'][_0x1a4e('0x3987')]!==_0x23e7e7&&(this[_0x1a4e('0x4137')]['fillColor']=_0x23e7e7,this[_0x1a4e('0x3dda')](_0x1a4e('0x3987')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x409f')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')]['outlineColor']!==_0x23e7e7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]=_0x23e7e7,this['updateAttribute'](_0x1a4e('0x409f')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09['prototype'],'backgroundColor',{'get':function(){return this['_opt'][_0x1a4e('0x3ef1')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0x3ef1')]!==_0x23e7e7&&(this[_0x1a4e('0x4137')]['backgroundColor']=_0x23e7e7,this[_0x1a4e('0x3dda')](_0x1a4e('0x3ef1')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09[_0x1a4e('0xa')],_0x1a4e('0x4148'),{'get':function(){return this['_opt'][_0x1a4e('0x4148')];},'set':function(_0x23e7e7){this['_opt']['scaleByDistance']=_0x23e7e7,this[_0x1a4e('0x3dda')]('scaleByDistance');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09[_0x1a4e('0xa')],_0x1a4e('0x420e'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x420e')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0x420e')]=_0x23e7e7,this['updateAttribute'](_0x1a4e('0x420e'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09[_0x1a4e('0xa')],_0x1a4e('0x420f'),{'get':function(){return this['_opt'][_0x1a4e('0x420f')];},'set':function(_0x23e7e7){this['_opt'][_0x1a4e('0x420f')]=_0x23e7e7,this[_0x1a4e('0x3dda')]('showBackground');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09[_0x1a4e('0xa')],'heightReference',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x23e7e7){this['_opt']['heightReference']!==_0x23e7e7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]=_0x23e7e7,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09['prototype'],'translucencyByDistance',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4210')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0x4210')]=_0x23e7e7,this[_0x1a4e('0x3dda')](_0x1a4e('0x4210'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09[_0x1a4e('0xa')],'isDepthTest',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4211')];},'set':function(_0x23e7e7){this['_opt'][_0x1a4e('0x4211')]=_0x23e7e7,this[_0x1a4e('0x3dda')](_0x1a4e('0x4211'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fdd09['prototype'],_0x1a4e('0x3bfa'),{'get':function(){return this['_opt'][_0x1a4e('0x3bfa')];},'set':function(_0x23e7e7){this[_0x1a4e('0x4137')][_0x1a4e('0x3bfa')]=_0x23e7e7,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bfa'));},'enumerable':!0x0,'configurable':!0x0}),_0x3fdd09;}(_0x3239a4['GraphicPositionItem']),_0x2c9cf6=function(_0x23e7e7){function _0x3fdd09(){var _0x3fdd09=null!==_0x23e7e7&&_0x23e7e7['apply'](this,arguments)||this;return _0x3fdd09[_0x1a4e('0x143')]=0x1,_0x3fdd09[_0x1a4e('0x4172')]=0x1,_0x3fdd09['font']=_0x1a4e('0x4212'),_0x3fdd09[_0x1a4e('0x420f')]=!0x1,_0x3fdd09[_0x1a4e('0x4211')]=!0x0,_0x3fdd09;}return _0x3217ca(_0x3fdd09,_0x23e7e7),_0x3fdd09;}(_0x3239a4[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x4f1b2a);},'./src/LayerManager/GraphicLayer/GraphicItem/LabelRectGraphic.ts':function(_0x425494,_0x4c6c56,_0x343a16){'use strict';_0x343a16['r'](_0x4c6c56),_0x343a16['d'](_0x4c6c56,_0x1a4e('0x3e47'),function(){return _0x5b6c63;}),_0x343a16['d'](_0x4c6c56,_0x1a4e('0x4213'),function(){return _0x2284a2;});var _0x5cc105,_0x5a342d=_0x343a16(_0x1a4e('0x4214')),_0x482750=_0x343a16('./src/LayerManager/GraphicLayer/GraphicItem/GraphicPositionItem.ts'),_0x4a0574=_0x343a16(_0x1a4e('0x4166')),_0x25f964=(_0x5cc105=function(_0x425494,_0x4c6c56){return(_0x5cc105=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x425494,_0x4c6c56){_0x425494[_0x1a4e('0x295')]=_0x4c6c56;}||function(_0x425494,_0x4c6c56){for(var _0x343a16 in _0x4c6c56)_0x4c6c56[_0x1a4e('0xb')](_0x343a16)&&(_0x425494[_0x343a16]=_0x4c6c56[_0x343a16]);})(_0x425494,_0x4c6c56);},function(_0x425494,_0x4c6c56){function _0x343a16(){this[_0x1a4e('0x10')]=_0x425494;}_0x5cc105(_0x425494,_0x4c6c56),_0x425494[_0x1a4e('0xa')]=null===_0x4c6c56?Object[_0x1a4e('0x7')](_0x4c6c56):(_0x343a16['prototype']=_0x4c6c56[_0x1a4e('0xa')],new _0x343a16());}),_0x5b6c63=function(_0x425494){function _0x4c6c56(_0x4c6c56){var _0x343a16=_0x425494[_0x1a4e('0x1')](this,_0x4c6c56)||this;return _0x343a16[_0x1a4e('0x4137')]=new _0x2284a2(),_0x343a16[_0x1a4e('0x3acc')](_0x4c6c56),_0x343a16;}return _0x25f964(_0x4c6c56,_0x425494),_0x4c6c56[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4c6c56){if(_0x425494['prototype'][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x4c6c56),this['father']){var _0x343a16=new _0x5a342d[(_0x1a4e('0x4215'))](this,this[_0x1a4e('0x4138')]['getRoot']());this[_0x1a4e('0x413d')]=function(){return _0x343a16;},this[_0x1a4e('0x3ecc')]();}},_0x4c6c56[_0x1a4e('0xa')]['getRenderObject']=function(){return this[_0x1a4e('0x413d')]();},_0x4c6c56['prototype'][_0x1a4e('0x3ecc')]=function(){this['getRenderObject']()[_0x1a4e('0x3ecc')]();},_0x4c6c56[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4c6c56[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x4c6c56,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e47');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56['prototype'],'scale',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x143')];},'set':function(_0x425494){this['_opt'][_0x1a4e('0x143')]!==_0x425494&&(this[_0x1a4e('0x4137')][_0x1a4e('0x143')]=_0x425494,this['updateAttribute'](_0x1a4e('0x143')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56['prototype'],_0x1a4e('0x4146'),{'get':function(){return this['_opt']['eyeOffset'];},'set':function(_0x425494){this[_0x1a4e('0x4137')][_0x1a4e('0x4146')]=_0x425494,this[_0x1a4e('0x3dda')](_0x1a4e('0x4146'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56[_0x1a4e('0xa')],_0x1a4e('0x3d2e'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')];},'set':function(_0x425494){this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]!==_0x425494&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]=_0x425494,this[_0x1a4e('0x3dda')](_0x1a4e('0x3d2e')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56['prototype'],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x425494){this[_0x1a4e('0x4137')]['color']!==_0x425494&&(this[_0x1a4e('0x4137')]['color']=_0x425494,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56['prototype'],_0x1a4e('0x3bdf'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x425494){this[_0x1a4e('0x4137')]['heightReference']!==_0x425494&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]=_0x425494,this[_0x1a4e('0x3dda')]('heightReference'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56[_0x1a4e('0xa')],_0x1a4e('0x3ec1'),{'get':function(){return this[_0x1a4e('0x4137')]['canvasWidth'];},'set':function(_0x425494){this[_0x1a4e('0x4137')][_0x1a4e('0x3ec1')]!==_0x425494&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3ec1')]=_0x425494,this[_0x1a4e('0x3dda')](_0x1a4e('0x3ec1')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56[_0x1a4e('0xa')],'text',{'get':function(){return this[_0x1a4e('0x4137')]['text'];},'set':function(_0x425494){this[_0x1a4e('0x4137')][_0x1a4e('0xe04')]!==_0x425494&&(this['_opt'][_0x1a4e('0xe04')]=_0x425494,this[_0x1a4e('0x3dda')](_0x1a4e('0xe04')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56[_0x1a4e('0xa')],'font',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3986')];},'set':function(_0x425494){this[_0x1a4e('0x4137')][_0x1a4e('0x3986')]!==_0x425494&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3986')]=_0x425494,this[_0x1a4e('0x3dda')]('font'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56[_0x1a4e('0xa')],'fontSize',{'get':function(){return this[_0x1a4e('0x4137')]['fontSize'];},'set':function(_0x425494){this[_0x1a4e('0x4137')]['fontSize']!==_0x425494&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4207')]=_0x425494,this[_0x1a4e('0x3dda')]('fontSize'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56[_0x1a4e('0xa')],_0x1a4e('0x40a2'),{'get':function(){return this['_opt']['fontColor'];},'set':function(_0x425494){this[_0x1a4e('0x4137')]['fontColor']!==_0x425494&&(this[_0x1a4e('0x4137')][_0x1a4e('0x40a2')]=_0x425494,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a2')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4c6c56['prototype'],_0x1a4e('0x3737'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3737')];},'set':function(_0x425494){this[_0x1a4e('0x4137')]['bold']!==_0x425494&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3737')]=_0x425494,this['updateAttribute'](_0x1a4e('0x3737')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4c6c56[_0x1a4e('0xa')],_0x1a4e('0x4208'),{'get':function(){return this[_0x1a4e('0x4137')]['lineHeight'];},'set':function(_0x425494){this[_0x1a4e('0x4137')][_0x1a4e('0x4208')]!==_0x425494&&(this[_0x1a4e('0x4137')]['lineHeight']=_0x425494,this[_0x1a4e('0x3dda')](_0x1a4e('0x4208')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4c6c56[_0x1a4e('0xa')],'distanceDisplayCondition',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bfa')];},'set':function(_0x425494){this[_0x1a4e('0x4137')][_0x1a4e('0x3bfa')]=_0x425494,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bfa'));},'enumerable':!0x0,'configurable':!0x0}),_0x4c6c56[_0x1a4e('0xa')][_0x1a4e('0x3e8a')]=function(_0x425494,_0x4c6c56){return new _0x4a0574[(_0x1a4e('0x3e8e'))](_0x425494,_0x4c6c56);},_0x4c6c56;}(_0x482750[_0x1a4e('0x413a')]),_0x2284a2=function(_0x425494){function _0x4c6c56(){var _0x4c6c56=null!==_0x425494&&_0x425494['apply'](this,arguments)||this;return _0x4c6c56['scale']=0x1,_0x4c6c56[_0x1a4e('0x134')]=_0x1a4e('0x420a'),_0x4c6c56[_0x1a4e('0x3ec1')]=0xc8,_0x4c6c56['text']='我是文本',_0x4c6c56[_0x1a4e('0x3986')]=_0x1a4e('0x4216'),_0x4c6c56['fontSize']=0x10,_0x4c6c56[_0x1a4e('0x40a2')]=_0x1a4e('0x420b'),_0x4c6c56[_0x1a4e('0x3737')]=!0x1,_0x4c6c56['lineHeight']=0xa,_0x4c6c56;}return _0x25f964(_0x4c6c56,_0x425494),_0x4c6c56;}(_0x482750['GraphicPositionItemOpt']);window['GV']['REGISTER'](_0x1a4e('0x3ae2'),_0x5b6c63);},'./src/LayerManager/GraphicLayer/GraphicItem/ModelGraphic.ts':function(_0x301721,_0x4d28ca,_0x52d271){'use strict';_0x52d271['r'](_0x4d28ca),_0x52d271['d'](_0x4d28ca,_0x1a4e('0x3e2c'),function(){return _0x23b578;}),_0x52d271['d'](_0x4d28ca,'ModelGraphicOpt',function(){return _0x39690b;});var _0x205e53,_0x5e2adb=_0x52d271(_0x1a4e('0x4136')),_0x412e47=_0x52d271(_0x1a4e('0x4217')),_0x5dca06=(_0x205e53=function(_0x301721,_0x4d28ca){return(_0x205e53=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x301721,_0x4d28ca){_0x301721[_0x1a4e('0x295')]=_0x4d28ca;}||function(_0x301721,_0x4d28ca){for(var _0x52d271 in _0x4d28ca)_0x4d28ca[_0x1a4e('0xb')](_0x52d271)&&(_0x301721[_0x52d271]=_0x4d28ca[_0x52d271]);})(_0x301721,_0x4d28ca);},function(_0x301721,_0x4d28ca){function _0x52d271(){this[_0x1a4e('0x10')]=_0x301721;}_0x205e53(_0x301721,_0x4d28ca),_0x301721[_0x1a4e('0xa')]=null===_0x4d28ca?Object[_0x1a4e('0x7')](_0x4d28ca):(_0x52d271[_0x1a4e('0xa')]=_0x4d28ca[_0x1a4e('0xa')],new _0x52d271());}),_0x23b578=function(_0x301721){function _0x4d28ca(_0x4d28ca){var _0x52d271=_0x301721[_0x1a4e('0x1')](this,_0x4d28ca)||this;return _0x52d271['_opt']=new _0x39690b(),_0x52d271[_0x1a4e('0x3acc')](_0x4d28ca),_0x52d271;}return _0x5dca06(_0x4d28ca,_0x301721),_0x4d28ca['prototype'][_0x1a4e('0x1fd')]=function(_0x4d28ca){if(_0x301721['prototype'][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x4d28ca),this[_0x1a4e('0x4138')]){var _0x52d271=new _0x412e47[(_0x1a4e('0x4218'))](this,this[_0x1a4e('0x4138')]['getRoot']());this[_0x1a4e('0x413d')]=function(){return _0x52d271;};}},_0x4d28ca[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x413d')]();},_0x4d28ca[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4d28ca[_0x1a4e('0x40')];},Object['defineProperty'](_0x4d28ca,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e2c');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4d28ca[_0x1a4e('0xa')],'url',{'get':function(){return this[_0x1a4e('0x4137')]['url'];},'set':function(_0x301721){this[_0x1a4e('0x4137')]['url']!==_0x301721&&(this[_0x1a4e('0x4137')][_0x1a4e('0x15cf')]=_0x301721,this['updateAttribute'](_0x1a4e('0x15cf')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d28ca[_0x1a4e('0xa')],_0x1a4e('0x143'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x143')];},'set':function(_0x301721){this[_0x1a4e('0x4137')]['scale']!==_0x301721&&(this[_0x1a4e('0x4137')][_0x1a4e('0x143')]=_0x301721,this['updateAttribute'](_0x1a4e('0x143')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4d28ca[_0x1a4e('0xa')],_0x1a4e('0x3a68'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3a68')];},'set':function(_0x301721){this[_0x1a4e('0x4137')][_0x1a4e('0x3a68')]!==_0x301721&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3a68')]=_0x301721,this[_0x1a4e('0x3dda')](_0x1a4e('0x3a68')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d28ca[_0x1a4e('0xa')],_0x1a4e('0x3a69'),{'get':function(){return this['_opt'][_0x1a4e('0x3a69')];},'set':function(_0x301721){this['_opt']['pitch']!==_0x301721&&(this['_opt'][_0x1a4e('0x3a69')]=_0x301721,this[_0x1a4e('0x3dda')](_0x1a4e('0x3a69')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d28ca[_0x1a4e('0xa')],_0x1a4e('0x3a9c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3a9c')];},'set':function(_0x301721){this[_0x1a4e('0x4137')][_0x1a4e('0x3a9c')]!==_0x301721&&(this['_opt'][_0x1a4e('0x3a9c')]=_0x301721,this['updateAttribute'](_0x1a4e('0x3a9c')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d28ca['prototype'],'minimumPixelSize',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdc')];},'set':function(_0x301721){this[_0x1a4e('0x4137')][_0x1a4e('0x3bdc')]!==_0x301721&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bdc')]=_0x301721,this['updateAttribute'](_0x1a4e('0x3bdc')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d28ca[_0x1a4e('0xa')],_0x1a4e('0x3bdd'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdd')];},'set':function(_0x301721){this['_opt'][_0x1a4e('0x3bdd')]!==_0x301721&&(this['_opt'][_0x1a4e('0x3bdd')]=_0x301721,this['updateAttribute']('maximumScale'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4d28ca[_0x1a4e('0xa')],'runAnimations',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4219')];},'set':function(_0x301721){this[_0x1a4e('0x4137')][_0x1a4e('0x4219')]!==_0x301721&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4219')]=_0x301721,this[_0x1a4e('0x3dda')](_0x1a4e('0x4219')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d28ca[_0x1a4e('0xa')],_0x1a4e('0x3bea'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bea')];},'set':function(_0x301721){this[_0x1a4e('0x4137')]['clampAnimations']=_0x301721,this[_0x1a4e('0x3dda')]('clampAnimations');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d28ca[_0x1a4e('0xa')],_0x1a4e('0x3bd5'),{'get':function(){return this[_0x1a4e('0x4137')]['silhouetteColor'];},'set':function(_0x301721){this[_0x1a4e('0x4137')][_0x1a4e('0x3bd5')]!==_0x301721&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bd5')]=_0x301721,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bd5')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4d28ca[_0x1a4e('0xa')],_0x1a4e('0x3bd9'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bd9')];},'set':function(_0x301721){this[_0x1a4e('0x4137')]['silhouetteSize']!==_0x301721&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bd9')]=_0x301721,this['updateAttribute'](_0x1a4e('0x3bd9')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4d28ca[_0x1a4e('0xa')],'color',{'get':function(){return this[_0x1a4e('0x4137')]['color'];},'set':function(_0x301721){this['_opt'][_0x1a4e('0x134')]!==_0x301721&&(this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x301721,this['updateAttribute'](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4d28ca[_0x1a4e('0xa')],_0x1a4e('0x3bdf'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x301721){this['_opt'][_0x1a4e('0x3bdf')]!==_0x301721&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]=_0x301721,this['updateAttribute'](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),_0x4d28ca;}(_0x5e2adb[_0x1a4e('0x413a')]),_0x39690b=function(_0x301721){function _0x4d28ca(){var _0x4d28ca=null!==_0x301721&&_0x301721['apply'](this,arguments)||this;return _0x4d28ca[_0x1a4e('0x143')]=0x1,_0x4d28ca['heading']=0x0,_0x4d28ca[_0x1a4e('0x3a69')]=0x0,_0x4d28ca['roll']=0x0,_0x4d28ca[_0x1a4e('0x134')]=_0x1a4e('0x3de1'),_0x4d28ca[_0x1a4e('0x4219')]=!0x0,_0x4d28ca[_0x1a4e('0x3bea')]=!0x0,_0x4d28ca[_0x1a4e('0x3bdf')]=_0x1a4e('0x421a'),_0x4d28ca;}return _0x5dca06(_0x4d28ca,_0x301721),_0x4d28ca;}(_0x5e2adb[_0x1a4e('0x413b')]);window['GV']['REGISTER']('GraphicItem',_0x23b578);},'./src/LayerManager/GraphicLayer/GraphicItem/ObliqueGraphic.ts':function(_0x1c1c19,_0x29ca15,_0xdbd52b){'use strict';_0xdbd52b['r'](_0x29ca15),_0xdbd52b['d'](_0x29ca15,_0x1a4e('0x3e98'),function(){return _0x51a5d0;}),_0xdbd52b['d'](_0x29ca15,_0x1a4e('0x4008'),function(){return _0x41dac0;});var _0x462faf,_0x15317e=_0xdbd52b('./src/LayerManager/GraphicLayer/GraphicItem/GraphicItem.ts'),_0x1a09f3=_0xdbd52b(_0x1a4e('0x421b')),_0x4e9d3e=_0xdbd52b(_0x1a4e('0x38d0')),_0x1ba565=(_0x462faf=function(_0x1c1c19,_0x29ca15){return(_0x462faf=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1c1c19,_0x29ca15){_0x1c1c19[_0x1a4e('0x295')]=_0x29ca15;}||function(_0x1c1c19,_0x29ca15){for(var _0xdbd52b in _0x29ca15)_0x29ca15[_0x1a4e('0xb')](_0xdbd52b)&&(_0x1c1c19[_0xdbd52b]=_0x29ca15[_0xdbd52b]);})(_0x1c1c19,_0x29ca15);},function(_0x1c1c19,_0x29ca15){function _0xdbd52b(){this[_0x1a4e('0x10')]=_0x1c1c19;}_0x462faf(_0x1c1c19,_0x29ca15),_0x1c1c19['prototype']=null===_0x29ca15?Object[_0x1a4e('0x7')](_0x29ca15):(_0xdbd52b[_0x1a4e('0xa')]=_0x29ca15[_0x1a4e('0xa')],new _0xdbd52b());}),_0x26136a=function(_0x1c1c19,_0x29ca15){var _0xdbd52b='function'==typeof Symbol&&_0x1c1c19[Symbol[_0x1a4e('0x335')]];if(!_0xdbd52b)return _0x1c1c19;var _0x462faf,_0x15317e,_0x1a09f3=_0xdbd52b[_0x1a4e('0x1')](_0x1c1c19),_0x4e9d3e=[];try{for(;(void 0x0===_0x29ca15||_0x29ca15-->0x0)&&!(_0x462faf=_0x1a09f3[_0x1a4e('0x7e')]())['done'];)_0x4e9d3e['push'](_0x462faf['value']);}catch(_0x3eb9d4){_0x15317e={'error':_0x3eb9d4};}finally{try{_0x462faf&&!_0x462faf[_0x1a4e('0x3c2')]&&(_0xdbd52b=_0x1a09f3[_0x1a4e('0xe40')])&&_0xdbd52b[_0x1a4e('0x1')](_0x1a09f3);}finally{if(_0x15317e)throw _0x15317e[_0x1a4e('0x873')];}}return _0x4e9d3e;},_0x51a5d0=function(_0x1c1c19){function _0x29ca15(_0x29ca15){var _0xdbd52b=_0x1c1c19[_0x1a4e('0x1')](this,_0x29ca15)||this;return _0xdbd52b['_type']=_0x1a4e('0x3e98'),_0xdbd52b[_0x1a4e('0x4137')]=new _0x41dac0(),_0xdbd52b['parseJson'](_0x29ca15),_0xdbd52b;}return _0x1ba565(_0x29ca15,_0x1c1c19),_0x29ca15[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x29ca15){if(_0x1c1c19[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x29ca15),this[_0x1a4e('0x4138')]){var _0xdbd52b=new _0x1a09f3[(_0x1a4e('0x421c'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0xdbd52b;};}},_0x29ca15['prototype'][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x413d')]();},_0x29ca15[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x29ca15[_0x1a4e('0x40')];},_0x29ca15[_0x1a4e('0xa')][_0x1a4e('0x3ecb')]=function(){return _0x4e9d3e[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](this[_0x1a4e('0x3ef9')]()['_renderObj'][_0x1a4e('0x3d4d')]['center']);},Object['defineProperty'](_0x29ca15,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e98');},'enumerable':!0x0,'configurable':!0x0}),_0x29ca15[_0x1a4e('0xa')]['movePosition']=function(_0x1c1c19,_0x29ca15,_0xdbd52b){var _0x462faf=this[_0x1a4e('0x3ecb')](),_0x15317e=new _0x4e9d3e[(_0x1a4e('0x38da'))](_0x462faf[_0x1a4e('0x1a1')]+_0x1c1c19,_0x462faf[_0x1a4e('0x1a2')]+_0x29ca15,_0x462faf[_0x1a4e('0x398c')]+(_0xdbd52b||0x0)),_0x1a09f3=_0x4e9d3e[_0x1a4e('0x38da')]['toCartesian3'](_0x462faf),_0x1ba565=_0x4e9d3e[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x15317e),_0x51a5d0=_0x26136a(this['offset'],0x3),_0x41dac0=_0x51a5d0[0x0],_0x47c5c4=_0x51a5d0[0x1],_0x3208f9=_0x51a5d0[0x2];_0x41dac0+=_0x1ba565['x']-_0x1a09f3['x'],_0x47c5c4+=_0x1ba565['y']-_0x1a09f3['y'],_0x3208f9+=_0x1ba565['z']-_0x1a09f3['z'],this[_0x1a4e('0x1af')]=[_0x41dac0,_0x47c5c4,_0x3208f9];},Object['defineProperty'](_0x29ca15[_0x1a4e('0xa')],_0x1a4e('0x15cf'),{'get':function(){return this['_opt'][_0x1a4e('0x15cf')];},'set':function(_0x1c1c19){this['_opt'][_0x1a4e('0x15cf')]!==_0x1c1c19&&(this[_0x1a4e('0x4137')][_0x1a4e('0x15cf')]=_0x1c1c19,this[_0x1a4e('0x3dda')]('url'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x29ca15[_0x1a4e('0xa')],'scale',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x143')];},'set':function(_0x1c1c19){this[_0x1a4e('0x4137')][_0x1a4e('0x143')]!==_0x1c1c19&&(this[_0x1a4e('0x4137')][_0x1a4e('0x143')]=_0x1c1c19,this[_0x1a4e('0x3dda')](_0x1a4e('0x143')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x29ca15[_0x1a4e('0xa')],_0x1a4e('0x1af'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x1af')];},'set':function(_0x1c1c19){this['_opt'][_0x1a4e('0x1af')]=_0x1c1c19,this[_0x1a4e('0x3dda')]('offset');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x29ca15[_0x1a4e('0xa')],_0x1a4e('0x7a3'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x7a3')];},'set':function(_0x1c1c19){this[_0x1a4e('0x4137')][_0x1a4e('0x7a3')]=_0x1c1c19,this[_0x1a4e('0x3dda')](_0x1a4e('0x7a3'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x29ca15[_0x1a4e('0xa')],'color',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x1c1c19){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]!==_0x1c1c19&&(this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x1c1c19,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x29ca15['prototype'],_0x1a4e('0x3e06'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3e06')];},'set':function(_0x1c1c19){this['_opt'][_0x1a4e('0x3e06')]=_0x1c1c19,this['updateAttribute']('isEditing');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x29ca15['prototype'],_0x1a4e('0x3972'),{'get':function(){return!0x1;},'enumerable':!0x0,'configurable':!0x0}),_0x29ca15;}(_0x15317e[_0x1a4e('0x3ae2')]),_0x41dac0=function(_0x1c1c19){function _0x29ca15(){var _0x29ca15=null!==_0x1c1c19&&_0x1c1c19[_0x1a4e('0x8b')](this,arguments)||this;return _0x29ca15[_0x1a4e('0x143')]=0x1,_0x29ca15['offset']=[0x0,0x0,0x0],_0x29ca15[_0x1a4e('0x7a3')]=[0x0,0x0,0x0],_0x29ca15[_0x1a4e('0x3e06')]=!0x1,_0x29ca15;}return _0x1ba565(_0x29ca15,_0x1c1c19),_0x29ca15;}(_0x15317e[_0x1a4e('0x4143')]);window['GV']['REGISTER']('GraphicItem',_0x51a5d0);},'./src/LayerManager/GraphicLayer/GraphicItem/ParabolaLineGraphic.ts':function(_0x1b9b7b,_0x269397,_0x58fe85){'use strict';_0x58fe85['r'](_0x269397),_0x58fe85['d'](_0x269397,'ParabolaLineGraphic',function(){return _0x58662a;}),_0x58fe85['d'](_0x269397,_0x1a4e('0x3fda'),function(){return _0x50ee29;});var _0x27c724,_0x107f98=_0x58fe85('./src/LayerManager/GraphicLayer/GraphicItem/GraphicItem.ts'),_0x3f7252=_0x58fe85(_0x1a4e('0x413c')),_0x509b75=_0x58fe85(_0x1a4e('0x3970')),_0x593515=_0x58fe85(_0x1a4e('0x396f')),_0x4ffa27=(_0x27c724=function(_0x1b9b7b,_0x269397){return(_0x27c724=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1b9b7b,_0x269397){_0x1b9b7b[_0x1a4e('0x295')]=_0x269397;}||function(_0x1b9b7b,_0x269397){for(var _0x58fe85 in _0x269397)_0x269397[_0x1a4e('0xb')](_0x58fe85)&&(_0x1b9b7b[_0x58fe85]=_0x269397[_0x58fe85]);})(_0x1b9b7b,_0x269397);},function(_0x1b9b7b,_0x269397){function _0x58fe85(){this[_0x1a4e('0x10')]=_0x1b9b7b;}_0x27c724(_0x1b9b7b,_0x269397),_0x1b9b7b[_0x1a4e('0xa')]=null===_0x269397?Object[_0x1a4e('0x7')](_0x269397):(_0x58fe85[_0x1a4e('0xa')]=_0x269397['prototype'],new _0x58fe85());}),_0x58662a=function(_0x1b9b7b){function _0x269397(_0x269397){var _0x58fe85=_0x1b9b7b[_0x1a4e('0x1')](this,_0x269397)||this;return _0x58fe85[_0x1a4e('0x39d5')]='ParabolaLineGraphic',_0x58fe85['_opt']=new _0x50ee29(),_0x58fe85[_0x1a4e('0x3acc')](_0x269397),_0x58fe85;}return _0x4ffa27(_0x269397,_0x1b9b7b),_0x269397[_0x1a4e('0xa')]['getType']=function(){return _0x269397[_0x1a4e('0x40')];},_0x269397['prototype'][_0x1a4e('0x3e53')]=function(){return this[_0x1a4e('0x421d')]?0x2:Number[_0x1a4e('0x201')];},Object[_0x1a4e('0x2')](_0x269397,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e38');},'enumerable':!0x0,'configurable':!0x0}),_0x269397[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x269397){if(_0x1b9b7b[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x269397),this[_0x1a4e('0x4138')]){var _0x58fe85=new _0x3f7252[(_0x1a4e('0x421e'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x58fe85;};}},Object['defineProperty'](_0x269397[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x398a')];},'set':function(_0x1b9b7b){this[_0x1a4e('0x4137')][_0x1a4e('0x398a')]=_0x1b9b7b,this[_0x1a4e('0x3dda')](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x269397[_0x1a4e('0xa')],_0x1a4e('0x421d'),{'get':function(){return this[_0x1a4e('0x4137')]['interpolation'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x269397[_0x1a4e('0xa')],_0x1a4e('0x3936'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3936')];},'set':function(_0x1b9b7b){this[_0x1a4e('0x4137')][_0x1a4e('0x3936')]!==_0x1b9b7b&&(this['_opt'][_0x1a4e('0x3936')]=_0x1b9b7b,this[_0x1a4e('0x3dda')](_0x1a4e('0x3936')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x269397[_0x1a4e('0xa')],_0x1a4e('0x40ce'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40ce')];},'set':function(_0x1b9b7b){_0x1b9b7b<=0x0||_0x1b9b7b>=0x989680?alert(_0x1a4e('0x421f')):(this[_0x1a4e('0x4137')][_0x1a4e('0x40ce')]=_0x1b9b7b,this[_0x1a4e('0x3dda')](_0x1a4e('0x398a')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x269397[_0x1a4e('0xa')],_0x1a4e('0xbad'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0xbad')];},'set':function(_0x1b9b7b){this[_0x1a4e('0x4137')]['step']=_0x1b9b7b,this[_0x1a4e('0x3dda')](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x269397['prototype'],_0x1a4e('0x3972'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3972')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x269397['prototype'],_0x1a4e('0x4140'),{'get':function(){return this['_opt'][_0x1a4e('0x4140')];},'set':function(_0x1b9b7b){this[_0x1a4e('0x4137')]['dirty']=_0x1b9b7b;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x269397['prototype'],_0x1a4e('0x4141'),{'get':function(){return this['_opt'][_0x1a4e('0x4141')];},'set':function(_0x1b9b7b){this['_opt'][_0x1a4e('0x4141')]=_0x1b9b7b,this[_0x1a4e('0x3dda')](_0x1a4e('0x4141'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x269397[_0x1a4e('0xa')],'color',{'get':function(){return this[_0x1a4e('0x4141')][_0x1a4e('0x134')];},'set':function(_0x1b9b7b){this[_0x1a4e('0x4137')][_0x1a4e('0x4141')]['color']=_0x1b9b7b,this[_0x1a4e('0x3dda')](_0x1a4e('0x4141'));},'enumerable':!0x0,'configurable':!0x0}),_0x269397[_0x1a4e('0xa')][_0x1a4e('0x4220')]=function(_0x1b9b7b){return _0x509b75[_0x1a4e('0x3990')][_0x1a4e('0x4221')](_0x1b9b7b[0x0],_0x1b9b7b[0x1],this[_0x1a4e('0x40ce')],this[_0x1a4e('0xbad')]);},_0x269397;}(_0x107f98['GraphicItem']),_0x50ee29=function(_0x1b9b7b){function _0x269397(){var _0x269397=null!==_0x1b9b7b&&_0x1b9b7b[_0x1a4e('0x8b')](this,arguments)||this;return _0x269397['lineStyle']=new _0x593515[(_0x1a4e('0x3996'))](_0x1a4e('0x393b')),_0x269397[_0x1a4e('0x40ce')]=0x1388,_0x269397[_0x1a4e('0xbad')]=0x32,_0x269397['width']=0x2,_0x269397[_0x1a4e('0x4140')]=!0x1,_0x269397[_0x1a4e('0x3972')]=!0x1,_0x269397[_0x1a4e('0x421d')]=!0x0,_0x269397;}return _0x4ffa27(_0x269397,_0x1b9b7b),_0x269397;}(_0x107f98['GraphicItemOpt']);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x58662a);},'./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipeTurnThreeGraphic.ts':function(_0x5cfc8a,_0x1a422d,_0x3ffeb5){'use strict';_0x3ffeb5['r'](_0x1a422d),_0x3ffeb5['d'](_0x1a422d,_0x1a4e('0x3e8d'),function(){return _0x2ec86f;});var _0xad0df0,_0x4cac7d=_0x3ffeb5(_0x1a4e('0x38d0')),_0x28d670=_0x3ffeb5(_0x1a4e('0x4222')),_0x1c9121=_0x3ffeb5(_0x1a4e('0x4223')),_0x39fa18=_0x3ffeb5(_0x1a4e('0x4224')),_0x25651d=_0x3ffeb5(_0x1a4e('0x3f5f')),_0xfa14a6=(_0xad0df0=function(_0x5cfc8a,_0x1a422d){return(_0xad0df0=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5cfc8a,_0x1a422d){_0x5cfc8a['__proto__']=_0x1a422d;}||function(_0x5cfc8a,_0x1a422d){for(var _0x3ffeb5 in _0x1a422d)_0x1a422d[_0x1a4e('0xb')](_0x3ffeb5)&&(_0x5cfc8a[_0x3ffeb5]=_0x1a422d[_0x3ffeb5]);})(_0x5cfc8a,_0x1a422d);},function(_0x5cfc8a,_0x1a422d){function _0x3ffeb5(){this[_0x1a4e('0x10')]=_0x5cfc8a;}_0xad0df0(_0x5cfc8a,_0x1a422d),_0x5cfc8a['prototype']=null===_0x1a422d?Object[_0x1a4e('0x7')](_0x1a422d):(_0x3ffeb5[_0x1a4e('0xa')]=_0x1a422d['prototype'],new _0x3ffeb5());}),_0x2ec86f=function(_0x5cfc8a){function _0x1a422d(_0x1a422d){var _0x3ffeb5=_0x5cfc8a[_0x1a4e('0x1')](this,_0x1a422d)||this;return _0x3ffeb5[_0x1a4e('0x4225')](),_0x3ffeb5;}return _0xfa14a6(_0x1a422d,_0x5cfc8a),_0x1a422d[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x1a422d[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x1a422d,'type',{'get':function(){return _0x1a4e('0x3e8d');},'enumerable':!0x0,'configurable':!0x0}),_0x1a422d[_0x1a4e('0xa')][_0x1a4e('0x4226')]=function(){return _0x39fa18['PipeType']['PipeTurnThreeGraphic'];},_0x1a422d['prototype'][_0x1a4e('0x1fd')]=function(_0x1a422d){if(_0x5cfc8a[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x1a422d),this[_0x1a4e('0x4138')]){var _0x3ffeb5=new _0x1c9121[(_0x1a4e('0x4227'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x3ffeb5;};}},_0x1a422d[_0x1a4e('0xa')]['updateRenderPara']=function(_0x5cfc8a){var _0x1a422d=this[_0x1a4e('0x4137')][_0x1a4e('0x4228')];if(!(_0x1a422d['length']<0x2)){for(var _0x3ffeb5=this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')],_0xad0df0=[],_0x1c9121=this['_opt']['center'],_0x39fa18=0x0;_0x39fa18<_0x1a422d[_0x1a4e('0x1e')];_0x39fa18++)_0x1a422d[_0x39fa18][_0x1a4e('0x398c')]=_0x1c9121[_0x1a4e('0x398c')];var _0x25651d=_0x1a422d[0x0],_0xfa14a6=new Cesium[(_0x1a4e('0x3952'))](_0x25651d[_0x1a4e('0x1a1')]-_0x1c9121['lon'],_0x25651d[_0x1a4e('0x1a2')]-_0x1c9121['lat']);_0xfa14a6=Cesium[_0x1a4e('0x3952')][_0x1a4e('0x330')](_0xfa14a6,new Cesium[(_0x1a4e('0x3952'))]()),_0xad0df0[_0x1a4e('0x46')]({'index':0x0,'angle':0x0,'pt':_0x25651d,'centerPts':void 0x0,'centerTypes':void 0x0});for(var _0x2ec86f=0x1;_0x2ec86f<_0x1a422d[_0x1a4e('0x1e')];_0x2ec86f++){var _0x28197f=_0x1a422d[_0x2ec86f],_0x5774aa=new Cesium[(_0x1a4e('0x3952'))](_0x28197f[_0x1a4e('0x1a1')]-_0x1c9121['lon'],_0x28197f['lat']-_0x1c9121['lat']);_0x5774aa=Cesium[_0x1a4e('0x3952')][_0x1a4e('0x330')](_0x5774aa,new Cesium['Cartesian2']());var _0xcbbc7c=_0xfa14a6['x']*_0x5774aa['x']+_0xfa14a6['y']*_0x5774aa['y'];_0xcbbc7c>0x1&&(_0xcbbc7c=0x1),_0xcbbc7c<-0x1&&(_0xcbbc7c=-0x1);var _0x436b12=Math[_0x1a4e('0x92c')](_0xcbbc7c)*Cesium[_0x1a4e('0x1020')]['DEGREES_PER_RADIAN'];_0xfa14a6['x']*_0x5774aa['y']-_0x5774aa['x']*_0xfa14a6['y']<0x0&&(_0x436b12=0x168-_0x436b12),_0xad0df0[_0x1a4e('0x46')]({'index':_0x2ec86f,'angle':_0x436b12,'pt':_0x28197f,'centerPts':void 0x0});}_0xad0df0[_0x1a4e('0x89')](function(_0x5cfc8a,_0x1a422d){return _0x5cfc8a['angle']-_0x1a422d[_0x1a4e('0x502')];});for(var _0x52b860=0x1;_0x52b860<=_0xad0df0[_0x1a4e('0x1e')];_0x52b860++){var _0x31fc0a=_0x4cac7d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0xad0df0[_0x52b860-0x1]['pt']),_0x37de6a=_0x4cac7d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x1c9121),_0x269e0d=void 0x0;_0x269e0d=_0x52b860==_0xad0df0[_0x1a4e('0x1e')]?_0x4cac7d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0xad0df0[0x0]['pt']):_0x4cac7d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0xad0df0[_0x52b860]['pt']);var _0xc6478d=[],_0x59369a=[];if(_0x52b860==_0xad0df0[_0x1a4e('0x1e')]?_0xad0df0[_0x52b860-0x1]['angle']=0x168-_0xad0df0[_0x52b860-0x1]['angle']:_0xad0df0[_0x52b860-0x1]['angle']=_0xad0df0[_0x52b860][_0x1a4e('0x502')]-_0xad0df0[_0x52b860-0x1][_0x1a4e('0x502')],Math[_0x1a4e('0x65')](_0xad0df0[_0x52b860-0x1][_0x1a4e('0x502')]-0xb4)<0.01)_0xc6478d[_0x1a4e('0x46')](_0x31fc0a),_0x59369a[_0x1a4e('0x46')](!0x0),_0xc6478d['push'](_0x37de6a),_0x59369a['push'](!0x0),_0xc6478d[_0x1a4e('0x46')](_0x269e0d);else{void 0x0===_0x5cfc8a&&(_0x5cfc8a=0x2*_0x3ffeb5);var _0x5d18e8=_0x28d670[_0x1a4e('0x4229')][_0x1a4e('0x422a')](_0x31fc0a,_0x37de6a,_0x269e0d,_0x5cfc8a),_0x17b928=_0x28d670[_0x1a4e('0x4229')][_0x1a4e('0x422b')](_0x5d18e8[_0x1a4e('0x422c')],_0x37de6a,_0x5d18e8['nxtTangency'],_0x5d18e8['center']);_0xc6478d[_0x1a4e('0x46')](_0x31fc0a),_0x59369a[_0x1a4e('0x46')](!0x0);for(var _0x478921=0x0;_0x478921<_0x17b928['length'];_0x478921++)_0xc6478d[_0x1a4e('0x46')](_0x17b928[_0x478921][_0x1a4e('0x240')]()),_0x478921<_0x17b928[_0x1a4e('0x1e')]-0x1?_0x59369a[_0x1a4e('0x46')](!0x1):_0x59369a['push'](!0x0);_0xc6478d[_0x1a4e('0x46')](_0x269e0d);}_0xad0df0[_0x52b860-0x1][_0x1a4e('0x422d')]=_0xc6478d,_0xad0df0[_0x52b860-0x1][_0x1a4e('0x422e')]=_0x59369a;}for(var _0x540f2d=0x0;_0x540f2d<_0xad0df0[_0x1a4e('0x1e')];_0x540f2d++){var _0x1ef5df=void 0x0;_0x1ef5df=0x0==_0x540f2d?_0xad0df0[_0xad0df0[_0x1a4e('0x1e')]-0x1]:_0xad0df0[_0x540f2d-0x1];var _0x1d1fce=_0xad0df0[_0x540f2d];if(_0x1ef5df[_0x1a4e('0x502')]!=_0x1d1fce['angle']){_0x37de6a=_0x1d1fce[_0x1a4e('0x422d')][0x0];var _0x102c6e=_0x1ef5df[_0x1a4e('0x422d')][_0x1ef5df[_0x1a4e('0x422d')][_0x1a4e('0x1e')]-0x2],_0x19632f=_0x1d1fce[_0x1a4e('0x422d')][0x1],_0x39d06f=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x102c6e,_0x19632f,new Cesium[(_0x1a4e('0x393e'))]()),_0x25c050=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x37de6a,_0x19632f,new Cesium[(_0x1a4e('0x393e'))]());if(_0x39d06f['x']*_0x25c050['x']+_0x39d06f['y']*_0x25c050['y']+_0x39d06f['z']*_0x25c050['z']>0x0)_0x1d1fce[_0x1a4e('0x422d')][_0x1a4e('0x8a')](0x1,0x0,_0x102c6e['clone']()),_0x1d1fce['centerTypes'][_0x1a4e('0x8a')](0x1,0x0,!0x0);else{var _0xecd0f3=_0x1ef5df[_0x1a4e('0x422d')][_0x1a4e('0x76')]();_0x1ef5df[_0x1a4e('0x422d')][_0x1a4e('0x46')](_0x19632f[_0x1a4e('0x240')]()),_0x1ef5df['centerPts']['push'](_0xecd0f3),_0x1ef5df[_0x1a4e('0x422e')][_0x1a4e('0x46')](!0x0);}}}for(_0x39fa18=0x0;_0x39fa18<_0xad0df0[_0x1a4e('0x1e')];_0x39fa18++){for(var _0x3ea466=_0xad0df0[_0x39fa18][_0x1a4e('0x422d')],_0xd78204=_0xad0df0[_0x39fa18][_0x1a4e('0x422e')],_0x461bf6=[],_0x34ee27=0x0,_0x2731e1=0x0;_0x2731e1<_0x3ea466[_0x1a4e('0x1e')]-0x1;_0x2731e1++){var _0x611b92=_0x3ea466[_0x2731e1],_0x59511d=_0x3ea466[_0x2731e1+0x1],_0x471469=Cesium['Cartesian3'][_0x1a4e('0x1ed')](_0x611b92,_0x59511d);_0x461bf6['push'](_0x471469),!_0xd78204[_0x2731e1]&&_0x471469>_0x34ee27&&(_0x34ee27=_0x471469);}if(0x0==_0x34ee27){var _0x3b2255=0x5;for(_0x2731e1=_0xd78204[_0x1a4e('0x1e')]-0x2;_0x2731e1>0x0;_0x2731e1--){_0x611b92=_0x3ea466[_0x2731e1],_0x59511d=_0x3ea466[_0x2731e1+0x1];for(var _0x20afcc=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x59511d,_0x611b92,new Cesium['Cartesian3']()),0x1/(_0x3b2255+0x1),new Cesium[(_0x1a4e('0x393e'))]()),_0x40b19b=_0x3b2255;_0x40b19b>0x0;_0x40b19b--){var _0x36e591=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0x611b92,Cesium[_0x1a4e('0x393e')]['multiplyByScalar'](_0x20afcc,_0x40b19b,new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]());_0x3ea466[_0x1a4e('0x8a')](_0x2731e1+0x1,0x0,_0x36e591),_0xd78204['splice'](_0x2731e1+0x1,0x0,!0x0);}}}else for(_0x2731e1=_0xd78204[_0x1a4e('0x1e')]-0x2;_0x2731e1>0x0;_0x2731e1--)if(_0xd78204[_0x2731e1]&&_0x461bf6[_0x2731e1]>_0x34ee27){if((_0x3b2255=Math['ceil'](_0x461bf6[_0x2731e1]/_0x34ee27)-0x2)<=0x0)continue;for(_0x611b92=_0x3ea466[_0x2731e1],_0x59511d=_0x3ea466[_0x2731e1+0x1],_0x20afcc=Cesium['Cartesian3'][_0x1a4e('0x3c36')](Cesium['Cartesian3'][_0x1a4e('0x262')](_0x59511d,_0x611b92,new Cesium[(_0x1a4e('0x393e'))]()),0x1/(_0x3b2255+0x1),new Cesium[(_0x1a4e('0x393e'))]()),_0x40b19b=_0x3b2255;_0x40b19b>0x0;_0x40b19b--){_0x36e591=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0x611b92,Cesium['Cartesian3']['multiplyByScalar'](_0x20afcc,_0x40b19b,new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]());_0x3ea466[_0x1a4e('0x8a')](_0x2731e1+0x1,0x0,_0x36e591),_0xd78204[_0x1a4e('0x8a')](_0x2731e1+0x1,0x0,!0x0);}}}this[_0x1a4e('0x422f')]=_0xad0df0;}},_0x1a422d[_0x1a4e('0xa')][_0x1a4e('0x4230')]=function(){return this['_turnArray'];},_0x1a422d;}(_0x25651d[_0x1a4e('0x4231')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x2ec86f);},'./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipeTurnTwoGraphic.ts':function(_0x100d2e,_0x2ecd2c,_0x1478e5){'use strict';_0x1478e5['r'](_0x2ecd2c),_0x1478e5['d'](_0x2ecd2c,_0x1a4e('0x3e8c'),function(){return _0x34d3e2;});var _0x2cb967,_0x5a3387=_0x1478e5('./src/Utils/GeoPoint.ts'),_0x171571=_0x1478e5(_0x1a4e('0x4222')),_0x544104=_0x1478e5(_0x1a4e('0x4232')),_0x2550ae=_0x1478e5(_0x1a4e('0x4224')),_0x20abf8=_0x1478e5(_0x1a4e('0x3f5f')),_0x20906=(_0x2cb967=function(_0x100d2e,_0x2ecd2c){return(_0x2cb967=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x100d2e,_0x2ecd2c){_0x100d2e[_0x1a4e('0x295')]=_0x2ecd2c;}||function(_0x100d2e,_0x2ecd2c){for(var _0x1478e5 in _0x2ecd2c)_0x2ecd2c[_0x1a4e('0xb')](_0x1478e5)&&(_0x100d2e[_0x1478e5]=_0x2ecd2c[_0x1478e5]);})(_0x100d2e,_0x2ecd2c);},function(_0x100d2e,_0x2ecd2c){function _0x1478e5(){this['constructor']=_0x100d2e;}_0x2cb967(_0x100d2e,_0x2ecd2c),_0x100d2e[_0x1a4e('0xa')]=null===_0x2ecd2c?Object[_0x1a4e('0x7')](_0x2ecd2c):(_0x1478e5['prototype']=_0x2ecd2c[_0x1a4e('0xa')],new _0x1478e5());}),_0x34d3e2=function(_0x100d2e){function _0x2ecd2c(_0x2ecd2c){var _0x1478e5=_0x100d2e[_0x1a4e('0x1')](this,_0x2ecd2c)||this;return _0x1478e5[_0x1a4e('0x4225')](),_0x1478e5;}return _0x20906(_0x2ecd2c,_0x100d2e),_0x2ecd2c[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x2ecd2c[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x2ecd2c,'type',{'get':function(){return'PipeTurnTwoGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0x2ecd2c[_0x1a4e('0xa')]['PipeType']=function(){return _0x2550ae['PipeType']['PipeTurnTwoGraphic'];},_0x2ecd2c[_0x1a4e('0xa')]['init']=function(_0x2ecd2c){if(_0x100d2e[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x2ecd2c),this[_0x1a4e('0x4138')]){var _0x1478e5=new _0x544104[(_0x1a4e('0x4233'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x1478e5;};}},_0x2ecd2c[_0x1a4e('0xa')][_0x1a4e('0x4225')]=function(_0x100d2e){var _0x2ecd2c=this[_0x1a4e('0x4137')][_0x1a4e('0x4228')];if(!(_0x2ecd2c['length']<0x2)){var _0x1478e5=this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')],_0x2cb967=[],_0x544104=_0x5a3387[_0x1a4e('0x38da')][_0x1a4e('0x240')](_0x2ecd2c[0x0]);_0x544104[_0x1a4e('0x398c')]=this[_0x1a4e('0x4137')][_0x1a4e('0x111')]['alt'];var _0x2550ae=_0x5a3387[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x544104),_0x20abf8=_0x5a3387[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x4137')][_0x1a4e('0x111')]),_0x20906=_0x5a3387[_0x1a4e('0x38da')][_0x1a4e('0x240')](_0x2ecd2c[0x1]);_0x20906['alt']=this[_0x1a4e('0x4137')][_0x1a4e('0x111')][_0x1a4e('0x398c')];var _0x34d3e2=_0x5a3387['GeoPoint']['toCartesian3'](_0x20906);void 0x0===_0x100d2e&&(_0x100d2e=0x2*_0x1478e5);var _0x325276=_0x171571[_0x1a4e('0x4229')][_0x1a4e('0x422a')](_0x2550ae,_0x20abf8,_0x34d3e2,_0x100d2e),_0x265721=_0x171571[_0x1a4e('0x4229')][_0x1a4e('0x422b')](_0x325276[_0x1a4e('0x422c')],_0x20abf8,_0x325276[_0x1a4e('0x4234')],_0x325276[_0x1a4e('0x111')]);_0x2cb967[_0x1a4e('0x46')](_0x2550ae);for(var _0x406c9b=0x0;_0x406c9b<_0x265721[_0x1a4e('0x1e')];_0x406c9b++)_0x2cb967['push'](_0x265721[_0x406c9b][_0x1a4e('0x240')]());_0x2cb967['push'](_0x34d3e2),this['_centerPts']=_0x2cb967;}},_0x2ecd2c[_0x1a4e('0xa')]['getCenterPts']=function(){return this[_0x1a4e('0x4235')];},_0x2ecd2c;}(_0x20abf8[_0x1a4e('0x4231')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x34d3e2);},'./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineBaseGraphic.ts':function(_0x42bc10,_0x41d351,_0x13c907){'use strict';_0x13c907['r'](_0x41d351),_0x13c907['d'](_0x41d351,_0x1a4e('0x4236'),function(){return _0x41d29a;}),_0x13c907['d'](_0x41d351,_0x1a4e('0x4237'),function(){return _0xf6d3b2;}),_0x13c907['d'](_0x41d351,_0x1a4e('0x4226'),function(){return _0x28408e;});var _0x494975,_0x28408e,_0x448842=_0x13c907(_0x1a4e('0x3e0b')),_0x16457c=(_0x494975=function(_0x42bc10,_0x41d351){return(_0x494975=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x42bc10,_0x41d351){_0x42bc10[_0x1a4e('0x295')]=_0x41d351;}||function(_0x42bc10,_0x41d351){for(var _0x13c907 in _0x41d351)_0x41d351[_0x1a4e('0xb')](_0x13c907)&&(_0x42bc10[_0x13c907]=_0x41d351[_0x13c907]);})(_0x42bc10,_0x41d351);},function(_0x42bc10,_0x41d351){function _0x13c907(){this[_0x1a4e('0x10')]=_0x42bc10;}_0x494975(_0x42bc10,_0x41d351),_0x42bc10[_0x1a4e('0xa')]=null===_0x41d351?Object['create'](_0x41d351):(_0x13c907[_0x1a4e('0xa')]=_0x41d351[_0x1a4e('0xa')],new _0x13c907());}),_0x41d29a=function(_0x42bc10){function _0x41d351(_0x41d351){var _0x13c907=_0x42bc10[_0x1a4e('0x1')](this,_0x41d351)||this;return _0x13c907['_opt']=new _0xf6d3b2(),_0x13c907[_0x1a4e('0x3acc')](_0x41d351),_0x13c907;}return _0x16457c(_0x41d351,_0x42bc10),_0x41d351[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x41d351){_0x42bc10[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x41d351),this['father']['getRoot']()[_0x1a4e('0x4238')]()['add'](this);},_0x41d351['prototype'][_0x1a4e('0x4226')]=function(){return _0x28408e['PipeBase'];},_0x41d351[_0x1a4e('0xa')]['getCenterLine']=function(){},_0x41d351['prototype'][_0x1a4e('0x4239')]=function(){this[_0x1a4e('0x3dda')](_0x1a4e('0x937'));},Object[_0x1a4e('0x2')](_0x41d351[_0x1a4e('0xa')],_0x1a4e('0x423a'),{'get':function(){return this['_rectangle'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x41d351['prototype'],'image',{'get':function(){return this['_opt'][_0x1a4e('0x3cb4')];},'set':function(_0x42bc10){this[_0x1a4e('0x4137')][_0x1a4e('0x3cb4')]=_0x42bc10,this[_0x1a4e('0x3dda')](_0x1a4e('0x3cb4'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x41d351[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x42bc10){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x42bc10,this[_0x1a4e('0x3dda')](_0x1a4e('0x134'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x41d351[_0x1a4e('0xa')],_0x1a4e('0x423b'),{'get':function(){return this[_0x1a4e('0x4137')]['showOutline'];},'set':function(_0x42bc10){this[_0x1a4e('0x4137')][_0x1a4e('0x423b')]=_0x42bc10,this[_0x1a4e('0x3dda')](_0x1a4e('0x423b'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x41d351[_0x1a4e('0xa')],'outlineColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x409f')];},'set':function(_0x42bc10){this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]=_0x42bc10,this[_0x1a4e('0x3dda')](_0x1a4e('0x409f'));},'enumerable':!0x0,'configurable':!0x0}),_0x41d351[_0x1a4e('0xa')][_0x1a4e('0x423c')]=function(_0x42bc10){if(void 0x0!==_0x42bc10&&0x0!=_0x42bc10[_0x1a4e('0x1e')]){for(var _0x41d351=_0x42bc10[0x0],_0x13c907=_0x41d351[_0x1a4e('0x1a1')],_0x494975=_0x41d351[_0x1a4e('0x1a1')],_0x28408e=_0x41d351[_0x1a4e('0x1a2')],_0x448842=_0x41d351[_0x1a4e('0x1a2')],_0x16457c=0x1;_0x16457c<_0x42bc10['length'];_0x16457c++)(_0x41d351=_0x42bc10[_0x16457c])['lon']<_0x13c907&&(_0x13c907=_0x41d351[_0x1a4e('0x1a1')]),_0x41d351['lon']>_0x494975&&(_0x494975=_0x41d351[_0x1a4e('0x1a1')]),_0x41d351[_0x1a4e('0x1a2')]<_0x448842&&(_0x448842=_0x41d351[_0x1a4e('0x1a2')]),_0x41d351[_0x1a4e('0x1a2')]>_0x28408e&&(_0x28408e=_0x41d351['lat']);this[_0x1a4e('0x4116')]=new Cesium[(_0x1a4e('0x3965'))](_0x13c907,_0x448842,_0x494975,_0x28408e);}},_0x41d351;}(_0x448842[_0x1a4e('0x3ae2')]),_0xf6d3b2=function(_0x42bc10){function _0x41d351(){var _0x41d351=null!==_0x42bc10&&_0x42bc10[_0x1a4e('0x8b')](this,arguments)||this;return _0x41d351['image']=void 0x0,_0x41d351[_0x1a4e('0x134')]=_0x1a4e('0x38d4'),_0x41d351[_0x1a4e('0x423b')]=!0x0,_0x41d351[_0x1a4e('0x409f')]=_0x1a4e('0x393b'),_0x41d351;}return _0x16457c(_0x41d351,_0x42bc10),_0x41d351;}(_0x448842[_0x1a4e('0x4143')]);!function(_0x42bc10){_0x42bc10[_0x42bc10['PipeBase']=0x1]=_0x1a4e('0x423d'),_0x42bc10[_0x42bc10[_0x1a4e('0x3e36')]=0x2]=_0x1a4e('0x3e36'),_0x42bc10[_0x42bc10[_0x1a4e('0x4231')]=0x3]=_0x1a4e('0x4231'),_0x42bc10[_0x42bc10[_0x1a4e('0x3e8c')]=0x4]=_0x1a4e('0x3e8c'),_0x42bc10[_0x42bc10[_0x1a4e('0x3e8d')]=0x5]=_0x1a4e('0x3e8d'),_0x42bc10[_0x42bc10['PipelineGraphic']=0x64]=_0x1a4e('0x3e35');}(_0x28408e||(_0x28408e={}));},'./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineGraphic.ts':function(_0x6e5557,_0x5ca9c8,_0x1e8792){'use strict';_0x1e8792['r'](_0x5ca9c8),_0x1e8792['d'](_0x5ca9c8,'PipelineGraphic',function(){return _0x265831;}),_0x1e8792['d'](_0x5ca9c8,_0x1a4e('0x423e'),function(){return _0x1fae29;}),_0x1e8792['d'](_0x5ca9c8,_0x1a4e('0x3fe7'),function(){return _0x260492;});var _0x533081,_0x1fae29,_0x35287b=_0x1e8792(_0x1a4e('0x38d0')),_0x23cc27=_0x1e8792('./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipelineRender.ts'),_0x58f129=_0x1e8792('./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipeMath.ts'),_0x224823=_0x1e8792('./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineBaseGraphic.ts'),_0x953a7a=(_0x533081=function(_0x6e5557,_0x5ca9c8){return(_0x533081=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x6e5557,_0x5ca9c8){_0x6e5557['__proto__']=_0x5ca9c8;}||function(_0x6e5557,_0x5ca9c8){for(var _0x1e8792 in _0x5ca9c8)_0x5ca9c8[_0x1a4e('0xb')](_0x1e8792)&&(_0x6e5557[_0x1e8792]=_0x5ca9c8[_0x1e8792]);})(_0x6e5557,_0x5ca9c8);},function(_0x6e5557,_0x5ca9c8){function _0x1e8792(){this[_0x1a4e('0x10')]=_0x6e5557;}_0x533081(_0x6e5557,_0x5ca9c8),_0x6e5557['prototype']=null===_0x5ca9c8?Object[_0x1a4e('0x7')](_0x5ca9c8):(_0x1e8792[_0x1a4e('0xa')]=_0x5ca9c8[_0x1a4e('0xa')],new _0x1e8792());}),_0x265831=function(_0x6e5557){function _0x5ca9c8(_0x5ca9c8){var _0x1e8792=_0x6e5557[_0x1a4e('0x1')](this,_0x5ca9c8)||this;return _0x1e8792['_type']=_0x1a4e('0x3e35'),_0x1e8792[_0x1a4e('0x4137')]=new _0x260492(),_0x1e8792['parseJson'](_0x5ca9c8),_0x1e8792['updateBounding'](_0x1e8792[_0x1a4e('0x4137')][_0x1a4e('0x398a')]),_0x1e8792['updateRenderPara'](),_0x1e8792;}return _0x953a7a(_0x5ca9c8,_0x6e5557),_0x5ca9c8['prototype']['getType']=function(){return _0x5ca9c8[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x5ca9c8,'type',{'get':function(){return'PipelineGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0x5ca9c8['prototype'][_0x1a4e('0x4226')]=function(){return _0x224823[_0x1a4e('0x4226')]['PipelineGraphic'];},_0x5ca9c8[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x5ca9c8){if(_0x6e5557[_0x1a4e('0xa')]['init'][_0x1a4e('0x1')](this,_0x5ca9c8),this['father']){var _0x1e8792=new _0x23cc27['PipelineRender'](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x1e8792;};}},Object['defineProperty'](_0x5ca9c8[_0x1a4e('0xa')],'positions',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x398a')];},'set':function(_0x6e5557){this[_0x1a4e('0x4137')]['positions']=_0x6e5557,this[_0x1a4e('0x423c')](this[_0x1a4e('0x4137')]['positions']),this[_0x1a4e('0x4225')](),this[_0x1a4e('0x3dda')](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5ca9c8[_0x1a4e('0xa')],'radius',{'get':function(){return this['_opt'][_0x1a4e('0x3b5d')];},'set':function(_0x6e5557){this['_opt']['radius']=_0x6e5557,this['updateBounding'](this[_0x1a4e('0x4137')]['positions']),this[_0x1a4e('0x4225')](),this['updateAttribute']('radius');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ca9c8['prototype'],'shape',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x423f')];},'set':function(_0x6e5557){this[_0x1a4e('0x4137')]['shape']=_0x6e5557,this[_0x1a4e('0x3dda')]('shape');},'enumerable':!0x0,'configurable':!0x0}),_0x5ca9c8[_0x1a4e('0xa')]['updateRenderPara']=function(_0x6e5557){var _0x5ca9c8=this[_0x1a4e('0x4137')][_0x1a4e('0x398a')];if(!(_0x5ca9c8['length']<0x2)){var _0x1e8792=this[_0x1a4e('0x4137')]['radius'],_0x533081=[],_0x1fae29=[],_0x23cc27=[],_0x224823=_0x35287b['GeoPoint'][_0x1a4e('0x3949')](_0x5ca9c8[0x0]);if(_0x533081[_0x1a4e('0x46')](_0x224823),_0x23cc27[_0x1a4e('0x46')](_0x224823[_0x1a4e('0x240')]()),0x2==_0x5ca9c8[_0x1a4e('0x1e')]){var _0x953a7a=_0x35287b['GeoPoint']['toCartesian3'](_0x5ca9c8[0x1]);_0x533081['push'](_0x953a7a),_0x23cc27[_0x1a4e('0x46')](_0x953a7a['clone']());}else for(var _0x265831=0x1;_0x265831<_0x5ca9c8[_0x1a4e('0x1e')]-0x1;_0x265831++){_0x953a7a=_0x35287b[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x5ca9c8[_0x265831]);var _0x14a9ca=_0x35287b['GeoPoint'][_0x1a4e('0x3949')](_0x5ca9c8[_0x265831+0x1]);void 0x0===_0x6e5557&&(_0x6e5557=0x2*_0x1e8792);for(var _0x187322=_0x58f129[_0x1a4e('0x4229')][_0x1a4e('0x422a')](_0x224823,_0x953a7a,_0x14a9ca,_0x6e5557),_0x6b9b6c=_0x58f129[_0x1a4e('0x4229')]['getCornerCenterLine'](_0x187322[_0x1a4e('0x422c')],_0x953a7a,_0x187322[_0x1a4e('0x4234')],_0x187322[_0x1a4e('0x111')]),_0x54e56f=0x0;_0x54e56f<_0x6b9b6c['length'];_0x54e56f++)_0x23cc27[_0x1a4e('0x46')](_0x6b9b6c[_0x54e56f][_0x1a4e('0x240')]());_0x533081[_0x1a4e('0x46')](_0x187322[_0x1a4e('0x422c')]),_0x533081[_0x1a4e('0x46')](_0x187322['nxtTangency']),_0x265831==_0x5ca9c8[_0x1a4e('0x1e')]-0x2&&(_0x533081['push'](_0x14a9ca),_0x23cc27[_0x1a4e('0x46')](_0x14a9ca[_0x1a4e('0x240')]()));var _0x173e80={'pos':_0x953a7a,'center':_0x187322['center'],'radius':_0x6e5557,'pre':_0x187322[_0x1a4e('0x422c')],'nxt':_0x187322[_0x1a4e('0x4234')],'arc':_0x6b9b6c};_0x1fae29[_0x1a4e('0x46')](_0x173e80),_0x224823=_0x953a7a;}this[_0x1a4e('0x4240')]={'lineSeg':_0x533081,'cornerSeg':_0x1fae29,'centerPts':_0x23cc27};}},_0x5ca9c8['prototype'][_0x1a4e('0x4241')]=function(){return this[_0x1a4e('0x4240')];},_0x5ca9c8[_0x1a4e('0xa')]['getCenterLine']=function(){if(this[_0x1a4e('0x4240')]){for(var _0x6e5557=this[_0x1a4e('0x4240')][_0x1a4e('0x422d')],_0x5ca9c8=[],_0x1e8792=0x0;_0x1e8792<_0x6e5557['length'];_0x1e8792++)_0x5ca9c8['push'](_0x35287b[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x6e5557[_0x1e8792]));return _0x5ca9c8;}},_0x5ca9c8;}(_0x224823[_0x1a4e('0x4236')]);!function(_0x6e5557){_0x6e5557[_0x1a4e('0x4242')]=_0x1a4e('0x125'),_0x6e5557[_0x1a4e('0x4243')]=_0x1a4e('0x4244'),_0x6e5557['RoundRect']=_0x1a4e('0x4245');}(_0x1fae29||(_0x1fae29={}));var _0x260492=function(_0x6e5557){function _0x5ca9c8(){var _0x5ca9c8=null!==_0x6e5557&&_0x6e5557[_0x1a4e('0x8b')](this,arguments)||this;return _0x5ca9c8[_0x1a4e('0x3b5d')]=0xa,_0x5ca9c8['shape']=_0x1fae29['Circle'],_0x5ca9c8;}return _0x953a7a(_0x5ca9c8,_0x6e5557),_0x5ca9c8;}(_0x224823['PipelineBaseGraphicOpt']);window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x265831);},'./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineStripGraphic.ts':function(_0x9fec23,_0x1d94e9,_0x444f08){'use strict';_0x444f08['r'](_0x1d94e9),_0x444f08['d'](_0x1d94e9,_0x1a4e('0x3e36'),function(){return _0xa225e1;});var _0x49fe24,_0x3ad03e=_0x444f08('./src/Utils/GeoPoint.ts'),_0x312567=_0x444f08(_0x1a4e('0x4246')),_0x3f4bc4=_0x444f08(_0x1a4e('0x4222')),_0x43224f=_0x444f08('./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineBaseGraphic.ts'),_0x550b62=_0x444f08('./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineGraphic.ts'),_0xe4a286=(_0x49fe24=function(_0x9fec23,_0x1d94e9){return(_0x49fe24=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x9fec23,_0x1d94e9){_0x9fec23[_0x1a4e('0x295')]=_0x1d94e9;}||function(_0x9fec23,_0x1d94e9){for(var _0x444f08 in _0x1d94e9)_0x1d94e9[_0x1a4e('0xb')](_0x444f08)&&(_0x9fec23[_0x444f08]=_0x1d94e9[_0x444f08]);})(_0x9fec23,_0x1d94e9);},function(_0x9fec23,_0x1d94e9){function _0x444f08(){this[_0x1a4e('0x10')]=_0x9fec23;}_0x49fe24(_0x9fec23,_0x1d94e9),_0x9fec23[_0x1a4e('0xa')]=null===_0x1d94e9?Object['create'](_0x1d94e9):(_0x444f08['prototype']=_0x1d94e9[_0x1a4e('0xa')],new _0x444f08());}),_0xa225e1=function(_0x9fec23){function _0x1d94e9(_0x1d94e9){var _0x444f08=_0x9fec23['call'](this,_0x1d94e9)||this;return _0x444f08[_0x1a4e('0x39d5')]='PipelineStripGraphic',_0x444f08[_0x1a4e('0x4137')]=new _0x550b62[(_0x1a4e('0x3fe7'))](),_0x444f08[_0x1a4e('0x3acc')](_0x1d94e9),_0x444f08[_0x1a4e('0x423c')](_0x444f08['_opt'][_0x1a4e('0x398a')]),_0x444f08['updateRenderPara'](),_0x444f08;}return _0xe4a286(_0x1d94e9,_0x9fec23),_0x1d94e9[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x1d94e9['type'];},Object[_0x1a4e('0x2')](_0x1d94e9,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e36');},'enumerable':!0x0,'configurable':!0x0}),_0x1d94e9[_0x1a4e('0xa')][_0x1a4e('0x4226')]=function(){return _0x43224f[_0x1a4e('0x4226')]['PipelineStripGraphic'];},_0x1d94e9[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x1d94e9){if(_0x9fec23[_0x1a4e('0xa')]['init'][_0x1a4e('0x1')](this,_0x1d94e9),this[_0x1a4e('0x4138')]){var _0x444f08=new _0x312567[(_0x1a4e('0x4247'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0x444f08;};}},Object[_0x1a4e('0x2')](_0x1d94e9[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return this['_opt'][_0x1a4e('0x398a')];},'set':function(_0x9fec23){this[_0x1a4e('0x4137')][_0x1a4e('0x398a')]=_0x9fec23,this[_0x1a4e('0x423c')](this[_0x1a4e('0x4137')][_0x1a4e('0x398a')]),this[_0x1a4e('0x4225')](),this[_0x1a4e('0x3dda')](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d94e9[_0x1a4e('0xa')],'radius',{'get':function(){return this[_0x1a4e('0x4137')]['radius'];},'set':function(_0x9fec23){this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')]=_0x9fec23,this[_0x1a4e('0x4225')](),this[_0x1a4e('0x3dda')](_0x1a4e('0x3b5d'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d94e9['prototype'],_0x1a4e('0x423f'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x423f')];},'set':function(_0x9fec23){this[_0x1a4e('0x4137')][_0x1a4e('0x423f')]=_0x9fec23,this[_0x1a4e('0x3dda')]('shape');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d94e9[_0x1a4e('0xa')],'headTopoNode',{'get':function(){return this[_0x1a4e('0x4248')];},'set':function(_0x9fec23){this[_0x1a4e('0x4248')]=_0x9fec23;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d94e9[_0x1a4e('0xa')],_0x1a4e('0x4249'),{'get':function(){return this[_0x1a4e('0x424a')];},'set':function(_0x9fec23){this[_0x1a4e('0x424a')]=_0x9fec23;},'enumerable':!0x0,'configurable':!0x0}),_0x1d94e9['prototype'][_0x1a4e('0x4225')]=function(_0x9fec23){var _0x1d94e9=this['_opt']['positions'];if(!(_0x1d94e9[_0x1a4e('0x1e')]<0x2)){var _0x444f08=this[_0x1a4e('0x4137')]['radius'],_0x49fe24=[],_0x312567=[],_0x43224f=[],_0x550b62=_0x3ad03e['GeoPoint']['toCartesian3'](_0x1d94e9[0x0]);if(_0x43224f[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')]['clone'](_0x1d94e9[0x0])),_0x49fe24[_0x1a4e('0x46')](_0x550b62[_0x1a4e('0x240')]()),_0x312567[_0x1a4e('0x46')](!0x0),0x2==_0x1d94e9[_0x1a4e('0x1e')]){var _0xe4a286=_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x1d94e9[0x1]);_0x43224f[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x240')](_0x1d94e9[0x1])),_0x49fe24['push'](_0xe4a286[_0x1a4e('0x240')]());}else for(var _0xa225e1=0x1;_0xa225e1<_0x1d94e9['length']-0x1;_0xa225e1++){_0xe4a286=_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x1d94e9[_0xa225e1]);var _0x10ddc4=_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x1d94e9[_0xa225e1+0x1]);void 0x0===_0x9fec23&&(_0x9fec23=0x2*_0x444f08);for(var _0x127d79=_0x3f4bc4[_0x1a4e('0x4229')]['getRoundParas'](_0x550b62,_0xe4a286,_0x10ddc4,_0x9fec23),_0x29087d=_0x3f4bc4[_0x1a4e('0x4229')]['getCornerCenterLine'](_0x127d79[_0x1a4e('0x422c')],_0xe4a286,_0x127d79[_0x1a4e('0x4234')],_0x127d79[_0x1a4e('0x111')]),_0x4ad289=0x0;_0x4ad289<_0x29087d[_0x1a4e('0x1e')];_0x4ad289++)_0x43224f[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x29087d[_0x4ad289])),_0x49fe24[_0x1a4e('0x46')](_0x29087d[_0x4ad289][_0x1a4e('0x240')]()),_0x4ad289<_0x29087d[_0x1a4e('0x1e')]-0x1?_0x312567[_0x1a4e('0x46')](!0x1):_0x312567[_0x1a4e('0x46')](!0x0);_0xa225e1==_0x1d94e9[_0x1a4e('0x1e')]-0x2&&(_0x43224f[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x240')](_0x1d94e9[_0xa225e1+0x1])),_0x49fe24['push'](_0x10ddc4[_0x1a4e('0x240')]())),_0x550b62=_0xe4a286;}this[_0x1a4e('0x4240')]={'geos':_0x43224f,'pts':_0x49fe24,'types':_0x312567};}},_0x1d94e9['prototype'][_0x1a4e('0x3e5f')]=function(){var _0x9fec23=[],_0x1d94e9=this['_opt'][_0x1a4e('0x398a')][_0x1a4e('0x1e')];null!=this['_headTopoNode']?_0x9fec23[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x240')](this[_0x1a4e('0x4248')][_0x1a4e('0x424b')])):_0x9fec23[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x240')](this['_opt'][_0x1a4e('0x398a')][0x0]));for(var _0x444f08=0x1;_0x444f08<_0x1d94e9-0x1;_0x444f08++)_0x9fec23[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')]['clone'](this[_0x1a4e('0x4137')][_0x1a4e('0x398a')][_0x444f08]));return null!=this[_0x1a4e('0x424a')]?_0x9fec23[_0x1a4e('0x46')](_0x3ad03e['GeoPoint'][_0x1a4e('0x240')](this[_0x1a4e('0x424a')][_0x1a4e('0x424b')])):_0x9fec23[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x240')](this[_0x1a4e('0x4137')][_0x1a4e('0x398a')][_0x1d94e9-0x1])),_0x9fec23;},_0x1d94e9['prototype'][_0x1a4e('0x424c')]=function(){return this['_renderPara'];},_0x1d94e9['prototype'][_0x1a4e('0x424d')]=function(){if(this[_0x1a4e('0x4240')]){var _0x9fec23=this['_renderPara'][_0x1a4e('0x5f4')],_0x1d94e9=[];this[_0x1a4e('0x4248')]&&_0x1d94e9[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this['_headTopoNode'][_0x1a4e('0x424b')]));for(var _0x444f08=0x0;_0x444f08<_0x9fec23[_0x1a4e('0x1e')];_0x444f08++)_0x1d94e9[_0x1a4e('0x46')](_0x9fec23[_0x444f08][_0x1a4e('0x240')]());return this[_0x1a4e('0x424a')]&&_0x1d94e9[_0x1a4e('0x46')](_0x3ad03e[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x424a')][_0x1a4e('0x424b')])),_0x1d94e9;}},_0x1d94e9[_0x1a4e('0xa')]['updateRender']=function(){this['updateBounding'](this['_opt'][_0x1a4e('0x398a')]),this[_0x1a4e('0x4225')](),_0x9fec23[_0x1a4e('0xa')][_0x1a4e('0x4239')][_0x1a4e('0x1')](this);},_0x1d94e9;}(_0x43224f[_0x1a4e('0x4236')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0xa225e1);},'./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineTurnGraphic.ts':function(_0x23017d,_0x4659f3,_0x48eff2){'use strict';_0x48eff2['r'](_0x4659f3),_0x48eff2['d'](_0x4659f3,_0x1a4e('0x4231'),function(){return _0x4e5c15;}),_0x48eff2['d'](_0x4659f3,'PipelineTurnGraphicOpt',function(){return _0x5d128e;});var _0x22f118,_0x3052a6=_0x48eff2(_0x1a4e('0x4224')),_0x368713=_0x48eff2(_0x1a4e('0x3f5e')),_0x12b055=(_0x22f118=function(_0x23017d,_0x4659f3){return(_0x22f118=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x23017d,_0x4659f3){_0x23017d[_0x1a4e('0x295')]=_0x4659f3;}||function(_0x23017d,_0x4659f3){for(var _0x48eff2 in _0x4659f3)_0x4659f3[_0x1a4e('0xb')](_0x48eff2)&&(_0x23017d[_0x48eff2]=_0x4659f3[_0x48eff2]);})(_0x23017d,_0x4659f3);},function(_0x23017d,_0x4659f3){function _0x48eff2(){this[_0x1a4e('0x10')]=_0x23017d;}_0x22f118(_0x23017d,_0x4659f3),_0x23017d['prototype']=null===_0x4659f3?Object['create'](_0x4659f3):(_0x48eff2[_0x1a4e('0xa')]=_0x4659f3[_0x1a4e('0xa')],new _0x48eff2());}),_0x4e5c15=function(_0x23017d){function _0x4659f3(_0x4659f3){var _0x48eff2=_0x23017d[_0x1a4e('0x1')](this,_0x4659f3)||this;return _0x48eff2[_0x1a4e('0x4137')]=new _0x5d128e(),_0x48eff2[_0x1a4e('0x3acc')](_0x4659f3),_0x48eff2;}return _0x12b055(_0x4659f3,_0x23017d),_0x4659f3[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4659f3[_0x1a4e('0x40')];},Object['defineProperty'](_0x4659f3,'type',{'get':function(){return _0x1a4e('0x4231');},'enumerable':!0x0,'configurable':!0x0}),_0x4659f3[_0x1a4e('0xa')]['PipeType']=function(){return _0x3052a6[_0x1a4e('0x4226')][_0x1a4e('0x4231')];},_0x4659f3[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4659f3){_0x23017d[_0x1a4e('0xa')]['init'][_0x1a4e('0x1')](this,_0x4659f3);},Object[_0x1a4e('0x2')](_0x4659f3['prototype'],_0x1a4e('0x3553'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x111')];},'set':function(_0x23017d){this[_0x1a4e('0x111')]=_0x23017d;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4659f3[_0x1a4e('0xa')],'center',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x111')];},'set':function(_0x23017d){this[_0x1a4e('0x4137')][_0x1a4e('0x111')]=_0x23017d,this[_0x1a4e('0x4225')](),this[_0x1a4e('0x3dda')](_0x1a4e('0x111'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4659f3['prototype'],_0x1a4e('0x3b5d'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')];},'set':function(_0x23017d){this[_0x1a4e('0x4137')]['radius']=_0x23017d,this['updateRenderPara'](),this[_0x1a4e('0x3dda')](_0x1a4e('0x3b5d'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4659f3[_0x1a4e('0xa')],_0x1a4e('0x423f'),{'get':function(){return this['_opt'][_0x1a4e('0x423f')];},'set':function(_0x23017d){this[_0x1a4e('0x4137')][_0x1a4e('0x423f')]=_0x23017d,this['updateAttribute'](_0x1a4e('0x423f'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4659f3[_0x1a4e('0xa')],_0x1a4e('0x4228'),{'get':function(){return this[_0x1a4e('0x4137')]['directions'];},'set':function(_0x23017d){this[_0x1a4e('0x4137')][_0x1a4e('0x4228')]=_0x23017d,this[_0x1a4e('0x4225')](),this['updateAttribute']('directions');},'enumerable':!0x0,'configurable':!0x0}),_0x4659f3[_0x1a4e('0xa')][_0x1a4e('0x4225')]=function(_0x23017d){},_0x4659f3;}(_0x3052a6[_0x1a4e('0x4236')]),_0x5d128e=function(_0x23017d){function _0x4659f3(){var _0x4659f3=null!==_0x23017d&&_0x23017d[_0x1a4e('0x8b')](this,arguments)||this;return _0x4659f3['shape']=_0x368713[_0x1a4e('0x423e')]['Circle'],_0x4659f3;}return _0x12b055(_0x4659f3,_0x23017d),_0x4659f3;}(_0x3052a6[_0x1a4e('0x4237')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x5d128e);},'./src/LayerManager/GraphicLayer/GraphicItem/PointGraphic.ts':function(_0x28d131,_0x3fe216,_0x7552e6){'use strict';_0x7552e6['r'](_0x3fe216),_0x7552e6['d'](_0x3fe216,_0x1a4e('0x3984'),function(){return _0x116717;}),_0x7552e6['d'](_0x3fe216,_0x1a4e('0x424e'),function(){return _0x2b5f4d;});var _0x5a6e3e,_0xa561fc=_0x7552e6(_0x1a4e('0x424f')),_0x485ace=_0x7552e6(_0x1a4e('0x4136')),_0x5761d8=(_0x5a6e3e=function(_0x28d131,_0x3fe216){return(_0x5a6e3e=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x28d131,_0x3fe216){_0x28d131['__proto__']=_0x3fe216;}||function(_0x28d131,_0x3fe216){for(var _0x7552e6 in _0x3fe216)_0x3fe216[_0x1a4e('0xb')](_0x7552e6)&&(_0x28d131[_0x7552e6]=_0x3fe216[_0x7552e6]);})(_0x28d131,_0x3fe216);},function(_0x28d131,_0x3fe216){function _0x7552e6(){this[_0x1a4e('0x10')]=_0x28d131;}_0x5a6e3e(_0x28d131,_0x3fe216),_0x28d131[_0x1a4e('0xa')]=null===_0x3fe216?Object[_0x1a4e('0x7')](_0x3fe216):(_0x7552e6[_0x1a4e('0xa')]=_0x3fe216[_0x1a4e('0xa')],new _0x7552e6());}),_0x116717=function(_0x28d131){function _0x3fe216(_0x3fe216){var _0x7552e6=_0x28d131[_0x1a4e('0x1')](this,_0x3fe216)||this;return _0x7552e6[_0x1a4e('0x4137')]=new _0x2b5f4d(),_0x7552e6[_0x1a4e('0x3acc')](_0x3fe216),_0x7552e6;}return _0x5761d8(_0x3fe216,_0x28d131),_0x3fe216['prototype']['init']=function(_0x3fe216){if(_0x28d131['prototype'][_0x1a4e('0x1fd')]['call'](this,_0x3fe216),this[_0x1a4e('0x4138')]){var _0x7552e6=new _0xa561fc['CesiumPoint'](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0x7552e6;};}},_0x3fe216[_0x1a4e('0xa')]['getType']=function(){return _0x3fe216['type'];},Object[_0x1a4e('0x2')](_0x3fe216,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3984');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fe216[_0x1a4e('0xa')],'pixelSize',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3efe')];},'set':function(_0x28d131){this[_0x1a4e('0x4137')]['pixelSize']!==_0x28d131&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3efe')]=_0x28d131,this[_0x1a4e('0x3dda')](_0x1a4e('0x3efe')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fe216[_0x1a4e('0xa')],'color',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x28d131){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]!==_0x28d131&&(this['_opt'][_0x1a4e('0x134')]=_0x28d131,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fe216[_0x1a4e('0xa')],'outlineColor',{'get':function(){return this[_0x1a4e('0x4137')]['outlineColor'];},'set':function(_0x28d131){this[_0x1a4e('0x4137')]['outlineColor']!==_0x28d131&&(this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]=_0x28d131,this['updateAttribute'](_0x1a4e('0x409f')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fe216['prototype'],'outlineWidth',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4172')];},'set':function(_0x28d131){this[_0x1a4e('0x4137')]['outlineWidth']!==_0x28d131&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4172')]=_0x28d131,this[_0x1a4e('0x3dda')]('outlineWidth'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fe216['prototype'],_0x1a4e('0x3bdf'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x28d131){this[_0x1a4e('0x4137')]['heightReference']=_0x28d131,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fe216[_0x1a4e('0xa')],_0x1a4e('0x4148'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4148')];},'set':function(_0x28d131){this[_0x1a4e('0x4137')][_0x1a4e('0x4148')]=_0x28d131,this[_0x1a4e('0x3dda')]('scaleByDistance');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fe216['prototype'],_0x1a4e('0x4211'),{'get':function(){return this['_opt'][_0x1a4e('0x4211')];},'set':function(_0x28d131){this['_opt']['isDepthTest']=_0x28d131,this[_0x1a4e('0x3dda')](_0x1a4e('0x4211'));},'enumerable':!0x0,'configurable':!0x0}),_0x3fe216['prototype']['toJson']=function(){var _0x28d131={'type':this[_0x1a4e('0x3cc')](),'id':this['id'],'name':this[_0x1a4e('0x2cb')],'extendInfo':this[_0x1a4e('0x3e66')]};for(var _0x3fe216 in this['_opt'])void 0x0!==this[_0x1a4e('0x4137')][_0x3fe216]&&(this[_0x1a4e('0x4137')][_0x3fe216]instanceof Object&&this['_opt'][_0x3fe216][_0x1a4e('0x3acb')]?_0x28d131[_0x3fe216]=this[_0x1a4e('0x4137')][_0x3fe216][_0x1a4e('0x3acb')]():_0x28d131[_0x3fe216]=this['_opt'][_0x3fe216]);return _0x28d131['id']=this['id'],_0x28d131;},_0x3fe216;}(_0x485ace[_0x1a4e('0x413a')]),_0x2b5f4d=function(_0x28d131){function _0x3fe216(){var _0x3fe216=null!==_0x28d131&&_0x28d131[_0x1a4e('0x8b')](this,arguments)||this;return _0x3fe216[_0x1a4e('0x3efe')]=0xa,_0x3fe216[_0x1a4e('0x134')]=_0x1a4e('0x38d4'),_0x3fe216[_0x1a4e('0x4172')]=0x0,_0x3fe216['outlineColor']=_0x1a4e('0x38d4'),_0x3fe216[_0x1a4e('0x4211')]=!0x0,_0x3fe216;}return _0x5761d8(_0x3fe216,_0x28d131),_0x3fe216;}(_0x485ace['GraphicPositionItemOpt']);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x116717);},'./src/LayerManager/GraphicLayer/GraphicItem/PolygonGraphic.ts':function(_0x508626,_0x5da2eb,_0x5da132){'use strict';_0x5da132['r'](_0x5da2eb),_0x5da132['d'](_0x5da2eb,_0x1a4e('0x3989'),function(){return _0x3271bf;}),_0x5da132['d'](_0x5da2eb,_0x1a4e('0x4250'),function(){return _0x14e6ba;});var _0x1285c4,_0x63ddba=_0x5da132(_0x1a4e('0x3e0b')),_0x2f6cda=_0x5da132(_0x1a4e('0x4251')),_0x21ae8c=(_0x1285c4=function(_0x508626,_0x5da2eb){return(_0x1285c4=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x508626,_0x5da2eb){_0x508626[_0x1a4e('0x295')]=_0x5da2eb;}||function(_0x508626,_0x5da2eb){for(var _0x5da132 in _0x5da2eb)_0x5da2eb['hasOwnProperty'](_0x5da132)&&(_0x508626[_0x5da132]=_0x5da2eb[_0x5da132]);})(_0x508626,_0x5da2eb);},function(_0x508626,_0x5da2eb){function _0x5da132(){this['constructor']=_0x508626;}_0x1285c4(_0x508626,_0x5da2eb),_0x508626[_0x1a4e('0xa')]=null===_0x5da2eb?Object[_0x1a4e('0x7')](_0x5da2eb):(_0x5da132[_0x1a4e('0xa')]=_0x5da2eb[_0x1a4e('0xa')],new _0x5da132());}),_0x3271bf=function(_0x508626){function _0x5da2eb(_0x5da2eb){var _0x5da132=_0x508626[_0x1a4e('0x1')](this,_0x5da2eb)||this;return _0x5da132[_0x1a4e('0x39d5')]=_0x1a4e('0x3989'),_0x5da132[_0x1a4e('0x4137')]=new _0x14e6ba(),_0x5da132[_0x1a4e('0x3acc')](_0x5da2eb),_0x5da132;}return _0x21ae8c(_0x5da2eb,_0x508626),_0x5da2eb[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x5da2eb[_0x1a4e('0x40')];},_0x5da2eb[_0x1a4e('0xa')][_0x1a4e('0x3e54')]=function(){return 0x3;},Object[_0x1a4e('0x2')](_0x5da2eb,_0x1a4e('0x40'),{'get':function(){return'PolygonGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0x5da2eb[_0x1a4e('0xa')]['init']=function(_0x5da2eb){if(_0x508626[_0x1a4e('0xa')]['init'][_0x1a4e('0x1')](this,_0x5da2eb),this['father']){var _0x5da132=new _0x2f6cda[(_0x1a4e('0x4252'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x5da132;};}},Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],'positions',{'get':function(){return this[_0x1a4e('0x4137')]['positions'];},'set':function(_0x508626){this['_opt'][_0x1a4e('0x398a')]=_0x508626,this[_0x1a4e('0x3dda')](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0xb0'),{'get':function(){return this[_0x1a4e('0x4137')]['holes'];},'set':function(_0x508626){this[_0x1a4e('0x4137')][_0x1a4e('0xb0')]=_0x508626,this[_0x1a4e('0x3dda')](_0x1a4e('0xb0'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb['prototype'],_0x1a4e('0x152'),{'get':function(){return this[_0x1a4e('0x4137')]['height'];},'set':function(_0x508626){this[_0x1a4e('0x4137')][_0x1a4e('0x152')]!==_0x508626&&(this[_0x1a4e('0x4137')][_0x1a4e('0x152')]=_0x508626,this[_0x1a4e('0x3dda')](_0x1a4e('0x152')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb['prototype'],'extrudedHeight',{'get':function(){return this['_opt']['extrudedHeight'];},'set':function(_0x508626){this[_0x1a4e('0x4137')][_0x1a4e('0x398d')]!==_0x508626&&(this[_0x1a4e('0x4137')][_0x1a4e('0x398d')]=_0x508626,this[_0x1a4e('0x3dda')]('extrudedHeight'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x22c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x22c')];},'set':function(_0x508626){this['_opt'][_0x1a4e('0x22c')]!==_0x508626&&(this[_0x1a4e('0x4137')][_0x1a4e('0x22c')]=_0x508626,this[_0x1a4e('0x3dda')](_0x1a4e('0x22c')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this['_opt'][_0x1a4e('0x134')];},'set':function(_0x508626){this['_opt'][_0x1a4e('0x134')]!==_0x508626&&(this['_opt'][_0x1a4e('0x134')]=_0x508626,this['updateAttribute']('color'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x4171'),{'get':function(){return this['_opt']['outline'];},'set':function(_0x508626){this[_0x1a4e('0x4137')][_0x1a4e('0x4171')]!==_0x508626&&(this['_opt'][_0x1a4e('0x4171')]=_0x508626,this[_0x1a4e('0x3dda')](_0x1a4e('0x4171')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5da2eb[_0x1a4e('0xa')],'outlineColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x409f')];},'set':function(_0x508626){this[_0x1a4e('0x4137')]['outlineColor']!==_0x508626&&(this[_0x1a4e('0x4137')]['outlineColor']=_0x508626,this['updateAttribute'](_0x1a4e('0x409f')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x4172'),{'get':function(){return this['_opt'][_0x1a4e('0x4172')];},'set':function(_0x508626){this['_opt'][_0x1a4e('0x4172')]!==_0x508626&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4172')]=_0x508626,this[_0x1a4e('0x3dda')]('outlineWidth'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x4253'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4253')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5da2eb['prototype'],_0x1a4e('0x4254'),{'get':function(){return this[_0x1a4e('0x4137')]['closeTop'];},'set':function(_0x508626){this[_0x1a4e('0x4137')]['closeTop']!==_0x508626&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4254')]=_0x508626,this[_0x1a4e('0x3dda')]('closeTop'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb['prototype'],_0x1a4e('0x4255'),{'get':function(){return this['_opt'][_0x1a4e('0x4255')];},'set':function(_0x508626){this['_opt'][_0x1a4e('0x4255')]!==_0x508626&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4255')]=_0x508626,this[_0x1a4e('0x3dda')](_0x1a4e('0x4255')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],'clampToGround',{'get':function(){return this['_opt']['clampToGround'];},'set':function(_0x508626){this[_0x1a4e('0x4137')]['clampToGround']=_0x508626,this[_0x1a4e('0x3dda')](_0x1a4e('0x3972'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x4140'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4140')];},'set':function(_0x508626){this['_opt'][_0x1a4e('0x4140')]=_0x508626;},'enumerable':!0x0,'configurable':!0x0}),_0x5da2eb[_0x1a4e('0xa')]['movePosition']=function(_0x508626,_0x5da2eb,_0x5da132){if(void 0x0===_0x508626&&(_0x508626=0x0),void 0x0===_0x5da2eb&&(_0x5da2eb=0x0),void 0x0===_0x5da132&&(_0x5da132=0x0),this[_0x1a4e('0x398a')]){var _0x1285c4=this['positions'];_0x1285c4[_0x1a4e('0x3b')](function(_0x1285c4){_0x1285c4['lon']+=_0x508626,_0x1285c4[_0x1a4e('0x1a2')]+=_0x5da2eb,_0x1285c4[_0x1a4e('0x398c')]+=_0x5da132;}),this['positions']=_0x1285c4;}null!=this['height']&&(this[_0x1a4e('0x152')]+=_0x5da132),null!=this[_0x1a4e('0x398d')]&&(this[_0x1a4e('0x398d')]+=_0x5da132);},Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x4256'),{'get':function(){return this[_0x1a4e('0x4137')]['videoElement'];},'set':function(_0x508626){this['_opt'][_0x1a4e('0x4256')]=_0x508626,this['updateAttribute'](_0x1a4e('0x4256'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x4181'),{'get':function(){return this[_0x1a4e('0x4137')]['stRotation'];},'set':function(_0x508626){this[_0x1a4e('0x4137')][_0x1a4e('0x4181')]=_0x508626,this[_0x1a4e('0x3dda')](_0x1a4e('0x4181'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x4257'),{'get':function(){return this[_0x1a4e('0x4137')]['bindClock'];},'set':function(_0x508626){this[_0x1a4e('0x4137')][_0x1a4e('0x4257')]=_0x508626,this['updateAttribute']('bindClock');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5da2eb[_0x1a4e('0xa')],_0x1a4e('0x3b77'),{'get':function(){return this['_opt'][_0x1a4e('0x3b77')];},'set':function(_0x508626){this[_0x1a4e('0x4137')][_0x1a4e('0x3b77')]=_0x508626,this[_0x1a4e('0x3dda')](_0x1a4e('0x3b77'));},'enumerable':!0x0,'configurable':!0x0}),_0x5da2eb;}(_0x63ddba['GraphicItem']),_0x14e6ba=function(_0x508626){function _0x5da2eb(){var _0x5da2eb=null!==_0x508626&&_0x508626[_0x1a4e('0x8b')](this,arguments)||this;return _0x5da2eb['clampToGround']=!0x1,_0x5da2eb[_0x1a4e('0x22c')]=!0x0,_0x5da2eb['color']=_0x1a4e('0x393b'),_0x5da2eb[_0x1a4e('0x4171')]=!0x1,_0x5da2eb[_0x1a4e('0x409f')]='#ff0000',_0x5da2eb[_0x1a4e('0x4172')]=0x1,_0x5da2eb[_0x1a4e('0x4253')]=!0x1,_0x5da2eb[_0x1a4e('0x4254')]=!0x0,_0x5da2eb[_0x1a4e('0x4255')]=!0x0,_0x5da2eb[_0x1a4e('0x4140')]=!0x1,_0x5da2eb[_0x1a4e('0x4181')]=0x0,_0x5da2eb[_0x1a4e('0x4257')]=!0x1,_0x5da2eb[_0x1a4e('0x3b77')]=[0x1,0x1],_0x5da2eb;}return _0x21ae8c(_0x5da2eb,_0x508626),_0x5da2eb;}(_0x63ddba[_0x1a4e('0x4143')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x3271bf);},'./src/LayerManager/GraphicLayer/GraphicItem/PolylineGraphic.ts':function(_0x1105b7,_0x212839,_0x2a84ad){'use strict';_0x2a84ad['r'](_0x212839),_0x2a84ad['d'](_0x212839,'PolylineGraphic',function(){return _0x5d88ce;}),_0x2a84ad['d'](_0x212839,_0x1a4e('0x4258'),function(){return _0x480f02;}),_0x2a84ad['d'](_0x212839,_0x1a4e('0x3fdb'),function(){return _0x5efefe;});var _0x5c5849,_0x5efefe,_0x2a5dd0=_0x2a84ad('./src/LayerManager/GraphicLayer/GraphicItem/GraphicItem.ts'),_0x2006f3=_0x2a84ad(_0x1a4e('0x413c')),_0x284d96=_0x2a84ad(_0x1a4e('0x396f')),_0x138ba6=(_0x5c5849=function(_0x1105b7,_0x212839){return(_0x5c5849=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1105b7,_0x212839){_0x1105b7[_0x1a4e('0x295')]=_0x212839;}||function(_0x1105b7,_0x212839){for(var _0x2a84ad in _0x212839)_0x212839[_0x1a4e('0xb')](_0x2a84ad)&&(_0x1105b7[_0x2a84ad]=_0x212839[_0x2a84ad]);})(_0x1105b7,_0x212839);},function(_0x1105b7,_0x212839){function _0x2a84ad(){this[_0x1a4e('0x10')]=_0x1105b7;}_0x5c5849(_0x1105b7,_0x212839),_0x1105b7['prototype']=null===_0x212839?Object[_0x1a4e('0x7')](_0x212839):(_0x2a84ad[_0x1a4e('0xa')]=_0x212839['prototype'],new _0x2a84ad());}),_0x5d88ce=function(_0x1105b7){function _0x212839(_0x212839){var _0x2a84ad=_0x1105b7[_0x1a4e('0x1')](this,_0x212839)||this;return _0x2a84ad['_type']=_0x1a4e('0x39e4'),_0x2a84ad[_0x1a4e('0x4137')]=new _0x480f02(),_0x2a84ad[_0x1a4e('0x3acc')](_0x212839),_0x2a84ad;}return _0x138ba6(_0x212839,_0x1105b7),_0x212839['prototype'][_0x1a4e('0x3cc')]=function(){return _0x212839[_0x1a4e('0x40')];},Object['defineProperty'](_0x212839,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x39e4');},'enumerable':!0x0,'configurable':!0x0}),_0x212839['prototype'][_0x1a4e('0x1fd')]=function(_0x212839){if(_0x1105b7['prototype'][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x212839),this[_0x1a4e('0x4138')]){var _0x2a84ad=new _0x2006f3[(_0x1a4e('0x421e'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0x2a84ad;};}},Object[_0x1a4e('0x2')](_0x212839[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x398a')];},'set':function(_0x1105b7){this[_0x1a4e('0x4137')][_0x1a4e('0x398a')]=_0x1105b7,this[_0x1a4e('0x3dda')]('positions');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x212839[_0x1a4e('0xa')],'arcType',{'get':function(){return this['_opt'][_0x1a4e('0x4259')];},'set':function(_0x1105b7){this['_opt'][_0x1a4e('0x4259')]!==_0x1105b7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4259')]=_0x1105b7,this[_0x1a4e('0x3dda')]('arcType'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x212839[_0x1a4e('0xa')],'clampToGround',{'get':function(){return this[_0x1a4e('0x4259')]!==_0x5efefe[_0x1a4e('0x1733')]&&this[_0x1a4e('0x4137')]['clampToGround'];},'set':function(_0x1105b7){this[_0x1a4e('0x4137')][_0x1a4e('0x3972')]!==_0x1105b7&&(!0x0!==_0x1105b7||this['arcType']!==_0x5efefe[_0x1a4e('0x1733')]?(this[_0x1a4e('0x4137')][_0x1a4e('0x3972')]=_0x1105b7,this[_0x1a4e('0x3dda')]('clampToGround')):console[_0x1a4e('0xe3c')]('id为'+this['id']+_0x1a4e('0x425a')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x212839['prototype'],_0x1a4e('0x3936'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3936')];},'set':function(_0x1105b7){this[_0x1a4e('0x4137')][_0x1a4e('0x3936')]!==_0x1105b7&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3936')]=_0x1105b7,this['updateAttribute'](_0x1a4e('0x3936')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x212839[_0x1a4e('0xa')],'dirty',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4140')];},'set':function(_0x1105b7){this[_0x1a4e('0x4137')][_0x1a4e('0x4140')]=_0x1105b7;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x212839[_0x1a4e('0xa')],'lineStyle',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4141')];},'set':function(_0x1105b7){this[_0x1a4e('0x4137')]['lineStyle']=_0x1105b7,this[_0x1a4e('0x3dda')]('lineStyle');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x212839['prototype'],'color',{'get':function(){return this[_0x1a4e('0x4141')]['color'];},'set':function(_0x1105b7){var _0x212839=this['lineStyle'];_0x212839[_0x1a4e('0x134')]=_0x1105b7,this[_0x1a4e('0x4141')]=_0x212839;},'enumerable':!0x0,'configurable':!0x0}),_0x212839[_0x1a4e('0xa')]['setInterpolationCallback']=function(_0x1105b7){this['_interpolationCallback']=_0x1105b7;},_0x212839[_0x1a4e('0xa')][_0x1a4e('0x4220')]=function(_0x1105b7){return this['_interpolationCallback']?this[_0x1a4e('0x425b')](_0x1105b7):_0x1105b7;},_0x212839;}(_0x2a5dd0[_0x1a4e('0x3ae2')]),_0x480f02=function(_0x1105b7){function _0x212839(){var _0x212839=null!==_0x1105b7&&_0x1105b7[_0x1a4e('0x8b')](this,arguments)||this;return _0x212839[_0x1a4e('0x4141')]=new _0x284d96[(_0x1a4e('0x3996'))](_0x1a4e('0x393b')),_0x212839[_0x1a4e('0x4259')]=_0x5efefe[_0x1a4e('0x425c')],_0x212839['clampToGround']=!0x1,_0x212839['width']=0x1,_0x212839[_0x1a4e('0x4140')]=!0x1,_0x212839;}return _0x138ba6(_0x212839,_0x1105b7),_0x212839;}(_0x2a5dd0[_0x1a4e('0x4143')]);!function(_0x1105b7){_0x1105b7[_0x1105b7[_0x1a4e('0x425c')]=Cesium['ArcType'][_0x1a4e('0x425d')]]=_0x1a4e('0x425c'),_0x1105b7[_0x1105b7[_0x1a4e('0x1733')]=Cesium[_0x1a4e('0x425e')]['NONE']]=_0x1a4e('0x1733'),_0x1105b7[_0x1105b7[_0x1a4e('0x425f')]=Cesium[_0x1a4e('0x425e')][_0x1a4e('0x4260')]]=_0x1a4e('0x425f');}(_0x5efefe||(_0x5efefe={})),window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x5d88ce);},'./src/LayerManager/GraphicLayer/GraphicItem/PopoverGraphic.ts':function(_0x5a0690,_0x5ec580,_0x41adcd){'use strict';_0x41adcd['r'](_0x5ec580),_0x41adcd['d'](_0x5ec580,_0x1a4e('0x3e2e'),function(){return _0x257709;}),_0x41adcd['d'](_0x5ec580,_0x1a4e('0x3fef'),function(){return _0x1f7e16;});var _0x7fa918,_0x1e086f=_0x41adcd(_0x1a4e('0x4136')),_0x560ad0=_0x41adcd(_0x1a4e('0x4261')),_0x3d35fa=(_0x7fa918=function(_0x5a0690,_0x5ec580){return(_0x7fa918=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5a0690,_0x5ec580){_0x5a0690[_0x1a4e('0x295')]=_0x5ec580;}||function(_0x5a0690,_0x5ec580){for(var _0x41adcd in _0x5ec580)_0x5ec580[_0x1a4e('0xb')](_0x41adcd)&&(_0x5a0690[_0x41adcd]=_0x5ec580[_0x41adcd]);})(_0x5a0690,_0x5ec580);},function(_0x5a0690,_0x5ec580){function _0x41adcd(){this['constructor']=_0x5a0690;}_0x7fa918(_0x5a0690,_0x5ec580),_0x5a0690[_0x1a4e('0xa')]=null===_0x5ec580?Object[_0x1a4e('0x7')](_0x5ec580):(_0x41adcd[_0x1a4e('0xa')]=_0x5ec580['prototype'],new _0x41adcd());}),_0x257709=function(_0x5a0690){function _0x5ec580(_0x5ec580){var _0x41adcd=_0x5a0690[_0x1a4e('0x1')](this,_0x5ec580)||this;return _0x41adcd[_0x1a4e('0x4137')]=new _0x1f7e16(),_0x41adcd['parseJson'](_0x5ec580),_0x41adcd;}return _0x3d35fa(_0x5ec580,_0x5a0690),_0x5ec580[_0x1a4e('0xa')]['init']=function(_0x5ec580){if(_0x5a0690[_0x1a4e('0xa')][_0x1a4e('0x1fd')]['call'](this,_0x5ec580),this[_0x1a4e('0x4138')]){var _0x41adcd=new _0x560ad0[(_0x1a4e('0x4262'))](this,this['father'][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0x41adcd;};}},_0x5ec580[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x413d')]();},_0x5ec580['prototype']['getType']=function(){return _0x5ec580[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x5ec580,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e2e');},'enumerable':!0x0,'configurable':!0x0}),_0x5ec580[_0x1a4e('0xa')][_0x1a4e('0x4263')]=function(){this[_0x1a4e('0x3ef9')]()[_0x1a4e('0x3ecc')]();},Object[_0x1a4e('0x2')](_0x5ec580['prototype'],_0x1a4e('0x4264'),{'get':function(){return this['_opt'][_0x1a4e('0x4264')];},'set':function(_0x5a0690){this['_opt'][_0x1a4e('0x4264')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x4264'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580['prototype'],'lineColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a0')];},'set':function(_0x5a0690){this['_opt'][_0x1a4e('0x40a0')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a0'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580['prototype'],_0x1a4e('0x4191'),{'get':function(){return this[_0x1a4e('0x4137')]['lineWidth'];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x4191')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x4191'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x4265'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4265')];},'set':function(_0x5a0690){this['_opt'][_0x1a4e('0x4265')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x4265'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0xe04'),{'get':function(){return this[_0x1a4e('0x4137')]['text'];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')]['text']=_0x5a0690,this['updateAttribute'](_0x1a4e('0xe04'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x4266'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4266')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')]['enableFill']=_0x5a0690,this['updateAttribute']('enableFill');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],'fillColor',{'get':function(){return this['_opt']['fillColor'];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x3987')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x3987'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x4267'),{'get':function(){return this['_opt'][_0x1a4e('0x4267')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x4267')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x4267'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580['prototype'],_0x1a4e('0x4268'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4268')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x4268')]=_0x5a0690,this['updateAttribute'](_0x1a4e('0x4268'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],'textRightMargin',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4269')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x4269')]=_0x5a0690,this[_0x1a4e('0x3dda')]('textRightMargin');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x426a'),{'get':function(){return this['_opt'][_0x1a4e('0x426a')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x426a')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x426a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x426b'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x426b')];},'set':function(_0x5a0690){this['_opt'][_0x1a4e('0x426b')]=_0x5a0690,this['updateAttribute'](_0x1a4e('0x426b'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580['prototype'],_0x1a4e('0x426c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x426c')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x426c')]=_0x5a0690,this['updateAttribute'](_0x1a4e('0x426c'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5ec580['prototype'],_0x1a4e('0x426d'),{'get':function(){return this['_opt']['labelFontColor'];},'set':function(_0x5a0690){this['_opt']['labelFontColor']=_0x5a0690,this[_0x1a4e('0x3dda')]('labelFontColor');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],'labelFontSize',{'get':function(){return this[_0x1a4e('0x4137')]['labelFontSize'];},'set':function(_0x5a0690){this['_opt'][_0x1a4e('0x426e')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x426e'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x143'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x143')];},'set':function(_0x5a0690){this['_opt'][_0x1a4e('0x143')]!==_0x5a0690&&(this[_0x1a4e('0x4137')][_0x1a4e('0x143')]=_0x5a0690,this['updateAttribute'](_0x1a4e('0x143')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x397a'),{'get':function(){return this[_0x1a4e('0x4137')]['horizontalOrigin'];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x397a')]!==_0x5a0690&&(this['_opt'][_0x1a4e('0x397a')]=_0x5a0690,this['updateAttribute'](_0x1a4e('0x397a')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],'verticalOrigin',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x397b')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x397b')]!==_0x5a0690&&(this[_0x1a4e('0x4137')][_0x1a4e('0x397b')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x397b')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x4146'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4146')];},'set':function(_0x5a0690){this['_opt'][_0x1a4e('0x4146')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x4146'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580['prototype'],_0x1a4e('0x4147'),{'get':function(){return this[_0x1a4e('0x4137')]['pixelOffset'];},'set':function(_0x5a0690){this['_opt'][_0x1a4e('0x4147')]=_0x5a0690,this[_0x1a4e('0x3dda')]('pixelOffset');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],'rotation',{'get':function(){return this[_0x1a4e('0x4137')]['rotation'];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]!==_0x5a0690&&(this['_opt'][_0x1a4e('0x3d2e')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x3d2e')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],'width',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3936')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x3936')]!==_0x5a0690&&(this['_opt']['width']=_0x5a0690,this[_0x1a4e('0x3dda')]('width'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5ec580[_0x1a4e('0xa')],'height',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x152')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x152')]!==_0x5a0690&&(this[_0x1a4e('0x4137')][_0x1a4e('0x152')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x152')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x5a0690){this['_opt'][_0x1a4e('0x134')]!==_0x5a0690&&(this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],'sizeInMeters',{'get':function(){return this['_opt'][_0x1a4e('0x4149')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x4149')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x4149'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5ec580[_0x1a4e('0xa')],_0x1a4e('0x3bdf'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x5a0690){this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]!==_0x5a0690&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]=_0x5a0690,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),_0x5ec580;}(_0x1e086f[_0x1a4e('0x413a')]),_0x1f7e16=function(_0x5a0690){function _0x5ec580(){var _0x5ec580=null!==_0x5a0690&&_0x5a0690[_0x1a4e('0x8b')](this,arguments)||this;return _0x5ec580['scale']=0x1,_0x5ec580['horizontalOrigin']=_0x1a4e('0x111'),_0x5ec580[_0x1a4e('0x397b')]=_0x1a4e('0x111'),_0x5ec580[_0x1a4e('0x4264')]=_0x1a4e('0x426f'),_0x5ec580['lineColor']=_0x1a4e('0x4270'),_0x5ec580[_0x1a4e('0x4191')]='3',_0x5ec580[_0x1a4e('0x4265')]=_0x1a4e('0xc5'),_0x5ec580[_0x1a4e('0x4266')]=!0x0,_0x5ec580[_0x1a4e('0x3987')]='#ffff0f',_0x5ec580[_0x1a4e('0xe04')]='标签',_0x5ec580[_0x1a4e('0x4267')]='Microsoft\x20YaHei',_0x5ec580['labelFontColor']=_0x1a4e('0x4271'),_0x5ec580['labelFontSize']=_0x1a4e('0x4272'),_0x5ec580[_0x1a4e('0x4268')]=_0x1a4e('0x4273'),_0x5ec580['textRightMargin']=_0x1a4e('0x4273'),_0x5ec580['textTopMargin']=_0x1a4e('0x4273'),_0x5ec580['textBottomMargin']='5px',_0x5ec580[_0x1a4e('0x426c')]=_0x1a4e('0x111'),_0x5ec580;}return _0x3d35fa(_0x5ec580,_0x5a0690),_0x5ec580;}(_0x1e086f['GraphicPositionItemOpt']);window['GV']['REGISTER'](_0x1a4e('0x3ae2'),_0x257709);},'./src/LayerManager/GraphicLayer/GraphicItem/RadarGraphic.ts':function(_0x4f12d2,_0xbd3a22,_0x50ade5){'use strict';_0x50ade5['r'](_0xbd3a22),_0x50ade5['d'](_0xbd3a22,_0x1a4e('0x3e2f'),function(){return _0x12c3c7;}),_0x50ade5['d'](_0xbd3a22,'RadarGraphicOpt',function(){return _0x4a42cc;});var _0x558deb,_0x55fdfb=_0x50ade5(_0x1a4e('0x4136')),_0x3b536d=_0x50ade5('./src/LayerManager/GraphicLayer/GraphicRender/radar/RadarNodeRender.ts'),_0x4e4718=(_0x558deb=function(_0x4f12d2,_0xbd3a22){return(_0x558deb=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4f12d2,_0xbd3a22){_0x4f12d2['__proto__']=_0xbd3a22;}||function(_0x4f12d2,_0xbd3a22){for(var _0x50ade5 in _0xbd3a22)_0xbd3a22[_0x1a4e('0xb')](_0x50ade5)&&(_0x4f12d2[_0x50ade5]=_0xbd3a22[_0x50ade5]);})(_0x4f12d2,_0xbd3a22);},function(_0x4f12d2,_0xbd3a22){function _0x50ade5(){this[_0x1a4e('0x10')]=_0x4f12d2;}_0x558deb(_0x4f12d2,_0xbd3a22),_0x4f12d2[_0x1a4e('0xa')]=null===_0xbd3a22?Object[_0x1a4e('0x7')](_0xbd3a22):(_0x50ade5['prototype']=_0xbd3a22['prototype'],new _0x50ade5());}),_0x12c3c7=function(_0x4f12d2){function _0xbd3a22(_0xbd3a22){var _0x50ade5=_0x4f12d2[_0x1a4e('0x1')](this,_0xbd3a22)||this;return _0x50ade5[_0x1a4e('0x4137')]=new _0x4a42cc(),_0x50ade5[_0x1a4e('0x3acc')](_0xbd3a22),_0x50ade5;}return _0x4e4718(_0xbd3a22,_0x4f12d2),_0xbd3a22['prototype'][_0x1a4e('0x3cc')]=function(){return _0xbd3a22['type'];},Object[_0x1a4e('0x2')](_0xbd3a22,_0x1a4e('0x40'),{'get':function(){return'RadarGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0xbd3a22[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0xbd3a22){if(_0x4f12d2['prototype']['init'][_0x1a4e('0x1')](this,_0xbd3a22),this['father']){var _0x50ade5=new _0x3b536d[(_0x1a4e('0x4274'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x50ade5;};}},Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],'outerColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a3')];},'set':function(_0x4f12d2){this['_opt']['outerColor']=_0x4f12d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a3'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],'outerAlpha',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4275')];},'set':function(_0x4f12d2){this[_0x1a4e('0x4137')][_0x1a4e('0x4275')]=_0x4f12d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x4275'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x40a4'),{'get':function(){return this[_0x1a4e('0x4137')]['innerColor'];},'set':function(_0x4f12d2){this[_0x1a4e('0x4137')][_0x1a4e('0x40a4')]=_0x4f12d2,this[_0x1a4e('0x3dda')]('innerColor');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xbd3a22[_0x1a4e('0xa')],'innerAlhpa',{'get':function(){return this['_opt']['innerAlhpa'];},'set':function(_0x4f12d2){this[_0x1a4e('0x4137')]['innerAlhpa']=_0x4f12d2,this[_0x1a4e('0x3dda')]('innerAlhpa');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22['prototype'],_0x1a4e('0x40a0'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a0')];},'set':function(_0x4f12d2){this[_0x1a4e('0x4137')][_0x1a4e('0x40a0')]=_0x4f12d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a0'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x4162'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4162')];},'set':function(_0x4f12d2){if(_0x4f12d2<=this[_0x1a4e('0x4137')][_0x1a4e('0x4163')]-this[_0x1a4e('0x4137')]['scanAngle']-0x1){var _0xbd3a22=this[_0x1a4e('0x4137')][_0x1a4e('0x4163')]-this['_opt'][_0x1a4e('0x4276')]-0x1;console['log'](_0x1a4e('0x4277')+_0xbd3a22+'度!');}else this[_0x1a4e('0x4137')][_0x1a4e('0x4162')]=_0x4f12d2,this['updateAttribute'](_0x1a4e('0x4162'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xbd3a22[_0x1a4e('0xa')],'endAngle',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4163')];},'set':function(_0x4f12d2){if(_0x4f12d2<=this['_opt'][_0x1a4e('0x4162')]+this[_0x1a4e('0x4137')]['scanAngle']+0x1){var _0xbd3a22=this[_0x1a4e('0x4137')][_0x1a4e('0x4162')]+this[_0x1a4e('0x4137')][_0x1a4e('0x4276')]+0x1;console[_0x1a4e('0x58')](_0x1a4e('0x4278')+_0xbd3a22+'度!');}else this[_0x1a4e('0x4137')][_0x1a4e('0x4163')]=_0x4f12d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x4163'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],'vStartAngle',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4279')];},'set':function(_0x4f12d2){_0x4f12d2>=this[_0x1a4e('0x4137')][_0x1a4e('0x427a')]?console['log'](_0x1a4e('0x427b')+this['_opt'][_0x1a4e('0x427a')]+_0x1a4e('0x427c')):(this['_opt'][_0x1a4e('0x4279')]=_0x4f12d2,this['updateAttribute'](_0x1a4e('0x4279')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x427a'),{'get':function(){return this['_opt'][_0x1a4e('0x427a')];},'set':function(_0x4f12d2){_0x4f12d2<=this[_0x1a4e('0x4137')][_0x1a4e('0x4279')]?console[_0x1a4e('0x58')]('设置无效,垂直终止角必须大于垂直起始角('+this[_0x1a4e('0x4137')][_0x1a4e('0x4279')]+'度)!'):(this[_0x1a4e('0x4137')]['vEndAngle']=_0x4f12d2,this[_0x1a4e('0x3dda')]('vEndAngle'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x3b5d'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')];},'set':function(_0x4f12d2){_0x4f12d2<=0x0?console[_0x1a4e('0x58')](_0x1a4e('0x427d')):(this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')]=_0x4f12d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x3b5d')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x4276'),{'get':function(){return this['_opt']['scanAngle'];},'set':function(_0x4f12d2){if(_0x4f12d2>=this[_0x1a4e('0x4137')][_0x1a4e('0x4163')]-this[_0x1a4e('0x4137')][_0x1a4e('0x4162')]-0x1){var _0xbd3a22=this[_0x1a4e('0x4137')][_0x1a4e('0x4163')]-this[_0x1a4e('0x4137')]['startAngle']-0x1;console[_0x1a4e('0x58')](_0x1a4e('0x427e')+_0xbd3a22+'度!');}else this['_opt'][_0x1a4e('0x4276')]=_0x4f12d2,this[_0x1a4e('0x3dda')]('scanAngle');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x40a5'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a5')];},'set':function(_0x4f12d2){this[_0x1a4e('0x4137')]['scanColor']=_0x4f12d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a5'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x427f'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x427f')];},'set':function(_0x4f12d2){this[_0x1a4e('0x4137')][_0x1a4e('0x427f')]=_0x4f12d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x427f'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],'scanSpeed',{'get':function(){return this['_opt'][_0x1a4e('0x4280')];},'set':function(_0x4f12d2){_0x4f12d2<=0x0?console[_0x1a4e('0x58')](_0x1a4e('0x4281')):(this['_opt'][_0x1a4e('0x4280')]=_0x4f12d2,this['updateAttribute'](_0x1a4e('0x4280')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x4282'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4282')];},'set':function(_0x4f12d2){this[_0x1a4e('0x4137')]['showScan']=_0x4f12d2,this['updateAttribute'](_0x1a4e('0x4282'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x4283'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4283')];},'set':function(_0x4f12d2){this[_0x1a4e('0x4137')][_0x1a4e('0x4283')]=_0x4f12d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x4283'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],'showTriangle',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4284')];},'set':function(_0x4f12d2){this[_0x1a4e('0x4137')]['showTriangle']=_0x4f12d2,this[_0x1a4e('0x3dda')](_0x1a4e('0x4284'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xbd3a22[_0x1a4e('0xa')],_0x1a4e('0x4285'),{'get':function(){return this[_0x1a4e('0x4137')]['fillScan'];},'enumerable':!0x0,'configurable':!0x0}),_0xbd3a22;}(_0x55fdfb[_0x1a4e('0x413a')]),_0x4a42cc=function(_0x4f12d2){function _0xbd3a22(){var _0xbd3a22=null!==_0x4f12d2&&_0x4f12d2[_0x1a4e('0x8b')](this,arguments)||this;return _0xbd3a22[_0x1a4e('0x40a3')]=_0x1a4e('0x4201'),_0xbd3a22['outerAlpha']=0.5,_0xbd3a22[_0x1a4e('0x40a4')]=_0x1a4e('0x38d4'),_0xbd3a22['innerAlhpa']=0.1,_0xbd3a22['startAngle']=0x0,_0xbd3a22['endAngle']=0x78,_0xbd3a22[_0x1a4e('0x4279')]=0x14,_0xbd3a22[_0x1a4e('0x427a')]=0x3c,_0xbd3a22[_0x1a4e('0x3b5d')]=0x493e0,_0xbd3a22['scanAngle']=0xa,_0xbd3a22[_0x1a4e('0x40a5')]=_0x1a4e('0x4286'),_0xbd3a22[_0x1a4e('0x427f')]=!0x1,_0xbd3a22[_0x1a4e('0x4280')]=0x14,_0xbd3a22[_0x1a4e('0x4282')]=!0x0,_0xbd3a22['lineColor']=_0x1a4e('0x3988'),_0xbd3a22[_0x1a4e('0x4283')]=!0x0,_0xbd3a22[_0x1a4e('0x4284')]=!0x0,_0xbd3a22['fillScan']=!0x0,_0xbd3a22;}return _0x4e4718(_0xbd3a22,_0x4f12d2),_0xbd3a22;}(_0x55fdfb['GraphicPositionItemOpt']);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x12c3c7);},'./src/LayerManager/GraphicLayer/GraphicItem/RectangleGraphic.ts':function(_0x434e21,_0x42acea,_0x85b735){'use strict';_0x85b735['r'](_0x42acea),_0x85b735['d'](_0x42acea,_0x1a4e('0x3e92'),function(){return _0x3bda3d;}),_0x85b735['d'](_0x42acea,_0x1a4e('0x3fe3'),function(){return _0x37acd9;});var _0x309529,_0x204c52=_0x85b735('./src/LayerManager/GraphicLayer/GraphicItem/GraphicItem.ts'),_0x14cef8=_0x85b735(_0x1a4e('0x4287')),_0x1ff672=_0x85b735(_0x1a4e('0x38d0')),_0x32494b=(_0x309529=function(_0x434e21,_0x42acea){return(_0x309529=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x434e21,_0x42acea){_0x434e21[_0x1a4e('0x295')]=_0x42acea;}||function(_0x434e21,_0x42acea){for(var _0x85b735 in _0x42acea)_0x42acea[_0x1a4e('0xb')](_0x85b735)&&(_0x434e21[_0x85b735]=_0x42acea[_0x85b735]);})(_0x434e21,_0x42acea);},function(_0x434e21,_0x42acea){function _0x85b735(){this[_0x1a4e('0x10')]=_0x434e21;}_0x309529(_0x434e21,_0x42acea),_0x434e21[_0x1a4e('0xa')]=null===_0x42acea?Object['create'](_0x42acea):(_0x85b735[_0x1a4e('0xa')]=_0x42acea[_0x1a4e('0xa')],new _0x85b735());}),_0x3bda3d=function(_0x434e21){function _0x42acea(_0x42acea){var _0x85b735=_0x434e21[_0x1a4e('0x1')](this,_0x42acea)||this;if(_0x85b735[_0x1a4e('0x39d5')]=_0x1a4e('0x3e92'),_0x85b735[_0x1a4e('0x4137')]=new _0x37acd9(),_0x85b735[_0x1a4e('0x3acc')](_0x42acea),_0x42acea['coordinates']&&!_0x42acea['positions']){var _0x309529=_0x42acea[_0x1a4e('0x43')];_0x85b735[_0x1a4e('0x4137')][_0x1a4e('0x398a')]=[new _0x1ff672[(_0x1a4e('0x38da'))](_0x309529[0x0],_0x309529[0x1]),new _0x1ff672[(_0x1a4e('0x38da'))](_0x309529[0x2],_0x309529[0x3])];}return _0x85b735;}return _0x32494b(_0x42acea,_0x434e21),_0x42acea[_0x1a4e('0xa')]['getType']=function(){return _0x42acea[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x42acea,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e92');},'enumerable':!0x0,'configurable':!0x0}),_0x42acea[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x42acea){if(_0x434e21[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x42acea),this[_0x1a4e('0x4138')]){var _0x85b735=new _0x14cef8[(_0x1a4e('0x4288'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x85b735;};}},Object[_0x1a4e('0x2')](_0x42acea[_0x1a4e('0xa')],'coordinates',{'get':function(){return this['_opt'][_0x1a4e('0x43')];},'set':function(_0x434e21){this['_opt'][_0x1a4e('0x43')]=_0x434e21,this['updateAttribute'](_0x1a4e('0x43'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x398a')];},'set':function(_0x434e21){this[_0x1a4e('0x4137')][_0x1a4e('0x398a')]=_0x434e21,this[_0x1a4e('0x3dda')](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea[_0x1a4e('0xa')],_0x1a4e('0x152'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x152')];},'set':function(_0x434e21){this['_opt'][_0x1a4e('0x152')]!==_0x434e21&&(this[_0x1a4e('0x4137')][_0x1a4e('0x152')]=_0x434e21,this[_0x1a4e('0x3dda')](_0x1a4e('0x152')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x42acea[_0x1a4e('0xa')],'heightReference',{'get':function(){return this['_opt'][_0x1a4e('0x3bdf')];},'set':function(_0x434e21){this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]!==_0x434e21&&(this['_opt'][_0x1a4e('0x3bdf')]=_0x434e21,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea['prototype'],_0x1a4e('0x398d'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x398d')];},'set':function(_0x434e21){this[_0x1a4e('0x4137')][_0x1a4e('0x398d')]!==_0x434e21&&(this['_opt']['extrudedHeight']=_0x434e21,this[_0x1a4e('0x3dda')](_0x1a4e('0x398d')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x42acea['prototype'],_0x1a4e('0x4180'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4180')];},'set':function(_0x434e21){this['_opt']['extrudedHeightReference']!==_0x434e21&&(this['_opt'][_0x1a4e('0x4180')]=_0x434e21,this['updateAttribute'](_0x1a4e('0x4180')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea[_0x1a4e('0xa')],_0x1a4e('0x22c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x22c')];},'set':function(_0x434e21){this['_opt'][_0x1a4e('0x22c')]=_0x434e21,this[_0x1a4e('0x3dda')](_0x1a4e('0x22c'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x434e21){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]!==_0x434e21&&(this[_0x1a4e('0x4137')]['color']=_0x434e21,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea['prototype'],_0x1a4e('0x3cb4'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3cb4')];},'set':function(_0x434e21){this['_opt']['image']!==_0x434e21&&(this['_opt'][_0x1a4e('0x3cb4')]=_0x434e21,this[_0x1a4e('0x3dda')]('image'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea[_0x1a4e('0xa')],'transparent',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4203')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea[_0x1a4e('0xa')],'outline',{'get':function(){return this[_0x1a4e('0x4137')]['outline'];},'set':function(_0x434e21){this['_opt']['outline']=_0x434e21,this[_0x1a4e('0x3dda')](_0x1a4e('0x4171'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x409f')];},'set':function(_0x434e21){this[_0x1a4e('0x4137')]['outlineColor']!==_0x434e21&&(this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]=_0x434e21,this['updateAttribute']('outlineColor'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x42acea['prototype'],'shadows',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bed')];},'set':function(_0x434e21){this[_0x1a4e('0x4137')]['shadows']!==_0x434e21&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3bed')]=_0x434e21,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bed')));},'enumerable':!0x0,'configurable':!0x0}),_0x42acea[_0x1a4e('0xa')][_0x1a4e('0x3efa')]=function(_0x42acea,_0x85b735,_0x309529){void 0x0===_0x42acea&&(_0x42acea=0x0),void 0x0===_0x85b735&&(_0x85b735=0x0),void 0x0===_0x309529&&(_0x309529=0x0),_0x434e21[_0x1a4e('0xa')]['movePosition'][_0x1a4e('0x1')](this,_0x42acea,_0x85b735,_0x309529),null!=this[_0x1a4e('0x152')]&&(this[_0x1a4e('0x152')]+=_0x309529),null!=this[_0x1a4e('0x398d')]&&(this[_0x1a4e('0x398d')]+=_0x309529);},_0x42acea;}(_0x204c52['GraphicItem']),_0x37acd9=function(_0x434e21){function _0x42acea(){var _0x42acea=null!==_0x434e21&&_0x434e21[_0x1a4e('0x8b')](this,arguments)||this;return _0x42acea[_0x1a4e('0x398d')]=0x1,_0x42acea[_0x1a4e('0x4180')]=_0x1a4e('0x60'),_0x42acea[_0x1a4e('0x22c')]=!0x0,_0x42acea[_0x1a4e('0x134')]=_0x1a4e('0x4289'),_0x42acea['outline']=!0x1,_0x42acea[_0x1a4e('0x409f')]='rgba(0,\x20255,\x20255,\x200)',_0x42acea;}return _0x32494b(_0x42acea,_0x434e21),_0x42acea;}(_0x204c52[_0x1a4e('0x4143')]);window['GV']['REGISTER'](_0x1a4e('0x3ae2'),_0x3bda3d);},'./src/LayerManager/GraphicLayer/GraphicItem/ScanGraphic.ts':function(_0x35afc2,_0x1c9ddb,_0x32ce4d){'use strict';_0x32ce4d['r'](_0x1c9ddb),_0x32ce4d['d'](_0x1c9ddb,_0x1a4e('0x3e3f'),function(){return _0x3d4f9a;}),_0x32ce4d['d'](_0x1c9ddb,_0x1a4e('0x3fdf'),function(){return _0x40aff3;});var _0x13857d,_0x4dcb70=_0x32ce4d(_0x1a4e('0x4136')),_0x424644=_0x32ce4d(_0x1a4e('0x428a')),_0x50f191=(_0x13857d=function(_0x35afc2,_0x1c9ddb){return(_0x13857d=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x35afc2,_0x1c9ddb){_0x35afc2['__proto__']=_0x1c9ddb;}||function(_0x35afc2,_0x1c9ddb){for(var _0x32ce4d in _0x1c9ddb)_0x1c9ddb[_0x1a4e('0xb')](_0x32ce4d)&&(_0x35afc2[_0x32ce4d]=_0x1c9ddb[_0x32ce4d]);})(_0x35afc2,_0x1c9ddb);},function(_0x35afc2,_0x1c9ddb){function _0x32ce4d(){this['constructor']=_0x35afc2;}_0x13857d(_0x35afc2,_0x1c9ddb),_0x35afc2[_0x1a4e('0xa')]=null===_0x1c9ddb?Object[_0x1a4e('0x7')](_0x1c9ddb):(_0x32ce4d[_0x1a4e('0xa')]=_0x1c9ddb['prototype'],new _0x32ce4d());}),_0x3d4f9a=function(_0x35afc2){function _0x1c9ddb(_0x1c9ddb){var _0x32ce4d=_0x35afc2['call'](this,_0x1c9ddb)||this;return _0x32ce4d[_0x1a4e('0x4137')]=new _0x40aff3(),_0x32ce4d[_0x1a4e('0x3acc')](_0x1c9ddb),_0x32ce4d;}return _0x50f191(_0x1c9ddb,_0x35afc2),_0x1c9ddb['prototype'][_0x1a4e('0x3cc')]=function(){return _0x1c9ddb['type'];},Object['defineProperty'](_0x1c9ddb,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e3f');},'enumerable':!0x0,'configurable':!0x0}),_0x1c9ddb[_0x1a4e('0xa')]['init']=function(_0x1c9ddb){if(_0x35afc2['prototype'][_0x1a4e('0x1fd')]['call'](this,_0x1c9ddb),this[_0x1a4e('0x4138')]){var _0x32ce4d=new _0x424644[(_0x1a4e('0x428b'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x32ce4d;};}},Object[_0x1a4e('0x2')](_0x1c9ddb[_0x1a4e('0xa')],'scanColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a5')];},'set':function(_0x35afc2){this['_opt'][_0x1a4e('0x40a5')]=_0x35afc2,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a5'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1c9ddb[_0x1a4e('0xa')],'scanLineColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x428c')];},'set':function(_0x35afc2){this[_0x1a4e('0x4137')][_0x1a4e('0x428c')]=_0x35afc2,this['updateAttribute']('scanLineColor');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1c9ddb[_0x1a4e('0xa')],'radius',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')];},'set':function(_0x35afc2){this[_0x1a4e('0x4137')]['radius']=_0x35afc2,this[_0x1a4e('0x3dda')](_0x1a4e('0x3b5d'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1c9ddb[_0x1a4e('0xa')],_0x1a4e('0x40e3'),{'get':function(){return this[_0x1a4e('0x4137')]['speed'];},'set':function(_0x35afc2){_0x35afc2>0x5&&(_0x35afc2=0x5),_0x35afc2<=0x0&&(_0x35afc2=0x1),this[_0x1a4e('0x4137')][_0x1a4e('0x40e3')]=_0x35afc2,this[_0x1a4e('0x3dda')](_0x1a4e('0x40e3'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1c9ddb[_0x1a4e('0xa')],_0x1a4e('0x4191'),{'get':function(){return this[_0x1a4e('0x4137')]['lineWidth'];},'set':function(_0x35afc2){this[_0x1a4e('0x4137')][_0x1a4e('0x4191')]=_0x35afc2,this[_0x1a4e('0x3dda')](_0x1a4e('0x4191'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1c9ddb[_0x1a4e('0xa')],_0x1a4e('0x3972'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),_0x1c9ddb;}(_0x4dcb70[_0x1a4e('0x413a')]),_0x40aff3=function(_0x35afc2){function _0x1c9ddb(){var _0x1c9ddb=null!==_0x35afc2&&_0x35afc2[_0x1a4e('0x8b')](this,arguments)||this;return _0x1c9ddb[_0x1a4e('0x40a5')]='rgba(255.0,\x200.0,\x200.0,\x201)',_0x1c9ddb[_0x1a4e('0x428c')]=_0x1a4e('0x417a'),_0x1c9ddb[_0x1a4e('0x3b5d')]=0x5dc,_0x1c9ddb[_0x1a4e('0x40e3')]=0x1,_0x1c9ddb[_0x1a4e('0x4191')]=0x3,_0x1c9ddb;}return _0x50f191(_0x1c9ddb,_0x35afc2),_0x1c9ddb;}(_0x4dcb70[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x3d4f9a);},'./src/LayerManager/GraphicLayer/GraphicItem/ScreenTextGraphic.ts':function(_0x581d04,_0x1d9464,_0x55cf2a){'use strict';_0x55cf2a['r'](_0x1d9464),_0x55cf2a['d'](_0x1d9464,'ScreenTextGraphic',function(){return _0x548c27;}),_0x55cf2a['d'](_0x1d9464,_0x1a4e('0x4030'),function(){return _0x24c29c;});var _0x25918b,_0x3993b8=_0x55cf2a('./src/Utils/Util.ts'),_0x3c14a0=_0x55cf2a(_0x1a4e('0x428d')),_0x434efe=_0x55cf2a(_0x1a4e('0x3e0b')),_0x3056db=(_0x25918b=function(_0x581d04,_0x1d9464){return(_0x25918b=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x581d04,_0x1d9464){_0x581d04[_0x1a4e('0x295')]=_0x1d9464;}||function(_0x581d04,_0x1d9464){for(var _0x55cf2a in _0x1d9464)_0x1d9464[_0x1a4e('0xb')](_0x55cf2a)&&(_0x581d04[_0x55cf2a]=_0x1d9464[_0x55cf2a]);})(_0x581d04,_0x1d9464);},function(_0x581d04,_0x1d9464){function _0x55cf2a(){this[_0x1a4e('0x10')]=_0x581d04;}_0x25918b(_0x581d04,_0x1d9464),_0x581d04['prototype']=null===_0x1d9464?Object[_0x1a4e('0x7')](_0x1d9464):(_0x55cf2a[_0x1a4e('0xa')]=_0x1d9464[_0x1a4e('0xa')],new _0x55cf2a());}),_0x548c27=function(_0x581d04){function _0x1d9464(_0x1d9464){var _0x55cf2a=_0x581d04[_0x1a4e('0x1')](this,_0x1d9464)||this;return _0x55cf2a[_0x1a4e('0x4137')]=new _0x24c29c(),_0x55cf2a[_0x1a4e('0x3acc')](_0x1d9464),_0x55cf2a;}return _0x3056db(_0x1d9464,_0x581d04),_0x1d9464['prototype'][_0x1a4e('0x1fd')]=function(_0x1d9464){if(_0x581d04[_0x1a4e('0xa')][_0x1a4e('0x1fd')]['call'](this,_0x1d9464),this[_0x1a4e('0x4138')]){var _0x55cf2a=new _0x3c14a0[(_0x1a4e('0x428e'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x55cf2a;};}},_0x1d9464['prototype'][_0x1a4e('0x3cc')]=function(){return _0x1d9464[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x1d9464,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e49');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x3b2c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b2c')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x3b2c')]=_0x581d04,this['updateAttribute'](_0x1a4e('0x3b2c'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464['prototype'],'position',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3553')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')]['position']=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x3553'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464['prototype'],_0x1a4e('0x3936'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3936')];},'set':function(_0x581d04){this['_opt'][_0x1a4e('0x3936')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x3936'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x152'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x152')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x152')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x152'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x40a2'),{'get':function(){return this['_opt'][_0x1a4e('0x40a2')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x40a2')]=_0x581d04,this[_0x1a4e('0x3dda')]('fontColor');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x409f')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x409f'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],'outlineStyle',{'get':function(){return this['_opt'][_0x1a4e('0x428f')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x428f')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x428f'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],'outlineWidth',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4172')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x4172')]=_0x581d04,this[_0x1a4e('0x3dda')]('outlineWidth');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x4207'),{'get':function(){return this['_opt'][_0x1a4e('0x4207')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')]['fontSize']=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x4207'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x4290'),{'get':function(){return this[_0x1a4e('0x4137')]['fontFamily'];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x4290')]=_0x581d04,this[_0x1a4e('0x3dda')]('fontFamily');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],'fontWeight',{'get':function(){return this['_opt'][_0x1a4e('0x4291')];},'set':function(_0x581d04){this['_opt'][_0x1a4e('0x4291')]=_0x581d04,this['updateAttribute'](_0x1a4e('0x4291'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x426c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x426c')];},'set':function(_0x581d04){this['_opt'][_0x1a4e('0x426c')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x426c'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],'isShowBackgroundImg',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4292')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x4292')]=_0x581d04,this['updateAttribute'](_0x1a4e('0x4292'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x3ef1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3ef1')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x3ef1')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x3ef1'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464['prototype'],_0x1a4e('0x4293'),{'get':function(){return this[_0x1a4e('0x4137')]['backgroundImgUrl'];},'set':function(_0x581d04){this['_opt']['backgroundImgUrl']=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x4293'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x4294'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4294')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x4294')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x4294'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1d9464['prototype'],_0x1a4e('0x4295'),{'get':function(){return this['_opt'][_0x1a4e('0x4295')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x4295')]=_0x581d04,this['updateAttribute']('backgroundImgPos');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464['prototype'],_0x1a4e('0x4296'),{'get':function(){return this[_0x1a4e('0x4137')]['backgroundImgRepeat'];},'set':function(_0x581d04){this[_0x1a4e('0x4137')]['backgroundImgRepeat']=_0x581d04,this[_0x1a4e('0x3dda')]('backgroundImgRepeat');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x4297'),{'get':function(){return this['_opt'][_0x1a4e('0x4297')];},'set':function(_0x581d04){this['_opt']['paddingLeft']=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x4297'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464['prototype'],_0x1a4e('0x4298'),{'get':function(){return this['_opt'][_0x1a4e('0x4298')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x4298')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x4298'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x4299'),{'get':function(){return this['_opt'][_0x1a4e('0x4299')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x4299')]=_0x581d04,this['updateAttribute']('paddingTop');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464['prototype'],_0x1a4e('0x429a'),{'get':function(){return this['_opt']['paddingBottom'];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x429a')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x429a'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x4208'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4208')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x4208')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x4208'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0x3eeb'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3eeb')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0x3eeb')]=_0x581d04,this[_0x1a4e('0x3dda')](_0x1a4e('0x3eeb'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1d9464[_0x1a4e('0xa')],_0x1a4e('0xe04'),{'get':function(){return this['_opt'][_0x1a4e('0xe04')];},'set':function(_0x581d04){this[_0x1a4e('0x4137')][_0x1a4e('0xe04')]=_0x581d04,this[_0x1a4e('0x3dda')]('text');},'enumerable':!0x0,'configurable':!0x0}),_0x1d9464[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x581d04={'type':this['getType'](),'id':this['id'],'name':this['name'],'extendInfo':this[_0x1a4e('0x3e66')]};for(var _0x1d9464 in this[_0x1a4e('0x4137')])void 0x0!==this[_0x1a4e('0x4137')][_0x1d9464]&&_0x1a4e('0x10')!==_0x1d9464&&(this[_0x1a4e('0x4137')][_0x1d9464]instanceof Object&&this[_0x1a4e('0x4137')][_0x1d9464]['toJson']?_0x581d04[_0x1d9464]=this[_0x1a4e('0x4137')][_0x1d9464][_0x1a4e('0x3acb')]():_0x581d04[_0x1d9464]=this[_0x1a4e('0x4137')][_0x1d9464]);return _0x581d04;},_0x1d9464[_0x1a4e('0xa')][_0x1a4e('0x3acc')]=function(_0x581d04){for(var _0x1d9464 in _0x581d04)this[_0x1a4e('0x4137')][_0x1d9464]=_0x3993b8[_0x1a4e('0x39a0')]['defaultValue'](_0x581d04[_0x1d9464],this['_opt'][_0x1d9464]),'id'===_0x1d9464&&(this['_id']=this['_opt'][_0x1d9464]);},_0x1d9464;}(_0x434efe[_0x1a4e('0x3ae2')]),_0x24c29c=function(_0x581d04){function _0x1d9464(){var _0x1d9464=null!==_0x581d04&&_0x581d04['apply'](this,arguments)||this;return _0x1d9464[_0x1a4e('0x3553')]=[0x0,0x0],_0x1d9464[_0x1a4e('0x3936')]=0x64,_0x1d9464[_0x1a4e('0x152')]=0x64,_0x1d9464[_0x1a4e('0x3ef1')]='rgba(255,255,255)',_0x1d9464['outlineWidth']=0x0,_0x1d9464[_0x1a4e('0x409f')]=_0x1a4e('0x429b'),_0x1d9464['outlineStyle']=_0x1a4e('0x429c'),_0x1d9464['fontSize']=0xc,_0x1d9464[_0x1a4e('0x40a2')]=_0x1a4e('0x429d'),_0x1d9464[_0x1a4e('0x4290')]=_0x1a4e('0x4216'),_0x1d9464[_0x1a4e('0x4291')]=0x190,_0x1d9464[_0x1a4e('0x426c')]=_0x1a4e('0x5f'),_0x1d9464['isShowBackgroundImg']=!0x1,_0x1d9464[_0x1a4e('0x4293')]='none',_0x1d9464[_0x1a4e('0x4294')]=_0x1a4e('0x429e'),_0x1d9464[_0x1a4e('0x4295')]=_0x1a4e('0x111'),_0x1d9464[_0x1a4e('0x4296')]=_0x1a4e('0x429f'),_0x1d9464[_0x1a4e('0x4297')]=0x2,_0x1d9464[_0x1a4e('0x4298')]=0x2,_0x1d9464[_0x1a4e('0x4299')]=0xa,_0x1d9464['paddingBottom']=0xa,_0x1d9464[_0x1a4e('0x4208')]=0x1,_0x1d9464['zIndex']=0xa,_0x1d9464[_0x1a4e('0xe04')]=_0x1a4e('0x42a0'),_0x1d9464;}return _0x3056db(_0x1d9464,_0x581d04),_0x1d9464;}(_0x434efe['GraphicItemOpt']);window['GV']['REGISTER'](_0x1a4e('0x3ae2'),_0x548c27);},'./src/LayerManager/GraphicLayer/GraphicItem/SectorGraphic.ts':function(_0x486c57,_0x556f81,_0x1cdc71){'use strict';_0x1cdc71['r'](_0x556f81),_0x1cdc71['d'](_0x556f81,_0x1a4e('0x40a6'),function(){return _0x36b823;}),_0x1cdc71['d'](_0x556f81,_0x1a4e('0x42a1'),function(){return _0xdde4ae;});var _0x168661,_0x450a4f=_0x1cdc71(_0x1a4e('0x3e0b')),_0x3a2883=_0x1cdc71('./src/Utils/GeoPoint.ts'),_0x637c34=_0x1cdc71(_0x1a4e('0x42a2')),_0x563ad5=(_0x168661=function(_0x486c57,_0x556f81){return(_0x168661=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x486c57,_0x556f81){_0x486c57[_0x1a4e('0x295')]=_0x556f81;}||function(_0x486c57,_0x556f81){for(var _0x1cdc71 in _0x556f81)_0x556f81[_0x1a4e('0xb')](_0x1cdc71)&&(_0x486c57[_0x1cdc71]=_0x556f81[_0x1cdc71]);})(_0x486c57,_0x556f81);},function(_0x486c57,_0x556f81){function _0x1cdc71(){this[_0x1a4e('0x10')]=_0x486c57;}_0x168661(_0x486c57,_0x556f81),_0x486c57[_0x1a4e('0xa')]=null===_0x556f81?Object[_0x1a4e('0x7')](_0x556f81):(_0x1cdc71['prototype']=_0x556f81[_0x1a4e('0xa')],new _0x1cdc71());}),_0x36b823=function(_0x486c57){function _0x556f81(_0x556f81){var _0x1cdc71=_0x486c57[_0x1a4e('0x1')](this,_0x556f81)||this;return _0x1cdc71[_0x1a4e('0x39d5')]=_0x1a4e('0x40a6'),_0x1cdc71[_0x1a4e('0x4137')]=new _0xdde4ae(),_0x1cdc71[_0x1a4e('0x3acc')](_0x556f81),_0x1cdc71;}return _0x563ad5(_0x556f81,_0x486c57),_0x556f81[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x556f81[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x556f81,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x40a6');},'enumerable':!0x0,'configurable':!0x0}),_0x556f81['prototype'][_0x1a4e('0x1fd')]=function(_0x556f81){if(_0x486c57[_0x1a4e('0xa')]['init']['call'](this,_0x556f81),this[_0x1a4e('0x4138')]){var _0x1cdc71=new _0x637c34['SectorSensor'](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x1cdc71;};}},Object[_0x1a4e('0x2')](_0x556f81[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return[this['topPosition'],this[_0x1a4e('0x3e4f')]];},'set':function(_0x486c57){_0x486c57[_0x1a4e('0x1e')]<0x2||(this[_0x1a4e('0x3e50')]=_0x486c57[0x0],this[_0x1a4e('0x3e4f')]=_0x486c57[0x1]);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x556f81[_0x1a4e('0xa')],_0x1a4e('0x3e50'),{'get':function(){return this[_0x1a4e('0x4137')]['topPosition'];},'set':function(_0x486c57){_0x486c57&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3e50')]=_0x486c57,this[_0x1a4e('0x3dda')]('topPosition'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x556f81[_0x1a4e('0xa')],_0x1a4e('0x3e4f'),{'get':function(){return this[_0x1a4e('0x4137')]['bottomPosition'];},'set':function(_0x486c57){_0x486c57&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3e4f')]=_0x486c57,this['updateAttribute']('bottomPosition'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x556f81['prototype'],_0x1a4e('0x3553'),{'get':function(){return this[_0x1a4e('0x4137')]['bottomPosition'];},'set':function(_0x486c57){var _0x556f81=this['_opt'][_0x1a4e('0x3e4f')],_0x1cdc71=this[_0x1a4e('0x4137')][_0x1a4e('0x3e50')],_0x168661=_0x486c57[_0x1a4e('0x1a1')]-_0x556f81['lon']+_0x1cdc71[_0x1a4e('0x1a1')],_0x450a4f=_0x486c57[_0x1a4e('0x1a2')]-_0x556f81[_0x1a4e('0x1a2')]+_0x1cdc71[_0x1a4e('0x1a2')],_0x637c34=_0x486c57['alt']-_0x556f81[_0x1a4e('0x398c')]+_0x1cdc71[_0x1a4e('0x398c')],_0x563ad5=new _0x3a2883['GeoPoint'](_0x168661,_0x450a4f,_0x637c34);this[_0x1a4e('0x4137')][_0x1a4e('0x3e4f')]=_0x486c57,this['_opt']['topPosition']=_0x563ad5,this[_0x1a4e('0x3dda')](_0x1a4e('0x3553'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x556f81['prototype'],_0x1a4e('0x3aa1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3aa1')];},'set':function(_0x486c57){void 0x0!==_0x486c57&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3aa1')]=_0x486c57,this[_0x1a4e('0x3dda')](_0x1a4e('0x3aa1')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x556f81['prototype'],_0x1a4e('0x40e3'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40e3')];},'set':function(_0x486c57){void 0x0!==_0x486c57&&(_0x486c57>0x5&&(_0x486c57=0x5),_0x486c57<=0x0&&(_0x486c57=0x1),this[_0x1a4e('0x4137')][_0x1a4e('0x40e3')]=_0x486c57,this[_0x1a4e('0x3dda')]('speed'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x556f81[_0x1a4e('0xa')],_0x1a4e('0x40a7'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a7')];},'set':function(_0x486c57){void 0x0!==_0x486c57&&(this['_opt'][_0x1a4e('0x40a7')]=_0x486c57,this[_0x1a4e('0x3dda')]('evenConeColor'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x556f81[_0x1a4e('0xa')],_0x1a4e('0x40a8'),{'get':function(){return this['_opt'][_0x1a4e('0x40a8')];},'set':function(_0x486c57){void 0x0!==_0x486c57&&(this[_0x1a4e('0x4137')][_0x1a4e('0x40a8')]=_0x486c57,this['updateAttribute'](_0x1a4e('0x40a8')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x556f81[_0x1a4e('0xa')],'rotation',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')];},'set':function(_0x486c57){void 0x0!==_0x486c57&&(this[_0x1a4e('0x4137')][_0x1a4e('0x3d2e')]=_0x486c57,this[_0x1a4e('0x3dda')]('rotation'));},'enumerable':!0x0,'configurable':!0x0}),_0x556f81[_0x1a4e('0xa')][_0x1a4e('0x3e53')]=function(){return 0x2;},_0x556f81;}(_0x450a4f[_0x1a4e('0x3ae2')]),_0xdde4ae=function(_0x486c57){function _0x556f81(){var _0x556f81=null!==_0x486c57&&_0x486c57[_0x1a4e('0x8b')](this,arguments)||this;return _0x556f81[_0x1a4e('0x3e50')]=new _0x3a2883['GeoPoint'](0x0,0x0,0x30d40),_0x556f81[_0x1a4e('0x3e4f')]=new _0x3a2883[(_0x1a4e('0x38da'))](0x0,0x0,0x0),_0x556f81[_0x1a4e('0x3aa1')]=0x3c,_0x556f81[_0x1a4e('0x40e3')]=0x1,_0x556f81[_0x1a4e('0x40a7')]=_0x1a4e('0x416d'),_0x556f81['oddConeColor']=_0x1a4e('0x416e'),_0x556f81[_0x1a4e('0x3d2e')]=0x0,_0x556f81;}return _0x563ad5(_0x556f81,_0x486c57),_0x556f81;}(_0x450a4f[_0x1a4e('0x4143')]);window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x36b823);},'./src/LayerManager/GraphicLayer/GraphicItem/SensorGraphic.ts':function(_0x803457,_0x1ef704,_0xdf4a0b){'use strict';_0xdf4a0b['r'](_0x1ef704),_0xdf4a0b['d'](_0x1ef704,_0x1a4e('0x3e8b'),function(){return _0x3f3117;}),_0xdf4a0b['d'](_0x1ef704,_0x1a4e('0x3fe0'),function(){return _0x3a2764;});var _0x1589a4,_0x29a7fb=_0xdf4a0b(_0x1a4e('0x4136')),_0x4fe4c6=_0xdf4a0b(_0x1a4e('0x42a3')),_0x507499=(_0x1589a4=function(_0x803457,_0x1ef704){return(_0x1589a4=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x803457,_0x1ef704){_0x803457[_0x1a4e('0x295')]=_0x1ef704;}||function(_0x803457,_0x1ef704){for(var _0xdf4a0b in _0x1ef704)_0x1ef704[_0x1a4e('0xb')](_0xdf4a0b)&&(_0x803457[_0xdf4a0b]=_0x1ef704[_0xdf4a0b]);})(_0x803457,_0x1ef704);},function(_0x803457,_0x1ef704){function _0xdf4a0b(){this['constructor']=_0x803457;}_0x1589a4(_0x803457,_0x1ef704),_0x803457[_0x1a4e('0xa')]=null===_0x1ef704?Object[_0x1a4e('0x7')](_0x1ef704):(_0xdf4a0b['prototype']=_0x1ef704[_0x1a4e('0xa')],new _0xdf4a0b());}),_0x3f3117=function(_0x803457){function _0x1ef704(_0x1ef704){var _0xdf4a0b=_0x803457[_0x1a4e('0x1')](this,_0x1ef704)||this;return _0xdf4a0b[_0x1a4e('0x4137')]=new _0x3a2764(),_0xdf4a0b[_0x1a4e('0x3acc')](_0x1ef704),_0xdf4a0b;}return _0x507499(_0x1ef704,_0x803457),_0x1ef704['prototype']['getType']=function(){return _0x1ef704['type'];},Object[_0x1a4e('0x2')](_0x1ef704,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e8b');},'enumerable':!0x0,'configurable':!0x0}),_0x1ef704[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x1ef704){if(_0x803457[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x1ef704),this['father']){var _0xdf4a0b=new _0x4fe4c6[(_0x1a4e('0x42a4'))](this,this['father'][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0xdf4a0b;};}},Object[_0x1a4e('0x2')](_0x1ef704[_0x1a4e('0xa')],_0x1a4e('0x3b5d'),{'get':function(){return this['_opt'][_0x1a4e('0x3b5d')];},'set':function(_0x803457){this['_opt'][_0x1a4e('0x3b5d')]=_0x803457;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1ef704[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x803457){this[_0x1a4e('0x4137')]['color']=_0x803457;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1ef704[_0x1a4e('0xa')],_0x1a4e('0x40a0'),{'get':function(){return this['_opt'][_0x1a4e('0x40a0')];},'set':function(_0x803457){this['_opt'][_0x1a4e('0x40a0')]=_0x803457;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1ef704[_0x1a4e('0xa')],_0x1a4e('0x42a5'),{'get':function(){return this['_opt']['xHalfAngle'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1ef704[_0x1a4e('0xa')],_0x1a4e('0x42a6'),{'get':function(){return this[_0x1a4e('0x4137')]['yHalfAngle'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1ef704[_0x1a4e('0xa')],_0x1a4e('0x42a7'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42a7')];},'set':function(_0x803457){this[_0x1a4e('0x4137')][_0x1a4e('0x42a7')]=_0x803457;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1ef704[_0x1a4e('0xa')],_0x1a4e('0x42a8'),{'get':function(){return this['_opt'][_0x1a4e('0x42a8')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1ef704[_0x1a4e('0xa')],_0x1a4e('0x42a9'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42a9')];},'set':function(_0x803457){this['_opt'][_0x1a4e('0x42a9')]=0x1/_0x803457;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1ef704[_0x1a4e('0xa')],_0x1a4e('0x3972'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),_0x1ef704;}(_0x29a7fb[_0x1a4e('0x413a')]),_0x3a2764=function(_0x803457){function _0x1ef704(){var _0x1ef704=null!==_0x803457&&_0x803457[_0x1a4e('0x8b')](this,arguments)||this;return _0x1ef704['radius']=0xf4240,_0x1ef704[_0x1a4e('0x42a9')]=0x3,_0x1ef704[_0x1a4e('0x42a8')]=!0x0,_0x1ef704[_0x1a4e('0x42a5')]=0x2d,_0x1ef704['yHalfAngle']=0x2d,_0x1ef704['scanPlaneColor']=_0x1a4e('0x42aa'),_0x1ef704['color']=_0x1a4e('0x42ab'),_0x1ef704[_0x1a4e('0x40a0')]='#fff',_0x1ef704;}return _0x507499(_0x1ef704,_0x803457),_0x1ef704;}(_0x29a7fb[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x3f3117);},'./src/LayerManager/GraphicLayer/GraphicItem/SphereGraphic.ts':function(_0x4097e9,_0x754613,_0x582d36){'use strict';_0x582d36['r'](_0x754613),_0x582d36['d'](_0x754613,_0x1a4e('0x3e95'),function(){return _0x231468;}),_0x582d36['d'](_0x754613,'SphereGraphicOpt',function(){return _0x264104;});var _0x93eed5,_0x227987=_0x582d36(_0x1a4e('0x4136')),_0x46faae=_0x582d36(_0x1a4e('0x42ac')),_0x56aabc=(_0x93eed5=function(_0x4097e9,_0x754613){return(_0x93eed5=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4097e9,_0x754613){_0x4097e9[_0x1a4e('0x295')]=_0x754613;}||function(_0x4097e9,_0x754613){for(var _0x582d36 in _0x754613)_0x754613[_0x1a4e('0xb')](_0x582d36)&&(_0x4097e9[_0x582d36]=_0x754613[_0x582d36]);})(_0x4097e9,_0x754613);},function(_0x4097e9,_0x754613){function _0x582d36(){this[_0x1a4e('0x10')]=_0x4097e9;}_0x93eed5(_0x4097e9,_0x754613),_0x4097e9[_0x1a4e('0xa')]=null===_0x754613?Object[_0x1a4e('0x7')](_0x754613):(_0x582d36[_0x1a4e('0xa')]=_0x754613[_0x1a4e('0xa')],new _0x582d36());}),_0x231468=function(_0x4097e9){function _0x754613(_0x754613){var _0x582d36=_0x4097e9['call'](this,_0x754613)||this;return _0x582d36[_0x1a4e('0x4137')]=new _0x264104(),_0x582d36[_0x1a4e('0x3acc')](_0x754613),_0x582d36;}return _0x56aabc(_0x754613,_0x4097e9),_0x754613[_0x1a4e('0xa')]['getType']=function(){return _0x754613[_0x1a4e('0x40')];},Object['defineProperty'](_0x754613,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e95');},'enumerable':!0x0,'configurable':!0x0}),_0x754613[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x754613){if(_0x4097e9['prototype']['init'][_0x1a4e('0x1')](this,_0x754613),this[_0x1a4e('0x4138')]){var _0x582d36=new _0x46faae[(_0x1a4e('0x42ad'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x582d36;};}},Object['defineProperty'](_0x754613[_0x1a4e('0xa')],_0x1a4e('0x3bdf'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')];},'set':function(_0x4097e9){this[_0x1a4e('0x4137')][_0x1a4e('0x3bdf')]!==_0x4097e9&&(this['_opt'][_0x1a4e('0x3bdf')]=_0x4097e9,this[_0x1a4e('0x3dda')](_0x1a4e('0x3bdf')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x754613['prototype'],'radius',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')];},'set':function(_0x4097e9){this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')]=_0x4097e9,this[_0x1a4e('0x3dda')](_0x1a4e('0x3b5d'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x754613[_0x1a4e('0xa')],_0x1a4e('0x22c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x22c')];},'set':function(_0x4097e9){this['_opt']['fill']=_0x4097e9,this[_0x1a4e('0x3dda')]('fill');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x754613[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x4097e9){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]!==_0x4097e9&&(this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x4097e9,this[_0x1a4e('0x3dda')](_0x1a4e('0x134')));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x754613[_0x1a4e('0xa')],_0x1a4e('0x4171'),{'get':function(){return this['_opt'][_0x1a4e('0x4171')];},'set':function(_0x4097e9){this[_0x1a4e('0x4137')]['outline']=_0x4097e9,this['updateAttribute'](_0x1a4e('0x4171'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x754613[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this[_0x1a4e('0x4137')]['outlineColor'];},'set':function(_0x4097e9){this['_opt'][_0x1a4e('0x409f')]!==_0x4097e9&&(this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]=_0x4097e9,this[_0x1a4e('0x3dda')](_0x1a4e('0x409f')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x754613[_0x1a4e('0xa')],_0x1a4e('0x4172'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4172')];},'set':function(_0x4097e9){this[_0x1a4e('0x4137')][_0x1a4e('0x4172')]!==_0x4097e9&&(this['_opt'][_0x1a4e('0x4172')]=_0x4097e9,this[_0x1a4e('0x3dda')](_0x1a4e('0x4172')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x754613[_0x1a4e('0xa')],_0x1a4e('0x4187'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4187')];},'set':function(_0x4097e9){this[_0x1a4e('0x4137')][_0x1a4e('0x4187')]!==_0x4097e9&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4187')]=_0x4097e9,this['updateAttribute'](_0x1a4e('0x4187')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x754613[_0x1a4e('0xa')],_0x1a4e('0x4188'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4188')];},'set':function(_0x4097e9){this['_opt']['stackPartitions']!==_0x4097e9&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4188')]=_0x4097e9,this['updateAttribute'](_0x1a4e('0x4188')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x754613[_0x1a4e('0xa')],_0x1a4e('0x4189'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4189')];},'set':function(_0x4097e9){this[_0x1a4e('0x4137')][_0x1a4e('0x4189')]!==_0x4097e9&&(this['_opt']['slicePartitions']=_0x4097e9,this[_0x1a4e('0x3dda')]('slicePartitions'));},'enumerable':!0x0,'configurable':!0x0}),_0x754613;}(_0x227987[_0x1a4e('0x413a')]),_0x264104=function(_0x4097e9){function _0x754613(){var _0x754613=null!==_0x4097e9&&_0x4097e9[_0x1a4e('0x8b')](this,arguments)||this;return _0x754613[_0x1a4e('0x3bdf')]=_0x1a4e('0x60'),_0x754613[_0x1a4e('0x3b5d')]=0x61a80,_0x754613['fill']=!0x0,_0x754613[_0x1a4e('0x134')]=_0x1a4e('0x4176'),_0x754613[_0x1a4e('0x4171')]=!0x1,_0x754613[_0x1a4e('0x409f')]=_0x1a4e('0x4176'),_0x754613[_0x1a4e('0x4172')]=0x1,_0x754613[_0x1a4e('0x4187')]=0x80,_0x754613['stackPartitions']=0x40,_0x754613[_0x1a4e('0x4189')]=0x40,_0x754613;}return _0x56aabc(_0x754613,_0x4097e9),_0x754613;}(_0x227987[_0x1a4e('0x413b')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x231468);},'./src/LayerManager/GraphicLayer/GraphicItem/SpreadCircleGraphic.ts':function(_0x33bc8f,_0x4dbd9f,_0x50b8cb){'use strict';_0x50b8cb['r'](_0x4dbd9f),_0x50b8cb['d'](_0x4dbd9f,_0x1a4e('0x42ae'),function(){return _0x4ddb6d;}),_0x50b8cb['d'](_0x4dbd9f,_0x1a4e('0x4024'),function(){return _0x1e2003;});var _0x278862,_0x1dd2c0=_0x50b8cb('./src/LayerManager/GraphicLayer/GraphicItem/GraphicPositionItem.ts'),_0x50a3f8=(_0x278862=function(_0x33bc8f,_0x4dbd9f){return(_0x278862=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x33bc8f,_0x4dbd9f){_0x33bc8f[_0x1a4e('0x295')]=_0x4dbd9f;}||function(_0x33bc8f,_0x4dbd9f){for(var _0x50b8cb in _0x4dbd9f)_0x4dbd9f[_0x1a4e('0xb')](_0x50b8cb)&&(_0x33bc8f[_0x50b8cb]=_0x4dbd9f[_0x50b8cb]);})(_0x33bc8f,_0x4dbd9f);},function(_0x33bc8f,_0x4dbd9f){function _0x50b8cb(){this[_0x1a4e('0x10')]=_0x33bc8f;}_0x278862(_0x33bc8f,_0x4dbd9f),_0x33bc8f[_0x1a4e('0xa')]=null===_0x4dbd9f?Object[_0x1a4e('0x7')](_0x4dbd9f):(_0x50b8cb[_0x1a4e('0xa')]=_0x4dbd9f[_0x1a4e('0xa')],new _0x50b8cb());}),_0x4ddb6d=function(_0x33bc8f){function _0x4dbd9f(_0x4dbd9f){var _0x50b8cb=_0x33bc8f[_0x1a4e('0x1')](this,_0x4dbd9f)||this;return _0x50b8cb[_0x1a4e('0x4137')]=new _0x1e2003(),_0x50b8cb[_0x1a4e('0x3acc')](_0x4dbd9f),_0x50b8cb;}return _0x50a3f8(_0x4dbd9f,_0x33bc8f),Object[_0x1a4e('0x2')](_0x4dbd9f[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')]['color'];},'set':function(_0x33bc8f){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x33bc8f,this[_0x1a4e('0x3dda')](_0x1a4e('0x134'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4dbd9f[_0x1a4e('0xa')],'duration',{'get':function(){return this[_0x1a4e('0x4137')]['duration'];},'set':function(_0x33bc8f){this[_0x1a4e('0x4137')]['duration']=_0x33bc8f,this[_0x1a4e('0x3dda')]('duration');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4dbd9f[_0x1a4e('0xa')],_0x1a4e('0x3b5d'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')];},'set':function(_0x33bc8f){this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')]=_0x33bc8f,this[_0x1a4e('0x3dda')](_0x1a4e('0x3b5d'));},'enumerable':!0x0,'configurable':!0x0}),_0x4dbd9f;}(_0x1dd2c0[_0x1a4e('0x413a')]),_0x1e2003=function(_0x33bc8f){function _0x4dbd9f(){var _0x4dbd9f=null!==_0x33bc8f&&_0x33bc8f['apply'](this,arguments)||this;return _0x4dbd9f[_0x1a4e('0x134')]=_0x1a4e('0x393b'),_0x4dbd9f['duration']=1.5,_0x4dbd9f[_0x1a4e('0x3b5d')]=0x1f4,_0x4dbd9f;}return _0x50a3f8(_0x4dbd9f,_0x33bc8f),_0x4dbd9f;}(_0x1dd2c0[_0x1a4e('0x413b')]);},'./src/LayerManager/GraphicLayer/GraphicItem/SpreadCircleGroup.ts':function(_0x1f4eec,_0x4f4e01,_0x57bd00){'use strict';_0x57bd00['r'](_0x4f4e01),_0x57bd00['d'](_0x4f4e01,_0x1a4e('0x3e96'),function(){return _0x5b9a24;}),_0x57bd00['d'](_0x4f4e01,_0x1a4e('0x4025'),function(){return _0x188065;}),_0x57bd00['d'](_0x4f4e01,_0x1a4e('0x4026'),function(){return _0x59e038;}),_0x57bd00['d'](_0x4f4e01,_0x1a4e('0x4027'),function(){return _0x1fd8ae;}),_0x57bd00['d'](_0x4f4e01,_0x1a4e('0x3e41'),function(){return _0x529114;}),_0x57bd00['d'](_0x4f4e01,'SpreadCircleRampGraphicOpt',function(){return _0x220620;}),_0x57bd00['d'](_0x4f4e01,_0x1a4e('0x4029'),function(){return _0x1c372b;}),_0x57bd00['d'](_0x4f4e01,'SpreadCircleRingGraphicOpt',function(){return _0x3fe7a7;}),_0x57bd00['d'](_0x4f4e01,_0x1a4e('0x42af'),function(){return _0x21cafc;});var _0x75912e,_0x59e038,_0x198786=_0x57bd00(_0x1a4e('0x42b0')),_0x207236=_0x57bd00(_0x1a4e('0x42b1')),_0x42b081=_0x57bd00('./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleLineRender.ts'),_0x3a9bd8=_0x57bd00(_0x1a4e('0x42b2')),_0x58c13a=_0x57bd00(_0x1a4e('0x42b3')),_0x1620e4=(_0x75912e=function(_0x1f4eec,_0x4f4e01){return(_0x75912e=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x1f4eec,_0x4f4e01){_0x1f4eec['__proto__']=_0x4f4e01;}||function(_0x1f4eec,_0x4f4e01){for(var _0x57bd00 in _0x4f4e01)_0x4f4e01[_0x1a4e('0xb')](_0x57bd00)&&(_0x1f4eec[_0x57bd00]=_0x4f4e01[_0x57bd00]);})(_0x1f4eec,_0x4f4e01);},function(_0x1f4eec,_0x4f4e01){function _0x57bd00(){this[_0x1a4e('0x10')]=_0x1f4eec;}_0x75912e(_0x1f4eec,_0x4f4e01),_0x1f4eec[_0x1a4e('0xa')]=null===_0x4f4e01?Object[_0x1a4e('0x7')](_0x4f4e01):(_0x57bd00[_0x1a4e('0xa')]=_0x4f4e01['prototype'],new _0x57bd00());}),_0x5b9a24=function(_0x1f4eec){function _0x4f4e01(_0x4f4e01){var _0x57bd00=_0x1f4eec[_0x1a4e('0x1')](this,_0x4f4e01)||this;return _0x57bd00['_opt']=new _0x188065(),_0x57bd00[_0x1a4e('0x3acc')](_0x4f4e01),_0x57bd00;}return _0x1620e4(_0x4f4e01,_0x1f4eec),_0x4f4e01[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4f4e01['type'];},Object[_0x1a4e('0x2')](_0x4f4e01[_0x1a4e('0xa')],_0x1a4e('0x3972'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f4e01,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e96');},'enumerable':!0x0,'configurable':!0x0}),_0x4f4e01[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4f4e01){if(_0x1f4eec[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x4f4e01),this[_0x1a4e('0x4138')]){var _0x57bd00=new _0x42b081[(_0x1a4e('0x42b4'))](this,this['father']['getRoot']());this[_0x1a4e('0x413d')]=function(){return _0x57bd00;};}},Object[_0x1a4e('0x2')](_0x4f4e01['prototype'],'renderType',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x418c')];},'set':function(_0x1f4eec){this[_0x1a4e('0x4137')][_0x1a4e('0x418c')]=_0x1f4eec,this['updateAttribute'](_0x1a4e('0x418c'));},'enumerable':!0x0,'configurable':!0x0}),_0x4f4e01;}(_0x58c13a['SpreadCircleGraphic']),_0x188065=function(_0x1f4eec){function _0x4f4e01(){var _0x4f4e01=null!==_0x1f4eec&&_0x1f4eec['apply'](this,arguments)||this;return _0x4f4e01[_0x1a4e('0x418c')]=_0x59e038['Multiple'],_0x4f4e01;}return _0x1620e4(_0x4f4e01,_0x1f4eec),_0x4f4e01;}(_0x58c13a[_0x1a4e('0x4024')]);!function(_0x1f4eec){_0x1f4eec[_0x1f4eec['Multiple']=0x0]='Multiple',_0x1f4eec[_0x1f4eec[_0x1a4e('0x320d')]=0x1]='Single';}(_0x59e038||(_0x59e038={})),window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x5b9a24);var _0x1fd8ae=function(_0x1f4eec){function _0x4f4e01(_0x4f4e01){var _0x57bd00=_0x1f4eec['call'](this,_0x4f4e01)||this;return _0x57bd00['_type']=_0x1a4e('0x4027'),_0x57bd00['_opt']=new _0x58c13a[(_0x1a4e('0x4024'))](),_0x57bd00[_0x1a4e('0x3acc')](_0x4f4e01),_0x57bd00;}return _0x1620e4(_0x4f4e01,_0x1f4eec),_0x4f4e01[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4f4e01[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x4f4e01[_0x1a4e('0xa')],_0x1a4e('0x3972'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f4e01,'type',{'get':function(){return'SpreadCircleClampGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0x4f4e01[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4f4e01){if(_0x1f4eec[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x4f4e01),this[_0x1a4e('0x4138')]){var _0x57bd00=new _0x207236['SpreadCircleClampRender'](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x57bd00;};}},_0x4f4e01;}(_0x58c13a[_0x1a4e('0x42ae')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x1fd8ae);var _0x529114=function(_0x1f4eec){function _0x4f4e01(_0x4f4e01){var _0x57bd00=_0x1f4eec[_0x1a4e('0x1')](this,_0x4f4e01)||this;return _0x57bd00['_type']=_0x1a4e('0x3e41'),_0x57bd00[_0x1a4e('0x4137')]=new _0x220620(),_0x57bd00[_0x1a4e('0x3acc')](_0x4f4e01),_0x57bd00;}return _0x1620e4(_0x4f4e01,_0x1f4eec),_0x4f4e01[_0x1a4e('0xa')]['getType']=function(){return _0x4f4e01['type'];},Object[_0x1a4e('0x2')](_0x4f4e01[_0x1a4e('0xa')],_0x1a4e('0x3972'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f4e01,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e41');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f4e01[_0x1a4e('0xa')],_0x1a4e('0x40a0'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a0')];},'set':function(_0x1f4eec){this['_opt'][_0x1a4e('0x40a0')]=_0x1f4eec,this[_0x1a4e('0x3dda')](_0x1a4e('0x40a0'));},'enumerable':!0x0,'configurable':!0x0}),_0x4f4e01[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4f4e01){if(_0x1f4eec[_0x1a4e('0xa')][_0x1a4e('0x1fd')]['call'](this,_0x4f4e01),this[_0x1a4e('0x4138')]){var _0x57bd00=new _0x198786[(_0x1a4e('0x42b5'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x57bd00;};}},_0x4f4e01;}(_0x58c13a[_0x1a4e('0x42ae')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x529114);var _0x220620=function(_0x1f4eec){function _0x4f4e01(){var _0x4f4e01=null!==_0x1f4eec&&_0x1f4eec[_0x1a4e('0x8b')](this,arguments)||this;return _0x4f4e01['lineColor']=_0x1a4e('0x38d4'),_0x4f4e01;}return _0x1620e4(_0x4f4e01,_0x1f4eec),_0x4f4e01;}(_0x58c13a[_0x1a4e('0x4024')]),_0x1c372b=function(_0x1f4eec){function _0x4f4e01(_0x4f4e01){var _0x57bd00=_0x1f4eec[_0x1a4e('0x1')](this,_0x4f4e01)||this;return _0x57bd00[_0x1a4e('0x4137')]=new _0x3fe7a7(),_0x57bd00[_0x1a4e('0x3acc')](_0x4f4e01),_0x57bd00;}return _0x1620e4(_0x4f4e01,_0x1f4eec),_0x4f4e01[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4f4e01['type'];},Object[_0x1a4e('0x2')](_0x4f4e01,'type',{'get':function(){return _0x1a4e('0x4029');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f4e01[_0x1a4e('0xa')],'height',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x152')];},'set':function(_0x1f4eec){this[_0x1a4e('0x4137')][_0x1a4e('0x152')]=_0x1f4eec,this[_0x1a4e('0x3dda')](_0x1a4e('0x152'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f4e01['prototype'],_0x1a4e('0x389'),{'get':function(){return this[_0x1a4e('0x4137')]['count'];},'set':function(_0x1f4eec){this[_0x1a4e('0x4137')][_0x1a4e('0x389')]=_0x1f4eec,this[_0x1a4e('0x3dda')](_0x1a4e('0x389'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f4e01[_0x1a4e('0xa')],'speed',{'get':function(){return this['_opt']['speed'];},'set':function(_0x1f4eec){this[_0x1a4e('0x4137')][_0x1a4e('0x40e3')]=_0x1f4eec,this['updateAttribute']('speed');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f4e01[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return this['_opt'][_0x1a4e('0x418c')];},'set':function(_0x1f4eec){this['_opt']['renderType']=_0x1f4eec,this[_0x1a4e('0x3dda')](_0x1a4e('0x418c'));},'enumerable':!0x0,'configurable':!0x0}),_0x4f4e01[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4f4e01){if(_0x1f4eec['prototype'][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x4f4e01),this['father']){var _0x57bd00=new _0x3a9bd8[(_0x1a4e('0x42b6'))](this,this['father']['getRoot']());this[_0x1a4e('0x413d')]=function(){return _0x57bd00;};}},_0x4f4e01;}(_0x58c13a['SpreadCircleGraphic']);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x1c372b);var _0x21cafc,_0x3fe7a7=function(_0x1f4eec){function _0x4f4e01(){var _0x4f4e01=null!==_0x1f4eec&&_0x1f4eec[_0x1a4e('0x8b')](this,arguments)||this;return _0x4f4e01['renderType']=_0x21cafc['Solid'],_0x4f4e01[_0x1a4e('0x152')]=0xa,_0x4f4e01[_0x1a4e('0x389')]=0x1,_0x4f4e01[_0x1a4e('0x40e3')]=0xa,_0x4f4e01;}return _0x1620e4(_0x4f4e01,_0x1f4eec),_0x4f4e01;}(_0x58c13a[_0x1a4e('0x4024')]);!function(_0x1f4eec){_0x1f4eec[_0x1f4eec[_0x1a4e('0x42b7')]=0x0]=_0x1a4e('0x42b7'),_0x1f4eec[_0x1f4eec['Ramp']=0x1]='Ramp',_0x1f4eec[_0x1f4eec[_0x1a4e('0x42b8')]=0x2]=_0x1a4e('0x42b8');}(_0x21cafc||(_0x21cafc={}));},'./src/LayerManager/GraphicLayer/GraphicItem/SpreadGraphic.ts':function(_0x5530e4,_0x5e638a,_0x2cf602){'use strict';_0x2cf602['r'](_0x5e638a),_0x2cf602['d'](_0x5e638a,_0x1a4e('0x3e3e'),function(){return _0x11206b;}),_0x2cf602['d'](_0x5e638a,_0x1a4e('0x3fe1'),function(){return _0x74a5e3;});var _0x398de2,_0x48ad8d=_0x2cf602('./src/LayerManager/GraphicLayer/GraphicItem/GraphicPositionItem.ts'),_0x5c7296=_0x2cf602(_0x1a4e('0x42b9')),_0x174a0c=(_0x398de2=function(_0x5530e4,_0x5e638a){return(_0x398de2=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5530e4,_0x5e638a){_0x5530e4[_0x1a4e('0x295')]=_0x5e638a;}||function(_0x5530e4,_0x5e638a){for(var _0x2cf602 in _0x5e638a)_0x5e638a['hasOwnProperty'](_0x2cf602)&&(_0x5530e4[_0x2cf602]=_0x5e638a[_0x2cf602]);})(_0x5530e4,_0x5e638a);},function(_0x5530e4,_0x5e638a){function _0x2cf602(){this['constructor']=_0x5530e4;}_0x398de2(_0x5530e4,_0x5e638a),_0x5530e4[_0x1a4e('0xa')]=null===_0x5e638a?Object['create'](_0x5e638a):(_0x2cf602['prototype']=_0x5e638a['prototype'],new _0x2cf602());}),_0x11206b=function(_0x5530e4){function _0x5e638a(_0x5e638a){var _0x2cf602=_0x5530e4[_0x1a4e('0x1')](this,_0x5e638a)||this;return _0x2cf602[_0x1a4e('0x4137')]=new _0x74a5e3(),_0x2cf602['parseJson'](_0x5e638a),_0x2cf602;}return _0x174a0c(_0x5e638a,_0x5530e4),_0x5e638a[_0x1a4e('0xa')]['getType']=function(){return _0x5e638a[_0x1a4e('0x40')];},Object['defineProperty'](_0x5e638a,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e3e');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5e638a['prototype'],_0x1a4e('0x3972'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),_0x5e638a[_0x1a4e('0xa')]['init']=function(_0x5e638a){if(_0x5530e4[_0x1a4e('0xa')]['init']['call'](this,_0x5e638a),this[_0x1a4e('0x4138')]){var _0x2cf602=new _0x5c7296[(_0x1a4e('0x42ba'))](this,this['father']['getRoot']());this[_0x1a4e('0x413d')]=function(){return _0x2cf602;};}},Object[_0x1a4e('0x2')](_0x5e638a['prototype'],_0x1a4e('0x42bb'),{'get':function(){return this[_0x1a4e('0x4137')]['spreadColor'];},'set':function(_0x5530e4){this[_0x1a4e('0x4137')][_0x1a4e('0x42bb')]=_0x5530e4,this[_0x1a4e('0x3dda')](_0x1a4e('0x42bb'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5e638a[_0x1a4e('0xa')],_0x1a4e('0x3b5d'),{'get':function(){return this['_opt']['radius'];},'set':function(_0x5530e4){this[_0x1a4e('0x4137')][_0x1a4e('0x3b5d')]=_0x5530e4,this[_0x1a4e('0x3dda')](_0x1a4e('0x3b5d'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5e638a[_0x1a4e('0xa')],_0x1a4e('0x40e3'),{'get':function(){return this[_0x1a4e('0x4137')]['speed'];},'set':function(_0x5530e4){_0x5530e4>=0x1&&_0x5530e4<=0xa&&(this['_opt'][_0x1a4e('0x40e3')]=_0x5530e4,this[_0x1a4e('0x3dda')](_0x1a4e('0x40e3')));},'enumerable':!0x0,'configurable':!0x0}),_0x5e638a;}(_0x48ad8d['GraphicPositionItem']),_0x74a5e3=function(_0x5530e4){function _0x5e638a(){var _0x5e638a=null!==_0x5530e4&&_0x5530e4['apply'](this,arguments)||this;return _0x5e638a[_0x1a4e('0x42bb')]=_0x1a4e('0x417a'),_0x5e638a[_0x1a4e('0x3b5d')]=0x5dc,_0x5e638a[_0x1a4e('0x40e3')]=0x5,_0x5e638a;}return _0x174a0c(_0x5e638a,_0x5530e4),_0x5e638a;}(_0x48ad8d['GraphicPositionItemOpt']);window['GV']['REGISTER'](_0x1a4e('0x3ae2'),_0x11206b);},'./src/LayerManager/GraphicLayer/GraphicItem/TriangleMeshGraphic.ts':function(_0x18c886,_0x589511,_0x2012b3){'use strict';_0x2012b3['r'](_0x589511),_0x2012b3['d'](_0x589511,_0x1a4e('0x3ff4'),function(){return _0x2be209;}),_0x2012b3['d'](_0x589511,_0x1a4e('0x3ff3'),function(){return _0x37e29d;});var _0x2fd517,_0x48979d=_0x2012b3('./src/LayerManager/GraphicLayer/GraphicItem/GraphicItem.ts'),_0x50e898=_0x2012b3(_0x1a4e('0x42bc')),_0x2a0f1e=(_0x2fd517=function(_0x18c886,_0x589511){return(_0x2fd517=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x18c886,_0x589511){_0x18c886[_0x1a4e('0x295')]=_0x589511;}||function(_0x18c886,_0x589511){for(var _0x2012b3 in _0x589511)_0x589511[_0x1a4e('0xb')](_0x2012b3)&&(_0x18c886[_0x2012b3]=_0x589511[_0x2012b3]);})(_0x18c886,_0x589511);},function(_0x18c886,_0x589511){function _0x2012b3(){this[_0x1a4e('0x10')]=_0x18c886;}_0x2fd517(_0x18c886,_0x589511),_0x18c886['prototype']=null===_0x589511?Object[_0x1a4e('0x7')](_0x589511):(_0x2012b3[_0x1a4e('0xa')]=_0x589511[_0x1a4e('0xa')],new _0x2012b3());}),_0x2be209=function(_0x18c886){function _0x589511(_0x589511){var _0x2012b3=_0x18c886[_0x1a4e('0x1')](this,_0x589511)||this;return _0x2012b3[_0x1a4e('0x39d5')]=_0x1a4e('0x3ff4'),_0x2012b3['_opt']=new _0x37e29d(),_0x2012b3[_0x1a4e('0x3acc')](_0x589511),_0x2012b3;}return _0x2a0f1e(_0x589511,_0x18c886),_0x589511[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x589511[_0x1a4e('0x40')];},Object['defineProperty'](_0x589511,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3ff4');},'enumerable':!0x0,'configurable':!0x0}),_0x589511[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x589511){if(_0x18c886[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x589511),this[_0x1a4e('0x4138')]){var _0x2012b3=new _0x50e898['TriangleMesh'](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x2012b3;};}},Object[_0x1a4e('0x2')](_0x589511[_0x1a4e('0xa')],'dataSource',{'get':function(){return this[_0x1a4e('0x4137')]['dataSource'];},'set':function(_0x18c886){this[_0x1a4e('0x4137')]['dataSource']=_0x18c886,this['updateAttribute']('dataSource');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x589511[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this['_opt'][_0x1a4e('0x134')];},'set':function(_0x18c886){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x18c886,this[_0x1a4e('0x3dda')](_0x1a4e('0x134'));},'enumerable':!0x0,'configurable':!0x0}),_0x589511;}(_0x48979d[_0x1a4e('0x3ae2')]),_0x37e29d=function(_0x18c886){function _0x589511(){var _0x589511=null!==_0x18c886&&_0x18c886['apply'](this,arguments)||this;return _0x589511['color']=_0x1a4e('0x42bd'),_0x589511;}return _0x2a0f1e(_0x589511,_0x18c886),_0x589511;}(_0x48979d['GraphicItemOpt']);window['GV']['REGISTER'](_0x1a4e('0x3ae2'),_0x2be209);},'./src/LayerManager/GraphicLayer/GraphicItem/TruncatedConeGraphic.ts':function(_0x3818a4,_0x59a84c,_0x50e991){'use strict';_0x50e991['r'](_0x59a84c),_0x50e991['d'](_0x59a84c,_0x1a4e('0x4020'),function(){return _0x325842;}),_0x50e991['d'](_0x59a84c,_0x1a4e('0x4021'),function(){return _0x413034;});var _0x2b3900,_0x489f9f=_0x50e991(_0x1a4e('0x42be')),_0x2454d7=_0x50e991(_0x1a4e('0x4136')),_0x5362c1=(_0x2b3900=function(_0x3818a4,_0x59a84c){return(_0x2b3900=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x3818a4,_0x59a84c){_0x3818a4[_0x1a4e('0x295')]=_0x59a84c;}||function(_0x3818a4,_0x59a84c){for(var _0x50e991 in _0x59a84c)_0x59a84c[_0x1a4e('0xb')](_0x50e991)&&(_0x3818a4[_0x50e991]=_0x59a84c[_0x50e991]);})(_0x3818a4,_0x59a84c);},function(_0x3818a4,_0x59a84c){function _0x50e991(){this[_0x1a4e('0x10')]=_0x3818a4;}_0x2b3900(_0x3818a4,_0x59a84c),_0x3818a4[_0x1a4e('0xa')]=null===_0x59a84c?Object[_0x1a4e('0x7')](_0x59a84c):(_0x50e991[_0x1a4e('0xa')]=_0x59a84c[_0x1a4e('0xa')],new _0x50e991());}),_0x325842=function(_0x3818a4){function _0x59a84c(_0x59a84c){var _0x50e991=_0x3818a4[_0x1a4e('0x1')](this,_0x59a84c)||this;return _0x50e991['_opt']=new _0x413034(),_0x50e991[_0x1a4e('0x3acc')](_0x59a84c),_0x50e991;}return _0x5362c1(_0x59a84c,_0x3818a4),_0x59a84c[_0x1a4e('0xa')]['getType']=function(){return _0x59a84c[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x59a84c,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x4020');},'enumerable':!0x0,'configurable':!0x0}),_0x59a84c[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x59a84c){if(_0x3818a4[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x59a84c),this[_0x1a4e('0x4138')]){var _0x50e991=new _0x489f9f[(_0x1a4e('0x42bf'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0x50e991;};}},Object[_0x1a4e('0x2')](_0x59a84c[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this['_opt']['color'];},'set':function(_0x3818a4){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x3818a4,this[_0x1a4e('0x3dda')](_0x1a4e('0x134'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x59a84c[_0x1a4e('0xa')],'innerRadius',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42c0')];},'set':function(_0x3818a4){this[_0x1a4e('0x4137')][_0x1a4e('0x42c0')]=_0x3818a4,this[_0x1a4e('0x3dda')](_0x1a4e('0x42c0'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x59a84c[_0x1a4e('0xa')],_0x1a4e('0x42c1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42c1')];},'set':function(_0x3818a4){this[_0x1a4e('0x4137')][_0x1a4e('0x42c1')]=_0x3818a4,this[_0x1a4e('0x3dda')](_0x1a4e('0x42c1'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x59a84c[_0x1a4e('0xa')],_0x1a4e('0x3dfc'),{'get':function(){return this[_0x1a4e('0x4137')]['innerTopRadius'];},'set':function(_0x3818a4){this['_opt'][_0x1a4e('0x3dfc')]=_0x3818a4,this[_0x1a4e('0x3dda')](_0x1a4e('0x3dfc'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x59a84c[_0x1a4e('0xa')],_0x1a4e('0x3df7'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3df7')];},'set':function(_0x3818a4){this[_0x1a4e('0x4137')][_0x1a4e('0x3df7')]=_0x3818a4,this[_0x1a4e('0x3dda')](_0x1a4e('0x3df7'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x59a84c['prototype'],'innerHeight',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3df8')];},'set':function(_0x3818a4){this['_opt']['innerHeight']=_0x3818a4,this['updateAttribute']('innerHeight');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x59a84c[_0x1a4e('0xa')],_0x1a4e('0x3df4'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3df4')];},'set':function(_0x3818a4){this[_0x1a4e('0x4137')]['outerTopRadius']=_0x3818a4,this['updateAttribute'](_0x1a4e('0x3df4'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x59a84c[_0x1a4e('0xa')],'outerBottomRadius',{'get':function(){return this[_0x1a4e('0x4137')]['outerBottomRadius'];},'set':function(_0x3818a4){this[_0x1a4e('0x4137')][_0x1a4e('0x3df5')]=_0x3818a4,this[_0x1a4e('0x3dda')](_0x1a4e('0x3df5'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x59a84c[_0x1a4e('0xa')],'outerHeight',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3df6')];},'set':function(_0x3818a4){this['_opt'][_0x1a4e('0x3df6')]=_0x3818a4,this['updateAttribute'](_0x1a4e('0x3df6'));},'enumerable':!0x0,'configurable':!0x0}),_0x59a84c;}(_0x2454d7[_0x1a4e('0x413a')]),_0x413034=function(_0x3818a4){function _0x59a84c(){var _0x59a84c=null!==_0x3818a4&&_0x3818a4[_0x1a4e('0x8b')](this,arguments)||this;return _0x59a84c[_0x1a4e('0x134')]=_0x1a4e('0x42c2'),_0x59a84c['innerRadius']=0x23,_0x59a84c[_0x1a4e('0x42c1')]=0x32,_0x59a84c[_0x1a4e('0x3dfc')]=0x23,_0x59a84c[_0x1a4e('0x3df7')]=0xf,_0x59a84c['innerHeight']=0x2d,_0x59a84c[_0x1a4e('0x3df4')]=0x2d,_0x59a84c[_0x1a4e('0x3df5')]=0x19,_0x59a84c[_0x1a4e('0x3df6')]=0x23,_0x59a84c;}return _0x5362c1(_0x59a84c,_0x3818a4),_0x59a84c;}(_0x2454d7[_0x1a4e('0x413b')]);},'./src/LayerManager/GraphicLayer/GraphicItem/TruncatedConeParticleGraphic.ts':function(_0x3da3fa,_0x664a87,_0x554bd0){'use strict';_0x554bd0['r'](_0x664a87),_0x554bd0['d'](_0x664a87,'TruncatedConeParticleGraphic',function(){return _0x91529b;}),_0x554bd0['d'](_0x664a87,_0x1a4e('0x4023'),function(){return _0x9c4a54;});var _0x383f96,_0x1709ba=_0x554bd0(_0x1a4e('0x42c3')),_0x17cd4b=_0x554bd0('./src/LayerManager/GraphicLayer/GraphicItem/GraphicPositionItem.ts'),_0x148081=(_0x383f96=function(_0x3da3fa,_0x664a87){return(_0x383f96=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x3da3fa,_0x664a87){_0x3da3fa[_0x1a4e('0x295')]=_0x664a87;}||function(_0x3da3fa,_0x664a87){for(var _0x554bd0 in _0x664a87)_0x664a87[_0x1a4e('0xb')](_0x554bd0)&&(_0x3da3fa[_0x554bd0]=_0x664a87[_0x554bd0]);})(_0x3da3fa,_0x664a87);},function(_0x3da3fa,_0x664a87){function _0x554bd0(){this['constructor']=_0x3da3fa;}_0x383f96(_0x3da3fa,_0x664a87),_0x3da3fa['prototype']=null===_0x664a87?Object[_0x1a4e('0x7')](_0x664a87):(_0x554bd0[_0x1a4e('0xa')]=_0x664a87['prototype'],new _0x554bd0());}),_0x91529b=function(_0x3da3fa){function _0x664a87(_0x664a87){var _0x554bd0=_0x3da3fa['call'](this,_0x664a87)||this;return _0x554bd0[_0x1a4e('0x4137')]=new _0x9c4a54(),_0x554bd0['parseJson'](_0x664a87),_0x554bd0;}return _0x148081(_0x664a87,_0x3da3fa),_0x664a87[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x664a87['type'];},Object['defineProperty'](_0x664a87,_0x1a4e('0x40'),{'get':function(){return'TruncatedConeParticleGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0x664a87['prototype'][_0x1a4e('0x1fd')]=function(_0x664a87){if(_0x3da3fa[_0x1a4e('0xa')][_0x1a4e('0x1fd')]['call'](this,_0x664a87),this[_0x1a4e('0x4138')]){var _0x554bd0=new _0x1709ba[(_0x1a4e('0x42c4'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x554bd0;};}},Object[_0x1a4e('0x2')](_0x664a87[_0x1a4e('0xa')],'color',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x134')];},'set':function(_0x3da3fa){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x3da3fa,this[_0x1a4e('0x3dda')]('color');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x664a87[_0x1a4e('0xa')],_0x1a4e('0x42c5'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42c5')];},'set':function(_0x3da3fa){this['_opt'][_0x1a4e('0x42c5')]=_0x3da3fa,this[_0x1a4e('0x3dda')](_0x1a4e('0x42c5'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x664a87['prototype'],_0x1a4e('0x42c6'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42c6')];},'set':function(_0x3da3fa){this[_0x1a4e('0x4137')][_0x1a4e('0x42c6')]=_0x3da3fa,this['updateAttribute'](_0x1a4e('0x42c6'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x664a87[_0x1a4e('0xa')],'topRadius',{'get':function(){return this[_0x1a4e('0x4137')]['topRadius'];},'set':function(_0x3da3fa){this[_0x1a4e('0x4137')][_0x1a4e('0x3b50')]=_0x3da3fa,this[_0x1a4e('0x3dda')](_0x1a4e('0x3b50'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x664a87[_0x1a4e('0xa')],_0x1a4e('0x3b51'),{'get':function(){return this[_0x1a4e('0x4137')]['bottomRadius'];},'set':function(_0x3da3fa){this[_0x1a4e('0x4137')][_0x1a4e('0x3b51')]=_0x3da3fa,this['updateAttribute'](_0x1a4e('0x3b51'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x664a87[_0x1a4e('0xa')],_0x1a4e('0x152'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x152')];},'set':function(_0x3da3fa){this[_0x1a4e('0x4137')]['height']=_0x3da3fa,this[_0x1a4e('0x3dda')](_0x1a4e('0x152'));},'enumerable':!0x0,'configurable':!0x0}),_0x664a87;}(_0x17cd4b[_0x1a4e('0x413a')]),_0x9c4a54=function(_0x3da3fa){function _0x664a87(){var _0x664a87=null!==_0x3da3fa&&_0x3da3fa['apply'](this,arguments)||this;return _0x664a87[_0x1a4e('0x134')]=_0x1a4e('0x42c7'),_0x664a87[_0x1a4e('0x42c5')]=[0x1e,0x28,0x32],_0x664a87['deltaHeight']=0x2,_0x664a87['topRadius']=0x3c,_0x664a87['bottomRadius']=0x1e,_0x664a87[_0x1a4e('0x152')]=0x32,_0x664a87;}return _0x148081(_0x664a87,_0x3da3fa),_0x664a87;}(_0x17cd4b['GraphicPositionItemOpt']);},'./src/LayerManager/GraphicLayer/GraphicItem/VolumePolylineGraphic.ts':function(_0x5e8504,_0x580fde,_0x37350f){'use strict';_0x37350f['r'](_0x580fde),_0x37350f['d'](_0x580fde,_0x1a4e('0x3e37'),function(){return _0x49857a;}),_0x37350f['d'](_0x580fde,_0x1a4e('0x3fe9'),function(){return _0x51e248;});var _0x252d18,_0x38595e=_0x37350f(_0x1a4e('0x3e0b')),_0x1159a2=_0x37350f('./src/LayerManager/GraphicLayer/GraphicRender/CesiumVolumePolyline.ts'),_0x5023bd=(_0x252d18=function(_0x5e8504,_0x580fde){return(_0x252d18=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5e8504,_0x580fde){_0x5e8504[_0x1a4e('0x295')]=_0x580fde;}||function(_0x5e8504,_0x580fde){for(var _0x37350f in _0x580fde)_0x580fde['hasOwnProperty'](_0x37350f)&&(_0x5e8504[_0x37350f]=_0x580fde[_0x37350f]);})(_0x5e8504,_0x580fde);},function(_0x5e8504,_0x580fde){function _0x37350f(){this['constructor']=_0x5e8504;}_0x252d18(_0x5e8504,_0x580fde),_0x5e8504['prototype']=null===_0x580fde?Object[_0x1a4e('0x7')](_0x580fde):(_0x37350f[_0x1a4e('0xa')]=_0x580fde['prototype'],new _0x37350f());}),_0x49857a=function(_0x5e8504){function _0x580fde(_0x580fde){var _0x37350f=_0x5e8504[_0x1a4e('0x1')](this,_0x580fde)||this;return _0x37350f[_0x1a4e('0x39d5')]=_0x1a4e('0x3e37'),_0x37350f[_0x1a4e('0x4137')]=new _0x51e248(),_0x37350f[_0x1a4e('0x3acc')](_0x580fde),_0x37350f;}return _0x5023bd(_0x580fde,_0x5e8504),_0x580fde[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x580fde['type'];},Object[_0x1a4e('0x2')](_0x580fde,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e37');},'enumerable':!0x0,'configurable':!0x0}),_0x580fde[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x580fde){if(_0x5e8504[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x580fde),this[_0x1a4e('0x4138')]){var _0x37350f=new _0x1159a2[(_0x1a4e('0x42c8'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x37350f;};}},Object[_0x1a4e('0x2')](_0x580fde[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return this['_opt'][_0x1a4e('0x398a')];},'set':function(_0x5e8504){this[_0x1a4e('0x4137')]['positions']=_0x5e8504,this[_0x1a4e('0x3dda')](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x580fde[_0x1a4e('0xa')],_0x1a4e('0x423f'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x423f')];},'set':function(_0x5e8504){this[_0x1a4e('0x4137')][_0x1a4e('0x423f')]=_0x5e8504,this[_0x1a4e('0x3dda')](_0x1a4e('0x423f'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x580fde[_0x1a4e('0xa')],_0x1a4e('0x42c9'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42c9')];},'set':function(_0x5e8504){this[_0x1a4e('0x4137')][_0x1a4e('0x42c9')]!==_0x5e8504&&(this[_0x1a4e('0x4137')][_0x1a4e('0x42c9')]=_0x5e8504,this[_0x1a4e('0x3dda')](_0x1a4e('0x42c9')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x580fde[_0x1a4e('0xa')],_0x1a4e('0x22c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x22c')];},'set':function(_0x5e8504){this['_opt'][_0x1a4e('0x22c')]=_0x5e8504,this[_0x1a4e('0x3dda')]('fill');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x580fde[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this['_opt'][_0x1a4e('0x134')];},'set':function(_0x5e8504){this['_opt'][_0x1a4e('0x134')]=_0x5e8504,this[_0x1a4e('0x3dda')](_0x1a4e('0x134'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x580fde[_0x1a4e('0xa')],'outline',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4171')];},'set':function(_0x5e8504){this[_0x1a4e('0x4137')][_0x1a4e('0x4171')]=_0x5e8504,this['updateAttribute'](_0x1a4e('0x4171'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x580fde[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this['_opt'][_0x1a4e('0x409f')];},'set':function(_0x5e8504){this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]!==_0x5e8504&&(this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]=_0x5e8504,this['updateAttribute'](_0x1a4e('0x409f')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x580fde[_0x1a4e('0xa')],_0x1a4e('0x4172'),{'get':function(){return this[_0x1a4e('0x4137')]['outlineWidth'];},'set':function(_0x5e8504){this[_0x1a4e('0x4137')][_0x1a4e('0x4172')]!==_0x5e8504&&(this['_opt'][_0x1a4e('0x4172')]=_0x5e8504,this[_0x1a4e('0x3dda')](_0x1a4e('0x4172')));},'enumerable':!0x0,'configurable':!0x0}),_0x580fde;}(_0x38595e['GraphicItem']),_0x51e248=function(_0x5e8504){function _0x580fde(){var _0x580fde=null!==_0x5e8504&&_0x5e8504[_0x1a4e('0x8b')](this,arguments)||this;return _0x580fde[_0x1a4e('0x42c9')]='beveled',_0x580fde[_0x1a4e('0x22c')]=!0x0,_0x580fde[_0x1a4e('0x134')]='#ff0000',_0x580fde[_0x1a4e('0x4171')]=!0x1,_0x580fde[_0x1a4e('0x409f')]=_0x1a4e('0x42ca'),_0x580fde['outlineWidth']=0x1,_0x580fde;}return _0x5023bd(_0x580fde,_0x5e8504),_0x580fde;}(_0x38595e[_0x1a4e('0x4143')]);window['GV']['REGISTER']('GraphicItem',_0x49857a);},'./src/LayerManager/GraphicLayer/GraphicItem/WallGraphic.ts':function(_0x2f7556,_0x3fb2d5,_0x3b11a3){'use strict';_0x3b11a3['r'](_0x3fb2d5),_0x3b11a3['d'](_0x3fb2d5,'WallGraphic',function(){return _0x2ac726;}),_0x3b11a3['d'](_0x3fb2d5,'WallGraphicOpt',function(){return _0x37bd21;});var _0x4d7f03,_0x52fa51=_0x3b11a3('./src/LayerManager/GraphicLayer/GraphicItem/GraphicItem.ts'),_0x3fe5a9=_0x3b11a3('./src/LayerManager/GraphicLayer/GraphicRender/CesiumWall.ts'),_0x2308b3=(_0x4d7f03=function(_0x2f7556,_0x3fb2d5){return(_0x4d7f03=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x2f7556,_0x3fb2d5){_0x2f7556['__proto__']=_0x3fb2d5;}||function(_0x2f7556,_0x3fb2d5){for(var _0x3b11a3 in _0x3fb2d5)_0x3fb2d5[_0x1a4e('0xb')](_0x3b11a3)&&(_0x2f7556[_0x3b11a3]=_0x3fb2d5[_0x3b11a3]);})(_0x2f7556,_0x3fb2d5);},function(_0x2f7556,_0x3fb2d5){function _0x3b11a3(){this[_0x1a4e('0x10')]=_0x2f7556;}_0x4d7f03(_0x2f7556,_0x3fb2d5),_0x2f7556[_0x1a4e('0xa')]=null===_0x3fb2d5?Object['create'](_0x3fb2d5):(_0x3b11a3['prototype']=_0x3fb2d5[_0x1a4e('0xa')],new _0x3b11a3());}),_0x2ac726=function(_0x2f7556){function _0x3fb2d5(_0x3fb2d5){var _0x3b11a3=_0x2f7556[_0x1a4e('0x1')](this,_0x3fb2d5)||this;return _0x3b11a3[_0x1a4e('0x39d5')]=_0x1a4e('0x3fe4'),_0x3b11a3[_0x1a4e('0x4137')]=new _0x37bd21(),_0x3b11a3[_0x1a4e('0x3acc')](_0x3fb2d5),_0x3b11a3;}return _0x2308b3(_0x3fb2d5,_0x2f7556),_0x3fb2d5[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x3fb2d5[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x3fb2d5,_0x1a4e('0x40'),{'get':function(){return'WallGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0x3fb2d5[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x3fb2d5){if(_0x2f7556['prototype'][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x3fb2d5),this[_0x1a4e('0x4138')]){var _0x3b11a3=new _0x3fe5a9['CesiumWall'](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x3b11a3;};}},Object[_0x1a4e('0x2')](_0x3fb2d5[_0x1a4e('0xa')],_0x1a4e('0x398a'),{'get':function(){return this['_opt']['positions'];},'set':function(_0x2f7556){this[_0x1a4e('0x4137')][_0x1a4e('0x398a')]=_0x2f7556,this[_0x1a4e('0x3dda')](_0x1a4e('0x398a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fb2d5[_0x1a4e('0xa')],_0x1a4e('0x4199'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4199')];},'set':function(_0x2f7556){this[_0x1a4e('0x4137')]['maximumHeights']=_0x2f7556,this[_0x1a4e('0x3dda')](_0x1a4e('0x4199'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x3fb2d5[_0x1a4e('0xa')],_0x1a4e('0x419a'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x419a')];},'set':function(_0x2f7556){this[_0x1a4e('0x4137')][_0x1a4e('0x419a')]=_0x2f7556,this['updateAttribute'](_0x1a4e('0x419a'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fb2d5[_0x1a4e('0xa')],_0x1a4e('0x22c'),{'get':function(){return this[_0x1a4e('0x4137')]['fill'];},'set':function(_0x2f7556){this[_0x1a4e('0x4137')]['fill']=_0x2f7556,this['updateAttribute'](_0x1a4e('0x22c'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fb2d5['prototype'],_0x1a4e('0x134'),{'get':function(){return this['_opt'][_0x1a4e('0x134')];},'set':function(_0x2f7556){this['_opt'][_0x1a4e('0x134')]=_0x2f7556,this[_0x1a4e('0x3dda')](_0x1a4e('0x134'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x3fb2d5[_0x1a4e('0xa')],'outline',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4171')];},'set':function(_0x2f7556){this[_0x1a4e('0x4137')]['outline']=_0x2f7556,this['updateAttribute'](_0x1a4e('0x4171'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fb2d5['prototype'],'outlineColor',{'get':function(){return this['_opt'][_0x1a4e('0x409f')];},'set':function(_0x2f7556){this[_0x1a4e('0x4137')][_0x1a4e('0x409f')]!==_0x2f7556&&(this['_opt'][_0x1a4e('0x409f')]=_0x2f7556,this[_0x1a4e('0x3dda')](_0x1a4e('0x409f')));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3fb2d5[_0x1a4e('0xa')],'outlineWidth',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4172')];},'set':function(_0x2f7556){this[_0x1a4e('0x4137')][_0x1a4e('0x4172')]!==_0x2f7556&&(this[_0x1a4e('0x4137')][_0x1a4e('0x4172')]=_0x2f7556,this[_0x1a4e('0x3dda')](_0x1a4e('0x4172')));},'enumerable':!0x0,'configurable':!0x0}),_0x3fb2d5;}(_0x52fa51[_0x1a4e('0x3ae2')]),_0x37bd21=function(_0x2f7556){function _0x3fb2d5(){var _0x3fb2d5=null!==_0x2f7556&&_0x2f7556[_0x1a4e('0x8b')](this,arguments)||this;return _0x3fb2d5[_0x1a4e('0x22c')]=!0x0,_0x3fb2d5[_0x1a4e('0x134')]=_0x1a4e('0x42cb'),_0x3fb2d5[_0x1a4e('0x4171')]=!0x1,_0x3fb2d5['outlineColor']='rgba(255,\x200,\x20255,\x201.0)',_0x3fb2d5['outlineWidth']=0x1,_0x3fb2d5;}return _0x2308b3(_0x3fb2d5,_0x2f7556),_0x3fb2d5;}(_0x52fa51[_0x1a4e('0x4143')]);window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ae2'),_0x2ac726);},'./src/LayerManager/GraphicLayer/GraphicItem/WaterFaceGraphic.ts':function(_0x4e98c9,_0x278197,_0x18b596){'use strict';_0x18b596['r'](_0x278197),_0x18b596['d'](_0x278197,_0x1a4e('0x42cc'),function(){return _0x39dea0;}),_0x18b596['d'](_0x278197,_0x1a4e('0x401f'),function(){return _0xe280e3;});var _0x186dad,_0x96e7bc=_0x18b596(_0x1a4e('0x3e0b')),_0x2afbe0=_0x18b596('./src/LayerManager/GraphicLayer/GraphicRender/WaterFacePrimitive.ts'),_0x41dd7c=(_0x186dad=function(_0x4e98c9,_0x278197){return(_0x186dad=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4e98c9,_0x278197){_0x4e98c9[_0x1a4e('0x295')]=_0x278197;}||function(_0x4e98c9,_0x278197){for(var _0x18b596 in _0x278197)_0x278197[_0x1a4e('0xb')](_0x18b596)&&(_0x4e98c9[_0x18b596]=_0x278197[_0x18b596]);})(_0x4e98c9,_0x278197);},function(_0x4e98c9,_0x278197){function _0x18b596(){this['constructor']=_0x4e98c9;}_0x186dad(_0x4e98c9,_0x278197),_0x4e98c9['prototype']=null===_0x278197?Object[_0x1a4e('0x7')](_0x278197):(_0x18b596[_0x1a4e('0xa')]=_0x278197[_0x1a4e('0xa')],new _0x18b596());}),_0xe280e3=function(_0x4e98c9){function _0x278197(_0x278197){var _0x18b596=_0x4e98c9[_0x1a4e('0x1')](this,_0x278197)||this;return _0x18b596[_0x1a4e('0x39d5')]='WaterFaceGraphic',_0x18b596['_opt']=_0x278197,_0x18b596;}return _0x41dd7c(_0x278197,_0x4e98c9),_0x278197['prototype'][_0x1a4e('0x3cc')]=function(){return _0x278197['type'];},Object[_0x1a4e('0x2')](_0x278197,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x401f');},'enumerable':!0x0,'configurable':!0x0}),_0x278197[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x278197){if(_0x4e98c9['prototype']['init'][_0x1a4e('0x1')](this,_0x278197),this['father']){var _0x18b596=new _0x2afbe0[(_0x1a4e('0x8'))](this,this[_0x1a4e('0x4138')][_0x1a4e('0x4d4')]());this['_getRenderObj']=function(){return _0x18b596;};}},Object['defineProperty'](_0x278197[_0x1a4e('0xa')],_0x1a4e('0x42cd'),{'get':function(){return this['_opt']['waterColor'];},'set':function(_0x4e98c9){this[_0x1a4e('0x4137')][_0x1a4e('0x42cd')]=_0x4e98c9,this[_0x1a4e('0x3dda')](_0x1a4e('0x42cd'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x278197[_0x1a4e('0xa')],_0x1a4e('0x42ce'),{'get':function(){return this[_0x1a4e('0x4137')]['waveWidth'];},'set':function(_0x4e98c9){this[_0x1a4e('0x4137')][_0x1a4e('0x42ce')]=_0x4e98c9,this['updateAttribute'](_0x1a4e('0x42ce'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x278197[_0x1a4e('0xa')],_0x1a4e('0x42cf'),{'get':function(){return this['_opt'][_0x1a4e('0x42cf')];},'set':function(_0x4e98c9){this[_0x1a4e('0x4137')][_0x1a4e('0x42cf')]=_0x4e98c9,this[_0x1a4e('0x3dda')](_0x1a4e('0x42cf'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x278197['prototype'],_0x1a4e('0x42d0'),{'get':function(){return this['_opt']['flowSpeed'];},'set':function(_0x4e98c9){this[_0x1a4e('0x4137')][_0x1a4e('0x42d0')]=_0x4e98c9,this[_0x1a4e('0x3dda')](_0x1a4e('0x42d0'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x278197[_0x1a4e('0xa')],_0x1a4e('0x42d1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42d1')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x278197['prototype'],_0x1a4e('0x42d2'),{'get':function(){return this[_0x1a4e('0x4137')]['waterPolygon'];},'enumerable':!0x0,'configurable':!0x0}),_0x278197;}(_0x96e7bc[_0x1a4e('0x3ae2')]),_0x39dea0=function(_0x4e98c9){function _0x278197(){var _0x278197=null!==_0x4e98c9&&_0x4e98c9['apply'](this,arguments)||this;return _0x278197[_0x1a4e('0x42cd')]=Cesium['Color']['DARKCYAN'],_0x278197[_0x1a4e('0x42ce')]=0x5,_0x278197[_0x1a4e('0x42cf')]=0x2d,_0x278197['flowSpeed']=0x3,_0x278197;}return _0x41dd7c(_0x278197,_0x4e98c9),_0x278197;}(_0x96e7bc[_0x1a4e('0x4143')]);_0x278197[_0x1a4e('0x8')]=_0xe280e3;},'./src/LayerManager/GraphicLayer/GraphicItem/WaterGraphic.ts':function(_0x57321c,_0x44a618,_0x4bb93d){'use strict';_0x4bb93d['r'](_0x44a618),_0x4bb93d['d'](_0x44a618,'WaterGraphic',function(){return _0x3ddc44;}),_0x4bb93d['d'](_0x44a618,_0x1a4e('0x3fd0'),function(){return _0x4ec6bd;});var _0xbaa3cc,_0xf6fb20=_0x4bb93d(_0x1a4e('0x3e0b')),_0x13efc=_0x4bb93d(_0x1a4e('0x42d3')),_0x26ba93=(_0xbaa3cc=function(_0x57321c,_0x44a618){return(_0xbaa3cc=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x57321c,_0x44a618){_0x57321c[_0x1a4e('0x295')]=_0x44a618;}||function(_0x57321c,_0x44a618){for(var _0x4bb93d in _0x44a618)_0x44a618[_0x1a4e('0xb')](_0x4bb93d)&&(_0x57321c[_0x4bb93d]=_0x44a618[_0x4bb93d]);})(_0x57321c,_0x44a618);},function(_0x57321c,_0x44a618){function _0x4bb93d(){this['constructor']=_0x57321c;}_0xbaa3cc(_0x57321c,_0x44a618),_0x57321c[_0x1a4e('0xa')]=null===_0x44a618?Object[_0x1a4e('0x7')](_0x44a618):(_0x4bb93d[_0x1a4e('0xa')]=_0x44a618[_0x1a4e('0xa')],new _0x4bb93d());}),_0x3ddc44=function(_0x57321c){function _0x44a618(_0x44a618){var _0x4bb93d=_0x57321c['call'](this,_0x44a618)||this;return _0x4bb93d[_0x1a4e('0x39d5')]=_0x1a4e('0x3fcf'),_0x4bb93d[_0x1a4e('0x4137')]=new _0x4ec6bd(),_0x4bb93d[_0x1a4e('0x3acc')](_0x44a618),_0x4bb93d;}return _0x26ba93(_0x44a618,_0x57321c),_0x44a618[_0x1a4e('0xa')]['getType']=function(){return _0x44a618['type'];},Object[_0x1a4e('0x2')](_0x44a618,_0x1a4e('0x40'),{'get':function(){return'WaterGraphic';},'enumerable':!0x0,'configurable':!0x0}),_0x44a618[_0x1a4e('0xa')]['init']=function(_0x44a618){if(_0x57321c['prototype']['init'][_0x1a4e('0x1')](this,_0x44a618),this[_0x1a4e('0x4138')]){var _0x4bb93d=new _0x13efc[(_0x1a4e('0x42d4'))](this,this['father'][_0x1a4e('0x4d4')]());this[_0x1a4e('0x413d')]=function(){return _0x4bb93d;};}},Object[_0x1a4e('0x2')](_0x44a618['prototype'],_0x1a4e('0x40af'),{'get':function(){return this['_opt']['frequency'];},'set':function(_0x57321c){this['_opt']['frequency']=_0x57321c,this['updateAttribute'](_0x1a4e('0x40af'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x44a618[_0x1a4e('0xa')],_0x1a4e('0x42d5'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42d5')];},'set':function(_0x57321c){this['_opt'][_0x1a4e('0x42d5')]=_0x57321c,this[_0x1a4e('0x3dda')](_0x1a4e('0x42d5'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x44a618[_0x1a4e('0xa')],'animationSpeed',{'get':function(){return this['_opt'][_0x1a4e('0x42d6')];},'set':function(_0x57321c){this['_opt'][_0x1a4e('0x42d6')]=_0x57321c,this[_0x1a4e('0x3dda')](_0x1a4e('0x42d6'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x44a618[_0x1a4e('0xa')],'amplitude',{'get':function(){return this[_0x1a4e('0x4137')]['amplitude'];},'set':function(_0x57321c){this[_0x1a4e('0x4137')][_0x1a4e('0x42d7')]=_0x57321c,this[_0x1a4e('0x3dda')]('amplitude');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x44a618[_0x1a4e('0xa')],_0x1a4e('0x42d8'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42d8')];},'set':function(_0x57321c){this[_0x1a4e('0x4137')]['specularIntensity']=_0x57321c,this[_0x1a4e('0x3dda')](_0x1a4e('0x42d8'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x44a618[_0x1a4e('0xa')],'holes',{'get':function(){return this[_0x1a4e('0x4137')]['holes'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x44a618['prototype'],_0x1a4e('0x42d9'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42d9')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x44a618['prototype'],_0x1a4e('0xa69'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0xa69')];},'enumerable':!0x0,'configurable':!0x0}),_0x44a618;}(_0xf6fb20[_0x1a4e('0x3ae2')]),_0x4ec6bd=function(_0x57321c){function _0x44a618(){var _0x44a618=null!==_0x57321c&&_0x57321c[_0x1a4e('0x8b')](this,arguments)||this;return _0x44a618[_0x1a4e('0x40af')]=0x64,_0x44a618[_0x1a4e('0x42d6')]=0.02,_0x44a618[_0x1a4e('0x42d7')]=0x5,_0x44a618[_0x1a4e('0x42d8')]=0.5,_0x44a618[_0x1a4e('0x42d5')]='#177BD9',_0x44a618['mode']=_0x1a4e('0x42da'),_0x44a618;}return _0x26ba93(_0x44a618,_0x57321c),_0x44a618;}(_0xf6fb20[_0x1a4e('0x4143')]);window['GV']['REGISTER'](_0x1a4e('0x3ae2'),_0x3ddc44);},'./src/LayerManager/GraphicLayer/GraphicItem/WeatherGraphic.ts':function(_0x47f809,_0x4bc38b,_0x4c0c1e){'use strict';_0x4c0c1e['r'](_0x4bc38b),_0x4c0c1e['d'](_0x4bc38b,_0x1a4e('0x3e2d'),function(){return _0x5d1ba7;}),_0x4c0c1e['d'](_0x4bc38b,_0x1a4e('0x3fce'),function(){return _0x739697;});var _0x592aff,_0x506da3=_0x4c0c1e(_0x1a4e('0x3e0b')),_0x3eee7c=_0x4c0c1e(_0x1a4e('0x42db')),_0x5c4b34=(_0x592aff=function(_0x47f809,_0x4bc38b){return(_0x592aff=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x47f809,_0x4bc38b){_0x47f809['__proto__']=_0x4bc38b;}||function(_0x47f809,_0x4bc38b){for(var _0x4c0c1e in _0x4bc38b)_0x4bc38b['hasOwnProperty'](_0x4c0c1e)&&(_0x47f809[_0x4c0c1e]=_0x4bc38b[_0x4c0c1e]);})(_0x47f809,_0x4bc38b);},function(_0x47f809,_0x4bc38b){function _0x4c0c1e(){this[_0x1a4e('0x10')]=_0x47f809;}_0x592aff(_0x47f809,_0x4bc38b),_0x47f809[_0x1a4e('0xa')]=null===_0x4bc38b?Object[_0x1a4e('0x7')](_0x4bc38b):(_0x4c0c1e[_0x1a4e('0xa')]=_0x4bc38b[_0x1a4e('0xa')],new _0x4c0c1e());}),_0x5d1ba7=function(_0x47f809){function _0x4bc38b(_0x4bc38b){var _0x4c0c1e=_0x47f809['call'](this,_0x4bc38b)||this;return _0x4c0c1e[_0x1a4e('0x4137')]=new _0x739697(),_0x4c0c1e['parseJson'](_0x4bc38b),_0x4c0c1e;}return _0x5c4b34(_0x4bc38b,_0x47f809),_0x4bc38b[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4bc38b['type'];},Object[_0x1a4e('0x2')](_0x4bc38b,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3e2d');},'enumerable':!0x0,'configurable':!0x0}),_0x4bc38b[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4bc38b){if(_0x47f809['prototype'][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this,_0x4bc38b),this[_0x1a4e('0x4138')]){var _0x4c0c1e=new _0x3eee7c[(_0x1a4e('0x42dc'))](this,this[_0x1a4e('0x4138')]['getRoot']());this[_0x1a4e('0x413d')]=function(){return _0x4c0c1e;};}},Object['defineProperty'](_0x4bc38b[_0x1a4e('0xa')],_0x1a4e('0x42dd'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x42dd')];},'set':function(_0x47f809){this[_0x1a4e('0x4137')]['weatherType']=_0x47f809,this[_0x1a4e('0x3dda')](_0x1a4e('0x42dd'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4bc38b[_0x1a4e('0xa')],_0x1a4e('0x3553'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x3553')];},'set':function(_0x47f809){this[_0x1a4e('0x4137')][_0x1a4e('0x3553')]=_0x47f809,this[_0x1a4e('0x3dda')](_0x1a4e('0x3553'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4bc38b[_0x1a4e('0xa')],_0x1a4e('0x1075'),{'get':function(){return this['_opt'][_0x1a4e('0x1075')];},'set':function(_0x47f809){this[_0x1a4e('0x4137')]['range']=_0x47f809,this['updateAttribute'](_0x1a4e('0x1075'));},'enumerable':!0x0,'configurable':!0x0}),_0x4bc38b;}(_0x506da3[_0x1a4e('0x3ae2')]),_0x739697=function(_0x47f809){function _0x4bc38b(){var _0x4bc38b=null!==_0x47f809&&_0x47f809[_0x1a4e('0x8b')](this,arguments)||this;return _0x4bc38b['weatherType']=_0x1a4e('0x42de'),_0x4bc38b;}return _0x5c4b34(_0x4bc38b,_0x47f809),_0x4bc38b;}(_0x506da3[_0x1a4e('0x4143')]);window['GV'][_0x1a4e('0x3ada')]('GraphicItem',_0x5d1ba7);},'./src/LayerManager/GraphicLayer/GraphicLayer.ts':function(_0x559d45,_0x4483d3,_0x1370aa){'use strict';_0x1370aa['r'](_0x4483d3),_0x1370aa['d'](_0x4483d3,'GraphicLayer',function(){return _0xd2ea3b;});var _0x2ad5b1,_0x297b75=_0x1370aa(_0x1a4e('0x3f1e')),_0x4237b9=_0x1370aa(_0x1a4e('0x3ad0')),_0x12bb9c=_0x1370aa(_0x1a4e('0x38d0')),_0x5a6b7a=_0x1370aa('./src/Utils/Calculate.ts'),_0x194c06=_0x1370aa(_0x1a4e('0x42df')),_0x1adb52=_0x1370aa(_0x1a4e('0x42e0')),_0x3021f8=_0x1370aa(_0x1a4e('0x3f57')),_0x16a0ac=_0x1370aa(_0x1a4e('0x3f55')),_0x5b08ed=_0x1370aa('./src/LayerManager/GraphicLayer/GraphicRender/html/HtmlItemCollection.ts'),_0x3b3d4a=_0x1370aa(_0x1a4e('0x3e7f')),_0x56770c=_0x1370aa('./src/LayerManager/GraphicLayer/PipelineManager.ts'),_0x4b6489=(_0x2ad5b1=function(_0x559d45,_0x4483d3){return(_0x2ad5b1=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x559d45,_0x4483d3){_0x559d45['__proto__']=_0x4483d3;}||function(_0x559d45,_0x4483d3){for(var _0x1370aa in _0x4483d3)_0x4483d3['hasOwnProperty'](_0x1370aa)&&(_0x559d45[_0x1370aa]=_0x4483d3[_0x1370aa]);})(_0x559d45,_0x4483d3);},function(_0x559d45,_0x4483d3){function _0x1370aa(){this[_0x1a4e('0x10')]=_0x559d45;}_0x2ad5b1(_0x559d45,_0x4483d3),_0x559d45['prototype']=null===_0x4483d3?Object[_0x1a4e('0x7')](_0x4483d3):(_0x1370aa[_0x1a4e('0xa')]=_0x4483d3[_0x1a4e('0xa')],new _0x1370aa());}),_0x4d2b18=function(_0x559d45){var _0x4483d3=_0x1a4e('0x68')==typeof Symbol&&_0x559d45[Symbol[_0x1a4e('0x335')]],_0x1370aa=0x0;return _0x4483d3?_0x4483d3[_0x1a4e('0x1')](_0x559d45):{'next':function(){return _0x559d45&&_0x1370aa>=_0x559d45[_0x1a4e('0x1e')]&&(_0x559d45=void 0x0),{'value':_0x559d45&&_0x559d45[_0x1370aa++],'done':!_0x559d45};}};},_0xd2ea3b=function(_0x559d45){function _0x4483d3(_0x4483d3){var _0x1370aa=_0x559d45[_0x1a4e('0x1')](this)||this;_0x1370aa[_0x1a4e('0x38fa')]=_0x4483d3,_0x1370aa[_0x1a4e('0x42e1')]=new _0x297b75[(_0x1a4e('0x3f21'))](),_0x1370aa[_0x1a4e('0x42e1')][_0x1a4e('0x2cb')]='root',_0x1370aa['_dataRoot']['init'](function(){return _0x1370aa;}),_0x1370aa[_0x1a4e('0x42e2')]=new _0x297b75[(_0x1a4e('0x3f21'))](),_0x1370aa[_0x1a4e('0x42e2')][_0x1a4e('0x1fd')](function(){return _0x1370aa;});var _0x2ad5b1=new Cesium[(_0x1a4e('0x42e3'))](_0x1a4e('0x42e4')),_0x4237b9=_0x2ad5b1[_0x1a4e('0x38e2')];_0x1370aa[_0x1a4e('0x38fa')][_0x1a4e('0x395b')][_0x1a4e('0x177')](_0x2ad5b1);var _0x12bb9c=new Cesium[(_0x1a4e('0x42e5'))]();_0x1370aa[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['primitives']['add'](_0x12bb9c);var _0x5a6b7a=new Cesium['BillboardCollection']();_0x1370aa[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x5a6b7a);var _0x194c06=new Cesium['LabelCollection']();_0x1370aa[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](_0x194c06);var _0x1adb52=_0x1370aa[_0x1a4e('0x38fa')][_0x1a4e('0x3a08')],_0x3021f8=new _0x5b08ed[(_0x1a4e('0x8'))](_0x1370aa[_0x1a4e('0x38fa')]);return _0x1370aa[_0x1a4e('0x42e6')]={'entityRoot':_0x4237b9,'primitiveRoot':_0x12bb9c,'billboardCollection':_0x5a6b7a,'postProcessStages':_0x1adb52,'labelCollection':_0x194c06,'htmlItemCollection':_0x3021f8},_0x1370aa[_0x1a4e('0x42e7')](),_0x1370aa[_0x1a4e('0x42e8')]=new _0x56770c[(_0x1a4e('0x3fe6'))](_0x1370aa['_viewer'],_0x1370aa),_0x1370aa;}return _0x4b6489(_0x4483d3,_0x559d45),_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42e7')]=function(){var _0x559d45=this;this['_creatorManager']=new _0x194c06[(_0x1a4e('0x42e9'))](this[_0x1a4e('0x38fa')],this),this[_0x1a4e('0x42ea')]=new _0x1adb52['EditorManager'](this[_0x1a4e('0x38fa')],this),this[_0x1a4e('0x42eb')]['on'](_0x1a4e('0x3e05'),function(){_0x559d45[_0x1a4e('0x42ea')][_0x1a4e('0x3e82')]=!0x1;}),this['on'](_0x1a4e('0x177'),function(_0x4483d3){_0x559d45[_0x1a4e('0x3e84')]&&_0x4483d3 instanceof _0x3b3d4a[_0x1a4e('0x3e49')]&&_0x559d45['_editorManager'][_0x1a4e('0x42ec')](_0x4483d3);});},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42ed')]=function(_0x559d45,_0x4483d3){_0x12bb9c[_0x1a4e('0x42ee')]['x']=_0x559d45,_0x12bb9c[_0x1a4e('0x42ee')]['y']=_0x4483d3;},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x3eab')]=function(){return this[_0x1a4e('0x42e6')];},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42ef')]=function(){this[_0x1a4e('0x42ea')]['open']();},_0x4483d3['prototype']['editClose']=function(){this[_0x1a4e('0x42ea')][_0x1a4e('0x139b')]();},Object[_0x1a4e('0x2')](_0x4483d3[_0x1a4e('0xa')],'isEditting',{'get':function(){return this[_0x1a4e('0x42ea')]['isEditting'];},'enumerable':!0x0,'configurable':!0x0}),_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x559d45,_0x4483d3,_0x1370aa){return this['_editorManager'][_0x1a4e('0x3e82')]=!0x0,this[_0x1a4e('0x42eb')][_0x1a4e('0x7')](_0x559d45,_0x4483d3,_0x1370aa);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42f0')]=function(_0x559d45){this[_0x1a4e('0x42ea')][_0x1a4e('0x3dff')]['setLabelVisible'](_0x559d45),this[_0x1a4e('0x42eb')]['controlPointSet'][_0x1a4e('0x3edc')](_0x559d45);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42f1')]=function(_0x559d45){this[_0x1a4e('0x42ea')][_0x1a4e('0x3dff')][_0x1a4e('0x3f09')](_0x559d45),this[_0x1a4e('0x42eb')][_0x1a4e('0x3dff')][_0x1a4e('0x3f09')](_0x559d45);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42f2')]=function(){return this['_editorManager'];},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x3e5c')]=function(_0x559d45){this[_0x1a4e('0x42ea')][_0x1a4e('0x3e5c')](_0x559d45),this[_0x1a4e('0x42eb')][_0x1a4e('0x3e4d')]();},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x3eaa')]=function(){return this[_0x1a4e('0x42ea')][_0x1a4e('0x3eaa')]();},_0x4483d3['prototype'][_0x1a4e('0x42f3')]=function(_0x559d45){this['_editorManager'][_0x1a4e('0x3e5a')](_0x559d45);},_0x4483d3['prototype'][_0x1a4e('0x42f4')]=function(_0x559d45){this[_0x1a4e('0x42ea')]['setItemRealTimeChangeListener'](_0x559d45);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42f5')]=function(){this['_editorManager']['removeItemRealTimeChangeListener']();},_0x4483d3['prototype']['onEditItemChange']=function(_0x559d45){return this[_0x1a4e('0x42ea')]['on']('editItemChange',_0x559d45),_0x559d45;},_0x4483d3[_0x1a4e('0xa')]['offEditItemChange']=function(_0x559d45){this[_0x1a4e('0x42ea')][_0x1a4e('0xda1')](_0x1a4e('0x3ea1'),_0x559d45);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42f6')]=function(_0x559d45){this[_0x1a4e('0x42ea')][_0x1a4e('0x3ea4')](_0x559d45);},_0x4483d3['prototype'][_0x1a4e('0x42f7')]=function(){this[_0x1a4e('0x42ea')]['removeEditorClickListener']();},_0x4483d3['prototype'][_0x1a4e('0x4d4')]=function(){return this['_dataRoot'];},_0x4483d3['prototype'][_0x1a4e('0x3974')]=function(){return this[_0x1a4e('0x42e2')];},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x4238')]=function(){return this[_0x1a4e('0x42e8')];},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x559d45){return this['_dataRoot']['add'](_0x559d45);},_0x4483d3['prototype'][_0x1a4e('0x42f8')]=function(_0x559d45){return this[_0x1a4e('0x42e1')][_0x1a4e('0x42f8')](_0x559d45);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x559d45={'items':this[_0x1a4e('0x42e1')][_0x1a4e('0x3acb')](),'binds':[]};return this['_dataRoot'][_0x1a4e('0x416c')](_0x559d45['binds']),_0x559d45;},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x410a')]=function(_0x559d45){return this['_dataRoot']['parseJson'](_0x559d45[_0x1a4e('0x42f9')]),this[_0x1a4e('0x42e1')][_0x1a4e('0x42fa')](_0x559d45['binds']),this[_0x1a4e('0x42e1')];},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x559d45){return this[_0x1a4e('0x42e1')]['remove'](_0x559d45);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x42e1')][_0x1a4e('0xb5')]();},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x41a8')]=function(_0x559d45){return this[_0x1a4e('0x42e1')][_0x1a4e('0x41a8')](_0x559d45);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42fb')]=function(_0x559d45){return this[_0x1a4e('0x42e2')][_0x1a4e('0x41a8')](_0x559d45);},_0x4483d3['prototype'][_0x1a4e('0x42fc')]=function(_0x559d45){return this[_0x1a4e('0x42e1')][_0x1a4e('0x41a9')](_0x559d45);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x42fd')]=function(_0x559d45){if(_0x559d45['id']&&_0x559d45['id']['dataId'])return _0x559d45['id'][_0x1a4e('0x42fe')];if(_0x559d45['primitive']){if(_0x559d45[_0x1a4e('0x8f7')]['dataId'])return _0x559d45[_0x1a4e('0x8f7')][_0x1a4e('0x42fe')];if(Cesium['defined'](_0x559d45[_0x1a4e('0x8f7')])&&Cesium[_0x1a4e('0x3a0b')](_0x559d45[_0x1a4e('0x8f7')]['_external'])&&Cesium['defined'](_0x559d45['primitive'][_0x1a4e('0x42ff')][_0x1a4e('0x4300')])){var _0x4483d3=_0x559d45[_0x1a4e('0x8f7')][_0x1a4e('0x42ff')][_0x1a4e('0x4300')];if(_0x4483d3)for(var _0x1370aa in _0x4483d3)return _0x4483d3[_0x1370aa][_0x1a4e('0x4301')][_0x1a4e('0x42fe')];}}},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x4302')]=function(_0x559d45,_0x4483d3,_0x1370aa,_0x2ad5b1){var _0x297b75,_0x4237b9,_0x12bb9c=this,_0x5a6b7a=(_0x559d45+_0x559d45+_0x1370aa)/0x2,_0x194c06=(_0x4483d3+_0x4483d3+_0x2ad5b1)/0x2,_0x1adb52=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['drillPick'](new Cesium[(_0x1a4e('0x3952'))](_0x5a6b7a,_0x194c06),null,_0x1370aa,_0x2ad5b1),_0x3021f8=new Set();try{for(var _0x16a0ac=_0x4d2b18(_0x1adb52),_0x5b08ed=_0x16a0ac[_0x1a4e('0x7e')]();!_0x5b08ed['done'];_0x5b08ed=_0x16a0ac['next']()){var _0x3b3d4a=_0x5b08ed['value'],_0x56770c=this['_pickObjGetId'](_0x3b3d4a);_0x3021f8['add'](_0x56770c);}}catch(_0x1b793){_0x297b75={'error':_0x1b793};}finally{try{_0x5b08ed&&!_0x5b08ed[_0x1a4e('0x3c2')]&&(_0x4237b9=_0x16a0ac[_0x1a4e('0xe40')])&&_0x4237b9[_0x1a4e('0x1')](_0x16a0ac);}finally{if(_0x297b75)throw _0x297b75['error'];}}var _0x4b6489=Array[_0x1a4e('0x1b5')](_0x3021f8),_0xd2ea3b=[];return _0x4b6489[_0x1a4e('0x3b')](function(_0x559d45){_0xd2ea3b['push'](_0x12bb9c['getById'](_0x559d45));}),_0xd2ea3b;},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x4303')]=function(_0x559d45,_0x4483d3){return this['_pickByCoordinate2'](_0x559d45,_0x4483d3);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x3e87')]=function(_0x559d45,_0x4483d3){return this[_0x1a4e('0x4304')](_0x559d45,_0x4483d3);},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x3e61')]=function(_0x559d45,_0x4483d3){return this[_0x1a4e('0x4304')](_0x559d45,_0x4483d3,_0x1a4e('0x33e1'));},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x4305')]=function(_0x559d45,_0x4483d3,_0x1370aa){var _0x2ad5b1,_0x297b75,_0x4237b9=this;if(void 0x0!==_0x559d45&&void 0x0!==_0x4483d3){var _0x194c06=[];this['_dataRoot'][_0x1a4e('0x6f')]['forEach'](function(_0x1370aa){if(_0x1370aa instanceof _0x3021f8[_0x1a4e('0x3e3e')]||_0x1370aa instanceof _0x16a0ac[_0x1a4e('0x3e3f')]){var _0x2ad5b1=_0x12bb9c[_0x1a4e('0x38da')]['fromScreen'](_0x559d45,_0x4483d3,_0x4237b9[_0x1a4e('0x38fa')]);_0x5a6b7a[_0x1a4e('0x3990')][_0x1a4e('0x4306')](_0x2ad5b1,_0x1370aa[_0x1a4e('0x3553')],_0x1370aa['radius'])&&_0x194c06['push'](_0x1370aa);}});var _0x1adb52=new Cesium[(_0x1a4e('0x3952'))](_0x559d45,_0x4483d3),_0x5b08ed=this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x4307')](_0x1adb52);if(void 0x0===_0x5b08ed||0x0===_0x5b08ed[_0x1a4e('0x1e')])return _0x194c06;var _0x3b3d4a=new Set();try{for(var _0x56770c=_0x4d2b18(_0x5b08ed),_0x4b6489=_0x56770c[_0x1a4e('0x7e')]();!_0x4b6489[_0x1a4e('0x3c2')];_0x4b6489=_0x56770c[_0x1a4e('0x7e')]()){var _0xd2ea3b=_0x4b6489[_0x1a4e('0x255')],_0xa2c9f4=this[_0x1a4e('0x42fd')](_0xd2ea3b);_0x3b3d4a[_0x1a4e('0x177')](_0xa2c9f4);}}catch(_0x545fe8){_0x2ad5b1={'error':_0x545fe8};}finally{try{_0x4b6489&&!_0x4b6489[_0x1a4e('0x3c2')]&&(_0x297b75=_0x56770c[_0x1a4e('0xe40')])&&_0x297b75['call'](_0x56770c);}finally{if(_0x2ad5b1)throw _0x2ad5b1['error'];}}return Array[_0x1a4e('0x1b5')](_0x3b3d4a)[_0x1a4e('0x3b')](function(_0x559d45){var _0x4483d3;_0x1a4e('0x33e1')===_0x1370aa?(_0x4483d3=_0x4237b9['getIgnoreById'](_0x559d45))&&_0x194c06[_0x1a4e('0x46')](_0x4483d3):(_0x4483d3=_0x4237b9[_0x1a4e('0x41a8')](_0x559d45))&&_0x194c06[_0x1a4e('0x46')](_0x4483d3);}),_0x194c06;}console[_0x1a4e('0xe3c')](_0x1a4e('0x4308'));},_0x4483d3['prototype']['_pickByCoordinate']=function(_0x559d45,_0x4483d3,_0x1370aa){if(void 0x0!==_0x559d45&&void 0x0!==_0x4483d3){var _0x2ad5b1=Object(_0x12bb9c[_0x1a4e('0x4309')])(_0x559d45,'x'),_0x297b75=Object(_0x12bb9c[_0x1a4e('0x4309')])(_0x4483d3,'y');if('Ignore'!=_0x1370aa){var _0x4237b9=this['_pickSpecialGraphic'](this[_0x1a4e('0x42e1')],_0x559d45,_0x4483d3);if(_0x4237b9)return _0x4237b9;}var _0x5a6b7a=new Cesium[(_0x1a4e('0x3952'))](_0x2ad5b1,_0x297b75),_0x194c06=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x106e')](_0x5a6b7a);if(void 0x0!==_0x194c06){var _0x1adb52=this[_0x1a4e('0x42fd')](_0x194c06);return _0x1a4e('0x33e1')===_0x1370aa?this[_0x1a4e('0x42fb')](_0x1adb52):this[_0x1a4e('0x41a8')](_0x1adb52);}}else console[_0x1a4e('0xe3c')](_0x1a4e('0x430a'));},_0x4483d3[_0x1a4e('0xa')][_0x1a4e('0x430b')]=function(_0x559d45,_0x4483d3,_0x1370aa){var _0x2ad5b1,_0x4237b9,_0x194c06,_0x1adb52,_0x5b08ed=[];try{for(var _0x3b3d4a=_0x4d2b18(_0x559d45[_0x1a4e('0x6f')]),_0x56770c=_0x3b3d4a['next']();!_0x56770c[_0x1a4e('0x3c2')];_0x56770c=_0x3b3d4a['next']()){if((_0x3f62b2=_0x56770c[_0x1a4e('0x255')])instanceof _0x3021f8[_0x1a4e('0x3e3e')]||_0x3f62b2 instanceof _0x16a0ac['ScanGraphic']){var _0x4b6489=_0x12bb9c[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x4483d3,_0x1370aa,this[_0x1a4e('0x38fa')]);if(!_0x4b6489)return null;if(_0x5a6b7a['Calculate'][_0x1a4e('0x4306')](_0x4b6489,_0x3f62b2['position'],_0x3f62b2[_0x1a4e('0x3b5d')]))return _0x3f62b2;}else _0x3f62b2 instanceof _0x297b75[_0x1a4e('0x3f21')]&&_0x5b08ed[_0x1a4e('0x46')](_0x3f62b2);}}catch(_0x3bf9fc){_0x2ad5b1={'error':_0x3bf9fc};}finally{try{_0x56770c&&!_0x56770c['done']&&(_0x4237b9=_0x3b3d4a['return'])&&_0x4237b9['call'](_0x3b3d4a);}finally{if(_0x2ad5b1)throw _0x2ad5b1[_0x1a4e('0x873')];}}try{for(var _0xd2ea3b=_0x4d2b18(_0x5b08ed),_0x3be1d6=_0xd2ea3b['next']();!_0x3be1d6['done'];_0x3be1d6=_0xd2ea3b['next']()){var _0x3f62b2,_0x3e14f4=_0x3be1d6[_0x1a4e('0x255')];if(_0x3f62b2=this['_pickSpecialGraphic'](_0x3e14f4,_0x4483d3,_0x1370aa))return _0x3f62b2;}}catch(_0x39ba30){_0x194c06={'error':_0x39ba30};}finally{try{_0x3be1d6&&!_0x3be1d6[_0x1a4e('0x3c2')]&&(_0x1adb52=_0xd2ea3b[_0x1a4e('0xe40')])&&_0x1adb52['call'](_0xd2ea3b);}finally{if(_0x194c06)throw _0x194c06[_0x1a4e('0x873')];}}return null;},_0x4483d3['prototype'][_0x1a4e('0x430c')]=function(_0x559d45){var _0x4483d3=[];return this[_0x1a4e('0x42e1')][_0x1a4e('0x6f')]['map'](function(_0x1370aa){if(_0x1370aa[_0x1a4e('0x3553')])_0x5a6b7a['Calculate'][_0x1a4e('0x430d')](_0x1370aa['position'],_0x559d45)&&_0x4483d3[_0x1a4e('0x46')](_0x1370aa);else if(_0x1370aa['positions']){for(var _0x2ad5b1=!0x0,_0x297b75=0x0;_0x297b75<_0x1370aa['positions'][_0x1a4e('0x1e')];_0x297b75++){var _0x4237b9=_0x1370aa[_0x1a4e('0x398a')][_0x297b75];if(!_0x5a6b7a[_0x1a4e('0x3990')][_0x1a4e('0x430d')](_0x4237b9,_0x559d45)){_0x2ad5b1=!0x1;break;}}_0x2ad5b1&&_0x4483d3[_0x1a4e('0x46')](_0x1370aa);}}),_0x4483d3;},_0x4483d3;}(_0x4237b9['Event']);},'./src/LayerManager/GraphicLayer/GraphicRender/AttractPointRender.ts':function(_0x298d1e,_0x57ec8a,_0x24c638){'use strict';_0x24c638['r'](_0x57ec8a),_0x24c638['d'](_0x57ec8a,_0x1a4e('0x4139'),function(){return _0x41cdb8;});var _0x54dc5c,_0x4c46f1=_0x24c638(_0x1a4e('0x430e')),_0x1a31ac=_0x24c638(_0x1a4e('0x38d0')),_0x4469e1=_0x24c638(_0x1a4e('0x3999')),_0x27cde2=_0x24c638(_0x1a4e('0x430f')),_0x5c01fd=_0x24c638(_0x1a4e('0x4310')),_0x422f11=_0x24c638(_0x1a4e('0x3b38')),_0x467485=(_0x54dc5c=function(_0x298d1e,_0x57ec8a){return(_0x54dc5c=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x298d1e,_0x57ec8a){_0x298d1e[_0x1a4e('0x295')]=_0x57ec8a;}||function(_0x298d1e,_0x57ec8a){for(var _0x24c638 in _0x57ec8a)_0x57ec8a[_0x1a4e('0xb')](_0x24c638)&&(_0x298d1e[_0x24c638]=_0x57ec8a[_0x24c638]);})(_0x298d1e,_0x57ec8a);},function(_0x298d1e,_0x57ec8a){function _0x24c638(){this['constructor']=_0x298d1e;}_0x54dc5c(_0x298d1e,_0x57ec8a),_0x298d1e[_0x1a4e('0xa')]=null===_0x57ec8a?Object[_0x1a4e('0x7')](_0x57ec8a):(_0x24c638[_0x1a4e('0xa')]=_0x57ec8a[_0x1a4e('0xa')],new _0x24c638());}),_0x41cdb8=function(_0x298d1e){function _0x57ec8a(_0x57ec8a,_0x24c638){var _0x54dc5c=_0x298d1e['call'](this,_0x57ec8a,_0x24c638)||this;return _0x54dc5c[_0x1a4e('0x4311')](!0x0),_0x54dc5c;}return _0x467485(_0x57ec8a,_0x298d1e),_0x57ec8a[_0x1a4e('0xa')]['init']=function(){var _0x298d1e=this['_dataItem'];this['_renderObj']||(this['_renderObj']=new Cesium[(_0x1a4e('0x42e5'))]()),this['partTwoScale']=0.1;var _0x57ec8a=_0x298d1e[_0x1a4e('0x3b5d')];this[_0x1a4e('0x1af')]=new Cesium[(_0x1a4e('0x393e'))](0x2*_0x57ec8a,0x2*_0x57ec8a,0x2*_0x57ec8a),this[_0x1a4e('0x3b3d')](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x42e6')]['add'](this[_0x1a4e('0x4312')]);},_0x57ec8a[_0x1a4e('0xa')][_0x1a4e('0x4313')]=function(){if(_0x298d1e[_0x1a4e('0xa')]['dataUpdate'][_0x1a4e('0x1')](this),this[_0x1a4e('0x4314')]&&this[_0x1a4e('0x4315')]&&this[_0x1a4e('0x4316')]){var _0x57ec8a=this['_dataItem'];if(this[_0x1a4e('0x4315')]['material'][_0x1a4e('0x3b74')]['angle']+=0.15,this['_appearance2'][_0x1a4e('0x3a41')]['uniforms']['angle']+=0.15,this['partTwoScale']<0.9){this['partTwoScale']+=0.03;var _0x24c638=Cesium[_0x1a4e('0x3a29')]['fromScale'](new Cesium['Cartesian3'](this[_0x1a4e('0x4317')],this[_0x1a4e('0x4317')],0x1)),_0x54dc5c=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x1a31ac[_0x1a4e('0x38da')]['toCartesian3'](_0x57ec8a[_0x1a4e('0x3553')])),_0x4c46f1=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3cd4')](_0x54dc5c,new Cesium['Matrix4']()),_0x4469e1=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x260')](_0x24c638,_0x4c46f1,new Cesium[(_0x1a4e('0x3a29'))]());_0x4469e1=Cesium[_0x1a4e('0x3a29')]['multiply'](_0x54dc5c,_0x4469e1,new Cesium[(_0x1a4e('0x3a29'))]()),this['_primitive2']['modelMatrix']=_0x4469e1;}else this[_0x1a4e('0x4317')]=0.2;}},Object[_0x1a4e('0x2')](_0x57ec8a[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x27cde2[_0x1a4e('0x4318')]['Primitive'];},'enumerable':!0x0,'configurable':!0x0}),_0x57ec8a[_0x1a4e('0xa')][_0x1a4e('0x3de9')]=function(){var _0x298d1e=document['createElement'](_0x1a4e('0x3934'));_0x298d1e[_0x1a4e('0x3935')]('width',_0x1a4e('0x3db8')),_0x298d1e['setAttribute']('height','512px');var _0x57ec8a=_0x298d1e[_0x1a4e('0x51c')]('2d'),_0x24c638=_0x57ec8a[_0x1a4e('0x3db9')](0x100,0x100,0x0,0x100,0x100,0x100);return _0x24c638[_0x1a4e('0x3dba')](0.1,_0x1a4e('0x4319')),_0x24c638['addColorStop'](0.2,_0x1a4e('0x3dea')),_0x24c638['addColorStop'](0.3,_0x1a4e('0x431a')),_0x24c638[_0x1a4e('0x3dba')](0.5,_0x1a4e('0x3dea')),_0x24c638[_0x1a4e('0x3dba')](0.9,_0x1a4e('0x431b')),_0x24c638['addColorStop'](0x1,_0x1a4e('0x4319')),_0x57ec8a[_0x1a4e('0x3dbc')](0x0,0x0,0x200,0x200),_0x57ec8a['beginPath'](),_0x57ec8a[_0x1a4e('0x124')](0x100,0x100,0x100,0x0,0x2*Math['PI'],!0x0),_0x57ec8a[_0x1a4e('0x3dbe')]=_0x24c638,_0x57ec8a['fill'](),_0x57ec8a[_0x1a4e('0x878')](),_0x298d1e['toDataURL'](_0x1a4e('0x3dc7'));},_0x57ec8a[_0x1a4e('0xa')][_0x1a4e('0x431c')]=function(){return _0x1a4e('0x431d');},_0x57ec8a['prototype'][_0x1a4e('0x3ded')]=function(){var _0x298d1e=document[_0x1a4e('0xe3d')]('canvas');_0x298d1e['setAttribute']('width',_0x1a4e('0x3db8')),_0x298d1e[_0x1a4e('0x3935')](_0x1a4e('0x152'),_0x1a4e('0x3db8'));var _0x57ec8a=_0x298d1e[_0x1a4e('0x51c')]('2d');return _0x57ec8a[_0x1a4e('0x3dbc')](0x0,0x0,0x200,0x200),_0x57ec8a['strokeStyle']=_0x1a4e('0x3df1'),_0x57ec8a['setLineDash']([0x50,0x50]),_0x57ec8a['lineWidth']=0x1e,_0x57ec8a[_0x1a4e('0x124')](0x100,0x100,0xf1,0x0,0x2*Math['PI'],!0x0),_0x57ec8a['stroke'](),_0x298d1e['toDataURL'](_0x1a4e('0x3dc7'));},_0x57ec8a['prototype'][_0x1a4e('0x431e')]=function(){return _0x1a4e('0x431f');},_0x57ec8a['prototype'][_0x1a4e('0x4320')]=function(){return _0x1a4e('0x4321');},_0x57ec8a[_0x1a4e('0xa')][_0x1a4e('0x4322')]=function(){return'czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dt=fract(czm_frameNumber/100.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20st=fract(st+vec2(dt,dt));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20imageColor=texture2D(image,\x20st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20tempColor=vec4(color.rgb,imageColor.a);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tempColor.a=mix(0.0,tempColor.a,st.t);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20tempColor.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20tempColor.rgb\x20*vec3(1.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}';},_0x57ec8a['prototype'][_0x1a4e('0x3b55')]=function(){var _0x298d1e=this[_0x1a4e('0x4323')]['position'];return Cesium['Transforms'][_0x1a4e('0x3ab0')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x298d1e[_0x1a4e('0x1a1')],_0x298d1e[_0x1a4e('0x1a2')],_0x298d1e[_0x1a4e('0x398c')]));},_0x57ec8a[_0x1a4e('0xa')][_0x1a4e('0x4324')]=function(){var _0x298d1e=this[_0x1a4e('0x4323')],_0x57ec8a=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x298d1e[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x298d1e[_0x1a4e('0x3553')]['lat'],_0x298d1e[_0x1a4e('0x3553')]['alt']),_0x24c638=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x57ec8a),_0x54dc5c=new Cesium[(_0x1a4e('0x393e'))](-this[_0x1a4e('0x1af')]['x'],-this[_0x1a4e('0x1af')]['y'],-this[_0x1a4e('0x1af')]['z']);return _0x24c638=Cesium['Matrix4']['multiplyByTranslation'](_0x24c638,_0x54dc5c,new Cesium[(_0x1a4e('0x3a29'))]());},_0x57ec8a[_0x1a4e('0xa')][_0x1a4e('0x3b3d')]=function(){var _0x298d1e=this[_0x1a4e('0x4323')],_0x57ec8a=_0x422f11['RenderUtils'][_0x1a4e('0x3b40')](_0x298d1e[_0x1a4e('0x134')]);this[_0x1a4e('0x4325')]||(this[_0x1a4e('0x4325')]=new Cesium['MaterialAppearance']({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x1186'),'uniforms':{'image':this[_0x1a4e('0x3de9')](),'color':_0x57ec8a},'source':this[_0x1a4e('0x431c')]()}}),'translucent':!0x0})),this[_0x1a4e('0x4314')]||(this[_0x1a4e('0x4314')]=new Cesium['MaterialAppearance']({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x1186'),'uniforms':{'image':this[_0x1a4e('0x3ded')](),'angle':0x0,'color':_0x57ec8a},'source':this[_0x1a4e('0x431e')]()}}),'translucent':!0x0})),this['_appearance3']||(this[_0x1a4e('0x4326')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium['Material']({'fabric':{'type':_0x1a4e('0x134'),'uniforms':{'color':_0x57ec8a},'source':this['getPartThreeMs']()}})})),this['_appearance4']||(this[_0x1a4e('0x4315')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':_0x57ec8a,'image':_0x4469e1['Util'][_0x1a4e('0x39a5')]('resources/localscene/MarkParticle.png'),'angle':0x0},'source':this[_0x1a4e('0x4322')]()}}),'translucent':!0x0}));},_0x57ec8a[_0x1a4e('0xa')]['createPrimitive']=function(){var _0x298d1e=this[_0x1a4e('0x4323')],_0x57ec8a=_0x298d1e['position'],_0x24c638=_0x1a31ac[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x57ec8a),_0x54dc5c=_0x298d1e['radius'],_0x4469e1=_0x298d1e['height'];if(null==this[_0x1a4e('0x4327')]&&(this[_0x1a4e('0x4327')]=new _0x4c46f1[(_0x1a4e('0x4328'))]()),!this['_primitive1']){var _0x27cde2=this[_0x1a4e('0x4327')][_0x1a4e('0x4329')](_0x298d1e['radius'],this['offset']),_0x5c01fd=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium['GeometryInstance']({'geometry':_0x27cde2}),'appearance':this[_0x1a4e('0x4325')],'asynchronous':!0x1,'modelMatrix':this[_0x1a4e('0x4324')]()});this['_primitive1']=_0x5c01fd,this['_renderObj'][_0x1a4e('0x177')](_0x5c01fd);}if(!this[_0x1a4e('0x4316')]){var _0x422f11=new Cesium[(_0x1a4e('0x3db5'))]({'center':_0x24c638,'radius':_0x54dc5c,'height':_0x57ec8a[_0x1a4e('0x398c')]+0x1}),_0x467485=(_0x27cde2=Cesium['CircleGeometry'][_0x1a4e('0x3e0')](_0x422f11),_0x5c01fd=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x27cde2}),'appearance':this[_0x1a4e('0x4314')],'asynchronous':!0x1}),Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3de0')](new Cesium[(_0x1a4e('0x393e'))](this['partTwoScale'],this[_0x1a4e('0x4317')],0x1))),_0x41cdb8=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x24c638),_0x10a1e9=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3cd4')](_0x41cdb8,new Cesium[(_0x1a4e('0x3a29'))]()),_0xbe8206=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x260')](_0x467485,_0x10a1e9,new Cesium[(_0x1a4e('0x3a29'))]());_0xbe8206=Cesium['Matrix4']['multiply'](_0x41cdb8,_0xbe8206,new Cesium[(_0x1a4e('0x3a29'))]()),_0x5c01fd[_0x1a4e('0x3b64')]=_0xbe8206,this[_0x1a4e('0x4316')]=_0x5c01fd,this['_renderObj'][_0x1a4e('0x177')](_0x5c01fd);}if(!this[_0x1a4e('0x432a')]){var _0x87f462=this[_0x1a4e('0x4327')][_0x1a4e('0x432b')](0.04*_0x54dc5c,0.26*_0x54dc5c,_0x4469e1,0x64),_0x20209e=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x87f462}),'appearance':this['_appearance3'],'asynchronous':!0x1,'modelMatrix':this['getModelMatrix']()});this[_0x1a4e('0x432a')]=_0x20209e,this[_0x1a4e('0x4312')]['add'](_0x20209e);}if(!this[_0x1a4e('0x432c')]){_0x87f462=this['_buildGeometry']['createTruncatedConeGeometry'](0.3*_0x54dc5c,0.3*_0x54dc5c,0.8*_0x4469e1,0x64),_0x20209e=new Cesium['Primitive']({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x87f462}),'appearance':this[_0x1a4e('0x4315')],'asynchronous':!0x1,'modelMatrix':this[_0x1a4e('0x3b55')]()});this[_0x1a4e('0x432c')]=_0x20209e,this['_renderObj'][_0x1a4e('0x177')](_0x20209e);}},_0x57ec8a[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this['_renderObj']&&(this[_0x1a4e('0x4312')]['removeAll'](),this[_0x1a4e('0x432d')]=void 0x0,this[_0x1a4e('0x4316')]=void 0x0,this['_primitive3']=void 0x0,this['_primitive4']=void 0x0,this['_renderRoot']['remove'](this[_0x1a4e('0x4312')]),this['_renderObj']=void 0x0),this[_0x1a4e('0x1fd')]();},_0x57ec8a[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x57ec8a){_0x298d1e[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x57ec8a);var _0x24c638=this['_dataItem'];switch(_0x57ec8a){case _0x1a4e('0x134'):var _0x54dc5c=_0x422f11[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x24c638[_0x57ec8a]);this[_0x1a4e('0x4325')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x54dc5c,this[_0x1a4e('0x4314')][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x134')]=_0x54dc5c,this[_0x1a4e('0x4326')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x54dc5c,this[_0x1a4e('0x4315')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x54dc5c;break;case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]['show']=_0x24c638[_0x57ec8a]&&_0x24c638[_0x1a4e('0x41a2')];break;default:this['update']();}},_0x57ec8a['prototype']['clear']=function(){this[_0x1a4e('0x4312')]['removeAll'](),this[_0x1a4e('0x432d')]=void 0x0,this[_0x1a4e('0x4316')]=void 0x0,this['_primitive3']=void 0x0,this['_primitive4']=void 0x0,this['_renderRoot']['remove'](this[_0x1a4e('0x4312')]),this['_renderObj']=void 0x0,this[_0x1a4e('0x4327')]=void 0x0,_0x298d1e[_0x1a4e('0xa')]['clear'][_0x1a4e('0x1')](this);},_0x57ec8a;}(_0x5c01fd[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/BindedCylinder.ts':function(_0x3ea7c6,_0x3df52c,_0x1473db){'use strict';_0x1473db['r'](_0x3df52c),_0x1473db['d'](_0x3df52c,'BindedCylinder',function(){return _0x20a777;});var _0x4c5ae3,_0x19eac=_0x1473db(_0x1a4e('0x430f')),_0x2f406f=_0x1473db(_0x1a4e('0x38d0')),_0x4377fc=_0x1473db(_0x1a4e('0x3b38')),_0x35b66f=_0x1473db('./src/LayerManager/GraphicLayer/GraphicRender/RenderPositionObject.ts'),_0x5af177=(_0x4c5ae3=function(_0x3ea7c6,_0x3df52c){return(_0x4c5ae3=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x3ea7c6,_0x3df52c){_0x3ea7c6[_0x1a4e('0x295')]=_0x3df52c;}||function(_0x3ea7c6,_0x3df52c){for(var _0x1473db in _0x3df52c)_0x3df52c[_0x1a4e('0xb')](_0x1473db)&&(_0x3ea7c6[_0x1473db]=_0x3df52c[_0x1473db]);})(_0x3ea7c6,_0x3df52c);},function(_0x3ea7c6,_0x3df52c){function _0x1473db(){this[_0x1a4e('0x10')]=_0x3ea7c6;}_0x4c5ae3(_0x3ea7c6,_0x3df52c),_0x3ea7c6[_0x1a4e('0xa')]=null===_0x3df52c?Object[_0x1a4e('0x7')](_0x3df52c):(_0x1473db[_0x1a4e('0xa')]=_0x3df52c[_0x1a4e('0xa')],new _0x1473db());}),_0x20a777=function(_0x3ea7c6){function _0x3df52c(_0x3df52c,_0x1473db){return _0x3ea7c6[_0x1a4e('0x1')](this,_0x3df52c,_0x1473db)||this;}return _0x5af177(_0x3df52c,_0x3ea7c6),_0x3df52c[_0x1a4e('0xa')]['init']=function(){this[_0x1a4e('0x3b3d')](),this[_0x1a4e('0x3b5e')](),this['_renderRoot'][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]);},Object[_0x1a4e('0x2')](_0x3df52c['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x19eac[_0x1a4e('0x4318')]['Primitive'];},'enumerable':!0x0,'configurable':!0x0}),_0x3df52c[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')]&&(this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')]=void 0x0),this[_0x1a4e('0x1fd')]();},_0x3df52c['prototype'][_0x1a4e('0x3dda')]=function(_0x3df52c){_0x3ea7c6[_0x1a4e('0xa')][_0x1a4e('0x3dda')]['call'](this,_0x3df52c);var _0x1473db=this[_0x1a4e('0x4323')];switch(_0x3df52c){case'color':this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['color']=_0x4377fc[_0x1a4e('0x3b60')]['getColor'](_0x1473db[_0x3df52c]);break;case _0x1a4e('0x3b2c'):this['_renderObj'][_0x1a4e('0x3a23')]=_0x1473db[_0x3df52c]&&_0x1473db[_0x1a4e('0x41a2')];break;case _0x1a4e('0x3553'):case _0x1a4e('0x502'):case _0x1a4e('0x7a3'):this[_0x1a4e('0x937')]();}},_0x3df52c[_0x1a4e('0xa')]['calculateCircleData']=function(){for(var _0x3ea7c6=[],_0x3df52c=0x0;_0x3df52c<=0x168;_0x3df52c+=0x2){var _0x1473db=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x3eda')]*_0x3df52c;_0x3ea7c6[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x3952'))](Math[_0x1a4e('0x90')](_0x1473db),-Math[_0x1a4e('0x8f')](_0x1473db)));}this[_0x1a4e('0x4330')]=_0x3ea7c6;},_0x3df52c['prototype'][_0x1a4e('0x3b3d')]=function(){var _0x3ea7c6=this[_0x1a4e('0x4323')];null==this[_0x1a4e('0x432f')]&&(this[_0x1a4e('0x432f')]=new Cesium['MaterialAppearance']({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':'Color','uniforms':{'color':Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x3ea7c6[_0x1a4e('0x134')])}}})}));},_0x3df52c['prototype'][_0x1a4e('0x3e0')]=function(){var _0x3ea7c6=this[_0x1a4e('0x4323')],_0x3df52c=_0x3ea7c6['angle'];null!=this[_0x1a4e('0x4330')]&&0x0!=this[_0x1a4e('0x4330')][_0x1a4e('0x1e')]||this['calculateCircleData']();var _0x1473db=_0x2f406f[_0x1a4e('0x38da')]['toCartesian3'](_0x3ea7c6[_0x1a4e('0x3553')]),_0x4c5ae3=Cesium[_0x1a4e('0x3b56')]['eastNorthUpToFixedFrame'](_0x1473db);_0x3ea7c6[_0x1a4e('0x414b')]&&(_0x4c5ae3=this[_0x1a4e('0x4331')](_0x4c5ae3)),this['_matrix']=_0x4c5ae3;for(var _0x19eac=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x38dc')],_0x4377fc=Math[_0x1a4e('0xbe')](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x3df52c/0x2)),_0x35b66f=0x0,_0x5af177=!0x0,_0x20a777=0x0;_0x20a777_0x35b66f&&(_0x35b66f=_0x27b002,_0x20a777);}var _0x40464e=_0x3ea7c6[_0x1a4e('0x3553')][_0x1a4e('0x398c')];_0x5af177?_0x40464e=_0x35b66f:_0x40464e*=2.5;for(var _0x521bec=_0x4377fc*_0x40464e,_0x4eab2f=[],_0x24cf28=0x0;_0x24cf280x0&&_0x2ade0d['x']<(void 0x0!==_0x4988ca['width']?_0x4988ca[_0x1a4e('0x3936')]:_0x4988ca[_0x1a4e('0x3a62')])&&_0x2ade0d['y']>0x0&&_0x2ade0d['y']<(void 0x0!==_0x4988ca['height']?_0x4988ca[_0x1a4e('0x152')]:_0x4988ca[_0x1a4e('0x3a63')]));}return!0x1;}var _0x3dc269=_0x27bb91[_0x1a4e('0x38d6')]['camera'][_0x1a4e('0x3a51')][_0x1a4e('0x4348')](_0x27bb91[_0x1a4e('0x38d6')][_0x1a4e('0x3a06')][_0x1a4e('0x3d87')],_0x27bb91[_0x1a4e('0x38d6')][_0x1a4e('0x3a06')][_0x1a4e('0x4349')],_0x27bb91[_0x1a4e('0x38d6')][_0x1a4e('0x3a06')][_0x1a4e('0x434a')]),_0x4872d4=new Cesium[(_0x1a4e('0x3ac1'))](_0x5cf6c1[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x546128),0x1),_0x4478ce=Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x434b')](_0x4872d4),_0x27f6bb=_0x3dc269['computeVisibility'](_0x4478ce);return _0x27f6bb===Cesium[_0x1a4e('0x434c')][_0x1a4e('0x434d')]||_0x27f6bb===Cesium[_0x1a4e('0x434c')][_0x1a4e('0x434e')];},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x434f')]=function(_0x546128){var _0x27bb91,_0x416744,_0x488896=this,_0x5cadab=this[_0x1a4e('0x4323')];_0x546128[_0x1a4e('0x38d6')][_0x1a4e('0x3ee8')][_0x1a4e('0xec5')](this[_0x1a4e('0x4343')]=function(){if(_0x5cadab[_0x1a4e('0x41a2')]){if(_0x5cadab[_0x1a4e('0x4155')]instanceof _0x4988ca[_0x1a4e('0x3fdc')]){var _0x3dc269=_0x5cadab['bindObject'][_0x1a4e('0x3ef9')]();if(!_0x3dc269['_renderVisible'])return void(_0x488896[_0x1a4e('0x41a1')]&&_0x488896[_0x1a4e('0x4350')](!0x1));_0x27bb91=_0x3dc269['_diagonalPanelOffset']['x']+_0x488896['_viewer'][_0x1a4e('0x4351')][_0x1a4e('0x39c7')],_0x416744=_0x3dc269[_0x1a4e('0x4352')]['y']+_0x488896[_0x1a4e('0x38fa')][_0x1a4e('0x4351')][_0x1a4e('0x39cc')];}else{var _0x4872d4=void 0x0;if(_0x5cadab['bindObject']instanceof _0x5cf6c1['GeoPoint']?_0x4872d4=_0x5cadab[_0x1a4e('0x4155')]:_0x5cadab[_0x1a4e('0x4155')]instanceof _0x2ade0d[_0x1a4e('0x3ae2')]&&(_0x4872d4=_0x5cadab[_0x1a4e('0x4155')][_0x1a4e('0x3ecb')]()),!_0x4872d4)return;if(!_0x488896[_0x1a4e('0x41bf')](_0x4872d4,_0x546128))return void(_0x488896[_0x1a4e('0x41a1')]&&_0x488896[_0x1a4e('0x4350')](!0x1));var _0x5c2fac=_0x5cf6c1[_0x1a4e('0x38da')]['toScreen'](_0x4872d4,_0x546128);if(!_0x5c2fac)return;_0x27bb91=Math[_0x1a4e('0x2a')](_0x5c2fac['x'])+_0x488896[_0x1a4e('0x38fa')]['_element'][_0x1a4e('0x39c7')],_0x416744=Math[_0x1a4e('0x2a')](_0x5c2fac['y'])+_0x488896['_viewer']['_element'][_0x1a4e('0x39cc')];}_0x488896['_anchorOffset']={'x':_0x27bb91,'y':_0x416744},_0x488896[_0x1a4e('0x4353')](_0x27bb91,_0x416744);}else _0x488896[_0x1a4e('0x41a1')]&&_0x488896[_0x1a4e('0x4350')](!0x1);});},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x4353')]=function(_0x546128,_0x27bb91){var _0x416744=this[_0x1a4e('0x4323')];if(this[_0x1a4e('0x41a1')]||(this[_0x1a4e('0x4340')][_0x1a4e('0x375c')][_0x1a4e('0x1322')]=_0x1a4e('0x4354')),_0x416744['bubbleType']===_0x4988ca[_0x1a4e('0x3fdd')][_0x1a4e('0x415e')]){if(!this[_0x1a4e('0x41a1')]){var _0x488896=_0x546128+_0x416744[_0x1a4e('0x4154')]['x'],_0x5cf6c1=_0x27bb91+_0x416744['panelOffset']['y'];this[_0x1a4e('0x4355')]&&(_0x488896=this[_0x1a4e('0x4355')]['x'],_0x5cf6c1=this[_0x1a4e('0x4355')]['y']),this[_0x1a4e('0x4344')](_0x488896,_0x5cf6c1);}}else _0x416744['bubbleType']===_0x4988ca['BubbleTypeEnum'][_0x1a4e('0x415c')]&&(this[_0x1a4e('0x4356')]||this[_0x1a4e('0x4344')](_0x546128+_0x416744[_0x1a4e('0x4154')]['x'],_0x27bb91+_0x416744[_0x1a4e('0x4154')]['y']));var _0x5cadab=this[_0x1a4e('0x4357')]({'x':_0x546128,'y':_0x27bb91},this[_0x1a4e('0x4157')]);this['_getDiagonalPanelOffset'](_0x5cadab),this[_0x1a4e('0x41a1')]||(this[_0x1a4e('0x4340')][_0x1a4e('0x375c')][_0x1a4e('0x1322')]='display:none',this[_0x1a4e('0x4350')](!0x0));},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x4358')]=function(_0x546128){if(this[_0x1a4e('0x4355')]){var _0x27bb91,_0x416744;switch(_0x546128){case 0x1:_0x27bb91=this[_0x1a4e('0x4355')]['x']+this[_0x1a4e('0x4157')][_0x1a4e('0x39c9')],_0x416744=this[_0x1a4e('0x4355')]['y'];break;case 0x2:_0x27bb91=this[_0x1a4e('0x4355')]['x'],_0x416744=this[_0x1a4e('0x4355')]['y'];break;case 0x3:_0x27bb91=this[_0x1a4e('0x4355')]['x'],_0x416744=this[_0x1a4e('0x4355')]['y']+this['_panelNode']['offsetHeight'];break;case 0x4:_0x27bb91=this[_0x1a4e('0x4355')]['x']+this[_0x1a4e('0x4157')][_0x1a4e('0x39c9')],_0x416744=this['_panelOffset']['y']+this[_0x1a4e('0x4157')][_0x1a4e('0x4359')];}this[_0x1a4e('0x4352')]={'x':_0x27bb91,'y':_0x416744};}},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x4357')]=function(_0x546128,_0x27bb91){if(0x0!==_0x27bb91[_0x1a4e('0x435a')]||0x0!==_0x27bb91[_0x1a4e('0x435b')]){var _0x416744,_0x488896={'x':_0x546128['x'],'y':_0x546128['y']};this[_0x1a4e('0x4157')]['offsetParent']!==this[_0x1a4e('0x433d')]&&(_0x488896['y']=_0x488896['y']+this[_0x1a4e('0x433d')][_0x1a4e('0x39cc')],_0x488896['x']=_0x488896['x']+this[_0x1a4e('0x433d')][_0x1a4e('0x39c7')]);var _0x5cf6c1=_0x27bb91[_0x1a4e('0x39c9')],_0x5cadab=_0x27bb91['offsetHeight'],_0x4988ca=_0x27bb91['offsetLeft']+_0x5cf6c1/0x2,_0x2ade0d=_0x27bb91[_0x1a4e('0x39cc')]+_0x5cadab/0x2,_0x3dc269={'x':0x0,'y':0x0},_0x4872d4=_0x4988ca-_0x488896['x'],_0x16de57=_0x2ade0d-_0x488896['y'];_0x4872d4>=0x0&&_0x16de57>0x0?(_0x3dc269['x']=_0x27bb91['offsetLeft'],_0x3dc269['y']=_0x27bb91[_0x1a4e('0x39cc')],_0x416744=0x4):_0x4872d4>=0x0&&_0x16de57<=0x0?(_0x3dc269['x']=_0x27bb91[_0x1a4e('0x39c7')],_0x3dc269['y']=_0x27bb91[_0x1a4e('0x39cc')]+_0x5cadab,_0x416744=0x1):_0x4872d4<0x0&&_0x16de57<=0x0?(_0x3dc269['x']=_0x27bb91[_0x1a4e('0x39c7')]+_0x5cf6c1,_0x3dc269['y']=_0x27bb91[_0x1a4e('0x39cc')]+_0x5cadab,_0x416744=0x2):_0x4872d4<0x0&&_0x16de57>0x0&&(_0x3dc269['x']=_0x27bb91[_0x1a4e('0x39c7')]+_0x5cf6c1,_0x3dc269['y']=_0x27bb91[_0x1a4e('0x39cc')],_0x416744=0x3),_0x4872d4=_0x3dc269['x']-_0x488896['x'],_0x16de57=_0x3dc269['y']-_0x488896['y'];var _0x2c4196=Math[_0x1a4e('0x91')](_0x4872d4*_0x4872d4+_0x16de57*_0x16de57),_0x2e642c=_0x2c4196/0x2,_0x49b391=Math[_0x1a4e('0x92c')](_0x4872d4/_0x2c4196)*(_0x16de57<0x0?-0x1:0x1),_0x1bf04d=_0x49b391/Math['PI']*0xb4,_0x12a1aa=_0x2e642c*Math[_0x1a4e('0x8f')](_0x49b391),_0x579beb=_0x2e642c*Math[_0x1a4e('0x90')](_0x49b391)-_0x2e642c;return this[_0x1a4e('0x4159')]['style']['width']=_0x2c4196+'px',this[_0x1a4e('0x4159')][_0x1a4e('0x375c')][_0x1a4e('0x5f')]=_0x488896['x']-0x2+'px',this[_0x1a4e('0x4159')]['style'][_0x1a4e('0x5e')]=_0x488896['y']-0x2+'px',this['_lineNode'][_0x1a4e('0x375c')]['transform']=_0x1a4e('0x435c')+_0x579beb+_0x1a4e('0x435d')+_0x12a1aa+_0x1a4e('0x435e')+_0x1bf04d+'deg)',_0x416744;}},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x4344')]=function(_0x546128,_0x27bb91){var _0x416744,_0x488896,_0x5cf6c1=this[_0x1a4e('0x433d')][_0x1a4e('0x3a62')],_0x5cadab=this[_0x1a4e('0x433d')][_0x1a4e('0x3a63')],_0x4988ca=this[_0x1a4e('0x4157')][_0x1a4e('0x39c9')],_0x2ade0d=this[_0x1a4e('0x4157')][_0x1a4e('0x4359')];_0x416744=_0x546128<0x0||_0x4988ca>=_0x5cf6c1?0x0:_0x546128+_0x4988ca>=_0x5cf6c1?_0x5cf6c1-_0x4988ca:_0x546128,_0x488896=_0x27bb91<0x0||_0x2ade0d>=_0x5cadab?0x0:_0x27bb91+_0x2ade0d>=_0x5cadab?_0x5cadab-_0x2ade0d:_0x27bb91,this['_panelOffset']={'x':_0x416744,'y':_0x488896};var _0x3dc269=_0x488896,_0x4872d4=_0x416744;this['_panelNode'][_0x1a4e('0x3ef3')]!==this[_0x1a4e('0x433d')]&&(_0x3dc269=_0x488896+this[_0x1a4e('0x433d')]['offsetTop'],_0x4872d4=_0x416744+this[_0x1a4e('0x433d')][_0x1a4e('0x39c7')]),this[_0x1a4e('0x4157')][_0x1a4e('0x375c')][_0x1a4e('0x5f')]=_0x4872d4+'px',this[_0x1a4e('0x4157')][_0x1a4e('0x375c')][_0x1a4e('0x5e')]=_0x3dc269+'px';},_0x27bb91[_0x1a4e('0xa')]['_showDiv']=function(_0x546128){this['_parentNode']['style'][_0x1a4e('0x375d')]=_0x546128?_0x1a4e('0x260c'):_0x1a4e('0x60'),this[_0x1a4e('0x41a1')]=_0x546128;},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x433e')]=function(_0x546128){this[_0x1a4e('0x4340')]=this[_0x1a4e('0x435f')](_0x1a4e('0x4360')),this['_panelNode']=this[_0x1a4e('0x435f')]('geoBubblePanel','position:absolute;cursor:pointer;user-select:none;top:0px;left:0px;'),this[_0x1a4e('0x4159')]=this['_createDom']('geoBubbleLine',_0x1a4e('0x4361')),this[_0x1a4e('0x4340')][_0x1a4e('0x12c4')](this[_0x1a4e('0x4157')]),this['_parentNode']['appendChild'](this[_0x1a4e('0x4159')]),this[_0x1a4e('0x4350')](!0x1),this[_0x1a4e('0x4362')](_0x1a4e('0x4363'))?this[_0x1a4e('0x4364')]=this[_0x1a4e('0x4362')]('.geoBubbleRoot'):(this[_0x1a4e('0x4364')]=this[_0x1a4e('0x435f')]('geoBubbleRoot'),_0x546128[_0x1a4e('0x12c4')](this[_0x1a4e('0x4364')])),this[_0x1a4e('0x4364')][_0x1a4e('0x12c4')](this[_0x1a4e('0x4340')]);},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x435f')]=function(_0x546128,_0x27bb91){var _0x416744=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));return _0x416744[_0x1a4e('0x3935')]('class',_0x546128),_0x416744[_0x1a4e('0x375c')]['cssText']=_0x27bb91,_0x416744;},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x4365')]=function(_0x546128){},_0x27bb91[_0x1a4e('0xa')]['_getDom']=function(_0x546128){return this[_0x1a4e('0x38fa')][_0x1a4e('0x12d8')][_0x1a4e('0x39d7')](_0x546128);},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x4366')]=function(_0x546128){if(this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')])if(this['_isMouseDown'])this[_0x1a4e('0x4356')]=!0x1;else if(0x1===_0x546128[_0x1a4e('0x4367')]){_0x546128[_0x1a4e('0x16a7')]();var _0x27bb91=this['_panelNode']['getBoundingClientRect']();this[_0x1a4e('0x4356')]=!0x0,this[_0x1a4e('0x4368')]=_0x546128[_0x1a4e('0x4369')]-_0x27bb91[_0x1a4e('0x5f')],this[_0x1a4e('0x436a')]=_0x546128['clientY']-_0x27bb91['top'];}},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x436b')]=function(_0x546128){var _0x27bb91=this[_0x1a4e('0x4323')];if(_0x27bb91['renderVisible']&&!0x0===this['_isMouseDown']){_0x546128[_0x1a4e('0x16a7')]();var _0x416744=this['_container']['getBoundingClientRect'](),_0x488896=_0x546128[_0x1a4e('0x4369')]-this[_0x1a4e('0x4368')]-_0x416744[_0x1a4e('0x5f')],_0x5cf6c1=_0x546128[_0x1a4e('0x436c')]-this[_0x1a4e('0x436a')]-_0x416744['top'];this[_0x1a4e('0x4344')](_0x488896,_0x5cf6c1),_0x27bb91[_0x1a4e('0x4154')]={'x':this['_panelOffset']['x']-this['_anchorOffset']['x'],'y':this[_0x1a4e('0x4355')]['y']-this[_0x1a4e('0x436d')]['y']};}},_0x27bb91[_0x1a4e('0xa')]['_mouseUp']=function(_0x546128){this[_0x1a4e('0x4356')]=!0x1,this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];},_0x27bb91['prototype']['_touchStart']=function(_0x546128){if(this[_0x1a4e('0x4323')]['renderVisible'])if(this[_0x1a4e('0x4356')])this['_isMouseDown']=!0x1;else{_0x546128[_0x1a4e('0x16a7')]();var _0x27bb91=this[_0x1a4e('0x4157')][_0x1a4e('0x436e')]();this[_0x1a4e('0x4356')]=!0x0,this[_0x1a4e('0x4368')]=_0x546128['touches']['clientX']-_0x27bb91[_0x1a4e('0x5f')],this[_0x1a4e('0x436a')]=_0x546128[_0x1a4e('0x436f')][_0x1a4e('0x436c')]-_0x27bb91[_0x1a4e('0x5e')];}},_0x27bb91['prototype'][_0x1a4e('0x4370')]=function(_0x546128){var _0x27bb91=this['_dataItem'];if(_0x27bb91['renderVisible']&&(_0x546128[_0x1a4e('0x16a7')](),!0x0===this[_0x1a4e('0x4356')])){var _0x416744=this['_container'][_0x1a4e('0x436e')](),_0x488896=_0x546128[_0x1a4e('0x436f')][_0x1a4e('0x4369')]-this[_0x1a4e('0x4368')]-_0x416744[_0x1a4e('0x5f')],_0x5cf6c1=_0x546128['touches'][_0x1a4e('0x436c')]-this[_0x1a4e('0x436a')]-_0x416744[_0x1a4e('0x5e')];this[_0x1a4e('0x4344')](_0x488896,_0x5cf6c1),_0x27bb91['panelOffset']={'x':this[_0x1a4e('0x4355')]['x']-this['_anchorOffset']['x'],'y':this[_0x1a4e('0x4355')]['y']-this[_0x1a4e('0x436d')]['y']};}},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x4371')]=function(_0x546128){this['_dataItem'][_0x1a4e('0x41a2')]&&(_0x546128[_0x1a4e('0x16a7')](),this[_0x1a4e('0x4356')]=!0x1);},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x4341')]=function(_0x546128){var _0x27bb91=_0x546128[_0x1a4e('0x4372')];_0x27bb91&&_0x27bb91[_0x1a4e('0x12c5')](_0x546128);},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x433f')]=function(){var _0x546128=this;this['_panelNode'][_0x1a4e('0xec5')]('mousedown',this[_0x1a4e('0x4373')]=function(_0x27bb91){return _0x546128[_0x1a4e('0x4366')](_0x27bb91);}),this['_container'][_0x1a4e('0xec5')](_0x1a4e('0x3eea'),this[_0x1a4e('0x4374')]=function(_0x27bb91){return _0x546128[_0x1a4e('0x4375')](_0x27bb91);}),this[_0x1a4e('0x433d')]['addEventListener'](_0x1a4e('0xec6'),this[_0x1a4e('0x4376')]=function(_0x27bb91){return _0x546128[_0x1a4e('0x436b')](_0x27bb91);}),this[_0x1a4e('0x4157')][_0x1a4e('0xec5')](_0x1a4e('0x3856'),this['_fnStart']=function(_0x27bb91){return _0x546128[_0x1a4e('0x4377')](_0x27bb91);}),this[_0x1a4e('0x433d')]['addEventListener'](_0x1a4e('0x4378'),this[_0x1a4e('0x4379')]=function(_0x27bb91){return _0x546128[_0x1a4e('0x4371')](_0x27bb91);}),this[_0x1a4e('0x433d')][_0x1a4e('0xec5')](_0x1a4e('0x3855'),this['_fnTMove']=function(_0x27bb91){return _0x546128['_touchMove'](_0x27bb91);});},_0x27bb91[_0x1a4e('0xa')][_0x1a4e('0x4342')]=function(){this[_0x1a4e('0x433d')]&&(this[_0x1a4e('0x433d')][_0x1a4e('0xec2')](_0x1a4e('0x3eea'),this['_fnUp']),this['_panelNode'][_0x1a4e('0xec2')](_0x1a4e('0x383d'),this[_0x1a4e('0x4373')]),this[_0x1a4e('0x433d')][_0x1a4e('0xec2')](_0x1a4e('0xec6'),this[_0x1a4e('0x4376')]),this[_0x1a4e('0x433d')]['removeEventListener'](_0x1a4e('0x4378'),this[_0x1a4e('0x4379')]),this[_0x1a4e('0x4157')][_0x1a4e('0xec2')](_0x1a4e('0x3856'),this[_0x1a4e('0x437a')]),this[_0x1a4e('0x433d')][_0x1a4e('0xec2')](_0x1a4e('0x3855'),this[_0x1a4e('0x437b')]));},_0x27bb91;}(_0x5cadab[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumBillboard.ts':function(_0x24b422,_0x5a2a93,_0x149672){'use strict';_0x149672['r'](_0x5a2a93),_0x149672['d'](_0x5a2a93,'CesiumBillboard',function(){return _0x59790d;});var _0x509b73,_0x498017=_0x149672(_0x1a4e('0x430f')),_0x38c62c=_0x149672(_0x1a4e('0x3b38')),_0x2cc44f=_0x149672(_0x1a4e('0x4310')),_0x56407f=(_0x509b73=function(_0x24b422,_0x5a2a93){return(_0x509b73=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x24b422,_0x5a2a93){_0x24b422[_0x1a4e('0x295')]=_0x5a2a93;}||function(_0x24b422,_0x5a2a93){for(var _0x149672 in _0x5a2a93)_0x5a2a93[_0x1a4e('0xb')](_0x149672)&&(_0x24b422[_0x149672]=_0x5a2a93[_0x149672]);})(_0x24b422,_0x5a2a93);},function(_0x24b422,_0x5a2a93){function _0x149672(){this[_0x1a4e('0x10')]=_0x24b422;}_0x509b73(_0x24b422,_0x5a2a93),_0x24b422[_0x1a4e('0xa')]=null===_0x5a2a93?Object['create'](_0x5a2a93):(_0x149672[_0x1a4e('0xa')]=_0x5a2a93[_0x1a4e('0xa')],new _0x149672());}),_0x59790d=function(_0x24b422){function _0x5a2a93(){return null!==_0x24b422&&_0x24b422['apply'](this,arguments)||this;}return _0x56407f(_0x5a2a93,_0x24b422),Object[_0x1a4e('0x2')](_0x5a2a93['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x498017['RenderTypeEnum'][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x5a2a93[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x24b422=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this['_renderObj'][_0x1a4e('0x42fe')]=_0x24b422['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x24b422[_0x1a4e('0x2cb')];},_0x5a2a93[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){var _0x24b422=this['_dataItem'];this[_0x1a4e('0x437f')](),this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x437e')]={'show':_0x24b422[_0x1a4e('0x41a2')],'position':this[_0x1a4e('0x4380')][_0x1a4e('0x3553')],'billboard':this[_0x1a4e('0x4380')][_0x1a4e('0x412d')]});},_0x5a2a93[_0x1a4e('0xa')][_0x1a4e('0x437f')]=function(){for(var _0x24b422=['position',_0x1a4e('0x143'),_0x1a4e('0x3cb4'),_0x1a4e('0x3bdf'),_0x1a4e('0x134'),'horizontalOrigin',_0x1a4e('0x397b'),_0x1a4e('0x4147'),_0x1a4e('0x4146'),_0x1a4e('0x3d2e'),_0x1a4e('0x3936'),'height',_0x1a4e('0x4149'),_0x1a4e('0x4148'),_0x1a4e('0x414a')],_0x5a2a93=0x0;_0x5a2a93<_0x24b422[_0x1a4e('0x1e')];_0x5a2a93++)this[_0x1a4e('0x4381')](_0x24b422[_0x5a2a93]);},_0x5a2a93['prototype'][_0x1a4e('0x4381')]=function(_0x24b422){var _0x5a2a93=this;this[_0x1a4e('0x4380')]||(this['_resProps']={'position':{},'billboard':{}});var _0x149672=this[_0x1a4e('0x4323')];switch(_0x24b422){case _0x1a4e('0x3553'):this[_0x1a4e('0x4380')][_0x1a4e('0x3553')]=_0x38c62c['RenderUtils'][_0x1a4e('0x3f0a')](_0x149672['position']);break;case _0x1a4e('0x143'):this[_0x1a4e('0x4380')]['billboard'][_0x24b422]=_0x149672[_0x1a4e('0x143')];break;case _0x1a4e('0x3cb4'):this[_0x1a4e('0x4380')]['billboard'][_0x24b422]=_0x149672[_0x1a4e('0x3cb4')];break;case _0x1a4e('0x3bdf'):this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x24b422]=_0x38c62c['RenderUtils']['getHeightReference'](_0x149672[_0x1a4e('0x3bdf')]);break;case _0x1a4e('0x134'):this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x24b422]=_0x38c62c[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x149672[_0x1a4e('0x134')]);break;case'horizontalOrigin':this['_resProps'][_0x1a4e('0x412d')][_0x24b422]=_0x38c62c[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x149672[_0x1a4e('0x397a')]);break;case _0x1a4e('0x397b'):this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x24b422]=_0x38c62c[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x149672[_0x1a4e('0x397b')]);break;case'pixelOffset':this['_resProps'][_0x1a4e('0x412d')][_0x24b422]=_0x38c62c[_0x1a4e('0x3b60')][_0x1a4e('0x4384')](_0x149672['pixelOffset']);break;case _0x1a4e('0x4146'):this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x24b422]=_0x38c62c[_0x1a4e('0x3b60')][_0x1a4e('0x4385')](_0x149672['eyeOffset']);break;case _0x1a4e('0x3d2e'):this['_resProps'][_0x1a4e('0x412d')][_0x24b422]=-Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x149672[_0x1a4e('0x3d2e')]);break;case'width':this['_resProps'][_0x1a4e('0x412d')][_0x24b422]=_0x149672[_0x1a4e('0x3936')];break;case _0x1a4e('0x152'):this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x24b422]=_0x149672[_0x1a4e('0x152')];break;case _0x1a4e('0x4149'):this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x24b422]=_0x149672[_0x1a4e('0x4149')];break;case _0x1a4e('0x4148'):this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x24b422]=_0x38c62c[_0x1a4e('0x3b60')]['getNearFarScalar'](_0x149672[_0x1a4e('0x4148')]);break;case _0x1a4e('0x414a'):this[_0x1a4e('0x4380')]['billboard'][_0x24b422]=_0x149672['disableDepthTestDistance'];break;default:return;}if(this['_renderObj']){if(_0x1a4e('0x3553')===_0x24b422)return void(this[_0x1a4e('0x4312')]['position']=_0x149672[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x5a2a93[_0x1a4e('0x4380')][_0x1a4e('0x3553')];},!0x1):this[_0x1a4e('0x4380')][_0x24b422]);_0x149672[_0x1a4e('0x3e06')]?this['_renderObj']['billboard'][_0x24b422]=new Cesium['CallbackProperty'](function(){return _0x5a2a93[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x24b422];},!0x1):this[_0x1a4e('0x4312')][_0x1a4e('0x412d')][_0x24b422]=this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x24b422];}},_0x5a2a93[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x5a2a93){if(_0x24b422[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x5a2a93),this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x4323')])switch(_0x5a2a93){case'visible':this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this['_dataItem'][_0x5a2a93]&&this['_dataItem']['renderVisible'];break;case'isEditing':this[_0x1a4e('0x437d')]();break;default:this[_0x1a4e('0x4381')](_0x5a2a93);}},_0x5a2a93;}(_0x2cc44f[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumCylinder.ts':function(_0x5cdfa3,_0x140d66,_0xbc6199){'use strict';_0xbc6199['r'](_0x140d66),_0xbc6199['d'](_0x140d66,'CesiumCylinder',function(){return _0x1c794d;});var _0x4c647b,_0x47b1ee=_0xbc6199(_0x1a4e('0x430f')),_0x36de6c=_0xbc6199(_0x1a4e('0x3b38')),_0x224787=_0xbc6199(_0x1a4e('0x4310')),_0x3a20f9=(_0x4c647b=function(_0x5cdfa3,_0x140d66){return(_0x4c647b=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x5cdfa3,_0x140d66){_0x5cdfa3[_0x1a4e('0x295')]=_0x140d66;}||function(_0x5cdfa3,_0x140d66){for(var _0xbc6199 in _0x140d66)_0x140d66[_0x1a4e('0xb')](_0xbc6199)&&(_0x5cdfa3[_0xbc6199]=_0x140d66[_0xbc6199]);})(_0x5cdfa3,_0x140d66);},function(_0x5cdfa3,_0x140d66){function _0xbc6199(){this[_0x1a4e('0x10')]=_0x5cdfa3;}_0x4c647b(_0x5cdfa3,_0x140d66),_0x5cdfa3['prototype']=null===_0x140d66?Object[_0x1a4e('0x7')](_0x140d66):(_0xbc6199['prototype']=_0x140d66[_0x1a4e('0xa')],new _0xbc6199());}),_0x1c794d=function(_0x5cdfa3){function _0x140d66(){return null!==_0x5cdfa3&&_0x5cdfa3[_0x1a4e('0x8b')](this,arguments)||this;}return _0x3a20f9(_0x140d66,_0x5cdfa3),Object[_0x1a4e('0x2')](_0x140d66[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x47b1ee['RenderTypeEnum'][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x140d66[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x5cdfa3=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437d')](),this['_renderObj']=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this[_0x1a4e('0x4312')]['dataId']=_0x5cdfa3['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x5cdfa3[_0x1a4e('0x2cb')];},_0x140d66[_0x1a4e('0xa')]['update']=function(){this['_renderObj']['show']=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')],this[_0x1a4e('0x4312')][_0x1a4e('0x4386')][_0x1a4e('0x3a41')]=_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this['_dataItem'][_0x1a4e('0x3a41')]),this['_renderObj'][_0x1a4e('0x164')]=this[_0x1a4e('0x4387')]();},_0x140d66[_0x1a4e('0xa')][_0x1a4e('0x4387')]=function(){var _0x5cdfa3=this[_0x1a4e('0x4323')],_0x140d66=_0x36de6c[_0x1a4e('0x3b60')]['getPositionDegrees']([_0x5cdfa3[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x5cdfa3[_0x1a4e('0x3553')]['lat'],_0x5cdfa3['position'][_0x1a4e('0x398c')]]),_0xbc6199=_0x36de6c['RenderUtils'][_0x1a4e('0x4388')](_0x5cdfa3['heading']),_0x4c647b=_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x4388')](_0x5cdfa3[_0x1a4e('0x3a69')]),_0x47b1ee=_0x36de6c[_0x1a4e('0x3b60')]['getHeading'](_0x5cdfa3[_0x1a4e('0x3a9c')]),_0x224787=_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x4389')](_0xbc6199,_0x4c647b,_0x47b1ee);return _0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x438a')](_0x140d66,_0x224787);},_0x140d66['prototype'][_0x1a4e('0x4381')]=function(_0x5cdfa3){this[_0x1a4e('0x4380')]||(this[_0x1a4e('0x4380')]={'show':!0x1,'position':{},'orientation':{},'cylinder':{}});var _0x140d66=this[_0x1a4e('0x4323')];switch(_0x5cdfa3){case _0x1a4e('0x3a23'):this[_0x1a4e('0x4380')][_0x5cdfa3]=_0x140d66['isEditing']?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x140d66[_0x1a4e('0x3b2c')];},!0x1):_0x140d66['visible'];break;case _0x1a4e('0x3553'):this[_0x1a4e('0x4380')][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x438b')]([_0x140d66[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x140d66[_0x1a4e('0x3553')][_0x1a4e('0x1a2')],_0x140d66[_0x1a4e('0x3553')]['alt']]);},!0x1):_0x36de6c[_0x1a4e('0x3b60')]['getPositionDegrees']([_0x140d66[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x140d66['position']['lat'],_0x140d66[_0x1a4e('0x3553')][_0x1a4e('0x398c')]]);break;case _0x1a4e('0x164'):this[_0x1a4e('0x4380')][_0x5cdfa3]=this[_0x1a4e('0x4387')]();break;case _0x1a4e('0x1e'):this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x140d66[_0x1a4e('0x1e')];},!0x1):_0x140d66[_0x1a4e('0x1e')];break;case _0x1a4e('0x3b50'):this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x140d66[_0x1a4e('0x3b50')];},!0x1):_0x140d66[_0x1a4e('0x3b50')];break;case _0x1a4e('0x3b51'):this['_resProps'][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x140d66[_0x1a4e('0x3b51')];},!0x1):_0x140d66[_0x1a4e('0x3b51')];break;case _0x1a4e('0x3bdf'):this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66['isEditing']?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x140d66['heightReference']);},!0x1):_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x140d66[_0x1a4e('0x3bdf')]);break;case'fill':this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x140d66['fill'];},!0x1):_0x140d66['fill'];break;case _0x1a4e('0x3a41'):this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x140d66[_0x1a4e('0x134')]);break;case _0x1a4e('0x4171'):this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66['isEditing']?new Cesium['CallbackProperty'](function(){return _0x140d66[_0x1a4e('0x4171')];},!0x1):_0x140d66[_0x1a4e('0x4171')];break;case'outlineColor':this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium['CallbackProperty'](function(){return _0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x140d66[_0x1a4e('0x409f')]);},!0x1):_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x140d66[_0x1a4e('0x409f')]);break;case _0x1a4e('0x4172'):this['_resProps']['cylinder'][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x140d66[_0x1a4e('0x4172')];},!0x1):_0x140d66['outlineWidth'];break;case _0x1a4e('0x4173'):this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x140d66['numberOfVerticalLines'];},!0x1):_0x140d66['numberOfVerticalLines'];break;case _0x1a4e('0x4174'):this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x140d66[_0x1a4e('0x4174')];},!0x1):_0x140d66[_0x1a4e('0x4174')];break;case _0x1a4e('0x3bed'):this[_0x1a4e('0x4380')][_0x1a4e('0x4386')][_0x5cdfa3]=_0x140d66[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x36de6c[_0x1a4e('0x3b60')]['getShadows'](_0x140d66[_0x1a4e('0x3bed')]);},!0x1):_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x438d')](_0x140d66[_0x1a4e('0x3bed')]);break;default:return;}this[_0x1a4e('0x4312')]&&(-0x1!=['show',_0x1a4e('0x3553'),_0x1a4e('0x164')]['indexOf'](_0x5cdfa3)?this[_0x1a4e('0x4312')][_0x5cdfa3]=this[_0x1a4e('0x4380')][_0x5cdfa3]:this['_renderObj'][_0x1a4e('0x4386')][_0x5cdfa3]=this['_resProps']['cylinder'][_0x5cdfa3]);},_0x140d66['prototype']['updateAttributeForEditing']=function(){this[_0x1a4e('0x437f')](),this[_0x1a4e('0x4312')]||(this['_originProps']=this[_0x1a4e('0x4380')]);},_0x140d66[_0x1a4e('0xa')][_0x1a4e('0x437f')]=function(){for(var _0x5cdfa3=[_0x1a4e('0x3a23'),_0x1a4e('0x3553'),_0x1a4e('0x164'),_0x1a4e('0x1e'),_0x1a4e('0x3b50'),_0x1a4e('0x3b51'),_0x1a4e('0x3bdf'),_0x1a4e('0x22c'),_0x1a4e('0x3a41'),'outline',_0x1a4e('0x409f'),_0x1a4e('0x4172'),_0x1a4e('0x4173'),_0x1a4e('0x4174'),'shadows'],_0x140d66=0x0;_0x140d66<_0x5cdfa3['length'];_0x140d66++)this['_dealResProps'](_0x5cdfa3[_0x140d66]);},_0x140d66[_0x1a4e('0xa')]['updateAttribute']=function(_0x140d66){var _0xbc6199=this;if(_0x5cdfa3[_0x1a4e('0xa')][_0x1a4e('0x3dda')]['call'](this,_0x140d66),this['_renderObj']&&this[_0x1a4e('0x4323')])switch(_0x140d66){case'visible':this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')]&&this[_0x1a4e('0x4323')][_0x1a4e('0x3b2c')];break;case'color':this[_0x1a4e('0x4312')]['cylinder'][_0x1a4e('0x3a41')][_0x1a4e('0x134')]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x36de6c['RenderUtils'][_0x1a4e('0x3b40')](_0xbc6199['_dataItem'][_0x140d66]);},!0x1);break;case _0x1a4e('0x3a68'):case _0x1a4e('0x3a69'):case _0x1a4e('0x3a9c'):var _0x4c647b=_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x438b')]([this[_0x1a4e('0x4323')]['position'][_0x1a4e('0x1a1')],this['_dataItem'][_0x1a4e('0x3553')][_0x1a4e('0x1a2')],this[_0x1a4e('0x4323')][_0x1a4e('0x3553')][_0x1a4e('0x398c')]]),_0x47b1ee=_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x4388')](this['_dataItem'][_0x1a4e('0x3a68')]),_0x224787=_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x4388')](this[_0x1a4e('0x4323')][_0x1a4e('0x3a69')]),_0x3a20f9=_0x36de6c[_0x1a4e('0x3b60')][_0x1a4e('0x4388')](this[_0x1a4e('0x4323')][_0x1a4e('0x3a9c')]),_0x1c794d=_0x36de6c[_0x1a4e('0x3b60')]['getHpr'](_0x47b1ee,_0x224787,_0x3a20f9),_0x3ee459=_0x36de6c['RenderUtils'][_0x1a4e('0x438a')](_0x4c647b,_0x1c794d);this[_0x1a4e('0x4312')][_0x1a4e('0x164')]=_0x3ee459;break;case _0x1a4e('0x3e06'):this[_0x1a4e('0x437d')]();break;case _0x1a4e('0x3553'):this[_0x1a4e('0x4312')]['position']=new Cesium['CallbackProperty'](function(){return _0x36de6c['RenderUtils'][_0x1a4e('0x438b')]([_0xbc6199[_0x1a4e('0x4323')][_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0xbc6199['_dataItem']['position'][_0x1a4e('0x1a2')],_0xbc6199[_0x1a4e('0x4323')][_0x1a4e('0x3553')][_0x1a4e('0x398c')]]);},!0x1);break;default:this[_0x1a4e('0x437f')]();}},_0x140d66;}(_0x224787[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumEllipse.ts':function(_0x2761c7,_0x321259,_0xb0cfcc){'use strict';_0xb0cfcc['r'](_0x321259),_0xb0cfcc['d'](_0x321259,_0x1a4e('0x417f'),function(){return _0x3aa8cd;});var _0x109a4b,_0x22ca17=_0xb0cfcc(_0x1a4e('0x430f')),_0x56368f=_0xb0cfcc(_0x1a4e('0x3b38')),_0x368a62=_0xb0cfcc(_0x1a4e('0x4310')),_0x15db6b=(_0x109a4b=function(_0x2761c7,_0x321259){return(_0x109a4b=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x2761c7,_0x321259){_0x2761c7[_0x1a4e('0x295')]=_0x321259;}||function(_0x2761c7,_0x321259){for(var _0xb0cfcc in _0x321259)_0x321259[_0x1a4e('0xb')](_0xb0cfcc)&&(_0x2761c7[_0xb0cfcc]=_0x321259[_0xb0cfcc]);})(_0x2761c7,_0x321259);},function(_0x2761c7,_0x321259){function _0xb0cfcc(){this['constructor']=_0x2761c7;}_0x109a4b(_0x2761c7,_0x321259),_0x2761c7[_0x1a4e('0xa')]=null===_0x321259?Object['create'](_0x321259):(_0xb0cfcc[_0x1a4e('0xa')]=_0x321259[_0x1a4e('0xa')],new _0xb0cfcc());}),_0x3aa8cd=function(_0x2761c7){function _0x321259(){return null!==_0x2761c7&&_0x2761c7[_0x1a4e('0x8b')](this,arguments)||this;}return _0x15db6b(_0x321259,_0x2761c7),Object[_0x1a4e('0x2')](_0x321259[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x22ca17[_0x1a4e('0x4318')]['Entity'];},'enumerable':!0x0,'configurable':!0x0}),_0x321259[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x2761c7=this['_dataItem'];this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')]['add'](this[_0x1a4e('0x437e')]),this['_renderObj'][_0x1a4e('0x42fe')]=_0x2761c7['id'],this['_renderObj'][_0x1a4e('0x433a')]=_0x2761c7[_0x1a4e('0x2cb')];},_0x321259[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')]&&this[_0x1a4e('0x4323')][_0x1a4e('0x3b2c')],this[_0x1a4e('0x4312')][_0x1a4e('0x3957')]['material']=_0x56368f['RenderUtils'][_0x1a4e('0x3b40')](this[_0x1a4e('0x4323')][_0x1a4e('0x134')]);},_0x321259[_0x1a4e('0xa')]['_dealResProps']=function(_0x2761c7){var _0x321259=this;this[_0x1a4e('0x4380')]||(this[_0x1a4e('0x4380')]={'position':void 0x0,'ellipse':{}});var _0xb0cfcc=this['_dataItem'];switch(_0x2761c7){case'position':this[_0x1a4e('0x4380')][_0x1a4e('0x3553')]=_0x56368f['RenderUtils']['getPositionDegrees']([_0xb0cfcc[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0xb0cfcc['position']['lat'],_0xb0cfcc[_0x1a4e('0x3553')][_0x1a4e('0x398c')]]);break;case _0x1a4e('0x3a23'):this['_resProps'][_0x1a4e('0x3957')][_0x2761c7]=_0xb0cfcc[_0x1a4e('0x3b2c')];break;case _0x1a4e('0x3e52'):this[_0x1a4e('0x4380')]['ellipse'][_0x2761c7]=_0xb0cfcc[_0x1a4e('0x3e52')];break;case _0x1a4e('0x3e51'):this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0xb0cfcc[_0x1a4e('0x3e51')];break;case _0x1a4e('0x152'):this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0xb0cfcc[_0x1a4e('0x3553')][_0x1a4e('0x398c')];break;case'heightReference':this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0x56368f[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0xb0cfcc[_0x1a4e('0x3bdf')]);break;case _0x1a4e('0x398d'):this[_0x1a4e('0x4380')]['ellipse'][_0x2761c7]=_0xb0cfcc['extrudedHeight'];break;case _0x1a4e('0x4180'):this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0x56368f[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0xb0cfcc[_0x1a4e('0x4180')]);break;case'fill':this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0xb0cfcc[_0x1a4e('0x22c')];break;case'material':this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0x56368f['RenderUtils'][_0x1a4e('0x3b40')](_0xb0cfcc[_0x1a4e('0x134')]);break;case _0x1a4e('0x4171'):this[_0x1a4e('0x4380')]['ellipse'][_0x2761c7]=_0xb0cfcc[_0x1a4e('0x4171')];break;case _0x1a4e('0x409f'):this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0x56368f[_0x1a4e('0x3b60')]['getColor'](_0xb0cfcc[_0x1a4e('0x409f')]);break;case _0x1a4e('0x4173'):this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0xb0cfcc[_0x1a4e('0x4173')];break;case _0x1a4e('0x3d2e'):this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0xb0cfcc['rotation'];break;case _0x1a4e('0x4181'):this['_resProps'][_0x1a4e('0x3957')][_0x2761c7]=_0xb0cfcc[_0x1a4e('0x4181')];break;case _0x1a4e('0x4182'):this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0x56368f['RenderUtils'][_0x1a4e('0x438e')](_0xb0cfcc[_0x1a4e('0x4182')]);break;case _0x1a4e('0x3bed'):this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7]=_0x56368f['RenderUtils'][_0x1a4e('0x438d')](_0xb0cfcc[_0x1a4e('0x3bed')]);break;default:return;}if(this['_renderObj']){if(_0x1a4e('0x3553')===_0x2761c7)return void(this[_0x1a4e('0x4312')][_0x1a4e('0x3553')]=_0xb0cfcc['isEditing']||_0xb0cfcc[_0x1a4e('0x4155')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x321259[_0x1a4e('0x4380')]['position'];},!0x1):this[_0x1a4e('0x4380')][_0x1a4e('0x3553')]);_0xb0cfcc[_0x1a4e('0x3e06')]&&_0x1a4e('0x3a41')!==_0x2761c7?this[_0x1a4e('0x4312')][_0x1a4e('0x3957')][_0x2761c7]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x321259[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7];},!0x1):this[_0x1a4e('0x4312')]['ellipse'][_0x2761c7]=this[_0x1a4e('0x4380')][_0x1a4e('0x3957')][_0x2761c7];}},_0x321259[_0x1a4e('0xa')]['updateAttributeForEditing']=function(){this[_0x1a4e('0x437f')](),this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x437e')]={'position':this['_resProps']['position'],'ellipse':this[_0x1a4e('0x4380')]['ellipse']});},_0x321259[_0x1a4e('0xa')]['_updateAllProp']=function(){for(var _0x2761c7=[_0x1a4e('0x3553'),_0x1a4e('0x3a23'),_0x1a4e('0x3e52'),'semiMinorAxis','height',_0x1a4e('0x3bdf'),_0x1a4e('0x398d'),_0x1a4e('0x4180'),'fill','material',_0x1a4e('0x4171'),_0x1a4e('0x409f'),_0x1a4e('0x4173'),_0x1a4e('0x3d2e'),'stRotation','granularity',_0x1a4e('0x3bed')],_0x321259=0x0;_0x321259<_0x2761c7[_0x1a4e('0x1e')];_0x321259++)this[_0x1a4e('0x4381')](_0x2761c7[_0x321259]);},_0x321259[_0x1a4e('0xa')]['updateAttribute']=function(_0x321259){if(_0x2761c7[_0x1a4e('0xa')]['updateAttribute'][_0x1a4e('0x1')](this,_0x321259),this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x4323')])switch(_0x321259){case'visible':this[_0x1a4e('0x937')]();break;case _0x1a4e('0x134'):this[_0x1a4e('0x4312')]['ellipse']['material']=_0x56368f[_0x1a4e('0x3b60')]['getColor'](this[_0x1a4e('0x4323')][_0x321259]);break;case _0x1a4e('0x3e06'):this['updateAttributeForEditing']();break;case _0x1a4e('0x4155'):this[_0x1a4e('0x4381')](_0x1a4e('0x3553'));default:this[_0x1a4e('0x4381')](_0x321259),'position'===_0x321259&&this[_0x1a4e('0x4381')](_0x1a4e('0x152'));}},_0x321259;}(_0x368a62[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumEllipsoid.ts':function(_0xab7cea,_0x462572,_0x4f10f0){'use strict';_0x4f10f0['r'](_0x462572),_0x4f10f0['d'](_0x462572,_0x1a4e('0x4186'),function(){return _0xc32ae9;});var _0xc1db2,_0x4c2854=_0x4f10f0('./src/LayerManager/GraphicLayer/GraphicRender/RenderObject.ts'),_0xf2fd60=_0x4f10f0(_0x1a4e('0x3b38')),_0x322a24=_0x4f10f0(_0x1a4e('0x38d0')),_0xbd163b=_0x4f10f0(_0x1a4e('0x4310')),_0x8bdbae=(_0xc1db2=function(_0xab7cea,_0x462572){return(_0xc1db2=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0xab7cea,_0x462572){_0xab7cea[_0x1a4e('0x295')]=_0x462572;}||function(_0xab7cea,_0x462572){for(var _0x4f10f0 in _0x462572)_0x462572[_0x1a4e('0xb')](_0x4f10f0)&&(_0xab7cea[_0x4f10f0]=_0x462572[_0x4f10f0]);})(_0xab7cea,_0x462572);},function(_0xab7cea,_0x462572){function _0x4f10f0(){this['constructor']=_0xab7cea;}_0xc1db2(_0xab7cea,_0x462572),_0xab7cea[_0x1a4e('0xa')]=null===_0x462572?Object['create'](_0x462572):(_0x4f10f0[_0x1a4e('0xa')]=_0x462572[_0x1a4e('0xa')],new _0x4f10f0());}),_0xc32ae9=function(_0xab7cea){function _0x462572(){return null!==_0xab7cea&&_0xab7cea[_0x1a4e('0x8b')](this,arguments)||this;}return _0x8bdbae(_0x462572,_0xab7cea),Object[_0x1a4e('0x2')](_0x462572[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x4c2854[_0x1a4e('0x4318')]['Entity'];},'enumerable':!0x0,'configurable':!0x0}),_0x462572[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0xab7cea=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437d')](),this['_renderObj']=this['_renderRoot'][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0xab7cea['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0xab7cea[_0x1a4e('0x2cb')];},_0x462572[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')],this['_renderObj']['ellipsoid'][_0x1a4e('0x3a41')]=_0xf2fd60[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x4323')][_0x1a4e('0x3a41')]);},_0x462572[_0x1a4e('0xa')][_0x1a4e('0x4381')]=function(_0xab7cea){this[_0x1a4e('0x4380')]||(this['_resProps']={'show':!0x1,'position':{},'ellipsoid':{}});var _0x462572=this[_0x1a4e('0x4323')];switch(_0xab7cea){case _0x1a4e('0x3a23'):this['_resProps'][_0xab7cea]=_0x462572[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x462572[_0x1a4e('0x3b2c')];},!0x1):_0x462572[_0x1a4e('0x3b2c')];break;case _0x1a4e('0x3553'):this['_resProps'][_0xab7cea]=_0x462572[_0x1a4e('0x3e06')]||_0x462572[_0x1a4e('0x4155')]?new Cesium['CallbackProperty'](function(){return _0x322a24['GeoPoint'][_0x1a4e('0x3949')](_0x462572[_0x1a4e('0x3553')]);},!0x1):_0x322a24[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x462572[_0x1a4e('0x3553')]);break;case _0x1a4e('0x3a9a'):this['_resProps'][_0x1a4e('0x38dc')][_0xab7cea]=_0x462572['isEditing']?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0xf2fd60[_0x1a4e('0x3b60')][_0x1a4e('0x438f')](_0x462572[_0x1a4e('0x3a9a')]);},!0x1):_0xf2fd60[_0x1a4e('0x3b60')][_0x1a4e('0x438f')](_0x462572[_0x1a4e('0x3a9a')]);break;case _0x1a4e('0x3a41'):this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0xab7cea]=_0xf2fd60['RenderUtils'][_0x1a4e('0x3b40')](_0x462572[_0x1a4e('0x134')]);break;case'heightReference':this['_resProps'][_0x1a4e('0x38dc')][_0xab7cea]=_0x462572[_0x1a4e('0x3e06')]?new Cesium['CallbackProperty'](function(){return _0xf2fd60[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x462572[_0x1a4e('0x3bdf')]);},!0x1):_0xf2fd60[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x462572[_0x1a4e('0x3bdf')]);break;case _0x1a4e('0x22c'):this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0xab7cea]=_0x462572[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x462572[_0x1a4e('0x22c')];},!0x1):_0x462572['fill'];break;case _0x1a4e('0x4171'):this['_resProps'][_0x1a4e('0x38dc')][_0xab7cea]=_0x462572['isEditing']?new Cesium['CallbackProperty'](function(){return _0x462572[_0x1a4e('0x4171')];},!0x1):_0x462572[_0x1a4e('0x4171')];break;case _0x1a4e('0x409f'):this[_0x1a4e('0x4380')]['ellipsoid'][_0xab7cea]=_0x462572[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0xf2fd60['RenderUtils'][_0x1a4e('0x3b40')](_0x462572[_0x1a4e('0x409f')]);},!0x1):_0xf2fd60['RenderUtils'][_0x1a4e('0x3b40')](_0x462572[_0x1a4e('0x409f')]);break;case _0x1a4e('0x4187'):this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0xab7cea]=_0x462572[_0x1a4e('0x3e06')]?new Cesium['CallbackProperty'](function(){return _0x462572[_0x1a4e('0x4187')];},!0x1):_0x462572[_0x1a4e('0x4187')];break;case _0x1a4e('0x4188'):this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0xab7cea]=_0x462572[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x462572[_0x1a4e('0x4188')];},!0x1):_0x462572[_0x1a4e('0x4188')];break;case'slicePartitions':this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0xab7cea]=_0x462572[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x462572[_0x1a4e('0x4189')];},!0x1):_0x462572[_0x1a4e('0x4189')];break;case _0x1a4e('0x3bed'):this['_resProps'][_0x1a4e('0x38dc')][_0xab7cea]=_0x462572['isEditing']?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0xf2fd60[_0x1a4e('0x3b60')][_0x1a4e('0x438d')](_0x462572['shadows']);},!0x1):_0xf2fd60['RenderUtils'][_0x1a4e('0x438d')](_0x462572[_0x1a4e('0x3bed')]);break;default:return;}this[_0x1a4e('0x4312')]&&(-0x1!=[_0x1a4e('0x3a23'),_0x1a4e('0x3553')]['indexOf'](_0xab7cea)?this[_0x1a4e('0x4312')][_0xab7cea]=this['_resProps'][_0xab7cea]:this['_renderObj']['ellipsoid'][_0xab7cea]=this['_resProps'][_0x1a4e('0x38dc')][_0xab7cea]);},_0x462572[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){this[_0x1a4e('0x437f')](),this['_renderObj']||(this[_0x1a4e('0x437e')]=this[_0x1a4e('0x4380')]);},_0x462572[_0x1a4e('0xa')]['_updateAllProp']=function(){for(var _0xab7cea=[_0x1a4e('0x3a23'),_0x1a4e('0x3553'),_0x1a4e('0x3a9a'),_0x1a4e('0x1e'),_0x1a4e('0x3a41'),_0x1a4e('0x3bdf'),_0x1a4e('0x22c'),_0x1a4e('0x4171'),_0x1a4e('0x409f'),_0x1a4e('0x4187'),_0x1a4e('0x4188'),_0x1a4e('0x4189'),_0x1a4e('0x3bed')],_0x462572=0x0;_0x462572<_0xab7cea[_0x1a4e('0x1e')];_0x462572++)this['_dealResProps'](_0xab7cea[_0x462572]);},_0x462572['prototype']['updateAttribute']=function(_0x462572){if(_0xab7cea[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x462572),this['_renderObj']&&this['_dataItem'])switch(_0x462572){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]['show']=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')]&&this[_0x1a4e('0x4323')][_0x1a4e('0x3b2c')];break;case'color':this[_0x1a4e('0x4312')][_0x1a4e('0x38dc')]['material']=_0xf2fd60[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x4323')][_0x462572]);break;case _0x1a4e('0x3e06'):this[_0x1a4e('0x437d')]();break;case _0x1a4e('0x4155'):this[_0x1a4e('0x4381')]('position');break;default:this['_dealResProps'](_0x462572);}},_0x462572;}(_0xbd163b[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumLabel.ts':function(_0x218831,_0x3ecd41,_0x4011a1){'use strict';_0x4011a1['r'](_0x3ecd41),_0x4011a1['d'](_0x3ecd41,_0x1a4e('0x420d'),function(){return _0x54711d;});var _0x5c352e,_0x2e74c9=_0x4011a1(_0x1a4e('0x430f')),_0x2e81b5=_0x4011a1(_0x1a4e('0x3b38')),_0xe83f40=_0x4011a1(_0x1a4e('0x4310')),_0x4184d6=(_0x5c352e=function(_0x218831,_0x3ecd41){return(_0x5c352e=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x218831,_0x3ecd41){_0x218831[_0x1a4e('0x295')]=_0x3ecd41;}||function(_0x218831,_0x3ecd41){for(var _0x4011a1 in _0x3ecd41)_0x3ecd41['hasOwnProperty'](_0x4011a1)&&(_0x218831[_0x4011a1]=_0x3ecd41[_0x4011a1]);})(_0x218831,_0x3ecd41);},function(_0x218831,_0x3ecd41){function _0x4011a1(){this[_0x1a4e('0x10')]=_0x218831;}_0x5c352e(_0x218831,_0x3ecd41),_0x218831['prototype']=null===_0x3ecd41?Object[_0x1a4e('0x7')](_0x3ecd41):(_0x4011a1['prototype']=_0x3ecd41['prototype'],new _0x4011a1());}),_0x54711d=function(_0x218831){function _0x3ecd41(){return null!==_0x218831&&_0x218831['apply'](this,arguments)||this;}return _0x4184d6(_0x3ecd41,_0x218831),Object[_0x1a4e('0x2')](_0x3ecd41[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x2e74c9[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x3ecd41['prototype'][_0x1a4e('0x1fd')]=function(){var _0x218831=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this['_originProps']),this[_0x1a4e('0x4312')]['dataId']=_0x218831['id'],this['_renderObj'][_0x1a4e('0x433a')]=_0x218831[_0x1a4e('0x2cb')];},_0x3ecd41[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')]['renderVisible']&&this['_dataItem'][_0x1a4e('0x3b2c')];},_0x3ecd41[_0x1a4e('0xa')][_0x1a4e('0x4381')]=function(_0x218831){var _0x3ecd41=this;this['_resProps']||(this['_resProps']={'show':!0x1,'position':{},'label':{}});var _0x4011a1=this['_dataItem'];switch(_0x218831){case _0x1a4e('0x3a23'):this[_0x1a4e('0x4380')][_0x218831]=_0x4011a1['visible'];break;case _0x1a4e('0x3553'):this[_0x1a4e('0x4380')][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')][_0x1a4e('0x438b')]([_0x4011a1[_0x1a4e('0x3553')]['lon'],_0x4011a1['position']['lat'],_0x4011a1[_0x1a4e('0x3553')][_0x1a4e('0x398c')]]);break;case _0x1a4e('0x143'):this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]=_0x4011a1[_0x1a4e('0x143')];break;case'text':this['_resProps']['label'][_0x218831]=_0x4011a1[_0x1a4e('0xe04')];break;case _0x1a4e('0x3bdf'):this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x4011a1['heightReference']);break;case _0x1a4e('0x3987'):this['_resProps']['label'][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')]['getColor'](_0x4011a1[_0x1a4e('0x3987')]);break;case _0x1a4e('0x409f'):this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5['RenderUtils']['getColor'](_0x4011a1[_0x1a4e('0x409f')]);break;case'backgroundColor':this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x4011a1[_0x1a4e('0x3ef1')]);break;case _0x1a4e('0x397a'):this[_0x1a4e('0x4380')]['label'][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x4011a1[_0x1a4e('0x397a')]);break;case _0x1a4e('0x397b'):this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x4011a1[_0x1a4e('0x397b')]);break;case _0x1a4e('0x4147'):this['_resProps'][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')][_0x1a4e('0x4384')](_0x4011a1[_0x1a4e('0x4147')]);break;case'eyeOffset':this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')][_0x1a4e('0x4385')](_0x4011a1['eyeOffset']);break;case _0x1a4e('0x4172'):this[_0x1a4e('0x4380')]['label'][_0x218831]=_0x4011a1['outlineWidth'];break;case _0x1a4e('0x3986'):this[_0x1a4e('0x4380')]['label'][_0x218831]=_0x4011a1[_0x1a4e('0x3986')];break;case _0x1a4e('0x375c'):this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')][_0x1a4e('0x4390')](_0x4011a1[_0x1a4e('0x375c')]);break;case _0x1a4e('0x420f'):this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]=_0x4011a1[_0x1a4e('0x420f')];break;case _0x1a4e('0x4148'):this['_resProps'][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')]['getNearFarScalar'](_0x4011a1['scaleByDistance']);break;case _0x1a4e('0x420e'):this[_0x1a4e('0x4380')]['label'][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')]['getNearFarScalar'](_0x4011a1[_0x1a4e('0x420e')]);break;case _0x1a4e('0x4210'):this['_resProps'][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5[_0x1a4e('0x3b60')][_0x1a4e('0x4391')](_0x4011a1[_0x1a4e('0x4210')]);break;case _0x1a4e('0x414a'):this['_resProps']['label'][_0x218831]=_0x4011a1[_0x1a4e('0x4211')]?void 0x0:Number['POSITIVE_INFINITY'];break;case'distanceDisplayCondition':this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]=_0x2e81b5['RenderUtils'][_0x1a4e('0x4392')](_0x4011a1['distanceDisplayCondition']);break;default:return;}this[_0x1a4e('0x4312')]&&(_0x4011a1['isEditing']?_0x1a4e('0x3a23')===_0x218831||_0x1a4e('0x3553')===_0x218831?this[_0x1a4e('0x4312')][_0x218831]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x3ecd41[_0x1a4e('0x4380')][_0x218831];},!0x1):this[_0x1a4e('0x4312')]['label'][_0x218831]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x3ecd41['_resProps'][_0x1a4e('0x1bc')][_0x218831];},!0x1):'show'===_0x218831||_0x1a4e('0x3553')===_0x218831?this['_renderObj'][_0x218831]=this['_resProps'][_0x218831]:this[_0x1a4e('0x4312')]['label'][_0x218831]=this[_0x1a4e('0x4380')][_0x1a4e('0x1bc')][_0x218831]);},_0x3ecd41[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){this['_updateAllProp'](),this[_0x1a4e('0x4312')]||(this['_originProps']=this[_0x1a4e('0x4380')]);},_0x3ecd41[_0x1a4e('0xa')][_0x1a4e('0x437f')]=function(){for(var _0x218831=[_0x1a4e('0x3a23'),_0x1a4e('0x3553'),_0x1a4e('0x143'),_0x1a4e('0xe04'),_0x1a4e('0x3bdf'),'fillColor',_0x1a4e('0x409f'),'backgroundColor',_0x1a4e('0x397a'),_0x1a4e('0x397b'),_0x1a4e('0x4147'),_0x1a4e('0x4146'),_0x1a4e('0x4172'),_0x1a4e('0x3986'),'style','showBackground','scaleByDistance','pixelOffsetScaleByDistance',_0x1a4e('0x4210'),'disableDepthTestDistance','distanceDisplayCondition'],_0x3ecd41=0x0;_0x3ecd41<_0x218831[_0x1a4e('0x1e')];_0x3ecd41++)this[_0x1a4e('0x4381')](_0x218831[_0x3ecd41]);},_0x3ecd41[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x3ecd41){if(_0x218831[_0x1a4e('0xa')][_0x1a4e('0x3dda')]['call'](this,_0x3ecd41),this['_renderObj']&&this[_0x1a4e('0x4323')])switch(_0x3ecd41){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x937')]();break;case _0x1a4e('0x3e06'):this['updateAttributeForEditing']();break;case'isDepthTest':this[_0x1a4e('0x4381')](_0x1a4e('0x414a'));break;default:this[_0x1a4e('0x4381')](_0x3ecd41);}},_0x3ecd41;}(_0xe83f40[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumLabelBillboard.ts':function(_0x36596a,_0x2eb7c8,_0x3b4307){'use strict';_0x3b4307['r'](_0x2eb7c8),_0x3b4307['d'](_0x2eb7c8,_0x1a4e('0x4206'),function(){return _0x1cbcd1;});var _0x759bbc,_0x5ba85e=_0x3b4307('./src/LayerManager/GraphicLayer/GraphicRender/RenderObject.ts'),_0x31978f=_0x3b4307(_0x1a4e('0x3b38')),_0x51ef53=_0x3b4307(_0x1a4e('0x38d0')),_0x44a682=(_0x759bbc=function(_0x36596a,_0x2eb7c8){return(_0x759bbc=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x36596a,_0x2eb7c8){_0x36596a[_0x1a4e('0x295')]=_0x2eb7c8;}||function(_0x36596a,_0x2eb7c8){for(var _0x3b4307 in _0x2eb7c8)_0x2eb7c8[_0x1a4e('0xb')](_0x3b4307)&&(_0x36596a[_0x3b4307]=_0x2eb7c8[_0x3b4307]);})(_0x36596a,_0x2eb7c8);},function(_0x36596a,_0x2eb7c8){function _0x3b4307(){this[_0x1a4e('0x10')]=_0x36596a;}_0x759bbc(_0x36596a,_0x2eb7c8),_0x36596a[_0x1a4e('0xa')]=null===_0x2eb7c8?Object[_0x1a4e('0x7')](_0x2eb7c8):(_0x3b4307[_0x1a4e('0xa')]=_0x2eb7c8[_0x1a4e('0xa')],new _0x3b4307());}),_0x1cbcd1=function(_0x36596a){function _0x2eb7c8(){return null!==_0x36596a&&_0x36596a[_0x1a4e('0x8b')](this,arguments)||this;}return _0x44a682(_0x2eb7c8,_0x36596a),Object[_0x1a4e('0x2')](_0x2eb7c8[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x5ba85e[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x2eb7c8[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x36596a=this[_0x1a4e('0x4323')];this[_0x1a4e('0x4bd')]=new Cesium[(_0x1a4e('0x4393'))](),this['_renderRoot']['add'](this[_0x1a4e('0x4bd')]),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x4bd')][_0x1a4e('0x177')]({'show':_0x36596a[_0x1a4e('0x3b2c')],'position':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x438b')]([_0x36596a[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x36596a['position'][_0x1a4e('0x1a2')],_0x36596a[_0x1a4e('0x3553')][_0x1a4e('0x398c')]]),'scale':0.5*_0x36596a[_0x1a4e('0x143')],'image':null,'heightReference':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x36596a['heightReference']),'color':_0x31978f[_0x1a4e('0x3b60')]['getColor'](_0x36596a[_0x1a4e('0x134')]),'horizontalOrigin':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x36596a[_0x1a4e('0x397a')]),'verticalOrigin':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x36596a['verticalOrigin']),'pixelOffset':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4384')](_0x36596a[_0x1a4e('0x4147')]),'eyeOffset':_0x31978f['RenderUtils'][_0x1a4e('0x4385')](_0x36596a[_0x1a4e('0x4146')]),'rotation':_0x36596a[_0x1a4e('0x3d2e')],'sizeInMeters':!0x1,'scaleByDistance':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x31978f[_0x1a4e('0x3b60')]['getNearFarScalar'](_0x36596a['scaleByDistance']);},!0x1)}),this[_0x1a4e('0x3eae')]['distanceDisplayCondition']=_0x31978f[_0x1a4e('0x3b60')]['getDistanceDisplayCondition'](_0x36596a[_0x1a4e('0x3bfa')]),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x36596a['id'],this['_renderObj'][_0x1a4e('0x433a')]=_0x36596a['name'];},_0x2eb7c8[_0x1a4e('0xa')][_0x1a4e('0x4394')]=function(_0x36596a,_0x2eb7c8){},_0x2eb7c8[_0x1a4e('0xa')][_0x1a4e('0x3ecc')]=function(_0x36596a){var _0x2eb7c8=this[_0x1a4e('0x4323')];this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4bd')]),this[_0x1a4e('0x4bd')]=new Cesium[(_0x1a4e('0x4393'))](),this['_renderRoot'][_0x1a4e('0x177')](this[_0x1a4e('0x4bd')]),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x4bd')][_0x1a4e('0x177')]({'show':_0x2eb7c8[_0x1a4e('0x3b2c')],'position':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x438b')]([_0x2eb7c8['position'][_0x1a4e('0x1a1')],_0x2eb7c8[_0x1a4e('0x3553')][_0x1a4e('0x1a2')],_0x2eb7c8[_0x1a4e('0x3553')]['alt']]),'scale':0.5*_0x2eb7c8[_0x1a4e('0x143')],'image':null,'heightReference':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x2eb7c8[_0x1a4e('0x3bdf')]),'horizontalOrigin':_0x31978f['RenderUtils']['getHorizontalOrigin'](_0x2eb7c8['horizontalOrigin']),'verticalOrigin':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x2eb7c8[_0x1a4e('0x397b')]),'pixelOffset':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4384')](_0x2eb7c8[_0x1a4e('0x4147')]),'eyeOffset':_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4385')](_0x2eb7c8['eyeOffset']),'rotation':_0x2eb7c8[_0x1a4e('0x3d2e')],'sizeInMeters':!0x1,'scaleByDistance':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4391')](_0x2eb7c8[_0x1a4e('0x4148')]);},!0x1)}),this[_0x1a4e('0x3eae')][_0x1a4e('0x3bfa')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4392')](_0x2eb7c8['distanceDisplayCondition']),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x2eb7c8['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x2eb7c8[_0x1a4e('0x2cb')];var _0x3b4307=_0x2eb7c8['getCenterPosition'](),_0x759bbc=_0x51ef53[_0x1a4e('0x38da')][_0x1a4e('0x3ec4')](_0x3b4307,this[_0x1a4e('0x38fa')]),_0x5ba85e=_0x2eb7c8[_0x1a4e('0x143')],_0x44a682=0.5*_0x2eb7c8['scale'],_0x1cbcd1=_0x759bbc['x'],_0xfef031=_0x759bbc['y'],_0x16c734=_0x1cbcd1+0x2*_0x36596a['x'],_0x2bb85d=_0xfef031+0x2*_0x36596a['y'],_0x3bace7=_0x2eb7c8[_0x1a4e('0x3ec1')]*_0x5ba85e,_0x49cf9a=0x0,_0x5cea4a=new Object();_0x5cea4a['size']=_0x2eb7c8[_0x1a4e('0x4207')]*_0x5ba85e,_0x5cea4a[_0x1a4e('0x40a2')]=_0x2eb7c8[_0x1a4e('0x40a2')],_0x5cea4a[_0x1a4e('0x4395')]=_0x3bace7,_0x5cea4a[_0x1a4e('0x4396')]=_0x49cf9a,_0x5cea4a[_0x1a4e('0x4397')]=0xa*_0x5ba85e,_0x5cea4a['lineH']=_0x2eb7c8['lineHeight']*_0x5ba85e;var _0x18a20f=_0x2eb7c8[_0x1a4e('0xe04')],_0x356623=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x356623['id']='canvas0'+_0x2eb7c8['id'],(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x3986')]=_0x5cea4a[_0x1a4e('0x220')]+_0x1a4e('0x4398');var _0x526f56=_0x1d100b[_0x1a4e('0x4399')](_0x18a20f)[_0x1a4e('0x3936')],_0x51a63a=_0x5cea4a[_0x1a4e('0x4395')]-0x2*_0x5cea4a[_0x1a4e('0x4397')],_0x468dc8=Math['ceil'](_0x526f56/_0x51a63a),_0x196b08=_0x468dc8*(_0x5cea4a['size']/0x48*0x60+_0x5cea4a[_0x1a4e('0x439a')])+0x2*_0x5cea4a[_0x1a4e('0x4397')];_0x49cf9a=_0x196b08,_0x5cea4a['rectH']=_0x49cf9a,_0x5cea4a[_0x1a4e('0x439b')]=_0x468dc8,_0x49cf9a=_0x196b08-0x2*_0x5cea4a['textPadding'];var _0x4539d7=_0x2eb7c8[_0x1a4e('0x3ec7')]*_0x5ba85e,_0x5d2620=_0x2eb7c8[_0x1a4e('0x3ec9')]*_0x5ba85e,_0x2cade6=_0x2eb7c8[_0x1a4e('0x4209')]*_0x5ba85e,_0x2e2198=_0x2eb7c8[_0x1a4e('0x3ed2')]*_0x5ba85e;if(Math[_0x1a4e('0x65')](_0xfef031-_0x2bb85d)>_0x49cf9a/0x2){if(_0xfef031-_0x2bb85d>0x0)if(Math['abs'](_0x1cbcd1-_0x16c734)>=_0x3bace7/0x2)if(_0x1cbcd1<_0x16c734){var _0x1cbb4d=Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a+(_0xfef031-_0x2bb85d-_0x49cf9a/0x2);_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this['_renderObj'][_0x1a4e('0x397b')]=_0x31978f[_0x1a4e('0x3b60')]['getVerticalOrigin'](_0x1a4e('0x5c')),this[_0x1a4e('0x4312')][_0x1a4e('0x397a')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x1a4e('0x5f')),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f['RenderUtils'][_0x1a4e('0x4384')]([0x0,0x0]),(_0x1d100b=_0x356623['getContext']('2d'))['lineWidth']=0.1,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8['color'],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)-_0x3bace7/0x2,0x0),_0x1d100b[_0x1a4e('0x439d')](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,0x0),_0x1d100b[_0x1a4e('0x439d')](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x49cf9a),_0x1d100b['lineTo'](Math['abs'](_0x1cbcd1-_0x16c734)-_0x3bace7/0x2,_0x49cf9a),_0x1d100b['closePath'](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](Math['abs'](_0x1cbcd1-_0x16c734)-_0x4539d7,_0x49cf9a),_0x1d100b['lineTo'](0x0,_0x1db041),_0x1d100b[_0x1a4e('0x439d')](Math['abs'](_0x1cbcd1-_0x16c734)+_0x5d2620,_0x49cf9a),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')]();var _0x48d148=_0x1cbb4d-_0x3bace7+_0x5cea4a[_0x1a4e('0x4397')],_0x4901fe=_0x5cea4a[_0x1a4e('0x4397')];this['textPrewrap'](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else{_0x1cbb4d=Math['abs'](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a+(_0xfef031-_0x2bb85d-_0x49cf9a/0x2);_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623['height']=_0x1db041,this[_0x1a4e('0x4312')][_0x1a4e('0x397b')]=_0x31978f[_0x1a4e('0x3b60')]['getVerticalOrigin'](_0x1a4e('0x5c')),this[_0x1a4e('0x4312')]['horizontalOrigin']=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x1a4e('0x5d')),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4384')]([0x0,0x0]),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8['color'],_0x1d100b['beginPath'](),_0x1d100b[_0x1a4e('0x439c')](0x0,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](0x0,_0x49cf9a),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8['color'],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b['moveTo'](_0x3bace7/0x2-_0x4539d7,_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,_0x1db041),_0x1d100b['lineTo'](_0x3bace7/0x2+_0x5d2620,_0x49cf9a),_0x1d100b['closePath'](),_0x1d100b['fill']();_0x48d148=_0x5cea4a[_0x1a4e('0x4397')]||0x0,_0x4901fe=_0x5cea4a[_0x1a4e('0x4397')]||0x0;this[_0x1a4e('0x439f')](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else{_0x1cbb4d=_0x3bace7,_0x1db041=_0x49cf9a+(_0xfef031-_0x2bb85d-_0x49cf9a/0x2);_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this[_0x1a4e('0x4312')][_0x1a4e('0x397b')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x1a4e('0x5c')),this[_0x1a4e('0x4312')][_0x1a4e('0x397a')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4382')]('center'),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f['RenderUtils'][_0x1a4e('0x4384')]([(_0x16c734-_0x1cbcd1)*_0x44a682,0x0]),(_0x1d100b=_0x356623['getContext']('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8['color'],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b['moveTo'](0x0,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](0x0,_0x49cf9a),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b['moveTo'](_0x1cbb4d/0x2-_0x4539d7,_0x49cf9a),_0x1d100b['lineTo'](_0x1cbb4d/0x2+(_0x1cbcd1-_0x16c734),_0x1db041),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d/0x2+_0x5d2620,_0x49cf9a),_0x1d100b['closePath'](),_0x1d100b[_0x1a4e('0x22c')]();_0x48d148=_0x5cea4a[_0x1a4e('0x4397')]||0x0,_0x4901fe=_0x5cea4a[_0x1a4e('0x4397')]||0x0;this[_0x1a4e('0x439f')](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else if(_0xfef031-_0x2bb85d<0x0)if(Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)>=_0x3bace7/0x2)if(_0x1cbcd1<_0x16c734){_0x1cbb4d=Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a+(_0x2bb85d-_0xfef031-_0x49cf9a/0x2);_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this[_0x1a4e('0x4312')][_0x1a4e('0x397b')]=_0x31978f['RenderUtils'][_0x1a4e('0x4383')]('top'),this[_0x1a4e('0x4312')][_0x1a4e('0x397a')]=_0x31978f['RenderUtils'][_0x1a4e('0x4382')](_0x1a4e('0x5f')),this['_renderObj']['pixelOffset']=_0x31978f['RenderUtils'][_0x1a4e('0x4384')]([0x0,0x0]),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b['moveTo'](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)-_0x3bace7/0x2,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](Math['abs'](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041),_0x1d100b[_0x1a4e('0x439d')](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)-_0x3bace7/0x2,_0x1db041),_0x1d100b['closePath'](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b[_0x1a4e('0x4191')]=0xa,_0x1d100b['fillStyle']=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b['moveTo'](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)-_0x4539d7,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](0x0,0x0),_0x1d100b[_0x1a4e('0x439d')](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x5d2620,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')]();_0x48d148=_0x1cbb4d-_0x3bace7+_0x5cea4a[_0x1a4e('0x4397')],_0x4901fe=_0x1db041-_0x49cf9a+_0x5cea4a[_0x1a4e('0x4397')];this[_0x1a4e('0x439f')](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else{_0x1cbb4d=Math['abs'](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a+(_0x2bb85d-_0xfef031-_0x49cf9a/0x2);_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this[_0x1a4e('0x4312')][_0x1a4e('0x397b')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4383')]('top'),this[_0x1a4e('0x4312')]['horizontalOrigin']=_0x31978f['RenderUtils'][_0x1a4e('0x4382')](_0x1a4e('0x5d')),this['_renderObj'][_0x1a4e('0x4147')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4384')]([0x0,0x0]),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b['fillStyle']=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](0x0,_0x1db041-_0x49cf9a),_0x1d100b['lineTo'](_0x3bace7,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,_0x1db041),_0x1d100b['lineTo'](0x0,_0x1db041),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b['fill'](),_0x1d100b[_0x1a4e('0x4191')]=0xa,_0x1d100b['fillStyle']=_0x2eb7c8['color'],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b['moveTo'](_0x3bace7/0x2-_0x4539d7,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,0x0),_0x1d100b['lineTo'](_0x3bace7/0x2+_0x5d2620,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')]();_0x48d148=_0x5cea4a[_0x1a4e('0x4397')],_0x4901fe=_0x1db041-_0x49cf9a+_0x5cea4a[_0x1a4e('0x4397')];this['textPrewrap'](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else{_0x1cbb4d=_0x3bace7,_0x1db041=_0x49cf9a+(_0x2bb85d-_0xfef031-_0x49cf9a/0x2);_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this[_0x1a4e('0x4312')]['verticalOrigin']=_0x31978f['RenderUtils'][_0x1a4e('0x4383')](_0x1a4e('0x5e')),this[_0x1a4e('0x4312')]['horizontalOrigin']=_0x31978f['RenderUtils'][_0x1a4e('0x4382')](_0x1a4e('0x111')),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4384')]([(_0x16c734-_0x1cbcd1)*_0x44a682,0x0]),(_0x1d100b=_0x356623['getContext']('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8['color'],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b['moveTo'](0x0,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,_0x1db041),_0x1d100b[_0x1a4e('0x439d')](0x0,_0x1db041),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](_0x1cbb4d/0x2-_0x4539d7,_0x1db041-_0x49cf9a),_0x1d100b['lineTo'](_0x1cbb4d/0x2+(_0x1cbcd1-_0x16c734),0x0),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d/0x2+_0x5d2620,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')]();_0x48d148=_0x5cea4a[_0x1a4e('0x4397')],_0x4901fe=_0x1db041-_0x49cf9a+_0x5cea4a[_0x1a4e('0x4397')];this[_0x1a4e('0x439f')](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}}else if(Math[_0x1a4e('0x65')](_0xfef031-_0x2bb85d)<=_0x49cf9a/0x2)if(_0x1cbcd1<=_0x16c734-_0x3bace7/0x2)if(Math[_0x1a4e('0x65')](_0xfef031-_0x2bb85d)>_0x49cf9a/0x2)if(_0xfef031>_0x2bb85d){_0x1cbb4d=Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a+(_0xfef031-_0x2bb85d-_0x49cf9a/0x2);_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this['_renderObj'][_0x1a4e('0x397b')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4383')]('bottom'),this[_0x1a4e('0x4312')][_0x1a4e('0x397a')]=_0x31978f['RenderUtils'][_0x1a4e('0x4382')]('left'),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f[_0x1a4e('0x3b60')]['getCartesian2']([0x0,0x0]),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b['beginPath'](),_0x1d100b[_0x1a4e('0x439c')](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)-_0x3bace7/0x2,0x0),_0x1d100b['lineTo'](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,0x0),_0x1d100b[_0x1a4e('0x439d')](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)-_0x3bace7/0x2,_0x49cf9a),_0x1d100b['closePath'](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b['lineWidth']=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b['moveTo'](_0x1cbb4d-_0x3bace7,_0x49cf9a/0x2-_0x2cade6),_0x1d100b['lineTo'](0x0,_0x1db041),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d-_0x3bace7,_0x49cf9a/0x2+_0x2e2198),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')]();_0x48d148=_0x1cbb4d-_0x3bace7+_0x5cea4a[_0x1a4e('0x4397')],_0x4901fe=_0x5cea4a['textPadding'];this['textPrewrap'](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else{_0x1cbb4d=Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a+(_0x2bb85d-_0xfef031-_0x49cf9a/0x2);_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this[_0x1a4e('0x4312')][_0x1a4e('0x397b')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x1a4e('0x5e')),this[_0x1a4e('0x4312')]['horizontalOrigin']=_0x31978f['RenderUtils']['getHorizontalOrigin'](_0x1a4e('0x5f')),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f['RenderUtils']['getCartesian2']([0x0,0x0]),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b['beginPath'](),_0x1d100b[_0x1a4e('0x439c')](_0x1cbb4d-_0x3bace7,_0x1db041-_0x49cf9a),_0x1d100b['lineTo'](_0x1cbb4d,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,_0x1db041),_0x1d100b['lineTo'](_0x1cbb4d-_0x3bace7,_0x1db041),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b['lineWidth']=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8['color'],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](_0x1cbb4d-_0x3bace7,_0x1db041-_0x49cf9a+_0x49cf9a/0x2-_0x2cade6),_0x1d100b['lineTo'](0x0,0x0),_0x1d100b['lineTo'](_0x1cbb4d-_0x3bace7,_0x1db041-_0x49cf9a+_0x49cf9a/0x2+_0x2e2198),_0x1d100b['closePath'](),_0x1d100b[_0x1a4e('0x22c')]();_0x48d148=_0x1cbb4d-_0x3bace7+_0x5cea4a[_0x1a4e('0x4397')],_0x4901fe=_0x1db041-_0x49cf9a+_0x5cea4a['textPadding'];this[_0x1a4e('0x439f')](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else{_0x1cbb4d=Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a;_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623['height']=_0x1db041,this[_0x1a4e('0x4312')][_0x1a4e('0x397b')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x1a4e('0x111')),this[_0x1a4e('0x4312')][_0x1a4e('0x397a')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x1a4e('0x5f')),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f['RenderUtils']['getCartesian2']([0x0,(_0x2bb85d-_0xfef031)*_0x44a682]),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b['fillStyle']=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](_0x1cbb4d-_0x3bace7,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,0x0),_0x1d100b['lineTo'](_0x1cbb4d,_0x1db041),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d-_0x3bace7,_0x1db041),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b['lineWidth']=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b['beginPath'](),_0x1d100b[_0x1a4e('0x439c')](_0x1cbb4d-_0x3bace7,_0x49cf9a/0x2-_0x2cade6),_0x1d100b['lineTo'](0x0,_0x49cf9a/0x2+_0xfef031-_0x2bb85d),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d-_0x3bace7,_0x49cf9a/0x2+_0x2e2198),_0x1d100b['closePath'](),_0x1d100b['fill']();_0x48d148=_0x1cbb4d-_0x3bace7+_0x5cea4a['textPadding'],_0x4901fe=_0x5cea4a[_0x1a4e('0x4397')];this[_0x1a4e('0x439f')](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else if(_0x1cbcd1>=_0x16c734+_0x3bace7/0x2)if(Math[_0x1a4e('0x65')](_0xfef031-_0x2bb85d)>_0x49cf9a/0x2)if(_0xfef031>_0x2bb85d){_0x1cbb4d=Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a+(_0xfef031-_0x2bb85d-_0x49cf9a/0x2);_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this[_0x1a4e('0x4312')]['verticalOrigin']=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x1a4e('0x5c')),this[_0x1a4e('0x4312')]['horizontalOrigin']=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x1a4e('0x5d')),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4384')]([0x0,0x0]),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](0x0,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](0x0,_0x49cf9a),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](_0x3bace7,_0x49cf9a/0x2-_0x2cade6),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,_0x1db041),_0x1d100b['lineTo'](_0x3bace7,_0x49cf9a/0x2+_0x2e2198),_0x1d100b['closePath'](),_0x1d100b[_0x1a4e('0x22c')]();_0x48d148=_0x5cea4a['textPadding'],_0x4901fe=_0x5cea4a[_0x1a4e('0x4397')];this[_0x1a4e('0x439f')](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else{_0x1cbb4d=Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a+(_0x2bb85d-_0xfef031-_0x49cf9a/0x2);_0x356623['width']=_0x1cbb4d,_0x356623['height']=_0x1db041,this[_0x1a4e('0x4312')][_0x1a4e('0x397b')]=_0x31978f['RenderUtils'][_0x1a4e('0x4383')](_0x1a4e('0x5e')),this[_0x1a4e('0x4312')][_0x1a4e('0x397a')]=_0x31978f['RenderUtils'][_0x1a4e('0x4382')]('right'),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4384')]([0x0,0x0]),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](0x0,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,_0x1db041-_0x49cf9a),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,_0x1db041),_0x1d100b[_0x1a4e('0x439d')](0x0,_0x1db041),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b[_0x1a4e('0x4191')]=0xa,_0x1d100b['fillStyle']=_0x2eb7c8['color'],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b['moveTo'](_0x3bace7,_0x1db041-_0x49cf9a+_0x49cf9a/0x2-_0x2cade6),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,_0x1db041-_0x49cf9a+_0x49cf9a/0x2+_0x2e2198),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b['fill']();_0x48d148=_0x5cea4a[_0x1a4e('0x4397')],_0x4901fe=_0x1db041-_0x49cf9a+_0x5cea4a[_0x1a4e('0x4397')];this[_0x1a4e('0x439f')](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else{_0x1cbb4d=Math[_0x1a4e('0x65')](_0x1cbcd1-_0x16c734)+_0x3bace7/0x2,_0x1db041=_0x49cf9a;_0x356623['width']=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this[_0x1a4e('0x4312')][_0x1a4e('0x397b')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x1a4e('0x111')),this[_0x1a4e('0x4312')][_0x1a4e('0x397a')]=_0x31978f['RenderUtils'][_0x1a4e('0x4382')](_0x1a4e('0x5d')),this[_0x1a4e('0x4312')][_0x1a4e('0x4147')]=_0x31978f['RenderUtils']['getCartesian2']([0x0,(_0x2bb85d-_0xfef031)*_0x44a682]),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b['fillStyle']=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](0x0,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,_0x49cf9a),_0x1d100b['lineTo'](0x0,_0x49cf9a),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')](),_0x1d100b['lineWidth']=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8[_0x1a4e('0x134')],_0x1d100b[_0x1a4e('0x3dbd')](),_0x1d100b[_0x1a4e('0x439c')](_0x3bace7,_0x49cf9a/0x2-_0x2cade6),_0x1d100b[_0x1a4e('0x439d')](_0x1cbb4d,_0x49cf9a/0x2+(_0xfef031-_0x2bb85d)),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,_0x49cf9a/0x2+_0x2e2198),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')]();_0x48d148=_0x5cea4a[_0x1a4e('0x4397')],_0x4901fe=_0x5cea4a['textPadding'];this[_0x1a4e('0x439f')](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}else{var _0x1d100b;_0x1cbb4d=_0x3bace7,_0x1db041=_0x49cf9a;_0x356623[_0x1a4e('0x3936')]=_0x1cbb4d,_0x356623[_0x1a4e('0x152')]=_0x1db041,this['_renderObj'][_0x1a4e('0x397b')]=_0x31978f[_0x1a4e('0x3b60')]['getVerticalOrigin']('center'),this[_0x1a4e('0x4312')][_0x1a4e('0x397a')]=_0x31978f[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x1a4e('0x111')),(_0x1d100b=_0x356623[_0x1a4e('0x51c')]('2d'))[_0x1a4e('0x4191')]=0xa,_0x1d100b[_0x1a4e('0x3dbe')]=_0x2eb7c8['color'],_0x1d100b['beginPath'](),_0x1d100b['moveTo'](0x0,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,0x0),_0x1d100b[_0x1a4e('0x439d')](_0x3bace7,_0x49cf9a),_0x1d100b['lineTo'](0x0,_0x49cf9a),_0x1d100b[_0x1a4e('0x439e')](),_0x1d100b[_0x1a4e('0x22c')]();_0x48d148=_0x5cea4a[_0x1a4e('0x4397')],_0x4901fe=_0x5cea4a[_0x1a4e('0x4397')];this['textPrewrap'](_0x1d100b,_0x18a20f,_0x48d148,_0x4901fe,_0x5cea4a);}return this[_0x1a4e('0x4312')][_0x1a4e('0x3cb4')]=_0x356623,this[_0x1a4e('0x4312')][_0x1a4e('0x143')]=_0x44a682,_0x356623;},_0x2eb7c8['prototype'][_0x1a4e('0x439f')]=function(_0x36596a,_0x2eb7c8,_0x3b4307,_0x759bbc,_0x5ba85e){_0x36596a[_0x1a4e('0x3986')]=_0x5ba85e[_0x1a4e('0x220')]+_0x1a4e('0x4398'),_0x36596a['fillStyle']=_0x5ba85e[_0x1a4e('0x40a2')],_0x36596a[_0x1a4e('0x426c')]='left',_0x36596a[_0x1a4e('0x43a0')]=_0x1a4e('0x5e');var _0x31978f=_0x5ba85e[_0x1a4e('0x4395')]-0x2*_0x5ba85e[_0x1a4e('0x4397')],_0x51ef53=_0x5ba85e[_0x1a4e('0x220')]/0x48*0x60+_0x5ba85e[_0x1a4e('0x439a')],_0x44a682=_0x5ba85e[_0x1a4e('0x439b')],_0x1cbcd1='',_0x4abe7e=0x1,_0x415729=0x0;if(_0x36596a[_0x1a4e('0x4399')](_0x2eb7c8)['width']<=_0x31978f)_0x36596a[_0x1a4e('0x43a1')](_0x2eb7c8[_0x1a4e('0x281')](_0x415729,_0x584ada),_0x3b4307,_0x759bbc);else for(var _0x584ada=0x0;_0x584ada<_0x2eb7c8['length'];_0x584ada++)if(_0x1cbcd1+=_0x2eb7c8[_0x584ada],_0x36596a[_0x1a4e('0x4399')](_0x1cbcd1)[_0x1a4e('0x3936')]>=_0x31978f){if(_0x4abe7e>=_0x44a682){_0x36596a[_0x1a4e('0x43a1')](_0x2eb7c8[_0x1a4e('0x281')](_0x415729,_0x584ada)+'..',_0x3b4307,_0x759bbc);break;}_0x36596a[_0x1a4e('0x43a1')](_0x2eb7c8[_0x1a4e('0x281')](_0x415729,_0x584ada),_0x3b4307,_0x759bbc),_0x415729=_0x584ada+0x1,_0x4abe7e+=0x1,_0x759bbc+=_0x51ef53,_0x1cbcd1='';}else _0x584ada===_0x2eb7c8[_0x1a4e('0x1e')]-0x1&&_0x36596a[_0x1a4e('0x43a1')](_0x2eb7c8[_0x1a4e('0x281')](_0x415729),_0x3b4307,_0x759bbc);},_0x2eb7c8[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x4312')]&&(this[_0x1a4e('0x4bd')][_0x1a4e('0x82')](this['_renderObj']),this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4bd')])),this[_0x1a4e('0x4312')]=void 0x0,this[_0x1a4e('0x4323')]=void 0x0,this[_0x1a4e('0x38fa')]=void 0x0,this['_renderRoot']=void 0x0;},_0x2eb7c8[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];},_0x2eb7c8[_0x1a4e('0xa')]['updateAttribute']=function(_0x36596a){this[_0x1a4e('0x4323')];if(this[_0x1a4e('0x4312')]&&this['_dataItem'])switch(_0x36596a){case'visible':this['_renderObj'][_0x1a4e('0x3a23')]=this['_dataItem'][_0x36596a]&&this[_0x1a4e('0x4323')]['renderVisible'];break;case _0x1a4e('0x3ec1'):case _0x1a4e('0x3ec2'):case'moveX':case'moveY':case _0x1a4e('0xe04'):case _0x1a4e('0x4207'):case _0x1a4e('0x40a2'):case _0x1a4e('0x4208'):case'topbottomOpenningLeft':case _0x1a4e('0x3ec9'):case _0x1a4e('0x4209'):case'leftrightOpenningBottom':case _0x1a4e('0x3553'):case _0x1a4e('0x134'):case _0x1a4e('0x143'):case _0x1a4e('0x3d2e'):case'width':case _0x1a4e('0x152'):case _0x1a4e('0x3bdf'):case _0x1a4e('0x3bfa'):if(this[_0x1a4e('0x4312')]){var _0x2eb7c8={'x':this[_0x1a4e('0x4323')]['moveX'],'y':this[_0x1a4e('0x4323')][_0x1a4e('0x3ecf')]};this[_0x1a4e('0x3ecc')](_0x2eb7c8);}}},_0x2eb7c8;}(_0x5ba85e[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumLabelRect.ts':function(_0x2129a8,_0x1613d6,_0x13fd5d){'use strict';_0x13fd5d['r'](_0x1613d6),_0x13fd5d['d'](_0x1613d6,_0x1a4e('0x4215'),function(){return _0x5a42f7;});var _0x3bdd97,_0x4383c4=_0x13fd5d('./src/LayerManager/GraphicLayer/GraphicRender/RenderObject.ts'),_0x2237af=_0x13fd5d(_0x1a4e('0x3b38')),_0x4b9391=_0x13fd5d(_0x1a4e('0x38d0')),_0x2097cc=_0x13fd5d(_0x1a4e('0x4310')),_0xeb89bc=(_0x3bdd97=function(_0x2129a8,_0x1613d6){return(_0x3bdd97=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x2129a8,_0x1613d6){_0x2129a8[_0x1a4e('0x295')]=_0x1613d6;}||function(_0x2129a8,_0x1613d6){for(var _0x13fd5d in _0x1613d6)_0x1613d6['hasOwnProperty'](_0x13fd5d)&&(_0x2129a8[_0x13fd5d]=_0x1613d6[_0x13fd5d]);})(_0x2129a8,_0x1613d6);},function(_0x2129a8,_0x1613d6){function _0x13fd5d(){this['constructor']=_0x2129a8;}_0x3bdd97(_0x2129a8,_0x1613d6),_0x2129a8[_0x1a4e('0xa')]=null===_0x1613d6?Object[_0x1a4e('0x7')](_0x1613d6):(_0x13fd5d[_0x1a4e('0xa')]=_0x1613d6[_0x1a4e('0xa')],new _0x13fd5d());}),_0x5a42f7=function(_0x2129a8){function _0x1613d6(){return null!==_0x2129a8&&_0x2129a8[_0x1a4e('0x8b')](this,arguments)||this;}return _0xeb89bc(_0x1613d6,_0x2129a8),Object['defineProperty'](_0x1613d6['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x4383c4[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x1613d6['prototype'][_0x1a4e('0x1fd')]=function(){var _0x2129a8=this['_dataItem'];this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')]({'show':_0x2129a8[_0x1a4e('0x3b2c')],'position':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x4b9391[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x2129a8[_0x1a4e('0x3553')]);},!0x1),'billboard':{'scale':new Cesium[(_0x1a4e('0x3a95'))](function(){return 0.5*_0x2129a8[_0x1a4e('0x143')];},!0x1),'image':null,'heightReference':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x2237af[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x2129a8[_0x1a4e('0x3bdf')]);},!0x1),'horizontalOrigin':new Cesium['CallbackProperty'](function(){return _0x2237af[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x2129a8[_0x1a4e('0x397a')]);},!0x1),'verticalOrigin':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x2237af[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x2129a8[_0x1a4e('0x397b')]);},!0x1),'pixelOffset':new Cesium['CallbackProperty'](function(){return _0x2237af[_0x1a4e('0x3b60')][_0x1a4e('0x4384')](_0x2129a8[_0x1a4e('0x4147')]);},!0x1),'eyeOffset':new Cesium['CallbackProperty'](function(){return _0x2237af['RenderUtils'][_0x1a4e('0x4385')](_0x2129a8[_0x1a4e('0x4146')]);},!0x1),'rotation':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x2129a8[_0x1a4e('0x3d2e')];},!0x1),'sizeInMeters':!0x1,'distanceDisplayCondition':new Cesium['CallbackProperty'](function(){return _0x2237af[_0x1a4e('0x3b60')][_0x1a4e('0x4392')](_0x2129a8[_0x1a4e('0x3bfa')]);},!0x1)}}),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x2129a8['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x2129a8[_0x1a4e('0x2cb')];},_0x1613d6[_0x1a4e('0xa')]['updateCanvas']=function(){var _0x2129a8=this[_0x1a4e('0x4323')],_0x1613d6=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x1613d6['id']=_0x1a4e('0x43a2')+_0x2129a8['id'];var _0x13fd5d=_0x1613d6[_0x1a4e('0x51c')]('2d');_0x13fd5d[_0x1a4e('0x8b5')]();var _0x3bdd97={'font':_0x2129a8['font'],'bold':_0x2129a8[_0x1a4e('0x3737')],'size':_0x2129a8[_0x1a4e('0x4207')],'color':_0x2129a8[_0x1a4e('0x40a2')],'width':_0x2129a8['canvasWidth'],'height':0x0,'padding':0xa,'margin':_0x2129a8[_0x1a4e('0x4208')],'lineHeight':_0x2129a8[_0x1a4e('0x4207')],'lineNum':0x1},_0x4383c4=_0x3bdd97['size']+_0x1a4e('0x43a3')+_0x3bdd97[_0x1a4e('0x3986')];_0x13fd5d['font']=_0x4383c4;var _0x4b9391=_0x2129a8[_0x1a4e('0xe04')],_0x2097cc=_0x13fd5d[_0x1a4e('0x4399')](_0x4b9391),_0xeb89bc=[];if(_0x2097cc[_0x1a4e('0x3936')]<=_0x3bdd97[_0x1a4e('0x3936')])_0x3bdd97[_0x1a4e('0x3936')]=_0x2097cc[_0x1a4e('0x3936')],_0xeb89bc['push']({'x':_0x3bdd97[_0x1a4e('0x1272')],'y':_0x3bdd97['padding'],'content':_0x4b9391}),_0x3bdd97[_0x1a4e('0x43a4')]=0x1;else{for(var _0x5a42f7='',_0x5e1210=0x0,_0x8dd1a8=0x0,_0x1334ef=_0x3bdd97['padding'],_0x10059e=_0x3bdd97['padding'],_0x5b8893=0x0;_0x5b8893<_0x4b9391[_0x1a4e('0x1e')];_0x5b8893++)_0x5a42f7+=_0x4b9391[_0x5b8893],_0x13fd5d[_0x1a4e('0x4399')](_0x5a42f7)[_0x1a4e('0x3936')]>=_0x3bdd97[_0x1a4e('0x3936')]?(_0xeb89bc[_0x1a4e('0x46')]({'x':_0x1334ef,'y':_0x10059e,'content':_0x4b9391['substring'](_0x5e1210,_0x5b8893)}),_0x5e1210=_0x5b8893,_0x8dd1a8+=0x1,_0x10059e+=_0x3bdd97[_0x1a4e('0x4208')]+_0x3bdd97[_0x1a4e('0x43a5')],'\x20'===(_0x5a42f7=_0x4b9391[_0x5b8893])&&(_0x5e1210++,_0x5a42f7='')):_0x5b8893===_0x4b9391[_0x1a4e('0x1e')]-0x1&&(_0xeb89bc[_0x1a4e('0x46')]({'x':_0x1334ef,'y':_0x10059e,'content':_0x4b9391[_0x1a4e('0x281')](_0x5e1210)}),_0x8dd1a8+=0x1);_0x3bdd97[_0x1a4e('0x43a4')]=_0x8dd1a8;}_0x3bdd97[_0x1a4e('0x152')]=_0x3bdd97[_0x1a4e('0x4208')]*_0x3bdd97[_0x1a4e('0x43a4')]+_0x3bdd97[_0x1a4e('0x43a5')]*(_0x3bdd97['lineNum']-0x1),_0x1613d6[_0x1a4e('0x3936')]=_0x3bdd97['width']+0x2*_0x3bdd97[_0x1a4e('0x1272')],_0x1613d6[_0x1a4e('0x152')]=_0x3bdd97[_0x1a4e('0x152')]+0x2*_0x3bdd97[_0x1a4e('0x1272')],_0x13fd5d['lineWidth']=0x1,_0x13fd5d[_0x1a4e('0x3dbe')]=_0x2129a8[_0x1a4e('0x134')],_0x13fd5d[_0x1a4e('0x3dbd')](),_0x13fd5d[_0x1a4e('0x439c')](0x0,0x0),_0x13fd5d[_0x1a4e('0x439d')](_0x1613d6[_0x1a4e('0x3936')],0x0),_0x13fd5d[_0x1a4e('0x439d')](_0x1613d6[_0x1a4e('0x3936')],_0x1613d6[_0x1a4e('0x152')]),_0x13fd5d['lineTo'](0x0,_0x1613d6[_0x1a4e('0x152')]),_0x13fd5d[_0x1a4e('0x439e')](),_0x13fd5d[_0x1a4e('0x22c')](),_0x13fd5d[_0x1a4e('0x3986')]=_0x4383c4,_0x13fd5d['fillStyle']=_0x3bdd97[_0x1a4e('0x134')],_0x13fd5d[_0x1a4e('0x3df0')]=_0x3bdd97[_0x1a4e('0x134')],_0x13fd5d[_0x1a4e('0x426c')]=_0x1a4e('0x5f'),_0x13fd5d[_0x1a4e('0x43a0')]=_0x1a4e('0x5e'),_0x13fd5d['shadowColor']=_0x1a4e('0x420b'),_0x13fd5d['shadowOffsetX']=0x1,_0x13fd5d['shadowOffsetY']=0x1;for(var _0x4c07c9=0x0;_0x4c07c9<_0xeb89bc[_0x1a4e('0x1e')];_0x4c07c9++)_0x13fd5d[_0x1a4e('0x43a1')](_0xeb89bc[_0x4c07c9][_0x1a4e('0x120')],_0xeb89bc[_0x4c07c9]['x'],_0xeb89bc[_0x4c07c9]['y']),_0x3bdd97[_0x1a4e('0x3737')]&&_0x13fd5d['strokeText'](_0xeb89bc[_0x4c07c9][_0x1a4e('0x120')],_0xeb89bc[_0x4c07c9]['x'],_0xeb89bc[_0x4c07c9]['y']);_0x13fd5d['restore'](),this[_0x1a4e('0x4312')][_0x1a4e('0x412d')][_0x1a4e('0x3cb4')]=_0x1613d6,this[_0x1a4e('0x4312')]['billboard'][_0x1a4e('0x143')]=_0x2129a8[_0x1a4e('0x143')],this[_0x1a4e('0x4312')]['billboard']['verticalOrigin']=_0x2237af[_0x1a4e('0x3b60')]['getVerticalOrigin'](_0x1a4e('0x5c')),this['_renderObj'][_0x1a4e('0x412d')][_0x1a4e('0x397a')]=_0x2237af[_0x1a4e('0x3b60')]['getHorizontalOrigin'](_0x1a4e('0x5f'));},_0x1613d6[_0x1a4e('0xa')]['update']=function(){this[_0x1a4e('0x4312')]['show']=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];},_0x1613d6['prototype']['updateAttribute']=function(_0x1613d6){_0x2129a8[_0x1a4e('0xa')][_0x1a4e('0x3dda')]['call'](this,_0x1613d6);this[_0x1a4e('0x4323')];if(this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x4323')])switch(_0x1613d6){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]['show']=this[_0x1a4e('0x4323')][_0x1613d6]&&this[_0x1a4e('0x4323')]['renderVisible'];break;case _0x1a4e('0x3ec1'):case _0x1a4e('0x3ec2'):case _0x1a4e('0x3ecd'):case _0x1a4e('0x3ecf'):case'text':case'font':case _0x1a4e('0x4207'):case _0x1a4e('0x40a2'):case'lineHeight':case _0x1a4e('0x3ec7'):case'topbottomOpenningRight':case'leftrightOpenningTop':case'leftrightOpenningBottom':case _0x1a4e('0x134'):case _0x1a4e('0x143'):this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x3ecc')]();}},_0x1613d6;}(_0x2097cc[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumModel.ts':function(_0x26fbb0,_0x53a895,_0x31d577){'use strict';_0x31d577['r'](_0x53a895),_0x31d577['d'](_0x53a895,_0x1a4e('0x4218'),function(){return _0x3423c3;});var _0x35917f,_0x4cad1d=_0x31d577(_0x1a4e('0x430f')),_0xa25414=_0x31d577(_0x1a4e('0x3b38')),_0xdc571f=_0x31d577(_0x1a4e('0x4310')),_0x4cde2c=(_0x35917f=function(_0x26fbb0,_0x53a895){return(_0x35917f=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x26fbb0,_0x53a895){_0x26fbb0['__proto__']=_0x53a895;}||function(_0x26fbb0,_0x53a895){for(var _0x31d577 in _0x53a895)_0x53a895['hasOwnProperty'](_0x31d577)&&(_0x26fbb0[_0x31d577]=_0x53a895[_0x31d577]);})(_0x26fbb0,_0x53a895);},function(_0x26fbb0,_0x53a895){function _0x31d577(){this[_0x1a4e('0x10')]=_0x26fbb0;}_0x35917f(_0x26fbb0,_0x53a895),_0x26fbb0['prototype']=null===_0x53a895?Object[_0x1a4e('0x7')](_0x53a895):(_0x31d577['prototype']=_0x53a895[_0x1a4e('0xa')],new _0x31d577());}),_0x3423c3=function(_0x26fbb0){function _0x53a895(){return null!==_0x26fbb0&&_0x26fbb0[_0x1a4e('0x8b')](this,arguments)||this;}return _0x4cde2c(_0x53a895,_0x26fbb0),Object['defineProperty'](_0x53a895['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x4cad1d[_0x1a4e('0x4318')]['Entity'];},'enumerable':!0x0,'configurable':!0x0}),_0x53a895[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x26fbb0=this['_dataItem'];this[_0x1a4e('0x437d')](),this['_renderObj']=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this[_0x1a4e('0x4312')][_0x1a4e('0x164')]=this[_0x1a4e('0x438a')](),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x26fbb0['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x26fbb0['name'];},_0x53a895[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')]&&this['_dataItem']['renderVisible'];},_0x53a895[_0x1a4e('0xa')][_0x1a4e('0x438a')]=function(){var _0x26fbb0=_0xa25414[_0x1a4e('0x3b60')]['getPositionDegrees']([this[_0x1a4e('0x4323')]['position']['lon'],this['_dataItem']['position'][_0x1a4e('0x1a2')],this['_dataItem'][_0x1a4e('0x3553')][_0x1a4e('0x398c')]]),_0x53a895=_0xa25414[_0x1a4e('0x3b60')]['getHeading'](this[_0x1a4e('0x4323')][_0x1a4e('0x3a68')]),_0x31d577=_0xa25414[_0x1a4e('0x3b60')][_0x1a4e('0x4388')](this[_0x1a4e('0x4323')][_0x1a4e('0x3a69')]),_0x35917f=_0xa25414[_0x1a4e('0x3b60')]['getHeading'](this['_dataItem']['roll']),_0x4cad1d=_0xa25414[_0x1a4e('0x3b60')][_0x1a4e('0x4389')](_0x53a895,_0x31d577,_0x35917f);return _0xa25414[_0x1a4e('0x3b60')]['getOrientation'](_0x26fbb0,_0x4cad1d);},_0x53a895[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){var _0x26fbb0=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437f')](),this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x437e')]={'show':_0x26fbb0[_0x1a4e('0x41a2')],'position':this[_0x1a4e('0x4380')][_0x1a4e('0x3553')],'model':this[_0x1a4e('0x4380')][_0x1a4e('0x3c51')]});},_0x53a895[_0x1a4e('0xa')][_0x1a4e('0x437f')]=function(){for(var _0x26fbb0=[_0x1a4e('0x3553'),_0x1a4e('0x15cf'),_0x1a4e('0x143'),_0x1a4e('0x3bdd'),_0x1a4e('0x3bdc'),'heightReference',_0x1a4e('0x134'),_0x1a4e('0x4219'),_0x1a4e('0x3bea'),_0x1a4e('0x3bd5'),_0x1a4e('0x3bd9')],_0x53a895=0x0;_0x53a895<_0x26fbb0[_0x1a4e('0x1e')];_0x53a895++)this[_0x1a4e('0x4381')](_0x26fbb0[_0x53a895]);},_0x53a895[_0x1a4e('0xa')][_0x1a4e('0x4381')]=function(_0x26fbb0){var _0x53a895=this;this['_resProps']||(this[_0x1a4e('0x4380')]={'position':{},'model':{}});var _0x31d577=this[_0x1a4e('0x4323')];switch(_0x26fbb0){case _0x1a4e('0x3553'):this['_resProps'][_0x1a4e('0x3553')]=_0xa25414[_0x1a4e('0x3b60')][_0x1a4e('0x3f0a')](_0x31d577[_0x1a4e('0x3553')]);break;case _0x1a4e('0x15cf'):this[_0x1a4e('0x4380')][_0x1a4e('0x3c51')][_0x1a4e('0x3d69')]=_0x31d577[_0x1a4e('0x15cf')];break;case'scale':this[_0x1a4e('0x4380')]['model'][_0x26fbb0]=_0x31d577[_0x1a4e('0x143')];break;case _0x1a4e('0x3bdd'):this[_0x1a4e('0x4380')]['model'][_0x26fbb0]=_0x31d577[_0x1a4e('0x3bdd')];break;case _0x1a4e('0x3bdc'):this[_0x1a4e('0x4380')][_0x1a4e('0x3c51')][_0x26fbb0]=_0x31d577['minimumPixelSize'];break;case _0x1a4e('0x3bdf'):this['_resProps'][_0x1a4e('0x3c51')][_0x26fbb0]=_0xa25414[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x31d577['heightReference']);break;case _0x1a4e('0x134'):this[_0x1a4e('0x4380')][_0x1a4e('0x3c51')][_0x26fbb0]=_0xa25414[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x31d577[_0x1a4e('0x134')]);break;case _0x1a4e('0x4219'):this[_0x1a4e('0x4380')][_0x1a4e('0x3c51')][_0x26fbb0]=_0x31d577[_0x1a4e('0x4219')];break;case _0x1a4e('0x3bea'):this[_0x1a4e('0x4380')][_0x1a4e('0x3c51')][_0x26fbb0]=_0x31d577[_0x1a4e('0x3bea')];break;case'silhouetteColor':this[_0x1a4e('0x4380')]['model'][_0x26fbb0]=_0xa25414['RenderUtils']['getColor'](_0x31d577[_0x1a4e('0x3bd5')]);break;case _0x1a4e('0x3bd9'):this[_0x1a4e('0x4380')][_0x1a4e('0x3c51')][_0x26fbb0]=_0x31d577[_0x1a4e('0x3bd9')];break;default:return;}if(this[_0x1a4e('0x4312')]){if(_0x1a4e('0x3553')===_0x26fbb0)return void(this[_0x1a4e('0x4312')]['position']=_0x31d577[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x53a895[_0x1a4e('0x4380')][_0x1a4e('0x3553')];},!0x1):this[_0x1a4e('0x4380')][_0x26fbb0]);_0x31d577[_0x1a4e('0x3e06')]?_0x1a4e('0x15cf')==_0x26fbb0?this[_0x1a4e('0x4312')][_0x1a4e('0x3c51')][_0x1a4e('0x3d69')]=new Cesium['CallbackProperty'](function(){return _0x31d577[_0x1a4e('0x15cf')];},!0x1):this['_renderObj'][_0x1a4e('0x3c51')][_0x26fbb0]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x53a895[_0x1a4e('0x4380')][_0x1a4e('0x3c51')][_0x26fbb0];},!0x1):'url'==_0x26fbb0?this[_0x1a4e('0x4312')][_0x1a4e('0x3c51')][_0x1a4e('0x3d69')]=_0x31d577['url']:this[_0x1a4e('0x4312')]['model'][_0x26fbb0]=this[_0x1a4e('0x4380')][_0x1a4e('0x3c51')][_0x26fbb0];}},_0x53a895['prototype'][_0x1a4e('0x3dda')]=function(_0x53a895){if(_0x26fbb0[_0x1a4e('0xa')][_0x1a4e('0x3dda')]['call'](this,_0x53a895),this[_0x1a4e('0x4312')]&&this['_dataItem'])switch(_0x53a895){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x937')]();break;case _0x1a4e('0x3a68'):case'pitch':case'roll':this[_0x1a4e('0x4312')][_0x1a4e('0x164')]=this[_0x1a4e('0x438a')]();break;default:this['_dealResProps'](_0x53a895);}},_0x53a895;}(_0xdc571f[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumOblique.ts':function(_0x3639f6,_0x49fbef,_0x54874c){'use strict';_0x54874c['r'](_0x49fbef),_0x54874c['d'](_0x49fbef,_0x1a4e('0x421c'),function(){return _0xcff572;});var _0x15c0b7,_0x9a091a=_0x54874c(_0x1a4e('0x430f')),_0x584997=(_0x15c0b7=function(_0x3639f6,_0x49fbef){return(_0x15c0b7=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x3639f6,_0x49fbef){_0x3639f6['__proto__']=_0x49fbef;}||function(_0x3639f6,_0x49fbef){for(var _0x54874c in _0x49fbef)_0x49fbef[_0x1a4e('0xb')](_0x54874c)&&(_0x3639f6[_0x54874c]=_0x49fbef[_0x54874c]);})(_0x3639f6,_0x49fbef);},function(_0x3639f6,_0x49fbef){function _0x54874c(){this['constructor']=_0x3639f6;}_0x15c0b7(_0x3639f6,_0x49fbef),_0x3639f6['prototype']=null===_0x49fbef?Object[_0x1a4e('0x7')](_0x49fbef):(_0x54874c['prototype']=_0x49fbef[_0x1a4e('0xa')],new _0x54874c());}),_0x169094=function(_0x3639f6,_0x49fbef){var _0x54874c=_0x1a4e('0x68')==typeof Symbol&&_0x3639f6[Symbol[_0x1a4e('0x335')]];if(!_0x54874c)return _0x3639f6;var _0x15c0b7,_0x9a091a,_0x584997=_0x54874c[_0x1a4e('0x1')](_0x3639f6),_0x169094=[];try{for(;(void 0x0===_0x49fbef||_0x49fbef-->0x0)&&!(_0x15c0b7=_0x584997[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x169094[_0x1a4e('0x46')](_0x15c0b7[_0x1a4e('0x255')]);}catch(_0x14038b){_0x9a091a={'error':_0x14038b};}finally{try{_0x15c0b7&&!_0x15c0b7[_0x1a4e('0x3c2')]&&(_0x54874c=_0x584997[_0x1a4e('0xe40')])&&_0x54874c[_0x1a4e('0x1')](_0x584997);}finally{if(_0x9a091a)throw _0x9a091a['error'];}}return _0x169094;},_0xcff572=function(_0x3639f6){function _0x49fbef(){return null!==_0x3639f6&&_0x3639f6[_0x1a4e('0x8b')](this,arguments)||this;}return _0x584997(_0x49fbef,_0x3639f6),Object[_0x1a4e('0x2')](_0x49fbef[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x9a091a[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x49fbef[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x3639f6=this,_0x49fbef=this[_0x1a4e('0x4323')],_0x54874c=new Cesium[(_0x1a4e('0x43a6'))]({'url':_0x49fbef[_0x1a4e('0x15cf')]});_0x54874c[_0x1a4e('0x3d83')]['then'](function(_0x15c0b7){_0x3639f6[_0x1a4e('0x4312')]=_0x3639f6['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x54874c),_0x3639f6[_0x1a4e('0x43a7')]=_0x3639f6[_0x1a4e('0x4312')][_0x1a4e('0x4bd')][_0x1a4e('0x93')][_0x1a4e('0x240')](),_0x3639f6[_0x1a4e('0x937')](),_0x3639f6[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x49fbef['id'],_0x3639f6[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x49fbef[_0x1a4e('0x2cb')];});},_0x49fbef[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){var _0x3639f6=this[_0x1a4e('0x4323')];this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0x3639f6['visible'],this['updateOffset'](),this[_0x1a4e('0x43a8')]();},_0x49fbef[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x3639f6){if(this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x4323')])switch(_0x3639f6){case'visible':this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x3639f6]&&this['_dataItem']['renderVisible'];break;case _0x1a4e('0x1af'):this[_0x1a4e('0x43a9')]();break;case _0x1a4e('0x7a3'):this[_0x1a4e('0x43a8')]();break;case _0x1a4e('0x134'):break;case _0x1a4e('0x3e06'):this[_0x1a4e('0x3eae')][_0x1a4e('0x43aa')]=this['_dataItem'][_0x1a4e('0x3e06')];break;case _0x1a4e('0x143'):this[_0x1a4e('0x43a8')]();}},_0x49fbef[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this['_renderObj']=null;},_0x49fbef[_0x1a4e('0xa')]['updateOffset']=function(){var _0x3639f6=this[_0x1a4e('0x4323')],_0x49fbef=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x14bb')](_0x3639f6[_0x1a4e('0x1af')]),_0x54874c=Cesium['Matrix4'][_0x1a4e('0x43ab')](_0x49fbef);this[_0x1a4e('0x4312')][_0x1a4e('0x3b64')]=_0x54874c;},_0x49fbef['prototype']['updateRotate']=function(){var _0x3639f6=this[_0x1a4e('0x4323')],_0x49fbef=_0x169094(_0x3639f6[_0x1a4e('0x7a3')],0x3),_0x54874c=_0x49fbef[0x0],_0x15c0b7=_0x49fbef[0x1],_0x9a091a=_0x49fbef[0x2],_0x584997=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3c5e')](Cesium[_0x1a4e('0x1020')]['toRadians'](_0x54874c)),_0xcff572=Cesium[_0x1a4e('0x3aae')]['fromRotationY'](Cesium['Math'][_0x1a4e('0x566')](_0x15c0b7)),_0xc0e593=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3c62')](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x9a091a)),_0x5d4805=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x584997),_0x479338=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0xcff572),_0x3dbc27=Cesium['Matrix4']['fromRotationTranslation'](_0xc0e593),_0x14f751=this[_0x1a4e('0x43a7')][_0x1a4e('0x240')](),_0xf055cf=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x43ac')](_0x3639f6['scale']);Cesium['Matrix4'][_0x1a4e('0x260')](_0x14f751,_0xf055cf,_0x14f751),Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x260')](_0x14f751,_0x5d4805,_0x14f751),Cesium[_0x1a4e('0x3a29')]['multiply'](_0x14f751,_0x479338,_0x14f751),Cesium[_0x1a4e('0x3a29')]['multiply'](_0x14f751,_0x3dbc27,_0x14f751),this[_0x1a4e('0x4312')][_0x1a4e('0x4bd')]['transform']=_0x14f751;},_0x49fbef;}(_0x9a091a['RenderObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumPoint.ts':function(_0x1fd707,_0x974c32,_0x53e058){'use strict';_0x53e058['r'](_0x974c32),_0x53e058['d'](_0x974c32,'CesiumPoint',function(){return _0x5738ce;});var _0x376aea,_0x489e66=_0x53e058(_0x1a4e('0x430f')),_0x39d1a0=_0x53e058(_0x1a4e('0x3b38')),_0x5a9ace=_0x53e058(_0x1a4e('0x4310')),_0x28e9a3=(_0x376aea=function(_0x1fd707,_0x974c32){return(_0x376aea=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x1fd707,_0x974c32){_0x1fd707[_0x1a4e('0x295')]=_0x974c32;}||function(_0x1fd707,_0x974c32){for(var _0x53e058 in _0x974c32)_0x974c32['hasOwnProperty'](_0x53e058)&&(_0x1fd707[_0x53e058]=_0x974c32[_0x53e058]);})(_0x1fd707,_0x974c32);},function(_0x1fd707,_0x974c32){function _0x53e058(){this['constructor']=_0x1fd707;}_0x376aea(_0x1fd707,_0x974c32),_0x1fd707[_0x1a4e('0xa')]=null===_0x974c32?Object[_0x1a4e('0x7')](_0x974c32):(_0x53e058[_0x1a4e('0xa')]=_0x974c32[_0x1a4e('0xa')],new _0x53e058());}),_0x5738ce=function(_0x1fd707){function _0x974c32(){return null!==_0x1fd707&&_0x1fd707[_0x1a4e('0x8b')](this,arguments)||this;}return _0x28e9a3(_0x974c32,_0x1fd707),Object[_0x1a4e('0x2')](_0x974c32[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x489e66[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x974c32[_0x1a4e('0xa')]['init']=function(){var _0x1fd707=this['_dataItem'];this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this['_renderRoot'][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x1fd707['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x1fd707[_0x1a4e('0x2cb')];},_0x974c32['prototype'][_0x1a4e('0x937')]=function(){this['_renderObj']['show']=this['_dataItem'][_0x1a4e('0x41a2')]&&this['_dataItem'][_0x1a4e('0x3b2c')];},_0x974c32['prototype'][_0x1a4e('0x4381')]=function(_0x1fd707){var _0x974c32=this;this[_0x1a4e('0x4380')]||(this['_resProps']={'position':{},'point':{}});var _0x53e058=this[_0x1a4e('0x4323')];switch(_0x1fd707){case _0x1a4e('0x3553'):this[_0x1a4e('0x4380')]['position']=_0x39d1a0['RenderUtils'][_0x1a4e('0x3f0a')](_0x53e058[_0x1a4e('0x3553')]);break;case'pixelSize':this[_0x1a4e('0x4380')][_0x1a4e('0xc4')][_0x1fd707]=_0x53e058[_0x1a4e('0x3efe')];break;case'color':this['_resProps'][_0x1a4e('0xc4')][_0x1fd707]=_0x39d1a0[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x53e058['color']);break;case _0x1a4e('0x4172'):this['_resProps'][_0x1a4e('0xc4')][_0x1fd707]=_0x53e058[_0x1a4e('0x4172')];break;case _0x1a4e('0x409f'):this[_0x1a4e('0x4380')]['point'][_0x1fd707]=_0x39d1a0[_0x1a4e('0x3b60')]['getColor'](_0x53e058['outlineColor']);break;case'heightReference':this[_0x1a4e('0x4380')]['point'][_0x1fd707]=_0x39d1a0[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x53e058[_0x1a4e('0x3bdf')]);break;case'scaleByDistance':this[_0x1a4e('0x4380')][_0x1a4e('0xc4')][_0x1fd707]=_0x39d1a0[_0x1a4e('0x3b60')][_0x1a4e('0x4391')](_0x53e058[_0x1a4e('0x4148')]);break;case'disableDepthTestDistance':this[_0x1a4e('0x4380')][_0x1a4e('0xc4')][_0x1fd707]=_0x53e058['isDepthTest']?void 0x0:Number['POSITIVE_INFINITY'];break;default:return;}this['_renderObj']&&(_0x1a4e('0x3553')===_0x1fd707?_0x53e058[_0x1a4e('0x3e06')]?this['_renderObj']['position']=new Cesium['CallbackProperty'](function(){return _0x974c32['_resProps']['position'];},!0x1):this[_0x1a4e('0x4312')][_0x1a4e('0x3553')]=this[_0x1a4e('0x4380')][_0x1a4e('0x3553')]:_0x53e058[_0x1a4e('0x3e06')]?this['_renderObj'][_0x1a4e('0xc4')][_0x1fd707]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x974c32[_0x1a4e('0x4380')][_0x1a4e('0xc4')][_0x1fd707];},!0x1):this['_renderObj']['point'][_0x1fd707]=this[_0x1a4e('0x4380')][_0x1a4e('0xc4')][_0x1fd707]);},_0x974c32[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){var _0x1fd707=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437f')](),this['_renderObj']||(this[_0x1a4e('0x437e')]={'show':_0x1fd707['renderVisible'],'position':this[_0x1a4e('0x4380')][_0x1a4e('0x3553')],'point':this[_0x1a4e('0x4380')]['point']});},_0x974c32['prototype']['_updateAllProp']=function(){for(var _0x1fd707=[_0x1a4e('0x3553'),_0x1a4e('0x3efe'),'color',_0x1a4e('0x4172'),'outlineColor',_0x1a4e('0x3bdf'),'scaleByDistance',_0x1a4e('0x414a')],_0x974c32=0x0;_0x974c32<_0x1fd707['length'];_0x974c32++)this['_dealResProps'](_0x1fd707[_0x974c32]);},_0x974c32[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x974c32){switch(_0x1fd707['prototype']['updateAttribute'][_0x1a4e('0x1')](this,_0x974c32),_0x974c32){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x937')]();break;case _0x1a4e('0x3e06'):this[_0x1a4e('0x437d')]();break;case _0x1a4e('0x4211'):this['_dealResProps'](_0x1a4e('0x414a'));break;default:this[_0x1a4e('0x4381')](_0x974c32);}},_0x974c32;}(_0x5a9ace['RenderPositionObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumPolygon.ts':function(_0xa533f,_0xd8fa8,_0x26255b){'use strict';_0x26255b['r'](_0xd8fa8),_0x26255b['d'](_0xd8fa8,'CesiumPolygon',function(){return _0x2a3867;});var _0xaa59a0,_0x54d985=_0x26255b(_0x1a4e('0x430f')),_0x5ac29f=_0x26255b(_0x1a4e('0x3b38')),_0x3a171d=(_0xaa59a0=function(_0xa533f,_0xd8fa8){return(_0xaa59a0=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0xa533f,_0xd8fa8){_0xa533f['__proto__']=_0xd8fa8;}||function(_0xa533f,_0xd8fa8){for(var _0x26255b in _0xd8fa8)_0xd8fa8[_0x1a4e('0xb')](_0x26255b)&&(_0xa533f[_0x26255b]=_0xd8fa8[_0x26255b]);})(_0xa533f,_0xd8fa8);},function(_0xa533f,_0xd8fa8){function _0x26255b(){this[_0x1a4e('0x10')]=_0xa533f;}_0xaa59a0(_0xa533f,_0xd8fa8),_0xa533f[_0x1a4e('0xa')]=null===_0xd8fa8?Object[_0x1a4e('0x7')](_0xd8fa8):(_0x26255b[_0x1a4e('0xa')]=_0xd8fa8[_0x1a4e('0xa')],new _0x26255b());}),_0x2a3867=function(_0xa533f){function _0xd8fa8(){return null!==_0xa533f&&_0xa533f[_0x1a4e('0x8b')](this,arguments)||this;}return _0x3a171d(_0xd8fa8,_0xa533f),Object[_0x1a4e('0x2')](_0xd8fa8['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x54d985[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0xd8fa8[_0x1a4e('0xa')]['init']=function(){this['getRenderPositions'](),this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]);},_0xd8fa8[_0x1a4e('0xa')]['update']=function(){this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x1fd')]();},_0xd8fa8[_0x1a4e('0xa')]['_dealResProps']=function(_0xa533f){var _0xd8fa8=this;this[_0x1a4e('0x4380')]||(this[_0x1a4e('0x4380')]={'show':!0x1,'polygon':{}});var _0x26255b=this['_dataItem'];switch(_0xa533f){case _0x1a4e('0x3a23'):this[_0x1a4e('0x4380')][_0xa533f]=_0x26255b[_0x1a4e('0x41a2')];break;case _0x1a4e('0x43ad'):var _0xaa59a0=this['getRenderHoles']();0x0===_0xaa59a0[_0x1a4e('0x1e')]?this[_0x1a4e('0x4380')]['polygon'][_0xa533f]=_0x26255b[_0x1a4e('0x4140')]?this[_0x1a4e('0x43ae')]():this[_0x1a4e('0x3a1e')]:this['_resProps'][_0x1a4e('0xe7')][_0xa533f]={'positions':this[_0x1a4e('0x3a1e')],'holes':_0xaa59a0};break;case'fill':this[_0x1a4e('0x4380')]['polygon'][_0xa533f]=_0x26255b[_0x1a4e('0x22c')];break;case'videoElement':_0xa533f=_0x1a4e('0x3a41');case'material':this['_resProps'][_0x1a4e('0xe7')][_0xa533f]=_0x26255b[_0x1a4e('0x4256')]?_0x26255b[_0x1a4e('0x4256')]:_0x5ac29f[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x26255b['color']);break;case _0x1a4e('0x4171'):this[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f]=_0x26255b['outline'];break;case _0x1a4e('0x409f'):this[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f]=_0x5ac29f[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x26255b[_0x1a4e('0x409f')]);break;case'outlineWidth':this['_resProps']['polygon'][_0xa533f]=_0x26255b['outlineWidth'];break;case _0x1a4e('0x152'):_0x26255b[_0x1a4e('0x3972')]||(this[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f]=_0x26255b[_0x1a4e('0x152')]);break;case'extrudedHeight':_0x26255b[_0x1a4e('0x3972')]||(this[_0x1a4e('0x4380')]['polygon'][_0xa533f]=_0x26255b[_0x1a4e('0x398d')]);break;case _0x1a4e('0x4253'):_0x26255b[_0x1a4e('0x3972')]||(this[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f]=_0x26255b[_0x1a4e('0x4253')]);break;case _0x1a4e('0x4254'):_0x26255b[_0x1a4e('0x3972')]||(this[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f]=_0x26255b[_0x1a4e('0x4254')]);break;case _0x1a4e('0x4255'):_0x26255b[_0x1a4e('0x3972')]||(this[_0x1a4e('0x4380')]['polygon'][_0xa533f]=_0x26255b[_0x1a4e('0x4255')]);break;case _0x1a4e('0x4181'):this['_resProps'][_0x1a4e('0xe7')][_0xa533f]=Cesium['Math']['toRadians'](_0x26255b[_0x1a4e('0x4181')]);break;case _0x1a4e('0x3b77'):this['_resProps'][_0x1a4e('0xe7')][_0xa533f]={'x':_0x26255b['repeat'][0x0],'y':_0x26255b[_0x1a4e('0x3b77')][0x1]};break;default:return;}this[_0x1a4e('0x4312')]?_0x26255b[_0x1a4e('0x3e06')]&&-0x1!=[_0x1a4e('0x22c'),_0x1a4e('0x4171'),_0x1a4e('0x409f'),_0x1a4e('0x4172')][_0x1a4e('0x3e')](_0xa533f)?this[_0x1a4e('0x4312')][_0x1a4e('0xe7')][_0xa533f]=new Cesium['CallbackProperty'](function(){return _0xd8fa8[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f];},!0x1):this[_0x1a4e('0x4312')][_0x1a4e('0xe7')][_0xa533f]=this[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f]:_0x26255b['isEditing']&&-0x1!=[_0x1a4e('0x22c'),'outline',_0x1a4e('0x409f'),'outlineWidth'][_0x1a4e('0x3e')](_0xa533f)&&(this[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0xd8fa8[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f];},!0x1)),_0x1a4e('0x3b77')==_0xa533f&&this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x4312')][_0x1a4e('0xe7')]['material']&&(this[_0x1a4e('0x4312')][_0x1a4e('0xe7')]['material'][_0x1a4e('0x3b77')]=this[_0x1a4e('0x4380')][_0x1a4e('0xe7')][_0xa533f]);},_0xd8fa8[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){this['_updateAllProp'](),this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x437e')]=this[_0x1a4e('0x4380')]);},_0xd8fa8[_0x1a4e('0xa')]['_updateAllProp']=function(){for(var _0xa533f=['show',_0x1a4e('0x43ad'),_0x1a4e('0x22c'),_0x1a4e('0x3a41'),_0x1a4e('0x4171'),_0x1a4e('0x409f'),'outlineWidth',_0x1a4e('0x152'),_0x1a4e('0x398d'),_0x1a4e('0x4253'),_0x1a4e('0x4254'),'closeTop','videoElement',_0x1a4e('0x4257'),_0x1a4e('0x3b77')],_0xd8fa8=0x0;_0xd8fa8<_0xa533f[_0x1a4e('0x1e')];_0xd8fa8++)this[_0x1a4e('0x4381')](_0xa533f[_0xd8fa8]);},_0xd8fa8[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0xa533f){var _0xd8fa8=this['_dataItem'];switch(_0xa533f){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this['_dataItem'][_0x1a4e('0x41a2')]&&this[_0x1a4e('0x4323')][_0x1a4e('0x3b2c')];break;case _0x1a4e('0x398a'):case _0x1a4e('0xb0'):this[_0x1a4e('0x3a1e')]=this[_0x1a4e('0x43ae')]();var _0x26255b=this['getRenderHoles']();0x0===_0x26255b[_0x1a4e('0x1e')]?this['_renderObj']['polygon'][_0x1a4e('0x43ad')]=_0xd8fa8[_0x1a4e('0x4140')]?this['getRenderPositions']():this[_0x1a4e('0x3a1e')]:this[_0x1a4e('0x4312')][_0x1a4e('0xe7')]['hierarchy']={'positions':this[_0x1a4e('0x3a1e')],'holes':_0x26255b};break;case _0x1a4e('0x134'):this[_0x1a4e('0x4381')](_0x1a4e('0x3a41'));break;case _0x1a4e('0x3972'):this[_0x1a4e('0x937')]();case'isEditing':this[_0x1a4e('0x437d')]();break;case _0x1a4e('0x4256'):this[_0x1a4e('0x4381')](_0x1a4e('0x4256'));break;case _0x1a4e('0x4257'):if(this[_0x1a4e('0x4323')][_0x1a4e('0x4256')]){if(Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x43af')])&&!this[_0x1a4e('0x4323')][_0x1a4e('0x4257')])return this[_0x1a4e('0x43af')]=this[_0x1a4e('0x43af')][_0x1a4e('0x139c')](),void(this[_0x1a4e('0x4323')][_0x1a4e('0x4256')]['playbackRate']=0x1);this[_0x1a4e('0x4323')]['bindClock']&&(this['_synchronizer']=new Cesium[(_0x1a4e('0x43b0'))]({'clock':this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')],'element':this['_dataItem'][_0x1a4e('0x4256')]}));}break;default:this[_0x1a4e('0x4381')](_0xa533f);}},_0xd8fa8['prototype'][_0x1a4e('0x43ae')]=function(){var _0xa533f=this[_0x1a4e('0x4323')];return this[_0x1a4e('0x3a1e')]=_0x5ac29f[_0x1a4e('0x3b60')][_0x1a4e('0x3e5f')](_0xa533f[_0x1a4e('0x398a')]),this[_0x1a4e('0x3a1e')];},_0xd8fa8['prototype'][_0x1a4e('0x43b1')]=function(){var _0xa533f=this[_0x1a4e('0x4323')][_0x1a4e('0xb0')];if(null==_0xa533f)return[];for(var _0xd8fa8=[],_0x26255b=0x0;_0x26255b<_0xa533f['length'];_0x26255b++)_0xd8fa8[_0x1a4e('0x46')](new Cesium['PolygonHierarchy'](_0x5ac29f[_0x1a4e('0x3b60')]['getPositions'](_0xa533f[_0x26255b])));return _0xd8fa8;},_0xd8fa8;}(_0x54d985[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumPolyline.ts':function(_0x386e0f,_0x4f319c,_0x2588b0){'use strict';_0x2588b0['r'](_0x4f319c),_0x2588b0['d'](_0x4f319c,_0x1a4e('0x421e'),function(){return _0x9ab017;});var _0x45c1ba,_0x4a3bcf=_0x2588b0(_0x1a4e('0x430f')),_0x1234c7=_0x2588b0(_0x1a4e('0x3b38')),_0x271f3f=_0x2588b0('./src/Utils/GeoPoint.ts'),_0x140b1e=_0x2588b0(_0x1a4e('0x396f')),_0xbd726c=(_0x45c1ba=function(_0x386e0f,_0x4f319c){return(_0x45c1ba=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x386e0f,_0x4f319c){_0x386e0f[_0x1a4e('0x295')]=_0x4f319c;}||function(_0x386e0f,_0x4f319c){for(var _0x2588b0 in _0x4f319c)_0x4f319c[_0x1a4e('0xb')](_0x2588b0)&&(_0x386e0f[_0x2588b0]=_0x4f319c[_0x2588b0]);})(_0x386e0f,_0x4f319c);},function(_0x386e0f,_0x4f319c){function _0x2588b0(){this[_0x1a4e('0x10')]=_0x386e0f;}_0x45c1ba(_0x386e0f,_0x4f319c),_0x386e0f[_0x1a4e('0xa')]=null===_0x4f319c?Object[_0x1a4e('0x7')](_0x4f319c):(_0x2588b0[_0x1a4e('0xa')]=_0x4f319c[_0x1a4e('0xa')],new _0x2588b0());}),_0x9ab017=function(_0x386e0f){function _0x4f319c(){return null!==_0x386e0f&&_0x386e0f[_0x1a4e('0x8b')](this,arguments)||this;}return _0xbd726c(_0x4f319c,_0x386e0f),Object[_0x1a4e('0x2')](_0x4f319c['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x4a3bcf[_0x1a4e('0x4318')]['Entity'];},'enumerable':!0x0,'configurable':!0x0}),_0x4f319c[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x386e0f=this,_0x2588b0=this[_0x1a4e('0x4323')];this[_0x1a4e('0x43ae')](),(_0x2588b0[_0x1a4e('0x4141')]instanceof _0x140b1e[_0x1a4e('0x43b2')]||_0x2588b0[_0x1a4e('0x4141')]instanceof _0x140b1e['TextureStyle'])&&_0x2588b0['lineStyle'][_0x1a4e('0x43b3')](function(_0x4f319c){_0x386e0f['updateAttribute'](_0x4f319c);}),this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this['_renderRoot'][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x2588b0['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x2588b0[_0x1a4e('0x2cb')],_0x1a4e('0x3e38')==this[_0x1a4e('0x4323')][_0x1a4e('0x3cc')]()&&_0x4f319c[_0x1a4e('0x43b4')][_0x1a4e('0x46')](this['_dataItem']),_0x4f319c[_0x1a4e('0x43b5')]||(_0x4f319c[_0x1a4e('0x43b5')]=function(){_0x4f319c[_0x1a4e('0x43b4')][_0x1a4e('0x3b')](function(_0x386e0f){_0x386e0f[_0x1a4e('0x398a')]=_0x386e0f[_0x1a4e('0x398a')];});},this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x43b6')][_0x1a4e('0xec5')](_0x4f319c[_0x1a4e('0x43b5')])),_0x2588b0[_0x1a4e('0x4141')]instanceof _0x140b1e['TextureStyle']&&this[_0x1a4e('0x43b7')]();},_0x4f319c[_0x1a4e('0xa')][_0x1a4e('0x43b7')]=function(){var _0x386e0f=this;this[_0x1a4e('0x43b8')]||(this['_cameraChange']=function(){_0x386e0f[_0x1a4e('0x43b9')]();},this['_viewer'][_0x1a4e('0x38d6')]['camera']['changed'][_0x1a4e('0xec5')](this[_0x1a4e('0x43b8')]),this[_0x1a4e('0x38fa')]['scene']['camera']['moveEnd']['addEventListener'](this[_0x1a4e('0x43b8')]));},_0x4f319c[_0x1a4e('0xa')][_0x1a4e('0x43ba')]=function(){this['_cameraChange']&&(this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')][_0x1a4e('0x41af')][_0x1a4e('0xec2')](this[_0x1a4e('0x43b8')]),this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['camera'][_0x1a4e('0x41b3')]['removeEventListener'](this[_0x1a4e('0x43b8')]),this[_0x1a4e('0x43b8')]=void 0x0);},_0x4f319c[_0x1a4e('0xa')][_0x1a4e('0x43b9')]=function(){if(null!=this[_0x1a4e('0x4312')]&&null!=this[_0x1a4e('0x4312')][_0x1a4e('0x1b0')][_0x1a4e('0x3a41')]){var _0x386e0f=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')],_0x4f319c=_0x271f3f[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x386e0f[_0x1a4e('0x3553')])[_0x1a4e('0x398c')];if(_0x4f319c<=0x989680){var _0x2588b0=0x2*(Math[_0x1a4e('0xbe')](_0x386e0f[_0x1a4e('0x3a51')][_0x1a4e('0x3aa1')]/0x2)*_0x4f319c)/window[_0x1a4e('0x3df8')],_0x45c1ba=this[_0x1a4e('0xdb0')]/_0x2588b0;this[_0x1a4e('0x4312')][_0x1a4e('0x1b0')]['material'][_0x1a4e('0x10de')]=_0x45c1ba;}}},_0x4f319c['prototype']['calculateLength']=function(){for(var _0x386e0f=this[_0x1a4e('0x4323')][_0x1a4e('0x398a')],_0x4f319c=0x0,_0x2588b0=0x0;_0x2588b0<_0x386e0f[_0x1a4e('0x1e')];_0x2588b0++)_0x2588b0>0x0&&(_0x4f319c+=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x271f3f[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x386e0f[_0x2588b0]),_0x271f3f['GeoPoint'][_0x1a4e('0x3949')](_0x386e0f[_0x2588b0-0x1])));this[_0x1a4e('0xdb0')]=_0x4f319c;},_0x4f319c[_0x1a4e('0xa')]['update']=function(){var _0x386e0f=this,_0x4f319c=this[_0x1a4e('0x4323')];this[_0x1a4e('0x4312')]['show']=_0x4f319c[_0x1a4e('0x41a2')],this['getRenderPositions'](),(_0x4f319c[_0x1a4e('0x4141')]instanceof _0x140b1e[_0x1a4e('0x43b2')]||_0x4f319c[_0x1a4e('0x4141')]instanceof _0x140b1e[_0x1a4e('0x3fd5')])&&_0x4f319c[_0x1a4e('0x4141')][_0x1a4e('0x43b3')](function(_0x4f319c){_0x386e0f[_0x1a4e('0x3dda')](_0x4f319c);}),this[_0x1a4e('0x4312')][_0x1a4e('0x1b0')][_0x1a4e('0x3a41')]=_0x4f319c[_0x1a4e('0x4141')][_0x1a4e('0x3c57')](),_0x4f319c[_0x1a4e('0x4141')]instanceof _0x140b1e[_0x1a4e('0x3fd5')]?(this[_0x1a4e('0x43b9')](),this[_0x1a4e('0x43b7')]()):this[_0x1a4e('0x43ba')]();},_0x4f319c[_0x1a4e('0xa')][_0x1a4e('0x43ae')]=function(){var _0x386e0f,_0x4f319c;if(_0x1a4e('0x3e38')==this[_0x1a4e('0x4323')][_0x1a4e('0x3cc')]()?(_0x4f319c=(_0x386e0f=this['_dataItem'])[_0x1a4e('0x421d')]?_0x386e0f[_0x1a4e('0x4220')](_0x386e0f['positions']):_0x386e0f['positions'],0x2==this[_0x1a4e('0x38fa')]['scene'][_0x1a4e('0xa69')]&&_0x4f319c[_0x1a4e('0x3b')](function(_0x386e0f){_0x386e0f['alt']=0x0;})):_0x4f319c=(_0x386e0f=this[_0x1a4e('0x4323')])[_0x1a4e('0x4220')](_0x386e0f[_0x1a4e('0x398a')]),void 0x0!==_0x4f319c)return 0x0===_0x4f319c[_0x1a4e('0x1e')]?(this[_0x1a4e('0x3a1e')]=[],this['_positions']):(_0x4f319c[0x0]instanceof _0x271f3f[_0x1a4e('0x38da')]?this['_positions']=_0x1234c7[_0x1a4e('0x3b60')][_0x1a4e('0x3e5f')](_0x4f319c):this[_0x1a4e('0x3a1e')]=_0x4f319c,_0x386e0f[_0x1a4e('0x4141')]instanceof _0x140b1e[_0x1a4e('0x3fd5')]&&(this[_0x1a4e('0x43bb')](),this['updateTextureTimes']()),this[_0x1a4e('0x3a1e')]);},_0x4f319c[_0x1a4e('0xa')][_0x1a4e('0x4381')]=function(_0x386e0f){var _0x4f319c=this;this[_0x1a4e('0x4380')]||(this[_0x1a4e('0x4380')]={});var _0x2588b0=this[_0x1a4e('0x4323')];switch(_0x386e0f){case _0x1a4e('0x398a'):this[_0x1a4e('0x4380')][_0x386e0f]=this[_0x1a4e('0x43ae')]();break;case _0x1a4e('0x3936'):this[_0x1a4e('0x4380')][_0x386e0f]=_0x2588b0[_0x1a4e('0x3936')];break;case _0x1a4e('0x3a41'):this[_0x1a4e('0x4380')][_0x386e0f]=_0x2588b0[_0x1a4e('0x4141')][_0x1a4e('0x3c57')]();break;case'clampToGround':this['_resProps'][_0x386e0f]=_0x2588b0['clampToGround'];break;case _0x1a4e('0x4259'):this[_0x1a4e('0x4380')][_0x386e0f]=_0x2588b0[_0x1a4e('0x4259')];break;default:return;}this['_renderObj']&&(_0x2588b0[_0x1a4e('0x3e06')]&&_0x1a4e('0x3a41')!=_0x386e0f?this['_renderObj'][_0x1a4e('0x1b0')][_0x386e0f]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x4f319c[_0x1a4e('0x4380')][_0x386e0f];},!0x1):this['_renderObj']['polyline'][_0x386e0f]=this[_0x1a4e('0x4380')][_0x386e0f],_0x1a4e('0x3972')===_0x386e0f&&_0x2588b0[_0x1a4e('0x4141')]instanceof _0x140b1e['TextureStyle']&&this[_0x1a4e('0x4312')][_0x1a4e('0x1b0')][_0x1a4e('0x3a41')]&&this[_0x1a4e('0x4312')][_0x1a4e('0x1b0')][_0x1a4e('0x3a41')]['setRevert'](this['_resProps'][_0x386e0f]));},_0x4f319c['prototype'][_0x1a4e('0x437d')]=function(){var _0x386e0f=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437f')](),this[_0x1a4e('0x4312')]||(this['_originProps']={'show':_0x386e0f[_0x1a4e('0x41a2')],'polyline':this[_0x1a4e('0x4380')]});},_0x4f319c[_0x1a4e('0xa')][_0x1a4e('0x437f')]=function(){for(var _0x386e0f=['positions',_0x1a4e('0x3936'),_0x1a4e('0x3a41'),_0x1a4e('0x3972'),_0x1a4e('0x4259')],_0x4f319c=0x0;_0x4f319c<_0x386e0f[_0x1a4e('0x1e')];_0x4f319c++)this[_0x1a4e('0x4381')](_0x386e0f[_0x4f319c]);},_0x4f319c[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x386e0f){this[_0x1a4e('0x4323')];switch(_0x386e0f){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]['show']=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')]&&this[_0x1a4e('0x4323')][_0x1a4e('0x3b2c')];break;case _0x1a4e('0x4141'):this['update']();break;case _0x1a4e('0x3e06'):this[_0x1a4e('0x437d')]();break;default:this[_0x1a4e('0x437f')]();}},_0x4f319c['prototype'][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x43ba')](),_0x386e0f['prototype']['clear'][_0x1a4e('0x1')](this);},_0x4f319c[_0x1a4e('0x43b5')]=null,_0x4f319c[_0x1a4e('0x43b4')]=[],_0x4f319c;}(_0x4a3bcf['RenderObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumPopover.ts':function(_0x4cb158,_0x31c76e,_0x1bc1c9){'use strict';_0x1bc1c9['r'](_0x31c76e),_0x1bc1c9['d'](_0x31c76e,_0x1a4e('0x4262'),function(){return _0x11e5ad;});var _0x136998,_0xc7f708=_0x1bc1c9(_0x1a4e('0x430f')),_0x498613=_0x1bc1c9(_0x1a4e('0x3b38')),_0x288992=_0x1bc1c9(_0x1a4e('0x3999')),_0x35dd60=_0x1bc1c9(_0x1a4e('0x4310')),_0x1c6bfc=(_0x136998=function(_0x4cb158,_0x31c76e){return(_0x136998=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4cb158,_0x31c76e){_0x4cb158[_0x1a4e('0x295')]=_0x31c76e;}||function(_0x4cb158,_0x31c76e){for(var _0x1bc1c9 in _0x31c76e)_0x31c76e[_0x1a4e('0xb')](_0x1bc1c9)&&(_0x4cb158[_0x1bc1c9]=_0x31c76e[_0x1bc1c9]);})(_0x4cb158,_0x31c76e);},function(_0x4cb158,_0x31c76e){function _0x1bc1c9(){this[_0x1a4e('0x10')]=_0x4cb158;}_0x136998(_0x4cb158,_0x31c76e),_0x4cb158[_0x1a4e('0xa')]=null===_0x31c76e?Object[_0x1a4e('0x7')](_0x31c76e):(_0x1bc1c9[_0x1a4e('0xa')]=_0x31c76e[_0x1a4e('0xa')],new _0x1bc1c9());}),_0x11e5ad=function(_0x4cb158){function _0x31c76e(){return null!==_0x4cb158&&_0x4cb158['apply'](this,arguments)||this;}return _0x1c6bfc(_0x31c76e,_0x4cb158),Object['defineProperty'](_0x31c76e[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0xc7f708[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x31c76e[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x4cb158=this,_0x31c76e=this['_dataItem'];this[_0x1a4e('0x43bc')]=!0x0,this[_0x1a4e('0x3ecc')](),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')]({'show':_0x31c76e[_0x1a4e('0x3b2c')],'position':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x498613[_0x1a4e('0x3b60')]['getPositionDegrees']([_0x31c76e[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x31c76e['position'][_0x1a4e('0x1a2')],_0x31c76e[_0x1a4e('0x3553')][_0x1a4e('0x398c')]]);},!0x1),'billboard':{'scale':new Cesium['CallbackProperty'](function(){return _0x31c76e[_0x1a4e('0x143')];},!0x1),'image':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x4cb158[_0x1a4e('0x43bd')];},!0x1),'heightReference':new Cesium['CallbackProperty'](function(){return _0x498613[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x31c76e[_0x1a4e('0x3bdf')]);},!0x1),'color':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x498613[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x31c76e[_0x1a4e('0x134')]);},!0x1),'horizontalOrigin':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x498613[_0x1a4e('0x3b60')][_0x1a4e('0x4382')](_0x31c76e['horizontalOrigin']);},!0x1),'verticalOrigin':new Cesium['CallbackProperty'](function(){return _0x498613[_0x1a4e('0x3b60')]['getVerticalOrigin'](_0x31c76e['verticalOrigin']);},!0x1),'pixelOffset':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x498613[_0x1a4e('0x3b60')]['getCartesian2'](_0x31c76e[_0x1a4e('0x4147')]);},!0x1),'eyeOffset':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x498613[_0x1a4e('0x3b60')][_0x1a4e('0x4385')](_0x31c76e[_0x1a4e('0x4146')]);},!0x1),'rotation':new Cesium['CallbackProperty'](function(){return _0x31c76e['rotation'];},!0x1),'width':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x31c76e[_0x1a4e('0x3936')];},!0x1),'height':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x31c76e[_0x1a4e('0x152')];},!0x1),'sizeInMeters':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x31c76e[_0x1a4e('0x4149')];},!0x1)}}),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x31c76e['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x31c76e[_0x1a4e('0x2cb')];},_0x31c76e[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];},_0x31c76e['prototype'][_0x1a4e('0x3ecc')]=function(){if(this[_0x1a4e('0x43bc')]){this['createHTMLElement']();var _0x4cb158=this[_0x1a4e('0x4323')];_0x288992['Util'][_0x1a4e('0x43be')](document[_0x1a4e('0x39d7')](_0x1a4e('0x43bf')+_0x4cb158['id']),{'backgroundColor':_0x1a4e('0x43c0'),'width':0xfe,'height':0xc8,'scale':window[_0x1a4e('0x43c1')],'removeContainer':!0x0,'self':this},this[_0x1a4e('0x43c2')]);}},_0x31c76e[_0x1a4e('0xa')][_0x1a4e('0x43c2')]=function(_0x4cb158,_0x31c76e){_0x31c76e[_0x1a4e('0x43bd')]=_0x4cb158;var _0x1bc1c9=_0x31c76e[_0x1a4e('0x4323')];document['querySelector']('#svglabelContainer'+_0x1bc1c9['id'])[_0x1a4e('0x82')]();},_0x31c76e[_0x1a4e('0xa')][_0x1a4e('0x43c3')]=function(){var _0x4cb158=this[_0x1a4e('0x4323')],_0x31c76e=_0x4cb158[_0x1a4e('0x4264')],_0x1bc1c9=_0x4cb158[_0x1a4e('0x40a0')],_0x136998=_0x4cb158[_0x1a4e('0x4191')],_0xc7f708=_0x4cb158[_0x1a4e('0x4265')],_0x498613='';_0x1a4e('0xc5')==_0xc7f708?_0x498613='':_0x1a4e('0xc4')==_0xc7f708?_0x498613=_0x1a4e('0x43c4'):_0x1a4e('0x43c5')==_0xc7f708?_0x498613=_0x1a4e('0x43c6'):_0x1a4e('0x43c7')==_0xc7f708&&(_0x498613=_0x1a4e('0x43c8'));var _0x288992=_0x4cb158[_0x1a4e('0x4266')],_0x35dd60=_0x4cb158[_0x1a4e('0x3987')];_0x288992||(_0x35dd60=_0x1a4e('0x43c9'));var _0x1c6bfc=_0x4cb158[_0x1a4e('0xe04')],_0x11e5ad=_0x4cb158['labelFont'],_0xa74fd=_0x4cb158[_0x1a4e('0x426d')],_0x24a1a3=_0x4cb158[_0x1a4e('0x426e')],_0xea620b=_0x4cb158[_0x1a4e('0x4268')],_0x742d97=_0x4cb158[_0x1a4e('0x4269')],_0x3464e0=_0x4cb158[_0x1a4e('0x426a')]+'\x20'+_0x742d97+'\x20'+_0x4cb158[_0x1a4e('0x426b')]+'\x20'+_0xea620b,_0x63edf2=_0x4cb158[_0x1a4e('0x426c')],_0x133419='';'pebbles'==_0x31c76e?_0x133419=_0x1a4e('0x43ca')+_0x136998+_0x1a4e('0x43cb')+_0x1bc1c9+_0x1a4e('0x43cc')+_0x35dd60+'\x20'+_0x498613+'\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20':_0x1a4e('0x426f')==_0x31c76e?_0x133419=_0x1a4e('0x43cd')+_0x136998+'\x20stroke='+_0x1bc1c9+_0x1a4e('0x43cc')+_0x35dd60+'\x20'+_0x498613+_0x1a4e('0x43ce'):_0x1a4e('0x43cf')==_0x31c76e?_0x133419=_0x1a4e('0x43d0')+_0x136998+'\x20stroke='+_0x1bc1c9+_0x1a4e('0x43cc')+_0x35dd60+'\x20'+_0x498613+'\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20':'ellipse'==_0x31c76e&&(_0x133419=_0x1a4e('0x43d1')+_0x136998+_0x1a4e('0x43cb')+_0x1bc1c9+_0x1a4e('0x43cc')+_0x35dd60+'\x20'+_0x498613+_0x1a4e('0x43ce'));var _0x417101=document[_0x1a4e('0xe3d')]('div');_0x417101['id']='svglabelContainer'+_0x4cb158['id'],_0x417101[_0x1a4e('0x375c')][_0x1a4e('0x43a5')]=_0x1a4e('0x4273'),_0x417101[_0x1a4e('0x375c')][_0x1a4e('0x1272')]='2px\x205px',_0x417101['style'][_0x1a4e('0x3553')]=_0x1a4e('0x3b1b'),_0x417101[_0x1a4e('0x375c')][_0x1a4e('0x5f')]=_0x1a4e('0x43d2'),_0x417101[_0x1a4e('0x375c')][_0x1a4e('0x5e')]='0px',_0x417101['innerHTML']=_0x1a4e('0x43d3')+_0x133419+_0x1a4e('0x43d4')+_0x3464e0+_0x1a4e('0x43d5')+_0x63edf2+_0x1a4e('0x43d6')+_0x24a1a3+';color:'+_0xa74fd+_0x1a4e('0x43d7')+_0x11e5ad+_0x1a4e('0x43d8')+_0x1c6bfc+_0x1a4e('0x43d9'),document[_0x1a4e('0x43da')]['appendChild'](_0x417101);},_0x31c76e['prototype'][_0x1a4e('0x3dda')]=function(_0x31c76e){if(_0x4cb158['prototype']['updateAttribute'][_0x1a4e('0x1')](this,_0x31c76e),this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x4323')])switch(_0x31c76e){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]['show']=this['_dataItem'][_0x31c76e]&&this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];}},_0x31c76e;}(_0x35dd60[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumRectangle.ts':function(_0x34fabd,_0x15e96e,_0x307534){'use strict';_0x307534['r'](_0x15e96e),_0x307534['d'](_0x15e96e,_0x1a4e('0x4288'),function(){return _0x503df9;});var _0x79b65d,_0x3160e7=_0x307534(_0x1a4e('0x430f')),_0x3f49bc=_0x307534('./src/LayerManager/GraphicLayer/GraphicRender/RenderUtils.ts'),_0xde6580=(_0x79b65d=function(_0x34fabd,_0x15e96e){return(_0x79b65d=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x34fabd,_0x15e96e){_0x34fabd[_0x1a4e('0x295')]=_0x15e96e;}||function(_0x34fabd,_0x15e96e){for(var _0x307534 in _0x15e96e)_0x15e96e[_0x1a4e('0xb')](_0x307534)&&(_0x34fabd[_0x307534]=_0x15e96e[_0x307534]);})(_0x34fabd,_0x15e96e);},function(_0x34fabd,_0x15e96e){function _0x307534(){this['constructor']=_0x34fabd;}_0x79b65d(_0x34fabd,_0x15e96e),_0x34fabd[_0x1a4e('0xa')]=null===_0x15e96e?Object['create'](_0x15e96e):(_0x307534[_0x1a4e('0xa')]=_0x15e96e['prototype'],new _0x307534());}),_0x503df9=function(_0x34fabd){function _0x15e96e(){return null!==_0x34fabd&&_0x34fabd[_0x1a4e('0x8b')](this,arguments)||this;}return _0xde6580(_0x15e96e,_0x34fabd),Object[_0x1a4e('0x2')](_0x15e96e[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x3160e7['RenderTypeEnum'][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x15e96e[_0x1a4e('0xa')]['init']=function(){var _0x34fabd=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this['_renderObj']['dataId']=_0x34fabd['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x34fabd[_0x1a4e('0x2cb')];},_0x15e96e['prototype'][_0x1a4e('0x397')]=function(_0x34fabd,_0x15e96e,_0x307534,_0x79b65d){return _0x34fabd>=_0x307534?_0x15e96e>=_0x79b65d?[_0x307534,_0x79b65d,_0x34fabd,_0x15e96e]:[_0x307534,_0x15e96e,_0x34fabd,_0x79b65d]:_0x15e96e>=_0x79b65d?[_0x34fabd,_0x79b65d,_0x307534,_0x15e96e]:[_0x34fabd,_0x15e96e,_0x307534,_0x79b65d];},_0x15e96e[_0x1a4e('0xa')][_0x1a4e('0x43db')]=function(_0x34fabd){if(_0x34fabd[_0x1a4e('0x43')])return _0x3f49bc[_0x1a4e('0x3b60')]['getRectangleDegress'](_0x34fabd[_0x1a4e('0x43')]);if(_0x34fabd[_0x1a4e('0x398a')]){var _0x15e96e=_0x34fabd['positions'];return _0x15e96e=this[_0x1a4e('0x397')](_0x15e96e[0x0][_0x1a4e('0x1a1')],_0x15e96e[0x0]['lat'],_0x15e96e[0x1][_0x1a4e('0x1a1')],_0x15e96e[0x1][_0x1a4e('0x1a2')]),_0x3f49bc[_0x1a4e('0x3b60')]['getRectangleDegress'](_0x15e96e);}},_0x15e96e['prototype'][_0x1a4e('0x4381')]=function(_0x34fabd){var _0x15e96e=this;this['_resProps']||(this[_0x1a4e('0x4380')]={'show':!0x1,'rectangle':{}});var _0x307534=this[_0x1a4e('0x4323')];switch(_0x34fabd){case _0x1a4e('0x3a23'):this[_0x1a4e('0x4380')][_0x34fabd]=_0x307534[_0x1a4e('0x41a2')];break;case _0x1a4e('0x43'):this[_0x1a4e('0x4380')][_0x1a4e('0x396a')][_0x34fabd]=this[_0x1a4e('0x43db')](_0x307534);break;case _0x1a4e('0x152'):this[_0x1a4e('0x4380')]['rectangle'][_0x34fabd]=_0x307534[_0x1a4e('0x152')];break;case _0x1a4e('0x3bdf'):this[_0x1a4e('0x4380')]['rectangle'][_0x34fabd]=_0x3f49bc['RenderUtils']['getHeightReference'](_0x307534['heightReference']);break;case _0x1a4e('0x398d'):this[_0x1a4e('0x4380')]['rectangle'][_0x34fabd]=_0x307534[_0x1a4e('0x398d')];break;case _0x1a4e('0x4180'):this[_0x1a4e('0x4380')]['rectangle'][_0x34fabd]=_0x3f49bc[_0x1a4e('0x3b60')][_0x1a4e('0x438c')](_0x307534[_0x1a4e('0x4180')]);break;case _0x1a4e('0x22c'):this['_resProps'][_0x1a4e('0x396a')][_0x34fabd]=_0x307534[_0x1a4e('0x22c')];break;case _0x1a4e('0x3a41'):this['_resProps'][_0x1a4e('0x396a')][_0x34fabd]=_0x307534[_0x1a4e('0x3cb4')]?_0x3f49bc[_0x1a4e('0x3b60')][_0x1a4e('0x43dc')](_0x307534[_0x1a4e('0x3cb4')],_0x307534['transparent']):_0x3f49bc['RenderUtils']['getColor'](_0x307534[_0x1a4e('0x134')]);break;case _0x1a4e('0x4171'):this[_0x1a4e('0x4380')][_0x1a4e('0x396a')][_0x34fabd]=_0x307534[_0x1a4e('0x4171')];break;case'outlineColor':this[_0x1a4e('0x4380')]['rectangle'][_0x34fabd]=_0x3f49bc['RenderUtils'][_0x1a4e('0x3b40')](_0x307534[_0x1a4e('0x409f')]);break;case _0x1a4e('0x3bed'):this[_0x1a4e('0x4380')]['rectangle'][_0x34fabd]=_0x307534[_0x1a4e('0x3bed')];break;default:return;}if(this[_0x1a4e('0x4312')]){if(_0x1a4e('0x3a41')===_0x34fabd)return void(this[_0x1a4e('0x4312')][_0x1a4e('0x396a')][_0x1a4e('0x3a41')]=this[_0x1a4e('0x4380')][_0x1a4e('0x396a')][_0x34fabd]);_0x307534[_0x1a4e('0x3e06')]?this[_0x1a4e('0x4312')][_0x1a4e('0x396a')][_0x34fabd]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x15e96e[_0x1a4e('0x4380')][_0x1a4e('0x396a')][_0x34fabd];},!0x1):this[_0x1a4e('0x4312')][_0x1a4e('0x396a')][_0x34fabd]=this[_0x1a4e('0x4380')][_0x1a4e('0x396a')][_0x34fabd];}},_0x15e96e['prototype'][_0x1a4e('0x437d')]=function(){this[_0x1a4e('0x437f')](),this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x437e')]=this[_0x1a4e('0x4380')]);},_0x15e96e['prototype'][_0x1a4e('0x437f')]=function(){for(var _0x34fabd=[_0x1a4e('0x3a23'),_0x1a4e('0x43'),_0x1a4e('0x152'),_0x1a4e('0x3bdf'),'extrudedHeight',_0x1a4e('0x4180'),_0x1a4e('0x22c'),_0x1a4e('0x3a41'),_0x1a4e('0x4171'),_0x1a4e('0x409f'),_0x1a4e('0x3bed')],_0x15e96e=0x0;_0x15e96e<_0x34fabd['length'];_0x15e96e++)this[_0x1a4e('0x4381')](_0x34fabd[_0x15e96e]);},_0x15e96e['prototype'][_0x1a4e('0x3dda')]=function(_0x34fabd){if(this['_renderObj']&&this[_0x1a4e('0x4323')]){var _0x15e96e=this[_0x1a4e('0x4323')];switch(_0x34fabd){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]['show']=this[_0x1a4e('0x4323')][_0x34fabd]&&this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];break;case _0x1a4e('0x3cb4'):case'color':_0x15e96e[_0x1a4e('0x3cb4')]?this[_0x1a4e('0x4312')]['rectangle'][_0x1a4e('0x3a41')]=_0x3f49bc[_0x1a4e('0x3b60')]['getImage'](_0x15e96e[_0x1a4e('0x3cb4')],_0x15e96e[_0x1a4e('0x4203')]):this[_0x1a4e('0x4312')][_0x1a4e('0x396a')][_0x1a4e('0x3a41')]=_0x3f49bc['RenderUtils'][_0x1a4e('0x3b40')](_0x15e96e[_0x1a4e('0x134')]);break;case _0x1a4e('0x43'):this['_renderObj'][_0x1a4e('0x396a')]['coordinates']=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x3f49bc[_0x1a4e('0x3b60')]['getRectangleDegress'](_0x15e96e[_0x1a4e('0x43')]);},!0x1);break;case'positions':var _0x307534=_0x15e96e[_0x1a4e('0x398a')];_0x307534=this['getCoordinates'](_0x307534[0x0]['lon'],_0x307534[0x0][_0x1a4e('0x1a2')],_0x307534[0x1]['lon'],_0x307534[0x1][_0x1a4e('0x1a2')]),this['_renderObj'][_0x1a4e('0x396a')][_0x1a4e('0x43')]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x3f49bc['RenderUtils']['getRectangleDegress'](_0x307534);},!0x1);break;case'isEditing':this['updateAttributeForEditing']();break;default:this[_0x1a4e('0x4381')](_0x34fabd);}}},_0x15e96e;}(_0x3160e7[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumSphere.ts':function(_0x4c1863,_0x198802,_0x55cadd){'use strict';_0x55cadd['r'](_0x198802),_0x55cadd['d'](_0x198802,_0x1a4e('0x42ad'),function(){return _0x514dbf;});var _0x1786d9,_0x370b41=_0x55cadd(_0x1a4e('0x430f')),_0x5ad679=_0x55cadd(_0x1a4e('0x3b38')),_0x4bfb86=_0x55cadd(_0x1a4e('0x4310')),_0xd4a56=(_0x1786d9=function(_0x4c1863,_0x198802){return(_0x1786d9=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4c1863,_0x198802){_0x4c1863[_0x1a4e('0x295')]=_0x198802;}||function(_0x4c1863,_0x198802){for(var _0x55cadd in _0x198802)_0x198802[_0x1a4e('0xb')](_0x55cadd)&&(_0x4c1863[_0x55cadd]=_0x198802[_0x55cadd]);})(_0x4c1863,_0x198802);},function(_0x4c1863,_0x198802){function _0x55cadd(){this[_0x1a4e('0x10')]=_0x4c1863;}_0x1786d9(_0x4c1863,_0x198802),_0x4c1863['prototype']=null===_0x198802?Object['create'](_0x198802):(_0x55cadd['prototype']=_0x198802[_0x1a4e('0xa')],new _0x55cadd());}),_0x514dbf=function(_0x4c1863){function _0x198802(){return null!==_0x4c1863&&_0x4c1863[_0x1a4e('0x8b')](this,arguments)||this;}return _0xd4a56(_0x198802,_0x4c1863),Object[_0x1a4e('0x2')](_0x198802[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x370b41[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x198802[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x4c1863=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this['_renderObj']['dataId']=_0x4c1863['id'],this['_renderObj'][_0x1a4e('0x433a')]=_0x4c1863['name'];},_0x198802[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this['_dataItem']['renderVisible'],this['_renderObj'][_0x1a4e('0x3957')][_0x1a4e('0x3a41')]=_0x5ad679[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x4323')][_0x1a4e('0x3a41')]);},_0x198802[_0x1a4e('0xa')]['_dealResProps']=function(_0x4c1863){var _0x198802=this;this[_0x1a4e('0x4380')]||(this[_0x1a4e('0x4380')]={'show':!0x1,'position':{},'ellipsoid':{}});var _0x55cadd=this[_0x1a4e('0x4323')];switch(_0x1a4e('0x134')===_0x4c1863&&(_0x4c1863=_0x1a4e('0x3a41')),_0x4c1863){case _0x1a4e('0x3a23'):this[_0x1a4e('0x4380')][_0x4c1863]=_0x55cadd['visible'];break;case'position':this[_0x1a4e('0x4380')][_0x4c1863]=_0x5ad679[_0x1a4e('0x3b60')][_0x1a4e('0x438b')]([_0x55cadd[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x55cadd[_0x1a4e('0x3553')][_0x1a4e('0x1a2')],_0x55cadd[_0x1a4e('0x3553')]['alt']]);break;case'radii':this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0x4c1863]=new Cesium['Cartesian3'](_0x55cadd['radius'],_0x55cadd[_0x1a4e('0x3b5d')],_0x55cadd['radius']);break;case'material':this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0x4c1863]=_0x5ad679[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x55cadd[_0x1a4e('0x134')]);break;case'heightReference':this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0x4c1863]=_0x5ad679['RenderUtils']['getHeightReference'](_0x55cadd[_0x1a4e('0x3bdf')]);break;case _0x1a4e('0x22c'):this[_0x1a4e('0x4380')]['ellipsoid'][_0x4c1863]=_0x55cadd[_0x1a4e('0x22c')];break;case _0x1a4e('0x4171'):this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0x4c1863]=_0x55cadd[_0x1a4e('0x4171')];break;case _0x1a4e('0x409f'):this['_resProps'][_0x1a4e('0x38dc')][_0x4c1863]=_0x5ad679[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x55cadd[_0x1a4e('0x409f')]);break;case'outlineWidth':this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0x4c1863]=_0x55cadd['outlineWidth'];break;case'subdivisions':this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0x4c1863]=_0x55cadd[_0x1a4e('0x4187')];break;case _0x1a4e('0x4188'):this['_resProps'][_0x1a4e('0x38dc')][_0x4c1863]=_0x55cadd['stackPartitions'];break;case _0x1a4e('0x4189'):this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0x4c1863]=_0x55cadd['slicePartitions'];break;default:return;}this[_0x1a4e('0x4312')]&&(_0x55cadd['isEditing']&&_0x1a4e('0x3a41')!==_0x4c1863?_0x1a4e('0x3a23')===_0x4c1863||_0x1a4e('0x3553')===_0x4c1863?this['_renderObj'][_0x4c1863]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x198802[_0x1a4e('0x4380')][_0x4c1863];},!0x1):this[_0x1a4e('0x4312')][_0x1a4e('0x38dc')][_0x4c1863]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x198802[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0x4c1863];},!0x1):_0x1a4e('0x3a23')===_0x4c1863||'position'===_0x4c1863?this[_0x1a4e('0x4312')][_0x4c1863]=this[_0x1a4e('0x4380')][_0x4c1863]:this[_0x1a4e('0x4312')]['ellipsoid'][_0x4c1863]=this[_0x1a4e('0x4380')][_0x1a4e('0x38dc')][_0x4c1863]);},_0x198802[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){this[_0x1a4e('0x437f')](),this['_renderObj']||(this['_originProps']=this[_0x1a4e('0x4380')]);},_0x198802['prototype'][_0x1a4e('0x437f')]=function(){for(var _0x4c1863=[_0x1a4e('0x3a23'),_0x1a4e('0x3553'),_0x1a4e('0x3a9a'),_0x1a4e('0x3a41'),'heightReference',_0x1a4e('0x22c'),_0x1a4e('0x4171'),_0x1a4e('0x409f'),_0x1a4e('0x4172'),_0x1a4e('0x4187'),_0x1a4e('0x4188'),_0x1a4e('0x4189')],_0x198802=0x0;_0x198802<_0x4c1863[_0x1a4e('0x1e')];_0x198802++)this[_0x1a4e('0x4381')](_0x4c1863[_0x198802]);},_0x198802['prototype'][_0x1a4e('0x3dda')]=function(_0x198802){var _0x55cadd=this;if(_0x4c1863[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x198802),this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x4323')])switch(_0x198802){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this['_dataItem'][_0x198802]&&this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];break;case _0x1a4e('0x3a41'):this[_0x1a4e('0x4312')][_0x1a4e('0x38dc')][_0x1a4e('0x3a41')]=_0x5ad679[_0x1a4e('0x3b60')]['getColor'](this[_0x1a4e('0x4323')]['material']);break;case _0x1a4e('0x3e06'):this[_0x1a4e('0x437d')]();break;case'position':this[_0x1a4e('0x4312')][_0x1a4e('0x3553')]=new Cesium['CallbackProperty'](function(){return _0x5ad679['RenderUtils']['getPositionDegrees']([_0x55cadd[_0x1a4e('0x4323')][_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x55cadd[_0x1a4e('0x4323')][_0x1a4e('0x3553')][_0x1a4e('0x1a2')],_0x55cadd['_dataItem']['position'][_0x1a4e('0x398c')]]);},!0x1);break;case _0x1a4e('0x3b5d'):this[_0x1a4e('0x4381')](_0x1a4e('0x3a9a'));break;default:this['_dealResProps'](_0x198802);}},_0x198802;}(_0x4bfb86['RenderPositionObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumVolumePolyline.ts':function(_0x4a720f,_0x270b81,_0x124f31){'use strict';_0x124f31['r'](_0x270b81),_0x124f31['d'](_0x270b81,_0x1a4e('0x42c8'),function(){return _0x2bcbfa;});var _0x2c5d0d,_0x25c4c5=_0x124f31(_0x1a4e('0x430f')),_0x25f3e6=_0x124f31('./src/LayerManager/GraphicLayer/GraphicRender/RenderUtils.ts'),_0x3be668=(_0x2c5d0d=function(_0x4a720f,_0x270b81){return(_0x2c5d0d=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4a720f,_0x270b81){_0x4a720f[_0x1a4e('0x295')]=_0x270b81;}||function(_0x4a720f,_0x270b81){for(var _0x124f31 in _0x270b81)_0x270b81[_0x1a4e('0xb')](_0x124f31)&&(_0x4a720f[_0x124f31]=_0x270b81[_0x124f31]);})(_0x4a720f,_0x270b81);},function(_0x4a720f,_0x270b81){function _0x124f31(){this[_0x1a4e('0x10')]=_0x4a720f;}_0x2c5d0d(_0x4a720f,_0x270b81),_0x4a720f[_0x1a4e('0xa')]=null===_0x270b81?Object[_0x1a4e('0x7')](_0x270b81):(_0x124f31[_0x1a4e('0xa')]=_0x270b81[_0x1a4e('0xa')],new _0x124f31());}),_0x2bcbfa=function(_0x4a720f){function _0x270b81(){return null!==_0x4a720f&&_0x4a720f['apply'](this,arguments)||this;}return _0x3be668(_0x270b81,_0x4a720f),Object[_0x1a4e('0x2')](_0x270b81[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x25c4c5[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x270b81[_0x1a4e('0xa')][_0x1a4e('0x43dd')]=function(_0x4a720f,_0x270b81,_0x124f31){var _0x2c5d0d=[];return _0x2c5d0d['push'](new Cesium[(_0x1a4e('0x3952'))](-0x1388,-0x1388)),_0x2c5d0d[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x3952'))](0x1388,-0x1388)),_0x2c5d0d[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x3952'))](0x1388,0x1388)),_0x2c5d0d[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x3952'))](-0x1388,0x1388)),_0x2c5d0d;},_0x270b81[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x4a720f=this[_0x1a4e('0x4323')];this['updateAttributeForEditing'](),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x4a720f['id'],this['_renderObj'][_0x1a4e('0x433a')]=_0x4a720f[_0x1a4e('0x2cb')];},_0x270b81['prototype'][_0x1a4e('0x43de')]=function(_0x4a720f){var _0x270b81=[];return _0x4a720f[_0x1a4e('0x21')](function(_0x4a720f){_0x270b81[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x3952'))](_0x4a720f['lon'],_0x4a720f['lat']));}),_0x270b81;},_0x270b81[_0x1a4e('0xa')][_0x1a4e('0x43df')]=function(_0x4a720f){switch(_0x4a720f){case _0x1a4e('0x43e0'):return Cesium[_0x1a4e('0x43e1')][_0x1a4e('0x43e2')];case _0x1a4e('0x43e3'):return Cesium['CornerType'][_0x1a4e('0x43e4')];default:return Cesium['CornerType'][_0x1a4e('0x43e5')];}},_0x270b81[_0x1a4e('0xa')]['update']=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')],this[_0x1a4e('0x4312')][_0x1a4e('0x43e6')][_0x1a4e('0x3a41')]=_0x25f3e6['RenderUtils'][_0x1a4e('0x3b40')](this[_0x1a4e('0x4323')]['color']),this[_0x1a4e('0x4312')][_0x1a4e('0x43e6')][_0x1a4e('0x398a')]=_0x25f3e6[_0x1a4e('0x3b60')]['getPositions'](this[_0x1a4e('0x4323')][_0x1a4e('0x398a')]),this[_0x1a4e('0x4312')][_0x1a4e('0x43e6')][_0x1a4e('0x423f')]=this[_0x1a4e('0x43de')](this[_0x1a4e('0x4323')][_0x1a4e('0x423f')]),this[_0x1a4e('0x4312')][_0x1a4e('0x43e6')][_0x1a4e('0x42c9')]=this[_0x1a4e('0x43df')](this[_0x1a4e('0x4323')]['cornerType']),this[_0x1a4e('0x4312')][_0x1a4e('0x43e6')][_0x1a4e('0x4172')]=this['_dataItem'][_0x1a4e('0x4172')];},_0x270b81[_0x1a4e('0xa')][_0x1a4e('0x4381')]=function(_0x4a720f){var _0x270b81=this;this['_resProps']||(this[_0x1a4e('0x4380')]={'show':!0x1,'polylineVolume':{}});var _0x124f31=this[_0x1a4e('0x4323')];switch(_0x4a720f){case _0x1a4e('0x3a23'):this[_0x1a4e('0x4380')][_0x4a720f]=_0x124f31[_0x1a4e('0x3b2c')];break;case _0x1a4e('0x398a'):this[_0x1a4e('0x4380')][_0x1a4e('0x43e6')][_0x4a720f]=_0x124f31['isEditing']?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x25f3e6[_0x1a4e('0x3b60')]['getPositions'](_0x124f31['positions']);},!0x1):_0x25f3e6[_0x1a4e('0x3b60')][_0x1a4e('0x3e5f')](_0x124f31[_0x1a4e('0x398a')]);break;case _0x1a4e('0x423f'):this[_0x1a4e('0x4380')][_0x1a4e('0x43e6')][_0x4a720f]=_0x124f31[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x270b81[_0x1a4e('0x43de')](_0x124f31[_0x1a4e('0x423f')]);},!0x1):this[_0x1a4e('0x43de')](_0x124f31[_0x1a4e('0x423f')]);break;case _0x1a4e('0x42c9'):this['_resProps'][_0x1a4e('0x43e6')][_0x4a720f]=_0x124f31[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x270b81[_0x1a4e('0x43df')](_0x124f31['cornerType']);},!0x1):this[_0x1a4e('0x43df')](_0x124f31[_0x1a4e('0x42c9')]);break;case _0x1a4e('0x134'):this['_resProps']['polylineVolume'][_0x1a4e('0x3a41')]=_0x124f31[_0x1a4e('0x3e06')]?new Cesium['CallbackProperty'](function(){return _0x25f3e6[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x124f31['color']);},!0x1):_0x25f3e6['RenderUtils']['getColor'](_0x124f31[_0x1a4e('0x134')]);break;case'outline':this['_resProps'][_0x1a4e('0x43e6')][_0x4a720f]=_0x124f31[_0x1a4e('0x3e06')]?new Cesium['CallbackProperty'](function(){return _0x124f31[_0x1a4e('0x4171')];},!0x1):_0x124f31[_0x1a4e('0x4171')];break;case _0x1a4e('0x22c'):this[_0x1a4e('0x4380')][_0x1a4e('0x43e6')][_0x4a720f]=_0x124f31[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x124f31['fill'];},!0x1):_0x124f31[_0x1a4e('0x22c')];break;case _0x1a4e('0x409f'):this[_0x1a4e('0x4380')]['polylineVolume'][_0x4a720f]=_0x124f31[_0x1a4e('0x3e06')]?new Cesium['CallbackProperty'](function(){return _0x25f3e6['RenderUtils'][_0x1a4e('0x3b40')](_0x124f31['outlineColor']);},!0x1):_0x25f3e6[_0x1a4e('0x3b60')]['getColor'](_0x124f31[_0x1a4e('0x409f')]);break;case'outlineWidth':this[_0x1a4e('0x4380')]['polylineVolume'][_0x4a720f]=_0x124f31[_0x1a4e('0x3e06')]?new Cesium['CallbackProperty'](function(){return _0x124f31[_0x1a4e('0x4172')];},!0x1):_0x124f31[_0x1a4e('0x4172')];break;default:return;}this['_renderObj']&&(_0x1a4e('0x3a23')==_0x4a720f?this[_0x1a4e('0x4312')][_0x4a720f]=this[_0x1a4e('0x4380')][_0x4a720f]:this[_0x1a4e('0x4312')][_0x1a4e('0x43e6')][_0x4a720f]=this['_resProps'][_0x1a4e('0x43e6')][_0x4a720f]);},_0x270b81[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){this['_updateAllProp'](),this['_renderObj']||(this['_originProps']=this[_0x1a4e('0x4380')]);},_0x270b81['prototype'][_0x1a4e('0x437f')]=function(){for(var _0x4a720f=['show',_0x1a4e('0x398a'),_0x1a4e('0x423f'),_0x1a4e('0x42c9'),_0x1a4e('0x134'),'outline',_0x1a4e('0x22c'),_0x1a4e('0x409f'),'outlineWidth'],_0x270b81=0x0;_0x270b81<_0x4a720f[_0x1a4e('0x1e')];_0x270b81++)this[_0x1a4e('0x4381')](_0x4a720f[_0x270b81]);},_0x270b81[_0x1a4e('0xa')]['updateAttribute']=function(_0x4a720f){if(this[_0x1a4e('0x4312')]&&this['_dataItem'])switch(_0x4a720f){case _0x1a4e('0x3b2c'):this['_renderObj']['show']=this[_0x1a4e('0x4323')][_0x4a720f]&&this['_dataItem']['renderVisible'];break;case'isEditing':this[_0x1a4e('0x437d')]();break;default:this[_0x1a4e('0x4381')](_0x4a720f);}},_0x270b81;}(_0x25c4c5['RenderObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/CesiumWall.ts':function(_0x5b4b71,_0x30d304,_0x45f75c){'use strict';_0x45f75c['r'](_0x30d304),_0x45f75c['d'](_0x30d304,'CesiumWall',function(){return _0x3c1a88;});var _0x2bcf49,_0x1c8e37=_0x45f75c(_0x1a4e('0x430f')),_0x5f488e=_0x45f75c(_0x1a4e('0x3b38')),_0x1f2507=(_0x2bcf49=function(_0x5b4b71,_0x30d304){return(_0x2bcf49=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5b4b71,_0x30d304){_0x5b4b71['__proto__']=_0x30d304;}||function(_0x5b4b71,_0x30d304){for(var _0x45f75c in _0x30d304)_0x30d304[_0x1a4e('0xb')](_0x45f75c)&&(_0x5b4b71[_0x45f75c]=_0x30d304[_0x45f75c]);})(_0x5b4b71,_0x30d304);},function(_0x5b4b71,_0x30d304){function _0x45f75c(){this[_0x1a4e('0x10')]=_0x5b4b71;}_0x2bcf49(_0x5b4b71,_0x30d304),_0x5b4b71[_0x1a4e('0xa')]=null===_0x30d304?Object[_0x1a4e('0x7')](_0x30d304):(_0x45f75c[_0x1a4e('0xa')]=_0x30d304[_0x1a4e('0xa')],new _0x45f75c());}),_0x3c1a88=function(_0x5b4b71){function _0x30d304(){return null!==_0x5b4b71&&_0x5b4b71[_0x1a4e('0x8b')](this,arguments)||this;}return _0x1f2507(_0x30d304,_0x5b4b71),Object[_0x1a4e('0x2')](_0x30d304[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x1c8e37[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x30d304['prototype']['init']=function(){var _0x5b4b71=this['_dataItem'];this['updateAttributeForEditing'](),this['_renderObj']=this['_renderRoot'][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x5b4b71['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x5b4b71['name'];},_0x30d304[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')],this[_0x1a4e('0x4312')]['wall']['material']=_0x5f488e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x4323')][_0x1a4e('0x3a41')]),this[_0x1a4e('0x4312')][_0x1a4e('0x43e7')][_0x1a4e('0x398a')]=_0x5f488e[_0x1a4e('0x3b60')]['getPositions'](this[_0x1a4e('0x4323')]['positions']);},_0x30d304['prototype'][_0x1a4e('0x4381')]=function(_0x5b4b71){this['_resProps']||(this['_resProps']={'show':!0x1,'wall':{}});var _0x30d304=this[_0x1a4e('0x4323')];switch(_0x5b4b71){case _0x1a4e('0x3a23'):this[_0x1a4e('0x4380')][_0x5b4b71]=_0x30d304[_0x1a4e('0x3e06')]?new Cesium['CallbackProperty'](function(){return _0x30d304['visible'];},!0x1):_0x30d304['visible'];break;case _0x1a4e('0x398a'):this[_0x1a4e('0x4380')][_0x1a4e('0x43e7')][_0x5b4b71]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x5f488e[_0x1a4e('0x3b60')][_0x1a4e('0x3e5f')](_0x30d304[_0x1a4e('0x398a')]);},!0x1);break;case _0x1a4e('0x4199'):this['_resProps'][_0x1a4e('0x43e7')][_0x5b4b71]=_0x30d304[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x30d304['maximumHeights'];},!0x1):_0x30d304[_0x1a4e('0x4199')];break;case'minimumHeights':this['_resProps'][_0x1a4e('0x43e7')][_0x5b4b71]=_0x30d304['isEditing']?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x30d304[_0x1a4e('0x419a')];},!0x1):_0x30d304[_0x1a4e('0x419a')];break;case _0x1a4e('0x3a41'):this['_resProps'][_0x1a4e('0x43e7')][_0x5b4b71]=_0x5f488e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x30d304[_0x1a4e('0x134')]);break;case _0x1a4e('0x22c'):this[_0x1a4e('0x4380')][_0x1a4e('0x43e7')][_0x5b4b71]=_0x30d304['isEditing']?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x30d304[_0x1a4e('0x22c')];},!0x1):_0x30d304[_0x1a4e('0x22c')];break;case'outline':this[_0x1a4e('0x4380')]['wall'][_0x5b4b71]=_0x30d304[_0x1a4e('0x3e06')]?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x30d304['outline'];},!0x1):_0x30d304[_0x1a4e('0x4171')];break;case'outlineWidth':this[_0x1a4e('0x4380')]['wall'][_0x5b4b71]=_0x30d304['isEditing']?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x30d304[_0x1a4e('0x4172')];},!0x1):_0x30d304['outlineWidth'];break;case _0x1a4e('0x409f'):this[_0x1a4e('0x4380')]['wall'][_0x5b4b71]=_0x30d304['isEditing']?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x5f488e[_0x1a4e('0x3b60')]['getColor'](_0x30d304['outlineColor']);},!0x1):_0x5f488e['RenderUtils']['getColor'](_0x30d304[_0x1a4e('0x409f')]);break;default:return;}this[_0x1a4e('0x4312')]&&(_0x1a4e('0x3a23')==_0x5b4b71?this[_0x1a4e('0x4312')][_0x5b4b71]=this['_resProps'][_0x5b4b71]:this[_0x1a4e('0x4312')][_0x1a4e('0x43e7')][_0x5b4b71]=this[_0x1a4e('0x4380')][_0x1a4e('0x43e7')][_0x5b4b71]);},_0x30d304[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){this[_0x1a4e('0x437f')](),this['_renderObj']||(this[_0x1a4e('0x437e')]=this[_0x1a4e('0x4380')]);},_0x30d304[_0x1a4e('0xa')]['_updateAllProp']=function(){for(var _0x5b4b71=['show',_0x1a4e('0x398a'),_0x1a4e('0x4199'),_0x1a4e('0x419a'),_0x1a4e('0x3a41'),'fill',_0x1a4e('0x4171'),_0x1a4e('0x4172'),_0x1a4e('0x409f')],_0x30d304=0x0;_0x30d304<_0x5b4b71['length'];_0x30d304++)this[_0x1a4e('0x4381')](_0x5b4b71[_0x30d304]);},_0x30d304[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x5b4b71){if(this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x4323')])switch(_0x5b4b71){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x5b4b71]&&this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];break;case'color':this[_0x1a4e('0x4312')][_0x1a4e('0x43e7')][_0x1a4e('0x3a41')]=_0x5f488e['RenderUtils'][_0x1a4e('0x3b40')](this['_dataItem'][_0x5b4b71]);break;case _0x1a4e('0x398a'):this[_0x1a4e('0x4312')][_0x1a4e('0x43e7')][_0x1a4e('0x398a')]=_0x5f488e[_0x1a4e('0x3b60')][_0x1a4e('0x3e5f')](this['_dataItem'][_0x5b4b71]);break;case _0x1a4e('0x3e06'):this['updateAttributeForEditing']();break;default:this[_0x1a4e('0x437f')]();}},_0x30d304;}(_0x1c8e37[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CircularRender.ts':function(_0x24365b,_0x328724,_0x553c7b){'use strict';_0x553c7b['r'](_0x328724),_0x553c7b['d'](_0x328724,_0x1a4e('0x4161'),function(){return _0x5ec865;});var _0x2ea876,_0x3e3a76=_0x553c7b(_0x1a4e('0x430f')),_0x43edf9=_0x553c7b(_0x1a4e('0x38d0')),_0xd128cd=_0x553c7b(_0x1a4e('0x3b38')),_0x100883=_0x553c7b(_0x1a4e('0x3970')),_0x3eee61=_0x553c7b(_0x1a4e('0x4310')),_0x360ab1=(_0x2ea876=function(_0x24365b,_0x328724){return(_0x2ea876=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x24365b,_0x328724){_0x24365b[_0x1a4e('0x295')]=_0x328724;}||function(_0x24365b,_0x328724){for(var _0x553c7b in _0x328724)_0x328724[_0x1a4e('0xb')](_0x553c7b)&&(_0x24365b[_0x553c7b]=_0x328724[_0x553c7b]);})(_0x24365b,_0x328724);},function(_0x24365b,_0x328724){function _0x553c7b(){this[_0x1a4e('0x10')]=_0x24365b;}_0x2ea876(_0x24365b,_0x328724),_0x24365b['prototype']=null===_0x328724?Object[_0x1a4e('0x7')](_0x328724):(_0x553c7b[_0x1a4e('0xa')]=_0x328724[_0x1a4e('0xa')],new _0x553c7b());}),_0x5ec865=function(_0x24365b){function _0x328724(_0x328724,_0x553c7b){return _0x24365b[_0x1a4e('0x1')](this,_0x328724,_0x553c7b)||this;}return _0x360ab1(_0x328724,_0x24365b),Object['defineProperty'](_0x328724[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x3e3a76[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x328724['prototype'][_0x1a4e('0x1fd')]=function(){this[_0x1a4e('0x43e8')](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x3eae')]&&(this['renderObj'][_0x1a4e('0x42fe')]=this[_0x1a4e('0x4323')]['id']);},_0x328724[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')]&&(this['_renderRoot'][_0x1a4e('0x82')](this['_renderObj']),this['_renderObj']=void 0x0),this['init'](),this[_0x1a4e('0x3dda')]('color'),this['updateAttribute'](_0x1a4e('0x3b2c'));},_0x328724[_0x1a4e('0xa')]['updateAttribute']=function(_0x328724){_0x24365b[_0x1a4e('0xa')]['updateAttribute'][_0x1a4e('0x1')](this,_0x328724);var _0x553c7b=this[_0x1a4e('0x4323')];switch(_0x328724){case _0x1a4e('0x134'):this[_0x1a4e('0x432f')]['material']['uniforms'][_0x1a4e('0x134')]=_0xd128cd['RenderUtils'][_0x1a4e('0x3b40')](_0x553c7b[_0x328724]);break;case _0x1a4e('0x3b2c'):this['_renderObj'][_0x1a4e('0x3a23')]=_0x553c7b[_0x328724]&&this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];break;case'radius':case _0x1a4e('0x4162'):case _0x1a4e('0x4163'):case _0x1a4e('0x3553'):case _0x1a4e('0x3972'):case'step':this[_0x1a4e('0x937')]();}},_0x328724[_0x1a4e('0xa')][_0x1a4e('0x43e8')]=function(){var _0x24365b=this[_0x1a4e('0x4323')];this[_0x1a4e('0x432f')]?this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0xd128cd[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x24365b[_0x1a4e('0x134')]):this[_0x1a4e('0x432f')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':_0xd128cd[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x24365b[_0x1a4e('0x134')])}}}),'faceForward':!0x0});},_0x328724[_0x1a4e('0xa')]['createPrimitive']=function(){var _0x24365b=this['_dataItem'],_0x328724=[],_0x553c7b=0x0==_0x24365b[_0x1a4e('0x3b5d')]?0x1:_0x24365b[_0x1a4e('0x3b5d')];_0x328724=Math[_0x1a4e('0x65')](_0x24365b[_0x1a4e('0x4163')]-_0x24365b[_0x1a4e('0x4162')])<0x168?_0x100883[_0x1a4e('0x3990')]['getSectorPositions'](_0x24365b['position'],_0x553c7b,_0x24365b['startAngle'],_0x24365b[_0x1a4e('0x4163')],_0x24365b[_0x1a4e('0xbad')]):_0x100883[_0x1a4e('0x3990')][_0x1a4e('0x43e9')](_0x24365b['position'],_0x553c7b);var _0x2ea876=[];_0x328724[_0x1a4e('0x3b')](function(_0x24365b){_0x2ea876['push'](_0x43edf9[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x24365b));});var _0x3e3a76=new Cesium['GeometryInstance']({'geometry':new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':new Cesium[(_0x1a4e('0x3a3f'))](_0x2ea876),'height':_0x24365b[_0x1a4e('0x3553')]['alt']})});_0x24365b[_0x1a4e('0x3972')]?this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x3946'))]({'geometryInstances':_0x3e3a76,'appearance':this['_appearance'],'asynchronous':!0x1})):this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x3e3a76,'appearance':this['_appearance'],'asynchronous':!0x1}));},_0x328724;}(_0x3eee61[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CustomLabelRender.ts':function(_0x58d6ab,_0x4a9292,_0x1f13f8){'use strict';_0x1f13f8['r'](_0x4a9292),_0x1f13f8['d'](_0x4a9292,_0x1a4e('0x4167'),function(){return _0x566b2d;});var _0x552efc,_0x5636c5=_0x1f13f8(_0x1a4e('0x430f')),_0x2a3b54=_0x1f13f8('./src/LayerManager/GraphicLayer/GraphicRender/RenderUtils.ts'),_0x47c8ab=_0x1f13f8(_0x1a4e('0x4310')),_0x103b8f=(_0x552efc=function(_0x58d6ab,_0x4a9292){return(_0x552efc=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x58d6ab,_0x4a9292){_0x58d6ab[_0x1a4e('0x295')]=_0x4a9292;}||function(_0x58d6ab,_0x4a9292){for(var _0x1f13f8 in _0x4a9292)_0x4a9292[_0x1a4e('0xb')](_0x1f13f8)&&(_0x58d6ab[_0x1f13f8]=_0x4a9292[_0x1f13f8]);})(_0x58d6ab,_0x4a9292);},function(_0x58d6ab,_0x4a9292){function _0x1f13f8(){this['constructor']=_0x58d6ab;}_0x552efc(_0x58d6ab,_0x4a9292),_0x58d6ab[_0x1a4e('0xa')]=null===_0x4a9292?Object[_0x1a4e('0x7')](_0x4a9292):(_0x1f13f8[_0x1a4e('0xa')]=_0x4a9292['prototype'],new _0x1f13f8());}),_0x566b2d=function(_0x58d6ab){function _0x4a9292(){return null!==_0x58d6ab&&_0x58d6ab[_0x1a4e('0x8b')](this,arguments)||this;}return _0x103b8f(_0x4a9292,_0x58d6ab),Object['defineProperty'](_0x4a9292[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x5636c5[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x4a9292['prototype'][_0x1a4e('0x1fd')]=function(){var _0x58d6ab=this['_dataItem'];this[_0x1a4e('0x43ea')]=new Cesium[(_0x1a4e('0x43eb'))](),_0x58d6ab['text']&&_0x58d6ab[_0x1a4e('0xe04')][_0x1a4e('0x2bd')]()?this[_0x1a4e('0x3cb4')]=this[_0x1a4e('0x43ea')][_0x1a4e('0x43ec')](_0x58d6ab[_0x1a4e('0xe04')],_0x2a3b54['RenderUtils'][_0x1a4e('0x3b40')](_0x58d6ab[_0x1a4e('0x3ef1')]),0x100)[_0x1a4e('0x3939')]():this[_0x1a4e('0x3cb4')]=this[_0x1a4e('0x43ea')][_0x1a4e('0x39b4')](_0x2a3b54[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x58d6ab['backgroundColor']),0xc8)[_0x1a4e('0x3939')](),this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this['_renderRoot']['add'](this[_0x1a4e('0x437e')]);},_0x4a9292[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')]&&this[_0x1a4e('0x4323')][_0x1a4e('0x3b2c')];},_0x4a9292[_0x1a4e('0xa')]['updateAttributeForEditing']=function(){var _0x58d6ab=this[_0x1a4e('0x4323')];this['_updateAllProp'](),this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x437e')]={'show':_0x58d6ab['renderVisible'],'position':this[_0x1a4e('0x4380')][_0x1a4e('0x3553')],'billboard':this[_0x1a4e('0x4380')][_0x1a4e('0x412d')]});},_0x4a9292['prototype']['_updateAllProp']=function(){for(var _0x58d6ab=['position',_0x1a4e('0x3cb4'),_0x1a4e('0x143'),_0x1a4e('0x3936'),_0x1a4e('0x152'),_0x1a4e('0x397b'),_0x1a4e('0x3bfa')],_0x4a9292=0x0;_0x4a9292<_0x58d6ab[_0x1a4e('0x1e')];_0x4a9292++)this['_dealResProps'](_0x58d6ab[_0x4a9292]);},_0x4a9292['prototype']['_dealResProps']=function(_0x58d6ab){var _0x4a9292=this;this['_resProps']||(this[_0x1a4e('0x4380')]={'position':{},'billboard':{}});var _0x1f13f8=this['_dataItem'];switch(_0x58d6ab){case _0x1a4e('0x3553'):this['_resProps'][_0x1a4e('0x3553')]=_0x2a3b54[_0x1a4e('0x3b60')][_0x1a4e('0x3f0a')](_0x1f13f8[_0x1a4e('0x3553')]);break;case'image':this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x58d6ab]=this[_0x1a4e('0x3cb4')];break;case'scale':this[_0x1a4e('0x4380')]['billboard'][_0x58d6ab]=_0x1f13f8[_0x1a4e('0x143')];break;case'width':this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x58d6ab]=_0x1f13f8[_0x1a4e('0x3936')];break;case _0x1a4e('0x152'):this['_resProps'][_0x1a4e('0x412d')][_0x58d6ab]=_0x1f13f8['height'];break;case _0x1a4e('0x397b'):this[_0x1a4e('0x4380')]['billboard'][_0x58d6ab]=_0x2a3b54[_0x1a4e('0x3b60')][_0x1a4e('0x4383')](_0x1f13f8[_0x1a4e('0x397b')]);break;case _0x1a4e('0x3bfa'):this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x58d6ab]=_0x2a3b54[_0x1a4e('0x3b60')][_0x1a4e('0x4392')](_0x1f13f8[_0x1a4e('0x3bfa')]);break;default:return;}this[_0x1a4e('0x4312')]&&(_0x1a4e('0x3553')===_0x58d6ab?_0x1f13f8[_0x1a4e('0x3e06')]?this['_renderObj'][_0x1a4e('0x3553')]=new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x4a9292[_0x1a4e('0x4380')][_0x1a4e('0x3553')];},!0x1):this[_0x1a4e('0x4312')]['position']=this[_0x1a4e('0x4380')]['position']:_0x1f13f8[_0x1a4e('0x3e06')]?this['_renderObj'][_0x1a4e('0x412d')][_0x58d6ab]=_0x1a4e('0x3cb4')===_0x58d6ab?new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x4a9292['image'];},!0x1):new Cesium['CallbackProperty'](function(){return _0x4a9292[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x58d6ab];},!0x1):this[_0x1a4e('0x4312')]['billboard'][_0x58d6ab]=this[_0x1a4e('0x4380')][_0x1a4e('0x412d')][_0x58d6ab]);},_0x4a9292[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x4a9292){if(_0x58d6ab[_0x1a4e('0xa')]['updateAttribute'][_0x1a4e('0x1')](this,_0x4a9292),this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x4323')]){var _0x1f13f8=this[_0x1a4e('0x4323')];switch(_0x4a9292){case _0x1a4e('0x3b2c'):this['update']();break;case _0x1a4e('0x3e06'):this['updateAttributeForEditing']();break;case _0x1a4e('0xe04'):case _0x1a4e('0x3ef1'):_0x1f13f8['text']&&_0x1f13f8[_0x1a4e('0xe04')][_0x1a4e('0x2bd')]()?this[_0x1a4e('0x3cb4')]=this[_0x1a4e('0x43ea')][_0x1a4e('0x43ec')](_0x1f13f8[_0x1a4e('0xe04')],_0x2a3b54[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x1f13f8[_0x1a4e('0x3ef1')]),0x100)[_0x1a4e('0x3939')]():this['image']=this[_0x1a4e('0x43ea')]['fromColor'](_0x2a3b54[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x1f13f8['backgroundColor']),0x100)['toDataURL'](),this['_dealResProps'](_0x1a4e('0x3cb4'));break;default:this[_0x1a4e('0x4381')](_0x4a9292);}}},_0x4a9292[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){_0x58d6ab[_0x1a4e('0xa')][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x4a9292;}(_0x47c8ab[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/CylinderSensor.ts':function(_0x387e32,_0x21826c,_0x4f476d){'use strict';_0x4f476d['r'](_0x21826c),_0x4f476d['d'](_0x21826c,_0x1a4e('0x43ed'),function(){return _0x5c1b9e;});var _0x18d9cc,_0x2d72b1=_0x4f476d('./src/LayerManager/GraphicLayer/GraphicRender/RenderObject.ts'),_0x7fa233=_0x4f476d('./src/Utils/GeoPoint.ts'),_0x413b0e=_0x4f476d(_0x1a4e('0x3b38')),_0x3d208f=(_0x18d9cc=function(_0x387e32,_0x21826c){return(_0x18d9cc=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x387e32,_0x21826c){_0x387e32['__proto__']=_0x21826c;}||function(_0x387e32,_0x21826c){for(var _0x4f476d in _0x21826c)_0x21826c['hasOwnProperty'](_0x4f476d)&&(_0x387e32[_0x4f476d]=_0x21826c[_0x4f476d]);})(_0x387e32,_0x21826c);},function(_0x387e32,_0x21826c){function _0x4f476d(){this[_0x1a4e('0x10')]=_0x387e32;}_0x18d9cc(_0x387e32,_0x21826c),_0x387e32[_0x1a4e('0xa')]=null===_0x21826c?Object[_0x1a4e('0x7')](_0x21826c):(_0x4f476d[_0x1a4e('0xa')]=_0x21826c[_0x1a4e('0xa')],new _0x4f476d());}),_0x5c1b9e=function(_0x387e32){function _0x21826c(_0x21826c,_0x4f476d){var _0x18d9cc=_0x387e32['call'](this,_0x21826c,_0x4f476d)||this;return _0x18d9cc['listenerFun']=function(){var _0x387e32=_0x18d9cc[_0x1a4e('0x4323')];if(null!=_0x387e32['topBind']||null!=_0x387e32['bottomBind']){_0x18d9cc[_0x1a4e('0x937')]();var _0x21826c=_0x18d9cc[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['repeat'],_0x4f476d=Math[_0x1a4e('0xb4')](_0x18d9cc[_0x1a4e('0x4b3')]/_0x387e32[_0x1a4e('0x1a53')]);_0x18d9cc[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x3b77')]=_0x4f476d,_0x18d9cc['_currentOffset']=_0x18d9cc[_0x1a4e('0x43ee')]*_0x21826c/_0x4f476d;}var _0x2d72b1=_0x18d9cc['_appearance'][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x1af')];_0x2d72b1<0x1&&((_0x2d72b1+=_0x387e32['speed']*_0x18d9cc[_0x1a4e('0x43ee')])>=0x1&&(_0x2d72b1=0x0),_0x18d9cc[_0x1a4e('0x432f')][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x1af')]=_0x2d72b1);},_0x18d9cc[_0x1a4e('0x43ee')]=0.001,_0x18d9cc[_0x1a4e('0x4330')]=void 0x0,_0x18d9cc[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](_0x18d9cc[_0x1a4e('0x3dd0')]),_0x18d9cc;}return _0x3d208f(_0x21826c,_0x387e32),Object[_0x1a4e('0x2')](_0x21826c[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x2d72b1['RenderTypeEnum']['Primitive'];},'enumerable':!0x0,'configurable':!0x0}),_0x21826c['prototype']['init']=function(){if(this[_0x1a4e('0x432f')]){var _0x387e32=this[_0x1a4e('0x4323')];this[_0x1a4e('0x43ef')](_0x387e32[_0x1a4e('0x1a53')]);}else this[_0x1a4e('0x43e8')]();this[_0x1a4e('0x3b52')](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x43f0')](),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]);},_0x21826c[_0x1a4e('0xa')][_0x1a4e('0x43ef')]=function(_0x387e32){if(this['_appearance']){var _0x21826c=this[_0x1a4e('0x43f1')](),_0x4f476d=this[_0x1a4e('0x43f2')](),_0x18d9cc=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x21826c,_0x4f476d,new Cesium[(_0x1a4e('0x393e'))]()));this['_appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['repeat']=Math[_0x1a4e('0xb4')](_0x18d9cc/_0x387e32);}},_0x21826c[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')]&&(this[_0x1a4e('0x42e6')]['remove'](this[_0x1a4e('0x4312')]),this['_renderObj']=void 0x0),this['init']();},_0x21826c[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x387e32){var _0x21826c=this['_dataItem'];switch(_0x387e32){case _0x1a4e('0x40a7'):this['_appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['evenColor']=_0x413b0e['RenderUtils'][_0x1a4e('0x3b40')](_0x21826c[_0x387e32]);break;case _0x1a4e('0x40a8'):this['_appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['oddColor']=_0x413b0e['RenderUtils'][_0x1a4e('0x3b40')](_0x21826c[_0x387e32]);break;case _0x1a4e('0x1a53'):this[_0x1a4e('0x43ef')](_0x21826c['space']);break;case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0x21826c[_0x387e32]&&this[_0x1a4e('0x4323')][_0x1a4e('0x41a2')];break;case _0x1a4e('0x78'):this[_0x1a4e('0x43f3')](),this['update']();break;case _0x1a4e('0x3e50'):case _0x1a4e('0x3e4f'):case _0x1a4e('0x3b50'):case _0x1a4e('0x3b51'):this[_0x1a4e('0x937')]();}},_0x21826c['prototype'][_0x1a4e('0x43f3')]=function(){for(var _0x387e32=0x168/this[_0x1a4e('0x4323')][_0x1a4e('0x78')],_0x21826c=[],_0x4f476d=0x0;_0x4f476d<=0x168;_0x4f476d+=_0x387e32){var _0x18d9cc=Cesium[_0x1a4e('0x1020')]['RADIANS_PER_DEGREE']*_0x4f476d;_0x21826c[_0x1a4e('0x46')](new Cesium['Cartesian2'](Math[_0x1a4e('0x90')](_0x18d9cc),-Math[_0x1a4e('0x8f')](_0x18d9cc)));}this[_0x1a4e('0x4330')]=_0x21826c;},_0x21826c[_0x1a4e('0xa')][_0x1a4e('0x3b52')]=function(){var _0x387e32=this[_0x1a4e('0x4323')],_0x21826c=this['getTopPosition'](),_0x4f476d=this[_0x1a4e('0x43f2')](),_0x18d9cc=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x21826c,_0x4f476d,new Cesium[(_0x1a4e('0x393e'))]());this[_0x1a4e('0x4b3')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x18d9cc),null!=this[_0x1a4e('0x4330')]&&0x0!=this[_0x1a4e('0x4330')]['length']||this[_0x1a4e('0x43f3')]();for(var _0x2d72b1=[],_0x7fa233=[],_0x413b0e=0x0;_0x413b0e_0x3180b1[0x0]&&(_0x2b8fa2=_0x3180b1[0x0]);var _0xb9da31=0x0;_0x59b46d[0x0]>_0xb9da31&&(_0xb9da31=_0x59b46d[0x0]);var _0xd886bd=0x0;_0x3180b1[0x1]<_0xd886bd&&(_0xd886bd=_0x3180b1[0x1]);var _0x267b2c=0x0;_0x10b0a2[0x1]>_0x267b2c&&(_0x267b2c=_0x10b0a2[0x1]);var _0x2186f1=(_0xb9da31+=0xa)-(_0x2b8fa2-=0xa),_0x4c3cec=(_0x267b2c+=0xa)-(_0xd886bd-=0xa);function _0x5c3f09(_0x5db536,_0x44cc2c,_0x326990,_0x3180b1){return[_0x5db536[0x0]-_0x44cc2c,_0x3180b1-(_0x5db536[0x1]-_0x326990)];}return{'anchor':_0x36c29a=_0x5c3f09(_0x36c29a,_0x2b8fa2,_0xd886bd,_0x4c3cec),'inflection':_0x3180b1=_0x5c3f09(_0x3180b1,_0x2b8fa2,_0xd886bd,_0x4c3cec),'flagpoleLeftTop':_0x10b0a2=_0x5c3f09(_0x10b0a2,_0x2b8fa2,_0xd886bd,_0x4c3cec),'flagpoleRightTop':_0x59b46d=_0x5c3f09(_0x59b46d,_0x2b8fa2,_0xd886bd,_0x4c3cec),'flagpoleLeftBottom':[_0x10b0a2[0x0],_0x10b0a2[0x1]+0x2*_0x24dda0],'flagpoleRightBottom':[_0x59b46d[0x0],_0x59b46d[0x1]+0x2*_0x24dda0],'canvasWidth':_0x2186f1,'canvasHeight':_0x4c3cec,'labelSize':_0x2196b5,'str':_0x2d4aa2};},_0x44cc2c[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x5db536=this['_dataItem'];this[_0x1a4e('0x4394')](),this['_root']=new Cesium[(_0x1a4e('0x4393'))](),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4bd')]),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x4bd')][_0x1a4e('0x177')]({'show':_0x5db536['renderVisible'],'image':this['_canvasInfo'][_0x1a4e('0x3934')],'position':Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x5db536[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x5db536[_0x1a4e('0x3553')]['lat'],_0x5db536[_0x1a4e('0x3553')][_0x1a4e('0x398c')]),'width':0x2*this[_0x1a4e('0x43ff')]['canvasWidth'],'height':0x2*this[_0x1a4e('0x43ff')][_0x1a4e('0x3ec2')],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')][_0x1a4e('0x39bf')],'horizontalOrigin':Cesium[_0x1a4e('0x440b')][_0x1a4e('0x3ea')],'scale':0.5,'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](-this['_canvasInfo'][_0x1a4e('0x440c')][0x0],this['_canvasInfo']['offsetAnchor'][0x1])}),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x5db536['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x5db536[_0x1a4e('0x2cb')];},_0x44cc2c[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){},_0x44cc2c['prototype'][_0x1a4e('0x3ecc')]=function(){var _0x5db536=this,_0x44cc2c=this[_0x1a4e('0x4323')];_0x1a4e('0x440d')!==this[_0x1a4e('0x37b7')]&&(this[_0x1a4e('0x37b7')]=_0x1a4e('0x440d'),setTimeout(function(){_0x5db536['createCanvas'](),_0x5db536[_0x1a4e('0x42e6')][_0x1a4e('0x82')](_0x5db536['_root']),_0x5db536['_root']=new Cesium[(_0x1a4e('0x4393'))](),_0x5db536['_renderRoot'][_0x1a4e('0x177')](_0x5db536[_0x1a4e('0x4bd')]),_0x5db536['_renderObj']=_0x5db536[_0x1a4e('0x4bd')][_0x1a4e('0x177')]({'show':_0x44cc2c[_0x1a4e('0x41a2')],'image':_0x5db536[_0x1a4e('0x43ff')][_0x1a4e('0x3934')],'position':Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x44cc2c[_0x1a4e('0x3553')]['lon'],_0x44cc2c[_0x1a4e('0x3553')][_0x1a4e('0x1a2')],_0x44cc2c[_0x1a4e('0x3553')]['alt']),'width':0x2*_0x5db536['_canvasInfo'][_0x1a4e('0x3ec1')],'height':0x2*_0x5db536[_0x1a4e('0x43ff')][_0x1a4e('0x3ec2')],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')]['BOTTOM'],'horizontalOrigin':Cesium['HorizontalOrigin'][_0x1a4e('0x3ea')],'scale':0.5,'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](-_0x5db536[_0x1a4e('0x43ff')]['offsetAnchor'][0x0],_0x5db536[_0x1a4e('0x43ff')][_0x1a4e('0x440c')][0x1])}),_0x5db536[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x44cc2c['id'],_0x5db536['_renderObj'][_0x1a4e('0x433a')]=_0x44cc2c['name'],_0x5db536[_0x1a4e('0x37b7')]=_0x1a4e('0x440e');},0x32));},_0x44cc2c[_0x1a4e('0xa')]['updateAttribute']=function(_0x5db536){var _0x44cc2c=this[_0x1a4e('0x4323')];switch(_0x5db536){case _0x1a4e('0x3b2c'):this['_renderObj'][_0x1a4e('0x3a23')]=_0x44cc2c['renderVisible']&&_0x44cc2c[_0x1a4e('0x3b2c')];break;case _0x1a4e('0x3553'):this[_0x1a4e('0x4312')]['position']=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x44cc2c['position'][_0x1a4e('0x1a1')],_0x44cc2c[_0x1a4e('0x3553')][_0x1a4e('0x1a2')],_0x44cc2c['position']['alt']);break;case _0x1a4e('0xe04'):case'scale':case _0x1a4e('0x3ebb'):case'flagpoleHeight':case _0x1a4e('0x4192'):case _0x1a4e('0x40a1'):case _0x1a4e('0x3987'):case _0x1a4e('0x134'):case _0x1a4e('0x4191'):this[_0x1a4e('0x3ecc')]();}},_0x44cc2c['prototype'][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x4312')]&&(this[_0x1a4e('0x4bd')][_0x1a4e('0x82')](this['_renderObj']),this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this['_root'])),this[_0x1a4e('0x4312')]=void 0x0,this[_0x1a4e('0x4323')]=void 0x0,this[_0x1a4e('0x38fa')]=void 0x0,this['_renderRoot']=void 0x0;},_0x44cc2c;}(_0x36c29a['RenderObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/FlowWallRender.ts':function(_0x407f9d,_0x4ac10e,_0x2dd365){'use strict';_0x2dd365['r'](_0x4ac10e),_0x2dd365['d'](_0x4ac10e,_0x1a4e('0x4197'),function(){return _0x54c89a;});var _0x36111c,_0x44b193=_0x2dd365('./src/LayerManager/GraphicLayer/GraphicItem/FlowWallGraphic.ts'),_0xf27120=_0x2dd365(_0x1a4e('0x430f')),_0x4f6408=(_0x36111c=function(_0x407f9d,_0x4ac10e){return(_0x36111c=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x407f9d,_0x4ac10e){_0x407f9d[_0x1a4e('0x295')]=_0x4ac10e;}||function(_0x407f9d,_0x4ac10e){for(var _0x2dd365 in _0x4ac10e)_0x4ac10e[_0x1a4e('0xb')](_0x2dd365)&&(_0x407f9d[_0x2dd365]=_0x4ac10e[_0x2dd365]);})(_0x407f9d,_0x4ac10e);},function(_0x407f9d,_0x4ac10e){function _0x2dd365(){this['constructor']=_0x407f9d;}_0x36111c(_0x407f9d,_0x4ac10e),_0x407f9d[_0x1a4e('0xa')]=null===_0x4ac10e?Object[_0x1a4e('0x7')](_0x4ac10e):(_0x2dd365[_0x1a4e('0xa')]=_0x4ac10e[_0x1a4e('0xa')],new _0x2dd365());}),_0x54c89a=function(_0x407f9d){function _0x4ac10e(_0x4ac10e,_0x2dd365){var _0x36111c=_0x407f9d[_0x1a4e('0x1')](this,_0x4ac10e,_0x2dd365)||this,_0x44b193=_0x36111c['_dataItem'];return _0x36111c[_0x1a4e('0x40e3')]=0.01*_0x44b193[_0x1a4e('0x40e3')],_0x36111c['_viewer'][_0x1a4e('0x3b3e')]['onTick'][_0x1a4e('0xec5')](function(){_0x36111c['appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['time']+=_0x36111c[_0x1a4e('0x40e3')];}),_0x36111c;}return _0x4f6408(_0x4ac10e,_0x407f9d),Object[_0x1a4e('0x2')](_0x4ac10e['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0xf27120['RenderTypeEnum'][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x4ac10e['prototype'][_0x1a4e('0x1fd')]=function(){this[_0x1a4e('0x3b3c')]||this[_0x1a4e('0x43e8')](),this['createPrimitive'](),this[_0x1a4e('0x42e6')]['add'](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3eae')][_0x1a4e('0x42fe')]=this[_0x1a4e('0x4323')]['id'];},_0x4ac10e[_0x1a4e('0xa')]['createMaterial']=function(){var _0x407f9d=this[_0x1a4e('0x4323')],_0x4ac10e=_0x407f9d[_0x1a4e('0x4198')]==_0x44b193['DirEnum'][_0x1a4e('0x419c')]?0x0:0x1;this[_0x1a4e('0x3b3c')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'image':_0x407f9d[_0x1a4e('0x3cb4')],'time':0x0,'repeat':_0x407f9d[_0x1a4e('0x3b77')],'flowDir':_0x4ac10e},'source':this[_0x1a4e('0x3b90')]()}})});},_0x4ac10e['prototype'][_0x1a4e('0x3b90')]=function(){return _0x1a4e('0x440f');},_0x4ac10e['prototype'][_0x1a4e('0x3b5e')]=function(){var _0x407f9d=this[_0x1a4e('0x4323')],_0x4ac10e=[];_0x407f9d[_0x1a4e('0x398a')][_0x1a4e('0x3b')](function(_0x407f9d){_0x4ac10e[_0x1a4e('0x46')](_0x407f9d[_0x1a4e('0x1a1')],_0x407f9d[_0x1a4e('0x1a2')],_0x407f9d[_0x1a4e('0x398c')]);});var _0x2dd365=new Cesium[(_0x1a4e('0x3a3a'))]({'positions':Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3955')](_0x4ac10e),'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x4411')],'minimumHeights':_0x407f9d[_0x1a4e('0x419a')],'maximumHeights':_0x407f9d[_0x1a4e('0x4199')]});this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x2dd365}),'appearance':this[_0x1a4e('0x3b3c')]}),this['renderObj'][_0x1a4e('0x42fe')]=this['_dataItem']['id'];},_0x4ac10e[_0x1a4e('0xa')]['updateAttribute']=function(_0x407f9d){var _0x4ac10e=this[_0x1a4e('0x4323')];switch(_0x407f9d){case _0x1a4e('0x398a'):case'maximumHeights':case _0x1a4e('0x419a'):this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]);break;case _0x1a4e('0x4198'):case _0x1a4e('0x3b77'):case _0x1a4e('0x3cb4'):console['log'](this[_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x407f9d]),this[_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x407f9d]=_0x4ac10e[_0x407f9d];break;case _0x1a4e('0x40e3'):this[_0x1a4e('0x40e3')]=0.01*_0x4ac10e[_0x1a4e('0x40e3')];break;case _0x1a4e('0x3b2c'):this['_renderObj'][_0x1a4e('0x3a23')]=_0x4ac10e[_0x407f9d]&&_0x4ac10e['renderVisible'];}},_0x4ac10e[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){var _0x4ac10e=this,_0x2dd365=this[_0x1a4e('0x4323')];this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec2')](function(){_0x4ac10e[_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x129a')]+=0.01*_0x2dd365[_0x1a4e('0x40e3')];}),_0x407f9d[_0x1a4e('0xa')]['clear']['call'](this);},_0x4ac10e;}(_0xf27120[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/GradientSector.ts':function(_0x492490,_0x22c988,_0x4afd0e){'use strict';_0x4afd0e['r'](_0x22c988),_0x4afd0e['d'](_0x22c988,_0x1a4e('0x419f'),function(){return _0x312e48;});var _0x41c359,_0x30ce32=_0x4afd0e(_0x1a4e('0x430f')),_0x5b9266=_0x4afd0e('./src/Utils/GeoPoint.ts'),_0x23eee9=_0x4afd0e(_0x1a4e('0x3b38')),_0x1e7d68=(_0x41c359=function(_0x492490,_0x22c988){return(_0x41c359=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x492490,_0x22c988){_0x492490[_0x1a4e('0x295')]=_0x22c988;}||function(_0x492490,_0x22c988){for(var _0x4afd0e in _0x22c988)_0x22c988[_0x1a4e('0xb')](_0x4afd0e)&&(_0x492490[_0x4afd0e]=_0x22c988[_0x4afd0e]);})(_0x492490,_0x22c988);},function(_0x492490,_0x22c988){function _0x4afd0e(){this[_0x1a4e('0x10')]=_0x492490;}_0x41c359(_0x492490,_0x22c988),_0x492490[_0x1a4e('0xa')]=null===_0x22c988?Object[_0x1a4e('0x7')](_0x22c988):(_0x4afd0e[_0x1a4e('0xa')]=_0x22c988['prototype'],new _0x4afd0e());}),_0x312e48=function(_0x492490){function _0x22c988(_0x22c988,_0x4afd0e){return _0x492490[_0x1a4e('0x1')](this,_0x22c988,_0x4afd0e)||this;}return _0x1e7d68(_0x22c988,_0x492490),Object['defineProperty'](_0x22c988[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x30ce32[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x22c988[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){this[_0x1a4e('0x4323')][_0x1a4e('0x3aa1')],this['_sliceUnit']=0x2,this[_0x1a4e('0x43e8')](),this[_0x1a4e('0x3b53')](),this['createPrimitive'](),this[_0x1a4e('0x43f0')](),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]);},_0x22c988['prototype'][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')]&&(this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')]=void 0x0),this['init']();},_0x22c988[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x492490){var _0x22c988=this['_dataItem'];switch(_0x492490){case _0x1a4e('0x134'):this[_0x1a4e('0x432f')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x4412')]=_0x23eee9[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x22c988[_0x492490]);break;case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0x22c988[_0x492490]&&_0x22c988[_0x1a4e('0x41a2')];break;case'position':case _0x1a4e('0x3e50'):case'bottomPosition':case _0x1a4e('0x3aa1'):this['update']();break;case _0x1a4e('0x3d2e'):this['createGeometryMatrix']();}},_0x22c988[_0x1a4e('0xa')][_0x1a4e('0x3b53')]=function(){var _0x492490=[],_0x22c988=[],_0x4afd0e=this[_0x1a4e('0x4323')],_0x41c359=_0x5b9266['GeoPoint'][_0x1a4e('0x3949')](_0x4afd0e['topPosition']),_0x30ce32=_0x5b9266[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x4afd0e[_0x1a4e('0x3e4f')]),_0x23eee9=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x41c359,_0x30ce32,new Cesium[(_0x1a4e('0x393e'))]());this[_0x1a4e('0x4413')]=Cesium['Cartesian3']['magnitude'](_0x23eee9);for(var _0x1e7d68=0x5a-_0x4afd0e['fov']/0x2,_0x312e48=0x0;_0x312e48<_0x4afd0e[_0x1a4e('0x3aa1')];_0x312e48+=this['_sliceUnit']){var _0x56928b=Math['PI']/0xb4*(_0x1e7d68+_0x312e48),_0x18ff9d=Math['PI']/0xb4*(_0x1e7d68+_0x312e48+this[_0x1a4e('0x4414')]);_0x492490[_0x1a4e('0x46')](0x0),_0x492490[_0x1a4e('0x46')](0x0),_0x492490[_0x1a4e('0x46')](-0.001),_0x22c988['push'](0.5),_0x22c988['push'](0.5),_0x492490['push'](this[_0x1a4e('0x4413')]*Math['cos'](_0x56928b)),_0x492490['push'](0x0),_0x492490[_0x1a4e('0x46')](this[_0x1a4e('0x4413')]*Math[_0x1a4e('0x8f')](_0x56928b)),_0x22c988[_0x1a4e('0x46')](Math[_0x1a4e('0x90')](_0x56928b/(0x2*Math['PI'])*0.5)+0.5),_0x22c988[_0x1a4e('0x46')](-Math[_0x1a4e('0x8f')](_0x56928b/(0x2*Math['PI'])*0.5+0.5)),_0x492490[_0x1a4e('0x46')](this[_0x1a4e('0x4413')]*Math[_0x1a4e('0x90')](_0x18ff9d)),_0x492490[_0x1a4e('0x46')](0x0),_0x492490[_0x1a4e('0x46')](this[_0x1a4e('0x4413')]*Math[_0x1a4e('0x8f')](_0x18ff9d)),_0x22c988['push'](Math[_0x1a4e('0x90')](_0x56928b/(0x2*Math['PI'])*0.5)+0.5),_0x22c988[_0x1a4e('0x46')](-Math[_0x1a4e('0x8f')](_0x56928b/(0x2*Math['PI'])*0.5+0.5));}this[_0x1a4e('0x3b54')](_0x492490,_0x22c988);},_0x22c988[_0x1a4e('0xa')][_0x1a4e('0x3b54')]=function(_0x492490,_0x22c988){var _0x4afd0e=new Float64Array(_0x492490),_0x41c359=new Float32Array(_0x22c988);this[_0x1a4e('0x43f4')]=new Cesium[(_0x1a4e('0x3abe'))]({'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x4afd0e}),'st':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x41c359})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x4afd0e)});},_0x22c988[_0x1a4e('0xa')][_0x1a4e('0x43e8')]=function(){var _0x492490=this[_0x1a4e('0x4323')];this[_0x1a4e('0x432f')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':_0x23eee9['RenderUtils'][_0x1a4e('0x3b40')](_0x492490[_0x1a4e('0x134')])},'source':this[_0x1a4e('0x3b43')]()}})});},_0x22c988['prototype'][_0x1a4e('0x3b43')]=function(){return'czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis\x20=\x20distance(materialInput.st,\x20vec2(0.5,\x200.5));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=color.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha=mix(0.0,1.0,dis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x22c988[_0x1a4e('0xa')][_0x1a4e('0x3b5e')]=function(){var _0x492490=this['_dataItem'];this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x43f4')]}),'appearance':this[_0x1a4e('0x432f')],'asynchronous':!0x1,'show':_0x492490[_0x1a4e('0x3b2c')]});},_0x22c988[_0x1a4e('0xa')][_0x1a4e('0x43f0')]=function(){var _0x492490=this[_0x1a4e('0x4323')],_0x22c988=_0x5b9266[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x492490['topPosition']),_0x4afd0e=_0x5b9266[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x492490[_0x1a4e('0x3e4f')]),_0x41c359=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x22c988,_0x4afd0e,new Cesium[(_0x1a4e('0x393e'))]()),_0x30ce32=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x4afd0e,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),new Cesium['Cartesian3']()),_0x23eee9=Cesium[_0x1a4e('0x393e')]['normalize'](_0x41c359,new Cesium['Cartesian3']()),_0x1e7d68=new Cesium['Cartesian3'](0x0,0x0,0x1),_0x312e48=Cesium[_0x1a4e('0x393e')]['dot'](_0x1e7d68,_0x23eee9)/Cesium[_0x1a4e('0x393e')]['magnitude'](_0x1e7d68)*Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x23eee9),_0x5afc6a=Math['acos'](_0x312e48),_0x53d0a2=Cesium[_0x1a4e('0x3aac')][_0x1a4e('0x40c4')](new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x1),Math['PI']/0xb4*_0x492490['rotation']),_0x59c64d=Cesium['Matrix3']['fromQuaternion'](_0x53d0a2),_0x5edfb2=Cesium[_0x1a4e('0x393e')]['cross'](_0x1e7d68,_0x23eee9,new Cesium['Cartesian3']()),_0x213015=Cesium[_0x1a4e('0x3aac')]['fromAxisAngle'](_0x5edfb2,_0x5afc6a),_0x1711df=Cesium['Matrix3']['fromQuaternion'](_0x213015),_0x58e7a8=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x260')](_0x1711df,_0x59c64d,new Cesium[(_0x1a4e('0x3aae'))]()),_0x41eeb1=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x58e7a8,_0x30ce32);this[_0x1a4e('0x4312')][_0x1a4e('0x3b64')]=_0x41eeb1;},_0x22c988[_0x1a4e('0xa')]['clear']=function(){_0x492490['prototype'][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x22c988;}(_0x30ce32['RenderObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/Icon/CircleIconRender.ts':function(_0x50eaa4,_0x500a36,_0x35bdff){'use strict';_0x35bdff['r'](_0x500a36),_0x35bdff['d'](_0x500a36,_0x1a4e('0x41d4'),function(){return _0x1df423;});var _0x575588,_0x45db29=_0x35bdff('./src/LayerManager/GraphicLayer/GraphicRender/Icon/CircleRender.ts'),_0x16df5e=_0x35bdff(_0x1a4e('0x3b38')),_0x1c944d=(_0x575588=function(_0x50eaa4,_0x500a36){return(_0x575588=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x50eaa4,_0x500a36){_0x50eaa4[_0x1a4e('0x295')]=_0x500a36;}||function(_0x50eaa4,_0x500a36){for(var _0x35bdff in _0x500a36)_0x500a36[_0x1a4e('0xb')](_0x35bdff)&&(_0x50eaa4[_0x35bdff]=_0x500a36[_0x35bdff]);})(_0x50eaa4,_0x500a36);},function(_0x50eaa4,_0x500a36){function _0x35bdff(){this[_0x1a4e('0x10')]=_0x50eaa4;}_0x575588(_0x50eaa4,_0x500a36),_0x50eaa4['prototype']=null===_0x500a36?Object[_0x1a4e('0x7')](_0x500a36):(_0x35bdff[_0x1a4e('0xa')]=_0x500a36[_0x1a4e('0xa')],new _0x35bdff());}),_0x1df423=function(_0x50eaa4){function _0x500a36(_0x500a36,_0x35bdff){return _0x50eaa4['call'](this,_0x500a36,_0x35bdff)||this;}return _0x1c944d(_0x500a36,_0x50eaa4),_0x500a36[_0x1a4e('0xa')][_0x1a4e('0x4415')]=function(){return'uniform\x20vec4\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20numberOfLines;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20duration;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20time;\x0a\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material=czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse=color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st=materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis=distance(st,vec2(0.5,0.5));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20per=mod(time,duration)/duration;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20perDis=0.5/numberOfLines;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20disNum=ceil((dis-per/numberOfLines/2.0)/perDis);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha=1.0-disNum*perDis*2.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha=alpha*color.a*(1.0-dis*2.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}';},_0x500a36[_0x1a4e('0xa')][_0x1a4e('0x3c57')]=function(){var _0x50eaa4=this[_0x1a4e('0x4323')];return new Cesium['Material']({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'numberOfLines':_0x50eaa4[_0x1a4e('0x41d7')],'duration':_0x50eaa4['duration'],'color':_0x16df5e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x50eaa4[_0x1a4e('0x134')]),'time':0x0},'source':this[_0x1a4e('0x4415')]()}});},_0x500a36;}(_0x45db29[_0x1a4e('0x4416')]);},'./src/LayerManager/GraphicLayer/GraphicRender/Icon/CircleRender.ts':function(_0x42ee38,_0x5306df,_0xddf6e0){'use strict';_0xddf6e0['r'](_0x5306df),_0xddf6e0['d'](_0x5306df,_0x1a4e('0x4416'),function(){return _0xa76654;});var _0xc02a6d,_0x29d816=_0xddf6e0(_0x1a4e('0x430e')),_0x149e2c=_0xddf6e0(_0x1a4e('0x430f')),_0x2fd919=_0xddf6e0(_0x1a4e('0x3b38')),_0x3dfda6=_0xddf6e0('./src/LayerManager/GraphicLayer/GraphicRender/RenderPositionObject.ts'),_0x3cf38c=(_0xc02a6d=function(_0x42ee38,_0x5306df){return(_0xc02a6d=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x42ee38,_0x5306df){_0x42ee38[_0x1a4e('0x295')]=_0x5306df;}||function(_0x42ee38,_0x5306df){for(var _0xddf6e0 in _0x5306df)_0x5306df[_0x1a4e('0xb')](_0xddf6e0)&&(_0x42ee38[_0xddf6e0]=_0x5306df[_0xddf6e0]);})(_0x42ee38,_0x5306df);},function(_0x42ee38,_0x5306df){function _0xddf6e0(){this[_0x1a4e('0x10')]=_0x42ee38;}_0xc02a6d(_0x42ee38,_0x5306df),_0x42ee38['prototype']=null===_0x5306df?Object[_0x1a4e('0x7')](_0x5306df):(_0xddf6e0[_0x1a4e('0xa')]=_0x5306df['prototype'],new _0xddf6e0());}),_0xa76654=function(_0x42ee38){function _0x5306df(_0x5306df,_0xddf6e0){var _0xc02a6d=_0x42ee38[_0x1a4e('0x1')](this,_0x5306df,_0xddf6e0)||this;return _0xc02a6d[_0x1a4e('0x4417')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0xe3f')](),_0xc02a6d[_0x1a4e('0x4311')](!0x0),_0xc02a6d;}return _0x3cf38c(_0x5306df,_0x42ee38),Object[_0x1a4e('0x2')](_0x5306df['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x149e2c['RenderTypeEnum'][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x5306df[_0x1a4e('0xa')]['init']=function(){this[_0x1a4e('0x4418')](),this['createPrimitive'](),this[_0x1a4e('0x42e6')]['add'](this[_0x1a4e('0x4312')]);},_0x5306df[_0x1a4e('0xa')][_0x1a4e('0x4313')]=function(){if(_0x42ee38[_0x1a4e('0xa')][_0x1a4e('0x4313')][_0x1a4e('0x1')](this),this[_0x1a4e('0x432f')]){var _0x5306df=Cesium[_0x1a4e('0x39a9')]['now'](),_0xddf6e0=Cesium['JulianDate'][_0x1a4e('0x409c')](_0x5306df,this[_0x1a4e('0x4417')]);this['_appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['time']=0x3e8*_0xddf6e0;}},_0x5306df['prototype']['getMaterialFS']=function(){return'';},_0x5306df[_0x1a4e('0xa')][_0x1a4e('0x3c57')]=function(){},_0x5306df['prototype']['createAppearence']=function(){this['_appearance']=new Cesium[(_0x1a4e('0x4419'))]({'renderState':{'blending':Cesium[_0x1a4e('0x3bb3')][_0x1a4e('0x3d38')],'depthTest':{'enabled':!0x0},'depthMask':!0x0},'translucent':!0x0,'material':this[_0x1a4e('0x3c57')](),'fragmentShaderSource':this[_0x1a4e('0x441a')](),'vertexShaderSource':this[_0x1a4e('0x441b')]()});},_0x5306df[_0x1a4e('0xa')][_0x1a4e('0x441a')]=function(){return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20varying\x20vec4\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20normalEC\x20=\x20faceforward(normalEC,\x20vec3(0.0,\x200.0,\x201.0),\x20-normalEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.normalEC\x20=\x20normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.st\x20=\x20v_st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20FLAT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20gl_FragColor\x20=\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x5306df[_0x1a4e('0xa')][_0x1a4e('0x441b')]=function(){return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DHigh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20position3DLow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec3\x20normal;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20attribute\x20vec4\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20vec2\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20attribute\x20float\x20batchId;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_positionEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec3\x20v_normalEC;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20varying\x20vec4\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20v_st;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20v_color\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_st\x20=\x20st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x20//position\x20in\x20eye\x20coordinates\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//normal\x20in\x20eye\x20coordinates\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x5306df['prototype'][_0x1a4e('0x441c')]=function(){var _0x42ee38=this[_0x1a4e('0x4323')],_0x5306df=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x42ee38['position'][_0x1a4e('0x1a1')],_0x42ee38['position'][_0x1a4e('0x1a2')],_0x42ee38[_0x1a4e('0x3553')]['alt']);return Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x5306df);},_0x5306df[_0x1a4e('0xa')]['createPolygonGeometry']=function(){var _0x42ee38=this['_dataItem'],_0x5306df=this[_0x1a4e('0x441c')](),_0xddf6e0=_0x42ee38[_0x1a4e('0x3b5d')];return null==this[_0x1a4e('0x4327')]&&(this[_0x1a4e('0x4327')]=new _0x29d816[(_0x1a4e('0x4328'))]()),this[_0x1a4e('0x4327')][_0x1a4e('0x441d')](_0xddf6e0,_0x5306df);},_0x5306df['prototype']['createPrimitive']=function(){var _0x42ee38=new Cesium[(_0x1a4e('0x3946'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x441e')]()}),'appearance':this['_appearance'],'asynchronous':!0x1});this[_0x1a4e('0x4312')]=_0x42ee38;},_0x5306df[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x5306df){_0x42ee38[_0x1a4e('0xa')]['updateAttribute'][_0x1a4e('0x1')](this,_0x5306df);var _0xddf6e0=this[_0x1a4e('0x4323')];if(this[_0x1a4e('0x4312')])switch(_0x5306df){case _0x1a4e('0x134'):this[_0x1a4e('0x432f')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x2fd919[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0xddf6e0[_0x1a4e('0x134')]);break;case'numberOfLines':this['_appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['numberOfLines']=_0xddf6e0[_0x1a4e('0x41d7')];break;case'duration':this['_appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['duration']=_0xddf6e0[_0x1a4e('0x17e')];break;case'image':this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['image']=_0xddf6e0[_0x1a4e('0x3cb4')];break;case'position':case'radius':this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]),this['renderObj'][_0x1a4e('0x42fe')]=this['_dataItem']['id'];break;case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]&&(this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0xddf6e0[_0x1a4e('0x3b2c')]&&_0xddf6e0[_0x1a4e('0x41a2')]);}},_0x5306df;}(_0x3dfda6[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/Icon/WarnIconRender.ts':function(_0x4ca26c,_0x5541e7,_0x1023a2){'use strict';_0x1023a2['r'](_0x5541e7),_0x1023a2['d'](_0x5541e7,_0x1a4e('0x41d5'),function(){return _0x233394;});var _0x1224ca,_0x24632d=_0x1023a2(_0x1a4e('0x441f')),_0x1d5632=_0x1023a2(_0x1a4e('0x3b38')),_0xb1eb52=(_0x1224ca=function(_0x4ca26c,_0x5541e7){return(_0x1224ca=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4ca26c,_0x5541e7){_0x4ca26c[_0x1a4e('0x295')]=_0x5541e7;}||function(_0x4ca26c,_0x5541e7){for(var _0x1023a2 in _0x5541e7)_0x5541e7[_0x1a4e('0xb')](_0x1023a2)&&(_0x4ca26c[_0x1023a2]=_0x5541e7[_0x1023a2]);})(_0x4ca26c,_0x5541e7);},function(_0x4ca26c,_0x5541e7){function _0x1023a2(){this[_0x1a4e('0x10')]=_0x4ca26c;}_0x1224ca(_0x4ca26c,_0x5541e7),_0x4ca26c['prototype']=null===_0x5541e7?Object[_0x1a4e('0x7')](_0x5541e7):(_0x1023a2[_0x1a4e('0xa')]=_0x5541e7['prototype'],new _0x1023a2());}),_0x233394=function(_0x4ca26c){function _0x5541e7(_0x5541e7,_0x1023a2){return _0x4ca26c[_0x1a4e('0x1')](this,_0x5541e7,_0x1023a2)||this;}return _0xb1eb52(_0x5541e7,_0x4ca26c),_0x5541e7[_0x1a4e('0xa')][_0x1a4e('0x4415')]=function(){return _0x1a4e('0x4420');},_0x5541e7[_0x1a4e('0xa')][_0x1a4e('0x3c57')]=function(){var _0x4ca26c=this[_0x1a4e('0x4323')];return new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':'Color','uniforms':{'gradient':_0x4ca26c[_0x1a4e('0x41da')],'image':_0x4ca26c[_0x1a4e('0x3cb4')],'centerColor':_0x1d5632[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x4ca26c['centerColor']),'numberOfLines':_0x4ca26c['numberOfLines'],'duration':_0x4ca26c['duration'],'color':_0x1d5632[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x4ca26c[_0x1a4e('0x134')]),'time':0x0},'source':this[_0x1a4e('0x4415')]()}});},_0x5541e7['prototype'][_0x1a4e('0x3dda')]=function(_0x5541e7){_0x4ca26c[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x5541e7);var _0x1023a2=this[_0x1a4e('0x4323')];if(this[_0x1a4e('0x4312')])switch(_0x5541e7){case _0x1a4e('0x41d9'):this['_appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x41d9')]=_0x1d5632[_0x1a4e('0x3b60')]['getColor'](_0x1023a2[_0x1a4e('0x41d9')]);break;case _0x1a4e('0x41da'):this[_0x1a4e('0x432f')]['material'][_0x1a4e('0x3b74')]['gradient']=_0x1023a2[_0x1a4e('0x41da')];}},_0x5541e7;}(_0x24632d[_0x1a4e('0x4416')]);},'./src/LayerManager/GraphicLayer/GraphicRender/Icon/WaveIconRender.ts':function(_0x50b458,_0x111aab,_0x29de8b){'use strict';_0x29de8b['r'](_0x111aab),_0x29de8b['d'](_0x111aab,'WaveIconRender',function(){return _0xdeb655;});var _0x430ae7,_0x26f0c2=_0x29de8b(_0x1a4e('0x441f')),_0xb5f569=_0x29de8b(_0x1a4e('0x3b38')),_0x2b47d6=(_0x430ae7=function(_0x50b458,_0x111aab){return(_0x430ae7=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x50b458,_0x111aab){_0x50b458['__proto__']=_0x111aab;}||function(_0x50b458,_0x111aab){for(var _0x29de8b in _0x111aab)_0x111aab[_0x1a4e('0xb')](_0x29de8b)&&(_0x50b458[_0x29de8b]=_0x111aab[_0x29de8b]);})(_0x50b458,_0x111aab);},function(_0x50b458,_0x111aab){function _0x29de8b(){this[_0x1a4e('0x10')]=_0x50b458;}_0x430ae7(_0x50b458,_0x111aab),_0x50b458[_0x1a4e('0xa')]=null===_0x111aab?Object[_0x1a4e('0x7')](_0x111aab):(_0x29de8b[_0x1a4e('0xa')]=_0x111aab[_0x1a4e('0xa')],new _0x29de8b());}),_0xdeb655=function(_0x50b458){function _0x111aab(_0x111aab,_0x29de8b){return _0x50b458['call'](this,_0x111aab,_0x29de8b)||this;}return _0x2b47d6(_0x111aab,_0x50b458),_0x111aab['prototype'][_0x1a4e('0x4415')]=function(){return _0x1a4e('0x4421');},_0x111aab[_0x1a4e('0xa')][_0x1a4e('0x3c57')]=function(){var _0x50b458=this[_0x1a4e('0x4323')];return new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':'Color','uniforms':{'gradient':_0x50b458[_0x1a4e('0x41da')],'numberOfLines':_0x50b458['numberOfLines'],'duration':_0x50b458[_0x1a4e('0x17e')],'color':_0xb5f569[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x50b458[_0x1a4e('0x134')]),'time':0x0},'source':this[_0x1a4e('0x4415')]()}});},_0x111aab[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x111aab){_0x50b458[_0x1a4e('0xa')]['updateAttribute'][_0x1a4e('0x1')](this,_0x111aab);var _0x29de8b=this['_dataItem'];if(this[_0x1a4e('0x4312')])switch(_0x111aab){case'gradient':this['_appearance'][_0x1a4e('0x3a41')]['uniforms']['gradient']=_0x29de8b[_0x1a4e('0x41da')];}},_0x111aab;}(_0x26f0c2[_0x1a4e('0x4416')]);},'./src/LayerManager/GraphicLayer/GraphicRender/JBLineRender.ts':function(_0x5010f2,_0x406824,_0x31f113){'use strict';_0x31f113['r'](_0x406824),_0x31f113['d'](_0x406824,'JBLineRender',function(){return _0x4ad4a3;});var _0x5ec3d2,_0x4689b1=_0x31f113('./src/LayerManager/GraphicLayer/GraphicRender/RenderObject.ts'),_0x1a2419=_0x31f113('./src/LayerManager/GraphicLayer/GraphicRender/RenderUtils.ts'),_0xba118c=_0x31f113(_0x1a4e('0x3f6c')),_0x2e1c31=_0x31f113(_0x1a4e('0x38d0')),_0x5b681b=_0x31f113(_0x1a4e('0x4422')),_0x36d86e=(_0x5ec3d2=function(_0x5010f2,_0x406824){return(_0x5ec3d2=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5010f2,_0x406824){_0x5010f2['__proto__']=_0x406824;}||function(_0x5010f2,_0x406824){for(var _0x31f113 in _0x406824)_0x406824[_0x1a4e('0xb')](_0x31f113)&&(_0x5010f2[_0x31f113]=_0x406824[_0x31f113]);})(_0x5010f2,_0x406824);},function(_0x5010f2,_0x406824){function _0x31f113(){this[_0x1a4e('0x10')]=_0x5010f2;}_0x5ec3d2(_0x5010f2,_0x406824),_0x5010f2[_0x1a4e('0xa')]=null===_0x406824?Object[_0x1a4e('0x7')](_0x406824):(_0x31f113[_0x1a4e('0xa')]=_0x406824[_0x1a4e('0xa')],new _0x31f113());}),_0x4ad4a3=function(_0x5010f2){function _0x406824(){return null!==_0x5010f2&&_0x5010f2['apply'](this,arguments)||this;}return _0x36d86e(_0x406824,_0x5010f2),Object[_0x1a4e('0x2')](_0x406824[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x4689b1[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x406824['prototype'][_0x1a4e('0x1fd')]=function(){this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x42e5'))]({'destroyPrimitives':!0x0});var _0x5010f2=this[_0x1a4e('0x4323')];this[_0x1a4e('0x4f0')](),this[_0x1a4e('0x7')](),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this['_renderObj']),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x5010f2['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x5010f2[_0x1a4e('0x2cb')];},_0x406824['prototype'][_0x1a4e('0x7')]=function(){var _0x5010f2=this[_0x1a4e('0x4323')];_0x5010f2[_0x1a4e('0x41e1')]==_0xba118c[_0x1a4e('0x3ff0')][_0x1a4e('0x41e8')]?this[_0x1a4e('0x3953')](Cesium['GroundPolylineGeometry'],Cesium[_0x1a4e('0x3941')]):_0x5010f2[_0x1a4e('0x41e1')]==_0xba118c['JBRenderModeEnum'][_0x1a4e('0x4204')]&&(this[_0x1a4e('0x3953')](Cesium['PolylineGeometry'],Cesium[_0x1a4e('0x19e6')]),_0x5010f2[_0x1a4e('0x41e0')]&&this[_0x1a4e('0x4423')]()),_0x5010f2['fillFlag']&&(_0x5010f2[_0x1a4e('0x41e1')]==_0xba118c[_0x1a4e('0x3ff0')][_0x1a4e('0x41e8')]?this[_0x1a4e('0x4424')](Cesium[_0x1a4e('0x3945')],Cesium[_0x1a4e('0x3946')]):this[_0x1a4e('0x4424')](Cesium['PolygonGeometry'],Cesium['Primitive']));},_0x406824['prototype'][_0x1a4e('0x4425')]=function(_0x5010f2){if(!this['_dataItem'][_0x1a4e('0x41e7')])return _0x5010f2;for(var _0x406824=0x0;_0x406824<_0x5010f2[_0x1a4e('0x1e')];_0x406824++)for(var _0x31f113=_0x406824+0x1;_0x31f113<_0x5010f2[_0x1a4e('0x1e')];_0x31f113++){var _0x5ec3d2=_0x5010f2[_0x406824],_0x4689b1=_0x5010f2[_0x31f113];_0x31f113-_0x406824>0x5||Math[_0x1a4e('0x65')](_0x5ec3d2['x']-_0x4689b1['x'])<0.1&&Math[_0x1a4e('0x65')](_0x5ec3d2['y']-_0x4689b1['y'])<0.1&&Math['abs'](_0x5ec3d2['z']-_0x4689b1['z'])<0.1&&(_0x5010f2['splice'](_0x31f113,0x1),_0x31f113--);}return _0x5010f2;},_0x406824['prototype']['addHeight']=function(_0x5010f2,_0x406824){for(var _0x31f113=_0x5010f2,_0x5ec3d2=0x0;_0x5ec3d2<_0x31f113['length'];_0x5ec3d2++)for(var _0x4689b1=0x0;_0x4689b1<_0x31f113[_0x5ec3d2][_0x1a4e('0x1e')];_0x4689b1++){var _0x1a2419=_0x2e1c31['GeoPoint'][_0x1a4e('0x3ab9')](_0x31f113[_0x5ec3d2][_0x4689b1]);_0x1a2419[_0x1a4e('0x398c')]=_0x406824,_0x31f113[_0x5ec3d2]['splice'](_0x4689b1,0x1,_0x2e1c31['GeoPoint'][_0x1a4e('0x3949')](_0x1a2419));}return _0x31f113;},_0x406824['prototype'][_0x1a4e('0x3953')]=function(_0x5010f2,_0x406824){var _0x31f113=this[_0x1a4e('0x4323')],_0x5ec3d2=[],_0x4689b1=this[_0x1a4e('0x13f')][_0x1a4e('0x1e')];this['lineAppearance']=new Cesium[(_0x1a4e('0x3b81'))]({'material':Cesium[_0x1a4e('0x3a3b')]['fromType']('Color'),'translucent':!0x1}),_0x31f113['lineColor']?this[_0x1a4e('0x3b7f')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x1a2419[_0x1a4e('0x3b60')]['getColor'](_0x31f113[_0x1a4e('0x40a0')]):_0x31f113['color']&&(this[_0x1a4e('0x3b7f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x1a2419[_0x1a4e('0x3b60')]['getColor'](_0x31f113[_0x1a4e('0x134')]));var _0xba118c=[];_0xba118c=_0x5010f2==Cesium['PolylineGeometry']?this[_0x1a4e('0x4426')](this[_0x1a4e('0x13f')],_0x31f113[_0x1a4e('0x152')]):this['result'];for(var _0x2e1c31=0x0;_0x2e1c31<_0x4689b1;_0x2e1c31++)_0x5ec3d2[_0x1a4e('0x46')](new Cesium['GeometryInstance']({'geometry':new _0x5010f2({'positions':_0xba118c[_0x2e1c31],'width':_0x31f113[_0x1a4e('0x4191')]})}));this[_0x1a4e('0x4427')]=new _0x406824({'geometryInstances':_0x5ec3d2,'appearance':this[_0x1a4e('0x3b7f')],'asynchronous':!0x1}),this['_renderObj']['add'](this['linePrimitive']);},_0x406824[_0x1a4e('0xa')][_0x1a4e('0x4424')]=function(_0x5010f2,_0x406824){var _0x31f113=this[_0x1a4e('0x4323')],_0x5ec3d2=[];this[_0x1a4e('0x4428')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium['Material']({'fabric':{'type':'Image','uniforms':{'image':this['getColorRamp']([_0x31f113['fillStartColor'],_0x31f113[_0x1a4e('0x41e4')]],[0x0,0x1],_0x31f113[_0x1a4e('0x41e5')])}}}),'translucent':!0x0});for(var _0x4689b1=0x0;_0x4689b10x0&&_0x2e2d60[_0x2e2d60[_0x1a4e('0x1e')]-0x1])&&(0x6===_0x45be9a[0x0]||0x2===_0x45be9a[0x0])){_0x2bf9c8=0x0;continue;}if(0x3===_0x45be9a[0x0]&&(!_0x2e2d60||_0x45be9a[0x1]>_0x2e2d60[0x0]&&_0x45be9a[0x1]<_0x2e2d60[0x3])){_0x2bf9c8['label']=_0x45be9a[0x1];break;}if(0x6===_0x45be9a[0x0]&&_0x2bf9c8['label']<_0x2e2d60[0x1]){_0x2bf9c8[_0x1a4e('0x1bc')]=_0x2e2d60[0x1],_0x2e2d60=_0x45be9a;break;}if(_0x2e2d60&&_0x2bf9c8[_0x1a4e('0x1bc')]<_0x2e2d60[0x2]){_0x2bf9c8[_0x1a4e('0x1bc')]=_0x2e2d60[0x2],_0x2bf9c8['ops']['push'](_0x45be9a);break;}_0x2e2d60[0x2]&&_0x2bf9c8[_0x1a4e('0x166a')]['pop'](),_0x2bf9c8[_0x1a4e('0x1669')]['pop']();continue;}_0x45be9a=_0x4c9906[_0x1a4e('0x1')](_0x1d0aef,_0x2bf9c8);}catch(_0x5b6092){_0x45be9a=[0x6,_0x5b6092],_0x55ff6c=0x0;}finally{_0x466c9d=_0x2e2d60=0x0;}if(0x5&_0x45be9a[0x0])throw _0x45be9a[0x1];return{'value':_0x45be9a[0x0]?_0x45be9a[0x1]:void 0x0,'done':!0x0};}([_0x45be9a,_0x990b56]);};}},_0xf7b0f5=function(_0x1d0aef){var _0x4c9906=_0x1a4e('0x68')==typeof Symbol&&_0x1d0aef[Symbol[_0x1a4e('0x335')]],_0x466c9d=0x0;return _0x4c9906?_0x4c9906[_0x1a4e('0x1')](_0x1d0aef):{'next':function(){return _0x1d0aef&&_0x466c9d>=_0x1d0aef[_0x1a4e('0x1e')]&&(_0x1d0aef=void 0x0),{'value':_0x1d0aef&&_0x1d0aef[_0x466c9d++],'done':!_0x1d0aef};}};},_0x11f4d8=function(){function _0x1d0aef(_0x1d0aef){this['textOptions']={'x':0x6c,'y':0x3c,'width':0x1a0,'height':0xc0,'backgroundColor':_0x1a4e('0x4431'),'fontSize':0x5a,'textX':0x6c,'textY':0xca,'textColor':_0x1a4e('0x38d4'),'textLength':0x1a0,'lengthAdjust':'spacingAndGlyphs','flagInnerStrokeWidth':0x0,'flagInnerStrokeColor':'transparent'},this['_textTail']=_0x1a4e('0x4432'),this[_0x1a4e('0x4433')]=window['GV'][_0x1a4e('0x4038')][_0x1a4e('0x4434')]+_0x1a4e('0x4435')+_0x1d0aef,this[_0x1a4e('0x4436')]=_0x1d0aef;}return _0x1d0aef[_0x1a4e('0xa')][_0x1a4e('0x4437')]=function(_0x1d0aef,_0x4c9906){return _0xfb3146(this,void 0x0,void 0x0,function(){return _0x3a90dc(this,function(_0x466c9d){return this['_fullTextSvgContent']=this[_0x1a4e('0x4438')](_0x4c9906,_0x1d0aef)+_0x1d0aef+this[_0x1a4e('0x4439')],this[_0x1a4e('0x34b7')](),[0x2];});});},_0x1d0aef['prototype']['insertText']=function(){var _0x1d0aef=this[_0x1a4e('0x443a')][_0x1a4e('0x471')]('<');this[_0x1a4e('0x443a')][_0x1a4e('0x3e')]('text')<0x0?(this['_newStr']=this[_0x1a4e('0x443a')][_0x1a4e('0x78')](0x0,_0x1d0aef)+this['_fullTextSvgContent']+this[_0x1a4e('0x443a')]['slice'](_0x1d0aef),this[_0x1a4e('0x443b')]=this['exportSVG'](this['_newStr'])):(this[_0x1a4e('0x443a')]=this['_newStr']['slice'](0x0,this[_0x1a4e('0x443a')][_0x1a4e('0x3e')]('/>')+0x2)+this[_0x1a4e('0x443c')]+this[_0x1a4e('0x443a')][_0x1a4e('0x78')](_0x1d0aef),this[_0x1a4e('0x443b')]=this[_0x1a4e('0x443d')](this[_0x1a4e('0x443a')]));},_0x1d0aef['prototype']['getTextElements']=function(_0x1d0aef,_0x4c9906){Object[_0x1a4e('0x200')](this[_0x1a4e('0x443e')],_0x1d0aef);return 0x5a*_0x4c9906[_0x1a4e('0x1e')]>0x1a0?_0x1a4e('0x443f')+(this[_0x1a4e('0x443e')]['x']+this['textOptions'][_0x1a4e('0x41ff')]/0x2)+_0x1a4e('0x4440')+(this[_0x1a4e('0x443e')]['y']+this[_0x1a4e('0x443e')]['flagInnerStrokeWidth']/0x2)+_0x1a4e('0x4441')+(this[_0x1a4e('0x443e')]['width']-this[_0x1a4e('0x443e')][_0x1a4e('0x41ff')])+'\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x22'+(this[_0x1a4e('0x443e')][_0x1a4e('0x152')]-this[_0x1a4e('0x443e')][_0x1a4e('0x41ff')])+_0x1a4e('0x4442')+this[_0x1a4e('0x443e')][_0x1a4e('0x3ef1')]+_0x1a4e('0x4443')+this[_0x1a4e('0x443e')][_0x1a4e('0x41ff')]+_0x1a4e('0x4444')+this[_0x1a4e('0x443e')][_0x1a4e('0x4200')]+_0x1a4e('0x4445')+_0x1d0aef[_0x1a4e('0x41f8')]+'\x27,sans-serif\x22\x20style=\x22font-size:'+this[_0x1a4e('0x443e')][_0x1a4e('0x4207')]+'px\x22\x20x=\x22'+this['textOptions'][_0x1a4e('0x4446')]+'\x22\x20y=\x22'+this['textOptions'][_0x1a4e('0x4447')]+'\x22\x20fill=\x22'+this[_0x1a4e('0x443e')]['textColor']+_0x1a4e('0x4448')+this[_0x1a4e('0x443e')][_0x1a4e('0x41c2')]+_0x1a4e('0x4449')+this[_0x1a4e('0x443e')][_0x1a4e('0x444a')]+'\x22>':_0x1a4e('0x443f')+(this[_0x1a4e('0x443e')]['x']+this['textOptions'][_0x1a4e('0x41ff')]/0x2)+_0x1a4e('0x4440')+(this[_0x1a4e('0x443e')]['y']+this[_0x1a4e('0x443e')][_0x1a4e('0x41ff')]/0x2)+_0x1a4e('0x4441')+(this[_0x1a4e('0x443e')]['width']-this[_0x1a4e('0x443e')][_0x1a4e('0x41ff')])+'\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x22'+(this['textOptions']['height']-this[_0x1a4e('0x443e')][_0x1a4e('0x41ff')])+_0x1a4e('0x4442')+this[_0x1a4e('0x443e')]['backgroundColor']+_0x1a4e('0x4443')+this[_0x1a4e('0x443e')][_0x1a4e('0x41ff')]+';stroke:'+this[_0x1a4e('0x443e')]['flagInnerStrokeColor']+'\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20';},_0x1d0aef[_0x1a4e('0xa')][_0x1a4e('0x444d')]=function(_0x4c9906,_0x466c9d,_0x55ff6c){return _0xfb3146(this,void 0x0,void 0x0,function(){var _0x2e2d60,_0x45be9a,_0x2bf9c8,_0x990b56,_0x5f0182;return _0x3a90dc(this,function(_0x21e5a0){switch(_0x21e5a0[_0x1a4e('0x1bc')]){case 0x0:return this[_0x1a4e('0x4433')]?this[_0x1a4e('0x444e')]?[0x3,0x4]:_0x1d0aef[_0x1a4e('0x444f')][_0x1a4e('0x178')](this[_0x1a4e('0x4436')])?(this['_svgStr']=_0x1d0aef[_0x1a4e('0x444f')][_0x1a4e('0x179')](this[_0x1a4e('0x4436')]),[0x3,0x4]):[0x3,0x1]:[0x2];case 0x1:return[0x4,fetch(this[_0x1a4e('0x4433')])];case 0x2:return _0x2e2d60=_0x21e5a0[_0x1a4e('0x128a')](),_0x45be9a=this,[0x4,_0x2e2d60[_0x1a4e('0xe04')]()];case 0x3:_0x45be9a[_0x1a4e('0x444e')]=_0x21e5a0['sent'](),_0x1d0aef[_0x1a4e('0x444f')][_0x1a4e('0x17a')](this[_0x1a4e('0x4436')],this[_0x1a4e('0x444e')]),_0x21e5a0[_0x1a4e('0x1bc')]=0x4;case 0x4:return this['_newStr']=this['_svgStr'][_0x1a4e('0x115')](/rgb\(255,0,0\)/g,_0x4c9906),this[_0x1a4e('0x443a')]=this[_0x1a4e('0x443a')][_0x1a4e('0x115')](/white/g,_0x4c9906),(_0x2bf9c8=document[_0x1a4e('0xe3d')]('div'))['innerHTML']=this[_0x1a4e('0x443a')],_0x990b56=_0x2bf9c8['querySelectorAll'](_0x1a4e('0x41c7')),Array[_0x1a4e('0x1b5')](_0x990b56)[_0x1a4e('0x3b')](function(_0x1d0aef){_0x1d0aef[_0x1a4e('0x41c8')](_0x1a4e('0x22c'))&&_0x1a4e('0x60')!=_0x1d0aef[_0x1a4e('0x41c8')](_0x1a4e('0x22c'))&&_0x1d0aef[_0x1a4e('0x3935')](_0x1a4e('0x22c'),_0x4c9906),_0x1d0aef['setAttribute']('stroke-width',String(Number(_0x1d0aef[_0x1a4e('0x41c8')](_0x1a4e('0x4450')))+(_0x466c9d||0x0))),_0x1d0aef[_0x1a4e('0x3935')]('stroke',_0x55ff6c);}),_0x5f0182=_0x2bf9c8['innerHTML'],this[_0x1a4e('0x443a')]=_0x5f0182,this[_0x1a4e('0x443c')]&&this[_0x1a4e('0x34b7')](),this[_0x1a4e('0x443b')]=this[_0x1a4e('0x443d')](this[_0x1a4e('0x443a')]),[0x2];}});});},_0x1d0aef['prototype']['exportSVG']=function(_0x1d0aef){var _0x4c9906=_0x1a4e('0x41c9');return _0x4c9906+=btoa(unescape(encodeURIComponent(_0x1d0aef)));},_0x1d0aef[_0x1a4e('0x444f')]=new Map(),_0x1d0aef[_0x1a4e('0x4451')]=[{'label':'间隔','value':_0x1a4e('0x4452')},{'label':'拉伸','value':_0x1a4e('0x4453')}],_0x1d0aef;}(),_0x3b843f=function(_0x1d0aef){function _0x4c9906(){var _0x4c9906=null!==_0x1d0aef&&_0x1d0aef[_0x1a4e('0x8b')](this,arguments)||this;return _0x4c9906[_0x1a4e('0x4454')]=[_0x1a4e('0x4455'),'10-2802-0','',_0x1a4e('0x4456')],_0x4c9906[_0x1a4e('0x4457')]=0xc8,_0x4c9906[_0x1a4e('0x4458')]=0xc8,_0x4c9906;}return _0x21e5a0(_0x4c9906,_0x1d0aef),Object[_0x1a4e('0x2')](_0x4c9906['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x2e2d60[_0x1a4e('0x4318')][_0x1a4e('0x4459')];},'enumerable':!0x0,'configurable':!0x0}),_0x4c9906['prototype']['init']=function(){var _0x1d0aef=this[_0x1a4e('0x4323')];switch(this['svgHelper']=new _0x11f4d8(_0x1d0aef[_0x1a4e('0x1617')]),this[_0x1a4e('0x445a')]=new _0x5f0182[(_0x1a4e('0x38da'))](_0x1d0aef[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x1d0aef['position'][_0x1a4e('0x1a2')],_0x1d0aef[_0x1a4e('0x3553')]['alt']),_0x1d0aef[_0x1a4e('0x41e1')]){case _0x1a4e('0x4204'):return;case'RASTER':this['renderByGrid'](_0x1d0aef);break;case _0x1a4e('0x4202'):this[_0x1a4e('0x445b')](_0x1d0aef);}var _0x4c9906=this[_0x1a4e('0x38fa')];_0x4c9906[_0x1a4e('0x445c')]||function(){_0x4c9906[_0x1a4e('0x445c')]=new Cesium[(_0x1a4e('0x39cd'))](_0x4c9906[_0x1a4e('0x38d6')][_0x1a4e('0x3934')]);var _0x1d0aef,_0x466c9d=_0x4c9906['scene'];_0x4c9906[_0x1a4e('0x445c')][_0x1a4e('0x3981')](function(_0x55ff6c){var _0x2e2d60=_0x55ff6c,_0x45be9a=_0x466c9d[_0x1a4e('0x106e')](_0x2e2d60[_0x1a4e('0x3553')]);_0x45be9a&&_0x45be9a[_0x1a4e('0x8f7')]&&_0x45be9a[_0x1a4e('0x8f7')][_0x1a4e('0x42fe')]&&(_0x1d0aef=_0x4c9906[_0x1a4e('0x3973')]['getById'](_0x45be9a[_0x1a4e('0x8f7')][_0x1a4e('0x42fe')]))&&_0x1d0aef[_0x1a4e('0x41fb')]&&_0x1d0aef[_0x1a4e('0x41fe')]&&(_0x466c9d[_0x1a4e('0x3e64')]['enableRotate']=!0x1,_0x466c9d[_0x1a4e('0x3e64')]['enableTranslate']=!0x1);},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39cf')]),_0x4c9906[_0x1a4e('0x445c')][_0x1a4e('0x3981')](function(_0x4c9906){if(_0x1d0aef&&_0x1d0aef[_0x1a4e('0x41fb')]&&_0x1d0aef[_0x1a4e('0x41fe')]){var _0x466c9d=_0x4c9906,_0x55ff6c=_0x466c9d[_0x1a4e('0x34f8')]['x']-_0x466c9d[_0x1a4e('0x34f7')]['x'],_0x2e2d60=_0x466c9d[_0x1a4e('0x34f8')]['y']-_0x466c9d[_0x1a4e('0x34f7')]['y'];_0x1d0aef['imageOffset']['x']+=_0x55ff6c,_0x1d0aef[_0x1a4e('0x41ef')]['y']+=_0x2e2d60,_0x1d0aef[_0x1a4e('0x41ef')]=_0x1d0aef[_0x1a4e('0x41ef')],_0x1d0aef[_0x1a4e('0x3ef9')]()['updateTrailLineCanvas'](_0x1d0aef);}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]),_0x4c9906[_0x1a4e('0x445c')][_0x1a4e('0x3981')](function(_0x4c9906){_0x1d0aef=void 0x0,_0x466c9d[_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x0,_0x466c9d['screenSpaceCameraController'][_0x1a4e('0x3e6f')]=!0x0;},Cesium[_0x1a4e('0x39ce')]['LEFT_UP']);}();},_0x4c9906[_0x1a4e('0xa')]['renderByBillboard']=function(_0x1d0aef){var _0x4c9906=this;this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x4312')]={},this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x1d0aef['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x1d0aef[_0x1a4e('0x2cb')],this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0x1d0aef[_0x1a4e('0x3b2c')]);var _0x466c9d=this[_0x1a4e('0x42e6')]['labelCollection']['add']({'show':_0x1d0aef[_0x1a4e('0x3b2c')],'position':Cesium['Cartesian3']['fromDegrees'](_0x1d0aef[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],_0x1d0aef[_0x1a4e('0x3553')]['lat'],_0x1d0aef[_0x1a4e('0x3553')][_0x1a4e('0x398c')]),'text':_0x1d0aef[_0x1a4e('0xe04')],'font':_0x1d0aef[_0x1a4e('0x4192')]+'px\x20'+_0x1d0aef[_0x1a4e('0x41f1')],'fillColor':_0x2bf9c8[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x1d0aef[_0x1a4e('0x40a1')]),'showBackground':!0x0,'backgroundColor':_0x2bf9c8['RenderUtils']['getColor'](_0x1d0aef[_0x1a4e('0x41f2')]),'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](_0x1d0aef[_0x1a4e('0x41f0')]['x'],_0x1d0aef[_0x1a4e('0x41f0')]['y']),'horizontalOrigin':Cesium['HorizontalOrigin']['CENTER'],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')][_0x1a4e('0x445d')],'scale':_0x1d0aef[_0x1a4e('0x41f3')],'translucencyByDistance':void 0x0,'heightReference':Cesium[_0x1a4e('0x394a')][_0x1a4e('0x24a')]});_0x466c9d[_0x1a4e('0x42fe')]=_0x1d0aef['id'],this['_renderObj'][_0x1a4e('0x1bc')]={'type':_0x2e2d60[_0x1a4e('0x4318')]['Lable'],'drawItem':_0x466c9d},this[_0x1a4e('0x445e')][_0x1a4e('0x444d')](_0x1d0aef[_0x1a4e('0x134')],_0x1d0aef[_0x1a4e('0x41ee')],_0x1d0aef[_0x1a4e('0x41ed')])[_0x1a4e('0xdf8')](function(){_0x4c9906[_0x1a4e('0x4454')][_0x1a4e('0xae5')](_0x1d0aef[_0x1a4e('0x1617')])&&_0x4c9906['svgHelper'][_0x1a4e('0x4437')](_0x1d0aef[_0x1a4e('0x41f5')],{'x':_0x1a4e('0x4456')==_0x1d0aef[_0x1a4e('0x1617')]?0x2b:0x14,'y':0x14,'width':'10-2803-0'==_0x1d0aef[_0x1a4e('0x1617')]?0x11f:0x140,'height':'10-2803-0'==_0x1d0aef[_0x1a4e('0x1617')]?0x84:0x96,'backgroundColor':_0x1d0aef[_0x1a4e('0x41fa')],'fontSize':_0x1d0aef[_0x1a4e('0x41f6')],'textX':(_0x1d0aef[_0x1a4e('0x1617')],0x3c),'textY':_0x1a4e('0x4456')==_0x1d0aef[_0x1a4e('0x1617')]?0x78:0x80,'textColor':_0x1d0aef[_0x1a4e('0x41f9')],'textLength':0x104,'lengthAdjust':_0x1a4e('0x4453'),'flagTextSpace':_0x1d0aef['flagTextSpace'],'flagTextFont':_0x1d0aef[_0x1a4e('0x41f8')],'flagInnerStrokeWidth':_0x1d0aef[_0x1a4e('0x41ff')],'flagInnerStrokeColor':_0x1d0aef['flagInnerStrokeColor']}),_0x4c9906[_0x1a4e('0x444e')]=_0x4c9906[_0x1a4e('0x445e')][_0x1a4e('0x443b')];var _0x466c9d=document[_0x1a4e('0xe3d')](_0x1a4e('0x3eef'));_0x466c9d['src']=_0x4c9906[_0x1a4e('0x444e')],_0x466c9d[_0x1a4e('0x1336')]=function(){_0x4c9906['originImgWidth']=_0x466c9d[_0x1a4e('0x3936')],_0x4c9906[_0x1a4e('0x4458')]=_0x466c9d[_0x1a4e('0x152')];var _0x55ff6c,_0x45be9a,_0x2bf9c8=_0x1d0aef[_0x1a4e('0x220')]/_0x4c9906[_0x1a4e('0x4457')],_0x990b56=_0x4c9906[_0x1a4e('0x445f')]();_0x55ff6c=_0x990b56[0x0],_0x45be9a=_0x990b56[0x1];var _0x5f0182=_0x4c9906[_0x1a4e('0x42e6')][_0x1a4e('0x4460')][_0x1a4e('0x177')]({'position':Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x1d0aef[_0x1a4e('0x3553')]['lon'],_0x1d0aef[_0x1a4e('0x3553')][_0x1a4e('0x1a2')],_0x1d0aef[_0x1a4e('0x3553')][_0x1a4e('0x398c')]),'image':_0x4c9906[_0x1a4e('0x444e')],'scale':_0x1d0aef['scale'],'width':_0x1d0aef[_0x1a4e('0x220')],'height':_0x466c9d[_0x1a4e('0x152')]*_0x2bf9c8,'rotation':-Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x1d0aef[_0x1a4e('0x3d2e')]),'show':_0x1d0aef[_0x1a4e('0x3b2c')],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](_0x1d0aef[_0x1a4e('0x41ef')]['x']+_0x55ff6c,_0x1d0aef[_0x1a4e('0x41ef')]['y']+_0x45be9a)});_0x5f0182[_0x1a4e('0x42fe')]=_0x1d0aef['id'],_0x4c9906[_0x1a4e('0x4312')][_0x1a4e('0x412d')]={'type':_0x2e2d60[_0x1a4e('0x4318')][_0x1a4e('0x4461')],'drawItem':_0x5f0182},_0x4c9906[_0x1a4e('0x4462')](_0x4c9906[_0x1a4e('0x4323')]);};});},_0x4c9906[_0x1a4e('0xa')]['updateTrailLineCanvas']=function(_0x1d0aef){if(_0x1d0aef[_0x1a4e('0x41fb')]&&(this[_0x1a4e('0x4463')]=this[_0x1a4e('0x4464')](_0x1d0aef),this[_0x1a4e('0x4463')])){this[_0x1a4e('0x4465')]=_0x5f0182[_0x1a4e('0x38da')][_0x1a4e('0x3ec4')](this[_0x1a4e('0x445a')],this[_0x1a4e('0x38fa')]);var _0x4c9906=this[_0x1a4e('0x4463')]['x']-this[_0x1a4e('0x4465')]['x'],_0x466c9d=this['trailLineEndPosition']['y']-this[_0x1a4e('0x4465')]['y'];if(Math[_0x1a4e('0x65')](_0x4c9906)>0xbb8||Math[_0x1a4e('0x65')](_0x466c9d)>0xbb8)this['billboardCollection']&&(this['_renderRoot'][_0x1a4e('0x4466')][_0x1a4e('0x82')](this['billboardCollection']),this[_0x1a4e('0x4460')]=null);else{this[_0x1a4e('0x4460')]&&this[_0x1a4e('0x42e6')][_0x1a4e('0x4466')][_0x1a4e('0x82')](this['billboardCollection']),this[_0x1a4e('0x4460')]=new Cesium[(_0x1a4e('0x4393'))]();var _0x55ff6c=this[_0x1a4e('0x4460')][_0x1a4e('0x177')]({'id':_0x1d0aef['id'],'show':_0x1d0aef['renderVisible']&&_0x1d0aef[_0x1a4e('0x41fb')],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](0x0,0x0),'eyeOffset':new Cesium['Cartesian3'](0x0,0x0,0x0),'horizontalOrigin':Cesium[_0x1a4e('0x440b')][_0x1a4e('0x445d')],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')][_0x1a4e('0x445d')],'alignedAxis':Cesium[_0x1a4e('0x393e')][_0x1a4e('0xea7')]});_0x55ff6c[_0x1a4e('0x42fe')]=_0x1d0aef['id'],_0x55ff6c[_0x1a4e('0x3553')]=_0x5f0182[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this['trailLineStartGeoPosition']),this[_0x1a4e('0x4312')][_0x1a4e('0x4467')]={'type':_0x2e2d60[_0x1a4e('0x4318')]['Billboard'],'drawItem':_0x55ff6c},this[_0x1a4e('0x42e6')]['primitiveRoot'][_0x1a4e('0x177')](this[_0x1a4e('0x4460')]);var _0x45be9a=document[_0x1a4e('0xe3d')]('canvas');_0x45be9a['width']=Math[_0x1a4e('0x65')](_0x4c9906),_0x45be9a[_0x1a4e('0x152')]=Math['abs'](_0x466c9d);var _0x2bf9c8=_0x45be9a['getContext']('2d');_0x2bf9c8['beginPath'](),_0x2bf9c8[_0x1a4e('0x4191')]=_0x1d0aef[_0x1a4e('0x41fd')],_0x2bf9c8[_0x1a4e('0x3df0')]=_0x1d0aef[_0x1a4e('0x41fc')],_0x2bf9c8['moveTo'](_0x4c9906<0x0?-_0x4c9906:0x0,_0x466c9d<0x0?-_0x466c9d:0x0),_0x2bf9c8[_0x1a4e('0x439d')](_0x4c9906<0x0?0x0:_0x4c9906,_0x466c9d<0x0?0x0:_0x466c9d),_0x2bf9c8[_0x1a4e('0x3df3')](),this['_renderObj'][_0x1a4e('0x4467')][_0x1a4e('0x4468')][_0x1a4e('0x4147')]=new Cesium[(_0x1a4e('0x3952'))](0.5*_0x4c9906,0.5*_0x466c9d),this[_0x1a4e('0x4312')]['trailLine'][_0x1a4e('0x4468')]['image']=_0x45be9a,this['_renderObj']['trailLine']['drawItem'][_0x1a4e('0x3a23')]=_0x1d0aef['visible']&&_0x1d0aef['trailLineShow'];}}},_0x4c9906['prototype'][_0x1a4e('0x4464')]=function(_0x1d0aef){if(_0x1d0aef[_0x1a4e('0x41fb')]){if([_0x1a4e('0x4455'),'10-2802-0','',_0x1a4e('0x4456')][_0x1a4e('0xae5')](_0x1d0aef[_0x1a4e('0x1617')])){var _0x4c9906;if(!(_0x4c9906=_0x5f0182[_0x1a4e('0x38da')][_0x1a4e('0x3ec4')](_0x1d0aef['position'],this[_0x1a4e('0x38fa')])))return;var _0x466c9d=_0x1a4e('0x4456')==_0x1d0aef[_0x1a4e('0x1617')]?0x7d:0x82,_0x55ff6c=_0x1a4e('0x4456')==_0x1d0aef[_0x1a4e('0x1617')]?0x8c:0x96;_0x55ff6c*=_0x1d0aef[_0x1a4e('0x220')]/0xc8,_0x1d0aef[_0x1a4e('0x3d2e')]<=0xb4?_0x466c9d-=_0x1d0aef[_0x1a4e('0x3d2e')]:_0x466c9d=0x168-_0x1d0aef[_0x1a4e('0x3d2e')]+_0x466c9d;var _0x2e2d60,_0x45be9a,_0x2bf9c8=this['getCurrectOffset']();return _0x2e2d60=_0x2bf9c8[0x0],_0x45be9a=_0x2bf9c8[0x1],{'x':_0x4c9906['x']+_0x2e2d60+_0x1d0aef[_0x1a4e('0x41ef')]['x']+_0x55ff6c*Math[_0x1a4e('0x90')](_0x466c9d*Math['PI']/0xb4),'y':_0x4c9906['y']+_0x45be9a+_0x1d0aef[_0x1a4e('0x41ef')]['y']+_0x55ff6c*Math[_0x1a4e('0x8f')](_0x466c9d*Math['PI']/0xb4)};}if(_0x4c9906=_0x5f0182[_0x1a4e('0x38da')][_0x1a4e('0x3ec4')](_0x1d0aef[_0x1a4e('0x3553')],this[_0x1a4e('0x38fa')])){var _0x990b56=_0x1d0aef[_0x1a4e('0x220')]/this[_0x1a4e('0x4457')];return{'x':_0x4c9906['x']+_0x1d0aef[_0x1a4e('0x41ef')]['x']+_0x990b56*this[_0x1a4e('0x4457')]/0x2,'y':_0x4c9906['y']+_0x1d0aef[_0x1a4e('0x41ef')]['y']-_0x990b56*this[_0x1a4e('0x4458')]/0x2};}}},_0x4c9906[_0x1a4e('0xa')][_0x1a4e('0x4469')]=function(_0x1d0aef){var _0x4c9906=this;this['modifySvg'](_0x1d0aef[_0x1a4e('0x1617')],_0x1d0aef['color'],_0x1d0aef['strokeWidth'],_0x1d0aef['strokeColor'],function(_0x1d0aef){_0x4c9906[_0x1a4e('0x444e')]=_0x1d0aef,_0x4c9906[_0x1a4e('0x432f')]&&(_0x4c9906[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['image']=_0x4c9906[_0x1a4e('0x444e')]);});var _0x466c9d=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium['Material']({'fabric':{'type':_0x1a4e('0x1186'),'uniforms':{'image':this['_svgStr']?this[_0x1a4e('0x444e')]:''}}})});this['_appearance']=_0x466c9d,this[_0x1a4e('0x446a')]=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x446b'))]({'rectangle':Cesium['Rectangle'][_0x1a4e('0x38db')](_0x1d0aef[_0x1a4e('0x3553')][_0x1a4e('0x1a1')]-_0x1d0aef['size']/0x32,_0x1d0aef[_0x1a4e('0x3553')][_0x1a4e('0x1a2')]-_0x1d0aef[_0x1a4e('0x220')]/0x32,_0x1d0aef['position'][_0x1a4e('0x1a1')]+_0x1d0aef[_0x1a4e('0x220')]/0x32,_0x1d0aef[_0x1a4e('0x3553')][_0x1a4e('0x1a2')]+_0x1d0aef[_0x1a4e('0x220')]/0x32),'height':_0x1d0aef[_0x1a4e('0x152')],'vertexFormat':Cesium[_0x1a4e('0x446c')][_0x1a4e('0x446d')],'rotation':3.14*_0x1d0aef['rotation']/0xb4,'stRotation':3.14*_0x1d0aef[_0x1a4e('0x3d2e')]/0xb4,'ellipsoid':Cesium[_0x1a4e('0x3ab8')]['WGS84']}),'id':'rectangle'}),this['_renderObj']=new Cesium[(_0x1a4e('0x3946'))]({'geometryInstances':[this[_0x1a4e('0x446a')]],'appearance':_0x466c9d,'show':_0x1d0aef[_0x1a4e('0x41a2')],'asynchronous':!0x1}),this['_renderObj'][_0x1a4e('0x42fe')]=_0x1d0aef['id'],this[_0x1a4e('0x42e6')][_0x1a4e('0x4466')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]);},_0x4c9906[_0x1a4e('0xa')]['createAppearence']=function(){return new Cesium[(_0x1a4e('0x3ab2'))]({'flat':!0x0,'translucent':!0x1});},_0x4c9906[_0x1a4e('0xa')][_0x1a4e('0x446e')]=function(_0x1d0aef){window[_0x1a4e('0x446f')]?(this['_vectorPrimitiveCollection']=[],this[_0x1a4e('0x4470')](_0x1d0aef)):console['log']('err\x20need\x20THREE');},_0x4c9906[_0x1a4e('0xa')][_0x1a4e('0x4470')]=function(_0x1d0aef){var _0x4c9906=this,_0x466c9d=new window[(_0x1a4e('0x446f'))][(_0x1a4e('0x4471'))]();window['GV'][_0x1a4e('0x4038')][_0x1a4e('0x4472')](_0x1d0aef[_0x1a4e('0x1617')],function(_0x55ff6c){for(var _0x2e2d60=_0x466c9d['parse'](_0x55ff6c)[_0x1a4e('0x27de')],_0x45be9a=0x0;_0x45be9a<_0x2e2d60['length'];_0x45be9a++)for(var _0x2bf9c8=_0x2e2d60[_0x45be9a][_0x1a4e('0x4473')](!0x0),_0x990b56=0x0;_0x990b56<_0x2bf9c8[_0x1a4e('0x1e')];_0x990b56++){var _0x5f0182=_0x2bf9c8[_0x990b56];_0x4c9906[_0x1a4e('0x4474')](_0x5f0182,_0x1d0aef);}});},_0x4c9906[_0x1a4e('0xa')]['analysis']=function(_0x1d0aef,_0x4c9906){var _0x466c9d=[];_0x1d0aef['curves'][_0x1a4e('0x21')](function(_0x1d0aef){switch(_0x1d0aef[_0x1a4e('0x40')]){case _0x1a4e('0x4475'):var _0x55ff6c=_0x990b56[_0x1a4e('0x3990')][_0x1a4e('0x4142')]([new _0x5f0182[(_0x1a4e('0x38da'))](_0x1d0aef['v0']['x']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],-_0x1d0aef['v0']['y']/0xb4+_0x4c9906['position'][_0x1a4e('0x1a2')]),new _0x5f0182[(_0x1a4e('0x38da'))](_0x1d0aef['v1']['x']/0xb4+_0x4c9906[_0x1a4e('0x3553')]['lon'],-_0x1d0aef['v1']['y']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a2')]),new _0x5f0182[(_0x1a4e('0x38da'))](_0x1d0aef['v2']['x']/0xb4+_0x4c9906['position'][_0x1a4e('0x1a1')],-_0x1d0aef['v2']['y']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a2')])],0xd);_0x55ff6c[_0x1a4e('0x76')](),_0x55ff6c=_0x5f0182[_0x1a4e('0x38da')]['packArray'](_0x55ff6c)[_0x1a4e('0x4476')](),_0x466c9d=_0x466c9d[_0x1a4e('0x9a')](_0x55ff6c);break;default:_0x466c9d['push'](_0x1d0aef['v1']['x']/0xb4+_0x4c9906['position'][_0x1a4e('0x1a1')],-_0x1d0aef['v1']['y']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a2')]);}});var _0x55ff6c=[];_0x1d0aef['holes'][_0x1a4e('0x21')](function(_0x1d0aef){var _0x466c9d=[];_0x1d0aef[_0x1a4e('0x958')][_0x1a4e('0x21')](function(_0x1d0aef){switch(_0x1d0aef[_0x1a4e('0x40')]){case'QuadraticBezierCurve':var _0x55ff6c=_0x990b56['Calculate'][_0x1a4e('0x4142')]([new _0x5f0182[(_0x1a4e('0x38da'))](_0x1d0aef['v0']['x']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],-_0x1d0aef['v0']['y']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a2')]),new _0x5f0182[(_0x1a4e('0x38da'))](_0x1d0aef['v1']['x']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],-_0x1d0aef['v1']['y']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a2')]),new _0x5f0182[(_0x1a4e('0x38da'))](_0x1d0aef['v2']['x']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a1')],-_0x1d0aef['v2']['y']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a2')])],0xd);_0x55ff6c[_0x1a4e('0x76')](),_0x55ff6c=_0x5f0182['GeoPoint'][_0x1a4e('0x3954')](_0x55ff6c)[_0x1a4e('0x4476')](),_0x466c9d=_0x466c9d['concat'](_0x55ff6c);break;default:_0x466c9d[_0x1a4e('0x46')](_0x1d0aef['v1']['x']/0xb4+_0x4c9906[_0x1a4e('0x3553')]['lon'],-_0x1d0aef['v1']['y']/0xb4+_0x4c9906[_0x1a4e('0x3553')][_0x1a4e('0x1a2')]);}}),_0x55ff6c['push'](_0x466c9d);});var _0x2e2d60,_0x45be9a=this[_0x1a4e('0x4477')](_0x55ff6c,_0x466c9d);_0x4c9906[_0x1a4e('0x3987')]&&0x0!=_0x55ff6c[_0x1a4e('0x1e')]&&(_0x2e2d60=[],_0x55ff6c[_0x1a4e('0x21')](function(_0x1d0aef){_0x2e2d60['push'](new Cesium[(_0x1a4e('0x3a3f'))](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')](_0x1d0aef)));})),this[_0x1a4e('0x4478')](_0x45be9a,_0x4c9906[_0x1a4e('0x152')],_0x4c9906[_0x1a4e('0x41f4')],_0x4c9906[_0x1a4e('0x134')],_0x2e2d60,_0x4c9906[_0x1a4e('0x3987')]);},_0x4c9906[_0x1a4e('0xa')][_0x1a4e('0x4478')]=function(_0x1d0aef,_0x4c9906,_0x466c9d,_0x55ff6c,_0x2e2d60,_0x45be9a){var _0x990b56,_0x5f0182,_0x21e5a0=[],_0xfb3146=new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':_0x1d0aef,'height':_0x4c9906,'extrudedHeight':_0x466c9d}),_0x3a90dc=Cesium[_0x1a4e('0x3945')][_0x1a4e('0x3e0')](_0xfb3146),_0x11f4d8=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x3a90dc,'attributes':{'color':Cesium['ColorGeometryInstanceAttribute'][_0x1a4e('0x39b4')](_0x2bf9c8[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x55ff6c))}});if(_0x21e5a0[_0x1a4e('0x46')](_0x11f4d8),_0x2e2d60)try{for(var _0x3b843f=_0xf7b0f5(_0x2e2d60),_0x37d3e0=_0x3b843f['next']();!_0x37d3e0[_0x1a4e('0x3c2')];_0x37d3e0=_0x3b843f[_0x1a4e('0x7e')]()){var _0x34c978=_0x37d3e0[_0x1a4e('0x255')],_0x17be88=new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':_0x34c978,'height':_0x4c9906,'extrudedHeight':_0x466c9d}),_0x1176c6=Cesium[_0x1a4e('0x3945')][_0x1a4e('0x3e0')](_0x17be88),_0x3d053f=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x1176c6,'attributes':{'color':Cesium[_0x1a4e('0x3940')][_0x1a4e('0x39b4')](_0x2bf9c8[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x45be9a))}});_0x21e5a0[_0x1a4e('0x46')](_0x3d053f);}}catch(_0x7b578d){_0x990b56={'error':_0x7b578d};}finally{try{_0x37d3e0&&!_0x37d3e0[_0x1a4e('0x3c2')]&&(_0x5f0182=_0x3b843f[_0x1a4e('0xe40')])&&_0x5f0182['call'](_0x3b843f);}finally{if(_0x990b56)throw _0x990b56[_0x1a4e('0x873')];}}var _0x3500a4=new Cesium['Primitive']({'geometryInstances':_0x21e5a0,'appearance':this[_0x1a4e('0x4418')](),'asynchronous':!0x1});_0x3500a4[_0x1a4e('0x42fe')]=this[_0x1a4e('0x4323')]['id'];for(var _0x54397d=Array[_0x1a4e('0x15')](_0x3500a4[_0x1a4e('0x4479')])?_0x3500a4['geometryInstances']:[_0x3500a4[_0x1a4e('0x4479')]],_0x4aae2a=0x0;_0x4aae2a<_0x54397d[_0x1a4e('0x1e')];_0x4aae2a++)if(!_0x54397d[_0x4aae2a]['geometry'])return;this[_0x1a4e('0x4312')]=_0x3500a4,this[_0x1a4e('0x42e6')][_0x1a4e('0x4466')][_0x1a4e('0x177')](_0x3500a4),this['_vectorPrimitiveCollection']['push'](_0x3500a4);},_0x4c9906[_0x1a4e('0xa')][_0x1a4e('0x4477')]=function(_0x1d0aef,_0x4c9906){if(0x0===_0x1d0aef[_0x1a4e('0x1e')])return new Cesium[(_0x1a4e('0x3a3f'))](Cesium[_0x1a4e('0x393e')]['fromDegreesArray'](_0x4c9906));var _0x466c9d=_0x1d0aef['map'](function(_0x1d0aef){return new Cesium[(_0x1a4e('0x3a3f'))](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')](_0x1d0aef));});return new Cesium[(_0x1a4e('0x3a3f'))](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')](_0x4c9906),_0x466c9d);},_0x4c9906['prototype'][_0x1a4e('0x937')]=function(){if(this['_renderObj']){this['_dataItem'];if(this[_0x1a4e('0x4312')][_0x1a4e('0x1bc')]?(this['_renderRoot']['labelCollection'][_0x1a4e('0x82')](this[_0x1a4e('0x4312')][_0x1a4e('0x1bc')][_0x1a4e('0x4468')]),this[_0x1a4e('0x42e6')][_0x1a4e('0x4460')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]['billboard']?this['_renderObj'][_0x1a4e('0x412d')]['drawItem']:void 0x0),this[_0x1a4e('0x42e6')][_0x1a4e('0x4460')][_0x1a4e('0x82')](this['_renderObj']['trailLine']?this[_0x1a4e('0x4312')][_0x1a4e('0x4467')][_0x1a4e('0x4468')]:void 0x0)):this[_0x1a4e('0x42e6')][_0x1a4e('0x4466')]['remove'](this['renderObj']),this[_0x1a4e('0x447a')]){for(var _0x1d0aef=0x0;_0x1d0aefMath['min'](_0x377d28['north'],_0xa16169[_0x1a4e('0x403b')])||_0x137531>_0x5a889b);},_0x377d28[_0x1a4e('0x4494')]=function(_0x377d28,_0xa16169,_0x137531){if(Math['abs'](_0x137531['x'])<_0x23ea69&&Math[_0x1a4e('0x65')](_0x137531['y'])<_0x23ea69){if(_0x377d28['x']*_0xa16169['x']<0x0||_0x377d28['y']*_0xa16169['y']<0x0)return 0x3;}else if(Math[_0x1a4e('0x65')](_0x377d28['x']-_0x137531['x'])<_0x23ea69&&Math[_0x1a4e('0x65')](_0x377d28['y']-_0x137531['y'])<_0x23ea69&&(Math[_0x1a4e('0x65')](_0x377d28['x'])Math['abs'](_0xa16169['x'])&&Math[_0x1a4e('0x65')](_0x377d28['x'])Math['abs'](_0xa16169['y'])&&(Math[_0x1a4e('0x65')](_0x377d28['y']),Math[_0x1a4e('0x65')](_0x137531['y'])),Math['abs'](_0x377d28['x'])Math['abs'](_0x137531['x'])||Math['abs'](_0x377d28['y'])_0x23ea69){if(_0x399f73>0x0)return 0x0;if(_0x399f73<0x0){if(_0x128ab6=new Cesium[(_0x1a4e('0x3952'))](_0x28f016['lon']-_0x137531['lon'],_0x28f016[_0x1a4e('0x1a2')]-_0x137531['lat']),_0x331ab1=new Cesium[(_0x1a4e('0x3952'))](_0x377d28[_0x1a4e('0x1a1')]-_0x137531[_0x1a4e('0x1a1')],_0x377d28['lat']-_0x137531['lat']),_0x5ee32f=new Cesium[(_0x1a4e('0x3952'))](_0xa16169[_0x1a4e('0x1a1')]-_0x137531[_0x1a4e('0x1a1')],_0xa16169[_0x1a4e('0x1a2')]-_0x137531['lat']),_0x399f73=(_0x245a2d=_0x128ab6['x']*_0x331ab1['y']-_0x331ab1['x']*_0x128ab6['y'])*(_0x4e9142=_0x128ab6['x']*_0x5ee32f['y']-_0x5ee32f['x']*_0x128ab6['y']),Math[_0x1a4e('0x65')](_0x399f73)>_0x23ea69)return _0x399f73>0x0?0x0:0x1;if(Math[_0x1a4e('0x65')](_0x245a2d)<_0x23ea69&&Math[_0x1a4e('0x65')](_0x4e9142)<_0x23ea69)return this[_0x1a4e('0x4494')](_0x128ab6,_0x331ab1,_0x5ee32f);if(Math['abs'](_0x245a2d)<_0x23ea69){var _0x3c8b31=Math[_0x1a4e('0x65')](_0x331ab1['x'])<_0x23ea69,_0x46e03e=Math[_0x1a4e('0x65')](_0x331ab1['y'])<_0x23ea69;return _0x3c8b31&&_0x46e03e?0x2:(_0x1b412e=_0x3c8b31?_0x128ab6['y']/_0x331ab1['y']:_0x128ab6['x']/_0x331ab1['x'])>0x1?0x8:0x1==_0x1b412e?0x4:0x0;}if(Math[_0x1a4e('0x65')](_0x4e9142)<_0x23ea69){_0x3c8b31=Math['abs'](_0x5ee32f['x'])<_0x23ea69,_0x46e03e=Math['abs'](_0x5ee32f['y'])<_0x23ea69;return _0x3c8b31&&_0x46e03e?0x3:(_0x1b412e=_0x3c8b31?_0x128ab6['y']/_0x5ee32f['y']:_0x128ab6['x']/_0x5ee32f['x'])>0x1?0x9:0x1==_0x1b412e?0x5:0x0;}}}else{if(Math['abs'](_0x245a2d)<_0x23ea69&&Math['abs'](_0x4e9142)<_0x23ea69)return this['sameLine1'](_0x128ab6,_0x331ab1,_0x5ee32f);if(Math[_0x1a4e('0x65')](_0x245a2d)<_0x23ea69){_0x3c8b31=Math[_0x1a4e('0x65')](_0x331ab1['x'])<_0x23ea69,_0x46e03e=Math['abs'](_0x331ab1['y'])<_0x23ea69;return _0x3c8b31&&_0x46e03e?0x2:(_0x1b412e=_0x3c8b31?_0x128ab6['y']/_0x331ab1['y']:_0x128ab6['x']/_0x331ab1['x'])>0x1?0x6:0x1==_0x1b412e?0x3:0x0;}if(Math[_0x1a4e('0x65')](_0x4e9142)<_0x23ea69){var _0x1b412e;_0x3c8b31=Math[_0x1a4e('0x65')](_0x5ee32f['x'])<_0x23ea69,_0x46e03e=Math[_0x1a4e('0x65')](_0x5ee32f['y'])<_0x23ea69;return _0x3c8b31&&_0x46e03e?0x4:(_0x1b412e=_0x3c8b31?_0x128ab6['y']/_0x5ee32f['y']:_0x128ab6['x']/_0x5ee32f['x'])>0x1?0x7:0x1==_0x1b412e?0x5:0x0;}}},_0x377d28[_0x1a4e('0x4496')]=function(_0x377d28,_0xa16169,_0x137531,_0x5a889b){var _0x23ea69=Math[_0x1a4e('0x65')]((_0x5a889b[_0x1a4e('0x1a1')]-_0x137531[_0x1a4e('0x1a1')])*(_0x377d28[_0x1a4e('0x1a2')]-_0x137531[_0x1a4e('0x1a2')])-(_0x377d28[_0x1a4e('0x1a1')]-_0x137531[_0x1a4e('0x1a1')])*(_0x5a889b[_0x1a4e('0x1a2')]-_0x137531['lat'])),_0x25e78c=Math['abs']((_0x5a889b[_0x1a4e('0x1a1')]-_0x137531[_0x1a4e('0x1a1')])*(_0xa16169['lat']-_0x137531[_0x1a4e('0x1a2')])-(_0xa16169[_0x1a4e('0x1a1')]-_0x137531[_0x1a4e('0x1a1')])*(_0x5a889b[_0x1a4e('0x1a2')]-_0x137531[_0x1a4e('0x1a2')])),_0x43d3c9=(_0x377d28[_0x1a4e('0x1a1')]*_0x25e78c+_0xa16169[_0x1a4e('0x1a1')]*_0x23ea69)/(_0x23ea69+_0x25e78c),_0x34a0a5=(_0x377d28[_0x1a4e('0x1a2')]*_0x25e78c+_0xa16169[_0x1a4e('0x1a2')]*_0x23ea69)/(_0x23ea69+_0x25e78c),_0x24d637=_0x377d28[_0x1a4e('0x398c')]+(_0xa16169[_0x1a4e('0x398c')]-_0x377d28[_0x1a4e('0x398c')])*(_0x43d3c9-_0x377d28[_0x1a4e('0x1a1')])/(_0xa16169[_0x1a4e('0x1a1')]-_0x377d28[_0x1a4e('0x1a1')]);return new _0x28f016[(_0x1a4e('0x38da'))](_0x43d3c9,_0x34a0a5,_0x24d637);},_0x377d28[_0x1a4e('0x1bf')]=function(_0x377d28,_0xa16169){return!(Math[_0x1a4e('0x65')](_0x377d28[_0x1a4e('0x1a1')]-_0xa16169[_0x1a4e('0x1a1')])>_0x23ea69)&&(!(Math['abs'](_0x377d28[_0x1a4e('0x1a2')]-_0xa16169['lat'])>_0x23ea69)&&!(Math['abs'](_0x377d28[_0x1a4e('0x398c')]-_0xa16169[_0x1a4e('0x398c')])>_0x23ea69));},_0x377d28[_0x1a4e('0x4497')]=function(_0x377d28,_0xa16169,_0x137531,_0x28f016){var _0x5a889b=new Cesium[(_0x1a4e('0x3952'))](_0xa16169['lon']-_0x377d28[_0x1a4e('0x1a1')],_0xa16169[_0x1a4e('0x1a2')]-_0x377d28[_0x1a4e('0x1a2')]),_0x25e78c=new Cesium[(_0x1a4e('0x3952'))](_0x28f016['lon']-_0x137531[_0x1a4e('0x1a1')],_0x28f016[_0x1a4e('0x1a2')]-_0x137531['lat']);return Math[_0x1a4e('0x65')](_0x5a889b['x']*_0x25e78c['y']-_0x25e78c['x']*_0x5a889b['y'])<_0x23ea69;},_0x377d28;}();},'./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipeTurnThreeRender.ts':function(_0x41a54d,_0x466a65,_0x30e5e5){'use strict';_0x30e5e5['r'](_0x466a65),_0x30e5e5['d'](_0x466a65,'PipeTurnThreeRender',function(){return _0x467f94;});var _0x877861,_0x183275=_0x30e5e5(_0x1a4e('0x4498')),_0xd5323f=_0x30e5e5(_0x1a4e('0x4499')),_0x4981a8=_0x30e5e5(_0x1a4e('0x4222')),_0x5b9bcb=(_0x877861=function(_0x41a54d,_0x466a65){return(_0x877861=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x41a54d,_0x466a65){_0x41a54d[_0x1a4e('0x295')]=_0x466a65;}||function(_0x41a54d,_0x466a65){for(var _0x30e5e5 in _0x466a65)_0x466a65['hasOwnProperty'](_0x30e5e5)&&(_0x41a54d[_0x30e5e5]=_0x466a65[_0x30e5e5]);})(_0x41a54d,_0x466a65);},function(_0x41a54d,_0x466a65){function _0x30e5e5(){this[_0x1a4e('0x10')]=_0x41a54d;}_0x877861(_0x41a54d,_0x466a65),_0x41a54d['prototype']=null===_0x466a65?Object[_0x1a4e('0x7')](_0x466a65):(_0x30e5e5['prototype']=_0x466a65[_0x1a4e('0xa')],new _0x30e5e5());}),_0x467f94=function(_0x41a54d){function _0x466a65(_0x466a65,_0x30e5e5){return _0x41a54d[_0x1a4e('0x1')](this,_0x466a65,_0x30e5e5)||this;}return _0x5b9bcb(_0x466a65,_0x41a54d),_0x466a65[_0x1a4e('0xa')]['init']=function(){_0x41a54d[_0x1a4e('0xa')][_0x1a4e('0x1fd')][_0x1a4e('0x1')](this),this['createPrimitive']();},_0x466a65[_0x1a4e('0xa')]['isRight']=function(_0x41a54d,_0x466a65,_0x30e5e5,_0x877861,_0x183275){var _0xd5323f=0x3*_0x466a65,_0x4981a8=new Cesium[(_0x1a4e('0x393e'))](_0x41a54d[_0xd5323f],_0x41a54d[_0xd5323f+0x1],_0x41a54d[_0xd5323f+0x2]);_0xd5323f=0x3*_0x30e5e5;var _0x5b9bcb=new Cesium[(_0x1a4e('0x393e'))](_0x41a54d[_0xd5323f],_0x41a54d[_0xd5323f+0x1],_0x41a54d[_0xd5323f+0x2]);_0xd5323f=0x3*_0x877861;var _0x467f94=new Cesium[(_0x1a4e('0x393e'))](_0x41a54d[_0xd5323f],_0x41a54d[_0xd5323f+0x1],_0x41a54d[_0xd5323f+0x2]),_0x992f93=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x5b9bcb,_0x4981a8,new Cesium['Cartesian3']()),_0x4db59e=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x467f94,_0x4981a8,new Cesium[(_0x1a4e('0x393e'))]()),_0x1f0038=Cesium['Matrix3'][_0x1a4e('0x449a')](_0x183275,_0x992f93,new Cesium[(_0x1a4e('0x393e'))]()),_0x4036ea=Cesium['Matrix3'][_0x1a4e('0x449a')](_0x183275,_0x4db59e,new Cesium['Cartesian3']());return _0x1f0038['x']*_0x4036ea['y']-_0x4036ea['x']*_0x1f0038['y']>0x0;},_0x466a65[_0x1a4e('0xa')]['isLeft']=function(_0x41a54d,_0x466a65,_0x30e5e5,_0x877861,_0x183275){var _0xd5323f=0x3*_0x466a65,_0x4981a8=new Cesium[(_0x1a4e('0x393e'))](_0x41a54d[_0xd5323f],_0x41a54d[_0xd5323f+0x1],_0x41a54d[_0xd5323f+0x2]);_0xd5323f=0x3*_0x30e5e5;var _0x5b9bcb=new Cesium['Cartesian3'](_0x41a54d[_0xd5323f],_0x41a54d[_0xd5323f+0x1],_0x41a54d[_0xd5323f+0x2]);_0xd5323f=0x3*_0x877861;var _0x467f94=new Cesium['Cartesian3'](_0x41a54d[_0xd5323f],_0x41a54d[_0xd5323f+0x1],_0x41a54d[_0xd5323f+0x2]),_0x2c8345=Cesium[_0x1a4e('0x393e')]['subtract'](_0x5b9bcb,_0x4981a8,new Cesium[(_0x1a4e('0x393e'))]()),_0x4ecaad=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x467f94,_0x4981a8,new Cesium[(_0x1a4e('0x393e'))]()),_0x4c1add=Cesium['Matrix3']['multiplyByVector'](_0x183275,_0x2c8345,new Cesium[(_0x1a4e('0x393e'))]()),_0x339e8b=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x449a')](_0x183275,_0x4ecaad,new Cesium[(_0x1a4e('0x393e'))]());return _0x4c1add['x']*_0x339e8b['y']-_0x339e8b['x']*_0x4c1add['y']<0x0;},_0x466a65[_0x1a4e('0xa')][_0x1a4e('0x449b')]=function(_0x41a54d,_0x466a65,_0x30e5e5,_0x877861,_0x183275){var _0xd5323f=0x3*_0x466a65,_0x4981a8=new Cesium['Cartesian3'](_0x41a54d[_0xd5323f],_0x41a54d[_0xd5323f+0x1],_0x41a54d[_0xd5323f+0x2]);_0xd5323f=0x3*_0x30e5e5;var _0x5b9bcb=new Cesium[(_0x1a4e('0x393e'))](_0x41a54d[_0xd5323f],_0x41a54d[_0xd5323f+0x1],_0x41a54d[_0xd5323f+0x2]);_0xd5323f=0x3*_0x877861;var _0x467f94=new Cesium[(_0x1a4e('0x393e'))](_0x41a54d[_0xd5323f],_0x41a54d[_0xd5323f+0x1],_0x41a54d[_0xd5323f+0x2]),_0x50ac18=Cesium[_0x1a4e('0x393e')]['subtract'](_0x5b9bcb,_0x4981a8,new Cesium[(_0x1a4e('0x393e'))]()),_0x3a972f=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x467f94,_0x4981a8,new Cesium[(_0x1a4e('0x393e'))]()),_0x3ef36d=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x449a')](_0x183275,_0x50ac18,new Cesium['Cartesian3']()),_0x5250b1=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x449a')](_0x183275,_0x3a972f,new Cesium[(_0x1a4e('0x393e'))]()),_0xad481c=(_0x3ef36d['x']*_0x5250b1['x']+_0x3ef36d['y']*_0x5250b1['y'])/Math[_0x1a4e('0x91')]((_0x3ef36d['x']*_0x3ef36d['x']+_0x3ef36d['y']*_0x3ef36d['y'])*(_0x5250b1['x']*_0x5250b1['x']+_0x5250b1['y']*_0x5250b1['y']));return Math[_0x1a4e('0x92c')](_0xad481c)*Cesium[_0x1a4e('0x1020')][_0x1a4e('0x449c')];},_0x466a65[_0x1a4e('0xa')][_0x1a4e('0x449d')]=function(_0x41a54d,_0x466a65,_0x30e5e5,_0x877861){for(var _0x183275,_0xd5323f,_0x4981a8,_0x5b9bcb=-0x1,_0x467f94=[],_0x5df889=[],_0x5a3631=[],_0x973dd2=0x0;_0x973dd2<_0x41a54d[_0x1a4e('0x1e')];_0x973dd2++){for(var _0x16d55b=_0x41a54d[_0x973dd2],_0x259767=0x0;_0x259767<_0x16d55b[_0x1a4e('0x3c99')]['length'];_0x259767++)_0x183275=_0x16d55b[_0x1a4e('0x3c99')][_0x259767],_0xd5323f=_0x16d55b[_0x1a4e('0x449e')][_0x259767],_0x4981a8=_0x16d55b[_0x1a4e('0x3ce9')][_0x259767],_0x466a65[_0x1a4e('0x46')](_0x183275['x']),_0x30e5e5[_0x1a4e('0x46')](_0xd5323f['x']),_0x877861[_0x1a4e('0x46')](_0x4981a8['x']),_0x466a65[_0x1a4e('0x46')](_0x183275['y']),_0x30e5e5[_0x1a4e('0x46')](_0xd5323f['y']),_0x877861[_0x1a4e('0x46')](_0x4981a8['y']),_0x466a65[_0x1a4e('0x46')](_0x183275['z']),_0x30e5e5['push'](_0xd5323f['z']);for(var _0x4772c2=0x0,_0x46deda=0x0,_0x50e55e=0x0;_0x50e55e<_0x16d55b[_0x1a4e('0x2380')][_0x1a4e('0x1e')];_0x50e55e++){var _0x50d179=_0x16d55b['types'][_0x50e55e];if(_0x46deda>0x0&&_0x50d179)break;_0x50d179?_0x4772c2=_0x50e55e:_0x46deda++;}if(0x0==_0x46deda){var _0x354b3f=(_0x16d55b[_0x1a4e('0x2380')][_0x1a4e('0x1e')]/0x2|0x0)-0x1;_0x5df889[_0x1a4e('0x46')](_0x5b9bcb+_0x354b3f+0x1),_0x5a3631[_0x1a4e('0x46')](!0x1);}else{_0x354b3f=_0x4772c2+(_0x46deda/0x2|0x0);_0x5df889[_0x1a4e('0x46')](_0x5b9bcb+_0x354b3f+0x1),_0x5a3631[_0x1a4e('0x46')](!0x0);}_0x5b9bcb+=_0x16d55b[_0x1a4e('0x3c99')][_0x1a4e('0x1e')],_0x467f94[_0x1a4e('0x46')](_0x5b9bcb);}var _0x1b0a09=new Array(),_0x40d14a=0x0;for(_0x50e55e=0x0;_0x50e55e<_0x467f94[_0x1a4e('0x1e')];_0x50e55e++){_0x354b3f=_0x5df889[_0x50e55e];var _0x2fb51d=_0x467f94[_0x50e55e],_0x39e3b6=_0x5a3631[_0x50e55e],_0x76873b=[];for(_0x973dd2=_0x40d14a;_0x973dd2<=_0x354b3f;_0x973dd2++)_0x76873b[_0x1a4e('0x46')](_0x973dd2);_0x1b0a09[_0x1a4e('0x46')]({'indexArr':_0x76873b,'hasArc':_0x39e3b6});var _0x2fa3d2=[];for(_0x973dd2=_0x2fb51d;_0x973dd2>_0x354b3f;_0x973dd2--)_0x2fa3d2[_0x1a4e('0x46')](_0x973dd2);_0x1b0a09[_0x1a4e('0x46')]({'indexArr':_0x2fa3d2,'hasArc':_0x39e3b6}),_0x40d14a=_0x2fb51d+0x1;}return _0x1b0a09;},_0x466a65['prototype'][_0x1a4e('0x449f')]=function(_0x41a54d,_0x466a65,_0x30e5e5,_0x877861,_0x183275,_0xd5323f){for(var _0x4981a8=0x0,_0x5b9bcb=0x0;_0x4981a8<_0x466a65[_0x1a4e('0x1e')]-0x1&&_0x5b9bcb<_0x30e5e5[_0x1a4e('0x1e')]-0x1;){var _0x467f94=void 0x0,_0x3bc89c=void 0x0;if(0x0!=_0x4981a8||0x0!=_0x5b9bcb)if((_0x467f94=this[_0x1a4e('0x449b')](_0x41a54d,_0x466a65[_0x4981a8],_0x466a65[_0x4981a8+0x1],_0x30e5e5[_0x5b9bcb],_0x877861))<(_0x3bc89c=this[_0x1a4e('0x449b')](_0x41a54d,_0x30e5e5[_0x5b9bcb],_0x30e5e5[_0x5b9bcb+0x1],_0x466a65[_0x4981a8],_0x877861))&&_0x467f94<_0x183275)_0x4981a8++,_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]);else{if(!(_0x3bc89c<_0x467f94&&_0x3bc89c<_0x183275))break;_0x5b9bcb++,_0xd5323f['push'](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]);}else{if((_0x467f94=this[_0x1a4e('0x449b')](_0x41a54d,_0x466a65[_0x4981a8+0x1],_0x466a65[_0x4981a8],_0x30e5e5[_0x5b9bcb],_0x877861))>(_0x3bc89c=this['getAngle'](_0x41a54d,_0x30e5e5[_0x5b9bcb+0x1],_0x30e5e5[_0x5b9bcb],_0x466a65[_0x4981a8],_0x877861))){_0x4981a8++,_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]);continue;}_0x5b9bcb++,_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]);}}if(_0x4981a8==_0x466a65[_0x1a4e('0x1e')]-0x1&&_0x5b9bcb<_0x30e5e5[_0x1a4e('0x1e')]-0x1)for(;_0x5b9bcb<_0x30e5e5[_0x1a4e('0x1e')]-0x1;){if(!((_0x467f94=this[_0x1a4e('0x449b')](_0x41a54d,_0x30e5e5[_0x5b9bcb],_0x30e5e5[_0x5b9bcb+0x1],_0x466a65[_0x4981a8],_0x877861))<_0x183275))break;_0x5b9bcb++,_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]);}if(_0x5b9bcb==_0x30e5e5[_0x1a4e('0x1e')]-0x1&&_0x4981a8<_0x466a65[_0x1a4e('0x1e')]-0x1)for(;_0x4981a8<_0x466a65[_0x1a4e('0x1e')]-0x1;){if(!((_0x467f94=this['getAngle'](_0x41a54d,_0x466a65[_0x4981a8],_0x466a65[_0x4981a8+0x1],_0x30e5e5[_0x5b9bcb],_0x877861))<_0x183275))break;_0x4981a8++,_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]);}return{'m':_0x4981a8,'n':_0x5b9bcb};},_0x466a65[_0x1a4e('0xa')][_0x1a4e('0x44a0')]=function(_0x41a54d,_0x466a65,_0x30e5e5,_0x877861,_0x183275,_0xd5323f){for(var _0x4981a8=0x0,_0x5b9bcb=0x0;_0x4981a8<_0x466a65[_0x1a4e('0x1e')]-0x1&&_0x5b9bcb<_0x30e5e5['length']-0x1;){var _0x467f94=void 0x0,_0x531f2a=void 0x0;if(0x0!=_0x4981a8||0x0!=_0x5b9bcb)if((_0x467f94=this[_0x1a4e('0x449b')](_0x41a54d,_0x466a65[_0x4981a8],_0x466a65[_0x4981a8+0x1],_0x30e5e5[_0x5b9bcb],_0x877861))<(_0x531f2a=this[_0x1a4e('0x449b')](_0x41a54d,_0x30e5e5[_0x5b9bcb],_0x30e5e5[_0x5b9bcb+0x1],_0x466a65[_0x4981a8],_0x877861))&&_0x467f94<_0x183275)_0x4981a8++,_0xd5323f['push'](_0x466a65[_0x4981a8-0x1]),_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]);else{if(!(_0x531f2a<_0x467f94&&_0x531f2a<_0x183275))break;_0x5b9bcb++,_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb-0x1]);}else{if((_0x467f94=this['getAngle'](_0x41a54d,_0x466a65[_0x4981a8+0x1],_0x466a65[_0x4981a8],_0x30e5e5[_0x5b9bcb],_0x877861))>(_0x531f2a=this[_0x1a4e('0x449b')](_0x41a54d,_0x30e5e5[_0x5b9bcb+0x1],_0x30e5e5[_0x5b9bcb],_0x466a65[_0x4981a8],_0x877861))){_0x4981a8++,_0xd5323f['push'](_0x466a65[_0x4981a8-0x1]),_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]);continue;}_0x5b9bcb++,_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb-0x1]);}}if(_0x4981a8==_0x466a65['length']-0x1&&_0x5b9bcb<_0x30e5e5[_0x1a4e('0x1e')]-0x1)for(;_0x5b9bcb<_0x30e5e5[_0x1a4e('0x1e')]-0x1;){if(!((_0x467f94=this[_0x1a4e('0x449b')](_0x41a54d,_0x30e5e5[_0x5b9bcb],_0x30e5e5[_0x5b9bcb+0x1],_0x466a65[_0x4981a8],_0x877861))<_0x183275))break;_0x5b9bcb++,_0xd5323f['push'](_0x466a65[_0x4981a8]),_0xd5323f['push'](_0x30e5e5[_0x5b9bcb]),_0xd5323f['push'](_0x30e5e5[_0x5b9bcb-0x1]);}if(_0x5b9bcb==_0x30e5e5[_0x1a4e('0x1e')]-0x1&&_0x4981a8<_0x466a65['length']-0x1)for(;_0x4981a8<_0x466a65[_0x1a4e('0x1e')]-0x1;){if(!((_0x467f94=this[_0x1a4e('0x449b')](_0x41a54d,_0x466a65[_0x4981a8],_0x466a65[_0x4981a8+0x1],_0x30e5e5[_0x5b9bcb],_0x877861))<_0x183275))break;_0x4981a8++,_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8-0x1]),_0xd5323f[_0x1a4e('0x46')](_0x466a65[_0x4981a8]),_0xd5323f[_0x1a4e('0x46')](_0x30e5e5[_0x5b9bcb]);}return{'m':_0x4981a8,'n':_0x5b9bcb};},_0x466a65[_0x1a4e('0xa')][_0x1a4e('0x44a1')]=function(_0x41a54d,_0x466a65){for(var _0x30e5e5,_0x877861,_0x183275,_0xd5323f=[],_0x5b9bcb=[],_0x467f94=0x1;_0x467f94<_0x41a54d[_0x1a4e('0x1e')];_0x467f94+=0x2){var _0x58c84b=_0x41a54d[_0x467f94][_0x1a4e('0x44a2')],_0x547842=void 0x0;_0x547842=_0x467f94==_0x41a54d[_0x1a4e('0x1e')]-0x1?_0x41a54d[0x0][_0x1a4e('0x44a2')]:_0x41a54d[_0x467f94+0x1]['indexArr'];var _0x2ff771=!0x1;if(_0x58c84b[_0x1a4e('0x1e')]<_0x547842['length']){var _0x7206d5=_0x58c84b;_0x58c84b=_0x547842,_0x547842=_0x7206d5,_0x2ff771=!0x0;}var _0x7c28f=0x3*_0x58c84b[0x0],_0x32a27d=new Cesium['Cartesian3'](_0x466a65[_0x7c28f],_0x466a65[_0x7c28f+0x1],_0x466a65[_0x7c28f+0x2]);_0x7c28f=0x3*_0x58c84b[_0x58c84b['length']-0x1];var _0xc4787=new Cesium[(_0x1a4e('0x393e'))](_0x466a65[_0x7c28f],_0x466a65[_0x7c28f+0x1],_0x466a65[_0x7c28f+0x2]);_0x7c28f=0x3*_0x547842[_0x547842[_0x1a4e('0x1e')]-0x1];for(var _0x371df9=new Cesium[(_0x1a4e('0x393e'))](_0x466a65[_0x7c28f],_0x466a65[_0x7c28f+0x1],_0x466a65[_0x7c28f+0x2]),_0xab68ab=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0xc4787,_0x32a27d,new Cesium[(_0x1a4e('0x393e'))]()),_0x5e219b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x371df9,_0x32a27d,new Cesium[(_0x1a4e('0x393e'))]()),_0x952fd7=Cesium[_0x1a4e('0x393e')]['cross'](_0xab68ab,_0x5e219b,new Cesium[(_0x1a4e('0x393e'))]()),_0x505149=_0x4981a8[_0x1a4e('0x4229')][_0x1a4e('0x4492')](_0x952fd7,new Cesium['Cartesian3'](0x0,0x0,0x1)),_0x5a1cea=[],_0x1a373e=[],_0x1a5a4b=(_0x3101d9=this[_0x1a4e('0x449f')](_0x466a65,_0x58c84b,_0x547842,_0x505149,0x96,_0xd5323f))['m'];_0x1a5a4b<_0x58c84b['length'];_0x1a5a4b++)_0x5a1cea['push'](_0x58c84b[_0x1a5a4b]);for(_0x1a5a4b=_0x3101d9['n'];_0x1a5a4b<_0x547842['length'];_0x1a5a4b++)_0x1a373e['push'](_0x547842[_0x1a5a4b]);_0x2ff771?(_0x5b9bcb[_0x1a4e('0x46')](_0x1a373e),_0x5b9bcb[_0x1a4e('0x46')](_0x5a1cea)):(_0x5b9bcb[_0x1a4e('0x46')](_0x5a1cea),_0x5b9bcb[_0x1a4e('0x46')](_0x1a373e));}console[_0x1a4e('0x58')](_0x1a4e('0x44a3'),_0x5b9bcb),_0x41a54d[0x0][_0x1a4e('0x44a4')]?(_0x30e5e5=_0x41a54d[0x0][_0x1a4e('0x44a2')][0x0],_0x877861=_0x41a54d[0x1]['indexArr'][0x0],_0x183275=_0x41a54d[0x0][_0x1a4e('0x44a2')][_0x41a54d[0x0][_0x1a4e('0x44a2')][_0x1a4e('0x1e')]-0x1]):(_0x30e5e5=_0x41a54d[0x2][_0x1a4e('0x44a2')][0x0],_0x877861=_0x41a54d[0x3]['indexArr'][0x0],_0x183275=_0x41a54d[0x2][_0x1a4e('0x44a2')][_0x41a54d[0x2][_0x1a4e('0x44a2')]['length']-0x1]);var _0x9d45a9=0x3*_0x30e5e5,_0x2f8c3e=new Cesium[(_0x1a4e('0x393e'))](_0x466a65[_0x9d45a9],_0x466a65[_0x9d45a9+0x1],_0x466a65[_0x9d45a9+0x2]);_0x9d45a9=0x3*_0x877861;var _0x32f862=new Cesium[(_0x1a4e('0x393e'))](_0x466a65[_0x9d45a9],_0x466a65[_0x9d45a9+0x1],_0x466a65[_0x9d45a9+0x2]);_0x9d45a9=0x3*_0x183275;for(var _0x35538=new Cesium[(_0x1a4e('0x393e'))](_0x466a65[_0x9d45a9],_0x466a65[_0x9d45a9+0x1],_0x466a65[_0x9d45a9+0x2]),_0x491b54=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x32f862,_0x2f8c3e,new Cesium[(_0x1a4e('0x393e'))]()),_0xb6aec4=Cesium[_0x1a4e('0x393e')]['subtract'](_0x35538,_0x2f8c3e,new Cesium[(_0x1a4e('0x393e'))]()),_0x38ad98=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x491b54,_0xb6aec4,new Cesium[(_0x1a4e('0x393e'))]()),_0x5f19c4=_0x4981a8[_0x1a4e('0x4229')]['getRotateMatrix'](_0x38ad98,new Cesium['Cartesian3'](0x0,0x0,0x1)),_0x5162b2=_0x5b9bcb[_0x1a4e('0x1e')],_0x5b1379=0x0;_0x5b1379<_0x5162b2;_0x5b1379++)if(_0x5b9bcb[_0x5b1379][_0x1a4e('0x1e')]>0x2&&0x1==_0x5b9bcb[_0x5b1379+0x1<_0x5162b2?_0x5b1379+0x1:_0x5b1379+0x1-_0x5162b2][_0x1a4e('0x1e')]&&0x1==_0x5b9bcb[_0x5b1379+0x2<_0x5162b2?_0x5b1379+0x2:_0x5b1379+0x2-_0x5162b2]['length']&&_0x5b9bcb[_0x5b1379+0x3<_0x5162b2?_0x5b1379+0x3:_0x5b1379+0x3-_0x5162b2][_0x1a4e('0x1e')]>0x2){_0x5b9bcb[_0x5b1379+0x3<_0x5162b2?_0x5b1379+0x3:_0x5b1379+0x3-_0x5162b2]['splice'](0x0,0x0,_0x5b9bcb[_0x5b1379+0x2<_0x5162b2?_0x5b1379+0x2:_0x5b1379+0x2-_0x5162b2][0x0]),_0x5b9bcb[_0x5b1379][_0x1a4e('0x8a')](0x0,0x0,_0x5b9bcb[_0x5b1379+0x1<_0x5162b2?_0x5b1379+0x1:_0x5b1379+0x1-_0x5162b2][0x0]),_0x5b1379+0x1<_0x5162b2?_0x5b9bcb[_0x1a4e('0x8a')](_0x5b1379+0x1,0x1):(_0x5b9bcb['splice'](_0x5b1379+0x1-_0x5162b2,0x1),_0x5b1379--),_0x5b1379+0x1<--_0x5162b2?_0x5b9bcb[_0x1a4e('0x8a')](_0x5b1379+0x1,0x1):(_0x5b9bcb[_0x1a4e('0x8a')](_0x5b1379+0x1-_0x5162b2,0x1),_0x5b1379--),_0x5162b2--;_0x58c84b=_0x5b9bcb[_0x5b1379],_0x547842=_0x5b9bcb[_0x5b1379+0x1<_0x5162b2?_0x5b1379+0x1:_0x5b1379+0x1-_0x5162b2];var _0x3101d9=this[_0x1a4e('0x449f')](_0x466a65,_0x58c84b,_0x547842,_0x5f19c4,0x96,_0xd5323f);_0x58c84b[_0x1a4e('0x8a')](0x0,_0x3101d9['m']),_0x547842[_0x1a4e('0x8a')](0x0,_0x3101d9['n']);}for(var _0x1d01cf=[],_0x158f9f=0x0;_0x158f9f<_0x5b9bcb['length'];_0x158f9f++){var _0x1b81d2=_0x5b9bcb[_0x158f9f];if(0x1==_0x1b81d2['length'])_0x1d01cf[_0x1a4e('0x46')](_0x1b81d2[0x0]);else if((_0x158f9f/0x2|0x0)==_0x158f9f/0x2)for(var _0x143d04=_0x1b81d2[_0x1a4e('0x1e')]-0x1;_0x143d04>=0x0;_0x143d04--)_0x1d01cf[_0x1a4e('0x46')](_0x1b81d2[_0x143d04]);else for(_0x143d04=0x0;_0x143d04<_0x1b81d2[_0x1a4e('0x1e')];_0x143d04++)_0x1d01cf[_0x1a4e('0x46')](_0x1b81d2[_0x143d04]);}for(var _0xe6c0c6=_0x1d01cf['length'],_0x9b90a3=0x0,_0x1780bd=0x0,_0x4ba9dd=0x3*_0xe6c0c6;_0xe6c0c6>0x3;){var _0x560ee8=_0x1d01cf[_0x9b90a3],_0x2791b1=_0x9b90a3+0x1>=_0xe6c0c6?_0x9b90a3+0x1-_0xe6c0c6:_0x9b90a3+0x1,_0x2c8628=_0x1d01cf[_0x2791b1],_0x5f1533=_0x1d01cf[_0x9b90a3+0x2>=_0xe6c0c6?_0x9b90a3+0x2-_0xe6c0c6:_0x9b90a3+0x2];if(this[_0x1a4e('0x44a5')](_0x466a65,_0x560ee8,_0x2c8628,_0x5f1533,_0x5f19c4)?(_0xd5323f[_0x1a4e('0x46')](_0x560ee8),_0xd5323f[_0x1a4e('0x46')](_0x5f1533),_0x1d01cf['splice'](_0x2791b1,0x1),_0x9b90a3=_0x9b90a3==(_0xe6c0c6=_0x1d01cf[_0x1a4e('0x1e')])?_0x9b90a3-0x1:_0x9b90a3):_0x9b90a3=_0x2791b1,++_0x1780bd>_0x4ba9dd){console[_0x1a4e('0x58')]('警告!可能出现死循环。');break;}}return _0xd5323f;},_0x466a65[_0x1a4e('0xa')]['getIndexArray']=function(_0x41a54d,_0x466a65,_0x30e5e5){void 0x0===_0x30e5e5&&(_0x30e5e5=!0x1);for(var _0x877861,_0x183275,_0xd5323f,_0x5b9bcb=[],_0x467f94=[],_0x573167=0x1;_0x573167<_0x41a54d[_0x1a4e('0x1e')];_0x573167+=0x2){var _0x575c7e=_0x41a54d[_0x573167][_0x1a4e('0x44a2')],_0x4bffbb=void 0x0;_0x4bffbb=_0x573167==_0x41a54d[_0x1a4e('0x1e')]-0x1?_0x41a54d[0x0][_0x1a4e('0x44a2')]:_0x41a54d[_0x573167+0x1][_0x1a4e('0x44a2')];var _0x45f8b3=!0x1;if(_0x575c7e['length']<_0x4bffbb[_0x1a4e('0x1e')]){var _0x1dbea0=_0x575c7e;_0x575c7e=_0x4bffbb,_0x4bffbb=_0x1dbea0,_0x45f8b3=!0x0;}var _0x51402e=0x3*_0x575c7e[0x0],_0x17bbd9=new Cesium['Cartesian3'](_0x466a65[_0x51402e],_0x466a65[_0x51402e+0x1],_0x466a65[_0x51402e+0x2]);_0x51402e=0x3*_0x575c7e[_0x575c7e[_0x1a4e('0x1e')]-0x1];var _0x495027=new Cesium[(_0x1a4e('0x393e'))](_0x466a65[_0x51402e],_0x466a65[_0x51402e+0x1],_0x466a65[_0x51402e+0x2]);_0x51402e=0x3*_0x4bffbb[_0x4bffbb[_0x1a4e('0x1e')]-0x1];for(var _0x57231c=new Cesium['Cartesian3'](_0x466a65[_0x51402e],_0x466a65[_0x51402e+0x1],_0x466a65[_0x51402e+0x2]),_0x1cb9c7=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x495027,_0x17bbd9,new Cesium['Cartesian3']()),_0x1d2436=Cesium['Cartesian3'][_0x1a4e('0x262')](_0x57231c,_0x17bbd9,new Cesium['Cartesian3']()),_0x24b851=Cesium['Cartesian3'][_0x1a4e('0x3a26')](_0x1cb9c7,_0x1d2436,new Cesium[(_0x1a4e('0x393e'))]()),_0x5058ba=_0x4981a8[_0x1a4e('0x4229')]['getRotateMatrix'](_0x24b851,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x1)),_0x2250e2=[],_0x119ea4=[],_0x394d65={'m':0x0,'n':0x0},_0x145571=(_0x394d65=_0x30e5e5?this[_0x1a4e('0x449f')](_0x466a65,_0x575c7e,_0x4bffbb,_0x5058ba,0x96,_0x5b9bcb):this[_0x1a4e('0x44a0')](_0x466a65,_0x575c7e,_0x4bffbb,_0x5058ba,0x96,_0x5b9bcb))['m'];_0x145571<_0x575c7e[_0x1a4e('0x1e')];_0x145571++)_0x2250e2['push'](_0x575c7e[_0x145571]);for(_0x145571=_0x394d65['n'];_0x145571<_0x4bffbb['length'];_0x145571++)_0x119ea4[_0x1a4e('0x46')](_0x4bffbb[_0x145571]);_0x45f8b3?(_0x467f94[_0x1a4e('0x46')](_0x119ea4),_0x467f94[_0x1a4e('0x46')](_0x2250e2)):(_0x467f94[_0x1a4e('0x46')](_0x2250e2),_0x467f94[_0x1a4e('0x46')](_0x119ea4));}_0x41a54d[0x0][_0x1a4e('0x44a4')]?(_0x877861=_0x41a54d[0x0][_0x1a4e('0x44a2')][0x0],_0x183275=_0x41a54d[0x1]['indexArr'][0x0],_0xd5323f=_0x41a54d[0x0][_0x1a4e('0x44a2')][_0x41a54d[0x0]['indexArr']['length']-0x1]):(_0x877861=_0x41a54d[0x2][_0x1a4e('0x44a2')][0x0],_0x183275=_0x41a54d[0x3]['indexArr'][0x0],_0xd5323f=_0x41a54d[0x2][_0x1a4e('0x44a2')][_0x41a54d[0x2][_0x1a4e('0x44a2')]['length']-0x1]);var _0x3f2f46=0x3*_0x877861,_0x2a4df5=new Cesium[(_0x1a4e('0x393e'))](_0x466a65[_0x3f2f46],_0x466a65[_0x3f2f46+0x1],_0x466a65[_0x3f2f46+0x2]);_0x3f2f46=0x3*_0x183275;var _0x1e1114=new Cesium[(_0x1a4e('0x393e'))](_0x466a65[_0x3f2f46],_0x466a65[_0x3f2f46+0x1],_0x466a65[_0x3f2f46+0x2]);_0x3f2f46=0x3*_0xd5323f;for(var _0x409016=new Cesium[(_0x1a4e('0x393e'))](_0x466a65[_0x3f2f46],_0x466a65[_0x3f2f46+0x1],_0x466a65[_0x3f2f46+0x2]),_0x18f95e=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x1e1114,_0x2a4df5,new Cesium[(_0x1a4e('0x393e'))]()),_0x50ac97=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x409016,_0x2a4df5,new Cesium[(_0x1a4e('0x393e'))]()),_0x41a385=Cesium[_0x1a4e('0x393e')]['cross'](_0x18f95e,_0x50ac97,new Cesium[(_0x1a4e('0x393e'))]()),_0x419f8a=_0x4981a8[_0x1a4e('0x4229')][_0x1a4e('0x4492')](_0x41a385,new Cesium['Cartesian3'](0x0,0x0,0x1)),_0x2806e1=_0x467f94['length'];;){for(var _0xc292bd=!0x0,_0x4ba8c2=0x0;_0x4ba8c2<_0x2806e1;_0x4ba8c2++){var _0x634e5e=!0x1;if((_0x4ba8c2/0x2|0x0)==_0x4ba8c2/0x2&&_0x467f94[_0x4ba8c2][_0x1a4e('0x1e')]>0x2&&0x1==_0x467f94[_0x4ba8c2+0x1<_0x2806e1?_0x4ba8c2+0x1:_0x4ba8c2+0x1-_0x2806e1][_0x1a4e('0x1e')]&&0x1==_0x467f94[_0x4ba8c2+0x2<_0x2806e1?_0x4ba8c2+0x2:_0x4ba8c2+0x2-_0x2806e1][_0x1a4e('0x1e')]&&(_0x634e5e=!0x0),((_0x4ba8c2+0x3)/0x2|0x0)!=(_0x4ba8c2+0x3)/0x2&&0x1==_0x467f94[_0x4ba8c2+0x1<_0x2806e1?_0x4ba8c2+0x1:_0x4ba8c2+0x1-_0x2806e1][_0x1a4e('0x1e')]&&0x1==_0x467f94[_0x4ba8c2+0x2<_0x2806e1?_0x4ba8c2+0x2:_0x4ba8c2+0x2-_0x2806e1][_0x1a4e('0x1e')]&&_0x467f94[_0x4ba8c2+0x3<_0x2806e1?_0x4ba8c2+0x3:_0x4ba8c2+0x3-_0x2806e1]['length']>0x2&&(_0x634e5e=!0x0),_0x634e5e){_0x467f94[_0x4ba8c2+0x3<_0x2806e1?_0x4ba8c2+0x3:_0x4ba8c2+0x3-_0x2806e1][_0x1a4e('0x8a')](0x0,0x0,_0x467f94[_0x4ba8c2+0x2<_0x2806e1?_0x4ba8c2+0x2:_0x4ba8c2+0x2-_0x2806e1][0x0]),_0x467f94[_0x4ba8c2][_0x1a4e('0x8a')](0x0,0x0,_0x467f94[_0x4ba8c2+0x1<_0x2806e1?_0x4ba8c2+0x1:_0x4ba8c2+0x1-_0x2806e1][0x0]),_0x4ba8c2+0x1<_0x2806e1?_0x467f94[_0x1a4e('0x8a')](_0x4ba8c2+0x1,0x1):(_0x467f94['splice'](_0x4ba8c2+0x1-_0x2806e1,0x1),_0x4ba8c2--),_0x4ba8c2+0x1<(_0x2806e1=_0x467f94['length'])?_0x467f94[_0x1a4e('0x8a')](_0x4ba8c2+0x1,0x1):(_0x467f94[_0x1a4e('0x8a')](_0x4ba8c2+0x1-_0x2806e1,0x1),_0x4ba8c2--),_0x2806e1=_0x467f94[_0x1a4e('0x1e')];_0x575c7e=_0x467f94[_0x4ba8c2],_0x4bffbb=_0x467f94[_0x4ba8c2+0x1<_0x2806e1?_0x4ba8c2+0x1:_0x4ba8c2+0x1-_0x2806e1],_0x394d65={'m':0x0,'n':0x0};_0x394d65=_0x30e5e5?this[_0x1a4e('0x449f')](_0x466a65,_0x575c7e,_0x4bffbb,_0x419f8a,0x96,_0x5b9bcb):this[_0x1a4e('0x44a0')](_0x466a65,_0x575c7e,_0x4bffbb,_0x419f8a,0x96,_0x5b9bcb),_0x575c7e[_0x1a4e('0x8a')](0x0,_0x394d65['m']),_0x4bffbb[_0x1a4e('0x8a')](0x0,_0x394d65['n']),_0xc292bd=!0x1;break;}}if(_0xc292bd)break;}var _0x2059bf=[];for(_0x4ba8c2=0x0;_0x4ba8c2<_0x467f94[_0x1a4e('0x1e')];_0x4ba8c2++){var _0x1d9c09=_0x467f94[_0x4ba8c2];if(0x1==_0x1d9c09[_0x1a4e('0x1e')])_0x2059bf['push'](_0x1d9c09[0x0]);else if((_0x4ba8c2/0x2|0x0)==_0x4ba8c2/0x2)for(var _0x525c77=_0x1d9c09[_0x1a4e('0x1e')]-0x1;_0x525c77>=0x0;_0x525c77--)_0x2059bf[_0x1a4e('0x46')](_0x1d9c09[_0x525c77]);else for(_0x525c77=0x0;_0x525c77<_0x1d9c09[_0x1a4e('0x1e')];_0x525c77++)_0x2059bf[_0x1a4e('0x46')](_0x1d9c09[_0x525c77]);}for(var _0x26b1fa=_0x2059bf['length'],_0x54826a=0x0,_0x44ec91=0x0,_0x21ad77=0x3*_0x26b1fa;_0x26b1fa>0x3;){var _0x1016a5=_0x2059bf[_0x54826a],_0x5d984c=_0x54826a+0x1>=_0x26b1fa?_0x54826a+0x1-_0x26b1fa:_0x54826a+0x1,_0x455c67=_0x2059bf[_0x5d984c],_0x147744=_0x2059bf[_0x54826a+0x2>=_0x26b1fa?_0x54826a+0x2-_0x26b1fa:_0x54826a+0x2];if(this[_0x1a4e('0x44a5')](_0x466a65,_0x1016a5,_0x455c67,_0x147744,_0x419f8a)?(_0x30e5e5?(_0x5b9bcb[_0x1a4e('0x46')](_0x1016a5),_0x5b9bcb[_0x1a4e('0x46')](_0x147744)):(_0x5b9bcb['push'](_0x1016a5),_0x5b9bcb[_0x1a4e('0x46')](_0x455c67),_0x5b9bcb[_0x1a4e('0x46')](_0x147744)),_0x2059bf[_0x1a4e('0x8a')](_0x5d984c,0x1),_0x54826a=_0x54826a==(_0x26b1fa=_0x2059bf['length'])?_0x54826a-0x1:_0x54826a):_0x54826a=_0x5d984c,++_0x44ec91>_0x21ad77){console[_0x1a4e('0x58')](_0x1a4e('0x44a6'));break;}}return 0x3!=_0x26b1fa||_0x30e5e5||(_0x5b9bcb[_0x1a4e('0x46')](_0x2059bf[0x0]),_0x5b9bcb['push'](_0x2059bf[0x1]),_0x5b9bcb[_0x1a4e('0x46')](_0x2059bf[0x2])),_0x5b9bcb;},_0x466a65[_0x1a4e('0xa')][_0x1a4e('0x44a7')]=function(){if(null==this[_0x1a4e('0x44a8')]){var _0x41a54d=this[_0x1a4e('0x4323')];if(!(_0x41a54d[_0x1a4e('0x4228')][_0x1a4e('0x1e')]<0x2)){var _0x466a65=_0x41a54d[_0x1a4e('0x3b5d')],_0x30e5e5=_0x41a54d['getTurnArray']();this['_creatorArray']=[];for(var _0x877861=0x0;_0x877861<_0x30e5e5[_0x1a4e('0x1e')];_0x877861++){var _0x183275=new _0xd5323f[(_0x1a4e('0x44a9'))](_0x30e5e5[_0x877861][_0x1a4e('0x422d')],_0x30e5e5[_0x877861][_0x1a4e('0x422e')],_0x466a65,_0x41a54d[_0x1a4e('0x423f')]);this[_0x1a4e('0x44a8')]['push'](_0x183275);}}}},_0x466a65[_0x1a4e('0xa')][_0x1a4e('0x3da8')]=function(){this['createGeometryCreator']();for(var _0x41a54d=[],_0x466a65=[],_0x30e5e5=[],_0x877861=0x0;_0x8778610x0)for(var _0x56640a=0x0;_0x56640a<_0xdcbef9;_0x56640a++)_0x2d8228[_0x1a4e('0x46')](_0x301758+_0x56640a),_0x2d8228[_0x1a4e('0x46')](_0x301758-_0xdcbef9+_0x56640a);_0x301758+=_0xdcbef9;}return _0x2d8228;},_0x301758[_0x1a4e('0xa')][_0x1a4e('0x44ca')]=function(){for(var _0xdcbef9=this[_0x1a4e('0x44c5')],_0x301758=0x0,_0x2d8228=[],_0x148556=0x0;_0x148556Math['abs'](_0x56e7cb['x']))if(_0x56e7cb['y']<0x0){var _0x208d67=new Cesium[(_0x1a4e('0x393e'))](0x0,-0x1,0x0);_0x5693d8=_0x5d79aa['PipeMath']['getRotateMatrix'](_0x208d67,_0x56e7cb),_0x5693d8=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x260')](_0x5693d8,_0x23c00a,new Cesium['Matrix4']());}else{_0x208d67=new Cesium['Cartesian3'](0x0,-0x1,0x0);var _0x48ee3a=new Cesium[(_0x1a4e('0x393e'))](0x1,0x0,0x0),_0x834e39=_0x5d79aa['PipeMath']['getRotateMatrix'](_0x208d67,_0x48ee3a);_0x834e39=Cesium[_0x1a4e('0x3aae')]['multiply'](_0x834e39,_0x23c00a,new Cesium[(_0x1a4e('0x3a29'))]()),_0x5693d8=_0x5d79aa[_0x1a4e('0x4229')][_0x1a4e('0x4492')](_0x48ee3a,_0x56e7cb),_0x5693d8=Cesium['Matrix3'][_0x1a4e('0x260')](_0x5693d8,_0x834e39,new Cesium['Matrix4']());}else if(_0x56e7cb['x']>0x0){_0x208d67=new Cesium[(_0x1a4e('0x393e'))](0x0,-0x1,0x0),_0x48ee3a=new Cesium[(_0x1a4e('0x393e'))](0x1,0x0,0x0),_0x834e39=_0x5d79aa[_0x1a4e('0x4229')][_0x1a4e('0x4492')](_0x208d67,_0x48ee3a);_0x834e39=Cesium[_0x1a4e('0x3aae')]['multiply'](_0x834e39,_0x23c00a,new Cesium[(_0x1a4e('0x3a29'))]()),_0x5693d8=_0x5d79aa[_0x1a4e('0x4229')][_0x1a4e('0x4492')](_0x48ee3a,_0x56e7cb),_0x5693d8=Cesium['Matrix3']['multiply'](_0x5693d8,_0x834e39,new Cesium[(_0x1a4e('0x3a29'))]());}else{_0x208d67=new Cesium[(_0x1a4e('0x393e'))](0x0,-0x1,0x0);_0x5693d8=_0x5d79aa[_0x1a4e('0x4229')][_0x1a4e('0x4492')](_0x208d67,_0x56e7cb),_0x5693d8=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x260')](_0x5693d8,_0x23c00a,new Cesium[(_0x1a4e('0x3a29'))]());}return _0x5693d8;},Object[_0x1a4e('0x2')](_0x23c00a[_0x1a4e('0xa')],_0x1a4e('0x3b5d'),{'get':function(){return this[_0x1a4e('0x4413')];},'set':function(_0x23c00a){this[_0x1a4e('0x4413')]=_0x23c00a,this[_0x1a4e('0x44c3')]();},'enumerable':!0x0,'configurable':!0x0}),_0x23c00a[_0x1a4e('0xa')][_0x1a4e('0x44cc')]=function(){return this[_0x1a4e('0x44c6')];},_0x23c00a[_0x1a4e('0xa')][_0x1a4e('0x44cd')]=function(){return this[_0x1a4e('0x44ce')];},_0x23c00a[_0x1a4e('0xa')][_0x1a4e('0x44cf')]=function(){return this['_normals'];},_0x23c00a[_0x1a4e('0xa')][_0x1a4e('0x44d0')]=function(){return this[_0x1a4e('0x44c5')];},_0x23c00a[_0x1a4e('0xa')][_0x1a4e('0x44c8')]=function(){},_0x23c00a['prototype']['getTriangleIndices']=function(){},_0x23c00a[_0x1a4e('0xa')][_0x1a4e('0x3da8')]=function(){var _0x23c00a,_0x56e7cb,_0x5693d8,_0x5d79aa=[],_0x208d67=[],_0x44df0f=[];for(var _0x53a783=0x0;_0x53a783_0x36dd24&&_0xe854ec>_0x105100&&(_0x2439d9=_0x36dd24<_0x105100?_0x105100:_0x36dd24),_0xe854ec<_0x36dd24&&_0xe854ec<_0x105100&&(_0x2439d9=_0x36dd24<_0x105100?_0x105100:_0x36dd24),_0x2439d9;},_0xe854ec[_0x1a4e('0xa')][_0x1a4e('0x3da8')]=function(){var _0x36dd24=this[_0x1a4e('0x4323')];if(!(_0x36dd24[_0x1a4e('0x398a')]['length']<0x2)){var _0xe854ec,_0x105100,_0x2439d9=_0x36dd24[_0x1a4e('0x3b5d')],_0x58538d=_0x36dd24['getRenderPara']();_0xe854ec=_0x58538d[_0x1a4e('0x44d5')],_0x105100=_0x58538d[_0x1a4e('0x44d6')];for(var _0x575439=[],_0x58b5e5=new _0xac8226['PipelineSegGeometry'](_0xe854ec,_0x2439d9,_0x36dd24[_0x1a4e('0x423f')]),_0x1e2c2f=new _0x5c47e2[(_0x1a4e('0x44bf'))](_0x105100,_0x2439d9,_0x36dd24[_0x1a4e('0x423f')]),_0x2cc3d4=[],_0xff1020=[],_0x2feb2f=[],_0x245da6=this['combineVertex'](_0x58b5e5,_0x1e2c2f,_0x2cc3d4,_0xff1020,_0x2feb2f),_0x48564=_0x58b5e5[_0x1a4e('0x44d0')](),_0x4323c3=0x0,_0x4965a9=[],_0x2a3392=0x0;_0x2a3392<_0x245da6;_0x2a3392++){for(var _0x2b9c42=0x1;_0x2b9c42<_0x48564;_0x2b9c42++)_0x4965a9[_0x1a4e('0x46')](_0x4323c3+_0x2b9c42-0x1),_0x4965a9[_0x1a4e('0x46')](_0x4323c3+_0x2b9c42);if(_0x2a3392>0x0)for(var _0x4288d7=0x0;_0x4288d7<_0x48564;_0x4288d7++)_0x4965a9['push'](_0x4323c3+_0x4288d7),_0x4965a9[_0x1a4e('0x46')](_0x4323c3-_0x48564+_0x4288d7);_0x4323c3+=_0x48564;}var _0x50be8e=new Float64Array(_0x2cc3d4),_0x224321=new Uint16Array(_0x4965a9),_0x397847=new Float32Array(_0xff1020),_0x2790ba=new Float32Array(_0x2feb2f),_0x5410d3=new Cesium['Geometry']({'vertexFormat':Cesium['VertexFormat'][_0x1a4e('0x4411')],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x50be8e}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0x397847}),'st':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x2790ba})},'indices':_0x224321,'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3ac0')],'boundingSphere':Cesium['BoundingSphere'][_0x1a4e('0x3b5b')](_0x2cc3d4)});return _0x575439[_0x1a4e('0x46')](_0x5410d3),_0x575439;}},_0xe854ec[_0x1a4e('0xa')][_0x1a4e('0x44d7')]=function(){var _0x36dd24=this['_dataItem'],_0xe854ec=_0x36dd24[_0x1a4e('0x398a')];if(!(_0xe854ec[_0x1a4e('0x1e')]<0x2)){var _0x105100,_0x2439d9=_0x36dd24[_0x1a4e('0x3b5d')],_0x575439=[],_0x5c47e2=[],_0xac8226=[];null==this[_0x1a4e('0x44d8')]&&(this[_0x1a4e('0x44d8')]=_0x58b5e5[_0x1a4e('0x4229')][_0x1a4e('0x4487')]());for(var _0x1e2c2f=0x1;_0x1e2c2f<_0xe854ec[_0x1a4e('0x1e')];_0x1e2c2f++){for(var _0x2cc3d4=_0xe854ec[_0x1e2c2f-0x1],_0x5b42af=_0xe854ec[_0x1e2c2f],_0x2c58ce=_0x58538d['GeoPoint'][_0x1a4e('0x3949')](_0x2cc3d4),_0x455bf8=_0x58538d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x5b42af),_0x5d28f3=new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x1),_0x572182=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x455bf8,_0x2c58ce,new Cesium[(_0x1a4e('0x393e'))]()),_0x42ec70=_0x58b5e5[_0x1a4e('0x4229')]['getRotateMatrix'](_0x5d28f3,_0x572182),_0x406ddf=[],_0x1a4b8b=[],_0x3c8ac1=[],_0x38040f=0x0;_0x38040f0x1){var _0x391947=_0x58538d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0xe854ec[_0x1e2c2f-0x2]),_0x30264b=((_0x5d28f3=Cesium['Cartesian3'][_0x1a4e('0x262')](_0x391947,_0x2c58ce,new Cesium[(_0x1a4e('0x393e'))]()))['x']*_0x572182['x']+_0x5d28f3['y']*_0x572182['y']+_0x5d28f3['z']*_0x572182['z'])/Math[_0x1a4e('0x91')]((_0x5d28f3['x']*_0x5d28f3['x']+_0x5d28f3['y']*_0x5d28f3['y']+_0x5d28f3['z']*_0x5d28f3['z'])*(_0x572182['x']*_0x572182['x']+_0x572182['y']*_0x572182['y']+_0x572182['z']*_0x572182['z'])),_0x419a7c=Math[_0x1a4e('0x92c')](_0x30264b)*Cesium[_0x1a4e('0x1020')][_0x1a4e('0x449c')],_0x1a3579=_0x58b5e5[_0x1a4e('0x4229')]['getRotateMatrix'](_0x5d28f3,_0x572182,_0x419a7c/0x2+0x5a),_0x9f0959=Cesium['Matrix3']['multiply'](_0x1a3579,_0x105100,new Cesium[(_0x1a4e('0x3aae'))]()),_0x10937b=Cesium['Cartesian3'][_0x1a4e('0x3a26')](_0x5d28f3,_0x572182,new Cesium[(_0x1a4e('0x393e'))]());_0x10937b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x10937b,new Cesium[(_0x1a4e('0x393e'))]());var _0x5b956a=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3cd4')](_0x105100,new Cesium[(_0x1a4e('0x3aae'))]()),_0x56a408=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3cd4')](_0x1a3579,new Cesium[(_0x1a4e('0x3aae'))]()),_0x3983d6=Cesium['Matrix3']['multiply'](_0x5b956a,_0x56a408,new Cesium[(_0x1a4e('0x3aae'))]()),_0x541cf2=this[_0x1a4e('0x449b')](_0x3983d6,_0x10937b);_0x10937b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),_0x10937b,new Cesium[(_0x1a4e('0x393e'))]());var _0x15ad6c=this[_0x1a4e('0x449b')](_0x3983d6,_0x10937b),_0x27130a=Cesium['Cartesian3'][_0x1a4e('0x330')](_0x5d28f3,new Cesium[(_0x1a4e('0x393e'))]()),_0x1568ec=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x572182,new Cesium[(_0x1a4e('0x393e'))]());_0x10937b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0x27130a,_0x1568ec,new Cesium[(_0x1a4e('0x393e'))]()),_0x10937b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x10937b,new Cesium[(_0x1a4e('0x393e'))]()),_0x10937b=Cesium['Cartesian3'][_0x1a4e('0x262')](new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),_0x10937b,new Cesium[(_0x1a4e('0x393e'))]());var _0x386e86=this[_0x1a4e('0x449b')](_0x3983d6,_0x10937b),_0x4385dc=this[_0x1a4e('0x44d4')](_0x541cf2,_0x386e86,_0x15ad6c),_0x24f289=_0x58b5e5[_0x1a4e('0x4229')][_0x1a4e('0x448d')](_0x4385dc),_0x1bf80c=0x6;_0x419a7c<0x5a&&(_0x1bf80c=0xc);for(var _0x26f9f6=(0xb4-_0x419a7c)/_0x1bf80c,_0x1458f5=0x0;_0x1458f5<=_0x1bf80c;_0x1458f5++){_0x1a3579=_0x58b5e5['PipeMath'][_0x1a4e('0x4492')](_0x5d28f3,_0x572182,_0x419a7c+_0x26f9f6*_0x1458f5),_0x9f0959=Cesium[_0x1a4e('0x3aae')]['multiply'](_0x1a3579,_0x105100,new Cesium[(_0x1a4e('0x3aae'))]());for(_0x38040f=0x1;_0x38040f<_0x24f289[_0x1a4e('0x1e')];_0x38040f++){var _0x37a991=_0x24f289[_0x38040f-0x1],_0x53ed74=_0x24f289[_0x38040f],_0x45da18=new Cesium[(_0x1a4e('0x393e'))](_0x2439d9*_0x37a991['x'],_0x2439d9*_0x37a991['y'],0x0),_0xb1dd7d=new Cesium['Cartesian3'](_0x2439d9*_0x53ed74['x'],_0x2439d9*_0x53ed74['y'],0x0);_0x45da18=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x449a')](_0x9f0959,_0x45da18,new Cesium[(_0x1a4e('0x393e'))]()),_0xb1dd7d=Cesium[_0x1a4e('0x3aae')]['multiplyByVector'](_0x9f0959,_0xb1dd7d,new Cesium[(_0x1a4e('0x393e'))]());var _0x5419ba=Cesium[_0x1a4e('0x393e')]['normalize'](_0x45da18,new Cesium[(_0x1a4e('0x393e'))]()),_0x1dad05=Cesium[_0x1a4e('0x393e')]['normalize'](_0xb1dd7d,new Cesium[(_0x1a4e('0x393e'))]());_0x45da18=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0x2c58ce,_0x45da18,new Cesium[(_0x1a4e('0x393e'))]()),_0xb1dd7d=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0x2c58ce,_0xb1dd7d,new Cesium[(_0x1a4e('0x393e'))]());var _0x4d2e1f=(_0x38040f-0x1)/this[_0x1a4e('0x44d8')]['length'],_0x5bd111=_0x38040f/this['_circlePts']['length'];_0x6ffdd(_0x45da18,new Cesium[(_0x1a4e('0x3952'))](0x0,_0x4d2e1f),_0x5419ba),_0x6ffdd(_0xb1dd7d,new Cesium[(_0x1a4e('0x3952'))](0x0,_0x5bd111),_0x1dad05);}}}_0x105100=_0x42ec70;}return[new Cesium[(_0x1a4e('0x3abe'))]({'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x44d9')],'attributes':{'position':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x575439}),'st':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x5c47e2}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0xac8226})},'primitiveType':Cesium['PrimitiveType'][_0x1a4e('0x3ac0')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x575439)})];}function _0x6ffdd(_0x36dd24,_0xe854ec,_0x105100){_0x575439[_0x1a4e('0x46')](_0x36dd24['x']),_0xac8226['push'](_0x105100['x']),_0x5c47e2[_0x1a4e('0x46')](_0xe854ec['x']),_0x575439[_0x1a4e('0x46')](_0x36dd24['y']),_0xac8226[_0x1a4e('0x46')](_0x105100['y']),_0x5c47e2['push'](_0xe854ec['y']),_0x575439[_0x1a4e('0x46')](_0x36dd24['z']),_0xac8226[_0x1a4e('0x46')](_0x105100['z']);}},_0xe854ec[_0x1a4e('0xa')][_0x1a4e('0x44da')]=function(_0x36dd24,_0xe854ec,_0x105100,_0x2439d9,_0x58538d){var _0x575439=_0x36dd24[_0x1a4e('0x44cc')](),_0x5c47e2=_0x36dd24[_0x1a4e('0x44cd')](),_0xac8226=_0x36dd24[_0x1a4e('0x44cf')](),_0x58b5e5=_0xe854ec[_0x1a4e('0x44cc')](),_0x1e2c2f=_0xe854ec[_0x1a4e('0x44cd')](),_0x2cc3d4=_0xe854ec[_0x1a4e('0x44cf')]();function _0x29a8b2(_0x36dd24,_0xe854ec,_0x575439){_0x105100[_0x1a4e('0x46')](_0x36dd24['x']),_0x2439d9['push'](_0xe854ec['x']),_0x58538d[_0x1a4e('0x46')](_0x575439['x']),_0x105100['push'](_0x36dd24['y']),_0x2439d9[_0x1a4e('0x46')](_0xe854ec['y']),_0x58538d[_0x1a4e('0x46')](_0x575439['y']),_0x105100[_0x1a4e('0x46')](_0x36dd24['z']),_0x2439d9[_0x1a4e('0x46')](_0xe854ec['z']);}for(var _0x530815=_0x36dd24['getShapePtsNum'](),_0x1ef7e3=0x0,_0x1d6924=0x0,_0x2588a0=0x0,_0x236208=_0xe854ec[_0x1a4e('0x44c7')](),_0xc655ef=0x0;_0xc655ef<_0x236208[_0x1a4e('0x1e')];_0xc655ef++){for(var _0x2bb46a=0x0;_0x2bb46a<_0x530815;_0x2bb46a++){_0x29a8b2(_0x575439[_0x5afb88=_0x1d6924+0x2*_0x2bb46a],_0xac8226[_0x5afb88],_0x5c47e2[_0x5afb88]);}for(_0x2bb46a=0x0;_0x2bb46a<_0x530815;_0x2bb46a++){_0x29a8b2(_0x575439[_0x5afb88=_0x1d6924+0x2*_0x2bb46a+0x1],_0xac8226[_0x5afb88],_0x5c47e2[_0x5afb88]);}_0x1d6924+=0x2*_0x530815,_0x1ef7e3+=0x2;for(var _0x4c4299=_0x236208[_0xc655ef],_0x45c979=0x0;_0x45c979<_0x4c4299[_0x1a4e('0x44c9')];_0x45c979++){for(var _0x41707f=0x0;_0x41707f<_0x530815;_0x41707f++){_0x29a8b2(_0x58b5e5[_0x5afb88=_0x2588a0+_0x41707f],_0x2cc3d4[_0x5afb88],_0x1e2c2f[_0x5afb88]);}_0x2588a0+=_0x530815,_0x1ef7e3++;}}for(_0x2bb46a=0x0;_0x2bb46a<_0x530815;_0x2bb46a++){_0x29a8b2(_0x575439[_0x5afb88=_0x1d6924+0x2*_0x2bb46a],_0xac8226[_0x5afb88],_0x5c47e2[_0x5afb88]);}for(_0x2bb46a=0x0;_0x2bb46a<_0x530815;_0x2bb46a++){var _0x5afb88;_0x29a8b2(_0x575439[_0x5afb88=_0x1d6924+0x2*_0x2bb46a+0x1],_0xac8226[_0x5afb88],_0x5c47e2[_0x5afb88]);}return _0x1d6924+=0x2*_0x530815,_0x1ef7e3+=0x2;},_0xe854ec[_0x1a4e('0xa')][_0x1a4e('0x44ac')]=function(){var _0x36dd24=this[_0x1a4e('0x4323')];if(!(_0x36dd24[_0x1a4e('0x398a')][_0x1a4e('0x1e')]<0x2)){var _0xe854ec,_0x105100,_0x2439d9=_0x36dd24[_0x1a4e('0x3b5d')],_0x58538d=_0x36dd24[_0x1a4e('0x4241')]();_0xe854ec=_0x58538d[_0x1a4e('0x44d5')],_0x105100=_0x58538d[_0x1a4e('0x44d6')];for(var _0x575439=[],_0x58b5e5=new _0xac8226[(_0x1a4e('0x44db'))](_0xe854ec,_0x2439d9,_0x36dd24[_0x1a4e('0x423f')]),_0x1e2c2f=new _0x5c47e2[(_0x1a4e('0x44bf'))](_0x105100,_0x2439d9,_0x36dd24[_0x1a4e('0x423f')]),_0x2cc3d4=[],_0x5e7155=[],_0x52ae69=[],_0x54177f=this[_0x1a4e('0x44da')](_0x58b5e5,_0x1e2c2f,_0x2cc3d4,_0x5e7155,_0x52ae69),_0x5d7194=_0x58b5e5[_0x1a4e('0x44d0')](),_0xff370e=0x0,_0x367a1a=[],_0x35c9e8=0x1;_0x35c9e8<_0x54177f;_0x35c9e8++){for(var _0x75f64c=0x1;_0x75f64c<_0x5d7194;_0x75f64c++)_0x367a1a['push'](_0xff370e+_0x75f64c-0x1),_0x367a1a[_0x1a4e('0x46')](_0xff370e+_0x5d7194+_0x75f64c-0x1),_0x367a1a[_0x1a4e('0x46')](_0xff370e+_0x75f64c),_0x367a1a[_0x1a4e('0x46')](_0xff370e+_0x75f64c),_0x367a1a[_0x1a4e('0x46')](_0xff370e+_0x5d7194+_0x75f64c-0x1),_0x367a1a[_0x1a4e('0x46')](_0xff370e+_0x5d7194+_0x75f64c);_0xff370e+=_0x5d7194;}_0xff370e+=_0x5d7194;var _0x1c8aff=new Float64Array(_0x2cc3d4),_0x4a9e61=new Uint16Array(_0x367a1a),_0x2b87ca=new Float32Array(_0x5e7155),_0x481793=new Float32Array(_0x52ae69),_0x130de2=new Cesium['Geometry']({'vertexFormat':Cesium['VertexFormat']['POSITION_NORMAL_AND_ST'],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x1c8aff}),'normal':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0x2b87ca}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x481793})},'indices':_0x4a9e61,'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')]['fromVertices'](_0x2cc3d4)});return _0x575439[_0x1a4e('0x46')](_0x130de2),_0x575439;}},_0xe854ec['prototype']['createTriangleGeometry_']=function(){var _0x36dd24=this['_dataItem'],_0xe854ec=_0x36dd24[_0x1a4e('0x398a')];if(!(_0xe854ec[_0x1a4e('0x1e')]<0x2)){var _0x105100,_0x2439d9=_0x36dd24['radius'],_0x575439=[],_0x5c47e2=[],_0xac8226=[];void 0x0===this[_0x1a4e('0x44d8')]&&(this['_circlePts']=_0x58b5e5[_0x1a4e('0x4229')][_0x1a4e('0x4487')]());for(var _0x1e2c2f=0x1;_0x1e2c2f<_0xe854ec[_0x1a4e('0x1e')];_0x1e2c2f++){for(var _0x2cc3d4=_0xe854ec[_0x1e2c2f-0x1],_0x2137aa=_0xe854ec[_0x1e2c2f],_0x426172=_0x58538d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x2cc3d4),_0x549412=_0x58538d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x2137aa),_0x292f2f=new Cesium['Cartesian3'](0x0,0x0,0x1),_0x4db54b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x549412,_0x426172,new Cesium[(_0x1a4e('0x393e'))]()),_0x387682=_0x58b5e5[_0x1a4e('0x4229')][_0x1a4e('0x4492')](_0x292f2f,_0x4db54b),_0x26a3b8=0x1;_0x26a3b80x1){var _0x1f8381=_0x58538d[_0x1a4e('0x38da')]['toCartesian3'](_0xe854ec[_0x1e2c2f-0x2]),_0x38f683=((_0x292f2f=Cesium['Cartesian3'][_0x1a4e('0x262')](_0x1f8381,_0x426172,new Cesium[(_0x1a4e('0x393e'))]()))['x']*_0x4db54b['x']+_0x292f2f['y']*_0x4db54b['y']+_0x292f2f['z']*_0x4db54b['z'])/Math[_0x1a4e('0x91')]((_0x292f2f['x']*_0x292f2f['x']+_0x292f2f['y']*_0x292f2f['y']+_0x292f2f['z']*_0x292f2f['z'])*(_0x4db54b['x']*_0x4db54b['x']+_0x4db54b['y']*_0x4db54b['y']+_0x4db54b['z']*_0x4db54b['z'])),_0x2f2208=Math['acos'](_0x38f683)*Cesium[_0x1a4e('0x1020')]['DEGREES_PER_RADIAN'],_0x1cb5ba=_0x58b5e5['PipeMath'][_0x1a4e('0x4492')](_0x292f2f,_0x4db54b,_0x2f2208/0x2+0x5a),_0x3ebd49=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x260')](_0x1cb5ba,_0x105100,new Cesium['Matrix3']()),_0x1023c5=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x292f2f,_0x4db54b,new Cesium[(_0x1a4e('0x393e'))]());_0x1023c5=Cesium['Cartesian3'][_0x1a4e('0x330')](_0x1023c5,new Cesium[(_0x1a4e('0x393e'))]());var _0x32aa16=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3cd4')](_0x105100,new Cesium[(_0x1a4e('0x3aae'))]()),_0x3a64a7=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3cd4')](_0x1cb5ba,new Cesium[(_0x1a4e('0x3aae'))]()),_0x784668=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x260')](_0x32aa16,_0x3a64a7,new Cesium[(_0x1a4e('0x3aae'))]()),_0x226254=this[_0x1a4e('0x449b')](_0x784668,_0x1023c5);_0x1023c5=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),_0x1023c5,new Cesium['Cartesian3']());var _0x228e85=this[_0x1a4e('0x449b')](_0x784668,_0x1023c5),_0x13d9a1=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x292f2f,new Cesium['Cartesian3']()),_0x244079=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x4db54b,new Cesium[(_0x1a4e('0x393e'))]());_0x1023c5=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0x13d9a1,_0x244079,new Cesium[(_0x1a4e('0x393e'))]()),_0x1023c5=Cesium[_0x1a4e('0x393e')]['normalize'](_0x1023c5,new Cesium['Cartesian3']()),_0x1023c5=Cesium['Cartesian3'][_0x1a4e('0x262')](new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),_0x1023c5,new Cesium['Cartesian3']());var _0x51c019=this['getAngle'](_0x784668,_0x1023c5),_0x281d85=this[_0x1a4e('0x44d4')](_0x226254,_0x51c019,_0x228e85),_0x229bcf=_0x58b5e5[_0x1a4e('0x4229')][_0x1a4e('0x448d')](_0x281d85),_0x40f9cb=0x6;_0x2f2208<0x5a&&(_0x40f9cb=0xc);for(var _0x1a4872=(0xb4-_0x2f2208)/_0x40f9cb,_0x2e8cce=[],_0x51d60d=0x0;_0x51d60d<=_0x40f9cb;_0x51d60d++){_0x1cb5ba=_0x58b5e5[_0x1a4e('0x4229')][_0x1a4e('0x4492')](_0x292f2f,_0x4db54b,_0x2f2208+_0x1a4872*_0x51d60d),_0x3ebd49=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x260')](_0x1cb5ba,_0x105100,new Cesium[(_0x1a4e('0x3aae'))]());var _0x3ad70a=[];for(_0x26a3b8=0x0;_0x26a3b8<_0x229bcf[_0x1a4e('0x1e')];_0x26a3b8++){var _0x1cc7ce=_0x229bcf[_0x26a3b8],_0x19da8a=new Cesium[(_0x1a4e('0x393e'))](_0x2439d9*_0x1cc7ce['x'],_0x2439d9*_0x1cc7ce['y'],0x0);_0x19da8a=Cesium['Matrix3'][_0x1a4e('0x449a')](_0x3ebd49,_0x19da8a,new Cesium[(_0x1a4e('0x393e'))]());var _0x345b4d=Cesium[_0x1a4e('0x393e')]['normalize'](_0x19da8a,new Cesium[(_0x1a4e('0x393e'))]());_0x19da8a=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0x426172,_0x19da8a,new Cesium[(_0x1a4e('0x393e'))]());var _0x3a6601=_0x26a3b8/this[_0x1a4e('0x44d8')][_0x1a4e('0x1e')];_0x3ad70a[_0x1a4e('0x46')]({'pos':_0x19da8a,'st':new Cesium[(_0x1a4e('0x3952'))](0x0,_0x3a6601),'nor':_0x345b4d});}_0x2e8cce[_0x1a4e('0x46')](_0x3ad70a);}for(var _0x24750c=0x1;_0x24750c<_0x2e8cce[_0x1a4e('0x1e')];_0x24750c++)for(var _0x16c67d=_0x2e8cce[_0x24750c-0x1],_0x39571b=_0x2e8cce[_0x24750c],_0x21544a=0x1;_0x21544a<_0x16c67d[_0x1a4e('0x1e')];_0x21544a++){var _0xb899bd=_0x16c67d[_0x21544a-0x1],_0x2b15fd=_0x16c67d[_0x21544a],_0x436616=_0x39571b[_0x21544a-0x1],_0x47b242=_0x39571b[_0x21544a];_0x1fd5ce(_0xb899bd[_0x1a4e('0xa4')],_0xb899bd['st'],_0xb899bd['nor']),_0x1fd5ce(_0x47b242[_0x1a4e('0xa4')],_0x47b242['st'],_0x47b242[_0x1a4e('0x44dc')]),_0x1fd5ce(_0x2b15fd[_0x1a4e('0xa4')],_0x2b15fd['st'],_0x2b15fd['nor']),_0x1fd5ce(_0x47b242[_0x1a4e('0xa4')],_0x47b242['st'],_0x47b242[_0x1a4e('0x44dc')]),_0x1fd5ce(_0xb899bd['pos'],_0xb899bd['st'],_0xb899bd['nor']),_0x1fd5ce(_0x436616[_0x1a4e('0xa4')],_0x436616['st'],_0x436616[_0x1a4e('0x44dc')]);}}_0x105100=_0x387682;}return[new Cesium['Geometry']({'vertexFormat':Cesium['VertexFormat'][_0x1a4e('0x44d9')],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x575439}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x5c47e2}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0xac8226})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x575439)})];}function _0x1fd5ce(_0x36dd24,_0xe854ec,_0x105100){_0x575439[_0x1a4e('0x46')](_0x36dd24['x']),_0xac8226[_0x1a4e('0x46')](_0x105100['x']),_0x5c47e2[_0x1a4e('0x46')](_0xe854ec['x']),_0x575439[_0x1a4e('0x46')](_0x36dd24['y']),_0xac8226[_0x1a4e('0x46')](_0x105100['y']),_0x5c47e2[_0x1a4e('0x46')](_0xe854ec['y']),_0x575439[_0x1a4e('0x46')](_0x36dd24['z']),_0xac8226[_0x1a4e('0x46')](_0x105100['z']);}},_0xe854ec[_0x1a4e('0xa')]['updateAttribute']=function(_0xe854ec){if(_0x36dd24['prototype'][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0xe854ec),this[_0x1a4e('0x4312')]&&this['_dataItem'])switch(_0xe854ec){case _0x1a4e('0x398a'):case _0x1a4e('0x3b5d'):case _0x1a4e('0x423f'):this[_0x1a4e('0x4312')]['removeAll'](),this[_0x1a4e('0x44ae')]=void 0x0,this[_0x1a4e('0x1fd')]();}},_0xe854ec;}(_0x575439['PipelineBaseRender']);},'./src/LayerManager/GraphicLayer/GraphicRender/Pipe/PipelineSegGeometry.ts':function(_0x1174a5,_0x3b7dcc,_0x4c52be){'use strict';_0x4c52be['r'](_0x3b7dcc),_0x4c52be['d'](_0x3b7dcc,'PipelineSegGeometry',function(){return _0x3515f3;});var _0x1fea28,_0xe74ad3=_0x4c52be(_0x1a4e('0x44dd')),_0x4e7e5b=_0x4c52be(_0x1a4e('0x4222')),_0x25b8ad=(_0x1fea28=function(_0x1174a5,_0x3b7dcc){return(_0x1fea28=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1174a5,_0x3b7dcc){_0x1174a5[_0x1a4e('0x295')]=_0x3b7dcc;}||function(_0x1174a5,_0x3b7dcc){for(var _0x4c52be in _0x3b7dcc)_0x3b7dcc['hasOwnProperty'](_0x4c52be)&&(_0x1174a5[_0x4c52be]=_0x3b7dcc[_0x4c52be]);})(_0x1174a5,_0x3b7dcc);},function(_0x1174a5,_0x3b7dcc){function _0x4c52be(){this[_0x1a4e('0x10')]=_0x1174a5;}_0x1fea28(_0x1174a5,_0x3b7dcc),_0x1174a5['prototype']=null===_0x3b7dcc?Object['create'](_0x3b7dcc):(_0x4c52be[_0x1a4e('0xa')]=_0x3b7dcc['prototype'],new _0x4c52be());}),_0x3515f3=function(_0x1174a5){function _0x3b7dcc(_0x3b7dcc,_0x4c52be,_0x1fea28){var _0xe74ad3=_0x1174a5[_0x1a4e('0x1')](this,_0x4c52be,_0x1fea28)||this;return _0xe74ad3['_pts']=_0x3b7dcc,_0xe74ad3[_0x1a4e('0x44c3')](),_0xe74ad3;}return _0x25b8ad(_0x3b7dcc,_0x1174a5),_0x3b7dcc['prototype'][_0x1a4e('0x44c3')]=function(){var _0x1174a5=this[_0x1a4e('0x4413')],_0x3b7dcc=_0x4e7e5b[_0x1a4e('0x4229')]['getShapePts'](this[_0x1a4e('0x44c4')]),_0x4c52be=_0x3b7dcc[_0x1a4e('0x1e')];this[_0x1a4e('0x44c5')]=_0x4c52be;var _0x1fea28=[],_0xe74ad3=[],_0x25b8ad=[];function _0x3515f3(_0x1174a5,_0x3b7dcc,_0x4c52be){_0x1fea28[_0x1a4e('0x46')](_0x1174a5),_0xe74ad3[_0x1a4e('0x46')](_0x3b7dcc),_0x25b8ad[_0x1a4e('0x46')](_0x4c52be);}for(var _0x4f2e80=new Cesium['Cartesian3'](0x0,0x0,0x1),_0x526b24=new Cesium[(_0x1a4e('0x393e'))](0x0,-0x1,0x0),_0x34a6d9=_0x4e7e5b[_0x1a4e('0x4229')]['getRotateMatrix'](_0x4f2e80,_0x526b24),_0x700788=0x0;_0x7007880x0)for(var _0x3bd95f=0x0;_0x3bd95f<_0x30aaa0;_0x3bd95f++)_0x21f1e4[_0x1a4e('0x46')](_0x36c9a3+_0x3bd95f),_0x21f1e4[_0x1a4e('0x46')](_0x36c9a3-_0x30aaa0+_0x3bd95f);_0x36c9a3+=_0x30aaa0;}return _0x21f1e4;},_0x36c9a3[_0x1a4e('0xa')][_0x1a4e('0x44ca')]=function(){for(var _0x30aaa0=this['_shapePtsNum'],_0x36c9a3=0x0,_0x21f1e4=[],_0x5efda4=0x1;_0x5efda40x0)for(var _0x5a6d28=0x0;_0x5a6d28<_0x3715c5;_0x5a6d28++)_0xacd976[_0x1a4e('0x46')](_0x3a7ced+_0x5a6d28),_0xacd976[_0x1a4e('0x46')](_0x3a7ced-_0x3715c5+_0x5a6d28);_0x3a7ced+=_0x3715c5;}return _0xacd976;},_0x3a7ced[_0x1a4e('0xa')][_0x1a4e('0x44ca')]=function(){for(var _0x3715c5=this['_shapePtsNum'],_0x3a7ced=0x0,_0xacd976=[],_0x31f7b1=0x1;_0x31f7b10x0)for(var _0xa983c2=0x0;_0xa983c2<_0x432003;_0xa983c2++)_0x2ef25f[_0x1a4e('0x46')](_0xbdcf52+_0xa983c2),_0x2ef25f[_0x1a4e('0x46')](_0xbdcf52-_0x432003+_0xa983c2);_0xbdcf52+=_0x432003;}return _0x2ef25f;},_0xbdcf52[_0x1a4e('0xa')][_0x1a4e('0x44ca')]=function(){for(var _0x432003=this['_shapePtsNum'],_0xbdcf52=0x0,_0x2ef25f=[],_0xd9afa=0x1;_0xd9afa=0x168&&(this[_0x1a4e('0x502')]=0x0),this['polygonAppearance']['material']['uniforms'][_0x1a4e('0x502')]=this[_0x1a4e('0x502')];},Object[_0x1a4e('0x2')](_0x44b4ba[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x438e6d[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x44b4ba[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){this['_renderObj']=new Cesium[(_0x1a4e('0x42e5'))]({'destroyPrimitives':!0x1}),this[_0x1a4e('0x3e0')](),this['createAppearence'](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](this[_0x1a4e('0x4506')]),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](this['polygonPrimitive']),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this['_renderObj']);},_0x44b4ba[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(){for(var _0xce7e92=this['_dataItem'],_0x44b4ba=[],_0x51b058=[],_0x4aa712=_0xce7e92[_0x1a4e('0x3b5d')],_0x438e6d=0x0;_0x438e6d<0x168;_0x438e6d+=0x6){var _0x540b55=Math['PI']/0xb4*_0x438e6d;_0x44b4ba[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393e'))](_0x4aa712*Math[_0x1a4e('0x90')](_0x540b55),_0x4aa712*Math[_0x1a4e('0x8f')](_0x540b55),0x0)),_0x51b058[_0x1a4e('0x46')](new Cesium['Cartesian3']((_0x4aa712-0x0)*Math['cos'](_0x540b55),(_0x4aa712-0x0)*Math[_0x1a4e('0x8f')](_0x540b55),0x0));}_0x44b4ba[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393e'))](_0x4aa712,0x0,0x0)),_0x51b058[_0x1a4e('0x46')](new Cesium['Cartesian3'](_0x4aa712-0x0,0x0,0x0));for(var _0x1b2294=[],_0x2d4165=[],_0x4daab1=this[_0x1a4e('0x43f0')](),_0x2c6c74=0x0;_0x2c6c74<_0x44b4ba[_0x1a4e('0x1e')];_0x2c6c74++)_0x1b2294[_0x1a4e('0x46')](Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x4507')](_0x4daab1,_0x44b4ba[_0x2c6c74],new Cesium[(_0x1a4e('0x393e'))]())),_0x2d4165[_0x1a4e('0x46')](Cesium['Matrix4'][_0x1a4e('0x4507')](_0x4daab1,_0x51b058[_0x2c6c74],new Cesium[(_0x1a4e('0x393e'))]()));this[_0x1a4e('0x4508')]=new Cesium[(_0x1a4e('0x3945'))][(_0x1a4e('0x39b3'))]({'positions':_0x1b2294}),this[_0x1a4e('0x4509')]=new Cesium[(_0x1a4e('0x450a'))]({'positions':_0x2d4165,'width':_0xce7e92[_0x1a4e('0x4191')]});},_0x44b4ba[_0x1a4e('0xa')][_0x1a4e('0x4418')]=function(){Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x502')])||(this[_0x1a4e('0x502')]=0x0);var _0xce7e92=this['_dataItem'];this['polygonAppearance']=new Cesium['MaterialAppearance']({'material':new Cesium['Material']({'fabric':{'uniforms':{'image':_0x2d4165[_0x1a4e('0x39a0')]['formatUrlByBaseJs']('./resources/image/scan.png'),'color':_0x540b55['RenderUtils'][_0x1a4e('0x3b40')](_0xce7e92['scanColor']),'angle':Cesium['Math'][_0x1a4e('0x566')](this[_0x1a4e('0x502')])},'source':this[_0x1a4e('0x3b43')]()}}),'transparent':!0x0}),this[_0x1a4e('0x450b')]=new Cesium['PolylineMaterialAppearance']({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':_0x540b55[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0xce7e92['scanLineColor'])}}})});},_0x44b4ba[_0x1a4e('0xa')][_0x1a4e('0x3b5e')]=function(){this[_0x1a4e('0x450c')]=new Cesium['GroundPrimitive']({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x4508')]}),'appearance':this[_0x1a4e('0x450d')],'asynchronous':!0x1}),this[_0x1a4e('0x4506')]=new Cesium['GroundPolylinePrimitive']({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x4509')]}),'appearance':this[_0x1a4e('0x450b')],'asynchronous':!0x1});},_0x44b4ba[_0x1a4e('0xa')][_0x1a4e('0x3b43')]=function(){return _0x1a4e('0x450e');},_0x44b4ba[_0x1a4e('0xa')][_0x1a4e('0x43f0')]=function(){var _0xce7e92=this[_0x1a4e('0x4323')],_0x44b4ba=_0x1b2294[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0xce7e92[_0x1a4e('0x3553')]),_0x51b058=Cesium[_0x1a4e('0x393e')]['normalize'](_0x44b4ba,new Cesium[(_0x1a4e('0x393e'))]()),_0x4aa712=new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x1),_0x438e6d=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a9d')](_0x4aa712,_0x51b058)/Cesium['Cartesian3'][_0x1a4e('0x25c')](_0x4aa712)*Cesium['Cartesian3'][_0x1a4e('0x25c')](_0x51b058),_0x540b55=Math[_0x1a4e('0x92c')](_0x438e6d),_0x2d4165=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x4aa712,_0x51b058,new Cesium[(_0x1a4e('0x393e'))]()),_0x4daab1=Cesium[_0x1a4e('0x3aac')]['fromAxisAngle'](_0x2d4165,_0x540b55),_0x2c6c74=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3aaf')](_0x4daab1);return Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x2c6c74,_0x44b4ba);},_0x44b4ba[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x44b4ba){_0xce7e92[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x44b4ba);var _0x51b058=this[_0x1a4e('0x4323')];switch(_0x44b4ba){case'scanColor':this[_0x1a4e('0x450d')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['color']=_0x540b55[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x51b058[_0x44b4ba]);break;case _0x1a4e('0x428c'):this['polylineAppearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x540b55[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x51b058[_0x44b4ba]);break;case _0x1a4e('0x3b5d'):case _0x1a4e('0x3553'):case'lineWidth':this[_0x1a4e('0x4312')]['removeAll'](),this[_0x1a4e('0x3e0')](),this['createPrimitive'](),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](this[_0x1a4e('0x4506')]),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](this[_0x1a4e('0x450c')]);break;case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]['show']=_0x51b058[_0x44b4ba]&&_0x51b058['renderVisible'];}},_0x44b4ba['prototype'][_0x1a4e('0xb5')]=function(){_0xce7e92[_0x1a4e('0xa')][_0x1a4e('0xb5')]['call'](this);},_0x44b4ba;}(_0x4daab1[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/ScreenTextRender.ts':function(_0x1cb1ac,_0x5b780e,_0x167ec5){'use strict';_0x167ec5['r'](_0x5b780e),_0x167ec5['d'](_0x5b780e,_0x1a4e('0x428e'),function(){return _0x324f48;});var _0x412ad5,_0x46aed3=_0x167ec5('./src/LayerManager/GraphicLayer/GraphicRender/html/ScreenTextItem.ts'),_0x5d0b6a=_0x167ec5('./src/LayerManager/GraphicLayer/GraphicRender/RenderObject.ts'),_0xd0104e=(_0x412ad5=function(_0x1cb1ac,_0x5b780e){return(_0x412ad5=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1cb1ac,_0x5b780e){_0x1cb1ac[_0x1a4e('0x295')]=_0x5b780e;}||function(_0x1cb1ac,_0x5b780e){for(var _0x167ec5 in _0x5b780e)_0x5b780e['hasOwnProperty'](_0x167ec5)&&(_0x1cb1ac[_0x167ec5]=_0x5b780e[_0x167ec5]);})(_0x1cb1ac,_0x5b780e);},function(_0x1cb1ac,_0x5b780e){function _0x167ec5(){this[_0x1a4e('0x10')]=_0x1cb1ac;}_0x412ad5(_0x1cb1ac,_0x5b780e),_0x1cb1ac[_0x1a4e('0xa')]=null===_0x5b780e?Object[_0x1a4e('0x7')](_0x5b780e):(_0x167ec5[_0x1a4e('0xa')]=_0x5b780e[_0x1a4e('0xa')],new _0x167ec5());}),_0x324f48=function(_0x1cb1ac){function _0x5b780e(_0x5b780e,_0x167ec5){var _0x412ad5=_0x1cb1ac[_0x1a4e('0x1')](this,_0x5b780e,_0x167ec5)||this;return _0x412ad5[_0x1a4e('0x4323')]=_0x5b780e,_0x412ad5;}return _0xd0104e(_0x5b780e,_0x1cb1ac),Object[_0x1a4e('0x2')](_0x5b780e[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x5d0b6a[_0x1a4e('0x4318')][_0x1a4e('0x44e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x5b780e[_0x1a4e('0xa')]['init']=function(){var _0x1cb1ac=this[_0x1a4e('0x4323')];this[_0x1a4e('0x437d')](),this[_0x1a4e('0x4312')]=this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x437e')]),this[_0x1a4e('0x4312')]['dataId']=_0x1cb1ac['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x1cb1ac[_0x1a4e('0x2cb')],this[_0x1a4e('0x4312')][_0x1a4e('0x3dd9')]=_0x1cb1ac;},_0x5b780e[_0x1a4e('0xa')]['updateAttribute']=function(_0x1cb1ac){this[_0x1a4e('0x4381')](_0x1cb1ac);},_0x5b780e[_0x1a4e('0xa')][_0x1a4e('0x4381')]=function(_0x1cb1ac){this['_resProps']||(this[_0x1a4e('0x4380')]=new _0x46aed3[(_0x1a4e('0x450f'))]());var _0x5b780e=this[_0x1a4e('0x4323')];switch(_0x1cb1ac){case _0x1a4e('0x3553'):this[_0x1a4e('0x4380')][_0x1a4e('0x5f')]=_0x5b780e[_0x1a4e('0x3553')][0x0],this[_0x1a4e('0x4380')][_0x1a4e('0x5e')]=_0x5b780e[_0x1a4e('0x3553')][0x1];break;case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4380')][_0x1a4e('0x375d')]=_0x5b780e[_0x1a4e('0x3b2c')]?_0x1a4e('0x260c'):_0x1a4e('0x60');case _0x1a4e('0x3936'):this[_0x1a4e('0x4380')][_0x1a4e('0x3936')]=_0x5b780e[_0x1a4e('0x3936')];break;case'height':this['_resProps'][_0x1a4e('0x152')]=_0x5b780e[_0x1a4e('0x152')];break;case _0x1a4e('0x40a2'):this[_0x1a4e('0x4380')][_0x1a4e('0x134')]=_0x5b780e[_0x1a4e('0x40a2')];break;case _0x1a4e('0x409f'):this['_resProps'][_0x1a4e('0x4510')]=_0x5b780e[_0x1a4e('0x409f')];break;case'backgroundColor':this[_0x1a4e('0x4380')]['backgroundColor']=_0x5b780e['backgroundColor'];break;case _0x1a4e('0x428f'):this[_0x1a4e('0x4380')][_0x1a4e('0x4511')]=_0x5b780e[_0x1a4e('0x428f')];break;case _0x1a4e('0x4172'):this[_0x1a4e('0x4380')][_0x1a4e('0x4512')]=_0x5b780e['outlineWidth'];break;case _0x1a4e('0x4207'):this[_0x1a4e('0x4380')]['fontSize']=_0x5b780e[_0x1a4e('0x4207')];break;case _0x1a4e('0x4290'):this[_0x1a4e('0x4380')]['fontFamily']=_0x5b780e[_0x1a4e('0x4290')];break;case _0x1a4e('0x4291'):this[_0x1a4e('0x4380')]['fontWeight']=_0x5b780e[_0x1a4e('0x4291')];break;case'textAlign':this[_0x1a4e('0x4380')][_0x1a4e('0x426c')]=_0x5b780e['textAlign'];break;case _0x1a4e('0x4292'):case'backgroundImgUrl':_0x5b780e[_0x1a4e('0x4292')]&&_0x5b780e[_0x1a4e('0x4293')]&&'none'!==_0x5b780e[_0x1a4e('0x4293')]?this[_0x1a4e('0x4380')][_0x1a4e('0x4513')]=_0x1a4e('0x4514')+_0x5b780e[_0x1a4e('0x4293')]+')':this['_resProps'][_0x1a4e('0x4513')]='none';break;case'backgroundImgSize':var _0x167ec5=_0x5b780e[_0x1a4e('0x4294')];_0x1a4e('0x9')==typeof _0x167ec5?this['_resProps'][_0x1a4e('0x4515')]=_0x167ec5:('object'==typeof _0x167ec5||_0x167ec5 instanceof Array)&&(this[_0x1a4e('0x4380')][_0x1a4e('0x4515')]=_0x167ec5[0x0]+'px\x20'+_0x167ec5[0x1]+'px');break;case'backgroundImgPos':this[_0x1a4e('0x4380')][_0x1a4e('0x4516')]=_0x5b780e[_0x1a4e('0x4295')];break;case'backgroundImgRepeat':this['_resProps']['backgroundRepeat']=_0x5b780e[_0x1a4e('0x4296')];break;case _0x1a4e('0x4297'):this[_0x1a4e('0x4380')][_0x1a4e('0x4297')]=_0x5b780e[_0x1a4e('0x4297')];break;case _0x1a4e('0x4298'):this[_0x1a4e('0x4380')]['paddingRight']=_0x5b780e[_0x1a4e('0x4298')];break;case _0x1a4e('0x4299'):this[_0x1a4e('0x4380')][_0x1a4e('0x4299')]=_0x5b780e[_0x1a4e('0x4299')];break;case _0x1a4e('0x429a'):this[_0x1a4e('0x4380')][_0x1a4e('0x429a')]=_0x5b780e[_0x1a4e('0x429a')];break;case'lineHeight':this[_0x1a4e('0x4380')][_0x1a4e('0x4208')]=_0x5b780e[_0x1a4e('0x4208')];break;case _0x1a4e('0x3eeb'):this[_0x1a4e('0x4380')][_0x1a4e('0x3eeb')]=_0x5b780e[_0x1a4e('0x3eeb')];break;case'text':this['_resProps']['text']=_0x5b780e[_0x1a4e('0xe04')];}if(this[_0x1a4e('0x4312')]){var _0x412ad5=this[_0x1a4e('0x4312')];_0x1a4e('0x3553')===_0x1cb1ac?(_0x412ad5[_0x1a4e('0x4517')](_0x1a4e('0x5f'),this[_0x1a4e('0x4380')][_0x1a4e('0x5f')]),_0x412ad5[_0x1a4e('0x4517')](_0x1a4e('0x5e'),this[_0x1a4e('0x4380')][_0x1a4e('0x5e')])):_0x1a4e('0x409f')===_0x1cb1ac?_0x412ad5[_0x1a4e('0x4517')](_0x1a4e('0x4510'),this[_0x1a4e('0x4380')][_0x1a4e('0x4510')]):_0x1a4e('0x428f')===_0x1cb1ac?_0x412ad5[_0x1a4e('0x4517')]('borderStyle',this[_0x1a4e('0x4380')][_0x1a4e('0x4511')]):_0x1a4e('0x4172')===_0x1cb1ac?_0x412ad5['setProperty'](_0x1a4e('0x4512'),this['_resProps'][_0x1a4e('0x4512')]):_0x1a4e('0x3b2c')===_0x1cb1ac?_0x412ad5[_0x1a4e('0x4517')](_0x1a4e('0x375d'),this['_resProps']['display']):_0x1a4e('0x40a2')===_0x1cb1ac?_0x412ad5[_0x1a4e('0x4517')](_0x1a4e('0x134'),this['_resProps'][_0x1a4e('0x134')]):'backgroundImgUrl'===_0x1cb1ac||'isShowBackgroundImg'===_0x1cb1ac?_0x412ad5['setProperty'](_0x1a4e('0x4513'),this[_0x1a4e('0x4380')]['backgroundImage']):_0x1a4e('0x4294')===_0x1cb1ac?_0x412ad5[_0x1a4e('0x4517')](_0x1a4e('0x4515'),this[_0x1a4e('0x4380')][_0x1a4e('0x4515')]):_0x1a4e('0x4295')===_0x1cb1ac?_0x412ad5[_0x1a4e('0x4517')](_0x1a4e('0x4516'),this[_0x1a4e('0x4380')][_0x1a4e('0x4516')]):_0x1a4e('0x4296')===_0x1cb1ac?_0x412ad5[_0x1a4e('0x4517')]('backgroundRepeat',this[_0x1a4e('0x4380')][_0x1a4e('0x4518')]):_0x412ad5[_0x1a4e('0x4517')](_0x1cb1ac,this[_0x1a4e('0x4380')][_0x1cb1ac]);}},_0x5b780e[_0x1a4e('0xa')][_0x1a4e('0x4519')]=function(){return this['_renderObj']['text'];},_0x5b780e[_0x1a4e('0xa')][_0x1a4e('0x437d')]=function(){this[_0x1a4e('0x437f')](),this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x437e')]=this['_resProps']);},_0x5b780e[_0x1a4e('0xa')][_0x1a4e('0x437f')]=function(){for(var _0x1cb1ac=[_0x1a4e('0x3553'),_0x1a4e('0x3b2c'),'width','height',_0x1a4e('0x3ef1'),_0x1a4e('0x40a2'),'outlineColor',_0x1a4e('0x4172'),_0x1a4e('0x428f'),_0x1a4e('0x4207'),_0x1a4e('0x4290'),'fontWeight',_0x1a4e('0x426c'),_0x1a4e('0x4293'),_0x1a4e('0x4294'),'backgroundImgPos','paddingLeft',_0x1a4e('0x4298'),_0x1a4e('0x4299'),'paddingBottom','lineHeight',_0x1a4e('0x3eeb'),_0x1a4e('0xe04')],_0x5b780e=0x0;_0x5b780e<_0x1cb1ac['length'];_0x5b780e++)this[_0x1a4e('0x4381')](_0x1cb1ac[_0x5b780e]);},_0x5b780e;}(_0x5d0b6a[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/SectorSensor.ts':function(_0x42dea5,_0x5497d4,_0x4beeab){'use strict';_0x4beeab['r'](_0x5497d4),_0x4beeab['d'](_0x5497d4,_0x1a4e('0x451a'),function(){return _0x5d8ee7;});var _0x4dc9ee,_0x2d0e01=_0x4beeab(_0x1a4e('0x430f')),_0x103fdf=_0x4beeab(_0x1a4e('0x38d0')),_0x486a75=_0x4beeab(_0x1a4e('0x3b38')),_0x5e3226=(_0x4dc9ee=function(_0x42dea5,_0x5497d4){return(_0x4dc9ee=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x42dea5,_0x5497d4){_0x42dea5['__proto__']=_0x5497d4;}||function(_0x42dea5,_0x5497d4){for(var _0x4beeab in _0x5497d4)_0x5497d4[_0x1a4e('0xb')](_0x4beeab)&&(_0x42dea5[_0x4beeab]=_0x5497d4[_0x4beeab]);})(_0x42dea5,_0x5497d4);},function(_0x42dea5,_0x5497d4){function _0x4beeab(){this[_0x1a4e('0x10')]=_0x42dea5;}_0x4dc9ee(_0x42dea5,_0x5497d4),_0x42dea5[_0x1a4e('0xa')]=null===_0x5497d4?Object['create'](_0x5497d4):(_0x4beeab['prototype']=_0x5497d4['prototype'],new _0x4beeab());}),_0x5d8ee7=function(_0x42dea5){function _0x5497d4(_0x5497d4,_0x4beeab){var _0x4dc9ee=_0x42dea5['call'](this,_0x5497d4,_0x4beeab)||this;return _0x4dc9ee[_0x1a4e('0x3dd0')]=function(){var _0x42dea5=_0x4dc9ee[_0x1a4e('0x4323')],_0x5497d4=_0x4dc9ee[_0x1a4e('0x432f')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x1af')];_0x5497d4>=0x0&&((_0x5497d4-=0.001*_0x42dea5[_0x1a4e('0x40e3')])<=0x0&&(_0x5497d4=0x1),_0x4dc9ee['_appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x1af')]=_0x5497d4);},_0x4dc9ee['_viewer'][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')]['addEventListener'](_0x4dc9ee[_0x1a4e('0x3dd0')]),_0x4dc9ee;}return _0x5e3226(_0x5497d4,_0x42dea5),Object[_0x1a4e('0x2')](_0x5497d4['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x2d0e01[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x5497d4[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x42dea5=this[_0x1a4e('0x4323')];this['createMaterial'](),this[_0x1a4e('0x3b53')](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x43f0')](),this['_renderRoot']['add'](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x42dea5['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x42dea5['name'];},_0x5497d4[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')]&&(this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this['_renderObj']=void 0x0),this[_0x1a4e('0x1fd')]();},_0x5497d4[_0x1a4e('0xa')]['updateAttribute']=function(_0x42dea5){var _0x5497d4=this['_dataItem'];switch(_0x42dea5){case'evenConeColor':this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x4412')]=_0x486a75['RenderUtils'][_0x1a4e('0x3b40')](_0x5497d4[_0x42dea5]);break;case _0x1a4e('0x40a8'):this[_0x1a4e('0x432f')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x451b')]=_0x486a75[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x5497d4[_0x42dea5]);break;case'visible':this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0x5497d4[_0x42dea5]&&_0x5497d4[_0x1a4e('0x41a2')];break;case _0x1a4e('0x3553'):case _0x1a4e('0x3e50'):case _0x1a4e('0x3e4f'):case _0x1a4e('0x3aa1'):case _0x1a4e('0x3d2e'):this[_0x1a4e('0x937')]();}},_0x5497d4[_0x1a4e('0xa')][_0x1a4e('0x3b53')]=function(){var _0x42dea5=[],_0x5497d4=[],_0x4beeab=this['_dataItem'],_0x4dc9ee=_0x103fdf[_0x1a4e('0x38da')]['toCartesian3'](_0x4beeab[_0x1a4e('0x3e50')]),_0x2d0e01=_0x103fdf[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x4beeab[_0x1a4e('0x3e4f')]),_0x486a75=Cesium[_0x1a4e('0x393e')]['subtract'](_0x4dc9ee,_0x2d0e01,new Cesium[(_0x1a4e('0x393e'))]());this['_radius']=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x486a75);for(var _0x5e3226=0x5a-Math[_0x1a4e('0xb4')](_0x4beeab['fov']/0x2),_0x5d8ee7=this['createGeometryMatrix'](),_0xa1fe6f=0x0;_0xa1fe6f<_0x4beeab[_0x1a4e('0x3aa1')];_0xa1fe6f+=0x3){var _0x18b589=Math['PI']/0xb4*(_0x5e3226+_0xa1fe6f),_0x4c24f8=Math['PI']/0xb4*(_0x5e3226+_0xa1fe6f+0x3),_0x444cde=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x4507')](_0x5d8ee7,new Cesium[(_0x1a4e('0x393e'))](this[_0x1a4e('0x4413')]*Math[_0x1a4e('0x90')](_0x18b589),this[_0x1a4e('0x4413')]*Math['sin'](_0x18b589),0x0),new Cesium[(_0x1a4e('0x393e'))]()),_0x1af20a=Cesium['Matrix4'][_0x1a4e('0x4507')](_0x5d8ee7,new Cesium['Cartesian3'](this[_0x1a4e('0x4413')]*Math[_0x1a4e('0x90')](_0x4c24f8),this[_0x1a4e('0x4413')]*Math[_0x1a4e('0x8f')](_0x4c24f8),0x0),new Cesium[(_0x1a4e('0x393e'))]());_0x42dea5[_0x1a4e('0x46')](_0x2d0e01['x']),_0x42dea5[_0x1a4e('0x46')](_0x2d0e01['y']),_0x42dea5[_0x1a4e('0x46')](_0x2d0e01['z']),_0x5497d4[_0x1a4e('0x46')](0.5),_0x5497d4['push'](0.5),_0x42dea5[_0x1a4e('0x46')](_0x444cde['x']),_0x42dea5[_0x1a4e('0x46')](_0x444cde['y']),_0x42dea5[_0x1a4e('0x46')](_0x444cde['z']),_0x5497d4[_0x1a4e('0x46')](0.5*Math['cos'](_0x18b589)+0.5),_0x5497d4[_0x1a4e('0x46')](0.5*-Math['sin'](_0x18b589)+0.5),_0x42dea5[_0x1a4e('0x46')](_0x1af20a['x']),_0x42dea5[_0x1a4e('0x46')](_0x1af20a['y']),_0x42dea5[_0x1a4e('0x46')](_0x1af20a['z']),_0x5497d4[_0x1a4e('0x46')](0.5*Math[_0x1a4e('0x90')](_0x4c24f8)+0.5),_0x5497d4[_0x1a4e('0x46')](0.5*-Math[_0x1a4e('0x8f')](_0x4c24f8)+0.5);}this['createGrometry'](_0x42dea5,_0x5497d4);},_0x5497d4[_0x1a4e('0xa')][_0x1a4e('0x3b54')]=function(_0x42dea5,_0x5497d4){var _0x4beeab=new Float64Array(_0x42dea5),_0x4dc9ee=new Float32Array(_0x5497d4);this[_0x1a4e('0x43f4')]=new Cesium[(_0x1a4e('0x3abe'))]({'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')]['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x4beeab}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x4dc9ee})},'primitiveType':Cesium['PrimitiveType'][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')]['fromVertices'](_0x4beeab)});},_0x5497d4[_0x1a4e('0xa')][_0x1a4e('0x43e8')]=function(){var _0x42dea5=this[_0x1a4e('0x4323')];this[_0x1a4e('0x432f')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium['Material']({'fabric':{'type':_0x1a4e('0x43f5'),'uniforms':{'evenColor':_0x486a75[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x42dea5['oddConeColor']),'oddColor':_0x486a75[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x42dea5[_0x1a4e('0x40a7')]),'repeat':0x14,'offset':0x1}}})});},_0x5497d4[_0x1a4e('0xa')][_0x1a4e('0x3b5e')]=function(){var _0x42dea5=this[_0x1a4e('0x4323')];this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium['GeometryInstance']({'geometry':this['_geometry']}),'appearance':this[_0x1a4e('0x432f')],'asynchronous':!0x1,'show':_0x42dea5[_0x1a4e('0x3b2c')]});},_0x5497d4[_0x1a4e('0xa')][_0x1a4e('0x43f0')]=function(){var _0x42dea5=this[_0x1a4e('0x4323')],_0x5497d4=_0x103fdf['GeoPoint'][_0x1a4e('0x3949')](_0x42dea5[_0x1a4e('0x3e50')]),_0x4beeab=_0x103fdf[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x42dea5[_0x1a4e('0x3e4f')]),_0x4dc9ee=Cesium['Cartesian3']['subtract'](_0x5497d4,_0x4beeab,new Cesium[(_0x1a4e('0x393e'))]()),_0x2d0e01=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x4beeab,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),new Cesium['Cartesian3']()),_0x486a75=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x4dc9ee,new Cesium[(_0x1a4e('0x393e'))]()),_0x5e3226=new Cesium[(_0x1a4e('0x393e'))](0x0,0x1,0x0),_0x5d8ee7=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a9d')](_0x5e3226,_0x486a75)/Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x5e3226)*Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x486a75),_0x4e3cb0=Math['acos'](_0x5d8ee7),_0x5970eb=Cesium[_0x1a4e('0x3aac')]['fromAxisAngle'](new Cesium[(_0x1a4e('0x393e'))](0x0,0x1,0x0),Math['PI']/0xb4*_0x42dea5[_0x1a4e('0x3d2e')]),_0x2fbed3=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3aaf')](_0x5970eb),_0x29163f=Cesium[_0x1a4e('0x393e')]['cross'](_0x5e3226,_0x486a75,new Cesium[(_0x1a4e('0x393e'))]()),_0x572b3f=Cesium[_0x1a4e('0x3aac')]['fromAxisAngle'](_0x29163f,_0x4e3cb0),_0x4f98f9=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3aaf')](_0x572b3f),_0x151ced=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x260')](_0x4f98f9,_0x2fbed3,new Cesium[(_0x1a4e('0x3aae'))]());return Cesium['Matrix4'][_0x1a4e('0x3ab1')](_0x151ced,_0x2d0e01);},_0x5497d4[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this['_viewer'][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')]['removeEventListener'](this[_0x1a4e('0x3dd0')]),_0x42dea5[_0x1a4e('0xa')]['clear'][_0x1a4e('0x1')](this);},_0x5497d4;}(_0x2d0e01[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/SensorRender.ts':function(_0x220d18,_0x3a2523,_0x26e397){'use strict';_0x26e397['r'](_0x3a2523),_0x26e397['d'](_0x3a2523,_0x1a4e('0x42a4'),function(){return _0x2c370a;});var _0x4e9cc9,_0x191e39=_0x26e397('./src/LayerManager/GraphicLayer/GraphicRender/RenderObject.ts'),_0x2e2d6b=_0x26e397(_0x1a4e('0x3b38')),_0xc6667a=_0x26e397('./src/Utils/GeoPoint.ts'),_0x3e4337=_0x26e397('./src/LayerManager/GraphicLayer/GraphicRender/RenderPositionObject.ts'),_0x4d00d0=(_0x4e9cc9=function(_0x220d18,_0x3a2523){return(_0x4e9cc9=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x220d18,_0x3a2523){_0x220d18[_0x1a4e('0x295')]=_0x3a2523;}||function(_0x220d18,_0x3a2523){for(var _0x26e397 in _0x3a2523)_0x3a2523[_0x1a4e('0xb')](_0x26e397)&&(_0x220d18[_0x26e397]=_0x3a2523[_0x26e397]);})(_0x220d18,_0x3a2523);},function(_0x220d18,_0x3a2523){function _0x26e397(){this['constructor']=_0x220d18;}_0x4e9cc9(_0x220d18,_0x3a2523),_0x220d18[_0x1a4e('0xa')]=null===_0x3a2523?Object[_0x1a4e('0x7')](_0x3a2523):(_0x26e397[_0x1a4e('0xa')]=_0x3a2523[_0x1a4e('0xa')],new _0x26e397());}),_0xa37c6f=_0x26e397(_0x1a4e('0x451c')),_0x2c370a=function(_0x220d18){function _0x3a2523(){return null!==_0x220d18&&_0x220d18['apply'](this,arguments)||this;}return _0x4d00d0(_0x3a2523,_0x220d18),Object['defineProperty'](_0x3a2523['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x191e39[_0x1a4e('0x4318')][_0x1a4e('0x3948')];},'enumerable':!0x0,'configurable':!0x0}),_0x3a2523[_0x1a4e('0xa')]['init']=function(){var _0x220d18=this;this['dataOptions']=this['_dataItem'],this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x3948'))]({'position':_0xc6667a[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x451d')]['position'])}),this[_0x1a4e('0x4312')][_0x1a4e('0x451e')](_0x1a4e('0x451f'));var _0x3a2523=new Cesium[(_0x1a4e('0x4520'))](new Cesium[(_0x1a4e('0x3a95'))](function(_0x3a2523){return _0x2e2d6b[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x220d18[_0x1a4e('0x451d')][_0x1a4e('0x134')]);},!0x1)),_0x26e397=new Cesium[(_0x1a4e('0x3a95'))](function(_0x3a2523){return _0x220d18[_0x1a4e('0x451d')][_0x1a4e('0x42a9')];},!0x1),_0x4e9cc9=new Cesium[(_0x1a4e('0x3a95'))](function(_0x3a2523){return _0x2e2d6b['RenderUtils'][_0x1a4e('0x3b40')](_0x220d18[_0x1a4e('0x451d')][_0x1a4e('0x42a7')]);},!0x1),_0x191e39=new Cesium[(_0x1a4e('0x3a95'))](function(_0x3a2523){return _0x2e2d6b[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x220d18[_0x1a4e('0x451d')][_0x1a4e('0x40a0')]);},!0x1),_0x3e4337=new Cesium[(_0x1a4e('0x3a95'))](function(_0x3a2523){return _0x220d18[_0x1a4e('0x451d')]['radius'];},!0x1);this['_renderObj'][_0x1a4e('0x451f')]=new _0xa37c6f({'radius':_0x3e4337,'xHalfAngle':this[_0x1a4e('0x451d')][_0x1a4e('0x42a5')]*Math['PI']/0xb4,'yHalfAngle':this['dataOptions'][_0x1a4e('0x42a6')]*Math['PI']/0xb4,'lateralSurfaceMaterial':_0x3a2523,'scanPlaneRate':_0x26e397,'scanPlaneColor':_0x4e9cc9,'lineColor':_0x191e39,'showScanPlane':this[_0x1a4e('0x451d')][_0x1a4e('0x42a8')]}),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]);},_0x3a2523['prototype'][_0x1a4e('0x3dda')]=function(_0x3a2523){_0x220d18[_0x1a4e('0xa')]['updateAttribute'][_0x1a4e('0x1')](this,_0x3a2523);var _0x26e397=this[_0x1a4e('0x4323')];switch(_0x3a2523){case _0x1a4e('0x3553'):this[_0x1a4e('0x4312')]['position']=_0xc6667a[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x451d')][_0x1a4e('0x3553')]);break;case'visible':if(_0x26e397[_0x3a2523]&&_0x26e397['renderVisible']){if(this['_renderObj']){if(this['_renderRoot'][_0x1a4e('0x41a8')](this[_0x1a4e('0x4312')]['id']))return;this['_renderRoot'][_0x1a4e('0x177')](this['_renderObj']);}}else this[_0x1a4e('0x42e6')]['remove'](this[_0x1a4e('0x4312')]);}},_0x3a2523[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){_0x220d18[_0x1a4e('0xa')]['clear'][_0x1a4e('0x1')](this);},_0x3a2523[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0x4312')]&&this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this['_renderObj']),this[_0x1a4e('0x1fd')]();},_0x3a2523;}(_0x3e4337[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/CesiumGeometry.js':function(_0x35ddf3,_0x9ace0f,_0x2bb9e3){'use strict';Object[_0x1a4e('0x2')](_0x9ace0f,_0x1a4e('0x6'),{'value':!0x0}),_0x2bb9e3(_0x1a4e('0x4521')),_0x2bb9e3(_0x1a4e('0x4522'));var _0x5b92f8=_0x2bb9e3(_0x1a4e('0x4523'));Cesium['getLinkedPointList']=_0x5b92f8[_0x1a4e('0x4524')];_0x9ace0f[_0x1a4e('0x8')]=function _0x35ddf3(){!function(_0x35ddf3,_0x9ace0f){if(!(_0x35ddf3 instanceof _0x9ace0f))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}(this,_0x35ddf3);};},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Core/getLinkedPointList.js':function(_0x125fd4,_0x2acee7,_0x1e1833){'use strict';Object[_0x1a4e('0x2')](_0x2acee7,_0x1a4e('0x6'),{'value':!0x0}),_0x2acee7['getLinkedPointList']=function(_0x125fd4,_0x2acee7,_0x1e1833,_0x50efb6){var _0x49f9ef=[],_0xb79221=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a0d')](_0x125fd4),_0x1628a8=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a0d')](_0x2acee7),_0x2e68a0=0xb4*_0xb79221[_0x1a4e('0x3a2e')]/Math['PI'],_0x104ddc=0xb4*_0xb79221[_0x1a4e('0x3a2f')]/Math['PI'],_0x1649a8=0xb4*_0x1628a8['longitude']/Math['PI'],_0x2e1679=0xb4*_0x1628a8['latitude']/Math['PI'],_0x30912d=Math[_0x1a4e('0x91')]((_0x2e68a0-_0x1649a8)*(_0x2e68a0-_0x1649a8)+(_0x104ddc-_0x2e1679)*(_0x104ddc-_0x2e1679))*_0x1e1833,_0x4ebad4=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x240')](_0x125fd4),_0x28c153=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x240')](_0x2acee7),_0x7ede3f=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x4ebad4,Cesium[_0x1a4e('0x393e')][_0x1a4e('0xea7')]),_0x5a1d52=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x28c153,Cesium[_0x1a4e('0x393e')]['ZERO']);if(Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x4ebad4,_0x4ebad4),Cesium['Cartesian3']['normalize'](_0x28c153,_0x28c153),0x0==Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x4ebad4,_0x28c153))return _0x49f9ef;var _0x34c93f=Cesium[_0x1a4e('0x393e')]['angleBetween'](_0x4ebad4,_0x28c153);_0x49f9ef[_0x1a4e('0x46')](_0x125fd4);for(var _0x1c29ae=0x1;_0x1c29ae<_0x50efb6-0x1;_0x1c29ae++){var _0x28d5af=0x1*_0x1c29ae/(_0x50efb6-0x1),_0x4184e6=0x1-_0x28d5af,_0x487f83=Math[_0x1a4e('0x8f')](_0x4184e6*_0x34c93f)/Math[_0x1a4e('0x8f')](_0x34c93f),_0x1a734e=Math[_0x1a4e('0x8f')](_0x28d5af*_0x34c93f)/Math[_0x1a4e('0x8f')](_0x34c93f),_0x571c1b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0x4ebad4,_0x487f83,new Cesium[(_0x1a4e('0x393e'))]()),_0x41d01c=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0x28c153,_0x1a734e,new Cesium[(_0x1a4e('0x393e'))]()),_0xb1c7f2=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0x571c1b,_0x41d01c,new Cesium[(_0x1a4e('0x393e'))]()),_0x53bfe8=_0x28d5af*Math['PI'],_0x4cf613=_0x7ede3f*_0x4184e6+_0x5a1d52*_0x28d5af+Math[_0x1a4e('0x8f')](_0x53bfe8)*_0x30912d;_0xb1c7f2=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0xb1c7f2,_0x4cf613,_0xb1c7f2),_0x49f9ef[_0x1a4e('0x46')](_0xb1c7f2);}return _0x49f9ef[_0x1a4e('0x46')](_0x2acee7),_0x49f9ef;};},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Core/remove-primitive.js':function(_0x2b5ea7,_0x19e046,_0x2be4cd){'use strict';Object[_0x1a4e('0x2')](_0x19e046,_0x1a4e('0x6'),{'value':!0x0}),_0x19e046['removePrimitive']=function(_0x2b5ea7,_0x19e046,_0x2be4cd){var _0x31b2b6=_0x19e046[_0x2b5ea7['id']];if(_0x5780cb(_0x31b2b6)){var _0x4a08c8=_0x31b2b6[_0x1a4e('0x8f7')];_0x2be4cd[_0x1a4e('0x82')](_0x4a08c8),_0x4a08c8[_0x1a4e('0x3995')]()||_0x4a08c8[_0x1a4e('0x139c')](),delete _0x19e046[_0x2b5ea7['id']];}};var _0x5780cb=Cesium[_0x1a4e('0x3a0b')];},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Material.js':function(_0x235ef4,_0x350be4,_0x48a7bf){'use strict';Object['defineProperty'](_0x350be4,_0x1a4e('0x6'),{'value':!0x0});var _0x59e8ce=_0x48a7bf('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineTextureMaterialProperty.js'),_0x3125ba=_0x48a7bf('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineAttackLinkMaterialProperty.js'),_0x2960d9=_0x48a7bf(_0x1a4e('0x4525')),_0x29f0ee=_0x48a7bf(_0x1a4e('0x4526')),_0x3b666f=_0x48a7bf(_0x1a4e('0x4527')),_0x30b9d6=_0x48a7bf(_0x1a4e('0x4528')),_0x2abfe8=_0x48a7bf('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/ElliposidFadeMaterialProperty.js'),_0x32a145=_0x2703d9(_0x48a7bf(_0x1a4e('0x4529'))),_0x282c87=_0x2703d9(_0x48a7bf(_0x1a4e('0x452a'))),_0x42f707=(_0x2703d9(_0x48a7bf(_0x1a4e('0x452b'))),_0x2703d9(_0x48a7bf('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylineGlowMaterial.glsl'))),_0x3b9443=(_0x2703d9(_0x48a7bf('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylineTrailMaterial.glsl')),_0x2703d9(_0x48a7bf(_0x1a4e('0x452c')))),_0x522140=_0x48a7bf(_0x1a4e('0x3999'));function _0x2703d9(_0x235ef4){return _0x235ef4&&_0x235ef4['__esModule']?_0x235ef4:{'default':_0x235ef4};}var _0x4021f9=Cesium[_0x1a4e('0x3947')],_0x1944df=(Cesium[_0x1a4e('0x3bac')],Cesium[_0x1a4e('0x3a3b')]);_0x1944df[_0x1a4e('0x452d')]='PolylineTextureType',_0x1944df[_0x1a4e('0x452e')]=_0x522140[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x452f')),_0x1944df[_0x1a4e('0x4530')]=0x85,_0x1944df['PolylineIronBarImage']=_0x522140[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x4531')),_0x1944df['PolylineIronBarImageWidth']=0x70,_0x1944df[_0x1a4e('0x4532')]=_0x522140[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x4533')),_0x1944df[_0x1a4e('0x4534')]=0x400,_0x1944df[_0x1a4e('0x4535')][_0x1a4e('0x4536')](_0x1944df[_0x1a4e('0x452d')],{'fabric':{'type':_0x1944df['PolylineTextureType'],'uniforms':{'color':new _0x4021f9(0x1,0x0,0x0,0x1),'image':_0x1944df[_0x1a4e('0x452e')],'times':0x0,'time':0x0,'revert':!0x1},'source':_0x32a145[_0x1a4e('0x8')]},'translucent':function(){return!0x0;}}),_0x1944df['PolylineAttackLinkType']=_0x1a4e('0x4537'),_0x1944df['PolylineAttackLinkImage']=_0x522140[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x4538')),_0x1944df['_materialCache'][_0x1a4e('0x4536')](_0x1944df[_0x1a4e('0x4539')],{'fabric':{'type':_0x1944df['PolylineAttackLinkType'],'uniforms':{'color':new _0x4021f9(0x1,0x0,0x0,0x1),'image':_0x1944df[_0x1a4e('0x453a')],'time':0x0},'source':_0x282c87[_0x1a4e('0x8')]},'translucent':function(){return!0x0;}}),_0x1944df[_0x1a4e('0x453b')]=_0x1a4e('0x453c'),_0x1944df[_0x1a4e('0x453d')]=_0x522140[_0x1a4e('0x39a0')]['formatUrlByBaseJs'](_0x1a4e('0x453e')),_0x1944df[_0x1a4e('0x4535')][_0x1a4e('0x4536')](_0x1944df[_0x1a4e('0x453b')],{'fabric':{'type':_0x1944df[_0x1a4e('0x453b')],'uniforms':{'color':new _0x4021f9(0x1,0x0,0x0,0x1),'image':_0x1944df[_0x1a4e('0x453d')],'time':0x0},'source':_0x282c87[_0x1a4e('0x8')]},'translucent':function(){return!0x0;}}),_0x1944df[_0x1a4e('0x453f')]=_0x1a4e('0x4540'),_0x1944df[_0x1a4e('0x4541')]=_0x522140['Util'][_0x1a4e('0x39a5')](_0x1a4e('0x4533')),_0x1944df[_0x1a4e('0x4535')]['addMaterial'](_0x1944df[_0x1a4e('0x453f')],{'fabric':{'type':_0x1944df['PolylinePulseLinkType'],'uniforms':{'color':new _0x4021f9(0x1,0x0,0x0,0x1),'image':_0x1944df['PolylinePulseLinkImage'],'time':0x0},'source':_0x282c87[_0x1a4e('0x8')]},'translucent':function(){return!0x0;}}),_0x1944df['PolylineGlowLinkType']=_0x1a4e('0x4542'),_0x1944df[_0x1a4e('0x4535')][_0x1a4e('0x4536')](_0x1944df[_0x1a4e('0x4542')],{'fabric':{'type':_0x1944df[_0x1a4e('0x4542')],'uniforms':{'glowPower':0.1,'color':new _0x4021f9(0x1,0x0,0x0,0x1)},'source':_0x42f707[_0x1a4e('0x8')]},'translucent':function(){return!0x0;}}),_0x1944df[_0x1a4e('0x4543')]=_0x1a4e('0x4543'),_0x1944df[_0x1a4e('0x4544')]=_0x522140['Util'][_0x1a4e('0x39a5')](_0x1a4e('0x4545')),_0x1944df[_0x1a4e('0x4535')][_0x1a4e('0x4536')](_0x1944df[_0x1a4e('0x4543')],{'fabric':{'type':_0x1944df[_0x1a4e('0x4543')],'uniforms':{'color':new _0x4021f9(0x1,0x0,0x0,0x1),'image':_0x1944df[_0x1a4e('0x4544')],'time':0x0},'source':_0x282c87['default']},'translucent':function(){return!0x0;}}),_0x1944df[_0x1a4e('0x4546')]='EllipsoidFade',_0x1944df[_0x1a4e('0x4535')][_0x1a4e('0x4536')](_0x1944df[_0x1a4e('0x4546')],{'fabric':{'type':_0x1944df[_0x1a4e('0x4546')],'uniforms':{'color':new _0x4021f9(0x1,0x0,0x0,0x1),'time':0x1},'source':_0x3b9443[_0x1a4e('0x8')]},'translucent':function(){return!0x0;}}),Cesium['PolylineTextureMaterialProperty']=_0x59e8ce['PolylineTextureMaterialProperty'],Cesium['PolylineAttackLinkMaterialProperty']=_0x3125ba[_0x1a4e('0x4547')],Cesium[_0x1a4e('0x4548')]=_0x2960d9[_0x1a4e('0x4548')],Cesium[_0x1a4e('0x4549')]=_0x29f0ee[_0x1a4e('0x4549')],Cesium['PolylinePulseLinkMaterialProperty']=_0x3b666f['PolylinePulseLinkMaterialProperty'],Cesium[_0x1a4e('0x454a')]=_0x30b9d6[_0x1a4e('0x454a')],Cesium[_0x1a4e('0x43f6')]=_0x2abfe8['ElliposidFadeMaterialProperty'],_0x350be4['default']=_0x1944df;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/ElliposidFadeMaterialProperty.js':function(_0x2ecc94,_0x16a355,_0x1d10d3){'use strict';Object[_0x1a4e('0x2')](_0x16a355,_0x1a4e('0x6'),{'value':!0x0});var _0x1f464d=Cesium['Color'],_0x2d693a=Cesium[_0x1a4e('0x3a46')],_0x305236=Cesium[_0x1a4e('0x3a0b')],_0x466c0a=Object[_0x1a4e('0x1c8')],_0x1426e7=Cesium[_0x1a4e('0x168d')],_0x45767a=Cesium[_0x1a4e('0x454b')],_0x1bdc2a=Cesium[_0x1a4e('0x1963')],_0x4ca4d5=Cesium['Material'],_0x2c96a8=_0x1f464d[_0x1a4e('0x39a7')];function _0xdff574(_0x2ecc94){_0x2ecc94=_0x2d693a(_0x2ecc94,_0x2d693a[_0x1a4e('0x3bcb')]),this[_0x1a4e('0x454c')]=new _0x1426e7(),this[_0x1a4e('0x3b69')]=void 0x0,this[_0x1a4e('0x454d')]=void 0x0,this[_0x1a4e('0x134')]=_0x2ecc94[_0x1a4e('0x134')],this[_0x1a4e('0x4417')]=void 0x0;}_0x466c0a(_0xdff574[_0x1a4e('0xa')],{'isConstant':{'get':function(){return!0x1;}},'definitionChanged':{'get':function(){return this['_definitionChanged'];}},'color':_0x45767a(_0x1a4e('0x134'))}),_0xdff574[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(_0x2ecc94){return _0x4ca4d5[_0x1a4e('0x4546')];},_0xdff574[_0x1a4e('0xa')][_0x1a4e('0x1460')]=function(_0x2ecc94,_0x16a355){return _0x305236(_0x16a355)||(_0x16a355={}),_0x16a355[_0x1a4e('0x134')]=_0x1bdc2a['getValueOrClonedDefault'](this[_0x1a4e('0x3b69')],_0x2ecc94,_0x2c96a8,_0x16a355[_0x1a4e('0x134')]),void 0x0===this[_0x1a4e('0x4417')]&&(this[_0x1a4e('0x4417')]=_0x2ecc94['secondsOfDay']),_0x16a355[_0x1a4e('0x129a')]=_0x2ecc94['secondsOfDay']-this['_time'],_0x16a355;},_0xdff574[_0x1a4e('0xa')]['equals']=function(_0x2ecc94){return this===_0x2ecc94||_0x2ecc94 instanceof _0xdff574&&_0x1bdc2a[_0x1a4e('0x23e')](this[_0x1a4e('0x3b69')],_0x2ecc94[_0x1a4e('0x3b69')]);},_0x16a355[_0x1a4e('0x43f6')]=_0xdff574;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineArrowLinkMaterialProperty.js':function(_0x46fb35,_0x2fac10,_0x36a4b9){'use strict';Object[_0x1a4e('0x2')](_0x2fac10,_0x1a4e('0x6'),{'value':!0x0});var _0x4f39d2=Cesium[_0x1a4e('0x3947')],_0x59a6a7=Cesium[_0x1a4e('0x3a46')],_0x272e12=Cesium['defined'],_0x20fa83=Object[_0x1a4e('0x1c8')],_0x9493ac=Cesium[_0x1a4e('0x168d')],_0x28f8ca=Cesium[_0x1a4e('0x454b')],_0x1f914f=Cesium[_0x1a4e('0x1963')],_0x433190=Cesium[_0x1a4e('0x3a3b')],_0x1b4965=_0x4f39d2[_0x1a4e('0x39a7')];function _0x2dbbf0(_0x46fb35){_0x46fb35=_0x59a6a7(_0x46fb35,_0x59a6a7[_0x1a4e('0x3bcb')]),this['_definitionChanged']=new _0x9493ac(),this[_0x1a4e('0x3b69')]=void 0x0,this[_0x1a4e('0x454d')]=void 0x0,this[_0x1a4e('0x134')]=_0x46fb35[_0x1a4e('0x134')],this['duration']=_0x46fb35[_0x1a4e('0x17e')]||0x3e8,this[_0x1a4e('0x4417')]=void 0x0;}_0x20fa83(_0x2dbbf0[_0x1a4e('0xa')],{'isConstant':{'get':function(){return!0x1;}},'definitionChanged':{'get':function(){return this['_definitionChanged'];}},'color':_0x28f8ca(_0x1a4e('0x134'))}),_0x2dbbf0[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(_0x46fb35){return _0x433190[_0x1a4e('0x453b')];},_0x2dbbf0[_0x1a4e('0xa')][_0x1a4e('0x1460')]=function(_0x46fb35,_0x2fac10){return _0x272e12(_0x2fac10)||(_0x2fac10={}),_0x2fac10['color']=_0x1f914f['getValueOrClonedDefault'](this[_0x1a4e('0x3b69')],_0x46fb35,_0x1b4965,_0x2fac10[_0x1a4e('0x134')]),_0x2fac10[_0x1a4e('0x3cb4')]=_0x433190[_0x1a4e('0x453d')],void 0x0===this[_0x1a4e('0x4417')]&&(this['_time']=_0x46fb35['secondsOfDay']),_0x2fac10[_0x1a4e('0x129a')]=0x3e8*(_0x46fb35[_0x1a4e('0x454e')]-this[_0x1a4e('0x4417')])/this['duration'],_0x2fac10;},_0x2dbbf0[_0x1a4e('0xa')]['equals']=function(_0x46fb35){return this===_0x46fb35||_0x46fb35 instanceof _0x2dbbf0&&_0x1f914f[_0x1a4e('0x23e')](this[_0x1a4e('0x3b69')],_0x46fb35[_0x1a4e('0x3b69')]);},_0x2fac10['PolylineArrowLinkMaterialProperty']=_0x2dbbf0;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineAttackLinkMaterialProperty.js':function(_0x109b28,_0x259880,_0x3e727c){'use strict';Object[_0x1a4e('0x2')](_0x259880,'__esModule',{'value':!0x0});var _0x3710c7=Cesium[_0x1a4e('0x3947')],_0x4e0106=Cesium[_0x1a4e('0x3a46')],_0x268738=Cesium['defined'],_0x2374fc=Object[_0x1a4e('0x1c8')],_0x4777ef=Cesium['Event'],_0x17ad0d=Cesium[_0x1a4e('0x454b')],_0x9f378b=Cesium[_0x1a4e('0x1963')],_0x5a5331=Cesium['Material'],_0xc7561b=_0x3710c7[_0x1a4e('0x39a7')];function _0x5c745e(_0x109b28){_0x109b28=_0x4e0106(_0x109b28,_0x4e0106['EMPTY_OBJECT']),this['_definitionChanged']=new _0x4777ef(),this[_0x1a4e('0x3b69')]=void 0x0,this[_0x1a4e('0x454d')]=void 0x0,this[_0x1a4e('0x134')]=_0x109b28[_0x1a4e('0x134')],this[_0x1a4e('0x17e')]=_0x109b28['duration']||0x3e8,this[_0x1a4e('0x4417')]=void 0x0;}_0x2374fc(_0x5c745e[_0x1a4e('0xa')],{'isConstant':{'get':function(){return!0x1;}},'definitionChanged':{'get':function(){return this[_0x1a4e('0x454c')];}},'color':_0x17ad0d(_0x1a4e('0x134'))}),_0x5c745e[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(_0x109b28){return _0x5a5331[_0x1a4e('0x4539')];},_0x5c745e[_0x1a4e('0xa')][_0x1a4e('0x1460')]=function(_0x109b28,_0x259880){return _0x268738(_0x259880)||(_0x259880={}),_0x259880[_0x1a4e('0x134')]=_0x9f378b['getValueOrClonedDefault'](this['_color'],_0x109b28,_0xc7561b,_0x259880[_0x1a4e('0x134')]),_0x259880[_0x1a4e('0x3cb4')]=_0x5a5331['PolylineAttackLinkImage'],void 0x0===this['_time']&&(this[_0x1a4e('0x4417')]=_0x109b28[_0x1a4e('0x454e')]),_0x259880[_0x1a4e('0x129a')]=0x3e8*(_0x109b28[_0x1a4e('0x454e')]-this[_0x1a4e('0x4417')])/this[_0x1a4e('0x17e')],_0x259880;},_0x5c745e[_0x1a4e('0xa')][_0x1a4e('0x23e')]=function(_0x109b28){return this===_0x109b28||_0x109b28 instanceof _0x5c745e&&_0x9f378b[_0x1a4e('0x23e')](this['_color'],_0x109b28[_0x1a4e('0x3b69')]);},_0x259880[_0x1a4e('0x4547')]=_0x5c745e;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineGlowLinkMaterialProperty.js':function(_0x77bb7d,_0x40ecf2,_0x298b46){'use strict';Object[_0x1a4e('0x2')](_0x40ecf2,_0x1a4e('0x6'),{'value':!0x0});var _0x143357=Cesium[_0x1a4e('0x3947')],_0x2b622e=Cesium[_0x1a4e('0x3a46')],_0x434a36=Cesium['defined'],_0x8fba66=Object[_0x1a4e('0x1c8')],_0x3ae8b6=Cesium[_0x1a4e('0x168d')],_0xb32a81=Cesium[_0x1a4e('0x454b')],_0x5268c8=Cesium[_0x1a4e('0x1963')],_0x407021=Cesium['Material'],_0x2d3d8a=_0x143357[_0x1a4e('0x39a7')];function _0x29de06(_0x77bb7d){_0x77bb7d=_0x2b622e(_0x77bb7d,_0x2b622e['EMPTY_OBJECT']),this[_0x1a4e('0x454c')]=new _0x3ae8b6(),this[_0x1a4e('0x3b69')]=void 0x0,this[_0x1a4e('0x454d')]=void 0x0,this['color']=_0x77bb7d[_0x1a4e('0x134')];}_0x8fba66(_0x29de06[_0x1a4e('0xa')],{'isConstant':{'get':function(){return!0x1;}},'definitionChanged':{'get':function(){return this[_0x1a4e('0x454c')];}},'color':_0xb32a81(_0x1a4e('0x134'))}),_0x29de06['prototype'][_0x1a4e('0x3cc')]=function(_0x77bb7d){return _0x407021[_0x1a4e('0x4542')];},_0x29de06['prototype'][_0x1a4e('0x1460')]=function(_0x77bb7d,_0x40ecf2){return _0x434a36(_0x40ecf2)||(_0x40ecf2={}),_0x40ecf2[_0x1a4e('0x134')]=_0x5268c8[_0x1a4e('0x454f')](this[_0x1a4e('0x3b69')],_0x77bb7d,_0x2d3d8a,_0x40ecf2[_0x1a4e('0x134')]),_0x40ecf2;},_0x29de06[_0x1a4e('0xa')][_0x1a4e('0x23e')]=function(_0x77bb7d){return this===_0x77bb7d||_0x77bb7d instanceof _0x29de06&&_0x5268c8[_0x1a4e('0x23e')](this[_0x1a4e('0x3b69')],_0x77bb7d['_color']);},_0x40ecf2[_0x1a4e('0x4549')]=_0x29de06;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylinePulseLinkMaterialProperty.js':function(_0x21aa78,_0x929499,_0x48ebf7){'use strict';Object[_0x1a4e('0x2')](_0x929499,_0x1a4e('0x6'),{'value':!0x0});var _0x539d89=Cesium[_0x1a4e('0x3947')],_0x1ae5d1=Cesium[_0x1a4e('0x3a46')],_0x1d322b=Cesium[_0x1a4e('0x3a0b')],_0x3436a8=Object[_0x1a4e('0x1c8')],_0x7912da=Cesium['Event'],_0x328751=Cesium[_0x1a4e('0x454b')],_0x99eea6=Cesium[_0x1a4e('0x1963')],_0x166807=Cesium[_0x1a4e('0x3a3b')],_0x57e1a9=_0x539d89[_0x1a4e('0x39a7')];function _0x1fb143(_0x21aa78){_0x21aa78=_0x1ae5d1(_0x21aa78,_0x1ae5d1[_0x1a4e('0x3bcb')]),this[_0x1a4e('0x454c')]=new _0x7912da(),this['_color']=void 0x0,this['_colorSubscription']=void 0x0,this[_0x1a4e('0x134')]=_0x21aa78[_0x1a4e('0x134')],this[_0x1a4e('0x17e')]=_0x21aa78[_0x1a4e('0x17e')]||0x3e8,this[_0x1a4e('0x4417')]=void 0x0;}_0x3436a8(_0x1fb143[_0x1a4e('0xa')],{'isConstant':{'get':function(){return!0x1;}},'definitionChanged':{'get':function(){return this[_0x1a4e('0x454c')];}},'color':_0x328751(_0x1a4e('0x134'))}),_0x1fb143[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(_0x21aa78){return _0x166807[_0x1a4e('0x453f')];},_0x1fb143['prototype'][_0x1a4e('0x1460')]=function(_0x21aa78,_0x929499){return _0x1d322b(_0x929499)||(_0x929499={}),_0x929499['color']=_0x99eea6[_0x1a4e('0x454f')](this[_0x1a4e('0x3b69')],_0x21aa78,_0x57e1a9,_0x929499[_0x1a4e('0x134')]),_0x929499[_0x1a4e('0x3cb4')]=_0x166807[_0x1a4e('0x4541')],void 0x0===this['_time']&&(this[_0x1a4e('0x4417')]=_0x21aa78[_0x1a4e('0x454e')]),_0x929499[_0x1a4e('0x129a')]=0x3e8*(_0x21aa78[_0x1a4e('0x454e')]-this['_time'])/this[_0x1a4e('0x17e')],_0x929499;},_0x1fb143['prototype'][_0x1a4e('0x23e')]=function(_0x21aa78){return this===_0x21aa78||_0x21aa78 instanceof _0x1fb143&&_0x99eea6['equals'](this[_0x1a4e('0x3b69')],_0x21aa78[_0x1a4e('0x3b69')]);},_0x929499[_0x1a4e('0x4550')]=_0x1fb143;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineTextureMaterialProperty.js':function(_0x3f6f82,_0xce3183,_0x4a6743){'use strict';Object[_0x1a4e('0x2')](_0xce3183,_0x1a4e('0x6'),{'value':!0x0});var _0x4d373a=Cesium[_0x1a4e('0x3947')],_0x5e4c9a=Cesium[_0x1a4e('0x3a46')],_0x538a00=Cesium['defined'],_0x1cbaff=Object[_0x1a4e('0x1c8')],_0x146ef9=Cesium[_0x1a4e('0x168d')],_0x1ca680=Cesium[_0x1a4e('0x454b')],_0x33bdf6=Cesium['Property'],_0x493ae6=Cesium['Material'],_0x633d1e=_0x4d373a[_0x1a4e('0x39a7')];function _0x4223dd(_0x3f6f82){switch(_0x3f6f82=_0x5e4c9a(_0x3f6f82,_0x5e4c9a[_0x1a4e('0x3bcb')]),this[_0x1a4e('0x454c')]=new _0x146ef9(),this['_color']=void 0x0,this[_0x1a4e('0x454d')]=void 0x0,this[_0x1a4e('0x4551')]=_0x3f6f82[_0x1a4e('0x3aeb')],this[_0x1a4e('0x4552')]=0x80,_0x3f6f82[_0x1a4e('0x3aeb')]){case _0x1a4e('0x4553'):this['_texture']=_0x493ae6[_0x1a4e('0x452e')],this[_0x1a4e('0x4552')]=_0x493ae6[_0x1a4e('0x4530')];break;case _0x1a4e('0x4554'):this[_0x1a4e('0x44ce')]=_0x493ae6['PolylineIronBarImage'],this[_0x1a4e('0x4552')]=_0x493ae6[_0x1a4e('0x4555')];break;case _0x1a4e('0x4556'):this[_0x1a4e('0x44ce')]=_0x493ae6[_0x1a4e('0x4532')],this['_textureWidth']=_0x493ae6['PolylineLinkPulseImageWidth'];}this[_0x1a4e('0x134')]=_0x3f6f82[_0x1a4e('0x134')],this[_0x1a4e('0x4557')]=void 0x0,this[_0x1a4e('0x4558')]=_0x5e4c9a(_0x3f6f82['revert'],!0x1),this[_0x1a4e('0x4559')]=_0x5e4c9a(_0x3f6f82[_0x1a4e('0x455a')],!0x1),this[_0x1a4e('0x3dcc')]=_0x5e4c9a(_0x3f6f82['speed'],0x1);}_0x1cbaff(_0x4223dd[_0x1a4e('0xa')],{'times':{'get':function(){return this[_0x1a4e('0x4557')];},'set':function(_0x3f6f82){this['_times']=_0x3f6f82;}},'dynamic':{'get':function(){return this[_0x1a4e('0x4559')];},'set':function(_0x3f6f82){this[_0x1a4e('0x4559')]=_0x3f6f82;}},'speed':{'set':function(_0x3f6f82){this[_0x1a4e('0x3dcc')]=_0x3f6f82;}},'isConstant':{'get':function(){return!0x1;}},'definitionChanged':{'get':function(){return this[_0x1a4e('0x454c')];}},'color':_0x1ca680(_0x1a4e('0x134'))}),_0x4223dd['prototype'][_0x1a4e('0x455b')]=function(_0x3f6f82){this[_0x1a4e('0x4558')]=_0x3f6f82;},_0x4223dd[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(_0x3f6f82){return _0x493ae6[_0x1a4e('0x452d')];},_0x4223dd[_0x1a4e('0xa')]['getValue']=function(_0x3f6f82,_0xce3183){return _0x538a00(_0xce3183)||(_0xce3183={}),_0xce3183[_0x1a4e('0x134')]=_0x33bdf6[_0x1a4e('0x454f')](this[_0x1a4e('0x3b69')],_0x3f6f82,_0x633d1e,_0xce3183[_0x1a4e('0x134')]),_0xce3183[_0x1a4e('0x3cb4')]=this['_texture'],_0xce3183[_0x1a4e('0x10de')]=void 0x0===this[_0x1a4e('0x4557')]?0x5:this[_0x1a4e('0x4557')]/this[_0x1a4e('0x4552')],this[_0x1a4e('0x4559')]?(void 0x0===this['_time']&&(this[_0x1a4e('0x4417')]=_0x3f6f82[_0x1a4e('0x454e')]),_0xce3183[_0x1a4e('0x129a')]=(_0x3f6f82[_0x1a4e('0x454e')]-this[_0x1a4e('0x4417')])*this['_speed']):_0xce3183[_0x1a4e('0x129a')]=0x0,_0xce3183[_0x1a4e('0xeb3')]=this['_revert'],_0xce3183;},_0x4223dd[_0x1a4e('0xa')][_0x1a4e('0x23e')]=function(_0x3f6f82){if(this===_0x3f6f82)return!0x0;if(_0x3f6f82 instanceof _0x4223dd){if(void 0x0===this[_0x1a4e('0x4557')])return!0x1;if(_0x33bdf6[_0x1a4e('0x23e')](this[_0x1a4e('0x3b69')],_0x3f6f82['_color'])&&this[_0x1a4e('0x44ce')]===_0x3f6f82[_0x1a4e('0x44ce')]&&this[_0x1a4e('0x4557')]===_0x3f6f82[_0x1a4e('0x4557')]&&this['revert']===_0x3f6f82[_0x1a4e('0xeb3')])return!0x0;}return!0x1;},_0xce3183[_0x1a4e('0x455c')]=_0x4223dd;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/MaterialProperty/PolylineTrailLinkMaterialProperty.js':function(_0x29ef45,_0x210a75,_0x52233b){'use strict';Object[_0x1a4e('0x2')](_0x210a75,_0x1a4e('0x6'),{'value':!0x0});var _0xe30cb2=Cesium[_0x1a4e('0x3947')],_0x528cba=Cesium[_0x1a4e('0x3a46')],_0x26072c=Cesium[_0x1a4e('0x3a0b')],_0x5811c3=Object[_0x1a4e('0x1c8')],_0x30b56d=Cesium[_0x1a4e('0x168d')],_0x4332f5=Cesium[_0x1a4e('0x454b')],_0x1fd5f0=Cesium[_0x1a4e('0x1963')],_0x3a491d=Cesium['Material'],_0x140168=_0xe30cb2['WHITE'];function _0x219891(_0x29ef45){_0x29ef45=_0x528cba(_0x29ef45,_0x528cba[_0x1a4e('0x3bcb')]),this[_0x1a4e('0x454c')]=new _0x30b56d(),this['_color']=void 0x0,this[_0x1a4e('0x454d')]=void 0x0,this[_0x1a4e('0x134')]=_0x29ef45[_0x1a4e('0x134')],this['duration']=_0x29ef45[_0x1a4e('0x17e')]||0x3e8,this[_0x1a4e('0x4417')]=void 0x0;}_0x5811c3(_0x219891['prototype'],{'isConstant':{'get':function(){return!0x1;}},'definitionChanged':{'get':function(){return this[_0x1a4e('0x454c')];}},'color':_0x4332f5(_0x1a4e('0x134'))}),_0x219891['prototype'][_0x1a4e('0x3cc')]=function(_0x29ef45){return _0x3a491d[_0x1a4e('0x4543')];},_0x219891[_0x1a4e('0xa')][_0x1a4e('0x1460')]=function(_0x29ef45,_0x210a75){return _0x26072c(_0x210a75)||(_0x210a75={}),_0x210a75[_0x1a4e('0x134')]=_0x1fd5f0[_0x1a4e('0x454f')](this[_0x1a4e('0x3b69')],_0x29ef45,_0x140168,_0x210a75[_0x1a4e('0x134')]),_0x210a75[_0x1a4e('0x3cb4')]=_0x3a491d[_0x1a4e('0x4544')],void 0x0===this['_time']&&(this[_0x1a4e('0x4417')]=_0x29ef45[_0x1a4e('0x454e')]),_0x210a75['time']=0x3e8*(_0x29ef45[_0x1a4e('0x454e')]-this[_0x1a4e('0x4417')])/this[_0x1a4e('0x17e')],_0x210a75;},_0x219891[_0x1a4e('0xa')]['equals']=function(_0x29ef45){return this===_0x29ef45||_0x29ef45 instanceof _0x219891&&_0x1fd5f0[_0x1a4e('0x23e')](this['_color'],_0x29ef45[_0x1a4e('0x3b69')]);},_0x210a75['PolylineTrailLinkMaterialProperty']=_0x219891;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/ElliposidFadeMaterial.glsl':function(_0x347be9,_0x249523){_0x347be9[_0x1a4e('0x0')]=_0x1a4e('0x455d');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylineGlowMaterial.glsl':function(_0x41c3b7,_0x77d675){_0x41c3b7[_0x1a4e('0x0')]=_0x1a4e('0x455e');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylineLinkMaterial.glsl':function(_0x5b719d,_0x43203a){_0x5b719d[_0x1a4e('0x0')]=_0x1a4e('0x455f');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylinePulseMaterial.glsl':function(_0x59cff3,_0x2c53fa){_0x59cff3['exports']=_0x1a4e('0x4560');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylineTextureMaterial.glsl':function(_0x20bc92,_0x7279ec){_0x20bc92['exports']=_0x1a4e('0x4561');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Material/Shaders/polylineTrailMaterial.glsl':function(_0x44d25e,_0x5b1e37){_0x44d25e['exports']=_0x1a4e('0x4562');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensor.js':function(_0x4598e1,_0x3e58d5,_0x5c167d){'use strict';Object[_0x1a4e('0x2')](_0x3e58d5,_0x1a4e('0x6'),{'value':!0x0}),_0x3e58d5['ConicArcSensor']=void 0x0;var _0x38e3f6=_0x5c167d(_0x1a4e('0x4563')),_0x2d6895=Cesium[_0x1a4e('0x3948')],_0x5d65bb=Cesium['Event'],_0x1aeb8b=Cesium[_0x1a4e('0x43fc')],_0x2febc6=Cesium[_0x1a4e('0x454b')],_0x204ad5=Cesium[_0x1a4e('0x3b9d')];Cesium[_0x1a4e('0x4564')];function _0x2bbfc6(_0x4598e1){return new _0x1aeb8b(_0x4598e1);}function _0x980543(_0x4598e1){_0x4598e1=_0x4598e1||{},this[_0x1a4e('0x3b68')]=void 0x0,this[_0x1a4e('0x5dd')]=void 0x0,this['_show']=void 0x0;var _0x3e58d5=_0x4598e1[_0x1a4e('0x4565')];_0x3e58d5 instanceof _0x38e3f6[_0x1a4e('0x4566')]||(_0x3e58d5=new _0x38e3f6[(_0x1a4e('0x4566'))](_0x3e58d5)),this[_0x1a4e('0x4567')]=_0x3e58d5,this['_distanceDisplayCondition']=new _0x204ad5(),this[_0x1a4e('0x43f4')]=void 0x0,this[_0x1a4e('0x4568')]=void 0x0,this['_definitionChanged']=new _0x5d65bb(),this[_0x1a4e('0x41b')](_0x4598e1);}Object['defineProperties'](_0x980543[_0x1a4e('0xa')],{'position':function(_0x4598e1){return _0x2febc6(_0x4598e1,void 0x0,_0x2bbfc6);}(_0x1a4e('0x3553')),'orientation':_0x2febc6(_0x1a4e('0x164')),'show':_0x2febc6(_0x1a4e('0x3a23'))}),_0x980543[_0x1a4e('0xa')][_0x1a4e('0x41b')]=function(_0x4598e1){this['position']=_0x4598e1['position'],this[_0x1a4e('0x164')]=_0x4598e1['orientation'],this[_0x1a4e('0x3a23')]=_0x4598e1[_0x1a4e('0x3a23')];},_0x980543['prototype']['gazeAt']=function(_0x4598e1){_0x4598e1 instanceof _0x2d6895&&(this[_0x1a4e('0x4567')][_0x1a4e('0x4569')]=_0x4598e1);},_0x3e58d5[_0x1a4e('0x456a')]=_0x980543;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensorCollection.js':function(_0x52e04f,_0x2f94db,_0xe2cdc5){'use strict';Object[_0x1a4e('0x2')](_0x2f94db,_0x1a4e('0x6'),{'value':!0x0}),_0x2f94db[_0x1a4e('0x456b')]=void 0x0;var _0x3956c5=_0xe2cdc5(_0x1a4e('0x456c')),_0x237d6e=_0xe2cdc5(_0x1a4e('0x456d')),_0x24438=_0xe2cdc5(_0x1a4e('0x456e')),_0x30d0fd=(Cesium[_0x1a4e('0x3a46')],Cesium[_0x1a4e('0x3a0b')]),_0x2bd218=(Cesium[_0x1a4e('0x456f')],Cesium[_0x1a4e('0x3b56')]),_0x55d8de=Cesium[_0x1a4e('0x3b9c')],_0x397726=(Cesium[_0x1a4e('0x3940')],Cesium[_0x1a4e('0x3947')]),_0x3a9045=Cesium[_0x1a4e('0x19e6')],_0xd06677=Cesium[_0x1a4e('0x3ab2')],_0x1aff17=Cesium['Cartesian3'],_0x1ab007=(Cesium['VertexFormat'],Cesium[_0x1a4e('0x3aac')]),_0x18bd52=Cesium[_0x1a4e('0x3aae')],_0x1537bd=Cesium[_0x1a4e('0x3a29')],_0x5ac022=Cesium[_0x1a4e('0x1963')];Cesium[_0x1a4e('0x168d')],Cesium[_0x1a4e('0x3b9d')],Cesium['DistanceDisplayConditionGeometryInstanceAttribute'];function _0x237838(_0x52e04f){var _0x2f94db=this;if(!_0x30d0fd(_0x52e04f))throw new _0x55d8de('viewer\x20is\x20required.');this['_viewer']=_0x52e04f;var _0xe2cdc5=_0x52e04f['scene'];this[_0x1a4e('0x3be2')]=_0xe2cdc5;var _0x3956c5=_0x52e04f[_0x1a4e('0x3b3e')];this[_0x1a4e('0x40e4')]=_0x3956c5,this[_0x1a4e('0x4570')]=_0xe2cdc5[_0x1a4e('0x38e3')],this[_0x1a4e('0x4571')]=void 0x0,this[_0x1a4e('0x4572')]=void 0x0,this[_0x1a4e('0x4573')]=[],_0x3956c5[_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](function(){_0x2f94db[_0x1a4e('0x937')]();});}var _0x5b9648=new _0x18bd52(),_0x73a16f=new _0x1537bd(),_0x19e682=new _0x1aff17(),_0xf81f18=new _0x1aff17(),_0x3f2cf4=new _0x1aff17(),_0x147089=new _0x1ab007();_0x237838['prototype'][_0x1a4e('0x177')]=function(_0x52e04f){return _0x52e04f instanceof _0x24438[_0x1a4e('0x456a')]||(_0x52e04f=new _0x24438[(_0x1a4e('0x456a'))](_0x52e04f)),this[_0x1a4e('0x4573')][_0x1a4e('0x46')](_0x52e04f),_0x52e04f;},_0x237838['prototype'][_0x1a4e('0x82')]=function(_0x52e04f){var _0x2f94db=this[_0x1a4e('0x4573')]['indexOf'](_0x52e04f);-0x1!==_0x2f94db&&this[_0x1a4e('0x4573')][_0x1a4e('0x8a')](_0x2f94db,0x1);},_0x237838['prototype']['removeAll']=function(){this[_0x1a4e('0x4573')][_0x1a4e('0x1e')]=0x0;},_0x237838[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){var _0x52e04f=this[_0x1a4e('0x40e4')][_0x1a4e('0x40f7')],_0x2f94db=this[_0x1a4e('0x4573')],_0xe2cdc5=this[_0x1a4e('0x4570')],_0x24438=this[_0x1a4e('0x4571')],_0x55d8de=this[_0x1a4e('0x4572')],_0x237838=[],_0x1f9e89=[];_0x30d0fd(_0x24438)&&_0xe2cdc5[_0x1a4e('0x4574')](_0x24438),_0x30d0fd(_0x55d8de)&&_0xe2cdc5[_0x1a4e('0x4574')](_0x55d8de);for(var _0x112382=0x0,_0x1aa02d=_0x2f94db['length'];_0x112382<_0x1aa02d;_0x112382++){var _0x976778=_0x2f94db[_0x112382],_0x301baa=_0x976778['_conicArcSensor'];if(_0x5ac022[_0x1a4e('0x4575')](_0x301baa[_0x1a4e('0x3a23')],_0x52e04f,!0x0)){var _0x417d67=_0x301baa[_0x1a4e('0x502')],_0x541f62=_0x301baa[_0x1a4e('0x3b5d')],_0x538481=_0x301baa[_0x1a4e('0x2cd')],_0x2e837a=_0x301baa['slice'];if(_0x30d0fd(_0x417d67))if(_0x5ac022[_0x1a4e('0x4575')](_0x976778[_0x1a4e('0x3a23')],_0x52e04f,!0x0)){var _0x569c4e=_0x5ac022[_0x1a4e('0x433b')](_0x976778[_0x1a4e('0x3553')],_0x52e04f,_0x19e682);if(_0x30d0fd(_0x569c4e)){var _0x3523b4,_0x38dfc3=_0x301baa[_0x1a4e('0x4569')];if(_0x30d0fd(_0x38dfc3)){var _0x148b90=_0x5ac022[_0x1a4e('0x433b')](_0x38dfc3[_0x1a4e('0x3553')],_0x52e04f,_0xf81f18);if(!_0x30d0fd(_0x569c4e)||!_0x30d0fd(_0x148b90))continue;var _0x3b88cc=_0x1aff17[_0x1a4e('0x262')](_0x569c4e,_0x148b90,_0x3f2cf4),_0x2a7530=_0x1aff17['angleBetween'](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x4576')],_0x3b88cc),_0x577dec=_0x1aff17[_0x1a4e('0x3a26')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x4576')],_0x3b88cc,_0x3f2cf4),_0x3216d8=_0x1ab007['fromAxisAngle'](_0x577dec,_0x2a7530,_0x147089),_0x15fde4=_0x1aff17[_0x1a4e('0x1ed')](_0x569c4e,_0x148b90);_0x541f62=0x1,_0x3523b4=_0x1537bd[_0x1a4e('0x3ab1')](Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3c36')](_0x18bd52[_0x1a4e('0x3aaf')](_0x3216d8,_0x5b9648),_0x15fde4,_0x5b9648),_0x569c4e,_0x73a16f);}else{_0x3216d8=_0x5ac022[_0x1a4e('0x433b')](_0x976778[_0x1a4e('0x164')],_0x52e04f,_0x147089);_0x3523b4=_0x30d0fd(_0x3216d8)?_0x1537bd[_0x1a4e('0x3ab1')](_0x18bd52[_0x1a4e('0x3aaf')](_0x3216d8,_0x5b9648),_0x569c4e,_0x73a16f):_0x2bd218[_0x1a4e('0x3ab0')](_0x569c4e,void 0x0,_0x73a16f);}if(_0x30d0fd(_0x3523b4)){var _0x656534,_0x2978c9=_0x976778[_0x1a4e('0x43f4')];if(!_0x30d0fd(_0x2978c9))_0x656534=new _0x3956c5['ConicArcSensorGeometry']({'vertexFormat':Cesium[_0x1a4e('0x4410')]['POSITION_AND_NORMAL'],'angle':_0x417d67,'radius':_0x541f62,'stackPartitions':_0x538481,'slicePartitions':_0x2e837a}),_0x976778[_0x1a4e('0x43f4')]=_0x3956c5[_0x1a4e('0x4577')][_0x1a4e('0x3e0')](_0x656534),_0x2978c9=_0x976778[_0x1a4e('0x43f4')];var _0x4eb32e=_0x301baa[_0x1a4e('0x134')],_0x43d470=_0x301baa['outline'],_0x2ee107=_0x301baa[_0x1a4e('0x4172')];_0x30d0fd(_0x2ee107)||(_0x2ee107=0x1);var _0x665db6=_0x301baa[_0x1a4e('0x409f')];_0x30d0fd(_0x665db6)||(_0x665db6=_0x397726[_0x1a4e('0x39a7')]);var _0x3cc0f3=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x2978c9,'modelMatrix':_0x3523b4,'attributes':{'color':Cesium['ColorGeometryInstanceAttribute'][_0x1a4e('0x39b4')](_0x4eb32e)}});if(_0x237838[_0x1a4e('0x46')](_0x3cc0f3),_0x43d470){var _0x4d96db,_0xe48fe3=_0x976778[_0x1a4e('0x4568')];if(!_0x30d0fd(_0xe48fe3))_0x4d96db=new _0x237d6e[(_0x1a4e('0x4578'))]({'vertexFormat':Cesium[_0x1a4e('0x4410')]['POSITION_ONLY'],'angle':_0x417d67,'radius':_0x541f62}),_0x976778[_0x1a4e('0x4568')]=_0x237d6e[_0x1a4e('0x4578')][_0x1a4e('0x3e0')](_0x4d96db),_0xe48fe3=_0x976778[_0x1a4e('0x4568')];_0x3cc0f3=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0xe48fe3,'modelMatrix':_0x3523b4,'attributes':{'color':Cesium[_0x1a4e('0x3940')][_0x1a4e('0x39b4')](_0x665db6)}});_0x1f9e89[_0x1a4e('0x46')](_0x3cc0f3);}}}}}}_0x237838[_0x1a4e('0x1e')]>0x0&&(this[_0x1a4e('0x4571')]=this[_0x1a4e('0x4570')]['add'](new _0x3a9045({'asynchronous':!0x1,'geometryInstances':_0x237838,'appearance':new _0xd06677({'flat':!0x1,'translucent':!0x0,'closed':!0x0})}))),_0x1f9e89[_0x1a4e('0x1e')]>0x0&&(this[_0x1a4e('0x4572')]=this['_primitives'][_0x1a4e('0x177')](new _0x3a9045({'asynchronous':!0x1,'geometryInstances':_0x1f9e89,'appearance':new _0xd06677({'flat':!0x0,'translucent':!0x0,'renderState':{'lineWidth':this[_0x1a4e('0x3be2')]['clampLineWidth'](_0x2ee107)}})})));},_0x2f94db[_0x1a4e('0x456b')]=_0x237838;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensorGeometry.js':function(_0x1c6676,_0x2b39f2,_0x4e49ab){'use strict';Object[_0x1a4e('0x2')](_0x2b39f2,_0x1a4e('0x6'),{'value':!0x0});var _0x1b18de=Cesium[_0x1a4e('0x3ac1')],_0x1d7c01=Cesium[_0x1a4e('0x393e')],_0x7d0e0a=Cesium[_0x1a4e('0x2bc9')],_0x434db9=Cesium[_0x1a4e('0x3b58')],_0x4ff926=Cesium['defaultValue'],_0x50fed6=(Cesium[_0x1a4e('0x3a0b')],Cesium[_0x1a4e('0x3abe')]),_0x3d488f=Cesium[_0x1a4e('0x3b57')],_0x13eaf4=Cesium[_0x1a4e('0x3abc')],_0x41f7a3=Cesium['PrimitiveType'],_0x3258da=Cesium[_0x1a4e('0x4410')],_0x32c10c=Cesium[_0x1a4e('0x1020')],_0x1a0089=Cesium['GeometryPipeline'],_0x5eaf54=Cesium[_0x1a4e('0x3aba')],_0x18d3b8=(Cesium['Ellipsoid'],Math[_0x1a4e('0x90')]),_0x9fe89f=Math[_0x1a4e('0x8f')];function _0x3543ee(_0x1c6676){var _0x2b39f2=(_0x1c6676=_0x4ff926(_0x1c6676,_0x4ff926[_0x1a4e('0x3bcb')]))[_0x1a4e('0x502')],_0x4e49ab=_0x1c6676['radius'],_0x1b18de=Math[_0x1a4e('0x2a')](_0x4ff926(_0x1c6676[_0x1a4e('0x4188')],0xc)),_0x1d7c01=Math['round'](_0x4ff926(_0x1c6676['slicePartitions'],0x40));_0x7d0e0a['typeOf'][_0x1a4e('0x3d')](_0x1a4e('0x502'),_0x2b39f2),_0x7d0e0a[_0x1a4e('0x3c45')]['number'](_0x1a4e('0x3b5d'),_0x4e49ab);var _0x434db9=_0x4ff926(_0x1c6676[_0x1a4e('0x4579')],_0x3258da[_0x1a4e('0x457a')]);this['_angle']=_0x2b39f2,this[_0x1a4e('0x4413')]=_0x4e49ab,this['_stackPartitions']=_0x1b18de,this[_0x1a4e('0x457b')]=_0x1d7c01,this[_0x1a4e('0x457c')]=_0x434db9;}_0x3543ee['fromDimensions']=function(_0x1c6676){var _0x2b39f2=(_0x1c6676=_0x4ff926(_0x1c6676,_0x4ff926[_0x1a4e('0x3bcb')]))[_0x1a4e('0x502')],_0x4e49ab=_0x1c6676['radius'],_0x1b18de=_0x1c6676[_0x1a4e('0x4188')],_0x1d7c01=_0x1c6676[_0x1a4e('0x4189')];return _0x7d0e0a['typeOf'][_0x1a4e('0x3d')](_0x1a4e('0x502'),_0x2b39f2),_0x7d0e0a[_0x1a4e('0x3c45')][_0x1a4e('0x3d')](_0x1a4e('0x3b5d'),_0x4e49ab),_0x7d0e0a[_0x1a4e('0x3c45')][_0x1a4e('0x3d')][_0x1a4e('0x3c48')](_0x1a4e('0x502'),_0x2b39f2,0x0),_0x7d0e0a[_0x1a4e('0x3c45')][_0x1a4e('0x3d')][_0x1a4e('0x3c48')](_0x1a4e('0x152'),height,0x0),new _0x3543ee({'angle':_0x2b39f2,'radius':_0x4e49ab,'stackPartitions':_0x1b18de,'slicePartitions':_0x1d7c01,'vertexFormat':_0x1c6676[_0x1a4e('0x4579')]});},_0x3543ee['createGeometry']=function(_0x1c6676){console[_0x1a4e('0x129a')](_0x1a4e('0x3e0'));var _0x2b39f2,_0x4e49ab=_0x1c6676['_angle'],_0x7d0e0a=_0x1c6676[_0x1a4e('0x4413')],_0x4ff926=_0x1c6676[_0x1a4e('0x457d')]+0x1,_0x3258da=_0x1c6676[_0x1a4e('0x457b')]+0x1,_0x3543ee=_0x1c6676[_0x1a4e('0x457c')],_0x408251=new _0x13eaf4(),_0xe93767=0x3*(_0x3258da-0x1)+0x6*(_0x3258da-0x1)*(_0x4ff926-0x2)+0x1*(_0x3258da-0x1)*0x3,_0x2ee5b9=_0x4ff926*_0x3258da,_0x2d8113=_0x5eaf54['createTypedArray'](_0x2ee5b9,_0xe93767),_0x12e8a8=new Float64Array(0x3*_0x2ee5b9+0x3*(_0x3258da-0x1)*0x3);if(_0x3543ee[_0x1a4e('0x3553')]){for(var _0x41b2b5=0x0,_0x43fcc8=new Array(_0x3258da),_0x38c711=new Array(_0x3258da),_0x1ca639=0x0;_0x1ca639<_0x3258da;_0x1ca639++){var _0x4da1f6=_0x32c10c[_0x1a4e('0x287')]*_0x1ca639/(_0x3258da-0x1);_0x43fcc8[_0x1ca639]=_0x18d3b8(_0x4da1f6),_0x38c711[_0x1ca639]=_0x9fe89f(_0x4da1f6),_0x12e8a8[_0x41b2b5++]=0x0,_0x12e8a8[_0x41b2b5++]=0x0,_0x12e8a8[_0x41b2b5++]=-_0x7d0e0a;}for(_0x1ca639=0x1;_0x1ca639<_0x4ff926;_0x1ca639++)for(var _0x3e415e=_0x4e49ab*_0x1ca639/(_0x4ff926-0x1),_0x12822b=_0x9fe89f(_0x3e415e),_0x3c0366=_0x7d0e0a*_0x12822b,_0x3c5c3b=_0x7d0e0a*_0x12822b,_0x3fb35a=_0x7d0e0a*_0x18d3b8(_0x3e415e),_0x5e5b31=0x0;_0x5e5b31<_0x3258da;_0x5e5b31++)_0x12e8a8[_0x41b2b5++]=_0x43fcc8[_0x5e5b31]*_0x3c0366,_0x12e8a8[_0x41b2b5++]=_0x38c711[_0x5e5b31]*_0x3c5c3b,_0x12e8a8[_0x41b2b5++]=-_0x3fb35a;_0x2b39f2=_0x41b2b5;for(_0x1ca639=0x0;_0x1ca639<_0x3258da-0x1;_0x1ca639++)_0x12e8a8[_0x41b2b5++]=0x0,_0x12e8a8[_0x41b2b5++]=0x0,_0x12e8a8[_0x41b2b5++]=0x0,_0x12e8a8[_0x41b2b5++]=_0x12e8a8[_0x2b39f2-0x3*(_0x3258da-_0x1ca639-0x1)],_0x12e8a8[_0x41b2b5++]=_0x12e8a8[_0x2b39f2-0x3*(_0x3258da-_0x1ca639-0x1)+0x1],_0x12e8a8[_0x41b2b5++]=_0x12e8a8[_0x2b39f2-0x3*(_0x3258da-_0x1ca639-0x1)+0x2],_0x12e8a8[_0x41b2b5++]=_0x12e8a8[_0x2b39f2-0x3*(_0x3258da-_0x1ca639)],_0x12e8a8[_0x41b2b5++]=_0x12e8a8[_0x2b39f2-0x3*(_0x3258da-_0x1ca639)+0x1],_0x12e8a8[_0x41b2b5++]=_0x12e8a8[_0x2b39f2-0x3*(_0x3258da-_0x1ca639)+0x2];_0x408251['position']=new _0x3d488f({'componentDatatype':_0x434db9[_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x12e8a8});}var _0x20e095,_0x149c54,_0x39af21=0x0;for(_0x5e5b31=0x0;_0x5e5b31<_0x3258da-0x1;_0x5e5b31++)_0x2d8113[_0x39af21++]=_0x3258da+_0x5e5b31,_0x2d8113[_0x39af21++]=_0x3258da+_0x5e5b31+0x1,_0x2d8113[_0x39af21++]=_0x5e5b31+0x1;for(_0x1ca639=0x1;_0x1ca639<_0x4ff926-0x1;_0x1ca639++)for(_0x20e095=_0x1ca639*_0x3258da,_0x149c54=(_0x1ca639+0x1)*_0x3258da,_0x5e5b31=0x0;_0x5e5b31<_0x3258da-0x1;_0x5e5b31++)_0x2d8113[_0x39af21++]=_0x149c54+_0x5e5b31,_0x2d8113[_0x39af21++]=_0x149c54+_0x5e5b31+0x1,_0x2d8113[_0x39af21++]=_0x20e095+_0x5e5b31+0x1,_0x2d8113[_0x39af21++]=_0x149c54+_0x5e5b31,_0x2d8113[_0x39af21++]=_0x20e095+_0x5e5b31+0x1,_0x2d8113[_0x39af21++]=_0x20e095+_0x5e5b31;_0x1ca639=0x0;for(var _0x26774c=0x3*(_0x3258da-0x1);_0x1ca639<_0x26774c;_0x1ca639++)_0x2d8113[_0x39af21++]=_0x1ca639+_0x2b39f2/0x3;var _0x402434=new _0x50fed6({'attributes':_0x408251,'indices':_0x2d8113,'primitiveType':_0x41f7a3[_0x1a4e('0x3b5a')],'boundingSphere':new _0x1b18de(_0x1d7c01[_0x1a4e('0xea7')],_0x7d0e0a)});return _0x402434=_0x1a0089['computeNormal'](_0x402434),console[_0x1a4e('0x1299')](_0x1a4e('0x3e0')),_0x402434;},_0x2b39f2[_0x1a4e('0x4577')]=_0x3543ee;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensorGraphics.js':function(_0x590687,_0x3f01cc,_0x3e898c){'use strict';Object[_0x1a4e('0x2')](_0x3f01cc,_0x1a4e('0x6'),{'value':!0x0});var _0x1028ec=Cesium[_0x1a4e('0x3a46')],_0x556451=Cesium[_0x1a4e('0x3a0b')],_0xaeb06e=Object[_0x1a4e('0x1c8')],_0x18ab29=Cesium['DeveloperError'],_0x435ad6=Cesium[_0x1a4e('0x168d')],_0x37f72e=Cesium['createMaterialPropertyDescriptor'],_0x33e9b7=Cesium['createPropertyDescriptor'];function _0x227f60(_0x590687){this[_0x1a4e('0x3dcb')]=void 0x0,this['_angleSubscription']=void 0x0,this[_0x1a4e('0x4413')]=void 0x0,this[_0x1a4e('0x457e')]=void 0x0,this['_stack']=void 0x0,this[_0x1a4e('0x457f')]=void 0x0,this[_0x1a4e('0x3dcf')]=void 0x0,this[_0x1a4e('0x4580')]=void 0x0,this[_0x1a4e('0x3b69')]=void 0x0,this[_0x1a4e('0x454d')]=void 0x0,this[_0x1a4e('0x3a24')]=void 0x0,this[_0x1a4e('0x4581')]=void 0x0,this[_0x1a4e('0x4582')]=void 0x0,this['_fillSubscription']=void 0x0,this[_0x1a4e('0x3b69')]=void 0x0,this[_0x1a4e('0x454d')]=void 0x0,this[_0x1a4e('0x4583')]=void 0x0,this['_materialSubscription']=void 0x0,this[_0x1a4e('0x4584')]=void 0x0,this['_outlineSubscription']=void 0x0,this[_0x1a4e('0x4585')]=void 0x0,this[_0x1a4e('0x4586')]=void 0x0,this[_0x1a4e('0x4587')]=void 0x0,this[_0x1a4e('0x4588')]=void 0x0,this['_shadows']=void 0x0,this[_0x1a4e('0x4589')]=void 0x0,this[_0x1a4e('0x3bf9')]=void 0x0,this['_distanceDisplayConditionSubscription']=void 0x0,this['_definitionChanged']=new _0x435ad6(),this[_0x1a4e('0x458a')]=void 0x0,this[_0x1a4e('0x458b')]=void 0x0,this['merge'](_0x1028ec(_0x590687,_0x1028ec[_0x1a4e('0x3bcb')]));}_0xaeb06e(_0x227f60[_0x1a4e('0xa')],{'definitionChanged':{'get':function(){return this[_0x1a4e('0x454c')];}},'show':_0x33e9b7(_0x1a4e('0x3a23')),'material':_0x37f72e(_0x1a4e('0x3a41')),'fill':_0x33e9b7(_0x1a4e('0x22c')),'shadows':_0x33e9b7('shadows'),'distanceDisplayCondition':_0x33e9b7('distanceDisplayCondition')}),_0x227f60['prototype'][_0x1a4e('0x240')]=function(_0x590687){return _0x556451(_0x590687)?(_0x590687['angle']=this[_0x1a4e('0x502')],_0x590687[_0x1a4e('0x3b5d')]=this[_0x1a4e('0x3b5d')],_0x590687[_0x1a4e('0x2cd')]=this[_0x1a4e('0x2cd')],_0x590687['slice']=this['slice'],_0x590687[_0x1a4e('0x3a23')]=this[_0x1a4e('0x3a23')],_0x590687[_0x1a4e('0x3a41')]=this[_0x1a4e('0x3a41')],_0x590687[_0x1a4e('0x134')]=this['color'],_0x590687['fill']=this[_0x1a4e('0x22c')],_0x590687[_0x1a4e('0x4171')]=this[_0x1a4e('0x4171')],_0x590687[_0x1a4e('0x409f')]=this[_0x1a4e('0x409f')],_0x590687[_0x1a4e('0x4172')]=this[_0x1a4e('0x4172')],_0x590687[_0x1a4e('0x3bed')]=this[_0x1a4e('0x3bed')],_0x590687[_0x1a4e('0x3bfa')]=this[_0x1a4e('0x3bfa')],_0x590687['gaze']=this[_0x1a4e('0x4569')],_0x590687):new _0x227f60(this);},_0x227f60[_0x1a4e('0xa')][_0x1a4e('0x41b')]=function(_0x590687){if(!_0x556451(_0x590687))throw new _0x18ab29(_0x1a4e('0x458c'));this[_0x1a4e('0x502')]=_0x1028ec(this[_0x1a4e('0x502')],_0x590687[_0x1a4e('0x502')]),this['radius']=_0x1028ec(this[_0x1a4e('0x3b5d')],_0x590687[_0x1a4e('0x3b5d')]),this[_0x1a4e('0x2cd')]=_0x1028ec(this[_0x1a4e('0x2cd')],_0x590687[_0x1a4e('0x2cd')]),this[_0x1a4e('0x78')]=_0x1028ec(this['slice'],_0x590687[_0x1a4e('0x78')]),this[_0x1a4e('0x3a23')]=_0x1028ec(this[_0x1a4e('0x3a23')],_0x590687[_0x1a4e('0x3a23')]),this[_0x1a4e('0x134')]=_0x1028ec(this['color'],_0x590687[_0x1a4e('0x134')]),this['material']=_0x1028ec(this[_0x1a4e('0x3a41')],_0x590687['material']),this[_0x1a4e('0x22c')]=_0x1028ec(this['fill'],_0x590687['fill']),this[_0x1a4e('0x4171')]=_0x1028ec(this[_0x1a4e('0x4171')],_0x590687[_0x1a4e('0x4171')]),this[_0x1a4e('0x409f')]=_0x1028ec(this[_0x1a4e('0x409f')],_0x590687[_0x1a4e('0x409f')]),this[_0x1a4e('0x4172')]=_0x1028ec(this[_0x1a4e('0x4172')],_0x590687[_0x1a4e('0x4172')]),this[_0x1a4e('0x3bed')]=_0x1028ec(this[_0x1a4e('0x3bed')],_0x590687[_0x1a4e('0x3bed')]),this[_0x1a4e('0x3bfa')]=_0x1028ec(this[_0x1a4e('0x3bfa')],_0x590687[_0x1a4e('0x3bfa')]),this['gaze']=_0x1028ec(this[_0x1a4e('0x4569')],_0x590687[_0x1a4e('0x4569')]);},_0x3f01cc[_0x1a4e('0x4566')]=_0x227f60;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensorOutlineGeometry.js':function(_0x5c9bf4,_0x4b1abe,_0x1bb171){'use strict';Object[_0x1a4e('0x2')](_0x4b1abe,_0x1a4e('0x6'),{'value':!0x0});var _0xce7c48=Cesium['BoundingSphere'],_0x1722de=Cesium[_0x1a4e('0x393e')],_0x510a39=Cesium['ComponentDatatype'],_0x4d8bce=Cesium['defaultValue'],_0x4d4a9e=(Cesium[_0x1a4e('0x3a0b')],Cesium[_0x1a4e('0x3b9c')]),_0x3a701e=(Cesium[_0x1a4e('0x3ab8')],Cesium[_0x1a4e('0x3abe')]),_0x15a8c8=Cesium[_0x1a4e('0x3b57')],_0x3f5296=Cesium[_0x1a4e('0x3abc')],_0x252fe2=Cesium[_0x1a4e('0x3aba')],_0x364b4b=Cesium[_0x1a4e('0x1020')],_0x54c563=Cesium[_0x1a4e('0x3abf')],_0x3c2014=(new _0x1722de(0x1,0x1,0x1),Math['cos']),_0x19e00f=Math[_0x1a4e('0x8f')];function _0x29563f(_0x5c9bf4){var _0x4b1abe=(_0x5c9bf4=_0x4d8bce(_0x5c9bf4,_0x4d8bce[_0x1a4e('0x3bcb')]))['angle'],_0x1bb171=_0x5c9bf4[_0x1a4e('0x3b5d')],_0xce7c48=Math[_0x1a4e('0x2a')](_0x4d8bce(_0x5c9bf4[_0x1a4e('0x4188')],0xa)),_0x1722de=Math[_0x1a4e('0x2a')](_0x4d8bce(_0x5c9bf4[_0x1a4e('0x4189')],0x8)),_0x510a39=Math[_0x1a4e('0x2a')](_0x4d8bce(_0x5c9bf4[_0x1a4e('0x4187')],0x80));if(_0xce7c48<0x1)throw new _0x4d4a9e(_0x1a4e('0x458d'));if(_0x1722de<0x0)throw new _0x4d4a9e(_0x1a4e('0x458e'));if(_0x510a39<0x0)throw new _0x4d4a9e(_0x1a4e('0x458f'));this[_0x1a4e('0x3dcb')]=_0x4b1abe,this[_0x1a4e('0x4413')]=_0x1bb171,this[_0x1a4e('0x457d')]=_0xce7c48,this[_0x1a4e('0x457b')]=_0x1722de,this[_0x1a4e('0x4590')]=_0x510a39;}_0x29563f[_0x1a4e('0x3e0')]=function(_0x5c9bf4){var _0x4b1abe=_0x5c9bf4[_0x1a4e('0x3dcb')],_0x1bb171=_0x5c9bf4[_0x1a4e('0x4413')];if(!(_0x1bb171<=0x0||_0x4b1abe<=0x0)){var _0x4d8bce,_0x4d4a9e,_0x29563f,_0x196bdf,_0x3000ef,_0x572b07,_0x3d7d0b=_0x5c9bf4[_0x1a4e('0x457d')],_0x233210=_0x5c9bf4[_0x1a4e('0x457b')],_0x55b4b6=_0x5c9bf4[_0x1a4e('0x4590')],_0x53474f=_0x55b4b6*(_0x3d7d0b+_0x233210-0x1),_0xc8060f=_0x53474f-_0x233210+0x2,_0x38ebea=new Float64Array(0x3*_0xc8060f),_0x1ce946=_0x252fe2[_0x1a4e('0x3abb')](_0xc8060f,0x2*_0x53474f),_0x2fe709=0x0,_0x1ea280=new Array(_0x55b4b6),_0x1ca1d3=new Array(_0x55b4b6);for(_0x4d8bce=0x0;_0x4d8bce<_0x55b4b6;_0x4d8bce++)_0x29563f=_0x364b4b[_0x1a4e('0x287')]*_0x4d8bce/_0x55b4b6,_0x1ea280[_0x4d8bce]=_0x3c2014(_0x29563f),_0x1ca1d3[_0x4d8bce]=_0x19e00f(_0x29563f);for(_0x4d8bce=0x1;_0x4d8bce<_0x3d7d0b;_0x4d8bce++)for(_0x3000ef=_0x3c2014(_0x196bdf=_0x4b1abe*_0x4d8bce/(_0x3d7d0b-0x1)),_0x572b07=_0x19e00f(_0x196bdf),_0x4d4a9e=0x0;_0x4d4a9e<_0x55b4b6;_0x4d4a9e++)_0x38ebea[_0x2fe709++]=_0x1bb171*_0x1ea280[_0x4d4a9e]*_0x572b07,_0x38ebea[_0x2fe709++]=_0x1bb171*_0x1ca1d3[_0x4d4a9e]*_0x572b07,_0x38ebea[_0x2fe709++]=-_0x1bb171*_0x3000ef;for(_0x1ea280[_0x1a4e('0x1e')]=_0x233210,_0x1ca1d3[_0x1a4e('0x1e')]=_0x233210,_0x4d8bce=0x0;_0x4d8bce<_0x233210;_0x4d8bce++)_0x29563f=_0x364b4b[_0x1a4e('0x287')]*_0x4d8bce/_0x233210,_0x1ea280[_0x4d8bce]=_0x3c2014(_0x29563f),_0x1ca1d3[_0x4d8bce]=_0x19e00f(_0x29563f);for(_0x38ebea[_0x2fe709++]=0x0,_0x38ebea[_0x2fe709++]=0x0,_0x38ebea[_0x2fe709++]=-_0x1bb171,_0x4d8bce=0x1;_0x4d8bce<_0x55b4b6;_0x4d8bce++)for(_0x3000ef=_0x3c2014(_0x196bdf=_0x4b1abe*_0x4d8bce/_0x55b4b6),_0x572b07=_0x19e00f(_0x196bdf),_0x4d4a9e=0x0;_0x4d4a9e<_0x233210;_0x4d4a9e++)_0x38ebea[_0x2fe709++]=_0x1bb171*_0x1ea280[_0x4d4a9e]*_0x572b07,_0x38ebea[_0x2fe709++]=_0x1bb171*_0x1ca1d3[_0x4d4a9e]*_0x572b07,_0x38ebea[_0x2fe709++]=-_0x1bb171*_0x3000ef;for(_0x2fe709=0x0,_0x4d8bce=0x0;_0x4d8bce<_0x3d7d0b-0x1;++_0x4d8bce){var _0x5defbf=_0x4d8bce*_0x55b4b6;for(_0x4d4a9e=0x0;_0x4d4a9e<_0x55b4b6-0x1;++_0x4d4a9e)_0x1ce946[_0x2fe709++]=_0x5defbf+_0x4d4a9e,_0x1ce946[_0x2fe709++]=_0x5defbf+_0x4d4a9e+0x1;_0x1ce946[_0x2fe709++]=_0x5defbf+_0x55b4b6-0x1,_0x1ce946[_0x2fe709++]=_0x5defbf;}var _0x25d4f4=_0x55b4b6*(_0x3d7d0b-0x1);for(_0x4d4a9e=0x1;_0x4d4a9e<_0x233210+0x1;++_0x4d4a9e)_0x1ce946[_0x2fe709++]=_0x25d4f4,_0x1ce946[_0x2fe709++]=_0x25d4f4+_0x4d4a9e;for(_0x4d8bce=0x0;_0x4d8bce<_0x55b4b6-0x2;++_0x4d8bce){var _0x17c26b=_0x4d8bce*_0x233210+0x1+_0x25d4f4,_0x5d8e4d=(_0x4d8bce+0x1)*_0x233210+0x1+_0x25d4f4;for(_0x4d4a9e=0x0;_0x4d4a9e<_0x233210-0x1;++_0x4d4a9e)_0x1ce946[_0x2fe709++]=_0x5d8e4d+_0x4d4a9e,_0x1ce946[_0x2fe709++]=_0x17c26b+_0x4d4a9e;_0x1ce946[_0x2fe709++]=_0x5d8e4d+_0x233210-0x1,_0x1ce946[_0x2fe709++]=_0x17c26b+_0x233210-0x1;}var _0x30be33=new _0x3f5296({'position':new _0x15a8c8({'componentDatatype':_0x510a39['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x38ebea})});return new _0x3a701e({'attributes':_0x30be33,'indices':_0x1ce946,'primitiveType':_0x54c563[_0x1a4e('0x3ac0')],'boundingSphere':new _0xce7c48(_0x1722de['ZERO'],_0x1bb171)});}},_0x4b1abe[_0x1a4e('0x4578')]=_0x29563f;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/RectangularSensorGraphics.js':function(_0x5a49ac,_0x1f4047,_0x241554){'use strict';var _0x1242a4;void 0x0===(_0x1242a4=function(_0x5a49ac){var _0x1f4047=Cesium[_0x1a4e('0x3a46')],_0x241554=Cesium[_0x1a4e('0x3a0b')],_0x1242a4=Object[_0x1a4e('0x1c8')],_0x5197ab=Cesium[_0x1a4e('0x3b9c')],_0x1e6397=Cesium['Event'],_0x9ca17a=Cesium[_0x1a4e('0x454b')],_0x261465=function(_0x5a49ac){this[_0x1a4e('0x4591')]=void 0x0,this[_0x1a4e('0x4592')]=void 0x0,this[_0x1a4e('0x4593')]=void 0x0,this[_0x1a4e('0x4594')]=void 0x0,this[_0x1a4e('0x4595')]=void 0x0,this['_lateralSurfaceMaterialSubscription']=void 0x0,this[_0x1a4e('0x4596')]=void 0x0,this[_0x1a4e('0x4597')]=void 0x0,this[_0x1a4e('0x4598')]=void 0x0,this['_intersectionWidthSubscription']=void 0x0,this[_0x1a4e('0x4599')]=void 0x0,this[_0x1a4e('0x459a')]=void 0x0,this[_0x1a4e('0x4413')]=void 0x0,this[_0x1a4e('0x457e')]=void 0x0,this[_0x1a4e('0x3a24')]=void 0x0,this[_0x1a4e('0x4581')]=void 0x0,this[_0x1a4e('0x459b')]=void 0x0,this[_0x1a4e('0x459c')]=void 0x0,this[_0x1a4e('0x459d')]=void 0x0,this[_0x1a4e('0x459e')]=void 0x0,this[_0x1a4e('0x454c')]=new _0x1e6397(),this[_0x1a4e('0x41b')](_0x1f4047(_0x5a49ac,_0x1f4047[_0x1a4e('0x3bcb')]));};return _0x1242a4(_0x261465['prototype'],{'definitionChanged':{'get':function(){return this[_0x1a4e('0x454c')];}},'xHalfAngle':_0x9ca17a(_0x1a4e('0x42a5')),'yHalfAngle':_0x9ca17a('yHalfAngle'),'lateralSurfaceMaterial':_0x9ca17a(_0x1a4e('0x459f')),'intersectionColor':_0x9ca17a(_0x1a4e('0x45a0')),'intersectionWidth':_0x9ca17a(_0x1a4e('0x45a1')),'showIntersection':_0x9ca17a(_0x1a4e('0x45a2')),'radius':_0x9ca17a(_0x1a4e('0x3b5d')),'show':_0x9ca17a(_0x1a4e('0x3a23')),'scanPlaneRate':_0x9ca17a(_0x1a4e('0x42a9')),'scanPlaneColor':_0x9ca17a(_0x1a4e('0x42a7')),'lineColor':_0x9ca17a(_0x1a4e('0x40a0')),'showScanPlane':_0x9ca17a('showScanPlane')}),_0x261465[_0x1a4e('0xa')][_0x1a4e('0x240')]=function(_0x5a49ac){return _0x241554(_0x5a49ac)||(_0x5a49ac=new _0x261465()),_0x5a49ac[_0x1a4e('0x42a5')]=this['xHalfAngle'],_0x5a49ac[_0x1a4e('0x42a6')]=this['yHalfAngle'],_0x5a49ac[_0x1a4e('0x3b5d')]=this[_0x1a4e('0x3b5d')],_0x5a49ac[_0x1a4e('0x3a23')]=this[_0x1a4e('0x3a23')],_0x5a49ac[_0x1a4e('0x45a2')]=this[_0x1a4e('0x45a2')],_0x5a49ac['intersectionColor']=this['intersectionColor'],_0x5a49ac[_0x1a4e('0x45a1')]=this[_0x1a4e('0x45a1')],_0x5a49ac[_0x1a4e('0x459f')]=this[_0x1a4e('0x459f')],_0x5a49ac['scanPlaneRate']=this[_0x1a4e('0x42a9')],_0x5a49ac['scanPlaneColor']=this[_0x1a4e('0x42a7')],_0x5a49ac[_0x1a4e('0x40a0')]=this[_0x1a4e('0x40a0')],_0x5a49ac[_0x1a4e('0x42a8')]=this[_0x1a4e('0x42a8')],_0x5a49ac;},_0x261465['prototype'][_0x1a4e('0x41b')]=function(_0x5a49ac){if(!_0x241554(_0x5a49ac))throw new _0x5197ab(_0x1a4e('0x458c'));this[_0x1a4e('0x42a5')]=_0x1f4047(this[_0x1a4e('0x42a5')],_0x5a49ac[_0x1a4e('0x42a5')]),this[_0x1a4e('0x42a6')]=_0x1f4047(this[_0x1a4e('0x42a6')],_0x5a49ac[_0x1a4e('0x42a6')]),this[_0x1a4e('0x3b5d')]=_0x1f4047(this[_0x1a4e('0x3b5d')],_0x5a49ac[_0x1a4e('0x3b5d')]),this[_0x1a4e('0x3a23')]=_0x1f4047(this[_0x1a4e('0x3a23')],_0x5a49ac[_0x1a4e('0x3a23')]),this[_0x1a4e('0x45a2')]=_0x1f4047(this[_0x1a4e('0x45a2')],_0x5a49ac[_0x1a4e('0x45a2')]),this[_0x1a4e('0x45a0')]=_0x1f4047(this[_0x1a4e('0x45a0')],_0x5a49ac['intersectionColor']),this[_0x1a4e('0x45a1')]=_0x1f4047(this[_0x1a4e('0x45a1')],_0x5a49ac[_0x1a4e('0x45a1')]),this[_0x1a4e('0x42a9')]=_0x1f4047(this[_0x1a4e('0x42a9')],_0x5a49ac['scanPlaneRate']),this[_0x1a4e('0x459f')]=_0x1f4047(this[_0x1a4e('0x459f')],_0x5a49ac['lateralSurfaceMaterial']),this[_0x1a4e('0x42a7')]=_0x1f4047(this[_0x1a4e('0x42a7')],_0x5a49ac[_0x1a4e('0x42a7')]),this[_0x1a4e('0x40a0')]=_0x1f4047(this[_0x1a4e('0x40a0')],_0x5a49ac[_0x1a4e('0x40a0')]),this[_0x1a4e('0x42a8')]=_0x1f4047(this[_0x1a4e('0x42a8')],_0x5a49ac[_0x1a4e('0x42a8')]);},_0x261465;}[_0x1a4e('0x1')](_0x1f4047,_0x241554,_0x1f4047,_0x5a49ac))||(_0x5a49ac[_0x1a4e('0x0')]=_0x1242a4);},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/RectangularSensorPrimitive.js':function(_0x29a7bb,_0x28c354,_0x59bfed){'use strict';Object[_0x1a4e('0x2')](_0x28c354,_0x1a4e('0x6'),{'value':!0x0}),_0x28c354[_0x1a4e('0x45a3')]=void 0x0;var _0x295ea7=_0x3c54b3(_0x59bfed('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/shaders/RectangularSensorVS.glsl')),_0x4b7e47=_0x3c54b3(_0x59bfed(_0x1a4e('0x45a4'))),_0x2649e8=_0x3c54b3(_0x59bfed(_0x1a4e('0x45a5'))),_0x44c1e2=_0x3c54b3(_0x59bfed(_0x1a4e('0x45a6')));function _0x3c54b3(_0x29a7bb){return _0x29a7bb&&_0x29a7bb[_0x1a4e('0x6')]?_0x29a7bb:{'default':_0x29a7bb};}var _0x8fc262=Cesium[_0x1a4e('0x3ac1')],_0x3cfee1=Cesium['Cartesian3'],_0x9ee9da=Cesium['Color'],_0x17a654=Cesium[_0x1a4e('0x792')],_0x2f651e=Cesium[_0x1a4e('0x3b58')],_0x2e24b8=Cesium['defaultValue'],_0x2eb457=Cesium[_0x1a4e('0x3a0b')],_0x29052e=(Cesium[_0x1a4e('0x1c8')],Cesium[_0x1a4e('0x3b9b')]),_0x4ec83e=Cesium[_0x1a4e('0x3b9c')],_0x3079a7=Cesium[_0x1a4e('0x3a29')],_0x40415e=Cesium['PrimitiveType'],_0x537625=Cesium['Buffer'],_0x21f40d=Cesium[_0x1a4e('0x45a7')],_0x3ceb13=Cesium['DrawCommand'],_0x314132=Cesium['Pass'],_0xafe085=Cesium[_0x1a4e('0x3baa')],_0x11e319=Cesium[_0x1a4e('0x3bab')],_0xe99372=Cesium['ShaderSource'],_0x52f428=Cesium['VertexArray'],_0x36cb4a=Cesium[_0x1a4e('0x3bb3')],_0x591c56=Cesium[_0x1a4e('0x44b2')],_0x523498=Cesium[_0x1a4e('0x3a3b')],_0x491967=Cesium[_0x1a4e('0x3a55')],_0x4573e6=Cesium['VertexFormat'],_0x866c89=Cesium[_0x1a4e('0x1020')],_0x506d4b=Cesium[_0x1a4e('0x3aae')],_0x477319=(_0x3079a7=Cesium['Matrix4'],Cesium[_0x1a4e('0x39a9')]),_0x4472c5=(Cesium['BoxGeometry'],Cesium[_0x1a4e('0x3b5f')],Math['sin']),_0x5b3511=Math[_0x1a4e('0x90')],_0x3a0162=Math[_0x1a4e('0xbe')],_0x57d5e6=Math[_0x1a4e('0xc2')],_0x23fd04=(Math['asin'],{'position':0x0,'normal':0x1});function _0x3fc35b(_0x29a7bb){var _0x28c354=this;_0x29a7bb=_0x2e24b8(_0x29a7bb,_0x2e24b8[_0x1a4e('0x3bcb')]),this['show']=_0x2e24b8(_0x29a7bb[_0x1a4e('0x3a23')],!0x0),this['slice']=_0x2e24b8(_0x29a7bb['slice'],0x20),this[_0x1a4e('0x3b64')]=_0x3079a7['clone'](_0x29a7bb[_0x1a4e('0x3b64')],new _0x3079a7()),this['_modelMatrix']=new _0x3079a7(),this[_0x1a4e('0x3d8c')]=new _0x3079a7(),this[_0x1a4e('0x45a8')]=new _0x3079a7(),this[_0x1a4e('0x3b5d')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x3b5d')],Number[_0x1a4e('0x4d5')]),this[_0x1a4e('0x4413')]=void 0x0,this[_0x1a4e('0x42a5')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x42a5')],0x0),this[_0x1a4e('0x4591')]=void 0x0,this['yHalfAngle']=_0x2e24b8(_0x29a7bb[_0x1a4e('0x42a6')],0x0),this[_0x1a4e('0x4593')]=void 0x0,this['lineColor']=_0x2e24b8(_0x29a7bb[_0x1a4e('0x40a0')],_0x9ee9da[_0x1a4e('0x39a7')]),this[_0x1a4e('0x45a9')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45a9')],!0x0),this['showSectorSegmentLines']=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45aa')],!0x0),this[_0x1a4e('0x45ab')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45ab')],!0x0),this['material']=_0x2eb457(_0x29a7bb[_0x1a4e('0x3a41')])?_0x29a7bb[_0x1a4e('0x3a41')]:_0x523498[_0x1a4e('0x3944')](_0x523498[_0x1a4e('0x45ac')]),this['_material']=void 0x0,this['_translucent']=void 0x0,this[_0x1a4e('0x459f')]=_0x2eb457(_0x29a7bb[_0x1a4e('0x459f')])?_0x29a7bb['lateralSurfaceMaterial']:_0x523498['fromType'](_0x523498[_0x1a4e('0x45ac')]),this['_lateralSurfaceMaterial']=void 0x0,this[_0x1a4e('0x45ad')]=void 0x0,this[_0x1a4e('0x45ae')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45ae')],!0x0),this[_0x1a4e('0x45af')]=_0x2eb457(_0x29a7bb[_0x1a4e('0x45af')])?_0x29a7bb[_0x1a4e('0x45af')]:_0x523498[_0x1a4e('0x3944')](_0x523498['ColorType']),this[_0x1a4e('0x45b0')]=void 0x0,this[_0x1a4e('0x45b1')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45b1')],!0x0),this['showIntersection']=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45a2')],!0x0),this['intersectionColor']=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45a0')],_0x9ee9da[_0x1a4e('0x39a7')]),this[_0x1a4e('0x45a1')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45a1')],0x5),this[_0x1a4e('0x45b2')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45b2')],!0x1),this['_showThroughEllipsoid']=void 0x0,this[_0x1a4e('0x42a8')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x42a8')],!0x0),this[_0x1a4e('0x42a7')]=_0x2e24b8(_0x29a7bb[_0x1a4e('0x42a7')],_0x9ee9da[_0x1a4e('0x39a7')]),this['scanPlaneMode']=_0x2e24b8(_0x29a7bb[_0x1a4e('0x45b3')],'horizontal'),this[_0x1a4e('0x42a9')]=_0x2e24b8(_0x29a7bb['scanPlaneRate'],0xa),this[_0x1a4e('0x45b4')]=0x0,this['_scanePlaneYHalfAngle']=0x0,this[_0x1a4e('0x4417')]=_0x477319[_0x1a4e('0xe3f')](),this[_0x1a4e('0x3c0e')]=new _0x8fc262(),this['_boundingSphereWC']=new _0x8fc262(),this[_0x1a4e('0x45b5')]=new _0x3ceb13({'owner':this,'primitiveType':_0x40415e['TRIANGLES'],'boundingVolume':this[_0x1a4e('0x45b6')]}),this[_0x1a4e('0x45b7')]=new _0x3ceb13({'owner':this,'primitiveType':_0x40415e[_0x1a4e('0x3b5a')],'boundingVolume':this[_0x1a4e('0x45b6')]}),this[_0x1a4e('0x45b8')]=void 0x0,this['_sectorLineCommand']=new _0x3ceb13({'owner':this,'primitiveType':_0x40415e[_0x1a4e('0x3ac0')],'boundingVolume':this[_0x1a4e('0x45b6')]}),this['_sectorLineVA']=void 0x0,this['_sectorSegmentLineCommand']=new _0x3ceb13({'owner':this,'primitiveType':_0x40415e[_0x1a4e('0x3ac0')],'boundingVolume':this[_0x1a4e('0x45b6')]}),this[_0x1a4e('0x45b9')]=void 0x0,this[_0x1a4e('0x45ba')]=new _0x3ceb13({'owner':this,'primitiveType':_0x40415e[_0x1a4e('0x3b5a')],'boundingVolume':this[_0x1a4e('0x45b6')]}),this[_0x1a4e('0x45bb')]=new _0x3ceb13({'owner':this,'primitiveType':_0x40415e[_0x1a4e('0x3b5a')],'boundingVolume':this[_0x1a4e('0x45b6')]}),this[_0x1a4e('0x45bc')]=void 0x0,this[_0x1a4e('0x45bd')]=new _0x3ceb13({'owner':this,'primitiveType':_0x40415e['LINES'],'boundingVolume':this['_boundingSphereWC']}),this[_0x1a4e('0x45be')]=void 0x0,this[_0x1a4e('0x45bf')]=new _0x3ceb13({'owner':this,'primitiveType':_0x40415e[_0x1a4e('0x3b5a')],'boundingVolume':this[_0x1a4e('0x45b6')]}),this[_0x1a4e('0x45c0')]=new _0x3ceb13({'owner':this,'primitiveType':_0x40415e[_0x1a4e('0x3b5a')],'boundingVolume':this[_0x1a4e('0x45b6')]}),this[_0x1a4e('0x45c1')]=void 0x0,this['_colorCommands']=[],this['_frontFaceRS']=void 0x0,this[_0x1a4e('0x45c2')]=void 0x0,this[_0x1a4e('0x45c3')]=void 0x0,this['_uniforms']={'u_type':function(){return 0x0;},'u_xHalfAngle':function(){return _0x28c354[_0x1a4e('0x42a5')];},'u_yHalfAngle':function(){return _0x28c354['yHalfAngle'];},'u_radius':function(){return _0x28c354['radius'];},'u_showThroughEllipsoid':function(){return _0x28c354['showThroughEllipsoid'];},'u_showIntersection':function(){return _0x28c354[_0x1a4e('0x45a2')];},'u_intersectionColor':function(){return _0x28c354[_0x1a4e('0x45a0')];},'u_intersectionWidth':function(){return _0x28c354[_0x1a4e('0x45a1')];},'u_normalDirection':function(){return 0x1;},'u_lineColor':function(){return _0x28c354['lineColor'];}},this[_0x1a4e('0x45c4')]={'u_xHalfAngle':function(){return _0x28c354[_0x1a4e('0x45b4')];},'u_yHalfAngle':function(){return _0x28c354[_0x1a4e('0x45c5')];},'u_radius':function(){return _0x28c354[_0x1a4e('0x3b5d')];},'u_color':function(){return _0x28c354['scanPlaneColor'];},'u_showThroughEllipsoid':function(){return _0x28c354[_0x1a4e('0x45b2')];},'u_showIntersection':function(){return _0x28c354[_0x1a4e('0x45a2')];},'u_intersectionColor':function(){return _0x28c354[_0x1a4e('0x45a0')];},'u_intersectionWidth':function(){return _0x28c354[_0x1a4e('0x45a1')];},'u_normalDirection':function(){return 0x1;},'u_lineColor':function(){return _0x28c354['lineColor'];}};}_0x3fc35b['prototype'][_0x1a4e('0x937')]=function(_0x29a7bb){var _0x28c354=_0x29a7bb['mode'];if(this['show']&&_0x28c354===_0x491967[_0x1a4e('0x3a56')]){var _0x59bfed=!0x1,_0x3c54b3=!0x1,_0x9ee9da=!0x1,_0x17a654=this[_0x1a4e('0x42a5')],_0x2e24b8=this[_0x1a4e('0x42a6')];if(_0x17a654<0x0||_0x2e24b8<0x0)throw new _0x4ec83e(_0x1a4e('0x45c6'));if(0x0!=_0x17a654&&0x0!=_0x2e24b8){this[_0x1a4e('0x4591')]===_0x17a654&&this[_0x1a4e('0x4593')]===_0x2e24b8||(this[_0x1a4e('0x4591')]=_0x17a654,this[_0x1a4e('0x4593')]=_0x2e24b8,_0x59bfed=!0x0);var _0x2eb457=this[_0x1a4e('0x3b5d')];if(_0x2eb457<0x0)throw new _0x4ec83e(_0x1a4e('0x45c7'));var _0x29052e=!0x1;this[_0x1a4e('0x4413')]!==_0x2eb457&&(_0x29052e=!0x0,this['_radius']=_0x2eb457,this[_0x1a4e('0x3c0e')]=new _0x8fc262(_0x3cfee1['ZERO'],this['radius'])),(!_0x3079a7[_0x1a4e('0x23e')](this[_0x1a4e('0x3b64')],this[_0x1a4e('0x3bda')])||_0x29052e)&&(_0x3079a7[_0x1a4e('0x240')](this[_0x1a4e('0x3b64')],this[_0x1a4e('0x3bda')]),_0x3079a7[_0x1a4e('0x3c6a')](this[_0x1a4e('0x3b64')],this[_0x1a4e('0x3b5d')],this[_0x1a4e('0x3d8c')]),_0x8fc262['transform'](this[_0x1a4e('0x3c0e')],this[_0x1a4e('0x3b64')],this[_0x1a4e('0x45b6')]));var _0x40415e=this[_0x1a4e('0x45b2')];this['_showThroughEllipsoid']!==this[_0x1a4e('0x45b2')]&&(this['_showThroughEllipsoid']=_0x40415e,_0x3c54b3=!0x0);var _0x3ceb13=this[_0x1a4e('0x3a41')]=this[_0x1a4e('0x459f')];this[_0x1a4e('0x4583')]!==_0x3ceb13&&(this[_0x1a4e('0x4583')]=_0x3ceb13,_0x3c54b3=!0x0,_0x9ee9da=!0x0);var _0x523498=_0x3ceb13[_0x1a4e('0x45c8')]();if(this[_0x1a4e('0x45c9')]!==_0x523498&&(this['_translucent']=_0x523498,_0x3c54b3=!0x0),this[_0x1a4e('0x42a8')]){var _0x4472c5=_0x29a7bb['time'],_0x3fc35b=_0x477319[_0x1a4e('0x409c')](_0x4472c5,this[_0x1a4e('0x4417')]);_0x3fc35b<0x0&&(this[_0x1a4e('0x4417')]=_0x477319['clone'](_0x4472c5,this['_time']));var _0x269ab2,_0x1bc64f=Math['max'](_0x3fc35b%this[_0x1a4e('0x42a9')]/this[_0x1a4e('0x42a9')],0x0);if('horizontal'==this[_0x1a4e('0x45b3')]){var _0x21f089=_0x5b3511(_0x269ab2=0x2*_0x2e24b8*_0x1bc64f-_0x2e24b8),_0x4fcf9e=_0x3a0162(_0x17a654),_0x321e66=_0x57d5e6(_0x21f089*_0x4fcf9e);this[_0x1a4e('0x45b4')]=_0x321e66,this[_0x1a4e('0x45c5')]=_0x269ab2,Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3c5e')](this['_scanePlaneYHalfAngle'],_0x5d7fa3);}else{_0x269ab2=0x2*_0x17a654*_0x1bc64f-_0x17a654;var _0x4a5964=_0x3a0162(_0x2e24b8),_0x12e40d=_0x5b3511(_0x269ab2),_0x54cfec=_0x57d5e6(_0x12e40d*_0x4a5964);this[_0x1a4e('0x45b4')]=_0x269ab2,this[_0x1a4e('0x45c5')]=_0x54cfec,Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3c60')](this[_0x1a4e('0x45b4')],_0x5d7fa3);}Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3c5f')](this['modelMatrix'],_0x5d7fa3,this['_computedScanPlaneModelMatrix']),_0x3079a7[_0x1a4e('0x3c6a')](this[_0x1a4e('0x45a8')],this[_0x1a4e('0x3b5d')],this['_computedScanPlaneModelMatrix']);}_0x59bfed&&function(_0x29a7bb,_0x28c354){var _0x59bfed=_0x28c354[_0x1a4e('0x8cb')],_0x295ea7=_0x2800f6(_0x29a7bb,_0x29a7bb[_0x1a4e('0x42a5')],_0x29a7bb['yHalfAngle']),_0x4b7e47=function(_0x29a7bb,_0x28c354){var _0x59bfed=_0x29a7bb[_0x1a4e('0x42a5')],_0x295ea7=_0x29a7bb[_0x1a4e('0x42a6')],_0x4b7e47=_0x28c354[_0x1a4e('0x45ca')],_0x2649e8=_0x28c354[_0x1a4e('0x45cb')],_0x44c1e2=[],_0x3c54b3=_0x506d4b[_0x1a4e('0x3c60')](_0x59bfed,_0x5d7fa3);_0x44c1e2[_0x1a4e('0x46')](_0x4b7e47[_0x1a4e('0x21')](function(_0x29a7bb){return _0x506d4b[_0x1a4e('0x449a')](_0x3c54b3,_0x29a7bb,new Cesium[(_0x1a4e('0x393e'))]());}));var _0x3c54b3=_0x506d4b[_0x1a4e('0x3c5e')](-_0x295ea7,_0x5d7fa3);_0x44c1e2[_0x1a4e('0x46')](_0x2649e8['map'](function(_0x29a7bb){return _0x506d4b['multiplyByVector'](_0x3c54b3,_0x29a7bb,new Cesium[(_0x1a4e('0x393e'))]());})[_0x1a4e('0x9b')]());var _0x3c54b3=_0x506d4b[_0x1a4e('0x3c60')](-_0x59bfed,_0x5d7fa3);_0x44c1e2[_0x1a4e('0x46')](_0x4b7e47['map'](function(_0x29a7bb){return _0x506d4b['multiplyByVector'](_0x3c54b3,_0x29a7bb,new Cesium['Cartesian3']());})[_0x1a4e('0x9b')]());var _0x3c54b3=_0x506d4b[_0x1a4e('0x3c5e')](_0x295ea7,_0x5d7fa3);return _0x44c1e2[_0x1a4e('0x46')](_0x2649e8[_0x1a4e('0x21')](function(_0x29a7bb){return _0x506d4b[_0x1a4e('0x449a')](_0x3c54b3,_0x29a7bb,new Cesium[(_0x1a4e('0x393e'))]());})),_0x44c1e2;}(_0x29a7bb,_0x295ea7);_0x29a7bb[_0x1a4e('0x45ab')]&&(_0x29a7bb[_0x1a4e('0x45b8')]=function(_0x29a7bb,_0x28c354){for(var _0x59bfed=Array[_0x1a4e('0xa')][_0x1a4e('0x9a')][_0x1a4e('0x8b')]([],_0x28c354)['length']-_0x28c354[_0x1a4e('0x1e')],_0x295ea7=new Float32Array(0x12*_0x59bfed),_0x4b7e47=0x0,_0x2649e8=0x0,_0x44c1e2=_0x28c354[_0x1a4e('0x1e')];_0x2649e8<_0x44c1e2;_0x2649e8++)for(var _0x3c54b3=_0x28c354[_0x2649e8],_0x8fc262=_0x3cfee1[_0x1a4e('0x330')](_0x3cfee1[_0x1a4e('0x3a26')](_0x3c54b3[0x0],_0x3c54b3[_0x3c54b3[_0x1a4e('0x1e')]-0x1],_0x35207d),_0x35207d),_0x9ee9da=0x0,_0x59bfed=_0x3c54b3[_0x1a4e('0x1e')]-0x1;_0x9ee9da<_0x59bfed;_0x9ee9da++)_0x295ea7[_0x4b7e47++]=0x0,_0x295ea7[_0x4b7e47++]=0x0,_0x295ea7[_0x4b7e47++]=0x0,_0x295ea7[_0x4b7e47++]=-_0x8fc262['x'],_0x295ea7[_0x4b7e47++]=-_0x8fc262['y'],_0x295ea7[_0x4b7e47++]=-_0x8fc262['z'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x9ee9da]['x'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x9ee9da]['y'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x9ee9da]['z'],_0x295ea7[_0x4b7e47++]=-_0x8fc262['x'],_0x295ea7[_0x4b7e47++]=-_0x8fc262['y'],_0x295ea7[_0x4b7e47++]=-_0x8fc262['z'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x9ee9da+0x1]['x'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x9ee9da+0x1]['y'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x9ee9da+0x1]['z'],_0x295ea7[_0x4b7e47++]=-_0x8fc262['x'],_0x295ea7[_0x4b7e47++]=-_0x8fc262['y'],_0x295ea7[_0x4b7e47++]=-_0x8fc262['z'];var _0x17a654=_0x537625['createVertexBuffer']({'context':_0x29a7bb,'typedArray':_0x295ea7,'usage':_0x21f40d[_0x1a4e('0x3c78')]}),_0x2e24b8=0x6*Float32Array[_0x1a4e('0x45cc')],_0x2eb457=[{'index':_0x23fd04['position'],'vertexBuffer':_0x17a654,'componentsPerAttribute':0x3,'componentDatatype':_0x2f651e['FLOAT'],'offsetInBytes':0x0,'strideInBytes':_0x2e24b8},{'index':_0x23fd04[_0x1a4e('0x951')],'vertexBuffer':_0x17a654,'componentsPerAttribute':0x3,'componentDatatype':_0x2f651e['FLOAT'],'offsetInBytes':0x3*Float32Array[_0x1a4e('0x45cc')],'strideInBytes':_0x2e24b8}];return new _0x52f428({'context':_0x29a7bb,'attributes':_0x2eb457});}(_0x59bfed,_0x4b7e47));_0x29a7bb[_0x1a4e('0x45a9')]&&(_0x29a7bb[_0x1a4e('0x45cd')]=function(_0x29a7bb,_0x28c354){for(var _0x59bfed=_0x28c354['length'],_0x295ea7=new Float32Array(0x9*_0x59bfed),_0x4b7e47=0x0,_0x2649e8=0x0,_0x44c1e2=_0x28c354[_0x1a4e('0x1e')];_0x2649e8<_0x44c1e2;_0x2649e8++){var _0x3c54b3=_0x28c354[_0x2649e8];_0x295ea7[_0x4b7e47++]=0x0,_0x295ea7[_0x4b7e47++]=0x0,_0x295ea7[_0x4b7e47++]=0x0,_0x295ea7[_0x4b7e47++]=_0x3c54b3[0x0]['x'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[0x0]['y'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[0x0]['z'];}var _0x8fc262=_0x537625[_0x1a4e('0x45ce')]({'context':_0x29a7bb,'typedArray':_0x295ea7,'usage':_0x21f40d['STATIC_DRAW']}),_0x3cfee1=0x3*Float32Array['BYTES_PER_ELEMENT'],_0x9ee9da=[{'index':_0x23fd04[_0x1a4e('0x3553')],'vertexBuffer':_0x8fc262,'componentsPerAttribute':0x3,'componentDatatype':_0x2f651e['FLOAT'],'offsetInBytes':0x0,'strideInBytes':_0x3cfee1}];return new _0x52f428({'context':_0x29a7bb,'attributes':_0x9ee9da});}(_0x59bfed,_0x4b7e47));_0x29a7bb[_0x1a4e('0x45aa')]&&(_0x29a7bb[_0x1a4e('0x45b9')]=function(_0x29a7bb,_0x28c354){for(var _0x59bfed=Array[_0x1a4e('0xa')]['concat']['apply']([],_0x28c354)[_0x1a4e('0x1e')]-_0x28c354['length'],_0x295ea7=new Float32Array(0x9*_0x59bfed),_0x4b7e47=0x0,_0x2649e8=0x0,_0x44c1e2=_0x28c354[_0x1a4e('0x1e')];_0x2649e8<_0x44c1e2;_0x2649e8++)for(var _0x3c54b3=_0x28c354[_0x2649e8],_0x8fc262=0x0,_0x59bfed=_0x3c54b3[_0x1a4e('0x1e')]-0x1;_0x8fc262<_0x59bfed;_0x8fc262++)_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x8fc262]['x'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x8fc262]['y'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x8fc262]['z'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x8fc262+0x1]['x'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x8fc262+0x1]['y'],_0x295ea7[_0x4b7e47++]=_0x3c54b3[_0x8fc262+0x1]['z'];var _0x3cfee1=_0x537625[_0x1a4e('0x45ce')]({'context':_0x29a7bb,'typedArray':_0x295ea7,'usage':_0x21f40d[_0x1a4e('0x3c78')]}),_0x9ee9da=0x3*Float32Array[_0x1a4e('0x45cc')],_0x17a654=[{'index':_0x23fd04[_0x1a4e('0x3553')],'vertexBuffer':_0x3cfee1,'componentsPerAttribute':0x3,'componentDatatype':_0x2f651e[_0x1a4e('0x3b59')],'offsetInBytes':0x0,'strideInBytes':_0x9ee9da}];return new _0x52f428({'context':_0x29a7bb,'attributes':_0x17a654});}(_0x59bfed,_0x4b7e47));_0x29a7bb['showDomeSurfaces']&&(_0x29a7bb[_0x1a4e('0x45bc')]=function(_0x29a7bb){var _0x28c354=Cesium['EllipsoidGeometry'][_0x1a4e('0x3e0')](new Cesium[(_0x1a4e('0x3b5f'))]({'vertexFormat':_0x4573e6[_0x1a4e('0x45cf')],'stackPartitions':0x20,'slicePartitions':0x20}));return _0x52f428[_0x1a4e('0x45d0')]({'context':_0x29a7bb,'geometry':_0x28c354,'attributeLocations':_0x23fd04,'bufferUsage':_0x21f40d[_0x1a4e('0x3c78')],'interleave':!0x1});}(_0x59bfed));_0x29a7bb['showDomeLines']&&(_0x29a7bb[_0x1a4e('0x45be')]=function(_0x29a7bb){var _0x28c354=Cesium['EllipsoidOutlineGeometry'][_0x1a4e('0x3e0')](new Cesium[(_0x1a4e('0x45d1'))]({'vertexFormat':_0x4573e6[_0x1a4e('0x45cf')],'stackPartitions':0x20,'slicePartitions':0x20}));return _0x52f428[_0x1a4e('0x45d0')]({'context':_0x29a7bb,'geometry':_0x28c354,'attributeLocations':_0x23fd04,'bufferUsage':_0x21f40d[_0x1a4e('0x3c78')],'interleave':!0x1});}(_0x59bfed));if(_0x29a7bb[_0x1a4e('0x42a8')])if(_0x1a4e('0x419c')==_0x29a7bb['scanPlaneMode']){var _0x2649e8=_0x2800f6(_0x29a7bb,_0x866c89[_0x1a4e('0x448c')],0x0);_0x29a7bb[_0x1a4e('0x45d2')]=_0xb5802e(_0x59bfed,_0x2649e8['zox']);}else{var _0x2649e8=_0x2800f6(_0x29a7bb,0x0,_0x866c89[_0x1a4e('0x448c')]);_0x29a7bb[_0x1a4e('0x45d2')]=_0xb5802e(_0x59bfed,_0x2649e8[_0x1a4e('0x45ca')]);}}(this,_0x29a7bb),_0x3c54b3&&function(_0x29a7bb,_0x28c354,_0x59bfed){_0x59bfed?(_0x29a7bb['_frontFaceRS']=_0xafe085[_0x1a4e('0x3ccf')]({'depthTest':{'enabled':!_0x28c354},'depthMask':!0x1,'blending':_0x36cb4a[_0x1a4e('0x3d38')],'cull':{'enabled':!0x0,'face':_0x591c56[_0x1a4e('0x44b3')]}}),_0x29a7bb[_0x1a4e('0x45c2')]=_0xafe085[_0x1a4e('0x3ccf')]({'depthTest':{'enabled':!_0x28c354},'depthMask':!0x1,'blending':_0x36cb4a[_0x1a4e('0x3d38')],'cull':{'enabled':!0x0,'face':_0x591c56[_0x1a4e('0x45d3')]}}),_0x29a7bb['_pickRS']=_0xafe085['fromCache']({'depthTest':{'enabled':!_0x28c354},'depthMask':!0x1,'blending':_0x36cb4a[_0x1a4e('0x3d38')]})):(_0x29a7bb['_frontFaceRS']=_0xafe085[_0x1a4e('0x3ccf')]({'depthTest':{'enabled':!_0x28c354},'depthMask':!0x0}),_0x29a7bb[_0x1a4e('0x45d4')]=_0xafe085[_0x1a4e('0x3ccf')]({'depthTest':{'enabled':!0x0},'depthMask':!0x0}));}(this,_0x40415e,_0x523498),_0x9ee9da&&function(_0x29a7bb,_0x28c354,_0x59bfed){(function(_0x29a7bb,_0x28c354,_0x59bfed){var _0x44c1e2=_0x28c354[_0x1a4e('0x8cb')],_0x3c54b3=_0x295ea7[_0x1a4e('0x8')],_0x8fc262=new _0xe99372({'sources':[_0x2649e8[_0x1a4e('0x8')],_0x59bfed[_0x1a4e('0x45d5')],_0x4b7e47[_0x1a4e('0x8')]]});_0x29a7bb[_0x1a4e('0x45c3')]=_0x11e319[_0x1a4e('0x45d6')]({'context':_0x44c1e2,'shaderProgram':_0x29a7bb[_0x1a4e('0x45c3')],'vertexShaderSource':_0x3c54b3,'fragmentShaderSource':_0x8fc262,'attributeLocations':_0x23fd04});var _0x3cfee1=new _0xe99372({'sources':[_0x2649e8['default'],_0x59bfed['shaderSource'],_0x4b7e47[_0x1a4e('0x8')]],'pickColorQualifier':_0x1a4e('0x45d7')});_0x29a7bb[_0x1a4e('0x45d8')]=_0x11e319[_0x1a4e('0x45d6')]({'context':_0x44c1e2,'shaderProgram':_0x29a7bb[_0x1a4e('0x45d8')],'vertexShaderSource':_0x3c54b3,'fragmentShaderSource':_0x3cfee1,'attributeLocations':_0x23fd04});}(_0x29a7bb,_0x28c354,_0x59bfed),_0x29a7bb['showScanPlane']&&function(_0x29a7bb,_0x28c354,_0x59bfed){var _0x4b7e47=_0x28c354[_0x1a4e('0x8cb')],_0x3c54b3=_0x295ea7[_0x1a4e('0x8')],_0x8fc262=new _0xe99372({'sources':[_0x2649e8['default'],_0x59bfed[_0x1a4e('0x45d5')],_0x44c1e2[_0x1a4e('0x8')]]});_0x29a7bb[_0x1a4e('0x45d9')]=_0x11e319[_0x1a4e('0x45d6')]({'context':_0x4b7e47,'shaderProgram':_0x29a7bb[_0x1a4e('0x45d9')],'vertexShaderSource':_0x3c54b3,'fragmentShaderSource':_0x8fc262,'attributeLocations':_0x23fd04});}(_0x29a7bb,_0x28c354,_0x59bfed));}(this,_0x29a7bb,_0x3ceb13),(_0x3c54b3||_0x9ee9da)&&function(_0x29a7bb,_0x28c354){_0x29a7bb[_0x1a4e('0x45da')][_0x1a4e('0x1e')]=0x0;var _0x59bfed=_0x28c354?_0x314132[_0x1a4e('0x3cfd')]:_0x314132[_0x1a4e('0x45db')];_0x29a7bb[_0x1a4e('0x45ab')]&&_0x4792ff(_0x29a7bb,_0x29a7bb['_sectorFrontCommand'],_0x29a7bb[_0x1a4e('0x45b7')],_0x29a7bb[_0x1a4e('0x45dc')],_0x29a7bb[_0x1a4e('0x45c2')],_0x29a7bb['_sp'],_0x29a7bb[_0x1a4e('0x45b8')],_0x29a7bb['_uniforms'],_0x29a7bb[_0x1a4e('0x3d8c')],_0x28c354,_0x59bfed);_0x29a7bb[_0x1a4e('0x45a9')]&&_0x4792ff(_0x29a7bb,_0x29a7bb['_sectorLineCommand'],void 0x0,_0x29a7bb[_0x1a4e('0x45dc')],_0x29a7bb[_0x1a4e('0x45c2')],_0x29a7bb[_0x1a4e('0x45c3')],_0x29a7bb[_0x1a4e('0x45cd')],_0x29a7bb[_0x1a4e('0x45dd')],_0x29a7bb[_0x1a4e('0x3d8c')],_0x28c354,_0x59bfed,!0x0);_0x29a7bb[_0x1a4e('0x45aa')]&&_0x4792ff(_0x29a7bb,_0x29a7bb[_0x1a4e('0x45de')],void 0x0,_0x29a7bb[_0x1a4e('0x45dc')],_0x29a7bb[_0x1a4e('0x45c2')],_0x29a7bb['_sp'],_0x29a7bb[_0x1a4e('0x45b9')],_0x29a7bb[_0x1a4e('0x45dd')],_0x29a7bb['_computedModelMatrix'],_0x28c354,_0x59bfed,!0x0);_0x29a7bb[_0x1a4e('0x45ae')]&&_0x4792ff(_0x29a7bb,_0x29a7bb[_0x1a4e('0x45ba')],_0x29a7bb[_0x1a4e('0x45bb')],_0x29a7bb['_frontFaceRS'],_0x29a7bb[_0x1a4e('0x45c2')],_0x29a7bb[_0x1a4e('0x45c3')],_0x29a7bb[_0x1a4e('0x45bc')],_0x29a7bb[_0x1a4e('0x45dd')],_0x29a7bb[_0x1a4e('0x3d8c')],_0x28c354,_0x59bfed);_0x29a7bb[_0x1a4e('0x45b1')]&&_0x4792ff(_0x29a7bb,_0x29a7bb[_0x1a4e('0x45bd')],void 0x0,_0x29a7bb[_0x1a4e('0x45dc')],_0x29a7bb[_0x1a4e('0x45c2')],_0x29a7bb[_0x1a4e('0x45c3')],_0x29a7bb['_domeLineVA'],_0x29a7bb['_uniforms'],_0x29a7bb[_0x1a4e('0x3d8c')],_0x28c354,_0x59bfed,!0x0);_0x29a7bb['showScanPlane']&&_0x4792ff(_0x29a7bb,_0x29a7bb[_0x1a4e('0x45bf')],_0x29a7bb[_0x1a4e('0x45c0')],_0x29a7bb[_0x1a4e('0x45dc')],_0x29a7bb['_backFaceRS'],_0x29a7bb['_scanePlaneSP'],_0x29a7bb[_0x1a4e('0x45d2')],_0x29a7bb['_scanUniforms'],_0x29a7bb['_computedScanPlaneModelMatrix'],_0x28c354,_0x59bfed);}(this,_0x523498);var _0x3bd356=_0x29a7bb[_0x1a4e('0x3d9d')],_0x268095=_0x29a7bb[_0x1a4e('0x45df')],_0x54c8f5=this[_0x1a4e('0x45da')];if(_0x268095[_0x1a4e('0x12d9')])for(var _0x238fe8=0x0,_0x3e8c9d=_0x54c8f5[_0x1a4e('0x1e')];_0x238fe8<_0x3e8c9d;_0x238fe8++){var _0x3ec75e=_0x54c8f5[_0x238fe8];_0x3bd356[_0x1a4e('0x46')](_0x3ec75e);}}}},_0x3fc35b[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){return _0x29052e(this);},_0x3fc35b['prototype']['isDestroyed']=function(){return!0x1;};var _0x5d7fa3=new _0x506d4b(),_0x35207d=new _0x3cfee1();function _0x2800f6(_0x29a7bb,_0x28c354,_0x59bfed){for(var _0x295ea7=_0x29a7bb[_0x1a4e('0x78')],_0x4b7e47=_0x5b3511(_0x59bfed),_0x2649e8=_0x3a0162(_0x59bfed),_0x44c1e2=_0x5b3511(_0x28c354),_0x3c54b3=_0x3a0162(_0x28c354),_0x8fc262=_0x57d5e6(_0x44c1e2*_0x2649e8),_0x9ee9da=_0x57d5e6(_0x4b7e47*_0x3c54b3),_0x17a654=[],_0x2f651e=0x0;_0x2f651e<_0x295ea7;_0x2f651e++){var _0x2e24b8=0x2*_0x8fc262*_0x2f651e/(_0x295ea7-0x1)-_0x8fc262;_0x17a654[_0x1a4e('0x46')](new _0x3cfee1(0x0,_0x4472c5(_0x2e24b8),_0x5b3511(_0x2e24b8)));}var _0x2eb457=[];for(_0x2f651e=0x0;_0x2f651e<_0x295ea7;_0x2f651e++){_0x2e24b8=0x2*_0x9ee9da*_0x2f651e/(_0x295ea7-0x1)-_0x9ee9da;_0x2eb457[_0x1a4e('0x46')](new _0x3cfee1(_0x4472c5(_0x2e24b8),0x0,_0x5b3511(_0x2e24b8)));}return{'zoy':_0x17a654,'zox':_0x2eb457};}function _0xb5802e(_0x29a7bb,_0x28c354){for(var _0x59bfed=_0x28c354[_0x1a4e('0x1e')]-0x1,_0x295ea7=new Float32Array(0x9*_0x59bfed),_0x4b7e47=0x0,_0x2649e8=0x0;_0x2649e8<_0x59bfed;_0x2649e8++)_0x295ea7[_0x4b7e47++]=0x0,_0x295ea7[_0x4b7e47++]=0x0,_0x295ea7[_0x4b7e47++]=0x0,_0x295ea7[_0x4b7e47++]=_0x28c354[_0x2649e8]['x'],_0x295ea7[_0x4b7e47++]=_0x28c354[_0x2649e8]['y'],_0x295ea7[_0x4b7e47++]=_0x28c354[_0x2649e8]['z'],_0x295ea7[_0x4b7e47++]=_0x28c354[_0x2649e8+0x1]['x'],_0x295ea7[_0x4b7e47++]=_0x28c354[_0x2649e8+0x1]['y'],_0x295ea7[_0x4b7e47++]=_0x28c354[_0x2649e8+0x1]['z'];var _0x44c1e2=_0x537625['createVertexBuffer']({'context':_0x29a7bb,'typedArray':_0x295ea7,'usage':_0x21f40d[_0x1a4e('0x3c78')]}),_0x3c54b3=0x3*Float32Array[_0x1a4e('0x45cc')],_0x8fc262=[{'index':_0x23fd04['position'],'vertexBuffer':_0x44c1e2,'componentsPerAttribute':0x3,'componentDatatype':_0x2f651e[_0x1a4e('0x3b59')],'offsetInBytes':0x0,'strideInBytes':_0x3c54b3}];return new _0x52f428({'context':_0x29a7bb,'attributes':_0x8fc262});}function _0x4792ff(_0x29a7bb,_0x28c354,_0x59bfed,_0x295ea7,_0x4b7e47,_0x2649e8,_0x44c1e2,_0x3c54b3,_0x8fc262,_0x3cfee1,_0x9ee9da,_0x2f651e){_0x3cfee1&&_0x59bfed&&(_0x59bfed[_0x1a4e('0x45e0')]=_0x44c1e2,_0x59bfed[_0x1a4e('0x3d35')]=_0x4b7e47,_0x59bfed['shaderProgram']=_0x2649e8,_0x59bfed['uniformMap']=_0x17a654(_0x3c54b3,_0x29a7bb[_0x1a4e('0x4583')][_0x1a4e('0x45dd')]),_0x59bfed[_0x1a4e('0x3cf4')]['u_normalDirection']=function(){return-0x1;},_0x59bfed['pass']=_0x9ee9da,_0x59bfed[_0x1a4e('0x3b64')]=_0x8fc262,_0x29a7bb[_0x1a4e('0x45da')][_0x1a4e('0x46')](_0x59bfed)),_0x28c354[_0x1a4e('0x45e0')]=_0x44c1e2,_0x28c354[_0x1a4e('0x3d35')]=_0x295ea7,_0x28c354[_0x1a4e('0x3d47')]=_0x2649e8,_0x28c354[_0x1a4e('0x3cf4')]=_0x17a654(_0x3c54b3,_0x29a7bb['_material'][_0x1a4e('0x45dd')]),_0x2f651e&&(_0x28c354[_0x1a4e('0x3cf4')]['u_type']=function(){return 0x1;}),_0x28c354[_0x1a4e('0x3d34')]=_0x9ee9da,_0x28c354[_0x1a4e('0x3b64')]=_0x8fc262,_0x29a7bb[_0x1a4e('0x45da')][_0x1a4e('0x46')](_0x28c354);}_0x28c354[_0x1a4e('0x45a3')]=_0x3fc35b;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/RectangularSensorVisualizer.js':function(_0x41ffb9,_0x3eeb3c,_0x45da0d){'use strict';Object[_0x1a4e('0x2')](_0x3eeb3c,_0x1a4e('0x6'),{'value':!0x0}),_0x3eeb3c[_0x1a4e('0x45e1')]=void 0x0;var _0x350142=_0x45da0d(_0x1a4e('0x45e2')),_0x3df178=_0x45da0d('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Core/remove-primitive.js'),_0x10a7a0=Cesium['AssociativeArray'],_0x4fb884=Cesium['Cartesian3'],_0xe459b5=Cesium['Color'],_0x64dcbb=Cesium['defined'],_0x434a28=Cesium[_0x1a4e('0x3b9b')],_0x42c3ba=Cesium[_0x1a4e('0x3b9c')],_0x16b04d=Cesium['Matrix3'],_0x195464=Cesium[_0x1a4e('0x3a29')],_0xbecf2b=Cesium['Quaternion'],_0x28495c=Cesium[_0x1a4e('0x45e3')],_0xc0a7f2=Cesium[_0x1a4e('0x1963')],_0x12862f=new _0x16b04d(),_0x309f16=(new _0x195464(),new _0x4fb884()),_0x6d3574=new _0x4fb884(),_0x31b462=new _0xbecf2b(),_0x1c1d14=new _0x4fb884(),_0x56bdf0=new _0xbecf2b(),_0x5831ac=function _0x41ffb9(_0x3eeb3c,_0x45da0d){if(!_0x64dcbb(_0x3eeb3c))throw new _0x42c3ba(_0x1a4e('0x45e4'));if(!_0x64dcbb(_0x45da0d))throw new _0x42c3ba('entityCollection\x20is\x20required.');_0x45da0d['collectionChanged'][_0x1a4e('0xec5')](_0x41ffb9[_0x1a4e('0xa')][_0x1a4e('0x45e5')],this),this[_0x1a4e('0x3be2')]=_0x3eeb3c,this[_0x1a4e('0x4570')]=_0x3eeb3c[_0x1a4e('0x38e3')],this['_entityCollection']=_0x45da0d,this[_0x1a4e('0xaa7')]={},this[_0x1a4e('0x45e6')]=new _0x10a7a0(),this[_0x1a4e('0x45e5')](_0x45da0d,_0x45da0d['values'],[],[]);};_0x5831ac['prototype'][_0x1a4e('0x937')]=function(_0x41ffb9){if(!_0x64dcbb(_0x41ffb9))throw new _0x42c3ba('time\x20is\x20required.');for(var _0x3eeb3c=this[_0x1a4e('0x45e6')][_0x1a4e('0x35b')],_0x45da0d=this[_0x1a4e('0xaa7')],_0x3df178=this[_0x1a4e('0x4570')],_0x10a7a0=0x0,_0x434a28=_0x3eeb3c[_0x1a4e('0x1e')];_0x10a7a0<_0x434a28;_0x10a7a0++){var _0x5831ac,_0x2c22f7,_0x264040,_0xfcd8a0,_0x202dad=_0x3eeb3c[_0x10a7a0],_0x73f1bd=_0x202dad['_rectangularSensor'],_0x384507=_0x45da0d[_0x202dad['id']],_0x1e4631=_0x202dad[_0x1a4e('0x45e7')]&&_0x202dad['isAvailable'](_0x41ffb9)&&_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd[_0x1a4e('0x3a24')],_0x41ffb9,!0x0);if(_0x1e4631&&(_0x5831ac=_0xc0a7f2['getValueOrUndefined'](_0x202dad['_position'],_0x41ffb9,_0x309f16),_0x252451=_0xc0a7f2[_0x1a4e('0x433b')](_0x202dad[_0x1a4e('0x5dd')],_0x41ffb9,_0x31b462),_0x2c22f7=_0xc0a7f2[_0x1a4e('0x433b')](_0x73f1bd[_0x1a4e('0x4413')],_0x41ffb9),_0x264040=_0xc0a7f2[_0x1a4e('0x433b')](_0x73f1bd[_0x1a4e('0x4591')],_0x41ffb9),_0xfcd8a0=_0xc0a7f2[_0x1a4e('0x433b')](_0x73f1bd[_0x1a4e('0x4593')],_0x41ffb9),_0x1e4631=_0x64dcbb(_0x5831ac)&&_0x64dcbb(_0x264040)&&_0x64dcbb(_0xfcd8a0)),_0x1e4631){var _0x3d83a4=_0x64dcbb(_0x384507)?_0x384507[_0x1a4e('0x8f7')]:void 0x0;_0x64dcbb(_0x3d83a4)||((_0x3d83a4=new _0x350142[(_0x1a4e('0x45a3'))]())['id']=_0x202dad,_0x3df178[_0x1a4e('0x177')](_0x3d83a4),_0x384507={'primitive':_0x3d83a4,'position':void 0x0,'orientation':void 0x0},_0x45da0d[_0x202dad['id']]=_0x384507);var _0xff5668=_0xc0a7f2[_0x1a4e('0x433b')](_0x73f1bd[_0x1a4e('0x458a')],_0x41ffb9);if(_0x64dcbb(_0xff5668)){var _0x511c2a=_0xc0a7f2[_0x1a4e('0x433b')](_0xff5668[_0x1a4e('0x3b68')],_0x41ffb9,_0x6d3574);if(!_0x64dcbb(_0x5831ac)||!_0x64dcbb(_0x511c2a))continue;var _0x5f4dd9=_0x4fb884[_0x1a4e('0x262')](_0x5831ac,_0x511c2a,_0x1c1d14),_0x5eace9=_0x4fb884[_0x1a4e('0x3ed9')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x4576')],_0x5f4dd9),_0x474e56=_0x4fb884[_0x1a4e('0x3a26')](Cesium['Cartesian3']['UNIT_Z'],_0x5f4dd9,_0x1c1d14),_0x252451=_0xbecf2b[_0x1a4e('0x40c4')](_0x474e56,_0x5eace9-Math['PI'],_0x56bdf0);_0x2c22f7=_0x4fb884[_0x1a4e('0x1ed')](_0x5831ac,_0x511c2a),_0x3d83a4[_0x1a4e('0x3b64')]=_0x195464[_0x1a4e('0x3ab1')](_0x16b04d[_0x1a4e('0x3aaf')](_0x252451,_0x12862f),_0x5831ac,_0x3d83a4['modelMatrix']);}else _0x4fb884[_0x1a4e('0x23e')](_0x5831ac,_0x384507[_0x1a4e('0x3553')])&&_0xbecf2b['equals'](_0x252451,_0x384507['orientation'])||(_0x64dcbb(_0x252451)?(_0x3d83a4[_0x1a4e('0x3b64')]=_0x195464[_0x1a4e('0x3ab1')](_0x16b04d[_0x1a4e('0x3aaf')](_0x252451,_0x12862f),_0x5831ac,_0x3d83a4['modelMatrix']),_0x384507[_0x1a4e('0x3553')]=_0x4fb884[_0x1a4e('0x240')](_0x5831ac,_0x384507[_0x1a4e('0x3553')]),_0x384507[_0x1a4e('0x164')]=_0xbecf2b[_0x1a4e('0x240')](_0x252451,_0x384507[_0x1a4e('0x164')])):(_0x3d83a4[_0x1a4e('0x3b64')]=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x5831ac),_0x384507[_0x1a4e('0x3553')]=_0x4fb884[_0x1a4e('0x240')](_0x5831ac,_0x384507[_0x1a4e('0x3553')])));_0x3d83a4[_0x1a4e('0x3a23')]=!0x0,_0x3d83a4[_0x1a4e('0x4569')]=_0xff5668,_0x3d83a4['radius']=_0x2c22f7,_0x3d83a4[_0x1a4e('0x42a5')]=_0x264040,_0x3d83a4[_0x1a4e('0x42a6')]=_0xfcd8a0,_0x3d83a4[_0x1a4e('0x40a0')]=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd[_0x1a4e('0x459d')],_0x41ffb9,_0xe459b5[_0x1a4e('0x39a7')]),_0x3d83a4['showSectorLines']=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd['_showSectorLines'],_0x41ffb9,!0x0),_0x3d83a4[_0x1a4e('0x45aa')]=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd[_0x1a4e('0x45e8')],_0x41ffb9,!0x0),_0x3d83a4['showLateralSurfaces']=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd['_showLateralSurfaces'],_0x41ffb9,!0x0),_0x3d83a4[_0x1a4e('0x45ae')]=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd[_0x1a4e('0x45e9')],_0x41ffb9,!0x0),_0x3d83a4[_0x1a4e('0x45b1')]=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd[_0x1a4e('0x45ea')],_0x41ffb9,!0x0),_0x3d83a4[_0x1a4e('0x45a2')]=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd[_0x1a4e('0x4599')],_0x41ffb9,!0x0),_0x3d83a4[_0x1a4e('0x45a0')]=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd['_intersectionColor'],_0x41ffb9,_0xe459b5[_0x1a4e('0x39a7')]),_0x3d83a4[_0x1a4e('0x45a1')]=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd[_0x1a4e('0x4598')],_0x41ffb9,0x1),_0x3d83a4[_0x1a4e('0x45b2')]=_0xc0a7f2['getValueOrDefault'](_0x73f1bd[_0x1a4e('0x45eb')],_0x41ffb9,!0x1),_0x3d83a4[_0x1a4e('0x45b3')]=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd[_0x1a4e('0x45ec')],_0x41ffb9),_0x3d83a4[_0x1a4e('0x42a7')]=_0xc0a7f2[_0x1a4e('0x4575')](_0x73f1bd[_0x1a4e('0x459c')],_0x41ffb9,_0xe459b5[_0x1a4e('0x39a7')]),_0x3d83a4[_0x1a4e('0x42a8')]=_0xc0a7f2['getValueOrDefault'](_0x73f1bd[_0x1a4e('0x459e')],_0x41ffb9,!0x0),_0x3d83a4[_0x1a4e('0x42a9')]=_0xc0a7f2['getValueOrDefault'](_0x73f1bd[_0x1a4e('0x459b')],_0x41ffb9,0x1),_0x3d83a4['lateralSurfaceMaterial']=_0x28495c[_0x1a4e('0x1460')](_0x41ffb9,_0x73f1bd[_0x1a4e('0x4595')],_0x3d83a4[_0x1a4e('0x459f')]);}else _0x64dcbb(_0x384507)&&(_0x384507['primitive'][_0x1a4e('0x3a23')]=!0x1);}return!0x0;},_0x5831ac['prototype'][_0x1a4e('0x3995')]=function(){return!0x1;},_0x5831ac['prototype'][_0x1a4e('0x139c')]=function(){for(var _0x41ffb9=this['_entitiesToVisualize']['values'],_0x3eeb3c=this[_0x1a4e('0xaa7')],_0x45da0d=this[_0x1a4e('0x4570')],_0x350142=_0x41ffb9[_0x1a4e('0x1e')]-0x1;_0x350142>-0x1;_0x350142--)(0x0,_0x3df178[_0x1a4e('0x45ed')])(_0x41ffb9[_0x350142],_0x3eeb3c,_0x45da0d);return _0x434a28(this);},_0x5831ac['prototype']['_onCollectionChanged']=function(_0x41ffb9,_0x3eeb3c,_0x45da0d,_0x350142){var _0x10a7a0,_0x4fb884,_0xe459b5=this[_0x1a4e('0x45e6')],_0x434a28=this[_0x1a4e('0xaa7')],_0x42c3ba=this[_0x1a4e('0x4570')];for(_0x10a7a0=_0x3eeb3c[_0x1a4e('0x1e')]-0x1;_0x10a7a0>-0x1;_0x10a7a0--)_0x4fb884=_0x3eeb3c[_0x10a7a0],_0x64dcbb(_0x4fb884[_0x1a4e('0x45ee')])&&_0x64dcbb(_0x4fb884[_0x1a4e('0x3b68')])&&_0xe459b5[_0x1a4e('0x17a')](_0x4fb884['id'],_0x4fb884);for(_0x10a7a0=_0x350142[_0x1a4e('0x1e')]-0x1;_0x10a7a0>-0x1;_0x10a7a0--)_0x4fb884=_0x350142[_0x10a7a0],_0x64dcbb(_0x4fb884[_0x1a4e('0x45ee')])&&_0x64dcbb(_0x4fb884[_0x1a4e('0x3b68')])?_0xe459b5[_0x1a4e('0x17a')](_0x4fb884['id'],_0x4fb884):((0x0,_0x3df178[_0x1a4e('0x45ed')])(_0x4fb884,_0x434a28,_0x42c3ba),_0xe459b5['remove'](_0x4fb884['id']));for(_0x10a7a0=_0x45da0d[_0x1a4e('0x1e')]-0x1;_0x10a7a0>-0x1;_0x10a7a0--)_0x4fb884=_0x45da0d[_0x10a7a0],(0x0,_0x3df178[_0x1a4e('0x45ed')])(_0x4fb884,_0x434a28,_0x42c3ba),_0xe459b5[_0x1a4e('0x82')](_0x4fb884['id']);},_0x3eeb3c[_0x1a4e('0x45e1')]=_0x5831ac;},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/shaders/RectangularSensor.glsl':function(_0x3f3019,_0xca8b36){_0x3f3019[_0x1a4e('0x0')]=_0x1a4e('0x45ef');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/shaders/RectangularSensorFS.glsl':function(_0x3a644d,_0x17b484){_0x3a644d['exports']=_0x1a4e('0x45f0');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/shaders/RectangularSensorScanPlaneFS.glsl':function(_0x2c4152,_0x32113f){_0x2c4152['exports']=_0x1a4e('0x45f1');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/shaders/RectangularSensorVS.glsl':function(_0x38eb8a,_0x579158){_0x38eb8a[_0x1a4e('0x0')]=_0x1a4e('0x45f2');},'./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/Sensor.js':function(_0x360134,_0x1b4946,_0xc19a06){'use strict';var _0x573087=_0xc19a06('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/RectangularSensor/RectangularSensorPrimitive.js'),_0x515a1a=_0xc19a06(_0x1a4e('0x451c')),_0x255234=_0xc19a06(_0x1a4e('0x45f3')),_0x3a6234=_0xc19a06('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensorGeometry.js'),_0x4c59bd=_0xc19a06(_0x1a4e('0x456d')),_0x2f58db=_0xc19a06(_0x1a4e('0x4563')),_0x394d2e=_0xc19a06('./src/LayerManager/GraphicLayer/GraphicRender/SpecialEffect/Sensor/ConicArcSensor/ConicArcSensorCollection.js');Cesium['RectangularSensorPrimitive']=_0x573087[_0x1a4e('0x45a3')],Cesium[_0x1a4e('0x45f4')]=_0x515a1a[_0x1a4e('0x45f4')],Cesium[_0x1a4e('0x45e1')]=_0x255234[_0x1a4e('0x45e1')],Cesium['ConicArcSensorGeometry']=_0x3a6234[_0x1a4e('0x4577')],Cesium[_0x1a4e('0x4578')]=_0x4c59bd[_0x1a4e('0x4578')],Cesium['ConicArcSensorGraphics']=_0x2f58db[_0x1a4e('0x4566')],Cesium[_0x1a4e('0x456b')]=_0x394d2e[_0x1a4e('0x456b')];var _0x33df66=Cesium['DataSourceDisplay'],_0x56e204=_0x33df66[_0x1a4e('0x45f5')];_0x33df66[_0x1a4e('0x45f5')]=function(_0x360134,_0x1b4946,_0xc19a06){var _0x573087=_0xc19a06['entities'];return _0x56e204(_0x360134,_0x1b4946,_0xc19a06)[_0x1a4e('0x9a')]([new _0x255234[(_0x1a4e('0x45e1'))](_0x360134,_0x573087)]);};},'./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleClampRender.ts':function(_0x179a8c,_0x54890b,_0x2a7398){'use strict';_0x2a7398['r'](_0x54890b),_0x2a7398['d'](_0x54890b,'SpreadCircleClampRender',function(){return _0x2797a5;});var _0x46eebf,_0x1d36b5=_0x2a7398(_0x1a4e('0x45f6')),_0x3908a0=(_0x46eebf=function(_0x179a8c,_0x54890b){return(_0x46eebf=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x179a8c,_0x54890b){_0x179a8c[_0x1a4e('0x295')]=_0x54890b;}||function(_0x179a8c,_0x54890b){for(var _0x2a7398 in _0x54890b)_0x54890b[_0x1a4e('0xb')](_0x2a7398)&&(_0x179a8c[_0x2a7398]=_0x54890b[_0x2a7398]);})(_0x179a8c,_0x54890b);},function(_0x179a8c,_0x54890b){function _0x2a7398(){this[_0x1a4e('0x10')]=_0x179a8c;}_0x46eebf(_0x179a8c,_0x54890b),_0x179a8c['prototype']=null===_0x54890b?Object[_0x1a4e('0x7')](_0x54890b):(_0x2a7398[_0x1a4e('0xa')]=_0x54890b[_0x1a4e('0xa')],new _0x2a7398());}),_0x26c443=window[_0x1a4e('0x3b6c')],_0x2797a5=function(_0x179a8c){function _0x54890b(_0x54890b,_0x2a7398){var _0x46eebf=_0x179a8c[_0x1a4e('0x1')](this,_0x54890b,_0x2a7398)||this;return _0x46eebf[_0x1a4e('0x4311')](!0x0),_0x46eebf;}return _0x3908a0(_0x54890b,_0x179a8c),_0x54890b[_0x1a4e('0xa')]['init']=function(){var _0x179a8c=this['_dataItem'];this[_0x1a4e('0x45f7')]=_0x179a8c[_0x1a4e('0x17e')];var _0x54890b=_0x179a8c[_0x1a4e('0x3b5d')];this['_offset']=new Cesium[(_0x1a4e('0x393e'))](0x2*_0x54890b,0x2*_0x54890b,0x2*_0x54890b),this[_0x1a4e('0x45f8')](),this[_0x1a4e('0x4418')](),this[_0x1a4e('0x3b5e')](this['clampToGround']()),this['_renderRoot'][_0x1a4e('0x177')](this['_renderObj']),this[_0x1a4e('0x3eae')][_0x1a4e('0x42fe')]=this[_0x1a4e('0x4323')]['id'];},_0x54890b[_0x1a4e('0xa')][_0x1a4e('0x3972')]=function(){return!0x0;},_0x54890b['prototype'][_0x1a4e('0x45f9')]=function(){_0x179a8c[_0x1a4e('0xa')][_0x1a4e('0x45f9')][_0x1a4e('0x1')](this),this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this['_groundPrimitive']=void 0x0,this[_0x1a4e('0x3b5e')](this[_0x1a4e('0x3972')]()),this['_renderRoot'][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3eae')]['dataId']=this[_0x1a4e('0x4323')]['id'];},_0x54890b[_0x1a4e('0xa')]['dataUpdate']=function(){_0x179a8c[_0x1a4e('0xa')][_0x1a4e('0x4313')][_0x1a4e('0x1')](this),_0x26c443[_0x1a4e('0x937')]();},_0x54890b['prototype'][_0x1a4e('0x45f8')]=function(){var _0x179a8c=this;this[_0x1a4e('0x45fa')]=new _0x26c443['Tween']({'time':0x0})['to']({'time':Math['PI']/0x2},0x3e8*this['_duration'])[_0x1a4e('0x3b6e')](_0x26c443[_0x1a4e('0x3b6f')][_0x1a4e('0x45fb')][_0x1a4e('0x45fc')])[_0x1a4e('0x3b72')](function(_0x54890b){_0x179a8c[_0x1a4e('0x432f')][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x129a')]=_0x54890b[_0x1a4e('0x129a')];})[_0x1a4e('0x183')](0x64)[_0x1a4e('0x3b77')](0x1/0x0)[_0x1a4e('0xc9')]();},_0x54890b[_0x1a4e('0xa')][_0x1a4e('0x4415')]=function(){return _0x1a4e('0x45fd');},_0x54890b[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x54890b){var _0x2a7398=this[_0x1a4e('0x4323')];switch(_0x54890b){case'duration':this['_duration']=_0x2a7398[_0x1a4e('0x17e')],this['_animation'][_0x1a4e('0x45f7')]=0x3e8*this['_duration'];}_0x179a8c['prototype']['updateAttribute'][_0x1a4e('0x1')](this,_0x54890b);},_0x54890b[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){_0x179a8c[_0x1a4e('0xa')]['clear'][_0x1a4e('0x1')](this);},_0x54890b;}(_0x1d36b5[_0x1a4e('0x45fe')]);},'./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleLineRender.ts':function(_0x513650,_0x3f664d,_0x3fe6a4){'use strict';_0x3fe6a4['r'](_0x3f664d),_0x3fe6a4['d'](_0x3f664d,_0x1a4e('0x42b4'),function(){return _0x22c536;});var _0x34fe84,_0x533816=_0x3fe6a4(_0x1a4e('0x45ff')),_0x2f8456=_0x3fe6a4(_0x1a4e('0x45f6')),_0x223988=(_0x34fe84=function(_0x513650,_0x3f664d){return(_0x34fe84=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x513650,_0x3f664d){_0x513650[_0x1a4e('0x295')]=_0x3f664d;}||function(_0x513650,_0x3f664d){for(var _0x3fe6a4 in _0x3f664d)_0x3f664d[_0x1a4e('0xb')](_0x3fe6a4)&&(_0x513650[_0x3fe6a4]=_0x3f664d[_0x3fe6a4]);})(_0x513650,_0x3f664d);},function(_0x513650,_0x3f664d){function _0x3fe6a4(){this[_0x1a4e('0x10')]=_0x513650;}_0x34fe84(_0x513650,_0x3f664d),_0x513650[_0x1a4e('0xa')]=null===_0x3f664d?Object[_0x1a4e('0x7')](_0x3f664d):(_0x3fe6a4['prototype']=_0x3f664d['prototype'],new _0x3fe6a4());}),_0x24a021=window['TWEEN'],_0x22c536=function(_0x513650){function _0x3f664d(_0x3f664d,_0x3fe6a4){var _0x34fe84=_0x513650[_0x1a4e('0x1')](this,_0x3f664d,_0x3fe6a4)||this;return _0x34fe84['addUpdateCallback'](!0x0),_0x34fe84;}return _0x223988(_0x3f664d,_0x513650),_0x3f664d[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x513650=this[_0x1a4e('0x4323')];this[_0x1a4e('0x4600')]=_0x513650['renderType'],this[_0x1a4e('0x45f7')]=_0x513650[_0x1a4e('0x17e')];var _0x3f664d=_0x513650['radius'];this[_0x1a4e('0x4601')]=new Cesium['Cartesian3'](0x2*_0x3f664d,0x2*_0x3f664d,0x2*_0x3f664d),this[_0x1a4e('0x45f8')](),this[_0x1a4e('0x4418')](),this[_0x1a4e('0x3b5e')](this[_0x1a4e('0x3972')]()),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]),this['renderObj']['dataId']=this[_0x1a4e('0x4323')]['id'];},_0x3f664d['prototype'][_0x1a4e('0x3972')]=function(){return!0x0;},_0x3f664d[_0x1a4e('0xa')][_0x1a4e('0x45f9')]=function(){_0x513650[_0x1a4e('0xa')][_0x1a4e('0x45f9')]['call'](this),this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this['_renderObj']),this[_0x1a4e('0x4602')]=void 0x0,this[_0x1a4e('0x3b5e')](this[_0x1a4e('0x3972')]()),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3eae')][_0x1a4e('0x42fe')]=this[_0x1a4e('0x4323')]['id'];},_0x3f664d[_0x1a4e('0xa')][_0x1a4e('0x4313')]=function(){_0x513650[_0x1a4e('0xa')][_0x1a4e('0x4313')][_0x1a4e('0x1')](this),_0x24a021[_0x1a4e('0x937')]();},_0x3f664d[_0x1a4e('0xa')]['animate']=function(){var _0x513650=this,_0x3f664d={'time':0x0};this[_0x1a4e('0x4600')]===_0x533816[_0x1a4e('0x4026')][_0x1a4e('0x4603')]?this['_animation']=new _0x24a021[(_0x1a4e('0x3b6d'))](_0x3f664d)['to']({'time':Math['PI']/0x2},0x3e8*this[_0x1a4e('0x45f7')])[_0x1a4e('0x3b6e')](_0x24a021['Easing'][_0x1a4e('0x45fb')][_0x1a4e('0x45fc')])['onUpdate'](function(_0x3f664d){_0x513650[_0x1a4e('0x432f')]['material']['uniforms'][_0x1a4e('0x129a')]=_0x3f664d[_0x1a4e('0x129a')];})[_0x1a4e('0x183')](0xc8)[_0x1a4e('0x3b77')](0x1/0x0)[_0x1a4e('0xc9')]():this[_0x1a4e('0x4600')]===_0x533816[_0x1a4e('0x4026')][_0x1a4e('0x320d')]&&(this[_0x1a4e('0x45fa')]=new _0x24a021[(_0x1a4e('0x3b6d'))](_0x3f664d)['to']({'time':0x1},0x3e8*this['_duration'])['easing'](_0x24a021[_0x1a4e('0x3b6f')][_0x1a4e('0x4604')]['In'])['onUpdate'](function(_0x3f664d){_0x513650[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['time']=_0x3f664d[_0x1a4e('0x129a')];})[_0x1a4e('0x183')](0x0)[_0x1a4e('0x3b77')](0x1/0x0)['start']());},_0x3f664d[_0x1a4e('0xa')]['getMaterialFS']=function(){var _0x513650=void 0x0;switch(this['_renderType']){case _0x533816['SpreadCircleLineEnum'][_0x1a4e('0x4603')]:_0x513650=this[_0x1a4e('0x4605')]();break;case _0x533816[_0x1a4e('0x4026')][_0x1a4e('0x320d')]:_0x513650=this['getSingleFs']();}return _0x513650;},_0x3f664d[_0x1a4e('0xa')]['getMultipleFs']=function(){return _0x1a4e('0x4606');},_0x3f664d[_0x1a4e('0xa')][_0x1a4e('0x4607')]=function(){return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20circle(vec2\x20uv,\x20float\x20r,\x20float\x20blur)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20d\x20=\x20length(uv)\x20*\x202.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20c\x20=\x20smoothstep(r\x20+\x20blur,\x20r,\x20d);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20c;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20vec4\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20time;\x0a\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st\x20-\x20.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.emission\x20=\x20vec3(0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20t\x20=\x20time;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20s\x20=\x200.3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20radius1\x20=\x20smoothstep(.0,\x20s,\x20t)\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha1\x20=\x20circle(st,\x20radius1,\x200.01)\x20*\x20circle(st,\x20radius1,\x20-0.01);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha2\x20=\x20circle(st,\x20radius1,\x200.01\x20-\x20radius1)\x20*\x20circle(st,\x20radius1,\x200.01);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20radius2\x20=\x200.5\x20+\x20smoothstep(s,\x201.0,\x20t)\x20*\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha3\x20=\x20circle(st,\x20radius1,\x20radius2\x20+\x200.01\x20-\x20radius1)\x20*\x20circle(st,\x20radius1,\x20-0.01);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20smoothstep(1.0,\x20s,\x20t\x20)\x20*\x20(alpha1\x20+\x20alpha2\x20*\x200.1\x20+\x20alpha3\x20*\x200.1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20*=\x20color.a;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x3f664d['prototype'][_0x1a4e('0x3dda')]=function(_0x3f664d){_0x513650['prototype'][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x3f664d);var _0x3fe6a4=this['_dataItem'];switch(_0x3f664d){case'duration':this[_0x1a4e('0x45f7')]=_0x3fe6a4[_0x1a4e('0x17e')],this[_0x1a4e('0x45fa')][_0x1a4e('0x45f7')]=0x3e8*this[_0x1a4e('0x45f7')];break;case _0x1a4e('0x418c'):this[_0x1a4e('0x42e6')]['remove'](this[_0x1a4e('0x4312')]),this['init']();}},_0x3f664d['prototype'][_0x1a4e('0xb5')]=function(){_0x513650[_0x1a4e('0xa')][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x3f664d;}(_0x2f8456[_0x1a4e('0x45fe')]);},'./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleRampRender.ts':function(_0x52fe20,_0x3cba89,_0x253d10){'use strict';_0x253d10['r'](_0x3cba89),_0x253d10['d'](_0x3cba89,_0x1a4e('0x42b5'),function(){return _0x39a2fb;});var _0xb4a4b5,_0x251397=_0x253d10(_0x1a4e('0x45f6')),_0x256856=_0x253d10(_0x1a4e('0x3b38')),_0x20942b=(_0xb4a4b5=function(_0x52fe20,_0x3cba89){return(_0xb4a4b5=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x52fe20,_0x3cba89){_0x52fe20['__proto__']=_0x3cba89;}||function(_0x52fe20,_0x3cba89){for(var _0x253d10 in _0x3cba89)_0x3cba89[_0x1a4e('0xb')](_0x253d10)&&(_0x52fe20[_0x253d10]=_0x3cba89[_0x253d10]);})(_0x52fe20,_0x3cba89);},function(_0x52fe20,_0x3cba89){function _0x253d10(){this[_0x1a4e('0x10')]=_0x52fe20;}_0xb4a4b5(_0x52fe20,_0x3cba89),_0x52fe20[_0x1a4e('0xa')]=null===_0x3cba89?Object[_0x1a4e('0x7')](_0x3cba89):(_0x253d10['prototype']=_0x3cba89[_0x1a4e('0xa')],new _0x253d10());}),_0x3c8d33=window[_0x1a4e('0x3b6c')],_0x39a2fb=function(_0x52fe20){function _0x3cba89(_0x3cba89,_0x253d10){var _0xb4a4b5=_0x52fe20[_0x1a4e('0x1')](this,_0x3cba89,_0x253d10)||this;return _0xb4a4b5[_0x1a4e('0x4311')](!0x0),_0xb4a4b5;}return _0x20942b(_0x3cba89,_0x52fe20),_0x3cba89['prototype'][_0x1a4e('0x1fd')]=function(){var _0x52fe20=this['_dataItem'];this[_0x1a4e('0x45f7')]=_0x52fe20[_0x1a4e('0x17e')];var _0x3cba89=_0x52fe20[_0x1a4e('0x3b5d')];this[_0x1a4e('0x4601')]=new Cesium[(_0x1a4e('0x393e'))](0x2*_0x3cba89,0x2*_0x3cba89,0x2*_0x3cba89),this[_0x1a4e('0x45f8')](),this[_0x1a4e('0x4418')](),this['createPrimitive'](this[_0x1a4e('0x3972')]()),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3eae')][_0x1a4e('0x42fe')]=this['_dataItem']['id'];},_0x3cba89['prototype'][_0x1a4e('0x3972')]=function(){return!0x0;},_0x3cba89[_0x1a4e('0xa')][_0x1a4e('0x45f9')]=function(){_0x52fe20[_0x1a4e('0xa')]['onViewChanged'][_0x1a4e('0x1')](this),this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4602')]=void 0x0,this[_0x1a4e('0x3b5e')](this[_0x1a4e('0x3972')]()),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]),this['renderObj']['dataId']=this[_0x1a4e('0x4323')]['id'];},_0x3cba89['prototype'][_0x1a4e('0x4313')]=function(){_0x52fe20['prototype'][_0x1a4e('0x4313')][_0x1a4e('0x1')](this),_0x3c8d33[_0x1a4e('0x937')]();},_0x3cba89[_0x1a4e('0xa')][_0x1a4e('0x45f8')]=function(){var _0x52fe20=this;this[_0x1a4e('0x45fa')]=new _0x3c8d33[(_0x1a4e('0x3b6d'))]({'time':0x0})['to']({'time':0x1},0x3e8*this[_0x1a4e('0x45f7')])[_0x1a4e('0x3b6e')](_0x3c8d33['Easing'][_0x1a4e('0x45fb')]['Out'])[_0x1a4e('0x3b72')](function(_0x3cba89){_0x52fe20[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x129a')]=_0x3cba89[_0x1a4e('0x129a')];})[_0x1a4e('0x183')](0xc8)[_0x1a4e('0x3b77')](0x1/0x0)['start']();},_0x3cba89[_0x1a4e('0xa')][_0x1a4e('0x3c57')]=function(){var _0x52fe20=this[_0x1a4e('0x4323')];return new Cesium['Material']({'fabric':{'type':'Color','uniforms':{'color':_0x256856[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x52fe20[_0x1a4e('0x134')]),'lineColor':_0x256856[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x52fe20[_0x1a4e('0x40a0')]),'time':0x0},'source':this[_0x1a4e('0x4415')]()}});},_0x3cba89['prototype'][_0x1a4e('0x4415')]=function(){return _0x1a4e('0x4608');},_0x3cba89[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x3cba89){var _0x253d10=this[_0x1a4e('0x4323')];switch(_0x3cba89){case _0x1a4e('0x17e'):this[_0x1a4e('0x45f7')]=_0x253d10[_0x1a4e('0x17e')],this[_0x1a4e('0x45fa')][_0x1a4e('0x45f7')]=0x3e8*this[_0x1a4e('0x45f7')];break;case _0x1a4e('0x40a0'):this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x40a0')]=_0x253d10[_0x1a4e('0x40a0')];}_0x52fe20[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x3cba89);},_0x3cba89[_0x1a4e('0xa')]['clear']=function(){_0x52fe20['prototype']['clear'][_0x1a4e('0x1')](this);},_0x3cba89;}(_0x251397[_0x1a4e('0x45fe')]);},'./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleRender.ts':function(_0x4a9bfd,_0x56912d,_0x47bdf4){'use strict';_0x47bdf4['r'](_0x56912d),_0x47bdf4['d'](_0x56912d,_0x1a4e('0x45fe'),function(){return _0x49c07a;});var _0x296220,_0x5bb8f6=_0x47bdf4(_0x1a4e('0x430f')),_0x483272=_0x47bdf4('./src/LayerManager/GraphicLayer/GraphicRender/RenderUtils.ts'),_0x58397c=_0x47bdf4(_0x1a4e('0x4310')),_0x166d07=_0x47bdf4(_0x1a4e('0x430e')),_0x2fec53=(_0x296220=function(_0x4a9bfd,_0x56912d){return(_0x296220=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4a9bfd,_0x56912d){_0x4a9bfd[_0x1a4e('0x295')]=_0x56912d;}||function(_0x4a9bfd,_0x56912d){for(var _0x47bdf4 in _0x56912d)_0x56912d[_0x1a4e('0xb')](_0x47bdf4)&&(_0x4a9bfd[_0x47bdf4]=_0x56912d[_0x47bdf4]);})(_0x4a9bfd,_0x56912d);},function(_0x4a9bfd,_0x56912d){function _0x47bdf4(){this['constructor']=_0x4a9bfd;}_0x296220(_0x4a9bfd,_0x56912d),_0x4a9bfd['prototype']=null===_0x56912d?Object[_0x1a4e('0x7')](_0x56912d):(_0x47bdf4['prototype']=_0x56912d['prototype'],new _0x47bdf4());}),_0x49c07a=function(_0x4a9bfd){function _0x56912d(_0x56912d,_0x47bdf4){var _0x296220=_0x4a9bfd['call'](this,_0x56912d,_0x47bdf4)||this;return _0x296220[_0x1a4e('0x4571')]=void 0x0,_0x296220[_0x1a4e('0x4602')]=void 0x0,_0x296220[_0x1a4e('0x4609')]=function(){_0x296220[_0x1a4e('0x45f9')]();},_0x296220[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x43b6')]['addEventListener'](_0x296220['_viewChange']),_0x296220;}return _0x2fec53(_0x56912d,_0x4a9bfd),_0x56912d[_0x1a4e('0xa')][_0x1a4e('0x45f9')]=function(){},Object[_0x1a4e('0x2')](_0x56912d['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x5bb8f6[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x56912d[_0x1a4e('0xa')]['clampToGround']=function(){return!0x1;},_0x56912d[_0x1a4e('0xa')]['getMaterialFS']=function(){return'';},_0x56912d[_0x1a4e('0xa')][_0x1a4e('0x3c57')]=function(){var _0x4a9bfd=this['_dataItem'];return new Cesium['Material']({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':_0x483272[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x4a9bfd[_0x1a4e('0x134')]),'time':0x0},'source':this[_0x1a4e('0x4415')]()}});},_0x56912d[_0x1a4e('0xa')][_0x1a4e('0x4418')]=function(){this[_0x1a4e('0x432f')]=new Cesium[(_0x1a4e('0x4419'))]({'renderState':{'blending':Cesium[_0x1a4e('0x3bb3')][_0x1a4e('0x3d38')],'depthTest':{'enabled':!0x0},'depthMask':!0x0},'material':this[_0x1a4e('0x3c57')](),'fragmentShaderSource':this[_0x1a4e('0x441a')](),'vertexShaderSource':this[_0x1a4e('0x441b')]()});},_0x56912d['prototype'][_0x1a4e('0x441a')]=function(){return _0x1a4e('0x460a');},_0x56912d[_0x1a4e('0xa')][_0x1a4e('0x441b')]=function(){return _0x1a4e('0x460b');},_0x56912d[_0x1a4e('0xa')][_0x1a4e('0x441c')]=function(){var _0x4a9bfd=this[_0x1a4e('0x4323')],_0x56912d=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x4a9bfd[_0x1a4e('0x3553')]['lon'],_0x4a9bfd[_0x1a4e('0x3553')][_0x1a4e('0x1a2')],_0x4a9bfd[_0x1a4e('0x3553')][_0x1a4e('0x398c')]),_0x47bdf4=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x56912d),_0x296220=new Cesium['Cartesian3'](-this[_0x1a4e('0x4601')]['x'],-this[_0x1a4e('0x4601')]['y'],-this[_0x1a4e('0x4601')]['z']);return _0x47bdf4=Cesium[_0x1a4e('0x3a29')]['multiplyByTranslation'](_0x47bdf4,_0x296220,new Cesium[(_0x1a4e('0x3a29'))]());},_0x56912d['prototype'][_0x1a4e('0x460c')]=function(){var _0x4a9bfd=this[_0x1a4e('0x4323')]['radius'],_0x56912d=this[_0x1a4e('0x4601')];return null==this[_0x1a4e('0x4327')]&&(this[_0x1a4e('0x4327')]=new _0x166d07[(_0x1a4e('0x4328'))]()),this[_0x1a4e('0x4327')][_0x1a4e('0x4329')](_0x4a9bfd,_0x56912d);},_0x56912d[_0x1a4e('0xa')][_0x1a4e('0x441e')]=function(){var _0x4a9bfd=this[_0x1a4e('0x4323')],_0x56912d=this[_0x1a4e('0x441c')](),_0x47bdf4=_0x4a9bfd[_0x1a4e('0x3b5d')],_0x296220=this[_0x1a4e('0x4601')];return null==this[_0x1a4e('0x4327')]&&(this[_0x1a4e('0x4327')]=new _0x166d07[(_0x1a4e('0x4328'))]()),this[_0x1a4e('0x4327')][_0x1a4e('0x441d')](_0x47bdf4,_0x56912d,_0x296220);},_0x56912d['prototype'][_0x1a4e('0x460d')]=function(){var _0x4a9bfd=this[_0x1a4e('0x4323')],_0x56912d=_0x4a9bfd[_0x1a4e('0x3553')],_0x47bdf4=_0x4a9bfd[_0x1a4e('0x3b5d')];return null==this[_0x1a4e('0x4327')]&&(this[_0x1a4e('0x4327')]=new _0x166d07[(_0x1a4e('0x4328'))]()),this[_0x1a4e('0x4327')][_0x1a4e('0x460e')](_0x56912d,_0x47bdf4);},_0x56912d[_0x1a4e('0xa')]['createPrimitive']=function(_0x4a9bfd){0x3==this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0xa69')]?_0x4a9bfd?(this['_groundPrimitive']=new Cesium[(_0x1a4e('0x3946'))]({'geometryInstances':new Cesium['GeometryInstance']({'geometry':this[_0x1a4e('0x441e')]()}),'appearance':this[_0x1a4e('0x432f')],'asynchronous':!0x1}),this[_0x1a4e('0x4312')]=this['_groundPrimitive']):(this[_0x1a4e('0x4571')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium['GeometryInstance']({'geometry':this[_0x1a4e('0x460c')]()}),'appearance':this[_0x1a4e('0x432f')],'modelMatrix':this[_0x1a4e('0x441c')](),'asynchronous':!0x1}),this['_renderObj']=this[_0x1a4e('0x4571')]):this['_renderObj']=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium['GeometryInstance']({'geometry':this[_0x1a4e('0x460d')]()}),'appearance':this[_0x1a4e('0x432f')],'asynchronous':!0x1});},_0x56912d[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x56912d){_0x4a9bfd[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x56912d);var _0x47bdf4=this['_dataItem'];if(this[_0x1a4e('0x4312')])switch(_0x56912d){case _0x1a4e('0x134'):this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x134')]=_0x483272[_0x1a4e('0x3b60')]['getColor'](_0x47bdf4[_0x1a4e('0x134')]);break;case'position':this[_0x1a4e('0x4571')]?this[_0x1a4e('0x4571')]['modelMatrix']=this['getMatrix']():(this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3b5e')](this['clampToGround']()),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3eae')][_0x1a4e('0x42fe')]=this[_0x1a4e('0x4323')]['id']);break;case _0x1a4e('0x3b5d'):this['_renderRoot'][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this['createPrimitive'](this['clampToGround']()),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this['_renderObj']),this[_0x1a4e('0x3eae')]['dataId']=this[_0x1a4e('0x4323')]['id'];break;case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]&&(this[_0x1a4e('0x4312')]['show']=_0x47bdf4[_0x1a4e('0x3b2c')]&&_0x47bdf4[_0x1a4e('0x41a2')]);}},_0x56912d['prototype'][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x4327')]=void 0x0,this[_0x1a4e('0x4609')]&&(this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x43b6')][_0x1a4e('0xec2')](this['_viewChange']),this[_0x1a4e('0x4609')]=void 0x0),_0x4a9bfd[_0x1a4e('0xa')]['clear']['call'](this);},_0x56912d;}(_0x58397c[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/SpreadCircle/SpreadCircleRingRender.ts':function(_0x29568d,_0x2c9dbe,_0x50a9bb){'use strict';_0x50a9bb['r'](_0x2c9dbe),_0x50a9bb['d'](_0x2c9dbe,_0x1a4e('0x42b6'),function(){return _0xd68e54;});var _0xe27272,_0x2ff4ec=_0x50a9bb(_0x1a4e('0x45ff')),_0x25ace0=_0x50a9bb('./src/LayerManager/GraphicLayer/GraphicRender/RenderUtils.ts'),_0x112738=_0x50a9bb(_0x1a4e('0x45f6')),_0x88bca4=(_0xe27272=function(_0x29568d,_0x2c9dbe){return(_0xe27272=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x29568d,_0x2c9dbe){_0x29568d[_0x1a4e('0x295')]=_0x2c9dbe;}||function(_0x29568d,_0x2c9dbe){for(var _0x50a9bb in _0x2c9dbe)_0x2c9dbe[_0x1a4e('0xb')](_0x50a9bb)&&(_0x29568d[_0x50a9bb]=_0x2c9dbe[_0x50a9bb]);})(_0x29568d,_0x2c9dbe);},function(_0x29568d,_0x2c9dbe){function _0x50a9bb(){this[_0x1a4e('0x10')]=_0x29568d;}_0xe27272(_0x29568d,_0x2c9dbe),_0x29568d[_0x1a4e('0xa')]=null===_0x2c9dbe?Object['create'](_0x2c9dbe):(_0x50a9bb['prototype']=_0x2c9dbe[_0x1a4e('0xa')],new _0x50a9bb());}),_0xd68e54=function(_0x29568d){function _0x2c9dbe(_0x2c9dbe,_0x50a9bb){var _0xe27272=_0x29568d['call'](this,_0x2c9dbe,_0x50a9bb)||this;return _0xe27272[_0x1a4e('0x4311')](!0x0),_0xe27272;}return _0x88bca4(_0x2c9dbe,_0x29568d),_0x2c9dbe[_0x1a4e('0xa')]['init']=function(){var _0x29568d=this[_0x1a4e('0x4323')];this[_0x1a4e('0x4600')]=_0x29568d[_0x1a4e('0x418c')];var _0x2c9dbe=_0x29568d[_0x1a4e('0x3b5d')];this[_0x1a4e('0x4601')]=new Cesium[(_0x1a4e('0x393e'))](0x2*_0x2c9dbe,0x2*_0x2c9dbe,0x2*_0x2c9dbe),this[_0x1a4e('0x4418')](),this['createPrimitive'](this[_0x1a4e('0x3972')]()),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]);},_0x2c9dbe[_0x1a4e('0xa')][_0x1a4e('0x45f9')]=function(){_0x29568d['prototype']['onViewChanged'][_0x1a4e('0x1')](this),this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this['_renderObj']),this['_groundPrimitive']=void 0x0,this[_0x1a4e('0x3b5e')](this[_0x1a4e('0x3972')]()),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]);},_0x2c9dbe['prototype'][_0x1a4e('0x4313')]=function(){if(_0x29568d['prototype']['dataUpdate'][_0x1a4e('0x1')](this),this[_0x1a4e('0x432f')]){var _0x2c9dbe=this['_dataItem'];this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x129a')]+=_0x2c9dbe[_0x1a4e('0x40e3')];}},_0x2c9dbe['prototype'][_0x1a4e('0x3c57')]=function(){var _0x29568d=this[_0x1a4e('0x4323')],_0x2c9dbe=void 0x0;switch(this[_0x1a4e('0x4600')]){case _0x2ff4ec['SpreadCircleRingEnum'][_0x1a4e('0x42b7')]:_0x2c9dbe=this['getSolidFs']();break;case _0x2ff4ec[_0x1a4e('0x42af')]['Ramp']:_0x2c9dbe=this[_0x1a4e('0x460f')]();break;case _0x2ff4ec['SpreadCircleRingEnum'][_0x1a4e('0x42b8')]:_0x2c9dbe=this['getStripFs']();}return new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':'Color','uniforms':{'duration':0x7d0,'color':_0x25ace0[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x29568d[_0x1a4e('0x134')]),'time':0x0,'count':_0x29568d[_0x1a4e('0x389')]},'source':_0x2c9dbe}});},_0x2c9dbe[_0x1a4e('0xa')][_0x1a4e('0x4610')]=function(){return _0x1a4e('0x4611');},_0x2c9dbe[_0x1a4e('0xa')][_0x1a4e('0x460f')]=function(){return _0x1a4e('0x4612');},_0x2c9dbe['prototype'][_0x1a4e('0x4613')]=function(){return _0x1a4e('0x4614');},_0x2c9dbe[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x2c9dbe){_0x29568d[_0x1a4e('0xa')][_0x1a4e('0x3dda')]['call'](this,_0x2c9dbe);var _0x50a9bb=this[_0x1a4e('0x4323')];switch(_0x2c9dbe){case'height':case _0x1a4e('0x418c'):this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this['init']();break;case _0x1a4e('0x389'):this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x389')]=_0x50a9bb[_0x1a4e('0x389')];}},_0x2c9dbe['prototype']['clear']=function(){this[_0x1a4e('0x4312')]&&(this['_renderRoot'][_0x1a4e('0x82')](this['_renderObj']),this[_0x1a4e('0x4312')]=null),_0x29568d[_0x1a4e('0xa')]['clear'][_0x1a4e('0x1')](this);},_0x2c9dbe;}(_0x112738[_0x1a4e('0x45fe')]);},'./src/LayerManager/GraphicLayer/GraphicRender/SpreadEffect.ts':function(_0x2ee82a,_0x1376c7,_0x557b9b){'use strict';_0x557b9b['r'](_0x1376c7),_0x557b9b['d'](_0x1376c7,'SpreadEffect',function(){return _0x4cb4f2;});var _0x46dc12,_0x259736=_0x557b9b(_0x1a4e('0x430f')),_0xc99e5a=_0x557b9b(_0x1a4e('0x3b38')),_0x3f6e7c=_0x557b9b(_0x1a4e('0x38d0')),_0x4900c7=_0x557b9b(_0x1a4e('0x4310')),_0x121022=(_0x46dc12=function(_0x2ee82a,_0x1376c7){return(_0x46dc12=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x2ee82a,_0x1376c7){_0x2ee82a[_0x1a4e('0x295')]=_0x1376c7;}||function(_0x2ee82a,_0x1376c7){for(var _0x557b9b in _0x1376c7)_0x1376c7[_0x1a4e('0xb')](_0x557b9b)&&(_0x2ee82a[_0x557b9b]=_0x1376c7[_0x557b9b]);})(_0x2ee82a,_0x1376c7);},function(_0x2ee82a,_0x1376c7){function _0x557b9b(){this['constructor']=_0x2ee82a;}_0x46dc12(_0x2ee82a,_0x1376c7),_0x2ee82a['prototype']=null===_0x1376c7?Object['create'](_0x1376c7):(_0x557b9b['prototype']=_0x1376c7[_0x1a4e('0xa')],new _0x557b9b());}),_0x4cb4f2=function(_0x2ee82a){function _0x1376c7(_0x1376c7,_0x557b9b){var _0x46dc12=_0x2ee82a[_0x1a4e('0x1')](this,_0x1376c7,_0x557b9b)||this;return _0x46dc12[_0x1a4e('0x143')]=0x0,_0x46dc12[_0x1a4e('0x4311')](!0x0),_0x46dc12;}return _0x121022(_0x1376c7,_0x2ee82a),Object[_0x1a4e('0x2')](_0x1376c7[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x259736['RenderTypeEnum'][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x1376c7[_0x1a4e('0xa')][_0x1a4e('0x4313')]=function(){_0x2ee82a[_0x1a4e('0xa')]['dataUpdate'][_0x1a4e('0x1')](this),this[_0x1a4e('0x143')]+=0.001*this[_0x1a4e('0x40e3')],this[_0x1a4e('0x143')]>=0x1&&(this['scale']=0x0),this[_0x1a4e('0x4615')]['material']['uniforms'][_0x1a4e('0x143')]=this[_0x1a4e('0x143')];},_0x1376c7[_0x1a4e('0xa')]['init']=function(){var _0x2ee82a=this[_0x1a4e('0x4323')];this['position']=_0x2ee82a[_0x1a4e('0x3553')],this[_0x1a4e('0x3b5d')]=_0x2ee82a['radius'],this[_0x1a4e('0x42bb')]=_0x2ee82a['spreadColor'],this[_0x1a4e('0x40e3')]=_0x2ee82a[_0x1a4e('0x40e3')],this[_0x1a4e('0x3e0')](),this[_0x1a4e('0x4418')](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x42e6')]['add'](this[_0x1a4e('0x4312')]);},_0x1376c7[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(){for(var _0x2ee82a=[],_0x1376c7=this[_0x1a4e('0x3b5d')],_0x557b9b=0x0;_0x557b9b<0x168;_0x557b9b+=11.25){var _0x46dc12=Math['PI']/0xb4*_0x557b9b;_0x2ee82a[_0x1a4e('0x46')](new Cesium['Cartesian3'](_0x1376c7*Math[_0x1a4e('0x90')](_0x46dc12),_0x1376c7*Math[_0x1a4e('0x8f')](_0x46dc12),0x0));}_0x2ee82a[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393e'))](_0x1376c7,0x0,0x0));for(var _0x259736=[],_0xc99e5a=this[_0x1a4e('0x43f0')](),_0x3f6e7c=0x0;_0x3f6e7c<_0x2ee82a[_0x1a4e('0x1e')];_0x3f6e7c++)_0x259736[_0x1a4e('0x46')](Cesium[_0x1a4e('0x3a29')]['multiplyByPoint'](_0xc99e5a,_0x2ee82a[_0x3f6e7c],new Cesium[(_0x1a4e('0x393e'))]()));this[_0x1a4e('0x4616')]=new Cesium[(_0x1a4e('0x3945'))]['fromPositions']({'positions':_0x259736});},_0x1376c7['prototype'][_0x1a4e('0x43f0')]=function(){var _0x2ee82a=_0x3f6e7c[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x3553')]),_0x1376c7=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x2ee82a,new Cesium[(_0x1a4e('0x393e'))]()),_0x557b9b=new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x1),_0x46dc12=Cesium[_0x1a4e('0x393e')]['dot'](_0x557b9b,_0x1376c7)/Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x557b9b)*Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x1376c7),_0x259736=Math[_0x1a4e('0x92c')](_0x46dc12),_0xc99e5a=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x557b9b,_0x1376c7,new Cesium[(_0x1a4e('0x393e'))]()),_0x4900c7=Cesium['Quaternion'][_0x1a4e('0x40c4')](_0xc99e5a,_0x259736),_0x121022=Cesium['Matrix3'][_0x1a4e('0x3aaf')](_0x4900c7);return Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x121022,_0x2ee82a);},_0x1376c7[_0x1a4e('0xa')][_0x1a4e('0x4418')]=function(){this['spreadAppearance']=new Cesium['MaterialAppearance']({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':_0xc99e5a[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this['spreadColor']),'scale':0.5},'source':this[_0x1a4e('0x3b43')]()}}),'transparent':!0x0});},_0x1376c7[_0x1a4e('0xa')][_0x1a4e('0x3b43')]=function(){return'czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dis\x20=\x20distance(materialInput.st,\x20vec2(0.5,\x200.5));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20stage=scale*0.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dis>stage){\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha=0.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha=dis*dis*2.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x1376c7['prototype'][_0x1a4e('0x3b5e')]=function(){this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x3946'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x4616')]}),'appearance':this['spreadAppearance'],'asynchronous':!0x1});},_0x1376c7[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x1376c7){_0x2ee82a[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x1376c7);var _0x557b9b=this[_0x1a4e('0x4323')];switch(_0x1376c7){case _0x1a4e('0x42bb'):this[_0x1a4e('0x42bb')]=_0x557b9b['spreadColor'],this[_0x1a4e('0x4615')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['color']=_0xc99e5a[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x42bb')]);break;case _0x1a4e('0x40e3'):this['speed']=_0x557b9b['speed'];break;case _0x1a4e('0x3b5d'):case _0x1a4e('0x3553'):this['_renderRoot'][_0x1a4e('0x82')](this['_renderObj']),this[_0x1a4e('0x4312')]=null,this[_0x1a4e('0x1fd')]();break;case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0x557b9b[_0x1a4e('0x3b2c')]&&_0x557b9b[_0x1a4e('0x41a2')];}},_0x1376c7['prototype'][_0x1a4e('0xb5')]=function(){_0x2ee82a['prototype'][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x1376c7;}(_0x4900c7[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/TriangleMesh.ts':function(_0x1efb3a,_0x5b0a4d,_0x59dedd){'use strict';_0x59dedd['r'](_0x5b0a4d),_0x59dedd['d'](_0x5b0a4d,_0x1a4e('0x4617'),function(){return _0x311397;});var _0x39cbf4,_0x4fb415=_0x59dedd(_0x1a4e('0x430f')),_0x224f41=(_0x39cbf4=function(_0x1efb3a,_0x5b0a4d){return(_0x39cbf4=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x1efb3a,_0x5b0a4d){_0x1efb3a[_0x1a4e('0x295')]=_0x5b0a4d;}||function(_0x1efb3a,_0x5b0a4d){for(var _0x59dedd in _0x5b0a4d)_0x5b0a4d[_0x1a4e('0xb')](_0x59dedd)&&(_0x1efb3a[_0x59dedd]=_0x5b0a4d[_0x59dedd]);})(_0x1efb3a,_0x5b0a4d);},function(_0x1efb3a,_0x5b0a4d){function _0x59dedd(){this[_0x1a4e('0x10')]=_0x1efb3a;}_0x39cbf4(_0x1efb3a,_0x5b0a4d),_0x1efb3a['prototype']=null===_0x5b0a4d?Object['create'](_0x5b0a4d):(_0x59dedd[_0x1a4e('0xa')]=_0x5b0a4d[_0x1a4e('0xa')],new _0x59dedd());}),_0x311397=function(_0x1efb3a){function _0x5b0a4d(){return null!==_0x1efb3a&&_0x1efb3a[_0x1a4e('0x8b')](this,arguments)||this;}return _0x224f41(_0x5b0a4d,_0x1efb3a),Object['defineProperty'](_0x5b0a4d[_0x1a4e('0xa')],'renderType',{'get':function(){return _0x4fb415['RenderTypeEnum'][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x5b0a4d['prototype']['init']=function(){var _0x1efb3a=this[_0x1a4e('0x4323')];this[_0x1a4e('0x2b8')]=_0x1efb3a[_0x1a4e('0x395d')]['points'],this['_indices']=_0x1efb3a['dataSource']['indices'],this['_color']=_0x1efb3a[_0x1a4e('0x134')],this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x42e5'))]({'destroyPrimitives':!0x1}),this['_renderRoot']['add'](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')][_0x1a4e('0x42fe')]=_0x1efb3a['id'],this[_0x1a4e('0x4312')][_0x1a4e('0x433a')]=_0x1efb3a[_0x1a4e('0x2cb')],this[_0x1a4e('0x7')]();},_0x5b0a4d[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(){var _0x1efb3a=this[_0x1a4e('0x4618')]();this['draw_triangles'](_0x1efb3a,function(){});},_0x5b0a4d[_0x1a4e('0xa')][_0x1a4e('0x4618')]=function(){for(var _0x1efb3a=this['_points'][_0x1a4e('0x1e')],_0x5b0a4d=new Float32Array(_0x1efb3a/0x3*0x4),_0x59dedd=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this['_color']),_0x39cbf4=0x0;_0x39cbf4<_0x1efb3a;_0x39cbf4++)_0x5b0a4d[0x4*_0x39cbf4+0x0]=_0x59dedd['red'],_0x5b0a4d[0x4*_0x39cbf4+0x1]=_0x59dedd[_0x1a4e('0x41c6')],_0x5b0a4d[0x4*_0x39cbf4+0x2]=_0x59dedd[_0x1a4e('0x41c4')],_0x5b0a4d[0x4*_0x39cbf4+0x3]=_0x59dedd['alpha'];return{'points':this[_0x1a4e('0x2b8')],'indices':this['_indices'],'colors':_0x5b0a4d};},_0x5b0a4d[_0x1a4e('0xa')][_0x1a4e('0x4619')]=function(_0x1efb3a,_0x5b0a4d){for(var _0x59dedd=_0x1efb3a[_0x1a4e('0x17d')],_0x39cbf4=_0x1efb3a[_0x1a4e('0x3cc7')],_0x4fb415=_0x1efb3a[_0x1a4e('0x3724')],_0x224f41=(_0x59dedd=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3955')](_0x59dedd))[_0x1a4e('0x1e')],_0x311397=new Float64Array(0x3*_0x224f41),_0x3c606f=new Float32Array(0x3*_0x224f41),_0x5a7114=0x0;_0x5a7114<_0x224f41;++_0x5a7114)_0x311397[0x3*_0x5a7114]=_0x59dedd[_0x5a7114]['x'],_0x311397[0x3*_0x5a7114+0x1]=_0x59dedd[_0x5a7114]['y'],_0x311397[0x3*_0x5a7114+0x2]=_0x59dedd[_0x5a7114]['z'],_0x3c606f[0x3*_0x5a7114]=0x0,_0x3c606f[0x3*_0x5a7114+0x1]=0x0,_0x3c606f[0x3*_0x5a7114+0x2]=0x1;var _0x27cd5c=new Cesium[(_0x1a4e('0x3abe'))]({'vertexFormat':Cesium['VertexFormat'][_0x1a4e('0x44d9')],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x311397}),'normal':new Cesium['GeometryAttribute']({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0x3c606f}),'color':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x4,'values':_0x4fb415})},'indices':_0x39cbf4,'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3ac0')],'boundingSphere':Cesium['BoundingSphere'][_0x1a4e('0x3b5b')](_0x311397)}),_0x156839=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x27cd5c,'show':new Cesium[(_0x1a4e('0x461a'))](!0x0)});this[_0x1a4e('0x461b')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':[_0x156839],'asynchronous':!0x1,'appearance':this['createAppearance']()}),this[_0x1a4e('0x3eae')][_0x1a4e('0x177')](this[_0x1a4e('0x461b')]),_0x5b0a4d(this[_0x1a4e('0x461b')]);},_0x5b0a4d[_0x1a4e('0xa')][_0x1a4e('0x441b')]=function(){return _0x1a4e('0x461c');},_0x5b0a4d[_0x1a4e('0xa')][_0x1a4e('0x441a')]=function(){return _0x1a4e('0x461d');},_0x5b0a4d[_0x1a4e('0xa')][_0x1a4e('0x3b3d')]=function(){return new Cesium[(_0x1a4e('0x4419'))]({'renderState':{'depthTest':{'enabled':!0x1,'func':Cesium['DepthFunction'][_0x1a4e('0x461e')]},'depthMask':!0x0,'lineWidth':0x1,'polygonOffset':{'enabled':!0x0,'factor':0x1,'units':0x1}},'fragmentShaderSource':this['getFS'](),'vertexShaderSource':this['getVS'](),'translucent':!0x0});},_0x5b0a4d['prototype'][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x461b')]&&(this['_renderObj'][_0x1a4e('0x82')](this[_0x1a4e('0x461b')]),this[_0x1a4e('0x461b')]=null);},_0x5b0a4d[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(){this[_0x1a4e('0xb5')](),this[_0x1a4e('0x7')]();},_0x5b0a4d[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x1efb3a){var _0x5b0a4d=this['_dataItem'];switch(_0x1efb3a){case'dataSource':this[_0x1a4e('0x2b8')]=_0x5b0a4d[_0x1a4e('0x395d')][_0x1a4e('0x17d')],this[_0x1a4e('0x461f')]=_0x5b0a4d[_0x1a4e('0x395d')][_0x1a4e('0x3cc7')];break;case'color':this['_color']=_0x5b0a4d[_0x1a4e('0x134')];break;case _0x1a4e('0x3b2c'):this['_renderObj'][_0x1a4e('0x3a23')]=_0x5b0a4d[_0x1a4e('0x41a2')]&&_0x5b0a4d[_0x1a4e('0x3b2c')];}this['update']();},_0x5b0a4d;}(_0x4fb415[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/TruncatedConeParticleRender.ts':function(_0x1d61a5,_0x1542da,_0x49202f){'use strict';_0x49202f['r'](_0x1542da),_0x49202f['d'](_0x1542da,_0x1a4e('0x42c4'),function(){return _0x3f3d8e;});var _0x24a68a,_0x4fd5c0=_0x49202f(_0x1a4e('0x430e')),_0x281016=_0x49202f(_0x1a4e('0x38d0')),_0x570966=_0x49202f(_0x1a4e('0x3999')),_0x189ea8=_0x49202f(_0x1a4e('0x430f')),_0x1be7e6=_0x49202f(_0x1a4e('0x4310')),_0x22f86a=_0x49202f(_0x1a4e('0x3b38')),_0x1ffa0e=(_0x24a68a=function(_0x1d61a5,_0x1542da){return(_0x24a68a=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x1d61a5,_0x1542da){_0x1d61a5[_0x1a4e('0x295')]=_0x1542da;}||function(_0x1d61a5,_0x1542da){for(var _0x49202f in _0x1542da)_0x1542da[_0x1a4e('0xb')](_0x49202f)&&(_0x1d61a5[_0x49202f]=_0x1542da[_0x49202f]);})(_0x1d61a5,_0x1542da);},function(_0x1d61a5,_0x1542da){function _0x49202f(){this[_0x1a4e('0x10')]=_0x1d61a5;}_0x24a68a(_0x1d61a5,_0x1542da),_0x1d61a5[_0x1a4e('0xa')]=null===_0x1542da?Object[_0x1a4e('0x7')](_0x1542da):(_0x49202f['prototype']=_0x1542da[_0x1a4e('0xa')],new _0x49202f());}),_0x3f3d8e=function(_0x1d61a5){function _0x1542da(_0x1542da,_0x49202f){return _0x1d61a5[_0x1a4e('0x1')](this,_0x1542da,_0x49202f)||this;}return _0x1ffa0e(_0x1542da,_0x1d61a5),Object[_0x1a4e('0x2')](_0x1542da['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x189ea8[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x1542da[_0x1a4e('0xa')]['init']=function(){this[_0x1a4e('0x4323')];this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x42e5'))]()),this[_0x1a4e('0x4418')](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3eae')]['dataId']=this[_0x1a4e('0x4323')]['id'];},_0x1542da['prototype'][_0x1a4e('0x3db6')]=function(){var _0x1d61a5=document[_0x1a4e('0xe3d')]('canvas');_0x1d61a5[_0x1a4e('0x3935')]('width',_0x1a4e('0x3db8')),_0x1d61a5['setAttribute'](_0x1a4e('0x152'),'512px');var _0x1542da=_0x1d61a5['getContext']('2d'),_0x49202f=_0x1542da[_0x1a4e('0x3db9')](0x100,0x100,0x0,0x100,0x100,0x100);return _0x49202f[_0x1a4e('0x3dba')](0.96,'rgba(255,\x20255,\x20255,\x200.0'),_0x49202f[_0x1a4e('0x3dba')](0.98,_0x1a4e('0x3dbb')),_0x49202f['addColorStop'](0x1,_0x1a4e('0x4620')),_0x1542da['clearRect'](0x0,0x0,0x200,0x200),_0x1542da['beginPath'](),_0x1542da[_0x1a4e('0x124')](0x100,0x100,0x100,0x0,0x2*Math['PI'],!0x0),_0x1542da[_0x1a4e('0x3dbe')]=_0x49202f,_0x1542da[_0x1a4e('0x22c')](),_0x1542da[_0x1a4e('0x878')](),_0x1d61a5[_0x1a4e('0x3939')](_0x1a4e('0x3dc7'));},_0x1542da[_0x1a4e('0xa')][_0x1a4e('0x3dc0')]=function(){var _0x1d61a5=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x1d61a5[_0x1a4e('0x3935')](_0x1a4e('0x3936'),_0x1a4e('0x3dc2')),_0x1d61a5[_0x1a4e('0x3935')]('height',_0x1a4e('0x3dc3'));var _0x1542da=_0x1d61a5[_0x1a4e('0x51c')]('2d');_0x1542da['clearRect'](0x0,0x0,0x1,0x100);var _0x49202f=_0x1542da[_0x1a4e('0x3dc4')](0x0,0x0,0x0,0x100);return _0x49202f['addColorStop'](0x0,_0x1a4e('0x3dc5')),_0x49202f[_0x1a4e('0x3dba')](0x1,_0x1a4e('0x3dc6')),_0x1542da[_0x1a4e('0x3dbe')]=_0x49202f,_0x1542da[_0x1a4e('0x3dde')](0x0,0x0,0x1,0x100),_0x1d61a5['toDataURL']('image/png');},_0x1542da['prototype'][_0x1a4e('0x4418')]=function(){var _0x1d61a5=this[_0x1a4e('0x4323')],_0x1542da=_0x22f86a[_0x1a4e('0x3b60')]['getColor'](_0x1d61a5['color']);this[_0x1a4e('0x4325')]||(this[_0x1a4e('0x4325')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x1186'),'uniforms':{'color':_0x1542da,'image':this['createCirclesImage']()},'source':_0x1a4e('0x3db7')}})})),this[_0x1a4e('0x4314')]||(this[_0x1a4e('0x4314')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':'Color','uniforms':{'color':_0x1542da,'image':this[_0x1a4e('0x3dc0')](),'alphaTemp':0x2},'source':_0x1a4e('0x3dc1')}})})),this[_0x1a4e('0x4326')]||(this['_appearance3']=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':_0x1542da,'image':_0x570966['Util'][_0x1a4e('0x39a5')]('resources/localscene/MarkParticle.png'),'alphaTemp':0x2},'source':_0x1a4e('0x4621')}}),'translucent':!0x0}));},_0x1542da[_0x1a4e('0xa')]['createPrimitive']=function(){for(var _0x1d61a5=this['_dataItem'],_0x1542da=_0x1d61a5[_0x1a4e('0x3553')],_0x49202f=_0x281016['GeoPoint'][_0x1a4e('0x3949')](_0x1542da),_0x24a68a=_0x1d61a5[_0x1a4e('0x42c5')],_0x570966=_0x1d61a5[_0x1a4e('0x42c6')],_0x189ea8=[],_0x1be7e6=0x0;_0x1be7e6<_0x24a68a[_0x1a4e('0x1e')];_0x1be7e6++){var _0x22f86a=_0x24a68a[_0x1be7e6],_0x1ffa0e=new Cesium['GeometryInstance']({'geometry':new Cesium[(_0x1a4e('0x3db5'))]({'center':_0x49202f,'radius':_0x22f86a,'height':_0x1542da['alt']-_0x570966*_0x1be7e6})});_0x189ea8[_0x1a4e('0x46')](_0x1ffa0e);}var _0x3f3d8e=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x189ea8,'appearance':this[_0x1a4e('0x4325')]});this['_renderObj'][_0x1a4e('0x177')](_0x3f3d8e),this[_0x1a4e('0x4327')]||(this[_0x1a4e('0x4327')]=new _0x4fd5c0[(_0x1a4e('0x4328'))]());var _0x50b4a6=this[_0x1a4e('0x4622')](_0x1d61a5[_0x1a4e('0x3b50')],_0x1d61a5[_0x1a4e('0x3b51')],_0x1d61a5[_0x1a4e('0x152')]),_0x2f8a83=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x50b4a6}),'appearance':this[_0x1a4e('0x4314')],'modelMatrix':Cesium['Transforms'][_0x1a4e('0x3ab0')](_0x49202f)});this[_0x1a4e('0x4312')][_0x1a4e('0x177')](_0x2f8a83);var _0x2a32f5=_0x1d61a5[_0x1a4e('0x3b51')]/0x6,_0x3a1644=this[_0x1a4e('0x4622')](_0x1d61a5[_0x1a4e('0x3b50')]+_0x2a32f5,_0x1d61a5[_0x1a4e('0x3b51')]+_0x2a32f5,_0x1d61a5[_0x1a4e('0x152')]),_0x13e6d3=new Cesium['Primitive']({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x3a1644}),'appearance':this['_appearance3'],'asynchronous':!0x1});_0x13e6d3['modelMatrix']=Cesium[_0x1a4e('0x3b56')]['eastNorthUpToFixedFrame'](_0x49202f),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](_0x13e6d3);},_0x1542da[_0x1a4e('0xa')][_0x1a4e('0x4622')]=function(_0x1d61a5,_0x1542da,_0x49202f,_0x24a68a){this['_buildGeometry']||(this['_buildGeometry']=new _0x4fd5c0[(_0x1a4e('0x4328'))]());for(var _0x281016=this[_0x1a4e('0x4327')][_0x1a4e('0x4623')](_0x24a68a),_0x570966=[],_0x189ea8=[],_0x1be7e6=0x0;_0x1be7e6<_0x281016[_0x1a4e('0x1e')];_0x1be7e6++){var _0x22f86a=_0x281016[_0x1be7e6],_0x1ffa0e=new Cesium[(_0x1a4e('0x393e'))](_0x1d61a5*_0x22f86a['x'],_0x1d61a5*_0x22f86a['y'],_0x49202f),_0x3f3d8e=new Cesium[(_0x1a4e('0x393e'))](_0x1542da*_0x22f86a['x'],_0x1542da*_0x22f86a['y'],0x0);_0x570966[_0x1a4e('0x46')](_0x1ffa0e),_0x189ea8[_0x1a4e('0x46')](_0x3f3d8e);}_0x570966['push'](_0x570966[0x0]),_0x189ea8[_0x1a4e('0x46')](_0x189ea8[0x0]);var _0x1a102f=[],_0xf6651c=[];function _0xd5d80c(_0x1d61a5,_0x1542da){_0x1a102f[_0x1a4e('0x46')](_0x1d61a5['x']),_0x1a102f[_0x1a4e('0x46')](_0x1d61a5['y']),_0x1a102f[_0x1a4e('0x46')](_0x1d61a5['z']),_0xf6651c[_0x1a4e('0x46')](_0x1542da['x']),_0xf6651c[_0x1a4e('0x46')](_0x1542da['y']);}var _0x17d704=this[_0x1a4e('0x4327')]['getSlice']();for(_0x1be7e6=0x0;_0x1be7e6<_0x570966[_0x1a4e('0x1e')]-0x1;_0x1be7e6++)_0xd5d80c(_0x570966[_0x1be7e6],new Cesium[(_0x1a4e('0x3952'))](_0x1be7e6/_0x17d704*0x3,0x0)),_0xd5d80c(_0x189ea8[_0x1be7e6],new Cesium[(_0x1a4e('0x3952'))](_0x1be7e6/_0x17d704*0x3,0.3)),_0xd5d80c(_0x189ea8[_0x1be7e6+0x1],new Cesium[(_0x1a4e('0x3952'))]((_0x1be7e6+0x1)/_0x17d704*0x3,0.3)),_0xd5d80c(_0x570966[_0x1be7e6+0x1],new Cesium[(_0x1a4e('0x3952'))]((_0x1be7e6+0x1)/_0x17d704*0x3,0x0)),_0xd5d80c(_0x570966[_0x1be7e6],new Cesium[(_0x1a4e('0x3952'))](_0x1be7e6/_0x17d704*0x3,0x0)),_0xd5d80c(_0x189ea8[_0x1be7e6+0x1],new Cesium[(_0x1a4e('0x3952'))]((_0x1be7e6+0x1)/_0x17d704*0x3,0.3));return new Cesium[(_0x1a4e('0x3abe'))]({'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':new Float64Array(_0x1a102f)}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':new Float32Array(_0xf6651c)})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x1a102f)});},_0x1542da[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x1542da){_0x1d61a5[_0x1a4e('0xa')][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x1542da);var _0x49202f=this[_0x1a4e('0x4323')];switch(_0x1542da){case _0x1a4e('0x134'):var _0x24a68a=_0x22f86a['RenderUtils'][_0x1a4e('0x3b40')](_0x49202f[_0x1542da]);this[_0x1a4e('0x4325')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['color']=_0x24a68a,this[_0x1a4e('0x4314')][_0x1a4e('0x3a41')]['uniforms']['color']=_0x24a68a,this[_0x1a4e('0x4326')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x24a68a;break;case'visible':this[_0x1a4e('0x4312')]['show']=_0x49202f[_0x1542da]&&_0x49202f['renderVisible'];break;default:this['_renderObj'][_0x1a4e('0x3a42')](),this[_0x1a4e('0x42e6')]['remove'](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')]=void 0x0,this[_0x1a4e('0x1fd')]();}},_0x1542da[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a42')](),this['_renderRoot']['remove'](this['_renderObj']),this['_renderObj']=void 0x0,this[_0x1a4e('0x4327')]=void 0x0,_0x1d61a5[_0x1a4e('0xa')][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x1542da;}(_0x1be7e6['RenderPositionObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/TruncatedConeRender.ts':function(_0xd0a387,_0x1142d9,_0x549b38){'use strict';_0x549b38['r'](_0x1142d9),_0x549b38['d'](_0x1142d9,_0x1a4e('0x42bf'),function(){return _0x20f43a;});var _0x44c4b3,_0x24cfc2=_0x549b38(_0x1a4e('0x430e')),_0x466d0c=_0x549b38(_0x1a4e('0x38d0')),_0x33409a=_0x549b38(_0x1a4e('0x430f')),_0x521533=_0x549b38('./src/LayerManager/GraphicLayer/GraphicRender/RenderPositionObject.ts'),_0x47722e=_0x549b38(_0x1a4e('0x3b38')),_0x388ecf=(_0x44c4b3=function(_0xd0a387,_0x1142d9){return(_0x44c4b3=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0xd0a387,_0x1142d9){_0xd0a387['__proto__']=_0x1142d9;}||function(_0xd0a387,_0x1142d9){for(var _0x549b38 in _0x1142d9)_0x1142d9[_0x1a4e('0xb')](_0x549b38)&&(_0xd0a387[_0x549b38]=_0x1142d9[_0x549b38]);})(_0xd0a387,_0x1142d9);},function(_0xd0a387,_0x1142d9){function _0x549b38(){this[_0x1a4e('0x10')]=_0xd0a387;}_0x44c4b3(_0xd0a387,_0x1142d9),_0xd0a387['prototype']=null===_0x1142d9?Object[_0x1a4e('0x7')](_0x1142d9):(_0x549b38['prototype']=_0x1142d9[_0x1a4e('0xa')],new _0x549b38());}),_0x20f43a=function(_0xd0a387){function _0x1142d9(_0x1142d9,_0x549b38){var _0x44c4b3=_0xd0a387[_0x1a4e('0x1')](this,_0x1142d9,_0x549b38)||this;return _0x44c4b3[_0x1a4e('0x4311')](!0x0),_0x44c4b3;}return _0x388ecf(_0x1142d9,_0xd0a387),Object[_0x1a4e('0x2')](_0x1142d9['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x33409a[_0x1a4e('0x4318')]['Primitive'];},'enumerable':!0x0,'configurable':!0x0}),_0x1142d9['prototype'][_0x1a4e('0x1fd')]=function(){this[_0x1a4e('0x4323')];this[_0x1a4e('0x4312')]||(this[_0x1a4e('0x4312')]=new Cesium['PrimitiveCollection']()),this[_0x1a4e('0x4418')](),this[_0x1a4e('0x3b5e')](),this['_renderRoot'][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x3eae')]['dataId']=this[_0x1a4e('0x4323')]['id'];},_0x1142d9[_0x1a4e('0xa')][_0x1a4e('0x4313')]=function(){_0xd0a387[_0x1a4e('0xa')][_0x1a4e('0x4313')]['call'](this),this[_0x1a4e('0x4314')]&&(this[_0x1a4e('0x4314')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x502')]+=0.15);},_0x1142d9[_0x1a4e('0xa')][_0x1a4e('0x3de9')]=function(){var _0xd0a387=document[_0x1a4e('0xe3d')]('canvas');_0xd0a387[_0x1a4e('0x3935')](_0x1a4e('0x3936'),_0x1a4e('0x3db8')),_0xd0a387[_0x1a4e('0x3935')]('height',_0x1a4e('0x3db8'));var _0x1142d9=_0xd0a387['getContext']('2d'),_0x549b38=_0x1142d9['createRadialGradient'](0x100,0x100,0x0,0x100,0x100,0x100);return _0x549b38[_0x1a4e('0x3dba')](0.8,_0x1a4e('0x3dea')),_0x549b38[_0x1a4e('0x3dba')](0.84,_0x1a4e('0x3dbb')),_0x549b38[_0x1a4e('0x3dba')](0.88,_0x1a4e('0x3deb')),_0x549b38['addColorStop'](0.92,_0x1a4e('0x3deb')),_0x549b38[_0x1a4e('0x3dba')](0.96,_0x1a4e('0x3dbb')),_0x549b38[_0x1a4e('0x3dba')](0x1,_0x1a4e('0x3deb')),_0x1142d9[_0x1a4e('0x3dbc')](0x0,0x0,0x200,0x200),_0x1142d9[_0x1a4e('0x3dbd')](),_0x1142d9[_0x1a4e('0x124')](0x100,0x100,0x100,0x0,0x2*Math['PI'],!0x0),_0x1142d9['fillStyle']=_0x549b38,_0x1142d9[_0x1a4e('0x22c')](),_0x1142d9['restore'](),_0xd0a387[_0x1a4e('0x3939')]('image/png');},_0x1142d9['prototype']['createPartTwoImage']=function(){var _0xd0a387=document[_0x1a4e('0xe3d')]('canvas');_0xd0a387[_0x1a4e('0x3935')](_0x1a4e('0x3936'),_0x1a4e('0x3db8')),_0xd0a387[_0x1a4e('0x3935')](_0x1a4e('0x152'),_0x1a4e('0x3db8'));var _0x1142d9=_0xd0a387[_0x1a4e('0x51c')]('2d');return _0x1142d9[_0x1a4e('0x3dbc')](0x0,0x0,0x200,0x200),_0x1142d9['strokeStyle']=_0x1a4e('0x3df1'),_0x1142d9[_0x1a4e('0x3df2')]([0x104,0x104]),_0x1142d9[_0x1a4e('0x4191')]=0x14,_0x1142d9[_0x1a4e('0x124')](0x100,0x100,0xf1,0x0,0x2*Math['PI'],!0x0),_0x1142d9[_0x1a4e('0x3df3')](),_0xd0a387['toDataURL'](_0x1a4e('0x3dc7'));},_0x1142d9[_0x1a4e('0xa')][_0x1a4e('0x3dfa')]=function(){var _0xd0a387=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0xd0a387[_0x1a4e('0x3935')](_0x1a4e('0x3936'),'1px'),_0xd0a387['setAttribute'](_0x1a4e('0x152'),'256px');var _0x1142d9=_0xd0a387[_0x1a4e('0x51c')]('2d');_0x1142d9[_0x1a4e('0x3dbc')](0x0,0x0,0x1,0x100);var _0x549b38=_0x1142d9[_0x1a4e('0x3dc4')](0x0,0x0,0x0,0x100);return _0x549b38['addColorStop'](0x0,_0x1a4e('0x3ddc')),_0x549b38['addColorStop'](0x1,_0x1a4e('0x3ddd')),_0x1142d9[_0x1a4e('0x3dbe')]=_0x549b38,_0x1142d9[_0x1a4e('0x3dde')](0x0,0x0,0x1,0x100),_0xd0a387[_0x1a4e('0x3939')](_0x1a4e('0x3dc7'));},_0x1142d9[_0x1a4e('0xa')]['createAppearence']=function(){var _0xd0a387=this[_0x1a4e('0x4323')],_0x1142d9=_0x47722e[_0x1a4e('0x3b60')]['getColor'](_0xd0a387[_0x1a4e('0x134')]);this['_appearance1']||(this['_appearance1']=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium['Material']({'fabric':{'type':'Image','uniforms':{'image':this[_0x1a4e('0x3de9')](),'color':_0x1142d9},'source':_0x1a4e('0x3db7')}}),'translucent':!0x0})),this[_0x1a4e('0x4314')]||(this[_0x1a4e('0x4314')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x1186'),'uniforms':{'image':this[_0x1a4e('0x3ded')](),'color':_0x1142d9,'angle':0x0},'source':_0x1a4e('0x4624')}}),'translucent':!0x0})),this['_appearance3']||(this[_0x1a4e('0x4326')]=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':_0x1142d9,'image':this[_0x1a4e('0x3dfa')](),'alphaTemp':0x2},'source':_0x1a4e('0x3dc1')}})}));},_0x1142d9[_0x1a4e('0xa')][_0x1a4e('0x3b5e')]=function(){var _0xd0a387=this[_0x1a4e('0x4323')],_0x1142d9=_0x466d0c[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0xd0a387['position']);null==this[_0x1a4e('0x4327')]&&(this['_buildGeometry']=new _0x24cfc2[(_0x1a4e('0x4328'))]());var _0x549b38=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3db5'))]({'center':_0x1142d9,'radius':_0xd0a387[_0x1a4e('0x42c1')],'height':_0xd0a387[_0x1a4e('0x3553')][_0x1a4e('0x398c')]})}),'appearance':this[_0x1a4e('0x4325')],'asynchronous':!0x1});this[_0x1a4e('0x4312')][_0x1a4e('0x177')](_0x549b38);var _0x44c4b3=new Cesium['Primitive']({'geometryInstances':new Cesium['GeometryInstance']({'geometry':new Cesium[(_0x1a4e('0x3db5'))]({'center':_0x1142d9,'radius':_0xd0a387[_0x1a4e('0x42c0')],'height':_0xd0a387['position'][_0x1a4e('0x398c')]})}),'appearance':this[_0x1a4e('0x4314')],'asynchronous':!0x1});this[_0x1a4e('0x4312')][_0x1a4e('0x177')](_0x44c4b3);var _0x33409a=this[_0x1a4e('0x4327')][_0x1a4e('0x432b')](_0xd0a387[_0x1a4e('0x3df4')],_0xd0a387[_0x1a4e('0x3df5')],_0xd0a387[_0x1a4e('0x3df6')]),_0x521533=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x33409a}),_0x47722e=this[_0x1a4e('0x4327')][_0x1a4e('0x432b')](_0xd0a387[_0x1a4e('0x3dfc')],_0xd0a387[_0x1a4e('0x3df7')],_0xd0a387[_0x1a4e('0x3df8')]),_0x388ecf=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x47722e}),_0x20f43a=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':[_0x521533,_0x388ecf],'appearance':this['_appearance3'],'modelMatrix':Cesium['Transforms']['eastNorthUpToFixedFrame'](_0x1142d9)});this[_0x1a4e('0x4312')][_0x1a4e('0x177')](_0x20f43a);},_0x1142d9[_0x1a4e('0xa')][_0x1a4e('0x3dda')]=function(_0x1142d9){_0xd0a387['prototype'][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0x1142d9);var _0x549b38=this['_dataItem'];switch(_0x1142d9){case _0x1a4e('0x134'):var _0x44c4b3=_0x47722e['RenderUtils'][_0x1a4e('0x3b40')](_0x549b38[_0x1142d9]);this[_0x1a4e('0x4325')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x44c4b3,this['_appearance2'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x44c4b3,this['_appearance3'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x44c4b3;break;case'visible':this[_0x1a4e('0x4312')]['show']=_0x549b38[_0x1142d9]&&_0x549b38[_0x1a4e('0x41a2')];break;default:this[_0x1a4e('0x4312')][_0x1a4e('0x3a42')](),this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this['_renderObj']),this['_renderObj']=void 0x0,this[_0x1a4e('0x1fd')]();}},_0x1142d9[_0x1a4e('0xa')]['clear']=function(){this[_0x1a4e('0x4312')]['removeAll'](),this[_0x1a4e('0x42e6')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')]=void 0x0,this[_0x1a4e('0x4327')]=void 0x0,_0xd0a387[_0x1a4e('0xa')][_0x1a4e('0xb5')]['call'](this);},_0x1142d9;}(_0x521533[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/WaterEffect.ts':function(_0x5f55c6,_0x4407bd,_0x4c68fc){'use strict';_0x4c68fc['r'](_0x4407bd),_0x4c68fc['d'](_0x4407bd,'WaterEffect',function(){return _0x3aba69;});var _0x4bc737,_0x478333=_0x4c68fc('./src/LayerManager/GraphicLayer/GraphicRender/RenderObject.ts'),_0x4c341e=_0x4c68fc(_0x1a4e('0x3b38')),_0xc48eab=(_0x4bc737=function(_0x5f55c6,_0x4407bd){return(_0x4bc737=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x5f55c6,_0x4407bd){_0x5f55c6[_0x1a4e('0x295')]=_0x4407bd;}||function(_0x5f55c6,_0x4407bd){for(var _0x4c68fc in _0x4407bd)_0x4407bd[_0x1a4e('0xb')](_0x4c68fc)&&(_0x5f55c6[_0x4c68fc]=_0x4407bd[_0x4c68fc]);})(_0x5f55c6,_0x4407bd);},function(_0x5f55c6,_0x4407bd){function _0x4c68fc(){this['constructor']=_0x5f55c6;}_0x4bc737(_0x5f55c6,_0x4407bd),_0x5f55c6[_0x1a4e('0xa')]=null===_0x4407bd?Object['create'](_0x4407bd):(_0x4c68fc[_0x1a4e('0xa')]=_0x4407bd[_0x1a4e('0xa')],new _0x4c68fc());}),_0x3aba69=function(_0x5f55c6){function _0x4407bd(){return null!==_0x5f55c6&&_0x5f55c6[_0x1a4e('0x8b')](this,arguments)||this;}return _0xc48eab(_0x4407bd,_0x5f55c6),Object[_0x1a4e('0x2')](_0x4407bd[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x478333['RenderTypeEnum']['Primitive'];},'enumerable':!0x0,'configurable':!0x0}),_0x4407bd['prototype'][_0x1a4e('0x1fd')]=function(){var _0x5f55c6=this[_0x1a4e('0x4323')];if(this[_0x1a4e('0x4625')]=this['fSWaterFace'](),this[_0x1a4e('0x432f')]=this[_0x1a4e('0x4418')](),_0x5f55c6[_0x1a4e('0xb0')]){for(var _0x4407bd=[],_0x4c68fc=0x0;_0x4c68fc<_0x5f55c6[_0x1a4e('0xb0')][_0x1a4e('0x1e')];_0x4c68fc++)_0x4407bd['push'](new Cesium['PolygonHierarchy'](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')](_0x5f55c6[_0x1a4e('0xb0')][_0x4c68fc])));this[_0x1a4e('0x43f4')]=new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':new Cesium[(_0x1a4e('0x3a3f'))](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')](_0x5f55c6[_0x1a4e('0x42d9')]),_0x4407bd)});}else this[_0x1a4e('0x43f4')]=new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':new Cesium[(_0x1a4e('0x3a3f'))](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')](_0x5f55c6[_0x1a4e('0x42d9')]))});this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x19e6'))]({'allowPicking':!0x1,'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x43f4')]}),'appearance':this[_0x1a4e('0x432f')],'asynchronous':!0x1,'cull':!0x0}),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]);},_0x4407bd[_0x1a4e('0xa')][_0x1a4e('0x4626')]=function(){return _0x1a4e('0x4627');},_0x4407bd['prototype']['createAppearence']=function(){var _0x5f55c6=this[_0x1a4e('0x4323')],_0x4407bd={'frequency':_0x5f55c6[_0x1a4e('0x40af')],'baseWaterColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x5f55c6[_0x1a4e('0x42d5')]),'animationSpeed':_0x5f55c6[_0x1a4e('0x42d6')],'amplitude':_0x5f55c6['amplitude'],'specularIntensity':_0x5f55c6[_0x1a4e('0x42d8')],'normalMap':this['normalMap']()};return new Cesium[(_0x1a4e('0x446c'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x4628'),'uniforms':_0x4407bd}}),'closed':!0x1,'translucent':!0x0,'renderState':{'cull':{'enable':!0x0,'face':_0x1a4e('0x42da')==_0x5f55c6[_0x1a4e('0xa69')]?Cesium['WebGLConstants'][_0x1a4e('0x44b3')]:Cesium['WebGLConstants'][_0x1a4e('0x45d3')]}},'fragmentShaderSource':this[_0x1a4e('0x4625')]});},_0x4407bd[_0x1a4e('0xa')]['updateAttribute']=function(_0x5f55c6){var _0x4407bd=this[_0x1a4e('0x4323')];switch(_0x5f55c6){case _0x1a4e('0x40af'):this[_0x1a4e('0x432f')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x40af')]=_0x4407bd[_0x5f55c6];break;case _0x1a4e('0x42d6'):this[_0x1a4e('0x432f')]['material'][_0x1a4e('0x3b74')][_0x1a4e('0x42d6')]=_0x4407bd[_0x5f55c6];break;case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0x4407bd[_0x5f55c6]&&_0x4407bd['renderVisible'];break;case _0x1a4e('0x42d7'):this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['amplitude']=_0x4407bd[_0x5f55c6];break;case'specularIntensity':this['_appearance']['material'][_0x1a4e('0x3b74')]['specularIntensity']=_0x4407bd[_0x5f55c6];break;case _0x1a4e('0x42d5'):this[_0x1a4e('0x432f')][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x42d5')]=_0x4c341e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x4407bd[_0x5f55c6]);}},_0x4407bd[_0x1a4e('0xa')]['clear']=function(){_0x5f55c6[_0x1a4e('0xa')][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0x4407bd[_0x1a4e('0xa')]['normalMap']=function(){return'data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QBoRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAASAAAATgAAAAAAAABIAAAAAQAAAEgAAAABUGFpbnQuTkVUIHYzLjUuMTAA/9sAQwACAQECAQECAgICAgICAgMFAwMDAwMGBAQDBQcGBwcHBgcHCAkLCQgICggHBwoNCgoLDAwMDAcJDg8NDA4LDAwM/9sAQwECAgIDAwMGAwMGDAgHCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgBAAEAAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A6PxCblbSN5Y54ntsx7sBlwMgjjORxyP5VV8MeC7LUL24mjiEkiTI6hp/Y8bOwAHoPx4r0v4i+BbjQ3RlaSUs4ZsZ/ejPVQTz09epx9OBtb4eDNXuJnyoJDbSu0xnOOexXr7D6V/e+FxixOHvRe+33niYWvUhmMKlJNW0S2bbX4eZ0U2natocUkF7b2kNltAQySgoqjoSPQ55PFcjf61fafqqsljHFbyOUfycSRDnOVPGOv69a1pfiDBZ+IoW1IySWE7jaYiPKUNwQcFsEE9vpmtfxDpaXNw6acRND1B8w8gjs4HB4pUZyoySqxWqvfZfnuViYyVSpiKyTmnbrZJu/Xd6GC/hU+KbYpdTQyQTIA3lzD5e4x157ds0jfCzTBochuLNkaMhRKqEbscgkggEj1B/nV/TLv8A4RW6S8vLS5jstpW42HDAhScn34PPNXLPxZoukswL3b6Zd/KyCFwImGeox6d8Dt0xmnUxFdO1O9vL8V6nz2OzrEYj91Sk4w1TaWlkt/lseeav8HrbVroPpdhbvcxSho5lu2hk4PQjOdpxypx1NejaF8H4Nd0U3b6asc9ugjkUKwbjIJOSyjIJ646Drmr3i+00i78LLdWV39jVFcl3hLOrDAwOmOGyDnNO+H979qjS4fUle5EW1m3bUchTncB19+TznBrkxWY4ipR56ba5b7p306djbLszxlbGUsuoNwpOzd7ttLZ9tTifEvgHVvANvJHbGBtNn6RBiUjBGDgkHIPpnHSs3wD4rvfDRntbqe4urGOQqIEVnKAseBtA6dhx+PFej+IbVNU8LeQ0TsoIyoZ0MmM9A/uBgenpXCw+B59N1RzZreqJCDyVSPGem8DjA7E9q78LiYVqDjXtzelvn6n0sIJZlDEV2lZaaJNXXzsQ6945is9QRU3JCrDDTIQCvIwxyADz2Hr15rb0P4ixf2gZrrTpI0dRBO0KIxz13AAcdR/j3qTX/DX9pOReIftSLlZVwoI+ijb6Z6/WseytbiC6AANoEJDs6qT7ZbHI6ds4NaKFCrSs1rbv+X/DHRWxGGhVn7OPup3bv18mdDPFaa5aSrDJE1q5wGeAHYc9D1z9B2+tSDwbYy20fEDkDaQFUMhH0H+fWl0qzOpwSpIGwzfOC5POO2Ohrb0HSltrhxPHbklygYSjdkDgEdQew9favOq1/ZK0ZO/Y+OzPO1zqnSbSeiStffqzmtT8NNprLcRs8oTCllUOqc+vbp/9aua8SfD6O+1eabbHc+eAf9WPnUem4kZ5r1I6mbWaW1RQ9vNn5LiTDA9wOnf1J7+tY/jmyW20qO6kI/0VsxtCQRjqVJJB6cdfWrw+Y1YySejf5Hk4nGV6cHLaVr92vkvIo+CfizqPhbSYLHfNq1rZIqQxSx52r/c3DJIGPw/Cu7074v6P4lnjW/0+CyK7QdsmZE5OMKR6djj8eK4TQ9Skn8i7ss/ZpmDSAgiQe4U57e5/wpahZRaVqbzLF57bs+Zt2j72fmyQpGOPYjuK5a2XYWvJyceWT6p2d/O1kc2EoQq0liqq1vda67aX6HpOu3+m+GruO7bVrdLUYUDfu3rjA3A8c55KkYxxnmpb7QPD/wAQyk1u/mT42SQpjY3OQQFwc+/PWuNsTY3dtc2txBBPI/KCI7oSpIBwAWIYflzVl9R1TSljihsESCBtnmKzK+M9mAPI+v5V5zwEo2dObUl1dkmv1O6OHWG5pU23Ja3bSSbfTrokdPpvwi02/sBcWaNp9xaYjKiYYLA/3WPbHQEfSofEOojQoD9om23lnhWiCN84AzuILYzjtu5/GuUufGmtaA8l4ZZirFi7PEFZiAeGw2c8c8Z5pniH4kpeJKTbRu8ieXlIP9UwzgeuDk446Y6U6eW4uc06s+ePS268rswp8P5hmFNe2k5OXZ6u+2r20Ogn1O+1/SbiK0bfG7hhGkjR7MHumcY4P459q5nSNbk0fxGYruZ7iLAHkKrEnjnBZiOQe/8AU1xmhfE661fWo7Jrq2SIFswvCokyDzjLf7Wc8n39euX4d6neeII7pYvNgkQNFcKBhTjLByMcYxnqeODXqSwUMNGVKrZKS0P0Th7h/D5TCNfEyjCaaVluutrtbvyLOp+LD4c0+VLEK2nhgfLliLBBjqpOf/HeBVzTvHxh0tpriwkms42y5WIOyHd/sgEdMgfoeKytT09dP0GeC9WOO4tyUYs7DzAOmAxPp0z/APW4STxbNpN1dQ6fqDmFm3NFvEULqSAQGBPPXjGOOa3pZfTrwtFa337+d118z5biChPMMcoYaPuxWrfd/r2PYfGHjrRk0e2u5YGfTJiI5Zp4V+UdM8A4IyO1cb8UPCtlNoQ1Cx1CGS3frNAYy6qTydoH6/TmsE+M5dK0gxaj5VxFKrYxISqZ4OCM89DkfhzXQeG5dNn00xyyRrO0Jw8RikzkcZYLuVeAM9we1FHBTwdpwvo353X+fmPGZZQy+m4xV3ypLreT3+4zvD3hGx1LwyJ3mluPtEYUzKnyBvTtnqOM/hXSeDfCVzZXdq1uXlVWGHQoHgIPPqT6gZ/Guf8AC+sx2F5NZxNJCvmNE0KqSAegwwHHHPIJrTvPE91p+pbbe5tZLmJz5bKAXXHQEYBBxkZ4zgcg1eKVeopU779ycpxWLjGNTqklr9/ZfM3PF3gHVV8QG4jtLjUZCyuJzBuUjPBJ9PyrAv8Aw8+r3VzbNHENQJV0ikhC+ZjsCzFckHOeBnFdpH8WtRtZrS7e9e2inXdsbO5WOMgjOOp7k9+orobZLL4qRqk6wQXkJbyruFT15yGBOcEdcH868OOPxWFipV4rlStddLd1bVHRicXUc+Wdkpy3Xby06mHonjJ9R0xUvb51dXKYkTaYmx6HPyHHJHPTpXEeJDPb65PLLZ/2goBCzOgJVSeVXJ57d6zNA8Y6ro2tXhubWW68uQAiaPaVU5BAOc/4cc13M1/PrulYSwW2KjKxqq4XPGA2eh9PX8q7Y4Z4SteKXI/NddT7T2So4d12k6km9bpWS0066HE6rop1S2MaQQpAcuISoyp6kDIPc+5rb0Qvaad5qLFbXCJ8sTPuEowcgKcgEe2B9KqLG6xSRK8dte2/3Ii4Td1OADyeM9OntU3hfWdOk1NE1aM2wVWST7Oh3QnJ+YFxjBz/AF69OzETk4NWul21b/4c/K85zSU6vs27QT1t1b0SXob2h+IbbWbq3WZY4zNw6+UqL0zgdQW6cZzwa1/+FfaRbrcwpd3MpLL91hFsyCOQo5z06Vz3iHw7o1vqUZtLi7Jjb91cMAJQ2D/dO0hgR27emK2JNSl0aKGaT7HKFhYfaIn/AHhUE5ywXgjv1znqOa8Ks5za+rtpPpax8vSrVcRXnQpJqK0slZtWs1fs99ATwTKmk3NhcxRra3EbdUBKlgx3Bs9D64PvjFcH4P0HX9FuZLSCF0+ySbN/nMsjjOFO3AJGP7vp9K73S/H881q1vHiVQx8v7SmzGBkY9D0Ix9ee2e/xCiv7yGPVFs43Zti3AlMjQ9RnA4HPXB55wK6MPVxUeaMoqV9/+GP1vJMBXwdKGMqxV+XlV+ifX5IqWUl9bOEvJNsMnyudjOeehbHPbGcHPHQdK766ukXgaa4l+zKc52AEeo+YBQePrXQyCNkmee7jaSJh+8V8tIMc7WA5IOPQjIGSa5rxFqVxm8hRklt48MRIcBcn7xJJyMEDj9K6KElUlytf193mNUauOk6qVoxe+yVu10aXiCeWBN0DRm3HMLo4fcp5I9OR2/IU658MW3inSY7q3ZoLtMMCrFXx0Ix0Pf6VzceoSafY+RL8hUgxGIlliPXgk9Oe/T8KTT/HGraBdiOe3VraUtslWYB1bGQD259Mmuh4Wqor2b1X4/11PDzac3UcKFlG2rvu/n+JehTUPCmqFpCxtXXLMcCRMYI+70z09cg1v2ktreJMLSO7FyrBxcAsBMuB90ZA3EZ5PXjg1z1n4mg1lnE0EAUB0Vy/mBj1A3f3gDyMHp9K0tB1jT9T0SKBL82EsCMmEkPBBbkEcEcex5HTmufEU5255Rd+ttvnbc+Dp1ZwqSqVFrrtstl53e51f9s6fq9inmabvdCIpSJTG7Zyc4PGfXn8qsJoGl6tos8J0+7ENyrYY72aI54AH+GOh9Koac8eoSRRwyiS/dSVlklyxIwVyDgDPsa6JL60n09W+1yS3OMPAYmYNwT8oCkHoedxHoa+XxNZ0n7vMuu7dvl0XYWGrVMRiHRoqUpySSV3dt91stNzzWTwSngQxyrqjyWxJTYQA8ft82flOOSOfoOl37bp13OyTGN4EzuR8GROuQpPB7cZ7kdat+I/FX2gXYvYI4zF92XcC0IOeMA7hgj8PXNc26aFqtxbtdyS6fcJKE3QxqqHcdoAYnByOMck+1fS0nUnTVSve66rX8j6qrl8sFG2Ik7RtdpXV1o7Jb67MvXPw788edpcflWTc7Rxg9SckYA59/Spmsbvw1NGRL5wlXeLZ2DxuW3fKFPAYEnpgYNJ9gbSr5oNC1G4uJYSWjhb5VK53bVU5/h3dBx+tUdV8SvZXVrLr8NxaRhvLZoITM9u2TjBI6d/anzVamjalG2zWr7XT1Ncuy+vmVb2cnakmm1rzNt7fI0rLxLp3ilAGtTbQ3GI5YjEkXlNtwQD8wz7fXiuevvhTbkzRWF3PAqyKVaG5VcYHoOx6cDPsRxWhp9hbareTxpJcSsW+R/LCSO2MjJyVbKkdAencYrfj8MI2nJPFHGvln53BYnHOfnC4B9fX25pTrLD6U21e2j/AA/yP0zLqtHDLmXuuKdl26d7+h5Nr3hGVdSK6jawCSBvnZCC2PmG4npgnPJz17EVueCPidrHgzxHDaRTSx2N3KDHtlIRGXouDjIxn5QOqke43da0eHT9SZRIlzJIC0QlJBwP4fb2HYfSsa8gl1y+tzcW0JO/IIkLD03AL3B6nPPavYlWhiKSjWimrdf0TPkK2KnisRetrFS3ei31sm+i7nX+I9csdb8QMbm2hM0p2MYw4+VgOSOuDjrjnjgCuW8T+AbG51dZbeyjj8xeNwA+ccNweAenXmtufw1NZ6sl3NZzxOcESgBiRj5gCcdD7cA+tXPEC/aIw0wMNxbFW5ICFT0ZjnJyODj29a8zD1VQcVSlpa29zZ4qlWqVp4d+6pd+3ZHnyaDaJDcWU0K29zaAskZ+YHr3OR0zx7YqhpOgaBqWur9nkfS762/egQZR2Un5vlOQVyevQelegeKPCuh6uI5dTgkguUYENbxZAzj5s53Y7+oBry7V/BNpc6qzabNPbXdtITbTRzHzSSAcE5GQe4PT+ft4TEKvF3lKL/D/AIY45Up4qvCSlKzkle2lk/Pp5h4i8Q3HhXxTLBZ3t4bmHbOkcygOQMEAqpxg4x3wR712l54+g8T6H9om06Wy1dMK7R5RLgY4II43Ed8c8cV574xjv9bit/tkXl6jZgxxTMhJ7kcg88dsHgemRWn4EGravpX2K6f7NKiMoMb9CCRlTgccd+efqa662EpypxqTtzR63/y3T7HXWoYXD1atKbXK03dvd9tD0Dw/rja34WlF9bwF4HIadP3e5SM5YdPxPcdBWPa65qnhPXoJNJluXsbsEDEDMVGQR8u4HGP7uOR3qt4c8P6/4e1BmF3JdWV6hDRuCzBuCvyk8E7T06fhUmoade29upF/cJLHKCYgudoOcbVAOevJzz06V5qpU+aULpxl03Wvl01NMJRpyowxMrSkvhXTR6aejOsuPF8HxUs2ghlAv7RiEuXG9owd3y7iuGQgHjI/pXKw6rrPgK9xctby6WGKTSRqV29TlR0zx+P1NZejn/hE9QQm1VLeFgqJC5aLpypUd+vBOB611lxr7Xdy6PZ28unzEyDfuPkDvjrxg/zrH6vHDJxirweuttPRnbxHmuHwmDlOhG0YaJu17dX5tsl1fw0vixIZ7XNzCcus6bjIB0+7tOBjPr147VTm8BWdpq7meFDeW+YmcOYy2CORzg5Ujt9QK3La9tNJ09Et4pLYxHy5fl+br0UhuQQB19u3FWp7iXVLaV7S6nmDuCjbCY29Q7c8jAyMfSvMji6/MlFuMPx+dvyPxV4rF5niYxppxg9Uvlu3+hyXiM3HhG9EkM73mi3hw8u/BhGMEEhj0OOOe9bc2jSw6ECkMd7Ch8wNO3luSCoYFWAycZ4BP05Fc9rMd3oeoPFqMC32n3j4e3BKhyAdxxgYIUn0z39RsJ5Wu6UbO032bws6hpgdsSn5Vx6DI7Y9K66raUXvrq0tH621ufoPBeW+1xVdpLlgtZeel/Vl7RNAj1F3t0vGsrt/3ywuAkasOOSCcKcD8xgnFQSzf2fMxurMffEbvINmcYBAIGGH5j6ViXt7ZaJJa3FxcCS6VgvmqwKgg5+U7VVhzyME/jVTWtWtn1KR0lW0i6Ps2h0Oflcq2BtPsfy760sNOU3Ju6fl27WPtc+o1Z4WFO7Ub9rb66LfQ7vQNV08agmLdYlQ7JlcEoFOdrlc4xjIzn+tT+Kra9t5W8qO1A2mJuo2+h3DgjGMDGPXFc/4bjivDEWvkkidNrxSsFXDYB+ZeMZOcE8evevQJPDmnX+li4jKXI6BCQWgPcIwIB4PqOnIB6ePjJxw9eMndp6dWZYWtQjhvYxu3dW3f5207nkGuXc9gIJHjitXG5X2PuJxgEDnp8vp347VWW7vIpJvIvIrmGZQVcOgIKgDAOcBue47dRXYeLPB9rDdmGRpWhmPAZlbAPXncefY1zNp4Et9P1gxx3g8pzjY/wAqE4OMnJB6D35619Fh8VRnTT/T+tj5fNqlClVVJ7tq+nkctc3817fSG081TI4Wba4U7iSAQQ2WHT19M9KR9VayiuPJe6NwkuSsmIyScZXpz3HfkehrQ8U3qeD5UdpJriz3LuG4t5Rz1UAk4Gefx/CprviC1kWcStLcebzJtVmI4O3K7fu5HUfhxxXp07ztaPunz1OhUxFT2cKb5VovNvdv8DW0LxjJ4lLW0l3Hp15ZSeXsKkBRsBBIYfKhP90/Si8i8f8AhPxW8r+I4bKzdwyC1j3NAc4yrnOE5GTtwMjgcV51p+raY3id5zbfZomjMFw1vKwVo+SpIAXoe5XufWvW/D15YX+mQtpks32y0jKeW9yVPYADABYHA43Z+nfixuEVH7KcZbppdfM/QuFsFSy2jJqmpV3K+qTtfZXd0tCxJft40t2fUbi5j1WBdsu9cBhhuhxtdGXsCOvvXG+KLOez094UvpZEXIKozKVYHIYDgZDKPUE++a6LVtUuLQb5reOOTAzGoZA3ttJ69eC3Fc9qX9qzTtD9nt7iKZWePdvLwcAkDj3zjNVgqXJtZR7aWXp5E57RlVipTtyrRapJu+ltNu7NTRfH+reXDPeyJZpbvsM/zsjgALkoAQowenQE/StnUYNT8dQSrHHaXEygqsgfbLKVGMjkDLKeM9ec4rkPA+kX9xqM32jTzNfRuUBkUOwbP8LFjuBAzzj8uveT6ncWVwkju9mQwVxGhAPbLEZ6ADt9K5cZSUKidJK6/pba2PY4dqUcLgpezUXUm7t9F3slq/medzajJ4H1RfM1OaFlfDDeFKkfLtbk55wfftzzXqHhb4mG2jD38YureRQzAsIucgZO7APGeATn8ag8TeExqVnJNJbx38Fyob98MCVh1JB4BAbpgZHX25Cw05/A13MiyXQgLH9w8e6IK2eVPO3BA/kO9VVdHG0veXvf121R51bGU41Gnqt2/TordD0LWNOtZrpWR7m0UkMjZ2rD25IJABGPbpiqN9omseFdaSW0v1ntpnxm5yCpIAIDDg9jzx+lS2/jhdGsUlmkiutNlA++oV4wTzsO0KQMjP8AjWpc6tEVWWCwH2Q4UyxlA0XTazAkZHbjv6d/ITqwajJXjtrbX7z43E1p4yt7KEfd5k32eu12c3ceJNR0HxFHLrQlitpk2yMsZdUycq+cldpHHXFdK2kWupQxJbapM3lxmNo5QymDI4IOcFe+O9VdT8Kf8JJpMsT3E6kIQ1tMgaNQf4gy5GMnueM1wF/qur+Abq3SSPLWrcfuVIXAAIQg85GT1HviuinRjidKTUZrp0fbdfkz6fC4WTpS9nZJvRJaLbRaXep09z4NSGJollureeEtgxOCHAwNow2McEjPqPasO5torLUZDDcSvdqQwDuFEhXBBHPDYJPPXmte98c3ut6fGbY3CMp43oh3Duudxxjk4OKzItPvdakx5MJkTBVim0N1GDgnPT3PNdeFdRJuq7f1+R6OZ4V0OSNSSSSS36W1e27E1k2vjCxZFingl3BJB9wq3IBDBvmB468/zrl7SaDwtd3PlytPeRYYpIRGxOSGADfeHA4BP61t6qdS06EJtM0YZVeMHLA9Pl5z09ev6inP4Al8U6tO19b+alxHv8x8l1BBKnbjgZHVcd+wxXdT5YxtOXu9rnxM8NDHY6EKsuWnfVJ6vzf4Ell8b7OS8+y3MixXQb/V8BIsgcYOCFOOdv4V1S/EO2a2SUeZDEvS5jTKw8YxzlsHI56fSuA1HwZpqW6wXvlRiFTHI0WVDDnad3HTgE8/n0Zo2h/2hFDZWF5coIlMTW8k4/fjsA2AWHYjOecfVVsJh5R5or/I+xpZfhMZifq1FONOCu29ktPxfY9Nv9JsjIws2lubd3ygkcsmAccZB2nAz07c+2R4u0NdP8mRBJDb/KW8r5vKIzuBIGCCMjpjNdOI477Ry2majFBACQ/kSoZN4IO0fLg5XOP/AK+KLDTJfEmmzW6XEcwDbQGUIZs/w4APzZzk+n414DxLi7Sei3ve9vPS1z8h4kzB4qpHDR0il1u2l1vpq2YGiQPqWgyCGb7XaABWYIVKg5KnsPqcH8KpeE/Hs/gjV4Bb51bT5wxksoWUSOwIBbaQuSAegOOnXjFbStH1fwZqn2aITSae7bZP33luhHHy5UAZzxzk85HpdltrvTLqaTztillHmykgpk4wXQnggdOnXk4rv9nCUZQm009v6Wx7fDOUxnKn7XVrVq9n31t32ZmeJfFOqx+Ks2ha3guD5TwsWiAGMB8KSN68ZBA69sVlXXiGW11dHlD3YYCSSSMKs3zAbwSuQeMHkj0Ptu6tYDUdVie4+1QsjYmYsSuCcfLztbg5HAP41JPokVrPFmWMaVGdsnnKC6kjBJ+YcEHtmt6c6UWvd6WP23LcPg8uw01yqPNJSk0tl07tvsvmc9qHiWWyut1i+beUhhuAco/uoJLZyOntzVm00661QiWMoomONwZ8QOcgjncMEAdRgZPeu/g+GsN3ZLHZfZHSWIE7fuKPX5eo+pPGRXmupy3Xwl8SeY0RNncfLKEZSoZM/dI5BIPpxxnmtsLiYVk4UvjXTufH8SZ59aqxp4SOjdvN36s2LGKz8K3K3V2LmRYZtrzou4RDhTwrZxhePlOPbt3Gi+JJLS6nitbsz2U67MSOyE4AwVz0bnHTHH4V5rp/xNuLzXriGGWxubC7Uq3lMm+Vc5xuU4DgE8n0+lbUMx1DRngsTPJNa9VciJZF7DI5yDjkE5rnxuElOyrdben/AALM78jyutSjKpiNZ69dF/wbbHd+ItTs9T0bd8kkiJ8x3AM3B9Tyfz/x4aLxlaX0LrZbUnhJ3EONz85B2fxdD344/Cqup3l1ZyRCJAwIdN7M0isOCoX049R7+oymuHgvI55o0jdW27gzjZntgnJHHbGPeqwmAjCLi9bbHm4zJKU8TCtVbk35/j8kR6t4kiuLt42to5Xb92YUKEFcgY2kDHvnHTispZYrOXypkjtoEXMDbdvkjjcgZc8cjv0/TS8R+FJdeuSBA6yOFZXUs+AeMfKclefTvWHF4CSWQJKbuPY4BVpDg4/u5PPHpXuUPZKOjsOhgcPGtK0rXfTWyXT7ytql5peuXscMGqJY3cRJAMgWTOTuCMchwevf8OCZdJ1+58FPLMiyXShmBeE4DAgnLL0z/tDj6VB4h8G20kJ8kJcPFhzBdIGSQdsqcD2yOBVGy0mDQtQEVzprWFpOjLiCR0iGM8rjOGAOcDj2NdK5HCz1XY7K0sNh4zm5NRXom3a297s9u0D4n6R4hjWHWrZYhLnypOoHJ42tuwcY4PT+WL4gs1u5THpu9UgbfFIhLvHjIOcLjDAng4HHvXMeBbi2kuRaabcbLi3JzhsSyc5wh2gMMAkY/keNzxT4stNBit7mPz3uI32FY4lXzgeMEAkBgc9TzivB+qRo1rUr69Ht93mcrpSxaXJBurLaPSK01a6WMqx8RXGj6oT5k5ngKrJtjK5BBAOCe3c4PI6d66u0+J0GlmOe/MFxaXAy7qAGGOp24AJHpkdvw4xvEV5LrC3sg8u3uflYFiksZxjAyuzJzwPzHpJquhQ+HrxLnUrS6vLeba3my5YgE4JJz04Gce9dVbD06jSqLVrpv6I7KGCo0MLKnVlbXW1m3Z9HpZW3Z3Fv8cLLRr0RWt/Hc2srBfLWQoNuMdjtBHGcjr6Vav8AxzZ6mheA20gdBJn5BKAw+cDbkN26/TrWBqfhZYYY7iyZxaTrv8tlAAB4+UH5WxwRxkDHNLZ+HUPkbnEflghvMU74yRgHAYZUg+hwfrXmrDYZJVFv/W54WZrByboU0/eat1bva3T5lqDx1baLCyahawLCw+Vo4kzns20E5yP6dO+z4T8a2d3YBdMu5EWZyIopZGzGWzkZLMCCOxGBzXCnwLJLrvlx3xheePJAiXEYPAbdkgg475Ax2rHsNC1jwRqjhNUmMAYmQYUH5TzhgwAPPbpxXRPA4erFqMtd7dH8jbK8lw0JR5p3ez3t06WPRtT8X6p4e1PejTGJXO6Tycsq/dwMN0wO449u2lrOqp4rsVl3bZ1wuGdlLLgDPpu5PQY/lWFY6p/bkUfkXg+2RxBJA2AbleTjj+IAn8vQitbRtJ+2RBLgO0sZ8tsgIrDt0JIOR1zjmvNnShG0pK0l200/yPr8TPDUW6cUkl23v/w4ljpU8kCvEzBSANyMFLHp64J/DtWJqcOopbu0EoZUbLqi/vGHUHaCM9/0/Db0zT/sF3NGlwZo2cOgZjmP2A9Dz6fSrWpzwSWUkTyeRMchWBYbfbI5xwegwK0jWcJ6K+3Q+IzPMW4OSXNLWyts+hzwtZru0nWOWOG7j+VCSCvbHy9vfn15FZ9r461Dw/4ggS+gwH/1YihLoFP3lVgc/nkYq7d6zHLfL9oRy2MO5BZQCcdm5HT+GtqPQIvFGmrAmI1gYZ2xgKeM/Ke57/l610SlGCvVjo/w9Dgy6jGDdTEL3tG2+i39dTI8QWT+MtSjWBYLKArnYTGH77grDqCOe/XtxVrSvCmh6bpQe7t5Y2hYpKEDvu44Yj1469OfrUl1oA0Wz3GI3KW6hgzKMEAEjK8e/Pr3FUtP1fTrW+dNlvbQuzKUCFUHt0yD83uKz96UOWk3ZdjTFZlUrTcaEnCkrt23fa73b9TXvPAFtollfLa3DeQ0oKsG3IuB/DncSP8APHWsMST+GdawzLeRyHIj813Dkfw8DjpkZ7dc550befU/CWr3CWd1bXWm3DjzIZJQCD904XOMEAcZ7fTDDp1za3siq0NlcMy+UkU5VBzwMEgFcE5HH5ZrClzRT9rLmv16v16qx8fh8FKE4VK0uaSe11du99SKTxPf6dqAKSxaa5IDWzKDEUC4DAA4ye5A9ferdv8AEm8XUBK9tJdwvIscoUHy0bIOQMA/xYHJ7cg1lXt9dQgHUtNhhewkMZeJirJxhgNhYZ79QB25rN8RXLRuJ7CSSJ9/Eq5eQ8jIZkGMkdfUc10xw1OoknFa9V/mj9RyLJI06bqOK5r3b6Wttf7z0K8v9I10Q+aY7NRHsZeyHLDaUJ59MD8OtGoaNpwsfsrSROuxQETA8j145BHpn881zEFlc63pty91aRtJxJGzQjfIMc59Dwax73U7/wAOXMMculx3dspC70dUkC54BU4Kkc9MZwOc1y08HrywnZrpf56NnuVcG8U37OXu+TWvS/oaptrHTLaNoJ3Mtq5UPGTtGG6YJyc+hx+FUfFWhr4pnMljeXAncgmFl2bxjtyeSCcH2FZbeJbptfuYY3jFrdKWSJ0Z5Ij/AMCPykEnv/OtKaybUtDtWVJ4rq3GDNtQSDn1BGQR9enUV6ShOnKM779fXv8AMwlgo4SLhKV5rvra1tfuOX1zwdLFqu67RJhtVXmwEdeMBs+3GeK3vDmo3VmkqrOblIfk+YKZFByQNoHQ47emaurJLqNoyyyzCdSAWdc+aBkZx93sPfP6VdPto4NWimMssU8ny5YBYyT+HBB/nXTOo6kOWa1RMMZ7NOrUfutvT+ti+9zBqD+bPIqMvDb2HI9cEDjJPTpk1Ys9AhiuyiNE/mqGVkYeWOc8AdzwPfPtitCwsXVZF1C1jeSIHMgO4rkYOSqnqcfh70zUdBsJoLWeGeaCS2PDAbgdx6ZA45A/+sa8511flWn4ryPCjjZYzENQdordrVWVk0jlNetbrR9RiksvOngZeVLcR5zx05HTg1AdW1K0u97RgxkhlVU+7jqCCeo56MK7W9gmjt+J2nZWyoZi5BPbj+uazyItTmZLjYplXks2fLzwOdvB49eh6iuqniU4rmjewsRi6dOMpcq5b3v1fT7itpF9FfNHLdWYKSgo/BXH0wDj+VLq/gO08QM8FrKWKurCNyQwI4OCTggrUumadJpF00KXFtc2rl3jMkhLknGQC2OeT1q7qV1ps00EsL/v442RyOrL1+6DjpjJyc4PNYVK0lO9O/6fNHw+JzCti5qnSu22ttku7Oe1P4ZW17ps0huryGezcLtaUuy4x0PzHHB6Yx6jFX9F8O2+laZNFOZZo5BysjNIZPr6fpnvnNaUGnXmnTR3c8a3tneFVkAkCEdvukkDoO56flTbTZfCeqBp53XTrlwoAm+WLPTjOAMEenX60LESmuRzv1X+XyPu8Ji5YPBe0dW/MmtOrfVeSMyK4svABWd4sW0h2SpjcmzpuAGQCOCcc8V20finRtR8JmSK+WW3D7PLcYCAnJG3AP8AEMHOOa5nVtEPha7MbCK9tZyUVWchIyeCMjcBzg46cYBqpPpGjRAG5jaOXG0zWkvIPoWXjoQMHsaVWlCvyzbd97rr8vI+ew2GdWU+dydlbTW7fReXVs7A2GnN4eDANPbNAfKkh5ER5ym0nnHdfpgenK6RfTXlysFm91uVflRo/KaI9d2cnOfrUHhbSrTT5Z4W1G7aJjvQSIDuHXDHjn8PzNWtRSO0mURSOTE/EjYDqM5AIwCOBweOgop0eRyhdu+11/X4HvYPCUqbhW1k4LVtaK1l89NjB8US6paX0ciIzTwDO5FKsCD93knIOOh9atzeMLnxFA5ijmWVDiQPbYeQYI3Agnkhj1Pauy1HSbTxva7LfUGS68vco8pmBI+p4PXv+lVU8GW95pMZuZGivrTo7oEdsHPrggjvk1SxtJqKnGzXl/wNj1vr2Hw85znH3mnyq222trbmBpV1/acSzOvnEbY3mbCspGQDwSOn8jWnFduJWhXUbhprSQJ5TMNwBORhQBxxnjr70adodzZ3EqK0kkMr7gShfevP8JyuP8PyuT6Ql7cbVklguh9x1IQcHBAOOCOeOP51NapBvyPnMZm/JhnUfxPZet/+Ab+i29zdO3mrEEXcd07Kp2kDBGcHHJ7dqhvfLjvfLcxKCACEZTGxB6A8HPNZOheINUh1MJcW0kiRfKWRsEnG07sZ69cdMntXRXEdp4rtPsp3oiZBMqDvwVL4OPxH5V5VRTpzvK1vLWx41LmlScqjSlfprZaavz8ihq2haXqUkS2115aMvEcgynOcgYwScjpin6TNB4UuQtyhW0L7UaAAgEc/MCcgjI4z0NQu8Ph6XypraOS3iYLvDhpTk4Gccjp749+lYet+K20zUrmCaKR9DvtpZn+f7OTkA7uCmPXHpyMVcaVSouRNuPqvw8zloYXEZjXfs21Ti7ybtsl+bOxuPHlvBqyRLBHe6fcZVlYONnzevPHfqB1HpVTXvAGlavY3bWtmVjWVd8NzkYPOSCTtIKtnn2rndQNidIzYX0bw/M6/vzI+7H3QWwAfmOOvf1rR8LeKbqfTYI7uZb/TLyHy3bZh9uMgsA3UDAJ56Gs5YadKKnQbT67628trhnP7mSwuGTjzaq9/JX8273MzXNf0zVZVvI7VVmnQ7SFYLNgHqBnnAAyBzWbpXxEW2kEVxa3DfZ3+Z0jDyxAZ3BCQR/h35rH1+5v/AA75otWafT0G5iyeW4Qk7gDxuGOecY+tXtI0i81+1W4ssWskSZJUDBw3BIyVYEEDGM817n1elGn72q6Xe3+R7UMrpTxsKdXR7vXZaX+bf4HXX3jOz8RxNKCBEqqxSbCuvJIYgnaR7jP+NbXfD8tlpk8mm28aI6idUjJHkk9TgZUjnqBge1VtE0saXFCNQEZhZSpjMgjEDE9iM5Hf29qWbW7fwrpnmC4kjjjbyHaPAZAehDAg+nbNeeockkqT2fyf9WPvMOoYmDo4ZXjZ92m7a+djH0/xdqnh+JH1K0le3lONw+fZ0yu5eB0BwR68VYvLKCadGt5JGhP3R5jEfoT83XtT7a8uJmure0vLySynbPlzfNnPI5P9PT0xVdoQp/diaOcEjDPgN+I/zz2rqprmm52t6f5dD2cVOOX4SNFJcySvbp9/3k9/oiXkMPlxOlwBgkKVPfJA/Pn2PSodP1W90YLAxErn7pdf3hPpj1H9KsabrNzceZFBMFnGMoxwHIOccHBP+e3E13E89z512tvknrMwwn0GMdR1zWnO17k1dHxFKXtOatXfxb93/wAArPqD6tIJZZJIblDghFIDD345HvV8eFIL5GZ44GuNu7ao+bj3JzmrUug/brZlVGhmKZQoMg8Hoepx7Ht61RtZJI44i3npcW+UfqNvOMgjkj/GsvaXX7t2seLmOOni8QsPQ0gt7fLT7inaJLHcTpvYhDjyWXDJ1PBYcj/PpmzLqqyac8aKIbiJ8hSynII7q3ygDnvxxVbVobzUWlCyKoVwwJI+U9c7Qfb8Kr31jcaPu+22yrG44f5iAR79vYDNbcsZtX37f1uetKlDBYGXO/ekmklvq/kdrpuk3Go6aXmto4AWw7xlWWPHfgn0HQnpXIeL9Bu/D14GtI0uYXUHhwgPAzx3yD+g45Favw/8SNdI8enIjwoP3kYdt5GeRyeeO2CeKueJrq2iRZVjZWRirApIQMZ56Hn39+o7cVKVSlXcJK6fT+nc8jE+0qYSPPHXsunr5nDTWlv4lsR5sUcUiHDbn6DkcduPWqk99qngCNL2BJbmzcDbJHJmQDIypHB9ffP6XmuX0rUi89oslvKSQACPf7vr+PpVq900HThJHLcGzugSeu2PscY4445zXsqdmoy1i+nT5HFltByjLn8/RvbTyRq6F8WL/SNHikmtIZ4JBwwhwfTsTyMDnH6VT1z4kHxBoU3nIjSBQ211G4eoUc+o78ZPTtl6FoVx4XkJa6mnglThJiAQD1A4APH+c1r28VlDZwS3VtLJC0e2RocN5Z6ZPOPb8etcksPh4TdRRvrpY97M54KhhIU+VOVrad9FZLsu5pWcTeNvDcLSQq1oY1Z1wCFx/Ec9R2z17dK5rU/h8dE1AtafareOXDgISAh9RjKkfyrpPh8DourQwWd9cG1mVjCkmFRSTkr3zkEnHOPbPPXyaBNrNmXtVnF1agrKvlBXiH94EYyPqM5HPNcM8e8NUcdov9e5yYHMrUIwVlbdedup5JDo2sW8pUNdFAQQSpG3AGVyh749M9eK29M06fUbAQKJS0JIZMttYYAOCCeeOuOeK3p7aczGIXNzbXaHhTHgMB36nJweuO1UYr5I75BMJLeSNyr/ADAb8jtjuevPJz25rrlipVFdJf1/XQ0xWcTpQcbJR6/11ZDbXr6JJA22SPYdnKNlAd3I/Ef/AKq7zRYNN8S2ABnkNwT8rsMMenAGQc9emOn5Z93NalJFt5Y5JziUJIwBkwfu7QeD7Z9OuMDV03xjbSieNbO0hmTkLIRjuBt456c4I9uK8LGYidVXhFprre35nxyziticZKNKLta17pX+/wBEZuoWsmgmRpLqRYlwpkVGIOQMblIz2wTUtkmn6/eJPaMn2pRkkncAccjBwc5GM4J/GtubV7fxzpj28tslpuU4mihUAHrgEYJH8vXNeYWeov4W16KGwbMFrkT+eCRGCSSFPO5SOO/pxUYaM68WnpNfd8y8VgarrUoS2Vm10Wqtd97HQ6t9rn1wwbxEgXgHG+MnrtyOQcZ5+lS6rfC7sknfZviYK0ysCTnONy9ARk5OcD0qHxBrsepwqJhbx2iyAiaAhthznJAOfX3Ge3NUE0+5X7VHbQ+bZGT7nOxO/GeOeeP/AK1dlOneMXPS39PX9D38Flkm5OVkru3+bfV9kLqsdpd5uMw2iQSBJmWVRtXjGRzjnH5Go9T0KPWtMEFtdTywxnBjd9pc8dB/EGB449KyTay6dc+fBpwS1ORIApyD3IyeeMdu30rTu7hrG2R4R5K4wXVG2uBnHOP17g9ua63BxceSX9fifQRUMFhpqLvJ/h5nPSfDKTSiggt4prSXcGJcARd8rzxj6evSuc8L+JtV+HW9DIbqzguArRgfOVUj+HAOcHoMcqfbHpEeoaiXidYkngmP+qxjJBPbjB9Pp6jjA1PSNNs9UlvLie5UXDL5gl+WNOx4UHoCOc89B2rrp4hybhXXNftr/wAMfCY6tOtVjVrO7bsrau1vwXW469zoHnxQzXscEW5PKmXzBGCSQTu4KYOD6Y9KdpXia+tpJLe1soY2hQKZOYvKyMZ3JwQSOmAPXBpNe01fHNsbjT9T/wBJXEsYU5Rs9RuJwQf0z3rl/wDhJdSVgPs10l7afI5YFGiBHODnkY/Hr9RpSoxqxs9+tz7DLconPESryXNKWivdWXW/fodrYaxerGHvrVHUjbIBMJdu3GNuDkdCRnJ5HtVPUfC9w+qTtFItzZ3WJFJIySFHQgnn2IrB8MeKp9UvyJSk08LbQ6ElwDnPG888c5xn0r0yx0y/uVQ+TbMjDhm43Ed+4zjHauDEqVCpd2St8ujP0eWJo5PgPZ3j7SVvklulqcxpWnFrRYijpJHlXZTtD9/Xk9M+9b1josfiPTAsbiS6iHEc6gbh2weueD0NayWG+6ETwxBCwDxqpYscgE4I/oD/AEo6pZXuhak7QJKYsbRtxk8n+HH6j6fTnlifaO0XZ7o/NMbnNXF1nZ6R0evlu/Oxjz2X/CM6jHNcxRQTqcBix+Xtg8D5SQP88V1MdxH4gYx3UUUrSAGMqPuDGOvIx79Oax721GrWjvPFiRVO4DcjgdeMgA9jj2PfiqFrph02ONrF54DC3BOV4I5ySOc+9VOKqxTbtJdTxq8vZQ5HK8pa36Jdl2NK60m3hZRDBNasp27QCyYycEH7pH0NQ3bvamV1uT+4YFlZCAPwIA/DOOfWpptTkuWZoljMqfNJGIgC3v78+4xV1Lj7bGJpY0j+RlDo4DpxjocHByay5pRS5tf68zoyzDWquUu9l3btr/wSsdTt7mNbiayQNNHt8wIdrYGMFQvsT6VgavYyaxC8VrJ5MXpxkkcAgnjvWyJg1rGJJ55o1zw4zjk8bgTkHFXprGGKIXVqpSQfKdjc+/6eua0pVFSaa+XY9HMK0adrrmnJXS6K+vU84s45vDusRXUcki3CEK7dRJz3HOT+fWuyttfhinje/VpYZxu+8EI6Dofb+XpRe6cNS8ySU7y4LA8bj649+TXNXtpfaUMxBrm3bJyw2nqemevT1/lXe3DEfFo/62Z5Mqk3R9nzebf3XSfY2dZNl4eu/N866mtbhs4lRRs7EEgduDVW+159GctBcJeWjsNqSx4EZHBx1HTB9Kk0zTV1aBIhJjzzgru+6SMg8jH1q/ZfCWIXbxX0DSSJ3jkAK9CCOMY+hrJ1aFLStK7+Wp0UoYLC0nKvK7lbTS7b6LayKFtrMV/bo13byiEoyswGfKzkjgjAU5xVPSvDyw6i0NlMyLsO6NiyBTgYO5eCp44xg47VvQeAW07V3hivrgQlv3aE8pkYKjnkfXpmqOoaBqvgvxTbXKeY8QBXfIDlAwwcY6jGf1qfrNNtxpS1ey/4c8DNc1hUqxhSeqaVvuv9yOZ1bxdqfgidHtrnUbe5smEpjTMivtxkKN2BwCec9ee1es+Gviva/FCMvpdzHa6syCYIJQn2tQBnAV8BsHPPX2ANUT4ePxEVnaKCOSNfKkliwZeQR03YByOQSDjsa5zTfAUHgrXYYZolhu7cbEmCFBKck5OMgnaF5xmuLE/VcTHVWqR7a/f3Xc1o4rCYWU6klzSbSilrquvTuenWGnQ/EKxieeCP+00PkSeS4hdsE/MRvOeceuf1rnPEfgCO1klEb+Y4cForohXC5HC9yevAJrNttfhikYfaVQbiZAyHkhsE8jOQOvyg9eD2zfHniYalbyR22pTm+iVk5Y7XIyRhSMnp9fQ1xYfBYmNXlpytF9LPT/gHFjMBj8ThuWOj0bVu+130duh0cPhjT715Y5UTTriFdynBynABHOMISOx+maW6u2srpRdurWOQnmuoKxAjB+YZO0g9TkDvjg14/F8Z5NP1WGfUfMjPKSgB4mkXrlSVVSMdAcnj8u/0q803xPZqNKmnSND90gR7AR1ywy3Xp164x37qmWV6KTrttP5pej6HrcPcM1qPvV5Pnb0utFfW9313Nq7vlvFlg03akSH50ILgEEkbexXGR/nFF6seoWUU9zCq2tuSrycfIOeCDjv26c9q5fVtNsBPJshlhaLiQKgwx6dc5z9SO1QeGtS825WKW4eKyn3K0uVDpx155PUjr9cdrWD9zng9tfP7+rPVxmCVXFxwtGVoRe73vpq+7etkb2oNYaHestlp1vPp8oAMoDHcPunKqpHT2P16VXuddh0OaQ2Er20EZIkhRjgFcY2++DkfrxVe+jktozDYX0skUWQJJipkRgxyNwY7lOPu1cg8Sx3VnFHeRwjI+zyhY9rMcdRhj2HXGfpTjT91N+8uuv3XTPZqUIU5SUU7r4U227vdvzf4Ghf6hHd2MdxEy3lrMoJlAXKkkjB5OcEj1rAllvtMidbVna2ds7G/dyDkA9eOnbnp71JDrkfhyV4DdtcWMrGWLc4GefmAycgjrjaO/wCDtP1i1vJXEUquxUqS+5N/XjI4P174q6VNwTsrr+vxMMdRlBR5odNb9/M5i4e/0i8kVNRuY3mJxHMqgLxtILKDgZA45z9M1Nol3q3ie2lj1q0knRJsNNsCL6fLwQeCP8kVveI5LOxjkMj2ysWAXbOEIzyCoIAPbPf9McLqHxOPhTW5I9RePTYWkGyWNt20FV2scgZU45IP5d/RouVVXhFX79flbU+fjTrzrqdGmrRur2XzsvK1rlpfBGs/D682xx2SackxKOzGRrfpgKoIIHA6rTbvw5rZ15JIJEmtpVBGJmO/I6Y6Z5PGMV6ZnT9W16SOxjmvNPvAWQmM/IpOQuccEDOKv2vhaC4Itnt57e4syUByIS4PIC465H51wf2u0lOotWtdPzW977n2+IziGT0fZ1UnUTvttf53vY8vt18q7C3dqiyrxuUGOM46ZBOPrwefrmu++HGvR6vZzWkEkc11AwxF5ilyAOCoJ5xjGBz/AE1NT8I2nji18myndryI7mMr7SQeMen1HU+leeR3l34E8YqlxEltexMYnSRisUvcHDY4OByPXv0qZ14YynKEdJro/wDLsfAYvMq2LxSnJNuTsl67X7XO88QS31rqyuZYICCFMYdSWHYkdPrg/lUN9ql091PBAI1l5bYgGMcZxg89f/r1A2uReLdVMF7ZxESrgxOpeJMgjCkNg+v3R2p0Hg+HUJI/syTWEkBKspwoBBK4B6HI9RXFBRgl7VWaXbT8z3MTh6GDpTjWa3u2loum+7GnWbrURGsi3cLufLyqhihPY5JOPb9arQ2b2c0cdzcTQwMGwpLMuec5zx/IVuXNtdeD9Na5WRpAjgF9oZcdB1wB2Ht/Lr7e/wBE8U2qtdQtDO0fzGQKkT4J53DPOCPXH1rjq5iqesI3j3W/3WPjKGZvMMeqNCOitqt2r9E/Q871AtpFwHG9YxnyplUSIB3C5JIIAHb0qrZJP4nSWO3MsjRDIlK5lXt0/rjj17Vr6h4AuLLKadcq1hM5ZVSVMqc5K5A5GDkA+1LpGkrpuqwSK0qXKsUbawAcEcDrgNkV2RxNOUOaDTf9bn3ssVRyqlGc0pVJLbe197mNY6Pc6fbg3jyyQbMH5SCD1JwTwePSt/wfcwwBo3czxv8AwlD8w+nAPH8hUmpXU2la8JLpJbiGYh25+YDoeDxn8eaz5fHWleENZiMt9N9imyMHKyDnkLgnnOOwFZVqtWtBqMbt66f8NufnOYZriJ4iUtZSvbTp2S07HWX+lx6TGJptPjmtmGBII8PGp+v1z9ayPEVvZXtoFAhxyFDxhXQ8Zx1znP8AjXR6F450a0TzBdX8lpOwGyWEBlJHII3Ybt0HGK6YeH9C8Q2KM1zatmP70Z2OCBj7h4Jx6H+dfPTzOWFmnWjL1s/y6WO3BVIr+JFt7LR6u/Rep4XIJdBlR/LVEQKRt6Nzx364rovB/iu38Ru8caXNveBjs3oQpIzkBi3zAjHt+Vauo+CtIurq4itdXKOy58tlCgYzwecEcdK8t12e88I3MM1rdXmYZd5UxrH5wDHKrgjJ2nPAPIGea+lpSp46No6S801990c8qM69eLs9Lt3TSVvK2rSeh2PjTxfBBO/7lo76ybKTt8xG3BGF4PYdM/4aul+KNI+JXhvyGeSyv44lkBad3E52n5QM4B5ODgj+vHeOvEemfEPSJPsl7LBqUcZ/cy2rJ5ozkbTg4I57/p0xPAeoWviLw7brczi01TTC1sWP7ktjgAY4568HBq1lkJUozfNGUfXT790/wPUo8PqGZOCT5pKy33bWuq1aOhs76aGGb7NaxCREO58bVyOhOePrx1rm9b8ew+IbpYJb6CLUIP3b28EqkvjkELkdOehyM/lz3iFvEOn64xF61xBv3rLEh8woSRtJbcoB9Opz0FO1nwxD4h0qRjIlpfAZiZFAO9TkYz1P4jrxnAFe5h8JTjabs09n/mfY1OGsPlmEjTqtSrP4UtX3Td/zOw0VobrVUD39wkR+WSF3U5GPl4PTHPT9Kp68dJ8K+K5fLdRDJ87bSAEU8ZyDyRx68Vwdl4r8SaRcRR6tpNrJbSOImZzIEy3GMZ/HGRW9rljpXjG1hkt47ewMZy+Zfmc9CFY8sCvP4d61eH5K15N8rVtLHfTytfUWq0+XVSdrOyXe2rfZGre/YNYvooI5ZhZXYA5AYxuT0DcnHfBB7dqn8HaHb+EbsCO+uLazlZlQhzLEhG4EHcfl5B9h096wPD9nY+G3liQWkcAdDK0MgLOMfKzLwAegJ56du0kfjnT9D1W6s5PKSykwZo0TJHJ+f7pxncPp70VKU5QdOF2vz/4J5OSe1zDFe0w3MqUG9Wlstm7d7HT+LvEK6RqA8yQy2rsfKaKMOHA/hX5jggAf56c1ruu6Nau0q/aJ4FIcM8RZ4yeCGCgnqT2wMce+pqvhrTdT0KGfTtWkWJiHWKK5TeCMErgLg5UnGRnj6V1ng34cTR6dHMFivbSVTGZiqxM6kcrlf4gffmuNYmjRpqUnrtba9v1Pcr1cvwOJSqt80rOKWj11bfc5KLytciint4387bgtGcp3yWH8OO+Qapv4L1m81As1+kk0jA+THCMyADrhxluD1GP6DoLHwVqPg3xJKLB2lsrtxN/x8H3H908npg9e4q+kksc8qQ3LJdRDiNiwQ4POAPpnPFU8Vyu9Jpq2nX7+w8PmTnJKlFObd3fV26LyVupzJ8Gz3l00bGGC9t3XKSPmQrjGRyBj39ewzijT76y0TV2h1i0ilXdtUmBA6nHO3II5BrS8SazdsYLi+s5TKGw0yKVZsjHbGR07Dp681x/jZ2v2jEVzfRQKwbdk5UjgEjOemQcfrXVh4yqx5amz7dH5M8jNKWMzCq7ytrdtdvJno0mr+EtSjZrLyLO63I21tpEhU8gnGQcegP61o6j8I7bxjoEi6f8AYriQbmWNnbKg5DD5gdw6dscnivF5RchJzDCkzSASMQehxjr0OR/+virvwz+OK+CNYha9tibRWG9CQrAZIYLjBORnoDjPSsa+U16cOfCzbktbPW/kceKwk6VaNKjJ2ejvq3re56b4J+LOo+FtJgsd82rWtkipDFLHnav9zcMkgY/D8K7vTvi/o/iWeNb/AE+CyK7QdsmZE5OMKR6djj8eK4TQ9Skn8i7ss/ZpmDSAgiQe4U57e5/wpahZRaVqbzLF57bs+Zt2j72fmyQpGOPYjuK8KvluErzcnDlk+qdnfztZHxWDw1OpSWJqKzvda67aX6I9J12/03w1dx3batbpajCgb929cYG4HjnPJUjGOM81LfaB4f8AiGUmt38yfGySFMbG5yCAuDn3561xtibG7trm1uIIJ5H5QRHdCVJAOACxDD8uasvqOqaUscUNgiQQNs8xWZXxnswB5H1/KvPeAlGzpyakursk1+p3xwywvNKm25LW7aSTb6eiR0+m/CLTb+wFxZo2n3FpiMqJhgsD/dY9sdAR9Kh8Q6iNCgP2ibbeWeFaII3zgDO4gtjOO27n8a5S58aa1oDyXhlmKsWLs8QVmIB4bDZzxzxnmmeIfiSl4kpNtG7yJ5eUg/1TDOB64OTjjpjpTp5bi5zTqz549Lbryu+hz0+H8fmFNe2k5OXZ6u+2r20Ogn1O+1/SbiK0bfG7hhGkjR7MHumcY4P459q5nSNbk0fxEYruZ7iLAHkKrEnjnBZiOQe/9TXGaF8TrrV9ajsmurZIgWzC8KiTIPOMt/tZzyff165fh3qd54gjuli82CRA0VwoGFOMsHIxxjGep44NepLBQw0ZUqtkpLQ/RuHcgoZTCNfEyUJxaVluutrtbvyLOp+LD4c0+VLEK2nhgfLliLBBjqpOf/HeBVzTvHxh0tpriwkms42y5WIOyHd/sgEdMgfoeKytT09dP0GeC9WOO4tyUYs7DzAOmAxPp0z/APW4STxbNpN1dQ6fqDmFm3NFvEULqSAQGBPPXjGOOa3pZfTxELJa337+d118z5XiChPMccoYaPupat93+vY9h8YeOtGTR7a7lgZ9MmIjlmnhX5R0zwDgjI7VxvxQ8K2U2hDULHUIZLd+s0BjLqpPJ2gfr9OawT4zl0rSDFqPlXEUqtjEhKpng4Izz0OR+HNdB4bl02fTTHLJGs7QnDxGKTORxlgu5V4Az3B7UUcDPB2nC+jfndf5+Y8ZllDL6bjFXfKkut5Pf7jO8PeEbHUvDInaaS48+MKZlT5A3p2z1HGfwrpPBvhK5sru1a3LyqrDDoUDwEHn1J9QM/jXP+F9ZjsLyaziaSFfMaJoVUkA9BhgOOOeQTWneeJ7rT9S229zayXMTny2UAuuOgIwCDjIzxnA5BrTFe3qKVO+/cWU4vGRjGp1SS1+/wAuxueLvAOqr4gNxHaXGoyFlcTmDcpGeCT6flWBqHh6TV7m5tmjiGoEq6RSQhfMx2BZiuSDnPAziu0j+LWo2s1pdvevbRTru2NncrHGQRnHU9ye/UV0Nsll8VI1SdYILyEt5V3Cp685DAnOCOuD+deGsfisLFSrxXKla66W7q2q9DfE4uo5uE7JTluu3l63PFvELXK2kbyxzxPbZj3YDLgZBHGcjjkfyqp4Y8F2WoXtxNHEJJEmR1DT+x42dgAPQfjxXpfxF8C3GhujK0kpZwzYz+9Geqgnnp69Tj6cDa3w8GavcTPlQSG2ldpjOcc9ivX2H0r3cLjFiMPei99vvPUwtepDMY1KKatoktG21+HmdHLp2raHFJBe29pDZbQEMkoKKo6Ej0OeTxXIX+tX1hqisljHFbyOUfycSRDnOVPGOv69a1pfiDBZ+IoW1IySWE7jaYiPKUNwQcFsEE9vpmtfxDpaXNw6acRND1B8w8gjs4HB4pUZSoySqxXvK99l+e48TCSqVMRWSc1K3kk3fru9DBfwsfFNsUupoZIJkAby5h8vcY689u2aRvhZpg0OQ3FmyNGQolVCN2OQSQQCR6g/zq/pl3/wit0l5eWlzHZbStxsOGBCk5PvweeauWfizRdJZgXu30y7+VkELgRMM9Rj074HbpjNFTEV07Ur28vxXqfPY7OsRiF7KjJxhqm0tLJb/LY881f4PW2rXQfS7C3e5ilDRzLdtDJwehGc7TjlTjqa9G0L4Pwa7opu301Y57dBHIoVg3GQScllGQT1x0HXNXvF9ppF34WW6srv7GqK5LvCWdWGBgdMcNkHOad8P737VGlw+pK9yItrNu2o5CnO4Dr78nnODXLi8yxFSjzwbXLfdO+nTtqb5fmeMr4yll1FuNJ2bvdtpbPe2pxPiXwDq3gG3kjtjA2mz9IgxKRgjBwSDkH0zjpWb4B8V3vhoz2t1PcXVjHIVECKzlAWPA2gdOw4/HivR/ENqmqeFvIaJ2UEZUM6GTGegf3AwPT0rhYfA8+m6o5s1vVEhB5KpHjPTeBxgdie1d+FxMa1Bxr25vS23X1PpIQUcyhiKzSstNEmrr52Ide8cxWeoIqbkhVhhpkIBXkYY5AB57D1681t6H8RYv7QM11p0kaOognaFEY567gAOOo/x71Jr/hr+0nIvEP2pFysq4UEfRRt9M9frWPZWtxBdAAG0CEh2dVJ9stjkdO2cGtFGhVpWa1t3/L/AIY6K2Iw0as+SPup3bv18mdDPFaa5aSrDJE1q5wGeAHYc9D1z9B2+tSDwbYy20fEDkDaQFUMhH0H+fWl0qzOpwSpIGwzfOC5POO2Ohrb0HSltrhxPHbklygYSjdkDgEdQew9favOq1/ZK0ZO/Y+NzPO1zqnSbSeiStffqzmtS8NNprLcRu8oTCllUOqc+vbp/wDWrmvEnw/jvtXmm2x3PngH/Vj51HpuJGea9SOpm1mltUUPbzZ+S4kwwPcDp39Se/rWP45slttKjupCP9FbMbQkEY6lSSQenHX1qsPmNWMkno3+R5OJxdalBy2la/dr5LyHSeCU8CGOVdUeS2JKbCAHj9vmz8pxyRz9B0u/bdOu52SYxvAmdyPgyJ1yFJ4PbjPcjrVvxH4q+0C7F7BHGYvuy7gWhBzxgHcMEfh65rm3TQtVuLdruSXT7hJQm6GNVQ7jtADE4ORxjkn2rgoudSmqle911Wv5GtXL54KNsQ3aNrtK6utHZLfXqXrn4d+ePO0uPyrJudo4wepOSMAc+/pUzWN34amjIl84SrvFs7B43LbvlCngMCT0wMGk+wNpV80GhajcXEsJLRwt8qlc7tqqc/w7ug4/WqOq+JXsrq1l1+G4tIw3ls0EJme3bJxgkdO/tVc1Wpo2pRts1q+109TbLsvr5lW9nJ2pJpta8zbe3yNKy8S6d4pQBrU20NxiOWIxJF5TbcEA/MM+314rnr74U25M0VhdzwKsilWhuVXGB6DsenAz7EcVoafYW2q3k8aSXErFvkfywkjtjIyclWypHQHp3GK34/DCNpyTxRxr5Z+dwWJxzn5wuAfX19uaU6yw+lNtXto/w/yP0zLqtHDLmXuuKdl26d7+h5Nr3hGVdSK6jawCSBvnZCC2PmG4npgnPJz17EVueCPidrHgzxHDaRTSx2N3KDHtlIRGXouDjIxn5QOqke43da0eHT9SZRIlzJIC0QlJBwP4fb2HYfSsa8gl1y+tzcW0JO/IIkLD03AL3B6nPPavYlWhiKSjWimrdf0TPkK2KnisRetrFS3ei31sm+i7nX+I9csdb8QMbm2hM0p2MYw4+VgOSOuDjrjnjgCuW8T+AbG51dZbeyjj8xeNwA+ccNweAenXmtufw1NZ6sl3NZzxOcESgBiRj5gCcdD7cA+tXPEC/aIw0wMNxbFW5ICFT0ZjnJyODj29a8zD1VQcVSlpa29zZ4qlWqVp4d+6pd+3ZHnyaDaJDcWU0K29zaAskZ+YHr3OR0zx7YqhpOgaBqWur9nkfS762/egQZR2Un5vlOQVyevQelegeKPCuh6uI5dTgkguUYENbxZAzj5s53Y7+oBry7V/BNpc6qzabNPbXdtITbTRzHzSSAcE5GQe4PT+ft4TEKvF3lKL/D/hjjlSniq8JKUrOSV7aWT8+nmHiLxDceFfFMsFne3huYds6RzKA5AwQCqnGDjHfBHvXaXnj6DxPof2ibTpbLV0wrtHlEuBjggjjcR3xzxxXnvjGO/1uK3+2ReXqNmDHFMyEnuRyDzx2weB6ZFafgQatq+lfYrp/s0qIygxv0IJGVOBxx355+prrrYSnKnGpO3NHrf/AC3T7HXWoYXD1atKbXK03dvd9tD0Dw/rja34WlF9bwF4HIadP3e5SM5YdPxPcdBWPa65qnhPXoJNJluXsbsEDEDMVGQR8u4HGP7uOR3qt4c8P6/4e1BmF3JdWV6hDRuCzBuCvyk8E7T06fhUmoade29uMX86SxygmILnaDnG1QDnryc89OleaqNPmlC6cZdN1r5dNTTCUacqEMVK0pL4V00d1p6M9O0Txk+o6YqXt86urlMSJtMTY9Dn5Djkjnp0riPEhnt9cnlls/7QUAhZnQEqpPKrk89u9ZmgeMdV0bWrw3NrLdGOQAiaPaVU5BAOc/4cc13M1/PrulYSwW2KjKxqq4XPGA2eh9PX8q8qOGeErXilyvzXXX1PpPYqhh3WaTqSb1ulZLTTrocTquinVLYxpBCkBy4hKjKnqQMg9z7mtvRC9pp3mosVtcInyxM+4SjByApyAR7YH0qosbrFJErx217b/ciLhN3U4APJ4z06e1TeF9Z06TU0TVozbBVZJPs6HdCcn5gXGMHP9evTsxE5ODVrpdtW/wDhz8rznNJTq+zbtBPW3VvRJehvaH4httZurdZljjM3Dr5SovTOB1BbpxnPBrX/AOFfaRbrcwpd3MpLL91hFsyCOQo5z06Vz3iHw7o1vqUZtLi7Jjb91cMAJQ2D/dO0hgR27emK2JNSl0aKGaT7HKFhYfaIn/eFQTnLBeCO/XOeo5rwqznNr6u2k+lrHy9KtVxFedCkmorSyVm1azV+z30BPBMqaTc2FzFGtrcRt1QEqWDHcGz0Prg++MVwfg/Qdf0W5ktIIXT7JJs3+cyyOM4U7cAkY/u+n0rvdL8fzzWrW8eJVDHy/tKbMYGRj0PQjH157Z7/ABCiv7yGPVFs43Zti3AlMjQ9RnA4HPXB55wK6MPVxUeaMoqV9/8Ahj9byTAV8HShjKsVfl5Vfon1+SKllJfWzhLyTbDJ8rnYznnoWxz2xnBzx0HSu+urpF4GmuJfsynOdgBHqPmAUHj610MgjZJnnu42kiYfvFfLSDHO1gOSDj0IyBkmua8RalcZvIUZJbePDESHAXJ+8SScjBA4/SuihJVJcrX9fd5jVGrjpOqlaMXvslbtdGl4gnlgTdA0ZtxzC6OH3KeSPTkdvyFOufDFt4p0mO6t2aC7TDAqxV8dCMdD3+lc3HqEmn2PkS/IVIMRiJZYj14JPTnv0/Ck0/xxq2gXYjnt1a2lLbJVmAdWxkA9ufTJroeFqqK9m9V+P9dTw82nN1HChZRtq77v5/iXoU1DwpqhaQsbV1yzHAkTGCPu9M9PXINb9pLa3iTC0juxcqwcXALATLgfdGQNxGeT144Nc9Z+JoNZZxNBAFAdFcv5gY9QN394A8jB6fStLQdY0/U9EigS/NhLAjJhJDwQW5BHBHHseR05rnxFOdueUXfrbb523Pg6dWcKkqlRa67bLZed3udX/bOn6vYp5mm73QiKUiUxu2cnODxn15/KrCaBperaLPCdPuxDcq2GO9miOeAB/hjofSqGnPHqEkUcMokv3UlZZJcsSMFcg4Az7GuiS+tJ9PVvtcktzjDwGJmDcE/KApB6HncR6GvmMRWdJ+5zLru3b5dF2DC1p4jEOjRTlOSSSu73fdbLTc8bkv28aW7PqNxcx6rAu2XeuAww3Q42ujL2BHX3rjfFFnPZ6e8KX0siLkFUZlKsDkMBwMhlHqCffNdFq2qXFoN81vHG+BmNQyBvbaT168FuK57Uv7VmnaH7Pb3EUys8e7eXg4BIHHvnGa/RsFS5Phso9tLL08j9fz2lKslKpay0WqSbvpbTbuzU0Xx/q3lwz3siWaW77DP87I4AC5KAEKMHp0BP0rZ1GDU/HUEqxx2lxMoKrIH2yylRjI5AyynjPXnOK5DwPpF/cajN9o08zX0blAZFDsGz/CxY7gQM84/Lr3k+p3FlcJI7vZkMFcRoQD2yxGegA7fSuXGUlConSSuv6W2tj2OHalHC4KXs1F1Ju7fRd7Jav5nnc2oyeB9UXzNTmhZXww3hSpHy7W5OecH37c816h4W+Jhtow9/GLq3kUMwLCLnIGTuwDxngE5/GoPE3hMalZyTSW8d/BcqG/fDAlYdSQeAQG6YGR19uQsNOfwNdzIsl0ICx/cPHuiCtnlTztwQP5DvVVXRxtL3l739dtUedWxlONRp6rdv06K3Q9C1jTrWa6Vke5tFJDI2dqw9uSCQARj26YqjfaJrHhXWkltL9Z7aZ8ZucgqSACAw4PY88fpUtv44XRrFJZpIrrTZQPvqFeME87DtCkDIz/jWpc6tEVWWCwH2Q4UyxlA0XTazAkZHbjv6d/ITqwajJXjtrbX7z43E1p4yt7KEfd5k32eu12c3ceJNR0HxFHLrQlitpk2yMsZdUycq+cldpHHXFdK2kWupQxJbapM3lxmNo5QymDI4IOcFe+O9VdT8Kf8ACSaTLE9xOpCENbTIGjUH+IMuRjJ7njNcBf6rq/gG6t0kjy1q3H7lSFwACEIPORk9R74rop0Y4nSk1Ga6dH23X5M+nwuFk6UvZ2Sb0SWi20Wl3qdPc+DUhiaJZbq3nhLYMTghwMDaMNjHBIz6j2rDubaKy1GQw3Er3akMA7hRIVwQRzw2CTz15rXvfHN7renxm2NwjKeN6Idw7rnccY5ODisyLT73WpMeTCZEwVYptDdRg4Jz09zzXXhXUSbqu39fkejmeFdDkjUkkkkt+ltXtuxNZNr4wsWRYp4JdwSQfcKtyAQwb5geOvP865e0mg8LXdz5crT3kWGKSERsTkhgA33hwOAT+tbeqnUtOhCbTNGGVXjBywPT5ec9PXr+opz+AJfFOrTtfW/mpcR7/MfJdQQSp244GR1XHfsMV3U+WMbTl7va58TPDQx2OhCrLlp31Ser83+BJZfG+zkvPstzIsV0G/1fASLIHGDghTjnb+FdUvxDtmtklHmQxL0uY0ysPGMc5bByOen0rgNR8GaalusF75UYhUxyNFlQw52ndx04BPP59GaNof8AaEUNlYXlygiUxNbyTj9+OwDYBYdiM55x9VWwmHlHmiv8j7Gll+ExmJeGopxpwV23slp+L7Hqtx4wh+Klm0EMuL+1YhLlxvaMHd8u4rhkIB4yP6VysOq6z4CvcXLW8ulhik0kaldvU5UdM8fj9TWXo5/4RLUEJtVS3hYKiQuWi6cqVHfrwTgetdZca+13cuj2dvLp8xMg37j5A7468YP86876vHCpxir03rrbT0ZjxHmuHwuDlOhG0I6Ju17dX5tsl1fw0vixIZ7XNzCcus6bjIB0+7tOBjPr147VTm8BWdpq7meFDeW+YmcOYy2CORzg5Ujt9QK3La9tNJ09Et4pLYxHy5fl+br0UhuQQB19u3FWp7iXVLaV7S6nmDuCjbCY29Q7c8jAyMfSvNji6/MlFuMPx+dvyPxV4rF5niYxppxg9Uvlu3+hyXiM3HhG9EkM73mi3hw8u/BhGMEEhj0OOOe9bc2jSw6ECkMd7Ch8wNO3luSCoYFWAycZ4BP05Fc9rMd3oeoPFqMC32n3j4e3BKhyAdxxgYIUn0z39RsJ5Wu6UbO032bws6hpgdsSn5Vx6DI7Y9K66raUXvrq0tH621ufoPBeW+1xVdpLlgtZeel/Vl7RNAj1F3t0vGsrt/3ywuAkasOOSCcKcD8xgnFQSzf2fMxurMffEbvINmcYBAIGGH5j6ViXt7ZaJJa3FxcCS6VgvmqwKgg5+U7VVhzyME/jVTWtWtn1KR0lW0i6Ps2h0Oflcq2BtPsfy760sNOU3Ju6fl27WPtc+o1Z4WFO7Ub9rb66LfQ7vQNV08agmLdYlQ7JlcEoFOdrlc4xjIzn+tT+Kra9t5W8qO1A2mJuo2+h3DgjGMDGPXFc/wCG44rwxFr5JInTa8UrBVw2AfmXjGTnBPHr3r0CTw5p1/pYuIylyOgQkFoD3CMCAeD6jpyAenj4yccPXjJ3aenVmWFrUI4b2Mbt3Vt3+dtO55Brl3PYCCR44rVxuV9j7icYBA56fL6d+O1Vlu7yKSbyLyK5hmUFXDoCCoAwDnAbnuO3UV2Hizwfaw3ZhkaVoZjwGZWwD153Hn2NczaeBLfT9YMcd4PKc42P8qE4OMnJB6D35619Fh8VRnTT/T+tj5fNqlClVVJ7tq+nkctc3817fSG081TI4Wba4U7iSAQQ2WHT19M9KR9VayiuPJe6NwkuSsmIyScZXpz3HfkehrQ8U3qeD5UdpJriz3LuG4t5Rz1UAk4Gefx/CprviC1kWcStLcebzJtVmI4O3K7fu5HUfhxxXp07ztaPunz1OhUxFT2cKb5VovNvdv8AA1tC8YyeJS1tJdx6deWUnl7CpAUbAQSGHyoT/dP0ovIvH/hPxW8r+I4bKzdwyC1j3NAc4yrnOE5GTtwMjgcV51p+raY3id5zbfZomjMFw1vKwVo+SpIAXoe5XufWvW/D15YX2mQtpks32u0jKeW9yVPYADABYHA43Z+nfjxuEVH7KcZbppdfM/QeFsFRy6hJ+zUq8pX1Sdr7K7ulpqXdA+J+keIY1h1q2WIS58qTqByeNrbsHGOD0/li+ILNbuUx6bvVIG3xSIS7x4yDnC4wwJ4OBx71zHgW4tpLkWmm3Gy5tyc4bEsnOcIdoDDAJGP5Hjc8U+LLTQYre5j897iN9hWOJV84HjBAJAYHPU84o+qRo1rUr69Ht93mP2UsWlyQbqS2XSK01faxlWPiK40fVCfMnM8BVZNsZXIIIBwT27nB5HTvXV2nxOg0sxz35guLS4GXdQAwx1O3ABI9Mjt+HGN4ivJdYW9kHl29z8rAsUljOMYGV2ZOeB+Y9JNV0KHw9eJc6laXV5bzbW82XLEAnBJOenAzj3rqrYenUaVRatdN/RHZQwVGhhZU6sra62s27Po9LK27O4t/jhZaNeiK1v47m1lYL5ayFBtxjsdoI4zkdfSrV/45s9TQvAbaQOgkz8glAYfOBtyG7dfp1rA1PwssMMdxZM4tJ13+WygAA8fKD8rY4I4yBjmls/DqHyNziPywQ3mKd8ZIwDgMMqQfQ4P1rzVhsMkqi3/rc8LM1g5N0KafvNW6t3tbp8y1B46ttFhZNQtYFhYfK0cSZz2baCc5H9OnfZ8J+NbO7sAumXciLM5EUUsjZjLZyMlmBBHYjA5rhT4Fkl13y474wvPHkgRLiMHgNuyQQcd8gY7Vj2Ghax4I1RwmqTGAMTIMKD8p5wwYAHnt04rongcPVi1GWu9uj+RtleS4aEo807vZ726dLHo2p+L9U8PanvRpjErndJ5OWVfu4GG6YHcce3bS1nVU8V2Ky7ts64XDOyllwBn03cnoMfyrCsdU/tyKPyLwfbI4gkgbANyvJxx/EAT+XoRWto2k/bIglwHaWM+W2QEVh26EkHI65xzXmzpQjaUlaS7aaf5H1+JnhqLdOKSS7b3/AOHEsdKnkgV4mYKQBuRgpY9PXBP4dqxNTh1FLd2glDKjZdUX94w6g7QRnv8Ap+G3pmn/AGC7mjS4M0bOHQMxzH7Aeh59PpVrU54JLKSJ5PImOQrAsNvtkc44PQYFaRrOE9FfbofEZnmLcHJLmlrZW2fQ54Ws13aTrHLHDdx/KhJBXtj5e3vz68is+18dah4f8QQJfQYD/wCrEUJdAp+8qsDn88jFXbvWY5b5ftCOWxh3ILKATjs3I6fw1tR6BF4o01YExGsDDO2MBTxn5T3Pf8vWuiUowV6sdH+HocGXUYwbqYhe9o230W/rqZHiCyfxlqUawLBZQFc7CYw/fcFYdQRz369uKtaV4U0TTdKD3dvLG0LFJQgd93HDEevHXpz9akutAGi2e4xG5S3UMGZRggAkZXj359e4qlp+r6da3zpst7aF2ZSgQqg9umQfm9xWfvSgo0m7LsaYrMqlabhQk4Uldu277Nu92+1zcv8ASbIysLN5bm3d8oJHLJgHHGQdpwM9O3PtkeLtDXT/ACZEEkNv8pbyvm8ojO4EgYIIyOmM11AjjvtHLaZqMUEAJD+RKhk3gg7R8uDlc4/+viksNMl8SabNbpcRzANtAZQhmz/DgA/NnOT6fjXmfWXF2b0W973t56WufC8SZg8VVjho+7FLrdtLrfTVswNEgfUtBkEM32u0ACswQqVByVPYfU4P4VS8J+PZ/BGrwC3zq2nzhjJZQsokdgQC20hckA9AcdOvGK2laPq/gzVPs0Qmk0922yfvvLdCOPlyoAznjnJ5yPS7LbXemXU0nnbFLKPNlJBTJxguhPBA6dOvJxXf7OEoyhNpp7f0tj2+GcpjOVP2urWrV7PvrbvszM8S+KdVj8VZtC1vBcHynhYtEAMYD4Ukb14yCB17YrKuvEMtrq6PKHuwwEkkkYVZvmA3glcg8YPJHofbd1awGo6rE9x9qhZGxMxYlcE4+Xna3ByOAfxqSfRIrWeLMsY0qM7ZPOUF1JGCT8w4IPbNb050ote70sftuW4fB5dhprlUeaSlJpbLp3bfZfM57UPEstldbrF828pDDcA5R/dQSWzkdPbmrNpp11qhEsZRRMcbgz4gc5BHO4YIA6jAye9d/B8NYbuyWOy+yOksQJ2/cUevy9R9SeMivNdTluvhL4k8xoibO4+WUIylQyZ+6RyCQfTjjPNbYXEwrJwpfGunc+P4kzz61VjTwkdG7ebv1ZsWMVn4VuVursXMiwzbXnRdwiHCnhWzjC8fKce3buNF8SSWl1PFa3Znsp12YkdkJwBgrno3OOmOPwrzXT/ibcXmvXEMMtjc2F2pVvKZN8q5zjcpwHAJ5Pp9K2oZjqGjPBYmeSa16q5ESyL2GRzkHHIJzXPjcJKdlW629P8AgWZ35HldalGVTEaz166L/g22O78RanZ6no275JJET5juAZuD6nk/n/jw0XjK0voXWy2pPCTuIcbn5yDs/i6Hvxx+FVdTvLqzkiESBgQ6b2ZpFYcFQvpx6j39RlNcPBeRzzRpG6tt3BnGzPbBOSOO2Me9VhMBGEXF622PNxmSUp4mFaq3Jvz/AB+SI9W8SRXF28bW0crt+7MKFCCuQMbSBj3zjpxWUssVnL5UyR20CLmBtu3yRxuQMueOR36fppeI/CkuvXJAgdZHCsrqWfAPGPlOSvPp3rDi8BJLIElN3HscAq0hwcf3cnnj0r3KHslHR2HQwOHjWlaVrvprZLp95W1S80vXL2OGDVEsbuIkgGQLJnJ3BGOQ4PXv+HBMuk6/c+CnlmRZLpQzAvCcBgQTll6Z/wBocfSoPEPg22khPkhLh4sOYLpAySDtlTge2RwKo2WkwaFqAiudNawtJ0ZcQSOkQxnlcZwwBzgcexrpSg4Weq7HbWlhsPGU3J8q9E27W3vdnpGp/DK2vdNmkN1eQz2bhNrSl2XGOh+Y44PTGPUYq/ovh230rTJopzLNHIOVkZpDJ9fT9M985rSg06806eO7njW9s7wqsgEgQjt90kgdB3PT8qbabL4T1QNPO66dcuFAE3yxZ6cZwBgj06/WvnPrEprkc79V/l8jz8Hi5YPBe0dW/MmtOrfVeSMyK4svABWd4sW0h2SpjcmzpuAGQCOCcc8V20finRtR8JmSK+WW3D7PLcYCAnJG3AP8Qwc45rmdW0Q+FrsxsIr21nJRVZyEjJ4IyNwHODjpxgGqk+kaNEAbmNo5cbTNaS8g+hZeOhAwexpVaUK/LNt33uuvy8j57DYZ1ZT53J2VtNbt9F5dWzsDYac3h4MA09s0B8qSHkRHnKbSecd1+mB6crpF9NeXKwWb3W5V+VGj8poj13Zyc5+tQeFtKtNPlnhbUbtomO9BIgO4dcMeOfw/M1a1FI7SZRFI5MT8SNgOozkAjAI4HB46CinR5HKF277XX9fge9g8JSpuFbWTgtW1orWXz02MHxRLqlpfRyIjNPAM7kUqwIP3eScg46H1q3N4wufEUDmKOZZUOJA9th5BgjcCCeSGPU9q7LUdJtPG9rst9QZLry9yjymYEj6ng9e/6VVTwZb3mkxm5kaK+tOjugR2wc+uCCO+TVLG0moqcbNeX/A2PW+vYfDznOcfeafKrbba2tuYGlXX9pxLM6+cRtjeZsKykZAPBI6fyNacV24laFdRuGmtJAnlMw3AE5GFAHHGeOvvRp2h3NncSorSSQyvuBKF968/wnK4/wAPyuT6Ql7cbVklguh9x1IQcHBAOOCOeOP51NapBvyPnMZm/JhnUfxPZet/+Ab+i29zdO3mrEEXcd07Kp2kDBGcHHJ7dqhvfLjvfLcxKCACEZTGxB6A8HPNZOheINUh1MJcW0kiRfKWRsEnG07sZ69cdMntXRXEdp4rtPsp3oiZBMqDvwVL4OPxH5V5VRTpzvK1vLWx41LmlScqjSlfprZaavz8ihq2haXqUkS2115aMvEcgynOcgYwScjpin6TNB4UuQtyhW0L7UaAAgEc/MCcgjI4z0NQu8Ph6XypraOS3iYLvDhpTk4Gccjp749+lYet+K20zUrmCaKR9DvtpZn+f7OTkA7uCmPXHpyMVcaVSouRNuPqvw8zloYXEZjXfs21Ti7ybtsl+bOxuPHlvBqyRLBHe6fcZVlYONnzevPHfqB1HpVTXvAGlavY3bWtmVjWVd8NzkYPOSCTtIKtnn2rndQNidIzYX0bw/M6/vzI+7H3QWwAfmOOvf1rR8LeKbqfTYI7uZb/AEy8h8t22YfbjILAN1AwCeehrOWGnSip0G0+u+tvLa4Zz+5ksLhk482qvfyV9N73uMvPAFtollfLa3DeQ0oKsG3IuB/DncSP88dawxJP4Z1rDMt5HIciPzXcOR/DwOOmRnt1znnRt59T8I6vcJZ3NtdabO48yGSUAg/dOFzjBAHGe30ww6dc2t7IqtDZXDMvlJFOVQc8DBIBXBORx+Wa66XNG/tJc1+vV+vVWPJoYKcJwqVpc0k9rq7d76/qRSeJ7/TtQBSWLTXJAa2ZQYigXAYAHGT3IHr71bt/iTeLqAle2ku4XkWOUKD5aNkHIGAf4sDk9uQayr2+uoQDqWmwwvYSGMvExVk4wwGwsM9+oA7c1m+Irlo3E9hJJE+/iVcvIeRkMyDGSOvqOa6Y4anUSTiteq/zR+o5FkkadN1HFc17t9LW2v8AeehXl/pGuiHzTHZqI9jL2Q5YbShPPpgfh1o1DRtOFj9laSJ12KAiYHkevHII9M/nmuYgsrnW9NuXurSNpOJI2aEb5BjnPoeDWPe6nf8Ahy5hjl0uO7tlIXejqkgXPAKnBUjnpjOBzmuWng9eWE7NdL/PRs9yrg3im/Zy93ya16X9DVNtY6ZbRtBO5ltXKh4ydow3TBOTn0OPwqj4q0NfFM5ksby4E7kEwsuzeMduTyQTg+wrLbxLdNr9zDG8YtbpSyROjPJEf+BH5SCT3/nWlNZNqWh2rKk8V1bjBm2oJBz6gjII+vTqK9JQnTlGd9+vr3+ZhLBRwkXCUrzXfW1ra/ccvrng6WLVd12iTDaqvNgI68YDZ9uM8VveHNRurNJVWc3KQ/J8wUyKDkgbQOhx29M1dWSXUbRlllmE6kAs6580DIzj7vYe+f0q6fbRwatFMZZYp5PlywCxkn8OCD/OumdR1Ics1qiYYz2adWo/dben9bF97mDUH82eRUZeG3sOR64IHGSenTJqxZ6BDFdlEaJ/NUMrIw8sc54A7nge+fbFaFhYuqyLqFrG8kQOZAdxXIwclVPU4/D3pmo6DYTQWs8M80ElseGA3A7j0yBxyB/9Y15zrq/KtPxXkeFHGyxmIag7RW7WqsrJpHKa9a3Wj6jFJZedPAy8qW4jznjpyOnBqA6tqVpd72jBjJDKqp93HUEE9Rz0YV2t7BNHb8TtOytlQzFyCe3H9c1nkRanMyXGxTKvJZs+Xngc7eDx69D1FdVPEpxXNG9hYjF06cZS5Vy3vfq+n3FbSL6K+aOW6swUlBR+CuPpgHH8qXVvAdp4gZ4LWVmKurCNyQwI4OCTggrUumadJpF00KXFtc2rl3jMkhLknGQC2OeT1q7qV1ps00EsL/v442RyOrL1+6DjpjJyc4PNYVK8lO9O/wCnzR8PicwrYuap0rttrbZLuyroXxYv9I0eKSa0hngkHDCHB9OxPIwOcfpVPXPiQfEGhTeciNIFDbXUbh6hRz6jvxk9O2XoWhXHheQlrqaeCVOEmIBAPUDgA8f5zWvbxWUNnBLdW0skLR7ZGhw3lnpk849vx61rKhh4TdRRvrpY+2zOeCoYSFPlTla2nfRWS7Lv1NKzibxt4bhaSFWtDGrOuAQuP4jnqO2evbpXNan8PjomoFrT7Vbxy4cBCQEPqMZUj+VdJ8PgdF1aGCzvrg2sysYUkwqKScle+cgk45x7Z56+TQJtZsy9qs4urUFZV8oK8Q/vAjGR9RnI55rhnj3hqjjtF/r3OTA5lahGCsrbrzt1PJIdG1i3lKhrooCCCVI24AyuUPfHpnrxW3pmnT6jYCBRKWhJDJltrDABwQTzx1xzxW9PbTmYxC5uba7Q8KY8BgO/U5OD1x2qjFfJHfIJhJbyRuVf5gN+R2x3PXnk57c11yxUqiukv6/roaYrOJ0oONko9f66shtr19EkgbbJHsOzlGygO7kfiP8A9Vd5osGm+JbAAzyG4J+V2GGPTgDIOevTHT8s+7mtSki28sck5xKEkYAyYP3doPB9s+nXGBq6b4xtpRPGtnaQzJyFkIx3A28c9OcEe3FeFjMROqrwi011vb8z45ZxWxOMlGlF2ta90r/f6IzdQtZNBMjSXUixLhTIqMQcgY3KRntgmpbJNP1+8Se0ZPtSjJJO4A45GDg5yMZwT+Nbc2r2/jnTHt5bZLTcpxNFCoAPXAIwSP5eua8ws9Rfwtr0UNg2YLXIn88EiMEkkKedykcd/Tiow0Z14tPSa+75l4rA1XWpQlsrNrotVa772Oh1b7XPrhg3iJAvAON8ZPXbkcg4zz9Kl1W+F3ZJO+zfEwVplYEnOcbl6AjJyc4HpUPiDXY9ThUTC3jtFkBE0BDbDnOSAc+vuM9uaoJp9yv2qO2h82yMn3Odid+M8c88f/Wrsp07xi56W/p6/oe/gssk3Jysld2/zb6vshdVjtLvNxmG0SCQJMyyqNq8YyOcc4/I1HqehR61pggtrqeWGM4MbvtLnjoP4gwPHHpWSbWXTrnz4NOCWpyJAFOQe5GTzxjt2+lad3cNY2yPCPJXGC6o21wM45x+vcHtzXW4OLjyS/r8T6CKhgsNNRd5P8PM56T4ZSaUUEFvFNaS7gxLgCLvleeMfT16VznhfxNqvw53oZDdWcFwFaMD5yqkfw4Bzg9BjlT7Y9Ij1DUS8TrEk8Ex/wBVjGSCe3GD6fT1HGBqekabZ6pLeXE9yguGXzBL8sadjwoPQEc556DtXZTxDk3Cuua/bX/hj4TH1p1qsatZ3bdlbV2t+C63NbXNf0zVZVvI7VUmnQ7SFYLNgHqBnnAAyBzWbpXxEW2kEVxa3DfZ3+Z0jDyxAZ3BCQR/h35rH8QXN/4d80WrNPp6DcxZPLcISdwB43DHPOMfWr2kaRea/arcWWLWSJMkqBg4bgkZKsCCBjGeaPq9GNP3tV0u9v8AI96OV0p42NOro93rstL/ADb/AAOuvvGdn4jiaUECJVVik2FdeSQxBO0j3Gf8a2u+H5bLTJ5NNt40R1E6pGSPJJ6nAypHPUDA9qraJpY0uKEagIzCylTGZBGIGJ7EZyO/t7Us2t2/hXTPMFxJHHG3kO0eAyA9CGBB9O2a89Q5JJUns/k/6sfd4dQxMHRwyvGz7tN2187GPp/i7VPD8SPqVpK9vKcbh8+zpldy8DoDgj14qxeWUE06NbySNCfujzGI/Qn5uvan215cTNdW9peXkllO2fLm+bOeRyf6enpiq7QhT+7E0c4JGGfAb8R/nntXVTXNNztb0/y6Hs4qccvwkaKS5kle3T7/ALye/wBES8hh8uJ0uAMEhSp75IH58+x6VDp+q3ujBYGIlc/dLr+8J9Meo/pVjTdZubjzIoJgs4xlGOA5Bzjg4J/z24mu4nnufOu1t8k9ZmGE+gxjqOua052vcmro+IpS9pzVq7+Lfu/+AVn1B9WkEsskkNyhwQikBh78cj3q+PCkF8jM8cDXG3dtUfNx7k5zVqXQft1syqjQzFMoUGQeD0PU49j29ao2skkccRbz0uLfKP1G3nGQRyR/jWXtLr927WPFzHHTxeIWHoaQW9vlp9xTtEljuJ03sQhx5LLhk6ngsOR/n0zZl1VZNOeNFENxE+QpZTkEd1b5QBz344qtq0N5qLShZFUK4YEkfKeudoPt+FV76xuNH3fbbZVjccP8xAI9+3sBmtuWM2r79v63PWlShgsDLnfvSTSS31fyO103SbjUdNLzW0cALYd4yrLHjvwT6DoT0rkPF+g3fh68DWkaXMLqDw4QHgZ475B/QccitX4f+JGukePTkR4UH7yMO28jPI5PPHbBPFXPE11bRIsqxsrIxVgUkIGM89Dz7+/UduKlKpSruEldPp/TueRifaVMJHnjr2XT18zhprS38S2I82KOKRDhtz9ByOO3HrVSe+1TwBHHewJLc2bgbZI5MyAZGVI4Pr75/S81y+lakXntFkt5SSAAR7/d9fx9KtXumg6cJI5ZzaXQJPXbH2OMcccc5r2VOzUZaxfTp8jiyyg5Rlz+fo3tp5I2LbWYr+3Rru3lEJRlZgM+VnJHBGApziqeleHlh1FobKZkXYd0bFkCnAwdy8FTxxjBx2reg8Atp2rvDFfXAhLfu0J5TIwVHPI+vTNUdQ0DVfBfim2uU8x4gCu+QHKBhg4x1GM/rXk/WabbjSlq9keXmuawqVYwovVNK33X+5HM6t4u1PwROj21zqNvc2TCUxpmRX24yFG7A4BPOevPavWfDXxXtfihGX0u5jtdWZBMEEoT7WoAzgK+A2Dnnr7AGqJ8PH4iKztFBHJGvlSSxYMvII6bsA5HIJBx2Nc5pvgKDwVrsMM0Sw3duNiTBCglOScnGQTtC84zXFifquJjqrVI9tfv7rua0cVhMLKdSS5pNpRS11XXp3PTrDTofiFYxPPBH/aaHyJPJcQu2CfmI3nPOPXP61zniPwBHaySiN/McOC0V0Qrhcjhe5PXgE1m22vwxSMPtKoNxMgZDyQ2CeRnIHX5QevB7ZvjzxMNSt5I7bUpzfRKycsdrkZIwpGT0+voa4sPgsTGry05Wi+lnp/wDixmAx+Jw3LHR6Nq3fa76O3Q6OHwxp968scqJp1xCu5Tg5TgAjnGEJHY/TNLdXbWV0ou3VrHITzXUFYgRg/MMnaQepyB3xwa8fi+M8mn6rDPqPmRnlJQA8TSL1ypKqpGOgOTx+Xf6Veab4ns1GlTTpGh+6QI9gI65YZbr069cY791TLK9FJ122n80vR9D1uHuGa1H3q8nzt6XWivre767m1d3y3iywabtSJD86EFwCCSNvYrjI/zii9WPULKKe5hVbW3JV5OPkHPBBx37dOe1cvq2m2Ank2QywtFxIFQYY9Ouc5+pHaoPDWpebcrFLcPFZT7laXKh04688nqR1+uO1rB+5zwe2vn9/Vnq4zBKri44WjK0Ivd7301fdvWyN7UGsNDvWWy063n0+UAGUBjuH3TlVUjp7H69Kr3Ouw6HNIbCV7aCMkSQoxwCuMbffByP14qvfRyW0ZhsL6WSKLIEkxUyIwY5G4MdynH3auQeJY7qzijvI4RkfZ5Qse1mOOowx7DrjP0pxp+6m/eXXX7rpns1KEKcpKKd18Kbbd3u35v8DQv9Qju7GO4iZby1mUEygLlSSRg8nOCR61gSy32mROtqztbO2djfu5ByAevHTtz096kh1yPw5K8Bu2uLGVjLFucDPPzAZOQR1xtHf8AB2n6xa3kriKVXYqVJfcm/rxkcH698VdKm4J2V1/X4mGOoygo80Omt+/mcxcPf6ReSKmo3MbzE4jmVQF42kFlBwMgcc5+mam0S81bxPbSx61aSTok2Gm2BF9Pl4IPBH+SK3vEclnYxyGR7ZWLALtnCEZ5BUEAHtnv+mOF1D4nHwprckeovHpsLSDZLG27aCq7WOQMqcckH8u/o0eaqrwir9+vytqfPxp1511OhTVo3V7L52Xla1zob3OgefFDNexwRbk8qZfMEYJJBO7gpg4Ppj0p2leJr62kkt7WyhjaFApk5i8rIxncnBBI6YA9cGk17TV8dWxuNP1P/SVxLGFOUbPUbicEH9M965f/AISXUlYD7NdJe2nyOWBRogRzg55GPx6/UVSoxqws9+tz3Mtyic8TKvJc0paK91Zdb9+h2thrF6sYe+tUdSNsgEwl27cY24OR0JGcnke1U9R8L3D6pO0Ui3NndYkUkjJIUdCCefYisHwx4qn1S/IlKTTwttDoSXAOc8bzzxznGfSvTLHTL+5VD5NsyMOGbjcR37jOMdq4MSpUKl3ZK3y6M/R5Ymjk+A9nePtJW+SW6WpzGlacWtFiKOkkeVdlO0P39eT0z71vWOix+I9MCxuJLqIcRzqBuHbB654PQ1rJYb7oRPDEELAPGqlixyATgj+gP9KOqWV7oWpO0CSmLG0bcZPJ/hx+o+n055Yn2jtF2e6PzTG5zVxdZ2ekdHr5bvzsY89l/wAIzqMc1zFFBOpwGLH5e2DwPlJA/wA8V1MdxH4gYx3UUUrSAGMqPuDGOvIx79Oax721GrWjvPFiRVO4DcjgdeMgA9jj2PfiqFrph02ONrF54DC3BOV4I5ySOc+9VOKqxTbtJdTxq8vZQ5HK8pa36Jdl2NK60m3hZRDBNasp27QCyYycEH7pH0NQ3bvamV1uT+4YFlZCAPwIA/DOOfWpptTkuWZoljMqfNJGIgC3v78+4xV1Lj7bGJpY0j+RlDo4DpxjocHByay5pRS5tf68zoyzDWquUu9l3btr/wAErHU7e5jW4mskDTR7fMCHa2BjBUL7E+lYGr2MmsQvFayeTF6cZJHAIJ471siYNaxiSeeaNc8OM45PG4E5BxV6axhiiF1aqUkHynY3Pv8Ap65rSlUVJpr5dj0cwrRp2uuacldLor69Tzizjm8O6xFdRySLcIQrt1EnPcc5P59a7K21+GKeN79WlhnG77wQjoOh9v5elF7pw1LzJJTvLgsDxuPrj35Nc1e2l9pQzEGubdsnLDaep6Z69PX+Vd7cMR8Wj/rZnkyqTdH2fN5t/ddJ9jZ1k2Xh6783zrqa1uGziVFGzsQSB24NVb3Xn0Zy0Fwl5aOw2pLHgRkcHHUdMH0qTTNNXVoEiEmPPOCu77pIyDyMfWr9l8JYhdvFfQNJIneOQAr0II4xj6GsnVoU9Ksrv5anRRhgsLScq8rylbTS7b6LayNfxr4ugt53/ctHfWTZSdvmI24IwvB7Dpn/AA1dL8UaR8SvDfkM8llfxxLIC07uJztPygZwDycHBH9eO8deI9M+IekP9lvZYNSjjP7mW1ZPNGcjacHBHPf9OmJ4D1C18ReHbdbmcWmqaYWtix/clscADHHPXg4NeasshKlGbvGUfXT790/wPGocPpZk4pO8lZb7u2uq3R0NnfTQwzfZrWISIh3PjauR0Jzx9eOtc3rfj2HxDdLBLfQRahB+7e3glUl8cghcjpz0ORn8ue8Qt4h0/XGIvWuIN+9ZYkPmFCSNpLblAPp1Oegp2s+GIfEOlSMZEtL4DMTIoB3qcjGep/EdeM4Ar28PhKcWpuzT2f8AmfYVOGsPlmEjTqyUqz2S1fdN3Ow0VobrVUD39wkR+WSF3U5GPl4PTHPT9Kp68dJ8K+K5fLdRDJ87bSAEU8ZyDyRx68Vwdn4q8SaRcRR6tpNtJbSOImZzIEy3GMZ/HGRW9rljpXjG1hkt47ewMZy+Zfmc9CFY8sCvP4d62+rcla7b5WraW/4c9Cnla+otVp8uqk7Wdku9t32Rq3v2DWL6KCOWYWV2AOQGMbk9A3Jx3wQe3ap/B2h2/hG7Ajvri2s5WZUIcyxIRuBB3H5eQfYdPesDw/Z2Pht5YkFpHAHQytDICzjHysy8AHoCeenbtJH450/Q9VurOTykspMGaNEyRyfn+6cZ3D6e9FSlOUHThdr8/wDgnk5KquYYr2mH5o0oN6tdFs35u2h0/i7xCukagPMkMtq7HymijDhwP4V+Y4IAH+enNa7rujWrtKv2ieBSHDPEWeMnghgoJ6k9sDHHvqar4a03U9Chn07VpFiYh1iiuU3gjBK4C4OVJxkZ4+ldZ4N+HE0enRzBYr20lUxmYqsTOpHK5X+IH35rkWIo0aalJ67W2vb9T3K9TL8DiUqjfNKzilo9dW33OSi8rXIop7eN/O24LRnKd8lh/DjvkGqb+C9ZvNQLNfpJNIwPkxwjMgA64cZbg9Rj+g6Cx8Faj4N8SSiwdpbK7cTf8fB9x/dPJ6YPXuKvpJLHPKkNyyXcQ4jYsEODzgD6ZzxTeK5Xek01bTr9/YeHzKU5JU4pycru+rt0XkrHMnwbPeXTRsYYL23dcpI+ZCuMZHIGPf17DOKNPvrLRNXaHWLSKVd21SYEDqcc7cgjkGtLxJrN2xguL60lMobDTIpVmyMdsZHTsOnrzXH+N2a/aMRXN9FArBt2TlSOASM56ZBx+tdVCMqseWps+3R+TPIzSnjMfVacra3bXbyZ6NJq/hLUo2ay8izutyNtbaRIVPIJxkHHoD+taOo/CO28Y6DIun/YriQbmWNnbKg5DD5gdw6dscnivF5RchJzDCkzSASMQehxjr0OR/8Ar4q78M/jivgjWIWvbYm0VhvQkKwGSGC4wTkZ6A4z0rCtlNeEOfCzbktbPW/l0OLF4WVKrGlRm+V6O+rave/3GqvgjWfh/ebY47JNOSYlHZjI1v0wFUEEDgdVpt34c1s68kkEiTW0qgjEzHfkdMdM8njGK9Nzp+ra9JHYxTXmn3gLITGfkUnIXOOCBnFXrXwrDPi2e3nt7izJQHIhLg8gLjrkfnXD/bGinNbrXT81ve+59FiM5hk9H2dRJ1E77bN/O97Hl9uvlXYW7tUWVeNygxxnHTIJx9eDz9c133w416PV7Oa0gkjmuoGGIvMUuQBwVBPOMYwOf6amp+EbTxxa+TZTu15EdzGV9pIPGPT6jqfSvPI7y78CeMVS4iS2vYmMTpIxWKXuDhscHA5Hr36VM8RTxlOUI6TXR/5dj4HF5lWxmKU3duTsl67X7HeeIJb611ZXMsEBBCmMOpLDsSOn1wfyqG+1S6e6nggEay8tsQDGOM4weev/ANeoG1yLxbqpgvbOIiZcGJ1LxJkEYUhsH1+6O1Og8Hw6hJH9mSawkgJVlOFAIJXAPQ5HqK44KMEvaqzS7afme3icPh8HSnGs1vdtLRdN92NOs3WoiNZFu4Xc+XlVDFCexySce361Whs3s5o47m4mhgYNhSWZc85znj+Qrcuba68H6a1ysjSBHAL7Qy46DrgDsPb+XX29/onim1VrqFoZ2j+YyBUifBPO4Z5wR64+tcdXMVT1hG8e63+6x8dh8zeYY9UcPHRW1W7V+iZ53qBbSLgON6xjPlTKokQDuFySQQAO3pVWySfxOksduZZGiGRKVzKvbp/XHHr2rX1DwBcWWU065VrCZyyqkqZU5yVyByMHIB9qXSNJXTdUgkVpUuVYo21gA4I4HXAbIrtjiYOHNFpv+t0feSxVDKqUZzSlUktt7X3uY1jo9zp9uDePLJBswflIIPUnBPB49K3/AAfcwwBo3czxv/CUPzD6cA8fyFSalczaVrwkukluIZiHbn5gOh4PGfx5rPl8daV4Q1mIy3032KbIwcrIOeQuCec47AVlWq1a0Goxu3rp/wANufnOYZriJ15T1lK9tOnZLTsdZf6XHpMYmm0+Oa2YYEgjw8an6/XP1rI8RW9le2gUCHHIUPGFdDxnHXOc/wCNdHoXjnRbRPMF1fyWk7AbJYQGUkcgjdhu3QcYrph4f0LxDYozXNq2Y/vRnY4IGPuHgnHof5189LMZ4WalWhL1s/y6WO7AzS/iRbey0erv0Xa54XIJdBlR/LVEQKRt6Nzx364rovB/iu38Ru8caXNveBjs3oQpIzkBi3zAjHt+Vauo+CtIurq4itdXKOy58tlCgYzwecEcdK8u1ye88I3MM1rdXmYZd5UxrH5wDHKrgjJ2nPAPIGea+lpSp46No6S801990c7oTr14uz0u3dNJW+WrSeh//9k=';},_0x4407bd;}(_0x478333['RenderObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/WaterFacePrimitive.ts':function(_0xd90e25,_0x268bf3,_0x558a98){'use strict';_0x558a98['r'](_0x268bf3);var _0xf1cf1a,_0x1b791a=_0x558a98(_0x1a4e('0x430f')),_0x2e5790=(_0xf1cf1a=function(_0xd90e25,_0x268bf3){return(_0xf1cf1a=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0xd90e25,_0x268bf3){_0xd90e25[_0x1a4e('0x295')]=_0x268bf3;}||function(_0xd90e25,_0x268bf3){for(var _0x558a98 in _0x268bf3)_0x268bf3['hasOwnProperty'](_0x558a98)&&(_0xd90e25[_0x558a98]=_0x268bf3[_0x558a98]);})(_0xd90e25,_0x268bf3);},function(_0xd90e25,_0x268bf3){function _0x558a98(){this[_0x1a4e('0x10')]=_0xd90e25;}_0xf1cf1a(_0xd90e25,_0x268bf3),_0xd90e25[_0x1a4e('0xa')]=null===_0x268bf3?Object[_0x1a4e('0x7')](_0x268bf3):(_0x558a98[_0x1a4e('0xa')]=_0x268bf3['prototype'],new _0x558a98());}),_0x972e85=Cesium[_0x1a4e('0x1020')],_0x3515ca=Cesium[_0x1a4e('0x3947')],_0x455466=Cesium['Resource'],_0x16e890=Cesium[_0x1a4e('0x39fa')],_0x16ba07=Cesium[_0x1a4e('0x3952')],_0x17e21b=Cesium[_0x1a4e('0x393e')],_0x5b7d2d=Cesium[_0x1a4e('0x3a67')],_0xf6c6ac=Cesium[_0x1a4e('0x4629')],_0x39d4b3=Cesium[_0x1a4e('0x3ba5')],_0x1335f7=Cesium['Matrix4'],_0x5cf8ba=Cesium['Matrix3'],_0x1a70ec=Cesium[_0x1a4e('0x39a9')],_0x1d59ac=Cesium[_0x1a4e('0x3945')],_0x10b284=Cesium[_0x1a4e('0x3b58')],_0xdb2b45=Cesium[_0x1a4e('0x3abf')],_0x322c26=Cesium[_0x1a4e('0x39ab')],_0x18bd81=Cesium[_0x1a4e('0x3a72')],_0x52fe3c=Cesium[_0x1a4e('0x3b9b')],_0x509bb6=Cesium['defined'],_0x25f0a8=Cesium['defaultValue'],_0x11ac29=Cesium['ClearCommand'],_0x491667=Cesium[_0x1a4e('0x45a7')],_0x1dec5c=Cesium[_0x1a4e('0x3ba9')],_0x419b86=Cesium[_0x1a4e('0x3ba8')],_0x57ad8d=Cesium['VertexArray'],_0x2182a6=Cesium[_0x1a4e('0x870')],_0x2c4a06=Cesium[_0x1a4e('0x3bab')],_0x54510b=Cesium[_0x1a4e('0x3baa')],_0x1beabb=Cesium[_0x1a4e('0x462a')],_0x58e1e4=Cesium[_0x1a4e('0x462b')],_0x2984a8=Cesium[_0x1a4e('0x462c')],_0x3fa8c9=Cesium[_0x1a4e('0x462d')],_0x29fedb=Cesium[_0x1a4e('0x3bad')],_0x1095ce=Cesium[_0x1a4e('0x3baf')],_0x1bcf3f=Cesium[_0x1a4e('0x462e')],_0x3dd806=Cesium['PixelDatatype'];function _0x2ef3b4(_0xd90e25,_0x268bf3,_0x558a98,_0xf1cf1a,_0x1b791a){if(_0xd90e25 instanceof _0x11ac29)_0xd90e25[_0x1a4e('0x6c3')](_0x558a98,_0xf1cf1a);else{_0x268bf3[_0x1a4e('0x462f')]&&_0x509bb6(_0xd90e25[_0x1a4e('0x4630')][_0x1a4e('0x4631')])&&(_0xd90e25=_0xd90e25[_0x1a4e('0x4630')][_0x1a4e('0x4631')][_0x1a4e('0x3885')]);var _0x2e5790=_0x268bf3[_0x1a4e('0x45df')];if(!_0x2e5790[_0x1a4e('0x106e')]&&!_0x2e5790[_0x1a4e('0x4cd')]&&_0x509bb6(_0xd90e25['derivedCommands'])&&_0x509bb6(_0xd90e25[_0x1a4e('0x4630')][_0x1a4e('0x4632')])&&(_0xd90e25=_0xd90e25[_0x1a4e('0x4630')][_0x1a4e('0x4632')][_0x1a4e('0x3885')]),_0x2e5790['pick']||_0x2e5790[_0x1a4e('0x4cd')]){if(_0x2e5790[_0x1a4e('0x106e')]&&!_0x2e5790[_0x1a4e('0x4cd')]&&_0x509bb6(_0xd90e25[_0x1a4e('0x4630')][_0x1a4e('0x4633')]))return void(_0xd90e25=_0xd90e25[_0x1a4e('0x4630')]['picking'][_0x1a4e('0x4634')])[_0x1a4e('0x6c3')](_0x558a98,_0xf1cf1a);if(_0x509bb6(_0xd90e25[_0x1a4e('0x4630')][_0x1a4e('0x4cd')]))return void(_0xd90e25=_0xd90e25[_0x1a4e('0x4630')][_0x1a4e('0x4cd')][_0x1a4e('0x4635')])[_0x1a4e('0x6c3')](_0x558a98,_0xf1cf1a);}_0x268bf3[_0x1a4e('0x4636')][_0x1a4e('0x4637')]&&_0xd90e25[_0x1a4e('0x3cfa')]&&_0x509bb6(_0xd90e25[_0x1a4e('0x4630')][_0x1a4e('0x3bed')])?_0xd90e25[_0x1a4e('0x4630')][_0x1a4e('0x3bed')][_0x1a4e('0x4638')][_0x1a4e('0x6c3')](_0x558a98,_0xf1cf1a):_0xd90e25[_0x1a4e('0x6c3')](_0x558a98,_0xf1cf1a);}}var _0x53b941=function(_0xd90e25){function _0x268bf3(_0x268bf3,_0x558a98){var _0xf1cf1a=_0xd90e25[_0x1a4e('0x1')](this,_0x268bf3,_0x558a98)||this;return _0xf1cf1a[_0x1a4e('0x4639')]=[],_0xf1cf1a['_waterColor']=_0x25f0a8(_0x268bf3[_0x1a4e('0x42cd')],Cesium[_0x1a4e('0x3947')][_0x1a4e('0x3a7a')]),_0xf1cf1a[_0x1a4e('0x463a')]=new _0x3515ca(0x0,0x0,0x0,0x0),_0xf1cf1a[_0x1a4e('0x463b')]=new _0x3515ca(0.439,0.564,0.788,0x0),_0xf1cf1a[_0x1a4e('0x463c')]=_0x25f0a8(_0x268bf3[_0x1a4e('0x42ce')],0.5),_0xf1cf1a['_flowDirection']=_0x25f0a8(_0x268bf3['flowDirection'],0x2d),_0xf1cf1a['_flowSpeed']=_0x25f0a8(_0x268bf3['flowSpeed'],0x1),_0xf1cf1a[_0x1a4e('0x463d')]=_0x25f0a8(_0x268bf3['normalTexture'],_0x1a4e('0x463e')),_0xf1cf1a['_waterPolygon']=_0x268bf3[_0x1a4e('0x42d2')],_0xf1cf1a[_0x1a4e('0x463f')]=0x0,_0xf1cf1a[_0x1a4e('0x4640')]=void 0x0,_0xf1cf1a[_0x1a4e('0x4641')]=void 0x0,_0xf1cf1a[_0x1a4e('0x4642')]=!0x1,_0xf1cf1a['_drawCommand']=void 0x0,_0xf1cf1a[_0x1a4e('0x3b33')]=!0x0,_0xf1cf1a;}return _0x2e5790(_0x268bf3,_0xd90e25),_0x268bf3[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this);},_0x268bf3['prototype'][_0x1a4e('0x3dda')]=function(_0xd90e25){this[_0xd90e25]=this['_dataItem'][_0xd90e25];},Object['defineProperty'](_0x268bf3[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x1b791a[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x268bf3['prototype'],_0x1a4e('0x42d2'),{'get':function(){return this[_0x1a4e('0x4643')];},'set':function(_0xd90e25){_0x509bb6(_0xd90e25)&&(this['_waterPolygon']=_0xd90e25);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x268bf3[_0x1a4e('0xa')],_0x1a4e('0x42cd'),{'get':function(){return this[_0x1a4e('0x4644')];},'set':function(_0xd90e25){_0x509bb6(_0xd90e25)&&(this[_0x1a4e('0x4644')]=_0xd90e25);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x268bf3['prototype'],_0x1a4e('0x42d0'),{'get':function(){return this[_0x1a4e('0x4645')];},'set':function(_0xd90e25){this['_flowSpeed']=_0xd90e25;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x268bf3[_0x1a4e('0xa')],_0x1a4e('0x42cf'),{'get':function(){return this[_0x1a4e('0x4646')];},'set':function(_0xd90e25){this[_0x1a4e('0x4646')]=_0xd90e25;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x268bf3['prototype'],_0x1a4e('0x42ce'),{'get':function(){return this['_waveWidth'];},'set':function(_0xd90e25){this['_waveWidth']=_0xd90e25;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x268bf3[_0x1a4e('0xa')],_0x1a4e('0x3b2c'),{'get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0xd90e25){this[_0x1a4e('0x3b33')]=_0xd90e25;},'enumerable':!0x0,'configurable':!0x0}),_0x268bf3[_0x1a4e('0xa')]['computeBoundingRectangle']=function(){var _0xd90e25=this['_waterPolygon']['_polygonHierarchy'][_0x1a4e('0x398a')];if(_0xd90e25[_0x1a4e('0x1e')]<0x1)throw new Cesium['DeveloperError']('The\x20positions\x20of\x20water\x20polygon\x20hierarchy\x20is\x20empty.');var _0x268bf3=_0x16e890[_0x1a4e('0x3a0d')](_0xd90e25[0x0]),_0x558a98=_0x972e85[_0x1a4e('0x560')](_0x268bf3[_0x1a4e('0x3a2e')]),_0xf1cf1a=_0x972e85[_0x1a4e('0x560')](_0x268bf3['latitude']),_0x1b791a=_0x972e85['toDegrees'](_0x268bf3['longitude']),_0x2e5790=_0x972e85['toDegrees'](_0x268bf3[_0x1a4e('0x3a2f')]);this[_0x1a4e('0x4647')]=_0x268bf3[_0x1a4e('0x152')];for(var _0x3515ca=0x0,_0x455466=_0xd90e25['length'];_0x3515ca<_0x455466;_0x3515ca++){var _0x5b7d2d=_0x16e890[_0x1a4e('0x3a0d')](_0xd90e25[_0x3515ca]),_0xf6c6ac=_0x972e85[_0x1a4e('0x560')](_0x5b7d2d[_0x1a4e('0x3a2e')]),_0x39d4b3=_0x972e85[_0x1a4e('0x560')](_0x5b7d2d['latitude']),_0x1335f7=new _0x16ba07(_0xf6c6ac,_0x39d4b3);this[_0x1a4e('0x4639')][_0x1a4e('0x46')](_0x1335f7),_0xf6c6ac>_0x1b791a&&(_0x1b791a=_0xf6c6ac),_0xf6c6ac<_0x558a98&&(_0x558a98=_0xf6c6ac),_0x39d4b3>_0x2e5790&&(_0x2e5790=_0x39d4b3),_0x39d4b3<_0xf1cf1a&&(_0xf1cf1a=_0x39d4b3),this[_0x1a4e('0x4648')]=_0x558a98,this['_latMin']=_0xf1cf1a,this[_0x1a4e('0x4649')]=_0x17e21b[_0x1a4e('0x38db')]((_0x558a98+_0x1b791a)/0x2,(_0xf1cf1a+_0x2e5790)/0x2,this[_0x1a4e('0x4647')]);}},_0x268bf3[_0x1a4e('0xa')]['initialize']=function(_0xd90e25){var _0x268bf3=_0xd90e25[_0x1a4e('0x8cb')],_0x558a98=_0xd90e25[_0x1a4e('0x3a06')];if(_0x509bb6(this[_0x1a4e('0x4640')])||(this[_0x1a4e('0x4640')]=_0x5b7d2d[_0x1a4e('0x240')](_0x558a98)),!_0x509bb6(this[_0x1a4e('0x4641')])){var _0xf1cf1a=new _0x58e1e4({'context':_0x268bf3,'colorTextures':[new _0x29fedb({'context':_0x268bf3,'width':0x200,'height':0x200,'pixelFormat':_0x39d4b3[_0x1a4e('0x464a')]})],'depthRenderbuffer':new _0x2984a8({'context':_0x268bf3,'format':_0x1beabb['DEPTH_COMPONENT16'],'width':0x200,'height':0x200})});this[_0x1a4e('0x4641')]=new _0x3fa8c9(_0x268bf3),this[_0x1a4e('0x4641')][_0x1a4e('0x464b')]=new _0xf6c6ac(0x0,0x0,0x200,0x200),this['_reflectPassState'][_0x1a4e('0x464c')]=_0xf1cf1a;}var _0x1b791a=this;_0x1b791a[_0x1a4e('0x464d')]=_0xd90e25[_0x1a4e('0x8cb')][_0x1a4e('0x464e')],_0x455466[_0x1a4e('0x3d74')]({'url':_0x1b791a[_0x1a4e('0x463d')]})['then'](function(_0xd90e25){_0x1b791a[_0x1a4e('0x464d')]=new _0x29fedb({'context':_0x268bf3,'width':_0xd90e25[_0x1a4e('0x3936')],'height':_0xd90e25['height'],'source':_0xd90e25,'sampler':new _0x1bcf3f({'wrapS':_0x1095ce['REPEAT'],'wrapT':_0x1095ce['REPEAT']})});}),this[_0x1a4e('0x4642')]=!0x0,this['computeBoundingRectangle']();},_0x268bf3[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0xd90e25){if(this[_0x1a4e('0x3b2c')]){var _0x268bf3=_0xd90e25['camera'];this[_0x1a4e('0x4642')]||this['initialize'](_0xd90e25);var _0x558a98=_0xd90e25['context'];this[_0x1a4e('0x464f')]=0x1/(0.001*this[_0x1a4e('0x463c')]);_0x1335f7['IDENTITY'];var _0xf1cf1a=_0x17e21b['clone'](this[_0x1a4e('0x4649')]),_0x1b791a=_0x16e890[_0x1a4e('0x3a0d')](this['_waterCenterPos']),_0x2e5790=_0x972e85[_0x1a4e('0x560')](_0x1b791a['longitude']),_0x3515ca=_0x972e85['toDegrees'](_0x1b791a['latitude']),_0x455466=_0x17e21b['fromDegrees'](_0x2e5790,_0x3515ca,0x0),_0x5b7d2d=new _0x17e21b();_0x17e21b[_0x1a4e('0x330')](_0x455466,_0x5b7d2d);var _0xf6c6ac=new _0x17e21b(0x0,0x1,0x0),_0x39d4b3=new _0x17e21b();_0x17e21b[_0x1a4e('0x3a26')](_0xf6c6ac,_0x5b7d2d,_0x39d4b3),_0x17e21b['normalize'](_0x39d4b3,_0x39d4b3),_0x17e21b[_0x1a4e('0x3a26')](_0x5b7d2d,_0x39d4b3,_0xf6c6ac);var _0x322c26=new _0x5cf8ba();_0x5cf8ba['setRow'](_0x322c26,0x0,_0x39d4b3,_0x322c26),_0x5cf8ba[_0x1a4e('0x4650')](_0x322c26,0x1,_0xf6c6ac,_0x322c26),_0x5cf8ba[_0x1a4e('0x4650')](_0x322c26,0x2,_0x5b7d2d,_0x322c26);var _0x18bd81=new _0x5cf8ba();_0x5cf8ba[_0x1a4e('0x3cd9')](_0x322c26,_0x18bd81);var _0x52fe3c=new _0x17e21b(),_0x509bb6=new _0x17e21b(-_0xf1cf1a['x'],-_0xf1cf1a['y'],-_0xf1cf1a['z']);_0x5cf8ba[_0x1a4e('0x449a')](_0x322c26,_0x509bb6,_0x52fe3c);var _0x25f0a8=new _0x1335f7();_0x1335f7[_0x1a4e('0x3ab1')](_0x322c26,_0x52fe3c,_0x25f0a8),this[_0x1a4e('0x4651')]=new _0x1335f7(),_0x1335f7[_0x1a4e('0x260')](_0x25f0a8,_0x268bf3['inverseViewMatrix'],this[_0x1a4e('0x4651')]),this[_0x1a4e('0x3b64')]=new _0x1335f7(),_0x1335f7['fromTranslation'](_0xf1cf1a,this['modelMatrix']),this[_0x1a4e('0x4652')]=new _0x1335f7(),this['modeiViewProjection']=new _0x1335f7(),this[_0x1a4e('0x4652')]=_0x1335f7[_0x1a4e('0x260')](_0x268bf3[_0x1a4e('0x4653')],this['modelMatrix'],this[_0x1a4e('0x4652')]),this[_0x1a4e('0x4654')]=_0x1335f7[_0x1a4e('0x260')](_0x268bf3[_0x1a4e('0x3a51')]['projectionMatrix'],this[_0x1a4e('0x4652')],this[_0x1a4e('0x4654')]),this[_0x1a4e('0x463f')]||(this['_m_startTime']=_0x1a70ec['now']()[_0x1a4e('0x454e')]),this[_0x1a4e('0x4655')]=_0x1a70ec[_0x1a4e('0xe3f')]()[_0x1a4e('0x454e')]-this[_0x1a4e('0x463f')],this[_0x1a4e('0x4656')]=this[_0x1a4e('0x4655')]*this[_0x1a4e('0x42d0')],this[_0x1a4e('0x4657')]=_0x972e85[_0x1a4e('0x566')](this[_0x1a4e('0x4646')]);var _0x11ac29=_0x2c4a06['fromCache']({'context':_0x558a98,'vertexShaderSource':'\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec2\x20st;\x0auniform\x20mat4\x20u_modelViewProjectionMatrix;\x0auniform\x20mat4\x20u_modelViewMatrix;\x0auniform\x20mat4\x20u_invWorldViewMatrix;\x0auniform\x20vec2\x20u_texCoordOffset;\x0auniform\x20vec2\x20u_texCoordScale;\x0auniform\x20float\x20u_frameTime;\x0auniform\x20int\x20u_clampToGroud;\x0auniform\x20vec3\x20u_camPosition;\x0auniform\x20vec3\x20u_scale;\x0avarying\x20vec3\x20eyeDir;\x0avarying\x20vec2\x20texCoord;\x0avarying\x20float\x20myTime;\x0avarying\x20vec4\x20projectionCoord;\x0avoid\x20main(void)\x0a{\x0a\x09\x0a\x09gl_Position\x20=\x20u_modelViewProjectionMatrix\x20*\x20vec4(position.xyz,1.0);\x0a\x09if\x20(u_clampToGroud\x20==\x201)\x0a\x09{\x0a\x09\x20\x20eyeDir\x20=\x20(u_camPosition\x20-\x20position.xyz)\x20*\x20u_scale;\x0a\x09}\x20else\x20{\x0a\x09\x20\x20vec4\x20pos\x20=\x20u_modelViewMatrix\x20*\x20vec4(position.xyz,1.0);\x0a\x09\x20\x20eyeDir\x20=\x20vec3(u_invWorldViewMatrix*vec4(pos.xyz,0.0));\x0a\x09\x20\x20projectionCoord\x20=\x20gl_Position;\x0a\x09}\x0a\x09texCoord\x20=\x20(st+u_texCoordOffset)*u_texCoordScale;\x0a\x09myTime\x20=\x200.01\x20*\x20u_frameTime;\x0a}\x0a','fragmentShaderSource':'\x0a#ifdef\x20GL_FRAGMENT_PRECISION_HIGH\x0a\x20\x20\x20\x20precision\x20highp\x20float;\x0a#else\x0a\x20\x20\x20\x20precision\x20mediump\x20float;\x0a#endif\x0auniform\x20sampler2D\x20u_normalMap;\x0auniform\x20sampler2D\x20u_refractMap;\x0a\x0auniform\x20sampler2D\x20u_reflectMap;\x0a\x0auniform\x20vec4\x20u_waterColor;\x0auniform\x20vec4\x20u_refractColor;\x0auniform\x20int\x20u_useRefractTex;\x0auniform\x20vec4\x20u_reflectColor;\x0auniform\x20int\x20u_reflection;\x0auniform\x20vec2\x20u_flowDirection;\x0avarying\x20vec3\x20eyeDir;\x0avarying\x20vec2\x20texCoord;\x0avarying\x20float\x20myTime;\x0avarying\x20vec4\x20projectionCoord;\x0a\x0avoid\x20main\x20(void)\x0a{\x20\x20\x0a\x20\x20\x20\x20float\x20texScale\x20=\x2035.0;\x20\x20\x0a\x20\x20\x20\x20float\x20texScale2\x20=\x2010.0;\x0a\x20\x20\x20\x20float\x20myangle;\x0a\x20\x20\x20\x20float\x20transp;\x0a\x20\x20\x20\x20vec3\x20myNormal;\x0a\x20\x20\x20\x20vec2\x20mytexFlowCoord\x20=\x20texCoord\x20*\x20texScale;\x0a\x20\x20\x20\x20vec2\x20ff\x20=\x20abs(2.0*(fract(mytexFlowCoord))\x20-\x201.0)\x20-0.5;\x20\x20\x20\x0a\x20\x20\x20\x20ff\x20=\x200.5-4.0*ff*ff*ff;\x0a\x20\x20\x20\x20vec2\x20ffscale\x20=\x20sqrt(ff*ff\x20+\x20(1.0-ff)*(1.0-ff));\x0a\x20\x20\x20\x20vec2\x20Tcoord\x20=\x20texCoord\x20\x20*\x20texScale2;\x0a\x20\x20\x20\x20vec2\x20offset\x20=\x20vec2(myTime,0.0);\x0a\x20\x20\x20\x20vec3\x20sample\x20=\x20vec3(u_flowDirection,\x201.0);\x0a\x20\x20\x20\x20vec2\x20flowdir\x20=\x20sample.xy\x20-0.5;\x0a\x20\x20\x20\x20flowdir\x20*=\x20sample.b;\x0a\x20\x20\x20\x20mat2\x20rotmat\x20=\x20mat2(flowdir.x,\x20-flowdir.y,\x20flowdir.y\x20,flowdir.x);\x0a\x20\x20\x20\x20vec2\x20NormalT0\x20=\x20texture2D(u_normalMap,\x20rotmat\x20*\x20Tcoord\x20-\x20offset).rg;\x0a\x20\x20\x20\x20sample\x20=\x20vec3(u_flowDirection,\x201.0);\x0a\x20\x20\x20\x20flowdir\x20=\x20sample.b\x20*\x20(sample.xy\x20-\x200.5);\x0a\x20\x20\x20\x20rotmat\x20=\x20mat2(flowdir.x,\x20-flowdir.y,\x20flowdir.y\x20,flowdir.x);\x0a\x20\x20\x20\x20vec2\x20NormalT1\x20=\x20texture2D(u_normalMap,\x20rotmat\x20*\x20Tcoord\x20-\x20offset*1.06+0.62).rg;\x0a\x20\x20\x20\x20vec2\x20NormalTAB\x20=\x20ff.x\x20*\x20NormalT0\x20+\x20(1.0-ff.x)\x20*\x20NormalT1;\x0a\x20\x20\x20\x20sample\x20=\x20vec3(u_flowDirection,\x201.0);\x0a\x20\x20\x20\x20flowdir\x20=\x20sample.b\x20*\x20(sample.xy\x20-\x200.5);\x0a\x20\x20\x20\x20rotmat\x20=\x20mat2(flowdir.x,\x20-flowdir.y,\x20flowdir.y\x20,flowdir.x);\x0a\x20\x20\x20\x20NormalT0\x20=\x20texture2D(u_normalMap,\x20rotmat\x20*\x20Tcoord\x20-\x20offset*1.33+0.27).rg;\x0a\x20\x20\x20\x20sample\x20=\x20vec3(u_flowDirection,\x201.0);\x0a\x20\x20\x20\x20flowdir\x20=\x20sample.b\x20*\x20(sample.xy\x20-\x200.5);\x0a\x20\x20\x20\x20rotmat\x20=\x20mat2(flowdir.x,\x20-flowdir.y,\x20flowdir.y\x20,flowdir.x);\x0a\x20\x20\x20\x20NormalT1\x20=\x20texture2D(u_normalMap,\x20rotmat\x20*\x20Tcoord\x20-\x20offset*1.24).rg\x20;\x0a\x0a\x20\x20\x20\x20vec2\x20NormalTCD\x20=\x20ff.x\x20*\x20NormalT0\x20+\x20(1.0-ff.x)\x20*\x20NormalT1;\x0a\x20\x20\x20\x20vec2\x20NormalT\x20=\x20ff.y\x20*\x20NormalTAB\x20+\x20(1.0-ff.y)\x20*\x20NormalTCD;\x0a\x20\x20\x20\x20NormalT\x20=\x20(NormalT\x20-\x200.5)\x20/\x20(ffscale.y\x20*\x20ffscale.x);\x0a\x20\x20\x20\x20NormalT\x20*=\x200.3;\x0a\x20\x20\x20\x20transp\x20=\x201.0;\x0a\x20\x20\x20\x20NormalT\x20*=\x20transp*transp;\x0a\x20\x20\x20\x20myNormal\x20=\x20vec3(NormalT,sqrt(1.0-NormalT.x*NormalT.x\x20-\x20NormalT.y*NormalT.y));\x0a\x20\x20\x20\x20vec3\x20envColor\x20=\x20u_reflectColor.rgb;\x0a\x20\x20\x20\x20if\x20(u_reflection\x20==\x201)\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20final\x20=\x20projectionCoord.xy\x20/\x20projectionCoord.w;\x0a\x20\x20\x20\x20\x20\x20\x20\x20final\x20=\x20final\x20*\x200.5\x20+\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20final.y\x20=\x201.0\x20-\x20final.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20envColor\x20=\x20texture2D(u_reflectMap,\x20final\x20+\x20myNormal.xy/texScale2*transp).rgb;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20myangle\x20=\x20dot(myNormal,normalize(eyeDir));\x0a\x20\x20\x20\x20myangle\x20=\x200.95-0.6*myangle*myangle;\x0a\x20\x20\x20\x20vec3\x20base\x20=\x20u_refractColor.rgb;\x0a\x20\x20\x20\x20if\x20(u_useRefractTex\x20==\x201)\x0a\x20\x20\x20\x20\x20\x20\x20\x20base\x20=\x20texture2D(u_refractMap,(texCoord\x20+\x20myNormal.xy/texScale2*0.03*transp)*32.0).rgb;\x0a\x20\x20\x20\x20base\x20=\x20mix(base,\x20u_waterColor.rgb,\x20u_waterColor.a);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(mix(base,\x20envColor,\x20myangle*transp),\x201.0);\x20\x0a}\x0a'}),_0x1beabb=_0x54510b[_0x1a4e('0x3ccf')]({'depthTest':{'enabled':!0x0}}),_0x58e1e4=this;this[_0x1a4e('0x4658')]={'u_bgColor':function(){return _0x58e1e4[_0x1a4e('0x4644')];},'u_texCoordOffset':function(){return new _0x16ba07(-_0x58e1e4[_0x1a4e('0x4648')],-_0x58e1e4[_0x1a4e('0x4659')]);},'u_texCoordScale':function(){return new _0x16ba07(_0x58e1e4[_0x1a4e('0x464f')],_0x58e1e4[_0x1a4e('0x464f')]);},'u_scale':function(){return new _0x17e21b(0x3,0x3,0x3);},'u_camPosition':function(){return new _0x17e21b(0x3,0x3,0x3);},'u_modelViewProjectionMatrix':function(){return _0x58e1e4[_0x1a4e('0x4654')];},'u_modelViewMatrix':function(){return _0x58e1e4['modelViewMatrix'];},'u_clampToGroud':function(){return!0x1;},'u_invWorldViewMatrix':function(){return _0x58e1e4[_0x1a4e('0x4651')];},'u_frameTime':function(){return _0x58e1e4[_0x1a4e('0x4656')];},'u_normalMap':function(){return _0x58e1e4[_0x1a4e('0x464d')];},'u_refractMap':function(){return _0x58e1e4['m_spNormalTexture'];},'u_useRefractTex':function(){return 0x0;},'u_reflectMap':function(){return _0x58e1e4[_0x1a4e('0x4641')]['framebuffer'][_0x1a4e('0x465a')](0x0);},'u_reflection':function(){return 0x1;},'u_waterColor':function(){return _0x58e1e4[_0x1a4e('0x4644')];},'u_refractColor':function(){return _0x58e1e4[_0x1a4e('0x463a')];},'u_reflectColor':function(){return _0x58e1e4['_reflectColor'];},'u_flowDirection':function(){return new _0x16ba07(0.5*Math[_0x1a4e('0x8f')](_0x58e1e4[_0x1a4e('0x4657')])+0.5,0.5*Math[_0x1a4e('0x90')](_0x58e1e4['_flowAngle'])+0.5);}},this[_0x1a4e('0x465b')]=_0x1d59ac[_0x1a4e('0x3e0')](this[_0x1a4e('0x4643')]);var _0x2984a8=this[_0x1a4e('0x465b')]['indices'],_0x3fa8c9=this[_0x1a4e('0x465b')][_0x1a4e('0x266d')]['position'][_0x1a4e('0x35b')],_0x29fedb=[];_0x17e21b['pack'](_0xf1cf1a,_0x29fedb);for(var _0x1095ce=0x0;_0x1095ce<_0x3fa8c9[_0x1a4e('0x1e')];_0x1095ce++)_0x3fa8c9[_0x1095ce]+=-_0x29fedb[_0x1095ce%0x3];for(var _0x1bcf3f=[],_0x2ef3b4=0x0,_0x53b941=this[_0x1a4e('0x4639')][_0x1a4e('0x1e')];_0x2ef3b4<_0x53b941;_0x2ef3b4++)_0x1bcf3f['push'](this[_0x1a4e('0x4639')][_0x2ef3b4]['x'],this[_0x1a4e('0x4639')][_0x2ef3b4]['y']);var _0x2c6922=_0x2182a6[_0x1a4e('0x3c77')]({'context':_0x558a98,'typedArray':new Uint32Array(_0x2984a8),'usage':_0x491667[_0x1a4e('0x3c78')],'indexDatatype':_0x3dd806[_0x1a4e('0x465c')]}),_0x5c6ba1=_0x2182a6[_0x1a4e('0x45ce')]({'context':_0x558a98,'typedArray':_0x10b284[_0x1a4e('0x3abb')](_0x10b284[_0x1a4e('0x3b59')],_0x3fa8c9),'usage':_0x491667[_0x1a4e('0x3c78')]}),_0x2088da=_0x2182a6[_0x1a4e('0x45ce')]({'context':_0x558a98,'typedArray':_0x10b284['createTypedArray'](_0x10b284[_0x1a4e('0x3b59')],_0x1bcf3f),'usage':_0x491667[_0x1a4e('0x3c78')]}),_0x45a8aa=[];_0x45a8aa['push']({'index':0x0,'vertexBuffer':_0x5c6ba1,'componentDatatype':_0x10b284[_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'normalize':!0x1}),_0x45a8aa['push']({'index':0x1,'vertexBuffer':_0x2088da,'componentDatatype':_0x10b284[_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'normalize':!0x1});var _0x216544=new _0x57ad8d({'context':_0x558a98,'attributes':_0x45a8aa,'indexBuffer':_0x2c6922});this[_0x1a4e('0x465d')](_0xd90e25),this[_0x1a4e('0x465e')]=new _0x419b86({'boundingVolume':this['_waterGeometry']['boundingSphere'],'primitiveType':_0xdb2b45[_0x1a4e('0x3b5a')],'vertexArray':_0x216544,'shaderProgram':_0x11ac29,'castShadows':!0x1,'receiveShadows':!0x1,'uniformMap':this['_uniformMap'],'renderState':_0x1beabb,'pass':_0x1dec5c['OPAQUE']}),_0xd90e25[_0x1a4e('0x3d9d')]['push'](this[_0x1a4e('0x465e')]);}},_0x268bf3[_0x1a4e('0xa')][_0x1a4e('0x465d')]=function(_0xd90e25){var _0x268bf3=_0xd90e25[_0x1a4e('0x8cb')],_0x558a98=_0xd90e25[_0x1a4e('0x3a06')];this[_0x1a4e('0x4652')]=_0x1335f7[_0x1a4e('0x260')](_0x558a98['viewMatrix'],this[_0x1a4e('0x3b64')],this[_0x1a4e('0x4652')]),this['modeiViewProjection']=_0x1335f7['multiply'](_0x558a98[_0x1a4e('0x3a51')][_0x1a4e('0x465f')],this[_0x1a4e('0x4652')],this[_0x1a4e('0x4654')]);var _0xf1cf1a=_0x17e21b[_0x1a4e('0x240')](this['_waterCenterPos']),_0x1b791a=new _0x17e21b();_0x17e21b[_0x1a4e('0x330')](_0xf1cf1a,_0x1b791a);var _0x2e5790=_0x322c26[_0x1a4e('0x4660')](_0xf1cf1a,_0x1b791a),_0x972e85=-_0x17e21b[_0x1a4e('0x3a9d')](_0x1b791a,_0xf1cf1a),_0x455466=new _0x1335f7(-0x2*_0x1b791a['x']*_0x1b791a['x']+0x1,-0x2*_0x1b791a['x']*_0x1b791a['y'],-0x2*_0x1b791a['x']*_0x1b791a['z'],-0x2*_0x1b791a['x']*_0x972e85,-0x2*_0x1b791a['y']*_0x1b791a['x'],-0x2*_0x1b791a['y']*_0x1b791a['y']+0x1,-0x2*_0x1b791a['y']*_0x1b791a['z'],-0x2*_0x1b791a['y']*_0x972e85,-0x2*_0x1b791a['z']*_0x1b791a['x'],-0x2*_0x1b791a['z']*_0x1b791a['y'],-0x2*_0x1b791a['z']*_0x1b791a['z']+0x1,-0x2*_0x1b791a['z']*_0x972e85,0x0,0x0,0x0,0x1),_0x16e890=new _0x17e21b();_0x17e21b['clone'](_0x558a98[_0x1a4e('0x1df')],_0x16e890);var _0x16ba07=new _0x17e21b(),_0x5b7d2d=new _0x17e21b();_0x17e21b[_0x1a4e('0x3c36')](_0x1b791a,0x2*_0x17e21b[_0x1a4e('0x3a9d')](_0x16e890,_0x1b791a),_0x16ba07),_0x17e21b['subtract'](_0x16e890,_0x16ba07,_0x5b7d2d),_0x17e21b[_0x1a4e('0x330')](_0x5b7d2d,_0x5b7d2d);var _0xf6c6ac=new _0x17e21b();_0x17e21b['clone'](_0x558a98['up'],_0xf6c6ac);var _0x39d4b3=new _0x17e21b(),_0x5cf8ba=new _0x17e21b(),_0x1a70ec=_0x17e21b[_0x1a4e('0x3a9d')](_0xf6c6ac,_0x1b791a);_0x17e21b[_0x1a4e('0x3c36')](_0x1b791a,0x2*_0x1a70ec,_0x5cf8ba),_0x17e21b[_0x1a4e('0x177')](_0xf6c6ac,_0x5cf8ba,_0x39d4b3),_0x17e21b[_0x1a4e('0x330')](_0x39d4b3,_0x39d4b3);var _0x1d59ac=new _0x17e21b(-_0x39d4b3['x'],-_0x39d4b3['y'],-_0x39d4b3['z']),_0x10b284=new _0x17e21b();_0x17e21b[_0x1a4e('0x240')](_0x558a98['position'],_0x10b284);var _0xdb2b45=new _0x17e21b();_0x1335f7['multiplyByPoint'](_0x455466,_0x10b284,_0xdb2b45);var _0x52fe3c=new _0x1335f7();_0x558a98[_0x1a4e('0x3a51')][_0x1a4e('0x3aaa')]=0x5f5e100,_0x1335f7['clone'](_0x558a98['frustum']['projectionMatrix'],_0x52fe3c),this[_0x1a4e('0x4640')][_0x1a4e('0x1df')]=_0x5b7d2d,_0x1a70ec<0.5&&(this[_0x1a4e('0x4640')]['up']=_0x1d59ac),_0x1a70ec>=0.5&&(this[_0x1a4e('0x4640')]['up']=_0x39d4b3),this[_0x1a4e('0x4640')][_0x1a4e('0x3553')]=_0xdb2b45;var _0x509bb6=new _0x1335f7();_0x1335f7[_0x1a4e('0x3cd4')](this[_0x1a4e('0x4640')][_0x1a4e('0x4653')],_0x509bb6),_0x1335f7[_0x1a4e('0x3cd9')](_0x509bb6,_0x509bb6);var _0x25f0a8=new _0x18bd81(_0x2e5790[_0x1a4e('0x951')]['x'],_0x2e5790[_0x1a4e('0x951')]['y'],_0x2e5790[_0x1a4e('0x951')]['z'],-_0x17e21b[_0x1a4e('0x3a9d')](_0x1b791a,_0x1b791a));_0x1335f7[_0x1a4e('0x449a')](_0x509bb6,_0x25f0a8,_0x25f0a8);var _0x491667=_0x25f0a8['w']/Math[_0x1a4e('0x91')](_0x25f0a8['x']*_0x25f0a8['x']+_0x25f0a8['y']*_0x25f0a8['y']+_0x25f0a8['z']*_0x25f0a8['z']),_0x1dec5c=new _0x17e21b(_0x25f0a8['x'],_0x25f0a8['y'],_0x25f0a8['z']);_0x17e21b[_0x1a4e('0x330')](_0x1dec5c,_0x1dec5c);var _0x419b86=new _0x18bd81();_0x419b86['x']=(Math[_0x1a4e('0x139')](_0x1dec5c['x'])+_0x52fe3c[0x8])/_0x52fe3c[0x0],_0x419b86['y']=(Math[_0x1a4e('0x139')](_0x1dec5c['y'])+_0x52fe3c[0x9])/_0x52fe3c[0x5],_0x419b86['z']=-0x1,_0x419b86['w']=(0x1+_0x52fe3c[0xa])/_0x52fe3c[0xe];var _0x57ad8d=new _0x18bd81(_0x1dec5c['x'],_0x1dec5c['y'],_0x1dec5c['z'],_0x491667),_0x2182a6=new _0x18bd81();_0x18bd81['multiplyByScalar'](_0x57ad8d,0x2/_0x18bd81[_0x1a4e('0x3a9d')](_0x57ad8d,_0x419b86),_0x2182a6),_0x52fe3c[0x2]=_0x2182a6['x'],_0x52fe3c[0x6]=_0x2182a6['y'],_0x52fe3c[0xa]=_0x2182a6['z']+0x1,_0x52fe3c[0xe]=_0x2182a6['w'],_0x1335f7[_0x1a4e('0x240')](_0x52fe3c,this[_0x1a4e('0x4640')]['frustum'][_0x1a4e('0x465f')]),new _0x11ac29({'color':_0x3515ca[_0x1a4e('0x4661')](0xe,0x21,0x3c,0xff),'depth':0x1,'framebuffer':this[_0x1a4e('0x4641')][_0x1a4e('0x464c')]})[_0x1a4e('0x6c3')](_0x268bf3,this[_0x1a4e('0x4641')]),this['renderColorTexture'](_0xd90e25,this[_0x1a4e('0x4641')],this['_reflectCamera']);},_0x268bf3[_0x1a4e('0xa')][_0x1a4e('0x4662')]=function(_0xd90e25,_0x268bf3,_0x558a98){var _0xf1cf1a=_0xd90e25[_0x1a4e('0x8cb')],_0x1b791a=_0xf1cf1a['uniformState'],_0x2e5790=_0xd90e25['camera'];_0xd90e25[_0x1a4e('0x3a06')]=_0x558a98,_0x1b791a['updateCamera'](_0x558a98);for(var _0x972e85=_0xd90e25['commandList'],_0x3515ca=_0x972e85[_0x1a4e('0x1e')],_0x455466=Cesium['Pass'],_0x16e890=0x0;_0x16e890<_0x3515ca;_0x16e890++){var _0x16ba07=_0x972e85[_0x16e890];_0x16ba07['pass']!==_0x455466['GLOBE']&&_0x16ba07[_0x1a4e('0x3d34')]!==_0x455466[_0x1a4e('0x44ef')]&&_0x16ba07['pass']!==_0x455466[_0x1a4e('0x45db')]&&_0x16ba07[_0x1a4e('0x3d34')]!==_0x455466[_0x1a4e('0x3cfd')]&&_0x16ba07[_0x1a4e('0x3d34')]!==_0x455466[_0x1a4e('0x4663')]&&_0x16ba07[_0x1a4e('0x3d34')]!==_0x455466[_0x1a4e('0x4664')]||(_0x1b791a[_0x1a4e('0x4665')](_0x16ba07[_0x1a4e('0x3d34')]),_0x2ef3b4(_0x16ba07,_0xd90e25,_0xf1cf1a,_0x268bf3));}_0x1b791a[_0x1a4e('0x4666')](_0x2e5790),_0xd90e25[_0x1a4e('0x3a06')]=_0x2e5790;},_0x268bf3[_0x1a4e('0xa')]['destroy']=function(){return this['_drawCommand']&&(this['_drawCommand']=this[_0x1a4e('0x465e')]&&this[_0x1a4e('0x465e')][_0x1a4e('0x3d47')][_0x1a4e('0x139c')]()),_0x52fe3c(this);},_0x268bf3;}(_0x1b791a[_0x1a4e('0x437c')]);_0x268bf3[_0x1a4e('0x8')]=_0x53b941;},'./src/LayerManager/GraphicLayer/GraphicRender/WeatherParticle.ts':function(_0xa00da1,_0xeaa07f,_0x55f458){'use strict';_0x55f458['r'](_0xeaa07f),_0x55f458['d'](_0xeaa07f,_0x1a4e('0x42dc'),function(){return _0x2134a6;});var _0x2d899c,_0x14bfa7=_0x55f458(_0x1a4e('0x430f')),_0x275f4d=_0x55f458(_0x1a4e('0x38d0')),_0x334442=_0x55f458(_0x1a4e('0x3999')),_0x3cc09b=(_0x2d899c=function(_0xa00da1,_0xeaa07f){return(_0x2d899c=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0xa00da1,_0xeaa07f){_0xa00da1['__proto__']=_0xeaa07f;}||function(_0xa00da1,_0xeaa07f){for(var _0x55f458 in _0xeaa07f)_0xeaa07f[_0x1a4e('0xb')](_0x55f458)&&(_0xa00da1[_0x55f458]=_0xeaa07f[_0x55f458]);})(_0xa00da1,_0xeaa07f);},function(_0xa00da1,_0xeaa07f){function _0x55f458(){this[_0x1a4e('0x10')]=_0xa00da1;}_0x2d899c(_0xa00da1,_0xeaa07f),_0xa00da1[_0x1a4e('0xa')]=null===_0xeaa07f?Object[_0x1a4e('0x7')](_0xeaa07f):(_0x55f458[_0x1a4e('0xa')]=_0xeaa07f[_0x1a4e('0xa')],new _0x55f458());}),_0x2134a6=function(_0xa00da1){function _0xeaa07f(){return null!==_0xa00da1&&_0xa00da1[_0x1a4e('0x8b')](this,arguments)||this;}return _0x3cc09b(_0xeaa07f,_0xa00da1),Object['defineProperty'](_0xeaa07f[_0x1a4e('0xa')],_0x1a4e('0x418c'),{'get':function(){return _0x14bfa7['RenderTypeEnum'][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0xeaa07f[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0xa00da1=this;this[_0x1a4e('0x4667')]=-0x1f4,this[_0x1a4e('0x4668')]=-0xa;var _0xeaa07f=this[_0x1a4e('0x4323')];this['_weatherType']=_0xeaa07f[_0x1a4e('0x42dd')],this['updateParticle']=function(_0xeaa07f){var _0x55f458=new Cesium['Cartesian3']();_0x55f458=Cesium['Cartesian3']['normalize'](_0xeaa07f[_0x1a4e('0x3553')],_0x55f458),_0x1a4e('0x42de')==_0xa00da1[_0x1a4e('0x4669')]?Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0x55f458,_0xa00da1[_0x1a4e('0x4667')],_0x55f458):_0x1a4e('0x466a')==_0xa00da1[_0x1a4e('0x4669')]&&Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0x55f458,_0xa00da1[_0x1a4e('0x4668')],_0x55f458),_0xeaa07f[_0x1a4e('0x466b')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0xeaa07f[_0x1a4e('0x466b')],_0x55f458,_0xeaa07f[_0x1a4e('0x466b')]);},this[_0x1a4e('0x4312')]=this[_0x1a4e('0x466c')](),this[_0x1a4e('0x42e6')]['add'](this[_0x1a4e('0x4312')]);},_0xeaa07f[_0x1a4e('0xa')]['updateAttribute']=function(_0xa00da1){var _0xeaa07f=this[_0x1a4e('0x4323')];switch(_0xa00da1){case'visible':this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0xeaa07f[_0xa00da1]&&_0xeaa07f[_0x1a4e('0x41a2')];break;case _0x1a4e('0x42dd'):case _0x1a4e('0x3553'):case _0x1a4e('0x1075'):this[_0x1a4e('0x4669')]=_0xeaa07f[_0x1a4e('0x42dd')],this['_renderObj']&&(this[_0x1a4e('0x42e6')]['remove'](this[_0x1a4e('0x4312')]),this['_renderObj']=this[_0x1a4e('0x466c')](),this[_0x1a4e('0x42e6')][_0x1a4e('0x177')](this[_0x1a4e('0x4312')]));}},_0xeaa07f[_0x1a4e('0xa')]['createParticle']=function(){var _0xa00da1=this['_dataItem'];return _0x1a4e('0x42de')==this['_weatherType']?new Cesium[(_0x1a4e('0x43f8'))]({'image':_0x334442[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x466d')),'startScale':0.3,'endScale':0.8,'lifetime':0x1,'imageSize':new Cesium[(_0x1a4e('0x3952'))](0xa,0x64),'emitter':new Cesium[(_0x1a4e('0x43fa'))](_0xa00da1[_0x1a4e('0x1075')]),'emissionRate':0x1388,'emitterModelMatrix':this[_0x1a4e('0x466e')](),'startColor':new Cesium[(_0x1a4e('0x3947'))](0.74,0.74,0.74,0.5),'endColor':new Cesium['Color'](0.74,0.74,0.74,0.98),'updateCallback':this[_0x1a4e('0x466f')]}):_0x1a4e('0x466a')==this[_0x1a4e('0x4669')]?new Cesium['ParticleSystem']({'image':_0x334442[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x466d')),'startScale':0.3,'endScale':0.8,'lifetime':0x1,'emitter':new Cesium[(_0x1a4e('0x43fa'))](_0xa00da1[_0x1a4e('0x1075')]),'emissionRate':0x1388,'emitterModelMatrix':this[_0x1a4e('0x466e')](),'imageSize':new Cesium[(_0x1a4e('0x3952'))](0x5,0x5),'startColor':new Cesium['Color'](0x1,0x1,0x1,0.5),'endColor':new Cesium[(_0x1a4e('0x3947'))](0x1,0x1,0x1,0.98),'updateCallback':this[_0x1a4e('0x466f')]}):void 0x0;},_0xeaa07f['prototype'][_0x1a4e('0x466e')]=function(){var _0xa00da1=this[_0x1a4e('0x4323')],_0xeaa07f=_0x275f4d[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0xa00da1[_0x1a4e('0x3553')]),_0x55f458=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0xeaa07f,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),new Cesium['Cartesian3']()),_0x2d899c=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0xeaa07f,new Cesium[(_0x1a4e('0x393e'))]()),_0x14bfa7=new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x1),_0x334442=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a9d')](_0x14bfa7,_0x2d899c)/Cesium['Cartesian3']['magnitude'](_0x14bfa7)*Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x2d899c),_0x3cc09b=Math[_0x1a4e('0x92c')](_0x334442),_0x2134a6=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x14bfa7,_0x2d899c,new Cesium[(_0x1a4e('0x393e'))]()),_0x501e68=Cesium['Quaternion'][_0x1a4e('0x40c4')](_0x2134a6,_0x3cc09b),_0x42edd6=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3aaf')](_0x501e68);return Cesium[_0x1a4e('0x3a29')]['fromRotationTranslation'](_0x42edd6,_0x55f458);},_0xeaa07f[_0x1a4e('0xa')][_0x1a4e('0x466f')]=function(_0xa00da1){this[_0x1a4e('0x4323')];var _0xeaa07f=new Cesium[(_0x1a4e('0x393e'))]();_0xeaa07f=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0xa00da1[_0x1a4e('0x3553')],_0xeaa07f),'rain'==this[_0x1a4e('0x4669')]?Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0xeaa07f,this['_rainVelocity'],_0xeaa07f):_0x1a4e('0x466a')==this[_0x1a4e('0x4669')]&&Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0xeaa07f,this[_0x1a4e('0x4668')],_0xeaa07f),_0xa00da1[_0x1a4e('0x466b')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0xa00da1[_0x1a4e('0x466b')],_0xeaa07f,_0xa00da1[_0x1a4e('0x466b')]);},_0xeaa07f[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){_0xa00da1[_0x1a4e('0xa')][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0xeaa07f;}(_0x14bfa7[_0x1a4e('0x437c')]);},'./src/LayerManager/GraphicLayer/GraphicRender/dashboardEffect.ts':function(_0x6aa6cf,_0x4cc07f,_0x29ff51){'use strict';_0x29ff51['r'](_0x4cc07f),_0x29ff51['d'](_0x4cc07f,_0x1a4e('0x4177'),function(){return _0x210026;});var _0x3836c9,_0x22cf9f=_0x29ff51(_0x1a4e('0x430f')),_0x342c8a=_0x29ff51(_0x1a4e('0x3b38')),_0x419190=_0x29ff51('./src/Utils/GeoPoint.ts'),_0x1d4459=_0x29ff51(_0x1a4e('0x3999')),_0x5b59d3=_0x29ff51(_0x1a4e('0x4310')),_0x2a2d2c=(_0x3836c9=function(_0x6aa6cf,_0x4cc07f){return(_0x3836c9=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x6aa6cf,_0x4cc07f){_0x6aa6cf[_0x1a4e('0x295')]=_0x4cc07f;}||function(_0x6aa6cf,_0x4cc07f){for(var _0x29ff51 in _0x4cc07f)_0x4cc07f[_0x1a4e('0xb')](_0x29ff51)&&(_0x6aa6cf[_0x29ff51]=_0x4cc07f[_0x29ff51]);})(_0x6aa6cf,_0x4cc07f);},function(_0x6aa6cf,_0x4cc07f){function _0x29ff51(){this[_0x1a4e('0x10')]=_0x6aa6cf;}_0x3836c9(_0x6aa6cf,_0x4cc07f),_0x6aa6cf['prototype']=null===_0x4cc07f?Object[_0x1a4e('0x7')](_0x4cc07f):(_0x29ff51['prototype']=_0x4cc07f[_0x1a4e('0xa')],new _0x29ff51());}),_0x210026=function(_0x6aa6cf){function _0x4cc07f(_0x4cc07f,_0x29ff51){var _0x3836c9=_0x6aa6cf[_0x1a4e('0x1')](this,_0x4cc07f,_0x29ff51)||this;return _0x3836c9[_0x1a4e('0x502')]=0x0,_0x3836c9;}return _0x2a2d2c(_0x4cc07f,_0x6aa6cf),Object[_0x1a4e('0x2')](_0x4cc07f['prototype'],_0x1a4e('0x418c'),{'get':function(){return _0x22cf9f[_0x1a4e('0x4318')][_0x1a4e('0x19e6')];},'enumerable':!0x0,'configurable':!0x0}),_0x4cc07f['prototype']['init']=function(){this[_0x1a4e('0x4312')]=new Cesium[(_0x1a4e('0x42e5'))]({'destroyPrimitives':!0x1}),this[_0x1a4e('0x3e0')](),this[_0x1a4e('0x4418')](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](this[_0x1a4e('0x450c')]),this['_renderRoot']['add'](this[_0x1a4e('0x4312')]);},_0x4cc07f[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(){for(var _0x6aa6cf=[],_0x4cc07f=[],_0x29ff51=this[_0x1a4e('0x4323')][_0x1a4e('0x3b5d')],_0x3836c9=0x0;_0x3836c9<0x168;_0x3836c9+=0x6){var _0x22cf9f=Math['PI']/0xb4*_0x3836c9;_0x6aa6cf[_0x1a4e('0x46')](new Cesium['Cartesian3'](_0x29ff51*Math[_0x1a4e('0x90')](_0x22cf9f),_0x29ff51*Math[_0x1a4e('0x8f')](_0x22cf9f),0x0)),_0x4cc07f['push'](new Cesium[(_0x1a4e('0x393e'))]((_0x29ff51-0x0)*Math[_0x1a4e('0x90')](_0x22cf9f),(_0x29ff51-0x0)*Math[_0x1a4e('0x8f')](_0x22cf9f),0x0));}_0x6aa6cf['push'](new Cesium[(_0x1a4e('0x393e'))](_0x29ff51,0x0,0x0)),_0x4cc07f[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393e'))](_0x29ff51-0x0,0x0,0x0));for(var _0x342c8a=[],_0x419190=[],_0x1d4459=this[_0x1a4e('0x43f0')](),_0x5b59d3=0x0;_0x5b59d3<_0x6aa6cf[_0x1a4e('0x1e')];_0x5b59d3++)_0x342c8a[_0x1a4e('0x46')](Cesium['Matrix4'][_0x1a4e('0x4507')](_0x1d4459,_0x6aa6cf[_0x5b59d3],new Cesium[(_0x1a4e('0x393e'))]())),_0x419190[_0x1a4e('0x46')](Cesium[_0x1a4e('0x3a29')]['multiplyByPoint'](_0x1d4459,_0x4cc07f[_0x5b59d3],new Cesium['Cartesian3']()));this[_0x1a4e('0x4508')]=new Cesium[(_0x1a4e('0x3945'))]['fromPositions']({'positions':_0x342c8a});},_0x4cc07f[_0x1a4e('0xa')]['createAppearence']=function(){Cesium['defined'](this[_0x1a4e('0x502')])||(this['angle']=0x0);var _0x6aa6cf=this[_0x1a4e('0x4323')];this['polygonAppearance']=new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'image':_0x1d4459[_0x1a4e('0x39a0')]['formatUrlByBaseJs'](_0x1a4e('0x4670')),'color':_0x342c8a[_0x1a4e('0x3b60')]['getColor'](_0x6aa6cf['dashColor']),'angle':Cesium['Math'][_0x1a4e('0x566')](this[_0x1a4e('0x502')])},'source':this['getMS']()}}),'transparent':!0x0});},_0x4cc07f[_0x1a4e('0xa')]['createPrimitive']=function(){this[_0x1a4e('0x450c')]=new Cesium[(_0x1a4e('0x3946'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x4508')]}),'appearance':this[_0x1a4e('0x450d')],'asynchronous':!0x1});},_0x4cc07f[_0x1a4e('0xa')][_0x1a4e('0x3b43')]=function(){return'czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20center=vec2(0.5,0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mat2\x20rot\x20=\x20mat2(cos(angle),-sin(angle),sin(angle),cos(angle));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uv\x20=\x20materialInput.st\x20-\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uvTest\x20=\x20rot*uv+center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20materialInput.st=uvTest;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20colorImage=texture2D(image,st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20\x20colorImage.a;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x4cc07f[_0x1a4e('0xa')][_0x1a4e('0x43f0')]=function(){var _0x6aa6cf=this['_dataItem'],_0x4cc07f=_0x419190[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x6aa6cf[_0x1a4e('0x3553')]),_0x29ff51=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x4cc07f,new Cesium[(_0x1a4e('0x393e'))]()),_0x3836c9=new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x1),_0x22cf9f=Cesium[_0x1a4e('0x393e')]['dot'](_0x3836c9,_0x29ff51)/Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x3836c9)*Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x29ff51),_0x342c8a=Math[_0x1a4e('0x92c')](_0x22cf9f),_0x1d4459=Cesium['Cartesian3']['cross'](_0x3836c9,_0x29ff51,new Cesium[(_0x1a4e('0x393e'))]()),_0x5b59d3=Cesium[_0x1a4e('0x3aac')][_0x1a4e('0x40c4')](_0x1d4459,_0x342c8a),_0x2a2d2c=Cesium['Matrix3']['fromQuaternion'](_0x5b59d3);return Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x2a2d2c,_0x4cc07f);},_0x4cc07f['prototype'][_0x1a4e('0x3dda')]=function(_0x4cc07f){_0x6aa6cf[_0x1a4e('0xa')][_0x1a4e('0x3dda')]['call'](this,_0x4cc07f);var _0x29ff51=this['_dataItem'];switch(_0x4cc07f){case _0x1a4e('0x4178'):this[_0x1a4e('0x450d')]['material']['uniforms'][_0x1a4e('0x134')]=_0x342c8a[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x29ff51[_0x4cc07f]);break;case'radius':case _0x1a4e('0x3553'):this['_renderObj']['removeAll'](),this[_0x1a4e('0x3e0')](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](this[_0x1a4e('0x450c')]);break;case _0x1a4e('0x502'):this['angle']=_0x29ff51[_0x1a4e('0x502')],this[_0x1a4e('0x450d')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x502')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](this[_0x1a4e('0x502')]);break;case'visible':this[_0x1a4e('0x4312')][_0x1a4e('0x3a23')]=_0x29ff51[_0x4cc07f]&&this[_0x1a4e('0x4323')]['renderVisible'];}},_0x4cc07f['prototype'][_0x1a4e('0xb5')]=function(){_0x6aa6cf[_0x1a4e('0xa')]['clear'][_0x1a4e('0x1')](this);},_0x4cc07f;}(_0x5b59d3[_0x1a4e('0x432e')]);},'./src/LayerManager/GraphicLayer/GraphicRender/html/HtmlElementDrag.ts':function(_0x4145a9,_0x51ccf3,_0x550ecf){'use strict';_0x550ecf['r'](_0x51ccf3),_0x550ecf['d'](_0x51ccf3,_0x1a4e('0x4671'),function(){return _0x2d16ad;});var _0x2d16ad=function(){function _0x4145a9(){this['isMouseDown']=!0x1;}return _0x4145a9['prototype'][_0x1a4e('0x3eb0')]=function(_0x4145a9,_0x51ccf3,_0x550ecf){var _0x2d16ad=this;this[_0x1a4e('0x4672')]=_0x51ccf3,this['container']=_0x550ecf,this[_0x1a4e('0x4673')]=0x0,this['dragY']=0x0,this[_0x1a4e('0x4674')]=!0x0,this[_0x1a4e('0x4675')]=_0x4145a9['pageX'],this[_0x1a4e('0x4676')]=_0x4145a9['pageY'],this[_0x1a4e('0x12d8')]['onmousemove']=function(_0x4145a9){return _0x2d16ad[_0x1a4e('0x4677')](_0x4145a9);},this[_0x1a4e('0x12d8')][_0x1a4e('0x4678')]=function(_0x4145a9){return _0x2d16ad[_0x1a4e('0x4679')](_0x4145a9);},this['_mouseDownCallback']&&this[_0x1a4e('0x467a')](_0x4145a9);},Object[_0x1a4e('0x2')](_0x4145a9[_0x1a4e('0xa')],'mouseDownCallback',{'set':function(_0x4145a9){this[_0x1a4e('0x467a')]=_0x4145a9;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4145a9['prototype'],'mouseMoveCallback',{'set':function(_0x4145a9){this[_0x1a4e('0x467b')]=_0x4145a9;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4145a9[_0x1a4e('0xa')],_0x1a4e('0x467c'),{'set':function(_0x4145a9){this['_mouseUpCallback']=_0x4145a9;},'enumerable':!0x0,'configurable':!0x0}),_0x4145a9['prototype'][_0x1a4e('0x4677')]=function(_0x4145a9){this[_0x1a4e('0x4674')]&&(this[_0x1a4e('0x4673')]=_0x4145a9[_0x1a4e('0x467d')]-this[_0x1a4e('0x4675')],this[_0x1a4e('0x467e')]=_0x4145a9['pageY']-this['mouseDownY'],this['_mouseMoveCallback']&&this[_0x1a4e('0x467b')](_0x4145a9,this['dragX'],this[_0x1a4e('0x467e')]));},_0x4145a9[_0x1a4e('0xa')]['onMouseUp']=function(_0x4145a9){this[_0x1a4e('0x4674')]&&(this[_0x1a4e('0x467f')]&&this[_0x1a4e('0x467f')](_0x4145a9),this[_0x1a4e('0x12d8')][_0x1a4e('0xec4')]=void 0x0,this[_0x1a4e('0x12d8')][_0x1a4e('0x4678')]=void 0x0,this[_0x1a4e('0x4674')]=!0x1);},_0x4145a9[_0x1a4e('0x3f0a')]=function(_0x4145a9){var _0x51ccf3=document[_0x1a4e('0x4680')][_0x1a4e('0x4681')](_0x4145a9,null)['left'],_0x550ecf=document[_0x1a4e('0x4680')][_0x1a4e('0x4681')](_0x4145a9,null)['top'],_0x2d16ad=0x0,_0x43e649=0x0;return _0x51ccf3&&_0x1a4e('0x60')!==_0x51ccf3&&(_0x2d16ad=parseInt(_0x51ccf3)),_0x550ecf&&_0x1a4e('0x60')!==_0x550ecf&&(_0x43e649=parseInt(_0x550ecf)),[_0x2d16ad,_0x43e649];},_0x4145a9[_0x1a4e('0x4682')]=function(_0x4145a9){var _0x51ccf3=0x0,_0x550ecf=0x0,_0x2d16ad=_0x4145a9['style']['width'];_0x2d16ad?_0x51ccf3=parseInt(_0x2d16ad):(_0x2d16ad=document['defaultView'][_0x1a4e('0x4681')](_0x4145a9,null)[_0x1a4e('0x3936')])&&_0x1a4e('0x60')!==_0x2d16ad&&(_0x51ccf3=parseInt(_0x2d16ad));var _0x2746c6=_0x4145a9[_0x1a4e('0x375c')][_0x1a4e('0x152')];return _0x2746c6?_0x550ecf=parseInt(_0x2746c6):(_0x2746c6=document[_0x1a4e('0x4680')][_0x1a4e('0x4681')](_0x4145a9,null)[_0x1a4e('0x152')])&&_0x1a4e('0x60')!==_0x2746c6&&(_0x550ecf=parseInt(_0x2746c6)),[_0x51ccf3,_0x550ecf];},_0x4145a9;}();},'./src/LayerManager/GraphicLayer/GraphicRender/html/HtmlItem.ts':function(_0x2977e0,_0x3b60c1,_0x11eca8){'use strict';_0x11eca8['r'](_0x3b60c1),_0x11eca8['d'](_0x3b60c1,_0x1a4e('0x44e6'),function(){return _0x3db383;}),_0x11eca8['d'](_0x3b60c1,_0x1a4e('0x4683'),function(){return _0x5eede1;});var _0x1c1917=_0x11eca8(_0x1a4e('0x3999')),_0x3db383=function(){function _0x2977e0(_0x2977e0,_0x3b60c1){this[_0x1a4e('0x515')]=_0x1c1917['Util']['createGuid'](),this[_0x1a4e('0x3d3')]='',this[_0x1a4e('0x433d')]=_0x2977e0,this['initElement'](_0x3b60c1);}return _0x2977e0['prototype'][_0x1a4e('0x3cc')]=function(){return _0x2977e0[_0x1a4e('0x40')];},Object['defineProperty'](_0x2977e0,_0x1a4e('0x40'),{'get':function(){return'HtmlItem';},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2977e0[_0x1a4e('0xa')],'id',{'get':function(){return this[_0x1a4e('0x515')];},'set':function(_0x2977e0){this['_id']=_0x2977e0,this['_element']&&this['_element']['setAttribute']('id',this['_id']);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2977e0[_0x1a4e('0xa')],'name',{'get':function(){return this['_name'];},'set':function(_0x2977e0){this[_0x1a4e('0x3d3')]=_0x2977e0;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2977e0[_0x1a4e('0xa')],'element',{'get':function(){return this[_0x1a4e('0x4351')];},'set':function(_0x2977e0){this['_element']=_0x2977e0;},'enumerable':!0x0,'configurable':!0x0}),_0x2977e0[_0x1a4e('0xa')][_0x1a4e('0x4684')]=function(_0x2977e0){if(_0x2977e0){if(_0x2977e0 instanceof HTMLElement)this[_0x1a4e('0x4351')]=_0x2977e0;else for(var _0x3b60c1 in this[_0x1a4e('0x4351')]=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6')),_0x2977e0)if(_0x2977e0['hasOwnProperty'](_0x3b60c1)){var _0x11eca8=_0x2977e0[_0x3b60c1],_0x1c1917=typeof _0x11eca8;'number'===_0x1c1917?this['_element'][_0x1a4e('0x375c')][_0x3b60c1]=_0x11eca8+'px':_0x1a4e('0x9')===_0x1c1917&&(_0x1a4e('0x2cb')===_0x3b60c1?this[_0x1a4e('0x2cb')]=_0x11eca8:this[_0x1a4e('0x4351')][_0x1a4e('0x375c')][_0x3b60c1]=_0x11eca8);}}else this[_0x1a4e('0x4351')]=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));this['_element'][_0x1a4e('0x3935')]('id',this[_0x1a4e('0x515')]);},_0x2977e0;}(),_0x5eede1=function(){this[_0x1a4e('0x40')]='HtmlItem',this['name']='',this[_0x1a4e('0x3936')]=0x64,this[_0x1a4e('0x152')]=0x64;};},'./src/LayerManager/GraphicLayer/GraphicRender/html/HtmlItemCollection.ts':function(_0x4ced8d,_0x416d4e,_0x320d54){'use strict';_0x320d54['r'](_0x416d4e);var _0x45d8be=_0x320d54('./src/Utils/Util.ts'),_0x59ea22=_0x320d54(_0x1a4e('0x4685')),_0x3ef763=_0x320d54(_0x1a4e('0x4686')),_0x50164c=function(){function _0x4ced8d(_0x4ced8d){this[_0x1a4e('0x4687')]=[],this[_0x1a4e('0x515')]=_0x45d8be[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),this[_0x1a4e('0x38fa')]=_0x4ced8d,this[_0x1a4e('0x3d3')]='',this['init']();}return Object[_0x1a4e('0x2')](_0x4ced8d['prototype'],'id',{'get':function(){return this[_0x1a4e('0x515')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4ced8d[_0x1a4e('0xa')],_0x1a4e('0x35b'),{'get':function(){return this[_0x1a4e('0x4687')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4ced8d[_0x1a4e('0xa')],_0x1a4e('0x2cb'),{'get':function(){return this[_0x1a4e('0x3d3')];},'set':function(_0x4ced8d){this[_0x1a4e('0x3d3')]=_0x4ced8d;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4ced8d[_0x1a4e('0xa')],'container',{'get':function(){return this[_0x1a4e('0x433d')];},'enumerable':!0x0,'configurable':!0x0}),_0x4ced8d[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){var _0x4ced8d=this[_0x1a4e('0x38fa')][_0x1a4e('0x12d8')];this[_0x1a4e('0x4688')]=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6')),this['_htmlContainer'][_0x1a4e('0x3935')]('id',this['_id']),_0x4ced8d[_0x1a4e('0x12c4')](this['_htmlContainer']),this['_container']=_0x4ced8d,this[_0x1a4e('0x4689')]('.screenTextInput:focus',_0x1a4e('0x468a'));},_0x4ced8d[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x4ced8d){var _0x416d4e,_0x320d54=_0x4ced8d[_0x1a4e('0x40')];if(_0x320d54)switch(_0x320d54){case _0x1a4e('0x44e6'):_0x416d4e=new _0x59ea22[(_0x1a4e('0x44e6'))](this[_0x1a4e('0x433d')],_0x4ced8d);break;case _0x1a4e('0x3eac'):_0x416d4e=new _0x3ef763[(_0x1a4e('0x3eac'))](this['_container'],_0x4ced8d);}else _0x4ced8d instanceof HTMLElement&&(_0x416d4e=_0x4ced8d);if(!this[_0x1a4e('0x2ac')](_0x416d4e))return this[_0x1a4e('0x4687')][_0x1a4e('0x46')](_0x416d4e),this[_0x1a4e('0x4688')][_0x1a4e('0x12c4')](_0x416d4e[_0x1a4e('0x26ee')]),_0x416d4e;},_0x4ced8d[_0x1a4e('0xa')]['remove']=function(_0x4ced8d){this[_0x1a4e('0x41a6')](_0x4ced8d['id']);},_0x4ced8d['prototype'][_0x1a4e('0x3a42')]=function(){this[_0x1a4e('0x4687')]=[],this[_0x1a4e('0x4688')][_0x1a4e('0x12ba')]='';},_0x4ced8d['prototype'][_0x1a4e('0x41a6')]=function(_0x4ced8d){var _0x416d4e=this[_0x1a4e('0x4687')][_0x1a4e('0x5cb')](function(_0x416d4e){return _0x416d4e['id']===_0x4ced8d;});_0x416d4e>-0x1&&(this[_0x1a4e('0x4688')][_0x1a4e('0x12c5')](this[_0x1a4e('0x4687')][_0x416d4e]['element']),this[_0x1a4e('0x4687')][_0x1a4e('0x8a')](_0x416d4e,0x1));},_0x4ced8d[_0x1a4e('0xa')][_0x1a4e('0x41a8')]=function(_0x4ced8d){return this[_0x1a4e('0x4687')][_0x1a4e('0x1c7')](function(_0x416d4e){return _0x416d4e['id']===_0x4ced8d;});},_0x4ced8d[_0x1a4e('0xa')][_0x1a4e('0x2ac')]=function(_0x4ced8d){return this[_0x1a4e('0x4687')][_0x1a4e('0x5cb')](function(_0x416d4e){return _0x416d4e['id']===_0x4ced8d['id'];})>-0x1;},_0x4ced8d[_0x1a4e('0xa')]['insertCssSheet']=function(_0x4ced8d,_0x416d4e){for(var _0x320d54=0x0;_0x320d540x168&&(_0x31a2da=0x168);var _0x14f3f8=this[_0x1a4e('0x46b5')];this['_isReserve']?_0x14f3f8-=_0x31a2da:_0x14f3f8+=_0x31a2da;var _0x18451f=_0xf710e5[_0x1a4e('0x4162')],_0x48d069=_0xf710e5[_0x1a4e('0x4163')]-_0xf710e5['scanAngle'],_0x5dd8c4=_0xf710e5[_0x1a4e('0x427f')];_0x14f3f8>_0x48d069&&(_0x5dd8c4?(_0x14f3f8=_0x48d069-(_0x14f3f8-_0x48d069),this['_isReserve']=!0x0):_0x14f3f8=_0x14f3f8-_0x48d069+_0xf710e5[_0x1a4e('0x4162')]),_0x14f3f8<_0x18451f&&_0x5dd8c4&&(_0x14f3f8=_0x18451f+(_0x18451f-_0x14f3f8),this[_0x1a4e('0x46b4')]=!0x1),this['_rotateAngle']=_0x14f3f8;var _0x4769f6=this['getScanModelMatrix']();this[_0x1a4e('0x46b6')]['modelMatrix']=_0x4769f6,this['_primitiveScanLine'][_0x1a4e('0x3b64')]=_0x4769f6;},_0xf710e5[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(){var _0x597ac=this[_0x1a4e('0x4323')],_0xf710e5=_0x597ac[_0x1a4e('0x3b5d')],_0x350949=_0x597ac[_0x1a4e('0x4162')],_0x31a2da=_0x597ac['endAngle'],_0x14f3f8=_0x597ac[_0x1a4e('0x4279')],_0x18451f=_0x597ac['vEndAngle'],_0x26d809=_0x597ac['scanAngle'];this[_0x1a4e('0x46b7')]?this['_sphereVertex'][_0x1a4e('0x46b8')](_0xf710e5,_0x350949,_0x31a2da,_0x14f3f8,_0x18451f,_0x26d809):this[_0x1a4e('0x46b7')]=new _0x4769f6[(_0x1a4e('0x46b9'))](_0xf710e5,_0x350949,_0x31a2da,_0x14f3f8,_0x18451f,_0x26d809);var _0x23f21b=new Cesium[(_0x1a4e('0x393e'))](_0xf710e5,_0xf710e5,_0xf710e5);this[_0x1a4e('0x46b7')][_0x1a4e('0x1af')]=_0x23f21b,this[_0x1a4e('0x46ba')]||(this['_sphereTriangle']=new _0x48d069[(_0x1a4e('0x46bb'))](this[_0x1a4e('0x46b7')])),this[_0x1a4e('0x46ba')][_0x1a4e('0x3e0')](),this[_0x1a4e('0x46bc')]||(this[_0x1a4e('0x46bc')]=new _0x8bbdc2['SphereLines'](this['_sphereVertex'])),this[_0x1a4e('0x46bc')][_0x1a4e('0x3e0')](),this[_0x1a4e('0x46bd')]||(this[_0x1a4e('0x46bd')]=new _0x33390d[(_0x1a4e('0x46be'))](this[_0x1a4e('0x46b7')])),this[_0x1a4e('0x46bd')][_0x1a4e('0x3e0')](),this[_0x1a4e('0x46bf')]||(this[_0x1a4e('0x46bf')]=new _0x46fe5a[(_0x1a4e('0x46c0'))](this['_sphereVertex'])),this[_0x1a4e('0x46bf')][_0x1a4e('0x3e0')](_0x597ac[_0x1a4e('0x4285')]);var _0x245fc9=_0x5dd8c4[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x597ac['scanColor']);this[_0x1a4e('0x46bf')][_0x1a4e('0x3da8')](_0x245fc9);},_0xf710e5[_0x1a4e('0xa')]['createPrimitive']=function(){this[_0x1a4e('0x46c1')]=this[_0x1a4e('0x3b55')](),this[_0x1a4e('0x46c2')](),this[_0x1a4e('0x46c3')](),this['createConePrimitive'](),this[_0x1a4e('0x46c4')]();},_0xf710e5[_0x1a4e('0xa')][_0x1a4e('0x46c2')]=function(){var _0x597ac=this[_0x1a4e('0x4323')],_0xf710e5=_0x5dd8c4[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x597ac['outerColor']);_0xf710e5[_0x1a4e('0x3a4f')]=_0x597ac[_0x1a4e('0x4275')];var _0x350949=this[_0x1a4e('0x46ba')][_0x1a4e('0x3b3d')](_0xf710e5);this[_0x1a4e('0x46c5')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x46ba')]['geometry']}),'appearance':_0x350949,'modelMatrix':this[_0x1a4e('0x46c1')],'asynchronous':!0x1,'show':_0x597ac['showTriangle']}),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](this[_0x1a4e('0x46c5')]);},_0xf710e5[_0x1a4e('0xa')][_0x1a4e('0x46c3')]=function(){var _0x597ac=this[_0x1a4e('0x4323')],_0xf710e5=_0x5dd8c4[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0x597ac[_0x1a4e('0x40a0')]),_0x350949=this[_0x1a4e('0x46bc')]['createAppearance'](_0xf710e5);this[_0x1a4e('0x46c6')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x46bc')][_0x1a4e('0x18')],'modelMatrix':this[_0x1a4e('0x46c1')]}),'appearance':_0x350949,'asynchronous':!0x1,'show':_0x597ac[_0x1a4e('0x4283')]}),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](this[_0x1a4e('0x46c6')]);},_0xf710e5[_0x1a4e('0xa')][_0x1a4e('0x46c7')]=function(){var _0x597ac=this[_0x1a4e('0x4323')],_0xf710e5=_0x5dd8c4['RenderUtils']['getColor'](_0x597ac[_0x1a4e('0x40a4')]);_0xf710e5[_0x1a4e('0x3a4f')]=_0x597ac[_0x1a4e('0x46c8')];var _0x350949=this[_0x1a4e('0x46bd')][_0x1a4e('0x3b3d')](_0xf710e5),_0x31a2da=new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x46bd')][_0x1a4e('0x18')]});this['_primitiveCone']=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x31a2da,'appearance':_0x350949,'modelMatrix':this[_0x1a4e('0x46c1')],'asynchronous':!0x1,'show':_0x597ac[_0x1a4e('0x4284')]}),this[_0x1a4e('0x4312')][_0x1a4e('0x177')](this[_0x1a4e('0x46c9')]);},_0xf710e5[_0x1a4e('0xa')][_0x1a4e('0x46c4')]=function(){var _0x597ac=this[_0x1a4e('0x4323')];this[_0x1a4e('0x46b5')]=_0x597ac[_0x1a4e('0x4162')];var _0xf710e5=this[_0x1a4e('0x46ca')](),_0x350949=_0x5dd8c4[_0x1a4e('0x3b60')]['getColor'](_0x597ac[_0x1a4e('0x40a5')]),_0x31a2da=this[_0x1a4e('0x46bf')]['createAppearance'](_0x350949);this[_0x1a4e('0x46b6')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x46bf')][_0x1a4e('0x18')]}),'appearance':_0x31a2da,'modelMatrix':_0xf710e5,'asynchronous':!0x1,'show':_0x597ac[_0x1a4e('0x4282')]}),this[_0x1a4e('0x4312')]['add'](this[_0x1a4e('0x46b6')]),_0x350949[_0x1a4e('0x240')]()[_0x1a4e('0x3a4f')]=0x1,this[_0x1a4e('0x46cb')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':this[_0x1a4e('0x46bf')][_0x1a4e('0x46cc')]}),'appearance':this[_0x1a4e('0x46bf')]['appearanceLines'],'modelMatrix':_0xf710e5,'asynchronous':!0x1}),this[_0x1a4e('0x4312')]['add'](this[_0x1a4e('0x46cb')]);},_0xf710e5[_0x1a4e('0xa')][_0x1a4e('0x3b55')]=function(){var _0x597ac=this[_0x1a4e('0x4323')],_0xf710e5=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x597ac[_0x1a4e('0x3553')]['lon'],_0x597ac[_0x1a4e('0x3553')][_0x1a4e('0x1a2')],_0x597ac[_0x1a4e('0x3553')][_0x1a4e('0x398c')]);return Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0xf710e5);},_0xf710e5[_0x1a4e('0xa')][_0x1a4e('0x46ca')]=function(){var _0x597ac=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](this[_0x1a4e('0x46b5')]),_0xf710e5=new Cesium['Cartesian3'](0x0,0x0,0x1),_0x350949=Cesium[_0x1a4e('0x3aac')][_0x1a4e('0x40c4')](_0xf710e5,_0x597ac),_0x31a2da=Cesium['Matrix3']['fromQuaternion'](_0x350949),_0x14f3f8=Cesium[_0x1a4e('0x3a29')]['multiplyByMatrix3'](this[_0x1a4e('0x46c1')],_0x31a2da,new Cesium[(_0x1a4e('0x3a29'))]()),_0x18451f=Cesium['Cartesian3'][_0x1a4e('0x262')](new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),this[_0x1a4e('0x46b7')][_0x1a4e('0x1af')],new Cesium['Cartesian3']());return _0x14f3f8=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3c64')](_0x14f3f8,_0x18451f,new Cesium[(_0x1a4e('0x3a29'))]());},_0xf710e5['prototype'][_0x1a4e('0x3dda')]=function(_0xf710e5){_0x597ac['prototype'][_0x1a4e('0x3dda')][_0x1a4e('0x1')](this,_0xf710e5);var _0x350949=this[_0x1a4e('0x4323')];switch(_0xf710e5){case _0x1a4e('0x3b2c'):this[_0x1a4e('0x4312')]['show']=_0x350949[_0xf710e5]&&_0x350949[_0x1a4e('0x41a2')];break;case _0x1a4e('0x3553'):this[_0x1a4e('0x46c1')]=this[_0x1a4e('0x3b55')](),this[_0x1a4e('0x46c5')][_0x1a4e('0x3b64')]=this[_0x1a4e('0x46c1')],this[_0x1a4e('0x46c9')]['modelMatrix']=this[_0x1a4e('0x46c1')],this['_primitiveLine']&&(this[_0x1a4e('0x4312')][_0x1a4e('0x82')](this[_0x1a4e('0x46c6')]),this[_0x1a4e('0x46c3')]());break;case _0x1a4e('0x40a3'):case _0x1a4e('0x4275'):this['_renderObj'][_0x1a4e('0x82')](this['_primitiveOut']),this[_0x1a4e('0x46c2')]();case'lineColor':this['_renderObj'][_0x1a4e('0x82')](this[_0x1a4e('0x46c6')]),this[_0x1a4e('0x46c3')]();break;case _0x1a4e('0x40a4'):case _0x1a4e('0x46c8'):this['_renderObj'][_0x1a4e('0x82')](this['_primitiveCone']),this[_0x1a4e('0x46c7')]();break;case'startAngle':case'endAngle':case _0x1a4e('0x4279'):case _0x1a4e('0x427a'):case _0x1a4e('0x3b5d'):case _0x1a4e('0x4276'):this[_0x1a4e('0x4312')]['removeAll'](),this['init']();break;case _0x1a4e('0x40a5'):this['_renderObj']['remove'](this[_0x1a4e('0x46b6')]),this[_0x1a4e('0x4312')][_0x1a4e('0x82')](this['_primitiveScanLine']),this[_0x1a4e('0x46c4')]();break;case'showTriangle':this['_primitiveCone']['show']=_0x350949[_0x1a4e('0x4284')],this[_0x1a4e('0x46c5')][_0x1a4e('0x3a23')]=_0x350949[_0x1a4e('0x4284')];break;case'showLine':this[_0x1a4e('0x46c6')][_0x1a4e('0x3a23')]=_0x350949[_0x1a4e('0x4283')];break;case'showScan':this[_0x1a4e('0x46b6')][_0x1a4e('0x3a23')]=_0x350949[_0x1a4e('0x4282')];}},_0xf710e5[_0x1a4e('0xa')]['clear']=function(){this[_0x1a4e('0x4312')][_0x1a4e('0x3a42')](),_0x597ac['prototype'][_0x1a4e('0xb5')][_0x1a4e('0x1')](this);},_0xf710e5;}(_0x18451f['RenderPositionObject']);},'./src/LayerManager/GraphicLayer/GraphicRender/radar/ScanPlane.ts':function(_0xd839b,_0x57666a,_0xa4b255){'use strict';_0xa4b255['r'](_0x57666a),_0xa4b255['d'](_0x57666a,_0x1a4e('0x46c0'),function(){return _0x32e4d0;});var _0x32e4d0=function(){function _0xd839b(_0xd839b){this[_0x1a4e('0x720')]=_0xd839b;}return _0xd839b[_0x1a4e('0xa')][_0x1a4e('0x3b3d')]=function(_0xd839b){return new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':_0xd839b},'source':this[_0x1a4e('0x3b43')]()}}),'transparent':!0x0});},_0xd839b[_0x1a4e('0xa')][_0x1a4e('0x3b43')]=function(){return _0x1a4e('0x44b6');},_0xd839b[_0x1a4e('0xa')][_0x1a4e('0x3b7c')]=function(_0xd839b,_0x57666a){return new Cesium['Appearance']({'renderState':{'blending':Cesium[_0x1a4e('0x3bb3')][_0x1a4e('0x46cd')],'depthTest':{'enabled':!0x0},'depthMask':!0x0,'lineWidth':0x1},'fragmentShaderSource':_0xd839b,'vertexShaderSource':_0x57666a});},_0xd839b[_0x1a4e('0xa')]['getFS']=function(){return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec4\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0xd839b[_0x1a4e('0xa')]['getVS']=function(){return _0x1a4e('0x46ce');},_0xd839b[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(_0xd839b){var _0x57666a=this['_obj'][_0x1a4e('0x46cf')]+0x1,_0xa4b255=this[_0x1a4e('0x720')][_0x1a4e('0x46d0')],_0x32e4d0=this[_0x1a4e('0x720')][_0x1a4e('0x46d1')],_0x586f69=this['_obj'][_0x1a4e('0x46d2')],_0x451e67=this['_obj'][_0x1a4e('0x46d3')],_0x35ab93=[],_0x50003c=[],_0x4328f8=[];function _0x2df59f(_0xd839b,_0x57666a,_0xa4b255){_0x35ab93[_0x1a4e('0x46')](_0xd839b['x']),_0x4328f8['push'](_0xa4b255['x']),_0x50003c[_0x1a4e('0x46')](_0x57666a['x']),_0x35ab93[_0x1a4e('0x46')](_0xd839b['y']),_0x4328f8[_0x1a4e('0x46')](_0xa4b255['y']),_0x50003c['push'](_0x57666a['y']),_0x35ab93[_0x1a4e('0x46')](_0xd839b['z']),_0x4328f8[_0x1a4e('0x46')](_0xa4b255['z']);}for(var _0xf51bc1=0x0;_0xf51bc1<_0xa4b255;_0xf51bc1++)for(var _0x333db5=0x0;_0x333db5<_0x57666a-0x1;_0x333db5++){var _0x461c1a=(_0xf51bc1+0x1)*_0x57666a+_0x333db5,_0xc81219=_0x32e4d0[_0x3bcff4=_0xf51bc1*_0x57666a+_0x333db5],_0x5ba100=_0x32e4d0[_0x3bcff4+0x1],_0x2a9b72=_0x32e4d0[_0x461c1a],_0x1bced1=_0x32e4d0[_0x461c1a+0x1],_0x251ad1=_0x586f69[_0x3bcff4],_0x1daf81=_0x586f69[_0x3bcff4+0x1],_0x3a1b1b=_0x586f69[_0x461c1a],_0x4c223b=_0x586f69[_0x461c1a+0x1],_0x350321=_0x451e67[_0x3bcff4],_0x277dcd=_0x451e67[_0x3bcff4+0x1],_0x225471=_0x451e67[_0x461c1a],_0x4e29bc=_0x451e67[_0x461c1a+0x1];_0x2df59f(_0xc81219,_0x251ad1,_0x350321),_0x2df59f(_0x5ba100,_0x1daf81,_0x277dcd),_0x2df59f(_0x2a9b72,_0x3a1b1b,_0x225471),_0x2df59f(_0x2a9b72,_0x3a1b1b,_0x225471),_0x2df59f(_0x5ba100,_0x1daf81,_0x277dcd),_0x2df59f(_0x1bced1,_0x4c223b,_0x4e29bc);}if(_0xd839b){var _0x293146=_0x32e4d0[_0x32e4d0[_0x1a4e('0x1e')]-0x1];for(_0xf51bc1=0x0;_0xf51bc1<_0xa4b255;_0xf51bc1++){_0x461c1a=(_0xf51bc1+0x1)*_0x57666a,_0xc81219=_0x32e4d0[_0x3bcff4=_0xf51bc1*_0x57666a],_0x251ad1=_0x586f69[_0x3bcff4],_0x5ba100=_0x32e4d0[_0x461c1a],_0x1daf81=_0x586f69[_0x461c1a];var _0x5bf1b0=Cesium['Cartesian3'][_0x1a4e('0x262')](_0xc81219,_0x293146,new Cesium[(_0x1a4e('0x393e'))]()),_0x4ea883=Cesium['Cartesian3'][_0x1a4e('0x262')](_0x5ba100,_0x293146,new Cesium[(_0x1a4e('0x393e'))]());_0x2df59f(_0xc81219,_0x251ad1,_0x447b47=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')]['cross'](_0x5bf1b0,_0x4ea883,new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]())),_0x2df59f(_0x5ba100,_0x1daf81,_0x447b47),_0x2df59f(_0x293146,new Cesium[(_0x1a4e('0x3952'))](0x1,(_0x251ad1['y']+_0x1daf81['y'])/0x2),_0x447b47);}for(_0xf51bc1=0x0;_0xf51bc1<_0xa4b255;_0xf51bc1++){_0x461c1a=(_0xf51bc1+0x2)*_0x57666a-0x1,_0xc81219=_0x32e4d0[_0x3bcff4=(_0xf51bc1+0x1)*_0x57666a-0x1],_0x251ad1=_0x586f69[_0x3bcff4],_0x5ba100=_0x32e4d0[_0x461c1a],_0x1daf81=_0x586f69[_0x461c1a],_0x5bf1b0=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0xc81219,_0x293146,new Cesium['Cartesian3']()),_0x4ea883=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x5ba100,_0x293146,new Cesium[(_0x1a4e('0x393e'))]());_0x2df59f(_0x5ba100,_0x1daf81,_0x447b47=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium['Cartesian3'][_0x1a4e('0x3a26')](_0x4ea883,_0x5bf1b0,new Cesium['Cartesian3']()),new Cesium['Cartesian3']())),_0x2df59f(_0xc81219,_0x251ad1,_0x447b47),_0x2df59f(_0x293146,new Cesium[(_0x1a4e('0x3952'))](0x0,(_0x251ad1['y']+_0x1daf81['y'])/0x2),_0x447b47);}for(_0xf51bc1=0x0;_0xf51bc1<_0x57666a-0x1;_0xf51bc1++){_0x461c1a=_0xa4b255*_0x57666a+_0xf51bc1+0x1,_0xc81219=_0x32e4d0[_0x3bcff4=_0xa4b255*_0x57666a+_0xf51bc1],_0x251ad1=_0x586f69[_0x3bcff4],_0x5ba100=_0x32e4d0[_0x461c1a],_0x1daf81=_0x586f69[_0x461c1a],_0x5bf1b0=Cesium[_0x1a4e('0x393e')]['subtract'](_0xc81219,_0x293146,new Cesium[(_0x1a4e('0x393e'))]()),_0x4ea883=Cesium[_0x1a4e('0x393e')]['subtract'](_0x5ba100,_0x293146,new Cesium[(_0x1a4e('0x393e'))]());_0x2df59f(_0xc81219,_0x251ad1,_0x447b47=Cesium['Cartesian3'][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')]['cross'](_0x5bf1b0,_0x4ea883,new Cesium['Cartesian3']()),new Cesium['Cartesian3']())),_0x2df59f(_0x5ba100,_0x1daf81,_0x447b47),_0x2df59f(_0x293146,new Cesium[(_0x1a4e('0x3952'))]((_0x251ad1['x']+_0x1daf81['x'])/0x2,0x0),_0x447b47);}for(_0xf51bc1=0x0;_0xf51bc1<_0x57666a-0x1;_0xf51bc1++){var _0x3bcff4,_0x447b47;_0x461c1a=_0xf51bc1+0x1,_0xc81219=_0x32e4d0[_0x3bcff4=_0xf51bc1],_0x251ad1=_0x586f69[_0x3bcff4],_0x5ba100=_0x32e4d0[_0x461c1a],_0x1daf81=_0x586f69[_0x461c1a],_0x5bf1b0=Cesium[_0x1a4e('0x393e')]['subtract'](_0xc81219,_0x293146,new Cesium[(_0x1a4e('0x393e'))]()),_0x4ea883=Cesium[_0x1a4e('0x393e')]['subtract'](_0x5ba100,_0x293146,new Cesium['Cartesian3']());_0x2df59f(_0x5ba100,_0x1daf81,_0x447b47=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x4ea883,_0x5bf1b0,new Cesium[(_0x1a4e('0x393e'))]()),new Cesium['Cartesian3']())),_0x2df59f(_0xc81219,_0x251ad1,_0x447b47),_0x2df59f(_0x293146,new Cesium[(_0x1a4e('0x3952'))]((_0x251ad1['x']+_0x1daf81['x'])/0x2,0x1),_0x447b47);}}this['geometry']=new Cesium['Geometry']({'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x44d9')],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x35ab93}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x50003c}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':_0x4328f8})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium['BoundingSphere'][_0x1a4e('0x3b5b')](_0x35ab93)});},_0xd839b[_0x1a4e('0xa')][_0x1a4e('0x46d4')]=function(){var _0xd839b=this['_obj'][_0x1a4e('0x46cf')]+0x1,_0x57666a=this[_0x1a4e('0x720')]['verticalNumber'],_0xa4b255=this[_0x1a4e('0x720')][_0x1a4e('0x46d1')],_0x32e4d0=this[_0x1a4e('0x720')][_0x1a4e('0x46d2')],_0x460b0=this[_0x1a4e('0x720')]['normalScan'],_0x46412e=[],_0x4097a7=[],_0x243749=[];function _0x4d9d9b(_0xd839b,_0x57666a,_0xa4b255){_0x46412e[_0x1a4e('0x46')](_0xd839b['x']),_0x243749['push'](_0xa4b255['x']),_0x4097a7[_0x1a4e('0x46')](_0x57666a['x']),_0x46412e[_0x1a4e('0x46')](_0xd839b['y']),_0x243749[_0x1a4e('0x46')](_0xa4b255['y']),_0x4097a7[_0x1a4e('0x46')](_0x57666a['y']),_0x46412e[_0x1a4e('0x46')](_0xd839b['z']),_0x243749[_0x1a4e('0x46')](_0xa4b255['z']);}for(var _0x1dfa8a=0x0;_0x1dfa8a<_0x57666a;_0x1dfa8a++){var _0xdbdf9d=(_0x1dfa8a+0x1)*_0xd839b;_0x4d9d9b(_0xa4b255[_0x7459f1=_0x1dfa8a*_0xd839b],_0x32e4d0[_0x7459f1],_0x460b0[_0x7459f1]),_0x4d9d9b(_0xa4b255[_0xdbdf9d],_0x32e4d0[_0xdbdf9d],_0x460b0[_0xdbdf9d]);}for(_0x1dfa8a=0x0;_0x1dfa8a<_0x57666a;_0x1dfa8a++){var _0x7459f1;_0xdbdf9d=(_0x1dfa8a+0x2)*_0xd839b-0x1;_0x4d9d9b(_0xa4b255[_0x7459f1=(_0x1dfa8a+0x1)*_0xd839b-0x1],_0x32e4d0[_0x7459f1],_0x460b0[_0x7459f1]),_0x4d9d9b(_0xa4b255[_0xdbdf9d],_0x32e4d0[_0xdbdf9d],_0x460b0[_0xdbdf9d]);}var _0x70b783=Cesium['Cartesian3']['normalize'](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0xa4b255[0x0],_0xa4b255[_0xd839b],new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]()),_0x109d61=new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),_0x268a34=new Cesium[(_0x1a4e('0x3952'))](0x1,0x0);_0x4d9d9b(_0x109d61,_0x268a34,_0x70b783),_0x4d9d9b(_0xa4b255[0x0],_0x32e4d0[0x0],_0x70b783);var _0x17347e=new Cesium[(_0x1a4e('0x3952'))](0x1,0x1);_0x4d9d9b(_0x109d61,_0x17347e,_0x70b783),_0x4d9d9b(_0xa4b255[_0x57666a*_0xd839b],_0x32e4d0[_0x57666a*_0xd839b],_0x70b783);var _0x35c800=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0xa4b255[0x2*_0xd839b-0x1],_0xa4b255[_0xd839b-0x1],new Cesium['Cartesian3']()),new Cesium[(_0x1a4e('0x393e'))]());_0x4d9d9b(_0x109d61,_0x268a34,_0x35c800),_0x4d9d9b(_0xa4b255[_0xd839b-0x1],_0x32e4d0[_0xd839b-0x1],_0x35c800),_0x4d9d9b(_0x109d61,_0x17347e,_0x35c800),_0x4d9d9b(_0xa4b255[(_0x57666a+0x1)*_0xd839b-0x1],_0x32e4d0[(_0x57666a+0x1)*_0xd839b-0x1],_0x35c800),this[_0x1a4e('0x46cc')]=new Cesium[(_0x1a4e('0x3abe'))]({'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x46d5')],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x46412e}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x4097a7}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0x243749})},'primitiveType':Cesium[_0x1a4e('0x3abf')]['LINES'],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x46412e)});},_0xd839b['prototype'][_0x1a4e('0x3da8')]=function(_0xd839b){var _0x57666a=this[_0x1a4e('0x720')][_0x1a4e('0x46cf')]+0x1,_0xa4b255=this['_obj'][_0x1a4e('0x46d0')],_0x32e4d0=this['_obj'][_0x1a4e('0x46d1')],_0x321f0c=[],_0x15fc28=[],_0x4c2647=[];function _0x66ba73(_0xd839b,_0x57666a){_0x321f0c[_0x1a4e('0x46')](_0xd839b['x']),_0x321f0c['push'](_0xd839b['y']),_0x321f0c[_0x1a4e('0x46')](_0xd839b['z']),_0x15fc28[_0x1a4e('0x46')](_0x57666a['red']),_0x15fc28[_0x1a4e('0x46')](_0x57666a[_0x1a4e('0x41c6')]),_0x15fc28[_0x1a4e('0x46')](_0x57666a[_0x1a4e('0x41c4')]),_0x15fc28[_0x1a4e('0x46')](0x1);}for(var _0x58da12=0x0;_0x58da12<=_0xa4b255;_0x58da12++){var _0x4c3673=(_0x58da12+0x1)*_0x57666a-0x1;_0x66ba73(_0x32e4d0[_0x5a7527=_0x58da12*_0x57666a],_0xd839b),_0x66ba73(_0x32e4d0[_0x4c3673],_0xd839b);}_0x66ba73(_0x32e4d0[_0x32e4d0[_0x1a4e('0x1e')]-0x1],_0xd839b),_0x57666a=0x2;for(_0x58da12=0x0;_0x58da12<_0xa4b255;_0x58da12++){var _0x5a7527=_0x58da12*_0x57666a;_0x4c3673=(_0x58da12+0x1)*_0x57666a;_0x4c2647[_0x1a4e('0x46')](_0x5a7527),_0x4c2647[_0x1a4e('0x46')](_0x4c3673);}_0x4c2647['push'](_0x321f0c[_0x1a4e('0x1e')]/0x3-0x1),_0x4c2647['push'](0x0),_0x4c2647['push'](_0x321f0c[_0x1a4e('0x1e')]/0x3-0x1),_0x4c2647['push'](_0xa4b255*_0x57666a);for(_0x58da12=0x0;_0x58da12<_0xa4b255;_0x58da12++){_0x5a7527=(_0x58da12+0x1)*_0x57666a-0x1,_0x4c3673=(_0x58da12+0x2)*_0x57666a-0x1;_0x4c2647[_0x1a4e('0x46')](_0x5a7527),_0x4c2647[_0x1a4e('0x46')](_0x4c3673);}_0x4c2647[_0x1a4e('0x46')](_0x321f0c[_0x1a4e('0x1e')]/0x3-0x1),_0x4c2647[_0x1a4e('0x46')](_0x57666a-0x1),_0x4c2647['push'](_0x321f0c[_0x1a4e('0x1e')]/0x3-0x1),_0x4c2647[_0x1a4e('0x46')]((_0xa4b255+0x1)*_0x57666a-0x1);var _0x4f6d23=this[_0x1a4e('0x441a')](),_0xd065d9=this[_0x1a4e('0x441b')]();this[_0x1a4e('0x46d6')]=this[_0x1a4e('0x3b7c')](_0x4f6d23,_0xd065d9),this[_0x1a4e('0x398a')]=new Float64Array(_0x321f0c),this[_0x1a4e('0x3724')]=new Float32Array(_0x15fc28),this[_0x1a4e('0x3cc7')]=new Uint16Array(_0x4c2647),this[_0x1a4e('0x46cc')]=new Cesium[(_0x1a4e('0x3abe'))]({'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x46d7')],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':this[_0x1a4e('0x398a')]}),'color':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x4,'normalize':!0x0,'values':this[_0x1a4e('0x3724')]})},'indices':this[_0x1a4e('0x3cc7')],'primitiveType':Cesium[_0x1a4e('0x3abf')]['LINES'],'boundingSphere':Cesium['BoundingSphere'][_0x1a4e('0x3b5b')](_0x321f0c)});},_0xd839b;}();},'./src/LayerManager/GraphicLayer/GraphicRender/radar/SphereCone.ts':function(_0x161c79,_0x3ca530,_0x2706a7){'use strict';_0x2706a7['r'](_0x3ca530),_0x2706a7['d'](_0x3ca530,_0x1a4e('0x46be'),function(){return _0x58382f;});var _0x58382f=function(){function _0x161c79(_0x161c79){this['_obj']=_0x161c79;}return _0x161c79[_0x1a4e('0xa')]['createAppearance']=function(_0x161c79){return new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':_0x161c79},'source':this[_0x1a4e('0x3b43')]()}}),'transparent':!0x0});},_0x161c79[_0x1a4e('0xa')][_0x1a4e('0x3b43')]=function(){return _0x1a4e('0x44b6');},_0x161c79[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(){var _0x161c79=this[_0x1a4e('0x720')][_0x1a4e('0x46d8')]+0x1,_0x3ca530=this['_obj'][_0x1a4e('0x46d0')],_0x2706a7=this[_0x1a4e('0x720')][_0x1a4e('0x46d9')],_0x58382f=this[_0x1a4e('0x720')][_0x1a4e('0x3ca3')],_0x1fdb7e=[],_0x3bf9e7=[],_0x3b5ae2=[];function _0x49d163(_0x161c79,_0x3ca530,_0x2706a7){_0x1fdb7e[_0x1a4e('0x46')](_0x161c79['x']),_0x3b5ae2['push'](_0x2706a7['x']),_0x3bf9e7[_0x1a4e('0x46')](_0x3ca530['x']),_0x1fdb7e[_0x1a4e('0x46')](_0x161c79['y']),_0x3b5ae2['push'](_0x2706a7['y']),_0x3bf9e7[_0x1a4e('0x46')](_0x3ca530['y']),_0x1fdb7e[_0x1a4e('0x46')](_0x161c79['z']),_0x3b5ae2[_0x1a4e('0x46')](_0x2706a7['z']);}for(var _0x11a038=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')]['cross'](_0x2706a7[0x0],_0x2706a7[_0x161c79],new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]()),_0x3b5527=new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0.001),_0x889a1b=0x0;_0x889a1b<_0x3ca530;_0x889a1b++){var _0x1f1139=_0x889a1b*_0x161c79,_0x5702ad=(_0x889a1b+0x1)*_0x161c79;_0x49d163(_0x3b5527,new Cesium[(_0x1a4e('0x3952'))](0x1,(_0x889a1b+0.5)/_0x3ca530),_0x11a038),_0x49d163(_0x2706a7[_0x1f1139],_0x58382f[_0x1f1139],_0x11a038),_0x49d163(_0x2706a7[_0x5702ad],_0x58382f[_0x5702ad],_0x11a038);}var _0x131037=Cesium['Cartesian3'][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x2706a7[0x2*_0x161c79-0x1],_0x2706a7[_0x161c79-0x1],new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]());for(_0x889a1b=0x0;_0x889a1b<_0x3ca530;_0x889a1b++){_0x1f1139=(_0x889a1b+0x1)*_0x161c79-0x1,_0x5702ad=(_0x889a1b+0x2)*_0x161c79-0x1;_0x49d163(_0x3b5527,new Cesium['Cartesian2'](0x0,(_0x889a1b+0.5)/_0x3ca530),_0x131037),_0x49d163(_0x2706a7[_0x5702ad],_0x58382f[_0x5702ad],_0x131037),_0x49d163(_0x2706a7[_0x1f1139],_0x58382f[_0x1f1139],_0x131037);}var _0x1b1d55=_0x161c79*_0x3ca530,_0x32a68b=_0x2706a7[_0x1b1d55],_0x2c3f09=Cesium['Cartesian3']['subtract'](_0x32a68b,new Cesium[(_0x1a4e('0x393e'))](_0x32a68b['x'],_0x32a68b['y'],_0x32a68b['z']+0xa),new Cesium['Cartesian3']()),_0x1a2ef1=Cesium[_0x1a4e('0x393e')]['cross'](_0x32a68b,_0x2c3f09,new Cesium[(_0x1a4e('0x393e'))]());_0x11a038=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x1a2ef1,_0x32a68b,new Cesium['Cartesian3']()),new Cesium['Cartesian3']());for(var _0xa7908f=0x1;_0xa7908f<_0x161c79;_0xa7908f++){_0x32a68b=_0x2706a7[_0x1b1d55+_0xa7908f],_0x2c3f09=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x32a68b,new Cesium[(_0x1a4e('0x393e'))](_0x32a68b['x'],_0x32a68b['y'],_0x32a68b['z']+0xa),new Cesium[(_0x1a4e('0x393e'))]()),_0x1a2ef1=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x32a68b,_0x2c3f09,new Cesium['Cartesian3']()),_0x131037=Cesium['Cartesian3'][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x1a2ef1,_0x32a68b,new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]()),_0x49d163(_0x3b5527,new Cesium[(_0x1a4e('0x3952'))]((_0x58382f[_0x1b1d55+_0xa7908f-0x1]['x']+_0x58382f[_0x1b1d55+_0xa7908f]['x'])/0x2,0x0),_0x11a038),_0x49d163(_0x2706a7[_0x1b1d55+_0xa7908f-0x1],_0x58382f[_0x1b1d55+_0xa7908f-0x1],_0x11a038),_0x49d163(_0x32a68b,_0x58382f[_0x1b1d55+_0xa7908f],_0x131037),_0x11a038=_0x131037;}this[_0x1a4e('0x18')]=new Cesium[(_0x1a4e('0x3abe'))]({'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x44d9')],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x1fdb7e}),'st':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x3bf9e7}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0x3b5ae2})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x1fdb7e)});},_0x161c79;}();},'./src/LayerManager/GraphicLayer/GraphicRender/radar/SphereLines.ts':function(_0xc04f05,_0x42286d,_0x379fc8){'use strict';_0x379fc8['r'](_0x42286d),_0x379fc8['d'](_0x42286d,_0x1a4e('0x46da'),function(){return _0x2104f3;});var _0x2104f3=function(){function _0xc04f05(_0xc04f05){this[_0x1a4e('0x720')]=_0xc04f05;}return _0xc04f05[_0x1a4e('0xa')]['createAppearance']=function(_0xc04f05){return new Cesium['MaterialAppearance']({'material':new Cesium['Material']({'fabric':{'uniforms':{'color':_0xc04f05},'source':this[_0x1a4e('0x3b43')]()}}),'transparent':!0x0});},_0xc04f05[_0x1a4e('0xa')][_0x1a4e('0x3b43')]=function(){return _0x1a4e('0x44b6');},_0xc04f05['prototype']['createGeometry']=function(){var _0xc04f05=this[_0x1a4e('0x720')][_0x1a4e('0x46d8')]+0x1,_0x42286d=this[_0x1a4e('0x720')][_0x1a4e('0x46d0')],_0x379fc8=this[_0x1a4e('0x720')][_0x1a4e('0x46d9')],_0x2104f3=this[_0x1a4e('0x720')][_0x1a4e('0x3ca3')],_0x1a1fda=this[_0x1a4e('0x720')][_0x1a4e('0x449e')],_0x59c4ee=[],_0x4c1c5d=[],_0x54e545=[];function _0x2a95f3(_0xc04f05,_0x42286d,_0x379fc8){_0x59c4ee['push'](_0xc04f05['x']),_0x54e545[_0x1a4e('0x46')](_0x379fc8['x']),_0x4c1c5d[_0x1a4e('0x46')](_0x42286d['x']),_0x59c4ee[_0x1a4e('0x46')](_0xc04f05['y']),_0x54e545['push'](_0x379fc8['y']),_0x4c1c5d[_0x1a4e('0x46')](_0x42286d['y']),_0x59c4ee[_0x1a4e('0x46')](_0xc04f05['z']),_0x54e545[_0x1a4e('0x46')](_0x379fc8['z']);}for(var _0x43089c=0x0;_0x43089c<_0x42286d;_0x43089c++){for(var _0x4b5ad5=0x0;_0x4b5ad5<_0xc04f05-0x1;_0x4b5ad5++){var _0x3d2c0e=(_0x43089c+0x1)*_0xc04f05+_0x4b5ad5,_0x585691=_0x379fc8[_0x556238=_0x43089c*_0xc04f05+_0x4b5ad5],_0x2ae527=_0x379fc8[_0x556238+0x1],_0x47666e=_0x379fc8[_0x3d2c0e],_0x3d3c14=_0x379fc8[_0x3d2c0e+0x1],_0x41fc51=_0x2104f3[_0x556238],_0x5fab4f=_0x2104f3[_0x556238+0x1],_0x5da74c=_0x2104f3[_0x3d2c0e],_0x1d420b=_0x2104f3[_0x3d2c0e+0x1],_0x4ff6b5=_0x1a1fda[_0x556238],_0x38d8f7=_0x1a1fda[_0x556238+0x1],_0x52b930=_0x1a1fda[_0x3d2c0e],_0x17f07e=_0x1a1fda[_0x3d2c0e+0x1];_0x2a95f3(_0x585691,_0x41fc51,_0x4ff6b5),_0x2a95f3(_0x2ae527,_0x5fab4f,_0x38d8f7),_0x2a95f3(_0x585691,_0x41fc51,_0x4ff6b5),_0x2a95f3(_0x47666e,_0x5da74c,_0x52b930),_0x2a95f3(_0x2ae527,_0x5fab4f,_0x38d8f7),_0x2a95f3(_0x3d3c14,_0x1d420b,_0x17f07e);}if(_0x43089c==_0x42286d-0x1)for(_0x4b5ad5=0x0;_0x4b5ad5<_0xc04f05-0x1;_0x4b5ad5++){var _0x556238;_0x3d2c0e=(_0x556238=_0x42286d*_0xc04f05+_0x4b5ad5)+0x1;_0x2a95f3(_0x379fc8[_0x556238],_0x2104f3[_0x556238],_0x1a1fda[_0x556238]),_0x2a95f3(_0x379fc8[_0x3d2c0e],_0x2104f3[_0x3d2c0e],_0x1a1fda[_0x3d2c0e]);}}var _0x1bb252=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium['Cartesian3'][_0x1a4e('0x3a26')](_0x379fc8[0x0],_0x379fc8[_0xc04f05],new Cesium['Cartesian3']()),new Cesium[(_0x1a4e('0x393e'))]()),_0x532792=new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),_0x3ed195=new Cesium[(_0x1a4e('0x3952'))](0x1,0x0);_0x2a95f3(_0x532792,_0x3ed195,_0x1bb252),_0x2a95f3(_0x379fc8[0x0],_0x2104f3[0x0],_0x1bb252);var _0x5c080d=new Cesium['Cartesian2'](0x1,0x1);_0x2a95f3(_0x532792,_0x5c080d,_0x1bb252),_0x2a95f3(_0x379fc8[_0x42286d*_0xc04f05],_0x2104f3[_0x42286d*_0xc04f05],_0x1bb252);var _0x557a46=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x379fc8[0x2*_0xc04f05-0x1],_0x379fc8[_0xc04f05-0x1],new Cesium['Cartesian3']()),new Cesium[(_0x1a4e('0x393e'))]());_0x2a95f3(_0x532792,_0x3ed195,_0x557a46),_0x2a95f3(_0x379fc8[_0xc04f05-0x1],_0x2104f3[_0xc04f05-0x1],_0x557a46),_0x2a95f3(_0x532792,_0x5c080d,_0x557a46),_0x2a95f3(_0x379fc8[(_0x42286d+0x1)*_0xc04f05-0x1],_0x2104f3[(_0x42286d+0x1)*_0xc04f05-0x1],_0x557a46),this[_0x1a4e('0x18')]=new Cesium['Geometry']({'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x44d9')],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x59c4ee}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x4c1c5d}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0x54e545})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3ac0')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')]['fromVertices'](_0x59c4ee)});},_0xc04f05;}();},'./src/LayerManager/GraphicLayer/GraphicRender/radar/SphereTriangles.ts':function(_0x3b7b5c,_0x300f60,_0xe61142){'use strict';_0xe61142['r'](_0x300f60),_0xe61142['d'](_0x300f60,_0x1a4e('0x46bb'),function(){return _0x5e3a97;});var _0x5e3a97=function(){function _0x3b7b5c(_0x3b7b5c){this[_0x1a4e('0x720')]=_0x3b7b5c;}return _0x3b7b5c[_0x1a4e('0xa')]['createAppearance']=function(_0x3b7b5c){return new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':_0x3b7b5c},'source':this[_0x1a4e('0x3b43')]()}}),'transparent':!0x0});},_0x3b7b5c[_0x1a4e('0xa')]['getMS']=function(){return _0x1a4e('0x44b6');},_0x3b7b5c[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(){var _0x3b7b5c=this[_0x1a4e('0x720')]['horizonNumber']+0x1,_0x300f60=this[_0x1a4e('0x720')]['verticalNumber'],_0xe61142=this[_0x1a4e('0x720')][_0x1a4e('0x46d9')],_0x5e3a97=this[_0x1a4e('0x720')]['textures'],_0x5e377f=this['_obj'][_0x1a4e('0x449e')],_0x18ec73=[],_0x25d3af=[],_0x290289=[];function _0x37632d(_0x3b7b5c,_0x300f60,_0xe61142){_0x18ec73[_0x1a4e('0x46')](_0x3b7b5c['x']),_0x290289[_0x1a4e('0x46')](_0xe61142['x']),_0x25d3af[_0x1a4e('0x46')](_0x300f60['x']),_0x18ec73[_0x1a4e('0x46')](_0x3b7b5c['y']),_0x290289[_0x1a4e('0x46')](_0xe61142['y']),_0x25d3af[_0x1a4e('0x46')](_0x300f60['y']),_0x18ec73[_0x1a4e('0x46')](_0x3b7b5c['z']),_0x290289[_0x1a4e('0x46')](_0xe61142['z']);}for(var _0x258c44=0x0;_0x258c44<_0x300f60;_0x258c44++)for(var _0x5ee371=0x0;_0x5ee371<_0x3b7b5c-0x1;_0x5ee371++){var _0x15c5c9=_0x258c44*_0x3b7b5c+_0x5ee371,_0xa934c0=(_0x258c44+0x1)*_0x3b7b5c+_0x5ee371,_0x38d2a6=_0xe61142[_0x15c5c9],_0x184a09=_0xe61142[_0x15c5c9+0x1],_0x2b4e7c=_0xe61142[_0xa934c0],_0x113291=_0xe61142[_0xa934c0+0x1],_0x3bf8a0=_0x5e3a97[_0x15c5c9],_0x5c53f6=_0x5e3a97[_0x15c5c9+0x1],_0xe41f18=_0x5e3a97[_0xa934c0],_0x5dbcd3=_0x5e3a97[_0xa934c0+0x1],_0x2810b7=_0x5e377f[_0x15c5c9],_0x2204d9=_0x5e377f[_0x15c5c9+0x1],_0x59b63b=_0x5e377f[_0xa934c0],_0x41b7b8=_0x5e377f[_0xa934c0+0x1];_0x37632d(_0x38d2a6,_0x3bf8a0,_0x2810b7),_0x37632d(_0x184a09,_0x5c53f6,_0x2204d9),_0x37632d(_0x2b4e7c,_0xe41f18,_0x59b63b),_0x37632d(_0x2b4e7c,_0xe41f18,_0x59b63b),_0x37632d(_0x184a09,_0x5c53f6,_0x2204d9),_0x37632d(_0x113291,_0x5dbcd3,_0x41b7b8);}this['geometry']=new Cesium[(_0x1a4e('0x3abe'))]({'vertexFormat':Cesium['VertexFormat']['ALL'],'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')]['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x18ec73}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x25d3af}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':_0x290289})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium['BoundingSphere'][_0x1a4e('0x3b5b')](_0x18ec73)});},_0x3b7b5c;}();},'./src/LayerManager/GraphicLayer/GraphicRender/radar/SphereVertex.ts':function(_0x2154fd,_0x431056,_0x3f743f){'use strict';_0x3f743f['r'](_0x431056),_0x3f743f['d'](_0x431056,'SphereVertex',function(){return _0x2b2ff2;});var _0x2b2ff2=function(){function _0x2154fd(_0x2154fd,_0x431056,_0x3f743f,_0x2b2ff2,_0x5e81b0,_0x52b29f){this[_0x1a4e('0x3dcf')]=0x5,this[_0x1a4e('0x4601')]=new Cesium[(_0x1a4e('0x393e'))](-0x64,-0x64,-0x64),this[_0x1a4e('0x46b8')](_0x2154fd,_0x431056,_0x3f743f,_0x2b2ff2,_0x5e81b0,_0x52b29f);}return _0x2154fd[_0x1a4e('0xa')][_0x1a4e('0x46b8')]=function(_0x2154fd,_0x431056,_0x3f743f,_0x2b2ff2,_0x9693b2,_0x308e1c){this[_0x1a4e('0x4413')]=_0x2154fd,this[_0x1a4e('0x46db')]=_0x431056,this[_0x1a4e('0x46dc')]=_0x3f743f,this['_verStart']=_0x2b2ff2,this['_verEnd']=_0x9693b2,this[_0x1a4e('0x46dd')]=_0x308e1c,this[_0x1a4e('0x46de')]();},Object[_0x1a4e('0x2')](_0x2154fd['prototype'],_0x1a4e('0x1af'),{'get':function(){return this[_0x1a4e('0x4601')];},'set':function(_0x2154fd){this['_offset']=_0x2154fd,this[_0x1a4e('0x46de')]();},'enumerable':!0x0,'configurable':!0x0}),_0x2154fd[_0x1a4e('0xa')][_0x1a4e('0x46de')]=function(){for(var _0x2154fd=this[_0x1a4e('0x4413')],_0x431056=this[_0x1a4e('0x46db')],_0x3f743f=this[_0x1a4e('0x46dc')],_0x2b2ff2=this[_0x1a4e('0x46df')],_0x25f8d1=this['_verEnd'],_0x53309f=Math[_0x1a4e('0x6d')]((_0x3f743f-_0x431056)/this[_0x1a4e('0x3dcf')]),_0x437d22=0xa;(_0x25f8d1-_0x2b2ff2)/_0x437d22>0x6;)_0x437d22++;for(var _0x3f82c0=[],_0x1c839b=[],_0x5e59ad=[],_0x481c0a=(_0x25f8d1-_0x2b2ff2)/_0x437d22,_0x4b8a3e=(_0x3f743f-_0x431056)/_0x53309f,_0x844c62=0x0;_0x844c62<=_0x437d22;_0x844c62++)for(var _0xbea7a9=_0x2b2ff2+_0x844c62*_0x481c0a,_0x27edf0=Cesium['Math']['toRadians'](_0xbea7a9),_0x1b8995=_0x2154fd*Math[_0x1a4e('0x90')](_0x27edf0),_0x3319c9=_0x2154fd*Math[_0x1a4e('0x8f')](_0x27edf0),_0x3fba7e=0x0;_0x3fba7e<=_0x53309f;_0x3fba7e++){var _0x5aa672=_0x431056+_0x3fba7e*_0x4b8a3e,_0xd60b37=Cesium['Math'][_0x1a4e('0x566')](_0x5aa672),_0xce418f=new Cesium['Cartesian3'](_0x1b8995*Math[_0x1a4e('0x90')](_0xd60b37),_0x1b8995*Math[_0x1a4e('0x8f')](_0xd60b37),_0x3319c9);_0x3f82c0[_0x1a4e('0x46')](_0xce418f),_0x1c839b[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x3952'))](_0x3fba7e/_0x53309f,_0x844c62/_0x437d22)),_0x5e59ad['push'](Cesium['Cartesian3'][_0x1a4e('0x330')](_0xce418f,new Cesium[(_0x1a4e('0x393e'))]()));}this[_0x1a4e('0x42f')]=_0x3f82c0,this['_texs']=_0x1c839b,this['_normals']=_0x5e59ad,this['_hNum']=_0x53309f,this[_0x1a4e('0x46e0')]=_0x437d22;for(var _0x9471d0=[],_0x1bd21d=[],_0x1d3f42=[],_0x3622a2=0x1,_0x2f6363=this[_0x1a4e('0x46dd')],_0xec9421=this[_0x1a4e('0x4601')];_0x2f6363/_0x3622a2>0x6;)_0x3622a2++;var _0x71ee9d=_0x2f6363/_0x3622a2;for(_0x3fba7e=0x0;_0x3fba7e<=_0x437d22;_0x3fba7e++)for(_0xbea7a9=_0x2b2ff2+_0x3fba7e*_0x481c0a,_0x27edf0=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0xbea7a9),_0x1b8995=_0x2154fd*Math[_0x1a4e('0x90')](_0x27edf0),_0x3319c9=_0x2154fd*Math[_0x1a4e('0x8f')](_0x27edf0),_0x844c62=0x0;_0x844c62<=_0x3622a2;_0x844c62++){_0xd60b37=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x844c62*_0x71ee9d),_0xce418f=new Cesium['Cartesian3'](_0x1b8995*Math['cos'](_0xd60b37)+_0xec9421['x'],_0x1b8995*Math[_0x1a4e('0x8f')](_0xd60b37)+_0xec9421['y'],_0x3319c9+_0xec9421['z']);_0x9471d0[_0x1a4e('0x46')](_0xce418f),_0x1bd21d['push'](new Cesium[(_0x1a4e('0x3952'))](_0x844c62*_0x71ee9d/_0x2f6363,_0x3fba7e/_0x437d22)),_0x1d3f42[_0x1a4e('0x46')](Cesium['Cartesian3'][_0x1a4e('0x330')](Cesium['Cartesian3'][_0x1a4e('0x262')](_0xce418f,_0xec9421,new Cesium['Cartesian3']()),new Cesium[(_0x1a4e('0x393e'))]()));}_0x9471d0['push'](_0xec9421),this[_0x1a4e('0x46e1')]=_0x9471d0,this[_0x1a4e('0x46e2')]=_0x1bd21d,this[_0x1a4e('0x46e3')]=_0x1d3f42,this['_hNumScan']=_0x3622a2;},Object['defineProperty'](_0x2154fd[_0x1a4e('0xa')],_0x1a4e('0x46d9'),{'get':function(){return this[_0x1a4e('0x42f')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2154fd[_0x1a4e('0xa')],'textures',{'get':function(){return this['_texs'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2154fd['prototype'],'normals',{'get':function(){return this[_0x1a4e('0x44d1')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2154fd['prototype'],_0x1a4e('0x46d8'),{'get':function(){return this[_0x1a4e('0x46e4')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2154fd['prototype'],_0x1a4e('0x46d0'),{'get':function(){return this[_0x1a4e('0x46e0')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2154fd[_0x1a4e('0xa')],_0x1a4e('0x46d1'),{'get':function(){return this['_ptsScan'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2154fd[_0x1a4e('0xa')],_0x1a4e('0x46d2'),{'get':function(){return this[_0x1a4e('0x46e2')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2154fd[_0x1a4e('0xa')],'normalScan',{'get':function(){return this[_0x1a4e('0x46e3')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2154fd['prototype'],_0x1a4e('0x46cf'),{'get':function(){return this['_hNumScan'];},'enumerable':!0x0,'configurable':!0x0}),_0x2154fd;}();},'./src/LayerManager/GraphicLayer/Material/Material.ts':function(_0x46cfaf,_0x323367,_0xbd7a8b){'use strict';_0xbd7a8b['r'](_0x323367),_0xbd7a8b['d'](_0x323367,'BaseLineStyle',function(){return _0x55574f;}),_0xbd7a8b['d'](_0x323367,_0x1a4e('0x41d0'),function(){return _0x40a52d;}),_0xbd7a8b['d'](_0x323367,_0x1a4e('0x3996'),function(){return _0x5be23;}),_0xbd7a8b['d'](_0x323367,_0x1a4e('0x3fd1'),function(){return _0x1951dd;}),_0xbd7a8b['d'](_0x323367,'OutlineStyle',function(){return _0x104aba;}),_0xbd7a8b['d'](_0x323367,'DashStyle',function(){return _0x1cb093;}),_0xbd7a8b['d'](_0x323367,_0x1a4e('0x3fd4'),function(){return _0x3d75f7;}),_0xbd7a8b['d'](_0x323367,_0x1a4e('0x43b2'),function(){return _0x28e464;}),_0xbd7a8b['d'](_0x323367,'TextureStyle',function(){return _0x21947a;}),_0xbd7a8b['d'](_0x323367,_0x1a4e('0x3fd6'),function(){return _0x3298f1;}),_0xbd7a8b['d'](_0x323367,_0x1a4e('0x3fd7'),function(){return _0xed6029;}),_0xbd7a8b['d'](_0x323367,_0x1a4e('0x3fd8'),function(){return _0x1e482b;});var _0x4e0fc8,_0x3298f1,_0xed6029,_0x1e482b,_0x231768=_0xbd7a8b(_0x1a4e('0x3999')),_0x8824e=_0xbd7a8b(_0x1a4e('0x3b38')),_0x9d38f2=(_0x4e0fc8=function(_0x46cfaf,_0x323367){return(_0x4e0fc8=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x46cfaf,_0x323367){_0x46cfaf[_0x1a4e('0x295')]=_0x323367;}||function(_0x46cfaf,_0x323367){for(var _0xbd7a8b in _0x323367)_0x323367[_0x1a4e('0xb')](_0xbd7a8b)&&(_0x46cfaf[_0xbd7a8b]=_0x323367[_0xbd7a8b]);})(_0x46cfaf,_0x323367);},function(_0x46cfaf,_0x323367){function _0xbd7a8b(){this[_0x1a4e('0x10')]=_0x46cfaf;}_0x4e0fc8(_0x46cfaf,_0x323367),_0x46cfaf['prototype']=null===_0x323367?Object[_0x1a4e('0x7')](_0x323367):(_0xbd7a8b[_0x1a4e('0xa')]=_0x323367['prototype'],new _0xbd7a8b());}),_0x55574f=function(){function _0x46cfaf(){}return _0x46cfaf[_0x1a4e('0xa')]['toJson']=function(){},_0x46cfaf['prototype']['getMaterial']=function(){return this[_0x1a4e('0x4583')];},_0x46cfaf;}(),_0x40a52d=function(){function _0x46cfaf(){}return _0x46cfaf[_0x1a4e('0x46e5')]=function(_0x46cfaf){if(void 0x0!==_0x46cfaf)switch(_0x46cfaf[_0x1a4e('0x40')]){case _0x1e482b[_0x1a4e('0x46e6')]:return new _0x1951dd(_0x46cfaf);case _0x1e482b[_0x1a4e('0x3947')]:return new _0x5be23(_0x46cfaf);case _0x1e482b[_0x1a4e('0x46e7')]:return new _0x1cb093(_0x46cfaf);case _0x1e482b['Dynamic']:return new _0x28e464(_0x46cfaf);case _0x1e482b[_0x1a4e('0x46e8')]:return new _0x3d75f7(_0x46cfaf);case _0x1e482b[_0x1a4e('0x46e9')]:return new _0x104aba(_0x46cfaf);case _0x1e482b[_0x1a4e('0x3bad')]:return new _0x21947a(_0x46cfaf);}},_0x46cfaf;}(),_0x5be23=function(_0x46cfaf){function _0x323367(_0x323367){var _0xbd7a8b=_0x46cfaf['call'](this)||this;return _0xbd7a8b[_0x1a4e('0x3b69')]=_0x1a4e('0x38d4'),_0x323367||(_0x323367={}),_0xbd7a8b[_0x1a4e('0x3b69')]=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x134')],_0xbd7a8b['_color']),_0xbd7a8b[_0x1a4e('0x4583')]=new Cesium[(_0x1a4e('0x4520'))](new Cesium['CallbackProperty'](function(){return _0x8824e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0xbd7a8b[_0x1a4e('0x134')]);},!0x1)),_0xbd7a8b;}return _0x9d38f2(_0x323367,_0x46cfaf),Object[_0x1a4e('0x2')](_0x323367['prototype'],'color',{'get':function(){return this[_0x1a4e('0x3b69')];},'set':function(_0x46cfaf){this['_color']=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),_0x323367[_0x1a4e('0xa')]['getMaterial']=function(){return this['_material'];},_0x323367[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){return{'type':_0x1e482b['Color'],'color':this['color']};},_0x323367;}(_0x55574f),_0x1951dd=function(_0x46cfaf){function _0x323367(_0x323367){var _0xbd7a8b=_0x46cfaf[_0x1a4e('0x1')](this)||this;return _0xbd7a8b[_0x1a4e('0x3b69')]=_0x1a4e('0x38d4'),_0x323367||(_0x323367={}),_0xbd7a8b[_0x1a4e('0x3b69')]=_0x231768['Util'][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x134')],_0xbd7a8b[_0x1a4e('0x3b69')]),_0xbd7a8b[_0x1a4e('0x4583')]=new Cesium[(_0x1a4e('0x46ea'))](new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x8824e['RenderUtils']['getColor'](_0xbd7a8b[_0x1a4e('0x134')]);},!0x1)),_0xbd7a8b;}return _0x9d38f2(_0x323367,_0x46cfaf),Object['defineProperty'](_0x323367[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x3b69')];},'set':function(_0x46cfaf){this[_0x1a4e('0x3b69')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),_0x323367[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){return{'type':_0x1e482b[_0x1a4e('0x46e6')],'color':this[_0x1a4e('0x134')]};},_0x323367;}(_0x55574f),_0x104aba=function(_0x46cfaf){function _0x323367(_0x323367){var _0xbd7a8b=_0x46cfaf[_0x1a4e('0x1')](this)||this;return _0xbd7a8b[_0x1a4e('0x3b69')]=_0x1a4e('0x38d4'),_0xbd7a8b[_0x1a4e('0x4587')]=0x3,_0xbd7a8b[_0x1a4e('0x4585')]=_0x1a4e('0x46eb'),_0x323367||(_0x323367={}),_0xbd7a8b[_0x1a4e('0x3b69')]=_0x231768[_0x1a4e('0x39a0')]['defaultValue'](_0x323367[_0x1a4e('0x134')],_0xbd7a8b[_0x1a4e('0x3b69')]),_0xbd7a8b[_0x1a4e('0x4585')]=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x409f')],_0xbd7a8b[_0x1a4e('0x4585')]),_0xbd7a8b[_0x1a4e('0x4587')]=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x4172')],_0xbd7a8b[_0x1a4e('0x4587')]),_0xbd7a8b['_material']=new Cesium[(_0x1a4e('0x46ec'))]({'color':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x8824e['RenderUtils']['getColor'](_0xbd7a8b['color']);},!0x1),'outlineColor':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x8824e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0xbd7a8b[_0x1a4e('0x409f')]);},!0x1),'outlineWidth':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0xbd7a8b[_0x1a4e('0x4172')];},!0x1)}),_0xbd7a8b;}return _0x9d38f2(_0x323367,_0x46cfaf),Object[_0x1a4e('0x2')](_0x323367['prototype'],_0x1a4e('0x134'),{'get':function(){return this['_color'];},'set':function(_0x46cfaf){this[_0x1a4e('0x3b69')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x323367[_0x1a4e('0xa')],'outlineWidth',{'get':function(){return this[_0x1a4e('0x4587')];},'set':function(_0x46cfaf){this[_0x1a4e('0x4587')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x323367[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this[_0x1a4e('0x4585')];},'set':function(_0x46cfaf){this[_0x1a4e('0x4585')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),_0x323367[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){return{'type':_0x1e482b['Outline'],'color':this[_0x1a4e('0x134')],'outlineColor':this[_0x1a4e('0x409f')],'outlineWidth':this[_0x1a4e('0x4172')]};},_0x323367;}(_0x55574f),_0x1cb093=function(_0x46cfaf){function _0x323367(_0x323367){var _0xbd7a8b=_0x46cfaf[_0x1a4e('0x1')](this)||this;return _0xbd7a8b['_color']=_0x1a4e('0x393b'),_0xbd7a8b[_0x1a4e('0x46ed')]=_0x1a4e('0x46ee'),_0xbd7a8b[_0x1a4e('0x46ef')]=0x10,_0xbd7a8b[_0x1a4e('0x46f0')]=0xff,_0x323367||(_0x323367={}),_0xbd7a8b[_0x1a4e('0x3b69')]=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367['color'],_0xbd7a8b[_0x1a4e('0x3b69')]),_0xbd7a8b['_gapColor']=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x46f1')],_0xbd7a8b[_0x1a4e('0x46ed')]),_0xbd7a8b['_dashLength']=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x46f2')],_0xbd7a8b['_dashLength']),_0xbd7a8b['_dashPattern']=_0x231768[_0x1a4e('0x39a0')]['defaultValue'](_0x323367['dashPattern'],_0xbd7a8b[_0x1a4e('0x46f0')]),_0xbd7a8b['_material']=new Cesium[(_0x1a4e('0x46f3'))]({'dashLength':new Cesium['CallbackProperty'](function(){return _0xbd7a8b[_0x1a4e('0x46f2')];},!0x1),'color':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x8824e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0xbd7a8b[_0x1a4e('0x3b69')]);},!0x1),'gapColor':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x8824e['RenderUtils'][_0x1a4e('0x3b40')](_0xbd7a8b[_0x1a4e('0x46ed')]);},!0x1),'dashPattern':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0xbd7a8b[_0x1a4e('0x46f4')];},!0x1)}),_0xbd7a8b;}return _0x9d38f2(_0x323367,_0x46cfaf),Object[_0x1a4e('0x2')](_0x323367[_0x1a4e('0xa')],'color',{'get':function(){return this[_0x1a4e('0x3b69')];},'set':function(_0x46cfaf){this[_0x1a4e('0x3b69')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x323367[_0x1a4e('0xa')],'gapColor',{'get':function(){return this[_0x1a4e('0x46ed')];},'set':function(_0x46cfaf){this['_gapColor']=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x323367[_0x1a4e('0xa')],'dashLength',{'get':function(){return this[_0x1a4e('0x46ef')];},'set':function(_0x46cfaf){this[_0x1a4e('0x46ef')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x323367['prototype'],_0x1a4e('0x46f4'),{'get':function(){return this['_dashPattern'];},'set':function(_0x46cfaf){this[_0x1a4e('0x46f0')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),_0x323367[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){return{'type':_0x1e482b['Dash'],'color':this[_0x1a4e('0x134')],'gapColor':this[_0x1a4e('0x46f1')],'dashPattern':this[_0x1a4e('0x46f4')],'dashLength':this[_0x1a4e('0x46f2')]};},_0x323367;}(_0x55574f),_0x3d75f7=function(_0x46cfaf){function _0x323367(_0x323367){var _0xbd7a8b=_0x46cfaf[_0x1a4e('0x1')](this)||this;return _0xbd7a8b[_0x1a4e('0x3b69')]='#ffffff',_0xbd7a8b[_0x1a4e('0x46f5')]=0.25,_0xbd7a8b[_0x1a4e('0x46f6')]=0x1,_0x323367||(_0x323367={}),_0xbd7a8b[_0x1a4e('0x3b69')]=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x134')],_0xbd7a8b[_0x1a4e('0x3b69')]),_0xbd7a8b[_0x1a4e('0x46f5')]=_0x231768['Util'][_0x1a4e('0x3a46')](_0x323367['glowPower'],_0xbd7a8b[_0x1a4e('0x46f5')]),_0xbd7a8b[_0x1a4e('0x46f6')]=_0x231768[_0x1a4e('0x39a0')]['defaultValue'](_0x323367[_0x1a4e('0x46f7')],_0xbd7a8b[_0x1a4e('0x46f6')]),_0xbd7a8b['_material']=new Cesium[(_0x1a4e('0x39f7'))]({'glowPower':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0xbd7a8b[_0x1a4e('0x46f8')];},!0x1),'color':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x8824e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](_0xbd7a8b[_0x1a4e('0x3b69')]);},!0x1),'taperPower':new Cesium['CallbackProperty'](function(){return _0xbd7a8b[_0x1a4e('0x46f7')];},!0x1)}),_0xbd7a8b;}return _0x9d38f2(_0x323367,_0x46cfaf),Object['defineProperty'](_0x323367['prototype'],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x3b69')];},'set':function(_0x46cfaf){this[_0x1a4e('0x3b69')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x323367[_0x1a4e('0xa')],_0x1a4e('0x46f8'),{'get':function(){return this['_glowPower'];},'set':function(_0x46cfaf){this[_0x1a4e('0x46f5')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x323367[_0x1a4e('0xa')],_0x1a4e('0x46f7'),{'get':function(){return this[_0x1a4e('0x46f6')];},'set':function(_0x46cfaf){this['_taperPower']=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),_0x323367[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){return{'type':_0x1e482b['Glow'],'color':this['color'],'taperPower':this[_0x1a4e('0x46f7')],'glowPower':this[_0x1a4e('0x46f8')]};},_0x323367;}(_0x55574f),_0x28e464=function(_0x46cfaf){function _0x323367(_0x323367){var _0xbd7a8b=_0x46cfaf[_0x1a4e('0x1')](this)||this;return _0xbd7a8b[_0x1a4e('0x46f9')]=_0x3298f1[_0x1a4e('0x46fa')],_0xbd7a8b[_0x1a4e('0x3b69')]=_0x1a4e('0x38d4'),_0xbd7a8b[_0x1a4e('0x45f7')]=0x2710,_0x323367||(_0x323367={}),_0xbd7a8b[_0x1a4e('0x3b69')]=_0x231768['Util'][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x134')],_0xbd7a8b[_0x1a4e('0x3b69')]),_0xbd7a8b[_0x1a4e('0x46f9')]=_0x231768['Util'][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x3aeb')],_0xbd7a8b[_0x1a4e('0x46f9')]),_0xbd7a8b[_0x1a4e('0x45f7')]=_0x231768['Util'][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x17e')],_0xbd7a8b[_0x1a4e('0x45f7')]),_0xbd7a8b[_0x1a4e('0x46fb')](),_0xbd7a8b;}return _0x9d38f2(_0x323367,_0x46cfaf),_0x323367[_0x1a4e('0xa')][_0x1a4e('0x46fb')]=function(){switch(this[_0x1a4e('0x3aeb')]){case _0x3298f1['Arrow']:this[_0x1a4e('0x4583')]=new Cesium[(_0x1a4e('0x4548'))]({'color':_0x8824e['RenderUtils'][_0x1a4e('0x3b40')](this['color']),'duration':this[_0x1a4e('0x17e')]});break;case _0x3298f1[_0x1a4e('0x46fa')]:this[_0x1a4e('0x4583')]=new Cesium[(_0x1a4e('0x4547'))]({'color':_0x8824e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this['color']),'duration':this[_0x1a4e('0x17e')]});break;case _0x3298f1[_0x1a4e('0x46fc')]:this[_0x1a4e('0x4583')]=new Cesium[(_0x1a4e('0x4550'))]({'color':_0x8824e['RenderUtils'][_0x1a4e('0x3b40')](this[_0x1a4e('0x134')]),'duration':this[_0x1a4e('0x17e')]});break;case _0x3298f1[_0x1a4e('0x46fd')]:this[_0x1a4e('0x4583')]=new Cesium[(_0x1a4e('0x454a'))]({'color':_0x8824e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x134')]),'duration':this[_0x1a4e('0x17e')]});break;case _0x3298f1[_0x1a4e('0x46fa')]:this[_0x1a4e('0x4583')]=new Cesium[(_0x1a4e('0x4547'))]({'color':_0x8824e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x134')]),'duration':this[_0x1a4e('0x17e')]});}},_0x323367[_0x1a4e('0xa')][_0x1a4e('0x43b3')]=function(_0x46cfaf){this[_0x1a4e('0xa74')]=_0x46cfaf;},Object['defineProperty'](_0x323367[_0x1a4e('0xa')],_0x1a4e('0x3aeb'),{'get':function(){return this[_0x1a4e('0x46f9')];},'set':function(_0x46cfaf){this[_0x1a4e('0x46f9')]=_0x46cfaf,this[_0x1a4e('0x46fb')](),this[_0x1a4e('0xa74')]&&this[_0x1a4e('0xa74')](_0x1a4e('0x4141'));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x323367['prototype'],_0x1a4e('0x134'),{'get':function(){return this['_color'];},'set':function(_0x46cfaf){this[_0x1a4e('0x3b69')]=_0x46cfaf,this[_0x1a4e('0x4583')]['color']=_0x8824e['RenderUtils'][_0x1a4e('0x3b40')](this[_0x1a4e('0x134')]);},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x323367[_0x1a4e('0xa')],_0x1a4e('0x17e'),{'get':function(){return this['_duration'];},'set':function(_0x46cfaf){this[_0x1a4e('0x45f7')]=_0x46cfaf,this[_0x1a4e('0x4583')][_0x1a4e('0x17e')]=this['duration'];},'enumerable':!0x0,'configurable':!0x0}),_0x323367[_0x1a4e('0xa')]['toJson']=function(){return{'type':_0x1e482b['Dynamic'],'icon':this[_0x1a4e('0x3aeb')],'color':this[_0x1a4e('0x134')],'duration':this['duration']};},_0x323367;}(_0x55574f),_0x21947a=function(_0x46cfaf){function _0x323367(_0x323367){var _0xbd7a8b=_0x46cfaf[_0x1a4e('0x1')](this)||this;return _0xbd7a8b[_0x1a4e('0x46f9')]=_0xed6029[_0x1a4e('0x4553')],_0xbd7a8b[_0x1a4e('0x3b69')]=_0x1a4e('0x38d4'),_0xbd7a8b[_0x1a4e('0x4558')]=!0x1,_0xbd7a8b[_0x1a4e('0x4559')]=!0x1,_0xbd7a8b['_speed']=0x1,_0x323367||(_0x323367={}),_0xbd7a8b[_0x1a4e('0x3b69')]=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x134')],_0xbd7a8b[_0x1a4e('0x3b69')]),_0xbd7a8b['_icon']=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367['icon'],_0xbd7a8b[_0x1a4e('0x46f9')]),_0xbd7a8b[_0x1a4e('0x4558')]=_0x231768['Util'][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0xeb3')],_0xbd7a8b[_0x1a4e('0x4558')]),_0xbd7a8b[_0x1a4e('0x4559')]=_0x231768[_0x1a4e('0x39a0')][_0x1a4e('0x3a46')](_0x323367[_0x1a4e('0x455a')],_0xbd7a8b[_0x1a4e('0x4559')]),_0xbd7a8b[_0x1a4e('0x3dcc')]=_0x231768['Util']['defaultValue'](_0x323367['speed'],_0xbd7a8b['_speed']),_0xbd7a8b['_updateMaterial'](),_0xbd7a8b;}return _0x9d38f2(_0x323367,_0x46cfaf),_0x323367[_0x1a4e('0xa')][_0x1a4e('0x46fb')]=function(){this[_0x1a4e('0x4583')]=new Cesium[(_0x1a4e('0x455c'))]({'color':_0x8824e['RenderUtils']['getColor'](this[_0x1a4e('0x134')]),'icon':this[_0x1a4e('0x46f9')],'revert':this[_0x1a4e('0x4558')],'dynamic':this[_0x1a4e('0x4559')],'speed':this[_0x1a4e('0x3dcc')]});},_0x323367['prototype'][_0x1a4e('0x43b3')]=function(_0x46cfaf){this[_0x1a4e('0xa74')]=_0x46cfaf;},Object[_0x1a4e('0x2')](_0x323367['prototype'],_0x1a4e('0x3aeb'),{'get':function(){return this[_0x1a4e('0x46f9')];},'set':function(_0x46cfaf){this[_0x1a4e('0x46f9')]=_0x46cfaf,this[_0x1a4e('0x46fb')](),this[_0x1a4e('0xa74')]&&this[_0x1a4e('0xa74')](_0x1a4e('0x4141'));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x323367[_0x1a4e('0xa')],'dynamic',{'get':function(){return this[_0x1a4e('0x4559')];},'set':function(_0x46cfaf){this[_0x1a4e('0x4559')]=_0x46cfaf,this['_material'][_0x1a4e('0x455a')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x323367['prototype'],_0x1a4e('0x40e3'),{'get':function(){return this[_0x1a4e('0x3dcc')];},'set':function(_0x46cfaf){this[_0x1a4e('0x3dcc')]=_0x46cfaf,this[_0x1a4e('0x4583')][_0x1a4e('0x40e3')]=_0x46cfaf;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x323367[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x3b69')];},'set':function(_0x46cfaf){this[_0x1a4e('0x3b69')]=_0x46cfaf,this[_0x1a4e('0x4583')][_0x1a4e('0x134')]=_0x8824e[_0x1a4e('0x3b60')][_0x1a4e('0x3b40')](this[_0x1a4e('0x134')]);},'enumerable':!0x0,'configurable':!0x0}),_0x323367[_0x1a4e('0xa')]['toJson']=function(){return{'type':_0x1e482b['Texture'],'icon':this[_0x1a4e('0x3aeb')],'color':this[_0x1a4e('0x134')]};},_0x323367;}(_0x55574f);!function(_0x46cfaf){_0x46cfaf[_0x1a4e('0x46e6')]=_0x1a4e('0x46fe'),_0x46cfaf[_0x1a4e('0x46fc')]='pulse',_0x46cfaf[_0x1a4e('0x46fd')]=_0x1a4e('0x46ff'),_0x46cfaf[_0x1a4e('0x46fa')]=_0x1a4e('0x4700');}(_0x3298f1||(_0x3298f1={})),function(_0x46cfaf){_0x46cfaf[_0x1a4e('0x4553')]=_0x1a4e('0x4553'),_0x46cfaf['IronBar']=_0x1a4e('0x4554'),_0x46cfaf[_0x1a4e('0x4556')]='LinkPulse';}(_0xed6029||(_0xed6029={})),function(_0x46cfaf){_0x46cfaf[_0x1a4e('0x3947')]=_0x1a4e('0x3947'),_0x46cfaf[_0x1a4e('0x46e6')]=_0x1a4e('0x4701'),_0x46cfaf[_0x1a4e('0x46e7')]=_0x1a4e('0x4702'),_0x46cfaf[_0x1a4e('0x46e8')]=_0x1a4e('0x4703'),_0x46cfaf['Outline']=_0x1a4e('0x4704'),_0x46cfaf[_0x1a4e('0x4705')]=_0x1a4e('0x4705'),_0x46cfaf[_0x1a4e('0x3bad')]='Texture';}(_0x1e482b||(_0x1e482b={}));},'./src/LayerManager/GraphicLayer/PipelineManager.ts':function(_0x87c517,_0xcdab3c,_0x4aa12b){'use strict';_0x4aa12b['r'](_0xcdab3c),_0x4aa12b['d'](_0xcdab3c,'PipelineManager',function(){return _0x4615d6;});var _0x437ad1,_0xb16ffd=_0x4aa12b(_0x1a4e('0x3f2c')),_0x19b8fe=_0x4aa12b('./src/Utils/FirstPersonControl.ts'),_0x486a57=_0x4aa12b(_0x1a4e('0x38d0')),_0x1c4c1e=_0x4aa12b('./src/LayerManager/GraphicLayer/GraphicItem/Pipe/PipelineBaseGraphic.ts'),_0x15fdff=_0x4aa12b(_0x1a4e('0x4222')),_0x1fb526=_0x4aa12b(_0x1a4e('0x4706')),_0x45865c=(_0x437ad1=function(_0x87c517,_0xcdab3c){return(_0x437ad1=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x87c517,_0xcdab3c){_0x87c517[_0x1a4e('0x295')]=_0xcdab3c;}||function(_0x87c517,_0xcdab3c){for(var _0x4aa12b in _0xcdab3c)_0xcdab3c['hasOwnProperty'](_0x4aa12b)&&(_0x87c517[_0x4aa12b]=_0xcdab3c[_0x4aa12b]);})(_0x87c517,_0xcdab3c);},function(_0x87c517,_0xcdab3c){function _0x4aa12b(){this[_0x1a4e('0x10')]=_0x87c517;}_0x437ad1(_0x87c517,_0xcdab3c),_0x87c517[_0x1a4e('0xa')]=null===_0xcdab3c?Object[_0x1a4e('0x7')](_0xcdab3c):(_0x4aa12b['prototype']=_0xcdab3c['prototype'],new _0x4aa12b());}),_0x4615d6=function(_0x87c517){function _0xcdab3c(_0xcdab3c,_0x4aa12b){var _0x437ad1=_0x87c517[_0x1a4e('0x1')](this)||this;return _0x437ad1[_0x1a4e('0x38fa')]=_0xcdab3c,_0x437ad1['_graphicLayer']=_0x4aa12b,_0x437ad1[_0x1a4e('0x4707')]=0x0,_0x437ad1[_0x1a4e('0x4708')]=[],_0x4aa12b['on']('remove',function(_0x87c517){_0x87c517[_0x1a4e('0x4226')]&&(_0x437ad1[_0x1a4e('0x4709')](_0x87c517),_0x437ad1[_0x1a4e('0x82')](_0x87c517['id']));}),_0x437ad1;}return _0x45865c(_0xcdab3c,_0x87c517),_0xcdab3c[_0x1a4e('0xa')][_0x1a4e('0x4709')]=function(_0x87c517){var _0xcdab3c=_0x87c517,_0x4aa12b=_0xcdab3c[_0x1a4e('0x470a')];_0x4aa12b&&_0x4aa12b[_0x1a4e('0x470b')](_0xcdab3c,!0x0);var _0x437ad1=_0xcdab3c[_0x1a4e('0x4249')];_0x437ad1&&(_0x437ad1[_0x1a4e('0x470b')](_0xcdab3c,!0x1),this[_0x1a4e('0x470c')](_0x437ad1)),_0x4aa12b&&this[_0x1a4e('0x470c')](_0x4aa12b);},_0xcdab3c[_0x1a4e('0xa')][_0x1a4e('0x470d')]=function(_0x87c517){for(var _0xcdab3c=0x0;_0xcdab3cCesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x4aa12b,_0xb16ffd)&&(_0xcdab3c=_0xcdab3c[_0x1a4e('0x9b')]()),this[_0x1a4e('0x471d')]=new _0x19b8fe[(_0x1a4e('0x471e'))](this['_viewer'],_0xcdab3c);},_0xcdab3c[_0x1a4e('0xa')][_0x1a4e('0x471f')]=function(){this['_cameraControl']&&(this[_0x1a4e('0x471d')][_0x1a4e('0xb5')](),this['_cameraControl']=void 0x0);},_0xcdab3c;}(_0xb16ffd[_0x1a4e('0x4720')]);},'./src/LayerManager/GraphicLayer/TopologyNode.ts':function(_0x18cef9,_0x3ffad8,_0x94357){'use strict';_0x94357['r'](_0x3ffad8),_0x94357['d'](_0x3ffad8,'TopologyNode',function(){return _0x14f32e;});var _0x1a2974=_0x94357(_0x1a4e('0x38d0')),_0x5a1f12=_0x94357(_0x1a4e('0x4222')),_0x14f32e=function(){function _0x18cef9(_0x18cef9,_0x3ffad8,_0x94357){this[_0x1a4e('0x515')]=_0x18cef9,this['_graphicLayer']=_0x3ffad8,this[_0x1a4e('0x4721')]=_0x1a2974['GeoPoint'][_0x1a4e('0x240')](_0x94357),this[_0x1a4e('0x3b68')]=_0x1a2974[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x94357),this['_lines']=[],this[_0x1a4e('0x4722')]=[],this['_graphic']=void 0x0;}return Object['defineProperty'](_0x18cef9[_0x1a4e('0xa')],'id',{'get':function(){return this['_id'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x18cef9[_0x1a4e('0xa')],_0x1a4e('0x424b'),{'get':function(){return this['_geo'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x18cef9[_0x1a4e('0xa')],'pos',{'get':function(){return this['_position'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x18cef9[_0x1a4e('0xa')],'graphic',{'get':function(){return this['_graphic'];},'enumerable':!0x0,'configurable':!0x0}),_0x18cef9[_0x1a4e('0xa')][_0x1a4e('0x4723')]=function(){return this['_lines'];},_0x18cef9[_0x1a4e('0xa')][_0x1a4e('0x4724')]=function(){return this[_0x1a4e('0x4722')];},_0x18cef9[_0x1a4e('0xa')]['has']=function(_0x18cef9){for(var _0x3ffad8=0x0;_0x3ffad8=_0x45866b[_0x1a4e('0x1e')]&&(_0x45866b=void 0x0),{'value':_0x45866b&&_0x45866b[_0x3a2639++],'done':!_0x45866b};}};},_0x4c4c03=function(_0x45866b){function _0x677f3a(_0x677f3a){var _0x3a2639=_0x45866b['call'](this)||this;return _0x3a2639['_viewer']=_0x677f3a,_0x3a2639['_renderItemList']=[],_0x3a2639;}return _0x1f6f38(_0x677f3a,_0x45866b),_0x677f3a[_0x1a4e('0xa')]['add']=function(_0x677f3a){return _0x45866b['prototype'][_0x1a4e('0x177')]['call'](this,_0x677f3a),_0x677f3a['initItem'](this),this['fire']('add',_0x677f3a),_0x677f3a;},_0x677f3a['prototype'][_0x1a4e('0x82')]=function(_0x677f3a){var _0x3a2639=_0x45866b['prototype'][_0x1a4e('0x82')][_0x1a4e('0x1')](this,_0x677f3a);if(void 0x0!==_0x3a2639)return _0x3a2639[_0x1a4e('0x3acf')](),this['fire'](_0x1a4e('0x82'),_0x3a2639),_0x3a2639;},_0x677f3a[_0x1a4e('0xa')][_0x1a4e('0x474e')]=function(_0x45866b){this[_0x1a4e('0x38fa')][_0x1a4e('0x472f')][_0x1a4e('0x474e')](_0x45866b[_0x1a4e('0x3ef9')]());},_0x677f3a[_0x1a4e('0xa')][_0x1a4e('0x474f')]=function(_0x45866b){this[_0x1a4e('0x38fa')][_0x1a4e('0x472f')][_0x1a4e('0x474f')](_0x45866b[_0x1a4e('0x3ef9')]());},_0x677f3a[_0x1a4e('0xa')][_0x1a4e('0x954')]=function(_0x45866b){this[_0x1a4e('0x38fa')][_0x1a4e('0x472f')][_0x1a4e('0x954')](_0x45866b[_0x1a4e('0x3ef9')]());},_0x677f3a[_0x1a4e('0xa')][_0x1a4e('0x4750')]=function(_0x45866b){this['_viewer']['imageryLayers'][_0x1a4e('0x4750')](_0x45866b[_0x1a4e('0x3ef9')]());},_0x677f3a[_0x1a4e('0xa')][_0x1a4e('0x3acc')]=function(_0x45866b){var _0x677f3a,_0x3a2639;if(_0x45866b)try{for(var _0xe1598f=_0x2b1dc5(_0x45866b),_0x31d1cc=_0xe1598f[_0x1a4e('0x7e')]();!_0x31d1cc[_0x1a4e('0x3c2')];_0x31d1cc=_0xe1598f['next']()){var _0x568254=_0x31d1cc['value'];new(window['GET_NS3D']()['GET_CONSTRUCTOR'](_0x1a4e('0x3ad7'),_0x568254[_0x1a4e('0x40')]))(_0x568254)['initItem'](this);}}catch(_0x46c610){_0x677f3a={'error':_0x46c610};}finally{try{_0x31d1cc&&!_0x31d1cc[_0x1a4e('0x3c2')]&&(_0x3a2639=_0xe1598f[_0x1a4e('0xe40')])&&_0x3a2639[_0x1a4e('0x1')](_0xe1598f);}finally{if(_0x677f3a)throw _0x677f3a['error'];}}},_0x677f3a[_0x1a4e('0xa')][_0x1a4e('0x3ad5')]=function(){return this[_0x1a4e('0x3ad1')];},_0x677f3a[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x38fa')][_0x1a4e('0x472f')];},_0x677f3a[_0x1a4e('0xa')]['getRenderItemById']=function(_0x45866b){var _0x677f3a=this[_0x1a4e('0x4751')][_0x1a4e('0xd9')](function(_0x677f3a){if(_0x677f3a['id']===_0x45866b)return!0x0;});if(_0x677f3a[_0x1a4e('0x1e')])return _0x677f3a[0x0];},_0x677f3a;}(_0x568254[_0x1a4e('0x4720')]);!function(_0x45866b){_0x45866b[_0x45866b['WebMercator']=0x1]=_0x1a4e('0x4752'),_0x45866b[_0x45866b[_0x1a4e('0x4753')]=0x2]=_0x1a4e('0x4753');}(_0x31d1cc||(_0x31d1cc={}));var _0x5cb082=function(){function _0x45866b(){}return _0x45866b[_0x1a4e('0x4754')]=function(_0x45866b){var _0x677f3a=new Cesium['GeographicTilingScheme']();switch(_0x45866b){case _0x31d1cc[_0x1a4e('0x4753')]:default:_0x677f3a=new Cesium[(_0x1a4e('0x4755'))]();break;case _0x31d1cc[_0x1a4e('0x4752')]:_0x677f3a=new Cesium['WebMercatorTilingScheme']();}return _0x677f3a;},_0x45866b;}();},'./src/LayerManager/ImageLayer/ImageryItem.ts':function(_0x1ff2e5,_0x549e69,_0x481807){'use strict';_0x481807['r'](_0x549e69),_0x481807['d'](_0x549e69,_0x1a4e('0x474b'),function(){return _0x12ed01;});var _0x1cc502,_0x2a41a6=_0x481807('./src/Core/Item.ts'),_0x2f8c80=(_0x1cc502=function(_0x1ff2e5,_0x549e69){return(_0x1cc502=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1ff2e5,_0x549e69){_0x1ff2e5['__proto__']=_0x549e69;}||function(_0x1ff2e5,_0x549e69){for(var _0x481807 in _0x549e69)_0x549e69[_0x1a4e('0xb')](_0x481807)&&(_0x1ff2e5[_0x481807]=_0x549e69[_0x481807]);})(_0x1ff2e5,_0x549e69);},function(_0x1ff2e5,_0x549e69){function _0x481807(){this[_0x1a4e('0x10')]=_0x1ff2e5;}_0x1cc502(_0x1ff2e5,_0x549e69),_0x1ff2e5['prototype']=null===_0x549e69?Object['create'](_0x549e69):(_0x481807[_0x1a4e('0xa')]=_0x549e69[_0x1a4e('0xa')],new _0x481807());}),_0x12ed01=function(_0x1ff2e5){function _0x549e69(){return null!==_0x1ff2e5&&_0x1ff2e5[_0x1a4e('0x8b')](this,arguments)||this;}return _0x2f8c80(_0x549e69,_0x1ff2e5),_0x549e69[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){},_0x549e69;}(_0x2a41a6[_0x1a4e('0x3aca')]);},'./src/LayerManager/ImageLayer/OSMImagery.ts':function(_0x44f0bb,_0x53815e,_0x318e38){'use strict';_0x318e38['r'](_0x53815e),_0x318e38['d'](_0x53815e,_0x1a4e('0x400b'),function(){return _0x7d3ec4;}),_0x318e38['d'](_0x53815e,_0x1a4e('0x400c'),function(){return _0x4f7d8d;});var _0x29269,_0x27849f=_0x318e38(_0x1a4e('0x472c')),_0x2ee227=(_0x29269=function(_0x44f0bb,_0x53815e){return(_0x29269=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x44f0bb,_0x53815e){_0x44f0bb[_0x1a4e('0x295')]=_0x53815e;}||function(_0x44f0bb,_0x53815e){for(var _0x318e38 in _0x53815e)_0x53815e['hasOwnProperty'](_0x318e38)&&(_0x44f0bb[_0x318e38]=_0x53815e[_0x318e38]);})(_0x44f0bb,_0x53815e);},function(_0x44f0bb,_0x53815e){function _0x318e38(){this['constructor']=_0x44f0bb;}_0x29269(_0x44f0bb,_0x53815e),_0x44f0bb[_0x1a4e('0xa')]=null===_0x53815e?Object[_0x1a4e('0x7')](_0x53815e):(_0x318e38[_0x1a4e('0xa')]=_0x53815e[_0x1a4e('0xa')],new _0x318e38());}),_0x7d3ec4=function(_0x44f0bb){function _0x53815e(_0x53815e){var _0x318e38=_0x44f0bb['call'](this)||this;return _0x318e38['_type']=_0x1a4e('0x400b'),_0x318e38['parseOption'](_0x53815e),_0x318e38;}return _0x2ee227(_0x53815e,_0x44f0bb),_0x53815e[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x53815e[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x53815e,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x400b');},'enumerable':!0x0,'configurable':!0x0}),_0x53815e[_0x1a4e('0xa')][_0x1a4e('0x3acd')]=function(_0x44f0bb){this[_0x1a4e('0x472e')]=_0x44f0bb[_0x1a4e('0x38fa')][_0x1a4e('0x472f')];var _0x53815e=new Cesium[(_0x1a4e('0x4756'))]({'url':this[_0x1a4e('0x411e')][_0x1a4e('0x15cf')]});this[_0x1a4e('0x4312')]=this['_imageLayer'][_0x1a4e('0x4757')](_0x53815e);},_0x53815e['prototype'][_0x1a4e('0x3acf')]=function(){this['_imageLayer']['remove'](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')]=void 0x0;},_0x53815e[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x4312')];},_0x53815e[_0x1a4e('0xa')][_0x1a4e('0x472d')]=function(_0x44f0bb){var _0x53815e=new _0x4f7d8d();for(var _0x318e38 in _0x44f0bb)_0x53815e[_0x318e38]=_0x44f0bb[_0x318e38];this[_0x1a4e('0x411e')]=_0x53815e;},_0x53815e[_0x1a4e('0xa')]['toJson']=function(){var _0x44f0bb={'type':this[_0x1a4e('0x39d5')],'name':this[_0x1a4e('0x2cb')]};for(var _0x53815e in this[_0x1a4e('0x411e')])void 0x0!==this['_option'][_0x53815e]&&_0x1a4e('0x10')!==_0x53815e&&(_0x44f0bb[_0x53815e]=this[_0x1a4e('0x411e')][_0x53815e]);return _0x44f0bb;},_0x53815e[_0x1a4e('0xa')]['parseJson']=function(_0x44f0bb){this[_0x1a4e('0x472d')](_0x44f0bb);},_0x53815e;}(_0x27849f['ImageryItem']),_0x4f7d8d=function(){this['maximumLevel']=0x14;};window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ad7'),_0x7d3ec4);},'./src/LayerManager/ImageLayer/UrlTemplateImagery.ts':function(_0x242cf7,_0x1b70bb,_0x34bc85){'use strict';_0x34bc85['r'](_0x1b70bb),_0x34bc85['d'](_0x1b70bb,_0x1a4e('0x400d'),function(){return _0x2649b8;}),_0x34bc85['d'](_0x1b70bb,_0x1a4e('0x400e'),function(){return _0x2b10c0;});var _0x50f36d,_0x3d600f=_0x34bc85(_0x1a4e('0x472c')),_0x60481c=_0x34bc85(_0x1a4e('0x3f34')),_0x32f5c6=(_0x50f36d=function(_0x242cf7,_0x1b70bb){return(_0x50f36d=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x242cf7,_0x1b70bb){_0x242cf7[_0x1a4e('0x295')]=_0x1b70bb;}||function(_0x242cf7,_0x1b70bb){for(var _0x34bc85 in _0x1b70bb)_0x1b70bb['hasOwnProperty'](_0x34bc85)&&(_0x242cf7[_0x34bc85]=_0x1b70bb[_0x34bc85]);})(_0x242cf7,_0x1b70bb);},function(_0x242cf7,_0x1b70bb){function _0x34bc85(){this['constructor']=_0x242cf7;}_0x50f36d(_0x242cf7,_0x1b70bb),_0x242cf7[_0x1a4e('0xa')]=null===_0x1b70bb?Object['create'](_0x1b70bb):(_0x34bc85['prototype']=_0x1b70bb['prototype'],new _0x34bc85());}),_0x2649b8=function(_0x242cf7){function _0x1b70bb(_0x1b70bb){var _0x34bc85=_0x242cf7[_0x1a4e('0x1')](this)||this;return _0x34bc85[_0x1a4e('0x39d5')]=_0x1a4e('0x400d'),_0x34bc85['parseOption'](_0x1b70bb),_0x34bc85;}return _0x32f5c6(_0x1b70bb,_0x242cf7),_0x1b70bb[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x1b70bb[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x1b70bb,'type',{'get':function(){return _0x1a4e('0x400d');},'enumerable':!0x0,'configurable':!0x0}),_0x1b70bb[_0x1a4e('0xa')][_0x1a4e('0x3acd')]=function(_0x242cf7){var _0x1b70bb;switch(this[_0x1a4e('0x472e')]=_0x242cf7[_0x1a4e('0x38fa')][_0x1a4e('0x472f')],this[_0x1a4e('0x411e')]['tilingScheme']){case _0x60481c[_0x1a4e('0x474c')][_0x1a4e('0x4753')]:_0x1b70bb=new Cesium['WebMercatorTilingScheme']();break;case _0x60481c['TilingSchemeE'][_0x1a4e('0x4752')]:_0x1b70bb=new Cesium[(_0x1a4e('0x4755'))]();}var _0x34bc85=new Cesium['UrlTemplateImageryProvider']({'url':this[_0x1a4e('0x411e')][_0x1a4e('0x15cf')],'tilingScheme':_0x60481c[_0x1a4e('0x474d')][_0x1a4e('0x4754')](_0x1b70bb),'maximumLevel':this[_0x1a4e('0x411e')][_0x1a4e('0x4758')]});this[_0x1a4e('0x4312')]=_0x242cf7[_0x1a4e('0x38fa')][_0x1a4e('0x472f')]['addImageryProvider'](_0x34bc85);},_0x1b70bb[_0x1a4e('0xa')][_0x1a4e('0x3acf')]=function(){this['_imageLayer']['remove'](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')]=void 0x0;},_0x1b70bb[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x4312')];},_0x1b70bb['prototype']['parseOption']=function(_0x242cf7){var _0x1b70bb=new _0x2b10c0();for(var _0x34bc85 in _0x242cf7)_0x1b70bb[_0x34bc85]=_0x242cf7[_0x34bc85];this[_0x1a4e('0x411e')]=_0x1b70bb;},_0x1b70bb[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x242cf7={'type':this[_0x1a4e('0x39d5')],'name':this[_0x1a4e('0x2cb')]};for(var _0x1b70bb in this['_option'])void 0x0!==this[_0x1a4e('0x411e')][_0x1b70bb]&&_0x1a4e('0x10')!==_0x1b70bb&&(_0x242cf7[_0x1b70bb]=this[_0x1a4e('0x411e')][_0x1b70bb]);return _0x242cf7;},_0x1b70bb[_0x1a4e('0xa')][_0x1a4e('0x3acc')]=function(_0x242cf7){this[_0x1a4e('0x472d')](_0x242cf7);},_0x1b70bb;}(_0x3d600f[_0x1a4e('0x474b')]),_0x2b10c0=function(){this[_0x1a4e('0x473e')]=_0x60481c[_0x1a4e('0x474c')][_0x1a4e('0x4753')],this[_0x1a4e('0x4758')]=0x14;};window['GV']['REGISTER'](_0x1a4e('0x3ad7'),_0x2649b8);},'./src/LayerManager/ImageLayer/UrlTemplateTimeLayer.js':function(_0x465e1b,_0x40a092,_0x510fe0){'use strict';var _0x35833f=Cesium[_0x1a4e('0x3a46')],_0x23325f=Cesium[_0x1a4e('0x3a0b')],_0x59eeae=Object[_0x1a4e('0x1c8')],_0x41663a=Cesium[_0x1a4e('0x3b9c')],_0x5dd93e=(Cesium[_0x1a4e('0x4759')],Cesium[_0x1a4e('0x4755')]),_0x1f680d=(Cesium[_0x1a4e('0x3ba6')],Cesium[_0x1a4e('0x475a')],Cesium[_0x1a4e('0x475b')],Cesium[_0x1a4e('0x475c')]),_0x3b5312=Cesium[_0x1a4e('0x475d')];function _0x5f3f46(_0x465e1b){if(_0x465e1b=_0x35833f(_0x465e1b,_0x35833f[_0x1a4e('0x3bcb')]),!_0x23325f(_0x465e1b[_0x1a4e('0x15cf')]))throw new _0x41663a('options.url\x20is\x20required.');if(_0x23325f(_0x465e1b[_0x1a4e('0x10de')])&&!_0x23325f(_0x465e1b['clock']))throw new _0x41663a(_0x1a4e('0x475e'));var _0x40a092=this;this[_0x1a4e('0x475f')]=void 0x0,_0x23325f(_0x465e1b['times'])&&(this[_0x1a4e('0x4760')]=new _0x1f680d({'clock':_0x465e1b[_0x1a4e('0x3b3e')],'times':_0x465e1b['times'],'requestImageFunction':function(_0x465e1b,_0x510fe0,_0x35833f,_0x23325f,_0x59eeae){return _0x5e633d(_0x40a092,_0x465e1b,_0x510fe0,_0x35833f,_0x23325f,_0x59eeae);},'reloadFunction':function(){_0x23325f(_0x40a092[_0x1a4e('0x475f')])&&_0x40a092[_0x1a4e('0x475f')]();}})),this[_0x1a4e('0x4761')]=new _0x3b5312({'url':_0x465e1b[_0x1a4e('0x15cf')],'tilingScheme':_0x35833f(_0x465e1b[_0x1a4e('0x473e')],new _0x5dd93e({'ellipsoid':_0x465e1b[_0x1a4e('0x38dc')]})),'rectangle':_0x465e1b[_0x1a4e('0x396a')],'tileWidth':_0x465e1b[_0x1a4e('0x4736')],'tileHeight':_0x465e1b[_0x1a4e('0x4738')],'minimumLevel':_0x465e1b['minimumLevel'],'maximumLevel':_0x465e1b['maximumLevel'],'subdomains':_0x465e1b[_0x1a4e('0x4762')],'tileDiscardPolicy':_0x465e1b['tileDiscardPolicy'],'credit':_0x465e1b[_0x1a4e('0x3bd2')]});}function _0x5e633d(_0x465e1b,_0x40a092,_0x510fe0,_0x35833f,_0x59eeae,_0x41663a){var _0x5dd93e=_0x23325f(_0x41663a)?_0x41663a['data']:void 0x0,_0x1f680d=_0x465e1b[_0x1a4e('0x4761')];return _0x23325f(_0x5dd93e)&&_0x1f680d[_0x1a4e('0x3c98')]['setQueryParameters'](_0x5dd93e),_0x1f680d[_0x1a4e('0x4763')](_0x40a092,_0x510fe0,_0x35833f,_0x59eeae);}_0x59eeae(_0x5f3f46[_0x1a4e('0xa')],{'url':{'get':function(){return this['_resource'][_0x1a4e('0x4764')];}},'proxy':{'get':function(){return this[_0x1a4e('0x3c98')][_0x1a4e('0xdfd')];}},'layers':{'get':function(){return this[_0x1a4e('0x3a31')];}},'tileWidth':{'get':function(){return this[_0x1a4e('0x4761')][_0x1a4e('0x4736')];}},'tileHeight':{'get':function(){return this[_0x1a4e('0x4761')]['tileHeight'];}},'maximumLevel':{'get':function(){return this['_tileProvider'][_0x1a4e('0x4758')];}},'minimumLevel':{'get':function(){return this[_0x1a4e('0x4761')][_0x1a4e('0x473c')];}},'tilingScheme':{'get':function(){return this[_0x1a4e('0x4761')][_0x1a4e('0x473e')];}},'rectangle':{'get':function(){return this[_0x1a4e('0x4761')]['rectangle'];}},'tileDiscardPolicy':{'get':function(){return this[_0x1a4e('0x4761')][_0x1a4e('0x4740')];}},'errorEvent':{'get':function(){return this[_0x1a4e('0x4761')]['errorEvent'];}},'ready':{'get':function(){return this[_0x1a4e('0x4761')][_0x1a4e('0x3bc7')];}},'readyPromise':{'get':function(){return this[_0x1a4e('0x4761')][_0x1a4e('0x3d83')];}},'credit':{'get':function(){return this[_0x1a4e('0x4761')][_0x1a4e('0x3bd2')];}},'hasAlphaChannel':{'get':function(){return this[_0x1a4e('0x4761')][_0x1a4e('0x4765')];}},'clock':{'get':function(){return this[_0x1a4e('0x4760')]['clock'];},'set':function(_0x465e1b){this[_0x1a4e('0x4760')][_0x1a4e('0x3b3e')]=_0x465e1b;}},'times':{'get':function(){return this[_0x1a4e('0x4760')][_0x1a4e('0x10de')];},'set':function(_0x465e1b){this['_timeDynamicImagery'][_0x1a4e('0x10de')]=_0x465e1b;}}}),_0x5f3f46[_0x1a4e('0xa')]['getTileCredits']=function(_0x465e1b,_0x40a092,_0x510fe0){return this[_0x1a4e('0x4761')][_0x1a4e('0x4766')](_0x465e1b,_0x40a092,_0x510fe0);},_0x5f3f46[_0x1a4e('0xa')][_0x1a4e('0x4763')]=function(_0x465e1b,_0x40a092,_0x510fe0,_0x35833f){var _0x59eeae,_0x41663a,_0x5dd93e=this[_0x1a4e('0x4760')];return _0x23325f(_0x5dd93e)&&(_0x41663a=_0x5dd93e[_0x1a4e('0x4767')],_0x59eeae=_0x5dd93e['getFromCache'](_0x465e1b,_0x40a092,_0x510fe0,_0x35833f)),_0x23325f(_0x59eeae)||(_0x59eeae=_0x5e633d(this,_0x465e1b,_0x40a092,_0x510fe0,_0x35833f,_0x41663a)),_0x23325f(_0x59eeae)&&_0x23325f(_0x5dd93e)&&_0x5dd93e[_0x1a4e('0x4768')](_0x465e1b,_0x40a092,_0x510fe0,_0x35833f),_0x59eeae;},window['GV']||(window['GV']={}),window['GV'][_0x1a4e('0x4769')]=_0x5f3f46;},'./src/LayerManager/ImageLayer/WMSImagery.ts':function(_0x58f031,_0x5d7eb5,_0x1e915b){'use strict';_0x1e915b['r'](_0x5d7eb5),_0x1e915b['d'](_0x5d7eb5,_0x1a4e('0x476a'),function(){return _0x26c3c8;}),_0x1e915b['d'](_0x5d7eb5,_0x1a4e('0x400f'),function(){return _0xa9e7c3;});var _0xd73759,_0xca35e4=_0x1e915b('./src/LayerManager/ImageLayer/ImageryItem.ts'),_0x299c83=_0x1e915b(_0x1a4e('0x3f34')),_0x37baba=(_0xd73759=function(_0x58f031,_0x5d7eb5){return(_0xd73759=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x58f031,_0x5d7eb5){_0x58f031[_0x1a4e('0x295')]=_0x5d7eb5;}||function(_0x58f031,_0x5d7eb5){for(var _0x1e915b in _0x5d7eb5)_0x5d7eb5['hasOwnProperty'](_0x1e915b)&&(_0x58f031[_0x1e915b]=_0x5d7eb5[_0x1e915b]);})(_0x58f031,_0x5d7eb5);},function(_0x58f031,_0x5d7eb5){function _0x1e915b(){this['constructor']=_0x58f031;}_0xd73759(_0x58f031,_0x5d7eb5),_0x58f031[_0x1a4e('0xa')]=null===_0x5d7eb5?Object[_0x1a4e('0x7')](_0x5d7eb5):(_0x1e915b['prototype']=_0x5d7eb5[_0x1a4e('0xa')],new _0x1e915b());}),_0x26c3c8=function(_0x58f031){function _0x5d7eb5(_0x5d7eb5){var _0x1e915b=_0x58f031[_0x1a4e('0x1')](this)||this;return _0x1e915b['_type']=_0x1a4e('0x476a'),_0x1e915b['parseOption'](_0x5d7eb5),_0x1e915b;}return _0x37baba(_0x5d7eb5,_0x58f031),_0x5d7eb5[_0x1a4e('0xa')]['getType']=function(){return _0x5d7eb5['type'];},Object[_0x1a4e('0x2')](_0x5d7eb5,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x476a');},'enumerable':!0x0,'configurable':!0x0}),_0x5d7eb5['prototype']['initItem']=function(_0x58f031){switch(this[_0x1a4e('0x472e')]=_0x58f031['_viewer'][_0x1a4e('0x472f')],this[_0x1a4e('0x411e')][_0x1a4e('0x473e')]){case _0x299c83[_0x1a4e('0x474c')][_0x1a4e('0x4753')]:new Cesium[(_0x1a4e('0x4735'))]();break;case _0x299c83[_0x1a4e('0x474c')]['WebMercator']:new Cesium[(_0x1a4e('0x4755'))]();}var _0x5d7eb5=new Cesium[(_0x1a4e('0x476b'))]({'url':this[_0x1a4e('0x411e')][_0x1a4e('0x15cf')],'layers':this[_0x1a4e('0x411e')]['layer'],'parameters':{'style':this[_0x1a4e('0x411e')][_0x1a4e('0x375c')],'format':this[_0x1a4e('0x411e')][_0x1a4e('0x390')],'tileMatrixSetID':this[_0x1a4e('0x411e')][_0x1a4e('0x476c')]}});this['_renderObj']=_0x58f031[_0x1a4e('0x38fa')][_0x1a4e('0x472f')][_0x1a4e('0x4757')](_0x5d7eb5);},_0x5d7eb5[_0x1a4e('0xa')]['destroyItem']=function(){this[_0x1a4e('0x472e')][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')]=void 0x0;},_0x5d7eb5[_0x1a4e('0xa')]['getRenderObject']=function(){return this[_0x1a4e('0x4312')];},_0x5d7eb5[_0x1a4e('0xa')]['parseOption']=function(_0x58f031){var _0x5d7eb5=new _0xa9e7c3();for(var _0x1e915b in _0x58f031)_0x5d7eb5[_0x1e915b]=_0x58f031[_0x1e915b];this['_option']=_0x5d7eb5;},_0x5d7eb5[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x58f031={'type':this['_type'],'name':this[_0x1a4e('0x2cb')]};for(var _0x5d7eb5 in this[_0x1a4e('0x411e')])void 0x0!==this[_0x1a4e('0x411e')][_0x5d7eb5]&&_0x1a4e('0x10')!==_0x5d7eb5&&(_0x58f031[_0x5d7eb5]=this[_0x1a4e('0x411e')][_0x5d7eb5]);return _0x58f031;},_0x5d7eb5['prototype'][_0x1a4e('0x3acc')]=function(_0x58f031){this[_0x1a4e('0x472d')](_0x58f031);},_0x5d7eb5;}(_0xca35e4[_0x1a4e('0x474b')]),_0xa9e7c3=function(){this['tilingScheme']=_0x299c83[_0x1a4e('0x474c')][_0x1a4e('0x4753')],this['style']=_0x1a4e('0x8'),this[_0x1a4e('0x390')]=_0x1a4e('0x3dc7'),this[_0x1a4e('0x476c')]=_0x1a4e('0x476d');};window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ad7'),_0x26c3c8);},'./src/LayerManager/ImageLayer/WMTSImagery.ts':function(_0x5e9d8f,_0x112704,_0x536ea4){'use strict';_0x536ea4['r'](_0x112704),_0x536ea4['d'](_0x112704,'WMTSImagery',function(){return _0x433107;}),_0x536ea4['d'](_0x112704,_0x1a4e('0x4011'),function(){return _0x2b391b;});var _0x59ec58,_0x3a1e7c=_0x536ea4(_0x1a4e('0x472c')),_0x2c1c13=_0x536ea4('./src/LayerManager/ImageLayer/ImageLayer.ts'),_0x31e1b0=(_0x59ec58=function(_0x5e9d8f,_0x112704){return(_0x59ec58=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x5e9d8f,_0x112704){_0x5e9d8f['__proto__']=_0x112704;}||function(_0x5e9d8f,_0x112704){for(var _0x536ea4 in _0x112704)_0x112704['hasOwnProperty'](_0x536ea4)&&(_0x5e9d8f[_0x536ea4]=_0x112704[_0x536ea4]);})(_0x5e9d8f,_0x112704);},function(_0x5e9d8f,_0x112704){function _0x536ea4(){this[_0x1a4e('0x10')]=_0x5e9d8f;}_0x59ec58(_0x5e9d8f,_0x112704),_0x5e9d8f[_0x1a4e('0xa')]=null===_0x112704?Object[_0x1a4e('0x7')](_0x112704):(_0x536ea4[_0x1a4e('0xa')]=_0x112704[_0x1a4e('0xa')],new _0x536ea4());}),_0x433107=function(_0x5e9d8f){function _0x112704(_0x112704){var _0x536ea4=_0x5e9d8f[_0x1a4e('0x1')](this)||this;return _0x536ea4[_0x1a4e('0x39d5')]=_0x1a4e('0x4010'),_0x536ea4['parseOption'](_0x112704),_0x536ea4;}return _0x31e1b0(_0x112704,_0x5e9d8f),_0x112704[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x112704[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x112704,_0x1a4e('0x40'),{'get':function(){return'WMTSImagery';},'enumerable':!0x0,'configurable':!0x0}),_0x112704['prototype'][_0x1a4e('0x3acd')]=function(_0x5e9d8f){var _0x112704=this[_0x1a4e('0x476e')]();if(this[_0x1a4e('0x472e')]=_0x5e9d8f[_0x1a4e('0x38fa')][_0x1a4e('0x472f')],_0x112704){var _0x536ea4=new Cesium['ArcGisMapServerImageryProvider']({'url':_0x112704[_0x1a4e('0x15cf')]});this[_0x1a4e('0x4312')]=this[_0x1a4e('0x472e')][_0x1a4e('0x4757')](_0x536ea4);}else{_0x536ea4=new Cesium[(_0x1a4e('0x476f'))]({'url':this[_0x1a4e('0x411e')]['url'],'layer':this[_0x1a4e('0x411e')][_0x1a4e('0x4770')],'tilingScheme':_0x2c1c13[_0x1a4e('0x474d')]['getTilingScheme'](this[_0x1a4e('0x411e')][_0x1a4e('0x473e')]),'style':this['_option']['style'],'format':this[_0x1a4e('0x411e')]['format'],'tileMatrixSetID':this[_0x1a4e('0x411e')][_0x1a4e('0x476c')]});this[_0x1a4e('0x4312')]=this[_0x1a4e('0x472e')][_0x1a4e('0x4757')](_0x536ea4);}},_0x112704['prototype'][_0x1a4e('0x476e')]=function(){var _0x5e9d8f=this[_0x1a4e('0x411e')][_0x1a4e('0x15cf')];if(new RegExp(_0x1a4e('0x4771'))[_0x1a4e('0x8d0')](_0x5e9d8f)){for(var _0x112704=_0x5e9d8f['split']('/'),_0x536ea4='',_0x59ec58=0x0;_0x59ec58<_0x112704['length'];_0x59ec58++){if('arcgis'===_0x112704[_0x59ec58]){_0x536ea4=_0x1a4e('0xe27')+_0x112704[_0x59ec58-0x1]+'/';break;}}for(_0x59ec58=0x0;_0x59ec58<_0x112704['length'];_0x59ec58++){if(_0x1a4e('0x4772')===_0x112704[_0x59ec58]){var _0x3a1e7c=_0x112704[_0x59ec58+0x1];return{'url':_0x536ea4+_0x1a4e('0x4773')+_0x3a1e7c+_0x1a4e('0x4774'),'layerName':_0x3a1e7c};}}}return null;},_0x112704['prototype']['destroyItem']=function(){this[_0x1a4e('0x472e')][_0x1a4e('0x82')](this['_renderObj']),this['_renderObj']=void 0x0;},_0x112704[_0x1a4e('0xa')]['getRenderObject']=function(){return this[_0x1a4e('0x4312')];},_0x112704[_0x1a4e('0xa')][_0x1a4e('0x472d')]=function(_0x5e9d8f){var _0x112704=new _0x2b391b();for(var _0x536ea4 in _0x5e9d8f)_0x112704[_0x536ea4]=_0x5e9d8f[_0x536ea4];this[_0x1a4e('0x411e')]=_0x112704;},_0x112704[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x5e9d8f={'type':this[_0x1a4e('0x39d5')],'name':this[_0x1a4e('0x2cb')]};for(var _0x112704 in this[_0x1a4e('0x411e')])void 0x0!==this[_0x1a4e('0x411e')][_0x112704]&&_0x1a4e('0x10')!==_0x112704&&(_0x5e9d8f[_0x112704]=this['_option'][_0x112704]);return _0x5e9d8f;},_0x112704[_0x1a4e('0xa')][_0x1a4e('0x3acc')]=function(_0x5e9d8f){this[_0x1a4e('0x472d')](_0x5e9d8f);},_0x112704;}(_0x3a1e7c[_0x1a4e('0x474b')]),_0x2b391b=function(){this[_0x1a4e('0x473e')]=_0x2c1c13['TilingSchemeE'][_0x1a4e('0x4753')],this['style']=_0x1a4e('0x8'),this[_0x1a4e('0x390')]=_0x1a4e('0x3dc7');};window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ad7'),_0x433107);},'./src/LayerManager/LayerManager.ts':function(_0x5368cf,_0x2e027d,_0x448c8f){'use strict';_0x448c8f['r'](_0x2e027d),_0x448c8f['d'](_0x2e027d,_0x1a4e('0x4775'),function(){return _0x4e3b17;});var _0x5d0167=_0x448c8f(_0x1a4e('0x3f34')),_0x375a92=_0x448c8f(_0x1a4e('0x4776')),_0x1f686d=_0x448c8f('./src/LayerManager/ModelLayer/ModelLayer.ts'),_0x129f0d=_0x448c8f('./src/LayerManager/GraphicLayer/GraphicLayer.ts'),_0x432715=_0x448c8f('./src/LayerManager/MassiveLayer/MassiveLayer.ts'),_0x201b3c=_0x448c8f(_0x1a4e('0x3f35')),_0x11db67=_0x448c8f(_0x1a4e('0x3f38')),_0x40f411=_0x448c8f(_0x1a4e('0x3f33')),_0x29efa3=_0x448c8f(_0x1a4e('0x3f3e')),_0x47af95=_0x448c8f(_0x1a4e('0x3f98')),_0x4e3b17=function(){function _0x5368cf(_0x5368cf){this[_0x1a4e('0x38fa')]=_0x5368cf;}return _0x5368cf[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){this[_0x1a4e('0x3e4c')]=new _0x129f0d[(_0x1a4e('0x3fab'))](this[_0x1a4e('0x38fa')]),this[_0x1a4e('0x4777')]=new _0x5d0167[(_0x1a4e('0x3fad'))](this[_0x1a4e('0x38fa')]),this[_0x1a4e('0x4778')]=new _0x432715[(_0x1a4e('0x4779'))](this[_0x1a4e('0x38fa')]),this[_0x1a4e('0x477a')]=new _0x40f411[(_0x1a4e('0x3fac'))](this[_0x1a4e('0x38fa')]),this['_tileLayer']=new _0x29efa3['TileLayer'](this[_0x1a4e('0x38fa')]),this['_vectorLayer']=new _0x375a92[(_0x1a4e('0x477b'))](this[_0x1a4e('0x38fa')]),this[_0x1a4e('0x477c')]=new _0x1f686d['ModelLayer'](this[_0x1a4e('0x38fa')]),this[_0x1a4e('0x477d')]=new _0x201b3c['TargetLayer'](this[_0x1a4e('0x38fa')]),this[_0x1a4e('0x477e')]=new _0x47af95[(_0x1a4e('0x4018'))](this[_0x1a4e('0x38fa')]);},_0x5368cf[_0x1a4e('0xa')]['toJson']=function(){return{'graphicLayer':this['_graphicLayer'][_0x1a4e('0x3acb')](),'imageLayer':this[_0x1a4e('0x4777')]['toJson'](),'vectorLayer':this[_0x1a4e('0x477f')][_0x1a4e('0x3acb')](),'modelLayer':this[_0x1a4e('0x477c')]['toJson'](),'actionLayer':this[_0x1a4e('0x477e')]['toJson']()};},_0x5368cf[_0x1a4e('0xa')]['parseJson']=function(_0x5368cf){this[_0x1a4e('0x3e4c')][_0x1a4e('0x410a')](_0x5368cf[_0x1a4e('0x3973')]),this[_0x1a4e('0x4777')]['parseJson'](_0x5368cf['imageLayer']),this[_0x1a4e('0x477f')][_0x1a4e('0x3acc')](_0x5368cf[_0x1a4e('0x4047')]),this[_0x1a4e('0x477c')][_0x1a4e('0x3acc')](_0x5368cf['modelLayer']),this[_0x1a4e('0x477e')][_0x1a4e('0x3acc')](_0x5368cf[_0x1a4e('0x4780')]);},Object['defineProperty'](_0x5368cf[_0x1a4e('0xa')],'graphicLayer',{'get':function(){return this['_graphicLayer'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5368cf[_0x1a4e('0xa')],_0x1a4e('0x4046'),{'get':function(){return this[_0x1a4e('0x4777')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5368cf['prototype'],_0x1a4e('0x4047'),{'get':function(){return this[_0x1a4e('0x477f')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5368cf[_0x1a4e('0xa')],_0x1a4e('0x4048'),{'get':function(){return this[_0x1a4e('0x477c')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5368cf['prototype'],_0x1a4e('0x4781'),{'get':function(){return this[_0x1a4e('0x4778')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5368cf[_0x1a4e('0xa')],_0x1a4e('0x4782'),{'get':function(){return Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x477d')])||(this['_targetLayer']=new _0x201b3c[(_0x1a4e('0x4783'))](this[_0x1a4e('0x38fa')])),this['_targetLayer'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5368cf['prototype'],_0x1a4e('0x4784'),{'get':function(){return Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4785')])||(this[_0x1a4e('0x4785')]=new _0x11db67['TerrainLayerCollection'](this[_0x1a4e('0x38fa')])),this[_0x1a4e('0x4785')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5368cf[_0x1a4e('0xa')],_0x1a4e('0x4786'),{'get':function(){return this[_0x1a4e('0x477a')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5368cf[_0x1a4e('0xa')],'tileLayer',{'get':function(){return this[_0x1a4e('0x4787')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5368cf[_0x1a4e('0xa')],'actionLayer',{'get':function(){return this['_actionLayer'];},'enumerable':!0x0,'configurable':!0x0}),_0x5368cf;}();},'./src/LayerManager/MassiveLayer/Cluster.ts':function(_0x3afe8b,_0x4458ba,_0x4bb5d7){'use strict';_0x4bb5d7['r'](_0x4458ba),_0x4bb5d7['d'](_0x4458ba,_0x1a4e('0x3fb2'),function(){return _0x1b4c1c;}),_0x4bb5d7['d'](_0x4458ba,'ClusterOpt',function(){return _0x3067af;});var _0x5c463b,_0x319500=_0x4bb5d7(_0x1a4e('0x4053')),_0x24c226=_0x4bb5d7(_0x1a4e('0x3999')),_0x42cbbf=(_0x5c463b=function(_0x3afe8b,_0x4458ba){return(_0x5c463b=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x3afe8b,_0x4458ba){_0x3afe8b['__proto__']=_0x4458ba;}||function(_0x3afe8b,_0x4458ba){for(var _0x4bb5d7 in _0x4458ba)_0x4458ba[_0x1a4e('0xb')](_0x4bb5d7)&&(_0x3afe8b[_0x4bb5d7]=_0x4458ba[_0x4bb5d7]);})(_0x3afe8b,_0x4458ba);},function(_0x3afe8b,_0x4458ba){function _0x4bb5d7(){this['constructor']=_0x3afe8b;}_0x5c463b(_0x3afe8b,_0x4458ba),_0x3afe8b[_0x1a4e('0xa')]=null===_0x4458ba?Object[_0x1a4e('0x7')](_0x4458ba):(_0x4bb5d7[_0x1a4e('0xa')]=_0x4458ba[_0x1a4e('0xa')],new _0x4bb5d7());}),_0x38e74e=function(_0x3afe8b,_0x4458ba,_0x4bb5d7,_0x5c463b){return new(_0x4bb5d7||(_0x4bb5d7=Promise))(function(_0x319500,_0x24c226){function _0x42cbbf(_0x3afe8b){try{_0x45da07(_0x5c463b[_0x1a4e('0x7e')](_0x3afe8b));}catch(_0x482b41){_0x24c226(_0x482b41);}}function _0x38e74e(_0x3afe8b){try{_0x45da07(_0x5c463b[_0x1a4e('0x1362')](_0x3afe8b));}catch(_0xe05e08){_0x24c226(_0xe05e08);}}function _0x45da07(_0x3afe8b){_0x3afe8b['done']?_0x319500(_0x3afe8b[_0x1a4e('0x255')]):new _0x4bb5d7(function(_0x4458ba){_0x4458ba(_0x3afe8b['value']);})[_0x1a4e('0xdf8')](_0x42cbbf,_0x38e74e);}_0x45da07((_0x5c463b=_0x5c463b[_0x1a4e('0x8b')](_0x3afe8b,_0x4458ba||[]))['next']());});},_0x45da07=function(_0x3afe8b,_0x4458ba){var _0x4bb5d7,_0x5c463b,_0x319500,_0x24c226,_0x42cbbf={'label':0x0,'sent':function(){if(0x1&_0x319500[0x0])throw _0x319500[0x1];return _0x319500[0x1];},'trys':[],'ops':[]};return _0x24c226={'next':_0x38e74e(0x0),'throw':_0x38e74e(0x1),'return':_0x38e74e(0x2)},_0x1a4e('0x68')==typeof Symbol&&(_0x24c226[Symbol[_0x1a4e('0x335')]]=function(){return this;}),_0x24c226;function _0x38e74e(_0x24c226){return function(_0x38e74e){return function(_0x24c226){if(_0x4bb5d7)throw new TypeError(_0x1a4e('0x16f8'));for(;_0x42cbbf;)try{if(_0x4bb5d7=0x1,_0x5c463b&&(_0x319500=0x2&_0x24c226[0x0]?_0x5c463b[_0x1a4e('0xe40')]:_0x24c226[0x0]?_0x5c463b[_0x1a4e('0x1362')]||((_0x319500=_0x5c463b[_0x1a4e('0xe40')])&&_0x319500['call'](_0x5c463b),0x0):_0x5c463b['next'])&&!(_0x319500=_0x319500[_0x1a4e('0x1')](_0x5c463b,_0x24c226[0x1]))[_0x1a4e('0x3c2')])return _0x319500;switch(_0x5c463b=0x0,_0x319500&&(_0x24c226=[0x2&_0x24c226[0x0],_0x319500[_0x1a4e('0x255')]]),_0x24c226[0x0]){case 0x0:case 0x1:_0x319500=_0x24c226;break;case 0x4:return _0x42cbbf[_0x1a4e('0x1bc')]++,{'value':_0x24c226[0x1],'done':!0x1};case 0x5:_0x42cbbf['label']++,_0x5c463b=_0x24c226[0x1],_0x24c226=[0x0];continue;case 0x7:_0x24c226=_0x42cbbf[_0x1a4e('0x166a')]['pop'](),_0x42cbbf[_0x1a4e('0x1669')]['pop']();continue;default:if(!(_0x319500=(_0x319500=_0x42cbbf['trys'])[_0x1a4e('0x1e')]>0x0&&_0x319500[_0x319500[_0x1a4e('0x1e')]-0x1])&&(0x6===_0x24c226[0x0]||0x2===_0x24c226[0x0])){_0x42cbbf=0x0;continue;}if(0x3===_0x24c226[0x0]&&(!_0x319500||_0x24c226[0x1]>_0x319500[0x0]&&_0x24c226[0x1]<_0x319500[0x3])){_0x42cbbf[_0x1a4e('0x1bc')]=_0x24c226[0x1];break;}if(0x6===_0x24c226[0x0]&&_0x42cbbf[_0x1a4e('0x1bc')]<_0x319500[0x1]){_0x42cbbf[_0x1a4e('0x1bc')]=_0x319500[0x1],_0x319500=_0x24c226;break;}if(_0x319500&&_0x42cbbf['label']<_0x319500[0x2]){_0x42cbbf['label']=_0x319500[0x2],_0x42cbbf[_0x1a4e('0x166a')][_0x1a4e('0x46')](_0x24c226);break;}_0x319500[0x2]&&_0x42cbbf['ops'][_0x1a4e('0x76')](),_0x42cbbf['trys'][_0x1a4e('0x76')]();continue;}_0x24c226=_0x4458ba[_0x1a4e('0x1')](_0x3afe8b,_0x42cbbf);}catch(_0x1ab600){_0x24c226=[0x6,_0x1ab600],_0x5c463b=0x0;}finally{_0x4bb5d7=_0x319500=0x0;}if(0x5&_0x24c226[0x0])throw _0x24c226[0x1];return{'value':_0x24c226[0x0]?_0x24c226[0x1]:void 0x0,'done':!0x0};}([_0x24c226,_0x38e74e]);};}},_0x1b4c1c=function(_0x3afe8b){function _0x4458ba(_0x4458ba){var _0x4bb5d7=_0x3afe8b[_0x1a4e('0x1')](this)||this;return _0x4bb5d7[_0x1a4e('0x2cb')]=_0x4458ba[_0x1a4e('0x2cb')]?_0x4458ba[_0x1a4e('0x2cb')]:_0x1a4e('0x804'),_0x4bb5d7[_0x1a4e('0x515')]=_0x4458ba['id']?_0x4458ba['id']:_0x24c226[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),_0x4bb5d7[_0x1a4e('0x4788')]=_0x4458ba,_0x4bb5d7[_0x1a4e('0x4789')]=new Cesium['CustomDataSource'](_0x4458ba[_0x1a4e('0x2cb')]),_0x4bb5d7[_0x1a4e('0x478a')]=_0x4458ba[_0x1a4e('0x478b')],_0x4bb5d7[_0x1a4e('0x478c')]=_0x4458ba[_0x1a4e('0x478d')],_0x4bb5d7[_0x1a4e('0x478e')]=_0x4458ba[_0x1a4e('0x1771')],_0x4bb5d7[_0x1a4e('0x478f')]=_0x4458ba[_0x1a4e('0x4790')],_0x4bb5d7;}return _0x42cbbf(_0x4458ba,_0x3afe8b),Object[_0x1a4e('0x2')](_0x4458ba[_0x1a4e('0xa')],'customStyleEnable',{'get':function(){return this[_0x1a4e('0x478f')];},'set':function(_0x3afe8b){this['_customStyleEnable']=_0x3afe8b,_0x3afe8b?this[_0x1a4e('0x4791')]():Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4792')])&&(this[_0x1a4e('0x4792')](),this[_0x1a4e('0x4792')]=void 0x0,this[_0x1a4e('0x4793')]());},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4458ba[_0x1a4e('0xa')],_0x1a4e('0x478b'),{'get':function(){return this[_0x1a4e('0x478a')];},'set':function(_0x3afe8b){this[_0x1a4e('0x478a')]=_0x3afe8b,this[_0x1a4e('0x4794')][_0x1a4e('0x4795')][_0x1a4e('0x478b')]=this[_0x1a4e('0x478a')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4458ba[_0x1a4e('0xa')],_0x1a4e('0x478d'),{'get':function(){return this[_0x1a4e('0x478c')];},'set':function(_0x3afe8b){this[_0x1a4e('0x478c')]=_0x3afe8b,this[_0x1a4e('0x4794')]['clustering'][_0x1a4e('0x478d')]=this['_minimumClusterSize'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4458ba[_0x1a4e('0xa')],'enable',{'get':function(){return this[_0x1a4e('0x478e')];},'set':function(_0x3afe8b){this[_0x1a4e('0x478e')]=_0x3afe8b,this[_0x1a4e('0x4794')][_0x1a4e('0x4795')][_0x1a4e('0x25e5')]=this[_0x1a4e('0x478e')],this[_0x1a4e('0x4794')]['show']=this[_0x1a4e('0x478e')];},'enumerable':!0x0,'configurable':!0x0}),_0x4458ba[_0x1a4e('0xa')]['initItem']=function(_0x3afe8b){this[_0x1a4e('0x38fa')]=_0x3afe8b;},_0x4458ba[_0x1a4e('0xa')][_0x1a4e('0x3acf')]=function(){this[_0x1a4e('0x38fa')][_0x1a4e('0x395b')][_0x1a4e('0x82')](this[_0x1a4e('0x4789')]);},_0x4458ba[_0x1a4e('0xa')]['toJson']=function(){},_0x4458ba[_0x1a4e('0xa')]['parseJson']=function(){},_0x4458ba[_0x1a4e('0xa')][_0x1a4e('0x5af')]=function(_0x3afe8b){this[_0x1a4e('0x4789')]['entities'][_0x1a4e('0x177')](_0x3afe8b);},_0x4458ba[_0x1a4e('0xa')][_0x1a4e('0x4796')]=function(){return _0x38e74e(this,void 0x0,void 0x0,function(){var _0x3afe8b;return _0x45da07(this,function(_0x4458ba){switch(_0x4458ba[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x38fa')][_0x1a4e('0x395b')][_0x1a4e('0x177')](this['_customDataSource'])];case 0x1:return _0x3afe8b=_0x4458ba[_0x1a4e('0x128a')](),this[_0x1a4e('0x4794')]=_0x3afe8b,this[_0x1a4e('0x4797')](this[_0x1a4e('0x4794')]),[0x2];}});});},_0x4458ba[_0x1a4e('0xa')][_0x1a4e('0x4791')]=function(){var _0x3afe8b=this;this[_0x1a4e('0x4792')]=this[_0x1a4e('0x4794')][_0x1a4e('0x4795')][_0x1a4e('0x4798')]['addEventListener'](function(_0x4458ba,_0x4bb5d7){_0x4bb5d7['label']['show']=!0x1,_0x3afe8b['_options']['setImage'](_0x4458ba['length'],_0x4bb5d7);}),this['_resetStyle']();},_0x4458ba[_0x1a4e('0xa')][_0x1a4e('0x4793')]=function(){var _0x3afe8b=this['_dataSource'][_0x1a4e('0x4795')]['pixelRange'];this['_dataSource'][_0x1a4e('0x4795')][_0x1a4e('0x478b')]=0x0,this['_dataSource'][_0x1a4e('0x4795')]['pixelRange']=_0x3afe8b;},_0x4458ba[_0x1a4e('0xa')]['_cluster']=function(_0x3afe8b){_0x3afe8b[_0x1a4e('0x4795')][_0x1a4e('0x25e5')]=this['_options']['enable'],_0x3afe8b[_0x1a4e('0x3a23')]=this[_0x1a4e('0x4788')]['enable'],_0x3afe8b[_0x1a4e('0x4795')][_0x1a4e('0x478b')]=this[_0x1a4e('0x4788')]['pixelRange'],_0x3afe8b[_0x1a4e('0x4795')][_0x1a4e('0x478d')]=this['_options'][_0x1a4e('0x478d')],this[_0x1a4e('0x4790')]=this['_options'][_0x1a4e('0x4790')];},_0x4458ba[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4458ba['type'];},Object[_0x1a4e('0x2')](_0x4458ba,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3fb2');},'enumerable':!0x0,'configurable':!0x0}),_0x4458ba;}(_0x319500[_0x1a4e('0x3aca')]),_0x3067af=function(){};},'./src/LayerManager/MassiveLayer/HeatMap/BaseHeatMap.js':function(_0x214f98,_0x3e8353,_0x296086){'use strict';Object['defineProperty'](_0x3e8353,_0x1a4e('0x6'),{'value':!0x0});var _0x153b48,_0x890d9e={'defaultRadius':0x28,'defaultRenderer':_0x1a4e('0x4799'),'defaultGradient':{0.25:'rgb(0,0,255)',0.55:_0x1a4e('0x479a'),0.85:_0x1a4e('0x3735'),1:_0x1a4e('0x479b')},'defaultMaxOpacity':0x1,'defaultMinOpacity':0x0,'defaultBlur':0.85,'defaultXField':'x','defaultYField':'y','defaultValueField':_0x1a4e('0x255'),'plugins':{}},_0x1fb456=function(){var _0x214f98=function(_0x214f98){this[_0x1a4e('0x479c')]={},this['_data']=[],this[_0x1a4e('0x479d')]=[],this[_0x1a4e('0x739')]=0xa,this[_0x1a4e('0x5bc')]=0x1,this[_0x1a4e('0x479e')]=_0x214f98[_0x1a4e('0x479f')]||_0x214f98['defaultXField'],this[_0x1a4e('0x47a0')]=_0x214f98['yField']||_0x214f98['defaultYField'],this[_0x1a4e('0x47a1')]=_0x214f98[_0x1a4e('0x47a2')]||_0x214f98[_0x1a4e('0x47a3')],_0x214f98['radius']&&(this[_0x1a4e('0x47a4')]=_0x214f98['radius']);},_0x3e8353=_0x890d9e[_0x1a4e('0x47a5')];return _0x214f98[_0x1a4e('0xa')]={'_organiseData':function(_0x214f98,_0x296086){var _0x153b48=_0x214f98[this['_xField']],_0x890d9e=_0x214f98[this[_0x1a4e('0x47a0')]],_0x1fb456=this['_radi'],_0x53222a=this['_data'],_0x1e375d=this[_0x1a4e('0x5bc')],_0x641a08=this[_0x1a4e('0x739')],_0x177eb4=_0x214f98[this[_0x1a4e('0x47a1')]]||0x1,_0x528264=_0x214f98[_0x1a4e('0x3b5d')]||this[_0x1a4e('0x47a4')]||_0x3e8353;_0x53222a[_0x153b48]||(_0x53222a[_0x153b48]=[],_0x1fb456[_0x153b48]=[]),_0x53222a[_0x153b48][_0x890d9e]?_0x53222a[_0x153b48][_0x890d9e]+=_0x177eb4:(_0x53222a[_0x153b48][_0x890d9e]=_0x177eb4,_0x1fb456[_0x153b48][_0x890d9e]=_0x528264);var _0x26479d=_0x53222a[_0x153b48][_0x890d9e];return _0x26479d>_0x1e375d?(_0x296086?this[_0x1a4e('0x47a6')](_0x26479d):this[_0x1a4e('0x5bc')]=_0x26479d,!0x1):_0x26479d<_0x641a08?(_0x296086?this[_0x1a4e('0x47a7')](_0x26479d):this[_0x1a4e('0x739')]=_0x26479d,!0x1):{'x':_0x153b48,'y':_0x890d9e,'value':_0x177eb4,'radius':_0x528264,'min':_0x641a08,'max':_0x1e375d};},'_unOrganizeData':function(){var _0x214f98=[],_0x3e8353=this[_0x1a4e('0x4f8')],_0x296086=this[_0x1a4e('0x479d')];for(var _0x153b48 in _0x3e8353)for(var _0x890d9e in _0x3e8353[_0x153b48])_0x214f98[_0x1a4e('0x46')]({'x':_0x153b48,'y':_0x890d9e,'radius':_0x296086[_0x153b48][_0x890d9e],'value':_0x3e8353[_0x153b48][_0x890d9e]});return{'min':this[_0x1a4e('0x739')],'max':this['_max'],'data':_0x214f98};},'_onExtremaChange':function(){this[_0x1a4e('0x479c')][_0x1a4e('0xd8c')](_0x1a4e('0x47a8'),{'min':this[_0x1a4e('0x739')],'max':this[_0x1a4e('0x5bc')]});},'addData':function(){if(arguments[0x0][_0x1a4e('0x1e')]>0x0)for(var _0x214f98=arguments[0x0],_0x3e8353=_0x214f98['length'];_0x3e8353--;)this[_0x1a4e('0x47a9')][_0x1a4e('0x1')](this,_0x214f98[_0x3e8353]);else{var _0x296086=this[_0x1a4e('0x47aa')](arguments[0x0],!0x0);_0x296086&&(0x0===this[_0x1a4e('0x4f8')][_0x1a4e('0x1e')]&&(this[_0x1a4e('0x739')]=this[_0x1a4e('0x5bc')]=_0x296086[_0x1a4e('0x255')]),this[_0x1a4e('0x479c')]['emit'](_0x1a4e('0x47ab'),{'min':this[_0x1a4e('0x739')],'max':this[_0x1a4e('0x5bc')],'data':[_0x296086]}));}return this;},'setData':function(_0x214f98){var _0x3e8353=_0x214f98[_0x1a4e('0x7f')],_0x296086=_0x3e8353[_0x1a4e('0x1e')];this[_0x1a4e('0x4f8')]=[],this[_0x1a4e('0x479d')]=[];for(var _0x153b48=0x0;_0x153b48<_0x296086;_0x153b48++)this[_0x1a4e('0x47aa')](_0x3e8353[_0x153b48],!0x1);return this['_max']=_0x214f98['max'],this[_0x1a4e('0x739')]=_0x214f98['min']||0x0,this['_onExtremaChange'](),this[_0x1a4e('0x479c')][_0x1a4e('0xd8c')](_0x1a4e('0x47ac'),this[_0x1a4e('0x47ad')]()),this;},'removeData':function(){},'setDataMax':function(_0x214f98){return this[_0x1a4e('0x5bc')]=_0x214f98,this[_0x1a4e('0x47ae')](),this[_0x1a4e('0x479c')][_0x1a4e('0xd8c')](_0x1a4e('0x47ac'),this[_0x1a4e('0x47ad')]()),this;},'setDataMin':function(_0x214f98){return this['_min']=_0x214f98,this[_0x1a4e('0x47ae')](),this[_0x1a4e('0x479c')]['emit'](_0x1a4e('0x47ac'),this[_0x1a4e('0x47ad')]()),this;},'setCoordinator':function(_0x214f98){this[_0x1a4e('0x479c')]=_0x214f98;},'_getInternalData':function(){return{'max':this[_0x1a4e('0x5bc')],'min':this[_0x1a4e('0x739')],'data':this[_0x1a4e('0x4f8')],'radi':this[_0x1a4e('0x479d')]};},'getData':function(){return this['_unOrganizeData']();}},_0x214f98;}(),_0x53222a=function(){var _0x214f98=function(_0x214f98){var _0x3e8353=_0x214f98[_0x1a4e('0x41da')]||_0x214f98['defaultGradient'],_0x296086=document['createElement'](_0x1a4e('0x3934')),_0x153b48=_0x296086[_0x1a4e('0x51c')]('2d');_0x296086[_0x1a4e('0x3936')]=0x100,_0x296086[_0x1a4e('0x152')]=0x1;var _0x890d9e=_0x153b48[_0x1a4e('0x3dc4')](0x0,0x0,0x100,0x1);for(var _0x1fb456 in _0x3e8353)_0x890d9e[_0x1a4e('0x3dba')](_0x1fb456,_0x3e8353[_0x1fb456]);return _0x153b48['fillStyle']=_0x890d9e,_0x153b48['fillRect'](0x0,0x0,0x100,0x1),_0x153b48['getImageData'](0x0,0x0,0x100,0x1)['data'];},_0x3e8353=function(_0x214f98,_0x3e8353){var _0x296086=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934')),_0x153b48=_0x296086[_0x1a4e('0x51c')]('2d'),_0x890d9e=_0x214f98,_0x1fb456=_0x214f98;if(_0x296086[_0x1a4e('0x3936')]=_0x296086['height']=0x2*_0x214f98,0x1==_0x3e8353)_0x153b48[_0x1a4e('0x3dbd')](),_0x153b48[_0x1a4e('0x124')](_0x890d9e,_0x1fb456,_0x214f98,0x0,0x2*Math['PI'],!0x1),_0x153b48['fillStyle']=_0x1a4e('0x47af'),_0x153b48[_0x1a4e('0x22c')]();else{var _0x53222a=_0x153b48[_0x1a4e('0x3db9')](_0x890d9e,_0x1fb456,_0x214f98*_0x3e8353,_0x890d9e,_0x1fb456,_0x214f98);_0x53222a[_0x1a4e('0x3dba')](0x0,_0x1a4e('0x47af')),_0x53222a['addColorStop'](0x1,'rgba(0,0,0,0)'),_0x153b48[_0x1a4e('0x3dbe')]=_0x53222a,_0x153b48[_0x1a4e('0x3dde')](0x0,0x0,0x2*_0x214f98,0x2*_0x214f98);}return _0x296086;};function _0x296086(_0x3e8353){var _0x296086=_0x3e8353['container'],_0x153b48=this[_0x1a4e('0x47b0')]=document[_0x1a4e('0xe3d')]('canvas'),_0x890d9e=this[_0x1a4e('0x3934')]=_0x3e8353[_0x1a4e('0x3934')]||document[_0x1a4e('0xe3d')](_0x1a4e('0x3934')),_0x1fb456=(this[_0x1a4e('0x47b1')]=[0x2710,0x2710,0x0,0x0],getComputedStyle(_0x3e8353[_0x1a4e('0x12d8')])||{});_0x890d9e[_0x1a4e('0x3158')]=_0x1a4e('0x47b2'),this[_0x1a4e('0x47b3')]=_0x890d9e[_0x1a4e('0x3936')]=_0x153b48['width']=_0x3e8353[_0x1a4e('0x3936')]||+_0x1fb456[_0x1a4e('0x3936')]['replace'](/px/,''),this[_0x1a4e('0x399c')]=_0x890d9e[_0x1a4e('0x152')]=_0x153b48['height']=_0x3e8353['height']||+_0x1fb456[_0x1a4e('0x152')][_0x1a4e('0x115')](/px/,''),this[_0x1a4e('0x47b4')]=_0x153b48[_0x1a4e('0x51c')]('2d'),this[_0x1a4e('0x169f')]=_0x890d9e[_0x1a4e('0x51c')]('2d'),_0x890d9e[_0x1a4e('0x375c')][_0x1a4e('0x1322')]=_0x153b48[_0x1a4e('0x375c')][_0x1a4e('0x1322')]=_0x1a4e('0x47b5'),_0x296086['style'][_0x1a4e('0x3553')]=_0x1a4e('0x1143'),_0x296086[_0x1a4e('0x12c4')](_0x890d9e),this[_0x1a4e('0x47b6')]=_0x214f98(_0x3e8353),this[_0x1a4e('0x47b7')]={},this[_0x1a4e('0x47b8')](_0x3e8353);}return _0x296086[_0x1a4e('0xa')]={'renderPartial':function(_0x214f98){_0x214f98[_0x1a4e('0x7f')][_0x1a4e('0x1e')]>0x0&&(this['_drawAlpha'](_0x214f98),this[_0x1a4e('0x47b9')]());},'renderAll':function(_0x214f98){this[_0x1a4e('0x3ee7')](),_0x214f98['data']['length']>0x0&&(this['_drawAlpha'](function(_0x214f98){for(var _0x3e8353=[],_0x296086=_0x214f98['min'],_0x153b48=_0x214f98[_0x1a4e('0x6c')],_0x890d9e=_0x214f98[_0x1a4e('0x47ba')],_0x1fb456=(_0x214f98=_0x214f98[_0x1a4e('0x7f')],Object[_0x1a4e('0x56')](_0x214f98)),_0x53222a=_0x1fb456['length'];_0x53222a--;)for(var _0x1e375d=_0x1fb456[_0x53222a],_0x641a08=Object['keys'](_0x214f98[_0x1e375d]),_0x177eb4=_0x641a08[_0x1a4e('0x1e')];_0x177eb4--;){var _0x528264=_0x641a08[_0x177eb4],_0x3f2bd7=_0x214f98[_0x1e375d][_0x528264],_0x2f4e53=_0x890d9e[_0x1e375d][_0x528264];_0x3e8353['push']({'x':_0x1e375d,'y':_0x528264,'value':_0x3f2bd7,'radius':_0x2f4e53});}return{'min':_0x296086,'max':_0x153b48,'data':_0x3e8353};}(_0x214f98)),this[_0x1a4e('0x47b9')]());},'_updateGradient':function(_0x3e8353){this[_0x1a4e('0x47b6')]=_0x214f98(_0x3e8353);},'updateConfig':function(_0x214f98){_0x214f98[_0x1a4e('0x41da')]&&this[_0x1a4e('0x47bb')](_0x214f98),this[_0x1a4e('0x47b8')](_0x214f98);},'setDimensions':function(_0x214f98,_0x3e8353){this[_0x1a4e('0x47b3')]=_0x214f98,this[_0x1a4e('0x399c')]=_0x3e8353,this[_0x1a4e('0x3934')][_0x1a4e('0x3936')]=this[_0x1a4e('0x47b0')][_0x1a4e('0x3936')]=_0x214f98,this[_0x1a4e('0x3934')][_0x1a4e('0x152')]=this[_0x1a4e('0x47b0')]['height']=_0x3e8353;},'_clear':function(){this[_0x1a4e('0x47b4')][_0x1a4e('0x3dbc')](0x0,0x0,this[_0x1a4e('0x47b3')],this['_height']),this[_0x1a4e('0x169f')]['clearRect'](0x0,0x0,this[_0x1a4e('0x47b3')],this[_0x1a4e('0x399c')]);},'_setStyles':function(_0x214f98){this['_blur']=0x0==_0x214f98[_0x1a4e('0x3822')]?0x0:_0x214f98[_0x1a4e('0x3822')]||_0x214f98['defaultBlur'],_0x214f98[_0x1a4e('0x3ef1')]&&(this[_0x1a4e('0x3934')]['style']['backgroundColor']=_0x214f98['backgroundColor']),this[_0x1a4e('0x47b3')]=this[_0x1a4e('0x3934')]['width']=this[_0x1a4e('0x47b0')][_0x1a4e('0x3936')]=_0x214f98['width']||this['_width'],this[_0x1a4e('0x399c')]=this[_0x1a4e('0x3934')]['height']=this[_0x1a4e('0x47b0')][_0x1a4e('0x152')]=_0x214f98[_0x1a4e('0x152')]||this[_0x1a4e('0x399c')],this[_0x1a4e('0x47bc')]=0xff*(_0x214f98[_0x1a4e('0x47bd')]||0x0),this[_0x1a4e('0x47be')]=0xff*(_0x214f98[_0x1a4e('0x47bf')]||_0x214f98[_0x1a4e('0x47c0')]),this[_0x1a4e('0x47c1')]=0xff*(_0x214f98['minOpacity']||_0x214f98['defaultMinOpacity']),this[_0x1a4e('0x47c2')]=!!_0x214f98[_0x1a4e('0x47c3')];},'_drawAlpha':function(_0x214f98){for(var _0x296086=this[_0x1a4e('0x739')]=_0x214f98[_0x1a4e('0x74')],_0x153b48=this[_0x1a4e('0x5bc')]=_0x214f98[_0x1a4e('0x6c')],_0x890d9e=(_0x214f98=_0x214f98[_0x1a4e('0x7f')]||[])[_0x1a4e('0x1e')],_0x1fb456=0x1-this[_0x1a4e('0x47c4')];_0x890d9e--;){var _0x53222a,_0x1e375d=_0x214f98[_0x890d9e],_0x641a08=_0x1e375d['x'],_0x177eb4=_0x1e375d['y'],_0x528264=_0x1e375d['radius'],_0x1bd42c=Math[_0x1a4e('0x74')](_0x1e375d[_0x1a4e('0x255')],_0x153b48),_0x4e923d=_0x641a08-_0x528264,_0xe65b41=_0x177eb4-_0x528264,_0x2b6162=this[_0x1a4e('0x47b4')];this[_0x1a4e('0x47b7')][_0x528264]?_0x53222a=this[_0x1a4e('0x47b7')][_0x528264]:this[_0x1a4e('0x47b7')][_0x528264]=_0x53222a=_0x3e8353(_0x528264,_0x1fb456);var _0x40d0b2=(_0x1bd42c-_0x296086)/(_0x153b48-_0x296086);_0x2b6162[_0x1a4e('0x47c5')]=_0x40d0b2<0.01?0.01:_0x40d0b2,_0x2b6162[_0x1a4e('0x47c6')](_0x53222a,_0x4e923d,_0xe65b41),_0x4e923dthis[_0x1a4e('0x47b1')][0x2]&&(this['_renderBoundaries'][0x2]=_0x4e923d+0x2*_0x528264),_0xe65b41+0x2*_0x528264>this['_renderBoundaries'][0x3]&&(this[_0x1a4e('0x47b1')][0x3]=_0xe65b41+0x2*_0x528264);}},'_colorize':function(){var _0x214f98=this['_renderBoundaries'][0x0],_0x3e8353=this[_0x1a4e('0x47b1')][0x1],_0x296086=this[_0x1a4e('0x47b1')][0x2]-_0x214f98,_0x153b48=this[_0x1a4e('0x47b1')][0x3]-_0x3e8353,_0x890d9e=this[_0x1a4e('0x47b3')],_0x1fb456=this['_height'],_0x53222a=this[_0x1a4e('0x47bc')],_0x1e375d=this[_0x1a4e('0x47be')],_0x641a08=this[_0x1a4e('0x47c1')],_0x177eb4=this[_0x1a4e('0x47c2')];_0x214f98<0x0&&(_0x214f98=0x0),_0x3e8353<0x0&&(_0x3e8353=0x0),_0x214f98+_0x296086>_0x890d9e&&(_0x296086=_0x890d9e-_0x214f98),_0x3e8353+_0x153b48>_0x1fb456&&(_0x153b48=_0x1fb456-_0x3e8353);for(var _0x528264=this[_0x1a4e('0x47b4')][_0x1a4e('0x47c7')](_0x214f98,_0x3e8353,_0x296086,_0x153b48),_0x42fd4b=_0x528264[_0x1a4e('0x7f')],_0x587822=_0x42fd4b['length'],_0x4ed2e2=this['_palette'],_0x561dc3=0x3;_0x561dc3<_0x587822;_0x561dc3+=0x4){var _0x18384f,_0x380fee=_0x42fd4b[_0x561dc3],_0x37bc93=0x4*_0x380fee;if(_0x37bc93)_0x18384f=_0x53222a>0x0?_0x53222a:_0x380fee<_0x1e375d?_0x380fee<_0x641a08?_0x641a08:_0x380fee:_0x1e375d,_0x42fd4b[_0x561dc3-0x3]=_0x4ed2e2[_0x37bc93],_0x42fd4b[_0x561dc3-0x2]=_0x4ed2e2[_0x37bc93+0x1],_0x42fd4b[_0x561dc3-0x1]=_0x4ed2e2[_0x37bc93+0x2],_0x42fd4b[_0x561dc3]=_0x177eb4?_0x4ed2e2[_0x37bc93+0x3]:_0x18384f;}this['ctx'][_0x1a4e('0x3938')](_0x528264,_0x214f98,_0x3e8353),this[_0x1a4e('0x47b1')]=[0x3e8,0x3e8,0x0,0x0];},'getValueAt':function(_0x214f98){var _0x3e8353=this[_0x1a4e('0x47b4')][_0x1a4e('0x47c7')](_0x214f98['x'],_0x214f98['y'],0x1,0x1)[_0x1a4e('0x7f')][0x3],_0x296086=this[_0x1a4e('0x5bc')],_0x153b48=this[_0x1a4e('0x739')];return Math['abs'](_0x296086-_0x153b48)*(_0x3e8353/0xff)>>0x0;},'getDataURL':function(){return this[_0x1a4e('0x3934')][_0x1a4e('0x3939')]();}},_0x296086;}(),_0x1e375d=(_0x153b48=!0x1,_0x1a4e('0x4799')===_0x890d9e[_0x1a4e('0x47c8')]&&(_0x153b48=_0x53222a),_0x153b48),_0x641a08={'merge':function(){for(var _0x214f98={},_0x3e8353=arguments[_0x1a4e('0x1e')],_0x296086=0x0;_0x296086<_0x3e8353;_0x296086++){var _0x153b48=arguments[_0x296086];for(var _0x890d9e in _0x153b48)_0x214f98[_0x890d9e]=_0x153b48[_0x890d9e];}return _0x214f98;}},_0x177eb4=function(){var _0x214f98=function(){function _0x214f98(){this[_0x1a4e('0x47c9')]={};}return _0x214f98[_0x1a4e('0xa')]={'on':function(_0x214f98,_0x3e8353,_0x296086){var _0x153b48=this['cStore'];_0x153b48[_0x214f98]||(_0x153b48[_0x214f98]=[]),_0x153b48[_0x214f98][_0x1a4e('0x46')](function(_0x214f98){return _0x3e8353[_0x1a4e('0x1')](_0x296086,_0x214f98);});},'emit':function(_0x214f98,_0x3e8353){var _0x296086=this['cStore'];if(_0x296086[_0x214f98])for(var _0x153b48=_0x296086[_0x214f98]['length'],_0x890d9e=0x0;_0x890d9e<_0x153b48;_0x890d9e++){(0x0,_0x296086[_0x214f98][_0x890d9e])(_0x3e8353);}}},_0x214f98;}(),_0x3e8353=function(_0x214f98){var _0x3e8353=_0x214f98['_renderer'],_0x296086=_0x214f98[_0x1a4e('0x479c')],_0x153b48=_0x214f98[_0x1a4e('0x47ca')];_0x296086['on'](_0x1a4e('0x47ab'),_0x3e8353['renderPartial'],_0x3e8353),_0x296086['on'](_0x1a4e('0x47ac'),_0x3e8353[_0x1a4e('0x47cb')],_0x3e8353),_0x296086['on'](_0x1a4e('0x47a8'),function(_0x3e8353){_0x214f98[_0x1a4e('0x47cc')]['onExtremaChange']&&_0x214f98[_0x1a4e('0x47cc')]['onExtremaChange']({'min':_0x3e8353[_0x1a4e('0x74')],'max':_0x3e8353[_0x1a4e('0x6c')],'gradient':_0x214f98[_0x1a4e('0x47cc')]['gradient']||_0x214f98[_0x1a4e('0x47cc')]['defaultGradient']});}),_0x153b48[_0x1a4e('0x47cd')](_0x296086);};function _0x296086(){var _0x296086=this['_config']=_0x641a08[_0x1a4e('0x41b')](_0x890d9e,arguments[0x0]||{});if(this[_0x1a4e('0x479c')]=new _0x214f98(),_0x296086[_0x1a4e('0x16f5')]){var _0x153b48=_0x296086[_0x1a4e('0x16f5')];if(!_0x890d9e['plugins'][_0x153b48])throw new Error('Plugin\x20\x27'+_0x153b48+_0x1a4e('0x47ce'));var _0x53222a=_0x890d9e[_0x1a4e('0x16e7')][_0x153b48];this['_renderer']=new _0x53222a[(_0x1a4e('0x1623'))](_0x296086),this[_0x1a4e('0x47ca')]=new _0x53222a['store'](_0x296086);}else this[_0x1a4e('0x47cf')]=new _0x1e375d(_0x296086),this[_0x1a4e('0x47ca')]=new _0x1fb456(_0x296086);_0x3e8353(this);}return _0x296086['prototype']={'addData':function(){return this[_0x1a4e('0x47ca')][_0x1a4e('0x47a9')][_0x1a4e('0x8b')](this[_0x1a4e('0x47ca')],arguments),this;},'removeData':function(){return this[_0x1a4e('0x47ca')][_0x1a4e('0x47d0')]&&this[_0x1a4e('0x47ca')][_0x1a4e('0x47d0')][_0x1a4e('0x8b')](this['_store'],arguments),this;},'setData':function(){return this[_0x1a4e('0x47ca')]['setData'][_0x1a4e('0x8b')](this[_0x1a4e('0x47ca')],arguments),this;},'setDataMax':function(){return this[_0x1a4e('0x47ca')][_0x1a4e('0x47a6')]['apply'](this[_0x1a4e('0x47ca')],arguments),this;},'setDataMin':function(){return this[_0x1a4e('0x47ca')][_0x1a4e('0x47a7')]['apply'](this[_0x1a4e('0x47ca')],arguments),this;},'configure':function(_0x214f98){return this[_0x1a4e('0x47cc')]=_0x641a08['merge'](this['_config'],_0x214f98),this[_0x1a4e('0x47cf')][_0x1a4e('0x47d1')](this[_0x1a4e('0x47cc')]),this[_0x1a4e('0x479c')][_0x1a4e('0xd8c')](_0x1a4e('0x47ac'),this[_0x1a4e('0x47ca')][_0x1a4e('0x47ad')]()),this;},'repaint':function(){return this['_coordinator'][_0x1a4e('0xd8c')](_0x1a4e('0x47ac'),this[_0x1a4e('0x47ca')]['_getInternalData']()),this;},'getData':function(){return this[_0x1a4e('0x47ca')]['getData']();},'getDataURL':function(){return this[_0x1a4e('0x47cf')]['getDataURL']();},'getValueAt':function(_0x214f98){return this['_store'][_0x1a4e('0x47d2')]?this[_0x1a4e('0x47ca')][_0x1a4e('0x47d2')](_0x214f98):this[_0x1a4e('0x47cf')][_0x1a4e('0x47d2')]?this['_renderer']['getValueAt'](_0x214f98):null;}},_0x296086;}(),_0x528264={'create':function(_0x214f98){return new _0x177eb4(_0x214f98);},'register':function(_0x214f98,_0x3e8353){_0x890d9e[_0x1a4e('0x16e7')][_0x214f98]=_0x3e8353;}};_0x3e8353['default']=_0x528264;},'./src/LayerManager/MassiveLayer/HeatMap/HeatMap.ts':function(_0x530193,_0x4bbf93,_0x2f926c){'use strict';_0x2f926c['r'](_0x4bbf93),_0x2f926c['d'](_0x4bbf93,_0x1a4e('0x3fb5'),function(){return _0x39bbef;}),_0x2f926c['d'](_0x4bbf93,_0x1a4e('0x3fb6'),function(){return _0x1cf3ed;});var _0x27d5d1=_0x2f926c(_0x1a4e('0x47d3')),_0x5c0216=_0x2f926c['n'](_0x27d5d1),_0x227c52=_0x2f926c('./src/GEOVIS.ts'),_0x39bbef=function(){function _0x530193(_0x530193){this[_0x1a4e('0x47d4')]=_0x530193,this[_0x1a4e('0x47d5')]=null,this['_zAxisHeight']=null,this['_zoomLevel']=[0x0,0x2710,0x61a8,0xc350,0x186a0,0x36ee8,0x493e0,0x7a120,0xb71b0,0xf4240,0x2625a0,0x393870,0x4c4b40,0x7270e0,0x989680,0x1312d00,0x2faf080,0x5f5e100,0xee6b280,0x1dcd6500],this['_zoomRadius']=[0x1,0x1,1.25,1.5,0x2,2.25,0x3,0x5,7.5,0xa,12.5,13.75,0xf,17.5,0x14,0x19,27.5,0x23,0x32],this[_0x1a4e('0x47d6')]=0xa,this['_rejustHeight']=0x186a0;}return _0x530193['prototype'][_0x1a4e('0x47d7')]=function(_0x530193){for(var _0x4bbf93=[],_0x2f926c=[],_0x27d5d1=0x0;_0x27d5d1<_0x530193[_0x1a4e('0x1e')];_0x27d5d1++)_0x4bbf93[_0x1a4e('0x46')](_0x530193[_0x27d5d1][_0x1a4e('0x1a1')]),_0x2f926c['push'](_0x530193[_0x27d5d1]['lat']);return{'west':Math['min'][_0x1a4e('0x8b')](null,_0x4bbf93),'south':Math[_0x1a4e('0x74')]['apply'](null,_0x2f926c),'east':Math['max']['apply'](null,_0x4bbf93)>=178.5?178.5:Math[_0x1a4e('0x6c')]['apply'](null,_0x4bbf93),'north':Math[_0x1a4e('0x6c')][_0x1a4e('0x8b')](null,_0x2f926c)};},_0x530193['prototype']['_formatPoints']=function(_0x530193){return _0x530193['map'](function(_0x530193){return{'x':_0x530193[_0x1a4e('0x1a1')],'y':_0x530193['lat'],'value':_0x530193[_0x1a4e('0x255')]};});},_0x530193[_0x1a4e('0xa')][_0x1a4e('0x47d8')]=function(){var _0x530193=this;this[_0x1a4e('0x3acf')]();var _0x4bbf93=this['_viewer'][_0x1a4e('0x3a06')],_0x2f926c=_0x4bbf93[_0x1a4e('0x3e67')]['height']/0x1,_0x27d5d1=JSON[_0x1a4e('0x25a')](JSON[_0x1a4e('0xd7')](this[_0x1a4e('0x47d9')]));this[_0x1a4e('0x47da')]=_0x2f926c;for(var _0x39bbef=0x0;_0x39bbef0xf89f7c)return _0x530193[_0x1a4e('0x3acf')](),void _0x530193[_0x1a4e('0x47e2')]();if(_0x530193[_0x1a4e('0x47da')]<_0x530193[_0x1a4e('0x47e3')])_0x530193[_0x1a4e('0x47e2')]();else for(var _0x27d5d1=0x0;_0x27d5d1<_0x530193[_0x1a4e('0x47db')][_0x1a4e('0x1e')];_0x27d5d1++)null===_0x530193[_0x1a4e('0x47da')]||void 0x0===_0x530193[_0x1a4e('0x47da')]||0x0===_0x530193[_0x1a4e('0x47da')]?(_0x530193[_0x1a4e('0x47da')]=_0x2f926c,_0x530193[_0x1a4e('0x47d8')]()):_0x530193[_0x1a4e('0x47db')][_0x27d5d1]<_0x530193[_0x1a4e('0x47da')]&&_0x530193[_0x1a4e('0x47da')]<_0x530193[_0x1a4e('0x47db')][_0x27d5d1+0x1]&&(_0x2f926c<_0x530193[_0x1a4e('0x47db')][_0x27d5d1]||_0x2f926c>_0x530193[_0x1a4e('0x47db')][_0x27d5d1+0x1])&&(_0x530193[_0x1a4e('0x47da')]=_0x2f926c,_0x530193[_0x1a4e('0x47d8')]());});},_0x530193[_0x1a4e('0xa')][_0x1a4e('0x3acd')]=function(_0x530193){this['_viewer']=_0x530193,this[_0x1a4e('0x47e2')]();},_0x530193[_0x1a4e('0xa')][_0x1a4e('0x47e4')]=function(){return this['_heatMapOption'];},_0x530193[_0x1a4e('0xa')][_0x1a4e('0x47e5')]=function(_0x530193){this[_0x1a4e('0x47d6')]=_0x530193;},_0x530193[_0x1a4e('0xa')]['setRejustHeight']=function(_0x530193){this[_0x1a4e('0x47e3')]=_0x530193;},_0x530193[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x530193){this[_0x1a4e('0x3acf')](),this[_0x1a4e('0x47d4')]=_0x530193,this[_0x1a4e('0x47e2')]();},_0x530193[_0x1a4e('0xa')][_0x1a4e('0x47e2')]=function(){this[_0x1a4e('0x3acf')]();var _0x530193=this[_0x1a4e('0x47d7')](this[_0x1a4e('0x47d4')]['points']),_0x4bbf93={'min':this[_0x1a4e('0x47d4')]['limitMin'],'max':this['_heatMapOption'][_0x1a4e('0x47e6')],'points':this[_0x1a4e('0x47e7')](this[_0x1a4e('0x47d4')][_0x1a4e('0x17d')])};this['_heatMapParams']={'heatmapoptions':{'backgroundColor':_0x1a4e('0x46ee'),'radius':this['_heatMapOption'][_0x1a4e('0x3b5d')],'blur':this['_heatMapOption'][_0x1a4e('0x3822')],'gradient':this[_0x1a4e('0x47d4')][_0x1a4e('0x41da')],'maxOpacity':this[_0x1a4e('0x47d4')]['opacity']},'bounds':_0x530193,'data':_0x4bbf93},this[_0x1a4e('0x47d8')]();},_0x530193[_0x1a4e('0xa')][_0x1a4e('0x3acf')]=function(){null!==this[_0x1a4e('0x47d5')]&&(this[_0x1a4e('0x47d5')][_0x1a4e('0x3a23')]=!0x1,this[_0x1a4e('0x38fa')][_0x1a4e('0x472f')][_0x1a4e('0x82')](this[_0x1a4e('0x47d5')]),this[_0x1a4e('0x38fa')]['camera'][_0x1a4e('0x41b3')]['removeEventListener'](this[_0x1a4e('0x47e1')]),this[_0x1a4e('0x47d5')]=null);},_0x530193;}(),_0x1cf3ed=function(_0x530193,_0x4bbf93,_0x2f926c,_0x27d5d1,_0x5c0216,_0x227c52,_0x39bbef){void 0x0===_0x4bbf93&&(_0x4bbf93=0xa),void 0x0===_0x5c0216&&(_0x5c0216={0.25:_0x1a4e('0x47e8'),0.55:_0x1a4e('0x479a'),0.85:_0x1a4e('0x3735'),1:_0x1a4e('0x479b')}),void 0x0===_0x227c52&&(_0x227c52=0.8),void 0x0===_0x39bbef&&(_0x39bbef=0.85),this['points']=_0x530193,this[_0x1a4e('0x3b5d')]=_0x4bbf93,this[_0x1a4e('0x47e9')]=_0x2f926c,this[_0x1a4e('0x47e6')]=_0x27d5d1,this[_0x1a4e('0x41da')]=_0x5c0216,this[_0x1a4e('0x47bd')]=_0x227c52,this['blur']=_0x39bbef;};},'./src/LayerManager/MassiveLayer/HeatMap/HeatMapImageryProvider.js':function(_0x179614,_0x2a8169,_0x1c16c7){'use strict';Object['defineProperty'](_0x2a8169,_0x1a4e('0x6'),{'value':!0x0});var _0x2fafee,_0x5d86ef=function(){function _0x179614(_0x179614,_0x2a8169){for(var _0x1c16c7=0x0;_0x1c16c7<_0x2a8169['length'];_0x1c16c7++){var _0x2fafee=_0x2a8169[_0x1c16c7];_0x2fafee[_0x1a4e('0x1359')]=_0x2fafee[_0x1a4e('0x1359')]||!0x1,_0x2fafee[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x2fafee&&(_0x2fafee['writable']=!0x0),Object[_0x1a4e('0x2')](_0x179614,_0x2fafee['key'],_0x2fafee);}}return function(_0x2a8169,_0x1c16c7,_0x2fafee){return _0x1c16c7&&_0x179614(_0x2a8169['prototype'],_0x1c16c7),_0x2fafee&&_0x179614(_0x2a8169,_0x2fafee),_0x2a8169;};}(),_0x1cdc94=_0x1c16c7(_0x1a4e('0x47ea')),_0x4e06bd=(_0x2fafee=_0x1cdc94)&&_0x2fafee[_0x1a4e('0x6')]?_0x2fafee:{'default':_0x2fafee};Cesium[_0x1a4e('0x47eb')];var _0x420182=Cesium[_0x1a4e('0x3a46')],_0xb3cd=Cesium[_0x1a4e('0x3a0b')],_0x408254=Cesium[_0x1a4e('0x3b9c')],_0x1a4d3d=function(){function _0x179614(_0x2a8169){!function(_0x179614,_0x2a8169){if(!(_0x179614 instanceof _0x2a8169))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}(this,_0x179614),this[_0x1a4e('0x1267')](_0x2a8169);}return _0x5d86ef(_0x179614,[{'key':_0x1a4e('0x1267'),'value':function(_0x179614){var _0x2a8169=(_0x179614=_0x420182(_0x179614,{}))[_0x1a4e('0x47e0')],_0x1c16c7=_0x179614[_0x1a4e('0x7f')];if(!_0xb3cd(_0x2a8169))throw new _0x408254(_0x1a4e('0x47ec'));if(!(_0xb3cd(_0x2a8169[_0x1a4e('0x403b')])&&_0xb3cd(_0x2a8169[_0x1a4e('0x394f')])&&_0xb3cd(_0x2a8169[_0x1a4e('0x3950')])&&_0xb3cd(_0x2a8169[_0x1a4e('0x394e')])))throw new _0x408254(_0x1a4e('0x47ed'));if(!_0xb3cd(_0x1c16c7))throw new _0x408254(_0x1a4e('0x47ee'));if(!_0xb3cd(_0x1c16c7[_0x1a4e('0x74')])||!_0xb3cd(_0x1c16c7['max'])||!_0xb3cd(_0x1c16c7[_0x1a4e('0x17d')]))throw new _0x408254('options.bounds.north,\x20bounds.south,\x20bounds.east\x20and\x20bounds.west\x20are\x20required.');this[_0x1a4e('0x47ef')]=new Cesium[(_0x1a4e('0x475a'))](),this[_0x1a4e('0x47f0')]=this['wgs84ToMercatorBB'](_0x2a8169),this[_0x1a4e('0x4788')]=_0x420182(_0x179614['heatmapoptions'],{}),this[_0x1a4e('0x4788')][_0x1a4e('0x41da')]=_0x420182(this[_0x1a4e('0x4788')][_0x1a4e('0x41da')],{0.25:_0x1a4e('0x47e8'),0.55:_0x1a4e('0x479a'),0.85:'yellow',1:_0x1a4e('0x479b')}),this[_0x1a4e('0x47f1')](this[_0x1a4e('0x47f0')]),this[_0x1a4e('0x4788')]['radius']=Math[_0x1a4e('0x2a')](_0x420182(this[_0x1a4e('0x4788')][_0x1a4e('0x3b5d')],this[_0x1a4e('0x3936')]>this[_0x1a4e('0x152')]?this[_0x1a4e('0x3936')]/0x3c:this[_0x1a4e('0x152')]/0x3c)),this[_0x1a4e('0x47f2')]=1.5*this[_0x1a4e('0x4788')][_0x1a4e('0x3b5d')],this[_0x1a4e('0x47f3')]=this['_mbounds'][_0x1a4e('0x394e')],this[_0x1a4e('0x47f4')]=this[_0x1a4e('0x47f0')][_0x1a4e('0x394f')],this['width']=Math[_0x1a4e('0x2a')](this['width']+0x2*this[_0x1a4e('0x47f2')]),this[_0x1a4e('0x152')]=Math[_0x1a4e('0x2a')](this[_0x1a4e('0x152')]+0x2*this[_0x1a4e('0x47f2')]),this[_0x1a4e('0x47f0')][_0x1a4e('0x394e')]-=this[_0x1a4e('0x47f2')]*this[_0x1a4e('0x40cd')],this[_0x1a4e('0x47f0')][_0x1a4e('0x3950')]+=this[_0x1a4e('0x47f2')]*this[_0x1a4e('0x40cd')],this[_0x1a4e('0x47f0')][_0x1a4e('0x394f')]-=this['_spacing']*this[_0x1a4e('0x40cd')],this[_0x1a4e('0x47f0')][_0x1a4e('0x403b')]+=this['_spacing']*this[_0x1a4e('0x40cd')],this['bounds']=this['mercatorToWgs84BB'](this[_0x1a4e('0x47f0')]),this[_0x1a4e('0x433d')]=this[_0x1a4e('0x47f5')](this[_0x1a4e('0x3936')],this[_0x1a4e('0x152')]),this[_0x1a4e('0x4788')][_0x1a4e('0x12d8')]=this[_0x1a4e('0x433d')],this[_0x1a4e('0x47f6')]=_0x4e06bd[_0x1a4e('0x8')][_0x1a4e('0x7')](this[_0x1a4e('0x4788')]),this[_0x1a4e('0x3b0d')]=this['_container'][_0x1a4e('0x6f')][0x0],this[_0x1a4e('0x4734')]=new Cesium[(_0x1a4e('0x4735'))]({'rectangleSouthwestInMeters':new Cesium[(_0x1a4e('0x3952'))](this[_0x1a4e('0x47f0')][_0x1a4e('0x394e')],this[_0x1a4e('0x47f0')][_0x1a4e('0x394f')]),'rectangleNortheastInMeters':new Cesium['Cartesian2'](this[_0x1a4e('0x47f0')][_0x1a4e('0x3950')],this[_0x1a4e('0x47f0')][_0x1a4e('0x403b')])});var _0x2fafee=this['_image']=this[_0x1a4e('0x3b0d')];this[_0x1a4e('0x47f7')]=this['_canvas'],this['_texture']=void 0x0,this['_tileWidth']=this[_0x1a4e('0x3936')],this[_0x1a4e('0x473a')]=this[_0x1a4e('0x152')],this['_ready']=!0x1,_0x179614['data']&&(this[_0x1a4e('0x3be8')]=this[_0x1a4e('0x47f8')](_0x179614[_0x1a4e('0x7f')][_0x1a4e('0x74')],_0x179614[_0x1a4e('0x7f')][_0x1a4e('0x6c')],_0x179614[_0x1a4e('0x7f')][_0x1a4e('0x17d')]));var _0x5d86ef,_0x1cdc94=this;this[_0x1a4e('0x43dc')](_0x1cdc94,_0x2fafee)['then'](function(_0x179614){_0x179614 instanceof HTMLVideoElement&&(_0x1cdc94[_0x1a4e('0x4559')]=!0x0,_0x1cdc94[_0x1a4e('0x47f9')]=_0x179614[_0x1a4e('0x40f7')]),_0x1cdc94[_0x1a4e('0x3be8')]=!0x0,_0x1cdc94['_readyPromise'][_0x1a4e('0xe20')](!0x0),Cesium[_0x1a4e('0x47fa')][_0x1a4e('0x47fb')](_0x1cdc94[_0x1a4e('0x4731')]);})[_0x1a4e('0x3d12')](function(_0x179614){var _0x2a8169='';_0x1a4e('0x9')==typeof _0x2fafee&&(_0x2a8169='\x20'+_0x2fafee);var _0x1c16c7=_0x1a4e('0x47fc')+_0x2a8169+'.';_0x5d86ef=Cesium['TileProviderError'][_0x1a4e('0x377d')](_0x5d86ef,_0x1cdc94,_0x1cdc94['_errorEvent'],_0x1c16c7,0x0,0x0,0x0,doRequest,_0x179614),_0x1cdc94['_readyPromise']['reject'](new RuntimeError(_0x1c16c7));});}},{'key':_0x1a4e('0x43dc'),'value':function(_0x179614,_0x2a8169){var _0x1c16c7;return _0x1c16c7=_0x2a8169,_0x179614[_0x1a4e('0x47fd')]=_0x1c16c7,_0x179614['_tileWidth']=_0x1c16c7[_0x1a4e('0x3936')],_0x179614['_tileHeight']=_0x1c16c7[_0x1a4e('0x152')],Cesium[_0x1a4e('0x39fd')](_0x2a8169);}},{'key':_0x1a4e('0x47f1'),'value':function(_0x179614){this[_0x1a4e('0x3936')]=_0x179614[_0x1a4e('0x3950')]>0x0&&_0x179614[_0x1a4e('0x394e')]<0x0?_0x179614[_0x1a4e('0x3950')]+Math[_0x1a4e('0x65')](_0x179614['west']):Math['abs'](_0x179614[_0x1a4e('0x3950')]-_0x179614[_0x1a4e('0x394e')]),this[_0x1a4e('0x152')]=_0x179614[_0x1a4e('0x403b')]>0x0&&_0x179614[_0x1a4e('0x394f')]<0x0?_0x179614[_0x1a4e('0x403b')]+Math[_0x1a4e('0x65')](_0x179614[_0x1a4e('0x394f')]):Math[_0x1a4e('0x65')](_0x179614[_0x1a4e('0x403b')]-_0x179614['south']),this[_0x1a4e('0x40cd')]=0x1,this['width']>this['height']&&this[_0x1a4e('0x3936')]>0x7d0?(this[_0x1a4e('0x40cd')]=this[_0x1a4e('0x3936')]/0x7d0,this['height']/this[_0x1a4e('0x40cd')]<0x2bc&&(this[_0x1a4e('0x40cd')]=this[_0x1a4e('0x152')]/0x2bc)):this[_0x1a4e('0x152')]>this[_0x1a4e('0x3936')]&&this['height']>0x7d0?(this[_0x1a4e('0x40cd')]=this[_0x1a4e('0x152')]/0x7d0,this['width']/this['_factor']<0x2bc&&(this[_0x1a4e('0x40cd')]=this[_0x1a4e('0x3936')]/0x2bc)):this['width']0x7d0&&(this['_factor']=this[_0x1a4e('0x152')]/0x7d0)):this[_0x1a4e('0x152')]0x7d0&&(this['_factor']=this[_0x1a4e('0x3936')]/0x7d0)),this[_0x1a4e('0x3936')]=this[_0x1a4e('0x3936')]/this[_0x1a4e('0x40cd')],this[_0x1a4e('0x152')]=this[_0x1a4e('0x152')]/this[_0x1a4e('0x40cd')];}},{'key':_0x1a4e('0x47f5'),'value':function(_0x179614,_0x2a8169,_0x1c16c7){var _0x2fafee=document[_0x1a4e('0xe3d')]('div');return _0x1c16c7&&_0x2fafee[_0x1a4e('0x3935')]('id',_0x1c16c7),_0x2fafee['setAttribute']('style',_0x1a4e('0x47fe')+_0x179614+_0x1a4e('0x47ff')+_0x2a8169+_0x1a4e('0x4800')),document['body'][_0x1a4e('0x12c4')](_0x2fafee),_0x2fafee;}},{'key':_0x1a4e('0x4801'),'value':function(_0x179614){return this[_0x1a4e('0x47ef')][_0x1a4e('0x500')](Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x38db')](_0x179614['x'],_0x179614['y']));}},{'key':_0x1a4e('0x4802'),'value':function(_0x179614){var _0x2a8169=this[_0x1a4e('0x47ef')][_0x1a4e('0x500')](Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x38db')](_0x179614['east'],_0x179614[_0x1a4e('0x403b')])),_0x1c16c7=this[_0x1a4e('0x47ef')][_0x1a4e('0x500')](Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x38db')](_0x179614[_0x1a4e('0x394e')],_0x179614['south']));return{'north':_0x2a8169['y'],'south':_0x1c16c7['y'],'east':_0x2a8169['x'],'west':_0x1c16c7['x']};}},{'key':_0x1a4e('0x4803'),'value':function(_0x179614){var _0x2a8169=this['_wmp']['unproject'](new Cesium[(_0x1a4e('0x393e'))](_0x179614['x'],_0x179614['y']));return{'x':_0x2a8169['longitude'],'y':_0x2a8169['latitude']};}},{'key':_0x1a4e('0x4804'),'value':function(_0x179614){var _0x2a8169=this[_0x1a4e('0x47ef')][_0x1a4e('0x4805')](new Cesium[(_0x1a4e('0x393e'))](_0x179614['west'],_0x179614[_0x1a4e('0x394f')])),_0x1c16c7=this['_wmp'][_0x1a4e('0x4805')](new Cesium[(_0x1a4e('0x393e'))](_0x179614['east'],_0x179614[_0x1a4e('0x403b')]));return{'north':this['rad2deg'](_0x1c16c7[_0x1a4e('0x3a2f')]),'east':this[_0x1a4e('0x4806')](_0x1c16c7['longitude']),'south':this[_0x1a4e('0x4806')](_0x2a8169[_0x1a4e('0x3a2f')]),'west':this['rad2deg'](_0x2a8169[_0x1a4e('0x3a2e')])};}},{'key':'deg2rad','value':function(_0x179614){return _0x179614*(Math['PI']/0xb4);}},{'key':_0x1a4e('0x4806'),'value':function(_0x179614){return _0x179614/(Math['PI']/0xb4);}},{'key':_0x1a4e('0x4807'),'value':function(_0x179614){return this[_0x1a4e('0x4808')](this[_0x1a4e('0x4801')](_0x179614));}},{'key':'mercatorPointToHeatmapPoint','value':function(_0x179614){var _0x2a8169={};return _0x2a8169['x']=Math['round']((_0x179614['x']-this[_0x1a4e('0x47f3')])/this[_0x1a4e('0x40cd')]+this[_0x1a4e('0x47f2')]),_0x2a8169['y']=Math[_0x1a4e('0x2a')]((_0x179614['y']-this['_yoffset'])/this[_0x1a4e('0x40cd')]+this[_0x1a4e('0x47f2')]),_0x2a8169['y']=this[_0x1a4e('0x152')]-_0x2a8169['y'],_0x2a8169;}},{'key':_0x1a4e('0x4fa'),'value':function(_0x179614,_0x2a8169,_0x1c16c7){return!!(_0x1c16c7&&_0x1c16c7[_0x1a4e('0x1e')]>0x0&&null!==_0x179614&&!0x1!==_0x179614&&null!==_0x2a8169&&!0x1!==_0x2a8169)&&(this[_0x1a4e('0x47f6')][_0x1a4e('0x4fa')]({'min':_0x179614,'max':_0x2a8169,'data':_0x1c16c7}),!0x0);}},{'key':_0x1a4e('0x47f8'),'value':function(_0x179614,_0x2a8169,_0x1c16c7){if(_0x1c16c7&&_0x1c16c7[_0x1a4e('0x1e')]>0x0&&null!==_0x179614&&!0x1!==_0x179614&&null!==_0x2a8169&&!0x1!==_0x2a8169){for(var _0x2fafee=[],_0x5d86ef=0x0;_0x5d86ef<_0x1c16c7[_0x1a4e('0x1e')];_0x5d86ef++){var _0x1cdc94=_0x1c16c7[_0x5d86ef],_0x4e06bd=this['wgs84PointToHeatmapPoint'](_0x1cdc94);(_0x1cdc94[_0x1a4e('0x255')]||0x0===_0x1cdc94[_0x1a4e('0x255')])&&(_0x4e06bd[_0x1a4e('0x255')]=_0x1cdc94[_0x1a4e('0x255')]),_0x2fafee[_0x1a4e('0x46')](_0x4e06bd);}var _0x420182=this[_0x1a4e('0x4fa')](_0x179614,_0x2a8169,_0x2fafee);return this[_0x1a4e('0x4809')](),_0x420182;}return!0x1;}},{'key':_0x1a4e('0x4809'),'value':function(){if(_0xb3cd(this[_0x1a4e('0x475f')])){if(this[_0x1a4e('0x4559')]){var _0x179614=this[_0x1a4e('0x47fd')][_0x1a4e('0x40f7')];if(Math['abs'](this[_0x1a4e('0x47f9')]-_0x179614)_0x1f5a77)return _0x13b7b3;return[_0x49d18e['x'],_0x49d18e['y']];}};void 0x0!==_0x3bedd0&&(_0x7d739[_0x1a4e('0xd9')]=function(_0x17a7ae){var _0x1264e9=_0x13b7b3['trails']||0xa;return!!(_0x3bedd0&&_0x17a7ae[_0x1a4e('0x129a')]>_0x3bedd0-_0x1264e9&&_0x17a7ae[_0x1a4e('0x129a')]<_0x3bedd0);});var _0x862727=this[_0x1a4e('0x4810')][_0x1a4e('0x179')](_0x7d739);this['processData'](_0x862727),'m'==this['options'][_0x1a4e('0x397f')]&&this[_0x1a4e('0x8dc')][_0x1a4e('0x220')],this[_0x1a4e('0x8dc')][_0x1a4e('0x4a6')]=this[_0x1a4e('0x8dc')]['size'];var _0x361cac=Cesium[_0x1a4e('0x4347')][_0x1a4e('0x4826')](_0x17a7ae,Cesium['Cartesian3'][_0x1a4e('0x38db')](0x0,0x0));this['drawContext'](_0x1264e9,new _0x5c3c88['DataSet'](_0x862727),this[_0x1a4e('0x8dc')],_0x361cac),this['options']['updateCallback']&&this['options']['updateCallback'](_0x3bedd0);}}},{'key':_0x1a4e('0x399b'),'value':function(_0x3bedd0,_0x13b7b3){var _0x1264e9=_0x3bedd0;_0x1264e9&&_0x1264e9[_0x1a4e('0x179')]&&(_0x1264e9=_0x1264e9['get']()),null!=_0x1264e9&&this[_0x1a4e('0x4810')][_0x1a4e('0x17a')](_0x1264e9),_0x49d18e(_0x17a7ae[_0x1a4e('0xa')][_0x1a4e('0x295')]||Object[_0x1a4e('0xd98')](_0x17a7ae[_0x1a4e('0xa')]),_0x1a4e('0x937'),this)[_0x1a4e('0x1')](this,{'options':_0x13b7b3});}},{'key':'addData','value':function(_0x3bedd0,_0x17a7ae){var _0x13b7b3=_0x3bedd0;_0x3bedd0&&_0x3bedd0['get']&&(_0x13b7b3=_0x3bedd0[_0x1a4e('0x179')]()),this[_0x1a4e('0x4810')][_0x1a4e('0x177')](_0x13b7b3),this[_0x1a4e('0x937')]({'options':_0x17a7ae});}},{'key':_0x1a4e('0x4f0'),'value':function(){return this['dataSet'];}},{'key':_0x1a4e('0x47d0'),'value':function(_0x3bedd0){if(this[_0x1a4e('0x4810')]){var _0x17a7ae=this[_0x1a4e('0x4810')][_0x1a4e('0x179')]({'filter':function(_0x17a7ae){return null==_0x3bedd0||_0x1a4e('0x68')!=typeof _0x3bedd0||!_0x3bedd0(_0x17a7ae);}});this[_0x1a4e('0x4810')][_0x1a4e('0x17a')](_0x17a7ae),this[_0x1a4e('0x937')]({'options':null});}}},{'key':'clearData','value':function(){this[_0x1a4e('0x4810')]&&this[_0x1a4e('0x4810')]['clear'](),this[_0x1a4e('0x937')]({'options':null});}},{'key':_0x1a4e('0x4827'),'value':function(){this[_0x1a4e('0x4813')]['draw']();}},{'key':'clear','value':function(_0x3bedd0){_0x3bedd0&&_0x3bedd0[_0x1a4e('0x3dbc')]&&_0x3bedd0[_0x1a4e('0x3dbc')](0x0,0x0,_0x3bedd0[_0x1a4e('0x3934')][_0x1a4e('0x3936')],_0x3bedd0[_0x1a4e('0x3934')][_0x1a4e('0x152')]);}},{'key':_0x1a4e('0x139c'),'value':function(){this[_0x1a4e('0x4828')](),this['clear'](this[_0x1a4e('0x51c')]()),this['clearData'](),this['animator']&&this[_0x1a4e('0x481d')][_0x1a4e('0x127b')](),this[_0x1a4e('0x481d')]=null,this['canvasLayer']=null;}}]),_0x17a7ae;}(),_0x29e102=function(){function _0x3bedd0(_0x17a7ae,_0x13b7b3,_0x1264e9,_0x49d18e){_0x7d739(this,_0x3bedd0),this[_0x1a4e('0x21')]=_0x17a7ae,this['scene']=_0x17a7ae['scene'],this[_0x1a4e('0x4829')]=new _0x2e08ca(_0x17a7ae,_0x13b7b3,_0x1264e9,this),this['MapVOptions']=_0x1264e9,this['initDevicePixelRatio'](),this['canvas']=this['_createCanvas'](),this[_0x1a4e('0x12d9')]=this[_0x1a4e('0x12d9')][_0x1a4e('0x945')](this),null!=_0x49d18e?(this[_0x1a4e('0x12d8')]=_0x49d18e,_0x49d18e[_0x1a4e('0x12c4')](this['canvas'])):(this[_0x1a4e('0x12d8')]=_0x17a7ae[_0x1a4e('0x12d8')],this['addInnerContainer']()),this['bindEvent'](),this[_0x1a4e('0xa30')]();}return _0x1264e9(_0x3bedd0,[{'key':_0x1a4e('0x4812'),'value':function(){this[_0x1a4e('0x43c1')]=window[_0x1a4e('0x43c1')]||0x1;}},{'key':'addInnerContainer','value':function(){this['container'][_0x1a4e('0x12c4')](this[_0x1a4e('0x3934')]);}},{'key':_0x1a4e('0x481e'),'value':function(){var _0x3bedd0=this;this[_0x1a4e('0x482a')]=this[_0x1a4e('0x482b')][_0x1a4e('0x945')](this),this[_0x1a4e('0x482c')]=this['moveEndEvent'][_0x1a4e('0x945')](this),this[_0x1a4e('0x38d6')][_0x1a4e('0x3a06')][_0x1a4e('0x482d')][_0x1a4e('0xec5')](this[_0x1a4e('0x482a')],this),this[_0x1a4e('0x38d6')][_0x1a4e('0x3a06')][_0x1a4e('0x41b3')][_0x1a4e('0xec5')](this[_0x1a4e('0x482c')],this);var _0x17a7ae=new Cesium[(_0x1a4e('0x39cd'))](this[_0x1a4e('0x3934')]);_0x17a7ae['setInputAction'](function(_0x17a7ae){_0x3bedd0['innerMoveEnd']();},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d3')]),_0x17a7ae[_0x1a4e('0x3981')](function(_0x17a7ae){_0x3bedd0['innerMoveEnd']();},Cesium['ScreenSpaceEventType'][_0x1a4e('0x482e')]),this['handler']=_0x17a7ae;}},{'key':'unbindEvent','value':function(){this['scene'][_0x1a4e('0x3a06')][_0x1a4e('0x482d')]['removeEventListener'](this[_0x1a4e('0x482a')],this),this[_0x1a4e('0x38d6')]['camera'][_0x1a4e('0x41b3')][_0x1a4e('0xec2')](this[_0x1a4e('0x482c')],this),this[_0x1a4e('0x38d6')]['postRender'][_0x1a4e('0xec2')](this['_reset'],this),this[_0x1a4e('0x3a8a')]&&(this[_0x1a4e('0x3a8a')][_0x1a4e('0x139c')](),this[_0x1a4e('0x3a8a')]=null);}},{'key':_0x1a4e('0x482b'),'value':function(){this[_0x1a4e('0x4829')]&&this[_0x1a4e('0x4829')][_0x1a4e('0x4819')](),this[_0x1a4e('0x38d6')][_0x1a4e('0x482f')][_0x1a4e('0xec5')](this[_0x1a4e('0xa30')],this);}},{'key':_0x1a4e('0x4830'),'value':function(){this[_0x1a4e('0x38d6')][_0x1a4e('0x482f')][_0x1a4e('0xec2')](this['_reset'],this),this['MapVBaseLayer']&&this[_0x1a4e('0x4829')][_0x1a4e('0x481c')](),this[_0x1a4e('0xa30')]();}},{'key':_0x1a4e('0x4831'),'value':function(){this[_0x1a4e('0x4832')]();}},{'key':'zoomEndEvent','value':function(){this['_unvisiable']();}},{'key':_0x1a4e('0x47a9'),'value':function(_0x3bedd0,_0x17a7ae){null!=this['MapVBaseLayer']&&this[_0x1a4e('0x4829')][_0x1a4e('0x47a9')](_0x3bedd0,_0x17a7ae);}},{'key':_0x1a4e('0x399b'),'value':function(_0x3bedd0,_0x17a7ae){null!=this['MapVBaseLayer']&&this[_0x1a4e('0x4829')]['updateData'](_0x3bedd0,_0x17a7ae);}},{'key':_0x1a4e('0x4f0'),'value':function(){return this[_0x1a4e('0x4829')]&&(this[_0x1a4e('0x4810')]=this[_0x1a4e('0x4829')][_0x1a4e('0x4f0')]()),this[_0x1a4e('0x4810')];}},{'key':_0x1a4e('0x47d0'),'value':function(_0x3bedd0){null!=this[_0x1a4e('0x4829')]&&this[_0x1a4e('0x4829')]&&this['MapVBaseLayer'][_0x1a4e('0x47d0')](_0x3bedd0);}},{'key':_0x1a4e('0x4833'),'value':function(){null!=this[_0x1a4e('0x4829')]&&this[_0x1a4e('0x4829')][_0x1a4e('0x4834')]();}},{'key':'_visiable','value':function(){return this[_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x375d')]='block';}},{'key':_0x1a4e('0x4832'),'value':function(){return this[_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x375d')]=_0x1a4e('0x60');}},{'key':_0x1a4e('0x4401'),'value':function(){var _0x3bedd0=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x3bedd0['id']=this[_0x1a4e('0x4835')][_0x1a4e('0x4836')]||_0x1a4e('0x3fb7')+_0x961f11++,_0x3bedd0[_0x1a4e('0x375c')]['position']='absolute',_0x3bedd0['style'][_0x1a4e('0x5e')]='0px',_0x3bedd0[_0x1a4e('0x375c')]['left']=_0x1a4e('0x46a9'),_0x3bedd0[_0x1a4e('0x375c')][_0x1a4e('0x4837')]=_0x1a4e('0x60'),_0x3bedd0[_0x1a4e('0x375c')]['zIndex']=this['MapVOptions']['zIndex']||0x64,_0x3bedd0[_0x1a4e('0x3936')]=parseInt(this[_0x1a4e('0x21')][_0x1a4e('0x3934')][_0x1a4e('0x3936')]),_0x3bedd0[_0x1a4e('0x152')]=parseInt(this[_0x1a4e('0x21')][_0x1a4e('0x3934')][_0x1a4e('0x152')]),_0x3bedd0['style']['width']=this[_0x1a4e('0x21')][_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x3936')],_0x3bedd0['style']['height']=this[_0x1a4e('0x21')][_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x152')];var _0x17a7ae=this[_0x1a4e('0x43c1')];return'2d'==this['MapVOptions']['context']&&_0x3bedd0[_0x1a4e('0x51c')](this[_0x1a4e('0x4835')][_0x1a4e('0x8cb')])[_0x1a4e('0x143')](_0x17a7ae,_0x17a7ae),_0x3bedd0;}},{'key':_0x1a4e('0xa30'),'value':function(){this[_0x1a4e('0x4838')](),this[_0x1a4e('0x4839')](),this[_0x1a4e('0x483a')](),this[_0x1a4e('0x12d9')]();}},{'key':_0x1a4e('0x4827'),'value':function(){this[_0x1a4e('0xa30')]();}},{'key':_0x1a4e('0x3a23'),'value':function(){this[_0x1a4e('0x483b')]();}},{'key':_0x1a4e('0x3aee'),'value':function(){this[_0x1a4e('0x4832')]();}},{'key':'destroy','value':function(){this['unbindEvent'](),this[_0x1a4e('0x82')]();}},{'key':_0x1a4e('0x82'),'value':function(){null!=this['MapVBaseLayer']&&(this['removeAllData'](),this[_0x1a4e('0x4829')][_0x1a4e('0x139c')](),this['MapVBaseLayer']=void 0x0,this[_0x1a4e('0x3934')][_0x1a4e('0x39c8')][_0x1a4e('0x12c5')](this['canvas']));}},{'key':_0x1a4e('0x937'),'value':function(_0x3bedd0){null!=_0x3bedd0&&this[_0x1a4e('0x399b')](_0x3bedd0[_0x1a4e('0x7f')],_0x3bedd0[_0x1a4e('0x8dc')]);}},{'key':'resizeCanvas','value':function(){if(null!=this[_0x1a4e('0x3934')]&&null!=this['canvas']){var _0x3bedd0=this[_0x1a4e('0x3934')];_0x3bedd0[_0x1a4e('0x375c')][_0x1a4e('0x3553')]='absolute',_0x3bedd0[_0x1a4e('0x375c')][_0x1a4e('0x5e')]=_0x1a4e('0x46a9'),_0x3bedd0[_0x1a4e('0x375c')]['left']=_0x1a4e('0x46a9'),_0x3bedd0[_0x1a4e('0x3936')]=parseInt(this[_0x1a4e('0x21')][_0x1a4e('0x3934')][_0x1a4e('0x3936')]),_0x3bedd0[_0x1a4e('0x152')]=parseInt(this['map'][_0x1a4e('0x3934')][_0x1a4e('0x152')]),_0x3bedd0[_0x1a4e('0x375c')][_0x1a4e('0x3936')]=this[_0x1a4e('0x21')][_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x3936')],_0x3bedd0[_0x1a4e('0x375c')][_0x1a4e('0x152')]=this[_0x1a4e('0x21')]['canvas'][_0x1a4e('0x375c')][_0x1a4e('0x152')];}}},{'key':'fixPosition','value':function(){}},{'key':'onResize','value':function(){}},{'key':'render','value':function(){null!=this['MapVBaseLayer']&&this[_0x1a4e('0x4829')][_0x1a4e('0x483c')]();}}]),_0x3bedd0;}();_0x17a7ae[_0x1a4e('0x8')]=_0x29e102;},'./src/LayerManager/MassiveLayer/MapV/MapV.min.js':function(_0x4663b3,_0x544ba4,_0x379d61){'use strict';(function(_0x379d61){var _0x32809e,_0x1ea0cc,_0x478824,_0x5b2ec1=_0x1a4e('0x68')==typeof Symbol&&_0x1a4e('0xb1b')==typeof Symbol[_0x1a4e('0x335')]?function(_0x4663b3){return typeof _0x4663b3;}:function(_0x4663b3){return _0x4663b3&&_0x1a4e('0x68')==typeof Symbol&&_0x4663b3[_0x1a4e('0x10')]===Symbol&&_0x4663b3!==Symbol['prototype']?_0x1a4e('0xb1b'):typeof _0x4663b3;};!function(_0x379d61,_0x476ec7){'object'==_0x5b2ec1(_0x544ba4)&&void 0x0!==_0x4663b3?_0x476ec7(_0x544ba4):(_0x1ea0cc=[_0x544ba4],void 0x0===(_0x478824=_0x1a4e('0x68')==typeof(_0x32809e=_0x476ec7)?_0x32809e[_0x1a4e('0x8b')](_0x544ba4,_0x1ea0cc):_0x32809e)||(_0x4663b3[_0x1a4e('0x0')]=_0x478824));}(0x0,function(_0x4663b3){function _0x544ba4(){this[_0x1a4e('0x483d')]={};}function _0x32809e(_0x4663b3,_0x379d61){_0x544ba4[_0x1a4e('0x945')](this)(),this[_0x1a4e('0x4788')]=_0x379d61||{},this[_0x1a4e('0x4f8')]=[],_0x4663b3&&this[_0x1a4e('0x177')](_0x4663b3);}function _0x1ea0cc(_0x4663b3,_0x544ba4,_0x379d61){var _0x32809e=0x3c*_0x379d61+0x1e,_0x1ea0cc=Math['PI']/0xb4*_0x32809e;return[_0x4663b3['x']+_0x544ba4*Math['cos'](_0x1ea0cc),_0x4663b3['y']+_0x544ba4*Math[_0x1a4e('0x8f')](_0x1ea0cc)];}function _0x478824(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){for(var _0x478824=0x0;_0x478824<0x6;_0x478824++){var _0x5b2ec1=_0x1ea0cc({'x':_0x544ba4,'y':_0x379d61},_0x32809e,_0x478824);_0x4663b3[_0x1a4e('0x439d')](_0x5b2ec1[0x0],_0x5b2ec1[0x1]);}}function _0x5dfa35(_0x4663b3,_0x544ba4){if('undefined'==typeof document);else{var _0x379d61=document[_0x1a4e('0xe3d')]('canvas');_0x4663b3&&(_0x379d61[_0x1a4e('0x3936')]=_0x4663b3),_0x544ba4&&(_0x379d61[_0x1a4e('0x152')]=_0x544ba4);}return _0x379d61;}function _0x52bb38(_0x4663b3){_0x4663b3=_0x4663b3||{},this[_0x1a4e('0x41da')]=_0x4663b3[_0x1a4e('0x41da')]||{0.25:_0x1a4e('0x483e'),0.55:_0x1a4e('0x483f'),0.85:_0x1a4e('0x4840'),1:_0x1a4e('0x4841')},this[_0x1a4e('0x4842')]=_0x4663b3[_0x1a4e('0x4842')]||0x23,this[_0x1a4e('0x4843')]=_0x4663b3[_0x1a4e('0x4843')]||0x0,this[_0x1a4e('0x6c')]=_0x4663b3[_0x1a4e('0x6c')]||0x64,this[_0x1a4e('0x74')]=_0x4663b3[_0x1a4e('0x74')]||0x0,this[_0x1a4e('0x4844')]();}function _0x2bcbe6(_0x4663b3){var _0x544ba4=_0x4663b3/0x2,_0x379d61=_0x4663b3+_0x544ba4,_0x32809e=new _0x5dfa35(0x2*_0x379d61,0x2*_0x379d61),_0x1ea0cc=_0x32809e[_0x1a4e('0x51c')]('2d');return _0x1ea0cc[_0x1a4e('0x4845')]=_0x544ba4,_0x1ea0cc[_0x1a4e('0x4846')]=_0x1a4e('0x4271'),_0x1ea0cc[_0x1a4e('0x4847')]=_0x1ea0cc[_0x1a4e('0x4848')]=0x2710,_0x1ea0cc['beginPath'](),_0x1ea0cc[_0x1a4e('0x124')](_0x379d61-0x2710,_0x379d61-0x2710,_0x4663b3,0x0,0x2*Math['PI'],!0x0),_0x1ea0cc[_0x1a4e('0x439e')](),_0x1ea0cc[_0x1a4e('0x22c')](),_0x32809e;}function _0x3cfd84(_0x4663b3,_0x544ba4,_0x379d61){var _0x32809e=_0x379d61[_0x1a4e('0x6c')]||0x64,_0x1ea0cc=_0x379d61[_0x1a4e('0x74')]||0x0,_0x478824=_0x379d61[_0x1a4e('0x4a6')];null==_0x478824&&(null==(_0x478824=_0x379d61[_0x1a4e('0x220')])&&(_0x478824=0xd));var _0x5b2ec1=new _0x52bb38({'gradient':_0x379d61['gradient'],'max':_0x32809e,'min':_0x1ea0cc}),_0x5dfa35=_0x2bcbe6(_0x478824),_0x3cfd84=_0x5dfa35[_0x1a4e('0x3936')]/0x2,_0x37f508=_0x5dfa35['height']/0x2,_0x308f7a=_0x544ba4,_0x412613={};for(var _0x4bd810 in _0x308f7a[_0x1a4e('0x3b')](function(_0x4663b3,_0x544ba4){var _0x379d61=void 0x0===_0x4663b3[_0x1a4e('0x389')]?0x1:_0x4663b3['count'],_0x1ea0cc=Math[_0x1a4e('0x74')](0x1,_0x379d61/_0x32809e)[_0x1a4e('0x1e5')](0x2);_0x412613[_0x1ea0cc]=_0x412613[_0x1ea0cc]||[],_0x412613[_0x1ea0cc][_0x1a4e('0x46')](_0x4663b3);}),_0x412613)if(!isNaN(_0x4bd810)){var _0x880717=_0x412613[_0x4bd810];_0x4663b3[_0x1a4e('0x3dbd')](),_0x379d61[_0x1a4e('0x4849')]||(_0x4663b3[_0x1a4e('0x47c5')]=_0x4bd810),_0x4663b3[_0x1a4e('0x3df0')]=_0x5b2ec1['getColor'](_0x4bd810*_0x32809e),_0x880717[_0x1a4e('0x3b')](function(_0x544ba4,_0x1ea0cc){if(_0x544ba4[_0x1a4e('0x18')]){var _0x478824=_0x544ba4[_0x1a4e('0x18')]['_coordinates']||_0x544ba4[_0x1a4e('0x18')][_0x1a4e('0x43')],_0x5b2ec1=_0x544ba4['geometry'][_0x1a4e('0x40')];if('Point'===_0x5b2ec1){var _0x52bb38=void 0x0===_0x544ba4[_0x1a4e('0x389')]?0x1:_0x544ba4[_0x1a4e('0x389')];_0x4663b3[_0x1a4e('0x47c5')]=_0x52bb38/_0x32809e,_0x4663b3[_0x1a4e('0x47c6')](_0x5dfa35,_0x478824[0x0]-_0x3cfd84,_0x478824[0x1]-_0x37f508);}else if('LineString'===_0x5b2ec1){_0x52bb38=void 0x0===_0x544ba4[_0x1a4e('0x389')]?0x1:_0x544ba4['count'];_0x4663b3[_0x1a4e('0x47c5')]=_0x52bb38/_0x32809e,_0x4663b3[_0x1a4e('0x3dbd')](),_0x3aefac[_0x1a4e('0x4827')](_0x4663b3,_0x544ba4,_0x379d61),_0x4663b3['stroke']();}}});}}function _0xb3c392(_0x4663b3,_0x544ba4,_0x379d61){var _0x32809e=0x3c*_0x379d61+0x1e,_0x1ea0cc=Math['PI']/0xb4*_0x32809e;return[_0x4663b3['x']+_0x544ba4*Math[_0x1a4e('0x90')](_0x1ea0cc),_0x4663b3['y']+_0x544ba4*Math[_0x1a4e('0x8f')](_0x1ea0cc)];}function _0x402868(_0x4663b3,_0x544ba4,_0x379d61){var _0x32809e=_0x4663b3[_0x1a4e('0x484a')](_0x379d61);return _0x4663b3[_0x1a4e('0x45d5')](_0x32809e,_0x544ba4),_0x4663b3[_0x1a4e('0x484b')](_0x32809e),_0x32809e;}function _0x374bd6(_0x4663b3,_0x544ba4,_0x379d61){var _0x32809e=_0x402868(_0x4663b3,_0x544ba4,_0x4663b3[_0x1a4e('0x484c')]),_0x1ea0cc=_0x402868(_0x4663b3,_0x379d61,_0x4663b3['FRAGMENT_SHADER']),_0x478824=_0x4663b3[_0x1a4e('0x2fcb')]();return _0x4663b3['attachShader'](_0x478824,_0x32809e),_0x4663b3[_0x1a4e('0x484d')](_0x478824,_0x1ea0cc),_0x4663b3[_0x1a4e('0x484e')](_0x478824),_0x4663b3[_0x1a4e('0x484f')](_0x478824),_0x478824;}function _0x2f852e(_0x4663b3){var _0x544ba4=document[_0x1a4e('0xe3d')]('canvas'),_0x379d61=_0x544ba4['getContext']('2d');return _0x544ba4[_0x1a4e('0x3936')]=0x1,_0x544ba4[_0x1a4e('0x152')]=0x1,_0x379d61[_0x1a4e('0x3dbe')]=_0x4663b3,_0x379d61[_0x1a4e('0x3dde')](0x0,0x0,0x1,0x1),_0x379d61[_0x1a4e('0x47c7')](0x0,0x0,0x1,0x1)[_0x1a4e('0x7f')];}function _0x16d203(_0x4663b3,_0x544ba4,_0x379d61){_0x379d61=_0x379d61||0x2;var _0x32809e,_0x1ea0cc,_0x478824,_0x5b2ec1,_0x5dfa35,_0x52bb38,_0x2bcbe6,_0x3cfd84=_0x544ba4&&_0x544ba4[_0x1a4e('0x1e')],_0xb3c392=_0x3cfd84?_0x544ba4[0x0]*_0x379d61:_0x4663b3[_0x1a4e('0x1e')],_0x402868=_0x2d1700(_0x4663b3,0x0,_0xb3c392,_0x379d61,!0x0),_0x374bd6=[];if(!_0x402868)return _0x374bd6;if(_0x3cfd84&&(_0x402868=function(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){var _0x1ea0cc,_0x478824,_0x5b2ec1,_0x5dfa35,_0x52bb38,_0x2bcbe6=[];for(_0x1ea0cc=0x0,_0x478824=_0x544ba4['length'];_0x1ea0cc<_0x478824;_0x1ea0cc++)_0x5b2ec1=_0x544ba4[_0x1ea0cc]*_0x32809e,_0x5dfa35=_0x1ea0cc<_0x478824-0x1?_0x544ba4[_0x1ea0cc+0x1]*_0x32809e:_0x4663b3[_0x1a4e('0x1e')],(_0x52bb38=_0x2d1700(_0x4663b3,_0x5b2ec1,_0x5dfa35,_0x32809e,!0x1))===_0x52bb38[_0x1a4e('0x7e')]&&(_0x52bb38['steiner']=!0x0),_0x2bcbe6['push'](_0x174c4f(_0x52bb38));for(_0x2bcbe6[_0x1a4e('0x89')](_0x4ad32a),_0x1ea0cc=0x0;_0x1ea0cc<_0x2bcbe6['length'];_0x1ea0cc++)_0x560b20(_0x2bcbe6[_0x1ea0cc],_0x379d61),_0x379d61=_0x377a2e(_0x379d61,_0x379d61[_0x1a4e('0x7e')]);return _0x379d61;}(_0x4663b3,_0x544ba4,_0x402868,_0x379d61)),_0x4663b3[_0x1a4e('0x1e')]>0x50*_0x379d61){_0x32809e=_0x478824=_0x4663b3[0x0],_0x1ea0cc=_0x5b2ec1=_0x4663b3[0x1];for(var _0x2f852e=_0x379d61;_0x2f852e<_0xb3c392;_0x2f852e+=_0x379d61)(_0x5dfa35=_0x4663b3[_0x2f852e])<_0x32809e&&(_0x32809e=_0x5dfa35),(_0x52bb38=_0x4663b3[_0x2f852e+0x1])<_0x1ea0cc&&(_0x1ea0cc=_0x52bb38),_0x5dfa35>_0x478824&&(_0x478824=_0x5dfa35),_0x52bb38>_0x5b2ec1&&(_0x5b2ec1=_0x52bb38);_0x2bcbe6=Math[_0x1a4e('0x6c')](_0x478824-_0x32809e,_0x5b2ec1-_0x1ea0cc);}return _0x1673fe(_0x402868,_0x374bd6,_0x379d61,_0x32809e,_0x1ea0cc,_0x2bcbe6),_0x374bd6;}function _0x2d1700(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc){var _0x478824,_0x5b2ec1;if(_0x1ea0cc===_0x2f49d7(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e)>0x0)for(_0x478824=_0x544ba4;_0x478824<_0x379d61;_0x478824+=_0x32809e)_0x5b2ec1=_0x28bce3(_0x478824,_0x4663b3[_0x478824],_0x4663b3[_0x478824+0x1],_0x5b2ec1);else for(_0x478824=_0x379d61-_0x32809e;_0x478824>=_0x544ba4;_0x478824-=_0x32809e)_0x5b2ec1=_0x28bce3(_0x478824,_0x4663b3[_0x478824],_0x4663b3[_0x478824+0x1],_0x5b2ec1);return _0x5b2ec1&&_0x5b6979(_0x5b2ec1,_0x5b2ec1[_0x1a4e('0x7e')])&&(_0x19ae82(_0x5b2ec1),_0x5b2ec1=_0x5b2ec1[_0x1a4e('0x7e')]),_0x5b2ec1;}function _0x377a2e(_0x4663b3,_0x544ba4){if(!_0x4663b3)return _0x4663b3;_0x544ba4||(_0x544ba4=_0x4663b3);var _0x379d61,_0x32809e=_0x4663b3;do{if(_0x379d61=!0x1,_0x32809e[_0x1a4e('0xab')]||!_0x5b6979(_0x32809e,_0x32809e[_0x1a4e('0x7e')])&&0x0!==_0x5cfcd8(_0x32809e[_0x1a4e('0xac')],_0x32809e,_0x32809e[_0x1a4e('0x7e')]))_0x32809e=_0x32809e[_0x1a4e('0x7e')];else{if(_0x19ae82(_0x32809e),(_0x32809e=_0x544ba4=_0x32809e[_0x1a4e('0xac')])===_0x32809e['next'])return null;_0x379d61=!0x0;}}while(_0x379d61||_0x32809e!==_0x544ba4);return _0x544ba4;}function _0x1673fe(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc,_0x478824,_0x5b2ec1){if(_0x4663b3){!_0x5b2ec1&&_0x478824&&function(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){var _0x1ea0cc=_0x4663b3;do{null===_0x1ea0cc['z']&&(_0x1ea0cc['z']=_0x1af83b(_0x1ea0cc['x'],_0x1ea0cc['y'],_0x544ba4,_0x379d61,_0x32809e)),_0x1ea0cc[_0x1a4e('0xad')]=_0x1ea0cc[_0x1a4e('0xac')],_0x1ea0cc[_0x1a4e('0xae')]=_0x1ea0cc[_0x1a4e('0x7e')],_0x1ea0cc=_0x1ea0cc[_0x1a4e('0x7e')];}while(_0x1ea0cc!==_0x4663b3);_0x1ea0cc[_0x1a4e('0xad')][_0x1a4e('0xae')]=null,_0x1ea0cc[_0x1a4e('0xad')]=null,function(_0x4663b3){var _0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc,_0x478824,_0x5b2ec1,_0x5dfa35,_0x52bb38,_0x2bcbe6=0x1;do{for(_0x379d61=_0x4663b3,_0x4663b3=null,_0x478824=null,_0x5b2ec1=0x0;_0x379d61;){for(_0x5b2ec1++,_0x32809e=_0x379d61,_0x5dfa35=0x0,_0x544ba4=0x0;_0x544ba4<_0x2bcbe6&&(_0x5dfa35++,_0x32809e=_0x32809e[_0x1a4e('0xae')]);_0x544ba4++);for(_0x52bb38=_0x2bcbe6;_0x5dfa35>0x0||_0x52bb38>0x0&&_0x32809e;)0x0===_0x5dfa35?(_0x1ea0cc=_0x32809e,_0x32809e=_0x32809e[_0x1a4e('0xae')],_0x52bb38--):0x0!==_0x52bb38&&_0x32809e?_0x379d61['z']<=_0x32809e['z']?(_0x1ea0cc=_0x379d61,_0x379d61=_0x379d61[_0x1a4e('0xae')],_0x5dfa35--):(_0x1ea0cc=_0x32809e,_0x32809e=_0x32809e[_0x1a4e('0xae')],_0x52bb38--):(_0x1ea0cc=_0x379d61,_0x379d61=_0x379d61[_0x1a4e('0xae')],_0x5dfa35--),_0x478824?_0x478824[_0x1a4e('0xae')]=_0x1ea0cc:_0x4663b3=_0x1ea0cc,_0x1ea0cc[_0x1a4e('0xad')]=_0x478824,_0x478824=_0x1ea0cc;_0x379d61=_0x32809e;}_0x478824[_0x1a4e('0xae')]=null,_0x2bcbe6*=0x2;}while(_0x5b2ec1>0x1);}(_0x1ea0cc);}(_0x4663b3,_0x32809e,_0x1ea0cc,_0x478824);for(var _0x5dfa35,_0x52bb38,_0x2bcbe6=_0x4663b3;_0x4663b3['prev']!==_0x4663b3[_0x1a4e('0x7e')];)if(_0x5dfa35=_0x4663b3[_0x1a4e('0xac')],_0x52bb38=_0x4663b3[_0x1a4e('0x7e')],_0x478824?_0x3739b0(_0x4663b3,_0x32809e,_0x1ea0cc,_0x478824):_0x1254dd(_0x4663b3))_0x544ba4[_0x1a4e('0x46')](_0x5dfa35['i']/_0x379d61),_0x544ba4[_0x1a4e('0x46')](_0x4663b3['i']/_0x379d61),_0x544ba4[_0x1a4e('0x46')](_0x52bb38['i']/_0x379d61),_0x19ae82(_0x4663b3),_0x4663b3=_0x52bb38[_0x1a4e('0x7e')],_0x2bcbe6=_0x52bb38['next'];else if((_0x4663b3=_0x52bb38)===_0x2bcbe6){_0x5b2ec1?0x1===_0x5b2ec1?_0x1673fe(_0x4663b3=_0x547e10(_0x4663b3,_0x544ba4,_0x379d61),_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc,_0x478824,0x2):0x2===_0x5b2ec1&&_0x30c8a2(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc,_0x478824):_0x1673fe(_0x377a2e(_0x4663b3),_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc,_0x478824,0x1);break;}}}function _0x1254dd(_0x4663b3){var _0x544ba4=_0x4663b3[_0x1a4e('0xac')],_0x379d61=_0x4663b3,_0x32809e=_0x4663b3['next'];if(_0x5cfcd8(_0x544ba4,_0x379d61,_0x32809e)>=0x0)return!0x1;for(var _0x1ea0cc=_0x4663b3[_0x1a4e('0x7e')][_0x1a4e('0x7e')];_0x1ea0cc!==_0x4663b3[_0x1a4e('0xac')];){if(_0x1c42da(_0x544ba4['x'],_0x544ba4['y'],_0x379d61['x'],_0x379d61['y'],_0x32809e['x'],_0x32809e['y'],_0x1ea0cc['x'],_0x1ea0cc['y'])&&_0x5cfcd8(_0x1ea0cc['prev'],_0x1ea0cc,_0x1ea0cc[_0x1a4e('0x7e')])>=0x0)return!0x1;_0x1ea0cc=_0x1ea0cc['next'];}return!0x0;}function _0x3739b0(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){var _0x1ea0cc=_0x4663b3[_0x1a4e('0xac')],_0x478824=_0x4663b3,_0x5b2ec1=_0x4663b3[_0x1a4e('0x7e')];if(_0x5cfcd8(_0x1ea0cc,_0x478824,_0x5b2ec1)>=0x0)return!0x1;for(var _0x5dfa35=_0x1ea0cc['x']<_0x478824['x']?_0x1ea0cc['x']<_0x5b2ec1['x']?_0x1ea0cc['x']:_0x5b2ec1['x']:_0x478824['x']<_0x5b2ec1['x']?_0x478824['x']:_0x5b2ec1['x'],_0x52bb38=_0x1ea0cc['y']<_0x478824['y']?_0x1ea0cc['y']<_0x5b2ec1['y']?_0x1ea0cc['y']:_0x5b2ec1['y']:_0x478824['y']<_0x5b2ec1['y']?_0x478824['y']:_0x5b2ec1['y'],_0x2bcbe6=_0x1ea0cc['x']>_0x478824['x']?_0x1ea0cc['x']>_0x5b2ec1['x']?_0x1ea0cc['x']:_0x5b2ec1['x']:_0x478824['x']>_0x5b2ec1['x']?_0x478824['x']:_0x5b2ec1['x'],_0x3cfd84=_0x1ea0cc['y']>_0x478824['y']?_0x1ea0cc['y']>_0x5b2ec1['y']?_0x1ea0cc['y']:_0x5b2ec1['y']:_0x478824['y']>_0x5b2ec1['y']?_0x478824['y']:_0x5b2ec1['y'],_0xb3c392=_0x1af83b(_0x5dfa35,_0x52bb38,_0x544ba4,_0x379d61,_0x32809e),_0x402868=_0x1af83b(_0x2bcbe6,_0x3cfd84,_0x544ba4,_0x379d61,_0x32809e),_0x374bd6=_0x4663b3[_0x1a4e('0xae')];_0x374bd6&&_0x374bd6['z']<=_0x402868;){if(_0x374bd6!==_0x4663b3[_0x1a4e('0xac')]&&_0x374bd6!==_0x4663b3[_0x1a4e('0x7e')]&&_0x1c42da(_0x1ea0cc['x'],_0x1ea0cc['y'],_0x478824['x'],_0x478824['y'],_0x5b2ec1['x'],_0x5b2ec1['y'],_0x374bd6['x'],_0x374bd6['y'])&&_0x5cfcd8(_0x374bd6[_0x1a4e('0xac')],_0x374bd6,_0x374bd6['next'])>=0x0)return!0x1;_0x374bd6=_0x374bd6[_0x1a4e('0xae')];}for(_0x374bd6=_0x4663b3[_0x1a4e('0xad')];_0x374bd6&&_0x374bd6['z']>=_0xb3c392;){if(_0x374bd6!==_0x4663b3[_0x1a4e('0xac')]&&_0x374bd6!==_0x4663b3[_0x1a4e('0x7e')]&&_0x1c42da(_0x1ea0cc['x'],_0x1ea0cc['y'],_0x478824['x'],_0x478824['y'],_0x5b2ec1['x'],_0x5b2ec1['y'],_0x374bd6['x'],_0x374bd6['y'])&&_0x5cfcd8(_0x374bd6[_0x1a4e('0xac')],_0x374bd6,_0x374bd6[_0x1a4e('0x7e')])>=0x0)return!0x1;_0x374bd6=_0x374bd6[_0x1a4e('0xad')];}return!0x0;}function _0x547e10(_0x4663b3,_0x544ba4,_0x379d61){var _0x32809e=_0x4663b3;do{var _0x1ea0cc=_0x32809e[_0x1a4e('0xac')],_0x478824=_0x32809e['next'][_0x1a4e('0x7e')];!_0x5b6979(_0x1ea0cc,_0x478824)&&_0x2a018e(_0x1ea0cc,_0x32809e,_0x32809e[_0x1a4e('0x7e')],_0x478824)&&_0x381aba(_0x1ea0cc,_0x478824)&&_0x381aba(_0x478824,_0x1ea0cc)&&(_0x544ba4[_0x1a4e('0x46')](_0x1ea0cc['i']/_0x379d61),_0x544ba4[_0x1a4e('0x46')](_0x32809e['i']/_0x379d61),_0x544ba4[_0x1a4e('0x46')](_0x478824['i']/_0x379d61),_0x19ae82(_0x32809e),_0x19ae82(_0x32809e[_0x1a4e('0x7e')]),_0x32809e=_0x4663b3=_0x478824),_0x32809e=_0x32809e[_0x1a4e('0x7e')];}while(_0x32809e!==_0x4663b3);return _0x32809e;}function _0x30c8a2(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc,_0x478824){var _0x5b2ec1=_0x4663b3;do{for(var _0x5dfa35=_0x5b2ec1[_0x1a4e('0x7e')][_0x1a4e('0x7e')];_0x5dfa35!==_0x5b2ec1[_0x1a4e('0xac')];){if(_0x5b2ec1['i']!==_0x5dfa35['i']&&_0xa45c5f(_0x5b2ec1,_0x5dfa35)){var _0x52bb38=_0x24500d(_0x5b2ec1,_0x5dfa35);return _0x5b2ec1=_0x377a2e(_0x5b2ec1,_0x5b2ec1[_0x1a4e('0x7e')]),_0x52bb38=_0x377a2e(_0x52bb38,_0x52bb38[_0x1a4e('0x7e')]),_0x1673fe(_0x5b2ec1,_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc,_0x478824),void _0x1673fe(_0x52bb38,_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc,_0x478824);}_0x5dfa35=_0x5dfa35[_0x1a4e('0x7e')];}_0x5b2ec1=_0x5b2ec1[_0x1a4e('0x7e')];}while(_0x5b2ec1!==_0x4663b3);}function _0x4ad32a(_0x4663b3,_0x544ba4){return _0x4663b3['x']-_0x544ba4['x'];}function _0x560b20(_0x4663b3,_0x544ba4){if(_0x544ba4=function(_0x4663b3,_0x544ba4){var _0x379d61,_0x32809e=_0x544ba4,_0x1ea0cc=_0x4663b3['x'],_0x478824=_0x4663b3['y'],_0x5b2ec1=-0x1/0x0;do{if(_0x478824<=_0x32809e['y']&&_0x478824>=_0x32809e['next']['y']){var _0x5dfa35=_0x32809e['x']+(_0x478824-_0x32809e['y'])*(_0x32809e[_0x1a4e('0x7e')]['x']-_0x32809e['x'])/(_0x32809e['next']['y']-_0x32809e['y']);if(_0x5dfa35<=_0x1ea0cc&&_0x5dfa35>_0x5b2ec1){if(_0x5b2ec1=_0x5dfa35,_0x5dfa35===_0x1ea0cc){if(_0x478824===_0x32809e['y'])return _0x32809e;if(_0x478824===_0x32809e['next']['y'])return _0x32809e[_0x1a4e('0x7e')];}_0x379d61=_0x32809e['x']<_0x32809e[_0x1a4e('0x7e')]['x']?_0x32809e:_0x32809e[_0x1a4e('0x7e')];}}_0x32809e=_0x32809e['next'];}while(_0x32809e!==_0x544ba4);if(!_0x379d61)return null;if(_0x1ea0cc===_0x5b2ec1)return _0x379d61[_0x1a4e('0xac')];var _0x52bb38,_0x2bcbe6=_0x379d61,_0x3cfd84=_0x379d61['x'],_0xb3c392=_0x379d61['y'],_0x402868=0x1/0x0;for(_0x32809e=_0x379d61['next'];_0x32809e!==_0x2bcbe6;)_0x1ea0cc>=_0x32809e['x']&&_0x32809e['x']>=_0x3cfd84&&_0x1c42da(_0x478824<_0xb3c392?_0x1ea0cc:_0x5b2ec1,_0x478824,_0x3cfd84,_0xb3c392,_0x478824<_0xb3c392?_0x5b2ec1:_0x1ea0cc,_0x478824,_0x32809e['x'],_0x32809e['y'])&&(((_0x52bb38=Math[_0x1a4e('0x65')](_0x478824-_0x32809e['y'])/(_0x1ea0cc-_0x32809e['x']))<_0x402868||_0x52bb38===_0x402868&&_0x32809e['x']>_0x379d61['x'])&&_0x381aba(_0x32809e,_0x4663b3)&&(_0x379d61=_0x32809e,_0x402868=_0x52bb38)),_0x32809e=_0x32809e[_0x1a4e('0x7e')];return _0x379d61;}(_0x4663b3,_0x544ba4)){var _0x379d61=_0x24500d(_0x544ba4,_0x4663b3);_0x377a2e(_0x379d61,_0x379d61['next']);}}function _0x1af83b(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc){return(_0x4663b3=0x55555555&((_0x4663b3=0x33333333&((_0x4663b3=0xf0f0f0f&((_0x4663b3=0xff00ff&((_0x4663b3=0x7fff*(_0x4663b3-_0x379d61)/_0x1ea0cc)|_0x4663b3<<0x8))|_0x4663b3<<0x4))|_0x4663b3<<0x2))|_0x4663b3<<0x1))|(_0x544ba4=0x55555555&((_0x544ba4=0x33333333&((_0x544ba4=0xf0f0f0f&((_0x544ba4=0xff00ff&((_0x544ba4=0x7fff*(_0x544ba4-_0x32809e)/_0x1ea0cc)|_0x544ba4<<0x8))|_0x544ba4<<0x4))|_0x544ba4<<0x2))|_0x544ba4<<0x1))<<0x1;}function _0x174c4f(_0x4663b3){var _0x544ba4=_0x4663b3,_0x379d61=_0x4663b3;do{_0x544ba4['x']<_0x379d61['x']&&(_0x379d61=_0x544ba4),_0x544ba4=_0x544ba4['next'];}while(_0x544ba4!==_0x4663b3);return _0x379d61;}function _0x1c42da(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc,_0x478824,_0x5b2ec1,_0x5dfa35){return(_0x1ea0cc-_0x5b2ec1)*(_0x544ba4-_0x5dfa35)-(_0x4663b3-_0x5b2ec1)*(_0x478824-_0x5dfa35)>=0x0&&(_0x4663b3-_0x5b2ec1)*(_0x32809e-_0x5dfa35)-(_0x379d61-_0x5b2ec1)*(_0x544ba4-_0x5dfa35)>=0x0&&(_0x379d61-_0x5b2ec1)*(_0x478824-_0x5dfa35)-(_0x1ea0cc-_0x5b2ec1)*(_0x32809e-_0x5dfa35)>=0x0;}function _0xa45c5f(_0x4663b3,_0x544ba4){return _0x4663b3[_0x1a4e('0x7e')]['i']!==_0x544ba4['i']&&_0x4663b3[_0x1a4e('0xac')]['i']!==_0x544ba4['i']&&!function(_0x4663b3,_0x544ba4){var _0x379d61=_0x4663b3;do{if(_0x379d61['i']!==_0x4663b3['i']&&_0x379d61['next']['i']!==_0x4663b3['i']&&_0x379d61['i']!==_0x544ba4['i']&&_0x379d61[_0x1a4e('0x7e')]['i']!==_0x544ba4['i']&&_0x2a018e(_0x379d61,_0x379d61[_0x1a4e('0x7e')],_0x4663b3,_0x544ba4))return!0x0;_0x379d61=_0x379d61[_0x1a4e('0x7e')];}while(_0x379d61!==_0x4663b3);return!0x1;}(_0x4663b3,_0x544ba4)&&_0x381aba(_0x4663b3,_0x544ba4)&&_0x381aba(_0x544ba4,_0x4663b3)&&function(_0x4663b3,_0x544ba4){var _0x379d61=_0x4663b3,_0x32809e=!0x1,_0x1ea0cc=(_0x4663b3['x']+_0x544ba4['x'])/0x2,_0x478824=(_0x4663b3['y']+_0x544ba4['y'])/0x2;do{_0x379d61['y']>_0x478824!=_0x379d61['next']['y']>_0x478824&&_0x1ea0cc<(_0x379d61['next']['x']-_0x379d61['x'])*(_0x478824-_0x379d61['y'])/(_0x379d61['next']['y']-_0x379d61['y'])+_0x379d61['x']&&(_0x32809e=!_0x32809e),_0x379d61=_0x379d61['next'];}while(_0x379d61!==_0x4663b3);return _0x32809e;}(_0x4663b3,_0x544ba4);}function _0x5cfcd8(_0x4663b3,_0x544ba4,_0x379d61){return(_0x544ba4['y']-_0x4663b3['y'])*(_0x379d61['x']-_0x544ba4['x'])-(_0x544ba4['x']-_0x4663b3['x'])*(_0x379d61['y']-_0x544ba4['y']);}function _0x5b6979(_0x4663b3,_0x544ba4){return _0x4663b3['x']===_0x544ba4['x']&&_0x4663b3['y']===_0x544ba4['y'];}function _0x2a018e(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){return!!(_0x5b6979(_0x4663b3,_0x544ba4)&&_0x5b6979(_0x379d61,_0x32809e)||_0x5b6979(_0x4663b3,_0x32809e)&&_0x5b6979(_0x379d61,_0x544ba4))||_0x5cfcd8(_0x4663b3,_0x544ba4,_0x379d61)>0x0!=_0x5cfcd8(_0x4663b3,_0x544ba4,_0x32809e)>0x0&&_0x5cfcd8(_0x379d61,_0x32809e,_0x4663b3)>0x0!=_0x5cfcd8(_0x379d61,_0x32809e,_0x544ba4)>0x0;}function _0x381aba(_0x4663b3,_0x544ba4){return _0x5cfcd8(_0x4663b3[_0x1a4e('0xac')],_0x4663b3,_0x4663b3[_0x1a4e('0x7e')])<0x0?_0x5cfcd8(_0x4663b3,_0x544ba4,_0x4663b3['next'])>=0x0&&_0x5cfcd8(_0x4663b3,_0x4663b3[_0x1a4e('0xac')],_0x544ba4)>=0x0:_0x5cfcd8(_0x4663b3,_0x544ba4,_0x4663b3[_0x1a4e('0xac')])<0x0||_0x5cfcd8(_0x4663b3,_0x4663b3[_0x1a4e('0x7e')],_0x544ba4)<0x0;}function _0x24500d(_0x4663b3,_0x544ba4){var _0x379d61=new _0x59edb5(_0x4663b3['i'],_0x4663b3['x'],_0x4663b3['y']),_0x32809e=new _0x59edb5(_0x544ba4['i'],_0x544ba4['x'],_0x544ba4['y']),_0x1ea0cc=_0x4663b3[_0x1a4e('0x7e')],_0x478824=_0x544ba4['prev'];return _0x4663b3['next']=_0x544ba4,_0x544ba4[_0x1a4e('0xac')]=_0x4663b3,_0x379d61['next']=_0x1ea0cc,_0x1ea0cc[_0x1a4e('0xac')]=_0x379d61,_0x32809e['next']=_0x379d61,_0x379d61[_0x1a4e('0xac')]=_0x32809e,_0x478824['next']=_0x32809e,_0x32809e[_0x1a4e('0xac')]=_0x478824,_0x32809e;}function _0x28bce3(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){var _0x1ea0cc=new _0x59edb5(_0x4663b3,_0x544ba4,_0x379d61);return _0x32809e?(_0x1ea0cc[_0x1a4e('0x7e')]=_0x32809e[_0x1a4e('0x7e')],_0x1ea0cc[_0x1a4e('0xac')]=_0x32809e,_0x32809e[_0x1a4e('0x7e')][_0x1a4e('0xac')]=_0x1ea0cc,_0x32809e[_0x1a4e('0x7e')]=_0x1ea0cc):(_0x1ea0cc[_0x1a4e('0xac')]=_0x1ea0cc,_0x1ea0cc['next']=_0x1ea0cc),_0x1ea0cc;}function _0x19ae82(_0x4663b3){_0x4663b3[_0x1a4e('0x7e')][_0x1a4e('0xac')]=_0x4663b3[_0x1a4e('0xac')],_0x4663b3[_0x1a4e('0xac')][_0x1a4e('0x7e')]=_0x4663b3[_0x1a4e('0x7e')],_0x4663b3['prevZ']&&(_0x4663b3[_0x1a4e('0xad')]['nextZ']=_0x4663b3[_0x1a4e('0xae')]),_0x4663b3[_0x1a4e('0xae')]&&(_0x4663b3['nextZ']['prevZ']=_0x4663b3['prevZ']);}function _0x59edb5(_0x4663b3,_0x544ba4,_0x379d61){this['i']=_0x4663b3,this['x']=_0x544ba4,this['y']=_0x379d61,this['prev']=null,this[_0x1a4e('0x7e')]=null,this['z']=null,this['prevZ']=null,this[_0x1a4e('0xae')]=null,this[_0x1a4e('0xab')]=!0x1;}function _0x2f49d7(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){for(var _0x1ea0cc=0x0,_0x478824=_0x544ba4,_0x5b2ec1=_0x379d61-_0x32809e;_0x478824<_0x379d61;_0x478824+=_0x32809e)_0x1ea0cc+=(_0x4663b3[_0x5b2ec1]-_0x4663b3[_0x478824])*(_0x4663b3[_0x478824+0x1]+_0x4663b3[_0x5b2ec1+0x1]),_0x5b2ec1=_0x478824;return _0x1ea0cc;}function _0x545f82(_0x4663b3){var _0x544ba4=_0x4663b3[_0x1a4e('0x2be')]('|');return _0x544ba4[0x0]=_0x544ba4[0x0][_0x1a4e('0x2be')](','),{'lng':parseFloat(_0x544ba4[0x0][0x0]),'lat':parseFloat(_0x544ba4[0x0][0x1])};}function _0x3c5646(_0x4663b3,_0x544ba4){if(!_0x4663b3||!_0x544ba4)return null;var _0x379d61,_0x32809e,_0x1ea0cc,_0x478824,_0x5b2ec1,_0x5dfa35,_0x52bb38=function(_0x4663b3){return 0x1-0x2*_0x4663b3+_0x4663b3*_0x4663b3;},_0x2bcbe6=function(_0x4663b3){return 0x2*_0x4663b3-0x2*_0x4663b3*_0x4663b3;},_0x3cfd84=function(_0x4663b3){return _0x4663b3*_0x4663b3;},_0xb3c392=[],_0x402868=0x0,_0x374bd6=0x0;if(void 0x0!==_0x544ba4){var _0x2f852e=parseFloat(_0x4663b3['lat']),_0x16d203=parseFloat(_0x544ba4[_0x1a4e('0x1a2')]),_0x2d1700=parseFloat(_0x4663b3[_0x1a4e('0x4850')]),_0x377a2e=parseFloat(_0x544ba4[_0x1a4e('0x4850')]);for(_0x377a2e>_0x2d1700&&parseFloat(_0x377a2e-_0x2d1700)>0xb4&&_0x2d1700<0x0&&(_0x2d1700=parseFloat(0x168+_0x2d1700)),_0x2d1700>_0x377a2e&&parseFloat(_0x2d1700-_0x377a2e)>0xb4&&_0x377a2e<0x0&&(_0x377a2e=parseFloat(0x168+_0x377a2e)),0x0,_0x5dfa35=0x0,_0x16d203==_0x2f852e?(_0x379d61=0x0,_0x32809e=_0x2d1700-_0x377a2e):_0x377a2e==_0x2d1700?(_0x379d61=Math['PI']/0x2,_0x32809e=_0x2f852e-_0x16d203):(_0x379d61=Math[_0x1a4e('0xc2')]((_0x16d203-_0x2f852e)/(_0x377a2e-_0x2d1700)),_0x32809e=(_0x16d203-_0x2f852e)/Math[_0x1a4e('0x8f')](_0x379d61)),0x0==_0x5dfa35&&(_0x5dfa35=_0x379d61+Math['PI']/0x5),_0x5b2ec1=(_0x1ea0cc=_0x32809e/0x2)*Math[_0x1a4e('0x90')](_0x5dfa35)+_0x2d1700,_0x478824=_0x1ea0cc*Math['sin'](_0x5dfa35)+_0x2f852e,_0x402868=0x0;_0x402868<0x29;_0x402868++)_0xb3c392[_0x1a4e('0x46')]([_0x2d1700*_0x52bb38(_0x374bd6)+_0x5b2ec1*_0x2bcbe6(_0x374bd6)+_0x377a2e*_0x3cfd84(_0x374bd6),_0x2f852e*_0x52bb38(_0x374bd6)+_0x478824*_0x2bcbe6(_0x374bd6)+_0x16d203*_0x3cfd84(_0x374bd6)]),_0x374bd6+=0.025;return _0xb3c392;}void 0x0!==_0xb3c392&&(_0xb3c392=[]);}function _0x4ca960(_0x4663b3){this[_0x1a4e('0x4851')]=_0x4663b3||{'other':0x1};}function _0x26fe74(_0x4663b3){this[_0x1a4e('0x4851')]=_0x4663b3||[{'start':0x0,'value':_0x1a4e('0x979')}];}function _0x4d5b46(_0x4663b3){this[_0x1a4e('0x8dc')]=_0x4663b3||{},this[_0x1a4e('0x4852')]=this[_0x1a4e('0x8dc')][_0x1a4e('0x4852')]||_0x1a4e('0x4853'),this[_0x1a4e('0x8cb')]=this['options'][_0x1a4e('0x8cb')]||'2d',this[_0x1a4e('0x3eeb')]=this[_0x1a4e('0x8dc')][_0x1a4e('0x3eeb')]||0x0,this[_0x1a4e('0x4854')]=this[_0x1a4e('0x8dc')][_0x1a4e('0x4854')]||null,this[_0x1a4e('0x4855')]=this[_0x1a4e('0x8dc')][_0x1a4e('0x4855')],this[_0x1a4e('0x4856')]=_0x4663b3[_0x1a4e('0x21')],this[_0x1a4e('0x4857')]=null,this['show']();}function _0xeb7e3b(_0x4663b3,_0x544ba4){for(var _0x379d61=0x0;_0x379d61<_0x4663b3[_0x1a4e('0x1e')];_0x379d61++)if(_0x26fd9d(_0x4663b3[_0x379d61],_0x544ba4))return!0x0;return!0x1;}function _0x26fd9d(_0x4663b3,_0x544ba4){var _0x379d61=Math[_0x1a4e('0x74')](_0x4663b3['ne']['x'],_0x544ba4['ne']['x']),_0x32809e=Math['min'](_0x4663b3['sw']['y'],_0x544ba4['sw']['y']),_0x1ea0cc=Math[_0x1a4e('0x6c')](_0x4663b3['sw']['x'],_0x544ba4['sw']['x']),_0x478824=Math['max'](_0x4663b3['ne']['y'],_0x544ba4['ne']['y']);return _0x379d61>_0x1ea0cc&&_0x32809e>_0x478824;}function _0x1650e9(_0x4663b3){function _0x544ba4(_0x4663b3,_0x544ba4){return function(){_0x544ba4[_0x1a4e('0x8b')](_0x4663b3);};}this[_0x1a4e('0x4858')]=!0x1,this[_0x1a4e('0x4859')]=!0x1,this[_0x1a4e('0x485a')]=_0x1650e9[_0x1a4e('0x485b')],this['updateHandler_']=null,this['resizeHandler_']=null,this[_0x1a4e('0x485c')]=null,this[_0x1a4e('0x485d')]=null,this[_0x1a4e('0x485e')]=null,this[_0x1a4e('0x485f')]=!0x0,this[_0x1a4e('0x4860')]=null;var _0x379d61=document['createElement'](_0x1a4e('0x3934'));_0x379d61['style'][_0x1a4e('0x3553')]=_0x1a4e('0x3b1b'),_0x379d61['style'][_0x1a4e('0x5e')]=0x0,_0x379d61[_0x1a4e('0x375c')][_0x1a4e('0x5f')]=0x0,_0x379d61['style']['pointerEvents']='none',this[_0x1a4e('0x3934')]=_0x379d61,this[_0x1a4e('0x4861')]=0x12c,this[_0x1a4e('0x4862')]=0x96,this[_0x1a4e('0x4863')]=0x1,this[_0x1a4e('0x4864')]=_0x544ba4(this,this[_0x1a4e('0x4865')]),this['resizeFunction_']=_0x544ba4(this,this['resize_']),this[_0x1a4e('0x4866')]=_0x544ba4(this,this['update_']),_0x4663b3&&this[_0x1a4e('0x4867')](_0x4663b3);}var _0x39a9bd=function(_0x4663b3){_0x4663b3&&_0x4663b3[_0x1a4e('0x3dbc')]&&_0x4663b3[_0x1a4e('0x3dbc')](0x0,0x0,_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x3936')],_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x152')]);};_0x544ba4[_0x1a4e('0xa')]['on']=function(_0x4663b3,_0x544ba4){var _0x379d61=this[_0x1a4e('0x483d')][_0x4663b3];_0x379d61||(_0x379d61=[],this[_0x1a4e('0x483d')][_0x4663b3]=_0x379d61),_0x379d61[_0x1a4e('0x46')]({'callback':_0x544ba4});},_0x544ba4[_0x1a4e('0xa')]['off']=function(_0x4663b3,_0x544ba4){var _0x379d61=this[_0x1a4e('0x483d')][_0x4663b3];if(_0x379d61)for(var _0x32809e=0x0;_0x32809e<_0x379d61[_0x1a4e('0x1e')];_0x32809e++)_0x379d61[_0x32809e][_0x1a4e('0x13db')]==_0x544ba4&&(_0x379d61[_0x1a4e('0x8a')](_0x32809e,0x1),_0x32809e--);},_0x544ba4[_0x1a4e('0xa')]['_trigger']=function(_0x4663b3,_0x544ba4,_0x379d61){if('*'==_0x4663b3)throw new Error(_0x1a4e('0x4868'));var _0x32809e=[];_0x4663b3 in this[_0x1a4e('0x483d')]&&(_0x32809e=_0x32809e[_0x1a4e('0x9a')](this[_0x1a4e('0x483d')][_0x4663b3])),'*'in this[_0x1a4e('0x483d')]&&(_0x32809e=_0x32809e['concat'](this[_0x1a4e('0x483d')]['*']));for(var _0x1ea0cc=0x0,_0x478824=_0x32809e[_0x1a4e('0x1e')];_0x1ea0cc<_0x478824;_0x1ea0cc++){var _0x5b2ec1=_0x32809e[_0x1ea0cc];_0x5b2ec1['callback']&&_0x5b2ec1[_0x1a4e('0x13db')](_0x4663b3,_0x544ba4,_0x379d61||null);}},_0x32809e['prototype']=_0x544ba4[_0x1a4e('0xa')],_0x32809e['prototype']['add']=function(_0x4663b3,_0x544ba4){if(Array[_0x1a4e('0x15')](_0x4663b3))for(var _0x379d61=0x0,_0x32809e=_0x4663b3[_0x1a4e('0x1e')];_0x379d61<_0x32809e;_0x379d61++){if(_0x4663b3[_0x379d61]['time']&&0xe==_0x4663b3[_0x379d61]['time']['length']&&'20'==_0x4663b3[_0x379d61][_0x1a4e('0x129a')]['substr'](0x0,0x2)){var _0x1ea0cc=_0x4663b3[_0x379d61][_0x1a4e('0x129a')];_0x4663b3[_0x379d61][_0x1a4e('0x129a')]=new Date(_0x1ea0cc['substr'](0x0,0x4)+'-'+_0x1ea0cc[_0x1a4e('0x254')](0x4,0x2)+'-'+_0x1ea0cc[_0x1a4e('0x254')](0x6,0x2)+'\x20'+_0x1ea0cc['substr'](0x8,0x2)+':'+_0x1ea0cc[_0x1a4e('0x254')](0xa,0x2)+':'+_0x1ea0cc['substr'](0xc,0x2))[_0x1a4e('0xe9')]();}this[_0x1a4e('0x4f8')][_0x1a4e('0x46')](_0x4663b3[_0x379d61]);}else{if(!(_0x4663b3 instanceof Object))throw new Error(_0x1a4e('0x4869'));this[_0x1a4e('0x4f8')][_0x1a4e('0x46')](_0x4663b3);}},_0x32809e[_0x1a4e('0xa')][_0x1a4e('0x179')]=function(_0x4663b3){_0x4663b3=_0x4663b3||{};var _0x544ba4=(new Date(),this[_0x1a4e('0x4f8')]);if(new Date(),_0x4663b3[_0x1a4e('0xd9')]){for(var _0x379d61=[],_0x32809e=0x0;_0x32809e<_0x544ba4[_0x1a4e('0x1e')];_0x32809e++)_0x4663b3[_0x1a4e('0xd9')](_0x544ba4[_0x32809e])&&_0x379d61['push'](_0x544ba4[_0x32809e]);_0x544ba4=_0x379d61;}return _0x4663b3[_0x1a4e('0x486a')]&&(_0x544ba4=this[_0x1a4e('0x486a')](_0x544ba4,_0x4663b3[_0x1a4e('0x486a')],_0x4663b3[_0x1a4e('0x486b')],_0x4663b3[_0x1a4e('0x486c')])),_0x544ba4;},_0x32809e[_0x1a4e('0xa')][_0x1a4e('0x17a')]=function(_0x4663b3){this['_set'](_0x4663b3),this[_0x1a4e('0x486d')](_0x1a4e('0x1b73'));},_0x32809e[_0x1a4e('0xa')][_0x1a4e('0x15b2')]=function(_0x4663b3){this[_0x1a4e('0xb5')](),this[_0x1a4e('0x177')](_0x4663b3);},_0x32809e[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(_0x4663b3){this[_0x1a4e('0x4f8')]=[];},_0x32809e[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x4663b3){},_0x32809e['prototype'][_0x1a4e('0x937')]=function(_0x4663b3,_0x544ba4){for(var _0x379d61=this['_data'],_0x32809e=0x0;_0x32809e<_0x379d61['length'];_0x32809e++)if(_0x544ba4){var _0x1ea0cc=!0x0;for(var _0x478824 in _0x544ba4)_0x379d61[_0x32809e][_0x478824]!=_0x544ba4[_0x478824]&&(_0x1ea0cc=!0x1);_0x1ea0cc&&_0x4663b3&&_0x4663b3(_0x379d61[_0x32809e]);}else _0x4663b3&&_0x4663b3(_0x379d61[_0x32809e]);this[_0x1a4e('0x486d')](_0x1a4e('0x1b73'));},_0x32809e['prototype'][_0x1a4e('0x486a')]=function(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){function _0x1ea0cc(_0x4663b3){for(var _0x379d61=[],_0x32809e=0x0;_0x32809e<_0x4663b3[_0x1a4e('0x1e')];_0x32809e++){for(var _0x1ea0cc=_0x4663b3[_0x32809e],_0x478824=[],_0x5b2ec1=0x0;_0x5b2ec1<_0x1ea0cc['length'];_0x5b2ec1++)_0x478824[_0x1a4e('0x46')](_0x544ba4(_0x1ea0cc[_0x5b2ec1]));_0x379d61['push'](_0x478824);}return _0x379d61;}_0x32809e=_0x32809e||_0x1a4e('0x2b9'),_0x379d61=_0x379d61||_0x1a4e('0x43');for(var _0x478824=0x0;_0x478824<_0x4663b3['length'];_0x478824++){var _0x5b2ec1=_0x4663b3[_0x478824][_0x1a4e('0x18')],_0x5dfa35=_0x5b2ec1[_0x379d61];switch(_0x5b2ec1[_0x1a4e('0x40')]){case _0x1a4e('0x17'):_0x5b2ec1[_0x32809e]=_0x544ba4(_0x5dfa35);break;case _0x1a4e('0x44'):for(var _0x52bb38=[],_0x2bcbe6=0x0;_0x2bcbe6<_0x5dfa35['length'];_0x2bcbe6++)_0x52bb38[_0x1a4e('0x46')](_0x544ba4(_0x5dfa35[_0x2bcbe6]));_0x5b2ec1[_0x32809e]=_0x52bb38;break;case _0x1a4e('0x19'):_0x52bb38=_0x1ea0cc(_0x5dfa35);_0x5b2ec1[_0x32809e]=_0x52bb38;break;case _0x1a4e('0x1c'):_0x52bb38=[];for(var _0x3cfd84=0x0;_0x3cfd84<_0x5dfa35['length'];_0x3cfd84++){var _0xb3c392=_0x1ea0cc(_0xb3c392=_0x5dfa35[_0x3cfd84]);_0x52bb38[_0x1a4e('0x46')](_0xb3c392);}_0x5b2ec1[_0x32809e]=_0x52bb38;}}return _0x4663b3;},_0x32809e[_0x1a4e('0xa')][_0x1a4e('0x486e')]=function(_0x4663b3){_0x4663b3?this[_0x1a4e('0x4f8')]['forEach'](function(_0x544ba4){_0x544ba4[_0x1a4e('0x18')]=_0x4663b3(_0x544ba4);}):this[_0x1a4e('0x4f8')][_0x1a4e('0x3b')](function(_0x4663b3){!_0x4663b3[_0x1a4e('0x18')]&&_0x4663b3['lng']&&_0x4663b3[_0x1a4e('0x1a2')]&&(_0x4663b3[_0x1a4e('0x18')]={'type':'Point','coordinates':[_0x4663b3[_0x1a4e('0x4850')],_0x4663b3['lat']]});});},_0x32809e[_0x1a4e('0xa')][_0x1a4e('0x73b')]=function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x4f8')];if(_0x544ba4&&!(_0x544ba4['length']<=0x0)){for(var _0x379d61=parseFloat(_0x544ba4[0x0][_0x4663b3]),_0x32809e=0x1;_0x32809e<_0x544ba4[_0x1a4e('0x1e')];_0x32809e++){var _0x1ea0cc=parseFloat(_0x544ba4[_0x32809e][_0x4663b3]);_0x1ea0cc>_0x379d61&&(_0x379d61=_0x1ea0cc);}return _0x379d61;}},_0x32809e['prototype'][_0x1a4e('0x486f')]=function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x4f8')];if(_0x544ba4&&!(_0x544ba4['length']<=0x0)){for(var _0x379d61=0x0,_0x32809e=0x0;_0x32809e<_0x544ba4['length'];_0x32809e++)_0x544ba4[_0x32809e][_0x4663b3]&&(_0x379d61+=parseFloat(_0x544ba4[_0x32809e][_0x4663b3]));return _0x379d61;}},_0x32809e[_0x1a4e('0xa')][_0x1a4e('0x73a')]=function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x4f8')];if(_0x544ba4&&!(_0x544ba4[_0x1a4e('0x1e')]<=0x0)){for(var _0x379d61=parseFloat(_0x544ba4[0x0][_0x4663b3]),_0x32809e=0x1;_0x32809e<_0x544ba4[_0x1a4e('0x1e')];_0x32809e++){var _0x1ea0cc=parseFloat(_0x544ba4[_0x32809e][_0x4663b3]);_0x1ea0cc<_0x379d61&&(_0x379d61=_0x1ea0cc);}return _0x379d61;}};var _0x3aefac={'drawDataSet':function(_0x4663b3,_0x544ba4,_0x379d61){for(var _0x1ea0cc=_0x544ba4 instanceof _0x32809e?_0x544ba4[_0x1a4e('0x179')]():_0x544ba4,_0x478824=0x0,_0x5b2ec1=_0x1ea0cc[_0x1a4e('0x1e')];_0x478824<_0x5b2ec1;_0x478824++){var _0x5dfa35=_0x1ea0cc[_0x478824];this[_0x1a4e('0x4827')](_0x4663b3,_0x5dfa35,_0x379d61);}},'draw':function(_0x4663b3,_0x544ba4,_0x379d61){var _0x32809e=_0x544ba4['geometry']['type'],_0x1ea0cc=_0x544ba4[_0x1a4e('0x18')][_0x1a4e('0x2b9')]||_0x544ba4['geometry'][_0x1a4e('0x43')],_0x5b2ec1=_0x379d61[_0x1a4e('0xb1b')]||_0x1a4e('0x125');switch(_0x32809e){case _0x1a4e('0x17'):var _0x5dfa35=_0x544ba4[_0x1a4e('0x4a6')]||_0x544ba4['size']||_0x379d61['_size']||_0x379d61[_0x1a4e('0x220')]||0x5;'circle'===_0x5b2ec1?('Point'===_0x379d61[_0x1a4e('0x4870')]&&_0x4663b3[_0x1a4e('0x439c')](_0x1ea0cc[0x0],_0x1ea0cc[0x1]),_0x4663b3[_0x1a4e('0x124')](_0x1ea0cc[0x0],_0x1ea0cc[0x1],_0x5dfa35,0x0,0x2*Math['PI'])):'rect'===_0x5b2ec1?_0x4663b3[_0x1a4e('0x4244')](_0x1ea0cc[0x0]-_0x5dfa35/0x2,_0x1ea0cc[0x1]-_0x5dfa35/0x2,_0x5dfa35,_0x5dfa35):'honeycomb'===_0x5b2ec1&&_0x478824(_0x4663b3,_0x1ea0cc[0x0],_0x1ea0cc[0x1],_0x5dfa35);break;case _0x1a4e('0x44'):for(var _0x52bb38=0x0;_0x52bb38<_0x1ea0cc[_0x1a4e('0x1e')];_0x52bb38++){var _0x2bcbe6=_0x1ea0cc[_0x52bb38][0x0],_0x3cfd84=_0x1ea0cc[_0x52bb38][0x1];0x0==_0x52bb38?_0x4663b3[_0x1a4e('0x439c')](_0x2bcbe6,_0x3cfd84):_0x4663b3[_0x1a4e('0x439d')](_0x2bcbe6,_0x3cfd84);}break;case _0x1a4e('0x19'):this['drawPolygon'](_0x4663b3,_0x1ea0cc);break;case'MultiPolygon':for(var _0xb3c392=0x0;_0xb3c392<_0x1ea0cc[_0x1a4e('0x1e')];_0xb3c392++){var _0x402868=_0x1ea0cc[_0xb3c392];this[_0x1a4e('0x4871')](_0x4663b3,_0x402868);}_0x4663b3[_0x1a4e('0x439e')]();break;default:console['log']('type'+_0x32809e+'is\x20not\x20support\x20now!');}},'drawPolygon':function(_0x4663b3,_0x544ba4){for(var _0x379d61=0x0;_0x379d61<_0x544ba4[_0x1a4e('0x1e')];_0x379d61++){var _0x32809e=_0x544ba4[_0x379d61];_0x4663b3[_0x1a4e('0x439c')](_0x32809e[0x0][0x0],_0x32809e[0x0][0x1]);for(var _0x1ea0cc=0x1;_0x1ea0cc<_0x32809e['length'];_0x1ea0cc++)_0x4663b3[_0x1a4e('0x439d')](_0x32809e[_0x1ea0cc][0x0],_0x32809e[_0x1ea0cc][0x1]);_0x4663b3[_0x1a4e('0x439d')](_0x32809e[0x0][0x0],_0x32809e[0x0][0x1]);}}},_0x49e583={'draw':function(_0x4663b3,_0x544ba4,_0x379d61){var _0x1ea0cc=_0x544ba4 instanceof _0x32809e?_0x544ba4[_0x1a4e('0x179')]():_0x544ba4;for(var _0x478824 in _0x4663b3[_0x1a4e('0x8b5')](),_0x379d61)_0x4663b3[_0x478824]=_0x379d61[_0x478824];if(_0x379d61[_0x1a4e('0x4870')]){_0x4663b3[_0x1a4e('0x8b5')](),_0x4663b3[_0x1a4e('0x3dbd')]();for(var _0x5b2ec1=0x0,_0x5dfa35=_0x1ea0cc['length'];_0x5b2ec1<_0x5dfa35;_0x5b2ec1++){var _0x52bb38=_0x1ea0cc[_0x5b2ec1];_0x3aefac['draw'](_0x4663b3,_0x52bb38,_0x379d61);}_0x1a4e('0x17')==(_0x2bcbe6=_0x379d61[_0x1a4e('0x4870')])||'Polygon'==_0x2bcbe6||_0x1a4e('0x1c')==_0x2bcbe6?(_0x4663b3[_0x1a4e('0x22c')](),(_0x52bb38[_0x1a4e('0x3df0')]||_0x379d61[_0x1a4e('0x3df0')])&&_0x379d61[_0x1a4e('0x4191')]&&_0x4663b3[_0x1a4e('0x3df3')]()):_0x1a4e('0x44')==_0x2bcbe6&&_0x4663b3['stroke'](),_0x4663b3[_0x1a4e('0x878')]();}else for(_0x5b2ec1=0x0,_0x5dfa35=_0x1ea0cc[_0x1a4e('0x1e')];_0x5b2ec1<_0x5dfa35;_0x5b2ec1++){_0x52bb38=_0x1ea0cc[_0x5b2ec1];_0x4663b3[_0x1a4e('0x8b5')](),(_0x52bb38[_0x1a4e('0x3dbe')]||_0x52bb38[_0x1a4e('0x4872')])&&(_0x4663b3[_0x1a4e('0x3dbe')]=_0x52bb38[_0x1a4e('0x3dbe')]||_0x52bb38['_fillStyle']),(_0x52bb38[_0x1a4e('0x3df0')]||_0x52bb38[_0x1a4e('0x4873')])&&(_0x4663b3[_0x1a4e('0x3df0')]=_0x52bb38[_0x1a4e('0x3df0')]||_0x52bb38['_strokeStyle']);var _0x2bcbe6=_0x52bb38[_0x1a4e('0x18')][_0x1a4e('0x40')];_0x4663b3[_0x1a4e('0x3dbd')](),_0x3aefac[_0x1a4e('0x4827')](_0x4663b3,_0x52bb38,_0x379d61),_0x1a4e('0x17')==_0x2bcbe6||'Polygon'==_0x2bcbe6||_0x1a4e('0x1c')==_0x2bcbe6?(_0x4663b3[_0x1a4e('0x22c')](),(_0x52bb38['strokeStyle']||_0x379d61[_0x1a4e('0x3df0')])&&_0x379d61[_0x1a4e('0x4191')]&&_0x4663b3['stroke']()):_0x1a4e('0x44')==_0x2bcbe6&&_0x4663b3[_0x1a4e('0x3df3')](),_0x4663b3['restore']();}_0x4663b3[_0x1a4e('0x878')]();}};_0x52bb38[_0x1a4e('0xa')][_0x1a4e('0x4874')]=function(_0x4663b3){this['max']=_0x4663b3||0x64;},_0x52bb38[_0x1a4e('0xa')]['setMin']=function(_0x4663b3){this[_0x1a4e('0x74')]=_0x4663b3||0x0;},_0x52bb38['prototype'][_0x1a4e('0x4875')]=function(_0x4663b3){this[_0x1a4e('0x4842')]=_0x4663b3||0x23;},_0x52bb38['prototype'][_0x1a4e('0x4876')]=function(_0x4663b3){this[_0x1a4e('0x4843')]=_0x4663b3||0x0;},_0x52bb38['prototype']['initPalette']=function(){var _0x4663b3=this['gradient'],_0x544ba4=new _0x5dfa35(0x100,0x1),_0x379d61=this[_0x1a4e('0x4877')]=_0x544ba4[_0x1a4e('0x51c')]('2d'),_0x32809e=_0x379d61['createLinearGradient'](0x0,0x0,0x100,0x1);for(var _0x1ea0cc in _0x4663b3)_0x32809e[_0x1a4e('0x3dba')](parseFloat(_0x1ea0cc),_0x4663b3[_0x1ea0cc]);_0x379d61[_0x1a4e('0x3dbe')]=_0x32809e,_0x379d61[_0x1a4e('0x3dde')](0x0,0x0,0x100,0x1);},_0x52bb38['prototype']['getColor']=function(_0x4663b3){var _0x544ba4=this['getImageData'](_0x4663b3);return'rgba('+_0x544ba4[0x0]+',\x20'+_0x544ba4[0x1]+',\x20'+_0x544ba4[0x2]+',\x20'+_0x544ba4[0x3]/0x100+')';},_0x52bb38[_0x1a4e('0xa')][_0x1a4e('0x47c7')]=function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x4877')][_0x1a4e('0x47c7')](0x0,0x0,0x100,0x1)[_0x1a4e('0x7f')];if(void 0x0===_0x4663b3)return _0x544ba4;var _0x379d61=this[_0x1a4e('0x6c')],_0x32809e=this[_0x1a4e('0x74')];_0x4663b3>_0x379d61&&(_0x4663b3=_0x379d61),_0x4663b3<_0x32809e&&(_0x4663b3=_0x32809e);var _0x1ea0cc=0x4*Math['floor']((_0x4663b3-_0x32809e)/(_0x379d61-_0x32809e)*0xff);return[_0x544ba4[_0x1ea0cc],_0x544ba4[_0x1ea0cc+0x1],_0x544ba4[_0x1ea0cc+0x2],_0x544ba4[_0x1ea0cc+0x3]];},_0x52bb38[_0x1a4e('0xa')]['getSize']=function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x6c')],_0x379d61=this[_0x1a4e('0x74')],_0x32809e=this['maxSize'],_0x1ea0cc=this[_0x1a4e('0x4843')];return _0x4663b3>_0x544ba4&&(_0x4663b3=_0x544ba4),_0x4663b3<_0x379d61&&(_0x4663b3=_0x379d61),_0x1ea0cc+(_0x4663b3-_0x379d61)/(_0x544ba4-_0x379d61)*(_0x32809e-_0x1ea0cc);},_0x52bb38[_0x1a4e('0xa')][_0x1a4e('0x4878')]=function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x41da')],_0x379d61=_0x4663b3[_0x1a4e('0x3936')]||0x14,_0x32809e=_0x4663b3[_0x1a4e('0x152')]||0xb4,_0x1ea0cc=new _0x5dfa35(_0x379d61,_0x32809e),_0x478824=_0x1ea0cc[_0x1a4e('0x51c')]('2d'),_0x5b2ec1=_0x478824['createLinearGradient'](0x0,_0x32809e,0x0,0x0);for(var _0x52bb38 in _0x544ba4)_0x5b2ec1[_0x1a4e('0x3dba')](parseFloat(_0x52bb38),_0x544ba4[_0x52bb38]);return _0x478824['fillStyle']=_0x5b2ec1,_0x478824[_0x1a4e('0x3dde')](0x0,0x0,_0x379d61,_0x32809e),_0x1ea0cc;};var _0x48995e=(_0x1a4e('0x3')==typeof window?{}:window)[_0x1a4e('0x43c1')]||0x1,_0x2466e0={'draw':function(_0x4663b3,_0x544ba4,_0x379d61){var _0x1ea0cc=_0x379d61[_0x1a4e('0x4879')]||0.3;_0x4663b3['strokeStyle']=_0x1a4e('0x487a')+_0x1ea0cc+')';var _0x478824=new _0x5dfa35(_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x3936')],_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x152')]),_0x5b2ec1=_0x478824[_0x1a4e('0x51c')]('2d');_0x5b2ec1[_0x1a4e('0x143')](_0x48995e,_0x48995e),_0x379d61=_0x379d61||{};var _0x2bcbe6=_0x544ba4 instanceof _0x32809e?_0x544ba4[_0x1a4e('0x179')]():_0x544ba4;_0x4663b3[_0x1a4e('0x8b5')]();var _0xb3c392=new _0x52bb38({'gradient':_0x379d61[_0x1a4e('0x41da')]});if(_0x3cfd84(_0x5b2ec1,_0x2bcbe6,_0x379d61),!_0x379d61[_0x1a4e('0x3b1b')]){var _0x402868=_0x5b2ec1[_0x1a4e('0x47c7')](0x0,0x0,_0x4663b3['canvas'][_0x1a4e('0x3936')],_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x152')]);(function(_0x4663b3,_0x544ba4,_0x379d61){for(var _0x32809e,_0x1ea0cc=_0x379d61['maxOpacity']||0.8,_0x478824=0x3,_0x5b2ec1=_0x4663b3['length'];_0x478824<_0x5b2ec1;_0x478824+=0x4)_0x32809e=0x4*_0x4663b3[_0x478824],_0x4663b3[_0x478824]/0x100>_0x1ea0cc&&(_0x4663b3[_0x478824]=0x100*_0x1ea0cc),_0x4663b3[_0x478824-0x3]=_0x544ba4[_0x32809e],_0x4663b3[_0x478824-0x2]=_0x544ba4[_0x32809e+0x1],_0x4663b3[_0x478824-0x1]=_0x544ba4[_0x32809e+0x2];}(_0x402868[_0x1a4e('0x7f')],_0xb3c392['getImageData'](),_0x379d61),_0x4663b3[_0x1a4e('0x3938')](_0x402868,0x0,0x0),_0x4663b3[_0x1a4e('0x878')]());}_0xb3c392=null,_0x478824=null;}},_0x4d4b53={'draw':function(_0x4663b3,_0x544ba4,_0x379d61){_0x4663b3[_0x1a4e('0x8b5')]();for(var _0x1ea0cc=_0x544ba4 instanceof _0x32809e?_0x544ba4['get']():_0x544ba4,_0x478824={},_0x5b2ec1=_0x379d61[_0x1a4e('0x4a6')]||_0x379d61[_0x1a4e('0x220')]||0x32,_0x5dfa35=_0x379d61[_0x1a4e('0x1af')]||{'x':0x0,'y':0x0},_0x2bcbe6=0x0;_0x2bcbe6<_0x1ea0cc[_0x1a4e('0x1e')];_0x2bcbe6++){var _0x3cfd84=_0x1ea0cc[_0x2bcbe6][_0x1a4e('0x18')][_0x1a4e('0x2b9')]||_0x1ea0cc[_0x2bcbe6][_0x1a4e('0x18')][_0x1a4e('0x43')];_0x478824[_0x402868=Math['floor']((_0x3cfd84[0x0]-_0x5dfa35['x'])/_0x5b2ec1)+','+Math[_0x1a4e('0xb4')]((_0x3cfd84[0x1]-_0x5dfa35['y'])/_0x5b2ec1)]||(_0x478824[_0x402868]=0x0),_0x478824[_0x402868]+=~~(_0x1ea0cc[_0x2bcbe6][_0x1a4e('0x389')]||0x1);}var _0xb3c392=new _0x52bb38({'max':_0x379d61['max']||0x64,'gradient':_0x379d61[_0x1a4e('0x41da')]});for(var _0x402868 in _0x478824)_0x402868=_0x402868['split'](','),_0x4663b3[_0x1a4e('0x3dbd')](),_0x4663b3['rect'](_0x402868[0x0]*_0x5b2ec1+0.5+_0x5dfa35['x'],_0x402868[0x1]*_0x5b2ec1+0.5+_0x5dfa35['y'],_0x5b2ec1,_0x5b2ec1),_0x4663b3[_0x1a4e('0x3dbe')]=_0xb3c392[_0x1a4e('0x3b40')](_0x478824[_0x402868]),_0x4663b3[_0x1a4e('0x22c')](),_0x379d61[_0x1a4e('0x3df0')]&&_0x379d61[_0x1a4e('0x4191')]&&_0x4663b3[_0x1a4e('0x3df3')]();if(_0x379d61[_0x1a4e('0x1bc')]&&!0x1!==_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x3a23')])for(var _0x402868 in _0x4663b3[_0x1a4e('0x3dbe')]=_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x3dbe')]||_0x1a4e('0x487b'),_0x379d61['label']['font']&&(_0x4663b3[_0x1a4e('0x3986')]=_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x3986')]),_0x379d61[_0x1a4e('0x1bc')]['shadowColor']&&(_0x4663b3['shadowColor']=_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x4846')]),_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x4845')]&&(_0x4663b3[_0x1a4e('0x4845')]=_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x4845')]),_0x478824){var _0x374bd6=_0x478824[_0x402868=_0x402868['split'](',')],_0x2f852e=_0x4663b3['measureText'](_0x374bd6)[_0x1a4e('0x3936')];_0x4663b3[_0x1a4e('0x43a1')](_0x374bd6,_0x402868[0x0]*_0x5b2ec1+0.5+_0x5dfa35['x']+_0x5b2ec1/0x2-_0x2f852e/0x2,_0x402868[0x1]*_0x5b2ec1+0.5+_0x5dfa35['y']+_0x5b2ec1/0x2+0x5);}_0x4663b3[_0x1a4e('0x878')]();}},_0x12dcf4={'draw':function(_0x4663b3,_0x544ba4,_0x379d61){_0x4663b3[_0x1a4e('0x8b5')]();var _0x1ea0cc=_0x544ba4 instanceof _0x32809e?_0x544ba4[_0x1a4e('0x179')]():_0x544ba4;for(var _0x478824 in _0x379d61)_0x4663b3[_0x478824]=_0x379d61[_0x478824];for(var _0x5b2ec1=_0x379d61[_0x1a4e('0x1af')]||{'x':0xa,'y':0xa},_0x5dfa35=_0x379d61[_0x1a4e('0x4a6')]||_0x379d61[_0x1a4e('0x220')]||0x28,_0x2bcbe6=0x2*(_0x5dfa35=_0x5dfa35/0x2/Math[_0x1a4e('0x8f')](Math['PI']/0x3))*Math['sin'](Math['PI']/0x3),_0x3cfd84=1.5*_0x5dfa35,_0x402868={},_0x374bd6=0x0;_0x374bd6<_0x1ea0cc[_0x1a4e('0x1e')];_0x374bd6++){var _0x2f852e=_0x1ea0cc[_0x374bd6][_0x1a4e('0x18')][_0x1a4e('0x2b9')]||_0x1ea0cc[_0x374bd6][_0x1a4e('0x18')]['coordinates'],_0x16d203=(_0x2f852e[0x1]-_0x5b2ec1['y'])/_0x3cfd84,_0x2d1700=Math['round'](_0x16d203),_0x377a2e=(_0x2f852e[0x0]-_0x5b2ec1['x'])/_0x2bcbe6-(0x1&_0x2d1700?0.5:0x0),_0x1673fe=Math['round'](_0x377a2e),_0x1254dd=_0x16d203-_0x2d1700;if(0x3*Math[_0x1a4e('0x65')](_0x1254dd)>0x1){var _0x3739b0=_0x377a2e-_0x1673fe,_0x547e10=_0x1673fe+(_0x377a2e<_0x1673fe?-0x1:0x1)/0x2,_0x30c8a2=_0x2d1700+(_0x16d203<_0x2d1700?-0x1:0x1),_0x4ad32a=_0x377a2e-_0x547e10,_0x560b20=_0x16d203-_0x30c8a2;_0x3739b0*_0x3739b0+_0x1254dd*_0x1254dd>_0x4ad32a*_0x4ad32a+_0x560b20*_0x560b20&&(_0x1673fe=_0x547e10+(0x1&_0x2d1700?0x1:-0x1)/0x2,_0x2d1700=_0x30c8a2);}var _0x1af83b=_0x1673fe+'-'+_0x2d1700,_0x174c4f=_0x402868[_0x1af83b];_0x174c4f?_0x174c4f['push'](_0x1ea0cc[_0x374bd6]):((_0x174c4f=_0x402868[_0x1af83b]=[_0x1ea0cc[_0x374bd6]])['i']=_0x1673fe,_0x174c4f['j']=_0x2d1700,_0x174c4f['x']=(_0x1673fe+(0x1&_0x2d1700?0.5:0x0))*_0x2bcbe6,_0x174c4f['y']=_0x2d1700*_0x3cfd84);}var _0x3ce968=new _0x52bb38({'max':_0x379d61[_0x1a4e('0x6c')]||0x64,'maxSize':_0x5dfa35,'gradient':_0x379d61[_0x1a4e('0x41da')]});for(var _0x478824 in _0x402868){var _0x1c42da=_0x402868[_0x478824];_0x4663b3[_0x1a4e('0x3dbd')]();for(var _0xa45c5f=0x0;_0xa45c5f<0x6;_0xa45c5f++){var _0x5cfcd8=_0xb3c392({'x':_0x1c42da['x']+_0x5b2ec1['x'],'y':_0x1c42da['y']+_0x5b2ec1['y']},_0x5dfa35,_0xa45c5f);_0x4663b3[_0x1a4e('0x439d')](_0x5cfcd8[0x0],_0x5cfcd8[0x1]);}_0x4663b3[_0x1a4e('0x439e')]();var _0x5b6979=0x0;for(_0x374bd6=0x0;_0x374bd6<_0x1c42da[_0x1a4e('0x1e')];_0x374bd6++)_0x5b6979+=_0x1c42da[_0x374bd6]['count']||0x1;_0x1c42da[_0x1a4e('0x389')]=_0x5b6979,_0x4663b3[_0x1a4e('0x3dbe')]=_0x3ce968[_0x1a4e('0x3b40')](_0x5b6979),_0x4663b3[_0x1a4e('0x22c')](),_0x379d61[_0x1a4e('0x3df0')]&&_0x379d61['lineWidth']&&_0x4663b3['stroke']();}if(_0x379d61[_0x1a4e('0x1bc')]&&!0x1!==_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x3a23')])for(var _0x478824 in _0x4663b3['fillStyle']=_0x379d61['label'][_0x1a4e('0x3dbe')]||_0x1a4e('0x487b'),_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x3986')]&&(_0x4663b3[_0x1a4e('0x3986')]=_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x3986')]),_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x4846')]&&(_0x4663b3[_0x1a4e('0x4846')]=_0x379d61['label']['shadowColor']),_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x4845')]&&(_0x4663b3[_0x1a4e('0x4845')]=_0x379d61[_0x1a4e('0x1bc')][_0x1a4e('0x4845')]),_0x402868){var _0x2a018e=(_0x1c42da=_0x402868[_0x478824])[_0x1a4e('0x389')];_0x2a018e=_0x2a018e<0x0?_0x2a018e[_0x1a4e('0x1e5')](0x2):~~_0x2a018e;var _0x381aba=_0x4663b3[_0x1a4e('0x4399')](_0x2a018e)['width'];_0x4663b3[_0x1a4e('0x43a1')](_0x2a018e,_0x1c42da['x']+_0x5b2ec1['x']-_0x381aba/0x2,_0x1c42da['y']+_0x5b2ec1['y']+0x5);}_0x4663b3[_0x1a4e('0x878')]();}},_0x166425=[_0x1a4e('0x487c'),_0x1a4e('0x487d'),'gl_Position\x20=\x20a_Position;',_0x1a4e('0x487e'),'}'][_0x1a4e('0x9e')](''),_0x38e737=[_0x1a4e('0x487f'),_0x1a4e('0x4880'),_0x1a4e('0x487d'),_0x1a4e('0x4881'),'}'][_0x1a4e('0x9e')](''),_0x13a8a7={'draw':function(_0x4663b3,_0x544ba4,_0x379d61){if(_0x544ba4){var _0x32809e=_0x374bd6(_0x4663b3,_0x166425,_0x38e737);_0x4663b3['enable'](_0x4663b3[_0x1a4e('0x3ccd')]),_0x4663b3['blendFunc'](_0x4663b3['SRC_ALPHA'],_0x4663b3[_0x1a4e('0x25f')]),_0x4663b3[_0x1a4e('0xb5')](_0x4663b3['COLOR_BUFFER_BIT']);var _0x1ea0cc=_0x4663b3['canvas']['width']/0x2,_0x478824=_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x152')]/0x2,_0x5b2ec1=_0x4663b3[_0x1a4e('0x4882')]();_0x4663b3['bindBuffer'](_0x4663b3['ARRAY_BUFFER'],_0x5b2ec1);var _0x5dfa35=_0x4663b3[_0x1a4e('0x4883')](_0x32809e,'a_Position');_0x4663b3[_0x1a4e('0x4884')](_0x5dfa35,0x2,_0x4663b3[_0x1a4e('0x3b59')],!0x1,0x0,0x0),_0x4663b3[_0x1a4e('0x4885')](_0x5dfa35);var _0x52bb38=_0x4663b3[_0x1a4e('0x4886')](_0x32809e,_0x1a4e('0x4887')),_0x2bcbe6=_0x2f852e(_0x379d61[_0x1a4e('0x3df0')]||_0x1a4e('0x979'));_0x4663b3[_0x1a4e('0x4888')](_0x52bb38,_0x2bcbe6[0x0]/0xff,_0x2bcbe6[0x1]/0xff,_0x2bcbe6[0x2]/0xff,_0x2bcbe6[0x3]/0xff),_0x4663b3[_0x1a4e('0x4191')](_0x379d61['lineWidth']||0x1);for(var _0x3cfd84=0x0,_0xb3c392=_0x544ba4[_0x1a4e('0x1e')];_0x3cfd84<_0xb3c392;_0x3cfd84++){for(var _0x402868=_0x544ba4[_0x3cfd84][_0x1a4e('0x18')][_0x1a4e('0x2b9')],_0x16d203=[],_0x2d1700=0x0;_0x2d1700<_0x402868[_0x1a4e('0x1e')];_0x2d1700++){var _0x377a2e=_0x402868[_0x2d1700],_0x1673fe=(_0x377a2e[0x0]-_0x1ea0cc)/_0x1ea0cc,_0x1254dd=(_0x478824-_0x377a2e[0x1])/_0x478824;_0x16d203[_0x1a4e('0x46')](_0x1673fe,_0x1254dd);}var _0x3739b0=new Float32Array(_0x16d203);_0x4663b3[_0x1a4e('0x4889')](_0x4663b3['ARRAY_BUFFER'],_0x3739b0,_0x4663b3[_0x1a4e('0x3c78')]),_0x4663b3[_0x1a4e('0x488a')](_0x4663b3[_0x1a4e('0x488b')],0x0,_0x402868['length']);}}}},_0x15b400=[_0x1a4e('0x487c'),_0x1a4e('0x488c'),_0x1a4e('0x487d'),_0x1a4e('0x488d'),_0x1a4e('0x488e'),'}']['join'](''),_0x19f86f=[_0x1a4e('0x487f'),_0x1a4e('0x4880'),'void\x20main()\x20{','gl_FragColor\x20=\x20u_FragColor;','}'][_0x1a4e('0x9e')](''),_0x5ec408={'draw':function(_0x4663b3,_0x544ba4,_0x379d61){if(_0x544ba4){var _0x32809e=_0x374bd6(_0x4663b3,_0x15b400,_0x19f86f),_0x1ea0cc=_0x4663b3['getAttribLocation'](_0x32809e,_0x1a4e('0x488f')),_0x478824=_0x4663b3['getAttribLocation'](_0x32809e,_0x1a4e('0x4890')),_0x5b2ec1=_0x4663b3[_0x1a4e('0x4886')](_0x32809e,_0x1a4e('0x4887'));_0x4663b3['clear'](_0x4663b3[_0x1a4e('0x4825')]);for(var _0x5dfa35=_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x3936')]/0x2,_0x52bb38=_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x152')]/0x2,_0x2bcbe6=[],_0x3cfd84=0x0,_0xb3c392=0x0;_0xb3c392<_0x544ba4[_0x1a4e('0x1e')];_0xb3c392++){var _0x402868=_0x544ba4[_0xb3c392][_0x1a4e('0x18')][_0x1a4e('0x2b9')],_0x16d203=(_0x402868[0x0]-_0x5dfa35)/_0x5dfa35,_0x2d1700=(_0x52bb38-_0x402868[0x1])/_0x52bb38;_0x16d203<-0x1||_0x16d203>0x1||_0x2d1700<-0x1||_0x2d1700>0x1||(_0x2bcbe6[_0x1a4e('0x46')](_0x16d203,_0x2d1700),_0x3cfd84++);}var _0x377a2e=new Float32Array(_0x2bcbe6),_0x1673fe=_0x3cfd84,_0x1254dd=_0x4663b3[_0x1a4e('0x4882')]();_0x4663b3[_0x1a4e('0x4891')](_0x4663b3['ARRAY_BUFFER'],_0x1254dd),_0x4663b3[_0x1a4e('0x4889')](_0x4663b3[_0x1a4e('0x3d66')],_0x377a2e,_0x4663b3[_0x1a4e('0x3c78')]),_0x4663b3['vertexAttribPointer'](_0x1ea0cc,0x2,_0x4663b3[_0x1a4e('0x3b59')],!0x1,0x0,0x0),_0x4663b3[_0x1a4e('0x4885')](_0x1ea0cc),_0x4663b3[_0x1a4e('0x4892')](_0x478824,_0x379d61['_size']);var _0x3739b0=_0x2f852e(_0x379d61[_0x1a4e('0x3dbe')]||_0x1a4e('0x979'));_0x4663b3[_0x1a4e('0x4888')](_0x5b2ec1,_0x3739b0[0x0]/0xff,_0x3739b0[0x1]/0xff,_0x3739b0[0x2]/0xff,_0x3739b0[0x3]/0xff),_0x4663b3['drawArrays'](_0x4663b3[_0x1a4e('0x4893')],0x0,_0x1673fe);}}};_0x16d203[_0x1a4e('0x186')]=function(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){var _0x1ea0cc=_0x544ba4&&_0x544ba4[_0x1a4e('0x1e')],_0x478824=_0x1ea0cc?_0x544ba4[0x0]*_0x379d61:_0x4663b3['length'],_0x5b2ec1=Math[_0x1a4e('0x65')](_0x2f49d7(_0x4663b3,0x0,_0x478824,_0x379d61));if(_0x1ea0cc)for(var _0x5dfa35=0x0,_0x52bb38=_0x544ba4['length'];_0x5dfa35<_0x52bb38;_0x5dfa35++){var _0x2bcbe6=_0x544ba4[_0x5dfa35]*_0x379d61,_0x3cfd84=_0x5dfa35<_0x52bb38-0x1?_0x544ba4[_0x5dfa35+0x1]*_0x379d61:_0x4663b3[_0x1a4e('0x1e')];_0x5b2ec1-=Math[_0x1a4e('0x65')](_0x2f49d7(_0x4663b3,_0x2bcbe6,_0x3cfd84,_0x379d61));}var _0xb3c392=0x0;for(_0x5dfa35=0x0;_0x5dfa35<_0x32809e[_0x1a4e('0x1e')];_0x5dfa35+=0x3){var _0x402868=_0x32809e[_0x5dfa35]*_0x379d61,_0x374bd6=_0x32809e[_0x5dfa35+0x1]*_0x379d61,_0x2f852e=_0x32809e[_0x5dfa35+0x2]*_0x379d61;_0xb3c392+=Math[_0x1a4e('0x65')]((_0x4663b3[_0x402868]-_0x4663b3[_0x2f852e])*(_0x4663b3[_0x374bd6+0x1]-_0x4663b3[_0x402868+0x1])-(_0x4663b3[_0x402868]-_0x4663b3[_0x374bd6])*(_0x4663b3[_0x2f852e+0x1]-_0x4663b3[_0x402868+0x1]));}return 0x0===_0x5b2ec1&&0x0===_0xb3c392?0x0:Math[_0x1a4e('0x65')]((_0xb3c392-_0x5b2ec1)/_0x5b2ec1);},_0x16d203['flatten']=function(_0x4663b3){for(var _0x544ba4=_0x4663b3[0x0][0x0][_0x1a4e('0x1e')],_0x379d61={'vertices':[],'holes':[],'dimensions':_0x544ba4},_0x32809e=0x0,_0x1ea0cc=0x0;_0x1ea0cc<_0x4663b3[_0x1a4e('0x1e')];_0x1ea0cc++){for(var _0x478824=0x0;_0x478824<_0x4663b3[_0x1ea0cc][_0x1a4e('0x1e')];_0x478824++)for(var _0x5b2ec1=0x0;_0x5b2ec1<_0x544ba4;_0x5b2ec1++)_0x379d61[_0x1a4e('0xaf')]['push'](_0x4663b3[_0x1ea0cc][_0x478824][_0x5b2ec1]);_0x1ea0cc>0x0&&(_0x32809e+=_0x4663b3[_0x1ea0cc-0x1][_0x1a4e('0x1e')],_0x379d61['holes']['push'](_0x32809e));}return _0x379d61;};var _0x46b62b=[_0x1a4e('0x487c'),'void\x20main()\x20{',_0x1a4e('0x488d'),_0x1a4e('0x487e'),'}'][_0x1a4e('0x9e')](''),_0x2a7753=['precision\x20mediump\x20float;',_0x1a4e('0x4880'),_0x1a4e('0x487d'),_0x1a4e('0x4881'),'}'][_0x1a4e('0x9e')](''),_0x42d424={'draw':function(_0x4663b3,_0x544ba4,_0x379d61){if(_0x544ba4){_0x4663b3[_0x1a4e('0xb5')](_0x4663b3[_0x1a4e('0x4825')]),_0x4663b3[_0x1a4e('0x464b')](0x0,0x0,_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x3936')],_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x152')]);var _0x32809e=_0x374bd6(_0x4663b3,_0x46b62b,_0x2a7753);_0x4663b3['enable'](_0x4663b3[_0x1a4e('0x3ccd')]),_0x4663b3[_0x1a4e('0x4894')](_0x4663b3['SRC_ALPHA'],_0x4663b3['ONE']);var _0x1ea0cc=_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x3936')]/0x2,_0x478824=_0x4663b3['canvas']['height']/0x2;_0x4663b3['bindBuffer'](_0x4663b3['ARRAY_BUFFER'],_0x4663b3[_0x1a4e('0x4882')]()),_0x4663b3[_0x1a4e('0x4891')](_0x4663b3['ELEMENT_ARRAY_BUFFER'],_0x4663b3['createBuffer']());var _0x5b2ec1=_0x4663b3[_0x1a4e('0x4883')](_0x32809e,'a_Position');_0x4663b3[_0x1a4e('0x4884')](_0x5b2ec1,0x2,_0x4663b3['FLOAT'],!0x1,0x0,0x0),_0x4663b3[_0x1a4e('0x4885')](_0x5b2ec1);var _0x5dfa35=_0x4663b3[_0x1a4e('0x4886')](_0x32809e,_0x1a4e('0x4887')),_0x52bb38=_0x2f852e(_0x379d61['fillStyle']||_0x1a4e('0x979'));_0x4663b3[_0x1a4e('0x4888')](_0x5dfa35,_0x52bb38[0x0]/0xff,_0x52bb38[0x1]/0xff,_0x52bb38[0x2]/0xff,_0x52bb38[0x3]/0xff),_0x4663b3[_0x1a4e('0x4191')](_0x379d61[_0x1a4e('0x4191')]||0x1);for(var _0x2bcbe6=[],_0x3cfd84=[],_0xb3c392=0x0,_0x402868=0x0,_0x2d1700=_0x544ba4[_0x1a4e('0x1e')];_0x402868<_0x2d1700;_0x402868++){var _0x377a2e=_0x16d203[_0x1a4e('0x187')](_0x544ba4[_0x402868]['geometry']['_coordinates']||_0x544ba4[_0x402868][_0x1a4e('0x18')][_0x1a4e('0x43')]),_0x1673fe=_0x377a2e[_0x1a4e('0xaf')];_0xb3c392=_0x2bcbe6[_0x1a4e('0x1e')]/0x2;for(var _0x1254dd=0x0;_0x1254dd<_0x1673fe['length'];_0x1254dd+=0x2)_0x1673fe[_0x1254dd]=(_0x1673fe[_0x1254dd]-_0x1ea0cc)/_0x1ea0cc,_0x1673fe[_0x1254dd+0x1]=(_0x478824-_0x1673fe[_0x1254dd+0x1])/_0x478824;for((_0x2bcbe6[_0x1a4e('0x1e')]+_0x1673fe[_0x1a4e('0x1e')])/0x2>0x10000&&(_0x4663b3[_0x1a4e('0x4889')](_0x4663b3[_0x1a4e('0x3d66')],new Float32Array(_0x2bcbe6),_0x4663b3[_0x1a4e('0x3c78')]),_0x4663b3['bufferData'](_0x4663b3[_0x1a4e('0x3d68')],new Uint16Array(_0x3cfd84),_0x4663b3[_0x1a4e('0x3c78')]),_0x4663b3[_0x1a4e('0x4895')](_0x4663b3[_0x1a4e('0x3b5a')],_0x3cfd84[_0x1a4e('0x1e')],_0x4663b3[_0x1a4e('0x4896')],0x0),_0x2bcbe6['length']=0x0,_0x3cfd84[_0x1a4e('0x1e')]=0x0,_0xb3c392=0x0),_0x1254dd=0x0;_0x1254dd<_0x1673fe[_0x1a4e('0x1e')];_0x1254dd++)_0x2bcbe6[_0x1a4e('0x46')](_0x1673fe[_0x1254dd]);var _0x3739b0=_0x16d203(_0x1673fe,_0x377a2e['holes'],_0x377a2e[_0x1a4e('0x3cea')]);for(_0x1254dd=0x0;_0x1254dd<_0x3739b0[_0x1a4e('0x1e')];_0x1254dd++)_0x3cfd84[_0x1a4e('0x46')](_0x3739b0[_0x1254dd]+_0xb3c392);}_0x4663b3['bufferData'](_0x4663b3[_0x1a4e('0x3d66')],new Float32Array(_0x2bcbe6),_0x4663b3[_0x1a4e('0x3c78')]),_0x4663b3['bufferData'](_0x4663b3['ELEMENT_ARRAY_BUFFER'],new Uint16Array(_0x3cfd84),_0x4663b3['STATIC_DRAW']),_0x4663b3[_0x1a4e('0x4895')](_0x4663b3[_0x1a4e('0x3b5a')],_0x3cfd84[_0x1a4e('0x1e')],_0x4663b3[_0x1a4e('0x4896')],0x0),_0x4663b3[_0x1a4e('0x4891')](_0x4663b3[_0x1a4e('0x3d66')],null),_0x4663b3[_0x1a4e('0x4891')](_0x4663b3['ELEMENT_ARRAY_BUFFER'],null);}}},_0x3ac5ad={'draw':function(_0x4663b3,_0x544ba4,_0x379d61){var _0x1ea0cc=_0x544ba4 instanceof _0x32809e?_0x544ba4[_0x1a4e('0x179')]():_0x544ba4;_0x1ea0cc[_0x1a4e('0x1e')]>0x0&&(_0x1a4e('0x44')==_0x1ea0cc[0x0][_0x1a4e('0x18')][_0x1a4e('0x40')]?_0x13a8a7[_0x1a4e('0x4827')](_0x4663b3,_0x1ea0cc,_0x379d61):_0x1a4e('0x19')==_0x1ea0cc[0x0][_0x1a4e('0x18')][_0x1a4e('0x40')]||_0x1a4e('0x1c')==_0x1ea0cc[0x0]['geometry'][_0x1a4e('0x40')]?_0x42d424[_0x1a4e('0x4827')](_0x4663b3,_0x1ea0cc,_0x379d61):_0x5ec408[_0x1a4e('0x4827')](_0x4663b3,_0x1ea0cc,_0x379d61));}},_0x217c96={'municipalities':[{'n':'北京','g':_0x1a4e('0x4897')},{'n':'上海','g':_0x1a4e('0x4898')},{'n':'天津','g':_0x1a4e('0x4899')},{'n':'重庆','g':_0x1a4e('0x489a')}],'provinces':[{'n':'安徽','g':_0x1a4e('0x489b'),'cities':[{'n':'合肥','g':_0x1a4e('0x489c')},{'n':'安庆','g':_0x1a4e('0x489d')},{'n':'蚌埠','g':_0x1a4e('0x489e')},{'n':'亳州','g':_0x1a4e('0x489f')},{'n':'巢湖','g':'117.88049,31.608733|13'},{'n':'池州','g':'117.494477,30.660019|14'},{'n':'滁州','g':_0x1a4e('0x48a0')},{'n':'阜阳','g':_0x1a4e('0x48a1')},{'n':'淮北','g':_0x1a4e('0x48a2')},{'n':'淮南','g':_0x1a4e('0x48a3')},{'n':'黄山','g':_0x1a4e('0x48a4')},{'n':'六安','g':_0x1a4e('0x48a5')},{'n':_0x1a4e('0x48a6'),'g':_0x1a4e('0x48a7')},{'n':'宿州','g':'116.988692,33.636772|13'},{'n':'铜陵','g':'117.819429,30.94093|14'},{'n':'芜湖','g':'118.384108,31.36602|12'},{'n':'宣城','g':'118.752096,30.951642|13'}]},{'n':'福建','g':_0x1a4e('0x48a8'),'cities':[{'n':'福州','g':_0x1a4e('0x48a9')},{'n':'龙岩','g':_0x1a4e('0x48aa')},{'n':'南平','g':_0x1a4e('0x48ab')},{'n':'宁德','g':_0x1a4e('0x48ac')},{'n':'莆田','g':_0x1a4e('0x48ad')},{'n':'泉州','g':_0x1a4e('0x48ae')},{'n':'三明','g':_0x1a4e('0x48af')},{'n':'厦门','g':'118.103886,24.489231|12'},{'n':'漳州','g':'117.676205,24.517065|12'}]},{'n':'甘肃','g':_0x1a4e('0x48b0'),'cities':[{'n':'兰州','g':_0x1a4e('0x48b1')},{'n':'白银','g':_0x1a4e('0x48b2')},{'n':'定西','g':_0x1a4e('0x48b3')},{'n':'甘南州','g':_0x1a4e('0x48b4')},{'n':_0x1a4e('0x48b5'),'g':_0x1a4e('0x48b6')},{'n':'金昌','g':_0x1a4e('0x48b7')},{'n':'酒泉','g':'98.508415,39.741474|13'},{'n':'临夏州','g':_0x1a4e('0x48b8')},{'n':'陇南','g':_0x1a4e('0x48b9')},{'n':'平凉','g':_0x1a4e('0x48ba')},{'n':'庆阳','g':_0x1a4e('0x48bb')},{'n':'天水','g':'105.736932,34.584319|13'},{'n':'武威','g':_0x1a4e('0x48bc')},{'n':'张掖','g':_0x1a4e('0x48bd')}]},{'n':'广东','g':_0x1a4e('0x48be'),'cities':[{'n':'广州','g':'113.30765,23.120049|12'},{'n':'潮州','g':'116.630076,23.661812|13'},{'n':'东莞','g':_0x1a4e('0x48bf')},{'n':'佛山','g':_0x1a4e('0x48c0')},{'n':'河源','g':'114.713721,23.757251|12'},{'n':'惠州','g':'114.410658,23.11354|12'},{'n':'江门','g':_0x1a4e('0x48c1')},{'n':'揭阳','g':'116.379501,23.547999|13'},{'n':'茂名','g':_0x1a4e('0x48c2')},{'n':'梅州','g':_0x1a4e('0x48c3')},{'n':'清远','g':'113.040773,23.698469|13'},{'n':'汕头','g':_0x1a4e('0x48c4')},{'n':'汕尾','g':_0x1a4e('0x48c5')},{'n':'韶关','g':_0x1a4e('0x48c6')},{'n':'深圳','g':'114.025974,22.546054|12'},{'n':'阳江','g':_0x1a4e('0x48c7')},{'n':'云浮','g':_0x1a4e('0x48c8')},{'n':'湛江','g':'110.365067,21.257463|13'},{'n':'肇庆','g':_0x1a4e('0x48c9')},{'n':'中山','g':'113.42206,22.545178|12'},{'n':'珠海','g':_0x1a4e('0x48ca')}]},{'n':'广西','g':'108.924274,23.552255|7','cities':[{'n':'南宁','g':_0x1a4e('0x48cb')},{'n':'百色','g':'106.631821,23.901512|13'},{'n':'北海','g':_0x1a4e('0x48cc')},{'n':'崇左','g':_0x1a4e('0x48cd')},{'n':_0x1a4e('0x48ce'),'g':_0x1a4e('0x48cf')},{'n':'桂林','g':'110.26092,25.262901|12'},{'n':'贵港','g':_0x1a4e('0x48d0')},{'n':'河池','g':_0x1a4e('0x48d1')},{'n':'贺州','g':_0x1a4e('0x48d2')},{'n':'来宾','g':_0x1a4e('0x48d3')},{'n':'柳州','g':_0x1a4e('0x48d4')},{'n':'钦州','g':'108.638798,21.97335|13'},{'n':'梧州','g':_0x1a4e('0x48d5')},{'n':'玉林','g':'110.151676,22.643974|14'}]},{'n':'贵州','g':_0x1a4e('0x48d6'),'cities':[{'n':'贵阳','g':_0x1a4e('0x48d7')},{'n':'安顺','g':_0x1a4e('0x48d8')},{'n':_0x1a4e('0x48d9'),'g':_0x1a4e('0x48da')},{'n':'六盘水','g':_0x1a4e('0x48db')},{'n':_0x1a4e('0x48dc'),'g':_0x1a4e('0x48dd')},{'n':'遵义','g':_0x1a4e('0x48de')},{'n':'黔西南州','g':_0x1a4e('0x48df')},{'n':_0x1a4e('0x48e0'),'g':'107.985353,26.583992|11'},{'n':_0x1a4e('0x48e1'),'g':_0x1a4e('0x48e2')}]},{'n':'海南','g':_0x1a4e('0x48e3'),'cities':[{'n':'海口','g':_0x1a4e('0x48e4')},{'n':'白沙','g':'109.358586,19.216056|12'},{'n':'保亭','g':_0x1a4e('0x48e5')},{'n':'昌江','g':_0x1a4e('0x48e6')},{'n':'儋州','g':_0x1a4e('0x48e7')},{'n':'澄迈','g':'109.996736,19.693135|13'},{'n':'东方','g':_0x1a4e('0x48e8')},{'n':'定安','g':_0x1a4e('0x48e9')},{'n':'琼海','g':_0x1a4e('0x48ea')},{'n':'琼中','g':_0x1a4e('0x48eb')},{'n':'乐东','g':_0x1a4e('0x48ec')},{'n':'临高','g':_0x1a4e('0x48ed')},{'n':'陵水','g':_0x1a4e('0x48ee')},{'n':'三亚','g':'109.522771,18.257776|12'},{'n':'屯昌','g':_0x1a4e('0x48ef')},{'n':'万宁','g':_0x1a4e('0x48f0')},{'n':'文昌','g':_0x1a4e('0x48f1')},{'n':_0x1a4e('0x48f2'),'g':_0x1a4e('0x48f3')}]},{'n':'河北','g':_0x1a4e('0x48f4'),'cities':[{'n':'石家庄','g':_0x1a4e('0x48f5')},{'n':'保定','g':'115.49481,38.886565|13'},{'n':'沧州','g':_0x1a4e('0x48f6')},{'n':'承德','g':_0x1a4e('0x48f7')},{'n':'邯郸','g':_0x1a4e('0x48f8')},{'n':'衡水','g':_0x1a4e('0x48f9')},{'n':'廊坊','g':'116.703602,39.518611|13'},{'n':_0x1a4e('0x48fa'),'g':_0x1a4e('0x48fb')},{'n':'唐山','g':_0x1a4e('0x48fc')},{'n':'邢台','g':'114.520487,37.069531|13'},{'n':_0x1a4e('0x48fd'),'g':_0x1a4e('0x48fe')}]},{'n':'河南','g':_0x1a4e('0x48ff'),'cities':[{'n':'郑州','g':'113.649644,34.75661|12'},{'n':'安阳','g':_0x1a4e('0x4900')},{'n':'鹤壁','g':_0x1a4e('0x4901')},{'n':'焦作','g':'113.211836,35.234608|13'},{'n':'开封','g':'114.351642,34.801854|13'},{'n':'洛阳','g':_0x1a4e('0x4902')},{'n':'漯河','g':_0x1a4e('0x4903')},{'n':'南阳','g':_0x1a4e('0x4904')},{'n':_0x1a4e('0x4905'),'g':_0x1a4e('0x4906')},{'n':'濮阳','g':_0x1a4e('0x4907')},{'n':_0x1a4e('0x4908'),'g':_0x1a4e('0x4909')},{'n':'商丘','g':_0x1a4e('0x490a')},{'n':'新乡','g':_0x1a4e('0x490b')},{'n':'信阳','g':_0x1a4e('0x490c')},{'n':'许昌','g':_0x1a4e('0x490d')},{'n':'周口','g':_0x1a4e('0x490e')},{'n':_0x1a4e('0x490f'),'g':_0x1a4e('0x4910')}]},{'n':_0x1a4e('0x4911'),'g':'128.047414,47.356592|6','cities':[{'n':_0x1a4e('0x4912'),'g':_0x1a4e('0x4913')},{'n':'大庆','g':_0x1a4e('0x4914')},{'n':_0x1a4e('0x4915'),'g':_0x1a4e('0x4916')},{'n':'鹤岗','g':_0x1a4e('0x4917')},{'n':'黑河','g':_0x1a4e('0x4918')},{'n':'鸡西','g':_0x1a4e('0x4919')},{'n':_0x1a4e('0x491a'),'g':'130.284735,46.81378|12'},{'n':'牡丹江','g':_0x1a4e('0x491b')},{'n':'七台河','g':'131.019048,45.775005|14'},{'n':_0x1a4e('0x491c'),'g':'123.987289,47.3477|13'},{'n':_0x1a4e('0x491d'),'g':'131.171402,46.655102|13'},{'n':'绥化','g':_0x1a4e('0x491e')},{'n':'伊春','g':'128.910766,47.734685|14'}]},{'n':'湖北','g':_0x1a4e('0x491f'),'cities':[{'n':'武汉','g':_0x1a4e('0x4920')},{'n':'鄂州','g':_0x1a4e('0x4921')},{'n':'恩施','g':_0x1a4e('0x4922')},{'n':'黄冈','g':_0x1a4e('0x4923')},{'n':'黄石','g':'115.050683,30.216127|13'},{'n':'荆门','g':'112.21733,31.042611|13'},{'n':'荆州','g':_0x1a4e('0x4924')},{'n':'潜江','g':_0x1a4e('0x4925')},{'n':_0x1a4e('0x4926'),'g':_0x1a4e('0x4927')},{'n':'十堰','g':_0x1a4e('0x4928')},{'n':'随州','g':_0x1a4e('0x4929')},{'n':'天门','g':'113.12623,30.649047|13'},{'n':'仙桃','g':_0x1a4e('0x492a')},{'n':'咸宁','g':_0x1a4e('0x492b')},{'n':'襄阳','g':_0x1a4e('0x492c')},{'n':'孝感','g':_0x1a4e('0x492d')},{'n':'宜昌','g':_0x1a4e('0x492e')}]},{'n':'湖南','g':_0x1a4e('0x492f'),'cities':[{'n':'长沙','g':_0x1a4e('0x4930')},{'n':'常德','g':_0x1a4e('0x4931')},{'n':'郴州','g':_0x1a4e('0x4932')},{'n':'衡阳','g':_0x1a4e('0x4933')},{'n':'怀化','g':_0x1a4e('0x4934')},{'n':'娄底','g':_0x1a4e('0x4935')},{'n':'邵阳','g':_0x1a4e('0x4936')},{'n':'湘潭','g':_0x1a4e('0x4937')},{'n':_0x1a4e('0x4938'),'g':_0x1a4e('0x4939')},{'n':'益阳','g':'112.366547,28.588088|13'},{'n':'永州','g':_0x1a4e('0x493a')},{'n':'岳阳','g':_0x1a4e('0x493b')},{'n':'张家界','g':_0x1a4e('0x493c')},{'n':'株洲','g':_0x1a4e('0x493d')}]},{'n':'江苏','g':_0x1a4e('0x493e'),'cities':[{'n':'南京','g':_0x1a4e('0x493f')},{'n':'常州','g':'119.981861,31.771397|12'},{'n':'淮安','g':_0x1a4e('0x4940')},{'n':_0x1a4e('0x4941'),'g':_0x1a4e('0x4942')},{'n':'南通','g':_0x1a4e('0x4943')},{'n':'苏州','g':_0x1a4e('0x4944')},{'n':'宿迁','g':_0x1a4e('0x4945')},{'n':'泰州','g':_0x1a4e('0x4946')},{'n':'无锡','g':_0x1a4e('0x4947')},{'n':'徐州','g':'117.188107,34.271553|12'},{'n':'盐城','g':'120.148872,33.379862|12'},{'n':'扬州','g':_0x1a4e('0x4948')},{'n':'镇江','g':_0x1a4e('0x4949')}]},{'n':'江西','g':_0x1a4e('0x494a'),'cities':[{'n':'南昌','g':_0x1a4e('0x494b')},{'n':'抚州','g':_0x1a4e('0x494c')},{'n':'赣州','g':_0x1a4e('0x494d')},{'n':'吉安','g':'114.992039,27.113848|13'},{'n':_0x1a4e('0x494e'),'g':_0x1a4e('0x494f')},{'n':'九江','g':_0x1a4e('0x4950')},{'n':'萍乡','g':_0x1a4e('0x4951')},{'n':'上饶','g':'117.955464,28.457623|13'},{'n':'新余','g':_0x1a4e('0x4952')},{'n':'宜春','g':_0x1a4e('0x4953')},{'n':'鹰潭','g':_0x1a4e('0x4954')}]},{'n':'吉林','g':_0x1a4e('0x4955'),'cities':[{'n':'长春','g':'125.313642,43.898338|12'},{'n':'白城','g':_0x1a4e('0x4956')},{'n':'白山','g':_0x1a4e('0x4957')},{'n':_0x1a4e('0x4958'),'g':'126.564544,43.871988|12'},{'n':'辽源','g':_0x1a4e('0x4959')},{'n':'四平','g':_0x1a4e('0x495a')},{'n':'松原','g':'124.832995,45.136049|13'},{'n':'通化','g':_0x1a4e('0x495b')},{'n':'延边','g':'129.485902,42.896414|13'}]},{'n':'辽宁','g':_0x1a4e('0x495c'),'cities':[{'n':'沈阳','g':_0x1a4e('0x495d')},{'n':'鞍山','g':_0x1a4e('0x495e')},{'n':'本溪','g':_0x1a4e('0x495f')},{'n':'朝阳','g':_0x1a4e('0x4960')},{'n':'大连','g':_0x1a4e('0x4961')},{'n':'丹东','g':_0x1a4e('0x4962')},{'n':'抚顺','g':_0x1a4e('0x4963')},{'n':'阜新','g':_0x1a4e('0x4964')},{'n':_0x1a4e('0x4965'),'g':'120.860758,40.74303|13'},{'n':'锦州','g':_0x1a4e('0x4966')},{'n':'辽阳','g':_0x1a4e('0x4967')},{'n':'盘锦','g':_0x1a4e('0x4968')},{'n':'铁岭','g':_0x1a4e('0x4969')},{'n':'营口','g':'122.233391,40.668651|13'}]},{'n':_0x1a4e('0x496a'),'g':_0x1a4e('0x496b'),'cities':[{'n':_0x1a4e('0x496c'),'g':_0x1a4e('0x496d')},{'n':_0x1a4e('0x496e'),'g':_0x1a4e('0x496f')},{'n':'包头','g':_0x1a4e('0x4970')},{'n':_0x1a4e('0x4971'),'g':_0x1a4e('0x4972')},{'n':'赤峰','g':_0x1a4e('0x4973')},{'n':'鄂尔多斯','g':_0x1a4e('0x4974')},{'n':_0x1a4e('0x4975'),'g':_0x1a4e('0x4976')},{'n':'通辽','g':_0x1a4e('0x4977')},{'n':'乌海','g':_0x1a4e('0x4978')},{'n':_0x1a4e('0x4979'),'g':_0x1a4e('0x497a')},{'n':_0x1a4e('0x497b'),'g':_0x1a4e('0x497c')},{'n':_0x1a4e('0x497d'),'g':_0x1a4e('0x497e')}]},{'n':'宁夏','g':_0x1a4e('0x497f'),'cities':[{'n':'银川','g':_0x1a4e('0x4980')},{'n':'固原','g':'106.285268,36.021523|13'},{'n':'石嘴山','g':'106.379337,39.020223|13'},{'n':'吴忠','g':_0x1a4e('0x4981')},{'n':'中卫','g':_0x1a4e('0x4982')}]},{'n':'青海','g':_0x1a4e('0x4983'),'cities':[{'n':'西宁','g':'101.767921,36.640739|12'},{'n':_0x1a4e('0x4984'),'g':_0x1a4e('0x4985')},{'n':_0x1a4e('0x4986'),'g':_0x1a4e('0x4987')},{'n':_0x1a4e('0x4988'),'g':_0x1a4e('0x4989')},{'n':_0x1a4e('0x498a'),'g':_0x1a4e('0x498b')},{'n':'海西州','g':_0x1a4e('0x498c')},{'n':_0x1a4e('0x498d'),'g':_0x1a4e('0x498e')},{'n':_0x1a4e('0x498f'),'g':_0x1a4e('0x4990')}]},{'n':'山东','g':'118.527663,36.09929|8','cities':[{'n':'济南','g':_0x1a4e('0x4991')},{'n':'滨州','g':'117.968292,37.405314|12'},{'n':'东营','g':'118.583926,37.487121|12'},{'n':'德州','g':_0x1a4e('0x4992')},{'n':'菏泽','g':'115.46336,35.26244|13'},{'n':'济宁','g':_0x1a4e('0x4993')},{'n':'莱芜','g':_0x1a4e('0x4994')},{'n':'聊城','g':'115.986869,36.455829|12'},{'n':'临沂','g':_0x1a4e('0x4995')},{'n':'青岛','g':_0x1a4e('0x4996')},{'n':'日照','g':_0x1a4e('0x4997')},{'n':'泰安','g':_0x1a4e('0x4998')},{'n':'威海','g':'122.093958,37.528787|13'},{'n':'潍坊','g':'119.142634,36.716115|12'},{'n':'烟台','g':_0x1a4e('0x4999')},{'n':'枣庄','g':'117.279305,34.807883|13'},{'n':'淄博','g':_0x1a4e('0x499a')}]},{'n':'山西','g':_0x1a4e('0x499b'),'cities':[{'n':'太原','g':_0x1a4e('0x499c')},{'n':'长治','g':_0x1a4e('0x499d')},{'n':'大同','g':'113.290509,40.113744|12'},{'n':'晋城','g':_0x1a4e('0x499e')},{'n':'晋中','g':_0x1a4e('0x499f')},{'n':'临汾','g':_0x1a4e('0x49a0')},{'n':'吕梁','g':'111.143157,37.527316|14'},{'n':'朔州','g':'112.479928,39.337672|13'},{'n':'忻州','g':_0x1a4e('0x49a1')},{'n':'阳泉','g':'113.569238,37.869529|13'},{'n':'运城','g':_0x1a4e('0x49a2')}]},{'n':'陕西','g':_0x1a4e('0x49a3'),'cities':[{'n':'西安','g':_0x1a4e('0x49a4')},{'n':'安康','g':_0x1a4e('0x49a5')},{'n':'宝鸡','g':_0x1a4e('0x49a6')},{'n':'汉中','g':_0x1a4e('0x49a7')},{'n':'商洛','g':_0x1a4e('0x49a8')},{'n':'铜川','g':'108.968067,34.908368|13'},{'n':'渭南','g':'109.483933,34.502358|13'},{'n':'咸阳','g':'108.707509,34.345373|13'},{'n':'延安','g':'109.50051,36.60332|13'},{'n':'榆林','g':_0x1a4e('0x49a9')}]},{'n':'四川','g':_0x1a4e('0x49aa'),'cities':[{'n':'成都','g':'104.067923,30.679943|12'},{'n':'阿坝州','g':_0x1a4e('0x49ab')},{'n':'巴中','g':_0x1a4e('0x49ac')},{'n':'达州','g':_0x1a4e('0x49ad')},{'n':'德阳','g':_0x1a4e('0x49ae')},{'n':_0x1a4e('0x49af'),'g':_0x1a4e('0x49b0')},{'n':'广安','g':_0x1a4e('0x49b1')},{'n':'广元','g':_0x1a4e('0x49b2')},{'n':'乐山','g':_0x1a4e('0x49b3')},{'n':_0x1a4e('0x49b4'),'g':_0x1a4e('0x49b5')},{'n':'泸州','g':_0x1a4e('0x49b6')},{'n':'南充','g':_0x1a4e('0x49b7')},{'n':'眉山','g':_0x1a4e('0x49b8')},{'n':'绵阳','g':'104.705519,31.504701|12'},{'n':'内江','g':_0x1a4e('0x49b9')},{'n':_0x1a4e('0x49ba'),'g':_0x1a4e('0x49bb')},{'n':'遂宁','g':'105.564888,30.557491|12'},{'n':'雅安','g':_0x1a4e('0x49bc')},{'n':'宜宾','g':_0x1a4e('0x49bd')},{'n':'资阳','g':_0x1a4e('0x49be')},{'n':'自贡','g':_0x1a4e('0x49bf')}]},{'n':'西藏','g':_0x1a4e('0x49c0'),'cities':[{'n':'拉萨','g':_0x1a4e('0x49c1')},{'n':_0x1a4e('0x49c2'),'g':_0x1a4e('0x49c3')},{'n':'昌都地区','g':'97.185582,31.140576|15'},{'n':_0x1a4e('0x49c4'),'g':_0x1a4e('0x49c5')},{'n':'那曲地区','g':_0x1a4e('0x49c6')},{'n':_0x1a4e('0x49c7'),'g':'88.891486,29.269023|14'},{'n':_0x1a4e('0x49c8'),'g':'91.750644,29.229027|11'}]},{'n':'新疆','g':_0x1a4e('0x49c9'),'cities':[{'n':_0x1a4e('0x49ca'),'g':'87.564988,43.84038|12'},{'n':_0x1a4e('0x49cb'),'g':'81.291737,40.61568|13'},{'n':_0x1a4e('0x49cc'),'g':_0x1a4e('0x49cd')},{'n':_0x1a4e('0x49ce'),'g':_0x1a4e('0x49cf')},{'n':_0x1a4e('0x49d0'),'g':_0x1a4e('0x49d1')},{'n':_0x1a4e('0x49d2'),'g':_0x1a4e('0x49d3')},{'n':_0x1a4e('0x49d4'),'g':_0x1a4e('0x49d5')},{'n':'哈密地区','g':_0x1a4e('0x49d6')},{'n':_0x1a4e('0x49d7'),'g':_0x1a4e('0x49d8')},{'n':_0x1a4e('0x49d9'),'g':'75.992973,39.470627|12'},{'n':_0x1a4e('0x49da'),'g':_0x1a4e('0x49db')},{'n':_0x1a4e('0x49dc'),'g':_0x1a4e('0x49dd')},{'n':'石河子','g':'86.041865,44.308259|13'},{'n':_0x1a4e('0x49de'),'g':_0x1a4e('0x49df')},{'n':'图木舒克','g':_0x1a4e('0x49e0')},{'n':_0x1a4e('0x49e1'),'g':_0x1a4e('0x49e2')},{'n':_0x1a4e('0x49e3'),'g':_0x1a4e('0x49e4')},{'n':_0x1a4e('0x49e5'),'g':_0x1a4e('0x49e6')}]},{'n':'云南','g':_0x1a4e('0x49e7'),'cities':[{'n':'昆明','g':_0x1a4e('0x49e8')},{'n':'保山','g':'99.177996,25.120489|13'},{'n':'楚雄州','g':_0x1a4e('0x49e9')},{'n':_0x1a4e('0x49ea'),'g':_0x1a4e('0x49eb')},{'n':_0x1a4e('0x49ec'),'g':'98.589434,24.44124|14'},{'n':'迪庆州','g':_0x1a4e('0x49ed')},{'n':_0x1a4e('0x49ee'),'g':'103.384065,23.367718|11'},{'n':'丽江','g':_0x1a4e('0x49ef')},{'n':'临沧','g':_0x1a4e('0x49f0')},{'n':_0x1a4e('0x49f1'),'g':_0x1a4e('0x49f2')},{'n':'普洱','g':_0x1a4e('0x49f3')},{'n':'曲靖','g':'103.782539,25.520758|12'},{'n':'昭通','g':_0x1a4e('0x49f4')},{'n':'文山','g':'104.089112,23.401781|14'},{'n':_0x1a4e('0x49f5'),'g':_0x1a4e('0x49f6')},{'n':'玉溪','g':_0x1a4e('0x49f7')}]},{'n':'浙江','g':'119.957202,29.159494|8','cities':[{'n':'杭州','g':_0x1a4e('0x49f8')},{'n':'湖州','g':_0x1a4e('0x49f9')},{'n':'嘉兴','g':_0x1a4e('0x49fa')},{'n':'金华','g':_0x1a4e('0x49fb')},{'n':'丽水','g':'119.929576,28.4563|13'},{'n':'宁波','g':_0x1a4e('0x49fc')},{'n':'衢州','g':_0x1a4e('0x49fd')},{'n':'绍兴','g':_0x1a4e('0x49fe')},{'n':'台州','g':'121.440613,28.668283|13'},{'n':'温州','g':_0x1a4e('0x49ff')},{'n':'舟山','g':_0x1a4e('0x4a00')}]}],'other':[{'n':'香港','g':_0x1a4e('0x4a01')},{'n':'澳门','g':_0x1a4e('0x4a02')},{'n':'台湾','g':_0x1a4e('0x4a03')}]},_0x58e56b={'getProvinceNameByCityName':function(_0x4663b3){for(var _0x544ba4=_0x217c96[_0x1a4e('0x4a04')],_0x379d61=0x0;_0x379d61<_0x544ba4[_0x1a4e('0x1e')];_0x379d61++)for(var _0x32809e=_0x544ba4[_0x379d61]['n'],_0x1ea0cc=_0x544ba4[_0x379d61][_0x1a4e('0x4a05')],_0x478824=0x0;_0x478824<_0x1ea0cc['length'];_0x478824++)if(_0x1ea0cc[_0x478824]['n']==_0x4663b3)return _0x32809e;return null;},'getCenterByCityName':function(_0x4663b3){for(var _0x544ba4=0x0;_0x544ba4<_0x217c96[_0x1a4e('0x4a06')][_0x1a4e('0x1e')];_0x544ba4++)if(_0x217c96[_0x1a4e('0x4a06')][_0x544ba4]['n']==_0x4663b3)return _0x545f82(_0x217c96[_0x1a4e('0x4a06')][_0x544ba4]['g']);for(_0x544ba4=0x0;_0x544ba4<_0x217c96[_0x1a4e('0x4a07')][_0x1a4e('0x1e')];_0x544ba4++)if(_0x217c96['other'][_0x544ba4]['n']==_0x4663b3)return _0x545f82(_0x217c96[_0x1a4e('0x4a07')][_0x544ba4]['g']);var _0x379d61=_0x217c96[_0x1a4e('0x4a04')];for(_0x544ba4=0x0;_0x544ba4<_0x379d61[_0x1a4e('0x1e')];_0x544ba4++){if(_0x379d61[_0x544ba4]['n']==_0x4663b3)return _0x545f82(_0x379d61[_0x544ba4]['g']);for(var _0x32809e=_0x379d61[_0x544ba4]['cities'],_0x1ea0cc=0x0;_0x1ea0cc<_0x32809e['length'];_0x1ea0cc++)if(_0x32809e[_0x1ea0cc]['n']==_0x4663b3)return _0x545f82(_0x32809e[_0x1ea0cc]['g']);}return null;}},_0x322e42={'getPoints':function(_0x4663b3){for(var _0x544ba4=[],_0x379d61=0x0;_0x379d61<_0x4663b3['length']-0x1;_0x379d61++){var _0x32809e=_0x3c5646(_0x4663b3[_0x379d61],_0x4663b3[_0x379d61+0x1]);_0x32809e&&_0x32809e[_0x1a4e('0x1e')]>0x0&&(_0x544ba4=_0x544ba4['concat'](_0x32809e));}return _0x544ba4;}};_0x4ca960[_0x1a4e('0xa')]['get']=function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x4851')],_0x379d61=_0x544ba4[_0x1a4e('0x4a07')];for(var _0x32809e in _0x544ba4)if(_0x4663b3==_0x32809e){_0x379d61=_0x544ba4[_0x32809e];break;}return _0x379d61;},_0x4ca960['prototype'][_0x1a4e('0x4a08')]=function(_0x4663b3){var _0x544ba4=[_0x1a4e('0x4a09'),'rgba(253,\x2098,\x20104,\x200.8)',_0x1a4e('0x4a0a'),_0x1a4e('0x4a0b'),_0x1a4e('0x4a0c'),'rgba(52,\x20139,\x20251,\x200.8)','rgba(17,\x20102,\x20252,\x200.8)'],_0x379d61=_0x4663b3[_0x1a4e('0x179')]();this[_0x1a4e('0x4851')]={};for(var _0x32809e=0x0,_0x1ea0cc=0x0;_0x1ea0cc<_0x379d61['length']&&(void 0x0===this['splitList'][_0x379d61[_0x1ea0cc][_0x1a4e('0x389')]]&&(this[_0x1a4e('0x4851')][_0x379d61[_0x1ea0cc][_0x1a4e('0x389')]]=_0x544ba4[_0x32809e],_0x32809e++),!(_0x32809e>=_0x544ba4[_0x1a4e('0x1e')]-0x1));_0x1ea0cc++);this[_0x1a4e('0x4851')][_0x1a4e('0x4a07')]=_0x544ba4[_0x544ba4[_0x1a4e('0x1e')]-0x1];},_0x4ca960['prototype'][_0x1a4e('0x4878')]=function(_0x4663b3){var _0x544ba4=this['splitList'],_0x379d61=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));_0x379d61[_0x1a4e('0x375c')][_0x1a4e('0x1322')]='background:#fff;\x20padding:\x205px;\x20border:\x201px\x20solid\x20#ccc;';var _0x32809e='';for(var _0x1ea0cc in _0x544ba4)_0x32809e+=_0x1a4e('0x4a0d')+_0x1ea0cc+_0x1a4e('0x4a0e')+_0x544ba4[_0x1ea0cc]+_0x1a4e('0x4a0f')+_0x1ea0cc+_0x1a4e('0x4a10');return _0x379d61[_0x1a4e('0x12ba')]=_0x32809e,_0x379d61;},_0x26fe74[_0x1a4e('0xa')][_0x1a4e('0x179')]=function(_0x4663b3){for(var _0x544ba4=this['splitList'],_0x379d61=!0x1,_0x32809e=0x0;_0x32809e<_0x544ba4[_0x1a4e('0x1e')];_0x32809e++)if((void 0x0===_0x544ba4[_0x32809e]['start']||void 0x0!==_0x544ba4[_0x32809e][_0x1a4e('0xc9')]&&_0x4663b3>=_0x544ba4[_0x32809e]['start'])&&(void 0x0===_0x544ba4[_0x32809e]['end']||void 0x0!==_0x544ba4[_0x32809e][_0x1a4e('0xca')]&&_0x4663b3<_0x544ba4[_0x32809e][_0x1a4e('0xca')])){_0x379d61=_0x544ba4[_0x32809e][_0x1a4e('0x255')];break;}return _0x379d61;},_0x26fe74[_0x1a4e('0xa')][_0x1a4e('0x4a08')]=function(_0x4663b3){var _0x544ba4=_0x4663b3[_0x1a4e('0x73a')](_0x1a4e('0x389')),_0x379d61=_0x4663b3['getMax']('count');this[_0x1a4e('0x4a11')](_0x544ba4,_0x379d61);},_0x26fe74[_0x1a4e('0xa')][_0x1a4e('0x4a11')]=function(_0x4663b3,_0x544ba4){var _0x379d61=['rgba(255,\x20255,\x200,\x200.8)',_0x1a4e('0x4a12'),_0x1a4e('0x4a0a'),_0x1a4e('0x4a0b'),_0x1a4e('0x4a0c'),_0x1a4e('0x4a13'),'rgba(17,\x20102,\x20252,\x200.8)'],_0x32809e=(_0x544ba4-_0x4663b3)/0x7,_0x1ea0cc=_0x4663b3;this[_0x1a4e('0x4851')]=[];for(var _0x478824=0x0;_0x1ea0cc<_0x544ba4;)this[_0x1a4e('0x4851')][_0x1a4e('0x46')]({'start':_0x1ea0cc,'end':_0x1ea0cc+_0x32809e,'value':_0x379d61[_0x478824]}),_0x478824++,_0x1ea0cc+=_0x32809e;},_0x26fe74[_0x1a4e('0xa')][_0x1a4e('0x4878')]=function(_0x4663b3){this[_0x1a4e('0x4851')];};var _0xbd7c2f=function(){function _0x4663b3(_0x4663b3,_0x544ba4){for(var _0x379d61=0x0;_0x379d61<_0x544ba4[_0x1a4e('0x1e')];_0x379d61++){var _0x32809e=_0x544ba4[_0x379d61];_0x32809e['enumerable']=_0x32809e['enumerable']||!0x1,_0x32809e[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x32809e&&(_0x32809e[_0x1a4e('0x1346')]=!0x0),Object[_0x1a4e('0x2')](_0x4663b3,_0x32809e['key'],_0x32809e);}}return function(_0x544ba4,_0x379d61,_0x32809e){return _0x379d61&&_0x4663b3(_0x544ba4[_0x1a4e('0xa')],_0x379d61),_0x32809e&&_0x4663b3(_0x544ba4,_0x32809e),_0x544ba4;};}(),_0x2526ce=function(){function _0x4663b3(_0x544ba4,_0x379d61,_0x32809e){if(function(_0x4663b3,_0x544ba4){if(!(_0x4663b3 instanceof _0x544ba4))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x4663b3),!_0x544ba4||!_0x379d61)return console[_0x1a4e('0xe3c')](_0x1a4e('0x4a14')),!0x1;if(_0x1a4e('0x4a15')==_0x379d61){if(!BMap)return console[_0x1a4e('0xe3c')]('请先引入百度地图JS\x20API'),!0x1;}else console[_0x1a4e('0xe3c')](_0x1a4e('0x4a16'));this['type']=_0x379d61;var _0x1ea0cc=_0x32809e&&_0x32809e['center']?_0x32809e[_0x1a4e('0x111')]:[106.962497,38.208726],_0x478824=_0x32809e&&_0x32809e[_0x1a4e('0x4a17')]?_0x32809e[_0x1a4e('0x4a17')]:0x5,_0x5b2ec1=this['map']=new BMap[(_0x1a4e('0xf51'))](_0x544ba4,{'enableMapClick':!0x1});_0x5b2ec1[_0x1a4e('0x4a18')](new BMap[(_0x1a4e('0x17'))](_0x1ea0cc[0x0],_0x1ea0cc[0x1]),_0x478824),_0x5b2ec1[_0x1a4e('0x4a19')](!0x0),_0x5b2ec1[_0x1a4e('0x4a1a')]({'style':_0x1a4e('0x4a1b')});}return _0xbd7c2f(_0x4663b3,[{'key':_0x1a4e('0x4a1c'),'value':function(_0x4663b3,_0x544ba4){if('baidu'==this[_0x1a4e('0x40')])return new mapv['baiduMapLayer'](this[_0x1a4e('0x21')],dataSet,_0x544ba4);}},{'key':'getMap','value':function(){return this[_0x1a4e('0x21')];}}]),_0x4663b3;}(),_0x1c6d50=_0x1a4e('0x3')==typeof window?{}:window;_0x1c6d50['BMap']&&(_0x4d5b46['prototype']=new BMap['Overlay'](),_0x4d5b46['prototype']['initialize']=function(_0x4663b3){this[_0x1a4e('0x4856')]=_0x4663b3;var _0x544ba4=this[_0x1a4e('0x3934')]=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x544ba4['style'][_0x1a4e('0x1322')]=_0x1a4e('0x4a1d')+this[_0x1a4e('0x3eeb')]+';user-select:none;',_0x544ba4[_0x1a4e('0x375c')][_0x1a4e('0x4854')]=this[_0x1a4e('0x4854')],this[_0x1a4e('0x4a1e')](),_0x4663b3['getPanes']()[this[_0x1a4e('0x4852')]][_0x1a4e('0x12c4')](_0x544ba4);var _0x379d61=this;return _0x4663b3[_0x1a4e('0xec5')]('resize',function(){_0x379d61[_0x1a4e('0x4a1e')](),_0x379d61[_0x1a4e('0x4a1f')]();}),this[_0x1a4e('0x3934')];},_0x4d5b46['prototype'][_0x1a4e('0x4a1e')]=function(){var _0x4663b3=this['_map'][_0x1a4e('0x30f1')](),_0x544ba4=this[_0x1a4e('0x3934')],_0x379d61=this['devicePixelRatio']=_0x1c6d50['devicePixelRatio']||0x1;_0x544ba4['width']=_0x4663b3['width']*_0x379d61,_0x544ba4[_0x1a4e('0x152')]=_0x4663b3[_0x1a4e('0x152')]*_0x379d61,'2d'==this[_0x1a4e('0x8cb')]&&_0x544ba4[_0x1a4e('0x51c')](this[_0x1a4e('0x8cb')])[_0x1a4e('0x143')](_0x379d61,_0x379d61),_0x544ba4['style'][_0x1a4e('0x3936')]=_0x4663b3['width']+'px',_0x544ba4['style'][_0x1a4e('0x152')]=_0x4663b3['height']+'px';},_0x4d5b46['prototype']['draw']=function(){var _0x4663b3=this;clearTimeout(_0x4663b3[_0x1a4e('0x4a20')]),_0x4663b3['timeoutID']=setTimeout(function(){_0x4663b3[_0x1a4e('0x4a1f')]();},0xf);},_0x4d5b46['prototype']['_draw']=function(){var _0x4663b3=this[_0x1a4e('0x4856')],_0x544ba4=_0x4663b3[_0x1a4e('0x30f1')](),_0x379d61=_0x4663b3[_0x1a4e('0x4a21')]();if(_0x379d61){var _0x32809e=_0x4663b3[_0x1a4e('0x4a22')](_0x379d61);this[_0x1a4e('0x3934')][_0x1a4e('0x375c')]['left']=_0x32809e['x']-_0x544ba4['width']/0x2+'px',this['canvas']['style'][_0x1a4e('0x5e')]=_0x32809e['y']-_0x544ba4[_0x1a4e('0x152')]/0x2+'px',this[_0x1a4e('0x1337')](_0x1a4e('0x4827')),this['options'][_0x1a4e('0x937')]&&this[_0x1a4e('0x8dc')][_0x1a4e('0x937')][_0x1a4e('0x1')](this);}},_0x4d5b46[_0x1a4e('0xa')][_0x1a4e('0x47f5')]=function(){return this[_0x1a4e('0x3934')];},_0x4d5b46[_0x1a4e('0xa')][_0x1a4e('0x3a23')]=function(){this['canvas']||this[_0x1a4e('0x4856')][_0x1a4e('0x4a23')](this),this[_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x375d')]='block';},_0x4d5b46[_0x1a4e('0xa')][_0x1a4e('0x3aee')]=function(){this[_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x375d')]='none';},_0x4d5b46[_0x1a4e('0xa')][_0x1a4e('0x4821')]=function(_0x4663b3){this[_0x1a4e('0x3934')]['style'][_0x1a4e('0x3eeb')]=_0x4663b3;},_0x4d5b46[_0x1a4e('0xa')][_0x1a4e('0x4a24')]=function(){return this[_0x1a4e('0x3eeb')];});var _0x3e496c=_0x3e496c||function(){var _0x4663b3=[];return{'getAll':function(){return _0x4663b3;},'removeAll':function(){_0x4663b3=[];},'add':function(_0x544ba4){_0x4663b3[_0x1a4e('0x46')](_0x544ba4);},'remove':function(_0x544ba4){var _0x379d61=_0x4663b3['indexOf'](_0x544ba4);-0x1!==_0x379d61&&_0x4663b3[_0x1a4e('0x8a')](_0x379d61,0x1);},'update':function(_0x544ba4,_0x379d61){if(0x0===_0x4663b3['length'])return!0x1;var _0x32809e=0x0;for(_0x544ba4=void 0x0!==_0x544ba4?_0x544ba4:_0x3e496c[_0x1a4e('0xe3f')]();_0x32809e<_0x4663b3['length'];)_0x4663b3[_0x32809e][_0x1a4e('0x937')](_0x544ba4)||_0x379d61?_0x32809e++:_0x4663b3[_0x1a4e('0x8a')](_0x32809e,0x1);return!0x0;}};}();_0x1a4e('0x3')==typeof window&&void 0x0!==_0x379d61?_0x3e496c[_0x1a4e('0xe3f')]=function(){var _0x4663b3=_0x379d61[_0x1a4e('0x4a25')]();return 0x3e8*_0x4663b3[0x0]+_0x4663b3[0x1]/0xf4240;}:'undefined'!=typeof window&&void 0x0!==window['performance']&&void 0x0!==window[_0x1a4e('0x1774')][_0x1a4e('0xe3f')]?_0x3e496c[_0x1a4e('0xe3f')]=window['performance'][_0x1a4e('0xe3f')]['bind'](window[_0x1a4e('0x1774')]):void 0x0!==Date[_0x1a4e('0xe3f')]?_0x3e496c[_0x1a4e('0xe3f')]=Date['now']:_0x3e496c['now']=function(){return new Date()[_0x1a4e('0xe9')]();},_0x3e496c['Tween']=function(_0x4663b3){var _0x544ba4,_0x379d61=_0x4663b3,_0x32809e={},_0x1ea0cc={},_0x478824={},_0x5b2ec1=0x3e8,_0x5dfa35=0x0,_0x52bb38=!0x1,_0x2bcbe6=!0x1,_0x3cfd84=!0x1,_0xb3c392=0x0,_0x402868=null,_0x374bd6=_0x3e496c[_0x1a4e('0x3b6f')]['Linear']['None'],_0x2f852e=_0x3e496c[_0x1a4e('0x4a26')][_0x1a4e('0x4a27')],_0x16d203=[],_0x2d1700=null,_0x377a2e=!0x1,_0x1673fe=null,_0x1254dd=null,_0x3739b0=null;this['to']=function(_0x4663b3,_0x544ba4){return _0x1ea0cc=_0x4663b3,void 0x0!==_0x544ba4&&(_0x5b2ec1=_0x544ba4),this;},this[_0x1a4e('0xc9')]=function(_0x4663b3){for(var _0x544ba4 in _0x3e496c[_0x1a4e('0x177')](this),_0x2bcbe6=!0x0,_0x377a2e=!0x1,_0x402868=void 0x0!==_0x4663b3?_0x4663b3:_0x3e496c[_0x1a4e('0xe3f')](),_0x402868+=_0xb3c392,_0x1ea0cc){if(_0x1ea0cc[_0x544ba4]instanceof Array){if(0x0===_0x1ea0cc[_0x544ba4][_0x1a4e('0x1e')])continue;_0x1ea0cc[_0x544ba4]=[_0x379d61[_0x544ba4]][_0x1a4e('0x9a')](_0x1ea0cc[_0x544ba4]);}void 0x0!==_0x379d61[_0x544ba4]&&(_0x32809e[_0x544ba4]=_0x379d61[_0x544ba4],_0x32809e[_0x544ba4]instanceof Array==0x0&&(_0x32809e[_0x544ba4]*=0x1),_0x478824[_0x544ba4]=_0x32809e[_0x544ba4]||0x0);}return this;},this[_0x1a4e('0x127b')]=function(){return _0x2bcbe6?(_0x3e496c['remove'](this),_0x2bcbe6=!0x1,null!==_0x3739b0&&_0x3739b0[_0x1a4e('0x1')](_0x379d61,_0x379d61),this['stopChainedTweens'](),this):this;},this[_0x1a4e('0xca')]=function(){return this['update'](_0x402868+_0x5b2ec1),this;},this[_0x1a4e('0x4a28')]=function(){for(var _0x4663b3=0x0,_0x544ba4=_0x16d203[_0x1a4e('0x1e')];_0x4663b3<_0x544ba4;_0x4663b3++)_0x16d203[_0x4663b3][_0x1a4e('0x127b')]();},this[_0x1a4e('0x183')]=function(_0x4663b3){return _0xb3c392=_0x4663b3,this;},this[_0x1a4e('0x3b77')]=function(_0x4663b3){return _0x5dfa35=_0x4663b3,this;},this[_0x1a4e('0x4a29')]=function(_0x4663b3){return _0x544ba4=_0x4663b3,this;},this[_0x1a4e('0x4a2a')]=function(_0x4663b3){return _0x52bb38=_0x4663b3,this;},this[_0x1a4e('0x3b6e')]=function(_0x4663b3){return _0x374bd6=_0x4663b3,this;},this[_0x1a4e('0x421d')]=function(_0x4663b3){return _0x2f852e=_0x4663b3,this;},this[_0x1a4e('0x103a')]=function(){return _0x16d203=arguments,this;},this['onStart']=function(_0x4663b3){return _0x2d1700=_0x4663b3,this;},this[_0x1a4e('0x3b72')]=function(_0x4663b3){return _0x1673fe=_0x4663b3,this;},this[_0x1a4e('0x4a2b')]=function(_0x4663b3){return _0x1254dd=_0x4663b3,this;},this[_0x1a4e('0x4107')]=function(_0x4663b3){return _0x3739b0=_0x4663b3,this;},this[_0x1a4e('0x937')]=function(_0x4663b3){var _0x2bcbe6,_0x3739b0,_0x547e10;if(_0x4663b3<_0x402868)return!0x0;for(_0x2bcbe6 in!0x1===_0x377a2e&&(null!==_0x2d1700&&_0x2d1700['call'](_0x379d61,_0x379d61),_0x377a2e=!0x0),_0x547e10=_0x374bd6(_0x3739b0=(_0x3739b0=(_0x4663b3-_0x402868)/_0x5b2ec1)>0x1?0x1:_0x3739b0),_0x1ea0cc)if(void 0x0!==_0x32809e[_0x2bcbe6]){var _0x30c8a2=_0x32809e[_0x2bcbe6]||0x0,_0x4ad32a=_0x1ea0cc[_0x2bcbe6];_0x4ad32a instanceof Array?_0x379d61[_0x2bcbe6]=_0x2f852e(_0x4ad32a,_0x547e10):(_0x1a4e('0x9')==typeof _0x4ad32a&&(_0x4ad32a='+'===_0x4ad32a[_0x1a4e('0x278')](0x0)||'-'===_0x4ad32a[_0x1a4e('0x278')](0x0)?_0x30c8a2+parseFloat(_0x4ad32a):parseFloat(_0x4ad32a)),_0x1a4e('0x3d')==typeof _0x4ad32a&&(_0x379d61[_0x2bcbe6]=_0x30c8a2+(_0x4ad32a-_0x30c8a2)*_0x547e10));}if(null!==_0x1673fe&&_0x1673fe['call'](_0x379d61,_0x547e10),0x1===_0x3739b0){if(_0x5dfa35>0x0){for(_0x2bcbe6 in isFinite(_0x5dfa35)&&_0x5dfa35--,_0x478824){if(_0x1a4e('0x9')==typeof _0x1ea0cc[_0x2bcbe6]&&(_0x478824[_0x2bcbe6]=_0x478824[_0x2bcbe6]+parseFloat(_0x1ea0cc[_0x2bcbe6])),_0x52bb38){var _0x560b20=_0x478824[_0x2bcbe6];_0x478824[_0x2bcbe6]=_0x1ea0cc[_0x2bcbe6],_0x1ea0cc[_0x2bcbe6]=_0x560b20;}_0x32809e[_0x2bcbe6]=_0x478824[_0x2bcbe6];}return _0x52bb38&&(_0x3cfd84=!_0x3cfd84),_0x402868=void 0x0!==_0x544ba4?_0x4663b3+_0x544ba4:_0x4663b3+_0xb3c392,!0x0;}null!==_0x1254dd&&_0x1254dd[_0x1a4e('0x1')](_0x379d61,_0x379d61);for(var _0x1af83b=0x0,_0x174c4f=_0x16d203[_0x1a4e('0x1e')];_0x1af83b<_0x174c4f;_0x1af83b++)_0x16d203[_0x1af83b][_0x1a4e('0xc9')](_0x402868+_0x5b2ec1);return!0x1;}return!0x0;};},_0x3e496c[_0x1a4e('0x3b6f')]={'Linear':{'None':function(_0x4663b3){return _0x4663b3;}},'Quadratic':{'In':function(_0x4663b3){return _0x4663b3*_0x4663b3;},'Out':function(_0x4663b3){return _0x4663b3*(0x2-_0x4663b3);},'InOut':function(_0x4663b3){return(_0x4663b3*=0x2)<0x1?0.5*_0x4663b3*_0x4663b3:-0.5*(--_0x4663b3*(_0x4663b3-0x2)-0x1);}},'Cubic':{'In':function(_0x4663b3){return _0x4663b3*_0x4663b3*_0x4663b3;},'Out':function(_0x4663b3){return--_0x4663b3*_0x4663b3*_0x4663b3+0x1;},'InOut':function(_0x4663b3){return(_0x4663b3*=0x2)<0x1?0.5*_0x4663b3*_0x4663b3*_0x4663b3:0.5*((_0x4663b3-=0x2)*_0x4663b3*_0x4663b3+0x2);}},'Quartic':{'In':function(_0x4663b3){return _0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3;},'Out':function(_0x4663b3){return 0x1- --_0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3;},'InOut':function(_0x4663b3){return(_0x4663b3*=0x2)<0x1?0.5*_0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3:-0.5*((_0x4663b3-=0x2)*_0x4663b3*_0x4663b3*_0x4663b3-0x2);}},'Quintic':{'In':function(_0x4663b3){return _0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3;},'Out':function(_0x4663b3){return--_0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3+0x1;},'InOut':function(_0x4663b3){return(_0x4663b3*=0x2)<0x1?0.5*_0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3:0.5*((_0x4663b3-=0x2)*_0x4663b3*_0x4663b3*_0x4663b3*_0x4663b3+0x2);}},'Sinusoidal':{'In':function(_0x4663b3){return 0x1-Math[_0x1a4e('0x90')](_0x4663b3*Math['PI']/0x2);},'Out':function(_0x4663b3){return Math[_0x1a4e('0x8f')](_0x4663b3*Math['PI']/0x2);},'InOut':function(_0x4663b3){return 0.5*(0x1-Math[_0x1a4e('0x90')](Math['PI']*_0x4663b3));}},'Exponential':{'In':function(_0x4663b3){return 0x0===_0x4663b3?0x0:Math[_0x1a4e('0x8e')](0x400,_0x4663b3-0x1);},'Out':function(_0x4663b3){return 0x1===_0x4663b3?0x1:0x1-Math['pow'](0x2,-0xa*_0x4663b3);},'InOut':function(_0x4663b3){return 0x0===_0x4663b3?0x0:0x1===_0x4663b3?0x1:(_0x4663b3*=0x2)<0x1?0.5*Math[_0x1a4e('0x8e')](0x400,_0x4663b3-0x1):0.5*(0x2-Math['pow'](0x2,-0xa*(_0x4663b3-0x1)));}},'Circular':{'In':function(_0x4663b3){return 0x1-Math[_0x1a4e('0x91')](0x1-_0x4663b3*_0x4663b3);},'Out':function(_0x4663b3){return Math[_0x1a4e('0x91')](0x1- --_0x4663b3*_0x4663b3);},'InOut':function(_0x4663b3){return(_0x4663b3*=0x2)<0x1?-0.5*(Math[_0x1a4e('0x91')](0x1-_0x4663b3*_0x4663b3)-0x1):0.5*(Math[_0x1a4e('0x91')](0x1-(_0x4663b3-=0x2)*_0x4663b3)+0x1);}},'Elastic':{'In':function(_0x4663b3){return 0x0===_0x4663b3?0x0:0x1===_0x4663b3?0x1:-Math[_0x1a4e('0x8e')](0x2,0xa*(_0x4663b3-0x1))*Math[_0x1a4e('0x8f')](0x5*(_0x4663b3-1.1)*Math['PI']);},'Out':function(_0x4663b3){return 0x0===_0x4663b3?0x0:0x1===_0x4663b3?0x1:Math[_0x1a4e('0x8e')](0x2,-0xa*_0x4663b3)*Math['sin'](0x5*(_0x4663b3-0.1)*Math['PI'])+0x1;},'InOut':function(_0x4663b3){return 0x0===_0x4663b3?0x0:0x1===_0x4663b3?0x1:(_0x4663b3*=0x2)<0x1?-0.5*Math[_0x1a4e('0x8e')](0x2,0xa*(_0x4663b3-0x1))*Math[_0x1a4e('0x8f')](0x5*(_0x4663b3-1.1)*Math['PI']):0.5*Math[_0x1a4e('0x8e')](0x2,-0xa*(_0x4663b3-0x1))*Math['sin'](0x5*(_0x4663b3-1.1)*Math['PI'])+0x1;}},'Back':{'In':function(_0x4663b3){var _0x544ba4=1.70158;return _0x4663b3*_0x4663b3*((_0x544ba4+0x1)*_0x4663b3-_0x544ba4);},'Out':function(_0x4663b3){var _0x544ba4=1.70158;return--_0x4663b3*_0x4663b3*((_0x544ba4+0x1)*_0x4663b3+_0x544ba4)+0x1;},'InOut':function(_0x4663b3){var _0x544ba4=2.5949095;return(_0x4663b3*=0x2)<0x1?_0x4663b3*_0x4663b3*((_0x544ba4+0x1)*_0x4663b3-_0x544ba4)*0.5:0.5*((_0x4663b3-=0x2)*_0x4663b3*((_0x544ba4+0x1)*_0x4663b3+_0x544ba4)+0x2);}},'Bounce':{'In':function(_0x4663b3){return 0x1-_0x3e496c[_0x1a4e('0x3b6f')][_0x1a4e('0x4a2c')][_0x1a4e('0x45fc')](0x1-_0x4663b3);},'Out':function(_0x4663b3){return _0x4663b3<0x1/2.75?7.5625*_0x4663b3*_0x4663b3:_0x4663b3<0x2/2.75?7.5625*(_0x4663b3-=1.5/2.75)*_0x4663b3+0.75:_0x4663b3<2.5/2.75?7.5625*(_0x4663b3-=2.25/2.75)*_0x4663b3+0.9375:7.5625*(_0x4663b3-=2.625/2.75)*_0x4663b3+0.984375;},'InOut':function(_0x4663b3){return _0x4663b3<0.5?0.5*_0x3e496c['Easing']['Bounce']['In'](0x2*_0x4663b3):0.5*_0x3e496c['Easing'][_0x1a4e('0x4a2c')][_0x1a4e('0x45fc')](0x2*_0x4663b3-0x1)+0.5;}}},_0x3e496c[_0x1a4e('0x4a26')]={'Linear':function(_0x4663b3,_0x544ba4){var _0x379d61=_0x4663b3[_0x1a4e('0x1e')]-0x1,_0x32809e=_0x379d61*_0x544ba4,_0x1ea0cc=Math[_0x1a4e('0xb4')](_0x32809e),_0x478824=_0x3e496c[_0x1a4e('0x4a26')][_0x1a4e('0x4a2d')][_0x1a4e('0x4a27')];return _0x544ba4<0x0?_0x478824(_0x4663b3[0x0],_0x4663b3[0x1],_0x32809e):_0x544ba4>0x1?_0x478824(_0x4663b3[_0x379d61],_0x4663b3[_0x379d61-0x1],_0x379d61-_0x32809e):_0x478824(_0x4663b3[_0x1ea0cc],_0x4663b3[_0x1ea0cc+0x1>_0x379d61?_0x379d61:_0x1ea0cc+0x1],_0x32809e-_0x1ea0cc);},'Bezier':function(_0x4663b3,_0x544ba4){for(var _0x379d61=0x0,_0x32809e=_0x4663b3[_0x1a4e('0x1e')]-0x1,_0x1ea0cc=Math[_0x1a4e('0x8e')],_0x478824=_0x3e496c[_0x1a4e('0x4a26')]['Utils']['Bernstein'],_0x5b2ec1=0x0;_0x5b2ec1<=_0x32809e;_0x5b2ec1++)_0x379d61+=_0x1ea0cc(0x1-_0x544ba4,_0x32809e-_0x5b2ec1)*_0x1ea0cc(_0x544ba4,_0x5b2ec1)*_0x4663b3[_0x5b2ec1]*_0x478824(_0x32809e,_0x5b2ec1);return _0x379d61;},'CatmullRom':function(_0x4663b3,_0x544ba4){var _0x379d61=_0x4663b3[_0x1a4e('0x1e')]-0x1,_0x32809e=_0x379d61*_0x544ba4,_0x1ea0cc=Math[_0x1a4e('0xb4')](_0x32809e),_0x478824=_0x3e496c['Interpolation'][_0x1a4e('0x4a2d')]['CatmullRom'];return _0x4663b3[0x0]===_0x4663b3[_0x379d61]?(_0x544ba4<0x0&&(_0x1ea0cc=Math[_0x1a4e('0xb4')](_0x32809e=_0x379d61*(0x1+_0x544ba4))),_0x478824(_0x4663b3[(_0x1ea0cc-0x1+_0x379d61)%_0x379d61],_0x4663b3[_0x1ea0cc],_0x4663b3[(_0x1ea0cc+0x1)%_0x379d61],_0x4663b3[(_0x1ea0cc+0x2)%_0x379d61],_0x32809e-_0x1ea0cc)):_0x544ba4<0x0?_0x4663b3[0x0]-(_0x478824(_0x4663b3[0x0],_0x4663b3[0x0],_0x4663b3[0x1],_0x4663b3[0x1],-_0x32809e)-_0x4663b3[0x0]):_0x544ba4>0x1?_0x4663b3[_0x379d61]-(_0x478824(_0x4663b3[_0x379d61],_0x4663b3[_0x379d61],_0x4663b3[_0x379d61-0x1],_0x4663b3[_0x379d61-0x1],_0x32809e-_0x379d61)-_0x4663b3[_0x379d61]):_0x478824(_0x4663b3[_0x1ea0cc?_0x1ea0cc-0x1:0x0],_0x4663b3[_0x1ea0cc],_0x4663b3[_0x379d61<_0x1ea0cc+0x1?_0x379d61:_0x1ea0cc+0x1],_0x4663b3[_0x379d61<_0x1ea0cc+0x2?_0x379d61:_0x1ea0cc+0x2],_0x32809e-_0x1ea0cc);},'Utils':{'Linear':function(_0x4663b3,_0x544ba4,_0x379d61){return(_0x544ba4-_0x4663b3)*_0x379d61+_0x4663b3;},'Bernstein':function(_0x4663b3,_0x544ba4){var _0x379d61=_0x3e496c[_0x1a4e('0x4a26')][_0x1a4e('0x4a2d')]['Factorial'];return _0x379d61(_0x4663b3)/_0x379d61(_0x544ba4)/_0x379d61(_0x4663b3-_0x544ba4);},'Factorial':function(){var _0x4663b3=[0x1];return function(_0x544ba4){var _0x379d61=0x1;if(_0x4663b3[_0x544ba4])return _0x4663b3[_0x544ba4];for(var _0x32809e=_0x544ba4;_0x32809e>0x1;_0x32809e--)_0x379d61*=_0x32809e;return _0x4663b3[_0x544ba4]=_0x379d61,_0x379d61;};}(),'CatmullRom':function(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e,_0x1ea0cc){var _0x478824=0.5*(_0x379d61-_0x4663b3),_0x5b2ec1=0.5*(_0x32809e-_0x544ba4),_0x5dfa35=_0x1ea0cc*_0x1ea0cc;return(0x2*_0x544ba4-0x2*_0x379d61+_0x478824+_0x5b2ec1)*(_0x1ea0cc*_0x5dfa35)+(-0x3*_0x544ba4+0x3*_0x379d61-0x2*_0x478824-_0x5b2ec1)*_0x5dfa35+_0x478824*_0x1ea0cc+_0x544ba4;}}};var _0x105ea6=function(_0x4663b3,_0x544ba4,_0x379d61){var _0x1ea0cc=_0x544ba4 instanceof _0x32809e?_0x544ba4[_0x1a4e('0x179')]():_0x544ba4;for(var _0x478824 in _0x4663b3[_0x1a4e('0x8b5')](),_0x379d61)_0x4663b3[_0x478824]=_0x379d61[_0x478824];var _0x5b2ec1=_0x379d61[_0x1a4e('0x1af')]||{'x':0x0,'y':0x0},_0x5dfa35=[],_0x52bb38=_0x379d61[_0x1a4e('0x4a6')]||_0x379d61[_0x1a4e('0x220')];_0x52bb38?_0x4663b3[_0x1a4e('0x3986')]=_0x1a4e('0x4a2e')+_0x52bb38+_0x1a4e('0x4a2f'):_0x52bb38=0xc;var _0x2bcbe6=_0x379d61['textKey']||_0x1a4e('0xe04');if(_0x379d61[_0x1a4e('0x426c')]||(_0x4663b3[_0x1a4e('0x426c')]=_0x1a4e('0x111')),_0x379d61[_0x1a4e('0x43a0')]||(_0x4663b3[_0x1a4e('0x43a0')]=_0x1a4e('0x4a30')),_0x379d61['avoid'])for(var _0x3cfd84=0x0,_0xb3c392=_0x1ea0cc[_0x1a4e('0x1e')];_0x3cfd84<_0xb3c392;_0x3cfd84++){var _0x402868=(_0x1254dd=_0x1ea0cc[_0x3cfd84][_0x1a4e('0x18')]['_coordinates']||_0x1ea0cc[_0x3cfd84][_0x1a4e('0x18')]['coordinates'])[0x0]+_0x5b2ec1['x'],_0x374bd6=_0x1254dd[0x1]+_0x5b2ec1['y'],_0x2f852e=_0x1ea0cc[_0x3cfd84][_0x2bcbe6],_0x16d203=_0x4663b3['measureText'](_0x2f852e)[_0x1a4e('0x3936')],_0x2d1700=_0x402868-_0x16d203/0x2,_0x377a2e=_0x374bd6-_0x52bb38/0x2,_0x1673fe={'sw':{'x':_0x2d1700,'y':_0x377a2e+_0x52bb38},'ne':{'x':_0x2d1700+_0x16d203,'y':_0x377a2e}};_0xeb7e3b(_0x5dfa35,_0x1673fe)||(_0x5dfa35[_0x1a4e('0x46')](_0x1673fe),_0x2d1700+=_0x16d203/0x2,_0x377a2e+=_0x52bb38/0x2,_0x4663b3[_0x1a4e('0x43a1')](_0x2f852e,_0x2d1700,_0x377a2e));}else for(_0x3cfd84=0x0,_0xb3c392=_0x1ea0cc['length'];_0x3cfd84<_0xb3c392;_0x3cfd84++){var _0x1254dd;_0x402868=(_0x1254dd=_0x1ea0cc[_0x3cfd84][_0x1a4e('0x18')][_0x1a4e('0x2b9')]||_0x1ea0cc[_0x3cfd84]['geometry'][_0x1a4e('0x43')])[0x0]+_0x5b2ec1['x'],_0x374bd6=_0x1254dd[0x1]+_0x5b2ec1['y'],_0x2f852e=_0x1ea0cc[_0x3cfd84][_0x2bcbe6];_0x4663b3['fillText'](_0x2f852e,_0x402868,_0x374bd6);}_0x4663b3[_0x1a4e('0x878')]();},_0x2a3a51=function(_0x4663b3,_0x544ba4,_0x379d61){var _0x1ea0cc=_0x544ba4 instanceof _0x32809e?_0x544ba4[_0x1a4e('0x179')]():_0x544ba4;_0x4663b3[_0x1a4e('0x3dbe')]=_0x1a4e('0x487b'),_0x4663b3[_0x1a4e('0x426c')]='center',_0x4663b3[_0x1a4e('0x43a0')]=_0x1a4e('0x4a30');for(var _0x478824=_0x379d61[_0x1a4e('0x1af')]||{'x':0x0,'y':0x0},_0x5b2ec1=0x0,_0x5dfa35=_0x1ea0cc[_0x1a4e('0x1e')];_0x5b2ec1<_0x5dfa35;_0x5b2ec1++)if(_0x1ea0cc[_0x5b2ec1][_0x1a4e('0x18')]){var _0x52bb38=_0x1ea0cc[_0x5b2ec1][_0x1a4e('0x4a31')]||_0x379d61[_0x1a4e('0x4a31')],_0x2bcbe6=_0x1ea0cc[_0x5b2ec1][_0x1a4e('0x3aeb')]||_0x379d61[_0x1a4e('0x3aeb')],_0x3cfd84=_0x1ea0cc[_0x5b2ec1][_0x1a4e('0x18')][_0x1a4e('0x2b9')]||_0x1ea0cc[_0x5b2ec1][_0x1a4e('0x18')][_0x1a4e('0x43')],_0xb3c392=_0x3cfd84[0x0],_0x402868=_0x3cfd84[0x1];_0x52bb38&&(_0x4663b3[_0x1a4e('0x8b5')](),_0x4663b3['translate'](_0xb3c392,_0x402868),_0x4663b3[_0x1a4e('0x7a3')](_0x52bb38*Math['PI']/0xb4),_0x4663b3['translate'](-_0xb3c392,-_0x402868));var _0x374bd6=_0x379d61[_0x1a4e('0x47b3')]||_0x379d61[_0x1a4e('0x3936')]||_0x2bcbe6[_0x1a4e('0x3936')],_0x2f852e=_0x379d61[_0x1a4e('0x399c')]||_0x379d61[_0x1a4e('0x152')]||_0x2bcbe6[_0x1a4e('0x152')];_0xb3c392=_0xb3c392-_0x374bd6/0x2+_0x478824['x'],_0x402868=_0x402868-_0x2f852e/0x2+_0x478824['y'],_0x379d61['sx']&&_0x379d61['sy']&&_0x379d61[_0x1a4e('0x4a32')]&&_0x379d61[_0x1a4e('0x4a33')]&&_0x379d61['width']&&_0x379d61[_0x1a4e('0x152')]?_0x4663b3[_0x1a4e('0x47c6')](_0x2bcbe6,_0x379d61['sx'],_0x379d61['sy'],_0x379d61['swidth'],_0x379d61[_0x1a4e('0x4a33')],_0xb3c392,_0x402868,_0x374bd6,_0x2f852e):_0x379d61[_0x1a4e('0x3936')]&&_0x379d61[_0x1a4e('0x152')]?_0x4663b3[_0x1a4e('0x47c6')](_0x2bcbe6,_0xb3c392,_0x402868,_0x374bd6,_0x2f852e):_0x4663b3[_0x1a4e('0x47c6')](_0x2bcbe6,_0xb3c392,_0x402868),_0x52bb38&&_0x4663b3[_0x1a4e('0x878')]();}},_0x274c3=function(){function _0x4663b3(_0x4663b3,_0x544ba4){for(var _0x379d61=0x0;_0x379d61<_0x544ba4['length'];_0x379d61++){var _0x32809e=_0x544ba4[_0x379d61];_0x32809e[_0x1a4e('0x1359')]=_0x32809e['enumerable']||!0x1,_0x32809e[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x32809e&&(_0x32809e[_0x1a4e('0x1346')]=!0x0),Object[_0x1a4e('0x2')](_0x4663b3,_0x32809e[_0x1a4e('0x35f')],_0x32809e);}}return function(_0x544ba4,_0x379d61,_0x32809e){return _0x379d61&&_0x4663b3(_0x544ba4[_0x1a4e('0xa')],_0x379d61),_0x32809e&&_0x4663b3(_0x544ba4,_0x32809e),_0x544ba4;};}();_0x1a4e('0x3')!=typeof window&&requestAnimationFrame(function _0x4663b3(_0x544ba4){requestAnimationFrame(_0x4663b3),_0x3e496c['update'](_0x544ba4);});var _0x2aab0e=function(){function _0x4663b3(_0x544ba4,_0x379d61,_0x1ea0cc){(function(_0x4663b3,_0x544ba4){if(!(_0x4663b3 instanceof _0x544ba4))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}(this,_0x4663b3),_0x379d61 instanceof _0x32809e||(_0x379d61=new _0x32809e(_0x379d61)),this[_0x1a4e('0x4810')]=_0x379d61,this[_0x1a4e('0x21')]=_0x544ba4);}return _0x274c3(_0x4663b3,[{'key':_0x1a4e('0x4a34'),'value':function(){return{'globalAlpha':0x1,'globalCompositeOperation':_0x1a4e('0x4a35'),'imageSmoothingEnabled':!0x0,'strokeStyle':'#000000','fillStyle':'#000000','shadowOffsetX':0x0,'shadowOffsetY':0x0,'shadowBlur':0x0,'shadowColor':_0x1a4e('0x4a36'),'lineWidth':0x1,'lineCap':_0x1a4e('0x4a37'),'lineJoin':'miter','miterLimit':0xa,'lineDashOffset':0x0,'font':_0x1a4e('0x4a38'),'textAlign':_0x1a4e('0xc9'),'textBaseline':'alphabetic'};}},{'key':_0x1a4e('0x4820'),'value':function(_0x4663b3){var _0x544ba4=this;if(_0x544ba4[_0x1a4e('0x4a39')]=new _0x52bb38({'maxSize':_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4842')],'minSize':_0x544ba4['options']['minSize'],'gradient':_0x544ba4['options'][_0x1a4e('0x41da')],'max':_0x544ba4['options'][_0x1a4e('0x6c')]||this[_0x1a4e('0x4810')]['getMax'](_0x1a4e('0x389'))}),_0x544ba4[_0x1a4e('0x1a2d')]=new _0x4ca960(_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4851')]),_0x544ba4['choropleth']=new _0x26fe74(_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4851')]),void 0x0===_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4851')]&&_0x544ba4[_0x1a4e('0x1a2d')]['generateByDataSet'](this[_0x1a4e('0x4810')]),void 0x0===_0x544ba4['options'][_0x1a4e('0x4851')]){var _0x379d61=_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x74')]||this[_0x1a4e('0x4810')]['getMin'](_0x1a4e('0x389')),_0x32809e=_0x544ba4[_0x1a4e('0x8dc')]['max']||this[_0x1a4e('0x4810')][_0x1a4e('0x73b')]('count');_0x544ba4['choropleth'][_0x1a4e('0x4a11')](_0x379d61,_0x32809e);}}},{'key':'getLegend','value':function(_0x4663b3){var _0x544ba4=(this[_0x1a4e('0x8dc')]['draw'],this);return _0x1a4e('0x4a39')==_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4827')]||_0x1a4e('0x4a3a')==_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4827')]?this['intensity']['getLegend'](_0x4663b3):_0x1a4e('0x1a2d')==_0x544ba4['options'][_0x1a4e('0x4827')]?this[_0x1a4e('0x1a2d')][_0x1a4e('0x4878')](_0x4663b3):void 0x0;}},{'key':'processData','value':function(_0x4663b3){var _0x544ba4=this,_0x379d61=_0x544ba4[_0x1a4e('0x8dc')]['draw'];if(_0x1a4e('0x1694')==_0x379d61||_0x1a4e('0x4a39')==_0x379d61||_0x1a4e('0x1a2d')==_0x379d61||_0x1a4e('0x4a3b')==_0x379d61||_0x1a4e('0x953')==_0x379d61)for(var _0x32809e=0x0;_0x32809e<_0x4663b3[_0x1a4e('0x1e')];_0x32809e++){var _0x1ea0cc=_0x4663b3[_0x32809e];_0x1a4e('0x1694')==_0x544ba4[_0x1a4e('0x8dc')]['draw']?_0x4663b3[_0x32809e][_0x1a4e('0x4a6')]=_0x544ba4[_0x1a4e('0x4a39')][_0x1a4e('0x30f1')](_0x1ea0cc[_0x1a4e('0x389')]):_0x4663b3[_0x32809e][_0x1a4e('0x4a6')]=void 0x0;var _0x478824=_0x1a4e('0x4872');'LineString'!==_0x4663b3[_0x32809e][_0x1a4e('0x18')][_0x1a4e('0x40')]&&_0x1a4e('0x3df3')!==_0x544ba4['options'][_0x1a4e('0x4a3c')]||(_0x478824=_0x1a4e('0x4873')),_0x1a4e('0x4a39')==_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4827')]?_0x4663b3[_0x32809e][_0x478824]=_0x544ba4[_0x1a4e('0x4a39')][_0x1a4e('0x3b40')](_0x1ea0cc['count']):_0x1a4e('0x1a2d')==_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4827')]?_0x4663b3[_0x32809e][_0x478824]=_0x544ba4[_0x1a4e('0x1a2d')][_0x1a4e('0x179')](_0x1ea0cc[_0x1a4e('0x389')]):_0x1a4e('0x4a3b')==_0x544ba4['options'][_0x1a4e('0x4827')]&&(_0x4663b3[_0x32809e][_0x478824]=_0x544ba4['choropleth']['get'](_0x1ea0cc[_0x1a4e('0x389')]));}}},{'key':_0x1a4e('0x481a'),'value':function(){var _0x4663b3=this[_0x1a4e('0x8dc')][_0x1a4e('0x3d21')];return _0x4663b3&&!(!0x1===_0x4663b3[_0x1a4e('0x25e5')]);}},{'key':_0x1a4e('0x4811'),'value':function(_0x4663b3){'heatmap'==_0x4663b3[_0x1a4e('0x4827')]&&_0x4663b3['strokeStyle']&&console[_0x1a4e('0xe3c')]('[heatmap]\x20options.strokeStyle\x20is\x20discard,\x20pleause\x20use\x20options.strength\x20[eg:\x20options.strength\x20=\x200.1]');}},{'key':_0x1a4e('0x4a3d'),'value':function(_0x4663b3,_0x544ba4,_0x379d61,_0x32809e){var _0x1ea0cc=this;switch(_0x1ea0cc[_0x1a4e('0x8dc')][_0x1a4e('0x4827')]){case _0x1a4e('0x4a3a'):_0x2466e0['draw'](_0x4663b3,_0x544ba4,_0x1ea0cc[_0x1a4e('0x8dc')]);break;case _0x1a4e('0x11f'):case _0x1a4e('0x4a3e'):_0x1ea0cc[_0x1a4e('0x8dc')][_0x1a4e('0x1af')]={'x':_0x32809e['x'],'y':_0x32809e['y']},_0x1a4e('0x11f')==_0x1ea0cc[_0x1a4e('0x8dc')][_0x1a4e('0x4827')]?_0x4d4b53[_0x1a4e('0x4827')](_0x4663b3,_0x544ba4,_0x1ea0cc[_0x1a4e('0x8dc')]):_0x12dcf4[_0x1a4e('0x4827')](_0x4663b3,_0x544ba4,_0x1ea0cc[_0x1a4e('0x8dc')]);break;case'text':_0x105ea6(_0x4663b3,_0x544ba4,_0x1ea0cc[_0x1a4e('0x8dc')]);break;case _0x1a4e('0x3aeb'):_0x2a3a51(_0x4663b3,_0x544ba4,_0x1ea0cc['options']);break;case _0x1a4e('0x4a3f'):_0x4663b3['save'](),_0x4663b3[_0x1a4e('0x3dbe')]=_0x1ea0cc[_0x1a4e('0x8dc')]['fillStyle']||_0x1a4e('0x4a40'),_0x4663b3['fillRect'](0x0,0x0,_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x3936')],_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x152')]),_0x49e583[_0x1a4e('0x4827')](_0x4663b3,_0x544ba4,_0x1ea0cc['options']),_0x4663b3[_0x1a4e('0x3dbd')](),_0x3aefac[_0x1a4e('0x4a41')](_0x4663b3,_0x544ba4,_0x1ea0cc[_0x1a4e('0x8dc')]),_0x4663b3[_0x1a4e('0x4a3f')](),_0x39a9bd(_0x4663b3),_0x4663b3['restore']();break;default:_0x1a4e('0x4a42')==_0x1ea0cc[_0x1a4e('0x8dc')][_0x1a4e('0x8cb')]?_0x3ac5ad[_0x1a4e('0x4827')](_0x1ea0cc['canvasLayer'][_0x1a4e('0x3934')][_0x1a4e('0x51c')](_0x1a4e('0x4a42')),_0x544ba4,_0x1ea0cc['options']):_0x49e583[_0x1a4e('0x4827')](_0x4663b3,_0x544ba4,_0x1ea0cc['options']);}}},{'key':_0x1a4e('0x4a43'),'value':function(_0x4663b3,_0x544ba4){_0x4663b3=this[_0x1a4e('0x4813')][_0x1a4e('0x3934')][_0x1a4e('0x51c')](this[_0x1a4e('0x8cb')]);for(var _0x379d61=this['dataSet'][_0x1a4e('0x179')](),_0x32809e=0x0;_0x32809e<_0x379d61['length'];_0x32809e++){_0x4663b3['beginPath'](),_0x3aefac[_0x1a4e('0x4827')](_0x4663b3,_0x379d61[_0x32809e],this[_0x1a4e('0x8dc')]);var _0x1ea0cc=_0x544ba4['x']*this[_0x1a4e('0x4813')][_0x1a4e('0x43c1')],_0x478824=_0x544ba4['y']*this[_0x1a4e('0x4813')]['devicePixelRatio'];if(_0x4663b3['isPointInPath'](_0x1ea0cc,_0x478824)||_0x4663b3['isPointInStroke'](_0x1ea0cc,_0x478824))return _0x379d61[_0x32809e];}}},{'key':'clickEvent','value':function(_0x4663b3,_0x544ba4){var _0x379d61=this[_0x1a4e('0x4a43')](this['getContext'](),_0x4663b3);_0x379d61?this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')][_0x1a4e('0x3829')](_0x379d61,_0x544ba4):this['options'][_0x1a4e('0x481f')]['click'](null,_0x544ba4);}},{'key':_0x1a4e('0x4816'),'value':function(_0x4663b3,_0x544ba4){var _0x379d61=this['isPointInPath'](this['getContext'](),_0x4663b3);_0x379d61?this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')][_0x1a4e('0xec6')](_0x379d61,_0x544ba4):this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')][_0x1a4e('0xec6')](null,_0x544ba4);}},{'key':'update','value':function(_0x4663b3,_0x544ba4){var _0x379d61=this,_0x32809e=_0x4663b3[_0x1a4e('0x8dc')],_0x1ea0cc=_0x379d61[_0x1a4e('0x8dc')];for(var _0x478824 in _0x32809e)_0x1ea0cc[_0x478824]=_0x32809e[_0x478824];_0x379d61[_0x1a4e('0x1fd')](_0x1ea0cc),!0x1!==_0x544ba4&&_0x379d61[_0x1a4e('0x4827')]();}},{'key':_0x1a4e('0x4867'),'value':function(_0x4663b3){this['init'](_0x4663b3),this[_0x1a4e('0x4827')]();}},{'key':_0x1a4e('0x17a'),'value':function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x51c')](),_0x379d61=this[_0x1a4e('0x4a34')]();for(var _0x32809e in _0x379d61)_0x544ba4[_0x32809e]=_0x379d61[_0x32809e];this['init'](_0x4663b3[_0x1a4e('0x8dc')]),this[_0x1a4e('0x4827')]();}},{'key':_0x1a4e('0x139c'),'value':function(){this[_0x1a4e('0x4828')](),this[_0x1a4e('0x3aee')]();}},{'key':_0x1a4e('0x4822'),'value':function(){var _0x4663b3=this,_0x544ba4=_0x4663b3[_0x1a4e('0x8dc')]['animation'];if(_0x1a4e('0x129a')==_0x4663b3[_0x1a4e('0x8dc')][_0x1a4e('0x4827')]||_0x4663b3['isEnabledTime']()){_0x544ba4['stepsRange']||(_0x544ba4[_0x1a4e('0x481b')]={'start':this[_0x1a4e('0x4810')]['getMin'](_0x1a4e('0x129a'))||0x0,'end':this[_0x1a4e('0x4810')][_0x1a4e('0x73b')](_0x1a4e('0x129a'))||0x0}),this[_0x1a4e('0xdb')]={'step':_0x544ba4[_0x1a4e('0x481b')][_0x1a4e('0xc9')]},_0x4663b3[_0x1a4e('0x481d')]=new _0x3e496c[(_0x1a4e('0x3b6d'))](this['steps'])[_0x1a4e('0x3b72')](function(){_0x4663b3[_0x1a4e('0x483c')](this[_0x1a4e('0xbad')]);})[_0x1a4e('0x3b77')](0x1/0x0),this[_0x1a4e('0x4818')]();var _0x379d61=0x3e8*_0x544ba4[_0x1a4e('0x17e')]||0x1388;_0x4663b3[_0x1a4e('0x481d')]['to']({'step':_0x544ba4[_0x1a4e('0x481b')][_0x1a4e('0xca')]},_0x379d61),_0x4663b3[_0x1a4e('0x481d')][_0x1a4e('0xc9')]();}else _0x4663b3[_0x1a4e('0x481d')]&&_0x4663b3['animator'][_0x1a4e('0x127b')]();}},{'key':_0x1a4e('0x4818'),'value':function(){}},{'key':'animatorMovestartEvent','value':function(){var _0x4663b3=this[_0x1a4e('0x8dc')]['animation'];this[_0x1a4e('0x481a')]()&&this[_0x1a4e('0x481d')]&&(this['steps'][_0x1a4e('0xbad')]=_0x4663b3[_0x1a4e('0x481b')]['start'],this[_0x1a4e('0x481d')][_0x1a4e('0x127b')]());}},{'key':_0x1a4e('0x481c'),'value':function(){this[_0x1a4e('0x481a')]()&&this[_0x1a4e('0x481d')]&&this[_0x1a4e('0x481d')][_0x1a4e('0xc9')]();}}]),_0x4663b3;}(),_0x3fa7e1=function(){function _0x4663b3(_0x4663b3,_0x544ba4){for(var _0x379d61=0x0;_0x379d61<_0x544ba4['length'];_0x379d61++){var _0x32809e=_0x544ba4[_0x379d61];_0x32809e[_0x1a4e('0x1359')]=_0x32809e[_0x1a4e('0x1359')]||!0x1,_0x32809e[_0x1a4e('0x135a')]=!0x0,'value'in _0x32809e&&(_0x32809e[_0x1a4e('0x1346')]=!0x0),Object['defineProperty'](_0x4663b3,_0x32809e[_0x1a4e('0x35f')],_0x32809e);}}return function(_0x544ba4,_0x379d61,_0x32809e){return _0x379d61&&_0x4663b3(_0x544ba4[_0x1a4e('0xa')],_0x379d61),_0x32809e&&_0x4663b3(_0x544ba4,_0x32809e),_0x544ba4;};}(),_0x3f73e7=function(_0x4663b3){function _0x544ba4(_0x4663b3,_0x379d61,_0x32809e){!function(_0x4663b3,_0x544ba4){if(!(_0x4663b3 instanceof _0x544ba4))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x544ba4);var _0x1ea0cc=function(_0x4663b3,_0x544ba4){if(!_0x4663b3)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return!_0x544ba4||'object'!=(void 0x0===_0x544ba4?'undefined':_0x5b2ec1(_0x544ba4))&&_0x1a4e('0x68')!=typeof _0x544ba4?_0x4663b3:_0x544ba4;}(this,(_0x544ba4['__proto__']||Object[_0x1a4e('0xd98')](_0x544ba4))['call'](this,_0x4663b3,_0x379d61,_0x32809e));_0x1ea0cc['map']=_0x4663b3,_0x1ea0cc[_0x1a4e('0x8dc')]=_0x32809e||{},_0x1ea0cc[_0x1a4e('0x4810')]=_0x379d61,_0x1ea0cc[_0x1a4e('0x1fd')](_0x32809e);var _0x478824=new _0x4d5b46({'map':_0x4663b3,'update':_0x1ea0cc[_0x1a4e('0x483c')]['bind'](_0x1ea0cc)});_0x1ea0cc[_0x1a4e('0x4813')]=_0x478824,_0x1ea0cc['transferToMercator']();var _0x5dfa35=_0x1ea0cc;return _0x379d61['on'](_0x1a4e('0x1b73'),function(){_0x5dfa35[_0x1a4e('0x4a44')](),_0x478824['draw']();}),_0x1ea0cc[_0x1a4e('0x169f')]=_0x478824[_0x1a4e('0x3934')]['getContext']('2d'),_0x1ea0cc[_0x1a4e('0xc9')](),_0x1ea0cc;}return function(_0x4663b3,_0x544ba4){if('function'!=typeof _0x544ba4&&null!==_0x544ba4)throw new TypeError(_0x1a4e('0x4817')+(void 0x0===_0x544ba4?_0x1a4e('0x3'):_0x5b2ec1(_0x544ba4)));_0x4663b3[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x544ba4&&_0x544ba4[_0x1a4e('0xa')],{'constructor':{'value':_0x4663b3,'enumerable':!0x1,'writable':!0x0,'configurable':!0x0}}),_0x544ba4&&(Object[_0x1a4e('0xe4a')]?Object[_0x1a4e('0xe4a')](_0x4663b3,_0x544ba4):_0x4663b3['__proto__']=_0x544ba4);}(_0x544ba4,_0x2aab0e),_0x3fa7e1(_0x544ba4,[{'key':_0x1a4e('0x1fd'),'value':function(_0x4663b3){var _0x544ba4=this;_0x544ba4[_0x1a4e('0x8dc')]=_0x4663b3,this['initDataRange'](_0x4663b3),this[_0x1a4e('0x8cb')]=_0x544ba4[_0x1a4e('0x8dc')]['context']||'2d',_0x544ba4[_0x1a4e('0x8dc')]['zIndex']&&this[_0x1a4e('0x4813')]&&this[_0x1a4e('0x4813')]['setZIndex'](_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x3eeb')]),_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x6c')]&&this[_0x1a4e('0x4a39')][_0x1a4e('0x4874')](_0x544ba4['options'][_0x1a4e('0x6c')]),_0x544ba4['options'][_0x1a4e('0x74')]&&this[_0x1a4e('0x4a39')][_0x1a4e('0x4a45')](_0x544ba4[_0x1a4e('0x8dc')]['min']),this[_0x1a4e('0x4822')]();}},{'key':_0x1a4e('0x4a44'),'value':function(){var _0x4663b3=this[_0x1a4e('0x21')][_0x1a4e('0x4a46')]()[_0x1a4e('0x4a47')]();if(_0x1a4e('0x4a48')!==this[_0x1a4e('0x8dc')][_0x1a4e('0x4a49')]){var _0x544ba4=this[_0x1a4e('0x4810')][_0x1a4e('0x179')]();_0x544ba4=this[_0x1a4e('0x4810')][_0x1a4e('0x486a')](_0x544ba4,function(_0x544ba4){var _0x379d61=_0x4663b3[_0x1a4e('0x4a4a')]({'lng':_0x544ba4[0x0],'lat':_0x544ba4[0x1]});return[_0x379d61['x'],_0x379d61['y']];},_0x1a4e('0x43'),'coordinates_mercator'),this[_0x1a4e('0x4810')][_0x1a4e('0x15b2')](_0x544ba4);}}},{'key':'_canvasUpdate','value':function(){var _0x4663b3=this[_0x1a4e('0x169f')];if(_0x4663b3){var _0x544ba4=this['map'],_0x379d61=Math[_0x1a4e('0x8e')](0x2,0x12-_0x544ba4[_0x1a4e('0x4a4b')]()),_0x32809e=_0x544ba4[_0x1a4e('0x4a46')]()[_0x1a4e('0x4a47')]()[_0x1a4e('0x4a4a')](_0x544ba4[_0x1a4e('0x4a21')]()),_0x1ea0cc=new BMap['Pixel'](_0x32809e['x']-_0x544ba4['getSize']()[_0x1a4e('0x3936')]/0x2*_0x379d61,_0x32809e['y']+_0x544ba4[_0x1a4e('0x30f1')]()[_0x1a4e('0x152')]/0x2*_0x379d61);_0x39a9bd(_0x4663b3);var _0x478824={'fromColumn':_0x1a4e('0x4a48')==this[_0x1a4e('0x8dc')][_0x1a4e('0x4a49')]?_0x1a4e('0x43'):_0x1a4e('0x4a4c'),'transferCoordinate':function(_0x4663b3){if(_0x4663b3)return[(_0x4663b3[0x0]-_0x1ea0cc['x'])/_0x379d61,(_0x1ea0cc['y']-_0x4663b3[0x1])/_0x379d61];}};this['data']=this[_0x1a4e('0x4810')][_0x1a4e('0x179')](_0x478824),this[_0x1a4e('0x4a4d')](this[_0x1a4e('0x7f')]),this[_0x1a4e('0x4a4e')]();}}},{'key':_0x1a4e('0x4a4e'),'value':function(){var _0x4663b3=this['ctx'],_0x544ba4=this['data'];if(_0x544ba4){_0x4663b3[_0x1a4e('0x8b5')](),_0x4663b3[_0x1a4e('0x4823')]=_0x1a4e('0x4824'),_0x4663b3['fillStyle']=_0x1a4e('0x4a4f'),_0x4663b3[_0x1a4e('0x3dde')](0x0,0x0,_0x4663b3[_0x1a4e('0x3934')]['width'],_0x4663b3[_0x1a4e('0x3934')]['height']),_0x4663b3[_0x1a4e('0x878')](),_0x4663b3[_0x1a4e('0x8b5')](),this[_0x1a4e('0x8dc')][_0x1a4e('0x4846')]&&(_0x4663b3['shadowColor']=this['options'][_0x1a4e('0x4846')]),this['options'][_0x1a4e('0x4845')]&&(_0x4663b3[_0x1a4e('0x4845')]=this[_0x1a4e('0x8dc')]['shadowBlur']),this['options'][_0x1a4e('0x47c5')]&&(_0x4663b3[_0x1a4e('0x47c5')]=this[_0x1a4e('0x8dc')][_0x1a4e('0x47c5')]),this['options'][_0x1a4e('0x4823')]&&(_0x4663b3[_0x1a4e('0x4823')]=this[_0x1a4e('0x8dc')][_0x1a4e('0x4823')]);for(var _0x379d61=this[_0x1a4e('0x8dc')],_0x32809e=0x0;_0x32809e<_0x544ba4[_0x1a4e('0x1e')];_0x32809e++)if('Point'===_0x544ba4[_0x32809e][_0x1a4e('0x18')][_0x1a4e('0x40')]){_0x4663b3[_0x1a4e('0x3dbd')]();var _0x1ea0cc=_0x544ba4[_0x32809e][_0x1a4e('0x220')]||this[_0x1a4e('0x8dc')][_0x1a4e('0x220')],_0x478824=_0x544ba4[_0x32809e][_0x1a4e('0x4843')]||this['options'][_0x1a4e('0x4843')]||0x0;void 0x0===_0x544ba4[_0x32809e][_0x1a4e('0x4a6')]&&(_0x544ba4[_0x32809e][_0x1a4e('0x4a6')]=_0x478824),_0x4663b3['arc'](_0x544ba4[_0x32809e]['geometry'][_0x1a4e('0x2b9')][0x0],_0x544ba4[_0x32809e]['geometry'][_0x1a4e('0x2b9')][0x1],_0x544ba4[_0x32809e]['_size'],0x0,0x2*Math['PI'],!0x0),_0x4663b3[_0x1a4e('0x439e')](),_0x544ba4[_0x32809e][_0x1a4e('0x4a6')]++,_0x544ba4[_0x32809e][_0x1a4e('0x4a6')]>_0x1ea0cc&&(_0x544ba4[_0x32809e][_0x1a4e('0x4a6')]=_0x478824),_0x4663b3[_0x1a4e('0x4191')]=0x1,_0x4663b3[_0x1a4e('0x3df0')]=_0x544ba4[_0x32809e]['strokeStyle']||_0x544ba4[_0x32809e][_0x1a4e('0x4873')]||_0x379d61[_0x1a4e('0x3df0')]||'yellow',_0x4663b3[_0x1a4e('0x3df3')](),(_0x2bcbe6=_0x544ba4[_0x32809e][_0x1a4e('0x3dbe')]||_0x544ba4[_0x32809e]['_fillStyle']||_0x379d61[_0x1a4e('0x3dbe')])&&(_0x4663b3['fillStyle']=_0x2bcbe6,_0x4663b3[_0x1a4e('0x22c')]());}else if('LineString'===_0x544ba4[_0x32809e][_0x1a4e('0x18')][_0x1a4e('0x40')]){_0x4663b3[_0x1a4e('0x3dbd')]();var _0x5b2ec1=_0x544ba4[_0x32809e][_0x1a4e('0x220')]||this[_0x1a4e('0x8dc')][_0x1a4e('0x220')]||0x5;_0x478824=_0x544ba4[_0x32809e]['minSize']||this[_0x1a4e('0x8dc')][_0x1a4e('0x4843')]||0x0;void 0x0===_0x544ba4[_0x32809e][_0x1a4e('0x528')]&&(_0x544ba4[_0x32809e][_0x1a4e('0x528')]=0x0);var _0x5dfa35=_0x544ba4[_0x32809e][_0x1a4e('0x528')];_0x4663b3['arc'](_0x544ba4[_0x32809e][_0x1a4e('0x18')][_0x1a4e('0x2b9')][_0x5dfa35][0x0],_0x544ba4[_0x32809e][_0x1a4e('0x18')][_0x1a4e('0x2b9')][_0x5dfa35][0x1],_0x5b2ec1,0x0,0x2*Math['PI'],!0x0),_0x4663b3[_0x1a4e('0x439e')](),_0x544ba4[_0x32809e][_0x1a4e('0x528')]++,_0x544ba4[_0x32809e]['_index']>=_0x544ba4[_0x32809e][_0x1a4e('0x18')]['_coordinates'][_0x1a4e('0x1e')]&&(_0x544ba4[_0x32809e]['_index']=0x0),_0x4663b3[_0x1a4e('0x4191')]=_0x379d61[_0x1a4e('0x4191')]||0x1;var _0x52bb38=_0x544ba4[_0x32809e][_0x1a4e('0x3df0')]||_0x379d61[_0x1a4e('0x3df0')],_0x2bcbe6=_0x544ba4[_0x32809e][_0x1a4e('0x3dbe')]||_0x379d61[_0x1a4e('0x3dbe')]||_0x1a4e('0x3735');_0x4663b3[_0x1a4e('0x3dbe')]=_0x2bcbe6,_0x4663b3[_0x1a4e('0x22c')](),_0x52bb38&&(_0x4663b3[_0x1a4e('0x3df0')]=_0x52bb38,_0x4663b3[_0x1a4e('0x3df3')]());}_0x4663b3[_0x1a4e('0x878')]();}}},{'key':_0x1a4e('0x45f8'),'value':function(){this[_0x1a4e('0x4a4e')]();var _0x4663b3=this[_0x1a4e('0x8dc')][_0x1a4e('0x4a50')]||0x64;this[_0x1a4e('0x4a51')]=setTimeout(this[_0x1a4e('0x45f8')][_0x1a4e('0x945')](this),_0x4663b3);}},{'key':_0x1a4e('0xc9'),'value':function(){this[_0x1a4e('0x127b')](),this[_0x1a4e('0x45f8')]();}},{'key':_0x1a4e('0x127b'),'value':function(){clearTimeout(this[_0x1a4e('0x4a51')]);}},{'key':_0x1a4e('0x4828'),'value':function(){}},{'key':'hide','value':function(){this[_0x1a4e('0x4813')][_0x1a4e('0x3aee')](),this[_0x1a4e('0x127b')]();}},{'key':_0x1a4e('0x3a23'),'value':function(){this[_0x1a4e('0xc9')]();}}]),_0x544ba4;}(),_0x25e89b=function(){function _0x4663b3(_0x4663b3,_0x544ba4){for(var _0x379d61=0x0;_0x379d61<_0x544ba4[_0x1a4e('0x1e')];_0x379d61++){var _0x32809e=_0x544ba4[_0x379d61];_0x32809e[_0x1a4e('0x1359')]=_0x32809e[_0x1a4e('0x1359')]||!0x1,_0x32809e['configurable']=!0x0,_0x1a4e('0x255')in _0x32809e&&(_0x32809e[_0x1a4e('0x1346')]=!0x0),Object['defineProperty'](_0x4663b3,_0x32809e[_0x1a4e('0x35f')],_0x32809e);}}return function(_0x544ba4,_0x379d61,_0x32809e){return _0x379d61&&_0x4663b3(_0x544ba4['prototype'],_0x379d61),_0x32809e&&_0x4663b3(_0x544ba4,_0x32809e),_0x544ba4;};}(),_0x2f79f7=function _0x4663b3(_0x544ba4,_0x379d61,_0x32809e){null===_0x544ba4&&(_0x544ba4=Function[_0x1a4e('0xa')]);var _0x1ea0cc=Object[_0x1a4e('0x12fc')](_0x544ba4,_0x379d61);if(void 0x0===_0x1ea0cc){var _0x478824=Object['getPrototypeOf'](_0x544ba4);return null===_0x478824?void 0x0:_0x4663b3(_0x478824,_0x379d61,_0x32809e);}if(_0x1a4e('0x255')in _0x1ea0cc)return _0x1ea0cc['value'];var _0x5b2ec1=_0x1ea0cc[_0x1a4e('0x179')];return void 0x0!==_0x5b2ec1?_0x5b2ec1[_0x1a4e('0x1')](_0x32809e):void 0x0;},_0x124803=function(_0x4663b3){function _0x544ba4(_0x4663b3,_0x379d61,_0x32809e){!function(_0x4663b3,_0x544ba4){if(!(_0x4663b3 instanceof _0x544ba4))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x544ba4);var _0x1ea0cc=function(_0x4663b3,_0x544ba4){if(!_0x4663b3)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return!_0x544ba4||'object'!=(void 0x0===_0x544ba4?_0x1a4e('0x3'):_0x5b2ec1(_0x544ba4))&&_0x1a4e('0x68')!=typeof _0x544ba4?_0x4663b3:_0x544ba4;}(this,(_0x544ba4['__proto__']||Object['getPrototypeOf'](_0x544ba4))[_0x1a4e('0x1')](this,_0x4663b3,_0x379d61,_0x32809e)),_0x478824=_0x1ea0cc;_0x32809e=_0x32809e||{},_0x478824[_0x1a4e('0x1fd')](_0x32809e),_0x478824[_0x1a4e('0x4811')](_0x32809e),_0x478824[_0x1a4e('0x4a44')]();var _0x5dfa35=_0x1ea0cc['canvasLayer']=new _0x4d5b46({'map':_0x4663b3,'context':_0x1ea0cc[_0x1a4e('0x8cb')],'paneName':_0x32809e['paneName'],'mixBlendMode':_0x32809e[_0x1a4e('0x4854')],'enableMassClear':_0x32809e['enableMassClear'],'zIndex':_0x32809e[_0x1a4e('0x3eeb')],'update':function(){_0x478824[_0x1a4e('0x483c')]();}});return _0x379d61['on'](_0x1a4e('0x1b73'),function(){_0x478824[_0x1a4e('0x4a44')](),_0x5dfa35[_0x1a4e('0x4827')]();}),_0x1ea0cc[_0x1a4e('0x4815')]=_0x1ea0cc[_0x1a4e('0x4815')][_0x1a4e('0x945')](_0x1ea0cc),_0x1ea0cc[_0x1a4e('0x4816')]=_0x1ea0cc[_0x1a4e('0x4816')][_0x1a4e('0x945')](_0x1ea0cc),_0x1ea0cc['bindEvent'](),_0x1ea0cc;}return function(_0x4663b3,_0x544ba4){if('function'!=typeof _0x544ba4&&null!==_0x544ba4)throw new TypeError(_0x1a4e('0x4817')+(void 0x0===_0x544ba4?'undefined':_0x5b2ec1(_0x544ba4)));_0x4663b3['prototype']=Object[_0x1a4e('0x7')](_0x544ba4&&_0x544ba4['prototype'],{'constructor':{'value':_0x4663b3,'enumerable':!0x1,'writable':!0x0,'configurable':!0x0}}),_0x544ba4&&(Object['setPrototypeOf']?Object[_0x1a4e('0xe4a')](_0x4663b3,_0x544ba4):_0x4663b3[_0x1a4e('0x295')]=_0x544ba4);}(_0x544ba4,_0x2aab0e),_0x25e89b(_0x544ba4,[{'key':'clickEvent','value':function(_0x4663b3){var _0x379d61=_0x4663b3[_0x1a4e('0x4a52')];_0x2f79f7(_0x544ba4[_0x1a4e('0xa')][_0x1a4e('0x295')]||Object[_0x1a4e('0xd98')](_0x544ba4['prototype']),_0x1a4e('0x4815'),this)[_0x1a4e('0x1')](this,_0x379d61,_0x4663b3);}},{'key':_0x1a4e('0x4816'),'value':function(_0x4663b3){var _0x379d61=_0x4663b3[_0x1a4e('0x4a52')];_0x2f79f7(_0x544ba4['prototype'][_0x1a4e('0x295')]||Object[_0x1a4e('0xd98')](_0x544ba4['prototype']),_0x1a4e('0x4816'),this)[_0x1a4e('0x1')](this,_0x379d61,_0x4663b3);}},{'key':'bindEvent','value':function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x21')];this[_0x1a4e('0x8dc')]['methods']&&(this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')][_0x1a4e('0x3829')]&&(_0x544ba4[_0x1a4e('0x4a53')](_0x1a4e('0x8')),_0x544ba4[_0x1a4e('0xec5')](_0x1a4e('0x3829'),this[_0x1a4e('0x4815')])),this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')][_0x1a4e('0xec6')]&&_0x544ba4[_0x1a4e('0xec5')](_0x1a4e('0xec6'),this[_0x1a4e('0x4816')]));}},{'key':_0x1a4e('0x4828'),'value':function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x21')];this[_0x1a4e('0x8dc')]['methods']&&(this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')][_0x1a4e('0x3829')]&&_0x544ba4['removeEventListener']('click',this[_0x1a4e('0x4815')]),this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')][_0x1a4e('0xec6')]&&_0x544ba4[_0x1a4e('0xec2')](_0x1a4e('0xec6'),this[_0x1a4e('0x4816')]));}},{'key':_0x1a4e('0x4a44'),'value':function(){var _0x4663b3=this['map']['getMapType']()[_0x1a4e('0x4a47')]();if(_0x1a4e('0x4a48')!==this['options'][_0x1a4e('0x4a49')]){var _0x544ba4=this[_0x1a4e('0x4810')][_0x1a4e('0x179')]();_0x544ba4=this[_0x1a4e('0x4810')][_0x1a4e('0x486a')](_0x544ba4,function(_0x544ba4){var _0x379d61=_0x4663b3[_0x1a4e('0x4a4a')]({'lng':_0x544ba4[0x0],'lat':_0x544ba4[0x1]});return[_0x379d61['x'],_0x379d61['y']];},_0x1a4e('0x43'),_0x1a4e('0x4a4c')),this[_0x1a4e('0x4810')][_0x1a4e('0x15b2')](_0x544ba4);}}},{'key':_0x1a4e('0x51c'),'value':function(){return this[_0x1a4e('0x4813')]['canvas'][_0x1a4e('0x51c')](this[_0x1a4e('0x8cb')]);}},{'key':_0x1a4e('0x483c'),'value':function(_0x4663b3){if(this[_0x1a4e('0x4813')]){var _0x544ba4=this,_0x379d61=_0x544ba4['options'][_0x1a4e('0x3d21')],_0x32809e=this['canvasLayer'][_0x1a4e('0x4856')],_0x1ea0cc=Math['pow'](0x2,0x12-_0x32809e[_0x1a4e('0x4a4b')]()),_0x478824=_0x32809e['getMapType']()[_0x1a4e('0x4a47')]()[_0x1a4e('0x4a4a')](_0x32809e['getCenter']()),_0x5b2ec1=new BMap[(_0x1a4e('0x4a54'))](_0x478824['x']-_0x32809e[_0x1a4e('0x30f1')]()[_0x1a4e('0x3936')]/0x2*_0x1ea0cc,_0x478824['y']+_0x32809e[_0x1a4e('0x30f1')]()[_0x1a4e('0x152')]/0x2*_0x1ea0cc),_0x5dfa35=this[_0x1a4e('0x51c')]();if(_0x544ba4['isEnabledTime']()){if(void 0x0===_0x4663b3)return void _0x39a9bd(_0x5dfa35);'2d'==this[_0x1a4e('0x8cb')]&&(_0x5dfa35[_0x1a4e('0x8b5')](),_0x5dfa35[_0x1a4e('0x4823')]='destination-out',_0x5dfa35['fillStyle']=_0x1a4e('0x4a4f'),_0x5dfa35[_0x1a4e('0x3dde')](0x0,0x0,_0x5dfa35['canvas'][_0x1a4e('0x3936')],_0x5dfa35[_0x1a4e('0x3934')][_0x1a4e('0x152')]),_0x5dfa35['restore']());}else _0x39a9bd(_0x5dfa35);if('2d'==this['context'])for(var _0x52bb38 in _0x544ba4[_0x1a4e('0x8dc')])_0x5dfa35[_0x52bb38]=_0x544ba4[_0x1a4e('0x8dc')][_0x52bb38];else _0x5dfa35[_0x1a4e('0xb5')](_0x5dfa35[_0x1a4e('0x4825')]);if(!(_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4a55')]&&_0x32809e[_0x1a4e('0x4a4b')]()<_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4a55')]||_0x544ba4['options'][_0x1a4e('0x4a56')]&&_0x32809e[_0x1a4e('0x4a4b')]()>_0x544ba4['options'][_0x1a4e('0x4a56')])){var _0x2bcbe6=0x1;'2d'!=this[_0x1a4e('0x8cb')]&&(_0x2bcbe6=this[_0x1a4e('0x4813')][_0x1a4e('0x43c1')]);var _0x3cfd84={'fromColumn':'bd09mc'==_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4a49')]?'coordinates':_0x1a4e('0x4a4c'),'transferCoordinate':function(_0x4663b3){return[(_0x4663b3[0x0]-_0x5b2ec1['x'])/_0x1ea0cc*_0x2bcbe6,(_0x5b2ec1['y']-_0x4663b3[0x1])/_0x1ea0cc*_0x2bcbe6];}};void 0x0!==_0x4663b3&&(_0x3cfd84[_0x1a4e('0xd9')]=function(_0x544ba4){var _0x32809e=_0x379d61[_0x1a4e('0x4a57')]||0xa;return!!(_0x4663b3&&_0x544ba4[_0x1a4e('0x129a')]>_0x4663b3-_0x32809e&&_0x544ba4[_0x1a4e('0x129a')]<_0x4663b3);});var _0xb3c392=_0x544ba4['dataSet']['get'](_0x3cfd84);this[_0x1a4e('0x4a4d')](_0xb3c392);var _0x402868=_0x32809e[_0x1a4e('0x4a58')](new BMap[(_0x1a4e('0x17'))](0x0,0x0));'m'==_0x544ba4['options'][_0x1a4e('0x397f')]?(_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x220')]&&(_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4a6')]=_0x544ba4['options'][_0x1a4e('0x220')]/_0x1ea0cc),_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x3936')]&&(_0x544ba4['options'][_0x1a4e('0x47b3')]=_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x3936')]/_0x1ea0cc),_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x152')]&&(_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x399c')]=_0x544ba4['options'][_0x1a4e('0x152')]/_0x1ea0cc)):(_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4a6')]=_0x544ba4[_0x1a4e('0x8dc')]['size'],_0x544ba4['options'][_0x1a4e('0x399c')]=_0x544ba4[_0x1a4e('0x8dc')]['height'],_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x47b3')]=_0x544ba4[_0x1a4e('0x8dc')]['width']),this[_0x1a4e('0x4a3d')](_0x5dfa35,_0xb3c392,_0x544ba4[_0x1a4e('0x8dc')],_0x402868),_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4a59')]&&_0x544ba4[_0x1a4e('0x8dc')]['updateCallback'](_0x4663b3);}}}},{'key':_0x1a4e('0x1fd'),'value':function(_0x4663b3){var _0x544ba4=this;_0x544ba4[_0x1a4e('0x8dc')]=_0x4663b3,this['initDataRange'](_0x4663b3),this[_0x1a4e('0x8cb')]=_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x8cb')]||'2d',_0x544ba4['options'][_0x1a4e('0x3eeb')]&&this[_0x1a4e('0x4813')]&&this[_0x1a4e('0x4813')][_0x1a4e('0x4821')](_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x3eeb')]),_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x6c')]&&this['intensity'][_0x1a4e('0x4874')](_0x544ba4['options'][_0x1a4e('0x6c')]),_0x544ba4[_0x1a4e('0x8dc')]['min']&&this[_0x1a4e('0x4a39')][_0x1a4e('0x4a45')](_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x74')]),this[_0x1a4e('0x4822')]();}},{'key':_0x1a4e('0x4818'),'value':function(){this[_0x1a4e('0x21')][_0x1a4e('0xec5')](_0x1a4e('0x4a5a'),this[_0x1a4e('0x4819')]['bind'](this)),this[_0x1a4e('0x21')]['addEventListener'](_0x1a4e('0x4a5b'),this[_0x1a4e('0x481c')][_0x1a4e('0x945')](this));}},{'key':_0x1a4e('0x3a23'),'value':function(){this[_0x1a4e('0x21')][_0x1a4e('0x4a23')](this['canvasLayer']);}},{'key':_0x1a4e('0x3aee'),'value':function(){this['map'][_0x1a4e('0x4a5c')](this[_0x1a4e('0x4813')]);}},{'key':_0x1a4e('0x4827'),'value':function(){this[_0x1a4e('0x4813')][_0x1a4e('0x4827')]();}}]),_0x544ba4;}(),_0x1854cf=_0x1a4e('0x3')==typeof window?{}:window;_0x1854cf['google']&&_0x1854cf[_0x1a4e('0x4a5d')]['maps']&&(_0x1650e9['prototype']=new google[(_0x1a4e('0x4a5e'))][(_0x1a4e('0x4a5f'))](),_0x1650e9[_0x1a4e('0x485b')]=_0x1a4e('0x4a60'),_0x1650e9[_0x1a4e('0x4a61')]=function(){for(var _0x4663b3=document[_0x1a4e('0xe3d')]('div'),_0x544ba4=[_0x1a4e('0x93'),_0x1a4e('0x4a62'),_0x1a4e('0x4a63'),_0x1a4e('0x4a64'),_0x1a4e('0x4a65')],_0x379d61=0x0;_0x379d61<_0x544ba4[_0x1a4e('0x1e')];_0x379d61++){var _0x32809e=_0x544ba4[_0x379d61];if(void 0x0!==_0x4663b3[_0x1a4e('0x375c')][_0x32809e])return _0x32809e;}return _0x544ba4[0x0];}(),_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4a66')]=_0x1854cf[_0x1a4e('0x4a67')]||_0x1854cf['webkitRequestAnimationFrame']||_0x1854cf[_0x1a4e('0x4a68')]||_0x1854cf[_0x1a4e('0x4a69')]||_0x1854cf[_0x1a4e('0x4a6a')]||function(_0x4663b3){return _0x1854cf['setTimeout'](_0x4663b3,0x3e8/0x3c);},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4a6b')]=_0x1854cf[_0x1a4e('0x4a6c')]||_0x1854cf[_0x1a4e('0x4a6d')]||_0x1854cf[_0x1a4e('0x4a6e')]||_0x1854cf[_0x1a4e('0x4a6f')]||_0x1854cf[_0x1a4e('0x4a70')]||function(_0x4663b3){},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4867')]=function(_0x4663b3){void 0x0!==_0x4663b3[_0x1a4e('0x45f8')]&&this[_0x1a4e('0x4a71')](_0x4663b3[_0x1a4e('0x45f8')]),void 0x0!==_0x4663b3[_0x1a4e('0x4852')]&&this[_0x1a4e('0x4a72')](_0x4663b3[_0x1a4e('0x4852')]),void 0x0!==_0x4663b3[_0x1a4e('0x4a73')]&&this['setUpdateHandler'](_0x4663b3[_0x1a4e('0x4a73')]),void 0x0!==_0x4663b3['resizeHandler']&&this[_0x1a4e('0x4a74')](_0x4663b3[_0x1a4e('0x4a75')]),void 0x0!==_0x4663b3[_0x1a4e('0x4a76')]&&this[_0x1a4e('0x4a77')](_0x4663b3[_0x1a4e('0x4a76')]),void 0x0!==_0x4663b3[_0x1a4e('0x21')]&&this[_0x1a4e('0x4a78')](_0x4663b3[_0x1a4e('0x21')]);},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4a71')]=function(_0x4663b3){this[_0x1a4e('0x4859')]=!!_0x4663b3,this['isAnimated_']&&this[_0x1a4e('0x4a79')]();},_0x1650e9[_0x1a4e('0xa')]['isAnimated']=function(){return this[_0x1a4e('0x4859')];},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4a72')]=function(_0x4663b3){this['paneName_']=_0x4663b3,this[_0x1a4e('0x4a7a')]();},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4a7b')]=function(){return this[_0x1a4e('0x485a')];},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4a7a')]=function(){if(this[_0x1a4e('0x4858')]){var _0x4663b3=this[_0x1a4e('0x4a7c')]();if(!_0x4663b3[this[_0x1a4e('0x485a')]])throw new Error('\x22'+this[_0x1a4e('0x485a')]+'\x22\x20is\x20not\x20a\x20valid\x20MapPane\x20name.');_0x4663b3[this[_0x1a4e('0x485a')]]['appendChild'](this[_0x1a4e('0x3934')]);}},_0x1650e9['prototype'][_0x1a4e('0x4a74')]=function(_0x4663b3){this[_0x1a4e('0x4a7d')]=_0x4663b3;},_0x1650e9['prototype'][_0x1a4e('0x4a77')]=function(_0x4663b3){_0x1a4e('0x3d')==typeof _0x4663b3&&(this['resolutionScale_']=_0x4663b3,this['resize_']());},_0x1650e9['prototype'][_0x1a4e('0x4a7e')]=function(_0x4663b3){this[_0x1a4e('0x4a7f')]=_0x4663b3;},_0x1650e9['prototype'][_0x1a4e('0x4a80')]=function(){this['isAdded_']||(this[_0x1a4e('0x4858')]=!0x0,this[_0x1a4e('0x4a7a')](),this[_0x1a4e('0x485e')]=google['maps'][_0x1a4e('0x333c')][_0x1a4e('0xd9c')](this[_0x1a4e('0x4a81')](),_0x1a4e('0x3817'),this['resizeFunction_']),this['centerListener_']=google['maps'][_0x1a4e('0x333c')]['addListener'](this[_0x1a4e('0x4a81')](),'center_changed',this[_0x1a4e('0x4864')]),this[_0x1a4e('0x4a82')](),this[_0x1a4e('0x4865')]());},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4a83')]=function(){this['isAdded_']&&(this[_0x1a4e('0x4858')]=!0x1,this[_0x1a4e('0x485c')]=null,this['canvas'][_0x1a4e('0x39c8')][_0x1a4e('0x12c5')](this['canvas']),this['centerListener_']&&(google[_0x1a4e('0x4a5e')][_0x1a4e('0x333c')]['removeListener'](this[_0x1a4e('0x485d')]),this[_0x1a4e('0x485d')]=null),this[_0x1a4e('0x485e')]&&(google['maps'][_0x1a4e('0x333c')][_0x1a4e('0xda0')](this[_0x1a4e('0x485e')]),this[_0x1a4e('0x485e')]=null),this[_0x1a4e('0x4860')]&&(this['cancelAnimFrame_'][_0x1a4e('0x1')](_0x1854cf,this[_0x1a4e('0x4860')]),this[_0x1a4e('0x4860')]=null));},_0x1650e9[_0x1a4e('0xa')]['resize_']=function(){if(this[_0x1a4e('0x4858')]){var _0x4663b3=this['getMap'](),_0x544ba4=_0x4663b3['getDiv']()[_0x1a4e('0x39c9')],_0x379d61=_0x4663b3['getDiv']()[_0x1a4e('0x4359')],_0x32809e=_0x544ba4*this[_0x1a4e('0x4863')],_0x1ea0cc=_0x379d61*this['resolutionScale_'],_0x478824=this[_0x1a4e('0x3934')][_0x1a4e('0x3936')],_0x5b2ec1=this['canvas']['height'];_0x478824===_0x32809e&&_0x5b2ec1===_0x1ea0cc||(this[_0x1a4e('0x3934')]['width']=_0x32809e,this[_0x1a4e('0x3934')][_0x1a4e('0x152')]=_0x1ea0cc,this['needsResize_']=!0x0,this['scheduleUpdate']()),this[_0x1a4e('0x4861')]===_0x544ba4&&this[_0x1a4e('0x4862')]===_0x379d61||(this[_0x1a4e('0x4861')]=_0x544ba4,this[_0x1a4e('0x4862')]=_0x379d61,this[_0x1a4e('0x3934')][_0x1a4e('0x375c')]['width']=_0x544ba4+'px',this[_0x1a4e('0x3934')][_0x1a4e('0x375c')]['height']=_0x379d61+'px');}},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4827')]=function(){this['repositionCanvas_']();},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4865')]=function(){var _0x4663b3=this['getMap'](),_0x544ba4=_0x4663b3['getBounds']()[_0x1a4e('0x4a84')]()['lat'](),_0x379d61=_0x4663b3[_0x1a4e('0x4a21')](),_0x32809e=Math[_0x1a4e('0x8e')](0x2,_0x4663b3[_0x1a4e('0x4a4b')]()),_0x1ea0cc=_0x379d61[_0x1a4e('0x4850')]()-0xb4*this[_0x1a4e('0x4861')]/(0x100*_0x32809e);this[_0x1a4e('0x485c')]=new google[(_0x1a4e('0x4a5e'))]['LatLng'](_0x544ba4,_0x1ea0cc);var _0x478824=this['getProjection']()[_0x1a4e('0x4a85')](_0x379d61),_0x5b2ec1=-Math[_0x1a4e('0x2a')](this[_0x1a4e('0x4861')]/0x2-_0x478824['x']),_0x5dfa35=-Math[_0x1a4e('0x2a')](this[_0x1a4e('0x4862')]/0x2-_0x478824['y']);this[_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1650e9[_0x1a4e('0x4a61')]]=_0x1a4e('0x435c')+_0x5b2ec1+_0x1a4e('0x435d')+_0x5dfa35+_0x1a4e('0x4a86'),this['scheduleUpdate']();},_0x1650e9['prototype'][_0x1a4e('0x4a87')]=function(){this[_0x1a4e('0x4860')]=null,this[_0x1a4e('0x4858')]&&(this[_0x1a4e('0x4859')]&&this[_0x1a4e('0x4a79')](),this['needsResize_']&&this[_0x1a4e('0x4a7d')]&&(this[_0x1a4e('0x485f')]=!0x1,this[_0x1a4e('0x4a7d')]()),this['updateHandler_']&&this[_0x1a4e('0x4a7f')]());},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4a88')]=function(){return this[_0x1a4e('0x485c')];},_0x1650e9[_0x1a4e('0xa')][_0x1a4e('0x4a79')]=function(){this[_0x1a4e('0x4858')]&&!this[_0x1a4e('0x4860')]&&(this[_0x1a4e('0x4860')]=this[_0x1a4e('0x4a66')]['call'](_0x1854cf,this[_0x1a4e('0x4866')]));});var _0x4ca790=function(){function _0x4663b3(_0x4663b3,_0x544ba4){for(var _0x379d61=0x0;_0x379d61<_0x544ba4['length'];_0x379d61++){var _0x32809e=_0x544ba4[_0x379d61];_0x32809e[_0x1a4e('0x1359')]=_0x32809e[_0x1a4e('0x1359')]||!0x1,_0x32809e[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x32809e&&(_0x32809e[_0x1a4e('0x1346')]=!0x0),Object[_0x1a4e('0x2')](_0x4663b3,_0x32809e['key'],_0x32809e);}}return function(_0x544ba4,_0x379d61,_0x32809e){return _0x379d61&&_0x4663b3(_0x544ba4[_0x1a4e('0xa')],_0x379d61),_0x32809e&&_0x4663b3(_0x544ba4,_0x32809e),_0x544ba4;};}(),_0x4875b1=function _0x4663b3(_0x544ba4,_0x379d61,_0x32809e){null===_0x544ba4&&(_0x544ba4=Function[_0x1a4e('0xa')]);var _0x1ea0cc=Object[_0x1a4e('0x12fc')](_0x544ba4,_0x379d61);if(void 0x0===_0x1ea0cc){var _0x478824=Object['getPrototypeOf'](_0x544ba4);return null===_0x478824?void 0x0:_0x4663b3(_0x478824,_0x379d61,_0x32809e);}if(_0x1a4e('0x255')in _0x1ea0cc)return _0x1ea0cc['value'];var _0x5b2ec1=_0x1ea0cc[_0x1a4e('0x179')];return void 0x0!==_0x5b2ec1?_0x5b2ec1[_0x1a4e('0x1')](_0x32809e):void 0x0;},_0x762dfb=function(_0x4663b3){function _0x544ba4(_0x4663b3,_0x379d61,_0x32809e){!function(_0x4663b3,_0x544ba4){if(!(_0x4663b3 instanceof _0x544ba4))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x544ba4);var _0x1ea0cc=function(_0x4663b3,_0x544ba4){if(!_0x4663b3)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return!_0x544ba4||_0x1a4e('0x85')!=(void 0x0===_0x544ba4?_0x1a4e('0x3'):_0x5b2ec1(_0x544ba4))&&_0x1a4e('0x68')!=typeof _0x544ba4?_0x4663b3:_0x544ba4;}(this,(_0x544ba4[_0x1a4e('0x295')]||Object[_0x1a4e('0xd98')](_0x544ba4))[_0x1a4e('0x1')](this,_0x4663b3,_0x379d61,_0x32809e)),_0x478824=_0x1ea0cc;_0x32809e=_0x32809e||{},_0x478824[_0x1a4e('0x1fd')](_0x32809e),_0x478824['argCheck'](_0x32809e);var _0x5dfa35={'map':_0x4663b3,'animate':!0x1,'updateHandler':function(){_0x478824['_canvasUpdate']();},'resolutionScale':resolutionScale};return _0x1ea0cc[_0x1a4e('0x4813')]=new _0x1650e9(_0x5dfa35),_0x1ea0cc[_0x1a4e('0x4815')]=_0x1ea0cc[_0x1a4e('0x4815')]['bind'](_0x1ea0cc),_0x1ea0cc[_0x1a4e('0x4816')]=_0x1ea0cc[_0x1a4e('0x4816')][_0x1a4e('0x945')](_0x1ea0cc),_0x1ea0cc[_0x1a4e('0x481e')](),_0x1ea0cc;}return function(_0x4663b3,_0x544ba4){if(_0x1a4e('0x68')!=typeof _0x544ba4&&null!==_0x544ba4)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function,\x20not\x20'+(void 0x0===_0x544ba4?_0x1a4e('0x3'):_0x5b2ec1(_0x544ba4)));_0x4663b3[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x544ba4&&_0x544ba4[_0x1a4e('0xa')],{'constructor':{'value':_0x4663b3,'enumerable':!0x1,'writable':!0x0,'configurable':!0x0}}),_0x544ba4&&(Object[_0x1a4e('0xe4a')]?Object[_0x1a4e('0xe4a')](_0x4663b3,_0x544ba4):_0x4663b3[_0x1a4e('0x295')]=_0x544ba4);}(_0x544ba4,_0x2aab0e),_0x4ca790(_0x544ba4,[{'key':_0x1a4e('0x4815'),'value':function(_0x4663b3){var _0x379d61=_0x4663b3[_0x1a4e('0x4a52')];_0x4875b1(_0x544ba4[_0x1a4e('0xa')][_0x1a4e('0x295')]||Object[_0x1a4e('0xd98')](_0x544ba4[_0x1a4e('0xa')]),_0x1a4e('0x4815'),this)[_0x1a4e('0x1')](this,_0x379d61,_0x4663b3);}},{'key':_0x1a4e('0x4816'),'value':function(_0x4663b3){var _0x379d61=_0x4663b3['pixel'];_0x4875b1(_0x544ba4[_0x1a4e('0xa')][_0x1a4e('0x295')]||Object['getPrototypeOf'](_0x544ba4['prototype']),'mousemoveEvent',this)['call'](this,_0x379d61,_0x4663b3);}},{'key':'bindEvent','value':function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x21')];this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')]&&(this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')][_0x1a4e('0x3829')]&&(_0x544ba4[_0x1a4e('0x4a53')]('default'),_0x544ba4['addListener'](_0x1a4e('0x3829'),this['clickEvent'])),this['options'][_0x1a4e('0x481f')]['mousemove']&&_0x544ba4['addListener'](_0x1a4e('0xec6'),this['mousemoveEvent']));}},{'key':_0x1a4e('0x4828'),'value':function(_0x4663b3){var _0x544ba4=this[_0x1a4e('0x21')];this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')]&&(this['options'][_0x1a4e('0x481f')][_0x1a4e('0x3829')]&&_0x544ba4[_0x1a4e('0xda0')](_0x1a4e('0x3829'),this['clickEvent']),this[_0x1a4e('0x8dc')][_0x1a4e('0x481f')][_0x1a4e('0xec6')]&&_0x544ba4['removeListener'](_0x1a4e('0xec6'),this[_0x1a4e('0x4816')]));}},{'key':'getContext','value':function(){return this[_0x1a4e('0x4813')][_0x1a4e('0x3934')][_0x1a4e('0x51c')](this[_0x1a4e('0x8cb')]);}},{'key':'_canvasUpdate','value':function(_0x4663b3){if(this[_0x1a4e('0x4813')]){var _0x544ba4=this,_0x379d61=_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x3d21')],_0x1ea0cc=this[_0x1a4e('0x51c')]();if(_0x544ba4['isEnabledTime']()){if(void 0x0===_0x4663b3)return void _0x39a9bd(_0x1ea0cc);'2d'==this[_0x1a4e('0x8cb')]&&(_0x1ea0cc[_0x1a4e('0x8b5')](),_0x1ea0cc['globalCompositeOperation']=_0x1a4e('0x4824'),_0x1ea0cc[_0x1a4e('0x3dbe')]='rgba(0,\x200,\x200,\x20.1)',_0x1ea0cc[_0x1a4e('0x3dde')](0x0,0x0,_0x1ea0cc[_0x1a4e('0x3934')][_0x1a4e('0x3936')],_0x1ea0cc[_0x1a4e('0x3934')][_0x1a4e('0x152')]),_0x1ea0cc[_0x1a4e('0x878')]());}else _0x39a9bd(_0x1ea0cc);if('2d'==this[_0x1a4e('0x8cb')])for(var _0x478824 in _0x544ba4[_0x1a4e('0x8dc')])_0x1ea0cc[_0x478824]=_0x544ba4[_0x1a4e('0x8dc')][_0x478824];else _0x1ea0cc['clear'](_0x1ea0cc[_0x1a4e('0x4825')]);if(!(_0x544ba4[_0x1a4e('0x8dc')]['minZoom']&&_0x5dfa35[_0x1a4e('0x4a4b')]()<_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4a55')]||_0x544ba4[_0x1a4e('0x8dc')]['maxZoom']&&_0x5dfa35[_0x1a4e('0x4a4b')]()>_0x544ba4['options']['maxZoom'])){var _0x5b2ec1=0x1;'2d'!=this[_0x1a4e('0x8cb')]&&(_0x5b2ec1=this[_0x1a4e('0x4813')][_0x1a4e('0x43c1')]);var _0x5dfa35=this['map'],_0x52bb38=_0x5dfa35[_0x1a4e('0x4a47')](),_0x2bcbe6=(_0x5b2ec1=Math[_0x1a4e('0x8e')](0x2,_0x5dfa35[_0x1a4e('0x4a17')])*resolutionScale,_0x52bb38[_0x1a4e('0x4a89')](this['canvasLayer']['getTopLeft']())),_0x3cfd84={'transferCoordinate':function(_0x4663b3){var _0x544ba4=new google[(_0x1a4e('0x4a5e'))][(_0x1a4e('0x4a8a'))](_0x4663b3[0x1],_0x4663b3[0x0]),_0x379d61=_0x52bb38[_0x1a4e('0x4a89')](_0x544ba4),_0x32809e={'x':(_0x379d61['x']-_0x2bcbe6['x'])*_0x5b2ec1,'y':(_0x379d61['y']-_0x2bcbe6['y'])*_0x5b2ec1};return[_0x32809e['x'],_0x32809e['y']];}};void 0x0!==_0x4663b3&&(_0x3cfd84[_0x1a4e('0xd9')]=function(_0x544ba4){var _0x32809e=_0x379d61[_0x1a4e('0x4a57')]||0xa;return!!(_0x4663b3&&_0x544ba4['time']>_0x4663b3-_0x32809e&&_0x544ba4[_0x1a4e('0x129a')]<_0x4663b3);});var _0xb3c392=_0x544ba4[_0x1a4e('0x4810')][_0x1a4e('0x179')](_0x3cfd84);this[_0x1a4e('0x4a4d')](_0xb3c392);var _0x402868=new google[(_0x1a4e('0x4a5e'))][(_0x1a4e('0x4a8a'))](0x0,0x0),_0x374bd6=_0x52bb38[_0x1a4e('0x4a89')](_0x402868),_0x2f852e={'x':(_0x374bd6['x']-_0x2bcbe6['x'])*_0x5b2ec1,'y':(_0x374bd6['y']-_0x2bcbe6['y'])*_0x5b2ec1};'m'==_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x397f')]&&_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x220')]?_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4a6')]=_0x544ba4[_0x1a4e('0x8dc')]['size']/zoomUnit:_0x544ba4[_0x1a4e('0x8dc')]['_size']=_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x220')],this[_0x1a4e('0x4a3d')](_0x1ea0cc,new _0x32809e(_0xb3c392),_0x544ba4[_0x1a4e('0x8dc')],_0x2f852e),_0x544ba4[_0x1a4e('0x8dc')]['updateCallback']&&_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x4a59')](_0x4663b3);}}}},{'key':_0x1a4e('0x1fd'),'value':function(_0x4663b3){var _0x544ba4=this;_0x544ba4[_0x1a4e('0x8dc')]=_0x4663b3,this['initDataRange'](_0x4663b3),this[_0x1a4e('0x8cb')]=_0x544ba4[_0x1a4e('0x8dc')][_0x1a4e('0x8cb')]||'2d',_0x544ba4['options']['zIndex']&&this[_0x1a4e('0x4813')]&&this[_0x1a4e('0x4813')][_0x1a4e('0x4821')](_0x544ba4['options'][_0x1a4e('0x3eeb')]),this['initAnimator']();}},{'key':_0x1a4e('0x4818'),'value':function(){this['map'][_0x1a4e('0xd9c')](_0x1a4e('0x4a5a'),this[_0x1a4e('0x4819')][_0x1a4e('0x945')](this)),this[_0x1a4e('0x21')][_0x1a4e('0xd9c')](_0x1a4e('0x4a5b'),this[_0x1a4e('0x481c')][_0x1a4e('0x945')](this));}},{'key':_0x1a4e('0x3a23'),'value':function(){this[_0x1a4e('0x21')]['addOverlay'](this['canvasLayer']);}},{'key':_0x1a4e('0x3aee'),'value':function(){this[_0x1a4e('0x21')][_0x1a4e('0x4a5c')](this['canvasLayer']);}},{'key':_0x1a4e('0x4827'),'value':function(){self[_0x1a4e('0x4813')][_0x1a4e('0x4827')]();}}]),_0x544ba4;}(),_0x2488b6={'getDataSet':function(_0x4663b3){for(var _0x544ba4=[],_0x379d61=_0x4663b3[_0x1a4e('0x25')],_0x1ea0cc=0x0;_0x1ea0cc<_0x379d61[_0x1a4e('0x1e')];_0x1ea0cc++){var _0x478824=_0x379d61[_0x1ea0cc],_0x5b2ec1=_0x478824['geometry'],_0x5dfa35=_0x478824[_0x1a4e('0x13')],_0x52bb38={};for(var _0x2bcbe6 in _0x5dfa35)_0x52bb38[_0x2bcbe6]=_0x5dfa35[_0x2bcbe6];_0x52bb38[_0x1a4e('0x18')]=_0x5b2ec1,_0x544ba4['push'](_0x52bb38);}return new _0x32809e(_0x544ba4);}},_0x5d76f4={'CSVToArray':function(_0x4663b3,_0x544ba4){_0x544ba4=_0x544ba4||',';for(var _0x379d61=new RegExp('(\x5c'+_0x544ba4+_0x1a4e('0x4a8b')+_0x544ba4+_0x1a4e('0x4a8c'),'gi'),_0x32809e=[[]],_0x1ea0cc=null;_0x1ea0cc=_0x379d61['exec'](_0x4663b3);){var _0x478824,_0x5b2ec1=_0x1ea0cc[0x1];_0x5b2ec1[_0x1a4e('0x1e')]&&_0x5b2ec1!==_0x544ba4&&_0x32809e[_0x1a4e('0x46')]([]),_0x478824=_0x1ea0cc[0x2]?_0x1ea0cc[0x2][_0x1a4e('0x115')](new RegExp('\x22\x22','g'),'\x22'):_0x1ea0cc[0x3],_0x32809e[_0x32809e[_0x1a4e('0x1e')]-0x1][_0x1a4e('0x46')](_0x478824);}return _0x32809e;},'getDataSet':function(_0x4663b3){for(var _0x544ba4=this[_0x1a4e('0x4a8d')](_0x4663b3,','),_0x379d61=[],_0x1ea0cc=_0x544ba4[0x0],_0x478824=0x1;_0x478824<_0x544ba4['length']-0x1;_0x478824++){for(var _0x5b2ec1=_0x544ba4[_0x478824],_0x5dfa35={},_0x52bb38=0x0;_0x52bb38<_0x5b2ec1[_0x1a4e('0x1e')];_0x52bb38++){var _0x2bcbe6=_0x5b2ec1[_0x52bb38];_0x1a4e('0x18')==_0x1ea0cc[_0x52bb38]&&(_0x2bcbe6=JSON['parse'](_0x2bcbe6)),_0x5dfa35[_0x1ea0cc[_0x52bb38]]=_0x2bcbe6;}_0x379d61['push'](_0x5dfa35);}return new _0x32809e(_0x379d61);}};_0x4663b3['version']='2.0.14',_0x4663b3['canvasClear']=_0x39a9bd,_0x4663b3['canvasResolutionScale']=function(_0x4663b3){var _0x544ba4=window[_0x1a4e('0x43c1')]||0x1;_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x3936')]=_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x3936')]*_0x544ba4,_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x152')]=_0x4663b3['canvas'][_0x1a4e('0x152')]*_0x544ba4,_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x3936')]=_0x4663b3[_0x1a4e('0x3934')]['width']/_0x544ba4+'px',_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x152')]=_0x4663b3[_0x1a4e('0x3934')][_0x1a4e('0x152')]/_0x544ba4+'px',_0x4663b3[_0x1a4e('0x143')](_0x544ba4,_0x544ba4);},_0x4663b3['canvasDrawSimple']=_0x49e583,_0x4663b3['canvasDrawHeatmap']=_0x2466e0,_0x4663b3['canvasDrawGrid']=_0x4d4b53,_0x4663b3[_0x1a4e('0x4a8e')]=_0x12dcf4,_0x4663b3[_0x1a4e('0x4a8f')]=_0x3ac5ad,_0x4663b3[_0x1a4e('0x4a90')]=_0x5ec408,_0x4663b3[_0x1a4e('0x4a91')]=_0x13a8a7,_0x4663b3[_0x1a4e('0x4a92')]=_0x42d424,_0x4663b3['utilCityCenter']=_0x58e56b,_0x4663b3[_0x1a4e('0x4a93')]=_0x322e42,_0x4663b3[_0x1a4e('0x4a94')]=function(){function _0x4663b3(_0x4663b3){return{'x':_0x1673fe[_0x4663b3['target']]['x']-_0x1673fe[_0x4663b3['source']]['x'],'y':_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]['y']-_0x1673fe[_0x4663b3['source']]['y']};}function _0x544ba4(_0x4663b3){return Math[_0x1a4e('0x91')](Math[_0x1a4e('0x8e')](_0x1673fe[_0x4663b3['source']]['x']-_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]['x'],0x2)+Math[_0x1a4e('0x8e')](_0x1673fe[_0x4663b3[_0x1a4e('0xfaa')]]['y']-_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]['y'],0x2));}function _0x379d61(_0x4663b3){return Math[_0x1a4e('0x91')](Math[_0x1a4e('0x8e')](_0x4663b3['source']['x']-_0x4663b3[_0x1a4e('0xd95')]['x'],0x2)+Math[_0x1a4e('0x8e')](_0x4663b3[_0x1a4e('0xfaa')]['y']-_0x4663b3[_0x1a4e('0xd95')]['y'],0x2));}function _0x32809e(_0x4663b3){return{'x':(_0x1673fe[_0x4663b3[_0x1a4e('0xfaa')]]['x']+_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]['x'])/0x2,'y':(_0x1673fe[_0x4663b3['source']]['y']+_0x1673fe[_0x4663b3['target']]['y'])/0x2};}function _0x1ea0cc(_0x4663b3){for(var _0x544ba4=0x0,_0x379d61=0x1;_0x379d61<_0x547e10[_0x4663b3][_0x1a4e('0x1e')];_0x379d61++)_0x544ba4+=_0x478824(_0x547e10[_0x4663b3][_0x379d61],_0x547e10[_0x4663b3][_0x379d61-0x1]);return _0x544ba4;}function _0x478824(_0x4663b3,_0x544ba4){return Math['sqrt'](Math[_0x1a4e('0x8e')](_0x4663b3['x']-_0x544ba4['x'],0x2)+Math[_0x1a4e('0x8e')](_0x4663b3['y']-_0x544ba4['y'],0x2));}function _0x5b2ec1(_0x4663b3,_0x544ba4){var _0x379d61=Math[_0x1a4e('0x91')]((_0x544ba4['target']['x']-_0x544ba4[_0x1a4e('0xfaa')]['x'])*(_0x544ba4['target']['x']-_0x544ba4['source']['x'])+(_0x544ba4[_0x1a4e('0xd95')]['y']-_0x544ba4[_0x1a4e('0xfaa')]['y'])*(_0x544ba4[_0x1a4e('0xd95')]['y']-_0x544ba4[_0x1a4e('0xfaa')]['y'])),_0x32809e=((_0x544ba4['source']['y']-_0x4663b3['y'])*(_0x544ba4[_0x1a4e('0xfaa')]['y']-_0x544ba4[_0x1a4e('0xd95')]['y'])-(_0x544ba4['source']['x']-_0x4663b3['x'])*(_0x544ba4[_0x1a4e('0xd95')]['x']-_0x544ba4['source']['x']))/(_0x379d61*_0x379d61);return{'x':_0x544ba4[_0x1a4e('0xfaa')]['x']+_0x32809e*(_0x544ba4['target']['x']-_0x544ba4[_0x1a4e('0xfaa')]['x']),'y':_0x544ba4[_0x1a4e('0xfaa')]['y']+_0x32809e*(_0x544ba4[_0x1a4e('0xd95')]['y']-_0x544ba4[_0x1a4e('0xfaa')]['y'])};}function _0x5dfa35(_0x4663b3){for(var _0x544ba4=[],_0x379d61=0x0;_0x379d61<_0x4663b3[_0x1a4e('0x1e')];_0x379d61++)_0x1673fe[_0x4663b3[_0x379d61][_0x1a4e('0xfaa')]]['x']!=_0x1673fe[_0x4663b3[_0x379d61]['target']]['x']&&_0x1673fe[_0x4663b3[_0x379d61][_0x1a4e('0xfaa')]]['y']!=_0x1673fe[_0x4663b3[_0x379d61]['target']]['y']&&_0x544ba4[_0x1a4e('0x46')](_0x4663b3[_0x379d61]);return _0x544ba4;}function _0x52bb38(_0x4663b3,_0x544ba4,_0x379d61){var _0x32809e=_0x547e10[_0x4663b3][_0x544ba4-0x1],_0x1ea0cc=_0x547e10[_0x4663b3][_0x544ba4+0x1],_0x478824=_0x547e10[_0x4663b3][_0x544ba4],_0x5b2ec1=_0x32809e['x']-_0x478824['x']+_0x1ea0cc['x']-_0x478824['x'],_0x5dfa35=_0x32809e['y']-_0x478824['y']+_0x1ea0cc['y']-_0x478824['y'];return{'x':_0x5b2ec1*=_0x379d61,'y':_0x5dfa35*=_0x379d61};}function _0x2bcbe6(_0x4663b3,_0x544ba4,_0x32809e){for(var _0x1ea0cc={'x':0x0,'y':0x0},_0x478824=_0x3739b0[_0x4663b3],_0x5b2ec1=0x0;_0x5b2ec1<_0x478824['length'];_0x5b2ec1++){var _0x5dfa35={'x':_0x547e10[_0x478824[_0x5b2ec1]][_0x544ba4]['x']-_0x547e10[_0x4663b3][_0x544ba4]['x'],'y':_0x547e10[_0x478824[_0x5b2ec1]][_0x544ba4]['y']-_0x547e10[_0x4663b3][_0x544ba4]['y']};if(Math[_0x1a4e('0x65')](_0x5dfa35['x'])>_0x5b6979||Math[_0x1a4e('0x65')](_0x5dfa35['y'])>_0x5b6979){var _0x52bb38=0x1/Math[_0x1a4e('0x8e')](_0x379d61({'source':_0x547e10[_0x478824[_0x5b2ec1]][_0x544ba4],'target':_0x547e10[_0x4663b3][_0x544ba4]}),0x1);_0x1ea0cc['x']+=_0x5dfa35['x']*_0x52bb38,_0x1ea0cc['y']+=_0x5dfa35['y']*_0x52bb38;}}return _0x1ea0cc;}function _0x3cfd84(_0x4663b3,_0x379d61,_0x32809e){for(var _0x1ea0cc=_0x30c8a2/(_0x544ba4(_0x1254dd[_0x4663b3])*(_0x379d61+0x1)),_0x478824=[{'x':0x0,'y':0x0}],_0x5b2ec1=0x1;_0x5b2ec1<_0x379d61+0x1;_0x5b2ec1++){var _0x5dfa35={'x':0x0,'y':0x0},_0x3cfd84=_0x52bb38(_0x4663b3,_0x5b2ec1,_0x1ea0cc),_0xb3c392=_0x2bcbe6(_0x4663b3,_0x5b2ec1);_0x5dfa35['x']=_0x32809e*(_0x3cfd84['x']+_0xb3c392['x']),_0x5dfa35['y']=_0x32809e*(_0x3cfd84['y']+_0xb3c392['y']),_0x478824['push'](_0x5dfa35);}return _0x478824[_0x1a4e('0x46')]({'x':0x0,'y':0x0}),_0x478824;}function _0xb3c392(_0x4663b3){for(var _0x544ba4=0x0;_0x544ba4<_0x1254dd['length'];_0x544ba4++)if(0x1==_0x4663b3)_0x547e10[_0x544ba4][_0x1a4e('0x46')](_0x1673fe[_0x1254dd[_0x544ba4]['source']]),_0x547e10[_0x544ba4]['push'](_0x32809e(_0x1254dd[_0x544ba4])),_0x547e10[_0x544ba4][_0x1a4e('0x46')](_0x1673fe[_0x1254dd[_0x544ba4][_0x1a4e('0xd95')]]);else{var _0x379d61=_0x1ea0cc(_0x544ba4)/(_0x4663b3+0x1),_0x5b2ec1=_0x379d61,_0x5dfa35=[];_0x5dfa35[_0x1a4e('0x46')](_0x1673fe[_0x1254dd[_0x544ba4][_0x1a4e('0xfaa')]]);for(var _0x52bb38=0x1;_0x52bb38<_0x547e10[_0x544ba4][_0x1a4e('0x1e')];_0x52bb38++){for(var _0x2bcbe6=_0x478824(_0x547e10[_0x544ba4][_0x52bb38],_0x547e10[_0x544ba4][_0x52bb38-0x1]);_0x2bcbe6>_0x5b2ec1;){var _0x3cfd84=_0x5b2ec1/_0x2bcbe6,_0xb3c392=_0x547e10[_0x544ba4][_0x52bb38-0x1]['x'],_0x402868=_0x547e10[_0x544ba4][_0x52bb38-0x1]['y'];_0xb3c392+=_0x3cfd84*(_0x547e10[_0x544ba4][_0x52bb38]['x']-_0x547e10[_0x544ba4][_0x52bb38-0x1]['x']),_0x402868+=_0x3cfd84*(_0x547e10[_0x544ba4][_0x52bb38]['y']-_0x547e10[_0x544ba4][_0x52bb38-0x1]['y']),_0x5dfa35[_0x1a4e('0x46')]({'x':_0xb3c392,'y':_0x402868}),_0x2bcbe6-=_0x5b2ec1,_0x5b2ec1=_0x379d61;}_0x5b2ec1-=_0x2bcbe6;}_0x5dfa35[_0x1a4e('0x46')](_0x1673fe[_0x1254dd[_0x544ba4][_0x1a4e('0xd95')]]),_0x547e10[_0x544ba4]=_0x5dfa35;}}function _0x402868(_0x379d61,_0x32809e){return Math[_0x1a4e('0x65')](function(_0x4663b3,_0x544ba4){return _0x4663b3['x']*_0x544ba4['x']+_0x4663b3['y']*_0x544ba4['y'];}(_0x4663b3(_0x379d61),_0x4663b3(_0x32809e))/(_0x544ba4(_0x379d61)*_0x544ba4(_0x32809e)));}function _0x374bd6(_0x4663b3,_0x379d61){var _0x32809e=(_0x544ba4(_0x4663b3)+_0x544ba4(_0x379d61))/0x2;return 0x2/(_0x32809e/Math[_0x1a4e('0x74')](_0x544ba4(_0x4663b3),_0x544ba4(_0x379d61))+Math[_0x1a4e('0x6c')](_0x544ba4(_0x4663b3),_0x544ba4(_0x379d61))/_0x32809e);}function _0x2f852e(_0x4663b3,_0x379d61){var _0x32809e=(_0x544ba4(_0x4663b3)+_0x544ba4(_0x379d61))/0x2;return _0x32809e/(_0x32809e+_0x478824({'x':(_0x1673fe[_0x4663b3['source']]['x']+_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]['x'])/0x2,'y':(_0x1673fe[_0x4663b3[_0x1a4e('0xfaa')]]['y']+_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]['y'])/0x2},{'x':(_0x1673fe[_0x379d61[_0x1a4e('0xfaa')]]['x']+_0x1673fe[_0x379d61[_0x1a4e('0xd95')]]['x'])/0x2,'y':(_0x1673fe[_0x379d61['source']]['y']+_0x1673fe[_0x379d61[_0x1a4e('0xd95')]]['y'])/0x2}));}function _0x16d203(_0x4663b3,_0x544ba4){var _0x379d61=_0x5b2ec1(_0x1673fe[_0x544ba4['source']],{'source':_0x1673fe[_0x4663b3[_0x1a4e('0xfaa')]],'target':_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]}),_0x32809e=_0x5b2ec1(_0x1673fe[_0x544ba4['target']],{'source':_0x1673fe[_0x4663b3[_0x1a4e('0xfaa')]],'target':_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]}),_0x1ea0cc={'x':(_0x379d61['x']+_0x32809e['x'])/0x2,'y':(_0x379d61['y']+_0x32809e['y'])/0x2},_0x5dfa35={'x':(_0x1673fe[_0x4663b3[_0x1a4e('0xfaa')]]['x']+_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]['x'])/0x2,'y':(_0x1673fe[_0x4663b3[_0x1a4e('0xfaa')]]['y']+_0x1673fe[_0x4663b3[_0x1a4e('0xd95')]]['y'])/0x2};return Math[_0x1a4e('0x6c')](0x0,0x1-0x2*_0x478824(_0x5dfa35,_0x1ea0cc)/_0x478824(_0x379d61,_0x32809e));}function _0x2d1700(_0x4663b3,_0x544ba4){return _0x402868(_0x4663b3,_0x544ba4)*_0x374bd6(_0x4663b3,_0x544ba4)*_0x2f852e(_0x4663b3,_0x544ba4)*function(_0x4663b3,_0x544ba4){return Math[_0x1a4e('0x74')](_0x16d203(_0x4663b3,_0x544ba4),_0x16d203(_0x544ba4,_0x4663b3));}(_0x4663b3,_0x544ba4);}function _0x377a2e(_0x4663b3,_0x544ba4){return _0x2d1700(_0x4663b3,_0x544ba4)>=_0x5cfcd8;}var _0x1673fe={},_0x1254dd=[],_0x3739b0=[],_0x547e10=[],_0x30c8a2=0.1,_0x4ad32a=0.1,_0x560b20=0x1,_0x1af83b=0x2,_0x174c4f=0x6,_0x1c42da=0x46,_0xa45c5f=0.6666667,_0x5cfcd8=0.6,_0x5b6979=1e-8,_0x2a018e=function(){var _0x4663b3=_0x4ad32a,_0x544ba4=_0x1c42da,_0x379d61=_0x560b20;(function(){for(var _0x4663b3=0x0;_0x4663b3<_0x1254dd[_0x1a4e('0x1e')];_0x4663b3++)0x1==_0x560b20?_0x547e10[_0x4663b3]=[]:(_0x547e10[_0x4663b3]=[],_0x547e10[_0x4663b3]['push'](_0x1673fe[_0x1254dd[_0x4663b3][_0x1a4e('0xfaa')]]),_0x547e10[_0x4663b3][_0x1a4e('0x46')](_0x1673fe[_0x1254dd[_0x4663b3][_0x1a4e('0xd95')]]));}(),function(){for(var _0x4663b3=0x0;_0x4663b3<_0x1254dd[_0x1a4e('0x1e')];_0x4663b3++)_0x3739b0[_0x4663b3]=[];}(),_0xb3c392(_0x379d61),function(){for(var _0x4663b3=0x0;_0x4663b3<_0x1254dd['length']-0x1;_0x4663b3++)for(var _0x544ba4=_0x4663b3+0x1;_0x544ba4<_0x1254dd['length'];_0x544ba4++)_0x4663b3!=_0x544ba4&&_0x377a2e(_0x1254dd[_0x4663b3],_0x1254dd[_0x544ba4])&&(_0x3739b0[_0x4663b3][_0x1a4e('0x46')](_0x544ba4),_0x3739b0[_0x544ba4]['push'](_0x4663b3));}());for(var _0x32809e=0x0;_0x32809e<_0x174c4f;_0x32809e++){for(var _0x1ea0cc=0x0;_0x1ea0cc<_0x544ba4;_0x1ea0cc++){for(var _0x478824=[],_0x5b2ec1=0x0;_0x5b2ec1<_0x1254dd['length'];_0x5b2ec1++)_0x478824[_0x5b2ec1]=_0x3cfd84(_0x5b2ec1,_0x379d61,_0x4663b3);for(var _0x5dfa35=0x0;_0x5dfa35<_0x1254dd[_0x1a4e('0x1e')];_0x5dfa35++)for(var _0x52bb38=0x0;_0x52bb38<_0x379d61+0x1;_0x52bb38++)_0x547e10[_0x5dfa35][_0x52bb38]['x']+=_0x478824[_0x5dfa35][_0x52bb38]['x'],_0x547e10[_0x5dfa35][_0x52bb38]['y']+=_0x478824[_0x5dfa35][_0x52bb38]['y'];}_0x4663b3/=0x2,_0x544ba4*=_0xa45c5f,_0xb3c392(_0x379d61*=0x2);}return _0x547e10;};return _0x2a018e['nodes']=function(_0x4663b3){return 0x0==arguments[_0x1a4e('0x1e')]?_0x1673fe:(_0x1673fe=_0x4663b3,_0x2a018e);},_0x2a018e[_0x1a4e('0xf5')]=function(_0x4663b3){return 0x0==arguments[_0x1a4e('0x1e')]?_0x1254dd:(_0x1254dd=_0x5dfa35(_0x4663b3),_0x2a018e);},_0x2a018e[_0x1a4e('0x4a95')]=function(_0x4663b3){return 0x0==arguments[_0x1a4e('0x1e')]?_0x30c8a2:(_0x30c8a2=_0x4663b3,_0x2a018e);},_0x2a018e[_0x1a4e('0x4a96')]=function(_0x4663b3){return 0x0==arguments['length']?_0x4ad32a:(_0x4ad32a=_0x4663b3,_0x2a018e);},_0x2a018e[_0x1a4e('0x4a97')]=function(_0x4663b3){return 0x0==arguments[_0x1a4e('0x1e')]?_0x174c4f:(_0x174c4f=_0x4663b3,_0x2a018e);},_0x2a018e['iterations']=function(_0x4663b3){return 0x0==arguments['length']?_0x1c42da:(_0x1c42da=_0x4663b3,_0x2a018e);},_0x2a018e[_0x1a4e('0x4a98')]=function(_0x4663b3){return 0x0==arguments['length']?_0xa45c5f:(_0xa45c5f=_0x4663b3,_0x2a018e);},_0x2a018e[_0x1a4e('0x4a99')]=function(_0x4663b3){return 0x0==arguments[_0x1a4e('0x1e')]?P:(P=_0x4663b3,_0x2a018e);},_0x2a018e['subdivision_rate']=function(_0x4663b3){return 0x0==arguments[_0x1a4e('0x1e')]?_0x1af83b:(_0x1af83b=_0x4663b3,_0x2a018e);},_0x2a018e[_0x1a4e('0x4a9a')]=function(_0x4663b3){return 0x0==arguments[_0x1a4e('0x1e')]?compatbility_threshold:(_0x5cfcd8=_0x4663b3,_0x2a018e);},_0x2a018e;},_0x4663b3[_0x1a4e('0x4a9b')]=_0x52bb38,_0x4663b3[_0x1a4e('0x4a9c')]=_0x4ca960,_0x4663b3['utilDataRangeChoropleth']=_0x26fe74,_0x4663b3['Map']=_0x2526ce,_0x4663b3[_0x1a4e('0x4a9d')]=_0x4d5b46,_0x4663b3[_0x1a4e('0x4a9e')]=_0x3f73e7,_0x4663b3[_0x1a4e('0x480f')]=_0x124803,_0x4663b3[_0x1a4e('0x4a9f')]=_0x1650e9,_0x4663b3[_0x1a4e('0x4aa0')]=_0x762dfb,_0x4663b3[_0x1a4e('0x4aa1')]=_0x32809e,_0x4663b3['geojson']=_0x2488b6,_0x4663b3[_0x1a4e('0x4aa2')]=_0x5d76f4,Object['defineProperty'](_0x4663b3,_0x1a4e('0x6'),{'value':!0x0});});}[_0x1a4e('0x1')](this,_0x379d61(_0x1a4e('0x1156'))));},'./src/LayerManager/MassiveLayer/MapV/MapV.ts':function(_0x4254df,_0x5b8f94,_0x289b41){'use strict';_0x289b41['r'](_0x5b8f94),_0x289b41['d'](_0x5b8f94,_0x1a4e('0x3fb7'),function(){return _0x212ce0;}),_0x289b41['d'](_0x5b8f94,_0x1a4e('0x3fb8'),function(){return _0x58cfcd;});var _0x42500e,_0x2279e6=_0x289b41(_0x1a4e('0x4aa3')),_0x136cb3=_0x289b41['n'](_0x2279e6),_0x389d96=_0x289b41(_0x1a4e('0x4053')),_0x514470=_0x289b41('./src/Utils/Util.ts'),_0x1e1005=(_0x42500e=function(_0x4254df,_0x5b8f94){return(_0x42500e=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4254df,_0x5b8f94){_0x4254df['__proto__']=_0x5b8f94;}||function(_0x4254df,_0x5b8f94){for(var _0x289b41 in _0x5b8f94)_0x5b8f94[_0x1a4e('0xb')](_0x289b41)&&(_0x4254df[_0x289b41]=_0x5b8f94[_0x289b41]);})(_0x4254df,_0x5b8f94);},function(_0x4254df,_0x5b8f94){function _0x289b41(){this[_0x1a4e('0x10')]=_0x4254df;}_0x42500e(_0x4254df,_0x5b8f94),_0x4254df['prototype']=null===_0x5b8f94?Object[_0x1a4e('0x7')](_0x5b8f94):(_0x289b41[_0x1a4e('0xa')]=_0x5b8f94[_0x1a4e('0xa')],new _0x289b41());}),_0x30646b=_0x289b41(_0x1a4e('0x480e')),_0x212ce0=function(_0x4254df){function _0x5b8f94(_0x5b8f94){var _0x289b41=_0x4254df[_0x1a4e('0x1')](this)||this;return _0x289b41[_0x1a4e('0x39d5')]=_0x1a4e('0x4aa4'),_0x289b41[_0x1a4e('0x4a93')]={'getPoints':_0x289b41[_0x1a4e('0x4aa5')]},_0x289b41[_0x1a4e('0x4aa6')]={'getCenterByCityName':_0x289b41['_getCenterByCityName'],'getProvinceNameByCityName':_0x289b41[_0x1a4e('0x4aa7')]},_0x289b41[_0x1a4e('0x55')]={'getDataSet':_0x289b41[_0x1a4e('0x4aa8')]},_0x289b41['DataSet']={'add':_0x289b41['_DataSetAdd'],'Reset':_0x289b41[_0x1a4e('0x4aa9')],'get':_0x289b41[_0x1a4e('0x4aaa')],'set':_0x289b41[_0x1a4e('0x4aab')],'clear':_0x289b41[_0x1a4e('0x4aac')],'remove':_0x289b41['_DataSetRemove'],'update':_0x289b41[_0x1a4e('0x4aad')],'transferCoordinate':_0x289b41[_0x1a4e('0x4aae')],'initGeometry':_0x289b41[_0x1a4e('0x4aaf')],'getMax':_0x289b41[_0x1a4e('0x4ab0')],'getSum':_0x289b41['_DataSetGetSum'],'getMin':_0x289b41['_DataSetGetMin'],'getUnique':_0x289b41[_0x1a4e('0x4ab1')]},_0x289b41['_id']=_0x514470[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),_0x289b41[_0x1a4e('0x4ab2')]=null,_0x289b41[_0x1a4e('0x3a24')]=!0x0,_0x289b41[_0x1a4e('0x4ab3')]=_0x5b8f94,_0x289b41;}return _0x1e1005(_0x5b8f94,_0x4254df),Object[_0x1a4e('0x2')](_0x5b8f94[_0x1a4e('0xa')],'show',{'get':function(){return this[_0x1a4e('0x3a24')];},'set':function(_0x4254df){this[_0x1a4e('0x4ab2')]&&(_0x4254df?this['_MapV']['show']():this['_MapV'][_0x1a4e('0x3aee')](),this['_show']=_0x4254df);},'enumerable':!0x0,'configurable':!0x0}),_0x5b8f94['prototype'][_0x1a4e('0x3acd')]=function(_0x4254df){this['_viewer']=_0x4254df,this[_0x1a4e('0x4ab4')]();},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x3acf')]=function(){this[_0x1a4e('0x4ab2')][_0x1a4e('0x139c')]();},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4ab5')]=function(){return this[_0x1a4e('0x4ab3')];},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x5b8f94[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x5b8f94,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3fb7');},'enumerable':!0x0,'configurable':!0x0}),_0x5b8f94['prototype']['toJson']=function(){},_0x5b8f94[_0x1a4e('0xa')]['update']=function(_0x4254df){this[_0x1a4e('0x4ab3')]=_0x4254df,this[_0x1a4e('0x4ab2')]&&this[_0x1a4e('0x3acf')](),this[_0x1a4e('0x4ab4')]();},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x7')]=function(_0x4254df){this[_0x1a4e('0x4ab3')]=_0x4254df;var _0x5b8f94=this[_0x1a4e('0x4ab6')](this[_0x1a4e('0x4ab3')][_0x1a4e('0x7f')]);return this[_0x1a4e('0x4ab2')]=new _0x136cb3['a'](this[_0x1a4e('0x38fa')],_0x5b8f94,this[_0x1a4e('0x4ab3')][_0x1a4e('0x8dc')]);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4ab6')]=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa1'))](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4ab4')]=function(){this[_0x1a4e('0x4ab3')]&&this[_0x1a4e('0x7')](this[_0x1a4e('0x4ab3')]);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4ab7')]=function(_0x4254df,_0x5b8f94){return new _0x30646b[(_0x1a4e('0x4aa1'))][(_0x1a4e('0x177'))](_0x4254df,_0x5b8f94);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4aa9')]=function(){return new _0x30646b[(_0x1a4e('0x4aa1'))][(_0x1a4e('0x138'))]();},_0x5b8f94[_0x1a4e('0xa')]['_DataSetGet']=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa1'))][(_0x1a4e('0x179'))](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4aab')]=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa1'))][(_0x1a4e('0x17a'))](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4aac')]=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa1'))][(_0x1a4e('0xb5'))](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')]['_DataSetRemove']=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa1'))]['remove'](_0x4254df);},_0x5b8f94['prototype'][_0x1a4e('0x4aad')]=function(_0x4254df,_0x5b8f94){return new _0x30646b[(_0x1a4e('0x4aa1'))]['update'](_0x4254df,_0x5b8f94);},_0x5b8f94['prototype']['_DataSetTransferCoordinate']=function(_0x4254df,_0x5b8f94,_0x289b41,_0x42500e){return new _0x30646b[(_0x1a4e('0x4aa1'))]['transferCoordinate'](_0x4254df,_0x5b8f94,_0x289b41,_0x42500e);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4aaf')]=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa1'))]['initGeometry'](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4ab0')]=function(_0x4254df){return new _0x30646b['DataSet'][(_0x1a4e('0x73b'))](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4ab8')]=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa1'))]['getSum'](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4ab9')]=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa1'))]['getMin'](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4ab1')]=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa1'))][(_0x1a4e('0x4aba'))](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')]['_getDataSet']=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x55'))][(_0x1a4e('0x4abb'))](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4aa5')]=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4a93'))][(_0x1a4e('0x66f'))](_0x4254df);},_0x5b8f94[_0x1a4e('0xa')][_0x1a4e('0x4abc')]=function(_0x4254df){var _0x5b8f94=new _0x30646b[(_0x1a4e('0x4aa6'))][(_0x1a4e('0x4abd'))](_0x4254df);return void 0x0===_0x5b8f94[_0x1a4e('0x4850')]?void 0x0:_0x5b8f94;},_0x5b8f94[_0x1a4e('0xa')]['_getProvinceNameByCityName']=function(_0x4254df){return new _0x30646b[(_0x1a4e('0x4aa6'))][(_0x1a4e('0x4abe'))](_0x4254df);},_0x5b8f94;}(_0x389d96[_0x1a4e('0x3aca')]),_0x58cfcd=function(_0x4254df,_0x5b8f94){void 0x0===_0x4254df&&(_0x4254df=[]),void 0x0===_0x5b8f94&&(_0x5b8f94={}),this[_0x1a4e('0x7f')]=_0x4254df,this[_0x1a4e('0x8dc')]=_0x5b8f94;};},'./src/LayerManager/MassiveLayer/MassiveLayer.ts':function(_0x1e7b5d,_0x47adac,_0x1455b7){'use strict';_0x1455b7['r'](_0x47adac),_0x1455b7['d'](_0x47adac,'MassiveLayer',function(){return _0x562bde;});var _0x285e08,_0x4e41b8=_0x1455b7(_0x1a4e('0x3f2c')),_0x1e4a6f=_0x1455b7('./src/Utils/Check.ts'),_0x4cf1bd=(_0x285e08=function(_0x1e7b5d,_0x47adac){return(_0x285e08=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1e7b5d,_0x47adac){_0x1e7b5d[_0x1a4e('0x295')]=_0x47adac;}||function(_0x1e7b5d,_0x47adac){for(var _0x1455b7 in _0x47adac)_0x47adac[_0x1a4e('0xb')](_0x1455b7)&&(_0x1e7b5d[_0x1455b7]=_0x47adac[_0x1455b7]);})(_0x1e7b5d,_0x47adac);},function(_0x1e7b5d,_0x47adac){function _0x1455b7(){this[_0x1a4e('0x10')]=_0x1e7b5d;}_0x285e08(_0x1e7b5d,_0x47adac),_0x1e7b5d[_0x1a4e('0xa')]=null===_0x47adac?Object[_0x1a4e('0x7')](_0x47adac):(_0x1455b7[_0x1a4e('0xa')]=_0x47adac[_0x1a4e('0xa')],new _0x1455b7());}),_0x562bde=function(_0x1e7b5d){function _0x47adac(_0x47adac){var _0x1455b7=_0x1e7b5d[_0x1a4e('0x1')](this)||this;return _0x1455b7[_0x1a4e('0x38fa')]=_0x47adac,_0x1455b7;}return _0x4cf1bd(_0x47adac,_0x1e7b5d),_0x47adac[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x47adac){return _0x1e7b5d['prototype'][_0x1a4e('0x177')]['call'](this,_0x47adac),_0x47adac[_0x1a4e('0x3acd')](this['_viewer']),this[_0x1a4e('0x3ad3')](_0x1a4e('0x177'),_0x47adac),_0x47adac;},_0x47adac[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x47adac){var _0x1455b7;_0x1455b7=_0x1e4a6f[_0x1a4e('0x2bc9')][_0x1a4e('0xb19')](_0x47adac)?_0x47adac:_0x47adac['id'];var _0x285e08=_0x1e7b5d[_0x1a4e('0xa')][_0x1a4e('0x82')]['call'](this,_0x1455b7);if(void 0x0!==_0x285e08)return _0x285e08[_0x1a4e('0x3acf')](),this[_0x1a4e('0x3ad3')]('remove',_0x285e08),_0x285e08;},_0x47adac[_0x1a4e('0xa')][_0x1a4e('0x3acc')]=function(_0x1e7b5d){},_0x47adac;}(_0x4e41b8[_0x1a4e('0x4720')]);},'./src/LayerManager/MassiveLayer/MassiveLines.ts':function(_0x49f9d9,_0x25e9be,_0x46957d){'use strict';_0x46957d['r'](_0x25e9be),_0x46957d['d'](_0x25e9be,'MassiveLines',function(){return _0x21ebfb;}),_0x46957d['d'](_0x25e9be,_0x1a4e('0x3fba'),function(){return _0x550f08;});var _0x5cae5f,_0x96099b=_0x46957d(_0x1a4e('0x4053')),_0x3f975c=_0x46957d(_0x1a4e('0x3999')),_0x46bc4b=(_0x5cae5f=function(_0x49f9d9,_0x25e9be){return(_0x5cae5f=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x49f9d9,_0x25e9be){_0x49f9d9[_0x1a4e('0x295')]=_0x25e9be;}||function(_0x49f9d9,_0x25e9be){for(var _0x46957d in _0x25e9be)_0x25e9be[_0x1a4e('0xb')](_0x46957d)&&(_0x49f9d9[_0x46957d]=_0x25e9be[_0x46957d]);})(_0x49f9d9,_0x25e9be);},function(_0x49f9d9,_0x25e9be){function _0x46957d(){this[_0x1a4e('0x10')]=_0x49f9d9;}_0x5cae5f(_0x49f9d9,_0x25e9be),_0x49f9d9[_0x1a4e('0xa')]=null===_0x25e9be?Object['create'](_0x25e9be):(_0x46957d[_0x1a4e('0xa')]=_0x25e9be['prototype'],new _0x46957d());}),_0x21ebfb=function(_0x49f9d9){function _0x25e9be(_0x25e9be){var _0x46957d=_0x49f9d9[_0x1a4e('0x1')](this)||this;return _0x46957d[_0x1a4e('0x3dd0')]=function(){var _0x49f9d9=_0x46957d[_0x1a4e('0x4abf')]['material'][_0x1a4e('0x3b74')]['offset'];_0x49f9d9<0x7?_0x49f9d9+=0.001*_0x46957d['_speed']:_0x49f9d9=0x0;_0x46957d[_0x1a4e('0x4abf')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x1af')]=_0x49f9d9;},_0x46957d[_0x1a4e('0x515')]=_0x3f975c[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),_0x46957d['_linePrimitive']=null,_0x46957d[_0x1a4e('0x4abf')]=null,_0x46957d[_0x1a4e('0x4ac0')]=[],_0x46957d[_0x1a4e('0x4ac1')]=_0x25e9be[_0x1a4e('0x4ac2')],_0x46957d[_0x1a4e('0x3dcc')]=_0x25e9be['speed'],_0x46957d[_0x1a4e('0x4ac3')]=_0x25e9be[_0x1a4e('0x4ac4')],_0x46957d[_0x1a4e('0x4ac5')]=_0x25e9be[_0x1a4e('0x4ac6')],_0x46957d[_0x1a4e('0x459d')]=_0x25e9be[_0x1a4e('0x40a0')],_0x46957d['_lineWidth']=_0x25e9be[_0x1a4e('0x4191')],_0x46957d;}return _0x46bc4b(_0x25e9be,_0x49f9d9),_0x25e9be['prototype'][_0x1a4e('0x3cc')]=function(){return _0x25e9be[_0x1a4e('0x40')];},Object['defineProperty'](_0x25e9be,_0x1a4e('0x40'),{'get':function(){return'MassiveLines';},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x25e9be[_0x1a4e('0xa')],_0x1a4e('0x4ac7'),{'get':function(){return this[_0x1a4e('0x4ac5')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x25e9be[_0x1a4e('0xa')],_0x1a4e('0x4ac6'),{'set':function(_0x49f9d9){this[_0x1a4e('0x4ac5')]=_0x49f9d9;var _0x25e9be=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this[_0x1a4e('0x4ac5')]);this[_0x1a4e('0x4abf')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x4ac7')]=_0x25e9be;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x25e9be[_0x1a4e('0xa')],_0x1a4e('0x40a0'),{'get':function(){return this[_0x1a4e('0x459d')];},'set':function(_0x49f9d9){this[_0x1a4e('0x459d')]=_0x49f9d9;var _0x25e9be=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this[_0x1a4e('0x459d')]);this[_0x1a4e('0x4abf')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x40a0')]=_0x25e9be;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x25e9be[_0x1a4e('0xa')],'speed',{'get':function(){return this[_0x1a4e('0x3dcc')];},'set':function(_0x49f9d9){this[_0x1a4e('0x3dcc')]=_0x49f9d9;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x25e9be['prototype'],'lineTexture',{'get':function(){return this['_lineTexTure'];},'set':function(_0x49f9d9){this[_0x1a4e('0x4ac3')]=_0x49f9d9,this['_apprence'][_0x1a4e('0x3a41')]['uniforms']['image']=_0x49f9d9;},'enumerable':!0x0,'configurable':!0x0}),_0x25e9be['prototype'][_0x1a4e('0x3acd')]=function(_0x49f9d9){this[_0x1a4e('0x4ac8')]||(this['_viewer']=_0x49f9d9,this[_0x1a4e('0x4ac9')](),this['createMaterial'](),this[_0x1a4e('0x4aca')](),this[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](this[_0x1a4e('0x3dd0')]));},_0x25e9be[_0x1a4e('0xa')][_0x1a4e('0x4ac9')]=function(){for(var _0x49f9d9=this[_0x1a4e('0x4ac1')][_0x1a4e('0x1e')],_0x25e9be=0x0;_0x25e9be<_0x49f9d9;_0x25e9be++){var _0x46957d=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3da9'))]({'positions':Cesium['Cartesian3']['fromDegreesArrayHeights'](this[_0x1a4e('0x4ac1')][_0x25e9be]),'width':this[_0x1a4e('0x4acb')],'arcType':Cesium[_0x1a4e('0x425e')][_0x1a4e('0x24a')],'vertexFormat':Cesium['PolylineMaterialAppearance'][_0x1a4e('0x446d')]})});this[_0x1a4e('0x4ac0')]['push'](_0x46957d);}},_0x25e9be['prototype']['createMaterial']=function(){var _0x49f9d9=Cesium['Color']['fromCssColorString'](this['_animateColor']),_0x25e9be=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this[_0x1a4e('0x459d')]);this[_0x1a4e('0x4abf')]=new Cesium[(_0x1a4e('0x3b81'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'sportColor':_0x49f9d9,'lineColor':_0x25e9be,'image':this['_lineTexTure'],'offset':0x0},'source':this['getMS']()}})});},_0x25e9be['prototype'][_0x1a4e('0x3b43')]=function(){return _0x1a4e('0x4acc');},_0x25e9be[_0x1a4e('0xa')]['drawLines']=function(){this[_0x1a4e('0x3acf')](),this[_0x1a4e('0x4ac8')]=new Cesium['Primitive']({'appearance':this['_apprence'],'geometryInstances':this[_0x1a4e('0x4ac0')],'asynchronous':!0x1}),this['_viewer']['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this['_linePrimitive']);},_0x25e9be[_0x1a4e('0xa')][_0x1a4e('0x3acf')]=function(){this['_linePrimitive']&&(this['_viewer']['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this['_linePrimitive']),this[_0x1a4e('0x4ac8')]=null,this[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x3b3f')][_0x1a4e('0xec2')](this[_0x1a4e('0x3dd0')]));},_0x25e9be;}(_0x96099b['Item']),_0x550f08=function(_0x49f9d9,_0x25e9be,_0x46957d,_0x5cae5f,_0x96099b,_0x3f975c){void 0x0===_0x25e9be&&(_0x25e9be=0x6),void 0x0===_0x46957d&&(_0x46957d=_0x1a4e('0x4acd')),void 0x0===_0x5cae5f&&(_0x5cae5f='#00c0d0'),void 0x0===_0x96099b&&(_0x96099b=_0x1a4e('0x4ace')),void 0x0===_0x3f975c&&(_0x3f975c=0x3),this[_0x1a4e('0x4ac2')]=_0x49f9d9,this[_0x1a4e('0x40e3')]=_0x25e9be,this[_0x1a4e('0x4ac4')]=_0x46957d,this[_0x1a4e('0x4ac6')]=_0x5cae5f,this[_0x1a4e('0x40a0')]=_0x96099b,this[_0x1a4e('0x4191')]=_0x3f975c;};},'./src/LayerManager/MassiveLayer/MassivePoints.ts':function(_0x8044ea,_0x4d78b4,_0x32e36b){'use strict';_0x32e36b['r'](_0x4d78b4),_0x32e36b['d'](_0x4d78b4,_0x1a4e('0x3fbb'),function(){return _0x3632b4;}),_0x32e36b['d'](_0x4d78b4,'PointOption',function(){return _0x4fbae2;}),_0x32e36b['d'](_0x4d78b4,_0x1a4e('0x4acf'),function(){return _0x3ad977;});var _0x3dcd30,_0x22ef3a=_0x32e36b(_0x1a4e('0x4053')),_0x207f93=_0x32e36b(_0x1a4e('0x3999')),_0x4de72d=(_0x3dcd30=function(_0x8044ea,_0x4d78b4){return(_0x3dcd30=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x8044ea,_0x4d78b4){_0x8044ea[_0x1a4e('0x295')]=_0x4d78b4;}||function(_0x8044ea,_0x4d78b4){for(var _0x32e36b in _0x4d78b4)_0x4d78b4[_0x1a4e('0xb')](_0x32e36b)&&(_0x8044ea[_0x32e36b]=_0x4d78b4[_0x32e36b]);})(_0x8044ea,_0x4d78b4);},function(_0x8044ea,_0x4d78b4){function _0x32e36b(){this[_0x1a4e('0x10')]=_0x8044ea;}_0x3dcd30(_0x8044ea,_0x4d78b4),_0x8044ea[_0x1a4e('0xa')]=null===_0x4d78b4?Object[_0x1a4e('0x7')](_0x4d78b4):(_0x32e36b['prototype']=_0x4d78b4[_0x1a4e('0xa')],new _0x32e36b());}),_0x54aef7=function(_0x8044ea){var _0x4d78b4=_0x1a4e('0x68')==typeof Symbol&&_0x8044ea[Symbol[_0x1a4e('0x335')]],_0x32e36b=0x0;return _0x4d78b4?_0x4d78b4[_0x1a4e('0x1')](_0x8044ea):{'next':function(){return _0x8044ea&&_0x32e36b>=_0x8044ea['length']&&(_0x8044ea=void 0x0),{'value':_0x8044ea&&_0x8044ea[_0x32e36b++],'done':!_0x8044ea};}};},_0x3632b4=function(_0x8044ea){function _0x4d78b4(_0x4d78b4,_0x32e36b){var _0x3dcd30=_0x8044ea[_0x1a4e('0x1')](this)||this;return _0x3dcd30['_id']=_0x207f93[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),_0x3dcd30[_0x1a4e('0x4f8')]=_0x4d78b4,_0x3dcd30[_0x1a4e('0x4ad0')]=_0x32e36b,_0x3dcd30[_0x1a4e('0x4ad1')]=[],_0x3dcd30[_0x1a4e('0x4ad2')]=[],_0x3dcd30[_0x1a4e('0x4ad3')]=[],_0x3dcd30[_0x1a4e('0x4571')]=null,_0x3dcd30[_0x1a4e('0x432f')]=null,_0x3dcd30;}return _0x4de72d(_0x4d78b4,_0x8044ea),_0x4d78b4[_0x1a4e('0xa')]['getType']=function(){return _0x4d78b4[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x4d78b4,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x3fbb');},'enumerable':!0x0,'configurable':!0x0}),_0x4d78b4['prototype'][_0x1a4e('0x3acd')]=function(_0x8044ea){if(!this[_0x1a4e('0x4571')]){this['_viewer']=_0x8044ea,this[_0x1a4e('0x4ad4')]();var _0x4d78b4=this[_0x1a4e('0x3e0')](),_0x32e36b=this[_0x1a4e('0x441a')](),_0x3dcd30=this[_0x1a4e('0x441b')](),_0x22ef3a=this[_0x1a4e('0x4418')](_0x32e36b,_0x3dcd30);this[_0x1a4e('0x432f')]=_0x22ef3a,this[_0x1a4e('0x4571')]=_0x8044ea[_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x4d78b4}),'appearance':_0x22ef3a,'asynchronous':!0x1}));}},_0x4d78b4[_0x1a4e('0xa')][_0x1a4e('0x3acf')]=function(){this[_0x1a4e('0x4571')]&&(this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['primitives']['remove'](this[_0x1a4e('0x4571')]),this[_0x1a4e('0x4571')]=null);},_0x4d78b4[_0x1a4e('0xa')]['resolveData']=function(){for(var _0x8044ea=this['_data']['length'],_0x4d78b4=this[_0x1a4e('0x4f8')],_0x32e36b=0x0;_0x32e36b<_0x8044ea;_0x32e36b++){var _0x3dcd30=_0x4d78b4[_0x32e36b][_0x1a4e('0x1a2')],_0x22ef3a=_0x4d78b4[_0x32e36b][_0x1a4e('0x1a1')],_0x207f93=_0x4d78b4[_0x32e36b]['count'],_0x4de72d=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x22ef3a,_0x3dcd30,0.3);this[_0x1a4e('0x4ad2')][_0x1a4e('0x46')](_0x4de72d);var _0x54aef7=this[_0x1a4e('0x4ad5')](_0x207f93);this[_0x1a4e('0x4ad3')][_0x1a4e('0x46')](_0x54aef7);var _0x3632b4=this[_0x1a4e('0x3b40')](_0x207f93);this['_pointColors'][_0x1a4e('0x46')](_0x3632b4[0x0]),this[_0x1a4e('0x4ad1')][_0x1a4e('0x46')](_0x3632b4[0x1]),this[_0x1a4e('0x4ad1')][_0x1a4e('0x46')](_0x3632b4[0x2]),this['_pointColors'][_0x1a4e('0x46')](_0x3632b4[0x3]);}},_0x4d78b4[_0x1a4e('0xa')]['createGeometry']=function(){var _0x8044ea=[],_0x4d78b4=[],_0x32e36b=[],_0x3dcd30=[];if(this[_0x1a4e('0x4ad1')]&&this['_pointColors']['length']===0x4*this[_0x1a4e('0x4ad2')][_0x1a4e('0x1e')]){for(var _0x22ef3a=0x0;_0x22ef3a_0x4de72d[_0x1a4e('0x2dd0')]){_0x3dcd30=_0x4de72d['size'];break;}}}catch(_0x35d997){_0x4d78b4={'error':_0x35d997};}finally{try{_0x207f93&&!_0x207f93[_0x1a4e('0x3c2')]&&(_0x32e36b=_0x22ef3a[_0x1a4e('0xe40')])&&_0x32e36b[_0x1a4e('0x1')](_0x22ef3a);}finally{if(_0x4d78b4)throw _0x4d78b4[_0x1a4e('0x873')];}}return _0x3dcd30;},Object[_0x1a4e('0x2')](_0x4d78b4[_0x1a4e('0xa')],_0x1a4e('0x7f'),{'set':function(_0x8044ea){if(this[_0x1a4e('0x4571')]){this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['primitives']['remove'](this[_0x1a4e('0x4571')]),this[_0x1a4e('0x4f8')]=_0x8044ea,this[_0x1a4e('0x4ad1')]=[],this[_0x1a4e('0x4ad2')]=[],this['_pointSizes']=[],this[_0x1a4e('0x4ad4')]();var _0x4d78b4=this[_0x1a4e('0x3e0')](),_0x32e36b=this[_0x1a4e('0x432f')];this[_0x1a4e('0x4571')]=this[_0x1a4e('0x38fa')]['scene']['primitives'][_0x1a4e('0x177')](new Cesium['Primitive']({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x4d78b4}),'appearance':_0x32e36b,'asynchronous':!0x1}));}},'enumerable':!0x0,'configurable':!0x0}),_0x4d78b4;}(_0x22ef3a['Item']),_0x4fbae2=function(_0x8044ea,_0x4d78b4,_0x32e36b){this[_0x1a4e('0x1a1')]=_0x8044ea,this[_0x1a4e('0x1a2')]=_0x4d78b4,this[_0x1a4e('0x389')]=_0x32e36b;},_0x3ad977=function(_0x8044ea,_0x4d78b4,_0x32e36b,_0x3dcd30,_0x22ef3a){this[_0x1a4e('0x2dd0')]=_0x8044ea,this['r']=_0x4d78b4,this['g']=_0x32e36b,this['b']=_0x3dcd30,this['a']=_0x22ef3a;};},'./src/LayerManager/MassiveLayer/MassivePolygons.ts':function(_0x2e24d1,_0x3f87d5,_0x29aaab){'use strict';_0x29aaab['r'](_0x3f87d5),_0x29aaab['d'](_0x3f87d5,_0x1a4e('0x3fbd'),function(){return _0x4b6ef6;}),_0x29aaab['d'](_0x3f87d5,_0x1a4e('0x3fbe'),function(){return _0x238397;});var _0x429346=_0x29aaab(_0x1a4e('0x3999')),_0x4b6ef6=function(){function _0x2e24d1(_0x2e24d1,_0x3f87d5){void 0x0===_0x3f87d5&&(_0x3f87d5=!0x1),this[_0x1a4e('0x4794')]=_0x2e24d1,this[_0x1a4e('0x4ad7')]=_0x3f87d5,this[_0x1a4e('0x4ad8')]=new Array(),this[_0x1a4e('0x515')]=_0x429346['Util'][_0x1a4e('0x404b')]();}return _0x2e24d1['prototype'][_0x1a4e('0x4ad9')]=function(){for(var _0x2e24d1=this['_dataSource'][_0x1a4e('0x1e')],_0x3f87d5=0x0;_0x3f87d5<_0x2e24d1;_0x3f87d5++){var _0x29aaab=[],_0x429346=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](this[_0x1a4e('0x4794')][_0x3f87d5]['color']);_0x29aaab=this[_0x1a4e('0x4ad7')]?Cesium['Cartesian3'][_0x1a4e('0x3955')](this['_dataSource'][_0x3f87d5][_0x1a4e('0x398a')]):Cesium['Cartesian3']['fromDegreesArray'](this[_0x1a4e('0x4794')][_0x3f87d5][_0x1a4e('0x398a')]);var _0x4b6ef6=new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':new Cesium['PolygonHierarchy'](_0x29aaab),'perPositionHeight':!0x0,'vertexFormat':Cesium['VertexFormat']['POSITION_AND_NORMAL']}),_0x238397=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x4b6ef6,'attributes':{'color':Cesium[_0x1a4e('0x3940')]['fromColor'](_0x429346)}});_0x238397['id']=this['_dataSource'][_0x3f87d5]['id'],this[_0x1a4e('0x4ad8')]['push'](_0x238397);}},_0x2e24d1[_0x1a4e('0xa')]['createAppearence']=function(){return new Cesium[(_0x1a4e('0x3ab2'))]({'translucent':!0x0});},_0x2e24d1['prototype']['createPrimitive']=function(){this[_0x1a4e('0x4571')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':this[_0x1a4e('0x4ad8')],'appearance':this[_0x1a4e('0x4418')](),'asynchronous':!0x1}),this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['add'](this[_0x1a4e('0x4571')]);},_0x2e24d1[_0x1a4e('0xa')][_0x1a4e('0x3acd')]=function(_0x2e24d1){this['_primitive']||(this[_0x1a4e('0x38fa')]=_0x2e24d1,this[_0x1a4e('0x4ad9')](),this[_0x1a4e('0x3b5e')]());},_0x2e24d1[_0x1a4e('0xa')][_0x1a4e('0x3acf')]=function(){this[_0x1a4e('0x4571')]&&(this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x82')](this[_0x1a4e('0x4571')]),this['_primitive']=null);},_0x2e24d1[_0x1a4e('0xa')][_0x1a4e('0x4ada')]=function(_0x2e24d1,_0x3f87d5){void 0x0===_0x3f87d5&&(_0x3f87d5=_0x1a4e('0x38d4'));for(var _0x29aaab=this[_0x1a4e('0x4ad8')][_0x1a4e('0x1e')],_0x429346=0x0;_0x429346<_0x29aaab;_0x429346++)if(this[_0x1a4e('0x4ad8')][_0x429346]['id']===_0x2e24d1){var _0x4b6ef6=this[_0x1a4e('0x4571')][_0x1a4e('0x4adb')](_0x2e24d1);return void(_0x4b6ef6&&(_0x4b6ef6[_0x1a4e('0x134')]=Cesium[_0x1a4e('0x3940')][_0x1a4e('0x4adc')](Cesium['Color'][_0x1a4e('0x393c')](_0x3f87d5))));}},_0x2e24d1;}(),_0x238397=function(_0x2e24d1,_0x3f87d5,_0x29aaab){void 0x0===_0x29aaab&&(_0x29aaab=_0x1a4e('0x3de1')),this[_0x1a4e('0x398a')]=_0x2e24d1,this[_0x1a4e('0x134')]=_0x29aaab,this['id']=_0x3f87d5;};},'./src/LayerManager/MassiveLayer/SpaceDebris.ts':function(_0x3e0265,_0x3cbbfe,_0x2fac0c){'use strict';_0x2fac0c['r'](_0x3cbbfe),_0x2fac0c['d'](_0x3cbbfe,_0x1a4e('0x4add'),function(){return _0x19cbbe;}),_0x2fac0c['d'](_0x3cbbfe,_0x1a4e('0x3fb1'),function(){return _0x47768c;});var _0x353336,_0x252a2c=_0x2fac0c(_0x1a4e('0x3999')),_0x37e385=_0x2fac0c(_0x1a4e('0x4053')),_0x27ba45=_0x2fac0c(_0x1a4e('0x4ade')),_0x12ea12=(_0x353336=function(_0x3e0265,_0x3cbbfe){return(_0x353336=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x3e0265,_0x3cbbfe){_0x3e0265[_0x1a4e('0x295')]=_0x3cbbfe;}||function(_0x3e0265,_0x3cbbfe){for(var _0x2fac0c in _0x3cbbfe)_0x3cbbfe[_0x1a4e('0xb')](_0x2fac0c)&&(_0x3e0265[_0x2fac0c]=_0x3cbbfe[_0x2fac0c]);})(_0x3e0265,_0x3cbbfe);},function(_0x3e0265,_0x3cbbfe){function _0x2fac0c(){this[_0x1a4e('0x10')]=_0x3e0265;}_0x353336(_0x3e0265,_0x3cbbfe),_0x3e0265['prototype']=null===_0x3cbbfe?Object['create'](_0x3cbbfe):(_0x2fac0c[_0x1a4e('0xa')]=_0x3cbbfe[_0x1a4e('0xa')],new _0x2fac0c());}),_0x45b2f0=function(_0x3e0265){var _0x3cbbfe=_0x1a4e('0x68')==typeof Symbol&&_0x3e0265[Symbol[_0x1a4e('0x335')]],_0x2fac0c=0x0;return _0x3cbbfe?_0x3cbbfe[_0x1a4e('0x1')](_0x3e0265):{'next':function(){return _0x3e0265&&_0x2fac0c>=_0x3e0265[_0x1a4e('0x1e')]&&(_0x3e0265=void 0x0),{'value':_0x3e0265&&_0x3e0265[_0x2fac0c++],'done':!_0x3e0265};}};},_0x19cbbe=function(_0x3e0265){function _0x3cbbfe(_0x3cbbfe){var _0x2fac0c=_0x3e0265[_0x1a4e('0x1')](this)||this;return _0x2fac0c[_0x1a4e('0x1372')]=new Cesium[(_0x1a4e('0x4adf'))]({'blendOption':Cesium['BlendOption'][_0x1a4e('0x45db')]}),_0x2fac0c[_0x1a4e('0x4ae0')]=[],_0x2fac0c['derbrisList']=[],_0x2fac0c[_0x1a4e('0x4ae1')]=new Map(),_0x2fac0c[_0x1a4e('0x2cb')]='spacedebris',_0x2fac0c['_id']=_0x252a2c[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),_0x2fac0c['spaceDebrisOpts']=_0x3cbbfe,_0x2fac0c;}return _0x12ea12(_0x3cbbfe,_0x3e0265),_0x3cbbfe[_0x1a4e('0xa')]['initItem']=function(_0x3e0265){_0x3e0265['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this['root']),this[_0x1a4e('0x38d5')]=_0x3e0265;},_0x3cbbfe['prototype'][_0x1a4e('0x3acf')]=function(){this['workerArray'][_0x1a4e('0x3b')](function(_0x3e0265){_0x3e0265[_0x1a4e('0x41b5')]();}),this[_0x1a4e('0x4ae0')]=[],this['debrisMap']=new Map(),this[_0x1a4e('0x4ae2')]=[],this[_0x1a4e('0x1372')][_0x1a4e('0x3a42')]();},_0x3cbbfe[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x3cbbfe['type'];},Object['defineProperty'](_0x3cbbfe,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x4add');},'enumerable':!0x0,'configurable':!0x0}),_0x3cbbfe[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){},_0x3cbbfe['prototype']['parseJson']=function(){},_0x3cbbfe[_0x1a4e('0xa')]['show']=function(){var _0x3e0265,_0x3cbbfe,_0x2fac0c,_0x353336,_0x37e385=this;if(this['spaceDebrisOpts']){var _0x12ea12=this['spaceDebrisOpts'],_0x19cbbe=0x0,_0x47768c=0x0,_0x50deaa=new Worker(this['workerUrl']?this[_0x1a4e('0x4ae3')]:_0x252a2c[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x4ae4')));this[_0x1a4e('0x4ae0')][_0x1a4e('0x46')](_0x50deaa);try{for(var _0x4a2c8c=_0x45b2f0(_0x12ea12),_0x169a42=_0x4a2c8c[_0x1a4e('0x7e')]();!_0x169a42['done'];_0x169a42=_0x4a2c8c[_0x1a4e('0x7e')]()){var _0x3c2c9d=_0x169a42[_0x1a4e('0x255')];_0x47768c>0x1f4&&(_0x47768c=0x0,_0x50deaa=new Worker(this[_0x1a4e('0x4ae3')]?this[_0x1a4e('0x4ae3')]:_0x252a2c[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x4ae4'))),this[_0x1a4e('0x4ae0')][_0x1a4e('0x46')](_0x50deaa));var _0x4494df=_0x3c2c9d[_0x1a4e('0x4ae5')],_0x41a670=_0x3c2c9d[_0x1a4e('0x4ae6')],_0x3d3220=new _0x27ba45[(_0x1a4e('0x4ae7'))]();if(_0x3d3220['tle1']=_0x4494df,_0x3d3220[_0x1a4e('0x4ae6')]=_0x41a670,_0x3d3220['id']=_0x19cbbe,this[_0x1a4e('0x4ae1')][_0x1a4e('0x17a')](_0x19cbbe,_0x3d3220),_0x50deaa[_0x1a4e('0x1545')]({'type':_0x1a4e('0x4ae8'),'tle1':_0x3d3220[_0x1a4e('0x4ae5')],'tle2':_0x3d3220[_0x1a4e('0x4ae6')],'id':_0x3d3220['id']}),this['addDebrisItem'](_0x3d3220),_0x47768c++,++_0x19cbbe>0x5dc)break;}}catch(_0x51eefe){_0x3e0265={'error':_0x51eefe};}finally{try{_0x169a42&&!_0x169a42[_0x1a4e('0x3c2')]&&(_0x3cbbfe=_0x4a2c8c[_0x1a4e('0xe40')])&&_0x3cbbfe[_0x1a4e('0x1')](_0x4a2c8c);}finally{if(_0x3e0265)throw _0x3e0265[_0x1a4e('0x873')];}}try{for(var _0x1779a0=_0x45b2f0(this['workerArray']),_0x5992a6=_0x1779a0[_0x1a4e('0x7e')]();!_0x5992a6[_0x1a4e('0x3c2')];_0x5992a6=_0x1779a0[_0x1a4e('0x7e')]()){(_0x3c2c9d=_0x5992a6[_0x1a4e('0x255')])['onmessage']=function(_0x3e0265){var _0x3cbbfe,_0x2fac0c,_0x353336=_0x3e0265[_0x1a4e('0x7f')];try{for(var _0x252a2c=(_0x3cbbfe=void 0x0,_0x45b2f0(_0x353336)),_0x27ba45=_0x252a2c[_0x1a4e('0x7e')]();!_0x27ba45[_0x1a4e('0x3c2')];_0x27ba45=_0x252a2c[_0x1a4e('0x7e')]()){var _0x12ea12=_0x27ba45[_0x1a4e('0x255')],_0x19cbbe=_0x12ea12['id'],_0x47768c=_0x12ea12[_0x1a4e('0x7f')];_0x37e385[_0x1a4e('0x4ae1')][_0x1a4e('0x179')](_0x19cbbe)[_0x1a4e('0xc4')]['position']=new Cesium[(_0x1a4e('0x393e'))](0x3e8*_0x47768c['x'],0x3e8*_0x47768c['y'],0x3e8*_0x47768c['z']);}}catch(_0x1ce4fb){_0x3cbbfe={'error':_0x1ce4fb};}finally{try{_0x27ba45&&!_0x27ba45[_0x1a4e('0x3c2')]&&(_0x2fac0c=_0x252a2c[_0x1a4e('0xe40')])&&_0x2fac0c[_0x1a4e('0x1')](_0x252a2c);}finally{if(_0x3cbbfe)throw _0x3cbbfe[_0x1a4e('0x873')];}}};}}catch(_0x33333){_0x2fac0c={'error':_0x33333};}finally{try{_0x5992a6&&!_0x5992a6['done']&&(_0x353336=_0x1779a0[_0x1a4e('0xe40')])&&_0x353336[_0x1a4e('0x1')](_0x1779a0);}finally{if(_0x2fac0c)throw _0x2fac0c[_0x1a4e('0x873')];}}this[_0x1a4e('0x38d5')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](function(_0x3e0265){var _0x3cbbfe,_0x2fac0c;if(_0x3e0265[_0x1a4e('0x40f3')])try{for(var _0x353336=_0x45b2f0(_0x37e385[_0x1a4e('0x4ae0')]),_0x252a2c=_0x353336[_0x1a4e('0x7e')]();!_0x252a2c[_0x1a4e('0x3c2')];_0x252a2c=_0x353336[_0x1a4e('0x7e')]()){_0x252a2c[_0x1a4e('0x255')]['postMessage']({'data':Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x4ae9')](_0x3e0265[_0x1a4e('0x40f7')])});}}catch(_0x592eac){_0x3cbbfe={'error':_0x592eac};}finally{try{_0x252a2c&&!_0x252a2c[_0x1a4e('0x3c2')]&&(_0x2fac0c=_0x353336[_0x1a4e('0xe40')])&&_0x2fac0c[_0x1a4e('0x1')](_0x353336);}finally{if(_0x3cbbfe)throw _0x3cbbfe[_0x1a4e('0x873')];}}});}},_0x3cbbfe[_0x1a4e('0xa')][_0x1a4e('0x4aea')]=function(_0x3e0265){var _0x3cbbfe={'color':Cesium[_0x1a4e('0x3947')]['GRAY'],'pixelSize':0x4};_0x3e0265[_0x1a4e('0xc4')]=this['root'][_0x1a4e('0x177')](_0x3cbbfe),this[_0x1a4e('0x4ae2')]['push'](_0x3e0265);},_0x3cbbfe;}(_0x37e385[_0x1a4e('0x3aca')]),_0x47768c=function(){};},'./src/LayerManager/MassiveLayer/SpaceDebrisItem.ts':function(_0x14fcc3,_0x3c30dc,_0x54a782){'use strict';_0x54a782['r'](_0x3c30dc),_0x54a782['d'](_0x3c30dc,_0x1a4e('0x4ae7'),function(){return _0x118147;});var _0x118147=function(){function _0x14fcc3(){}return Object[_0x1a4e('0x2')](_0x14fcc3[_0x1a4e('0xa')],'currentTime',{'get':function(){return this['_currentTime'];},'set':function(_0x14fcc3){this[_0x1a4e('0x4aeb')]=_0x14fcc3;},'enumerable':!0x0,'configurable':!0x0}),_0x14fcc3;}();},'./src/LayerManager/MassiveLayer/windy/Particle.js':function(_0x2fa0e2,_0x1bd78e,_0x2d1180){'use strict';Object[_0x1a4e('0x2')](_0x1bd78e,'__esModule',{'value':!0x0});_0x1bd78e[_0x1a4e('0x8')]=function(){this['x']=null,this['dx']=null,this['dx']=null,this['y']=null,this[_0x1a4e('0x4aec')]=null,this['birthAge']=null,this[_0x1a4e('0x64')]=null;};},'./src/LayerManager/MassiveLayer/windy/WindField.js':function(_0x560434,_0x1bdef4,_0x3baba8){'use strict';Object[_0x1a4e('0x2')](_0x1bdef4,_0x1a4e('0x6'),{'value':!0x0});var _0x2666a9=function(_0x560434){this[_0x1a4e('0x394e')]=null,this[_0x1a4e('0x3950')]=null,this[_0x1a4e('0x394f')]=null,this[_0x1a4e('0x403b')]=null,this[_0x1a4e('0xf4')]=null,this['cols']=null,this['dx']=null,this['dy']=null,this[_0x1a4e('0x397f')]=null,this[_0x1a4e('0xf27')]=null,this[_0x1a4e('0x11f')]=null,this[_0x1a4e('0x1f7')](_0x560434);};_0x2666a9[_0x1a4e('0xa')]={'constructor':_0x2666a9,'_init':function(_0x560434){var _0x1bdef4=_0x560434['header'],_0x3baba8=_0x560434['uComponent'],_0x2666a9=_0x560434[_0x1a4e('0x4aed')];this[_0x1a4e('0x394e')]=+_0x1bdef4['lo1'],this[_0x1a4e('0x3950')]=+_0x1bdef4[_0x1a4e('0x4aee')],this[_0x1a4e('0x394f')]=+_0x1bdef4[_0x1a4e('0x4aef')],this[_0x1a4e('0x403b')]=+_0x1bdef4['la1'],this[_0x1a4e('0xf4')]=+_0x1bdef4['ny'],this['cols']=+_0x1bdef4['nx'],this['dx']=+_0x1bdef4['dx'],this['dy']=+_0x1bdef4['dy'],this[_0x1a4e('0x397f')]=_0x1bdef4['parameterUnit'],this[_0x1a4e('0xf27')]=_0x1bdef4[_0x1a4e('0x4af0')],this[_0x1a4e('0x11f')]=[];for(var _0x3a6f0b=0x0,_0x145098=null,_0x48a17b=null,_0x37c761=0x0;_0x37c761=0x0&&_0x560434=0x0&&_0x1bdef40x0){var _0x48c3e3=_0x5b185c['x'],_0x2ddbcf=_0x5b185c['y'];_0x97b28b['isInBound'](_0x48c3e3,_0x2ddbcf)?(_0xe15ec3=_0x97b28b[_0x1a4e('0x4af2')](_0x48c3e3,_0x2ddbcf),_0x16bf09=_0x48c3e3+_0x1f51fa[_0x1a4e('0x4b06')]*_0xe15ec3[0x0],_0x39deda=_0x2ddbcf+_0x1f51fa[_0x1a4e('0x4b06')]*_0xe15ec3[0x1],_0x5b185c[_0x1a4e('0x64')]['push'](_0x16bf09,_0x39deda),_0x5b185c['x']=_0x16bf09,_0x5b185c['y']=_0x39deda,_0x48c73d[_0x1a4e('0x46')](_0x1f51fa[_0x1a4e('0x4b07')](_0x1f51fa[_0x1a4e('0x4856')](_0x5b185c[_0x1a4e('0x64')]),_0x5b185c[_0x1a4e('0x4aec')]/_0x5b185c[_0x1a4e('0x4b08')])),_0x5b185c[_0x1a4e('0x4aec')]--):_0x5b185c[_0x1a4e('0x4aec')]=0x0;}}),_0x48c73d[_0x1a4e('0x1e')]<=0x0&&this['removeLines'](),_0x1f51fa[_0x1a4e('0x4b09')](_0x48c73d);},_0x97b28b[_0x1a4e('0xa')][_0x1a4e('0x4b05')]=function(){var _0x1f51fa=null,_0x97b28b=null,_0x5b185c=null;return this[_0x1a4e('0x4af9')]['forEach'](function(_0x48c73d){switch(_0x48c73d[_0x1a4e('0xe85')]['parameterCategory']+','+_0x48c73d[_0x1a4e('0xe85')][_0x1a4e('0x4b0a')]){case _0x1a4e('0x4b0b'):_0x1f51fa=_0x48c73d[_0x1a4e('0x7f')],_0x5b185c=_0x48c73d[_0x1a4e('0xe85')];break;case _0x1a4e('0x4b0c'):_0x97b28b=_0x48c73d[_0x1a4e('0x7f')];}}),{'header':_0x5b185c,'uComponent':_0x1f51fa,'vComponent':_0x97b28b};},_0x97b28b[_0x1a4e('0xa')]['removeLines']=function(){this[_0x1a4e('0x17b')]&&(this[_0x1a4e('0x4570')][_0x1a4e('0x82')](this[_0x1a4e('0x17b')]),this[_0x1a4e('0x17b')]=null);},_0x97b28b['prototype'][_0x1a4e('0x4856')]=function(_0x1f51fa){for(var _0x97b28b=_0x1f51fa[_0x1a4e('0x1e')],_0x5b185c=this[_0x1a4e('0x4afb')],_0x48c73d=_0x5b185c['dx'],_0x16bf09=_0x5b185c['dy'],_0x39deda=_0x5b185c[_0x1a4e('0x394e')],_0xe15ec3=_0x5b185c['north'],_0x48c3e3=[],_0x2ddbcf=0x0;_0x2ddbcf<=_0x97b28b-0x2;_0x2ddbcf+=0x2)_0x48c3e3[_0x1a4e('0x46')](_0x39deda+_0x1f51fa[_0x2ddbcf]*_0x48c73d,_0xe15ec3-_0x1f51fa[_0x2ddbcf+0x1]*_0x16bf09);return _0x48c3e3;},_0x97b28b[_0x1a4e('0xa')][_0x1a4e('0x4b07')]=function(_0x1f51fa,_0x97b28b){for(var _0x5b185c=[],_0x48c73d=_0x1f51fa[_0x1a4e('0x1e')],_0x16bf09=_0x48c73d/0x2,_0x39deda=0x0;_0x39deda<_0x48c73d;_0x39deda++)_0x5b185c[_0x1a4e('0x46')](Cesium['Color'][_0x1a4e('0x39a7')][_0x1a4e('0x39ae')](_0x39deda/_0x16bf09*_0x97b28b*this['BRIGHTEN']));return new Cesium['GeometryInstance']({'geometry':new Cesium[(_0x1a4e('0x3da9'))]({'positions':Cesium[_0x1a4e('0x393e')]['fromDegreesArray'](_0x1f51fa),'colors':_0x5b185c,'width':1.5,'colorsPerVertex':!0x0})});},_0x97b28b['prototype'][_0x1a4e('0x4b09')]=function(_0x1f51fa){this[_0x1a4e('0x4afc')]();var _0x97b28b=new Cesium['Primitive']({'appearance':new Cesium[(_0x1a4e('0x3942'))]({'translucent':!0x0}),'geometryInstances':_0x1f51fa,'asynchronous':!0x1});this[_0x1a4e('0x17b')]=this[_0x1a4e('0x4570')]['add'](_0x97b28b);},_0x97b28b['prototype']['randomParticle']=function(_0x1f51fa){var _0x97b28b,_0x5b185c,_0x48c73d=0x1e;do{_0x97b28b=Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x12e')]()*(this[_0x1a4e('0x4afb')]['cols']-0x2)),_0x5b185c=Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x12e')]()*(this['windField'][_0x1a4e('0xf4')]-0x2));}while(this[_0x1a4e('0x4afb')][_0x1a4e('0x4af2')](_0x97b28b,_0x5b185c)[0x2]<=0x0&&_0x48c73d++<0x1e);return _0x1f51fa['x']=_0x97b28b,_0x1f51fa['y']=_0x5b185c,_0x1f51fa['age']=Math['round'](Math['random']()*this[_0x1a4e('0x4af7')]),_0x1f51fa[_0x1a4e('0x4b08')]=_0x1f51fa[_0x1a4e('0x4aec')],_0x1f51fa[_0x1a4e('0x64')]=[_0x97b28b,_0x5b185c],_0x1f51fa;},_0x97b28b;}(_0x68642b[_0x1a4e('0x3aca')]);},'./src/LayerManager/MassiveLayer/windy/WindyData/WindyData.js':function(_0x496fd8,_0x3bedc5,_0x19daad){'use strict';Object[_0x1a4e('0x2')](_0x3bedc5,_0x1a4e('0x6'),{'value':!0x0}),_0x3bedc5[_0x1a4e('0x4b01')]=void 0x0;var _0x54834a=function(){function _0x496fd8(_0x496fd8,_0x3bedc5){for(var _0x19daad=0x0;_0x19daad<_0x3bedc5[_0x1a4e('0x1e')];_0x19daad++){var _0x54834a=_0x3bedc5[_0x19daad];_0x54834a[_0x1a4e('0x1359')]=_0x54834a[_0x1a4e('0x1359')]||!0x1,_0x54834a['configurable']=!0x0,_0x1a4e('0x255')in _0x54834a&&(_0x54834a[_0x1a4e('0x1346')]=!0x0),Object[_0x1a4e('0x2')](_0x496fd8,_0x54834a[_0x1a4e('0x35f')],_0x54834a);}}return function(_0x3bedc5,_0x19daad,_0x54834a){return _0x19daad&&_0x496fd8(_0x3bedc5['prototype'],_0x19daad),_0x54834a&&_0x496fd8(_0x3bedc5,_0x54834a),_0x3bedc5;};}(),_0x94091e=_0x19daad(_0x1a4e('0x3999'));_0x3bedc5[_0x1a4e('0x4b01')]=function(){function _0x496fd8(){!function(_0x496fd8,_0x3bedc5){if(!(_0x496fd8 instanceof _0x3bedc5))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x496fd8),this['entityId']=null;}return _0x54834a(_0x496fd8,[{'key':_0x1a4e('0x1fd'),'value':function(_0x496fd8){this['windy']=_0x496fd8;var _0x3bedc5=_0x496fd8[_0x1a4e('0x4afd')][_0x1a4e('0x472f')],_0x19daad=new Cesium[(_0x1a4e('0x475d'))]({'url':_0x1a4e('0x4b0d')});_0x3bedc5[_0x1a4e('0x4757')](_0x19daad),this[_0x1a4e('0x4b0e')]();}},{'key':_0x1a4e('0x4b0f'),'value':function(_0x496fd8){var _0x3bedc5,_0x19daad=this['earth'];GV[_0x1a4e('0x3ba6')][_0x1a4e('0x4b10')]({'url':'../data/windData.json'})[_0x1a4e('0xdf8')](function(_0x496fd8){var _0x54834a,_0x94091e,_0x4fdaad,_0x3c858f,_0x55e07b,_0x2c0b04=_0x496fd8[0x0][_0x1a4e('0xe85')];_0x54834a=_0x2c0b04[_0x1a4e('0x4b11')],_0x94091e=_0x2c0b04[_0x1a4e('0x4aef')],_0x4fdaad=_0x2c0b04[_0x1a4e('0x4aee')],_0x3c858f=_0x2c0b04['la1'],_0x55e07b=Cesium[_0x1a4e('0x3965')]['fromDegrees'](_0x54834a,_0x94091e,_0x4fdaad,_0x3c858f),_0x19daad[_0x1a4e('0x38e2')][_0x1a4e('0x177')]({'rectangle':{'coordinates':_0x55e07b,'fill':!0x1,'outline':!0x0,'outlineWidth':0xa,'outlineColor':GV[_0x1a4e('0x3947')][_0x1a4e('0x39ad')]}}),_0x19daad['camera'][_0x1a4e('0x3a9f')]({'destination':Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](_0x2c0b04[_0x1a4e('0x4b11')],_0x2c0b04[_0x1a4e('0x4aef')],_0x2c0b04[_0x1a4e('0x4aee')],_0x2c0b04['la1'])}),_0x3bedc5=new GV['Windy'](_0x496fd8,_0x19daad),timer=setInterval(function(){_0x3bedc5[_0x1a4e('0x45f8')]();},0x64);})['otherwise'](function(_0x496fd8){console[_0x1a4e('0xe3c')]('失败'+_0x496fd8);});}},{'key':_0x1a4e('0x4b0e'),'value':function(){var _0x496fd8=this[_0x1a4e('0x4afa')],_0x3bedc5=_0x496fd8[_0x1a4e('0x4afd')],_0x19daad=_0x496fd8['windData'][0x0][_0x1a4e('0xe85')];this[_0x1a4e('0x4b12')]=_0x94091e[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),this['addExtent'](_0x19daad[_0x1a4e('0x4b11')],_0x19daad[_0x1a4e('0x4aef')],_0x19daad['lo2'],_0x19daad[_0x1a4e('0x4b13')]),_0x3bedc5['camera'][_0x1a4e('0x3a9f')]({'destination':Cesium['Rectangle']['fromDegrees'](_0x19daad[_0x1a4e('0x4b11')],_0x19daad[_0x1a4e('0x4aef')],_0x19daad[_0x1a4e('0x4aee')],_0x19daad['la1'])}),this[_0x1a4e('0x4b14')]();}},{'key':_0x1a4e('0x4b14'),'value':function(){var _0x496fd8=this[_0x1a4e('0x4afa')];this[_0x1a4e('0x1451')]=setInterval(function(){_0x496fd8['animate']();},0x64);}},{'key':_0x1a4e('0x4b15'),'value':function(_0x496fd8,_0x3bedc5,_0x19daad,_0x54834a){var _0x94091e=this['windy'][_0x1a4e('0x4afd')],_0x35aabe=Cesium[_0x1a4e('0x3965')]['fromDegrees'](_0x496fd8,_0x3bedc5,_0x19daad,_0x54834a);_0x94091e[_0x1a4e('0x38e2')][_0x1a4e('0x177')]({'id':this['entityId'],'rectangle':{'coordinates':_0x35aabe,'fill':!0x1,'outline':!0x0,'outlineWidth':0xa,'outlineColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39ad')]}});}},{'key':_0x1a4e('0x4132'),'value':function(){this['entityId']&&(this[_0x1a4e('0x4afa')]['cesiumViewer']['entities'][_0x1a4e('0x41a6')](this[_0x1a4e('0x4b12')]),clearInterval(this['timer']));}}]),_0x496fd8;}();},'./src/LayerManager/ModelLayer/Cesium3DTileLayer.ts':function(_0x4df6e5,_0x51c01d,_0x191a47){'use strict';_0x191a47['r'](_0x51c01d),_0x191a47['d'](_0x51c01d,_0x1a4e('0x4015'),function(){return _0xfd5c21;}),_0x191a47['d'](_0x51c01d,'Cesium3DTileLayerOpt',function(){return _0x57c08f;});var _0x2dcaa9,_0x3a49fc=_0x191a47(_0x1a4e('0x4b16')),_0x366664=(_0x2dcaa9=function(_0x4df6e5,_0x51c01d){return(_0x2dcaa9=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4df6e5,_0x51c01d){_0x4df6e5[_0x1a4e('0x295')]=_0x51c01d;}||function(_0x4df6e5,_0x51c01d){for(var _0x191a47 in _0x51c01d)_0x51c01d['hasOwnProperty'](_0x191a47)&&(_0x4df6e5[_0x191a47]=_0x51c01d[_0x191a47]);})(_0x4df6e5,_0x51c01d);},function(_0x4df6e5,_0x51c01d){function _0x191a47(){this[_0x1a4e('0x10')]=_0x4df6e5;}_0x2dcaa9(_0x4df6e5,_0x51c01d),_0x4df6e5[_0x1a4e('0xa')]=null===_0x51c01d?Object['create'](_0x51c01d):(_0x191a47[_0x1a4e('0xa')]=_0x51c01d['prototype'],new _0x191a47());}),_0xfd5c21=function(_0x4df6e5){function _0x51c01d(_0x51c01d){var _0x191a47=_0x4df6e5[_0x1a4e('0x1')](this)||this;return _0x191a47[_0x1a4e('0x39d5')]=_0x1a4e('0x4015'),_0x191a47['parseOption'](_0x51c01d),_0x191a47;}return _0x366664(_0x51c01d,_0x4df6e5),_0x51c01d[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x51c01d[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x51c01d,_0x1a4e('0x40'),{'get':function(){return'Cesium3DTileLayer';},'enumerable':!0x0,'configurable':!0x0}),_0x51c01d[_0x1a4e('0xa')][_0x1a4e('0x3acd')]=function(_0x4df6e5){var _0x51c01d=_0x4df6e5['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')];this[_0x1a4e('0x477c')]=_0x51c01d;var _0x191a47=new Cesium[(_0x1a4e('0x43a6'))]({'url':this[_0x1a4e('0x411e')][_0x1a4e('0x15cf')]});this['_renderObj']=_0x51c01d[_0x1a4e('0x177')](_0x191a47);},_0x51c01d[_0x1a4e('0xa')][_0x1a4e('0x3acf')]=function(){this['_modelLayer'][_0x1a4e('0x82')](this[_0x1a4e('0x4312')]),this[_0x1a4e('0x4312')]=void 0x0;},_0x51c01d[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x4312')];},_0x51c01d['prototype'][_0x1a4e('0x472d')]=function(_0x4df6e5){var _0x51c01d=new _0x57c08f();for(var _0x191a47 in _0x4df6e5)_0x51c01d[_0x191a47]=_0x4df6e5[_0x191a47];this[_0x1a4e('0x411e')]=_0x51c01d;},_0x51c01d[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x4df6e5={'type':this[_0x1a4e('0x39d5')],'name':this[_0x1a4e('0x2cb')]};for(var _0x51c01d in this[_0x1a4e('0x411e')])void 0x0!==this[_0x1a4e('0x411e')][_0x51c01d]&&_0x1a4e('0x10')!==_0x51c01d&&(_0x4df6e5[_0x51c01d]=this[_0x1a4e('0x411e')][_0x51c01d]);return _0x4df6e5;},_0x51c01d[_0x1a4e('0xa')]['parseJson']=function(_0x4df6e5){this[_0x1a4e('0x472d')](_0x4df6e5);},_0x51c01d;}(_0x3a49fc[_0x1a4e('0x4b17')]),_0x57c08f=function(){};window['GV']['REGISTER']('modelItem',_0xfd5c21);},'./src/LayerManager/ModelLayer/ModelItem.ts':function(_0x5efc0e,_0x29481b,_0x304fc9){'use strict';_0x304fc9['r'](_0x29481b),_0x304fc9['d'](_0x29481b,_0x1a4e('0x4b17'),function(){return _0x31e4a2;});var _0x996a13,_0xa72aea=_0x304fc9('./src/Core/Item.ts'),_0x4528ad=(_0x996a13=function(_0x5efc0e,_0x29481b){return(_0x996a13=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5efc0e,_0x29481b){_0x5efc0e['__proto__']=_0x29481b;}||function(_0x5efc0e,_0x29481b){for(var _0x304fc9 in _0x29481b)_0x29481b[_0x1a4e('0xb')](_0x304fc9)&&(_0x5efc0e[_0x304fc9]=_0x29481b[_0x304fc9]);})(_0x5efc0e,_0x29481b);},function(_0x5efc0e,_0x29481b){function _0x304fc9(){this[_0x1a4e('0x10')]=_0x5efc0e;}_0x996a13(_0x5efc0e,_0x29481b),_0x5efc0e[_0x1a4e('0xa')]=null===_0x29481b?Object[_0x1a4e('0x7')](_0x29481b):(_0x304fc9[_0x1a4e('0xa')]=_0x29481b[_0x1a4e('0xa')],new _0x304fc9());}),_0x31e4a2=function(_0x5efc0e){function _0x29481b(){return null!==_0x5efc0e&&_0x5efc0e[_0x1a4e('0x8b')](this,arguments)||this;}return _0x4528ad(_0x29481b,_0x5efc0e),_0x29481b[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){},_0x29481b;}(_0xa72aea[_0x1a4e('0x3aca')]);},'./src/LayerManager/ModelLayer/ModelLayer.ts':function(_0x23a70a,_0xd653ad,_0x19121d){'use strict';_0x19121d['r'](_0xd653ad),_0x19121d['d'](_0xd653ad,_0x1a4e('0x4b18'),function(){return _0x2ffc8e;});var _0x129ccc,_0x2d9ad9=_0x19121d(_0x1a4e('0x3f2c')),_0x4009a8=(_0x129ccc=function(_0x23a70a,_0xd653ad){return(_0x129ccc=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x23a70a,_0xd653ad){_0x23a70a[_0x1a4e('0x295')]=_0xd653ad;}||function(_0x23a70a,_0xd653ad){for(var _0x19121d in _0xd653ad)_0xd653ad['hasOwnProperty'](_0x19121d)&&(_0x23a70a[_0x19121d]=_0xd653ad[_0x19121d]);})(_0x23a70a,_0xd653ad);},function(_0x23a70a,_0xd653ad){function _0x19121d(){this[_0x1a4e('0x10')]=_0x23a70a;}_0x129ccc(_0x23a70a,_0xd653ad),_0x23a70a[_0x1a4e('0xa')]=null===_0xd653ad?Object['create'](_0xd653ad):(_0x19121d[_0x1a4e('0xa')]=_0xd653ad[_0x1a4e('0xa')],new _0x19121d());}),_0x5a3cf3=function(_0x23a70a){var _0xd653ad=_0x1a4e('0x68')==typeof Symbol&&_0x23a70a[Symbol[_0x1a4e('0x335')]],_0x19121d=0x0;return _0xd653ad?_0xd653ad[_0x1a4e('0x1')](_0x23a70a):{'next':function(){return _0x23a70a&&_0x19121d>=_0x23a70a['length']&&(_0x23a70a=void 0x0),{'value':_0x23a70a&&_0x23a70a[_0x19121d++],'done':!_0x23a70a};}};},_0x2ffc8e=function(_0x23a70a){function _0xd653ad(_0xd653ad){var _0x19121d=_0x23a70a['call'](this)||this;return _0x19121d['_viewer']=_0xd653ad,_0x19121d[_0x1a4e('0x4751')]=[],_0x19121d;}return _0x4009a8(_0xd653ad,_0x23a70a),_0xd653ad['prototype']['add']=function(_0xd653ad){return _0x23a70a['prototype'][_0x1a4e('0x177')][_0x1a4e('0x1')](this,_0xd653ad),_0xd653ad[_0x1a4e('0x3acd')](this),this[_0x1a4e('0x3ad3')](_0x1a4e('0x177'),_0xd653ad),_0xd653ad;},_0xd653ad['prototype']['remove']=function(_0xd653ad){var _0x19121d=_0x23a70a['prototype'][_0x1a4e('0x82')]['call'](this,_0xd653ad);if(void 0x0!==_0x19121d)return _0x19121d[_0x1a4e('0x3acf')](),this['fire']('remove',_0x19121d),_0x19121d;},_0xd653ad[_0x1a4e('0xa')]['parseJson']=function(_0x23a70a){var _0xd653ad,_0x19121d;if(_0x23a70a)try{for(var _0x129ccc=_0x5a3cf3(_0x23a70a),_0x2d9ad9=_0x129ccc['next']();!_0x2d9ad9[_0x1a4e('0x3c2')];_0x2d9ad9=_0x129ccc['next']()){var _0x4009a8=_0x2d9ad9[_0x1a4e('0x255')];new(window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x3adf')](_0x1a4e('0x4b19'),_0x4009a8[_0x1a4e('0x40')]))(_0x4009a8);}}catch(_0xeba736){_0xd653ad={'error':_0xeba736};}finally{try{_0x2d9ad9&&!_0x2d9ad9[_0x1a4e('0x3c2')]&&(_0x19121d=_0x129ccc[_0x1a4e('0xe40')])&&_0x19121d[_0x1a4e('0x1')](_0x129ccc);}finally{if(_0xd653ad)throw _0xd653ad['error'];}}},_0xd653ad[_0x1a4e('0xa')][_0x1a4e('0x3ad5')]=function(){return this[_0x1a4e('0x3ad1')];},_0xd653ad[_0x1a4e('0xa')]['getRenderObject']=function(){return this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')];},_0xd653ad[_0x1a4e('0xa')][_0x1a4e('0x4b1a')]=function(_0x23a70a){var _0xd653ad=this['_renderItemList'][_0x1a4e('0xd9')](function(_0xd653ad){if(_0xd653ad['id']===_0x23a70a)return!0x0;});if(_0xd653ad['length'])return _0xd653ad[0x0];},_0xd653ad;}(_0x2d9ad9[_0x1a4e('0x4720')]);},'./src/LayerManager/SatelliteLayer/ConicSensor.ts':function(_0x204276,_0x4fe4e8,_0x293a17){'use strict';_0x293a17['r'](_0x4fe4e8),_0x293a17['d'](_0x4fe4e8,_0x1a4e('0x4b1b'),function(){return _0x148b01;});var _0x3f113c=_0x293a17(_0x1a4e('0x38d0')),_0x577af4=_0x293a17(_0x1a4e('0x3999')),_0x148b01=function(){function _0x204276(_0x204276,_0x4fe4e8){this[_0x1a4e('0x78')]=0x3c,this['_swingAngle']=0x0,this[_0x1a4e('0x4b1c')]=_0x4fe4e8[_0x1a4e('0x4b1d')],this[_0x1a4e('0x3dcb')]=_0x4fe4e8['conicAngle'],this[_0x1a4e('0x4b1e')]=_0x4fe4e8[_0x1a4e('0x4b1f')],this[_0x1a4e('0x4b20')]=_0x4fe4e8[_0x1a4e('0x4b21')],this[_0x1a4e('0x4b22')]=_0x204276,this[_0x1a4e('0x4b23')]=_0x4fe4e8,this['createVertex'](this[_0x1a4e('0x4b1c')]['alt'],this[_0x1a4e('0x3dcb')]);}return Object['defineProperty'](_0x204276[_0x1a4e('0xa')],_0x1a4e('0x4b24'),{'get':function(){if(this[_0x1a4e('0x4571')])return this[_0x1a4e('0x4571')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x204276[_0x1a4e('0xa')],_0x1a4e('0x3553'),{'get':function(){return this[_0x1a4e('0x4b1c')];},'set':function(_0x204276){if(this[_0x1a4e('0x4b1c')]=_0x204276,null!=this['_primitive']){var _0x4fe4e8=_0x3f113c[_0x1a4e('0x38da')]['toCartesian3'](this[_0x1a4e('0x4b1c')]);this[_0x1a4e('0x4571')][_0x1a4e('0x3b64')]=Cesium['Transforms'][_0x1a4e('0x3ab0')](_0x4fe4e8);}},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x204276[_0x1a4e('0xa')],_0x1a4e('0x40'),{'get':function(){return'conic';},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x204276['prototype'],'coverColor',{'set':function(_0x204276){if(_0x204276){this[_0x1a4e('0x4b23')][_0x1a4e('0x4b1f')]=_0x204276,this[_0x1a4e('0x4b1e')]=_0x204276;var _0x4fe4e8=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x204276);this[_0x1a4e('0x4b24')]['appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x134')]=_0x4fe4e8;}},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x204276['prototype'],_0x1a4e('0x502'),{'get':function(){return this[_0x1a4e('0x3dcb')];},'set':function(_0x204276){_0x204276&&(this[_0x1a4e('0x4b23')][_0x1a4e('0x4b25')]=_0x204276,this[_0x1a4e('0x3dcb')]=_0x204276);},'enumerable':!0x0,'configurable':!0x0}),_0x204276[_0x1a4e('0xa')]['destroy']=function(){null!=this['_primitive']&&(this['_primitiveCollection'][_0x1a4e('0x82')](this[_0x1a4e('0x4571')]),this['_primitive']=void 0x0);},Object['defineProperty'](_0x204276['prototype'],_0x1a4e('0x4b21'),{'set':function(_0x204276){null!=_0x204276&&_0x204276>=0x0&&_0x204276<=0x2d&&(this[_0x1a4e('0x4b23')][_0x1a4e('0x4b21')]=_0x204276,this['_swingAngle']=_0x204276,this[_0x1a4e('0x139c')](),this[_0x1a4e('0x3b52')](this[_0x1a4e('0x4b1c')][_0x1a4e('0x398c')],this[_0x1a4e('0x3dcb')]));},'enumerable':!0x0,'configurable':!0x0}),_0x204276[_0x1a4e('0xa')][_0x1a4e('0x3b52')]=function(_0x204276,_0x4fe4e8){var _0x293a17=[],_0x3f113c=[],_0x577af4=0x168/this[_0x1a4e('0x78')],_0x148b01=_0x204276;0x0!=this[_0x1a4e('0x4b20')]&&(_0x148b01=0x1*_0x148b01/Math[_0x1a4e('0x90')](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x4fe4e8/0x2+this[_0x1a4e('0x4b20')]+0x5)));for(var _0x3ffbde=Math[_0x1a4e('0xbe')](Cesium['Math']['toRadians'](_0x4fe4e8/0x2))*_0x148b01,_0x54d787=0x0;_0x54d787<=0x168;_0x54d787+=_0x577af4){var _0x132f7d=Cesium['Math'][_0x1a4e('0x566')](_0x54d787);_0x293a17['push'](new Cesium[(_0x1a4e('0x393e'))](0.1*Math[_0x1a4e('0x90')](_0x132f7d),-0.1*Math[_0x1a4e('0x8f')](_0x132f7d),0x0)),_0x3f113c[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393e'))](_0x3ffbde*Math[_0x1a4e('0x90')](_0x132f7d),-_0x3ffbde*Math[_0x1a4e('0x8f')](_0x132f7d),-_0x148b01));}this[_0x1a4e('0x3b53')](_0x293a17,_0x3f113c);},_0x204276['prototype'][_0x1a4e('0x3b53')]=function(_0x204276,_0x4fe4e8){for(var _0x293a17=[],_0x3f113c=[],_0x577af4=0x0;_0x577af4<_0x204276[_0x1a4e('0x1e')]-0x1;_0x577af4++)_0x293a17[_0x1a4e('0x46')](_0x204276[_0x577af4]['x']),_0x293a17['push'](_0x204276[_0x577af4]['y']),_0x293a17[_0x1a4e('0x46')](_0x204276[_0x577af4]['z']),_0x3f113c[_0x1a4e('0x46')](_0x577af4/this[_0x1a4e('0x78')]),_0x3f113c[_0x1a4e('0x46')](0x0),_0x293a17[_0x1a4e('0x46')](_0x4fe4e8[_0x577af4]['x']),_0x293a17[_0x1a4e('0x46')](_0x4fe4e8[_0x577af4]['y']),_0x293a17['push'](_0x4fe4e8[_0x577af4]['z']),_0x3f113c[_0x1a4e('0x46')](_0x577af4/this[_0x1a4e('0x78')]),_0x3f113c[_0x1a4e('0x46')](0x1),_0x293a17['push'](_0x4fe4e8[_0x577af4+0x1]['x']),_0x293a17['push'](_0x4fe4e8[_0x577af4+0x1]['y']),_0x293a17[_0x1a4e('0x46')](_0x4fe4e8[_0x577af4+0x1]['z']),_0x3f113c[_0x1a4e('0x46')]((_0x577af4+0x1)/this[_0x1a4e('0x78')]),_0x3f113c[_0x1a4e('0x46')](0x1),_0x293a17['push'](_0x204276[_0x577af4+0x1]['x']),_0x293a17[_0x1a4e('0x46')](_0x204276[_0x577af4+0x1]['y']),_0x293a17[_0x1a4e('0x46')](_0x204276[_0x577af4+0x1]['z']),_0x3f113c[_0x1a4e('0x46')]((_0x577af4+0x1)/this['slice']),_0x3f113c[_0x1a4e('0x46')](0x0),_0x293a17[_0x1a4e('0x46')](_0x204276[_0x577af4]['x']),_0x293a17[_0x1a4e('0x46')](_0x204276[_0x577af4]['y']),_0x293a17['push'](_0x204276[_0x577af4]['z']),_0x3f113c['push'](_0x577af4/this[_0x1a4e('0x78')]),_0x3f113c[_0x1a4e('0x46')](0x0),_0x293a17[_0x1a4e('0x46')](_0x4fe4e8[_0x577af4+0x1]['x']),_0x293a17[_0x1a4e('0x46')](_0x4fe4e8[_0x577af4+0x1]['y']),_0x293a17[_0x1a4e('0x46')](_0x4fe4e8[_0x577af4+0x1]['z']),_0x3f113c[_0x1a4e('0x46')]((_0x577af4+0x1)/this[_0x1a4e('0x78')]),_0x3f113c[_0x1a4e('0x46')](0x1);this[_0x1a4e('0x3b5e')](_0x293a17,_0x3f113c);},_0x204276['prototype'][_0x1a4e('0x3b5e')]=function(_0x204276,_0x4fe4e8){var _0x293a17=new Float64Array(_0x204276),_0x148b01=new Float32Array(_0x4fe4e8),_0x15df91=new Cesium['Geometry']({'attributes':{'position':new Cesium['GeometryAttribute']({'componentDatatype':Cesium['ComponentDatatype']['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x293a17}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x148b01})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x293a17)});this[_0x1a4e('0x4571')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium['GeometryInstance']({'geometry':_0x15df91}),'appearance':new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':Cesium['Color']['fromCssColorString'](this[_0x1a4e('0x4b1e')])},'source':this[_0x1a4e('0x3b43')]()}})}),'asynchronous':!0x1});var _0xa39af=_0x3f113c['GeoPoint'][_0x1a4e('0x3949')](this[_0x1a4e('0x4b1c')]);this[_0x1a4e('0x4571')][_0x1a4e('0x3b64')]=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0xa39af),this[_0x1a4e('0x4571')][_0x1a4e('0x4b26')]=_0x577af4['Util'][_0x1a4e('0x404b')](),this[_0x1a4e('0x4b22')][_0x1a4e('0x177')](this[_0x1a4e('0x4571')]);},_0x204276['prototype'][_0x1a4e('0x3b43')]=function(){return'czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x201.0\x20-\x20st.y\x20*\x200.9;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x204276[_0x1a4e('0xa')][_0x1a4e('0x4b27')]=function(_0x204276){var _0x4fe4e8=_0x3f113c['GeoPoint'][_0x1a4e('0x3949')](this[_0x1a4e('0x4b1c')]),_0x293a17=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x4fe4e8),_0x577af4=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3d96')](_0x293a17,new Cesium[(_0x1a4e('0x3a29'))]()),_0x148b01=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x4507')](_0x577af4,_0x4fe4e8,new Cesium['Cartesian3']()),_0x562448=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x4507')](_0x577af4,_0x204276,new Cesium[(_0x1a4e('0x393e'))]()),_0xbae238=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x562448,_0x148b01,new Cesium['Cartesian3']()),new Cesium[(_0x1a4e('0x393e'))]()),_0x1b45fe=Cesium[_0x1a4e('0x3aac')]['fromAxisAngle'](_0xbae238,Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](this[_0x1a4e('0x4b20')])),_0x301571=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3aaf')](_0x1b45fe),_0x3a1b41=Cesium['Matrix4'][_0x1a4e('0x3ab1')](_0x301571);this['_primitive'][_0x1a4e('0x3b64')]=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x260')](_0x293a17,_0x3a1b41,new Cesium[(_0x1a4e('0x3a29'))]());},_0x204276;}();},'./src/LayerManager/SatelliteLayer/GeoVector3.ts':function(_0x224b32,_0x358790,_0x62412d){'use strict';_0x62412d['r'](_0x358790),_0x62412d['d'](_0x358790,_0x1a4e('0x4b28'),function(){return _0x2a640a;});var _0x2a640a=function(_0x224b32,_0x358790,_0x62412d,_0x2a640a,_0x1c7e9e){this['x']=_0x224b32,this['y']=_0x358790,this['z']=_0x62412d,this[_0x1a4e('0x129a')]=_0x2a640a,this[_0x1a4e('0x40e3')]=_0x1c7e9e;};},'./src/LayerManager/SatelliteLayer/RectangularSensor.ts':function(_0x1acca0,_0x26e1b1,_0x52509e){'use strict';_0x52509e['r'](_0x26e1b1),_0x52509e['d'](_0x26e1b1,_0x1a4e('0x4b29'),function(){return _0x11a85e;});var _0x174fb1=_0x52509e(_0x1a4e('0x38d0')),_0x471e22=_0x52509e(_0x1a4e('0x3999')),_0x11a85e=function(){function _0x1acca0(_0x1acca0,_0x26e1b1){this[_0x1a4e('0x4276')]=0x0,this[_0x1a4e('0x4b20')]=0x0,this['_xAngle']=_0x26e1b1[_0x1a4e('0x4b2a')],this['_zAngle']=_0x26e1b1[_0x1a4e('0x4b2b')],this[_0x1a4e('0x4b1c')]=_0x26e1b1[_0x1a4e('0x4b2c')],this[_0x1a4e('0x4b1e')]=_0x26e1b1[_0x1a4e('0x4b1f')],this[_0x1a4e('0x4b2d')]=_0x26e1b1[_0x1a4e('0x40a5')],this['_swingAngle']=_0x26e1b1[_0x1a4e('0x4b21')],this['_primitiveCollection']=_0x1acca0,this['_rectangularOpt']=_0x26e1b1,this[_0x1a4e('0x4b2e')]=!0x0,this[_0x1a4e('0x3b5e')](),this['createScanPlane']();}return Object[_0x1a4e('0x2')](_0x1acca0['prototype'],'rectangle',{'get':function(){if(this[_0x1a4e('0x8f7')]&&this[_0x1a4e('0x4b2f')])return[this[_0x1a4e('0x8f7')],this[_0x1a4e('0x4b2f')]];},'enumerable':!0x0,'configurable':!0x0}),_0x1acca0[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){null!=this[_0x1a4e('0x8f7')]&&(this['_primitiveCollection'][_0x1a4e('0x82')](this[_0x1a4e('0x8f7')]),this[_0x1a4e('0x8f7')]=void 0x0),null!=this['scanPlanePrimitive']&&(this[_0x1a4e('0x4b22')]['remove'](this['scanPlanePrimitive']),this['scanPlanePrimitive']=void 0x0);},Object[_0x1a4e('0x2')](_0x1acca0[_0x1a4e('0xa')],_0x1a4e('0x3553'),{'get':function(){return this['satellitePos'];},'set':function(_0x1acca0){this[_0x1a4e('0x4b1c')]=_0x1acca0,null!=this['primitive']&&(this[_0x1a4e('0x8f7')][_0x1a4e('0x3b64')]=this[_0x1a4e('0x4b30')]()),null!=this['scanPlanePrimitive']&&(this[_0x1a4e('0x4b2f')][_0x1a4e('0x3b64')]=this[_0x1a4e('0x4b30')]());},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1acca0[_0x1a4e('0xa')],_0x1a4e('0x4b2a'),{'get':function(){return this[_0x1a4e('0x4b31')];},'set':function(_0x1acca0){_0x1acca0&&(this[_0x1a4e('0x4b32')][_0x1a4e('0x4b2a')]=_0x1acca0,this[_0x1a4e('0x4b31')]=_0x1acca0,this[_0x1a4e('0x139c')](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x4b33')]());},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1acca0[_0x1a4e('0xa')],_0x1a4e('0x4b2b'),{'get':function(){return this['_zAngle'];},'set':function(_0x1acca0){_0x1acca0&&(this['_rectangularOpt'][_0x1a4e('0x4b2b')]=_0x1acca0,this[_0x1a4e('0x4b34')]=_0x1acca0,this[_0x1a4e('0x139c')](),this['createPrimitive'](),this[_0x1a4e('0x4b33')]());},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1acca0[_0x1a4e('0xa')],_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x396a');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1acca0['prototype'],_0x1a4e('0x4b21'),{'get':function(){return this[_0x1a4e('0x4b20')];},'set':function(_0x1acca0){null!=_0x1acca0&&_0x1acca0>=-0x2d&&_0x1acca0<=0x2d&&(this[_0x1a4e('0x4b32')][_0x1a4e('0x4b21')]=_0x1acca0,this[_0x1a4e('0x4b20')]=_0x1acca0,this['destroy'](),this[_0x1a4e('0x3b5e')](),this[_0x1a4e('0x4b33')]());},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1acca0[_0x1a4e('0xa')],_0x1a4e('0x4b1f'),{'set':function(_0x1acca0){if(_0x1acca0){this[_0x1a4e('0x4b32')][_0x1a4e('0x4b1f')]=_0x1acca0,this[_0x1a4e('0x4b1e')]=_0x1acca0;var _0x26e1b1=Cesium['Color'][_0x1a4e('0x393c')](_0x1acca0);this[_0x1a4e('0x396a')][0x0][_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['color']=_0x26e1b1;}},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1acca0[_0x1a4e('0xa')],'scanColor',{'set':function(_0x1acca0){if(_0x1acca0){this['_rectangularOpt'][_0x1a4e('0x40a5')]=_0x1acca0,this[_0x1a4e('0x4b2d')]=_0x1acca0;var _0x26e1b1=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x1acca0);this[_0x1a4e('0x396a')][0x1]['appearance'][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x134')]=_0x26e1b1;}},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1acca0['prototype'],_0x1a4e('0x4b35'),{'get':function(){return this[_0x1a4e('0x4b2e')];},'set':function(_0x1acca0){this['_scanShow']=_0x1acca0,this['scanPlanePrimitive']&&(this['scanPlanePrimitive']['show']=_0x1acca0);},'enumerable':!0x0,'configurable':!0x0}),_0x1acca0['prototype'][_0x1a4e('0x4b27')]=function(_0x1acca0){var _0x26e1b1=this[_0x1a4e('0x4b36')](_0x1acca0),_0x52509e=Cesium['Matrix4'][_0x1a4e('0x260')](this[_0x1a4e('0x8f7')][_0x1a4e('0x3b64')],_0x26e1b1,new Cesium[(_0x1a4e('0x3a29'))]()),_0x174fb1=Cesium[_0x1a4e('0x3aac')]['fromAxisAngle'](new Cesium[(_0x1a4e('0x393e'))](0x0,0x1,0x0),Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](this[_0x1a4e('0x4b20')])),_0x471e22=Cesium['Matrix3'][_0x1a4e('0x3aaf')](_0x174fb1),_0x11a85e=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x471e22);_0x52509e=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x260')](_0x52509e,_0x11a85e,new Cesium[(_0x1a4e('0x3a29'))]()),this['primitive'][_0x1a4e('0x3b64')]=_0x52509e,this[_0x1a4e('0x4276')]+=0x1,this[_0x1a4e('0x4276')]>0x2*this[_0x1a4e('0x4b31')]&&(this['scanAngle']=this['scanAngle']-0x2*this['_xAngle']);var _0x3a9ec2=this[_0x1a4e('0x4276')];_0x3a9ec2>=this[_0x1a4e('0x4b31')]&&(_0x3a9ec2=0x2*this[_0x1a4e('0x4b31')]-_0x3a9ec2),_0x3a9ec2-=this[_0x1a4e('0x4b31')]/0x2;var _0x294c58=Cesium[_0x1a4e('0x3aac')]['fromAxisAngle'](new Cesium[(_0x1a4e('0x393e'))](0x0,0x1,0x0),Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x3a9ec2)),_0x430438=Cesium['Matrix3'][_0x1a4e('0x3aaf')](_0x294c58),_0x51dddb=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x430438),_0x538ab9=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x260')](_0x52509e,_0x51dddb,new Cesium[(_0x1a4e('0x3a29'))]());this['scanPlanePrimitive']['modelMatrix']=_0x538ab9;},_0x1acca0[_0x1a4e('0xa')][_0x1a4e('0x4b36')]=function(_0x1acca0){var _0x26e1b1=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3d96')](this[_0x1a4e('0x8f7')]['modelMatrix'],new Cesium[(_0x1a4e('0x3a29'))]()),_0x52509e=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x4507')](_0x26e1b1,_0x1acca0,new Cesium[(_0x1a4e('0x393e'))]()),_0x174fb1=Cesium['Cartesian3']['normalize'](_0x52509e,new Cesium[(_0x1a4e('0x393e'))]());_0x174fb1=new Cesium[(_0x1a4e('0x393e'))](_0x174fb1['x'],_0x174fb1['y'],0x0);var _0x471e22=new Cesium['Cartesian3'](0x0,0x1,0x0),_0x11a85e=Cesium['Cartesian3']['cross'](_0x471e22,_0x174fb1,new Cesium[(_0x1a4e('0x393e'))]()),_0x422b29=Cesium['Cartesian3'][_0x1a4e('0x3a9d')](_0x174fb1,_0x471e22)/Cesium[_0x1a4e('0x393e')]['magnitude'](_0x174fb1),_0x524b13=Math['acos'](_0x422b29),_0x587157=Cesium[_0x1a4e('0x3aac')][_0x1a4e('0x40c4')](_0x11a85e,_0x524b13),_0x5bba69=Cesium[_0x1a4e('0x3aae')]['fromQuaternion'](_0x587157);return Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x5bba69);},_0x1acca0[_0x1a4e('0xa')][_0x1a4e('0x4b30')]=function(){return Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x3ab0')](_0x174fb1[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x4b1c')]));},_0x1acca0['prototype'][_0x1a4e('0x3b5e')]=function(){var _0x1acca0=this[_0x1a4e('0x4b1c')][_0x1a4e('0x398c')],_0x26e1b1=this['_xAngle'],_0x52509e=this[_0x1a4e('0x4b34')];0x0!==this[_0x1a4e('0x4b20')]&&(_0x1acca0=0x1*_0x1acca0/Math[_0x1a4e('0x90')](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x26e1b1/0x2+Math['abs'](this[_0x1a4e('0x4b20')])+0x5)));var _0x174fb1=Math[_0x1a4e('0xbe')](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x26e1b1/0x2))*_0x1acca0,_0x11a85e=Math[_0x1a4e('0xbe')](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x52509e/0x2))*_0x1acca0,_0x205507=[],_0x49c0bb=[];_0x205507[_0x1a4e('0x46')](-_0x174fb1),_0x205507[_0x1a4e('0x46')](_0x11a85e),_0x205507['push'](-_0x1acca0),_0x49c0bb['push'](0x0),_0x49c0bb[_0x1a4e('0x46')](0x1),_0x205507[_0x1a4e('0x46')](_0x174fb1),_0x205507[_0x1a4e('0x46')](_0x11a85e),_0x205507[_0x1a4e('0x46')](-_0x1acca0),_0x49c0bb[_0x1a4e('0x46')](0.25),_0x49c0bb[_0x1a4e('0x46')](0x1),_0x205507[_0x1a4e('0x46')](0x0),_0x205507[_0x1a4e('0x46')](0x0),_0x205507[_0x1a4e('0x46')](0.01),_0x49c0bb[_0x1a4e('0x46')](0.125),_0x49c0bb[_0x1a4e('0x46')](0x0),_0x205507[_0x1a4e('0x46')](_0x174fb1),_0x205507[_0x1a4e('0x46')](_0x11a85e),_0x205507[_0x1a4e('0x46')](-_0x1acca0),_0x49c0bb['push'](0.25),_0x49c0bb['push'](0x1),_0x205507[_0x1a4e('0x46')](_0x174fb1),_0x205507[_0x1a4e('0x46')](-_0x11a85e),_0x205507[_0x1a4e('0x46')](-_0x1acca0),_0x49c0bb['push'](0.5),_0x49c0bb[_0x1a4e('0x46')](0x1),_0x205507['push'](0x0),_0x205507[_0x1a4e('0x46')](0x0),_0x205507['push'](0.01),_0x49c0bb['push'](0.375),_0x49c0bb['push'](0x0),_0x205507[_0x1a4e('0x46')](_0x174fb1),_0x205507[_0x1a4e('0x46')](-_0x11a85e),_0x205507[_0x1a4e('0x46')](-_0x1acca0),_0x49c0bb['push'](0.5),_0x49c0bb[_0x1a4e('0x46')](0x1),_0x205507['push'](-_0x174fb1),_0x205507[_0x1a4e('0x46')](-_0x11a85e),_0x205507['push'](-_0x1acca0),_0x49c0bb['push'](0.75),_0x49c0bb[_0x1a4e('0x46')](0x1),_0x205507['push'](0x0),_0x205507['push'](0x0),_0x205507[_0x1a4e('0x46')](0.01),_0x49c0bb[_0x1a4e('0x46')](0.625),_0x49c0bb[_0x1a4e('0x46')](0x0),_0x205507[_0x1a4e('0x46')](-_0x174fb1),_0x205507[_0x1a4e('0x46')](-_0x11a85e),_0x205507[_0x1a4e('0x46')](-_0x1acca0),_0x49c0bb[_0x1a4e('0x46')](0.75),_0x49c0bb[_0x1a4e('0x46')](0x1),_0x205507['push'](-_0x174fb1),_0x205507['push'](_0x11a85e),_0x205507['push'](-_0x1acca0),_0x49c0bb['push'](0x1),_0x49c0bb[_0x1a4e('0x46')](0x1),_0x205507[_0x1a4e('0x46')](0x0),_0x205507[_0x1a4e('0x46')](0x0),_0x205507[_0x1a4e('0x46')](0.01),_0x49c0bb[_0x1a4e('0x46')](0.875),_0x49c0bb[_0x1a4e('0x46')](0x0);var _0x56156b=new Float64Array(_0x205507),_0x1d8a4c=new Float32Array(_0x49c0bb),_0x3859ad=new Cesium[(_0x1a4e('0x3abe'))]({'attributes':{'position':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x56156b}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':_0x1d8a4c})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium['BoundingSphere']['fromVertices'](_0x56156b)});this[_0x1a4e('0x8f7')]=new Cesium['Primitive']({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x3859ad}),'appearance':new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':Cesium['Color'][_0x1a4e('0x393c')](this['_coverColor'])},'source':this[_0x1a4e('0x3b43')]()}})}),'asynchronous':!0x1}),this['primitive'][_0x1a4e('0x3b64')]=this[_0x1a4e('0x4b30')](),this[_0x1a4e('0x8f7')]['pickID']=_0x471e22[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),this['_primitiveCollection'][_0x1a4e('0x177')](this['primitive']);},_0x1acca0[_0x1a4e('0xa')]['getMS']=function(){return _0x1a4e('0x4b37');},_0x1acca0[_0x1a4e('0xa')][_0x1a4e('0x4b33')]=function(){var _0x1acca0=this[_0x1a4e('0x4b1c')][_0x1a4e('0x398c')],_0x26e1b1=this[_0x1a4e('0x4b31')],_0x52509e=this[_0x1a4e('0x4b34')];0x0!==this[_0x1a4e('0x4b20')]&&(_0x1acca0=0x1*_0x1acca0/Math['cos'](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x26e1b1/0x2+this[_0x1a4e('0x4b20')]+0x5)));var _0x174fb1=Math['tan'](Cesium['Math'][_0x1a4e('0x566')](_0x52509e/0x2))*_0x1acca0,_0x11a85e=[];_0x11a85e['push'](0x0),_0x11a85e[_0x1a4e('0x46')](_0x174fb1),_0x11a85e[_0x1a4e('0x46')](-_0x1acca0),_0x11a85e[_0x1a4e('0x46')](0x0),_0x11a85e[_0x1a4e('0x46')](-_0x174fb1),_0x11a85e[_0x1a4e('0x46')](-_0x1acca0),_0x11a85e['push'](0x0),_0x11a85e['push'](0x0),_0x11a85e['push'](0.01);var _0x37fe4d=new Float64Array(_0x11a85e),_0x52b2ef=new Cesium[(_0x1a4e('0x3abe'))]({'attributes':{'position':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':_0x37fe4d})},'primitiveType':Cesium['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium[_0x1a4e('0x3ac1')]['fromVertices'](_0x37fe4d)});this[_0x1a4e('0x4b2f')]=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x52b2ef}),'show':this[_0x1a4e('0x4b2e')],'appearance':new Cesium['MaterialAppearance']({'material':new Cesium['Material']({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':Cesium['Color'][_0x1a4e('0x393c')](this[_0x1a4e('0x4b2d')])}}})}),'asynchronous':!0x1}),this[_0x1a4e('0x4b2f')][_0x1a4e('0x3b64')]=this['getWorldMatrix'](),this[_0x1a4e('0x4b2f')]['pickID']=_0x471e22[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),this['_primitiveCollection'][_0x1a4e('0x177')](this['scanPlanePrimitive']);},_0x1acca0;}();},'./src/LayerManager/SatelliteLayer/Satellite.ts':function(_0x5ce43a,_0x340d3f,_0xaad579){'use strict';_0xaad579['r'](_0x340d3f),_0xaad579['d'](_0x340d3f,_0x1a4e('0x4b38'),function(){return _0x3b2c25;}),_0xaad579['d'](_0x340d3f,_0x1a4e('0x3fc9'),function(){return _0x33ae7c;}),_0xaad579['d'](_0x340d3f,_0x1a4e('0x3fcb'),function(){return _0xd8f7e5;}),_0xaad579['d'](_0x340d3f,_0x1a4e('0x3fca'),function(){return _0x40677b;}),_0xaad579['d'](_0x340d3f,_0x1a4e('0x4b39'),function(){return _0x238c64;}),_0xaad579['d'](_0x340d3f,_0x1a4e('0x4b3a'),function(){return _0xf6da51;}),_0xaad579['d'](_0x340d3f,_0x1a4e('0x4b3b'),function(){return _0x591825;});var _0x57cb38,_0xd8f7e5,_0x40677b,_0x1307fe=_0xaad579(_0x1a4e('0x4053')),_0x4ef9ee=_0xaad579('./src/LayerManager/SatelliteLayer/SatelliteComponents.ts'),_0xccd6b6=_0xaad579(_0x1a4e('0x3999')),_0x1ff0ba=_0xaad579(_0x1a4e('0x4b3c')),_0x53bb0b=_0xaad579(_0x1a4e('0x4b3d')),_0x4926af=_0xaad579(_0x1a4e('0x38d0')),_0x51ccd9=_0xaad579(_0x1a4e('0x4b3e')),_0x153f93=_0xaad579(_0x1a4e('0x4b3f')),_0x514eee=_0xaad579(_0x1a4e('0x4b40')),_0x3bb769=(_0x57cb38=function(_0x5ce43a,_0x340d3f){return(_0x57cb38=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x5ce43a,_0x340d3f){_0x5ce43a['__proto__']=_0x340d3f;}||function(_0x5ce43a,_0x340d3f){for(var _0xaad579 in _0x340d3f)_0x340d3f[_0x1a4e('0xb')](_0xaad579)&&(_0x5ce43a[_0xaad579]=_0x340d3f[_0xaad579]);})(_0x5ce43a,_0x340d3f);},function(_0x5ce43a,_0x340d3f){function _0xaad579(){this[_0x1a4e('0x10')]=_0x5ce43a;}_0x57cb38(_0x5ce43a,_0x340d3f),_0x5ce43a[_0x1a4e('0xa')]=null===_0x340d3f?Object[_0x1a4e('0x7')](_0x340d3f):(_0xaad579['prototype']=_0x340d3f['prototype'],new _0xaad579());}),_0x463a0f=function(_0x5ce43a){var _0x340d3f='function'==typeof Symbol&&_0x5ce43a[Symbol[_0x1a4e('0x335')]],_0xaad579=0x0;return _0x340d3f?_0x340d3f[_0x1a4e('0x1')](_0x5ce43a):{'next':function(){return _0x5ce43a&&_0xaad579>=_0x5ce43a[_0x1a4e('0x1e')]&&(_0x5ce43a=void 0x0),{'value':_0x5ce43a&&_0x5ce43a[_0xaad579++],'done':!_0x5ce43a};}};},_0x3b2c25=function(_0x5ce43a){function _0x340d3f(_0x340d3f){var _0xaad579=_0x5ce43a[_0x1a4e('0x1')](this)||this;return _0xaad579[_0x1a4e('0x515')]=_0xccd6b6[_0x1a4e('0x39a0')]['createGuid'](),_0xaad579[_0x1a4e('0x4137')]=_0x340d3f,_0xaad579[_0x1a4e('0x4b41')]=_0x340d3f[_0x1a4e('0x4ae8')],_0xaad579['_opt'][_0x1a4e('0x4b42')]||(_0xaad579[_0x1a4e('0x4137')][_0x1a4e('0x4b42')]='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADJSURBVDhPnZHRDcMgEEMZjVEYpaNklIzSEfLfD4qNnXAJSFWfhO7w2Zc0Tf9QG2rXrEzSUeZLOGm47WoH95x3Hl3jEgilvDgsOQUTqsNl68ezEwn1vae6lceSEEYvvWNT/Rxc4CXQNGadho1NXoJ+9iaqc2xi2xbt23PJCDIB6TQjOC6Bho/sDy3fBQT8PrVhibU7yBFcEPaRxOoeTwbwByCOYf9VGp1BYI1BA+EeHhmfzKbBoJEQwn1yzUZtyspIQUha85MpkNIXB7GizqDEECsAAAAASUVORK5CYII='),_0xaad579[_0x1a4e('0x4137')][_0x1a4e('0x4b43')]||(_0xaad579[_0x1a4e('0x4137')][_0x1a4e('0x4b43')]=_0xccd6b6[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x4b44'))),_0xaad579[_0x1a4e('0x39d5')]=_0x340d3f['type'],_0xaad579[_0x1a4e('0x4b45')]=new Map(),_0xaad579[_0x1a4e('0x4b46')]=new Array(),_0xaad579[_0x1a4e('0x4b47')]=_0x340d3f[_0x1a4e('0x4b47')],_0xaad579[_0x1a4e('0x40e4')]=new Cesium['Clock']({'clockRange':Cesium['ClockRange'][_0x1a4e('0x40fc')],'clockStep':Cesium[_0x1a4e('0x40fd')][_0x1a4e('0x40fe')],'multiplier':0x1,'shouldAnimate':!0x0}),_0xaad579['_currentPosition']=new _0x4926af['GeoPoint'](0x0,0x0,0x0),_0xaad579['_localOrbitData']=_0x340d3f[_0x1a4e('0x4b48')],_0xaad579[_0x1a4e('0x4b49')]=_0x340d3f[_0x1a4e('0x4b4a')],_0xaad579[_0x1a4e('0x4b4b')]=new Map(),_0xaad579;}return _0x3bb769(_0x340d3f,_0x5ce43a),_0x340d3f['prototype'][_0x1a4e('0x4b4c')]=function(_0x5ce43a){if(!this['_entitiesMap'][_0x1a4e('0x178')](_0x5ce43a))switch(_0x5ce43a){case _0x4ef9ee['SatelliteComponents'][_0x1a4e('0x4b4d')]:this[_0x1a4e('0x4b4e')]();break;case _0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4f')]:this[_0x1a4e('0x4b50')]();break;case _0x4ef9ee[_0x1a4e('0x3fcc')]['Label']:this[_0x1a4e('0x2ca7')]();break;case _0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')]:this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')]?(this[_0x1a4e('0x4b4b')][_0x1a4e('0x3b')](function(_0x5ce43a){_0x5ce43a['visible']=!0x0;}),this[_0x1a4e('0x4b45')]['set'](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')],!0x0)):this[_0x1a4e('0x39d5')]==_0x40677b[_0x1a4e('0x4b24')]?this[_0x1a4e('0x3db3')]():this[_0x1a4e('0x4b53')]();break;case _0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b54')]:if(this[_0x1a4e('0x4137')]['synchronous'])return;this[_0x1a4e('0x4b55')]();}},_0x340d3f['prototype'][_0x1a4e('0x4b56')]=function(_0x5ce43a){if(this[_0x1a4e('0x4b45')]['has'](_0x5ce43a))switch(_0x5ce43a){case _0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4d')]:this[_0x1a4e('0x38fa')]['entities']['remove'](this['_entitiesMap']['get'](_0x4ef9ee['SatelliteComponents']['SatImage'])),this[_0x1a4e('0x4b45')][_0x1a4e('0xf4c')](_0x4ef9ee['SatelliteComponents']['SatImage']);break;case _0x4ef9ee['SatelliteComponents'][_0x1a4e('0x4b4f')]:this[_0x1a4e('0x38fa')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4f')])),this[_0x1a4e('0x4b45')][_0x1a4e('0xf4c')](_0x4ef9ee[_0x1a4e('0x3fcc')]['Orbit']);break;case _0x4ef9ee[_0x1a4e('0x3fcc')]['Label']:this[_0x1a4e('0x38fa')][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x191a')])),this[_0x1a4e('0x4b45')][_0x1a4e('0xf4c')](_0x4ef9ee[_0x1a4e('0x3fcc')]['Label']);break;case _0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')]:this[_0x1a4e('0x4137')]['synchronous']?this[_0x1a4e('0x4b4b')][_0x1a4e('0x3b')](function(_0x5ce43a){_0x5ce43a[_0x1a4e('0x3b2c')]=!0x1;}):this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')])['destroy'](),this[_0x1a4e('0x4b45')][_0x1a4e('0xf4c')](_0x4ef9ee[_0x1a4e('0x3fcc')]['Sensor']);break;case _0x4ef9ee[_0x1a4e('0x3fcc')]['GroundTrack']:this[_0x1a4e('0x38fa')]['entities'][_0x1a4e('0x82')](this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b54')])),this[_0x1a4e('0x4b45')][_0x1a4e('0xf4c')](_0x4ef9ee[_0x1a4e('0x3fcc')]['GroundTrack']);}},_0x340d3f['prototype'][_0x1a4e('0x4b57')]=function(_0x5ce43a,_0x340d3f,_0xaad579){if(this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')]){var _0x57cb38=new _0x591825();_0x57cb38['position']=this['_synchronousPosition'],_0x57cb38['covers']=_0x340d3f,_0x57cb38[_0x1a4e('0x4b1f')]=null==_0xaad579?this[_0x1a4e('0x4137')][_0x1a4e('0x4b1f')]:_0xaad579;var _0xd8f7e5=new _0x514eee[(_0x1a4e('0x4b58'))](this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')],_0x57cb38);this[_0x1a4e('0x4b4b')][_0x1a4e('0x178')](_0x5ce43a)&&this['_synchronousSensorMap'][_0x1a4e('0x179')](_0x5ce43a)['destroy'](),this[_0x1a4e('0x4b4b')][_0x1a4e('0x17a')](_0x5ce43a,_0xd8f7e5),this[_0x1a4e('0x4b45')][_0x1a4e('0x178')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')])?_0xd8f7e5[_0x1a4e('0x3b2c')]=!0x0:_0xd8f7e5[_0x1a4e('0x3b2c')]=!0x1;}},_0x340d3f['prototype'][_0x1a4e('0x4b59')]=function(_0x5ce43a){this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')]&&this[_0x1a4e('0x4b4b')][_0x1a4e('0x178')](_0x5ce43a)&&(this[_0x1a4e('0x4b4b')][_0x1a4e('0x179')](_0x5ce43a)[_0x1a4e('0x139c')](),this[_0x1a4e('0x4b4b')][_0x1a4e('0xf4c')](_0x5ce43a));},_0x340d3f['prototype'][_0x1a4e('0x4b5a')]=function(_0x5ce43a){return this[_0x1a4e('0x4137')]['synchronous']?this[_0x1a4e('0x4b4b')][_0x1a4e('0x179')](_0x5ce43a):this['_satelliteSensor'];},_0x340d3f[_0x1a4e('0xa')]['createSatImageOrModel']=function(){var _0x5ce43a=this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4d')]);if(this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')])_0x5ce43a||this[_0x1a4e('0x4b5b')]();else{var _0x340d3f=_0x4926af[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x4b5c')]);Cesium[_0x1a4e('0x393e')]['distance'](this['_viewer'][_0x1a4e('0x3a06')][_0x1a4e('0x3553')],_0x340d3f)<0x1e8480?_0x5ce43a?_0x5ce43a['billboard']&&(this[_0x1a4e('0x38fa')]['entities'][_0x1a4e('0x82')](_0x5ce43a),this[_0x1a4e('0x4b45')]['delete'](_0x4ef9ee['SatelliteComponents'][_0x1a4e('0x4b4d')]),this[_0x1a4e('0x4b5d')]()):this[_0x1a4e('0x4b5d')]():_0x5ce43a?_0x5ce43a['model']&&(this[_0x1a4e('0x38fa')][_0x1a4e('0x38e2')]['remove'](_0x5ce43a),this[_0x1a4e('0x4b45')][_0x1a4e('0xf4c')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4d')]),this[_0x1a4e('0x4b5b')]()):this[_0x1a4e('0x4b5b')]();}},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b5b')]=function(){var _0x5ce43a=new _0x4926af[(_0x1a4e('0x38da'))](0x0,0x0);this[_0x1a4e('0x4137')]['synchronous']&&(_0x5ce43a=this[_0x1a4e('0x4b49')]);var _0x340d3f=new Cesium[(_0x1a4e('0x3948'))]({'position':_0x4926af[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x5ce43a),'billboard':new Cesium[(_0x1a4e('0x4b5e'))]({'image':this['_opt']['imageUrl'],'height':0x20,'width':0x20})});this[_0x1a4e('0x38fa')][_0x1a4e('0x38e2')]['add'](_0x340d3f),this['_entitiesMap'][_0x1a4e('0x17a')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4d')],_0x340d3f);},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b5d')]=function(){var _0x5ce43a=this,_0x340d3f=new Cesium[(_0x1a4e('0x3948'))]({'position':new Cesium[(_0x1a4e('0x393e'))](),'model':new Cesium['ModelGraphics']({'uri':this[_0x1a4e('0x4137')][_0x1a4e('0x4b43')],'minimumPixelSize':this['sateMinPixelSize'],'maximumScale':0x4e20}),'orientation':new Cesium[(_0x1a4e('0x3a95'))](function(){var _0x340d3f=_0x5ce43a[_0x1a4e('0x4b5f')]['getValue'](_0x5ce43a[_0x1a4e('0x40e4')][_0x1a4e('0x40f8')]()),_0xaad579=_0x5ce43a[_0x1a4e('0x4b5f')][_0x1a4e('0x1460')](Cesium['JulianDate']['addSeconds'](_0x5ce43a['_clock']['tick'](),0x1,new Cesium[(_0x1a4e('0x39a9'))]()));if(_0x340d3f){var _0x57cb38=Cesium['Cartesian3'][_0x1a4e('0x262')](_0xaad579,_0x340d3f,new Cesium['Cartesian3']()),_0xd8f7e5=Cesium['Cartesian3'][_0x1a4e('0x262')](_0x340d3f,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),new Cesium['Cartesian3']()),_0x40677b=Cesium[_0x1a4e('0x393e')]['normalize'](_0x57cb38,new Cesium[(_0x1a4e('0x393e'))]()),_0x1307fe=new Cesium['Cartesian3'](0x1,0x0,0x0),_0x4ef9ee=Cesium['Cartesian3']['dot'](_0x1307fe,_0x40677b),_0xccd6b6=Math[_0x1a4e('0x92c')](_0x4ef9ee),_0x1ff0ba=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x1307fe,_0x40677b,new Cesium[(_0x1a4e('0x393e'))]()),_0x53bb0b=Cesium['Quaternion']['fromAxisAngle'](_0x1ff0ba,_0xccd6b6),_0x4926af=Cesium[_0x1a4e('0x3aae')][_0x1a4e('0x3aaf')](_0x53bb0b),_0x51ccd9=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3ab1')](_0x4926af,_0xd8f7e5),_0x153f93=Cesium['Transforms'][_0x1a4e('0x3ab0')](_0x340d3f,Cesium[_0x1a4e('0x3ab8')]['WGS84'],new Cesium[(_0x1a4e('0x3a29'))]()),_0x514eee=Cesium[_0x1a4e('0x3a29')]['multiply'](Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3d96')](_0x153f93,new Cesium[(_0x1a4e('0x3a29'))]()),_0x51ccd9,new Cesium['Matrix4']()),_0x3bb769=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3cd8')](_0x514eee,new Cesium[(_0x1a4e('0x3aae'))]()),_0x463a0f=Cesium[_0x1a4e('0x3aac')][_0x1a4e('0x4b60')](_0x3bb769),_0x3b2c25=Cesium[_0x1a4e('0x3aab')]['fromQuaternion'](_0x463a0f),_0x33ae7c=new Cesium[(_0x1a4e('0x3aab'))](_0x3b2c25['heading'],_0x3b2c25[_0x1a4e('0x3a69')],Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](0x0));return Cesium[_0x1a4e('0x3b56')]['headingPitchRollQuaternion'](_0x340d3f,_0x33ae7c);}console['log']('!position');},!0x1)});this[_0x1a4e('0x38fa')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x340d3f),this[_0x1a4e('0x4b45')][_0x1a4e('0x17a')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4d')],_0x340d3f);},_0x340d3f[_0x1a4e('0xa')]['createLabel']=function(){var _0x5ce43a=new _0x4926af['GeoPoint'](0x0,0x0);this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')]&&(_0x5ce43a=this[_0x1a4e('0x4b49')]);var _0x340d3f=new Cesium[(_0x1a4e('0x3948'))]({'position':_0x4926af[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x5ce43a),'label':new Cesium[(_0x1a4e('0x4b61'))]({'text':this['name'],'scale':0.5,'fillColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this[_0x1a4e('0x40a1')]),'horizontalOrigin':Cesium['HorizontalOrigin'][_0x1a4e('0x3ea')],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](0x10,0x0),'pixelOffsetScaleByDistance':new Cesium[(_0x1a4e('0x44fe'))](0xa,0xa,0x1e8480,0x1)})});this['_viewer']['entities'][_0x1a4e('0x177')](_0x340d3f),this[_0x1a4e('0x4b45')]['set'](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x191a')],_0x340d3f);},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b50')]=function(){var _0x5ce43a=new Cesium[(_0x1a4e('0x19e6'))]({'appearance':new Cesium[(_0x1a4e('0x3b81'))]({'material':new Cesium['Material']({'fabric':{'uniforms':{'image':_0xccd6b6['Util'][_0x1a4e('0x39a5')](_0x1a4e('0x4b62')),'color':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this[_0x1a4e('0x4137')][_0x1a4e('0x4b63')])},'source':this['getMS']()}})}),'geometryInstances':new Cesium['GeometryInstance']({'geometry':new Cesium[(_0x1a4e('0x3da9'))]({'positions':this[_0x1a4e('0x4b46')],'width':this['_opt'][_0x1a4e('0x4b64')],'arcType':Cesium['ArcType']['NONE'],'vertexFormat':Cesium[_0x1a4e('0x3b81')][_0x1a4e('0x446d')]})}),'asynchronous':!0x1});_0x5ce43a[_0x1a4e('0x4b26')]=_0xccd6b6['Util'][_0x1a4e('0x404b')](),this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x5ce43a),this[_0x1a4e('0x4b45')][_0x1a4e('0x17a')](_0x4ef9ee[_0x1a4e('0x3fcc')]['Orbit'],_0x5ce43a);},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x3b43')]=function(){return'czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20colorImage=texture2D(image,st);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20\x20color.a;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20';},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x3db3')]=function(){var _0x5ce43a=this[_0x1a4e('0x40e4')]['tick'](),_0x340d3f=this[_0x1a4e('0x4b5f')][_0x1a4e('0x1460')](_0x5ce43a),_0xaad579=this['_sampleProperty'][_0x1a4e('0x1460')](Cesium['JulianDate']['addSeconds'](_0x5ce43a,0x1,new Cesium[(_0x1a4e('0x39a9'))]()));this[_0x1a4e('0x4b65')]||(this[_0x1a4e('0x4b65')]=new _0xf6da51(),this[_0x1a4e('0x4b65')][_0x1a4e('0x4b1f')]=this[_0x1a4e('0x4137')][_0x1a4e('0x4b1f')]),this[_0x1a4e('0x4b65')]['conicPos']=_0x4926af[_0x1a4e('0x38da')]['fromCartesian3'](_0x340d3f),this['_satelliteSensor']=new _0x51ccd9[(_0x1a4e('0x4b1b'))](this['_viewer'][_0x1a4e('0x38d6')]['primitives'],this['_sensorOpt']),this[_0x1a4e('0x4b66')][_0x1a4e('0x4b27')](_0xaad579),this[_0x1a4e('0x4b45')][_0x1a4e('0x17a')](_0x4ef9ee[_0x1a4e('0x3fcc')]['Sensor'],this[_0x1a4e('0x4b66')]);},_0x340d3f['prototype']['createSquareCone']=function(){var _0x5ce43a=this[_0x1a4e('0x40e4')][_0x1a4e('0x40f8')](),_0x340d3f=this['_sampleProperty'][_0x1a4e('0x1460')](_0x5ce43a),_0xaad579=this[_0x1a4e('0x4b5f')][_0x1a4e('0x1460')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x5ce43a,0x1,new Cesium[(_0x1a4e('0x39a9'))]()));this[_0x1a4e('0x4b65')]||(this[_0x1a4e('0x4b65')]=new _0x238c64(),this[_0x1a4e('0x4b65')][_0x1a4e('0x4b1f')]=this[_0x1a4e('0x4137')][_0x1a4e('0x4b1f')],this[_0x1a4e('0x4b65')][_0x1a4e('0x40a5')]=this[_0x1a4e('0x4137')][_0x1a4e('0x4b1f')]),this[_0x1a4e('0x4b65')]['rectangularPos']=_0x4926af[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x340d3f),this[_0x1a4e('0x4b66')]=new _0x153f93[(_0x1a4e('0x4b29'))](this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')],this[_0x1a4e('0x4b65')]),this['_satelliteSensor'][_0x1a4e('0x4b27')](_0xaad579),this[_0x1a4e('0x4b45')]['set'](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')],this['_satelliteSensor']);},_0x340d3f[_0x1a4e('0xa')]['createGroundTrack']=function(){var _0x5ce43a=this;if(this[_0x1a4e('0x4b45')][_0x1a4e('0x178')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')])){var _0x340d3f=this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')]),_0xaad579=this[_0x1a4e('0x40e4')][_0x1a4e('0x40f8')](),_0x57cb38=this[_0x1a4e('0x4b5f')][_0x1a4e('0x1460')](_0xaad579);Cesium['JulianDate']['addSeconds'](_0xaad579,0x1,_0xaad579);var _0xd8f7e5=this[_0x1a4e('0x4b5f')][_0x1a4e('0x1460')](_0xaad579);if(_0x1a4e('0x396a')===_0x340d3f['type']){var _0x40677b=this[_0x1a4e('0x4b67')](_0x57cb38,_0xd8f7e5),_0x1307fe=new Cesium[(_0x1a4e('0x3948'))]({'polygon':new Cesium[(_0x1a4e('0x4b68'))]({'heightReference':Cesium[_0x1a4e('0x394a')][_0x1a4e('0x394b')],'material':new Cesium[(_0x1a4e('0x4520'))](new Cesium[(_0x1a4e('0x3a95'))](function(){return Cesium['Color'][_0x1a4e('0x393c')](_0x5ce43a[_0x1a4e('0x4137')]['groundTrackColor']);},!0x1)),'hierarchy':new Cesium['CallbackProperty'](function(){var _0x57cb38=_0x4926af[_0x1a4e('0x38da')]['toCartesian3'](_0x340d3f['position']);if(null!=_0x57cb38){var _0xd8f7e5=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x5ce43a[_0x1a4e('0x40e4')]['tick'](),0x1,new Cesium[(_0x1a4e('0x39a9'))]()),_0x1307fe=_0x5ce43a['_sampleProperty'][_0x1a4e('0x1460')](_0xd8f7e5);if(null!=_0x1307fe){var _0x4ef9ee=_0x5ce43a[_0x1a4e('0x4b67')](_0x57cb38,_0x1307fe);return Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x4b69')](_0xd8f7e5,Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0xaad579,0x3c,new Cesium[(_0x1a4e('0x39a9'))]()))&&(_0xaad579=_0xd8f7e5,_0x40677b=_0x4ef9ee),{'positions':[_0x4ef9ee[0x0],_0x4ef9ee[0x1],_0x40677b[0x2],_0x40677b[0x3]]};}}},!0x1)})});this[_0x1a4e('0x38fa')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x1307fe),this[_0x1a4e('0x4b45')][_0x1a4e('0x17a')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b54')],_0x1307fe);}else if('conic'===_0x340d3f[_0x1a4e('0x40')]){var _0xccd6b6=this[_0x1a4e('0x4b6a')](_0x57cb38,_0xd8f7e5);_0x1307fe=new Cesium[(_0x1a4e('0x3948'))]({'polygon':new Cesium[(_0x1a4e('0x4b68'))]({'heightReference':Cesium['HeightReference']['CLAMP_TO_GROUND'],'material':new Cesium[(_0x1a4e('0x4520'))](new Cesium[(_0x1a4e('0x3a95'))](function(){return Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x5ce43a[_0x1a4e('0x4137')]['groundTrackColor']);},!0x1)),'hierarchy':new Cesium[(_0x1a4e('0x3a95'))](function(){var _0x57cb38=_0x4926af[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x340d3f['position']);if(null!=_0x57cb38){var _0xd8f7e5=Cesium[_0x1a4e('0x39a9')]['addSeconds'](_0x5ce43a['_clock'][_0x1a4e('0x40f8')](),0x1,new Cesium[(_0x1a4e('0x39a9'))]()),_0x40677b=_0x5ce43a['_sampleProperty'][_0x1a4e('0x1460')](_0xd8f7e5);if(null!=_0x40677b){var _0x1307fe=_0x5ce43a[_0x1a4e('0x4b6a')](_0x57cb38,_0x40677b);Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x4b69')](_0xd8f7e5,Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0xaad579,0x3c,new Cesium[(_0x1a4e('0x39a9'))]()))&&(_0xaad579=_0xd8f7e5,_0xccd6b6=_0x1307fe);for(var _0x4ef9ee=[],_0x1ff0ba=0x0;_0x1ff0ba<=_0x1307fe[_0x1a4e('0x1e')]/0x2;_0x1ff0ba++)_0x4ef9ee['push'](_0x1307fe[_0x1ff0ba]);for(var _0x53bb0b=0x0;_0x53bb0b<_0xccd6b6[_0x1a4e('0x1e')]/0x2;_0x53bb0b++)_0x4ef9ee[_0x1a4e('0x46')](_0xccd6b6[_0xccd6b6[_0x1a4e('0x1e')]/0x2+_0x53bb0b]);return _0x4ef9ee[_0x1a4e('0x46')](_0xccd6b6[0x0]),{'positions':_0x4ef9ee};}}},!0x1)})});this['_viewer']['entities'][_0x1a4e('0x177')](_0x1307fe),this['_entitiesMap'][_0x1a4e('0x17a')](_0x4ef9ee['SatelliteComponents'][_0x1a4e('0x4b54')],_0x1307fe);}}},_0x340d3f['prototype'][_0x1a4e('0x4b67')]=function(_0x5ce43a,_0x340d3f){var _0xaad579=this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')]),_0x57cb38=_0xaad579[_0x1a4e('0x3553')][_0x1a4e('0x398c')],_0xd8f7e5=_0xaad579[_0x1a4e('0x4b2a')],_0x40677b=_0xaad579['zAngle'],_0x1307fe=_0xaad579[_0x1a4e('0x396a')][0x0]['modelMatrix'],_0xccd6b6=Math[_0x1a4e('0xbe')](Cesium['Math'][_0x1a4e('0x566')](_0xd8f7e5/0x2))*_0x57cb38,_0x1ff0ba=Math[_0x1a4e('0xbe')](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x40677b/0x2))*_0x57cb38,_0x53bb0b=Cesium[_0x1a4e('0x393e')]['normalize'](Cesium[_0x1a4e('0x393e')]['subtract'](_0x340d3f,_0x5ce43a,new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]()),_0x4926af=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x4332')](_0x1307fe,new Cesium[(_0x1a4e('0x393e'))](-_0x1ff0ba,_0xccd6b6,-_0x57cb38),new Cesium[(_0x1a4e('0x393e'))]()),_0x51ccd9=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x4332')](_0x1307fe,new Cesium[(_0x1a4e('0x393e'))](_0x1ff0ba,_0xccd6b6,-_0x57cb38),new Cesium[(_0x1a4e('0x393e'))]()),_0x153f93=Cesium['Matrix4'][_0x1a4e('0x4332')](_0x1307fe,new Cesium[(_0x1a4e('0x393e'))](_0x1ff0ba,-_0xccd6b6,-_0x57cb38),new Cesium[(_0x1a4e('0x393e'))]()),_0x514eee=Cesium['Matrix4'][_0x1a4e('0x4332')](_0x1307fe,new Cesium[(_0x1a4e('0x393e'))](-_0x1ff0ba,-_0xccd6b6,-_0x57cb38),new Cesium[(_0x1a4e('0x393e'))]()),_0x3bb769=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x38dc')],_0x463a0f=new Cesium['Ray'](_0x5ce43a,_0x4926af),_0x3b2c25=Cesium[_0x1a4e('0x4b6b')]['rayEllipsoid'](_0x463a0f,_0x3bb769),_0x33ae7c=Cesium[_0x1a4e('0x4333')][_0x1a4e('0x4334')](_0x463a0f,_0x3b2c25['start']),_0x459639=new Cesium[(_0x1a4e('0x4333'))](_0x5ce43a,_0x51ccd9),_0x3e0df8=Cesium['IntersectionTests'][_0x1a4e('0x4b6c')](_0x459639,_0x3bb769),_0x3e544a=Cesium[_0x1a4e('0x4333')][_0x1a4e('0x4334')](_0x459639,_0x3e0df8[_0x1a4e('0xc9')]),_0x55bee5=new Cesium[(_0x1a4e('0x4333'))](_0x5ce43a,_0x153f93),_0x4d80ea=Cesium[_0x1a4e('0x4b6b')][_0x1a4e('0x4b6c')](_0x55bee5,_0x3bb769),_0x287982=Cesium['Ray'][_0x1a4e('0x4334')](_0x55bee5,_0x4d80ea['start']),_0x4d4068=new Cesium[(_0x1a4e('0x4333'))](_0x5ce43a,_0x514eee),_0xabd005=Cesium['IntersectionTests'][_0x1a4e('0x4b6c')](_0x4d4068,_0x3bb769),_0x10a825=Cesium[_0x1a4e('0x4333')][_0x1a4e('0x4334')](_0x4d4068,_0xabd005[_0x1a4e('0xc9')]);return Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a9d')](_0x53bb0b,_0x4926af)<0x0?(console[_0x1a4e('0x58')]('d1Flag\x20<\x200'),[_0x287982,_0x10a825,_0x33ae7c,_0x3e544a]):[_0x33ae7c,_0x3e544a,_0x287982,_0x10a825];},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b6a')]=function(_0x5ce43a,_0x340d3f){for(var _0xaad579=this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')]),_0x57cb38=_0xaad579[_0x1a4e('0x502')],_0xd8f7e5=_0xaad579[_0x1a4e('0x3553')][_0x1a4e('0x398c')],_0x40677b=Math[_0x1a4e('0xbe')](Cesium[_0x1a4e('0x1020')]['toRadians'](_0x57cb38/0x2))*_0xd8f7e5,_0x1307fe=[],_0xccd6b6=0xb4;_0xccd6b6>-0xb4;_0xccd6b6-=0x6)_0x1307fe[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393e'))](_0x40677b*Math[_0x1a4e('0x90')](Cesium['Math'][_0x1a4e('0x566')](_0xccd6b6)),_0x40677b*Math[_0x1a4e('0x8f')](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0xccd6b6)),-_0xd8f7e5));var _0x1ff0ba=[],_0x53bb0b=_0xaad579['conic']['modelMatrix'],_0x4926af=[],_0x51ccd9=Cesium['Cartesian3'][_0x1a4e('0x262')](_0x340d3f,_0x5ce43a,new Cesium[(_0x1a4e('0x393e'))]()),_0x153f93=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x38dc')];_0x1307fe[_0x1a4e('0x3b')](function(_0x340d3f){var _0xaad579=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x4332')](_0x53bb0b,_0x340d3f,new Cesium[(_0x1a4e('0x393e'))]()),_0x57cb38=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a9d')](_0x51ccd9,_0xaad579);_0x4926af[_0x1a4e('0x46')](_0x57cb38);var _0xd8f7e5=new Cesium[(_0x1a4e('0x4333'))](_0x5ce43a,_0xaad579),_0x40677b=Cesium[_0x1a4e('0x4b6b')][_0x1a4e('0x4b6c')](_0xd8f7e5,_0x153f93),_0x1307fe=Cesium['Ray'][_0x1a4e('0x4334')](_0xd8f7e5,_0x40677b[_0x1a4e('0xc9')]);_0x1ff0ba[_0x1a4e('0x46')](_0x1307fe);});var _0x514eee=[];if(_0x4926af[0x0]<0x0){for(var _0x3bb769=!0x1,_0x463a0f=[],_0x3b2c25=0x0;_0x3b2c25<_0x4926af[_0x1a4e('0x1e')];_0x3b2c25++)_0x4926af[_0x3b2c25]<0x0?_0x3bb769?_0x514eee[_0x1a4e('0x46')](_0x1ff0ba[_0x3b2c25]):_0x463a0f[_0x1a4e('0x46')](_0x1ff0ba[_0x3b2c25]):(_0x514eee['push'](_0x1ff0ba[_0x3b2c25]),_0x3bb769=!0x0);for(var _0x33ae7c=0x0;_0x33ae7c<_0x463a0f[_0x1a4e('0x1e')];_0x33ae7c++)_0x514eee['push'](_0x463a0f[_0x33ae7c]);return _0x514eee;}var _0x3cc403=[],_0x2fc1c8=[];for(_0x3bb769=!0x1,_0x3b2c25=0x0;_0x3b2c25<_0x4926af[_0x1a4e('0x1e')];_0x3b2c25++)_0x4926af[_0x3b2c25]<0x0?(_0x3cc403['push'](_0x1ff0ba[_0x3b2c25]),_0x3bb769=!0x0):_0x3bb769?_0x514eee[_0x1a4e('0x46')](_0x1ff0ba[_0x3b2c25]):_0x2fc1c8[_0x1a4e('0x46')](_0x1ff0ba[_0x3b2c25]);for(_0x33ae7c=0x0;_0x33ae7c<_0x2fc1c8['length'];_0x33ae7c++)_0x514eee[_0x1a4e('0x46')](_0x2fc1c8[_0x33ae7c]);for(var _0x24b2d8=0x0;_0x24b2d8<_0x3cc403['length'];_0x24b2d8++)_0x514eee[_0x1a4e('0x46')](_0x3cc403[_0x24b2d8]);return _0x514eee;},Object[_0x1a4e('0x2')](_0x340d3f['prototype'],_0x1a4e('0x398a'),{'set':function(_0x5ce43a){var _0x340d3f=new Cesium[(_0x1a4e('0x40bc'))](),_0xaad579=new Cesium[(_0x1a4e('0x4b6d'))](Cesium[_0x1a4e('0x393e')]),_0x57cb38=Number[_0x1a4e('0x201')],_0xd8f7e5=Number[_0x1a4e('0x4b6e')];_0x5ce43a[_0x1a4e('0x3b')](function(_0x5ce43a){_0x340d3f[_0x1a4e('0x4b6f')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](_0x5ce43a[_0x1a4e('0x129a')]),new Cesium[(_0x1a4e('0x393e'))](_0x5ce43a['x'],_0x5ce43a['y'],_0x5ce43a['z'])),_0xaad579[_0x1a4e('0x4b6f')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](_0x5ce43a[_0x1a4e('0x129a')]),_0x5ce43a['speed']),_0x5ce43a['time'][_0x1a4e('0xe9')]()<_0x57cb38&&(_0x57cb38=_0x5ce43a[_0x1a4e('0x129a')][_0x1a4e('0xe9')]()),_0x5ce43a['time']['getTime']()>_0xd8f7e5&&(_0xd8f7e5=_0x5ce43a[_0x1a4e('0x129a')][_0x1a4e('0xe9')]());}),_0x340d3f[_0x1a4e('0x4b70')]({'interpolationDegree':0x1,'interpolationAlgorithm':Cesium[_0x1a4e('0x4b71')]}),_0xaad579[_0x1a4e('0x4b70')]({'interpolationDegree':0x1,'interpolationAlgorithm':Cesium['HermitePolynomialApproximation']});for(var _0x40677b=new Array(),_0x1307fe=(_0xd8f7e5-_0x57cb38)/(_0x5ce43a[_0x1a4e('0x1e')]-0x1),_0xccd6b6=0x0;_0xccd6b6<_0x5ce43a['length'];_0xccd6b6++){var _0x1ff0ba=_0x57cb38+_0xccd6b6*_0x1307fe;_0x40677b[_0x1a4e('0x46')](_0x340d3f[_0x1a4e('0x1460')](Cesium['JulianDate']['fromDate'](new Date(_0x1ff0ba))));}this[_0x1a4e('0x4b46')]=_0x40677b,this[_0x1a4e('0x4b45')]['has'](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4f')])&&(this[_0x1a4e('0x4b56')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4f')]),this[_0x1a4e('0x4b4c')](_0x4ef9ee['SatelliteComponents'][_0x1a4e('0x4b4f')])),this[_0x1a4e('0x40e4')]['startTime']=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](new Date(_0x57cb38)),this[_0x1a4e('0x40e4')][_0x1a4e('0x407a')]=Cesium['JulianDate'][_0x1a4e('0x40ea')](new Date(_0xd8f7e5)),this[_0x1a4e('0x4b5f')]=_0x340d3f,this[_0x1a4e('0x4b72')]=_0xaad579;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x340d3f[_0x1a4e('0xa')],'time',{'set':function(_0x5ce43a){if(this[_0x1a4e('0x4aeb')]=_0x5ce43a,this[_0x1a4e('0x4b5f')]){var _0x340d3f=this[_0x1a4e('0x4b5f')]['getValue'](Cesium['JulianDate'][_0x1a4e('0x40ea')](_0x5ce43a)),_0xaad579=this[_0x1a4e('0x4b5f')][_0x1a4e('0x1460')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](_0x1ff0ba[_0x1a4e('0x4b73')][_0x1a4e('0x4b74')](_0x5ce43a,0x1)));if(this['_currentPosition']=_0x4926af['GeoPoint'][_0x1a4e('0x3ab9')](_0x340d3f),this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')]&&(this['_synchronousPosition']=this[_0x1a4e('0x4b5c')]),this[_0x1a4e('0x4b75')]()&&0x0==this[_0x1a4e('0x4b76')]['length']&&(this[_0x1a4e('0x40f7')]=this[_0x1a4e('0x4aeb')]),_0x340d3f&&_0xaad579&&(this[_0x1a4e('0x4b45')][_0x1a4e('0x178')](_0x4ef9ee['SatelliteComponents'][_0x1a4e('0x4b4d')])&&(this[_0x1a4e('0x4b4e')](),this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4d')])[_0x1a4e('0x3553')]=_0x340d3f),this[_0x1a4e('0x4b45')][_0x1a4e('0x178')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x191a')])&&(this['_entitiesMap'][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x191a')])[_0x1a4e('0x3553')]=_0x340d3f),this[_0x1a4e('0x4b45')]['has'](_0x4ef9ee['SatelliteComponents'][_0x1a4e('0x4b51')]))){var _0x57cb38=this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')]['Sensor']);_0x1a4e('0x396a')==_0x57cb38[_0x1a4e('0x40')]?(_0x57cb38[_0x1a4e('0x3553')]=this[_0x1a4e('0x4b5c')],_0x57cb38[_0x1a4e('0x4b27')](_0xaad579)):_0x1a4e('0x4b24')==_0x57cb38[_0x1a4e('0x40')]&&(_0x57cb38[_0x1a4e('0x3553')]=this[_0x1a4e('0x4b5c')],_0x57cb38[_0x1a4e('0x4b27')](_0xaad579));}}},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x340d3f['prototype'],'synchronousPosition',{'get':function(){return this[_0x1a4e('0x4b49')];},'set':function(_0x5ce43a){var _0x340d3f=this;this[_0x1a4e('0x4b49')]=_0x5ce43a,this[_0x1a4e('0x4b45')]['has'](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4d')])&&(this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4d')])[_0x1a4e('0x3553')]=_0x4926af['GeoPoint'][_0x1a4e('0x3949')](this[_0x1a4e('0x4b49')])),this[_0x1a4e('0x4b45')][_0x1a4e('0x178')](_0x4ef9ee['SatelliteComponents'][_0x1a4e('0x191a')])&&(this[_0x1a4e('0x4b45')]['get'](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x191a')])[_0x1a4e('0x3553')]=_0x4926af[_0x1a4e('0x38da')][_0x1a4e('0x3949')](this[_0x1a4e('0x4b49')])),this[_0x1a4e('0x4b45')][_0x1a4e('0x178')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')])&&this['_synchronousSensorMap']['forEach'](function(_0x5ce43a,_0xaad579){_0x5ce43a[_0x1a4e('0x3553')]=_0x340d3f['_synchronousPosition'],_0x5ce43a[_0x1a4e('0x937')]();});},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x340d3f['prototype'],'id',{'get':function(){return this[_0x1a4e('0x515')];},'enumerable':!0x0,'configurable':!0x0}),_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x3acd')]=function(_0x5ce43a){var _0x340d3f=this;this[_0x1a4e('0x38fa')]=_0x5ce43a,this['_viewChange']=function(){_0x340d3f['onViewChanged']();},this['_viewer'][_0x1a4e('0x38d6')]['morphComplete'][_0x1a4e('0xec5')](this[_0x1a4e('0x4609')]);var _0xaad579=this['_tle'],_0x57cb38='',_0xd8f7e5='',_0x40677b=this[_0x1a4e('0x4b41')][_0x1a4e('0x2be')]('\x0a');_0x40677b[_0x1a4e('0x1e')]>=0x3&&(_0xaad579=_0x40677b[0x0][_0x1a4e('0x2bd')](),_0x57cb38=_0x40677b[0x1]['trim'](),_0xd8f7e5=_0x40677b[0x2][_0x1a4e('0x2bd')](),this[_0x1a4e('0x4b77')]=_0x53bb0b[_0x1a4e('0x8')][_0x1a4e('0x4b78')](_0x57cb38,_0xd8f7e5)),this[_0x1a4e('0x3d3')]=_0xaad579,this[_0x1a4e('0x4aeb')]=this['_opt']['currentTime']?this[_0x1a4e('0x4137')]['currentTime']:Cesium['JulianDate'][_0x1a4e('0x4ae9')](this['_clock']['startTime']),0x0!=this[_0x1a4e('0x4b76')]['length']?(this[_0x1a4e('0x398a')]=this[_0x1a4e('0x4b76')],this['currentTime']=this[_0x1a4e('0x4137')]['currentTime']?this['_opt']['currentTime']:Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x4ae9')](this[_0x1a4e('0x40e4')][_0x1a4e('0x4058')])):(this[_0x1a4e('0x4aeb')]=this[_0x1a4e('0x4137')][_0x1a4e('0x40f7')]?this[_0x1a4e('0x4137')][_0x1a4e('0x40f7')]:Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x4ae9')](_0x5ce43a[_0x1a4e('0x3b3e')]['tick']()),0x3==this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0xa69')]?this['calculatePositions3D'](this[_0x1a4e('0x4aeb')],_0x57cb38,_0xd8f7e5):this[_0x1a4e('0x4b79')](this[_0x1a4e('0x4aeb')],_0x57cb38,_0xd8f7e5),this[_0x1a4e('0x40e4')]['currentTime']=Cesium['JulianDate'][_0x1a4e('0x40ea')](this[_0x1a4e('0x4aeb')])),this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')]||this[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x3b3f')]['addEventListener'](function(){return _0x340d3f[_0x1a4e('0x3dd0')]();});},_0x340d3f['prototype']['calculatePositions3D']=function(_0x5ce43a,_0x340d3f,_0xaad579){this[_0x1a4e('0x4137')]['orbitType']==_0xd8f7e5[_0x1a4e('0x4b7a')]?this[_0x1a4e('0x398a')]=_0x53bb0b[_0x1a4e('0x8')][_0x1a4e('0x4b7b')](this[_0x1a4e('0x4aeb')],_0x340d3f,_0xaad579):this['_opt'][_0x1a4e('0x4b7c')]==_0xd8f7e5[_0x1a4e('0x4b7d')]&&(this[_0x1a4e('0x398a')]=_0x53bb0b[_0x1a4e('0x8')]['calculateOrbitEcf'](this[_0x1a4e('0x4aeb')],_0x340d3f,_0xaad579));},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b79')]=function(_0x5ce43a,_0x340d3f,_0xaad579){var _0x57cb38;this[_0x1a4e('0x4137')][_0x1a4e('0x4b7c')]==_0xd8f7e5[_0x1a4e('0x4b7a')]?_0x57cb38=_0x53bb0b[_0x1a4e('0x8')][_0x1a4e('0x4b7b')](this[_0x1a4e('0x4aeb')],_0x340d3f,_0xaad579):this[_0x1a4e('0x4137')][_0x1a4e('0x4b7c')]==_0xd8f7e5['Ecf']&&(_0x57cb38=_0x53bb0b[_0x1a4e('0x8')][_0x1a4e('0x4b7e')](this[_0x1a4e('0x4aeb')],_0x340d3f,_0xaad579));for(var _0x40677b=0x0;_0x40677b<_0x57cb38[_0x1a4e('0x1e')];_0x40677b++){var _0x1307fe=_0x57cb38[_0x40677b],_0x4ef9ee=_0x4926af[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](new Cesium[(_0x1a4e('0x393e'))](_0x1307fe['x'],_0x1307fe['y'],_0x1307fe['z']));_0x4ef9ee[_0x1a4e('0x398c')]=0x0;var _0xccd6b6=_0x4926af[_0x1a4e('0x38da')]['toCartesian3'](_0x4ef9ee);_0x1307fe['x']=_0xccd6b6['x'],_0x1307fe['y']=_0xccd6b6['y'],_0x1307fe['z']=_0xccd6b6['z'];}this[_0x1a4e('0x398a')]=_0x57cb38;},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x45f9')]=function(){var _0x5ce43a=this[_0x1a4e('0x4b41')][_0x1a4e('0x2be')]('\x0a')[0x1][_0x1a4e('0x2bd')](),_0x340d3f=this['_tle']['split']('\x0a')[0x2][_0x1a4e('0x2bd')]();0x3==this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['mode']?this[_0x1a4e('0x4b7f')](this[_0x1a4e('0x4aeb')],_0x5ce43a,_0x340d3f):this['calculatePositions2D'](this[_0x1a4e('0x4aeb')],_0x5ce43a,_0x340d3f);},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b80')]=function(_0x5ce43a){var _0x340d3f,_0xaad579;if(_0x5ce43a['id']&&_0x5ce43a['id']instanceof Cesium[_0x1a4e('0x3948')]){var _0x57cb38=this['_entitiesMap'][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4d')]);if(_0x57cb38&&_0x57cb38['_id']==_0x5ce43a['id']['_id'])return!0x0;var _0xd8f7e5=this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x191a')]);if(_0xd8f7e5&&_0xd8f7e5[_0x1a4e('0x515')]==_0x5ce43a['id']['_id'])return!0x0;}if(_0x5ce43a['primitive']&&_0x5ce43a['primitive']instanceof Cesium[_0x1a4e('0x19e6')]){if(this[_0x1a4e('0x4137')]['synchronous'])try{for(var _0x1307fe=_0x463a0f(this['_synchronousSensorMap'][_0x1a4e('0x56')]()),_0xccd6b6=_0x1307fe[_0x1a4e('0x7e')]();!_0xccd6b6[_0x1a4e('0x3c2')];_0xccd6b6=_0x1307fe[_0x1a4e('0x7e')]()){var _0x1ff0ba,_0x53bb0b=_0xccd6b6[_0x1a4e('0x255')];if((_0x1ff0ba=this['_synchronousSensorMap'][_0x1a4e('0x179')](_0x53bb0b))[_0x1a4e('0x8f7')][_0x1a4e('0x4b26')]==_0x5ce43a[_0x1a4e('0x8f7')]['pickID'])return!0x0;}}catch(_0x1d88c1){_0x340d3f={'error':_0x1d88c1};}finally{try{_0xccd6b6&&!_0xccd6b6['done']&&(_0xaad579=_0x1307fe[_0x1a4e('0xe40')])&&_0xaad579['call'](_0x1307fe);}finally{if(_0x340d3f)throw _0x340d3f['error'];}}else if(_0x1ff0ba=this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b51')]))if(this['_type']==_0x40677b[_0x1a4e('0x4b24')]){if(_0x1ff0ba['conic']['pickID']==_0x5ce43a[_0x1a4e('0x8f7')][_0x1a4e('0x4b26')])return!0x0;}else{if(_0x1ff0ba[_0x1a4e('0x396a')][0x0][_0x1a4e('0x4b26')]==_0x5ce43a[_0x1a4e('0x8f7')][_0x1a4e('0x4b26')])return!0x0;if(_0x1ff0ba[_0x1a4e('0x396a')][0x1][_0x1a4e('0x4b26')]==_0x5ce43a[_0x1a4e('0x8f7')][_0x1a4e('0x4b26')])return!0x0;}var _0x4926af=this[_0x1a4e('0x4b45')]['get'](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4f')]);if(_0x4926af&&_0x4926af[_0x1a4e('0x4b26')]==_0x5ce43a[_0x1a4e('0x8f7')][_0x1a4e('0x4b26')])return!0x0;}return!0x1;},_0x340d3f[_0x1a4e('0xa')]['listenerFun']=function(){var _0x5ce43a=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x4ae9')](this[_0x1a4e('0x40e4')][_0x1a4e('0x40f8')]());this[_0x1a4e('0x129a')]=_0x5ce43a;},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b75')]=function(){return Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](this[_0x1a4e('0x40e4')][_0x1a4e('0x407a')],this[_0x1a4e('0x40e4')][_0x1a4e('0x40f7')])<=0x3;},_0x340d3f['prototype'][_0x1a4e('0x3acf')]=function(){var _0x5ce43a,_0x340d3f,_0xaad579,_0x57cb38;this['_viewChange']&&(this['_viewer']['scene'][_0x1a4e('0x43b6')]['addEventListener'](this['_viewChange']),this[_0x1a4e('0x4609')]=void 0x0);try{for(var _0xd8f7e5=_0x463a0f(this[_0x1a4e('0x4b45')][_0x1a4e('0x56')]()),_0x40677b=_0xd8f7e5['next']();!_0x40677b['done'];_0x40677b=_0xd8f7e5[_0x1a4e('0x7e')]()){(_0x1ff0ba=_0x40677b['value'])===_0x4ef9ee['SatelliteComponents'][_0x1a4e('0x4b4f')]?this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x1ff0ba)):_0x1ff0ba===_0x4ef9ee['SatelliteComponents'][_0x1a4e('0x4b51')]?this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')]||this['_entitiesMap'][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')]['Sensor'])['destroy']():this['_viewer'][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this['_entitiesMap'][_0x1a4e('0x179')](_0x1ff0ba));}}catch(_0x38ca98){_0x5ce43a={'error':_0x38ca98};}finally{try{_0x40677b&&!_0x40677b[_0x1a4e('0x3c2')]&&(_0x340d3f=_0xd8f7e5[_0x1a4e('0xe40')])&&_0x340d3f['call'](_0xd8f7e5);}finally{if(_0x5ce43a)throw _0x5ce43a['error'];}}this['_entitiesMap'][_0x1a4e('0xb5')]();try{for(var _0x1307fe=_0x463a0f(this[_0x1a4e('0x4b4b')]['keys']()),_0xccd6b6=_0x1307fe['next']();!_0xccd6b6[_0x1a4e('0x3c2')];_0xccd6b6=_0x1307fe[_0x1a4e('0x7e')]()){var _0x1ff0ba=_0xccd6b6['value'];this['_synchronousSensorMap'][_0x1a4e('0x179')](_0x1ff0ba)[_0x1a4e('0x139c')]();}}catch(_0x1ef87e){_0xaad579={'error':_0x1ef87e};}finally{try{_0xccd6b6&&!_0xccd6b6[_0x1a4e('0x3c2')]&&(_0x57cb38=_0x1307fe[_0x1a4e('0xe40')])&&_0x57cb38[_0x1a4e('0x1')](_0x1307fe);}finally{if(_0xaad579)throw _0xaad579[_0x1a4e('0x873')];}}this[_0x1a4e('0x4b4b')][_0x1a4e('0xb5')](),this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')]||this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec2')](this['listenerFun']);},Object[_0x1a4e('0x2')](_0x340d3f[_0x1a4e('0xa')],_0x1a4e('0x4b63'),{'set':function(_0x5ce43a){this[_0x1a4e('0x4137')][_0x1a4e('0x4b63')]=_0x5ce43a,this['_entitiesMap']['has'](_0x4ef9ee['SatelliteComponents']['Orbit'])&&(this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x4b4f')])['appearance'][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x134')]=Cesium['Color']['fromCssColorString'](this[_0x1a4e('0x4137')][_0x1a4e('0x4b63')]));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x340d3f[_0x1a4e('0xa')],_0x1a4e('0x40a1'),{'get':function(){return this['_opt'][_0x1a4e('0x40a1')];},'set':function(_0x5ce43a){this[_0x1a4e('0x4137')][_0x1a4e('0x40a1')]=_0x5ce43a,this[_0x1a4e('0x4b45')]['has'](_0x4ef9ee['SatelliteComponents']['Label'])&&(this['_entitiesMap'][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')]['Label'])['label']['fillColor']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this[_0x1a4e('0x4137')][_0x1a4e('0x40a1')]));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x340d3f['prototype'],'groundTrackColor',{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4b81')];},'set':function(_0x5ce43a){this[_0x1a4e('0x4137')][_0x1a4e('0x4b81')]=_0x5ce43a;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x340d3f[_0x1a4e('0xa')],_0x1a4e('0x2cb'),{'get':function(){return this['_name'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x340d3f['prototype'],_0x1a4e('0x4b52'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4b52')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x340d3f[_0x1a4e('0xa')],_0x1a4e('0x4b82'),{'get':function(){return this['_priod'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x340d3f['prototype'],_0x1a4e('0x3553'),{'get':function(){return this[_0x1a4e('0x4b5c')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x340d3f[_0x1a4e('0xa')],_0x1a4e('0x4b83'),{'get':function(){var _0x5ce43a,_0x340d3f;if(this[_0x1a4e('0x4b66')])return this[_0x1a4e('0x4b66')];try{for(var _0xaad579=_0x463a0f(this[_0x1a4e('0x4b4b')]),_0x57cb38=_0xaad579['next']();!_0x57cb38[_0x1a4e('0x3c2')];_0x57cb38=_0xaad579[_0x1a4e('0x7e')]()){return _0x57cb38['value'][0x1];}}catch(_0x384532){_0x5ce43a={'error':_0x384532};}finally{try{_0x57cb38&&!_0x57cb38[_0x1a4e('0x3c2')]&&(_0x340d3f=_0xaad579[_0x1a4e('0xe40')])&&_0x340d3f[_0x1a4e('0x1')](_0xaad579);}finally{if(_0x5ce43a)throw _0x5ce43a[_0x1a4e('0x873')];}}},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x340d3f[_0x1a4e('0xa')],'speed',{'get':function(){if(this['_sampleSpeedProperty']){var _0x5ce43a=this[_0x1a4e('0x4b72')][_0x1a4e('0x1460')](this[_0x1a4e('0x40e4')]['tick']());return Cesium['Cartesian3'][_0x1a4e('0x25c')](_0x5ce43a);}return console['log']('无法计算速度,原因是:this._sampleSpeedProperty\x20==\x20undefine'),0x0;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x340d3f[_0x1a4e('0xa')],'multiplier',{'get':function(){return this[_0x1a4e('0x40e4')][_0x1a4e('0x40e5')];},'set':function(_0x5ce43a){this['_clock'][_0x1a4e('0x40e5')]=_0x5ce43a;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x340d3f[_0x1a4e('0xa')],_0x1a4e('0x40f7'),{'get':function(){return this[_0x1a4e('0x4aeb')];},'set':function(_0x5ce43a){if(_0x5ce43a){var _0x340d3f=_0x5ce43a[_0x1a4e('0xe9')](),_0xaad579=Cesium['JulianDate'][_0x1a4e('0x4ae9')](this[_0x1a4e('0x40e4')]['stopTime'])[_0x1a4e('0xe9')](),_0x57cb38=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x4ae9')](this[_0x1a4e('0x40e4')]['startTime'])[_0x1a4e('0xe9')]();if(0x0==this['_localOrbitData'][_0x1a4e('0x1e')])if(_0x340d3f<_0xaad579&&_0x340d3f>_0x57cb38)this[_0x1a4e('0x4aeb')]=_0x5ce43a,this[_0x1a4e('0x40e4')][_0x1a4e('0x40f7')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](this[_0x1a4e('0x4aeb')]);else{var _0xd8f7e5=this[_0x1a4e('0x4b41')]['split']('\x0a')[0x1][_0x1a4e('0x2bd')](),_0x40677b=this[_0x1a4e('0x4b41')][_0x1a4e('0x2be')]('\x0a')[0x2][_0x1a4e('0x2bd')]();this['_currentTime']=_0x5ce43a,0x3==this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0xa69')]?this[_0x1a4e('0x4b7f')](_0x5ce43a,_0xd8f7e5,_0x40677b):this['calculatePositions2D'](_0x5ce43a,_0xd8f7e5,_0x40677b),this[_0x1a4e('0x40e4')]['currentTime']=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](_0x5ce43a);}else _0x340d3f<=_0xaad579&&_0x340d3f>=_0x57cb38&&(this[_0x1a4e('0x4aeb')]=_0x5ce43a,this[_0x1a4e('0x40e4')][_0x1a4e('0x40f7')]=Cesium['JulianDate']['fromDate'](this['_currentTime']));}},'enumerable':!0x0,'configurable':!0x0}),_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b84')]=function(_0x5ce43a){0x0!=_0x5ce43a[_0x1a4e('0x1e')]&&(this['_localOrbitData']=_0x5ce43a,this[_0x1a4e('0x398a')]=this[_0x1a4e('0x4b76')],this[_0x1a4e('0x40f7')]=_0x5ce43a[0x0][_0x1a4e('0x129a')]);},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b85')]=function(_0x5ce43a){var _0x340d3f=this[_0x1a4e('0x4b41')]['split']('\x0a')[0x1][_0x1a4e('0x2bd')](),_0xaad579=this[_0x1a4e('0x4b41')][_0x1a4e('0x2be')]('\x0a')[0x2][_0x1a4e('0x2bd')]();if(this[_0x1a4e('0x4137')][_0x1a4e('0x4b7c')]==_0xd8f7e5[_0x1a4e('0x4b7a')]){var _0x57cb38=_0x53bb0b['default']['getEciPosition'](_0x5ce43a,_0x340d3f,_0xaad579);return _0x4926af[_0x1a4e('0x38da')]['fromCartesian3'](_0x57cb38);}if(this['_opt'][_0x1a4e('0x4b7c')]==_0xd8f7e5['Ecf']){_0x57cb38=_0x53bb0b[_0x1a4e('0x8')][_0x1a4e('0x4b86')](_0x5ce43a,_0x340d3f,_0xaad579);return _0x4926af[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x57cb38);}return _0x53bb0b['default'][_0x1a4e('0x4b87')](_0x5ce43a,_0x340d3f,_0xaad579);},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b88')]=function(_0x5ce43a){this['_clock'][_0x1a4e('0x40e5')]=_0x5ce43a;},_0x340d3f[_0x1a4e('0xa')][_0x1a4e('0x4b89')]=function(){if(this['_entitiesMap']['has'](_0x4ef9ee[_0x1a4e('0x3fcc')]['Label']))return this[_0x1a4e('0x4b45')][_0x1a4e('0x179')](_0x4ef9ee[_0x1a4e('0x3fcc')][_0x1a4e('0x191a')])['label'];},_0x340d3f['prototype'][_0x1a4e('0x4b8a')]=function(_0x5ce43a){this['_clock'][_0x1a4e('0x40f3')]=_0x5ce43a;},_0x340d3f;}(_0x1307fe['Item']),_0x33ae7c=function(_0x5ce43a,_0x340d3f,_0xaad579,_0x57cb38,_0x1307fe,_0x4ef9ee,_0xccd6b6,_0x1ff0ba,_0x53bb0b,_0x51ccd9,_0x153f93,_0x514eee,_0x3bb769){void 0x0===_0xaad579&&(_0xaad579=_0xd8f7e5[_0x1a4e('0x4b7a')]),void 0x0===_0x57cb38&&(_0x57cb38=_0x1a4e('0x4b8b')),void 0x0===_0x1307fe&&(_0x1307fe=!0x1),void 0x0===_0x4ef9ee&&(_0x4ef9ee=_0x1a4e('0x4b8b')),void 0x0===_0xccd6b6&&(_0xccd6b6=_0x40677b[_0x1a4e('0x4b24')]),void 0x0===_0x1ff0ba&&(_0x1ff0ba=0x1),void 0x0===_0x153f93&&(_0x153f93=0x190),void 0x0===_0x514eee&&(_0x514eee=new _0x4926af[(_0x1a4e('0x38da'))](0x0,0x0)),void 0x0===_0x3bb769&&(_0x3bb769=new Array()),this[_0x1a4e('0x4b1f')]='red',this['tle']=_0x5ce43a,this[_0x1a4e('0x4b7c')]=_0xaad579,this[_0x1a4e('0x4b63')]=_0x57cb38,this[_0x1a4e('0x4b64')]=_0x1ff0ba,this['groundTrackColor']=_0x4ef9ee,this[_0x1a4e('0x40')]=_0xccd6b6,this[_0x1a4e('0x4b42')]=_0x53bb0b,this[_0x1a4e('0x4b43')]=_0x51ccd9,this[_0x1a4e('0x4b47')]=_0x153f93,this[_0x1a4e('0x4b48')]=_0x3bb769,this[_0x1a4e('0x40f7')]=_0x340d3f,this[_0x1a4e('0x4b52')]=_0x1307fe,this['synchronousPosition']=_0x514eee,this[_0x1a4e('0x40a1')]=_0x1a4e('0x4b8c');};!function(_0x5ce43a){_0x5ce43a[_0x5ce43a[_0x1a4e('0x4b7a')]=0x1]=_0x1a4e('0x4b7a'),_0x5ce43a[_0x5ce43a[_0x1a4e('0x4b7d')]=0x2]=_0x1a4e('0x4b7d');}(_0xd8f7e5||(_0xd8f7e5={})),function(_0x5ce43a){_0x5ce43a[_0x5ce43a[_0x1a4e('0x4b24')]=0x1]=_0x1a4e('0x4b24'),_0x5ce43a[_0x5ce43a[_0x1a4e('0x822')]=0x2]='square',_0x5ce43a[_0x5ce43a[_0x1a4e('0x13a6')]=0x3]=_0x1a4e('0x13a6');}(_0x40677b||(_0x40677b={}));var _0x238c64=function(){this['xAngle']=0x14,this['zAngle']=0x14,this[_0x1a4e('0x4b1f')]='rgba(255,0,0,0.5)',this['rectangularPos']=new _0x4926af[(_0x1a4e('0x38da'))](0x0,0x0,0xc350),this[_0x1a4e('0x40a5')]=_0x1a4e('0x3959'),this[_0x1a4e('0x4b21')]=0x0;},_0xf6da51=function(){this[_0x1a4e('0x4b25')]=0x14,this[_0x1a4e('0x4b1f')]=_0x1a4e('0x3f13'),this[_0x1a4e('0x4b1d')]=new _0x4926af[(_0x1a4e('0x38da'))](0x0,0x0,0xc350),this[_0x1a4e('0x4b21')]=0x0;},_0x591825=function(){this['position']=new _0x4926af[(_0x1a4e('0x38da'))](0x0,0x0,0x2255100),this['coverColor']=_0x1a4e('0x3f13');};},'./src/LayerManager/SatelliteLayer/SatelliteComponents.ts':function(_0x22d651,_0x4d8994,_0x49795f){'use strict';_0x49795f['r'](_0x4d8994),_0x49795f['d'](_0x4d8994,_0x1a4e('0x3fcc'),function(){return _0x2a3766;});var _0x2a3766=function(){function _0x22d651(){}return Object['defineProperty'](_0x22d651,_0x1a4e('0x4b4d'),{'get':function(){return _0x1a4e('0x4b8d');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x22d651,'Label',{'get':function(){return'Label';},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x22d651,_0x1a4e('0x4b4f'),{'get':function(){return'Orbit';},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x22d651,_0x1a4e('0x4b54'),{'get':function(){return _0x1a4e('0x4b8e');},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x22d651,_0x1a4e('0x4b51'),{'get':function(){return'Sensor';},'enumerable':!0x0,'configurable':!0x0}),_0x22d651;}();},'./src/LayerManager/SatelliteLayer/SatelliteLayer.ts':function(_0x4a31b3,_0x3593ae,_0x42ef8f){'use strict';_0x42ef8f['r'](_0x3593ae),_0x42ef8f['d'](_0x3593ae,_0x1a4e('0x3fac'),function(){return _0x5b8122;});var _0x25ad5d,_0x21e871=_0x42ef8f(_0x1a4e('0x3f2c')),_0x40378a=_0x42ef8f(_0x1a4e('0x3f2e')),_0x5d4aa7=(_0x25ad5d=function(_0x4a31b3,_0x3593ae){return(_0x25ad5d=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4a31b3,_0x3593ae){_0x4a31b3[_0x1a4e('0x295')]=_0x3593ae;}||function(_0x4a31b3,_0x3593ae){for(var _0x42ef8f in _0x3593ae)_0x3593ae[_0x1a4e('0xb')](_0x42ef8f)&&(_0x4a31b3[_0x42ef8f]=_0x3593ae[_0x42ef8f]);})(_0x4a31b3,_0x3593ae);},function(_0x4a31b3,_0x3593ae){function _0x42ef8f(){this[_0x1a4e('0x10')]=_0x4a31b3;}_0x25ad5d(_0x4a31b3,_0x3593ae),_0x4a31b3['prototype']=null===_0x3593ae?Object[_0x1a4e('0x7')](_0x3593ae):(_0x42ef8f[_0x1a4e('0xa')]=_0x3593ae[_0x1a4e('0xa')],new _0x42ef8f());}),_0x38e9c5=function(_0x4a31b3){var _0x3593ae='function'==typeof Symbol&&_0x4a31b3[Symbol[_0x1a4e('0x335')]],_0x42ef8f=0x0;return _0x3593ae?_0x3593ae[_0x1a4e('0x1')](_0x4a31b3):{'next':function(){return _0x4a31b3&&_0x42ef8f>=_0x4a31b3['length']&&(_0x4a31b3=void 0x0),{'value':_0x4a31b3&&_0x4a31b3[_0x42ef8f++],'done':!_0x4a31b3};}};},_0x5b8122=function(_0x4a31b3){function _0x3593ae(_0x3593ae){var _0x42ef8f=_0x4a31b3[_0x1a4e('0x1')](this)||this;return _0x42ef8f[_0x1a4e('0x38d5')]=_0x3593ae,_0x42ef8f;}return _0x5d4aa7(_0x3593ae,_0x4a31b3),Object[_0x1a4e('0x2')](_0x3593ae[_0x1a4e('0xa')],_0x1a4e('0x4b8f'),{'get':function(){return this[_0x1a4e('0x3ad5')]()['map'](function(_0x4a31b3){return _0x4a31b3[_0x1a4e('0x2cb')];});},'enumerable':!0x0,'configurable':!0x0}),_0x3593ae[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x4a31b3){if(!this[_0x1a4e('0x4b8f')]['includes'](_0x4a31b3['name']))return this['_itemList'][_0x1a4e('0x46')](_0x4a31b3),_0x4a31b3['initItem'](this[_0x1a4e('0x38d5')]),this[_0x1a4e('0x3ad3')](_0x1a4e('0x177'),_0x4a31b3),_0x4a31b3;console['log'](_0x1a4e('0x4b90')+_0x4a31b3[_0x1a4e('0x2cb')]+_0x1a4e('0x4b91'));},_0x3593ae[_0x1a4e('0xa')][_0x1a4e('0x4b92')]=function(_0x4a31b3){var _0x3593ae,_0x42ef8f;try{for(var _0x25ad5d=_0x38e9c5(this[_0x1a4e('0x3ad1')]),_0x21e871=_0x25ad5d[_0x1a4e('0x7e')]();!_0x21e871[_0x1a4e('0x3c2')];_0x21e871=_0x25ad5d[_0x1a4e('0x7e')]()){var _0x40378a=_0x21e871['value'];if(_0x40378a[_0x1a4e('0x2cb')]===_0x4a31b3)return _0x40378a;}}catch(_0x52b5a5){_0x3593ae={'error':_0x52b5a5};}finally{try{_0x21e871&&!_0x21e871[_0x1a4e('0x3c2')]&&(_0x42ef8f=_0x25ad5d['return'])&&_0x42ef8f['call'](_0x25ad5d);}finally{if(_0x3593ae)throw _0x3593ae[_0x1a4e('0x873')];}}},_0x3593ae[_0x1a4e('0xa')][_0x1a4e('0x4b93')]=function(_0x4a31b3,_0x3593ae){var _0x42ef8f=new Cesium['Cartesian2'](_0x4a31b3,_0x3593ae),_0x25ad5d=this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x106e')](_0x42ef8f);if(_0x25ad5d)for(var _0x21e871=0x0;_0x21e871=_0x2734a4['length']&&(_0x2734a4=void 0x0),{'value':_0x2734a4&&_0x2734a4[_0x160260++],'done':!_0x2734a4};}};},_0x166f1d=function(){function _0x2734a4(_0x2734a4){this['_dsName']=_0x1a4e('0x3faf'),this[_0x1a4e('0x4b96')]=null,this[_0x1a4e('0x4b97')]=Cesium['Color'][_0x1a4e('0x39ad')],this[_0x1a4e('0x4b98')]=1.5,this[_0x1a4e('0x4b99')]=Cesium[_0x1a4e('0x3947')]['LIME'],this[_0x1a4e('0x4b9a')]=0x6,this[_0x1a4e('0x4b9b')]=!0x1,this[_0x1a4e('0x4b9c')]=new Map(),this['_computeAngle']=!0x0,this[_0x1a4e('0x4b9d')]=new _0x5e98d5[(_0x1a4e('0x4b9e'))](null),this[_0x1a4e('0x38fa')]=_0x2734a4,this[_0x1a4e('0x4b9f')]=new Cesium[(_0x1a4e('0x42e3'))](this[_0x1a4e('0x4ba0')]),_0x2734a4[_0x1a4e('0x395b')][_0x1a4e('0x177')](this[_0x1a4e('0x4b9f')]),this[_0x1a4e('0x4b96')]=this[_0x1a4e('0x4b9f')]['entities'],_0x2734a4[_0x1a4e('0x3b3e')]['canAnimate']=!0x0,_0x2734a4[_0x1a4e('0x3b3e')][_0x1a4e('0x40f3')]=!0x0;}return _0x2734a4[_0x1a4e('0xa')][_0x1a4e('0x4ba1')]=function(_0x2734a4){var _0xc20cc0=[],_0x160260=[];_0x2734a4[_0x1a4e('0x21')](function(_0x2734a4){_0xc20cc0[_0x1a4e('0x46')](_0x2734a4[0x0],_0x2734a4[0x1],_0x2734a4[0x2]),_0x160260[_0x1a4e('0x46')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](new Date(_0x2734a4[0x3])));}),_0xc20cc0=Cesium['Cartesian3'][_0x1a4e('0x3955')](_0xc20cc0);var _0x5e98d5=new Cesium[(_0x1a4e('0x40bc'))]();return _0x5e98d5[_0x1a4e('0x4ba2')]=Cesium[_0x1a4e('0x4ba3')][_0x1a4e('0x4ba4')],_0x5e98d5[_0x1a4e('0x4ba5')]=Cesium[_0x1a4e('0x4ba3')][_0x1a4e('0x4ba4')],this[_0x1a4e('0x4b9b')]&&_0x5e98d5[_0x1a4e('0x4b70')]({'interpolationDegree':0x2,'interpolationAlgorithm':Cesium[_0x1a4e('0x4b71')]}),_0x5e98d5[_0x1a4e('0x4ba6')](_0x160260,_0xc20cc0),[_0xc20cc0,_0x5e98d5];},_0x2734a4['prototype']['addTargetHistoryEx']=function(_0x2734a4,_0xc20cc0){var _0x160260=this;if(!(_0xc20cc0[_0x1a4e('0x1e')]<0x1)){_0xc20cc0[_0x1a4e('0x21')](function(_0x2734a4){var _0xc20cc0=Cesium['Cartesian3'][_0x1a4e('0x38db')](Number(_0x2734a4[0x0]),Number(_0x2734a4[0x1]),Number(_0x2734a4[0x2])),_0x18e564=new _0x5e98d5[(_0x1a4e('0x4ba7'))]();_0x18e564[_0x1a4e('0x3553')]=_0xc20cc0,_0x18e564[_0x1a4e('0x129a')]=_0x2734a4[0x3],_0x160260[_0x1a4e('0x4b9d')][_0x1a4e('0x4b6f')](_0x18e564);});var _0x18e564=this[_0x1a4e('0x4ba8')](_0x2734a4);this['_pathList'][_0x1a4e('0x17a')](_0x2734a4['id'],_0x18e564);}},_0x2734a4[_0x1a4e('0xa')][_0x1a4e('0x4ba8')]=function(_0x2734a4){var _0xc20cc0,_0x160260,_0x5e98d5=this,_0x166f1d=_0x2734a4[_0x1a4e('0x375c')],_0x16f6f6=[],_0x423c42=this[_0x1a4e('0x4b9d')][_0x1a4e('0x4ba9')][_0x1a4e('0x21')](function(_0x2734a4){return _0x2734a4[_0x1a4e('0x3553')];}),_0x133ccd=this[_0x1a4e('0x4b9d')]['_positionList'],_0x395eb1=this,_0xf15de7=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')];var _0x4ceda5=new Cesium[(_0x1a4e('0x4baa'))](new Cesium[(_0x1a4e('0x3a95'))](function(_0x2734a4){return _0x395eb1[_0x1a4e('0x4b9d')][_0x1a4e('0x3f0a')](Cesium['JulianDate'][_0x1a4e('0x4ae9')](_0x2734a4)[_0x1a4e('0xe9')]());},!0x1)),_0x3cd24c=this[_0x1a4e('0x4b96')][_0x1a4e('0x177')]({'orientation':this[_0x1a4e('0x4bab')]?_0x4ceda5:void 0x0,'position':new Cesium[(_0x1a4e('0x3a95'))](function(_0x2734a4){return _0x5e98d5[_0x1a4e('0x4b9d')][_0x1a4e('0x3f0a')](Cesium['JulianDate'][_0x1a4e('0x4ae9')](_0x2734a4)[_0x1a4e('0xe9')]());},!0x1),'polyline':{'positions':_0x133ccd[_0x1a4e('0x21')](function(_0x2734a4){return _0x2734a4[_0x1a4e('0x3553')];}),'resolution':0x1,'width':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x5e98d5[_0x1a4e('0x4b98')];},!0x1),'material':new Cesium[(_0x1a4e('0x4520'))](new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x5e98d5[_0x1a4e('0x4b97')];},!0x1))},'billboard':{'id':_0x2734a4['id'],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](0x0,0x0),'eyeOffset':new Cesium['Cartesian3'](0x0,0x0,0x0),'horizontalOrigin':Cesium['HorizontalOrigin'][_0x1a4e('0x445d')],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')]['CENTER'],'alignedAxis':Cesium[_0x1a4e('0x393e')][_0x1a4e('0x4576')],'rotation':new Cesium[(_0x1a4e('0x3a95'))](function(_0x2734a4){if(_0x395eb1[_0x1a4e('0x4bab')]){var _0xc20cc0=Cesium[_0x1a4e('0x39a9')]['toDate'](_0x2734a4)[_0x1a4e('0xe9')](),_0x160260=_0x395eb1[_0x1a4e('0x4b9d')][_0x1a4e('0x3f0a')](_0xc20cc0),_0x5e98d5=_0x395eb1[_0x1a4e('0x4b9d')][_0x1a4e('0x3f0a')](_0xc20cc0+0xc8),_0x18e564=Cesium[_0x1a4e('0x4347')]['wgs84ToWindowCoordinates'](_0xf15de7,_0x160260),_0x166f1d=Cesium['SceneTransforms'][_0x1a4e('0x4826')](_0xf15de7,_0x5e98d5);return Cesium[_0x1a4e('0x3a0b')](_0x18e564)&&Cesium['defined'](_0x166f1d)?-0x1*_0x395eb1[_0x1a4e('0x4bac')](_0x18e564,_0x166f1d)-Cesium[_0x1a4e('0x1020')][_0x1a4e('0x448c')]:Cesium['Math'][_0x1a4e('0x448c')];}return 0x0;},!0x1),'color':Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x166f1d[_0x1a4e('0x134')]),'image':_0x166f1d[_0x1a4e('0x4bad')],'width':_0x166f1d[_0x1a4e('0x4bae')],'height':_0x166f1d['iconSize'],'distanceDisplayCondition':_0x166f1d['iconDisplayCondition']},'point':{'id':_0x2734a4['id'],'pixelSize':_0x166f1d[_0x1a4e('0x4baf')],'color':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x166f1d['color']),'distanceDisplayCondition':_0x166f1d[_0x1a4e('0x4bb0')],'outlineColor':Cesium['Color'][_0x1a4e('0x393c')](_0x166f1d[_0x1a4e('0x4bb1')]),'outlineWidth':_0x166f1d[_0x1a4e('0x4bb2')]},'label':{'text':_0x2734a4[_0x1a4e('0x2cb')],'horizontalOrigin':Cesium[_0x1a4e('0x440b')][_0x1a4e('0x3ea')],'show':!0x0,'id':_0x2734a4['id'],'font':_0x2734a4[_0x1a4e('0x4bb3')][_0x1a4e('0x4207')]+_0x1a4e('0x447b')+_0x2734a4[_0x1a4e('0x4bb3')][_0x1a4e('0x3986')],'fillColor':Cesium['Color'][_0x1a4e('0x393c')](_0x2734a4[_0x1a4e('0x40a1')]),'outlineColor':_0x2734a4['outlineColor'],'outlineWidth':_0x2734a4[_0x1a4e('0x4172')],'showBackground':_0x2734a4['showFontbgColor'],'backgroundColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x2734a4[_0x1a4e('0x4bb4')]),'backgroundPadding':new Cesium[(_0x1a4e('0x3952'))](0xa,0x6),'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](_0x2734a4[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb5')],_0x2734a4[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb6')]),'distanceDisplayCondition':_0x2734a4[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb7')],'disableDepthTestDistance':Number[_0x1a4e('0x4d5')]},'model':{'uri':_0x166f1d[_0x1a4e('0x4b43')],'distanceDisplayCondition':_0x166f1d['modelDisplayCondition'],'minimumPixelSize':0x80,'color':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x166f1d[_0x1a4e('0x134')]),'scale':0x1}});try{for(var _0x5aa4ed=_0x18e564(_0x423c42),_0x4de2d6=_0x5aa4ed[_0x1a4e('0x7e')]();!_0x4de2d6['done'];_0x4de2d6=_0x5aa4ed[_0x1a4e('0x7e')]()){var _0x58b31a=_0x4de2d6['value'],_0x103233=this[_0x1a4e('0x4b96')][_0x1a4e('0x177')]({'position':_0x58b31a,'point':{'color':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x5e98d5[_0x1a4e('0x4b99')];},!0x1),'pixelSize':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x5e98d5[_0x1a4e('0x4b9a')];},!0x1)}});_0x103233[_0x1a4e('0xc4a')]=!0x0,_0x16f6f6[_0x1a4e('0x46')](_0x103233);}}catch(_0x445486){_0xc20cc0={'error':_0x445486};}finally{try{_0x4de2d6&&!_0x4de2d6[_0x1a4e('0x3c2')]&&(_0x160260=_0x5aa4ed[_0x1a4e('0xe40')])&&_0x160260[_0x1a4e('0x1')](_0x5aa4ed);}finally{if(_0xc20cc0)throw _0xc20cc0['error'];}}return _0x16f6f6[_0x1a4e('0x46')](_0x3cd24c),_0x16f6f6;},_0x2734a4['prototype'][_0x1a4e('0x4bac')]=function(_0x2734a4,_0xc20cc0){var _0x160260,_0x5e98d5,_0x18e564;return _0x18e564=0x0,_0x160260=_0xc20cc0['x']-_0x2734a4['x'],_0x5e98d5=_0xc20cc0['y']-_0x2734a4['y'],0x0!=_0x160260?_0x18e564=0xb4*Math[_0x1a4e('0xc2')](Math['abs'](_0x5e98d5/_0x160260))/Cesium[_0x1a4e('0x1020')]['PI']:_0x5e98d5>0x0?_0x18e564=0x5a:_0x5e98d5<0x0&&(_0x18e564=0x10e),0x0==_0x5e98d5&&_0x160260<0x0?_0x18e564=0xb4:_0x5e98d5>0x0&&_0x160260<0x0?_0x18e564=0xb4-_0x18e564:_0x5e98d5<0x0&&_0x160260<0x0?_0x18e564=0xb4+_0x18e564:_0x5e98d5<0x0&&_0x160260>0x0&&(_0x18e564=0x168-_0x18e564),_0x18e564=_0x18e564*Cesium[_0x1a4e('0x1020')]['PI']/0xb4;},_0x2734a4[_0x1a4e('0xa')][_0x1a4e('0x4bb8')]=function(_0x2734a4,_0xc20cc0){var _0x160260,_0x5e98d5,_0x166f1d=this,_0xd90caf=this,_0x23245d=this['_timePosition2sample'](_0xc20cc0),_0x48a301=_0x2734a4[_0x1a4e('0x375c')],_0x5d5503=[],_0x4317ac=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')],_0x3528a1=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](new Date(_0xc20cc0[0x0][0x3])),_0x4bd545=Cesium['JulianDate'][_0x1a4e('0x40ea')](new Date(_0xc20cc0[_0xc20cc0['length']-0x1][0x3])),_0x15f3c0=new Cesium[(_0x1a4e('0x4bb9'))]();_0x15f3c0['start']=_0x3528a1,_0x15f3c0[_0x1a4e('0x127b')]=_0x4bd545;var _0x57053d=new Cesium[(_0x1a4e('0x4bba'))]([_0x15f3c0]),_0x2f2668=new Cesium[(_0x1a4e('0x4baa'))](_0x23245d[0x1]);var _0x436a65=this[_0x1a4e('0x4b96')][_0x1a4e('0x177')]({'position':_0x23245d[0x1],'availability':_0x57053d,'orientation':this[_0x1a4e('0x4bab')]?_0x2f2668:void 0x0,'path':{'resolution':0x1,'width':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x166f1d[_0x1a4e('0x4b98')];},!0x1),'material':new Cesium['ColorMaterialProperty'](new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x166f1d[_0x1a4e('0x4b97')];},!0x1))},'billboard':{'id':_0x2734a4['id'],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](0x0,0x0),'eyeOffset':new Cesium['Cartesian3'](0x0,0x0,0x0),'horizontalOrigin':Cesium['HorizontalOrigin']['CENTER'],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')][_0x1a4e('0x445d')],'alignedAxis':Cesium[_0x1a4e('0x393e')][_0x1a4e('0x4576')],'rotation':new Cesium[(_0x1a4e('0x3a95'))](function(_0x2734a4){if(_0xd90caf[_0x1a4e('0x4bab')]){var _0xc20cc0=new Cesium[(_0x1a4e('0x39a9'))](),_0x160260=_0x23245d[0x1][_0x1a4e('0x1460')](_0x2734a4),_0x5e98d5=_0x23245d[0x1][_0x1a4e('0x1460')](Cesium['JulianDate'][_0x1a4e('0x406b')](_0x2734a4,0x1,_0xc20cc0)),_0x18e564=Cesium[_0x1a4e('0x4347')][_0x1a4e('0x4826')](_0x4317ac,_0x160260),_0x166f1d=Cesium['SceneTransforms'][_0x1a4e('0x4826')](_0x4317ac,_0x5e98d5);return Cesium['defined'](_0x18e564)&&Cesium[_0x1a4e('0x3a0b')](_0x166f1d)?-0x1*_0xd90caf[_0x1a4e('0x4bac')](_0x18e564,_0x166f1d)-Cesium['Math'][_0x1a4e('0x448c')]:Cesium['Math'][_0x1a4e('0x448c')];}return 0x0;},!0x1),'color':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x48a301[_0x1a4e('0x134')]),'image':_0x48a301[_0x1a4e('0x4bad')],'width':_0x48a301[_0x1a4e('0x4bae')],'height':_0x48a301[_0x1a4e('0x4bae')],'distanceDisplayCondition':_0x48a301[_0x1a4e('0x4bbb')]},'point':{'id':_0x2734a4['id'],'pixelSize':_0x48a301['pointSize'],'color':Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x48a301[_0x1a4e('0x134')]),'distanceDisplayCondition':_0x48a301['pointDisplayCondition'],'outlineColor':Cesium['Color'][_0x1a4e('0x393c')](_0x48a301[_0x1a4e('0x4bb1')]),'outlineWidth':_0x48a301['pointLineWidth']},'label':{'text':_0x2734a4['name'],'horizontalOrigin':Cesium['HorizontalOrigin'][_0x1a4e('0x3ea')],'show':!0x0,'id':_0x2734a4['id'],'font':_0x2734a4[_0x1a4e('0x4bb3')][_0x1a4e('0x4207')]+'px\x20'+_0x2734a4['_style'][_0x1a4e('0x3986')],'fillColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x2734a4[_0x1a4e('0x40a1')]),'outlineColor':_0x2734a4[_0x1a4e('0x409f')],'outlineWidth':_0x2734a4[_0x1a4e('0x4172')],'showBackground':_0x2734a4[_0x1a4e('0x4bbc')],'backgroundColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x2734a4['fontbgColor']),'backgroundPadding':new Cesium[(_0x1a4e('0x3952'))](0xa,0x6),'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](_0x2734a4['_style']['labeloffsetx'],_0x2734a4[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb6')]),'distanceDisplayCondition':_0x2734a4[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb7')],'disableDepthTestDistance':Number[_0x1a4e('0x4d5')]},'model':{'uri':_0x48a301[_0x1a4e('0x4b43')],'distanceDisplayCondition':_0x48a301[_0x1a4e('0x4bbd')],'minimumPixelSize':0x80,'color':Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x48a301['color']),'scale':0x1}});_0x5d5503[_0x1a4e('0x46')](_0x436a65);try{for(var _0x49df5b=_0x18e564(_0x23245d[0x0]),_0x157087=_0x49df5b[_0x1a4e('0x7e')]();!_0x157087['done'];_0x157087=_0x49df5b[_0x1a4e('0x7e')]()){var _0x9de1b5=_0x157087[_0x1a4e('0x255')],_0x3cbf58=this[_0x1a4e('0x4b96')][_0x1a4e('0x177')]({'position':_0x9de1b5,'point':{'color':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x166f1d['_trackPointColor'];},!0x1),'pixelSize':new Cesium['CallbackProperty'](function(){return _0x166f1d['_trackPointSize'];},!0x1)}});_0x3cbf58[_0x1a4e('0xc4a')]=!0x0,_0x5d5503[_0x1a4e('0x46')](_0x3cbf58);}}catch(_0x46f61){_0x160260={'error':_0x46f61};}finally{try{_0x157087&&!_0x157087[_0x1a4e('0x3c2')]&&(_0x5e98d5=_0x49df5b[_0x1a4e('0xe40')])&&_0x5e98d5[_0x1a4e('0x1')](_0x49df5b);}finally{if(_0x160260)throw _0x160260[_0x1a4e('0x873')];}}this['_pathList'][_0x1a4e('0x17a')](_0x2734a4['id'],_0x5d5503);},_0x2734a4['prototype'][_0x1a4e('0x3a42')]=function(){this[_0x1a4e('0x4b96')][_0x1a4e('0x3a42')]();},_0x2734a4[_0x1a4e('0xa')]['removeByID']=function(_0x2734a4){var _0xc20cc0,_0x160260,_0x5e98d5=this[_0x1a4e('0x4b9c')][_0x1a4e('0x179')](_0x2734a4);if(_0x5e98d5)try{for(var _0x166f1d=_0x18e564(_0x5e98d5),_0x2fed0e=_0x166f1d[_0x1a4e('0x7e')]();!_0x2fed0e[_0x1a4e('0x3c2')];_0x2fed0e=_0x166f1d[_0x1a4e('0x7e')]()){var _0x28f8f9=_0x2fed0e['value'];this[_0x1a4e('0x4b96')][_0x1a4e('0x82')](_0x28f8f9);}}catch(_0x12630d){_0xc20cc0={'error':_0x12630d};}finally{try{_0x2fed0e&&!_0x2fed0e[_0x1a4e('0x3c2')]&&(_0x160260=_0x166f1d[_0x1a4e('0xe40')])&&_0x160260[_0x1a4e('0x1')](_0x166f1d);}finally{if(_0xc20cc0)throw _0xc20cc0['error'];}}},_0x2734a4[_0x1a4e('0xa')][_0x1a4e('0x4bbe')]=function(_0x2734a4,_0xc20cc0){var _0x160260=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](new Date(_0x2734a4)),_0x5e98d5=Cesium['JulianDate'][_0x1a4e('0x40ea')](new Date(_0xc20cc0));return this[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x4058')]=_0x160260[_0x1a4e('0x240')](),this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x407a')]=_0x5e98d5['clone'](),this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x40f7')]=_0x160260[_0x1a4e('0x240')](),!0x0;},Object[_0x1a4e('0x2')](_0x2734a4[_0x1a4e('0xa')],_0x1a4e('0x40e3'),{'get':function(){return this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x40e5')];},'set':function(_0x2734a4){this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')]['multiplier']=_0x2734a4;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2734a4[_0x1a4e('0xa')],_0x1a4e('0x4bbf'),{'get':function(){return this['_computeAngle'];},'set':function(_0x2734a4){this['_computeAngle']=_0x2734a4;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2734a4[_0x1a4e('0xa')],_0x1a4e('0x45f8'),{'get':function(){return this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x40f3')];},'set':function(_0x2734a4){this['_viewer'][_0x1a4e('0x3b3e')][_0x1a4e('0x40f3')]=_0x2734a4;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2734a4[_0x1a4e('0xa')],_0x1a4e('0x3a23'),{'get':function(){return this[_0x1a4e('0x4b9f')]['show'];},'set':function(_0x2734a4){this[_0x1a4e('0x4b9f')]['show']=_0x2734a4;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2734a4['prototype'],'lineColor',{'get':function(){return this['_trackLineColor'];},'set':function(_0x2734a4){this[_0x1a4e('0x4b97')]=_0x2734a4;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2734a4[_0x1a4e('0xa')],'lineWidth',{'get':function(){return this[_0x1a4e('0x4b98')];},'set':function(_0x2734a4){this[_0x1a4e('0x4b98')]=_0x2734a4;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2734a4['prototype'],_0x1a4e('0x4bc0'),{'get':function(){return this[_0x1a4e('0x4b99')];},'set':function(_0x2734a4){this[_0x1a4e('0x4b99')]=_0x2734a4;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2734a4[_0x1a4e('0xa')],_0x1a4e('0x4baf'),{'get':function(){return this[_0x1a4e('0x4b9a')];},'set':function(_0x2734a4){this[_0x1a4e('0x4b9a')]=_0x2734a4;},'enumerable':!0x0,'configurable':!0x0}),_0x2734a4;}();},'./src/LayerManager/TargetLayer/TargetItem.ts':function(_0x4b98e5,_0x4f6933,_0x53371e){'use strict';_0x53371e['r'](_0x4f6933),_0x53371e['d'](_0x4f6933,'TargetItem',function(){return _0xcdcc13;}),_0x53371e['d'](_0x4f6933,'TrackLineOption',function(){return _0x4dcebc;});var _0x5ef09d,_0x2f20e2=_0x53371e('./src/LayerManager/TargetLayer/TargetStyle.ts'),_0x16768c=_0x53371e(_0x1a4e('0x4bc1')),_0x50047d=_0x53371e(_0x1a4e('0x4053')),_0x4477f4=_0x53371e(_0x1a4e('0x3f2e')),_0x42eaea=_0x53371e('./src/Utils/GeoPoint.ts'),_0x3e670c=_0x53371e(_0x1a4e('0x4bc2')),_0x4746cb=_0x53371e(_0x1a4e('0x4bc3')),_0x1a3ee0=_0x53371e(_0x1a4e('0x4b95')),_0x41df35=(_0x5ef09d=function(_0x4b98e5,_0x4f6933){return(_0x5ef09d=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4b98e5,_0x4f6933){_0x4b98e5[_0x1a4e('0x295')]=_0x4f6933;}||function(_0x4b98e5,_0x4f6933){for(var _0x53371e in _0x4f6933)_0x4f6933[_0x1a4e('0xb')](_0x53371e)&&(_0x4b98e5[_0x53371e]=_0x4f6933[_0x53371e]);})(_0x4b98e5,_0x4f6933);},function(_0x4b98e5,_0x4f6933){function _0x53371e(){this[_0x1a4e('0x10')]=_0x4b98e5;}_0x5ef09d(_0x4b98e5,_0x4f6933),_0x4b98e5[_0x1a4e('0xa')]=null===_0x4f6933?Object[_0x1a4e('0x7')](_0x4f6933):(_0x53371e['prototype']=_0x4f6933[_0x1a4e('0xa')],new _0x53371e());}),_0x41a324=function(_0x4b98e5){var _0x4f6933='function'==typeof Symbol&&_0x4b98e5[Symbol[_0x1a4e('0x335')]],_0x53371e=0x0;return _0x4f6933?_0x4f6933[_0x1a4e('0x1')](_0x4b98e5):{'next':function(){return _0x4b98e5&&_0x53371e>=_0x4b98e5[_0x1a4e('0x1e')]&&(_0x4b98e5=void 0x0),{'value':_0x4b98e5&&_0x4b98e5[_0x53371e++],'done':!_0x4b98e5};}};},_0xcdcc13=function(_0x4b98e5){function _0x4f6933(_0x4f6933,_0x53371e,_0x5ef09d,_0x50047d,_0x4477f4,_0x3e670c){void 0x0===_0x4477f4&&(_0x4477f4=!0x1),void 0x0===_0x3e670c&&(_0x3e670c=!0x1);var _0x4746cb=_0x4b98e5[_0x1a4e('0x1')](this)||this;return _0x4746cb[_0x1a4e('0x3994')]=_0x16768c[_0x1a4e('0x4bc4')]['None'],_0x4746cb[_0x1a4e('0x4bc5')]=!0x0,_0x4746cb[_0x1a4e('0x4bb3')]=_0x2f20e2[_0x1a4e('0x4bc6')][_0x1a4e('0x4bc7')](),_0x4746cb[_0x1a4e('0x3dcb')]=0x0,_0x4746cb[_0x1a4e('0x4bc8')]=null,_0x4746cb[_0x1a4e('0x1f7')]=!0x1,_0x4746cb[_0x1a4e('0x39d5')]=null,_0x4746cb[_0x1a4e('0x4b9b')]=!0x1,_0x4746cb['_inview']=!0x1,_0x4746cb[_0x1a4e('0x4bc9')]=[],_0x4746cb[_0x1a4e('0x4bca')]=!0x0,_0x4746cb['_show']=!0x0,_0x4746cb[_0x1a4e('0x4bcb')]=!0x1,_0x4746cb[_0x1a4e('0x4bcc')]=!0x1,_0x4746cb[_0x1a4e('0x4bcd')]=!0x1,_0x4746cb[_0x1a4e('0x4bce')]=null,_0x4746cb[_0x1a4e('0x4bcf')]=!0x0,_0x4746cb['_showModel']=!0x1,_0x4746cb[_0x1a4e('0x4bd0')]=!0x1,_0x4746cb['_backwardPath']=null,_0x4746cb[_0x1a4e('0x4bd1')]=null,_0x4746cb['_flame']=null,_0x4746cb['_itemtype']=_0x1a4e('0xd95'),_0x4746cb[_0x1a4e('0x4bd2')]=!0x1,_0x4746cb[_0x1a4e('0x4bd3')]=new Map(),_0x4746cb[_0x1a4e('0x515')]=_0x4f6933,_0x4746cb['_name']='',_0x4746cb['_smoothTrack']=_0x4477f4,_0x4746cb[_0x1a4e('0x3b68')]=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x53371e,_0x5ef09d,_0x50047d),_0x4746cb[_0x1a4e('0x4bd4')]=new _0x42eaea[(_0x1a4e('0x38da'))](_0x53371e,_0x5ef09d,_0x50047d),_0x4746cb[_0x1a4e('0x4bd5')]=_0x1a4e('0x487b'),_0x4746cb[_0x1a4e('0x4585')]=_0x1a4e('0x487b'),_0x4746cb[_0x1a4e('0x4bd6')]='',_0x4746cb[_0x1a4e('0x4bd7')]=new _0x1a3ee0[(_0x1a4e('0x4b9e'))](_0x4746cb),_0x4746cb;}return _0x41df35(_0x4f6933,_0x4b98e5),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bd8'),{'get':function(){return this[_0x1a4e('0x4bd7')][_0x1a4e('0x4ba9')];},'enumerable':!0x0,'configurable':!0x0}),_0x4f6933[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x1a4e('0xd95');},Object['defineProperty'](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bd9'),{'get':function(){return Cesium['defined'](this[_0x1a4e('0x4bd1')])||(this['_forewardPath']=new _0x3e670c[(_0x1a4e('0x4bda'))](this,_0x3e670c['PathType'][_0x1a4e('0x4bdb')]),this[_0x1a4e('0x4bd1')][_0x1a4e('0x4bdc')]=Cesium[_0x1a4e('0x3947')]['WHITE'],this[_0x1a4e('0x4bd1')][_0x1a4e('0x4bdd')]=Cesium['Color'][_0x1a4e('0x39a7')]),this[_0x1a4e('0x4bd1')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bde'),{'get':function(){return Cesium['defined'](this['_backwardPath'])||(this[_0x1a4e('0x4bdf')]=new _0x3e670c['TargetPath'](this,_0x3e670c[_0x1a4e('0x4be0')][_0x1a4e('0x4be1')]),this['_backwardPath'][_0x1a4e('0x4bdc')]=Cesium[_0x1a4e('0x3947')]['RED'],this[_0x1a4e('0x4bdf')]['trackPointColor']=Cesium[_0x1a4e('0x3947')]['RED']),this[_0x1a4e('0x4bdf')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4be2'),{'get':function(){return this[_0x1a4e('0x4be3')]||(this[_0x1a4e('0x4be3')]=new _0x4746cb[(_0x1a4e('0x4be4'))](this)),this[_0x1a4e('0x4be3')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4be5'),{'get':function(){return this['_showLabel'];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bcc')]=_0x4b98e5,this[_0x1a4e('0x4bcd')]&&(this[_0x1a4e('0x436')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4bcc')]);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4be6'),{'get':function(){return this[_0x1a4e('0x4be7')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4be7')]=_0x4b98e5,this[_0x1a4e('0x4bd0')]&&(this[_0x1a4e('0x4be8')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4be7')]);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4be9'),{'get':function(){return this['_type'];},'set':function(_0x4b98e5){this['_type']=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933['prototype'],_0x1a4e('0x4bea'),{'get':function(){return this[_0x1a4e('0x4bd7')][_0x1a4e('0x4beb')];},'set':function(_0x4b98e5){this['_timePosition'][_0x1a4e('0x4beb')]=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x43bc'),{'get':function(){return this[_0x1a4e('0x3994')];},'set':function(_0x4b98e5){this['_flag']=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),_0x4f6933[_0x1a4e('0xa')][_0x1a4e('0x3f0a')]=function(){return this[_0x1a4e('0x4bd7')][_0x1a4e('0x3f0a')](new Date()[_0x1a4e('0xe9')]());},Object['defineProperty'](_0x4f6933['prototype'],_0x1a4e('0x4bec'),{'get':function(){return this[_0x1a4e('0x4bca')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bca')]=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f6933[_0x1a4e('0xa')],'show',{'get':function(){return this[_0x1a4e('0x3a24')];},'set':function(_0x4b98e5){var _0x4f6933,_0x53371e;this[_0x1a4e('0x3a24')]=_0x4b98e5,this['_point']&&(this[_0x1a4e('0x3983')][_0x1a4e('0x3a23')]=_0x4b98e5),this[_0x1a4e('0x4bed')]&&(this[_0x1a4e('0x4bed')][_0x1a4e('0x3a23')]=_0x4b98e5),this[_0x1a4e('0x436')]&&(this['_label'][_0x1a4e('0x3a23')]=_0x4b98e5),this[_0x1a4e('0x4be8')]&&(this[_0x1a4e('0x4be8')]['show']=_0x4b98e5),this['_linkLine']&&(this[_0x1a4e('0x4bce')][_0x1a4e('0x3a23')]=this[_0x1a4e('0x4bcf')]&&this['_show']);try{for(var _0x5ef09d=_0x41a324(this[_0x1a4e('0x4bd3')]),_0x2f20e2=_0x5ef09d[_0x1a4e('0x7e')]();!_0x2f20e2[_0x1a4e('0x3c2')];_0x2f20e2=_0x5ef09d[_0x1a4e('0x7e')]()){var _0x16768c=_0x2f20e2[_0x1a4e('0x255')];!this[_0x1a4e('0x4bc8')]['show']&&_0x4b98e5?_0x16768c[0x1][_0x1a4e('0x3b2c')]=!0x1:_0x16768c[0x1][_0x1a4e('0x3b2c')]=_0x4b98e5;}}catch(_0x20ac2f){_0x4f6933={'error':_0x20ac2f};}finally{try{_0x2f20e2&&!_0x2f20e2[_0x1a4e('0x3c2')]&&(_0x53371e=_0x5ef09d['return'])&&_0x53371e[_0x1a4e('0x1')](_0x5ef09d);}finally{if(_0x4f6933)throw _0x4f6933[_0x1a4e('0x873')];}}},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],'smoothTrack',{'get':function(){return this['_smoothTrack'];},'set':function(_0x4b98e5){this[_0x1a4e('0x4b9b')]=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x375c'),{'get':function(){return this[_0x1a4e('0x4bb3')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bb3')]=_0x4b98e5,this[_0x1a4e('0x4bc8')]&&this[_0x1a4e('0x4bc8')]['setTargetStyle'](this);},'enumerable':!0x0,'configurable':!0x0}),_0x4f6933[_0x1a4e('0xa')]['updatePosition']=function(_0x4b98e5,_0x4f6933,_0x53371e,_0x5ef09d){var _0x2f20e2,_0x50047d;void 0x0===_0x5ef09d&&(_0x5ef09d=0x5);var _0x4477f4=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](Number(_0x4b98e5),Number(_0x4f6933),Number(_0x53371e));if(this[_0x1a4e('0x4bd4')]=new _0x42eaea[(_0x1a4e('0x38da'))](_0x4b98e5,_0x4f6933,_0x53371e),!this[_0x1a4e('0x4b9b')]){this[_0x1a4e('0x3b68')]=_0x4477f4,this[_0x1a4e('0x43bc')]=_0x16768c[_0x1a4e('0x4bc4')][_0x1a4e('0x4bee')],this[_0x1a4e('0x436')]&&(this['_label'][_0x1a4e('0x3553')]=this[_0x1a4e('0x3b68')]),this[_0x1a4e('0x4bce')]&&(this[_0x1a4e('0x4bce')][_0x1a4e('0x3553')]=this[_0x1a4e('0x3b68')]),this[_0x1a4e('0x3983')]['position']=this[_0x1a4e('0x3b68')],this['_billbord'][_0x1a4e('0x3553')]=this[_0x1a4e('0x3b68')],this[_0x1a4e('0x4bed')]['orientation']=this['angle'],this[_0x1a4e('0x4be8')]&&(this[_0x1a4e('0x4be8')][_0x1a4e('0x3553')]=this[_0x1a4e('0x3b68')]);try{for(var _0x3e670c=_0x41a324(this[_0x1a4e('0x4bd3')]),_0x4746cb=_0x3e670c[_0x1a4e('0x7e')]();!_0x4746cb[_0x1a4e('0x3c2')];_0x4746cb=_0x3e670c['next']()){_0x4746cb[_0x1a4e('0x255')][0x1][_0x1a4e('0x3553')]=new _0x42eaea[(_0x1a4e('0x38da'))](_0x4b98e5,_0x4f6933,_0x53371e);}}catch(_0x51c0c2){_0x2f20e2={'error':_0x51c0c2};}finally{try{_0x4746cb&&!_0x4746cb['done']&&(_0x50047d=_0x3e670c[_0x1a4e('0xe40')])&&_0x50047d[_0x1a4e('0x1')](_0x3e670c);}finally{if(_0x2f20e2)throw _0x2f20e2[_0x1a4e('0x873')];}}}this[_0x1a4e('0x4bde')][_0x1a4e('0x3a23')]&&this[_0x1a4e('0x4bde')][_0x1a4e('0x3e6b')](_0x4477f4),this[_0x1a4e('0x4bd9')][_0x1a4e('0x3a23')]&&this[_0x1a4e('0x4bd9')]['updatePosition'](_0x4477f4);var _0x41df35=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0xe3f')](),_0xcdcc13=Cesium['JulianDate'][_0x1a4e('0x406b')](_0x41df35,_0x5ef09d,new Cesium[(_0x1a4e('0x39a9'))]()),_0x4dcebc=new _0x1a3ee0[(_0x1a4e('0x4ba7'))]();_0x4dcebc[_0x1a4e('0x3553')]=_0x4477f4,_0x4dcebc[_0x1a4e('0x129a')]=Cesium[_0x1a4e('0x39a9')]['toDate'](_0xcdcc13)[_0x1a4e('0xe9')](),this[_0x1a4e('0x4bd7')][_0x1a4e('0x4b6f')](_0x4dcebc),this[_0x1a4e('0x43bc')]=_0x16768c[_0x1a4e('0x4bc4')][_0x1a4e('0x4bee')],this[_0x1a4e('0x4be3')]&&this[_0x1a4e('0x4be3')][_0x1a4e('0x4bef')]();},_0x4f6933[_0x1a4e('0xa')][_0x1a4e('0x3b40')]=function(){return this[_0x1a4e('0x4bc8')][_0x1a4e('0x4bf0')]&&this[_0x1a4e('0x4bf1')]?this['_parentLayer'][_0x1a4e('0x4bf2')]:this[_0x1a4e('0x4bb3')][_0x1a4e('0x134')];},Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],'name',{'get':function(){return this['_name'];},'set':function(_0x4b98e5){this[_0x1a4e('0x3d3')]=_0x4b98e5,this[_0x1a4e('0x436')]&&(this['_label'][_0x1a4e('0xe04')]=_0x4b98e5);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],'color',{'get':function(){return this['_color']?this[_0x1a4e('0x3b69')]:this[_0x1a4e('0x4bb3')]['color'];},'set':function(_0x4b98e5){var _0x4f6933=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x4b98e5);this['_point']&&(this[_0x1a4e('0x3983')][_0x1a4e('0x134')]=_0x4f6933),this[_0x1a4e('0x4bed')]&&this[_0x1a4e('0x4bca')]&&(this['_billbord'][_0x1a4e('0x134')]=_0x4f6933),this['_color']=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x40a1'),{'get':function(){return this[_0x1a4e('0x4bd5')];},'set':function(_0x4b98e5){var _0x4f6933=Cesium['Color'][_0x1a4e('0x393c')](_0x4b98e5);this['_label']&&(this[_0x1a4e('0x436')][_0x1a4e('0x3987')]=_0x4f6933),this['_textColor']=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x409f'),{'get':function(){return this['_outlineColor'];},'set':function(_0x4b98e5){var _0x4f6933=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x4b98e5);this[_0x1a4e('0x436')]&&(this['_label'][_0x1a4e('0x409f')]=_0x4f6933,this[_0x1a4e('0x436')][_0x1a4e('0x375c')]=Cesium[_0x1a4e('0x4503')][_0x1a4e('0x394c')]),this[_0x1a4e('0x4585')]=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4172'),{'get':function(){return this[_0x1a4e('0x4587')];},'set':function(_0x4b98e5){this[_0x1a4e('0x436')]&&(this[_0x1a4e('0x436')]['outlineWidth']=_0x4b98e5),this[_0x1a4e('0x4587')]=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933['prototype'],'depthTest',{'get':function(){return this[_0x1a4e('0x4bd2')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bd2')]=_0x4b98e5,this['_point']&&(this[_0x1a4e('0x3983')][_0x1a4e('0x414a')]=this['_depthTest']?Number[_0x1a4e('0x4d5')]:0x0),this['_label']&&(this[_0x1a4e('0x436')]['disableDepthTestDistance']=this[_0x1a4e('0x4bd2')]?Number['POSITIVE_INFINITY']:0x0),this[_0x1a4e('0x4bed')]&&(this[_0x1a4e('0x4bed')][_0x1a4e('0x414a')]=this[_0x1a4e('0x4bd2')]?Number[_0x1a4e('0x4d5')]:0x0);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bf3'),{'get':function(){return this['_modelColor'];},'set':function(_0x4b98e5){var _0x4f6933=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x4b98e5);this[_0x1a4e('0x4be8')]&&this[_0x1a4e('0x4be8')][_0x1a4e('0x3c51')]&&(this[_0x1a4e('0x4be8')][_0x1a4e('0x3c51')]['color']=_0x4f6933),this[_0x1a4e('0x4bd6')]=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bae'),{'get':function(){return this[_0x1a4e('0x4bb3')][_0x1a4e('0x4bae')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bb3')]['iconSize']=_0x4b98e5,this[_0x1a4e('0x4bed')]&&(this[_0x1a4e('0x4bed')][_0x1a4e('0x3936')]=_0x4b98e5,this[_0x1a4e('0x4bed')][_0x1a4e('0x152')]=_0x4b98e5);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bf4'),{'get':function(){return this['_style']['_iconWidth'];},'set':function(_0x4b98e5){this['_style']['_iconWidth']=_0x4b98e5,this['_billbord']&&(this[_0x1a4e('0x4bed')][_0x1a4e('0x3936')]=_0x4b98e5);},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bf5'),{'get':function(){return this[_0x1a4e('0x4bb3')][_0x1a4e('0x4bf6')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bb3')][_0x1a4e('0x4bf6')]=_0x4b98e5,this[_0x1a4e('0x4bed')]&&(this['_billbord'][_0x1a4e('0x152')]=_0x4b98e5);},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f6933[_0x1a4e('0xa')],'iconUrl',{'get':function(){return this[_0x1a4e('0x4bb3')][_0x1a4e('0x4bad')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bb3')]['iconUrl']=_0x4b98e5,this[_0x1a4e('0x4bed')]&&(this[_0x1a4e('0x4bed')][_0x1a4e('0x3cb4')]=_0x4b98e5);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],'fontbgColor',{'get':function(){return this[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb4')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb4')]=_0x4b98e5,this[_0x1a4e('0x436')]&&this[_0x1a4e('0x4bcd')]&&(this[_0x1a4e('0x436')]['backgroundColor']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x4b98e5));},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bbc'),{'get':function(){return this[_0x1a4e('0x4bb3')][_0x1a4e('0x4bbc')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bb3')]['showFontbgColor']=_0x4b98e5,this[_0x1a4e('0x436')]&&this[_0x1a4e('0x4bcd')]&&(this[_0x1a4e('0x436')][_0x1a4e('0x420f')]=_0x4b98e5);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bf1'),{'get':function(){return this[_0x1a4e('0x4bcb')];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bcb')]=_0x4b98e5,this[_0x1a4e('0x134')]=this[_0x1a4e('0x3b40')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bf7'),{'get':function(){return this['_showLink'];},'set':function(_0x4b98e5){this[_0x1a4e('0x4bcf')]=_0x4b98e5,this[_0x1a4e('0x4bce')]&&(this[_0x1a4e('0x4bce')][_0x1a4e('0x3a23')]=this['_showLink']&&this[_0x1a4e('0x3a24')]);},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4f6933[_0x1a4e('0xa')],'angle',{'get':function(){return this[_0x1a4e('0x3dcb')];},'set':function(_0x4b98e5){if(_0x4477f4[_0x1a4e('0x2bc9')][_0x1a4e('0x84c')](_0x4b98e5)&&(this['_angle']=_0x4b98e5,this['_billbord']&&(this[_0x1a4e('0x4bed')][_0x1a4e('0x3d2e')]=-0x1*Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](this['_angle'])),this[_0x1a4e('0x4bd0')]&&!this[_0x1a4e('0x4bf8')])){var _0x4f6933=Cesium['Math'][_0x1a4e('0x566')](_0x4b98e5-0x5a),_0x53371e=new Cesium[(_0x1a4e('0x3aab'))](_0x4f6933,0x0,0x0),_0x5ef09d=Cesium['Transforms'][_0x1a4e('0x4bf9')](this[_0x1a4e('0x4be8')][_0x1a4e('0x3553')]['_value'],_0x53371e);this[_0x1a4e('0x4be8')][_0x1a4e('0x164')]=_0x5ef09d;}},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x4bfa'),{'get':function(){return this['_userHPR'];},'set':function(_0x4b98e5){if(this[_0x1a4e('0x4bf8')]=_0x4b98e5,this[_0x1a4e('0x4bd0')]){var _0x4f6933=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x4bf9')](this[_0x1a4e('0x4be8')]['position'][_0x1a4e('0x145f')],_0x4b98e5);this[_0x1a4e('0x4be8')][_0x1a4e('0x164')]=_0x4f6933;}},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x129a'),{'get':function(){return this['_time'];},'set':function(_0x4b98e5){this[_0x1a4e('0x4417')]=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4f6933[_0x1a4e('0xa')],_0x1a4e('0x40e3'),{'get':function(){return this[_0x1a4e('0x3dcc')];},'set':function(_0x4b98e5){this[_0x1a4e('0x3dcc')]=_0x4b98e5;},'enumerable':!0x0,'configurable':!0x0}),_0x4f6933[_0x1a4e('0xa')]['addPartner']=function(_0x4b98e5){var _0x4f6933=this['_parentLayer'][_0x1a4e('0x4bfb')][_0x1a4e('0x177')](_0x4b98e5);return this['_partners']['set'](_0x4f6933['id'],_0x4f6933),_0x4f6933['visible']=this['_show']&&this[_0x1a4e('0x4bc8')][_0x1a4e('0x3a23')],_0x4f6933;},_0x4f6933[_0x1a4e('0xa')][_0x1a4e('0x4bfc')]=function(_0x4b98e5){return this[_0x1a4e('0x4bd3')]['delete'](_0x4b98e5['id']),this['_parentLayer'][_0x1a4e('0x4bfb')][_0x1a4e('0x82')](_0x4b98e5);},_0x4f6933['prototype'][_0x1a4e('0x4bfd')]=function(){var _0x4b98e5,_0x4f6933;try{for(var _0x53371e=_0x41a324(this[_0x1a4e('0x4bd3')]),_0x5ef09d=_0x53371e[_0x1a4e('0x7e')]();!_0x5ef09d[_0x1a4e('0x3c2')];_0x5ef09d=_0x53371e['next']()){var _0x2f20e2=_0x5ef09d[_0x1a4e('0x255')];this[_0x1a4e('0x4bd3')][_0x1a4e('0xf4c')](_0x2f20e2[0x0]),this['_parentLayer'][_0x1a4e('0x4bfb')][_0x1a4e('0x82')](_0x2f20e2[0x1]);}}catch(_0x12a431){_0x4b98e5={'error':_0x12a431};}finally{try{_0x5ef09d&&!_0x5ef09d['done']&&(_0x4f6933=_0x53371e[_0x1a4e('0xe40')])&&_0x4f6933[_0x1a4e('0x1')](_0x53371e);}finally{if(_0x4b98e5)throw _0x4b98e5[_0x1a4e('0x873')];}}},Object['defineProperty'](_0x4f6933['prototype'],_0x1a4e('0x4bfe'),{'get':function(){return this[_0x1a4e('0x4bd3')];},'enumerable':!0x0,'configurable':!0x0}),_0x4f6933;}(_0x50047d[_0x1a4e('0x3aca')]),_0x4dcebc=function(){this[_0x1a4e('0x134')]=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39ad')],this[_0x1a4e('0x3936')]=0x2,this['count']=0x6,this[_0x1a4e('0x3a23')]=!0x0;};},'./src/LayerManager/TargetLayer/TargetLayer.ts':function(_0x2ed1dc,_0x585926,_0xed8de2){'use strict';_0xed8de2['r'](_0x585926),_0xed8de2['d'](_0x585926,_0x1a4e('0x4783'),function(){return _0x164264;});var _0x41823e,_0xdb4245=_0xed8de2(_0x1a4e('0x3f2c')),_0x421f57=_0xed8de2('./src/LayerManager/TargetLayer/TargetStyle.ts'),_0x2fce01=_0xed8de2(_0x1a4e('0x4bc1')),_0x1a42de=_0xed8de2(_0x1a4e('0x4bc2')),_0x2814dc=_0xed8de2(_0x1a4e('0x4b95')),_0x3c7324=_0xed8de2(_0x1a4e('0x3f2e')),_0x261429=_0xed8de2(_0x1a4e('0x3999')),_0x270189=_0xed8de2(_0x1a4e('0x38d0')),_0x24f65f=_0xed8de2('./src/LayerManager/GraphicLayer/GraphicItem/GraphicGroup.ts'),_0x432c9f=_0xed8de2(_0x1a4e('0x3f53')),_0x4b999c=(_0x41823e=function(_0x2ed1dc,_0x585926){return(_0x41823e=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x2ed1dc,_0x585926){_0x2ed1dc[_0x1a4e('0x295')]=_0x585926;}||function(_0x2ed1dc,_0x585926){for(var _0xed8de2 in _0x585926)_0x585926[_0x1a4e('0xb')](_0xed8de2)&&(_0x2ed1dc[_0xed8de2]=_0x585926[_0xed8de2]);})(_0x2ed1dc,_0x585926);},function(_0x2ed1dc,_0x585926){function _0xed8de2(){this['constructor']=_0x2ed1dc;}_0x41823e(_0x2ed1dc,_0x585926),_0x2ed1dc[_0x1a4e('0xa')]=null===_0x585926?Object['create'](_0x585926):(_0xed8de2[_0x1a4e('0xa')]=_0x585926[_0x1a4e('0xa')],new _0xed8de2());}),_0x13fc2e=function(_0x2ed1dc){var _0x585926=_0x1a4e('0x68')==typeof Symbol&&_0x2ed1dc[Symbol[_0x1a4e('0x335')]],_0xed8de2=0x0;return _0x585926?_0x585926[_0x1a4e('0x1')](_0x2ed1dc):{'next':function(){return _0x2ed1dc&&_0xed8de2>=_0x2ed1dc[_0x1a4e('0x1e')]&&(_0x2ed1dc=void 0x0),{'value':_0x2ed1dc&&_0x2ed1dc[_0xed8de2++],'done':!_0x2ed1dc};}};},_0x164264=function(_0x2ed1dc){function _0x585926(_0x585926){var _0xed8de2=_0x2ed1dc[_0x1a4e('0x1')](this)||this;_0xed8de2[_0x1a4e('0x4bff')]={'frameCount':0x3e8,'currentIndex':0x0,'pendding':!0x1},_0xed8de2[_0x1a4e('0x3a24')]=!0x0,_0xed8de2[_0x1a4e('0x4b9b')]=!0x0,_0xed8de2[_0x1a4e('0x4c00')]=Cesium[_0x1a4e('0x404b')](),_0xed8de2[_0x1a4e('0x4c01')]=!0x1,_0xed8de2[_0x1a4e('0x4c02')]=!0x0,_0xed8de2[_0x1a4e('0x4be6')]=!0x1,_0xed8de2[_0x1a4e('0x4c03')]=new Map(),_0xed8de2[_0x1a4e('0x4c04')]=new Cesium[(_0x1a4e('0x393e'))](0x64,0x0,0x0),_0xed8de2['positionScratch']=new Cesium[(_0x1a4e('0x393e'))](),_0xed8de2['_needUpdate']=!0x1,_0xed8de2['_linkLineWidth']=0x2,_0xed8de2['_linkLineColor']=_0x1a4e('0x487b'),_0xed8de2[_0x1a4e('0x4c05')]=!0x0,_0xed8de2[_0x1a4e('0x3a00')]='yellow',_0xed8de2[_0x1a4e('0x4c06')]=!0x1,_0xed8de2[_0x1a4e('0x4c07')]=new Map(),_0xed8de2[_0x1a4e('0x4c08')]=null,_0xed8de2[_0x1a4e('0x4c09')]=_0x585926,_0xed8de2['earth'][_0x1a4e('0x3b3e')][_0x1a4e('0x40f3')]=!0x0,_0xed8de2[_0x1a4e('0x4c0a')]=new Cesium[(_0x1a4e('0x42e5'))]({'show':!0x0}),_0xed8de2[_0x1a4e('0x4c0b')]=new Cesium[(_0x1a4e('0x42e5'))]({'show':!0x0}),_0xed8de2[_0x1a4e('0x4c0c')]=new Cesium[(_0x1a4e('0x4adf'))](),_0xed8de2[_0x1a4e('0x4c0d')]=new Cesium[(_0x1a4e('0x4c0e'))](),_0xed8de2[_0x1a4e('0x4c0f')]=new Cesium['BillboardCollection']();var _0x41823e=new Cesium['CustomDataSource'](_0x1a4e('0x4c10'));return _0xed8de2[_0x1a4e('0x4c09')][_0x1a4e('0x395b')][_0x1a4e('0x177')](_0x41823e),_0xed8de2['modelcollection']=_0x41823e[_0x1a4e('0x38e2')],_0xed8de2[_0x1a4e('0x4c11')]=new Cesium[(_0x1a4e('0x4c12'))](),_0xed8de2[_0x1a4e('0x4c13')]=new Cesium[(_0x1a4e('0x4adf'))](),_0xed8de2[_0x1a4e('0x4c14')]=new Cesium[(_0x1a4e('0x4393'))](),_0xed8de2['targetCollection']=new Map(),_0xed8de2[_0x1a4e('0x4c15')]=null,_0xed8de2[_0x1a4e('0x4c0a')]['add'](_0xed8de2[_0x1a4e('0x4c11')]),_0xed8de2['rootcollection'][_0x1a4e('0x177')](_0xed8de2[_0x1a4e('0x4c13')]),_0xed8de2[_0x1a4e('0x4c0b')][_0x1a4e('0x177')](_0xed8de2[_0x1a4e('0x4c0c')]),_0xed8de2[_0x1a4e('0x4c0a')]['add'](_0xed8de2[_0x1a4e('0x4c0d')]),_0xed8de2[_0x1a4e('0x4c0a')][_0x1a4e('0x177')](_0xed8de2[_0x1a4e('0x4c0f')]),_0xed8de2[_0x1a4e('0x4c0a')][_0x1a4e('0x177')](_0xed8de2[_0x1a4e('0x4c14')]),_0xed8de2[_0x1a4e('0x4c0a')][_0x1a4e('0x3a23')]=_0xed8de2['_show'],_0xed8de2[_0x1a4e('0x4c09')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0xed8de2[_0x1a4e('0x4c0a')]),_0xed8de2[_0x1a4e('0x4c0b')][_0x1a4e('0x3a23')]=_0xed8de2[_0x1a4e('0x3a24')],_0xed8de2['earth'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['add'](_0xed8de2[_0x1a4e('0x4c0b')]),_0xed8de2[_0x1a4e('0x4c16')]=_0x421f57[_0x1a4e('0x4bc6')]['DefaultStyle'](),_0xed8de2[_0x1a4e('0x4c03')][_0x1a4e('0x17a')](_0x1a4e('0x8'),_0xed8de2[_0x1a4e('0x4c16')]),_0xed8de2[_0x1a4e('0x4c17')]=new Cesium[(_0x1a4e('0x42e3'))](),_0xed8de2[_0x1a4e('0x4c09')][_0x1a4e('0x395b')][_0x1a4e('0x177')](_0xed8de2[_0x1a4e('0x4c17')]),_0xed8de2[_0x1a4e('0x4c18')]={'pointDisplayCondition':new Cesium['DistanceDisplayCondition'](0x61a80),'iconDisplayCondition':new Cesium[(_0x1a4e('0x3b9d'))](0x258,0xdbba0),'labelDisplayCondition':new Cesium['DistanceDisplayCondition'](0x0,0x258),'modelDisplayCondition':new Cesium['DistanceDisplayCondition'](0x0,0x3e8)},_0xed8de2[_0x1a4e('0x4c09')][_0x1a4e('0x38d6')][_0x1a4e('0x3b94')][_0x1a4e('0xec5')](function(){}),setInterval(function(){_0xed8de2[_0x1a4e('0x4c19')]();},0x64),_0xed8de2[_0x1a4e('0x4c1a')](),_0xed8de2;}return _0x4b999c(_0x585926,_0x2ed1dc),Object[_0x1a4e('0x2')](_0x585926['prototype'],_0x1a4e('0x4bfb'),{'get':function(){return this[_0x1a4e('0x4c08')]||(this[_0x1a4e('0x4c08')]=new _0x24f65f[(_0x1a4e('0x3f21'))](),this[_0x1a4e('0x4c09')][_0x1a4e('0x3973')][_0x1a4e('0x177')](this[_0x1a4e('0x4c08')])),this[_0x1a4e('0x4c08')];},'enumerable':!0x0,'configurable':!0x0}),_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c1b')]=function(){var _0x2ed1dc,_0x585926,_0xed8de2,_0x41823e,_0xdb4245={};_0x2ed1dc=_0x585926=0x3e7,_0xed8de2=_0x41823e=-0x3e7;var _0x421f57=this[_0x1a4e('0x4c09')]['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x4c1c')][_0x1a4e('0x4c1d')]['_tilesToRenderByTextureCount'];if(Cesium['defined'](_0x421f57)){for(var _0x2fce01=_0x421f57[_0x1a4e('0x1e')],_0x1a42de=0x0;_0x1a42de<_0x2fce01;++_0x1a42de){var _0x2814dc=_0x421f57[_0x1a42de];if(Cesium['defined'](_0x2814dc))for(var _0x3c7324=_0x2814dc['length'],_0x261429=0x0;_0x261429<_0x3c7324;++_0x261429){var _0x270189=_0x2814dc[_0x261429][_0x1a4e('0x396a')];_0x2ed1dc=Math[_0x1a4e('0x74')](_0x2ed1dc,_0x270189[_0x1a4e('0x394e')]),_0x585926=Math[_0x1a4e('0x74')](_0x585926,_0x270189[_0x1a4e('0x394f')]),_0xed8de2=Math[_0x1a4e('0x6c')](_0xed8de2,_0x270189[_0x1a4e('0x3950')]),_0x41823e=Math[_0x1a4e('0x6c')](_0x41823e,_0x270189[_0x1a4e('0x403b')]);}}return _0xdb4245['xmin']=Cesium['Math'][_0x1a4e('0x560')](_0x2ed1dc),_0xdb4245['xmax']=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0xed8de2),_0xdb4245[_0x1a4e('0x47de')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x585926),_0xdb4245[_0x1a4e('0x47df')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x41823e),_0xdb4245;}},_0x585926['prototype'][_0x1a4e('0x4c1e')]=function(){var _0x2ed1dc={},_0x585926=[],_0xed8de2=this['earth']['camera']['computeViewRectangle']();return _0xed8de2||(_0xed8de2={'west':-3.141592653589793,'south':-1.5707963267948966,'east':3.141592653589793,'north':1.5707963267948966}),Cesium[_0x1a4e('0x3965')][_0x1a4e('0x403c')](_0xed8de2,_0x585926),_0x2ed1dc[_0x1a4e('0x4c1f')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x585926[0x0]),_0x2ed1dc[_0x1a4e('0x47dd')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x585926[0x2]),_0x2ed1dc[_0x1a4e('0x47de')]=Cesium['Math']['toDegrees'](_0x585926[0x1]),_0x2ed1dc['ymax']=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x585926[0x3]),_0x2ed1dc;},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c20')]=function(_0x2ed1dc,_0x585926){var _0xed8de2=Cesium[_0x1a4e('0x39fa')]['fromCartesian'](_0x2ed1dc),_0x41823e=[_0xed8de2['longitude']/Math['PI']*0xb4,_0xed8de2['latitude']/Math['PI']*0xb4];return _0x585926[_0x1a4e('0x4c1f')]<=_0x41823e[0x0]&&_0x41823e[0x0]<=_0x585926[_0x1a4e('0x47dd')]&&_0x585926['ymin']<=_0x41823e[0x1]&&_0x41823e[0x1]<=_0x585926[_0x1a4e('0x47df')];},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c19')]=function(){var _0x2ed1dc,_0x585926,_0xed8de2,_0x41823e;if(!this[_0x1a4e('0x4bff')][_0x1a4e('0x4c21')]&&(0x0!=this[_0x1a4e('0x4c22')][_0x1a4e('0x220')]&&this['_show'])){var _0xdb4245=[],_0x421f57=[],_0x1a42de=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a0d')](this['earth']['camera'][_0x1a4e('0x3553')])[_0x1a4e('0x152')],_0x2814dc=this[_0x1a4e('0x4c18')]['labelDisplayCondition'],_0x3c7324=this['displayCondition'][_0x1a4e('0x4bbb')],_0x261429=this[_0x1a4e('0x4c18')][_0x1a4e('0x4bbd')];if(_0x1a42de<_0x3c7324['far']?this[_0x1a4e('0x4c0b')][_0x1a4e('0x3a23')]=!0x1:this[_0x1a4e('0x4c0b')]['show']=!0x0,_0x1a42de<_0x261429['far']||_0x1a42de<_0x2814dc['far']){if(this[_0x1a4e('0x4b9b')]){var _0x270189=_0x1a42de<0x0?this[_0x1a4e('0x4c1b')]():this['_getCurrentExtent']();try{for(var _0x24f65f=_0x13fc2e(this[_0x1a4e('0x4c22')]),_0x432c9f=_0x24f65f[_0x1a4e('0x7e')]();!_0x432c9f[_0x1a4e('0x3c2')];_0x432c9f=_0x24f65f[_0x1a4e('0x7e')]()){var _0x4b999c=(_0x2b10ec=_0x432c9f[_0x1a4e('0x255')])[0x1],_0x164264=(Cesium[_0x1a4e('0x39a9')][_0x1a4e('0xe3f')](),_0x4b999c[_0x1a4e('0x4bd7')][_0x1a4e('0x3f0a')](new Date()[_0x1a4e('0xe9')]()));_0x164264&&(this['_pointInView'](_0x164264,_0x270189)?(_0x2814dc[_0x1a4e('0x3aa2')]<=_0x1a42de&&_0x1a42de<=_0x2814dc[_0x1a4e('0x3aaa')]&&!_0x4b999c[_0x1a4e('0x4bcd')]&&(_0x4b999c[_0x1a4e('0x436')]=this[_0x1a4e('0x4c0d')][_0x1a4e('0x177')](this[_0x1a4e('0x4c23')](_0x4b999c)),_0x4b999c['_label'][_0x1a4e('0x3553')]=_0x164264,_0x4b999c[_0x1a4e('0x4bce')]=this[_0x1a4e('0x4c14')]['add'](this[_0x1a4e('0x4c24')](_0x4b999c)),_0x4b999c[_0x1a4e('0x4bce')][_0x1a4e('0x3553')]=_0x164264,_0x4b999c[_0x1a4e('0x4bcd')]=!0x0,_0x4b999c['outlineColor']=_0x4b999c[_0x1a4e('0x409f')],_0x4b999c[_0x1a4e('0x40a1')]=_0x4b999c[_0x1a4e('0x40a1')],_0x4b999c['_label'][_0x1a4e('0x420f')]=_0x4b999c['showFontbgColor'],_0x4b999c[_0x1a4e('0x436')]['backgroundColor']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x4b999c['fontbgColor']),this[_0x1a4e('0x4c01')]&&this[_0x1a4e('0x4c25')](_0x4b999c)),_0x261429['near']<=_0x1a42de&&_0x1a42de<=_0x261429['far']&&!_0x4b999c[_0x1a4e('0x4bd0')]&&(_0x4b999c[_0x1a4e('0x4be8')]=this[_0x1a4e('0x4c26')][_0x1a4e('0x177')](_0x4b999c[_0x1a4e('0x4be8')]),_0x4b999c[_0x1a4e('0x4be8')][_0x1a4e('0x3553')]=_0x164264,_0x4b999c[_0x1a4e('0x4bd0')]=!0x0,_0x4b999c[_0x1a4e('0x4bf3')]=_0x4b999c[_0x1a4e('0x4bf3')]),_0x4b999c[_0x1a4e('0x4bce')]&&this[_0x1a4e('0x4c06')]&&this['updateLineCanvas'](_0x4b999c),_0x4b999c[_0x1a4e('0x4c27')]=!0x0,_0x421f57[_0x1a4e('0x46')](_0x4b999c)):(_0x4b999c['_point'][_0x1a4e('0x3553')]=_0x164264,_0x4b999c['_billbord'][_0x1a4e('0x3553')]=_0x164264,_0x4b999c['_linkLine']&&(_0x4b999c[_0x1a4e('0x4bce')][_0x1a4e('0x3553')]=_0x164264),_0x4b999c[_0x1a4e('0x436')]&&(_0x4b999c['_label'][_0x1a4e('0x3553')]=_0x164264),_0x4b999c[_0x1a4e('0x4be8')]&&(_0x4b999c[_0x1a4e('0x4be8')][_0x1a4e('0x3553')]=_0x164264)));}}catch(_0x4f18ef){_0x2ed1dc={'error':_0x4f18ef};}finally{try{_0x432c9f&&!_0x432c9f[_0x1a4e('0x3c2')]&&(_0x585926=_0x24f65f['return'])&&_0x585926[_0x1a4e('0x1')](_0x24f65f);}finally{if(_0x2ed1dc)throw _0x2ed1dc[_0x1a4e('0x873')];}}}}else try{for(var _0x1fa134=_0x13fc2e(this['targetCollection']),_0xcf990a=_0x1fa134['next']();!_0xcf990a[_0x1a4e('0x3c2')];_0xcf990a=_0x1fa134[_0x1a4e('0x7e')]()){var _0x3a39cf=(_0x2b10ec=_0xcf990a[_0x1a4e('0x255')])[0x1];_0xdb4245[_0x1a4e('0x46')](_0x3a39cf);}}catch(_0x4c1e9a){_0xed8de2={'error':_0x4c1e9a};}finally{try{_0xcf990a&&!_0xcf990a[_0x1a4e('0x3c2')]&&(_0x41823e=_0x1fa134[_0x1a4e('0xe40')])&&_0x41823e[_0x1a4e('0x1')](_0x1fa134);}finally{if(_0xed8de2)throw _0xed8de2['error'];}}this[_0x1a4e('0x4c06')]=!0x1;for(var _0x2b26fb=_0x421f57[_0x1a4e('0x1e')]>0x0?_0x421f57:_0xdb4245,_0x4d1264=_0x2b26fb['length'],_0x237e92=0x0;_0x237e92<_0x4d1264;_0x237e92++){var _0x2b10ec;(_0x2b10ec=_0x2b26fb[_0x237e92])['_init']&&!_0x2b10ec[_0x1a4e('0x4c28')]||(_0x2b10ec['flag']==_0x2fce01[_0x1a4e('0x4bc4')][_0x1a4e('0x4c29')]||_0x2b10ec['flag']==_0x2fce01['TargetState'][_0x1a4e('0x4bee')]?this[_0x1a4e('0x4c2a')](_0x2b10ec):_0x2b10ec[_0x1a4e('0x43bc')]==_0x2fce01[_0x1a4e('0x4bc4')]['Remove']&&this['remove'](_0x2b10ec['id']));}}},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c2b')]=function(_0x2ed1dc){this[_0x1a4e('0x4c2c')](_0x2ed1dc);var _0x585926=_0x2ed1dc[_0x1a4e('0x375c')],_0xed8de2=_0x585926[_0x1a4e('0x134')];return{'id':_0x2ed1dc['id'],'show':_0x2ed1dc[_0x1a4e('0x3a23')],'pixelSize':_0x585926[_0x1a4e('0x4baf')],'color':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0xed8de2),'distanceDisplayCondition':this[_0x1a4e('0x4c18')][_0x1a4e('0x4bb0')],'outlineColor':Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x585926['pointLineColor']),'outlineWidth':_0x585926[_0x1a4e('0x4bb2')],'disableDepthTestDistance':_0x2ed1dc[_0x1a4e('0x3d36')]?Number['POSITIVE_INFINITY']:0x0};},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c23')]=function(_0x2ed1dc){return this['getStyleByCode'](_0x2ed1dc),{'text':_0x2ed1dc[_0x1a4e('0x2cb')],'show':_0x2ed1dc[_0x1a4e('0x3a23')],'horizontalOrigin':Cesium[_0x1a4e('0x440b')][_0x1a4e('0x3ea')],'id':_0x2ed1dc['id'],'font':_0x2ed1dc[_0x1a4e('0x4bb3')][_0x1a4e('0x4207')]+_0x1a4e('0x447b')+_0x2ed1dc[_0x1a4e('0x4bb3')]['font'],'fillColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x2ed1dc[_0x1a4e('0x4bb3')][_0x1a4e('0x40a2')]),'outlineWidth':0x1,'showBackground':_0x2ed1dc[_0x1a4e('0x4bb3')]['showBackground'],'backgroundColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x2ed1dc[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb4')]),'backgroundPadding':new Cesium['Cartesian2'](0xa,0x6),'distanceDisplayCondition':this[_0x1a4e('0x4c18')][_0x1a4e('0x4bb7')],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](_0x2ed1dc[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb5')],_0x2ed1dc[_0x1a4e('0x4bb3')][_0x1a4e('0x4bb6')]),'style':Cesium[_0x1a4e('0x4503')][_0x1a4e('0x394c')],'disableDepthTestDistance':_0x2ed1dc[_0x1a4e('0x3d36')]?Number[_0x1a4e('0x4d5')]:0x0};},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c2d')]=function(_0x2ed1dc){this[_0x1a4e('0x4c2c')](_0x2ed1dc);var _0x585926=_0x2ed1dc['style'],_0xed8de2=_0x585926['color'];return _0x2ed1dc[_0x1a4e('0x4bca')]?{'id':_0x2ed1dc['id'],'show':_0x2ed1dc[_0x1a4e('0x3a23')],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](0x0,0x0),'eyeOffset':new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),'horizontalOrigin':Cesium[_0x1a4e('0x440b')]['CENTER'],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')][_0x1a4e('0x445d')],'alignedAxis':Cesium['Cartesian3'][_0x1a4e('0x4576')],'rotation':-0x1*Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x2ed1dc[_0x1a4e('0x502')]),'color':Cesium['Color'][_0x1a4e('0x393c')](_0xed8de2),'image':_0x585926[_0x1a4e('0x4bad')],'width':_0x585926[_0x1a4e('0x4bae')],'height':_0x585926[_0x1a4e('0x4bae')],'distanceDisplayCondition':this['displayCondition']['iconDisplayCondition']}:{'id':_0x2ed1dc['id'],'show':_0x2ed1dc[_0x1a4e('0x3a23')],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](0x0,0x0),'eyeOffset':new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),'horizontalOrigin':Cesium[_0x1a4e('0x440b')][_0x1a4e('0x445d')],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')][_0x1a4e('0x445d')],'alignedAxis':Cesium['Cartesian3'][_0x1a4e('0x4576')],'rotation':-0x1*Cesium['Math']['toRadians'](_0x2ed1dc[_0x1a4e('0x502')]),'image':_0x585926['iconUrl'],'width':_0x585926[_0x1a4e('0x4bae')],'height':_0x585926[_0x1a4e('0x4bae')],'distanceDisplayCondition':this['displayCondition'][_0x1a4e('0x4bbb')],'disableDepthTestDistance':_0x2ed1dc[_0x1a4e('0x3d36')]?Number[_0x1a4e('0x4d5')]:0x0};},_0x585926['prototype'][_0x1a4e('0x4c2e')]=function(_0x2ed1dc){var _0x585926,_0xed8de2=_0x2ed1dc['style'],_0x41823e=_0x2ed1dc['modelColor']?_0x2ed1dc['modelColor']:_0xed8de2[_0x1a4e('0x134')];if(_0x2ed1dc[_0x1a4e('0x4bfa')])_0x585926=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x4bf9')](_0x2ed1dc['_position'],_0x2ed1dc[_0x1a4e('0x4bfa')]);else{var _0xdb4245=Cesium['Math'][_0x1a4e('0x566')](_0x2ed1dc[_0x1a4e('0x502')]-0x5a),_0x421f57=new Cesium[(_0x1a4e('0x3aab'))](_0xdb4245,0x0,0x0);_0x585926=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x4bf9')](_0x2ed1dc[_0x1a4e('0x3b68')],_0x421f57);}return{'id':_0x2ed1dc['id'],'orientation':_0x585926,'show':_0x2ed1dc[_0x1a4e('0x3a23')],'model':{'color':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x41823e)}};},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c24')]=function(_0x2ed1dc){return{'id':_0x2ed1dc['id'],'show':_0x2ed1dc[_0x1a4e('0x3a23')],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](0x0,0x0),'eyeOffset':new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),'horizontalOrigin':Cesium[_0x1a4e('0x440b')][_0x1a4e('0x445d')],'verticalOrigin':Cesium['VerticalOrigin'][_0x1a4e('0x445d')],'alignedAxis':Cesium[_0x1a4e('0x393e')][_0x1a4e('0xea7')],'distanceDisplayCondition':this[_0x1a4e('0x4c18')][_0x1a4e('0x4bb7')]};},_0x585926['prototype']['_addTarget']=function(_0x2ed1dc){_0x2ed1dc['_point']=this[_0x1a4e('0x4c0c')][_0x1a4e('0x177')](_0x2ed1dc[_0x1a4e('0x3983')]),_0x2ed1dc[_0x1a4e('0x4bed')]=this[_0x1a4e('0x4c0f')]['add'](_0x2ed1dc[_0x1a4e('0x4bed')]),this[_0x1a4e('0x4c2f')](_0x2ed1dc),_0x2ed1dc[_0x1a4e('0x4bc8')]=this,_0x2ed1dc[_0x1a4e('0x43bc')]=_0x2fce01['TargetState'][_0x1a4e('0x4c29')],_0x2ed1dc[_0x1a4e('0x1f7')]=!0x0;},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c30')]=function(_0x2ed1dc){if(!_0x2ed1dc[_0x1a4e('0x4c31')]){var _0x585926=void 0x0;_0x585926=_0x2ed1dc[_0x1a4e('0x4c32')]==_0x1a42de[_0x1a4e('0x4be0')]['backward']?new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'image':_0x261429[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x4545')),'lineColor':_0x2ed1dc['trackLineColor']},'source':_0x1a4e('0x4c33')}}):Cesium['Material'][_0x1a4e('0x3944')](_0x1a4e('0x3947'),{'color':_0x2ed1dc['trackLineColor']}),_0x2ed1dc['trackLine']=this[_0x1a4e('0x4c11')][_0x1a4e('0x177')]({'width':_0x2ed1dc['trackLineWidth'],'material':_0x585926}),_0x2ed1dc[_0x1a4e('0x4c31')]=!0x0;}},_0x585926[_0x1a4e('0xa')]['initMouseEvt']=function(){var _0x2ed1dc,_0x585926=this,_0xed8de2=new Cesium[(_0x1a4e('0x39cd'))](this[_0x1a4e('0x4c09')][_0x1a4e('0x38d6')][_0x1a4e('0x3934')]),_0x41823e=this[_0x1a4e('0x4c09')]['scene'];_0xed8de2['setInputAction'](function(_0xed8de2){if(_0x585926[_0x1a4e('0x4c01')]){var _0xdb4245=_0xed8de2,_0x421f57=_0x41823e[_0x1a4e('0x106e')](_0xdb4245[_0x1a4e('0x3553')]);_0x421f57&&_0x421f57[_0x1a4e('0x8f7')]&&_0x421f57['id']&&(_0x2ed1dc=_0x585926[_0x1a4e('0x4c22')]['get'](_0x421f57[_0x1a4e('0x8f7')]['id']))&&(_0x41823e['screenSpaceCameraController'][_0x1a4e('0x3e65')]=!0x1,_0x41823e[_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x1);}},Cesium['ScreenSpaceEventType'][_0x1a4e('0x39cf')]),_0xed8de2[_0x1a4e('0x3981')](function(_0xed8de2){var _0x41823e=_0xed8de2;if(_0x585926[_0x1a4e('0x4c01')]&&_0x2ed1dc&&_0x2ed1dc[_0x1a4e('0x436')]){var _0xdb4245=_0x41823e['endPosition']['x']-_0x41823e[_0x1a4e('0x34f7')]['x'],_0x421f57=_0x41823e[_0x1a4e('0x34f8')]['y']-_0x41823e[_0x1a4e('0x34f7')]['y'];_0x2ed1dc['style']['labeloffsetx']+=_0xdb4245,_0x2ed1dc[_0x1a4e('0x375c')]['labeloffsety']+=_0x421f57,_0x2ed1dc[_0x1a4e('0x436')][_0x1a4e('0x4147')]=new Cesium[(_0x1a4e('0x3952'))](_0x2ed1dc['style'][_0x1a4e('0x4bb5')],_0x2ed1dc[_0x1a4e('0x375c')][_0x1a4e('0x4bb6')]),_0x2ed1dc[_0x1a4e('0x4bce')]&&(_0x585926['loadLinklines'](),_0x585926[_0x1a4e('0x4c25')](_0x2ed1dc));}},Cesium['ScreenSpaceEventType'][_0x1a4e('0x39d1')]),_0xed8de2[_0x1a4e('0x3981')](function(_0xed8de2){_0x585926[_0x1a4e('0x4c01')]&&(_0x2ed1dc=void 0x0,_0x41823e[_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x0,_0x41823e[_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x0);},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d3')]);},_0x585926['prototype'][_0x1a4e('0x4c25')]=function(_0x2ed1dc,_0x585926){void 0x0===_0x585926&&(_0x585926=!0x1);var _0xed8de2=document['createElement'](_0x1a4e('0x3934')),_0x41823e=_0x2ed1dc[_0x1a4e('0x375c')][_0x1a4e('0x4bb5')],_0xdb4245=_0x2ed1dc[_0x1a4e('0x375c')]['labeloffsety'];_0xed8de2[_0x1a4e('0x3936')]=Math[_0x1a4e('0x65')](_0x41823e),_0xed8de2['height']=Math[_0x1a4e('0x65')](_0xdb4245);var _0x421f57=_0xed8de2['getContext']('2d');_0x421f57[_0x1a4e('0x3dbd')](),_0x421f57[_0x1a4e('0x4191')]=this['_linkLineWidth'],_0x421f57[_0x1a4e('0x3df0')]=this['_linkLineColor'],_0x421f57['moveTo'](_0x41823e<0x0?-_0x41823e:0x0,_0xdb4245<0x0?-_0xdb4245:0x0),_0x421f57['lineTo'](_0x41823e<0x0?0x0:_0x41823e,_0xdb4245<0x0?0x0:_0xdb4245),_0x421f57[_0x1a4e('0x3df3')]();_0x2ed1dc['id'];_0x2ed1dc['_linkLine'][_0x1a4e('0x4147')]=new Cesium[(_0x1a4e('0x3952'))](0.5*_0x41823e,0.5*_0xdb4245),_0x2ed1dc[_0x1a4e('0x4bce')][_0x1a4e('0x3cb4')]=_0xed8de2,this[_0x1a4e('0x4c07')][_0x1a4e('0x17a')](_0x2ed1dc['id'],_0xed8de2),_0x2ed1dc[_0x1a4e('0x4bce')][_0x1a4e('0x3a23')]=_0x2ed1dc[_0x1a4e('0x4bcf')]&&_0x2ed1dc[_0x1a4e('0x3a24')];},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c34')]=function(){var _0x2ed1dc,_0x585926,_0xed8de2=new Cesium[(_0x1a4e('0x4393'))]();try{for(var _0x41823e=_0x13fc2e(this[_0x1a4e('0x4c22')]),_0xdb4245=_0x41823e['next']();!_0xdb4245['done'];_0xdb4245=_0x41823e[_0x1a4e('0x7e')]()){var _0x421f57=_0xdb4245[_0x1a4e('0x255')];if(_0x421f57[0x1]['_linkLine']){var _0x2fce01=_0xed8de2[_0x1a4e('0x177')](this[_0x1a4e('0x4c24')](_0x421f57[0x1]));_0x2fce01[_0x1a4e('0x4147')]=_0x421f57[0x1][_0x1a4e('0x4bce')][_0x1a4e('0x4147')],_0x2fce01['position']=_0x421f57[0x1][_0x1a4e('0x4bce')]['position'],_0x2fce01[_0x1a4e('0x3cb4')]=this['_canvasCache']['get'](_0x421f57[0x1]['id']),_0x421f57[0x1][_0x1a4e('0x4bce')]=_0x2fce01,_0x421f57[0x1][_0x1a4e('0x4bce')][_0x1a4e('0x3a23')]=_0x421f57[0x1][_0x1a4e('0x4bcf')]&&_0x421f57[0x1][_0x1a4e('0x3a24')];}}}catch(_0x2eff2f){_0x2ed1dc={'error':_0x2eff2f};}finally{try{_0xdb4245&&!_0xdb4245[_0x1a4e('0x3c2')]&&(_0x585926=_0x41823e['return'])&&_0x585926[_0x1a4e('0x1')](_0x41823e);}finally{if(_0x2ed1dc)throw _0x2ed1dc[_0x1a4e('0x873')];}}this[_0x1a4e('0x4c0a')][_0x1a4e('0x82')](this[_0x1a4e('0x4c14')]),this[_0x1a4e('0x4c0a')][_0x1a4e('0x177')](_0xed8de2),this[_0x1a4e('0x4c14')]=_0xed8de2;},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c2a')]=function(_0x2ed1dc){var _0x585926,_0xed8de2;if(_0x2ed1dc[_0x1a4e('0x1f7')]){if(_0x2ed1dc['smoothTrack']){Cesium['JulianDate']['now']();var _0x41823e=_0x2ed1dc[_0x1a4e('0x4bd7')]['getPosition'](new Date()[_0x1a4e('0xe9')]());if(_0x2ed1dc[_0x1a4e('0x3983')]['position']=_0x41823e,_0x2ed1dc[_0x1a4e('0x4bed')]['position']=_0x41823e,_0x2ed1dc[_0x1a4e('0x4bce')]&&(_0x2ed1dc[_0x1a4e('0x4bce')][_0x1a4e('0x3553')]=_0x41823e),_0x2ed1dc['_labelInit']&&(_0x2ed1dc[_0x1a4e('0x436')][_0x1a4e('0x3553')]=_0x41823e),_0x2ed1dc[_0x1a4e('0x4be8')]&&(_0x2ed1dc[_0x1a4e('0x4be8')]['position']=_0x41823e),_0x2ed1dc[_0x1a4e('0x4bde')][_0x1a4e('0x3a23')]&&_0x2ed1dc['backwardPath'][_0x1a4e('0x12d9')](_0x41823e),_0x2ed1dc[_0x1a4e('0x4bd9')]['show']&&_0x2ed1dc[_0x1a4e('0x4bd9')][_0x1a4e('0x12d9')](_0x41823e),_0x2ed1dc['flame']&&_0x2ed1dc['flame'][_0x1a4e('0x3a23')]&&_0x2ed1dc[_0x1a4e('0x4be2')][_0x1a4e('0x4bef')](),_0x2ed1dc[_0x1a4e('0x4bfe')][_0x1a4e('0x220')]>0x0){var _0xdb4245=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a0d')](_0x41823e),_0x421f57=new _0x270189[(_0x1a4e('0x38da'))](Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0xdb4245[_0x1a4e('0x3a2e')]),Cesium[_0x1a4e('0x1020')]['toDegrees'](_0xdb4245[_0x1a4e('0x3a2f')]),_0xdb4245[_0x1a4e('0x152')]);try{for(var _0x2fce01=_0x13fc2e(_0x2ed1dc[_0x1a4e('0x4bfe')]),_0x1a42de=_0x2fce01['next']();!_0x1a42de[_0x1a4e('0x3c2')];_0x1a42de=_0x2fce01[_0x1a4e('0x7e')]()){var _0x2814dc=_0x1a42de[_0x1a4e('0x255')];_0x2814dc[0x1]instanceof _0x432c9f[_0x1a4e('0x3fdc')]?_0x2814dc[0x1][_0x1a4e('0x4155')]=_0x421f57:(_0x2814dc[0x1][_0x1a4e('0x3553')]=_0x421f57,_0x2814dc[0x1]['update']());}}catch(_0x58d754){_0x585926={'error':_0x58d754};}finally{try{_0x1a42de&&!_0x1a42de[_0x1a4e('0x3c2')]&&(_0xed8de2=_0x2fce01['return'])&&_0xed8de2['call'](_0x2fce01);}finally{if(_0x585926)throw _0x585926['error'];}}}}}else this[_0x1a4e('0x4c35')](_0x2ed1dc);},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c2c')]=function(_0x2ed1dc){var _0x585926=_0x2ed1dc[_0x1a4e('0x375c')];if(_0x2ed1dc['styleCode']){var _0xed8de2=this[_0x1a4e('0x4c03')][_0x1a4e('0x179')](_0x2ed1dc[_0x1a4e('0x4be9')]);if(_0xed8de2)for(var _0x41823e in _0xed8de2)_0x585926[_0x41823e]=_0xed8de2[_0x41823e];}},_0x585926['prototype']['setTargetStyle']=function(_0x2ed1dc){var _0x585926=_0x2ed1dc,_0xed8de2=_0x2ed1dc[_0x1a4e('0x375c')];this[_0x1a4e('0x4c2c')](_0x2ed1dc);var _0x41823e=_0x2ed1dc['getColor'](),_0xdb4245=_0x2ed1dc[_0x1a4e('0x3983')];_0xdb4245&&(_0xdb4245[_0x1a4e('0x3efe')]=_0xed8de2[_0x1a4e('0x4baf')],_0xdb4245[_0x1a4e('0x134')]=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x41823e),_0xdb4245[_0x1a4e('0x3bfa')]=this[_0x1a4e('0x4c18')][_0x1a4e('0x4bb0')],_0xdb4245[_0x1a4e('0x409f')]=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0xed8de2[_0x1a4e('0x4bb1')]),_0xdb4245[_0x1a4e('0x4172')]=_0xed8de2[_0x1a4e('0x4bb2')],_0xdb4245['translucencyByDistance']=new Cesium[(_0x1a4e('0x44fe'))](this['displayCondition'][_0x1a4e('0x4bb7')]['far'],0.7,this[_0x1a4e('0x4c18')][_0x1a4e('0x4bb0')][_0x1a4e('0x3aaa')],0x1));var _0x421f57=_0x585926[_0x1a4e('0x436')];_0x421f57&&(_0x421f57[_0x1a4e('0x3986')]='normal\x20'+_0xed8de2[_0x1a4e('0x4207')]+_0x1a4e('0x4c36')+_0xed8de2['font'],_0x421f57['distanceDisplayCondition']=this[_0x1a4e('0x4c18')]['labelDisplayCondition'],_0x421f57[_0x1a4e('0x4147')]=new Cesium[(_0x1a4e('0x3952'))](_0xed8de2[_0x1a4e('0x4bb5')],_0xed8de2[_0x1a4e('0x4bb6')]),_0x421f57[_0x1a4e('0x420f')]=_0xed8de2['showBackground'],_0x421f57['backgroundColor']=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0xed8de2[_0x1a4e('0x4bb4')]));var _0x2fce01=_0x585926[_0x1a4e('0x4bed')];if(_0x2fce01&&(_0x585926[_0x1a4e('0x4bec')]&&(_0x2fce01['color']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x41823e)),_0x2fce01[_0x1a4e('0x3cb4')]=_0xed8de2[_0x1a4e('0x4bad')],_0x2fce01['width']=_0xed8de2[_0x1a4e('0x4bae')],_0x2fce01[_0x1a4e('0x152')]=_0xed8de2[_0x1a4e('0x4bae')],_0x2fce01['distanceDisplayCondition']=this['displayCondition'][_0x1a4e('0x4bbb')]),_0x585926[_0x1a4e('0x4be8')]){var _0x1a42de=_0x585926[_0x1a4e('0x4be8')]['model'];_0x1a42de&&(_0x1a42de[_0x1a4e('0x3d69')]=_0xed8de2['modelUrl'],_0x1a42de[_0x1a4e('0x3bdc')]=_0xed8de2[_0x1a4e('0x4c37')],_0x1a42de[_0x1a4e('0x3bfa')]=this[_0x1a4e('0x4c18')][_0x1a4e('0x4bbd')],_0x1a42de[_0x1a4e('0x3bdc')]=_0xed8de2[_0x1a4e('0x4c37')],_0x1a42de[_0x1a4e('0x3bdd')]=_0xed8de2['modelMaximumScale']);}},_0x585926['prototype']['updateLinkStyle']=function(){var _0x2ed1dc,_0x585926;try{for(var _0xed8de2=_0x13fc2e(this[_0x1a4e('0x4c22')]),_0x41823e=_0xed8de2[_0x1a4e('0x7e')]();!_0x41823e[_0x1a4e('0x3c2')];_0x41823e=_0xed8de2[_0x1a4e('0x7e')]()){var _0xdb4245=_0x41823e[_0x1a4e('0x255')][0x1];_0xdb4245[_0x1a4e('0x4bce')]&&this['updateLineCanvas'](_0xdb4245,!0x0);}}catch(_0x1136fa){_0x2ed1dc={'error':_0x1136fa};}finally{try{_0x41823e&&!_0x41823e[_0x1a4e('0x3c2')]&&(_0x585926=_0xed8de2[_0x1a4e('0xe40')])&&_0x585926[_0x1a4e('0x1')](_0xed8de2);}finally{if(_0x2ed1dc)throw _0x2ed1dc['error'];}}},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x106e')]=function(_0x2ed1dc,_0x585926,_0xed8de2){void 0x0===_0xed8de2&&(_0xed8de2=!0x1),_0xed8de2&&this[_0x1a4e('0x4c38')]();var _0x41823e=this[_0x1a4e('0x4c09')][_0x1a4e('0x38d6')][_0x1a4e('0x106e')](new Cesium[(_0x1a4e('0x3952'))](_0x2ed1dc,_0x585926));if(_0x41823e&&_0x41823e[_0x1a4e('0x8f7')]&&_0x41823e['id']){var _0xdb4245=_0x41823e['mesh']?_0x41823e['primitive']['id']['id']:_0x41823e[_0x1a4e('0x8f7')]['id'],_0x421f57=this['targetCollection'][_0x1a4e('0x179')](_0xdb4245);if(_0x421f57)return _0x421f57[_0x1a4e('0x4bf1')]=!0x0,_0x421f57;}},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4302')]=function(_0x2ed1dc,_0x585926,_0xed8de2,_0x41823e){var _0xdb4245,_0x421f57,_0x2fce01=(_0x2ed1dc+_0x2ed1dc+_0xed8de2)/0x2,_0x1a42de=(_0x585926+_0x585926+_0x41823e)/0x2,_0x2814dc=this[_0x1a4e('0x4c09')][_0x1a4e('0x38d6')][_0x1a4e('0x4307')](new Cesium[(_0x1a4e('0x3952'))](_0x2fce01,_0x1a42de),null,_0xed8de2,_0x41823e),_0x3c7324=[];try{for(var _0x261429=_0x13fc2e(_0x2814dc),_0x270189=_0x261429['next']();!_0x270189[_0x1a4e('0x3c2')];_0x270189=_0x261429[_0x1a4e('0x7e')]()){var _0x24f65f=_0x270189['value'];if(_0x24f65f[_0x1a4e('0x8f7')]){var _0x432c9f=_0x24f65f['mesh']?_0x24f65f[_0x1a4e('0x8f7')]['id']['id']:_0x24f65f['primitive']['id'],_0x4b999c=this['targetCollection'][_0x1a4e('0x179')](_0x432c9f);_0x4b999c&&(_0x4b999c['isSelected']=!0x0,_0x3c7324['includes'](_0x4b999c)||_0x3c7324[_0x1a4e('0x46')](_0x4b999c));}}}catch(_0x2d714e){_0xdb4245={'error':_0x2d714e};}finally{try{_0x270189&&!_0x270189[_0x1a4e('0x3c2')]&&(_0x421f57=_0x261429[_0x1a4e('0xe40')])&&_0x421f57['call'](_0x261429);}finally{if(_0xdb4245)throw _0xdb4245[_0x1a4e('0x873')];}}return _0x3c7324;},_0x585926[_0x1a4e('0xa')]['saveStyleConfig']=function(){var _0x2ed1dc,_0x585926,_0xed8de2={};_0xed8de2['showModel']=this['showModel'],_0xed8de2['styles']=[],_0xed8de2['distanceDisplayCondition']={};try{for(var _0x41823e=_0x13fc2e(this['layerConfig']),_0xdb4245=_0x41823e[_0x1a4e('0x7e')]();!_0xdb4245[_0x1a4e('0x3c2')];_0xdb4245=_0x41823e['next']()){var _0x2fce01=_0xdb4245[_0x1a4e('0x255')];_0xed8de2[_0x1a4e('0xe1d')][_0x1a4e('0x46')]({'code':_0x2fce01[0x0],'style':_0x421f57[_0x1a4e('0x4bc6')][_0x1a4e('0x3acb')](_0x2fce01[0x1])});}}catch(_0x39292e){_0x2ed1dc={'error':_0x39292e};}finally{try{_0xdb4245&&!_0xdb4245['done']&&(_0x585926=_0x41823e[_0x1a4e('0xe40')])&&_0x585926[_0x1a4e('0x1')](_0x41823e);}finally{if(_0x2ed1dc)throw _0x2ed1dc[_0x1a4e('0x873')];}}return _0xed8de2[_0x1a4e('0x3bfa')]={'point':[this['displayCondition'][_0x1a4e('0x4bb0')][_0x1a4e('0x3aa2')],this[_0x1a4e('0x4c18')][_0x1a4e('0x4bb0')]['far']],'icon':[this[_0x1a4e('0x4c18')]['iconDisplayCondition'][_0x1a4e('0x3aa2')],this['displayCondition']['iconDisplayCondition']['far']],'label':[this['displayCondition'][_0x1a4e('0x4bb7')][_0x1a4e('0x3aa2')],this['displayCondition'][_0x1a4e('0x4bb7')]['far']],'model':[this['displayCondition'][_0x1a4e('0x4bbd')][_0x1a4e('0x3aa2')],this[_0x1a4e('0x4c18')][_0x1a4e('0x4bbd')][_0x1a4e('0x3aaa')]]},_0xed8de2;},_0x585926['prototype'][_0x1a4e('0x4c39')]=function(_0x2ed1dc){var _0x585926,_0xed8de2;this[_0x1a4e('0x4be6')]=_0x2ed1dc[_0x1a4e('0x4be6')];try{for(var _0x41823e=_0x13fc2e(_0x2ed1dc['styles']),_0xdb4245=_0x41823e[_0x1a4e('0x7e')]();!_0xdb4245[_0x1a4e('0x3c2')];_0xdb4245=_0x41823e[_0x1a4e('0x7e')]()){var _0x421f57=_0xdb4245[_0x1a4e('0x255')];this[_0x1a4e('0x4c03')]['set'](_0x421f57[_0x1a4e('0x1617')],_0x421f57[_0x1a4e('0x375c')]);}}catch(_0x44b5e4){_0x585926={'error':_0x44b5e4};}finally{try{_0xdb4245&&!_0xdb4245['done']&&(_0xed8de2=_0x41823e[_0x1a4e('0xe40')])&&_0xed8de2[_0x1a4e('0x1')](_0x41823e);}finally{if(_0x585926)throw _0x585926['error'];}}var _0x2fce01=_0x2ed1dc[_0x1a4e('0x3bfa')];_0x2fce01&&(this[_0x1a4e('0x4c18')]={'pointDisplayCondition':new Cesium['DistanceDisplayCondition'](_0x2fce01[_0x1a4e('0xc4')][0x0],_0x2fce01[_0x1a4e('0xc4')][0x1]),'iconDisplayCondition':new Cesium[(_0x1a4e('0x3b9d'))](_0x2fce01[_0x1a4e('0x3aeb')][0x0],_0x2fce01[_0x1a4e('0x3aeb')][0x1]),'labelDisplayCondition':new Cesium[(_0x1a4e('0x3b9d'))](_0x2fce01[_0x1a4e('0x1bc')][0x0],_0x2fce01[_0x1a4e('0x1bc')][0x1]),'modelDisplayCondition':new Cesium[(_0x1a4e('0x3b9d'))](_0x2fce01['model'][0x0],_0x2fce01['model'][0x1])});},Object[_0x1a4e('0x2')](_0x585926[_0x1a4e('0xa')],_0x1a4e('0x4bf0'),{'get':function(){return this[_0x1a4e('0x4c05')];},'set':function(_0x2ed1dc){this[_0x1a4e('0x4c05')]=_0x2ed1dc;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x585926[_0x1a4e('0xa')],_0x1a4e('0x4bf2'),{'get':function(){return this[_0x1a4e('0x3a00')];},'set':function(_0x2ed1dc){this[_0x1a4e('0x3a00')]=_0x2ed1dc;},'enumerable':!0x0,'configurable':!0x0}),_0x585926['prototype'][_0x1a4e('0x4c3a')]=function(){var _0x2ed1dc,_0x585926,_0xed8de2=[];try{for(var _0x41823e=_0x13fc2e(this[_0x1a4e('0x4c22')]),_0xdb4245=_0x41823e[_0x1a4e('0x7e')]();!_0xdb4245[_0x1a4e('0x3c2')];_0xdb4245=_0x41823e[_0x1a4e('0x7e')]()){var _0x421f57=_0xdb4245[_0x1a4e('0x255')];_0x421f57[0x1][_0x1a4e('0x4bf1')]&&_0xed8de2['push'](_0x421f57[0x1]);}}catch(_0x30a776){_0x2ed1dc={'error':_0x30a776};}finally{try{_0xdb4245&&!_0xdb4245[_0x1a4e('0x3c2')]&&(_0x585926=_0x41823e[_0x1a4e('0xe40')])&&_0x585926['call'](_0x41823e);}finally{if(_0x2ed1dc)throw _0x2ed1dc[_0x1a4e('0x873')];}}return _0xed8de2;},_0x585926[_0x1a4e('0xa')]['clearSelection']=function(){var _0x2ed1dc,_0x585926;try{for(var _0xed8de2=_0x13fc2e(this[_0x1a4e('0x4c22')]),_0x41823e=_0xed8de2[_0x1a4e('0x7e')]();!_0x41823e[_0x1a4e('0x3c2')];_0x41823e=_0xed8de2[_0x1a4e('0x7e')]()){_0x41823e[_0x1a4e('0x255')][0x1]['isSelected']=!0x1;}}catch(_0x52fbbe){_0x2ed1dc={'error':_0x52fbbe};}finally{try{_0x41823e&&!_0x41823e['done']&&(_0x585926=_0xed8de2[_0x1a4e('0xe40')])&&_0x585926['call'](_0xed8de2);}finally{if(_0x2ed1dc)throw _0x2ed1dc[_0x1a4e('0x873')];}}},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c3b')]=function(){var _0x2ed1dc,_0x585926;try{for(var _0xed8de2=_0x13fc2e(this[_0x1a4e('0x4c22')]),_0x41823e=_0xed8de2[_0x1a4e('0x7e')]();!_0x41823e[_0x1a4e('0x3c2')];_0x41823e=_0xed8de2[_0x1a4e('0x7e')]()){var _0xdb4245=_0x41823e['value'];_0xdb4245[0x1]['isSelected']=!_0xdb4245[0x1][_0x1a4e('0x4bf1')];}}catch(_0x1ded99){_0x2ed1dc={'error':_0x1ded99};}finally{try{_0x41823e&&!_0x41823e[_0x1a4e('0x3c2')]&&(_0x585926=_0xed8de2[_0x1a4e('0xe40')])&&_0x585926[_0x1a4e('0x1')](_0xed8de2);}finally{if(_0x2ed1dc)throw _0x2ed1dc[_0x1a4e('0x873')];}}},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c3c')]=function(){var _0x2ed1dc,_0x585926;try{for(var _0xed8de2=_0x13fc2e(this[_0x1a4e('0x4c22')]),_0x41823e=_0xed8de2[_0x1a4e('0x7e')]();!_0x41823e[_0x1a4e('0x3c2')];_0x41823e=_0xed8de2[_0x1a4e('0x7e')]()){_0x41823e[_0x1a4e('0x255')][0x1][_0x1a4e('0x4bf1')]=!0x0;}}catch(_0x2bb260){_0x2ed1dc={'error':_0x2bb260};}finally{try{_0x41823e&&!_0x41823e['done']&&(_0x585926=_0xed8de2['return'])&&_0x585926['call'](_0xed8de2);}finally{if(_0x2ed1dc)throw _0x2ed1dc['error'];}}},Object[_0x1a4e('0x2')](_0x585926['prototype'],'smoothTrack',{'get':function(){return this[_0x1a4e('0x4b9b')];},'set':function(_0x2ed1dc){this[_0x1a4e('0x4b9b')]=_0x2ed1dc;},'enumerable':!0x0,'configurable':!0x0}),_0x585926[_0x1a4e('0xa')]['getItemList']=function(){var _0x2ed1dc,_0x585926,_0xed8de2=[];try{for(var _0x41823e=_0x13fc2e(this[_0x1a4e('0x4c22')]),_0xdb4245=_0x41823e[_0x1a4e('0x7e')]();!_0xdb4245[_0x1a4e('0x3c2')];_0xdb4245=_0x41823e['next']()){var _0x421f57=_0xdb4245[_0x1a4e('0x255')];_0xed8de2[_0x1a4e('0x46')](_0x421f57[0x1]);}}catch(_0xfc644){_0x2ed1dc={'error':_0xfc644};}finally{try{_0xdb4245&&!_0xdb4245[_0x1a4e('0x3c2')]&&(_0x585926=_0x41823e['return'])&&_0x585926['call'](_0x41823e);}finally{if(_0x2ed1dc)throw _0x2ed1dc[_0x1a4e('0x873')];}}return _0xed8de2;},Object[_0x1a4e('0x2')](_0x585926[_0x1a4e('0xa')],'id',{'get':function(){return this[_0x1a4e('0x4c00')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x585926[_0x1a4e('0xa')],'name',{'get':function(){return _0x1a4e('0x4c3d');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x585926[_0x1a4e('0xa')],_0x1a4e('0x4c3e'),{'get':function(){return this['_ennableDrag'];},'set':function(_0x2ed1dc){this[_0x1a4e('0x4c01')]=_0x2ed1dc;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x585926[_0x1a4e('0xa')],_0x1a4e('0x4c3f'),{'get':function(){return this[_0x1a4e('0x4c40')];},'set':function(_0x2ed1dc){this[_0x1a4e('0x4c40')]=Number(_0x2ed1dc),this[_0x1a4e('0x4c41')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x585926[_0x1a4e('0xa')],_0x1a4e('0x4c42'),{'get':function(){return this['_linkLineColor'];},'set':function(_0x2ed1dc){this['_linkLineColor']=_0x2ed1dc,this['updateLinkStyle']();},'enumerable':!0x0,'configurable':!0x0}),_0x585926[_0x1a4e('0xa')][_0x1a4e('0x4c43')]=function(_0x2ed1dc){return!!this[_0x1a4e('0x3ad2')](_0x2ed1dc);},Object[_0x1a4e('0x2')](_0x585926['prototype'],_0x1a4e('0x3a23'),{'get':function(){return this['_show'];},'set':function(_0x2ed1dc){var _0x585926,_0xed8de2;this[_0x1a4e('0x3a24')]=_0x2ed1dc,this[_0x1a4e('0x4c0a')][_0x1a4e('0x3a23')]=_0x2ed1dc,this[_0x1a4e('0x4c0b')][_0x1a4e('0x3a23')]=_0x2ed1dc,this[_0x1a4e('0x4c26')][_0x1a4e('0x3a23')]=_0x2ed1dc;try{for(var _0x41823e=_0x13fc2e(this[_0x1a4e('0x4c22')]),_0xdb4245=_0x41823e[_0x1a4e('0x7e')]();!_0xdb4245[_0x1a4e('0x3c2')];_0xdb4245=_0x41823e[_0x1a4e('0x7e')]()){_0xdb4245[_0x1a4e('0x255')][0x1][_0x1a4e('0x3a23')]=_0x2ed1dc;}}catch(_0x50912a){_0x585926={'error':_0x50912a};}finally{try{_0xdb4245&&!_0xdb4245[_0x1a4e('0x3c2')]&&(_0xed8de2=_0x41823e[_0x1a4e('0xe40')])&&_0xed8de2[_0x1a4e('0x1')](_0x41823e);}finally{if(_0x585926)throw _0x585926[_0x1a4e('0x873')];}}},'enumerable':!0x0,'configurable':!0x0}),_0x585926[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x2ed1dc){_0x2ed1dc[_0x1a4e('0x134')]=_0x2ed1dc[_0x1a4e('0x134')],_0x2ed1dc[_0x1a4e('0x375c')][_0x1a4e('0x134')]=_0x2ed1dc[_0x1a4e('0x134')],_0x2ed1dc[_0x1a4e('0x3983')]=this[_0x1a4e('0x4c2b')](_0x2ed1dc),_0x2ed1dc[_0x1a4e('0x4bed')]=this['_getBillboard'](_0x2ed1dc);var _0x585926=_0x2ed1dc[_0x1a4e('0x3b68')];_0x2ed1dc[_0x1a4e('0x3983')][_0x1a4e('0x3553')]=_0x585926,_0x2ed1dc['_billbord'][_0x1a4e('0x3553')]=_0x585926,this['showModel']&&(_0x2ed1dc[_0x1a4e('0x4be8')]=this['_getModel'](_0x2ed1dc),_0x2ed1dc[_0x1a4e('0x4c28')],_0x2ed1dc[_0x1a4e('0x4be8')][_0x1a4e('0x3553')]=_0x585926),_0x2ed1dc[_0x1a4e('0x43bc')]=_0x2fce01[_0x1a4e('0x4bc4')][_0x1a4e('0x4c29')];var _0xed8de2=new _0x2814dc['TimePosition']();return _0xed8de2[_0x1a4e('0x3553')]=_0x2ed1dc['_position'],_0xed8de2[_0x1a4e('0x129a')]=new Date()[_0x1a4e('0xe9')](),_0x2ed1dc[_0x1a4e('0x4bd7')][_0x1a4e('0x4b6f')](_0xed8de2),this['targetCollection'][_0x1a4e('0x17a')](_0x2ed1dc['id'],_0x2ed1dc),_0x2ed1dc['_parentLayer']=this,_0x2ed1dc;},_0x585926[_0x1a4e('0xa')]['getItemById']=function(_0x2ed1dc){return this[_0x1a4e('0x4c22')][_0x1a4e('0x179')](_0x2ed1dc);},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x2ed1dc){var _0x585926,_0xed8de2,_0x41823e;_0x41823e=_0x3c7324[_0x1a4e('0x2bc9')][_0x1a4e('0xb19')](_0x2ed1dc)?_0x2ed1dc:_0x2ed1dc['id'];var _0xdb4245=this[_0x1a4e('0x3ad2')](_0x41823e);if(_0xdb4245){if(this[_0x1a4e('0x4c22')][_0x1a4e('0xf4c')](_0xdb4245['id']),this[_0x1a4e('0x4c0d')]['remove'](_0xdb4245[_0x1a4e('0x436')]),this[_0x1a4e('0x4c0c')][_0x1a4e('0x82')](_0xdb4245[_0x1a4e('0x3983')]),this[_0x1a4e('0x4c0f')]['remove'](_0xdb4245[_0x1a4e('0x4bed')]),this[_0x1a4e('0x4c26')][_0x1a4e('0x82')](_0xdb4245['_model']),this[_0x1a4e('0x4c0f')][_0x1a4e('0x82')](_0xdb4245[_0x1a4e('0x4c44')]),this[_0x1a4e('0x4c14')][_0x1a4e('0x82')](_0xdb4245['_linkLine']),this[_0x1a4e('0x4c11')][_0x1a4e('0x82')](_0xdb4245[_0x1a4e('0x4bd1')]),this['trackLinecollection'][_0x1a4e('0x82')](_0xdb4245['_backwardPath']),Cesium['defined'](_0xdb4245['_trackPoint']))try{for(var _0x421f57=_0x13fc2e(_0xdb4245['_trackPoint']),_0x2fce01=_0x421f57['next']();!_0x2fce01[_0x1a4e('0x3c2')];_0x2fce01=_0x421f57[_0x1a4e('0x7e')]()){var _0x1a42de=_0x2fce01['value'];this[_0x1a4e('0x4c13')][_0x1a4e('0x82')](_0x1a42de);}}catch(_0x2913c0){_0x585926={'error':_0x2913c0};}finally{try{_0x2fce01&&!_0x2fce01['done']&&(_0xed8de2=_0x421f57[_0x1a4e('0xe40')])&&_0xed8de2[_0x1a4e('0x1')](_0x421f57);}finally{if(_0x585926)throw _0x585926['error'];}}_0xdb4245['clearPartner'](),_0xdb4245[_0x1a4e('0x4be2')]['dispose']();}return _0xdb4245;},_0x585926['prototype'][_0x1a4e('0x3a42')]=function(){return this[_0x1a4e('0x4c22')][_0x1a4e('0xb5')](),this['labelcollection'][_0x1a4e('0x3a42')](),this['pointcollection'][_0x1a4e('0x3a42')](),this[_0x1a4e('0x4c0f')]['removeAll'](),this[_0x1a4e('0x4c26')][_0x1a4e('0x3a42')](),this[_0x1a4e('0x4c0f')][_0x1a4e('0x3a42')](),this[_0x1a4e('0x4c11')][_0x1a4e('0x3a42')](),this['trackPointcollection'][_0x1a4e('0x3a42')](),this[_0x1a4e('0x4c14')][_0x1a4e('0x3a42')](),!0x0;},_0x585926[_0x1a4e('0xa')]['refresh']=function(){return this['linkLines']&&(this[_0x1a4e('0x4c14')]['refresh'](),this[_0x1a4e('0x4c06')]=!0x0),!0x0;},_0x585926[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){this[_0x1a4e('0x3a42')](),this[_0x1a4e('0x4c09')][_0x1a4e('0x38d6')]['primitives']['remove'](this[_0x1a4e('0x4c0a')]),this[_0x1a4e('0x4c0a')]['destroy'](),this[_0x1a4e('0x4c09')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x4c0b')]),this[_0x1a4e('0x4c0b')]['destroy']();},_0x585926;}(_0xdb4245[_0x1a4e('0x4720')]);},'./src/LayerManager/TargetLayer/TargetPath.ts':function(_0x75b1e0,_0x1121c2,_0x4da2d6){'use strict';_0x4da2d6['r'](_0x1121c2),_0x4da2d6['d'](_0x1121c2,_0x1a4e('0x4bda'),function(){return _0x38ca45;}),_0x4da2d6['d'](_0x1121c2,'PathType',function(){return _0x34ce41;}),_0x4da2d6['d'](_0x1121c2,'BackLineMode',function(){return _0x45703d;});var _0x5e276b=_0x4da2d6(_0x1a4e('0x3999')),_0x266d54=function(_0x75b1e0){var _0x1121c2='function'==typeof Symbol&&_0x75b1e0[Symbol[_0x1a4e('0x335')]],_0x4da2d6=0x0;return _0x1121c2?_0x1121c2[_0x1a4e('0x1')](_0x75b1e0):{'next':function(){return _0x75b1e0&&_0x4da2d6>=_0x75b1e0[_0x1a4e('0x1e')]&&(_0x75b1e0=void 0x0),{'value':_0x75b1e0&&_0x75b1e0[_0x4da2d6++],'done':!_0x75b1e0};}};},_0x38ca45=function(){function _0x75b1e0(_0x75b1e0,_0x1121c2){this[_0x1a4e('0x1f7')]=!0x1,this['_trackLine']=null,this['_trackPoints']=[],this[_0x1a4e('0x4c45')]=!0x1,this['_trackLineColor']=Cesium[_0x1a4e('0x3947')]['RED'],this[_0x1a4e('0x4b98')]=0x2,this[_0x1a4e('0x4b99')]=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39a7')],this['_trackPointSize']=0x8,this[_0x1a4e('0x4c46')]=0x6,this['_trackPositions']=[],this[_0x1a4e('0x4c47')]=!0x1,this[_0x1a4e('0x4c48')]='line',this[_0x1a4e('0x4c49')]=_0x34ce41['backward'],this[_0x1a4e('0x4c4a')]=_0x45703d[_0x1a4e('0x4c4b')],this[_0x1a4e('0x4c4c')]=!0x1,this['_target']=_0x75b1e0,this['_mtype']=_0x1121c2;}return Object[_0x1a4e('0x2')](_0x75b1e0[_0x1a4e('0xa')],_0x1a4e('0x4c31'),{'get':function(){return this['_trackInit'];},'set':function(_0x75b1e0){this[_0x1a4e('0x4c47')]=_0x75b1e0;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x75b1e0[_0x1a4e('0xa')],_0x1a4e('0x4c4d'),{'set':function(_0x75b1e0){this['_trackLine']=_0x75b1e0;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x75b1e0[_0x1a4e('0xa')],_0x1a4e('0x4c32'),{'get':function(){return this[_0x1a4e('0x4c49')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x75b1e0['prototype'],_0x1a4e('0x4c4e'),{'get':function(){return this['_trackPositions'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x75b1e0[_0x1a4e('0xa')],_0x1a4e('0x3a23'),{'get':function(){return this[_0x1a4e('0x4c45')];},'set':function(_0x75b1e0){var _0x1121c2,_0x4da2d6;if(this[_0x1a4e('0x4c45')]=_0x75b1e0,_0x1a4e('0xc5')==this['trackLineType'])this[_0x1a4e('0x4c4f')]&&(this[_0x1a4e('0x4c4f')][_0x1a4e('0x3a23')]=_0x75b1e0);else try{for(var _0x5e276b=_0x266d54(this['_trackPoints']),_0x38ca45=_0x5e276b['next']();!_0x38ca45[_0x1a4e('0x3c2')];_0x38ca45=_0x5e276b[_0x1a4e('0x7e')]()){_0x38ca45[_0x1a4e('0x255')][_0x1a4e('0x3a23')]=_0x75b1e0;}}catch(_0x24ea93){_0x1121c2={'error':_0x24ea93};}finally{try{_0x38ca45&&!_0x38ca45['done']&&(_0x4da2d6=_0x5e276b[_0x1a4e('0xe40')])&&_0x4da2d6[_0x1a4e('0x1')](_0x5e276b);}finally{if(_0x1121c2)throw _0x1121c2[_0x1a4e('0x873')];}}},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x75b1e0[_0x1a4e('0xa')],'trackLineColor',{'get':function(){return this[_0x1a4e('0x4b97')];},'set':function(_0x75b1e0){this[_0x1a4e('0x4b97')]=_0x75b1e0,this[_0x1a4e('0x4c4f')]&&(this['_trackLine']['material']=Cesium[_0x1a4e('0x3a3b')][_0x1a4e('0x3944')](_0x1a4e('0x3947'),{'color':_0x75b1e0}));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x75b1e0['prototype'],_0x1a4e('0x4c50'),{'get':function(){return this[_0x1a4e('0x4c46')];},'set':function(_0x75b1e0){this['_trackPositionCount']=_0x75b1e0;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x75b1e0[_0x1a4e('0xa')],_0x1a4e('0x4c51'),{'get':function(){return this['_trackLineWidth'];},'set':function(_0x75b1e0){this[_0x1a4e('0x4b98')]=_0x75b1e0,this[_0x1a4e('0x4c4f')]&&(this['_trackLine']['width']=_0x75b1e0);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x75b1e0['prototype'],_0x1a4e('0x4bdd'),{'get':function(){return this[_0x1a4e('0x4b99')];},'set':function(_0x75b1e0){var _0x1121c2,_0x4da2d6;if(this[_0x1a4e('0x4b99')]=_0x75b1e0,this[_0x1a4e('0x4c52')][_0x1a4e('0x1e')]>0x0)try{for(var _0x5e276b=_0x266d54(this[_0x1a4e('0x4c52')]),_0x38ca45=_0x5e276b[_0x1a4e('0x7e')]();!_0x38ca45[_0x1a4e('0x3c2')];_0x38ca45=_0x5e276b[_0x1a4e('0x7e')]()){_0x38ca45[_0x1a4e('0x255')]['color']=_0x75b1e0;}}catch(_0x1b5e6d){_0x1121c2={'error':_0x1b5e6d};}finally{try{_0x38ca45&&!_0x38ca45[_0x1a4e('0x3c2')]&&(_0x4da2d6=_0x5e276b[_0x1a4e('0xe40')])&&_0x4da2d6['call'](_0x5e276b);}finally{if(_0x1121c2)throw _0x1121c2[_0x1a4e('0x873')];}}},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x75b1e0[_0x1a4e('0xa')],'trackPointSize',{'get':function(){return this[_0x1a4e('0x4b9a')];},'set':function(_0x75b1e0){var _0x1121c2,_0x4da2d6;if(this[_0x1a4e('0x4b9a')]=_0x75b1e0,this[_0x1a4e('0x4c52')][_0x1a4e('0x1e')]>0x0)try{for(var _0x5e276b=_0x266d54(this[_0x1a4e('0x4c52')]),_0x38ca45=_0x5e276b[_0x1a4e('0x7e')]();!_0x38ca45[_0x1a4e('0x3c2')];_0x38ca45=_0x5e276b[_0x1a4e('0x7e')]()){_0x38ca45[_0x1a4e('0x255')][_0x1a4e('0x3efe')]=_0x75b1e0;}}catch(_0x4c575e){_0x1121c2={'error':_0x4c575e};}finally{try{_0x38ca45&&!_0x38ca45[_0x1a4e('0x3c2')]&&(_0x4da2d6=_0x5e276b[_0x1a4e('0xe40')])&&_0x4da2d6[_0x1a4e('0x1')](_0x5e276b);}finally{if(_0x1121c2)throw _0x1121c2[_0x1a4e('0x873')];}}},'enumerable':!0x0,'configurable':!0x0}),_0x75b1e0[_0x1a4e('0xa')][_0x1a4e('0x4c53')]=function(){var _0x75b1e0,_0x1121c2,_0x4da2d6,_0x5e276b,_0x38ca45=this[_0x1a4e('0x4c54')](),_0x45703d=this[_0x1a4e('0x4c55')][_0x1a4e('0x4bc8')][_0x1a4e('0x4c13')];try{for(var _0x2b5c59=_0x266d54(this[_0x1a4e('0x4c52')]),_0x64a271=_0x2b5c59[_0x1a4e('0x7e')]();!_0x64a271['done'];_0x64a271=_0x2b5c59[_0x1a4e('0x7e')]()){var _0x1389bb=_0x64a271['value'];_0x45703d[_0x1a4e('0x82')](_0x1389bb);}}catch(_0x5564f5){_0x75b1e0={'error':_0x5564f5};}finally{try{_0x64a271&&!_0x64a271['done']&&(_0x1121c2=_0x2b5c59['return'])&&_0x1121c2[_0x1a4e('0x1')](_0x2b5c59);}finally{if(_0x75b1e0)throw _0x75b1e0[_0x1a4e('0x873')];}}this[_0x1a4e('0x4c49')]==_0x34ce41['backward']&&_0x38ca45[_0x1a4e('0x1e')]>this[_0x1a4e('0x4c50')]&&(_0x38ca45=_0x38ca45[_0x1a4e('0x8a')](_0x38ca45[_0x1a4e('0x1e')]-this['trackPositionCount'])),this['_trackPoints']=[];try{for(var _0x34c7ab=_0x266d54(_0x38ca45),_0x4f7e6f=_0x34c7ab[_0x1a4e('0x7e')]();!_0x4f7e6f[_0x1a4e('0x3c2')];_0x4f7e6f=_0x34c7ab['next']()){_0x1389bb=_0x4f7e6f['value'];var _0x5f1384=_0x45703d[_0x1a4e('0x177')]({'position':_0x1389bb,'pixelSize':this[_0x1a4e('0x4b9a')],'color':this[_0x1a4e('0x4b99')]});this[_0x1a4e('0x4c52')][_0x1a4e('0x46')](_0x5f1384);}}catch(_0x1fa6d7){_0x4da2d6={'error':_0x1fa6d7};}finally{try{_0x4f7e6f&&!_0x4f7e6f[_0x1a4e('0x3c2')]&&(_0x5e276b=_0x34c7ab[_0x1a4e('0xe40')])&&_0x5e276b[_0x1a4e('0x1')](_0x34c7ab);}finally{if(_0x4da2d6)throw _0x4da2d6[_0x1a4e('0x873')];}}},_0x75b1e0[_0x1a4e('0xa')][_0x1a4e('0x4c56')]=function(_0x75b1e0){if(_0x75b1e0this[_0x1a4e('0x4c46')]&&this['_trackPositions']['shift'](),this[_0x1a4e('0x4c55')][_0x1a4e('0x4b9b')]||this[_0x1a4e('0x4c45')]&&'line'==this['trackLineType']&&(this[_0x1a4e('0x4c47')]||this['_target'][_0x1a4e('0x4bc8')][_0x1a4e('0x4c30')](this),this[_0x1a4e('0x4c4f')][_0x1a4e('0x398a')]=this['_trackPositions']),this[_0x1a4e('0x4c45')]&&_0x1a4e('0xc5')!=this[_0x1a4e('0x4c58')]&&this[_0x1a4e('0x4c53')]();},_0x75b1e0[_0x1a4e('0xa')][_0x1a4e('0x4c54')]=function(){var _0x75b1e0=this[_0x1a4e('0x4c55')]['_timePosition'],_0x1121c2=[];this[_0x1a4e('0x4c49')]==_0x34ce41['backward']?_0x1121c2=_0x75b1e0[_0x1a4e('0x4c59')]()[_0x1a4e('0x21')](function(_0x75b1e0){return _0x75b1e0[_0x1a4e('0x3553')];}):_0x1121c2=_0x75b1e0['getPreservePoints']()['map'](function(_0x75b1e0){return _0x75b1e0[_0x1a4e('0x3553')];});return _0x1121c2;},_0x75b1e0[_0x1a4e('0xa')][_0x1a4e('0x12d9')]=function(_0x75b1e0){if(this[_0x1a4e('0x4c45')]&&_0x1a4e('0xc5')==this['trackLineType']){this[_0x1a4e('0x4c47')]||this[_0x1a4e('0x4c55')]['_parentLayer'][_0x1a4e('0x4c30')](this);var _0x1121c2=this[_0x1a4e('0x4c54')]();this[_0x1a4e('0x4c57')][_0x1a4e('0x1e')]>=0x1&&(this['_mtype']==_0x34ce41[_0x1a4e('0x4be1')]?(_0x1121c2[_0x1a4e('0x1e')]>this[_0x1a4e('0x4c50')]&&(_0x1121c2=_0x1121c2[_0x1a4e('0x8a')](_0x1121c2[_0x1a4e('0x1e')]-this[_0x1a4e('0x4c50')])),_0x1121c2[_0x1a4e('0x46')](_0x75b1e0),this[_0x1a4e('0x4c4f')]['positions']=_0x1121c2):(_0x1121c2[_0x1a4e('0x66')](_0x75b1e0),this['_trackLine'][_0x1a4e('0x398a')]=_0x1121c2)),this[_0x1a4e('0x4c4f')]&&this[_0x1a4e('0x4c4c')]&&this[_0x1a4e('0x4c49')]==_0x34ce41[_0x1a4e('0x4be1')]&&(this[_0x1a4e('0x4c5a')]==_0x45703d['ramp']?this['_trackLine'][_0x1a4e('0x3a41')]=new Cesium['Material']({'fabric':{'uniforms':{'image':_0x5e276b[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')]('resources/image/specialLine/Trail.png'),'lineColor':this[_0x1a4e('0x4b97')]},'source':_0x1a4e('0x4c5b')}}):this[_0x1a4e('0x4c4f')][_0x1a4e('0x3a41')]=Cesium['Material'][_0x1a4e('0x3944')](_0x1a4e('0x3947'),{'color':this[_0x1a4e('0x4b97')]}),this[_0x1a4e('0x4c4c')]=!0x1);}},_0x75b1e0;}(),_0x34ce41=function(){function _0x75b1e0(){}return _0x75b1e0[_0x1a4e('0x4be1')]=_0x1a4e('0x4be1'),_0x75b1e0['foreward']=_0x1a4e('0x4bdb'),_0x75b1e0;}(),_0x45703d=function(){function _0x75b1e0(){}return _0x75b1e0['ramp']=_0x1a4e('0x4c4b'),_0x75b1e0[_0x1a4e('0x4c5c')]=_0x1a4e('0x4c5c'),_0x75b1e0;}();},'./src/LayerManager/TargetLayer/TargetStyle.ts':function(_0x54cdd1,_0x23a776,_0x138841){'use strict';_0x138841['r'](_0x23a776),_0x138841['d'](_0x23a776,_0x1a4e('0x4bc6'),function(){return _0x146e50;});var _0x146e50=function(){function _0x54cdd1(){this[_0x1a4e('0x4c5d')]=!0x1,this['_color']=_0x1a4e('0x4b8c'),this[_0x1a4e('0x4c5e')]=_0x1a4e('0x3db0'),this[_0x1a4e('0x4c5f')]=0x2,this[_0x1a4e('0x4c60')]=0x0,this[_0x1a4e('0x4c61')]=_0x1a4e('0x4b8c'),this['_pointDisplayCondition']=new Cesium[(_0x1a4e('0x3b9d'))](0x61a80),this[_0x1a4e('0x4c62')]=0x10,this[_0x1a4e('0x4c63')]=_0x1a4e('0x4b8c'),this['_font']=_0x1a4e('0x4216'),this['_fontbgColor']=_0x1a4e('0x420b'),this[_0x1a4e('0x4c64')]=!0x1,this[_0x1a4e('0x4c65')]=new Cesium[(_0x1a4e('0x3b9d'))](0x0,0x1770),this[_0x1a4e('0x4c66')]=_0x1a4e('0x4b8c'),this[_0x1a4e('0x4c67')]=_0x1a4e('0x4c68'),this[_0x1a4e('0x4c69')]=0x20,this['_iconDisplayCondition']=new Cesium['DistanceDisplayCondition'](0x258,0x895440),this['_modelUrl']='',this[_0x1a4e('0x4c6a')]=new Cesium[(_0x1a4e('0x3b9d'))](0x0,0x3e8),this[_0x1a4e('0x4c6b')]=0xc8,this[_0x1a4e('0x4c6c')]=0x64,this[_0x1a4e('0x4b98')]=0x2,this['_trackLineColor']=_0x1a4e('0x4c6d'),this[_0x1a4e('0x4c6e')]=0x32,this['_labeloffsety']=-0x3c,this[_0x1a4e('0x4c5d')]=!0x1,this['_iconHeight']=this[_0x1a4e('0x4c69')],this[_0x1a4e('0x4c6f')]=this[_0x1a4e('0x4c69')];}return _0x54cdd1[_0x1a4e('0x4bc7')]=function(){return new _0x54cdd1();},Object[_0x1a4e('0x2')](_0x54cdd1['prototype'],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x3b69')];},'set':function(_0x54cdd1){this['_color']=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x420f'),{'get':function(){return this[_0x1a4e('0x4c5d')];},'set':function(_0x54cdd1){this['_showBackground']=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x4c70'),{'get':function(){return this[_0x1a4e('0x4c5e')];},'set':function(_0x54cdd1){this['_selectedColor']=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x54cdd1['prototype'],_0x1a4e('0x4baf'),{'get':function(){return this[_0x1a4e('0x4c5f')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c5f')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],'pointLineWidth',{'get':function(){return this[_0x1a4e('0x4c60')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c60')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x54cdd1['prototype'],_0x1a4e('0x4bb1'),{'get':function(){return this['_pointLineColor'];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c61')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x4bb0'),{'get':function(){return this[_0x1a4e('0x4c71')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c71')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x4207'),{'get':function(){return this['_fontSize'];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c62')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x40a2'),{'get':function(){return this['_fontColor'];},'set':function(_0x54cdd1){this['_fontColor']=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x3986'),{'get':function(){return this[_0x1a4e('0x4c72')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c72')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x4bb4'),{'get':function(){return this['_fontbgColor'];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c73')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1['prototype'],_0x1a4e('0x4bbc'),{'get':function(){return this['_showFontbgColor'];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c64')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1['prototype'],_0x1a4e('0x4bb7'),{'get':function(){return this[_0x1a4e('0x4c65')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c65')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x4c74'),{'get':function(){return this[_0x1a4e('0x4c66')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c66')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],'iconUrl',{'get':function(){return this[_0x1a4e('0x4c67')];},'set':function(_0x54cdd1){this['_iconUrl']=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x54cdd1[_0x1a4e('0xa')],'iconSize',{'get':function(){return this[_0x1a4e('0x4c69')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c69')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x4bbb'),{'get':function(){return this[_0x1a4e('0x4c75')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c75')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x4b43'),{'get':function(){return this['_modelUrl'];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c76')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x4bbd'),{'get':function(){return this[_0x1a4e('0x4c6a')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c6a')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1['prototype'],_0x1a4e('0x4c77'),{'get':function(){return this[_0x1a4e('0x4c6b')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c6b')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1['prototype'],_0x1a4e('0x4c37'),{'get':function(){return this['_modelMinimumPixelSize'];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c6c')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1['prototype'],_0x1a4e('0x4c51'),{'get':function(){return this[_0x1a4e('0x4b98')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4b98')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x54cdd1['prototype'],_0x1a4e('0x4bdc'),{'get':function(){return this[_0x1a4e('0x4b97')];},'set':function(_0x54cdd1){this['_trackLineColor']=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1[_0x1a4e('0xa')],_0x1a4e('0x4bb5'),{'get':function(){return this[_0x1a4e('0x4c6e')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c6e')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x54cdd1['prototype'],_0x1a4e('0x4bb6'),{'get':function(){return this[_0x1a4e('0x4c78')];},'set':function(_0x54cdd1){this[_0x1a4e('0x4c78')]=_0x54cdd1;},'enumerable':!0x0,'configurable':!0x0}),_0x54cdd1[_0x1a4e('0x3acb')]=function(_0x54cdd1){var _0x23a776={};return _0x23a776[_0x1a4e('0x134')]=_0x54cdd1[_0x1a4e('0x134')],_0x23a776['pointSize']=_0x54cdd1[_0x1a4e('0x4baf')],_0x23a776['pointLineWidth']=_0x54cdd1['pointLineWidth'],_0x23a776[_0x1a4e('0x4207')]=_0x54cdd1[_0x1a4e('0x4207')],_0x23a776[_0x1a4e('0x4bb1')]=_0x54cdd1[_0x1a4e('0x4bb1')],_0x23a776['fontColor']=_0x54cdd1[_0x1a4e('0x40a2')],_0x23a776[_0x1a4e('0x3986')]=_0x54cdd1[_0x1a4e('0x3986')],_0x23a776[_0x1a4e('0x4bb4')]=_0x54cdd1[_0x1a4e('0x4bb4')],_0x23a776['labelLineColor']=_0x54cdd1[_0x1a4e('0x4c74')],_0x23a776[_0x1a4e('0x4bad')]=_0x54cdd1[_0x1a4e('0x4bad')],_0x23a776[_0x1a4e('0x4bae')]=_0x54cdd1[_0x1a4e('0x4bae')],_0x23a776[_0x1a4e('0x4b43')]=_0x54cdd1[_0x1a4e('0x4b43')],_0x23a776[_0x1a4e('0x4c77')]=_0x54cdd1[_0x1a4e('0x4c77')],_0x23a776[_0x1a4e('0x4c37')]=_0x54cdd1[_0x1a4e('0x4c37')],_0x23a776[_0x1a4e('0x4c51')]=_0x54cdd1[_0x1a4e('0x4c51')],_0x23a776['trackLineColor']=_0x54cdd1['trackLineColor'],_0x23a776['labeloffsetx']=_0x54cdd1[_0x1a4e('0x4bb5')],_0x23a776[_0x1a4e('0x4bb6')]=_0x54cdd1[_0x1a4e('0x4bb6')],_0x23a776[_0x1a4e('0x4bb0')]=[_0x54cdd1[_0x1a4e('0x4bb0')][_0x1a4e('0x3aa2')],_0x54cdd1[_0x1a4e('0x4bb0')][_0x1a4e('0x3aaa')]],_0x23a776[_0x1a4e('0x4bbb')]=[_0x54cdd1[_0x1a4e('0x4bbb')][_0x1a4e('0x3aa2')],_0x54cdd1[_0x1a4e('0x4bbb')][_0x1a4e('0x3aaa')]],_0x23a776[_0x1a4e('0x4bb7')]=[_0x54cdd1[_0x1a4e('0x4bb7')][_0x1a4e('0x3aa2')],_0x54cdd1['labelDisplayCondition'][_0x1a4e('0x3aaa')]],_0x23a776[_0x1a4e('0x4bbd')]=[_0x54cdd1['modelDisplayCondition'][_0x1a4e('0x3aa2')],_0x54cdd1[_0x1a4e('0x4bbd')]['far']],_0x23a776;},_0x54cdd1[_0x1a4e('0x410a')]=function(_0x23a776){var _0x138841=new _0x54cdd1();return _0x138841[_0x1a4e('0x134')]=Cesium['defaultValue'](_0x23a776[_0x1a4e('0x134')],_0x138841['color']),_0x138841[_0x1a4e('0x4baf')]=Cesium[_0x1a4e('0x3a46')](_0x23a776[_0x1a4e('0x4baf')],_0x138841['pointSize']),_0x138841[_0x1a4e('0x4bb2')]=Cesium[_0x1a4e('0x3a46')](_0x23a776[_0x1a4e('0x4bb2')],_0x138841[_0x1a4e('0x4bb2')]),_0x138841[_0x1a4e('0x4207')]=Cesium['defaultValue'](_0x23a776[_0x1a4e('0x4207')],_0x138841[_0x1a4e('0x4207')]),_0x138841[_0x1a4e('0x4bb1')]=Cesium[_0x1a4e('0x3a46')](_0x23a776['pointLineColor'],_0x138841[_0x1a4e('0x4bb1')]),_0x138841['fontColor']=Cesium[_0x1a4e('0x3a46')](_0x23a776[_0x1a4e('0x40a2')],_0x138841['fontColor']),_0x138841[_0x1a4e('0x3986')]=Cesium[_0x1a4e('0x3a46')](_0x23a776['font'],_0x138841[_0x1a4e('0x3986')]),_0x138841[_0x1a4e('0x4bb4')]=Cesium[_0x1a4e('0x3a46')](_0x23a776['fontbgColor'],_0x138841['fontbgColor']),_0x138841[_0x1a4e('0x4c74')]=Cesium[_0x1a4e('0x3a46')](_0x23a776['labelLineColor'],_0x138841[_0x1a4e('0x4c74')]),_0x138841[_0x1a4e('0x4bad')]=Cesium[_0x1a4e('0x3a46')](_0x23a776[_0x1a4e('0x4bad')],_0x138841[_0x1a4e('0x4bad')]),_0x138841[_0x1a4e('0x4bae')]=Cesium[_0x1a4e('0x3a46')](_0x23a776[_0x1a4e('0x4bae')],_0x138841[_0x1a4e('0x4bae')]),_0x138841[_0x1a4e('0x4b43')]=Cesium[_0x1a4e('0x3a46')](_0x23a776[_0x1a4e('0x4b43')],_0x138841[_0x1a4e('0x4b43')]),_0x138841['modelMaximumScale']=Cesium[_0x1a4e('0x3a46')](_0x23a776[_0x1a4e('0x4c77')],_0x138841['modelMaximumScale']),_0x138841[_0x1a4e('0x4c37')]=Cesium['defaultValue'](_0x23a776[_0x1a4e('0x4c37')],_0x138841[_0x1a4e('0x4c37')]),_0x138841[_0x1a4e('0x4c51')]=Cesium['defaultValue'](_0x23a776['trackLineWidth'],_0x138841[_0x1a4e('0x4c51')]),_0x138841['trackLineColor']=Cesium[_0x1a4e('0x3a46')](_0x23a776['trackLineColor'],_0x138841['trackLineColor']),_0x138841[_0x1a4e('0x4bb5')]=Cesium[_0x1a4e('0x3a46')](_0x23a776[_0x1a4e('0x4bb5')],_0x138841[_0x1a4e('0x4bb5')]),_0x138841[_0x1a4e('0x4bb6')]=Cesium['defaultValue'](_0x23a776[_0x1a4e('0x4bb6')],_0x138841[_0x1a4e('0x4bb6')]),_0x23a776[_0x1a4e('0x4bb0')]&&(_0x138841['pointDisplayCondition']=new Cesium[(_0x1a4e('0x3b9d'))](_0x23a776[_0x1a4e('0x4bb0')][0x0],_0x23a776[_0x1a4e('0x4bb0')][0x1])),_0x23a776[_0x1a4e('0x4bbb')]&&(_0x138841['iconDisplayCondition']=new Cesium[(_0x1a4e('0x3b9d'))](_0x23a776[_0x1a4e('0x4bbb')][0x0],_0x23a776[_0x1a4e('0x4bbb')][0x1])),_0x23a776[_0x1a4e('0x4bb7')]&&(_0x138841['labelDisplayCondition']=new Cesium[(_0x1a4e('0x3b9d'))](_0x23a776[_0x1a4e('0x4bb7')][0x0],_0x23a776[_0x1a4e('0x4bb7')][0x1])),_0x23a776[_0x1a4e('0x4bbd')]&&(_0x138841[_0x1a4e('0x4bbd')]=new Cesium['DistanceDisplayCondition'](_0x23a776[_0x1a4e('0x4bbd')][0x0],_0x23a776['modelDisplayCondition'][0x1])),_0x138841;},_0x54cdd1;}();},'./src/LayerManager/TargetLayer/targetEffect/TargetFlame.ts':function(_0x2c3333,_0x2b26cd,_0x5a8cdd){'use strict';_0x5a8cdd['r'](_0x2b26cd),_0x5a8cdd['d'](_0x2b26cd,'TargetFlame',function(){return _0x4c7caf;});var _0x4c7caf=function(){function _0x2c3333(_0x2c3333){this[_0x1a4e('0x1f7')]=!0x1,this['emitterModelMatrix']=new Cesium[(_0x1a4e('0x3a29'))](),this['translation']=new Cesium[(_0x1a4e('0x393e'))](),this[_0x1a4e('0x3d2e')]=new Cesium[(_0x1a4e('0x3aac'))](),this['hpr']=new Cesium['HeadingPitchRoll'](),this[_0x1a4e('0x4c79')]=new Cesium[(_0x1a4e('0x433c'))](),this['_show']=!0x1,this[_0x1a4e('0x4c55')]=_0x2c3333;}return _0x2c3333['prototype']['applyGravity']=function(_0x2c3333,_0x2b26cd){var _0x5a8cdd=_0x2c3333['position'];Cesium[_0x1a4e('0x393e')]['normalize'](_0x5a8cdd,new Cesium[(_0x1a4e('0x393e'))]()),Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](new Cesium[(_0x1a4e('0x393e'))](),0x0*_0x2b26cd,new Cesium['Cartesian3']()),_0x2c3333[_0x1a4e('0x466b')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0x2c3333[_0x1a4e('0x466b')],new Cesium[(_0x1a4e('0x393e'))](),_0x2c3333[_0x1a4e('0x466b')]);},_0x2c3333['prototype'][_0x1a4e('0x1fd')]=function(){this['_earth']=this[_0x1a4e('0x4c55')]['_parentLayer']['earth'],this[_0x1a4e('0x4c7a')][_0x1a4e('0x3b3e')]['shouldAnimate']=!0x0,this[_0x1a4e('0x4c7b')]=this[_0x1a4e('0x4c7a')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['add'](new Cesium[(_0x1a4e('0x43f8'))]({'image':Cesium[_0x1a4e('0x4c7c')](_0x1a4e('0x4c7d')),'startColor':Cesium[_0x1a4e('0x3947')]['RED'][_0x1a4e('0x39ae')](0.7),'endColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39a7')]['withAlpha'](0x0),'startScale':0x1,'endScale':0x5,'minimumParticleLife':1.2,'maximumParticleLife':1.2,'minimumSpeed':0x1,'maximumSpeed':0x4,'imageSize':new Cesium[(_0x1a4e('0x3952'))](0x19,0x19),'emissionRate':0x5,'bursts':[new Cesium[(_0x1a4e('0x4339'))]({'time':0x5,'minimum':0xa,'maximum':0x64}),new Cesium[(_0x1a4e('0x4339'))]({'time':0xa,'minimum':0x32,'maximum':0x64}),new Cesium[(_0x1a4e('0x4339'))]({'time':0xf,'minimum':0xc8,'maximum':0x12c})],'lifetime':0x10,'emitter':new Cesium[(_0x1a4e('0x43fa'))](0x2),'emitterModelMatrix':this['computeEmitterModelMatrix'],'updateCallback':this[_0x1a4e('0x4c7e')]})),this[_0x1a4e('0x1f7')]=!0x0;},Object[_0x1a4e('0x2')](_0x2c3333[_0x1a4e('0xa')],_0x1a4e('0x3a23'),{'get':function(){return!!this[_0x1a4e('0x1f7')]&&this[_0x1a4e('0x4c7b')][_0x1a4e('0x3a23')];},'set':function(_0x2c3333){this[_0x1a4e('0x3a24')]=_0x2c3333,this['_show']&&!this[_0x1a4e('0x1f7')]?this[_0x1a4e('0x1fd')]():this[_0x1a4e('0x4c7b')][_0x1a4e('0x3a23')]=_0x2c3333;},'enumerable':!0x0,'configurable':!0x0}),_0x2c3333['prototype'][_0x1a4e('0x4bef')]=function(){if(this[_0x1a4e('0x1f7')]&&this[_0x1a4e('0x3a24')]){var _0x2c3333=this['_target'][_0x1a4e('0x4be8')];if(_0x2c3333&&_0x2c3333['show']){var _0x2b26cd=this[_0x1a4e('0x4c7a')]['camera']['position'],_0x5a8cdd=_0x2c3333[_0x1a4e('0x3c51')][_0x1a4e('0x3bfa')][_0x1a4e('0x1460')](),_0x4c7caf=Cesium['Cartographic'][_0x1a4e('0x3a0d')](_0x2b26cd)[_0x1a4e('0x152')];_0x4c7caf<_0x5a8cdd[_0x1a4e('0x3aaa')]&&_0x4c7caf>_0x5a8cdd[_0x1a4e('0x3aa2')]?(this[_0x1a4e('0x4c7b')][_0x1a4e('0x3a23')]=!0x0,this[_0x1a4e('0x4c7b')][_0x1a4e('0x3b64')]=_0x2c3333['computeModelMatrix'](Cesium['JulianDate'][_0x1a4e('0xe3f')](),new Cesium[(_0x1a4e('0x3a29'))]()),this['particleSystem'][_0x1a4e('0x4c7f')]=this[_0x1a4e('0x4338')]()):this[_0x1a4e('0x4c7b')][_0x1a4e('0x3a23')]=!0x1;}}},_0x2c3333[_0x1a4e('0xa')]['computeEmitterModelMatrix']=function(){return this[_0x1a4e('0x4c80')]=Cesium[_0x1a4e('0x3aab')]['fromDegrees'](0x0,0x0,0x0,this[_0x1a4e('0x4c80')]),this[_0x1a4e('0x4c79')][_0x1a4e('0x3d2d')]=Cesium['Cartesian3'][_0x1a4e('0x3a73')](-0x4,0x0,1.4,this['translation']),this[_0x1a4e('0x4c79')]['rotation']=Cesium[_0x1a4e('0x3aac')][_0x1a4e('0x3aad')](this[_0x1a4e('0x4c80')],this[_0x1a4e('0x3d2e')]),Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x43fd')](this[_0x1a4e('0x4c79')],this[_0x1a4e('0x4c7f')]);},_0x2c3333['prototype'][_0x1a4e('0x2f7c')]=function(){Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4c7a')])&&this[_0x1a4e('0x4c7a')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x4c7b')]);},_0x2c3333;}();},'./src/LayerManager/TargetLayer/targetEffect/TargetState.ts':function(_0x45b3a6,_0x103a45,_0x4cd286){'use strict';var _0x11a10e;_0x4cd286['r'](_0x103a45),_0x4cd286['d'](_0x103a45,'TargetState',function(){return _0x11a10e;}),function(_0x45b3a6){_0x45b3a6[_0x45b3a6[_0x1a4e('0x4c81')]=0x0]=_0x1a4e('0x4c81'),_0x45b3a6[_0x45b3a6[_0x1a4e('0x4c29')]=0x1]=_0x1a4e('0x4c29'),_0x45b3a6[_0x45b3a6['Update']=0x2]='Update',_0x45b3a6[_0x45b3a6['Remove']=0x3]=_0x1a4e('0x349e'),_0x45b3a6[_0x45b3a6['None']=0x4]=_0x1a4e('0x1733');}(_0x11a10e||(_0x11a10e={}));},'./src/LayerManager/TargetLayer/targetEffect/TimePositions.ts':function(_0x42fb51,_0x51bab7,_0x3afc4a){'use strict';_0x3afc4a['r'](_0x51bab7),_0x3afc4a['d'](_0x51bab7,'TimePositions',function(){return _0x371151;}),_0x3afc4a['d'](_0x51bab7,_0x1a4e('0x4ba7'),function(){return _0x53a4c5;});var _0x371151=function(){function _0x42fb51(_0x42fb51){this[_0x1a4e('0x1f7')]=!0x1,this[_0x1a4e('0x4c82')]=0x0,this[_0x1a4e('0x4c83')]=0x3e8,this['_sampleIndex']=0x0,this[_0x1a4e('0x3dcc')]=0x1,this[_0x1a4e('0x4beb')]=0xc8,this[_0x1a4e('0x4c84')]=new Cesium['Cartesian3'](),this[_0x1a4e('0x4ba9')]=[],this['_target']=_0x42fb51;}return Object['defineProperty'](_0x42fb51[_0x1a4e('0xa')],_0x1a4e('0x389'),{'get':function(){return this[_0x1a4e('0x4ba9')][_0x1a4e('0x1e')];},'enumerable':!0x0,'configurable':!0x0}),_0x42fb51[_0x1a4e('0xa')][_0x1a4e('0x4b6f')]=function(_0x42fb51){try{if(this[_0x1a4e('0x4ba9')][_0x1a4e('0x1e')]>this['_cacheSize']&&this[_0x1a4e('0x4ba9')][_0x1a4e('0x7d')](),_0x42fb51[_0x1a4e('0xbd')]=this[_0x1a4e('0x4ba9')][_0x1a4e('0x1e')],this['_positionList'][_0x1a4e('0x46')](_0x42fb51),this[_0x1a4e('0x4ba9')][_0x1a4e('0x1e')]>0x1){var _0x51bab7=this[_0x1a4e('0x4ba9')][this['_positionList'][_0x1a4e('0x1e')]-0x2];_0x51bab7['timeSpan']=_0x42fb51[_0x1a4e('0x129a')]-_0x51bab7[_0x1a4e('0x129a')],_0x51bab7[_0x1a4e('0x4c85')]=_0x42fb51[_0x1a4e('0x3553')]['x']-_0x51bab7[_0x1a4e('0x3553')]['x'],_0x51bab7['ySpan']=_0x42fb51[_0x1a4e('0x3553')]['y']-_0x51bab7[_0x1a4e('0x3553')]['y'],_0x51bab7['zSpan']=_0x42fb51[_0x1a4e('0x3553')]['z']-_0x51bab7[_0x1a4e('0x3553')]['z'];}}catch(_0xa38c6f){console[_0x1a4e('0x58')](_0xa38c6f);}},_0x42fb51[_0x1a4e('0xa')][_0x1a4e('0x4c86')]=function(_0x42fb51,_0x51bab7){var _0x3afc4a=(_0x51bab7['x']-_0x42fb51['x'])/this[_0x1a4e('0x3dcc')]*this['_sampleCount'],_0x371151=(_0x51bab7['y']-_0x42fb51['y'])/this['_speed']*this[_0x1a4e('0x4c83')],_0x53a4c5=(_0x51bab7['z']-_0x42fb51['z'])/this['_speed']*this[_0x1a4e('0x4c83')];return new Cesium[(_0x1a4e('0x393e'))](_0x3afc4a,_0x371151,_0x53a4c5);},_0x42fb51[_0x1a4e('0xa')]['getNearestIndex']=function(_0x42fb51){for(var _0x51bab7=-0x1,_0x3afc4a=0x0;_0x3afc4a_0x42fb51){_0x51bab7=_0x3afc4a;break;}_0x371151[_0x1a4e('0x4c87')]=!0x0;}return _0x51bab7;},_0x42fb51['prototype'][_0x1a4e('0x4c59')]=function(){return this[_0x1a4e('0x4ba9')]['filter'](function(_0x42fb51){return _0x42fb51[_0x1a4e('0x4c87')];});},_0x42fb51[_0x1a4e('0xa')][_0x1a4e('0x4c88')]=function(){return this['_positionList']['filter'](function(_0x42fb51){return!_0x42fb51[_0x1a4e('0x4c87')];});},_0x42fb51[_0x1a4e('0xa')][_0x1a4e('0x3f0a')]=function(_0x42fb51){if(0x1==this['_positionList'][_0x1a4e('0x1e')])return this[_0x1a4e('0x4ba9')][0x0][_0x1a4e('0x3553')];var _0x51bab7,_0x3afc4a=this[_0x1a4e('0x4c89')](_0x42fb51);if(-0x1==_0x3afc4a)return this[_0x1a4e('0x4ba9')][this[_0x1a4e('0x4ba9')][_0x1a4e('0x1e')]-0x1]['position'];var _0x371151=(_0x42fb51-(_0x51bab7=0x0==_0x3afc4a?this[_0x1a4e('0x4ba9')][_0x3afc4a]:this[_0x1a4e('0x4ba9')][_0x3afc4a-0x1])[_0x1a4e('0x129a')])/_0x51bab7[_0x1a4e('0x4c8a')],_0x53a4c5=new Cesium[(_0x1a4e('0x393e'))](_0x51bab7[_0x1a4e('0x4c85')]*_0x371151,_0x51bab7[_0x1a4e('0x4c8b')]*_0x371151,_0x51bab7[_0x1a4e('0x4c8c')]*_0x371151),_0x12602c=Cesium['Cartesian3'][_0x1a4e('0x177')](_0x51bab7[_0x1a4e('0x3553')],_0x53a4c5,this[_0x1a4e('0x4c84')]);return this[_0x1a4e('0x4c8d')](),new Cesium[(_0x1a4e('0x393e'))](_0x12602c['x'],_0x12602c['y'],_0x12602c['z']);},_0x42fb51[_0x1a4e('0xa')][_0x1a4e('0x4c8d')]=function(){if(Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4c55')])){var _0x42fb51=this['_target'][_0x1a4e('0x4bde')][_0x1a4e('0x4c50')];this[_0x1a4e('0x4ba9')][_0x1a4e('0xd9')](function(_0x42fb51){return _0x42fb51['isHistory'];})['length']>_0x42fb51+0x2&&this[_0x1a4e('0x4ba9')]['shift']();}},Object['defineProperty'](_0x42fb51[_0x1a4e('0xa')],_0x1a4e('0x40e3'),{'get':function(){return this['_speed'];},'set':function(_0x42fb51){this[_0x1a4e('0x3dcc')]=_0x42fb51;},'enumerable':!0x0,'configurable':!0x0}),_0x42fb51;}(),_0x53a4c5=function(){this[_0x1a4e('0x4c87')]=!0x1;};},'./src/LayerManager/TerrainLayer/BilTerrainProvider.js':function(_0x2ab163,_0x35c8f0,_0x39713c){'use strict';Object['defineProperty'](_0x35c8f0,'__esModule',{'value':!0x0});var _0x321302=Cesium[_0x1a4e('0x39fd')],_0x18c554=Cesium[_0x1a4e('0x47eb')],_0x23664d=Cesium['defaultValue'],_0x370678=Cesium[_0x1a4e('0x3a0b')],_0x82a564=Cesium[_0x1a4e('0x3b9c')],_0x1391a4=Cesium[_0x1a4e('0x168d')],_0x48d411=Cesium['GeographicTilingScheme'],_0x19ae43=Cesium['HeightmapTerrainData'],_0x199347=Cesium['Resource'],_0x5c6038=Cesium[_0x1a4e('0x4c8e')],_0x5b2ec3=Cesium[_0x1a4e('0x47fa')];function _0x37c8c1(_0x2ab163){if(!_0x370678(_0x2ab163)||!_0x370678(_0x2ab163[_0x1a4e('0x15cf')]))throw new _0x82a564(_0x1a4e('0x4c8f'));this['_maxLevel']=_0x23664d(_0x2ab163['maxLevel'],0xa),this['_url']=_0x2ab163['url'],this['_proxy']=_0x2ab163[_0x1a4e('0xdfd')],this[_0x1a4e('0x4734')]=new _0x48d411(),this[_0x1a4e('0x4c90')]=0x41,this[_0x1a4e('0x4c91')]=_0x5c6038['getEstimatedLevelZeroGeometricErrorForAHeightmap'](this[_0x1a4e('0x4734')][_0x1a4e('0x38dc')],this[_0x1a4e('0x4c90')],this[_0x1a4e('0x4734')][_0x1a4e('0x4744')](0x0)),this[_0x1a4e('0x4c92')]=void 0x0,this['_hasWaterMask']=!0x1,this[_0x1a4e('0x4c93')]=!0x1,this[_0x1a4e('0x4c94')]=_0x23664d(_0x2ab163[_0x1a4e('0x4c95')],!0x1),this[_0x1a4e('0x4c96')]=!0x0,this[_0x1a4e('0x4c97')]=_0x23664d(_0x2ab163[_0x1a4e('0x4c98')],!0x1),this[_0x1a4e('0x4731')]=new _0x1391a4();var _0x35c8f0=_0x2ab163[_0x1a4e('0x3bd2')];_0x1a4e('0x9')==typeof _0x35c8f0&&(_0x35c8f0=new _0x18c554(_0x35c8f0)),this['_credit']=_0x35c8f0,this[_0x1a4e('0x3be8')]=!0x1,this['_readyPromise']=_0x321302[_0x1a4e('0x1049')]();var _0x39713c=this[_0x1a4e('0x4764')];_0x370678(this['_proxy'])&&(_0x39713c=this[_0x1a4e('0x4c99')]['getURL'](_0x39713c));var _0x19ae43,_0x199347=this;!function(_0x2ab163){var _0x35c8f0;if(!_0x2ab163[_0x1a4e('0x390')])return _0x35c8f0=_0x1a4e('0x4c9a'),void(_0x19ae43=_0x5b2ec3[_0x1a4e('0x377d')](_0x19ae43,_0x199347,_0x199347[_0x1a4e('0x4731')],_0x35c8f0,void 0x0,void 0x0,void 0x0,requestMetadata));if(!_0x2ab163['tiles']||0x0===_0x2ab163[_0x1a4e('0x4c9b')][_0x1a4e('0x1e')])return _0x35c8f0='The\x20layer.json\x20file\x20does\x20not\x20specify\x20any\x20tile\x20URL\x20templates.',void(_0x19ae43=_0x5b2ec3[_0x1a4e('0x377d')](_0x19ae43,_0x199347,_0x199347[_0x1a4e('0x4731')],_0x35c8f0,void 0x0,void 0x0,void 0x0,requestMetadata));if(_0x1a4e('0x4c9c')===_0x2ab163[_0x1a4e('0x390')])_0x199347[_0x1a4e('0x4c92')]={'heightScale':0.2,'heightOffset':-0x3e8,'elementsPerHeight':0x1,'stride':0x1,'elementMultiplier':0x100,'isBigEndian':!0x1,'lowestEncodedHeight':0x0,'highestEncodedHeight':0xffff},_0x199347[_0x1a4e('0x4c9d')]=!0x0,_0x199347[_0x1a4e('0x4c97')]=!0x0;else if(0x0!==_0x2ab163[_0x1a4e('0x390')]['indexOf'](_0x1a4e('0x4c9e')))return _0x35c8f0=_0x1a4e('0x4c9f')+_0x2ab163[_0x1a4e('0x390')]+_0x1a4e('0x4ca0'),void(_0x19ae43=_0x5b2ec3[_0x1a4e('0x377d')](_0x19ae43,_0x199347,_0x199347['_errorEvent'],_0x35c8f0,void 0x0,void 0x0,void 0x0,requestMetadata));_0x199347['_tileUrlTemplates']=_0x199347['_url'],_0x199347[_0x1a4e('0x4ca1')]=_0x2ab163['available'],!_0x370678(_0x199347[_0x1a4e('0x3bd3')])&&_0x370678(_0x2ab163[_0x1a4e('0x4ca2')])&&null!==_0x2ab163['attribution']&&(_0x199347[_0x1a4e('0x3bd3')]=new _0x18c554(_0x2ab163[_0x1a4e('0x4ca2')])),_0x370678(_0x2ab163['extensions'])&&-0x1!==_0x2ab163[_0x1a4e('0x325c')]['indexOf'](_0x1a4e('0x4ca3'))?_0x199347['_hasVertexNormals']=!0x0:_0x370678(_0x2ab163['extensions'])&&-0x1!==_0x2ab163[_0x1a4e('0x325c')]['indexOf']('vertexnormals')&&(_0x199347[_0x1a4e('0x4c93')]=!0x0,_0x199347[_0x1a4e('0x4c96')]=!0x1),_0x370678(_0x2ab163[_0x1a4e('0x325c')])&&-0x1!==_0x2ab163[_0x1a4e('0x325c')]['indexOf'](_0x1a4e('0x4ca4'))&&(_0x199347[_0x1a4e('0x4c9d')]=!0x0),_0x199347[_0x1a4e('0x3be8')]=!0x0,_0x199347[_0x1a4e('0x3be9')][_0x1a4e('0xe20')](!0x0);}({'tilejson':'2.1.0','format':'heightmap-1.0','version':'1.0.0','scheme':_0x1a4e('0x4ca5'),'tiles':['?']});}function _0x5e278a(_0x2ab163){return _0x370678(_0x2ab163)&&0x0!==_0x2ab163[_0x1a4e('0x1e')]?{'Accept':_0x1a4e('0x4ca6')+_0x2ab163[_0x1a4e('0x9e')]('-')+_0x1a4e('0x4ca7')}:{'Accept':_0x1a4e('0x4ca8')};}_0x37c8c1[_0x1a4e('0xa')][_0x1a4e('0x4ca9')]=function(_0x2ab163,_0x35c8f0,_0x39713c,_0x321302){if(!this[_0x1a4e('0x3be8')])throw new _0x82a564(_0x1a4e('0x4caa'));var _0x18c554=this[_0x1a4e('0x4cab')];if(0x0!==_0x18c554['length']&&!(_0x39713c>this[_0x1a4e('0x4cac')])){new Cesium['GeographicTilingScheme']()['tileXYToRectangle'](_0x2ab163,_0x35c8f0,_0x39713c);var _0x23664d=this[_0x1a4e('0x4734')][_0x1a4e('0x4cad')](_0x39713c)-_0x35c8f0-0x1,_0x1391a4=Math[_0x1a4e('0x8e')](0x2,_0x39713c-0x1)+_0x35c8f0;_0x1391a4=Math['round'](_0x1391a4);var _0x48d411=_0x18c554[_0x1a4e('0x115')]('{z}',_0x39713c+0x1)['replace'](_0x1a4e('0x4745'),_0x2ab163)[_0x1a4e('0x115')](_0x1a4e('0x4746'),_0x1391a4),_0x5c6038=this['_proxy'];_0x370678(_0x5c6038)&&(_0x48d411=_0x5c6038[_0x1a4e('0x4cae')](_0x48d411));var _0x5b2ec3,_0x37c8c1,_0x7427a0=[];this[_0x1a4e('0x4c94')]&&this[_0x1a4e('0x4c93')]&&_0x7427a0[_0x1a4e('0x46')](this[_0x1a4e('0x4c96')]?_0x1a4e('0x4ca3'):_0x1a4e('0x4caf')),this[_0x1a4e('0x4c97')]&&this['_hasWaterMask']&&_0x7427a0[_0x1a4e('0x46')]('watermask');var _0x4ee22a=_0x199347[_0x1a4e('0x3bd1')](_0x48d411);_0x370678(_0x4ee22a[_0x1a4e('0x4cb0')])&&!_0x370678(_0x4ee22a[_0x1a4e('0x4cb0')][_0x1a4e('0x4cb1')])?(0x0!==_0x7427a0[_0x1a4e('0x1e')]&&(_0x37c8c1={'extensions':_0x7427a0[_0x1a4e('0x9e')]('-')}),_0x5b2ec3=_0x5e278a(void 0x0)):_0x5b2ec3=_0x5e278a(_0x7427a0);var _0x4a9a62=_0x4ee22a[_0x1a4e('0x3d73')]({'url':_0x48d411,'templateValues':{'version':_0x1a4e('0x4cb2'),'z':_0x39713c,'x':_0x2ab163,'y':_0x23664d},'queryParameters':_0x37c8c1,'headers':_0x5b2ec3,'request':_0x321302})[_0x1a4e('0x3c4f')]();if(_0x370678(_0x4a9a62)){var _0x51c1ea=this;return _0x4a9a62[_0x1a4e('0xdf8')](function(_0x2ab163){if(_0x370678(_0x51c1ea['_heightmapStructure']))return function(_0x2ab163,_0x35c8f0,_0x39713c,_0x321302,_0x18c554,_0x23664d){var _0x370678;if(_0x370678=_0x39713c<=_0x2ab163[_0x1a4e('0x4cb3')]?new Uint8Array([0xf])[0x0]:new Uint8Array([0x0])[0x0],_0x35c8f0['byteLength']>0x0){for(var _0x82a564=new Int16Array(_0x35c8f0,0x0,0x4101),_0x1391a4=0x0,_0x48d411=0x0;_0x48d411<_0x82a564['length'];_0x48d411++)_0x1391a4>_0x82a564[_0x48d411]&&(_0x1391a4=_0x82a564[_0x48d411]);for(var _0x199347=new Uint16Array(0x1081),_0x5c6038=0x0,_0x5b2ec3=0x0;_0x5b2ec3<0x81;_0x5b2ec3+=0x2)for(var _0x37c8c1=0x0;_0x37c8c1<0x81;_0x37c8c1+=0x2)_0x199347[_0x5c6038]=_0x82a564[0x81*_0x5b2ec3+_0x37c8c1]-_0x1391a4,_0x5c6038++;var _0x5e278a={'heightScale':0x1,'heightOffset':_0x1391a4,'elementsPerHeight':0x1,'stride':0x1,'elementMultiplier':0x100,'isBigEndian':!0x1,'lowestEncodedHeight':0x0,'highestEncodedHeight':0xffff};return new _0x19ae43({'buffer':_0x199347,'width':_0x2ab163['_heightmapWidth'],'height':_0x2ab163[_0x1a4e('0x4c90')],'structure':_0x5e278a,'createdByUpsampling':!0x0});}for(_0x199347=new Uint16Array(_0x2ab163[_0x1a4e('0x4c90')]*_0x2ab163[_0x1a4e('0x4c90')]),_0x48d411=0x0;_0x48d411<_0x199347[_0x1a4e('0x876')];_0x48d411++)_0x199347[_0x48d411]=0x0;return new _0x19ae43({'buffer':_0x199347,'childTileMask':_0x370678,'waterMask':new Uint8Array([0x0]),'width':_0x2ab163['_heightmapWidth'],'height':_0x2ab163[_0x1a4e('0x4c90')],'structure':_0x2ab163['_heightmapStructure']});}(_0x51c1ea,_0x2ab163,_0x39713c);});}}},Object[_0x1a4e('0x1c8')](_0x37c8c1[_0x1a4e('0xa')],{'errorEvent':{'get':function(){return this[_0x1a4e('0x4731')];}},'maxLevel':{'get':function(){return this[_0x1a4e('0x4cac')];},'set':function(_0x2ab163){this[_0x1a4e('0x4cac')]=_0x2ab163;}},'credit':{'get':function(){if(!this[_0x1a4e('0x3be8')])throw new _0x82a564(_0x1a4e('0x4cb4'));return this[_0x1a4e('0x3bd3')];}},'tilingScheme':{'get':function(){if(!this[_0x1a4e('0x3be8')])throw new _0x82a564('tilingScheme\x20must\x20not\x20be\x20called\x20before\x20the\x20terrain\x20provider\x20is\x20ready.');return this['_tilingScheme'];}},'ready':{'get':function(){return this[_0x1a4e('0x3be8')];}},'readyPromise':{'get':function(){return this['_readyPromise']['promise'];}},'hasWaterMask':{'get':function(){if(!this['_ready'])throw new _0x82a564(_0x1a4e('0x4cb5'));return this[_0x1a4e('0x4c9d')]&&this[_0x1a4e('0x4c97')];}},'hasVertexNormals':{'get':function(){if(!this[_0x1a4e('0x3be8')])throw new _0x82a564(_0x1a4e('0x4cb6'));return this[_0x1a4e('0x4c93')]&&this[_0x1a4e('0x4c94')];}},'requestVertexNormals':{'get':function(){return this[_0x1a4e('0x4c94')];}},'requestWaterMask':{'get':function(){return this[_0x1a4e('0x4c97')];}}}),_0x37c8c1['prototype'][_0x1a4e('0x4cb7')]=function(_0x2ab163){return this[_0x1a4e('0x4c91')]/(0x1<<_0x2ab163);},_0x37c8c1['prototype'][_0x1a4e('0x4cb8')]=function(_0x2ab163,_0x35c8f0,_0x39713c){return _0x39713c0x0&&(this[_0x1a4e('0x4cc0')]+='\x20'),this[_0x1a4e('0x4cc0')]+=_0x33383a['attribution']),this[_0x1a4e('0x3a31')]['push'](new _0x2f017b({'resource':this[_0x1a4e('0x4cc4')],'version':_0x33383a[_0x1a4e('0xb98')],'isHeightmap':_0x354d4e,'tileUrlTemplates':_0x5b903d,'availability':_0x1fb7e5,'hasVertexNormals':_0x1c69cc,'hasWaterMask':_0x51ef33,'hasMetadata':_0x3abdb,'availabilityLevels':_0x4f5d0d,'availabilityTilesLoaded':_0x186e02,'littleEndianExtensionSize':_0xe44939}));var _0x5807b3=_0x33383a['parentUrl'];if(_0x2a5dfd(_0x5807b3)){if(!_0x2a5dfd(_0x1fb7e5))return console[_0x1a4e('0x58')](_0x1a4e('0x4cdb')),Cesium[_0x1a4e('0x39fd')][_0x1a4e('0xe20')]();this['_lastResource']=this['_lastResource']['getDerivedResource']({'url':_0x5807b3}),this[_0x1a4e('0x4cc4')][_0x1a4e('0x4cdc')](),this[_0x1a4e('0x4cc5')]=this[_0x1a4e('0x4cc4')][_0x1a4e('0x3d73')]({'url':_0x1a4e('0x4cc6')});var _0x1ed239=this[_0x1a4e('0x4cc5')][_0x1a4e('0x4b10')]();return Cesium['when'](_0x1ed239,function(_0x33383a){_0x198b37[_0x1a4e('0x4cc9')](_0x33383a);})[_0x1a4e('0x3d12')](function(_0x33383a){_0x198b37[_0x1a4e('0x4cdd')](_0x33383a);});}return Cesium[_0x1a4e('0x39fd')][_0x1a4e('0xe20')]();},_0x33383a[_0x1a4e('0xa')]['metadataSuccess']=function(_0x33383a){var _0x198b37=this;this[_0x1a4e('0x4cc9')](_0x33383a)['then'](function(){if(!_0x2a5dfd(_0x198b37[_0x1a4e('0x4cca')])){var _0x33383a=_0x198b37[_0x1a4e('0x4cc1')]['length'];if(_0x33383a>0x0)for(var _0x4c3a9d=_0x198b37[_0x1a4e('0x4cde')]=new Cesium[(_0x1a4e('0x4cd4'))](_0x198b37['_tilingScheme'],_0x198b37['_overallMaxZoom']),_0x1c69cc=0x0;_0x1c69cc<_0x33383a;++_0x1c69cc)for(var _0x51ef33=_0x198b37[_0x1a4e('0x4cc1')][_0x1c69cc],_0x3abdb=0x0;_0x3abdb<_0x51ef33[_0x1a4e('0x1e')];++_0x3abdb){var _0xe44939=_0x51ef33[_0x3abdb];_0x4c3a9d[_0x1a4e('0x4cd9')](_0x1c69cc,_0xe44939[0x0],_0xe44939[0x1],_0xe44939[0x2],_0xe44939[0x3]);}if(_0x198b37[_0x1a4e('0x4cc0')]['length']>0x0){var _0x354d4e=new Cesium[(_0x1a4e('0x47eb'))](_0x198b37[_0x1a4e('0x4cc0')]);_0x2a5dfd(_0x198b37[_0x1a4e('0x4cbf')])?_0x198b37[_0x1a4e('0x4cbf')][_0x1a4e('0x46')](_0x354d4e):_0x198b37[_0x1a4e('0x4cbf')]=[_0x354d4e];}_0x198b37['_ready']=!0x0,_0x198b37[_0x1a4e('0x3be9')][_0x1a4e('0xe20')](!0x0);}});},_0x33383a[_0x1a4e('0xa')][_0x1a4e('0x4cdd')]=function(_0x33383a){var _0x198b37='An\x20error\x20occurred\x20while\x20accessing\x20'+this[_0x1a4e('0x4cc5')]['url']+'.';this[_0x1a4e('0x4cca')]=Cesium[_0x1a4e('0x47fa')][_0x1a4e('0x377d')](this[_0x1a4e('0x4cca')],this,this[_0x1a4e('0x4731')],_0x198b37,void 0x0,void 0x0,void 0x0,this[_0x1a4e('0x4cc8')]);},_0x33383a[_0x1a4e('0xa')][_0x1a4e('0x4cdf')]=function(_0x33383a){_0x2a5dfd(_0x33383a)&&0x194===_0x33383a[_0x1a4e('0x4ce0')]?this[_0x1a4e('0x4ce1')]({'tilejson':'2.1.0','format':_0x1a4e('0x4c9c'),'version':_0x1a4e('0x4cb2'),'scheme':_0x1a4e('0x4ca5'),'tiles':[_0x1a4e('0x4ce2')]}):this[_0x1a4e('0x4cdd')](_0x33383a);},_0x33383a[_0x1a4e('0xa')][_0x1a4e('0x4cc8')]=function(){var _0x33383a=this;Cesium[_0x1a4e('0x39fd')](this[_0x1a4e('0x4cc5')][_0x1a4e('0x4b10')](),null)[_0x1a4e('0xdf8')](function(_0x198b37){_0x33383a[_0x1a4e('0x4ce1')](_0x198b37);})[_0x1a4e('0x3d12')](function(_0x198b37){_0x33383a[_0x1a4e('0x4cdf')](_0x198b37);});},_0x33383a[_0x1a4e('0xa')][_0x1a4e('0x4ce3')]=function(_0x33383a,_0x198b37,_0x4c3a9d,_0x1c69cc){if(0x0!==_0x1c69cc){var _0x51ef33=_0x33383a[_0x1a4e('0x4ce4')],_0x2a5dfd=_0x1c69cc%_0x51ef33==0x0?_0x1c69cc-_0x51ef33:(_0x1c69cc/_0x51ef33|0x0)*_0x51ef33,_0x3abdb=0x1<<_0x1c69cc-_0x2a5dfd;return{'level':_0x2a5dfd,'x':_0x198b37/_0x3abdb|0x0,'y':_0x4c3a9d/_0x3abdb|0x0};}},_0x33383a[_0x1a4e('0xa')][_0x1a4e('0x4ce5')]=function(_0x33383a,_0x198b37,_0x4c3a9d,_0x1c69cc,_0x51ef33,_0x3abdb){if(!_0x2a5dfd(_0x51ef33[_0x1a4e('0x4ce4')]))return{'result':!0x1};for(var _0xe44939,_0x354d4e=function(){delete _0x51ef33[_0x1a4e('0x4ce6')][_0xe44939];},_0x4d80f9=_0x51ef33[_0x1a4e('0x4ce7')],_0x541b9e=_0x51ef33[_0x1a4e('0x4ce8')],_0x21a947=this[_0x1a4e('0x4ce3')](_0x51ef33,_0x198b37,_0x4c3a9d,_0x1c69cc);_0x2a5dfd(_0x21a947);){if(_0x541b9e[_0x1a4e('0x4ce9')](_0x21a947[_0x1a4e('0x2dd0')],_0x21a947['x'],_0x21a947['y'])&&!_0x4d80f9[_0x1a4e('0x4ce9')](_0x21a947[_0x1a4e('0x2dd0')],_0x21a947['x'],_0x21a947['y'])){var _0x46c6e3;if(!_0x3abdb&&(_0xe44939=_0x21a947[_0x1a4e('0x2dd0')]+'-'+_0x21a947['x']+'-'+_0x21a947['y'],_0x46c6e3=_0x51ef33['availabilityPromiseCache'][_0xe44939],!_0x2a5dfd(_0x46c6e3))){var _0x23534d=new Cesium[(_0x1a4e('0x4cea'))]({'throttle':!0x1,'throttleByServer':!0x0,'type':Cesium[_0x1a4e('0x4ceb')][_0x1a4e('0x44f0')]});_0x46c6e3=this[_0x1a4e('0x4cec')](_0x33383a,_0x21a947['x'],_0x21a947['y'],_0x21a947[_0x1a4e('0x2dd0')],_0x51ef33,_0x23534d),_0x2a5dfd(_0x46c6e3)&&(_0x51ef33[_0x1a4e('0x4ce6')][_0xe44939]=_0x46c6e3,_0x46c6e3[_0x1a4e('0xdf8')](_0x354d4e));}return{'result':!0x0,'promise':_0x46c6e3};}_0x21a947=this[_0x1a4e('0x4ce3')](_0x51ef33,_0x21a947['x'],_0x21a947['y'],_0x21a947[_0x1a4e('0x2dd0')]);}return{'result':!0x1};},_0x33383a['prototype']['getRequestHeader']=function(_0x33383a){return _0x2a5dfd(_0x33383a)&&0x0!==_0x33383a['length']?{'Accept':_0x1a4e('0x4ca6')+_0x33383a['join']('-')+_0x1a4e('0x4ca7')}:{'Accept':_0x1a4e('0x4ca8')};},_0x33383a[_0x1a4e('0xa')][_0x1a4e('0x4ced')]=function(_0x33383a,_0x198b37,_0x4c3a9d,_0x51ef33,_0x3abdb,_0x354d4e){var _0x3e6c82=_0x354d4e[_0x1a4e('0x4cee')],_0x48da31=0x0,_0x2ff0e9=0x3*Float64Array[_0x1a4e('0x45cc')],_0x212e3a=0x4*Float64Array[_0x1a4e('0x45cc')],_0x4c2408=0x3*Uint16Array[_0x1a4e('0x45cc')],_0x31037f=Uint16Array['BYTES_PER_ELEMENT'],_0x2a8c80=0x3*_0x31037f,_0x251e8c=new DataView(_0x198b37),_0x5c9672=new Cesium['Cartesian3'](_0x251e8c[_0x1a4e('0x4cef')](_0x48da31,!0x0),_0x251e8c[_0x1a4e('0x4cef')](_0x48da31+0x8,!0x0),_0x251e8c[_0x1a4e('0x4cef')](_0x48da31+0x10,!0x0));_0x48da31+=_0x2ff0e9;var _0x4024f2=_0x251e8c[_0x1a4e('0x4cf0')](_0x48da31,!0x0);_0x48da31+=Float32Array[_0x1a4e('0x45cc')];var _0x3ebea8=_0x251e8c['getFloat32'](_0x48da31,!0x0);_0x48da31+=Float32Array[_0x1a4e('0x45cc')];var _0x824d65=new Cesium[(_0x1a4e('0x3ac1'))](new Cesium[(_0x1a4e('0x393e'))](_0x251e8c[_0x1a4e('0x4cef')](_0x48da31,!0x0),_0x251e8c[_0x1a4e('0x4cef')](_0x48da31+0x8,!0x0),_0x251e8c[_0x1a4e('0x4cef')](_0x48da31+0x10,!0x0)),_0x251e8c[_0x1a4e('0x4cef')](_0x48da31+_0x2ff0e9,!0x0));_0x48da31+=_0x212e3a;var _0x370be7=new Cesium[(_0x1a4e('0x393e'))](_0x251e8c[_0x1a4e('0x4cef')](_0x48da31,!0x0),_0x251e8c[_0x1a4e('0x4cef')](_0x48da31+0x8,!0x0),_0x251e8c['getFloat64'](_0x48da31+0x10,!0x0));_0x48da31+=_0x2ff0e9;var _0x2495cd=_0x251e8c[_0x1a4e('0x4cf1')](_0x48da31,!0x0);_0x48da31+=Uint32Array[_0x1a4e('0x45cc')];var _0x84294b=new Uint16Array(_0x198b37,_0x48da31,0x3*_0x2495cd);_0x48da31+=_0x2495cd*_0x4c2408,_0x2495cd>0x10000&&(_0x2a8c80=0x3*(_0x31037f=Uint32Array[_0x1a4e('0x45cc')]));var _0x210118=_0x84294b['subarray'](0x0,_0x2495cd),_0x51d24a=_0x84294b[_0x1a4e('0xad8')](_0x2495cd,0x2*_0x2495cd),_0x213470=_0x84294b['subarray'](0x2*_0x2495cd,0x3*_0x2495cd);Cesium[_0x1a4e('0x4cf2')][_0x1a4e('0x4cf3')](_0x210118,_0x51d24a,_0x213470),_0x48da31%_0x31037f!=0x0&&(_0x48da31+=_0x31037f-_0x48da31%_0x31037f);var _0x2147ca=_0x251e8c[_0x1a4e('0x4cf1')](_0x48da31,!0x0);_0x48da31+=Uint32Array[_0x1a4e('0x45cc')];var _0x139f26=Cesium[_0x1a4e('0x3aba')][_0x1a4e('0x4cf4')](_0x2495cd,_0x198b37,_0x48da31,0x3*_0x2147ca);_0x48da31+=_0x2147ca*_0x2a8c80;for(var _0x261525=0x0,_0x4b3c03=_0x139f26[_0x1a4e('0x1e')],_0x212898=0x0;_0x212898<_0x4b3c03;++_0x212898){var _0x1f92c9=_0x139f26[_0x212898];_0x139f26[_0x212898]=_0x261525-_0x1f92c9,0x0===_0x1f92c9&&++_0x261525;}var _0x3ca2df=_0x251e8c[_0x1a4e('0x4cf1')](_0x48da31,!0x0);_0x48da31+=Uint32Array['BYTES_PER_ELEMENT'];var _0x726388=Cesium[_0x1a4e('0x3aba')]['createTypedArrayFromArrayBuffer'](_0x2495cd,_0x198b37,_0x48da31,_0x3ca2df);_0x48da31+=_0x3ca2df*_0x31037f;var _0x39d112=_0x251e8c['getUint32'](_0x48da31,!0x0);_0x48da31+=Uint32Array[_0x1a4e('0x45cc')];var _0x5145a4=Cesium[_0x1a4e('0x3aba')][_0x1a4e('0x4cf4')](_0x2495cd,_0x198b37,_0x48da31,_0x39d112);_0x48da31+=_0x39d112*_0x31037f;var _0x46f9b6=_0x251e8c[_0x1a4e('0x4cf1')](_0x48da31,!0x0);_0x48da31+=Uint32Array[_0x1a4e('0x45cc')];var _0x5a4bf4=Cesium[_0x1a4e('0x3aba')][_0x1a4e('0x4cf4')](_0x2495cd,_0x198b37,_0x48da31,_0x46f9b6);_0x48da31+=_0x46f9b6*_0x31037f;var _0xbf96eb=_0x251e8c[_0x1a4e('0x4cf1')](_0x48da31,!0x0);_0x48da31+=Uint32Array[_0x1a4e('0x45cc')];var _0x431e70,_0x1ad59a,_0x33d8d1=Cesium[_0x1a4e('0x3aba')][_0x1a4e('0x4cf4')](_0x2495cd,_0x198b37,_0x48da31,_0xbf96eb);for(_0x48da31+=_0xbf96eb*_0x31037f;_0x48da31<_0x251e8c[_0x1a4e('0x876')];){var _0x3252df=_0x251e8c[_0x1a4e('0x4cf5')](_0x48da31);_0x48da31+=Uint8Array[_0x1a4e('0x45cc')];var _0x27ae82=_0x251e8c[_0x1a4e('0x4cf1')](_0x48da31,_0x3e6c82);if(_0x48da31+=Uint32Array[_0x1a4e('0x45cc')],_0x3252df===_0x1c69cc['OCT_VERTEX_NORMALS']&&_0x33383a[_0x1a4e('0x4c94')])_0x431e70=new Uint8Array(_0x198b37,_0x48da31,0x2*_0x2495cd);else if(_0x3252df===_0x1c69cc['WATER_MASK']&&_0x33383a[_0x1a4e('0x4c97')])_0x1ad59a=new Uint8Array(_0x198b37,_0x48da31,_0x27ae82);else if(_0x3252df===_0x1c69cc[_0x1a4e('0x4cf6')]&&_0x33383a[_0x1a4e('0x4cbd')]){var _0x3ead50=_0x251e8c['getUint32'](_0x48da31,!0x0);if(_0x3ead50>0x0){var _0x573f34=Cesium[_0x1a4e('0x4cf7')](new Uint8Array(_0x198b37),_0x48da31+Uint32Array[_0x1a4e('0x45cc')],_0x3ead50)[_0x1a4e('0x4cd3')];if(_0x2a5dfd(_0x573f34))for(var _0x2908bd=0x0;_0x2908bd<_0x573f34['length'];++_0x2908bd)for(var _0x3abd36=_0x4c3a9d+_0x2908bd+0x1,_0x3bb253=_0x573f34[_0x2908bd],_0x1527d8=_0x33383a[_0x1a4e('0x4734')][_0x1a4e('0x4cad')](_0x3abd36),_0xe5c370=0x0;_0xe5c370<_0x3bb253['length'];++_0xe5c370){var _0x3fab70=_0x3bb253[_0xe5c370],_0x166455=_0x1527d8-_0x3fab70[_0x1a4e('0x4cd5')]-0x1,_0xfda35f=_0x1527d8-_0x3fab70[_0x1a4e('0x4cd6')]-0x1;_0x33383a['availability'][_0x1a4e('0x4cd9')](_0x3abd36,_0x3fab70[_0x1a4e('0x4cd7')],_0x166455,_0x3fab70[_0x1a4e('0x4cd8')],_0xfda35f),_0x354d4e['availability'][_0x1a4e('0x4cd9')](_0x3abd36,_0x3fab70[_0x1a4e('0x4cd7')],_0x166455,_0x3fab70['endX'],_0xfda35f);}}_0x354d4e[_0x1a4e('0x4ce7')][_0x1a4e('0x4cd9')](_0x4c3a9d,_0x51ef33,_0x3abdb,_0x51ef33,_0x3abdb);}_0x48da31+=_0x27ae82;}var _0x16f683=0x5*_0x33383a['getLevelMaximumGeometricError'](_0x4c3a9d),_0x31cd29=_0x33383a[_0x1a4e('0x4734')][_0x1a4e('0x4cf8')](_0x51ef33,_0x3abdb,_0x4c3a9d),_0x272001=Cesium[_0x1a4e('0x4cf9')]['fromRectangle'](_0x31cd29,_0x4024f2,_0x3ebea8,_0x33383a[_0x1a4e('0x4734')][_0x1a4e('0x38dc')]);return new _0xe44939({'center':_0x5c9672,'minimumHeight':_0x4024f2,'maximumHeight':_0x3ebea8,'boundingSphere':_0x824d65,'orientedBoundingBox':_0x272001,'horizonOcclusionPoint':_0x370be7,'quantizedVertices':_0x84294b,'encodedNormals':_0x431e70,'indices':_0x139f26,'westIndices':_0x726388,'southIndices':_0x5145a4,'eastIndices':_0x5a4bf4,'northIndices':_0x33d8d1,'westSkirtHeight':_0x16f683,'southSkirtHeight':_0x16f683,'eastSkirtHeight':_0x16f683,'northSkirtHeight':_0x16f683,'childTileMask':_0x33383a['availability']['computeChildMaskForTile'](_0x4c3a9d,_0x51ef33,_0x3abdb),'waterMask':_0x1ad59a,'credits':_0x33383a[_0x1a4e('0x4cbf')]});},_0x33383a[_0x1a4e('0xa')][_0x1a4e('0x4cfa')]=function(_0x33383a,_0x198b37,_0x4c3a9d,_0x1c69cc,_0x51ef33){var _0x2a5dfd=new Uint16Array(_0x198b37,0x0,_0x33383a[_0x1a4e('0x4c90')]*_0x33383a[_0x1a4e('0x4c90')]);return new _0x3abdb({'buffer':_0x2a5dfd,'childTileMask':new Uint8Array(_0x198b37,_0x2a5dfd['byteLength'],0x1)[0x0],'waterMask':new Uint8Array(_0x198b37,_0x2a5dfd['byteLength']+0x1,_0x198b37[_0x1a4e('0x876')]-_0x2a5dfd['byteLength']-0x1),'width':_0x33383a[_0x1a4e('0x4c90')],'height':_0x33383a['_heightmapWidth'],'structure':_0x33383a['_heightmapStructure'],'credits':_0x33383a[_0x1a4e('0x4cbf')]});},_0x33383a[_0x1a4e('0xa')][_0x1a4e('0x4ca9')]=function(_0x33383a,_0x198b37,_0x4c3a9d,_0x1c69cc){if(!this[_0x1a4e('0x3be8')])throw new Cesium[(_0x1a4e('0x3b9c'))](_0x1a4e('0x4caa'));var _0x51ef33,_0x3abdb=this[_0x1a4e('0x3a31')],_0xe44939=_0x3abdb[_0x1a4e('0x1e')];if(0x1===_0xe44939)_0x51ef33=_0x3abdb[0x0];else for(var _0x354d4e=0x0;_0x354d4e<_0xe44939;++_0x354d4e){var _0x1547ba=_0x3abdb[_0x354d4e];if(!_0x2a5dfd(_0x1547ba[_0x1a4e('0x4ce8')])||_0x1547ba['availability'][_0x1a4e('0x4ce9')](_0x4c3a9d,_0x33383a,_0x198b37)){_0x51ef33=_0x1547ba;break;}}return this['requestTile'](this,_0x33383a,_0x198b37,_0x4c3a9d,_0x51ef33,_0x1c69cc);},_0x33383a[_0x1a4e('0xa')][_0x1a4e('0x4cec')]=function(_0x33383a,_0x198b37,_0x4c3a9d,_0x1c69cc,_0x51ef33,_0x3abdb){var _0xe44939=this;if(!_0x2a5dfd(_0x51ef33))return Cesium['when']['reject'](new Cesium[(_0x1a4e('0x4cfb'))]('Terrain\x20tile\x20doesn\x27t\x20exist'));var _0x354d4e=_0x51ef33[_0x1a4e('0x4cfc')];if(0x0!==_0x354d4e[_0x1a4e('0x1e')]){var _0x539199;if(_0x33383a[_0x1a4e('0x4cd1')]&&_0x1a4e('0x4ca5')!==_0x33383a[_0x1a4e('0x4cd1')])_0x539199=_0x4c3a9d;else _0x539199=_0x33383a[_0x1a4e('0x4734')][_0x1a4e('0x4cad')](_0x1c69cc)-_0x4c3a9d-0x1;var _0x22353a,_0x5a2f63,_0x58d6a4=[];_0x33383a[_0x1a4e('0x4c94')]&&_0x51ef33['hasVertexNormals']&&_0x58d6a4[_0x1a4e('0x46')](_0x51ef33['littleEndianExtensionSize']?_0x1a4e('0x4ca3'):_0x1a4e('0x4caf')),_0x33383a[_0x1a4e('0x4c97')]&&_0x51ef33[_0x1a4e('0x4cfd')]&&_0x58d6a4['push'](_0x1a4e('0x4ca4')),_0x33383a[_0x1a4e('0x4cbd')]&&_0x51ef33[_0x1a4e('0x4cfe')]&&_0x58d6a4[_0x1a4e('0x46')]('metadata');var _0xa9fec4=_0x354d4e[(_0x198b37+_0x539199+_0x1c69cc)%_0x354d4e[_0x1a4e('0x1e')]],_0x1e02e0=_0x51ef33[_0x1a4e('0x4cff')];_0x2a5dfd(_0x1e02e0[_0x1a4e('0x4cb0')])&&!_0x2a5dfd(_0x1e02e0[_0x1a4e('0x4cb0')][_0x1a4e('0x4cb1')])?(0x0!==_0x58d6a4[_0x1a4e('0x1e')]&&(_0x5a2f63={'extensions':_0x58d6a4[_0x1a4e('0x9e')]('-')}),_0x22353a=this['getRequestHeader'](void 0x0)):_0x22353a=this[_0x1a4e('0x4d00')](_0x58d6a4);var _0xeeda6c=_0x1e02e0[_0x1a4e('0x3d73')]({'url':_0xa9fec4,'templateValues':{'version':_0x51ef33[_0x1a4e('0xb98')],'z':_0x1c69cc,'x':_0x198b37,'y':_0x539199},'queryParameters':_0x5a2f63,'headers':_0x22353a,'request':_0x3abdb})[_0x1a4e('0x3c4f')]();if(_0x2a5dfd(_0xeeda6c))return _0xeeda6c[_0x1a4e('0xdf8')](function(_0x3abdb){return _0x2a5dfd(_0x33383a[_0x1a4e('0x4c92')])?_0xe44939[_0x1a4e('0x4cfa')](_0x33383a,_0x3abdb,_0x1c69cc,_0x198b37,_0x4c3a9d):_0xe44939[_0x1a4e('0x4ced')](_0x33383a,_0x3abdb,_0x1c69cc,_0x198b37,_0x4c3a9d,_0x51ef33);});}},_0x33383a['prototype']['getTileDataAvailable']=function(_0x33383a,_0x198b37,_0x4c3a9d){if(_0x2a5dfd(this[_0x1a4e('0x4cde')])){if(_0x4c3a9d>this[_0x1a4e('0x4cde')]['_maximumLevel'])return!0x1;if(this[_0x1a4e('0x4cde')]['isTileAvailable'](_0x4c3a9d,_0x33383a,_0x198b37))return!0x0;if(!this[_0x1a4e('0x4cda')])return!0x1;for(var _0x1c69cc=this[_0x1a4e('0x3a31')],_0x51ef33=_0x1c69cc[_0x1a4e('0x1e')],_0x3abdb=0x0;_0x3abdb<_0x51ef33;++_0x3abdb){if(this[_0x1a4e('0x4ce5')](this,_0x33383a,_0x198b37,_0x4c3a9d,_0x1c69cc[_0x3abdb],0x0===_0x3abdb)['result'])return;}return!0x1;}},_0x33383a['prototype'][_0x1a4e('0x4cb7')]=function(_0x33383a){return this[_0x1a4e('0x4c91')]/(0x1<<_0x33383a);},Object['defineProperty'](_0x33383a[_0x1a4e('0xa')],'errorEvent',{'get':function(){return this[_0x1a4e('0x4731')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x33383a[_0x1a4e('0xa')],_0x1a4e('0x3bd2'),{'get':function(){if(!this[_0x1a4e('0x3be8')])throw new Cesium[(_0x1a4e('0x3b9c'))](_0x1a4e('0x4cb4'));return this['_credit'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x33383a['prototype'],_0x1a4e('0x473e'),{'get':function(){if(!this[_0x1a4e('0x3be8')])throw new Cesium['DeveloperError']('tilingScheme\x20must\x20not\x20be\x20called\x20before\x20the\x20terrain\x20provider\x20is\x20ready.');return this[_0x1a4e('0x4734')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x33383a[_0x1a4e('0xa')],'ready',{'get':function(){return this[_0x1a4e('0x3be8')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x33383a[_0x1a4e('0xa')],'readyPromise',{'get':function(){return this[_0x1a4e('0x3be9')]['promise'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x33383a['prototype'],'hasWaterMask',{'get':function(){if(!this[_0x1a4e('0x3be8')])throw new Cesium['DeveloperError'](_0x1a4e('0x4cb5'));return this['_hasWaterMask']&&this[_0x1a4e('0x4c97')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x33383a[_0x1a4e('0xa')],_0x1a4e('0x4d01'),{'get':function(){if(!this[_0x1a4e('0x3be8')])throw new Cesium['DeveloperError']('hasVertexNormals\x20must\x20not\x20be\x20called\x20before\x20the\x20terrain\x20provider\x20is\x20ready.');return this['_hasVertexNormals']&&this[_0x1a4e('0x4c94')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x33383a['prototype'],'hasMetadata',{'get':function(){if(!this['_ready'])throw new Cesium[(_0x1a4e('0x3b9c'))](_0x1a4e('0x4d02'));return this[_0x1a4e('0x4cda')]&&this[_0x1a4e('0x4cbd')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x33383a[_0x1a4e('0xa')],_0x1a4e('0x4c95'),{'get':function(){return this['_requestVertexNormals'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x33383a[_0x1a4e('0xa')],'requestWaterMask',{'get':function(){return this[_0x1a4e('0x4c97')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x33383a[_0x1a4e('0xa')],_0x1a4e('0x4cbe'),{'get':function(){return this['_requestMetadata'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x33383a['prototype'],_0x1a4e('0x4ce8'),{'get':function(){if(!this[_0x1a4e('0x3be8')])throw new Cesium['DeveloperError']('availability\x20must\x20not\x20be\x20called\x20before\x20the\x20terrain\x20provider\x20is\x20ready.');return this['_availability'];},'enumerable':!0x0,'configurable':!0x0}),_0x33383a;}();!function(_0x33383a){_0x33383a[_0x33383a[_0x1a4e('0x4d03')]=0x1]=_0x1a4e('0x4d03'),_0x33383a[_0x33383a[_0x1a4e('0x4d04')]=0x2]=_0x1a4e('0x4d04'),_0x33383a[_0x33383a[_0x1a4e('0x4cf6')]=0x4]=_0x1a4e('0x4cf6');}(_0x1c69cc||(_0x1c69cc={}));var _0x2f017b=function(_0x33383a){this[_0x1a4e('0x4cff')]=_0x33383a[_0x1a4e('0x4cff')],this['version']=_0x33383a[_0x1a4e('0xb98')],this[_0x1a4e('0x4d05')]=_0x33383a['isHeightmap'],this['tileUrlTemplates']=_0x33383a[_0x1a4e('0x4cfc')],this[_0x1a4e('0x4ce8')]=_0x33383a['availability'],this[_0x1a4e('0x4d01')]=_0x33383a['hasVertexNormals'],this[_0x1a4e('0x4cfd')]=_0x33383a['hasWaterMask'],this[_0x1a4e('0x4cfe')]=_0x33383a[_0x1a4e('0x4cfe')],this[_0x1a4e('0x4ce4')]=_0x33383a[_0x1a4e('0x4ce4')],this[_0x1a4e('0x4ce7')]=_0x33383a[_0x1a4e('0x4ce7')],this[_0x1a4e('0x4cee')]=_0x33383a['littleEndianExtensionSize'],this[_0x1a4e('0x4ce6')]={};};},'./src/LayerManager/TerrainLayer/TMSTerrainProvider.ts':function(_0x28c2a2,_0x5d9fc9,_0x52aa3){'use strict';_0x52aa3['r'](_0x5d9fc9),_0x52aa3['d'](_0x5d9fc9,_0x1a4e('0x4d06'),function(){return _0x5a9eaf;});var _0x23c82d,_0x5ce503=_0x52aa3(_0x1a4e('0x4d07')),_0x36a66c=(_0x23c82d=function(_0x28c2a2,_0x5d9fc9){return(_0x23c82d=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x28c2a2,_0x5d9fc9){_0x28c2a2[_0x1a4e('0x295')]=_0x5d9fc9;}||function(_0x28c2a2,_0x5d9fc9){for(var _0x52aa3 in _0x5d9fc9)_0x5d9fc9[_0x1a4e('0xb')](_0x52aa3)&&(_0x28c2a2[_0x52aa3]=_0x5d9fc9[_0x52aa3]);})(_0x28c2a2,_0x5d9fc9);},function(_0x28c2a2,_0x5d9fc9){function _0x52aa3(){this[_0x1a4e('0x10')]=_0x28c2a2;}_0x23c82d(_0x28c2a2,_0x5d9fc9),_0x28c2a2['prototype']=null===_0x5d9fc9?Object[_0x1a4e('0x7')](_0x5d9fc9):(_0x52aa3[_0x1a4e('0xa')]=_0x5d9fc9[_0x1a4e('0xa')],new _0x52aa3());}),_0x1f4c9b=(Cesium[_0x1a4e('0x3a46')],Cesium[_0x1a4e('0x3a0b')]),_0xb7801=Cesium[_0x1a4e('0x4cba')],_0x5c9e63=Cesium[_0x1a4e('0x4cbb')],_0x5a9eaf=function(_0x28c2a2){function _0x5d9fc9(_0x5d9fc9){var _0x52aa3=this;_0x5d9fc9[_0x1a4e('0x4cc3')]=!0x0,(_0x52aa3=_0x28c2a2['call'](this,_0x5d9fc9)||this)['_tileSets']=[];var _0x23c82d=Cesium['when'][_0x1a4e('0x1049')]();return _0x52aa3[_0x1a4e('0x3be8')]=!0x1,_0x52aa3['_readyPromise']=_0x23c82d,Cesium[_0x1a4e('0x39fd')](_0x5d9fc9[_0x1a4e('0x15cf')],null)['then'](function(_0x28c2a2){var _0x5d9fc9=Cesium[_0x1a4e('0x3ba6')]['createIfNeeded'](_0x28c2a2);_0x5d9fc9[_0x1a4e('0x4cdc')](),_0x52aa3[_0x1a4e('0x4cc4')]=_0x5d9fc9,_0x52aa3[_0x1a4e('0x4cc5')]=_0x52aa3[_0x1a4e('0x4cc4')][_0x1a4e('0x240')](),_0x52aa3[_0x1a4e('0x4cbf')]=_0x5d9fc9[_0x1a4e('0x4cc7')],_0x52aa3[_0x1a4e('0x4d08')]();})[_0x1a4e('0x3d12')](function(_0x28c2a2){_0x23c82d['reject'](_0x28c2a2);}),_0x52aa3;}return _0x36a66c(_0x5d9fc9,_0x28c2a2),_0x5d9fc9[_0x1a4e('0xa')]['xmlSuccess']=function(_0x28c2a2){var _0x5d9fc9=_0x28c2a2[_0x1a4e('0x4d09')](_0x1a4e('0x4d0a'))[0x0],_0x52aa3=_0x5d9fc9[_0x1a4e('0x41c8')](_0x1a4e('0xb98')),_0x23c82d=(_0x5d9fc9[_0x1a4e('0x41c8')](_0x1a4e('0x4d0b')),_0x28c2a2[_0x1a4e('0x4d09')](_0x1a4e('0x4d0c'))[0x0]['childNodes'][0x0][_0x1a4e('0x4d0d')],_0x28c2a2[_0x1a4e('0x4d09')](_0x1a4e('0x4d0e'))[0x0][_0x1a4e('0x4d0f')][0x0][_0x1a4e('0x4d0d')]),_0x36a66c=_0x28c2a2[_0x1a4e('0x4d09')](_0x1a4e('0x4d10'))[0x0],_0xb7801=_0x36a66c[_0x1a4e('0x41c8')](_0x1a4e('0x4d11')),_0x5c9e63=_0x36a66c[_0x1a4e('0x41c8')](_0x1a4e('0x4d12')),_0x5a9eaf=_0x36a66c[_0x1a4e('0x41c8')](_0x1a4e('0x4d13')),_0x140778=_0x36a66c[_0x1a4e('0x41c8')]('maxy'),_0x56781d=new Cesium['Rectangle'](_0xb7801<-0xb4?-0xb4:_0xb7801,_0x5c9e63<-0x5a?-0x5a:_0x5c9e63,_0x5a9eaf>0xb4?0xb4:_0x5a9eaf,_0x140778>0x5a?0x5a:_0x140778),_0x326976=_0x28c2a2[_0x1a4e('0x4d09')](_0x1a4e('0x4d14'))[0x0],_0x2ab66a=(new Cesium['Cartesian2'](_0x326976[_0x1a4e('0x41c8')]('x'),_0x326976[_0x1a4e('0x41c8')]('y')),_0x28c2a2[_0x1a4e('0x4d09')](_0x1a4e('0x4d15'))[0x0]);this[_0x1a4e('0x47b3')]=parseInt(_0x2ab66a[_0x1a4e('0x41c8')](_0x1a4e('0x3936'))),this[_0x1a4e('0x399c')]=parseInt(_0x2ab66a[_0x1a4e('0x41c8')](_0x1a4e('0x152'))),this['_dataFormat']=_0x2ab66a[_0x1a4e('0x41c8')](_0x1a4e('0x4d16')),this[_0x1a4e('0x4d17')]=_0x2ab66a[_0x1a4e('0x41c8')](_0x1a4e('0x2319'));var _0x2fee87=_0x28c2a2[_0x1a4e('0x4d09')](_0x1a4e('0x4d18'))[0x0],_0x2499bb=[];this['_overallMaxZoom']=0x0;for(var _0x37af83='/{x}/{y}.'+this['_dataExtension'],_0x585154=0x0;_0x585154<_0x2fee87[_0x1a4e('0x6f')][_0x1a4e('0x1e')];_0x585154++){var _0x1fb4d8=_0x2fee87[_0x1a4e('0x6f')][_0x585154],_0x4a38b1=new _0x2c530a();_0x4a38b1[_0x1a4e('0xe3b')]=_0x1fb4d8['getAttribute'](_0x1a4e('0xe3b')),_0x4a38b1['unitsPerPixel']=_0x1fb4d8[_0x1a4e('0x41c8')](_0x1a4e('0x4d19')),_0x4a38b1[_0x1a4e('0x933')]=_0x1fb4d8['getAttribute'](_0x1a4e('0x933')),_0x4a38b1[_0x1a4e('0x933')]>this['_overallMaxZoom']&&(this[_0x1a4e('0x4cc2')]=_0x4a38b1[_0x1a4e('0x933')]),_0x2499bb[_0x1a4e('0x46')](_0x4a38b1);}if(0x0!==_0x2499bb[_0x1a4e('0x1e')]){this['_tileSets']=_0x2499bb;if(_0x1f4c9b(this[_0x1a4e('0x4c92')])||(this[_0x1a4e('0x4c92')]={'heightScale':0.2,'heightOffset':-0x3e8,'elementsPerHeight':0x1,'stride':0x1,'elementMultiplier':0x100,'isBigEndian':!0x1,'lowestEncodedHeight':0x0,'highestEncodedHeight':0xffff}),_0x23c82d&&'EPSG:4326'!==_0x23c82d){if('EPSG:3857'!==_0x23c82d){var _0x2e5a86=_0x1a4e('0x4ccd')+_0x23c82d+_0x1a4e('0x4ca0');return void(this[_0x1a4e('0x4cca')]=Cesium[_0x1a4e('0x47fa')][_0x1a4e('0x377d')](this[_0x1a4e('0x4cca')],this,this[_0x1a4e('0x4731')],_0x2e5a86,void 0x0,void 0x0,void 0x0,this[_0x1a4e('0x4cc8')]));}this[_0x1a4e('0x4734')]=new Cesium[(_0x1a4e('0x4735'))]({'numberOfLevelZeroTilesX':0x1,'numberOfLevelZeroTilesY':0x1,'ellipsoid':this[_0x1a4e('0x4cbc')]});}else this[_0x1a4e('0x4734')]=new Cesium['GeographicTilingScheme']({'numberOfLevelZeroTilesX':0x2,'numberOfLevelZeroTilesY':0x1,'ellipsoid':this[_0x1a4e('0x4cbc')]});this['_levelZeroMaximumGeometricError']=Cesium[_0x1a4e('0x4c8e')][_0x1a4e('0x4cce')](this[_0x1a4e('0x4734')][_0x1a4e('0x38dc')],this[_0x1a4e('0x4c90')],this[_0x1a4e('0x4734')]['getNumberOfXTilesAtLevel'](0x0)),this[_0x1a4e('0x4cd1')]=_0x1a4e('0x4ca5');for(var _0x712348=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x38db')](_0x56781d[_0x1a4e('0x3950')],_0x56781d[_0x1a4e('0x394f')]),_0x2beb82=Cesium['Cartographic']['fromDegrees'](_0x56781d[_0x1a4e('0x394e')],_0x56781d[_0x1a4e('0x403b')]),_0x3d8dda=0x0;_0x3d8dda<_0x2499bb['length'];_0x3d8dda++){_0x1f4c9b(this[_0x1a4e('0x4cc1')][_0x3d8dda])||(this['_overallAvailability'][_0x3d8dda]=[]);var _0x25dc1e=this['_tilingScheme'][_0x1a4e('0x4d1a')](_0x712348,_0x3d8dda),_0x317df9=this['_tilingScheme'][_0x1a4e('0x4d1a')](_0x2beb82,_0x3d8dda),_0x1d9003=_0x25dc1e['x']>_0x317df9['x']?_0x317df9['x']:_0x25dc1e['x'],_0x568b91=_0x25dc1e['x']>_0x317df9['x']?_0x25dc1e['x']:_0x317df9['x'],_0x1088e8=_0x25dc1e['y']>_0x317df9['y']?_0x317df9['y']:_0x25dc1e['y'],_0x576f99=_0x25dc1e['y']>_0x317df9['y']?_0x25dc1e['y']:_0x317df9['y'];this[_0x1a4e('0x4cc1')][_0x3d8dda][_0x1a4e('0x46')]([_0x1d9003,_0x1088e8,_0x568b91,_0x576f99]);}this[_0x1a4e('0x4c9d')]=this['_hasWaterMask']||!0x1,this['_hasVertexNormals']=this['_hasVertexNormals']||!0x1,this['_hasMetadata']=this[_0x1a4e('0x4cda')]||!0x1,this[_0x1a4e('0x3a31')][_0x1a4e('0x46')](new _0x5ce503[(_0x1a4e('0x4cb9'))]({'resource':this['_lastResource'],'version':_0x52aa3,'isHeightmap':!0x1,'tileUrlTemplates':_0x37af83,'availability':void 0x0,'hasVertexNormals':!0x1,'hasWaterMask':!0x1,'hasMetadata':!0x1,'availabilityLevels':void 0x0,'availabilityTilesLoaded':void 0x0,'littleEndianExtensionSize':!0x0})),this['_ready']=!0x0,this[_0x1a4e('0x3be9')][_0x1a4e('0xe20')](!0x0);}},_0x5d9fc9[_0x1a4e('0xa')][_0x1a4e('0x4d1b')]=function(_0x28c2a2){var _0x5d9fc9=_0x1a4e('0x4d1c')+this[_0x1a4e('0x4cc5')][_0x1a4e('0x15cf')]+'.';this[_0x1a4e('0x4cca')]=Cesium[_0x1a4e('0x47fa')]['handleError'](this[_0x1a4e('0x4cca')],this,this['_errorEvent'],_0x5d9fc9,void 0x0,void 0x0,void 0x0,this[_0x1a4e('0x4d08')]);},_0x5d9fc9[_0x1a4e('0xa')][_0x1a4e('0x4d08')]=function(){var _0x28c2a2=this;Cesium[_0x1a4e('0x39fd')](this['_layerJsonResource']['fetchXML'](),null)['then'](function(_0x5d9fc9){_0x28c2a2['xmlSuccess'](_0x5d9fc9);})[_0x1a4e('0x3d12')](function(_0x5d9fc9){_0x28c2a2['xmlFailure'](_0x5d9fc9);});},_0x5d9fc9[_0x1a4e('0xa')][_0x1a4e('0x4d1d')]=function(_0x28c2a2){for(var _0x5d9fc9=0x0;_0x5d9fc90x10000?(_0x38b6b0=new Uint32Array((_0x40e256-0x1)*(_0x50e058-0x1)*0x2*0x3),_0x54d757=new Uint32Array(_0x50e058),_0x4fe5b4=new Uint32Array(_0x40e256),_0x549ae2=new Uint32Array(_0x50e058),_0x28be40=new Uint32Array(_0x40e256)):(_0x38b6b0=new Uint16Array((_0x40e256-0x1)*(_0x50e058-0x1)*0x2*0x3),_0x54d757=new Uint16Array(_0x50e058),_0x4fe5b4=new Uint16Array(_0x40e256),_0x549ae2=new Uint16Array(_0x50e058),_0x28be40=new Uint16Array(_0x40e256));var _0x164293,_0x4796d7,_0x2d4c29,_0x19fed5=[];return Cesium[_0x1a4e('0x39fd')](_0x5b48dd,function(_0x28c2a2){for(var _0x5d9fc9=(_0x28c2a2[_0x1a4e('0x3950')]-_0x28c2a2[_0x1a4e('0x394e')])/(_0x40e256-0x1),_0x52aa3=(_0x28c2a2[_0x1a4e('0x403b')]-_0x28c2a2[_0x1a4e('0x394f')])/(_0x50e058-0x1),_0x23c82d=0x0;_0x23c82d<_0x50e058;_0x23c82d++)for(var _0x5ce503=0x0;_0x5ce503<_0x40e256;_0x5ce503++){var _0x5c9e63=_0x225523[_0x1a4e('0x4d25')](_0x5ce503,_0x23c82d,_0x40e256,_0x50e058,0.5),_0x38b6b0=_0x312c61[_0x5c9e63];void 0x0===_0x38b6b0&&console['log'](_0x1a4e('0x4d26')),-0x8000===_0x38b6b0&&(_0x312c61[_0x5c9e63]=0x0,_0x38b6b0=0x0),_0x38b6b0<_0x43ae63&&(_0x43ae63=_0x38b6b0),_0x38b6b0>_0x589d1a&&(_0x589d1a=_0x38b6b0);var _0x54d757=_0x28c2a2[_0x1a4e('0x394e')]+_0x5d9fc9*_0x5ce503,_0x4fe5b4=_0x28c2a2[_0x1a4e('0x394f')]+_0x52aa3*_0x23c82d,_0x549ae2=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a30')](_0x54d757,_0x4fe5b4,_0x38b6b0);_0x19fed5[_0x1a4e('0x46')](_0x549ae2),_0x549ae2['x']<_0x36a66c&&(_0x36a66c=_0x549ae2['x']),_0x549ae2['x']>_0x5a9eaf&&(_0x5a9eaf=_0x549ae2['x']),_0x549ae2['y']<_0x1f4c9b&&(_0x1f4c9b=_0x549ae2['y']),_0x549ae2['y']>_0x2c530a&&(_0x2c530a=_0x549ae2['y']),_0x549ae2['z']<_0xb7801&&(_0xb7801=_0x549ae2['z']),_0x549ae2['z']>_0x388d8e&&(_0x388d8e=_0x549ae2['z']);}_0x164293=new Cesium['Cartesian3']((_0x36a66c+_0x5a9eaf)/0x2,(_0x1f4c9b+_0x2c530a)/0x2,(_0xb7801+_0x388d8e)/0x2),_0x4796d7=Cesium['Cartesian3'][_0x1a4e('0x1ed')](_0x164293,new Cesium[(_0x1a4e('0x393e'))](_0x36a66c,_0x1f4c9b,_0xb7801)),_0x2d4c29=new Cesium['BoundingSphere'](_0x164293,_0x4796d7);})['then'](function(){for(var _0x28c2a2=0x0,_0x5d9fc9=_0x2be598['subarray'](0x0,_0x587d4d),_0x52aa3=_0x2be598[_0x1a4e('0xad8')](_0x587d4d,0x2*_0x587d4d),_0x23c82d=_0x2be598[_0x1a4e('0xad8')](0x2*_0x587d4d,0x3*_0x587d4d),_0x5ce503=_0x589d1a-_0x43ae63,_0x36a66c=0x0;_0x36a66c<_0x50e058;_0x36a66c++)for(var _0x1f4c9b=0x0;_0x1f4c9b<_0x40e256;_0x1f4c9b++){var _0xb7801=_0x36a66c*_0x40e256+_0x1f4c9b,_0x5c9e63=_0x1f4c9b,_0x5a9eaf=_0x36a66c;_0x5c9e63=_0x1f4c9b==_0x40e256-0x1?_0x1f4c9b/0.5-0x1:_0x1f4c9b/0.5,_0x5a9eaf=0x0==_0x36a66c?_0x36a66c/0.5:_0x36a66c/0.5-0x1,_0x5c9e63/=_0x225523[_0x1a4e('0x47b3')]-0x1,_0x5d9fc9[_0xb7801]=0x7fff*_0x5c9e63|0x0,_0x5a9eaf/=_0x225523[_0x1a4e('0x399c')]-0x1,_0x52aa3[_0xb7801]=0x7fff*_0x5a9eaf|0x0;var _0x2c530a=_0x225523[_0x1a4e('0x4d25')](_0x1f4c9b,_0x36a66c,_0x40e256,_0x50e058,0.5),_0x388d8e=_0x312c61[_0x2c530a];void 0x0===_0x388d8e&&console[_0x1a4e('0x58')](_0x1a4e('0x4d26')),_0x23c82d[_0xb7801]=(_0x388d8e-_0x43ae63)/_0x5ce503*0x7fff|0x0,_0xb7801++,_0x36a66c>0x0&&_0x1f4c9b>0x0&&(_0x38b6b0[_0x28c2a2]=_0x36a66c*_0x40e256+(_0x1f4c9b-0x1),_0x38b6b0[++_0x28c2a2]=(_0x36a66c-0x1)*_0x40e256+(_0x1f4c9b-0x1),_0x38b6b0[++_0x28c2a2]=(_0x36a66c-0x1)*_0x40e256+_0x1f4c9b,_0x38b6b0[++_0x28c2a2]=(_0x36a66c-0x1)*_0x40e256+_0x1f4c9b,_0x38b6b0[++_0x28c2a2]=_0x36a66c*_0x40e256+_0x1f4c9b,_0x38b6b0[++_0x28c2a2]=_0x36a66c*_0x40e256+(_0x1f4c9b-0x1),_0x28c2a2++);}})[_0x1a4e('0xdf8')](function(){for(var _0x5d9fc9=0x0,_0x23c82d=0x0;_0x23c82d<_0x40e256;_0x23c82d++)_0x4fe5b4[_0x5d9fc9]=_0x23c82d,_0x28be40[_0x5d9fc9]=(_0x50e058-0x1)*_0x40e256+_0x23c82d,_0x5d9fc9++;_0x5d9fc9=0x0;for(var _0x5ce503=0x0;_0x5ce503<_0x50e058;_0x5ce503++)_0x54d757[_0x5d9fc9]=_0x5ce503*_0x40e256,_0x549ae2[_0x5d9fc9]=(_0x5ce503+0x1)*_0x40e256-0x1,_0x5d9fc9++;var _0x36a66c=0x5*_0x28c2a2[_0x1a4e('0x4cb7')](_0x52aa3),_0x1f4c9b=Cesium[_0x1a4e('0x4cf9')][_0x1a4e('0x4d27')](_0x5b48dd,_0x43ae63,_0x589d1a,_0x28c2a2[_0x1a4e('0x4734')][_0x1a4e('0x38dc')]);return new _0x5c9e63({'center':_0x164293,'minimumHeight':_0x43ae63,'maximumHeight':_0x589d1a,'boundingSphere':_0x2d4c29,'orientedBoundingBox':_0x1f4c9b,'horizonOcclusionPoint':void 0x0,'quantizedVertices':_0x2be598,'indices':_0x38b6b0,'westIndices':_0x54d757,'southIndices':_0x4fe5b4,'eastIndices':_0x549ae2,'northIndices':_0x28be40,'westSkirtHeight':_0x36a66c,'southSkirtHeight':_0x36a66c,'eastSkirtHeight':_0x36a66c,'northSkirtHeight':_0x36a66c,'credits':_0x28c2a2[_0x1a4e('0x4cbf')]});});},_0x5d9fc9[_0x1a4e('0xa')][_0x1a4e('0x4d28')]=function(_0x28c2a2,_0x5d9fc9){return new _0xb7801({'buffer':_0x5d9fc9,'width':_0x28c2a2[_0x1a4e('0x4c90')],'height':_0x28c2a2['_heightmapWidth'],'structure':{'heightScale':0x1,'heightOffset':0x0,'elementsPerHeight':0x1,'stride':0x1,'elementMultiplier':0x100,'isBigEndian':!0x1,'lowestEncodedHeight':0x0,'highestEncodedHeight':0xffff},'credits':_0x28c2a2[_0x1a4e('0x4cbf')]});},_0x5d9fc9['prototype'][_0x1a4e('0x4cb8')]=function(_0x28c2a2,_0x5d9fc9,_0x52aa3){if(_0x1f4c9b(this[_0x1a4e('0x4cc1')])){if(_0x52aa3>=this[_0x1a4e('0x4cc1')][_0x1a4e('0x1e')])return!0x1;var _0x23c82d=this[_0x1a4e('0x4cc1')][_0x52aa3];if(_0x28c2a2>=_0x23c82d[0x0]&&_0x28c2a2<=_0x23c82d[0x2]&&_0x5d9fc9>=_0x23c82d[0x1]&&_0x5d9fc9<=_0x23c82d[0x3])return!0x0;}},_0x5d9fc9;}(_0x5ce503[_0x1a4e('0x4d29')]),_0x2c530a=function(){};},'./src/LayerManager/TerrainLayer/TerrainItem.ts':function(_0x13823e,_0x4eb19e,_0xf1865d){'use strict';_0xf1865d['r'](_0x4eb19e),_0xf1865d['d'](_0x4eb19e,_0x1a4e('0x3ff5'),function(){return _0x1b66c9;});var _0xffe0d1,_0x4c36ee=_0xf1865d(_0x1a4e('0x4053')),_0x489093=(_0xffe0d1=function(_0x13823e,_0x4eb19e){return(_0xffe0d1=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x13823e,_0x4eb19e){_0x13823e[_0x1a4e('0x295')]=_0x4eb19e;}||function(_0x13823e,_0x4eb19e){for(var _0xf1865d in _0x4eb19e)_0x4eb19e[_0x1a4e('0xb')](_0xf1865d)&&(_0x13823e[_0xf1865d]=_0x4eb19e[_0xf1865d]);})(_0x13823e,_0x4eb19e);},function(_0x13823e,_0x4eb19e){function _0xf1865d(){this[_0x1a4e('0x10')]=_0x13823e;}_0xffe0d1(_0x13823e,_0x4eb19e),_0x13823e[_0x1a4e('0xa')]=null===_0x4eb19e?Object[_0x1a4e('0x7')](_0x4eb19e):(_0xf1865d[_0x1a4e('0xa')]=_0x4eb19e['prototype'],new _0xf1865d());}),_0x1b66c9=function(_0x13823e){function _0x4eb19e(_0x4eb19e,_0xf1865d){var _0xffe0d1=_0x13823e[_0x1a4e('0x1')](this)||this;return _0xffe0d1[_0x1a4e('0x3a24')]=!0x0,_0xffe0d1[_0x1a4e('0x528')]=-0x1,_0xffe0d1[_0x1a4e('0x4d2a')]=null,_0xffe0d1[_0x1a4e('0x39d5')]=_0x1a4e('0x4d2b'),_0xffe0d1['_id']=Cesium[_0x1a4e('0x404b')](),_0xffe0d1[_0x1a4e('0x3a24')]=!0x0,_0xffe0d1[_0x1a4e('0x4d2a')]=_0x4eb19e,_0xf1865d=Cesium['defaultValue'](_0xf1865d,{}),_0xffe0d1[_0x1a4e('0x528')]=Cesium[_0x1a4e('0x3a46')](_0xf1865d[_0x1a4e('0xbd')],-0x1),_0xffe0d1;}return _0x489093(_0x4eb19e,_0x13823e),Object[_0x1a4e('0x2')](_0x4eb19e[_0x1a4e('0xa')],_0x1a4e('0x3a23'),{'get':function(){return this[_0x1a4e('0x3a24')];},'set':function(_0x13823e){this[_0x1a4e('0x3a24')]=_0x13823e;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x4eb19e['prototype'],_0x1a4e('0x39fc'),{'get':function(){return this[_0x1a4e('0x4d2a')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x4eb19e['prototype'],_0x1a4e('0xbd'),{'get':function(){return this[_0x1a4e('0x528')];},'set':function(_0x13823e){this[_0x1a4e('0x528')]=_0x13823e;},'enumerable':!0x0,'configurable':!0x0}),_0x4eb19e[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4eb19e[_0x1a4e('0x40')];},Object['defineProperty'](_0x4eb19e,_0x1a4e('0x40'),{'get':function(){return'terrain';},'enumerable':!0x0,'configurable':!0x0}),_0x4eb19e[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){},_0x4eb19e[_0x1a4e('0xa')]['parseJson']=function(_0x13823e){},_0x4eb19e['prototype'][_0x1a4e('0x139c')]=function(){},_0x4eb19e;}(_0x4c36ee[_0x1a4e('0x3aca')]);},'./src/LayerManager/TerrainLayer/TerrainLayerCollection.ts':function(_0x318efa,_0x8da2a6,_0x33e30d){'use strict';_0x33e30d['r'](_0x8da2a6),_0x33e30d['d'](_0x8da2a6,_0x1a4e('0x4d2c'),function(){return _0x1b712f;});var _0x258912,_0x3f4f19=_0x33e30d(_0x1a4e('0x3f2c')),_0x49c3a6=(_0x258912=function(_0x318efa,_0x8da2a6){return(_0x258912=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x318efa,_0x8da2a6){_0x318efa[_0x1a4e('0x295')]=_0x8da2a6;}||function(_0x318efa,_0x8da2a6){for(var _0x33e30d in _0x8da2a6)_0x8da2a6[_0x1a4e('0xb')](_0x33e30d)&&(_0x318efa[_0x33e30d]=_0x8da2a6[_0x33e30d]);})(_0x318efa,_0x8da2a6);},function(_0x318efa,_0x8da2a6){function _0x33e30d(){this[_0x1a4e('0x10')]=_0x318efa;}_0x258912(_0x318efa,_0x8da2a6),_0x318efa[_0x1a4e('0xa')]=null===_0x8da2a6?Object[_0x1a4e('0x7')](_0x8da2a6):(_0x33e30d['prototype']=_0x8da2a6[_0x1a4e('0xa')],new _0x33e30d());}),_0x1deb24=function(_0x318efa){var _0x8da2a6=_0x1a4e('0x68')==typeof Symbol&&_0x318efa[Symbol[_0x1a4e('0x335')]],_0x33e30d=0x0;return _0x8da2a6?_0x8da2a6[_0x1a4e('0x1')](_0x318efa):{'next':function(){return _0x318efa&&_0x33e30d>=_0x318efa[_0x1a4e('0x1e')]&&(_0x318efa=void 0x0),{'value':_0x318efa&&_0x318efa[_0x33e30d++],'done':!_0x318efa};}};},_0x1b712f=function(_0x318efa){function _0x8da2a6(_0x8da2a6){var _0x33e30d=_0x318efa[_0x1a4e('0x1')](this)||this;return _0x33e30d['_terrainLayers']=new Map(),_0x33e30d[_0x1a4e('0x3a24')]=!0x0,_0x33e30d['_baseProvider']=new Cesium[(_0x1a4e('0x4d2d'))](),_0x33e30d[_0x1a4e('0x4c09')]=_0x8da2a6,_0x33e30d[_0x1a4e('0x4d2e')](),_0x33e30d;}return _0x49c3a6(_0x8da2a6,_0x318efa),_0x8da2a6['prototype'][_0x1a4e('0x4d2e')]=function(){var _0x318efa=this;this[_0x1a4e('0x4d2f')]=new Cesium[(_0x1a4e('0x4d2d'))](),this[_0x1a4e('0x4c09')][_0x1a4e('0x39fc')]=this['_baseProvider'],this[_0x1a4e('0x4d2f')][_0x1a4e('0x4ca9')]=function(_0x8da2a6,_0x33e30d,_0x258912,_0x3f4f19){return _0x318efa[_0x1a4e('0x4d30')](_0x8da2a6,_0x33e30d,_0x258912,_0x3f4f19);};},_0x8da2a6[_0x1a4e('0xa')][_0x1a4e('0x4d30')]=function(_0x318efa,_0x8da2a6,_0x33e30d,_0x258912){var _0x3f4f19,_0x49c3a6,_0x1b712f=[];try{for(var _0x5120d9=_0x1deb24(this[_0x1a4e('0x4785')]),_0x34bfc4=_0x5120d9[_0x1a4e('0x7e')]();!_0x34bfc4[_0x1a4e('0x3c2')];_0x34bfc4=_0x5120d9[_0x1a4e('0x7e')]()){var _0x5adadd=_0x34bfc4[_0x1a4e('0x255')];if(_0x5adadd[0x1][_0x1a4e('0x3a23')])_0x5adadd[0x1][_0x1a4e('0x39fc')][_0x1a4e('0x4cb8')](_0x318efa,_0x8da2a6,_0x33e30d)&&_0x1b712f['push'](_0x5adadd);}}catch(_0x44d4e8){_0x3f4f19={'error':_0x44d4e8};}finally{try{_0x34bfc4&&!_0x34bfc4['done']&&(_0x49c3a6=_0x5120d9[_0x1a4e('0xe40')])&&_0x49c3a6[_0x1a4e('0x1')](_0x5120d9);}finally{if(_0x3f4f19)throw _0x3f4f19['error'];}}var _0x58034a=_0x1b712f[_0x1a4e('0x89')](function(_0x318efa,_0x8da2a6){return _0x8da2a6[0x1]['index']-_0x318efa[0x1][_0x1a4e('0xbd')];});return _0x58034a[_0x1a4e('0x1e')]>0x0?_0x58034a[0x0][0x1]['terrainProvider'][_0x1a4e('0x4ca9')](_0x318efa,_0x8da2a6,_0x33e30d,_0x258912):null;},_0x8da2a6['prototype'][_0x1a4e('0x4d31')]=function(){this[_0x1a4e('0x4c09')][_0x1a4e('0x39fc')]=this[_0x1a4e('0x4d2f')];},Object[_0x1a4e('0x2')](_0x8da2a6['prototype'],_0x1a4e('0x3a23'),{'get':function(){return this[_0x1a4e('0x3a24')];},'set':function(_0x318efa){var _0x8da2a6,_0x33e30d;this['_show']=_0x318efa;try{for(var _0x258912=_0x1deb24(this[_0x1a4e('0x4785')]),_0x3f4f19=_0x258912[_0x1a4e('0x7e')]();!_0x3f4f19[_0x1a4e('0x3c2')];_0x3f4f19=_0x258912[_0x1a4e('0x7e')]()){_0x3f4f19['value'][0x1][_0x1a4e('0x3a23')]=_0x318efa;}}catch(_0x592d28){_0x8da2a6={'error':_0x592d28};}finally{try{_0x3f4f19&&!_0x3f4f19['done']&&(_0x33e30d=_0x258912[_0x1a4e('0xe40')])&&_0x33e30d[_0x1a4e('0x1')](_0x258912);}finally{if(_0x8da2a6)throw _0x8da2a6[_0x1a4e('0x873')];}}},'enumerable':!0x0,'configurable':!0x0}),_0x8da2a6[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x318efa){return this[_0x1a4e('0x4785')][_0x1a4e('0x17a')](_0x318efa['id'],_0x318efa),_0x318efa;},_0x8da2a6[_0x1a4e('0xa')][_0x1a4e('0x3ad2')]=function(_0x318efa){return this[_0x1a4e('0x4785')][_0x1a4e('0x179')](_0x318efa);},_0x8da2a6['prototype']['getItemByName']=function(_0x318efa){var _0x8da2a6,_0x33e30d,_0x258912;try{for(var _0x3f4f19=_0x1deb24(this['_terrainLayers']),_0x49c3a6=_0x3f4f19[_0x1a4e('0x7e')]();!_0x49c3a6[_0x1a4e('0x3c2')];_0x49c3a6=_0x3f4f19['next']()){var _0x1b712f=_0x49c3a6['value'];if(_0x1b712f[0x1][_0x1a4e('0x2cb')]==_0x318efa){_0x258912=_0x1b712f[0x1];break;}}}catch(_0x43196e){_0x8da2a6={'error':_0x43196e};}finally{try{_0x49c3a6&&!_0x49c3a6[_0x1a4e('0x3c2')]&&(_0x33e30d=_0x3f4f19[_0x1a4e('0xe40')])&&_0x33e30d['call'](_0x3f4f19);}finally{if(_0x8da2a6)throw _0x8da2a6[_0x1a4e('0x873')];}}return _0x258912;},_0x8da2a6[_0x1a4e('0xa')]['remove']=function(_0x318efa){var _0x8da2a6=this[_0x1a4e('0x4785')][_0x1a4e('0x179')](_0x318efa);return this['_terrainLayers'][_0x1a4e('0xf4c')](_0x318efa),this['_initBaseTerrain'](),_0x8da2a6[0x1];},_0x8da2a6[_0x1a4e('0xa')]['removeAll']=function(){this[_0x1a4e('0x4785')]=new Map(),this[_0x1a4e('0x4d2e')]();},_0x8da2a6[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){},_0x8da2a6;}(_0x3f4f19[_0x1a4e('0x4720')]);},'./src/LayerManager/TileLayer/BDGridTile/BDTileData.js':function(_0x1ff9ba,_0x5b0a37,_0x49b167){'use strict';Object[_0x1a4e('0x2')](_0x5b0a37,_0x1a4e('0x6'),{'value':!0x0}),_0x5b0a37['BDTileData']=void 0x0;var _0x11d51a=function(){function _0x1ff9ba(_0x1ff9ba,_0x5b0a37){for(var _0x49b167=0x0;_0x49b167<_0x5b0a37[_0x1a4e('0x1e')];_0x49b167++){var _0x11d51a=_0x5b0a37[_0x49b167];_0x11d51a[_0x1a4e('0x1359')]=_0x11d51a[_0x1a4e('0x1359')]||!0x1,_0x11d51a[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x11d51a&&(_0x11d51a[_0x1a4e('0x1346')]=!0x0),Object[_0x1a4e('0x2')](_0x1ff9ba,_0x11d51a[_0x1a4e('0x35f')],_0x11d51a);}}return function(_0x5b0a37,_0x49b167,_0x11d51a){return _0x49b167&&_0x1ff9ba(_0x5b0a37[_0x1a4e('0xa')],_0x49b167),_0x11d51a&&_0x1ff9ba(_0x5b0a37,_0x11d51a),_0x5b0a37;};}(),_0x1ca0e5=_0x49b167('./src/Utils/ColorTable.ts');var _0x438c00=Cesium[_0x1a4e('0x3a46')],_0x35e99e=Cesium['defined'],_0x211722=Cesium[_0x1a4e('0x3b9c')];_0x5b0a37[_0x1a4e('0x4d32')]=function(){function _0x1ff9ba(_0x5b0a37,_0x49b167){!function(_0x1ff9ba,_0x5b0a37){if(!(_0x1ff9ba instanceof _0x5b0a37))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x1ff9ba),_0x49b167=_0x438c00(_0x49b167,_0x438c00['EMPTY_OBJECT']),this[_0x1a4e('0x11c')]=_0x5b0a37,this[_0x1a4e('0xa2f')]=_0x49b167[_0x1a4e('0x35f')];var _0x11d51a=this[_0x1a4e('0xa2f')];if(!_0x35e99e(_0x11d51a))throw new _0x211722('the\x20key\x20of\x20VectorTile\x20is\x20required.');var _0x1ca0e5=_0x11d51a[_0x1a4e('0x3e')]('-'),_0xa0d679=_0x11d51a['lastIndexOf']('-');this['_level']=parseInt(_0x11d51a['substr'](0x0,_0x1ca0e5)),this['_x']=parseInt(_0x11d51a[_0x1a4e('0x254')](_0x1ca0e5+0x1,_0xa0d679-_0x1ca0e5-0x1)),this['_y']=parseInt(_0x11d51a['substr'](_0xa0d679+0x1)),this[_0x1a4e('0x3be2')]=_0x49b167[_0x1a4e('0x38d6')],this[_0x1a4e('0x4d33')]=_0x438c00(_0x49b167[_0x1a4e('0xa46')],!0x1),this[_0x1a4e('0x3b33')]=_0x438c00(_0x49b167[_0x1a4e('0x3b2c')],!0x1),this[_0x1a4e('0x4571')]=void 0x0,this[_0x1a4e('0x39d5')]=void 0x0,this['_tileUrl']=void 0x0,this[_0x1a4e('0x4d34')]();}return _0x11d51a(_0x1ff9ba,[{'key':_0x1a4e('0x4d34'),'value':function(){for(var _0x1ff9ba=[_0x1a4e('0x4d35'),_0x1a4e('0x4d36'),_0x1a4e('0x4d37')],_0x5b0a37=[],_0x49b167=0x0;_0x49b167<_0x1ff9ba[_0x1a4e('0x1e')]-0x1;_0x49b167++){var _0x11d51a=_0x1ff9ba[_0x49b167],_0x438c00=_0x1ff9ba[_0x49b167+0x1],_0x35e99e=_0x1ca0e5[_0x1a4e('0x4d38')][_0x1a4e('0x442d')](_0x11d51a,_0x438c00,0x14);_0x5b0a37=_0x5b0a37[_0x1a4e('0x9a')](_0x35e99e);}this['colors']=_0x5b0a37;}},{'key':_0x1a4e('0x3b40'),'value':function(_0x1ff9ba,_0x5b0a37,_0x49b167){if(_0x49b167>=_0x5b0a37)return this[_0x1a4e('0x3724')][this[_0x1a4e('0x3724')][_0x1a4e('0x1e')]-0x1];if(_0x49b167<=_0x1ff9ba)return this[_0x1a4e('0x3724')][0x0];var _0x11d51a=Math[_0x1a4e('0xb4')](this[_0x1a4e('0x3724')][_0x1a4e('0x1e')]*((_0x49b167-_0x1ff9ba)/(_0x5b0a37-_0x1ff9ba)));return this[_0x1a4e('0x3724')][_0x11d51a];}},{'key':_0x1a4e('0x4d39'),'value':function(_0x1ff9ba){var _0x5b0a37=this;return fetch(_0x1ff9ba)[_0x1a4e('0xdf8')](function(_0x1ff9ba){return _0x1ff9ba[_0x1a4e('0x1a7')]();})[_0x1a4e('0xdf8')](function(_0x1ff9ba){return _0x5b0a37[_0x1a4e('0x4d3a')](_0x1ff9ba);});}},{'key':_0x1a4e('0x4d3a'),'value':function(_0x1ff9ba){if(_0x35e99e(_0x1ff9ba)){var _0x5b0a37=new Cesium[(_0x1a4e('0x42e5'))]();_0x5b0a37[_0x1a4e('0x3a23')]=this[_0x1a4e('0x11c')]['show'];var _0x49b167=[],_0x11d51a=_0x1ff9ba[_0x1a4e('0x4d3b')],_0x1ca0e5=_0x1ff9ba['maxValue'],_0x438c00=!0x0,_0x211722=!0x1,_0x3d5511=void 0x0;try{for(var _0x249c2d,_0x2a2db7=_0x1ff9ba[_0x1a4e('0x5a')][Symbol[_0x1a4e('0x335')]]();!(_0x438c00=(_0x249c2d=_0x2a2db7['next']())[_0x1a4e('0x3c2')]);_0x438c00=!0x0){var _0x1147ab=_0x249c2d['value'],_0x50f988=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x4d3c')][_0x1a4e('0x39ae')](0.5),_0x337467=this[_0x1a4e('0x3b40')](_0x11d51a,_0x1ca0e5,_0x1147ab[0x2]);_0x337467?_0x50f988=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x337467)[_0x1a4e('0x39ae')](0.5):console['log'](_0x1a4e('0x4d3d'));var _0x5f5966=Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](_0x1147ab[0x0],_0x1147ab[0x1],_0x1147ab[0x3],_0x1147ab[0x4]);_0x49b167[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x446b'))]({'rectangle':_0x5f5966,'vertexFormat':Cesium[_0x1a4e('0x3ab2')]['VERTEX_FORMAT'],'height':_0x1147ab[0x2],'extrudedHeight':_0x1147ab[0x5]}),'attributes':{'color':Cesium[_0x1a4e('0x3940')][_0x1a4e('0x39b4')](_0x50f988)}}));}}catch(_0x5c8267){_0x211722=!0x0,_0x3d5511=_0x5c8267;}finally{try{!_0x438c00&&_0x2a2db7['return']&&_0x2a2db7[_0x1a4e('0xe40')]();}finally{if(_0x211722)throw _0x3d5511;}}return _0x5b0a37[_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x49b167,'appearance':new Cesium['PerInstanceColorAppearance']({'translucent':!0x1,'closed':!0x0})})),this[_0x1a4e('0x3be2')]['primitives'][_0x1a4e('0x177')](_0x5b0a37),this['_primitive']=_0x5b0a37,this[_0x1a4e('0x4571')];}}},{'key':_0x1a4e('0x4d3e'),'value':function(){this['_scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x4571')]);}},{'key':_0x1a4e('0x35f'),'get':function(){return this['_key'];}},{'key':_0x1a4e('0x2dd0'),'get':function(){return this[_0x1a4e('0x4ac')];}},{'key':'x','get':function(){return this['_x'];}},{'key':'y','get':function(){return this['_y'];}},{'key':_0x1a4e('0x38d6'),'get':function(){return this[_0x1a4e('0x3be2')];}},{'key':'prepare','get':function(){return this[_0x1a4e('0x4d33')];},'set':function(_0x1ff9ba){this['_prepare']=_0x1ff9ba;}},{'key':_0x1a4e('0x3b2c'),'get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0x1ff9ba){this['_visible']!==_0x1ff9ba&&(this['_visible']=_0x1ff9ba);}},{'key':_0x1a4e('0x8f7'),'get':function(){return this[_0x1a4e('0x4571')];}}]),_0x1ff9ba;}();},'./src/LayerManager/TileLayer/BDGridTile/BDTileLayer.ts':function(_0x19b731,_0x16a916,_0x55d11c){'use strict';_0x55d11c['r'](_0x16a916),_0x55d11c['d'](_0x16a916,'BDTileLayer',function(){return _0x188836;});var _0xa1584c,_0x2b3e6e=_0x55d11c(_0x1a4e('0x4053')),_0x20c64c=_0x55d11c('./src/Utils/Util.ts'),_0x526a7f=_0x55d11c('./src/LayerManager/TileLayer/BDGridTile/BDTileData.js'),_0x5d9ce4=(_0xa1584c=function(_0x19b731,_0x16a916){return(_0xa1584c=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x19b731,_0x16a916){_0x19b731['__proto__']=_0x16a916;}||function(_0x19b731,_0x16a916){for(var _0x55d11c in _0x16a916)_0x16a916['hasOwnProperty'](_0x55d11c)&&(_0x19b731[_0x55d11c]=_0x16a916[_0x55d11c]);})(_0x19b731,_0x16a916);},function(_0x19b731,_0x16a916){function _0x55d11c(){this[_0x1a4e('0x10')]=_0x19b731;}_0xa1584c(_0x19b731,_0x16a916),_0x19b731['prototype']=null===_0x16a916?Object[_0x1a4e('0x7')](_0x16a916):(_0x55d11c['prototype']=_0x16a916['prototype'],new _0x55d11c());}),_0x514994=function(_0x19b731,_0x16a916){var _0x55d11c=_0x1a4e('0x68')==typeof Symbol&&_0x19b731[Symbol['iterator']];if(!_0x55d11c)return _0x19b731;var _0xa1584c,_0x2b3e6e,_0x20c64c=_0x55d11c[_0x1a4e('0x1')](_0x19b731),_0x526a7f=[];try{for(;(void 0x0===_0x16a916||_0x16a916-->0x0)&&!(_0xa1584c=_0x20c64c[_0x1a4e('0x7e')]())['done'];)_0x526a7f['push'](_0xa1584c[_0x1a4e('0x255')]);}catch(_0x2b0270){_0x2b3e6e={'error':_0x2b0270};}finally{try{_0xa1584c&&!_0xa1584c[_0x1a4e('0x3c2')]&&(_0x55d11c=_0x20c64c['return'])&&_0x55d11c['call'](_0x20c64c);}finally{if(_0x2b3e6e)throw _0x2b3e6e['error'];}}return _0x526a7f;},_0x52a998=function(){for(var _0x19b731=[],_0x16a916=0x0;_0x16a916-0x1){var _0x16a916=this[_0x1a4e('0x4d56')](_0x19b731);return this[_0x1a4e('0x4764')][_0x1a4e('0x115')](_0x1a4e('0x4d58'),_0x19b731[_0x1a4e('0x2dd0')])[_0x1a4e('0x115')](_0x1a4e('0x4d59'),_0x16a916[_0x1a4e('0x4c1f')])[_0x1a4e('0x115')](_0x1a4e('0x4d5a'),_0x16a916[_0x1a4e('0x47dd')])[_0x1a4e('0x115')](_0x1a4e('0x4d5b'),_0x16a916['ymin'])[_0x1a4e('0x115')](_0x1a4e('0x4d5c'),_0x16a916[_0x1a4e('0x47df')]);}return this['_url'][_0x1a4e('0x115')]('{level}',_0x19b731[_0x1a4e('0x2dd0')])['replace'](_0x1a4e('0x4745'),_0x19b731['x'])[_0x1a4e('0x115')](_0x1a4e('0x4746'),_0x19b731['y']);},_0x16a916[_0x1a4e('0xa')][_0x1a4e('0x4d5d')]=function(_0x19b731){for(var _0x16a916=new Set(),_0x55d11c=0x0;_0x55d11c<_0x19b731['length'];_0x55d11c++){var _0xa1584c=_0x19b731[_0x55d11c][_0x1a4e('0x2dd0')]+'-'+_0x19b731[_0x55d11c]['x']+'-'+_0x19b731[_0x55d11c]['y'];_0x16a916['has'](_0xa1584c)||_0x16a916[_0x1a4e('0x177')](_0xa1584c);}return _0x52a998(_0x16a916);},_0x16a916['prototype']['update']=function(_0x19b731){if(Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x3be2')])&&this[_0x1a4e('0x3a24')]){this[_0x1a4e('0x4d44')][_0x1a4e('0x4d5e')]();for(var _0x16a916=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x55d11c=0x0;_0x55d11c<_0x16a916['length'];_0x55d11c++)_0x16a916[_0x55d11c][_0x1a4e('0x3b2c')]=!0x1;var _0xa1584c=new Array(),_0x2b3e6e=this;this['_scene'][_0x1a4e('0x38d7')][_0x1a4e('0x4c1c')][_0x1a4e('0x4d5f')](function(_0x19b731){_0x19b731[_0x1a4e('0x2dd0')]>=_0x2b3e6e[_0x1a4e('0x4d60')]&&_0xa1584c[_0x1a4e('0x46')]({'level':_0x19b731[_0x1a4e('0x2dd0')],'x':_0x19b731['x'],'y':_0x19b731['y']});}),_0xa1584c=this[_0x1a4e('0x4d5d')](_0xa1584c);for(var _0x20c64c=0x0;_0x20c64c<_0xa1584c[_0x1a4e('0x1e')];_0x20c64c++)this['processTile'](this[_0x1a4e('0x3be2')],_0xa1584c[_0x20c64c]);for(var _0x526a7f=!0x0;_0x526a7f;){_0x526a7f=!0x1;var _0x5d9ce4=void 0x0;_0x16a916=_0x2b3e6e[_0x1a4e('0x4d47')][_0x1a4e('0x35b')];for(var _0x514994=0x0;_0x514994<_0x16a916['length'];_0x514994++)if(0x0==(_0x5d9ce4=_0x16a916[_0x514994])[_0x1a4e('0x3b2c')]){_0x526a7f=!0x0;break;}if(_0x526a7f&&Cesium[_0x1a4e('0x3a0b')](_0x5d9ce4)){var _0x52a998=_0x5d9ce4[_0x1a4e('0x8f7')];Cesium[_0x1a4e('0x3a0b')](_0x52a998)&&(_0x2b3e6e[_0x1a4e('0x4d49')][_0x1a4e('0x4d4b')](_0x2b3e6e['_scene'],_0x52a998),_0x2b3e6e[_0x1a4e('0x4d44')][_0x1a4e('0x82')](_0x5d9ce4),_0x2b3e6e['_renderTiles'][_0x1a4e('0x82')](_0x5d9ce4['key']));}}return!0x0;}},_0x16a916[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){var _0x19b731=this[_0x1a4e('0x3be2')];this['_scene']=void 0x0;for(var _0x16a916=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x55d11c=0x0;_0x55d11c<_0x16a916[_0x1a4e('0x1e')];_0x55d11c++)_0x19b731['primitives'][_0x1a4e('0x82')](_0x16a916[_0x55d11c][_0x1a4e('0x8f7')]);_0x16a916=void 0x0,this[_0x1a4e('0x4d47')][_0x1a4e('0x3a42')](),this['_tileReplacementQueue']['markStartOfRenderFrame'](),this[_0x1a4e('0x4d44')]['trimTiles'](0x0);},_0x16a916;}(_0x2b3e6e['Item']);},'./src/LayerManager/TileLayer/GeoSotLayer.ts':function(_0x14ccd4,_0x37054d,_0x1664da){'use strict';_0x1664da['r'](_0x37054d),_0x1664da['d'](_0x37054d,'GeoSotLayer',function(){return _0x198fe8;});var _0x198fe8=function(){function _0x14ccd4(_0x14ccd4,_0x37054d){var _0x1664da=this;this['_visible']=!0x1,this['_enablePick']=!0x1,this[_0x1a4e('0x4d61')]=!0x1,this['_gridColor']=Cesium[_0x1a4e('0x3947')]['AQUA']['withAlpha'](0.7),this['_fillColor']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x4d62')][_0x1a4e('0x39ae')](0.4),this[_0x1a4e('0x4d63')]=!0x1,this[_0x1a4e('0x38d5')]=_0x14ccd4,this[_0x1a4e('0x2e5e')]=new Cesium['LabelCollection'](),this['colseRangeLabels']=new Cesium['LabelCollection'](),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this[_0x1a4e('0x2e5e')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](this[_0x1a4e('0x4d64')]),this['_url']=_0x37054d,this[_0x1a4e('0x38d5')]['camera'][_0x1a4e('0x4d65')]=0.01,this[_0x1a4e('0x4d66')]=this['viewer']['camera']['moveEnd'][_0x1a4e('0xec5')](function(){_0x1664da[_0x1a4e('0x4f0')]();}),this[_0x1a4e('0x4d67')]={'currentLabel':'','position':new Cesium[(_0x1a4e('0x393e'))](),'polygon':[0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]},this[_0x1a4e('0x4d61')]=_0x37054d[_0x1a4e('0x3e')]('bottom')>-0x1,this['pickEvent']();}return _0x14ccd4[_0x1a4e('0xa')][_0x1a4e('0x4d68')]=function(){var _0x14ccd4=this,_0x37054d=this[_0x1a4e('0x4d67')],_0x1664da=this[_0x1a4e('0x38d5')],_0x198fe8=new Cesium[(_0x1a4e('0x39cd'))](_0x1664da[_0x1a4e('0x38d6')]['canvas']);this[_0x1a4e('0x4d69')]=_0x1664da[_0x1a4e('0x38e2')][_0x1a4e('0x177')]({'position':new Cesium[(_0x1a4e('0x3a95'))](function(){return _0x37054d['position'];},!0x1),'label':{'text':new Cesium['CallbackProperty'](function(){return _0x37054d[_0x1a4e('0x4d6a')];},!0x1),'font':'20px\x20Microsoft\x20YaHei'},'polygon':{'hierarchy':new Cesium[(_0x1a4e('0x3a95'))](function(){return new Cesium['PolygonHierarchy'](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')](_0x37054d['polygon']));},!0x1),'material':Cesium[_0x1a4e('0x3947')]['RED'][_0x1a4e('0x39ae')](0.5)}}),_0x198fe8[_0x1a4e('0x3981')](function(_0x198fe8){if(_0x14ccd4['_enablePick']&&_0x14ccd4['_visible'])if(_0x14ccd4[_0x1a4e('0x4d6b')]){var _0x419a75=_0x1664da[_0x1a4e('0x3a06')][_0x1a4e('0x3a58')](_0x198fe8['position'],_0x1664da[_0x1a4e('0x38d6')]['globe'][_0x1a4e('0x38dc')]);if(_0x419a75){var _0x43c764=Cesium[_0x1a4e('0x39fa')]['fromCartesian'](_0x419a75),_0x271cc8=Cesium['Math']['toDegrees'](_0x43c764[_0x1a4e('0x3a2e')]),_0x59e06f=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x43c764['latitude']),_0x1b6dc1=_0x14ccd4['_queryUrl'][_0x1a4e('0x115')](_0x1a4e('0x4d58'),_0x14ccd4[_0x1a4e('0x4d6c')])['replace'](_0x1a4e('0x4d6d'),_0x271cc8)[_0x1a4e('0x115')](_0x1a4e('0x4d6e'),_0x59e06f);fetch(_0x1b6dc1)[_0x1a4e('0xdf8')](function(_0x14ccd4){return _0x14ccd4[_0x1a4e('0x1a7')]();})[_0x1a4e('0xdf8')](function(_0x14ccd4){for(var _0x1664da=_0x14ccd4['polygon'][_0x1a4e('0x115')](_0x1a4e('0x4d6f'),'')[_0x1a4e('0x115')]('))',''),_0x198fe8=_0x1664da['replaceAll']('\x20',',')[_0x1a4e('0x2be')](',')[_0x1a4e('0x21')](function(_0x14ccd4){return Number(_0x14ccd4);}),_0x419a75=_0x1664da[_0x1a4e('0x2be')](','),_0x43c764=0x0,_0x271cc8=0x0,_0x59e06f=0x0;_0x59e06f<_0x419a75['length'];_0x59e06f++)_0x271cc8+=Number(_0x419a75[_0x59e06f][_0x1a4e('0x2be')]('\x20')[0x0]),_0x43c764+=Number(_0x419a75[_0x59e06f][_0x1a4e('0x2be')]('\x20')[0x1]);var _0x1b6dc1=_0x271cc8/_0x419a75[_0x1a4e('0x1e')],_0x11ced2=_0x43c764/_0x419a75[_0x1a4e('0x1e')];_0x37054d['currentLabel']=_0x14ccd4[_0x1a4e('0x4d70')],_0x37054d['position']=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x1b6dc1,_0x11ced2),_0x37054d[_0x1a4e('0xe7')]=_0x198fe8,_0x37054d[_0x1a4e('0x3a23')]=!0x0;});}else _0x14ccd4[_0x1a4e('0x4d69')][_0x1a4e('0x3a23')]=!0x1;}else console[_0x1a4e('0x58')](_0x1a4e('0x4d71'));},Cesium['ScreenSpaceEventType'][_0x1a4e('0x398e')]);},Object[_0x1a4e('0x2')](_0x14ccd4[_0x1a4e('0xa')],_0x1a4e('0x3b2c'),{'get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0x14ccd4){this[_0x1a4e('0x3b33')]!==_0x14ccd4&&(this[_0x1a4e('0x3b33')]=_0x14ccd4,this[_0x1a4e('0x8f7')]&&(this[_0x1a4e('0x8f7')][_0x1a4e('0x3a23')]=_0x14ccd4),_0x14ccd4&&this[_0x1a4e('0x4f0')]());},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14ccd4[_0x1a4e('0xa')],_0x1a4e('0x4d72'),{'get':function(){return this['_enablePick'];},'set':function(_0x14ccd4){this['_enablePick']=_0x14ccd4;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14ccd4['prototype'],'queryUrl',{'get':function(){return this[_0x1a4e('0x4d6b')];},'set':function(_0x14ccd4){this[_0x1a4e('0x4d6b')]=_0x14ccd4;},'enumerable':!0x0,'configurable':!0x0}),_0x14ccd4[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(){},_0x14ccd4[_0x1a4e('0xa')]['addExtent']=function(_0x14ccd4){},_0x14ccd4[_0x1a4e('0xa')][_0x1a4e('0x4f0')]=function(){var _0x14ccd4=this;if(this[_0x1a4e('0x3b33')]){var _0x37054d=void 0x0;_0x37054d=this[_0x1a4e('0x4d63')]?this[_0x1a4e('0x4d73')]:_0x419a75[_0x1a4e('0x4d74')](this['viewer']);var _0x1664da=_0x419a75[_0x1a4e('0x29c')](this['viewer'])/0x5;this[_0x1a4e('0x4b15')](_0x37054d);var _0x198fe8=_0x419a75[_0x1a4e('0x4d75')](this['viewer']);if(_0x198fe8+=0x2,this[_0x1a4e('0x4d6c')]=_0x198fe8,_0x198fe8<0xa&&!this['_is3D']){return void this[_0x1a4e('0x4d76')]({'lats':[-0x5a,-0x59,-0x58,-0x57,-0x56,-0x55,-0x54,-0x53,-0x52,-0x51,-0x50,-0x4f,-0x4e,-0x4d,-0x4c,-0x4b,-0x4a,-0x49,-0x48,-0x47,-0x46,-0x45,-0x44,-0x43,-0x42,-0x41,-0x40,-0x3f,-0x3e,-0x3d,-0x3c,-0x3b,-0x3a,-0x39,-0x38,-0x37,-0x36,-0x35,-0x34,-0x33,-0x32,-0x31,-0x30,-0x2f,-0x2e,-0x2d,-0x2c,-0x2b,-0x2a,-0x29,-0x28,-0x27,-0x26,-0x25,-0x24,-0x23,-0x22,-0x21,-0x20,-0x1f,-0x1e,-0x1d,-0x1c,-0x1b,-0x1a,-0x19,-0x18,-0x17,-0x16,-0x15,-0x14,-0x13,-0x12,-0x11,-0x10,-0xf,-0xe,-0xd,-0xc,-0xb,-0xa,-0x9,-0x8,-0x7,-0x6,-0x5,-0x4,-0x3,-0x2,-0x1,0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xb,0xc,0xd,0xe,0xf,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a],'lngs':[-0xb4,-0xb3,-0xb2,-0xb1,-0xb0,-0xaf,-0xae,-0xad,-0xac,-0xab,-0xaa,-0xa9,-0xa8,-0xa7,-0xa6,-0xa5,-0xa4,-0xa3,-0xa2,-0xa1,-0xa0,-0x9f,-0x9e,-0x9d,-0x9c,-0x9b,-0x9a,-0x99,-0x98,-0x97,-0x96,-0x95,-0x94,-0x93,-0x92,-0x91,-0x90,-0x8f,-0x8e,-0x8d,-0x8c,-0x8b,-0x8a,-0x89,-0x88,-0x87,-0x86,-0x85,-0x84,-0x83,-0x82,-0x81,-0x80,-0x7f,-0x7e,-0x7d,-0x7c,-0x7b,-0x7a,-0x79,-0x78,-0x77,-0x76,-0x75,-0x74,-0x73,-0x72,-0x71,-0x70,-0x6f,-0x6e,-0x6d,-0x6c,-0x6b,-0x6a,-0x69,-0x68,-0x67,-0x66,-0x65,-0x64,-0x63,-0x62,-0x61,-0x60,-0x5f,-0x5e,-0x5d,-0x5c,-0x5b,-0x5a,-0x59,-0x58,-0x57,-0x56,-0x55,-0x54,-0x53,-0x52,-0x51,-0x50,-0x4f,-0x4e,-0x4d,-0x4c,-0x4b,-0x4a,-0x49,-0x48,-0x47,-0x46,-0x45,-0x44,-0x43,-0x42,-0x41,-0x40,-0x3f,-0x3e,-0x3d,-0x3c,-0x3b,-0x3a,-0x39,-0x38,-0x37,-0x36,-0x35,-0x34,-0x33,-0x32,-0x31,-0x30,-0x2f,-0x2e,-0x2d,-0x2c,-0x2b,-0x2a,-0x29,-0x28,-0x27,-0x26,-0x25,-0x24,-0x23,-0x22,-0x21,-0x20,-0x1f,-0x1e,-0x1d,-0x1c,-0x1b,-0x1a,-0x19,-0x18,-0x17,-0x16,-0x15,-0x14,-0x13,-0x12,-0x11,-0x10,-0xf,-0xe,-0xd,-0xc,-0xb,-0xa,-0x9,-0x8,-0x7,-0x6,-0x5,-0x4,-0x3,-0x2,-0x1,0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xb,0xc,0xd,0xe,0xf,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4]});}var _0x1cb68f=this[_0x1a4e('0x4764')][_0x1a4e('0x115')](_0x1a4e('0x4d58'),_0x198fe8[_0x1a4e('0x95')]())['replace']('{xmin}',_0x37054d[_0x1a4e('0x4c1f')]['toString']())[_0x1a4e('0x115')](_0x1a4e('0x4d5b'),_0x37054d[_0x1a4e('0x47de')]['toString']())[_0x1a4e('0x115')](_0x1a4e('0x4d5a'),_0x37054d['xmax'][_0x1a4e('0x95')]())['replace']('{ymax}',_0x37054d[_0x1a4e('0x47df')]['toString']())[_0x1a4e('0x115')]('{bottom}','0')[_0x1a4e('0x115')](_0x1a4e('0x4d77'),_0x1664da[_0x1a4e('0x95')]());Cesium['Resource']['fetchJson']({'url':_0x1cb68f})[_0x1a4e('0xdf8')](function(_0x37054d){_0x14ccd4[_0x1a4e('0x4d61')]?_0x14ccd4[_0x1a4e('0x4d78')](_0x37054d):_0x14ccd4['updatePrimitive'](_0x37054d);});}},_0x14ccd4['prototype']['updatePrimitive']=function(_0x14ccd4){var _0x37054d=[],_0x1664da=_0x14ccd4[_0x1a4e('0x4d79')][0x0],_0x198fe8=_0x14ccd4[_0x1a4e('0x4d7a')][0x0],_0x419a75=_0x14ccd4[_0x1a4e('0x4d79')][_0x14ccd4['lngs'][_0x1a4e('0x1e')]-0x1],_0x3d2a3f=_0x14ccd4[_0x1a4e('0x4d7a')][_0x14ccd4[_0x1a4e('0x4d7a')][_0x1a4e('0x1e')]-0x1];_0x14ccd4[_0x1a4e('0x4d7a')]&&_0x14ccd4[_0x1a4e('0x4d79')]&&(_0x14ccd4[_0x1a4e('0x4d7a')][_0x1a4e('0x21')](function(_0x14ccd4){_0x37054d[_0x1a4e('0x46')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')]([_0x1664da,_0x14ccd4,_0x419a75,_0x14ccd4]));}),_0x14ccd4[_0x1a4e('0x4d79')][_0x1a4e('0x21')](function(_0x14ccd4){_0x37054d[_0x1a4e('0x46')](Cesium['Cartesian3'][_0x1a4e('0x393f')]([_0x14ccd4,_0x198fe8,_0x14ccd4,_0x3d2a3f]));}));var _0x312650=[];_0x37054d[_0x1a4e('0x3b')](function(_0x14ccd4){var _0x37054d=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3da9'))]({'positions':_0x14ccd4,'loop':!0x0,'width':0x1}),'attributes':{'color':Cesium['ColorGeometryInstanceAttribute'][_0x1a4e('0x39b4')](Cesium['Color'][_0x1a4e('0x393c')](_0x1a4e('0x4d7b')))}});_0x312650['push'](_0x37054d);}),this[_0x1a4e('0x8f7')]&&this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x8f7')]),this[_0x1a4e('0x8f7')]=this['viewer'][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x312650,'appearance':new Cesium[(_0x1a4e('0x3942'))]()}));},_0x14ccd4[_0x1a4e('0xa')][_0x1a4e('0x4d78')]=function(_0x14ccd4){for(var _0x37054d=[],_0x1664da=0x0;_0x1664da<_0x14ccd4['lngs'][_0x1a4e('0x1e')]-0x1;_0x1664da++)for(var _0x198fe8=0x0;_0x198fe8<_0x14ccd4['lats'][_0x1a4e('0x1e')]-0x1;_0x198fe8++)for(var _0x419a75=[_0x14ccd4['lngs'][_0x1664da],_0x14ccd4[_0x1a4e('0x4d7a')][_0x198fe8]],_0x199282=[_0x14ccd4['lngs'][_0x1664da+0x1],_0x14ccd4['lats'][_0x198fe8+0x1]],_0x57fbf3=0x0;_0x57fbf3<_0x14ccd4[_0x1a4e('0x4d7c')][_0x1a4e('0x1e')]-0x1;_0x57fbf3++){var _0x517c3d=_0x14ccd4[_0x1a4e('0x4d7c')][_0x57fbf3],_0x47e859=_0x14ccd4[_0x1a4e('0x4d7c')][_0x57fbf3+0x1],_0x28c837=new Cesium[(_0x1a4e('0x4d7d'))]({'rectangle':Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](_0x419a75[0x0],_0x419a75[0x1],_0x199282[0x0],_0x199282[0x1]),'height':_0x517c3d,'extrudedHeight':_0x47e859}),_0x5e2f8e=new Cesium[(_0x1a4e('0x446b'))]({'rectangle':Cesium['Rectangle'][_0x1a4e('0x38db')](_0x419a75[0x0],_0x419a75[0x1],_0x199282[0x0],_0x199282[0x1]),'height':_0x517c3d,'extrudedHeight':_0x47e859}),_0x10fc64=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x28c837,'attributes':{'color':Cesium[_0x1a4e('0x3940')][_0x1a4e('0x39b4')](this[_0x1a4e('0x4d7e')])}}),_0x5ac6a8=new Cesium['GeometryInstance']({'geometry':_0x5e2f8e,'attributes':{'color':Cesium['ColorGeometryInstanceAttribute'][_0x1a4e('0x39b4')](this[_0x1a4e('0x4d7f')])}});_0x37054d[_0x1a4e('0x46')](_0x10fc64),_0x37054d[_0x1a4e('0x46')](_0x5ac6a8);}_0x37054d[_0x1a4e('0x1e')]>0x0&&(this['_primitive3D']&&this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this['_primitive3D']),this[_0x1a4e('0x4d80')]=this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x37054d,'appearance':new Cesium['PerInstanceColorAppearance']({'flat':!0x0,'renderState':{'lineWidth':Math[_0x1a4e('0x74')](0x2,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x4d81')])}})})));},_0x14ccd4[_0x1a4e('0xa')][_0x1a4e('0x4d82')]=function(_0x14ccd4,_0x37054d,_0x1664da,_0x198fe8,_0x419a75,_0x135f85){void 0x0===_0x419a75&&(_0x419a75=-0x2710),void 0x0===_0x135f85&&(_0x135f85=0x249f0),this[_0x1a4e('0x4d63')]=!0x0,this[_0x1a4e('0x4d73')]={'xmin':_0x14ccd4,'xmax':_0x1664da,'ymin':_0x37054d,'ymax':_0x198fe8};var _0x492235=this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38d7')],_0x5c0490=Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](_0x14ccd4,_0x37054d,_0x1664da,_0x198fe8);this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38d7')]['cartographicLimitRectangle']=_0x5c0490;var _0x64e624={'rectangle':{'coordinates':_0x5c0490,'fill':!0x1,'material':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x4d62')][_0x1a4e('0x39ae')](0.1),'outline':!0x0,'outlineColor':Cesium['Color'][_0x1a4e('0x4d62')][_0x1a4e('0x39ae')](0.7),'height':_0x419a75,'extrudedHeight':_0x135f85}};this[_0x1a4e('0x4d83')]=this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x177')](_0x64e624),this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x411c')][_0x1a4e('0x3a23')]=!0x1,_0x492235[_0x1a4e('0x4d84')]=!0x1,_0x492235[_0x1a4e('0x4d85')]=!0x1,_0x492235[_0x1a4e('0x3bf5')]=!0x1,_0x492235[_0x1a4e('0x4d86')]=void 0x0,this[_0x1a4e('0x4f0')]();},_0x14ccd4[_0x1a4e('0xa')][_0x1a4e('0x4d87')]=function(){this[_0x1a4e('0x4d63')]=!0x1,this[_0x1a4e('0x4d73')]=void 0x0,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['globe']['cartographicLimitRectangle']=void 0x0;var _0x14ccd4=this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')];_0x14ccd4[_0x1a4e('0x4d84')]=!0x0,_0x14ccd4[_0x1a4e('0x4d85')]=!0x0,this[_0x1a4e('0x38d5')]['scene']['skyAtmosphere']['show']=!0x0,_0x14ccd4['backFaceCulling']=!0x0,_0x14ccd4[_0x1a4e('0x4d86')]=!0x0,this[_0x1a4e('0x38d5')][_0x1a4e('0x38e2')][_0x1a4e('0x82')](this[_0x1a4e('0x4d83')]),this[_0x1a4e('0x4f0')]();},_0x14ccd4['prototype']['destroy']=function(){this[_0x1a4e('0x38d5')]['scene']['primitives'][_0x1a4e('0x82')](this['primitive']),this[_0x1a4e('0x4d66')]();},_0x14ccd4;}(),_0x419a75=function(){function _0x14ccd4(_0x14ccd4){}return _0x14ccd4['_getUnderGoundExtent']=function(_0x14ccd4){var _0x37054d,_0x1664da,_0x198fe8,_0x419a75,_0x1f4d98={};_0x37054d=_0x1664da=0x3e7,_0x198fe8=_0x419a75=-0x3e7;var _0xe87bb3=_0x14ccd4[_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x4c1c')][_0x1a4e('0x4c1d')][_0x1a4e('0x4d88')];if(Cesium[_0x1a4e('0x3a0b')](_0xe87bb3)){for(var _0x59d25a=_0xe87bb3[_0x1a4e('0x1e')],_0x171d20=0x0;_0x171d20<_0x59d25a;++_0x171d20){var _0x4430cb=_0xe87bb3[_0x171d20];if(Cesium['defined'](_0x4430cb))for(var _0x53090d=_0x4430cb['length'],_0x12f90a=0x0;_0x12f90a<_0x53090d;++_0x12f90a){var _0x457d45=_0x4430cb[_0x12f90a][_0x1a4e('0x396a')];_0x37054d=Math['min'](_0x37054d,_0x457d45[_0x1a4e('0x394e')]),_0x1664da=Math[_0x1a4e('0x74')](_0x1664da,_0x457d45['south']),_0x198fe8=Math[_0x1a4e('0x6c')](_0x198fe8,_0x457d45['east']),_0x419a75=Math['max'](_0x419a75,_0x457d45[_0x1a4e('0x403b')]);}}return _0x1f4d98[_0x1a4e('0x4c1f')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x37054d),_0x1f4d98['xmax']=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x198fe8),_0x1f4d98['ymin']=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x1664da),_0x1f4d98[_0x1a4e('0x47df')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x419a75),_0x1f4d98;}},_0x14ccd4['_getCurrentExtent']=function(_0x14ccd4){var _0x37054d={},_0x1664da=[],_0x198fe8=_0x14ccd4[_0x1a4e('0x3a06')][_0x1a4e('0x403a')]();return _0x198fe8||(_0x198fe8={'west':-3.141592653589793,'south':-1.5707963267948966,'east':3.141592653589793,'north':1.5707963267948966}),Cesium['Rectangle'][_0x1a4e('0x403c')](_0x198fe8,_0x1664da),_0x37054d[_0x1a4e('0x4c1f')]=Cesium[_0x1a4e('0x1020')]['toDegrees'](_0x1664da[0x0]),_0x37054d['xmax']=Cesium['Math'][_0x1a4e('0x560')](_0x1664da[0x2]),_0x37054d[_0x1a4e('0x47de')]=Cesium[_0x1a4e('0x1020')]['toDegrees'](_0x1664da[0x1]),_0x37054d[_0x1a4e('0x47df')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x1664da[0x3]),_0x37054d;},_0x14ccd4[_0x1a4e('0x4d75')]=function(_0x14ccd4){if(_0x14ccd4){for(var _0x37054d=_0x14ccd4[_0x1a4e('0x38d6')]['globe'][_0x1a4e('0x4c1c')]['_tilesToRender'],_0x1664da=_0x37054d['length'],_0x198fe8=0x0,_0x419a75=0x0;_0x419a75<_0x1664da;_0x419a75++)_0x37054d[_0x419a75]['level']>_0x198fe8&&(_0x198fe8=_0x37054d[_0x419a75]['level']);return _0x198fe8;}},_0x14ccd4['getExtent']=function(_0x37054d){return _0x14ccd4['_getUnderGoundExtent'](_0x37054d);},_0x14ccd4[_0x1a4e('0x29c')]=function(_0x14ccd4){return Cesium[_0x1a4e('0x39fa')]['fromCartesian'](_0x14ccd4['camera'][_0x1a4e('0x3553')])[_0x1a4e('0x152')];},_0x14ccd4;}();},'./src/LayerManager/TileLayer/IconTile.ts':function(_0x1dc9a0,_0xb38fb4,_0x34dbfe){'use strict';_0x34dbfe['r'](_0xb38fb4),_0x34dbfe['d'](_0xb38fb4,_0x1a4e('0x3fc4'),function(){return _0x155ed9;}),_0x34dbfe['d'](_0xb38fb4,_0x1a4e('0x4d89'),function(){return _0x39f02e;});var _0x9b7c39,_0x439c9a=_0x34dbfe(_0x1a4e('0x4d8a')),_0x1fb939=_0x34dbfe(_0x1a4e('0x4d8b')),_0x8e9dba=_0x34dbfe(_0x1a4e('0x4053')),_0x14a625=_0x34dbfe('./src/Utils/Util.ts'),_0x450061=(_0x9b7c39=function(_0x1dc9a0,_0xb38fb4){return(_0x9b7c39=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1dc9a0,_0xb38fb4){_0x1dc9a0['__proto__']=_0xb38fb4;}||function(_0x1dc9a0,_0xb38fb4){for(var _0x34dbfe in _0xb38fb4)_0xb38fb4[_0x1a4e('0xb')](_0x34dbfe)&&(_0x1dc9a0[_0x34dbfe]=_0xb38fb4[_0x34dbfe]);})(_0x1dc9a0,_0xb38fb4);},function(_0x1dc9a0,_0xb38fb4){function _0x34dbfe(){this[_0x1a4e('0x10')]=_0x1dc9a0;}_0x9b7c39(_0x1dc9a0,_0xb38fb4),_0x1dc9a0['prototype']=null===_0xb38fb4?Object[_0x1a4e('0x7')](_0xb38fb4):(_0x34dbfe[_0x1a4e('0xa')]=_0xb38fb4['prototype'],new _0x34dbfe());}),_0xe63237=function(_0x1dc9a0,_0xb38fb4){var _0x34dbfe=_0x1a4e('0x68')==typeof Symbol&&_0x1dc9a0[Symbol[_0x1a4e('0x335')]];if(!_0x34dbfe)return _0x1dc9a0;var _0x9b7c39,_0x439c9a,_0x1fb939=_0x34dbfe[_0x1a4e('0x1')](_0x1dc9a0),_0x8e9dba=[];try{for(;(void 0x0===_0xb38fb4||_0xb38fb4-->0x0)&&!(_0x9b7c39=_0x1fb939[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x8e9dba[_0x1a4e('0x46')](_0x9b7c39[_0x1a4e('0x255')]);}catch(_0x5f4bfa){_0x439c9a={'error':_0x5f4bfa};}finally{try{_0x9b7c39&&!_0x9b7c39[_0x1a4e('0x3c2')]&&(_0x34dbfe=_0x1fb939[_0x1a4e('0xe40')])&&_0x34dbfe[_0x1a4e('0x1')](_0x1fb939);}finally{if(_0x439c9a)throw _0x439c9a[_0x1a4e('0x873')];}}return _0x8e9dba;},_0x5ecd62=function(){for(var _0x1dc9a0=[],_0xb38fb4=0x0;_0xb38fb4=0x0){var _0x1fb939=this['findTileFromCache'](_0x439c9a);Cesium[_0x1a4e('0x3a0b')](_0x1fb939)&&(_0x1fb939[_0x1a4e('0x3b2c')]=!0x1,_0x1fb939[_0x1a4e('0x4da1')]=0x5);}_0x439c9a=(_0xb38fb4=_0x1dc9a0[_0x1a4e('0x2dd0')]+0x1)+'-'+(_0x34dbfe=0x2*_0x1dc9a0['x'])+'-'+(_0x9b7c39=0x2*_0x1dc9a0['y']);var _0x8e9dba=this[_0x1a4e('0x4d4c')](_0x439c9a);Cesium[_0x1a4e('0x3a0b')](_0x8e9dba)&&(_0x8e9dba[_0x1a4e('0x3b2c')]=!0x1,_0x8e9dba['_countdelete']=0x5),_0x439c9a=_0xb38fb4+'-'+(_0x34dbfe+=0x1)+'-'+_0x9b7c39;var _0x14a625=this[_0x1a4e('0x4d4c')](_0x439c9a);Cesium[_0x1a4e('0x3a0b')](_0x14a625)&&(_0x14a625['visible']=!0x1,_0x14a625[_0x1a4e('0x4da1')]=0x5),_0x439c9a=_0xb38fb4+'-'+_0x34dbfe+'-'+(_0x9b7c39+=0x1);var _0x450061=this[_0x1a4e('0x4d4c')](_0x439c9a);Cesium['defined'](_0x450061)&&(_0x450061['visible']=!0x1,_0x450061['_countdelete']=0x5),_0x439c9a=_0xb38fb4+'-'+(_0x34dbfe-=0x1)+'-'+_0x9b7c39;var _0xe63237=this[_0x1a4e('0x4d4c')](_0x439c9a);Cesium['defined'](_0xe63237)&&(_0xe63237['visible']=!0x1,_0xe63237[_0x1a4e('0x4da1')]=0x5);},_0xb38fb4[_0x1a4e('0xa')][_0x1a4e('0x4da2')]=function(_0x1dc9a0,_0xb38fb4,_0x34dbfe){var _0x9b7c39=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x1dc9a0[0x0],_0x1dc9a0[0x1],_0x1dc9a0[0x2]);_0xb38fb4[_0x1a4e('0x177')]({'id':Cesium[_0x1a4e('0x404b')](),'show':!0x0,'scale':this[_0x1a4e('0x3c4')],'position':_0x9b7c39,'image':this[_0x1a4e('0x4433')],'properties':_0x34dbfe});},_0xb38fb4[_0x1a4e('0xa')][_0x1a4e('0x4da3')]=function(_0x1dc9a0,_0xb38fb4,_0x34dbfe){for(var _0x9b7c39=_0x1dc9a0['coordinates'],_0x439c9a=_0x1dc9a0[_0x1a4e('0x43')][_0x1a4e('0x1e')],_0x1fb939=0x0;_0x1fb939<_0x439c9a;_0x1fb939++)this['createBill'](_0x9b7c39[_0x1fb939],_0xb38fb4,_0x34dbfe);},_0xb38fb4[_0x1a4e('0xa')]['processFeature']=function(_0x1dc9a0,_0xb38fb4){null!==_0x1dc9a0[_0x1a4e('0x18')]&&(Cesium[_0x1a4e('0x3a0b')](_0x1dc9a0[_0x1a4e('0x18')])?'LineString'==_0x1dc9a0[_0x1a4e('0x18')][_0x1a4e('0x40')]?this['processBill'](_0x1dc9a0[_0x1a4e('0x18')],_0xb38fb4,_0x1dc9a0['properties']):console[_0x1a4e('0x58')](_0x1a4e('0x4da4')+_0x1dc9a0['geometry']['type']):console[_0x1a4e('0x58')](_0x1a4e('0x4da5')));},_0xb38fb4[_0x1a4e('0xa')][_0x1a4e('0x4da6')]=function(_0x1dc9a0){for(var _0xb38fb4=_0x1dc9a0[_0x1a4e('0x13')]['features'],_0x34dbfe=_0xb38fb4['length'],_0x9b7c39=0x0;_0x9b7c39<_0x34dbfe;_0x9b7c39++)this['processFeature'](_0xb38fb4[_0x9b7c39],_0x1dc9a0);},_0xb38fb4[_0x1a4e('0xa')][_0x1a4e('0x4d4f')]=function(_0x1dc9a0,_0xb38fb4){var _0x34dbfe=this,_0x9b7c39=this['findTileFromCache'](_0xb38fb4);if(Cesium[_0x1a4e('0x3a0b')](_0x9b7c39))_0x9b7c39['prepare']&&(_0x9b7c39[_0x1a4e('0x3b2c')]=!0x0,_0x9b7c39['_countdelete']=0x0,this[_0x1a4e('0x4d47')]['contains'](_0x9b7c39['key'])||(_0x9b7c39[_0x1a4e('0x4da7')](),this[_0x1a4e('0x4da0')](_0x9b7c39),this[_0x1a4e('0x4d47')][_0x1a4e('0x17a')](_0x9b7c39[_0x1a4e('0x35f')],_0x9b7c39))),this['_tileReplacementQueue'][_0x1a4e('0x4d53')](_0x9b7c39);else{if(_0xb38fb4['level']this[_0x1a4e('0x4cac')])return;var _0x1fb939=new _0x439c9a[(_0x1a4e('0x4da9'))]({'key':_0xb38fb4,'scene':_0x1dc9a0});this[_0x1a4e('0x4d44')][_0x1a4e('0x4d53')](_0x1fb939),Cesium[_0x1a4e('0x4d54')][_0x1a4e('0x4d55')](this,!0x1),this[_0x1a4e('0x4d97')][_0x1a4e('0x4daa')](_0x1fb939[_0x1a4e('0x2dd0')],_0x1fb939['x'],_0x1fb939['y'],function(_0x1dc9a0){_0x1fb939[_0x1a4e('0x13')]=_0x1dc9a0,_0x34dbfe[_0x1a4e('0x4da6')](_0x1fb939),_0x1fb939['prepare']=!0x0;},function(_0x1dc9a0){_0x1fb939[_0x1a4e('0x4d50')]=!0x0,console[_0x1a4e('0x58')](_0x1dc9a0);});}},_0xb38fb4[_0x1a4e('0xa')][_0x1a4e('0x4d5d')]=function(_0x1dc9a0){for(var _0xb38fb4=this[_0x1a4e('0x4da8')],_0x34dbfe=this[_0x1a4e('0x4cac')],_0x9b7c39=new Set(),_0x439c9a=0x0;_0x439c9a<_0x1dc9a0[_0x1a4e('0x1e')];_0x439c9a++){var _0x1fb939=_0x1dc9a0[_0x439c9a][_0x1a4e('0x2dd0')];if(!(_0x1fb939this[_0x1a4e('0x4cac')])){var _0x8e9dba=_0x1dc9a0[_0x439c9a]['x'],_0x14a625=_0x1dc9a0[_0x439c9a]['y'];if(_0x1fb939>=_0xb38fb4&&_0x1fb939<=_0x34dbfe)_0x9b7c39[_0x1a4e('0x177')](_0x1fb939+'-'+_0x8e9dba+'-'+_0x14a625);else if(_0x1fb939>_0x34dbfe){for(;_0x1fb939>_0x34dbfe;)_0x1fb939--,_0x8e9dba=parseInt((_0x8e9dba/0x2)['toString']()),_0x14a625=parseInt((_0x14a625/0x2)[_0x1a4e('0x95')]());_0x9b7c39['add'](_0x1fb939+'-'+_0x8e9dba+'-'+_0x14a625);}}}return _0x5ecd62(_0x9b7c39);},_0xb38fb4['prototype']['update']=function(_0x1dc9a0){if(Cesium['defined'](this['_scene'])){this[_0x1a4e('0x4d44')][_0x1a4e('0x4d5e')]();for(var _0xb38fb4=this['_renderTiles']['values'],_0x34dbfe=0x0;_0x34dbfe<_0xb38fb4[_0x1a4e('0x1e')];_0x34dbfe++)_0xb38fb4[_0x34dbfe]['visible']=!0x1;var _0x9b7c39=new Array();this[_0x1a4e('0x3be2')][_0x1a4e('0x38d7')][_0x1a4e('0x4c1c')][_0x1a4e('0x4d5f')](function(_0x1dc9a0){_0x9b7c39[_0x1a4e('0x46')]({'level':_0x1dc9a0[_0x1a4e('0x2dd0')],'x':_0x1dc9a0['x'],'y':_0x1dc9a0['y']});}),_0x9b7c39=this['getRenderTileKeys'](_0x9b7c39);for(var _0x439c9a=0x0;_0x439c9a<_0x9b7c39[_0x1a4e('0x1e')];_0x439c9a++)this[_0x1a4e('0x4d4f')](this[_0x1a4e('0x3be2')],_0x9b7c39[_0x439c9a]);for(var _0x1fb939=(_0xb38fb4=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')])[_0x1a4e('0x1e')]-0x1;_0x1fb939>=0x0;_0x1fb939--){var _0x8e9dba=_0xb38fb4[_0x1fb939];if(!_0x8e9dba[_0x1a4e('0x3b2c')])if(_0x8e9dba[_0x1a4e('0x4da1')]<0xa)_0x8e9dba[_0x1a4e('0x4da1')]++;else{var _0x14a625=_0x8e9dba[_0x1a4e('0x4dab')];Cesium['defined'](_0x14a625)&&(this['_scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x14a625),this['_renderTiles']['remove'](_0x8e9dba[_0x1a4e('0x35f')]));}}for(;this[_0x1a4e('0x4d44')][_0x1a4e('0x389')]>this[_0x1a4e('0x4dac')];){var _0x450061=this[_0x1a4e('0x4d44')][_0x1a4e('0x107f')];if(Cesium[_0x1a4e('0x3a0b')](_0x450061)){_0x14a625=_0x450061['billCollection'];Cesium[_0x1a4e('0x3a0b')](_0x14a625)&&this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x14a625),this['_renderTiles'][_0x1a4e('0x82')](_0x450061[_0x1a4e('0x35f')]);}Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4dad')])&&this[_0x1a4e('0x4dad')]['key']==_0x450061[_0x1a4e('0x35f')]&&(this[_0x1a4e('0x4dad')]=void 0x0),this[_0x1a4e('0x4d44')][_0x1a4e('0x82')](_0x450061);}return!0x0;}},_0xb38fb4['prototype'][_0x1a4e('0x139c')]=function(){var _0x1dc9a0=this[_0x1a4e('0x3be2')];this['_scene']=void 0x0;for(var _0xb38fb4=this[_0x1a4e('0x4d47')]['values'],_0x34dbfe=0x0;_0x34dbfe<_0xb38fb4[_0x1a4e('0x1e')];_0x34dbfe++)_0x1dc9a0['primitives'][_0x1a4e('0x82')](_0xb38fb4[_0x34dbfe][_0x1a4e('0x4dab')]);_0xb38fb4=void 0x0,this[_0x1a4e('0x4d47')][_0x1a4e('0x3a42')](),this[_0x1a4e('0x4d44')][_0x1a4e('0x4d5e')](),this[_0x1a4e('0x4d44')][_0x1a4e('0x4dae')](0x0),Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4d9b')])&&(this['_pickPrimitive'][_0x1a4e('0x4daf')](Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x398e')]),this[_0x1a4e('0x4d9b')]=void 0x0);},_0xb38fb4;}(_0x8e9dba[_0x1a4e('0x3aca')]),_0x39f02e=function(_0x1dc9a0,_0xb38fb4,_0x34dbfe,_0x9b7c39,_0x439c9a,_0x1fb939,_0x8e9dba,_0x14a625){void 0x0===_0x34dbfe&&(_0x34dbfe=_0x1a4e('0x4db0')),void 0x0===_0x9b7c39&&(_0x9b7c39=0x0),void 0x0===_0x439c9a&&(_0x439c9a=0x16),void 0x0===_0x1fb939&&(_0x1fb939=!0x0),void 0x0===_0x8e9dba&&(_0x8e9dba=_0x1a4e('0x38d4')),void 0x0===_0x14a625&&(_0x14a625=0x1),this[_0x1a4e('0x15cf')]=_0x1dc9a0,this[_0x1a4e('0x4770')]=_0xb38fb4,this[_0x1a4e('0x4b42')]=_0x34dbfe,this[_0x1a4e('0x4d8c')]=_0x9b7c39,this[_0x1a4e('0x4cb3')]=_0x439c9a,this['isPick']=_0x1fb939,this[_0x1a4e('0x4d90')]=_0x8e9dba,this[_0x1a4e('0x143')]=_0x14a625;};},'./src/LayerManager/TileLayer/IconTileData.js':function(_0x35fb84,_0xb342eb,_0x34d03d){'use strict';Object['defineProperty'](_0xb342eb,_0x1a4e('0x6'),{'value':!0x0});var _0x57256e=function(){function _0x35fb84(_0x35fb84,_0xb342eb){for(var _0x34d03d=0x0;_0x34d03d<_0xb342eb['length'];_0x34d03d++){var _0x57256e=_0xb342eb[_0x34d03d];_0x57256e[_0x1a4e('0x1359')]=_0x57256e[_0x1a4e('0x1359')]||!0x1,_0x57256e[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x57256e&&(_0x57256e[_0x1a4e('0x1346')]=!0x0),Object['defineProperty'](_0x35fb84,_0x57256e[_0x1a4e('0x35f')],_0x57256e);}}return function(_0xb342eb,_0x34d03d,_0x57256e){return _0x34d03d&&_0x35fb84(_0xb342eb[_0x1a4e('0xa')],_0x34d03d),_0x57256e&&_0x35fb84(_0xb342eb,_0x57256e),_0xb342eb;};}();var _0x434a07=Cesium[_0x1a4e('0x4d95')],_0x17262f=Cesium[_0x1a4e('0x3a46')],_0x9fa022=Cesium[_0x1a4e('0x3a0b')],_0x4f75b4=Cesium[_0x1a4e('0x3b9c')],_0x204ff1=Cesium['BillboardCollection'];_0xb342eb[_0x1a4e('0x4da9')]=function(){function _0x35fb84(_0xb342eb){!function(_0x35fb84,_0xb342eb){if(!(_0x35fb84 instanceof _0xb342eb))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}(this,_0x35fb84),_0xb342eb=_0x17262f(_0xb342eb,_0x17262f[_0x1a4e('0x3bcb')]),this[_0x1a4e('0xa2f')]=_0xb342eb[_0x1a4e('0x35f')];var _0x34d03d=this['_key'];if(!_0x9fa022(_0x34d03d))throw new _0x4f75b4(_0x1a4e('0x4db1'));var _0x57256e=_0x34d03d['indexOf']('-'),_0x204ff1=_0x34d03d[_0x1a4e('0x471')]('-');this[_0x1a4e('0x4ac')]=parseInt(_0x34d03d['substr'](0x0,_0x57256e)),this['_x']=parseInt(_0x34d03d[_0x1a4e('0x254')](_0x57256e+0x1,_0x204ff1-_0x57256e-0x1)),this['_y']=parseInt(_0x34d03d[_0x1a4e('0x254')](_0x204ff1+0x1)),this['_scene']=_0xb342eb[_0x1a4e('0x38d6')],this[_0x1a4e('0x4d33')]=!0x1,this[_0x1a4e('0x3b33')]=!0x1,this[_0x1a4e('0x4db2')]=null,this['_replacementNext']=null,this[_0x1a4e('0x4ad8')]=new _0x434a07(),this[_0x1a4e('0x4db3')]=void 0x0,this['_properties']=void 0x0,this[_0x1a4e('0x4da1')]=0x0;}return _0x57256e(_0x35fb84,[{'key':'freeResources','value':function(){this[_0x1a4e('0x4ad8')][_0x1a4e('0x3a42')]();}},{'key':_0x1a4e('0x177'),'value':function(_0x35fb84){if(!_0x9fa022(_0x35fb84))throw new _0x4f75b4(_0x1a4e('0x4db4'));var _0xb342eb=_0x35fb84['id'];if(!_0x9fa022(_0xb342eb)||_0x1a4e('0x9')!=typeof _0xb342eb&&_0x1a4e('0x3d')!=typeof _0xb342eb)throw new _0x4f75b4(_0x1a4e('0x4db5'));var _0x34d03d=this[_0x1a4e('0x4ad8')];if(_0x34d03d['contains'](_0xb342eb))throw new RuntimeError(_0x1a4e('0x4db6')+_0xb342eb+_0x1a4e('0x4db7'));_0x34d03d[_0x1a4e('0x17a')](_0xb342eb,_0x35fb84);}},{'key':_0x1a4e('0x4da7'),'value':function(){var _0x35fb84=this['_instances'][_0x1a4e('0x35b')];this[_0x1a4e('0x4db3')]=this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](new _0x204ff1());for(var _0xb342eb=0x0;_0xb342eb<_0x35fb84[_0x1a4e('0x1e')];_0xb342eb++)this[_0x1a4e('0x4db3')][_0x1a4e('0x177')](_0x35fb84[_0xb342eb]);return this['_billCollection'];}},{'key':_0x1a4e('0x106e'),'value':function(_0x35fb84){for(var _0xb342eb=this['_instances'][_0x1a4e('0x35b')],_0x34d03d=0x0;_0x34d03d<_0xb342eb['length'];_0x34d03d++)if(_0xb342eb[_0x34d03d]['id']===_0x35fb84)return _0xb342eb[_0x34d03d];}},{'key':_0x1a4e('0x4d9a'),'value':function(_0x35fb84,_0xb342eb){for(var _0x34d03d=this[_0x1a4e('0x4ad8')][_0x1a4e('0x35b')],_0x57256e=0x0;_0x57256e<_0x34d03d[_0x1a4e('0x1e')];_0x57256e++)if(_0x34d03d[_0x57256e]['id']==_0x35fb84){var _0x434a07=this[_0x1a4e('0x4db3')][_0x1a4e('0x179')](_0x57256e);_0x434a07['color']=_0xb342eb||Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39a7')];}}},{'key':_0x1a4e('0x13'),'get':function(){return this[_0x1a4e('0x376c')];},'set':function(_0x35fb84){this[_0x1a4e('0x376c')]=_0x35fb84;}},{'key':_0x1a4e('0x35f'),'get':function(){return this['_key'];}},{'key':'level','get':function(){return this['_level'];}},{'key':'x','get':function(){return this['_x'];}},{'key':'y','get':function(){return this['_y'];}},{'key':_0x1a4e('0x38d6'),'get':function(){return this[_0x1a4e('0x3be2')];}},{'key':_0x1a4e('0x4d50'),'get':function(){return this['_prepare'];},'set':function(_0x35fb84){this[_0x1a4e('0x4d33')]=_0x35fb84;}},{'key':_0x1a4e('0x3b2c'),'get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0x35fb84){this[_0x1a4e('0x3b33')]!==_0x35fb84&&(this[_0x1a4e('0x3b33')]=_0x35fb84);}},{'key':'replacementPrevious','get':function(){return this[_0x1a4e('0x4db2')];},'set':function(_0x35fb84){this[_0x1a4e('0x4db2')]=_0x35fb84;}},{'key':_0x1a4e('0x4d4d'),'get':function(){return this[_0x1a4e('0x4db8')];},'set':function(_0x35fb84){this[_0x1a4e('0x4db8')]=_0x35fb84;}},{'key':_0x1a4e('0x4dab'),'get':function(){return this['_billCollection'];}},{'key':_0x1a4e('0x4db9'),'get':function(){return this['_instances'][_0x1a4e('0x1e')];}}]),_0x35fb84;}();},'./src/LayerManager/TileLayer/JPlaceName/GxGeoRegion.ts':function(_0xa49693,_0x2423c2,_0x5036f8){'use strict';_0x5036f8['r'](_0x2423c2),_0x5036f8['d'](_0x2423c2,_0x1a4e('0x4dba'),function(){return _0x1f10ae;});var _0x1f10ae=function(){function _0xa49693(){}return Object[_0x1a4e('0x2')](_0xa49693[_0x1a4e('0xa')],'CenterX',{'get':function(){return(this[_0x1a4e('0x4dbb')]+this[_0x1a4e('0x4dbc')])/0x2;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xa49693[_0x1a4e('0xa')],_0x1a4e('0x4dbd'),{'get':function(){return(this['MaxY']+this[_0x1a4e('0x4dbe')])/0x2;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0xa49693[_0x1a4e('0xa')],'XSpan',{'get':function(){return this[_0x1a4e('0x4dbb')]-this[_0x1a4e('0x4dbc')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xa49693[_0x1a4e('0xa')],_0x1a4e('0x4dbf'),{'get':function(){return this['MaxY']-this[_0x1a4e('0x4dbe')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xa49693[_0x1a4e('0xa')],'CenterLon',{'get':function(){this['MaxLon']>0x168&&(this['MaxLon']-=0x168);var _0xa49693=this[_0x1a4e('0x4dc0')]+0x168;return(this[_0x1a4e('0x4dc1')]+0x168+_0xa49693)/0x2-0x168;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0xa49693['prototype'],_0x1a4e('0x4dc2'),{'get':function(){return(this[_0x1a4e('0x4dc3')]+this['MinLat'])/0x2;},'enumerable':!0x0,'configurable':!0x0}),_0xa49693;}();},'./src/LayerManager/TileLayer/JPlaceName/JPlaceNameTile.ts':function(_0x568573,_0xbe36a6,_0x4f7476){'use strict';_0x4f7476['r'](_0xbe36a6),_0x4f7476['d'](_0xbe36a6,_0x1a4e('0x4dc4'),function(){return _0x58c9e4;});var _0x2ba375=_0x4f7476(_0x1a4e('0x3999')),_0x94ad7f=function(_0x568573){var _0xbe36a6=_0x1a4e('0x68')==typeof Symbol&&_0x568573[Symbol['iterator']],_0x4f7476=0x0;return _0xbe36a6?_0xbe36a6['call'](_0x568573):{'next':function(){return _0x568573&&_0x4f7476>=_0x568573[_0x1a4e('0x1e')]&&(_0x568573=void 0x0),{'value':_0x568573&&_0x568573[_0x4f7476++],'done':!_0x568573};}};},_0x58c9e4=function(){function _0x568573(){this[_0x1a4e('0x4dc5')]=new Map(),this['labelCollection']=new Cesium[(_0x1a4e('0x4c0e'))](),this[_0x1a4e('0x4dc6')]=new Cesium[(_0x1a4e('0x4393'))](),this[_0x1a4e('0x4c0a')]=new Cesium['PrimitiveCollection']({'show':!0x0});}return _0x568573[_0x1a4e('0xa')][_0x1a4e('0x4dc7')]=function(_0x568573){this[_0x1a4e('0x38d5')]=_0x568573,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](this[_0x1a4e('0x4c0a')]),this['rootcollection'][_0x1a4e('0x177')](this['billboardcollection']),this['rootcollection'][_0x1a4e('0x177')](this[_0x1a4e('0x4486')]);},Object[_0x1a4e('0x2')](_0x568573[_0x1a4e('0xa')],_0x1a4e('0x3a23'),{'get':function(){return this[_0x1a4e('0x4c0a')]['show'];},'set':function(_0x568573){this[_0x1a4e('0x4c0a')][_0x1a4e('0x3a23')]=_0x568573;},'enumerable':!0x0,'configurable':!0x0}),_0x568573[_0x1a4e('0xa')]['load']=function(_0xbe36a6,_0x4f7476){var _0x2ba375,_0x58c9e4,_0x1ef916,_0x392ee6,_0x421ea8,_0xc40a1a;if(!Cesium[_0x1a4e('0x3a0b')](_0xbe36a6))throw new Cesium[(_0x1a4e('0x3b9c'))](_0x1a4e('0x47ee'));if(_0x4f7476){for(var _0x8d69f=this[_0x1a4e('0x4486')][_0x1a4e('0x1e')],_0x1ae9b4=[],_0x1f1547=0x0;_0x1f1547<_0x8d69f;_0x1f1547++){var _0x20bf23=this[_0x1a4e('0x4486')]['get'](_0x1f1547);_0x20bf23['lv']>_0x568573[_0x1a4e('0x4dc8')]&&_0x1ae9b4[_0x1a4e('0x46')](_0x20bf23);}try{for(var _0x479805=_0x94ad7f(_0x1ae9b4),_0x5b932b=_0x479805[_0x1a4e('0x7e')]();!_0x5b932b[_0x1a4e('0x3c2')];_0x5b932b=_0x479805[_0x1a4e('0x7e')]()){var _0x280c5e=_0x5b932b[_0x1a4e('0x255')];this[_0x1a4e('0x4486')][_0x1a4e('0x82')](_0x280c5e);}}catch(_0xb9be8c){_0x2ba375={'error':_0xb9be8c};}finally{try{_0x5b932b&&!_0x5b932b[_0x1a4e('0x3c2')]&&(_0x58c9e4=_0x479805[_0x1a4e('0xe40')])&&_0x58c9e4[_0x1a4e('0x1')](_0x479805);}finally{if(_0x2ba375)throw _0x2ba375[_0x1a4e('0x873')];}}var _0x324053=this[_0x1a4e('0x4dc6')]['length'],_0x15c85f=[];for(_0x1f1547=0x0;_0x1f1547<_0x324053;_0x1f1547++){var _0x2393e6=this[_0x1a4e('0x4dc6')][_0x1a4e('0x179')](_0x1f1547);_0x2393e6['lv']>_0x568573[_0x1a4e('0x4dc8')]&&_0x15c85f[_0x1a4e('0x46')](_0x2393e6);}try{for(var _0x1ae297=_0x94ad7f(_0x15c85f),_0x534503=_0x1ae297[_0x1a4e('0x7e')]();!_0x534503[_0x1a4e('0x3c2')];_0x534503=_0x1ae297[_0x1a4e('0x7e')]()){_0x280c5e=_0x534503[_0x1a4e('0x255')];this[_0x1a4e('0x4dc6')][_0x1a4e('0x82')](_0x280c5e);}}catch(_0x533b99){_0x1ef916={'error':_0x533b99};}finally{try{_0x534503&&!_0x534503[_0x1a4e('0x3c2')]&&(_0x392ee6=_0x1ae297['return'])&&_0x392ee6['call'](_0x1ae297);}finally{if(_0x1ef916)throw _0x1ef916[_0x1a4e('0x873')];}}}try{for(var _0x1ff897=_0x94ad7f(_0xbe36a6),_0x12ffa0=_0x1ff897['next']();!_0x12ffa0['done'];_0x12ffa0=_0x1ff897[_0x1a4e('0x7e')]()){var _0x3c5b90=_0x12ffa0['value'];if(!(_0x3c5b90['LV']>_0x568573['CurrentLV'])){var _0x1d2ba3=_0x3c5b90['WZ'][_0x1a4e('0x78')](0x6,-0x1)[_0x1a4e('0x2be')]('\x20'),_0x2f6295=parseFloat(_0x1d2ba3[0x0]),_0x40e204=parseFloat(_0x1d2ba3[0x1]),_0x483735=_0x3c5b90[_0x1a4e('0x4dc9')]['toFixed'](0x0),_0x19fbab=Number[_0x1a4e('0x282')](_0x483735[_0x1a4e('0x254')](0x0,_0x483735[_0x1a4e('0x1e')]-0xe)),_0x4224fd=this[_0x1a4e('0x4dc5')][_0x1a4e('0x179')](_0x19fbab);if(!_0x4224fd)return;var _0xa5d86f=_0x568573['getPlaceLabelParam'](_0x19fbab),_0x1e3705={'text':_0x3c5b90[_0x1a4e('0x4dca')],'font':_0xa5d86f[0x0]+_0x1a4e('0x447b')+_0x4224fd['FontName'],'fillColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0xa5d86f[0x1]),'outlineColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x568573[_0x1a4e('0x4510')]),'outlineWidth':0x2,'style':Cesium['LabelStyle'][_0x1a4e('0x394c')],'horizontalOrigin':Cesium[_0x1a4e('0x440b')]['LEFT'],'pixelOffset':new Cesium['Cartesian2'](0x5,0x0),'position':Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x2f6295,_0x40e204),'id':_0x3c5b90[_0x1a4e('0x4dcb')]+''};if(this['labelCollection'][_0x1a4e('0x177')](_0x1e3705)['lv']=_0x19fbab,''!=_0xa5d86f[0x2]){var _0xfd1bf={'image':_0xa5d86f[0x2],'width':0x1e,'height':0x1e,'position':Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x2f6295,_0x40e204),'lv':_0x19fbab};this['billboardcollection'][_0x1a4e('0x177')](_0xfd1bf)['lv']=_0x19fbab;}}}}catch(_0x3f7de0){_0x421ea8={'error':_0x3f7de0};}finally{try{_0x12ffa0&&!_0x12ffa0[_0x1a4e('0x3c2')]&&(_0xc40a1a=_0x1ff897[_0x1a4e('0xe40')])&&_0xc40a1a['call'](_0x1ff897);}finally{if(_0x421ea8)throw _0x421ea8[_0x1a4e('0x873')];}}},_0x568573[_0x1a4e('0x4dcc')]=function(_0x568573){var _0xbe36a6=0x0,_0x4f7476='',_0x94ad7f='';switch(_0x568573){case 0x0:case 0x1:_0xbe36a6=0x10;break;case 0x2:_0xbe36a6=0x14;break;case 0x3:_0xbe36a6=0x12,_0x94ad7f=_0x1a4e('0x4dcd');break;case 0x4:case 0x5:_0xbe36a6=0x12,_0x94ad7f=_0x1a4e('0x4dce');break;case 0x6:_0xbe36a6=0x10,_0x94ad7f=_0x1a4e('0x4dcf');break;case 0x7:_0xbe36a6=0xe,_0x94ad7f=_0x1a4e('0x4dd0'),_0x4f7476=_0x1a4e('0x4dd1');break;case 0x8:_0xbe36a6=0xe,_0x94ad7f=_0x1a4e('0x4dd2'),_0x4f7476=_0x1a4e('0x4dd3');break;case 0x9:_0xbe36a6=0x1a,_0x94ad7f=_0x1a4e('0x4dcd'),_0x4f7476=_0x1a4e('0x4dd3');break;case 0x14:_0xbe36a6=0x16,_0x94ad7f=_0x1a4e('0x4dcd'),_0x4f7476=_0x1a4e('0x4dd4');break;case 0x17:_0xbe36a6=0x14,_0x94ad7f='',_0x4f7476=_0x1a4e('0x4dd5');break;case 0x18:case 0x19:case 0x1a:case 0x1b:_0xbe36a6=0x14,_0x94ad7f='',_0x4f7476=_0x1a4e('0x4dd6');break;case 0x1c:case 0x1d:case 0x1e:case 0x1f:case 0x20:case 0x21:case 0x22:case 0x23:case 0x24:case 0x25:case 0x26:case 0x27:case 0x28:case 0x29:case 0x2a:case 0x2b:_0xbe36a6=0x16,_0x94ad7f='',_0x4f7476=_0x1a4e('0x4dd6');break;case 0x2c:_0xbe36a6=0x14,_0x94ad7f='',_0x4f7476=_0x1a4e('0x4dd3');break;case 0x2d:case 0x2e:case 0x2f:case 0x30:case 0x31:case 0x32:case 0x33:case 0x34:case 0x35:case 0x36:case 0x37:case 0x38:case 0x39:case 0x3a:case 0x3b:case 0x3c:case 0x3d:case 0x3e:case 0x3f:case 0x40:case 0x41:_0xbe36a6=0x12,_0x94ad7f='',_0x4f7476=_0x1a4e('0x4dd7');break;case 0x65:_0xbe36a6=0x16,_0x94ad7f='',_0x4f7476=_0x1a4e('0x4dd5');break;case 0x2be:_0xbe36a6=0x13,_0x94ad7f='',_0x4f7476=_0x1a4e('0x4dd3');break;case 0x322:_0xbe36a6=0x13,_0x94ad7f=_0x1a4e('0x4dd2'),_0x4f7476=_0x1a4e('0x4dd8');break;case 0x4844:_0xbe36a6=0x12,_0x94ad7f='',_0x4f7476=_0x1a4e('0x4dd7');break;default:_0xbe36a6=0x10,_0x94ad7f=_0x1a4e('0x4dd2'),_0x4f7476=_0x1a4e('0x4dd7');}return''!=_0x94ad7f&&(_0x94ad7f=_0x2ba375['Util']['formatUrlByBaseJs']('./resources/image/JPlace/')+_0x94ad7f),[_0xbe36a6,_0x4f7476='#'+_0x4f7476,_0x94ad7f];},_0x568573['CurrentLV']=0x0,_0x568573[_0x1a4e('0x4dd9')]=[],_0x568573['borderColor']=_0x1a4e('0x420b'),_0x568573;}();},'./src/LayerManager/TileLayer/JPlaceName/PlaceNameService.ts':function(_0x2d9376,_0x1157c7,_0x192c45){'use strict';_0x192c45['r'](_0x1157c7),_0x192c45['d'](_0x1157c7,_0x1a4e('0x3ff8'),function(){return _0x4db5a3;});var _0x2dfc6f=_0x192c45('./src/LayerManager/TileLayer/JPlaceName/JPlaceNameTile.ts'),_0x8ed107=_0x192c45(_0x1a4e('0x3999')),_0xa1e2dc=_0x192c45(_0x1a4e('0x4dda')),_0x3d708d=_0x192c45(_0x1a4e('0x4ddb')),_0x127e62=_0x192c45(_0x1a4e('0x4ddc')),_0x4cfd84=function(_0x2d9376,_0x1157c7,_0x192c45,_0x2dfc6f){return new(_0x192c45||(_0x192c45=Promise))(function(_0x8ed107,_0xa1e2dc){function _0x3d708d(_0x2d9376){try{_0x4cfd84(_0x2dfc6f[_0x1a4e('0x7e')](_0x2d9376));}catch(_0x1b6114){_0xa1e2dc(_0x1b6114);}}function _0x127e62(_0x2d9376){try{_0x4cfd84(_0x2dfc6f[_0x1a4e('0x1362')](_0x2d9376));}catch(_0x3f3bdc){_0xa1e2dc(_0x3f3bdc);}}function _0x4cfd84(_0x2d9376){_0x2d9376[_0x1a4e('0x3c2')]?_0x8ed107(_0x2d9376[_0x1a4e('0x255')]):new _0x192c45(function(_0x1157c7){_0x1157c7(_0x2d9376['value']);})[_0x1a4e('0xdf8')](_0x3d708d,_0x127e62);}_0x4cfd84((_0x2dfc6f=_0x2dfc6f[_0x1a4e('0x8b')](_0x2d9376,_0x1157c7||[]))[_0x1a4e('0x7e')]());});},_0x272d69=function(_0x2d9376,_0x1157c7){var _0x192c45,_0x2dfc6f,_0x8ed107,_0xa1e2dc,_0x3d708d={'label':0x0,'sent':function(){if(0x1&_0x8ed107[0x0])throw _0x8ed107[0x1];return _0x8ed107[0x1];},'trys':[],'ops':[]};return _0xa1e2dc={'next':_0x127e62(0x0),'throw':_0x127e62(0x1),'return':_0x127e62(0x2)},'function'==typeof Symbol&&(_0xa1e2dc[Symbol[_0x1a4e('0x335')]]=function(){return this;}),_0xa1e2dc;function _0x127e62(_0xa1e2dc){return function(_0x127e62){return function(_0xa1e2dc){if(_0x192c45)throw new TypeError(_0x1a4e('0x16f8'));for(;_0x3d708d;)try{if(_0x192c45=0x1,_0x2dfc6f&&(_0x8ed107=0x2&_0xa1e2dc[0x0]?_0x2dfc6f[_0x1a4e('0xe40')]:_0xa1e2dc[0x0]?_0x2dfc6f['throw']||((_0x8ed107=_0x2dfc6f[_0x1a4e('0xe40')])&&_0x8ed107[_0x1a4e('0x1')](_0x2dfc6f),0x0):_0x2dfc6f['next'])&&!(_0x8ed107=_0x8ed107['call'](_0x2dfc6f,_0xa1e2dc[0x1]))[_0x1a4e('0x3c2')])return _0x8ed107;switch(_0x2dfc6f=0x0,_0x8ed107&&(_0xa1e2dc=[0x2&_0xa1e2dc[0x0],_0x8ed107[_0x1a4e('0x255')]]),_0xa1e2dc[0x0]){case 0x0:case 0x1:_0x8ed107=_0xa1e2dc;break;case 0x4:return _0x3d708d['label']++,{'value':_0xa1e2dc[0x1],'done':!0x1};case 0x5:_0x3d708d[_0x1a4e('0x1bc')]++,_0x2dfc6f=_0xa1e2dc[0x1],_0xa1e2dc=[0x0];continue;case 0x7:_0xa1e2dc=_0x3d708d[_0x1a4e('0x166a')]['pop'](),_0x3d708d['trys'][_0x1a4e('0x76')]();continue;default:if(!(_0x8ed107=(_0x8ed107=_0x3d708d['trys'])[_0x1a4e('0x1e')]>0x0&&_0x8ed107[_0x8ed107['length']-0x1])&&(0x6===_0xa1e2dc[0x0]||0x2===_0xa1e2dc[0x0])){_0x3d708d=0x0;continue;}if(0x3===_0xa1e2dc[0x0]&&(!_0x8ed107||_0xa1e2dc[0x1]>_0x8ed107[0x0]&&_0xa1e2dc[0x1]<_0x8ed107[0x3])){_0x3d708d[_0x1a4e('0x1bc')]=_0xa1e2dc[0x1];break;}if(0x6===_0xa1e2dc[0x0]&&_0x3d708d[_0x1a4e('0x1bc')]<_0x8ed107[0x1]){_0x3d708d[_0x1a4e('0x1bc')]=_0x8ed107[0x1],_0x8ed107=_0xa1e2dc;break;}if(_0x8ed107&&_0x3d708d[_0x1a4e('0x1bc')]<_0x8ed107[0x2]){_0x3d708d['label']=_0x8ed107[0x2],_0x3d708d[_0x1a4e('0x166a')][_0x1a4e('0x46')](_0xa1e2dc);break;}_0x8ed107[0x2]&&_0x3d708d[_0x1a4e('0x166a')]['pop'](),_0x3d708d['trys'][_0x1a4e('0x76')]();continue;}_0xa1e2dc=_0x1157c7[_0x1a4e('0x1')](_0x2d9376,_0x3d708d);}catch(_0x4d05b5){_0xa1e2dc=[0x6,_0x4d05b5],_0x2dfc6f=0x0;}finally{_0x192c45=_0x8ed107=0x0;}if(0x5&_0xa1e2dc[0x0])throw _0xa1e2dc[0x1];return{'value':_0xa1e2dc[0x0]?_0xa1e2dc[0x1]:void 0x0,'done':!0x0};}([_0xa1e2dc,_0x127e62]);};}},_0x22d4c1=function(_0x2d9376){var _0x1157c7=_0x1a4e('0x68')==typeof Symbol&&_0x2d9376[Symbol[_0x1a4e('0x335')]],_0x192c45=0x0;return _0x1157c7?_0x1157c7[_0x1a4e('0x1')](_0x2d9376):{'next':function(){return _0x2d9376&&_0x192c45>=_0x2d9376[_0x1a4e('0x1e')]&&(_0x2d9376=void 0x0),{'value':_0x2d9376&&_0x2d9376[_0x192c45++],'done':!_0x2d9376};}};},_0x4db5a3=function(){function _0x2d9376(_0x2d9376,_0x1157c7){void 0x0===_0x1157c7&&(_0x1157c7=_0x1a4e('0x4ddd')),this['baseurl']='',this[_0x1a4e('0x4301')]=new _0x2dfc6f['JPlaceNameTile'](),this[_0x1a4e('0x4dc5')]=new Map(),this[_0x1a4e('0x3b33')]=!0x0,this[_0x1a4e('0x4dde')]=Math['PI']/0xb4,this[_0x1a4e('0x4ddf')]=_0x1157c7,this[_0x1a4e('0x38d5')]=_0x2d9376,this[_0x1a4e('0x4de0')](),this['showPlaceName']();}return Object[_0x1a4e('0x2')](_0x2d9376[_0x1a4e('0xa')],_0x1a4e('0x3b2c'),{'get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0x2d9376){this[_0x1a4e('0x4301')]&&(this[_0x1a4e('0x3b33')]=_0x2d9376,this['collection']['rootcollection'][_0x1a4e('0x3a23')]=this['_visible']);},'enumerable':!0x0,'configurable':!0x0}),_0x2d9376['prototype'][_0x1a4e('0x4de0')]=function(){var _0x2d9376,_0x1157c7,_0x192c45=_0x8ed107['Util'][_0x1a4e('0x4de1')](_0x8ed107[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x4de2')));try{for(var _0x2dfc6f=_0x22d4c1(_0x192c45),_0xa1e2dc=_0x2dfc6f[_0x1a4e('0x7e')]();!_0xa1e2dc['done'];_0xa1e2dc=_0x2dfc6f[_0x1a4e('0x7e')]()){var _0x3d708d=_0xa1e2dc[_0x1a4e('0x255')];this[_0x1a4e('0x4dc5')][_0x1a4e('0x17a')](_0x3d708d[_0x1a4e('0x4de3')],_0x3d708d[_0x1a4e('0x4de4')]);}}catch(_0xc2b5ac){_0x2d9376={'error':_0xc2b5ac};}finally{try{_0xa1e2dc&&!_0xa1e2dc[_0x1a4e('0x3c2')]&&(_0x1157c7=_0x2dfc6f[_0x1a4e('0xe40')])&&_0x1157c7[_0x1a4e('0x1')](_0x2dfc6f);}finally{if(_0x2d9376)throw _0x2d9376[_0x1a4e('0x873')];}}},_0x2d9376[_0x1a4e('0xa')][_0x1a4e('0x4de5')]=function(){var _0x2d9376=this;setTimeout(function(){_0x2d9376[_0x1a4e('0x4301')][_0x1a4e('0x4dc5')]=_0x2d9376[_0x1a4e('0x4dc5')],_0x2d9376[_0x1a4e('0x4301')][_0x1a4e('0x4dc7')](_0x2d9376[_0x1a4e('0x38d5')]),_0x2d9376[_0x1a4e('0x38d5')][_0x1a4e('0x3a06')][_0x1a4e('0x41af')][_0x1a4e('0xec5')](function(_0x1157c7){_0x2d9376[_0x1a4e('0x4de6')](_0x2d9376[_0x1a4e('0x38d5')]);}),_0x2d9376[_0x1a4e('0x4de6')](_0x2d9376['viewer']);},0x3e8);},_0x2d9376[_0x1a4e('0xa')]['onCameraChange']=function(_0x2d9376){return _0x4cfd84(this,void 0x0,void 0x0,function(){var _0x1157c7,_0x192c45,_0x8ed107,_0x127e62,_0x4cfd84,_0x4db5a3,_0xa479fd,_0x33b024,_0x1a047c,_0x6e9015,_0x3aa9c1,_0x3a0cc6,_0x4c2885,_0x27d6cd,_0x3705f1,_0x37926b,_0x4323b7,_0x39982a,_0x55e3b1,_0x99af39,_0x20b1a1,_0x461615;return _0x272d69(this,function(_0x272d69){switch(_0x272d69[_0x1a4e('0x1bc')]){case 0x0:_0x1157c7=this[_0x1a4e('0x4de7')](),_0x192c45=0x1,(_0x192c45=Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x2a')](_0x2d9376[_0x1a4e('0x38d6')][_0x1a4e('0x3934')][_0x1a4e('0x152')]/0x400)))<0x1&&(_0x192c45=0x1),(_0x8ed107=new _0xa1e2dc[(_0x1a4e('0x4dba'))]())[_0x1a4e('0x4dbc')]=_0x1157c7[_0x1a4e('0x4c1f')],_0x8ed107[_0x1a4e('0x4dbe')]=_0x1157c7[_0x1a4e('0x47de')],_0x8ed107[_0x1a4e('0x4dbb')]=_0x1157c7[_0x1a4e('0x47dd')],_0x8ed107[_0x1a4e('0x4de8')]=_0x1157c7[_0x1a4e('0x47df')],_0x127e62=_0x2d9376[_0x1a4e('0x3a06')][_0x1a4e('0x3e67')][_0x1a4e('0x152')],_0x4cfd84=this[_0x1a4e('0x4de9')](_0x8ed107,_0x192c45),_0x127e62>0x7c2832&&((_0x4cfd84=[])[_0x1a4e('0x46')](new _0x3d708d[(_0x1a4e('0x4dea'))](0x0,0x0,0x0)),_0x4cfd84[_0x1a4e('0x46')](new _0x3d708d[(_0x1a4e('0x4dea'))](0x0,0x0,0x1)),_0x4cfd84[_0x1a4e('0x46')](new _0x3d708d[(_0x1a4e('0x4dea'))](0x0,0x1,0x0)),_0x4cfd84[_0x1a4e('0x46')](new _0x3d708d[(_0x1a4e('0x4dea'))](0x0,0x1,0x1))),_0x4db5a3='';try{for(_0xa479fd=_0x22d4c1(_0x4cfd84),_0x33b024=_0xa479fd[_0x1a4e('0x7e')]();!_0x33b024[_0x1a4e('0x3c2')];_0x33b024=_0xa479fd[_0x1a4e('0x7e')]())_0x1a047c=_0x33b024[_0x1a4e('0x255')],_0x4db5a3+=_0x1a047c['Code']();}catch(_0xb9099e){_0x55e3b1={'error':_0xb9099e};}finally{try{_0x33b024&&!_0x33b024[_0x1a4e('0x3c2')]&&(_0x99af39=_0xa479fd[_0x1a4e('0xe40')])&&_0x99af39[_0x1a4e('0x1')](_0xa479fd);}finally{if(_0x55e3b1)throw _0x55e3b1[_0x1a4e('0x873')];}}if(this['oldgeocoord']==_0x4db5a3)return[0x2];this[_0x1a4e('0x4deb')]=_0x4db5a3,_0x6e9015=_0x4cfd84[_0x1a4e('0x89')](function(_0x2d9376,_0x1157c7){return _0x1157c7[_0x1a4e('0x4dec')]-_0x2d9376[_0x1a4e('0x4dec')];})[0x0]['Level'],_0x3aa9c1=[],_0x3a0cc6=_0x4cfd84[_0x1a4e('0xd9')](function(_0x2d9376){return _0x2d9376[_0x1a4e('0x4dec')]==_0x6e9015;}),_0x2dfc6f[_0x1a4e('0x4dc4')]['CurrentLV']=_0x6e9015,0x0,_0x272d69['label']=0x1;case 0x1:_0x272d69['trys'][_0x1a4e('0x46')]([0x1,0x6,0x7,0x8]),_0x4c2885=_0x22d4c1(_0x3a0cc6),_0x27d6cd=_0x4c2885['next'](),_0x272d69[_0x1a4e('0x1bc')]=0x2;case 0x2:return _0x27d6cd['done']?[0x3,0x5]:(_0x3705f1=_0x27d6cd['value'],_0x37926b=this[_0x1a4e('0x4ddf')]+_0x3705f1[_0x1a4e('0x3169')](),[0x4,this[_0x1a4e('0x4ded')](_0x37926b)]);case 0x3:(_0x4323b7=_0x272d69[_0x1a4e('0x128a')]())&&_0x4323b7[_0x1a4e('0x3b')](function(_0x2d9376){return _0x3aa9c1[_0x1a4e('0x46')](_0x2d9376);}),_0x272d69[_0x1a4e('0x1bc')]=0x4;case 0x4:return _0x27d6cd=_0x4c2885[_0x1a4e('0x7e')](),[0x3,0x2];case 0x5:return[0x3,0x8];case 0x6:return _0x39982a=_0x272d69['sent'](),_0x20b1a1={'error':_0x39982a},[0x3,0x8];case 0x7:try{_0x27d6cd&&!_0x27d6cd[_0x1a4e('0x3c2')]&&(_0x461615=_0x4c2885[_0x1a4e('0xe40')])&&_0x461615[_0x1a4e('0x1')](_0x4c2885);}finally{if(_0x20b1a1)throw _0x20b1a1[_0x1a4e('0x873')];}return[0x7];case 0x8:return this['collection']['load'](_0x3aa9c1,!0x0),[0x2];}});});},_0x2d9376[_0x1a4e('0xa')][_0x1a4e('0x4de9')]=function(_0x2d9376,_0x1157c7){var _0x192c45,_0x2dfc6f,_0x8ed107=new Array();if(Number[_0x1a4e('0x231')](_0x2d9376[_0x1a4e('0x4dbd')])||Number[_0x1a4e('0x231')](_0x2d9376['CenterX'])||Number[_0x1a4e('0x231')](_0x2d9376['XSpan']))return _0x8ed107;for(var _0xa1e2dc=Math[_0x1a4e('0x65')](_0x2d9376[_0x1a4e('0x4dbf')]/_0x1157c7*0x4/Math['cos'](_0x2d9376[_0x1a4e('0x4dbd')]*this[_0x1a4e('0x4dde')])),_0x127e62=0x1,_0x4cfd84=0x5a;_0x4cfd84>_0xa1e2dc&&_0x127e62<0xf;)_0x4cfd84/=0x4,_0x127e62+=0x2;for(var _0x272d69=Math[_0x1a4e('0xb4')]((_0x2d9376[_0x1a4e('0x4dbe')]+0x5a)/_0x4cfd84),_0x4db5a3=Math[_0x1a4e('0xb4')]((_0x2d9376[_0x1a4e('0x4de8')]+0x5a)/_0x4cfd84),_0x50b273=Math[_0x1a4e('0xb4')]((_0x2d9376[_0x1a4e('0x4dbc')]+0xb4)/_0x4cfd84),_0x2af32e=Math['floor']((_0x2d9376['MaxX']+0xb4)/_0x4cfd84),_0x5c49c3=_0x272d69;_0x5c49c3<=_0x4db5a3;_0x5c49c3++)for(var _0x378d80=_0x50b273;_0x378d80<=_0x2af32e;_0x378d80++)_0x8ed107[_0x1a4e('0x46')](new _0x3d708d['QRTile'](_0x127e62,_0x5c49c3,_0x378d80));var _0x57b202=new Map();try{for(var _0x43e226=_0x22d4c1(_0x8ed107),_0x4078dc=_0x43e226['next']();!_0x4078dc[_0x1a4e('0x3c2')];_0x4078dc=_0x43e226[_0x1a4e('0x7e')]()){var _0x3ac17b=_0x4078dc[_0x1a4e('0x255')];this['CaculateTile'](_0x3ac17b,_0x57b202);}}catch(_0x1c941a){_0x192c45={'error':_0x1c941a};}finally{try{_0x4078dc&&!_0x4078dc[_0x1a4e('0x3c2')]&&(_0x2dfc6f=_0x43e226[_0x1a4e('0xe40')])&&_0x2dfc6f['call'](_0x43e226);}finally{if(_0x192c45)throw _0x192c45[_0x1a4e('0x873')];}}return _0x57b202[_0x1a4e('0x3b')](function(_0x2d9376){_0x8ed107['push'](_0x2d9376);}),_0x8ed107;},_0x2d9376[_0x1a4e('0xa')][_0x1a4e('0x4dee')]=function(_0x2d9376,_0x1157c7){if(_0x2d9376[_0x1a4e('0x4dec')]>=0x3){var _0x192c45=_0x2d9376['Level']-0x2,_0x2dfc6f=Math['floor'](_0x2d9376[_0x1a4e('0x4def')]/0x4),_0x8ed107=Math[_0x1a4e('0xb4')](_0x2d9376[_0x1a4e('0x4df0')]/0x4),_0xa1e2dc=_0x192c45+'_'+_0x2dfc6f+'_'+_0x8ed107;if(!_0x1157c7[_0x1a4e('0x178')](_0xa1e2dc)){var _0x127e62=new _0x3d708d[(_0x1a4e('0x4dea'))](_0x192c45,_0x2dfc6f,_0x8ed107);_0x1157c7[_0x1a4e('0x17a')](_0xa1e2dc,_0x127e62),this[_0x1a4e('0x4dee')](_0x127e62,_0x1157c7);}}},_0x2d9376[_0x1a4e('0xa')][_0x1a4e('0x4ded')]=function(_0x2d9376){return new Promise(function(_0x1157c7,_0x192c45){var _0x2dfc6f=new XMLHttpRequest();_0x2dfc6f['open'](_0x1a4e('0x1625'),_0x2d9376),_0x2dfc6f['onreadystatechange']=function(){0x4===this[_0x1a4e('0x1627')]&&(0xc8===this[_0x1a4e('0xe02')]?_0x1157c7(this[_0x1a4e('0x41b8')]):_0x192c45(new Error(this[_0x1a4e('0x4df1')])));},_0x2dfc6f[_0x1a4e('0x41b6')]=_0x1a4e('0x1a7'),_0x2dfc6f[_0x1a4e('0x4df2')](_0x1a4e('0x3c4d'),'application/json'),_0x2dfc6f[_0x1a4e('0x1626')]();});},_0x2d9376['prototype'][_0x1a4e('0x4de7')]=function(){var _0x2d9376=new _0x127e62[(_0x1a4e('0x4df3'))](),_0x1157c7=this[_0x1a4e('0x38d5')][_0x1a4e('0x3a06')]['computeViewRectangle']();if(_0x1157c7){var _0x192c45=_0x1157c7[_0x1a4e('0x394e')]/Math['PI']*0xb4,_0x2dfc6f=_0x1157c7[_0x1a4e('0x403b')]/Math['PI']*0xb4,_0x8ed107=_0x1157c7[_0x1a4e('0x3950')]/Math['PI']*0xb4,_0xa1e2dc=_0x1157c7[_0x1a4e('0x394f')]/Math['PI']*0xb4;_0x2d9376[_0x1a4e('0x4c1f')]=_0x192c45,_0x2d9376[_0x1a4e('0x47dd')]=_0x8ed107,_0x2d9376[_0x1a4e('0x47de')]=_0xa1e2dc,_0x2d9376[_0x1a4e('0x47df')]=_0x2dfc6f;}return _0x2d9376;},_0x2d9376;}();},'./src/LayerManager/TileLayer/JPlaceName/QRTile.ts':function(_0x11e856,_0x253c8a,_0x366414){'use strict';_0x366414['r'](_0x253c8a),_0x366414['d'](_0x253c8a,_0x1a4e('0x4dea'),function(){return _0x3c7540;});var _0x3c7540=function(){function _0x11e856(_0x11e856,_0x253c8a,_0x366414){this[_0x1a4e('0x4dec')]=_0x11e856,this[_0x1a4e('0x4def')]=_0x253c8a,this['Col']=_0x366414;}return _0x11e856[_0x1a4e('0xa')][_0x1a4e('0x4df4')]=function(_0x11e856){return(_0x1a4e('0x98e')+_0x11e856)[_0x1a4e('0x78')](-0x7);},_0x11e856[_0x1a4e('0xa')][_0x1a4e('0x3169')]=function(){return''+this[_0x1a4e('0x4dec')]+this[_0x1a4e('0x4df4')](this['Row'])+this[_0x1a4e('0x4df4')](this[_0x1a4e('0x4df0')]);},_0x11e856;}();},'./src/LayerManager/TileLayer/JPlaceName/ViewerSceen.ts':function(_0x1a7624,_0x15a236,_0x4e7602){'use strict';_0x4e7602['r'](_0x15a236),_0x4e7602['d'](_0x15a236,_0x1a4e('0x4df3'),function(){return _0x2a38fd;});var _0x2a38fd=function(){this[_0x1a4e('0x4c1f')]=0x0,this[_0x1a4e('0x47de')]=0x0,this[_0x1a4e('0x47dd')]=0x0,this[_0x1a4e('0x47df')]=0x0,this['height']=0x0;};},'./src/LayerManager/TileLayer/JQPlaceNameTile.ts':function(_0x3b00e7,_0x1fa56a,_0x2f8932){'use strict';_0x2f8932['r'](_0x1fa56a),_0x2f8932['d'](_0x1fa56a,_0x1a4e('0x3fc1'),function(){return _0x5d874d;}),_0x2f8932['d'](_0x1fa56a,_0x1a4e('0x4df5'),function(){return _0xc2d0e2;}),_0x2f8932['d'](_0x1fa56a,_0x1a4e('0x4df6'),function(){return _0x2de2a5;}),_0x2f8932['d'](_0x1fa56a,'PlacenameWrraper',function(){return _0x3073d6;}),_0x2f8932['d'](_0x1fa56a,'placeNameImageryProvider',function(){return _0x248244;});var _0x2ade33,_0x56bb23=_0x2f8932('./src/LayerManager/TileLayer/PlaceTile.js'),_0x56838b=_0x2f8932['n'](_0x56bb23),_0x285ed4=_0x2f8932(_0x1a4e('0x4053')),_0x8f6980=_0x2f8932(_0x1a4e('0x3999')),_0x3cd979=(_0x2ade33=function(_0x3b00e7,_0x1fa56a){return(_0x2ade33=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x3b00e7,_0x1fa56a){_0x3b00e7[_0x1a4e('0x295')]=_0x1fa56a;}||function(_0x3b00e7,_0x1fa56a){for(var _0x2f8932 in _0x1fa56a)_0x1fa56a[_0x1a4e('0xb')](_0x2f8932)&&(_0x3b00e7[_0x2f8932]=_0x1fa56a[_0x2f8932]);})(_0x3b00e7,_0x1fa56a);},function(_0x3b00e7,_0x1fa56a){function _0x2f8932(){this['constructor']=_0x3b00e7;}_0x2ade33(_0x3b00e7,_0x1fa56a),_0x3b00e7[_0x1a4e('0xa')]=null===_0x1fa56a?Object[_0x1a4e('0x7')](_0x1fa56a):(_0x2f8932[_0x1a4e('0xa')]=_0x1fa56a[_0x1a4e('0xa')],new _0x2f8932());}),_0xa33d2b=function(_0x3b00e7,_0x1fa56a){var _0x2f8932=_0x1a4e('0x68')==typeof Symbol&&_0x3b00e7[Symbol['iterator']];if(!_0x2f8932)return _0x3b00e7;var _0x2ade33,_0x56bb23,_0x56838b=_0x2f8932['call'](_0x3b00e7),_0x285ed4=[];try{for(;(void 0x0===_0x1fa56a||_0x1fa56a-->0x0)&&!(_0x2ade33=_0x56838b['next']())[_0x1a4e('0x3c2')];)_0x285ed4[_0x1a4e('0x46')](_0x2ade33[_0x1a4e('0x255')]);}catch(_0x4bd5a8){_0x56bb23={'error':_0x4bd5a8};}finally{try{_0x2ade33&&!_0x2ade33[_0x1a4e('0x3c2')]&&(_0x2f8932=_0x56838b[_0x1a4e('0xe40')])&&_0x2f8932[_0x1a4e('0x1')](_0x56838b);}finally{if(_0x56bb23)throw _0x56bb23['error'];}}return _0x285ed4;},_0x49429e=function(){for(var _0x3b00e7=[],_0x1fa56a=0x0;_0x1fa56a=0x0;_0x285ed4--){var _0x8f6980=_0x1fa56a[_0x285ed4];_0x8f6980['visible']&&-0x1==_0x2ade33['indexOf'](_0x8f6980[_0x1a4e('0x35f')])||(_0x8f6980[_0x1a4e('0x4d52')]=!0x0,Cesium[_0x1a4e('0x3a0b')](_0x8f6980[_0x1a4e('0x4486')])&&this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x8f6980[_0x1a4e('0x4486')]),this[_0x1a4e('0x4d47')]['remove'](_0x8f6980[_0x1a4e('0x35f')]),0x0===this[_0x1a4e('0x4df8')]&&(this[_0x1a4e('0x4df8')]=0x1));}this['_tileReplacementQueue']['trimTiles'](this['_tileCacheSize']),this[_0x1a4e('0x4df8')]>0x0&&(this[_0x1a4e('0x804')](),this[_0x1a4e('0x4df8')]--);}else for(_0x1fa56a=this[_0x1a4e('0x4d47')]['values'],_0x2f8932=0x0;_0x2f8932<_0x1fa56a[_0x1a4e('0x1e')];_0x2f8932++){var _0x3cd979=_0x1fa56a[_0x2f8932]['_labelCollection'];if(_0x3cd979&&_0x3cd979[_0x1a4e('0x1e')]>0x0)for(_0x285ed4=0x0;_0x285ed4<_0x3cd979[_0x1a4e('0x1e')];_0x285ed4++)_0x3cd979[_0x1a4e('0x179')](_0x285ed4)['show']=!0x1;}},_0x1fa56a['prototype'][_0x1a4e('0x296')]=function(_0x3b00e7){return _0x3b00e7[_0x1a4e('0x196')]['x'];},_0x1fa56a[_0x1a4e('0xa')][_0x1a4e('0x292')]=function(_0x3b00e7){return _0x3b00e7[_0x1a4e('0x196')]['y'];},_0x1fa56a[_0x1a4e('0xa')][_0x1a4e('0x804')]=function(){for(var _0x3b00e7=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x1fa56a=[],_0x2f8932=0x0;_0x2f8932<_0x3b00e7[_0x1a4e('0x1e')];_0x2f8932++){var _0x2ade33=_0x3b00e7[_0x2f8932][_0x1a4e('0x4486')];if(Cesium['defined'](_0x2ade33))for(var _0x56bb23=0x0;_0x56bb23<_0x2ade33[_0x1a4e('0x1e')];_0x56bb23++){if((_0x2de2a5=_0x2ade33[_0x1a4e('0x179')](_0x56bb23))[_0x1a4e('0x4e04')]=!0x0,_0x2de2a5['show']){var _0x56838b=_0x2de2a5['computeScreenSpacePosition'](this[_0x1a4e('0x3be2')]);if(Cesium[_0x1a4e('0x3a0b')](_0x56838b)){var _0x285ed4=new Cesium[(_0x1a4e('0x4629'))]();_0x285ed4=Cesium[_0x1a4e('0x191a')][_0x1a4e('0x4e05')](_0x2de2a5,_0x56838b,_0x285ed4),_0x1fa56a[_0x1a4e('0x46')]({'index':_0x56bb23,'collection':_0x2ade33,'clustered':!0x1,'coord':_0x56838b,'bbox':_0x285ed4});}}}}for(var _0x8f6980=Cesium[_0x1a4e('0x4e06')](_0x1fa56a,this['getX'],this[_0x1a4e('0x292')],0x40,Int32Array),_0x3cd979=[],_0xa33d2b=0x0;_0xa33d2b<_0x1fa56a[_0x1a4e('0x1e')];_0xa33d2b++){var _0x49429e=_0x1fa56a[_0xa33d2b];if(!_0x49429e[_0x1a4e('0x4e07')]){_0x285ed4=_0x49429e['bbox'];for(var _0x5b91ab=!0x1,_0x5d874d=0x0;_0x5d874d<_0x3cd979[_0x1a4e('0x1e')];_0x5d874d++)if(Cesium[_0x1a4e('0x4629')][_0x1a4e('0x818')](_0x285ed4,_0x3cd979[_0x5d874d])===Cesium[_0x1a4e('0x434c')][_0x1a4e('0x434e')]){(_0x2de2a5=_0x49429e[_0x1a4e('0x4301')]['get'](_0x49429e['index']))['clusterShow']=!0x1,_0x49429e['clustered']=!0x0,_0x5b91ab=!0x0;break;}if(!_0x5b91ab){_0x3cd979[_0x1a4e('0x46')](_0x285ed4);var _0xc2d0e2=_0x8f6980[_0x1a4e('0x1075')](_0x285ed4['x'],_0x285ed4['y'],_0x285ed4['x']+_0x285ed4[_0x1a4e('0x3936')],_0x285ed4['y']+_0x285ed4[_0x1a4e('0x152')]);if(!(_0xc2d0e2[_0x1a4e('0x1e')]<0x2))for(_0x56bb23=0x0;_0x56bb23<_0xc2d0e2['length'];_0x56bb23++)if(_0xc2d0e2[_0x56bb23]!==_0xa33d2b){var _0x2de2a5,_0x3073d6=_0x1fa56a[_0xc2d0e2[_0x56bb23]];if(!_0x3073d6[_0x1a4e('0x4e07')])(_0x2de2a5=_0x3073d6[_0x1a4e('0x4301')][_0x1a4e('0x179')](_0x3073d6[_0x1a4e('0xbd')]))['clusterShow']=!0x1,_0x3073d6[_0x1a4e('0x4e07')]=!0x0;}}}}},_0x1fa56a[_0x1a4e('0xa')]['destroy']=function(){for(var _0x3b00e7=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x1fa56a=0x0;_0x1fa56a<_0x3b00e7['length'];_0x1fa56a++)this['_scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x3b00e7[_0x1fa56a][_0x1a4e('0x4486')]);_0x3b00e7=void 0x0,this[_0x1a4e('0x4d47')][_0x1a4e('0x3a42')](),this[_0x1a4e('0x4d44')][_0x1a4e('0x4d5e')](),this[_0x1a4e('0x4d44')][_0x1a4e('0x4dae')](0x0),this[_0x1a4e('0x3be2')]=void 0x0;},_0x1fa56a;}(_0x285ed4['Item']),_0xc2d0e2=function(_0x3b00e7,_0x1fa56a,_0x2f8932){this[_0x1a4e('0x473e')]=new Cesium[(_0x1a4e('0x4735'))](),this['url']=_0x3b00e7,this[_0x1a4e('0x4e08')]=_0x1fa56a,this[_0x1a4e('0xe1d')]=_0x2f8932;},_0x2de2a5=function(_0x3b00e7,_0x1fa56a,_0x2f8932,_0x2ade33){void 0x0===_0x3b00e7&&(_0x3b00e7=_0x1a4e('0x4e09')),void 0x0===_0x1fa56a&&(_0x1fa56a=_0x1a4e('0x4e0a')),void 0x0===_0x2f8932&&(_0x2f8932=_0x1a4e('0x4e0b')),void 0x0===_0x2ade33&&(_0x2ade33=0x1),this[_0x1a4e('0x3986')]=_0x3b00e7,this[_0x1a4e('0x3987')]=_0x1fa56a,this[_0x1a4e('0x409f')]=_0x2f8932,this[_0x1a4e('0x4172')]=_0x2ade33;},_0x3073d6=function(){function _0x3b00e7(_0x3b00e7){}return _0x3b00e7[_0x1a4e('0x4e0c')]=function(_0x3b00e7){var _0x1fa56a=[],_0x2f8932=0x0,_0x2ade33=new DataView(_0x3b00e7);if(_0x2ade33['getInt8'](_0x2f8932)>0x1)return _0x1fa56a;_0x2f8932+=0x4;var _0x56bb23=_0x2ade33['getInt8'](_0x2f8932);_0x2f8932+=0x4;for(var _0x56838b=0x0;_0x56838b<_0x56bb23;_0x56838b++){var _0x285ed4=_0x2ade33[_0x1a4e('0x4cf0')](_0x2f8932,!0x0);_0x2f8932+=0x4;var _0x8f6980=_0x2ade33[_0x1a4e('0x4cf0')](_0x2f8932,!0x0);_0x2f8932+=0x4;var _0x3cd979=_0x2ade33[_0x1a4e('0x4e0d')](_0x2f8932);_0x2f8932+=0x4;var _0xa33d2b=_0x2ade33[_0x1a4e('0x4e0d')](_0x2f8932);_0x2f8932+=0x1;var _0x49429e=new TextDecoder()[_0x1a4e('0x8f3')](new Uint8Array(_0x3b00e7[_0x1a4e('0x78')](_0x2f8932,_0x2f8932+_0xa33d2b)));_0x49429e=_0x49429e[_0x1a4e('0x115')]('|',''),_0x1fa56a[_0x1a4e('0x46')]({'lon':_0x285ed4,'lat':_0x8f6980,'alt':_0x3cd979,'name':_0x49429e}),_0x2f8932+=_0xa33d2b;}return _0x1fa56a;},_0x3b00e7;}(),_0x248244=function(){function _0x3b00e7(_0x3b00e7){this[_0x1a4e('0x4734')]=new Cesium['WebMercatorTilingScheme'](),this[_0x1a4e('0x4732')]=0x100,this[_0x1a4e('0x473a')]=0x100,this[_0x1a4e('0x3be9')]=Cesium[_0x1a4e('0x39fd')]['resolve'](!0x0),this[_0x1a4e('0x473b')]=0x14,this[_0x1a4e('0x4733')]=0x0,_0x3b00e7=_0x5b91ab(_0x3b00e7,{}),this[_0x1a4e('0x4734')]=Cesium['defined'](_0x3b00e7[_0x1a4e('0x473e')])?_0x3b00e7[_0x1a4e('0x473e')]:new Cesium[(_0x1a4e('0x4735'))]({'ellipsoid':_0x3b00e7[_0x1a4e('0x38dc')]});}return Object['defineProperty'](_0x3b00e7[_0x1a4e('0xa')],_0x1a4e('0x4736'),{'get':function(){return this[_0x1a4e('0x4732')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3b00e7[_0x1a4e('0xa')],_0x1a4e('0x4738'),{'get':function(){return this['_tileHeight'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3b00e7[_0x1a4e('0xa')],'maximumLevel',{'get':function(){return this['_maximumLevel'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3b00e7[_0x1a4e('0xa')],_0x1a4e('0x473c'),{'get':function(){return this[_0x1a4e('0x4733')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3b00e7['prototype'],_0x1a4e('0x473e'),{'get':function(){return this[_0x1a4e('0x4734')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x3b00e7[_0x1a4e('0xa')],'rectangle',{'get':function(){return this[_0x1a4e('0x4734')][_0x1a4e('0x396a')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3b00e7['prototype'],_0x1a4e('0x3bc7'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3b00e7[_0x1a4e('0xa')],'readyPromise',{'get':function(){return this[_0x1a4e('0x3be9')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3b00e7[_0x1a4e('0xa')],_0x1a4e('0x4765'),{'get':function(){return!0x0;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3b00e7[_0x1a4e('0xa')],_0x1a4e('0x4763'),{'get':function(){return this[_0x1a4e('0x4e0e')];},'set':function(_0x3b00e7){this[_0x1a4e('0x4e0e')]=_0x3b00e7;},'enumerable':!0x0,'configurable':!0x0}),_0x3b00e7;}();},'./src/LayerManager/TileLayer/LineTile.ts':function(_0x528f82,_0x73871,_0x540ae6){'use strict';_0x540ae6['r'](_0x73871),_0x540ae6['d'](_0x73871,_0x1a4e('0x3fc6'),function(){return _0x1f631d;}),_0x540ae6['d'](_0x73871,_0x1a4e('0x3fc7'),function(){return _0x1e3b4c;});var _0xe8f261,_0x375583=_0x540ae6(_0x1a4e('0x4e0f')),_0x1caea1=_0x540ae6(_0x1a4e('0x3999')),_0x379f17=_0x540ae6('./src/LayerManager/TileLayer/WMTSVectorProvider.ts'),_0x3646c0=_0x540ae6(_0x1a4e('0x4053')),_0x56a4a5=(_0xe8f261=function(_0x528f82,_0x73871){return(_0xe8f261=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x528f82,_0x73871){_0x528f82[_0x1a4e('0x295')]=_0x73871;}||function(_0x528f82,_0x73871){for(var _0x540ae6 in _0x73871)_0x73871[_0x1a4e('0xb')](_0x540ae6)&&(_0x528f82[_0x540ae6]=_0x73871[_0x540ae6]);})(_0x528f82,_0x73871);},function(_0x528f82,_0x73871){function _0x540ae6(){this[_0x1a4e('0x10')]=_0x528f82;}_0xe8f261(_0x528f82,_0x73871),_0x528f82['prototype']=null===_0x73871?Object[_0x1a4e('0x7')](_0x73871):(_0x540ae6[_0x1a4e('0xa')]=_0x73871[_0x1a4e('0xa')],new _0x540ae6());}),_0x310fe2=function(_0x528f82,_0x73871){var _0x540ae6=_0x1a4e('0x68')==typeof Symbol&&_0x528f82[Symbol[_0x1a4e('0x335')]];if(!_0x540ae6)return _0x528f82;var _0xe8f261,_0x375583,_0x1caea1=_0x540ae6[_0x1a4e('0x1')](_0x528f82),_0x379f17=[];try{for(;(void 0x0===_0x73871||_0x73871-->0x0)&&!(_0xe8f261=_0x1caea1[_0x1a4e('0x7e')]())['done'];)_0x379f17[_0x1a4e('0x46')](_0xe8f261['value']);}catch(_0x11da4e){_0x375583={'error':_0x11da4e};}finally{try{_0xe8f261&&!_0xe8f261[_0x1a4e('0x3c2')]&&(_0x540ae6=_0x1caea1[_0x1a4e('0xe40')])&&_0x540ae6[_0x1a4e('0x1')](_0x1caea1);}finally{if(_0x375583)throw _0x375583[_0x1a4e('0x873')];}}return _0x379f17;},_0x1313a3=function(){for(var _0x528f82=[],_0x73871=0x0;_0x738710x1388)){_0xe8f261[_0x1a4e('0x3a41')];var _0x1caea1,_0x379f17=_0xe8f261['fillColor'];if(_0xe8f261['isBuilding']){for(var _0x3646c0=[],_0x56a4a5=0x0;_0x56a4a5<_0x540ae6[0x0][_0x1a4e('0x1e')];_0x56a4a5++){var _0x310fe2=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x540ae6[0x0][_0x56a4a5][0x0],_0x540ae6[0x0][_0x56a4a5][0x1],0x0);_0x3646c0['push'](_0x310fe2);}_0x1caea1=new Cesium[(_0x1a4e('0x393d'))]({'geometry':Cesium[_0x1a4e('0x3945')][_0x1a4e('0x39b3')]({'positions':_0x3646c0,'extrudedHeight':0x32*Math[_0x1a4e('0x12e')]()}),'attributes':{'color':Cesium[_0x1a4e('0x3940')][_0x1a4e('0x39b4')](_0x379f17)}});}else{for(_0x3646c0=[],_0x56a4a5=0x1;_0x56a4a5<_0x540ae6['length'];_0x56a4a5++)_0x3646c0[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x3a3f'))](this[_0x1a4e('0x4e13')](_0x540ae6[_0x56a4a5],_0x73871)));_0x1caea1=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium['PolygonGeometry']({'polygonHierarchy':new Cesium[(_0x1a4e('0x3a3f'))](this[_0x1a4e('0x4e13')](_0x540ae6[0x0],_0x73871),_0x3646c0)}),'attributes':{'color':Cesium['ColorGeometryInstanceAttribute'][_0x1a4e('0x39b4')](_0x379f17)}});}_0x1caea1['id']=Cesium[_0x1a4e('0x404b')](),_0x1caea1[_0x1a4e('0x4e14')]=_0x528f82['id'],_0x1caea1[_0x1a4e('0x13')]=_0x528f82[_0x1a4e('0x13')],_0x375583[_0x1a4e('0x177')](_0x1caea1),_0x375583[_0x1a4e('0x40')]=_0x1a4e('0x19');}},_0x73871['prototype'][_0x1a4e('0x4e17')]=function(_0x528f82,_0x73871,_0x540ae6,_0xe8f261,_0x375583){this[_0x1a4e('0x2c6')](_0x528f82,_0x540ae6,_0x73871[_0x1a4e('0x43')],_0xe8f261,_0x375583);},_0x73871[_0x1a4e('0xa')][_0x1a4e('0x4e18')]=function(_0x528f82,_0x73871,_0x540ae6,_0xe8f261,_0x375583){for(var _0x1caea1=_0x73871[_0x1a4e('0x43')],_0x379f17=0x0;_0x379f17<_0x1caea1[_0x1a4e('0x1e')];_0x379f17++)this['createPolygon'](_0x528f82,_0x540ae6,_0x1caea1[_0x379f17],_0xe8f261,_0x375583);},_0x73871['prototype'][_0x1a4e('0x4e19')]=function(_0x528f82,_0x73871,_0x540ae6,_0xe8f261){null!==_0x528f82[_0x1a4e('0x18')]&&(Cesium[_0x1a4e('0x3a0b')](_0x528f82['geometry'])?_0x1a4e('0x44')!=_0x528f82[_0x1a4e('0x18')]['type']&&_0x1a4e('0x19')!=_0x528f82['geometry']['type']||this[_0x1a4e('0x4e15')](_0x528f82,_0x528f82[_0x1a4e('0x18')],_0x73871,_0x540ae6,_0xe8f261):console['log'](_0x1a4e('0x4da5')));},_0x73871[_0x1a4e('0xa')][_0x1a4e('0x4e1a')]=function(_0x528f82,_0x73871,_0x540ae6,_0xe8f261){for(var _0x375583=_0x528f82['features'],_0x1caea1=0x0,_0x379f17=_0x375583[_0x1a4e('0x1e')];_0x1caea1<_0x379f17;_0x1caea1++)this['processFeature'](_0x375583[_0x1caea1],_0x73871,_0x540ae6,_0xe8f261);},_0x73871[_0x1a4e('0xa')][_0x1a4e('0x4e1b')]=function(_0x528f82){return Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x528f82[0x0],_0x528f82[0x1],_0x528f82[0x2]);},_0x73871['prototype'][_0x1a4e('0x3acd')]=function(_0x528f82){var _0x73871=this;if(this[_0x1a4e('0x3be2')]=_0x528f82[_0x1a4e('0x38d6')],this[_0x1a4e('0x38fa')]=_0x528f82,this[_0x1a4e('0x38fa')][_0x1a4e('0x395b')][_0x1a4e('0x177')](this),Cesium['defined'](this[_0x1a4e('0x3be2')])&&Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4e1c')])&&this['_pickShow']){var _0x540ae6=new Cesium['ScreenSpaceEventHandler'](this['_scene'][_0x1a4e('0x3934')]);_0x540ae6['setInputAction'](function(_0x528f82){'Tile'==_0x73871[_0x1a4e('0x4e12')]||_0x1a4e('0x3212')==_0x73871[_0x1a4e('0x4e12')]?Cesium[_0x1a4e('0x3a0b')](_0x73871['_oldTile'])&&_0x73871[_0x1a4e('0x4e1d')][_0x1a4e('0x4d9a')](_0x73871['_options'][_0x1a4e('0x41ed')]):_0x73871['pickAllTileProperty'](_0x73871[_0x1a4e('0x4788')][_0x1a4e('0x41ed')],null);var _0x540ae6=_0x73871[_0x1a4e('0x3be2')][_0x1a4e('0x106e')](_0x528f82[_0x1a4e('0x3553')]);Cesium[_0x1a4e('0x3a0b')](_0x540ae6)&&function(_0x528f82){for(var _0x540ae6=_0x73871['_renderTiles'][_0x1a4e('0x35b')],_0xe8f261=void 0x0,_0x375583=0x0;_0x375583<_0x540ae6[_0x1a4e('0x1e')];_0x375583++){var _0x1caea1=_0x540ae6[_0x375583][_0x1a4e('0x106e')](_0x528f82,_0x73871[_0x1a4e('0x4788')][_0x1a4e('0x41ed')]);if(Cesium[_0x1a4e('0x3a0b')](_0x1caea1)){_0x540ae6[_0x375583][_0x1a4e('0x8f7')][_0x1a4e('0x4adb')](_0x1caea1['id'])[_0x1a4e('0x134')]=Cesium[_0x1a4e('0x3940')][_0x1a4e('0x4adc')](_0x73871['_options'][_0x1a4e('0x4e1e')]),_0x73871[_0x1a4e('0x4d48')][_0x1a4e('0x4d4b')](_0x1caea1['properties']),_0x73871['_oldTile']=_0x540ae6[_0x375583],_0xe8f261=JSON[_0x1a4e('0xd7')](_0x1caea1[_0x1a4e('0x13')]),'Tile'==_0x73871[_0x1a4e('0x4e12')]&&(console['log'](_0x1a4e('0x4e1f')),_0x540ae6[_0x375583][_0x1a4e('0x4e20')](_0xe8f261,_0x73871[_0x1a4e('0x4788')][_0x1a4e('0x4e1e')]));break;}}_0x1a4e('0x4e21')==_0x73871['_pickType']&&(console['log'](_0x1a4e('0x4e22')),console['log'](_0xe8f261),_0x73871[_0x1a4e('0x4e23')](_0x73871[_0x1a4e('0x4788')]['pickColor'],_0xe8f261));}(_0x540ae6['id']);},Cesium['ScreenSpaceEventType'][_0x1a4e('0x398e')]),this[_0x1a4e('0x4d9b')]=_0x540ae6;}},_0x73871['prototype'][_0x1a4e('0x3acf')]=function(){this['_viewer'][_0x1a4e('0x395b')][_0x1a4e('0x82')](this,!0x0);},Object['defineProperty'](_0x73871[_0x1a4e('0xa')],'onPick',{'set':function(_0x528f82){this['_pickEvent'][_0x1a4e('0xec5')](_0x528f82);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x73871[_0x1a4e('0xa')],'crsNames',{'get':function(){return this['crsNames'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x73871[_0x1a4e('0xa')],'name',{'get':function(){return this[_0x1a4e('0x3d3')];},'set':function(_0x528f82){this['_name']!==_0x528f82&&(this[_0x1a4e('0x3d3')]=_0x528f82,this[_0x1a4e('0x4d40')][_0x1a4e('0x4d4b')](this));},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x73871[_0x1a4e('0xa')],_0x1a4e('0x3b3e'),{'get':function(){},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x73871[_0x1a4e('0xa')],_0x1a4e('0x38e2'),{'get':function(){return this[_0x1a4e('0x4d91')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x73871[_0x1a4e('0xa')],_0x1a4e('0x4d9c'),{'get':function(){return this['_isLoading'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x73871[_0x1a4e('0xa')],'changedEvent',{'get':function(){return this['_changed'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x73871[_0x1a4e('0xa')],_0x1a4e('0x4d68'),{'get':function(){return this[_0x1a4e('0x4d48')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x73871[_0x1a4e('0xa')],'errorEvent',{'get':function(){return this[_0x1a4e('0x1465')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x73871[_0x1a4e('0xa')],_0x1a4e('0x4d9f'),{'get':function(){return this[_0x1a4e('0x4d42')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x73871[_0x1a4e('0xa')],_0x1a4e('0x3a23'),{'get':function(){return this[_0x1a4e('0x4d91')][_0x1a4e('0x3a23')];},'set':function(_0x528f82){this['_entityCollection']['show']=_0x528f82;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x73871[_0x1a4e('0xa')],_0x1a4e('0x4795'),{'get':function(){return this[_0x1a4e('0x4d93')];},'set':function(_0x528f82){if(!Cesium[_0x1a4e('0x3a0b')](_0x528f82))throw new Cesium[(_0x1a4e('0x3b9c'))](_0x1a4e('0x4e01'));this[_0x1a4e('0x4d93')]=_0x528f82;},'enumerable':!0x0,'configurable':!0x0}),_0x73871[_0x1a4e('0xa')][_0x1a4e('0x4e23')]=function(_0x528f82,_0x73871){if(Cesium[_0x1a4e('0x3a0b')](_0x528f82))for(var _0x540ae6=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0xe8f261=0x0;_0xe8f261<_0x540ae6[_0x1a4e('0x1e')];_0xe8f261++)_0x540ae6[_0xe8f261][_0x1a4e('0x3b2c')]&&(Cesium['defined'](_0x73871)?_0x540ae6[_0xe8f261][_0x1a4e('0x4e20')](_0x73871,_0x528f82):_0x540ae6[_0xe8f261]['resetOriginColor'](_0x528f82));},_0x73871[_0x1a4e('0xa')][_0x1a4e('0x4d4c')]=function(_0x528f82){for(var _0x73871=this[_0x1a4e('0x4d44')][_0x1a4e('0x10f1')];Cesium['defined'](_0x73871);){if(_0x73871[_0x1a4e('0x35f')]===_0x528f82)return _0x73871;_0x73871=_0x73871[_0x1a4e('0x4d4d')];}},_0x73871['prototype'][_0x1a4e('0x4e24')]=function(_0x528f82){var _0x73871=_0x528f82[_0x1a4e('0x2dd0')]-0x1,_0x540ae6=parseInt((_0x528f82['x']/0x2)[_0x1a4e('0x95')]()),_0xe8f261=parseInt((_0x528f82['y']/0x2)[_0x1a4e('0x95')]()),_0x375583=_0x73871+'-'+_0x540ae6+'-'+_0xe8f261;if(_0x73871>=0x0){var _0x1caea1=this[_0x1a4e('0x4d4c')](_0x375583);Cesium['defined'](_0x1caea1)&&(_0x528f82[_0x1a4e('0x11c')]=_0x1caea1,_0x1caea1['addChildren'](_0x528f82));}_0x375583=(_0x73871=_0x528f82[_0x1a4e('0x2dd0')]+0x1)+'-'+(_0x540ae6=0x2*_0x528f82['x'])+'-'+(_0xe8f261=0x2*_0x528f82['y']);var _0x379f17=this['findTileFromCache'](_0x375583);Cesium['defined'](_0x379f17)&&(_0x379f17['parent']=_0x528f82,_0x528f82[_0x1a4e('0x4e25')](_0x379f17)),_0x375583=_0x73871+'-'+(_0x540ae6+=0x1)+'-'+_0xe8f261;var _0x3646c0=this[_0x1a4e('0x4d4c')](_0x375583);Cesium[_0x1a4e('0x3a0b')](_0x3646c0)&&(_0x3646c0['parent']=_0x528f82,_0x528f82[_0x1a4e('0x4e25')](_0x3646c0)),_0x375583=_0x73871+'-'+_0x540ae6+'-'+(_0xe8f261+=0x1);var _0x56a4a5=this[_0x1a4e('0x4d4c')](_0x375583);Cesium[_0x1a4e('0x3a0b')](_0x56a4a5)&&(_0x56a4a5[_0x1a4e('0x11c')]=_0x528f82,_0x528f82['addChildren'](_0x56a4a5)),_0x375583=_0x73871+'-'+(_0x540ae6-=0x1)+'-'+_0xe8f261;var _0x310fe2=this[_0x1a4e('0x4d4c')](_0x375583);Cesium['defined'](_0x310fe2)&&(_0x310fe2['parent']=_0x528f82,_0x528f82['addChildren'](_0x310fe2));},_0x73871[_0x1a4e('0xa')]['handleParentAndChildren']=function(_0x528f82){var _0x73871=_0x528f82['level']-0x1,_0x540ae6=parseInt((_0x528f82['x']/0x2)[_0x1a4e('0x95')]()),_0xe8f261=parseInt((_0x528f82['y']/0x2)[_0x1a4e('0x95')]()),_0x375583=_0x73871+'-'+_0x540ae6+'-'+_0xe8f261;if(_0x73871>=0x0){var _0x1caea1=this[_0x1a4e('0x4d4c')](_0x375583);Cesium[_0x1a4e('0x3a0b')](_0x1caea1)&&(_0x1caea1[_0x1a4e('0x3b2c')]=!0x1,_0x1caea1['_countdelete']=0x5);}_0x375583=(_0x73871=_0x528f82[_0x1a4e('0x2dd0')]+0x1)+'-'+(_0x540ae6=0x2*_0x528f82['x'])+'-'+(_0xe8f261=0x2*_0x528f82['y']);var _0x379f17=this[_0x1a4e('0x4d4c')](_0x375583);Cesium[_0x1a4e('0x3a0b')](_0x379f17)&&(_0x379f17['visible']=!0x1,_0x379f17[_0x1a4e('0x4da1')]=0x5),_0x375583=_0x73871+'-'+(_0x540ae6+=0x1)+'-'+_0xe8f261;var _0x3646c0=this[_0x1a4e('0x4d4c')](_0x375583);Cesium[_0x1a4e('0x3a0b')](_0x3646c0)&&(_0x3646c0[_0x1a4e('0x3b2c')]=!0x1,_0x3646c0[_0x1a4e('0x4da1')]=0x5),_0x375583=_0x73871+'-'+_0x540ae6+'-'+(_0xe8f261+=0x1);var _0x56a4a5=this[_0x1a4e('0x4d4c')](_0x375583);Cesium['defined'](_0x56a4a5)&&(_0x56a4a5[_0x1a4e('0x3b2c')]=!0x1,_0x56a4a5['_countdelete']=0x5),_0x375583=_0x73871+'-'+(_0x540ae6-=0x1)+'-'+_0xe8f261;var _0x310fe2=this[_0x1a4e('0x4d4c')](_0x375583);Cesium[_0x1a4e('0x3a0b')](_0x310fe2)&&(_0x310fe2['visible']=!0x1,_0x310fe2[_0x1a4e('0x4da1')]=0x5);},_0x73871[_0x1a4e('0xa')][_0x1a4e('0x4d4f')]=function(_0x528f82,_0x73871){var _0x540ae6=this,_0xe8f261=this[_0x1a4e('0x4d4c')](_0x73871);if(Cesium['defined'](_0xe8f261)){if(_0xe8f261[_0x1a4e('0x4d50')])if(_0xe8f261[_0x1a4e('0x3b2c')]=!0x0,_0xe8f261[_0x1a4e('0x4da1')]=0x0,this['_renderTiles'][_0x1a4e('0x2ac')](_0xe8f261[_0x1a4e('0x35f')])){_0x379f17=_0xe8f261['primitive'];Cesium[_0x1a4e('0x3a0b')](_0x379f17)&&(_0x379f17[_0x1a4e('0x3a23')]=!0x0);}else{var _0x379f17=_0xe8f261[_0x1a4e('0x3b5e')]({'type':_0xe8f261[_0x1a4e('0x40')],'strokeColor':this[_0x1a4e('0x4788')]['strokeColor'],'fillColor':this[_0x1a4e('0x4788')]['fillColor'],'material':this['_options']['material'],'checkBuild':this[_0x1a4e('0x4e11')]});Cesium[_0x1a4e('0x3a0b')](_0x379f17)&&_0x528f82[_0x1a4e('0x38e3')][_0x1a4e('0x177')](_0x379f17),this[_0x1a4e('0x4da0')](_0xe8f261),this[_0x1a4e('0x4d47')]['set'](_0xe8f261[_0x1a4e('0x35f')],_0xe8f261);}this[_0x1a4e('0x4d44')][_0x1a4e('0x4d53')](_0xe8f261);}else{if(!Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4d97')]))return;if(_0x73871[_0x1a4e('0x2dd0')]this[_0x1a4e('0x4cac')])return;var _0x3646c0=new _0x375583[(_0x1a4e('0x4e26'))]({'key':_0x73871,'scene':_0x528f82});_0x3646c0[_0x1a4e('0x4d52')]=!0x0,this[_0x1a4e('0x4d44')][_0x1a4e('0x4d53')](_0x3646c0);var _0x56a4a5=this[_0x1a4e('0x4788')];Cesium['DataSource']['setLoading'](this,!0x1),this[_0x1a4e('0x4d97')][_0x1a4e('0x4daa')](_0x3646c0['level'],_0x3646c0['x'],_0x3646c0['y'],function(_0x528f82){var _0x73871=_0x1caea1[_0x1a4e('0x39a0')]['getGeoJSONFromPbf'](_0x528f82,_0x3646c0[_0x1a4e('0x2dd0')],_0x3646c0['x'],_0x3646c0['y']),_0xe8f261=null!==_0x73871[_0x1a4e('0x4e27')]?_0x540ae6[_0x1a4e('0x4e1b')]:null;return _0x3646c0[_0x1a4e('0x4e28')]=_0x73871,Cesium['when'](_0xe8f261,function(_0x528f82){null!==_0x528f82&&_0x540ae6['processFeatureCollection'](_0x73871,_0x528f82,_0x56a4a5,_0x3646c0),_0x3646c0[_0x1a4e('0x4d50')]=!0x0,_0x3646c0[_0x1a4e('0x4d52')]=!0x0;});},function(_0x528f82){return _0x3646c0[_0x1a4e('0x4d50')]=!0x0,_0x3646c0['eligibleForUnloading']=!0x0,Cesium[_0x1a4e('0x39fd')][_0x1a4e('0x1077')](_0x528f82);});}},_0x73871[_0x1a4e('0xa')]['getRenderTileKeys']=function(_0x528f82){for(var _0x73871=this[_0x1a4e('0x4d97')][_0x1a4e('0x4d8c')],_0x540ae6=this[_0x1a4e('0x4d97')][_0x1a4e('0x4cb3')],_0xe8f261=new Set(),_0x375583=0x0;_0x375583<_0x528f82['length'];_0x375583++){var _0x1caea1=_0x528f82[_0x375583][_0x1a4e('0x2dd0')];if(!(_0x1caea1this[_0x1a4e('0x4cac')])){var _0x379f17=_0x528f82[_0x375583]['x'],_0x3646c0=_0x528f82[_0x375583]['y'];if(_0x1caea1>=_0x73871&&_0x1caea1<=_0x540ae6)_0xe8f261[_0x1a4e('0x177')](_0x1caea1+'-'+_0x379f17+'-'+_0x3646c0);else if(_0x1caea1>_0x540ae6){var _0x56a4a5=Math[_0x1a4e('0x8e')](0x2,_0x1caea1-_0x540ae6);_0x379f17=_0x379f17/_0x56a4a5|0x0,_0x3646c0=_0x3646c0/_0x56a4a5|0x0,_0xe8f261[_0x1a4e('0x177')](_0x540ae6+'-'+_0x379f17+'-'+_0x3646c0);}}}return _0x1313a3(_0xe8f261);},_0x73871[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x528f82){if(Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x3be2')])){this['_tileReplacementQueue']['markStartOfRenderFrame']();for(var _0x73871=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x540ae6=0x0;_0x540ae6<_0x73871['length'];_0x540ae6++)_0x73871[_0x540ae6][_0x1a4e('0x3b2c')]=!0x1;var _0xe8f261=new Array();this[_0x1a4e('0x3be2')][_0x1a4e('0x38d7')]['_surface']['forEachRenderedTile'](function(_0x528f82){_0xe8f261[_0x1a4e('0x46')]({'level':_0x528f82[_0x1a4e('0x2dd0')],'x':_0x528f82['x'],'y':_0x528f82['y']});}),_0xe8f261=this[_0x1a4e('0x4d5d')](_0xe8f261);for(var _0x375583=0x0;_0x375583<_0xe8f261[_0x1a4e('0x1e')];_0x375583++)this['processTile'](this['_scene'],_0xe8f261[_0x375583]);for(var _0x1caea1=(_0x73871=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')])[_0x1a4e('0x1e')]-0x1;_0x1caea1>=0x0;_0x1caea1--){var _0x379f17=_0x73871[_0x1caea1];if(!_0x379f17[_0x1a4e('0x3b2c')])if(_0x379f17[_0x1a4e('0x4da1')]<0xa)_0x379f17[_0x1a4e('0x4da1')]++;else{_0x379f17[_0x1a4e('0x4d52')]=!0x0;var _0x3646c0=_0x379f17[_0x1a4e('0x8f7')];Cesium[_0x1a4e('0x3a0b')](_0x3646c0)&&(_0x3646c0['show']=!0x1);}}for(;this[_0x1a4e('0x4d44')][_0x1a4e('0x389')]>this[_0x1a4e('0x4dac')];){var _0x56a4a5=this['_tileReplacementQueue'][_0x1a4e('0x107f')];if(Cesium[_0x1a4e('0x3a0b')](_0x56a4a5)){_0x3646c0=_0x56a4a5['primitive'];Cesium['defined'](_0x3646c0)&&this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x3646c0),this['_renderTiles'][_0x1a4e('0x82')](_0x56a4a5['key']);}this['_tileReplacementQueue'][_0x1a4e('0x82')](this[_0x1a4e('0x4d44')],_0x56a4a5);}return!0x0;}},_0x73871[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){var _0x528f82=this[_0x1a4e('0x3be2')];this[_0x1a4e('0x3be2')]=void 0x0;for(var _0x73871=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x540ae6=0x0;_0x540ae6<_0x73871[_0x1a4e('0x1e')];_0x540ae6++)_0x528f82[_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x73871[_0x540ae6][_0x1a4e('0x8f7')]);_0x73871=void 0x0,this[_0x1a4e('0x4d47')][_0x1a4e('0x3a42')](),this['_tileReplacementQueue']['markStartOfRenderFrame'](),this[_0x1a4e('0x4d44')][_0x1a4e('0x4dae')](0x0),Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4d9b')])&&(this['_pickPrimitive'][_0x1a4e('0x4daf')](Cesium['ScreenSpaceEventType']['LEFT_CLICK']),this[_0x1a4e('0x4d9b')]=void 0x0);},_0x73871;}(_0x3646c0['Item']),_0x1e3b4c=function(_0x528f82,_0x73871,_0x540ae6,_0xe8f261,_0x375583,_0x1caea1,_0x379f17,_0x3646c0){void 0x0===_0x540ae6&&(_0x540ae6=_0x1a4e('0x3de1')),void 0x0===_0xe8f261&&(_0xe8f261=0x2),void 0x0===_0x375583&&(_0x375583=0x0),void 0x0===_0x1caea1&&(_0x1caea1=0x16),void 0x0===_0x379f17&&(_0x379f17=!0x0),void 0x0===_0x3646c0&&(_0x3646c0=_0x1a4e('0x38d4')),this[_0x1a4e('0x15cf')]=_0x528f82,this[_0x1a4e('0x4770')]=_0x73871,this['tilematrixset']=_0x1a4e('0x476d'),this['format']=_0x1a4e('0x4e29'),this[_0x1a4e('0x40a0')]=_0x540ae6,this[_0x1a4e('0x41ee')]=_0xe8f261,this[_0x1a4e('0x4d8c')]=_0x375583,this[_0x1a4e('0x4cb3')]=_0x1caea1,this['isPick']=_0x379f17,this[_0x1a4e('0x4d90')]=_0x3646c0;};},'./src/LayerManager/TileLayer/LineTileData.js':function(_0x2ca97,_0x1a905d,_0x345271){'use strict';Object['defineProperty'](_0x1a905d,'__esModule',{'value':!0x0});var _0xfad7bd=function(){function _0x2ca97(_0x2ca97,_0x1a905d){for(var _0x345271=0x0;_0x345271<_0x1a905d['length'];_0x345271++){var _0xfad7bd=_0x1a905d[_0x345271];_0xfad7bd[_0x1a4e('0x1359')]=_0xfad7bd[_0x1a4e('0x1359')]||!0x1,_0xfad7bd['configurable']=!0x0,'value'in _0xfad7bd&&(_0xfad7bd[_0x1a4e('0x1346')]=!0x0),Object[_0x1a4e('0x2')](_0x2ca97,_0xfad7bd[_0x1a4e('0x35f')],_0xfad7bd);}}return function(_0x1a905d,_0x345271,_0xfad7bd){return _0x345271&&_0x2ca97(_0x1a905d[_0x1a4e('0xa')],_0x345271),_0xfad7bd&&_0x2ca97(_0x1a905d,_0xfad7bd),_0x1a905d;};}();var _0xbb2295=Cesium[_0x1a4e('0x4d95')],_0x3adc48=Cesium[_0x1a4e('0x3a46')],_0x23902d=Cesium[_0x1a4e('0x3a0b')],_0x526082=Cesium[_0x1a4e('0x3b9c')],_0x2e461d=(Cesium['Primitive'],Cesium[_0x1a4e('0x3946')],Cesium['GroundPolylinePrimitive']),_0x5c6049=Cesium[_0x1a4e('0x3b81')],_0x2117d4=Cesium[_0x1a4e('0x3942')],_0x4b84d4=(Cesium[_0x1a4e('0x3ab2')],Cesium[_0x1a4e('0x3a3b')],Cesium[_0x1a4e('0x3947')],Cesium['ColorGeometryInstanceAttribute']);_0x1a905d[_0x1a4e('0x4e26')]=function(){function _0x2ca97(_0x1a905d){!function(_0x2ca97,_0x1a905d){if(!(_0x2ca97 instanceof _0x1a905d))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x2ca97),_0x1a905d=_0x3adc48(_0x1a905d,_0x3adc48['EMPTY_OBJECT']),this[_0x1a4e('0xa2f')]=_0x1a905d[_0x1a4e('0x35f')];var _0x345271=this[_0x1a4e('0xa2f')];if(!_0x23902d(_0x345271))throw new _0x526082(_0x1a4e('0x4db1'));var _0xfad7bd=_0x345271[_0x1a4e('0x3e')]('-'),_0x2e461d=_0x345271[_0x1a4e('0x471')]('-');this[_0x1a4e('0x4ac')]=parseInt(_0x345271['substr'](0x0,_0xfad7bd)),this['_x']=parseInt(_0x345271[_0x1a4e('0x254')](_0xfad7bd+0x1,_0x2e461d-_0xfad7bd-0x1)),this['_y']=parseInt(_0x345271[_0x1a4e('0x254')](_0x2e461d+0x1)),this[_0x1a4e('0x3be2')]=_0x1a905d[_0x1a4e('0x38d6')],this[_0x1a4e('0x4d33')]=_0x3adc48(_0x1a905d[_0x1a4e('0xa46')],!0x1),this['_visible']=_0x3adc48(_0x1a905d[_0x1a4e('0x3b2c')],!0x1),this[_0x1a4e('0x4e2a')]=_0x3adc48(_0x1a905d[_0x1a4e('0x4d52')],!0x1),this[_0x1a4e('0x4db2')]=_0x3adc48(_0x1a905d[_0x1a4e('0x4e2b')],void 0x0),this['_replacementNext']=_0x3adc48(_0x1a905d['replacementNext'],void 0x0),_0x23902d(_0x1a905d[_0x1a4e('0x4e2c')])&&_0x1a905d[_0x1a4e('0x4e2c')]instanceof _0xbb2295?this[_0x1a4e('0x4ad8')]=_0x1a905d[_0x1a4e('0x4e2c')]:this[_0x1a4e('0x4ad8')]=new _0xbb2295(),this[_0x1a4e('0x4571')]=void 0x0,this[_0x1a4e('0x39d5')]=void 0x0,this[_0x1a4e('0x4e28')]=void 0x0,this['_fillColor']=void 0x0,this[_0x1a4e('0x4da1')]=0x0;}return _0xfad7bd(_0x2ca97,[{'key':_0x1a4e('0x4d3e'),'value':function(){this[_0x1a4e('0x4ad8')][_0x1a4e('0x3a42')]();}},{'key':_0x1a4e('0x177'),'value':function(_0x2ca97){if(!_0x23902d(_0x2ca97))throw new _0x526082(_0x1a4e('0x4db4'));var _0x1a905d=_0x2ca97['id'];if(!_0x23902d(_0x1a905d)||_0x1a4e('0x9')!=typeof _0x1a905d&&_0x1a4e('0x3d')!=typeof _0x1a905d)throw new _0x526082(_0x1a4e('0x4db5'));var _0x345271=this[_0x1a4e('0x4ad8')];if(_0x345271[_0x1a4e('0x2ac')](_0x1a905d))throw new RuntimeError(_0x1a4e('0x4db6')+_0x1a905d+'\x20already\x20exists\x20in\x20this\x20collection.');_0x345271[_0x1a4e('0x17a')](_0x1a905d,_0x2ca97);}},{'key':_0x1a4e('0x3b5e'),'value':function(_0x2ca97){if(_0x23902d(_0x2ca97[_0x1a4e('0x40')])){var _0x1a905d=_0x3adc48(_0x2ca97[_0x1a4e('0x3a41')],void 0x0);_0x2ca97[_0x1a4e('0x3987')];this[_0x1a4e('0x4d7f')]=_0x2ca97[_0x1a4e('0x3987')];for(var _0x345271,_0xfad7bd=this[_0x1a4e('0x4ad8')][_0x1a4e('0x35b')],_0xbb2295=[],_0x526082=0x0;_0x526082<_0xfad7bd[_0x1a4e('0x1e')];_0x526082++)_0xbb2295[_0x1a4e('0x46')](_0xfad7bd[_0x526082]);return 0x0===_0xbb2295[_0x1a4e('0x1e')]?(this['_primitive']=void 0x0,this[_0x1a4e('0x4571')]):(_0x345271=_0x23902d(_0x1a905d)?new _0x5c6049({'material':_0x1a905d}):new _0x2117d4({'translucent':!0x1,'closed':!0x0}),this[_0x1a4e('0x4571')]=new _0x2e461d({'geometryInstances':_0xbb2295,'appearance':_0x345271}),this[_0x1a4e('0x4571')]);}}},{'key':_0x1a4e('0x4d9a'),'value':function(_0x2ca97){if(_0x23902d(_0x2ca97))for(var _0x1a905d=this[_0x1a4e('0x4ad8')][_0x1a4e('0x35b')],_0x345271=0x0;_0x345271<_0x1a905d[_0x1a4e('0x1e')];_0x345271++){this[_0x1a4e('0x4571')][_0x1a4e('0x4adb')](_0x1a905d[_0x345271]['id'])[_0x1a4e('0x134')]=_0x4b84d4[_0x1a4e('0x4adc')](_0x2ca97);}}},{'key':_0x1a4e('0x4e20'),'value':function(_0x2ca97,_0x1a905d){for(var _0x345271=this[_0x1a4e('0x4ad8')]['values'],_0xfad7bd=0x0;_0xfad7bd<_0x345271[_0x1a4e('0x1e')];_0xfad7bd++){if(JSON[_0x1a4e('0xd7')](_0x345271[_0xfad7bd]['properties'])==_0x2ca97)this[_0x1a4e('0x4571')]['getGeometryInstanceAttributes'](_0x345271[_0xfad7bd]['id'])[_0x1a4e('0x134')]=_0x4b84d4['toValue'](_0x1a905d),console[_0x1a4e('0x58')](_0x1a4e('0x4e2d'));}}},{'key':_0x1a4e('0x106e'),'value':function(_0x2ca97,_0x1a905d){for(var _0x345271=this[_0x1a4e('0x4ad8')][_0x1a4e('0x35b')],_0xfad7bd=0x0;_0xfad7bd<_0x345271[_0x1a4e('0x1e')];_0xfad7bd++)if(_0x345271[_0xfad7bd]['id']===_0x2ca97)return _0x345271[_0xfad7bd];}},{'key':'key','get':function(){return this['_key'];}},{'key':_0x1a4e('0x2dd0'),'get':function(){return this[_0x1a4e('0x4ac')];}},{'key':'x','get':function(){return this['_x'];}},{'key':'y','get':function(){return this['_y'];}},{'key':'scene','get':function(){return this['_scene'];}},{'key':'prepare','get':function(){return this['_prepare'];},'set':function(_0x2ca97){this[_0x1a4e('0x4d33')]=_0x2ca97;}},{'key':'visible','get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0x2ca97){this[_0x1a4e('0x3b33')]!==_0x2ca97&&(this['_visible']=_0x2ca97);}},{'key':_0x1a4e('0x4d52'),'get':function(){return this[_0x1a4e('0x4e2a')];},'set':function(_0x2ca97){this['_eligibleForUnloading']!==_0x2ca97&&(this['_eligibleForUnloading']=_0x2ca97);}},{'key':_0x1a4e('0x4e2b'),'get':function(){return this[_0x1a4e('0x4db2')];},'set':function(_0x2ca97){this[_0x1a4e('0x4db2')]=_0x2ca97;}},{'key':_0x1a4e('0x4d4d'),'get':function(){return this[_0x1a4e('0x4db8')];},'set':function(_0x2ca97){this[_0x1a4e('0x4db8')]=_0x2ca97;}},{'key':'primitive','get':function(){return this['_primitive'];}},{'key':_0x1a4e('0x40'),'get':function(){return this[_0x1a4e('0x39d5')];},'set':function(_0x2ca97){this[_0x1a4e('0x39d5')]=_0x2ca97;}},{'key':_0x1a4e('0x4db9'),'get':function(){return this[_0x1a4e('0x4ad8')][_0x1a4e('0x1e')];}}]),_0x2ca97;}();},'./src/LayerManager/TileLayer/ObliqueTile.ts':function(_0x4d2c11,_0x570e11,_0x5a4d12){'use strict';_0x5a4d12['r'](_0x570e11),_0x5a4d12['d'](_0x570e11,_0x1a4e('0x3fc5'),function(){return _0xfc9c9d;});var _0x5bc58d,_0x240b53=_0x5a4d12(_0x1a4e('0x4e2e')),_0x5d70ed=_0x5a4d12('./src/Core/Item.ts'),_0x492fea=_0x5a4d12(_0x1a4e('0x3999')),_0x4db03f=(_0x5bc58d=function(_0x4d2c11,_0x570e11){return(_0x5bc58d=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4d2c11,_0x570e11){_0x4d2c11[_0x1a4e('0x295')]=_0x570e11;}||function(_0x4d2c11,_0x570e11){for(var _0x5a4d12 in _0x570e11)_0x570e11[_0x1a4e('0xb')](_0x5a4d12)&&(_0x4d2c11[_0x5a4d12]=_0x570e11[_0x5a4d12]);})(_0x4d2c11,_0x570e11);},function(_0x4d2c11,_0x570e11){function _0x5a4d12(){this['constructor']=_0x4d2c11;}_0x5bc58d(_0x4d2c11,_0x570e11),_0x4d2c11[_0x1a4e('0xa')]=null===_0x570e11?Object[_0x1a4e('0x7')](_0x570e11):(_0x5a4d12['prototype']=_0x570e11[_0x1a4e('0xa')],new _0x5a4d12());}),_0x5db420=function(_0x4d2c11,_0x570e11){var _0x5a4d12=_0x1a4e('0x68')==typeof Symbol&&_0x4d2c11[Symbol[_0x1a4e('0x335')]];if(!_0x5a4d12)return _0x4d2c11;var _0x5bc58d,_0x240b53,_0x5d70ed=_0x5a4d12['call'](_0x4d2c11),_0x492fea=[];try{for(;(void 0x0===_0x570e11||_0x570e11-->0x0)&&!(_0x5bc58d=_0x5d70ed[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x492fea[_0x1a4e('0x46')](_0x5bc58d[_0x1a4e('0x255')]);}catch(_0x154e95){_0x240b53={'error':_0x154e95};}finally{try{_0x5bc58d&&!_0x5bc58d['done']&&(_0x5a4d12=_0x5d70ed[_0x1a4e('0xe40')])&&_0x5a4d12[_0x1a4e('0x1')](_0x5d70ed);}finally{if(_0x240b53)throw _0x240b53[_0x1a4e('0x873')];}}return _0x492fea;},_0x114bd6=function(){for(var _0x4d2c11=[],_0x570e11=0x0;_0x570e11this[_0x1a4e('0x4e2f')];)_0x5a4d12=parseInt((_0x5a4d12/0x2)[_0x1a4e('0x95')]()),_0x5bc58d=parseInt((_0x5bc58d/0x2)[_0x1a4e('0x95')]()),_0x570e11--;var _0x240b53={'level':null,'x':null,'y':null};return _0x240b53[_0x1a4e('0x2dd0')]=_0x570e11,_0x240b53['x']=_0x5a4d12,_0x240b53['y']=_0x5bc58d,_0x240b53;},_0x570e11[_0x1a4e('0xa')]['processTile']=function(_0x4d2c11,_0x570e11){var _0x5a4d12=this[_0x1a4e('0x4d4c')](_0x570e11);if(!Cesium['defined'](_0x5a4d12)||0x1!=_0x5a4d12['visible'])if(Cesium['defined'](_0x5a4d12)){if(_0x5a4d12[_0x1a4e('0x4d50')])if(_0x5a4d12[_0x1a4e('0x3b2c')]=!0x0,this['_renderTiles']['contains'](_0x5a4d12['key'])){_0x5bc58d=_0x5a4d12[_0x1a4e('0x8f7')];Cesium[_0x1a4e('0x3a0b')](_0x5bc58d)&&(_0x5bc58d[_0x1a4e('0x3a23')]=!0x0);}else{var _0x5bc58d=_0x5a4d12['create3dTile'](_0x4d2c11,_0x5a4d12[_0x1a4e('0x4e28')],this['_maximumScreenSpaceError'],this[_0x1a4e('0x4e30')]);Cesium[_0x1a4e('0x3a0b')](_0x5bc58d)&&this[_0x1a4e('0x4d47')][_0x1a4e('0x17a')](_0x5a4d12[_0x1a4e('0x35f')],_0x5a4d12);}}else{var _0x5d70ed=new _0x240b53['ObliqueTileData']({'key':_0x570e11,'scene':_0x4d2c11});_0x5d70ed[_0x1a4e('0x4d52')]=!0x0,this[_0x1a4e('0x4d44')][_0x1a4e('0x4d53')](_0x5d70ed),Cesium[_0x1a4e('0x4d54')][_0x1a4e('0x4d55')](this,!0x1);console[_0x1a4e('0x58')](this[_0x1a4e('0x4764')]+'grid_'+_0x5d70ed['x']+'_'+_0x5d70ed['y']+_0x1a4e('0x4e38')),_0x5d70ed[_0x1a4e('0x2dd0')]==this[_0x1a4e('0x4e2f')]&&(_0x5d70ed['_geojson']=this[_0x1a4e('0x4764')]+_0x1a4e('0x4e39')+_0x5d70ed['x']+'_'+_0x5d70ed['y']+'_dtiles/tileset.json',this[_0x1a4e('0x4e3a')]?_0x5d70ed['x']>=this['_minX']&&_0x5d70ed['x']<=this[_0x1a4e('0x4e3b')]&&_0x5d70ed['y']>=this['_minY']&&_0x5d70ed['y']<=this['_maxY']?_0x5d70ed['prepare']=!0x0:(_0x5d70ed[_0x1a4e('0x4d50')]=!0x1,_0x5d70ed[_0x1a4e('0x4d52')]=!0x0):_0x5d70ed['prepare']=!0x0);}},_0x570e11['prototype'][_0x1a4e('0x4d5d')]=function(_0x4d2c11){for(var _0x570e11=new Set(),_0x5a4d12=0x0;_0x5a4d12<_0x4d2c11[_0x1a4e('0x1e')];_0x5a4d12++){var _0x5bc58d=_0x4d2c11[_0x5a4d12]['level']+'-'+_0x4d2c11[_0x5a4d12]['x']+'-'+_0x4d2c11[_0x5a4d12]['y'];_0x570e11[_0x1a4e('0x178')](_0x5bc58d)||_0x570e11[_0x1a4e('0x177')](_0x5bc58d);}return _0x114bd6(_0x570e11);},_0x570e11[_0x1a4e('0xa')]['update']=function(_0x4d2c11){if(Cesium['defined'](this[_0x1a4e('0x3be2')])){this[_0x1a4e('0x4d44')]['markStartOfRenderFrame']();for(var _0x570e11=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x5a4d12=0x0;_0x5a4d12<_0x570e11[_0x1a4e('0x1e')];_0x5a4d12++)_0x570e11[_0x5a4d12][_0x1a4e('0x3b2c')]=!0x1;var _0x5bc58d=new Array(),_0x240b53=this;this[_0x1a4e('0x3be2')][_0x1a4e('0x38d7')]['_surface'][_0x1a4e('0x4d5f')](function(_0x4d2c11){if(_0x4d2c11[_0x1a4e('0x2dd0')]>=_0x240b53[_0x1a4e('0x4d60')]){var _0x570e11=_0x240b53['getParentKey'](_0x4d2c11);_0x5bc58d[_0x1a4e('0x46')]({'level':_0x570e11[_0x1a4e('0x2dd0')],'x':_0x570e11['x'],'y':_0x570e11['y']});}}),_0x5bc58d=this[_0x1a4e('0x4d5d')](_0x5bc58d);for(var _0x5d70ed=0x0;_0x5d70ed<_0x5bc58d[_0x1a4e('0x1e')];_0x5d70ed++)this[_0x1a4e('0x4d4f')](this['_scene'],_0x5bc58d[_0x5d70ed]);for(var _0x492fea=!0x0;_0x492fea;){_0x492fea=!0x1;var _0x4db03f=void 0x0;_0x570e11=_0x240b53['_renderTiles']['values'];for(var _0x5db420=0x0;_0x5db420<_0x570e11[_0x1a4e('0x1e')];_0x5db420++)if(0x0==(_0x4db03f=_0x570e11[_0x5db420])[_0x1a4e('0x3b2c')])_0x492fea=!0x0;else{var _0x114bd6=_0x4db03f[_0x1a4e('0x8f7')];Cesium[_0x1a4e('0x3a0b')](_0x114bd6)&&_0x114bd6['trimLoadedTiles']();}if(_0x492fea&&Cesium[_0x1a4e('0x3a0b')](_0x4db03f)){_0x114bd6=_0x4db03f[_0x1a4e('0x8f7')];Cesium[_0x1a4e('0x3a0b')](_0x114bd6)&&(_0x240b53['_deleteTileSetEvent']['raiseEvent'](_0x240b53[_0x1a4e('0x3be2')],_0x114bd6),_0x240b53[_0x1a4e('0x4d44')][_0x1a4e('0x82')](_0x4db03f),_0x240b53[_0x1a4e('0x4d47')][_0x1a4e('0x82')](_0x4db03f[_0x1a4e('0x35f')]));}}return!0x0;}},_0x570e11[_0x1a4e('0xa')]['destroy']=function(){var _0x4d2c11=this['_scene'];this[_0x1a4e('0x3be2')]=void 0x0;for(var _0x570e11=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x5a4d12=0x0;_0x5a4d12<_0x570e11[_0x1a4e('0x1e')];_0x5a4d12++)_0x4d2c11['primitives'][_0x1a4e('0x82')](_0x570e11[_0x5a4d12]['primitive']);_0x570e11=void 0x0,this[_0x1a4e('0x4d47')]['removeAll'](),this['_tileReplacementQueue'][_0x1a4e('0x4d5e')](),this[_0x1a4e('0x4d44')]['trimTiles'](0x0);},_0x570e11;}(_0x5d70ed[_0x1a4e('0x3aca')]);},'./src/LayerManager/TileLayer/ObliqueTileData.js':function(_0x37d376,_0x368645,_0x2ff719){'use strict';Object[_0x1a4e('0x2')](_0x368645,_0x1a4e('0x6'),{'value':!0x0});var _0x31f513=function(){function _0x37d376(_0x37d376,_0x368645){for(var _0x2ff719=0x0;_0x2ff719<_0x368645[_0x1a4e('0x1e')];_0x2ff719++){var _0x31f513=_0x368645[_0x2ff719];_0x31f513[_0x1a4e('0x1359')]=_0x31f513[_0x1a4e('0x1359')]||!0x1,_0x31f513[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x31f513&&(_0x31f513[_0x1a4e('0x1346')]=!0x0),Object['defineProperty'](_0x37d376,_0x31f513[_0x1a4e('0x35f')],_0x31f513);}}return function(_0x368645,_0x2ff719,_0x31f513){return _0x2ff719&&_0x37d376(_0x368645['prototype'],_0x2ff719),_0x31f513&&_0x37d376(_0x368645,_0x31f513),_0x368645;};}();Cesium[_0x1a4e('0x4d95')];var _0x583f6b=Cesium[_0x1a4e('0x3a46')],_0x1f2735=Cesium[_0x1a4e('0x3a0b')],_0x4de278=Cesium['DeveloperError'];Cesium[_0x1a4e('0x19e6')],Cesium[_0x1a4e('0x3946')],Cesium[_0x1a4e('0x3941')],Cesium['PolylineMaterialAppearance'],Cesium[_0x1a4e('0x3942')],Cesium[_0x1a4e('0x3ab2')],Cesium[_0x1a4e('0x3a3b')],Cesium[_0x1a4e('0x3947')],Cesium['ColorGeometryInstanceAttribute'],_0x368645[_0x1a4e('0x4e3c')]=function(){function _0x37d376(_0x368645){!function(_0x37d376,_0x368645){if(!(_0x37d376 instanceof _0x368645))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x37d376),_0x368645=_0x583f6b(_0x368645,_0x583f6b[_0x1a4e('0x3bcb')]),this[_0x1a4e('0xa2f')]=_0x368645[_0x1a4e('0x35f')];var _0x2ff719=this[_0x1a4e('0xa2f')];if(!_0x1f2735(_0x2ff719))throw new _0x4de278('the\x20key\x20of\x20VectorTile\x20is\x20required.');var _0x31f513=_0x2ff719['indexOf']('-'),_0x51f310=_0x2ff719[_0x1a4e('0x471')]('-');this['_level']=parseInt(_0x2ff719[_0x1a4e('0x254')](0x0,_0x31f513)),this['_x']=parseInt(_0x2ff719[_0x1a4e('0x254')](_0x31f513+0x1,_0x51f310-_0x31f513-0x1)),this['_y']=parseInt(_0x2ff719[_0x1a4e('0x254')](_0x51f310+0x1)),this[_0x1a4e('0x3be2')]=_0x368645[_0x1a4e('0x38d6')],this['_prepare']=_0x583f6b(_0x368645['state'],!0x1),this['_visible']=_0x583f6b(_0x368645[_0x1a4e('0x3b2c')],!0x1),this[_0x1a4e('0x4571')]=void 0x0,this[_0x1a4e('0x39d5')]=void 0x0,this[_0x1a4e('0x4e28')]=void 0x0;}return _0x31f513(_0x37d376,[{'key':_0x1a4e('0x4e3d'),'value':function(_0x37d376,_0x368645,_0x2ff719,_0x31f513){if(console['log'](_0x1a4e('0x4e3e')),_0x1f2735(_0x368645)&&''!=_0x368645)return this[_0x1a4e('0x4571')]=_0x37d376[_0x1a4e('0x38e3')][_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x43a6'))]({'url':_0x368645,'maximumScreenSpaceError':_0x2ff719,'maximumMemoryUsage':_0x31f513,'shadows':Cesium['ShadowMode'][_0x1a4e('0x44f3')]})),console[_0x1a4e('0x58')](_0x1a4e('0x4e3f')),this['_primitive'];}},{'key':_0x1a4e('0x4d3e'),'value':function(){this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x4571')]);}},{'key':_0x1a4e('0x35f'),'get':function(){return this['_key'];}},{'key':'level','get':function(){return this['_level'];}},{'key':'x','get':function(){return this['_x'];}},{'key':'y','get':function(){return this['_y'];}},{'key':_0x1a4e('0x38d6'),'get':function(){return this[_0x1a4e('0x3be2')];}},{'key':_0x1a4e('0x4d50'),'get':function(){return this[_0x1a4e('0x4d33')];},'set':function(_0x37d376){this[_0x1a4e('0x4d33')]=_0x37d376;}},{'key':'visible','get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0x37d376){this['_visible']!==_0x37d376&&(this[_0x1a4e('0x3b33')]=_0x37d376);}},{'key':'primitive','get':function(){return this['_primitive'];}}]),_0x37d376;}();},'./src/LayerManager/TileLayer/PbfImageryProvider.js':function(_0x124a94,_0x55ba5f,_0x3c9f6a){'use strict';Object['defineProperty'](_0x55ba5f,_0x1a4e('0x6'),{'value':!0x0});var _0x1216b3=function(){function _0x124a94(_0x124a94,_0x55ba5f){for(var _0x3c9f6a=0x0;_0x3c9f6a<_0x55ba5f[_0x1a4e('0x1e')];_0x3c9f6a++){var _0x1216b3=_0x55ba5f[_0x3c9f6a];_0x1216b3[_0x1a4e('0x1359')]=_0x1216b3[_0x1a4e('0x1359')]||!0x1,_0x1216b3[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x1216b3&&(_0x1216b3['writable']=!0x0),Object['defineProperty'](_0x124a94,_0x1216b3[_0x1a4e('0x35f')],_0x1216b3);}}return function(_0x55ba5f,_0x3c9f6a,_0x1216b3){return _0x3c9f6a&&_0x124a94(_0x55ba5f[_0x1a4e('0xa')],_0x3c9f6a),_0x1216b3&&_0x124a94(_0x55ba5f,_0x1216b3),_0x55ba5f;};}(),_0x2710cb=(_0x3c9f6a(_0x1a4e('0x4e40')),_0x3c9f6a(_0x1a4e('0x3999'))),_0x350bd0=_0x3c9f6a(_0x1a4e('0x38d0'));function _0x151148(_0x124a94,_0x55ba5f){if(!(_0x124a94 instanceof _0x55ba5f))throw new TypeError(_0x1a4e('0x1358'));}var _0x4cabc2=void 0x0,_0x51b995=Cesium[_0x1a4e('0x475d')],_0x4d17de=Cesium[_0x1a4e('0x3a46')];var _0x15c14e=function(){function _0x124a94(_0x55ba5f,_0x3c9f6a,_0x1216b3,_0x2710cb){_0x151148(this,_0x124a94),this['_level']=_0x55ba5f,this['_x']=_0x3c9f6a,this['_y']=_0x1216b3,this[_0x1a4e('0xa2f')]=this[_0x1a4e('0x4ac')]+'-'+this['_x']+'-'+this['_y'],this[_0x1a4e('0x4e41')]=_0x2710cb[_0x1a4e('0x25')];var _0x350bd0=this['_features'][0x0][_0x1a4e('0x18')],_0x4cabc2=_0x1a4e('0x44')===_0x350bd0[_0x1a4e('0x40')]?_0x350bd0[_0x1a4e('0x43')][0x0]:_0x350bd0[_0x1a4e('0x43')][0x0][0x0],_0x51b995=Cesium[_0x1a4e('0x1020')]['RADIANS_PER_DEGREE'],_0x4d17de=new Cesium['Rectangle'](_0x4cabc2[0x0]*_0x51b995,_0x4cabc2[0x1]*_0x51b995,_0x4cabc2[0x0]*_0x51b995,_0x4cabc2[0x1]*_0x51b995);function _0x15c14e(_0x124a94){for(var _0x55ba5f=0x0;_0x55ba5f<_0x124a94['length'];_0x55ba5f++){var _0x3c9f6a=_0x124a94[_0x55ba5f];_0x4d17de=Cesium['Rectangle']['expand'](_0x4d17de,new Cesium[(_0x1a4e('0x39fa'))](_0x3c9f6a[0x0]*_0x51b995,_0x3c9f6a[0x1]*_0x51b995));}}for(var _0x966a15=0x0;_0x966a15_0x1216b3&&(_0x1216b3=_0x966a15),_0x1216b3>=0xa5*Cesium[_0x1a4e('0x1020')][_0x1a4e('0x3eda')])return!0x0;}return!0x1;}},{'key':_0x1a4e('0x4e43'),'value':function(_0x124a94,_0x55ba5f){for(var _0x3c9f6a=0x0;_0x3c9f6a0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:0x1,_0x3c9f6a=arguments['length']>0x2&&void 0x0!==arguments[0x2]?arguments[0x2]:_0x1a4e('0x4e49'),_0x1216b3=arguments[_0x1a4e('0x1e')]>0x3&&void 0x0!==arguments[0x3]?arguments[0x3]:_0x1a4e('0x4194'),_0x2710cb=arguments['length']>0x4&&void 0x0!==arguments[0x4]&&arguments[0x4],_0x350bd0=0x0;return'LineString'!=_0x124a94&&_0x1a4e('0x1b')!=_0x124a94||(_0x2710cb?_0x151148[_0x1a4e('0x4e4a')](_0x1216b3):_0x151148[_0x1a4e('0x4e4a')](_0x3c9f6a),_0x151148[_0x1a4e('0x469c')](_0x55ba5f),_0x51b995[_0x350bd0++]=_0x4cabc2),_0x51b995[_0x1a4e('0x1e')]=_0x350bd0,_0x51b995;};}(_0x1216b3[_0x1a4e('0x4e4b')],_0x1216b3['Fill'],_0x1216b3[_0x1a4e('0x4e4c')],_0x1216b3[_0x1a4e('0x4e4d')],_0x1216b3['Text']),_0x3c9f6a[_0x1a4e('0x4e4e')]=[_0x1a4e('0x18ed'),'Image',_0x1a4e('0x19'),_0x1a4e('0x44'),'Text'];var _0x2710cb=_0x3c9f6a[_0x1a4e('0x4d74')]();return _0x3c9f6a[_0x1a4e('0x4e4f')]=_0x4d17de(_0x124a94[_0x1a4e('0x811')],[0x0,0x0,0x1000,0x1000]),_0x3c9f6a[_0x1a4e('0x4e50')]=function(_0x124a94,_0x55ba5f,_0x3c9f6a){_0x4cabc2=GVol||ol;for(var _0x1216b3=void 0x0!==_0x55ba5f?_0x55ba5f:_0x4cabc2[_0x1a4e('0x4e51')],_0x2710cb=_0x4cabc2[_0x1a4e('0x811')][_0x1a4e('0x29c')](_0x124a94),_0x350bd0=_0x4cabc2[_0x1a4e('0x811')][_0x1a4e('0x29b')](_0x124a94),_0x151148=_0x4cabc2['size'][_0x1a4e('0x4e52')](void 0x0!==_0x3c9f6a?_0x3c9f6a:_0x4cabc2[_0x1a4e('0x4e53')]),_0x51b995=Math[_0x1a4e('0x6c')](_0x350bd0/_0x151148[0x0],_0x2710cb/_0x151148[0x1]),_0x4d17de=_0x1216b3+0x1,_0x15c14e=new Array(_0x4d17de),_0x966a15=0x0;_0x966a15<_0x4d17de;++_0x966a15)_0x15c14e[_0x966a15]=_0x51b995/Math[_0x1a4e('0x8e')](0x2,_0x966a15);return _0x15c14e;}(_0x2710cb,0x16,_0x3c9f6a[_0x1a4e('0x4732')]),_0x3c9f6a['_geoJsonTiles']=new Cesium['AssociativeArray'](),_0x3c9f6a;}return function(_0x124a94,_0x55ba5f){if(_0x1a4e('0x68')!=typeof _0x55ba5f&&null!==_0x55ba5f)throw new TypeError(_0x1a4e('0x4817')+typeof _0x55ba5f);_0x124a94[_0x1a4e('0xa')]=Object['create'](_0x55ba5f&&_0x55ba5f[_0x1a4e('0xa')],{'constructor':{'value':_0x124a94,'enumerable':!0x1,'writable':!0x0,'configurable':!0x0}}),_0x55ba5f&&(Object[_0x1a4e('0xe4a')]?Object[_0x1a4e('0xe4a')](_0x124a94,_0x55ba5f):_0x124a94[_0x1a4e('0x295')]=_0x55ba5f);}(_0x55ba5f,_0x51b995),_0x1216b3(_0x55ba5f,[{'key':_0x1a4e('0x4e54'),'value':function(_0x124a94){var _0x55ba5f='';return _0x124a94['scheme']&&(_0x55ba5f+=_0x124a94[_0x1a4e('0x15f1')]+':'),_0x124a94[_0x1a4e('0x4e55')]&&(_0x55ba5f+='//'+_0x124a94[_0x1a4e('0x4e55')]),_0x55ba5f+=_0x124a94['path'],_0x124a94[_0x1a4e('0x4aa')]&&(_0x55ba5f+='?'+_0x124a94['query']),_0x124a94[_0x1a4e('0x3b49')]&&(_0x55ba5f+='#'+_0x124a94[_0x1a4e('0x3b49')]),_0x55ba5f;}},{'key':_0x1a4e('0x4e56'),'value':function(_0x124a94,_0x55ba5f){var _0x3c9f6a=Cesium[_0x1a4e('0x240')](_0x124a94,!0x0);for(var _0x1216b3 in _0x55ba5f)if(_0x55ba5f[_0x1a4e('0xb')](_0x1216b3)){var _0x2710cb=_0x3c9f6a[_0x1216b3],_0x350bd0=_0x55ba5f[_0x1216b3];_0x2710cb?(Array[_0x1a4e('0x15')](_0x2710cb)||(_0x2710cb=_0x3c9f6a[_0x1216b3]=[_0x2710cb]),_0x3c9f6a[_0x1216b3]=_0x2710cb[_0x1a4e('0x9a')](_0x350bd0)):_0x3c9f6a[_0x1216b3]=Array[_0x1a4e('0x15')](_0x350bd0)?_0x350bd0[_0x1a4e('0x78')]():_0x350bd0;}return _0x3c9f6a;}},{'key':_0x1a4e('0x4e46'),'value':function(_0x124a94){for(var _0x55ba5f=new RegExp(_0x1a4e('0x4e57'))[_0x1a4e('0x2af')](_0x124a94[_0x1a4e('0x15cf')]),_0x3c9f6a={'scheme':_0x55ba5f[0x1],'authority':_0x55ba5f[0x2],'path':_0x55ba5f[0x3],'query':_0x55ba5f[0x4],'fragment':_0x55ba5f[0x5]},_0x1216b3=_0x3c9f6a[_0x1a4e('0x4aa')][_0x1a4e('0x115')](/\+/g,_0x1a4e('0x4e58'))[_0x1a4e('0x2be')](/[&]/),_0x2710cb={},_0x350bd0=0x0,_0x151148=_0x1216b3['length'];_0x350bd0<_0x151148;++_0x350bd0){var _0x4cabc2=_0x1216b3[_0x350bd0][_0x1a4e('0x2be')]('='),_0x51b995=decodeURIComponent(_0x4cabc2[0x0]),_0x4d17de=_0x4cabc2[0x1];if(_0x4cabc2[_0x1a4e('0x1e')]>0x2)for(var _0x15c14e=0x2;_0x15c14e<_0x4cabc2[_0x1a4e('0x1e')];_0x15c14e++)_0x4d17de=_0x4d17de+'='+_0x4cabc2[_0x15c14e];_0x4d17de=_0x4d17de?decodeURIComponent(_0x4d17de):'';var _0x966a15=_0x2710cb[_0x51b995];'string'==typeof _0x966a15?_0x2710cb[_0x51b995]=[_0x966a15,_0x4d17de]:Array['isArray'](_0x966a15)?_0x966a15[_0x1a4e('0x46')](_0x4d17de):_0x2710cb[_0x51b995]=_0x4d17de;}this[_0x1a4e('0x3c98')][_0x1a4e('0x4e59')]=this['combineQueryParameters'](_0x2710cb,{}),_0x3c9f6a[_0x1a4e('0x4aa')]=void 0x0,_0x3c9f6a['fragment']=void 0x0,this[_0x1a4e('0x4764')]=this[_0x1a4e('0x4e54')](_0x3c9f6a);}},{'key':_0x1a4e('0x4e5a'),'value':function(){return[0.125,0x0,0x0,0.125,0x0,0x0];}},{'key':_0x1a4e('0x4d74'),'value':function(){var _0x124a94=this[_0x1a4e('0x473e')];if(_0x124a94 instanceof Cesium[_0x1a4e('0x4735')]){var _0x55ba5f=this[_0x1a4e('0x4734')][_0x1a4e('0x4e5b')],_0x3c9f6a=this[_0x1a4e('0x4734')]['_rectangleNortheastInMeters'];return[_0x55ba5f['x'],_0x55ba5f['y'],_0x3c9f6a['x'],_0x3c9f6a['y']];}if(_0x124a94 instanceof Cesium[_0x1a4e('0x4755')]){var _0x1216b3=_0x124a94[_0x1a4e('0x396a')];return[_0x1216b3['west'],_0x1216b3[_0x1a4e('0x394f')],_0x1216b3[_0x1a4e('0x3950')],_0x1216b3[_0x1a4e('0x403b')]];}return[0x0,0x0,0x0,0x0];}},{'key':_0x1a4e('0x4e5c'),'value':function(_0x124a94){this[_0x1a4e('0x375c')]=_0x124a94;}},{'key':'pick','value':function(_0x124a94,_0x55ba5f,_0x3c9f6a){for(var _0x1216b3=_0x350bd0[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x55ba5f,_0x3c9f6a,_0x124a94),_0x2710cb=_0x1216b3[_0x1a4e('0x1a1')]*Cesium[_0x1a4e('0x1020')][_0x1a4e('0x3eda')],_0x151148=_0x1216b3[_0x1a4e('0x1a2')]*Cesium[_0x1a4e('0x1020')]['RADIANS_PER_DEGREE'],_0x4cabc2=new Cesium[(_0x1a4e('0x39fa'))](_0x2710cb,_0x151148),_0x51b995=this['_geoJsonTiles'][_0x1a4e('0x35b')],_0x4d17de=void 0x0,_0x15c14e=void 0x0,_0x966a15=0x0;_0x966a15<_0x51b995[_0x1a4e('0x1e')];_0x966a15++)if(_0x15c14e=_0x51b995[_0x966a15],Cesium['Rectangle'][_0x1a4e('0x2ac')](_0x15c14e['bounding'],_0x4cabc2)){var _0x525272=_0x15c14e['pickFeature'](_0x1216b3[_0x1a4e('0x1a1')],_0x1216b3[_0x1a4e('0x1a2')]);if(null!=_0x525272){_0x4d17de=_0x525272['id'],console['log'](_0x1a4e('0x4e5d'),_0x4d17de);break;}}if(this['selectedID']=_0x4d17de,void 0x0!==_0x4d17de){for(var _0x1d13ff=_0x124a94['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x4c1c')][_0x1a4e('0x4d44')],_0x9356bc=_0x1d13ff['head'],_0x449218=!0x1;_0x9356bc!=_0x1d13ff[_0x1a4e('0x107f')];){if(Cesium[_0x1a4e('0x3965')]['contains'](_0x9356bc['rectangle'],_0x4cabc2)){_0x449218=!0x0;break;}_0x9356bc=_0x9356bc[_0x1a4e('0x4d4d')];}_0x449218&&_0x124a94[_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x4c1c')][_0x1a4e('0x4d5f')](function(_0x124a94){_0x124a94[_0x1a4e('0x4d3e')](),_0x1d13ff[_0x1a4e('0x82')](_0x124a94);});}}},{'key':_0x1a4e('0x4e5e'),'value':function(_0x124a94,_0x55ba5f,_0x3c9f6a,_0x1216b3){var _0x350bd0=this,_0x151148=Cesium[_0x1a4e('0x39fd')][_0x1a4e('0x1049')]();return setTimeout(function(){var _0x4cabc2=_0x2710cb[_0x1a4e('0x39a0')][_0x1a4e('0x4e5f')](_0x124a94,_0x55ba5f,_0x3c9f6a,_0x1216b3);if(_0x4cabc2[_0x1a4e('0x25')][_0x1a4e('0x1e')]>0x0){var _0x51b995=new _0x15c14e(_0x55ba5f,_0x3c9f6a,_0x1216b3,_0x4cabc2);_0x350bd0[_0x1a4e('0x4e60')][_0x1a4e('0x17a')](_0x51b995['key'],_0x51b995),_0x151148[_0x1a4e('0xe20')](_0x51b995);}},0x32),_0x151148[_0x1a4e('0x12d4')];}},{'key':_0x1a4e('0x4e61'),'value':function(_0x124a94,_0x55ba5f,_0x3c9f6a){var _0x1216b3=_0x124a94+'-'+_0x55ba5f+'-'+_0x3c9f6a;return this[_0x1a4e('0x4e60')]['get'](_0x1216b3);}},{'key':_0x1a4e('0x4e62'),'value':function(_0x124a94){for(var _0x55ba5f=_0x124a94[_0x1a4e('0x2dd0')]-0x1,_0x3c9f6a=_0x124a94['x']/0x2|0x0,_0x1216b3=_0x124a94['y']/0x2|0x0;_0x55ba5f>=0x0;){var _0x2710cb=this['_findTileFromCache'](_0x55ba5f,_0x3c9f6a,_0x1216b3);_0x2710cb&&this[_0x1a4e('0x4e60')][_0x1a4e('0x82')](_0x2710cb[_0x1a4e('0x35f')]),_0x55ba5f-=0x1,_0x3c9f6a=_0x3c9f6a/0x2|0x0,_0x1216b3=_0x1216b3/0x2|0x0;}}},{'key':'_parseTile','value':function(_0x124a94,_0x55ba5f,_0x3c9f6a,_0x1216b3){var _0x2710cb=this,_0x350bd0=_0x124a94[_0x1a4e('0x3c4f')]();return _0x350bd0?_0x350bd0['then'](function(_0x124a94){_0x2710cb[_0x1a4e('0x4e5e')](_0x124a94,_0x55ba5f,_0x3c9f6a,_0x1216b3)[_0x1a4e('0xdf8')](function(_0x124a94){_0x2710cb['_handleParentAndChildren'](_0x124a94);});var _0x350bd0=document[_0x1a4e('0xe3d')]('canvas');_0x350bd0['width']=_0x2710cb[_0x1a4e('0x4732')],_0x350bd0[_0x1a4e('0x152')]=_0x2710cb['_tileHeight'];for(var _0x151148=_0x350bd0['getContext']('2d'),_0x51b995=_0x2710cb[_0x1a4e('0x4e63')]['readFeatures'](_0x124a94),_0x4d17de=_0x2710cb[_0x1a4e('0x375c')],_0x15c14e=_0x2710cb[_0x1a4e('0x4e4f')],_0x966a15=new _0x4cabc2['render'][(_0x1a4e('0x3934'))][(_0x1a4e('0x4e64'))](0x0,_0x15c14e,0x8,!0x0,0x64),_0x161d53=0x0;_0x161d53<_0x51b995['length'];_0x161d53++){var _0x2a9334=_0x51b995[_0x161d53],_0x1f302b=!0x1;null!=_0x2710cb[_0x1a4e('0x4e65')]&&_0x2a9334[_0x1a4e('0x4e66')]==_0x2710cb['selectedID']&&(_0x1f302b=!0x0);for(var _0x46198e=_0x4d17de(_0x2a9334[_0x1a4e('0x4e67')],0x2,'#bbb','#f00',_0x1f302b)||[],_0x155fb2=0x0;_0x155fb2<_0x46198e[_0x1a4e('0x1e')];_0x155fb2++)_0x4cabc2[_0x1a4e('0x1623')]['vector'][_0x1a4e('0x4e68')](_0x966a15,_0x2a9334,_0x46198e[_0x155fb2],0x10);}return _0x966a15[_0x1a4e('0x13c2')](),_0x966a15[_0x1a4e('0x4e69')](_0x151148,_0x2710cb[_0x1a4e('0x4e6a')],_0x2710cb[_0x1a4e('0xb15')],0x0,{},_0x2710cb[_0x1a4e('0x4e4e')],!0x0),_0x350bd0;})[_0x1a4e('0x3d12')](function(_0x124a94){console[_0x1a4e('0x58')](_0x124a94);}):null;}},{'key':'requestImage','value':function(_0x124a94,_0x55ba5f,_0x3c9f6a,_0x1216b3){var _0x2710cb=this[_0x1a4e('0x3c98')][_0x1a4e('0x4e6b')](!0x0)[_0x1a4e('0x909')](/{[^}]+}/g),_0x350bd0=this,_0x151148=this[_0x1a4e('0x4e6c')],_0x4cabc2={};Cesium[_0x1a4e('0x3a0b')](_0x2710cb)&&_0x2710cb[_0x1a4e('0x3b')](function(_0x1216b3){var _0x2710cb=_0x1216b3[_0x1a4e('0x281')](0x1,_0x1216b3[_0x1a4e('0x1e')]-0x1);_0x4cabc2[_0x2710cb]=_0x151148[_0x2710cb](_0x350bd0,_0x124a94,_0x55ba5f,_0x3c9f6a);});var _0x51b995=this['_resource'][_0x1a4e('0x3d73')]({'request':_0x1216b3,'templateValues':_0x4cabc2});return _0x51b995=Cesium[_0x1a4e('0x3ba6')][_0x1a4e('0x3bd1')](_0x51b995),this[_0x1a4e('0x4e6d')](_0x51b995,_0x3c9f6a,_0x124a94,_0x55ba5f);}},{'key':_0x1a4e('0x4e6e'),'value':function(){var _0x124a94=_0x4cabc2[_0x1a4e('0x375c')][_0x1a4e('0x4e4b')][_0x1a4e('0x4e6f')][_0x1a4e('0x4e70')]();return function(_0x55ba5f,_0x3c9f6a){return _0x124a94[_0x55ba5f[_0x1a4e('0x5cc')]()[_0x1a4e('0x3cc')]()];};}},{'key':'style','get':function(){return this[_0x1a4e('0x4bb3')]?this['_style']:this[_0x1a4e('0x4e6e')]();},'set':function(_0x124a94){this[_0x1a4e('0x4bb3')]=_0x124a94;}}]),_0x55ba5f;}();_0x55ba5f[_0x1a4e('0x8')]=_0x966a15;},'./src/LayerManager/TileLayer/PlaceNameTile.ts':function(_0x3b0480,_0x423078,_0x4f5c2b){'use strict';_0x4f5c2b['r'](_0x423078),_0x4f5c2b['d'](_0x423078,'PlaceNameTile',function(){return _0x22821e;}),_0x4f5c2b['d'](_0x423078,'PlaceNameTileOpt',function(){return _0x207815;}),_0x4f5c2b['d'](_0x423078,'PlaceFontStyle',function(){return _0x3ec8eb;});var _0x236285,_0x13d352,_0x1abda7=_0x4f5c2b(_0x1a4e('0x4e71')),_0x20ce87=_0x4f5c2b['n'](_0x1abda7),_0x3001ac=_0x4f5c2b('./src/Core/Item.ts'),_0x53ac87=_0x4f5c2b(_0x1a4e('0x3999')),_0x365d8e=(_0x236285=function(_0x3b0480,_0x423078){return(_0x236285=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x3b0480,_0x423078){_0x3b0480[_0x1a4e('0x295')]=_0x423078;}||function(_0x3b0480,_0x423078){for(var _0x4f5c2b in _0x423078)_0x423078[_0x1a4e('0xb')](_0x4f5c2b)&&(_0x3b0480[_0x4f5c2b]=_0x423078[_0x4f5c2b]);})(_0x3b0480,_0x423078);},function(_0x3b0480,_0x423078){function _0x4f5c2b(){this[_0x1a4e('0x10')]=_0x3b0480;}_0x236285(_0x3b0480,_0x423078),_0x3b0480['prototype']=null===_0x423078?Object['create'](_0x423078):(_0x4f5c2b[_0x1a4e('0xa')]=_0x423078[_0x1a4e('0xa')],new _0x4f5c2b());}),_0x5c5d35=function(_0x3b0480,_0x423078){var _0x4f5c2b=_0x1a4e('0x68')==typeof Symbol&&_0x3b0480[Symbol[_0x1a4e('0x335')]];if(!_0x4f5c2b)return _0x3b0480;var _0x236285,_0x13d352,_0x1abda7=_0x4f5c2b[_0x1a4e('0x1')](_0x3b0480),_0x20ce87=[];try{for(;(void 0x0===_0x423078||_0x423078-->0x0)&&!(_0x236285=_0x1abda7['next']())[_0x1a4e('0x3c2')];)_0x20ce87[_0x1a4e('0x46')](_0x236285[_0x1a4e('0x255')]);}catch(_0x5c2fa5){_0x13d352={'error':_0x5c2fa5};}finally{try{_0x236285&&!_0x236285[_0x1a4e('0x3c2')]&&(_0x4f5c2b=_0x1abda7[_0x1a4e('0xe40')])&&_0x4f5c2b['call'](_0x1abda7);}finally{if(_0x13d352)throw _0x13d352[_0x1a4e('0x873')];}}return _0x20ce87;},_0x3fe143=function(){for(var _0x3b0480=[],_0x423078=0x0;_0x423078_0x423078){var _0x20ce87=Math[_0x1a4e('0x8e')](0x2,_0x3b0480[_0x1a4e('0x2dd0')]-_0x423078);_0x13d352=_0x3b0480['x']/_0x20ce87|0x0;_0x1abda7=_0x236285-(_0x1abda7=_0x3b0480['y']/_0x20ce87|0x0)-0x1,_0x4f5c2b[_0x1a4e('0x46')](this[_0x1a4e('0x4e02')](_0x423078,_0x13d352,_0x1abda7));}else if(_0x3b0480[_0x1a4e('0x2dd0')]<_0x423078)for(var _0x3001ac=Math['pow'](0x2,_0x423078-_0x3b0480[_0x1a4e('0x2dd0')]),_0x53ac87=_0x3b0480['x']*_0x3001ac,_0x365d8e=(_0x3b0480['x']+0x1)*_0x3001ac-0x1,_0x5c5d35=_0x3b0480['y']*_0x3001ac,_0x3fe143=(_0x3b0480['y']+0x1)*_0x3001ac-0x1,_0x22821e=_0x5c5d35;_0x22821e<=_0x3fe143;_0x22821e++)for(var _0x3bbf97=_0x53ac87;_0x3bbf97<=_0x365d8e;_0x3bbf97++)_0x4f5c2b[_0x1a4e('0x46')](this['createTileKey'](_0x423078,_0x3bbf97,_0x236285-_0x22821e-0x1));},_0x423078[_0x1a4e('0xa')]['calculateTiles']=function(_0x3b0480){var _0x423078=new Cesium['AssociativeArray']();if(_0x3b0480 instanceof Array&&_0x3b0480['length']>0x0){for(var _0x4f5c2b=[],_0x236285=0x0;_0x236285<_0x3b0480[_0x1a4e('0x1e')];_0x236285++){var _0x13d352=_0x3b0480[_0x236285];if(this[_0x1a4e('0x4df9')][_0x1a4e('0x178')](_0x13d352['level']))for(var _0x1abda7=this['_table']['get'](_0x13d352['level']),_0x20ce87=0x0;_0x20ce87<_0x1abda7[_0x1a4e('0x1e')];_0x20ce87++)this['getTiles'](_0x13d352,_0x1abda7[_0x20ce87],_0x4f5c2b);}if(_0x4f5c2b[_0x1a4e('0x1e')]>0x0)for(var _0x3001ac=0x0;_0x3001ac<_0x4f5c2b['length'];_0x3001ac++){_0x13d352=_0x4f5c2b[_0x3001ac];_0x423078[_0x1a4e('0x17a')](_0x13d352[_0x1a4e('0x35f')],_0x13d352);}}return _0x423078;},_0x423078[_0x1a4e('0xa')][_0x1a4e('0x4e76')]=function(_0x3b0480,_0x423078,_0x4f5c2b){var _0x236285=_0x3b0480[_0x1a4e('0x95')](),_0x13d352=_0x423078[_0x1a4e('0x95')](),_0x1abda7=_0x4f5c2b['toString'](),_0x20ce87=_0x236285;_0x236285[_0x1a4e('0x1e')]<0x2&&(_0x20ce87='0'+_0x236285);for(var _0x3001ac=0x7-_0x1abda7['length'];_0x3001ac>0x0;)_0x20ce87+='0',_0x3001ac--;for(_0x20ce87+=_0x1abda7,_0x3001ac=0x7-_0x13d352['length'];_0x3001ac>0x0;)_0x20ce87+='0',_0x3001ac--;return _0x20ce87+=_0x13d352;},_0x423078[_0x1a4e('0xa')][_0x1a4e('0x4d4f')]=function(_0x3b0480,_0x423078){for(var _0x4f5c2b=_0x423078[_0x1a4e('0x35f')],_0x236285=this[_0x1a4e('0x4d44')][_0x1a4e('0x10f1')];Cesium[_0x1a4e('0x3a0b')](_0x236285)&&_0x236285['key']!==_0x4f5c2b;)_0x236285=_0x236285['replacementNext'];if(Cesium[_0x1a4e('0x3a0b')](_0x236285))_0x236285[_0x1a4e('0x4d50')]&&(this[_0x1a4e('0x4d47')][_0x1a4e('0x2ac')](_0x236285[_0x1a4e('0x35f')])||(_0x236285[_0x1a4e('0x4e77')](),this[_0x1a4e('0x4d47')][_0x1a4e('0x17a')](_0x236285[_0x1a4e('0x35f')],_0x236285),this[_0x1a4e('0x4df8')]=0x2),_0x236285[_0x1a4e('0x3b2c')]=!0x0,_0x236285['updateVisible']()&&0x0===this[_0x1a4e('0x4df8')]&&(this[_0x1a4e('0x4df8')]=0x1)),this['_tileReplacementQueue']['markTileRendered'](_0x236285);else{var _0x13d352=new _0x20ce87['a']({'key':_0x4f5c2b,'scene':_0x3b0480});this[_0x1a4e('0x4d44')][_0x1a4e('0x4d53')](_0x13d352);var _0x1abda7=this['getGeoCode'](_0x13d352[_0x1a4e('0x2dd0')],_0x13d352['x'],_0x13d352['y']),_0x3001ac=this[_0x1a4e('0x4dfb')]['has'](_0x13d352[_0x1a4e('0x2dd0')])?this[_0x1a4e('0x4dfb')][_0x1a4e('0x179')](_0x13d352[_0x1a4e('0x2dd0')]):{},_0x53ac87=this[_0x1a4e('0x4764')]+_0x1abda7,_0x365d8e=window[_0x1a4e('0xdf6')](_0x53ac87)[_0x1a4e('0xdf8')](function(_0x3b0480){return _0x3b0480['json']();});Cesium[_0x1a4e('0x39fd')](_0x365d8e,null)['then'](function(_0x3b0480){for(var _0x423078=0x0;_0x423078<_0x3b0480[_0x1a4e('0x1e')];_0x423078++){var _0x4f5c2b=_0x3b0480[_0x423078],_0x236285=_0x4f5c2b['WZ'],_0x1abda7=(_0x236285=_0x236285[_0x1a4e('0x281')](_0x236285['indexOf']('(')+0x1,_0x236285[_0x1a4e('0x3e')](')')))[_0x1a4e('0x2be')]('\x20');if(0x2===_0x1abda7[_0x1a4e('0x1e')]){var _0x20ce87=parseFloat(_0x1abda7[0x0]),_0x53ac87=parseFloat(_0x1abda7[0x1]);_0x13d352['add'](_0x20ce87,_0x53ac87,_0x4f5c2b[_0x1a4e('0x4dca')],_0x3001ac);}}_0x13d352[_0x1a4e('0x4d50')]=!0x0,_0x13d352[_0x1a4e('0x4d52')]=!0x0;})['otherwise'](function(_0x3b0480){_0x13d352[_0x1a4e('0x4d50')]=!0x0,_0x13d352[_0x1a4e('0x4d52')]=!0x0;});}},_0x423078['prototype'][_0x1a4e('0x4e78')]=function(){var _0x3b0480=this,_0x423078=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')],_0x4f5c2b=[];_0x423078[_0x1a4e('0x38d7')]['_surface']['forEachRenderedTile'](function(_0x423078){_0x4f5c2b['push'](_0x3b0480[_0x1a4e('0x4e02')](_0x423078[_0x1a4e('0x2dd0')],_0x423078['x'],_0x423078['y']));}),this[_0x1a4e('0x4e79')][_0x1a4e('0x4c9b')]=_0x4f5c2b;},_0x423078[_0x1a4e('0xa')][_0x1a4e('0x4e7a')]=function(){var _0x3b0480=this[_0x1a4e('0x4e79')][_0x1a4e('0x4c9b')],_0x423078=new Cesium[(_0x1a4e('0x4d95'))]();if(_0x3b0480 instanceof Array&&_0x3b0480[_0x1a4e('0x1e')]>0x0){for(var _0x4f5c2b=[],_0x236285=0x0;_0x236285<_0x3b0480[_0x1a4e('0x1e')];_0x236285++)for(var _0x13d352=_0x3b0480[_0x236285],_0x1abda7=this[_0x1a4e('0x4df9')][_0x1a4e('0x179')](_0x13d352[_0x1a4e('0x2dd0')]),_0x20ce87=0x0;_0x20ce87<_0x1abda7[_0x1a4e('0x1e')];_0x20ce87++)this['getTiles'](_0x13d352,_0x1abda7[_0x20ce87],_0x4f5c2b);if(_0x4f5c2b['length']>0x0)for(var _0x3001ac=0x0;_0x3001ac<_0x4f5c2b[_0x1a4e('0x1e')];_0x3001ac++){_0x13d352=_0x4f5c2b[_0x3001ac];_0x423078[_0x1a4e('0x17a')](_0x13d352[_0x1a4e('0x35f')],_0x13d352);}}this['_control'][_0x1a4e('0x4c9b')]=_0x423078[_0x1a4e('0x35b')];},_0x423078[_0x1a4e('0xa')]['doCreateTiles']=function(){for(var _0x3b0480=this[_0x1a4e('0x4d47')]['values'],_0x423078=0x0;_0x423078<_0x3b0480['length'];_0x423078++)_0x3b0480[_0x423078][_0x1a4e('0x4e7b')]--;for(var _0x4f5c2b=this[_0x1a4e('0x4e79')][_0x1a4e('0x4c9b')],_0x236285=0x0;_0x236285<_0x4f5c2b['length'];_0x236285++){var _0x1abda7=_0x4f5c2b[_0x236285],_0x20ce87=this[_0x1a4e('0x4d47')]['get'](_0x1abda7[_0x1a4e('0x35f')]);void 0x0===_0x20ce87?(_0x20ce87={'key':_0x1abda7['key'],'level':_0x1abda7[_0x1a4e('0x2dd0')],'x':_0x1abda7['x'],'y':_0x1abda7['y'],'visibleFrame':0x1e,'data':void 0x0,'object':void 0x0,'request':void 0x0,'priority':0x1,'state':_0x13d352[_0x1a4e('0x4e7c')]},this[_0x1a4e('0x4d47')][_0x1a4e('0x17a')](_0x1abda7[_0x1a4e('0x35f')],_0x20ce87)):(_0x20ce87[_0x1a4e('0xa46')]===_0x13d352[_0x1a4e('0x4e7c')]&&_0x20ce87['priority']++,_0x20ce87['visibleFrame']++);}this[_0x1a4e('0x4e79')][_0x1a4e('0x4c9b')]=[];},_0x423078[_0x1a4e('0xa')][_0x1a4e('0x4e7d')]=function(_0x3b0480){var _0x423078=this[_0x1a4e('0x4e76')](_0x3b0480[_0x1a4e('0x2dd0')],_0x3b0480['x'],_0x3b0480['y']),_0x4f5c2b=this[_0x1a4e('0x4764')]+_0x423078,_0x236285=window[_0x1a4e('0xdf6')](_0x4f5c2b);if(!_0x236285)return console[_0x1a4e('0x58')]('promise\x20is\x20null!'),null;_0x3b0480['state']=_0x13d352[_0x1a4e('0x4cea')],Cesium[_0x1a4e('0x39fd')](_0x236285,function(_0x3b0480){return _0x3b0480[_0x1a4e('0x1a7')]();})['then'](function(_0x423078){_0x3b0480[_0x1a4e('0x7f')]=_0x423078,_0x3b0480['state']=_0x13d352['Analysis'];});},_0x423078['prototype'][_0x1a4e('0x4e7e')]=function(_0x3b0480){var _0x423078=_0x3b0480[_0x1a4e('0x7f')],_0x4f5c2b=this[_0x1a4e('0x4dfb')][_0x1a4e('0x178')](_0x3b0480['level'])?this[_0x1a4e('0x4dfb')]['get'](_0x3b0480[_0x1a4e('0x2dd0')]):{};_0x3b0480['object']=new _0x20ce87['a']({'key':_0x3b0480[_0x1a4e('0x35f')],'scene':this[_0x1a4e('0x3be2')]});for(var _0x236285=0x0;_0x236285<_0x423078[_0x1a4e('0x1e')];_0x236285++){var _0x1abda7=_0x423078[_0x236285],_0x3001ac=_0x1abda7['WZ'],_0x53ac87=(_0x3001ac=_0x3001ac[_0x1a4e('0x281')](_0x3001ac[_0x1a4e('0x3e')]('(')+0x1,_0x3001ac['indexOf'](')')))[_0x1a4e('0x2be')]('\x20');if(0x2===_0x53ac87['length']){var _0x365d8e=parseFloat(_0x53ac87[0x0]),_0x5c5d35=parseFloat(_0x53ac87[0x1]);_0x3b0480['object'][_0x1a4e('0x177')](_0x365d8e,_0x5c5d35,_0x1abda7[_0x1a4e('0x4dca')],_0x4f5c2b);}}_0x3b0480[_0x1a4e('0x85')][_0x1a4e('0x4d50')]=!0x0,_0x3b0480['state']=_0x13d352[_0x1a4e('0x4e7f')];},_0x423078['prototype']['doRender']=function(_0x3b0480){_0x3b0480[_0x1a4e('0x85')]?(_0x3b0480['object'][_0x1a4e('0x4e77')](),_0x3b0480[_0x1a4e('0x85')]['visible']=!0x0,_0x3b0480[_0x1a4e('0xa46')]=_0x13d352['Visible']):_0x3b0480['priority']=0x0;},_0x423078[_0x1a4e('0xa')]['doProcess']=function(){for(var _0x3b0480=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x423078=void 0x0,_0x4f5c2b=0x0,_0x236285=[],_0x1abda7=0x0;_0x1abda7<_0x3b0480[_0x1a4e('0x1e')];_0x1abda7++){(_0x3001ac=_0x3b0480[_0x1abda7])[_0x1a4e('0x4e7b')]<0x0?(_0x3001ac['object']&&_0x3001ac[_0x1a4e('0xa46')]===_0x13d352[_0x1a4e('0x4e80')]&&(this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x3001ac[_0x1a4e('0x85')]['labelCollection']),_0x3001ac[_0x1a4e('0xa46')]=_0x13d352[_0x1a4e('0x4e7f')]),_0x236285[_0x1a4e('0x46')](_0x3001ac)):_0x3001ac[_0x1a4e('0xa46')]!==_0x13d352[_0x1a4e('0x4e80')]?_0x3001ac[_0x1a4e('0x16a1')]>_0x4f5c2b&&(_0x4f5c2b=_0x3001ac[_0x1a4e('0x16a1')],_0x423078=_0x3001ac):_0x3001ac[_0x1a4e('0x85')]['updateVisible']();}if(void 0x0!==_0x423078&&(_0x423078[_0x1a4e('0xa46')]===_0x13d352[_0x1a4e('0x4e7c')]&&_0x4f5c2b>0x5?this[_0x1a4e('0x4e7d')](_0x423078):_0x423078[_0x1a4e('0xa46')]===_0x13d352['Analysis']?this[_0x1a4e('0x4e7e')](_0x423078):_0x423078[_0x1a4e('0xa46')]===_0x13d352['CreateRender']&&this[_0x1a4e('0x4e81')](_0x423078)),_0x236285[_0x1a4e('0x1e')]>0x0)for(var _0x20ce87=0x0;_0x20ce87<_0x236285[_0x1a4e('0x1e')];_0x20ce87++){var _0x3001ac,_0x53ac87=(_0x3001ac=_0x236285[_0x20ce87])[_0x1a4e('0x2dd0')]+'-'+_0x3001ac['x']+'-'+_0x3001ac['y'];this['_renderTiles']['remove'](_0x53ac87);}},_0x423078[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x3b0480){if(Cesium[_0x1a4e('0x3a0b')](this['_scene']))return this['_clusterCount']<0x0?(this['cluster'](),void(this[_0x1a4e('0x4e82')]=0x78)):(this['_clusterCount']--,0x0===this[_0x1a4e('0x4e79')][_0x1a4e('0xa46')]?(this[_0x1a4e('0x4e78')](),this['_control']['state']=0x1):0x1===this[_0x1a4e('0x4e79')][_0x1a4e('0xa46')]?(this[_0x1a4e('0x4e7a')](),this['_control'][_0x1a4e('0xa46')]=0x2):0x2===this[_0x1a4e('0x4e79')]['state']?(this[_0x1a4e('0x4e83')](),this['_control'][_0x1a4e('0xa46')]=0x3):0x3===this[_0x1a4e('0x4e79')][_0x1a4e('0xa46')]&&(this[_0x1a4e('0x4e84')](),this[_0x1a4e('0x4e79')][_0x1a4e('0xa46')]=0x0),!0x0);},_0x423078[_0x1a4e('0xa')][_0x1a4e('0x296')]=function(_0x3b0480){return _0x3b0480[_0x1a4e('0x196')]['x'];},_0x423078[_0x1a4e('0xa')][_0x1a4e('0x292')]=function(_0x3b0480){return _0x3b0480[_0x1a4e('0x196')]['y'];},_0x423078[_0x1a4e('0xa')]['cluster']=function(){for(var _0x3b0480=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x423078=[],_0x4f5c2b=0x0;_0x4f5c2b<_0x3b0480['length'];_0x4f5c2b++){var _0x236285=_0x3b0480[_0x4f5c2b][_0x1a4e('0x4486')];if(Cesium['defined'](_0x236285))for(var _0x13d352=0x0;_0x13d352<_0x236285[_0x1a4e('0x1e')];_0x13d352++){if((_0x19e250=_0x236285[_0x1a4e('0x179')](_0x13d352))[_0x1a4e('0x4e04')]=!0x0,_0x19e250['show']){var _0x1abda7=_0x19e250[_0x1a4e('0x4e85')](this['_scene']);if(Cesium[_0x1a4e('0x3a0b')](_0x1abda7)){var _0x20ce87=new Cesium[(_0x1a4e('0x4629'))]();_0x20ce87=Cesium[_0x1a4e('0x191a')][_0x1a4e('0x4e05')](_0x19e250,_0x1abda7,_0x20ce87),_0x423078[_0x1a4e('0x46')]({'index':_0x13d352,'collection':_0x236285,'clustered':!0x1,'coord':_0x1abda7,'bbox':_0x20ce87});}}}}for(var _0x3001ac=Cesium['kdbush'](_0x423078,this[_0x1a4e('0x296')],this['getY'],0x40,Int32Array),_0x53ac87=[],_0x365d8e=0x0;_0x365d8e<_0x423078[_0x1a4e('0x1e')];_0x365d8e++){var _0x5c5d35=_0x423078[_0x365d8e];if(!_0x5c5d35[_0x1a4e('0x4e07')]){_0x20ce87=_0x5c5d35['bbox'];for(var _0x3fe143=!0x1,_0x22821e=0x0;_0x22821e<_0x53ac87[_0x1a4e('0x1e')];_0x22821e++)if(Cesium['BoundingRectangle']['intersect'](_0x20ce87,_0x53ac87[_0x22821e])===Cesium[_0x1a4e('0x434c')][_0x1a4e('0x434e')]){(_0x19e250=_0x5c5d35[_0x1a4e('0x4301')]['get'](_0x5c5d35[_0x1a4e('0xbd')]))[_0x1a4e('0x4e04')]=!0x1,_0x5c5d35[_0x1a4e('0x4e07')]=!0x0,_0x3fe143=!0x0;break;}if(!_0x3fe143){_0x53ac87['push'](_0x20ce87);var _0x10181a=_0x3001ac['range'](_0x20ce87['x'],_0x20ce87['y'],_0x20ce87['x']+_0x20ce87['width'],_0x20ce87['y']+_0x20ce87[_0x1a4e('0x152')]);if(!(_0x10181a[_0x1a4e('0x1e')]<0x2))for(_0x13d352=0x0;_0x13d352<_0x10181a[_0x1a4e('0x1e')];_0x13d352++)if(_0x10181a[_0x13d352]!==_0x365d8e){var _0x19e250,_0x1226f7=_0x423078[_0x10181a[_0x13d352]];if(!_0x1226f7['clustered'])(_0x19e250=_0x1226f7[_0x1a4e('0x4301')][_0x1a4e('0x179')](_0x1226f7[_0x1a4e('0xbd')]))[_0x1a4e('0x4e04')]=!0x1,_0x1226f7[_0x1a4e('0x4e07')]=!0x0;}}}}},_0x423078['prototype']['destroy']=function(){for(var _0x3b0480=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x423078=0x0;_0x423078<_0x3b0480[_0x1a4e('0x1e')];_0x423078++)this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')]['remove'](_0x3b0480[_0x423078][_0x1a4e('0x85')][_0x1a4e('0x4486')]);this[_0x1a4e('0x4d47')][_0x1a4e('0x3a42')](),this[_0x1a4e('0x4d44')]['markStartOfRenderFrame'](),this['_tileReplacementQueue']['trimTiles'](0x0),this['_scene']=void 0x0;},_0x423078;}(_0x3001ac[_0x1a4e('0x3aca')]);!function(_0x3b0480){_0x3b0480[_0x3b0480[_0x1a4e('0x4e7c')]=0x0]=_0x1a4e('0x4e7c'),_0x3b0480[_0x3b0480[_0x1a4e('0x4cea')]=0x1]=_0x1a4e('0x4cea'),_0x3b0480[_0x3b0480[_0x1a4e('0x38e5')]=0x2]=_0x1a4e('0x38e5'),_0x3b0480[_0x3b0480[_0x1a4e('0x4e7f')]=0x3]=_0x1a4e('0x4e7f'),_0x3b0480[_0x3b0480[_0x1a4e('0x4e80')]=0x4]=_0x1a4e('0x4e80');}(_0x13d352||(_0x13d352={}));var _0x207815=function(_0x3b0480,_0x423078,_0x4f5c2b){this[_0x1a4e('0x15cf')]=_0x3b0480,this['table']=_0x423078,this['styles']=_0x4f5c2b;},_0x3ec8eb=function(_0x3b0480,_0x423078,_0x4f5c2b,_0x236285){void 0x0===_0x3b0480&&(_0x3b0480=_0x1a4e('0x4dfe')),void 0x0===_0x423078&&(_0x423078=_0x1a4e('0x4e86')),void 0x0===_0x4f5c2b&&(_0x4f5c2b=_0x1a4e('0x4e87')),void 0x0===_0x236285&&(_0x236285=0x1),this['font']=_0x3b0480,this[_0x1a4e('0x3987')]=_0x423078,this[_0x1a4e('0x409f')]=_0x4f5c2b,this[_0x1a4e('0x4172')]=_0x236285;};},'./src/LayerManager/TileLayer/PlaceTile.js':function(_0x48892a,_0x4eaa9b,_0x3ab619){'use strict';Object[_0x1a4e('0x2')](_0x4eaa9b,_0x1a4e('0x6'),{'value':!0x0});var _0x1f7bbb=function(){function _0x48892a(_0x48892a,_0x4eaa9b){for(var _0x3ab619=0x0;_0x3ab619<_0x4eaa9b[_0x1a4e('0x1e')];_0x3ab619++){var _0x1f7bbb=_0x4eaa9b[_0x3ab619];_0x1f7bbb['enumerable']=_0x1f7bbb[_0x1a4e('0x1359')]||!0x1,_0x1f7bbb[_0x1a4e('0x135a')]=!0x0,_0x1a4e('0x255')in _0x1f7bbb&&(_0x1f7bbb[_0x1a4e('0x1346')]=!0x0),Object[_0x1a4e('0x2')](_0x48892a,_0x1f7bbb[_0x1a4e('0x35f')],_0x1f7bbb);}}return function(_0x4eaa9b,_0x3ab619,_0x1f7bbb){return _0x3ab619&&_0x48892a(_0x4eaa9b['prototype'],_0x3ab619),_0x1f7bbb&&_0x48892a(_0x4eaa9b,_0x1f7bbb),_0x4eaa9b;};}();Cesium[_0x1a4e('0x4d95')];var _0x147c77=Cesium[_0x1a4e('0x3a46')],_0x2014e6=Cesium[_0x1a4e('0x3a0b')],_0x19568b=Cesium['DeveloperError'],_0x73589f=(Cesium['Label'],Cesium[_0x1a4e('0x4c0e')]),_0x3e88f4=Cesium['Cartesian3'],_0x32030f=Cesium[_0x1a4e('0x4503')],_0x42d7b7=(Cesium[_0x1a4e('0x440b')],Cesium[_0x1a4e('0x394a')],Cesium[_0x1a4e('0x3ac5')],Cesium[_0x1a4e('0x3947')],Cesium[_0x1a4e('0x4345')]),_0xf2688e=function(){function _0x48892a(_0x4eaa9b){!function(_0x48892a,_0x4eaa9b){if(!(_0x48892a instanceof _0x4eaa9b))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x48892a),_0x4eaa9b=_0x147c77(_0x4eaa9b,_0x147c77[_0x1a4e('0x3bcb')]),this[_0x1a4e('0xa2f')]=_0x4eaa9b['key'];var _0x3ab619=this[_0x1a4e('0xa2f')];if(!_0x2014e6(_0x3ab619))throw new _0x19568b(_0x1a4e('0x4db1'));var _0x1f7bbb=_0x3ab619[_0x1a4e('0x3e')]('-'),_0x73589f=_0x3ab619[_0x1a4e('0x471')]('-');this[_0x1a4e('0x4ac')]=parseInt(_0x3ab619[_0x1a4e('0x254')](0x0,_0x1f7bbb)),this['_x']=parseInt(_0x3ab619['substr'](_0x1f7bbb+0x1,_0x73589f-_0x1f7bbb-0x1)),this['_y']=parseInt(_0x3ab619[_0x1a4e('0x254')](_0x73589f+0x1)),this[_0x1a4e('0x3be2')]=_0x4eaa9b[_0x1a4e('0x38d6')],this[_0x1a4e('0x4d33')]=_0x147c77(_0x4eaa9b[_0x1a4e('0xa46')],!0x1),this[_0x1a4e('0x3b33')]=_0x147c77(_0x4eaa9b['visible'],!0x1),this[_0x1a4e('0x4e2a')]=_0x147c77(_0x4eaa9b[_0x1a4e('0x4d52')],!0x1),this[_0x1a4e('0x4db2')]=_0x147c77(_0x4eaa9b['replacementPrevious'],void 0x0),this[_0x1a4e('0x4db8')]=_0x147c77(_0x4eaa9b[_0x1a4e('0x4d4d')],void 0x0),this[_0x1a4e('0x4e88')]=void 0x0,this[_0x1a4e('0x4e89')]=[];}return _0x1f7bbb(_0x48892a,[{'key':'calculateVisible','value':function(_0x48892a,_0x4eaa9b){var _0x3ab619=_0x4eaa9b[_0x1a4e('0x4346')](_0x48892a['position']),_0x1f7bbb=_0x48892a[_0x1a4e('0x4e85')](this[_0x1a4e('0x3be2')]);return _0x2014e6(_0x1f7bbb)&&(_0x1f7bbb['x']<0x0||_0x1f7bbb['x']>this['_scene'][_0x1a4e('0x3934')]['width']||_0x1f7bbb['y']<0x0||_0x1f7bbb['y']>this[_0x1a4e('0x3be2')][_0x1a4e('0x3934')][_0x1a4e('0x152')])&&(_0x3ab619=!0x1),_0x3ab619;}},{'key':_0x1a4e('0x4e77'),'value':function(){if(0x0===this[_0x1a4e('0x4e89')][_0x1a4e('0x1e')]||!_0x2014e6(this[_0x1a4e('0x3be2')]))return _0x2014e6(this['_labelCollection'])&&(this[_0x1a4e('0x4e88')][_0x1a4e('0x139c')](),this[_0x1a4e('0x4e88')]=void 0x0),this[_0x1a4e('0x4e88')];this[_0x1a4e('0x4e88')]=this['_scene'][_0x1a4e('0x38e3')]['add'](new _0x73589f({'scene':this[_0x1a4e('0x3be2')]}));for(var _0x48892a=this[_0x1a4e('0x3be2')][_0x1a4e('0x3d4c')][_0x1a4e('0x38dc')],_0x4eaa9b=this['_scene'][_0x1a4e('0x3a06')][_0x1a4e('0x3d87')],_0x3ab619=new _0x42d7b7(_0x48892a,_0x4eaa9b),_0x1f7bbb=0x0;_0x1f7bbb0x0)&&!(_0x3b094b=_0xc937ff[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x425f04['push'](_0x3b094b['value']);}catch(_0x5d546a){_0x5c7f4a={'error':_0x5d546a};}finally{try{_0x3b094b&&!_0x3b094b[_0x1a4e('0x3c2')]&&(_0x1429e6=_0xc937ff['return'])&&_0x1429e6['call'](_0xc937ff);}finally{if(_0x5c7f4a)throw _0x5c7f4a[_0x1a4e('0x873')];}}return _0x425f04;},_0x3c5ebb=function(){for(var _0x59dece=[],_0x569052=0x0;_0x569052=0x0){var _0xc937ff=this[_0x1a4e('0x4d4c')](_0x5c7f4a);Cesium['defined'](_0xc937ff)&&(_0xc937ff['visible']=!0x1,_0xc937ff[_0x1a4e('0x4da1')]=0x5);}_0x5c7f4a=(_0x569052=_0x59dece[_0x1a4e('0x2dd0')]+0x1)+'-'+(_0x1429e6=0x2*_0x59dece['x'])+'-'+(_0x3b094b=0x2*_0x59dece['y']);var _0x425f04=this[_0x1a4e('0x4d4c')](_0x5c7f4a);Cesium[_0x1a4e('0x3a0b')](_0x425f04)&&(_0x425f04[_0x1a4e('0x3b2c')]=!0x1,_0x425f04[_0x1a4e('0x4da1')]=0x5),_0x5c7f4a=_0x569052+'-'+(_0x1429e6+=0x1)+'-'+_0x3b094b;var _0x4ffe31=this[_0x1a4e('0x4d4c')](_0x5c7f4a);Cesium[_0x1a4e('0x3a0b')](_0x4ffe31)&&(_0x4ffe31[_0x1a4e('0x3b2c')]=!0x1,_0x4ffe31[_0x1a4e('0x4da1')]=0x5),_0x5c7f4a=_0x569052+'-'+_0x1429e6+'-'+(_0x3b094b+=0x1);var _0x5e3919=this['findTileFromCache'](_0x5c7f4a);Cesium['defined'](_0x5e3919)&&(_0x5e3919[_0x1a4e('0x3b2c')]=!0x1,_0x5e3919['_countdelete']=0x5),_0x5c7f4a=_0x569052+'-'+(_0x1429e6-=0x1)+'-'+_0x3b094b;var _0x18e6c4=this[_0x1a4e('0x4d4c')](_0x5c7f4a);Cesium[_0x1a4e('0x3a0b')](_0x18e6c4)&&(_0x18e6c4['visible']=!0x1,_0x18e6c4[_0x1a4e('0x4da1')]=0x5);},_0x569052[_0x1a4e('0xa')]['createModel']=function(_0x59dece,_0x569052,_0x1429e6,_0x3b094b){for(var _0x5c7f4a=[],_0xc937ff=0x0;_0xc937ff<_0x569052[_0x1a4e('0x1e')];_0xc937ff++)_0x5c7f4a[_0x1a4e('0x46')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x569052[_0xc937ff][0x0],_0x569052[_0xc937ff][0x1]));var _0x425f04=new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':new Cesium[(_0x1a4e('0x3a3f'))](_0x5c7f4a),'extrudedHeight':this[_0x1a4e('0x4e8c')]?_0x3b094b:0x0,'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x4e8e')]}),_0x4ffe31=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0x425f04,'attributes':{'color':Cesium[_0x1a4e('0x3940')]['fromColor'](Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this[_0x1a4e('0x3b69')]))}});_0x4ffe31['id']=Cesium[_0x1a4e('0x404b')](),_0x4ffe31['featureID']=_0x59dece['id'],_0x4ffe31[_0x1a4e('0x13')]=_0x59dece[_0x1a4e('0x13')],_0x1429e6[_0x1a4e('0x177')](_0x4ffe31);},_0x569052[_0x1a4e('0xa')]['processModel']=function(_0x59dece,_0x569052,_0x1429e6){for(var _0x3b094b=_0x569052[_0x1a4e('0x43')][_0x1a4e('0x1e')],_0x5c7f4a=_0x569052[_0x1a4e('0x43')],_0xc937ff=_0x59dece[_0x1a4e('0x152')]?_0x59dece['height']:this[_0x1a4e('0x4e8f')],_0x425f04=0x0;_0x425f04<_0x3b094b;_0x425f04++)this[_0x1a4e('0x4e90')](_0x59dece,_0x5c7f4a[_0x425f04],_0x1429e6,_0xc937ff);},_0x569052[_0x1a4e('0xa')][_0x1a4e('0x4e19')]=function(_0x59dece,_0x569052){null!==_0x59dece[_0x1a4e('0x18')]&&(Cesium[_0x1a4e('0x3a0b')](_0x59dece[_0x1a4e('0x18')])?_0x1a4e('0x19')==_0x59dece['geometry'][_0x1a4e('0x40')]?this[_0x1a4e('0x4e91')](_0x59dece,_0x59dece['geometry'],_0x569052):console[_0x1a4e('0x58')](_0x1a4e('0x4da4')+_0x59dece[_0x1a4e('0x18')][_0x1a4e('0x40')]):console[_0x1a4e('0x58')](_0x1a4e('0x4da5')));},_0x569052[_0x1a4e('0xa')][_0x1a4e('0x4e92')]=function(_0x59dece,_0x569052){for(var _0x1429e6=_0x59dece['features'][_0x1a4e('0x1e')],_0x3b094b=_0x59dece[_0x1a4e('0x25')],_0x5c7f4a=0x0;_0x5c7f4a<_0x1429e6;_0x5c7f4a++)this[_0x1a4e('0x4e19')](_0x3b094b[_0x5c7f4a],_0x569052);},_0x569052[_0x1a4e('0xa')][_0x1a4e('0x4d4f')]=function(_0x59dece,_0x569052){var _0x1429e6=this,_0x3b094b=this['findTileFromCache'](_0x569052);if(Cesium['defined'](_0x3b094b)){if(_0x3b094b['prepare']&&(_0x3b094b[_0x1a4e('0x3b2c')]=!0x0,_0x3b094b[_0x1a4e('0x4da1')]=0x0,!this[_0x1a4e('0x4d47')][_0x1a4e('0x2ac')](_0x3b094b[_0x1a4e('0x35f')]))){var _0x5c7f4a=_0x3b094b[_0x1a4e('0x3b5e')]();Cesium['defined'](_0x5c7f4a)&&_0x59dece['primitives'][_0x1a4e('0x177')](_0x5c7f4a),this[_0x1a4e('0x4da0')](_0x3b094b),this[_0x1a4e('0x4d47')][_0x1a4e('0x17a')](_0x3b094b['key'],_0x3b094b);}this['_tileReplacementQueue'][_0x1a4e('0x4d53')](_0x3b094b);}else{if(!Cesium[_0x1a4e('0x3a0b')](this['_provider']))return;if(_0x569052['level']this[_0x1a4e('0x4cac')])return;var _0x425f04=new _0xc937ff['a']({'key':_0x569052,'scene':_0x59dece});this['_tileReplacementQueue'][_0x1a4e('0x4d53')](_0x425f04),Cesium[_0x1a4e('0x4d54')][_0x1a4e('0x4d55')](this,!0x1),this[_0x1a4e('0x4d97')][_0x1a4e('0x4daa')](_0x425f04[_0x1a4e('0x2dd0')],_0x425f04['x'],_0x425f04['y'],function(_0x59dece){_0x425f04[_0x1a4e('0x4e28')]=_0x59dece,_0x1429e6['loadModelData'](_0x59dece,_0x425f04),_0x425f04[_0x1a4e('0x4d50')]=!0x0;},function(_0x59dece){_0x425f04[_0x1a4e('0x4d50')]=!0x0,console[_0x1a4e('0x58')](_0x59dece);});}},_0x569052[_0x1a4e('0xa')][_0x1a4e('0x4d5d')]=function(_0x59dece){for(var _0x569052=this[_0x1a4e('0x4da8')],_0x1429e6=this[_0x1a4e('0x4cac')],_0x3b094b=new Set(),_0x5c7f4a=0x0;_0x5c7f4a<_0x59dece[_0x1a4e('0x1e')];_0x5c7f4a++){var _0xc937ff=_0x59dece[_0x5c7f4a][_0x1a4e('0x2dd0')];if(!(_0xc937ffthis[_0x1a4e('0x4cac')])){var _0x425f04=_0x59dece[_0x5c7f4a]['x'],_0x4ffe31=_0x59dece[_0x5c7f4a]['y'];if(_0xc937ff>=_0x569052&&_0xc937ff<=_0x1429e6)_0x3b094b[_0x1a4e('0x177')](_0xc937ff+'-'+_0x425f04+'-'+_0x4ffe31);else if(_0xc937ff>_0x1429e6){for(;_0xc937ff>_0x1429e6;)_0xc937ff--,_0x425f04=parseInt((_0x425f04/0x2)['toString']()),_0x4ffe31=parseInt((_0x4ffe31/0x2)['toString']());_0x3b094b[_0x1a4e('0x177')](_0xc937ff+'-'+_0x425f04+'-'+_0x4ffe31);}}}return _0x3c5ebb(_0x3b094b);},_0x569052['prototype']['update']=function(_0x59dece){if(Cesium['defined'](this[_0x1a4e('0x3be2')])){this[_0x1a4e('0x4d44')][_0x1a4e('0x4d5e')]();for(var _0x569052=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x1429e6=0x0;_0x1429e6<_0x569052[_0x1a4e('0x1e')];_0x1429e6++)_0x569052[_0x1429e6][_0x1a4e('0x3b2c')]=!0x1;var _0x3b094b=new Array();this[_0x1a4e('0x3be2')]['globe']['_surface'][_0x1a4e('0x4d5f')](function(_0x59dece){_0x3b094b[_0x1a4e('0x46')]({'level':_0x59dece[_0x1a4e('0x2dd0')],'x':_0x59dece['x'],'y':_0x59dece['y']});}),_0x3b094b=this['getRenderTileKeys'](_0x3b094b);for(var _0x5c7f4a=0x0;_0x5c7f4a<_0x3b094b['length'];_0x5c7f4a++)this['processTile'](this[_0x1a4e('0x3be2')],_0x3b094b[_0x5c7f4a]);for(var _0xc937ff=(_0x569052=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')])[_0x1a4e('0x1e')]-0x1;_0xc937ff>=0x0;_0xc937ff--){var _0x425f04=_0x569052[_0xc937ff];if(!_0x425f04[_0x1a4e('0x3b2c')])if(_0x425f04[_0x1a4e('0x4da1')]<0xa)_0x425f04['_countdelete']++;else{var _0x4ffe31=_0x425f04[_0x1a4e('0x8f7')];this['_scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x4ffe31),this[_0x1a4e('0x4d47')]['remove'](_0x425f04['key']);}}for(;this[_0x1a4e('0x4d44')][_0x1a4e('0x389')]>this[_0x1a4e('0x4dac')];){var _0x5e3919=this[_0x1a4e('0x4d44')][_0x1a4e('0x107f')];if(Cesium[_0x1a4e('0x3a0b')](_0x5e3919)){_0x4ffe31=_0x5e3919[_0x1a4e('0x8f7')];Cesium[_0x1a4e('0x3a0b')](_0x4ffe31)&&this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](_0x4ffe31),this['_renderTiles']['remove'](_0x5e3919[_0x1a4e('0x35f')]);}Cesium['defined'](this[_0x1a4e('0x4dad')])&&this['_oldInstance']['key']==_0x5e3919[_0x1a4e('0x35f')]&&(this['_oldInstance']=void 0x0),this[_0x1a4e('0x4d44')][_0x1a4e('0x82')](_0x5e3919);}return!0x0;}},_0x569052[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){var _0x59dece=this[_0x1a4e('0x3be2')];this[_0x1a4e('0x3be2')]=void 0x0;for(var _0x569052=this[_0x1a4e('0x4d47')]['values'],_0x1429e6=0x0;_0x1429e6<_0x569052[_0x1a4e('0x1e')];_0x1429e6++)_0x59dece[_0x1a4e('0x38e3')]['remove'](_0x569052[_0x1429e6]['primitive']);_0x569052=void 0x0,this[_0x1a4e('0x4d47')]['removeAll'](),this['_tileReplacementQueue'][_0x1a4e('0x4d5e')](),this[_0x1a4e('0x4d44')]['trimTiles'](0x0),Cesium[_0x1a4e('0x3a0b')](this['_pickPrimitive'])&&(this[_0x1a4e('0x4d9b')]['removeInputAction'](Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x398e')]),this[_0x1a4e('0x4d9b')]=void 0x0),Cesium[_0x1a4e('0x3a0b')](this[_0x1a4e('0x4d97')])&&(this[_0x1a4e('0x4d97')]=void 0x0);},_0x569052;}(_0x4ffe31[_0x1a4e('0x3aca')]),_0x2e0477=function(_0x59dece,_0x569052,_0x1429e6,_0x3b094b,_0x5c7f4a,_0xc937ff,_0x425f04,_0x4ffe31,_0x5e3919){void 0x0===_0x1429e6&&(_0x1429e6=_0x1a4e('0x3de1')),void 0x0===_0x3b094b&&(_0x3b094b=0x0),void 0x0===_0x5c7f4a&&(_0x5c7f4a=0x16),void 0x0===_0xc937ff&&(_0xc937ff=!0x0),void 0x0===_0x425f04&&(_0x425f04=!0x1),void 0x0===_0x4ffe31&&(_0x4ffe31=_0x1a4e('0x38d4')),void 0x0===_0x5e3919&&(_0x5e3919=0x14),this['layer']=_0x569052,this[_0x1a4e('0x15cf')]=_0x59dece,this[_0x1a4e('0x134')]=_0x1429e6,this[_0x1a4e('0x4d8c')]=_0x3b094b,this[_0x1a4e('0x4cb3')]=_0x5c7f4a,this[_0x1a4e('0x4d8e')]=_0xc937ff,this[_0x1a4e('0x4e93')]=_0x425f04,this['pickedColor']=_0x4ffe31,this[_0x1a4e('0x398d')]=_0x5e3919;};},'./src/LayerManager/TileLayer/PolygonTileData.js':function(_0x2c404b,_0x911b9e,_0x204415){'use strict';Object[_0x1a4e('0x2')](_0x911b9e,_0x1a4e('0x6'),{'value':!0x0});var _0x3e366a=function(){function _0x2c404b(_0x2c404b,_0x911b9e){for(var _0x204415=0x0;_0x204415<_0x911b9e[_0x1a4e('0x1e')];_0x204415++){var _0x3e366a=_0x911b9e[_0x204415];_0x3e366a['enumerable']=_0x3e366a['enumerable']||!0x1,_0x3e366a['configurable']=!0x0,'value'in _0x3e366a&&(_0x3e366a[_0x1a4e('0x1346')]=!0x0),Object['defineProperty'](_0x2c404b,_0x3e366a[_0x1a4e('0x35f')],_0x3e366a);}}return function(_0x911b9e,_0x204415,_0x3e366a){return _0x204415&&_0x2c404b(_0x911b9e[_0x1a4e('0xa')],_0x204415),_0x3e366a&&_0x2c404b(_0x911b9e,_0x3e366a),_0x911b9e;};}();var _0x447c67=Cesium['AssociativeArray'],_0x6214d1=Cesium[_0x1a4e('0x3a46')],_0x1f94b8=Cesium[_0x1a4e('0x3a0b')],_0x3e2ed2=Cesium[_0x1a4e('0x3b9c')],_0x5c6380=Cesium[_0x1a4e('0x19e6')],_0x2ab016=Cesium[_0x1a4e('0x3940')],_0x124d9b=Cesium[_0x1a4e('0x3ab2')],_0x2673f2=function(){function _0x2c404b(_0x911b9e){!function(_0x2c404b,_0x911b9e){if(!(_0x2c404b instanceof _0x911b9e))throw new TypeError(_0x1a4e('0x1358'));}(this,_0x2c404b),_0x911b9e=_0x6214d1(_0x911b9e,_0x6214d1[_0x1a4e('0x3bcb')]),this[_0x1a4e('0xa2f')]=_0x911b9e[_0x1a4e('0x35f')];var _0x204415=this[_0x1a4e('0xa2f')];if(!_0x1f94b8(_0x204415))throw new _0x3e2ed2(_0x1a4e('0x4db1'));var _0x3e366a=_0x204415[_0x1a4e('0x3e')]('-'),_0x5c6380=_0x204415[_0x1a4e('0x471')]('-');this[_0x1a4e('0x4ac')]=parseInt(_0x204415[_0x1a4e('0x254')](0x0,_0x3e366a)),this['_x']=parseInt(_0x204415['substr'](_0x3e366a+0x1,_0x5c6380-_0x3e366a-0x1)),this['_y']=parseInt(_0x204415['substr'](_0x5c6380+0x1)),this[_0x1a4e('0x3be2')]=_0x911b9e[_0x1a4e('0x38d6')],this[_0x1a4e('0x4d33')]=!0x1,this[_0x1a4e('0x3b33')]=!0x1,this[_0x1a4e('0x4db2')]=null,this[_0x1a4e('0x4db8')]=null,this['_instances']=new _0x447c67(),this[_0x1a4e('0x4571')]=void 0x0,this[_0x1a4e('0x39d5')]=void 0x0,this[_0x1a4e('0x4e28')]=void 0x0,this[_0x1a4e('0x4da1')]=0x0;}return _0x3e366a(_0x2c404b,[{'key':_0x1a4e('0x4d3e'),'value':function(){this['_instances'][_0x1a4e('0x3a42')]();}},{'key':'add','value':function(_0x2c404b){if(!_0x1f94b8(_0x2c404b))throw new _0x3e2ed2(_0x1a4e('0x4db4'));var _0x911b9e=_0x2c404b['id'];if(!_0x1f94b8(_0x911b9e)||'string'!=typeof _0x911b9e&&_0x1a4e('0x3d')!=typeof _0x911b9e)throw new _0x3e2ed2('the\x20property\x20of\x20id\x20is\x20required\x20to\x20be\x20a\x20string\x20or\x20number.');var _0x204415=this[_0x1a4e('0x4ad8')];if(_0x204415[_0x1a4e('0x2ac')](_0x911b9e))throw new RuntimeError(_0x1a4e('0x4db6')+_0x911b9e+'\x20already\x20exists\x20in\x20this\x20collection.');_0x204415[_0x1a4e('0x17a')](_0x911b9e,_0x2c404b);}},{'key':_0x1a4e('0x3b5e'),'value':function(){for(var _0x2c404b=this[_0x1a4e('0x4ad8')]['values'],_0x911b9e=[],_0x204415=0x0;_0x204415<_0x2c404b['length'];_0x204415++)_0x911b9e[_0x1a4e('0x46')](_0x2c404b[_0x204415]);return 0x0===_0x911b9e[_0x1a4e('0x1e')]?(this['_primitive']=void 0x0,this[_0x1a4e('0x4571')]):(this[_0x1a4e('0x4571')]=new _0x5c6380({'geometryInstances':_0x911b9e,'appearance':this[_0x1a4e('0x4418')](),'asynchronous':!0x1}),this[_0x1a4e('0x4571')]);}},{'key':'createAppearence','value':function(){return new _0x124d9b({'flat':!0x1,'translucent':!0x1});}},{'key':_0x1a4e('0x4d9a'),'value':function(_0x2c404b,_0x911b9e){for(var _0x204415=this[_0x1a4e('0x4ad8')][_0x1a4e('0x35b')],_0x3e366a=0x0;_0x3e366a<_0x204415[_0x1a4e('0x1e')];_0x3e366a++){if(_0x204415[_0x3e366a]['id']==_0x2c404b)this[_0x1a4e('0x4571')][_0x1a4e('0x4adb')](_0x204415[_0x3e366a]['id'])[_0x1a4e('0x134')]=_0x2ab016[_0x1a4e('0x4adc')](_0x911b9e);}}},{'key':'pick','value':function(_0x2c404b){for(var _0x911b9e=this[_0x1a4e('0x4ad8')]['values'],_0x204415=0x0;_0x204415<_0x911b9e[_0x1a4e('0x1e')];_0x204415++)if(_0x911b9e[_0x204415]['id']===_0x2c404b)return _0x911b9e[_0x204415];}},{'key':'key','get':function(){return this[_0x1a4e('0xa2f')];}},{'key':_0x1a4e('0x2dd0'),'get':function(){return this[_0x1a4e('0x4ac')];}},{'key':'x','get':function(){return this['_x'];}},{'key':'y','get':function(){return this['_y'];}},{'key':_0x1a4e('0x38d6'),'get':function(){return this[_0x1a4e('0x3be2')];}},{'key':'prepare','get':function(){return this[_0x1a4e('0x4d33')];},'set':function(_0x2c404b){this[_0x1a4e('0x4d33')]=_0x2c404b;}},{'key':_0x1a4e('0x3b2c'),'get':function(){return this['_visible'];},'set':function(_0x2c404b){this[_0x1a4e('0x3b33')]!==_0x2c404b&&(this[_0x1a4e('0x3b33')]=_0x2c404b);}},{'key':_0x1a4e('0x4e2b'),'get':function(){return this[_0x1a4e('0x4db2')];},'set':function(_0x2c404b){this[_0x1a4e('0x4db2')]=_0x2c404b;}},{'key':_0x1a4e('0x4d4d'),'get':function(){return this[_0x1a4e('0x4db8')];},'set':function(_0x2c404b){this[_0x1a4e('0x4db8')]=_0x2c404b;}},{'key':'primitive','get':function(){return this[_0x1a4e('0x4571')];}},{'key':'instanceSize','get':function(){return this[_0x1a4e('0x4ad8')][_0x1a4e('0x1e')];}}]),_0x2c404b;}();_0x911b9e[_0x1a4e('0x8')]=_0x2673f2;},'./src/LayerManager/TileLayer/TileLayer.ts':function(_0x3187c2,_0x5d67c6,_0xb02edd){'use strict';_0xb02edd['r'](_0x5d67c6),_0xb02edd['d'](_0x5d67c6,_0x1a4e('0x3fb0'),function(){return _0x16aa73;});var _0x7e39e7,_0x410649=_0xb02edd(_0x1a4e('0x3f2c')),_0x3036b8=_0xb02edd('./src/Utils/Check.ts'),_0xf38e6b=(_0x7e39e7=function(_0x3187c2,_0x5d67c6){return(_0x7e39e7=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x3187c2,_0x5d67c6){_0x3187c2[_0x1a4e('0x295')]=_0x5d67c6;}||function(_0x3187c2,_0x5d67c6){for(var _0xb02edd in _0x5d67c6)_0x5d67c6['hasOwnProperty'](_0xb02edd)&&(_0x3187c2[_0xb02edd]=_0x5d67c6[_0xb02edd]);})(_0x3187c2,_0x5d67c6);},function(_0x3187c2,_0x5d67c6){function _0xb02edd(){this['constructor']=_0x3187c2;}_0x7e39e7(_0x3187c2,_0x5d67c6),_0x3187c2[_0x1a4e('0xa')]=null===_0x5d67c6?Object[_0x1a4e('0x7')](_0x5d67c6):(_0xb02edd[_0x1a4e('0xa')]=_0x5d67c6[_0x1a4e('0xa')],new _0xb02edd());}),_0x16aa73=function(_0x3187c2){function _0x5d67c6(_0x5d67c6){var _0xb02edd=_0x3187c2[_0x1a4e('0x1')](this)||this;return _0xb02edd[_0x1a4e('0x38fa')]=_0x5d67c6,_0xb02edd;}return _0xf38e6b(_0x5d67c6,_0x3187c2),_0x5d67c6[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x5d67c6){return _0x3187c2[_0x1a4e('0xa')]['add'][_0x1a4e('0x1')](this,_0x5d67c6),_0x5d67c6['initItem'](this[_0x1a4e('0x38fa')]),this[_0x1a4e('0x3ad3')](_0x1a4e('0x177'),_0x5d67c6),_0x5d67c6;},_0x5d67c6[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x5d67c6){var _0xb02edd;_0xb02edd=_0x3036b8['Check'][_0x1a4e('0xb19')](_0x5d67c6)?_0x5d67c6:_0x5d67c6['id'];var _0x7e39e7=_0x3187c2[_0x1a4e('0xa')][_0x1a4e('0x82')][_0x1a4e('0x1')](this,_0xb02edd);if(void 0x0!==_0x7e39e7)return _0x7e39e7[_0x1a4e('0x3acf')](),this[_0x1a4e('0x3ad3')]('remove',_0x7e39e7),_0x7e39e7;},_0x5d67c6[_0x1a4e('0xa')]['parseJson']=function(_0x3187c2){},_0x5d67c6;}(_0x410649[_0x1a4e('0x4720')]);},'./src/LayerManager/TileLayer/TileScaleImageProvider.js':function(_0x488585,_0x4efedb,_0x1d94bd){'use strict';Object[_0x1a4e('0x2')](_0x4efedb,_0x1a4e('0x6'),{'value':!0x0});var _0x40dd1a=function(){function _0x488585(_0x488585,_0x4efedb){for(var _0x1d94bd=0x0;_0x1d94bd<_0x4efedb[_0x1a4e('0x1e')];_0x1d94bd++){var _0x40dd1a=_0x4efedb[_0x1d94bd];_0x40dd1a[_0x1a4e('0x1359')]=_0x40dd1a[_0x1a4e('0x1359')]||!0x1,_0x40dd1a['configurable']=!0x0,_0x1a4e('0x255')in _0x40dd1a&&(_0x40dd1a[_0x1a4e('0x1346')]=!0x0),Object[_0x1a4e('0x2')](_0x488585,_0x40dd1a['key'],_0x40dd1a);}}return function(_0x4efedb,_0x1d94bd,_0x40dd1a){return _0x1d94bd&&_0x488585(_0x4efedb[_0x1a4e('0xa')],_0x1d94bd),_0x40dd1a&&_0x488585(_0x4efedb,_0x40dd1a),_0x4efedb;};}();var _0x4971e6=Cesium[_0x1a4e('0x475d')],_0x33f709=Cesium['DeveloperError'],_0x148e23=Cesium[_0x1a4e('0x4748')],_0x260232=Cesium[_0x1a4e('0x4c8e')],_0x1f54de=Cesium[_0x1a4e('0x3a0b')],_0x188dbc=Cesium[_0x1a4e('0x3a46')];var _0x47fae2=function(_0x488585,_0x4efedb){if(!_0x1f54de(_0x4efedb))return _0x488585;_0x4efedb[_0x1a4e('0xdfb')]('/')&&(_0x4efedb=_0x4efedb[_0x1a4e('0x281')](0x1));var _0x1d94bd=_0x488585[_0x1a4e('0x2be')]('?');return!0x1===_0x1d94bd[0x0][_0x1a4e('0x1098')]('/')&&(_0x1d94bd[0x0]+='/'),_0x1d94bd[0x1]=_0x188dbc(_0x1d94bd[0x1],''),''+_0x1d94bd[0x0]+_0x4efedb+_0x1d94bd[0x1];},_0x40909d=function(_0x488585){function _0x4efedb(_0x488585){!function(_0x488585,_0x4efedb){if(!(_0x488585 instanceof _0x4efedb))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}(this,_0x4efedb);var _0x1d94bd=function(_0x488585,_0x4efedb){if(!_0x488585)throw new ReferenceError(_0x1a4e('0x480d'));return!_0x4efedb||'object'!=typeof _0x4efedb&&_0x1a4e('0x68')!=typeof _0x4efedb?_0x488585:_0x4efedb;}(this,(_0x4efedb[_0x1a4e('0x295')]||Object['getPrototypeOf'](_0x4efedb))[_0x1a4e('0x1')](this,_0x488585));return _0x1d94bd[_0x1a4e('0x390')]=_0x488585['format']||_0x1a4e('0x4e94'),_0x1d94bd['_url']=_0x47fae2(_0x1d94bd[_0x1a4e('0x15cf')],_0x1a4e('0x4e95')+_0x1d94bd[_0x1a4e('0x390')]),_0x1d94bd;}return function(_0x488585,_0x4efedb){if(_0x1a4e('0x68')!=typeof _0x4efedb&&null!==_0x4efedb)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function,\x20not\x20'+typeof _0x4efedb);_0x488585[_0x1a4e('0xa')]=Object[_0x1a4e('0x7')](_0x4efedb&&_0x4efedb[_0x1a4e('0xa')],{'constructor':{'value':_0x488585,'enumerable':!0x1,'writable':!0x0,'configurable':!0x0}}),_0x4efedb&&(Object[_0x1a4e('0xe4a')]?Object[_0x1a4e('0xe4a')](_0x488585,_0x4efedb):_0x488585[_0x1a4e('0x295')]=_0x4efedb);}(_0x4efedb,_0x4971e6),_0x40dd1a(_0x4efedb,[{'key':_0x1a4e('0x4763'),'value':function(_0x488585,_0x4efedb,_0x1d94bd,_0x40dd1a){if(!this[_0x1a4e('0x3bc7')])throw new _0x33f709('requestImage\x20must\x20not\x20be\x20called\x20before\x20the\x20imagery\x20provider\x20is\x20ready.');var _0x4971e6=function(_0x488585,_0x4efedb,_0x1d94bd){return 0x1/(_0x488585*_0x4efedb*(0x1/0.0254)*_0x1d94bd);}(_0x260232['getEstimatedLevelZeroGeometricErrorForAHeightmap'](this[_0x1a4e('0x4734')][_0x1a4e('0x38dc')],this[_0x1a4e('0x4736')],this['_tilingScheme'][_0x1a4e('0x4744')](0x0))/(0x1<<_0x1d94bd-0x2),0x60,this['mapUnit']()),_0x1f54de=_0x1a4e('0x4e96');return _0x1f54de=(_0x1f54de=(_0x1f54de=(_0x1f54de=(_0x1f54de=_0x1f54de[_0x1a4e('0x115')](_0x1a4e('0x4745'),_0x488585))[_0x1a4e('0x115')](_0x1a4e('0x4746'),_0x4efedb))[_0x1a4e('0x115')](_0x1a4e('0x4e97'),_0x4971e6))['replace'](_0x1a4e('0x4e98'),this[_0x1a4e('0x4736')]))['replace']('{height}',this['tileHeight']),_0x1f54de=this['_url']+_0x1f54de,_0x148e23[_0x1a4e('0x4749')](this,_0x1f54de);}},{'key':'requestImage1','value':function(_0x488585,_0x4efedb,_0x1d94bd){this[_0x1a4e('0x43dc')](0x2*_0x488585,0x2*_0x4efedb,_0x1d94bd),this['getImage'](0x2*_0x488585+0x1,0x2*_0x4efedb,_0x1d94bd),this[_0x1a4e('0x43dc')](0x2*_0x488585+0x1,0x2*_0x4efedb+0x1,_0x1d94bd);return this[_0x1a4e('0x43dc')](0x2*_0x488585,0x2*_0x4efedb+0x1,_0x1d94bd);}},{'key':_0x1a4e('0x4e99'),'value':function(_0x488585,_0x4efedb,_0x1d94bd){console[_0x1a4e('0x58')](_0x488585,_0x4efedb,_0x1d94bd);}},{'key':_0x1a4e('0x4e9a'),'value':function(){if(this[_0x1a4e('0x4734')]instanceof Cesium['GeographicTilingScheme']){return 0x2*Math['PI']*0x615299/0x168;}return 0x1;}}]),_0x4efedb;}();_0x4efedb[_0x1a4e('0x8')]=_0x40909d;},'./src/LayerManager/TileLayer/VectorTile.ts':function(_0x2c0760,_0x59440f,_0x261569){'use strict';_0x261569['r'](_0x59440f),_0x261569['d'](_0x59440f,_0x1a4e('0x4e9b'),function(){return _0xec9c3e;});var _0xec9c3e=function(){function _0x2c0760(_0x2c0760,_0x59440f,_0x261569,_0xec9c3e){this[_0x1a4e('0x4ac')]=_0x2c0760,this['_x']=_0x59440f,this['_y']=_0x261569,this[_0x1a4e('0x4137')]=_0xec9c3e,this['_prepare']=!0x1,this[_0x1a4e('0x3b33')]=!0x1,this['_eligibleForUnloading']=!0x1,this[_0x1a4e('0x4db2')]=void 0x0,this[_0x1a4e('0x4db8')]=void 0x0,this[_0x1a4e('0x4ad8')]=new Cesium[(_0x1a4e('0x4d95'))](),this[_0x1a4e('0x4571')]=void 0x0,this[_0x1a4e('0x4e9c')]=0x78,this[_0x1a4e('0x1336')]=void 0x0;}return Object['defineProperty'](_0x2c0760[_0x1a4e('0xa')],_0x1a4e('0x2dd0'),{'get':function(){return this[_0x1a4e('0x4ac')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c0760['prototype'],'x',{'get':function(){return this['_x'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c0760[_0x1a4e('0xa')],'y',{'get':function(){return this['_y'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c0760[_0x1a4e('0xa')],_0x1a4e('0x35f'),{'get':function(){return this[_0x1a4e('0x4ac')]+'-'+this['_x']+'-'+this['_y'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c0760['prototype'],'type',{'get':function(){return this[_0x1a4e('0x39d5')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c0760[_0x1a4e('0xa')],_0x1a4e('0x8f7'),{'get':function(){return this[_0x1a4e('0x4571')];},'set':function(_0x2c0760){this[_0x1a4e('0x4571')]=_0x2c0760;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c0760['prototype'],_0x1a4e('0x4d50'),{'get':function(){return this[_0x1a4e('0x4d33')];},'set':function(_0x2c0760){this[_0x1a4e('0x4d33')]=_0x2c0760,this['onload']&&this[_0x1a4e('0x1336')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c0760[_0x1a4e('0xa')],'visible',{'get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0x2c0760){this['_visible']=_0x2c0760;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c0760[_0x1a4e('0xa')],_0x1a4e('0x4e9d'),{'get':function(){return this[_0x1a4e('0x4e9c')];},'set':function(_0x2c0760){this[_0x1a4e('0x4e9c')]=_0x2c0760;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c0760['prototype'],_0x1a4e('0x4d52'),{'get':function(){return this[_0x1a4e('0x4e2a')];},'set':function(_0x2c0760){this['_eligibleForUnloading']=_0x2c0760;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c0760[_0x1a4e('0xa')],_0x1a4e('0x4e2b'),{'get':function(){return this[_0x1a4e('0x4db2')];},'set':function(_0x2c0760){this[_0x1a4e('0x4db2')]=_0x2c0760;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c0760['prototype'],'replacementNext',{'get':function(){return this['_replacementNext'];},'set':function(_0x2c0760){this['_replacementNext']=_0x2c0760;},'enumerable':!0x0,'configurable':!0x0}),_0x2c0760[_0x1a4e('0xa')][_0x1a4e('0x1bf')]=function(_0x2c0760,_0x59440f,_0x261569){return this['_level']===_0x2c0760&&this['_x']===_0x59440f&&this['_y']===_0x261569;},_0x2c0760[_0x1a4e('0xa')][_0x1a4e('0x4e9e')]=function(_0x2c0760){return _0x2c0760===this[_0x1a4e('0x35f')];},_0x2c0760['prototype'][_0x1a4e('0x4e13')]=function(_0x2c0760){for(var _0x59440f=[],_0x261569=0x0;_0x261569<_0x2c0760[_0x1a4e('0x1e')];_0x261569++){var _0xec9c3e=_0x2c0760[_0x261569];_0x59440f['push'](Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0xec9c3e[0x0],_0xec9c3e[0x1],_0xec9c3e[0x2]));}return _0x59440f;},_0x2c0760[_0x1a4e('0xa')][_0x1a4e('0x2c2')]=function(_0x2c0760,_0x59440f,_0x261569){var _0xec9c3e=new Cesium[(_0x1a4e('0x450a'))]({'positions':_0x59440f,'width':this[_0x1a4e('0x4137')][_0x1a4e('0x4191')],'vertexFormat':Cesium[_0x1a4e('0x3942')][_0x1a4e('0x446d')]}),_0x578380=new Cesium['GeometryInstance']({'geometry':_0xec9c3e,'attributes':{'color':Cesium['ColorGeometryInstanceAttribute'][_0x1a4e('0x39b4')](this[_0x1a4e('0x4137')][_0x1a4e('0x40a0')])}});_0x578380['id']=Cesium[_0x1a4e('0x404b')](),_0x578380[_0x1a4e('0x4e14')]=_0x2c0760,_0x578380['properties']=_0x261569,this[_0x1a4e('0x4ad8')][_0x1a4e('0x17a')](_0x578380['id'],_0x578380);},_0x2c0760['prototype'][_0x1a4e('0x2c6')]=function(_0x2c0760,_0x59440f,_0x261569){var _0xec9c3e=new Cesium[(_0x1a4e('0x3945'))]({'polygonHierarchy':new Cesium['PolygonHierarchy'](_0x59440f),'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x4e8e')]}),_0x5a8897=new Cesium[(_0x1a4e('0x393d'))]({'geometry':_0xec9c3e,'attributes':{'color':Cesium[_0x1a4e('0x3940')][_0x1a4e('0x39b4')](this[_0x1a4e('0x4137')]['fillColor'])}});_0x5a8897['id']=Cesium[_0x1a4e('0x404b')](),_0x5a8897[_0x1a4e('0x4e14')]=_0x2c0760,_0x5a8897[_0x1a4e('0x13')]=_0x261569,this['_instances'][_0x1a4e('0x17a')](_0x5a8897['id'],_0x5a8897);},_0x2c0760[_0x1a4e('0xa')][_0x1a4e('0x3e0')]=function(_0x2c0760){if(void 0x0!==_0x2c0760[_0x1a4e('0x18')])if(this[_0x1a4e('0x39d5')]=_0x2c0760[_0x1a4e('0x18')]['type'],_0x1a4e('0x44')===_0x2c0760['geometry'][_0x1a4e('0x40')]){var _0x59440f=this['coordinatesArrayToCartesianArray'](_0x2c0760[_0x1a4e('0x18')][_0x1a4e('0x43')]);this[_0x1a4e('0x2c2')](_0x2c0760['id'],_0x59440f,_0x2c0760[_0x1a4e('0x13')]);}else if('MultiLineString'===_0x2c0760[_0x1a4e('0x18')][_0x1a4e('0x40')]){this[_0x1a4e('0x39d5')]=_0x1a4e('0x44');for(var _0x261569=_0x2c0760[_0x1a4e('0x18')]['coordinates'],_0xec9c3e=0x0;_0xec9c3e<_0x261569[_0x1a4e('0x1e')];_0xec9c3e++){_0x59440f=this[_0x1a4e('0x4e13')](_0x261569[_0xec9c3e]);this[_0x1a4e('0x2c2')](_0x2c0760['id'],_0x59440f,_0x2c0760[_0x1a4e('0x13')]);}}else if(_0x1a4e('0x19')===_0x2c0760[_0x1a4e('0x18')][_0x1a4e('0x40')]||_0x1a4e('0x1c')===_0x2c0760[_0x1a4e('0x18')][_0x1a4e('0x40')]){this[_0x1a4e('0x39d5')]='Polygon';for(_0x261569=_0x2c0760['geometry'][_0x1a4e('0x43')],_0xec9c3e=0x0;_0xec9c3e<_0x261569[_0x1a4e('0x1e')];_0xec9c3e++){_0x59440f=this[_0x1a4e('0x4e13')](_0x261569[_0xec9c3e]);this[_0x1a4e('0x2c6')](_0x2c0760['id'],_0x59440f,_0x2c0760['properties']);}}},_0x2c0760[_0x1a4e('0xa')][_0x1a4e('0x3b5e')]=function(){for(var _0x2c0760=this[_0x1a4e('0x4ad8')][_0x1a4e('0x35b')],_0x59440f=[],_0x261569=0x0;_0x261569<_0x2c0760[_0x1a4e('0x1e')];_0x261569++)_0x59440f[_0x1a4e('0x46')](_0x2c0760[_0x261569]);return 0x0===_0x59440f[_0x1a4e('0x1e')]?(this[_0x1a4e('0x4571')]=void 0x0,this['_primitive']):('LineString'===this[_0x1a4e('0x40')]?this[_0x1a4e('0x4571')]=new Cesium[(_0x1a4e('0x3941'))]({'geometryInstances':_0x59440f,'appearance':new Cesium[(_0x1a4e('0x3942'))]({'translucent':!0x1})}):_0x1a4e('0x19')===this[_0x1a4e('0x40')]&&(this['_primitive']=new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x59440f,'appearance':new Cesium[(_0x1a4e('0x3ab2'))]({'flat':!0x1,'translucent':!0x1}),'asynchronous':!0x1})),this[_0x1a4e('0x4e9c')]=0x78,this['_primitive']);},_0x2c0760[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){this[_0x1a4e('0x4ad8')][_0x1a4e('0x3a42')](),this['_primitive']=void 0x0;},_0x2c0760[_0x1a4e('0xa')][_0x1a4e('0x4d3e')]=function(){this[_0x1a4e('0x139c')]();},_0x2c0760['prototype']['pick']=function(_0x2c0760){for(var _0x59440f=this[_0x1a4e('0x4ad8')][_0x1a4e('0x35b')],_0x261569=0x0;_0x261569<_0x59440f[_0x1a4e('0x1e')];_0x261569++)if(_0x59440f[_0x261569]['id']===_0x2c0760)return _0x59440f[_0x261569];},_0x2c0760[_0x1a4e('0xa')]['resetOriginColor']=function(){var _0x2c0760=this[_0x1a4e('0x4137')][_0x1a4e('0x40a0')];if(_0x1a4e('0x19')==this['_type']&&(_0x2c0760=this['_opt'][_0x1a4e('0x3987')]),void 0x0!==this[_0x1a4e('0x4571')])for(var _0x59440f=this[_0x1a4e('0x4ad8')][_0x1a4e('0x35b')],_0x261569=0x0;_0x261569<_0x59440f['length'];_0x261569++){this[_0x1a4e('0x4571')]['getGeometryInstanceAttributes'](_0x59440f[_0x261569]['id'])[_0x1a4e('0x134')]=Cesium['ColorGeometryInstanceAttribute']['toValue'](_0x2c0760);}},_0x2c0760;}();},'./src/LayerManager/TileLayer/VectorTileItem.ts':function(_0x5a3e39,_0x1b7f87,_0xc92069){'use strict';_0xc92069['r'](_0x1b7f87),_0xc92069['d'](_0x1b7f87,_0x1a4e('0x4e9f'),function(){return _0xa7ba80;}),_0xc92069['d'](_0x1b7f87,_0x1a4e('0x3fc8'),function(){return _0x2bdb11;});var _0x3cbbe3,_0x28be63=_0xc92069(_0x1a4e('0x4053')),_0x3e6fa1=_0xc92069(_0x1a4e('0x3999')),_0x336ba8=_0xc92069(_0x1a4e('0x4ea0')),_0x1e6e43=(_0x3cbbe3=function(_0x5a3e39,_0x1b7f87){return(_0x3cbbe3=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x5a3e39,_0x1b7f87){_0x5a3e39[_0x1a4e('0x295')]=_0x1b7f87;}||function(_0x5a3e39,_0x1b7f87){for(var _0xc92069 in _0x1b7f87)_0x1b7f87[_0x1a4e('0xb')](_0xc92069)&&(_0x5a3e39[_0xc92069]=_0x1b7f87[_0xc92069]);})(_0x5a3e39,_0x1b7f87);},function(_0x5a3e39,_0x1b7f87){function _0xc92069(){this[_0x1a4e('0x10')]=_0x5a3e39;}_0x3cbbe3(_0x5a3e39,_0x1b7f87),_0x5a3e39['prototype']=null===_0x1b7f87?Object[_0x1a4e('0x7')](_0x1b7f87):(_0xc92069['prototype']=_0x1b7f87[_0x1a4e('0xa')],new _0xc92069());});function _0x3875dd(_0x5a3e39,_0x1b7f87,_0xc92069){if(_0x5a3e39&&_0x5a3e39[_0x1a4e('0x4ea1')]&&_0x5a3e39[_0x1a4e('0x4ea1')][_0x1a4e('0xb')](_0x1b7f87)){var _0x3cbbe3=_0x5a3e39[_0x1a4e('0x4ea1')][_0x1b7f87];if(_0x1a4e('0x9')==typeof _0x3cbbe3){var _0x28be63=_0x3cbbe3['length'];_0x28be63>0x1&&(_0xc92069=_0xc92069['length']>=_0x28be63?_0xc92069:new Array(_0x28be63-_0xc92069[_0x1a4e('0x95')]()[_0x1a4e('0x1e')]+0x1)[_0x1a4e('0x9e')]('0')+_0xc92069);}}return _0xc92069;}function _0x12e4e1(_0x5a3e39,_0x1b7f87,_0xc92069,_0x3cbbe3){return _0x3875dd(_0x5a3e39,_0x1a4e('0x4745'),_0x1b7f87);}function _0x1fd334(_0x5a3e39,_0x1b7f87,_0xc92069,_0x3cbbe3){var _0x28be63=_0x5a3e39['tilingScheme'][_0x1a4e('0x4744')](_0x3cbbe3)-_0x1b7f87-0x1;return _0x3875dd(_0x5a3e39,'{reverseX}',_0x28be63);}function _0xe8cbad(_0x5a3e39,_0x1b7f87,_0xc92069,_0x3cbbe3){return _0x3875dd(_0x5a3e39,'{y}',_0xc92069);}function _0x54ea64(_0x5a3e39,_0x1b7f87,_0xc92069,_0x3cbbe3){var _0x28be63=_0x5a3e39[_0x1a4e('0x473e')][_0x1a4e('0x4cad')](_0x3cbbe3)-_0xc92069-0x1;return _0x3875dd(_0x5a3e39,_0x1a4e('0x4ea2'),_0x28be63);}function _0x23afa4(_0x5a3e39,_0x1b7f87,_0xc92069,_0x3cbbe3){var _0x28be63=_0x5a3e39[_0x1a4e('0x4758')];return _0x3875dd(_0x5a3e39,_0x1a4e('0x4ea3'),Cesium['defined'](_0x28be63)&&_0x3cbbe3<_0x28be63?_0x28be63-_0x3cbbe3-0x1:_0x3cbbe3);}function _0x269cae(_0x5a3e39,_0x1b7f87,_0xc92069,_0x3cbbe3){return _0x3875dd(_0x5a3e39,_0x1a4e('0x4ea4'),_0x3cbbe3);}function _0x484834(_0x5a3e39,_0x1b7f87,_0xc92069,_0x3cbbe3){var _0x28be63=(_0x1b7f87+_0xc92069+_0x3cbbe3)%_0x5a3e39[_0x1a4e('0x4ea5')][_0x1a4e('0x1e')];return _0x5a3e39['_subdomains'][_0x28be63];}function _0x35d8a6(_0x5a3e39,_0x1b7f87,_0xc92069,_0x3cbbe3){return _0x5a3e39[_0x1a4e('0x4736')];}function _0x3572c6(_0x5a3e39,_0x1b7f87,_0xc92069,_0x3cbbe3){return _0x5a3e39[_0x1a4e('0x4738')];}var _0x5ceea2,_0xa7ba80=function(_0x5a3e39){function _0x1b7f87(_0x1b7f87){var _0xc92069=_0x5a3e39['call'](this)||this;for(var _0x3cbbe3 in _0xc92069['_control']={'state':0x0,'tiles':[]},_0xc92069[_0x1a4e('0x4137')]=new _0x2bdb11(),_0x1b7f87)_0xc92069[_0x1a4e('0x4137')][_0x3cbbe3]=_0x1b7f87[_0x3cbbe3];return _0xc92069[_0x1a4e('0x3c98')]=Cesium[_0x1a4e('0x3ba6')][_0x1a4e('0x3bd1')](_0xc92069[_0x1a4e('0x4137')][_0x1a4e('0x15cf')]),_0xc92069['resetResource'](_0xc92069[_0x1a4e('0x4137')][_0x1a4e('0x15cf')]),_0xc92069[_0x1a4e('0x4e6c')]={'x':_0x12e4e1,'y':_0xe8cbad,'z':_0x269cae,'s':_0x484834,'reverseX':_0x1fd334,'reverseY':_0x54ea64,'reverseZ':_0x23afa4,'width':_0x35d8a6,'height':_0x3572c6},_0xc92069['_id']=_0x3e6fa1[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),_0xc92069['_renderTiles']=new Cesium['AssociativeArray'](),_0xc92069[_0x1a4e('0x4d48')]=new Cesium['Event'](),_0xc92069[_0x1a4e('0x4d99')]=void 0x0,_0xc92069[_0x1a4e('0x4d91')]=new Cesium[(_0x1a4e('0x4d92'))](_0xc92069),_0xc92069[_0x1a4e('0x4797')]=new Cesium[(_0x1a4e('0x4d94'))](),_0xc92069[_0x1a4e('0x4d40')]=new Cesium[(_0x1a4e('0x168d'))](),_0xc92069;}return _0x1e6e43(_0x1b7f87,_0x5a3e39),_0x1b7f87['prototype'][_0x1a4e('0x4e56')]=function(_0x5a3e39,_0x1b7f87){var _0xc92069=Cesium['clone'](_0x5a3e39,!0x0);for(var _0x3cbbe3 in _0x1b7f87)if(_0x1b7f87[_0x1a4e('0xb')](_0x3cbbe3)){var _0x28be63=_0xc92069[_0x3cbbe3],_0x3e6fa1=_0x1b7f87[_0x3cbbe3];_0x28be63?(Array[_0x1a4e('0x15')](_0x28be63)||(_0x28be63=_0xc92069[_0x3cbbe3]=[_0x28be63]),_0xc92069[_0x3cbbe3]=_0x28be63[_0x1a4e('0x9a')](_0x3e6fa1)):_0xc92069[_0x3cbbe3]=Array[_0x1a4e('0x15')](_0x3e6fa1)?_0x3e6fa1['slice']():_0x3e6fa1;}return _0xc92069;},_0x1b7f87[_0x1a4e('0xa')][_0x1a4e('0x4e46')]=function(_0x5a3e39){var _0x1b7f87=new RegExp(_0x1a4e('0x4e57'))[_0x1a4e('0x2af')](_0x5a3e39),_0xc92069={'scheme':_0x1b7f87[0x1],'authority':_0x1b7f87[0x2],'path':_0x1b7f87[0x3],'query':_0x1b7f87[0x4],'fragment':_0x1b7f87[0x5]}[_0x1a4e('0x4aa')];if(void 0x0!==_0xc92069){for(var _0x3cbbe3=_0xc92069[_0x1a4e('0x115')](/\+/g,_0x1a4e('0x4e58'))[_0x1a4e('0x2be')](/[&]/),_0x28be63={},_0x3e6fa1=0x0,_0x336ba8=_0x3cbbe3[_0x1a4e('0x1e')];_0x3e6fa1<_0x336ba8;++_0x3e6fa1){var _0x1e6e43=_0x3cbbe3[_0x3e6fa1][_0x1a4e('0x2be')]('='),_0x3875dd=decodeURIComponent(_0x1e6e43[0x0]),_0x12e4e1=_0x1e6e43[0x1];if(_0x1e6e43[_0x1a4e('0x1e')]>0x2)for(var _0x1fd334=0x2;_0x1fd334<_0x1e6e43['length'];_0x1fd334++)_0x12e4e1=_0x12e4e1+'='+_0x1e6e43[_0x1fd334];_0x12e4e1=_0x12e4e1?decodeURIComponent(_0x12e4e1):'';var _0xe8cbad=_0x28be63[_0x3875dd];'string'==typeof _0xe8cbad?_0x28be63[_0x3875dd]=[_0xe8cbad,_0x12e4e1]:Array[_0x1a4e('0x15')](_0xe8cbad)?_0xe8cbad['push'](_0x12e4e1):_0x28be63[_0x3875dd]=_0x12e4e1;}this['_resource'][_0x1a4e('0x4e59')]=this[_0x1a4e('0x4e56')](_0x28be63,{});}},_0x1b7f87[_0x1a4e('0xa')]['getType']=function(){return _0x28be63[_0x1a4e('0x3aca')][_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x1b7f87,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x4e9b');},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1b7f87[_0x1a4e('0xa')],_0x1a4e('0x38e2'),{'get':function(){return this[_0x1a4e('0x4d91')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1b7f87[_0x1a4e('0xa')],'clustering',{'get':function(){return this[_0x1a4e('0x4797')];},'set':function(_0x5a3e39){if(!Cesium[_0x1a4e('0x3a0b')](_0x5a3e39))throw new Cesium[(_0x1a4e('0x3b9c'))]('value\x20must\x20be\x20defined.');this[_0x1a4e('0x4797')]=_0x5a3e39;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1b7f87[_0x1a4e('0xa')],'changedEvent',{'get':function(){return this[_0x1a4e('0x4d40')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7f87[_0x1a4e('0xa')],_0x1a4e('0x4d8c'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4d8c')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7f87[_0x1a4e('0xa')],_0x1a4e('0x4cb3'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x4cb3')];},'enumerable':!0x0,'configurable':!0x0}),_0x1b7f87['prototype'][_0x1a4e('0x3acd')]=function(_0x5a3e39){var _0x1b7f87=this;this[_0x1a4e('0x38fa')]=_0x5a3e39,this[_0x1a4e('0x38fa')][_0x1a4e('0x395b')][_0x1a4e('0x177')](this);var _0xc92069=new Cesium[(_0x1a4e('0x39cd'))](this['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3934')]);_0xc92069[_0x1a4e('0x3981')](function(_0x5a3e39){_0x1b7f87['_pickTile']&&_0x1b7f87[_0x1a4e('0x4d99')][_0x1a4e('0x4d9a')]();var _0xc92069=_0x1b7f87[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x106e')](_0x5a3e39['position']);if(_0xc92069)for(var _0x3cbbe3=_0xc92069['id'],_0x28be63=_0x1b7f87[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x3e6fa1=0x0;_0x3e6fa1<_0x28be63[_0x1a4e('0x1e')];_0x3e6fa1++)if(void 0x0!==_0x28be63[_0x3e6fa1][_0x1a4e('0x85')]){var _0x336ba8=_0x28be63[_0x3e6fa1]['object'][_0x1a4e('0x106e')](_0x3cbbe3);if(Cesium[_0x1a4e('0x3a0b')](_0x336ba8)&&_0x28be63[_0x3e6fa1][_0x1a4e('0x85')][_0x1a4e('0x8f7')]){var _0x1e6e43=_0x28be63[_0x3e6fa1]['object'][_0x1a4e('0x8f7')][_0x1a4e('0x4adb')](_0x336ba8['id']),_0x3875dd=Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x1b7f87[_0x1a4e('0x4137')][_0x1a4e('0x4e1e')]);_0x1e6e43[_0x1a4e('0x134')]=Cesium[_0x1a4e('0x3940')][_0x1a4e('0x4adc')](_0x3875dd),_0x1b7f87['_pickEvent'][_0x1a4e('0x4d4b')](_0x336ba8[_0x1a4e('0x13')]),_0x1b7f87['_pickTile']=_0x28be63[_0x3e6fa1][_0x1a4e('0x85')];}}},Cesium[_0x1a4e('0x39ce')]['LEFT_CLICK']),this[_0x1a4e('0x4ea6')]=_0xc92069;},_0x1b7f87['prototype'][_0x1a4e('0x3acf')]=function(){this[_0x1a4e('0x38fa')][_0x1a4e('0x395b')][_0x1a4e('0x82')](this,!0x0);},_0x1b7f87[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){var _0x5a3e39=this,_0x1b7f87=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')];_0x1b7f87['forEach'](function(_0x1b7f87){_0x5a3e39['_primitives']['remove'](_0x1b7f87[_0x1a4e('0x8f7')]),_0x1b7f87[_0x1a4e('0x139c')]();}),_0x1b7f87=void 0x0,this[_0x1a4e('0x4d47')][_0x1a4e('0x3a42')](),this['_eventHandler']&&(this[_0x1a4e('0x4ea6')][_0x1a4e('0x4daf')](Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x398e')]),this[_0x1a4e('0x4ea6')]=void 0x0);},_0x1b7f87[_0x1a4e('0xa')][_0x1a4e('0x4e78')]=function(){var _0x5a3e39=this,_0x1b7f87=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')],_0xc92069=[];_0x1b7f87[_0x1a4e('0x38d7')][_0x1a4e('0x4c1c')][_0x1a4e('0x4d5f')](function(_0x1b7f87){var _0x3cbbe3=_0x1b7f87[_0x1a4e('0x2dd0')];if(!(_0x3cbbe3<_0x5a3e39[_0x1a4e('0x4d8c')]||_0x3cbbe3>_0x5a3e39[_0x1a4e('0x4cb3')])){var _0x28be63=_0x5a3e39[_0x1a4e('0x4137')][_0x1a4e('0x4d8c')],_0x3e6fa1=_0x5a3e39[_0x1a4e('0x4137')][_0x1a4e('0x4cb3')],_0x336ba8=_0x1b7f87['x'],_0x1e6e43=_0x1b7f87['y'];if(_0x3cbbe3>=_0x28be63&&_0x3cbbe3<=_0x3e6fa1)return _0xc92069['push']([_0x3cbbe3,_0x336ba8,_0x1e6e43]);if(_0x3cbbe3>_0x3e6fa1){var _0x3875dd=Math[_0x1a4e('0x8e')](0x2,_0x3cbbe3-_0x3e6fa1);return _0x336ba8=_0x336ba8/_0x3875dd|0x0,_0x1e6e43=_0x1e6e43/_0x3875dd|0x0,_0xc92069['push']([_0x3e6fa1,_0x336ba8,_0x1e6e43]);}}}),this[_0x1a4e('0x4e79')][_0x1a4e('0x4c9b')]=_0xc92069;},_0x1b7f87[_0x1a4e('0xa')]['doConvertTiles']=function(){var _0x5a3e39=this[_0x1a4e('0x4e79')]['tiles'],_0x1b7f87=new Cesium[(_0x1a4e('0x4d95'))](),_0xc92069=this[_0x1a4e('0x4137')][_0x1a4e('0x473e')];if(void 0x0===_0xc92069||_0xc92069 instanceof Cesium[_0x1a4e('0x4755')])for(var _0x3cbbe3=0x0;_0x3cbbe3<_0x5a3e39[_0x1a4e('0x1e')];_0x3cbbe3++){var _0x28be63=_0x5a3e39[_0x3cbbe3][0x0]+'-'+_0x5a3e39[_0x3cbbe3][0x1]+'-'+_0x5a3e39[_0x3cbbe3][0x2];_0x1b7f87['set'](_0x28be63,_0x5a3e39[_0x3cbbe3]);}else{var _0x3e6fa1=new Cesium[(_0x1a4e('0x4755'))]();for(_0x3cbbe3=0x0;_0x3cbbe3<_0x5a3e39[_0x1a4e('0x1e')];_0x3cbbe3++)for(var _0x336ba8=_0x5a3e39[_0x3cbbe3],_0x1e6e43=_0x336ba8[0x0],_0x3875dd=_0x3e6fa1[_0x1a4e('0x4cf8')](_0x336ba8[0x1],_0x336ba8[0x2],_0x336ba8[0x0]),_0x12e4e1=Cesium[_0x1a4e('0x3965')][_0x1a4e('0x148')](_0x3875dd,_0xc92069[_0x1a4e('0x396a')]),_0x1fd334=_0xc92069[_0x1a4e('0x4d1a')](Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a30')](_0x12e4e1['west'],_0x12e4e1[_0x1a4e('0x403b')]),_0x1e6e43),_0xe8cbad=_0xc92069[_0x1a4e('0x4d1a')](Cesium['Cartographic'][_0x1a4e('0x3a30')](_0x12e4e1[_0x1a4e('0x3950')],_0x12e4e1[_0x1a4e('0x394f')]),_0x1e6e43),_0x54ea64=_0x1fd334['x']>_0xe8cbad['x']?_0xe8cbad['x']:_0x1fd334['x'],_0x23afa4=_0x1fd334['x']>_0xe8cbad['x']?_0x1fd334['x']:_0xe8cbad['x'],_0x269cae=_0x1fd334['y']>_0xe8cbad['y']?_0xe8cbad['y']:_0x1fd334['y'],_0x484834=_0x1fd334['y']>_0xe8cbad['y']?_0x1fd334['y']:_0xe8cbad['y'],_0x35d8a6=_0x54ea64;_0x35d8a6<=_0x23afa4;_0x35d8a6++)for(var _0x3572c6=_0x269cae;_0x3572c6<=_0x484834;_0x3572c6++){_0x28be63=_0x1e6e43+'-'+_0x35d8a6+'-'+_0x3572c6;_0x1b7f87['set'](_0x28be63,[_0x1e6e43,_0x35d8a6,_0x3572c6]);}}this['_control'][_0x1a4e('0x4c9b')]=_0x1b7f87[_0x1a4e('0x35b')];},_0x1b7f87[_0x1a4e('0xa')][_0x1a4e('0x4e83')]=function(){for(var _0x5a3e39=this['_renderTiles']['values'],_0x1b7f87=0x0;_0x1b7f87<_0x5a3e39['length'];_0x1b7f87++)_0x5a3e39[_0x1b7f87]['visibleFrame']--;for(var _0xc92069=this[_0x1a4e('0x4e79')][_0x1a4e('0x4c9b')],_0x3cbbe3=0x0;_0x3cbbe3<_0xc92069['length'];_0x3cbbe3++){var _0x28be63=_0xc92069[_0x3cbbe3],_0x3e6fa1=_0x28be63[0x0]+'-'+_0x28be63[0x1]+'-'+_0x28be63[0x2],_0x336ba8=this[_0x1a4e('0x4d47')][_0x1a4e('0x179')](_0x3e6fa1);if(void 0x0===_0x336ba8){var _0x1e6e43={'level':_0x28be63[0x0],'x':_0x28be63[0x1],'y':_0x28be63[0x2],'visibleFrame':0x64,'data':void 0x0,'object':void 0x0,'request':void 0x0,'priority':0x1,'state':_0x5ceea2[_0x1a4e('0x4e7c')]};this['_renderTiles'][_0x1a4e('0x17a')](_0x3e6fa1,_0x1e6e43);}else _0x336ba8[_0x1a4e('0xa46')]===_0x5ceea2[_0x1a4e('0x4e7c')]&&_0x336ba8[_0x1a4e('0x16a1')]++,_0x336ba8[_0x1a4e('0x4e7b')]++;}this[_0x1a4e('0x4e79')][_0x1a4e('0x4c9b')]=[];},_0x1b7f87[_0x1a4e('0xa')][_0x1a4e('0x4ea7')]=function(_0x5a3e39){if(_0x5a3e39[_0x1a4e('0xa46')]===_0x5ceea2[_0x1a4e('0x4e7c')]){var _0x1b7f87=this[_0x1a4e('0x3c98')][_0x1a4e('0x4e6b')](!0x0)[_0x1a4e('0x909')](/{[^}]+}/g),_0xc92069=this,_0x3cbbe3=this[_0x1a4e('0x4e6c')],_0x28be63={};Cesium[_0x1a4e('0x3a0b')](_0x1b7f87)&&_0x1b7f87[_0x1a4e('0x3b')](function(_0x1b7f87){var _0x3e6fa1=_0x1b7f87[_0x1a4e('0x281')](0x1,_0x1b7f87[_0x1a4e('0x1e')]-0x1);_0x28be63[_0x3e6fa1]=_0x3cbbe3[_0x3e6fa1](_0xc92069,_0x5a3e39['x'],_0x5a3e39['y'],_0x5a3e39[_0x1a4e('0x2dd0')]);}),_0x5a3e39[_0x1a4e('0x3291')]=new Cesium[(_0x1a4e('0x4cea'))]({'throttle':!0x0,'throttleByServer':!0x0,'type':Cesium['RequestType']['IMAGERY']});var _0x3e6fa1=this[_0x1a4e('0x3c98')]['getDerivedResource']({'request':_0x5a3e39['request'],'templateValues':_0x28be63});_0x3e6fa1=Cesium['Resource']['createIfNeeded'](_0x3e6fa1);var _0x336ba8=void 0x0;if(_0x1a4e('0x4e29')===this[_0x1a4e('0x4137')][_0x1a4e('0x390')]?_0x336ba8=_0x3e6fa1[_0x1a4e('0x4b10')]():_0x1a4e('0x4ea8')===this['_opt'][_0x1a4e('0x390')]&&(_0x336ba8=_0x3e6fa1[_0x1a4e('0x3c4f')]()),!_0x336ba8)return console[_0x1a4e('0x58')](_0x1a4e('0x4ea9')),null;_0x5a3e39[_0x1a4e('0xa46')]=_0x5ceea2[_0x1a4e('0x4cea')],Cesium[_0x1a4e('0x39fd')](_0x336ba8,null)['then'](function(_0x1b7f87){_0x5a3e39['data']=_0x1b7f87,_0x5a3e39[_0x1a4e('0xa46')]=_0x5ceea2[_0x1a4e('0x38e5')];});}},_0x1b7f87[_0x1a4e('0xa')][_0x1a4e('0x4e7e')]=function(_0x5a3e39){var _0x1b7f87=_0x5a3e39[_0x1a4e('0x7f')];if(_0x1a4e('0x4ea8')===this[_0x1a4e('0x4137')][_0x1a4e('0x390')]){var _0xc92069=_0x3e6fa1['Util'][_0x1a4e('0x4e5f')](_0x1b7f87,_0x5a3e39[_0x1a4e('0x2dd0')],_0x5a3e39['x'],_0x5a3e39['y']);_0x5a3e39[_0x1a4e('0x7f')]=_0xc92069;}_0x5a3e39[_0x1a4e('0xa46')]=_0x5ceea2[_0x1a4e('0x4eaa')];},_0x1b7f87[_0x1a4e('0xa')][_0x1a4e('0x4eab')]=function(_0x5a3e39){var _0x1b7f87=_0x5a3e39[_0x1a4e('0x7f')][_0x1a4e('0x25')];void 0x0!==_0x5a3e39[_0x1a4e('0x7f')]&&_0x1b7f87['length']>0x0?(_0x5a3e39['object']=new _0x336ba8['VectorTile'](_0x5a3e39[_0x1a4e('0x2dd0')],_0x5a3e39['x'],_0x5a3e39['y'],{'lineWidth':this['_opt'][_0x1a4e('0x4191')],'lineColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this[_0x1a4e('0x4137')][_0x1a4e('0x40a0')]),'fillColor':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](this[_0x1a4e('0x4137')][_0x1a4e('0x3987')])}),_0x1b7f87[_0x1a4e('0x3b')](function(_0x1b7f87){_0x5a3e39[_0x1a4e('0x85')][_0x1a4e('0x3e0')](_0x1b7f87);}),_0x5a3e39['data']=void 0x0,_0x5a3e39['object'][_0x1a4e('0x4d50')]=!0x0,_0x5a3e39[_0x1a4e('0xa46')]=_0x5ceea2['CreatePrimitive']):_0x5a3e39['priority']=0x0;},_0x1b7f87[_0x1a4e('0xa')][_0x1a4e('0x4eac')]=function(_0x5a3e39){_0x5a3e39[_0x1a4e('0x85')]?_0x5a3e39[_0x1a4e('0x85')][_0x1a4e('0x3b5e')]()&&(this['_primitives'][_0x1a4e('0x177')](_0x5a3e39[_0x1a4e('0x85')][_0x1a4e('0x8f7')]),_0x5a3e39['state']=_0x5ceea2[_0x1a4e('0x4e80')]):_0x5a3e39['priority']=0x0;},_0x1b7f87[_0x1a4e('0xa')]['doProcessTiles']=function(){for(var _0x5a3e39=this[_0x1a4e('0x4d47')][_0x1a4e('0x35b')],_0x1b7f87=void 0x0,_0xc92069=0x0,_0x3cbbe3=[],_0x28be63=0x0;_0x28be63<_0x5a3e39['length'];_0x28be63++){(_0x336ba8=_0x5a3e39[_0x28be63])['visibleFrame']<0x0?(_0x336ba8[_0x1a4e('0x85')]&&_0x336ba8[_0x1a4e('0x85')][_0x1a4e('0x8f7')]&&(this[_0x1a4e('0x4570')][_0x1a4e('0x82')](_0x336ba8[_0x1a4e('0x85')][_0x1a4e('0x8f7')]),_0x336ba8[_0x1a4e('0x85')][_0x1a4e('0x8f7')]=void 0x0),_0x3cbbe3[_0x1a4e('0x46')](_0x336ba8)):_0x336ba8[_0x1a4e('0xa46')]!==_0x5ceea2[_0x1a4e('0x4e80')]&&_0x336ba8[_0x1a4e('0x16a1')]>_0xc92069&&(_0xc92069=_0x336ba8[_0x1a4e('0x16a1')],_0x1b7f87=_0x336ba8);}if(void 0x0!==_0x1b7f87&&(_0x1b7f87['state']===_0x5ceea2[_0x1a4e('0x4e7c')]&&_0xc92069>0x5?this[_0x1a4e('0x4ea7')](_0x1b7f87):_0x1b7f87[_0x1a4e('0xa46')]===_0x5ceea2[_0x1a4e('0x38e5')]?this['doAnalysis'](_0x1b7f87):_0x1b7f87[_0x1a4e('0xa46')]===_0x5ceea2[_0x1a4e('0x4eaa')]?this[_0x1a4e('0x4eab')](_0x1b7f87):_0x1b7f87[_0x1a4e('0xa46')]===_0x5ceea2['CreatePrimitive']&&this[_0x1a4e('0x4eac')](_0x1b7f87)),_0x3cbbe3['length']>0x0)for(var _0x3e6fa1=0x0;_0x3e6fa1<_0x3cbbe3[_0x1a4e('0x1e')];_0x3e6fa1++){var _0x336ba8=_0x3cbbe3[_0x3e6fa1];this['_pickTile']&&_0x336ba8['level']===this[_0x1a4e('0x4d99')][_0x1a4e('0x2dd0')]&&_0x336ba8['x']===this[_0x1a4e('0x4d99')]['x']&&_0x336ba8['y']===this['_pickTile']['y']&&(this[_0x1a4e('0x4d99')]=void 0x0);var _0x1e6e43=_0x336ba8[_0x1a4e('0x2dd0')]+'-'+_0x336ba8['x']+'-'+_0x336ba8['y'];this[_0x1a4e('0x4d47')][_0x1a4e('0x82')](_0x1e6e43);}},_0x1b7f87['prototype'][_0x1a4e('0x937')]=function(_0x5a3e39){return 0x0===this['_control']['state']?(this[_0x1a4e('0x4e78')](),this[_0x1a4e('0x4e79')][_0x1a4e('0xa46')]=0x1):0x1===this['_control'][_0x1a4e('0xa46')]?(this[_0x1a4e('0x4ead')](),this[_0x1a4e('0x4e79')]['state']=0x2):0x2===this[_0x1a4e('0x4e79')][_0x1a4e('0xa46')]?(this[_0x1a4e('0x4e83')](),this[_0x1a4e('0x4e79')]['state']=0x3):0x3===this[_0x1a4e('0x4e79')][_0x1a4e('0xa46')]&&(this[_0x1a4e('0x4eae')](),this[_0x1a4e('0x4e79')][_0x1a4e('0xa46')]=0x0),!0x0;},Object[_0x1a4e('0x2')](_0x1b7f87['prototype'],_0x1a4e('0x4e8d'),{'set':function(_0x5a3e39){this[_0x1a4e('0x4d48')][_0x1a4e('0xec5')](_0x5a3e39);},'enumerable':!0x0,'configurable':!0x0}),_0x1b7f87;}(_0x28be63[_0x1a4e('0x3aca')]),_0x2bdb11=function(_0x5a3e39){void 0x0===_0x5a3e39&&(_0x5a3e39=_0x1a4e('0x4eaf')),this[_0x1a4e('0x4eb0')]='wmts',this['providerType']=_0x5a3e39,this[_0x1a4e('0x4d8c')]=0x0,this[_0x1a4e('0x4cb3')]=0x15,this[_0x1a4e('0x473e')]=new Cesium['WebMercatorTilingScheme'](),this[_0x1a4e('0x4191')]=0x2,this[_0x1a4e('0x40a0')]=_0x1a4e('0x3db0'),this[_0x1a4e('0x3987')]='#0000FF',this[_0x1a4e('0x4e1e')]=_0x1a4e('0x4c6d'),this[_0x1a4e('0x390')]=_0x1a4e('0x4ea8');};!function(_0x5a3e39){_0x5a3e39[_0x5a3e39[_0x1a4e('0x4e7c')]=0x0]=_0x1a4e('0x4e7c'),_0x5a3e39[_0x5a3e39[_0x1a4e('0x4cea')]=0x1]=_0x1a4e('0x4cea'),_0x5a3e39[_0x5a3e39[_0x1a4e('0x38e5')]=0x2]=_0x1a4e('0x38e5'),_0x5a3e39[_0x5a3e39[_0x1a4e('0x4eaa')]=0x3]=_0x1a4e('0x4eaa'),_0x5a3e39[_0x5a3e39['CreatePrimitive']=0x4]=_0x1a4e('0x4eb1'),_0x5a3e39[_0x5a3e39['Visible']=0x5]=_0x1a4e('0x4e80');}(_0x5ceea2||(_0x5ceea2={}));},'./src/LayerManager/TileLayer/WMTSVectorProvider.ts':function(_0x42d0b6,_0x459a8b,_0x5a392d){'use strict';_0x5a392d['r'](_0x459a8b),_0x5a392d['d'](_0x459a8b,'WMTSVectorProvider',function(){return _0x3de1a7;});var _0x13d952=Cesium['defaultValue'],_0x246683=Cesium['defined'],_0x504aff=Cesium[_0x1a4e('0x3b9c')],_0x1e09ee=Cesium['Resource'][_0x1a4e('0x3c4f')],_0x3f987a=Cesium[_0x1a4e('0x39fd')],_0x3de1a7=function(){function _0x42d0b6(_0x42d0b6){if(_0x42d0b6=_0x13d952(_0x42d0b6,_0x13d952['EMPTY_OBJECT']),this['_url']=_0x42d0b6[_0x1a4e('0x15cf')],this[_0x1a4e('0x39b1')]=_0x13d952(_0x42d0b6[_0x1a4e('0x4770')],''),this[_0x1a4e('0x4e63')]=_0x13d952(_0x42d0b6[_0x1a4e('0x390')],_0x1a4e('0x4e29')),this['_tilematrixset']=_0x13d952(_0x42d0b6[_0x1a4e('0x4e10')],'EPSG:4326'),this[_0x1a4e('0x15ca')]=_0x13d952(_0x42d0b6[_0x1a4e('0xb98')],_0x1a4e('0x4cb2')),this[_0x1a4e('0x4bb3')]=_0x13d952(_0x42d0b6[_0x1a4e('0x375c')],''),this['_minLevel']=_0x13d952(_0x42d0b6[_0x1a4e('0x4eb2')],0x0),this[_0x1a4e('0x4cac')]=_0x13d952(_0x42d0b6[_0x1a4e('0x4eb3')],0x15),!_0x246683(this[_0x1a4e('0x4764')]))throw new _0x504aff(_0x1a4e('0x4df7'));}return Object[_0x1a4e('0x2')](_0x42d0b6[_0x1a4e('0xa')],_0x1a4e('0x4d8c'),{'get':function(){return this[_0x1a4e('0x4da8')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x42d0b6[_0x1a4e('0xa')],_0x1a4e('0x4cb3'),{'get':function(){return this[_0x1a4e('0x4cac')];},'enumerable':!0x0,'configurable':!0x0}),_0x42d0b6[_0x1a4e('0xa')][_0x1a4e('0x4daa')]=function(_0x42d0b6,_0x459a8b,_0x5a392d,_0x13d952,_0x504aff){if(!(_0x42d0b6this['_maxLevel'])){var _0x3de1a7;_0x3de1a7={'url':this[_0x1a4e('0x4764')],'queryParameters':{'Request':_0x1a4e('0x4eb4'),'Service':_0x1a4e('0x4eb5'),'Version':this[_0x1a4e('0x15ca')],'layer':this[_0x1a4e('0x39b1')],'STYLE':this[_0x1a4e('0x4bb3')],'TILEMATRIXSET':this[_0x1a4e('0x4eb6')],'Format':this[_0x1a4e('0x4e63')],'TileMatrix':this['_tilematrixset']+':'+_0x42d0b6,'TileCol':_0x459a8b,'TileRow':_0x5a392d}};var _0x47ca74=void 0x0;if(_0x1a4e('0x4e29')===this[_0x1a4e('0x4e63')])_0x47ca74=(_0x3de1a7=new Cesium[(_0x1a4e('0x3ba6'))](_0x3de1a7))[_0x1a4e('0x4b10')]();else{if(_0x1a4e('0x4ea8')!==this[_0x1a4e('0x4e63')])return;_0x47ca74=new _0x1e09ee(_0x3de1a7);}return _0x3f987a(_0x47ca74,null)[_0x1a4e('0xdf8')](function(_0x42d0b6){_0x246683(_0x13d952)&&_0x13d952(_0x42d0b6);})[_0x1a4e('0x3d12')](function(_0x42d0b6){_0x246683(_0x504aff)&&_0x504aff(_0x42d0b6);});}},_0x42d0b6[_0x1a4e('0xa')][_0x1a4e('0x4eb7')]=function(_0x42d0b6,_0x459a8b,_0x5a392d){if(!(_0x42d0b6this['_maxLevel'])){var _0x13d952;_0x13d952={'url':this[_0x1a4e('0x4764')],'queryParameters':{'Request':_0x1a4e('0x4eb4'),'Service':'WMTS','Version':this[_0x1a4e('0x15ca')],'layer':this['_layer'],'STYLE':this['_style'],'TILEMATRIXSET':this[_0x1a4e('0x4eb6')],'Format':this['_format'],'TileMatrix':this[_0x1a4e('0x4eb6')]+':'+_0x42d0b6,'TileCol':_0x459a8b,'TileRow':_0x5a392d}};var _0x246683=void 0x0;if(_0x1a4e('0x4e29')===this['_format'])_0x246683=(_0x13d952=new Cesium['Resource'](_0x13d952))['fetchJson']();else{if(_0x1a4e('0x4ea8')!==this[_0x1a4e('0x4e63')])return;_0x246683=new _0x1e09ee(_0x13d952);}return _0x246683;}},_0x42d0b6;}();},'./src/LayerManager/TileLayer/createMapBoxStyle.js':function(_0x319fd1,_0xf6ada5,_0x3de441){'use strict';Object[_0x1a4e('0x2')](_0xf6ada5,'__esModule',{'value':!0x0}),_0xf6ada5['default']=function(_0x319fd1){var _0xf6ada5=arguments[_0x1a4e('0x1e')]>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:defaultStyle;return function(){var _0x3de441=GVol||ol,_0x5b1b15={'Style':_0x3de441['style'][_0x1a4e('0x4e4b')],'Fill':_0x3de441[_0x1a4e('0x375c')]['Fill'],'Text':_0x3de441[_0x1a4e('0x375c')]['Text'],'Stroke':_0x3de441[_0x1a4e('0x375c')][_0x1a4e('0x4e4c')],'Icon':_0x3de441['style'][_0x1a4e('0x4e4d')]},_0x8d89d4=_0xf6ada5=Cesium['defaultValue'](_0xf6ada5,_0x5b1b15),_0x10f207=_0x8d89d4[_0x1a4e('0x4e4b')],_0x595189=_0x8d89d4[_0x1a4e('0x4eb8')],_0x526449=_0x8d89d4[_0x1a4e('0x4e4c')],_0x471f26=_0x8d89d4['Icon'],_0xfca286=_0x8d89d4[_0x1a4e('0x34a1')];function _0xf4dfe(_0xf6ada5,_0x3de441){if(_0x319fd1[_0xf6ada5])return _0x319fd1[_0xf6ada5][_0x3de441]?_0x319fd1[_0xf6ada5][_0x3de441][_0x1a4e('0x3df3')]:_0x319fd1[_0xf6ada5][_0x1a4e('0x8')][_0x1a4e('0x3df3')];}function _0x5e0e71(_0xf6ada5,_0x3de441){return!(_0x319fd1[_0xf6ada5]&&_0x319fd1[_0xf6ada5][_0x3de441]&&_0x319fd1[_0xf6ada5][_0x3de441][_0x1a4e('0x4eb9')])||resolution<=_0x319fd1[_0xf6ada5][_0x3de441][_0x1a4e('0xa1')];}return fill=new _0x595189({'color':''}),stroke=new _0x526449({'color':'','width':0x1}),polygon=new _0x10f207({'fill':fill}),strokedPolygon=new _0x10f207({'fill':fill,'stroke':stroke}),line=new _0x10f207({'stroke':stroke}),text=new _0x10f207({'text':new _0xfca286({'text':'','fill':fill,'stroke':stroke})}),iconCache={},styles=[],function(_0xf6ada5,_0x3de441){var _0x5b1b15,_0x8d89d4,_0x595189=0x0,_0x526449=_0xf6ada5[_0x1a4e('0x179')]('layer'),_0xfca286=_0xf6ada5[_0x1a4e('0x179')](_0x1a4e('0x237e')),_0x4244f9=(_0xf6ada5['get'](_0x1a4e('0x40')),_0xf6ada5[_0x1a4e('0x179')](_0x1a4e('0x4eba'))),_0x1187b2=(_0xf6ada5[_0x1a4e('0x179')]('labelrank'),_0xf6ada5[_0x1a4e('0x179')](_0x1a4e('0x4ebb'))),_0x51da31=_0xf6ada5[_0x1a4e('0x179')](_0x1a4e('0x4ebc')),_0x5273f4=_0xf6ada5['get'](_0x1a4e('0x4ebd')),_0x4ebca8=_0xf6ada5[_0x1a4e('0x179')](_0x1a4e('0x4ebe')),_0x1c0a9a=_0xf6ada5[_0x1a4e('0x5cc')]()[_0x1a4e('0x3cc')]();if(_0x1a4e('0x4ebf')!==_0x526449&&'marine_label'!==_0x526449||!_0x4244f9){if(_0x1a4e('0x4ec0')==_0x526449&&_0x3de441<=19.109257071294063&&0x1==_0x4244f9&&'marker'!==_0x4ebca8)styles[_0x595189++]=(_0x5b1b15=_0x4ebca8,(_0x8d89d4=iconCache[_0x5b1b15])||(_0x8d89d4=new _0x10f207({'image':new _0x471f26({'src':_0x1a4e('0x4ec1')+_0x5b1b15+_0x1a4e('0x4ec2'),'imgSize':[0xf,0xf],'crossOrigin':'anonymous'})}),iconCache[_0x5b1b15]=_0x8d89d4),_0x8d89d4);else if('admin'==_0x526449&&_0x1187b2>=0x3&&0x0===_0x51da31)stroke['setColor'](_0x1a4e('0x4ec3')),stroke[_0x1a4e('0x469c')](0x1),styles[_0x595189++]=line;else if(_0x1a4e('0x4ec4')==_0x526449&&0x2==_0x1187b2&&0x0===_0x5273f4&&0x0===_0x51da31)stroke[_0x1a4e('0x4ec5')](_0x1a4e('0x4ec3')),stroke[_0x1a4e('0x469c')](0x1),styles[_0x595189++]=line;else if(_0x1a4e('0x4ec4')==_0x526449&&0x2==_0x1187b2&&0x1===_0x5273f4&&0x0===_0x51da31)stroke[_0x1a4e('0x4ec5')](_0x1a4e('0x4ec3')),stroke[_0x1a4e('0x469c')](0x1),styles[_0x595189++]=line;else if(_0x1a4e('0x4ec4')==_0x526449&&_0x1187b2>=0x3&&0x1===_0x51da31)stroke['setColor'](_0x1a4e('0x4ec6')),stroke['setWidth'](0x1),styles[_0x595189++]=line;else if(_0x1a4e('0x4ec4')==_0x526449&&0x2==_0x1187b2&&0x1===_0x51da31)stroke['setColor'](_0x1a4e('0x4ec6')),stroke[_0x1a4e('0x469c')](0x1),styles[_0x595189++]=line;else if(_0x1a4e('0x19')===_0x1c0a9a){var _0x5333dc=function(_0xf6ada5,_0x3de441){if(_0x319fd1[_0xf6ada5])return _0x319fd1[_0xf6ada5][_0x3de441]?_0x319fd1[_0xf6ada5][_0x3de441][_0x1a4e('0x22c')]:_0x319fd1[_0xf6ada5][_0x1a4e('0x8')][_0x1a4e('0x22c')];}(_0x526449,_0xfca286),_0x24b9e7=_0xf4dfe(_0x526449,_0xfca286);_0x24b9e7?(fill[_0x1a4e('0x4ec5')](_0x5333dc),stroke[_0x1a4e('0x4ec5')](_0x24b9e7),stroke['setWidth'](0x1),styles[_0x595189++]=strokedPolygon):(fill[_0x1a4e('0x4ec5')](_0x5333dc),styles[_0x595189++]=polygon);}else if('LineString'===_0x1c0a9a&&_0x5e0e71()){var _0x3e4cc2=_0xf4dfe(_0x526449,_0xfca286);stroke[_0x1a4e('0x469c')](0x1),stroke[_0x1a4e('0x4ec5')](_0x3e4cc2),styles[_0x595189++]=line;}}else{if(!_0x319fd1[_0x526449]||!_0x319fd1[_0x526449][''+_0x4244f9])return;var _0x2f50df=_0x319fd1[_0x526449][''+_0x4244f9];if(_0x2f50df['filter']&&_0x2f50df[_0x1a4e('0xd9')]!==_0x1c0a9a)return;text[_0x1a4e('0x230e')]()['setText'](_0xf6ada5[_0x1a4e('0x179')](_0x2f50df[_0x1a4e('0x35f')])),text[_0x1a4e('0x230e')]()[_0x1a4e('0x4ec7')](_0x2f50df[_0x1a4e('0x3986')]),fill[_0x1a4e('0x4ec5')](_0x2f50df[_0x1a4e('0x22c')]),stroke[_0x1a4e('0x4ec5')](_0x2f50df[_0x1a4e('0x3df3')]),stroke['setWidth'](_0x2f50df[_0x1a4e('0x41ee')]),styles[_0x595189++]=text;}return styles[_0x1a4e('0x1e')]=_0x595189,styles;};}();};},'./src/LayerManager/VectorLayer/GeoJsonLayer.ts':function(_0x56fa95,_0x4499c1,_0xfb670f){'use strict';_0xfb670f['r'](_0x4499c1),_0xfb670f['d'](_0x4499c1,_0x1a4e('0x4013'),function(){return _0x529654;}),_0xfb670f['d'](_0x4499c1,'GeoJsonLayerOpt',function(){return _0x35c76a;});var _0x5e986a,_0xa98ce0=_0xfb670f('./src/LayerManager/VectorLayer/VectorItem.ts'),_0x45054c=(_0x5e986a=function(_0x56fa95,_0x4499c1){return(_0x5e986a=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x56fa95,_0x4499c1){_0x56fa95['__proto__']=_0x4499c1;}||function(_0x56fa95,_0x4499c1){for(var _0xfb670f in _0x4499c1)_0x4499c1[_0x1a4e('0xb')](_0xfb670f)&&(_0x56fa95[_0xfb670f]=_0x4499c1[_0xfb670f]);})(_0x56fa95,_0x4499c1);},function(_0x56fa95,_0x4499c1){function _0xfb670f(){this[_0x1a4e('0x10')]=_0x56fa95;}_0x5e986a(_0x56fa95,_0x4499c1),_0x56fa95['prototype']=null===_0x4499c1?Object[_0x1a4e('0x7')](_0x4499c1):(_0xfb670f[_0x1a4e('0xa')]=_0x4499c1['prototype'],new _0xfb670f());}),_0x529654=function(_0x56fa95){function _0x4499c1(_0x4499c1){var _0xfb670f=_0x56fa95[_0x1a4e('0x1')](this)||this;return _0xfb670f[_0x1a4e('0x39d5')]=_0x1a4e('0x4013'),_0xfb670f['parseOption'](_0x4499c1),_0xfb670f;}return _0x45054c(_0x4499c1,_0x56fa95),_0x4499c1[_0x1a4e('0xa')][_0x1a4e('0x3cc')]=function(){return _0x4499c1[_0x1a4e('0x40')];},Object[_0x1a4e('0x2')](_0x4499c1,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x4013');},'enumerable':!0x0,'configurable':!0x0}),_0x4499c1[_0x1a4e('0xa')][_0x1a4e('0x3acd')]=function(_0x56fa95){var _0x4499c1=this;this[_0x1a4e('0x477f')]=_0x56fa95[_0x1a4e('0x38fa')]['dataSources'],Cesium[_0x1a4e('0x395c')][_0x1a4e('0x7b')](this[_0x1a4e('0x411e')][_0x1a4e('0x15cf')],{'stroke':this[_0x1a4e('0x411e')][_0x1a4e('0x3df3')],'fill':this[_0x1a4e('0x411e')][_0x1a4e('0x22c')],'strokeWidth':this[_0x1a4e('0x411e')][_0x1a4e('0x41ee')]})[_0x1a4e('0xdf8')](function(_0x56fa95){_0x4499c1[_0x1a4e('0x477f')][_0x1a4e('0x177')](_0x56fa95)[_0x1a4e('0xdf8')](function(_0x56fa95){_0x4499c1[_0x1a4e('0x4312')]=_0x56fa95;});});},_0x4499c1['prototype']['destroyItem']=function(){this['_vectorLayer']['remove'](this[_0x1a4e('0x4312')]),this['_renderObj']=void 0x0;},_0x4499c1[_0x1a4e('0xa')]['getRenderObject']=function(){return this['_renderObj'];},_0x4499c1['prototype'][_0x1a4e('0x472d')]=function(_0x56fa95){var _0x4499c1=new _0x35c76a();for(var _0xfb670f in _0x56fa95)_0x4499c1[_0xfb670f]=_0x56fa95[_0xfb670f];this[_0x1a4e('0x411e')]=_0x4499c1;},_0x4499c1[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x56fa95={'type':this[_0x1a4e('0x39d5')],'name':this[_0x1a4e('0x2cb')]};for(var _0x4499c1 in this[_0x1a4e('0x411e')])void 0x0!==this[_0x1a4e('0x411e')][_0x4499c1]&&_0x1a4e('0x10')!==_0x4499c1&&(_0x56fa95[_0x4499c1]=this['_option'][_0x4499c1]);return _0x56fa95;},_0x4499c1[_0x1a4e('0xa')]['parseJson']=function(_0x56fa95){this[_0x1a4e('0x472d')](_0x56fa95);},_0x4499c1;}(_0xa98ce0['VectorItem']),_0x35c76a=function(){this['stroke']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x4ec8')],this[_0x1a4e('0x22c')]=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x4ec9')],this[_0x1a4e('0x41ee')]=0x3;};window['GV'][_0x1a4e('0x3ada')]('vectorItem',_0x529654);},'./src/LayerManager/VectorLayer/KMLLayer.ts':function(_0x150275,_0x1b7348,_0x20c721){'use strict';_0x20c721['r'](_0x1b7348),_0x20c721['d'](_0x1b7348,'KMLLayer',function(){return _0x4cf499;}),_0x20c721['d'](_0x1b7348,_0x1a4e('0x4eca'),function(){return _0x362780;});var _0x246cec,_0x216ec1=_0x20c721('./src/LayerManager/VectorLayer/VectorItem.ts'),_0x445893=(_0x246cec=function(_0x150275,_0x1b7348){return(_0x246cec=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x150275,_0x1b7348){_0x150275['__proto__']=_0x1b7348;}||function(_0x150275,_0x1b7348){for(var _0x20c721 in _0x1b7348)_0x1b7348[_0x1a4e('0xb')](_0x20c721)&&(_0x150275[_0x20c721]=_0x1b7348[_0x20c721]);})(_0x150275,_0x1b7348);},function(_0x150275,_0x1b7348){function _0x20c721(){this[_0x1a4e('0x10')]=_0x150275;}_0x246cec(_0x150275,_0x1b7348),_0x150275[_0x1a4e('0xa')]=null===_0x1b7348?Object[_0x1a4e('0x7')](_0x1b7348):(_0x20c721[_0x1a4e('0xa')]=_0x1b7348[_0x1a4e('0xa')],new _0x20c721());}),_0x4cf499=function(_0x150275){function _0x1b7348(_0x1b7348){var _0x20c721=_0x150275['call'](this)||this;return _0x20c721['_type']=_0x1a4e('0x4012'),_0x20c721[_0x1a4e('0x472d')](_0x1b7348),_0x20c721;}return _0x445893(_0x1b7348,_0x150275),_0x1b7348['prototype']['getType']=function(){return _0x1b7348['type'];},Object[_0x1a4e('0x2')](_0x1b7348,_0x1a4e('0x40'),{'get':function(){return _0x1a4e('0x4012');},'enumerable':!0x0,'configurable':!0x0}),_0x1b7348[_0x1a4e('0xa')][_0x1a4e('0x3acd')]=function(_0x150275){var _0x1b7348=this;this[_0x1a4e('0x477f')]=_0x150275['_viewer'][_0x1a4e('0x395b')];var _0x20c721=_0x150275['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')],_0x246cec=_0x150275['_viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3934')];Cesium['KmlDataSource']['load'](this[_0x1a4e('0x411e')][_0x1a4e('0x15cf')],{'camera':_0x20c721,'canvas':_0x246cec})[_0x1a4e('0xdf8')](function(_0x150275){_0x1b7348[_0x1a4e('0x477f')][_0x1a4e('0x177')](_0x150275)[_0x1a4e('0xdf8')](function(_0x150275){_0x1b7348['_renderObj']=_0x150275;});});},_0x1b7348[_0x1a4e('0xa')]['destroyItem']=function(){this[_0x1a4e('0x477f')]['remove'](this['_renderObj']),this[_0x1a4e('0x4312')]=void 0x0;},_0x1b7348[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){return this[_0x1a4e('0x4312')];},_0x1b7348[_0x1a4e('0xa')][_0x1a4e('0x472d')]=function(_0x150275){var _0x1b7348=new _0x362780();for(var _0x20c721 in _0x150275)_0x1b7348[_0x20c721]=_0x150275[_0x20c721];this[_0x1a4e('0x411e')]=_0x1b7348;},_0x1b7348[_0x1a4e('0xa')][_0x1a4e('0x3acb')]=function(){var _0x150275={'type':this[_0x1a4e('0x39d5')],'name':this[_0x1a4e('0x2cb')]};for(var _0x1b7348 in this[_0x1a4e('0x411e')])void 0x0!==this[_0x1a4e('0x411e')][_0x1b7348]&&'constructor'!==_0x1b7348&&(_0x150275[_0x1b7348]=this['_option'][_0x1b7348]);return _0x150275;},_0x1b7348['prototype'][_0x1a4e('0x3acc')]=function(_0x150275){this[_0x1a4e('0x472d')](_0x150275);},_0x1b7348;}(_0x216ec1[_0x1a4e('0x4ecb')]),_0x362780=function(){};window['GV'][_0x1a4e('0x3ada')](_0x1a4e('0x3ad9'),_0x4cf499);},'./src/LayerManager/VectorLayer/VectorItem.ts':function(_0xdceb11,_0x49788f,_0x441afa){'use strict';_0x441afa['r'](_0x49788f),_0x441afa['d'](_0x49788f,'VectorItem',function(){return _0x1da0ca;});var _0x42747a,_0x26b7aa=_0x441afa('./src/Core/Item.ts'),_0x54a4f6=_0x441afa(_0x1a4e('0x3999')),_0x652f78=(_0x42747a=function(_0xdceb11,_0x49788f){return(_0x42747a=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0xdceb11,_0x49788f){_0xdceb11[_0x1a4e('0x295')]=_0x49788f;}||function(_0xdceb11,_0x49788f){for(var _0x441afa in _0x49788f)_0x49788f[_0x1a4e('0xb')](_0x441afa)&&(_0xdceb11[_0x441afa]=_0x49788f[_0x441afa]);})(_0xdceb11,_0x49788f);},function(_0xdceb11,_0x49788f){function _0x441afa(){this[_0x1a4e('0x10')]=_0xdceb11;}_0x42747a(_0xdceb11,_0x49788f),_0xdceb11['prototype']=null===_0x49788f?Object[_0x1a4e('0x7')](_0x49788f):(_0x441afa[_0x1a4e('0xa')]=_0x49788f[_0x1a4e('0xa')],new _0x441afa());}),_0x1da0ca=function(_0xdceb11){function _0x49788f(){var _0x49788f=_0xdceb11[_0x1a4e('0x1')](this)||this;return _0x49788f[_0x1a4e('0x515')]=_0x54a4f6[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),_0x49788f;}return _0x652f78(_0x49788f,_0xdceb11),_0x49788f[_0x1a4e('0xa')][_0x1a4e('0x3ef9')]=function(){},_0x49788f;}(_0x26b7aa[_0x1a4e('0x3aca')]);},'./src/LayerManager/VectorLayer/VectorLayer.ts':function(_0x158b49,_0x49f2a1,_0x11377d){'use strict';_0x11377d['r'](_0x49f2a1),_0x11377d['d'](_0x49f2a1,_0x1a4e('0x477b'),function(){return _0x2cc592;});var _0x5a2df8,_0x51ee14=_0x11377d(_0x1a4e('0x3f2c')),_0x106551=(_0x5a2df8=function(_0x158b49,_0x49f2a1){return(_0x5a2df8=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x158b49,_0x49f2a1){_0x158b49[_0x1a4e('0x295')]=_0x49f2a1;}||function(_0x158b49,_0x49f2a1){for(var _0x11377d in _0x49f2a1)_0x49f2a1['hasOwnProperty'](_0x11377d)&&(_0x158b49[_0x11377d]=_0x49f2a1[_0x11377d]);})(_0x158b49,_0x49f2a1);},function(_0x158b49,_0x49f2a1){function _0x11377d(){this['constructor']=_0x158b49;}_0x5a2df8(_0x158b49,_0x49f2a1),_0x158b49['prototype']=null===_0x49f2a1?Object[_0x1a4e('0x7')](_0x49f2a1):(_0x11377d[_0x1a4e('0xa')]=_0x49f2a1[_0x1a4e('0xa')],new _0x11377d());}),_0x384316=function(_0x158b49){var _0x49f2a1=_0x1a4e('0x68')==typeof Symbol&&_0x158b49[Symbol[_0x1a4e('0x335')]],_0x11377d=0x0;return _0x49f2a1?_0x49f2a1[_0x1a4e('0x1')](_0x158b49):{'next':function(){return _0x158b49&&_0x11377d>=_0x158b49[_0x1a4e('0x1e')]&&(_0x158b49=void 0x0),{'value':_0x158b49&&_0x158b49[_0x11377d++],'done':!_0x158b49};}};},_0x2cc592=function(_0x158b49){function _0x49f2a1(_0x49f2a1){var _0x11377d=_0x158b49[_0x1a4e('0x1')](this)||this;return _0x11377d[_0x1a4e('0x38fa')]=_0x49f2a1,_0x11377d[_0x1a4e('0x4751')]=[],_0x11377d;}return _0x106551(_0x49f2a1,_0x158b49),_0x49f2a1[_0x1a4e('0xa')]['add']=function(_0x49f2a1){return _0x158b49[_0x1a4e('0xa')]['add'][_0x1a4e('0x1')](this,_0x49f2a1),_0x49f2a1[_0x1a4e('0x3acd')](this),this[_0x1a4e('0x3ad3')](_0x1a4e('0x177'),_0x49f2a1),_0x49f2a1;},_0x49f2a1[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x49f2a1){var _0x11377d=_0x49f2a1 instanceof String?_0x49f2a1:_0x49f2a1['id'],_0x5a2df8=_0x158b49[_0x1a4e('0xa')][_0x1a4e('0x82')][_0x1a4e('0x1')](this,_0x11377d);if(void 0x0!==_0x5a2df8)return _0x5a2df8[_0x1a4e('0x3acf')](),this[_0x1a4e('0x3ad3')](_0x1a4e('0x82'),_0x5a2df8),_0x5a2df8;},_0x49f2a1[_0x1a4e('0xa')][_0x1a4e('0x3acc')]=function(_0x158b49){var _0x49f2a1,_0x11377d;if(_0x158b49)try{for(var _0x5a2df8=_0x384316(_0x158b49),_0x51ee14=_0x5a2df8['next']();!_0x51ee14[_0x1a4e('0x3c2')];_0x51ee14=_0x5a2df8['next']()){var _0x106551=_0x51ee14['value'];new(window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x3adf')]('vectorItem',_0x106551[_0x1a4e('0x40')]))(_0x106551)['initItem'](this);}}catch(_0x524a8b){_0x49f2a1={'error':_0x524a8b};}finally{try{_0x51ee14&&!_0x51ee14[_0x1a4e('0x3c2')]&&(_0x11377d=_0x5a2df8[_0x1a4e('0xe40')])&&_0x11377d[_0x1a4e('0x1')](_0x5a2df8);}finally{if(_0x49f2a1)throw _0x49f2a1[_0x1a4e('0x873')];}}},_0x49f2a1['prototype'][_0x1a4e('0x3ad5')]=function(){return this['_itemList'];},_0x49f2a1[_0x1a4e('0xa')]['getRenderObject']=function(){return this[_0x1a4e('0x38fa')]['dataSources'];},_0x49f2a1[_0x1a4e('0xa')][_0x1a4e('0x4b1a')]=function(_0x158b49){var _0x49f2a1=this[_0x1a4e('0x4751')][_0x1a4e('0xd9')](function(_0x49f2a1){if(_0x49f2a1['id']===_0x158b49)return!0x0;});if(_0x49f2a1[_0x1a4e('0x1e')])return _0x49f2a1[0x0];},_0x49f2a1;}(_0x51ee14[_0x1a4e('0x4720')]);},'./src/LocalScene.ts':function(_0x11e110,_0x8fe133,_0xef9e8d){'use strict';_0xef9e8d['r'](_0x8fe133);var _0x3862c8=_0xef9e8d('./src/LocalScene/LocalSceneManager.ts'),_0xb21bc8=_0xef9e8d(_0x1a4e('0x4ecc')),_0x3cd3e2=_0xef9e8d(_0x1a4e('0x4ecd')),_0x1042b8=_0xef9e8d(_0x1a4e('0x4ece')),_0x2cb0ff=_0xef9e8d(_0x1a4e('0x4ecf')),_0x44252c=_0xef9e8d(_0x1a4e('0x4ed0')),_0x33b587=_0xef9e8d('./src/LocalScene/ElementLayer/DiffusionCircle.ts'),_0x422291=_0xef9e8d(_0x1a4e('0x4ed1')),_0x3cd150=_0xef9e8d(_0x1a4e('0x4ed2')),_0x284a66=_0xef9e8d('./src/LocalScene/ElementLayer/Sprite.ts'),_0x4a602a=_0xef9e8d(_0x1a4e('0x4ed3')),_0x19922c=_0xef9e8d(_0x1a4e('0x4ed4')),_0x54794f=_0xef9e8d(_0x1a4e('0x4ed5')),_0x11ddfb={'LocalSceneManager':_0x3862c8[_0x1a4e('0x4ed6')],'Building':_0xb21bc8[_0x1a4e('0x4ed7')],'BuildingOpt':_0xb21bc8[_0x1a4e('0x4ed8')],'FlyLine':_0x3cd3e2['FlyLine'],'FlyLineOpt':_0x3cd3e2[_0x1a4e('0x4ed9')],'Grass':_0x1042b8[_0x1a4e('0x4eda')],'GrassOpt':_0x1042b8['GrassOpt'],'Lake':_0x2cb0ff[_0x1a4e('0x4edb')],'LakeOpt':_0x2cb0ff[_0x1a4e('0x4edc')],'ArcFlyLine':_0x44252c['ArcFlyLine'],'ArcFlyLineOpt':_0x44252c['ArcFlyLineOpt'],'DiffusionCircle':_0x33b587[_0x1a4e('0x4edd')],'DiffusionCircleOpt':_0x33b587[_0x1a4e('0x4ede')],'Panel':_0x422291[_0x1a4e('0x4edf')],'PanelOpt':_0x422291[_0x1a4e('0x4ee0')],'Instructions':_0x3cd150['Instructions'],'InstructionsOpt':_0x3cd150[_0x1a4e('0x4ee1')],'Sprite':_0x284a66[_0x1a4e('0x4ee2')],'SpriteOpt':_0x284a66['SpriteOpt'],'POI':_0x4a602a[_0x1a4e('0x4ee3')],'POIOpt':_0x4a602a[_0x1a4e('0x4ee4')],'Cone':_0x19922c[_0x1a4e('0x4ee5')],'ConeOpt':_0x19922c[_0x1a4e('0x4ee6')],'Particles':_0x54794f[_0x1a4e('0x4ee7')],'ParticlesOpt':_0x54794f[_0x1a4e('0x4ee8')]};window['GV']||(window['GV']={}),Object[_0x1a4e('0x200')](window['GV'],_0x11ddfb),console[_0x1a4e('0x58')](_0x1a4e('0x4ee9'));},'./src/LocalScene/BaseDataLayer/Building.ts':function(_0x3f995f,_0x398b5f,_0x31b180){'use strict';_0x31b180['r'](_0x398b5f),_0x31b180['d'](_0x398b5f,_0x1a4e('0x4ed8'),function(){return _0xa13286;}),_0x31b180['d'](_0x398b5f,_0x1a4e('0x4ed7'),function(){return _0x51a30a;});var _0x23a8c1=_0x31b180('./src/LocalScene/Utils/Property.ts'),_0x28d56d=function(_0x3f995f,_0x398b5f,_0x31b180,_0x23a8c1){var _0x28d56d,_0x215552=arguments[_0x1a4e('0x1e')],_0xa13286=_0x215552<0x3?_0x398b5f:null===_0x23a8c1?_0x23a8c1=Object['getOwnPropertyDescriptor'](_0x398b5f,_0x31b180):_0x23a8c1;if(_0x1a4e('0x85')==typeof Reflect&&'function'==typeof Reflect[_0x1a4e('0x1667')])_0xa13286=Reflect[_0x1a4e('0x1667')](_0x3f995f,_0x398b5f,_0x31b180,_0x23a8c1);else for(var _0x51a30a=_0x3f995f['length']-0x1;_0x51a30a>=0x0;_0x51a30a--)(_0x28d56d=_0x3f995f[_0x51a30a])&&(_0xa13286=(_0x215552<0x3?_0x28d56d(_0xa13286):_0x215552>0x3?_0x28d56d(_0x398b5f,_0x31b180,_0xa13286):_0x28d56d(_0x398b5f,_0x31b180))||_0xa13286);return _0x215552>0x3&&_0xa13286&&Object[_0x1a4e('0x2')](_0x398b5f,_0x31b180,_0xa13286),_0xa13286;},_0x215552=function(_0x3f995f,_0x398b5f){if(_0x1a4e('0x85')==typeof Reflect&&_0x1a4e('0x68')==typeof Reflect['metadata'])return Reflect[_0x1a4e('0x1668')](_0x3f995f,_0x398b5f);},_0xa13286=function(){this['url']='';},_0x51a30a=function(){function _0x3f995f(_0x3f995f){for(var _0x398b5f in this['id']=THREE['Math'][_0x1a4e('0x4eea')](),this[_0x1a4e('0x40')]=_0x1a4e('0x4ed7'),this[_0x1a4e('0x4eeb')]=new _0xa13286(),_0x3f995f)this[_0x1a4e('0x4eeb')][_0x398b5f]=_0x3f995f[_0x398b5f],this[_0x398b5f]=_0x3f995f[_0x398b5f];}return _0x28d56d([_0x23a8c1['Property'],_0x215552(_0x1a4e('0x4eec'),String)],_0x3f995f[_0x1a4e('0xa')],_0x1a4e('0x15cf'),void 0x0),_0x28d56d([_0x23a8c1[_0x1a4e('0x1963')],_0x215552('design:type',String)],_0x3f995f[_0x1a4e('0xa')],_0x1a4e('0x4eed'),void 0x0),_0x28d56d([_0x23a8c1[_0x1a4e('0x1963')],_0x215552(_0x1a4e('0x4eec'),String)],_0x3f995f[_0x1a4e('0xa')],_0x1a4e('0x4eee'),void 0x0),_0x3f995f;}();},'./src/LocalScene/BaseDataLayer/FlyLine.ts':function(_0x9fa1b4,_0x3190d1,_0x1da0df){'use strict';_0x1da0df['r'](_0x3190d1),_0x1da0df['d'](_0x3190d1,_0x1a4e('0x4ed9'),function(){return _0x5cd880;}),_0x1da0df['d'](_0x3190d1,_0x1a4e('0x4eef'),function(){return _0x4b069b;});var _0x445aad=_0x1da0df(_0x1a4e('0x4ef0')),_0x2732ac=function(_0x9fa1b4,_0x3190d1,_0x1da0df,_0x445aad){var _0x2732ac,_0x4abf9d=arguments[_0x1a4e('0x1e')],_0x5cd880=_0x4abf9d<0x3?_0x3190d1:null===_0x445aad?_0x445aad=Object[_0x1a4e('0x12fc')](_0x3190d1,_0x1da0df):_0x445aad;if(_0x1a4e('0x85')==typeof Reflect&&_0x1a4e('0x68')==typeof Reflect[_0x1a4e('0x1667')])_0x5cd880=Reflect[_0x1a4e('0x1667')](_0x9fa1b4,_0x3190d1,_0x1da0df,_0x445aad);else for(var _0x4b069b=_0x9fa1b4['length']-0x1;_0x4b069b>=0x0;_0x4b069b--)(_0x2732ac=_0x9fa1b4[_0x4b069b])&&(_0x5cd880=(_0x4abf9d<0x3?_0x2732ac(_0x5cd880):_0x4abf9d>0x3?_0x2732ac(_0x3190d1,_0x1da0df,_0x5cd880):_0x2732ac(_0x3190d1,_0x1da0df))||_0x5cd880);return _0x4abf9d>0x3&&_0x5cd880&&Object[_0x1a4e('0x2')](_0x3190d1,_0x1da0df,_0x5cd880),_0x5cd880;},_0x4abf9d=function(_0x9fa1b4,_0x3190d1){if(_0x1a4e('0x85')==typeof Reflect&&_0x1a4e('0x68')==typeof Reflect['metadata'])return Reflect['metadata'](_0x9fa1b4,_0x3190d1);},_0x5cd880=function(){this[_0x1a4e('0x15cf')]='';},_0x4b069b=function(){function _0x9fa1b4(_0x9fa1b4){for(var _0x3190d1 in this['id']=THREE[_0x1a4e('0x1020')][_0x1a4e('0x4eea')](),this[_0x1a4e('0x40')]=_0x1a4e('0x4eef'),this['flyLineOpt']=new _0x5cd880(),_0x9fa1b4)this[_0x1a4e('0x4ef1')][_0x3190d1]=_0x9fa1b4[_0x3190d1],this[_0x3190d1]=_0x9fa1b4[_0x3190d1];}return _0x2732ac([_0x445aad[_0x1a4e('0x1963')],_0x4abf9d(_0x1a4e('0x4eec'),String)],_0x9fa1b4[_0x1a4e('0xa')],_0x1a4e('0x15cf'),void 0x0),_0x2732ac([_0x445aad[_0x1a4e('0x1963')],_0x4abf9d('design:type',String)],_0x9fa1b4[_0x1a4e('0xa')],'onLoad',void 0x0),_0x2732ac([_0x445aad['Property'],_0x4abf9d(_0x1a4e('0x4eec'),String)],_0x9fa1b4[_0x1a4e('0xa')],_0x1a4e('0x4eee'),void 0x0),_0x9fa1b4;}();},'./src/LocalScene/BaseDataLayer/Grass.ts':function(_0x5a3898,_0x16a9a7,_0x131452){'use strict';_0x131452['r'](_0x16a9a7),_0x131452['d'](_0x16a9a7,_0x1a4e('0x4ef2'),function(){return _0x5295aa;}),_0x131452['d'](_0x16a9a7,_0x1a4e('0x4eda'),function(){return _0xbd66bd;});var _0x5295aa=function(){this[_0x1a4e('0x15cf')]='';},_0xbd66bd=function(_0x5a3898){for(var _0x16a9a7 in this['id']=THREE['Math'][_0x1a4e('0x4eea')](),this[_0x1a4e('0x40')]=_0x1a4e('0x4eda'),this[_0x1a4e('0x15cf')]='',this[_0x1a4e('0x4ef3')]=new _0x5295aa(),_0x5a3898)this['grassOpt'][_0x16a9a7]=_0x5a3898[_0x16a9a7],this[_0x16a9a7]=_0x5a3898[_0x16a9a7];};},'./src/LocalScene/BaseDataLayer/Lake.ts':function(_0x5b1441,_0x2b8691,_0x2176e0){'use strict';_0x2176e0['r'](_0x2b8691),_0x2176e0['d'](_0x2b8691,_0x1a4e('0x4edc'),function(){return _0x4d5fa0;}),_0x2176e0['d'](_0x2b8691,_0x1a4e('0x4edb'),function(){return _0x1fdead;});var _0x4d5fa0=function(){},_0x1fdead=function(_0x5b1441){for(var _0x2b8691 in this['id']=THREE[_0x1a4e('0x1020')][_0x1a4e('0x4eea')](),this['type']='Lake',this[_0x1a4e('0x4ef4')]=new _0x4d5fa0(),_0x5b1441)this[_0x1a4e('0x4ef4')][_0x2b8691]=_0x5b1441[_0x2b8691],this[_0x2b8691]=_0x5b1441[_0x2b8691];};},'./src/LocalScene/ElementLayer/ArcFlyLine.ts':function(_0x3c1fdb,_0x3fc67e,_0x26755f){'use strict';_0x26755f['r'](_0x3fc67e),_0x26755f['d'](_0x3fc67e,_0x1a4e('0x4ef5'),function(){return _0x4f9eae;}),_0x26755f['d'](_0x3fc67e,'ArcFlyLine',function(){return _0x1736d2;});var _0x4f9eae=function(){this[_0x1a4e('0x152')]=0x5dc;},_0x1736d2=function(_0x3c1fdb){for(var _0x3fc67e in this['id']=THREE[_0x1a4e('0x1020')][_0x1a4e('0x4eea')](),this[_0x1a4e('0x40')]='ArcFlyLine',this[_0x1a4e('0x152')]=0x5dc,this[_0x1a4e('0x4ef6')]=new _0x4f9eae(),_0x3c1fdb)this[_0x1a4e('0x4ef6')][_0x3fc67e]=_0x3c1fdb[_0x3fc67e],this[_0x3fc67e]=_0x3c1fdb[_0x3fc67e];};},'./src/LocalScene/ElementLayer/Cone.ts':function(_0x14706b,_0x1cdb08,_0x530563){'use strict';_0x530563['r'](_0x1cdb08),_0x530563['d'](_0x1cdb08,'ConeOpt',function(){return _0x3d6230;}),_0x530563['d'](_0x1cdb08,'Cone',function(){return _0x34098a;});var _0x3d6230=function(){},_0x34098a=function(_0x14706b){for(var _0x1cdb08 in this['id']=THREE[_0x1a4e('0x1020')][_0x1a4e('0x4eea')](),this['type']='Cone',this[_0x1a4e('0x4ef7')]=new _0x3d6230(),_0x14706b)this[_0x1a4e('0x4ef7')][_0x1cdb08]=_0x14706b[_0x1cdb08],this[_0x1cdb08]=_0x14706b[_0x1cdb08];};},'./src/LocalScene/ElementLayer/DiffusionCircle.ts':function(_0xd1ab59,_0x5dc3e0,_0x4fb5d7){'use strict';_0x4fb5d7['r'](_0x5dc3e0),_0x4fb5d7['d'](_0x5dc3e0,_0x1a4e('0x4ede'),function(){return _0x14a62;}),_0x4fb5d7['d'](_0x5dc3e0,_0x1a4e('0x4edd'),function(){return _0xd16537;});var _0x14a62=function(){this[_0x1a4e('0x3b5d')]=0x3e8;},_0xd16537=function(_0xd1ab59){for(var _0x5dc3e0 in this['id']=THREE[_0x1a4e('0x1020')][_0x1a4e('0x4eea')](),this[_0x1a4e('0x40')]=_0x1a4e('0x4edd'),this['radius']=0x3e8,this[_0x1a4e('0x4ef8')]=new _0x14a62(),_0xd1ab59)this[_0x1a4e('0x4ef8')][_0x5dc3e0]=_0xd1ab59[_0x5dc3e0],this[_0x5dc3e0]=_0xd1ab59[_0x5dc3e0];};},'./src/LocalScene/ElementLayer/Instructions.ts':function(_0x1c7307,_0x8aa47e,_0x21eb86){'use strict';_0x21eb86['r'](_0x8aa47e),_0x21eb86['d'](_0x8aa47e,_0x1a4e('0x4ee1'),function(){return _0x658d17;}),_0x21eb86['d'](_0x8aa47e,_0x1a4e('0x4ef9'),function(){return _0x1e81d5;});var _0x658d17=function(){this[_0x1a4e('0x152')]=0x12c;},_0x1e81d5=function(_0x1c7307){for(var _0x8aa47e in this['id']=THREE[_0x1a4e('0x1020')][_0x1a4e('0x4eea')](),this[_0x1a4e('0x40')]=_0x1a4e('0x4ef9'),this['height']=0x12c,this[_0x1a4e('0x4efa')]=new _0x658d17(),_0x1c7307)this[_0x1a4e('0x4efa')][_0x8aa47e]=_0x1c7307[_0x8aa47e],this[_0x8aa47e]=_0x1c7307[_0x8aa47e];};},'./src/LocalScene/ElementLayer/POI.ts':function(_0x572775,_0xfbcaa6,_0x1cb7cc){'use strict';_0x1cb7cc['r'](_0xfbcaa6),_0x1cb7cc['d'](_0xfbcaa6,_0x1a4e('0x4ee4'),function(){return _0x28cf50;}),_0x1cb7cc['d'](_0xfbcaa6,_0x1a4e('0x4ee3'),function(){return _0xf2df09;});var _0x28cf50=function(){this[_0x1a4e('0x220')]=[0x40,0x40],this[_0x1a4e('0x4402')]=[0.5,0x0];},_0xf2df09=function(_0x572775){for(var _0xfbcaa6 in this['id']=THREE['Math'][_0x1a4e('0x4eea')](),this[_0x1a4e('0x40')]=_0x1a4e('0x4ee3'),this[_0x1a4e('0x220')]=[0x40,0x40],this[_0x1a4e('0x4402')]=[0.5,0x0],this[_0x1a4e('0x4efb')]=new _0x28cf50(),_0x572775)this[_0x1a4e('0x4efb')][_0xfbcaa6]=_0x572775[_0xfbcaa6],this[_0xfbcaa6]=_0x572775[_0xfbcaa6];};},'./src/LocalScene/ElementLayer/Panel.ts':function(_0x364921,_0x241fda,_0x30db00){'use strict';_0x30db00['r'](_0x241fda),_0x30db00['d'](_0x241fda,_0x1a4e('0x4ee0'),function(){return _0x1f6dfe;}),_0x30db00['d'](_0x241fda,_0x1a4e('0x4edf'),function(){return _0x4d1515;});var _0x1f6dfe=function(){this[_0x1a4e('0x4efc')]=_0x1a4e('0x4efd'),this['height']=0x12c,this['anchor']=[0.5,0.5];},_0x4d1515=function(_0x364921){for(var _0x241fda in this[_0x1a4e('0x4efc')]=_0x1a4e('0x4efd'),this['id']=THREE[_0x1a4e('0x1020')]['generateUUID'](),this[_0x1a4e('0x40')]=_0x1a4e('0x4edf'),this[_0x1a4e('0x152')]=0x12c,this[_0x1a4e('0x4402')]=[0.5,0x1],this[_0x1a4e('0x4efe')]=new _0x1f6dfe(),_0x364921)this[_0x1a4e('0x4efe')][_0x241fda]=_0x364921[_0x241fda],this[_0x241fda]=_0x364921[_0x241fda];};},'./src/LocalScene/ElementLayer/Particles.ts':function(_0x2e30a9,_0x16ebcc,_0x59849d){'use strict';_0x59849d['r'](_0x16ebcc),_0x59849d['d'](_0x16ebcc,_0x1a4e('0x4ee8'),function(){return _0x5199f9;}),_0x59849d['d'](_0x16ebcc,_0x1a4e('0x4ee7'),function(){return _0x1578c0;});var _0x5199f9=function(){this[_0x1a4e('0x152')]=0x2bc;},_0x1578c0=function(_0x2e30a9){for(var _0x16ebcc in this['id']=THREE['Math'][_0x1a4e('0x4eea')](),this[_0x1a4e('0x40')]=_0x1a4e('0x4ee7'),this[_0x1a4e('0x152')]=0x2bc,this['particlesOpt']=new _0x5199f9(),_0x2e30a9)this['particlesOpt'][_0x16ebcc]=_0x2e30a9[_0x16ebcc],this[_0x16ebcc]=_0x2e30a9[_0x16ebcc];};},'./src/LocalScene/ElementLayer/Sprite.ts':function(_0x5cd456,_0x134b2a,_0x4b27c2){'use strict';_0x4b27c2['r'](_0x134b2a),_0x4b27c2['d'](_0x134b2a,_0x1a4e('0x4eff'),function(){return _0x2202af;}),_0x4b27c2['d'](_0x134b2a,_0x1a4e('0x4ee2'),function(){return _0x13f6fe;});var _0x2202af=function(){this[_0x1a4e('0x220')]=0x64;},_0x13f6fe=function(_0x5cd456){for(var _0x134b2a in this['id']=THREE['Math'][_0x1a4e('0x4eea')](),this['type']=_0x1a4e('0x4ee2'),this['size']=0x64,this[_0x1a4e('0x4efb')]=new _0x2202af(),_0x5cd456)this[_0x1a4e('0x4efb')][_0x134b2a]=_0x5cd456[_0x134b2a],this[_0x134b2a]=_0x5cd456[_0x134b2a];};},'./src/LocalScene/LocalSceneManager.ts':function(_0x1320ef,_0x1b2c54,_0x143b2b){'use strict';_0x143b2b['r'](_0x1b2c54),_0x143b2b['d'](_0x1b2c54,_0x1a4e('0x4ed6'),function(){return _0x3a017d;});var _0x2d9117,_0x13f3a5=_0x143b2b(_0x1a4e('0x4f00')),_0xa07978=_0x143b2b(_0x1a4e('0x4f01')),_0x324db6=(_0x2d9117=function(_0x1320ef,_0x1b2c54){return(_0x2d9117=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x1320ef,_0x1b2c54){_0x1320ef[_0x1a4e('0x295')]=_0x1b2c54;}||function(_0x1320ef,_0x1b2c54){for(var _0x143b2b in _0x1b2c54)_0x1b2c54[_0x1a4e('0xb')](_0x143b2b)&&(_0x1320ef[_0x143b2b]=_0x1b2c54[_0x143b2b]);})(_0x1320ef,_0x1b2c54);},function(_0x1320ef,_0x1b2c54){function _0x143b2b(){this[_0x1a4e('0x10')]=_0x1320ef;}_0x2d9117(_0x1320ef,_0x1b2c54),_0x1320ef[_0x1a4e('0xa')]=null===_0x1b2c54?Object['create'](_0x1b2c54):(_0x143b2b['prototype']=_0x1b2c54[_0x1a4e('0xa')],new _0x143b2b());}),_0x3a017d=function(_0x1320ef){function _0x1b2c54(_0x1b2c54,_0x143b2b,_0x2d9117,_0x324db6){void 0x0===_0x143b2b&&(_0x143b2b=!0x1),void 0x0===_0x2d9117&&(_0x2d9117=!0x1),void 0x0===_0x324db6&&(_0x324db6=void 0x0);var _0x3a017d=_0x1320ef['call'](this)||this;_0x3a017d[_0x1a4e('0x45f8')]=function(){requestAnimationFrame(_0x3a017d[_0x1a4e('0x45f8')]),_0x3a017d['render']();},_0x3a017d[_0x1a4e('0x38d5')]=_0x1b2c54;var _0x17d199={'bloomParams':_0x324db6,'bloomDebug':_0x143b2b,'stats':_0x2d9117};return _0x3a017d[_0x1a4e('0x4f02')]=new _0x13f3a5[(_0x1a4e('0x4f03'))](_0xa07978[_0x1a4e('0x4f04')][_0x1a4e('0x4f05')](_0x1b2c54),_0x1b2c54,_0x17d199),window[_0x1a4e('0x4f03')]=_0x3a017d[_0x1a4e('0x4f02')],requestAnimationFrame(_0x3a017d[_0x1a4e('0x45f8')]),_0x3a017d;}return _0x324db6(_0x1b2c54,_0x1320ef),_0x1b2c54[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x1320ef){this[_0x1a4e('0x4f02')][_0x1a4e('0x177')](_0x1320ef);},_0x1b2c54[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x1320ef){var _0x1b2c54=_0x1320ef['id'],_0x143b2b=_0x1320ef[_0x1a4e('0x40')];this[_0x1a4e('0x4f02')]['remove'](_0x143b2b,_0x1b2c54);},_0x1b2c54[_0x1a4e('0xa')][_0x1a4e('0x12d9')]=function(){this[_0x1a4e('0x38d5')][_0x1a4e('0x12d9')](),this[_0x1a4e('0x1337')]({'type':_0x1a4e('0x4f06'),'message':{'msg':_0x1a4e('0x4f07')}}),this[_0x1a4e('0x4f02')][_0x1a4e('0x937')](),this[_0x1a4e('0x1337')]({'type':_0x1a4e('0x4f08'),'message':{'msg':_0x1a4e('0x3d9c')}});},_0x1b2c54;}(THREE[_0x1a4e('0x16aa')]);},'./src/LocalScene/Utils/CesiumThreeUtil.ts':function(_0x35eb4b,_0xdf2714,_0x2a9894){'use strict';_0x2a9894['r'](_0xdf2714),_0x2a9894['d'](_0xdf2714,_0x1a4e('0x4f04'),function(){return _0x9ad659;});var _0x9ad659=function(){function _0x35eb4b(){}return _0x35eb4b[_0x1a4e('0x4f05')]=function(_0x35eb4b){var _0xdf2714=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));return _0xdf2714['id']='ThreeContainer',_0xdf2714['style'][_0x1a4e('0x3553')]='absolute',_0xdf2714['style'][_0x1a4e('0x5e')]='0',_0xdf2714[_0x1a4e('0x375c')]['left']='0',_0xdf2714[_0x1a4e('0x375c')][_0x1a4e('0x152')]=_0x1a4e('0x3b27'),_0xdf2714[_0x1a4e('0x375c')]['width']=_0x1a4e('0x3b27'),_0xdf2714[_0x1a4e('0x375c')][_0x1a4e('0x43a5')]='0',_0xdf2714[_0x1a4e('0x375c')][_0x1a4e('0x4697')]='hidden',_0xdf2714[_0x1a4e('0x375c')][_0x1a4e('0x1272')]='0',_0xdf2714[_0x1a4e('0x375c')][_0x1a4e('0x4290')]=_0x1a4e('0x4f09'),_0xdf2714[_0x1a4e('0x375c')]['pointerEvents']=_0x1a4e('0x60'),_0x35eb4b['_container'][_0x1a4e('0x12c4')](_0xdf2714),_0xdf2714;},_0x35eb4b[_0x1a4e('0x4f0a')]=function(){},_0x35eb4b;}();},'./src/LocalScene/Utils/Property.ts':function(_0x357520,_0x53d50e,_0x3ef1ad){'use strict';function _0x41ccf8(_0x357520,_0x53d50e){var _0x3ef1ad=_0x357520[_0x53d50e];delete _0x357520[_0x53d50e]&&Object[_0x1a4e('0x2')](_0x357520,_0x53d50e,{'get':function(){return _0x3ef1ad;},'set':function(_0x357520){_0x3ef1ad=_0x357520;window[_0x1a4e('0x4f03')];},'enumerable':!0x0,'configurable':!0x0});}_0x3ef1ad['r'](_0x53d50e),_0x3ef1ad['d'](_0x53d50e,_0x1a4e('0x1963'),function(){return _0x41ccf8;});},'./src/LocalScene/libs/ParseDataToGeometry.js':function(_0x18ca8f,_0xc5f376,_0x4c564d){'use strict';Object[_0x1a4e('0x2')](_0xc5f376,'__esModule',{'value':!0x0}),_0xc5f376[_0x1a4e('0x4f0b')]=_0xc5f376[_0x1a4e('0x4f0c')]=void 0x0;var _0x3a0c26=_0x4c564d(_0x1a4e('0x3999')),_0x12661c=THREE['ParseDataToGeometry']=function(_0x18ca8f,_0xc5f376){_0x18ca8f||console['error'](_0x1a4e('0x4f0d')),this['gui']=null,this[_0x1a4e('0x4f0e')]=_0x18ca8f,this[_0x1a4e('0x4f0f')]=_0xc5f376,this['particleEngine']=null,this[_0x1a4e('0x4f10')]=[],this[_0x1a4e('0x4f11')]=[],this['grassGroup']=new THREE[(_0x1a4e('0x4f12'))](),this[_0x1a4e('0x4f13')]=new THREE['Group'](),this['spritesGroup']=[],this[_0x1a4e('0x4f14')]=new THREE['Group'](),this['arcFlyLinesGroup']=new THREE[(_0x1a4e('0x4f12'))](),this[_0x1a4e('0x4f15')]=new THREE[(_0x1a4e('0x4f12'))](),this[_0x1a4e('0x4f16')]=new THREE[(_0x1a4e('0x4f12'))](),this[_0x1a4e('0x4f17')]=[],this[_0x1a4e('0x4f0e')][_0x1a4e('0x177')](this['grassGroup']),this[_0x1a4e('0x4f0e')][_0x1a4e('0x177')](this[_0x1a4e('0x4f13')]),this[_0x1a4e('0x4f0e')][_0x1a4e('0x177')](this[_0x1a4e('0x4f14')]),this[_0x1a4e('0x4f0e')][_0x1a4e('0x177')](this[_0x1a4e('0x4f18')]),this[_0x1a4e('0x4f0e')][_0x1a4e('0x177')](this['diffusionCirclesGroup']),this[_0x1a4e('0x4f0e')][_0x1a4e('0x177')](this[_0x1a4e('0x4f16')]);};_0x12661c[_0x1a4e('0xa')]=Object[_0x1a4e('0x200')](_0x12661c['prototype'],{'constructor':_0x12661c,'uvgenerator':function(_0x18ca8f,_0xc5f376,_0x4c564d,_0x3a0c26,_0x12661c){null===_0x18ca8f['boundingBox']&&(_0x18ca8f[_0x1a4e('0x4f19')]=new THREE[(_0x1a4e('0x4f1a'))]()),_0x18ca8f['boundingBox'][_0x1a4e('0x4f1b')](_0x4c564d);var _0x4f06ed=_0x18ca8f['boundingBox'][_0x1a4e('0x74')]['x'],_0x2da89c=_0x18ca8f[_0x1a4e('0x4f19')][_0x1a4e('0x6c')]['x'],_0xc815c2=_0x18ca8f[_0x1a4e('0x4f19')][_0x1a4e('0x74')]['y'],_0x27dc24=_0x18ca8f['boundingBox']['max']['y'],_0x553798=_0x3a0c26[0x0],_0x58b7ee=_0x3a0c26[0x1],_0x147011=_0x12661c[0x0],_0x5cb771=_0x12661c[0x1],_0x51c27c=function(_0x18ca8f,_0xc5f376){return Math[_0x1a4e('0x91')]((_0x18ca8f[0x0]-_0xc5f376[0x0])*(_0x18ca8f[0x0]-_0xc5f376[0x0])+(_0x18ca8f[0x1]-_0xc5f376[0x1])*(_0x18ca8f[0x1]-_0xc5f376[0x1]));};return{'generateTopUV':function(_0xc5f376,_0x4c564d,_0x3a0c26,_0x12661c,_0x553798){var _0x58b7ee=(_0x4c564d[0x3*_0x3a0c26]-_0x4f06ed)/(_0x2da89c-_0x4f06ed),_0x147011=0x1-(_0x4c564d[0x3*_0x3a0c26+0x1]-_0xc815c2)/(_0x27dc24-_0xc815c2),_0x5cb771=(_0x4c564d[0x3*_0x12661c]-_0x4f06ed)/(_0x2da89c-_0x4f06ed),_0x51c27c=0x1-(_0x4c564d[0x3*_0x12661c+0x1]-_0xc815c2)/(_0x27dc24-_0xc815c2),_0x2d51a2=(_0x4c564d[0x3*_0x553798]-_0x4f06ed)/(_0x2da89c-_0x4f06ed),_0x39538b=0x1-(_0x4c564d[0x3*_0x553798+0x1]-_0xc815c2)/(_0x27dc24-_0xc815c2),_0x1e4205=[new THREE[(_0x1a4e('0x4f1c'))](_0x58b7ee,_0x147011),new THREE[(_0x1a4e('0x4f1c'))](_0x5cb771,_0x51c27c),new THREE[(_0x1a4e('0x4f1c'))](_0x2d51a2,_0x39538b)];return _0x18ca8f['topUV'][_0x1a4e('0x46')]['call'](_0x18ca8f[_0x1a4e('0x4f1d')],_0x1e4205[0x0]['x'],_0x1e4205[0x0]['y'],_0x1e4205[0x1]['x'],_0x1e4205[0x1]['y'],_0x1e4205[0x2]['x'],_0x1e4205[0x2]['y']),[new THREE[(_0x1a4e('0x4f1c'))](0.2,0.2),new THREE[(_0x1a4e('0x4f1c'))](0.2,0.2),new THREE[(_0x1a4e('0x4f1c'))](0.2,0.2)];},'generateSideWallUV':function(_0x4c564d,_0x3a0c26,_0x12661c,_0x4f06ed,_0x2da89c,_0xc815c2){var _0x27dc24=[_0x3a0c26[0x3*_0x12661c],_0x3a0c26[0x3*_0x12661c+0x1]],_0x1714da=[_0x3a0c26[0x3*_0x4f06ed],_0x3a0c26[0x3*_0x4f06ed+0x1]],_0x55ec79=_0x51c27c(_0x27dc24,_0x1714da)/_0x553798,_0x21c8bc=_0xc5f376/_0x58b7ee,_0x2ddce0=_0x51c27c(_0x27dc24,_0x1714da)/_0x147011,_0x39a90d=_0xc5f376/_0x5cb771;function _0x45e756(_0x18ca8f,_0xc5f376,_0x4c564d){var _0x3a0c26=[new THREE['Vector2'](0x0,0x0),new THREE[(_0x1a4e('0x4f1c'))](_0x18ca8f,0x0),new THREE['Vector2'](_0x18ca8f,_0xc5f376),new THREE[(_0x1a4e('0x4f1c'))](0x0,_0xc5f376)];_0x4c564d['push'][_0x1a4e('0x1')](_0x4c564d,_0x3a0c26[0x0]['x'],_0x3a0c26[0x0]['y'],_0x3a0c26[0x1]['x'],_0x3a0c26[0x1]['y'],_0x3a0c26[0x3]['x'],_0x3a0c26[0x3]['y']),_0x4c564d['push'][_0x1a4e('0x1')](_0x4c564d,_0x3a0c26[0x1]['x'],_0x3a0c26[0x1]['y'],_0x3a0c26[0x2]['x'],_0x3a0c26[0x2]['y'],_0x3a0c26[0x3]['x'],_0x3a0c26[0x3]['y']);}var _0xb1a027=[new THREE['Vector2'](0x0,0x0),new THREE[(_0x1a4e('0x4f1c'))](0x1,0x0),new THREE[(_0x1a4e('0x4f1c'))](0x1,0x1),new THREE[(_0x1a4e('0x4f1c'))](0x0,0x1)];return _0x45e756(-0x1,0x1,_0x18ca8f[_0x1a4e('0x4f1e')]),_0x45e756(-0x1,_0x21c8bc,_0x18ca8f[_0x1a4e('0x4f1f')]),_0x45e756(-_0x55ec79,0x1,_0x18ca8f[_0x1a4e('0x4f20')]),_0x45e756(-_0x55ec79,_0x21c8bc,_0x18ca8f[_0x1a4e('0x4f21')]),_0x45e756(-0x1,_0x39a90d,_0x18ca8f[_0x1a4e('0x4f22')]),_0x45e756(-_0x2ddce0,0x1,_0x18ca8f['sideUV6']),_0x45e756(-_0x2ddce0,_0x39a90d,_0x18ca8f[_0x1a4e('0x4f23')]),_0xb1a027;}};},'parseToGeometry':function(_0x18ca8f,_0xc5f376,_0x4c564d,_0x3a0c26){var _0x12661c=arguments['length']>0x4&&void 0x0!==arguments[0x4]?arguments[0x4]:Cesium,_0x838431=void 0x0,_0x3ce814=void 0x0,_0x5837b7=void 0x0,_0x56cb68=void 0x0;if(_0x1a4e('0x4f24')==_0xc5f376){(_0x838431=new THREE[(_0x1a4e('0x4f12'))]())[_0x1a4e('0x4f25')]={'id':_0x3a0c26},_0x5837b7=new THREE['Geometry']();var _0x562451=new THREE[(_0x1a4e('0x4f26'))](_0x5837b7,_0x4c564d);_0x562451[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x0),_0x838431[_0x1a4e('0x177')](_0x562451),this[_0x1a4e('0x4f0e')][_0x1a4e('0x177')](_0x838431),this['buildings'][_0x1a4e('0x46')](_0x838431);}else if(_0x1a4e('0x4f28')==_0xc5f376){(_0x3ce814=new THREE[(_0x1a4e('0x4f12'))]())[_0x1a4e('0x4f25')]={'id':_0x3a0c26},_0x56cb68=new THREE[(_0x1a4e('0x3abe'))]();var _0x1fbf3d=new THREE['Mesh'](_0x56cb68,_0x4c564d);_0x1fbf3d['layers']['set'](0x1),_0x3ce814[_0x1a4e('0x177')](_0x1fbf3d),this['threeScene'][_0x1a4e('0x177')](_0x3ce814),this['meshLines'][_0x1a4e('0x46')](_0x3ce814);}else console[_0x1a4e('0x873')](_0x1a4e('0x4f29'));for(var _0x4332d2=0x0;_0x4332d2<_0x18ca8f[_0x1a4e('0x4f2a')]['length'];_0x4332d2++){var _0x335032=_0x18ca8f[_0x1a4e('0x4f2a')][_0x4332d2][_0x1a4e('0x423f')];if(_0x335032[_0x1a4e('0x40')]===SHP[_0x1a4e('0x4f2b')]||_0x335032[_0x1a4e('0x40')]===SHP[_0x1a4e('0x4f2c')]){var _0x5a410f=_0x335032[_0x1a4e('0x120')][_0x1a4e('0x17d')],_0x4e502e=_0x335032[_0x1a4e('0x120')][_0x1a4e('0x280d')],_0x52fd90=[],_0x42dfc3=[];if(0x0!=_0x335032[_0x1a4e('0x120')][_0x1a4e('0x280d')][_0x1a4e('0x1e')]&&0x0!=_0x335032[_0x1a4e('0x120')]['points'][_0x1a4e('0x1e')]){for(var _0x102271=_0x12661c[_0x1a4e('0x393e')][_0x1a4e('0x38db')]((_0x335032[_0x1a4e('0x120')][_0x1a4e('0x70')]+_0x335032[_0x1a4e('0x120')][_0x1a4e('0x75')])/0x2,(_0x335032['content'][_0x1a4e('0x71')]+_0x335032['content']['maxY'])/0x2),_0x1d45d5=0x0;_0x1d45d5<_0x4e502e[_0x1a4e('0x1e')];_0x1d45d5++){_0x52fd90=[],_0x42dfc3=[];for(var _0x28c049=_0x4e502e[_0x1d45d5],_0x34dc93=_0x4e502e[_0x1d45d5+0x1]||_0x5a410f[_0x1a4e('0x1e')]/0x2;_0x28c049<_0x34dc93;_0x28c049++){var _0x4ee47a=_0x5a410f[0x2*_0x28c049],_0x4d7067=_0x5a410f[0x2*_0x28c049+0x1],_0x176dc2=_0x12661c[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x4ee47a,_0x4d7067),_0x5b0cee=_0x12661c[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x4ee47a,_0x4d7067,0x3e8);if(_0x1a4e('0x4f24')!=_0xc5f376){var _0x2fd842=new THREE[(_0x1a4e('0x3b89'))](_0x176dc2['x']-_0x102271['x'],_0x176dc2['y']-_0x102271['y'],_0x176dc2['z']-_0x102271['z']);_0x52fd90[_0x1a4e('0x46')](_0x2fd842);}else _0x52fd90[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x3b89'))](_0x176dc2['x']-_0x102271['x'],_0x176dc2['y']-_0x102271['y'],_0x176dc2['z']-_0x102271['z'])),_0x42dfc3['push'](new THREE[(_0x1a4e('0x3b89'))](_0x5b0cee['x']-_0x102271['x'],_0x5b0cee['y']-_0x102271['y'],_0x5b0cee['z']-_0x102271['z']));}if(_0x1a4e('0x4f24')==_0xc5f376){for(var _0x56105e=[],_0x5bea97=0x0;_0x5bea97<_0x52fd90[_0x1a4e('0x1e')];_0x5bea97++)_0x56105e['push'](new THREE[(_0x1a4e('0x4f1c'))](_0x52fd90[_0x5bea97]['x'],_0x52fd90[_0x5bea97]['y']));var _0x497ba1=0x78*Math[_0x1a4e('0x12e')](),_0x52e45e=new THREE['BufferGeometry']();_0x52e45e[_0x1a4e('0x4f1d')]=[],_0x52e45e[_0x1a4e('0x4f1e')]=[],_0x52e45e['sideUV2']=[],_0x52e45e['sideUV3']=[],_0x52e45e[_0x1a4e('0x4f21')]=[],_0x52e45e[_0x1a4e('0x4f22')]=[],_0x52e45e[_0x1a4e('0x4f2d')]=[],_0x52e45e[_0x1a4e('0x4f23')]=[];var _0x59d510=new THREE[(_0x1a4e('0x4f2e'))](_0x56105e),_0x4c289a=new THREE['ExtrudeGeometry'](_0x59d510,{'depth':_0x497ba1,'UVGenerator':this[_0x1a4e('0x4f2f')](_0x52e45e,_0x497ba1,_0x52fd90,[0x8,0x8],[0x1e,0x3c]),'bevelEnabled':!0x1,'uData':[_0x52fd90,_0x42dfc3,_0x497ba1]}),_0x408310=new THREE[(_0x1a4e('0x4f26'))](_0x4c289a);_0x408310[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x0);var _0x256dbf=[_0x335032[_0x1a4e('0x120')][_0x1a4e('0x70')],_0x335032[_0x1a4e('0x120')][_0x1a4e('0x71')]],_0x24535b=[_0x335032[_0x1a4e('0x120')][_0x1a4e('0x75')],_0x335032[_0x1a4e('0x120')][_0x1a4e('0x72')]],_0x504c0d=Cesium['Cartesian3'][_0x1a4e('0x38db')]((_0x256dbf[0x0]+_0x24535b[0x0])/0x2,(_0x256dbf[0x1]+_0x24535b[0x1])/0x2);_0x408310['position'][_0x1a4e('0xea')](_0x504c0d),_0x408310[_0x1a4e('0x4b27')](),_0x5837b7[_0x1a4e('0x41b')](_0x408310['geometry'],_0x408310[_0x1a4e('0x3c72')],0x0);}}if(_0x1a4e('0x4f28')==_0xc5f376){var _0x3ee479=new THREE['CatmullRomCurve3'](_0x52fd90),_0x569c11=_0x3ee479,_0x55eaec=new THREE[(_0x1a4e('0x4f30'))](_0x569c11,0x20,0x1,0x3,!0x1),_0x5538cf=new THREE[(_0x1a4e('0x4f26'))](_0x55eaec,_0x4c564d);_0x5538cf[_0x1a4e('0x3553')]['z']+=0x3a98,_0x5538cf['layers'][_0x1a4e('0x17a')](0x1);var _0x55cc40=[_0x335032['content'][_0x1a4e('0x70')],_0x335032[_0x1a4e('0x120')]['minY']],_0x2becf0=[_0x335032[_0x1a4e('0x120')][_0x1a4e('0x75')],_0x335032[_0x1a4e('0x120')][_0x1a4e('0x72')]];_0x102271=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')]((_0x55cc40[0x0]+_0x2becf0[0x0])/0x2,(_0x55cc40[0x1]+_0x2becf0[0x1])/0x2);_0x5538cf[_0x1a4e('0x3553')][_0x1a4e('0xea')](_0x102271),_0x5538cf[_0x1a4e('0x4b27')](),_0x56cb68[_0x1a4e('0x41b')](_0x5538cf[_0x1a4e('0x18')],_0x5538cf['matrix']);}}}}},'createMaterial':function(_0x18ca8f){if(_0x1a4e('0x4f24')==_0x18ca8f){var _0xc5f376=_0x3a0c26['Util'][_0x1a4e('0x39a5')](_0x1a4e('0x4f31')),_0x4c564d=new THREE[(_0x1a4e('0x4f32'))]()[_0x1a4e('0x7b')](_0xc5f376);_0x4c564d['wrapS']=_0x4c564d[_0x1a4e('0x3caa')]=THREE[_0x1a4e('0x4f33')];var _0x12661c=THREE[_0x1a4e('0x4f34')],_0x477c54=THREE[_0x1a4e('0x4f35')][_0x1a4e('0x240')](_0x12661c[_0x1a4e('0x3b74')]),_0x1540d4={'fragmentShader':_0x12661c[_0x1a4e('0x3b4a')],'vertexShader':_0x12661c[_0x1a4e('0x3b48')],'uniforms':_0x477c54},_0x4a2b64=new THREE['ShaderMaterial'](_0x1540d4);return _0x4a2b64[_0x1a4e('0x21')]=_0x4c564d,_0x4a2b64['bumpMap']=_0x4c564d,_0x4a2b64[_0x1a4e('0x21')][_0x1a4e('0x4f36')]=0x4,_0x4a2b64[_0x1a4e('0x4f37')][_0x1a4e('0x4f36')]=0x4,_0x477c54[_0x1a4e('0x21')][_0x1a4e('0x255')]=_0x4a2b64[_0x1a4e('0x21')],_0x477c54[_0x1a4e('0x4f37')][_0x1a4e('0x255')]=_0x4a2b64[_0x1a4e('0x4f37')],_0x477c54['parallaxScale'][_0x1a4e('0x255')]=-0.01,_0x4a2b64;}if(_0x1a4e('0x4f38')==_0x18ca8f){var _0x1685b1=new THREE[(_0x1a4e('0x3b89'))](0x0,0.5,0x1);return _0x1685b1[_0x1a4e('0x4f39')](1.5),new THREE[(_0x1a4e('0x4f3a'))]({'color':new THREE['Color'](_0x1685b1['x'],_0x1685b1['y'],_0x1685b1['z'])});}if(_0x1a4e('0x4f28')==_0x18ca8f){var _0x114a99=new THREE[(_0x1a4e('0x4f32'))](),_0x23f383=_0x3a0c26['Util'][_0x1a4e('0x39a5')](_0x1a4e('0x4f3b')),_0x4ce7fd={'time':{'value':0x0},'texture':{'value':_0x114a99[_0x1a4e('0x7b')](_0x23f383)}};return _0x4ce7fd[_0x1a4e('0x3ce9')][_0x1a4e('0x255')][_0x1a4e('0x3ca9')]=_0x4ce7fd[_0x1a4e('0x3ce9')]['value'][_0x1a4e('0x3caa')]=THREE['RepeatWrapping'],new THREE[(_0x1a4e('0x4f3c'))]({'uniforms':_0x4ce7fd,'vertexShader':_0x1a4e('0x4f3d'),'fragmentShader':_0x1a4e('0x4f3e')});}if(_0x1a4e('0x4f3f')==_0x18ca8f)return new THREE[(_0x1a4e('0x4f40'))]({'color':_0x1a4e('0x4271')});},'testBuild':function(_0x18ca8f){for(var _0xc5f376=[],_0x4c564d=0x0;_0x4c564d<_0x18ca8f[_0x1a4e('0x64')][_0x1a4e('0x1e')]-0x1;_0x4c564d++){var _0x3a0c26=_0x18ca8f[_0x1a4e('0x64')][_0x4c564d],_0x12661c=_0x18ca8f[_0x1a4e('0x64')][_0x4c564d+0x1];_0xc5f376[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x3a0c26,_0x12661c)),_0x4c564d++;}for(var _0x679bbd=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0xc5f376[0x0]['x'],_0xc5f376[0x0]['y']),_0x14855b=[],_0xfb5031=[],_0x412861=0x0;_0x412861<_0xc5f376[_0x1a4e('0x1e')];_0x412861++){var _0x58cb32=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0xc5f376[_0x412861]['x'],_0xc5f376[_0x412861]['y']),_0x17f8ff=new THREE[(_0x1a4e('0x3b89'))](_0x58cb32['x']-_0x679bbd['x'],_0x58cb32['y']-_0x679bbd['y'],_0x58cb32['z']-_0x679bbd['z']);_0x14855b[_0x1a4e('0x46')](_0x17f8ff);var _0x2600c5=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0xc5f376[_0x412861]['x'],_0xc5f376[_0x412861]['y'],0x64),_0x19a9fc=new THREE[(_0x1a4e('0x3b89'))](_0x2600c5['x']-_0x679bbd['x'],_0x2600c5['y']-_0x679bbd['y'],_0x2600c5['z']-_0x679bbd['z']);_0xfb5031[_0x1a4e('0x46')](_0x19a9fc);}for(var _0xc5224a=[],_0x1fa041=0x0;_0x1fa041<_0x14855b[_0x1a4e('0x1e')];_0x1fa041++)_0xc5224a[_0x1a4e('0x46')](new THREE['Vector2'](_0x14855b[_0x1fa041]['x'],_0x14855b[_0x1fa041]['y']));var _0x54e2ae=new THREE[(_0x1a4e('0x4f2e'))](_0xc5224a),_0xb1a887=new THREE[(_0x1a4e('0x3b8c'))]();_0xb1a887[_0x1a4e('0x4f1d')]=[],_0xb1a887[_0x1a4e('0x4f1e')]=[],_0xb1a887[_0x1a4e('0x4f1f')]=[],_0xb1a887[_0x1a4e('0x4f20')]=[],_0xb1a887[_0x1a4e('0x4f21')]=[],_0xb1a887[_0x1a4e('0x4f22')]=[],_0xb1a887['sideUV6']=[],_0xb1a887[_0x1a4e('0x4f23')]=[];var _0xc39385=new THREE['ExtrudeGeometry'](_0x54e2ae,{'depth':0x3e8,'UVGenerator':this['uvgenerator'](_0xb1a887,0x1f4,_0x14855b,[0x8,0x8],[0x1e,0x3c]),'bevelEnabled':!0x1,'uData':[_0x14855b,_0xfb5031,0x3e8]}),_0x5a09cc=new THREE['BufferGeometry']();_0x5a09cc[_0x1a4e('0x45d0')](_0xc39385);var _0x45b8e8=new THREE[(_0x1a4e('0x4f26'))](_0x5a09cc,[this[_0x1a4e('0x43e8')](_0x1a4e('0x4f24')),this[_0x1a4e('0x43e8')]('BUILDING_gradient')]);_0x45b8e8[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x0);var _0x3594b6=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0xc5f376[0x0]['x'],_0xc5f376[0x0]['y']);_0x45b8e8[_0x1a4e('0x3553')][_0x1a4e('0xea')](_0x3594b6),this[_0x1a4e('0x4f0e')]['add'](_0x45b8e8);},'createSprites':function(_0x18ca8f){for(var _0xc5f376=_0x18ca8f['positions'],_0x4c564d=[],_0x3a0c26=0x0;_0x3a0c26<_0xc5f376['length']-0x1;_0x3a0c26++){var _0x12661c=_0xc5f376[_0x3a0c26],_0x194bab=_0xc5f376[_0x3a0c26+0x1];_0x3a0c26++;var _0x485b12=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x12661c,_0x194bab),_0x45e70a=new THREE[(_0x1a4e('0x3b89'))](_0x485b12['x'],_0x485b12['y'],_0x485b12['z']);_0x4c564d[_0x1a4e('0x46')](_0x45e70a);}var _0x786b81=new THREE['TextureLoader']()['load'](_0x18ca8f[_0x1a4e('0x15cf')]),_0x390018=_0x18ca8f['size'],_0xaeae3=new THREE[(_0x1a4e('0x4f41'))]({'size':_0x390018,'sizeAttenuation':!0x0,'map':_0x786b81,'alphaTest':0.1,'transparent':!0x0});_0xaeae3['depthTest']=!0x1;for(var _0x8cd69f=0x0;_0x8cd69f<_0x4c564d['length'];_0x8cd69f++){var _0x34939=new THREE['Sprite'](_0xaeae3);_0x34939[_0x1a4e('0x3553')]['z']+=0x3a98,_0x34939[_0x1a4e('0x3d2e')]['x']=Math['PI']/0x2,_0x34939[_0x1a4e('0x143')][_0x1a4e('0x17a')](_0x390018,_0x390018,_0x390018),_0x34939[_0x1a4e('0x3553')][_0x1a4e('0xea')](_0x4c564d[_0x8cd69f]),_0x34939['layers']['set'](0x1),this[_0x1a4e('0x4f0e')][_0x1a4e('0x177')](_0x34939),_0x34939[_0x1a4e('0x4f25')]={'id':_0x18ca8f['id']},this[_0x1a4e('0x4f42')][_0x1a4e('0x46')](_0x34939);}},'createPois':function(_0x18ca8f){for(var _0xc5f376=_0x18ca8f[_0x1a4e('0x398a')],_0x4c564d=[],_0x3a0c26=0x0;_0x3a0c26<_0xc5f376[_0x1a4e('0x1e')]-0x1;_0x3a0c26++){var _0x12661c=_0xc5f376[_0x3a0c26],_0x171afd=_0xc5f376[_0x3a0c26+0x1];_0x3a0c26++;var _0x564204=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x12661c,_0x171afd,0x0),_0x1387de=new THREE[(_0x1a4e('0x3b89'))](_0x564204['x'],_0x564204['y'],_0x564204['z']);_0x4c564d[_0x1a4e('0x46')](_0x1387de);}for(var _0x3a825b=new THREE[(_0x1a4e('0x4f32'))]()['load'](_0x18ca8f[_0x1a4e('0x15cf')]),_0x460954=_0x18ca8f[_0x1a4e('0x220')],_0x5bd36c=_0x18ca8f[_0x1a4e('0x4402')],_0xcf8d3b=new THREE[(_0x1a4e('0x4f41'))]({'map':_0x3a825b,'color':0xffffff,'precision':_0x1a4e('0x4f43')}),_0x3038dc=0x0;_0x3038dc<_0x4c564d[_0x1a4e('0x1e')];_0x3038dc++){var _0x5d935a=new THREE[(_0x1a4e('0x4ee2'))](_0xcf8d3b);_0x5d935a[_0x1a4e('0x3d2e')]['x']=Math['PI']/0x2,_0x5d935a[_0x1a4e('0x143')][_0x1a4e('0x17a')](_0x460954[0x0],_0x460954[0x1],0x1),_0x5d935a[_0x1a4e('0x111')]=new THREE[(_0x1a4e('0x4f1c'))](_0x5bd36c[0x0],_0x5bd36c[0x1]),_0x5d935a[_0x1a4e('0x3553')]['copy'](_0x4c564d[_0x3038dc]),_0x5d935a[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x0),this['threeScene'][_0x1a4e('0x177')](_0x5d935a),_0x5d935a['userData']={'id':_0x18ca8f['id']},this['spritesGroup']['push'](_0x5d935a);}},'createLakes':function(_0x18ca8f){for(var _0xc5f376=[],_0x4c564d=0x0;_0x4c564d<_0x18ca8f[_0x1a4e('0x64')]['length']-0x1;_0x4c564d++){var _0x12661c=_0x18ca8f[_0x1a4e('0x64')][_0x4c564d],_0x3bebee=_0x18ca8f[_0x1a4e('0x64')][_0x4c564d+0x1];_0xc5f376[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x12661c,_0x3bebee)),_0x4c564d++;}for(var _0x5aab59=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0xc5f376[0x0]['x'],_0xc5f376[0x0]['y']),_0x2ebaaf=[],_0x3942d8=0x0;_0x3942d8<_0xc5f376[_0x1a4e('0x1e')];_0x3942d8++){var _0x38d2c1=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0xc5f376[_0x3942d8]['x'],_0xc5f376[_0x3942d8]['y']),_0x2a80ca=new THREE[(_0x1a4e('0x3b89'))](_0x38d2c1['x']-_0x5aab59['x'],_0x38d2c1['y']-_0x5aab59['y'],_0x38d2c1['z']-_0x5aab59['z']);_0x2ebaaf['push'](_0x2a80ca);}for(var _0x4dff94=[],_0x4e1783=0x0;_0x4e1783<_0x2ebaaf[_0x1a4e('0x1e')];_0x4e1783++)_0x4dff94[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x2ebaaf[_0x4e1783]['x'],_0x2ebaaf[_0x4e1783]['y']));for(var _0x4607f1=new THREE[(_0x1a4e('0x4f44'))](new THREE[(_0x1a4e('0x4f2e'))](_0x4dff94)),_0x3d1f4d=0x0;_0x3d1f4d<_0x2ebaaf[_0x1a4e('0x1e')];_0x3d1f4d++)_0x4607f1[_0x1a4e('0xaf')][_0x3d1f4d]['z']=_0x2ebaaf[_0x3d1f4d]['z'];var _0x383f0a=_0x3a0c26['Util'][_0x1a4e('0x39a5')](_0x1a4e('0x4f45')),_0x15efde=_0x3a0c26['Util'][_0x1a4e('0x39a5')](_0x1a4e('0x4f46')),_0x622a90=new THREE[(_0x1a4e('0x4f32'))](),_0x5de21c=_0x622a90['load'](_0x383f0a);_0x5de21c[_0x1a4e('0x3ca9')]=_0x5de21c[_0x1a4e('0x3caa')]=THREE[_0x1a4e('0x4f33')];var _0x529a5b=_0x622a90[_0x1a4e('0x7b')](_0x15efde);_0x529a5b[_0x1a4e('0x3ca9')]=_0x529a5b[_0x1a4e('0x3caa')]=THREE[_0x1a4e('0x4f33')];var _0x4c8090=new THREE[(_0x1a4e('0x4f47'))](_0x4607f1,{'color':_0x1a4e('0x3de1'),'scale':0x4,'flowDirection':new THREE[(_0x1a4e('0x4f1c'))](0.1,0.1),'flowSpeed':0.01,'textureWidth':0x200,'textureHeight':0x200,'reflectivity':0.5,'clipBias':0x1,'normalMap0':_0x5de21c,'normalMap1':_0x529a5b}),_0x213558=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0xc5f376[0x0]['x'],_0xc5f376[0x0]['y']);_0x4c8090[_0x1a4e('0x3553')][_0x1a4e('0xea')](_0x213558);var _0xb536ba=_0x3a0c26[_0x1a4e('0x39a0')]['formatUrlByBaseJs']('resources/localscene/refraction.jpg'),_0x3656e7=_0x622a90[_0x1a4e('0x7b')](_0xb536ba);_0x4c8090[_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['tReflectionMap'][_0x1a4e('0x255')]=_0x3656e7,_0x4c8090['material']['uniforms'][_0x1a4e('0x4f48')][_0x1a4e('0x255')]=_0x3656e7,_0x4c8090[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x1),_0x4c8090[_0x1a4e('0x4f25')]={'id':_0x18ca8f['id']},this[_0x1a4e('0x4f13')][_0x1a4e('0x177')](_0x4c8090);},'createGrass':function(_0x18ca8f){for(var _0xc5f376=[],_0x4c564d=0x0;_0x4c564d<_0x18ca8f['path']['length']-0x1;_0x4c564d++){var _0x3a0c26=_0x18ca8f['path'][_0x4c564d],_0x12661c=_0x18ca8f[_0x1a4e('0x64')][_0x4c564d+0x1];_0xc5f376[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x3a0c26,_0x12661c)),_0x4c564d++;}for(var _0x148438=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0xc5f376[0x0]['x'],_0xc5f376[0x0]['y']),_0x22b4cd=[],_0x3865d7=0x0;_0x3865d7<_0xc5f376['length'];_0x3865d7++){var _0x38cb95=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0xc5f376[_0x3865d7]['x'],_0xc5f376[_0x3865d7]['y']),_0x1902b5=new THREE[(_0x1a4e('0x3b89'))](_0x38cb95['x']-_0x148438['x'],_0x38cb95['y']-_0x148438['y'],_0x38cb95['z']-_0x148438['z']);_0x22b4cd[_0x1a4e('0x46')](_0x1902b5);}for(var _0x4db67b=[],_0x50aec3=0x0;_0x50aec3<_0x22b4cd[_0x1a4e('0x1e')];_0x50aec3++)_0x4db67b[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x22b4cd[_0x50aec3]['x'],_0x22b4cd[_0x50aec3]['y']));for(var _0x23ca05=new THREE[(_0x1a4e('0x4f44'))](new THREE[(_0x1a4e('0x4f2e'))](_0x4db67b)),_0xf897e7=0x0;_0xf897e7<_0x22b4cd[_0x1a4e('0x1e')];_0xf897e7++)_0x23ca05[_0x1a4e('0xaf')][_0xf897e7]['z']=_0x22b4cd[_0xf897e7]['z'];var _0x15aee1=new THREE[(_0x1a4e('0x4f3a'))]({'roughness':0.8,'metalness':0.4}),_0x639472=new THREE[(_0x1a4e('0x4f32'))]()[_0x1a4e('0x7b')](_0x18ca8f[_0x1a4e('0x15cf')]);_0x639472['wrapS']=_0x639472[_0x1a4e('0x3caa')]=THREE[_0x1a4e('0x4f33')],_0x15aee1[_0x1a4e('0x21')]=_0x639472,_0x15aee1[_0x1a4e('0x4f49')]=THREE[_0x1a4e('0x4f4a')];var _0x114fcf=new THREE[(_0x1a4e('0x4f26'))](_0x23ca05,_0x15aee1),_0x4545b7=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0xc5f376[0x0]['x'],_0xc5f376[0x0]['y']);_0x114fcf['position'][_0x1a4e('0xea')](_0x4545b7),_0x114fcf[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x1),_0x114fcf[_0x1a4e('0x4f25')]={'id':_0x18ca8f['id']},this[_0x1a4e('0x4f4b')][_0x1a4e('0x177')](_0x114fcf);},'createArea':function(_0x18ca8f){for(var _0xc5f376=[],_0x4c564d=0x0;_0x4c564d<_0x18ca8f[_0x1a4e('0x64')][_0x1a4e('0x1e')]-0x1;_0x4c564d++){var _0x3a0c26=_0x18ca8f[_0x1a4e('0x64')][_0x4c564d],_0x12661c=_0x18ca8f['path'][_0x4c564d+0x1];_0xc5f376[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x3a0c26,_0x12661c)),_0x4c564d++;}for(var _0x117930=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0xc5f376[0x0]['x'],_0xc5f376[0x0]['y']),_0x36d6cf=[],_0x192914=0x0;_0x192914<_0xc5f376['length'];_0x192914++){var _0x315a9e=Cesium['Cartesian3']['fromDegrees'](_0xc5f376[_0x192914]['x'],_0xc5f376[_0x192914]['y']),_0x22a960=new THREE[(_0x1a4e('0x3b89'))](_0x315a9e['x']-_0x117930['x'],_0x315a9e['y']-_0x117930['y'],_0x315a9e['z']-_0x117930['z']);_0x36d6cf[_0x1a4e('0x46')](_0x22a960);}for(var _0x36b254=[],_0xcc96f1=0x0;_0xcc96f1<_0x36d6cf[_0x1a4e('0x1e')];_0xcc96f1++)_0x36b254['push'](new THREE['Vector2'](_0x36d6cf[_0xcc96f1]['x'],_0x36d6cf[_0xcc96f1]['y']));for(var _0x3c6ac8=new THREE[(_0x1a4e('0x4f44'))](new THREE['Shape'](_0x36b254)),_0x1d1181=0x0;_0x1d1181<_0x36d6cf[_0x1a4e('0x1e')];_0x1d1181++)_0x3c6ac8[_0x1a4e('0xaf')][_0x1d1181]['z']=_0x36d6cf[_0x1d1181]['z'];var _0x438bb8=new THREE[(_0x1a4e('0x4f3a'))]({'roughness':0.8,'metalness':0.4}),_0x39640c=new THREE['TextureLoader']()[_0x1a4e('0x7b')](_0x18ca8f[_0x1a4e('0x15cf')]);_0x39640c[_0x1a4e('0x3ca9')]=_0x39640c[_0x1a4e('0x3caa')]=THREE[_0x1a4e('0x4f33')],_0x438bb8[_0x1a4e('0x21')]=_0x39640c,_0x438bb8[_0x1a4e('0x4f49')]=THREE[_0x1a4e('0x4f4a')];var _0x54abb5=new THREE[(_0x1a4e('0x4f26'))](_0x3c6ac8,_0x438bb8),_0x2a5cef=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0xc5f376[0x0]['x'],_0xc5f376[0x0]['y']);_0x54abb5[_0x1a4e('0x3553')][_0x1a4e('0xea')](_0x2a5cef),_0x54abb5[_0x1a4e('0x4f27')]['set'](0x0),_0x54abb5[_0x1a4e('0x4f25')]={'id':_0x18ca8f['id']},this[_0x1a4e('0x4f4b')]['add'](_0x54abb5);},'createDiffusionCircle':function(_0x18ca8f){var _0xc5f376=this,_0x4c564d=_0x1a4e('0x4f4c'),_0x3a0c26=this[_0x1a4e('0x3a41')]=new THREE['ShaderMaterial']({'uniforms':{'BigRadius':{'value':0x0},'SmallRadius':{'value':0x0}},'vertexShader':_0x4c564d,'fragmentShader':'\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20SmallRadius;\x0a\x20\x20\x20\x20\x20\x20\x20\x20varying\x20vec2\x20vUv;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(void){\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20distColor\x20=\x20vec3(1.0,0.0,0.0);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dist\x20=\x20distance(vec2(0.5,0.5),vUv);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dist0.01){\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(distColor\x20*\x20100.0,dist\x20-\x200.1);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else\x20if(dist\x20<=\x200.01){\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(vec3(1.0,0.0,0.0),1.0);\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(distColor,0.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20}'}),_0x12661c=this['materialBig']=new THREE[(_0x1a4e('0x4f3c'))]({'uniforms':{'BigRadius':{'value':0x0}},'vertexShader':_0x4c564d,'fragmentShader':_0x1a4e('0x4f4d')});_0x3a0c26[_0x1a4e('0x4203')]=!0x0,_0x12661c[_0x1a4e('0x4203')]=!0x0;var _0xfcf4d8=new THREE[(_0x1a4e('0x4f4e'))](_0x18ca8f[_0x1a4e('0x3b5d')],_0x18ca8f['radius']),_0x5486d9=new THREE[(_0x1a4e('0x4f4e'))](_0x18ca8f[_0x1a4e('0x3b5d')],_0x18ca8f[_0x1a4e('0x3b5d')]),_0x11efbb=new THREE[(_0x1a4e('0x4f26'))](_0xfcf4d8,_0x3a0c26);_0x11efbb[_0x1a4e('0x3d2e')]['x']=Math['PI']/0x2;var _0x1f33da=new THREE[(_0x1a4e('0x4f26'))](_0x5486d9,_0x12661c);_0x1f33da[_0x1a4e('0x3d2e')]['x']=Math['PI']/0x2;var _0x38a754=_0x18ca8f[_0x1a4e('0x3553')],_0x4a055d=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x38a754[0x0],_0x38a754[0x1]),_0x2f9435=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x38a754[0x0],_0x38a754[0x1],0x1);_0x11efbb['position']['copy'](_0x4a055d),_0x11efbb['lookAt'](_0x2f9435['x'],_0x2f9435['y'],_0x2f9435['z']),_0x11efbb[_0x1a4e('0x4f27')]['set'](0x1),_0x1f33da[_0x1a4e('0x3553')][_0x1a4e('0xea')](_0x4a055d),_0x1f33da[_0x1a4e('0x4f4f')](_0x2f9435['x'],_0x2f9435['y'],_0x2f9435['z']),_0x1f33da[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x1);var _0x3701b1={'big':0.1,'small':0.1},_0x1d22e1=new TWEEN[(_0x1a4e('0x3b6d'))](_0x3701b1)['to']({'big':0.45,'small':0.2},0x5dc)['easing'](TWEEN[_0x1a4e('0x3b6f')][_0x1a4e('0x3b70')]['InOut'])['onUpdate'](function(){_0xc5f376[_0x1a4e('0x4f50')][_0x1a4e('0x3b74')]['BigRadius'][_0x1a4e('0x255')]=_0x3701b1[_0x1a4e('0xdbf')],_0xc5f376['material'][_0x1a4e('0x3b74')][_0x1a4e('0x3b75')][_0x1a4e('0x255')]=_0x3701b1[_0x1a4e('0x3b76')];});_0x1d22e1[_0x1a4e('0x3b77')](0x1/0x0),_0x1d22e1['start']();var _0x317b70=new THREE[(_0x1a4e('0x4f12'))]();_0x317b70[_0x1a4e('0x4f25')]={'id':_0x18ca8f['id'],'tween':_0x1d22e1},_0x317b70[_0x1a4e('0x177')](_0x11efbb),_0x317b70[_0x1a4e('0x177')](_0x1f33da),this[_0x1a4e('0x4f15')][_0x1a4e('0x177')](_0x317b70);},'createInstructions':function(_0x18ca8f){for(var _0xc5f376=_0x18ca8f[_0x1a4e('0x152')],_0x4c564d=[],_0x12661c=[],_0x2b4a70=[_0x18ca8f[_0x1a4e('0x64')][0x0],_0x18ca8f['path'][0x1]],_0x590605=void 0x0,_0xe82aff=0x0;_0xe82aff<_0x18ca8f[_0x1a4e('0x64')][_0x1a4e('0x1e')]-0x1;_0xe82aff++){var _0x4bf783=_0x18ca8f[_0x1a4e('0x64')][_0xe82aff],_0xe3b775=_0x18ca8f['path'][_0xe82aff+0x1];_0xe82aff++;var _0x417d96=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x4bf783,_0xe3b775);_0x4c564d[_0x1a4e('0x46')](new THREE['Vector3'](_0x417d96['x'],_0x417d96['y'],_0x417d96['z']));var _0x417c7c=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x4bf783,_0xe3b775,0x2710);_0x12661c['push'](new THREE[(_0x1a4e('0x3b89'))](_0x417c7c['x'],_0x417c7c['y'],_0x417c7c['z'])),_0xe82aff==_0x18ca8f[_0x1a4e('0x64')][_0x1a4e('0x1e')]-0x1&&(_0x590605=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x2b4a70[0x0],_0x2b4a70[0x1]));}for(var _0x2a0636=[],_0x45fcc4=[],_0xb4aafb=0x0;_0xb4aafb<_0x4c564d[_0x1a4e('0x1e')];_0xb4aafb++){var _0x3a43d2=_0x4c564d[_0xb4aafb],_0x1a0735=_0x12661c[_0xb4aafb],_0x4c38bf=new THREE['Vector3'](_0x3a43d2['x']-_0x590605['x'],_0x3a43d2['y']-_0x590605['y'],_0x3a43d2['z']-_0x590605['z']);_0x2a0636[_0x1a4e('0x46')](_0x4c38bf);var _0x3af47f=new THREE[(_0x1a4e('0x3b89'))](_0x1a0735['x']-_0x590605['x'],_0x1a0735['y']-_0x590605['y'],_0x1a0735['z']-_0x590605['z']);_0x45fcc4[_0x1a4e('0x46')](_0x3af47f);}for(var _0x3cdc0c=_0x2a0636,_0x2542d7=_0x45fcc4,_0x21a9ac=0x0,_0x33f571=[],_0x461b77=0x0;_0x461b77<_0x3cdc0c[_0x1a4e('0x1e')];_0x461b77++)0x0==_0x461b77?_0x33f571[_0x1a4e('0x46')](0x0):(_0x21a9ac+=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x3cdc0c[_0x461b77],_0x3cdc0c[_0x461b77-0x1]),_0x33f571[_0x1a4e('0x46')](_0x21a9ac/0xc8));for(var _0x3f85c0=[],_0x585fb0=[],_0x445acd=0x0;_0x445acd<_0x3cdc0c[_0x1a4e('0x1e')]-0x1;_0x445acd++){var _0x597f4b=_0x3cdc0c[_0x445acd],_0x5671ed=_0x3cdc0c[_0x445acd+0x1],_0x1ac8cf=_0x2542d7[_0x445acd],_0x56b1f0=_0x2542d7[_0x445acd+0x1],_0x5859d7=_0xc5f376,_0x9156d5=new THREE['Vector3'](_0x1ac8cf['x']-_0x597f4b['x'],_0x1ac8cf['y']-_0x597f4b['y'],_0x1ac8cf['z']-_0x597f4b['z'])[_0x1a4e('0x330')]()[_0x1a4e('0x4f39')](_0x5859d7);_0x1ac8cf['addVectors'](_0x597f4b,_0x9156d5);var _0x323698=_0xc5f376,_0x3e52e5=new THREE[(_0x1a4e('0x3b89'))](_0x56b1f0['x']-_0x5671ed['x'],_0x56b1f0['y']-_0x5671ed['y'],_0x56b1f0['z']-_0x5671ed['z'])[_0x1a4e('0x330')]()[_0x1a4e('0x4f39')](_0x323698);_0x56b1f0['addVectors'](_0x5671ed,_0x3e52e5);var _0xe37049=[],_0x476d6c=[];_0xe37049[_0x1a4e('0x46')](_0x597f4b),_0xe37049[_0x1a4e('0x46')](_0x1ac8cf),_0xe37049['push'](_0x5671ed),_0xe37049['push'](_0x5671ed),_0xe37049['push'](_0x1ac8cf),_0xe37049[_0x1a4e('0x46')](_0x56b1f0),_0x476d6c[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x33f571[_0x445acd],0x0)),_0x476d6c[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x33f571[_0x445acd],0x1)),_0x476d6c[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x33f571[_0x445acd+0x1],0x0)),_0x476d6c[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x33f571[_0x445acd+0x1],0x0)),_0x476d6c[_0x1a4e('0x46')](new THREE['Vector2'](_0x33f571[_0x445acd],0x1)),_0x476d6c[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x4f1c'))](_0x33f571[_0x445acd+0x1],0x1));for(var _0x4f491e=0x0;_0x4f491e<0x6;_0x4f491e++){var _0x29529d=_0xe37049[_0x4f491e];_0x3f85c0[_0x1a4e('0x46')](_0x29529d['x']),_0x3f85c0[_0x1a4e('0x46')](_0x29529d['y']),_0x3f85c0[_0x1a4e('0x46')](_0x29529d['z']);var _0x24e8f7=_0x476d6c[_0x4f491e];_0x585fb0['push'](_0x24e8f7['x']),_0x585fb0[_0x1a4e('0x46')](_0x24e8f7['y']);}}var _0x43f09b=new Float32Array(_0x3f85c0),_0xbb6bd1=new Float32Array(_0x585fb0),_0x47e008=new THREE[(_0x1a4e('0x4f51'))](_0xbb6bd1,0x2);_0x47e008[_0x1a4e('0x4f52')]={'offset':0x0,'count':0x30};var _0x349fca=new THREE[(_0x1a4e('0x3b8c'))]();_0x349fca['addAttribute'](_0x1a4e('0x3553'),new THREE[(_0x1a4e('0x4f53'))](_0x43f09b,0x3)),_0x349fca[_0x1a4e('0x4f54')]('uv',_0x47e008);var _0x2e55f4=new THREE[(_0x1a4e('0x4f40'))]();_0x2e55f4[_0x1a4e('0x4f49')]=THREE[_0x1a4e('0x4f4a')],_0x2e55f4['transparent']=!0x0;var _0x47cbb9=_0x3a0c26[_0x1a4e('0x39a0')]['formatUrlByBaseJs']('resources/localscene/1.png'),_0x31ef20=new THREE['TextureLoader']()[_0x1a4e('0x7b')](_0x47cbb9);_0x31ef20[_0x1a4e('0x3ca9')]=_0x31ef20['wrapT']=THREE[_0x1a4e('0x4f33')],_0x2e55f4[_0x1a4e('0x21')]=_0x31ef20;var _0xca12df=new THREE[(_0x1a4e('0x4f26'))](_0x349fca,_0x2e55f4),_0xc0743=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x2b4a70[0x0],_0x2b4a70[0x1]);_0xca12df[_0x1a4e('0x3553')]['copy'](_0xc0743),_0xca12df[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x1),_0xca12df[_0x1a4e('0x4f25')]={'id':_0x18ca8f['id']},this[_0x1a4e('0x4f14')][_0x1a4e('0x177')](_0xca12df);},'create3DPanel':function(_0x18ca8f,_0xc5f376){var _0x4c564d;if(_0x1a4e('0x4efd')==_0x18ca8f[_0x1a4e('0x4efc')]){(_0x4c564d=new THREE[(_0x1a4e('0x4f55'))](_0x18ca8f[_0x1a4e('0x4f56')]))[_0x1a4e('0x3d2e')]['x']=Math['PI']/0x2;var _0x3a0c26=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x18ca8f[_0x1a4e('0x3553')][0x0],_0x18ca8f[_0x1a4e('0x3553')][0x1],_0x18ca8f[_0x1a4e('0x152')]);_0x4c564d[_0x1a4e('0x3553')][_0x1a4e('0xea')](new THREE[(_0x1a4e('0x3b89'))](_0x3a0c26['x'],_0x3a0c26['y'],_0x3a0c26['z']));}else if(_0x1a4e('0x8d0')==_0x18ca8f['panelType']){(_0x4c564d=new THREE['CSS3DSprite'](_0x18ca8f[_0x1a4e('0x4f56')]))[_0x1a4e('0x3d2e')]['x']=Math['PI']/0x2;var _0x12661c=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x18ca8f['position'][0x0],_0x18ca8f[_0x1a4e('0x3553')][0x1],_0x18ca8f[_0x1a4e('0x152')]);_0x4c564d['position'][_0x1a4e('0xea')](new THREE['Vector3'](_0x12661c['x'],_0x12661c['y'],_0x12661c['z']));}else{_0x4c564d=new THREE[(_0x1a4e('0x4f57'))](_0x18ca8f['divElement']);var _0x21247c=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x18ca8f[_0x1a4e('0x3553')][0x0],_0x18ca8f[_0x1a4e('0x3553')][0x1],_0x18ca8f[_0x1a4e('0x152')]);_0x4c564d[_0x1a4e('0x3553')][_0x1a4e('0xea')](new THREE[(_0x1a4e('0x3b89'))](_0x21247c['x'],_0x21247c['y'],_0x21247c['z']));Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](116.509553191,39.903305825500055,0x1);}this[_0x1a4e('0x4f0f')]['add'](_0x4c564d),_0x4c564d[_0x1a4e('0x4f25')]={'id':_0x18ca8f['id'],'anchor':_0x18ca8f['anchor']},this[_0x1a4e('0x4f17')]['push'](_0x4c564d);},'createArcFlyLine':function(_0x18ca8f){for(var _0xc5f376=!(arguments[_0x1a4e('0x1e')]>0x1&&void 0x0!==arguments[0x1])||arguments[0x1],_0x4c564d=_0x18ca8f['point1'],_0x3a0c26=_0x18ca8f[_0x1a4e('0x4f58')],_0x12661c=[(_0x4c564d[0x0]+_0x3a0c26[0x0])/0x2,(_0x4c564d[0x1]+_0x3a0c26[0x1])/0x2],_0x4803d8=_0x18ca8f[_0x1a4e('0x152')],_0x5acdf0=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x4c564d[0x0],_0x4c564d[0x1]),_0x5ba898=Cesium['Cartesian3']['fromDegrees'](_0x3a0c26[0x0],_0x3a0c26[0x1]),_0x34825b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x12661c[0x0],_0x12661c[0x1]),_0x284ca1=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x12661c[0x0],_0x12661c[0x1],_0x4803d8),_0x4e8f11=new THREE['QuadraticBezierCurve3'](new THREE[(_0x1a4e('0x3b89'))](_0x5acdf0['x']-_0x34825b['x'],_0x5acdf0['y']-_0x34825b['y'],_0x5acdf0['z']-_0x34825b['z']),new THREE[(_0x1a4e('0x3b89'))](_0x284ca1['x']-_0x34825b['x'],_0x284ca1['y']-_0x34825b['y'],_0x284ca1['z']-_0x34825b['z']),new THREE[(_0x1a4e('0x3b89'))](_0x5ba898['x']-_0x34825b['x'],_0x5ba898['y']-_0x34825b['y'],_0x5ba898['z']-_0x34825b['z'])),_0x3b04a4=_0x4e8f11['getPoints'](0x64),_0x96f575=[],_0x372d18=[],_0x36ce7c=0x0;_0x36ce7c<_0x3b04a4[_0x1a4e('0x1e')];_0x36ce7c++){var _0x15b82b=_0x3b04a4[_0x36ce7c];_0x96f575[_0x1a4e('0x46')](new THREE[(_0x1a4e('0x3b89'))](_0x15b82b['x'],_0x15b82b['y'],_0x15b82b['z'])),_0x372d18[_0x1a4e('0x46')](_0x15b82b['x']),_0x372d18[_0x1a4e('0x46')](_0x15b82b['y']),_0x372d18['push'](_0x15b82b['z']);}if(_0xc5f376){var _0x1a96b1=new THREE[(_0x1a4e('0x4f59'))]();_0x1a96b1['setPositions'](_0x372d18);var _0x1f2204=new THREE[(_0x1a4e('0x4f5a'))]({'color':0xffff00,'linewidth':0x5,'vertexColors':THREE[_0x1a4e('0x4f5b')],'dashed':!0x0,'scale':0x1,'dashSize':0x1e,'gapSize':0x32});_0x1f2204[_0x1a4e('0x4f5c')][_0x1a4e('0x4f5d')]='';var _0x329bc3=new THREE[(_0x1a4e('0x4f5e'))](_0x1a96b1,_0x1f2204);_0x329bc3['computeLineDistances'](),_0x329bc3[_0x1a4e('0x143')][_0x1a4e('0x17a')](0x1,0x1,0x1),_0x329bc3[_0x1a4e('0x4f27')]['set'](0x1);var _0x2abe45=Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x12661c[0x0],_0x12661c[0x1]);_0x329bc3['position'][_0x1a4e('0xea')](_0x2abe45),_0x329bc3['userData']={'id':_0x18ca8f['id']},this['arcFlyLinesGroup']['add'](_0x329bc3);}else{var _0x464df6=new THREE[(_0x1a4e('0x3b8c'))]()['setFromPoints'](_0x96f575),_0x49e71c=new THREE['LineBasicMaterial']({'color':0xff0000}),_0x553c00=new THREE['Line'](_0x464df6,_0x49e71c),_0x51af9b=Cesium['Cartesian3']['fromDegrees'](116.509553191,39.903305825500055),_0x4e1c0b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](116.509553191,39.903305825500055,0x1);_0x553c00[_0x1a4e('0x3553')][_0x1a4e('0xea')](_0x51af9b),_0x553c00[_0x1a4e('0x4f4f')](_0x4e1c0b['x'],_0x4e1c0b['y'],_0x4e1c0b['z']),_0x553c00['layers'][_0x1a4e('0x17a')](0x0),this['threeScene'][_0x1a4e('0x177')](_0x553c00);}},'createParticles':function(_0x18ca8f){var _0xc5f376=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x18ca8f[_0x1a4e('0x3553')][0x0],_0x18ca8f[_0x1a4e('0x3553')][0x1],_0x18ca8f[_0x1a4e('0x152')]),_0x4c564d=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x18ca8f[_0x1a4e('0x3553')][0x0],_0x18ca8f[_0x1a4e('0x3553')][0x1],_0x18ca8f[_0x1a4e('0x152')]+0x1),_0x12661c=new THREE['Object3D']();_0x12661c[_0x1a4e('0x3553')][_0x1a4e('0xea')](_0xc5f376),_0x12661c[_0x1a4e('0x4f4f')](_0x4c564d['x'],_0x4c564d['y'],_0x4c564d['z']),_0x12661c[_0x1a4e('0x4f5f')](),this[_0x1a4e('0x4f60')]||(this[_0x1a4e('0x4f60')]=new ParticleEngine(_0xc5f376,_0x12661c['matrixWorld'])),'fire'==_0x18ca8f[_0x1a4e('0x2cb')]?(Examples[_0x1a4e('0x4f61')][_0x1a4e('0x4f62')][_0x1a4e('0xea')](_0xc5f376),Examples[_0x1a4e('0x4f61')][_0x1a4e('0x4f63')]=new THREE[(_0x1a4e('0x4f32'))]()['load'](_0x3a0c26['Util'][_0x1a4e('0x39a5')]('resources/localscene/smokeparticle.png')),this[_0x1a4e('0x4f60')]['setValues'](Examples[_0x1a4e('0x4f61')]),this[_0x1a4e('0x4f60')][_0x1a4e('0x654')](this[_0x1a4e('0x4f0e')])):_0x1a4e('0x42de')==_0x18ca8f['name']?(Examples['rain'][_0x1a4e('0x4f62')]['copy'](_0xc5f376),Examples['rain'][_0x1a4e('0x4f63')]=new THREE[(_0x1a4e('0x4f32'))]()[_0x1a4e('0x7b')](_0x3a0c26[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x4f64'))),this['particleEngine'][_0x1a4e('0x4f65')](Examples[_0x1a4e('0x42de')]),this[_0x1a4e('0x4f60')][_0x1a4e('0x654')](this['threeScene'])):_0x1a4e('0x466a')==_0x18ca8f[_0x1a4e('0x2cb')]&&(Examples[_0x1a4e('0x466a')]['positionBase']['copy'](_0xc5f376),Examples[_0x1a4e('0x466a')][_0x1a4e('0x4f63')]=new THREE[(_0x1a4e('0x4f32'))]()[_0x1a4e('0x7b')](_0x3a0c26[_0x1a4e('0x39a0')]['formatUrlByBaseJs'](_0x1a4e('0x4f66'))),this[_0x1a4e('0x4f60')][_0x1a4e('0x4f65')](Examples['snow']),this[_0x1a4e('0x4f60')][_0x1a4e('0x654')](this[_0x1a4e('0x4f0e')]));},'createCone':function(_0x18ca8f){_0x3a0c26[_0x1a4e('0x39a0')]['formatUrlByBaseJs'](_0x1a4e('0x4f67')),_0x3a0c26[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')]('resources/lightray_yellow.jpg');var _0xc5f376=[0xffffff,0xffff00],_0x4c564d=new THREE['Object3D'](),_0x12661c=0x1,_0x1ae9fd=0x5,_0x535b36=[_0x18ca8f['position'][0x0],_0x18ca8f[_0x1a4e('0x3553')][0x1]],_0x5c20fb=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x535b36[0x0],_0x535b36[0x1]),_0x5ee655=new THREE['Vector3'](_0x5c20fb['x'],_0x5c20fb['y'],_0x5c20fb['z']);function _0x19d99d(_0x18ca8f,_0xc5f376,_0x4c564d,_0x12661c){var _0x535b36=new THREE[(_0x1a4e('0x4f32'))]()[_0x1a4e('0x7b')](_0x3a0c26['Util'][_0x1a4e('0x39a5')](_0x1a4e('0x4f64'))),_0x5c20fb=new THREE[(_0x1a4e('0x4f40'))]({'map':_0x535b36,'transparent':!0x0,'depthTest':!0x1,'side':THREE[_0x1a4e('0x4f4a')],'blending':THREE[_0x1a4e('0x4f68')]}),_0x5ee655=new THREE[(_0x1a4e('0x4f69'))](0x2*_0x1ae9fd,0x32),_0x19d99d=new THREE['Matrix4'](),_0x43ea5d=new THREE['Mesh'](_0x5ee655,_0x5c20fb);_0x19d99d[_0x1a4e('0x4f6a')](Math['PI']/0x2),_0x19d99d[_0x1a4e('0x3e02')](new THREE[(_0x1a4e('0x3b89'))](0x0,0x0,-0x19)),_0x5ee655[_0x1a4e('0x4f6b')](_0x19d99d);var _0x39b982=_0x43ea5d[_0x1a4e('0x240')]();_0x39b982[_0x1a4e('0x3d2e')]['z']=Math['PI']/0x2,_0x43ea5d[_0x1a4e('0x177')](_0x39b982),_0x43ea5d[_0x1a4e('0x3553')][_0x1a4e('0xea')](_0x18ca8f),_0x43ea5d[_0x1a4e('0x4f4f')](0x0,0x0,0x0),_0x43ea5d[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x0),_0x43ea5d[_0x1a4e('0x4f25')]={'id':_0x12661c['id']},_0x4c564d[_0x1a4e('0x177')](_0x43ea5d);}!function(_0x18ca8f,_0x3a0c26,_0x535b36,_0x5c20fb){var _0x5ee655=_0xc5f376[_0x3a0c26],_0x19d99d=new THREE['CircleGeometry'](_0x1ae9fd,0x6),_0x1ce395=new THREE['CircleGeometry'](_0x1ae9fd-_0x12661c,0x6),_0x32dde7=_0x19d99d['vertices'];_0x32dde7['shift']();var _0x7b5442=new THREE[(_0x1a4e('0x3abe'))]();_0x7b5442[_0x1a4e('0xaf')]=_0x32dde7;var _0x528217=new THREE[(_0x1a4e('0x4f40'))]({'color':_0x5ee655,'side':THREE[_0x1a4e('0x4f4a')]}),_0x2b0535=new THREE[(_0x1a4e('0x4f40'))]({'color':_0x5ee655,'side':THREE[_0x1a4e('0x4f4a')],'opacity':0.5}),_0x5a6974=new THREE['LineLoop'](_0x7b5442,_0x528217),_0xe8c743=new THREE[(_0x1a4e('0x4f26'))](_0x1ce395,_0x2b0535);_0x5a6974[_0x1a4e('0x3553')]['copy'](_0x18ca8f),_0xe8c743['position']['copy'](_0x18ca8f),_0xe8c743[_0x1a4e('0x4f4f')](new THREE['Vector3'](0x0,0x0,0x0)),_0x5a6974[_0x1a4e('0x4f4f')](new THREE['Vector3'](0x0,0x0,0x0)),_0x4c564d[_0x1a4e('0x177')](_0x5a6974),_0x4c564d[_0x1a4e('0x177')](_0xe8c743),_0x4c564d[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x0),_0x4c564d[_0x1a4e('0x4f25')]={'id':_0x5c20fb['id']},_0x535b36[_0x1a4e('0x177')](_0x4c564d);}(_0x5ee655,0x0,this[_0x1a4e('0x4f16')],_0x18ca8f),_0x19d99d(_0x5ee655,0x0,this[_0x1a4e('0x4f16')],_0x18ca8f);},'ListenerFunction':function(_0x18ca8f){if(_0x1a4e('0x937')==_0x18ca8f[_0x1a4e('0x40')]){TWEEN[_0x1a4e('0x937')]();var _0xc5f376=_0x18ca8f[_0x1a4e('0x133')][_0x1a4e('0x1303')];if(_0xc5f376[_0x1a4e('0x4f60')]&&_0xc5f376['particleEngine']['update'](0.5*_0x18ca8f['message'][_0x1a4e('0x129a')]),_0xc5f376[_0x1a4e('0x4f14')][_0x1a4e('0x6f')][_0x1a4e('0x1e')]>0x0)for(var _0x4c564d=0x0;_0x4c564d<_0xc5f376[_0x1a4e('0x4f14')]['children'][_0x1a4e('0x1e')];_0x4c564d++){for(var _0x3a0c26=_0xc5f376['instructionsGroup']['children'][_0x4c564d],_0x12661c=0x0;_0x12661c<_0x3a0c26['geometry'][_0x1a4e('0x266d')]['uv'][_0x1a4e('0x389')];_0x12661c++)_0x3a0c26['geometry'][_0x1a4e('0x266d')]['uv'][_0x1a4e('0x4f6c')](_0x12661c,_0x3a0c26[_0x1a4e('0x18')][_0x1a4e('0x266d')]['uv']['getX'](_0x12661c)+1.5*_0x18ca8f[_0x1a4e('0x133')][_0x1a4e('0x129a')]);_0x3a0c26[_0x1a4e('0x18')][_0x1a4e('0x266d')]['uv']['needsUpdate']=!0x0;}if(_0xc5f376[_0x1a4e('0x4f18')][_0x1a4e('0x6f')]['length']>0x0)for(var _0x3311f5=0x0;_0x3311f5<_0xc5f376[_0x1a4e('0x4f18')][_0x1a4e('0x6f')]['length'];_0x3311f5++){_0xc5f376[_0x1a4e('0x4f18')]['children'][_0x3311f5][_0x1a4e('0x3a41')]['resolution']['set'](window[_0x1a4e('0x4f6d')],window[_0x1a4e('0x3df8')]);}}},'arrayToFloat32Array':function(_0x18ca8f){for(var _0xc5f376=_0x18ca8f[_0x1a4e('0x1e')],_0x4c564d=new Float32Array(_0xc5f376),_0x3a0c26=0x0;_0x3a0c26<_0xc5f376;_0x3a0c26++)_0x4c564d[_0x3a0c26]=_0x18ca8f[_0x3a0c26];return _0x4c564d;}}),_0xc5f376['ParseDataToGeometry']=_0x12661c;var _0x99fac7=THREE[_0x1a4e('0x4f0b')]=function(){};_0x99fac7[_0x1a4e('0xa')]=Object['assign'](_0x99fac7[_0x1a4e('0xa')],{'constructor':_0x99fac7,'load':function(_0x18ca8f,_0xc5f376,_0x4c564d,_0x3a0c26,_0x12661c){SHPParser[_0x1a4e('0x7b')](_0xc5f376,function(_0xc5f376){console[_0x1a4e('0x58')](_0x1a4e('0x4f6e')),_0x4c564d(_0xc5f376,_0x18ca8f,_0x12661c['onLoad']);},_0x3a0c26);}}),_0xc5f376['ShapeFileLoader']=_0x99fac7;},'./src/LocalScene/libs/ThreeManager.js':function(_0x435dae,_0x30fd83,_0x5ac138){'use strict';Object['defineProperty'](_0x30fd83,_0x1a4e('0x6'),{'value':!0x0}),_0x30fd83[_0x1a4e('0x4f03')]=void 0x0;var _0x243ec5=_0x5ac138(_0x1a4e('0x4f6f')),_0x14bf80=(_0x5ac138('./src/LocalScene/libs/fxaa3.js'),THREE[_0x1a4e('0x4f03')]=function(_0x435dae,_0x30fd83,_0x5ac138){_0x30fd83||console[_0x1a4e('0x873')](_0x1a4e('0x4f70')),this[_0x1a4e('0x4afd')]=_0x30fd83,this['threeContainer']=_0x435dae,this['renderer']=null,this[_0x1a4e('0x4f71')]=null,this[_0x1a4e('0x38d6')]=null,this[_0x1a4e('0x4f0f')]=null,this['camera']=null,this[_0x1a4e('0x4f72')]=null,this[_0x1a4e('0x4f73')]=null,this[_0x1a4e('0x3b3e')]=new THREE[(_0x1a4e('0x40f0'))](),this[_0x1a4e('0x4f74')]=_0x5ac138;var _0x243ec5=_0x5ac138[_0x1a4e('0x4f75')];this[_0x1a4e('0xab4')],this[_0x1a4e('0xab4')]=_0x243ec5?{'exposure':_0x243ec5[_0x1a4e('0x4f76')]?_0x243ec5['exposure']:1.7,'bloomStrength':_0x243ec5[_0x1a4e('0x4f77')]?_0x243ec5[_0x1a4e('0x4f77')]:1.2,'bloomThreshold':_0x243ec5[_0x1a4e('0x4f78')]?_0x243ec5[_0x1a4e('0x4f78')]:0x0,'bloomRadius':_0x243ec5[_0x1a4e('0x4f79')]?_0x243ec5[_0x1a4e('0x4f79')]:0x1}:{'exposure':1.7,'bloomStrength':0x3,'bloomThreshold':0x0,'bloomRadius':0x1},this['BuildingMatNormal']=null,this['BuildingMatDark']=null,this[_0x1a4e('0x4f7a')]=null,this[_0x1a4e('0x4f7b')]=null,this[_0x1a4e('0x1fd')]();});_0x14bf80['prototype']=Object[_0x1a4e('0x200')](_0x14bf80[_0x1a4e('0xa')],THREE[_0x1a4e('0x16aa')]['prototype'],{'constructor':_0x14bf80,'init':function(){var _0x435dae=window[_0x1a4e('0x4f6d')],_0x30fd83=window[_0x1a4e('0x3df8')],_0x5ac138=_0x435dae/_0x30fd83,_0x14bf80=this['scene']=new THREE[(_0x1a4e('0x4f7c'))](),_0x166250=this['cssScene']=new THREE[(_0x1a4e('0x4f7c'))]();this[_0x1a4e('0x4f72')]=new _0x243ec5[(_0x1a4e('0x4f0c'))](_0x14bf80,_0x166250),this[_0x1a4e('0xec5')]('LoadComplete',this[_0x1a4e('0x4f72')][_0x1a4e('0x4f7d')]),this[_0x1a4e('0xec5')](_0x1a4e('0x937'),this[_0x1a4e('0x4f72')]['ListenerFunction']);var _0x2f9097=this['camera']=new THREE[(_0x1a4e('0x4f7e'))](0x2d,_0x5ac138,0x1,0x989680),_0x2bef8e=this[_0x1a4e('0x1623')]=new THREE[(_0x1a4e('0x4f7f'))]({'alpha':!0x0,'antialias':!0x0});_0x2bef8e['setPixelRatio'](window['devicePixelRatio']),_0x2bef8e['setSize'](_0x435dae,_0x30fd83),_0x2bef8e[_0x1a4e('0x4f80')]=THREE[_0x1a4e('0x4f81')],_0x2bef8e[_0x1a4e('0x4f82')]=!0x1;var _0x8d474c=this[_0x1a4e('0x4f71')]=new THREE[(_0x1a4e('0x4f83'))]();_0x8d474c[_0x1a4e('0x4f84')](_0x435dae,_0x30fd83),_0x8d474c[_0x1a4e('0x1589')][_0x1a4e('0x375c')][_0x1a4e('0x3553')]='absolute',_0x8d474c['domElement'][_0x1a4e('0x375c')][_0x1a4e('0x5e')]=0x0,this[_0x1a4e('0x4f85')]?(this[_0x1a4e('0x4f85')]['appendChild'](_0x2bef8e[_0x1a4e('0x1589')]),this[_0x1a4e('0x4f85')][_0x1a4e('0x12c4')](_0x8d474c['domElement'])):console['error'](_0x1a4e('0x4f86'));var _0x2cadae={'directionalLight':{'color':[0.796079,0.796079,0.796079],'intensity':0x0,'position':[0x1388,0x1388,0x1388],'target':[0x0,0x0,0x0]},'directionalLight1':{'color':[0.682353,0.682353,0.682353],'intensity':0x0,'position':[-0x1388,0x1388,0x1388],'target':[0x0,0x0,0x0]},'directionalLight2':{'color':[0.662745,0.662745,0.662745],'intensity':0x0,'position':[-0x1388,0x1388,-0x1388],'target':[0x0,0x0,0x0]},'directionalLight3':{'color':[0.639216,0.639216,0.639216],'intensity':0x0,'position':[0x1388,0x1388,-0x1388],'target':[0x0,0x0,0x0]},'ambient':{'color':0xffffff,'intensity':0x1}},_0x8652b6=[0x0,0x0,0x0],_0x23f34c=_0x2cadae[_0x1a4e('0x4f87')],_0x1d08da=_0x2cadae[_0x1a4e('0x4f88')],_0x12882a=_0x2cadae[_0x1a4e('0x4f89')],_0x508ba9=_0x2cadae[_0x1a4e('0x4f8a')],_0xb19125=_0x2cadae[_0x1a4e('0x4f8b')],_0x38ba9e=new THREE['AmbientLight'](_0x23f34c[_0x1a4e('0x134')],_0x23f34c['intensity']);_0x38ba9e['layers'][_0x1a4e('0x1771')](0x1),_0x14bf80['add'](_0x38ba9e);var _0xd6730=new THREE['DirectionalLight'](_0x1d08da[_0x1a4e('0x134')],_0x1d08da[_0x1a4e('0x4a39')]);_0xd6730[_0x1a4e('0x3553')][_0x1a4e('0x17a')](_0x1d08da[_0x1a4e('0x3553')][0x0],_0x1d08da['position'][0x1],_0x1d08da['position'][0x2]),_0xd6730['target'][_0x1a4e('0x3553')][_0x1a4e('0x17a')](_0x8652b6[0x0],_0x8652b6[0x1],_0x8652b6[0x2]),_0x14bf80[_0x1a4e('0x177')](_0xd6730);var _0x3a4ea3=new THREE[(_0x1a4e('0x4f8c'))](_0x12882a[_0x1a4e('0x134')],_0x12882a[_0x1a4e('0x4a39')]);_0x3a4ea3[_0x1a4e('0x3553')][_0x1a4e('0x17a')](_0x12882a[_0x1a4e('0x3553')][0x0],_0x12882a[_0x1a4e('0x3553')][0x1],_0x12882a[_0x1a4e('0x3553')][0x2]),_0x3a4ea3['target'][_0x1a4e('0x3553')]['set'](_0x8652b6[0x0],_0x8652b6[0x1],_0x8652b6[0x2]),_0x14bf80[_0x1a4e('0x177')](_0x3a4ea3);var _0xa66a8b=new THREE['DirectionalLight'](_0x508ba9[_0x1a4e('0x134')],_0x508ba9[_0x1a4e('0x4a39')]);_0xa66a8b[_0x1a4e('0x3553')][_0x1a4e('0x17a')](_0x508ba9[_0x1a4e('0x3553')][0x0],_0x508ba9[_0x1a4e('0x3553')][0x1],_0x508ba9[_0x1a4e('0x3553')][0x2]),_0xa66a8b[_0x1a4e('0xd95')][_0x1a4e('0x3553')][_0x1a4e('0x17a')](_0x8652b6[0x0],_0x8652b6[0x1],_0x8652b6[0x2]),_0x14bf80[_0x1a4e('0x177')](_0xa66a8b);var _0x31b30a=new THREE[(_0x1a4e('0x4f8c'))](_0xb19125[_0x1a4e('0x134')],_0xb19125[_0x1a4e('0x4a39')]);_0x31b30a[_0x1a4e('0x3553')][_0x1a4e('0x17a')](_0xb19125[_0x1a4e('0x3553')][0x0],_0xb19125['position'][0x1],_0xb19125[_0x1a4e('0x3553')][0x2]),_0x31b30a[_0x1a4e('0xd95')][_0x1a4e('0x3553')][_0x1a4e('0x17a')](_0x8652b6[0x0],_0x8652b6[0x1],_0x8652b6[0x2]),_0x14bf80['add'](_0x31b30a);var _0x4e3594=this['composer']=new THREE[(_0x1a4e('0x4f8d'))](_0x2bef8e),_0x515800=new THREE[(_0x1a4e('0x4f8e'))](new THREE['Vector2'](_0x435dae,_0x30fd83),1.5,0.4,0.85),_0x2cb876=this[_0x1a4e('0xab4')];_0x515800[_0x1a4e('0x4f8f')]=_0x2cb876[_0x1a4e('0x4f78')],_0x515800[_0x1a4e('0x4879')]=_0x2cb876[_0x1a4e('0x4f77')],_0x515800[_0x1a4e('0x3b5d')]=_0x2cb876[_0x1a4e('0x4f79')],_0x515800['renderToScreen']=!0x0;var _0x441edc=new THREE[(_0x1a4e('0x4f90'))](_0x14bf80,_0x2f9097);_0x441edc[_0x1a4e('0x4f91')]=!0x0,_0x441edc[_0x1a4e('0x4f92')]=0x2,_0x4e3594[_0x1a4e('0x4f93')](_0x441edc),_0x4e3594[_0x1a4e('0x4f93')](_0x515800),window['onresize']=function(){var _0x435dae=window[_0x1a4e('0x4f6d')],_0x30fd83=window[_0x1a4e('0x3df8')];_0x2f9097['aspect']=_0x435dae/_0x30fd83,_0x2f9097['updateProjectionMatrix'](),_0x2bef8e['setSize'](_0x435dae,_0x30fd83),_0x4e3594[_0x1a4e('0x4f84')](_0x435dae,_0x30fd83),_0x8d474c['setSize'](_0x435dae,_0x30fd83);},this['configParams']['bloomDebug']&&this[_0x1a4e('0x4f94')](_0x515800),this[_0x1a4e('0x4f74')][_0x1a4e('0x4f95')]&&(this[_0x1a4e('0x4f95')]=new Stats(),document[_0x1a4e('0x8f2')][_0x1a4e('0x12c4')](this[_0x1a4e('0x4f95')][_0x1a4e('0x26b9')]));},'update':function(){var _0x435dae=this[_0x1a4e('0x3a06')],_0x30fd83=this['cesiumViewer'];_0x435dae['fov']=Cesium['Math'][_0x1a4e('0x560')](_0x30fd83[_0x1a4e('0x3a06')]['frustum'][_0x1a4e('0x4f96')]),_0x435dae[_0x1a4e('0x4f97')]();var _0x5ac138=this[_0x1a4e('0x3b3e')][_0x1a4e('0x5fa')]();null!=this['meshLineMaterial']&&(this[_0x1a4e('0x4f7b')][_0x1a4e('0x3b74')][_0x1a4e('0x129a')][_0x1a4e('0x255')]+=1.5*_0x5ac138),this[_0x1a4e('0x1337')]({'type':'update','message':{'time':_0x5ac138,'self':this['parseDataToGeometry']}}),_0x435dae[_0x1a4e('0x4f98')]=!0x1;var _0x243ec5=_0x30fd83[_0x1a4e('0x3a06')][_0x1a4e('0x4653')]['clone'](),_0x14bf80=_0x30fd83[_0x1a4e('0x3a06')][_0x1a4e('0x4f99')][_0x1a4e('0x240')]();_0x435dae[_0x1a4e('0x4f9a')][_0x1a4e('0x17a')](_0x14bf80[0x0],_0x14bf80[0x4],_0x14bf80[0x8],_0x14bf80[0xc],_0x14bf80[0x1],_0x14bf80[0x5],_0x14bf80[0x9],_0x14bf80[0xd],_0x14bf80[0x2],_0x14bf80[0x6],_0x14bf80[0xa],_0x14bf80[0xe],_0x14bf80[0x3],_0x14bf80[0x7],_0x14bf80[0xb],_0x14bf80[0xf]),_0x435dae[_0x1a4e('0x4f9b')][_0x1a4e('0x17a')](_0x243ec5[0x0],_0x243ec5[0x4],_0x243ec5[0x8],_0x243ec5[0xc],_0x243ec5[0x1],_0x243ec5[0x5],_0x243ec5[0x9],_0x243ec5[0xd],_0x243ec5[0x2],_0x243ec5[0x6],_0x243ec5[0xa],_0x243ec5[0xe],_0x243ec5[0x3],_0x243ec5[0x7],_0x243ec5[0xb],_0x243ec5[0xf]);var _0x323c97=this[_0x1a4e('0x4f85')][_0x1a4e('0x3a62')]/this[_0x1a4e('0x4f85')][_0x1a4e('0x3a63')];_0x435dae[_0x1a4e('0x4f9c')]=_0x323c97,_0x435dae[_0x1a4e('0x4f97')](),this[_0x1a4e('0x1623')][_0x1a4e('0xb5')](),_0x435dae[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x1),this['composer'][_0x1a4e('0x12d9')](),this[_0x1a4e('0x1623')][_0x1a4e('0x4f9d')](),_0x435dae[_0x1a4e('0x4f27')][_0x1a4e('0x17a')](0x0),this[_0x1a4e('0x1623')]['render'](this['scene'],this['camera']),this['cssRenderer'][_0x1a4e('0x12d9')](this[_0x1a4e('0x4f0f')],this[_0x1a4e('0x3a06')]),this['configParams'][_0x1a4e('0x4f95')]&&this[_0x1a4e('0x4f95')]['update']();},'buildingDataOnLoad':function(_0x435dae,_0x30fd83,_0x5ac138){var _0x243ec5=_0x30fd83[_0x1a4e('0x4f7a')]=_0x30fd83[_0x1a4e('0x4f72')][_0x1a4e('0x43e8')]('BUILDING');_0x30fd83[_0x1a4e('0x4f9e')]=_0x30fd83[_0x1a4e('0x4f7a')][_0x1a4e('0x240')](),_0x30fd83[_0x1a4e('0x4f9f')]=_0x30fd83[_0x1a4e('0x4f72')]['createMaterial']('DARK'),_0x30fd83[_0x1a4e('0x4f72')][_0x1a4e('0x4fa0')](_0x435dae,_0x1a4e('0x4f24'),_0x243ec5,_0x5ac138['id']),_0x5ac138&&_0x5ac138();},'meshLineDataOnLoad':function(_0x435dae,_0x30fd83,_0x5ac138){var _0x243ec5=_0x30fd83[_0x1a4e('0x4f7b')]=_0x30fd83[_0x1a4e('0x4f72')][_0x1a4e('0x43e8')](_0x1a4e('0x4f28'));_0x30fd83[_0x1a4e('0x4f72')][_0x1a4e('0x4fa0')](_0x435dae,'MESHLINE',_0x243ec5,_0x5ac138['id']),_0x5ac138&&_0x5ac138();},'add':function(_0x435dae){var _0x30fd83=_0x435dae[_0x1a4e('0x40')];if(!this[_0x1a4e('0x4f73')]){var _0x5ac138=new _0x243ec5[(_0x1a4e('0x4f0b'))]();this['shapeFileLoader']=_0x5ac138;}switch(_0x30fd83){case'Building':this[_0x1a4e('0x4f73')][_0x1a4e('0x7b')](this,_0x435dae[_0x1a4e('0x15cf')],this['buildingDataOnLoad'],_0x435dae[_0x1a4e('0x4eee')]?_0x435dae['onError']:function(){console[_0x1a4e('0xe3c')](_0x1a4e('0x4fa1'));},_0x435dae);break;case'FlyLine':this['shapeFileLoader'][_0x1a4e('0x7b')](this,_0x435dae[_0x1a4e('0x15cf')],this[_0x1a4e('0x4fa2')],_0x435dae[_0x1a4e('0x4eee')]?_0x435dae['onError']:function(){console['warn']('数据加载失败');},_0x435dae);break;case _0x1a4e('0x4ee5'):this[_0x1a4e('0x4f72')][_0x1a4e('0x3db3')](_0x435dae);break;case _0x1a4e('0x4eda'):this['parseDataToGeometry'][_0x1a4e('0x4fa3')](_0x435dae);break;case'Area':this[_0x1a4e('0x4f72')]['createArea'](_0x435dae),this[_0x1a4e('0x4f72')][_0x1a4e('0x4fa4')](_0x435dae);break;case'Lake':this[_0x1a4e('0x4f72')][_0x1a4e('0x4fa4')](_0x435dae);break;case _0x1a4e('0x4fa5'):this[_0x1a4e('0x4f72')][_0x1a4e('0x4fa6')](_0x435dae);break;case _0x1a4e('0x4edd'):this[_0x1a4e('0x4f72')][_0x1a4e('0x4fa7')](_0x435dae);break;case _0x1a4e('0x4ef9'):this[_0x1a4e('0x4f72')][_0x1a4e('0x4fa8')](_0x435dae);break;case _0x1a4e('0x4edf'):this[_0x1a4e('0x4f72')][_0x1a4e('0x4fa9')](_0x435dae,this['cesiumViewer']);break;case'Sprite':this[_0x1a4e('0x4f72')][_0x1a4e('0x4faa')](_0x435dae);break;case _0x1a4e('0x4ee7'):this[_0x1a4e('0x4f72')][_0x1a4e('0x4fab')](_0x435dae);break;case _0x1a4e('0x4ee3'):this[_0x1a4e('0x4f72')][_0x1a4e('0x4fac')](_0x435dae);break;default:console['error'](_0x1a4e('0x4fad'));}},'remove':function(_0x435dae,_0x30fd83){var _0x5ac138=this[_0x1a4e('0x38d6')],_0x243ec5=this[_0x1a4e('0x4f0f')];switch(_0x435dae){case _0x1a4e('0x4ed7'):for(var _0x14bf80=this[_0x1a4e('0x4f72')]['buildings'],_0x3d701c=0x0;_0x3d701c<_0x14bf80[_0x1a4e('0x1e')];_0x3d701c++)_0x14bf80[_0x3d701c]&&(_0x14bf80[_0x3d701c][_0x1a4e('0x4f25')]['id']=_0x30fd83)&&_0x5ac138[_0x1a4e('0x82')](_0x14bf80[_0x3d701c]);break;case _0x1a4e('0x4eef'):for(var _0x4cc2ed=this[_0x1a4e('0x4f72')][_0x1a4e('0x4f11')],_0x3d1903=0x0;_0x3d1903<_0x4cc2ed[_0x1a4e('0x1e')];_0x3d1903++)_0x4cc2ed[_0x3d1903]&&(_0x4cc2ed[_0x3d1903][_0x1a4e('0x4f25')]['id']=_0x30fd83)&&_0x5ac138[_0x1a4e('0x82')](_0x4cc2ed[_0x3d1903]);break;case _0x1a4e('0x4eda'):for(var _0x5ccbd7=this[_0x1a4e('0x4f72')][_0x1a4e('0x4f4b')][_0x1a4e('0x6f')],_0x3b4914=0x0;_0x3b4914<_0x5ccbd7[_0x1a4e('0x1e')];_0x3b4914++)_0x5ccbd7[_0x3b4914]&&_0x5ccbd7[_0x3b4914][_0x1a4e('0x4f25')]['id']==_0x30fd83&&this['parseDataToGeometry'][_0x1a4e('0x4f4b')][_0x1a4e('0x82')](_0x5ccbd7[_0x3b4914]);break;case _0x1a4e('0x4edb'):for(var _0x328ecf=this[_0x1a4e('0x4f72')]['waterGroup'][_0x1a4e('0x6f')],_0x3e4dd8=0x0;_0x3e4dd8<_0x328ecf[_0x1a4e('0x1e')];_0x3e4dd8++)_0x328ecf[_0x3e4dd8]&&_0x328ecf[_0x3e4dd8][_0x1a4e('0x4f25')]['id']==_0x30fd83&&this['parseDataToGeometry'][_0x1a4e('0x4f13')][_0x1a4e('0x82')](_0x328ecf[_0x3e4dd8]);break;case'ArcFlyLine':for(var _0x5eab03=this[_0x1a4e('0x4f72')][_0x1a4e('0x4f18')][_0x1a4e('0x6f')],_0x45fbd3=0x0;_0x45fbd3<_0x5eab03[_0x1a4e('0x1e')];_0x45fbd3++)_0x5eab03[_0x45fbd3]&&_0x5eab03[_0x45fbd3][_0x1a4e('0x4f25')]['id']==_0x30fd83&&this['parseDataToGeometry'][_0x1a4e('0x4f18')][_0x1a4e('0x82')](_0x5eab03[_0x45fbd3]);break;case'Cone':for(var _0x22da37=this[_0x1a4e('0x4f72')][_0x1a4e('0x4f16')][_0x1a4e('0x6f')],_0x2d4a56=_0x22da37[_0x1a4e('0x1e')],_0xad4f10=0x0;_0xad4f10<_0x2d4a56;_0xad4f10++)_0x22da37[_0xad4f10]&&_0x22da37[_0xad4f10]['userData']['id']==_0x30fd83&&(this[_0x1a4e('0x4f72')][_0x1a4e('0x4f16')]['remove'](_0x22da37[_0xad4f10]),this[_0x1a4e('0x4f72')]['coneGroup'][_0x1a4e('0x82')](_0x22da37[_0xad4f10]));break;case _0x1a4e('0x4edd'):for(var _0x314416=this[_0x1a4e('0x4f72')]['diffusionCirclesGroup'][_0x1a4e('0x6f')],_0xe15821=0x0;_0xe15821<_0x314416[_0x1a4e('0x1e')];_0xe15821++)_0x314416[_0xe15821]&&_0x314416[_0xe15821][_0x1a4e('0x4f25')]['id']==_0x30fd83&&(TWEEN['remove'](_0x314416[_0xe15821][_0x1a4e('0x4f25')][_0x1a4e('0x4fae')]),this[_0x1a4e('0x4f72')][_0x1a4e('0x4f15')]['remove'](_0x314416[_0xe15821]));break;case _0x1a4e('0x4ef9'):for(var _0x192350=this[_0x1a4e('0x4f72')][_0x1a4e('0x4f14')][_0x1a4e('0x6f')],_0x169e50=0x0;_0x169e50<_0x192350[_0x1a4e('0x1e')];_0x169e50++)_0x192350[_0x169e50]&&_0x192350[_0x169e50][_0x1a4e('0x4f25')]['id']==_0x30fd83&&this['parseDataToGeometry']['instructionsGroup']['remove'](_0x192350[_0x169e50]);break;case _0x1a4e('0x4edf'):for(var _0x4ce921=this['parseDataToGeometry'][_0x1a4e('0x4f17')],_0x126f84=0x0;_0x126f84<_0x4ce921[_0x1a4e('0x1e')];_0x126f84++)_0x4ce921[_0x126f84]&&_0x4ce921[_0x126f84]['userData']['id']==_0x30fd83&&_0x243ec5[_0x1a4e('0x82')](_0x4ce921[_0x126f84]);break;case _0x1a4e('0x4ee2'):for(var _0x39fa4b=this[_0x1a4e('0x4f72')][_0x1a4e('0x4f42')],_0x303522=0x0;_0x303522<_0x39fa4b[_0x1a4e('0x1e')];_0x303522++)_0x39fa4b[_0x303522]&&_0x39fa4b[_0x303522]['userData']['id']==_0x30fd83&&_0x5ac138[_0x1a4e('0x82')](_0x39fa4b[_0x303522]);break;case _0x1a4e('0x4ee3'):for(var _0x15c965=this['parseDataToGeometry']['spritesGroup'],_0x42f2ed=0x0;_0x42f2ed<_0x15c965[_0x1a4e('0x1e')];_0x42f2ed++)_0x15c965[_0x42f2ed]&&_0x15c965[_0x42f2ed][_0x1a4e('0x4f25')]['id']==_0x30fd83&&_0x5ac138[_0x1a4e('0x82')](_0x15c965[_0x42f2ed]);break;case _0x1a4e('0x4ee7'):this[_0x1a4e('0x4f72')]['particleEngine'][_0x1a4e('0x139c')]();break;default:console[_0x1a4e('0x873')]('Type\x20Undefined');}},'getObjectById':function(_0x435dae,_0x30fd83){if(this[_0x1a4e('0x4f72')]){var _0x5ac138=this['parseDataToGeometry'];switch(_0x435dae){case _0x1a4e('0x4ed7'):for(var _0x243ec5=_0x5ac138[_0x1a4e('0x4f10')],_0x14bf80=[],_0x20c7f3=0x0;_0x20c7f3<_0x243ec5[_0x1a4e('0x1e')];_0x20c7f3++){var _0x4d866f=_0x243ec5[_0x20c7f3];_0x4d866f['id']==_0x30fd83&&_0x14bf80[_0x1a4e('0x46')](_0x4d866f);}return _0x14bf80;case'FlyLine':for(var _0x4cd617=_0x5ac138['meshLines'],_0x19aed5=[],_0x412bac=0x0;_0x412bac<_0x4cd617[_0x1a4e('0x1e')];_0x412bac++){var _0xb5ab2b=_0x4cd617[_0x412bac];_0xb5ab2b['id']==_0x30fd83&&_0x19aed5['push'](_0xb5ab2b);}return _0x19aed5;case _0x1a4e('0x4edb'):case _0x1a4e('0x4eda'):case'ArcFlyLine':case _0x1a4e('0x4edd'):case _0x1a4e('0x4ef9'):case'Panel':case _0x1a4e('0x4ee2'):break;default:console[_0x1a4e('0x873')](_0x1a4e('0x4faf'));}}},'enableDebugPanel':function(_0x435dae){var _0x30fd83=new THREE[(_0x1a4e('0x4fb0'))](),_0x5ac138=this,_0x243ec5=_0x30fd83['addFolder'](_0x1a4e('0x4fb1'));_0x243ec5['add'](this['params'],_0x1a4e('0x4f76'),0.1,0x2)[_0x1a4e('0x4fb2')](function(_0x435dae){_0x5ac138[_0x1a4e('0x1623')][_0x1a4e('0x4fb3')]=Math[_0x1a4e('0x8e')](_0x435dae,1.4);}),_0x243ec5[_0x1a4e('0x177')](this[_0x1a4e('0xab4')],_0x1a4e('0x4f78'),0x0,0x1)[_0x1a4e('0x4fb2')](function(_0x30fd83){_0x435dae[_0x1a4e('0x4f8f')]=Number(_0x30fd83);}),_0x243ec5['add'](this['params'],_0x1a4e('0x4f77'),0x0,0x5)[_0x1a4e('0x4fb2')](function(_0x30fd83){_0x435dae[_0x1a4e('0x4879')]=Number(_0x30fd83);}),_0x243ec5[_0x1a4e('0x177')](this[_0x1a4e('0xab4')],'bloomRadius',0x0,0x1)['step'](0.01)['onChange'](function(_0x30fd83){_0x435dae[_0x1a4e('0x3b5d')]=Number(_0x30fd83);}),_0x5ac138[_0x1a4e('0x4f72')][_0x1a4e('0x4fb4')]=_0x30fd83;}}),_0x30fd83[_0x1a4e('0x4f03')]=_0x14bf80;},'./src/LocalScene/libs/fxaa3.js':function(_0x1a4f21,_0x16125f,_0x5a0ca5){'use strict';Object['defineProperty'](_0x16125f,_0x1a4e('0x6'),{'value':!0x0});_0x16125f[_0x1a4e('0x4fb5')]=_0x1a4e('0x4fb6');},'./src/PluginManager/PluginBase.ts':function(_0x13317f,_0x5975bc,_0x5d516f){'use strict';_0x5d516f['r'](_0x5975bc);var _0xc0ffd8=function(){function _0x13317f(_0x13317f,_0x5975bc){this[_0x1a4e('0x4fb7')]=!0x1;}return Object[_0x1a4e('0x2')](_0x13317f['prototype'],_0x1a4e('0x1304'),{'get':function(){return this[_0x1a4e('0x4fb7')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x13317f[_0x1a4e('0xa')],_0x1a4e('0x40'),{'get':function(){return this[_0x1a4e('0x39d5')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x13317f[_0x1a4e('0xa')],'name',{'get':function(){return this['_name'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x13317f[_0x1a4e('0xa')],_0x1a4e('0x64'),{'get':function(){return this[_0x1a4e('0x399a')];},'enumerable':!0x0,'configurable':!0x0}),_0x13317f[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(){},_0x13317f[_0x1a4e('0xa')][_0x1a4e('0x139b')]=function(){},_0x13317f[_0x1a4e('0xa')][_0x1a4e('0x4fb8')]=function(){},_0x13317f[_0x1a4e('0xa')][_0x1a4e('0x4fb9')]=function(_0x13317f){},_0x13317f[_0x1a4e('0xa')]['formatURL']=function(_0x13317f){if(!this[_0x1a4e('0x64')]||null===this[_0x1a4e('0x64')])return _0x13317f;var _0x5975bc=_0x13317f[_0x1a4e('0x2be')]('/'),_0x5d516f=this[_0x1a4e('0x64')]['split']('/');''===_0x5d516f[_0x5d516f[_0x1a4e('0x1e')]-0x1]&&_0x5d516f[_0x1a4e('0x76')]();for(var _0xc0ffd8='',_0x5d502f=0x0;_0x5d502f<_0x5975bc[_0x1a4e('0x1e')];_0x5d502f+=0x1)0x0===_0x5d502f&&'.'===_0x5975bc[_0x5d502f]&&(_0x5d502f+=0x1),'..'===_0x5975bc[_0x5d502f]?_0x5d516f[_0x1a4e('0x76')]():_0x5d516f[_0x1a4e('0x46')](_0x5975bc[_0x5d502f]);for(_0x5d502f=0x0;_0x5d502f<_0x5d516f['length'];_0x5d502f+=0x1){var _0x1e8aee=_0x5d502f===_0x5d516f[_0x1a4e('0x1e')]-0x1?'':'/';_0xc0ffd8+=_0x5d516f[_0x5d502f]+_0x1e8aee;}return _0xc0ffd8;},_0x13317f[_0x1a4e('0xa')]['_init']=function(){this['init'](),this[_0x1a4e('0x4fb7')]=!0x0;},_0x13317f[_0x1a4e('0xa')][_0x1a4e('0x4fba')]=function(){this[_0x1a4e('0x139b')](),this[_0x1a4e('0x4fb7')]=!0x1;},_0x13317f;}();_0x5975bc['default']=_0xc0ffd8;},'./src/PluginManager/PluginManager.ts':function(_0x55765c,_0x3f251c,_0x431e10){'use strict';_0x431e10['r'](_0x3f251c);var _0x557c74,_0x1a54f0=_0x431e10(_0x1a4e('0x3f67')),_0x519069=_0x431e10(_0x1a4e('0x3ad0')),_0x3e554b=(_0x557c74=function(_0x55765c,_0x3f251c){return(_0x557c74=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x55765c,_0x3f251c){_0x55765c['__proto__']=_0x3f251c;}||function(_0x55765c,_0x3f251c){for(var _0x431e10 in _0x3f251c)_0x3f251c[_0x1a4e('0xb')](_0x431e10)&&(_0x55765c[_0x431e10]=_0x3f251c[_0x431e10]);})(_0x55765c,_0x3f251c);},function(_0x55765c,_0x3f251c){function _0x431e10(){this[_0x1a4e('0x10')]=_0x55765c;}_0x557c74(_0x55765c,_0x3f251c),_0x55765c[_0x1a4e('0xa')]=null===_0x3f251c?Object[_0x1a4e('0x7')](_0x3f251c):(_0x431e10[_0x1a4e('0xa')]=_0x3f251c[_0x1a4e('0xa')],new _0x431e10());}),_0x2a5c67=function(_0x55765c){var _0x3f251c=_0x1a4e('0x68')==typeof Symbol&&_0x55765c[Symbol[_0x1a4e('0x335')]],_0x431e10=0x0;return _0x3f251c?_0x3f251c['call'](_0x55765c):{'next':function(){return _0x55765c&&_0x431e10>=_0x55765c[_0x1a4e('0x1e')]&&(_0x55765c=void 0x0),{'value':_0x55765c&&_0x55765c[_0x431e10++],'done':!_0x55765c};}};},_0x22e013=function(_0x55765c){function _0x3f251c(_0x3f251c){var _0x431e10=_0x55765c[_0x1a4e('0x1')](this)||this;return _0x431e10[_0x1a4e('0x4fbb')]=new Map(),_0x431e10[_0x1a4e('0x4fbc')]=void 0x0,_0x431e10[_0x1a4e('0x4fbd')]=_0x3f251c,_0x431e10;}return _0x3e554b(_0x3f251c,_0x55765c),_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x4fbe')]=function(_0x55765c){if(_0x55765c){var _0x3f251c=this[_0x1a4e('0x4fbb')]['get'](_0x55765c);if(_0x3f251c)return _0x3f251c;var _0x431e10=_0x1a54f0[_0x1a4e('0x4fbf')]['createPlugin'](_0x55765c,this['_pluginInitOptins'],this);if(_0x431e10)return this[_0x1a4e('0x4fbb')][_0x1a4e('0x17a')](_0x431e10[_0x1a4e('0x2cb')],_0x431e10),console[_0x1a4e('0x58')](_0x55765c+'插件创建成功'),_0x431e10;console['warn'](_0x55765c+_0x1a4e('0x4fc0'));}},_0x3f251c['prototype'][_0x1a4e('0x4fc1')]=function(_0x55765c){var _0x3f251c=_0x55765c;_0x1a4e('0x9')!=typeof _0x55765c&&(_0x3f251c=_0x55765c['name']);var _0x431e10=this[_0x1a4e('0x4fbb')]['get'](_0x3f251c);_0x431e10&&(_0x1a4e('0x4fc2')!==_0x431e10['type']&&_0x431e10!==this[_0x1a4e('0x4fbc')]||this[_0x1a4e('0x4fc3')](void 0x0),_0x431e10[_0x1a4e('0x3ee7')](),this['_plugins'][_0x1a4e('0xf4c')](_0x3f251c));},_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x4fc3')]=function(_0x55765c){if(_0x55765c){var _0x3f251c=_0x55765c;if(_0x1a4e('0x9')!=typeof _0x55765c){if(_0x1a4e('0x4fc4')===_0x55765c[_0x1a4e('0x40')])return void console[_0x1a4e('0xe3c')](_0x1a4e('0x4fc5')+_0x55765c[_0x1a4e('0x2cb')]+_0x1a4e('0x4fc6'));_0x3f251c=_0x55765c[_0x1a4e('0x2cb')];}var _0x431e10=this['_plugins'][_0x1a4e('0x179')](_0x3f251c);if(_0x431e10){if(this['_currentTool']){if(this[_0x1a4e('0x4fbc')]===_0x431e10)return;this['_currentTool'][_0x1a4e('0x4fc7')]();}_0x431e10[_0x1a4e('0x1f7')](),this[_0x1a4e('0x4fbc')]=_0x431e10;}}else this['_currentTool']&&(this[_0x1a4e('0x4fbc')][_0x1a4e('0x4fc7')](),this[_0x1a4e('0x4fbc')]=void 0x0);},_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x3afd')]=function(_0x55765c){if(_0x55765c){var _0x3f251c=_0x55765c;if(_0x1a4e('0x9')!=typeof _0x55765c){if('widget'===_0x55765c['type'])return void console[_0x1a4e('0xe3c')](_0x55765c['name']+_0x1a4e('0x4fc8'));_0x3f251c=_0x55765c[_0x1a4e('0x2cb')];}var _0x431e10=this['_plugins'][_0x1a4e('0x179')](_0x3f251c);_0x431e10||console[_0x1a4e('0xe3c')]('未找到需要开启的'+_0x3f251c+'工具'),this[_0x1a4e('0x4fbc')]===_0x431e10&&this[_0x1a4e('0x4fc3')](void 0x0),_0x431e10[_0x1a4e('0x4fba')]();}},_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x4fc9')]=function(){var _0x55765c,_0x3f251c;this[_0x1a4e('0x4fbc')]&&this[_0x1a4e('0x4fc3')](void 0x0);var _0x431e10=this['getAllTools']();try{for(var _0x557c74=_0x2a5c67(_0x431e10),_0x1a54f0=_0x557c74[_0x1a4e('0x7e')]();!_0x1a54f0[_0x1a4e('0x3c2')];_0x1a54f0=_0x557c74['next']()){var _0x519069=_0x1a54f0[_0x1a4e('0x255')];(_0x519069['active']||_0x519069[_0x1a4e('0x3aee')])&&_0x519069[_0x1a4e('0x4fba')]();}}catch(_0x19377b){_0x55765c={'error':_0x19377b};}finally{try{_0x1a54f0&&!_0x1a54f0[_0x1a4e('0x3c2')]&&(_0x3f251c=_0x557c74[_0x1a4e('0xe40')])&&_0x3f251c[_0x1a4e('0x1')](_0x557c74);}finally{if(_0x55765c)throw _0x55765c['error'];}}},_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x4fca')]=function(_0x55765c){if(_0x55765c){var _0x3f251c=_0x55765c;if(_0x1a4e('0x9')!=typeof _0x55765c){if(_0x1a4e('0x4fc2')===_0x55765c[_0x1a4e('0x40')])return void console[_0x1a4e('0xe3c')](_0x55765c['name']+_0x1a4e('0x4fcb'));_0x3f251c=_0x55765c[_0x1a4e('0x2cb')];}var _0x431e10=this[_0x1a4e('0x4fbb')][_0x1a4e('0x179')](_0x3f251c);if(_0x431e10||console['warn'](_0x1a4e('0x4fcc')+_0x3f251c+'挂件'),_0x1a4e('0x4fc2')!==_0x431e10[_0x1a4e('0x40')])return!0x0===_0x431e10[_0x1a4e('0x1304')]?(console['warn'](_0x431e10[_0x1a4e('0x2cb')]+_0x1a4e('0x4fcd')),_0x431e10):(_0x431e10['_init'](),console[_0x1a4e('0x58')](_0x431e10['name']+_0x1a4e('0x4fce')),_0x431e10);console[_0x1a4e('0xe3c')](_0x55765c[_0x1a4e('0x2cb')]+_0x1a4e('0x4fcb'));}},_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x4fcf')]=function(_0x55765c){if(_0x55765c){var _0x3f251c=_0x55765c;if(_0x1a4e('0x9')!=typeof _0x55765c){if('tool'===_0x55765c[_0x1a4e('0x40')])return void console[_0x1a4e('0xe3c')](_0x55765c[_0x1a4e('0x2cb')]+_0x1a4e('0x4fd0'));_0x3f251c=_0x55765c[_0x1a4e('0x2cb')];}var _0x431e10=this['_plugins'][_0x1a4e('0x179')](_0x3f251c);if(_0x431e10||console[_0x1a4e('0xe3c')]('未找到需要开启的'+_0x3f251c+'挂件'),_0x1a4e('0x4fc2')!==_0x431e10[_0x1a4e('0x40')])return!0x1===_0x431e10['active']?(console[_0x1a4e('0xe3c')](_0x431e10['name']+'该挂件已处于关闭状态'),_0x431e10):(_0x431e10[_0x1a4e('0x4fd1')](),console['log'](_0x431e10['name']+'关闭成功'),_0x431e10);console['warn'](_0x55765c['name']+'为工具要关闭请调用setCurrentTool');}},_0x3f251c[_0x1a4e('0xa')]['getAllPlugin']=function(){var _0x55765c,_0x3f251c,_0x431e10=[];try{for(var _0x557c74=_0x2a5c67(this[_0x1a4e('0x4fbb')][_0x1a4e('0x35b')]()),_0x1a54f0=_0x557c74[_0x1a4e('0x7e')]();!_0x1a54f0[_0x1a4e('0x3c2')];_0x1a54f0=_0x557c74['next']()){var _0x519069=_0x1a54f0[_0x1a4e('0x255')];_0x431e10[_0x1a4e('0x46')](_0x519069);}}catch(_0x9efe51){_0x55765c={'error':_0x9efe51};}finally{try{_0x1a54f0&&!_0x1a54f0[_0x1a4e('0x3c2')]&&(_0x3f251c=_0x557c74[_0x1a4e('0xe40')])&&_0x3f251c['call'](_0x557c74);}finally{if(_0x55765c)throw _0x55765c['error'];}}return _0x431e10;},_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x4fd2')]=function(){var _0x55765c,_0x3f251c,_0x431e10=[];try{for(var _0x557c74=_0x2a5c67(this[_0x1a4e('0x4fbb')][_0x1a4e('0x35b')]()),_0x1a54f0=_0x557c74[_0x1a4e('0x7e')]();!_0x1a54f0[_0x1a4e('0x3c2')];_0x1a54f0=_0x557c74['next']()){var _0x519069=_0x1a54f0[_0x1a4e('0x255')];_0x1a4e('0x4fc2')===_0x519069[_0x1a4e('0x40')]&&_0x431e10[_0x1a4e('0x46')](_0x519069);}}catch(_0x313977){_0x55765c={'error':_0x313977};}finally{try{_0x1a54f0&&!_0x1a54f0[_0x1a4e('0x3c2')]&&(_0x3f251c=_0x557c74[_0x1a4e('0xe40')])&&_0x3f251c[_0x1a4e('0x1')](_0x557c74);}finally{if(_0x55765c)throw _0x55765c['error'];}}return _0x431e10;},_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x4fd3')]=function(){var _0x55765c,_0x3f251c,_0x431e10=[];try{for(var _0x557c74=_0x2a5c67(this[_0x1a4e('0x4fbb')][_0x1a4e('0x35b')]()),_0x1a54f0=_0x557c74['next']();!_0x1a54f0[_0x1a4e('0x3c2')];_0x1a54f0=_0x557c74[_0x1a4e('0x7e')]()){var _0x519069=_0x1a54f0[_0x1a4e('0x255')];_0x1a4e('0x4fc4')===_0x519069[_0x1a4e('0x40')]&&_0x431e10[_0x1a4e('0x46')](_0x519069);}}catch(_0x3e3878){_0x55765c={'error':_0x3e3878};}finally{try{_0x1a54f0&&!_0x1a54f0[_0x1a4e('0x3c2')]&&(_0x3f251c=_0x557c74[_0x1a4e('0xe40')])&&_0x3f251c[_0x1a4e('0x1')](_0x557c74);}finally{if(_0x55765c)throw _0x55765c[_0x1a4e('0x873')];}}return _0x431e10;},_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x4fd4')]=function(){var _0x55765c,_0x3f251c,_0x431e10=[];try{for(var _0x557c74=_0x2a5c67(this['_plugins'][_0x1a4e('0x35b')]()),_0x1a54f0=_0x557c74[_0x1a4e('0x7e')]();!_0x1a54f0[_0x1a4e('0x3c2')];_0x1a54f0=_0x557c74[_0x1a4e('0x7e')]()){var _0x519069=_0x1a54f0['value'];_0x1a4e('0x4fc4')===_0x519069[_0x1a4e('0x40')]&&!0x0===_0x519069[_0x1a4e('0x1304')]&&_0x431e10[_0x1a4e('0x46')](_0x519069);}}catch(_0x29e468){_0x55765c={'error':_0x29e468};}finally{try{_0x1a54f0&&!_0x1a54f0['done']&&(_0x3f251c=_0x557c74[_0x1a4e('0xe40')])&&_0x3f251c[_0x1a4e('0x1')](_0x557c74);}finally{if(_0x55765c)throw _0x55765c[_0x1a4e('0x873')];}}return _0x431e10;},_0x3f251c[_0x1a4e('0xa')][_0x1a4e('0x4fd5')]=function(){return this[_0x1a4e('0x4fbc')];},_0x3f251c;}(_0x519069[_0x1a4e('0x168d')]);_0x3f251c[_0x1a4e('0x8')]=_0x22e013;},'./src/PluginManager/PluginView.ts':function(_0x13241d,_0x1385de,_0x476b08){'use strict';_0x476b08['r'](_0x1385de),_0x476b08['d'](_0x1385de,_0x1a4e('0x3fed'),function(){return _0x3fa99d;});var _0x3fa99d=function(){function _0x13241d(_0x13241d){this[_0x1a4e('0x433d')]=_0x13241d[_0x1a4e('0x12d8')],this[_0x1a4e('0x4764')]=_0x13241d[_0x1a4e('0x15cf')],this[_0x1a4e('0x4fd6')]=_0x13241d[_0x1a4e('0x4fd7')],this['state']='close',this[_0x1a4e('0x4fd8')]=this[_0x1a4e('0x4fd9')](this[_0x1a4e('0x4764')]),this[_0x1a4e('0x4fda')]=this[_0x1a4e('0x4fdb')](this[_0x1a4e('0x4fd6')]),this['containerDiv']['appendChild'](this[_0x1a4e('0x4fd8')]);}return Object[_0x1a4e('0x2')](_0x13241d[_0x1a4e('0xa')],_0x1a4e('0x3bf'),{'get':function(){return this[_0x1a4e('0x4fd8')];},'enumerable':!0x0,'configurable':!0x0}),_0x13241d[_0x1a4e('0xa')][_0x1a4e('0x3a23')]=function(){_0x1a4e('0x139b')===this[_0x1a4e('0xa46')]&&this[_0x1a4e('0x433d')][_0x1a4e('0x12c4')](this[_0x1a4e('0x4fda')]),this['containerDiv'][_0x1a4e('0x375c')][_0x1a4e('0x375d')]=_0x1a4e('0x260c'),this[_0x1a4e('0xa46')]=_0x1a4e('0x3a23');},_0x13241d[_0x1a4e('0xa')][_0x1a4e('0x3aee')]=function(){_0x1a4e('0x3a23')===this[_0x1a4e('0xa46')]&&(this['containerDiv'][_0x1a4e('0x375c')][_0x1a4e('0x375d')]='none',this[_0x1a4e('0xa46')]=_0x1a4e('0x3aee'));},_0x13241d['prototype'][_0x1a4e('0x139b')]=function(){_0x1a4e('0x139b')!==this['state']&&this['_container']['removeChild'](this[_0x1a4e('0x4fda')]),this[_0x1a4e('0xa46')]=_0x1a4e('0x139b');},_0x13241d[_0x1a4e('0xa')][_0x1a4e('0x3b0c')]=function(_0x13241d,_0x1385de){_0x13241d[_0x1a4e('0x38d6')][_0x1a4e('0x3b0e')][_0x1a4e('0x3b0f')]=new Cesium[(_0x1a4e('0x3b10'))](_0x1385de);},_0x13241d[_0x1a4e('0xa')][_0x1a4e('0x4fdc')]=function(_0x13241d){_0x13241d&&(_0x13241d[_0x1a4e('0x38d6')][_0x1a4e('0x3b0e')][_0x1a4e('0x3b0f')]=new Cesium[(_0x1a4e('0x3b10'))](_0x13241d['scene'][_0x1a4e('0x3934')]));},_0x13241d[_0x1a4e('0xa')][_0x1a4e('0x4fd9')]=function(_0x13241d){var _0x1385de=document['createElement']('iframe');return _0x1385de[_0x1a4e('0xe05')]=_0x13241d,this['_setStylePro'](_0x1385de,{'width':_0x1a4e('0x3b27'),'height':'100%','border':_0x1a4e('0x60')}),_0x1385de;},_0x13241d[_0x1a4e('0xa')]['_createDiv']=function(_0x13241d){var _0x1385de=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));return void 0x0===_0x13241d&&(_0x13241d={'width':_0x1a4e('0x3b27'),'height':_0x1a4e('0x3b27'),'top':0x0,'left':0x0}),this[_0x1a4e('0x4fdd')](_0x1385de,_0x13241d),_0x1385de;},_0x13241d[_0x1a4e('0xa')][_0x1a4e('0x4fdd')]=function(_0x13241d,_0x1385de){for(var _0x476b08 in _0x1385de)_0x13241d[_0x1a4e('0x375c')][_0x476b08]=_0x1385de[_0x476b08];},_0x13241d;}();},'./src/PluginManager/PluginsFactory.ts':function(_0x243aa2,_0x3c640a,_0x16547){'use strict';_0x16547['r'](_0x3c640a),_0x16547['d'](_0x3c640a,_0x1a4e('0x4fbf'),function(){return _0x377b4b;});var _0x4c6f73=_0x16547(_0x1a4e('0x3999')),_0x4ca9dd=function(){function _0x4ca9dd(){this['_pluginMap']=new Map();}return _0x4ca9dd[_0x1a4e('0xa')][_0x1a4e('0x4fde')]=function(_0x564ab2){if(_0x564ab2||console[_0x1a4e('0xe3c')](_0x1a4e('0x4fdf')),'string'==typeof _0x564ab2){var _0x28cefa=_0x4c6f73[_0x1a4e('0x39a0')][_0x1a4e('0x4de1')](_0x564ab2+_0x1a4e('0x4fe0'));if(!_0x28cefa)return void console[_0x1a4e('0xe3c')](_0x1a4e('0x4fe1')+_0x564ab2+_0x1a4e('0x4fe2'));_0x28cefa['originPath']=_0x564ab2,_0x564ab2=_0x28cefa;}return this[_0x1a4e('0x4fe3')](_0x564ab2);},_0x4ca9dd[_0x1a4e('0xa')][_0x1a4e('0x4fe3')]=function(_0x126d37){if(this[_0x1a4e('0x4fe4')]['has'](_0x126d37[_0x1a4e('0x2cb')]))return console[_0x1a4e('0xe3c')]('插件'+_0x126d37[_0x1a4e('0x2cb')]+_0x1a4e('0x4fe5')),this[_0x1a4e('0x4fe4')][_0x1a4e('0x179')](_0x126d37['name']);if(_0x126d37[_0x1a4e('0x4fe6')]&&(_0x126d37[_0x1a4e('0x64')]=_0x4c6f73['Util'][_0x1a4e('0x4fe7')](_0x126d37['originPath'],_0x126d37[_0x1a4e('0x64')])),this['_appendScript'](_0x126d37['path'])){var _0x5e606a=eval(_0x126d37['js']);return this[_0x1a4e('0x4fe4')][_0x1a4e('0x17a')](_0x126d37['name'],{'constructor':_0x5e606a,'options':_0x126d37}),this[_0x1a4e('0x4fe4')]['get'](name);}console[_0x1a4e('0xe3c')](_0x1a4e('0x4fe8')+name+_0x1a4e('0x4fe9'));},_0x4ca9dd[_0x1a4e('0xa')][_0x1a4e('0x4fea')]=function(_0x5ab5d5){var _0x30080b=document[_0x1a4e('0xe3d')](_0x1a4e('0xe3e')),_0x906ef8=_0x4c6f73[_0x1a4e('0x39a0')][_0x1a4e('0x4feb')](_0x5ab5d5);if(_0x906ef8)return document[_0x1a4e('0x10f1')][_0x1a4e('0x12c4')](_0x30080b),_0x30080b[_0x1a4e('0x12ba')]=_0x906ef8[_0x1a4e('0x115')](_0x1a4e('0x4fec'),'\x0a'),!0x0;},_0x4ca9dd[_0x1a4e('0xa')][_0x1a4e('0x4fed')]=function(_0x117724){window[_0x1a4e('0xbc')]['origin'];if('string'==typeof _0x117724)return _0x117724;if(_0x1a4e('0x85')==typeof _0x117724)_0x117724['path'];},_0x4ca9dd[_0x1a4e('0xa')][_0x1a4e('0x4fee')]=function(_0x2abc2f){this[_0x1a4e('0x4fe4')][_0x1a4e('0x178')](_0x2abc2f)&&this[_0x1a4e('0x4fe4')][_0x1a4e('0xf4c')](_0x2abc2f);},_0x4ca9dd[_0x1a4e('0xa')][_0x1a4e('0x4fef')]=function(_0x2d5eb5,_0x25525b,_0x21ee9c){if(_0x2d5eb5&&this[_0x1a4e('0x4fe4')][_0x1a4e('0x178')](_0x2d5eb5)){var _0xf3a870=this[_0x1a4e('0x4fe4')][_0x1a4e('0x179')](_0x2d5eb5),_0x50e513=new _0xf3a870[(_0x1a4e('0x10'))](_0x25525b,_0x21ee9c);return _0x50e513[_0x1a4e('0x3d3')]=_0xf3a870[_0x1a4e('0x8dc')]['name'],_0x50e513[_0x1a4e('0x399a')]=_0xf3a870[_0x1a4e('0x8dc')]['originPath'],_0x50e513[_0x1a4e('0x8dc')]=_0xf3a870['options'],_0x50e513;}},_0x4ca9dd;}(),_0x377b4b=new _0x4ca9dd();window['GV']||(window['GV']={}),window['GV'][_0x1a4e('0x4fbf')]=_0x377b4b;},'./src/PluginManager/Tool.ts':function(_0x446ee8,_0x1b587b,_0x43463e){'use strict';_0x43463e['r'](_0x1b587b),_0x43463e['d'](_0x1b587b,_0x1a4e('0x3fee'),function(){return _0x379a0b;});var _0x16411a,_0x2a5582=_0x43463e(_0x1a4e('0x4ff0')),_0x1c3f09=(_0x16411a=function(_0x446ee8,_0x1b587b){return(_0x16411a=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x446ee8,_0x1b587b){_0x446ee8['__proto__']=_0x1b587b;}||function(_0x446ee8,_0x1b587b){for(var _0x43463e in _0x1b587b)_0x1b587b['hasOwnProperty'](_0x43463e)&&(_0x446ee8[_0x43463e]=_0x1b587b[_0x43463e]);})(_0x446ee8,_0x1b587b);},function(_0x446ee8,_0x1b587b){function _0x43463e(){this['constructor']=_0x446ee8;}_0x16411a(_0x446ee8,_0x1b587b),_0x446ee8[_0x1a4e('0xa')]=null===_0x1b587b?Object[_0x1a4e('0x7')](_0x1b587b):(_0x43463e[_0x1a4e('0xa')]=_0x1b587b['prototype'],new _0x43463e());}),_0x379a0b=function(_0x446ee8){function _0x1b587b(_0x1b587b,_0x43463e){var _0x16411a=_0x446ee8[_0x1a4e('0x1')](this,_0x43463e,_0x1b587b)||this;return _0x16411a[_0x1a4e('0x39d5')]=_0x1a4e('0x4fc2'),_0x16411a[_0x1a4e('0x4ff1')]=!0x1,_0x16411a;}return _0x1c3f09(_0x1b587b,_0x446ee8),Object[_0x1a4e('0x2')](_0x1b587b[_0x1a4e('0xa')],_0x1a4e('0x4ff2'),{'get':function(){return this[_0x1a4e('0x4ff1')];},'enumerable':!0x0,'configurable':!0x0}),_0x1b587b[_0x1a4e('0xa')][_0x1a4e('0x1f7')]=function(){_0x446ee8['prototype'][_0x1a4e('0x1f7')][_0x1a4e('0x1')](this),this[_0x1a4e('0x4ff1')]=!0x1;},_0x1b587b[_0x1a4e('0xa')][_0x1a4e('0x4fc7')]=function(){this[_0x1a4e('0x3aee')](),this[_0x1a4e('0x4fb7')]=!0x1,this[_0x1a4e('0x4ff1')]=!0x0;},_0x1b587b[_0x1a4e('0xa')][_0x1a4e('0x3aee')]=function(){throw new Error(_0x1a4e('0x3ace'));},_0x1b587b[_0x1a4e('0xa')][_0x1a4e('0x4fba')]=function(){this[_0x1a4e('0x139b')](),this[_0x1a4e('0x4fb7')]=!0x1,this[_0x1a4e('0x4ff1')]=!0x1;},_0x1b587b;}(_0x2a5582[_0x1a4e('0x8')]);},'./src/PluginManager/Widget.ts':function(_0x53c1f2,_0x3fef94,_0x4e7ff1){'use strict';_0x4e7ff1['r'](_0x3fef94),_0x4e7ff1['d'](_0x3fef94,'Widget',function(){return _0x930ed3;});var _0x1110a1,_0x3fc162=_0x4e7ff1(_0x1a4e('0x4ff0')),_0x249a53=(_0x1110a1=function(_0x53c1f2,_0x3fef94){return(_0x1110a1=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x53c1f2,_0x3fef94){_0x53c1f2[_0x1a4e('0x295')]=_0x3fef94;}||function(_0x53c1f2,_0x3fef94){for(var _0x4e7ff1 in _0x3fef94)_0x3fef94[_0x1a4e('0xb')](_0x4e7ff1)&&(_0x53c1f2[_0x4e7ff1]=_0x3fef94[_0x4e7ff1]);})(_0x53c1f2,_0x3fef94);},function(_0x53c1f2,_0x3fef94){function _0x4e7ff1(){this['constructor']=_0x53c1f2;}_0x1110a1(_0x53c1f2,_0x3fef94),_0x53c1f2['prototype']=null===_0x3fef94?Object[_0x1a4e('0x7')](_0x3fef94):(_0x4e7ff1[_0x1a4e('0xa')]=_0x3fef94[_0x1a4e('0xa')],new _0x4e7ff1());}),_0x930ed3=function(_0x53c1f2){function _0x3fef94(_0x3fef94,_0x4e7ff1){var _0x1110a1=_0x53c1f2[_0x1a4e('0x1')](this,_0x4e7ff1,_0x3fef94)||this;return _0x1110a1[_0x1a4e('0x39d5')]=_0x1a4e('0x4fc4'),_0x1110a1;}return _0x249a53(_0x3fef94,_0x53c1f2),_0x3fef94;}(_0x3fc162['default']);},'./src/RenderExport.ts':function(_0x326cb6,_0x2a9224,_0x3587a6){'use strict';_0x3587a6['r'](_0x2a9224);var _0x361ae0=_0x3587a6('./src/LayerManager/GraphicLayer/GraphicRender/JBLineRender.ts');window['GV'][_0x1a4e('0x41de')]=_0x361ae0[_0x1a4e('0x41de')];},'./src/SceneOptions/CustomTilePrimitive.ts':function(_0x2c029c,_0x250947,_0x355d4a){'use strict';_0x355d4a['r'](_0x250947),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ff3'),function(){return _0x116c9b;}),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ff4'),function(){return _0x549e68;}),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ff5'),function(){return _0x548992;}),_0x355d4a['d'](_0x250947,'isQuadTileVisible',function(){return _0x14d128;}),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ff6'),function(){return _0xf76a2a;}),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ff7'),function(){return _0x136d5f;}),_0x355d4a['d'](_0x250947,'lonLatAltToRowColHei',function(){return _0x1e14b3;}),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ff8'),function(){return _0x3016e3;}),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ff9'),function(){return _0x3d4f18;}),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ffa'),function(){return _0x47bef3;}),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ffb'),function(){return _0x2a019d;}),_0x355d4a['d'](_0x250947,_0x1a4e('0x4ffc'),function(){return _0x2a7b8c;}),_0x355d4a['d'](_0x250947,'TriangleTile',function(){return _0x1d2150;});var _0x3397f=0.01745329251994,_0x74c55b=Cesium[_0x1a4e('0x3ab8')][_0x1a4e('0x3b85')],_0x41af8f=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V'],_0x41474c=['A','B','C','D','E','F','G','H'],_0x43bf21=[0x5a,0x2d,22.5,11.25,5.625,2.8125,1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.000686645507813,0.000343322753906,0.000171661376953,0.000085830688477,0.000042915344238,0.000021457672119,0.00001072883606,0.00000536441803,0.000002682209015,0.000001341104507,6.70552254e-7,3.35276127e-7,1.67638063e-7,8.3819032e-8],_0x7ad2e3=new Cesium[(_0x1a4e('0x3965'))](),_0x49100c=new Cesium[(_0x1a4e('0x393e'))](),_0x1de844=new Cesium[(_0x1a4e('0x3ac1'))]();function _0x116c9b(_0x2c029c){var _0x250947=0x0,_0x355d4a=_0x2c029c;return 0xffff0000&_0x2c029c&&(_0x250947+=0x10,_0x2c029c>>=0x10),0xff00&_0x2c029c&&(_0x250947+=0x8,_0x2c029c>>=0x8),0xf0&_0x2c029c&&(_0x250947+=0x4,_0x2c029c>>=0x4),0xc&_0x2c029c&&(_0x250947+=0x2,_0x2c029c>>=0x2),0x2&_0x2c029c&&(_0x250947+=0x1,_0x2c029c>>=0x1),_0x355d4a>0x1<<_0x250947&&_0x250947++,_0x250947;}function _0x549e68(_0x2c029c){var _0x250947=_0x2c029c[_0x1a4e('0x3e67')][_0x1a4e('0x3a2e')],_0x355d4a=_0x2c029c[_0x1a4e('0x3e67')][_0x1a4e('0x3a2f')],_0x3397f=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a30')](_0x250947,_0x355d4a,0x0);return Math[_0x1a4e('0x91')](_0x3397f['x']*_0x3397f['x']+_0x3397f['y']*_0x3397f['y']+_0x3397f['z']*_0x3397f['z']);}function _0x548992(_0x2c029c,_0x250947){_0x7ad2e3[_0x1a4e('0x394e')]=_0x2c029c[_0x1a4e('0x394e')]*_0x3397f,_0x7ad2e3[_0x1a4e('0x394f')]=_0x2c029c[_0x1a4e('0x394f')]*_0x3397f,_0x7ad2e3[_0x1a4e('0x3950')]=_0x2c029c[_0x1a4e('0x3950')]*_0x3397f,_0x7ad2e3['north']=_0x2c029c['north']*_0x3397f,_0x2c029c[_0x1a4e('0x4f19')]=Cesium['BoundingSphere']['fromRectangle3D'](_0x7ad2e3,_0x74c55b,0x0,_0x1de844);var _0x355d4a=_0x250947['cullingVolume'][_0x1a4e('0x4ffd')](_0x2c029c[_0x1a4e('0x4f19')]),_0x41af8f=!0x1;if(-0x1!==_0x355d4a){var _0x41474c=_0x250947[_0x1a4e('0x4ffe')],_0x43bf21=0x1/Math[_0x1a4e('0x90')](_0x7ad2e3[_0x1a4e('0x403b')]-_0x7ad2e3[_0x1a4e('0x394f')]),_0x116c9b=Cesium[_0x1a4e('0x393e')]['multiplyByScalar'](_0x2c029c[_0x1a4e('0x111')],_0x43bf21,_0x49100c),_0x549e68=_0x74c55b[_0x1a4e('0x4fff')](_0x116c9b);if(_0x41af8f=_0x41474c[_0x1a4e('0x5000')](_0x549e68),0x0===_0x355d4a&&!_0x41af8f){var _0x548992=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x5001')]([_0x7ad2e3[_0x1a4e('0x394e')],_0x7ad2e3[_0x1a4e('0x403b')],_0x7ad2e3[_0x1a4e('0x394e')],_0x7ad2e3[_0x1a4e('0x394f')],_0x7ad2e3[_0x1a4e('0x3950')],_0x7ad2e3[_0x1a4e('0x394f')],_0x7ad2e3['east'],_0x7ad2e3[_0x1a4e('0x403b')]]);_0x41474c['isScaledSpacePointVisible'](_0x74c55b[_0x1a4e('0x4fff')](_0x548992[0x0]))?_0x41af8f=!0x0:_0x41474c[_0x1a4e('0x5000')](_0x74c55b[_0x1a4e('0x4fff')](_0x548992[0x1]))?_0x41af8f=!0x0:_0x41474c[_0x1a4e('0x5000')](_0x74c55b[_0x1a4e('0x4fff')](_0x548992[0x2]))?_0x41af8f=!0x0:_0x41474c['isScaledSpacePointVisible'](_0x74c55b[_0x1a4e('0x4fff')](_0x548992[0x3]))&&(_0x41af8f=!0x0);}}return _0x41af8f;}function _0x14d128(_0x2c029c,_0x250947){_0x7ad2e3[_0x1a4e('0x394e')]=_0x2c029c[_0x1a4e('0x394e')]*_0x3397f,_0x7ad2e3['south']=_0x2c029c[_0x1a4e('0x394f')]*_0x3397f,_0x7ad2e3[_0x1a4e('0x3950')]=_0x2c029c['east']*_0x3397f,_0x7ad2e3[_0x1a4e('0x403b')]=_0x2c029c['north']*_0x3397f,_0x2c029c[_0x1a4e('0x4f19')]=Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x5002')](_0x7ad2e3,_0x74c55b,0x0,_0x1de844);var _0x355d4a=_0x250947['cullingVolume']['computeVisibility'](_0x2c029c[_0x1a4e('0x4f19')]),_0x41af8f=!0x1;if(-0x1!==_0x355d4a){var _0x41474c=_0x250947[_0x1a4e('0x4ffe')];if(0x0==_0x355d4a){var _0x43bf21=0x1/Math[_0x1a4e('0x90')](_0x7ad2e3[_0x1a4e('0x403b')]-_0x7ad2e3[_0x1a4e('0x394f')]),_0x116c9b=Cesium['Cartesian3'][_0x1a4e('0x3c36')](_0x2c029c['center'],_0x43bf21,_0x49100c),_0x549e68=_0x74c55b[_0x1a4e('0x4fff')](_0x116c9b);_0x41af8f=_0x41474c[_0x1a4e('0x5000')](_0x549e68);}else if(0x1==_0x355d4a&&_0x2c029c['level']<0x3){var _0x548992=Cesium[_0x1a4e('0x393e')]['fromRadiansArray']([_0x7ad2e3[_0x1a4e('0x394e')],_0x7ad2e3['north'],_0x7ad2e3[_0x1a4e('0x394e')],_0x7ad2e3['south'],_0x7ad2e3[_0x1a4e('0x3950')],_0x7ad2e3[_0x1a4e('0x394f')],_0x7ad2e3[_0x1a4e('0x3950')],_0x7ad2e3['north']]);_0x41474c['isScaledSpacePointVisible'](_0x74c55b[_0x1a4e('0x4fff')](_0x548992[0x0]))?_0x41af8f=!0x0:_0x41474c[_0x1a4e('0x5000')](_0x74c55b[_0x1a4e('0x4fff')](_0x548992[0x1]))?_0x41af8f=!0x0:_0x41474c[_0x1a4e('0x5000')](_0x74c55b[_0x1a4e('0x4fff')](_0x548992[0x2]))?_0x41af8f=!0x0:_0x41474c[_0x1a4e('0x5000')](_0x74c55b['transformPositionToScaledSpace'](_0x548992[0x3]))&&(_0x41af8f=!0x0);}else{_0x549e68=_0x74c55b[_0x1a4e('0x4fff')](_0x2c029c['center']);_0x41af8f=_0x41474c[_0x1a4e('0x5000')](_0x549e68);}}return _0x41af8f;}function _0xf76a2a(_0x2c029c,_0x250947){return _0x250947[_0x1a4e('0x394e')]>_0x250947[_0x1a4e('0x3950')]?!(_0x2c029c[_0x1a4e('0x3950')]<_0x250947[_0x1a4e('0x394e')]-0.000001&&_0x2c029c[_0x1a4e('0x394e')]>_0x250947['east']-0.000001||_0x250947[_0x1a4e('0x394f')]>_0x2c029c[_0x1a4e('0x403b')]-0.000001||_0x250947['north']<_0x2c029c['south']+0.000001):!(_0x250947[_0x1a4e('0x3950')]<_0x2c029c['west']+0.000001||_0x250947[_0x1a4e('0x394f')]>_0x2c029c[_0x1a4e('0x403b')]-0.000001||_0x250947[_0x1a4e('0x394e')]>_0x2c029c[_0x1a4e('0x3950')]-0.000001||_0x250947[_0x1a4e('0x403b')]<_0x2c029c[_0x1a4e('0x394f')]+0.000001);}function _0x165b23(_0x2c029c,_0x250947){_0x250947[_0x1a4e('0x3553')];var _0x355d4a,_0x74c55b,_0x41af8f=_0x2c029c[_0x1a4e('0x403b')]>_0x2c029c[_0x1a4e('0x394f')]?(_0x2c029c[_0x1a4e('0x403b')]-_0x2c029c['south'])*_0x3397f:(_0x2c029c[_0x1a4e('0x394f')]-_0x2c029c[_0x1a4e('0x403b')])*_0x3397f;return _0x74c55b=_0x250947[_0x1a4e('0x5003')]<0x617538?0.45*(_0x355d4a=_0x250947[_0x1a4e('0x502')]):_0x250947[_0x1a4e('0x5003')]<_0x250947[_0x1a4e('0x5004')]?0.8*(_0x355d4a=_0x250947['angle']):0.5*(_0x355d4a=_0x250947[_0x1a4e('0x5005')]),_0x355d4a/_0x41af8f*(_0x74c55b/_0x41af8f);}function _0x136d5f(_0x2c029c,_0x250947,_0x355d4a){var _0x3397f={'row':void 0x0,'col':void 0x0};return _0x2c029c<0x0&&(_0x2c029c+=0x168),_0x250947>0x0?(_0x3397f['row']=Math['floor']((0x1<<_0x355d4a)-_0x250947/_0x43bf21[_0x355d4a]),_0x3397f[_0x1a4e('0x5006')]=Math[_0x1a4e('0xb4')](_0x2c029c*(0x1<<_0x116c9b(_0x3397f[_0x1a4e('0x5007')]+0x1))/0x5a)):(_0x3397f[_0x1a4e('0x5007')]=Math[_0x1a4e('0xb4')]((0x1<<_0x355d4a)+_0x250947/_0x43bf21[_0x355d4a]),_0x3397f[_0x1a4e('0x5006')]=Math[_0x1a4e('0xb4')](_0x2c029c/0x5a*(0x1<<_0x116c9b(_0x3397f[_0x1a4e('0x5007')]+0x1)))+Math[_0x1a4e('0xb4')]((0x5a-_0x2c029c%0x5a)*(0x1<<_0x116c9b(_0x3397f[_0x1a4e('0x5007')]+0x1))/0x5a)),_0x3397f;}function _0x1e14b3(_0x2c029c,_0x250947,_0x355d4a,_0x3397f,_0x74c55b,_0x41af8f){void 0x0===_0x41af8f&&(_0x41af8f=0.1);var _0x41474c={'row':void 0x0,'col':void 0x0,'hei':void 0x0};return _0x2c029c<0x0&&(_0x2c029c+=0x168),_0x250947>0x0?(_0x41474c[_0x1a4e('0x5007')]=Math[_0x1a4e('0xb4')]((0x1<<_0x3397f)-_0x250947/_0x43bf21[_0x3397f]),_0x41474c['col']=Math[_0x1a4e('0xb4')](_0x2c029c*(0x1<<_0x116c9b(_0x41474c['row']+0x1))/0x5a)):(_0x41474c['row']=Math['floor']((0x1<<_0x3397f)+_0x250947/_0x43bf21[_0x3397f]),_0x41474c['col']=Math[_0x1a4e('0xb4')](_0x2c029c/0x5a*(0x1<<_0x116c9b(_0x41474c['row']+0x1)))+Math[_0x1a4e('0xb4')]((0x5a-_0x2c029c%0x5a)*(0x1<<_0x116c9b(_0x41474c[_0x1a4e('0x5007')]+0x1))/0x5a)),_0x41474c['hei']=_0x74c55b?Math[_0x1a4e('0xb4')]((_0x355d4a-_0x41af8f)/_0x74c55b):Math[_0x1a4e('0xb4')]((_0x355d4a-_0x41af8f)/(0x98e0b8>>_0x3397f)),_0x41474c;}function _0x3016e3(_0x2c029c,_0x250947,_0x355d4a){var _0x3397f={'_west':void 0x0,'_south':void 0x0,'_east':void 0x0,'_north':void 0x0,'_theigth':void 0x0,'_bHeight':void 0x0};return _0x3397f['_west']=_0x250947/(0x1<<_0x116c9b(_0x2c029c+0x1))*0x5a,_0x3397f[_0x1a4e('0x5008')]=0x5a-(_0x2c029c+0x1)/(0x1<<_0x355d4a)*0x5a,_0x3397f[_0x1a4e('0x5009')]=(_0x250947+0x1)/(0x1<<_0x116c9b(_0x2c029c+0x1))*0x5a,_0x3397f[_0x1a4e('0x500a')]=0x5a-_0x2c029c/(0x1<<_0x355d4a)*0x5a,_0x3397f;}function _0x3d4f18(_0x2c029c,_0x250947,_0x355d4a){for(var _0x3397f=_0x2c029c[_0x1a4e('0x409f')]?_0x2c029c[_0x1a4e('0x409f')]:_0x1a4e('0x4d7b'),_0x74c55b=0x0;_0x74c55b<_0x250947[_0x1a4e('0x1e')];++_0x74c55b)_0x355d4a['push'](new Cesium['GeometryInstance']({'geometry':new Cesium['RectangleOutlineGeometry']({'rectangle':Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](_0x250947[_0x74c55b]['_west'],_0x250947[_0x74c55b][_0x1a4e('0x5008')],_0x250947[_0x74c55b][_0x1a4e('0x5009')],_0x250947[_0x74c55b]['_north']),'height':_0x250947[_0x74c55b][_0x1a4e('0x500b')]?_0x250947[_0x74c55b][_0x1a4e('0x500b')]:_0x2c029c[_0x1a4e('0x500c')],'extrudedHeight':_0x250947[_0x74c55b][_0x1a4e('0x500d')]?_0x250947[_0x74c55b][_0x1a4e('0x500d')]:_0x2c029c[_0x1a4e('0x500e')]}),'id':_0x250947[_0x74c55b][_0x1a4e('0x500f')],'attributes':{'color':Cesium[_0x1a4e('0x3940')][_0x1a4e('0x39b4')](Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x3397f))}}));return new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x355d4a,'asynchronous':!0x1,'compressVertices':!0x1,'cull':!0x1,'appearance':new Cesium[(_0x1a4e('0x3ab2'))]({'flat':!0x0,'translucent':!0x1,'renderState':{'lineWidth':0x1}})});}function _0x47bef3(_0x2c029c,_0x250947,_0x355d4a){for(var _0x3397f,_0x74c55b,_0x41af8f,_0x41474c,_0x43bf21=_0x2c029c[_0x1a4e('0x5010')]?_0x2c029c[_0x1a4e('0x5010')]:0x1,_0x7ad2e3=_0x2c029c[_0x1a4e('0x5011')]?_0x2c029c[_0x1a4e('0x5011')]:0x1,_0x49100c=_0x2c029c[_0x1a4e('0x5012')]?_0x2c029c[_0x1a4e('0x5012')]:0x1,_0x1de844=_0x2c029c[_0x1a4e('0x134')]?_0x2c029c[_0x1a4e('0x134')]:_0x1a4e('0x5013'),_0x116c9b=0x0;_0x116c9b<_0x250947[_0x1a4e('0x1e')];_0x116c9b++)_0x3397f=_0x250947[_0x116c9b][_0x1a4e('0x5014')]>=0x0?_0x250947[_0x116c9b]['_west']*(0x2-_0x43bf21):_0x250947[_0x116c9b][_0x1a4e('0x5014')]*_0x43bf21,_0x74c55b=_0x250947[_0x116c9b][_0x1a4e('0x5008')]*(0x2-_0x7ad2e3),_0x41af8f=_0x250947[_0x116c9b][_0x1a4e('0x5009')]>=0x0?_0x250947[_0x116c9b]['_east']*_0x43bf21:_0x250947[_0x116c9b][_0x1a4e('0x5009')]*(0x2-_0x43bf21),_0x41474c=_0x250947[_0x116c9b][_0x1a4e('0x500a')]*_0x7ad2e3,_0x355d4a[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x446b'))]({'rectangle':Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](_0x3397f,_0x74c55b,_0x41af8f,_0x41474c),'height':_0x250947[_0x116c9b][_0x1a4e('0x500b')]?_0x250947[_0x116c9b][_0x1a4e('0x500b')]:_0x2c029c[_0x1a4e('0x500c')],'extrudedHeight':_0x250947[_0x116c9b][_0x1a4e('0x500d')]?_0x250947[_0x116c9b][_0x1a4e('0x500d')]*_0x49100c:_0x2c029c[_0x1a4e('0x500c')]+_0x2c029c[_0x1a4e('0x500e')]*_0x49100c}),'id':_0x250947[_0x116c9b],'attributes':{'color':Cesium[_0x1a4e('0x3940')][_0x1a4e('0x39b4')](Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x1de844))}}));return new Cesium['Primitive']({'geometryInstances':_0x355d4a,'asynchronous':!0x1,'compressVertices':!0x1,'cull':!0x1,'appearance':new Cesium[(_0x1a4e('0x3ab2'))]({'flat':!0x0,'translucent':!0x0})});}function _0x2a019d(_0x2c029c,_0x250947){for(var _0x355d4a=0x0;_0x355d4a<_0x2c029c[_0x1a4e('0x1e')];++_0x355d4a)_0x250947['add']({'position':_0x2c029c[_0x355d4a][_0x1a4e('0x5015')],'text':_0x2c029c[_0x355d4a][_0x1a4e('0x5016')],'font':_0x1a4e('0x46a8'),'horizontalOrigin':Cesium[_0x1a4e('0x440b')]['CENTER'],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')][_0x1a4e('0x445d')]});}function _0x5d4f93(_0x2c029c){Cesium[_0x1a4e('0x3a0b')](_0x2c029c)&&_0x2c029c[_0x1a4e('0x4132')];}var _0x2a7b8c=function(){function _0x2c029c(_0x2c029c){this['a']=0x1,this[_0x1a4e('0x5016')]=_0x2c029c[_0x1a4e('0x1617')],this[_0x1a4e('0x5017')]=_0x2c029c[_0x1a4e('0x5018')],this['_level']=_0x2c029c[_0x1a4e('0x2dd0')],this[_0x1a4e('0x5014')]=_0x2c029c[_0x1a4e('0x394e')],this['_south']=_0x2c029c[_0x1a4e('0x394f')],this[_0x1a4e('0x5009')]=_0x2c029c[_0x1a4e('0x3950')],this[_0x1a4e('0x500a')]=_0x2c029c[_0x1a4e('0x403b')],this[_0x1a4e('0x500b')]=_0x2c029c[_0x1a4e('0x5019')],this[_0x1a4e('0x500d')]=_0x2c029c[_0x1a4e('0x501a')],this['_cenLon']=(_0x2c029c[_0x1a4e('0x394e')]+_0x2c029c[_0x1a4e('0x3950')])/0x2,this['_cenLat']=(_0x2c029c[_0x1a4e('0x394f')]+_0x2c029c[_0x1a4e('0x403b')])/0x2,this[_0x1a4e('0x5015')]=Cesium['Cartesian3'][_0x1a4e('0x38db')](this['_cenLon'],this[_0x1a4e('0x501b')]),this[_0x1a4e('0x501c')]=_0x2c029c['row']?_0x2c029c[_0x1a4e('0x5007')]:0x0,this[_0x1a4e('0x501d')]=_0x2c029c['col']?_0x2c029c[_0x1a4e('0x5006')]:0x0,this[_0x1a4e('0x501e')]=void 0x0,this[_0x1a4e('0x501f')]=void 0x0,this[_0x1a4e('0x5020')]=void 0x0,this[_0x1a4e('0x5021')]=void 0x0,this[_0x1a4e('0x5022')]=void 0x0,this[_0x1a4e('0x5023')]=void 0x0,this[_0x1a4e('0x5024')]=void 0x0,this[_0x1a4e('0x5025')]=void 0x0,this['_MMChild']=void 0x0,this[_0x1a4e('0x4f19')]=void 0x0,this[_0x1a4e('0x148')]=void 0x0,this[_0x1a4e('0x5026')]=!0x1;}return Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x1617'),{'get':function(){return this[_0x1a4e('0x5016')];},'set':function(_0x2c029c){this[_0x1a4e('0x5016')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x2dd0'),{'get':function(){return this[_0x1a4e('0x4ac')];},'set':function(_0x2c029c){this[_0x1a4e('0x4ac')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x394e'),{'get':function(){return this[_0x1a4e('0x5014')];},'set':function(_0x2c029c){this[_0x1a4e('0x5014')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x394f'),{'get':function(){return this['_south'];},'set':function(_0x2c029c){this[_0x1a4e('0x5008')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],'east',{'get':function(){return this[_0x1a4e('0x5009')];},'set':function(_0x2c029c){this['_east']=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x403b'),{'get':function(){return this[_0x1a4e('0x500a')];},'set':function(_0x2c029c){this[_0x1a4e('0x500a')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c['prototype'],_0x1a4e('0x5019'),{'get':function(){return this[_0x1a4e('0x500b')];},'set':function(_0x2c029c){this['_bHeight']=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],'tHeight',{'get':function(){return this[_0x1a4e('0x500d')];},'set':function(_0x2c029c){this[_0x1a4e('0x500d')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x5027'),{'get':function(){return this[_0x1a4e('0x5028')];},'set':function(_0x2c029c){this[_0x1a4e('0x5028')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],'cenLat',{'get':function(){return this[_0x1a4e('0x501b')];},'set':function(_0x2c029c){this['_cenLat']=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x111'),{'get':function(){return this[_0x1a4e('0x5015')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x5029'),{'get':function(){return this[_0x1a4e('0x501e')];},'set':function(_0x2c029c){this[_0x1a4e('0x501e')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x502a'),{'get':function(){return this[_0x1a4e('0x501f')];},'set':function(_0x2c029c){this['_RTChild']=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c['prototype'],_0x1a4e('0x502b'),{'get':function(){return this[_0x1a4e('0x5020')];},'set':function(_0x2c029c){this[_0x1a4e('0x5020')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c['prototype'],_0x1a4e('0x502c'),{'get':function(){return this[_0x1a4e('0x5021')];},'set':function(_0x2c029c){this[_0x1a4e('0x5021')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c['prototype'],'row',{'get':function(){return this['_row'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x5006'),{'get':function(){return this['_col'];},'enumerable':!0x0,'configurable':!0x0}),_0x2c029c[_0x1a4e('0xa')]['update']=function(_0x2c029c,_0x250947){_0x14d128(this,_0x250947)?this[_0x1a4e('0x4ac')]<_0x250947['scale']?(0x0===this['_level']?(this[_0x1a4e('0x502d')](),0x1===_0x250947[_0x1a4e('0x143')]&&(this[_0x1a4e('0x501e')]['_code']=this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+_0x1a4e('0x502e'),this[_0x1a4e('0x501f')]['_code']=this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+_0x1a4e('0x502f'),this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]=this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+_0x1a4e('0x5030'),this[_0x1a4e('0x5021')][_0x1a4e('0x5016')]=this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+_0x1a4e('0x5031'))):0x1===this[_0x1a4e('0x4ac')]?(this[_0x1a4e('0x502d')](),0x2===_0x250947[_0x1a4e('0x143')]&&(this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]=this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+(0x1+0x2*(this[_0x1a4e('0x501c')]-0x1))+'00'+(0x1+0x2*(this[_0x1a4e('0x501d')]-0x1)),this[_0x1a4e('0x501f')][_0x1a4e('0x5016')]=this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+(0x1+0x2*(this[_0x1a4e('0x501c')]-0x1))+'00'+(0x2+0x2*(this['_col']-0x1)),this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]=this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+(0x2+0x2*(this['_row']-0x1))+'00'+(0x1+0x2*(this[_0x1a4e('0x501d')]-0x1)),this[_0x1a4e('0x5021')][_0x1a4e('0x5016')]=this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+(0x2+0x2*(this['_row']-0x1))+'00'+(0x2+0x2*(this[_0x1a4e('0x501d')]-0x1)))):0x2===this[_0x1a4e('0x4ac')]?(this[_0x1a4e('0x5032')](),0x3===_0x250947[_0x1a4e('0x143')]&&(this[_0x1a4e('0x501e')]['_code']=this['_preCode'],this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]=0x3*this['_row']-0x2>0x9?this['_LTChild']['_code']+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+(0x3*this[_0x1a4e('0x501c')]-0x2):this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+(0x3*this[_0x1a4e('0x501c')]-0x2),this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]=0x3*this['_col']-0x2>0x9?this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]+'0'+(0x3*this['_col']-0x2):this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]+'00'+(0x3*this[_0x1a4e('0x501d')]-0x2),this[_0x1a4e('0x5025')]['_code']=this[_0x1a4e('0x5017')],this[_0x1a4e('0x5025')][_0x1a4e('0x5016')]=0x3*this[_0x1a4e('0x501c')]-0x2>0x9?this[_0x1a4e('0x5025')]['_code']+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+(0x3*this['_row']-0x2):this[_0x1a4e('0x5025')]['_code']+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+(0x3*this['_row']-0x2),this['_TMChild'][_0x1a4e('0x5016')]=0x3*this[_0x1a4e('0x501d')]-0x1>0x9?this[_0x1a4e('0x5025')][_0x1a4e('0x5016')]+'0'+(0x3*this[_0x1a4e('0x501d')]-0x1):this['_TMChild'][_0x1a4e('0x5016')]+'00'+(0x3*this[_0x1a4e('0x501d')]-0x1),this[_0x1a4e('0x501f')]['_code']=this['_preCode'],this['_RTChild']['_code']=0x3*this[_0x1a4e('0x501c')]-0x2>0x9?this[_0x1a4e('0x501f')][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+(0x3*this[_0x1a4e('0x501c')]-0x2):this[_0x1a4e('0x501f')]['_code']+_0x41474c[_0x250947['scale']]+'00'+(0x3*this['_row']-0x2),this[_0x1a4e('0x501f')][_0x1a4e('0x5016')]=0x3*this[_0x1a4e('0x501d')]>0x9?this[_0x1a4e('0x501f')]['_code']+'0'+0x3*this[_0x1a4e('0x501d')]:this[_0x1a4e('0x501f')]['_code']+'00'+0x3*this['_col'],this[_0x1a4e('0x5022')][_0x1a4e('0x5016')]=this['_preCode'],this['_LMChild'][_0x1a4e('0x5016')]=0x3*this[_0x1a4e('0x501c')]-0x1>0x9?this['_LMChild'][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+(0x3*this['_row']-0x1):this[_0x1a4e('0x5022')][_0x1a4e('0x5016')]+_0x41474c[_0x250947['scale']]+'00'+(0x3*this[_0x1a4e('0x501c')]-0x1),this['_LMChild'][_0x1a4e('0x5016')]=0x3*this[_0x1a4e('0x501d')]-0x2>0x9?this[_0x1a4e('0x5022')][_0x1a4e('0x5016')]+'0'+(0x3*this['_col']-0x2):this[_0x1a4e('0x5022')][_0x1a4e('0x5016')]+'00'+(0x3*this['_col']-0x2),this[_0x1a4e('0x5033')][_0x1a4e('0x5016')]=this[_0x1a4e('0x5017')],this['_MMChild'][_0x1a4e('0x5016')]=0x3*this[_0x1a4e('0x501c')]-0x1>0x9?this['_MMChild'][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+(0x3*this[_0x1a4e('0x501c')]-0x1):this['_MMChild'][_0x1a4e('0x5016')]+_0x41474c[_0x250947['scale']]+'00'+(0x3*this[_0x1a4e('0x501c')]-0x1),this['_MMChild'][_0x1a4e('0x5016')]=0x3*this['_col']-0x1>0x9?this[_0x1a4e('0x5033')]['_code']+'0'+(0x3*this[_0x1a4e('0x501d')]-0x1):this['_MMChild'][_0x1a4e('0x5016')]+'00'+(0x3*this[_0x1a4e('0x501d')]-0x1),this[_0x1a4e('0x5024')]['_code']=this[_0x1a4e('0x5017')],this[_0x1a4e('0x5024')]['_code']=0x3*this[_0x1a4e('0x501c')]-0x1>0x9?this[_0x1a4e('0x5024')][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+(0x3*this[_0x1a4e('0x501c')]-0x1):this[_0x1a4e('0x5024')][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+(0x3*this[_0x1a4e('0x501c')]-0x1),this[_0x1a4e('0x5024')][_0x1a4e('0x5016')]=0x3*this[_0x1a4e('0x501d')]>0x9?this[_0x1a4e('0x5024')][_0x1a4e('0x5016')]+'0'+0x3*this[_0x1a4e('0x501d')]:this[_0x1a4e('0x5024')][_0x1a4e('0x5016')]+'00'+0x3*this['_col'],this[_0x1a4e('0x5020')]['_code']=this[_0x1a4e('0x5017')],this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]=0x3*this[_0x1a4e('0x501c')]>0x9?this['_LBChild'][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+0x3*this['_row']:this['_LBChild'][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+0x3*this[_0x1a4e('0x501c')],this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]=0x3*this[_0x1a4e('0x501d')]-0x2>0x9?this[_0x1a4e('0x5020')]['_code']+'0'+(0x3*this[_0x1a4e('0x501d')]-0x2):this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]+'00'+(0x3*this[_0x1a4e('0x501d')]-0x2),this[_0x1a4e('0x5023')][_0x1a4e('0x5016')]=this[_0x1a4e('0x5017')],this[_0x1a4e('0x5023')][_0x1a4e('0x5016')]=0x3*this['_row']>0x9?this['_BMChild']['_code']+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+0x3*this[_0x1a4e('0x501c')]:this[_0x1a4e('0x5023')]['_code']+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+0x3*this[_0x1a4e('0x501c')],this[_0x1a4e('0x5023')][_0x1a4e('0x5016')]=0x3*this['_col']-0x1>0x9?this[_0x1a4e('0x5023')][_0x1a4e('0x5016')]+'0'+(0x3*this[_0x1a4e('0x501d')]-0x1):this[_0x1a4e('0x5023')]['_code']+'00'+(0x3*this[_0x1a4e('0x501d')]-0x1),this[_0x1a4e('0x5021')][_0x1a4e('0x5016')]=this[_0x1a4e('0x5017')],this[_0x1a4e('0x5021')][_0x1a4e('0x5016')]=0x3*this['_row']>0x9?this['_RBChild'][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+0x3*this['_row']:this['_RBChild'][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+0x3*this[_0x1a4e('0x501c')],this[_0x1a4e('0x5021')]['_code']=0x3*this[_0x1a4e('0x501d')]>0x9?this[_0x1a4e('0x5021')][_0x1a4e('0x5016')]+'0'+0x3*this[_0x1a4e('0x501d')]:this[_0x1a4e('0x5021')]['_code']+'00'+0x3*this['_col']),this['_TMChild'][_0x1a4e('0x937')](_0x2c029c,_0x250947),this[_0x1a4e('0x5022')][_0x1a4e('0x937')](_0x2c029c,_0x250947),this[_0x1a4e('0x5033')]['update'](_0x2c029c,_0x250947),this['_RMChild']['update'](_0x2c029c,_0x250947),this[_0x1a4e('0x5023')]['update'](_0x2c029c,_0x250947)):(this[_0x1a4e('0x502d')](),this[_0x1a4e('0x4ac')]===_0x250947['scale']-0x1&&(this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]=0x2*this[_0x1a4e('0x501c')]-0x1>0x9?this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+(0x2*this[_0x1a4e('0x501c')]-0x1):this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+(0x2*this[_0x1a4e('0x501c')]-0x1),this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]=0x2*this[_0x1a4e('0x501d')]-0x1>0x9?this[_0x1a4e('0x501e')][_0x1a4e('0x5016')]+'0'+(0x2*this[_0x1a4e('0x501d')]-0x1):this[_0x1a4e('0x501e')]['_code']+'00'+(0x2*this[_0x1a4e('0x501d')]-0x1),this[_0x1a4e('0x501f')][_0x1a4e('0x5016')]=0x2*this[_0x1a4e('0x501c')]-0x1>0x9?this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+(0x2*this[_0x1a4e('0x501c')]-0x1):this[_0x1a4e('0x501f')]['_code']+_0x41474c[_0x250947['scale']]+'00'+(0x2*this[_0x1a4e('0x501c')]-0x1),this['_RTChild'][_0x1a4e('0x5016')]=0x2*this[_0x1a4e('0x501d')]>0x9?this[_0x1a4e('0x501f')][_0x1a4e('0x5016')]+'0'+0x2*this['_col']:this[_0x1a4e('0x501f')][_0x1a4e('0x5016')]+'00'+0x2*this[_0x1a4e('0x501d')],this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]=0x2*this['_row']>0x9?this[_0x1a4e('0x5017')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+0x2*this[_0x1a4e('0x501c')]:this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'00'+0x2*this['_row'],this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]=0x2*this[_0x1a4e('0x501d')]-0x1>0x9?this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]+'0'+(0x2*this[_0x1a4e('0x501d')]-0x1):this[_0x1a4e('0x5020')][_0x1a4e('0x5016')]+'00'+(0x2*this['_col']-0x1),this['_RBChild'][_0x1a4e('0x5016')]=0x2*this['_row']>0x9?this['_preCode']+_0x41474c[_0x250947[_0x1a4e('0x143')]]+'0'+0x2*this[_0x1a4e('0x501c')]:this[_0x1a4e('0x5021')][_0x1a4e('0x5016')]+_0x41474c[_0x250947['scale']]+'00'+0x2*this[_0x1a4e('0x501c')],this[_0x1a4e('0x5021')]['_code']=0x2*this['_col']>0x9?this['_RBChild'][_0x1a4e('0x5016')]+'0'+0x2*this['_col']:this['_RBChild'][_0x1a4e('0x5016')]+'00'+0x2*this['_col'])),this[_0x1a4e('0x501e')][_0x1a4e('0x937')](_0x2c029c,_0x250947),this[_0x1a4e('0x501f')]['update'](_0x2c029c,_0x250947),this[_0x1a4e('0x5020')]['update'](_0x2c029c,_0x250947),this['_RBChild'][_0x1a4e('0x937')](_0x2c029c,_0x250947)):(this['_LTChild']=void 0x0,this[_0x1a4e('0x501f')]=void 0x0,this[_0x1a4e('0x5020')]=void 0x0,this[_0x1a4e('0x5021')]=void 0x0,this['_TMChild']=void 0x0,this[_0x1a4e('0x5022')]=void 0x0,this[_0x1a4e('0x5033')]=void 0x0,this['_RMChild']=void 0x0,this[_0x1a4e('0x5023')]=void 0x0,_0x2c029c[_0x1a4e('0x46')](this)):this['destory']();},_0x2c029c[_0x1a4e('0xa')][_0x1a4e('0x5034')]=function(_0x250947,_0x355d4a,_0x3397f,_0x74c55b,_0x41474c){if(0x1===_0x3397f)_0x548992(this,_0x74c55b)?(this['computeCustomChildren'](this[_0x1a4e('0x5016')],this['_level'],this[_0x1a4e('0x5014')],this[_0x1a4e('0x5008')],this[_0x1a4e('0x5009')],this[_0x1a4e('0x500a')],this['_cenLon'],this['_cenLat']),this[_0x1a4e('0x501e')][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x0),this['_RTChild'][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x0),this[_0x1a4e('0x5020')][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x0),this[_0x1a4e('0x5021')][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x0)):this[_0x1a4e('0x4132')]();else if(0x2===_0x3397f){_0x548992(this,_0x74c55b)?(this[_0x1a4e('0x5035')](this[_0x1a4e('0x5016')],this[_0x1a4e('0x4ac')],this['_west'],this['_south'],this[_0x1a4e('0x5009')],this['_north'],this['_west']+0x30,this[_0x1a4e('0x5008')]+0x18),this[_0x1a4e('0x501e')][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x1),this[_0x1a4e('0x501f')]['initUpdate'](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x2),this[_0x1a4e('0x5020')][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x3),this[_0x1a4e('0x5021')][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x4)):this[_0x1a4e('0x4132')]();}else if(0x3===_0x3397f){_0x548992(this,_0x74c55b)?(this[_0x1a4e('0x501e')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')],'west':this[_0x1a4e('0x5014')],'south':this['_south']+0xc,'east':this['_west']+0x18,'north':this[_0x1a4e('0x500a')]}),this[_0x1a4e('0x501f')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')],'west':this[_0x1a4e('0x5014')]+0x18,'south':this['_south']+0xc,'east':this[_0x1a4e('0x5009')],'north':this['_north']}),this[_0x1a4e('0x5020')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')],'west':this['_west'],'south':this['_south'],'east':this['_west']+0x18,'north':this[_0x1a4e('0x5008')]+0xc}),this['_RBChild']=new _0x2c029c({'code':this['_code'],'level':this[_0x1a4e('0x4ac')],'west':this[_0x1a4e('0x5014')]+0x18,'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x5008')]+0xc}),this[_0x1a4e('0x501e')]['initUpdate'](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x5),this[_0x1a4e('0x501f')][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x5),this[_0x1a4e('0x5020')][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x5),this[_0x1a4e('0x5021')][_0x1a4e('0x5034')](_0x250947,_0x355d4a,_0x3397f+0x1,_0x74c55b,0x5)):this['destory']();}else{if(0x5===_0x41474c){if(_0x14d128(this,_0x74c55b))for(var _0x43bf21=Math['round']((this[_0x1a4e('0x5009')]-this[_0x1a4e('0x5014')])/0x6),_0x7ad2e3=Math[_0x1a4e('0x2a')]((this['_north']-this[_0x1a4e('0x5008')])/0x4),_0x49100c=0x0;_0x49100c<_0x43bf21;++_0x49100c)for(var _0x1de844=0x0;_0x1de844<_0x7ad2e3;++_0x1de844){var _0x116c9b=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':0x0,'west':this[_0x1a4e('0x5014')]+0x6*_0x49100c,'south':this[_0x1a4e('0x5008')]+0x4*_0x1de844,'east':this[_0x1a4e('0x5014')]+0x6*(_0x49100c+0x1),'north':this['_south']+0x4*(_0x1de844+0x1)});_0x116c9b[_0x1a4e('0x5017')]=_0x116c9b[_0x1a4e('0x5016')]+_0x41af8f[Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x65')](_0x116c9b[_0x1a4e('0x5036')])/0x4)]+Math[_0x1a4e('0x6d')]((_0x116c9b[_0x1a4e('0x5027')]+0xb4)/0x6),_0x116c9b[_0x1a4e('0x501c')]=0x1,_0x116c9b['_col']=0x1,_0x116c9b['_code']=_0x116c9b[_0x1a4e('0x5017')],_0x116c9b[_0x1a4e('0x937')](_0x250947,_0x74c55b);}}else this[_0x1a4e('0x4132')]();}},_0x2c029c[_0x1a4e('0xa')][_0x1a4e('0x5037')]=function(_0x2c029c,_0x250947){_0x14d128(this,_0x250947)?_0x165b23(this,_0x250947)<_0x250947['subdivFactor']?(null==this[_0x1a4e('0x501e')]&&null==this[_0x1a4e('0x501f')]&&null==this[_0x1a4e('0x5020')]&&null==this[_0x1a4e('0x5021')]&&this['computeChildren'](),this['_LTChild'][_0x1a4e('0x5037')](_0x2c029c,_0x250947),this[_0x1a4e('0x501f')][_0x1a4e('0x5037')](_0x2c029c,_0x250947),this[_0x1a4e('0x5020')]['DQGUpdate'](_0x2c029c,_0x250947),this['_RBChild'][_0x1a4e('0x5037')](_0x2c029c,_0x250947)):(this[_0x1a4e('0x4ac')]>_0x250947[_0x1a4e('0x5038')]&&(_0x250947['maxWholeTileLevel']=this[_0x1a4e('0x4ac')]),this[_0x1a4e('0x501e')]=void 0x0,this['_RTChild']=void 0x0,this[_0x1a4e('0x5020')]=void 0x0,this[_0x1a4e('0x5021')]=void 0x0,_0x2c029c['push'](this)):this[_0x1a4e('0x4132')]();},_0x2c029c[_0x1a4e('0xa')][_0x1a4e('0x5039')]=function(_0x2c029c,_0x250947,_0x355d4a){_0xf76a2a(this,_0x355d4a)?this[_0x1a4e('0x4ac')]<_0x250947[_0x1a4e('0x503a')]?(null==this[_0x1a4e('0x501e')]&&null==this['_RTChild']&&null==this[_0x1a4e('0x5020')]&&null==this[_0x1a4e('0x5021')]&&this[_0x1a4e('0x503b')](),this[_0x1a4e('0x501e')]['staticUpdate'](_0x2c029c,_0x250947,_0x355d4a),this[_0x1a4e('0x501f')][_0x1a4e('0x5039')](_0x2c029c,_0x250947,_0x355d4a),this[_0x1a4e('0x5020')][_0x1a4e('0x5039')](_0x2c029c,_0x250947,_0x355d4a),this[_0x1a4e('0x5021')]['staticUpdate'](_0x2c029c,_0x250947,_0x355d4a)):(this[_0x1a4e('0x501e')]=void 0x0,this[_0x1a4e('0x501f')]=void 0x0,this[_0x1a4e('0x5020')]=void 0x0,this[_0x1a4e('0x5021')]=void 0x0,_0x2c029c[_0x1a4e('0x46')](this)):this[_0x1a4e('0x4132')]();},_0x2c029c[_0x1a4e('0xa')][_0x1a4e('0x502d')]=function(){this[_0x1a4e('0x501b')]>0x0?(null==this[_0x1a4e('0x501e')]&&(this[_0x1a4e('0x501e')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'preCode':this['_preCode'],'level':this['_level']+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x500a')],'row':0x2*this[_0x1a4e('0x501c')]-0x1,'col':0x2*this['col']-0x1})),null==this['_RTChild']&&(this[_0x1a4e('0x501f')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'preCode':this[_0x1a4e('0x5017')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5028')],'south':this['_cenLat'],'east':this['_east'],'north':this['_north'],'row':0x2*this[_0x1a4e('0x501c')]-0x1,'col':0x2*this[_0x1a4e('0x5006')]})),null==this[_0x1a4e('0x5020')]&&(this['_LBChild']=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'preCode':this[_0x1a4e('0x5017')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x501b')],'row':0x2*this[_0x1a4e('0x501c')],'col':0x2*this[_0x1a4e('0x5006')]-0x1})),null==this[_0x1a4e('0x5021')]&&(this[_0x1a4e('0x5021')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'preCode':this[_0x1a4e('0x5017')],'level':this['_level']+0x1,'west':this[_0x1a4e('0x5028')],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x501b')],'row':0x2*this[_0x1a4e('0x501c')],'col':0x2*this[_0x1a4e('0x5006')]}))):(null==this[_0x1a4e('0x5021')]&&(this[_0x1a4e('0x5021')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'preCode':this[_0x1a4e('0x5017')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this['_cenLon'],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5009')],'north':this['_cenLat'],'row':0x2*this[_0x1a4e('0x501c')],'col':0x2*this[_0x1a4e('0x5006')]})),null==this[_0x1a4e('0x5020')]&&(this[_0x1a4e('0x5020')]=new _0x2c029c({'code':this['_code'],'preCode':this[_0x1a4e('0x5017')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x501b')],'row':0x2*this[_0x1a4e('0x501c')],'col':0x2*this[_0x1a4e('0x5006')]-0x1})),null==this['_RTChild']&&(this[_0x1a4e('0x501f')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'preCode':this[_0x1a4e('0x5017')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this['_cenLon'],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x500a')],'row':0x2*this[_0x1a4e('0x501c')]-0x1,'col':0x2*this[_0x1a4e('0x5006')]})),null==this[_0x1a4e('0x501e')]&&(this[_0x1a4e('0x501e')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'preCode':this[_0x1a4e('0x5017')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5028')],'north':this['_north'],'row':0x2*this[_0x1a4e('0x501c')]-0x1,'col':0x2*this[_0x1a4e('0x5006')]-0x1})));},_0x2c029c['prototype'][_0x1a4e('0x5032')]=function(){var _0x250947=0.3333333*(this[_0x1a4e('0x500a')]-this[_0x1a4e('0x394f')]),_0x355d4a=0.3333333*(this[_0x1a4e('0x5009')]-this['_west']);null==this[_0x1a4e('0x501e')]&&(this[_0x1a4e('0x501e')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'preCode':this[_0x1a4e('0x5017')],'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x500a')]-_0x250947,'east':this[_0x1a4e('0x5014')]+_0x355d4a,'north':this['_north'],'row':0x3*this[_0x1a4e('0x501c')]-0x2,'col':0x3*this[_0x1a4e('0x501d')]-0x2})),null==this['_TMChild']&&(this['_TMChild']=new _0x2c029c({'code':this['_code'],'level':this[_0x1a4e('0x4ac')]+0x1,'preCode':this[_0x1a4e('0x5017')],'west':this['_west']+_0x355d4a,'south':this[_0x1a4e('0x500a')]-_0x250947,'east':this[_0x1a4e('0x5009')]-_0x355d4a,'north':this[_0x1a4e('0x500a')],'row':0x3*this['_row']-0x2,'col':0x3*this['_col']-0x1})),null==this[_0x1a4e('0x501f')]&&(this[_0x1a4e('0x501f')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'preCode':this[_0x1a4e('0x5017')],'west':this['_east']-_0x355d4a,'south':this[_0x1a4e('0x500a')]-_0x250947,'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x500a')],'row':0x3*this[_0x1a4e('0x501c')]-0x2,'col':0x3*this[_0x1a4e('0x501d')]})),null==this['_LMChild']&&(this['_LMChild']=new _0x2c029c({'code':this['_code'],'level':this['_level']+0x1,'preCode':this['_preCode'],'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')]+_0x250947,'east':this[_0x1a4e('0x5014')]+_0x355d4a,'north':this['_north']-_0x250947,'row':0x3*this[_0x1a4e('0x501c')]-0x1,'col':0x3*this[_0x1a4e('0x501d')]-0x2})),null==this[_0x1a4e('0x5033')]&&(this[_0x1a4e('0x5033')]=new _0x2c029c({'code':this['_code'],'level':this[_0x1a4e('0x4ac')]+0x1,'preCode':this[_0x1a4e('0x5017')],'west':this[_0x1a4e('0x5014')]+_0x355d4a,'south':this[_0x1a4e('0x5008')]+_0x250947,'east':this['_east']-_0x355d4a,'north':this[_0x1a4e('0x500a')]-_0x250947,'row':0x3*this[_0x1a4e('0x501c')]-0x1,'col':0x3*this[_0x1a4e('0x501d')]-0x1})),null==this['_RMChild']&&(this[_0x1a4e('0x5024')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'preCode':this['_preCode'],'west':this[_0x1a4e('0x5009')]-_0x355d4a,'south':this[_0x1a4e('0x5008')]+_0x250947,'east':this['_east'],'north':this[_0x1a4e('0x500a')]-_0x250947,'row':0x3*this[_0x1a4e('0x501c')]-0x1,'col':0x3*this[_0x1a4e('0x501d')]})),null==this['_LBChild']&&(this['_LBChild']=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this['_level']+0x1,'preCode':this[_0x1a4e('0x5017')],'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5014')]+_0x355d4a,'north':this[_0x1a4e('0x5008')]+_0x250947,'row':0x3*this['_row'],'col':0x3*this['_col']-0x2})),null==this[_0x1a4e('0x5023')]&&(this['_BMChild']=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'preCode':this['_preCode'],'west':this[_0x1a4e('0x5014')]+_0x355d4a,'south':this['_south'],'east':this['_east']-_0x355d4a,'north':this[_0x1a4e('0x5008')]+_0x250947,'row':0x3*this[_0x1a4e('0x501c')],'col':0x3*this[_0x1a4e('0x501d')]-0x1})),null==this['_RBChild']&&(this[_0x1a4e('0x5021')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'preCode':this[_0x1a4e('0x5017')],'west':this[_0x1a4e('0x5009')]-_0x355d4a,'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x5008')]+_0x250947,'row':0x3*this[_0x1a4e('0x501c')],'col':0x3*this[_0x1a4e('0x501d')]}));},_0x2c029c[_0x1a4e('0xa')][_0x1a4e('0x503b')]=function(){this[_0x1a4e('0x501b')]>0x0?(null==this[_0x1a4e('0x501e')]&&(this[_0x1a4e('0x501e')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')]+'0','level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x500a')],'row':this['row']<<0x1,'col':this[_0x1a4e('0x5006')]<<0x1})),null==this[_0x1a4e('0x501f')]&&(this[_0x1a4e('0x501f')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')]+'1','level':this['_level']+0x1,'west':this[_0x1a4e('0x5028')],'south':this[_0x1a4e('0x501b')],'east':this['_east'],'north':this['_north'],'row':this[_0x1a4e('0x5007')]<<0x1,'col':0x1+(this[_0x1a4e('0x5006')]<<0x1)})),null==this[_0x1a4e('0x5020')]&&(this[_0x1a4e('0x5020')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')]+'2','level':this['_level']+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x501b')],'row':0x1+(this[_0x1a4e('0x5007')]<<0x1),'col':this['col']<<0x1})),null==this[_0x1a4e('0x5021')]&&(this['_RBChild']=new _0x2c029c({'code':this[_0x1a4e('0x5016')]+'0','level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5028')],'south':this[_0x1a4e('0x5008')],'east':this['_east'],'north':this[_0x1a4e('0x501b')],'row':0x1+(this[_0x1a4e('0x5007')]<<0x1),'col':0x1+(this['col']<<0x1)}))):(null==this[_0x1a4e('0x5021')]&&(this['_RBChild']=new _0x2c029c({'code':this[_0x1a4e('0x5016')]+'0','level':this[_0x1a4e('0x4ac')]+0x1,'west':this['_cenLon'],'south':this['_south'],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x501b')],'row':this[_0x1a4e('0x5007')]<<0x1,'col':this[_0x1a4e('0x5006')]<<0x1})),null==this[_0x1a4e('0x5020')]&&(this['_LBChild']=new _0x2c029c({'code':this['_code']+'1','level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')],'east':this['_cenLon'],'north':this[_0x1a4e('0x501b')],'row':this[_0x1a4e('0x5007')]<<0x1,'col':0x1+(this['col']<<0x1)})),null==this[_0x1a4e('0x501f')]&&(this[_0x1a4e('0x501f')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')]+'2','level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5028')],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5009')],'north':this['_north'],'row':0x1+(this[_0x1a4e('0x5007')]<<0x1),'col':this[_0x1a4e('0x5006')]<<0x1})),null==this[_0x1a4e('0x501e')]&&(this[_0x1a4e('0x501e')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')]+'3','level':this['_level']+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x500a')],'row':0x1+(this[_0x1a4e('0x5007')]<<0x1),'col':0x1+(this[_0x1a4e('0x5006')]<<0x1)})));},_0x2c029c[_0x1a4e('0xa')][_0x1a4e('0x5035')]=function(_0x250947,_0x355d4a,_0x3397f,_0x74c55b,_0x41af8f,_0x41474c,_0x43bf21,_0x7ad2e3){this['_cenLat']>0x0?(this['_LTChild']=new _0x2c029c({'code':_0x250947,'level':_0x355d4a,'west':_0x3397f,'south':_0x7ad2e3,'east':_0x43bf21,'north':_0x41474c}),this['_RTChild']=new _0x2c029c({'code':_0x250947,'level':_0x355d4a,'west':_0x43bf21,'south':_0x7ad2e3,'east':_0x41af8f,'north':_0x41474c}),this[_0x1a4e('0x5020')]=new _0x2c029c({'code':_0x250947,'level':_0x355d4a,'west':_0x3397f,'south':_0x74c55b,'east':_0x43bf21,'north':_0x7ad2e3}),this[_0x1a4e('0x5021')]=new _0x2c029c({'code':_0x250947,'level':_0x355d4a,'west':_0x43bf21,'south':_0x74c55b,'east':_0x41af8f,'north':_0x7ad2e3})):(this[_0x1a4e('0x5021')]=new _0x2c029c({'code':_0x250947,'level':_0x355d4a,'west':_0x43bf21,'south':_0x74c55b,'east':_0x41af8f,'north':_0x7ad2e3}),this[_0x1a4e('0x5020')]=new _0x2c029c({'code':_0x250947,'level':_0x355d4a,'west':_0x3397f,'south':_0x74c55b,'east':_0x43bf21,'north':_0x7ad2e3}),this[_0x1a4e('0x501f')]=new _0x2c029c({'code':_0x250947,'level':_0x355d4a,'west':_0x43bf21,'south':_0x7ad2e3,'east':_0x41af8f,'north':_0x41474c}),this['_LTChild']=new _0x2c029c({'code':_0x250947,'level':_0x355d4a,'west':_0x3397f,'south':_0x7ad2e3,'east':_0x43bf21,'north':_0x41474c}));},_0x2c029c[_0x1a4e('0xa')]['destory']=function(){this[_0x1a4e('0x5016')]=void 0x0,this[_0x1a4e('0x5017')]=void 0x0,this[_0x1a4e('0x4ac')]=void 0x0,this[_0x1a4e('0x5014')]=void 0x0,this[_0x1a4e('0x5008')]=void 0x0,this[_0x1a4e('0x5009')]=void 0x0,this[_0x1a4e('0x500a')]=void 0x0,this[_0x1a4e('0x500b')]=void 0x0,this[_0x1a4e('0x500d')]=void 0x0,this[_0x1a4e('0x5028')]=void 0x0,this['_cenLat']=void 0x0,this[_0x1a4e('0x5015')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x501e')]),this[_0x1a4e('0x501e')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x501f')]),this[_0x1a4e('0x501f')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x5020')]),this[_0x1a4e('0x5020')]=void 0x0,_0x5d4f93(this['_RBChild']),this[_0x1a4e('0x5021')]=void 0x0,_0x5d4f93(this['_LTChild']),this[_0x1a4e('0x5022')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x5023')]),this[_0x1a4e('0x5023')]=void 0x0,_0x5d4f93(this['_RMChild']),this[_0x1a4e('0x5024')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x5025')]),this[_0x1a4e('0x5025')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x5033')]),this['_MMChild']=void 0x0,this[_0x1a4e('0x4f19')]=void 0x0,this['intersection']=void 0x0,this[_0x1a4e('0x5026')]=!0x1;},_0x2c029c;}(),_0x1d2150=function(){function _0x2c029c(_0x2c029c){this[_0x1a4e('0x5016')]=_0x2c029c[_0x1a4e('0x1617')],this[_0x1a4e('0x503c')]=_0x2c029c['oct'],this['_level']=_0x2c029c[_0x1a4e('0x2dd0')],this[_0x1a4e('0x5014')]=_0x2c029c[_0x1a4e('0x394e')],this[_0x1a4e('0x5008')]=_0x2c029c['south'],this[_0x1a4e('0x5009')]=_0x2c029c[_0x1a4e('0x3950')],this[_0x1a4e('0x500a')]=_0x2c029c['north'],this[_0x1a4e('0x500b')]=_0x2c029c[_0x1a4e('0x5019')],this[_0x1a4e('0x500d')]=_0x2c029c[_0x1a4e('0x501a')],this['_cenLon']=(_0x2c029c[_0x1a4e('0x394e')]+_0x2c029c['east'])/0x2,this[_0x1a4e('0x501b')]=(_0x2c029c[_0x1a4e('0x394f')]+_0x2c029c[_0x1a4e('0x403b')])/0x2,this[_0x1a4e('0x5015')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](this['_cenLon'],this[_0x1a4e('0x501b')]),this[_0x1a4e('0x501e')]=void 0x0,this[_0x1a4e('0x501f')]=void 0x0,this[_0x1a4e('0x5020')]=void 0x0,this[_0x1a4e('0x5021')]=void 0x0,this[_0x1a4e('0x501c')]=_0x2c029c[_0x1a4e('0x5007')]?_0x2c029c[_0x1a4e('0x5007')]:0x0,this[_0x1a4e('0x501d')]=_0x2c029c[_0x1a4e('0x5006')]?_0x2c029c[_0x1a4e('0x5006')]:0x0,this[_0x1a4e('0x4f19')]=void 0x0,this['intersection']=void 0x0,this[_0x1a4e('0x5026')]=!0x1;}return Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x1617'),{'get':function(){return this[_0x1a4e('0x5016')];},'set':function(_0x2c029c){this[_0x1a4e('0x5016')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c['prototype'],_0x1a4e('0x2dd0'),{'get':function(){return this[_0x1a4e('0x4ac')];},'set':function(_0x2c029c){this[_0x1a4e('0x4ac')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],'west',{'get':function(){return this[_0x1a4e('0x5014')];},'set':function(_0x2c029c){this[_0x1a4e('0x5014')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],'south',{'get':function(){return this['_south'];},'set':function(_0x2c029c){this[_0x1a4e('0x5008')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x3950'),{'get':function(){return this[_0x1a4e('0x5009')];},'set':function(_0x2c029c){this[_0x1a4e('0x5009')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x403b'),{'get':function(){return this[_0x1a4e('0x500a')];},'set':function(_0x2c029c){this[_0x1a4e('0x500a')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],'bHeight',{'get':function(){return this[_0x1a4e('0x500b')];},'set':function(_0x2c029c){this[_0x1a4e('0x500b')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],'tHeight',{'get':function(){return this[_0x1a4e('0x500d')];},'set':function(_0x2c029c){this['_tHeight']=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x5027'),{'get':function(){return this[_0x1a4e('0x5028')];},'set':function(_0x2c029c){this[_0x1a4e('0x5028')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],'cenLat',{'get':function(){return this[_0x1a4e('0x501b')];},'set':function(_0x2c029c){this['_cenLat']=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x111'),{'get':function(){return this[_0x1a4e('0x5015')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x5029'),{'get':function(){return this[_0x1a4e('0x501e')];},'set':function(_0x2c029c){this['_LTChild']=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c['prototype'],_0x1a4e('0x502a'),{'get':function(){return this[_0x1a4e('0x501f')];},'set':function(_0x2c029c){this[_0x1a4e('0x501f')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x502b'),{'get':function(){return this[_0x1a4e('0x5020')];},'set':function(_0x2c029c){this['_LBChild']=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],'RBChild',{'get':function(){return this[_0x1a4e('0x5021')];},'set':function(_0x2c029c){this[_0x1a4e('0x5021')]=_0x2c029c;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x5007'),{'get':function(){return this['_row'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x2c029c[_0x1a4e('0xa')],_0x1a4e('0x5006'),{'get':function(){return this[_0x1a4e('0x501d')];},'enumerable':!0x0,'configurable':!0x0}),_0x2c029c['prototype'][_0x1a4e('0x937')]=function(_0x2c029c,_0x250947){var _0x355d4a=_0x548992(this,_0x250947),_0x3397f=_0x165b23(this,_0x250947);this[_0x1a4e('0x501b')]>0x0?(_0x3397f<_0x250947['subdivFactor']&&_0x355d4a?(null==this['_LTChild']&&null==this[_0x1a4e('0x5020')]&&null==this[_0x1a4e('0x5021')]&&this['computeChildren'](),this[_0x1a4e('0x501e')]['update'](_0x2c029c,_0x250947),this[_0x1a4e('0x5020')][_0x1a4e('0x5037')](_0x2c029c,_0x250947),this[_0x1a4e('0x5021')][_0x1a4e('0x5037')](_0x2c029c,_0x250947)):_0x355d4a&&(this[_0x1a4e('0x501e')]=void 0x0,this[_0x1a4e('0x5020')]=void 0x0,this[_0x1a4e('0x5021')]=void 0x0,this[_0x1a4e('0x4ac')]>_0x250947[_0x1a4e('0x5038')]&&(_0x250947[_0x1a4e('0x5038')]=this[_0x1a4e('0x4ac')]),_0x2c029c[_0x1a4e('0x46')](this)),_0x355d4a||this[_0x1a4e('0x4132')]()):(_0x3397f<_0x250947[_0x1a4e('0x503a')]&&_0x355d4a?(null==this[_0x1a4e('0x501e')]&&null==this[_0x1a4e('0x501f')]&&null==this[_0x1a4e('0x5021')]&&this[_0x1a4e('0x502d')](),this[_0x1a4e('0x501e')][_0x1a4e('0x5037')](_0x2c029c,_0x250947),this[_0x1a4e('0x501f')][_0x1a4e('0x5037')](_0x2c029c,_0x250947),this['_RBChild']['update'](_0x2c029c,_0x250947)):_0x355d4a&&(this[_0x1a4e('0x501e')]=void 0x0,this[_0x1a4e('0x501f')]=void 0x0,this[_0x1a4e('0x5021')]=void 0x0,this[_0x1a4e('0x4ac')]>_0x250947['maxWholeTileLevel']&&(_0x250947[_0x1a4e('0x5038')]=this[_0x1a4e('0x4ac')]),_0x2c029c[_0x1a4e('0x46')](this)),_0x355d4a||this[_0x1a4e('0x4132')]());},_0x2c029c[_0x1a4e('0xa')][_0x1a4e('0x5039')]=function(_0x2c029c,_0x250947,_0x355d4a){var _0x3397f=_0xf76a2a(this,_0x355d4a);this[_0x1a4e('0x501b')]>0x0?(this['_level']<_0x250947[_0x1a4e('0x503a')]&&_0x3397f?(null==this[_0x1a4e('0x501e')]&&null==this[_0x1a4e('0x5020')]&&null==this['_RBChild']&&this[_0x1a4e('0x503b')](),this[_0x1a4e('0x501e')][_0x1a4e('0x5039')](_0x2c029c,_0x250947,_0x355d4a),this[_0x1a4e('0x5020')][_0x1a4e('0x5039')](_0x2c029c,_0x250947,_0x355d4a),this['_RBChild'][_0x1a4e('0x5039')](_0x2c029c,_0x250947,_0x355d4a)):_0x3397f&&(this['_LTChild']=void 0x0,this[_0x1a4e('0x5020')]=void 0x0,this[_0x1a4e('0x5021')]=void 0x0,this[_0x1a4e('0x4ac')]>_0x250947[_0x1a4e('0x5038')]&&(_0x250947[_0x1a4e('0x5038')]=this[_0x1a4e('0x4ac')]),_0x2c029c[_0x1a4e('0x46')](this)),_0x3397f||this['destory']()):(this[_0x1a4e('0x4ac')]<_0x250947['subdivFactor']&&_0x3397f?(null==this[_0x1a4e('0x501e')]&&null==this[_0x1a4e('0x501f')]&&null==this[_0x1a4e('0x5021')]&&this[_0x1a4e('0x503b')](),this[_0x1a4e('0x501e')]['staticUpdate'](_0x2c029c,_0x250947,_0x355d4a),this[_0x1a4e('0x501f')][_0x1a4e('0x5039')](_0x2c029c,_0x250947,_0x355d4a),this[_0x1a4e('0x5021')][_0x1a4e('0x5039')](_0x2c029c,_0x250947,_0x355d4a)):_0x3397f&&(this[_0x1a4e('0x501e')]=void 0x0,this[_0x1a4e('0x501f')]=void 0x0,this[_0x1a4e('0x5021')]=void 0x0,this[_0x1a4e('0x4ac')]>_0x250947[_0x1a4e('0x5038')]&&(_0x250947[_0x1a4e('0x5038')]=this[_0x1a4e('0x4ac')]),_0x2c029c[_0x1a4e('0x46')](this)),_0x3397f||this[_0x1a4e('0x4132')]());},_0x2c029c[_0x1a4e('0xa')]['computeChildren']=function(){this[_0x1a4e('0x501b')]>0x0?(null==this[_0x1a4e('0x501e')]&&(this[_0x1a4e('0x501e')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x501b')],'east':this['_east'],'north':this[_0x1a4e('0x500a')]})),null==this[_0x1a4e('0x5020')]&&(this[_0x1a4e('0x5020')]=new _0x2a7b8c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x501b')]})),null==this[_0x1a4e('0x5021')]&&(this['_RBChild']=new _0x2a7b8c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this['_cenLon'],'south':this['_south'],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x501b')]}))):(null==this[_0x1a4e('0x5021')]&&(this[_0x1a4e('0x5021')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x501b')]})),null==this['_RTChild']&&(this[_0x1a4e('0x501f')]=new _0x2a7b8c({'code':this[_0x1a4e('0x5016')],'level':this['_level']+0x1,'west':this[_0x1a4e('0x5028')],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x500a')]})),null==this[_0x1a4e('0x501e')]&&(this['_LTChild']=new _0x2a7b8c({'code':this[_0x1a4e('0x5016')],'level':this[_0x1a4e('0x4ac')]+0x1,'west':this['_west'],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x500a')]})));},_0x2c029c[_0x1a4e('0xa')][_0x1a4e('0x503b')]=function(){this[_0x1a4e('0x501b')]>0x0?(null==this[_0x1a4e('0x501e')]&&(this[_0x1a4e('0x501e')]=new _0x2c029c({'code':this[_0x1a4e('0x5016')]+'0','level':this[_0x1a4e('0x4ac')]+0x1,'west':this['_west'],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x500a')],'row':this[_0x1a4e('0x501c')],'col':this[_0x1a4e('0x501d')]})),null==this[_0x1a4e('0x5020')]&&(this['_LBChild']=new _0x2a7b8c({'code':this[_0x1a4e('0x5016')]+'2','level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x501b')],'row':this[_0x1a4e('0x501c')]+0x1,'col':this[_0x1a4e('0x501d')]})),null==this[_0x1a4e('0x5021')]&&(this[_0x1a4e('0x5021')]=new _0x2a7b8c({'code':this['_code']+'3','level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5028')],'south':this['_south'],'east':this['_east'],'north':this[_0x1a4e('0x501b')],'row':this[_0x1a4e('0x501c')]+0x1,'col':this['_col']+0x1}))):(null==this['_RBChild']&&(this['_RBChild']=new _0x2c029c({'code':this[_0x1a4e('0x5016')]+'0','level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x5008')],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x501b')],'row':this[_0x1a4e('0x501c')],'col':this[_0x1a4e('0x501d')]})),null==this[_0x1a4e('0x501f')]&&(this[_0x1a4e('0x501f')]=new _0x2a7b8c({'code':this[_0x1a4e('0x5016')]+'2','level':this['_level']+0x1,'west':this[_0x1a4e('0x5028')],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5009')],'north':this[_0x1a4e('0x500a')],'row':this[_0x1a4e('0x501c')]+0x1,'col':this[_0x1a4e('0x501d')]})),null==this[_0x1a4e('0x501e')]&&(this[_0x1a4e('0x501e')]=new _0x2a7b8c({'code':this[_0x1a4e('0x5016')]+'3','level':this[_0x1a4e('0x4ac')]+0x1,'west':this[_0x1a4e('0x5014')],'south':this[_0x1a4e('0x501b')],'east':this[_0x1a4e('0x5028')],'north':this[_0x1a4e('0x500a')],'row':this[_0x1a4e('0x501c')]+0x1,'col':this[_0x1a4e('0x501d')]+0x1})));},_0x2c029c[_0x1a4e('0xa')][_0x1a4e('0x4132')]=function(){this['_code']=void 0x0,this[_0x1a4e('0x503c')]=void 0x0,this['_level']=void 0x0,this[_0x1a4e('0x5014')]=void 0x0,this[_0x1a4e('0x5008')]=void 0x0,this[_0x1a4e('0x5009')]=void 0x0,this['_north']=void 0x0,this[_0x1a4e('0x500b')]=void 0x0,this[_0x1a4e('0x500d')]=void 0x0,this[_0x1a4e('0x5028')]=void 0x0,this[_0x1a4e('0x501b')]=void 0x0,this[_0x1a4e('0x5015')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x501e')]),this[_0x1a4e('0x501e')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x501f')]),this[_0x1a4e('0x501f')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x5020')]),this[_0x1a4e('0x5020')]=void 0x0,_0x5d4f93(this[_0x1a4e('0x5021')]),this[_0x1a4e('0x5021')]=void 0x0,this['boundingBox']=void 0x0,this[_0x1a4e('0x148')]=void 0x0,this[_0x1a4e('0x5026')]=!0x1;},_0x2c029c;}();},'./src/SceneOptions/Fog.ts':function(_0x5f1920,_0x3c5a2e,_0x1b52e1){'use strict';_0x1b52e1['r'](_0x3c5a2e);var _0x3d0972=Cesium['defaultValue'],_0x2fc747=function(){function _0x5f1920(_0x3c5a2e,_0x1b52e1){var _0x2fc747=this;void 0x0===_0x1b52e1&&(_0x1b52e1={}),this['near']=_0x3d0972(_0x1b52e1[_0x1a4e('0x3aa2')],0xa),this[_0x1a4e('0x3aaa')]=_0x3d0972(_0x1b52e1[_0x1a4e('0x3aaa')],0x1f4),this[_0x1a4e('0x503d')]=_0x3d0972(_0x1b52e1[_0x1a4e('0x503d')],0.5),this[_0x1a4e('0x503e')]=_0x3d0972(_0x1b52e1[_0x1a4e('0x3aaa')],0x1),this[_0x1a4e('0x134')]=_0x3d0972(_0x1b52e1[_0x1a4e('0x134')],Cesium[_0x1a4e('0x3947')]['BLACK']),this['viewer']=_0x3c5a2e,this['value']=_0x3c5a2e['postProcessStages']['add'](new Cesium[(_0x1a4e('0x3a6c'))]({'fragmentShader':_0x5f1920['fragmentShader'],'uniforms':{'fogByDistance':function(){return new Cesium[(_0x1a4e('0x3a72'))](_0x2fc747[_0x1a4e('0x3aa2')],_0x2fc747['nearFog'],_0x2fc747[_0x1a4e('0x3aaa')],_0x2fc747[_0x1a4e('0x503e')]);},'fogColor':function(){return _0x2fc747[_0x1a4e('0x134')];}}}));}return _0x5f1920['prototype'][_0x1a4e('0x82')]=function(){this[_0x1a4e('0x38d5')]['postProcessStages']['remove'](this['value']);},Object[_0x1a4e('0x2')](_0x5f1920[_0x1a4e('0xa')],_0x1a4e('0x25e5'),{'get':function(){return this[_0x1a4e('0x255')]instanceof Cesium[_0x1a4e('0x3a6c')]&&!!this[_0x1a4e('0x255')]['enabled'];},'set':function(_0x5f1920){Cesium[_0x1a4e('0x3a0b')](this['value'])&&(this[_0x1a4e('0x255')][_0x1a4e('0x25e5')]=_0x5f1920);},'enumerable':!0x0,'configurable':!0x0}),_0x5f1920[_0x1a4e('0x3b4a')]=_0x1a4e('0x503f'),_0x5f1920;}();_0x3c5a2e['default']=_0x2fc747;},'./src/SceneOptions/GlobalWater.ts':function(_0x214add,_0x33b2f3,_0x20a124){'use strict';_0x20a124['r'](_0x33b2f3),_0x20a124['d'](_0x33b2f3,_0x1a4e('0x5040'),function(){return _0xb366a4;});var _0x2fed70=_0x20a124('./src/Utils/Util.ts'),_0xb366a4=function(){function _0x214add(_0x214add){this[_0x1a4e('0x38d5')]=_0x214add,this[_0x1a4e('0x5041')]=_0x214add[_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['add'](new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':new Cesium['GeometryInstance']({'geometry':new Cesium[(_0x1a4e('0x446b'))]({'rectangle':Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](-0xb4,-0x5a,0xb4,0x5a),'vertexFormat':Cesium[_0x1a4e('0x446c')][_0x1a4e('0x446d')]})}),'appearance':new Cesium[(_0x1a4e('0x446c'))]({'aboveGround':!0x1}),'show':!0x1})),this[_0x1a4e('0x5041')]['appearance'][_0x1a4e('0x3a41')]=new Cesium['Material']({'fabric':{'type':_0x1a4e('0x4628'),'uniforms':{'specularMap':_0x2fed70[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x5042')),'normalMap':_0x2fed70[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')]('resources/localscene/waternormals.jpg'),'frequency':0x2710,'animationSpeed':0.01,'amplitude':0x1}}});}return _0x214add[_0x1a4e('0xa')][_0x1a4e('0x5043')]=function(){this[_0x1a4e('0x5041')][_0x1a4e('0x3a23')]=!0x0;},_0x214add['prototype'][_0x1a4e('0x5044')]=function(){this[_0x1a4e('0x5041')][_0x1a4e('0x3a23')]=!0x1;},Object[_0x1a4e('0x2')](_0x214add[_0x1a4e('0xa')],_0x1a4e('0x40af'),{'get':function(){return this[_0x1a4e('0x5041')][_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x40af')];},'set':function(_0x214add){_0x214add<=0x0?console['warn']('值必须大于\x200'):this[_0x1a4e('0x5041')]['appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x40af')]=_0x214add;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x214add[_0x1a4e('0xa')],'animationSpeed',{'get':function(){return this[_0x1a4e('0x5041')][_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['animationSpeed'];},'set':function(_0x214add){_0x214add<=0x0?console[_0x1a4e('0xe3c')](_0x1a4e('0x5045')):this[_0x1a4e('0x5041')][_0x1a4e('0x3b3c')][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')][_0x1a4e('0x42d6')]=_0x214add;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x214add[_0x1a4e('0xa')],_0x1a4e('0x42d7'),{'get':function(){return this['worldRectangle']['appearance'][_0x1a4e('0x3a41')]['uniforms'][_0x1a4e('0x42d7')];},'set':function(_0x214add){_0x214add<=0x0?console[_0x1a4e('0xe3c')](_0x1a4e('0x5045')):this[_0x1a4e('0x5041')]['appearance'][_0x1a4e('0x3a41')][_0x1a4e('0x3b74')]['amplitude']=_0x214add;},'enumerable':!0x0,'configurable':!0x0}),_0x214add;}();},'./src/SceneOptions/Graticule.ts':function(_0x1ef06f,_0x5b4263,_0x4f2686){'use strict';_0x4f2686['r'](_0x5b4263),_0x4f2686['d'](_0x5b4263,_0x1a4e('0x5046'),function(){return _0x392335;});var _0x3510cf=_0x4f2686(_0x1a4e('0x5047')),_0x392335=function(){function _0x1ef06f(_0x1ef06f){this[_0x1a4e('0x38d5')]=_0x1ef06f,this[_0x1a4e('0x4770')]=new _0x3510cf[(_0x1a4e('0x5048'))](new _0x3510cf[(_0x1a4e('0x5049'))](),_0x1ef06f);}return _0x1ef06f[_0x1a4e('0xa')][_0x1a4e('0x3a23')]=function(){this['layer'][_0x1a4e('0x3f28')](!0x0);},_0x1ef06f[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(){this[_0x1a4e('0x4770')][_0x1a4e('0x3f28')](!0x1);},Object[_0x1a4e('0x2')](_0x1ef06f[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4770')][_0x1a4e('0x134')]['toCssColorString']();},'set':function(_0x1ef06f){this['layer']['color']=Cesium['Color'][_0x1a4e('0x393c')](_0x1ef06f),this['remove'](),this['show']();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1ef06f[_0x1a4e('0xa')],_0x1a4e('0x3936'),{'get':function(){return this['layer']['width'];},'set':function(_0x1ef06f){this[_0x1a4e('0x4770')]['width']=_0x1ef06f,this['remove'](),this[_0x1a4e('0x3a23')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1ef06f[_0x1a4e('0xa')],'textFont',{'get':function(){return this[_0x1a4e('0x4770')]['textFont'];},'set':function(_0x1ef06f){this[_0x1a4e('0x4770')]['textFont']=_0x1ef06f,this[_0x1a4e('0x82')](),this['show']();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1ef06f[_0x1a4e('0xa')],_0x1a4e('0x40a1'),{'get':function(){return this[_0x1a4e('0x4770')]['textColor'][_0x1a4e('0x409a')]();},'set':function(_0x1ef06f){this['layer']['textColor']=Cesium['Color']['fromCssColorString'](_0x1ef06f),this[_0x1a4e('0x82')](),this['show']();},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1ef06f[_0x1a4e('0xa')],'textOutlineColor',{'get':function(){return this[_0x1a4e('0x4770')]['textOutlineColor'][_0x1a4e('0x409a')]();},'set':function(_0x1ef06f){this[_0x1a4e('0x4770')][_0x1a4e('0x504a')]=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x1ef06f),this[_0x1a4e('0x82')](),this['show']();},'enumerable':!0x0,'configurable':!0x0}),_0x1ef06f;}();},'./src/SceneOptions/GraticuleLayer.ts':function(_0x5bf3f3,_0x184f72,_0x1abd23){'use strict';_0x1abd23['r'](_0x184f72),_0x1abd23['d'](_0x184f72,_0x1a4e('0x5048'),function(){return _0xbd8586;}),_0x1abd23['d'](_0x184f72,'GraticuleLayerOpt',function(){return _0x2768c9;});var _0xbd8586=function(){function _0x5bf3f3(_0x5bf3f3,_0x184f72){var _0x1abd23=this;this['_sexagesimal']=!0x1,this[_0x1a4e('0x3dd0')]=function(){_0x1abd23[_0x1a4e('0x3b33')]&&(_0x1abd23[_0x1a4e('0x4e4f')]=null,_0x1abd23[_0x1a4e('0x504b')](_0x1abd23[_0x1a4e('0x4d74')]()));},this[_0x1a4e('0x4137')]=_0x5bf3f3,this['_scene']=_0x184f72[_0x1a4e('0x38d6')],this[_0x1a4e('0x4cbc')]=this['_scene'][_0x1a4e('0x38d7')]['ellipsoid'],this['_visible']=!0x0,this['_extent']=null,this['_groundPrimitive']=void 0x0,this[_0x1a4e('0x504c')]=new Cesium[(_0x1a4e('0x4c12'))](),this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this['_polylines']),this[_0x1a4e('0x4e89')]=new Cesium[(_0x1a4e('0x4c0e'))](),this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')]['add'](this['_labels']),this[_0x1a4e('0x504d')]=[Cesium[_0x1a4e('0x1020')]['toRadians'](0.05),Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](0.1),Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](0.2),Cesium['Math'][_0x1a4e('0x566')](0.5),Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](0x1),Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](0x2),Cesium['Math'][_0x1a4e('0x566')](0x5),Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](0xa)],this[_0x1a4e('0x3be2')][_0x1a4e('0x3a06')][_0x1a4e('0x41b3')][_0x1a4e('0xec5')](this[_0x1a4e('0x3dd0')]);}return _0x5bf3f3[_0x1a4e('0xa')][_0x1a4e('0x504e')]=function(_0x5bf3f3){var _0x184f72=Math[_0x1a4e('0xb4')](_0x5bf3f3),_0x1abd23=(0x3c*(Math['abs'](_0x5bf3f3)-_0x184f72))[_0x1a4e('0x1e5')](0x2);return _0x1a4e('0x504f')==_0x1abd23&&(_0x184f72+=0x1,_0x1abd23=_0x1a4e('0x5050')),[_0x184f72,':',_0x1abd23][_0x1a4e('0x9e')]('');},_0x5bf3f3['prototype']['gridPrecision']=function(_0x5bf3f3){return _0x5bf3f3<0.01?0x2:_0x5bf3f3<0.1?0x1:0x0;},_0x5bf3f3[_0x1a4e('0xa')][_0x1a4e('0x330')]=function(_0x5bf3f3){return _0x5bf3f3>=0x0?_0x5bf3f3>Cesium['Math']['PI']?_0x5bf3f3-0x2*Cesium['Math']['PI']:_0x5bf3f3:_0x5bf3f3<-Cesium[_0x1a4e('0x1020')]['PI']?_0x5bf3f3+0x2*Cesium[_0x1a4e('0x1020')]['PI']:_0x5bf3f3;},_0x5bf3f3[_0x1a4e('0xa')][_0x1a4e('0x5051')]=function(_0x5bf3f3,_0x184f72,_0x1abd23,_0xbd8586){for(var _0x2768c9,_0x45fd33=Number[_0x1a4e('0x201')],_0x3b7267=_0x184f72;_0x3b7267<_0x1abd23;_0x3b7267+=_0xbd8586){var _0x194529=Math[_0x1a4e('0x65')](_0x5bf3f3-_0x3b7267);_0x194529<_0x45fd33&&(_0x45fd33=_0x194529,_0x2768c9=_0x3b7267);}return _0x2768c9;},_0x5bf3f3[_0x1a4e('0xa')]['getNearestLatitude']=function(_0x5bf3f3,_0x184f72,_0x1abd23,_0xbd8586){for(var _0x2768c9,_0xe55de1=Number[_0x1a4e('0x201')],_0x4b201a=_0x184f72;_0x4b201a<_0x1abd23;_0x4b201a+=_0xbd8586){var _0x257449=Math[_0x1a4e('0x65')](_0x5bf3f3-_0x4b201a);_0x257449<_0xe55de1&&(_0xe55de1=_0x257449,_0x2768c9=_0x4b201a);}return _0x2768c9;},_0x5bf3f3[_0x1a4e('0xa')]['getExtent']=function(){for(var _0x5bf3f3=this['_scene'][_0x1a4e('0x3a06')],_0x184f72=this[_0x1a4e('0x3be2')][_0x1a4e('0x3934')],_0x1abd23=_0x184f72[_0x1a4e('0x3936')]/0xa,_0xbd8586=_0x184f72[_0x1a4e('0x152')]/0xa,_0x2768c9=[],_0x46e704=[],_0x2b5c51=0x0;_0x2b5c51<=_0x184f72[_0x1a4e('0x3936')];_0x2b5c51+=0x5)for(var _0x291b80=0x0;_0x291b80<_0x184f72['height'];_0x291b80+=_0xbd8586){if(!(_0x46e704[_0x1a4e('0x1e')]>=_0x291b80&&_0x46e704[_0x291b80]))void 0x0===(_0x2b5ade=_0x5bf3f3[_0x1a4e('0x3a58')](new Cesium[(_0x1a4e('0x3952'))](_0x2b5c51,_0x291b80),this['_ellipsoid']))?_0x46e704[_0x1a4e('0x1e')]<_0x291b80&&_0x46e704[_0x1a4e('0x46')](!0x1):(_0x46e704[_0x1a4e('0x1e')]<_0x291b80?_0x46e704['push'](!0x0):_0x46e704[_0x291b80]=!0x0,_0x2768c9[_0x1a4e('0x46')](_0x2b5ade));}var _0x2a753d=[];for(_0x2b5c51=_0x184f72[_0x1a4e('0x3936')];_0x2b5c51>=0x0;_0x2b5c51-=0x5)for(_0x291b80=0x0;_0x291b80<_0x184f72['height'];_0x291b80+=_0xbd8586){if(_0x46e704[_0x291b80])if(!(_0x2a753d[_0x1a4e('0x1e')]>=_0x291b80&&_0x2a753d[_0x291b80]))void 0x0===(_0x2b5ade=_0x5bf3f3[_0x1a4e('0x3a58')](new Cesium[(_0x1a4e('0x3952'))](_0x2b5c51,_0x291b80),this['_ellipsoid']))?_0x2a753d[_0x1a4e('0x1e')]<_0x291b80&&_0x2a753d[_0x1a4e('0x46')](!0x1):(_0x2a753d[_0x1a4e('0x1e')]<_0x291b80?_0x2a753d[_0x1a4e('0x46')](!0x0):_0x2a753d[_0x291b80]=!0x0,_0x2768c9[_0x1a4e('0x46')](_0x2b5ade));}var _0x58736d=[];for(_0x2b5c51=0x0;_0x2b5c51<=_0x184f72[_0x1a4e('0x152')];_0x2b5c51+=0x5)for(_0x291b80=0x0;_0x291b80<_0x184f72[_0x1a4e('0x3936')];_0x291b80+=_0x1abd23){if(!(_0x58736d[_0x1a4e('0x1e')]>=_0x291b80&&_0x58736d[_0x291b80]))void 0x0===(_0x2b5ade=_0x5bf3f3['pickEllipsoid'](new Cesium[(_0x1a4e('0x3952'))](_0x2b5c51,_0x291b80),this[_0x1a4e('0x4cbc')]))?_0x58736d[_0x1a4e('0x1e')]<_0x291b80&&_0x58736d[_0x1a4e('0x46')](!0x1):(_0x58736d[_0x1a4e('0x1e')]<_0x291b80?_0x58736d[_0x1a4e('0x46')](!0x0):_0x58736d[_0x291b80]=!0x0,_0x2768c9[_0x1a4e('0x46')](_0x2b5ade));}var _0x5084af=[];for(_0x2b5c51=0x0;_0x2b5c51<=_0x184f72[_0x1a4e('0x152')];_0x2b5c51+=0x5)for(_0x291b80=0x0;_0x291b80<_0x184f72[_0x1a4e('0x3936')];_0x291b80+=_0x1abd23){var _0x2b5ade;if(_0x58736d[_0x291b80])if(!(_0x5084af['length']>=_0x291b80&&_0x5084af[_0x291b80]))void 0x0===(_0x2b5ade=_0x5bf3f3[_0x1a4e('0x3a58')](new Cesium[(_0x1a4e('0x3952'))](_0x2b5c51,_0x291b80),this[_0x1a4e('0x4cbc')]))?_0x5084af['length']<_0x291b80&&_0x5084af[_0x1a4e('0x46')](!0x1):(_0x5084af[_0x1a4e('0x1e')]<_0x291b80?_0x5084af[_0x1a4e('0x46')](!0x0):_0x5084af[_0x291b80]=!0x0,_0x2768c9[_0x1a4e('0x46')](_0x2b5ade));}var _0x1e3b74=Cesium[_0x1a4e('0x3965')][_0x1a4e('0x5052')](this['_ellipsoid']['cartesianArrayToCartographicArray'](_0x2768c9)),_0x1f4f13=_0x5bf3f3['position'],_0x26a252=new Cesium[(_0x1a4e('0x39fa'))](-Cesium[_0x1a4e('0x1020')]['PI'],Cesium[_0x1a4e('0x1020')][_0x1a4e('0x448c')],0x0),_0x4c9bf3=this[_0x1a4e('0x4cbc')][_0x1a4e('0x3b86')](_0x26a252),_0x5a4dd8=Cesium[_0x1a4e('0x4347')]['wgs84ToWindowCoordinates'](this['_scene'],_0x4c9bf3);if(void 0x0===_0x5a4dd8)console[_0x1a4e('0x58')]('src1\x20===\x20undefined');else if(_0x5a4dd8['x']>=0x0&&_0x5a4dd8['y']>=0x0&&_0x5a4dd8['x']<=_0x184f72['width']&&_0x5a4dd8['y']<=_0x184f72['height']){var _0x533c83=this[_0x1a4e('0x4cbc')][_0x1a4e('0x5053')](_0x4c9bf3),_0x516cfc=Cesium[_0x1a4e('0x39ab')][_0x1a4e('0x4660')](_0x4c9bf3,_0x533c83),_0x4a914f=this[_0x1a4e('0x4cbc')][_0x1a4e('0x3b86')](new Cesium[(_0x1a4e('0x39fa'))](-Cesium[_0x1a4e('0x1020')]['PI'],Cesium[_0x1a4e('0x1020')][_0x1a4e('0x448c')],-0x64));null!=Cesium['IntersectionTests'][_0x1a4e('0x5054')](_0x1f4f13,_0x4a914f,_0x516cfc)&&(_0x1e3b74[_0x1a4e('0x403b')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x448c')],_0x1e3b74[_0x1a4e('0x394e')]=-Cesium[_0x1a4e('0x1020')]['PI'],_0x1e3b74[_0x1a4e('0x3950')]=Cesium['Math']['PI']);}var _0x3c548a=new Cesium['Cartographic'](-Cesium[_0x1a4e('0x1020')]['PI'],-Cesium[_0x1a4e('0x1020')]['PI_OVER_TWO'],0x0),_0x4fb1b=this[_0x1a4e('0x4cbc')][_0x1a4e('0x3b86')](_0x3c548a),_0x2c89b7=Cesium[_0x1a4e('0x4347')][_0x1a4e('0x4826')](this[_0x1a4e('0x3be2')],_0x4fb1b);if(void 0x0===_0x2c89b7)console[_0x1a4e('0x58')]('src2\x20===\x20undefined');else if(_0x2c89b7['x']>=0x0&&_0x2c89b7['y']>=0x0&&_0x2c89b7['x']<=_0x184f72[_0x1a4e('0x3936')]&&_0x2c89b7['y']<=_0x184f72[_0x1a4e('0x152')]){_0x533c83=this[_0x1a4e('0x4cbc')][_0x1a4e('0x5053')](_0x4fb1b),_0x516cfc=Cesium[_0x1a4e('0x39ab')][_0x1a4e('0x4660')](_0x4fb1b,_0x533c83),_0x4a914f=this[_0x1a4e('0x4cbc')][_0x1a4e('0x3b86')](new Cesium[(_0x1a4e('0x39fa'))](-Cesium['Math']['PI'],-Cesium[_0x1a4e('0x1020')][_0x1a4e('0x448c')],-0x64));null!=Cesium[_0x1a4e('0x4b6b')]['lineSegmentPlane'](_0x1f4f13,_0x4a914f,_0x516cfc)&&(_0x1e3b74[_0x1a4e('0x394f')]=-Cesium[_0x1a4e('0x1020')][_0x1a4e('0x448c')],_0x1e3b74['west']=-Cesium[_0x1a4e('0x1020')]['PI'],_0x1e3b74[_0x1a4e('0x3950')]=Cesium[_0x1a4e('0x1020')]['PI']);}return _0x1e3b74;},_0x5bf3f3[_0x1a4e('0xa')][_0x1a4e('0x5055')]=function(_0x5bf3f3,_0x184f72,_0x1abd23,_0xbd8586,_0x2768c9,_0x408424){this[_0x1a4e('0x4e89')]['add']({'position':this[_0x1a4e('0x4cbc')]['cartographicToCartesian'](new Cesium[(_0x1a4e('0x39fa'))](_0x5bf3f3,_0x184f72,_0x1abd23)),'text':_0x2768c9,'font':this['textFont'],'style':Cesium['LabelStyle'][_0x1a4e('0x394c')],'fillColor':this[_0x1a4e('0x40a1')],'outlineColor':this[_0x1a4e('0x504a')],'outlineWidth':0x2,'heightReference':Cesium[_0x1a4e('0x394a')][_0x1a4e('0x3d50')],'pixelOffset':new Cesium[(_0x1a4e('0x3952'))](0x5,_0x408424?0x12:-0x12),'eyeOffset':new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,-_0xbd8586),'horizontalOrigin':Cesium[_0x1a4e('0x440b')]['LEFT'],'verticalOrigin':_0x408424?Cesium['VerticalOrigin'][_0x1a4e('0x39bf')]:Cesium[_0x1a4e('0x3ac5')][_0x1a4e('0x4502')],'scale':0x1});},_0x5bf3f3[_0x1a4e('0xa')]['drawGrid']=function(_0x5bf3f3){if(!this[_0x1a4e('0x4e4f')]||!this['_extent'][_0x1a4e('0x23e')](_0x5bf3f3)){this['_extent']=_0x5bf3f3;var _0x184f72=this[_0x1a4e('0x4cbc')]['cartesianToCartographic'](this[_0x1a4e('0x3be2')][_0x1a4e('0x3a06')]['position']),_0x1abd23=0x2710,_0xbd8586=_0x184f72[_0x1a4e('0x152')]/0x3;_0x184f72[_0x1a4e('0x152')]<0xc350?(_0x1abd23=0x0,_0xbd8586=0x2710):_0x184f72[_0x1a4e('0x152')]<0x186a0?_0x1abd23=0x320:_0x184f72['height']<0x30d40?_0x1abd23=0x7d0:_0x184f72[_0x1a4e('0x152')]<0x7a120?_0x1abd23=0x1388:(_0x1abd23=0x2710,_0xbd8586=_0x184f72[_0x1a4e('0x152')]/0x9);var _0x2768c9=_0x5bf3f3['east'],_0x91825a=_0x5bf3f3[_0x1a4e('0x394e')],_0x30ee59=_0x5bf3f3['north'],_0x1c17d6=_0x5bf3f3[_0x1a4e('0x394f')],_0x312af3=!0x1;_0x5bf3f3[_0x1a4e('0x3950')]<_0x5bf3f3[_0x1a4e('0x394e')]&&(_0x2768c9+=0x2*Cesium[_0x1a4e('0x1020')]['PI'],_0x312af3=!0x0);var _0x9528d,_0x1c5b89=0x0,_0x355ddd=0x0;for(_0x9528d=0x0;_0x9528d0x5)this[_0x1a4e('0x504c')][_0x1a4e('0x177')]({'positions':_0x374e12,'width':this['width'],'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':this[_0x1a4e('0x134')]},'source':this['getMS']()}})});else{var _0x49dc46=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x450a'))]({'positions':_0x374e12,'width':this[_0x1a4e('0x3936')]<0x2?0x2:this[_0x1a4e('0x3936')]})});_0x5bdc92['push'](_0x49dc46);}var _0x17bd9b=Cesium[_0x1a4e('0x1020')]['toDegrees'](_0x414d00);this[_0x1a4e('0x5055')](_0x414d00,_0x197370,_0x1abd23,_0xbd8586,this['_sexagesimal']?this[_0x1a4e('0x504e')](_0x17bd9b):_0x17bd9b[_0x1a4e('0x1e5')](this['gridPrecision'](_0x355ddd)),!0x1);}for(_0x3ffb59=_0x3b0a3a;_0x3ffb59<_0x863fa3;_0x3ffb59+=_0x1c5b89){_0x3beddf=[];for(_0x592938=_0x1f9ff0;_0x592938<_0x6fa319;_0x592938+=_0x4297a7)_0x3beddf[_0x1a4e('0x46')](new Cesium['Cartographic'](this[_0x1a4e('0x330')](_0x592938),_0x3ffb59,_0x1abd23));_0x3beddf[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x39fa'))](this[_0x1a4e('0x330')](_0x6fa319),_0x3ffb59,_0x1abd23));_0x374e12=_0x9e376e['cartographicArrayToCartesianArray'](_0x3beddf);if(_0x9528d>0x5)this['_polylines'][_0x1a4e('0x177')]({'positions':_0x374e12,'width':this['width'],'material':new Cesium['Material']({'fabric':{'uniforms':{'color':this[_0x1a4e('0x134')]},'source':this[_0x1a4e('0x3b43')]()}})});else{_0x49dc46=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x450a'))]({'positions':_0x374e12,'width':this['width']<0x2?0x2:this['width']})});_0x5bdc92[_0x1a4e('0x46')](_0x49dc46);}var _0x4d9e94=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x3ffb59);this[_0x1a4e('0x5055')](this[_0x1a4e('0x330')](_0x54bf3a),_0x3ffb59,_0x1abd23,_0xbd8586,this[_0x1a4e('0x5057')]?this[_0x1a4e('0x504e')](_0x4d9e94):_0x4d9e94[_0x1a4e('0x1e5')](this[_0x1a4e('0x5058')](_0x1c5b89)),!0x0);}_0x9528d<=0x5&&(this[_0x1a4e('0x4602')]=new Cesium[(_0x1a4e('0x3941'))]({'geometryInstances':_0x5bdc92,'appearance':new Cesium[(_0x1a4e('0x3943'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'uniforms':{'color':this[_0x1a4e('0x134')]},'source':this['getMS']()}}),'transparent':!0x0}),'asynchronous':!0x1}),this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this['_groundPrimitive']));}},_0x5bf3f3[_0x1a4e('0xa')][_0x1a4e('0x3b43')]=function(){return _0x1a4e('0x5059');},Object[_0x1a4e('0x2')](_0x5bf3f3[_0x1a4e('0xa')],_0x1a4e('0x134'),{'get':function(){return this[_0x1a4e('0x4137')]['color'];},'set':function(_0x5bf3f3){this[_0x1a4e('0x4137')][_0x1a4e('0x134')]=_0x5bf3f3;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5bf3f3[_0x1a4e('0xa')],_0x1a4e('0x3936'),{'get':function(){return this['_opt'][_0x1a4e('0x3936')];},'set':function(_0x5bf3f3){this[_0x1a4e('0x4137')][_0x1a4e('0x3936')]=_0x5bf3f3;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5bf3f3['prototype'],_0x1a4e('0x41f1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x41f1')];},'set':function(_0x5bf3f3){this[_0x1a4e('0x4137')]['textFont']=_0x5bf3f3;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5bf3f3[_0x1a4e('0xa')],_0x1a4e('0x40a1'),{'get':function(){return this[_0x1a4e('0x4137')][_0x1a4e('0x40a1')];},'set':function(_0x5bf3f3){this[_0x1a4e('0x4137')]['textColor']=_0x5bf3f3;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5bf3f3[_0x1a4e('0xa')],_0x1a4e('0x504a'),{'get':function(){return this['_opt'][_0x1a4e('0x504a')];},'set':function(_0x5bf3f3){this[_0x1a4e('0x4137')][_0x1a4e('0x504a')]=_0x5bf3f3;},'enumerable':!0x0,'configurable':!0x0}),_0x5bf3f3[_0x1a4e('0xa')][_0x1a4e('0x298b')]=function(){return this['_visible'];},_0x5bf3f3['prototype'][_0x1a4e('0x3f28')]=function(_0x5bf3f3){this[_0x1a4e('0x3b33')]=_0x5bf3f3,_0x5bf3f3?(this['_extent']=null,this['drawGrid'](this[_0x1a4e('0x4d74')]())):(this[_0x1a4e('0x504c')][_0x1a4e('0x3a42')](),null!=this[_0x1a4e('0x4602')]&&(this[_0x1a4e('0x3be2')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x4602')]),this[_0x1a4e('0x4602')]=void 0x0),this['_labels'][_0x1a4e('0x3a42')]());},_0x5bf3f3;}(),_0x2768c9=function(_0x5bf3f3,_0x184f72,_0x1abd23,_0xbd8586){void 0x0===_0x5bf3f3&&(_0x5bf3f3=_0x1a4e('0x505a')),void 0x0===_0x184f72&&(_0x184f72=0x1),void 0x0===_0x1abd23&&(_0x1abd23=_0x1a4e('0x505b')),void 0x0===_0xbd8586&&(_0xbd8586=Cesium['Color']['AZURE'][_0x1a4e('0x409a')]()),this[_0x1a4e('0x134')]=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x393c')](_0x5bf3f3),this[_0x1a4e('0x3936')]=_0x184f72,this['textFont']=_0x1abd23,this[_0x1a4e('0x40a1')]=Cesium['Color'][_0x1a4e('0x393c')](_0xbd8586),this['textOutlineColor']=Cesium[_0x1a4e('0x3947')][_0x1a4e('0x3a99')];};},'./src/SceneOptions/MapBox.ts':function(_0x5439db,_0x5bc262,_0x1dbff7){'use strict';_0x1dbff7['r'](_0x5bc262),_0x1dbff7['d'](_0x5bc262,'MapBox',function(){return _0x508c9c;}),_0x1dbff7['d'](_0x5bc262,'MapBoxOpt',function(){return _0x2d2740;});var _0x4a5fe5=_0x1dbff7(_0x1a4e('0x505c')),_0x508c9c=function(){function _0x5439db(_0x5439db,_0x5bc262){this[_0x1a4e('0x38d5')]=_0x5439db,this[_0x1a4e('0x505d')]=!0x1,this[_0x1a4e('0x3b33')]=!0x1,this[_0x1a4e('0x4585')]=_0x5bc262&&_0x5bc262[_0x1a4e('0x409f')]?_0x5bc262['outlineColor']:'rgb(77,255,255)',this[_0x1a4e('0x505e')]=_0x5bc262&&void 0x0!==_0x5bc262[_0x1a4e('0x505f')]?_0x5bc262['relativeHeight']:0x989680,this[_0x1a4e('0x399c')]=_0x5bc262&&void 0x0!==_0x5bc262[_0x1a4e('0x152')]?_0x5bc262[_0x1a4e('0x152')]:void 0x0,this['_extrudedHeight']=_0x5bc262&&void 0x0!==_0x5bc262['extrudedHeight']?_0x5bc262[_0x1a4e('0x398d')]:void 0x0,this[_0x1a4e('0x5060')]=_0x5bc262&&_0x5bc262[_0x1a4e('0x503a')]?_0x5bc262['subdivFactor']:0x9,this[_0x1a4e('0x3d3')]='mapsheet',this[_0x1a4e('0x4d40')]=new Cesium['Event'](),this['_error']=new Cesium[(_0x1a4e('0x168d'))](),this[_0x1a4e('0x4d91')]=new Cesium['EntityCollection'](this),this[_0x1a4e('0x4d93')]=new Cesium[(_0x1a4e('0x4d94'))](),this[_0x1a4e('0x4d41')]=!0x1,this[_0x1a4e('0x4d42')]=new Cesium[(_0x1a4e('0x168d'))]();}return Object[_0x1a4e('0x2')](_0x5439db['prototype'],_0x1a4e('0x409f'),{'get':function(){return this[_0x1a4e('0x4585')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5439db[_0x1a4e('0xa')],'height',{'get':function(){return this[_0x1a4e('0x399c')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db[_0x1a4e('0xa')],_0x1a4e('0x505f'),{'get':function(){return this[_0x1a4e('0x505e')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db[_0x1a4e('0xa')],'extrudedHeight',{'get':function(){return this[_0x1a4e('0x4e8f')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db['prototype'],_0x1a4e('0x503a'),{'get':function(){return this[_0x1a4e('0x5060')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db[_0x1a4e('0xa')],_0x1a4e('0x2cb'),{'get':function(){return this['_name'];},'set':function(_0x5439db){this[_0x1a4e('0x3d3')]=_0x5439db;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db[_0x1a4e('0xa')],_0x1a4e('0x3b3e'),{'get':function(){},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5439db[_0x1a4e('0xa')],_0x1a4e('0x38e2'),{'get':function(){return this[_0x1a4e('0x4d91')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db['prototype'],_0x1a4e('0x4d9c'),{'get':function(){return this[_0x1a4e('0x4d41')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db[_0x1a4e('0xa')],'changedEvent',{'get':function(){return this[_0x1a4e('0x4d40')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db[_0x1a4e('0xa')],_0x1a4e('0x4d9e'),{'get':function(){return this[_0x1a4e('0x1465')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db['prototype'],'loadingEvent',{'get':function(){return this[_0x1a4e('0x4d42')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x5439db[_0x1a4e('0xa')],_0x1a4e('0x3a23'),{'get':function(){return this[_0x1a4e('0x4d91')][_0x1a4e('0x3a23')];},'set':function(_0x5439db){this[_0x1a4e('0x4d91')][_0x1a4e('0x3a23')]=_0x5439db;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db[_0x1a4e('0xa')],_0x1a4e('0x4795'),{'get':function(){return this[_0x1a4e('0x4d93')];},'set':function(_0x5439db){if(!Cesium[_0x1a4e('0x3a0b')](_0x5439db))throw new Cesium['DeveloperError'](_0x1a4e('0x4e01'));this[_0x1a4e('0x4d93')]=_0x5439db;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x5439db['prototype'],_0x1a4e('0x3b2c'),{'get':function(){return this[_0x1a4e('0x3b33')];},'set':function(_0x5439db){this[_0x1a4e('0x3b33')]!==_0x5439db&&(this[_0x1a4e('0x3b33')]=_0x5439db,this['_visible']?(this[_0x1a4e('0x505d')]=!0x1,this[_0x1a4e('0x38d5')][_0x1a4e('0x395b')][_0x1a4e('0x177')](this)):this[_0x1a4e('0x82')]());},'enumerable':!0x0,'configurable':!0x0}),_0x5439db['prototype']['remove']=function(){this['viewer']['dataSources'][_0x1a4e('0x82')](this,!0x0),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x82')](this[_0x1a4e('0x5061')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['remove'](this[_0x1a4e('0x5062')]);},_0x5439db[_0x1a4e('0xa')][_0x1a4e('0x40ef')]=function(_0x5439db){this['_outlineColor']=_0x5439db&&_0x5439db[_0x1a4e('0x409f')]?_0x5439db[_0x1a4e('0x409f')]:_0x1a4e('0x4d7b'),this[_0x1a4e('0x399c')]=_0x5439db&&_0x5439db[_0x1a4e('0x152')]?_0x5439db['height']:void 0x0,_0x5439db['extrudedHeight']&&void 0x0===_0x5439db['relativeHeight']&&(this[_0x1a4e('0x505e')]=_0x5439db[_0x1a4e('0x398d')]-this[_0x1a4e('0x399c')]),this[_0x1a4e('0x505e')]=_0x5439db&&_0x5439db[_0x1a4e('0x505f')]?_0x5439db[_0x1a4e('0x505f')]:0x989680,this[_0x1a4e('0x5060')]=_0x5439db&&_0x5439db[_0x1a4e('0x503a')]?_0x5439db[_0x1a4e('0x503a')]:0x9;},_0x5439db[_0x1a4e('0xa')]['setOutlineColor']=function(_0x5439db){_0x5439db&&(this[_0x1a4e('0x4585')]=_0x5439db);},_0x5439db[_0x1a4e('0xa')][_0x1a4e('0x469e')]=function(_0x5439db){this[_0x1a4e('0x399c')]=_0x5439db;},_0x5439db[_0x1a4e('0xa')]['setRelativeHeight']=function(_0x5439db){this['_relativeHeight']=_0x5439db;},_0x5439db[_0x1a4e('0xa')][_0x1a4e('0x5063')]=function(_0x5439db){this[_0x1a4e('0x4e8f')]=_0x5439db;},_0x5439db[_0x1a4e('0xa')][_0x1a4e('0x5064')]=function(_0x5439db){_0x5439db=(_0x5439db=_0x5439db<0x1?0x1:_0x5439db)>0x14?0x14:_0x5439db,this[_0x1a4e('0x5060')]=_0x5439db;},_0x5439db[_0x1a4e('0xa')][_0x1a4e('0x5065')]=function(){this[_0x1a4e('0x4585')]=_0x1a4e('0x4d7b'),this[_0x1a4e('0x399c')]=void 0x0,this[_0x1a4e('0x505e')]=0x989680,this[_0x1a4e('0x5060')]=0x9;},_0x5439db[_0x1a4e('0xa')]['initialDQGUpdate']=function(_0x5439db,_0x5bc262){var _0x1dbff7=[];_0x1dbff7[0x0]=new _0x4a5fe5[(_0x1a4e('0x5066'))]({'morton':'0','level':0x0,'west':0x0,'south':0x0,'east':0x5a,'north':0x5a}),_0x1dbff7[0x1]=new _0x4a5fe5[(_0x1a4e('0x5066'))]({'morton':'1','level':0x0,'west':0x5a,'south':0x0,'east':0xb4,'north':0x5a}),_0x1dbff7[0x2]=new _0x4a5fe5[(_0x1a4e('0x5066'))]({'morton':'2','level':0x0,'west':-0xb4,'south':0x0,'east':-0x5a,'north':0x5a}),_0x1dbff7[0x3]=new _0x4a5fe5[(_0x1a4e('0x5066'))]({'morton':'3','level':0x0,'west':-0x5a,'south':0x0,'east':0x0,'north':0x5a}),_0x1dbff7[0x4]=new _0x4a5fe5[(_0x1a4e('0x5066'))]({'morton':'4','level':0x0,'west':0x0,'south':-0x5a,'east':0x5a,'north':0x0}),_0x1dbff7[0x5]=new _0x4a5fe5[(_0x1a4e('0x5066'))]({'morton':'5','level':0x0,'west':0x5a,'south':-0x5a,'east':0xb4,'north':0x0}),_0x1dbff7[0x6]=new _0x4a5fe5[(_0x1a4e('0x5066'))]({'morton':'6','level':0x0,'west':-0xb4,'south':-0x5a,'east':-0x5a,'north':0x0}),_0x1dbff7[0x7]=new _0x4a5fe5['TriangleTile']({'morton':'7','level':0x0,'west':-0x5a,'south':-0x5a,'east':0x0,'north':0x0});for(var _0x508c9c=0x0;_0x508c9c<_0x1dbff7['length'];++_0x508c9c){Object(_0x4a5fe5[_0x1a4e('0x4ff5')])(_0x1dbff7[_0x508c9c],_0x5bc262)&&_0x1dbff7[_0x508c9c][_0x1a4e('0x937')](_0x5439db,_0x5bc262);}},_0x5439db[_0x1a4e('0xa')]['DQGUpdate']=function(){var _0x5439db=this['viewer'][_0x1a4e('0x38d6')],_0x5bc262=_0x5439db[_0x1a4e('0x3a06')],_0x1dbff7=Cesium['Ellipsoid'][_0x1a4e('0x3b85')],_0x508c9c=new Object(),_0x2d2740=Object(_0x4a5fe5[_0x1a4e('0x4ff4')])(_0x5bc262);this[_0x1a4e('0x5060')]<0x1?this[_0x1a4e('0x5060')]=0x1:this[_0x1a4e('0x5060')]>0x14&&(this[_0x1a4e('0x5060')]=0x14),_0x508c9c[_0x1a4e('0x503a')]=this[_0x1a4e('0x5060')],_0x508c9c['camera']=_0x5bc262,_0x508c9c[_0x1a4e('0x3553')]=_0x5bc262['position'],_0x508c9c[_0x1a4e('0x5003')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x25c')](_0x5bc262['position']),_0x508c9c[_0x1a4e('0x5067')]=Math[_0x1a4e('0x90')](_0x5bc262[_0x1a4e('0x3a51')]['_fovy']/0x2),_0x508c9c[_0x1a4e('0x5068')]=Math[_0x1a4e('0x8f')](_0x5bc262[_0x1a4e('0x3a51')][_0x1a4e('0x5069')]/0x2),_0x508c9c[_0x1a4e('0x5005')]=Math['PI']/0x2-_0x5bc262[_0x1a4e('0x3a51')][_0x1a4e('0x5069')]/0x2,_0x508c9c[_0x1a4e('0x506a')]=_0x508c9c[_0x1a4e('0x5003')]*_0x508c9c[_0x1a4e('0x5067')],_0x508c9c[_0x1a4e('0x506b')]=_0x2d2740*_0x2d2740-_0x508c9c[_0x1a4e('0x5003')]*_0x508c9c[_0x1a4e('0x5003')]+_0x508c9c[_0x1a4e('0x506a')]*_0x508c9c[_0x1a4e('0x506a')],_0x508c9c[_0x1a4e('0x506c')]=(_0x508c9c[_0x1a4e('0x5003')]*(0x1-_0x508c9c[_0x1a4e('0x5067')]*_0x508c9c[_0x1a4e('0x5067')])+_0x508c9c[_0x1a4e('0x5067')]*Math[_0x1a4e('0x91')](_0x508c9c[_0x1a4e('0x506b')]))/_0x2d2740,_0x508c9c['angle']=Math[_0x1a4e('0x92c')](_0x508c9c[_0x1a4e('0x506c')]),_0x508c9c[_0x1a4e('0x5004')]=_0x2d2740/_0x508c9c[_0x1a4e('0x5068')],_0x508c9c['maxWholeTileLevel']=0x0,_0x508c9c[_0x1a4e('0x506d')]=_0x5bc262['frustum'][_0x1a4e('0x4348')](_0x5bc262['positionWC'],_0x5bc262['directionWC'],_0x5bc262[_0x1a4e('0x434a')]),_0x508c9c[_0x1a4e('0x4ffe')]=new Cesium['EllipsoidalOccluder'](_0x1dbff7,_0x5bc262[_0x1a4e('0x3d87')]),_0x508c9c[_0x1a4e('0x506e')]=_0x508c9c[_0x1a4e('0x5003')]-_0x2d2740,_0x508c9c['altitudeDistance']=void 0x0!==this[_0x1a4e('0x399c')]?this[_0x1a4e('0x399c')]:(_0x508c9c['cameraDistance']-_0x2d2740)/0x3e8;var _0x25cc1e=[];_0x508c9c[_0x1a4e('0x409f')]=this[_0x1a4e('0x409f')],this[_0x1a4e('0x506f')](_0x25cc1e,_0x508c9c),this[_0x1a4e('0x4e8f')]&&void 0x0===this['relativeHeight']&&(this[_0x1a4e('0x505e')]=this[_0x1a4e('0x4e8f')]-this['height']),_0x508c9c[_0x1a4e('0x500e')]=void 0x0!==this[_0x1a4e('0x399c')]?this[_0x1a4e('0x399c')]+(this[_0x1a4e('0x505e')]>>_0x508c9c['maxWholeTileLevel']):_0x508c9c[_0x1a4e('0x500c')]+(this[_0x1a4e('0x505e')]>>_0x508c9c[_0x1a4e('0x5038')]),_0x5439db[_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x5061')]),this[_0x1a4e('0x5061')]=Object(_0x4a5fe5[_0x1a4e('0x4ff9')])(_0x508c9c,_0x25cc1e,[]),_0x5439db[_0x1a4e('0x38e3')]['add'](this[_0x1a4e('0x5061')]);},_0x5439db[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x5439db){return this[_0x1a4e('0x505d')]||this[_0x1a4e('0x5037')](),!0x0;},_0x5439db[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){clearTimeout(this[_0x1a4e('0x5070')]),this['timeID']=null,this[_0x1a4e('0x505d')]=!0x0,this['viewer']['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x5061')]),this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x5062')]);},_0x5439db;}(),_0x2d2740=function(){};},'./src/SceneOptions/MapSheet.ts':function(_0x1b7ede,_0x20cd48,_0x150eda){'use strict';_0x150eda['r'](_0x20cd48),_0x150eda['d'](_0x20cd48,'MapSheet',function(){return _0x5b9990;});var _0x122785=_0x150eda(_0x1a4e('0x505c')),_0x364080=_0x150eda(_0x1a4e('0x38d0')),_0x10f39c=_0x150eda(_0x1a4e('0x3f31')),_0x204f25=_0x150eda(_0x1a4e('0x5071')),_0x152729=_0x150eda(_0x1a4e('0x3970')),_0x5b9990=function(){function _0x1b7ede(_0x1b7ede){this[_0x1a4e('0x5072')]=[0xa,0x2,0x1,0x1,0x1,0.5],this[_0x1a4e('0x3b33')]=!0x1,this[_0x1a4e('0x5073')]=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V'],this[_0x1a4e('0x5074')]=[0x3840,0x1c20,0xe10,0x4b0,0x258,0x12c,0x96,0x4b],this[_0x1a4e('0x5075')]=[0x5460,0x2a30,0x1518,0x708,0x384,0x1c2,0xe1,112.5],this['destroyFlag']=!0x1,this[_0x1a4e('0x5076')]=!0x1,this[_0x1a4e('0x5077')]=!0x1,this['viewer']=_0x1b7ede,this[_0x1a4e('0x2e5e')]=new Cesium[(_0x1a4e('0x4c0e'))](),this[_0x1a4e('0x4d64')]=new Cesium[(_0x1a4e('0x4c0e'))](),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this[_0x1a4e('0x2e5e')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this[_0x1a4e('0x4d64')]),this[_0x1a4e('0x5078')]=new Array(),this[_0x1a4e('0x143')]=_0x10f39c[_0x1a4e('0x3faa')][_0x1a4e('0x5079')],this[_0x1a4e('0x5076')]=!0x1,this['_name']=_0x1a4e('0x507a'),this[_0x1a4e('0x4d40')]=new Cesium[(_0x1a4e('0x168d'))](),this[_0x1a4e('0x1465')]=new Cesium['Event'](),this['_entityCollection']=new Cesium[(_0x1a4e('0x4d92'))](this),this[_0x1a4e('0x4d93')]=new Cesium['EntityCluster'](),this[_0x1a4e('0x4d41')]=!0x1,this['_loading']=new Cesium['Event']();}return Object[_0x1a4e('0x2')](_0x1b7ede[_0x1a4e('0xa')],'name',{'get':function(){return this['_name'];},'set':function(_0x1b7ede){this[_0x1a4e('0x3d3')]=_0x1b7ede;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede[_0x1a4e('0xa')],_0x1a4e('0x3b3e'),{'get':function(){},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede['prototype'],_0x1a4e('0x38e2'),{'get':function(){return this['_entityCollection'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede['prototype'],_0x1a4e('0x4d9c'),{'get':function(){return this[_0x1a4e('0x4d41')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede[_0x1a4e('0xa')],_0x1a4e('0x4d9d'),{'get':function(){return this[_0x1a4e('0x4d40')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede[_0x1a4e('0xa')],_0x1a4e('0x4d9e'),{'get':function(){return this[_0x1a4e('0x1465')];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x1b7ede['prototype'],_0x1a4e('0x4d9f'),{'get':function(){return this['_loading'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede[_0x1a4e('0xa')],_0x1a4e('0x3a23'),{'get':function(){return this['_entityCollection'][_0x1a4e('0x3a23')];},'set':function(_0x1b7ede){this[_0x1a4e('0x4d91')][_0x1a4e('0x3a23')]=_0x1b7ede;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede[_0x1a4e('0xa')],_0x1a4e('0x4795'),{'get':function(){return this[_0x1a4e('0x4d93')];},'set':function(_0x1b7ede){if(!Cesium[_0x1a4e('0x3a0b')](_0x1b7ede))throw new Cesium[(_0x1a4e('0x3b9c'))]('value\x20must\x20be\x20defined.');this[_0x1a4e('0x4d93')]=_0x1b7ede;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede[_0x1a4e('0xa')],_0x1a4e('0x3b2c'),{'get':function(){return this['_visible'];},'set':function(_0x1b7ede){this[_0x1a4e('0x3b33')]!==_0x1b7ede&&(this[_0x1a4e('0x3b33')]=_0x1b7ede,this['_visible']?(this[_0x1a4e('0x505d')]=!0x1,this[_0x1a4e('0x38d5')]['dataSources'][_0x1a4e('0x177')](this)):this[_0x1a4e('0x82')]());},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede['prototype'],'gridVisible',{'get':function(){return this[_0x1a4e('0x5076')];},'set':function(_0x1b7ede){this[_0x1a4e('0x5076')]!==_0x1b7ede&&(this[_0x1a4e('0x5076')]=_0x1b7ede);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x1b7ede[_0x1a4e('0xa')],_0x1a4e('0x507b'),{'get':function(){return this['_mapSheetVisable'];},'set':function(_0x1b7ede){this[_0x1a4e('0x5077')]!==_0x1b7ede&&(this[_0x1a4e('0x5077')]=_0x1b7ede);},'enumerable':!0x0,'configurable':!0x0}),_0x1b7ede[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(){this[_0x1a4e('0x38d5')][_0x1a4e('0x395b')]['remove'](this,!0x0);},_0x1b7ede[_0x1a4e('0xa')]['getSheetNumber']=function(_0x1b7ede,_0x20cd48,_0x150eda){null==_0x150eda&&(_0x150eda=this['scale']);var _0x122785=Math[_0x1a4e('0x65')](0xe10*_0x20cd48),_0x364080=0xe10*_0x1b7ede,_0x204f25='';_0x204f25=_0x20cd48<=0x0?'S'+_0x204f25:'N'+_0x204f25;var _0x152729=Math['abs'](Math['floor'](_0x122785/0x3840));_0x122785>0x3840&&_0x122785%0x3840==0x0&&(_0x152729-=0x1);var _0x5b9990=Math['floor'](_0x364080/0x5460)+0x1f;if(_0x204f25+=this[_0x1a4e('0x5073')][_0x152729],_0x204f25+=''+(_0x5b9990<0xa?'0'+_0x5b9990:_0x5b9990),0x0==_0x150eda)return _0x204f25;var _0x2f5c21=this['getSheetRange'](_0x204f25,_0x10f39c['LevelCodeEnum'][_0x1a4e('0x5079')]),_0x4f1136=Math[_0x1a4e('0x6d')](0xe10*(_0x2f5c21[_0x1a4e('0x403b')]-_0x20cd48)/this[_0x1a4e('0x5074')][_0x150eda]);0x0==_0x4f1136&&(_0x4f1136+=0x1);var _0xbe09ee=Math[_0x1a4e('0x6d')]((_0x364080-0xe10*_0x2f5c21[_0x1a4e('0x394e')])/this[_0x1a4e('0x5075')][_0x150eda]);if(0x0==_0xbe09ee&&(_0xbe09ee+=0x1),_0x204f25+=this[_0x1a4e('0x5073')][_0x150eda],_0x4f1136<0xa)_0x204f25+='00',_0x204f25+=_0x4f1136;else if(_0x4f1136<0x64)_0x204f25+='0',_0x204f25+=_0x4f1136;else{if(!(_0x4f1136<0x3e8))return'';_0x204f25+=_0x4f1136;}if(_0xbe09ee<0xa)_0x204f25+='00',_0x204f25+=_0xbe09ee;else if(_0xbe09ee<0x64)_0x204f25+='0',_0x204f25+=_0xbe09ee;else{if(!(_0xbe09ee<0x3e8))return'';_0x204f25+=_0xbe09ee;}return _0x204f25;},_0x1b7ede[_0x1a4e('0xa')]['getSheetRange']=function(_0x1b7ede,_0x20cd48){if(null==_0x20cd48&&(_0x20cd48=this[_0x1a4e('0x143')]),this['checkSheetToScale'](_0x1b7ede,_0x20cd48)){var _0x150eda,_0x122785,_0x364080=_0x1b7ede[_0x1a4e('0x78')](0x0,0x4),_0x10f39c=this[_0x1a4e('0x5074')][0x0],_0x204f25=this[_0x1a4e('0x5075')][0x0],_0x152729=_0x364080[_0x1a4e('0x278')](0x0),_0x5b9990=this[_0x1a4e('0x5073')]['indexOf'](_0x364080['charAt'](0x1))+0x1,_0x1a4ae7=parseInt(_0x364080['slice'](-0x2)),_0x11efde=_0x204f25*(_0x1a4ae7-0x1)/0xe10-0xb4;if('S'==_0x152729?(_0x150eda=-_0x10f39c*_0x5b9990/0xe10,_0x122785=-_0x10f39c*(_0x5b9990-0x1)/0xe10):'N'==_0x152729&&(_0x150eda=_0x10f39c*(_0x5b9990-0x1)/0xe10,_0x122785=_0x10f39c*_0x5b9990/0xe10),0x0==_0x20cd48)return{'south':_0x150eda,'east':_0x204f25*_0x1a4ae7/0xe10-0xb4,'north':_0x122785,'west':_0x11efde};var _0x125ea9=_0x1b7ede[_0x1a4e('0x78')](0x4,_0x1b7ede[_0x1a4e('0x1e')]),_0xdbe938=this[_0x1a4e('0x5074')][_0x20cd48],_0x5aa681=this[_0x1a4e('0x5075')][_0x20cd48],_0xfc205=parseInt(_0x125ea9[_0x1a4e('0x78')](0x1,0x4)),_0x211056=parseInt(_0x125ea9[_0x1a4e('0x78')](0x4,_0x125ea9['length']));return{'south':(0xe10*_0x122785-_0xdbe938*_0xfc205)/0xe10,'east':_0x5aa681*_0x211056/0xe10+_0x11efde,'north':(0xe10*_0x122785-_0xdbe938*(_0xfc205-0x1))/0xe10,'west':_0x5aa681*(_0x211056-0x1)/0xe10+_0x11efde};}},_0x1b7ede[_0x1a4e('0xa')]['checkSheetToScale']=function(_0x1b7ede,_0x20cd48){if(0x4==_0x1b7ede[_0x1a4e('0x1e')]&&0x0==_0x20cd48)return!0x0;var _0x150eda,_0x122785=_0x1b7ede[_0x1a4e('0x278')](0x4);return this[_0x1a4e('0x5073')][_0x1a4e('0xd9')](function(_0x1b7ede,_0x20cd48){_0x122785==_0x1b7ede&&(_0x150eda=_0x20cd48);}),_0x150eda==_0x20cd48;},_0x1b7ede[_0x1a4e('0xa')][_0x1a4e('0x507c')]=function(_0x1b7ede,_0x20cd48,_0x150eda,_0x122785,_0x364080){_0x122785<-0x58&&(_0x122785=-0x58),_0x122785>0x58&&(_0x122785=0x58),_0x20cd48<-0x58&&(_0x20cd48=-0x58),_0x20cd48>0x58&&(_0x20cd48=0x58);var _0x10f39c=this[_0x1a4e('0x507d')](this[_0x1a4e('0x507e')](_0x1b7ede,_0x20cd48,_0x364080),_0x364080),_0x204f25=this[_0x1a4e('0x507d')](this[_0x1a4e('0x507e')](_0x150eda,_0x122785,_0x364080),_0x364080);_0x1b7ede=0xe10*_0x10f39c[_0x1a4e('0x394e')],_0x20cd48=0xe10*_0x10f39c[_0x1a4e('0x403b')],_0x150eda=0xe10*_0x204f25[_0x1a4e('0x3950')],_0x122785=0xe10*_0x204f25[_0x1a4e('0x394f')];for(var _0x152729=this[_0x1a4e('0x5074')][_0x364080],_0x5b9990=this[_0x1a4e('0x5075')][_0x364080],_0x45564b=[],_0x253310=[],_0x4bb670=_0x122785;_0x4bb670<=_0x20cd48;_0x4bb670+=_0x152729){var _0x28c480=(_0x4bb670/0xe10)[_0x1a4e('0x1e5')](0x4);_0x45564b[_0x1a4e('0x46')](_0x28c480),_0x253310[_0x1a4e('0x46')](((_0x4bb670+_0x152729/0x2)/0xe10)[_0x1a4e('0x1e5')](0x4));}_0x253310[_0x1a4e('0x8a')](-0x1,0x1);var _0x3c7536=[],_0x4e5362=[];for(_0x4bb670=_0x1b7ede;_0x4bb670<_0x150eda;_0x4bb670+=_0x5b9990){var _0x7f1eec=(_0x4bb670/0xe10)[_0x1a4e('0x1e5')](0x4);_0x3c7536[_0x1a4e('0x46')](_0x7f1eec),_0x4e5362[_0x1a4e('0x46')](((_0x4bb670+_0x5b9990/0x2)/0xe10)[_0x1a4e('0x1e5')](0x4));}_0x4e5362[_0x1a4e('0x8a')](-0x1,0x1);for(var _0x321f7c=_0x3c7536[_0x1a4e('0x1e')],_0x573c0b=_0x45564b['length'],_0x1091dd=[],_0x2dc763=0x0;_0x2dc763<_0x321f7c;_0x2dc763++){for(var _0x21aff0=[],_0x221f43=0x0;_0x221f43<_0x573c0b;_0x221f43++)_0x21aff0[_0x1a4e('0x46')](_0x3c7536[_0x2dc763]),_0x21aff0[_0x1a4e('0x46')](_0x45564b[_0x221f43]);_0x1091dd[_0x1a4e('0x46')](Cesium['Cartesian3']['fromDegreesArray'](_0x21aff0));}for(_0x221f43=0x0;_0x221f43<_0x573c0b;_0x221f43++){for(_0x21aff0=[],_0x2dc763=0x0;_0x2dc763<_0x321f7c;_0x2dc763++)_0x21aff0[_0x1a4e('0x46')](_0x3c7536[_0x2dc763]),_0x21aff0[_0x1a4e('0x46')](_0x45564b[_0x221f43]);_0x1091dd[_0x1a4e('0x46')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')](_0x21aff0));}for(var _0x24efe9=[],_0x58ce34=[],_0x36f107=0x0;_0x36f107<_0x4e5362[_0x1a4e('0x1e')];_0x36f107++)for(var _0x310f4a=0x0;_0x310f4a<_0x253310['length'];_0x310f4a++)_0x24efe9[_0x1a4e('0x46')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x4e5362[_0x36f107],_0x253310[_0x310f4a])),_0x58ce34[_0x1a4e('0x46')](this[_0x1a4e('0x507e')](_0x4e5362[_0x36f107],_0x253310[_0x310f4a],this[_0x1a4e('0x143')]));return{'labelPos':_0x24efe9,'labelText':_0x58ce34,'polylinesData':_0x1091dd};},_0x1b7ede[_0x1a4e('0xa')][_0x1a4e('0x3b5e')]=function(_0x1b7ede){var _0x20cd48=this,_0x150eda=[];_0x1b7ede[_0x1a4e('0x507f')]['forEach'](function(_0x1b7ede){var _0x20cd48=new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3da9'))]({'positions':_0x1b7ede,'loop':!0x0,'width':0x1}),'attributes':{'color':Cesium[_0x1a4e('0x3940')]['fromColor'](Cesium[_0x1a4e('0x3947')]['fromCssColorString'](_0x1a4e('0x4d7b')))}});_0x150eda[_0x1a4e('0x46')](_0x20cd48);}),this['primitive']=this[_0x1a4e('0x38d5')]['scene']['primitives'][_0x1a4e('0x177')](new Cesium[(_0x1a4e('0x19e6'))]({'geometryInstances':_0x150eda,'appearance':new Cesium[(_0x1a4e('0x3942'))]()})),this[_0x1a4e('0x2e5e')]=new Cesium[(_0x1a4e('0x4c0e'))](),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](this[_0x1a4e('0x2e5e')]),_0x1b7ede['labelText']['forEach'](function(_0x150eda,_0x122785){_0x20cd48['labels'][_0x1a4e('0x177')]({'position':_0x1b7ede['labelPos'][_0x122785],'text':_0x150eda,'font':_0x1a4e('0x46a8'),'horizontalOrigin':Cesium[_0x1a4e('0x440b')][_0x1a4e('0x445d')],'verticalOrigin':Cesium[_0x1a4e('0x3ac5')][_0x1a4e('0x445d')]});});},_0x1b7ede['prototype'][_0x1a4e('0x2ca7')]=function(_0x1b7ede){var _0x20cd48=this;_0x1b7ede[_0x1a4e('0x5080')]['forEach'](function(_0x150eda,_0x122785){_0x20cd48['labels'][_0x1a4e('0x177')]({'position':_0x1b7ede[_0x1a4e('0x5081')][_0x122785],'text':_0x150eda,'font':_0x1a4e('0x46a8'),'horizontalOrigin':Cesium[_0x1a4e('0x440b')][_0x1a4e('0x445d')],'verticalOrigin':Cesium['VerticalOrigin'][_0x1a4e('0x445d')]});});},_0x1b7ede[_0x1a4e('0xa')]['getRectangle']=function(_0x1b7ede,_0x20cd48,_0x150eda){var _0x122785=Cesium[_0x1a4e('0x3965')][_0x1a4e('0x201')],_0x364080=0x2<<_0x150eda,_0x10f39c=0x1<<_0x150eda,_0x204f25=_0x122785[_0x1a4e('0x3936')]/_0x364080,_0x152729=_0x1b7ede*_0x204f25+_0x122785[_0x1a4e('0x394e')],_0x5b9990=(_0x1b7ede+0x1)*_0x204f25+_0x122785['west'],_0x28844c=_0x122785[_0x1a4e('0x152')]/_0x10f39c,_0x241f81=_0x122785['north']-_0x20cd48*_0x28844c,_0x1b01c8=_0x122785['north']-(_0x20cd48+0x1)*_0x28844c;return{'west':_0x152729=0xb4*_0x152729/Math['PI'],'south':_0x1b01c8=0xb4*_0x1b01c8/Math['PI'],'east':_0x5b9990=0xb4*_0x5b9990/Math['PI'],'north':_0x241f81=0xb4*_0x241f81/Math['PI']};},_0x1b7ede[_0x1a4e('0xa')][_0x1a4e('0x5082')]=function(_0x1b7ede,_0x20cd48,_0x150eda,_0x364080){var _0x10f39c=[];_0x10f39c[0x0]=new _0x122785[(_0x1a4e('0x4ffc'))]({'code':'N','level':_0x20cd48,'west':-0xb4,'south':0x0,'east':0x0,'north':0x58}),_0x10f39c[0x1]=new _0x122785[(_0x1a4e('0x4ffc'))]({'code':'N','level':_0x20cd48,'west':0x0,'south':0x0,'east':0xb4,'north':0x58}),_0x10f39c[0x2]=new _0x122785[(_0x1a4e('0x4ffc'))]({'code':'S','level':_0x20cd48,'west':-0xb4,'south':-0x58,'east':0x0,'north':0x0}),_0x10f39c[0x3]=new _0x122785[(_0x1a4e('0x4ffc'))]({'code':'S','level':_0x20cd48,'west':0x0,'south':-0x58,'east':0xb4,'north':0x0});for(var _0x204f25=0x0;_0x204f25<_0x10f39c['length'];++_0x204f25){Object(_0x122785[_0x1a4e('0x4ff5')])(_0x10f39c[_0x204f25],_0x364080)&&_0x10f39c[_0x204f25]['initUpdate'](_0x1b7ede,_0x20cd48,_0x150eda,_0x364080,0x0);}},_0x1b7ede[_0x1a4e('0xa')]['closeRangeUpdate']=function(){var _0x1b7ede=[],_0x20cd48={},_0x150eda=this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')],_0x10f39c=Cesium[_0x1a4e('0x3ab8')]['WGS84'];if(_0x20cd48[_0x1a4e('0x143')]=this['scale'],_0x20cd48['cullingVolume']=_0x150eda[_0x1a4e('0x3a51')]['computeCullingVolume'](_0x150eda[_0x1a4e('0x3d87')],_0x150eda['directionWC'],_0x150eda[_0x1a4e('0x434a')]),_0x20cd48[_0x1a4e('0x506d')]=_0x150eda[_0x1a4e('0x3a51')][_0x1a4e('0x4348')](_0x150eda['positionWC'],_0x150eda[_0x1a4e('0x4349')],_0x150eda['upWC']),_0x20cd48[_0x1a4e('0x4ffe')]=new Cesium[(_0x1a4e('0x4345'))](_0x10f39c,_0x150eda[_0x1a4e('0x3d87')]),this['initialCloseRangeUpdate'](_0x1b7ede,this[_0x1a4e('0x143')],0x1,_0x20cd48),this['primitive']&&!0x1!==this[_0x1a4e('0x8f7')][_0x1a4e('0x3a23')]&&(this[_0x1a4e('0x8f7')][_0x1a4e('0x3a23')]=!0x1),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x5083')]),this['colseRangeLabels'][_0x1a4e('0x3a42')](),this[_0x1a4e('0x2e5e')][_0x1a4e('0x3a42')](),this[_0x1a4e('0x5077')]&&(this[_0x1a4e('0x5083')]=Object(_0x122785[_0x1a4e('0x4ff9')])(_0x20cd48,_0x1b7ede,[]),Object(_0x122785[_0x1a4e('0x4ffb')])(_0x1b7ede,this[_0x1a4e('0x4d64')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['add'](this[_0x1a4e('0x5083')])),this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x5084')]),this['scale']>=0x2&&this[_0x1a4e('0x5076')]){for(var _0x5b9990=Number[_0x1a4e('0x201')],_0x19e6b0=Number[_0x1a4e('0x4b6e')],_0x346edb=Number[_0x1a4e('0x4b6e')],_0x4221ba=Number[_0x1a4e('0x201')],_0x2bbc83=0x0;_0x2bbc83<_0x1b7ede['length'];_0x2bbc83++)_0x1b7ede[_0x2bbc83][_0x1a4e('0x394e')]<_0x5b9990&&(_0x5b9990=_0x1b7ede[_0x2bbc83][_0x1a4e('0x394e')]),_0x1b7ede[_0x2bbc83][_0x1a4e('0x403b')]>_0x19e6b0&&(_0x19e6b0=_0x1b7ede[_0x2bbc83]['north']),_0x1b7ede[_0x2bbc83]['east']>_0x346edb&&(_0x346edb=_0x1b7ede[_0x2bbc83][_0x1a4e('0x3950')]),_0x1b7ede[_0x2bbc83][_0x1a4e('0x394f')]<_0x4221ba&&(_0x4221ba=_0x1b7ede[_0x2bbc83][_0x1a4e('0x394f')]);var _0x15c6b2=Math[_0x1a4e('0x6d')](_0x204f25['distance']([0x0,0x0],[_0x5b9990,0x0],{'units':_0x1a4e('0x2c')})),_0x193bd0=_0x5b9990<=0x0?-0x1:0x1,_0x14772e=_0x152729[_0x1a4e('0x3990')][_0x1a4e('0x7e4')](new _0x364080[(_0x1a4e('0x38da'))](0x0,0x0),_0x15c6b2,0x5a*_0x193bd0,{'units':_0x1a4e('0x2c')})[_0x1a4e('0x1a1')],_0x5e8b2c=Math['ceil'](_0x204f25[_0x1a4e('0x1ed')]([0x0,0x0],[_0x346edb,0x0],{'units':'kilometers'})),_0x1a5d8b=_0x346edb<=0x0?-0x1:0x1,_0x17ee00=_0x152729[_0x1a4e('0x3990')][_0x1a4e('0x7e4')](new _0x364080[(_0x1a4e('0x38da'))](0x0,0x0),_0x5e8b2c,0x5a*_0x1a5d8b,{'units':_0x1a4e('0x2c')})['lon'],_0x33028d=Math[_0x1a4e('0x6d')](_0x204f25[_0x1a4e('0x1ed')]([0x0,0x0],[0x0,_0x19e6b0],{'units':_0x1a4e('0x2c')})),_0x4a4b11=_0x19e6b0<=0x0?-0x1:0x1,_0x4598d1=_0x152729[_0x1a4e('0x3990')][_0x1a4e('0x7e4')](new _0x364080[(_0x1a4e('0x38da'))](0x0,0x0),_0x33028d,0x5a*-_0x4a4b11+0x5a,{'units':_0x1a4e('0x2c')})[_0x1a4e('0x1a2')],_0x5eb544=Math[_0x1a4e('0x6d')](_0x204f25[_0x1a4e('0x1ed')]([0x0,0x0],[0x0,_0x4221ba],{'units':'kilometers'})),_0x2f460e=_0x4221ba<=0x0?-0x1:0x1,_0x33ae9c=_0x152729[_0x1a4e('0x3990')][_0x1a4e('0x7e4')](new _0x364080['GeoPoint'](0x0,0x0),_0x5eb544,0x5a*-_0x2f460e+0x5a,{'units':_0x1a4e('0x2c')})[_0x1a4e('0x1a2')];this['addGridPrimitive'](_0x14772e,_0x4598d1,_0x17ee00,_0x33ae9c);}},_0x1b7ede[_0x1a4e('0xa')][_0x1a4e('0x5085')]=function(_0x1b7ede,_0x20cd48,_0x150eda,_0x122785){for(var _0x10f39c=this[_0x1a4e('0x5072')][this[_0x1a4e('0x143')]-0x2],_0x5b9990=_0x204f25[_0x1a4e('0x1ed')]([_0x1b7ede,_0x20cd48],[_0x150eda,_0x20cd48],{'units':_0x1a4e('0x2c')})/_0x10f39c,_0x2357c0=_0x204f25[_0x1a4e('0x1ed')]([_0x1b7ede,_0x20cd48],[_0x1b7ede,_0x122785],{'units':_0x1a4e('0x2c')})/_0x10f39c,_0x28bd0a=[],_0x1f84f0=0x0;_0x1f84f0<_0x5b9990;_0x1f84f0++){var _0x5ce7d8=_0x152729[_0x1a4e('0x3990')][_0x1a4e('0x7e4')](new _0x364080[(_0x1a4e('0x38da'))](_0x1b7ede,_0x20cd48),_0x10f39c*_0x1f84f0,0x5a,{'units':_0x1a4e('0x2c')})['lon'];_0x28bd0a[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3da9'))]({'positions':Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')]([_0x5ce7d8,_0x20cd48,_0x5ce7d8,_0x122785]),'width':0x1})}));}for(var _0x2da28b=0x0;_0x2da28b<_0x2357c0;_0x2da28b++){var _0x16975a=_0x152729['Calculate']['rhumbDestination'](new _0x364080[(_0x1a4e('0x38da'))](_0x1b7ede,_0x20cd48),_0x10f39c*_0x2da28b,0xb4,{'units':_0x1a4e('0x2c')})['lat'];Cesium[_0x1a4e('0x393e')]['fromDegreesArray']([_0x1b7ede,_0x16975a,_0x150eda,_0x16975a]),_0x28bd0a[_0x1a4e('0x46')](new Cesium[(_0x1a4e('0x393d'))]({'geometry':new Cesium[(_0x1a4e('0x3da9'))]({'positions':Cesium[_0x1a4e('0x393e')][_0x1a4e('0x393f')]([_0x1b7ede,_0x16975a,_0x150eda,_0x16975a]),'width':0x1})}));}this[_0x1a4e('0x5084')]=new Cesium['Primitive']({'geometryInstances':_0x28bd0a,'asynchronous':!0x1,'appearance':new Cesium[(_0x1a4e('0x3b81'))]({'material':new Cesium[(_0x1a4e('0x3a3b'))]({'fabric':{'type':_0x1a4e('0x3947'),'uniforms':{'color':Cesium[_0x1a4e('0x3947')][_0x1a4e('0x39ad')]}}})})}),this['viewer'][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](this[_0x1a4e('0x5084')]);},_0x1b7ede[_0x1a4e('0xa')][_0x1a4e('0x937')]=function(_0x1b7ede){if(!this[_0x1a4e('0x505d')]){var _0x20cd48=_0x364080[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['camera'][_0x1a4e('0x3553')])[_0x1a4e('0x398c')];if(this['scale']=_0x20cd48<0x2234?0x7:_0x20cd48<0x96b0?0x6:_0x20cd48<0x21d50?0x5:_0x20cd48<0x3a3f0?0x4:_0x20cd48<0xb4510?0x3:_0x20cd48<0x177a10?0x2:_0x20cd48<0x222870?0x1:0x0,_0x20cd48<0x2e5d70)this[_0x1a4e('0x5086')]();else{this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives']['remove'](this[_0x1a4e('0x5083')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x5084')]);var _0x150eda={'west':-0xb4,'south':-0x58,'east':0xb4,'north':0x58};null==this['range']?(this[_0x1a4e('0x1075')]=_0x150eda,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['remove'](this['primitive']),this['colseRangeLabels'][_0x1a4e('0x3a42')](),this[_0x1a4e('0x2e5e')][_0x1a4e('0x3a42')](),this[_0x1a4e('0x5087')]=this['splitMap'](_0x150eda['west'],_0x150eda[_0x1a4e('0x403b')],_0x150eda[_0x1a4e('0x3950')],_0x150eda[_0x1a4e('0x394f')],this[_0x1a4e('0x143')]),this['createPrimitive'](this[_0x1a4e('0x5087')])):!0x0!==this[_0x1a4e('0x8f7')]['show']&&(this[_0x1a4e('0x4d64')][_0x1a4e('0x3a42')](),this['labels'][_0x1a4e('0x3a42')](),this[_0x1a4e('0x8f7')][_0x1a4e('0x3a23')]=!0x0,this[_0x1a4e('0x2ca7')](this['labelInfo'])),this['_mapSheetVisable']||(this[_0x1a4e('0x8f7')][_0x1a4e('0x3a23')]=!0x1,this['labels']['removeAll']());}}return!0x0;},_0x1b7ede[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){clearTimeout(this[_0x1a4e('0x5070')]),this[_0x1a4e('0x5070')]=null,this[_0x1a4e('0x505d')]=!0x0,this[_0x1a4e('0x1075')]=void 0x0,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['remove'](this[_0x1a4e('0x8f7')]),this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x5084')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x5083')]),this[_0x1a4e('0x4d64')]['removeAll'](),this[_0x1a4e('0x2e5e')][_0x1a4e('0x139c')]();},_0x1b7ede;}();},'./src/SceneOptions/PathPlanning.ts':function(_0x353950,_0x13ab2b,_0x5d350c){'use strict';_0x5d350c['r'](_0x13ab2b),_0x5d350c['d'](_0x13ab2b,_0x1a4e('0x4007'),function(){return _0x105fd0;}),_0x5d350c['d'](_0x13ab2b,_0x1a4e('0x5088'),function(){return _0xa53665;});var _0x497e2c=_0x5d350c(_0x1a4e('0x505c')),_0x17cb6c=_0x5d350c(_0x1a4e('0x3f83')),_0x3b5483=_0x5d350c('./src/Utils/GeoPoint.ts'),_0x3f6a87=_0x5d350c(_0x1a4e('0x5071')),_0xac0332=function(_0x353950,_0x13ab2b){var _0x5d350c='function'==typeof Symbol&&_0x353950[Symbol['iterator']];if(!_0x5d350c)return _0x353950;var _0x497e2c,_0x17cb6c,_0x3b5483=_0x5d350c[_0x1a4e('0x1')](_0x353950),_0x3f6a87=[];try{for(;(void 0x0===_0x13ab2b||_0x13ab2b-->0x0)&&!(_0x497e2c=_0x3b5483[_0x1a4e('0x7e')]())[_0x1a4e('0x3c2')];)_0x3f6a87['push'](_0x497e2c['value']);}catch(_0x27980f){_0x17cb6c={'error':_0x27980f};}finally{try{_0x497e2c&&!_0x497e2c[_0x1a4e('0x3c2')]&&(_0x5d350c=_0x3b5483['return'])&&_0x5d350c[_0x1a4e('0x1')](_0x3b5483);}finally{if(_0x17cb6c)throw _0x17cb6c[_0x1a4e('0x873')];}}return _0x3f6a87;},_0x105fd0=function(){function _0x353950(_0x353950,_0x13ab2b){this[_0x1a4e('0x38d5')]=_0x353950,this[_0x1a4e('0x5089')]=_0x13ab2b[_0x1a4e('0x5089')],this['level']=_0x13ab2b['level']?_0x13ab2b[_0x1a4e('0x2dd0')]:0x3,this[_0x1a4e('0x399c')]=_0x13ab2b[_0x1a4e('0x152')]?_0x13ab2b['height']:0.1,this[_0x1a4e('0x505e')]=_0x13ab2b[_0x1a4e('0x505f')]?_0x13ab2b[_0x1a4e('0x505f')]:0x98e0b8>>this[_0x1a4e('0x2dd0')],this[_0x1a4e('0x508a')]=_0x13ab2b[_0x1a4e('0x508b')]?_0x13ab2b['pathArrColor']:_0x1a4e('0x508c'),this[_0x1a4e('0x508d')]=_0x13ab2b[_0x1a4e('0x508e')]?_0x13ab2b[_0x1a4e('0x508e')]:_0x1a4e('0x508f'),this['_strPosColor']=_0x13ab2b[_0x1a4e('0x5090')]?_0x13ab2b[_0x1a4e('0x5090')]:_0x1a4e('0x5091'),this['_endPosColor']=_0x13ab2b[_0x1a4e('0x5092')]?_0x13ab2b[_0x1a4e('0x5092')]:_0x1a4e('0x5093'),this[_0x1a4e('0x5094')]=_0x13ab2b['inaccesRegionsAltArray']?_0x13ab2b[_0x1a4e('0x5094')]:[],this[_0x1a4e('0x5095')]={'west':0x5a,'south':0x0,'east':0xb4,'north':0x5a,'level':0x5,'heightLevel':0x2,'height':0.1,'outlineColor':_0x1a4e('0x5096'),'color':_0x1a4e('0x5097'),'isDrawEachGrid':!0x1},this[_0x1a4e('0x5098')]=!!_0x13ab2b['is3DPathPlanning']&&_0x13ab2b[_0x1a4e('0x5099')],this['minAlt']=0x1/0x0,this['minLon']=0x1/0x0,this[_0x1a4e('0x509a')]=0x1/0x0,this[_0x1a4e('0x509b')]=0x0,this[_0x1a4e('0x509c')]=-0xb4,this[_0x1a4e('0x509d')]=-0x5a,this[_0x1a4e('0x509e')]=[],this['additionalInaccess']=[],this[_0x1a4e('0x509f')]=_0x497e2c[_0x1a4e('0x509f')],this[_0x1a4e('0x4ff7')]=_0x497e2c[_0x1a4e('0x4ff7')],this[_0x1a4e('0x4ff8')]=_0x497e2c[_0x1a4e('0x4ff8')];}return Object[_0x1a4e('0x2')](_0x353950['prototype'],'pathArrColor',{'get':function(){return this[_0x1a4e('0x508a')];},'set':function(_0x353950){this[_0x1a4e('0x508a')]=_0x353950;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x353950['prototype'],_0x1a4e('0x508e'),{'get':function(){return this['_inaccesColor'];},'set':function(_0x353950){this[_0x1a4e('0x508d')]=_0x353950;},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x353950['prototype'],_0x1a4e('0x5090'),{'get':function(){return this[_0x1a4e('0x50a0')];},'set':function(_0x353950){this['_strPosColor']=_0x353950;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x353950[_0x1a4e('0xa')],_0x1a4e('0x5092'),{'get':function(){return this[_0x1a4e('0x50a1')];},'set':function(_0x353950){this['_endPosColor']=_0x353950;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x353950['prototype'],_0x1a4e('0x505f'),{'get':function(){return this[_0x1a4e('0x505e')];},'set':function(_0x353950){this[_0x1a4e('0x505e')]=_0x353950;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x353950[_0x1a4e('0xa')],_0x1a4e('0x5099'),{'get':function(){return this[_0x1a4e('0x5098')];},'set':function(_0x353950){this['_is3DPathPlanning']=_0x353950;},'enumerable':!0x0,'configurable':!0x0}),_0x353950[_0x1a4e('0xa')][_0x1a4e('0x50a2')]=function(_0x353950,_0x13ab2b,_0x5d350c,_0x497e2c,_0x17cb6c,_0x3b5483,_0x3f6a87){var _0x105fd0,_0xa53665,_0x11fe69,_0x3bf73f,_0x1e607c,_0x3a9428,_0x3c12f9=_0x3f6a87[_0x1a4e('0x9a')](this[_0x1a4e('0x50a3')]);this[_0x1a4e('0x509a')]>0x0?(_0x105fd0=this[_0x1a4e('0x4ff7')](this[_0x1a4e('0x50a4')],this[_0x1a4e('0x509d')],this['level'])[_0x1a4e('0x5007')],_0xa53665=this[_0x1a4e('0x4ff7')](this['maxLon'],this[_0x1a4e('0x509a')],this[_0x1a4e('0x2dd0')])[_0x1a4e('0x5007')],_0x11fe69=this['lonLatToRowCol'](this[_0x1a4e('0x50a4')],this[_0x1a4e('0x509a')],this[_0x1a4e('0x2dd0')])[_0x1a4e('0x5006')],_0x3bf73f=this[_0x1a4e('0x4ff7')](this['maxLon'],this[_0x1a4e('0x509d')],this[_0x1a4e('0x2dd0')])['col'],_0x1e607c=Math[_0x1a4e('0xb4')]((this[_0x1a4e('0x50a5')]+this['_relativeHeight']/0x2)/this[_0x1a4e('0x505e')]),_0x3a9428=Math[_0x1a4e('0xb4')]((this['maxAlt']-this[_0x1a4e('0x505e')]/0x2)/this[_0x1a4e('0x505e')])):(_0x105fd0=this[_0x1a4e('0x4ff7')](this[_0x1a4e('0x50a4')],this[_0x1a4e('0x509a')],this[_0x1a4e('0x2dd0')])['row'],_0xa53665=this['lonLatToRowCol'](this['maxLon'],this[_0x1a4e('0x509d')],this[_0x1a4e('0x2dd0')])[_0x1a4e('0x5007')],_0x11fe69=this[_0x1a4e('0x4ff7')](this['minLon'],this[_0x1a4e('0x509a')],this['level'])[_0x1a4e('0x5006')],_0x3bf73f=this[_0x1a4e('0x4ff7')](this['maxLon'],this[_0x1a4e('0x509d')],this[_0x1a4e('0x2dd0')])[_0x1a4e('0x5006')],_0x1e607c=Math[_0x1a4e('0xb4')]((this[_0x1a4e('0x50a5')]+this[_0x1a4e('0x505e')]/0x2)/this[_0x1a4e('0x505e')]),_0x3a9428=Math[_0x1a4e('0xb4')]((this[_0x1a4e('0x509b')]-this[_0x1a4e('0x505e')]/0x2)/this[_0x1a4e('0x505e')]));var _0x4d2b13,_0x4456b1=_0xa53665-_0x105fd0+0x1,_0x120fd2=_0x3bf73f-_0x11fe69+0x1;_0x4d2b13=this[_0x1a4e('0x5098')]?_0x3a9428-_0x1e607c+0x1:0x1;for(var _0x1ff8ff=[],_0x37156f=[],_0x474db8=0x0;_0x474db8<_0x3c12f9[_0x1a4e('0x1e')];++_0x474db8)_0x37156f[_0x1a4e('0x46')](_0x3c12f9[_0x474db8][_0x1a4e('0x5007')]-_0x105fd0+'*'+(_0x3c12f9[_0x474db8][_0x1a4e('0x5006')]-_0x11fe69)+'*'+(_0x3c12f9[_0x474db8]['hei']-_0x1e607c));for(_0x474db8=0x0;_0x474db8<_0x4456b1;++_0x474db8){_0x1ff8ff[_0x474db8]=[];for(var _0x30ec9a=0x0;_0x30ec9a<_0x120fd2;++_0x30ec9a){_0x1ff8ff[_0x474db8][_0x30ec9a]=[];for(var _0x446fc1=0x0;_0x446fc1<_0x4d2b13;++_0x446fc1)_0x1ff8ff[_0x474db8][_0x30ec9a][_0x446fc1]=0x0;}}var _0x5f32e6=[0x1,-0x1,0x0,0x0,0x0,0x0],_0x5df501=[0x0,0x0,0x1,-0x1,0x0,0x0],_0x3b1d14=[0x0,0x0,0x0,0x0,0x1,-0x1],_0x2f28e0=[],_0x37fc0a=_0x353950-_0x105fd0,_0x2225a7=_0x13ab2b-_0x11fe69,_0x3de8fe=_0x5d350c-_0x1e607c;for(_0x1ff8ff[_0x37fc0a][_0x2225a7][_0x3de8fe]=0x1,_0x2f28e0[_0x1a4e('0x46')]([_0x37fc0a,_0x2225a7,_0x3de8fe,0x0,[[_0x37fc0a,_0x2225a7,_0x3de8fe]]]);_0x2f28e0[_0x1a4e('0x1e')];){var _0x1eb731=_0x2f28e0[_0x1a4e('0x1e')];for(_0x474db8=0x0;_0x474db8<_0x1eb731;++_0x474db8){var _0x1b9ffc=_0xac0332(_0x2f28e0[_0x1a4e('0x7d')](),0x5),_0x3d2bd0=_0x1b9ffc[0x0],_0x10bd4b=_0x1b9ffc[0x1],_0x4eaf65=_0x1b9ffc[0x2],_0x15e1a7=_0x1b9ffc[0x3],_0x52f8aa=_0x1b9ffc[0x4];for(_0x30ec9a=0x0;_0x30ec9a<0x6;++_0x30ec9a){var _0x5e5849=_0x52f8aa['concat'](),_0x427aad=_0x3d2bd0+_0x5f32e6[_0x30ec9a],_0x47c90d=_0x10bd4b+_0x5df501[_0x30ec9a],_0x43ffc7=_0x4eaf65+_0x3b1d14[_0x30ec9a];if(!(_0x427aad<0x0||_0x427aad>=_0x4456b1||_0x47c90d<0x0||_0x47c90d>=_0x120fd2||_0x43ffc7<0x0||_0x43ffc7>=_0x4d2b13)){var _0x41abc9=_0x427aad+'*'+_0x47c90d+'*'+_0x43ffc7;if(!_0x37156f[_0x1a4e('0xae5')](_0x41abc9)&&!_0x1ff8ff[_0x427aad][_0x47c90d][_0x43ffc7]){if(_0x1ff8ff[_0x427aad][_0x47c90d][_0x43ffc7]=0x1,_0x5e5849[_0x1a4e('0x46')]([_0x427aad+_0x105fd0,_0x47c90d+_0x11fe69,_0x43ffc7+_0x1e607c]),_0x427aad===_0x497e2c-_0x105fd0&&_0x47c90d===_0x17cb6c-_0x11fe69&&_0x43ffc7===_0x3b5483)return _0x5e5849;_0x2f28e0[_0x1a4e('0x46')]([_0x427aad,_0x47c90d,_0x43ffc7,_0x15e1a7+0x1,_0x5e5849]);}}}}}},_0x353950[_0x1a4e('0xa')][_0x1a4e('0x50a6')]=function(_0x353950,_0x13ab2b,_0x5d350c){this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this['gridPathPrimitive']),this['viewer']['scene']['primitives'][_0x1a4e('0x82')](this[_0x1a4e('0x50a7')]),_0x5d350c=_0x5d350c||this[_0x1a4e('0x399c')]+this[_0x1a4e('0x505e')]/0x2;var _0x17cb6c=this[_0x1a4e('0x509f')](_0x353950,_0x13ab2b,_0x5d350c,this[_0x1a4e('0x2dd0')],this['_relativeHeight'],this[_0x1a4e('0x399c')]),_0x3b5483=this[_0x1a4e('0x4ff8')](_0x17cb6c['row'],_0x17cb6c[_0x1a4e('0x5006')],this[_0x1a4e('0x2dd0')]);this['startRow']=_0x17cb6c[_0x1a4e('0x5007')],this[_0x1a4e('0x50a8')]=_0x17cb6c[_0x1a4e('0x5006')],this[_0x1a4e('0x50a9')]=_0x17cb6c['hei'];var _0x3f6a87=[];_0x3f6a87[_0x1a4e('0x46')](_0x3b5483);var _0xac0332={'color':void 0x0,'altitudeDistance':void 0x0,'gridHeight':void 0x0};_0xac0332[_0x1a4e('0x134')]=this[_0x1a4e('0x50a0')],_0xac0332[_0x1a4e('0x500c')]=this[_0x1a4e('0x399c')],_0xac0332[_0x1a4e('0x500e')]=this[_0x1a4e('0x399c')]+this['_relativeHeight'],this[_0x1a4e('0x50a7')]=Object(_0x497e2c[_0x1a4e('0x4ffa')])(_0xac0332,_0x3f6a87,[]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this[_0x1a4e('0x50a7')]);},_0x353950[_0x1a4e('0xa')][_0x1a4e('0x50aa')]=function(_0x353950,_0x13ab2b,_0x5d350c){this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x50ab')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x82')](this['startPosPrimitive']),_0x5d350c=_0x5d350c||0x0;var _0x17cb6c=this['rowColToLonLat'](_0x353950,_0x13ab2b,this[_0x1a4e('0x2dd0')]);this[_0x1a4e('0x50ac')]=_0x353950,this[_0x1a4e('0x50a8')]=_0x13ab2b,this['startHei']=_0x5d350c;var _0x3b5483=[];_0x3b5483[_0x1a4e('0x46')](_0x17cb6c);var _0x3f6a87={'color':void 0x0,'altitudeDistance':void 0x0,'gridHeight':void 0x0};_0x3f6a87['color']=this['_strPosColor'],_0x3f6a87[_0x1a4e('0x500c')]=this['_height'],_0x3f6a87[_0x1a4e('0x500e')]=this[_0x1a4e('0x399c')]+this[_0x1a4e('0x505e')],this[_0x1a4e('0x50a7')]=Object(_0x497e2c[_0x1a4e('0x4ffa')])(_0x3f6a87,_0x3b5483,[]),this['viewer'][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x177')](this[_0x1a4e('0x50a7')]);},_0x353950['prototype'][_0x1a4e('0x50ad')]=function(_0x353950,_0x13ab2b,_0x5d350c){this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x82')](this[_0x1a4e('0x50ae')]),_0x5d350c=_0x5d350c||this[_0x1a4e('0x399c')]+this['_relativeHeight']/0x2;var _0x17cb6c=this[_0x1a4e('0x509f')](_0x353950,_0x13ab2b,_0x5d350c,this[_0x1a4e('0x2dd0')],this[_0x1a4e('0x505e')],this[_0x1a4e('0x399c')]),_0x3b5483=this[_0x1a4e('0x4ff8')](_0x17cb6c['row'],_0x17cb6c[_0x1a4e('0x5006')],this[_0x1a4e('0x2dd0')]);this[_0x1a4e('0x50af')]=_0x17cb6c[_0x1a4e('0x5007')],this['endCol']=_0x17cb6c[_0x1a4e('0x5006')],this['endHei']=_0x17cb6c[_0x1a4e('0x50b0')];var _0x3f6a87=[];_0x3f6a87['push'](_0x3b5483);var _0xac0332={'color':void 0x0,'altitudeDistance':void 0x0,'gridHeight':void 0x0};_0xac0332[_0x1a4e('0x134')]=this[_0x1a4e('0x50a1')],_0xac0332[_0x1a4e('0x500c')]=this[_0x1a4e('0x399c')]+this[_0x1a4e('0x505e')]*this[_0x1a4e('0x50b1')],_0xac0332[_0x1a4e('0x500e')]=this[_0x1a4e('0x505e')],this[_0x1a4e('0x50ae')]=Object(_0x497e2c['surfaceInstance'])(_0xac0332,_0x3f6a87,[]),this['viewer']['scene']['primitives'][_0x1a4e('0x177')](this[_0x1a4e('0x50ae')]),this['drawPath']();},_0x353950[_0x1a4e('0xa')][_0x1a4e('0x50b2')]=function(_0x353950,_0x13ab2b,_0x5d350c){this['viewer']['scene']['primitives']['remove'](this[_0x1a4e('0x50ae')]),_0x5d350c=_0x5d350c||0x0;var _0x17cb6c=this[_0x1a4e('0x4ff8')](_0x353950,_0x13ab2b,this[_0x1a4e('0x2dd0')]);this[_0x1a4e('0x50af')]=_0x353950,this[_0x1a4e('0x50b3')]=_0x13ab2b,this[_0x1a4e('0x50b1')]=_0x5d350c;var _0x3b5483=[];_0x3b5483[_0x1a4e('0x46')](_0x17cb6c);var _0x3f6a87={'color':void 0x0,'altitudeDistance':void 0x0,'gridHeight':void 0x0};_0x3f6a87[_0x1a4e('0x134')]=this[_0x1a4e('0x50a1')],_0x3f6a87[_0x1a4e('0x500c')]=this[_0x1a4e('0x399c')]+this[_0x1a4e('0x505e')]*this[_0x1a4e('0x50b1')],_0x3f6a87[_0x1a4e('0x500e')]=this['_relativeHeight'],this[_0x1a4e('0x50ae')]=Object(_0x497e2c['surfaceInstance'])(_0x3f6a87,_0x3b5483,[]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['primitives']['add'](this['endPosPrimitive']),this['drawPath']();},_0x353950[_0x1a4e('0xa')]['addInaccesGrid']=function(_0x353950,_0x13ab2b,_0x5d350c){this['viewer'][_0x1a4e('0x38d6')]['primitives'][_0x1a4e('0x82')](this[_0x1a4e('0x50b4')]),_0x5d350c=_0x5d350c||this[_0x1a4e('0x399c')]+this[_0x1a4e('0x505e')]/0x2;var _0x17cb6c=this['lonLatAltToRowColHei'](_0x353950,_0x13ab2b,_0x5d350c,this[_0x1a4e('0x2dd0')],this[_0x1a4e('0x505e')],this[_0x1a4e('0x399c')]);this[_0x1a4e('0x50a3')][_0x1a4e('0x46')](_0x17cb6c);for(var _0x3b5483=[],_0x3f6a87=0x0;_0x3f6a87_0x353950[_0x13ab2b][_0x1a4e('0x5027')]&&(this['minLon']=_0x353950[_0x13ab2b]['cenLon']),this[_0x1a4e('0x509a')]>_0x353950[_0x13ab2b][_0x1a4e('0x5036')]&&(this['minLat']=_0x353950[_0x13ab2b][_0x1a4e('0x5036')]),this[_0x1a4e('0x509c')]<_0x353950[_0x13ab2b]['cenLon']&&(this[_0x1a4e('0x509c')]=_0x353950[_0x13ab2b][_0x1a4e('0x5027')]),this[_0x1a4e('0x509d')]<_0x353950[_0x13ab2b][_0x1a4e('0x5036')]&&(this[_0x1a4e('0x509d')]=_0x353950[_0x13ab2b][_0x1a4e('0x5036')]),this[_0x1a4e('0x50a5')]>_0x353950[_0x13ab2b][_0x1a4e('0x5019')]&&(this[_0x1a4e('0x50a5')]=_0x353950[_0x13ab2b][_0x1a4e('0x5019')]),this[_0x1a4e('0x509b')]<_0x353950[_0x13ab2b][_0x1a4e('0x501a')]&&(this[_0x1a4e('0x509b')]=_0x353950[_0x13ab2b][_0x1a4e('0x501a')]);var _0x5d350c=this[_0x1a4e('0x50a2')](this[_0x1a4e('0x50ac')],this[_0x1a4e('0x50a8')],this['startHei'],this['endRow'],this[_0x1a4e('0x50b3')],this['endHei'],this['inaccesGridArray']);if(!_0x5d350c)throw _0x1a4e('0x50b8');_0x5d350c[_0x1a4e('0x76')](),_0x5d350c['shift']();var _0x17cb6c=[];for(_0x13ab2b=0x0;_0x13ab2b<_0x5d350c[_0x1a4e('0x1e')];++_0x13ab2b){var _0x3b5483=this[_0x1a4e('0x4ff8')](_0x5d350c[_0x13ab2b][0x0],_0x5d350c[_0x13ab2b][0x1],this[_0x1a4e('0x2dd0')]);_0x3b5483['_tHeight']=this[_0x1a4e('0x399c')]+this[_0x1a4e('0x505e')]*(_0x5d350c[_0x13ab2b][0x2]+0x1),_0x3b5483[_0x1a4e('0x500b')]=this['_height']+this[_0x1a4e('0x505e')]*_0x5d350c[_0x13ab2b][0x2],_0x17cb6c['push'](_0x3b5483);}var _0x3f6a87={'color':void 0x0,'altitudeDistance':void 0x0,'gridHeight':void 0x0};_0x3f6a87[_0x1a4e('0x134')]=this['_pathArrColor'],_0x3f6a87['altitudeDistance']=0x1f4,_0x3f6a87[_0x1a4e('0x500e')]=0x1b58,this[_0x1a4e('0x50ab')]=Object(_0x497e2c['surfaceInstance'])(_0x3f6a87,_0x17cb6c,[]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')][_0x1a4e('0x177')](this['gridPathPrimitive']);},_0x353950[_0x1a4e('0xa')][_0x1a4e('0x50b9')]=function(){this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x38e3')]['remove'](this[_0x1a4e('0x50ba')]);for(var _0x353950=this[_0x1a4e('0x50b6')][_0x1a4e('0x50b7')],_0x13ab2b=[],_0x5d350c=0x0;_0x5d350c_0x353950[_0x5d350c][_0x1a4e('0x5027')]&&(this[_0x1a4e('0x50a4')]=_0x353950[_0x5d350c][_0x1a4e('0x5027')]),this[_0x1a4e('0x509a')]>_0x353950[_0x5d350c][_0x1a4e('0x5036')]&&(this[_0x1a4e('0x509a')]=_0x353950[_0x5d350c]['cenLat']),this['minAlt']>_0x353950[_0x5d350c][_0x1a4e('0x5019')]&&(this[_0x1a4e('0x50a5')]=_0x353950[_0x5d350c]['bHeight']),this[_0x1a4e('0x509c')]<_0x353950[_0x5d350c][_0x1a4e('0x5027')]&&(this[_0x1a4e('0x509c')]=_0x353950[_0x5d350c][_0x1a4e('0x5027')]),this[_0x1a4e('0x509d')]<_0x353950[_0x5d350c][_0x1a4e('0x5036')]&&(this[_0x1a4e('0x509d')]=_0x353950[_0x5d350c][_0x1a4e('0x5036')]),this[_0x1a4e('0x509b')]<_0x353950[_0x5d350c][_0x1a4e('0x501a')]&&(this[_0x1a4e('0x509b')]=_0x353950[_0x5d350c][_0x1a4e('0x501a')]);for(var _0x109419=0x0;_0x109419<_0x13ab2b['length'];++_0x109419)if(_0x17cb6c=_0x3f6a87[_0x1a4e('0x7c3')](_0xa53665,_0x13ab2b[_0x109419]),void 0x0===this[_0x1a4e('0x5094')][_0x109419]&&(this['inaccesRegionsAltArray'][_0x109419]=[],this[_0x1a4e('0x5094')][_0x109419][0x0]=_0x353950[_0x5d350c][_0x1a4e('0x5019')],this[_0x1a4e('0x5094')][_0x109419][0x1]=_0x353950[_0x5d350c][_0x1a4e('0x501a')]),_0xac0332=this[_0x1a4e('0x5094')][_0x109419][0x1]-this[_0x1a4e('0x5094')][_0x109419][0x0],_0x105fd0=(_0x353950[_0x5d350c]['bHeight']+_0x353950[_0x5d350c]['tHeight'])/0x2,_0x17cb6c&&_0x105fd0>this[_0x1a4e('0x5094')][_0x109419][0x0]&&_0x105fd00x1e?0x1e:_0xceb5c9,this['_level']=_0xceb5c9,this['_heightLevel']=_0x208b60||0x1<0x1e?0x1e:_0x3b5c08,this[_0x1a4e('0x4ac')]=_0x3b5c08,this[_0x1a4e('0x50e9')]();},_0x3b5c08[_0x1a4e('0xa')][_0x1a4e('0x50ec')]=function(_0x3b5c08){_0x3b5c08=_0x3b5c08<0x1?0x1:_0x3b5c08,this[_0x1a4e('0x50e5')]=_0x3b5c08,this[_0x1a4e('0x50e9')]();},_0x3b5c08[_0x1a4e('0xa')][_0x1a4e('0x50ed')]=function(_0x3b5c08){this[_0x1a4e('0x505e')]=_0x3b5c08,this[_0x1a4e('0x50e9')]();},_0x3b5c08[_0x1a4e('0xa')][_0x1a4e('0x469e')]=function(_0x3b5c08){this['_height']=_0x3b5c08,this[_0x1a4e('0x50e9')]();},_0x3b5c08[_0x1a4e('0xa')]['setExtrudedHeight']=function(_0x3b5c08){this['_extrudedHeight']=_0x3b5c08,this[_0x1a4e('0x50e9')]();},_0x3b5c08['prototype'][_0x1a4e('0x50ee')]=function(_0x3b5c08){this['_outlineColor']=_0x3b5c08,this['staticTileUpdate']();},_0x3b5c08[_0x1a4e('0xa')][_0x1a4e('0x4ec5')]=function(_0x3b5c08){this[_0x1a4e('0x3b69')]=_0x3b5c08,this['staticTileUpdate']();},_0x3b5c08[_0x1a4e('0xa')][_0x1a4e('0x5065')]=function(){this[_0x1a4e('0x5014')]=0x0,this[_0x1a4e('0x5008')]=0x0,this[_0x1a4e('0x5009')]=0x5a,this['_north']=0x5a,this[_0x1a4e('0x4ac')]=0x3,this[_0x1a4e('0x505e')]=0x989680,this['_height']=0x1,this[_0x1a4e('0x50e5')]=0x1<>_0x4e8fb3[_0x1a4e('0x503a')];var _0x132853=this[_0x1a4e('0x5014')]0x2710||_0x132853>0xa||_0x12eba8>0xa)_0x4e8fb3[_0x1a4e('0x5011')]=0x1-0.01/_0x132853,_0x4e8fb3[_0x1a4e('0x5010')]=0x1-0.01/_0x12eba8,_0x4e8fb3[_0x1a4e('0x5012')]=0x1-0xa/_0x4e8fb3[_0x1a4e('0x500e')];else{for(var _0x2a45e4=0x1;_0x132853<0x1;)_0x132853*=0xa,_0x2a45e4*=0.1;for(var _0x535f68=0x1;_0x12eba8<0x1;)_0x12eba8*=0xa,_0x535f68*=0.1;_0x4e8fb3[_0x1a4e('0x5011')]=0.99999-0.00001*_0x2a45e4,_0x4e8fb3[_0x1a4e('0x5010')]=0.99999-0.00001*_0x535f68,_0x4e8fb3[_0x1a4e('0x5012')]=0.99999;}_0x4e8fb3[_0x1a4e('0x409f')]=this[_0x1a4e('0x4585')],_0x4e8fb3['color']=this[_0x1a4e('0x3b69')];for(var _0x3be0a5=_0x208b60[_0x1a4e('0x1e')],_0x3ebe8b=0x0;_0x3ebe8b<_0x3be0a5;++_0x3ebe8b){this[_0x1a4e('0x5014')]>this[_0x1a4e('0x5009')]?(_0x208b60[_0x3ebe8b][_0x1a4e('0x394e')]>0x0&&_0x208b60[_0x3ebe8b][_0x1a4e('0x394e')]this[_0x1a4e('0x5009')]&&(_0x208b60[_0x3ebe8b][_0x1a4e('0x3950')]=this[_0x1a4e('0x5009')]),_0x208b60[_0x3ebe8b][_0x1a4e('0x403b')]>this['_north']&&(_0x208b60[_0x3ebe8b][_0x1a4e('0x403b')]=this['_north'])):(_0x208b60[_0x3ebe8b][_0x1a4e('0x394e')]this[_0x1a4e('0x5009')]&&(_0x208b60[_0x3ebe8b][_0x1a4e('0x3950')]=this[_0x1a4e('0x5009')]),_0x208b60[_0x3ebe8b][_0x1a4e('0x403b')]>this[_0x1a4e('0x500a')]&&(_0x208b60[_0x3ebe8b][_0x1a4e('0x403b')]=this[_0x1a4e('0x500a')]));for(var _0x2d1db1=0x0;_0x2d1db1this['_circlePts'][_0x1a4e('0x1e')]?0x1:_0x2cf8f9+0x2);}return new Cesium['Geometry']({'vertexFormat':Cesium[_0x1a4e('0x4410')][_0x1a4e('0x4411')],'attributes':{'position':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3abd')],'componentsPerAttribute':0x3,'values':new Float64Array(_0x91f3cb)}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':new Float32Array(_0x392b30)}),'normal':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':_0x495337})},'indices':new Uint16Array(_0x53749c),'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x91f3cb)});},_0x24cd1e[_0x1a4e('0xa')][_0x1a4e('0x460e')]=function(_0x24cd1e,_0x36724d,_0x1bd215){this['buildCircle'](_0x1bd215);var _0x392b30=_0x24cd1e,_0x592527=this[_0x1a4e('0x44d8')],_0x4b855f=_0x91f3cb[_0x1a4e('0x3990')][_0x1a4e('0x7e4')](_0x392b30,_0x36724d,0x5a),_0x3c9aab=_0x4b855f[_0x1a4e('0x1a1')]-_0x392b30[_0x1a4e('0x1a1')];(_0x4b855f=_0x91f3cb[_0x1a4e('0x3990')]['rhumbDestination'](_0x392b30,_0x36724d,0x0))['lat']-_0x392b30['lat']>_0x3c9aab&&(_0x3c9aab=_0x4b855f[_0x1a4e('0x1a2')]-_0x392b30['lat']);var _0x611e8c=[],_0x21b3cf=[],_0x78fbe2=[];function _0x379ab0(_0x24cd1e,_0x36724d,_0x1bd215){_0x611e8c[_0x1a4e('0x46')](_0x24cd1e['x']),_0x78fbe2[_0x1a4e('0x46')](_0x1bd215['x']),_0x21b3cf[_0x1a4e('0x46')](_0x36724d['x']),_0x611e8c[_0x1a4e('0x46')](_0x24cd1e['y']),_0x78fbe2['push'](_0x1bd215['y']),_0x21b3cf[_0x1a4e('0x46')](_0x36724d['y']),_0x611e8c['push'](_0x24cd1e['z']),_0x78fbe2['push'](_0x1bd215['z']);}for(var _0x533f82=Cesium['Cartesian3'][_0x1a4e('0x38db')](_0x392b30[_0x1a4e('0x1a1')],_0x392b30['lat']),_0x48c070=new Cesium['Cartesian2'](0.5,0.5),_0x2bc987=0x0;_0x2bc987<_0x592527['length'];_0x2bc987++){var _0x193151=_0x592527[_0x2bc987],_0x462fb2=_0x2bc987+0x1==_0x592527[_0x1a4e('0x1e')]?_0x592527[0x0]:_0x592527[_0x2bc987+0x1],_0x4fa797=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x392b30[_0x1a4e('0x1a1')]+_0x3c9aab*_0x193151['x'],_0x392b30[_0x1a4e('0x1a2')]+_0x3c9aab*_0x193151['y']),_0xed1273=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x392b30['lon']+_0x3c9aab*_0x462fb2['x'],_0x392b30[_0x1a4e('0x1a2')]+_0x3c9aab*_0x462fb2['y']),_0x26502d=new Cesium[(_0x1a4e('0x3952'))]((_0x193151['x']+0x1)/0x2,(_0x193151['y']+0x1)/0x2),_0x305f50=new Cesium['Cartesian2']((_0x462fb2['x']+0x1)/0x2,(_0x462fb2['y']+0x1)/0x2),_0xf57840=Cesium['Cartesian3']['subtract'](_0x4fa797,_0x533f82,new Cesium[(_0x1a4e('0x393e'))]()),_0x2746b4=Cesium[_0x1a4e('0x393e')]['subtract'](_0xed1273,_0x533f82,new Cesium[(_0x1a4e('0x393e'))]()),_0x3562d0=Cesium[_0x1a4e('0x393e')]['normalize'](Cesium['Cartesian3'][_0x1a4e('0x3a26')](_0x2746b4,_0xf57840,new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]());_0x379ab0(_0x533f82,_0x48c070,_0x3562d0),_0x379ab0(_0x4fa797,_0x26502d,_0x3562d0),_0x379ab0(_0xed1273,_0x305f50,_0x3562d0);}return new Cesium[(_0x1a4e('0x3abe'))]({'attributes':{'position':new Cesium['GeometryAttribute']({'componentDatatype':Cesium[_0x1a4e('0x3b58')]['DOUBLE'],'componentsPerAttribute':0x3,'values':new Float64Array(_0x611e8c)}),'st':new Cesium[(_0x1a4e('0x3b57'))]({'componentDatatype':Cesium[_0x1a4e('0x3b58')][_0x1a4e('0x3b59')],'componentsPerAttribute':0x2,'values':new Float32Array(_0x21b3cf)}),'normal':new Cesium['GeometryAttribute']({'componentDatatype':Cesium['ComponentDatatype'][_0x1a4e('0x3b59')],'componentsPerAttribute':0x3,'values':new Float32Array(_0x78fbe2)})},'primitiveType':Cesium[_0x1a4e('0x3abf')][_0x1a4e('0x3b5a')],'boundingSphere':Cesium[_0x1a4e('0x3ac1')][_0x1a4e('0x3b5b')](_0x611e8c)});},_0x24cd1e[_0x1a4e('0xa')]['createCircleGeometry_Polygon']=function(_0x24cd1e,_0x36724d,_0x1bd215,_0x91f3cb){this[_0x1a4e('0x50fd')](_0x91f3cb);for(var _0x392b30=[],_0x507496=null==_0x1bd215?new Cesium['Cartesian3'](0x0,0x0,0x0):_0x1bd215,_0x3fc1a1=0x0;_0x3fc1a10xb4&&(_0x6ff3ba[_0x3fc9e2]>0x0?_0x6ff3ba[_0x3fc9e2]=_0x6ff3ba[_0x3fc9e2]-0x168:_0x6ff3ba[_0x3fc9e2]=_0x6ff3ba[_0x3fc9e2]+0x168),_0x41c622[_0x236e8a][_0x1a4e('0x1a1')]=_0x41c622[_0x236e8a-0x1][_0x1a4e('0x1a1')]+_0x6ff3ba[_0x3fc9e2];}return _0x41c622;},_0x59e62e[_0x1a4e('0x40c6')]=function(_0x59e62e,_0x41c622){var _0x6e316a=_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x59e62e['position']),_0x1cf0c8=Cesium['HeadingPitchRoll'][_0x1a4e('0x38db')](_0x59e62e[_0x1a4e('0x3a68')],_0x59e62e[_0x1a4e('0x3a69')],_0x59e62e['roll']),_0x68f8eb=Cesium['Transforms'][_0x1a4e('0x50ff')](_0x6e316a,_0x1cf0c8,Cesium['Ellipsoid']['WGS84'],Cesium['Transforms'][_0x1a4e('0x3ab0')],new Cesium[(_0x1a4e('0x3a29'))]()),_0x6ff3ba=new Cesium[(_0x1a4e('0x393e'))](_0x41c622['x'],_0x41c622['y'],_0x41c622['z']),_0x3fc9e2=Cesium[_0x1a4e('0x3aab')]['fromDegrees'](_0x41c622['heading'],_0x41c622[_0x1a4e('0x3a69')],_0x41c622[_0x1a4e('0x3a9c')]),_0x48d5ae=Cesium[_0x1a4e('0x3b56')][_0x1a4e('0x4bf9')](Cesium['Cartesian3']['fromDegrees'](0x0,0x0),_0x3fc9e2),_0x3fb026=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3d32')](_0x6ff3ba,_0x48d5ae,new Cesium[(_0x1a4e('0x393e'))](0x1,0x1,0x1)),_0x200abf=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x260')](_0x68f8eb,_0x3fb026,new Cesium[(_0x1a4e('0x3a29'))]());return this[_0x1a4e('0x40c5')](_0x200abf);},_0x59e62e[_0x1a4e('0x40c5')]=function(_0x59e62e){var _0x41c622=Cesium[_0x1a4e('0x3b56')]['eastNorthUpToFixedFrame'](Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3d86')](_0x59e62e,new Cesium[(_0x1a4e('0x393e'))]()),Cesium[_0x1a4e('0x3ab8')][_0x1a4e('0x3b85')],new Cesium[(_0x1a4e('0x3a29'))]()),_0x6e316a=Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x260')](Cesium[_0x1a4e('0x3a29')]['inverseTransformation'](_0x41c622,new Cesium[(_0x1a4e('0x3a29'))]()),_0x59e62e,new Cesium[(_0x1a4e('0x3a29'))]()),_0x1cf0c8=Cesium['Matrix4'][_0x1a4e('0x3cd8')](_0x6e316a,new Cesium['Matrix3']()),_0x68f8eb=Cesium['Quaternion'][_0x1a4e('0x4b60')](_0x1cf0c8),_0x6ff3ba=Cesium['HeadingPitchRoll'][_0x1a4e('0x3aaf')](_0x68f8eb),_0x3fc9e2=Cesium[_0x1a4e('0x3a29')]['getTranslation'](_0x59e62e,new Cesium['Cartesian3']());return{'position':_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x3fc9e2),'heading':Cesium['Math'][_0x1a4e('0x560')](_0x6ff3ba['heading']),'pitch':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x6ff3ba[_0x1a4e('0x3a69')]),'roll':Cesium[_0x1a4e('0x1020')]['toDegrees'](_0x6ff3ba[_0x1a4e('0x3a9c')])};},_0x59e62e[_0x1a4e('0x5100')]=function(_0x59e62e){var _0x41c622=0x0;if(_0x59e62e['length']>0x1)for(var _0x6e316a=0x1;_0x6e316a<_0x59e62e['length'];_0x6e316a++){var _0x1cf0c8=_0x59e62e[_0x6e316a],_0x68f8eb=_0x59e62e[_0x6e316a-0x1],_0x9be5a3=Cesium['Cartographic']['fromDegrees'](_0x68f8eb[_0x1a4e('0x1a1')],_0x68f8eb[_0x1a4e('0x1a2')]),_0x6ff3ba=Cesium[_0x1a4e('0x39fa')]['fromDegrees'](_0x1cf0c8[_0x1a4e('0x1a1')],_0x1cf0c8[_0x1a4e('0x1a2')]),_0x3fc9e2=new Cesium[(_0x1a4e('0x5101'))]();_0x3fc9e2[_0x1a4e('0x5102')](_0x9be5a3,_0x6ff3ba);var _0x2f2a3b=_0x3fc9e2[_0x1a4e('0x5103')];_0x41c622+=_0x2f2a3b=Math['sqrt'](Math[_0x1a4e('0x8e')](_0x2f2a3b,0x2)+Math[_0x1a4e('0x8e')](_0x9be5a3['height']-_0x6ff3ba[_0x1a4e('0x152')],0x2));}return _0x41c622;},_0x59e62e['_getAngle']=function(_0x59e62e,_0x41c622,_0x6e316a){var _0x1cf0c8=this[_0x1a4e('0x5104')](_0x41c622,_0x59e62e)-this[_0x1a4e('0x5104')](_0x41c622,_0x6e316a);return _0x1cf0c8<0x0&&(_0x1cf0c8+=0x168),_0x1cf0c8;},_0x59e62e['_getBearing']=function(_0x59e62e,_0x41c622){var _0x6e316a=Math['PI']/0xb4,_0x1cf0c8=0xb4/Math['PI'],_0x68f8eb=_0x59e62e[_0x1a4e('0x1a2')]*_0x6e316a,_0x9be5a3=_0x59e62e['lon']*_0x6e316a,_0x6ff3ba=_0x41c622[_0x1a4e('0x1a2')]*_0x6e316a,_0x3fc9e2=_0x41c622['lon']*_0x6e316a,_0x36dc9a=-Math['atan2'](Math['sin'](_0x9be5a3-_0x3fc9e2)*Math[_0x1a4e('0x90')](_0x6ff3ba),Math['cos'](_0x68f8eb)*Math[_0x1a4e('0x8f')](_0x6ff3ba)-Math[_0x1a4e('0x8f')](_0x68f8eb)*Math['cos'](_0x6ff3ba)*Math[_0x1a4e('0x90')](_0x9be5a3-_0x3fc9e2));return _0x36dc9a<0x0&&(_0x36dc9a+=0x2*Math['PI']),_0x36dc9a*=_0x1cf0c8;},_0x59e62e[_0x1a4e('0x3992')]=function(_0x59e62e){var _0x41c622=[[]];_0x59e62e[_0x1a4e('0x21')](function(_0x59e62e){_0x41c622[0x0]['push']([_0x59e62e[_0x1a4e('0x1a1')],_0x59e62e[_0x1a4e('0x1a2')]]);}),_0x41c622[0x0][_0x1a4e('0x46')]([_0x59e62e[0x0]['lon'],_0x59e62e[0x0]['lat']]);var _0x6e316a=_0x6ff3ba['polygon'](_0x41c622);return _0x6ff3ba[_0x1a4e('0x4b8')](_0x6e316a);},_0x59e62e[_0x1a4e('0x7e4')]=function(_0x59e62e,_0x41c622,_0x6e316a,_0x1cf0c8){void 0x0===_0x1cf0c8&&(_0x1cf0c8={'units':'meters'});var _0x68f8eb=_0x6ff3ba[_0x1a4e('0xc4')]([_0x59e62e['lon'],_0x59e62e[_0x1a4e('0x1a2')]]),_0x3fc9e2=_0x6ff3ba[_0x1a4e('0x7e4')](_0x68f8eb,_0x41c622,_0x6e316a,_0x1cf0c8);return new _0x9be5a3['GeoPoint'](_0x3fc9e2[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0],_0x3fc9e2[_0x1a4e('0x18')]['coordinates'][0x1]);},_0x59e62e['groundArea']=function(_0x59e62e){var _0x41c622=_0x6ff3ba[_0x1a4e('0xe7')]([_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3954')](_0x59e62e)]);return _0x6ff3ba[_0x1a4e('0x4b8')](_0x41c622);},_0x59e62e[_0x1a4e('0x39e6')]=function(_0x41c622,_0x6e316a){var _0x1cf0c8=0x0;if(_0x41c622[_0x1a4e('0x1e')]>0x1){var _0x68f8eb=[],_0x6ff3ba=_0x41c622[_0x1a4e('0x1e')],_0x3fc9e2=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x38db')](_0x41c622[0x0]['lon'],_0x41c622[0x0][_0x1a4e('0x1a2')]),_0x2968a=_0x6e316a['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x29c')](_0x3fc9e2)+0xa;_0x68f8eb[_0x1a4e('0x46')](new _0x9be5a3['GeoPoint'](_0x41c622[0x0][_0x1a4e('0x1a1')],_0x41c622[0x0]['lat'],_0x2968a));for(var _0x3cff15=0x0;_0x3cff15<_0x6ff3ba-0x1;_0x3cff15++){var _0x2a69ee=_0x41c622[_0x3cff15][_0x1a4e('0x1a1')],_0x4d53c8=_0x41c622[_0x3cff15]['lat'],_0x4db200=_0x41c622[_0x3cff15+0x1][_0x1a4e('0x1a1')],_0x3a322f=_0x41c622[_0x3cff15+0x1][_0x1a4e('0x1a2')],_0x550f30=_0x59e62e[_0x1a4e('0x5100')]([_0x41c622[_0x3cff15],_0x41c622[_0x3cff15+0x1]])/0xc8;_0x550f30=Math['floor'](_0x550f30);for(var _0x1e5f60=0x1;_0x1e5f60<_0x550f30;_0x1e5f60++){var _0x1e0915=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x94c')](_0x2a69ee,_0x4db200,_0x1e5f60/(_0x550f30-0x1)),_0xb0b363=Cesium[_0x1a4e('0x1020')]['lerp'](_0x4d53c8,_0x3a322f,_0x1e5f60/(_0x550f30-0x1));_0x3fc9e2=Cesium['Cartographic']['fromDegrees'](_0x1e0915,_0xb0b363),_0x2968a=_0x6e316a[_0x1a4e('0x38d6')]['globe']['getHeight'](_0x3fc9e2)+0xa,_0x68f8eb['push'](new _0x9be5a3[(_0x1a4e('0x38da'))](_0x1e0915,_0xb0b363,_0x2968a));}}_0x1cf0c8=_0x59e62e[_0x1a4e('0x39e7')](_0x68f8eb);}return _0x1cf0c8;},_0x59e62e[_0x1a4e('0x39e7')]=function(_0x59e62e){for(var _0x41c622=0x0,_0x6e316a=0x0;_0x6e316a<_0x59e62e[_0x1a4e('0x1e')]-0x1;_0x6e316a++)_0x41c622+=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x59e62e[_0x6e316a][_0x1a4e('0x1a1')],_0x59e62e[_0x6e316a][_0x1a4e('0x1a2')],_0x59e62e[_0x6e316a][_0x1a4e('0x398c')]),Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x59e62e[_0x6e316a+0x1]['lon'],_0x59e62e[_0x6e316a+0x1][_0x1a4e('0x1a2')],_0x59e62e[_0x6e316a+0x1][_0x1a4e('0x398c')]));return _0x41c622;},_0x59e62e[_0x1a4e('0x4142')]=function(_0x59e62e,_0x41c622){void 0x0===_0x41c622&&(_0x41c622=0x64);var _0x6e316a=[];return _0x59e62e[_0x1a4e('0x21')](function(_0x59e62e){var _0x41c622={'x':_0x59e62e[_0x1a4e('0x1a1')],'y':_0x59e62e[_0x1a4e('0x1a2')],'z':0x0};_0x6e316a['push'](_0x41c622);}),new _0x68f8eb['a'](_0x6e316a)[_0x1a4e('0x946')](_0x41c622)['map'](function(_0x59e62e){return new _0x9be5a3['GeoPoint'](_0x59e62e['x'],_0x59e62e['y']);});},_0x59e62e[_0x1a4e('0x4221')]=function(_0x59e62e,_0x41c622,_0x6e316a,_0x1cf0c8){if(void 0x0===_0x1cf0c8&&(_0x1cf0c8=0x64),_0x6e316a<0x3e8||_0x6e316a>0x989680)console['log']('factor参数取值范围:[1000,\x2010000000]');else{if(!(_0x1cf0c8<0x2||_0x1cf0c8>0x64)){var _0x68f8eb=[],_0x6ff3ba=_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x59e62e),_0x3fc9e2=_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x41c622),_0x5b7b07=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a0d')](_0x6ff3ba),_0x275b70=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a0d')](_0x3fc9e2),_0x5b2b6b=0xb4*_0x5b7b07[_0x1a4e('0x3a2e')]/Math['PI'],_0x1be8ad=0xb4*_0x5b7b07[_0x1a4e('0x3a2f')]/Math['PI'],_0x5a8c2e=0xb4*_0x275b70[_0x1a4e('0x3a2e')]/Math['PI'],_0x4137ac=0xb4*_0x275b70['latitude']/Math['PI'],_0x11c113=Math[_0x1a4e('0x91')]((_0x5b2b6b-_0x5a8c2e)*(_0x5b2b6b-_0x5a8c2e)+(_0x1be8ad-_0x4137ac)*(_0x1be8ad-_0x4137ac))*_0x6e316a,_0x14c9df=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x240')](_0x6ff3ba),_0x109dd9=Cesium['Cartesian3'][_0x1a4e('0x240')](_0x3fc9e2),_0x4253f4=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x14c9df,Cesium[_0x1a4e('0x393e')][_0x1a4e('0xea7')]),_0x3a0a4d=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x1ed')](_0x109dd9,Cesium[_0x1a4e('0x393e')][_0x1a4e('0xea7')]);if(Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x14c9df,_0x14c9df),Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x109dd9,_0x109dd9),0x0==Cesium[_0x1a4e('0x393e')]['distance'](_0x14c9df,_0x109dd9))return _0x68f8eb;var _0x4fe178=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3ed9')](_0x14c9df,_0x109dd9);_0x68f8eb[_0x1a4e('0x46')](_0x6ff3ba);for(var _0x1b64ee=0x1;_0x1b64ee<_0x1cf0c8-0x1;_0x1b64ee++){var _0x4eb655=0x1*_0x1b64ee/(_0x1cf0c8-0x1),_0x30e418=0x1-_0x4eb655,_0x2a902f=Math['sin'](_0x30e418*_0x4fe178)/Math[_0x1a4e('0x8f')](_0x4fe178),_0x51a52e=Math['sin'](_0x4eb655*_0x4fe178)/Math[_0x1a4e('0x8f')](_0x4fe178),_0xcc4ce=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0x14c9df,_0x2a902f,new Cesium[(_0x1a4e('0x393e'))]()),_0x49efc7=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0x109dd9,_0x51a52e,new Cesium['Cartesian3']()),_0x3173d1=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](_0xcc4ce,_0x49efc7,new Cesium['Cartesian3']()),_0x1feec5=_0x4eb655*Math['PI'],_0x18c686=_0x4253f4*_0x30e418+_0x3a0a4d*_0x4eb655+Math[_0x1a4e('0x8f')](_0x1feec5)*_0x11c113;_0x3173d1=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0x3173d1,_0x18c686,_0x3173d1),_0x68f8eb[_0x1a4e('0x46')](_0x3173d1);}return _0x68f8eb['push'](_0x3fc9e2),_0x68f8eb['map'](function(_0x59e62e){return _0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3ab9')](_0x59e62e);});}console[_0x1a4e('0x58')](_0x1a4e('0x5105'));}},_0x59e62e[_0x1a4e('0x430d')]=function(_0x59e62e,_0x41c622){var _0x6e316a=_0x9be5a3['GeoPoint'][_0x1a4e('0x403c')](_0x59e62e);_0x41c622[0x0]!=_0x41c622[_0x41c622[_0x1a4e('0x1e')]-0x1]&&_0x41c622[_0x1a4e('0x46')](_0x41c622[0x0]);var _0x1cf0c8=_0x6ff3ba[_0x1a4e('0xe7')]([_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3954')](_0x41c622)]);return _0x6ff3ba[_0x1a4e('0x7c3')](_0x6e316a,_0x1cf0c8);},_0x59e62e[_0x1a4e('0x4306')]=function(_0x41c622,_0x6e316a,_0x1cf0c8){return _0x59e62e['spaceDistance']([_0x41c622,_0x6e316a])<_0x1cf0c8;},_0x59e62e[_0x1a4e('0x82d')]=function(_0x59e62e,_0x41c622,_0x6e316a){var _0x1cf0c8=_0x6ff3ba[_0x1a4e('0xc4')]([_0x59e62e[_0x1a4e('0x1a1')],_0x59e62e[_0x1a4e('0x1a2')]]),_0x68f8eb=_0x6ff3ba[_0x1a4e('0x5106')]([_0x9be5a3[_0x1a4e('0x38da')]['pack'](_0x41c622),_0x9be5a3['GeoPoint'][_0x1a4e('0x403c')](_0x6e316a)]);return _0x6ff3ba[_0x1a4e('0x7fd')](_0x1cf0c8,_0x68f8eb);},_0x59e62e[_0x1a4e('0x5107')]=function(_0x59e62e,_0x41c622,_0x6e316a,_0x1cf0c8){if(void 0x0===_0x1cf0c8&&(_0x1cf0c8=0x40),!(_0x1cf0c8<0x4)){var _0x68f8eb=_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x403c')](_0x59e62e),_0x3fc9e2=_0x6ff3ba['ellipse'](_0x68f8eb,_0x41c622,_0x6e316a,{'steps':_0x1cf0c8,'units':_0x1a4e('0x35')});return _0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x41ce')](_0x3fc9e2[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0]);}console[_0x1a4e('0x58')](_0x1a4e('0x5108'));},_0x59e62e[_0x1a4e('0x43e9')]=function(_0x59e62e,_0x41c622,_0x6e316a){void 0x0===_0x6e316a&&(_0x6e316a=0x40);var _0x1cf0c8=_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x403c')](_0x59e62e),_0x68f8eb=_0x6ff3ba['circle'](_0x1cf0c8,_0x41c622,{'steps':_0x6e316a,'units':'meters'});return _0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x41ce')](_0x68f8eb[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0]);},_0x59e62e['getSectorPositions']=function(_0x59e62e,_0x41c622,_0x6e316a,_0x1cf0c8,_0x68f8eb){void 0x0===_0x6e316a&&(_0x6e316a=0x0),void 0x0===_0x1cf0c8&&(_0x1cf0c8=0x78),void 0x0===_0x68f8eb&&(_0x68f8eb=0x40);var _0x3fc9e2=_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x403c')](_0x59e62e),_0x3a1175=_0x6ff3ba[_0x1a4e('0x7e2')](_0x6ff3ba[_0x1a4e('0xc4')](_0x3fc9e2),_0x41c622/0x3e8,_0x6e316a,_0x1cf0c8,{'steps':_0x68f8eb});return _0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x41ce')](_0x3a1175[_0x1a4e('0x18')]['coordinates'][0x0]);},_0x59e62e[_0x1a4e('0x5109')]=function(_0x59e62e,_0x41c622){var _0x6e316a=_0x9be5a3['GeoPoint']['packArray'](_0x59e62e),_0x1cf0c8=_0x9be5a3['GeoPoint'][_0x1a4e('0x3954')](_0x41c622),_0x68f8eb=_0x6ff3ba[_0x1a4e('0xe7')]([_0x6e316a]),_0x3fc9e2=_0x6ff3ba[_0x1a4e('0xe7')]([_0x1cf0c8]),_0x131cd7=_0x6ff3ba['intersect'](_0x68f8eb,_0x3fc9e2);if(_0x131cd7){if(_0x1a4e('0x17')===_0x131cd7[_0x1a4e('0x18')][_0x1a4e('0x40')])return[_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3d2f')](_0x131cd7['geometry'][_0x1a4e('0x43')])];if('LineString'===_0x131cd7[_0x1a4e('0x18')][_0x1a4e('0x40')])return _0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x41ce')](_0x131cd7['geometry'][_0x1a4e('0x43')]);if(_0x1a4e('0x19')===_0x131cd7['geometry'][_0x1a4e('0x40')])return _0x9be5a3['GeoPoint']['unpackArray'](_0x131cd7[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0]);if('MultiPolygon'===_0x131cd7[_0x1a4e('0x18')][_0x1a4e('0x40')]){for(var _0x2a7240=_0x131cd7[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x1a4e('0x1e')],_0x221975=[],_0x3fed1f=0x0;_0x3fed1f<_0x2a7240;_0x3fed1f++){var _0x4bca16=_0x131cd7['geometry'][_0x1a4e('0x43')][_0x3fed1f];_0x221975[_0x1a4e('0x46')](_0x9be5a3[_0x1a4e('0x38da')]['unpackArray'](_0x4bca16[0x0]));}return _0x221975;}}},_0x59e62e[_0x1a4e('0x510a')]=function(_0x59e62e,_0x41c622){var _0x6e316a=_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3954')](_0x59e62e),_0x1cf0c8=_0x9be5a3['GeoPoint'][_0x1a4e('0x3954')](_0x41c622),_0x68f8eb=_0x6ff3ba[_0x1a4e('0xe7')]([_0x6e316a]),_0x3fc9e2=_0x6ff3ba[_0x1a4e('0xe7')]([_0x1cf0c8]),_0x3dace6=_0x6ff3ba[_0x1a4e('0x147')](_0x68f8eb,_0x3fc9e2),_0x1dad39={'type':_0x1a4e('0x19'),'geometry':{}};if(_0x1a4e('0x1c')==_0x3dace6[_0x1a4e('0x18')]['type']){for(var _0x1db212=[],_0x2602d0=0x0;_0x2602d0<_0x3dace6[_0x1a4e('0x18')]['coordinates'][_0x1a4e('0x1e')];_0x2602d0++)_0x1db212[_0x1a4e('0x46')](_0x9be5a3[_0x1a4e('0x38da')]['unpackArray'](_0x3dace6[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x2602d0][0x0]));_0x1dad39[_0x1a4e('0x40')]='MultiPolygon',_0x1dad39[_0x1a4e('0x18')]=_0x1db212;}else{for(_0x1db212=[],_0x2602d0=0x0;_0x2602d0<_0x3dace6[_0x1a4e('0x18')]['coordinates'][_0x1a4e('0x1e')];_0x2602d0++)_0x1db212[_0x1a4e('0x46')](_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x41ce')](_0x3dace6[_0x1a4e('0x18')][_0x1a4e('0x43')][_0x2602d0]));_0x1dad39[_0x1a4e('0x18')]=_0x1db212;}return _0x1dad39;},_0x59e62e[_0x1a4e('0x510b')]=function(_0x59e62e,_0x41c622){var _0x6e316a=_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3954')](_0x59e62e),_0x1cf0c8=_0x9be5a3[_0x1a4e('0x38da')][_0x1a4e('0x3954')](_0x41c622),_0x68f8eb=_0x6ff3ba[_0x1a4e('0xe7')]([_0x6e316a]),_0x3fc9e2=_0x6ff3ba['polygon']([_0x1cf0c8]),_0x1d90ee=_0x6ff3ba[_0x1a4e('0x719')](_0x68f8eb,_0x3fc9e2);if(_0x1d90ee)return _0x9be5a3['GeoPoint'][_0x1a4e('0x41ce')](_0x1d90ee['geometry']['coordinates'][0x0]);},_0x59e62e[_0x1a4e('0x449b')]=function(_0x59e62e,_0x41c622){var _0x6e316a=_0x59e62e[_0x1a4e('0x1a1')],_0x1cf0c8=_0x59e62e[_0x1a4e('0x1a2')],_0x68f8eb=_0x41c622[_0x1a4e('0x1a1')],_0x9be5a3=_0x41c622[_0x1a4e('0x1a2')],_0x6ff3ba=(0x5a-_0x9be5a3)*Math['PI']/0xb4,_0x3fc9e2=(0x5a-_0x1cf0c8)*Math['PI']/0xb4,_0xc60c7d=(_0x68f8eb-_0x6e316a)*Math['PI']/0xb4,_0x5592af=Math[_0x1a4e('0x90')](_0x6ff3ba)*Math[_0x1a4e('0x90')](_0x3fc9e2)+Math[_0x1a4e('0x8f')](_0x6ff3ba)*Math[_0x1a4e('0x8f')](_0x3fc9e2)*Math[_0x1a4e('0x90')](_0xc60c7d),_0x30a25b=Math[_0x1a4e('0x91')](0x1-_0x5592af*_0x5592af),_0x3356ac=Math[_0x1a4e('0x8f')](_0x6ff3ba)*Math[_0x1a4e('0x8f')](_0xc60c7d)/_0x30a25b,_0x16ee33=0xb4*Math['asin'](_0x3356ac)/Math['PI'],_0x1b6e32=0x0;return _0x68f8eb>_0x6e316a&&_0x9be5a3>_0x1cf0c8?_0x1b6e32=_0x16ee33:_0x68f8eb>_0x6e316a&&_0x9be5a3<_0x1cf0c8?_0x1b6e32=0xb4-_0x16ee33:_0x68f8eb<_0x6e316a&&_0x9be5a3<_0x1cf0c8?_0x1b6e32=0xb4-_0x16ee33:_0x68f8eb<_0x6e316a&&_0x9be5a3>_0x1cf0c8?_0x1b6e32=0x168+_0x16ee33:_0x68f8eb>_0x6e316a&&_0x9be5a3==_0x1cf0c8?_0x1b6e32=0x5a:_0x68f8eb<_0x6e316a&&_0x9be5a3==_0x1cf0c8?_0x1b6e32=0x10e:_0x68f8eb==_0x6e316a&&_0x9be5a3>_0x1cf0c8?_0x1b6e32=0x0:_0x68f8eb==_0x6e316a&&_0x9be5a3<_0x1cf0c8&&(_0x1b6e32=0xb4),_0x1b6e32;},_0x59e62e['getScreenAngle']=function(_0x59e62e,_0x41c622){var _0x6e316a=0x0,_0x1cf0c8=0x0;return _0x41c622['x']==_0x59e62e['x']&&_0x41c622['y']<_0x59e62e['y']?_0x6e316a=0x0:_0x41c622['x']==_0x59e62e['x']&&_0x41c622['y']>_0x59e62e['y']?_0x6e316a=0xb4:_0x41c622['x']>_0x59e62e['x']&&_0x41c622['y']==_0x59e62e['y']?_0x6e316a=0x5a:_0x41c622['x']<_0x59e62e['x']&&_0x41c622['y']==_0x59e62e['y']?_0x6e316a=0x10e:(_0x1cf0c8=Math[_0x1a4e('0x65')](0xb4*Math['atan']((_0x41c622['x']-_0x59e62e['x'])/(_0x41c622['y']-_0x59e62e['y']))/Math['PI']),_0x41c622['x']>_0x59e62e['x']&&_0x41c622['y']<_0x59e62e['y']?_0x6e316a=_0x1cf0c8:_0x41c622['x']>_0x59e62e['x']&&_0x41c622['y']>_0x59e62e['y']?_0x6e316a=0x5a-_0x1cf0c8+0x5a:_0x41c622['x']<_0x59e62e['x']&&_0x41c622['y']>_0x59e62e['y']?_0x6e316a=0xb4+_0x1cf0c8:_0x41c622['x']<_0x59e62e['x']&&_0x41c622['y']<_0x59e62e['y']&&(_0x6e316a=0x5a-_0x1cf0c8+0x10e)),_0x6e316a;},_0x59e62e[_0x1a4e('0x510c')]=function(_0x59e62e,_0x41c622){var _0x6e316a=_0x9be5a3['GeoPoint'][_0x1a4e('0x3949')](_0x59e62e),_0x1cf0c8=_0x41c622['scene'][_0x1a4e('0x3d4c')][_0x1a4e('0x38dc')],_0x68f8eb=_0x41c622[_0x1a4e('0x38d6')]['camera']['positionWC'];return new Cesium[(_0x1a4e('0x4345'))](_0x1cf0c8,_0x68f8eb)[_0x1a4e('0x4346')](_0x6e316a);},_0x59e62e[_0x1a4e('0x7c0')]=function(_0x59e62e){var _0x41c622=_0x6ff3ba[_0x1a4e('0xe7')]([_0x59e62e]),_0x6e316a=_0x6ff3ba['centerOfMass'](_0x41c622);return new _0x9be5a3[(_0x1a4e('0x38da'))](_0x6e316a[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0],_0x6e316a[_0x1a4e('0x18')][_0x1a4e('0x43')][0x1]);},_0x59e62e[_0x1a4e('0x510d')]=function(_0x41c622,_0x6e316a){!function _0x41c622(_0x6e316a,_0x1cf0c8){if(0x0!==_0x6e316a[_0x1a4e('0x1e')])if(0x1!==_0x6e316a[_0x1a4e('0x1e')]){var _0x68f8eb=_0x6e316a[0x0];_0x6e316a[_0x1a4e('0x8a')](0x0,0x1),_0x1cf0c8[_0x1a4e('0x46')](function _0x41c622(_0x6e316a,_0x1cf0c8){for(var _0x68f8eb=0x0;_0x68f8eb<_0x1cf0c8[_0x1a4e('0x1e')];_0x68f8eb++){var _0x9be5a3=_0x59e62e[_0x1a4e('0x510a')](_0x6e316a,_0x1cf0c8[_0x68f8eb]);if('Polygon'===_0x9be5a3[_0x1a4e('0x40')])return _0x1cf0c8[_0x1a4e('0x8a')](_0x68f8eb,0x1),_0x41c622(_0x9be5a3[_0x1a4e('0x18')][0x0],_0x1cf0c8);}return _0x6e316a;}(_0x68f8eb,_0x6e316a)),_0x41c622(_0x6e316a,_0x1cf0c8);}else _0x1cf0c8['push'](_0x6e316a[0x0]);}(_0x41c622,_0x6e316a);},_0x59e62e;}();},'./src/Utils/Canvas2Image.ts':function(_0x3b7825,_0x363b07,_0x2c5753){'use strict';_0x2c5753['r'](_0x363b07),_0x2c5753['d'](_0x363b07,'Canvas2Image',function(){return _0x1cd02a;});var _0x1cd02a=function(){function _0x3b7825(){}return _0x3b7825['support']=function(){var _0x3b7825=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934')),_0x363b07=_0x3b7825['getContext']('2d');return{'canvas':!!_0x363b07,'imageData':!!_0x363b07['getImageData'],'dataURL':!!_0x3b7825[_0x1a4e('0x3939')],'btoa':!!window[_0x1a4e('0x1188')]};},_0x3b7825[_0x1a4e('0x510e')]=function(){return'image/octet-stream';},_0x3b7825[_0x1a4e('0x510f')]=function(_0x3b7825,_0x363b07,_0x2c5753){var _0x1cd02a=_0x3b7825[_0x1a4e('0x3936')],_0x2e1d58=_0x3b7825['height'];null==_0x363b07&&(_0x363b07=_0x1cd02a),null==_0x2c5753&&(_0x2c5753=_0x2e1d58);var _0x514c45=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934')),_0x57690e=_0x514c45['getContext']('2d');return _0x514c45[_0x1a4e('0x3936')]=_0x363b07,_0x514c45['height']=_0x2c5753,_0x57690e[_0x1a4e('0x47c6')](_0x3b7825,0x0,0x0,_0x1cd02a,_0x2e1d58,0x0,0x0,_0x363b07,_0x2c5753),_0x514c45;},_0x3b7825[_0x1a4e('0x5110')]=function(_0x3b7825,_0x363b07,_0x2c5753,_0x1cd02a){return(_0x3b7825=this['scaleCanvas'](_0x3b7825,_0x2c5753,_0x1cd02a))['toDataURL'](_0x363b07);},_0x3b7825['saveFile']=function(_0x3b7825,_0x363b07){var _0x2c5753=document[_0x1a4e('0xe3d')]('a');_0x2c5753[_0x1a4e('0xe3b')]=_0x3b7825,_0x2c5753[_0x1a4e('0x5111')]=_0x1a4e('0x5112')+_0x363b07,_0x2c5753[_0x1a4e('0x3829')]();},_0x3b7825['genImage']=function(_0x3b7825){var _0x363b07=document[_0x1a4e('0xe3d')](_0x1a4e('0x3eef'));return _0x363b07[_0x1a4e('0xe05')]=_0x3b7825,_0x363b07;},_0x3b7825[_0x1a4e('0x5113')]=function(_0x3b7825){return _0x1a4e('0x5114')+(_0x3b7825=_0x3b7825[_0x1a4e('0x2b2')]()['replace'](/jpg/i,_0x1a4e('0x5115')))[_0x1a4e('0x909')](/png|jpeg|bmp|gif/)[0x0];},_0x3b7825[_0x1a4e('0x5116')]=function(_0x3b7825){if(!window[_0x1a4e('0x1188')])throw _0x1a4e('0x5117');var _0x363b07='';if('string'==typeof _0x3b7825)_0x363b07=_0x3b7825;else for(var _0x2c5753=0x0;_0x2c5753<_0x3b7825[_0x1a4e('0x1e')];_0x2c5753++)_0x363b07+=String[_0x1a4e('0x8fe')](_0x3b7825[_0x2c5753]);return btoa(_0x363b07);},_0x3b7825[_0x1a4e('0x47c7')]=function(_0x3b7825){var _0x363b07=_0x3b7825[_0x1a4e('0x3936')],_0x2c5753=_0x3b7825[_0x1a4e('0x152')];return _0x3b7825[_0x1a4e('0x51c')]('2d')[_0x1a4e('0x47c7')](0x0,0x0,_0x363b07,_0x2c5753);},_0x3b7825['makeURI']=function(_0x3b7825,_0x363b07){return'data:'+_0x363b07+_0x1a4e('0x5118')+_0x3b7825;},_0x3b7825[_0x1a4e('0x5119')]=function(_0x3b7825){var _0x363b07=_0x3b7825[_0x1a4e('0x3936')],_0x2c5753=_0x3b7825[_0x1a4e('0x152')],_0x1cd02a=_0x363b07*_0x2c5753*0x3,_0x1c2c75=_0x1cd02a+0x36,_0x407ed2=[0x42,0x4d,0xff&_0x1c2c75,_0x1c2c75>>0x8&0xff,_0x1c2c75>>0x10&0xff,_0x1c2c75>>0x18&0xff,0x0,0x0,0x0,0x0,0x36,0x0,0x0,0x0],_0x1f9172=[0x28,0x0,0x0,0x0,0xff&_0x363b07,_0x363b07>>0x8&0xff,_0x363b07>>0x10&0xff,_0x363b07>>0x18&0xff,0xff&_0x2c5753,_0x2c5753>>0x8&0xff,_0x2c5753>>0x10&0xff,_0x2c5753>>0x18&0xff,0x1,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0xff&_0x1cd02a,_0x1cd02a>>0x8&0xff,_0x1cd02a>>0x10&0xff,_0x1cd02a>>0x18&0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0],_0x2069a5=(0x4-0x3*_0x363b07%0x4)%0x4,_0x3db70d=_0x3b7825[_0x1a4e('0x7f')],_0x3ca58a='',_0x9988f7=_0x363b07<<0x2,_0x488837=_0x2c5753,_0x157ddf=String[_0x1a4e('0x8fe')];do{for(var _0x52a051=_0x9988f7*(_0x488837-0x1),_0x48024b='',_0x24ef1b=0x0;_0x24ef1b<_0x363b07;_0x24ef1b++){var _0x4d68a9=_0x24ef1b<<0x2;_0x48024b+=_0x157ddf(_0x3db70d[_0x52a051+_0x4d68a9+0x2])+_0x157ddf(_0x3db70d[_0x52a051+_0x4d68a9+0x1])+_0x157ddf(_0x3db70d[_0x52a051+_0x4d68a9]);}for(var _0x2ee03a=0x0;_0x2ee03a<_0x2069a5;_0x2ee03a++)_0x48024b+=String['fromCharCode'](0x0);_0x3ca58a+=_0x48024b;}while(--_0x488837);return this[_0x1a4e('0x5116')](_0x407ed2[_0x1a4e('0x9a')](_0x1f9172))+this['encodeData'](_0x3ca58a);},_0x3b7825[_0x1a4e('0x511a')]=function(_0x3b7825,_0x363b07,_0x2c5753,_0x1cd02a){if(this['support']()[_0x1a4e('0x3934')]&&this[_0x1a4e('0x511b')]()[_0x1a4e('0x511c')]){_0x1a4e('0x9')==typeof _0x3b7825&&(_0x3b7825=document[_0x1a4e('0x511d')](_0x3b7825)),null==_0x1cd02a&&(_0x1cd02a=_0x1a4e('0x4e94'));var _0x508939,_0x135757=this['fixType'](_0x1cd02a);if(/bmp/[_0x1a4e('0x8d0')](_0x135757)){var _0xaf0a94=this[_0x1a4e('0x47c7')](this['scaleCanvas'](_0x3b7825,_0x363b07,_0x2c5753));_0x508939=this[_0x1a4e('0x5119')](_0xaf0a94),this[_0x1a4e('0x511e')](this['makeURI'](_0x508939,this['downloadMime']()),_0x1cd02a);}else _0x508939=this[_0x1a4e('0x5110')](_0x3b7825,_0x135757,_0x363b07,_0x2c5753),this[_0x1a4e('0x511e')](_0x508939['replace'](_0x135757,this[_0x1a4e('0x510e')]()),_0x1cd02a);}},_0x3b7825[_0x1a4e('0x511f')]=function(_0x3b7825,_0x363b07,_0x2c5753,_0x1cd02a){if(this[_0x1a4e('0x511b')]()[_0x1a4e('0x3934')]&&this['support']()['dataURL']){if(_0x1a4e('0x9')==typeof _0x3b7825&&(_0x3b7825=document[_0x1a4e('0x511d')](_0x3b7825)),null==_0x1cd02a&&(_0x1cd02a=_0x1a4e('0x4e94')),_0x1cd02a=this[_0x1a4e('0x5113')](_0x1cd02a),/bmp/[_0x1a4e('0x8d0')](_0x1cd02a)){var _0x4fab61=this[_0x1a4e('0x47c7')](this[_0x1a4e('0x510f')](_0x3b7825,_0x363b07,_0x2c5753)),_0x35bcf8=this[_0x1a4e('0x5119')](_0x4fab61);return this['makeURI'](_0x35bcf8,_0x1a4e('0x5120'));}return this['getDataURL'](_0x3b7825,_0x1cd02a,_0x363b07,_0x2c5753);}},_0x3b7825[_0x1a4e('0x5121')]=function(_0x3b7825,_0x363b07,_0x2c5753){return this[_0x1a4e('0x511a')](_0x3b7825,_0x363b07,_0x2c5753,'png');},_0x3b7825['saveAsJPEG']=function(_0x3b7825,_0x363b07,_0x2c5753){return this[_0x1a4e('0x511a')](_0x3b7825,_0x363b07,_0x2c5753,'jpeg');},_0x3b7825['saveAsGIF']=function(_0x3b7825,_0x363b07,_0x2c5753){return this['saveAsImage'](_0x3b7825,_0x363b07,_0x2c5753,_0x1a4e('0x5122'));},_0x3b7825[_0x1a4e('0x5123')]=function(_0x3b7825,_0x363b07,_0x2c5753){return this['saveAsImage'](_0x3b7825,_0x363b07,_0x2c5753,_0x1a4e('0x5124'));},_0x3b7825['convertToPNG']=function(_0x3b7825,_0x363b07,_0x2c5753){return this[_0x1a4e('0x511f')](_0x3b7825,_0x363b07,_0x2c5753,_0x1a4e('0x4e94'));},_0x3b7825[_0x1a4e('0x5125')]=function(_0x3b7825,_0x363b07,_0x2c5753){return this[_0x1a4e('0x511f')](_0x3b7825,_0x363b07,_0x2c5753,_0x1a4e('0x5115'));},_0x3b7825['convertToGIF']=function(_0x3b7825,_0x363b07,_0x2c5753){return this[_0x1a4e('0x511f')](_0x3b7825,_0x363b07,_0x2c5753,_0x1a4e('0x5122'));},_0x3b7825['convertToBMP']=function(_0x3b7825,_0x363b07,_0x2c5753){return this[_0x1a4e('0x511f')](_0x3b7825,_0x363b07,_0x2c5753,_0x1a4e('0x5124'));},_0x3b7825[_0x1a4e('0x5126')]=function(_0x3b7825){var _0x363b07=_0x2c5753('./src/Utils/Canvas2Svg/canvas2svg.js')(_0x3b7825[_0x1a4e('0x3936')],_0x3b7825[_0x1a4e('0x152')]);_0x363b07['drawImage'](_0x3b7825,0x0,0x0),_0x363b07['getSerializedSvg']();var _0x1cd02a=_0x363b07[_0x1a4e('0x5127')](),_0x40f407=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));return _0x40f407['append'](_0x1cd02a),_0x40f407[_0x1a4e('0x12ba')];},_0x3b7825[_0x1a4e('0x5128')]=function(_0x3b7825,_0x363b07){var _0x2c5753=document['createElement']('a');_0x2c5753['href']=_0x3b7825,_0x2c5753['download']=_0x363b07||+new Date()+_0x1a4e('0x5129'),_0x2c5753['click']();},_0x3b7825;}();},'./src/Utils/Canvas2Svg/canvas2svg.js':function(_0x413624,_0x118133,_0x3a1ad1){'use strict';(function(_0x413624){var _0x118133=_0x1a4e('0x68')==typeof Symbol&&_0x1a4e('0xb1b')==typeof Symbol[_0x1a4e('0x335')]?function(_0x413624){return typeof _0x413624;}:function(_0x413624){return _0x413624&&_0x1a4e('0x68')==typeof Symbol&&_0x413624[_0x1a4e('0x10')]===Symbol&&_0x413624!==Symbol[_0x1a4e('0xa')]?_0x1a4e('0xb1b'):typeof _0x413624;};!function(){var _0x3a1ad1,_0x5edbfe,_0x3190be,_0x5eaa04,_0x89c104;function _0x51ba7c(_0x413624,_0x118133){var _0x3a1ad1,_0x5edbfe=Object[_0x1a4e('0x56')](_0x118133);for(_0x3a1ad1=0x0;_0x3a1ad1<_0x5edbfe[_0x1a4e('0x1e')];_0x3a1ad1++)_0x413624=_0x413624['replace'](new RegExp('\x5c{'+_0x5edbfe[_0x3a1ad1]+'\x5c}','gi'),_0x118133[_0x5edbfe[_0x3a1ad1]]);return _0x413624;}function _0x434941(_0x413624){var _0x118133,_0x3a1ad1,_0x5edbfe;if(!_0x413624)throw new Error('cannot\x20create\x20a\x20random\x20attribute\x20name\x20for\x20an\x20undefined\x20object');_0x118133=_0x1a4e('0x512a'),_0x3a1ad1='';do{for(_0x3a1ad1='',_0x5edbfe=0x0;_0x5edbfe<0xc;_0x5edbfe++)_0x3a1ad1+=_0x118133[Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x12e')]()*_0x118133['length'])];}while(_0x413624[_0x3a1ad1]);return _0x3a1ad1;}function _0x38bda8(_0x413624){var _0x118133={'alphabetic':_0x1a4e('0x512b'),'hanging':_0x1a4e('0x512c'),'top':'text-before-edge','bottom':_0x1a4e('0x512d'),'middle':_0x1a4e('0x512e')};return _0x118133[_0x413624]||_0x118133[_0x1a4e('0x512b')];}_0x89c104=function(_0x413624,_0x118133){var _0x3a1ad1,_0x5edbfe,_0x3190be,_0x5eaa04={};for(_0x413624=_0x413624[_0x1a4e('0x2be')](','),_0x118133=_0x118133||0xa,_0x3a1ad1=0x0;_0x3a1ad1<_0x413624[_0x1a4e('0x1e')];_0x3a1ad1+=0x2)_0x5edbfe='&'+_0x413624[_0x3a1ad1+0x1]+';',_0x3190be=parseInt(_0x413624[_0x3a1ad1],_0x118133),_0x5eaa04[_0x5edbfe]='&#'+_0x3190be+';';return _0x5eaa04['\x5cxa0']=' ',_0x5eaa04;}(_0x1a4e('0x512f'),0x20),_0x3a1ad1={'strokeStyle':{'svgAttr':'stroke','canvas':_0x1a4e('0x420b'),'svg':_0x1a4e('0x60'),'apply':_0x1a4e('0x3df3')},'fillStyle':{'svgAttr':_0x1a4e('0x22c'),'canvas':_0x1a4e('0x420b'),'svg':null,'apply':'fill'},'lineCap':{'svgAttr':_0x1a4e('0x5130'),'canvas':'butt','svg':_0x1a4e('0x4a37'),'apply':'stroke'},'lineJoin':{'svgAttr':_0x1a4e('0x5131'),'canvas':_0x1a4e('0x5132'),'svg':_0x1a4e('0x5132'),'apply':'stroke'},'miterLimit':{'svgAttr':_0x1a4e('0x5133'),'canvas':0xa,'svg':0x4,'apply':_0x1a4e('0x3df3')},'lineWidth':{'svgAttr':'stroke-width','canvas':0x1,'svg':0x1,'apply':_0x1a4e('0x3df3')},'globalAlpha':{'svgAttr':'opacity','canvas':0x1,'svg':0x1,'apply':_0x1a4e('0x5134')},'font':{'canvas':_0x1a4e('0x4a38')},'shadowColor':{'canvas':'#000000'},'shadowOffsetX':{'canvas':0x0},'shadowOffsetY':{'canvas':0x0},'shadowBlur':{'canvas':0x0},'textAlign':{'canvas':_0x1a4e('0xc9')},'textBaseline':{'canvas':'alphabetic'},'lineDash':{'svgAttr':'stroke-dasharray','canvas':[],'svg':null,'apply':_0x1a4e('0x3df3')}},(_0x3190be=function(_0x413624,_0x118133){this[_0x1a4e('0x5135')]=_0x413624,this[_0x1a4e('0x5136')]=_0x118133;})['prototype'][_0x1a4e('0x3dba')]=function(_0x413624,_0x118133){var _0x3a1ad1,_0x5edbfe=this[_0x1a4e('0x5136')][_0x1a4e('0x5137')](_0x1a4e('0x127b'));_0x5edbfe['setAttribute'](_0x1a4e('0x1af'),_0x413624),-0x1!==_0x118133[_0x1a4e('0x3e')](_0x1a4e('0x5138'))?(_0x3a1ad1=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi[_0x1a4e('0x2af')](_0x118133),_0x5edbfe[_0x1a4e('0x3935')]('stop-color',_0x51ba7c(_0x1a4e('0x5139'),{'r':_0x3a1ad1[0x1],'g':_0x3a1ad1[0x2],'b':_0x3a1ad1[0x3]})),_0x5edbfe['setAttribute'](_0x1a4e('0x513a'),_0x3a1ad1[0x4])):_0x5edbfe[_0x1a4e('0x3935')](_0x1a4e('0x513b'),_0x118133),this['__root'][_0x1a4e('0x12c4')](_0x5edbfe);},_0x5eaa04=function(_0x413624,_0x118133){this[_0x1a4e('0x5135')]=_0x413624,this[_0x1a4e('0x5136')]=_0x118133;},(_0x5edbfe=function(_0x413624){var _0x118133,_0x3a1ad1={'width':0x1f4,'height':0x1f4,'enableMirroring':!0x1};if(arguments[_0x1a4e('0x1e')]>0x1?((_0x118133=_0x3a1ad1)[_0x1a4e('0x3936')]=arguments[0x0],_0x118133[_0x1a4e('0x152')]=arguments[0x1]):_0x118133=_0x413624||_0x3a1ad1,!(this instanceof _0x5edbfe))return new _0x5edbfe(_0x118133);this[_0x1a4e('0x3936')]=_0x118133[_0x1a4e('0x3936')]||_0x3a1ad1[_0x1a4e('0x3936')],this['height']=_0x118133['height']||_0x3a1ad1['height'],this['enableMirroring']=void 0x0!==_0x118133[_0x1a4e('0x513c')]?_0x118133[_0x1a4e('0x513c')]:_0x3a1ad1[_0x1a4e('0x513c')],this[_0x1a4e('0x3934')]=this,this[_0x1a4e('0x513d')]=_0x118133[_0x1a4e('0x134a')]||document,_0x118133[_0x1a4e('0x169f')]?this['__ctx']=_0x118133['ctx']:(this[_0x1a4e('0x513e')]=this[_0x1a4e('0x513d')]['createElement']('canvas'),this['__ctx']=this[_0x1a4e('0x513e')]['getContext']('2d')),this[_0x1a4e('0x513f')](),this['__stack']=[this[_0x1a4e('0x5140')]()],this[_0x1a4e('0x5141')]=[],this[_0x1a4e('0x5135')]=this['__document'][_0x1a4e('0x5142')](_0x1a4e('0x5143'),_0x1a4e('0x5144')),this['__root']['setAttribute']('version',1.1),this['__root'][_0x1a4e('0x3935')](_0x1a4e('0x5145'),_0x1a4e('0x5143')),this['__root']['setAttributeNS'](_0x1a4e('0x5146'),_0x1a4e('0x5147'),_0x1a4e('0x5148')),this[_0x1a4e('0x5135')]['setAttribute'](_0x1a4e('0x3936'),this[_0x1a4e('0x3936')]),this['__root'][_0x1a4e('0x3935')](_0x1a4e('0x152'),this['height']),this[_0x1a4e('0x5149')]={},this[_0x1a4e('0x514a')]=this[_0x1a4e('0x513d')]['createElementNS'](_0x1a4e('0x5143'),_0x1a4e('0x514b')),this[_0x1a4e('0x5135')][_0x1a4e('0x12c4')](this[_0x1a4e('0x514a')]),this[_0x1a4e('0x514c')]=this[_0x1a4e('0x513d')][_0x1a4e('0x5142')](_0x1a4e('0x5143'),'g'),this[_0x1a4e('0x5135')][_0x1a4e('0x12c4')](this[_0x1a4e('0x514c')]);})[_0x1a4e('0xa')][_0x1a4e('0x5137')]=function(_0x413624,_0x118133,_0x3a1ad1){void 0x0===_0x118133&&(_0x118133={});var _0x5edbfe,_0x3190be,_0x5eaa04=this[_0x1a4e('0x513d')][_0x1a4e('0x5142')](_0x1a4e('0x5143'),_0x413624),_0x89c104=Object['keys'](_0x118133);for(_0x3a1ad1&&(_0x5eaa04[_0x1a4e('0x3935')](_0x1a4e('0x22c'),_0x1a4e('0x60')),_0x5eaa04[_0x1a4e('0x3935')](_0x1a4e('0x3df3'),_0x1a4e('0x60'))),_0x5edbfe=0x0;_0x5edbfe<_0x89c104['length'];_0x5edbfe++)_0x3190be=_0x89c104[_0x5edbfe],_0x5eaa04[_0x1a4e('0x3935')](_0x3190be,_0x118133[_0x3190be]);return _0x5eaa04;},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x513f')]=function(){var _0x413624,_0x118133,_0x5edbfe=Object['keys'](_0x3a1ad1);for(_0x413624=0x0;_0x413624<_0x5edbfe[_0x1a4e('0x1e')];_0x413624++)this[_0x118133=_0x5edbfe[_0x413624]]=_0x3a1ad1[_0x118133]['canvas'];},_0x5edbfe['prototype'][_0x1a4e('0x514d')]=function(_0x413624){var _0x118133,_0x3a1ad1,_0x5edbfe=Object[_0x1a4e('0x56')](_0x413624);for(_0x118133=0x0;_0x118133<_0x5edbfe[_0x1a4e('0x1e')];_0x118133++)this[_0x3a1ad1=_0x5edbfe[_0x118133]]=_0x413624[_0x3a1ad1];},_0x5edbfe[_0x1a4e('0xa')]['__getStyleState']=function(){var _0x413624,_0x118133,_0x5edbfe={},_0x3190be=Object[_0x1a4e('0x56')](_0x3a1ad1);for(_0x413624=0x0;_0x413624<_0x3190be[_0x1a4e('0x1e')];_0x413624++)_0x5edbfe[_0x118133=_0x3190be[_0x413624]]=this[_0x118133];return _0x5edbfe;},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x514e')]=function(_0x413624){var _0x118133=this[_0x1a4e('0x514c')],_0x5edbfe=this['__currentElementsToStyle'];_0x5edbfe&&(_0x118133[_0x1a4e('0x3935')](_0x413624,''),_0x118133=_0x5edbfe[_0x1a4e('0x26ee')],_0x5edbfe[_0x1a4e('0x6f')]['forEach'](function(_0x118133){_0x118133[_0x1a4e('0x3935')](_0x413624,'');}));var _0x89c104,_0x434941,_0x38bda8,_0x4559e6,_0x274c33,_0x46c92f=Object[_0x1a4e('0x56')](_0x3a1ad1);for(_0x89c104=0x0;_0x89c104<_0x46c92f[_0x1a4e('0x1e')];_0x89c104++)if(_0x434941=_0x3a1ad1[_0x46c92f[_0x89c104]],_0x38bda8=this[_0x46c92f[_0x89c104]],_0x434941['apply'])if(_0x38bda8 instanceof _0x5eaa04){if(_0x38bda8[_0x1a4e('0x5136')])for(;_0x38bda8['__ctx'][_0x1a4e('0x514a')][_0x1a4e('0x4d0f')][_0x1a4e('0x1e')];)_0x4559e6=_0x38bda8[_0x1a4e('0x5136')][_0x1a4e('0x514a')]['childNodes'][0x0][_0x1a4e('0x41c8')]('id'),this[_0x1a4e('0x5149')][_0x4559e6]=_0x4559e6,this[_0x1a4e('0x514a')]['appendChild'](_0x38bda8[_0x1a4e('0x5136')][_0x1a4e('0x514a')]['childNodes'][0x0]);_0x118133[_0x1a4e('0x3935')](_0x434941[_0x1a4e('0x8b')],_0x51ba7c(_0x1a4e('0x514f'),{'id':_0x38bda8['__root'][_0x1a4e('0x41c8')]('id')}));}else if(_0x38bda8 instanceof _0x3190be)_0x118133['setAttribute'](_0x434941['apply'],_0x51ba7c(_0x1a4e('0x514f'),{'id':_0x38bda8[_0x1a4e('0x5135')]['getAttribute']('id')}));else if(-0x1!==_0x434941[_0x1a4e('0x8b')][_0x1a4e('0x3e')](_0x413624)&&_0x434941[_0x1a4e('0x5144')]!==_0x38bda8)if(_0x1a4e('0x3df3')!==_0x434941[_0x1a4e('0x5150')]&&'fill'!==_0x434941[_0x1a4e('0x5150')]||-0x1===_0x38bda8[_0x1a4e('0x3e')]('rgba')){var _0x4bb723=_0x434941['svgAttr'];if(_0x1a4e('0x47c5')===_0x46c92f[_0x89c104]&&(_0x4bb723=_0x413624+'-'+_0x434941['svgAttr'],_0x118133[_0x1a4e('0x41c8')](_0x4bb723)))continue;_0x118133['setAttribute'](_0x4bb723,_0x38bda8);}else{_0x274c33=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi[_0x1a4e('0x2af')](_0x38bda8),_0x118133[_0x1a4e('0x3935')](_0x434941[_0x1a4e('0x5150')],_0x51ba7c(_0x1a4e('0x5139'),{'r':_0x274c33[0x1],'g':_0x274c33[0x2],'b':_0x274c33[0x3]}));var _0x1934a1=_0x274c33[0x4],_0x11f269=this['globalAlpha'];null!=_0x11f269&&(_0x1934a1*=_0x11f269),_0x118133[_0x1a4e('0x3935')](_0x434941['svgAttr']+_0x1a4e('0x5151'),_0x1934a1);}},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x5152')]=function(_0x413624){return'g'===(_0x413624=_0x413624||this[_0x1a4e('0x514c')])['nodeName']||_0x1a4e('0x5144')===_0x413624[_0x1a4e('0x5153')]?_0x413624:this[_0x1a4e('0x5152')](_0x413624[_0x1a4e('0x4372')]);},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x5154')]=function(_0x413624){var _0x118133,_0x3a1ad1,_0x5edbfe,_0x3190be,_0x5eaa04,_0x51ba7c=new XMLSerializer()[_0x1a4e('0x5155')](this[_0x1a4e('0x5135')]);if(/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi[_0x1a4e('0x8d0')](_0x51ba7c)&&(_0x51ba7c=_0x51ba7c['replace'](_0x1a4e('0x5156'),_0x1a4e('0x5157'))),_0x413624)for(_0x118133=Object[_0x1a4e('0x56')](_0x89c104),_0x3a1ad1=0x0;_0x3a1ad1<_0x118133[_0x1a4e('0x1e')];_0x3a1ad1++)_0x5edbfe=_0x118133[_0x3a1ad1],_0x3190be=_0x89c104[_0x5edbfe],(_0x5eaa04=new RegExp(_0x5edbfe,'gi'))[_0x1a4e('0x8d0')](_0x51ba7c)&&(_0x51ba7c=_0x51ba7c[_0x1a4e('0x115')](_0x5eaa04,_0x3190be));return _0x51ba7c;},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x5127')]=function(){return this['__root'];},_0x5edbfe['prototype'][_0x1a4e('0x8b5')]=function(){var _0x413624=this['__createElement']('g'),_0x118133=this[_0x1a4e('0x5152')]();this[_0x1a4e('0x5141')][_0x1a4e('0x46')](_0x118133),_0x118133[_0x1a4e('0x12c4')](_0x413624),this[_0x1a4e('0x514c')]=_0x413624,this[_0x1a4e('0x5158')][_0x1a4e('0x46')](this[_0x1a4e('0x5140')]());},_0x5edbfe['prototype']['restore']=function(){this['__currentElement']=this[_0x1a4e('0x5141')][_0x1a4e('0x76')](),this[_0x1a4e('0x5159')]=null,this[_0x1a4e('0x514c')]||(this[_0x1a4e('0x514c')]=this[_0x1a4e('0x5135')][_0x1a4e('0x4d0f')][0x1]);var _0x413624=this['__stack'][_0x1a4e('0x76')]();this[_0x1a4e('0x514d')](_0x413624);},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x515a')]=function(_0x413624){var _0x118133=this[_0x1a4e('0x5152')]();if(_0x118133['childNodes'][_0x1a4e('0x1e')]>0x0){_0x1a4e('0x64')===this[_0x1a4e('0x514c')][_0x1a4e('0x5153')]&&(this[_0x1a4e('0x5159')]||(this[_0x1a4e('0x5159')]={'element':_0x118133,'children':[]}),this[_0x1a4e('0x5159')][_0x1a4e('0x6f')][_0x1a4e('0x46')](this[_0x1a4e('0x514c')]),this[_0x1a4e('0x515b')]());var _0x3a1ad1=this[_0x1a4e('0x5137')]('g');_0x118133[_0x1a4e('0x12c4')](_0x3a1ad1),this[_0x1a4e('0x514c')]=_0x3a1ad1;}var _0x5edbfe=this['__currentElement']['getAttribute'](_0x1a4e('0x93'));_0x5edbfe?_0x5edbfe+='\x20':_0x5edbfe='',_0x5edbfe+=_0x413624,this[_0x1a4e('0x514c')][_0x1a4e('0x3935')]('transform',_0x5edbfe);},_0x5edbfe['prototype']['scale']=function(_0x413624,_0x118133){void 0x0===_0x118133&&(_0x118133=_0x413624),this[_0x1a4e('0x515a')](_0x51ba7c(_0x1a4e('0x515c'),{'x':_0x413624,'y':_0x118133}));},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x7a3')]=function(_0x413624){var _0x118133=0xb4*_0x413624/Math['PI'];this['__addTransform'](_0x51ba7c(_0x1a4e('0x515d'),{'angle':_0x118133,'cx':0x0,'cy':0x0}));},_0x5edbfe[_0x1a4e('0xa')]['translate']=function(_0x413624,_0x118133){this['__addTransform'](_0x51ba7c('translate({x},{y})',{'x':_0x413624,'y':_0x118133}));},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x93')]=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe,_0x3190be,_0x5eaa04){this[_0x1a4e('0x515a')](_0x51ba7c('matrix({a},{b},{c},{d},{e},{f})',{'a':_0x413624,'b':_0x118133,'c':_0x3a1ad1,'d':_0x5edbfe,'e':_0x3190be,'f':_0x5eaa04}));},_0x5edbfe['prototype'][_0x1a4e('0x3dbd')]=function(){var _0x413624;this[_0x1a4e('0x515e')]='',this[_0x1a4e('0x515f')]={},_0x413624=this[_0x1a4e('0x5137')](_0x1a4e('0x64'),{},!0x0),this[_0x1a4e('0x5152')]()['appendChild'](_0x413624),this[_0x1a4e('0x514c')]=_0x413624;},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x515b')]=function(){var _0x413624=this['__currentElement'];_0x1a4e('0x64')===_0x413624[_0x1a4e('0x5153')]?_0x413624[_0x1a4e('0x3935')]('d',this[_0x1a4e('0x515e')]):console['error'](_0x1a4e('0x5160'),_0x413624[_0x1a4e('0x5153')]);},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x5161')]=function(_0x413624){this[_0x1a4e('0x515e')]+='\x20',this[_0x1a4e('0x515e')]+=_0x413624;},_0x5edbfe[_0x1a4e('0xa')]['moveTo']=function(_0x413624,_0x118133){_0x1a4e('0x64')!==this[_0x1a4e('0x514c')][_0x1a4e('0x5153')]&&this['beginPath'](),this[_0x1a4e('0x515f')]={'x':_0x413624,'y':_0x118133},this[_0x1a4e('0x5161')](_0x51ba7c(_0x1a4e('0x5162'),{'x':_0x413624,'y':_0x118133}));},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x439e')]=function(){this[_0x1a4e('0x515e')]&&this[_0x1a4e('0x5161')]('Z');},_0x5edbfe['prototype'][_0x1a4e('0x439d')]=function(_0x413624,_0x118133){this[_0x1a4e('0x515f')]={'x':_0x413624,'y':_0x118133},this[_0x1a4e('0x515e')][_0x1a4e('0x3e')]('M')>-0x1?this[_0x1a4e('0x5161')](_0x51ba7c(_0x1a4e('0x5163'),{'x':_0x413624,'y':_0x118133})):this[_0x1a4e('0x5161')](_0x51ba7c(_0x1a4e('0x5162'),{'x':_0x413624,'y':_0x118133}));},_0x5edbfe[_0x1a4e('0xa')]['bezierCurveTo']=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe,_0x3190be,_0x5eaa04){this[_0x1a4e('0x515f')]={'x':_0x3190be,'y':_0x5eaa04},this['__addPathCommand'](_0x51ba7c(_0x1a4e('0x5164'),{'cp1x':_0x413624,'cp1y':_0x118133,'cp2x':_0x3a1ad1,'cp2y':_0x5edbfe,'x':_0x3190be,'y':_0x5eaa04}));},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x5165')]=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe){this[_0x1a4e('0x515f')]={'x':_0x3a1ad1,'y':_0x5edbfe},this[_0x1a4e('0x5161')](_0x51ba7c('Q\x20{cpx}\x20{cpy}\x20{x}\x20{y}',{'cpx':_0x413624,'cpy':_0x118133,'x':_0x3a1ad1,'y':_0x5edbfe}));};var _0x233813=function(_0x413624){var _0x118133=Math['sqrt'](_0x413624[0x0]*_0x413624[0x0]+_0x413624[0x1]*_0x413624[0x1]);return[_0x413624[0x0]/_0x118133,_0x413624[0x1]/_0x118133];};_0x5edbfe['prototype'][_0x1a4e('0x5166')]=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe,_0x3190be){var _0x5eaa04=this[_0x1a4e('0x515f')]&&this[_0x1a4e('0x515f')]['x'],_0x89c104=this[_0x1a4e('0x515f')]&&this['__currentPosition']['y'];if(void 0x0!==_0x5eaa04&&void 0x0!==_0x89c104){if(_0x3190be<0x0)throw new Error(_0x1a4e('0x5167')+_0x3190be+_0x1a4e('0x5168'));if(_0x5eaa04===_0x413624&&_0x89c104===_0x118133||_0x413624===_0x3a1ad1&&_0x118133===_0x5edbfe||0x0===_0x3190be)this['lineTo'](_0x413624,_0x118133);else{var _0x51ba7c=_0x233813([_0x5eaa04-_0x413624,_0x89c104-_0x118133]),_0x434941=_0x233813([_0x3a1ad1-_0x413624,_0x5edbfe-_0x118133]);if(_0x51ba7c[0x0]*_0x434941[0x1]!=_0x51ba7c[0x1]*_0x434941[0x0]){var _0x38bda8=_0x51ba7c[0x0]*_0x434941[0x0]+_0x51ba7c[0x1]*_0x434941[0x1],_0x357c1b=Math[_0x1a4e('0x92c')](Math[_0x1a4e('0x65')](_0x38bda8)),_0x4a4131=_0x233813([_0x51ba7c[0x0]+_0x434941[0x0],_0x51ba7c[0x1]+_0x434941[0x1]]),_0x1223dd=_0x3190be/Math['sin'](_0x357c1b/0x2),_0x9ec9f=_0x413624+_0x1223dd*_0x4a4131[0x0],_0x50e765=_0x118133+_0x1223dd*_0x4a4131[0x1],_0x3e7a63=[-_0x51ba7c[0x1],_0x51ba7c[0x0]],_0x3c9794=[_0x434941[0x1],-_0x434941[0x0]],_0x406aad=function(_0x413624){var _0x118133=_0x413624[0x0];return _0x413624[0x1]>=0x0?Math[_0x1a4e('0x92c')](_0x118133):-Math[_0x1a4e('0x92c')](_0x118133);},_0x55992a=_0x406aad(_0x3e7a63),_0x463d21=_0x406aad(_0x3c9794);this[_0x1a4e('0x439d')](_0x9ec9f+_0x3e7a63[0x0]*_0x3190be,_0x50e765+_0x3e7a63[0x1]*_0x3190be),this['arc'](_0x9ec9f,_0x50e765,_0x3190be,_0x55992a,_0x463d21);}else this[_0x1a4e('0x439d')](_0x413624,_0x118133);}}},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x3df3')]=function(){_0x1a4e('0x64')===this[_0x1a4e('0x514c')][_0x1a4e('0x5153')]&&this[_0x1a4e('0x514c')][_0x1a4e('0x3935')](_0x1a4e('0x5169'),_0x1a4e('0x516a')),this[_0x1a4e('0x515b')](),this[_0x1a4e('0x514e')](_0x1a4e('0x3df3'));},_0x5edbfe[_0x1a4e('0xa')]['fill']=function(){_0x1a4e('0x64')===this[_0x1a4e('0x514c')][_0x1a4e('0x5153')]&&this[_0x1a4e('0x514c')]['setAttribute'](_0x1a4e('0x5169'),_0x1a4e('0x516b')),this[_0x1a4e('0x515b')](),this[_0x1a4e('0x514e')](_0x1a4e('0x22c'));},_0x5edbfe['prototype']['rect']=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe){'path'!==this[_0x1a4e('0x514c')][_0x1a4e('0x5153')]&&this[_0x1a4e('0x3dbd')](),this[_0x1a4e('0x439c')](_0x413624,_0x118133),this['lineTo'](_0x413624+_0x3a1ad1,_0x118133),this[_0x1a4e('0x439d')](_0x413624+_0x3a1ad1,_0x118133+_0x5edbfe),this[_0x1a4e('0x439d')](_0x413624,_0x118133+_0x5edbfe),this[_0x1a4e('0x439d')](_0x413624,_0x118133),this[_0x1a4e('0x439e')]();},_0x5edbfe['prototype'][_0x1a4e('0x3dde')]=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe){var _0x3190be;_0x3190be=this[_0x1a4e('0x5137')](_0x1a4e('0x4244'),{'x':_0x413624,'y':_0x118133,'width':_0x3a1ad1,'height':_0x5edbfe},!0x0),this[_0x1a4e('0x5152')]()[_0x1a4e('0x12c4')](_0x3190be),this['__currentElement']=_0x3190be,this[_0x1a4e('0x514e')]('fill');},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x516c')]=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe){var _0x3190be;_0x3190be=this['__createElement'](_0x1a4e('0x4244'),{'x':_0x413624,'y':_0x118133,'width':_0x3a1ad1,'height':_0x5edbfe},!0x0),this[_0x1a4e('0x5152')]()[_0x1a4e('0x12c4')](_0x3190be),this[_0x1a4e('0x514c')]=_0x3190be,this[_0x1a4e('0x514e')]('stroke');},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x516d')]=function(){for(var _0x413624=this[_0x1a4e('0x5152')]()[_0x1a4e('0x41c8')](_0x1a4e('0x93')),_0x118133=this[_0x1a4e('0x5135')][_0x1a4e('0x4d0f')][0x1],_0x3a1ad1=_0x118133['childNodes'],_0x5edbfe=_0x3a1ad1[_0x1a4e('0x1e')]-0x1;_0x5edbfe>=0x0;_0x5edbfe--)_0x3a1ad1[_0x5edbfe]&&_0x118133[_0x1a4e('0x12c5')](_0x3a1ad1[_0x5edbfe]);this[_0x1a4e('0x514c')]=_0x118133,this[_0x1a4e('0x5141')]=[],_0x413624&&this[_0x1a4e('0x515a')](_0x413624);},_0x5edbfe[_0x1a4e('0xa')]['clearRect']=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe){if(0x0!==_0x413624||0x0!==_0x118133||_0x3a1ad1!==this[_0x1a4e('0x3936')]||_0x5edbfe!==this[_0x1a4e('0x152')]){var _0x3190be,_0x5eaa04=this[_0x1a4e('0x5152')]();_0x3190be=this[_0x1a4e('0x5137')]('rect',{'x':_0x413624,'y':_0x118133,'width':_0x3a1ad1,'height':_0x5edbfe,'fill':'#FFFFFF'},!0x0),_0x5eaa04[_0x1a4e('0x12c4')](_0x3190be);}else this[_0x1a4e('0x516d')]();},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x3dc4')]=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe){var _0x5eaa04=this[_0x1a4e('0x5137')](_0x1a4e('0x516e'),{'id':_0x434941(this['__ids']),'x1':_0x413624+'px','x2':_0x3a1ad1+'px','y1':_0x118133+'px','y2':_0x5edbfe+'px','gradientUnits':_0x1a4e('0x516f')},!0x1);return this[_0x1a4e('0x514a')][_0x1a4e('0x12c4')](_0x5eaa04),new _0x3190be(_0x5eaa04,this);},_0x5edbfe[_0x1a4e('0xa')]['createRadialGradient']=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe,_0x5eaa04,_0x89c104){var _0x51ba7c=this['__createElement']('radialGradient',{'id':_0x434941(this[_0x1a4e('0x5149')]),'cx':_0x5edbfe+'px','cy':_0x5eaa04+'px','r':_0x89c104+'px','fx':_0x413624+'px','fy':_0x118133+'px','gradientUnits':_0x1a4e('0x516f')},!0x1);return this[_0x1a4e('0x514a')]['appendChild'](_0x51ba7c),new _0x3190be(_0x51ba7c,this);},_0x5edbfe[_0x1a4e('0xa')]['__parseFont']=function(){var _0x413624=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i['exec'](this[_0x1a4e('0x3986')]),_0x118133={'style':_0x413624[0x1]||_0x1a4e('0x951'),'size':_0x413624[0x4]||'10px','family':_0x413624[0x6]||_0x1a4e('0x4f09'),'weight':_0x413624[0x3]||_0x1a4e('0x951'),'decoration':_0x413624[0x2]||_0x1a4e('0x951'),'href':null};return _0x1a4e('0x5170')===this['__fontUnderline']&&(_0x118133['decoration']=_0x1a4e('0x5170')),this[_0x1a4e('0x5171')]&&(_0x118133[_0x1a4e('0xe3b')]=this['__fontHref']),_0x118133;},_0x5edbfe['prototype'][_0x1a4e('0x5172')]=function(_0x413624,_0x118133){if(_0x413624[_0x1a4e('0xe3b')]){var _0x3a1ad1=this['__createElement']('a');return _0x3a1ad1[_0x1a4e('0x5173')](_0x1a4e('0x5148'),_0x1a4e('0x5174'),_0x413624[_0x1a4e('0xe3b')]),_0x3a1ad1[_0x1a4e('0x12c4')](_0x118133),_0x3a1ad1;}return _0x118133;},_0x5edbfe['prototype'][_0x1a4e('0x5175')]=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe){var _0x3190be,_0x5eaa04,_0x89c104=this[_0x1a4e('0x5176')](),_0x51ba7c=this[_0x1a4e('0x5152')](),_0x434941=this['__createElement'](_0x1a4e('0xe04'),{'font-family':_0x89c104[_0x1a4e('0x5177')],'font-size':_0x89c104[_0x1a4e('0x220')],'font-style':_0x89c104[_0x1a4e('0x375c')],'font-weight':_0x89c104[_0x1a4e('0x12a')],'text-decoration':_0x89c104[_0x1a4e('0x5178')],'x':_0x118133,'y':_0x3a1ad1,'text-anchor':(_0x3190be=this[_0x1a4e('0x426c')],_0x5eaa04={'left':'start','right':_0x1a4e('0xca'),'center':_0x1a4e('0x4a30'),'start':_0x1a4e('0xc9'),'end':_0x1a4e('0xca')},_0x5eaa04[_0x3190be]||_0x5eaa04['start']),'dominant-baseline':_0x38bda8(this[_0x1a4e('0x43a0')])},!0x0);_0x434941[_0x1a4e('0x12c4')](this[_0x1a4e('0x513d')][_0x1a4e('0x1317')](_0x413624)),this[_0x1a4e('0x514c')]=_0x434941,this[_0x1a4e('0x514e')](_0x5edbfe),_0x51ba7c['appendChild'](this[_0x1a4e('0x5172')](_0x89c104,_0x434941));},_0x5edbfe['prototype'][_0x1a4e('0x43a1')]=function(_0x413624,_0x118133,_0x3a1ad1){this[_0x1a4e('0x5175')](_0x413624,_0x118133,_0x3a1ad1,_0x1a4e('0x22c'));},_0x5edbfe[_0x1a4e('0xa')]['strokeText']=function(_0x413624,_0x118133,_0x3a1ad1){this['__applyText'](_0x413624,_0x118133,_0x3a1ad1,_0x1a4e('0x3df3'));},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x4399')]=function(_0x413624){return this[_0x1a4e('0x5136')][_0x1a4e('0x3986')]=this[_0x1a4e('0x3986')],this[_0x1a4e('0x5136')]['measureText'](_0x413624);},_0x5edbfe[_0x1a4e('0xa')]['arc']=function(_0x413624,_0x118133,_0x3a1ad1,_0x5edbfe,_0x3190be,_0x5eaa04){if(_0x5edbfe!==_0x3190be){(_0x5edbfe%=0x2*Math['PI'])===(_0x3190be%=0x2*Math['PI'])&&(_0x3190be=(_0x3190be+0x2*Math['PI']-0.001*(_0x5eaa04?-0x1:0x1))%(0x2*Math['PI']));var _0x89c104=_0x413624+_0x3a1ad1*Math[_0x1a4e('0x90')](_0x3190be),_0x434941=_0x118133+_0x3a1ad1*Math[_0x1a4e('0x8f')](_0x3190be),_0x38bda8=_0x413624+_0x3a1ad1*Math[_0x1a4e('0x90')](_0x5edbfe),_0x233813=_0x118133+_0x3a1ad1*Math[_0x1a4e('0x8f')](_0x5edbfe),_0x3fb83f=_0x5eaa04?0x0:0x1,_0x3302c4=0x0,_0x4337fc=_0x3190be-_0x5edbfe;_0x4337fc<0x0&&(_0x4337fc+=0x2*Math['PI']),_0x3302c4=_0x5eaa04?_0x4337fc>Math['PI']?0x0:0x1:_0x4337fc>Math['PI']?0x1:0x0,this[_0x1a4e('0x439d')](_0x38bda8,_0x233813),this[_0x1a4e('0x5161')](_0x51ba7c(_0x1a4e('0x5179'),{'rx':_0x3a1ad1,'ry':_0x3a1ad1,'xAxisRotation':0x0,'largeArcFlag':_0x3302c4,'sweepFlag':_0x3fb83f,'endX':_0x89c104,'endY':_0x434941})),this[_0x1a4e('0x515f')]={'x':_0x89c104,'y':_0x434941};}},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x4a3f')]=function(){var _0x413624=this[_0x1a4e('0x5152')](),_0x118133=this['__createElement'](_0x1a4e('0x517a')),_0x3a1ad1=_0x434941(this[_0x1a4e('0x5149')]),_0x5edbfe=this[_0x1a4e('0x5137')]('g');this[_0x1a4e('0x515b')](),_0x413624['removeChild'](this[_0x1a4e('0x514c')]),_0x118133[_0x1a4e('0x3935')]('id',_0x3a1ad1),_0x118133[_0x1a4e('0x12c4')](this[_0x1a4e('0x514c')]),this[_0x1a4e('0x514a')][_0x1a4e('0x12c4')](_0x118133),_0x413624[_0x1a4e('0x3935')](_0x1a4e('0x517b'),_0x51ba7c(_0x1a4e('0x514f'),{'id':_0x3a1ad1})),_0x413624[_0x1a4e('0x12c4')](_0x5edbfe),this[_0x1a4e('0x514c')]=_0x5edbfe;},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x47c6')]=function(){var _0x413624,_0x118133,_0x3a1ad1,_0x3190be,_0x5eaa04,_0x89c104,_0x51ba7c,_0x434941,_0x38bda8,_0x233813,_0x1938de,_0x2dc53f,_0x144c1e,_0x17b27c=Array['prototype'][_0x1a4e('0x78')]['call'](arguments),_0x205561=_0x17b27c[0x0],_0x140766=0x0,_0x52d408=0x0;if(0x3===_0x17b27c['length'])_0x413624=_0x17b27c[0x1],_0x118133=_0x17b27c[0x2],_0x3a1ad1=_0x5eaa04=_0x205561[_0x1a4e('0x3936')],_0x3190be=_0x89c104=_0x205561[_0x1a4e('0x152')];else if(0x5===_0x17b27c[_0x1a4e('0x1e')])_0x413624=_0x17b27c[0x1],_0x118133=_0x17b27c[0x2],_0x3a1ad1=_0x17b27c[0x3],_0x3190be=_0x17b27c[0x4],_0x5eaa04=_0x205561[_0x1a4e('0x3936')],_0x89c104=_0x205561[_0x1a4e('0x152')];else{if(0x9!==_0x17b27c['length'])throw new Error('Invalid\x20number\x20of\x20arguments\x20passed\x20to\x20drawImage:\x20'+arguments['length']);_0x140766=_0x17b27c[0x1],_0x52d408=_0x17b27c[0x2],_0x5eaa04=_0x17b27c[0x3],_0x89c104=_0x17b27c[0x4],_0x413624=_0x17b27c[0x5],_0x118133=_0x17b27c[0x6],_0x3a1ad1=_0x17b27c[0x7],_0x3190be=_0x17b27c[0x8];}_0x51ba7c=this[_0x1a4e('0x5152')](),this['__currentElement'];var _0x270b26=_0x1a4e('0x435c')+_0x413624+',\x20'+_0x118133+')';if(_0x205561 instanceof _0x5edbfe){if((_0x434941=_0x205561[_0x1a4e('0x5127')]()[_0x1a4e('0x517c')](!0x0))[_0x1a4e('0x4d0f')]&&_0x434941[_0x1a4e('0x4d0f')]['length']>0x1){for(_0x38bda8=_0x434941['childNodes'][0x0];_0x38bda8['childNodes'][_0x1a4e('0x1e')];)_0x144c1e=_0x38bda8[_0x1a4e('0x4d0f')][0x0][_0x1a4e('0x41c8')]('id'),this['__ids'][_0x144c1e]=_0x144c1e,this['__defs'][_0x1a4e('0x12c4')](_0x38bda8['childNodes'][0x0]);if(_0x233813=_0x434941[_0x1a4e('0x4d0f')][0x1]){var _0x7b8d8,_0x3ca078=_0x233813[_0x1a4e('0x41c8')]('transform');_0x7b8d8=_0x3ca078?_0x3ca078+'\x20'+_0x270b26:_0x270b26,_0x233813[_0x1a4e('0x3935')]('transform',_0x7b8d8),_0x51ba7c[_0x1a4e('0x12c4')](_0x233813);}}}else _0x1a4e('0x517d')!==_0x205561[_0x1a4e('0x5153')]&&_0x1a4e('0x517e')!==_0x205561[_0x1a4e('0x5153')]||((_0x1938de=this[_0x1a4e('0x5137')](_0x1a4e('0x3cb4')))[_0x1a4e('0x3935')]('width',_0x3a1ad1),_0x1938de['setAttribute'](_0x1a4e('0x152'),_0x3190be),_0x1938de['setAttribute']('preserveAspectRatio',_0x1a4e('0x60')),(_0x140766||_0x52d408||_0x5eaa04!==_0x205561['width']||_0x89c104!==_0x205561[_0x1a4e('0x152')])&&((_0x2dc53f=this[_0x1a4e('0x513d')][_0x1a4e('0xe3d')]('canvas'))[_0x1a4e('0x3936')]=_0x3a1ad1,_0x2dc53f[_0x1a4e('0x152')]=_0x3190be,_0x2dc53f['getContext']('2d')[_0x1a4e('0x47c6')](_0x205561,_0x140766,_0x52d408,_0x5eaa04,_0x89c104,0x0,0x0,_0x3a1ad1,_0x3190be),_0x205561=_0x2dc53f),_0x1938de['setAttribute']('transform',_0x270b26),_0x1938de[_0x1a4e('0x5173')]('http://www.w3.org/1999/xlink',_0x1a4e('0x5174'),_0x1a4e('0x517d')===_0x205561[_0x1a4e('0x5153')]?_0x205561['toDataURL']():_0x205561[_0x1a4e('0x41c8')](_0x1a4e('0xe05'))),_0x51ba7c[_0x1a4e('0x12c4')](_0x1938de));},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x517f')]=function(_0x413624,_0x118133){var _0x3a1ad1,_0x3190be=this[_0x1a4e('0x513d')][_0x1a4e('0x5142')]('http://www.w3.org/2000/svg',_0x1a4e('0x2975')),_0x89c104=_0x434941(this[_0x1a4e('0x5149')]);return _0x3190be[_0x1a4e('0x3935')]('id',_0x89c104),_0x3190be[_0x1a4e('0x3935')]('width',_0x413624[_0x1a4e('0x3936')]),_0x3190be['setAttribute'](_0x1a4e('0x152'),_0x413624['height']),_0x1a4e('0x517d')===_0x413624[_0x1a4e('0x5153')]||_0x1a4e('0x517e')===_0x413624[_0x1a4e('0x5153')]?((_0x3a1ad1=this[_0x1a4e('0x513d')][_0x1a4e('0x5142')]('http://www.w3.org/2000/svg',_0x1a4e('0x3cb4')))['setAttribute'](_0x1a4e('0x3936'),_0x413624[_0x1a4e('0x3936')]),_0x3a1ad1[_0x1a4e('0x3935')](_0x1a4e('0x152'),_0x413624[_0x1a4e('0x152')]),_0x3a1ad1['setAttributeNS'](_0x1a4e('0x5148'),_0x1a4e('0x5174'),'CANVAS'===_0x413624[_0x1a4e('0x5153')]?_0x413624[_0x1a4e('0x3939')]():_0x413624[_0x1a4e('0x41c8')](_0x1a4e('0xe05'))),_0x3190be[_0x1a4e('0x12c4')](_0x3a1ad1),this[_0x1a4e('0x514a')][_0x1a4e('0x12c4')](_0x3190be)):_0x413624 instanceof _0x5edbfe&&(_0x3190be[_0x1a4e('0x12c4')](_0x413624[_0x1a4e('0x5135')][_0x1a4e('0x4d0f')][0x1]),this[_0x1a4e('0x514a')]['appendChild'](_0x3190be)),new _0x5eaa04(_0x3190be,this);},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x3df2')]=function(_0x413624){_0x413624&&_0x413624[_0x1a4e('0x1e')]>0x0?this[_0x1a4e('0x5180')]=_0x413624['join'](','):this[_0x1a4e('0x5180')]=null;},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x5181')]=function(){},_0x5edbfe[_0x1a4e('0xa')]['createImageData']=function(){},_0x5edbfe[_0x1a4e('0xa')]['getImageData']=function(){},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x3938')]=function(){},_0x5edbfe[_0x1a4e('0xa')][_0x1a4e('0x4823')]=function(){},_0x5edbfe[_0x1a4e('0xa')]['setTransform']=function(){},_0x1a4e('0x85')===_0x118133(_0x413624)&&_0x1a4e('0x85')===_0x118133(_0x413624[_0x1a4e('0x0')])&&(_0x413624[_0x1a4e('0x0')]=_0x5edbfe);}();}[_0x1a4e('0x1')](this,_0x3a1ad1(_0x1a4e('0xa20'))(_0x413624)));},'./src/Utils/Check.ts':function(_0x54f9ff,_0x5370fd,_0x4f73ed){'use strict';_0x4f73ed['r'](_0x5370fd),_0x4f73ed['d'](_0x5370fd,_0x1a4e('0x2bc9'),function(){return _0x1712dc;});var _0x1712dc=function(){function _0x54f9ff(){}return _0x54f9ff[_0x1a4e('0xb18')]=function(_0x54f9ff){return _0x1a4e('0x34b')==typeof _0x54f9ff;},_0x54f9ff[_0x1a4e('0x5182')]=function(_0x54f9ff){return _0x1a4e('0xf78')===toString[_0x1a4e('0x1')](_0x54f9ff);},_0x54f9ff['isString']=function(_0x54f9ff){return _0x1a4e('0x9')==typeof _0x54f9ff&&_0x54f9ff[_0x1a4e('0x10')]===String;},_0x54f9ff[_0x1a4e('0x84c')]=function(_0x54f9ff){return _0x1a4e('0x3d')==typeof _0x54f9ff&&_0x54f9ff['constructor']===Number;},_0x54f9ff[_0x1a4e('0x15')]=function(_0x54f9ff){return _0x54f9ff instanceof Array;},_0x54f9ff[_0x1a4e('0x5183')]=function(_0x54f9ff){return new RegExp(_0x1a4e('0x5184'))['test'](_0x54f9ff);},_0x54f9ff;}();},'./src/Utils/ColorTable.ts':function(_0x22d471,_0x15ac7b,_0x46d7ac){'use strict';_0x46d7ac['r'](_0x15ac7b),_0x46d7ac['d'](_0x15ac7b,_0x1a4e('0x4d38'),function(){return _0x42e1ab;});var _0x42e1ab=function(){function _0x22d471(){}return _0x22d471['colorRgb']=function(_0x22d471){if((_0x22d471=_0x22d471[_0x1a4e('0x2b2')]())&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/[_0x1a4e('0x8d0')](_0x22d471)){if(0x4===_0x22d471[_0x1a4e('0x1e')]){for(var _0x15ac7b='#',_0x46d7ac=0x1;_0x46d7ac<0x4;_0x46d7ac+=0x1)_0x15ac7b+=_0x22d471[_0x1a4e('0x78')](_0x46d7ac,_0x46d7ac+0x1)[_0x1a4e('0x9a')](_0x22d471[_0x1a4e('0x78')](_0x46d7ac,_0x46d7ac+0x1));_0x22d471=_0x15ac7b;}var _0x42e1ab=[];for(_0x46d7ac=0x1;_0x46d7ac<0x7;_0x46d7ac+=0x2)_0x42e1ab[_0x1a4e('0x46')](parseInt('0x'+_0x22d471['slice'](_0x46d7ac,_0x46d7ac+0x2)));return _0x42e1ab;}return _0x22d471;},_0x22d471['colorHex']=function(_0x22d471){var _0x15ac7b=_0x22d471;if(/^(rgb|RGB)/[_0x1a4e('0x8d0')](_0x15ac7b)){for(var _0x46d7ac=_0x15ac7b[_0x1a4e('0x115')](/(?:(|)|rgb|RGB)*/g,'')[_0x1a4e('0x2be')](','),_0x42e1ab='#',_0x46e3f6=0x0;_0x46e3f6<_0x46d7ac[_0x1a4e('0x1e')];_0x46e3f6++){var _0x4d6e1b=Number(_0x46d7ac[_0x46e3f6])[_0x1a4e('0x95')](0x10);'0'===(_0x4d6e1b=Number(_0x4d6e1b)<0xa?'0'+_0x4d6e1b:_0x4d6e1b)&&(_0x4d6e1b+=_0x4d6e1b),_0x42e1ab+=_0x4d6e1b;}return 0x7!==_0x42e1ab['length']&&(_0x42e1ab=_0x15ac7b),_0x42e1ab;}if(!/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/[_0x1a4e('0x8d0')](_0x15ac7b))return _0x15ac7b;var _0x42e88b=_0x15ac7b['replace'](/#/,'')['split']('');if(0x6===_0x42e88b[_0x1a4e('0x1e')])return _0x15ac7b;if(0x3===_0x42e88b['length']){var _0xcb53f7='#';for(_0x46e3f6=0x0;_0x46e3f6<_0x42e88b[_0x1a4e('0x1e')];_0x46e3f6+=0x1)_0xcb53f7+=_0x42e88b[_0x46e3f6]+_0x42e88b[_0x46e3f6];return _0xcb53f7;}},_0x22d471[_0x1a4e('0x442d')]=function(_0x22d471,_0x15ac7b,_0x46d7ac){for(var _0x42e1ab=this['colorRgb'](_0x22d471),_0x56c6e3=_0x42e1ab[0x0],_0x54e6d7=_0x42e1ab[0x1],_0x177996=_0x42e1ab[0x2],_0x45c0ac=this[_0x1a4e('0x5185')](_0x15ac7b),_0x4affc9=(_0x45c0ac[0x0]-_0x56c6e3)/_0x46d7ac,_0x1964b1=(_0x45c0ac[0x1]-_0x54e6d7)/_0x46d7ac,_0x107de7=(_0x45c0ac[0x2]-_0x177996)/_0x46d7ac,_0x52c098=[],_0x1833e8=0x0;_0x1833e8<_0x46d7ac;_0x1833e8++){var _0x8eb2a0=this[_0x1a4e('0x5186')]('rgb('+parseInt(_0x4affc9*_0x1833e8+_0x56c6e3)+','+parseInt(_0x1964b1*_0x1833e8+_0x54e6d7)+','+parseInt(_0x107de7*_0x1833e8+_0x177996)+')');_0x52c098[_0x1a4e('0x46')](_0x8eb2a0);}return _0x52c098;},_0x22d471['colorRGBtoHex']=function(_0x22d471){var _0x15ac7b=_0x22d471[_0x1a4e('0x2be')](',');return'#'+((0x1<<0x18)+(parseInt(_0x15ac7b[0x0]['split']('(')[0x1])<<0x10)+(parseInt(_0x15ac7b[0x1])<<0x8)+parseInt(_0x15ac7b[0x2]['split'](')')[0x0]))[_0x1a4e('0x95')](0x10)[_0x1a4e('0x78')](0x1);},_0x22d471;}();},'./src/Utils/CompoundImage.ts':function(_0x2326ec,_0x243699,_0x4f9183){'use strict';_0x4f9183['r'](_0x243699),_0x4f9183['d'](_0x243699,_0x1a4e('0x4002'),function(){return _0x91f862;}),_0x4f9183['d'](_0x243699,_0x1a4e('0x4003'),function(){return _0x558d3d;});var _0x546673=_0x4f9183(_0x1a4e('0x38d0')),_0x14f55f=_0x4f9183(_0x1a4e('0x3f41')),_0x9579f9=_0x4f9183(_0x1a4e('0x3f1e')),_0x3be3ff=_0x4f9183(_0x1a4e('0x3e0b')),_0x40546d=_0x4f9183(_0x1a4e('0x5187')),_0x91f862=function(){function _0x2326ec(){}return _0x2326ec[_0x1a4e('0x5188')]=function(_0x243699){var _0x4f9183=this;if(!_0x2326ec[_0x1a4e('0x5189')])return _0x2326ec[_0x1a4e('0x38d5')]=_0x243699['viewer'],_0x243699[_0x1a4e('0x2dd0')]&&(_0x2326ec[_0x1a4e('0x4ac')]=_0x243699['level']),_0x243699[_0x1a4e('0x518a')]&&(_0x2326ec[_0x1a4e('0x518b')]=_0x243699[_0x1a4e('0x518a')]),_0x243699[_0x1a4e('0x183')]&&(_0x2326ec[_0x1a4e('0x518c')]=_0x243699[_0x1a4e('0x183')]),new Promise(function(_0x546673,_0x14f55f){_0x4f9183['resolve']=_0x546673,_0x4f9183[_0x1a4e('0x1077')]=_0x14f55f,_0x2326ec[_0x1a4e('0x518d')]=new _0x58f8e4(),_0x2326ec['hdvImgData']['dpi']=_0x2326ec['_dpi'],_0x2326ec[_0x1a4e('0xc9')](_0x243699[_0x1a4e('0x3b7d')][0x0],_0x243699[_0x1a4e('0x3b7d')][0x1],_0x243699[_0x1a4e('0x518e')][0x0],_0x243699[_0x1a4e('0x518e')][0x1]),_0x2326ec[_0x1a4e('0x518f')](_0x2326ec[_0x1a4e('0x518c')]);});alert(_0x1a4e('0x5190'));},_0x2326ec[_0x1a4e('0xc9')]=function(_0x243699,_0x4f9183,_0x91f862,_0x58f8e4){if(_0x2326ec[_0x1a4e('0x5189')])alert(_0x1a4e('0x5191'));else{_0x2326ec[_0x1a4e('0x518d')][_0x1a4e('0x5192')]=[_0x546673[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x243699,_0x4f9183,_0x2326ec['viewer']),_0x546673[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x91f862,_0x58f8e4,_0x2326ec[_0x1a4e('0x38d5')])];var _0x558d3d=_0x2326ec['viewer'][_0x1a4e('0x3934')][_0x1a4e('0x3936')],_0x12e2e3=_0x2326ec['viewer'][_0x1a4e('0x3934')]['height'],_0xb1fd0=Number((_0x558d3d/_0x12e2e3)[_0x1a4e('0x1e5')](0x2)),_0x2f6371=_0x91f862-_0x243699,_0x53a29a=_0x58f8e4-_0x4f9183,_0x3ca2dc=parseInt(String(Number((_0x2f6371/_0x28259a())[_0x1a4e('0x1e5')](0x2))*_0x2326ec[_0x1a4e('0x518b')])),_0x2f59c5=parseInt(String(Number((_0x53a29a/_0x28259a())[_0x1a4e('0x1e5')](0x2))*_0x2326ec['_dpi'])),_0xee3ae5=Math['pow'](0x2,_0x2326ec[_0x1a4e('0x4ac')]),_0x5584f5=_0xee3ae5;if(_0x53a29a<_0x2f6371){var _0x3dfedb=Number((_0x2f6371/_0xb1fd0)['toFixed'](0x2));if((_0x58f8e4=_0x4f9183+_0x3dfedb)-_0x4f9183<_0x53a29a)for(var _0x34b397=Math[_0x1a4e('0xb4')]((_0x58f8e4-_0x4f9183)/_0x5584f5);_0x58f8e4-_0x4f9183<=_0x53a29a;)_0x58f8e4+=_0x34b397,_0x5584f5++;}else{var _0x63cf2=Number((_0x53a29a*_0xb1fd0)[_0x1a4e('0x1e5')](0x2));_0x91f862=_0x243699+_0x63cf2;}for(var _0x94e567=[],_0x18f47c=[],_0x329082=0x0;_0x329082<_0x5584f5;_0x329082++)for(var _0x2d9e1c=0x0;_0x2d9e1c<_0xee3ae5;_0x2d9e1c++)_0x94e567['push']({'screenStart':{'screenX':_0x243699+_0x2d9e1c*((_0x91f862-_0x243699)/_0xee3ae5),'screenY':_0x4f9183+_0x329082*((_0x58f8e4-_0x4f9183)/_0x5584f5)},'screenEnd':{'screenX':_0x243699+(_0x2d9e1c+0x1)*((_0x91f862-_0x243699)/_0xee3ae5),'screenY':_0x4f9183+(_0x329082+0x1)*((_0x58f8e4-_0x4f9183)/_0x5584f5)}});for(_0x329082=0x0;_0x329082<_0x5584f5;_0x329082++)for(_0x2d9e1c=0x0;_0x2d9e1c<_0xee3ae5;_0x2d9e1c++){var _0x53e820=_0x329082*_0xee3ae5+_0x2d9e1c,_0xc01aeb=_0x546673[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x94e567[_0x53e820][_0x1a4e('0x5193')][_0x1a4e('0x5194')],_0x94e567[_0x53e820]['screenStart'][_0x1a4e('0x5195')],_0x2326ec['viewer']),_0x4bd8a5=_0x546673[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x94e567[_0x53e820][_0x1a4e('0x5196')]['screenX'],_0x94e567[_0x53e820][_0x1a4e('0x5196')][_0x1a4e('0x5195')],_0x2326ec[_0x1a4e('0x38d5')]);if(!_0xc01aeb||!_0x4bd8a5)return alert(_0x1a4e('0x5197')),void _0x2326ec[_0x1a4e('0x127b')]();_0x18f47c[_0x1a4e('0x46')]({'startPoint':{'lon':_0xc01aeb[_0x1a4e('0x1a1')],'lat':_0xc01aeb['lat']},'endPoint':{'lon':_0x4bd8a5[_0x1a4e('0x1a1')],'lat':_0x4bd8a5[_0x1a4e('0x1a2')]}});}var _0x163335=_0x546673[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x243699,_0x4f9183,_0x2326ec[_0x1a4e('0x38d5')])[_0x1a4e('0x1a1')],_0x5f3802=_0x546673[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x243699,_0x58f8e4,_0x2326ec[_0x1a4e('0x38d5')])[_0x1a4e('0x1a2')],_0x35b059=_0x546673[_0x1a4e('0x38da')][_0x1a4e('0x3982')](_0x91f862,_0x58f8e4,_0x2326ec['viewer'])[_0x1a4e('0x1a1')],_0x305414=_0x546673[_0x1a4e('0x38da')]['fromScreen'](_0x91f862,_0x4f9183,_0x2326ec[_0x1a4e('0x38d5')])[_0x1a4e('0x1a2')];_0x2326ec[_0x1a4e('0x5198')]=[_0x163335,_0x5f3802,_0x35b059,_0x305414],_0x2326ec['hdvImgData']['rectangle']=[_0x163335,_0x5f3802,_0x35b059,_0x305414];var _0x97f0d2=new Set();_0x2326ec['viewer'][_0x1a4e('0x3973')][_0x1a4e('0x4d4')]()[_0x1a4e('0x3ad1')][_0x1a4e('0x3b')](function(_0x2326ec){_0x2326ec instanceof _0x9579f9[_0x1a4e('0x3f21')]?_0x2326ec['children']['forEach'](function(_0x2326ec){_0x2326ec instanceof _0x3be3ff['GraphicItem']&&_0x97f0d2[_0x1a4e('0x177')](_0x2326ec);}):_0x2326ec instanceof _0x3be3ff[_0x1a4e('0x3ae2')]&&_0x97f0d2[_0x1a4e('0x177')](_0x2326ec);}),_0x97f0d2=Array[_0x1a4e('0x1b5')](_0x97f0d2),console[_0x1a4e('0x58')]('框选',_0x97f0d2),_0x2326ec['_originItem']=[],_0x97f0d2[_0x1a4e('0x3b')](function(_0x243699){switch(_0x243699[_0x1a4e('0x3cc')]()){case _0x1a4e('0x3984'):_0x2326ec[_0x1a4e('0x5199')][_0x1a4e('0x46')]({'item':_0x243699,'value':_0x243699[_0x1a4e('0x3efe')]}),_0x243699[_0x1a4e('0x3efe')]*=Math[_0x1a4e('0x8e')](0x2,_0x2326ec[_0x1a4e('0x4ac')]);break;case _0x1a4e('0x3e2a'):case'LabelGraphic':case _0x1a4e('0x3e31'):case'FlagGraphic':_0x2326ec[_0x1a4e('0x5199')]['push']({'item':_0x243699,'value':_0x243699[_0x1a4e('0x143')]}),_0x243699[_0x1a4e('0x143')]*=Math[_0x1a4e('0x8e')](0x2,_0x2326ec[_0x1a4e('0x4ac')]);break;case _0x1a4e('0x3e2e'):case _0x1a4e('0x3e47'):case _0x1a4e('0x3e46'):_0x2326ec[_0x1a4e('0x5199')]['push']({'item':_0x243699,'value':_0x243699[_0x1a4e('0x143')]}),_0x243699[_0x1a4e('0x143')]+=0.5*Math['pow'](0x2,_0x2326ec[_0x1a4e('0x4ac')]);break;case _0x1a4e('0x3e8f'):case _0x1a4e('0x39e4'):_0x2326ec[_0x1a4e('0x5199')][_0x1a4e('0x46')]({'item':_0x243699,'value':_0x243699['width']}),_0x243699['width']?_0x243699['width']*=Math[_0x1a4e('0x8e')](0x2,_0x2326ec['_level']):_0x243699[_0x1a4e('0x3936')]=0x4;break;case _0x1a4e('0x3e34'):_0x2326ec[_0x1a4e('0x5199')]['push']({'item':_0x243699,'value':_0x243699[_0x1a4e('0x40d4')]}),_0x243699['rasterWidth']?_0x243699[_0x1a4e('0x40d4')]*=Math[_0x1a4e('0x8e')](0x2,_0x2326ec[_0x1a4e('0x4ac')]):_0x243699['rasterWidth']=0x4;break;case _0x1a4e('0x3e29'):_0x2326ec[_0x1a4e('0x5199')][_0x1a4e('0x46')]({'item':_0x243699,'value':_0x243699[_0x1a4e('0x220')]}),'BILLBOARD'==_0x243699[_0x1a4e('0x41e1')]&&(_0x243699[_0x1a4e('0x220')]*=Math[_0x1a4e('0x8e')](0x2,_0x2326ec[_0x1a4e('0x4ac')]));}});var _0x45c054=[],_0x574187=0x0,_0x1e8b53=_0x1a4e('0x519a'),_0x25812b=document[_0x1a4e('0x511d')](_0x1e8b53);_0x25812b&&_0x25812b[_0x1a4e('0x82')](),document['body']['insertAdjacentHTML']('beforeend',_0x1a4e('0x1353')+_0x1e8b53+_0x1a4e('0x519b')),document['getElementById'](_0x1e8b53)[_0x1a4e('0x4692')]=String(_0xee3ae5*_0x5584f5),_0x2326ec['_isDoingCaptcher']=!0x0,_0x2326ec['_doCaptcher']=function(){if(_0x2326ec[_0x1a4e('0x5189')])if(_0x574187<_0xee3ae5*_0x5584f5){_0x574187>0x0&&(document[_0x1a4e('0x511d')](_0x1e8b53)[_0x1a4e('0x4692')]=String(_0xee3ae5*_0x5584f5-_0x574187),_0x45c054['push'](_0x14f55f['Canvas2Image'][_0x1a4e('0x5125')](_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x3934')],_0x2326ec[_0x1a4e('0x38d5')]['canvas'][_0x1a4e('0x3936')],_0x2326ec['viewer']['canvas'][_0x1a4e('0x152')])));var _0x546673=_0x18f47c[_0x574187++];_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x41b1')][_0x1a4e('0x519c')](_0x546673[_0x1a4e('0x3b7d')][_0x1a4e('0x1a1')],_0x546673['endPoint'][_0x1a4e('0x1a1')],_0x546673[_0x1a4e('0x3b7d')][_0x1a4e('0x1a2')],_0x546673[_0x1a4e('0x518e')][_0x1a4e('0x1a2')],0x0);}else{_0x45c054[_0x1a4e('0x46')](_0x14f55f[_0x1a4e('0x3fb4')][_0x1a4e('0x5125')](_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x3934')],_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x3934')][_0x1a4e('0x3936')],_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x3934')][_0x1a4e('0x152')])),_0x574187=0x0;var _0x9579f9=_0x1a4e('0x519d'),_0x3be3ff=document['getElementById'](_0x9579f9);_0x3be3ff&&_0x3be3ff[_0x1a4e('0x82')](),document['body'][_0x1a4e('0x519e')]('beforeend',_0x1a4e('0x1353')+_0x9579f9+_0x1a4e('0x519f')),_0x2326ec[_0x1a4e('0x51a0')]({'src':_0x45c054,'width':_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x3934')][_0x1a4e('0x3936')]*_0xee3ae5,'height':_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x3934')]['height']*_0x5584f5,'picWidth':_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x3934')][_0x1a4e('0x3936')],'picHeight':_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x3934')][_0x1a4e('0x152')]},function(_0x546673){var _0x14f55f=parseInt(String(_0x2326ec[_0x1a4e('0x38d5')]['canvas'][_0x1a4e('0x3936')]*_0xee3ae5*(_0x2f6371/(_0x91f862-_0x243699)))),_0x558d3d=parseInt(String(_0x2326ec[_0x1a4e('0x38d5')][_0x1a4e('0x3934')][_0x1a4e('0x152')]*_0x5584f5*(_0x53a29a/(_0x58f8e4-_0x4f9183)))),_0x12e2e3=document['createElement'](_0x1a4e('0x3934'));_0x12e2e3[_0x1a4e('0x3936')]=_0x14f55f,_0x12e2e3['height']=_0x558d3d,_0x12e2e3['getContext']('2d')['drawImage'](_0x546673,0x0,0x0,_0x14f55f,_0x558d3d),_0x2326ec[_0x1a4e('0x51a1')]=_0x12e2e3['toDataURL'](_0x1a4e('0x51a2'));var _0xb1fd0={};_0xb1fd0[_0x40546d[_0x1a4e('0x125f')][_0x1a4e('0x51a3')]]=_0x1a4e('0x51a4')+_0x2326ec[_0x1a4e('0x5198')][0x0]+'&'+_0x2326ec[_0x1a4e('0x5198')][0x1]+'&'+_0x2326ec[_0x1a4e('0x5198')][0x2]+'&'+_0x2326ec[_0x1a4e('0x5198')][0x3]+']';var _0x3dfedb={'GPS':_0xb1fd0},_0x34b397=_0x40546d[_0x1a4e('0x26d')](_0x3dfedb);_0x2326ec['_originSrc']=_0x40546d['insert'](_0x34b397,_0x2326ec[_0x1a4e('0x51a1')]);var _0x63cf2=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x63cf2[_0x1a4e('0x3936')]=_0x3ca2dc,_0x63cf2[_0x1a4e('0x152')]=_0x2f59c5,_0x63cf2[_0x1a4e('0x51c')]('2d')[_0x1a4e('0x47c6')](_0x546673,0x0,0x0,_0x14f55f,_0x558d3d,0x0,0x0,_0x3ca2dc,_0x2f59c5),_0x546673[_0x1a4e('0x82')](),(_0x3be3ff=document[_0x1a4e('0x511d')](_0x9579f9))&&_0x3be3ff[_0x1a4e('0x82')](),(_0x25812b=document[_0x1a4e('0x511d')](_0x1e8b53))&&_0x25812b[_0x1a4e('0x82')](),_0x2326ec['_resSrc']=_0x63cf2[_0x1a4e('0x3939')](_0x1a4e('0x51a2')),_0x2326ec[_0x1a4e('0x51a5')]=_0x40546d[_0x1a4e('0x7c')](_0x34b397,_0x2326ec[_0x1a4e('0x51a5')]),_0x2326ec[_0x1a4e('0x51a6')](),_0x2326ec[_0x1a4e('0x5189')]=!0x1,_0x2326ec[_0x1a4e('0x518d')]['width']=_0x3ca2dc,_0x2326ec['hdvImgData'][_0x1a4e('0x152')]=_0x2f59c5,_0x2326ec['hdvImgData'][_0x1a4e('0x51a7')]=_0x2326ec[_0x1a4e('0x51a1')],_0x2326ec[_0x1a4e('0x518d')][_0x1a4e('0x3cb4')]=_0x2326ec[_0x1a4e('0x51a5')],_0x2326ec[_0x1a4e('0xe20')](_0x2326ec[_0x1a4e('0x518d')]);});}else alert(_0x1a4e('0x51a8'));};}function _0x28259a(){var _0x2326ec=[],_0x243699=document[_0x1a4e('0xe3d')]('DIV');return _0x243699[_0x1a4e('0x375c')][_0x1a4e('0x1322')]=_0x1a4e('0x51a9'),document[_0x1a4e('0x8f2')]['appendChild'](_0x243699),_0x2326ec[0x0]=parseInt(String(_0x243699[_0x1a4e('0x39c9')])),_0x2326ec[0x1]=parseInt(String(_0x243699[_0x1a4e('0x4359')])),_0x243699[_0x1a4e('0x4372')][_0x1a4e('0x12c5')](_0x243699),_0x2326ec[0x0];}},_0x2326ec[_0x1a4e('0x51a0')]=function(_0x2326ec,_0x243699){var _0x4f9183=_0x2326ec[_0x1a4e('0xe05')],_0x546673=_0x2326ec[_0x1a4e('0x3936')],_0x14f55f=_0x2326ec[_0x1a4e('0x152')],_0x9579f9=_0x2326ec[_0x1a4e('0x51aa')],_0x3be3ff='',_0x40546d='geovis-picture-fuse';_0x4f9183[_0x1a4e('0x3b')](function(_0x2326ec){_0x3be3ff+='';_0x91f862[_0x1a4e('0x519e')]('beforeend',_0x558d3d);for(var _0x402eca=_0x91f862[_0x1a4e('0x39d7')](_0x1a4e('0x51b7'))[_0x1a4e('0x51c')]('2d'),_0x4fe089=0x0,_0x2a1b10=0x0,_0x211ce7=_0x91f862['querySelectorAll'](_0x1a4e('0x51b8')),_0x3a3773=0x0;_0x3a3773_0x500a6d[_0x1a4e('0x4067')][_0x1a4e('0xe9')]()?_0x500a6d['currentTime']=_0x500a6d[_0x1a4e('0x4067')]:_0x500a6d['currentTime']=_0x2e2680,_0x500a6d[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')][_0x1a4e('0x3553')]=_0x500a6d[_0x1a4e('0x51bf')][_0x1a4e('0x1460')](Cesium['JulianDate'][_0x1a4e('0x40ea')](_0x500a6d['currentTime']));break;case'S'[_0x1a4e('0x913')](0x0):var _0x31a917=new Date(_0x500a6d['currentTime'][_0x1a4e('0xe9')]()-0x3e8);_0x31a917['getTime']()<=_0x500a6d[_0x1a4e('0x4058')][_0x1a4e('0xe9')]()?_0x500a6d[_0x1a4e('0x40f7')]=_0x500a6d[_0x1a4e('0x4058')]:_0x500a6d[_0x1a4e('0x40f7')]=_0x31a917,_0x500a6d[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x3a06')][_0x1a4e('0x3553')]=_0x500a6d[_0x1a4e('0x51bf')][_0x1a4e('0x1460')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](_0x500a6d[_0x1a4e('0x40f7')]));}},this[_0x1a4e('0x937')]=function(){var _0x3a2375=_0x500a6d['viewer'][_0x1a4e('0x3a06')];if(_0x500a6d[_0x1a4e('0x51bc')]){var _0x2e2680=_0x500a6d['viewer'][_0x1a4e('0x3934')]['clientWidth'],_0x31a917=_0x500a6d[_0x1a4e('0x38d5')][_0x1a4e('0x3934')][_0x1a4e('0x3a63')],_0x23aad0=(_0x500a6d[_0x1a4e('0x51c0')]['x']-_0x500a6d[_0x1a4e('0x51c1')]['x'])/_0x2e2680,_0x556955=-(_0x500a6d['mousePosition']['y']-_0x500a6d[_0x1a4e('0x51c1')]['y'])/_0x31a917;_0x3a2375[_0x1a4e('0x3a9f')]({'orientation':{'heading':_0x3a2375[_0x1a4e('0x3a68')]+0.08*_0x23aad0,'pitch':_0x3a2375[_0x1a4e('0x3a69')]+0.08*_0x556955,'roll':0x0}});}var _0x507117=_0x500a6d['samplePtProperty'][_0x1a4e('0x1460')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](_0x500a6d[_0x1a4e('0x40f7')]));_0x500a6d['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')][_0x1a4e('0x3553')]=_0x507117;},this[_0x1a4e('0x38d5')]=_0x3a2375,this[_0x1a4e('0x39f6')]=_0x2e2680,this['duration']=_0x31a917,this['init']();}return _0x3a2375[_0x1a4e('0xa')]['init']=function(){this[_0x1a4e('0x3a8a')]=new Cesium[(_0x1a4e('0x39cd'))](this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x3934')]);var _0x3a2375=0x3c*this[_0x1a4e('0x17e')]*0x3e8,_0x2e2680=0x0;this[_0x1a4e('0x51bf')]=new Cesium[(_0x1a4e('0x40bc'))]();var _0x31a917=this[_0x1a4e('0x39f6')][_0x1a4e('0x1e')],_0x500a6d=[];_0x500a6d[_0x1a4e('0x46')](0x0);for(var _0x276777=0x1;_0x276777<_0x31a917;_0x276777++){var _0x363141=Cesium[_0x1a4e('0x393e')]['distance'](this[_0x1a4e('0x39f6')][_0x276777-0x1],this[_0x1a4e('0x39f6')][_0x276777]);_0x500a6d[_0x1a4e('0x46')](_0x363141),_0x2e2680+=_0x363141;}this['startTime']=this[_0x1a4e('0x40f7')]=new Date(),this[_0x1a4e('0x4067')]=new Date(this[_0x1a4e('0x4058')][_0x1a4e('0xe9')]()+_0x3a2375);for(var _0x3931b3=0x0,_0x1d81c4=0x0;_0x1d81c4<_0x31a917;_0x1d81c4++){_0x3931b3+=_0x500a6d[_0x1d81c4];var _0x6b065f=new Date(this[_0x1a4e('0x4058')][_0x1a4e('0xe9')]()+_0x3a2375*_0x3931b3/_0x2e2680);this['samplePtProperty'][_0x1a4e('0x4b6f')](Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](_0x6b065f),this['pathArr'][_0x1d81c4]);}this[_0x1a4e('0x51bf')]['setInterpolationOptions']({'interpolationDegree':0x1,'interpolationAlgorithm':Cesium[_0x1a4e('0x4b71')]}),this[_0x1a4e('0x50f2')](),this[_0x1a4e('0x51c2')](),this[_0x1a4e('0x38d5')]['clock'][_0x1a4e('0x3b3f')]['addEventListener'](this['update']);},_0x3a2375[_0x1a4e('0xa')][_0x1a4e('0x50f2')]=function(){var _0x3a2375=this[_0x1a4e('0x39f6')][0x0],_0x2e2680=new Date(this[_0x1a4e('0x4058')][_0x1a4e('0xe9')]()+0x3e8),_0x31a917=this[_0x1a4e('0x51bf')]['getValue'](Cesium['JulianDate'][_0x1a4e('0x40ea')](_0x2e2680)),_0x500a6d=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x31a917,_0x3a2375,new Cesium[(_0x1a4e('0x393e'))]()),_0x742102=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x500a6d,new Cesium[(_0x1a4e('0x393e'))]()),_0x3587e9=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x3a2375,new Cesium[(_0x1a4e('0x393e'))]()),_0x29e52c=Cesium['Cartesian3'][_0x1a4e('0x3a26')](_0x742102,_0x3587e9,new Cesium[(_0x1a4e('0x393e'))]());_0x3587e9=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a26')](_0x29e52c,_0x742102,new Cesium[(_0x1a4e('0x393e'))]()),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['camera'][_0x1a4e('0x3553')]=_0x3a2375,this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')]['direction']=_0x742102,this['viewer'][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')]['right']=_0x29e52c,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')]['up']=_0x3587e9,this['viewer']['scene'][_0x1a4e('0x3a06')][_0x1a4e('0x3a51')][_0x1a4e('0x3aaa')]=0x4e20,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['camera']['frustum'][_0x1a4e('0x3aa2')]=0x1;},_0x3a2375['prototype'][_0x1a4e('0x51c2')]=function(){var _0x3a2375=this,_0x2e2680=this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')];_0x2e2680['screenSpaceCameraController'][_0x1a4e('0x3e65')]=!0x1,_0x2e2680[_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x1,_0x2e2680[_0x1a4e('0x3e64')][_0x1a4e('0x51c3')]=!0x1,_0x2e2680['screenSpaceCameraController'][_0x1a4e('0x51c4')]=!0x1,_0x2e2680['screenSpaceCameraController'][_0x1a4e('0x51c5')]=!0x1,this[_0x1a4e('0x3a8a')]['setInputAction'](function(_0x2e2680){_0x3a2375[_0x1a4e('0x51bc')]=!0x0,_0x3a2375[_0x1a4e('0x51c0')]=_0x3a2375[_0x1a4e('0x51c1')]=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x240')](_0x2e2680[_0x1a4e('0x3553')]);},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39cf')]),this[_0x1a4e('0x3a8a')]['setInputAction'](function(_0x2e2680){if(console[_0x1a4e('0x58')]('s'),_0x3a2375[_0x1a4e('0x51bc')]){_0x3a2375[_0x1a4e('0x51c0')]=_0x2e2680[_0x1a4e('0x34f8')];var _0x31a917=_0x3a2375[_0x1a4e('0x38d5')][_0x1a4e('0x3934')][_0x1a4e('0x3a62')],_0x500a6d=_0x3a2375[_0x1a4e('0x38d5')]['canvas'][_0x1a4e('0x3a63')],_0x8462c2=(_0x3a2375['mousePosition']['x']-_0x3a2375[_0x1a4e('0x51c1')]['x'])/_0x31a917,_0xc7f73d=-(_0x3a2375['mousePosition']['y']-_0x3a2375[_0x1a4e('0x51c1')]['y'])/_0x500a6d;_0x3a2375[_0x1a4e('0x38d5')][_0x1a4e('0x3a06')][_0x1a4e('0x3a9f')]({'orientation':{'heading':_0x3a2375['viewer'][_0x1a4e('0x3a06')]['heading']+0.08*_0x8462c2,'pitch':_0x3a2375[_0x1a4e('0x38d5')][_0x1a4e('0x3a06')]['pitch']+0.08*_0xc7f73d,'roll':0x0}});}},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d1')]),this[_0x1a4e('0x3a8a')]['setInputAction'](function(){_0x3a2375['mouseFlag']=!0x1;},Cesium[_0x1a4e('0x39ce')][_0x1a4e('0x39d3')]),document['addEventListener'](_0x1a4e('0x3838'),this['getFlagForKeyCode'],!0x1),document[_0x1a4e('0xec5')](_0x1a4e('0x383a'),this[_0x1a4e('0x51bd')],!0x1);},_0x3a2375[_0x1a4e('0xa')][_0x1a4e('0xb5')]=function(){this['handler']['destroy'](),document[_0x1a4e('0xec2')]('keydown',this['getFlagForKeyCode']),document[_0x1a4e('0xec2')](_0x1a4e('0x383a'),this[_0x1a4e('0x51bd')]),this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x3a06')][_0x1a4e('0x3a51')][_0x1a4e('0x3aaa')]=0x2540be400,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['camera']['frustum'][_0x1a4e('0x3aa2')]=0x1,this['viewer']['clock'][_0x1a4e('0x3b3f')][_0x1a4e('0xec2')](this['update']),this[_0x1a4e('0x38d5')]['scene'][_0x1a4e('0x3e64')][_0x1a4e('0x3e65')]=!0x0,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')][_0x1a4e('0x3e6f')]=!0x0,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')][_0x1a4e('0x3e64')]['enableZoom']=!0x0,this[_0x1a4e('0x38d5')][_0x1a4e('0x38d6')]['screenSpaceCameraController'][_0x1a4e('0x51c4')]=!0x0,this['viewer']['scene']['screenSpaceCameraController'][_0x1a4e('0x51c5')]=!0x0;},_0x3a2375;}();},'./src/Utils/GeoPoint.ts':function(_0x299804,_0x138940,_0xce75e){'use strict';_0xce75e['r'](_0x138940),_0xce75e['d'](_0x138940,'GeoPoint',function(){return _0xed2f62;}),_0xce75e['d'](_0x138940,_0x1a4e('0x51c6'),function(){return _0x239b8c;}),_0xce75e['d'](_0x138940,_0x1a4e('0x42ee'),function(){return _0x162de2;}),_0xce75e['d'](_0x138940,_0x1a4e('0x4309'),function(){return _0x591c91;});var _0xed2f62=function(){function _0x299804(_0x299804,_0x138940,_0xce75e){void 0x0===_0xce75e&&(_0xce75e=0x0),this[_0x1a4e('0x1a1')]=_0x299804,this[_0x1a4e('0x1a2')]=_0x138940,this[_0x1a4e('0x398c')]=_0xce75e;}return _0x299804['prototype'][_0x1a4e('0x3acb')]=function(){return[this[_0x1a4e('0x1a1')],this[_0x1a4e('0x1a2')],this[_0x1a4e('0x398c')]];},_0x299804[_0x1a4e('0xa')]['add']=function(_0x299804){for(this[_0x1a4e('0x1a1')]=this[_0x1a4e('0x1a1')]+_0x299804['lon'],this[_0x1a4e('0x1a2')]=this[_0x1a4e('0x1a2')]+_0x299804[_0x1a4e('0x1a2')],this[_0x1a4e('0x398c')]=this['alt']+_0x299804[_0x1a4e('0x398c')];this['lon']>0xb4;)this['lon']-=0x168;for(;this[_0x1a4e('0x1a1')]<-0xb4;)this[_0x1a4e('0x1a1')]+=0x168;},_0x299804[_0x1a4e('0xa')]['subtract']=function(_0x299804){for(this[_0x1a4e('0x1a1')]=this[_0x1a4e('0x1a1')]-_0x299804[_0x1a4e('0x1a1')],this[_0x1a4e('0x1a2')]=this[_0x1a4e('0x1a2')]-_0x299804[_0x1a4e('0x1a2')],this[_0x1a4e('0x398c')]=this[_0x1a4e('0x398c')]-_0x299804[_0x1a4e('0x398c')];this[_0x1a4e('0x1a1')]>0xb4;)this[_0x1a4e('0x1a1')]-=0x168;for(;this['lon']<-0xb4;)this['lon']+=0x168;},_0x299804['prototype']['multiply']=function(_0x299804){this['lon']=this[_0x1a4e('0x1a1')]*_0x299804,this['lat']=this[_0x1a4e('0x1a2')]*_0x299804,this[_0x1a4e('0x398c')]=this[_0x1a4e('0x398c')]*_0x299804;},_0x299804[_0x1a4e('0xa')][_0x1a4e('0x330')]=function(){var _0x299804=Math[_0x1a4e('0x91')](this[_0x1a4e('0x1a1')]*this['lon']+this[_0x1a4e('0x1a2')]*this[_0x1a4e('0x1a2')]+this[_0x1a4e('0x398c')]*this['alt']);this[_0x1a4e('0x1a1')]=this['lon']/_0x299804,this[_0x1a4e('0x1a2')]=this[_0x1a4e('0x1a2')]/_0x299804,this[_0x1a4e('0x398c')]=this[_0x1a4e('0x398c')]/_0x299804;},_0x299804[_0x1a4e('0x177')]=function(_0x138940,_0xce75e,_0xed2f62){return void 0x0===_0xed2f62&&(_0xed2f62=_0x299804[_0x1a4e('0x240')](_0x138940)),_0xed2f62[_0x1a4e('0x177')](_0xce75e),_0xed2f62;},_0x299804[_0x1a4e('0x262')]=function(_0x138940,_0xce75e,_0xed2f62){return void 0x0===_0xed2f62&&(_0xed2f62=_0x299804['clone'](_0x138940)),_0xed2f62[_0x1a4e('0x262')](_0xce75e),_0xed2f62;},_0x299804[_0x1a4e('0x260')]=function(_0x138940,_0xce75e,_0xed2f62){return void 0x0===_0xed2f62&&(_0xed2f62=_0x299804[_0x1a4e('0x240')](_0x138940)),_0xed2f62[_0x1a4e('0x260')](_0xce75e),_0xed2f62;},_0x299804[_0x1a4e('0x51c7')]=function(_0x299804,_0x138940){var _0xce75e=3.141592653589793,_0xed2f62=0x2*_0x299804-0x64+0x3*_0x138940+0.2*_0x138940*_0x138940+0.1*_0x299804*_0x138940+0.2*Math[_0x1a4e('0x91')](Math[_0x1a4e('0x65')](_0x299804));return _0xed2f62+=0x2*(0x14*Math[_0x1a4e('0x8f')](0x6*_0x299804*_0xce75e)+0x14*Math[_0x1a4e('0x8f')](0x2*_0x299804*_0xce75e))/0x3,_0xed2f62+=0x2*(0x14*Math[_0x1a4e('0x8f')](_0x138940*_0xce75e)+0x28*Math[_0x1a4e('0x8f')](_0x138940/0x3*_0xce75e))/0x3,_0xed2f62+=0x2*(0xa0*Math[_0x1a4e('0x8f')](_0x138940/0xc*_0xce75e)+0x140*Math[_0x1a4e('0x8f')](_0x138940*_0xce75e/0x1e))/0x3;},_0x299804[_0x1a4e('0x51c8')]=function(_0x299804,_0x138940){var _0xce75e=3.141592653589793,_0xed2f62=0x12c+_0x299804+0x2*_0x138940+0.1*_0x299804*_0x299804+0.1*_0x299804*_0x138940+0.1*Math[_0x1a4e('0x91')](Math[_0x1a4e('0x65')](_0x299804));return _0xed2f62+=0x2*(0x14*Math['sin'](0x6*_0x299804*_0xce75e)+0x14*Math['sin'](0x2*_0x299804*_0xce75e))/0x3,_0xed2f62+=0x2*(0x14*Math[_0x1a4e('0x8f')](_0x299804*_0xce75e)+0x28*Math[_0x1a4e('0x8f')](_0x299804/0x3*_0xce75e))/0x3,_0xed2f62+=0x2*(0x96*Math[_0x1a4e('0x8f')](_0x299804/0xc*_0xce75e)+0x12c*Math['sin'](_0x299804/0x1e*_0xce75e))/0x3;},_0x299804[_0x1a4e('0x3ab9')]=function(_0x138940){var _0xce75e=Cesium['Ellipsoid'][_0x1a4e('0x3b85')]['cartesianToCartographic'](_0x138940),_0xed2f62=Cesium[_0x1a4e('0x1020')]['toDegrees'](_0xce75e[_0x1a4e('0x3a2f')]);return new _0x299804(Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0xce75e['longitude']),_0xed2f62,_0xce75e['height']);},_0x299804[_0x1a4e('0x3949')]=function(_0x299804){var _0x138940=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x38db')](_0x299804[_0x1a4e('0x1a1')],_0x299804['lat'],_0x299804[_0x1a4e('0x398c')]);return Cesium[_0x1a4e('0x3ab8')][_0x1a4e('0x3b85')][_0x1a4e('0x3b86')](_0x138940);},_0x299804['fromMercator']=function(_0x138940,_0xce75e){var _0xed2f62=_0xce75e/20037508.34*0xb4;return new _0x299804(_0x138940/20037508.34*0xb4,_0xed2f62=0xb4/Math['PI']*(0x2*Math[_0x1a4e('0xc2')](Math[_0x1a4e('0xc3')](_0xed2f62*Math['PI']/0xb4))-Math['PI']/0x2));},_0x299804[_0x1a4e('0x51c9')]=function(_0x299804){var _0x138940={'x':0x0,'y':0x0};_0x138940['x']=_0x299804['lon']*Math['PI']/0xb4*0x615299;var _0xce75e=_0x299804[_0x1a4e('0x1a2')]*Math['PI']/0xb4;return _0x138940['y']=3189068.5*Math[_0x1a4e('0x58')]((0x1+Math[_0x1a4e('0x8f')](_0xce75e))/(0x1-Math['sin'](_0xce75e))),_0x138940;},_0x299804[_0x1a4e('0x3982')]=function(_0x138940,_0xce75e,_0xed2f62){_0x138940=_0x591c91(_0x138940,'x'),_0xce75e=_0x591c91(_0xce75e,'y');var _0x239b8c=new Cesium['Cartesian2'](_0x138940,_0xce75e),_0x162de2=_0xed2f62[_0x1a4e('0x38d6')][_0x1a4e('0x51ca')](new Cesium[(_0x1a4e('0x3952'))](_0x138940,_0xce75e));_0x162de2||(_0xed2f62['scene'][_0x1a4e('0x12d9')](),_0x162de2=_0xed2f62['scene']['pickPosition'](new Cesium[(_0x1a4e('0x3952'))](_0x138940,_0xce75e)));try{if(0x2==_0xed2f62[_0x1a4e('0x38d6')][_0x1a4e('0xa69')]){var _0x2147f5=_0xed2f62[_0x1a4e('0x3a06')]['frustum'],_0x2da6b5=Math[_0x1a4e('0x65')](0x2*_0x2147f5['left'])/_0xed2f62['canvas'][_0x1a4e('0x3936')],_0xa497fb=Math[_0x1a4e('0x65')](0x2*_0x2147f5[_0x1a4e('0x5e')])/_0xed2f62[_0x1a4e('0x3934')][_0x1a4e('0x152')],_0x2b07ef=_0x138940-_0xed2f62['canvas'][_0x1a4e('0x3936')]/0x2,_0x14cfe1=_0xce75e-_0xed2f62[_0x1a4e('0x3934')][_0x1a4e('0x152')]/0x2,_0x447e3f=_0xed2f62['camera'][_0x1a4e('0x3553')],_0x41f510=new Cesium['Cartesian3'](_0x447e3f['x'],_0x447e3f['y'],0x0);_0x41f510['x']+=_0x2b07ef*_0x2da6b5,_0x41f510['y']-=_0x14cfe1*_0xa497fb;var _0x1435c4=Cesium['Math'][_0x1a4e('0x560')](_0x41f510['x']*_0xed2f62['camera'][_0x1a4e('0x3cd7')][_0x1a4e('0x51cb')]),_0x19036c=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x41f510['y']*_0xed2f62['camera'][_0x1a4e('0x3cd7')][_0x1a4e('0x51cb')]);if(_0x1435c4>0xb4&&(_0x1435c4=-0x168+_0x1435c4),_0x1435c4<-0xb4&&(_0x1435c4=0xb4-(-0xb4-_0x1435c4)),_0x1435c4>0xb4||_0x1435c4<-0xb4||_0x19036c>89.9||_0x19036c<-89.9)throw new Error();return new _0x299804(_0x1435c4,_0x19036c,0x0);}var _0x584765;return _0x162de2&&_0xed2f62[_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x3961')]?((_0x584765=this['fromCartesian3'](_0x162de2))[_0x1a4e('0x398c')]=Cesium[_0x1a4e('0x39fa')]['fromCartesian'](_0x162de2)['height']<0x0?0.5:Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a0d')](_0x162de2)[_0x1a4e('0x152')],_0x584765):(_0x162de2=_0xed2f62['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x106e')](_0xed2f62[_0x1a4e('0x3a06')]['getPickRay'](_0x239b8c),_0xed2f62['scene']),(_0x584765=this['fromCartesian3'](_0x162de2))[_0x1a4e('0x398c')]=Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a0d')](_0x162de2)[_0x1a4e('0x152')]<0x0?0.5:Cesium[_0x1a4e('0x39fa')]['fromCartesian'](_0x162de2)['height'],_0x584765);}catch(_0xcad5a7){console[_0x1a4e('0x58')]('fromScreen:输入的x,y值未在地球上找到相应经纬度值');}},_0x299804['toScreen']=function(_0x138940,_0xce75e){var _0xed2f62=_0x299804['toCartesian3'](_0x138940);return Cesium['SceneTransforms'][_0x1a4e('0x4826')](_0xce75e['scene'],_0xed2f62);},_0x299804[_0x1a4e('0x51cc')]=function(_0x138940){var _0xce75e=3.141592653589793,_0xed2f62=0x615305,_0x239b8c=0.006693421622965943,_0x162de2=_0x299804['_transformlat'](_0x138940['x']-0x69,_0x138940['y']-0x23),_0x1bf559=_0x299804[_0x1a4e('0x51c8')](_0x138940['x']-0x69,_0x138940['y']-0x23),_0x38e943=_0x138940['y']/0xb4*_0xce75e,_0x55b57e=Math[_0x1a4e('0x8f')](_0x38e943);_0x55b57e=0x1-_0x239b8c*_0x55b57e*_0x55b57e;var _0x3f9976=Math['sqrt'](_0x55b57e);_0x162de2=0xb4*_0x162de2/(_0xed2f62*(0x1-_0x239b8c)/(_0x55b57e*_0x3f9976)*_0xce75e),_0x1bf559=0xb4*_0x1bf559/(_0xed2f62/_0x3f9976*Math[_0x1a4e('0x90')](_0x38e943)*_0xce75e);var _0xf8cd07=_0x138940['y']+_0x162de2,_0x412dad=_0x138940['x']+_0x1bf559;return new _0x299804(0x2*_0x138940['x']-_0x412dad,0x2*_0x138940['y']-_0xf8cd07);},_0x299804[_0x1a4e('0x51cd')]=function(_0x138940){var _0xce75e=3.141592653589793,_0xed2f62=0x615305,_0x239b8c=0.006693421622965943,_0x162de2=_0x299804['_transformlat'](_0x138940[_0x1a4e('0x1a1')]-0x69,_0x138940[_0x1a4e('0x1a2')]-0x23),_0x4233fa=_0x299804['_transformlng'](_0x138940[_0x1a4e('0x1a1')]-0x69,_0x138940[_0x1a4e('0x1a2')]-0x23),_0x520560=_0x138940[_0x1a4e('0x1a2')]/0xb4*_0xce75e,_0x49d66e=Math[_0x1a4e('0x8f')](_0x520560);_0x49d66e=0x1-_0x239b8c*_0x49d66e*_0x49d66e;var _0x278974=Math[_0x1a4e('0x91')](_0x49d66e);_0x162de2=0xb4*_0x162de2/(_0xed2f62*(0x1-_0x239b8c)/(_0x49d66e*_0x278974)*_0xce75e),_0x4233fa=0xb4*_0x4233fa/(_0xed2f62/_0x278974*Math['cos'](_0x520560)*_0xce75e);var _0x3f3b1e=_0x138940['lat']+_0x162de2;return{'x':_0x138940['lon']+_0x4233fa,'y':_0x3f3b1e};},_0x299804[_0x1a4e('0x403c')]=function(_0x299804){var _0x138940=[];return _0x138940[_0x1a4e('0x46')](_0x299804[_0x1a4e('0x1a1')]),_0x138940[_0x1a4e('0x46')](_0x299804[_0x1a4e('0x1a2')]),_0x299804['alt']&&_0x138940['push'](_0x299804[_0x1a4e('0x398c')]),_0x138940;},_0x299804[_0x1a4e('0x3d2f')]=function(_0x138940){var _0xce75e,_0xed2f62=_0x138940[_0x1a4e('0x1e')];if(0x2==_0xed2f62)for(var _0x239b8c=0x0;_0x239b8c<_0xed2f62-0x1;_0x239b8c+=0x2)_0xce75e=new _0x299804(_0x138940[_0x239b8c],_0x138940[_0x239b8c+0x1]);else if(0x3==_0xed2f62)for(_0x239b8c=0x0;_0x239b8c<_0xed2f62-0x2;_0x239b8c+=0x3)_0xce75e=new _0x299804(_0x138940[_0x239b8c],_0x138940[_0x239b8c+0x1],_0x138940[_0x239b8c+0x2]);else console[_0x1a4e('0xe3c')](_0x1a4e('0x51ce'));return _0xce75e;},_0x299804[_0x1a4e('0x3954')]=function(_0x299804){var _0x138940=this;return _0x299804[_0x1a4e('0x21')](function(_0x299804){return _0x138940[_0x1a4e('0x403c')](_0x299804);});},_0x299804[_0x1a4e('0x41ce')]=function(_0x299804){var _0x138940=this;return _0x299804[_0x1a4e('0x21')](function(_0x299804){return _0x138940[_0x1a4e('0x3d2f')](_0x299804);});},_0x299804['isEqual']=function(_0x138940,_0xce75e){return _0x138940===_0xce75e||_0x138940 instanceof _0x299804&&_0xce75e instanceof _0x299804&&(_0x138940[_0x1a4e('0x1a1')]===_0xce75e[_0x1a4e('0x1a1')]&&(_0x138940[_0x1a4e('0x1a2')]===_0xce75e[_0x1a4e('0x1a2')]&&_0x138940[_0x1a4e('0x398c')]===_0xce75e[_0x1a4e('0x398c')]));},_0x299804[_0x1a4e('0x51cf')]=function(_0x138940,_0xce75e){if(_0x138940===_0xce75e)return!0x0;if(!(_0x138940 instanceof Array&&_0xce75e instanceof Array))return!0x1;if(_0x138940[_0x1a4e('0x1e')]!=_0x138940[_0x1a4e('0x1e')])return!0x1;for(var _0xed2f62=0x0;_0xed2f62<_0x138940[_0x1a4e('0x1e')];_0xed2f62++)if(!_0x299804['isEqual'](_0x138940[_0xed2f62],_0xce75e[_0xed2f62]))return!0x1;return!0x0;},_0x299804[_0x1a4e('0x240')]=function(_0x138940,_0xce75e){return _0xce75e?(_0xce75e[_0x1a4e('0x1a1')]=_0x138940[_0x1a4e('0x1a1')],_0xce75e['lat']=_0x138940['lat'],_0xce75e['alt']=_0x138940[_0x1a4e('0x398c')],_0xce75e):new _0x299804(_0x138940[_0x1a4e('0x1a1')],_0x138940[_0x1a4e('0x1a2')],_0x138940[_0x1a4e('0x398c')]);},_0x299804[_0x1a4e('0x51d0')]=function(_0x299804){_0x299804=Math[_0x1a4e('0x65')](_0x299804);var _0x138940=Math['floor'](_0x299804);return[_0x138940,Math[_0x1a4e('0xb4')](0x3c*(_0x299804-_0x138940)),Math['round'](0xe10*(_0x299804-_0x138940)%0x3c)];},_0x299804[_0x1a4e('0x51d1')]=function(_0x299804){var _0x138940=0x0;return _0x138940+=_0x299804[0x0],_0x138940+=_0x299804[0x1]/0x3c,_0x138940+=_0x299804[0x2]/0xe10;},_0x299804['formatDegree']=function(_0x138940){var _0xce75e=new _0x239b8c();_0x138940[_0x1a4e('0x1a1')]<0x0?_0xce75e[_0x1a4e('0x1a1')][_0x1a4e('0x1df')]=_0x1a4e('0x394e'):_0xce75e[_0x1a4e('0x1a1')][_0x1a4e('0x1df')]=_0x1a4e('0x3950');var _0xed2f62=_0x299804[_0x1a4e('0x51d0')](_0x138940[_0x1a4e('0x1a1')]);_0xce75e[_0x1a4e('0x1a1')][_0x1a4e('0x129')]=_0xed2f62[0x0],_0xce75e['lon'][_0x1a4e('0x51d2')]=_0xed2f62[0x1],_0xce75e[_0x1a4e('0x1a1')]['seconds']=_0xed2f62[0x2],_0x138940['lat']<0x0?_0xce75e[_0x1a4e('0x1a2')][_0x1a4e('0x1df')]=_0x1a4e('0x394f'):_0xce75e[_0x1a4e('0x1a2')][_0x1a4e('0x1df')]=_0x1a4e('0x403b');var _0x162de2=_0x299804[_0x1a4e('0x51d0')](_0x138940[_0x1a4e('0x1a2')]);return _0xce75e['lat']['degrees']=_0x162de2[0x0],_0xce75e[_0x1a4e('0x1a2')][_0x1a4e('0x51d2')]=_0x162de2[0x1],_0xce75e[_0x1a4e('0x1a2')][_0x1a4e('0x51d3')]=_0x162de2[0x2],_0xce75e;},_0x299804[_0x1a4e('0x51d4')]=function(_0x138940){var _0xce75e=_0x299804[_0x1a4e('0x51d1')]([_0x138940[_0x1a4e('0x1a1')][_0x1a4e('0x129')],_0x138940['lon'][_0x1a4e('0x51d2')],_0x138940[_0x1a4e('0x1a1')][_0x1a4e('0x51d3')]]);_0x1a4e('0x394e')===_0x138940[_0x1a4e('0x1a1')]['direction']&&(_0xce75e=-_0xce75e);var _0xed2f62=_0x299804[_0x1a4e('0x51d1')]([_0x138940[_0x1a4e('0x1a2')]['degrees'],_0x138940['lat']['minutes'],_0x138940['lat'][_0x1a4e('0x51d3')]]);return'west'===_0x138940[_0x1a4e('0x1a2')][_0x1a4e('0x1df')]&&(_0xed2f62=-_0xed2f62),new _0x299804(_0xce75e,_0xed2f62);},_0x299804;}(),_0x239b8c=function(){},_0x162de2={'x':0x0,'y':0x0};function _0x591c91(_0x299804,_0x138940){if(!_0x162de2[_0x138940])return _0x299804;if('number'==typeof _0x162de2[_0x138940])return _0x162de2[_0x138940]+_0x299804;if(_0x1a4e('0x9')==typeof _0x162de2[_0x138940]){var _0xce75e=/^\d*(\.\d*)?%$/;if(_0xce75e[_0x1a4e('0x8d0')](_0x162de2[_0x138940]))return _0x299804/(parseFloat(_0x162de2[_0x138940])/0x64);if((_0xce75e=/^\d*(\.\d*)?px$/)[_0x1a4e('0x8d0')](_0x162de2[_0x138940]))return parseFloat(_0x162de2[_0x138940]);}return _0x299804;}},'./src/Utils/PBFGeoJSON/PbfToGeoJSON.js':function(_0x419d96,_0x4695d1,_0x24236b){'use strict';var _0x5b0407,_0x322029,_0x3944ae,_0x32e6fa,_0x30d881,_0x31a7af=_0x1a4e('0x68')==typeof Symbol&&_0x1a4e('0xb1b')==typeof Symbol[_0x1a4e('0x335')]?function(_0x419d96){return typeof _0x419d96;}:function(_0x419d96){return _0x419d96&&_0x1a4e('0x68')==typeof Symbol&&_0x419d96[_0x1a4e('0x10')]===Symbol&&_0x419d96!==Symbol['prototype']?_0x1a4e('0xb1b'):typeof _0x419d96;};_0x30d881=function(){return function _0x419d96(_0x4695d1,_0x24236b,_0x5b0407){function _0x322029(_0x30d881,_0x31a7af){if(!_0x24236b[_0x30d881]){if(!_0x4695d1[_0x30d881]){if(!_0x31a7af&&_0x1a4e('0x68')==typeof _0x32e6fa&&_0x32e6fa)return _0x32e6fa(_0x30d881,!0x0);if(_0x3944ae)return _0x3944ae(_0x30d881,!0x0);var _0x5501ee=new Error(_0x1a4e('0x167e')+_0x30d881+'\x27');throw _0x5501ee['code']='MODULE_NOT_FOUND',_0x5501ee;}var _0x40be77=_0x24236b[_0x30d881]={'exports':{}};_0x4695d1[_0x30d881][0x0][_0x1a4e('0x1')](_0x40be77[_0x1a4e('0x0')],function(_0x419d96){return _0x322029(_0x4695d1[_0x30d881][0x1][_0x419d96]||_0x419d96);},_0x40be77,_0x40be77[_0x1a4e('0x0')],_0x419d96,_0x4695d1,_0x24236b,_0x5b0407);}return _0x24236b[_0x30d881]['exports'];}for(var _0x3944ae=_0x1a4e('0x68')==typeof _0x32e6fa&&_0x32e6fa,_0x30d881=0x0;_0x30d881<_0x5b0407[_0x1a4e('0x1e')];_0x30d881++)_0x322029(_0x5b0407[_0x30d881]);return _0x322029;}({1:[function(_0x419d96,_0x4695d1,_0x24236b){function _0x5b0407(_0x419d96,_0x4695d1){this['x']=_0x419d96,this['y']=_0x4695d1;}_0x4695d1[_0x1a4e('0x0')]=_0x5b0407,_0x5b0407[_0x1a4e('0xa')]={'clone':function(){return new _0x5b0407(this['x'],this['y']);},'add':function(_0x419d96){return this[_0x1a4e('0x240')]()[_0x1a4e('0x51d5')](_0x419d96);},'sub':function(_0x419d96){return this['clone']()[_0x1a4e('0x51d6')](_0x419d96);},'multByPoint':function(_0x419d96){return this['clone']()[_0x1a4e('0x51d7')](_0x419d96);},'divByPoint':function(_0x419d96){return this['clone']()[_0x1a4e('0x51d8')](_0x419d96);},'mult':function(_0x419d96){return this[_0x1a4e('0x240')]()['_mult'](_0x419d96);},'div':function(_0x419d96){return this[_0x1a4e('0x240')]()[_0x1a4e('0x51d9')](_0x419d96);},'rotate':function(_0x419d96){return this['clone']()['_rotate'](_0x419d96);},'rotateAround':function(_0x419d96,_0x4695d1){return this[_0x1a4e('0x240')]()['_rotateAround'](_0x419d96,_0x4695d1);},'matMult':function(_0x419d96){return this[_0x1a4e('0x240')]()[_0x1a4e('0x51da')](_0x419d96);},'unit':function(){return this[_0x1a4e('0x240')]()[_0x1a4e('0x51db')]();},'perp':function(){return this['clone']()[_0x1a4e('0x51dc')]();},'round':function(){return this['clone']()['_round']();},'mag':function(){return Math[_0x1a4e('0x91')](this['x']*this['x']+this['y']*this['y']);},'equals':function(_0x419d96){return this['x']===_0x419d96['x']&&this['y']===_0x419d96['y'];},'dist':function(_0x419d96){return Math['sqrt'](this['distSqr'](_0x419d96));},'distSqr':function(_0x419d96){var _0x4695d1=_0x419d96['x']-this['x'],_0x24236b=_0x419d96['y']-this['y'];return _0x4695d1*_0x4695d1+_0x24236b*_0x24236b;},'angle':function(){return Math['atan2'](this['y'],this['x']);},'angleTo':function(_0x419d96){return Math[_0x1a4e('0xa6')](this['y']-_0x419d96['y'],this['x']-_0x419d96['x']);},'angleWith':function(_0x419d96){return this[_0x1a4e('0x51dd')](_0x419d96['x'],_0x419d96['y']);},'angleWithSep':function(_0x419d96,_0x4695d1){return Math[_0x1a4e('0xa6')](this['x']*_0x4695d1-this['y']*_0x419d96,this['x']*_0x419d96+this['y']*_0x4695d1);},'_matMult':function(_0x419d96){var _0x4695d1=_0x419d96[0x0]*this['x']+_0x419d96[0x1]*this['y'],_0x24236b=_0x419d96[0x2]*this['x']+_0x419d96[0x3]*this['y'];return this['x']=_0x4695d1,this['y']=_0x24236b,this;},'_add':function(_0x419d96){return this['x']+=_0x419d96['x'],this['y']+=_0x419d96['y'],this;},'_sub':function(_0x419d96){return this['x']-=_0x419d96['x'],this['y']-=_0x419d96['y'],this;},'_mult':function(_0x419d96){return this['x']*=_0x419d96,this['y']*=_0x419d96,this;},'_div':function(_0x419d96){return this['x']/=_0x419d96,this['y']/=_0x419d96,this;},'_multByPoint':function(_0x419d96){return this['x']*=_0x419d96['x'],this['y']*=_0x419d96['y'],this;},'_divByPoint':function(_0x419d96){return this['x']/=_0x419d96['x'],this['y']/=_0x419d96['y'],this;},'_unit':function(){return this[_0x1a4e('0x51d9')](this[_0x1a4e('0x51de')]()),this;},'_perp':function(){var _0x419d96=this['y'];return this['y']=this['x'],this['x']=-_0x419d96,this;},'_rotate':function(_0x419d96){var _0x4695d1=Math[_0x1a4e('0x90')](_0x419d96),_0x24236b=Math[_0x1a4e('0x8f')](_0x419d96),_0x5b0407=_0x4695d1*this['x']-_0x24236b*this['y'],_0x322029=_0x24236b*this['x']+_0x4695d1*this['y'];return this['x']=_0x5b0407,this['y']=_0x322029,this;},'_rotateAround':function(_0x419d96,_0x4695d1){var _0x24236b=Math['cos'](_0x419d96),_0x5b0407=Math['sin'](_0x419d96),_0x322029=_0x4695d1['x']+_0x24236b*(this['x']-_0x4695d1['x'])-_0x5b0407*(this['y']-_0x4695d1['y']),_0x3944ae=_0x4695d1['y']+_0x5b0407*(this['x']-_0x4695d1['x'])+_0x24236b*(this['y']-_0x4695d1['y']);return this['x']=_0x322029,this['y']=_0x3944ae,this;},'_round':function(){return this['x']=Math[_0x1a4e('0x2a')](this['x']),this['y']=Math['round'](this['y']),this;}},_0x5b0407['convert']=function(_0x419d96){return _0x419d96 instanceof _0x5b0407?_0x419d96:Array[_0x1a4e('0x15')](_0x419d96)?new _0x5b0407(_0x419d96[0x0],_0x419d96[0x1]):_0x419d96;};},{}],2:[function(_0x419d96,_0x4695d1,_0x24236b){_0x4695d1[_0x1a4e('0x0')]['VectorTile']=_0x419d96(_0x1a4e('0x51df')),_0x4695d1[_0x1a4e('0x0')]['VectorTileFeature']=_0x419d96(_0x1a4e('0x51e0')),_0x4695d1[_0x1a4e('0x0')][_0x1a4e('0x51e1')]=_0x419d96(_0x1a4e('0x51e2'));},{'./lib/vectortile.js':0x3,'./lib/vectortilefeature.js':0x4,'./lib/vectortilelayer.js':0x5}],3:[function(_0x419d96,_0x4695d1,_0x24236b){var _0x5b0407=_0x419d96(_0x1a4e('0x51e3'));function _0x322029(_0x419d96,_0x4695d1,_0x24236b){if(0x3===_0x419d96){var _0x322029=new _0x5b0407(_0x24236b,_0x24236b[_0x1a4e('0x51e4')]()+_0x24236b[_0x1a4e('0xa4')]);_0x322029[_0x1a4e('0x1e')]&&(_0x4695d1[_0x322029[_0x1a4e('0x2cb')]]=_0x322029);}}_0x4695d1[_0x1a4e('0x0')]=function(_0x419d96,_0x4695d1){this['layers']=_0x419d96[_0x1a4e('0x51e5')](_0x322029,{},_0x4695d1);};},{'./vectortilelayer':0x5}],4:[function(_0x419d96,_0x4695d1,_0x24236b){var _0x5b0407=_0x419d96(_0x1a4e('0x51e6'));function _0x322029(_0x419d96,_0x4695d1,_0x24236b,_0x5b0407,_0x322029){this[_0x1a4e('0x13')]={},this['extent']=_0x24236b,this['type']=0x0,this['_pbf']=_0x419d96,this['_geometry']=-0x1,this[_0x1a4e('0x51e7')]=_0x5b0407,this['_values']=_0x322029,_0x419d96[_0x1a4e('0x51e5')](_0x3944ae,this,_0x4695d1);}function _0x3944ae(_0x419d96,_0x4695d1,_0x24236b){0x1==_0x419d96?_0x4695d1['id']=_0x24236b[_0x1a4e('0x51e4')]():0x2==_0x419d96?function(_0x419d96,_0x4695d1){var _0x24236b=_0x419d96[_0x1a4e('0x51e4')]()+_0x419d96[_0x1a4e('0xa4')];for(;_0x419d96[_0x1a4e('0xa4')]<_0x24236b;){var _0x5b0407=_0x4695d1[_0x1a4e('0x51e7')][_0x419d96[_0x1a4e('0x51e4')]()],_0x322029=_0x4695d1['_values'][_0x419d96['readVarint']()];_0x4695d1[_0x1a4e('0x13')][_0x5b0407]=_0x322029;}}(_0x24236b,_0x4695d1):0x3==_0x419d96?_0x4695d1[_0x1a4e('0x40')]=_0x24236b[_0x1a4e('0x51e4')]():0x4==_0x419d96&&(_0x4695d1[_0x1a4e('0x43f4')]=_0x24236b[_0x1a4e('0xa4')]);}function _0x32e6fa(_0x419d96){for(var _0x4695d1,_0x24236b,_0x5b0407=0x0,_0x322029=0x0,_0x3944ae=_0x419d96[_0x1a4e('0x1e')],_0x32e6fa=_0x3944ae-0x1;_0x322029<_0x3944ae;_0x32e6fa=_0x322029++)_0x4695d1=_0x419d96[_0x322029],_0x5b0407+=((_0x24236b=_0x419d96[_0x32e6fa])['x']-_0x4695d1['x'])*(_0x4695d1['y']+_0x24236b['y']);return _0x5b0407;}_0x4695d1[_0x1a4e('0x0')]=_0x322029,_0x322029[_0x1a4e('0x2380')]=[_0x1a4e('0x1785'),'Point',_0x1a4e('0x44'),_0x1a4e('0x19')],_0x322029[_0x1a4e('0xa')]['loadGeometry']=function(){var _0x419d96=this[_0x1a4e('0x51e8')];_0x419d96[_0x1a4e('0xa4')]=this[_0x1a4e('0x43f4')];for(var _0x4695d1,_0x24236b=_0x419d96[_0x1a4e('0x51e4')]()+_0x419d96[_0x1a4e('0xa4')],_0x322029=0x1,_0x3944ae=0x0,_0x32e6fa=0x0,_0x30d881=0x0,_0x31a7af=[];_0x419d96['pos']<_0x24236b;){if(_0x3944ae<=0x0){var _0x3a1a00=_0x419d96[_0x1a4e('0x51e4')]();_0x322029=0x7&_0x3a1a00,_0x3944ae=_0x3a1a00>>0x3;}if(_0x3944ae--,0x1===_0x322029||0x2===_0x322029)_0x32e6fa+=_0x419d96[_0x1a4e('0x51e9')](),_0x30d881+=_0x419d96[_0x1a4e('0x51e9')](),0x1===_0x322029&&(_0x4695d1&&_0x31a7af['push'](_0x4695d1),_0x4695d1=[]),_0x4695d1[_0x1a4e('0x46')](new _0x5b0407(_0x32e6fa,_0x30d881));else{if(0x7!==_0x322029)throw new Error('unknown\x20command\x20'+_0x322029);_0x4695d1&&_0x4695d1[_0x1a4e('0x46')](_0x4695d1[0x0]['clone']());}}return _0x4695d1&&_0x31a7af[_0x1a4e('0x46')](_0x4695d1),_0x31a7af;},_0x322029['prototype'][_0x1a4e('0xe')]=function(){var _0x419d96=this['_pbf'];_0x419d96['pos']=this['_geometry'];for(var _0x4695d1=_0x419d96[_0x1a4e('0x51e4')]()+_0x419d96[_0x1a4e('0xa4')],_0x24236b=0x1,_0x5b0407=0x0,_0x322029=0x0,_0x3944ae=0x0,_0x32e6fa=0x1/0x0,_0x30d881=-0x1/0x0,_0x31a7af=0x1/0x0,_0x3125f2=-0x1/0x0;_0x419d96['pos']<_0x4695d1;){if(_0x5b0407<=0x0){var _0x384796=_0x419d96[_0x1a4e('0x51e4')]();_0x24236b=0x7&_0x384796,_0x5b0407=_0x384796>>0x3;}if(_0x5b0407--,0x1===_0x24236b||0x2===_0x24236b)(_0x322029+=_0x419d96[_0x1a4e('0x51e9')]())<_0x32e6fa&&(_0x32e6fa=_0x322029),_0x322029>_0x30d881&&(_0x30d881=_0x322029),(_0x3944ae+=_0x419d96[_0x1a4e('0x51e9')]())<_0x31a7af&&(_0x31a7af=_0x3944ae),_0x3944ae>_0x3125f2&&(_0x3125f2=_0x3944ae);else if(0x7!==_0x24236b)throw new Error(_0x1a4e('0x51ea')+_0x24236b);}return[_0x32e6fa,_0x31a7af,_0x30d881,_0x3125f2];},_0x322029[_0x1a4e('0xa')][_0x1a4e('0x51eb')]=function(_0x419d96,_0x4695d1,_0x24236b){var _0x5b0407,_0x3944ae,_0x30d881=this['extent']*Math[_0x1a4e('0x8e')](0x2,_0x24236b),_0x31a7af=this[_0x1a4e('0x811')]*_0x419d96,_0x3bc200=this[_0x1a4e('0x811')]*_0x4695d1,_0x420f90=this[_0x1a4e('0x51ec')](),_0x36a11a=_0x322029[_0x1a4e('0x2380')][this[_0x1a4e('0x40')]];function _0x161556(_0x419d96){for(var _0x4695d1=0x0;_0x4695d1<_0x419d96[_0x1a4e('0x1e')];_0x4695d1++){var _0x24236b=_0x419d96[_0x4695d1],_0x5b0407=0xb4-0x168*(_0x24236b['y']+_0x3bc200)/_0x30d881;_0x419d96[_0x4695d1]=[0x168*(_0x24236b['x']+_0x31a7af)/_0x30d881-0xb4,0x168/Math['PI']*Math[_0x1a4e('0xc2')](Math[_0x1a4e('0xc3')](_0x5b0407*Math['PI']/0xb4))-0x5a];}}switch(this[_0x1a4e('0x40')]){case 0x1:var _0x4fa584=[];for(_0x5b0407=0x0;_0x5b0407<_0x420f90[_0x1a4e('0x1e')];_0x5b0407++)_0x4fa584[_0x5b0407]=_0x420f90[_0x5b0407][0x0];_0x161556(_0x420f90=_0x4fa584);break;case 0x2:for(_0x5b0407=0x0;_0x5b0407<_0x420f90[_0x1a4e('0x1e')];_0x5b0407++)_0x161556(_0x420f90[_0x5b0407]);break;case 0x3:for(_0x420f90=function(_0x419d96){var _0x4695d1=_0x419d96[_0x1a4e('0x1e')];if(_0x4695d1<=0x1)return[_0x419d96];for(var _0x24236b,_0x5b0407,_0x322029=[],_0x3944ae=0x0;_0x3944ae<_0x4695d1;_0x3944ae++){var _0x30d881=_0x32e6fa(_0x419d96[_0x3944ae]);0x0!==_0x30d881&&(void 0x0===_0x5b0407&&(_0x5b0407=_0x30d881<0x0),_0x5b0407===_0x30d881<0x0?(_0x24236b&&_0x322029['push'](_0x24236b),_0x24236b=[_0x419d96[_0x3944ae]]):_0x24236b[_0x1a4e('0x46')](_0x419d96[_0x3944ae]));}_0x24236b&&_0x322029[_0x1a4e('0x46')](_0x24236b);return _0x322029;}(_0x420f90),_0x5b0407=0x0;_0x5b0407<_0x420f90[_0x1a4e('0x1e')];_0x5b0407++)for(_0x3944ae=0x0;_0x3944ae<_0x420f90[_0x5b0407][_0x1a4e('0x1e')];_0x3944ae++)_0x161556(_0x420f90[_0x5b0407][_0x3944ae]);}0x1===_0x420f90[_0x1a4e('0x1e')]?_0x420f90=_0x420f90[0x0]:_0x36a11a='Multi'+_0x36a11a;var _0x4413b9={'type':_0x1a4e('0x12'),'geometry':{'type':_0x36a11a,'coordinates':_0x420f90},'properties':this['properties']};return'id'in this&&(_0x4413b9['id']=this['id']),_0x4413b9;};},{'@mapbox/point-geometry':0x1}],5:[function(_0x419d96,_0x4695d1,_0x24236b){var _0x5b0407=_0x419d96('./vectortilefeature.js');function _0x322029(_0x419d96,_0x4695d1){this['version']=0x1,this[_0x1a4e('0x2cb')]=null,this[_0x1a4e('0x811')]=0x1000,this[_0x1a4e('0x1e')]=0x0,this['_pbf']=_0x419d96,this['_keys']=[],this[_0x1a4e('0x3d26')]=[],this['_features']=[],_0x419d96[_0x1a4e('0x51e5')](_0x3944ae,this,_0x4695d1),this['length']=this[_0x1a4e('0x4e41')]['length'];}function _0x3944ae(_0x419d96,_0x4695d1,_0x24236b){0xf===_0x419d96?_0x4695d1[_0x1a4e('0xb98')]=_0x24236b['readVarint']():0x1===_0x419d96?_0x4695d1[_0x1a4e('0x2cb')]=_0x24236b[_0x1a4e('0x51ed')]():0x5===_0x419d96?_0x4695d1['extent']=_0x24236b[_0x1a4e('0x51e4')]():0x2===_0x419d96?_0x4695d1['_features'][_0x1a4e('0x46')](_0x24236b['pos']):0x3===_0x419d96?_0x4695d1['_keys']['push'](_0x24236b['readString']()):0x4===_0x419d96&&_0x4695d1['_values'][_0x1a4e('0x46')](function(_0x419d96){var _0x4695d1=null,_0x24236b=_0x419d96[_0x1a4e('0x51e4')]()+_0x419d96[_0x1a4e('0xa4')];for(;_0x419d96[_0x1a4e('0xa4')]<_0x24236b;){var _0x5b0407=_0x419d96[_0x1a4e('0x51e4')]()>>0x3;_0x4695d1=0x1===_0x5b0407?_0x419d96['readString']():0x2===_0x5b0407?_0x419d96[_0x1a4e('0x51ee')]():0x3===_0x5b0407?_0x419d96['readDouble']():0x4===_0x5b0407?_0x419d96['readVarint64']():0x5===_0x5b0407?_0x419d96[_0x1a4e('0x51e4')]():0x6===_0x5b0407?_0x419d96['readSVarint']():0x7===_0x5b0407?_0x419d96[_0x1a4e('0x51ef')]():null;}return _0x4695d1;}(_0x24236b));}_0x4695d1[_0x1a4e('0x0')]=_0x322029,_0x322029['prototype'][_0x1a4e('0x51f0')]=function(_0x419d96){if(_0x419d96<0x0||_0x419d96>=this[_0x1a4e('0x4e41')]['length'])throw new Error(_0x1a4e('0x51f1'));this[_0x1a4e('0x51e8')][_0x1a4e('0xa4')]=this['_features'][_0x419d96];var _0x4695d1=this[_0x1a4e('0x51e8')]['readVarint']()+this[_0x1a4e('0x51e8')][_0x1a4e('0xa4')];return new _0x5b0407(this[_0x1a4e('0x51e8')],_0x4695d1,this['extent'],this[_0x1a4e('0x51e7')],this[_0x1a4e('0x3d26')]);};},{'./vectortilefeature.js':0x4}],6:[function(_0x419d96,_0x4695d1,_0x24236b){_0x24236b[_0x1a4e('0x144')]=function(_0x419d96,_0x4695d1,_0x24236b,_0x5b0407,_0x322029){var _0x3944ae,_0x32e6fa,_0x30d881=0x8*_0x322029-_0x5b0407-0x1,_0x31a7af=(0x1<<_0x30d881)-0x1,_0x4436cd=_0x31a7af>>0x1,_0x405ab8=-0x7,_0xe8dec5=_0x24236b?_0x322029-0x1:0x0,_0x3b6d6e=_0x24236b?-0x1:0x1,_0x114817=_0x419d96[_0x4695d1+_0xe8dec5];for(_0xe8dec5+=_0x3b6d6e,_0x3944ae=_0x114817&(0x1<<-_0x405ab8)-0x1,_0x114817>>=-_0x405ab8,_0x405ab8+=_0x30d881;_0x405ab8>0x0;_0x3944ae=0x100*_0x3944ae+_0x419d96[_0x4695d1+_0xe8dec5],_0xe8dec5+=_0x3b6d6e,_0x405ab8-=0x8);for(_0x32e6fa=_0x3944ae&(0x1<<-_0x405ab8)-0x1,_0x3944ae>>=-_0x405ab8,_0x405ab8+=_0x5b0407;_0x405ab8>0x0;_0x32e6fa=0x100*_0x32e6fa+_0x419d96[_0x4695d1+_0xe8dec5],_0xe8dec5+=_0x3b6d6e,_0x405ab8-=0x8);if(0x0===_0x3944ae)_0x3944ae=0x1-_0x4436cd;else{if(_0x3944ae===_0x31a7af)return _0x32e6fa?NaN:0x1/0x0*(_0x114817?-0x1:0x1);_0x32e6fa+=Math[_0x1a4e('0x8e')](0x2,_0x5b0407),_0x3944ae-=_0x4436cd;}return(_0x114817?-0x1:0x1)*_0x32e6fa*Math['pow'](0x2,_0x3944ae-_0x5b0407);},_0x24236b[_0x1a4e('0x146')]=function(_0x419d96,_0x4695d1,_0x24236b,_0x5b0407,_0x322029,_0x3944ae){var _0x32e6fa,_0x30d881,_0x31a7af,_0x215173=0x8*_0x3944ae-_0x322029-0x1,_0x117276=(0x1<<_0x215173)-0x1,_0x3429e4=_0x117276>>0x1,_0x1ad0cd=0x17===_0x322029?Math[_0x1a4e('0x8e')](0x2,-0x18)-Math['pow'](0x2,-0x4d):0x0,_0x3b4bfb=_0x5b0407?0x0:_0x3944ae-0x1,_0x2e6719=_0x5b0407?0x1:-0x1,_0x4fe55d=_0x4695d1<0x0||0x0===_0x4695d1&&0x1/_0x4695d1<0x0?0x1:0x0;for(_0x4695d1=Math[_0x1a4e('0x65')](_0x4695d1),isNaN(_0x4695d1)||_0x4695d1===0x1/0x0?(_0x30d881=isNaN(_0x4695d1)?0x1:0x0,_0x32e6fa=_0x117276):(_0x32e6fa=Math['floor'](Math[_0x1a4e('0x58')](_0x4695d1)/Math['LN2']),_0x4695d1*(_0x31a7af=Math[_0x1a4e('0x8e')](0x2,-_0x32e6fa))<0x1&&(_0x32e6fa--,_0x31a7af*=0x2),(_0x4695d1+=_0x32e6fa+_0x3429e4>=0x1?_0x1ad0cd/_0x31a7af:_0x1ad0cd*Math[_0x1a4e('0x8e')](0x2,0x1-_0x3429e4))*_0x31a7af>=0x2&&(_0x32e6fa++,_0x31a7af/=0x2),_0x32e6fa+_0x3429e4>=_0x117276?(_0x30d881=0x0,_0x32e6fa=_0x117276):_0x32e6fa+_0x3429e4>=0x1?(_0x30d881=(_0x4695d1*_0x31a7af-0x1)*Math[_0x1a4e('0x8e')](0x2,_0x322029),_0x32e6fa+=_0x3429e4):(_0x30d881=_0x4695d1*Math['pow'](0x2,_0x3429e4-0x1)*Math[_0x1a4e('0x8e')](0x2,_0x322029),_0x32e6fa=0x0));_0x322029>=0x8;_0x419d96[_0x24236b+_0x3b4bfb]=0xff&_0x30d881,_0x3b4bfb+=_0x2e6719,_0x30d881/=0x100,_0x322029-=0x8);for(_0x32e6fa=_0x32e6fa<<_0x322029|_0x30d881,_0x215173+=_0x322029;_0x215173>0x0;_0x419d96[_0x24236b+_0x3b4bfb]=0xff&_0x32e6fa,_0x3b4bfb+=_0x2e6719,_0x32e6fa/=0x100,_0x215173-=0x8);_0x419d96[_0x24236b+_0x3b4bfb-_0x2e6719]|=0x80*_0x4fe55d;};},{}],7:[function(_0x419d96,_0x4695d1,_0x24236b){_0x4695d1[_0x1a4e('0x0')]=_0x322029;var _0x5b0407=_0x419d96('ieee754');function _0x322029(_0x419d96){this[_0x1a4e('0xe51')]=ArrayBuffer['isView']&&ArrayBuffer[_0x1a4e('0xaca')](_0x419d96)?_0x419d96:new Uint8Array(_0x419d96||0x0),this[_0x1a4e('0xa4')]=0x0,this[_0x1a4e('0x40')]=0x0,this[_0x1a4e('0x1e')]=this[_0x1a4e('0xe51')][_0x1a4e('0x1e')];}_0x322029[_0x1a4e('0x51f2')]=0x0,_0x322029[_0x1a4e('0x51f3')]=0x1,_0x322029['Bytes']=0x2,_0x322029[_0x1a4e('0x51f4')]=0x5;var _0x3944ae=_0x1a4e('0x3')==typeof TextDecoder?null:new TextDecoder('utf8');function _0x32e6fa(_0x419d96){return _0x419d96[_0x1a4e('0x40')]===_0x322029[_0x1a4e('0x51f5')]?_0x419d96['readVarint']()+_0x419d96[_0x1a4e('0xa4')]:_0x419d96['pos']+0x1;}function _0x30d881(_0x419d96,_0x4695d1,_0x24236b){return _0x24236b?0x100000000*_0x4695d1+(_0x419d96>>>0x0):0x100000000*(_0x4695d1>>>0x0)+(_0x419d96>>>0x0);}function _0x31a7af(_0x419d96,_0x4695d1,_0x24236b){var _0x5b0407=_0x4695d1<=0x3fff?0x1:_0x4695d1<=0x1fffff?0x2:_0x4695d1<=0xfffffff?0x3:Math[_0x1a4e('0xb4')](Math[_0x1a4e('0x58')](_0x4695d1)/(0x7*Math[_0x1a4e('0x172')]));_0x24236b[_0x1a4e('0x51f6')](_0x5b0407);for(var _0x322029=_0x24236b[_0x1a4e('0xa4')]-0x1;_0x322029>=_0x419d96;_0x322029--)_0x24236b['buf'][_0x322029+_0x5b0407]=_0x24236b[_0x1a4e('0xe51')][_0x322029];}function _0x157765(_0x419d96,_0x4695d1){for(var _0x24236b=0x0;_0x24236b<_0x419d96['length'];_0x24236b++)_0x4695d1[_0x1a4e('0x51f7')](_0x419d96[_0x24236b]);}function _0x483854(_0x419d96,_0x4695d1){for(var _0x24236b=0x0;_0x24236b<_0x419d96['length'];_0x24236b++)_0x4695d1['writeSVarint'](_0x419d96[_0x24236b]);}function _0x2fe1fd(_0x419d96,_0x4695d1){for(var _0x24236b=0x0;_0x24236b<_0x419d96[_0x1a4e('0x1e')];_0x24236b++)_0x4695d1[_0x1a4e('0x51f8')](_0x419d96[_0x24236b]);}function _0xf942ab(_0x419d96,_0x4695d1){for(var _0x24236b=0x0;_0x24236b<_0x419d96[_0x1a4e('0x1e')];_0x24236b++)_0x4695d1[_0x1a4e('0x51f9')](_0x419d96[_0x24236b]);}function _0x89df0c(_0x419d96,_0x4695d1){for(var _0x24236b=0x0;_0x24236b<_0x419d96[_0x1a4e('0x1e')];_0x24236b++)_0x4695d1[_0x1a4e('0x51fa')](_0x419d96[_0x24236b]);}function _0x3aa7cd(_0x419d96,_0x4695d1){for(var _0x24236b=0x0;_0x24236b<_0x419d96['length'];_0x24236b++)_0x4695d1['writeFixed32'](_0x419d96[_0x24236b]);}function _0x2887a7(_0x419d96,_0x4695d1){for(var _0x24236b=0x0;_0x24236b<_0x419d96[_0x1a4e('0x1e')];_0x24236b++)_0x4695d1[_0x1a4e('0x51fb')](_0x419d96[_0x24236b]);}function _0x27ee15(_0x419d96,_0x4695d1){for(var _0x24236b=0x0;_0x24236b<_0x419d96[_0x1a4e('0x1e')];_0x24236b++)_0x4695d1['writeFixed64'](_0x419d96[_0x24236b]);}function _0x5c6fe0(_0x419d96,_0x4695d1){for(var _0x24236b=0x0;_0x24236b<_0x419d96[_0x1a4e('0x1e')];_0x24236b++)_0x4695d1['writeSFixed64'](_0x419d96[_0x24236b]);}function _0x1c79a8(_0x419d96,_0x4695d1){return(_0x419d96[_0x4695d1]|_0x419d96[_0x4695d1+0x1]<<0x8|_0x419d96[_0x4695d1+0x2]<<0x10)+0x1000000*_0x419d96[_0x4695d1+0x3];}function _0x241abe(_0x419d96,_0x4695d1,_0x24236b){_0x419d96[_0x24236b]=_0x4695d1,_0x419d96[_0x24236b+0x1]=_0x4695d1>>>0x8,_0x419d96[_0x24236b+0x2]=_0x4695d1>>>0x10,_0x419d96[_0x24236b+0x3]=_0x4695d1>>>0x18;}function _0x3d93b7(_0x419d96,_0x4695d1){return(_0x419d96[_0x4695d1]|_0x419d96[_0x4695d1+0x1]<<0x8|_0x419d96[_0x4695d1+0x2]<<0x10)+(_0x419d96[_0x4695d1+0x3]<<0x18);}_0x322029[_0x1a4e('0xa')]={'destroy':function(){this[_0x1a4e('0xe51')]=null;},'readFields':function(_0x419d96,_0x4695d1,_0x24236b){for(_0x24236b=_0x24236b||this['length'];this['pos']<_0x24236b;){var _0x5b0407=this[_0x1a4e('0x51e4')](),_0x322029=_0x5b0407>>0x3,_0x3944ae=this[_0x1a4e('0xa4')];this['type']=0x7&_0x5b0407,_0x419d96(_0x322029,_0x4695d1,this),this['pos']===_0x3944ae&&this[_0x1a4e('0x87c')](_0x5b0407);}return _0x4695d1;},'readMessage':function(_0x419d96,_0x4695d1){return this[_0x1a4e('0x51e5')](_0x419d96,_0x4695d1,this['readVarint']()+this[_0x1a4e('0xa4')]);},'readFixed32':function(){var _0x419d96=_0x1c79a8(this[_0x1a4e('0xe51')],this[_0x1a4e('0xa4')]);return this['pos']+=0x4,_0x419d96;},'readSFixed32':function(){var _0x419d96=_0x3d93b7(this[_0x1a4e('0xe51')],this[_0x1a4e('0xa4')]);return this[_0x1a4e('0xa4')]+=0x4,_0x419d96;},'readFixed64':function(){var _0x419d96=_0x1c79a8(this[_0x1a4e('0xe51')],this[_0x1a4e('0xa4')])+0x100000000*_0x1c79a8(this['buf'],this[_0x1a4e('0xa4')]+0x4);return this[_0x1a4e('0xa4')]+=0x8,_0x419d96;},'readSFixed64':function(){var _0x419d96=_0x1c79a8(this[_0x1a4e('0xe51')],this[_0x1a4e('0xa4')])+0x100000000*_0x3d93b7(this['buf'],this[_0x1a4e('0xa4')]+0x4);return this[_0x1a4e('0xa4')]+=0x8,_0x419d96;},'readFloat':function(){var _0x419d96=_0x5b0407[_0x1a4e('0x144')](this[_0x1a4e('0xe51')],this[_0x1a4e('0xa4')],!0x0,0x17,0x4);return this[_0x1a4e('0xa4')]+=0x4,_0x419d96;},'readDouble':function(){var _0x419d96=_0x5b0407['read'](this[_0x1a4e('0xe51')],this[_0x1a4e('0xa4')],!0x0,0x34,0x8);return this[_0x1a4e('0xa4')]+=0x8,_0x419d96;},'readVarint':function(_0x419d96){var _0x4695d1,_0x24236b,_0x5b0407=this['buf'];return _0x4695d1=0x7f&(_0x24236b=_0x5b0407[this['pos']++]),_0x24236b<0x80?_0x4695d1:(_0x4695d1|=(0x7f&(_0x24236b=_0x5b0407[this['pos']++]))<<0x7,_0x24236b<0x80?_0x4695d1:(_0x4695d1|=(0x7f&(_0x24236b=_0x5b0407[this[_0x1a4e('0xa4')]++]))<<0xe,_0x24236b<0x80?_0x4695d1:(_0x4695d1|=(0x7f&(_0x24236b=_0x5b0407[this['pos']++]))<<0x15,_0x24236b<0x80?_0x4695d1:function(_0x419d96,_0x4695d1,_0x24236b){var _0x5b0407,_0x322029,_0x3944ae=_0x24236b[_0x1a4e('0xe51')];if(_0x322029=_0x3944ae[_0x24236b[_0x1a4e('0xa4')]++],_0x5b0407=(0x70&_0x322029)>>0x4,_0x322029<0x80)return _0x30d881(_0x419d96,_0x5b0407,_0x4695d1);if(_0x322029=_0x3944ae[_0x24236b[_0x1a4e('0xa4')]++],_0x5b0407|=(0x7f&_0x322029)<<0x3,_0x322029<0x80)return _0x30d881(_0x419d96,_0x5b0407,_0x4695d1);if(_0x322029=_0x3944ae[_0x24236b['pos']++],_0x5b0407|=(0x7f&_0x322029)<<0xa,_0x322029<0x80)return _0x30d881(_0x419d96,_0x5b0407,_0x4695d1);if(_0x322029=_0x3944ae[_0x24236b['pos']++],_0x5b0407|=(0x7f&_0x322029)<<0x11,_0x322029<0x80)return _0x30d881(_0x419d96,_0x5b0407,_0x4695d1);if(_0x322029=_0x3944ae[_0x24236b[_0x1a4e('0xa4')]++],_0x5b0407|=(0x7f&_0x322029)<<0x18,_0x322029<0x80)return _0x30d881(_0x419d96,_0x5b0407,_0x4695d1);if(_0x322029=_0x3944ae[_0x24236b[_0x1a4e('0xa4')]++],_0x5b0407|=(0x1&_0x322029)<<0x1f,_0x322029<0x80)return _0x30d881(_0x419d96,_0x5b0407,_0x4695d1);throw new Error('Expected\x20varint\x20not\x20more\x20than\x2010\x20bytes');}(_0x4695d1|=(0xf&(_0x24236b=_0x5b0407[this[_0x1a4e('0xa4')]]))<<0x1c,_0x419d96,this))));},'readVarint64':function(){return this['readVarint'](!0x0);},'readSVarint':function(){var _0x419d96=this[_0x1a4e('0x51e4')]();return _0x419d96%0x2==0x1?(_0x419d96+0x1)/-0x2:_0x419d96/0x2;},'readBoolean':function(){return Boolean(this[_0x1a4e('0x51e4')]());},'readString':function(){var _0x419d96=this[_0x1a4e('0x51e4')]()+this['pos'],_0x4695d1=this[_0x1a4e('0xa4')];return this['pos']=_0x419d96,_0x419d96-_0x4695d1>=0xc&&_0x3944ae?function(_0x419d96,_0x4695d1,_0x24236b){return _0x3944ae['decode'](_0x419d96[_0x1a4e('0xad8')](_0x4695d1,_0x24236b));}(this['buf'],_0x4695d1,_0x419d96):function(_0x419d96,_0x4695d1,_0x24236b){var _0x5b0407='',_0x322029=_0x4695d1;for(;_0x322029<_0x24236b;){var _0x3944ae,_0x32e6fa,_0x30d881,_0x31a7af=_0x419d96[_0x322029],_0x157765=null,_0x483854=_0x31a7af>0xef?0x4:_0x31a7af>0xdf?0x3:_0x31a7af>0xbf?0x2:0x1;if(_0x322029+_0x483854>_0x24236b)break;0x1===_0x483854?_0x31a7af<0x80&&(_0x157765=_0x31a7af):0x2===_0x483854?0x80==(0xc0&(_0x3944ae=_0x419d96[_0x322029+0x1]))&&(_0x157765=(0x1f&_0x31a7af)<<0x6|0x3f&_0x3944ae)<=0x7f&&(_0x157765=null):0x3===_0x483854?(_0x3944ae=_0x419d96[_0x322029+0x1],_0x32e6fa=_0x419d96[_0x322029+0x2],0x80==(0xc0&_0x3944ae)&&0x80==(0xc0&_0x32e6fa)&&((_0x157765=(0xf&_0x31a7af)<<0xc|(0x3f&_0x3944ae)<<0x6|0x3f&_0x32e6fa)<=0x7ff||_0x157765>=0xd800&&_0x157765<=0xdfff)&&(_0x157765=null)):0x4===_0x483854&&(_0x3944ae=_0x419d96[_0x322029+0x1],_0x32e6fa=_0x419d96[_0x322029+0x2],_0x30d881=_0x419d96[_0x322029+0x3],0x80==(0xc0&_0x3944ae)&&0x80==(0xc0&_0x32e6fa)&&0x80==(0xc0&_0x30d881)&&((_0x157765=(0xf&_0x31a7af)<<0x12|(0x3f&_0x3944ae)<<0xc|(0x3f&_0x32e6fa)<<0x6|0x3f&_0x30d881)<=0xffff||_0x157765>=0x110000)&&(_0x157765=null)),null===_0x157765?(_0x157765=0xfffd,_0x483854=0x1):_0x157765>0xffff&&(_0x157765-=0x10000,_0x5b0407+=String['fromCharCode'](_0x157765>>>0xa&0x3ff|0xd800),_0x157765=0xdc00|0x3ff&_0x157765),_0x5b0407+=String[_0x1a4e('0x8fe')](_0x157765),_0x322029+=_0x483854;}return _0x5b0407;}(this['buf'],_0x4695d1,_0x419d96);},'readBytes':function(){var _0x419d96=this['readVarint']()+this['pos'],_0x4695d1=this[_0x1a4e('0xe51')][_0x1a4e('0xad8')](this[_0x1a4e('0xa4')],_0x419d96);return this['pos']=_0x419d96,_0x4695d1;},'readPackedVarint':function(_0x419d96,_0x4695d1){if(this['type']!==_0x322029['Bytes'])return _0x419d96[_0x1a4e('0x46')](this[_0x1a4e('0x51e4')](_0x4695d1));var _0x24236b=_0x32e6fa(this);for(_0x419d96=_0x419d96||[];this[_0x1a4e('0xa4')]<_0x24236b;)_0x419d96['push'](this[_0x1a4e('0x51e4')](_0x4695d1));return _0x419d96;},'readPackedSVarint':function(_0x419d96){if(this[_0x1a4e('0x40')]!==_0x322029[_0x1a4e('0x51f5')])return _0x419d96[_0x1a4e('0x46')](this[_0x1a4e('0x51e9')]());var _0x4695d1=_0x32e6fa(this);for(_0x419d96=_0x419d96||[];this[_0x1a4e('0xa4')]<_0x4695d1;)_0x419d96['push'](this[_0x1a4e('0x51e9')]());return _0x419d96;},'readPackedBoolean':function(_0x419d96){if(this[_0x1a4e('0x40')]!==_0x322029[_0x1a4e('0x51f5')])return _0x419d96[_0x1a4e('0x46')](this[_0x1a4e('0x51ef')]());var _0x4695d1=_0x32e6fa(this);for(_0x419d96=_0x419d96||[];this[_0x1a4e('0xa4')]<_0x4695d1;)_0x419d96['push'](this[_0x1a4e('0x51ef')]());return _0x419d96;},'readPackedFloat':function(_0x419d96){if(this['type']!==_0x322029[_0x1a4e('0x51f5')])return _0x419d96[_0x1a4e('0x46')](this['readFloat']());var _0x4695d1=_0x32e6fa(this);for(_0x419d96=_0x419d96||[];this[_0x1a4e('0xa4')]<_0x4695d1;)_0x419d96[_0x1a4e('0x46')](this[_0x1a4e('0x51ee')]());return _0x419d96;},'readPackedDouble':function(_0x419d96){if(this[_0x1a4e('0x40')]!==_0x322029['Bytes'])return _0x419d96[_0x1a4e('0x46')](this[_0x1a4e('0x51fc')]());var _0x4695d1=_0x32e6fa(this);for(_0x419d96=_0x419d96||[];this[_0x1a4e('0xa4')]<_0x4695d1;)_0x419d96['push'](this['readDouble']());return _0x419d96;},'readPackedFixed32':function(_0x419d96){if(this['type']!==_0x322029[_0x1a4e('0x51f5')])return _0x419d96[_0x1a4e('0x46')](this['readFixed32']());var _0x4695d1=_0x32e6fa(this);for(_0x419d96=_0x419d96||[];this['pos']<_0x4695d1;)_0x419d96[_0x1a4e('0x46')](this['readFixed32']());return _0x419d96;},'readPackedSFixed32':function(_0x419d96){if(this[_0x1a4e('0x40')]!==_0x322029[_0x1a4e('0x51f5')])return _0x419d96[_0x1a4e('0x46')](this['readSFixed32']());var _0x4695d1=_0x32e6fa(this);for(_0x419d96=_0x419d96||[];this['pos']<_0x4695d1;)_0x419d96[_0x1a4e('0x46')](this['readSFixed32']());return _0x419d96;},'readPackedFixed64':function(_0x419d96){if(this['type']!==_0x322029[_0x1a4e('0x51f5')])return _0x419d96[_0x1a4e('0x46')](this[_0x1a4e('0x51fd')]());var _0x4695d1=_0x32e6fa(this);for(_0x419d96=_0x419d96||[];this['pos']<_0x4695d1;)_0x419d96['push'](this[_0x1a4e('0x51fd')]());return _0x419d96;},'readPackedSFixed64':function(_0x419d96){if(this[_0x1a4e('0x40')]!==_0x322029['Bytes'])return _0x419d96['push'](this[_0x1a4e('0x51fe')]());var _0x4695d1=_0x32e6fa(this);for(_0x419d96=_0x419d96||[];this[_0x1a4e('0xa4')]<_0x4695d1;)_0x419d96[_0x1a4e('0x46')](this['readSFixed64']());return _0x419d96;},'skip':function(_0x419d96){var _0x4695d1=0x7&_0x419d96;if(_0x4695d1===_0x322029['Varint'])for(;this[_0x1a4e('0xe51')][this[_0x1a4e('0xa4')]++]>0x7f;);else if(_0x4695d1===_0x322029[_0x1a4e('0x51f5')])this['pos']=this[_0x1a4e('0x51e4')]()+this[_0x1a4e('0xa4')];else if(_0x4695d1===_0x322029[_0x1a4e('0x51f4')])this[_0x1a4e('0xa4')]+=0x4;else{if(_0x4695d1!==_0x322029['Fixed64'])throw new Error(_0x1a4e('0x51ff')+_0x4695d1);this[_0x1a4e('0xa4')]+=0x8;}},'writeTag':function(_0x419d96,_0x4695d1){this[_0x1a4e('0x51f7')](_0x419d96<<0x3|_0x4695d1);},'realloc':function(_0x419d96){for(var _0x4695d1=this['length']||0x10;_0x4695d10xfffffff||_0x419d96<0x0?function(_0x419d96,_0x4695d1){var _0x24236b,_0x5b0407;_0x419d96>=0x0?(_0x24236b=_0x419d96%0x100000000|0x0,_0x5b0407=_0x419d96/0x100000000|0x0):(_0x5b0407=~(-_0x419d96/0x100000000),0xffffffff^(_0x24236b=~(-_0x419d96%0x100000000))?_0x24236b=_0x24236b+0x1|0x0:(_0x24236b=0x0,_0x5b0407=_0x5b0407+0x1|0x0));if(_0x419d96>=0x10000000000000000||_0x419d96<-0x10000000000000000)throw new Error(_0x1a4e('0x5200'));_0x4695d1[_0x1a4e('0x51f6')](0xa),function(_0x419d96,_0x4695d1,_0x24236b){_0x24236b[_0x1a4e('0xe51')][_0x24236b[_0x1a4e('0xa4')]++]=0x7f&_0x419d96|0x80,_0x419d96>>>=0x7,_0x24236b['buf'][_0x24236b[_0x1a4e('0xa4')]++]=0x7f&_0x419d96|0x80,_0x419d96>>>=0x7,_0x24236b[_0x1a4e('0xe51')][_0x24236b[_0x1a4e('0xa4')]++]=0x7f&_0x419d96|0x80,_0x419d96>>>=0x7,_0x24236b[_0x1a4e('0xe51')][_0x24236b[_0x1a4e('0xa4')]++]=0x7f&_0x419d96|0x80,_0x419d96>>>=0x7,_0x24236b['buf'][_0x24236b[_0x1a4e('0xa4')]]=0x7f&_0x419d96;}(_0x24236b,0x0,_0x4695d1),function(_0x419d96,_0x4695d1){var _0x24236b=(0x7&_0x419d96)<<0x4;if(_0x4695d1[_0x1a4e('0xe51')][_0x4695d1[_0x1a4e('0xa4')]++]|=_0x24236b|((_0x419d96>>>=0x3)?0x80:0x0),!_0x419d96)return;if(_0x4695d1['buf'][_0x4695d1['pos']++]=0x7f&_0x419d96|((_0x419d96>>>=0x7)?0x80:0x0),!_0x419d96)return;if(_0x4695d1[_0x1a4e('0xe51')][_0x4695d1['pos']++]=0x7f&_0x419d96|((_0x419d96>>>=0x7)?0x80:0x0),!_0x419d96)return;if(_0x4695d1[_0x1a4e('0xe51')][_0x4695d1[_0x1a4e('0xa4')]++]=0x7f&_0x419d96|((_0x419d96>>>=0x7)?0x80:0x0),!_0x419d96)return;if(_0x4695d1[_0x1a4e('0xe51')][_0x4695d1['pos']++]=0x7f&_0x419d96|((_0x419d96>>>=0x7)?0x80:0x0),!_0x419d96)return;_0x4695d1[_0x1a4e('0xe51')][_0x4695d1['pos']++]=0x7f&_0x419d96;}(_0x5b0407,_0x4695d1);}(_0x419d96,this):(this[_0x1a4e('0x51f6')](0x4),this['buf'][this[_0x1a4e('0xa4')]++]=0x7f&_0x419d96|(_0x419d96>0x7f?0x80:0x0),_0x419d96<=0x7f||(this[_0x1a4e('0xe51')][this[_0x1a4e('0xa4')]++]=0x7f&(_0x419d96>>>=0x7)|(_0x419d96>0x7f?0x80:0x0),_0x419d96<=0x7f||(this[_0x1a4e('0xe51')][this[_0x1a4e('0xa4')]++]=0x7f&(_0x419d96>>>=0x7)|(_0x419d96>0x7f?0x80:0x0),_0x419d96<=0x7f||(this[_0x1a4e('0xe51')][this[_0x1a4e('0xa4')]++]=_0x419d96>>>0x7&0x7f))));},'writeSVarint':function(_0x419d96){this[_0x1a4e('0x51f7')](_0x419d96<0x0?0x2*-_0x419d96-0x1:0x2*_0x419d96);},'writeBoolean':function(_0x419d96){this[_0x1a4e('0x51f7')](Boolean(_0x419d96));},'writeString':function(_0x419d96){_0x419d96=String(_0x419d96),this[_0x1a4e('0x51f6')](0x4*_0x419d96[_0x1a4e('0x1e')]),this[_0x1a4e('0xa4')]++;var _0x4695d1=this[_0x1a4e('0xa4')];this[_0x1a4e('0xa4')]=function(_0x419d96,_0x4695d1,_0x24236b){for(var _0x5b0407,_0x322029,_0x3944ae=0x0;_0x3944ae<_0x4695d1['length'];_0x3944ae++){if((_0x5b0407=_0x4695d1[_0x1a4e('0x913')](_0x3944ae))>0xd7ff&&_0x5b0407<0xe000){if(!_0x322029){_0x5b0407>0xdbff||_0x3944ae+0x1===_0x4695d1[_0x1a4e('0x1e')]?(_0x419d96[_0x24236b++]=0xef,_0x419d96[_0x24236b++]=0xbf,_0x419d96[_0x24236b++]=0xbd):_0x322029=_0x5b0407;continue;}if(_0x5b0407<0xdc00){_0x419d96[_0x24236b++]=0xef,_0x419d96[_0x24236b++]=0xbf,_0x419d96[_0x24236b++]=0xbd,_0x322029=_0x5b0407;continue;}_0x5b0407=_0x322029-0xd800<<0xa|_0x5b0407-0xdc00|0x10000,_0x322029=null;}else _0x322029&&(_0x419d96[_0x24236b++]=0xef,_0x419d96[_0x24236b++]=0xbf,_0x419d96[_0x24236b++]=0xbd,_0x322029=null);_0x5b0407<0x80?_0x419d96[_0x24236b++]=_0x5b0407:(_0x5b0407<0x800?_0x419d96[_0x24236b++]=_0x5b0407>>0x6|0xc0:(_0x5b0407<0x10000?_0x419d96[_0x24236b++]=_0x5b0407>>0xc|0xe0:(_0x419d96[_0x24236b++]=_0x5b0407>>0x12|0xf0,_0x419d96[_0x24236b++]=_0x5b0407>>0xc&0x3f|0x80),_0x419d96[_0x24236b++]=_0x5b0407>>0x6&0x3f|0x80),_0x419d96[_0x24236b++]=0x3f&_0x5b0407|0x80);}return _0x24236b;}(this[_0x1a4e('0xe51')],_0x419d96,this['pos']);var _0x24236b=this[_0x1a4e('0xa4')]-_0x4695d1;_0x24236b>=0x80&&_0x31a7af(_0x4695d1,_0x24236b,this),this[_0x1a4e('0xa4')]=_0x4695d1-0x1,this['writeVarint'](_0x24236b),this[_0x1a4e('0xa4')]+=_0x24236b;},'writeFloat':function(_0x419d96){this[_0x1a4e('0x51f6')](0x4),_0x5b0407['write'](this[_0x1a4e('0xe51')],_0x419d96,this[_0x1a4e('0xa4')],!0x0,0x17,0x4),this[_0x1a4e('0xa4')]+=0x4;},'writeDouble':function(_0x419d96){this[_0x1a4e('0x51f6')](0x8),_0x5b0407['write'](this['buf'],_0x419d96,this[_0x1a4e('0xa4')],!0x0,0x34,0x8),this[_0x1a4e('0xa4')]+=0x8;},'writeBytes':function(_0x419d96){var _0x4695d1=_0x419d96[_0x1a4e('0x1e')];this['writeVarint'](_0x4695d1),this[_0x1a4e('0x51f6')](_0x4695d1);for(var _0x24236b=0x0;_0x24236b<_0x4695d1;_0x24236b++)this[_0x1a4e('0xe51')][this[_0x1a4e('0xa4')]++]=_0x419d96[_0x24236b];},'writeRawMessage':function(_0x419d96,_0x4695d1){this[_0x1a4e('0xa4')]++;var _0x24236b=this[_0x1a4e('0xa4')];_0x419d96(_0x4695d1,this);var _0x5b0407=this[_0x1a4e('0xa4')]-_0x24236b;_0x5b0407>=0x80&&_0x31a7af(_0x24236b,_0x5b0407,this),this['pos']=_0x24236b-0x1,this['writeVarint'](_0x5b0407),this['pos']+=_0x5b0407;},'writeMessage':function(_0x419d96,_0x4695d1,_0x24236b){this['writeTag'](_0x419d96,_0x322029['Bytes']),this[_0x1a4e('0x5201')](_0x4695d1,_0x24236b);},'writePackedVarint':function(_0x419d96,_0x4695d1){_0x4695d1[_0x1a4e('0x1e')]&&this['writeMessage'](_0x419d96,_0x157765,_0x4695d1);},'writePackedSVarint':function(_0x419d96,_0x4695d1){_0x4695d1[_0x1a4e('0x1e')]&&this[_0x1a4e('0x5202')](_0x419d96,_0x483854,_0x4695d1);},'writePackedBoolean':function(_0x419d96,_0x4695d1){_0x4695d1[_0x1a4e('0x1e')]&&this[_0x1a4e('0x5202')](_0x419d96,_0x89df0c,_0x4695d1);},'writePackedFloat':function(_0x419d96,_0x4695d1){_0x4695d1['length']&&this['writeMessage'](_0x419d96,_0x2fe1fd,_0x4695d1);},'writePackedDouble':function(_0x419d96,_0x4695d1){_0x4695d1[_0x1a4e('0x1e')]&&this[_0x1a4e('0x5202')](_0x419d96,_0xf942ab,_0x4695d1);},'writePackedFixed32':function(_0x419d96,_0x4695d1){_0x4695d1[_0x1a4e('0x1e')]&&this['writeMessage'](_0x419d96,_0x3aa7cd,_0x4695d1);},'writePackedSFixed32':function(_0x419d96,_0x4695d1){_0x4695d1[_0x1a4e('0x1e')]&&this['writeMessage'](_0x419d96,_0x2887a7,_0x4695d1);},'writePackedFixed64':function(_0x419d96,_0x4695d1){_0x4695d1[_0x1a4e('0x1e')]&&this[_0x1a4e('0x5202')](_0x419d96,_0x27ee15,_0x4695d1);},'writePackedSFixed64':function(_0x419d96,_0x4695d1){_0x4695d1[_0x1a4e('0x1e')]&&this[_0x1a4e('0x5202')](_0x419d96,_0x5c6fe0,_0x4695d1);},'writeBytesField':function(_0x419d96,_0x4695d1){this['writeTag'](_0x419d96,_0x322029[_0x1a4e('0x51f5')]),this[_0x1a4e('0x5203')](_0x4695d1);},'writeFixed32Field':function(_0x419d96,_0x4695d1){this[_0x1a4e('0x5204')](_0x419d96,_0x322029['Fixed32']),this[_0x1a4e('0x5205')](_0x4695d1);},'writeSFixed32Field':function(_0x419d96,_0x4695d1){this[_0x1a4e('0x5204')](_0x419d96,_0x322029[_0x1a4e('0x51f4')]),this['writeSFixed32'](_0x4695d1);},'writeFixed64Field':function(_0x419d96,_0x4695d1){this['writeTag'](_0x419d96,_0x322029[_0x1a4e('0x51f3')]),this[_0x1a4e('0x5206')](_0x4695d1);},'writeSFixed64Field':function(_0x419d96,_0x4695d1){this['writeTag'](_0x419d96,_0x322029[_0x1a4e('0x51f3')]),this[_0x1a4e('0x5207')](_0x4695d1);},'writeVarintField':function(_0x419d96,_0x4695d1){this[_0x1a4e('0x5204')](_0x419d96,_0x322029[_0x1a4e('0x51f2')]),this['writeVarint'](_0x4695d1);},'writeSVarintField':function(_0x419d96,_0x4695d1){this['writeTag'](_0x419d96,_0x322029[_0x1a4e('0x51f2')]),this[_0x1a4e('0x5208')](_0x4695d1);},'writeStringField':function(_0x419d96,_0x4695d1){this[_0x1a4e('0x5204')](_0x419d96,_0x322029[_0x1a4e('0x51f5')]),this[_0x1a4e('0x5209')](_0x4695d1);},'writeFloatField':function(_0x419d96,_0x4695d1){this[_0x1a4e('0x5204')](_0x419d96,_0x322029[_0x1a4e('0x51f4')]),this[_0x1a4e('0x51f8')](_0x4695d1);},'writeDoubleField':function(_0x419d96,_0x4695d1){this[_0x1a4e('0x5204')](_0x419d96,_0x322029['Fixed64']),this['writeDouble'](_0x4695d1);},'writeBooleanField':function(_0x419d96,_0x4695d1){this[_0x1a4e('0x520a')](_0x419d96,Boolean(_0x4695d1));}};},{'ieee754':0x6}],8:[function(_0x419d96,_0x4695d1,_0x24236b){var _0x5b0407=_0x419d96('@mapbox/vector-tile')[_0x1a4e('0x4e9b')],_0x322029=_0x419d96(_0x1a4e('0x520b'));_0x4695d1['exports']=function(_0x419d96,_0x4695d1,_0x24236b,_0x3944ae){var _0x32e6fa=new _0x5b0407(new _0x322029(_0x419d96)),_0x30d881=[];for(var _0x31a7af in _0x32e6fa['layers']){var _0x4802d1=_0x32e6fa[_0x1a4e('0x4f27')][_0x31a7af];_0x4802d1[_0x1a4e('0x520c')]=[];for(var _0x59d906=0x0,_0x55df80=_0x4802d1['_features'][_0x1a4e('0x1e')];_0x59d906<_0x55df80;_0x59d906++){var _0x27fbd2=_0x4802d1[_0x1a4e('0x51f0')](_0x59d906)['toGeoJSON'](_0x24236b,_0x3944ae,_0x4695d1);_0x30d881[_0x1a4e('0x46')](_0x27fbd2);}}return{'features':_0x30d881};};},{'@mapbox/vector-tile':0x2,'pbf':0x7}]},{},[0x8])(0x8);},_0x1a4e('0x85')===_0x31a7af(_0x4695d1)&&void 0x0!==_0x419d96?_0x419d96[_0x1a4e('0x0')]=_0x30d881():(_0x322029=[],void 0x0===(_0x3944ae='function'==typeof(_0x5b0407=_0x30d881)?_0x5b0407[_0x1a4e('0x8b')](_0x4695d1,_0x322029):_0x5b0407)||(_0x419d96['exports']=_0x3944ae));},'./src/Utils/Path.ts':function(_0x3d2719,_0x2e75c5,_0x9317ff){'use strict';_0x9317ff['r'](_0x2e75c5),_0x9317ff['d'](_0x2e75c5,_0x1a4e('0x3ff2'),function(){return _0x18c3b2;});var _0x42b07c=_0x9317ff(_0x1a4e('0x38d0')),_0x558aa6=_0x9317ff('./src/Utils/Calculate.ts'),_0x7e8588=_0x9317ff(_0x1a4e('0x3999')),_0x18c3b2=function(){function _0x3d2719(_0x3d2719,_0x2e75c5){var _0x9317ff=this;this[_0x1a4e('0x520d')]=!0x1,this['_actions']=[],this[_0x1a4e('0x520e')]=function(_0x3d2719){var _0x2e75c5=_0x9317ff[_0x1a4e('0x520f')][_0x1a4e('0x1460')](_0x3d2719),_0x42b07c=_0x9317ff[_0x1a4e('0x520f')][_0x1a4e('0x1460')](Cesium['JulianDate'][_0x1a4e('0x406b')](_0x3d2719,-0x1,new Cesium['JulianDate']()));if(void 0x0!==_0x42b07c&&void 0x0!==_0x2e75c5){var _0x7e8588=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x2e75c5,_0x42b07c,new Cesium[(_0x1a4e('0x393e'))]()),_0x18c3b2=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x262')](_0x2e75c5,new Cesium[(_0x1a4e('0x393e'))](0x0,0x0,0x0),new Cesium[(_0x1a4e('0x393e'))]()),_0x6ae2aa=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](_0x7e8588,new Cesium['Cartesian3']()),_0x15248a=new Cesium[(_0x1a4e('0x393e'))](0x1,0x0,0x0),_0x521f0b=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3a9d')](_0x15248a,_0x6ae2aa)/Cesium['Cartesian3'][_0x1a4e('0x25c')](_0x15248a)*Cesium['Cartesian3']['magnitude'](_0x6ae2aa),_0x5b791a=Math[_0x1a4e('0x92c')](_0x521f0b),_0x5c7550=Cesium['Cartesian3'][_0x1a4e('0x3a26')](_0x15248a,_0x6ae2aa,new Cesium[(_0x1a4e('0x393e'))]()),_0x2d41e4=Cesium[_0x1a4e('0x3aac')][_0x1a4e('0x40c4')](_0x5c7550,_0x5b791a),_0x3ad076=Cesium[_0x1a4e('0x3aae')]['fromQuaternion'](_0x2d41e4),_0x2a6fcf=Cesium['Matrix4'][_0x1a4e('0x3ab1')](_0x3ad076,_0x18c3b2),_0x3f3323=_0x558aa6['Calculate']['matrixToHdr'](_0x2a6fcf);_0x9317ff[_0x1a4e('0x13db')]&&_0x9317ff['_callback'](_0x3d2719,_0x3f3323['position'],_0x3f3323['heading'],0x0,0x0),_0x9317ff['_doAction'](_0x3d2719,_0x3f3323[_0x1a4e('0x3553')],_0x3f3323['heading'],0x0,0x0),_0x9317ff[_0x1a4e('0x4068')][_0x1a4e('0x5210')]==_0x3d2719[_0x1a4e('0x5210')]&&_0x9317ff['_endTime']['secondsOfDay']==_0x3d2719[_0x1a4e('0x454e')]&&_0x9317ff[_0x1a4e('0x5211')]&&!_0x9317ff[_0x1a4e('0x520d')]&&(_0x9317ff[_0x1a4e('0x520d')]=!0x0,_0x9317ff[_0x1a4e('0x5211')]());}},this['_id']=_0x7e8588[_0x1a4e('0x39a0')][_0x1a4e('0x404b')](),this[_0x1a4e('0x38fa')]=_0x3d2719,this[_0x1a4e('0x4063')]=_0x2e75c5||this['_viewer']['clock']['currentTime'];}return Object[_0x1a4e('0x2')](_0x3d2719[_0x1a4e('0xa')],'id',{'get':function(){return this['_id'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3d2719[_0x1a4e('0xa')],_0x1a4e('0x4058'),{'get':function(){return this[_0x1a4e('0x4063')];},'set':function(_0x3d2719){this[_0x1a4e('0x4063')]=_0x3d2719,this[_0x1a4e('0x5212')]&&this[_0x1a4e('0x5212')][_0x1a4e('0x4066')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3d2719['prototype'],'endTime',{'get':function(){return this['_endTime'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3d2719[_0x1a4e('0xa')],_0x1a4e('0x5213'),{'get':function(){return this[_0x1a4e('0x5214')];},'set':function(_0x3d2719){this[_0x1a4e('0x5214')]=_0x3d2719,this[_0x1a4e('0x1f7')]();},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3d2719[_0x1a4e('0xa')],'pathManager',{'set':function(_0x3d2719){this[_0x1a4e('0x5212')]=_0x3d2719;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x3d2719[_0x1a4e('0xa')],'onStop',{'get':function(){return this[_0x1a4e('0x5211')];},'set':function(_0x3d2719){this[_0x1a4e('0x5211')]=_0x3d2719;},'enumerable':!0x0,'configurable':!0x0}),_0x3d2719[_0x1a4e('0xa')][_0x1a4e('0x1f7')]=function(){var _0x3d2719=this,_0x2e75c5=this['pathPositions'][this['pathPositions'][_0x1a4e('0x1e')]-0x1][_0x1a4e('0x129a')];this[_0x1a4e('0x4068')]=Cesium['JulianDate'][_0x1a4e('0x406b')](this['_startTime'],_0x2e75c5,new Cesium[(_0x1a4e('0x39a9'))]());var _0x9317ff=new Cesium[(_0x1a4e('0x40bc'))]();this[_0x1a4e('0x5213')][_0x1a4e('0x3b')](function(_0x2e75c5){var _0x558aa6=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x3d2719[_0x1a4e('0x4063')],_0x2e75c5[_0x1a4e('0x129a')],new Cesium[(_0x1a4e('0x39a9'))]());_0x9317ff[_0x1a4e('0x4b6f')](_0x558aa6,_0x42b07c[_0x1a4e('0x38da')]['toCartesian3'](_0x2e75c5[_0x1a4e('0xc4')]));}),this[_0x1a4e('0x520f')]=_0x9317ff;},_0x3d2719[_0x1a4e('0xa')]['bindCamera']=function(_0x3d2719){var _0x2e75c5=this;_0x3d2719[_0x1a4e('0x3b')](function(_0x3d2719){void 0x0===_0x3d2719[_0x1a4e('0x4058')]?_0x3d2719[_0x1a4e('0x4058')]=0x0:_0x3d2719[_0x1a4e('0x4058')],void 0x0===_0x3d2719[_0x1a4e('0x4067')]?_0x3d2719['endTime']=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x2e75c5[_0x1a4e('0x4068')],_0x2e75c5[_0x1a4e('0x4063')]):_0x3d2719[_0x1a4e('0x4067')],_0x2e75c5[_0x1a4e('0x5215')][_0x1a4e('0x46')]({'startTime':Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x2e75c5[_0x1a4e('0x4063')],_0x3d2719[_0x1a4e('0x4058')],new Cesium['JulianDate']()),'endTime':Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x2e75c5[_0x1a4e('0x4063')],_0x3d2719[_0x1a4e('0x4067')],new Cesium['JulianDate']()),'operation':_0x1a4e('0x5216'),'isTrack':_0x3d2719[_0x1a4e('0x5217')],'relativePosParam':_0x3d2719['relativePosParam'],'callback':_0x3d2719['callback']});});},_0x3d2719['prototype'][_0x1a4e('0x5218')]=function(_0x3d2719,_0x2e75c5,_0x9317ff){this[_0x1a4e('0x5219')](_0x3d2719,_0x2e75c5,_0x9317ff);},_0x3d2719[_0x1a4e('0xa')][_0x1a4e('0x5219')]=function(_0x3d2719,_0x2e75c5,_0x9317ff){var _0x42b07c=this;_0x9317ff||(_0x9317ff={'move':[{}]}),_0x9317ff[_0x1a4e('0x521a')]||(_0x9317ff[_0x1a4e('0x521a')]=[{}]),Object[_0x1a4e('0x56')](_0x9317ff)['forEach'](function(_0x558aa6){if(_0x9317ff[_0x558aa6])switch(_0x558aa6){case _0x1a4e('0x521a'):_0x9317ff[_0x558aa6][_0x1a4e('0x3b')](function(_0x9317ff){void 0x0===_0x9317ff[_0x1a4e('0x4058')]?_0x9317ff[_0x1a4e('0x4058')]=0x0:_0x9317ff[_0x1a4e('0x4058')],void 0x0===_0x9317ff[_0x1a4e('0x4067')]?_0x9317ff[_0x1a4e('0x4067')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x42b07c[_0x1a4e('0x4068')],_0x42b07c[_0x1a4e('0x4063')]):_0x9317ff[_0x1a4e('0x4067')],_0x42b07c['_actions'][_0x1a4e('0x46')]({'startTime':Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x42b07c[_0x1a4e('0x4063')],_0x9317ff[_0x1a4e('0x4058')],new Cesium[(_0x1a4e('0x39a9'))]()),'endTime':Cesium[_0x1a4e('0x39a9')]['addSeconds'](_0x42b07c['_startTime'],_0x9317ff['endTime'],new Cesium[(_0x1a4e('0x39a9'))]()),'graphic':_0x3d2719,'operation':_0x558aa6,'relativePosParam':_0x2e75c5,'moveCallback':_0x9317ff['moveCallback']});});break;case _0x1a4e('0x3efe'):_0x9317ff[_0x558aa6]['forEach'](function(_0x2e75c5){void 0x0===_0x2e75c5[_0x1a4e('0x4058')]?_0x2e75c5[_0x1a4e('0x4058')]=0x0:_0x2e75c5[_0x1a4e('0x4058')],void 0x0===_0x2e75c5[_0x1a4e('0x4067')]?_0x2e75c5[_0x1a4e('0x4067')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x42b07c['_endTime'],_0x42b07c[_0x1a4e('0x4063')]):_0x2e75c5[_0x1a4e('0x4067')],_0x42b07c[_0x1a4e('0x5215')][_0x1a4e('0x46')]({'startTime':Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x42b07c[_0x1a4e('0x4063')],_0x2e75c5[_0x1a4e('0x4058')],new Cesium[(_0x1a4e('0x39a9'))]()),'endTime':Cesium['JulianDate']['addSeconds'](_0x42b07c['_startTime'],_0x2e75c5[_0x1a4e('0x4067')],new Cesium[(_0x1a4e('0x39a9'))]()),'graphic':_0x3d2719,'operation':_0x558aa6,'factor':_0x2e75c5[_0x1a4e('0x40ce')]});});break;case _0x1a4e('0x3b2c'):_0x9317ff[_0x558aa6][_0x1a4e('0x3b')](function(_0x2e75c5){void 0x0===_0x2e75c5[_0x1a4e('0x4058')]?_0x2e75c5['startTime']=0x0:_0x2e75c5[_0x1a4e('0x4058')],void 0x0===_0x2e75c5[_0x1a4e('0x4067')]?_0x2e75c5[_0x1a4e('0x4067')]=Cesium['JulianDate'][_0x1a4e('0x409c')](_0x42b07c[_0x1a4e('0x4068')],_0x42b07c['_startTime']):_0x2e75c5[_0x1a4e('0x4067')],_0x42b07c[_0x1a4e('0x5215')][_0x1a4e('0x46')]({'startTime':Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x42b07c[_0x1a4e('0x4063')],_0x2e75c5['startTime'],new Cesium[(_0x1a4e('0x39a9'))]()),'endTime':Cesium['JulianDate'][_0x1a4e('0x406b')](_0x42b07c[_0x1a4e('0x4063')],_0x2e75c5[_0x1a4e('0x4067')],new Cesium[(_0x1a4e('0x39a9'))]()),'graphic':_0x3d2719,'operation':_0x558aa6,'factor':_0x2e75c5[_0x1a4e('0x40af')]});});break;case _0x1a4e('0x521b'):_0x9317ff[_0x558aa6]['forEach'](function(_0x2e75c5){void 0x0===_0x2e75c5[_0x1a4e('0x4058')]?_0x2e75c5[_0x1a4e('0x4058')]=0x0:_0x2e75c5['startTime'],void 0x0===_0x2e75c5[_0x1a4e('0x4067')]?_0x2e75c5[_0x1a4e('0x4067')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x42b07c['_endTime'],_0x42b07c[_0x1a4e('0x4063')]):_0x2e75c5[_0x1a4e('0x4067')],_0x42b07c[_0x1a4e('0x5215')][_0x1a4e('0x46')]({'startTime':Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x42b07c['_startTime'],_0x2e75c5[_0x1a4e('0x4058')],new Cesium[(_0x1a4e('0x39a9'))]()),'endTime':Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x42b07c[_0x1a4e('0x4063')],_0x2e75c5['endTime'],new Cesium[(_0x1a4e('0x39a9'))]()),'graphic':_0x3d2719,'operation':_0x558aa6,'factor':_0x2e75c5['factor']});});}});},_0x3d2719[_0x1a4e('0xa')][_0x1a4e('0x521c')]=function(_0x3d2719,_0x2e75c5,_0x9317ff,_0x7e8588,_0x18c3b2){var _0x584839=this;this[_0x1a4e('0x5215')]['forEach'](function(_0x47f7e0,_0x56a82b){if(_0x47f7e0['startTime']&&Cesium['JulianDate'][_0x1a4e('0x77')](_0x3d2719,_0x47f7e0[_0x1a4e('0x4058')])>0x0)if(Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x3d2719,_0x47f7e0[_0x1a4e('0x4067')])>0x0)_0x584839[_0x1a4e('0x5215')][_0x1a4e('0x8a')](_0x56a82b,0x1);else switch(_0x47f7e0[_0x1a4e('0x521d')]){case'move':if(_0x47f7e0[_0x1a4e('0x40b6')]){var _0x3f926f=_0x558aa6[_0x1a4e('0x3990')][_0x1a4e('0x40c6')]({'position':_0x2e75c5,'heading':_0x9317ff,'pitch':_0x7e8588,'roll':_0x18c3b2},_0x47f7e0[_0x1a4e('0x40b6')]);_0x47f7e0['graphic']['position']=_0x3f926f[_0x1a4e('0x3553')],_0x47f7e0['graphic'][_0x1a4e('0x3a68')]=_0x3f926f[_0x1a4e('0x3a68')],_0x47f7e0['graphic'][_0x1a4e('0x3a69')]=_0x3f926f[_0x1a4e('0x3a69')],_0x47f7e0[_0x1a4e('0x4072')][_0x1a4e('0x3a9c')]=_0x3f926f[_0x1a4e('0x3a9c')];}else _0x47f7e0[_0x1a4e('0x4072')][_0x1a4e('0x3553')]=_0x2e75c5,_0x47f7e0[_0x1a4e('0x4072')]['heading']=_0x9317ff,_0x47f7e0[_0x1a4e('0x4072')][_0x1a4e('0x3a69')]=_0x7e8588,_0x47f7e0['graphic'][_0x1a4e('0x3a9c')]=_0x18c3b2;_0x47f7e0[_0x1a4e('0x40b9')]&&_0x47f7e0[_0x1a4e('0x40b9')](_0x2e75c5,_0x9317ff,_0x7e8588,_0x18c3b2,_0x3d2719);break;case'pixelSize':_0x47f7e0[_0x1a4e('0x521e')]||(_0x47f7e0['spanTime']=Cesium['JulianDate'][_0x1a4e('0x409c')](_0x47f7e0[_0x1a4e('0x4067')],_0x47f7e0[_0x1a4e('0x4058')]));var _0xcd4b78=Cesium['JulianDate'][_0x1a4e('0x409c')](_0x3d2719,_0x47f7e0[_0x1a4e('0x4058')])/_0x47f7e0[_0x1a4e('0x521e')],_0x3786cd=_0x47f7e0[_0x1a4e('0x40ce')]*_0xcd4b78;_0x584839[_0x1a4e('0x40d1')](_0x47f7e0,_0x3786cd);break;case'visible':_0x47f7e0[_0x1a4e('0x4072')][_0x1a4e('0x3b2c')]=Boolean(Math['floor'](_0x3d2719['secondsOfDay'])%_0x47f7e0['factor']);break;case'dilute':_0x47f7e0['spanTime']||(_0x47f7e0[_0x1a4e('0x521e')]=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x47f7e0['startTime'],_0x47f7e0[_0x1a4e('0x4067')])),_0xcd4b78=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x47f7e0[_0x1a4e('0x4058')],_0x3d2719)/_0x47f7e0['spanTime'];var _0x2f834f=0x1-_0x47f7e0[_0x1a4e('0x40ce')]*_0xcd4b78;_0x584839[_0x1a4e('0x521f')](_0x47f7e0,_0x2f834f);break;case _0x1a4e('0x5216'):if(_0x47f7e0[_0x1a4e('0x5217')]){var _0x1856e1=void 0x0;if(_0x47f7e0[_0x1a4e('0x40b6')]){_0x3f926f=_0x558aa6[_0x1a4e('0x3990')]['calculateMatrix']({'position':_0x2e75c5,'heading':0x0,'pitch':0x0,'roll':0x0},_0x47f7e0[_0x1a4e('0x40b6')]);_0x1856e1={'destination':_0x42b07c[_0x1a4e('0x38da')][_0x1a4e('0x3949')](_0x3f926f[_0x1a4e('0x3553')]),'orientation':{'heading':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x9317ff+0x5a+_0x47f7e0[_0x1a4e('0x40b6')][_0x1a4e('0x3a68')]),'pitch':Cesium[_0x1a4e('0x1020')]['toRadians'](_0x7e8588+_0x47f7e0['relativePosParam'][_0x1a4e('0x3a69')]),'roll':_0x18c3b2}};}else _0x1856e1={'destination':_0x42b07c[_0x1a4e('0x38da')]['toCartesian3'](_0x2e75c5),'orientation':{'heading':Cesium['Math']['toRadians'](_0x9317ff+0x5a),'pitch':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x7e8588),'roll':_0x18c3b2}};_0x584839[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x3a9f')](_0x1856e1);}_0x47f7e0[_0x1a4e('0x13db')]&&_0x47f7e0['callback'](_0x2e75c5,_0x9317ff,_0x7e8588,_0x18c3b2,_0x3d2719);}});},_0x3d2719[_0x1a4e('0xa')][_0x1a4e('0x40d1')]=function(_0x3d2719,_0x2e75c5){var _0x9317ff=_0x3d2719[_0x1a4e('0x4072')];switch(_0x9317ff[_0x1a4e('0x3cc')]()){case'PointGraphic':_0x3d2719[_0x1a4e('0x5220')]||(_0x3d2719[_0x1a4e('0x5220')]=_0x9317ff[_0x1a4e('0x3efe')]),_0x9317ff['pixelSize']=_0x3d2719[_0x1a4e('0x5220')]*_0x2e75c5;break;case _0x1a4e('0x3e2a'):case _0x1a4e('0x397c'):case _0x1a4e('0x3e31'):case'FlagGraphic':case _0x1a4e('0x3e2e'):case _0x1a4e('0x3e47'):case'LabelBillboardGraphic':_0x3d2719['originSize']||(_0x3d2719[_0x1a4e('0x5220')]=_0x9317ff[_0x1a4e('0x143')]),_0x9317ff[_0x1a4e('0x143')]=_0x3d2719['originSize']*_0x2e75c5;break;case _0x1a4e('0x3e8f'):case'PolylineGraphic':_0x3d2719['originSize']||(_0x3d2719[_0x1a4e('0x5220')]=_0x9317ff['width']),_0x9317ff[_0x1a4e('0x3936')]=_0x3d2719[_0x1a4e('0x5220')]*_0x2e75c5;break;case _0x1a4e('0x3e34'):_0x3d2719[_0x1a4e('0x5220')]||(_0x3d2719[_0x1a4e('0x5220')]=_0x9317ff['rasterWidth']),_0x9317ff[_0x1a4e('0x40d4')]=_0x3d2719[_0x1a4e('0x5220')]*_0x2e75c5;break;case'JBPointGraphic':_0x3d2719['originSize']||(_0x3d2719[_0x1a4e('0x5220')]=_0x9317ff['size']),_0x9317ff[_0x1a4e('0x220')]=_0x3d2719['originSize']*_0x2e75c5;}},_0x3d2719[_0x1a4e('0xa')][_0x1a4e('0x521f')]=function(_0x3d2719,_0x2e75c5){var _0x9317ff=_0x3d2719[_0x1a4e('0x4072')];switch(_0x9317ff['getType']()){case _0x1a4e('0x3984'):if(!_0x3d2719[_0x1a4e('0x134')]){var _0x42b07c=_0x9317ff[_0x1a4e('0x134')];if(new RegExp(_0x1a4e('0x5221'))['test'](_0x42b07c)){var _0x558aa6=_0x9317ff[_0x1a4e('0x134')];_0x3d2719[_0x1a4e('0x134')]=this[_0x1a4e('0x5222')](_0x558aa6),_0x3d2719[_0x1a4e('0x4203')]=0x4===_0x3d2719['color']['length']?_0x3d2719[_0x1a4e('0x134')][0x3]:_0x3d2719[_0x1a4e('0x134')][0x0];}else _0x3d2719[_0x1a4e('0x134')]=0x1;}0x1!==_0x3d2719[_0x1a4e('0x134')]&&(_0x9317ff[_0x1a4e('0x134')]='rgba('+_0x3d2719['color'][0x0]+','+_0x3d2719['color'][0x1]+','+_0x3d2719['color'][0x2]+','+_0x3d2719['transparent']*_0x2e75c5+')');}},_0x3d2719[_0x1a4e('0xa')]['_parseRGB']=function(_0x3d2719){var _0x2e75c5=_0x3d2719[_0x1a4e('0x2be')](','),_0x9317ff=[];return _0x2e75c5[_0x1a4e('0x3b')](function(_0x3d2719){_0x9317ff[_0x1a4e('0x46')](Number(_0x3d2719[_0x1a4e('0x115')](/[^0-9]/gi,'')));}),_0x9317ff;},Object[_0x1a4e('0x2')](_0x3d2719[_0x1a4e('0xa')],'callback',{'get':function(){return this[_0x1a4e('0x16a4')];},'set':function(_0x3d2719){this[_0x1a4e('0x16a4')]=_0x3d2719;},'enumerable':!0x0,'configurable':!0x0}),_0x3d2719;}();},'./src/Utils/PathManager.ts':function(_0x3e4a5d,_0x539a85,_0x5ba0a2){'use strict';_0x5ba0a2['r'](_0x539a85),_0x5ba0a2['d'](_0x539a85,_0x1a4e('0x5223'),function(){return _0x1165ee;}),_0x5ba0a2['d'](_0x539a85,_0x1a4e('0x5224'),function(){return _0x18b377;}),_0x5ba0a2['d'](_0x539a85,_0x1a4e('0x5225'),function(){return _0x10c1bf;});var _0x18b377,_0x10c1bf,_0x1165ee=function(){function _0x3e4a5d(_0x3e4a5d){this[_0x1a4e('0x5226')]=[],this[_0x1a4e('0x40db')]=0x1,this[_0x1a4e('0x38fa')]=_0x3e4a5d,this[_0x1a4e('0x37b7')]=_0x18b377['NotStart'];}return Object[_0x1a4e('0x2')](_0x3e4a5d[_0x1a4e('0xa')],'speed',{'get':function(){return this['_multiplier'];},'set':function(_0x3e4a5d){_0x1a4e('0x3d')==typeof _0x3e4a5d&&(this['_multiplier']=_0x3e4a5d,this[_0x1a4e('0x40e4')]&&(this[_0x1a4e('0x40e4')][_0x1a4e('0x40e5')]=_0x3e4a5d));},'enumerable':!0x0,'configurable':!0x0}),_0x3e4a5d['prototype'][_0x1a4e('0x5227')]=function(_0x3e4a5d){_0x3e4a5d&&_0x3e4a5d['id']&&(this[_0x1a4e('0x5226')]['push'](_0x3e4a5d),this['_startTime']?Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x3e4a5d[_0x1a4e('0x4058')],this[_0x1a4e('0x4063')])<0x0&&(this['_startTime']=_0x3e4a5d[_0x1a4e('0x4058')]):this[_0x1a4e('0x4063')]=_0x3e4a5d['startTime'],this[_0x1a4e('0x4068')]?Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x3e4a5d[_0x1a4e('0x4067')],this[_0x1a4e('0x4068')])>0x0&&(this[_0x1a4e('0x4068')]=_0x3e4a5d['endTime']):this['_endTime']=_0x3e4a5d[_0x1a4e('0x4067')]);},_0x3e4a5d['prototype'][_0x1a4e('0x5228')]=function(_0x3e4a5d){if(_0x3e4a5d&&_0x3e4a5d['id']){_0x3e4a5d[_0x1a4e('0x5229')]=null;for(var _0x539a85=this[_0x1a4e('0x5226')],_0x5ba0a2=0x0;_0x5ba0a2<_0x539a85['length'];_0x5ba0a2++){var _0x18b377=_0x539a85[_0x5ba0a2];if(_0x3e4a5d['id']===_0x18b377['id']){_0x539a85[_0x1a4e('0x8a')](_0x5ba0a2,0x1);break;}}this[_0x1a4e('0x4066')]();}},_0x3e4a5d[_0x1a4e('0xa')][_0x1a4e('0x522a')]=function(){this[_0x1a4e('0x5226')]=[],this[_0x1a4e('0x4063')]=null,this[_0x1a4e('0x4068')]=null;},_0x3e4a5d['prototype']['start']=function(){if(this[_0x1a4e('0x37b7')]===_0x18b377[_0x1a4e('0x407f')]){if(!this[_0x1a4e('0x4063')]||!this[_0x1a4e('0x4068')])return;this[_0x1a4e('0x40e4')]||(this[_0x1a4e('0x40e4')]=new Cesium['Clock']({'clockRange':Cesium['ClockRange'][_0x1a4e('0x40fc')],'clockStep':Cesium[_0x1a4e('0x40fd')][_0x1a4e('0x40fe')],'multiplier':this[_0x1a4e('0x40db')]})),this[_0x1a4e('0x40e4')][_0x1a4e('0x4058')]=this[_0x1a4e('0x4063')],this['_clock'][_0x1a4e('0x407a')]=this[_0x1a4e('0x4068')],this['_clock']['shouldAnimate']=!0x0,this[_0x1a4e('0x40ff')]=this[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](this[_0x1a4e('0x40f2')],this),this[_0x1a4e('0x37b7')]=_0x18b377['Start'];}else this['_state']===_0x18b377[_0x1a4e('0x40f4')]?this[_0x1a4e('0x40f5')]():this[_0x1a4e('0x37b7')]===_0x18b377[_0x1a4e('0x4081')]&&(this[_0x1a4e('0x40e4')]['shouldAnimate']=!0x0);this['_startCallBack']&&this[_0x1a4e('0x40f6')]();},_0x3e4a5d[_0x1a4e('0xa')][_0x1a4e('0x139d')]=function(){this[_0x1a4e('0x40e4')][_0x1a4e('0x40f3')]=!0x1,this[_0x1a4e('0x40e4')]['currentTime']=this['_clock'][_0x1a4e('0x40f8')](),this['_state']=_0x18b377['Pause'],this[_0x1a4e('0x40fa')]&&this[_0x1a4e('0x40fa')]();},_0x3e4a5d[_0x1a4e('0xa')][_0x1a4e('0x40f5')]=function(){this[_0x1a4e('0x40e4')]=new Cesium[(_0x1a4e('0x40f0'))]({'clockRange':Cesium['ClockRange'][_0x1a4e('0x40fc')],'clockStep':Cesium[_0x1a4e('0x40fd')][_0x1a4e('0x40fe')],'multiplier':this[_0x1a4e('0x40db')]}),this['_clock'][_0x1a4e('0x4058')]=this[_0x1a4e('0x4063')],this['_clock'][_0x1a4e('0x407a')]=this[_0x1a4e('0x4068')],this[_0x1a4e('0x40e4')][_0x1a4e('0x40f7')]=this[_0x1a4e('0x4063')],this[_0x1a4e('0x40e4')]['shouldAnimate']=!0x0,this[_0x1a4e('0x40ff')]||(this[_0x1a4e('0x40ff')]=this[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x3b3f')][_0x1a4e('0xec5')](this[_0x1a4e('0x40f2')],this)),this[_0x1a4e('0x37b7')]=_0x18b377['ReStart'];},_0x3e4a5d['prototype'][_0x1a4e('0x127b')]=function(){this['_clock'][_0x1a4e('0x40f3')]=!0x1,this[_0x1a4e('0x4110')](),this[_0x1a4e('0x37b7')]=_0x18b377[_0x1a4e('0x40f4')],this[_0x1a4e('0x4101')]&&this[_0x1a4e('0x4101')]();},_0x3e4a5d[_0x1a4e('0xa')]['setStartCallBack']=function(_0x3e4a5d){this['_startCallBack']=_0x3e4a5d;},_0x3e4a5d[_0x1a4e('0xa')][_0x1a4e('0x522b')]=function(_0x3e4a5d){this[_0x1a4e('0x40fa')]=_0x3e4a5d;},_0x3e4a5d[_0x1a4e('0xa')][_0x1a4e('0x522c')]=function(_0x3e4a5d){this[_0x1a4e('0x522d')]=_0x3e4a5d;},_0x3e4a5d[_0x1a4e('0xa')][_0x1a4e('0x522e')]=function(_0x3e4a5d){this[_0x1a4e('0x4101')]=_0x3e4a5d;},_0x3e4a5d[_0x1a4e('0xa')][_0x1a4e('0x40f2')]=function(){var _0x3e4a5d=this[_0x1a4e('0x40e4')][_0x1a4e('0x40f8')]();this['_pathCollection'][_0x1a4e('0x3b')](function(_0x539a85){_0x539a85[_0x1a4e('0x520e')](_0x3e4a5d);}),this[_0x1a4e('0x522d')]&&this[_0x1a4e('0x522d')],Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x3e4a5d,this[_0x1a4e('0x4068')])>=0x0&&this['stop']();},_0x3e4a5d[_0x1a4e('0xa')]['_removeTickListener']=function(){this[_0x1a4e('0x40ff')]&&(this[_0x1a4e('0x40ff')](),this['_tickListener']=null);},_0x3e4a5d[_0x1a4e('0xa')][_0x1a4e('0x4066')]=function(){var _0x3e4a5d=this[_0x1a4e('0x5226')],_0x539a85=null,_0x5ba0a2=null;_0x3e4a5d[_0x1a4e('0x3b')](function(_0x3e4a5d){_0x539a85?Cesium['JulianDate'][_0x1a4e('0x77')](_0x3e4a5d['startTime'],_0x539a85)<0x0&&(_0x539a85=_0x3e4a5d[_0x1a4e('0x4058')]):_0x539a85=_0x3e4a5d[_0x1a4e('0x4058')],_0x5ba0a2?Cesium[_0x1a4e('0x39a9')]['compare'](_0x3e4a5d[_0x1a4e('0x4067')],_0x5ba0a2)>0x0&&(_0x5ba0a2=_0x3e4a5d[_0x1a4e('0x4067')]):_0x5ba0a2=_0x3e4a5d[_0x1a4e('0x4067')];}),this[_0x1a4e('0x4063')]=_0x539a85,this[_0x1a4e('0x4068')]=_0x5ba0a2,_0x539a85&&_0x5ba0a2&&this['_clock']&&(this[_0x1a4e('0x40e4')]['startTime']=_0x539a85,this[_0x1a4e('0x40e4')][_0x1a4e('0x407a')]=_0x5ba0a2);},_0x3e4a5d;}();!function(_0x3e4a5d){_0x3e4a5d['NotStart']=_0x1a4e('0x4080'),_0x3e4a5d[_0x1a4e('0x3498')]=_0x1a4e('0xc9'),_0x3e4a5d[_0x1a4e('0x4081')]='pause',_0x3e4a5d[_0x1a4e('0x40f4')]='stop',_0x3e4a5d[_0x1a4e('0x4082')]=_0x1a4e('0x4111');}(_0x18b377||(_0x18b377={})),function(_0x3e4a5d){_0x3e4a5d[_0x1a4e('0x18fb')]=_0x1a4e('0x522f'),_0x3e4a5d['Single']='single';}(_0x10c1bf||(_0x10c1bf={}));},'./src/Utils/Picking.ts':function(_0x41e17f,_0x2f788e,_0x8a5097){'use strict';_0x8a5097['r'](_0x2f788e),_0x8a5097['d'](_0x2f788e,_0x1a4e('0x3ed8'),function(){return _0x406103;});var _0x523f2f=_0x8a5097('./src/Utils/GeoPoint.ts'),_0x406103=function(){function _0x41e17f(_0x41e17f){this['scratchPerspectiveFrustum']=new Cesium['PerspectiveFrustum'](),this[_0x1a4e('0x5230')]=new Cesium['PerspectiveOffCenterFrustum'](),this[_0x1a4e('0x5231')]=new Cesium[(_0x1a4e('0x5232'))](),this[_0x1a4e('0x5233')]=new Cesium[(_0x1a4e('0x5234'))](),this['scratchPerspPickingFrustum']=new Cesium[(_0x1a4e('0x5235'))](),this[_0x1a4e('0x5236')]=new Cesium['OrthographicOffCenterFrustum'](),this[_0x1a4e('0x5237')]=new Cesium[(_0x1a4e('0x393e'))](),this[_0x1a4e('0x38fa')]=_0x41e17f;}return _0x41e17f[_0x1a4e('0xa')][_0x1a4e('0x5238')]=function(_0x41e17f,_0x2f788e,_0x8a5097,_0x523f2f,_0x406103){var _0x5b9f8f=_0x41e17f[_0x1a4e('0x3a06')],_0x4d62a6=_0x5b9f8f[_0x1a4e('0x3a51')];Cesium[_0x1a4e('0x3a0b')](_0x4d62a6[_0x1a4e('0x5239')])&&(_0x4d62a6=_0x4d62a6[_0x1a4e('0x5239')]);var _0x5f1341=0x2*(_0x2f788e['x']-_0x406103['x'])/_0x406103['width']-0x1;_0x5f1341*=0.5*(_0x4d62a6['right']-_0x4d62a6[_0x1a4e('0x5f')]);var _0x50a2de=0x2*(_0x406103['height']-_0x2f788e['y']-_0x406103['y'])/_0x406103[_0x1a4e('0x152')]-0x1;_0x50a2de*=0.5*(_0x4d62a6[_0x1a4e('0x5e')]-_0x4d62a6[_0x1a4e('0x5c')]);var _0x3dd737=Cesium['Matrix4']['clone'](_0x5b9f8f['transform'],new Cesium['Matrix4']());_0x5b9f8f[_0x1a4e('0x523a')](Cesium[_0x1a4e('0x3a29')][_0x1a4e('0x3a2a')]);var _0x1cc35e=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x240')](_0x5b9f8f[_0x1a4e('0x3553')],new Cesium[(_0x1a4e('0x393e'))]());Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3c36')](_0x5b9f8f[_0x1a4e('0x5d')],_0x5f1341,this[_0x1a4e('0x5237')]),Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](this['scratchOrthoDirection'],_0x1cc35e,_0x1cc35e),Cesium[_0x1a4e('0x393e')]['multiplyByScalar'](_0x5b9f8f['up'],_0x50a2de,this['scratchOrthoDirection']),Cesium[_0x1a4e('0x393e')][_0x1a4e('0x177')](this[_0x1a4e('0x5237')],_0x1cc35e,_0x1cc35e),_0x5b9f8f[_0x1a4e('0x523a')](_0x3dd737),_0x41e17f['mode']===Cesium[_0x1a4e('0x3a55')][_0x1a4e('0x3da1')]&&Cesium['Cartesian3'][_0x1a4e('0x3a73')](_0x1cc35e['z'],_0x1cc35e['x'],_0x1cc35e['y'],_0x1cc35e);var _0x5d8dcf=_0x4d62a6['getPixelDimensions'](_0x406103[_0x1a4e('0x3936')],_0x406103[_0x1a4e('0x152')],0x1,0x1,new Cesium[(_0x1a4e('0x3952'))]()),_0x48f1c0=this[_0x1a4e('0x5236')];return _0x48f1c0[_0x1a4e('0x5d')]=0.5*_0x5d8dcf['x'],_0x48f1c0[_0x1a4e('0x5f')]=-_0x48f1c0[_0x1a4e('0x5d')],_0x48f1c0[_0x1a4e('0x5e')]=0.5*_0x5d8dcf['y'],_0x48f1c0[_0x1a4e('0x5c')]=-_0x48f1c0['top'],_0x48f1c0[_0x1a4e('0x3aa2')]=_0x4d62a6[_0x1a4e('0x3aa2')],_0x48f1c0[_0x1a4e('0x3aaa')]=_0x4d62a6[_0x1a4e('0x3aaa')],_0x48f1c0[_0x1a4e('0x4348')](_0x1cc35e,_0x5b9f8f['directionWC'],_0x5b9f8f[_0x1a4e('0x434a')]);},_0x41e17f[_0x1a4e('0xa')]['getPickPerspectiveCullingVolume']=function(_0x41e17f,_0x2f788e,_0x8a5097,_0x523f2f,_0x406103){var _0x49fbf0=_0x41e17f['camera'],_0x26bc54=_0x49fbf0['frustum'],_0x582e27=_0x26bc54[_0x1a4e('0x3aa2')],_0x175e0e=Math[_0x1a4e('0xbe')](0.5*_0x26bc54['fovy']),_0x1e9d32=_0x26bc54[_0x1a4e('0x523b')]*_0x175e0e,_0x234b8c=(0x2*(_0x2f788e['x']-_0x406103['x'])/_0x406103['width']-0x1)*_0x582e27*_0x1e9d32,_0xdc7d6=(0x2*(_0x406103[_0x1a4e('0x152')]-_0x2f788e['y']-_0x406103['y'])/_0x406103[_0x1a4e('0x152')]-0x1)*_0x582e27*_0x175e0e,_0x7298cb=_0x26bc54[_0x1a4e('0x523c')](_0x406103[_0x1a4e('0x3936')],_0x406103[_0x1a4e('0x152')],0x1,0x1,new Cesium[(_0x1a4e('0x3952'))]()),_0x1981ed=_0x7298cb['x']*_0x8a5097*0.5,_0x4c5bca=_0x7298cb['y']*_0x523f2f*0.5,_0x3d5a8b=this[_0x1a4e('0x523d')];return _0x3d5a8b['top']=_0xdc7d6+_0x4c5bca,_0x3d5a8b['bottom']=_0xdc7d6-_0x4c5bca,_0x3d5a8b[_0x1a4e('0x5d')]=_0x234b8c+_0x1981ed,_0x3d5a8b['left']=_0x234b8c-_0x1981ed,_0x3d5a8b[_0x1a4e('0x3aa2')]=_0x582e27,_0x3d5a8b[_0x1a4e('0x3aaa')]=_0x26bc54[_0x1a4e('0x3aaa')],_0x3d5a8b['computeCullingVolume'](_0x49fbf0[_0x1a4e('0x3d87')],_0x49fbf0[_0x1a4e('0x4349')],_0x49fbf0[_0x1a4e('0x434a')]);},_0x41e17f[_0x1a4e('0xa')][_0x1a4e('0x523e')]=function(_0x41e17f,_0x2f788e,_0x8a5097,_0x523f2f,_0x406103){var _0x5f0fa1=_0x41e17f[_0x1a4e('0x3a06')][_0x1a4e('0x3a51')];return _0x5f0fa1 instanceof Cesium[_0x1a4e('0x5232')]||_0x5f0fa1 instanceof Cesium[_0x1a4e('0x5234')]?this[_0x1a4e('0x5238')](_0x41e17f,_0x2f788e,_0x8a5097,_0x523f2f,_0x406103):this[_0x1a4e('0x523f')](_0x41e17f,_0x2f788e,_0x8a5097,_0x523f2f,_0x406103);},_0x41e17f[_0x1a4e('0xa')][_0x1a4e('0x5240')]=function(_0x41e17f,_0x2f788e){var _0x8a5097=_0x41e17f[_0x1a4e('0x8cb')],_0x523f2f=_0x41e17f[_0x1a4e('0x3a9b')],_0x406103=_0x41e17f['environmentState'],_0x3cd169=_0x41e17f['defaultView'];_0x41e17f['view']=_0x3cd169;var _0x31c2a6=_0x3cd169[_0x1a4e('0x464b')];_0x31c2a6['x']=0x0,_0x31c2a6['y']=0x0,_0x31c2a6[_0x1a4e('0x3936')]=_0x8a5097['drawingBufferWidth'],_0x31c2a6[_0x1a4e('0x152')]=_0x8a5097[_0x1a4e('0x3d4b')];var _0x39c83e=_0x3cd169[_0x1a4e('0x5241')];_0x39c83e['viewport']=Cesium[_0x1a4e('0x4629')][_0x1a4e('0x240')](_0x31c2a6,_0x39c83e[_0x1a4e('0x464b')]),_0x41e17f[_0x1a4e('0x5242')](_0x523f2f[_0x1a4e('0x45df')]),_0x523f2f['passes'][_0x1a4e('0x106e')]=!0x0,_0x523f2f['passes'][_0x1a4e('0x4cd')]=!0x0,_0x523f2f[_0x1a4e('0x506d')]=this[_0x1a4e('0x523e')](_0x41e17f,_0x2f788e,0x1,0x1,_0x31c2a6);var _0x2a26c8=new Cesium[(_0x1a4e('0x5243'))]({'pass':Cesium[_0x1a4e('0x5244')][_0x1a4e('0x5245')]});_0x523f2f['tilesetPassState']=_0x2a26c8,_0x41e17f['updateEnvironment'](),_0x406103['renderTranslucentDepthForPick']=!0x0,_0x39c83e=_0x3cd169[_0x1a4e('0x5246')]['update'](_0x8a5097,_0x2f788e,_0x31c2a6);var _0x47231a=new Cesium[(_0x1a4e('0x3947'))](0x0,0x0,0x0,0x0);_0x41e17f[_0x1a4e('0x5247')](_0x39c83e,_0x47231a),_0x41e17f[_0x1a4e('0x5248')](_0x39c83e),_0x8a5097[_0x1a4e('0x5249')]();},_0x41e17f[_0x1a4e('0xa')][_0x1a4e('0x524a')]=function(_0x41e17f,_0x2f788e){var _0x8a5097=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')],_0x523f2f=_0x8a5097[_0x1a4e('0x3a9b')],_0x406103=_0x8a5097[_0x1a4e('0x8cb')],_0x19db87=_0x406103[_0x1a4e('0x3cdc')],_0x1f89ca=_0x8a5097[_0x1a4e('0x4680')];_0x8a5097[_0x1a4e('0x1a3')]=_0x1f89ca;var _0x107ba7=Cesium[_0x1a4e('0x4347')][_0x1a4e('0x524b')](_0x8a5097,new Cesium[(_0x1a4e('0x3952'))](_0x41e17f,_0x2f788e));this[_0x1a4e('0x5240')](_0x8a5097,_0x107ba7),_0x107ba7['y']=_0x8a5097[_0x1a4e('0x3d4b')]-_0x107ba7['y'];var _0x109533,_0x402e6e,_0x3901c9=_0x8a5097['camera'];Cesium['defined'](_0x3901c9[_0x1a4e('0x3a51')][_0x1a4e('0x3aa1')])?_0x109533=_0x3901c9[_0x1a4e('0x3a51')]['clone'](this[_0x1a4e('0x524c')]):Cesium[_0x1a4e('0x3a0b')](_0x3901c9[_0x1a4e('0x3a51')][_0x1a4e('0x524d')])?(_0x109533=_0x3901c9['frustum'][_0x1a4e('0x240')](this[_0x1a4e('0x5230')]),console[_0x1a4e('0x58')]('camera.frustum.infiniteProjectionMatrix\x20has\x20defined')):Cesium['defined'](_0x3901c9[_0x1a4e('0x3a51')][_0x1a4e('0x3936')])?(_0x109533=_0x3901c9['frustum'][_0x1a4e('0x240')](this[_0x1a4e('0x5231')]),console[_0x1a4e('0x58')](_0x1a4e('0x524e'))):(_0x109533=_0x3901c9[_0x1a4e('0x3a51')]['clone'](this[_0x1a4e('0x5233')]),console['log'](_0x1a4e('0x524f')));for(var _0x2064e1=_0x1f89ca[_0x1a4e('0x5250')],_0x271f3b=_0x2064e1[_0x1a4e('0x1e')],_0x27f562=0x0;_0x27f562<_0x271f3b;_0x27f562++){var _0x277684=_0x8a5097[_0x1a4e('0x5251')][_0x1a4e('0x5252')](_0x8a5097,_0x27f562)[_0x1a4e('0x413')](_0x406103,_0x107ba7['x'],_0x107ba7['y']);if(Cesium[_0x1a4e('0x3a0b')](_0x277684)&&(_0x277684>0x0&&_0x277684<0x1)){var _0x3429a3=_0x2064e1[_0x27f562],_0x460068=void 0x0;return _0x8a5097[_0x1a4e('0xa69')]===Cesium[_0x1a4e('0x3a55')][_0x1a4e('0x3da1')]?(_0x460068=_0x3901c9[_0x1a4e('0x3553')]['z'],_0x3901c9[_0x1a4e('0x3553')]['z']=_0x460068-_0x3429a3[_0x1a4e('0x3aa2')]+0x1,_0x109533[_0x1a4e('0x3aaa')]=Math[_0x1a4e('0x6c')](0x1,_0x3429a3[_0x1a4e('0x3aaa')]-_0x3429a3[_0x1a4e('0x3aa2')]),_0x109533[_0x1a4e('0x3aa2')]=0x1,_0x19db87[_0x1a4e('0x937')](_0x523f2f),_0x19db87[_0x1a4e('0x5253')](_0x109533)):(_0x109533[_0x1a4e('0x3aa2')]=_0x3429a3[_0x1a4e('0x3aa2')]*(0x0!==_0x27f562?_0x8a5097[_0x1a4e('0x5254')]:0x1),_0x109533[_0x1a4e('0x3aaa')]=_0x3429a3[_0x1a4e('0x3aaa')],_0x19db87[_0x1a4e('0x5253')](_0x109533)),_0x402e6e=Cesium[_0x1a4e('0x4347')][_0x1a4e('0x5255')](_0x8a5097,_0x107ba7,_0x277684,_0x402e6e),_0x8a5097[_0x1a4e('0xa69')]===Cesium[_0x1a4e('0x3a55')]['SCENE2D']&&(_0x3901c9[_0x1a4e('0x3553')]['z']=_0x460068,_0x19db87['update'](_0x523f2f)),_0x402e6e;}}},_0x41e17f[_0x1a4e('0xa')][_0x1a4e('0x5256')]=function(_0x41e17f,_0x2f788e){var _0x8a5097=this[_0x1a4e('0x524a')](_0x41e17f,_0x2f788e);if(_0x8a5097)return _0x523f2f[_0x1a4e('0x38da')]['fromCartesian3'](_0x8a5097);},_0x41e17f;}();},'./src/Utils/SpecularReflection.ts':function(_0x1c92cf,_0x46f3df,_0x502e22){'use strict';_0x502e22['r'](_0x46f3df);var _0x4407fa=function(){function _0x1c92cf(_0x46f3df){this[_0x1a4e('0x38d5')]=_0x46f3df,this[_0x1a4e('0x255')]=new Cesium[(_0x1a4e('0x3a6c'))]({'fragmentShader':_0x1c92cf[_0x1a4e('0x3b4a')],'uniforms':{}}),this[_0x1a4e('0x177')]();}return _0x1c92cf[_0x1a4e('0xa')]['remove']=function(){this[_0x1a4e('0x38d5')][_0x1a4e('0x3a08')][_0x1a4e('0x177')](this['value']);},_0x1c92cf[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(){this[_0x1a4e('0x255')]&&!this[_0x1a4e('0x38d5')][_0x1a4e('0x3a08')]['contains'](this[_0x1a4e('0x255')])&&this['viewer'][_0x1a4e('0x3a08')]['add'](this[_0x1a4e('0x255')]);},_0x1c92cf[_0x1a4e('0xa')][_0x1a4e('0x139c')]=function(){this[_0x1a4e('0x255')]&&!this[_0x1a4e('0x255')][_0x1a4e('0x3995')]()&&this['value'][_0x1a4e('0x139c')]();},Object['defineProperty'](_0x1c92cf[_0x1a4e('0xa')],_0x1a4e('0x25e5'),{'get':function(){if(this[_0x1a4e('0x255')])return this[_0x1a4e('0x255')][_0x1a4e('0x1771')];},'set':function(_0x1c92cf){this[_0x1a4e('0x255')]&&(this[_0x1a4e('0x255')][_0x1a4e('0x25e5')]=_0x1c92cf);},'enumerable':!0x0,'configurable':!0x0}),_0x1c92cf[_0x1a4e('0x3b4a')]='\x0a\x20\x20\x20\x20#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20depthTexture;\x0a\x20\x20\x20\x20varying\x20vec2\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec4\x20toEye(in\x20vec2\x20uv,\x20in\x20float\x20depth){\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20xy\x20=\x20vec2((uv.x\x20*\x202.0\x20-\x201.0),(uv.y\x20*\x202.0\x20-\x201.0));\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20posInCamera\x20=czm_inverseProjection\x20*\x20vec4(xy,\x20depth,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20posInCamera\x20=posInCamera\x20/\x20posInCamera.w;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20posInCamera;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20float\x20getDepth(in\x20vec4\x20depth){\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20z_window\x20=\x20czm_unpackDepth(depth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20z_window\x20=\x20czm_reverseLogDepth(z_window);\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20n_range\x20=\x20czm_depthRange.near;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20f_range\x20=\x20czm_depthRange.far;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20(2.0\x20*\x20z_window\x20-\x20n_range\x20-\x20f_range)\x20/\x20(f_range\x20-\x20n_range);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20vec3\x20guussColor(vec2\x20uv){\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20pixelSize\x20=\x201.0\x20/\x20czm_viewport.zw;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20dx0\x20=\x20-pixelSize.x;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20dy0\x20=\x20-pixelSize.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20dx1\x20=\x20pixelSize.x;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20dy1\x20=\x20pixelSize.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20gc\x20=\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20texture2D(colorTexture,\x20uv)+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20texture2D(colorTexture,\x20uv\x20+\x20vec2(dx0,\x20dy0))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20texture2D(colorTexture,\x20uv\x20+\x20vec2(0.0,\x20dy0))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20texture2D(colorTexture,\x20uv\x20+\x20vec2(dx1,\x20dy0))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20texture2D(colorTexture,\x20uv\x20+\x20vec2(dx0,\x200.0))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20texture2D(colorTexture,\x20uv\x20+\x20vec2(dx1,\x200.0))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20texture2D(colorTexture,\x20uv\x20+\x20vec2(dx0,\x20dy1))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20texture2D(colorTexture,\x20uv\x20+\x20vec2(0.0,\x20dy1))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20texture2D(colorTexture,\x20uv\x20+\x20vec2(dx1,\x20dy1))\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x20*\x20(1.0\x20/\x209.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20gc.rgb;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20mat4\x20dither\x20=\x20mat4(\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20\x20\x20\x20\x200,\x20\x20\x20\x20\x20\x20\x200.5,\x20\x20\x20\x200.125,\x20\x200.625,\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20\x20\x20\x20\x200.75,\x20\x20\x20\x200.25,\x20\x20\x200.875,\x20\x200.375,\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20\x20\x20\x20\x200.1875,\x20\x200.6875,\x200.0625,\x200.5625,\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20\x20\x20\x20\x200.9375,\x20\x200.4375,\x200.8125,\x200.3125\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20int\x20sampleCoordX\x20=\x20int(mod((gl_FragCoord.x\x20*\x20v_textureCoordinates.x),4.0));\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20int\x20sampleCoordY\x20=\x20int(mod((gl_FragCoord.y\x20*\x20v_textureCoordinates.y),4.0));\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20offset\x20=\x200.0;\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texture2D(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20currD\x20=\x20texture2D(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20gl_FragColor\x20=\x20currD;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(currD.r>=1.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20depth\x20=\x20getDepth(currD);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20gl_FragColor\x20=\x20vec4(depth,0.0,0.0,1.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20return;\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20positionEC\x20=\x20toEye(v_textureCoordinates,\x20depth);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20dx\x20=\x20dFdx(positionEC.xyz);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20dy\x20=\x20dFdy(positionEC.xyz);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20normal\x20=\x20normalize(cross(dx,dy));\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20positionWC\x20=\x20normalize(czm_inverseView\x20*\x20positionEC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20normalWC\x20=\x20normalize(czm_inverseViewRotation\x20*\x20normal);\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20fotNumWC\x20=\x20dot(positionWC.xyz,normalWC);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(fotNumWC<=0.5){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20float\x20dotNum\x20=\x20dot(normal,vec3(0.0,1.0,0.0));\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20gl_FragColor\x20=\x20mix(color,vec4(1.0),dotNum*0.8);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20return;\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20viewDir\x20=\x20normalize(positionEC.xyz);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20reflectDir\x20=\x20reflect(viewDir,\x20normal);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20vec3\x20viewReflectDir\x20=\x20czm_viewRotation\x20*\x20reflectDir;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20viewReflectDir\x20=\x20reflectDir;\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20step\x20=\x200.05;\x0a\x20\x20\x20\x20\x20\x20\x20\x20int\x20stepNum\x20=\x20int(20.0\x20/\x20step);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20albedo;\x0a\x20\x20\x20\x20\x20\x20\x20\x20bool\x20jd\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(int\x20i\x20=\x201;i\x20<=\x20400;i++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20delta\x20=\x20step\x20*\x20float(i)\x20+\x20offset;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20positionEC.xyz\x20+\x20viewReflectDir\x20*\x20delta;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20d\x20=\x20-pos.z;\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20tmp\x20=\x20czm_projection\x20*\x20vec4(pos,1.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20screenPos\x20=\x20tmp.xyz\x20/\x20tmp.w;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uv\x20=\x20vec2(screenPos.x,\x20screenPos.y)\x20*\x200.5\x20+\x20vec2(0.5,\x200.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(uv.x\x20>\x200.0\x20&&\x20uv.x\x20<\x201.0\x20&&\x20uv.y\x20>\x200.0\x20&&\x20uv.y\x20<\x201.0){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dd\x20=\x20getDepth(texture2D(depthTexture,\x20uv));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20jzc\x20=\x20toEye(uv,\x20dd);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20dd\x20=\x20-jzc.z;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(d>dd){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(abs(abs(d)\x20-\x20abs(dd))\x20<=step){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20jd\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20albedo\x20=\x20texture2D(colorTexture,\x20uv).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20albedo\x20=\x20guussColor(uv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(jd){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(mix(color.xyz,albedo,0.5),1.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20',_0x1c92cf;}();_0x46f3df['default']=_0x4407fa;},'./src/Utils/StatusCheck.ts':function(_0x4435a3,_0x4ff378,_0x5801ed){'use strict';_0x5801ed['r'](_0x4ff378),_0x5801ed['d'](_0x4ff378,'StatusCheck',function(){return _0x43cce5;});var _0x4e089e=_0x5801ed(_0x1a4e('0x1b56')),_0x57d34e=_0x5801ed['n'](_0x4e089e),_0x1e48d8=_0x5801ed('./src/Utils/Util.ts'),_0x764eba=function(_0x4435a3,_0x4ff378,_0x5801ed,_0x4e089e){return new(_0x5801ed||(_0x5801ed=Promise))(function(_0x57d34e,_0x1e48d8){function _0x764eba(_0x4435a3){try{_0x43cce5(_0x4e089e[_0x1a4e('0x7e')](_0x4435a3));}catch(_0x220ee7){_0x1e48d8(_0x220ee7);}}function _0x441b3b(_0x4435a3){try{_0x43cce5(_0x4e089e['throw'](_0x4435a3));}catch(_0x25b8e7){_0x1e48d8(_0x25b8e7);}}function _0x43cce5(_0x4435a3){_0x4435a3[_0x1a4e('0x3c2')]?_0x57d34e(_0x4435a3[_0x1a4e('0x255')]):new _0x5801ed(function(_0x4ff378){_0x4ff378(_0x4435a3[_0x1a4e('0x255')]);})[_0x1a4e('0xdf8')](_0x764eba,_0x441b3b);}_0x43cce5((_0x4e089e=_0x4e089e['apply'](_0x4435a3,_0x4ff378||[]))[_0x1a4e('0x7e')]());});},_0x441b3b=function(_0x4435a3,_0x4ff378){var _0x5801ed,_0x4e089e,_0x57d34e,_0x1e48d8,_0x764eba={'label':0x0,'sent':function(){if(0x1&_0x57d34e[0x0])throw _0x57d34e[0x1];return _0x57d34e[0x1];},'trys':[],'ops':[]};return _0x1e48d8={'next':_0x441b3b(0x0),'throw':_0x441b3b(0x1),'return':_0x441b3b(0x2)},_0x1a4e('0x68')==typeof Symbol&&(_0x1e48d8[Symbol[_0x1a4e('0x335')]]=function(){return this;}),_0x1e48d8;function _0x441b3b(_0x1e48d8){return function(_0x441b3b){return function(_0x1e48d8){if(_0x5801ed)throw new TypeError(_0x1a4e('0x16f8'));for(;_0x764eba;)try{if(_0x5801ed=0x1,_0x4e089e&&(_0x57d34e=0x2&_0x1e48d8[0x0]?_0x4e089e[_0x1a4e('0xe40')]:_0x1e48d8[0x0]?_0x4e089e[_0x1a4e('0x1362')]||((_0x57d34e=_0x4e089e[_0x1a4e('0xe40')])&&_0x57d34e['call'](_0x4e089e),0x0):_0x4e089e[_0x1a4e('0x7e')])&&!(_0x57d34e=_0x57d34e['call'](_0x4e089e,_0x1e48d8[0x1]))[_0x1a4e('0x3c2')])return _0x57d34e;switch(_0x4e089e=0x0,_0x57d34e&&(_0x1e48d8=[0x2&_0x1e48d8[0x0],_0x57d34e['value']]),_0x1e48d8[0x0]){case 0x0:case 0x1:_0x57d34e=_0x1e48d8;break;case 0x4:return _0x764eba['label']++,{'value':_0x1e48d8[0x1],'done':!0x1};case 0x5:_0x764eba['label']++,_0x4e089e=_0x1e48d8[0x1],_0x1e48d8=[0x0];continue;case 0x7:_0x1e48d8=_0x764eba[_0x1a4e('0x166a')]['pop'](),_0x764eba['trys']['pop']();continue;default:if(!(_0x57d34e=(_0x57d34e=_0x764eba[_0x1a4e('0x1669')])[_0x1a4e('0x1e')]>0x0&&_0x57d34e[_0x57d34e[_0x1a4e('0x1e')]-0x1])&&(0x6===_0x1e48d8[0x0]||0x2===_0x1e48d8[0x0])){_0x764eba=0x0;continue;}if(0x3===_0x1e48d8[0x0]&&(!_0x57d34e||_0x1e48d8[0x1]>_0x57d34e[0x0]&&_0x1e48d8[0x1]<_0x57d34e[0x3])){_0x764eba[_0x1a4e('0x1bc')]=_0x1e48d8[0x1];break;}if(0x6===_0x1e48d8[0x0]&&_0x764eba[_0x1a4e('0x1bc')]<_0x57d34e[0x1]){_0x764eba[_0x1a4e('0x1bc')]=_0x57d34e[0x1],_0x57d34e=_0x1e48d8;break;}if(_0x57d34e&&_0x764eba[_0x1a4e('0x1bc')]<_0x57d34e[0x2]){_0x764eba[_0x1a4e('0x1bc')]=_0x57d34e[0x2],_0x764eba[_0x1a4e('0x166a')]['push'](_0x1e48d8);break;}_0x57d34e[0x2]&&_0x764eba[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x764eba[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;}_0x1e48d8=_0x4ff378[_0x1a4e('0x1')](_0x4435a3,_0x764eba);}catch(_0x36d0b5){_0x1e48d8=[0x6,_0x36d0b5],_0x4e089e=0x0;}finally{_0x5801ed=_0x57d34e=0x0;}if(0x5&_0x1e48d8[0x0])throw _0x1e48d8[0x1];return{'value':_0x1e48d8[0x0]?_0x1e48d8[0x1]:void 0x0,'done':!0x0};}([_0x1e48d8,_0x441b3b]);};}},_0x43cce5=function(){function _0x4435a3(){}return _0x4435a3['getData']=function(){return fetch(_0x1e48d8[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x5257')))[_0x1a4e('0xdf8')](function(_0x4435a3){return _0x4435a3[_0x1a4e('0x1a7')]();})[_0x1a4e('0xdf8')](function(_0x4435a3){return _0x4435a3;})['catch'](function(_0x4435a3){console[_0x1a4e('0x58')](_0x1a4e('0x5258'),_0x4435a3);});},_0x4435a3[_0x1a4e('0xc9')]=function(){return _0x764eba(this,void 0x0,void 0x0,function(){var _0x4435a3,_0x4ff378,_0x5801ed,_0x4e089e=this;return _0x441b3b(this,function(_0x1e48d8){switch(_0x1e48d8['label']){case 0x0:return _0x4435a3=_0x1a4e('0x5259'),_0x4ff378=!0x1,[0x4,this[_0x1a4e('0x4f0')]()[_0x1a4e('0xdf8')](function(_0x4435a3){_0x5801ed=_0x4435a3;})[_0x1a4e('0x1586')](function(_0x4435a3){console[_0x1a4e('0x58')](_0x4435a3);})];case 0x1:return _0x1e48d8[_0x1a4e('0x128a')](),_0x5801ed&&_0x5801ed['url']?[0x4,fetch(_0x5801ed[_0x1a4e('0x15cf')])[_0x1a4e('0xdf8')](function(_0x4435a3){return _0x4435a3[_0x1a4e('0x1a7')]();})['then'](function(_0x1e48d8){for(var _0x764eba=_0x1e48d8['message'],_0x441b3b=new Uint8Array(_0x764eba[_0x1a4e('0x1e')]/0x2),_0x43cce5=0x0;_0x43cce5<_0x764eba[_0x1a4e('0x1e')];_0x43cce5+=0x2)_0x441b3b[_0x43cce5/0x2]=parseInt(_0x764eba[_0x1a4e('0x281')](_0x43cce5,_0x43cce5+0x2),0x10);var _0xf44ac7=_0x57d34e['a'][_0x1a4e('0xb5f')](_0x4435a3,_0x441b3b)[_0x1a4e('0x95')](_0x1a4e('0xad1'));_0x4ff378='NORMAL'===JSON[_0x1a4e('0x25a')](_0xf44ac7)[_0x1a4e('0xe02')]||_0x4e089e[_0x1a4e('0x525a')](_0x5801ed);})['catch'](function(_0x4435a3){_0x4ff378=_0x4e089e['iekey'](_0x5801ed);})]:[0x2,this['iekey'](_0x5801ed)];case 0x2:return _0x1e48d8[_0x1a4e('0x128a')](),[0x2,_0x4ff378];}});});},_0x4435a3[_0x1a4e('0x525a')]=function(_0x4435a3){return _0x4435a3&&_0x4435a3['betaIdentity']&&'buildiesdkfortestkey'===_0x4435a3[_0x1a4e('0x525b')]?(console[_0x1a4e('0x58')](_0x1a4e('0x525c')),!0x1):(this[_0x1a4e('0x525d')](),!0x1);},_0x4435a3[_0x1a4e('0x4033')]=function(){var _0x4ff378=this,_0x5801ed=0x0,_0x4e089e=function(){document[_0x1a4e('0x511d')]('geolicense'+_0x5801ed)?(document[_0x1a4e('0x4d09')](_0x1a4e('0x8f2'))[0x0]['removeChild'](document[_0x1a4e('0x511d')]('geolicense'+_0x5801ed)),_0x5801ed++,_0x4ff378[_0x1a4e('0x525e')](_0x5801ed)):_0x4ff378[_0x1a4e('0x525e')](_0x5801ed);};_0x4e089e(),_0x4435a3[_0x1a4e('0x525f')]=setInterval(_0x4e089e,0x3e8);},_0x4435a3['createDom']=function(_0x4ff378){var _0x5801ed=document[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));_0x5801ed['id']=_0x1a4e('0x5260')+_0x4ff378,_0x5801ed[_0x1a4e('0x375c')][_0x1a4e('0x1322')]=_0x1a4e('0x5261'),_0x5801ed[_0x1a4e('0x12ba')]='请申请或更新许可',_0x4435a3[_0x1a4e('0x5262')]=_0x5801ed,document[_0x1a4e('0x4d09')](_0x1a4e('0x8f2'))[0x0][_0x1a4e('0x12c4')](_0x5801ed);},_0x4435a3[_0x1a4e('0x525d')]=function(_0x4435a3){return void 0x0===_0x4435a3&&(_0x4435a3=0x1388),_0x764eba(this,void 0x0,void 0x0,function(){var _0x4ff378,_0x5801ed,_0x4e089e=this;return _0x441b3b(this,function(_0x57d34e){switch(_0x57d34e['label']){case 0x0:return[0x4,this[_0x1a4e('0x4f0')]()[_0x1a4e('0xdf8')](function(_0x4435a3){_0x4ff378=_0x4435a3;})['catch'](function(_0x4435a3){console[_0x1a4e('0x58')](_0x4435a3);})];case 0x1:if(_0x57d34e[_0x1a4e('0x128a')](),!_0x4ff378||!_0x4ff378[_0x1a4e('0x5263')])return alert(_0x1a4e('0x5264')),this['checkFalse'](),[0x2];try{(_0x5801ed=new WebSocket(_0x4ff378[_0x1a4e('0x5263')]))['onopen']=function(_0x4435a3){console[_0x1a4e('0x58')]('webSocket',_0x1a4e('0x5265'));},_0x5801ed[_0x1a4e('0x1547')]=function(_0x4435a3){var _0x4ff378=_0x4435a3[_0x1a4e('0x7f')];_0x4e089e['isDecodeSuccess'](_0x4ff378)?console[_0x1a4e('0x58')]('webSocket',_0x1a4e('0x5266')):(console[_0x1a4e('0x58')](_0x1a4e('0x5267'),_0x1a4e('0x5268')),_0x4e089e[_0x1a4e('0x4033')]());},_0x5801ed[_0x1a4e('0x1338')]=function(){console['log'](_0x1a4e('0x5267'),_0x1a4e('0x5269')),_0x4e089e[_0x1a4e('0x4033')]();},_0x5801ed['onclose']=function(){console[_0x1a4e('0x58')](_0x1a4e('0x5267'),_0x1a4e('0x526a')),_0x4e089e[_0x1a4e('0x4033')]();},setTimeout(function(){_0x5801ed['readyState']!==_0x5801ed[_0x1a4e('0x526b')]&&_0x5801ed[_0x1a4e('0x1627')]!==_0x5801ed[_0x1a4e('0x526c')]&&_0x5801ed[_0x1a4e('0x139b')]();},_0x4435a3);}catch(_0x1656d9){this[_0x1a4e('0x4033')]();}return[0x2];}});});},_0x4435a3['isDecodeSuccess']=function(_0x4435a3){try{for(var _0x4ff378=new Uint8Array(_0x4435a3[_0x1a4e('0x1e')]/0x2),_0x5801ed=0x0;_0x5801ed<_0x4435a3[_0x1a4e('0x1e')];_0x5801ed+=0x2)_0x4ff378[_0x5801ed/0x2]=parseInt(_0x4435a3[_0x1a4e('0x281')](_0x5801ed,_0x5801ed+0x2),0x10);var _0x4e089e=_0x57d34e['a']['publicDecrypt'](_0x1a4e('0x5259'),_0x4ff378)[_0x1a4e('0x95')]('utf-8');if(_0x1a4e('0x3d82')===JSON[_0x1a4e('0x25a')](_0x4e089e)[_0x1a4e('0xe02')])return!0x0;}catch(_0x2cc28f){return!0x1;}return!0x1;},_0x4435a3;}();},'./src/Utils/Theme.ts':function(_0xc87055,_0x166a8c,_0x33427f){'use strict';_0x33427f['r'](_0x166a8c),_0x33427f['d'](_0x166a8c,_0x1a4e('0x526d'),function(){return _0x51ef38;}),_0x33427f['d'](_0x166a8c,'SkyboxTheme',function(){return _0x3b9047;});var _0x161d02=_0x33427f(_0x1a4e('0x3999')),_0x51ef38=function(){function _0xc87055(){}return _0xc87055[_0x1a4e('0x526e')]=function(_0xc87055){_0xc87055||(_0xc87055=_0x161d02[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x526f'))+_0x1a4e('0x5270'));return new Cesium[(_0x1a4e('0x475d'))]({'url':_0xc87055,'maximumLevel':0x4,'tilingScheme':new Cesium[(_0x1a4e('0x4755'))]()});},_0xc87055;}(),_0x3b9047=function(){function _0xc87055(){}return _0xc87055[_0x1a4e('0x5271')]=function(_0xc87055,_0x166a8c,_0x33427f){_0xc87055||(_0xc87055=_0x161d02[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x5272')));var _0x51ef38='';_0x166a8c&&(_0x51ef38=_0x1a4e('0x5273')),_0x33427f||(_0x33427f=_0x1a4e('0x5274'));var _0x3b9047={'positiveX':_0xc87055+'/'+_0x51ef38+'PositiveX.'+_0x33427f,'negativeX':_0xc87055+'/'+_0x51ef38+_0x1a4e('0x5275')+_0x33427f,'positiveY':_0xc87055+'/'+_0x51ef38+_0x1a4e('0x5276')+_0x33427f,'negativeY':_0xc87055+'/'+_0x51ef38+_0x1a4e('0x5277')+_0x33427f,'positiveZ':_0xc87055+'/'+_0x51ef38+'PositiveZ.'+_0x33427f,'negativeZ':_0xc87055+'/'+_0x51ef38+'NegativeZ.'+_0x33427f};if(_0x3b9047)return new Cesium[(_0x1a4e('0x5278'))]({'sources':_0x3b9047});},_0xc87055;}();},'./src/Utils/Util.ts':function(_0x2c390e,_0x50f0a7,_0x3a28f6){'use strict';_0x3a28f6['r'](_0x50f0a7),_0x3a28f6['d'](_0x50f0a7,_0x1a4e('0x39a0'),function(){return _0x123692;});var _0x1eb0d9=_0x3a28f6(_0x1a4e('0x38d0')),_0x280464=_0x3a28f6('./src/Utils/clustering/index.js'),_0xaf3e92=_0x3a28f6['n'](_0x280464),_0x2989c6=function(_0x2c390e,_0x50f0a7,_0x3a28f6,_0x1eb0d9){return new(_0x3a28f6||(_0x3a28f6=Promise))(function(_0x280464,_0xaf3e92){function _0x2989c6(_0x2c390e){try{_0x56f355(_0x1eb0d9[_0x1a4e('0x7e')](_0x2c390e));}catch(_0x13bd43){_0xaf3e92(_0x13bd43);}}function _0x35adb7(_0x2c390e){try{_0x56f355(_0x1eb0d9[_0x1a4e('0x1362')](_0x2c390e));}catch(_0x124fef){_0xaf3e92(_0x124fef);}}function _0x56f355(_0x2c390e){_0x2c390e['done']?_0x280464(_0x2c390e['value']):new _0x3a28f6(function(_0x50f0a7){_0x50f0a7(_0x2c390e[_0x1a4e('0x255')]);})['then'](_0x2989c6,_0x35adb7);}_0x56f355((_0x1eb0d9=_0x1eb0d9['apply'](_0x2c390e,_0x50f0a7||[]))['next']());});},_0x35adb7=function(_0x2c390e,_0x50f0a7){var _0x3a28f6,_0x1eb0d9,_0x280464,_0xaf3e92,_0x2989c6={'label':0x0,'sent':function(){if(0x1&_0x280464[0x0])throw _0x280464[0x1];return _0x280464[0x1];},'trys':[],'ops':[]};return _0xaf3e92={'next':_0x35adb7(0x0),'throw':_0x35adb7(0x1),'return':_0x35adb7(0x2)},_0x1a4e('0x68')==typeof Symbol&&(_0xaf3e92[Symbol['iterator']]=function(){return this;}),_0xaf3e92;function _0x35adb7(_0xaf3e92){return function(_0x35adb7){return function(_0xaf3e92){if(_0x3a28f6)throw new TypeError(_0x1a4e('0x16f8'));for(;_0x2989c6;)try{if(_0x3a28f6=0x1,_0x1eb0d9&&(_0x280464=0x2&_0xaf3e92[0x0]?_0x1eb0d9[_0x1a4e('0xe40')]:_0xaf3e92[0x0]?_0x1eb0d9[_0x1a4e('0x1362')]||((_0x280464=_0x1eb0d9[_0x1a4e('0xe40')])&&_0x280464[_0x1a4e('0x1')](_0x1eb0d9),0x0):_0x1eb0d9['next'])&&!(_0x280464=_0x280464['call'](_0x1eb0d9,_0xaf3e92[0x1]))[_0x1a4e('0x3c2')])return _0x280464;switch(_0x1eb0d9=0x0,_0x280464&&(_0xaf3e92=[0x2&_0xaf3e92[0x0],_0x280464[_0x1a4e('0x255')]]),_0xaf3e92[0x0]){case 0x0:case 0x1:_0x280464=_0xaf3e92;break;case 0x4:return _0x2989c6[_0x1a4e('0x1bc')]++,{'value':_0xaf3e92[0x1],'done':!0x1};case 0x5:_0x2989c6[_0x1a4e('0x1bc')]++,_0x1eb0d9=_0xaf3e92[0x1],_0xaf3e92=[0x0];continue;case 0x7:_0xaf3e92=_0x2989c6[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x2989c6['trys'][_0x1a4e('0x76')]();continue;default:if(!(_0x280464=(_0x280464=_0x2989c6['trys'])[_0x1a4e('0x1e')]>0x0&&_0x280464[_0x280464[_0x1a4e('0x1e')]-0x1])&&(0x6===_0xaf3e92[0x0]||0x2===_0xaf3e92[0x0])){_0x2989c6=0x0;continue;}if(0x3===_0xaf3e92[0x0]&&(!_0x280464||_0xaf3e92[0x1]>_0x280464[0x0]&&_0xaf3e92[0x1]<_0x280464[0x3])){_0x2989c6[_0x1a4e('0x1bc')]=_0xaf3e92[0x1];break;}if(0x6===_0xaf3e92[0x0]&&_0x2989c6[_0x1a4e('0x1bc')]<_0x280464[0x1]){_0x2989c6['label']=_0x280464[0x1],_0x280464=_0xaf3e92;break;}if(_0x280464&&_0x2989c6[_0x1a4e('0x1bc')]<_0x280464[0x2]){_0x2989c6[_0x1a4e('0x1bc')]=_0x280464[0x2],_0x2989c6[_0x1a4e('0x166a')]['push'](_0xaf3e92);break;}_0x280464[0x2]&&_0x2989c6[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x2989c6[_0x1a4e('0x1669')]['pop']();continue;}_0xaf3e92=_0x50f0a7[_0x1a4e('0x1')](_0x2c390e,_0x2989c6);}catch(_0x5c5240){_0xaf3e92=[0x6,_0x5c5240],_0x1eb0d9=0x0;}finally{_0x3a28f6=_0x280464=0x0;}if(0x5&_0xaf3e92[0x0])throw _0xaf3e92[0x1];return{'value':_0xaf3e92[0x0]?_0xaf3e92[0x1]:void 0x0,'done':!0x0};}([_0xaf3e92,_0x35adb7]);};}},_0x56f355=_0x3a28f6('./src/Utils/html2canvas/html2canvas.js'),_0x569a38=_0x3a28f6(_0x1a4e('0x5279')),_0x1a0aff=_0x3a28f6('./node_modules/piexifjs/piexif.js'),_0x3004e8=_0x3a28f6(_0x1a4e('0x527a')),_0x123692=function(){function _0x2c390e(){}return _0x2c390e[_0x1a4e('0x39a5')]=function(_0x2c390e){return''+this['getBaseUrlFromGEOVISScript']()+_0x2c390e;},_0x2c390e[_0x1a4e('0x527b')]=function(){for(var _0x2c390e=/((?:.*\/)|^)GEOVIS[\w-]*\.js(?:\W|$)/i,_0x50f0a7=/((?:.*\/)|^)GEOVIS.min[\w-]*\.js(?:\W|$)/i,_0x3a28f6=/((?:.*\/)|^)GEOVIS.web[\w-]*\.js(?:\W|$)/i,_0x1eb0d9=document['getElementsByTagName'](_0x1a4e('0xe3e')),_0x280464=0x0,_0xaf3e92=_0x1eb0d9[_0x1a4e('0x1e')];_0x280464<_0xaf3e92;++_0x280464){var _0x2989c6=_0x1eb0d9[_0x280464][_0x1a4e('0x41c8')]('src'),_0x35adb7=_0x2c390e['exec'](_0x2989c6);if(null!==_0x35adb7)return _0x35adb7[0x1];if(null!==(_0x35adb7=_0x50f0a7[_0x1a4e('0x2af')](_0x2989c6)))return _0x35adb7[0x1];if(null!==(_0x35adb7=_0x3a28f6['exec'](_0x2989c6)))return _0x35adb7[0x1];}},_0x2c390e[_0x1a4e('0x404b')]=function(){return _0x1a4e('0x527c')[_0x1a4e('0x115')](/[xy]/g,function(_0x2c390e){var _0x50f0a7=0x10*Math[_0x1a4e('0x12e')]()|0x0;return('x'===_0x2c390e?_0x50f0a7:0x3&_0x50f0a7|0x8)['toString'](0x10);});},_0x2c390e[_0x1a4e('0x3a46')]=function(_0x2c390e,_0x50f0a7){return null!=_0x2c390e?_0x2c390e:_0x50f0a7;},_0x2c390e[_0x1a4e('0x527d')]=function(_0x2c390e,_0x50f0a7){if(_0x50f0a7){var _0x3a28f6=_0x50f0a7[_0x1a4e('0x2be')]('/');if(!_0x2c390e)return _0x50f0a7;var _0x1eb0d9=_0x2c390e['split']('/');_0x1eb0d9[_0x1a4e('0x76')]();for(var _0x280464='',_0xaf3e92=0x0;_0xaf3e92<_0x3a28f6[_0x1a4e('0x1e')];_0xaf3e92+=0x1)0x0===_0xaf3e92&&'.'===_0x3a28f6[_0xaf3e92]&&(_0xaf3e92+=0x1),'..'===_0x3a28f6[_0xaf3e92]?_0x1eb0d9['pop']():_0x1eb0d9[_0x1a4e('0x46')](_0x3a28f6[_0xaf3e92]);for(_0xaf3e92=0x0;_0xaf3e92<_0x1eb0d9['length'];_0xaf3e92+=0x1){var _0x2989c6=_0xaf3e92===_0x1eb0d9[_0x1a4e('0x1e')]-0x1?'':'/';_0x280464+=_0x1eb0d9[_0xaf3e92]+_0x2989c6;}return _0x280464;}},_0x2c390e[_0x1a4e('0x527e')]=function(_0x2c390e){if(_0x2c390e){var _0x50f0a7=_0x2c390e[_0x1a4e('0x2be')]('/'),_0x3a28f6=window['location']['href'];if(!_0x3a28f6)return _0x2c390e;(_0x3a28f6=_0x3a28f6[_0x1a4e('0x2be')]('/'))[_0x1a4e('0x76')]();for(var _0x1eb0d9='',_0x280464=0x0;_0x280464<_0x50f0a7['length'];_0x280464+=0x1)0x0===_0x280464&&'.'===_0x50f0a7[_0x280464]&&(_0x280464+=0x1),'..'===_0x50f0a7[_0x280464]?_0x3a28f6[_0x1a4e('0x76')]():_0x3a28f6['push'](_0x50f0a7[_0x280464]);for(_0x280464=0x0;_0x280464<_0x3a28f6[_0x1a4e('0x1e')];_0x280464+=0x1){var _0xaf3e92=_0x280464===_0x3a28f6[_0x1a4e('0x1e')]-0x1?'':'/';_0x1eb0d9+=_0x3a28f6[_0x280464]+_0xaf3e92;}return _0x1eb0d9;}},_0x2c390e[_0x1a4e('0x4feb')]=function(_0x2c390e){var _0x50f0a7=new XMLHttpRequest();if(_0x50f0a7[_0x1a4e('0x12bc')](_0x1a4e('0x1625'),_0x2c390e,!0x1),_0x50f0a7[_0x1a4e('0x1626')](),0x4==_0x50f0a7['readyState']&&0xc8==_0x50f0a7[_0x1a4e('0xe02')])return _0x50f0a7[_0x1a4e('0x1628')];},_0x2c390e[_0x1a4e('0x4de1')]=function(_0x2c390e){var _0x50f0a7=this[_0x1a4e('0x4feb')](_0x2c390e);if(_0x50f0a7)return JSON[_0x1a4e('0x25a')](_0x50f0a7);},_0x2c390e['formatURL2']=function(_0x2c390e,_0x50f0a7){if(_0x50f0a7){var _0x3a28f6=_0x50f0a7[_0x1a4e('0x2be')]('/'),_0x1eb0d9=_0x2c390e;if(!_0x1eb0d9)return _0x50f0a7;(_0x1eb0d9=_0x1eb0d9[_0x1a4e('0x2be')]('/'))[_0x1a4e('0x76')]();for(var _0x280464='',_0xaf3e92=0x0;_0xaf3e92<_0x3a28f6[_0x1a4e('0x1e')];_0xaf3e92+=0x1)0x0===_0xaf3e92&&'.'===_0x3a28f6[_0xaf3e92]&&(_0xaf3e92+=0x1),'..'===_0x3a28f6[_0xaf3e92]?_0x1eb0d9[_0x1a4e('0x76')]():_0x1eb0d9['push'](_0x3a28f6[_0xaf3e92]);for(_0xaf3e92=0x0;_0xaf3e92<_0x1eb0d9['length'];_0xaf3e92+=0x1){var _0x2989c6=_0xaf3e92===_0x1eb0d9[_0x1a4e('0x1e')]-0x1?'':'/';_0x280464+=_0x1eb0d9[_0xaf3e92]+_0x2989c6;}return _0x280464;}},_0x2c390e[_0x1a4e('0x43be')]=function(_0x2c390e,_0x50f0a7,_0x3a28f6){_0x56f355(_0x2c390e,_0x50f0a7)[_0x1a4e('0xdf8')](function(_0x2c390e){_0x3a28f6(_0x2c390e,_0x50f0a7[_0x1a4e('0x1303')]||null);});},_0x2c390e[_0x1a4e('0x527f')]=function(_0x2c390e,_0x50f0a7){var _0x3a28f6=new Array();return _0x3a28f6[_0x1a4e('0x46')](_0x2c390e),_0x3a28f6[_0x1a4e('0x46')](_0x50f0a7),_0x569a38(_0x1a4e('0x5280'),'EPSG:4326',_0x3a28f6);},_0x2c390e[_0x1a4e('0x5281')]=function(_0x2c390e,_0x50f0a7){var _0x3a28f6=new Array();return _0x3a28f6['push'](_0x2c390e),_0x3a28f6[_0x1a4e('0x46')](_0x50f0a7),_0x569a38('EPSG:4326','EPSG:3857',_0x3a28f6);},_0x2c390e[_0x1a4e('0x5282')]=function(_0x2c390e,_0x50f0a7,_0x3a28f6){return new Cesium[(_0x1a4e('0x4755'))]()['tileXYToNativeRectangle'](_0x50f0a7,_0x3a28f6,_0x2c390e);},_0x2c390e[_0x1a4e('0x5283')]=function(_0x2c390e,_0x50f0a7){var _0x3a28f6;try{_0x3a28f6=_0x2c390e[_0x1a4e('0x38d6')]['globe'][_0x1a4e('0x106e')](_0x2c390e[_0x1a4e('0x3a06')][_0x1a4e('0x3a57')](_0x50f0a7),_0x2c390e['scene']);}catch(_0x10771b){console[_0x1a4e('0x58')]('fromScreen:输入的x,y值未在地球上找到相应经纬度值');}var _0x1eb0d9=_0x2c390e['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x38dc')][_0x1a4e('0x38dd')](_0x3a28f6),_0x280464=(Cesium[_0x1a4e('0x1020')]['toDegrees'](_0x1eb0d9['latitude']),Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x1eb0d9[_0x1a4e('0x3a2e')]),_0x1eb0d9[_0x1a4e('0x152')],_0x2c390e['scene']['globe'][_0x1a4e('0x4c1c')][_0x1a4e('0x4c1d')][_0x1a4e('0x4d88')]),_0xaf3e92=new Map();if(_0xaf3e92[_0x1a4e('0x17a')](0x0,_0x1a4e('0x5284')),_0xaf3e92[_0x1a4e('0x17a')](0x1,_0x1a4e('0x5285')),_0xaf3e92[_0x1a4e('0x17a')](0x2,_0x1a4e('0x5286')),_0xaf3e92['set'](0x3,_0x1a4e('0x5287')),_0xaf3e92[_0x1a4e('0x17a')](0x4,_0x1a4e('0x5288')),_0xaf3e92['set'](0x5,'9公里'),_0xaf3e92[_0x1a4e('0x17a')](0x6,_0x1a4e('0x5289')),_0xaf3e92[_0x1a4e('0x17a')](0x7,_0x1a4e('0x528a')),_0xaf3e92[_0x1a4e('0x17a')](0x8,_0x1a4e('0x528b')),_0xaf3e92[_0x1a4e('0x17a')](0x9,'549米'),_0xaf3e92[_0x1a4e('0x17a')](0xa,_0x1a4e('0x528c')),_0xaf3e92[_0x1a4e('0x17a')](0xb,_0x1a4e('0x528d')),_0xaf3e92['set'](0xc,_0x1a4e('0x528e')),_0xaf3e92[_0x1a4e('0x17a')](0xd,_0x1a4e('0x528f')),_0xaf3e92['set'](0xe,_0x1a4e('0x5290')),_0xaf3e92['set'](0xf,'8米'),_0xaf3e92['set'](0x10,'4米'),_0xaf3e92[_0x1a4e('0x17a')](0x11,_0x1a4e('0x5291')),_0xaf3e92['set'](0x12,_0x1a4e('0x5292')),_0xaf3e92[_0x1a4e('0x17a')](0x13,_0x1a4e('0x5293')),_0xaf3e92[_0x1a4e('0x17a')](0x14,_0x1a4e('0x5294')),_0xaf3e92['set'](0x15,'0.138米'),_0xaf3e92[_0x1a4e('0x17a')](0x16,_0x1a4e('0x5295')),Cesium['defined'](_0x280464)){for(var _0x2989c6=_0x280464[_0x1a4e('0x1e')],_0x35adb7=-0x1,_0x56f355=-0x1,_0x569a38=-0x1,_0x1a0aff=0x0;_0x1a0aff<_0x2989c6;++_0x1a0aff){var _0x3004e8=_0x280464[_0x1a0aff];if(Cesium[_0x1a4e('0x3a0b')](_0x3004e8))for(var _0x123692=_0x3004e8[_0x1a4e('0x1e')],_0x298ca7=0x0;_0x298ca7<_0x123692;++_0x298ca7){var _0x2317b9=_0x3004e8[_0x298ca7][_0x1a4e('0x396a')];Cesium[_0x1a4e('0x3965')][_0x1a4e('0x2ac')](_0x2317b9,_0x1eb0d9)&&_0x3004e8[_0x298ca7]['level']>_0x35adb7&&(_0x35adb7=_0x3004e8[_0x298ca7][_0x1a4e('0x2dd0')],_0x56f355=_0x3004e8[_0x298ca7]['x'],_0x569a38=_0x3004e8[_0x298ca7]['y']);}}return{'level':_0x35adb7,'x':_0x56f355,'y':_0x569a38,'resolution':_0xaf3e92[_0x1a4e('0x179')](_0x35adb7)};}},_0x2c390e['PrefixInteger']=function(_0x2c390e,_0x50f0a7){return(Array(_0x50f0a7)[_0x1a4e('0x9e')]('0')+_0x2c390e)[_0x1a4e('0x78')](-_0x50f0a7);},_0x2c390e['calculateNewGeoposition']=function(_0x2c390e,_0x50f0a7,_0x3a28f6,_0x1eb0d9,_0x280464,_0xaf3e92){var _0x2989c6=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x50f0a7,_0x3a28f6,_0x1eb0d9),_0x35adb7=new Cesium['WebMercatorProjection'](_0x2c390e[_0x1a4e('0x38d6')][_0x1a4e('0x38d7')]['ellipsoid']),_0x56f355=_0x35adb7[_0x1a4e('0x500')](Cesium[_0x1a4e('0x39fa')][_0x1a4e('0x3a0d')](_0x2989c6)),_0x569a38=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0xaf3e92),_0x1a0aff=new Cesium[(_0x1a4e('0x393e'))](_0x56f355['x']+_0x280464*Math[_0x1a4e('0x90')](_0x569a38),_0x56f355['y']+_0x280464*Math[_0x1a4e('0x8f')](_0x569a38),_0x1eb0d9),_0x3004e8=_0x35adb7[_0x1a4e('0x4805')](_0x1a0aff);return{'lon':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x3004e8[_0x1a4e('0x3a2e')]),'lat':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x3004e8[_0x1a4e('0x3a2f')])};},_0x2c390e[_0x1a4e('0x5296')]=function(_0x50f0a7,_0x3a28f6,_0x1eb0d9){return _0x2989c6(this,void 0x0,void 0x0,function(){return _0x35adb7(this,function(_0x280464){switch(_0x280464[_0x1a4e('0x1bc')]){case 0x0:return[0x4,_0x2c390e[_0x1a4e('0x5297')](_0x50f0a7,_0x3a28f6,_0x1eb0d9)];case 0x1:return[0x2,_0x280464[_0x1a4e('0x128a')]()];}});});},_0x2c390e[_0x1a4e('0x5297')]=function(_0x2c390e,_0x50f0a7,_0x3a28f6){return new Promise(function(_0x1eb0d9,_0x280464){fetch(_0x50f0a7)[_0x1a4e('0xdf8')](function(_0x2c390e){if(!_0x2c390e['ok'])throw new Error(_0x1a4e('0x5298'));return _0x2c390e[_0x1a4e('0x41b7')]();})[_0x1a4e('0xdf8')](function(_0xaf3e92){var _0x2989c6=new FileReader();_0x2989c6[_0x1a4e('0x5299')](_0xaf3e92),console[_0x1a4e('0x58')](_0x2989c6),_0x2989c6['onload']=function(_0xaf3e92){var _0x2989c6=_0xaf3e92[_0x1a4e('0xd95')][_0x1a4e('0x13f')],_0x35adb7=_0x2c390e[_0x1a4e('0x38d6')]['imageryLayers'];if(_0x1a4e('0x5115')===_0x50f0a7[_0x1a4e('0x2be')]('.')[_0x1a4e('0x76')]()){var _0x56f355=_0x1a0aff['dump'](_0x1a0aff[_0x1a4e('0x7b')](_0x2989c6))['match'](/(GeoHDVPoint\=\[=?)(\S*)(?=\])/);if(_0x56f355&&0x3==_0x56f355[_0x1a4e('0x1e')]){var _0x569a38=_0x56f355[0x2][_0x1a4e('0x2be')]('&'),_0x3004e8=_0x35adb7[_0x1a4e('0x4757')](new Cesium[(_0x1a4e('0x529a'))]({'url':_0x2989c6,'rectangle':Cesium[_0x1a4e('0x3965')]['fromDegrees'](_0x569a38[0x0],_0x569a38[0x1],_0x569a38[0x2],_0x569a38[0x3])}));_0x1eb0d9(_0x3004e8);}else{_0x3004e8=_0x35adb7[_0x1a4e('0x4757')](new Cesium['SingleTileImageryProvider']({'url':_0x2989c6,'rectangle':Cesium['Rectangle'][_0x1a4e('0x38db')](_0x3a28f6[0x0],_0x3a28f6[0x1],_0x3a28f6[0x2],_0x3a28f6[0x3])}));_0x1eb0d9(_0x3004e8);}}else if(_0x3a28f6){_0x3004e8=_0x35adb7[_0x1a4e('0x4757')](new Cesium[(_0x1a4e('0x529a'))]({'url':_0x2989c6,'rectangle':Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](_0x3a28f6[0x0],_0x3a28f6[0x1],_0x3a28f6[0x2],_0x3a28f6[0x3])}));_0x1eb0d9(_0x3004e8);}else _0x280464(_0x1a4e('0x529b')),alert(_0x1a4e('0x529b'));};})[_0x1a4e('0x1586')](function(_0x2c390e){_0x280464(_0x2c390e),console[_0x1a4e('0x873')]('There\x20has\x20been\x20a\x20problem\x20with\x20your\x20fetch\x20operation:',_0x2c390e);});});},_0x2c390e[_0x1a4e('0x529c')]=function(_0x2c390e,_0x50f0a7,_0x3a28f6){var _0x1eb0d9=Cesium[_0x1a4e('0x393e')][_0x1a4e('0x330')](Cesium['Cartesian3'][_0x1a4e('0x262')](_0x3a28f6,_0x50f0a7,new Cesium[(_0x1a4e('0x393e'))]()),new Cesium[(_0x1a4e('0x393e'))]()),_0x280464=new Cesium[(_0x1a4e('0x4333'))](_0x50f0a7,_0x1eb0d9);return _0x2c390e[_0x1a4e('0x38d6')]['globe'][_0x1a4e('0x106e')](_0x280464,_0x2c390e[_0x1a4e('0x38d6')]);},_0x2c390e['pointIsVisible']=function(_0x2c390e,_0x50f0a7){if(_0x50f0a7[_0x1a4e('0x38d6')][_0x1a4e('0xa69')]==Cesium['SceneMode']['SCENE3D']){var _0x3a28f6=_0x50f0a7[_0x1a4e('0x38d6')]['camera'][_0x1a4e('0x3d87')],_0x280464=_0x50f0a7[_0x1a4e('0x38d6')]['mapProjection'][_0x1a4e('0x38dc')];if(new Cesium['EllipsoidalOccluder'](_0x280464,_0x3a28f6)[_0x1a4e('0x4346')](_0x1eb0d9['GeoPoint'][_0x1a4e('0x3949')](_0x2c390e))){var _0xaf3e92=_0x50f0a7[_0x1a4e('0x38d6')],_0x2989c6=_0xaf3e92[_0x1a4e('0x3934')],_0x35adb7=Cesium[_0x1a4e('0x4347')][_0x1a4e('0x4826')](_0xaf3e92,_0x1eb0d9[_0x1a4e('0x38da')]['toCartesian3'](_0x2c390e));return void 0x0!==_0x35adb7&&(_0x35adb7['x']>0x0&&_0x35adb7['x']<(void 0x0!==_0x2989c6[_0x1a4e('0x3936')]?_0x2989c6['width']:_0x2989c6[_0x1a4e('0x3a62')])&&_0x35adb7['y']>0x0&&_0x35adb7['y']<(void 0x0!==_0x2989c6[_0x1a4e('0x152')]?_0x2989c6[_0x1a4e('0x152')]:_0x2989c6[_0x1a4e('0x3a63')]));}return!0x1;}var _0x56f355=_0x50f0a7[_0x1a4e('0x38d6')]['camera']['frustum'][_0x1a4e('0x4348')](_0x50f0a7[_0x1a4e('0x38d6')][_0x1a4e('0x3a06')]['positionWC'],_0x50f0a7[_0x1a4e('0x38d6')][_0x1a4e('0x3a06')]['directionWC'],_0x50f0a7['scene'][_0x1a4e('0x3a06')][_0x1a4e('0x434a')]),_0x569a38=new Cesium[(_0x1a4e('0x3ac1'))](_0x1eb0d9['GeoPoint'][_0x1a4e('0x3949')](_0x2c390e),0x1),_0x1a0aff=Cesium['BoundingSphere']['projectTo2D'](_0x569a38),_0x3004e8=_0x56f355[_0x1a4e('0x4ffd')](_0x1a0aff);return _0x3004e8===Cesium[_0x1a4e('0x434c')][_0x1a4e('0x434d')]||_0x3004e8===Cesium[_0x1a4e('0x434c')][_0x1a4e('0x434e')];},_0x2c390e[_0x1a4e('0x3e0e')]=function(_0x2c390e,_0x50f0a7){void 0x0===_0x50f0a7&&(_0x50f0a7=0x1);var _0x3a28f6=_0x2c390e['toString']()[_0x1a4e('0x2be')]('.')[0x0];return'0'===_0x3a28f6?_0x50f0a7:_0x3a28f6[_0x1a4e('0x1e')]+_0x50f0a7;},_0x2c390e[_0x1a4e('0x4e5f')]=function(_0x2c390e,_0x50f0a7,_0x3a28f6,_0x1eb0d9){return _0x3004e8(_0x2c390e,_0x50f0a7,_0x3a28f6,_0x1eb0d9);},_0x2c390e[_0x1a4e('0x179')]=function(_0x2c390e){return new Promise(function(_0x50f0a7,_0x3a28f6){var _0x1eb0d9=new XMLHttpRequest();_0x1eb0d9['open'](_0x1a4e('0x1625'),_0x2c390e),_0x1eb0d9[_0x1a4e('0x154b')]=function(){0x4===this['readyState']&&(0xc8===this['status']?_0x50f0a7(this[_0x1a4e('0x41b8')]):_0x3a28f6(new Error(this[_0x1a4e('0x4df1')])));},_0x1eb0d9[_0x1a4e('0x41b6')]=_0x1a4e('0x1a7'),_0x1eb0d9['setRequestHeader'](_0x1a4e('0x3c4d'),_0x1a4e('0x529d')),_0x1eb0d9[_0x1a4e('0x1626')]();});},_0x2c390e[_0x1a4e('0x529e')]=function(_0x2c390e,_0x50f0a7){var _0x3a28f6=Object[_0x1a4e('0xd86')](_0x50f0a7)[_0x1a4e('0x1e')],_0x1eb0d9=0x0,_0x280464='';for(var _0xaf3e92 in _0x50f0a7)_0x280464+=++_0x1eb0d9==_0x3a28f6?_0xaf3e92+'='+_0x50f0a7[_0xaf3e92]:_0xaf3e92+'='+_0x50f0a7[_0xaf3e92]+'&';return new Promise(function(_0x50f0a7,_0x3a28f6){var _0x1eb0d9=new XMLHttpRequest();_0x1eb0d9['open'](_0x1a4e('0x529f'),_0x2c390e),_0x1eb0d9[_0x1a4e('0x154b')]=function(){0x4===this[_0x1a4e('0x1627')]&&(0xc8===this['status']?_0x50f0a7(this['response']):_0x3a28f6(new Error(this['statusText'])));},_0x1eb0d9[_0x1a4e('0x41b6')]=_0x1a4e('0x1a7'),_0x1eb0d9['setRequestHeader'](_0x1a4e('0x52a0'),_0x1a4e('0x52a1')),_0x1eb0d9['send'](_0x280464);});},_0x2c390e[_0x1a4e('0x52a2')]=function(_0x2c390e,_0x50f0a7,_0x3a28f6){var _0x1eb0d9=new Map();_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52a3'),_0x1a4e('0x52a4')),_0x1eb0d9['set'](_0x1a4e('0x52a5'),_0x1a4e('0x52a6')),_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52a7'),_0x1a4e('0x52a8')),_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52a9'),_0x1a4e('0x52aa')),_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52ab'),_0x1a4e('0x52ac')),_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52ad'),_0x1a4e('0x52ae')),_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52af'),_0x1a4e('0x52b0')),_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52b1'),_0x1a4e('0x52b2')),_0x1eb0d9[_0x1a4e('0x17a')]('ludonghai',_0x1a4e('0x52b3')),_0x1eb0d9['set'](_0x1a4e('0x52b4'),_0x1a4e('0x52b5')),_0x1eb0d9['set'](_0x1a4e('0x52b6'),_0x1a4e('0x52b7')),_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52b8'),_0x1a4e('0x52b9')),_0x1eb0d9[_0x1a4e('0x17a')]('tianshan','{\x22lon\x22:94.6318,\x22lat\x22:42.9923}'),_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52ba'),'{\x22lon\x22:117.3546,\x22lat\x22:48.8824}'),_0x1eb0d9[_0x1a4e('0x17a')]('talimu',_0x1a4e('0x52bb')),_0x1eb0d9['set']('zhungaer',_0x1a4e('0x52bc')),_0x1eb0d9['set'](_0x1a4e('0x52bd'),'{\x22lon\x22:121.2711,\x22lat\x22:38.4074}'),_0x1eb0d9[_0x1a4e('0x17a')](_0x1a4e('0x52be'),_0x1a4e('0x52bf')),_0x1eb0d9[_0x1a4e('0x17a')]('eerduosi',_0x1a4e('0x52c0')),_0x1eb0d9['set'](_0x1a4e('0x52c1'),'{\x22lon\x22:118.1193,\x22lat\x22:41.046}');var _0x280464=0x3b9aca00,_0xaf3e92='';return _0x1eb0d9[_0x1a4e('0x3b')](function(_0x2c390e,_0x1eb0d9){var _0x2989c6=JSON[_0x1a4e('0x25a')](_0x2c390e),_0x35adb7=_0x2989c6['lon'],_0x56f355=_0x2989c6[_0x1a4e('0x1a2')],_0x569a38=Math[_0x1a4e('0x91')]((_0x50f0a7-_0x35adb7)*(_0x50f0a7-_0x35adb7)+(_0x3a28f6-_0x56f355)*(_0x3a28f6-_0x56f355));_0x569a38<_0x280464&&(_0x280464=_0x569a38,_0xaf3e92=_0x1eb0d9);}),_0xaf3e92;},_0x2c390e[_0x1a4e('0x52c2')]=function(_0x2c390e,_0x50f0a7,_0x3a28f6){var _0x1eb0d9=_0x2c390e[_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x38dc')],_0x280464=Cesium['Cartographic']['fromDegrees'](_0x50f0a7,_0x3a28f6,0x0),_0xaf3e92=_0x1eb0d9[_0x1a4e('0x3b86')](_0x280464),_0x2989c6=this[_0x1a4e('0x52a2')](_0x2c390e,_0x50f0a7,_0x3a28f6),_0x35adb7=new Map();_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52a3'),_0x1a4e('0x52c3')),_0x35adb7[_0x1a4e('0x17a')]('alashan',_0x1a4e('0x52c4')),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52a7'),_0x1a4e('0x52c5')),_0x35adb7['set'](_0x1a4e('0x52a9'),_0x1a4e('0x52c6')),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52ab'),_0x1a4e('0x52c7')),_0x35adb7['set']('chuandian',_0x1a4e('0x52c8')),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52af'),_0x1a4e('0x52c9')),_0x35adb7['set']('lasha','{\x22x\x22:0.002986,\x22y\x22:-0.006392,\x22z\x22:0.003822}'),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52ca'),_0x1a4e('0x52cb')),_0x35adb7[_0x1a4e('0x17a')]('qiangtang',_0x1a4e('0x52cc')),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52b6'),_0x1a4e('0x52cd')),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52b8'),'{\x22x\x22:0.000102,\x22y\x22:-0.004319,\x22z\x22:0.003061}'),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52ce'),'{\x22x\x22:0.000856,\x22y\x22:-0.002689,\x22z\x22:0.004057}'),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52ba'),_0x1a4e('0x52cf')),_0x35adb7['set']('talimu',_0x1a4e('0x52d0')),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52d1'),_0x1a4e('0x52d2')),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52bd'),_0x1a4e('0x52d3')),_0x35adb7['set'](_0x1a4e('0x52be'),_0x1a4e('0x52d4')),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52d5'),'{\x22x\x22:-0.001116,\x22y\x22:-0.001303,\x22z\x22:0.005514}'),_0x35adb7[_0x1a4e('0x17a')](_0x1a4e('0x52c1'),'{\x22x\x22:-0.000773,\x22y\x22:-0.002084,\x22z\x22:0.004447}');var _0x56f355=_0x35adb7[_0x1a4e('0x179')](_0x2989c6),_0x569a38=JSON['parse'](_0x56f355),_0x1a0aff=_0x569a38['x'],_0x3004e8=_0x569a38['y'],_0x123692=_0x569a38['z'];return{'dx':(_0x3004e8*_0xaf3e92['z']-_0x123692*_0xaf3e92['y'])/0xf4240,'dy':(_0x123692*_0xaf3e92['x']-_0x1a0aff*_0xaf3e92['z'])/0xf4240,'dz':(_0x1a0aff*_0xaf3e92['y']-_0x3004e8*_0xaf3e92['x'])/0xf4240};},_0x2c390e[_0x1a4e('0x399e')]=function(_0x2c390e){var _0x50f0a7,_0x3a28f6,_0x1eb0d9,_0x280464=0x0,_0xaf3e92=_0x2c390e[_0x1a4e('0x1e')];if(_0xaf3e92<0x3)return 0x0;for(var _0x2989c6=0x0;_0x2989c6<_0xaf3e92;_0x2989c6++)if(_0x3a28f6=(_0x2989c6+0x2)%_0xaf3e92,_0x1eb0d9=(_0x2c390e[_0x50f0a7=(_0x2989c6+0x1)%_0xaf3e92]['lon']-_0x2c390e[_0x2989c6][_0x1a4e('0x1a1')])*(_0x2c390e[_0x3a28f6][_0x1a4e('0x1a2')]-_0x2c390e[_0x50f0a7][_0x1a4e('0x1a2')]),(_0x1eb0d9-=(_0x2c390e[_0x50f0a7][_0x1a4e('0x1a2')]-_0x2c390e[_0x2989c6][_0x1a4e('0x1a2')])*(_0x2c390e[_0x3a28f6][_0x1a4e('0x1a1')]-_0x2c390e[_0x50f0a7]['lon']))<0x0?_0x280464|=0x1:_0x1eb0d9>0x0&&(_0x280464|=0x2),0x3==_0x280464)return-0x1;return 0x0!=_0x280464?0x1:0x0;},_0x2c390e[_0x1a4e('0x4795')]=new _0xaf3e92['a'][(_0x1a4e('0x214'))](),_0x2c390e;}();},'./src/Utils/ViewPoint.ts':function(_0x43a721,_0x2c4b13,_0x3b0b3a){'use strict';_0x3b0b3a['r'](_0x2c4b13),_0x3b0b3a['d'](_0x2c4b13,_0x1a4e('0x3fa8'),function(){return _0x2b726b;});var _0x2b726b=function(){function _0x43a721(_0x43a721,_0x2c4b13,_0x3b0b3a,_0x2b726b,_0xc572f3,_0x350aa5){void 0x0===_0x3b0b3a&&(_0x3b0b3a=0xc350),void 0x0===_0x2b726b&&(_0x2b726b=0x168),void 0x0===_0xc572f3&&(_0xc572f3=-0x5a),void 0x0===_0x350aa5&&(_0x350aa5=0x0),this['lon']=_0x43a721,this[_0x1a4e('0x1a2')]=_0x2c4b13,this[_0x1a4e('0x398c')]=_0x3b0b3a,this['heading']=_0x2b726b,this[_0x1a4e('0x3a69')]=_0xc572f3,this[_0x1a4e('0x3a9c')]=_0x350aa5;}return _0x43a721[_0x1a4e('0x403c')]=function(_0x43a721){var _0x2c4b13=[];for(var _0x3b0b3a in _0x43a721)_0x2c4b13[_0x1a4e('0x46')](_0x43a721[_0x3b0b3a]);return _0x2c4b13;},_0x43a721[_0x1a4e('0x3d2f')]=function(_0x2c4b13){return new _0x43a721(_0x2c4b13[0x0],_0x2c4b13[0x1],_0x2c4b13[0x2],_0x2c4b13[0x3],_0x2c4b13[0x4],_0x2c4b13[0x5]);},_0x43a721;}();},'./src/Utils/algorithm/GM26400.ts':function(_0x40c733,_0x9e7f07,_0x13911c){'use strict';_0x13911c['r'](_0x9e7f07),_0x13911c['d'](_0x9e7f07,_0x1a4e('0x442e'),function(){return _0x25d96b;});var _0x1327f0=_0x13911c(_0x1a4e('0x38d0')),_0x25d96b=function(){function _0x40c733(){}return _0x40c733[_0x1a4e('0x50fe')]=function(_0x40c733){var _0x9e7f07=_0x40c733[_0x1a4e('0x1e')],_0x13911c=[];if(!(_0x9e7f07<0x2))for(var _0x1327f0=0x0,_0x25d96b=0x1;_0x25d96b<_0x9e7f07;_0x25d96b++,_0x1327f0++){var _0x235678=_0x40c733[_0x25d96b][_0x1a4e('0x1a1')]-_0x40c733[_0x25d96b-0x1][_0x1a4e('0x1a1')];_0x13911c[_0x1a4e('0x46')](_0x235678),Math[_0x1a4e('0x65')](_0x13911c[_0x1327f0])>0xb4&&(_0x13911c[_0x1327f0]>0x0?_0x13911c[_0x1327f0]=_0x13911c[_0x1327f0]-0x168:_0x13911c[_0x1327f0]=_0x13911c[_0x1327f0]+0x168),_0x40c733[_0x25d96b]['lon']=_0x40c733[_0x25d96b-0x1]['lon']+_0x13911c[_0x1327f0];}},_0x40c733['distance']=function(_0x40c733,_0x9e7f07){return Math[_0x1a4e('0x91')](Math[_0x1a4e('0x8e')](_0x9e7f07[_0x1a4e('0x1a1')]-_0x40c733[_0x1a4e('0x1a1')],0x2)+Math[_0x1a4e('0x8e')](_0x9e7f07[_0x1a4e('0x1a2')]-_0x40c733[_0x1a4e('0x1a2')],0x2));},_0x40c733[_0x1a4e('0x449b')]=function(_0x40c733,_0x9e7f07){var _0x13911c=this['distance'](_0x40c733,_0x9e7f07);if(0x0==_0x13911c)return Math['PI'];var _0x1327f0=(_0x9e7f07[_0x1a4e('0x1a2')]-_0x40c733[_0x1a4e('0x1a2')])/_0x13911c,_0x25d96b=(_0x9e7f07[_0x1a4e('0x1a1')]-_0x40c733[_0x1a4e('0x1a1')])/_0x13911c,_0x2e63ab=Math['asin'](_0x1327f0);return(_0x1327f0>0x0&&_0x25d96b<0x0||_0x1327f0<0x0&&_0x25d96b<0x0)&&(_0x2e63ab=Math['PI']-_0x2e63ab),_0x2e63ab;},_0x40c733['getXCoords']=function(_0x40c733,_0x9e7f07,_0x13911c,_0x25d96b){void 0x0===_0x25d96b&&(_0x25d96b=[]);var _0xe96157=_0x40c733[_0x1a4e('0x1a1')]+0x1/0x3*_0x13911c*Math[_0x1a4e('0x90')](_0x9e7f07-Math['PI']/0x4),_0xb0f46d=_0x40c733[_0x1a4e('0x1a2')]+0x1/0x3*_0x13911c*Math[_0x1a4e('0x8f')](_0x9e7f07-Math['PI']/0x4);return _0x25d96b['push'](new _0x1327f0[(_0x1a4e('0x38da'))](_0xe96157,_0xb0f46d,0x0)),_0xe96157=_0x40c733[_0x1a4e('0x1a1')]-0x1/0x3*_0x13911c*Math[_0x1a4e('0x90')](_0x9e7f07-Math['PI']/0x4),_0xb0f46d=_0x40c733[_0x1a4e('0x1a2')]-0x1/0x3*_0x13911c*Math['sin'](_0x9e7f07-Math['PI']/0x4),_0x25d96b[_0x1a4e('0x46')](new _0x1327f0[(_0x1a4e('0x38da'))](_0xe96157,_0xb0f46d,0x0)),_0xe96157=_0x40c733[_0x1a4e('0x1a1')]+0x1/0x3*_0x13911c*Math[_0x1a4e('0x90')](_0x9e7f07+Math['PI']/0x4),_0xb0f46d=_0x40c733[_0x1a4e('0x1a2')]+0x1/0x3*_0x13911c*Math[_0x1a4e('0x8f')](_0x9e7f07+Math['PI']/0x4),_0x25d96b[_0x1a4e('0x46')](new _0x1327f0[(_0x1a4e('0x38da'))](_0xe96157,_0xb0f46d,0x0)),_0xe96157=_0x40c733[_0x1a4e('0x1a1')]-0x1/0x3*_0x13911c*Math['cos'](_0x9e7f07+Math['PI']/0x4),_0xb0f46d=_0x40c733[_0x1a4e('0x1a2')]-0x1/0x3*_0x13911c*Math[_0x1a4e('0x8f')](_0x9e7f07+Math['PI']/0x4),_0x25d96b[_0x1a4e('0x46')](new _0x1327f0[(_0x1a4e('0x38da'))](_0xe96157,_0xb0f46d,0x0)),_0x25d96b;},_0x40c733[_0x1a4e('0x52d6')]=function(_0x40c733,_0x9e7f07,_0x13911c,_0x25d96b,_0x170788){void 0x0===_0x170788&&(_0x170788=[]);if(_0x25d96b){var _0x53324b=_0x40c733['lon']+0.25*_0x13911c*Math[_0x1a4e('0x90')](_0x9e7f07+0x5/0x6*Math['PI']),_0x5b6195=_0x40c733[_0x1a4e('0x1a2')]+0.25*_0x13911c*Math[_0x1a4e('0x8f')](_0x9e7f07+0x5/0x6*Math['PI']);_0x170788[_0x1a4e('0x46')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x53324b,_0x5b6195,0x0)),_0x170788[_0x1a4e('0x46')](_0x40c733),_0x53324b=_0x40c733['lon']+0.25*_0x13911c*Math[_0x1a4e('0x90')](_0x9e7f07-0x5/0x6*Math['PI']),_0x5b6195=_0x40c733[_0x1a4e('0x1a2')]+0.25*_0x13911c*Math[_0x1a4e('0x8f')](_0x9e7f07-0x5/0x6*Math['PI']),_0x170788[_0x1a4e('0x46')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x53324b,_0x5b6195,0x0));}else{_0x53324b=_0x40c733[_0x1a4e('0x1a1')]-0.25*_0x13911c*Math['cos'](_0x9e7f07+0x5/0x6*Math['PI']),_0x5b6195=_0x40c733['lat']-0.25*_0x13911c*Math[_0x1a4e('0x8f')](_0x9e7f07+0x5/0x6*Math['PI']);_0x170788[_0x1a4e('0x46')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x53324b,_0x5b6195,0x0)),_0x170788[_0x1a4e('0x46')](_0x40c733),_0x53324b=_0x40c733[_0x1a4e('0x1a1')]-0.25*_0x13911c*Math[_0x1a4e('0x90')](_0x9e7f07-0x5/0x6*Math['PI']),_0x5b6195=_0x40c733[_0x1a4e('0x1a2')]-0.25*_0x13911c*Math[_0x1a4e('0x8f')](_0x9e7f07-0x5/0x6*Math['PI']),_0x170788[_0x1a4e('0x46')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x53324b,_0x5b6195,0x0));}return _0x170788;},_0x40c733[_0x1a4e('0x52d7')]=function(_0x40c733,_0x9e7f07){var _0x13911c=[];if(!(_0x40c733[_0x1a4e('0x1e')]<0x2)){this['modifyControlPoints'](_0x40c733);for(var _0x25d96b=_0x40c733[_0x1a4e('0x1e')],_0x133cf4=0x1;_0x133cf4<_0x25d96b;_0x133cf4++){var _0xa14bea=_0x40c733[_0x133cf4-0x1],_0x183a7a=_0x40c733[_0x133cf4];_0xa14bea[_0x1a4e('0x398c')]=0x0,_0x183a7a[_0x1a4e('0x398c')]=0x0;var _0x3c58e1=this[_0x1a4e('0x1ed')](_0x183a7a,_0xa14bea),_0x19e61f=this[_0x1a4e('0x449b')](_0xa14bea,_0x183a7a),_0x6746a9=_0x1327f0['GeoPoint'][_0x1a4e('0x177')](_0xa14bea,_0x1327f0['GeoPoint'][_0x1a4e('0x260')](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x183a7a,_0xa14bea),0x1/0x8));_0x13911c[_0x1a4e('0x46')](_0xa14bea),_0x13911c[_0x1a4e('0x46')](_0x6746a9),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x3f4568=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x6746a9,_0xa14bea);_0x3f4568[_0x1a4e('0x330')]();var _0x3973a5=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0xa14bea,_0x1327f0['GeoPoint'][_0x1a4e('0x260')](new _0x1327f0['GeoPoint'](_0x3f4568[_0x1a4e('0x1a2')],-_0x3f4568[_0x1a4e('0x1a1')],0x0),_0x3c58e1/0x8));_0x13911c['push'](_0xa14bea),_0x13911c['push'](_0x3973a5),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x5266f9=_0x1327f0[_0x1a4e('0x38da')]['add'](_0xa14bea,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x183a7a,_0xa14bea),0x7/0x8));_0x13911c[_0x1a4e('0x46')](_0x183a7a),_0x13911c['push'](_0x5266f9),_0x9e7f07['push'](0x2);var _0x1147de=_0x1327f0[_0x1a4e('0x38da')]['add'](_0x5266f9,_0x1327f0[_0x1a4e('0x38da')]['multiply'](new _0x1327f0[(_0x1a4e('0x38da'))](_0x3f4568[_0x1a4e('0x1a2')],-_0x3f4568[_0x1a4e('0x1a1')],0x0),_0x3c58e1/0x8));_0x13911c[_0x1a4e('0x46')](_0x5266f9),_0x13911c[_0x1a4e('0x46')](_0x1147de),_0x9e7f07['push'](0x2);for(var _0x235e62=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0xa14bea,_0x1327f0['GeoPoint'][_0x1a4e('0x260')](_0x1327f0[_0x1a4e('0x38da')]['subtract'](_0x183a7a,_0xa14bea),0.5)),_0x1f4aec=0.1*_0x3c58e1,_0x20622c=_0x1327f0['GeoPoint'][_0x1a4e('0x177')](_0x235e62,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](-_0x3f4568[_0x1a4e('0x1a2')],_0x3f4568[_0x1a4e('0x1a1')],0x0),_0x3c58e1/0x8)),_0x19173c=[],_0x356b44=[],_0x593ad5=0x3*Math['PI']/0x4/0x1e,_0x32298d=0x0;_0x32298d<=0x1e;_0x32298d++){var _0x98dcfb=_0x19e61f+0x3*Math['PI']/0x4+_0x593ad5*_0x32298d,_0x35b895=_0x1f4aec*Math[_0x1a4e('0x90')](_0x98dcfb)+_0x20622c[_0x1a4e('0x1a1')],_0x5e1cf6=_0x1f4aec*Math[_0x1a4e('0x8f')](_0x98dcfb)+_0x20622c['lat'],_0x29f8c1=_0x1327f0[_0x1a4e('0x38da')]['add'](new _0x1327f0['GeoPoint'](_0x35b895,_0x5e1cf6,0x0),_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x3f4568[_0x1a4e('0x1a1')],_0x3f4568[_0x1a4e('0x1a2')],0x0),_0x1f4aec/1.45));_0x19173c[_0x1a4e('0x46')](_0x29f8c1),_0x98dcfb=_0x19e61f-0x1*Math['PI']/0x2+_0x593ad5*_0x32298d,_0x35b895=_0x1f4aec*Math[_0x1a4e('0x90')](_0x98dcfb)+_0x20622c[_0x1a4e('0x1a1')],_0x5e1cf6=_0x1f4aec*Math[_0x1a4e('0x8f')](_0x98dcfb)+_0x20622c[_0x1a4e('0x1a2')],_0x29f8c1=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x35b895,_0x5e1cf6,0x0),_0x1327f0['GeoPoint']['multiply'](new _0x1327f0[(_0x1a4e('0x38da'))](_0x3f4568['lon'],_0x3f4568[_0x1a4e('0x1a2')],0x0),_0x1f4aec/1.45)),_0x356b44['push'](_0x29f8c1);}for(var _0x236885=0x0;_0x236885<_0x19173c['length'];_0x236885++)_0x13911c['push'](_0x19173c[_0x236885]);_0x9e7f07[_0x1a4e('0x46')](_0x19173c['length']);for(var _0x215dd3=_0x356b44[_0x1a4e('0x1e')]-0x1;_0x215dd3>=0x0;_0x215dd3--)_0x13911c[_0x1a4e('0x46')](_0x356b44[_0x215dd3]);_0x9e7f07[_0x1a4e('0x46')](_0x356b44[_0x1a4e('0x1e')]);}return _0x13911c;}},_0x40c733['toVertice_Alg2']=function(_0x40c733,_0x9e7f07){var _0x13911c=[];if(!(_0x40c733[_0x1a4e('0x1e')]<0x2)){this['modifyControlPoints'](_0x40c733);for(var _0x25d96b=_0x40c733[_0x1a4e('0x1e')],_0x1b4801=0x1;_0x1b4801<_0x25d96b;_0x1b4801++){var _0x585678=_0x40c733[_0x1b4801-0x1],_0x79b95e=_0x40c733[_0x1b4801];_0x585678['alt']=0x0,_0x79b95e[_0x1a4e('0x398c')]=0x0;var _0x14b2e2=this[_0x1a4e('0x1ed')](_0x79b95e,_0x585678),_0x495724=_0x1327f0['GeoPoint']['add'](_0x585678,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x79b95e,_0x585678),0x1/0x8));_0x13911c[_0x1a4e('0x46')](_0x585678),_0x13911c[_0x1a4e('0x46')](_0x495724),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0xcbe8ed=_0x1327f0['GeoPoint'][_0x1a4e('0x262')](_0x495724,_0x585678);_0xcbe8ed[_0x1a4e('0x330')]();var _0x27508e=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x585678,_0x1327f0[_0x1a4e('0x38da')]['multiply'](new _0x1327f0[(_0x1a4e('0x38da'))](_0xcbe8ed[_0x1a4e('0x1a2')],-_0xcbe8ed['lon'],0x0),_0x14b2e2/0x8));_0x13911c[_0x1a4e('0x46')](_0x585678),_0x13911c['push'](_0x27508e),_0x9e7f07['push'](0x2);var _0x390872=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x585678,_0x1327f0['GeoPoint']['multiply'](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x79b95e,_0x585678),0x1/0x17)),_0xe40c53=_0x1327f0['GeoPoint']['add'](_0x390872,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0xcbe8ed[_0x1a4e('0x1a2')],-_0xcbe8ed[_0x1a4e('0x1a1')],0x0),0x1*_0x14b2e2/0x17)),_0x1b88a4=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x495724,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0['GeoPoint'](_0xcbe8ed[_0x1a4e('0x1a2')],-_0xcbe8ed[_0x1a4e('0x1a1')],0x0),0x1*_0x14b2e2/0x17));_0x13911c[_0x1a4e('0x46')](_0xe40c53),_0x13911c['push'](_0x1b88a4),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x4ef085=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x390872,_0x1327f0['GeoPoint']['multiply'](new _0x1327f0[(_0x1a4e('0x38da'))](_0xcbe8ed[_0x1a4e('0x1a2')],-_0xcbe8ed[_0x1a4e('0x1a1')],0x0),0x1*_0x14b2e2/0x8));_0x13911c[_0x1a4e('0x46')](_0xe40c53),_0x13911c[_0x1a4e('0x46')](_0x4ef085),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x4f16f7=_0x1327f0[_0x1a4e('0x38da')]['add'](_0x585678,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](_0x1327f0['GeoPoint'][_0x1a4e('0x262')](_0x79b95e,_0x585678),0x7/0x8));_0x13911c[_0x1a4e('0x46')](_0x79b95e),_0x13911c['push'](_0x4f16f7),_0x9e7f07['push'](0x2);var _0x2228a3=_0x1327f0[_0x1a4e('0x38da')]['add'](_0x4f16f7,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0['GeoPoint'](_0xcbe8ed[_0x1a4e('0x1a2')],-_0xcbe8ed[_0x1a4e('0x1a1')],0x0),_0x14b2e2/0x8));_0x13911c[_0x1a4e('0x46')](_0x4f16f7),_0x13911c[_0x1a4e('0x46')](_0x2228a3),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x15701b=_0x1327f0[_0x1a4e('0x38da')]['add'](_0x585678,_0x1327f0[_0x1a4e('0x38da')]['multiply'](_0x1327f0[_0x1a4e('0x38da')]['subtract'](_0x79b95e,_0x585678),0x7/0x8+0x1/0x17)),_0x1b67da=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x15701b,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0xcbe8ed['lat'],-_0xcbe8ed[_0x1a4e('0x1a1')],0x0),0x1*_0x14b2e2/0x17)),_0x37598d=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x79b95e,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0['GeoPoint'](_0xcbe8ed['lat'],-_0xcbe8ed[_0x1a4e('0x1a1')],0x0),0x1*_0x14b2e2/0x17));_0x13911c['push'](_0x1b67da),_0x13911c['push'](_0x37598d),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x4609b3=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x15701b,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0xcbe8ed[_0x1a4e('0x1a2')],-_0xcbe8ed['lon'],0x0),_0x14b2e2/0x8));_0x13911c['push'](_0x1b67da),_0x13911c[_0x1a4e('0x46')](_0x4609b3),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x8d1a06=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x585678,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](_0x1327f0[_0x1a4e('0x38da')]['subtract'](_0x79b95e,_0x585678),0x3/0x8)),_0x459599=_0x1327f0[_0x1a4e('0x38da')]['add'](_0x585678,_0x1327f0['GeoPoint'][_0x1a4e('0x260')](_0x1327f0['GeoPoint'][_0x1a4e('0x262')](_0x79b95e,_0x585678),0x5/0x8));_0x13911c[_0x1a4e('0x46')](_0x8d1a06),_0x13911c[_0x1a4e('0x46')](_0x459599),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x310fcf=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x8d1a06,_0x1327f0['GeoPoint'][_0x1a4e('0x260')](new _0x1327f0['GeoPoint'](_0xcbe8ed[_0x1a4e('0x1a2')],-_0xcbe8ed['lon'],0x0),_0x14b2e2/0x14)),_0x151de2=_0x1327f0[_0x1a4e('0x38da')]['add'](_0x459599,_0x1327f0['GeoPoint'][_0x1a4e('0x260')](new _0x1327f0['GeoPoint'](_0xcbe8ed[_0x1a4e('0x1a2')],-_0xcbe8ed[_0x1a4e('0x1a1')],0x0),_0x14b2e2/0x14));_0x13911c[_0x1a4e('0x46')](_0x310fcf),_0x13911c[_0x1a4e('0x46')](_0x151de2),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x2fb7ef=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x585678,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](_0x1327f0['GeoPoint']['subtract'](_0x79b95e,_0x585678),0.5)),_0x34da2f=_0x1327f0['GeoPoint'][_0x1a4e('0x177')](_0x2fb7ef,_0x1327f0[_0x1a4e('0x38da')]['multiply'](new _0x1327f0[(_0x1a4e('0x38da'))](-_0xcbe8ed['lat'],_0xcbe8ed['lon'],0x0),_0x14b2e2/0x37)),_0x9ecc4a=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x2fb7ef,_0x1327f0['GeoPoint']['multiply'](new _0x1327f0[(_0x1a4e('0x38da'))](_0xcbe8ed[_0x1a4e('0x1a2')],-_0xcbe8ed['lon'],0x0),0x5*_0x14b2e2/0x40));_0x13911c[_0x1a4e('0x46')](_0x9ecc4a),_0x13911c[_0x1a4e('0x46')](_0x34da2f),_0x9e7f07[_0x1a4e('0x46')](0x2);}return _0x13911c;}},_0x40c733[_0x1a4e('0x52d8')]=function(_0x40c733,_0x9e7f07){var _0x13911c=[];if(!(_0x40c733[_0x1a4e('0x1e')]<0x2)){this[_0x1a4e('0x50fe')](_0x40c733);for(var _0x25d96b=_0x40c733[_0x1a4e('0x1e')],_0x57a374=0x1;_0x57a374<_0x25d96b;_0x57a374++){var _0x37d345=_0x40c733[_0x57a374-0x1],_0x5aeb2a=_0x40c733[_0x57a374];_0x37d345[_0x1a4e('0x398c')]=0x0,_0x5aeb2a['alt']=0x0;var _0x444a2d=this['distance'](_0x5aeb2a,_0x37d345),_0x54aa1f=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x37d345,_0x1327f0['GeoPoint'][_0x1a4e('0x260')](_0x1327f0[_0x1a4e('0x38da')]['subtract'](_0x5aeb2a,_0x37d345),0.1));_0x13911c[_0x1a4e('0x46')](_0x37d345),_0x13911c[_0x1a4e('0x46')](_0x54aa1f),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x4158d9=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x54aa1f,_0x37d345);_0x4158d9[_0x1a4e('0x330')]();var _0x1f3ec6=_0x1327f0['GeoPoint'][_0x1a4e('0x177')](_0x37d345,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x4158d9['lat'],-_0x4158d9[_0x1a4e('0x1a1')],0x0),0.07*_0x444a2d));_0x13911c[_0x1a4e('0x46')](_0x37d345),_0x13911c[_0x1a4e('0x46')](_0x1f3ec6),_0x9e7f07['push'](0x2);var _0x2f9eb8=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x37d345,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](_0x1327f0['GeoPoint'][_0x1a4e('0x262')](_0x5aeb2a,_0x37d345),0.9));_0x13911c[_0x1a4e('0x46')](_0x5aeb2a),_0x13911c[_0x1a4e('0x46')](_0x2f9eb8),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x3c3db4=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x2f9eb8,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x4158d9[_0x1a4e('0x1a2')],-_0x4158d9[_0x1a4e('0x1a1')],0x0),0.07*_0x444a2d));_0x13911c[_0x1a4e('0x46')](_0x2f9eb8),_0x13911c['push'](_0x3c3db4),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x1c0503=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x37d345,_0x1327f0[_0x1a4e('0x38da')]['multiply'](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x5aeb2a,_0x37d345),0.3)),_0x12e6c4=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x37d345,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](_0x1327f0['GeoPoint']['subtract'](_0x5aeb2a,_0x37d345),0.7));_0x13911c[_0x1a4e('0x46')](_0x1c0503),_0x13911c[_0x1a4e('0x46')](_0x12e6c4),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x2d4b2a=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x37d345,_0x1327f0['GeoPoint']['multiply'](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x5aeb2a,_0x37d345),0.5)),_0x1be14a=_0x1327f0['GeoPoint'][_0x1a4e('0x177')](_0x2d4b2a,_0x1327f0[_0x1a4e('0x38da')]['multiply'](new _0x1327f0[(_0x1a4e('0x38da'))](-_0x4158d9['lat'],_0x4158d9[_0x1a4e('0x1a1')],0x0),0.045*_0x444a2d)),_0x13d85c=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x37d345,_0x1327f0[_0x1a4e('0x38da')]['multiply'](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x5aeb2a,_0x37d345),0.475)),_0x3d043a=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x13d85c,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x4158d9['lat'],-_0x4158d9[_0x1a4e('0x1a1')],0x0),0.045*_0x444a2d)),_0x4121fe=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x37d345,_0x1327f0['GeoPoint'][_0x1a4e('0x260')](_0x1327f0['GeoPoint'][_0x1a4e('0x262')](_0x5aeb2a,_0x37d345),0.525)),_0x5a3efc=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x4121fe,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x4158d9[_0x1a4e('0x1a2')],-_0x4158d9[_0x1a4e('0x1a1')],0x0),0.045*_0x444a2d));_0x13911c['push'](_0x3d043a),_0x13911c[_0x1a4e('0x46')](_0x1be14a),_0x13911c[_0x1a4e('0x46')](_0x5a3efc),_0x9e7f07[_0x1a4e('0x46')](0x3);}return _0x13911c;}},_0x40c733[_0x1a4e('0x52d9')]=function(_0x40c733,_0x9e7f07){var _0x13911c=[];if(!(_0x40c733[_0x1a4e('0x1e')]<0x2)){this[_0x1a4e('0x50fe')](_0x40c733);var _0x25d96b=_0x40c733[_0x1a4e('0x1e')],_0x256255=[],_0x1872fb=this[_0x1a4e('0x449b')](_0x40c733[0x0],_0x40c733[0x1]),_0x19f899=0.2*this[_0x1a4e('0x1ed')](_0x40c733[0x0],_0x40c733[0x1]);this[_0x1a4e('0x52da')](_0x40c733[0x0],_0x1872fb,_0x19f899,_0x256255),_0x256255['forEach'](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07[_0x1a4e('0x46')](0x2),_0x9e7f07[_0x1a4e('0x46')](0x2);for(var _0x3699b0=0x1;_0x3699b0<_0x25d96b;_0x3699b0++){var _0x8ba3de=_0x40c733[_0x3699b0-0x1],_0x1218b1=_0x40c733[_0x3699b0];_0x256255=[],_0x1872fb=this['getAngle'](_0x8ba3de,_0x1218b1),_0x19f899=0.2*this[_0x1a4e('0x1ed')](_0x8ba3de,_0x1218b1),this[_0x1a4e('0x52da')](_0x1218b1,_0x1872fb,_0x19f899,_0x256255),_0x256255[_0x1a4e('0x3b')](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07['push'](0x2),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x443c84=_0x1327f0[_0x1a4e('0x38da')]['add'](_0x8ba3de,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x1218b1,_0x8ba3de),0.2));_0x13911c[_0x1a4e('0x46')](_0x8ba3de),_0x13911c[_0x1a4e('0x46')](_0x443c84),_0x9e7f07['push'](0x2);var _0x235e1c=[];this[_0x1a4e('0x52d6')](_0x443c84,_0x1872fb,_0x19f899,!0x0,_0x235e1c),_0x235e1c['forEach'](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07['push'](_0x235e1c[_0x1a4e('0x1e')]);var _0x18149b=_0x1327f0['GeoPoint']['add'](_0x8ba3de,_0x1327f0[_0x1a4e('0x38da')]['multiply'](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x1218b1,_0x8ba3de),0.6));_0x13911c[_0x1a4e('0x46')](_0x1327f0[_0x1a4e('0x38da')]['add'](_0x8ba3de,_0x1327f0['GeoPoint']['multiply'](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x1218b1,_0x8ba3de),0.4))),_0x13911c[_0x1a4e('0x46')](_0x18149b),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x403e24=[];this[_0x1a4e('0x52d6')](_0x18149b,_0x1872fb,_0x19f899,!0x0,_0x403e24),_0x403e24['forEach'](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07['push'](_0x403e24['length']);var _0x35899e=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x8ba3de,_0x1327f0['GeoPoint'][_0x1a4e('0x260')](_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x1218b1,_0x8ba3de),0.8));_0x13911c[_0x1a4e('0x46')](_0x35899e),_0x13911c[_0x1a4e('0x46')](_0x1218b1),_0x9e7f07[_0x1a4e('0x46')](0x2);var _0x38b2af=[];if(this[_0x1a4e('0x52d6')](_0x35899e,_0x1872fb,_0x19f899,!0x1,_0x38b2af),_0x38b2af[_0x1a4e('0x3b')](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07[_0x1a4e('0x46')](_0x38b2af[_0x1a4e('0x1e')]),_0x3699b0>0x0){var _0x3a8c94=_0x1327f0[_0x1a4e('0x38da')]['add'](_0x8ba3de,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](_0x1327f0[_0x1a4e('0x38da')]['subtract'](_0x1218b1,_0x8ba3de),0.4));_0x256255=[],_0x1872fb=this['getAngle'](_0x8ba3de,_0x1218b1),_0x19f899=0.2*this[_0x1a4e('0x1ed')](_0x8ba3de,_0x1218b1),this[_0x1a4e('0x52da')](_0x3a8c94,_0x1872fb,_0x19f899,_0x256255),_0x256255[_0x1a4e('0x3b')](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07[_0x1a4e('0x46')](0x2),_0x9e7f07['push'](0x2);}}return _0x13911c;}},_0x40c733['toVertice_Alg5']=function(_0x40c733,_0x9e7f07){var _0x13911c=[];if(!(_0x40c733[_0x1a4e('0x1e')]<0x2)){this['modifyControlPoints'](_0x40c733);var _0x1327f0=_0x40c733[_0x1a4e('0x1e')],_0x25d96b=[],_0x4977c0=this[_0x1a4e('0x449b')](_0x40c733[0x0],_0x40c733[0x1]),_0x3f0da9=0.4*this[_0x1a4e('0x1ed')](_0x40c733[0x0],_0x40c733[0x1]);this['getXCoords'](_0x40c733[0x0],_0x4977c0,_0x3f0da9,_0x25d96b),_0x25d96b[_0x1a4e('0x3b')](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07[_0x1a4e('0x46')](0x2),_0x9e7f07[_0x1a4e('0x46')](0x2);for(var _0x1712a6=0x1;_0x1712a6<_0x1327f0;_0x1712a6++){var _0x55db7a=_0x40c733[_0x1712a6-0x1],_0x1486c9=_0x40c733[_0x1712a6];_0x25d96b=[],_0x4977c0=this[_0x1a4e('0x449b')](_0x55db7a,_0x1486c9),_0x3f0da9=0.4*this[_0x1a4e('0x1ed')](_0x55db7a,_0x1486c9),this[_0x1a4e('0x52da')](_0x1486c9,_0x4977c0,_0x3f0da9,_0x25d96b),_0x25d96b[_0x1a4e('0x3b')](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07['push'](0x2),_0x9e7f07['push'](0x2),_0x13911c[_0x1a4e('0x46')](_0x55db7a),_0x13911c['push'](_0x1486c9),_0x9e7f07[_0x1a4e('0x46')](0x2);}return _0x13911c;}},_0x40c733['toVertice_Alg6']=function(_0x40c733,_0x9e7f07){var _0x13911c=[];if(!(_0x40c733[_0x1a4e('0x1e')]<0x2)){this[_0x1a4e('0x50fe')](_0x40c733);for(var _0x25d96b=_0x40c733['length'],_0x43aa5e=0xf,_0x367b94=0x0,_0x538f62=0x1;_0x538f62<_0x25d96b;_0x538f62++){var _0x5d1b12=_0x40c733[_0x538f62-0x1],_0x59f539=_0x40c733[_0x538f62],_0x2e42d5=this[_0x1a4e('0x1ed')](_0x59f539,_0x5d1b12),_0x3ffcd9=this[_0x1a4e('0x449b')](_0x5d1b12,_0x59f539);_0x5d1b12[_0x1a4e('0x398c')]=0x0,_0x59f539['alt']=0x0;var _0x4fcebb=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x262')](_0x59f539,_0x5d1b12);_0x4fcebb[_0x1a4e('0x330')]();var _0x3ae0f1=Math['PI']/0x6,_0x4e2790=0x2*Math[_0x1a4e('0x8f')](_0x3ae0f1),_0x5453ee=_0x2e42d5/(0.3*(_0x43aa5e-0x1)+_0x4e2790*_0x43aa5e);if(0x1==_0x538f62)_0x367b94=_0x5453ee;else if(_0x5453ee>_0x367b94)for(;_0x5453ee>_0x367b94;)_0x5453ee=_0x2e42d5/(0.3*(++_0x43aa5e-0x1)+_0x4e2790*_0x43aa5e);else for(;_0x5453ee<_0x367b94&&_0x43aa5e>0x2;)_0x5453ee=_0x2e42d5/(0.3*(--_0x43aa5e-0x1)+_0x4e2790*_0x43aa5e);for(var _0x1b9537=_0x5453ee*_0x4e2790,_0x4280a0=0.3*_0x5453ee,_0x4d5cd1=_0x5d1b12,_0x3b6651=void 0x0,_0x15ad11=void 0x0,_0x635306=0x0;_0x635306<_0x43aa5e;_0x635306++){var _0x364e77=[],_0x1ba0b9=[],_0x93bd4b=(Math['PI']-_0x3ae0f1)/0x1e,_0x12c9fd=_0x1327f0['GeoPoint'][_0x1a4e('0x177')](_0x4d5cd1,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0['GeoPoint'](-_0x4fcebb[_0x1a4e('0x1a2')],_0x4fcebb[_0x1a4e('0x1a1')],0x0),_0x5453ee));_0x4d5cd1=_0x1327f0['GeoPoint'][_0x1a4e('0x177')](_0x5d1b12,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x4fcebb[_0x1a4e('0x1a1')],_0x4fcebb[_0x1a4e('0x1a2')],0x0),(_0x1b9537+_0x4280a0)*(_0x635306+0x1)));for(var _0x467a41=0x0;_0x467a41<=0x1e;_0x467a41++){var _0x4a9913=_0x3ffcd9+Math['PI']/0x2+_0x3ae0f1+_0x93bd4b*_0x467a41,_0x2b54f=_0x5453ee*Math['cos'](_0x4a9913)+_0x12c9fd[_0x1a4e('0x1a1')],_0x1c37d2=_0x5453ee*Math['sin'](_0x4a9913)+_0x12c9fd[_0x1a4e('0x1a2')],_0x579abc=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x2b54f,_0x1c37d2,0x0),_0x1327f0['GeoPoint'][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x4fcebb[_0x1a4e('0x1a1')],_0x4fcebb[_0x1a4e('0x1a2')],0x0),_0x1b9537));_0x364e77[_0x1a4e('0x46')](_0x579abc),_0x4a9913=_0x3ffcd9-Math['PI']/0x2+_0x93bd4b*_0x467a41,_0x2b54f=_0x5453ee*Math[_0x1a4e('0x90')](_0x4a9913)+_0x12c9fd['lon'],_0x1c37d2=_0x5453ee*Math[_0x1a4e('0x8f')](_0x4a9913)+_0x12c9fd[_0x1a4e('0x1a2')],_0x579abc=new _0x1327f0[(_0x1a4e('0x38da'))](_0x2b54f,_0x1c37d2,0x0),_0x1ba0b9['push'](_0x579abc);}_0x15ad11=_0x1ba0b9[0x0];for(var _0x5b0870=0x0;_0x5b0870<_0x364e77[_0x1a4e('0x1e')];_0x5b0870++)_0x13911c[_0x1a4e('0x46')](_0x364e77[_0x5b0870]);_0x9e7f07[_0x1a4e('0x46')](_0x364e77[_0x1a4e('0x1e')]);for(var _0x58e93e=_0x1ba0b9[_0x1a4e('0x1e')]-0x1;_0x58e93e>=0x0;_0x58e93e--)_0x13911c[_0x1a4e('0x46')](_0x1ba0b9[_0x58e93e]);_0x9e7f07[_0x1a4e('0x46')](_0x1ba0b9[_0x1a4e('0x1e')]),_0x635306>0x0&&(_0x13911c[_0x1a4e('0x46')](_0x3b6651),_0x13911c[_0x1a4e('0x46')](_0x15ad11),_0x9e7f07[_0x1a4e('0x46')](0x2)),_0x3b6651=_0x364e77[_0x1ba0b9[_0x1a4e('0x1e')]-0x1];}}return _0x13911c;}},_0x40c733[_0x1a4e('0x52db')]=function(_0x40c733,_0x9e7f07){var _0x13911c=[];if(!(_0x40c733[_0x1a4e('0x1e')]<0x2)){this[_0x1a4e('0x50fe')](_0x40c733);var _0x25d96b=_0x40c733[_0x1a4e('0x1e')],_0x539bf3=[],_0x10801a=this[_0x1a4e('0x449b')](_0x40c733[0x0],_0x40c733[0x1]),_0x320bfb=this[_0x1a4e('0x1ed')](_0x40c733[0x0],_0x40c733[0x1]),_0x88fef=_0x320bfb/0x2,_0x590781=0.4*_0x320bfb;this[_0x1a4e('0x52da')](_0x40c733[0x0],_0x10801a,_0x590781,_0x539bf3),_0x539bf3['forEach'](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07[_0x1a4e('0x46')](0x2),_0x9e7f07[_0x1a4e('0x46')](0x2);for(var _0x50aa70,_0x5c49dd=0x0,_0x38bc69=0x1;_0x38bc69<_0x25d96b;_0x38bc69++){var _0x4410a9=_0x40c733[_0x38bc69-0x1],_0x1b6401=_0x40c733[_0x38bc69];_0x320bfb=this['distance'](_0x4410a9,_0x1b6401),_0x10801a=this['getAngle'](_0x4410a9,_0x1b6401),_0x4410a9[_0x1a4e('0x398c')]=0x0,_0x1b6401[_0x1a4e('0x398c')]=0x0,_0x50aa70=_0x4410a9;var _0x34df6a=_0x88fef-_0x5c49dd,_0x4e8f53=_0x1327f0['GeoPoint'][_0x1a4e('0x262')](_0x1b6401,_0x4410a9);_0x4e8f53[_0x1a4e('0x330')]();for(var _0x357ddc=(_0x320bfb+_0x5c49dd)/_0x88fef|0x0,_0xb37d49=0x0;_0xb37d49<_0x357ddc;_0xb37d49++){_0x539bf3=[];var _0x59633c=_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x177')](_0x50aa70,_0x1327f0[_0x1a4e('0x38da')][_0x1a4e('0x260')](new _0x1327f0[(_0x1a4e('0x38da'))](_0x4e8f53['lon'],_0x4e8f53['lat'],0x0),_0x34df6a+_0x88fef*_0xb37d49));this[_0x1a4e('0x52da')](_0x59633c,_0x10801a,_0x590781,_0x539bf3),_0x539bf3[_0x1a4e('0x3b')](function(_0x40c733){_0x13911c[_0x1a4e('0x46')](_0x40c733);}),_0x9e7f07[_0x1a4e('0x46')](0x2),_0x9e7f07['push'](0x2),_0x320bfb-=0x0==_0xb37d49?_0x34df6a:_0x88fef,_0x13911c[_0x1a4e('0x46')](_0x4410a9),_0x13911c[_0x1a4e('0x46')](_0x59633c),_0x9e7f07[_0x1a4e('0x46')](0x2),_0x4410a9=_0x59633c;}0x0==_0x357ddc?_0x5c49dd+=_0x320bfb:_0x5c49dd=_0x320bfb,0x0!=_0x5c49dd&&(_0x13911c[_0x1a4e('0x46')](_0x4410a9),_0x13911c['push'](_0x1b6401),_0x9e7f07[_0x1a4e('0x46')](0x2));}return _0x13911c;}},_0x40c733[_0x1a4e('0x442f')]=function(_0x9e7f07,_0x13911c){var _0x25d96b=[],_0x3d98e0=[],_0x35ae9e=[];switch(_0x9e7f07){case _0x1a4e('0x52dc'):_0x25d96b=_0x40c733['toVertice_Alg1'](_0x13911c,_0x3d98e0);break;case _0x1a4e('0x52dd'):_0x25d96b=_0x40c733['toVertice_Alg2'](_0x13911c,_0x3d98e0);break;case _0x1a4e('0x52de'):_0x25d96b=_0x40c733[_0x1a4e('0x52d8')](_0x13911c,_0x3d98e0);break;case'80-10015-1':_0x25d96b=_0x40c733[_0x1a4e('0x52d9')](_0x13911c,_0x3d98e0);break;case'80-10011-1':_0x25d96b=_0x40c733[_0x1a4e('0x52df')](_0x13911c,_0x3d98e0);break;case'80-10010-1':_0x25d96b=_0x40c733[_0x1a4e('0x52e0')](_0x13911c,_0x3d98e0);}if(_0x25d96b&&_0x25d96b[_0x1a4e('0x1e')]>0x0&&_0x3d98e0['length']>0x0)for(var _0x536a4e=[],_0x3f5e54=0x0;_0x3f5e54<_0x3d98e0['length'];_0x3f5e54++){_0x536a4e=_0x25d96b[_0x1a4e('0x8a')](0x0,_0x3d98e0[_0x3f5e54]);for(var _0x5d5bad=0x0;_0x5d5bad<_0x536a4e[_0x1a4e('0x1e')];_0x5d5bad++)_0x536a4e[_0x5d5bad]=_0x1327f0[_0x1a4e('0x38da')]['toCartesian3'](_0x536a4e[_0x5d5bad]);_0x35ae9e[_0x1a4e('0x46')](_0x536a4e);}return _0x35ae9e;},_0x40c733;}();},'./src/Utils/clustering/DBSCAN.js':function(_0x28f3c3,_0x572656,_0x5438d0){'use strict';var _0xb0d906=_0x1a4e('0x68')==typeof Symbol&&'symbol'==typeof Symbol[_0x1a4e('0x335')]?function(_0x28f3c3){return typeof _0x28f3c3;}:function(_0x28f3c3){return _0x28f3c3&&_0x1a4e('0x68')==typeof Symbol&&_0x28f3c3['constructor']===Symbol&&_0x28f3c3!==Symbol['prototype']?_0x1a4e('0xb1b'):typeof _0x28f3c3;};function _0x434b17(_0x28f3c3,_0x572656,_0x5438d0,_0xb0d906){this[_0x1a4e('0x1eb')]=[],this['epsilon']=0x1,this[_0x1a4e('0x1ec')]=0x2,this[_0x1a4e('0x1ed')]=this[_0x1a4e('0x1ee')],this[_0x1a4e('0x1ef')]=[],this['noise']=[],this[_0x1a4e('0x1f1')]=[],this[_0x1a4e('0x1f2')]=[],this[_0x1a4e('0x1f4')]=0x0,this[_0x1a4e('0x1f7')](_0x28f3c3,_0x572656,_0x5438d0,_0xb0d906);}_0x434b17[_0x1a4e('0xa')]['run']=function(_0x28f3c3,_0x572656,_0x5438d0,_0xb0d906){this[_0x1a4e('0x1f7')](_0x28f3c3,_0x572656,_0x5438d0,_0xb0d906);for(var _0x434b17=0x0;_0x434b17=this[_0x1a4e('0x1ec')]&&(_0x572656=this[_0x1a4e('0x1fa')](_0x572656,_0x434b17));}0x1!==this[_0x1a4e('0x1f2')][_0xb0d906]&&this['_addToCluster'](_0xb0d906,_0x28f3c3);}},_0x434b17[_0x1a4e('0xa')][_0x1a4e('0x1f6')]=function(_0x28f3c3,_0x572656){this['clusters'][_0x572656][_0x1a4e('0x46')](_0x28f3c3),this['_assigned'][_0x28f3c3]=0x1;},_0x434b17['prototype']['_regionQuery']=function(_0x28f3c3){for(var _0x572656=[],_0x5438d0=0x0;_0x5438d00x0){for(_0x50be70=0x0;_0x50be70<_0x584b51;_0x50be70++)_0x3ac7e2[_0x50be70]/=_0x22a364;this[_0x1a4e('0x1fc')][_0x20b61d]=_0x3ac7e2;}else this['centroids'][_0x20b61d]=this['randomCentroid'](),_0x5a52a3=!0x0;}}return this['getClusters']();},_0x5d4533[_0x1a4e('0xa')]['randomCentroid']=function(){var _0x5c0b84,_0x4a6101,_0xf38315=this[_0x1a4e('0x1eb')][_0x1a4e('0x1e')]-0x1;do{_0x4a6101=Math['round'](Math[_0x1a4e('0x12e')]()*_0xf38315),_0x5c0b84=this['dataset'][_0x4a6101];}while(this[_0x1a4e('0x1fc')][_0x1a4e('0x3e')](_0x5c0b84)>=0x0);return _0x5c0b84;},_0x5d4533[_0x1a4e('0xa')][_0x1a4e('0x200')]=function(){for(var _0x5c0b84,_0x4a6101=!0x1,_0xf38315=this[_0x1a4e('0x1eb')][_0x1a4e('0x1e')],_0x5d4533=0x0;_0x5d4533<_0xf38315;_0x5d4533++)(_0x5c0b84=this['argmin'](this[_0x1a4e('0x1eb')][_0x5d4533],this['centroids'],this[_0x1a4e('0x1ed')]))!=this[_0x1a4e('0x1fb')][_0x5d4533]&&(this[_0x1a4e('0x1fb')][_0x5d4533]=_0x5c0b84,_0x4a6101=!0x0);return _0x4a6101;},_0x5d4533['prototype'][_0x1a4e('0x1ff')]=function(){for(var _0x5c0b84,_0x4a6101=new Array(this['k']),_0xf38315=0x0;_0xf38315=this['minPts'])return _0x451ce2;}},_0x5bf148[_0x1a4e('0xa')][_0x1a4e('0x1f5')]=function(_0x3b2f8b,_0x1d4355){_0x1d4355=_0x1d4355||this[_0x1a4e('0x1f9')];for(var _0x451ce2=[],_0xf8ff2e=0x0,_0x2bedce=this[_0x1a4e('0x1eb')][_0x1a4e('0x1e')];_0xf8ff2e<_0x2bedce;_0xf8ff2e++)this[_0x1a4e('0x1ed')](this[_0x1a4e('0x1eb')][_0x3b2f8b],this['dataset'][_0xf8ff2e])<_0x1d4355&&_0x451ce2[_0x1a4e('0x46')](_0xf8ff2e);return _0x451ce2;},_0x5bf148[_0x1a4e('0xa')][_0x1a4e('0x1ee')]=function(_0x3b2f8b,_0x1d4355){for(var _0x451ce2=0x0,_0xf8ff2e=Math[_0x1a4e('0x74')](_0x3b2f8b[_0x1a4e('0x1e')],_0x1d4355['length']);_0xf8ff2e--;)_0x451ce2+=(_0x3b2f8b[_0xf8ff2e]-_0x1d4355[_0xf8ff2e])*(_0x3b2f8b[_0xf8ff2e]-_0x1d4355[_0xf8ff2e]);return Math['sqrt'](_0x451ce2);},_0x3b2f8b[_0x1a4e('0x0')]&&(_0x3b2f8b[_0x1a4e('0x0')]=_0x5bf148);},'./src/Utils/clustering/PriorityQueue.js':function(_0x48937f,_0x1613cf,_0x542cd5){'use strict';function _0x39d27f(_0x48937f,_0x1613cf,_0x542cd5){this[_0x1a4e('0x202')]=[],this[_0x1a4e('0x203')]=[],this[_0x1a4e('0x205')]=_0x1a4e('0x204'),this[_0x1a4e('0x1f7')](_0x48937f,_0x1613cf,_0x542cd5);}_0x39d27f[_0x1a4e('0xa')]['insert']=function(_0x48937f,_0x1613cf){for(var _0x542cd5=this[_0x1a4e('0x202')][_0x1a4e('0x1e')],_0x39d27f=_0x542cd5;_0x39d27f--;){var _0x5d9ecf=this[_0x1a4e('0x203')][_0x39d27f];_0x1a4e('0x204')===this[_0x1a4e('0x205')]?_0x1613cf>_0x5d9ecf&&(_0x542cd5=_0x39d27f):_0x1613cf<_0x5d9ecf&&(_0x542cd5=_0x39d27f);}this[_0x1a4e('0x206')](_0x48937f,_0x1613cf,_0x542cd5);},_0x39d27f[_0x1a4e('0xa')][_0x1a4e('0x82')]=function(_0x48937f){for(var _0x1613cf=this[_0x1a4e('0x202')]['length'];_0x1613cf--;){if(_0x48937f===this[_0x1a4e('0x202')][_0x1613cf]){this[_0x1a4e('0x202')][_0x1a4e('0x8a')](_0x1613cf,0x1),this[_0x1a4e('0x203')]['splice'](_0x1613cf,0x1);break;}}},_0x39d27f[_0x1a4e('0xa')]['forEach']=function(_0x48937f){this[_0x1a4e('0x202')][_0x1a4e('0x3b')](_0x48937f);},_0x39d27f['prototype'][_0x1a4e('0x207')]=function(){return this[_0x1a4e('0x202')];},_0x39d27f[_0x1a4e('0xa')][_0x1a4e('0x52e3')]=function(_0x48937f){return this[_0x1a4e('0x203')][_0x48937f];},_0x39d27f[_0x1a4e('0xa')]['getPriorities']=function(){return this['_priorities'];},_0x39d27f[_0x1a4e('0xa')][_0x1a4e('0x209')]=function(){for(var _0x48937f=[],_0x1613cf=0x0,_0x542cd5=this['_queue'][_0x1a4e('0x1e')];_0x1613cf<_0x542cd5;_0x1613cf++)_0x48937f[_0x1a4e('0x46')]([this['_queue'][_0x1613cf],this['_priorities'][_0x1613cf]]);return _0x48937f;},_0x39d27f[_0x1a4e('0xa')]['_init']=function(_0x48937f,_0x1613cf,_0x542cd5){if(_0x48937f&&_0x1613cf){if(this[_0x1a4e('0x202')]=[],this['_priorities']=[],_0x48937f[_0x1a4e('0x1e')]!==_0x1613cf[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0x20a'));for(var _0x39d27f=0x0;_0x39d27f<_0x48937f['length'];_0x39d27f++)this['insert'](_0x48937f[_0x39d27f],_0x1613cf[_0x39d27f]);}_0x542cd5&&(this[_0x1a4e('0x205')]=_0x542cd5);},_0x39d27f['prototype'][_0x1a4e('0x206')]=function(_0x48937f,_0x1613cf,_0x542cd5){this[_0x1a4e('0x202')]['length']===_0x542cd5?(this[_0x1a4e('0x202')][_0x1a4e('0x46')](_0x48937f),this[_0x1a4e('0x203')]['push'](_0x1613cf)):(this[_0x1a4e('0x202')]['splice'](_0x542cd5,0x0,_0x48937f),this[_0x1a4e('0x203')][_0x1a4e('0x8a')](_0x542cd5,0x0,_0x1613cf));},_0x48937f[_0x1a4e('0x0')]&&(_0x48937f[_0x1a4e('0x0')]=_0x39d27f);},'./src/Utils/clustering/index.js':function(_0x30a354,_0x4f0b6c,_0x45305d){'use strict';_0x30a354['exports']&&(_0x30a354[_0x1a4e('0x0')]={'DBSCAN':_0x45305d(_0x1a4e('0x52e4')),'KMEANS':_0x45305d(_0x1a4e('0x52e5')),'OPTICS':_0x45305d(_0x1a4e('0x52e6')),'PriorityQueue':_0x45305d(_0x1a4e('0x52e7'))});},'./src/Utils/html2canvas/html2canvas.js':function(_0x4f39a9,_0x40681f,_0x44caca){'use strict';var _0x2a04f1,_0x8fab41,_0x13e4bb,_0x15ca8d=_0x1a4e('0x68')==typeof Symbol&&_0x1a4e('0xb1b')==typeof Symbol[_0x1a4e('0x335')]?function(_0x4f39a9){return typeof _0x4f39a9;}:function(_0x4f39a9){return _0x4f39a9&&_0x1a4e('0x68')==typeof Symbol&&_0x4f39a9[_0x1a4e('0x10')]===Symbol&&_0x4f39a9!==Symbol[_0x1a4e('0xa')]?_0x1a4e('0xb1b'):typeof _0x4f39a9;};_0x13e4bb=function(){var _0x4f39a9=function(_0x40681f,_0x44caca){return(_0x4f39a9=Object['setPrototypeOf']||{'__proto__':[]}instanceof Array&&function(_0x4f39a9,_0x40681f){_0x4f39a9[_0x1a4e('0x295')]=_0x40681f;}||function(_0x4f39a9,_0x40681f){for(var _0x44caca in _0x40681f)_0x40681f[_0x1a4e('0xb')](_0x44caca)&&(_0x4f39a9[_0x44caca]=_0x40681f[_0x44caca]);})(_0x40681f,_0x44caca);};function _0x40681f(_0x40681f,_0x44caca){function _0x2a04f1(){this[_0x1a4e('0x10')]=_0x40681f;}_0x4f39a9(_0x40681f,_0x44caca),_0x40681f[_0x1a4e('0xa')]=null===_0x44caca?Object[_0x1a4e('0x7')](_0x44caca):(_0x2a04f1[_0x1a4e('0xa')]=_0x44caca['prototype'],new _0x2a04f1());}var _0x44caca=function(){return(_0x44caca=Object[_0x1a4e('0x200')]||function(_0x4f39a9){for(var _0x40681f,_0x44caca=0x1,_0x2a04f1=arguments[_0x1a4e('0x1e')];_0x44caca<_0x2a04f1;_0x44caca++)for(var _0x8fab41 in _0x40681f=arguments[_0x44caca])Object[_0x1a4e('0xa')]['hasOwnProperty'][_0x1a4e('0x1')](_0x40681f,_0x8fab41)&&(_0x4f39a9[_0x8fab41]=_0x40681f[_0x8fab41]);return _0x4f39a9;})[_0x1a4e('0x8b')](this,arguments);};function _0x2a04f1(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){return new(_0x44caca||(_0x44caca=Promise))(function(_0x8fab41,_0x13e4bb){function _0x15ca8d(_0x4f39a9){try{_0x445850(_0x2a04f1['next'](_0x4f39a9));}catch(_0x374fab){_0x13e4bb(_0x374fab);}}function _0x4a0a9a(_0x4f39a9){try{_0x445850(_0x2a04f1[_0x1a4e('0x1362')](_0x4f39a9));}catch(_0x4547a7){_0x13e4bb(_0x4547a7);}}function _0x445850(_0x4f39a9){_0x4f39a9[_0x1a4e('0x3c2')]?_0x8fab41(_0x4f39a9[_0x1a4e('0x255')]):new _0x44caca(function(_0x40681f){_0x40681f(_0x4f39a9['value']);})[_0x1a4e('0xdf8')](_0x15ca8d,_0x4a0a9a);}_0x445850((_0x2a04f1=_0x2a04f1[_0x1a4e('0x8b')](_0x4f39a9,_0x40681f||[]))[_0x1a4e('0x7e')]());});}function _0x8fab41(_0x4f39a9,_0x40681f){var _0x44caca,_0x2a04f1,_0x8fab41,_0x13e4bb,_0x15ca8d={'label':0x0,'sent':function(){if(0x1&_0x8fab41[0x0])throw _0x8fab41[0x1];return _0x8fab41[0x1];},'trys':[],'ops':[]};return _0x13e4bb={'next':_0x4e67a0(0x0),'throw':_0x4e67a0(0x1),'return':_0x4e67a0(0x2)},_0x1a4e('0x68')==typeof Symbol&&(_0x13e4bb[Symbol[_0x1a4e('0x335')]]=function(){return this;}),_0x13e4bb;function _0x4e67a0(_0x13e4bb){return function(_0x4e67a0){return function(_0x13e4bb){if(_0x44caca)throw new TypeError('Generator\x20is\x20already\x20executing.');for(;_0x15ca8d;)try{if(_0x44caca=0x1,_0x2a04f1&&(_0x8fab41=0x2&_0x13e4bb[0x0]?_0x2a04f1['return']:_0x13e4bb[0x0]?_0x2a04f1['throw']||((_0x8fab41=_0x2a04f1['return'])&&_0x8fab41['call'](_0x2a04f1),0x0):_0x2a04f1[_0x1a4e('0x7e')])&&!(_0x8fab41=_0x8fab41[_0x1a4e('0x1')](_0x2a04f1,_0x13e4bb[0x1]))[_0x1a4e('0x3c2')])return _0x8fab41;switch(_0x2a04f1=0x0,_0x8fab41&&(_0x13e4bb=[0x2&_0x13e4bb[0x0],_0x8fab41[_0x1a4e('0x255')]]),_0x13e4bb[0x0]){case 0x0:case 0x1:_0x8fab41=_0x13e4bb;break;case 0x4:return _0x15ca8d[_0x1a4e('0x1bc')]++,{'value':_0x13e4bb[0x1],'done':!0x1};case 0x5:_0x15ca8d[_0x1a4e('0x1bc')]++,_0x2a04f1=_0x13e4bb[0x1],_0x13e4bb=[0x0];continue;case 0x7:_0x13e4bb=_0x15ca8d[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x15ca8d[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;default:if(!(_0x8fab41=(_0x8fab41=_0x15ca8d['trys'])[_0x1a4e('0x1e')]>0x0&&_0x8fab41[_0x8fab41['length']-0x1])&&(0x6===_0x13e4bb[0x0]||0x2===_0x13e4bb[0x0])){_0x15ca8d=0x0;continue;}if(0x3===_0x13e4bb[0x0]&&(!_0x8fab41||_0x13e4bb[0x1]>_0x8fab41[0x0]&&_0x13e4bb[0x1]<_0x8fab41[0x3])){_0x15ca8d['label']=_0x13e4bb[0x1];break;}if(0x6===_0x13e4bb[0x0]&&_0x15ca8d[_0x1a4e('0x1bc')]<_0x8fab41[0x1]){_0x15ca8d['label']=_0x8fab41[0x1],_0x8fab41=_0x13e4bb;break;}if(_0x8fab41&&_0x15ca8d['label']<_0x8fab41[0x2]){_0x15ca8d['label']=_0x8fab41[0x2],_0x15ca8d[_0x1a4e('0x166a')][_0x1a4e('0x46')](_0x13e4bb);break;}_0x8fab41[0x2]&&_0x15ca8d[_0x1a4e('0x166a')]['pop'](),_0x15ca8d[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;}_0x13e4bb=_0x40681f[_0x1a4e('0x1')](_0x4f39a9,_0x15ca8d);}catch(_0x4b168f){_0x13e4bb=[0x6,_0x4b168f],_0x2a04f1=0x0;}finally{_0x44caca=_0x8fab41=0x0;}if(0x5&_0x13e4bb[0x0])throw _0x13e4bb[0x1];return{'value':_0x13e4bb[0x0]?_0x13e4bb[0x1]:void 0x0,'done':!0x0};}([_0x13e4bb,_0x4e67a0]);};}}for(var _0x13e4bb=function(){function _0x4f39a9(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){this[_0x1a4e('0x5f')]=_0x4f39a9,this[_0x1a4e('0x5e')]=_0x40681f,this[_0x1a4e('0x3936')]=_0x44caca,this[_0x1a4e('0x152')]=_0x2a04f1;}return _0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41){return new _0x4f39a9(this[_0x1a4e('0x5f')]+_0x40681f,this[_0x1a4e('0x5e')]+_0x44caca,this['width']+_0x2a04f1,this[_0x1a4e('0x152')]+_0x8fab41);},_0x4f39a9['fromClientRect']=function(_0x40681f){return new _0x4f39a9(_0x40681f[_0x1a4e('0x5f')],_0x40681f[_0x1a4e('0x5e')],_0x40681f[_0x1a4e('0x3936')],_0x40681f[_0x1a4e('0x152')]);},_0x4f39a9;}(),_0x15ca8d=function(_0x4f39a9){return _0x13e4bb[_0x1a4e('0x52e8')](_0x4f39a9['getBoundingClientRect']());},_0x206a52=function(_0x4f39a9){for(var _0x40681f=[],_0x44caca=0x0,_0x2a04f1=_0x4f39a9[_0x1a4e('0x1e')];_0x44caca<_0x2a04f1;){var _0x8fab41=_0x4f39a9[_0x1a4e('0x913')](_0x44caca++);if(_0x8fab41>=0xd800&&_0x8fab41<=0xdbff&&_0x44caca<_0x2a04f1){var _0x13e4bb=_0x4f39a9[_0x1a4e('0x913')](_0x44caca++);0xdc00==(0xfc00&_0x13e4bb)?_0x40681f[_0x1a4e('0x46')](((0x3ff&_0x8fab41)<<0xa)+(0x3ff&_0x13e4bb)+0x10000):(_0x40681f[_0x1a4e('0x46')](_0x8fab41),_0x44caca--);}else _0x40681f[_0x1a4e('0x46')](_0x8fab41);}return _0x40681f;},_0x1797cb=function(){for(var _0x4f39a9=[],_0x40681f=0x0;_0x40681f>0xa),_0x15ca8d%0x400+0xdc00)),(_0x8fab41+0x1===_0x44caca||_0x2a04f1['length']>0x4000)&&(_0x13e4bb+=String[_0x1a4e('0x8fe')][_0x1a4e('0x8b')](String,_0x2a04f1),_0x2a04f1[_0x1a4e('0x1e')]=0x0);}return _0x13e4bb;},_0x302704='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',_0x4133f3='undefined'==typeof Uint8Array?[]:new Uint8Array(0x100),_0x1002a1=0x0;_0x1002a1<_0x302704['length'];_0x1002a1++)_0x4133f3[_0x302704[_0x1a4e('0x913')](_0x1002a1)]=_0x1002a1;var _0x683603,_0x318a81=function(_0x4f39a9,_0x40681f,_0x44caca){return _0x4f39a9[_0x1a4e('0x78')]?_0x4f39a9[_0x1a4e('0x78')](_0x40681f,_0x44caca):new Uint16Array(Array[_0x1a4e('0xa')][_0x1a4e('0x78')][_0x1a4e('0x1')](_0x4f39a9,_0x40681f,_0x44caca));},_0x329d11=function(){function _0x4f39a9(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41,_0x13e4bb){this[_0x1a4e('0x3d64')]=_0x4f39a9,this[_0x1a4e('0x52ea')]=_0x40681f,this[_0x1a4e('0x52eb')]=_0x44caca,this[_0x1a4e('0x52ec')]=_0x2a04f1,this[_0x1a4e('0xbd')]=_0x8fab41,this[_0x1a4e('0x7f')]=_0x13e4bb;}return _0x4f39a9[_0x1a4e('0xa')]['get']=function(_0x4f39a9){var _0x40681f;if(_0x4f39a9>=0x0){if(_0x4f39a9<0xd800||_0x4f39a9>0xdbff&&_0x4f39a9<=0xffff)return _0x40681f=((_0x40681f=this['index'][_0x4f39a9>>0x5])<<0x2)+(0x1f&_0x4f39a9),this[_0x1a4e('0x7f')][_0x40681f];if(_0x4f39a9<=0xffff)return _0x40681f=((_0x40681f=this[_0x1a4e('0xbd')][0x800+(_0x4f39a9-0xd800>>0x5)])<<0x2)+(0x1f&_0x4f39a9),this[_0x1a4e('0x7f')][_0x40681f];if(_0x4f39a9>0xb),_0x40681f=this['index'][_0x40681f],_0x40681f+=_0x4f39a9>>0x5&0x3f,_0x40681f=((_0x40681f=this[_0x1a4e('0xbd')][_0x40681f])<<0x2)+(0x1f&_0x4f39a9),this[_0x1a4e('0x7f')][_0x40681f];if(_0x4f39a9<=0x10ffff)return this[_0x1a4e('0x7f')][this[_0x1a4e('0x52ec')]];}return this['errorValue'];},_0x4f39a9;}(),_0x36e8b1=0xa,_0x19938f=0xd,_0x18113a=0xf,_0x27e293=0x11,_0xf57c0=0x12,_0x4423c6=0x13,_0x141e9b=0x14,_0xb7f585=0x15,_0x1158fc=0x16,_0x2e2ea1=0x18,_0x3d181f=0x19,_0x585dcf=0x1a,_0x1c3b85=0x1b,_0x2d7b6b=0x1c,_0xcf08cc=0x1e,_0x96020b=0x20,_0x48c8f7=0x21,_0x3c352d=0x22,_0x1543ee=0x23,_0x370b5b=0x25,_0x514e93=0x26,_0x978235=0x27,_0x368649=0x28,_0x16cdf4=0x2a,_0x1ec695='!',_0x4d59af=function(_0x4f39a9){var _0x40681f,_0x44caca,_0x2a04f1,_0x8fab41=function(_0x4f39a9){var _0x40681f,_0x44caca,_0x2a04f1,_0x8fab41,_0x13e4bb,_0x15ca8d=0.75*_0x4f39a9[_0x1a4e('0x1e')],_0x206a52=_0x4f39a9['length'],_0x1797cb=0x0;'='===_0x4f39a9[_0x4f39a9['length']-0x1]&&(_0x15ca8d--,'='===_0x4f39a9[_0x4f39a9[_0x1a4e('0x1e')]-0x2]&&_0x15ca8d--);var _0x302704=_0x1a4e('0x3')!=typeof ArrayBuffer&&_0x1a4e('0x3')!=typeof Uint8Array&&void 0x0!==Uint8Array[_0x1a4e('0xa')][_0x1a4e('0x78')]?new ArrayBuffer(_0x15ca8d):new Array(_0x15ca8d),_0x1002a1=Array['isArray'](_0x302704)?_0x302704:new Uint8Array(_0x302704);for(_0x40681f=0x0;_0x40681f<_0x206a52;_0x40681f+=0x4)_0x44caca=_0x4133f3[_0x4f39a9['charCodeAt'](_0x40681f)],_0x2a04f1=_0x4133f3[_0x4f39a9[_0x1a4e('0x913')](_0x40681f+0x1)],_0x8fab41=_0x4133f3[_0x4f39a9[_0x1a4e('0x913')](_0x40681f+0x2)],_0x13e4bb=_0x4133f3[_0x4f39a9[_0x1a4e('0x913')](_0x40681f+0x3)],_0x1002a1[_0x1797cb++]=_0x44caca<<0x2|_0x2a04f1>>0x4,_0x1002a1[_0x1797cb++]=(0xf&_0x2a04f1)<<0x4|_0x8fab41>>0x2,_0x1002a1[_0x1797cb++]=(0x3&_0x8fab41)<<0x6|0x3f&_0x13e4bb;return _0x302704;}(_0x4f39a9),_0x13e4bb=Array['isArray'](_0x8fab41)?function(_0x4f39a9){for(var _0x40681f=_0x4f39a9[_0x1a4e('0x1e')],_0x44caca=[],_0x2a04f1=0x0;_0x2a04f1<_0x40681f;_0x2a04f1+=0x4)_0x44caca['push'](_0x4f39a9[_0x2a04f1+0x3]<<0x18|_0x4f39a9[_0x2a04f1+0x2]<<0x10|_0x4f39a9[_0x2a04f1+0x1]<<0x8|_0x4f39a9[_0x2a04f1]);return _0x44caca;}(_0x8fab41):new Uint32Array(_0x8fab41),_0x15ca8d=Array[_0x1a4e('0x15')](_0x8fab41)?function(_0x4f39a9){for(var _0x40681f=_0x4f39a9[_0x1a4e('0x1e')],_0x44caca=[],_0x2a04f1=0x0;_0x2a04f1<_0x40681f;_0x2a04f1+=0x2)_0x44caca[_0x1a4e('0x46')](_0x4f39a9[_0x2a04f1+0x1]<<0x8|_0x4f39a9[_0x2a04f1]);return _0x44caca;}(_0x8fab41):new Uint16Array(_0x8fab41),_0x206a52=_0x318a81(_0x15ca8d,0xc,_0x13e4bb[0x4]/0x2),_0x1797cb=0x2===_0x13e4bb[0x5]?_0x318a81(_0x15ca8d,(0x18+_0x13e4bb[0x4])/0x2):(_0x40681f=_0x13e4bb,_0x44caca=Math['ceil']((0x18+_0x13e4bb[0x4])/0x4),_0x40681f[_0x1a4e('0x78')]?_0x40681f[_0x1a4e('0x78')](_0x44caca,_0x2a04f1):new Uint32Array(Array['prototype'][_0x1a4e('0x78')][_0x1a4e('0x1')](_0x40681f,_0x44caca,_0x2a04f1)));return new _0x329d11(_0x13e4bb[0x0],_0x13e4bb[0x1],_0x13e4bb[0x2],_0x13e4bb[0x3],_0x206a52,_0x1797cb);}(_0x1a4e('0x52ed')),_0x556bf2=[_0xcf08cc,0x24],_0x2db68c=[0x1,0x2,0x3,0x5],_0x34c55d=[_0x36e8b1,0x8],_0x320847=[_0x1c3b85,_0x585dcf],_0x4e3aa3=_0x2db68c[_0x1a4e('0x9a')](_0x34c55d),_0x56c154=[_0x514e93,_0x978235,_0x368649,_0x3c352d,_0x1543ee],_0x37190f=[_0x18113a,_0x19938f],_0x339a43=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){var _0x8fab41=_0x2a04f1[_0x44caca];if(Array[_0x1a4e('0x15')](_0x4f39a9)?-0x1!==_0x4f39a9[_0x1a4e('0x3e')](_0x8fab41):_0x4f39a9===_0x8fab41)for(var _0x13e4bb=_0x44caca;_0x13e4bb<=_0x2a04f1[_0x1a4e('0x1e')];){if((_0x1797cb=_0x2a04f1[++_0x13e4bb])===_0x40681f)return!0x0;if(_0x1797cb!==_0x36e8b1)break;}if(_0x8fab41===_0x36e8b1)for(_0x13e4bb=_0x44caca;_0x13e4bb>0x0;){var _0x15ca8d=_0x2a04f1[--_0x13e4bb];if(Array['isArray'](_0x4f39a9)?-0x1!==_0x4f39a9[_0x1a4e('0x3e')](_0x15ca8d):_0x4f39a9===_0x15ca8d)for(var _0x206a52=_0x44caca;_0x206a52<=_0x2a04f1['length'];){var _0x1797cb;if((_0x1797cb=_0x2a04f1[++_0x206a52])===_0x40681f)return!0x0;if(_0x1797cb!==_0x36e8b1)break;}if(_0x15ca8d!==_0x36e8b1)break;}return!0x1;},_0x1f4d3b=function(_0x4f39a9,_0x40681f){for(var _0x44caca=_0x4f39a9;_0x44caca>=0x0;){var _0x2a04f1=_0x40681f[_0x44caca];if(_0x2a04f1!==_0x36e8b1)return _0x2a04f1;_0x44caca--;}return 0x0;},_0x1ae63c=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41){if(0x0===_0x44caca[_0x2a04f1])return'×';var _0x13e4bb=_0x2a04f1-0x1;if(Array[_0x1a4e('0x15')](_0x8fab41)&&!0x0===_0x8fab41[_0x13e4bb])return'×';var _0x15ca8d=_0x13e4bb-0x1,_0x206a52=_0x13e4bb+0x1,_0x1797cb=_0x40681f[_0x13e4bb],_0x302704=_0x15ca8d>=0x0?_0x40681f[_0x15ca8d]:0x0,_0x4133f3=_0x40681f[_0x206a52];if(0x2===_0x1797cb&&0x3===_0x4133f3)return'×';if(-0x1!==_0x2db68c[_0x1a4e('0x3e')](_0x1797cb))return _0x1ec695;if(-0x1!==_0x2db68c[_0x1a4e('0x3e')](_0x4133f3))return'×';if(-0x1!==_0x34c55d[_0x1a4e('0x3e')](_0x4133f3))return'×';if(0x8===_0x1f4d3b(_0x13e4bb,_0x40681f))return'÷';if(0xb===_0x4d59af[_0x1a4e('0x179')](_0x4f39a9[_0x13e4bb])&&(_0x4133f3===_0x370b5b||_0x4133f3===_0x96020b||_0x4133f3===_0x48c8f7))return'×';if(0x7===_0x1797cb||0x7===_0x4133f3)return'×';if(0x9===_0x1797cb)return'×';if(-0x1===[_0x36e8b1,_0x19938f,_0x18113a]['indexOf'](_0x1797cb)&&0x9===_0x4133f3)return'×';if(-0x1!==[_0x27e293,_0xf57c0,_0x4423c6,_0x2e2ea1,_0x2d7b6b][_0x1a4e('0x3e')](_0x4133f3))return'×';if(_0x1f4d3b(_0x13e4bb,_0x40681f)===_0x1158fc)return'×';if(_0x339a43(0x17,_0x1158fc,_0x13e4bb,_0x40681f))return'×';if(_0x339a43([_0x27e293,_0xf57c0],_0xb7f585,_0x13e4bb,_0x40681f))return'×';if(_0x339a43(0xc,0xc,_0x13e4bb,_0x40681f))return'×';if(_0x1797cb===_0x36e8b1)return'÷';if(0x17===_0x1797cb||0x17===_0x4133f3)return'×';if(0x10===_0x4133f3||0x10===_0x1797cb)return'÷';if(-0x1!==[_0x19938f,_0x18113a,_0xb7f585][_0x1a4e('0x3e')](_0x4133f3)||0xe===_0x1797cb)return'×';if(0x24===_0x302704&&-0x1!==_0x37190f[_0x1a4e('0x3e')](_0x1797cb))return'×';if(_0x1797cb===_0x2d7b6b&&0x24===_0x4133f3)return'×';if(_0x4133f3===_0x141e9b&&-0x1!==_0x556bf2[_0x1a4e('0x9a')](_0x141e9b,_0x4423c6,_0x3d181f,_0x370b5b,_0x96020b,_0x48c8f7)[_0x1a4e('0x3e')](_0x1797cb))return'×';if(-0x1!==_0x556bf2[_0x1a4e('0x3e')](_0x4133f3)&&_0x1797cb===_0x3d181f||-0x1!==_0x556bf2[_0x1a4e('0x3e')](_0x1797cb)&&_0x4133f3===_0x3d181f)return'×';if(_0x1797cb===_0x1c3b85&&-0x1!==[_0x370b5b,_0x96020b,_0x48c8f7][_0x1a4e('0x3e')](_0x4133f3)||-0x1!==[_0x370b5b,_0x96020b,_0x48c8f7][_0x1a4e('0x3e')](_0x1797cb)&&_0x4133f3===_0x585dcf)return'×';if(-0x1!==_0x556bf2[_0x1a4e('0x3e')](_0x1797cb)&&-0x1!==_0x320847[_0x1a4e('0x3e')](_0x4133f3)||-0x1!==_0x320847[_0x1a4e('0x3e')](_0x1797cb)&&-0x1!==_0x556bf2[_0x1a4e('0x3e')](_0x4133f3))return'×';if(-0x1!==[_0x1c3b85,_0x585dcf]['indexOf'](_0x1797cb)&&(_0x4133f3===_0x3d181f||-0x1!==[_0x1158fc,_0x18113a][_0x1a4e('0x3e')](_0x4133f3)&&_0x40681f[_0x206a52+0x1]===_0x3d181f)||-0x1!==[_0x1158fc,_0x18113a][_0x1a4e('0x3e')](_0x1797cb)&&_0x4133f3===_0x3d181f||_0x1797cb===_0x3d181f&&-0x1!==[_0x3d181f,_0x2d7b6b,_0x2e2ea1][_0x1a4e('0x3e')](_0x4133f3))return'×';if(-0x1!==[_0x3d181f,_0x2d7b6b,_0x2e2ea1,_0x27e293,_0xf57c0][_0x1a4e('0x3e')](_0x4133f3))for(var _0x1002a1=_0x13e4bb;_0x1002a1>=0x0;){if((_0x683603=_0x40681f[_0x1002a1])===_0x3d181f)return'×';if(-0x1===[_0x2d7b6b,_0x2e2ea1]['indexOf'](_0x683603))break;_0x1002a1--;}if(-0x1!==[_0x1c3b85,_0x585dcf][_0x1a4e('0x3e')](_0x4133f3))for(_0x1002a1=-0x1!==[_0x27e293,_0xf57c0]['indexOf'](_0x1797cb)?_0x15ca8d:_0x13e4bb;_0x1002a1>=0x0;){var _0x683603;if((_0x683603=_0x40681f[_0x1002a1])===_0x3d181f)return'×';if(-0x1===[_0x2d7b6b,_0x2e2ea1]['indexOf'](_0x683603))break;_0x1002a1--;}if(_0x514e93===_0x1797cb&&-0x1!==[_0x514e93,_0x978235,_0x3c352d,_0x1543ee][_0x1a4e('0x3e')](_0x4133f3)||-0x1!==[_0x978235,_0x3c352d][_0x1a4e('0x3e')](_0x1797cb)&&-0x1!==[_0x978235,_0x368649][_0x1a4e('0x3e')](_0x4133f3)||-0x1!==[_0x368649,_0x1543ee][_0x1a4e('0x3e')](_0x1797cb)&&_0x4133f3===_0x368649)return'×';if(-0x1!==_0x56c154[_0x1a4e('0x3e')](_0x1797cb)&&-0x1!==[_0x141e9b,_0x585dcf][_0x1a4e('0x3e')](_0x4133f3)||-0x1!==_0x56c154[_0x1a4e('0x3e')](_0x4133f3)&&_0x1797cb===_0x1c3b85)return'×';if(-0x1!==_0x556bf2[_0x1a4e('0x3e')](_0x1797cb)&&-0x1!==_0x556bf2['indexOf'](_0x4133f3))return'×';if(_0x1797cb===_0x2e2ea1&&-0x1!==_0x556bf2[_0x1a4e('0x3e')](_0x4133f3))return'×';if(-0x1!==_0x556bf2[_0x1a4e('0x9a')](_0x3d181f)['indexOf'](_0x1797cb)&&_0x4133f3===_0x1158fc||-0x1!==_0x556bf2[_0x1a4e('0x9a')](_0x3d181f)['indexOf'](_0x4133f3)&&_0x1797cb===_0xf57c0)return'×';if(0x29===_0x1797cb&&0x29===_0x4133f3){for(var _0x318a81=_0x44caca[_0x13e4bb],_0x329d11=0x1;_0x318a81>0x0&&0x29===_0x40681f[--_0x318a81];)_0x329d11++;if(_0x329d11%0x2!=0x0)return'×';}return _0x1797cb===_0x96020b&&_0x4133f3===_0x48c8f7?'×':'÷';},_0x5945cb=function(_0x4f39a9,_0x40681f){_0x40681f||(_0x40681f={'lineBreak':_0x1a4e('0x951'),'wordBreak':'normal'});var _0x44caca=function(_0x4f39a9,_0x40681f){void 0x0===_0x40681f&&(_0x40681f=_0x1a4e('0x1de'));var _0x44caca=[],_0x2a04f1=[],_0x8fab41=[];return _0x4f39a9[_0x1a4e('0x3b')](function(_0x4f39a9,_0x13e4bb){var _0x15ca8d=_0x4d59af[_0x1a4e('0x179')](_0x4f39a9);if(_0x15ca8d>0x32?(_0x8fab41[_0x1a4e('0x46')](!0x0),_0x15ca8d-=0x32):_0x8fab41[_0x1a4e('0x46')](!0x1),-0x1!==[_0x1a4e('0x951'),_0x1a4e('0x1622'),_0x1a4e('0x52ee')][_0x1a4e('0x3e')](_0x40681f)&&-0x1!==[0x2010,0x2013,0x301c,0x30a0][_0x1a4e('0x3e')](_0x4f39a9))return _0x2a04f1[_0x1a4e('0x46')](_0x13e4bb),_0x44caca[_0x1a4e('0x46')](0x10);if(0x4===_0x15ca8d||0xb===_0x15ca8d){if(0x0===_0x13e4bb)return _0x2a04f1[_0x1a4e('0x46')](_0x13e4bb),_0x44caca['push'](_0xcf08cc);var _0x206a52=_0x44caca[_0x13e4bb-0x1];return-0x1===_0x4e3aa3[_0x1a4e('0x3e')](_0x206a52)?(_0x2a04f1[_0x1a4e('0x46')](_0x2a04f1[_0x13e4bb-0x1]),_0x44caca['push'](_0x206a52)):(_0x2a04f1[_0x1a4e('0x46')](_0x13e4bb),_0x44caca[_0x1a4e('0x46')](_0xcf08cc));}return _0x2a04f1['push'](_0x13e4bb),0x1f===_0x15ca8d?_0x44caca[_0x1a4e('0x46')]('strict'===_0x40681f?_0xb7f585:_0x370b5b):_0x15ca8d===_0x16cdf4?_0x44caca[_0x1a4e('0x46')](_0xcf08cc):0x1d===_0x15ca8d?_0x44caca[_0x1a4e('0x46')](_0xcf08cc):0x2b===_0x15ca8d?_0x4f39a9>=0x20000&&_0x4f39a9<=0x2fffd||_0x4f39a9>=0x30000&&_0x4f39a9<=0x3fffd?_0x44caca[_0x1a4e('0x46')](_0x370b5b):_0x44caca[_0x1a4e('0x46')](_0xcf08cc):void _0x44caca[_0x1a4e('0x46')](_0x15ca8d);}),[_0x2a04f1,_0x44caca,_0x8fab41];}(_0x4f39a9,_0x40681f[_0x1a4e('0x315d')]),_0x2a04f1=_0x44caca[0x0],_0x8fab41=_0x44caca[0x1],_0x13e4bb=_0x44caca[0x2];return _0x1a4e('0x52ef')!==_0x40681f[_0x1a4e('0x52f0')]&&_0x1a4e('0x52f1')!==_0x40681f[_0x1a4e('0x52f0')]||(_0x8fab41=_0x8fab41['map'](function(_0x4f39a9){return-0x1!==[_0x3d181f,_0xcf08cc,_0x16cdf4][_0x1a4e('0x3e')](_0x4f39a9)?_0x370b5b:_0x4f39a9;})),[_0x2a04f1,_0x8fab41,_0x1a4e('0x52f2')===_0x40681f['wordBreak']?_0x13e4bb['map'](function(_0x40681f,_0x44caca){return _0x40681f&&_0x4f39a9[_0x44caca]>=0x4e00&&_0x4f39a9[_0x44caca]<=0x9fff;}):void 0x0];},_0x56adf6=function(){function _0x4f39a9(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){this[_0x1a4e('0x52f3')]=_0x4f39a9,this['required']=_0x40681f===_0x1ec695,this[_0x1a4e('0xc9')]=_0x44caca,this[_0x1a4e('0xca')]=_0x2a04f1;}return _0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x78')]=function(){return _0x1797cb[_0x1a4e('0x8b')](void 0x0,this[_0x1a4e('0x52f3')][_0x1a4e('0x78')](this['start'],this[_0x1a4e('0xca')]));},_0x4f39a9;}();!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x52f4')]=0x0]=_0x1a4e('0x52f4'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x52f5')]=0x1]='BAD_STRING_TOKEN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x52f6')]=0x2]='LEFT_PARENTHESIS_TOKEN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x52f7')]=0x3]='RIGHT_PARENTHESIS_TOKEN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x52f8')]=0x4]=_0x1a4e('0x52f8'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x52f9')]=0x5]='HASH_TOKEN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x52fa')]=0x6]=_0x1a4e('0x52fa'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x52fb')]=0x7]=_0x1a4e('0x52fb'),_0x4f39a9[_0x4f39a9['PREFIX_MATCH_TOKEN']=0x8]=_0x1a4e('0x52fc'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x52fd')]=0x9]=_0x1a4e('0x52fd'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x52fe')]=0xa]=_0x1a4e('0x52fe'),_0x4f39a9[_0x4f39a9['LEFT_CURLY_BRACKET_TOKEN']=0xb]=_0x1a4e('0x52ff'),_0x4f39a9[_0x4f39a9['RIGHT_CURLY_BRACKET_TOKEN']=0xc]=_0x1a4e('0x5300'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5301')]=0xd]=_0x1a4e('0x5301'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5302')]=0xe]=_0x1a4e('0x5302'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5303')]=0xf]=_0x1a4e('0x5303'),_0x4f39a9[_0x4f39a9['PERCENTAGE_TOKEN']=0x10]='PERCENTAGE_TOKEN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x5304')]=0x11]='NUMBER_TOKEN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x5305')]=0x12]='FUNCTION',_0x4f39a9[_0x4f39a9[_0x1a4e('0x5306')]=0x13]=_0x1a4e('0x5306'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5307')]=0x14]='IDENT_TOKEN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x5308')]=0x15]=_0x1a4e('0x5308'),_0x4f39a9[_0x4f39a9['URL_TOKEN']=0x16]=_0x1a4e('0x5309'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x530a')]=0x17]=_0x1a4e('0x530a'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x530b')]=0x18]='CDC_TOKEN',_0x4f39a9[_0x4f39a9['CDO_TOKEN']=0x19]=_0x1a4e('0x530c'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x530d')]=0x1a]='COLON_TOKEN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x530e')]=0x1b]=_0x1a4e('0x530e'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x530f')]=0x1c]=_0x1a4e('0x530f'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5310')]=0x1d]=_0x1a4e('0x5310'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5311')]=0x1e]=_0x1a4e('0x5311'),_0x4f39a9[_0x4f39a9['WHITESPACE_TOKEN']=0x1f]='WHITESPACE_TOKEN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x5312')]=0x20]='EOF_TOKEN';}(_0x683603||(_0x683603={}));var _0x12e234=function(_0x4f39a9){return _0x4f39a9>=0x30&&_0x4f39a9<=0x39;},_0x35505c=function(_0x4f39a9){return _0x12e234(_0x4f39a9)||_0x4f39a9>=0x41&&_0x4f39a9<=0x46||_0x4f39a9>=0x61&&_0x4f39a9<=0x66;},_0x34ebdc=function(_0x4f39a9){return 0xa===_0x4f39a9||0x9===_0x4f39a9||0x20===_0x4f39a9;},_0x285f30=function(_0x4f39a9){return function(_0x4f39a9){return function(_0x4f39a9){return _0x4f39a9>=0x61&&_0x4f39a9<=0x7a;}(_0x4f39a9)||function(_0x4f39a9){return _0x4f39a9>=0x41&&_0x4f39a9<=0x5a;}(_0x4f39a9);}(_0x4f39a9)||function(_0x4f39a9){return _0x4f39a9>=0x80;}(_0x4f39a9)||0x5f===_0x4f39a9;},_0x2f3760=function(_0x4f39a9){return _0x285f30(_0x4f39a9)||_0x12e234(_0x4f39a9)||0x2d===_0x4f39a9;},_0x5090ea=function(_0x4f39a9){return _0x4f39a9>=0x0&&_0x4f39a9<=0x8||0xb===_0x4f39a9||_0x4f39a9>=0xe&&_0x4f39a9<=0x1f||0x7f===_0x4f39a9;},_0x5955cc=function(_0x4f39a9,_0x40681f){return 0x5c===_0x4f39a9&&0xa!==_0x40681f;},_0xae0525=function(_0x4f39a9,_0x40681f,_0x44caca){return 0x2d===_0x4f39a9?_0x285f30(_0x40681f)||_0x5955cc(_0x40681f,_0x44caca):!!_0x285f30(_0x4f39a9)||!(0x5c!==_0x4f39a9||!_0x5955cc(_0x4f39a9,_0x40681f));},_0x39237e=function(_0x4f39a9,_0x40681f,_0x44caca){return 0x2b===_0x4f39a9||0x2d===_0x4f39a9?!!_0x12e234(_0x40681f)||0x2e===_0x40681f&&_0x12e234(_0x44caca):_0x12e234(0x2e===_0x4f39a9?_0x40681f:_0x4f39a9);},_0xdc275f=function(_0x4f39a9){var _0x40681f=0x0,_0x44caca=0x1;0x2b!==_0x4f39a9[_0x40681f]&&0x2d!==_0x4f39a9[_0x40681f]||(0x2d===_0x4f39a9[_0x40681f]&&(_0x44caca=-0x1),_0x40681f++);for(var _0x2a04f1=[];_0x12e234(_0x4f39a9[_0x40681f]);)_0x2a04f1['push'](_0x4f39a9[_0x40681f++]);var _0x8fab41=_0x2a04f1['length']?parseInt(_0x1797cb[_0x1a4e('0x8b')](void 0x0,_0x2a04f1),0xa):0x0;0x2e===_0x4f39a9[_0x40681f]&&_0x40681f++;for(var _0x13e4bb=[];_0x12e234(_0x4f39a9[_0x40681f]);)_0x13e4bb['push'](_0x4f39a9[_0x40681f++]);var _0x15ca8d=_0x13e4bb['length'],_0x206a52=_0x15ca8d?parseInt(_0x1797cb[_0x1a4e('0x8b')](void 0x0,_0x13e4bb),0xa):0x0;0x45!==_0x4f39a9[_0x40681f]&&0x65!==_0x4f39a9[_0x40681f]||_0x40681f++;var _0x302704=0x1;0x2b!==_0x4f39a9[_0x40681f]&&0x2d!==_0x4f39a9[_0x40681f]||(0x2d===_0x4f39a9[_0x40681f]&&(_0x302704=-0x1),_0x40681f++);for(var _0x4133f3=[];_0x12e234(_0x4f39a9[_0x40681f]);)_0x4133f3['push'](_0x4f39a9[_0x40681f++]);var _0x1002a1=_0x4133f3['length']?parseInt(_0x1797cb[_0x1a4e('0x8b')](void 0x0,_0x4133f3),0xa):0x0;return _0x44caca*(_0x8fab41+_0x206a52*Math[_0x1a4e('0x8e')](0xa,-_0x15ca8d))*Math[_0x1a4e('0x8e')](0xa,_0x302704*_0x1002a1);},_0x33458b={'type':_0x683603['LEFT_PARENTHESIS_TOKEN']},_0x2e05e4={'type':_0x683603['RIGHT_PARENTHESIS_TOKEN']},_0x34e5d4={'type':_0x683603[_0x1a4e('0x52f8')]},_0x3d6d1f={'type':_0x683603[_0x1a4e('0x5301')]},_0x383bdb={'type':_0x683603[_0x1a4e('0x52fc')]},_0x5df815={'type':_0x683603[_0x1a4e('0x5308')]},_0x18f169={'type':_0x683603['DASH_MATCH_TOKEN']},_0x9f9359={'type':_0x683603['INCLUDE_MATCH_TOKEN']},_0x9807f9={'type':_0x683603[_0x1a4e('0x52ff')]},_0x359fcd={'type':_0x683603[_0x1a4e('0x5300')]},_0x5a60ca={'type':_0x683603['SUBSTRING_MATCH_TOKEN']},_0x4484ad={'type':_0x683603[_0x1a4e('0x530a')]},_0x1cb39f={'type':_0x683603[_0x1a4e('0x52f5')]},_0xbd172f={'type':_0x683603[_0x1a4e('0x530c')]},_0x520d63={'type':_0x683603[_0x1a4e('0x530b')]},_0x2701f7={'type':_0x683603[_0x1a4e('0x530d')]},_0x39aa80={'type':_0x683603[_0x1a4e('0x530e')]},_0x147d4e={'type':_0x683603[_0x1a4e('0x530f')]},_0x2691e4={'type':_0x683603['RIGHT_SQUARE_BRACKET_TOKEN']},_0x542d10={'type':_0x683603[_0x1a4e('0x5313')]},_0x30a0f4={'type':_0x683603[_0x1a4e('0x5312')]},_0x2db0e5=function(){function _0x4f39a9(){this['_value']=[];}return _0x4f39a9[_0x1a4e('0xa')]['write']=function(_0x4f39a9){this[_0x1a4e('0x145f')]=this[_0x1a4e('0x145f')][_0x1a4e('0x9a')](_0x206a52(_0x4f39a9));},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x144')]=function(){for(var _0x4f39a9=[],_0x40681f=this[_0x1a4e('0x5314')]();_0x40681f!==_0x30a0f4;)_0x4f39a9['push'](_0x40681f),_0x40681f=this['consumeToken']();return _0x4f39a9;},_0x4f39a9['prototype'][_0x1a4e('0x5314')]=function(){var _0x4f39a9=this[_0x1a4e('0x5315')]();switch(_0x4f39a9){case 0x22:return this[_0x1a4e('0x5316')](0x22);case 0x23:var _0x40681f=this[_0x1a4e('0x5317')](0x0),_0x44caca=this['peekCodePoint'](0x1),_0x2a04f1=this['peekCodePoint'](0x2);if(_0x2f3760(_0x40681f)||_0x5955cc(_0x44caca,_0x2a04f1)){var _0x8fab41=_0xae0525(_0x40681f,_0x44caca,_0x2a04f1)?0x2:0x1,_0x13e4bb=this[_0x1a4e('0x5318')]();return{'type':_0x683603['HASH_TOKEN'],'value':_0x13e4bb,'flags':_0x8fab41};}break;case 0x24:if(0x3d===this[_0x1a4e('0x5317')](0x0))return this[_0x1a4e('0x5315')](),_0x3d6d1f;break;case 0x27:return this[_0x1a4e('0x5316')](0x27);case 0x28:return _0x33458b;case 0x29:return _0x2e05e4;case 0x2a:if(0x3d===this['peekCodePoint'](0x0))return this['consumeCodePoint'](),_0x5a60ca;break;case 0x2b:if(_0x39237e(_0x4f39a9,this[_0x1a4e('0x5317')](0x0),this[_0x1a4e('0x5317')](0x1)))return this['reconsumeCodePoint'](_0x4f39a9),this[_0x1a4e('0x5319')]();break;case 0x2c:return _0x34e5d4;case 0x2d:var _0x15ca8d=_0x4f39a9,_0x206a52=this[_0x1a4e('0x5317')](0x0),_0x302704=this[_0x1a4e('0x5317')](0x1);if(_0x39237e(_0x15ca8d,_0x206a52,_0x302704))return this[_0x1a4e('0x531a')](_0x4f39a9),this['consumeNumericToken']();if(_0xae0525(_0x15ca8d,_0x206a52,_0x302704))return this[_0x1a4e('0x531a')](_0x4f39a9),this[_0x1a4e('0x531b')]();if(0x2d===_0x206a52&&0x3e===_0x302704)return this[_0x1a4e('0x5315')](),this[_0x1a4e('0x5315')](),_0x520d63;break;case 0x2e:if(_0x39237e(_0x4f39a9,this['peekCodePoint'](0x0),this[_0x1a4e('0x5317')](0x1)))return this[_0x1a4e('0x531a')](_0x4f39a9),this[_0x1a4e('0x5319')]();break;case 0x2f:if(0x2a===this['peekCodePoint'](0x0))for(this[_0x1a4e('0x5315')]();;){var _0x4133f3=this[_0x1a4e('0x5315')]();if(0x2a===_0x4133f3&&0x2f===(_0x4133f3=this[_0x1a4e('0x5315')]()))return this[_0x1a4e('0x5314')]();if(-0x1===_0x4133f3)return this[_0x1a4e('0x5314')]();}break;case 0x3a:return _0x2701f7;case 0x3b:return _0x39aa80;case 0x3c:if(0x21===this['peekCodePoint'](0x0)&&0x2d===this[_0x1a4e('0x5317')](0x1)&&0x2d===this['peekCodePoint'](0x2))return this[_0x1a4e('0x5315')](),this[_0x1a4e('0x5315')](),_0xbd172f;break;case 0x40:var _0x1002a1=this[_0x1a4e('0x5317')](0x0),_0x318a81=this[_0x1a4e('0x5317')](0x1),_0x329d11=this[_0x1a4e('0x5317')](0x2);if(_0xae0525(_0x1002a1,_0x318a81,_0x329d11)){_0x13e4bb=this['consumeName']();return{'type':_0x683603[_0x1a4e('0x52fb')],'value':_0x13e4bb};}break;case 0x5b:return _0x147d4e;case 0x5c:if(_0x5955cc(_0x4f39a9,this[_0x1a4e('0x5317')](0x0)))return this[_0x1a4e('0x531a')](_0x4f39a9),this[_0x1a4e('0x531b')]();break;case 0x5d:return _0x2691e4;case 0x3d:if(0x3d===this['peekCodePoint'](0x0))return this[_0x1a4e('0x5315')](),_0x383bdb;break;case 0x7b:return _0x9807f9;case 0x7d:return _0x359fcd;case 0x75:case 0x55:var _0x36e8b1=this[_0x1a4e('0x5317')](0x0),_0x19938f=this[_0x1a4e('0x5317')](0x1);return 0x2b!==_0x36e8b1||!_0x35505c(_0x19938f)&&0x3f!==_0x19938f||(this[_0x1a4e('0x5315')](),this['consumeUnicodeRangeToken']()),this[_0x1a4e('0x531a')](_0x4f39a9),this[_0x1a4e('0x531b')]();case 0x7c:if(0x3d===this[_0x1a4e('0x5317')](0x0))return this['consumeCodePoint'](),_0x18f169;if(0x7c===this[_0x1a4e('0x5317')](0x0))return this[_0x1a4e('0x5315')](),_0x5df815;break;case 0x7e:if(0x3d===this[_0x1a4e('0x5317')](0x0))return this[_0x1a4e('0x5315')](),_0x9f9359;break;case-0x1:return _0x30a0f4;}return _0x34ebdc(_0x4f39a9)?(this['consumeWhiteSpace'](),_0x542d10):_0x12e234(_0x4f39a9)?(this['reconsumeCodePoint'](_0x4f39a9),this[_0x1a4e('0x5319')]()):_0x285f30(_0x4f39a9)?(this[_0x1a4e('0x531a')](_0x4f39a9),this[_0x1a4e('0x531b')]()):{'type':_0x683603['DELIM_TOKEN'],'value':_0x1797cb(_0x4f39a9)};},_0x4f39a9[_0x1a4e('0xa')]['consumeCodePoint']=function(){var _0x4f39a9=this[_0x1a4e('0x145f')][_0x1a4e('0x7d')]();return void 0x0===_0x4f39a9?-0x1:_0x4f39a9;},_0x4f39a9['prototype'][_0x1a4e('0x531a')]=function(_0x4f39a9){this[_0x1a4e('0x145f')][_0x1a4e('0x66')](_0x4f39a9);},_0x4f39a9[_0x1a4e('0xa')]['peekCodePoint']=function(_0x4f39a9){return _0x4f39a9>=this[_0x1a4e('0x145f')][_0x1a4e('0x1e')]?-0x1:this[_0x1a4e('0x145f')][_0x4f39a9];},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x531c')]=function(){for(var _0x4f39a9=[],_0x40681f=this[_0x1a4e('0x5315')]();_0x35505c(_0x40681f)&&_0x4f39a9['length']<0x6;)_0x4f39a9[_0x1a4e('0x46')](_0x40681f),_0x40681f=this['consumeCodePoint']();for(var _0x44caca=!0x1;0x3f===_0x40681f&&_0x4f39a9[_0x1a4e('0x1e')]<0x6;)_0x4f39a9[_0x1a4e('0x46')](_0x40681f),_0x40681f=this[_0x1a4e('0x5315')](),_0x44caca=!0x0;if(_0x44caca){var _0x2a04f1=parseInt(_0x1797cb['apply'](void 0x0,_0x4f39a9[_0x1a4e('0x21')](function(_0x4f39a9){return 0x3f===_0x4f39a9?0x30:_0x4f39a9;})),0x10),_0x8fab41=parseInt(_0x1797cb[_0x1a4e('0x8b')](void 0x0,_0x4f39a9[_0x1a4e('0x21')](function(_0x4f39a9){return 0x3f===_0x4f39a9?0x46:_0x4f39a9;})),0x10);return{'type':_0x683603['UNICODE_RANGE_TOKEN'],'start':_0x2a04f1,'end':_0x8fab41};}var _0x13e4bb=parseInt(_0x1797cb[_0x1a4e('0x8b')](void 0x0,_0x4f39a9),0x10);if(0x2d===this[_0x1a4e('0x5317')](0x0)&&_0x35505c(this['peekCodePoint'](0x1))){this['consumeCodePoint'](),_0x40681f=this[_0x1a4e('0x5315')]();for(var _0x15ca8d=[];_0x35505c(_0x40681f)&&_0x15ca8d[_0x1a4e('0x1e')]<0x6;)_0x15ca8d['push'](_0x40681f),_0x40681f=this[_0x1a4e('0x5315')]();_0x8fab41=parseInt(_0x1797cb['apply'](void 0x0,_0x15ca8d),0x10);return{'type':_0x683603['UNICODE_RANGE_TOKEN'],'start':_0x13e4bb,'end':_0x8fab41};}return{'type':_0x683603[_0x1a4e('0x5311')],'start':_0x13e4bb,'end':_0x13e4bb};},_0x4f39a9['prototype'][_0x1a4e('0x531b')]=function(){var _0x4f39a9=this[_0x1a4e('0x5318')]();return _0x1a4e('0x15cf')===_0x4f39a9['toLowerCase']()&&0x28===this[_0x1a4e('0x5317')](0x0)?(this['consumeCodePoint'](),this[_0x1a4e('0x531d')]()):0x28===this[_0x1a4e('0x5317')](0x0)?(this['consumeCodePoint'](),{'type':_0x683603[_0x1a4e('0x5306')],'value':_0x4f39a9}):{'type':_0x683603['IDENT_TOKEN'],'value':_0x4f39a9};},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x531d')]=function(){var _0x4f39a9=[];if(this['consumeWhiteSpace'](),-0x1===this[_0x1a4e('0x5317')](0x0))return{'type':_0x683603[_0x1a4e('0x5309')],'value':''};var _0x40681f=this[_0x1a4e('0x5317')](0x0);if(0x27===_0x40681f||0x22===_0x40681f){var _0x44caca=this[_0x1a4e('0x5316')](this[_0x1a4e('0x5315')]());return _0x44caca['type']===_0x683603[_0x1a4e('0x52f4')]&&(this[_0x1a4e('0x531e')](),-0x1===this[_0x1a4e('0x5317')](0x0)||0x29===this[_0x1a4e('0x5317')](0x0))?(this[_0x1a4e('0x5315')](),{'type':_0x683603[_0x1a4e('0x5309')],'value':_0x44caca[_0x1a4e('0x255')]}):(this[_0x1a4e('0x531f')](),_0x4484ad);}for(;;){var _0x2a04f1=this[_0x1a4e('0x5315')]();if(-0x1===_0x2a04f1||0x29===_0x2a04f1)return{'type':_0x683603[_0x1a4e('0x5309')],'value':_0x1797cb[_0x1a4e('0x8b')](void 0x0,_0x4f39a9)};if(_0x34ebdc(_0x2a04f1))return this['consumeWhiteSpace'](),-0x1===this[_0x1a4e('0x5317')](0x0)||0x29===this[_0x1a4e('0x5317')](0x0)?(this['consumeCodePoint'](),{'type':_0x683603[_0x1a4e('0x5309')],'value':_0x1797cb['apply'](void 0x0,_0x4f39a9)}):(this[_0x1a4e('0x531f')](),_0x4484ad);if(0x22===_0x2a04f1||0x27===_0x2a04f1||0x28===_0x2a04f1||_0x5090ea(_0x2a04f1))return this[_0x1a4e('0x531f')](),_0x4484ad;if(0x5c===_0x2a04f1){if(!_0x5955cc(_0x2a04f1,this[_0x1a4e('0x5317')](0x0)))return this['consumeBadUrlRemnants'](),_0x4484ad;_0x4f39a9['push'](this[_0x1a4e('0x5320')]());}else _0x4f39a9[_0x1a4e('0x46')](_0x2a04f1);}},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x531e')]=function(){for(;_0x34ebdc(this[_0x1a4e('0x5317')](0x0));)this[_0x1a4e('0x5315')]();},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x531f')]=function(){for(;;){var _0x4f39a9=this[_0x1a4e('0x5315')]();if(0x29===_0x4f39a9||-0x1===_0x4f39a9)return;_0x5955cc(_0x4f39a9,this[_0x1a4e('0x5317')](0x0))&&this[_0x1a4e('0x5320')]();}},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5321')]=function(_0x4f39a9){for(var _0x40681f='';_0x4f39a9>0x0;){var _0x44caca=Math[_0x1a4e('0x74')](0xea60,_0x4f39a9);_0x40681f+=_0x1797cb[_0x1a4e('0x8b')](void 0x0,this[_0x1a4e('0x145f')]['splice'](0x0,_0x44caca)),_0x4f39a9-=_0x44caca;}return this['_value'][_0x1a4e('0x7d')](),_0x40681f;},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5316')]=function(_0x4f39a9){for(var _0x40681f='',_0x44caca=0x0;;){var _0x2a04f1=this[_0x1a4e('0x145f')][_0x44caca];if(-0x1===_0x2a04f1||void 0x0===_0x2a04f1||_0x2a04f1===_0x4f39a9)return _0x40681f+=this['consumeStringSlice'](_0x44caca),{'type':_0x683603[_0x1a4e('0x52f4')],'value':_0x40681f};if(0xa===_0x2a04f1)return this[_0x1a4e('0x145f')][_0x1a4e('0x8a')](0x0,_0x44caca),_0x1cb39f;if(0x5c===_0x2a04f1){var _0x8fab41=this[_0x1a4e('0x145f')][_0x44caca+0x1];-0x1!==_0x8fab41&&void 0x0!==_0x8fab41&&(0xa===_0x8fab41?(_0x40681f+=this['consumeStringSlice'](_0x44caca),_0x44caca=-0x1,this[_0x1a4e('0x145f')][_0x1a4e('0x7d')]()):_0x5955cc(_0x2a04f1,_0x8fab41)&&(_0x40681f+=this[_0x1a4e('0x5321')](_0x44caca),_0x40681f+=_0x1797cb(this['consumeEscapedCodePoint']()),_0x44caca=-0x1));}_0x44caca++;}},_0x4f39a9[_0x1a4e('0xa')]['consumeNumber']=function(){var _0x4f39a9=[],_0x40681f=0x4,_0x44caca=this[_0x1a4e('0x5317')](0x0);for(0x2b!==_0x44caca&&0x2d!==_0x44caca||_0x4f39a9[_0x1a4e('0x46')](this[_0x1a4e('0x5315')]());_0x12e234(this[_0x1a4e('0x5317')](0x0));)_0x4f39a9[_0x1a4e('0x46')](this[_0x1a4e('0x5315')]());_0x44caca=this[_0x1a4e('0x5317')](0x0);var _0x2a04f1=this['peekCodePoint'](0x1);if(0x2e===_0x44caca&&_0x12e234(_0x2a04f1))for(_0x4f39a9[_0x1a4e('0x46')](this[_0x1a4e('0x5315')](),this[_0x1a4e('0x5315')]()),_0x40681f=0x8;_0x12e234(this[_0x1a4e('0x5317')](0x0));)_0x4f39a9[_0x1a4e('0x46')](this[_0x1a4e('0x5315')]());_0x44caca=this['peekCodePoint'](0x0),_0x2a04f1=this['peekCodePoint'](0x1);var _0x8fab41=this['peekCodePoint'](0x2);if((0x45===_0x44caca||0x65===_0x44caca)&&((0x2b===_0x2a04f1||0x2d===_0x2a04f1)&&_0x12e234(_0x8fab41)||_0x12e234(_0x2a04f1)))for(_0x4f39a9['push'](this[_0x1a4e('0x5315')](),this[_0x1a4e('0x5315')]()),_0x40681f=0x8;_0x12e234(this[_0x1a4e('0x5317')](0x0));)_0x4f39a9[_0x1a4e('0x46')](this[_0x1a4e('0x5315')]());return[_0xdc275f(_0x4f39a9),_0x40681f];},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5319')]=function(){var _0x4f39a9=this[_0x1a4e('0x5322')](),_0x40681f=_0x4f39a9[0x0],_0x44caca=_0x4f39a9[0x1],_0x2a04f1=this[_0x1a4e('0x5317')](0x0),_0x8fab41=this[_0x1a4e('0x5317')](0x1),_0x13e4bb=this[_0x1a4e('0x5317')](0x2);if(_0xae0525(_0x2a04f1,_0x8fab41,_0x13e4bb)){var _0x15ca8d=this['consumeName']();return{'type':_0x683603[_0x1a4e('0x5303')],'number':_0x40681f,'flags':_0x44caca,'unit':_0x15ca8d};}return 0x25===_0x2a04f1?(this[_0x1a4e('0x5315')](),{'type':_0x683603[_0x1a4e('0x5323')],'number':_0x40681f,'flags':_0x44caca}):{'type':_0x683603[_0x1a4e('0x5304')],'number':_0x40681f,'flags':_0x44caca};},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5320')]=function(){var _0x4f39a9=this[_0x1a4e('0x5315')]();if(_0x35505c(_0x4f39a9)){for(var _0x40681f=_0x1797cb(_0x4f39a9);_0x35505c(this['peekCodePoint'](0x0))&&_0x40681f[_0x1a4e('0x1e')]<0x6;)_0x40681f+=_0x1797cb(this[_0x1a4e('0x5315')]());_0x34ebdc(this[_0x1a4e('0x5317')](0x0))&&this[_0x1a4e('0x5315')]();var _0x44caca=parseInt(_0x40681f,0x10);return 0x0===_0x44caca||function(_0x4f39a9){return _0x4f39a9>=0xd800&&_0x4f39a9<=0xdfff;}(_0x44caca)||_0x44caca>0x10ffff?0xfffd:_0x44caca;}return-0x1===_0x4f39a9?0xfffd:_0x4f39a9;},_0x4f39a9['prototype'][_0x1a4e('0x5318')]=function(){for(var _0x4f39a9='';;){var _0x40681f=this['consumeCodePoint']();if(_0x2f3760(_0x40681f))_0x4f39a9+=_0x1797cb(_0x40681f);else{if(!_0x5955cc(_0x40681f,this[_0x1a4e('0x5317')](0x0)))return this['reconsumeCodePoint'](_0x40681f),_0x4f39a9;_0x4f39a9+=_0x1797cb(this[_0x1a4e('0x5320')]());}}},_0x4f39a9;}(),_0x5f4ad8=function(){function _0x4f39a9(_0x4f39a9){this[_0x1a4e('0x5324')]=_0x4f39a9;}return _0x4f39a9[_0x1a4e('0x7')]=function(_0x40681f){var _0x44caca=new _0x2db0e5();return _0x44caca[_0x1a4e('0x146')](_0x40681f),new _0x4f39a9(_0x44caca[_0x1a4e('0x144')]());},_0x4f39a9[_0x1a4e('0x5325')]=function(_0x40681f){return _0x4f39a9[_0x1a4e('0x7')](_0x40681f)[_0x1a4e('0x5326')]();},_0x4f39a9[_0x1a4e('0x5327')]=function(_0x40681f){return _0x4f39a9['create'](_0x40681f)[_0x1a4e('0x5328')]();},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5326')]=function(){for(var _0x4f39a9=this['consumeToken']();_0x4f39a9[_0x1a4e('0x40')]===_0x683603['WHITESPACE_TOKEN'];)_0x4f39a9=this['consumeToken']();if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5312')])throw new SyntaxError(_0x1a4e('0x5329'));this[_0x1a4e('0x532a')](_0x4f39a9);var _0x40681f=this[_0x1a4e('0x532b')]();do{_0x4f39a9=this[_0x1a4e('0x5314')]();}while(_0x4f39a9[_0x1a4e('0x40')]===_0x683603['WHITESPACE_TOKEN']);if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5312')])return _0x40681f;throw new SyntaxError(_0x1a4e('0x532c'));},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5328')]=function(){for(var _0x4f39a9=[];;){var _0x40681f=this['consumeComponentValue']();if(_0x40681f[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5312')])return _0x4f39a9;_0x4f39a9[_0x1a4e('0x46')](_0x40681f),_0x4f39a9[_0x1a4e('0x46')]();}},_0x4f39a9['prototype'][_0x1a4e('0x532b')]=function(){var _0x4f39a9=this[_0x1a4e('0x5314')]();switch(_0x4f39a9[_0x1a4e('0x40')]){case _0x683603['LEFT_CURLY_BRACKET_TOKEN']:case _0x683603['LEFT_SQUARE_BRACKET_TOKEN']:case _0x683603[_0x1a4e('0x52f6')]:return this[_0x1a4e('0x532d')](_0x4f39a9[_0x1a4e('0x40')]);case _0x683603[_0x1a4e('0x5306')]:return this['consumeFunction'](_0x4f39a9);}return _0x4f39a9;},_0x4f39a9['prototype'][_0x1a4e('0x532d')]=function(_0x4f39a9){for(var _0x40681f={'type':_0x4f39a9,'values':[]},_0x44caca=this[_0x1a4e('0x5314')]();;){if(_0x44caca[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5312')]||_0x10e51b(_0x44caca,_0x4f39a9))return _0x40681f;this['reconsumeToken'](_0x44caca),_0x40681f[_0x1a4e('0x35b')]['push'](this['consumeComponentValue']()),_0x44caca=this['consumeToken']();}},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x532e')]=function(_0x4f39a9){for(var _0x40681f={'name':_0x4f39a9[_0x1a4e('0x255')],'values':[],'type':_0x683603[_0x1a4e('0x5305')]};;){var _0x44caca=this['consumeToken']();if(_0x44caca[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5312')]||_0x44caca[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x52f7')])return _0x40681f;this[_0x1a4e('0x532a')](_0x44caca),_0x40681f[_0x1a4e('0x35b')]['push'](this[_0x1a4e('0x532b')]());}},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5314')]=function(){var _0x4f39a9=this[_0x1a4e('0x5324')][_0x1a4e('0x7d')]();return void 0x0===_0x4f39a9?_0x30a0f4:_0x4f39a9;},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x532a')]=function(_0x4f39a9){this['_tokens']['unshift'](_0x4f39a9);},_0x4f39a9;}(),_0x3a6236=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5303')];},_0x45bdb0=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5304')];},_0x5c3185=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')];},_0x7940c0=function(_0x4f39a9){return _0x4f39a9['type']===_0x683603[_0x1a4e('0x52f4')];},_0x109e82=function(_0x4f39a9,_0x40681f){return _0x5c3185(_0x4f39a9)&&_0x4f39a9[_0x1a4e('0x255')]===_0x40681f;},_0xb8142d=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]!==_0x683603[_0x1a4e('0x5313')];},_0x5951bb=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]!==_0x683603['WHITESPACE_TOKEN']&&_0x4f39a9[_0x1a4e('0x40')]!==_0x683603[_0x1a4e('0x52f8')];},_0x1a0238=function(_0x4f39a9){var _0x40681f=[],_0x44caca=[];return _0x4f39a9['forEach'](function(_0x4f39a9){if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x52f8')]){if(0x0===_0x44caca[_0x1a4e('0x1e')])throw new Error(_0x1a4e('0x532f'));return _0x40681f[_0x1a4e('0x46')](_0x44caca),void(_0x44caca=[]);}_0x4f39a9[_0x1a4e('0x40')]!==_0x683603[_0x1a4e('0x5313')]&&_0x44caca[_0x1a4e('0x46')](_0x4f39a9);}),_0x44caca[_0x1a4e('0x1e')]&&_0x40681f['push'](_0x44caca),_0x40681f;},_0x10e51b=function(_0x4f39a9,_0x40681f){return _0x40681f===_0x683603[_0x1a4e('0x52ff')]&&_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5300')]||(_0x40681f===_0x683603['LEFT_SQUARE_BRACKET_TOKEN']&&_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5310')]||_0x40681f===_0x683603[_0x1a4e('0x52f6')]&&_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x52f7')]);},_0x4af34c=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5304')]||_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5303')];},_0x3504a5=function(_0x4f39a9){return _0x4f39a9['type']===_0x683603['PERCENTAGE_TOKEN']||_0x4af34c(_0x4f39a9);},_0x5c53fc=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x1e')]>0x1?[_0x4f39a9[0x0],_0x4f39a9[0x1]]:[_0x4f39a9[0x0]];},_0x1c4eaf={'type':_0x683603['NUMBER_TOKEN'],'number':0x0,'flags':0x4},_0x4e6906={'type':_0x683603[_0x1a4e('0x5323')],'number':0x32,'flags':0x4},_0x1b5022={'type':_0x683603[_0x1a4e('0x5323')],'number':0x64,'flags':0x4},_0x406590=function(_0x4f39a9,_0x40681f,_0x44caca){var _0x2a04f1=_0x4f39a9[0x0],_0x8fab41=_0x4f39a9[0x1];return[_0x516d71(_0x2a04f1,_0x40681f),_0x516d71(void 0x0!==_0x8fab41?_0x8fab41:_0x2a04f1,_0x44caca)];},_0x516d71=function(_0x4f39a9,_0x40681f){if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5323')])return _0x4f39a9[_0x1a4e('0x3d')]/0x64*_0x40681f;if(_0x3a6236(_0x4f39a9))switch(_0x4f39a9[_0x1a4e('0x397f')]){case _0x1a4e('0x5330'):case'em':return 0x10*_0x4f39a9['number'];case'px':default:return _0x4f39a9['number'];}return _0x4f39a9['number'];},_0x14c020=function(_0x4f39a9){if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5303')])switch(_0x4f39a9[_0x1a4e('0x397f')]){case _0x1a4e('0x4a31'):return Math['PI']*_0x4f39a9['number']/0xb4;case _0x1a4e('0x5331'):return Math['PI']/0xc8*_0x4f39a9[_0x1a4e('0x3d')];case _0x1a4e('0x5332'):return _0x4f39a9[_0x1a4e('0x3d')];case _0x1a4e('0x5333'):return 0x2*Math['PI']*_0x4f39a9[_0x1a4e('0x3d')];}throw new Error(_0x1a4e('0x5334'));},_0x40733a=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603['DIMENSION_TOKEN']&&(_0x1a4e('0x4a31')===_0x4f39a9[_0x1a4e('0x397f')]||_0x1a4e('0x5331')===_0x4f39a9['unit']||'rad'===_0x4f39a9[_0x1a4e('0x397f')]||'turn'===_0x4f39a9[_0x1a4e('0x397f')]);},_0x41bde9=function(_0x4f39a9){switch(_0x4f39a9[_0x1a4e('0xd9')](_0x5c3185)[_0x1a4e('0x21')](function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x255')];})['join']('\x20')){case _0x1a4e('0x5335'):case _0x1a4e('0x5336'):case _0x1a4e('0x5337'):case _0x1a4e('0x5338'):return[_0x1c4eaf,_0x1c4eaf];case _0x1a4e('0x5339'):case _0x1a4e('0x5c'):return _0x2f0564(0x0);case'to\x20bottom\x20left':case'to\x20left\x20bottom':case _0x1a4e('0x533a'):case'top\x20right':return[_0x1c4eaf,_0x1b5022];case _0x1a4e('0x533b'):case'left':return _0x2f0564(0x5a);case'to\x20top\x20left':case'to\x20left\x20top':case _0x1a4e('0x533c'):case _0x1a4e('0x533d'):return[_0x1b5022,_0x1b5022];case _0x1a4e('0x533e'):case'top':return _0x2f0564(0xb4);case _0x1a4e('0x533f'):case _0x1a4e('0x5340'):case'left\x20bottom':case _0x1a4e('0x5341'):return[_0x1b5022,_0x1c4eaf];case _0x1a4e('0x5342'):case _0x1a4e('0x5d'):return _0x2f0564(0x10e);}return 0x0;},_0x2f0564=function(_0x4f39a9){return Math['PI']*_0x4f39a9/0xb4;},_0x43bd26=function(_0x4f39a9){if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603['FUNCTION']){var _0x40681f=_0x1270e7[_0x4f39a9['name']];if(void 0x0===_0x40681f)throw new Error(_0x1a4e('0x5343')+_0x4f39a9['name']+'\x22');return _0x40681f(_0x4f39a9[_0x1a4e('0x35b')]);}if(_0x4f39a9['type']===_0x683603[_0x1a4e('0x52f9')]){if(0x3===_0x4f39a9['value'][_0x1a4e('0x1e')]){var _0x44caca=_0x4f39a9[_0x1a4e('0x255')][_0x1a4e('0x281')](0x0,0x1),_0x2a04f1=_0x4f39a9[_0x1a4e('0x255')][_0x1a4e('0x281')](0x1,0x2),_0x8fab41=_0x4f39a9[_0x1a4e('0x255')]['substring'](0x2,0x3);return _0x52014c(parseInt(_0x44caca+_0x44caca,0x10),parseInt(_0x2a04f1+_0x2a04f1,0x10),parseInt(_0x8fab41+_0x8fab41,0x10),0x1);}if(0x4===_0x4f39a9[_0x1a4e('0x255')][_0x1a4e('0x1e')]){_0x44caca=_0x4f39a9[_0x1a4e('0x255')][_0x1a4e('0x281')](0x0,0x1),_0x2a04f1=_0x4f39a9['value'][_0x1a4e('0x281')](0x1,0x2),_0x8fab41=_0x4f39a9[_0x1a4e('0x255')][_0x1a4e('0x281')](0x2,0x3);var _0x13e4bb=_0x4f39a9['value'][_0x1a4e('0x281')](0x3,0x4);return _0x52014c(parseInt(_0x44caca+_0x44caca,0x10),parseInt(_0x2a04f1+_0x2a04f1,0x10),parseInt(_0x8fab41+_0x8fab41,0x10),parseInt(_0x13e4bb+_0x13e4bb,0x10)/0xff);}if(0x6===_0x4f39a9[_0x1a4e('0x255')][_0x1a4e('0x1e')]){_0x44caca=_0x4f39a9[_0x1a4e('0x255')][_0x1a4e('0x281')](0x0,0x2),_0x2a04f1=_0x4f39a9['value'][_0x1a4e('0x281')](0x2,0x4),_0x8fab41=_0x4f39a9[_0x1a4e('0x255')][_0x1a4e('0x281')](0x4,0x6);return _0x52014c(parseInt(_0x44caca,0x10),parseInt(_0x2a04f1,0x10),parseInt(_0x8fab41,0x10),0x1);}if(0x8===_0x4f39a9[_0x1a4e('0x255')]['length']){_0x44caca=_0x4f39a9[_0x1a4e('0x255')]['substring'](0x0,0x2),_0x2a04f1=_0x4f39a9[_0x1a4e('0x255')]['substring'](0x2,0x4),_0x8fab41=_0x4f39a9[_0x1a4e('0x255')]['substring'](0x4,0x6),_0x13e4bb=_0x4f39a9['value'][_0x1a4e('0x281')](0x6,0x8);return _0x52014c(parseInt(_0x44caca,0x10),parseInt(_0x2a04f1,0x10),parseInt(_0x8fab41,0x10),parseInt(_0x13e4bb,0x10)/0xff);}}if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')]){var _0x15ca8d=_0x197646[_0x4f39a9[_0x1a4e('0x255')][_0x1a4e('0x257')]()];if(void 0x0!==_0x15ca8d)return _0x15ca8d;}return _0x197646[_0x1a4e('0x5344')];},_0xa29797=function(_0x4f39a9){return 0x0==(0xff&_0x4f39a9);},_0x963a6c=function(_0x4f39a9){var _0x40681f=0xff&_0x4f39a9,_0x44caca=0xff&_0x4f39a9>>0x8,_0x2a04f1=0xff&_0x4f39a9>>0x10,_0x8fab41=0xff&_0x4f39a9>>0x18;return _0x40681f<0xff?'rgba('+_0x8fab41+','+_0x2a04f1+','+_0x44caca+','+_0x40681f/0xff+')':_0x1a4e('0x5345')+_0x8fab41+','+_0x2a04f1+','+_0x44caca+')';},_0x52014c=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){return(_0x4f39a9<<0x18|_0x40681f<<0x10|_0x44caca<<0x8|Math[_0x1a4e('0x2a')](0xff*_0x2a04f1)<<0x0)>>>0x0;},_0x4d1dc0=function(_0x4f39a9,_0x40681f){if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5304')])return _0x4f39a9['number'];if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5323')]){var _0x44caca=0x3===_0x40681f?0x1:0xff;return 0x3===_0x40681f?_0x4f39a9[_0x1a4e('0x3d')]/0x64*_0x44caca:Math['round'](_0x4f39a9[_0x1a4e('0x3d')]/0x64*_0x44caca);}return 0x0;},_0x915848=function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0xd9')](_0x5951bb);if(0x3===_0x40681f[_0x1a4e('0x1e')]){var _0x44caca=_0x40681f['map'](_0x4d1dc0),_0x2a04f1=_0x44caca[0x0],_0x8fab41=_0x44caca[0x1],_0x13e4bb=_0x44caca[0x2];return _0x52014c(_0x2a04f1,_0x8fab41,_0x13e4bb,0x1);}if(0x4===_0x40681f[_0x1a4e('0x1e')]){var _0x15ca8d=_0x40681f['map'](_0x4d1dc0),_0x206a52=(_0x2a04f1=_0x15ca8d[0x0],_0x8fab41=_0x15ca8d[0x1],_0x13e4bb=_0x15ca8d[0x2],_0x15ca8d[0x3]);return _0x52014c(_0x2a04f1,_0x8fab41,_0x13e4bb,_0x206a52);}return 0x0;};function _0x39734d(_0x4f39a9,_0x40681f,_0x44caca){return _0x44caca<0x0&&(_0x44caca+=0x1),_0x44caca>=0x1&&(_0x44caca-=0x1),_0x44caca<0x1/0x6?(_0x40681f-_0x4f39a9)*_0x44caca*0x6+_0x4f39a9:_0x44caca<0.5?_0x40681f:_0x44caca<0x2/0x3?0x6*(_0x40681f-_0x4f39a9)*(0x2/0x3-_0x44caca)+_0x4f39a9:_0x4f39a9;}var _0xaf7cc8,_0x568255,_0x5d63a8=function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0xd9')](_0x5951bb),_0x44caca=_0x40681f[0x0],_0x2a04f1=_0x40681f[0x1],_0x8fab41=_0x40681f[0x2],_0x13e4bb=_0x40681f[0x3],_0x15ca8d=(_0x44caca[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5304')]?_0x2f0564(_0x44caca[_0x1a4e('0x3d')]):_0x14c020(_0x44caca))/(0x2*Math['PI']),_0x206a52=_0x3504a5(_0x2a04f1)?_0x2a04f1[_0x1a4e('0x3d')]/0x64:0x0,_0x1797cb=_0x3504a5(_0x8fab41)?_0x8fab41['number']/0x64:0x0,_0x302704=void 0x0!==_0x13e4bb&&_0x3504a5(_0x13e4bb)?_0x516d71(_0x13e4bb,0x1):0x1;if(0x0===_0x206a52)return _0x52014c(0xff*_0x1797cb,0xff*_0x1797cb,0xff*_0x1797cb,0x1);var _0x4133f3=_0x1797cb<=0.5?_0x1797cb*(_0x206a52+0x1):_0x1797cb+_0x206a52-_0x1797cb*_0x206a52,_0x1002a1=0x2*_0x1797cb-_0x4133f3,_0x318a81=_0x39734d(_0x1002a1,_0x4133f3,_0x15ca8d+0x1/0x3),_0x329d11=_0x39734d(_0x1002a1,_0x4133f3,_0x15ca8d),_0x36e8b1=_0x39734d(_0x1002a1,_0x4133f3,_0x15ca8d-0x1/0x3);return _0x52014c(0xff*_0x318a81,0xff*_0x329d11,0xff*_0x36e8b1,_0x302704);},_0x1270e7={'hsl':_0x5d63a8,'hsla':_0x5d63a8,'rgb':_0x915848,'rgba':_0x915848},_0x197646={'ALICEBLUE':0xf0f8ffff,'ANTIQUEWHITE':0xfaebd7ff,'AQUA':0xffffff,'AQUAMARINE':0x7fffd4ff,'AZURE':0xf0ffffff,'BEIGE':0xf5f5dcff,'BISQUE':0xffe4c4ff,'BLACK':0xff,'BLANCHEDALMOND':0xffebcdff,'BLUE':0xffff,'BLUEVIOLET':0x8a2be2ff,'BROWN':0xa52a2aff,'BURLYWOOD':0xdeb887ff,'CADETBLUE':0x5f9ea0ff,'CHARTREUSE':0x7fff00ff,'CHOCOLATE':0xd2691eff,'CORAL':0xff7f50ff,'CORNFLOWERBLUE':0x6495edff,'CORNSILK':0xfff8dcff,'CRIMSON':0xdc143cff,'CYAN':0xffffff,'DARKBLUE':0x8bff,'DARKCYAN':0x8b8bff,'DARKGOLDENROD':0xb886bbff,'DARKGRAY':0xa9a9a9ff,'DARKGREEN':0x6400ff,'DARKGREY':0xa9a9a9ff,'DARKKHAKI':0xbdb76bff,'DARKMAGENTA':0x8b008bff,'DARKOLIVEGREEN':0x556b2fff,'DARKORANGE':0xff8c00ff,'DARKORCHID':0x9932ccff,'DARKRED':0x8b0000ff,'DARKSALMON':0xe9967aff,'DARKSEAGREEN':0x8fbc8fff,'DARKSLATEBLUE':0x483d8bff,'DARKSLATEGRAY':0x2f4f4fff,'DARKSLATEGREY':0x2f4f4fff,'DARKTURQUOISE':0xced1ff,'DARKVIOLET':0x9400d3ff,'DEEPPINK':0xff1493ff,'DEEPSKYBLUE':0xbfffff,'DIMGRAY':0x696969ff,'DIMGREY':0x696969ff,'DODGERBLUE':0x1e90ffff,'FIREBRICK':0xb22222ff,'FLORALWHITE':0xfffaf0ff,'FORESTGREEN':0x228b22ff,'FUCHSIA':0xff00ffff,'GAINSBORO':0xdcdcdcff,'GHOSTWHITE':0xf8f8ffff,'GOLD':0xffd700ff,'GOLDENROD':0xdaa520ff,'GRAY':0x808080ff,'GREEN':0x8000ff,'GREENYELLOW':0xadff2fff,'GREY':0x808080ff,'HONEYDEW':0xf0fff0ff,'HOTPINK':0xff69b4ff,'INDIANRED':0xcd5c5cff,'INDIGO':0x4b0082ff,'IVORY':0xfffff0ff,'KHAKI':0xf0e68cff,'LAVENDER':0xe6e6faff,'LAVENDERBLUSH':0xfff0f5ff,'LAWNGREEN':0x7cfc00ff,'LEMONCHIFFON':0xfffacdff,'LIGHTBLUE':0xadd8e6ff,'LIGHTCORAL':0xf08080ff,'LIGHTCYAN':0xe0ffffff,'LIGHTGOLDENRODYELLOW':0xfafad2ff,'LIGHTGRAY':0xd3d3d3ff,'LIGHTGREEN':0x90ee90ff,'LIGHTGREY':0xd3d3d3ff,'LIGHTPINK':0xffb6c1ff,'LIGHTSALMON':0xffa07aff,'LIGHTSEAGREEN':0x20b2aaff,'LIGHTSKYBLUE':0x87cefaff,'LIGHTSLATEGRAY':0x778899ff,'LIGHTSLATEGREY':0x778899ff,'LIGHTSTEELBLUE':0xb0c4deff,'LIGHTYELLOW':0xffffe0ff,'LIME':0xff00ff,'LIMEGREEN':0x32cd32ff,'LINEN':0xfaf0e6ff,'MAGENTA':0xff00ffff,'MAROON':0x800000ff,'MEDIUMAQUAMARINE':0x66cdaaff,'MEDIUMBLUE':0xcdff,'MEDIUMORCHID':0xba55d3ff,'MEDIUMPURPLE':0x9370dbff,'MEDIUMSEAGREEN':0x3cb371ff,'MEDIUMSLATEBLUE':0x7b68eeff,'MEDIUMSPRINGGREEN':0xfa9aff,'MEDIUMTURQUOISE':0x48d1ccff,'MEDIUMVIOLETRED':0xc71585ff,'MIDNIGHTBLUE':0x191970ff,'MINTCREAM':0xf5fffaff,'MISTYROSE':0xffe4e1ff,'MOCCASIN':0xffe4b5ff,'NAVAJOWHITE':0xffdeadff,'NAVY':0x80ff,'OLDLACE':0xfdf5e6ff,'OLIVE':0x808000ff,'OLIVEDRAB':0x6b8e23ff,'ORANGE':0xffa500ff,'ORANGERED':0xff4500ff,'ORCHID':0xda70d6ff,'PALEGOLDENROD':0xeee8aaff,'PALEGREEN':0x98fb98ff,'PALETURQUOISE':0xafeeeeff,'PALEVIOLETRED':0xdb7093ff,'PAPAYAWHIP':0xffefd5ff,'PEACHPUFF':0xffdab9ff,'PERU':0xcd853fff,'PINK':0xffc0cbff,'PLUM':0xdda0ddff,'POWDERBLUE':0xb0e0e6ff,'PURPLE':0x800080ff,'REBECCAPURPLE':0x663399ff,'RED':0xff0000ff,'ROSYBROWN':0xbc8f8fff,'ROYALBLUE':0x4169e1ff,'SADDLEBROWN':0x8b4513ff,'SALMON':0xfa8072ff,'SANDYBROWN':0xf4a460ff,'SEAGREEN':0x2e8b57ff,'SEASHELL':0xfff5eeff,'SIENNA':0xa0522dff,'SILVER':0xc0c0c0ff,'SKYBLUE':0x87ceebff,'SLATEBLUE':0x6a5acdff,'SLATEGRAY':0x708090ff,'SLATEGREY':0x708090ff,'SNOW':0xfffafaff,'SPRINGGREEN':0xff7fff,'STEELBLUE':0x4682b4ff,'TAN':0xd2b48cff,'TEAL':0x8080ff,'THISTLE':0xd8bfd8ff,'TOMATO':0xff6347ff,'TRANSPARENT':0x0,'TURQUOISE':0x40e0d0ff,'VIOLET':0xee82eeff,'WHEAT':0xf5deb3ff,'WHITE':0xffffffff,'WHITESMOKE':0xf5f5f5ff,'YELLOW':0xffff00ff,'YELLOWGREEN':0x9acd32ff};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x5346')]=0x0]='VALUE',_0x4f39a9[_0x4f39a9[_0x1a4e('0x5347')]=0x1]='LIST',_0x4f39a9[_0x4f39a9['IDENT_VALUE']=0x2]=_0x1a4e('0x5348'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5349')]=0x3]=_0x1a4e('0x5349'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x534a')]=0x4]=_0x1a4e('0x534a');}(_0xaf7cc8||(_0xaf7cc8={})),function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x534b')]=0x0]=_0x1a4e('0x534b'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x534c')]=0x1]=_0x1a4e('0x534c'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x534d')]=0x2]=_0x1a4e('0x534d');}(_0x568255||(_0x568255={}));var _0x3aa103,_0x2a2e30,_0x13b196,_0xcfdb55={'name':'background-clip','initialValue':'border-box','prefix':!0x1,'type':_0xaf7cc8['LIST'],'parse':function(_0x4f39a9){return _0x4f39a9['map'](function(_0x4f39a9){if(_0x5c3185(_0x4f39a9))switch(_0x4f39a9[_0x1a4e('0x255')]){case _0x1a4e('0x534e'):return _0x568255['PADDING_BOX'];case _0x1a4e('0x534f'):return _0x568255[_0x1a4e('0x534d')];}return _0x568255[_0x1a4e('0x534b')];});}},_0x3e7af5={'name':_0x1a4e('0x5350'),'initialValue':_0x1a4e('0x4203'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5349')],'format':'color'},_0x55ed0c=function(_0x4f39a9){var _0x40681f=_0x43bd26(_0x4f39a9[0x0]),_0x44caca=_0x4f39a9[0x1];return _0x44caca&&_0x3504a5(_0x44caca)?{'color':_0x40681f,'stop':_0x44caca}:{'color':_0x40681f,'stop':null};},_0x41aa08=function(_0x4f39a9,_0x40681f){var _0x44caca=_0x4f39a9[0x0],_0x2a04f1=_0x4f39a9[_0x4f39a9[_0x1a4e('0x1e')]-0x1];null===_0x44caca[_0x1a4e('0x127b')]&&(_0x44caca[_0x1a4e('0x127b')]=_0x1c4eaf),null===_0x2a04f1['stop']&&(_0x2a04f1[_0x1a4e('0x127b')]=_0x1b5022);for(var _0x8fab41=[],_0x13e4bb=0x0,_0x15ca8d=0x0;_0x15ca8d<_0x4f39a9[_0x1a4e('0x1e')];_0x15ca8d++){var _0x206a52=_0x4f39a9[_0x15ca8d][_0x1a4e('0x127b')];if(null!==_0x206a52){var _0x1797cb=_0x516d71(_0x206a52,_0x40681f);_0x1797cb>_0x13e4bb?_0x8fab41['push'](_0x1797cb):_0x8fab41[_0x1a4e('0x46')](_0x13e4bb),_0x13e4bb=_0x1797cb;}else _0x8fab41[_0x1a4e('0x46')](null);}var _0x302704=null;for(_0x15ca8d=0x0;_0x15ca8d<_0x8fab41[_0x1a4e('0x1e')];_0x15ca8d++){var _0x4133f3=_0x8fab41[_0x15ca8d];if(null===_0x4133f3)null===_0x302704&&(_0x302704=_0x15ca8d);else if(null!==_0x302704){for(var _0x1002a1=_0x15ca8d-_0x302704,_0x683603=(_0x4133f3-_0x8fab41[_0x302704-0x1])/(_0x1002a1+0x1),_0x318a81=0x1;_0x318a81<=_0x1002a1;_0x318a81++)_0x8fab41[_0x302704+_0x318a81-0x1]=_0x683603*_0x318a81;_0x302704=null;}}return _0x4f39a9[_0x1a4e('0x21')](function(_0x4f39a9,_0x44caca){return{'color':_0x4f39a9[_0x1a4e('0x134')],'stop':Math[_0x1a4e('0x6c')](Math[_0x1a4e('0x74')](0x1,_0x8fab41[_0x44caca]/_0x40681f),0x0)};});},_0x446ee1=function(_0x4f39a9,_0x40681f,_0x44caca){var _0x2a04f1='number'==typeof _0x4f39a9?_0x4f39a9:function(_0x4f39a9,_0x40681f,_0x44caca){var _0x2a04f1=_0x40681f/0x2,_0x8fab41=_0x44caca/0x2,_0x13e4bb=_0x516d71(_0x4f39a9[0x0],_0x40681f)-_0x2a04f1,_0x15ca8d=_0x8fab41-_0x516d71(_0x4f39a9[0x1],_0x44caca);return(Math['atan2'](_0x15ca8d,_0x13e4bb)+0x2*Math['PI'])%(0x2*Math['PI']);}(_0x4f39a9,_0x40681f,_0x44caca),_0x8fab41=Math[_0x1a4e('0x65')](_0x40681f*Math[_0x1a4e('0x8f')](_0x2a04f1))+Math['abs'](_0x44caca*Math['cos'](_0x2a04f1)),_0x13e4bb=_0x40681f/0x2,_0x15ca8d=_0x44caca/0x2,_0x206a52=_0x8fab41/0x2,_0x1797cb=Math[_0x1a4e('0x8f')](_0x2a04f1-Math['PI']/0x2)*_0x206a52,_0x302704=Math[_0x1a4e('0x90')](_0x2a04f1-Math['PI']/0x2)*_0x206a52;return[_0x8fab41,_0x13e4bb-_0x302704,_0x13e4bb+_0x302704,_0x15ca8d-_0x1797cb,_0x15ca8d+_0x1797cb];},_0x1ec8bb=function(_0x4f39a9,_0x40681f){return Math[_0x1a4e('0x91')](_0x4f39a9*_0x4f39a9+_0x40681f*_0x40681f);},_0x265542=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41){return[[0x0,0x0],[0x0,_0x40681f],[_0x4f39a9,0x0],[_0x4f39a9,_0x40681f]]['reduce'](function(_0x4f39a9,_0x40681f){var _0x13e4bb=_0x40681f[0x0],_0x15ca8d=_0x40681f[0x1],_0x206a52=_0x1ec8bb(_0x44caca-_0x13e4bb,_0x2a04f1-_0x15ca8d);return(_0x8fab41?_0x206a52<_0x4f39a9[_0x1a4e('0x5351')]:_0x206a52>_0x4f39a9[_0x1a4e('0x5351')])?{'optimumCorner':_0x40681f,'optimumDistance':_0x206a52}:_0x4f39a9;},{'optimumDistance':_0x8fab41?0x1/0x0:-0x1/0x0,'optimumCorner':null})[_0x1a4e('0x5352')];},_0x4803b4=function(_0x4f39a9){var _0x40681f=_0x2f0564(0xb4),_0x44caca=[];return _0x1a0238(_0x4f39a9)[_0x1a4e('0x3b')](function(_0x4f39a9,_0x2a04f1){if(0x0===_0x2a04f1){var _0x8fab41=_0x4f39a9[0x0];if(_0x8fab41['type']===_0x683603[_0x1a4e('0x5307')]&&-0x1!==[_0x1a4e('0x5e'),'left',_0x1a4e('0x5d'),_0x1a4e('0x5c')][_0x1a4e('0x3e')](_0x8fab41[_0x1a4e('0x255')]))return void(_0x40681f=_0x41bde9(_0x4f39a9));if(_0x40733a(_0x8fab41))return void(_0x40681f=(_0x14c020(_0x8fab41)+_0x2f0564(0x10e))%_0x2f0564(0x168));}var _0x13e4bb=_0x55ed0c(_0x4f39a9);_0x44caca[_0x1a4e('0x46')](_0x13e4bb);}),{'angle':_0x40681f,'stops':_0x44caca,'type':_0x3aa103['LINEAR_GRADIENT']};},_0x441216=function(_0x4f39a9){return 0x0===_0x4f39a9[0x0]&&0xff===_0x4f39a9[0x1]&&0x0===_0x4f39a9[0x2]&&0xff===_0x4f39a9[0x3];},_0x1ed8b2=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41){var _0x13e4bb=_0x1a4e('0x5143'),_0x15ca8d=document[_0x1a4e('0x5142')](_0x13e4bb,'svg'),_0x206a52=document[_0x1a4e('0x5142')](_0x13e4bb,_0x1a4e('0x5353'));return _0x15ca8d[_0x1a4e('0x5173')](null,_0x1a4e('0x3936'),_0x4f39a9[_0x1a4e('0x95')]()),_0x15ca8d[_0x1a4e('0x5173')](null,'height',_0x40681f[_0x1a4e('0x95')]()),_0x206a52[_0x1a4e('0x5173')](null,_0x1a4e('0x3936'),_0x1a4e('0x3b27')),_0x206a52['setAttributeNS'](null,_0x1a4e('0x152'),_0x1a4e('0x3b27')),_0x206a52[_0x1a4e('0x5173')](null,'x',_0x44caca['toString']()),_0x206a52[_0x1a4e('0x5173')](null,'y',_0x2a04f1[_0x1a4e('0x95')]()),_0x206a52['setAttributeNS'](null,_0x1a4e('0x5354'),_0x1a4e('0xe7b')),_0x15ca8d['appendChild'](_0x206a52),_0x206a52[_0x1a4e('0x12c4')](_0x8fab41),_0x15ca8d;},_0x79a8d7=function(_0x4f39a9){return new Promise(function(_0x40681f,_0x44caca){var _0x2a04f1=new Image();_0x2a04f1[_0x1a4e('0x1336')]=function(){return _0x40681f(_0x2a04f1);},_0x2a04f1[_0x1a4e('0x1338')]=_0x44caca,_0x2a04f1[_0x1a4e('0xe05')]=_0x1a4e('0x5355')+encodeURIComponent(new XMLSerializer()[_0x1a4e('0x5155')](_0x4f39a9));});},_0x529cc7={get 'SUPPORT_RANGE_BOUNDS'(){var _0x4f39a9=function(_0x4f39a9){if(_0x4f39a9[_0x1a4e('0x247d')]){var _0x40681f=_0x4f39a9[_0x1a4e('0x247d')]();if(_0x40681f[_0x1a4e('0x436e')]){var _0x44caca=_0x4f39a9['createElement'](_0x1a4e('0x5356'));_0x44caca[_0x1a4e('0x375c')][_0x1a4e('0x152')]=_0x1a4e('0x5357'),_0x44caca[_0x1a4e('0x375c')][_0x1a4e('0x375d')]='block',_0x4f39a9[_0x1a4e('0x8f2')]['appendChild'](_0x44caca),_0x40681f[_0x1a4e('0x5358')](_0x44caca);var _0x2a04f1=_0x40681f['getBoundingClientRect'](),_0x8fab41=Math['round'](_0x2a04f1[_0x1a4e('0x152')]);if(_0x4f39a9['body']['removeChild'](_0x44caca),0x7b===_0x8fab41)return!0x0;}}return!0x1;}(document);return Object[_0x1a4e('0x2')](_0x529cc7,_0x1a4e('0x5359'),{'value':_0x4f39a9}),_0x4f39a9;},get 'SUPPORT_SVG_DRAWING'(){var _0x4f39a9=function(_0x4f39a9){var _0x40681f=new Image(),_0x44caca=_0x4f39a9['createElement']('canvas'),_0x2a04f1=_0x44caca[_0x1a4e('0x51c')]('2d');if(!_0x2a04f1)return!0x1;_0x40681f['src']=_0x1a4e('0x535a');try{_0x2a04f1[_0x1a4e('0x47c6')](_0x40681f,0x0,0x0),_0x44caca[_0x1a4e('0x3939')]();}catch(_0x45b68){return!0x1;}return!0x0;}(document);return Object[_0x1a4e('0x2')](_0x529cc7,_0x1a4e('0x535b'),{'value':_0x4f39a9}),_0x4f39a9;},get 'SUPPORT_FOREIGNOBJECT_DRAWING'(){var _0x4f39a9=_0x1a4e('0x68')==typeof Array[_0x1a4e('0x1b5')]&&_0x1a4e('0x68')==typeof window['fetch']?function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0xe3d')]('canvas');_0x40681f[_0x1a4e('0x3936')]=0x64,_0x40681f[_0x1a4e('0x152')]=0x64;var _0x44caca=_0x40681f[_0x1a4e('0x51c')]('2d');if(!_0x44caca)return Promise['reject'](!0x1);_0x44caca[_0x1a4e('0x3dbe')]='rgb(0,\x20255,\x200)',_0x44caca[_0x1a4e('0x3dde')](0x0,0x0,0x64,0x64);var _0x2a04f1=new Image(),_0x8fab41=_0x40681f[_0x1a4e('0x3939')]();_0x2a04f1[_0x1a4e('0xe05')]=_0x8fab41;var _0x13e4bb=_0x1ed8b2(0x64,0x64,0x0,0x0,_0x2a04f1);return _0x44caca[_0x1a4e('0x3dbe')]=_0x1a4e('0x979'),_0x44caca[_0x1a4e('0x3dde')](0x0,0x0,0x64,0x64),_0x79a8d7(_0x13e4bb)[_0x1a4e('0xdf8')](function(_0x40681f){_0x44caca[_0x1a4e('0x47c6')](_0x40681f,0x0,0x0);var _0x2a04f1=_0x44caca['getImageData'](0x0,0x0,0x64,0x64)['data'];_0x44caca[_0x1a4e('0x3dbe')]='red',_0x44caca[_0x1a4e('0x3dde')](0x0,0x0,0x64,0x64);var _0x13e4bb=_0x4f39a9[_0x1a4e('0xe3d')](_0x1a4e('0x9d6'));return _0x13e4bb[_0x1a4e('0x375c')][_0x1a4e('0x4513')]=_0x1a4e('0x4514')+_0x8fab41+')',_0x13e4bb[_0x1a4e('0x375c')][_0x1a4e('0x152')]=_0x1a4e('0x535c'),_0x441216(_0x2a04f1)?_0x79a8d7(_0x1ed8b2(0x64,0x64,0x0,0x0,_0x13e4bb)):Promise[_0x1a4e('0x1077')](!0x1);})[_0x1a4e('0xdf8')](function(_0x4f39a9){return _0x44caca[_0x1a4e('0x47c6')](_0x4f39a9,0x0,0x0),_0x441216(_0x44caca[_0x1a4e('0x47c7')](0x0,0x0,0x64,0x64)['data']);})[_0x1a4e('0x1586')](function(){return!0x1;});}(document):Promise[_0x1a4e('0xe20')](!0x1);return Object[_0x1a4e('0x2')](_0x529cc7,_0x1a4e('0x535d'),{'value':_0x4f39a9}),_0x4f39a9;},get 'SUPPORT_CORS_IMAGES'(){var _0x4f39a9=void 0x0!==new Image()[_0x1a4e('0x535e')];return Object[_0x1a4e('0x2')](_0x529cc7,'SUPPORT_CORS_IMAGES',{'value':_0x4f39a9}),_0x4f39a9;},get 'SUPPORT_RESPONSE_TYPE'(){var _0x4f39a9=_0x1a4e('0x9')==typeof new XMLHttpRequest()[_0x1a4e('0x41b6')];return Object[_0x1a4e('0x2')](_0x529cc7,_0x1a4e('0x535f'),{'value':_0x4f39a9}),_0x4f39a9;},get 'SUPPORT_CORS_XHR'(){var _0x4f39a9=_0x1a4e('0x5360')in new XMLHttpRequest();return Object[_0x1a4e('0x2')](_0x529cc7,_0x1a4e('0x5361'),{'value':_0x4f39a9}),_0x4f39a9;}},_0x319799=function(){function _0x4f39a9(_0x4f39a9){var _0x40681f=_0x4f39a9['id'],_0x44caca=_0x4f39a9[_0x1a4e('0x25e5')];this['id']=_0x40681f,this[_0x1a4e('0x25e5')]=_0x44caca,this[_0x1a4e('0xc9')]=Date[_0x1a4e('0xe3f')]();}return _0x4f39a9[_0x1a4e('0xa')]['debug']=function(){for(var _0x4f39a9=[],_0x40681f=0x0;_0x40681f0x0&&setTimeout(function(){return _0x40681f(_0x1a4e('0x5378')+_0x15ca8d[_0x1a4e('0x4788')][_0x1a4e('0x5377')]+_0x1a4e('0x5379'));},_0x15ca8d['_options'][_0x1a4e('0x5377')]);})];case 0x3:return[0x2,_0x8fab41[_0x1a4e('0x128a')]()];}});});},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x178')]=function(_0x4f39a9){return void 0x0!==this[_0x1a4e('0xa48')][_0x4f39a9];},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x56')]=function(){return Promise[_0x1a4e('0xe20')](Object[_0x1a4e('0x56')](this[_0x1a4e('0xa48')]));},_0x4f39a9[_0x1a4e('0xa')]['proxy']=function(_0x4f39a9){var _0x40681f=this,_0x44caca=this[_0x1a4e('0x4788')][_0x1a4e('0xdfd')];if(!_0x44caca)throw new Error(_0x1a4e('0x537a'));var _0x2a04f1=_0x4f39a9[_0x1a4e('0x281')](0x0,0x100);return new Promise(function(_0x8fab41,_0x13e4bb){var _0x15ca8d=_0x529cc7[_0x1a4e('0x535f')]?'blob':_0x1a4e('0xe04'),_0x206a52=new XMLHttpRequest();if(_0x206a52[_0x1a4e('0x1336')]=function(){if(0xc8===_0x206a52['status'])if(_0x1a4e('0xe04')===_0x15ca8d)_0x8fab41(_0x206a52['response']);else{var _0x4f39a9=new FileReader();_0x4f39a9['addEventListener'](_0x1a4e('0x7b'),function(){return _0x8fab41(_0x4f39a9[_0x1a4e('0x13f')]);},!0x1),_0x4f39a9[_0x1a4e('0xec5')](_0x1a4e('0x873'),function(_0x4f39a9){return _0x13e4bb(_0x4f39a9);},!0x1),_0x4f39a9['readAsDataURL'](_0x206a52[_0x1a4e('0x41b8')]);}else _0x13e4bb('Failed\x20to\x20proxy\x20resource\x20'+_0x2a04f1+_0x1a4e('0x537b')+_0x206a52[_0x1a4e('0xe02')]);},_0x206a52[_0x1a4e('0x1338')]=_0x13e4bb,_0x206a52[_0x1a4e('0x12bc')](_0x1a4e('0x1625'),_0x44caca+_0x1a4e('0x537c')+encodeURIComponent(_0x4f39a9)+_0x1a4e('0x537d')+_0x15ca8d),_0x1a4e('0xe04')!==_0x15ca8d&&_0x206a52 instanceof XMLHttpRequest&&(_0x206a52[_0x1a4e('0x41b6')]=_0x15ca8d),_0x40681f[_0x1a4e('0x4788')][_0x1a4e('0x5377')]){var _0x1797cb=_0x40681f[_0x1a4e('0x4788')]['imageTimeout'];_0x206a52[_0x1a4e('0x4a51')]=_0x1797cb,_0x206a52['ontimeout']=function(){return _0x13e4bb(_0x1a4e('0x5378')+_0x1797cb+_0x1a4e('0x537e')+_0x2a04f1);};}_0x206a52[_0x1a4e('0x1626')]();});},_0x4f39a9;}(),_0x56a01b=/^data:image\/svg\+xml/i,_0x4de10e=/^data:image\/.*;base64,/i,_0x1c0da1=/^data:image\/.*/i,_0x45e31c=function(_0x4f39a9){return _0x529cc7[_0x1a4e('0x535b')]||!_0x265bcf(_0x4f39a9);},_0x106af5=function(_0x4f39a9){return _0x1c0da1[_0x1a4e('0x8d0')](_0x4f39a9);},_0x2f8bb9=function(_0x4f39a9){return _0x4de10e['test'](_0x4f39a9);},_0x338129=function(_0x4f39a9){return _0x1a4e('0x41b7')===_0x4f39a9['substr'](0x0,0x4);},_0x265bcf=function(_0x4f39a9){return _0x1a4e('0x5144')===_0x4f39a9[_0x1a4e('0x254')](-0x3)[_0x1a4e('0x2b2')]()||_0x56a01b[_0x1a4e('0x8d0')](_0x4f39a9);},_0x1a5b61=function(_0x4f39a9){var _0x40681f=_0x2a2e30[_0x1a4e('0x537f')],_0x44caca=_0x13b196[_0x1a4e('0x5380')],_0x2a04f1=[],_0x8fab41=[];return _0x1a0238(_0x4f39a9)[_0x1a4e('0x3b')](function(_0x4f39a9,_0x13e4bb){var _0x15ca8d=!0x0;if(0x0===_0x13e4bb?_0x15ca8d=_0x4f39a9[_0x1a4e('0xbb')](function(_0x4f39a9,_0x40681f){if(_0x5c3185(_0x40681f))switch(_0x40681f[_0x1a4e('0x255')]){case _0x1a4e('0x111'):return _0x8fab41[_0x1a4e('0x46')](_0x4e6906),!0x1;case _0x1a4e('0x5e'):case _0x1a4e('0x5f'):return _0x8fab41[_0x1a4e('0x46')](_0x1c4eaf),!0x1;case _0x1a4e('0x5d'):case _0x1a4e('0x5c'):return _0x8fab41['push'](_0x1b5022),!0x1;}else if(_0x3504a5(_0x40681f)||_0x4af34c(_0x40681f))return _0x8fab41[_0x1a4e('0x46')](_0x40681f),!0x1;return _0x4f39a9;},_0x15ca8d):0x1===_0x13e4bb&&(_0x15ca8d=_0x4f39a9[_0x1a4e('0xbb')](function(_0x4f39a9,_0x2a04f1){if(_0x5c3185(_0x2a04f1))switch(_0x2a04f1[_0x1a4e('0x255')]){case _0x1a4e('0x125'):return _0x40681f=_0x2a2e30['CIRCLE'],!0x1;case'ellipse':return _0x40681f=_0x2a2e30[_0x1a4e('0x5381')],!0x1;case _0x1a4e('0x429e'):case _0x1a4e('0x5382'):return _0x44caca=_0x13b196[_0x1a4e('0x5383')],!0x1;case _0x1a4e('0x5384'):return _0x44caca=_0x13b196['FARTHEST_SIDE'],!0x1;case'closest-corner':return _0x44caca=_0x13b196[_0x1a4e('0x5385')],!0x1;case _0x1a4e('0x5386'):case _0x1a4e('0x5387'):return _0x44caca=_0x13b196['FARTHEST_CORNER'],!0x1;}else if(_0x4af34c(_0x2a04f1)||_0x3504a5(_0x2a04f1))return Array[_0x1a4e('0x15')](_0x44caca)||(_0x44caca=[]),_0x44caca[_0x1a4e('0x46')](_0x2a04f1),!0x1;return _0x4f39a9;},_0x15ca8d)),_0x15ca8d){var _0x206a52=_0x55ed0c(_0x4f39a9);_0x2a04f1[_0x1a4e('0x46')](_0x206a52);}}),{'size':_0x44caca,'shape':_0x40681f,'stops':_0x2a04f1,'position':_0x8fab41,'type':_0x3aa103['RADIAL_GRADIENT']};};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x5388')]=0x0]='URL',_0x4f39a9[_0x4f39a9['LINEAR_GRADIENT']=0x1]='LINEAR_GRADIENT',_0x4f39a9[_0x4f39a9[_0x1a4e('0x5389')]=0x2]=_0x1a4e('0x5389');}(_0x3aa103||(_0x3aa103={})),function(_0x4f39a9){_0x4f39a9[_0x4f39a9['CIRCLE']=0x0]='CIRCLE',_0x4f39a9[_0x4f39a9['ELLIPSE']=0x1]='ELLIPSE';}(_0x2a2e30||(_0x2a2e30={})),function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x5383')]=0x0]=_0x1a4e('0x5383'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x538a')]=0x1]=_0x1a4e('0x538a'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5385')]=0x2]=_0x1a4e('0x5385'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5380')]=0x3]=_0x1a4e('0x5380');}(_0x13b196||(_0x13b196={}));var _0x1555a9,_0x477971=function(_0x4f39a9){if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5309')]){var _0x40681f={'url':_0x4f39a9[_0x1a4e('0x255')],'type':_0x3aa103[_0x1a4e('0x5388')]};return _0x4b7d13[_0x1a4e('0x5363')]()[_0x1a4e('0x5372')](_0x4f39a9[_0x1a4e('0x255')]),_0x40681f;}if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5305')]){var _0x44caca=_0x38cf94[_0x4f39a9[_0x1a4e('0x2cb')]];if(void 0x0===_0x44caca)throw new Error('Attempting\x20to\x20parse\x20an\x20unsupported\x20image\x20function\x20\x22'+_0x4f39a9[_0x1a4e('0x2cb')]+'\x22');return _0x44caca(_0x4f39a9[_0x1a4e('0x35b')]);}throw new Error(_0x1a4e('0x538b'));},_0x38cf94={'linear-gradient':function(_0x4f39a9){var _0x40681f=_0x2f0564(0xb4),_0x44caca=[];return _0x1a0238(_0x4f39a9)['forEach'](function(_0x4f39a9,_0x2a04f1){if(0x0===_0x2a04f1){var _0x8fab41=_0x4f39a9[0x0];if(_0x8fab41[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')]&&'to'===_0x8fab41[_0x1a4e('0x255')])return void(_0x40681f=_0x41bde9(_0x4f39a9));if(_0x40733a(_0x8fab41))return void(_0x40681f=_0x14c020(_0x8fab41));}var _0x13e4bb=_0x55ed0c(_0x4f39a9);_0x44caca['push'](_0x13e4bb);}),{'angle':_0x40681f,'stops':_0x44caca,'type':_0x3aa103[_0x1a4e('0x538c')]};},'-moz-linear-gradient':_0x4803b4,'-ms-linear-gradient':_0x4803b4,'-o-linear-gradient':_0x4803b4,'-webkit-linear-gradient':_0x4803b4,'radial-gradient':function(_0x4f39a9){var _0x40681f=_0x2a2e30[_0x1a4e('0x537f')],_0x44caca=_0x13b196[_0x1a4e('0x5380')],_0x2a04f1=[],_0x8fab41=[];return _0x1a0238(_0x4f39a9)[_0x1a4e('0x3b')](function(_0x4f39a9,_0x13e4bb){var _0x15ca8d=!0x0;if(0x0===_0x13e4bb){var _0x206a52=!0x1;_0x15ca8d=_0x4f39a9[_0x1a4e('0xbb')](function(_0x4f39a9,_0x2a04f1){if(_0x206a52)if(_0x5c3185(_0x2a04f1))switch(_0x2a04f1[_0x1a4e('0x255')]){case'center':return _0x8fab41[_0x1a4e('0x46')](_0x4e6906),_0x4f39a9;case _0x1a4e('0x5e'):case'left':return _0x8fab41[_0x1a4e('0x46')](_0x1c4eaf),_0x4f39a9;case _0x1a4e('0x5d'):case _0x1a4e('0x5c'):return _0x8fab41[_0x1a4e('0x46')](_0x1b5022),_0x4f39a9;}else(_0x3504a5(_0x2a04f1)||_0x4af34c(_0x2a04f1))&&_0x8fab41[_0x1a4e('0x46')](_0x2a04f1);else if(_0x5c3185(_0x2a04f1))switch(_0x2a04f1[_0x1a4e('0x255')]){case _0x1a4e('0x125'):return _0x40681f=_0x2a2e30['CIRCLE'],!0x1;case _0x1a4e('0x3957'):return _0x40681f=_0x2a2e30['ELLIPSE'],!0x1;case'at':return _0x206a52=!0x0,!0x1;case _0x1a4e('0x5382'):return _0x44caca=_0x13b196[_0x1a4e('0x5383')],!0x1;case _0x1a4e('0x5386'):case _0x1a4e('0x5384'):return _0x44caca=_0x13b196[_0x1a4e('0x538a')],!0x1;case _0x1a4e('0x429e'):case'closest-corner':return _0x44caca=_0x13b196[_0x1a4e('0x5385')],!0x1;case'farthest-corner':return _0x44caca=_0x13b196[_0x1a4e('0x5380')],!0x1;}else if(_0x4af34c(_0x2a04f1)||_0x3504a5(_0x2a04f1))return Array[_0x1a4e('0x15')](_0x44caca)||(_0x44caca=[]),_0x44caca['push'](_0x2a04f1),!0x1;return _0x4f39a9;},_0x15ca8d);}if(_0x15ca8d){var _0x1797cb=_0x55ed0c(_0x4f39a9);_0x2a04f1[_0x1a4e('0x46')](_0x1797cb);}}),{'size':_0x44caca,'shape':_0x40681f,'stops':_0x2a04f1,'position':_0x8fab41,'type':_0x3aa103[_0x1a4e('0x5389')]};},'-moz-radial-gradient':_0x1a5b61,'-ms-radial-gradient':_0x1a5b61,'-o-radial-gradient':_0x1a5b61,'-webkit-radial-gradient':_0x1a5b61,'-webkit-gradient':function(_0x4f39a9){var _0x40681f=_0x2f0564(0xb4),_0x44caca=[],_0x2a04f1=_0x3aa103[_0x1a4e('0x538c')],_0x8fab41=_0x2a2e30[_0x1a4e('0x537f')],_0x13e4bb=_0x13b196[_0x1a4e('0x5380')];return _0x1a0238(_0x4f39a9)[_0x1a4e('0x3b')](function(_0x4f39a9,_0x40681f){var _0x8fab41=_0x4f39a9[0x0];if(0x0===_0x40681f){if(_0x5c3185(_0x8fab41)&&_0x1a4e('0x538d')===_0x8fab41['value'])return void(_0x2a04f1=_0x3aa103['LINEAR_GRADIENT']);if(_0x5c3185(_0x8fab41)&&_0x1a4e('0x538e')===_0x8fab41[_0x1a4e('0x255')])return void(_0x2a04f1=_0x3aa103[_0x1a4e('0x5389')]);}if(_0x8fab41[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5305')])if('from'===_0x8fab41['name']){var _0x13e4bb=_0x43bd26(_0x8fab41['values'][0x0]);_0x44caca[_0x1a4e('0x46')]({'stop':_0x1c4eaf,'color':_0x13e4bb});}else if('to'===_0x8fab41[_0x1a4e('0x2cb')])_0x13e4bb=_0x43bd26(_0x8fab41['values'][0x0]),_0x44caca['push']({'stop':_0x1b5022,'color':_0x13e4bb});else if(_0x1a4e('0x538f')===_0x8fab41[_0x1a4e('0x2cb')]){var _0x15ca8d=_0x8fab41[_0x1a4e('0x35b')][_0x1a4e('0xd9')](_0x5951bb);if(0x2===_0x15ca8d['length']){_0x13e4bb=_0x43bd26(_0x15ca8d[0x1]);var _0x206a52=_0x15ca8d[0x0];_0x45bdb0(_0x206a52)&&_0x44caca[_0x1a4e('0x46')]({'stop':{'type':_0x683603[_0x1a4e('0x5323')],'number':0x64*_0x206a52[_0x1a4e('0x3d')],'flags':_0x206a52['flags']},'color':_0x13e4bb});}}}),_0x2a04f1===_0x3aa103[_0x1a4e('0x538c')]?{'angle':(_0x40681f+_0x2f0564(0xb4))%_0x2f0564(0x168),'stops':_0x44caca,'type':_0x2a04f1}:{'size':_0x13e4bb,'shape':_0x8fab41,'stops':_0x44caca,'position':[],'type':_0x2a04f1};}},_0x1dd351={'name':_0x1a4e('0x5390'),'initialValue':_0x1a4e('0x60'),'type':_0xaf7cc8[_0x1a4e('0x5347')],'prefix':!0x1,'parse':function(_0x4f39a9){if(0x0===_0x4f39a9[_0x1a4e('0x1e')])return[];var _0x40681f=_0x4f39a9[0x0];return _0x40681f[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')]&&_0x1a4e('0x60')===_0x40681f['value']?[]:_0x4f39a9[_0x1a4e('0xd9')](function(_0x4f39a9){return _0x5951bb(_0x4f39a9)&&function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]!==_0x683603[_0x1a4e('0x5305')]||_0x38cf94[_0x4f39a9[_0x1a4e('0x2cb')]];}(_0x4f39a9);})[_0x1a4e('0x21')](_0x477971);}},_0x50dada={'name':_0x1a4e('0x5391'),'initialValue':_0x1a4e('0x4696'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x21')](function(_0x4f39a9){if(_0x5c3185(_0x4f39a9))switch(_0x4f39a9[_0x1a4e('0x255')]){case'padding-box':return 0x1;case'content-box':return 0x2;}return 0x0;});}},_0x2d4a47={'name':_0x1a4e('0x5392'),'initialValue':_0x1a4e('0x5393'),'type':_0xaf7cc8[_0x1a4e('0x5347')],'prefix':!0x1,'parse':function(_0x4f39a9){return _0x1a0238(_0x4f39a9)[_0x1a4e('0x21')](function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0xd9')](_0x3504a5);})['map'](_0x5c53fc);}};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x3ca6')]=0x0]=_0x1a4e('0x3ca6'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5394')]=0x1]=_0x1a4e('0x5394'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5395')]=0x2]=_0x1a4e('0x5395'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5396')]=0x3]=_0x1a4e('0x5396');}(_0x1555a9||(_0x1555a9={}));var _0x3739e0,_0x326b6e={'name':_0x1a4e('0x5397'),'initialValue':_0x1a4e('0x3b77'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){return _0x1a0238(_0x4f39a9)['map'](function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0xd9')](_0x5c3185)[_0x1a4e('0x21')](function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x255')];})[_0x1a4e('0x9e')]('\x20');})[_0x1a4e('0x21')](_0x20a493);}},_0x20a493=function(_0x4f39a9){switch(_0x4f39a9){case'no-repeat':return _0x1555a9['NO_REPEAT'];case'repeat-x':case _0x1a4e('0x5398'):return _0x1555a9[_0x1a4e('0x5395')];case _0x1a4e('0x5399'):case _0x1a4e('0x539a'):return _0x1555a9[_0x1a4e('0x5396')];case _0x1a4e('0x3b77'):default:return _0x1555a9[_0x1a4e('0x3ca6')];}};!function(_0x4f39a9){_0x4f39a9[_0x1a4e('0x539b')]=_0x1a4e('0x1622'),_0x4f39a9[_0x1a4e('0x539c')]=_0x1a4e('0x429e'),_0x4f39a9[_0x1a4e('0x539d')]=_0x1a4e('0x5386');}(_0x3739e0||(_0x3739e0={}));var _0x5335b8,_0x173b05={'name':_0x1a4e('0x539e'),'initialValue':'0','prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){return _0x1a0238(_0x4f39a9)['map'](function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0xd9')](_0x221d25);});}},_0x221d25=function(_0x4f39a9){return _0x5c3185(_0x4f39a9)||_0x3504a5(_0x4f39a9);},_0x57af61=function(_0x4f39a9){return{'name':_0x1a4e('0x539f')+_0x4f39a9+'-color','initialValue':_0x1a4e('0x4203'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5349')],'format':_0x1a4e('0x134')};},_0x1bba14=_0x57af61(_0x1a4e('0x5e')),_0x1d0aea=_0x57af61('right'),_0x42b7bf=_0x57af61(_0x1a4e('0x5c')),_0x289a70=_0x57af61('left'),_0x2ec1a7=function(_0x4f39a9){return{'name':_0x1a4e('0x53a0')+_0x4f39a9,'initialValue':'0\x200','prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){return _0x5c53fc(_0x4f39a9[_0x1a4e('0xd9')](_0x3504a5));}};},_0x260eab=_0x2ec1a7(_0x1a4e('0x53a1')),_0x397669=_0x2ec1a7(_0x1a4e('0x53a2')),_0x298bce=_0x2ec1a7('bottom-right'),_0x47e39a=_0x2ec1a7('bottom-left');!function(_0x4f39a9){_0x4f39a9[_0x4f39a9['NONE']=0x0]='NONE',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53a3')]=0x1]=_0x1a4e('0x53a3');}(_0x5335b8||(_0x5335b8={}));var _0x1de931,_0x4fc927=function(_0x4f39a9){return{'name':_0x1a4e('0x539f')+_0x4f39a9+'-style','initialValue':_0x1a4e('0x429c'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5348')],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x60'):return _0x5335b8[_0x1a4e('0x24a')];}return _0x5335b8[_0x1a4e('0x53a3')];}};},_0x5e9294=_0x4fc927(_0x1a4e('0x5e')),_0x10c2a4=_0x4fc927('right'),_0x5aadb0=_0x4fc927(_0x1a4e('0x5c')),_0x4fa860=_0x4fc927('left'),_0x553d93=function(_0x4f39a9){return{'name':_0x1a4e('0x539f')+_0x4f39a9+_0x1a4e('0x53a4'),'initialValue':'0','type':_0xaf7cc8[_0x1a4e('0x5346')],'prefix':!0x1,'parse':function(_0x4f39a9){return _0x3a6236(_0x4f39a9)?_0x4f39a9[_0x1a4e('0x3d')]:0x0;}};},_0x26d28b=_0x553d93(_0x1a4e('0x5e')),_0x5f1692=_0x553d93('right'),_0x1aa593=_0x553d93(_0x1a4e('0x5c')),_0x296ad2=_0x553d93(_0x1a4e('0x5f')),_0x4ba52e={'name':_0x1a4e('0x134'),'initialValue':_0x1a4e('0x4203'),'prefix':!0x1,'type':_0xaf7cc8['TYPE_VALUE'],'format':_0x1a4e('0x134')},_0x4fdf52={'name':_0x1a4e('0x375d'),'initialValue':_0x1a4e('0x53a5'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0xd9')](_0x5c3185)['reduce'](function(_0x4f39a9,_0x40681f){return _0x4f39a9|_0x15ad83(_0x40681f[_0x1a4e('0x255')]);},0x0);}},_0x15ad83=function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x260c'):return 0x2;case _0x1a4e('0x53a6'):return 0x4;case _0x1a4e('0x53a7'):return 0x8;case _0x1a4e('0x1053'):return 0x10;case _0x1a4e('0x53a8'):return 0x20;case _0x1a4e('0x4e08'):return 0x40;case'flex':case _0x1a4e('0x53a9'):return 0x80;case _0x1a4e('0x11f'):case _0x1a4e('0x53aa'):return 0x100;case'ruby':return 0x200;case _0x1a4e('0x53ab'):return 0x400;case _0x1a4e('0x53ac'):return 0x800;case'table-row-group':return 0x1000;case _0x1a4e('0x53ad'):return 0x2000;case _0x1a4e('0x53ae'):return 0x4000;case'table-row':return 0x8000;case'table-cell':return 0x10000;case _0x1a4e('0x53af'):return 0x20000;case'table-column':return 0x40000;case'table-caption':return 0x80000;case'ruby-base':return 0x100000;case _0x1a4e('0x53b0'):return 0x200000;case _0x1a4e('0x53b1'):return 0x400000;case _0x1a4e('0x53b2'):return 0x800000;case _0x1a4e('0x53b3'):return 0x1000000;case _0x1a4e('0x53a5'):return 0x2000000;case _0x1a4e('0x53b4'):return 0x4000000;case _0x1a4e('0x53b5'):return 0x8000000;case'inline-flex':return 0x10000000;case _0x1a4e('0x53b6'):return 0x20000000;}return 0x0;};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x24a')]=0x0]=_0x1a4e('0x24a'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x3ea')]=0x1]=_0x1a4e('0x3ea'),_0x4f39a9[_0x4f39a9['RIGHT']=0x2]=_0x1a4e('0x318'),_0x4f39a9[_0x4f39a9['INLINE_START']=0x3]='INLINE_START',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53b7')]=0x4]=_0x1a4e('0x53b7');}(_0x1de931||(_0x1de931={}));var _0x5e55ff,_0x550c05={'name':_0x1a4e('0x53b8'),'initialValue':'none','prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5348')],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x5f'):return _0x1de931[_0x1a4e('0x3ea')];case _0x1a4e('0x5d'):return _0x1de931[_0x1a4e('0x318')];case _0x1a4e('0x53b9'):return _0x1de931[_0x1a4e('0x53ba')];case'inline-end':return _0x1de931['INLINE_END'];}return _0x1de931[_0x1a4e('0x24a')];}},_0x5091c0={'name':_0x1a4e('0x53bb'),'initialValue':'0','prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5346')],'parse':function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')]&&_0x1a4e('0x951')===_0x4f39a9[_0x1a4e('0x255')]?0x0:_0x4f39a9['type']===_0x683603[_0x1a4e('0x5304')]?_0x4f39a9['number']:_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5303')]?_0x4f39a9[_0x1a4e('0x3d')]:0x0;}};!function(_0x4f39a9){_0x4f39a9[_0x1a4e('0x3d82')]=_0x1a4e('0x951'),_0x4f39a9['STRICT']=_0x1a4e('0x1de');}(_0x5e55ff||(_0x5e55ff={}));var _0x168759,_0x26ab84={'name':_0x1a4e('0x53bc'),'initialValue':_0x1a4e('0x951'),'prefix':!0x1,'type':_0xaf7cc8['IDENT_VALUE'],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x1de'):return _0x5e55ff[_0x1a4e('0x53bd')];case'normal':default:return _0x5e55ff['NORMAL'];}}},_0x1a33ae={'name':_0x1a4e('0x53be'),'initialValue':_0x1a4e('0x951'),'prefix':!0x1,'type':_0xaf7cc8['TOKEN_VALUE']},_0x4d0099={'name':_0x1a4e('0x53bf'),'initialValue':_0x1a4e('0x60'),'type':_0xaf7cc8[_0x1a4e('0x5346')],'prefix':!0x1,'parse':function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')]&&'none'===_0x4f39a9[_0x1a4e('0x255')]?null:_0x477971(_0x4f39a9);}};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x434d')]=0x0]=_0x1a4e('0x434d'),_0x4f39a9[_0x4f39a9['OUTSIDE']=0x1]=_0x1a4e('0x53c0');}(_0x168759||(_0x168759={}));var _0x293000,_0x162fb8={'name':_0x1a4e('0x53c1'),'initialValue':_0x1a4e('0x53c2'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5348')],'parse':function(_0x4f39a9){switch(_0x4f39a9){case'inside':return _0x168759[_0x1a4e('0x434d')];case _0x1a4e('0x53c2'):default:return _0x168759[_0x1a4e('0x53c0')];}}};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9['NONE']=-0x1]='NONE',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53c3')]=0x0]=_0x1a4e('0x53c3'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x537f')]=0x1]=_0x1a4e('0x537f'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53c4')]=0x2]=_0x1a4e('0x53c4'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53c5')]=0x3]=_0x1a4e('0x53c5'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53c6')]=0x4]=_0x1a4e('0x53c6'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53c7')]=0x5]=_0x1a4e('0x53c7'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53c8')]=0x6]=_0x1a4e('0x53c8'),_0x4f39a9[_0x4f39a9['UPPER_ROMAN']=0x7]='UPPER_ROMAN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53c9')]=0x8]=_0x1a4e('0x53c9'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53ca')]=0x9]=_0x1a4e('0x53ca'),_0x4f39a9[_0x4f39a9['UPPER_ALPHA']=0xa]=_0x1a4e('0x53cb'),_0x4f39a9[_0x4f39a9['ARABIC_INDIC']=0xb]=_0x1a4e('0x53cc'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53cd')]=0xc]='ARMENIAN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53ce')]=0xd]=_0x1a4e('0x53ce'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53cf')]=0xe]='CAMBODIAN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53d0')]=0xf]='CJK_EARTHLY_BRANCH',_0x4f39a9[_0x4f39a9['CJK_HEAVENLY_STEM']=0x10]=_0x1a4e('0x53d1'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53d2')]=0x11]='CJK_IDEOGRAPHIC',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53d3')]=0x12]=_0x1a4e('0x53d3'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53d4')]=0x13]='ETHIOPIC_NUMERIC',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53d5')]=0x14]='GEORGIAN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53d6')]=0x15]=_0x1a4e('0x53d6'),_0x4f39a9[_0x4f39a9['GURMUKHI']=0x16]=_0x1a4e('0x53d7'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53d8')]=0x16]='HEBREW',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53d9')]=0x17]=_0x1a4e('0x53d9'),_0x4f39a9[_0x4f39a9['HIRAGANA_IROHA']=0x18]=_0x1a4e('0x53da'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53db')]=0x19]=_0x1a4e('0x53db'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53dc')]=0x1a]=_0x1a4e('0x53dc'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53dd')]=0x1b]=_0x1a4e('0x53dd'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53de')]=0x1c]=_0x1a4e('0x53de'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53df')]=0x1d]='KATAKANA_IROHA',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e0')]=0x1e]='KHMER',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e1')]=0x1f]='KOREAN_HANGUL_FORMAL',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e2')]=0x20]='KOREAN_HANJA_FORMAL',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e3')]=0x21]=_0x1a4e('0x53e3'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e4')]=0x22]=_0x1a4e('0x53e4'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e5')]=0x23]='LOWER_ARMENIAN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e6')]=0x24]=_0x1a4e('0x53e6'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e7')]=0x25]='MONGOLIAN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e8')]=0x26]='MYANMAR',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53e9')]=0x27]=_0x1a4e('0x53e9'),_0x4f39a9[_0x4f39a9['PERSIAN']=0x28]=_0x1a4e('0x53ea'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53eb')]=0x29]=_0x1a4e('0x53eb'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53ec')]=0x2a]='SIMP_CHINESE_INFORMAL',_0x4f39a9[_0x4f39a9['TAMIL']=0x2b]=_0x1a4e('0x53ed'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53ee')]=0x2c]=_0x1a4e('0x53ee'),_0x4f39a9[_0x4f39a9['THAI']=0x2d]=_0x1a4e('0x53ef'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53f0')]=0x2e]='TIBETAN',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53f1')]=0x2f]='TRAD_CHINESE_FORMAL',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53f2')]=0x30]='TRAD_CHINESE_INFORMAL',_0x4f39a9[_0x4f39a9[_0x1a4e('0x53f3')]=0x31]=_0x1a4e('0x53f3'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x53f4')]=0x32]=_0x1a4e('0x53f4'),_0x4f39a9[_0x4f39a9['DISCLOSURE_CLOSED']=0x33]=_0x1a4e('0x53f5');}(_0x293000||(_0x293000={}));var _0x51655a,_0x9745a0={'name':_0x1a4e('0x53f6'),'initialValue':_0x1a4e('0x60'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5348')],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x53f7'):return _0x293000[_0x1a4e('0x53c3')];case _0x1a4e('0x125'):return _0x293000[_0x1a4e('0x537f')];case'square':return _0x293000[_0x1a4e('0x53c4')];case _0x1a4e('0x53f8'):return _0x293000[_0x1a4e('0x53c5')];case _0x1a4e('0x53f9'):return _0x293000[_0x1a4e('0x53c6')];case _0x1a4e('0x53fa'):return _0x293000[_0x1a4e('0x53c7')];case _0x1a4e('0x53fb'):return _0x293000[_0x1a4e('0x53c8')];case _0x1a4e('0x53fc'):return _0x293000[_0x1a4e('0x53fd')];case _0x1a4e('0x53fe'):return _0x293000[_0x1a4e('0x53c9')];case _0x1a4e('0x53ff'):return _0x293000[_0x1a4e('0x53ca')];case'upper-alpha':return _0x293000[_0x1a4e('0x53cb')];case _0x1a4e('0x5400'):return _0x293000[_0x1a4e('0x53cc')];case _0x1a4e('0x5401'):return _0x293000[_0x1a4e('0x53cd')];case _0x1a4e('0x5402'):return _0x293000['BENGALI'];case'cambodian':return _0x293000[_0x1a4e('0x53cf')];case _0x1a4e('0x5403'):return _0x293000[_0x1a4e('0x53d0')];case _0x1a4e('0x5404'):return _0x293000[_0x1a4e('0x53d1')];case _0x1a4e('0x5405'):return _0x293000[_0x1a4e('0x53d2')];case'devanagari':return _0x293000['DEVANAGARI'];case _0x1a4e('0x5406'):return _0x293000[_0x1a4e('0x53d4')];case _0x1a4e('0x5407'):return _0x293000[_0x1a4e('0x53d5')];case'gujarati':return _0x293000[_0x1a4e('0x53d6')];case'gurmukhi':return _0x293000['GURMUKHI'];case'hebrew':return _0x293000[_0x1a4e('0x53d8')];case'hiragana':return _0x293000['HIRAGANA'];case _0x1a4e('0x5408'):return _0x293000[_0x1a4e('0x53da')];case _0x1a4e('0x5409'):return _0x293000[_0x1a4e('0x53db')];case'japanese-informal':return _0x293000[_0x1a4e('0x53dc')];case'kannada':return _0x293000[_0x1a4e('0x53dd')];case'katakana':return _0x293000[_0x1a4e('0x53de')];case'katakana-iroha':return _0x293000[_0x1a4e('0x53df')];case _0x1a4e('0x540a'):return _0x293000['KHMER'];case'korean-hangul-formal':return _0x293000[_0x1a4e('0x53e1')];case _0x1a4e('0x540b'):return _0x293000[_0x1a4e('0x53e2')];case _0x1a4e('0x540c'):return _0x293000[_0x1a4e('0x53e3')];case _0x1a4e('0x540d'):return _0x293000['LAO'];case'lower-armenian':return _0x293000['LOWER_ARMENIAN'];case _0x1a4e('0x540e'):return _0x293000[_0x1a4e('0x53e6')];case _0x1a4e('0x540f'):return _0x293000[_0x1a4e('0x53e7')];case _0x1a4e('0x5410'):return _0x293000[_0x1a4e('0x53e8')];case'oriya':return _0x293000['ORIYA'];case _0x1a4e('0x5411'):return _0x293000[_0x1a4e('0x53ea')];case _0x1a4e('0x5412'):return _0x293000[_0x1a4e('0x53eb')];case _0x1a4e('0x5413'):return _0x293000[_0x1a4e('0x53ec')];case _0x1a4e('0x5414'):return _0x293000['TAMIL'];case _0x1a4e('0x5415'):return _0x293000[_0x1a4e('0x53ee')];case'thai':return _0x293000['THAI'];case'tibetan':return _0x293000[_0x1a4e('0x53f0')];case'trad-chinese-formal':return _0x293000[_0x1a4e('0x53f1')];case _0x1a4e('0x5416'):return _0x293000[_0x1a4e('0x53f2')];case _0x1a4e('0x5417'):return _0x293000['UPPER_ARMENIAN'];case _0x1a4e('0x5418'):return _0x293000[_0x1a4e('0x53f4')];case _0x1a4e('0x5419'):return _0x293000[_0x1a4e('0x53f5')];case _0x1a4e('0x60'):default:return _0x293000[_0x1a4e('0x24a')];}}},_0x4752a6=function(_0x4f39a9){return{'name':_0x1a4e('0x541a')+_0x4f39a9,'initialValue':'0','prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x534a')]};},_0x30b29b=_0x4752a6(_0x1a4e('0x5e')),_0x246d6e=_0x4752a6(_0x1a4e('0x5d')),_0x3b21be=_0x4752a6(_0x1a4e('0x5c')),_0x4d09ba=_0x4752a6('left');!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x541b')]=0x0]=_0x1a4e('0x541b'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x541c')]=0x1]=_0x1a4e('0x541c'),_0x4f39a9[_0x4f39a9['SCROLL']=0x2]=_0x1a4e('0x541d'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x539b')]=0x3]=_0x1a4e('0x539b');}(_0x51655a||(_0x51655a={}));var _0x1f5f43,_0x354c0b={'name':'overflow','initialValue':_0x1a4e('0x3b2c'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){return _0x4f39a9['filter'](_0x5c3185)['map'](function(_0x4f39a9){switch(_0x4f39a9[_0x1a4e('0x255')]){case _0x1a4e('0x4698'):return _0x51655a[_0x1a4e('0x541c')];case _0x1a4e('0x351'):return _0x51655a['SCROLL'];case _0x1a4e('0x1622'):return _0x51655a[_0x1a4e('0x539b')];case'visible':default:return _0x51655a['VISIBLE'];}});}};!function(_0x4f39a9){_0x4f39a9[_0x1a4e('0x3d82')]='normal',_0x4f39a9[_0x1a4e('0x541e')]=_0x1a4e('0x52f1');}(_0x1f5f43||(_0x1f5f43={}));var _0x1b0d94,_0x55f618={'name':_0x1a4e('0x541f'),'initialValue':_0x1a4e('0x951'),'prefix':!0x1,'type':_0xaf7cc8['IDENT_VALUE'],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x52f1'):return _0x1f5f43[_0x1a4e('0x541e')];case _0x1a4e('0x951'):default:return _0x1f5f43[_0x1a4e('0x3d82')];}}},_0x45fa54=function(_0x4f39a9){return{'name':_0x1a4e('0x5420')+_0x4f39a9,'initialValue':'0','prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5349')],'format':_0x1a4e('0x5421')};},_0x4a0722=_0x45fa54(_0x1a4e('0x5e')),_0x5ae48b=_0x45fa54(_0x1a4e('0x5d')),_0x20ba1a=_0x45fa54(_0x1a4e('0x5c')),_0xe6bea4=_0x45fa54(_0x1a4e('0x5f'));!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x3ea')]=0x0]=_0x1a4e('0x3ea'),_0x4f39a9[_0x4f39a9['CENTER']=0x1]=_0x1a4e('0x445d'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x318')]=0x2]='RIGHT';}(_0x1b0d94||(_0x1b0d94={}));var _0x56c8b0,_0x2a127c={'name':_0x1a4e('0x5422'),'initialValue':_0x1a4e('0x5f'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5348')],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x5d'):return _0x1b0d94[_0x1a4e('0x318')];case'center':case _0x1a4e('0x5423'):return _0x1b0d94[_0x1a4e('0x445d')];case _0x1a4e('0x5f'):default:return _0x1b0d94[_0x1a4e('0x3ea')];}}};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x5424')]=0x0]='STATIC',_0x4f39a9[_0x4f39a9[_0x1a4e('0x5425')]=0x1]=_0x1a4e('0x5425'),_0x4f39a9[_0x4f39a9['ABSOLUTE']=0x2]=_0x1a4e('0x5426'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x3c6')]=0x3]=_0x1a4e('0x3c6'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5427')]=0x4]=_0x1a4e('0x5427');}(_0x56c8b0||(_0x56c8b0={}));var _0x493d43,_0x495fd9={'name':_0x1a4e('0x3553'),'initialValue':_0x1a4e('0x22ab'),'prefix':!0x1,'type':_0xaf7cc8['IDENT_VALUE'],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x1143'):return _0x56c8b0[_0x1a4e('0x5425')];case _0x1a4e('0x3b1b'):return _0x56c8b0['ABSOLUTE'];case _0x1a4e('0x5428'):return _0x56c8b0[_0x1a4e('0x3c6')];case _0x1a4e('0x5429'):return _0x56c8b0['STICKY'];}return _0x56c8b0[_0x1a4e('0x5424')];}},_0x3b3386={'name':_0x1a4e('0x542a'),'initialValue':_0x1a4e('0x60'),'type':_0xaf7cc8['LIST'],'prefix':!0x1,'parse':function(_0x4f39a9){return 0x1===_0x4f39a9[_0x1a4e('0x1e')]&&_0x109e82(_0x4f39a9[0x0],'none')?[]:_0x1a0238(_0x4f39a9)[_0x1a4e('0x21')](function(_0x4f39a9){for(var _0x40681f={'color':_0x197646['TRANSPARENT'],'offsetX':_0x1c4eaf,'offsetY':_0x1c4eaf,'blur':_0x1c4eaf},_0x44caca=0x0,_0x2a04f1=0x0;_0x2a04f1<_0x4f39a9['length'];_0x2a04f1++){var _0x8fab41=_0x4f39a9[_0x2a04f1];_0x4af34c(_0x8fab41)?(0x0===_0x44caca?_0x40681f[_0x1a4e('0x542b')]=_0x8fab41:0x1===_0x44caca?_0x40681f[_0x1a4e('0x542c')]=_0x8fab41:_0x40681f[_0x1a4e('0x3822')]=_0x8fab41,_0x44caca++):_0x40681f[_0x1a4e('0x134')]=_0x43bd26(_0x8fab41);}return _0x40681f;});}};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x24a')]=0x0]='NONE',_0x4f39a9[_0x4f39a9[_0x1a4e('0x542d')]=0x1]=_0x1a4e('0x542d'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x542e')]=0x2]=_0x1a4e('0x542e'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x542f')]=0x3]='CAPITALIZE';}(_0x493d43||(_0x493d43={}));var _0xeff902,_0x25bc33={'name':'text-transform','initialValue':_0x1a4e('0x60'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5348')],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x5430'):return _0x493d43[_0x1a4e('0x542e')];case _0x1a4e('0x5431'):return _0x493d43[_0x1a4e('0x542d')];case _0x1a4e('0x1093'):return _0x493d43[_0x1a4e('0x542f')];}return _0x493d43[_0x1a4e('0x24a')];}},_0x48d9ec={'name':_0x1a4e('0x93'),'initialValue':'none','prefix':!0x0,'type':_0xaf7cc8[_0x1a4e('0x5346')],'parse':function(_0x4f39a9){if(_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')]&&_0x1a4e('0x60')===_0x4f39a9[_0x1a4e('0x255')])return null;if(_0x4f39a9['type']===_0x683603[_0x1a4e('0x5305')]){var _0x40681f=_0x3b2cce[_0x4f39a9[_0x1a4e('0x2cb')]];if(void 0x0===_0x40681f)throw new Error('Attempting\x20to\x20parse\x20an\x20unsupported\x20transform\x20function\x20\x22'+_0x4f39a9['name']+'\x22');return _0x40681f(_0x4f39a9[_0x1a4e('0x35b')]);}return null;}},_0x3b2cce={'matrix':function(_0x4f39a9){var _0x40681f=_0x4f39a9['filter'](function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5304')];})[_0x1a4e('0x21')](function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x3d')];});return 0x6===_0x40681f['length']?_0x40681f:null;},'matrix3d':function(_0x4f39a9){var _0x40681f=_0x4f39a9['filter'](function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603['NUMBER_TOKEN'];})[_0x1a4e('0x21')](function(_0x4f39a9){return _0x4f39a9['number'];}),_0x44caca=_0x40681f[0x0],_0x2a04f1=_0x40681f[0x1],_0x8fab41=(_0x40681f[0x2],_0x40681f[0x3],_0x40681f[0x4]),_0x13e4bb=_0x40681f[0x5],_0x15ca8d=(_0x40681f[0x6],_0x40681f[0x7],_0x40681f[0x8],_0x40681f[0x9],_0x40681f[0xa],_0x40681f[0xb],_0x40681f[0xc]),_0x206a52=_0x40681f[0xd];_0x40681f[0xe],_0x40681f[0xf];return 0x10===_0x40681f['length']?[_0x44caca,_0x2a04f1,_0x8fab41,_0x13e4bb,_0x15ca8d,_0x206a52]:null;}},_0x33581c={'type':_0x683603[_0x1a4e('0x5323')],'number':0x32,'flags':0x4},_0x944f76=[_0x33581c,_0x33581c],_0x5b9997={'name':_0x1a4e('0x5432'),'initialValue':_0x1a4e('0x5433'),'prefix':!0x0,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0xd9')](_0x3504a5);return 0x2!==_0x40681f['length']?_0x944f76:[_0x40681f[0x0],_0x40681f[0x1]];}};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9['VISIBLE']=0x0]=_0x1a4e('0x541b'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x541c')]=0x1]=_0x1a4e('0x541c'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x5434')]=0x2]=_0x1a4e('0x5434');}(_0xeff902||(_0xeff902={}));var _0x4ad96a,_0x1b6fa0={'name':_0x1a4e('0x3b2c'),'initialValue':_0x1a4e('0x60'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5348')],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x4698'):return _0xeff902[_0x1a4e('0x541c')];case _0x1a4e('0x5435'):return _0xeff902[_0x1a4e('0x5434')];case'visible':default:return _0xeff902[_0x1a4e('0x541b')];}}};!function(_0x4f39a9){_0x4f39a9[_0x1a4e('0x3d82')]='normal',_0x4f39a9[_0x1a4e('0x5436')]='break-all',_0x4f39a9['KEEP_ALL']=_0x1a4e('0x52f2');}(_0x4ad96a||(_0x4ad96a={}));var _0x3102e4,_0x43534a={'name':'word-break','initialValue':_0x1a4e('0x951'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5348')],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x52ef'):return _0x4ad96a[_0x1a4e('0x5436')];case _0x1a4e('0x52f2'):return _0x4ad96a[_0x1a4e('0x5437')];case _0x1a4e('0x951'):default:return _0x4ad96a['NORMAL'];}}},_0x987c12={'name':_0x1a4e('0x5438'),'initialValue':_0x1a4e('0x1622'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5346')],'parse':function(_0x4f39a9){if(_0x4f39a9['type']===_0x683603[_0x1a4e('0x5307')])return{'auto':!0x0,'order':0x0};if(_0x45bdb0(_0x4f39a9))return{'auto':!0x1,'order':_0x4f39a9['number']};throw new Error('Invalid\x20z-index\x20number\x20parsed');}},_0x39e13b={'name':_0x1a4e('0x47bd'),'initialValue':'1','type':_0xaf7cc8[_0x1a4e('0x5346')],'prefix':!0x1,'parse':function(_0x4f39a9){return _0x45bdb0(_0x4f39a9)?_0x4f39a9[_0x1a4e('0x3d')]:0x1;}},_0x58527f={'name':_0x1a4e('0x5439'),'initialValue':_0x1a4e('0x4203'),'prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5349')],'format':_0x1a4e('0x134')},_0x191fe0={'name':'text-decoration-line','initialValue':_0x1a4e('0x60'),'prefix':!0x1,'type':_0xaf7cc8['LIST'],'parse':function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0xd9')](_0x5c3185)['map'](function(_0x4f39a9){switch(_0x4f39a9[_0x1a4e('0x255')]){case _0x1a4e('0x5170'):return 0x1;case _0x1a4e('0x543a'):return 0x2;case _0x1a4e('0x543b'):return 0x3;case'none':return 0x4;}return 0x0;})[_0x1a4e('0xd9')](function(_0x4f39a9){return 0x0!==_0x4f39a9;});}},_0x3276b9={'name':_0x1a4e('0x543c'),'initialValue':'','prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0xd9')](_0x13e926)[_0x1a4e('0x21')](function(_0x4f39a9){return _0x4f39a9['value'];});}},_0x13e926=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x683603['STRING_TOKEN']||_0x4f39a9[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')];},_0x78faea={'name':_0x1a4e('0x543d'),'initialValue':'0','prefix':!0x1,'type':_0xaf7cc8['TYPE_VALUE'],'format':'length'},_0x2ee8aa={'name':'font-weight','initialValue':'normal','type':_0xaf7cc8[_0x1a4e('0x5346')],'prefix':!0x1,'parse':function(_0x4f39a9){if(_0x45bdb0(_0x4f39a9))return _0x4f39a9[_0x1a4e('0x3d')];if(_0x5c3185(_0x4f39a9))switch(_0x4f39a9[_0x1a4e('0x255')]){case'bold':return 0x2bc;case _0x1a4e('0x951'):default:return 0x190;}return 0x190;}},_0x2c3227={'name':_0x1a4e('0x543e'),'initialValue':_0x1a4e('0x60'),'type':_0xaf7cc8[_0x1a4e('0x5347')],'prefix':!0x1,'parse':function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0xd9')](_0x5c3185)[_0x1a4e('0x21')](function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x255')];});}};!function(_0x4f39a9){_0x4f39a9['NORMAL']=_0x1a4e('0x951'),_0x4f39a9[_0x1a4e('0x543f')]=_0x1a4e('0x5440'),_0x4f39a9[_0x1a4e('0x5441')]=_0x1a4e('0x5442');}(_0x3102e4||(_0x3102e4={}));var _0x4b2a9a,_0x4ec81d={'name':'font-style','initialValue':'normal','prefix':!0x1,'type':_0xaf7cc8[_0x1a4e('0x5348')],'parse':function(_0x4f39a9){switch(_0x4f39a9){case _0x1a4e('0x5442'):return _0x3102e4['OBLIQUE'];case _0x1a4e('0x5440'):return _0x3102e4[_0x1a4e('0x543f')];case _0x1a4e('0x951'):default:return _0x3102e4[_0x1a4e('0x3d82')];}}},_0x27c6c7=function(_0x4f39a9,_0x40681f){return 0x0!=(_0x4f39a9&_0x40681f);},_0x395682={'name':_0x1a4e('0x120'),'initialValue':_0x1a4e('0x60'),'type':_0xaf7cc8[_0x1a4e('0x5347')],'prefix':!0x1,'parse':function(_0x4f39a9){if(0x0===_0x4f39a9[_0x1a4e('0x1e')])return[];var _0x40681f=_0x4f39a9[0x0];return _0x40681f[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')]&&_0x1a4e('0x60')===_0x40681f[_0x1a4e('0x255')]?[]:_0x4f39a9;}},_0x1a2f58={'name':_0x1a4e('0x5443'),'initialValue':_0x1a4e('0x60'),'prefix':!0x0,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){if(0x0===_0x4f39a9[_0x1a4e('0x1e')])return null;var _0x40681f=_0x4f39a9[0x0];if(_0x40681f[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x5307')]&&_0x1a4e('0x60')===_0x40681f['value'])return null;for(var _0x44caca=[],_0x2a04f1=_0x4f39a9[_0x1a4e('0xd9')](_0xb8142d),_0x8fab41=0x0;_0x8fab41<_0x2a04f1['length'];_0x8fab41++){var _0x13e4bb=_0x2a04f1[_0x8fab41],_0x15ca8d=_0x2a04f1[_0x8fab41+0x1];if(_0x13e4bb[_0x1a4e('0x40')]===_0x683603['IDENT_TOKEN']){var _0x206a52=_0x15ca8d&&_0x45bdb0(_0x15ca8d)?_0x15ca8d[_0x1a4e('0x3d')]:0x1;_0x44caca[_0x1a4e('0x46')]({'counter':_0x13e4bb[_0x1a4e('0x255')],'increment':_0x206a52});}}return _0x44caca;}},_0x213b27={'name':_0x1a4e('0x5444'),'initialValue':'none','prefix':!0x0,'type':_0xaf7cc8['LIST'],'parse':function(_0x4f39a9){if(0x0===_0x4f39a9[_0x1a4e('0x1e')])return[];for(var _0x40681f=[],_0x44caca=_0x4f39a9[_0x1a4e('0xd9')](_0xb8142d),_0x2a04f1=0x0;_0x2a04f1<_0x44caca[_0x1a4e('0x1e')];_0x2a04f1++){var _0x8fab41=_0x44caca[_0x2a04f1],_0x13e4bb=_0x44caca[_0x2a04f1+0x1];if(_0x5c3185(_0x8fab41)&&_0x1a4e('0x60')!==_0x8fab41[_0x1a4e('0x255')]){var _0x15ca8d=_0x13e4bb&&_0x45bdb0(_0x13e4bb)?_0x13e4bb['number']:0x0;_0x40681f[_0x1a4e('0x46')]({'counter':_0x8fab41['value'],'reset':_0x15ca8d});}}return _0x40681f;}},_0x1d063b={'name':_0x1a4e('0x5445'),'initialValue':_0x1a4e('0x60'),'prefix':!0x0,'type':_0xaf7cc8[_0x1a4e('0x5347')],'parse':function(_0x4f39a9){if(0x0===_0x4f39a9['length'])return null;var _0x40681f=_0x4f39a9[0x0];if(_0x40681f['type']===_0x683603[_0x1a4e('0x5307')]&&_0x1a4e('0x60')===_0x40681f['value'])return null;var _0x44caca=[],_0x2a04f1=_0x4f39a9[_0x1a4e('0xd9')](_0x7940c0);if(_0x2a04f1[_0x1a4e('0x1e')]%0x2!=0x0)return null;for(var _0x8fab41=0x0;_0x8fab41<_0x2a04f1[_0x1a4e('0x1e')];_0x8fab41+=0x2){var _0x13e4bb=_0x2a04f1[_0x8fab41]['value'],_0x15ca8d=_0x2a04f1[_0x8fab41+0x1][_0x1a4e('0x255')];_0x44caca['push']({'open':_0x13e4bb,'close':_0x15ca8d});}return _0x44caca;}},_0x4f3627=function(_0x4f39a9,_0x40681f,_0x44caca){if(!_0x4f39a9)return'';var _0x2a04f1=_0x4f39a9[Math['min'](_0x40681f,_0x4f39a9[_0x1a4e('0x1e')]-0x1)];return _0x2a04f1?_0x44caca?_0x2a04f1['open']:_0x2a04f1[_0x1a4e('0x139b')]:'';},_0x24676c={'name':_0x1a4e('0x5446'),'initialValue':_0x1a4e('0x60'),'type':_0xaf7cc8[_0x1a4e('0x5347')],'prefix':!0x1,'parse':function(_0x4f39a9){return 0x1===_0x4f39a9[_0x1a4e('0x1e')]&&_0x109e82(_0x4f39a9[0x0],_0x1a4e('0x60'))?[]:_0x1a0238(_0x4f39a9)[_0x1a4e('0x21')](function(_0x4f39a9){for(var _0x40681f={'color':0xff,'offsetX':_0x1c4eaf,'offsetY':_0x1c4eaf,'blur':_0x1c4eaf,'spread':_0x1c4eaf,'inset':!0x1},_0x44caca=0x0,_0x2a04f1=0x0;_0x2a04f1<_0x4f39a9[_0x1a4e('0x1e')];_0x2a04f1++){var _0x8fab41=_0x4f39a9[_0x2a04f1];_0x109e82(_0x8fab41,_0x1a4e('0x5447'))?_0x40681f[_0x1a4e('0x5447')]=!0x0:_0x4af34c(_0x8fab41)?(0x0===_0x44caca?_0x40681f['offsetX']=_0x8fab41:0x1===_0x44caca?_0x40681f[_0x1a4e('0x542c')]=_0x8fab41:0x2===_0x44caca?_0x40681f[_0x1a4e('0x3822')]=_0x8fab41:_0x40681f[_0x1a4e('0x107e')]=_0x8fab41,_0x44caca++):_0x40681f[_0x1a4e('0x134')]=_0x43bd26(_0x8fab41);}return _0x40681f;});}},_0x1136d2=function(){function _0x4f39a9(_0x4f39a9){this[_0x1a4e('0x5448')]=_0x1dd9c8(_0xcfdb55,_0x4f39a9[_0x1a4e('0x5448')]),this[_0x1a4e('0x3ef1')]=_0x1dd9c8(_0x3e7af5,_0x4f39a9[_0x1a4e('0x3ef1')]),this[_0x1a4e('0x4513')]=_0x1dd9c8(_0x1dd351,_0x4f39a9[_0x1a4e('0x4513')]),this['backgroundOrigin']=_0x1dd9c8(_0x50dada,_0x4f39a9[_0x1a4e('0x5449')]),this[_0x1a4e('0x4516')]=_0x1dd9c8(_0x2d4a47,_0x4f39a9[_0x1a4e('0x4516')]),this[_0x1a4e('0x4518')]=_0x1dd9c8(_0x326b6e,_0x4f39a9[_0x1a4e('0x4518')]),this[_0x1a4e('0x4515')]=_0x1dd9c8(_0x173b05,_0x4f39a9['backgroundSize']),this[_0x1a4e('0x544a')]=_0x1dd9c8(_0x1bba14,_0x4f39a9[_0x1a4e('0x544a')]),this['borderRightColor']=_0x1dd9c8(_0x1d0aea,_0x4f39a9['borderRightColor']),this[_0x1a4e('0x544b')]=_0x1dd9c8(_0x42b7bf,_0x4f39a9[_0x1a4e('0x544b')]),this[_0x1a4e('0x544c')]=_0x1dd9c8(_0x289a70,_0x4f39a9[_0x1a4e('0x544c')]),this[_0x1a4e('0x544d')]=_0x1dd9c8(_0x260eab,_0x4f39a9['borderTopLeftRadius']),this['borderTopRightRadius']=_0x1dd9c8(_0x397669,_0x4f39a9['borderTopRightRadius']),this[_0x1a4e('0x544e')]=_0x1dd9c8(_0x298bce,_0x4f39a9[_0x1a4e('0x544e')]),this[_0x1a4e('0x544f')]=_0x1dd9c8(_0x47e39a,_0x4f39a9[_0x1a4e('0x544f')]),this[_0x1a4e('0x5450')]=_0x1dd9c8(_0x5e9294,_0x4f39a9[_0x1a4e('0x5450')]),this['borderRightStyle']=_0x1dd9c8(_0x10c2a4,_0x4f39a9[_0x1a4e('0x5451')]),this['borderBottomStyle']=_0x1dd9c8(_0x5aadb0,_0x4f39a9[_0x1a4e('0x5452')]),this['borderLeftStyle']=_0x1dd9c8(_0x4fa860,_0x4f39a9[_0x1a4e('0x5453')]),this[_0x1a4e('0x5454')]=_0x1dd9c8(_0x26d28b,_0x4f39a9['borderTopWidth']),this[_0x1a4e('0x5455')]=_0x1dd9c8(_0x5f1692,_0x4f39a9[_0x1a4e('0x5455')]),this[_0x1a4e('0x5456')]=_0x1dd9c8(_0x1aa593,_0x4f39a9['borderBottomWidth']),this[_0x1a4e('0x5457')]=_0x1dd9c8(_0x296ad2,_0x4f39a9['borderLeftWidth']),this['boxShadow']=_0x1dd9c8(_0x24676c,_0x4f39a9[_0x1a4e('0x5458')]),this[_0x1a4e('0x134')]=_0x1dd9c8(_0x4ba52e,_0x4f39a9['color']),this[_0x1a4e('0x375d')]=_0x1dd9c8(_0x4fdf52,_0x4f39a9[_0x1a4e('0x375d')]),this[_0x1a4e('0x53b8')]=_0x1dd9c8(_0x550c05,_0x4f39a9[_0x1a4e('0x5459')]),this[_0x1a4e('0x4290')]=_0x1dd9c8(_0x3276b9,_0x4f39a9[_0x1a4e('0x4290')]),this['fontSize']=_0x1dd9c8(_0x78faea,_0x4f39a9['fontSize']),this[_0x1a4e('0x545a')]=_0x1dd9c8(_0x4ec81d,_0x4f39a9[_0x1a4e('0x545a')]),this['fontVariant']=_0x1dd9c8(_0x2c3227,_0x4f39a9[_0x1a4e('0x545b')]),this['fontWeight']=_0x1dd9c8(_0x2ee8aa,_0x4f39a9['fontWeight']),this[_0x1a4e('0x545c')]=_0x1dd9c8(_0x5091c0,_0x4f39a9[_0x1a4e('0x545c')]),this[_0x1a4e('0x315d')]=_0x1dd9c8(_0x26ab84,_0x4f39a9['lineBreak']),this[_0x1a4e('0x4208')]=_0x1dd9c8(_0x1a33ae,_0x4f39a9[_0x1a4e('0x4208')]),this[_0x1a4e('0x545d')]=_0x1dd9c8(_0x4d0099,_0x4f39a9['listStyleImage']),this[_0x1a4e('0x545e')]=_0x1dd9c8(_0x162fb8,_0x4f39a9[_0x1a4e('0x545e')]),this['listStyleType']=_0x1dd9c8(_0x9745a0,_0x4f39a9['listStyleType']),this['marginTop']=_0x1dd9c8(_0x30b29b,_0x4f39a9[_0x1a4e('0x545f')]),this[_0x1a4e('0x5460')]=_0x1dd9c8(_0x246d6e,_0x4f39a9['marginRight']),this[_0x1a4e('0x5461')]=_0x1dd9c8(_0x3b21be,_0x4f39a9['marginBottom']),this[_0x1a4e('0x5462')]=_0x1dd9c8(_0x4d09ba,_0x4f39a9[_0x1a4e('0x5462')]),this[_0x1a4e('0x47bd')]=_0x1dd9c8(_0x39e13b,_0x4f39a9[_0x1a4e('0x47bd')]);var _0x40681f=_0x1dd9c8(_0x354c0b,_0x4f39a9[_0x1a4e('0x4697')]);this[_0x1a4e('0x5463')]=_0x40681f[0x0],this[_0x1a4e('0x5464')]=_0x40681f[_0x40681f[_0x1a4e('0x1e')]>0x1?0x1:0x0],this[_0x1a4e('0x5465')]=_0x1dd9c8(_0x55f618,_0x4f39a9[_0x1a4e('0x5465')]),this['paddingTop']=_0x1dd9c8(_0x4a0722,_0x4f39a9['paddingTop']),this['paddingRight']=_0x1dd9c8(_0x5ae48b,_0x4f39a9[_0x1a4e('0x4298')]),this[_0x1a4e('0x429a')]=_0x1dd9c8(_0x20ba1a,_0x4f39a9[_0x1a4e('0x429a')]),this[_0x1a4e('0x4297')]=_0x1dd9c8(_0xe6bea4,_0x4f39a9[_0x1a4e('0x4297')]),this[_0x1a4e('0x3553')]=_0x1dd9c8(_0x495fd9,_0x4f39a9[_0x1a4e('0x3553')]),this[_0x1a4e('0x426c')]=_0x1dd9c8(_0x2a127c,_0x4f39a9[_0x1a4e('0x426c')]),this[_0x1a4e('0x5466')]=_0x1dd9c8(_0x58527f,_0x4f39a9['textDecorationColor']||_0x4f39a9[_0x1a4e('0x134')]),this['textDecorationLine']=_0x1dd9c8(_0x191fe0,_0x4f39a9[_0x1a4e('0x5467')]),this[_0x1a4e('0x5468')]=_0x1dd9c8(_0x3b3386,_0x4f39a9['textShadow']),this[_0x1a4e('0x5469')]=_0x1dd9c8(_0x25bc33,_0x4f39a9[_0x1a4e('0x5469')]),this[_0x1a4e('0x93')]=_0x1dd9c8(_0x48d9ec,_0x4f39a9[_0x1a4e('0x93')]),this['transformOrigin']=_0x1dd9c8(_0x5b9997,_0x4f39a9[_0x1a4e('0x546a')]),this[_0x1a4e('0x546b')]=_0x1dd9c8(_0x1b6fa0,_0x4f39a9[_0x1a4e('0x546b')]),this['wordBreak']=_0x1dd9c8(_0x43534a,_0x4f39a9[_0x1a4e('0x52f0')]),this[_0x1a4e('0x3eeb')]=_0x1dd9c8(_0x987c12,_0x4f39a9[_0x1a4e('0x3eeb')]);}return _0x4f39a9['prototype'][_0x1a4e('0x298b')]=function(){return this[_0x1a4e('0x375d')]>0x0&&this[_0x1a4e('0x47bd')]>0x0&&this[_0x1a4e('0x546b')]===_0xeff902[_0x1a4e('0x541b')];},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x546c')]=function(){return _0xa29797(this[_0x1a4e('0x3ef1')]);},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x546d')]=function(){return null!==this[_0x1a4e('0x93')];},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x546e')]=function(){return this['position']!==_0x56c8b0['STATIC'];},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x546f')]=function(){return this[_0x1a4e('0x546e')]()&&!this[_0x1a4e('0x3eeb')][_0x1a4e('0x1622')];},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x3ca')]=function(){return this['float']!==_0x1de931[_0x1a4e('0x24a')];},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5470')]=function(){return _0x27c6c7(this[_0x1a4e('0x375d')],0x4)||_0x27c6c7(this['display'],0x2000000)||_0x27c6c7(this[_0x1a4e('0x375d')],0x10000000)||_0x27c6c7(this[_0x1a4e('0x375d')],0x20000000)||_0x27c6c7(this[_0x1a4e('0x375d')],0x4000000)||_0x27c6c7(this[_0x1a4e('0x375d')],0x8000000);},_0x4f39a9;}(),_0x1fd51c=function(_0x4f39a9){this['content']=_0x1dd9c8(_0x395682,_0x4f39a9[_0x1a4e('0x120')]),this[_0x1a4e('0x5445')]=_0x1dd9c8(_0x1d063b,_0x4f39a9[_0x1a4e('0x5445')]);},_0x885195=function(_0x4f39a9){this[_0x1a4e('0x5471')]=_0x1dd9c8(_0x1a2f58,_0x4f39a9[_0x1a4e('0x5471')]),this['counterReset']=_0x1dd9c8(_0x213b27,_0x4f39a9['counterReset']);},_0x1dd9c8=function(_0x4f39a9,_0x40681f){var _0x44caca=new _0x2db0e5(),_0x2a04f1=null!=_0x40681f?_0x40681f[_0x1a4e('0x95')]():_0x4f39a9[_0x1a4e('0x3d64')];_0x44caca['write'](_0x2a04f1);var _0x8fab41=new _0x5f4ad8(_0x44caca[_0x1a4e('0x144')]());switch(_0x4f39a9[_0x1a4e('0x40')]){case _0xaf7cc8[_0x1a4e('0x5348')]:var _0x13e4bb=_0x8fab41[_0x1a4e('0x5326')]();return _0x4f39a9['parse'](_0x5c3185(_0x13e4bb)?_0x13e4bb[_0x1a4e('0x255')]:_0x4f39a9[_0x1a4e('0x3d64')]);case _0xaf7cc8['VALUE']:return _0x4f39a9[_0x1a4e('0x25a')](_0x8fab41['parseComponentValue']());case _0xaf7cc8['LIST']:return _0x4f39a9[_0x1a4e('0x25a')](_0x8fab41[_0x1a4e('0x5328')]());case _0xaf7cc8[_0x1a4e('0x534a')]:return _0x8fab41[_0x1a4e('0x5326')]();case _0xaf7cc8[_0x1a4e('0x5349')]:switch(_0x4f39a9[_0x1a4e('0x390')]){case _0x1a4e('0x502'):return _0x14c020(_0x8fab41[_0x1a4e('0x5326')]());case'color':return _0x43bd26(_0x8fab41[_0x1a4e('0x5326')]());case _0x1a4e('0x3cb4'):return _0x477971(_0x8fab41[_0x1a4e('0x5326')]());case _0x1a4e('0x1e'):var _0x15ca8d=_0x8fab41[_0x1a4e('0x5326')]();return _0x4af34c(_0x15ca8d)?_0x15ca8d:_0x1c4eaf;case _0x1a4e('0x5421'):var _0x206a52=_0x8fab41[_0x1a4e('0x5326')]();return _0x3504a5(_0x206a52)?_0x206a52:_0x1c4eaf;}}throw new Error(_0x1a4e('0x5472')+_0x4f39a9[_0x1a4e('0x390')]);},_0xb592e3=function(_0x4f39a9){this[_0x1a4e('0xe1d')]=new _0x1136d2(window['getComputedStyle'](_0x4f39a9,null)),this['textNodes']=[],this[_0x1a4e('0x2398')]=[],null!==this[_0x1a4e('0xe1d')]['transform']&&_0x3b1e7e(_0x4f39a9)&&(_0x4f39a9['style']['transform']='none'),this['bounds']=_0x15ca8d(_0x4f39a9),this[_0x1a4e('0x7b2')]=0x0;},_0x47940f=function(_0x4f39a9,_0x40681f){this[_0x1a4e('0xe04')]=_0x4f39a9,this[_0x1a4e('0x47e0')]=_0x40681f;},_0x1d7d0b=function(_0x4f39a9,_0x40681f,_0x44caca){var _0x2a04f1=_0xfdc7cc(_0x4f39a9,_0x40681f),_0x8fab41=[],_0x13e4bb=0x0;return _0x2a04f1['forEach'](function(_0x4f39a9){if(_0x40681f[_0x1a4e('0x5467')][_0x1a4e('0x1e')]||_0x4f39a9[_0x1a4e('0x2bd')]()[_0x1a4e('0x1e')]>0x0)if(_0x529cc7[_0x1a4e('0x5359')])_0x8fab41['push'](new _0x47940f(_0x4f39a9,_0x30db1f(_0x44caca,_0x13e4bb,_0x4f39a9[_0x1a4e('0x1e')])));else{var _0x2a04f1=_0x44caca[_0x1a4e('0x5473')](_0x4f39a9['length']);_0x8fab41[_0x1a4e('0x46')](new _0x47940f(_0x4f39a9,_0xacdb54(_0x44caca))),_0x44caca=_0x2a04f1;}else _0x529cc7['SUPPORT_RANGE_BOUNDS']||(_0x44caca=_0x44caca[_0x1a4e('0x5473')](_0x4f39a9['length']));_0x13e4bb+=_0x4f39a9[_0x1a4e('0x1e')];}),_0x8fab41;},_0xacdb54=function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0x5474')];if(_0x40681f){var _0x44caca=_0x40681f['createElement'](_0x1a4e('0x5475'));_0x44caca[_0x1a4e('0x12c4')](_0x4f39a9[_0x1a4e('0x517c')](!0x0));var _0x2a04f1=_0x4f39a9[_0x1a4e('0x4372')];if(_0x2a04f1){_0x2a04f1[_0x1a4e('0x5476')](_0x44caca,_0x4f39a9);var _0x8fab41=_0x15ca8d(_0x44caca);return _0x44caca[_0x1a4e('0x12bb')]&&_0x2a04f1[_0x1a4e('0x5476')](_0x44caca[_0x1a4e('0x12bb')],_0x44caca),_0x8fab41;}}return new _0x13e4bb(0x0,0x0,0x0,0x0);},_0x30db1f=function(_0x4f39a9,_0x40681f,_0x44caca){var _0x2a04f1=_0x4f39a9['ownerDocument'];if(!_0x2a04f1)throw new Error(_0x1a4e('0x5477'));var _0x8fab41=_0x2a04f1[_0x1a4e('0x247d')]();return _0x8fab41[_0x1a4e('0x5478')](_0x4f39a9,_0x40681f),_0x8fab41['setEnd'](_0x4f39a9,_0x40681f+_0x44caca),_0x13e4bb['fromClientRect'](_0x8fab41['getBoundingClientRect']());},_0xfdc7cc=function(_0x4f39a9,_0x40681f){return 0x0!==_0x40681f[_0x1a4e('0x545c')]?_0x206a52(_0x4f39a9)[_0x1a4e('0x21')](function(_0x4f39a9){return _0x1797cb(_0x4f39a9);}):_0x54c1f0(_0x4f39a9,_0x40681f);},_0x54c1f0=function(_0x4f39a9,_0x40681f){for(var _0x44caca,_0x2a04f1=function(_0x4f39a9,_0x40681f){var _0x44caca=_0x206a52(_0x4f39a9),_0x2a04f1=_0x5945cb(_0x44caca,_0x40681f),_0x8fab41=_0x2a04f1[0x0],_0x13e4bb=_0x2a04f1[0x1],_0x15ca8d=_0x2a04f1[0x2],_0x1797cb=_0x44caca['length'],_0x302704=0x0,_0x4133f3=0x0;return{'next':function(){if(_0x4133f3>=_0x1797cb)return{'done':!0x0,'value':null};for(var _0x4f39a9='×';_0x4133f3<_0x1797cb&&'×'===(_0x4f39a9=_0x1ae63c(_0x44caca,_0x13e4bb,_0x8fab41,++_0x4133f3,_0x15ca8d)););if('×'!==_0x4f39a9||_0x4133f3===_0x1797cb){var _0x40681f=new _0x56adf6(_0x44caca,_0x4f39a9,_0x302704,_0x4133f3);return _0x302704=_0x4133f3,{'value':_0x40681f,'done':!0x1};}return{'done':!0x0,'value':null};}};}(_0x4f39a9,{'lineBreak':_0x40681f[_0x1a4e('0x315d')],'wordBreak':_0x40681f[_0x1a4e('0x5465')]===_0x1f5f43[_0x1a4e('0x541e')]?_0x1a4e('0x52f1'):_0x40681f['wordBreak']}),_0x8fab41=[];!(_0x44caca=_0x2a04f1['next']())[_0x1a4e('0x3c2')];)_0x44caca['value']&&_0x8fab41[_0x1a4e('0x46')](_0x44caca['value'][_0x1a4e('0x78')]());return _0x8fab41;},_0x49198c=function(_0x4f39a9,_0x40681f){this[_0x1a4e('0xe04')]=_0x4cfc80(_0x4f39a9[_0x1a4e('0x7f')],_0x40681f[_0x1a4e('0x5469')]),this['textBounds']=_0x1d7d0b(this[_0x1a4e('0xe04')],_0x40681f,_0x4f39a9);},_0x4cfc80=function(_0x4f39a9,_0x40681f){switch(_0x40681f){case _0x493d43[_0x1a4e('0x542d')]:return _0x4f39a9['toLowerCase']();case _0x493d43['CAPITALIZE']:return _0x4f39a9[_0x1a4e('0x115')](_0x238e04,_0x46385c);case _0x493d43[_0x1a4e('0x542e')]:return _0x4f39a9[_0x1a4e('0x257')]();default:return _0x4f39a9;}},_0x238e04=/(^|\s|:|-|\(|\))([a-z])/g,_0x46385c=function(_0x4f39a9,_0x40681f,_0x44caca){return _0x4f39a9[_0x1a4e('0x1e')]>0x0?_0x40681f+_0x44caca[_0x1a4e('0x257')]():_0x4f39a9;},_0x3346a3=function(_0x4f39a9){function _0x44caca(_0x40681f){var _0x44caca=_0x4f39a9[_0x1a4e('0x1')](this,_0x40681f)||this;return _0x44caca[_0x1a4e('0xe05')]=_0x40681f[_0x1a4e('0x5479')]||_0x40681f['src'],_0x44caca[_0x1a4e('0x547a')]=_0x40681f['naturalWidth'],_0x44caca[_0x1a4e('0x547b')]=_0x40681f[_0x1a4e('0x547c')],_0x4b7d13['getInstance']()[_0x1a4e('0x5372')](_0x44caca[_0x1a4e('0xe05')]),_0x44caca;}return _0x40681f(_0x44caca,_0x4f39a9),_0x44caca;}(_0xb592e3),_0x2cd835=function(_0x4f39a9){function _0x44caca(_0x40681f){var _0x44caca=_0x4f39a9[_0x1a4e('0x1')](this,_0x40681f)||this;return _0x44caca[_0x1a4e('0x3934')]=_0x40681f,_0x44caca[_0x1a4e('0x547a')]=_0x40681f[_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x547b')]=_0x40681f['height'],_0x44caca;}return _0x40681f(_0x44caca,_0x4f39a9),_0x44caca;}(_0xb592e3),_0x45b634=function(_0x4f39a9){function _0x44caca(_0x40681f){var _0x44caca=_0x4f39a9['call'](this,_0x40681f)||this,_0x2a04f1=new XMLSerializer();return _0x44caca[_0x1a4e('0x5144')]=_0x1a4e('0x547d')+encodeURIComponent(_0x2a04f1[_0x1a4e('0x5155')](_0x40681f)),_0x44caca['intrinsicWidth']=_0x40681f['width'][_0x1a4e('0x547e')][_0x1a4e('0x255')],_0x44caca['intrinsicHeight']=_0x40681f[_0x1a4e('0x152')]['baseVal'][_0x1a4e('0x255')],_0x4b7d13[_0x1a4e('0x5363')]()['addImage'](_0x44caca['svg']),_0x44caca;}return _0x40681f(_0x44caca,_0x4f39a9),_0x44caca;}(_0xb592e3),_0x32dc32=function(_0x4f39a9){function _0x44caca(_0x40681f){var _0x44caca=_0x4f39a9['call'](this,_0x40681f)||this;return _0x44caca[_0x1a4e('0x255')]=_0x40681f['value'],_0x44caca;}return _0x40681f(_0x44caca,_0x4f39a9),_0x44caca;}(_0xb592e3),_0x1f9b79=function(_0x4f39a9){function _0x44caca(_0x40681f){var _0x44caca=_0x4f39a9[_0x1a4e('0x1')](this,_0x40681f)||this;return _0x44caca[_0x1a4e('0xc9')]=_0x40681f['start'],_0x44caca['reversed']=_0x1a4e('0x34b')==typeof _0x40681f['reversed']&&!0x0===_0x40681f[_0x1a4e('0x547f')],_0x44caca;}return _0x40681f(_0x44caca,_0x4f39a9),_0x44caca;}(_0xb592e3),_0xec084c=[{'type':_0x683603[_0x1a4e('0x5303')],'flags':0x0,'unit':'px','number':0x3}],_0x1ecced=[{'type':_0x683603['PERCENTAGE_TOKEN'],'flags':0x0,'number':0x32}],_0x548f9c=function(_0x4f39a9){return _0x4f39a9['width']>_0x4f39a9[_0x1a4e('0x152')]?new _0x13e4bb(_0x4f39a9['left']+(_0x4f39a9['width']-_0x4f39a9[_0x1a4e('0x152')])/0x2,_0x4f39a9[_0x1a4e('0x5e')],_0x4f39a9['height'],_0x4f39a9[_0x1a4e('0x152')]):_0x4f39a9[_0x1a4e('0x3936')]<_0x4f39a9['height']?new _0x13e4bb(_0x4f39a9['left'],_0x4f39a9['top']+(_0x4f39a9[_0x1a4e('0x152')]-_0x4f39a9[_0x1a4e('0x3936')])/0x2,_0x4f39a9[_0x1a4e('0x3936')],_0x4f39a9[_0x1a4e('0x3936')]):_0x4f39a9;},_0x54d2e2=function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0x40')]===_0x3492ff?new Array(_0x4f39a9['value'][_0x1a4e('0x1e')]+0x1)['join']('•'):_0x4f39a9[_0x1a4e('0x255')];return 0x0===_0x40681f['length']?_0x4f39a9[_0x1a4e('0x1031')]||'':_0x40681f;},_0x14dd0c=_0x1a4e('0x5480'),_0x4f5ee6=_0x1a4e('0x5481'),_0x3492ff=_0x1a4e('0x5482'),_0x5f3a75=function(_0x4f39a9){function _0x44caca(_0x40681f){var _0x44caca=_0x4f39a9['call'](this,_0x40681f)||this;switch(_0x44caca[_0x1a4e('0x40')]=_0x40681f['type']['toLowerCase'](),_0x44caca[_0x1a4e('0x5483')]=_0x40681f[_0x1a4e('0x5483')],_0x44caca[_0x1a4e('0x255')]=_0x54d2e2(_0x40681f),_0x44caca[_0x1a4e('0x40')]!==_0x14dd0c&&_0x44caca['type']!==_0x4f5ee6||(_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x3ef1')]=0xdededeff,_0x44caca[_0x1a4e('0xe1d')]['borderTopColor']=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x5484')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x544b')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x544c')]=0xa5a5a5ff,_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x5454')]=_0x44caca['styles'][_0x1a4e('0x5455')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x5456')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x5457')]=0x1,_0x44caca[_0x1a4e('0xe1d')]['borderTopStyle']=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x5451')]=_0x44caca[_0x1a4e('0xe1d')]['borderBottomStyle']=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x5453')]=_0x5335b8[_0x1a4e('0x53a3')],_0x44caca[_0x1a4e('0xe1d')]['backgroundClip']=[_0x568255[_0x1a4e('0x534b')]],_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x5449')]=[0x0],_0x44caca[_0x1a4e('0x47e0')]=_0x548f9c(_0x44caca[_0x1a4e('0x47e0')])),_0x44caca[_0x1a4e('0x40')]){case _0x14dd0c:_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x5485')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x544d')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x544e')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x544f')]=_0xec084c;break;case _0x4f5ee6:_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x5485')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x544d')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x544e')]=_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x544f')]=_0x1ecced;}return _0x44caca;}return _0x40681f(_0x44caca,_0x4f39a9),_0x44caca;}(_0xb592e3),_0x21e405=function(_0x4f39a9){function _0x44caca(_0x40681f){var _0x44caca=_0x4f39a9['call'](this,_0x40681f)||this,_0x2a04f1=_0x40681f['options'][_0x40681f[_0x1a4e('0x5486')]||0x0];return _0x44caca[_0x1a4e('0x255')]=_0x2a04f1&&_0x2a04f1[_0x1a4e('0xe04')]||'',_0x44caca;}return _0x40681f(_0x44caca,_0x4f39a9),_0x44caca;}(_0xb592e3),_0x555429=function(_0x4f39a9){function _0x44caca(_0x40681f){var _0x44caca=_0x4f39a9[_0x1a4e('0x1')](this,_0x40681f)||this;return _0x44caca[_0x1a4e('0x255')]=_0x40681f['value'],_0x44caca;}return _0x40681f(_0x44caca,_0x4f39a9),_0x44caca;}(_0xb592e3),_0x2a3ad7=function(_0x4f39a9){return _0x43bd26(_0x5f4ad8['create'](_0x4f39a9)[_0x1a4e('0x5326')]());},_0x285259=function(_0x4f39a9){function _0x44caca(_0x40681f){var _0x44caca=_0x4f39a9[_0x1a4e('0x1')](this,_0x40681f)||this;_0x44caca[_0x1a4e('0xe05')]=_0x40681f['src'],_0x44caca[_0x1a4e('0x3936')]=parseInt(_0x40681f['width'],0xa)||0x0,_0x44caca[_0x1a4e('0x152')]=parseInt(_0x40681f[_0x1a4e('0x152')],0xa)||0x0,_0x44caca[_0x1a4e('0x3ef1')]=_0x44caca[_0x1a4e('0xe1d')]['backgroundColor'];try{if(_0x40681f[_0x1a4e('0x375e')]&&_0x40681f[_0x1a4e('0x375e')][_0x1a4e('0x134a')]&&_0x40681f[_0x1a4e('0x375e')][_0x1a4e('0x134a')][_0x1a4e('0x5487')]){_0x44caca[_0x1a4e('0x8f1')]=_0x12336c(_0x40681f['contentWindow'][_0x1a4e('0x134a')][_0x1a4e('0x5487')]);var _0x2a04f1=_0x40681f['contentWindow']['document'][_0x1a4e('0x5487')]?_0x2a3ad7(getComputedStyle(_0x40681f[_0x1a4e('0x375e')][_0x1a4e('0x134a')][_0x1a4e('0x5487')])[_0x1a4e('0x3ef1')]):_0x197646[_0x1a4e('0x5344')],_0x8fab41=_0x40681f[_0x1a4e('0x375e')][_0x1a4e('0x134a')][_0x1a4e('0x8f2')]?_0x2a3ad7(getComputedStyle(_0x40681f[_0x1a4e('0x375e')]['document'][_0x1a4e('0x8f2')])[_0x1a4e('0x3ef1')]):_0x197646[_0x1a4e('0x5344')];_0x44caca[_0x1a4e('0x3ef1')]=_0xa29797(_0x2a04f1)?_0xa29797(_0x8fab41)?_0x44caca['styles'][_0x1a4e('0x3ef1')]:_0x8fab41:_0x2a04f1;}}catch(_0x1927f7){}return _0x44caca;}return _0x40681f(_0x44caca,_0x4f39a9),_0x44caca;}(_0xb592e3),_0x165982=['OL','UL',_0x1a4e('0x5488')],_0x280fbf=function(_0x4f39a9){return _0x5f0006(_0x4f39a9)?new _0x3346a3(_0x4f39a9):_0x3b3526(_0x4f39a9)?new _0x2cd835(_0x4f39a9):_0x18fef2(_0x4f39a9)?new _0x45b634(_0x4f39a9):_0x1babe5(_0x4f39a9)?new _0x32dc32(_0x4f39a9):_0x338b02(_0x4f39a9)?new _0x1f9b79(_0x4f39a9):_0x596a99(_0x4f39a9)?new _0x5f3a75(_0x4f39a9):_0xe67eab(_0x4f39a9)?new _0x21e405(_0x4f39a9):_0x1d0341(_0x4f39a9)?new _0x555429(_0x4f39a9):_0x124b38(_0x4f39a9)?new _0x285259(_0x4f39a9):new _0xb592e3(_0x4f39a9);},_0x12336c=function(_0x4f39a9){var _0x40681f=_0x280fbf(_0x4f39a9);return _0x40681f['flags']|=0x4,function _0x4f39a9(_0x40681f,_0x44caca,_0x2a04f1){for(var _0x8fab41=_0x40681f[_0x1a4e('0x12bb')],_0x13e4bb=void 0x0;_0x8fab41;_0x8fab41=_0x13e4bb)if(_0x13e4bb=_0x8fab41[_0x1a4e('0x5489')],_0x2aeac0(_0x8fab41)&&_0x8fab41[_0x1a4e('0x7f')]['trim']()[_0x1a4e('0x1e')]>0x0)_0x44caca['textNodes'][_0x1a4e('0x46')](new _0x49198c(_0x8fab41,_0x44caca[_0x1a4e('0xe1d')]));else if(_0x526879(_0x8fab41)){var _0x15ca8d=_0x280fbf(_0x8fab41);_0x15ca8d[_0x1a4e('0xe1d')]['isVisible']()&&(_0x52863e(_0x8fab41,_0x15ca8d,_0x2a04f1)?_0x15ca8d[_0x1a4e('0x7b2')]|=0x4:_0x2f445e(_0x15ca8d[_0x1a4e('0xe1d')])&&(_0x15ca8d[_0x1a4e('0x7b2')]|=0x2),-0x1!==_0x165982[_0x1a4e('0x3e')](_0x8fab41[_0x1a4e('0x132b')])&&(_0x15ca8d[_0x1a4e('0x7b2')]|=0x8),_0x44caca[_0x1a4e('0x2398')][_0x1a4e('0x46')](_0x15ca8d),_0x1d0341(_0x8fab41)||_0x18fef2(_0x8fab41)||_0xe67eab(_0x8fab41)||_0x4f39a9(_0x8fab41,_0x15ca8d,_0x2a04f1));}}(_0x4f39a9,_0x40681f,_0x40681f),_0x40681f;},_0x52863e=function(_0x4f39a9,_0x40681f,_0x44caca){return _0x40681f['styles'][_0x1a4e('0x546f')]()||_0x40681f[_0x1a4e('0xe1d')][_0x1a4e('0x47bd')]<0x1||_0x40681f['styles']['isTransformed']()||_0x22eb38(_0x4f39a9)&&_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x546c')]();},_0x2f445e=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x546e')]()||_0x4f39a9['isFloating']();},_0x2aeac0=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0xfa8')]===Node[_0x1a4e('0x548a')];},_0x526879=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0xfa8')]===Node['ELEMENT_NODE'];},_0x3b1e7e=function(_0x4f39a9){return void 0x0!==_0x4f39a9[_0x1a4e('0x375c')];},_0x1babe5=function(_0x4f39a9){return'LI'===_0x4f39a9['tagName'];},_0x338b02=function(_0x4f39a9){return'OL'===_0x4f39a9[_0x1a4e('0x132b')];},_0x596a99=function(_0x4f39a9){return _0x1a4e('0x548b')===_0x4f39a9[_0x1a4e('0x132b')];},_0x18fef2=function(_0x4f39a9){return _0x1a4e('0x5144')===_0x4f39a9['tagName'];},_0x22eb38=function(_0x4f39a9){return _0x1a4e('0x548c')===_0x4f39a9['tagName'];},_0x3b3526=function(_0x4f39a9){return _0x1a4e('0x517d')===_0x4f39a9[_0x1a4e('0x132b')];},_0x5f0006=function(_0x4f39a9){return _0x1a4e('0x517e')===_0x4f39a9[_0x1a4e('0x132b')];},_0x124b38=function(_0x4f39a9){return _0x1a4e('0x548d')===_0x4f39a9['tagName'];},_0x217336=function(_0x4f39a9){return'STYLE'===_0x4f39a9[_0x1a4e('0x132b')];},_0x35c0d8=function(_0x4f39a9){return'SCRIPT'===_0x4f39a9[_0x1a4e('0x132b')];},_0x1d0341=function(_0x4f39a9){return'TEXTAREA'===_0x4f39a9[_0x1a4e('0x132b')];},_0xe67eab=function(_0x4f39a9){return _0x1a4e('0x548e')===_0x4f39a9['tagName'];},_0x31a2fb=function(){function _0x4f39a9(){this[_0x1a4e('0x548f')]={};}return _0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5490')]=function(_0x4f39a9){var _0x40681f=this['counters'][_0x4f39a9];return _0x40681f&&_0x40681f[_0x1a4e('0x1e')]?_0x40681f[_0x40681f['length']-0x1]:0x1;},_0x4f39a9['prototype'][_0x1a4e('0x5491')]=function(_0x4f39a9){var _0x40681f=this[_0x1a4e('0x548f')][_0x4f39a9];return _0x40681f||[];},_0x4f39a9['prototype'][_0x1a4e('0x76')]=function(_0x4f39a9){var _0x40681f=this;_0x4f39a9['forEach'](function(_0x4f39a9){return _0x40681f[_0x1a4e('0x548f')][_0x4f39a9]['pop']();});},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x25a')]=function(_0x4f39a9){var _0x40681f=this,_0x44caca=_0x4f39a9[_0x1a4e('0x5471')],_0x2a04f1=_0x4f39a9[_0x1a4e('0x5492')],_0x8fab41=!0x0;null!==_0x44caca&&_0x44caca[_0x1a4e('0x3b')](function(_0x4f39a9){var _0x44caca=_0x40681f['counters'][_0x4f39a9[_0x1a4e('0x814')]];_0x44caca&&0x0!==_0x4f39a9['increment']&&(_0x8fab41=!0x1,_0x44caca[Math[_0x1a4e('0x6c')](0x0,_0x44caca[_0x1a4e('0x1e')]-0x1)]+=_0x4f39a9['increment']);});var _0x13e4bb=[];return _0x8fab41&&_0x2a04f1[_0x1a4e('0x3b')](function(_0x4f39a9){var _0x44caca=_0x40681f[_0x1a4e('0x548f')][_0x4f39a9['counter']];_0x13e4bb[_0x1a4e('0x46')](_0x4f39a9[_0x1a4e('0x814')]),_0x44caca||(_0x44caca=_0x40681f[_0x1a4e('0x548f')][_0x4f39a9['counter']]=[]),_0x44caca[_0x1a4e('0x46')](_0x4f39a9[_0x1a4e('0x138')]);}),_0x13e4bb;},_0x4f39a9;}(),_0x119d30={'integers':[0x3e8,0x384,0x1f4,0x190,0x64,0x5a,0x32,0x28,0xa,0x9,0x5,0x4,0x1],'values':['M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I']},_0x1a6aa9={'integers':[0x2328,0x1f40,0x1b58,0x1770,0x1388,0xfa0,0xbb8,0x7d0,0x3e8,0x384,0x320,0x2bc,0x258,0x1f4,0x190,0x12c,0xc8,0x64,0x5a,0x50,0x46,0x3c,0x32,0x28,0x1e,0x14,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1],'values':['Ք','Փ','Ւ','Ց','Ր','Տ','Վ','Ս','Ռ','Ջ','Պ','Չ','Ո','Շ','Ն','Յ','Մ','Ճ','Ղ','Ձ','Հ','Կ','Ծ','Խ','Լ','Ի','Ժ','Թ','Ը','Է','Զ','Ե','Դ','Գ','Բ','Ա']},_0x2a541d={'integers':[0x2710,0x2328,0x1f40,0x1b58,0x1770,0x1388,0xfa0,0xbb8,0x7d0,0x3e8,0x190,0x12c,0xc8,0x64,0x5a,0x50,0x46,0x3c,0x32,0x28,0x1e,0x14,0x13,0x12,0x11,0x10,0xf,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1],'values':['י׳','ט׳','ח׳','ז׳','ו׳','ה׳','ד׳','ג׳','ב׳','א׳','ת','ש','ר','ק','צ','פ','ע','ס','נ','מ','ל','כ','יט','יח','יז','טז','טו','י','ט','ח','ז','ו','ה','ד','ג','ב','א']},_0x31f431={'integers':[0x2710,0x2328,0x1f40,0x1b58,0x1770,0x1388,0xfa0,0xbb8,0x7d0,0x3e8,0x384,0x320,0x2bc,0x258,0x1f4,0x190,0x12c,0xc8,0x64,0x5a,0x50,0x46,0x3c,0x32,0x28,0x1e,0x14,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1],'values':['ჵ','ჰ','ჯ','ჴ','ხ','ჭ','წ','ძ','ც','ჩ','შ','ყ','ღ','ქ','ფ','ჳ','ტ','ს','რ','ჟ','პ','ო','ჲ','ნ','მ','ლ','კ','ი','თ','ჱ','ზ','ვ','ე','დ','გ','ბ','ა']},_0x46334d=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41,_0x13e4bb){return _0x4f39a9<_0x40681f||_0x4f39a9>_0x44caca?_0x3edb78(_0x4f39a9,_0x8fab41,_0x13e4bb[_0x1a4e('0x1e')]>0x0):_0x2a04f1[_0x1a4e('0x5493')][_0x1a4e('0xbb')](function(_0x40681f,_0x44caca,_0x8fab41){for(;_0x4f39a9>=_0x44caca;)_0x4f39a9-=_0x44caca,_0x40681f+=_0x2a04f1['values'][_0x8fab41];return _0x40681f;},'')+_0x13e4bb;},_0x506a57=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){var _0x8fab41='';do{_0x44caca||_0x4f39a9--,_0x8fab41=_0x2a04f1(_0x4f39a9)+_0x8fab41,_0x4f39a9/=_0x40681f;}while(_0x4f39a9*_0x40681f>=_0x40681f);return _0x8fab41;},_0x1d1fb5=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41){var _0x13e4bb=_0x44caca-_0x40681f+0x1;return(_0x4f39a9<0x0?'-':'')+(_0x506a57(Math[_0x1a4e('0x65')](_0x4f39a9),_0x13e4bb,_0x2a04f1,function(_0x4f39a9){return _0x1797cb(Math[_0x1a4e('0xb4')](_0x4f39a9%_0x13e4bb)+_0x40681f);})+_0x8fab41);},_0x4c57e1=function(_0x4f39a9,_0x40681f,_0x44caca){void 0x0===_0x44caca&&(_0x44caca='.\x20');var _0x2a04f1=_0x40681f[_0x1a4e('0x1e')];return _0x506a57(Math['abs'](_0x4f39a9),_0x2a04f1,!0x1,function(_0x4f39a9){return _0x40681f[Math[_0x1a4e('0xb4')](_0x4f39a9%_0x2a04f1)];})+_0x44caca;},_0x51f84d=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41,_0x13e4bb){if(_0x4f39a9<-0x270f||_0x4f39a9>0x270f)return _0x3edb78(_0x4f39a9,_0x293000[_0x1a4e('0x53c6')],_0x8fab41['length']>0x0);var _0x15ca8d=Math['abs'](_0x4f39a9),_0x206a52=_0x8fab41;if(0x0===_0x15ca8d)return _0x40681f[0x0]+_0x206a52;for(var _0x1797cb=0x0;_0x15ca8d>0x0&&_0x1797cb<=0x4;_0x1797cb++){var _0x302704=_0x15ca8d%0xa;0x0===_0x302704&&_0x27c6c7(_0x13e4bb,0x1)&&''!==_0x206a52?_0x206a52=_0x40681f[_0x302704]+_0x206a52:_0x302704>0x1||0x1===_0x302704&&0x0===_0x1797cb||0x1===_0x302704&&0x1===_0x1797cb&&_0x27c6c7(_0x13e4bb,0x2)||0x1===_0x302704&&0x1===_0x1797cb&&_0x27c6c7(_0x13e4bb,0x4)&&_0x4f39a9>0x64||0x1===_0x302704&&_0x1797cb>0x1&&_0x27c6c7(_0x13e4bb,0x8)?_0x206a52=_0x40681f[_0x302704]+(_0x1797cb>0x0?_0x44caca[_0x1797cb-0x1]:'')+_0x206a52:0x1===_0x302704&&_0x1797cb>0x0&&(_0x206a52=_0x44caca[_0x1797cb-0x1]+_0x206a52),_0x15ca8d=Math[_0x1a4e('0xb4')](_0x15ca8d/0xa);}return(_0x4f39a9<0x0?_0x2a04f1:'')+_0x206a52;},_0x3edb78=function(_0x4f39a9,_0x40681f,_0x44caca){var _0x2a04f1=_0x44caca?'.\x20':'',_0x8fab41=_0x44caca?'、':'',_0x13e4bb=_0x44caca?',\x20':'',_0x15ca8d=_0x44caca?'\x20':'';switch(_0x40681f){case _0x293000[_0x1a4e('0x53c3')]:return'•'+_0x15ca8d;case _0x293000[_0x1a4e('0x537f')]:return'◦'+_0x15ca8d;case _0x293000[_0x1a4e('0x53c4')]:return'◾'+_0x15ca8d;case _0x293000[_0x1a4e('0x53c7')]:var _0x206a52=_0x1d1fb5(_0x4f39a9,0x30,0x39,!0x0,_0x2a04f1);return _0x206a52['length']<0x4?'0'+_0x206a52:_0x206a52;case _0x293000[_0x1a4e('0x53c6')]:return _0x4c57e1(_0x4f39a9,_0x1a4e('0x5494'),_0x8fab41);case _0x293000['LOWER_ROMAN']:return _0x46334d(_0x4f39a9,0x1,0xf9f,_0x119d30,_0x293000[_0x1a4e('0x53c5')],_0x2a04f1)['toLowerCase']();case _0x293000[_0x1a4e('0x53fd')]:return _0x46334d(_0x4f39a9,0x1,0xf9f,_0x119d30,_0x293000[_0x1a4e('0x53c5')],_0x2a04f1);case _0x293000[_0x1a4e('0x53c9')]:return _0x1d1fb5(_0x4f39a9,0x3b1,0x3c9,!0x1,_0x2a04f1);case _0x293000[_0x1a4e('0x53ca')]:return _0x1d1fb5(_0x4f39a9,0x61,0x7a,!0x1,_0x2a04f1);case _0x293000[_0x1a4e('0x53cb')]:return _0x1d1fb5(_0x4f39a9,0x41,0x5a,!0x1,_0x2a04f1);case _0x293000[_0x1a4e('0x53cc')]:return _0x1d1fb5(_0x4f39a9,0x660,0x669,!0x0,_0x2a04f1);case _0x293000[_0x1a4e('0x53cd')]:case _0x293000['UPPER_ARMENIAN']:return _0x46334d(_0x4f39a9,0x1,0x270f,_0x1a6aa9,_0x293000[_0x1a4e('0x53c5')],_0x2a04f1);case _0x293000[_0x1a4e('0x53e5')]:return _0x46334d(_0x4f39a9,0x1,0x270f,_0x1a6aa9,_0x293000[_0x1a4e('0x53c5')],_0x2a04f1)[_0x1a4e('0x2b2')]();case _0x293000[_0x1a4e('0x53ce')]:return _0x1d1fb5(_0x4f39a9,0x9e6,0x9ef,!0x0,_0x2a04f1);case _0x293000['CAMBODIAN']:case _0x293000[_0x1a4e('0x53e0')]:return _0x1d1fb5(_0x4f39a9,0x17e0,0x17e9,!0x0,_0x2a04f1);case _0x293000['CJK_EARTHLY_BRANCH']:return _0x4c57e1(_0x4f39a9,_0x1a4e('0x5495'),_0x8fab41);case _0x293000[_0x1a4e('0x53d1')]:return _0x4c57e1(_0x4f39a9,_0x1a4e('0x5496'),_0x8fab41);case _0x293000[_0x1a4e('0x53d2')]:case _0x293000[_0x1a4e('0x53f2')]:return _0x51f84d(_0x4f39a9,_0x1a4e('0x5497'),'十百千萬','負',_0x8fab41,0xe);case _0x293000[_0x1a4e('0x53f1')]:return _0x51f84d(_0x4f39a9,_0x1a4e('0x5498'),_0x1a4e('0x5499'),'負',_0x8fab41,0xf);case _0x293000[_0x1a4e('0x53ec')]:return _0x51f84d(_0x4f39a9,_0x1a4e('0x5497'),_0x1a4e('0x549a'),'负',_0x8fab41,0xe);case _0x293000[_0x1a4e('0x53eb')]:return _0x51f84d(_0x4f39a9,_0x1a4e('0x549b'),_0x1a4e('0x5499'),'负',_0x8fab41,0xf);case _0x293000[_0x1a4e('0x53dc')]:return _0x51f84d(_0x4f39a9,_0x1a4e('0x5494'),'十百千万',_0x1a4e('0x549c'),_0x8fab41,0x0);case _0x293000[_0x1a4e('0x53db')]:return _0x51f84d(_0x4f39a9,_0x1a4e('0x549d'),_0x1a4e('0x549e'),_0x1a4e('0x549c'),_0x8fab41,0x7);case _0x293000[_0x1a4e('0x53e1')]:return _0x51f84d(_0x4f39a9,_0x1a4e('0x549f'),_0x1a4e('0x54a0'),'마이너스',_0x13e4bb,0x7);case _0x293000[_0x1a4e('0x53e3')]:return _0x51f84d(_0x4f39a9,_0x1a4e('0x5497'),_0x1a4e('0x549a'),_0x1a4e('0x54a1'),_0x13e4bb,0x0);case _0x293000[_0x1a4e('0x53e2')]:return _0x51f84d(_0x4f39a9,_0x1a4e('0x54a2'),_0x1a4e('0x54a3'),_0x1a4e('0x54a1'),_0x13e4bb,0x7);case _0x293000['DEVANAGARI']:return _0x1d1fb5(_0x4f39a9,0x966,0x96f,!0x0,_0x2a04f1);case _0x293000[_0x1a4e('0x53d5')]:return _0x46334d(_0x4f39a9,0x1,0x4e1f,_0x31f431,_0x293000[_0x1a4e('0x53c5')],_0x2a04f1);case _0x293000[_0x1a4e('0x53d6')]:return _0x1d1fb5(_0x4f39a9,0xae6,0xaef,!0x0,_0x2a04f1);case _0x293000[_0x1a4e('0x53d7')]:return _0x1d1fb5(_0x4f39a9,0xa66,0xa6f,!0x0,_0x2a04f1);case _0x293000['HEBREW']:return _0x46334d(_0x4f39a9,0x1,0x2af7,_0x2a541d,_0x293000[_0x1a4e('0x53c5')],_0x2a04f1);case _0x293000[_0x1a4e('0x53d9')]:return _0x4c57e1(_0x4f39a9,_0x1a4e('0x54a4'));case _0x293000[_0x1a4e('0x53da')]:return _0x4c57e1(_0x4f39a9,_0x1a4e('0x54a5'));case _0x293000[_0x1a4e('0x53dd')]:return _0x1d1fb5(_0x4f39a9,0xce6,0xcef,!0x0,_0x2a04f1);case _0x293000['KATAKANA']:return _0x4c57e1(_0x4f39a9,'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン',_0x8fab41);case _0x293000[_0x1a4e('0x53df')]:return _0x4c57e1(_0x4f39a9,_0x1a4e('0x54a6'),_0x8fab41);case _0x293000[_0x1a4e('0x53e4')]:return _0x1d1fb5(_0x4f39a9,0xed0,0xed9,!0x0,_0x2a04f1);case _0x293000[_0x1a4e('0x53e7')]:return _0x1d1fb5(_0x4f39a9,0x1810,0x1819,!0x0,_0x2a04f1);case _0x293000['MYANMAR']:return _0x1d1fb5(_0x4f39a9,0x1040,0x1049,!0x0,_0x2a04f1);case _0x293000['ORIYA']:return _0x1d1fb5(_0x4f39a9,0xb66,0xb6f,!0x0,_0x2a04f1);case _0x293000['PERSIAN']:return _0x1d1fb5(_0x4f39a9,0x6f0,0x6f9,!0x0,_0x2a04f1);case _0x293000[_0x1a4e('0x53ed')]:return _0x1d1fb5(_0x4f39a9,0xbe6,0xbef,!0x0,_0x2a04f1);case _0x293000[_0x1a4e('0x53ee')]:return _0x1d1fb5(_0x4f39a9,0xc66,0xc6f,!0x0,_0x2a04f1);case _0x293000[_0x1a4e('0x53ef')]:return _0x1d1fb5(_0x4f39a9,0xe50,0xe59,!0x0,_0x2a04f1);case _0x293000[_0x1a4e('0x53f0')]:return _0x1d1fb5(_0x4f39a9,0xf20,0xf29,!0x0,_0x2a04f1);case _0x293000[_0x1a4e('0x53c5')]:default:return _0x1d1fb5(_0x4f39a9,0x30,0x39,!0x0,_0x2a04f1);}},_0x404927=function(){function _0x4f39a9(_0x4f39a9,_0x40681f){if(this[_0x1a4e('0x8dc')]=_0x40681f,this['scrolledElements']=[],this[_0x1a4e('0x54a7')]=_0x4f39a9,this['counters']=new _0x31a2fb(),this[_0x1a4e('0x54a8')]=0x0,!_0x4f39a9[_0x1a4e('0x5474')])throw new Error(_0x1a4e('0x54a9'));this[_0x1a4e('0x5487')]=this[_0x1a4e('0x517c')](_0x4f39a9[_0x1a4e('0x5474')][_0x1a4e('0x5487')]);}return _0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54aa')]=function(_0x4f39a9,_0x40681f){var _0x44caca=this,_0x13e4bb=_0x3e5628(_0x4f39a9,_0x40681f);if(!_0x13e4bb[_0x1a4e('0x375e')])return Promise[_0x1a4e('0x1077')](_0x1a4e('0x54ab'));var _0x15ca8d=_0x4f39a9[_0x1a4e('0x4680')][_0x1a4e('0x54ac')],_0x206a52=_0x4f39a9[_0x1a4e('0x4680')][_0x1a4e('0x54ad')],_0x1797cb=_0x13e4bb[_0x1a4e('0x375e')],_0x302704=_0x1797cb[_0x1a4e('0x134a')],_0x4133f3=_0x24d5ce(_0x13e4bb)[_0x1a4e('0xdf8')](function(){return _0x2a04f1(_0x44caca,void 0x0,void 0x0,function(){var _0x4f39a9;return _0x8fab41(this,function(_0x44caca){switch(_0x44caca['label']){case 0x0:return this[_0x1a4e('0x54ae')]['forEach'](_0x3d1378),_0x1797cb&&(_0x1797cb[_0x1a4e('0x54af')](_0x40681f[_0x1a4e('0x5f')],_0x40681f[_0x1a4e('0x5e')]),!/(iPad|iPhone|iPod)/g[_0x1a4e('0x8d0')](navigator[_0x1a4e('0xe37')])||_0x1797cb[_0x1a4e('0x54b0')]===_0x40681f[_0x1a4e('0x5e')]&&_0x1797cb[_0x1a4e('0x54b1')]===_0x40681f[_0x1a4e('0x5f')]||(_0x302704[_0x1a4e('0x5487')]['style'][_0x1a4e('0x5e')]=-_0x40681f[_0x1a4e('0x5e')]+'px',_0x302704[_0x1a4e('0x5487')][_0x1a4e('0x375c')][_0x1a4e('0x5f')]=-_0x40681f[_0x1a4e('0x5f')]+'px',_0x302704['documentElement']['style'][_0x1a4e('0x3553')]=_0x1a4e('0x3b1b'))),_0x4f39a9=this[_0x1a4e('0x8dc')][_0x1a4e('0x54b2')],void 0x0===this[_0x1a4e('0x54b3')]?[0x2,Promise['reject']('Error\x20finding\x20the\x20'+this['referenceElement']['nodeName']+_0x1a4e('0x54b4'))]:_0x302704['fonts']&&_0x302704[_0x1a4e('0x54b5')][_0x1a4e('0x3bc7')]?[0x4,_0x302704[_0x1a4e('0x54b5')]['ready']]:[0x3,0x2];case 0x1:_0x44caca[_0x1a4e('0x128a')](),_0x44caca[_0x1a4e('0x1bc')]=0x2;case 0x2:return _0x1a4e('0x68')==typeof _0x4f39a9?[0x2,Promise[_0x1a4e('0xe20')]()[_0x1a4e('0xdf8')](function(){return _0x4f39a9(_0x302704);})[_0x1a4e('0xdf8')](function(){return _0x13e4bb;})]:[0x2,_0x13e4bb];}});});});return _0x302704[_0x1a4e('0x12bc')](),_0x302704[_0x1a4e('0x146')](_0x5be705(document['doctype'])+_0x1a4e('0x54b6')),_0x54b1f7(this[_0x1a4e('0x54a7')]['ownerDocument'],_0x15ca8d,_0x206a52),_0x302704['replaceChild'](_0x302704[_0x1a4e('0x54b7')](this[_0x1a4e('0x5487')]),_0x302704['documentElement']),_0x302704[_0x1a4e('0x139b')](),_0x4133f3;},_0x4f39a9['prototype'][_0x1a4e('0x54b8')]=function(_0x4f39a9){return _0x3b3526(_0x4f39a9)?this[_0x1a4e('0x54b9')](_0x4f39a9):_0x217336(_0x4f39a9)?this['createStyleClone'](_0x4f39a9):_0x4f39a9[_0x1a4e('0x517c')](!0x1);},_0x4f39a9[_0x1a4e('0xa')]['createStyleClone']=function(_0x4f39a9){try{var _0x40681f=_0x4f39a9[_0x1a4e('0x1315')];if(_0x40681f&&_0x40681f['cssRules']){var _0x44caca=[][_0x1a4e('0x78')][_0x1a4e('0x1')](_0x40681f['cssRules'],0x0)[_0x1a4e('0xbb')](function(_0x4f39a9,_0x40681f){return _0x40681f&&'string'==typeof _0x40681f[_0x1a4e('0x1322')]?_0x4f39a9+_0x40681f[_0x1a4e('0x1322')]:_0x4f39a9;},''),_0x2a04f1=_0x4f39a9[_0x1a4e('0x517c')](!0x1);return _0x2a04f1[_0x1a4e('0x1318')]=_0x44caca,_0x2a04f1;}}catch(_0x13c319){if(_0x319799[_0x1a4e('0x5363')](this[_0x1a4e('0x8dc')]['id'])['error'](_0x1a4e('0x54ba'),_0x13c319),_0x1a4e('0x54bb')!==_0x13c319[_0x1a4e('0x2cb')])throw _0x13c319;}return _0x4f39a9[_0x1a4e('0x517c')](!0x1);},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54b9')]=function(_0x4f39a9){if(this[_0x1a4e('0x8dc')]['inlineImages']&&_0x4f39a9[_0x1a4e('0x5474')]){var _0x40681f=_0x4f39a9[_0x1a4e('0x5474')][_0x1a4e('0xe3d')](_0x1a4e('0x3eef'));try{return _0x40681f[_0x1a4e('0xe05')]=_0x4f39a9[_0x1a4e('0x3939')](),_0x40681f;}catch(_0x5d67d9){_0x319799['getInstance'](this[_0x1a4e('0x8dc')]['id'])[_0x1a4e('0x1305')](_0x1a4e('0x54bc'));}}var _0x44caca=_0x4f39a9[_0x1a4e('0x517c')](!0x1);try{_0x44caca[_0x1a4e('0x3936')]=_0x4f39a9['width'],_0x44caca[_0x1a4e('0x152')]=_0x4f39a9[_0x1a4e('0x152')];var _0x2a04f1=_0x4f39a9[_0x1a4e('0x51c')]('2d'),_0x8fab41=_0x44caca[_0x1a4e('0x51c')]('2d');return _0x8fab41&&(_0x2a04f1?_0x8fab41[_0x1a4e('0x3938')](_0x2a04f1['getImageData'](0x0,0x0,_0x4f39a9[_0x1a4e('0x3936')],_0x4f39a9['height']),0x0,0x0):_0x8fab41[_0x1a4e('0x47c6')](_0x4f39a9,0x0,0x0)),_0x44caca;}catch(_0x18eee2){}return _0x44caca;},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x517c')]=function(_0x4f39a9){if(_0x2aeac0(_0x4f39a9))return document[_0x1a4e('0x1317')](_0x4f39a9[_0x1a4e('0x7f')]);if(!_0x4f39a9['ownerDocument'])return _0x4f39a9[_0x1a4e('0x517c')](!0x1);var _0x40681f=_0x4f39a9[_0x1a4e('0x5474')]['defaultView'];if(_0x3b1e7e(_0x4f39a9)&&_0x40681f){var _0x44caca=this[_0x1a4e('0x54b8')](_0x4f39a9),_0x2a04f1=_0x40681f[_0x1a4e('0x4681')](_0x4f39a9),_0x8fab41=_0x40681f['getComputedStyle'](_0x4f39a9,_0x1a4e('0x54bd')),_0x13e4bb=_0x40681f[_0x1a4e('0x4681')](_0x4f39a9,':after');this[_0x1a4e('0x54a7')]===_0x4f39a9&&(this['clonedReferenceElement']=_0x44caca),_0x22eb38(_0x44caca)&&_0x1eafd6(_0x44caca);for(var _0x15ca8d=this[_0x1a4e('0x548f')][_0x1a4e('0x25a')](new _0x885195(_0x2a04f1)),_0x206a52=this[_0x1a4e('0x54be')](_0x4f39a9,_0x44caca,_0x8fab41,_0x4b2a9a[_0x1a4e('0x54bf')]),_0x1797cb=_0x4f39a9[_0x1a4e('0x12bb')];_0x1797cb;_0x1797cb=_0x1797cb[_0x1a4e('0x5489')])_0x526879(_0x1797cb)&&(_0x35c0d8(_0x1797cb)||_0x1797cb['hasAttribute'](_0x1a4e('0x54c0'))||_0x1a4e('0x68')==typeof this['options'][_0x1a4e('0x54c1')]&&this[_0x1a4e('0x8dc')][_0x1a4e('0x54c1')](_0x1797cb))||this[_0x1a4e('0x8dc')][_0x1a4e('0x54c2')]&&_0x526879(_0x1797cb)&&_0x217336(_0x1797cb)||_0x44caca[_0x1a4e('0x12c4')](this[_0x1a4e('0x517c')](_0x1797cb));_0x206a52&&_0x44caca['insertBefore'](_0x206a52,_0x44caca[_0x1a4e('0x12bb')]);var _0x302704=this[_0x1a4e('0x54be')](_0x4f39a9,_0x44caca,_0x13e4bb,_0x4b2a9a['AFTER']);return _0x302704&&_0x44caca[_0x1a4e('0x12c4')](_0x302704),this['counters'][_0x1a4e('0x76')](_0x15ca8d),_0x2a04f1&&this['options'][_0x1a4e('0x54c2')]&&!_0x124b38(_0x4f39a9)&&_0x4e0bea(_0x2a04f1,_0x44caca),0x0===_0x4f39a9[_0x1a4e('0x54c3')]&&0x0===_0x4f39a9[_0x1a4e('0x54c4')]||this[_0x1a4e('0x54ae')][_0x1a4e('0x46')]([_0x44caca,_0x4f39a9[_0x1a4e('0x54c4')],_0x4f39a9[_0x1a4e('0x54c3')]]),(_0x1d0341(_0x4f39a9)||_0xe67eab(_0x4f39a9))&&(_0x1d0341(_0x44caca)||_0xe67eab(_0x44caca))&&(_0x44caca[_0x1a4e('0x255')]=_0x4f39a9['value']),_0x44caca;}return _0x4f39a9[_0x1a4e('0x517c')](!0x1);},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54be')]=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){var _0x8fab41=this;if(_0x44caca){var _0x13e4bb=_0x44caca[_0x1a4e('0x120')],_0x15ca8d=_0x40681f[_0x1a4e('0x5474')];if(_0x15ca8d&&_0x13e4bb&&_0x1a4e('0x60')!==_0x13e4bb&&'-moz-alt-content'!==_0x13e4bb&&'none'!==_0x44caca[_0x1a4e('0x375d')]){this['counters']['parse'](new _0x885195(_0x44caca));var _0x206a52=new _0x1fd51c(_0x44caca),_0x1797cb=_0x15ca8d['createElement'](_0x1a4e('0x54c5'));return _0x4e0bea(_0x44caca,_0x1797cb),_0x206a52[_0x1a4e('0x120')][_0x1a4e('0x3b')](function(_0x40681f){if(_0x40681f[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x52f4')])_0x1797cb[_0x1a4e('0x12c4')](_0x15ca8d[_0x1a4e('0x1317')](_0x40681f[_0x1a4e('0x255')]));else if(_0x40681f['type']===_0x683603[_0x1a4e('0x5309')]){var _0x44caca=_0x15ca8d[_0x1a4e('0xe3d')](_0x1a4e('0x3eef'));_0x44caca[_0x1a4e('0xe05')]=_0x40681f[_0x1a4e('0x255')],_0x44caca[_0x1a4e('0x375c')][_0x1a4e('0x47bd')]='1',_0x1797cb[_0x1a4e('0x12c4')](_0x44caca);}else if(_0x40681f['type']===_0x683603[_0x1a4e('0x5305')]){if(_0x1a4e('0x54c6')===_0x40681f[_0x1a4e('0x2cb')]){var _0x2a04f1=_0x40681f['values'][_0x1a4e('0xd9')](_0x5c3185);_0x2a04f1[_0x1a4e('0x1e')]&&_0x1797cb['appendChild'](_0x15ca8d[_0x1a4e('0x1317')](_0x4f39a9['getAttribute'](_0x2a04f1[0x0][_0x1a4e('0x255')])||''));}else if('counter'===_0x40681f[_0x1a4e('0x2cb')]){var _0x13e4bb=_0x40681f[_0x1a4e('0x35b')][_0x1a4e('0xd9')](_0x5951bb),_0x302704=_0x13e4bb[0x0],_0x4133f3=_0x13e4bb[0x1];if(_0x302704&&_0x5c3185(_0x302704)){var _0x1002a1=_0x8fab41['counters'][_0x1a4e('0x5490')](_0x302704[_0x1a4e('0x255')]),_0x318a81=_0x4133f3&&_0x5c3185(_0x4133f3)?_0x9745a0['parse'](_0x4133f3['value']):_0x293000[_0x1a4e('0x53c5')];_0x1797cb['appendChild'](_0x15ca8d[_0x1a4e('0x1317')](_0x3edb78(_0x1002a1,_0x318a81,!0x1)));}}else if(_0x1a4e('0x548f')===_0x40681f['name']){var _0x329d11=_0x40681f[_0x1a4e('0x35b')]['filter'](_0x5951bb),_0x36e8b1=(_0x302704=_0x329d11[0x0],_0x329d11[0x1]);_0x4133f3=_0x329d11[0x2];if(_0x302704&&_0x5c3185(_0x302704)){var _0x19938f=_0x8fab41['counters'][_0x1a4e('0x5491')](_0x302704[_0x1a4e('0x255')]),_0x18113a=_0x4133f3&&_0x5c3185(_0x4133f3)?_0x9745a0[_0x1a4e('0x25a')](_0x4133f3[_0x1a4e('0x255')]):_0x293000[_0x1a4e('0x53c5')],_0x27e293=_0x36e8b1&&_0x36e8b1[_0x1a4e('0x40')]===_0x683603[_0x1a4e('0x52f4')]?_0x36e8b1['value']:'',_0xf57c0=_0x19938f[_0x1a4e('0x21')](function(_0x4f39a9){return _0x3edb78(_0x4f39a9,_0x18113a,!0x1);})[_0x1a4e('0x9e')](_0x27e293);_0x1797cb[_0x1a4e('0x12c4')](_0x15ca8d[_0x1a4e('0x1317')](_0xf57c0));}}}else if(_0x40681f[_0x1a4e('0x40')]===_0x683603['IDENT_TOKEN'])switch(_0x40681f[_0x1a4e('0x255')]){case _0x1a4e('0x54c7'):_0x1797cb['appendChild'](_0x15ca8d[_0x1a4e('0x1317')](_0x4f3627(_0x206a52['quotes'],_0x8fab41[_0x1a4e('0x54a8')]++,!0x0)));break;case _0x1a4e('0x54c8'):_0x1797cb['appendChild'](_0x15ca8d[_0x1a4e('0x1317')](_0x4f3627(_0x206a52[_0x1a4e('0x5445')],--_0x8fab41[_0x1a4e('0x54a8')],!0x1)));break;default:_0x1797cb['appendChild'](_0x15ca8d[_0x1a4e('0x1317')](_0x40681f[_0x1a4e('0x255')]));}}),_0x1797cb[_0x1a4e('0x3158')]=_0x43176a+'\x20'+_0x2865b1,_0x40681f[_0x1a4e('0x3158')]+=_0x2a04f1===_0x4b2a9a[_0x1a4e('0x54bf')]?'\x20'+_0x43176a:'\x20'+_0x2865b1,_0x1797cb;}}},_0x4f39a9['destroy']=function(_0x4f39a9){return!!_0x4f39a9[_0x1a4e('0x4372')]&&(_0x4f39a9[_0x1a4e('0x4372')][_0x1a4e('0x12c5')](_0x4f39a9),!0x0);},_0x4f39a9;}();!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x54bf')]=0x0]='BEFORE',_0x4f39a9[_0x4f39a9[_0x1a4e('0x54c9')]=0x1]=_0x1a4e('0x54c9');}(_0x4b2a9a||(_0x4b2a9a={}));var _0x1f3ff4,_0x3e5628=function(_0x4f39a9,_0x40681f){var _0x44caca=_0x4f39a9[_0x1a4e('0xe3d')]('iframe');return _0x44caca[_0x1a4e('0x3158')]=_0x1a4e('0x54ca'),_0x44caca[_0x1a4e('0x375c')][_0x1a4e('0x546b')]=_0x1a4e('0x4698'),_0x44caca['style']['position']=_0x1a4e('0x5428'),_0x44caca[_0x1a4e('0x375c')]['left']=_0x1a4e('0x54cb'),_0x44caca[_0x1a4e('0x375c')][_0x1a4e('0x5e')]='0px',_0x44caca[_0x1a4e('0x375c')][_0x1a4e('0x3b28')]='0',_0x44caca['width']=_0x40681f[_0x1a4e('0x3936')][_0x1a4e('0x95')](),_0x44caca[_0x1a4e('0x152')]=_0x40681f[_0x1a4e('0x152')][_0x1a4e('0x95')](),_0x44caca['scrolling']='no',_0x44caca[_0x1a4e('0x3935')](_0x1a4e('0x54c0'),_0x1a4e('0xe7b')),_0x4f39a9['body'][_0x1a4e('0x12c4')](_0x44caca),_0x44caca;},_0x24d5ce=function(_0x4f39a9){return new Promise(function(_0x40681f,_0x44caca){var _0x2a04f1=_0x4f39a9[_0x1a4e('0x375e')];if(!_0x2a04f1)return _0x44caca(_0x1a4e('0x54cc'));var _0x8fab41=_0x2a04f1[_0x1a4e('0x134a')];_0x2a04f1['onload']=_0x4f39a9['onload']=_0x8fab41['onreadystatechange']=function(){_0x2a04f1['onload']=_0x4f39a9['onload']=_0x8fab41[_0x1a4e('0x154b')]=null;var _0x44caca=setInterval(function(){_0x8fab41[_0x1a4e('0x8f2')]['childNodes'][_0x1a4e('0x1e')]>0x0&&_0x1a4e('0x137f')===_0x8fab41[_0x1a4e('0x1627')]&&(clearInterval(_0x44caca),_0x40681f(_0x4f39a9));},0x32);};});},_0x4e0bea=function(_0x4f39a9,_0x40681f){for(var _0x44caca=_0x4f39a9[_0x1a4e('0x1e')]-0x1;_0x44caca>=0x0;_0x44caca--){var _0x2a04f1=_0x4f39a9['item'](_0x44caca);'content'!==_0x2a04f1&&_0x40681f[_0x1a4e('0x375c')][_0x1a4e('0x4517')](_0x2a04f1,_0x4f39a9[_0x1a4e('0x54cd')](_0x2a04f1));}return _0x40681f;},_0x5be705=function(_0x4f39a9){var _0x40681f='';return _0x4f39a9&&(_0x40681f+=_0x1a4e('0x54ce'),_0x4f39a9[_0x1a4e('0x2cb')]&&(_0x40681f+=_0x4f39a9[_0x1a4e('0x2cb')]),_0x4f39a9['internalSubset']&&(_0x40681f+=_0x4f39a9[_0x1a4e('0x54cf')]),_0x4f39a9[_0x1a4e('0x54d0')]&&(_0x40681f+='\x22'+_0x4f39a9[_0x1a4e('0x54d0')]+'\x22'),_0x4f39a9[_0x1a4e('0x54d1')]&&(_0x40681f+='\x22'+_0x4f39a9['systemId']+'\x22'),_0x40681f+='>'),_0x40681f;},_0x54b1f7=function(_0x4f39a9,_0x40681f,_0x44caca){_0x4f39a9&&_0x4f39a9['defaultView']&&(_0x40681f!==_0x4f39a9[_0x1a4e('0x4680')][_0x1a4e('0x54ac')]||_0x44caca!==_0x4f39a9[_0x1a4e('0x4680')][_0x1a4e('0x54ad')])&&_0x4f39a9[_0x1a4e('0x4680')][_0x1a4e('0x54af')](_0x40681f,_0x44caca);},_0x3d1378=function(_0x4f39a9){var _0x40681f=_0x4f39a9[0x0],_0x44caca=_0x4f39a9[0x1],_0x2a04f1=_0x4f39a9[0x2];_0x40681f[_0x1a4e('0x54c4')]=_0x44caca,_0x40681f['scrollTop']=_0x2a04f1;},_0x43176a=_0x1a4e('0x54d2'),_0x2865b1='___html2canvas___pseudoelement_after',_0x1eafd6=function(_0x4f39a9){_0x1f5caa(_0x4f39a9,'.'+_0x43176a+_0x1a4e('0x54d3')+_0x2865b1+_0x1a4e('0x54d4'));},_0x1f5caa=function(_0x4f39a9,_0x40681f){var _0x44caca=_0x4f39a9[_0x1a4e('0x5474')];if(_0x44caca){var _0x2a04f1=_0x44caca['createElement'](_0x1a4e('0x375c'));_0x2a04f1[_0x1a4e('0x1318')]=_0x40681f,_0x4f39a9[_0x1a4e('0x12c4')](_0x2a04f1);}};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9[_0x1a4e('0x4204')]=0x0]=_0x1a4e('0x4204'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x54d5')]=0x1]=_0x1a4e('0x54d5');}(_0x1f3ff4||(_0x1f3ff4={}));var _0x404cb0,_0x250023=function(_0x4f39a9,_0x40681f){return _0x4f39a9[_0x1a4e('0x1e')]===_0x40681f[_0x1a4e('0x1e')]&&_0x4f39a9[_0x1a4e('0x1c2')](function(_0x4f39a9,_0x44caca){return _0x4f39a9===_0x40681f[_0x44caca];});},_0x20f8d8=function(){function _0x4f39a9(_0x4f39a9,_0x40681f){this[_0x1a4e('0x40')]=_0x1f3ff4[_0x1a4e('0x4204')],this['x']=_0x4f39a9,this['y']=_0x40681f;}return _0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x177')]=function(_0x40681f,_0x44caca){return new _0x4f39a9(this['x']+_0x40681f,this['y']+_0x44caca);},_0x4f39a9;}(),_0x654409=function(_0x4f39a9,_0x40681f,_0x44caca){return new _0x20f8d8(_0x4f39a9['x']+(_0x40681f['x']-_0x4f39a9['x'])*_0x44caca,_0x4f39a9['y']+(_0x40681f['y']-_0x4f39a9['y'])*_0x44caca);},_0x12fac1=function(){function _0x4f39a9(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){this[_0x1a4e('0x40')]=_0x1f3ff4[_0x1a4e('0x54d5')],this['start']=_0x4f39a9,this[_0x1a4e('0x54d6')]=_0x40681f,this['endControl']=_0x44caca,this['end']=_0x2a04f1;}return _0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54d7')]=function(_0x40681f,_0x44caca){var _0x2a04f1=_0x654409(this[_0x1a4e('0xc9')],this['startControl'],_0x40681f),_0x8fab41=_0x654409(this[_0x1a4e('0x54d6')],this[_0x1a4e('0x54d8')],_0x40681f),_0x13e4bb=_0x654409(this['endControl'],this['end'],_0x40681f),_0x15ca8d=_0x654409(_0x2a04f1,_0x8fab41,_0x40681f),_0x206a52=_0x654409(_0x8fab41,_0x13e4bb,_0x40681f),_0x1797cb=_0x654409(_0x15ca8d,_0x206a52,_0x40681f);return _0x44caca?new _0x4f39a9(this['start'],_0x2a04f1,_0x15ca8d,_0x1797cb):new _0x4f39a9(_0x1797cb,_0x206a52,_0x13e4bb,this[_0x1a4e('0xca')]);},_0x4f39a9['prototype'][_0x1a4e('0x177')]=function(_0x40681f,_0x44caca){return new _0x4f39a9(this[_0x1a4e('0xc9')][_0x1a4e('0x177')](_0x40681f,_0x44caca),this['startControl']['add'](_0x40681f,_0x44caca),this['endControl'][_0x1a4e('0x177')](_0x40681f,_0x44caca),this['end']['add'](_0x40681f,_0x44caca));},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x9b')]=function(){return new _0x4f39a9(this[_0x1a4e('0xca')],this['endControl'],this['startControl'],this['start']);},_0x4f39a9;}(),_0x1a4a9b=function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x1f3ff4['BEZIER_CURVE'];},_0x50254f=function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0xe1d')],_0x44caca=_0x4f39a9[_0x1a4e('0x47e0')],_0x2a04f1=_0x406590(_0x40681f[_0x1a4e('0x544d')],_0x44caca[_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x152')]),_0x8fab41=_0x2a04f1[0x0],_0x13e4bb=_0x2a04f1[0x1],_0x15ca8d=_0x406590(_0x40681f[_0x1a4e('0x5485')],_0x44caca['width'],_0x44caca[_0x1a4e('0x152')]),_0x206a52=_0x15ca8d[0x0],_0x1797cb=_0x15ca8d[0x1],_0x302704=_0x406590(_0x40681f[_0x1a4e('0x544e')],_0x44caca[_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x152')]),_0x4133f3=_0x302704[0x0],_0x1002a1=_0x302704[0x1],_0x683603=_0x406590(_0x40681f[_0x1a4e('0x544f')],_0x44caca[_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x152')]),_0x318a81=_0x683603[0x0],_0x329d11=_0x683603[0x1],_0x36e8b1=[];_0x36e8b1[_0x1a4e('0x46')]((_0x8fab41+_0x206a52)/_0x44caca[_0x1a4e('0x3936')]),_0x36e8b1['push']((_0x318a81+_0x4133f3)/_0x44caca[_0x1a4e('0x3936')]),_0x36e8b1[_0x1a4e('0x46')]((_0x13e4bb+_0x329d11)/_0x44caca[_0x1a4e('0x152')]),_0x36e8b1[_0x1a4e('0x46')]((_0x1797cb+_0x1002a1)/_0x44caca['height']);var _0x19938f=Math[_0x1a4e('0x6c')]['apply'](Math,_0x36e8b1);_0x19938f>0x1&&(_0x8fab41/=_0x19938f,_0x13e4bb/=_0x19938f,_0x206a52/=_0x19938f,_0x1797cb/=_0x19938f,_0x4133f3/=_0x19938f,_0x1002a1/=_0x19938f,_0x318a81/=_0x19938f,_0x329d11/=_0x19938f);var _0x18113a=_0x44caca['width']-_0x206a52,_0x27e293=_0x44caca[_0x1a4e('0x152')]-_0x1002a1,_0xf57c0=_0x44caca['width']-_0x4133f3,_0x4423c6=_0x44caca['height']-_0x329d11,_0x141e9b=_0x40681f[_0x1a4e('0x5454')],_0xb7f585=_0x40681f[_0x1a4e('0x5455')],_0x1158fc=_0x40681f[_0x1a4e('0x5456')],_0x2e2ea1=_0x40681f[_0x1a4e('0x5457')],_0x3d181f=_0x516d71(_0x40681f[_0x1a4e('0x4299')],_0x4f39a9['bounds'][_0x1a4e('0x3936')]),_0x585dcf=_0x516d71(_0x40681f[_0x1a4e('0x4298')],_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x3936')]),_0x1c3b85=_0x516d71(_0x40681f[_0x1a4e('0x429a')],_0x4f39a9[_0x1a4e('0x47e0')]['width']),_0x2d7b6b=_0x516d71(_0x40681f[_0x1a4e('0x4297')],_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x3936')]);this[_0x1a4e('0x54d9')]=_0x8fab41>0x0||_0x13e4bb>0x0?_0x325555(_0x44caca[_0x1a4e('0x5f')],_0x44caca[_0x1a4e('0x5e')],_0x8fab41,_0x13e4bb,_0x404cb0[_0x1a4e('0x54da')]):new _0x20f8d8(_0x44caca[_0x1a4e('0x5f')],_0x44caca[_0x1a4e('0x5e')]),this['topRightBorderBox']=_0x206a52>0x0||_0x1797cb>0x0?_0x325555(_0x44caca[_0x1a4e('0x5f')]+_0x18113a,_0x44caca[_0x1a4e('0x5e')],_0x206a52,_0x1797cb,_0x404cb0[_0x1a4e('0x54db')]):new _0x20f8d8(_0x44caca[_0x1a4e('0x5f')]+_0x44caca[_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x5e')]),this['bottomRightBorderBox']=_0x4133f3>0x0||_0x1002a1>0x0?_0x325555(_0x44caca[_0x1a4e('0x5f')]+_0xf57c0,_0x44caca['top']+_0x27e293,_0x4133f3,_0x1002a1,_0x404cb0[_0x1a4e('0x54dc')]):new _0x20f8d8(_0x44caca['left']+_0x44caca[_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x5e')]+_0x44caca[_0x1a4e('0x152')]),this[_0x1a4e('0x54dd')]=_0x318a81>0x0||_0x329d11>0x0?_0x325555(_0x44caca[_0x1a4e('0x5f')],_0x44caca[_0x1a4e('0x5e')]+_0x4423c6,_0x318a81,_0x329d11,_0x404cb0[_0x1a4e('0x54de')]):new _0x20f8d8(_0x44caca['left'],_0x44caca['top']+_0x44caca['height']),this[_0x1a4e('0x54df')]=_0x8fab41>0x0||_0x13e4bb>0x0?_0x325555(_0x44caca[_0x1a4e('0x5f')]+_0x2e2ea1,_0x44caca[_0x1a4e('0x5e')]+_0x141e9b,Math[_0x1a4e('0x6c')](0x0,_0x8fab41-_0x2e2ea1),Math[_0x1a4e('0x6c')](0x0,_0x13e4bb-_0x141e9b),_0x404cb0[_0x1a4e('0x54da')]):new _0x20f8d8(_0x44caca[_0x1a4e('0x5f')]+_0x2e2ea1,_0x44caca[_0x1a4e('0x5e')]+_0x141e9b),this[_0x1a4e('0x54e0')]=_0x206a52>0x0||_0x1797cb>0x0?_0x325555(_0x44caca['left']+Math['min'](_0x18113a,_0x44caca[_0x1a4e('0x3936')]+_0x2e2ea1),_0x44caca[_0x1a4e('0x5e')]+_0x141e9b,_0x18113a>_0x44caca['width']+_0x2e2ea1?0x0:_0x206a52-_0x2e2ea1,_0x1797cb-_0x141e9b,_0x404cb0[_0x1a4e('0x54db')]):new _0x20f8d8(_0x44caca['left']+_0x44caca[_0x1a4e('0x3936')]-_0xb7f585,_0x44caca['top']+_0x141e9b),this[_0x1a4e('0x54e1')]=_0x4133f3>0x0||_0x1002a1>0x0?_0x325555(_0x44caca[_0x1a4e('0x5f')]+Math[_0x1a4e('0x74')](_0xf57c0,_0x44caca[_0x1a4e('0x3936')]-_0x2e2ea1),_0x44caca[_0x1a4e('0x5e')]+Math['min'](_0x27e293,_0x44caca[_0x1a4e('0x152')]+_0x141e9b),Math[_0x1a4e('0x6c')](0x0,_0x4133f3-_0xb7f585),_0x1002a1-_0x1158fc,_0x404cb0[_0x1a4e('0x54dc')]):new _0x20f8d8(_0x44caca[_0x1a4e('0x5f')]+_0x44caca[_0x1a4e('0x3936')]-_0xb7f585,_0x44caca['top']+_0x44caca['height']-_0x1158fc),this[_0x1a4e('0x54e2')]=_0x318a81>0x0||_0x329d11>0x0?_0x325555(_0x44caca['left']+_0x2e2ea1,_0x44caca[_0x1a4e('0x5e')]+_0x4423c6,Math[_0x1a4e('0x6c')](0x0,_0x318a81-_0x2e2ea1),_0x329d11-_0x1158fc,_0x404cb0[_0x1a4e('0x54de')]):new _0x20f8d8(_0x44caca['left']+_0x2e2ea1,_0x44caca[_0x1a4e('0x5e')]+_0x44caca[_0x1a4e('0x152')]-_0x1158fc),this['topLeftContentBox']=_0x8fab41>0x0||_0x13e4bb>0x0?_0x325555(_0x44caca['left']+_0x2e2ea1+_0x2d7b6b,_0x44caca[_0x1a4e('0x5e')]+_0x141e9b+_0x3d181f,Math[_0x1a4e('0x6c')](0x0,_0x8fab41-(_0x2e2ea1+_0x2d7b6b)),Math[_0x1a4e('0x6c')](0x0,_0x13e4bb-(_0x141e9b+_0x3d181f)),_0x404cb0[_0x1a4e('0x54da')]):new _0x20f8d8(_0x44caca[_0x1a4e('0x5f')]+_0x2e2ea1+_0x2d7b6b,_0x44caca['top']+_0x141e9b+_0x3d181f),this[_0x1a4e('0x54e3')]=_0x206a52>0x0||_0x1797cb>0x0?_0x325555(_0x44caca[_0x1a4e('0x5f')]+Math[_0x1a4e('0x74')](_0x18113a,_0x44caca[_0x1a4e('0x3936')]+_0x2e2ea1+_0x2d7b6b),_0x44caca[_0x1a4e('0x5e')]+_0x141e9b+_0x3d181f,_0x18113a>_0x44caca['width']+_0x2e2ea1+_0x2d7b6b?0x0:_0x206a52-_0x2e2ea1+_0x2d7b6b,_0x1797cb-(_0x141e9b+_0x3d181f),_0x404cb0[_0x1a4e('0x54db')]):new _0x20f8d8(_0x44caca[_0x1a4e('0x5f')]+_0x44caca['width']-(_0xb7f585+_0x585dcf),_0x44caca['top']+_0x141e9b+_0x3d181f),this[_0x1a4e('0x54e4')]=_0x4133f3>0x0||_0x1002a1>0x0?_0x325555(_0x44caca[_0x1a4e('0x5f')]+Math[_0x1a4e('0x74')](_0xf57c0,_0x44caca[_0x1a4e('0x3936')]-(_0x2e2ea1+_0x2d7b6b)),_0x44caca[_0x1a4e('0x5e')]+Math[_0x1a4e('0x74')](_0x27e293,_0x44caca['height']+_0x141e9b+_0x3d181f),Math[_0x1a4e('0x6c')](0x0,_0x4133f3-(_0xb7f585+_0x585dcf)),_0x1002a1-(_0x1158fc+_0x1c3b85),_0x404cb0[_0x1a4e('0x54dc')]):new _0x20f8d8(_0x44caca['left']+_0x44caca['width']-(_0xb7f585+_0x585dcf),_0x44caca[_0x1a4e('0x5e')]+_0x44caca['height']-(_0x1158fc+_0x1c3b85)),this['bottomLeftContentBox']=_0x318a81>0x0||_0x329d11>0x0?_0x325555(_0x44caca['left']+_0x2e2ea1+_0x2d7b6b,_0x44caca[_0x1a4e('0x5e')]+_0x4423c6,Math[_0x1a4e('0x6c')](0x0,_0x318a81-(_0x2e2ea1+_0x2d7b6b)),_0x329d11-(_0x1158fc+_0x1c3b85),_0x404cb0[_0x1a4e('0x54de')]):new _0x20f8d8(_0x44caca[_0x1a4e('0x5f')]+_0x2e2ea1+_0x2d7b6b,_0x44caca['top']+_0x44caca[_0x1a4e('0x152')]-(_0x1158fc+_0x1c3b85));};!function(_0x4f39a9){_0x4f39a9[_0x4f39a9['TOP_LEFT']=0x0]=_0x1a4e('0x54da'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x54db')]=0x1]=_0x1a4e('0x54db'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x54dc')]=0x2]=_0x1a4e('0x54dc'),_0x4f39a9[_0x4f39a9[_0x1a4e('0x54de')]=0x3]=_0x1a4e('0x54de');}(_0x404cb0||(_0x404cb0={}));var _0x325555=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41){var _0x13e4bb=(Math[_0x1a4e('0x91')](0x2)-0x1)/0x3*0x4,_0x15ca8d=_0x44caca*_0x13e4bb,_0x206a52=_0x2a04f1*_0x13e4bb,_0x1797cb=_0x4f39a9+_0x44caca,_0x302704=_0x40681f+_0x2a04f1;switch(_0x8fab41){case _0x404cb0[_0x1a4e('0x54da')]:return new _0x12fac1(new _0x20f8d8(_0x4f39a9,_0x302704),new _0x20f8d8(_0x4f39a9,_0x302704-_0x206a52),new _0x20f8d8(_0x1797cb-_0x15ca8d,_0x40681f),new _0x20f8d8(_0x1797cb,_0x40681f));case _0x404cb0[_0x1a4e('0x54db')]:return new _0x12fac1(new _0x20f8d8(_0x4f39a9,_0x40681f),new _0x20f8d8(_0x4f39a9+_0x15ca8d,_0x40681f),new _0x20f8d8(_0x1797cb,_0x302704-_0x206a52),new _0x20f8d8(_0x1797cb,_0x302704));case _0x404cb0[_0x1a4e('0x54dc')]:return new _0x12fac1(new _0x20f8d8(_0x1797cb,_0x40681f),new _0x20f8d8(_0x1797cb,_0x40681f+_0x206a52),new _0x20f8d8(_0x4f39a9+_0x15ca8d,_0x302704),new _0x20f8d8(_0x4f39a9,_0x302704));case _0x404cb0['BOTTOM_LEFT']:default:return new _0x12fac1(new _0x20f8d8(_0x1797cb,_0x302704),new _0x20f8d8(_0x1797cb-_0x15ca8d,_0x302704),new _0x20f8d8(_0x4f39a9,_0x40681f+_0x206a52),new _0x20f8d8(_0x4f39a9,_0x40681f));}},_0xc685d0=function(_0x4f39a9){return[_0x4f39a9[_0x1a4e('0x54d9')],_0x4f39a9[_0x1a4e('0x54e5')],_0x4f39a9['bottomRightBorderBox'],_0x4f39a9[_0x1a4e('0x54dd')]];},_0x4d331d=function(_0x4f39a9){return[_0x4f39a9[_0x1a4e('0x54df')],_0x4f39a9[_0x1a4e('0x54e0')],_0x4f39a9[_0x1a4e('0x54e1')],_0x4f39a9['bottomLeftPaddingBox']];},_0x1afb1a=function(_0x4f39a9,_0x40681f,_0x44caca){this[_0x1a4e('0x40')]=0x0,this[_0x1a4e('0x542b')]=_0x4f39a9,this[_0x1a4e('0x542c')]=_0x40681f,this['matrix']=_0x44caca,this[_0x1a4e('0xd95')]=0x6;},_0x5ad965=function(_0x4f39a9,_0x40681f){this['type']=0x1,this['target']=_0x40681f,this['path']=_0x4f39a9;},_0x121208=function(_0x4f39a9){this[_0x1a4e('0x26ee')]=_0x4f39a9,this[_0x1a4e('0x54e6')]=[],this[_0x1a4e('0x54e7')]=[],this['negativeZIndex']=[],this[_0x1a4e('0x54e8')]=[],this[_0x1a4e('0x54e9')]=[],this['nonPositionedFloats']=[],this['nonPositionedInlineLevel']=[];},_0x2ee2ad=function(){function _0x4f39a9(_0x4f39a9,_0x40681f){if(this['container']=_0x4f39a9,this['effects']=_0x40681f['slice'](0x0),this[_0x1a4e('0x958')]=new _0x50254f(_0x4f39a9),null!==_0x4f39a9[_0x1a4e('0xe1d')][_0x1a4e('0x93')]){var _0x44caca=_0x4f39a9['bounds']['left']+_0x4f39a9[_0x1a4e('0xe1d')][_0x1a4e('0x546a')][0x0][_0x1a4e('0x3d')],_0x2a04f1=_0x4f39a9[_0x1a4e('0x47e0')]['top']+_0x4f39a9['styles'][_0x1a4e('0x546a')][0x1]['number'],_0x8fab41=_0x4f39a9['styles'][_0x1a4e('0x93')];this[_0x1a4e('0x54ea')]['push'](new _0x1afb1a(_0x44caca,_0x2a04f1,_0x8fab41));}if(_0x4f39a9[_0x1a4e('0xe1d')][_0x1a4e('0x5463')]!==_0x51655a['VISIBLE']){var _0x13e4bb=_0xc685d0(this['curves']),_0x15ca8d=_0x4d331d(this[_0x1a4e('0x958')]);_0x250023(_0x13e4bb,_0x15ca8d)?this[_0x1a4e('0x54ea')][_0x1a4e('0x46')](new _0x5ad965(_0x13e4bb,0x6)):(this['effects'][_0x1a4e('0x46')](new _0x5ad965(_0x13e4bb,0x2)),this[_0x1a4e('0x54ea')][_0x1a4e('0x46')](new _0x5ad965(_0x15ca8d,0x4)));}}return _0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54eb')]=function(){var _0x4f39a9=this['effects'][_0x1a4e('0x78')](0x0);if(this[_0x1a4e('0x12d8')][_0x1a4e('0xe1d')][_0x1a4e('0x5463')]!==_0x51655a[_0x1a4e('0x541b')]){var _0x40681f=_0xc685d0(this[_0x1a4e('0x958')]),_0x44caca=_0x4d331d(this[_0x1a4e('0x958')]);_0x250023(_0x40681f,_0x44caca)||_0x4f39a9['push'](new _0x5ad965(_0x44caca,0x6));}return _0x4f39a9;},_0x4f39a9;}(),_0x62bf12=function(_0x4f39a9,_0x40681f){for(var _0x44caca=_0x4f39a9 instanceof _0x1f9b79?_0x4f39a9[_0x1a4e('0xc9')]:0x1,_0x2a04f1=_0x4f39a9 instanceof _0x1f9b79&&_0x4f39a9['reversed'],_0x8fab41=0x0;_0x8fab41<_0x40681f[_0x1a4e('0x1e')];_0x8fab41++){var _0x13e4bb=_0x40681f[_0x8fab41];_0x13e4bb[_0x1a4e('0x12d8')]instanceof _0x32dc32&&_0x1a4e('0x3d')==typeof _0x13e4bb[_0x1a4e('0x12d8')]['value']&&0x0!==_0x13e4bb['container'][_0x1a4e('0x255')]&&(_0x44caca=_0x13e4bb[_0x1a4e('0x12d8')][_0x1a4e('0x255')]),_0x13e4bb[_0x1a4e('0x54ec')]=_0x3edb78(_0x44caca,_0x13e4bb[_0x1a4e('0x12d8')][_0x1a4e('0xe1d')][_0x1a4e('0x54ed')],!0x0),_0x44caca+=_0x2a04f1?-0x1:0x1;}},_0x492ac6=function(_0x4f39a9){var _0x40681f=new _0x2ee2ad(_0x4f39a9,[]),_0x44caca=new _0x121208(_0x40681f),_0x2a04f1=[];return function _0x4f39a9(_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41){_0x40681f[_0x1a4e('0x12d8')]['elements']['forEach'](function(_0x13e4bb){var _0x15ca8d=_0x27c6c7(_0x13e4bb[_0x1a4e('0x7b2')],0x4),_0x206a52=_0x27c6c7(_0x13e4bb['flags'],0x2),_0x1797cb=new _0x2ee2ad(_0x13e4bb,_0x40681f[_0x1a4e('0x54eb')]());_0x27c6c7(_0x13e4bb[_0x1a4e('0xe1d')]['display'],0x800)&&_0x8fab41[_0x1a4e('0x46')](_0x1797cb);var _0x302704=_0x27c6c7(_0x13e4bb[_0x1a4e('0x7b2')],0x8)?[]:_0x8fab41;if(_0x15ca8d||_0x206a52){var _0x4133f3=_0x15ca8d||_0x13e4bb[_0x1a4e('0xe1d')][_0x1a4e('0x546e')]()?_0x2a04f1:_0x44caca,_0x1002a1=new _0x121208(_0x1797cb);if(_0x13e4bb[_0x1a4e('0xe1d')]['isPositioned']()||_0x13e4bb[_0x1a4e('0xe1d')][_0x1a4e('0x47bd')]<0x1||_0x13e4bb[_0x1a4e('0xe1d')][_0x1a4e('0x546d')]()){var _0x683603=_0x13e4bb[_0x1a4e('0xe1d')]['zIndex'][_0x1a4e('0x933')];if(_0x683603<0x0){var _0x318a81=0x0;_0x4133f3[_0x1a4e('0x54ee')][_0x1a4e('0x1c2')](function(_0x4f39a9,_0x40681f){return _0x683603>_0x4f39a9[_0x1a4e('0x26ee')][_0x1a4e('0x12d8')]['styles']['zIndex'][_0x1a4e('0x933')]?(_0x318a81=_0x40681f,!0x1):_0x318a81>0x0;}),_0x4133f3[_0x1a4e('0x54ee')][_0x1a4e('0x8a')](_0x318a81,0x0,_0x1002a1);}else if(_0x683603>0x0){var _0x329d11=0x0;_0x4133f3[_0x1a4e('0x54e9')]['some'](function(_0x4f39a9,_0x40681f){return _0x683603>_0x4f39a9['element'][_0x1a4e('0x12d8')]['styles'][_0x1a4e('0x3eeb')]['order']?(_0x329d11=_0x40681f+0x1,!0x1):_0x329d11>0x0;}),_0x4133f3[_0x1a4e('0x54e9')]['splice'](_0x329d11,0x0,_0x1002a1);}else _0x4133f3[_0x1a4e('0x54e8')][_0x1a4e('0x46')](_0x1002a1);}else _0x13e4bb['styles']['isFloating']()?_0x4133f3['nonPositionedFloats'][_0x1a4e('0x46')](_0x1002a1):_0x4133f3[_0x1a4e('0x54ef')][_0x1a4e('0x46')](_0x1002a1);_0x4f39a9(_0x1797cb,_0x1002a1,_0x15ca8d?_0x1002a1:_0x2a04f1,_0x302704);}else _0x13e4bb['styles'][_0x1a4e('0x5470')]()?_0x44caca[_0x1a4e('0x54e6')][_0x1a4e('0x46')](_0x1797cb):_0x44caca[_0x1a4e('0x54e7')]['push'](_0x1797cb),_0x4f39a9(_0x1797cb,_0x44caca,_0x2a04f1,_0x302704);_0x27c6c7(_0x13e4bb[_0x1a4e('0x7b2')],0x8)&&_0x62bf12(_0x13e4bb,_0x302704);});}(_0x40681f,_0x44caca,_0x44caca,_0x2a04f1),_0x62bf12(_0x40681f[_0x1a4e('0x12d8')],_0x2a04f1),_0x44caca;},_0x2dcfca=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){var _0x8fab41=[];return _0x1a4a9b(_0x4f39a9)?_0x8fab41[_0x1a4e('0x46')](_0x4f39a9['subdivide'](0.5,!0x1)):_0x8fab41['push'](_0x4f39a9),_0x1a4a9b(_0x44caca)?_0x8fab41['push'](_0x44caca[_0x1a4e('0x54d7')](0.5,!0x0)):_0x8fab41[_0x1a4e('0x46')](_0x44caca),_0x1a4a9b(_0x2a04f1)?_0x8fab41[_0x1a4e('0x46')](_0x2a04f1['subdivide'](0.5,!0x0)[_0x1a4e('0x9b')]()):_0x8fab41[_0x1a4e('0x46')](_0x2a04f1),_0x1a4a9b(_0x40681f)?_0x8fab41[_0x1a4e('0x46')](_0x40681f[_0x1a4e('0x54d7')](0.5,!0x1)[_0x1a4e('0x9b')]()):_0x8fab41['push'](_0x40681f),_0x8fab41;},_0x24b19d=function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0x47e0')],_0x44caca=_0x4f39a9['styles'];return _0x40681f[_0x1a4e('0x177')](_0x44caca[_0x1a4e('0x5457')],_0x44caca['borderTopWidth'],-(_0x44caca[_0x1a4e('0x5455')]+_0x44caca[_0x1a4e('0x5457')]),-(_0x44caca[_0x1a4e('0x5454')]+_0x44caca['borderBottomWidth']));},_0x1fba4e=function(_0x4f39a9){var _0x40681f=_0x4f39a9['styles'],_0x44caca=_0x4f39a9[_0x1a4e('0x47e0')],_0x2a04f1=_0x516d71(_0x40681f[_0x1a4e('0x4297')],_0x44caca['width']),_0x8fab41=_0x516d71(_0x40681f[_0x1a4e('0x4298')],_0x44caca[_0x1a4e('0x3936')]),_0x13e4bb=_0x516d71(_0x40681f[_0x1a4e('0x4299')],_0x44caca[_0x1a4e('0x3936')]),_0x15ca8d=_0x516d71(_0x40681f[_0x1a4e('0x429a')],_0x44caca[_0x1a4e('0x3936')]);return _0x44caca[_0x1a4e('0x177')](_0x2a04f1+_0x40681f[_0x1a4e('0x5457')],_0x13e4bb+_0x40681f['borderTopWidth'],-(_0x40681f[_0x1a4e('0x5455')]+_0x40681f['borderLeftWidth']+_0x2a04f1+_0x8fab41),-(_0x40681f['borderTopWidth']+_0x40681f[_0x1a4e('0x5456')]+_0x13e4bb+_0x15ca8d));},_0x37efa3=function(_0x4f39a9,_0x40681f,_0x44caca){var _0x2a04f1=function(_0x4f39a9,_0x40681f){return 0x0===_0x4f39a9?_0x40681f[_0x1a4e('0x47e0')]:0x2===_0x4f39a9?_0x1fba4e(_0x40681f):_0x24b19d(_0x40681f);}(_0x33ad82(_0x4f39a9['styles'][_0x1a4e('0x5449')],_0x40681f),_0x4f39a9),_0x8fab41=function(_0x4f39a9,_0x40681f){return _0x4f39a9===_0x568255[_0x1a4e('0x534b')]?_0x40681f[_0x1a4e('0x47e0')]:_0x4f39a9===_0x568255['CONTENT_BOX']?_0x1fba4e(_0x40681f):_0x24b19d(_0x40681f);}(_0x33ad82(_0x4f39a9[_0x1a4e('0xe1d')][_0x1a4e('0x5448')],_0x40681f),_0x4f39a9),_0x13e4bb=_0x50b03e(_0x33ad82(_0x4f39a9[_0x1a4e('0xe1d')]['backgroundSize'],_0x40681f),_0x44caca,_0x2a04f1),_0x15ca8d=_0x13e4bb[0x0],_0x206a52=_0x13e4bb[0x1],_0x1797cb=_0x406590(_0x33ad82(_0x4f39a9[_0x1a4e('0xe1d')][_0x1a4e('0x4516')],_0x40681f),_0x2a04f1[_0x1a4e('0x3936')]-_0x15ca8d,_0x2a04f1['height']-_0x206a52);return[_0x5e2ee7(_0x33ad82(_0x4f39a9[_0x1a4e('0xe1d')][_0x1a4e('0x4518')],_0x40681f),_0x1797cb,_0x13e4bb,_0x2a04f1,_0x8fab41),Math['round'](_0x2a04f1[_0x1a4e('0x5f')]+_0x1797cb[0x0]),Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5e')]+_0x1797cb[0x1]),_0x15ca8d,_0x206a52];},_0x151e71=function(_0x4f39a9){return _0x5c3185(_0x4f39a9)&&_0x4f39a9[_0x1a4e('0x255')]===_0x3739e0[_0x1a4e('0x539b')];},_0x37f4e9=function(_0x4f39a9){return'number'==typeof _0x4f39a9;},_0x50b03e=function(_0x4f39a9,_0x40681f,_0x44caca){var _0x2a04f1=_0x40681f[0x0],_0x8fab41=_0x40681f[0x1],_0x13e4bb=_0x40681f[0x2],_0x15ca8d=_0x4f39a9[0x0],_0x206a52=_0x4f39a9[0x1];if(_0x3504a5(_0x15ca8d)&&_0x206a52&&_0x3504a5(_0x206a52))return[_0x516d71(_0x15ca8d,_0x44caca[_0x1a4e('0x3936')]),_0x516d71(_0x206a52,_0x44caca[_0x1a4e('0x152')])];var _0x1797cb=_0x37f4e9(_0x13e4bb);if(_0x5c3185(_0x15ca8d)&&(_0x15ca8d[_0x1a4e('0x255')]===_0x3739e0[_0x1a4e('0x539c')]||_0x15ca8d[_0x1a4e('0x255')]===_0x3739e0[_0x1a4e('0x539d')]))return _0x37f4e9(_0x13e4bb)?_0x44caca[_0x1a4e('0x3936')]/_0x44caca[_0x1a4e('0x152')]<_0x13e4bb!=(_0x15ca8d['value']===_0x3739e0[_0x1a4e('0x539d')])?[_0x44caca[_0x1a4e('0x3936')],_0x44caca['width']/_0x13e4bb]:[_0x44caca['height']*_0x13e4bb,_0x44caca['height']]:[_0x44caca[_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x152')]];var _0x302704=_0x37f4e9(_0x2a04f1),_0x4133f3=_0x37f4e9(_0x8fab41),_0x1002a1=_0x302704||_0x4133f3;if(_0x151e71(_0x15ca8d)&&(!_0x206a52||_0x151e71(_0x206a52)))return _0x302704&&_0x4133f3?[_0x2a04f1,_0x8fab41]:_0x1797cb||_0x1002a1?_0x1002a1&&_0x1797cb?[_0x302704?_0x2a04f1:_0x8fab41*_0x13e4bb,_0x4133f3?_0x8fab41:_0x2a04f1/_0x13e4bb]:[_0x302704?_0x2a04f1:_0x44caca['width'],_0x4133f3?_0x8fab41:_0x44caca[_0x1a4e('0x152')]]:[_0x44caca[_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x152')]];if(_0x1797cb){var _0x683603=0x0,_0x318a81=0x0;return _0x3504a5(_0x15ca8d)?_0x683603=_0x516d71(_0x15ca8d,_0x44caca['width']):_0x3504a5(_0x206a52)&&(_0x318a81=_0x516d71(_0x206a52,_0x44caca['height'])),_0x151e71(_0x15ca8d)?_0x683603=_0x318a81*_0x13e4bb:_0x206a52&&!_0x151e71(_0x206a52)||(_0x318a81=_0x683603/_0x13e4bb),[_0x683603,_0x318a81];}var _0x329d11=null,_0x36e8b1=null;if(_0x3504a5(_0x15ca8d)?_0x329d11=_0x516d71(_0x15ca8d,_0x44caca[_0x1a4e('0x3936')]):_0x206a52&&_0x3504a5(_0x206a52)&&(_0x36e8b1=_0x516d71(_0x206a52,_0x44caca['height'])),null===_0x329d11||_0x206a52&&!_0x151e71(_0x206a52)||(_0x36e8b1=_0x302704&&_0x4133f3?_0x329d11/_0x2a04f1*_0x8fab41:_0x44caca['height']),null!==_0x36e8b1&&_0x151e71(_0x15ca8d)&&(_0x329d11=_0x302704&&_0x4133f3?_0x36e8b1/_0x8fab41*_0x2a04f1:_0x44caca['width']),null!==_0x329d11&&null!==_0x36e8b1)return[_0x329d11,_0x36e8b1];throw new Error('Unable\x20to\x20calculate\x20background-size\x20for\x20element');},_0x33ad82=function(_0x4f39a9,_0x40681f){var _0x44caca=_0x4f39a9[_0x40681f];return void 0x0===_0x44caca?_0x4f39a9[0x0]:_0x44caca;},_0x5e2ee7=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41){var _0x13e4bb=_0x40681f[0x0],_0x15ca8d=_0x40681f[0x1],_0x206a52=_0x44caca[0x0],_0x1797cb=_0x44caca[0x1];switch(_0x4f39a9){case _0x1555a9[_0x1a4e('0x5395')]:return[new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x2a04f1['left']),Math['round'](_0x2a04f1['top']+_0x15ca8d)),new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5f')]+_0x2a04f1[_0x1a4e('0x3936')]),Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5e')]+_0x15ca8d)),new _0x20f8d8(Math['round'](_0x2a04f1['left']+_0x2a04f1['width']),Math[_0x1a4e('0x2a')](_0x1797cb+_0x2a04f1[_0x1a4e('0x5e')]+_0x15ca8d)),new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5f')]),Math[_0x1a4e('0x2a')](_0x1797cb+_0x2a04f1[_0x1a4e('0x5e')]+_0x15ca8d))];case _0x1555a9['REPEAT_Y']:return[new _0x20f8d8(Math['round'](_0x2a04f1[_0x1a4e('0x5f')]+_0x13e4bb),Math[_0x1a4e('0x2a')](_0x2a04f1['top'])),new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x2a04f1['left']+_0x13e4bb+_0x206a52),Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5e')])),new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x2a04f1['left']+_0x13e4bb+_0x206a52),Math['round'](_0x2a04f1['height']+_0x2a04f1['top'])),new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5f')]+_0x13e4bb),Math[_0x1a4e('0x2a')](_0x2a04f1['height']+_0x2a04f1['top']))];case _0x1555a9['NO_REPEAT']:return[new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5f')]+_0x13e4bb),Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5e')]+_0x15ca8d)),new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5f')]+_0x13e4bb+_0x206a52),Math['round'](_0x2a04f1[_0x1a4e('0x5e')]+_0x15ca8d)),new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5f')]+_0x13e4bb+_0x206a52),Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5e')]+_0x15ca8d+_0x1797cb)),new _0x20f8d8(Math['round'](_0x2a04f1[_0x1a4e('0x5f')]+_0x13e4bb),Math[_0x1a4e('0x2a')](_0x2a04f1[_0x1a4e('0x5e')]+_0x15ca8d+_0x1797cb))];default:return[new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x8fab41[_0x1a4e('0x5f')]),Math[_0x1a4e('0x2a')](_0x8fab41[_0x1a4e('0x5e')])),new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x8fab41[_0x1a4e('0x5f')]+_0x8fab41[_0x1a4e('0x3936')]),Math[_0x1a4e('0x2a')](_0x8fab41[_0x1a4e('0x5e')])),new _0x20f8d8(Math['round'](_0x8fab41[_0x1a4e('0x5f')]+_0x8fab41[_0x1a4e('0x3936')]),Math[_0x1a4e('0x2a')](_0x8fab41[_0x1a4e('0x152')]+_0x8fab41[_0x1a4e('0x5e')])),new _0x20f8d8(Math[_0x1a4e('0x2a')](_0x8fab41['left']),Math[_0x1a4e('0x2a')](_0x8fab41['height']+_0x8fab41[_0x1a4e('0x5e')]))];}},_0x34e967=function(){function _0x4f39a9(_0x4f39a9){this['_data']={},this[_0x1a4e('0x54f0')]=_0x4f39a9;}return _0x4f39a9['prototype'][_0x1a4e('0x54f1')]=function(_0x4f39a9,_0x40681f){var _0x44caca=this[_0x1a4e('0x54f0')][_0x1a4e('0xe3d')](_0x1a4e('0x9d6')),_0x2a04f1=this['_document'][_0x1a4e('0xe3d')]('img'),_0x8fab41=this[_0x1a4e('0x54f0')][_0x1a4e('0xe3d')](_0x1a4e('0x24c0')),_0x13e4bb=this[_0x1a4e('0x54f0')][_0x1a4e('0x8f2')];_0x44caca[_0x1a4e('0x375c')]['visibility']=_0x1a4e('0x4698'),_0x44caca[_0x1a4e('0x375c')]['fontFamily']=_0x4f39a9,_0x44caca[_0x1a4e('0x375c')][_0x1a4e('0x4207')]=_0x40681f,_0x44caca['style']['margin']='0',_0x44caca[_0x1a4e('0x375c')][_0x1a4e('0x1272')]='0',_0x13e4bb[_0x1a4e('0x12c4')](_0x44caca),_0x2a04f1[_0x1a4e('0xe05')]=_0x1a4e('0x54f2'),_0x2a04f1['width']=0x1,_0x2a04f1[_0x1a4e('0x152')]=0x1,_0x2a04f1[_0x1a4e('0x375c')][_0x1a4e('0x43a5')]='0',_0x2a04f1[_0x1a4e('0x375c')]['padding']='0',_0x2a04f1['style']['verticalAlign']=_0x1a4e('0x4501'),_0x8fab41[_0x1a4e('0x375c')][_0x1a4e('0x4290')]=_0x4f39a9,_0x8fab41['style'][_0x1a4e('0x4207')]=_0x40681f,_0x8fab41['style'][_0x1a4e('0x43a5')]='0',_0x8fab41[_0x1a4e('0x375c')][_0x1a4e('0x1272')]='0',_0x8fab41[_0x1a4e('0x12c4')](this[_0x1a4e('0x54f0')][_0x1a4e('0x1317')](_0x1a4e('0x54f3'))),_0x44caca[_0x1a4e('0x12c4')](_0x8fab41),_0x44caca[_0x1a4e('0x12c4')](_0x2a04f1);var _0x15ca8d=_0x2a04f1[_0x1a4e('0x39cc')]-_0x8fab41[_0x1a4e('0x39cc')]+0x2;_0x44caca['removeChild'](_0x8fab41),_0x44caca[_0x1a4e('0x12c4')](this[_0x1a4e('0x54f0')]['createTextNode'](_0x1a4e('0x54f3'))),_0x44caca[_0x1a4e('0x375c')]['lineHeight']=_0x1a4e('0x951'),_0x2a04f1[_0x1a4e('0x375c')]['verticalAlign']=_0x1a4e('0x22ac');var _0x206a52=_0x2a04f1[_0x1a4e('0x39cc')]-_0x44caca[_0x1a4e('0x39cc')]+0x2;return _0x13e4bb['removeChild'](_0x44caca),{'baseline':_0x15ca8d,'middle':_0x206a52};},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54f4')]=function(_0x4f39a9,_0x40681f){var _0x44caca=_0x4f39a9+'\x20'+_0x40681f;return void 0x0===this['_data'][_0x44caca]&&(this[_0x1a4e('0x4f8')][_0x44caca]=this['parseMetrics'](_0x4f39a9,_0x40681f)),this['_data'][_0x44caca];},_0x4f39a9;}(),_0x5e5b4f=function(){function _0x4f39a9(_0x4f39a9){this[_0x1a4e('0x54f5')]=[],this[_0x1a4e('0x3934')]=_0x4f39a9[_0x1a4e('0x3934')]?_0x4f39a9[_0x1a4e('0x3934')]:document[_0x1a4e('0xe3d')](_0x1a4e('0x3934')),this[_0x1a4e('0x169f')]=this[_0x1a4e('0x3934')][_0x1a4e('0x51c')]('2d'),this[_0x1a4e('0x8dc')]=_0x4f39a9,_0x4f39a9[_0x1a4e('0x3934')]||(this['canvas'][_0x1a4e('0x3936')]=Math[_0x1a4e('0xb4')](_0x4f39a9[_0x1a4e('0x3936')]*_0x4f39a9[_0x1a4e('0x143')]),this[_0x1a4e('0x3934')]['height']=Math[_0x1a4e('0xb4')](_0x4f39a9[_0x1a4e('0x152')]*_0x4f39a9[_0x1a4e('0x143')]),this['canvas']['style'][_0x1a4e('0x3936')]=_0x4f39a9[_0x1a4e('0x3936')]+'px',this['canvas'][_0x1a4e('0x375c')][_0x1a4e('0x152')]=_0x4f39a9[_0x1a4e('0x152')]+'px'),this['fontMetrics']=new _0x34e967(document),this['ctx'][_0x1a4e('0x143')](this['options'][_0x1a4e('0x143')],this['options']['scale']),this[_0x1a4e('0x169f')][_0x1a4e('0x142')](-_0x4f39a9['x']+_0x4f39a9[_0x1a4e('0x54b1')],-_0x4f39a9['y']+_0x4f39a9[_0x1a4e('0x54b0')]),this['ctx'][_0x1a4e('0x43a0')]=_0x1a4e('0x5c'),this['_activeEffects']=[],_0x319799[_0x1a4e('0x5363')](_0x4f39a9['id'])[_0x1a4e('0x5362')](_0x1a4e('0x54f6')+_0x4f39a9[_0x1a4e('0x3936')]+'x'+_0x4f39a9[_0x1a4e('0x152')]+_0x1a4e('0x697')+_0x4f39a9['x']+','+_0x4f39a9['y']+')\x20with\x20scale\x20'+_0x4f39a9[_0x1a4e('0x143')]);}return _0x4f39a9['prototype'][_0x1a4e('0x54f7')]=function(_0x4f39a9,_0x40681f){for(var _0x44caca=this;this[_0x1a4e('0x54f5')]['length'];)this[_0x1a4e('0x54f8')]();_0x4f39a9['filter'](function(_0x4f39a9){return _0x27c6c7(_0x4f39a9[_0x1a4e('0xd95')],_0x40681f);})[_0x1a4e('0x3b')](function(_0x4f39a9){return _0x44caca['applyEffect'](_0x4f39a9);});},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54f9')]=function(_0x4f39a9){this['ctx'][_0x1a4e('0x8b5')](),function(_0x4f39a9){return 0x0===_0x4f39a9[_0x1a4e('0x40')];}(_0x4f39a9)&&(this[_0x1a4e('0x169f')][_0x1a4e('0x142')](_0x4f39a9[_0x1a4e('0x542b')],_0x4f39a9[_0x1a4e('0x542c')]),this[_0x1a4e('0x169f')]['transform'](_0x4f39a9[_0x1a4e('0x3c72')][0x0],_0x4f39a9[_0x1a4e('0x3c72')][0x1],_0x4f39a9[_0x1a4e('0x3c72')][0x2],_0x4f39a9[_0x1a4e('0x3c72')][0x3],_0x4f39a9[_0x1a4e('0x3c72')][0x4],_0x4f39a9[_0x1a4e('0x3c72')][0x5]),this[_0x1a4e('0x169f')][_0x1a4e('0x142')](-_0x4f39a9['offsetX'],-_0x4f39a9['offsetY'])),function(_0x4f39a9){return 0x1===_0x4f39a9[_0x1a4e('0x40')];}(_0x4f39a9)&&(this[_0x1a4e('0x64')](_0x4f39a9[_0x1a4e('0x64')]),this[_0x1a4e('0x169f')][_0x1a4e('0x4a3f')]()),this[_0x1a4e('0x54f5')][_0x1a4e('0x46')](_0x4f39a9);},_0x4f39a9['prototype']['popEffect']=function(){this['_activeEffects'][_0x1a4e('0x76')](),this['ctx'][_0x1a4e('0x878')]();},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54fa')]=function(_0x4f39a9){return _0x2a04f1(this,void 0x0,void 0x0,function(){var _0x40681f;return _0x8fab41(this,function(_0x44caca){switch(_0x44caca[_0x1a4e('0x1bc')]){case 0x0:return(_0x40681f=_0x4f39a9[_0x1a4e('0x26ee')]['container'][_0x1a4e('0xe1d')])[_0x1a4e('0x298b')]()?(this[_0x1a4e('0x169f')][_0x1a4e('0x47c5')]=_0x40681f[_0x1a4e('0x47bd')],[0x4,this[_0x1a4e('0x54fb')](_0x4f39a9)]):[0x3,0x2];case 0x1:_0x44caca[_0x1a4e('0x128a')](),_0x44caca[_0x1a4e('0x1bc')]=0x2;case 0x2:return[0x2];}});});},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54fc')]=function(_0x4f39a9){return _0x2a04f1(this,void 0x0,void 0x0,function(){return _0x8fab41(this,function(_0x40681f){switch(_0x40681f[_0x1a4e('0x1bc')]){case 0x0:return _0x4f39a9['container'][_0x1a4e('0xe1d')][_0x1a4e('0x298b')]()?[0x4,this['renderNodeBackgroundAndBorders'](_0x4f39a9)]:[0x3,0x3];case 0x1:return _0x40681f[_0x1a4e('0x128a')](),[0x4,this[_0x1a4e('0x54fd')](_0x4f39a9)];case 0x2:_0x40681f[_0x1a4e('0x128a')](),_0x40681f['label']=0x3;case 0x3:return[0x2];}});});},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54fe')]=function(_0x4f39a9,_0x40681f){var _0x44caca=this;0x0===_0x40681f?this['ctx'][_0x1a4e('0x43a1')](_0x4f39a9[_0x1a4e('0xe04')],_0x4f39a9[_0x1a4e('0x47e0')]['left'],_0x4f39a9['bounds'][_0x1a4e('0x5e')]+_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x152')]):_0x206a52(_0x4f39a9['text'])[_0x1a4e('0x21')](function(_0x4f39a9){return _0x1797cb(_0x4f39a9);})[_0x1a4e('0xbb')](function(_0x40681f,_0x2a04f1){return _0x44caca[_0x1a4e('0x169f')]['fillText'](_0x2a04f1,_0x40681f,_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x5e')]+_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x152')]),_0x40681f+_0x44caca[_0x1a4e('0x169f')][_0x1a4e('0x4399')](_0x2a04f1)['width'];},_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x5f')]);},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54ff')]=function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0x545b')][_0x1a4e('0xd9')](function(_0x4f39a9){return _0x1a4e('0x951')===_0x4f39a9||_0x1a4e('0x5500')===_0x4f39a9;})[_0x1a4e('0x9e')](''),_0x44caca=_0x4f39a9[_0x1a4e('0x4290')][_0x1a4e('0x9e')](',\x20'),_0x2a04f1=_0x3a6236(_0x4f39a9[_0x1a4e('0x4207')])?''+_0x4f39a9['fontSize']['number']+_0x4f39a9[_0x1a4e('0x4207')][_0x1a4e('0x397f')]:_0x4f39a9[_0x1a4e('0x4207')]['number']+'px';return[[_0x4f39a9[_0x1a4e('0x545a')],_0x40681f,_0x4f39a9[_0x1a4e('0x4291')],_0x2a04f1,_0x44caca][_0x1a4e('0x9e')]('\x20'),_0x44caca,_0x2a04f1];},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5501')]=function(_0x4f39a9,_0x40681f){return _0x2a04f1(this,void 0x0,void 0x0,function(){var _0x44caca,_0x2a04f1,_0x13e4bb,_0x15ca8d,_0x206a52=this;return _0x8fab41(this,function(_0x8fab41){return _0x44caca=this[_0x1a4e('0x54ff')](_0x40681f),_0x2a04f1=_0x44caca[0x0],_0x13e4bb=_0x44caca[0x1],_0x15ca8d=_0x44caca[0x2],this[_0x1a4e('0x169f')][_0x1a4e('0x3986')]=_0x2a04f1,_0x4f39a9[_0x1a4e('0x5502')]['forEach'](function(_0x4f39a9){_0x206a52[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x963a6c(_0x40681f['color']),_0x206a52[_0x1a4e('0x54fe')](_0x4f39a9,_0x40681f['letterSpacing']);var _0x44caca=_0x40681f[_0x1a4e('0x5468')];_0x44caca[_0x1a4e('0x1e')]&&_0x4f39a9['text'][_0x1a4e('0x2bd')]()[_0x1a4e('0x1e')]&&(_0x44caca[_0x1a4e('0x78')](0x0)['reverse']()[_0x1a4e('0x3b')](function(_0x40681f){_0x206a52['ctx']['shadowColor']=_0x963a6c(_0x40681f[_0x1a4e('0x134')]),_0x206a52['ctx']['shadowOffsetX']=_0x40681f[_0x1a4e('0x542b')][_0x1a4e('0x3d')]*_0x206a52['options'][_0x1a4e('0x143')],_0x206a52['ctx']['shadowOffsetY']=_0x40681f[_0x1a4e('0x542c')][_0x1a4e('0x3d')]*_0x206a52[_0x1a4e('0x8dc')]['scale'],_0x206a52[_0x1a4e('0x169f')]['shadowBlur']=_0x40681f[_0x1a4e('0x3822')][_0x1a4e('0x3d')],_0x206a52['ctx'][_0x1a4e('0x43a1')](_0x4f39a9[_0x1a4e('0xe04')],_0x4f39a9['bounds']['left'],_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x5e')]+_0x4f39a9[_0x1a4e('0x47e0')]['height']);}),_0x206a52[_0x1a4e('0x169f')]['shadowColor']='',_0x206a52[_0x1a4e('0x169f')][_0x1a4e('0x4847')]=0x0,_0x206a52['ctx'][_0x1a4e('0x4848')]=0x0,_0x206a52['ctx'][_0x1a4e('0x4845')]=0x0),_0x40681f[_0x1a4e('0x5467')][_0x1a4e('0x1e')]&&(_0x206a52[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x963a6c(_0x40681f['textDecorationColor']||_0x40681f[_0x1a4e('0x134')]),_0x40681f[_0x1a4e('0x5467')]['forEach'](function(_0x40681f){switch(_0x40681f){case 0x1:var _0x44caca=_0x206a52[_0x1a4e('0x5503')][_0x1a4e('0x54f4')](_0x13e4bb,_0x15ca8d)[_0x1a4e('0x4501')];_0x206a52['ctx'][_0x1a4e('0x3dde')](_0x4f39a9[_0x1a4e('0x47e0')]['left'],Math[_0x1a4e('0x2a')](_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x5e')]+_0x44caca),_0x4f39a9['bounds'][_0x1a4e('0x3936')],0x1);break;case 0x2:_0x206a52[_0x1a4e('0x169f')][_0x1a4e('0x3dde')](_0x4f39a9['bounds']['left'],Math['round'](_0x4f39a9['bounds']['top']),_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x3936')],0x1);break;case 0x3:var _0x2a04f1=_0x206a52[_0x1a4e('0x5503')][_0x1a4e('0x54f4')](_0x13e4bb,_0x15ca8d)['middle'];_0x206a52[_0x1a4e('0x169f')][_0x1a4e('0x3dde')](_0x4f39a9['bounds'][_0x1a4e('0x5f')],Math['ceil'](_0x4f39a9[_0x1a4e('0x47e0')]['top']+_0x2a04f1),_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x3936')],0x1);}}));}),[0x2];});});},_0x4f39a9[_0x1a4e('0xa')]['renderReplacedElement']=function(_0x4f39a9,_0x40681f,_0x44caca){if(_0x44caca&&_0x4f39a9[_0x1a4e('0x547a')]>0x0&&_0x4f39a9[_0x1a4e('0x547b')]>0x0){var _0x2a04f1=_0x1fba4e(_0x4f39a9),_0x8fab41=_0x4d331d(_0x40681f);this[_0x1a4e('0x64')](_0x8fab41),this[_0x1a4e('0x169f')]['save'](),this[_0x1a4e('0x169f')]['clip'](),this[_0x1a4e('0x169f')][_0x1a4e('0x47c6')](_0x44caca,0x0,0x0,_0x4f39a9[_0x1a4e('0x547a')],_0x4f39a9['intrinsicHeight'],_0x2a04f1[_0x1a4e('0x5f')],_0x2a04f1[_0x1a4e('0x5e')],_0x2a04f1[_0x1a4e('0x3936')],_0x2a04f1[_0x1a4e('0x152')]),this[_0x1a4e('0x169f')]['restore']();}},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x54fd')]=function(_0x40681f){return _0x2a04f1(this,void 0x0,void 0x0,function(){var _0x44caca,_0x2a04f1,_0x15ca8d,_0x206a52,_0x1797cb,_0x302704,_0x4133f3,_0x1002a1,_0x318a81,_0x329d11,_0x36e8b1,_0x19938f,_0x18113a,_0x27e293;return _0x8fab41(this,function(_0x8fab41){switch(_0x8fab41['label']){case 0x0:this[_0x1a4e('0x54f7')](_0x40681f[_0x1a4e('0x54ea')],0x4),_0x44caca=_0x40681f['container'],_0x2a04f1=_0x40681f[_0x1a4e('0x958')],_0x15ca8d=_0x44caca[_0x1a4e('0xe1d')],_0x206a52=0x0,_0x1797cb=_0x44caca[_0x1a4e('0x5504')],_0x8fab41[_0x1a4e('0x1bc')]=0x1;case 0x1:return _0x206a52<_0x1797cb['length']?(_0x302704=_0x1797cb[_0x206a52],[0x4,this['renderTextNode'](_0x302704,_0x15ca8d)]):[0x3,0x4];case 0x2:_0x8fab41[_0x1a4e('0x128a')](),_0x8fab41[_0x1a4e('0x1bc')]=0x3;case 0x3:return _0x206a52++,[0x3,0x1];case 0x4:if(!(_0x44caca instanceof _0x3346a3))return[0x3,0x8];_0x8fab41[_0x1a4e('0x1bc')]=0x5;case 0x5:return _0x8fab41['trys'][_0x1a4e('0x46')]([0x5,0x7,,0x8]),[0x4,this['options'][_0x1a4e('0xa67')][_0x1a4e('0x909')](_0x44caca[_0x1a4e('0xe05')])];case 0x6:return _0x19938f=_0x8fab41[_0x1a4e('0x128a')](),this[_0x1a4e('0x5505')](_0x44caca,_0x2a04f1,_0x19938f),[0x3,0x8];case 0x7:return _0x8fab41['sent'](),_0x319799[_0x1a4e('0x5363')](this[_0x1a4e('0x8dc')]['id'])[_0x1a4e('0x873')](_0x1a4e('0x5506')+_0x44caca['src']),[0x3,0x8];case 0x8:if(_0x44caca instanceof _0x2cd835&&this['renderReplacedElement'](_0x44caca,_0x2a04f1,_0x44caca[_0x1a4e('0x3934')]),!(_0x44caca instanceof _0x45b634))return[0x3,0xc];_0x8fab41[_0x1a4e('0x1bc')]=0x9;case 0x9:return _0x8fab41[_0x1a4e('0x1669')]['push']([0x9,0xb,,0xc]),[0x4,this['options'][_0x1a4e('0xa67')]['match'](_0x44caca[_0x1a4e('0x5144')])];case 0xa:return _0x19938f=_0x8fab41[_0x1a4e('0x128a')](),this[_0x1a4e('0x5505')](_0x44caca,_0x2a04f1,_0x19938f),[0x3,0xc];case 0xb:return _0x8fab41[_0x1a4e('0x128a')](),_0x319799[_0x1a4e('0x5363')](this[_0x1a4e('0x8dc')]['id'])[_0x1a4e('0x873')]('Error\x20loading\x20svg\x20'+_0x44caca[_0x1a4e('0x5144')][_0x1a4e('0x281')](0x0,0xff)),[0x3,0xc];case 0xc:return _0x44caca instanceof _0x285259&&_0x44caca[_0x1a4e('0x8f1')]?[0x4,new _0x4f39a9({'id':this[_0x1a4e('0x8dc')]['id'],'scale':this[_0x1a4e('0x8dc')][_0x1a4e('0x143')],'backgroundColor':_0x44caca[_0x1a4e('0x3ef1')],'x':0x0,'y':0x0,'scrollX':0x0,'scrollY':0x0,'width':_0x44caca[_0x1a4e('0x3936')],'height':_0x44caca['height'],'cache':this[_0x1a4e('0x8dc')][_0x1a4e('0xa67')],'windowWidth':_0x44caca[_0x1a4e('0x3936')],'windowHeight':_0x44caca[_0x1a4e('0x152')]})['render'](_0x44caca[_0x1a4e('0x8f1')])]:[0x3,0xe];case 0xd:_0x4133f3=_0x8fab41['sent'](),_0x44caca[_0x1a4e('0x3936')]&&_0x44caca['height']&&this[_0x1a4e('0x169f')]['drawImage'](_0x4133f3,0x0,0x0,_0x44caca['width'],_0x44caca[_0x1a4e('0x152')],_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5f')],_0x44caca[_0x1a4e('0x47e0')]['top'],_0x44caca['bounds'][_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x152')]),_0x8fab41['label']=0xe;case 0xe:if(_0x44caca instanceof _0x5f3a75&&(_0x1002a1=Math['min'](_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x3936')],_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x152')]),_0x44caca[_0x1a4e('0x40')]===_0x14dd0c?_0x44caca[_0x1a4e('0x5483')]&&(this[_0x1a4e('0x169f')][_0x1a4e('0x8b5')](),this[_0x1a4e('0x64')]([new _0x20f8d8(_0x44caca['bounds'][_0x1a4e('0x5f')]+0.39363*_0x1002a1,_0x44caca[_0x1a4e('0x47e0')]['top']+0.79*_0x1002a1),new _0x20f8d8(_0x44caca['bounds'][_0x1a4e('0x5f')]+0.16*_0x1002a1,_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5e')]+0.5549*_0x1002a1),new _0x20f8d8(_0x44caca[_0x1a4e('0x47e0')]['left']+0.27347*_0x1002a1,_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5e')]+0.44071*_0x1002a1),new _0x20f8d8(_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5f')]+0.39694*_0x1002a1,_0x44caca[_0x1a4e('0x47e0')]['top']+0.5649*_0x1002a1),new _0x20f8d8(_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5f')]+0.72983*_0x1002a1,_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5e')]+0.23*_0x1002a1),new _0x20f8d8(_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5f')]+0.84*_0x1002a1,_0x44caca['bounds']['top']+0.34085*_0x1002a1),new _0x20f8d8(_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5f')]+0.39363*_0x1002a1,_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5e')]+0.79*_0x1002a1)]),this[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x963a6c(0x2a2a2aff),this['ctx'][_0x1a4e('0x22c')](),this[_0x1a4e('0x169f')][_0x1a4e('0x878')]()):_0x44caca[_0x1a4e('0x40')]===_0x4f5ee6&&_0x44caca[_0x1a4e('0x5483')]&&(this[_0x1a4e('0x169f')]['save'](),this[_0x1a4e('0x169f')][_0x1a4e('0x3dbd')](),this[_0x1a4e('0x169f')][_0x1a4e('0x124')](_0x44caca['bounds']['left']+_0x1002a1/0x2,_0x44caca['bounds'][_0x1a4e('0x5e')]+_0x1002a1/0x2,_0x1002a1/0x4,0x0,0x2*Math['PI'],!0x0),this[_0x1a4e('0x169f')]['fillStyle']=_0x963a6c(0x2a2a2aff),this['ctx'][_0x1a4e('0x22c')](),this['ctx'][_0x1a4e('0x878')]())),_0x66a868(_0x44caca)&&_0x44caca['value'][_0x1a4e('0x1e')]){switch(this[_0x1a4e('0x169f')]['font']=this['createFontStyle'](_0x15ca8d)[0x0],this['ctx'][_0x1a4e('0x3dbe')]=_0x963a6c(_0x15ca8d[_0x1a4e('0x134')]),this['ctx']['textBaseline']='middle',this[_0x1a4e('0x169f')]['textAlign']=_0x47f270(_0x44caca['styles'][_0x1a4e('0x426c')]),_0x27e293=_0x1fba4e(_0x44caca),_0x318a81=0x0,_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x426c')]){case _0x1b0d94[_0x1a4e('0x445d')]:_0x318a81+=_0x27e293[_0x1a4e('0x3936')]/0x2;break;case _0x1b0d94[_0x1a4e('0x318')]:_0x318a81+=_0x27e293[_0x1a4e('0x3936')];}_0x329d11=_0x27e293[_0x1a4e('0x177')](_0x318a81,0x0,0x0,-_0x27e293['height']/0x2+0x1),this[_0x1a4e('0x169f')]['save'](),this['path']([new _0x20f8d8(_0x27e293[_0x1a4e('0x5f')],_0x27e293[_0x1a4e('0x5e')]),new _0x20f8d8(_0x27e293[_0x1a4e('0x5f')]+_0x27e293[_0x1a4e('0x3936')],_0x27e293[_0x1a4e('0x5e')]),new _0x20f8d8(_0x27e293['left']+_0x27e293['width'],_0x27e293[_0x1a4e('0x5e')]+_0x27e293[_0x1a4e('0x152')]),new _0x20f8d8(_0x27e293[_0x1a4e('0x5f')],_0x27e293[_0x1a4e('0x5e')]+_0x27e293[_0x1a4e('0x152')])]),this[_0x1a4e('0x169f')][_0x1a4e('0x4a3f')](),this[_0x1a4e('0x54fe')](new _0x47940f(_0x44caca[_0x1a4e('0x255')],_0x329d11),_0x15ca8d[_0x1a4e('0x545c')]),this[_0x1a4e('0x169f')][_0x1a4e('0x878')](),this[_0x1a4e('0x169f')][_0x1a4e('0x43a0')]=_0x1a4e('0x5c'),this[_0x1a4e('0x169f')][_0x1a4e('0x426c')]=_0x1a4e('0x5f');}if(!_0x27c6c7(_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x375d')],0x800))return[0x3,0x14];if(null===_0x44caca[_0x1a4e('0xe1d')][_0x1a4e('0x545d')])return[0x3,0x13];if((_0x36e8b1=_0x44caca[_0x1a4e('0xe1d')]['listStyleImage'])[_0x1a4e('0x40')]!==_0x3aa103[_0x1a4e('0x5388')])return[0x3,0x12];_0x19938f=void 0x0,_0x18113a=_0x36e8b1[_0x1a4e('0x15cf')],_0x8fab41[_0x1a4e('0x1bc')]=0xf;case 0xf:return _0x8fab41[_0x1a4e('0x1669')][_0x1a4e('0x46')]([0xf,0x11,,0x12]),[0x4,this['options']['cache'][_0x1a4e('0x909')](_0x18113a)];case 0x10:return _0x19938f=_0x8fab41['sent'](),this['ctx'][_0x1a4e('0x47c6')](_0x19938f,_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5f')]-(_0x19938f[_0x1a4e('0x3936')]+0xa),_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5e')]),[0x3,0x12];case 0x11:return _0x8fab41[_0x1a4e('0x128a')](),_0x319799['getInstance'](this['options']['id'])[_0x1a4e('0x873')](_0x1a4e('0x5507')+_0x18113a),[0x3,0x12];case 0x12:return[0x3,0x14];case 0x13:_0x40681f[_0x1a4e('0x54ec')]&&_0x44caca['styles'][_0x1a4e('0x54ed')]!==_0x293000['NONE']&&(this['ctx'][_0x1a4e('0x3986')]=this[_0x1a4e('0x54ff')](_0x15ca8d)[0x0],this[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x963a6c(_0x15ca8d[_0x1a4e('0x134')]),this[_0x1a4e('0x169f')][_0x1a4e('0x43a0')]=_0x1a4e('0x4a30'),this[_0x1a4e('0x169f')]['textAlign']=_0x1a4e('0x5d'),_0x27e293=new _0x13e4bb(_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x5f')],_0x44caca['bounds'][_0x1a4e('0x5e')]+_0x516d71(_0x44caca[_0x1a4e('0xe1d')]['paddingTop'],_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x3936')]),_0x44caca[_0x1a4e('0x47e0')][_0x1a4e('0x3936')],function(_0x4f39a9,_0x40681f){return _0x5c3185(_0x4f39a9)&&_0x1a4e('0x951')===_0x4f39a9['value']?1.2*_0x40681f:_0x4f39a9['type']===_0x683603[_0x1a4e('0x5304')]?_0x40681f*_0x4f39a9[_0x1a4e('0x3d')]:_0x3504a5(_0x4f39a9)?_0x516d71(_0x4f39a9,_0x40681f):_0x40681f;}(_0x15ca8d[_0x1a4e('0x4208')],_0x15ca8d[_0x1a4e('0x4207')][_0x1a4e('0x3d')])/0x2+0x1),this['renderTextWithLetterSpacing'](new _0x47940f(_0x40681f['listValue'],_0x27e293),_0x15ca8d[_0x1a4e('0x545c')]),this[_0x1a4e('0x169f')]['textBaseline']=_0x1a4e('0x5c'),this[_0x1a4e('0x169f')][_0x1a4e('0x426c')]='left'),_0x8fab41[_0x1a4e('0x1bc')]=0x14;case 0x14:return[0x2];}});});},_0x4f39a9['prototype'][_0x1a4e('0x54fb')]=function(_0x4f39a9){return _0x2a04f1(this,void 0x0,void 0x0,function(){var _0x40681f,_0x44caca,_0x2a04f1,_0x13e4bb,_0x15ca8d,_0x206a52,_0x1797cb,_0x302704,_0x4133f3,_0x1002a1,_0x683603,_0x318a81,_0x329d11,_0x36e8b1,_0x19938f;return _0x8fab41(this,function(_0x8fab41){switch(_0x8fab41[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5508')](_0x4f39a9[_0x1a4e('0x26ee')])];case 0x1:_0x8fab41['sent'](),_0x40681f=0x0,_0x44caca=_0x4f39a9[_0x1a4e('0x54ee')],_0x8fab41[_0x1a4e('0x1bc')]=0x2;case 0x2:return _0x40681f<_0x44caca[_0x1a4e('0x1e')]?(_0x19938f=_0x44caca[_0x40681f],[0x4,this[_0x1a4e('0x54fa')](_0x19938f)]):[0x3,0x5];case 0x3:_0x8fab41[_0x1a4e('0x128a')](),_0x8fab41[_0x1a4e('0x1bc')]=0x4;case 0x4:return _0x40681f++,[0x3,0x2];case 0x5:return[0x4,this['renderNodeContent'](_0x4f39a9[_0x1a4e('0x26ee')])];case 0x6:_0x8fab41[_0x1a4e('0x128a')](),_0x2a04f1=0x0,_0x13e4bb=_0x4f39a9[_0x1a4e('0x54e7')],_0x8fab41[_0x1a4e('0x1bc')]=0x7;case 0x7:return _0x2a04f1<_0x13e4bb[_0x1a4e('0x1e')]?(_0x19938f=_0x13e4bb[_0x2a04f1],[0x4,this[_0x1a4e('0x54fc')](_0x19938f)]):[0x3,0xa];case 0x8:_0x8fab41['sent'](),_0x8fab41[_0x1a4e('0x1bc')]=0x9;case 0x9:return _0x2a04f1++,[0x3,0x7];case 0xa:_0x15ca8d=0x0,_0x206a52=_0x4f39a9[_0x1a4e('0x5509')],_0x8fab41[_0x1a4e('0x1bc')]=0xb;case 0xb:return _0x15ca8d<_0x206a52[_0x1a4e('0x1e')]?(_0x19938f=_0x206a52[_0x15ca8d],[0x4,this[_0x1a4e('0x54fa')](_0x19938f)]):[0x3,0xe];case 0xc:_0x8fab41[_0x1a4e('0x128a')](),_0x8fab41['label']=0xd;case 0xd:return _0x15ca8d++,[0x3,0xb];case 0xe:_0x1797cb=0x0,_0x302704=_0x4f39a9['nonPositionedInlineLevel'],_0x8fab41['label']=0xf;case 0xf:return _0x1797cb<_0x302704[_0x1a4e('0x1e')]?(_0x19938f=_0x302704[_0x1797cb],[0x4,this[_0x1a4e('0x54fa')](_0x19938f)]):[0x3,0x12];case 0x10:_0x8fab41['sent'](),_0x8fab41[_0x1a4e('0x1bc')]=0x11;case 0x11:return _0x1797cb++,[0x3,0xf];case 0x12:_0x4133f3=0x0,_0x1002a1=_0x4f39a9['inlineLevel'],_0x8fab41[_0x1a4e('0x1bc')]=0x13;case 0x13:return _0x4133f3<_0x1002a1['length']?(_0x19938f=_0x1002a1[_0x4133f3],[0x4,this['renderNode'](_0x19938f)]):[0x3,0x16];case 0x14:_0x8fab41[_0x1a4e('0x128a')](),_0x8fab41[_0x1a4e('0x1bc')]=0x15;case 0x15:return _0x4133f3++,[0x3,0x13];case 0x16:_0x683603=0x0,_0x318a81=_0x4f39a9[_0x1a4e('0x54e8')],_0x8fab41['label']=0x17;case 0x17:return _0x683603<_0x318a81[_0x1a4e('0x1e')]?(_0x19938f=_0x318a81[_0x683603],[0x4,this[_0x1a4e('0x54fa')](_0x19938f)]):[0x3,0x1a];case 0x18:_0x8fab41[_0x1a4e('0x128a')](),_0x8fab41[_0x1a4e('0x1bc')]=0x19;case 0x19:return _0x683603++,[0x3,0x17];case 0x1a:_0x329d11=0x0,_0x36e8b1=_0x4f39a9[_0x1a4e('0x54e9')],_0x8fab41[_0x1a4e('0x1bc')]=0x1b;case 0x1b:return _0x329d11<_0x36e8b1[_0x1a4e('0x1e')]?(_0x19938f=_0x36e8b1[_0x329d11],[0x4,this[_0x1a4e('0x54fa')](_0x19938f)]):[0x3,0x1e];case 0x1c:_0x8fab41[_0x1a4e('0x128a')](),_0x8fab41['label']=0x1d;case 0x1d:return _0x329d11++,[0x3,0x1b];case 0x1e:return[0x2];}});});},_0x4f39a9['prototype'][_0x1a4e('0xce')]=function(_0x4f39a9){this[_0x1a4e('0x169f')][_0x1a4e('0x3dbd')](),this[_0x1a4e('0x169f')][_0x1a4e('0x439c')](0x0,0x0),this['ctx'][_0x1a4e('0x439d')](this[_0x1a4e('0x3934')][_0x1a4e('0x3936')],0x0),this[_0x1a4e('0x169f')]['lineTo'](this[_0x1a4e('0x3934')]['width'],this['canvas'][_0x1a4e('0x152')]),this[_0x1a4e('0x169f')][_0x1a4e('0x439d')](0x0,this[_0x1a4e('0x3934')][_0x1a4e('0x152')]),this[_0x1a4e('0x169f')]['lineTo'](0x0,0x0),this[_0x1a4e('0x550a')](_0x4f39a9[_0x1a4e('0x78')](0x0)['reverse']()),this[_0x1a4e('0x169f')]['closePath']();},_0x4f39a9['prototype'][_0x1a4e('0x64')]=function(_0x4f39a9){this['ctx']['beginPath'](),this[_0x1a4e('0x550a')](_0x4f39a9),this[_0x1a4e('0x169f')][_0x1a4e('0x439e')]();},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x550a')]=function(_0x4f39a9){var _0x40681f=this;_0x4f39a9[_0x1a4e('0x3b')](function(_0x4f39a9,_0x44caca){var _0x2a04f1=_0x1a4a9b(_0x4f39a9)?_0x4f39a9[_0x1a4e('0xc9')]:_0x4f39a9;0x0===_0x44caca?_0x40681f[_0x1a4e('0x169f')]['moveTo'](_0x2a04f1['x'],_0x2a04f1['y']):_0x40681f[_0x1a4e('0x169f')][_0x1a4e('0x439d')](_0x2a04f1['x'],_0x2a04f1['y']),_0x1a4a9b(_0x4f39a9)&&_0x40681f[_0x1a4e('0x169f')][_0x1a4e('0x550b')](_0x4f39a9[_0x1a4e('0x54d6')]['x'],_0x4f39a9[_0x1a4e('0x54d6')]['y'],_0x4f39a9[_0x1a4e('0x54d8')]['x'],_0x4f39a9[_0x1a4e('0x54d8')]['y'],_0x4f39a9['end']['x'],_0x4f39a9[_0x1a4e('0xca')]['y']);});},_0x4f39a9[_0x1a4e('0xa')]['renderRepeat']=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1){this['path'](_0x4f39a9),this[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x40681f,this[_0x1a4e('0x169f')]['translate'](_0x44caca,_0x2a04f1),this[_0x1a4e('0x169f')]['fill'](),this['ctx'][_0x1a4e('0x142')](-_0x44caca,-_0x2a04f1);},_0x4f39a9['prototype']['resizeImage']=function(_0x4f39a9,_0x40681f,_0x44caca){if(_0x4f39a9['width']===_0x40681f&&_0x4f39a9['height']===_0x44caca)return _0x4f39a9;var _0x2a04f1=this[_0x1a4e('0x3934')][_0x1a4e('0x5474')]['createElement'](_0x1a4e('0x3934'));return _0x2a04f1[_0x1a4e('0x3936')]=_0x40681f,_0x2a04f1[_0x1a4e('0x152')]=_0x44caca,_0x2a04f1['getContext']('2d')[_0x1a4e('0x47c6')](_0x4f39a9,0x0,0x0,_0x4f39a9[_0x1a4e('0x3936')],_0x4f39a9[_0x1a4e('0x152')],0x0,0x0,_0x40681f,_0x44caca),_0x2a04f1;},_0x4f39a9['prototype'][_0x1a4e('0x550c')]=function(_0x4f39a9){return _0x2a04f1(this,void 0x0,void 0x0,function(){var _0x40681f,_0x44caca,_0x2a04f1,_0x13e4bb,_0x15ca8d,_0x206a52;return _0x8fab41(this,function(_0x1797cb){switch(_0x1797cb['label']){case 0x0:_0x40681f=_0x4f39a9['styles'][_0x1a4e('0x4513')][_0x1a4e('0x1e')]-0x1,_0x44caca=function(_0x44caca){var _0x13e4bb,_0x15ca8d,_0x206a52,_0x1797cb,_0x302704,_0x4133f3,_0x1002a1,_0x683603,_0x318a81,_0x329d11,_0x36e8b1,_0x19938f,_0x18113a,_0x27e293,_0xf57c0,_0x4423c6,_0x141e9b,_0xb7f585,_0x1158fc,_0x2e2ea1,_0x3d181f,_0x585dcf,_0x1c3b85,_0x2d7b6b,_0xcf08cc,_0x96020b,_0x48c8f7,_0x3c352d,_0x1543ee,_0x370b5b,_0x514e93;return _0x8fab41(this,function(_0x8fab41){switch(_0x8fab41[_0x1a4e('0x1bc')]){case 0x0:if(_0x44caca['type']!==_0x3aa103[_0x1a4e('0x5388')])return[0x3,0x5];_0x13e4bb=void 0x0,_0x15ca8d=_0x44caca['url'],_0x8fab41[_0x1a4e('0x1bc')]=0x1;case 0x1:return _0x8fab41[_0x1a4e('0x1669')][_0x1a4e('0x46')]([0x1,0x3,,0x4]),[0x4,_0x2a04f1[_0x1a4e('0x8dc')][_0x1a4e('0xa67')]['match'](_0x15ca8d)];case 0x2:return _0x13e4bb=_0x8fab41[_0x1a4e('0x128a')](),[0x3,0x4];case 0x3:return _0x8fab41[_0x1a4e('0x128a')](),_0x319799[_0x1a4e('0x5363')](_0x2a04f1[_0x1a4e('0x8dc')]['id'])[_0x1a4e('0x873')]('Error\x20loading\x20background-image\x20'+_0x15ca8d),[0x3,0x4];case 0x4:return _0x13e4bb&&(_0x206a52=_0x37efa3(_0x4f39a9,_0x40681f,[_0x13e4bb[_0x1a4e('0x3936')],_0x13e4bb['height'],_0x13e4bb[_0x1a4e('0x3936')]/_0x13e4bb[_0x1a4e('0x152')]]),_0x4423c6=_0x206a52[0x0],_0x585dcf=_0x206a52[0x1],_0x1c3b85=_0x206a52[0x2],_0x1158fc=_0x206a52[0x3],_0x2e2ea1=_0x206a52[0x4],_0x27e293=_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x517f')](_0x2a04f1['resizeImage'](_0x13e4bb,_0x1158fc,_0x2e2ea1),'repeat'),_0x2a04f1['renderRepeat'](_0x4423c6,_0x27e293,_0x585dcf,_0x1c3b85)),[0x3,0x6];case 0x5:_0x44caca[_0x1a4e('0x40')]===_0x3aa103[_0x1a4e('0x538c')]?(_0x1797cb=_0x37efa3(_0x4f39a9,_0x40681f,[null,null,null]),_0x4423c6=_0x1797cb[0x0],_0x585dcf=_0x1797cb[0x1],_0x1c3b85=_0x1797cb[0x2],_0x1158fc=_0x1797cb[0x3],_0x2e2ea1=_0x1797cb[0x4],_0x302704=_0x446ee1(_0x44caca['angle'],_0x1158fc,_0x2e2ea1),_0x4133f3=_0x302704[0x0],_0x1002a1=_0x302704[0x1],_0x683603=_0x302704[0x2],_0x318a81=_0x302704[0x3],_0x329d11=_0x302704[0x4],(_0x36e8b1=document[_0x1a4e('0xe3d')]('canvas'))[_0x1a4e('0x3936')]=_0x1158fc,_0x36e8b1[_0x1a4e('0x152')]=_0x2e2ea1,_0x19938f=_0x36e8b1[_0x1a4e('0x51c')]('2d'),_0x18113a=_0x19938f[_0x1a4e('0x3dc4')](_0x1002a1,_0x318a81,_0x683603,_0x329d11),_0x41aa08(_0x44caca[_0x1a4e('0x550d')],_0x4133f3)[_0x1a4e('0x3b')](function(_0x4f39a9){return _0x18113a[_0x1a4e('0x3dba')](_0x4f39a9[_0x1a4e('0x127b')],_0x963a6c(_0x4f39a9[_0x1a4e('0x134')]));}),_0x19938f[_0x1a4e('0x3dbe')]=_0x18113a,_0x19938f['fillRect'](0x0,0x0,_0x1158fc,_0x2e2ea1),_0x1158fc>0x0&&_0x2e2ea1>0x0&&(_0x27e293=_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x517f')](_0x36e8b1,_0x1a4e('0x3b77')),_0x2a04f1[_0x1a4e('0x550e')](_0x4423c6,_0x27e293,_0x585dcf,_0x1c3b85))):function(_0x4f39a9){return _0x4f39a9[_0x1a4e('0x40')]===_0x3aa103[_0x1a4e('0x5389')];}(_0x44caca)&&(_0xf57c0=_0x37efa3(_0x4f39a9,_0x40681f,[null,null,null]),_0x4423c6=_0xf57c0[0x0],_0x141e9b=_0xf57c0[0x1],_0xb7f585=_0xf57c0[0x2],_0x1158fc=_0xf57c0[0x3],_0x2e2ea1=_0xf57c0[0x4],_0x3d181f=0x0===_0x44caca[_0x1a4e('0x3553')][_0x1a4e('0x1e')]?[_0x4e6906]:_0x44caca[_0x1a4e('0x3553')],_0x585dcf=_0x516d71(_0x3d181f[0x0],_0x1158fc),_0x1c3b85=_0x516d71(_0x3d181f[_0x3d181f[_0x1a4e('0x1e')]-0x1],_0x2e2ea1),_0x2d7b6b=function(_0x4f39a9,_0x40681f,_0x44caca,_0x2a04f1,_0x8fab41){var _0x13e4bb=0x0,_0x15ca8d=0x0;switch(_0x4f39a9[_0x1a4e('0x220')]){case _0x13b196[_0x1a4e('0x5383')]:_0x4f39a9['shape']===_0x2a2e30[_0x1a4e('0x537f')]?_0x13e4bb=_0x15ca8d=Math[_0x1a4e('0x74')](Math[_0x1a4e('0x65')](_0x40681f),Math[_0x1a4e('0x65')](_0x40681f-_0x2a04f1),Math['abs'](_0x44caca),Math[_0x1a4e('0x65')](_0x44caca-_0x8fab41)):_0x4f39a9[_0x1a4e('0x423f')]===_0x2a2e30[_0x1a4e('0x5381')]&&(_0x13e4bb=Math[_0x1a4e('0x74')](Math[_0x1a4e('0x65')](_0x40681f),Math[_0x1a4e('0x65')](_0x40681f-_0x2a04f1)),_0x15ca8d=Math[_0x1a4e('0x74')](Math['abs'](_0x44caca),Math[_0x1a4e('0x65')](_0x44caca-_0x8fab41)));break;case _0x13b196['CLOSEST_CORNER']:if(_0x4f39a9['shape']===_0x2a2e30['CIRCLE'])_0x13e4bb=_0x15ca8d=Math[_0x1a4e('0x74')](_0x1ec8bb(_0x40681f,_0x44caca),_0x1ec8bb(_0x40681f,_0x44caca-_0x8fab41),_0x1ec8bb(_0x40681f-_0x2a04f1,_0x44caca),_0x1ec8bb(_0x40681f-_0x2a04f1,_0x44caca-_0x8fab41));else if(_0x4f39a9[_0x1a4e('0x423f')]===_0x2a2e30[_0x1a4e('0x5381')]){var _0x206a52=Math[_0x1a4e('0x74')](Math[_0x1a4e('0x65')](_0x44caca),Math['abs'](_0x44caca-_0x8fab41))/Math[_0x1a4e('0x74')](Math[_0x1a4e('0x65')](_0x40681f),Math[_0x1a4e('0x65')](_0x40681f-_0x2a04f1)),_0x1797cb=_0x265542(_0x2a04f1,_0x8fab41,_0x40681f,_0x44caca,!0x0),_0x302704=_0x1797cb[0x0],_0x4133f3=_0x1797cb[0x1];_0x15ca8d=_0x206a52*(_0x13e4bb=_0x1ec8bb(_0x302704-_0x40681f,(_0x4133f3-_0x44caca)/_0x206a52));}break;case _0x13b196['FARTHEST_SIDE']:_0x4f39a9[_0x1a4e('0x423f')]===_0x2a2e30['CIRCLE']?_0x13e4bb=_0x15ca8d=Math['max'](Math[_0x1a4e('0x65')](_0x40681f),Math[_0x1a4e('0x65')](_0x40681f-_0x2a04f1),Math[_0x1a4e('0x65')](_0x44caca),Math['abs'](_0x44caca-_0x8fab41)):_0x4f39a9['shape']===_0x2a2e30['ELLIPSE']&&(_0x13e4bb=Math[_0x1a4e('0x6c')](Math[_0x1a4e('0x65')](_0x40681f),Math[_0x1a4e('0x65')](_0x40681f-_0x2a04f1)),_0x15ca8d=Math[_0x1a4e('0x6c')](Math['abs'](_0x44caca),Math[_0x1a4e('0x65')](_0x44caca-_0x8fab41)));break;case _0x13b196[_0x1a4e('0x5380')]:if(_0x4f39a9[_0x1a4e('0x423f')]===_0x2a2e30[_0x1a4e('0x537f')])_0x13e4bb=_0x15ca8d=Math[_0x1a4e('0x6c')](_0x1ec8bb(_0x40681f,_0x44caca),_0x1ec8bb(_0x40681f,_0x44caca-_0x8fab41),_0x1ec8bb(_0x40681f-_0x2a04f1,_0x44caca),_0x1ec8bb(_0x40681f-_0x2a04f1,_0x44caca-_0x8fab41));else if(_0x4f39a9[_0x1a4e('0x423f')]===_0x2a2e30[_0x1a4e('0x5381')]){_0x206a52=Math['max'](Math[_0x1a4e('0x65')](_0x44caca),Math[_0x1a4e('0x65')](_0x44caca-_0x8fab41))/Math[_0x1a4e('0x6c')](Math[_0x1a4e('0x65')](_0x40681f),Math[_0x1a4e('0x65')](_0x40681f-_0x2a04f1));var _0x1002a1=_0x265542(_0x2a04f1,_0x8fab41,_0x40681f,_0x44caca,!0x1);_0x302704=_0x1002a1[0x0],_0x4133f3=_0x1002a1[0x1],_0x15ca8d=_0x206a52*(_0x13e4bb=_0x1ec8bb(_0x302704-_0x40681f,(_0x4133f3-_0x44caca)/_0x206a52));}}return Array['isArray'](_0x4f39a9[_0x1a4e('0x220')])&&(_0x13e4bb=_0x516d71(_0x4f39a9[_0x1a4e('0x220')][0x0],_0x2a04f1),_0x15ca8d=0x2===_0x4f39a9[_0x1a4e('0x220')][_0x1a4e('0x1e')]?_0x516d71(_0x4f39a9[_0x1a4e('0x220')][0x1],_0x8fab41):_0x13e4bb),[_0x13e4bb,_0x15ca8d];}(_0x44caca,_0x585dcf,_0x1c3b85,_0x1158fc,_0x2e2ea1),_0xcf08cc=_0x2d7b6b[0x0],_0x96020b=_0x2d7b6b[0x1],_0xcf08cc>0x0&&_0xcf08cc>0x0&&(_0x48c8f7=_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x3db9')](_0x141e9b+_0x585dcf,_0xb7f585+_0x1c3b85,0x0,_0x141e9b+_0x585dcf,_0xb7f585+_0x1c3b85,_0xcf08cc),_0x41aa08(_0x44caca['stops'],0x2*_0xcf08cc)[_0x1a4e('0x3b')](function(_0x4f39a9){return _0x48c8f7['addColorStop'](_0x4f39a9['stop'],_0x963a6c(_0x4f39a9[_0x1a4e('0x134')]));}),_0x2a04f1[_0x1a4e('0x64')](_0x4423c6),_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x48c8f7,_0xcf08cc!==_0x96020b?(_0x3c352d=_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x5f')]+0.5*_0x4f39a9[_0x1a4e('0x47e0')][_0x1a4e('0x3936')],_0x1543ee=_0x4f39a9['bounds'][_0x1a4e('0x5e')]+0.5*_0x4f39a9['bounds'][_0x1a4e('0x152')],_0x514e93=0x1/(_0x370b5b=_0x96020b/_0xcf08cc),_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x8b5')](),_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x142')](_0x3c352d,_0x1543ee),_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x93')](0x1,0x0,0x0,_0x370b5b,0x0,0x0),_0x2a04f1['ctx'][_0x1a4e('0x142')](-_0x3c352d,-_0x1543ee),_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x3dde')](_0x141e9b,_0x514e93*(_0xb7f585-_0x1543ee)+_0x1543ee,_0x1158fc,_0x2e2ea1*_0x514e93),_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x878')]()):_0x2a04f1[_0x1a4e('0x169f')][_0x1a4e('0x22c')]())),_0x8fab41[_0x1a4e('0x1bc')]=0x6;case 0x6:return _0x40681f--,[0x2];}});},_0x2a04f1=this,_0x13e4bb=0x0,_0x15ca8d=_0x4f39a9[_0x1a4e('0xe1d')][_0x1a4e('0x4513')][_0x1a4e('0x78')](0x0)[_0x1a4e('0x9b')](),_0x1797cb[_0x1a4e('0x1bc')]=0x1;case 0x1:return _0x13e4bb<_0x15ca8d[_0x1a4e('0x1e')]?(_0x206a52=_0x15ca8d[_0x13e4bb],[0x5,_0x44caca(_0x206a52)]):[0x3,0x4];case 0x2:_0x1797cb[_0x1a4e('0x128a')](),_0x1797cb['label']=0x3;case 0x3:return _0x13e4bb++,[0x3,0x1];case 0x4:return[0x2];}});});},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x550f')]=function(_0x4f39a9,_0x40681f,_0x44caca){return _0x2a04f1(this,void 0x0,void 0x0,function(){return _0x8fab41(this,function(_0x2a04f1){return this[_0x1a4e('0x64')](function(_0x4f39a9,_0x40681f){switch(_0x40681f){case 0x0:return _0x2dcfca(_0x4f39a9[_0x1a4e('0x54d9')],_0x4f39a9[_0x1a4e('0x54df')],_0x4f39a9[_0x1a4e('0x54e5')],_0x4f39a9[_0x1a4e('0x54e0')]);case 0x1:return _0x2dcfca(_0x4f39a9[_0x1a4e('0x54e5')],_0x4f39a9[_0x1a4e('0x54e0')],_0x4f39a9['bottomRightBorderBox'],_0x4f39a9[_0x1a4e('0x54e1')]);case 0x2:return _0x2dcfca(_0x4f39a9[_0x1a4e('0x5510')],_0x4f39a9[_0x1a4e('0x54e1')],_0x4f39a9[_0x1a4e('0x54dd')],_0x4f39a9['bottomLeftPaddingBox']);case 0x3:default:return _0x2dcfca(_0x4f39a9[_0x1a4e('0x54dd')],_0x4f39a9[_0x1a4e('0x54e2')],_0x4f39a9['topLeftBorderBox'],_0x4f39a9[_0x1a4e('0x54df')]);}}(_0x44caca,_0x40681f)),this[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x963a6c(_0x4f39a9),this[_0x1a4e('0x169f')][_0x1a4e('0x22c')](),[0x2];});});},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x5508')]=function(_0x4f39a9){return _0x2a04f1(this,void 0x0,void 0x0,function(){var _0x40681f,_0x44caca,_0x2a04f1,_0x13e4bb,_0x15ca8d,_0x206a52,_0x1797cb,_0x302704,_0x4133f3=this;return _0x8fab41(this,function(_0x8fab41){switch(_0x8fab41[_0x1a4e('0x1bc')]){case 0x0:return this[_0x1a4e('0x54f7')](_0x4f39a9[_0x1a4e('0x54ea')],0x2),_0x40681f=_0x4f39a9[_0x1a4e('0x12d8')][_0x1a4e('0xe1d')],_0x44caca=!_0xa29797(_0x40681f[_0x1a4e('0x3ef1')])||_0x40681f[_0x1a4e('0x4513')][_0x1a4e('0x1e')],_0x2a04f1=[{'style':_0x40681f[_0x1a4e('0x5450')],'color':_0x40681f[_0x1a4e('0x544a')]},{'style':_0x40681f[_0x1a4e('0x5451')],'color':_0x40681f['borderRightColor']},{'style':_0x40681f[_0x1a4e('0x5452')],'color':_0x40681f['borderBottomColor']},{'style':_0x40681f[_0x1a4e('0x5453')],'color':_0x40681f['borderLeftColor']}],_0x13e4bb=_0x1abcf4(_0x33ad82(_0x40681f[_0x1a4e('0x5448')],0x0),_0x4f39a9[_0x1a4e('0x958')]),_0x44caca||_0x40681f[_0x1a4e('0x5458')][_0x1a4e('0x1e')]?(this[_0x1a4e('0x169f')]['save'](),this[_0x1a4e('0x64')](_0x13e4bb),this[_0x1a4e('0x169f')][_0x1a4e('0x4a3f')](),_0xa29797(_0x40681f[_0x1a4e('0x3ef1')])||(this[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x963a6c(_0x40681f[_0x1a4e('0x3ef1')]),this[_0x1a4e('0x169f')][_0x1a4e('0x22c')]()),[0x4,this[_0x1a4e('0x550c')](_0x4f39a9[_0x1a4e('0x12d8')])]):[0x3,0x2];case 0x1:_0x8fab41[_0x1a4e('0x128a')](),this[_0x1a4e('0x169f')]['restore'](),_0x40681f[_0x1a4e('0x5458')][_0x1a4e('0x78')](0x0)['reverse']()[_0x1a4e('0x3b')](function(_0x40681f){_0x4133f3[_0x1a4e('0x169f')][_0x1a4e('0x8b5')]();var _0x44caca,_0x2a04f1,_0x8fab41,_0x13e4bb,_0x15ca8d,_0x206a52=_0xc685d0(_0x4f39a9['curves']),_0x1797cb=_0x40681f[_0x1a4e('0x5447')]?0x0:0x2710,_0x302704=(_0x44caca=_0x206a52,_0x2a04f1=-_0x1797cb+(_0x40681f[_0x1a4e('0x5447')]?0x1:-0x1)*_0x40681f[_0x1a4e('0x107e')]['number'],_0x8fab41=(_0x40681f[_0x1a4e('0x5447')]?0x1:-0x1)*_0x40681f[_0x1a4e('0x107e')]['number'],_0x13e4bb=_0x40681f[_0x1a4e('0x107e')][_0x1a4e('0x3d')]*(_0x40681f[_0x1a4e('0x5447')]?-0x2:0x2),_0x15ca8d=_0x40681f[_0x1a4e('0x107e')][_0x1a4e('0x3d')]*(_0x40681f[_0x1a4e('0x5447')]?-0x2:0x2),_0x44caca[_0x1a4e('0x21')](function(_0x4f39a9,_0x40681f){switch(_0x40681f){case 0x0:return _0x4f39a9['add'](_0x2a04f1,_0x8fab41);case 0x1:return _0x4f39a9[_0x1a4e('0x177')](_0x2a04f1+_0x13e4bb,_0x8fab41);case 0x2:return _0x4f39a9['add'](_0x2a04f1+_0x13e4bb,_0x8fab41+_0x15ca8d);case 0x3:return _0x4f39a9[_0x1a4e('0x177')](_0x2a04f1,_0x8fab41+_0x15ca8d);}return _0x4f39a9;}));_0x40681f['inset']?(_0x4133f3[_0x1a4e('0x64')](_0x206a52),_0x4133f3[_0x1a4e('0x169f')]['clip'](),_0x4133f3['mask'](_0x302704)):(_0x4133f3[_0x1a4e('0xce')](_0x206a52),_0x4133f3['ctx'][_0x1a4e('0x4a3f')](),_0x4133f3[_0x1a4e('0x64')](_0x302704)),_0x4133f3['ctx'][_0x1a4e('0x4847')]=_0x40681f[_0x1a4e('0x542b')][_0x1a4e('0x3d')]+_0x1797cb,_0x4133f3[_0x1a4e('0x169f')][_0x1a4e('0x4848')]=_0x40681f[_0x1a4e('0x542c')][_0x1a4e('0x3d')],_0x4133f3['ctx'][_0x1a4e('0x4846')]=_0x963a6c(_0x40681f['color']),_0x4133f3[_0x1a4e('0x169f')][_0x1a4e('0x4845')]=_0x40681f[_0x1a4e('0x3822')][_0x1a4e('0x3d')],_0x4133f3[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x40681f['inset']?_0x963a6c(_0x40681f[_0x1a4e('0x134')]):_0x1a4e('0x47af'),_0x4133f3[_0x1a4e('0x169f')][_0x1a4e('0x22c')](),_0x4133f3[_0x1a4e('0x169f')][_0x1a4e('0x878')]();}),_0x8fab41[_0x1a4e('0x1bc')]=0x2;case 0x2:_0x15ca8d=0x0,_0x206a52=0x0,_0x1797cb=_0x2a04f1,_0x8fab41['label']=0x3;case 0x3:return _0x206a52<_0x1797cb[_0x1a4e('0x1e')]?(_0x302704=_0x1797cb[_0x206a52])[_0x1a4e('0x375c')]===_0x5335b8[_0x1a4e('0x24a')]||_0xa29797(_0x302704[_0x1a4e('0x134')])?[0x3,0x5]:[0x4,this['renderBorder'](_0x302704[_0x1a4e('0x134')],_0x15ca8d,_0x4f39a9[_0x1a4e('0x958')])]:[0x3,0x7];case 0x4:_0x8fab41[_0x1a4e('0x128a')](),_0x8fab41[_0x1a4e('0x1bc')]=0x5;case 0x5:_0x15ca8d++,_0x8fab41[_0x1a4e('0x1bc')]=0x6;case 0x6:return _0x206a52++,[0x3,0x3];case 0x7:return[0x2];}});});},_0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x12d9')]=function(_0x4f39a9){return _0x2a04f1(this,void 0x0,void 0x0,function(){var _0x40681f;return _0x8fab41(this,function(_0x44caca){switch(_0x44caca[_0x1a4e('0x1bc')]){case 0x0:return this[_0x1a4e('0x8dc')][_0x1a4e('0x3ef1')]&&(this[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x963a6c(this[_0x1a4e('0x8dc')][_0x1a4e('0x3ef1')]),this[_0x1a4e('0x169f')]['fillRect'](this[_0x1a4e('0x8dc')]['x']-this[_0x1a4e('0x8dc')]['scrollX'],this[_0x1a4e('0x8dc')]['y']-this['options'][_0x1a4e('0x54b0')],this[_0x1a4e('0x8dc')][_0x1a4e('0x3936')],this['options']['height'])),_0x40681f=_0x492ac6(_0x4f39a9),[0x4,this[_0x1a4e('0x54fa')](_0x40681f)];case 0x1:return _0x44caca[_0x1a4e('0x128a')](),this['applyEffects']([],0x2),[0x2,this[_0x1a4e('0x3934')]];}});});},_0x4f39a9;}(),_0x66a868=function(_0x4f39a9){return _0x4f39a9 instanceof _0x555429||(_0x4f39a9 instanceof _0x21e405||_0x4f39a9 instanceof _0x5f3a75&&_0x4f39a9[_0x1a4e('0x40')]!==_0x4f5ee6&&_0x4f39a9[_0x1a4e('0x40')]!==_0x14dd0c);},_0x1abcf4=function(_0x4f39a9,_0x40681f){switch(_0x4f39a9){case _0x568255[_0x1a4e('0x534b')]:return _0xc685d0(_0x40681f);case _0x568255[_0x1a4e('0x534d')]:return function(_0x4f39a9){return[_0x4f39a9['topLeftContentBox'],_0x4f39a9[_0x1a4e('0x54e3')],_0x4f39a9[_0x1a4e('0x54e4')],_0x4f39a9['bottomLeftContentBox']];}(_0x40681f);case _0x568255['PADDING_BOX']:default:return _0x4d331d(_0x40681f);}},_0x47f270=function(_0x4f39a9){switch(_0x4f39a9){case _0x1b0d94[_0x1a4e('0x445d')]:return _0x1a4e('0x111');case _0x1b0d94[_0x1a4e('0x318')]:return _0x1a4e('0x5d');case _0x1b0d94[_0x1a4e('0x3ea')]:default:return'left';}},_0x55156f=function(){function _0x4f39a9(_0x4f39a9){this['canvas']=_0x4f39a9[_0x1a4e('0x3934')]?_0x4f39a9['canvas']:document['createElement']('canvas'),this[_0x1a4e('0x169f')]=this['canvas']['getContext']('2d'),this[_0x1a4e('0x8dc')]=_0x4f39a9,this[_0x1a4e('0x3934')][_0x1a4e('0x3936')]=Math[_0x1a4e('0xb4')](_0x4f39a9[_0x1a4e('0x3936')]*_0x4f39a9[_0x1a4e('0x143')]),this[_0x1a4e('0x3934')][_0x1a4e('0x152')]=Math[_0x1a4e('0xb4')](_0x4f39a9[_0x1a4e('0x152')]*_0x4f39a9[_0x1a4e('0x143')]),this['canvas'][_0x1a4e('0x375c')][_0x1a4e('0x3936')]=_0x4f39a9['width']+'px',this[_0x1a4e('0x3934')][_0x1a4e('0x375c')][_0x1a4e('0x152')]=_0x4f39a9[_0x1a4e('0x152')]+'px',this[_0x1a4e('0x169f')][_0x1a4e('0x143')](this[_0x1a4e('0x8dc')][_0x1a4e('0x143')],this[_0x1a4e('0x8dc')]['scale']),this[_0x1a4e('0x169f')][_0x1a4e('0x142')](-_0x4f39a9['x']+_0x4f39a9[_0x1a4e('0x54b1')],-_0x4f39a9['y']+_0x4f39a9[_0x1a4e('0x54b0')]),_0x319799[_0x1a4e('0x5363')](_0x4f39a9['id'])[_0x1a4e('0x5362')](_0x1a4e('0x5511')+_0x4f39a9[_0x1a4e('0x3936')]+'x'+_0x4f39a9[_0x1a4e('0x152')]+_0x1a4e('0x697')+_0x4f39a9['x']+','+_0x4f39a9['y']+_0x1a4e('0x5512')+_0x4f39a9['scale']);}return _0x4f39a9[_0x1a4e('0xa')][_0x1a4e('0x12d9')]=function(_0x4f39a9){return _0x2a04f1(this,void 0x0,void 0x0,function(){var _0x40681f,_0x44caca;return _0x8fab41(this,function(_0x2a04f1){switch(_0x2a04f1[_0x1a4e('0x1bc')]){case 0x0:return _0x40681f=_0x1ed8b2(Math[_0x1a4e('0x6c')](this[_0x1a4e('0x8dc')][_0x1a4e('0x5513')],this[_0x1a4e('0x8dc')][_0x1a4e('0x3936')])*this[_0x1a4e('0x8dc')]['scale'],Math[_0x1a4e('0x6c')](this['options'][_0x1a4e('0x5514')],this[_0x1a4e('0x8dc')][_0x1a4e('0x152')])*this['options'][_0x1a4e('0x143')],this[_0x1a4e('0x8dc')]['scrollX']*this[_0x1a4e('0x8dc')][_0x1a4e('0x143')],this[_0x1a4e('0x8dc')][_0x1a4e('0x54b0')]*this[_0x1a4e('0x8dc')][_0x1a4e('0x143')],_0x4f39a9),[0x4,_0x4a0826(_0x40681f)];case 0x1:return _0x44caca=_0x2a04f1[_0x1a4e('0x128a')](),this[_0x1a4e('0x8dc')]['backgroundColor']&&(this[_0x1a4e('0x169f')][_0x1a4e('0x3dbe')]=_0x963a6c(this[_0x1a4e('0x8dc')][_0x1a4e('0x3ef1')]),this[_0x1a4e('0x169f')][_0x1a4e('0x3dde')](0x0,0x0,this[_0x1a4e('0x8dc')]['width']*this[_0x1a4e('0x8dc')][_0x1a4e('0x143')],this[_0x1a4e('0x8dc')][_0x1a4e('0x152')]*this[_0x1a4e('0x8dc')]['scale'])),this[_0x1a4e('0x169f')]['drawImage'](_0x44caca,-this[_0x1a4e('0x8dc')]['x']*this[_0x1a4e('0x8dc')]['scale'],-this[_0x1a4e('0x8dc')]['y']*this[_0x1a4e('0x8dc')][_0x1a4e('0x143')]),[0x2,this[_0x1a4e('0x3934')]];}});});},_0x4f39a9;}(),_0x4a0826=function(_0x4f39a9){return new Promise(function(_0x40681f,_0x44caca){var _0x2a04f1=new Image();_0x2a04f1[_0x1a4e('0x1336')]=function(){_0x40681f(_0x2a04f1);},_0x2a04f1[_0x1a4e('0x1338')]=_0x44caca,_0x2a04f1[_0x1a4e('0xe05')]='data:image/svg+xml;charset=utf-8,'+encodeURIComponent(new XMLSerializer()['serializeToString'](_0x4f39a9));});},_0x1ee9c6=function(_0x4f39a9){return _0x43bd26(_0x5f4ad8[_0x1a4e('0x7')](_0x4f39a9)[_0x1a4e('0x5326')]());};_0x4b7d13['setContext'](window);var _0x47075f=function(_0x4f39a9,_0x40681f){return _0x2a04f1(void 0x0,void 0x0,void 0x0,function(){var _0x2a04f1,_0x206a52,_0x1797cb,_0x302704,_0x4133f3,_0x1002a1,_0x683603,_0x318a81,_0x329d11,_0x36e8b1,_0x19938f,_0x18113a,_0x27e293,_0xf57c0,_0x4423c6,_0x141e9b,_0xb7f585,_0x1158fc,_0x2e2ea1,_0x3d181f,_0x585dcf,_0x1c3b85,_0x2d7b6b;return _0x8fab41(this,function(_0x8fab41){switch(_0x8fab41[_0x1a4e('0x1bc')]){case 0x0:if(!(_0x2a04f1=_0x4f39a9[_0x1a4e('0x5474')]))throw new Error(_0x1a4e('0x5515'));if(!(_0x206a52=_0x2a04f1[_0x1a4e('0x4680')]))throw new Error(_0x1a4e('0x5516'));return _0x1797cb=(Math['round'](0x3e8*Math[_0x1a4e('0x12e')]())+Date['now']())[_0x1a4e('0x95')](0x10),_0x302704=_0x22eb38(_0x4f39a9)||_0x1a4e('0x5517')===_0x4f39a9[_0x1a4e('0x132b')]?function(_0x4f39a9){var _0x40681f=_0x4f39a9[_0x1a4e('0x8f2')],_0x44caca=_0x4f39a9['documentElement'];if(!_0x40681f||!_0x44caca)throw new Error(_0x1a4e('0x5518'));var _0x2a04f1=Math['max'](Math['max'](_0x40681f[_0x1a4e('0x5519')],_0x44caca['scrollWidth']),Math[_0x1a4e('0x6c')](_0x40681f['offsetWidth'],_0x44caca[_0x1a4e('0x39c9')]),Math[_0x1a4e('0x6c')](_0x40681f[_0x1a4e('0x3a62')],_0x44caca['clientWidth'])),_0x8fab41=Math['max'](Math[_0x1a4e('0x6c')](_0x40681f[_0x1a4e('0x551a')],_0x44caca[_0x1a4e('0x551a')]),Math['max'](_0x40681f[_0x1a4e('0x4359')],_0x44caca[_0x1a4e('0x4359')]),Math[_0x1a4e('0x6c')](_0x40681f[_0x1a4e('0x3a63')],_0x44caca[_0x1a4e('0x3a63')]));return new _0x13e4bb(0x0,0x0,_0x2a04f1,_0x8fab41);}(_0x2a04f1):_0x15ca8d(_0x4f39a9),_0x4133f3=_0x302704['width'],_0x1002a1=_0x302704[_0x1a4e('0x152')],_0x683603=_0x302704['left'],_0x318a81=_0x302704['top'],_0x329d11=_0x44caca({},{'allowTaint':!0x1,'imageTimeout':0x3a98,'proxy':void 0x0,'useCORS':!0x1},_0x40681f),_0x36e8b1={'backgroundColor':'#ffffff','cache':_0x40681f[_0x1a4e('0xa67')]?_0x40681f['cache']:_0x4b7d13[_0x1a4e('0x7')](_0x1797cb,_0x329d11),'logging':!0x0,'removeContainer':!0x0,'foreignObjectRendering':!0x1,'scale':_0x206a52['devicePixelRatio']||0x1,'windowWidth':_0x206a52[_0x1a4e('0x4f6d')],'windowHeight':_0x206a52[_0x1a4e('0x3df8')],'scrollX':_0x206a52[_0x1a4e('0x54ac')],'scrollY':_0x206a52[_0x1a4e('0x54ad')],'x':_0x683603,'y':_0x318a81,'width':Math[_0x1a4e('0x6d')](_0x4133f3),'height':Math[_0x1a4e('0x6d')](_0x1002a1),'id':_0x1797cb},_0x19938f=_0x44caca({},_0x36e8b1,_0x329d11,_0x40681f),_0x18113a=new _0x13e4bb(_0x19938f[_0x1a4e('0x54b1')],_0x19938f[_0x1a4e('0x54b0')],_0x19938f['windowWidth'],_0x19938f['windowHeight']),_0x319799[_0x1a4e('0x7')]({'id':_0x1797cb,'enabled':_0x19938f['logging']}),_0x319799[_0x1a4e('0x5363')](_0x1797cb)['debug'](_0x1a4e('0x551b')),_0x27e293=new _0x404927(_0x4f39a9,{'id':_0x1797cb,'onclone':_0x19938f[_0x1a4e('0x54b2')],'ignoreElements':_0x19938f[_0x1a4e('0x54c1')],'inlineImages':_0x19938f[_0x1a4e('0x551c')],'copyStyles':_0x19938f[_0x1a4e('0x551c')]}),(_0xf57c0=_0x27e293[_0x1a4e('0x54b3')])?[0x4,_0x27e293[_0x1a4e('0x54aa')](_0x2a04f1,_0x18113a)]:[0x2,Promise[_0x1a4e('0x1077')](_0x1a4e('0x551d'))];case 0x1:return _0x4423c6=_0x8fab41[_0x1a4e('0x128a')](),_0x141e9b=_0x2a04f1[_0x1a4e('0x5487')]?_0x1ee9c6(getComputedStyle(_0x2a04f1[_0x1a4e('0x5487')])[_0x1a4e('0x3ef1')]):_0x197646[_0x1a4e('0x5344')],_0xb7f585=_0x2a04f1['body']?_0x1ee9c6(getComputedStyle(_0x2a04f1[_0x1a4e('0x8f2')])[_0x1a4e('0x3ef1')]):_0x197646[_0x1a4e('0x5344')],_0x1158fc=_0x40681f[_0x1a4e('0x3ef1')],_0x2e2ea1='string'==typeof _0x1158fc?_0x1ee9c6(_0x1158fc):null===_0x1158fc?_0x197646[_0x1a4e('0x5344')]:0xffffffff,_0x3d181f=_0x4f39a9===_0x2a04f1['documentElement']?_0xa29797(_0x141e9b)?_0xa29797(_0xb7f585)?_0x2e2ea1:_0xb7f585:_0x141e9b:_0x2e2ea1,_0x585dcf={'id':_0x1797cb,'cache':_0x19938f['cache'],'canvas':_0x19938f[_0x1a4e('0x3934')],'backgroundColor':_0x3d181f,'scale':_0x19938f[_0x1a4e('0x143')],'x':_0x19938f['x'],'y':_0x19938f['y'],'scrollX':_0x19938f[_0x1a4e('0x54b1')],'scrollY':_0x19938f[_0x1a4e('0x54b0')],'width':_0x19938f[_0x1a4e('0x3936')],'height':_0x19938f[_0x1a4e('0x152')],'windowWidth':_0x19938f['windowWidth'],'windowHeight':_0x19938f[_0x1a4e('0x5514')]},_0x19938f[_0x1a4e('0x551c')]?(_0x319799[_0x1a4e('0x5363')](_0x1797cb)[_0x1a4e('0x5362')](_0x1a4e('0x551e')),[0x4,new _0x55156f(_0x585dcf)[_0x1a4e('0x12d9')](_0xf57c0)]):[0x3,0x3];case 0x2:return _0x1c3b85=_0x8fab41[_0x1a4e('0x128a')](),[0x3,0x5];case 0x3:return _0x319799[_0x1a4e('0x5363')](_0x1797cb)['debug'](_0x1a4e('0x551f')),_0x4b7d13[_0x1a4e('0x5370')](_0x19938f[_0x1a4e('0xa67')]),_0x319799[_0x1a4e('0x5363')](_0x1797cb)[_0x1a4e('0x5362')](_0x1a4e('0x5520')),_0x2d7b6b=_0x12336c(_0xf57c0),_0x4b7d13[_0x1a4e('0x5371')](),_0x3d181f===_0x2d7b6b[_0x1a4e('0xe1d')]['backgroundColor']&&(_0x2d7b6b[_0x1a4e('0xe1d')][_0x1a4e('0x3ef1')]=_0x197646['TRANSPARENT']),_0x319799[_0x1a4e('0x5363')](_0x1797cb)[_0x1a4e('0x5362')](_0x1a4e('0x5521')),[0x4,new _0x5e5b4f(_0x585dcf)['render'](_0x2d7b6b)];case 0x4:_0x1c3b85=_0x8fab41[_0x1a4e('0x128a')](),_0x8fab41[_0x1a4e('0x1bc')]=0x5;case 0x5:return!0x0===_0x19938f[_0x1a4e('0x5522')]&&(_0x404927[_0x1a4e('0x139c')](_0x4423c6)||_0x319799[_0x1a4e('0x5363')](_0x1797cb)[_0x1a4e('0x873')]('Cannot\x20detach\x20cloned\x20iframe\x20as\x20it\x20is\x20not\x20in\x20the\x20DOM\x20anymore')),_0x319799[_0x1a4e('0x5363')](_0x1797cb)[_0x1a4e('0x5362')](_0x1a4e('0x5523')),_0x319799[_0x1a4e('0x139c')](_0x1797cb),_0x4b7d13['destroy'](_0x1797cb),[0x2,_0x1c3b85];}});});};return function(_0x4f39a9,_0x40681f){return void 0x0===_0x40681f&&(_0x40681f={}),_0x47075f(_0x4f39a9,_0x40681f);};},_0x1a4e('0x85')===_0x15ca8d(_0x40681f)&&void 0x0!==_0x4f39a9?_0x4f39a9['exports']=_0x13e4bb():void 0x0===(_0x8fab41=_0x1a4e('0x68')==typeof(_0x2a04f1=_0x13e4bb)?_0x2a04f1[_0x1a4e('0x1')](_0x40681f,_0x44caca,_0x40681f,_0x4f39a9):_0x2a04f1)||(_0x4f39a9[_0x1a4e('0x0')]=_0x8fab41);},'./src/Utils/proj4/proj4.js':function(_0x2501ea,_0x3235ec,_0x37e86e){'use strict';var _0x5b5613,_0x22c25d,_0x510841=_0x1a4e('0x68')==typeof Symbol&&_0x1a4e('0xb1b')==typeof Symbol['iterator']?function(_0x2501ea){return typeof _0x2501ea;}:function(_0x2501ea){return _0x2501ea&&_0x1a4e('0x68')==typeof Symbol&&_0x2501ea[_0x1a4e('0x10')]===Symbol&&_0x2501ea!==Symbol[_0x1a4e('0xa')]?_0x1a4e('0xb1b'):typeof _0x2501ea;};!function(_0x3748fa,_0x1ff466){_0x1a4e('0x85')==_0x510841(_0x3235ec)&&void 0x0!==_0x2501ea?_0x2501ea[_0x1a4e('0x0')]=_0x1ff466():void 0x0===(_0x22c25d=_0x1a4e('0x68')==typeof(_0x5b5613=_0x1ff466)?_0x5b5613['call'](_0x3235ec,_0x37e86e,_0x3235ec,_0x2501ea):_0x5b5613)||(_0x2501ea['exports']=_0x22c25d);}(0x0,function(){function _0x2501ea(_0x2501ea,_0x3235ec){if(_0x2501ea[_0x3235ec])return _0x2501ea[_0x3235ec];for(var _0x37e86e,_0x5b5613=Object[_0x1a4e('0x56')](_0x2501ea),_0x22c25d=_0x3235ec['toLowerCase']()[_0x1a4e('0x115')](_0x120fef,''),_0x510841=-0x1;++_0x510841<_0x5b5613[_0x1a4e('0x1e')];)if((_0x37e86e=_0x5b5613[_0x510841])[_0x1a4e('0x2b2')]()[_0x1a4e('0x115')](_0x120fef,'')===_0x22c25d)return _0x2501ea[_0x37e86e];}function _0x3235ec(_0x2501ea){if(_0x1a4e('0x9')!=typeof _0x2501ea)throw new Error(_0x1a4e('0x5524'));this[_0x1a4e('0xe04')]=_0x2501ea['trim'](),this['level']=0x0,this[_0x1a4e('0xc3a')]=0x0,this[_0x1a4e('0x1372')]=null,this[_0x1a4e('0x2cd')]=[],this[_0x1a4e('0x5525')]=null,this['state']=_0x31a247;}function _0x37e86e(_0x2501ea){return new _0x3235ec(_0x2501ea)[_0x1a4e('0x5526')]();}function _0x5b5613(_0x2501ea,_0x3235ec,_0x37e86e){Array[_0x1a4e('0x15')](_0x3235ec)&&(_0x37e86e[_0x1a4e('0x66')](_0x3235ec),_0x3235ec=null);var _0x5b5613=_0x3235ec?{}:_0x2501ea,_0x510841=_0x37e86e[_0x1a4e('0xbb')](function(_0x2501ea,_0x3235ec){return _0x22c25d(_0x3235ec,_0x2501ea),_0x2501ea;},_0x5b5613);_0x3235ec&&(_0x2501ea[_0x3235ec]=_0x510841);}function _0x22c25d(_0x2501ea,_0x3235ec){if(Array[_0x1a4e('0x15')](_0x2501ea)){var _0x37e86e,_0x510841=_0x2501ea['shift']();if(_0x1a4e('0x5527')===_0x510841&&(_0x510841=_0x2501ea[_0x1a4e('0x7d')]()),0x1===_0x2501ea[_0x1a4e('0x1e')])return Array[_0x1a4e('0x15')](_0x2501ea[0x0])?(_0x3235ec[_0x510841]={},void _0x22c25d(_0x2501ea[0x0],_0x3235ec[_0x510841])):void(_0x3235ec[_0x510841]=_0x2501ea[0x0]);if(_0x2501ea['length'])if(_0x1a4e('0x5528')!==_0x510841)switch(Array[_0x1a4e('0x15')](_0x510841)||(_0x3235ec[_0x510841]={}),_0x510841){case _0x1a4e('0x5529'):case _0x1a4e('0x552a'):case _0x1a4e('0x552b'):return _0x3235ec[_0x510841]={'name':_0x2501ea[0x0][_0x1a4e('0x2b2')](),'convert':_0x2501ea[0x1]},void(0x3===_0x2501ea[_0x1a4e('0x1e')]&&_0x22c25d(_0x2501ea[0x2],_0x3235ec[_0x510841]));case _0x1a4e('0x552c'):case _0x1a4e('0x552d'):return _0x3235ec[_0x510841]={'name':_0x2501ea[0x0],'a':_0x2501ea[0x1],'rf':_0x2501ea[0x2]},void(0x4===_0x2501ea[_0x1a4e('0x1e')]&&_0x22c25d(_0x2501ea[0x3],_0x3235ec[_0x510841]));case _0x1a4e('0x552e'):case _0x1a4e('0x552f'):case _0x1a4e('0x5530'):case _0x1a4e('0x5531'):case _0x1a4e('0x5532'):case _0x1a4e('0x5533'):case _0x1a4e('0x5534'):case'GEODETICCRS':case'GEODETICDATUM':case _0x1a4e('0x5535'):case _0x1a4e('0x5536'):case _0x1a4e('0x5537'):case'VERTCRS':case _0x1a4e('0x5538'):case'COMPD_CS':case _0x1a4e('0x5539'):case _0x1a4e('0x553a'):case'ENGCRS':case _0x1a4e('0x553b'):case'LOCAL_DATUM':case _0x1a4e('0x553c'):return _0x2501ea[0x0]=[_0x1a4e('0x2cb'),_0x2501ea[0x0]],void _0x5b5613(_0x3235ec,_0x510841,_0x2501ea);default:for(_0x37e86e=-0x1;++_0x37e86e<_0x2501ea[_0x1a4e('0x1e')];)if(!Array[_0x1a4e('0x15')](_0x2501ea[_0x37e86e]))return _0x22c25d(_0x2501ea,_0x3235ec[_0x510841]);return _0x5b5613(_0x3235ec,_0x510841,_0x2501ea);}else _0x3235ec[_0x510841]=_0x2501ea;else _0x3235ec[_0x510841]=!0x0;}else _0x3235ec[_0x2501ea]=!0x0;}function _0x154c50(_0x2501ea){return _0x2501ea*_0x27ee24;}function _0xe669e0(_0x2501ea){function _0x3235ec(_0x3235ec){return _0x3235ec*(_0x2501ea['to_meter']||0x1);}_0x1a4e('0x5530')===_0x2501ea[_0x1a4e('0x40')]?_0x2501ea['projName']='longlat':_0x1a4e('0x5533')===_0x2501ea['type']?(_0x2501ea[_0x1a4e('0x553d')]=_0x1a4e('0x10a5'),_0x2501ea[_0x1a4e('0x553e')]=!0x0):'object'==_0x510841(_0x2501ea['PROJECTION'])?_0x2501ea['projName']=Object[_0x1a4e('0x56')](_0x2501ea['PROJECTION'])[0x0]:_0x2501ea[_0x1a4e('0x553d')]=_0x2501ea[_0x1a4e('0x553f')],_0x2501ea['UNIT']&&(_0x2501ea[_0x1a4e('0x8d')]=_0x2501ea[_0x1a4e('0x5529')][_0x1a4e('0x2cb')][_0x1a4e('0x2b2')](),_0x1a4e('0x5540')===_0x2501ea['units']&&(_0x2501ea[_0x1a4e('0x8d')]=_0x1a4e('0x39e0')),_0x2501ea[_0x1a4e('0x5529')][_0x1a4e('0xea4')]&&(_0x1a4e('0x5530')===_0x2501ea[_0x1a4e('0x40')]?_0x2501ea['DATUM']&&_0x2501ea[_0x1a4e('0x553c')][_0x1a4e('0x552c')]&&(_0x2501ea['to_meter']=_0x2501ea[_0x1a4e('0x5529')][_0x1a4e('0xea4')]*_0x2501ea['DATUM']['SPHEROID']['a']):_0x2501ea['to_meter']=_0x2501ea[_0x1a4e('0x5529')][_0x1a4e('0xea4')]));var _0x37e86e=_0x2501ea[_0x1a4e('0x5530')];_0x1a4e('0x5530')===_0x2501ea[_0x1a4e('0x40')]&&(_0x37e86e=_0x2501ea),_0x37e86e&&(_0x37e86e[_0x1a4e('0x553c')]?_0x2501ea[_0x1a4e('0x5541')]=_0x37e86e[_0x1a4e('0x553c')]['name']['toLowerCase']():_0x2501ea[_0x1a4e('0x5541')]=_0x37e86e['name']['toLowerCase'](),'d_'===_0x2501ea[_0x1a4e('0x5541')]['slice'](0x0,0x2)&&(_0x2501ea[_0x1a4e('0x5541')]=_0x2501ea[_0x1a4e('0x5541')][_0x1a4e('0x78')](0x2)),_0x1a4e('0x5542')!==_0x2501ea[_0x1a4e('0x5541')]&&_0x1a4e('0x5543')!==_0x2501ea['datumCode']||(_0x2501ea[_0x1a4e('0x5541')]=_0x1a4e('0x5544')),_0x1a4e('0x5545')===_0x2501ea[_0x1a4e('0x5541')]&&(_0x1a4e('0x5546')===_0x2501ea[_0x1a4e('0x553f')]&&(_0x2501ea['sphere']=!0x0),_0x2501ea[_0x1a4e('0x5541')]='wgs84'),_0x1a4e('0x5547')===_0x2501ea[_0x1a4e('0x5541')][_0x1a4e('0x78')](-0x6)&&(_0x2501ea[_0x1a4e('0x5541')]=_0x2501ea[_0x1a4e('0x5541')][_0x1a4e('0x78')](0x0,-0x6)),_0x1a4e('0x5548')===_0x2501ea[_0x1a4e('0x5541')][_0x1a4e('0x78')](-0x8)&&(_0x2501ea[_0x1a4e('0x5541')]=_0x2501ea[_0x1a4e('0x5541')][_0x1a4e('0x78')](0x0,-0x8)),~_0x2501ea['datumCode'][_0x1a4e('0x3e')](_0x1a4e('0x5549'))&&(_0x2501ea['datumCode']=_0x1a4e('0x554a')),_0x37e86e[_0x1a4e('0x553c')]&&_0x37e86e[_0x1a4e('0x553c')][_0x1a4e('0x552c')]&&(_0x2501ea[_0x1a4e('0x554b')]=_0x37e86e[_0x1a4e('0x553c')][_0x1a4e('0x552c')][_0x1a4e('0x2cb')][_0x1a4e('0x115')](_0x1a4e('0x554c'),'')[_0x1a4e('0x115')](/[Cc]larke\_18/,'clrk'),_0x1a4e('0x554d')===_0x2501ea['ellps']['toLowerCase']()[_0x1a4e('0x78')](0x0,0xd)&&(_0x2501ea[_0x1a4e('0x554b')]=_0x1a4e('0x554e')),_0x2501ea['a']=_0x37e86e[_0x1a4e('0x553c')][_0x1a4e('0x552c')]['a'],_0x2501ea['rf']=parseFloat(_0x37e86e[_0x1a4e('0x553c')][_0x1a4e('0x552c')]['rf'],0xa)),_0x37e86e[_0x1a4e('0x553c')]&&_0x37e86e[_0x1a4e('0x553c')]['TOWGS84']&&(_0x2501ea[_0x1a4e('0x554f')]=_0x37e86e[_0x1a4e('0x553c')][_0x1a4e('0x5528')]),~_0x2501ea['datumCode'][_0x1a4e('0x3e')](_0x1a4e('0x5550'))&&(_0x2501ea['datumCode']=_0x1a4e('0x5551')),~_0x2501ea['datumCode'][_0x1a4e('0x3e')](_0x1a4e('0x5552'))&&(_0x2501ea['datumCode']=_0x1a4e('0x5553')),(~_0x2501ea[_0x1a4e('0x5541')][_0x1a4e('0x3e')](_0x1a4e('0x5554'))||~_0x2501ea[_0x1a4e('0x5541')]['indexOf'](_0x1a4e('0x5555')))&&(_0x2501ea[_0x1a4e('0x5541')]='ire65'),_0x1a4e('0x5556')===_0x2501ea[_0x1a4e('0x5541')]&&(_0x2501ea[_0x1a4e('0x5541')]=_0x1a4e('0x5557')),~_0x2501ea['datumCode']['indexOf'](_0x1a4e('0x5558'))&&(_0x2501ea[_0x1a4e('0x5541')]=_0x1a4e('0x5559'))),_0x2501ea['b']&&!isFinite(_0x2501ea['b'])&&(_0x2501ea['b']=_0x2501ea['a']),[['standard_parallel_1',_0x1a4e('0x555a')],[_0x1a4e('0x555b'),'Standard_Parallel_2'],[_0x1a4e('0x555c'),'False_Easting'],[_0x1a4e('0x555d'),'False_Northing'],[_0x1a4e('0x555e'),_0x1a4e('0x555f')],[_0x1a4e('0x5560'),'Latitude_Of_Origin'],[_0x1a4e('0x5560'),'Central_Parallel'],['scale_factor',_0x1a4e('0x5561')],['k0',_0x1a4e('0x5562')],[_0x1a4e('0x5563'),_0x1a4e('0x5564')],[_0x1a4e('0x5563'),_0x1a4e('0x5565')],[_0x1a4e('0x5566'),'latitude_of_center',_0x154c50],['longitude_of_center',_0x1a4e('0x5567')],[_0x1a4e('0x5568'),_0x1a4e('0x5569')],[_0x1a4e('0x556a'),'longitude_of_center',_0x154c50],['x0',_0x1a4e('0x555c'),_0x3235ec],['y0',_0x1a4e('0x555d'),_0x3235ec],[_0x1a4e('0x556b'),_0x1a4e('0x555e'),_0x154c50],[_0x1a4e('0x5566'),_0x1a4e('0x5560'),_0x154c50],[_0x1a4e('0x5566'),_0x1a4e('0x556c'),_0x154c50],[_0x1a4e('0x556d'),_0x1a4e('0x556c'),_0x154c50],[_0x1a4e('0x556e'),_0x1a4e('0x555b'),_0x154c50],['azimuth','Azimuth'],[_0x1a4e('0x3a4f'),'azimuth',_0x154c50],['srsCode',_0x1a4e('0x2cb')]][_0x1a4e('0x3b')](function(_0x3235ec){return function(_0x2501ea,_0x3235ec){var _0x37e86e=_0x3235ec[0x0],_0x5b5613=_0x3235ec[0x1];!(_0x37e86e in _0x2501ea)&&_0x5b5613 in _0x2501ea&&(_0x2501ea[_0x37e86e]=_0x2501ea[_0x5b5613],0x3===_0x3235ec[_0x1a4e('0x1e')]&&(_0x2501ea[_0x37e86e]=_0x3235ec[0x2](_0x2501ea[_0x37e86e])));}(_0x2501ea,_0x3235ec);}),_0x2501ea['long0']||!_0x2501ea[_0x1a4e('0x556a')]||'Albers_Conic_Equal_Area'!==_0x2501ea[_0x1a4e('0x553d')]&&'Lambert_Azimuthal_Equal_Area'!==_0x2501ea[_0x1a4e('0x553d')]||(_0x2501ea[_0x1a4e('0x556b')]=_0x2501ea['longc']),_0x2501ea['lat_ts']||!_0x2501ea['lat1']||'Stereographic_South_Pole'!==_0x2501ea[_0x1a4e('0x553d')]&&'Polar\x20Stereographic\x20(variant\x20B)'!==_0x2501ea['projName']||(_0x2501ea[_0x1a4e('0x5566')]=_0x154c50(_0x2501ea[_0x1a4e('0x556d')]>0x0?0x5a:-0x5a),_0x2501ea[_0x1a4e('0x556f')]=_0x2501ea['lat1']);}function _0x23370d(_0x2501ea){var _0x3235ec=this;if(0x2===arguments[_0x1a4e('0x1e')]){var _0x37e86e=arguments[0x1];'string'==typeof _0x37e86e?'+'===_0x37e86e[_0x1a4e('0x278')](0x0)?_0x23370d[_0x2501ea]=_0x33d0d2(arguments[0x1]):_0x23370d[_0x2501ea]=_0x882b8c(arguments[0x1]):_0x23370d[_0x2501ea]=_0x37e86e;}else if(0x1===arguments['length']){if(Array[_0x1a4e('0x15')](_0x2501ea))return _0x2501ea[_0x1a4e('0x21')](function(_0x2501ea){Array[_0x1a4e('0x15')](_0x2501ea)?_0x23370d['apply'](_0x3235ec,_0x2501ea):_0x23370d(_0x2501ea);});if(_0x1a4e('0x9')==typeof _0x2501ea){if(_0x2501ea in _0x23370d)return _0x23370d[_0x2501ea];}else'EPSG'in _0x2501ea?_0x23370d[_0x1a4e('0x5570')+_0x2501ea['EPSG']]=_0x2501ea:'ESRI'in _0x2501ea?_0x23370d[_0x1a4e('0x5571')+_0x2501ea[_0x1a4e('0x5572')]]=_0x2501ea:_0x1a4e('0x5573')in _0x2501ea?_0x23370d[_0x1a4e('0x5574')+_0x2501ea[_0x1a4e('0x5573')]]=_0x2501ea:console[_0x1a4e('0x58')](_0x2501ea);return;}}function _0x39699b(_0x3235ec){var _0x37e86e=_0x2501ea(_0x3235ec,_0x1a4e('0x4e55'));if(_0x37e86e){var _0x5b5613=_0x2501ea(_0x37e86e,_0x1a4e('0x5575'));return _0x5b5613&&_0x128575[_0x1a4e('0x3e')](_0x5b5613)>-0x1;}}function _0x4714a6(_0x3235ec){var _0x37e86e=_0x2501ea(_0x3235ec,_0x1a4e('0x2319'));if(_0x37e86e)return _0x2501ea(_0x37e86e,_0x1a4e('0x5576'));}function _0x35563f(_0x2501ea){if(!function(_0x2501ea){return'string'==typeof _0x2501ea;}(_0x2501ea))return _0x2501ea;if(function(_0x2501ea){return _0x2501ea in _0x23370d;}(_0x2501ea))return _0x23370d[_0x2501ea];if(function(_0x2501ea){return _0x391f11[_0x1a4e('0x1c2')](function(_0x3235ec){return _0x2501ea[_0x1a4e('0x3e')](_0x3235ec)>-0x1;});}(_0x2501ea)){var _0x3235ec=_0x882b8c(_0x2501ea);if(_0x39699b(_0x3235ec))return _0x23370d[_0x1a4e('0x5280')];var _0x37e86e=_0x4714a6(_0x3235ec);return _0x37e86e?_0x33d0d2(_0x37e86e):_0x3235ec;}return function(_0x2501ea){return'+'===_0x2501ea[0x0];}(_0x2501ea)?_0x33d0d2(_0x2501ea):void 0x0;}function _0x533731(_0x2501ea){return _0x2501ea;}function _0x29bf60(_0x2501ea,_0x3235ec){var _0x37e86e=_0xb5b12e[_0x1a4e('0x1e')];return _0x2501ea[_0x1a4e('0x2dac')]?(_0xb5b12e[_0x37e86e]=_0x2501ea,_0x2501ea[_0x1a4e('0x2dac')][_0x1a4e('0x3b')](function(_0x2501ea){_0x1c1eb9[_0x2501ea[_0x1a4e('0x2b2')]()]=_0x37e86e;}),this):(console[_0x1a4e('0x58')](_0x3235ec),!0x0);}function _0x2be20f(_0x3235ec,_0x37e86e){if(!(this instanceof _0x2be20f))return new _0x2be20f(_0x3235ec);_0x37e86e=_0x37e86e||function(_0x2501ea){if(_0x2501ea)throw _0x2501ea;};var _0x5b5613=_0x35563f(_0x3235ec);if(_0x1a4e('0x85')==(void 0x0===_0x5b5613?_0x1a4e('0x3'):_0x510841(_0x5b5613))){var _0x22c25d=_0x2be20f[_0x1a4e('0x5577')][_0x1a4e('0x179')](_0x5b5613[_0x1a4e('0x553d')]);if(_0x22c25d){if(_0x5b5613['datumCode']&&_0x1a4e('0x60')!==_0x5b5613[_0x1a4e('0x5541')]){var _0x154c50=_0x2501ea(_0x36207b,_0x5b5613['datumCode']);_0x154c50&&(_0x5b5613[_0x1a4e('0x554f')]=_0x154c50[_0x1a4e('0x5578')]?_0x154c50[_0x1a4e('0x5578')][_0x1a4e('0x2be')](','):null,_0x5b5613[_0x1a4e('0x554b')]=_0x154c50[_0x1a4e('0x3957')],_0x5b5613[_0x1a4e('0x5579')]=_0x154c50[_0x1a4e('0x5579')]?_0x154c50[_0x1a4e('0x5579')]:_0x5b5613[_0x1a4e('0x5541')]);}_0x5b5613['k0']=_0x5b5613['k0']||0x1,_0x5b5613[_0x1a4e('0x557a')]=_0x5b5613[_0x1a4e('0x557a')]||_0x1a4e('0x557b'),_0x5b5613[_0x1a4e('0x554b')]=_0x5b5613[_0x1a4e('0x554b')]||_0x1a4e('0x557c');var _0xe669e0=function(_0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841){if(!_0x3235ec){var _0x154c50=_0x2501ea(_0x5bb896,_0x22c25d);_0x154c50||(_0x154c50=_0x2ef1fc),_0x3235ec=_0x154c50['a'],_0x37e86e=_0x154c50['b'],_0x5b5613=_0x154c50['rf'];}return _0x5b5613&&!_0x37e86e&&(_0x37e86e=(0x1-0x1/_0x5b5613)*_0x3235ec),(0x0===_0x5b5613||Math[_0x1a4e('0x65')](_0x3235ec-_0x37e86e)<_0x2f45fd)&&(_0x510841=!0x0,_0x37e86e=_0x3235ec),{'a':_0x3235ec,'b':_0x37e86e,'rf':_0x5b5613,'sphere':_0x510841};}(_0x5b5613['a'],_0x5b5613['b'],_0x5b5613['rf'],_0x5b5613[_0x1a4e('0x554b')],_0x5b5613[_0x1a4e('0x7a1')]),_0x23370d=function(_0x2501ea,_0x3235ec,_0x37e86e,_0x5b5613){var _0x22c25d=_0x2501ea*_0x2501ea,_0x510841=_0x3235ec*_0x3235ec,_0x154c50=(_0x22c25d-_0x510841)/_0x22c25d,_0xe669e0=0x0;return _0x5b5613?(_0x22c25d=(_0x2501ea*=0x1-_0x154c50*(_0x1bd306+_0x154c50*(_0x3aa64a+_0x154c50*_0x55367c)))*_0x2501ea,_0x154c50=0x0):_0xe669e0=Math[_0x1a4e('0x91')](_0x154c50),{'es':_0x154c50,'e':_0xe669e0,'ep2':(_0x22c25d-_0x510841)/_0x510841};}(_0xe669e0['a'],_0xe669e0['b'],_0xe669e0['rf'],_0x5b5613[_0x1a4e('0x557d')]),_0x39699b=_0x5b5613['datum']||function(_0x2501ea,_0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841){var _0x154c50={};return _0x154c50['datum_type']=void 0x0===_0x2501ea||_0x1a4e('0x60')===_0x2501ea?_0x3881de:_0xc8290f,_0x3235ec&&(_0x154c50[_0x1a4e('0x554f')]=_0x3235ec['map'](parseFloat),0x0===_0x154c50['datum_params'][0x0]&&0x0===_0x154c50['datum_params'][0x1]&&0x0===_0x154c50[_0x1a4e('0x554f')][0x2]||(_0x154c50[_0x1a4e('0x557e')]=_0x4efd3a),_0x154c50[_0x1a4e('0x554f')][_0x1a4e('0x1e')]>0x3&&(0x0===_0x154c50['datum_params'][0x3]&&0x0===_0x154c50[_0x1a4e('0x554f')][0x4]&&0x0===_0x154c50[_0x1a4e('0x554f')][0x5]&&0x0===_0x154c50[_0x1a4e('0x554f')][0x6]||(_0x154c50[_0x1a4e('0x557e')]=_0x233337,_0x154c50[_0x1a4e('0x554f')][0x3]*=_0x5b0b86,_0x154c50[_0x1a4e('0x554f')][0x4]*=_0x5b0b86,_0x154c50[_0x1a4e('0x554f')][0x5]*=_0x5b0b86,_0x154c50[_0x1a4e('0x554f')][0x6]=_0x154c50['datum_params'][0x6]/0xf4240+0x1))),_0x154c50['a']=_0x37e86e,_0x154c50['b']=_0x5b5613,_0x154c50['es']=_0x22c25d,_0x154c50[_0x1a4e('0x557f')]=_0x510841,_0x154c50;}(_0x5b5613['datumCode'],_0x5b5613[_0x1a4e('0x554f')],_0xe669e0['a'],_0xe669e0['b'],_0x23370d['es'],_0x23370d['ep2']);_0x1c8254(this,_0x5b5613),_0x1c8254(this,_0x22c25d),this['a']=_0xe669e0['a'],this['b']=_0xe669e0['b'],this['rf']=_0xe669e0['rf'],this[_0x1a4e('0x7a1')]=_0xe669e0['sphere'],this['es']=_0x23370d['es'],this['e']=_0x23370d['e'],this[_0x1a4e('0x557f')]=_0x23370d[_0x1a4e('0x557f')],this[_0x1a4e('0x5580')]=_0x39699b,this[_0x1a4e('0x1fd')](),_0x37e86e(null,this);}else _0x37e86e(_0x3235ec);}else _0x37e86e(_0x3235ec);}function _0x33c02a(_0x2501ea,_0x3235ec,_0x37e86e){var _0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0=_0x2501ea['x'],_0x23370d=_0x2501ea['y'],_0x39699b=_0x2501ea['z']?_0x2501ea['z']:0x0;if(_0x23370d<-_0x14fa9d&&_0x23370d>-1.001*_0x14fa9d)_0x23370d=-_0x14fa9d;else if(_0x23370d>_0x14fa9d&&_0x23370d<1.001*_0x14fa9d)_0x23370d=_0x14fa9d;else{if(_0x23370d<-_0x14fa9d)return{'x':-0x1/0x0,'y':-0x1/0x0,'z':_0x2501ea['z']};if(_0x23370d>_0x14fa9d)return{'x':0x1/0x0,'y':0x1/0x0,'z':_0x2501ea['z']};}return _0xe669e0>Math['PI']&&(_0xe669e0-=0x2*Math['PI']),_0x22c25d=Math[_0x1a4e('0x8f')](_0x23370d),_0x154c50=Math[_0x1a4e('0x90')](_0x23370d),_0x510841=_0x22c25d*_0x22c25d,{'x':((_0x5b5613=_0x37e86e/Math['sqrt'](0x1-_0x3235ec*_0x510841))+_0x39699b)*_0x154c50*Math['cos'](_0xe669e0),'y':(_0x5b5613+_0x39699b)*_0x154c50*Math[_0x1a4e('0x8f')](_0xe669e0),'z':(_0x5b5613*(0x1-_0x3235ec)+_0x39699b)*_0x22c25d};}function _0x59195b(_0x2501ea,_0x3235ec,_0x37e86e,_0x5b5613){var _0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d,_0x39699b,_0x4714a6,_0x35563f,_0x533731,_0x29bf60,_0x2be20f,_0x33c02a,_0x59195b,_0x4a190c,_0x265f2d,_0x2ea374=_0x2501ea['x'],_0x58493a=_0x2501ea['y'],_0x2f4434=_0x2501ea['z']?_0x2501ea['z']:0x0;if(_0x22c25d=Math[_0x1a4e('0x91')](_0x2ea374*_0x2ea374+_0x58493a*_0x58493a),_0x510841=Math['sqrt'](_0x2ea374*_0x2ea374+_0x58493a*_0x58493a+_0x2f4434*_0x2f4434),_0x22c25d/_0x37e86e<1e-12){if(_0x4a190c=0x0,_0x510841/_0x37e86e<1e-12)return _0x14fa9d,_0x265f2d=-_0x5b5613,{'x':_0x2501ea['x'],'y':_0x2501ea['y'],'z':_0x2501ea['z']};}else _0x4a190c=Math[_0x1a4e('0xa6')](_0x58493a,_0x2ea374);_0x154c50=_0x2f4434/_0x510841,_0x35563f=(_0xe669e0=_0x22c25d/_0x510841)*(0x1-_0x3235ec)*(_0x23370d=0x1/Math[_0x1a4e('0x91')](0x1-_0x3235ec*(0x2-_0x3235ec)*_0xe669e0*_0xe669e0)),_0x533731=_0x154c50*_0x23370d,_0x59195b=0x0;do{_0x59195b++,_0x39699b=_0x3235ec*(_0x4714a6=_0x37e86e/Math['sqrt'](0x1-_0x3235ec*_0x533731*_0x533731))/(_0x4714a6+(_0x265f2d=_0x22c25d*_0x35563f+_0x2f4434*_0x533731-_0x4714a6*(0x1-_0x3235ec*_0x533731*_0x533731))),_0x33c02a=(_0x2be20f=_0x154c50*(_0x23370d=0x1/Math['sqrt'](0x1-_0x39699b*(0x2-_0x39699b)*_0xe669e0*_0xe669e0)))*_0x35563f-(_0x29bf60=_0xe669e0*(0x1-_0x39699b)*_0x23370d)*_0x533731,_0x35563f=_0x29bf60,_0x533731=_0x2be20f;}while(_0x33c02a*_0x33c02a>1e-24&&_0x59195b<0x1e);return{'x':_0x4a190c,'y':Math[_0x1a4e('0xc2')](_0x2be20f/Math[_0x1a4e('0x65')](_0x29bf60)),'z':_0x265f2d};}function _0x550dd0(_0x2501ea){return _0x2501ea===_0x4efd3a||_0x2501ea===_0x233337;}function _0x434e9f(_0x2501ea){if(_0x1a4e('0x68')==typeof Number['isFinite']){if(Number['isFinite'](_0x2501ea))return;throw new TypeError(_0x1a4e('0x5581'));}if('number'!=typeof _0x2501ea||_0x2501ea!=_0x2501ea||!isFinite(_0x2501ea))throw new TypeError(_0x1a4e('0x5581'));}function _0x47ea40(_0x2501ea,_0x3235ec,_0x37e86e){var _0x5b5613;return Array[_0x1a4e('0x15')](_0x37e86e)&&(_0x37e86e=_0x131075(_0x37e86e)),_0x1c79db(_0x37e86e),_0x2501ea['datum']&&_0x3235ec['datum']&&function(_0x2501ea,_0x3235ec){return(_0x2501ea[_0x1a4e('0x5580')]['datum_type']===_0x4efd3a||_0x2501ea[_0x1a4e('0x5580')][_0x1a4e('0x557e')]===_0x233337)&&_0x1a4e('0x3b85')!==_0x3235ec[_0x1a4e('0x5541')]||(_0x3235ec[_0x1a4e('0x5580')]['datum_type']===_0x4efd3a||_0x3235ec[_0x1a4e('0x5580')][_0x1a4e('0x557e')]===_0x233337)&&_0x1a4e('0x3b85')!==_0x2501ea[_0x1a4e('0x5541')];}(_0x2501ea,_0x3235ec)&&(_0x37e86e=_0x47ea40(_0x2501ea,_0x5b5613=new _0x2be20f(_0x1a4e('0x3b85')),_0x37e86e),_0x2501ea=_0x5b5613),'enu'!==_0x2501ea[_0x1a4e('0x557a')]&&(_0x37e86e=_0x2f93ff(_0x2501ea,!0x1,_0x37e86e)),_0x1a4e('0x5582')===_0x2501ea[_0x1a4e('0x553d')]?_0x37e86e={'x':_0x37e86e['x']*_0x4e8bfe,'y':_0x37e86e['y']*_0x4e8bfe,'z':_0x37e86e['z']||0x0}:(_0x2501ea[_0x1a4e('0x5583')]&&(_0x37e86e={'x':_0x37e86e['x']*_0x2501ea['to_meter'],'y':_0x37e86e['y']*_0x2501ea[_0x1a4e('0x5583')],'z':_0x37e86e['z']||0x0}),_0x37e86e=_0x2501ea['inverse'](_0x37e86e)),_0x2501ea[_0x1a4e('0x5584')]&&(_0x37e86e['x']+=_0x2501ea['from_greenwich']),_0x37e86e=_0x23a3d7(_0x2501ea[_0x1a4e('0x5580')],_0x3235ec[_0x1a4e('0x5580')],_0x37e86e),_0x3235ec[_0x1a4e('0x5584')]&&(_0x37e86e={'x':_0x37e86e['x']-_0x3235ec[_0x1a4e('0x5584')],'y':_0x37e86e['y'],'z':_0x37e86e['z']||0x0}),_0x1a4e('0x5582')===_0x3235ec['projName']?_0x37e86e={'x':_0x37e86e['x']*_0x358e50,'y':_0x37e86e['y']*_0x358e50,'z':_0x37e86e['z']||0x0}:(_0x37e86e=_0x3235ec[_0x1a4e('0x971')](_0x37e86e),_0x3235ec[_0x1a4e('0x5583')]&&(_0x37e86e={'x':_0x37e86e['x']/_0x3235ec[_0x1a4e('0x5583')],'y':_0x37e86e['y']/_0x3235ec[_0x1a4e('0x5583')],'z':_0x37e86e['z']||0x0})),_0x1a4e('0x557b')!==_0x3235ec[_0x1a4e('0x557a')]?_0x2f93ff(_0x3235ec,!0x0,_0x37e86e):_0x37e86e;}function _0x299b3a(_0x2501ea,_0x3235ec,_0x37e86e){var _0x5b5613,_0x22c25d,_0x510841;return Array['isArray'](_0x37e86e)?(_0x5b5613=_0x47ea40(_0x2501ea,_0x3235ec,_0x37e86e)||{'x':NaN,'y':NaN},_0x37e86e[_0x1a4e('0x1e')]>0x2?void 0x0!==_0x2501ea[_0x1a4e('0x2cb')]&&'geocent'===_0x2501ea[_0x1a4e('0x2cb')]||void 0x0!==_0x3235ec[_0x1a4e('0x2cb')]&&_0x1a4e('0x5585')===_0x3235ec[_0x1a4e('0x2cb')]?'number'==typeof _0x5b5613['z']?[_0x5b5613['x'],_0x5b5613['y'],_0x5b5613['z']][_0x1a4e('0x9a')](_0x37e86e[_0x1a4e('0x8a')](0x3)):[_0x5b5613['x'],_0x5b5613['y'],_0x37e86e[0x2]][_0x1a4e('0x9a')](_0x37e86e[_0x1a4e('0x8a')](0x3)):[_0x5b5613['x'],_0x5b5613['y']][_0x1a4e('0x9a')](_0x37e86e[_0x1a4e('0x8a')](0x2)):[_0x5b5613['x'],_0x5b5613['y']]):(_0x22c25d=_0x47ea40(_0x2501ea,_0x3235ec,_0x37e86e),0x2===(_0x510841=Object[_0x1a4e('0x56')](_0x37e86e))[_0x1a4e('0x1e')]?_0x22c25d:(_0x510841[_0x1a4e('0x3b')](function(_0x5b5613){if(void 0x0!==_0x2501ea[_0x1a4e('0x2cb')]&&_0x1a4e('0x5585')===_0x2501ea['name']||void 0x0!==_0x3235ec[_0x1a4e('0x2cb')]&&_0x1a4e('0x5585')===_0x3235ec[_0x1a4e('0x2cb')]){if('x'===_0x5b5613||'y'===_0x5b5613||'z'===_0x5b5613)return;}else if('x'===_0x5b5613||'y'===_0x5b5613)return;_0x22c25d[_0x5b5613]=_0x37e86e[_0x5b5613];}),_0x22c25d));}function _0x467ec3(_0x2501ea){return _0x2501ea instanceof _0x2be20f?_0x2501ea:_0x2501ea['oProj']?_0x2501ea['oProj']:_0x2be20f(_0x2501ea);}function _0x5bc365(_0x2501ea,_0x3235ec,_0x37e86e){_0x2501ea=_0x467ec3(_0x2501ea);var _0x5b5613,_0x22c25d=!0x1;return void 0x0===_0x3235ec?(_0x3235ec=_0x2501ea,_0x2501ea=_0x1d1e53,_0x22c25d=!0x0):(void 0x0!==_0x3235ec['x']||Array[_0x1a4e('0x15')](_0x3235ec))&&(_0x37e86e=_0x3235ec,_0x3235ec=_0x2501ea,_0x2501ea=_0x1d1e53,_0x22c25d=!0x0),_0x3235ec=_0x467ec3(_0x3235ec),_0x37e86e?_0x299b3a(_0x2501ea,_0x3235ec,_0x37e86e):(_0x5b5613={'forward':function(_0x37e86e){return _0x299b3a(_0x2501ea,_0x3235ec,_0x37e86e);},'inverse':function(_0x37e86e){return _0x299b3a(_0x3235ec,_0x2501ea,_0x37e86e);}},_0x22c25d&&(_0x5b5613[_0x1a4e('0x5586')]=_0x3235ec),_0x5b5613);}function _0x2351f0(_0x2501ea,_0x3235ec){return _0x3235ec=_0x3235ec||0x5,function(_0x2501ea,_0x3235ec){var _0x37e86e='00000'+_0x2501ea['easting'],_0x5b5613=_0x1a4e('0x989')+_0x2501ea[_0x1a4e('0x5587')];return _0x2501ea[_0x1a4e('0x5588')]+_0x2501ea[_0x1a4e('0x5589')]+function(_0x2501ea,_0x3235ec,_0x37e86e){var _0x5b5613=_0x8eb930(_0x37e86e);return function(_0x2501ea,_0x3235ec,_0x37e86e){var _0x5b5613=_0x37e86e-0x1,_0x22c25d=_0xf6236f[_0x1a4e('0x913')](_0x5b5613),_0x510841=_0x35c51d[_0x1a4e('0x913')](_0x5b5613),_0x154c50=_0x22c25d+_0x2501ea-0x1,_0xe669e0=_0x510841+_0x3235ec,_0x23370d=!0x1;return _0x154c50>_0x47cc99&&(_0x154c50=_0x154c50-_0x47cc99+_0x1bf3ca-0x1,_0x23370d=!0x0),(_0x154c50===_0xb541f9||_0x22c25d<_0xb541f9&&_0x154c50>_0xb541f9||(_0x154c50>_0xb541f9||_0x22c25d<_0xb541f9)&&_0x23370d)&&_0x154c50++,(_0x154c50===_0x4dd923||_0x22c25d<_0x4dd923&&_0x154c50>_0x4dd923||(_0x154c50>_0x4dd923||_0x22c25d<_0x4dd923)&&_0x23370d)&&++_0x154c50===_0xb541f9&&_0x154c50++,_0x154c50>_0x47cc99&&(_0x154c50=_0x154c50-_0x47cc99+_0x1bf3ca-0x1),_0xe669e0>_0x1e4a2c?(_0xe669e0=_0xe669e0-_0x1e4a2c+_0x1bf3ca-0x1,_0x23370d=!0x0):_0x23370d=!0x1,(_0xe669e0===_0xb541f9||_0x510841<_0xb541f9&&_0xe669e0>_0xb541f9||(_0xe669e0>_0xb541f9||_0x510841<_0xb541f9)&&_0x23370d)&&_0xe669e0++,(_0xe669e0===_0x4dd923||_0x510841<_0x4dd923&&_0xe669e0>_0x4dd923||(_0xe669e0>_0x4dd923||_0x510841<_0x4dd923)&&_0x23370d)&&++_0xe669e0===_0xb541f9&&_0xe669e0++,_0xe669e0>_0x1e4a2c&&(_0xe669e0=_0xe669e0-_0x1e4a2c+_0x1bf3ca-0x1),String['fromCharCode'](_0x154c50)+String['fromCharCode'](_0xe669e0);}(Math[_0x1a4e('0xb4')](_0x2501ea/0x186a0),Math[_0x1a4e('0xb4')](_0x3235ec/0x186a0)%0x14,_0x5b5613);}(_0x2501ea[_0x1a4e('0x558a')],_0x2501ea['northing'],_0x2501ea[_0x1a4e('0x5588')])+_0x37e86e[_0x1a4e('0x254')](_0x37e86e[_0x1a4e('0x1e')]-0x5,_0x3235ec)+_0x5b5613[_0x1a4e('0x254')](_0x5b5613[_0x1a4e('0x1e')]-0x5,_0x3235ec);}(function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0=_0x2501ea[_0x1a4e('0x1a2')],_0x23370d=_0x2501ea[_0x1a4e('0x1a1')],_0x39699b=0x615299,_0x4714a6=_0x21af52(_0xe669e0),_0x35563f=_0x21af52(_0x23370d);_0x154c50=Math['floor']((_0x23370d+0xb4)/0x6)+0x1,0xb4===_0x23370d&&(_0x154c50=0x3c),_0xe669e0>=0x38&&_0xe669e0<0x40&&_0x23370d>=0x3&&_0x23370d<0xc&&(_0x154c50=0x20),_0xe669e0>=0x48&&_0xe669e0<0x54&&(_0x23370d>=0x0&&_0x23370d<0x9?_0x154c50=0x1f:_0x23370d>=0x9&&_0x23370d<0x15?_0x154c50=0x21:_0x23370d>=0x15&&_0x23370d<0x21?_0x154c50=0x23:_0x23370d>=0x21&&_0x23370d<0x2a&&(_0x154c50=0x25)),_0x510841=_0x21af52(0x6*(_0x154c50-0x1)-0xb4+0x3),_0x3235ec=_0x39699b/Math[_0x1a4e('0x91')](0x1-0.00669438*Math[_0x1a4e('0x8f')](_0x4714a6)*Math[_0x1a4e('0x8f')](_0x4714a6)),_0x37e86e=Math[_0x1a4e('0xbe')](_0x4714a6)*Math[_0x1a4e('0xbe')](_0x4714a6),_0x5b5613=0.006739496752268451*Math[_0x1a4e('0x90')](_0x4714a6)*Math[_0x1a4e('0x90')](_0x4714a6);var _0x533731=0.9996*_0x3235ec*((_0x22c25d=Math['cos'](_0x4714a6)*(_0x35563f-_0x510841))+(0x1-_0x37e86e+_0x5b5613)*_0x22c25d*_0x22c25d*_0x22c25d/0x6+(0x5-0x12*_0x37e86e+_0x37e86e*_0x37e86e+0x48*_0x5b5613-0.39089081163157013)*_0x22c25d*_0x22c25d*_0x22c25d*_0x22c25d*_0x22c25d/0x78)+0x7a120,_0x29bf60=0.9996*(_0x39699b*(0.9983242984503243*_0x4714a6-0.002514607064228144*Math[_0x1a4e('0x8f')](0x2*_0x4714a6)+0.000002639046602129982*Math[_0x1a4e('0x8f')](0x4*_0x4714a6)-3.418046101696858e-9*Math['sin'](0x6*_0x4714a6))+_0x3235ec*Math[_0x1a4e('0xbe')](_0x4714a6)*(_0x22c25d*_0x22c25d/0x2+(0x5-_0x37e86e+0x9*_0x5b5613+0x4*_0x5b5613*_0x5b5613)*_0x22c25d*_0x22c25d*_0x22c25d*_0x22c25d/0x18+(0x3d-0x3a*_0x37e86e+_0x37e86e*_0x37e86e+0x258*_0x5b5613-2.2240339282485886)*_0x22c25d*_0x22c25d*_0x22c25d*_0x22c25d*_0x22c25d*_0x22c25d/0x2d0));return _0xe669e0<0x0&&(_0x29bf60+=0x989680),{'northing':Math[_0x1a4e('0x2a')](_0x29bf60),'easting':Math[_0x1a4e('0x2a')](_0x533731),'zoneNumber':_0x154c50,'zoneLetter':_0x27cd2d(_0xe669e0)};}({'lat':_0x2501ea[0x1],'lon':_0x2501ea[0x0]}),_0x3235ec);}function _0x1da981(_0x2501ea){var _0x3235ec=_0x4d1abb(_0x2ae184(_0x2501ea[_0x1a4e('0x257')]()));return _0x3235ec[_0x1a4e('0x1a2')]&&_0x3235ec['lon']?[_0x3235ec[_0x1a4e('0x1a1')],_0x3235ec[_0x1a4e('0x1a2')]]:[(_0x3235ec[_0x1a4e('0x5f')]+_0x3235ec[_0x1a4e('0x5d')])/0x2,(_0x3235ec[_0x1a4e('0x5e')]+_0x3235ec[_0x1a4e('0x5c')])/0x2];}function _0x21af52(_0x2501ea){return _0x2501ea*(Math['PI']/0xb4);}function _0x14c345(_0x2501ea){return _0x2501ea/Math['PI']*0xb4;}function _0x4d1abb(_0x2501ea){var _0x3235ec=_0x2501ea['northing'],_0x37e86e=_0x2501ea['easting'],_0x5b5613=_0x2501ea['zoneLetter'],_0x22c25d=_0x2501ea[_0x1a4e('0x5588')];if(_0x22c25d<0x0||_0x22c25d>0x3c)return null;var _0x510841,_0x154c50,_0xe669e0,_0x23370d,_0x39699b,_0x4714a6,_0x35563f,_0x533731,_0x29bf60=0x615299,_0x2be20f=(0x1-Math[_0x1a4e('0x91')](0.99330562))/(0x1+Math[_0x1a4e('0x91')](0.99330562)),_0x33c02a=_0x37e86e-0x7a120,_0x59195b=_0x3235ec;_0x5b5613<'N'&&(_0x59195b-=0x989680),_0x4714a6=0x6*(_0x22c25d-0x1)-0xb4+0x3,_0x533731=(_0x35563f=_0x59195b/0.9996/6367449.145945056)+(0x3*_0x2be20f/0x2-0x1b*_0x2be20f*_0x2be20f*_0x2be20f/0x20)*Math[_0x1a4e('0x8f')](0x2*_0x35563f)+(0x15*_0x2be20f*_0x2be20f/0x10-0x37*_0x2be20f*_0x2be20f*_0x2be20f*_0x2be20f/0x20)*Math['sin'](0x4*_0x35563f)+0x97*_0x2be20f*_0x2be20f*_0x2be20f/0x60*Math['sin'](0x6*_0x35563f),_0x510841=_0x29bf60/Math[_0x1a4e('0x91')](0x1-0.00669438*Math['sin'](_0x533731)*Math['sin'](_0x533731)),_0x154c50=Math['tan'](_0x533731)*Math[_0x1a4e('0xbe')](_0x533731),_0xe669e0=0.006739496752268451*Math[_0x1a4e('0x90')](_0x533731)*Math['cos'](_0x533731),_0x23370d=0.99330562*_0x29bf60/Math[_0x1a4e('0x8e')](0x1-0.00669438*Math['sin'](_0x533731)*Math[_0x1a4e('0x8f')](_0x533731),1.5),_0x39699b=_0x33c02a/(0.9996*_0x510841);var _0x550dd0=_0x533731-_0x510841*Math[_0x1a4e('0xbe')](_0x533731)/_0x23370d*(_0x39699b*_0x39699b/0x2-(0x5+0x3*_0x154c50+0xa*_0xe669e0-0x4*_0xe669e0*_0xe669e0-0.06065547077041606)*_0x39699b*_0x39699b*_0x39699b*_0x39699b/0x18+(0x3d+0x5a*_0x154c50+0x12a*_0xe669e0+0x2d*_0x154c50*_0x154c50-1.6983531815716497-0x3*_0xe669e0*_0xe669e0)*_0x39699b*_0x39699b*_0x39699b*_0x39699b*_0x39699b*_0x39699b/0x2d0);_0x550dd0=_0x14c345(_0x550dd0);var _0x434e9f,_0x47ea40=(_0x39699b-(0x1+0x2*_0x154c50+_0xe669e0)*_0x39699b*_0x39699b*_0x39699b/0x6+(0x5-0x2*_0xe669e0+0x1c*_0x154c50-0x3*_0xe669e0*_0xe669e0+0.05391597401814761+0x18*_0x154c50*_0x154c50)*_0x39699b*_0x39699b*_0x39699b*_0x39699b*_0x39699b/0x78)/Math['cos'](_0x533731);if(_0x47ea40=_0x4714a6+_0x14c345(_0x47ea40),_0x2501ea[_0x1a4e('0x558b')]){var _0x299b3a=_0x4d1abb({'northing':_0x2501ea['northing']+_0x2501ea[_0x1a4e('0x558b')],'easting':_0x2501ea[_0x1a4e('0x558a')]+_0x2501ea[_0x1a4e('0x558b')],'zoneLetter':_0x2501ea[_0x1a4e('0x5589')],'zoneNumber':_0x2501ea['zoneNumber']});_0x434e9f={'top':_0x299b3a[_0x1a4e('0x1a2')],'right':_0x299b3a[_0x1a4e('0x1a1')],'bottom':_0x550dd0,'left':_0x47ea40};}else _0x434e9f={'lat':_0x550dd0,'lon':_0x47ea40};return _0x434e9f;}function _0x27cd2d(_0x2501ea){var _0x3235ec='Z';return 0x54>=_0x2501ea&&_0x2501ea>=0x48?_0x3235ec='X':0x48>_0x2501ea&&_0x2501ea>=0x40?_0x3235ec='W':0x40>_0x2501ea&&_0x2501ea>=0x38?_0x3235ec='V':0x38>_0x2501ea&&_0x2501ea>=0x30?_0x3235ec='U':0x30>_0x2501ea&&_0x2501ea>=0x28?_0x3235ec='T':0x28>_0x2501ea&&_0x2501ea>=0x20?_0x3235ec='S':0x20>_0x2501ea&&_0x2501ea>=0x18?_0x3235ec='R':0x18>_0x2501ea&&_0x2501ea>=0x10?_0x3235ec='Q':0x10>_0x2501ea&&_0x2501ea>=0x8?_0x3235ec='P':0x8>_0x2501ea&&_0x2501ea>=0x0?_0x3235ec='N':0x0>_0x2501ea&&_0x2501ea>=-0x8?_0x3235ec='M':-0x8>_0x2501ea&&_0x2501ea>=-0x10?_0x3235ec='L':-0x10>_0x2501ea&&_0x2501ea>=-0x18?_0x3235ec='K':-0x18>_0x2501ea&&_0x2501ea>=-0x20?_0x3235ec='J':-0x20>_0x2501ea&&_0x2501ea>=-0x28?_0x3235ec='H':-0x28>_0x2501ea&&_0x2501ea>=-0x30?_0x3235ec='G':-0x30>_0x2501ea&&_0x2501ea>=-0x38?_0x3235ec='F':-0x38>_0x2501ea&&_0x2501ea>=-0x40?_0x3235ec='E':-0x40>_0x2501ea&&_0x2501ea>=-0x48?_0x3235ec='D':-0x48>_0x2501ea&&_0x2501ea>=-0x50&&(_0x3235ec='C'),_0x3235ec;}function _0x8eb930(_0x2501ea){var _0x3235ec=_0x2501ea%_0x35c9c8;return 0x0===_0x3235ec&&(_0x3235ec=_0x35c9c8),_0x3235ec;}function _0x2ae184(_0x2501ea){if(_0x2501ea&&0x0===_0x2501ea['length'])throw'MGRSPoint\x20coverting\x20from\x20nothing';for(var _0x3235ec,_0x37e86e=_0x2501ea[_0x1a4e('0x1e')],_0x5b5613=null,_0x22c25d='',_0x510841=0x0;!/[A-Z]/[_0x1a4e('0x8d0')](_0x3235ec=_0x2501ea[_0x1a4e('0x278')](_0x510841));){if(_0x510841>=0x2)throw'MGRSPoint\x20bad\x20conversion\x20from:\x20'+_0x2501ea;_0x22c25d+=_0x3235ec,_0x510841++;}var _0x154c50=parseInt(_0x22c25d,0xa);if(0x0===_0x510841||_0x510841+0x3>_0x37e86e)throw _0x1a4e('0x558c')+_0x2501ea;var _0xe669e0=_0x2501ea[_0x1a4e('0x278')](_0x510841++);if(_0xe669e0<='A'||'B'===_0xe669e0||'Y'===_0xe669e0||_0xe669e0>='Z'||'I'===_0xe669e0||'O'===_0xe669e0)throw _0x1a4e('0x558d')+_0xe669e0+_0x1a4e('0x558e')+_0x2501ea;_0x5b5613=_0x2501ea[_0x1a4e('0x281')](_0x510841,_0x510841+=0x2);for(var _0x23370d=_0x8eb930(_0x154c50),_0x39699b=function(_0x2501ea,_0x3235ec){for(var _0x37e86e=_0xf6236f['charCodeAt'](_0x3235ec-0x1),_0x5b5613=0x186a0,_0x22c25d=!0x1;_0x37e86e!==_0x2501ea[_0x1a4e('0x913')](0x0);){if(++_0x37e86e===_0xb541f9&&_0x37e86e++,_0x37e86e===_0x4dd923&&_0x37e86e++,_0x37e86e>_0x47cc99){if(_0x22c25d)throw _0x1a4e('0x558f')+_0x2501ea;_0x37e86e=_0x1bf3ca,_0x22c25d=!0x0;}_0x5b5613+=0x186a0;}return _0x5b5613;}(_0x5b5613[_0x1a4e('0x278')](0x0),_0x23370d),_0x4714a6=function(_0x2501ea,_0x3235ec){if(_0x2501ea>'V')throw'MGRSPoint\x20given\x20invalid\x20Northing\x20'+_0x2501ea;for(var _0x37e86e=_0x35c51d[_0x1a4e('0x913')](_0x3235ec-0x1),_0x5b5613=0x0,_0x22c25d=!0x1;_0x37e86e!==_0x2501ea[_0x1a4e('0x913')](0x0);){if(++_0x37e86e===_0xb541f9&&_0x37e86e++,_0x37e86e===_0x4dd923&&_0x37e86e++,_0x37e86e>_0x1e4a2c){if(_0x22c25d)throw _0x1a4e('0x558f')+_0x2501ea;_0x37e86e=_0x1bf3ca,_0x22c25d=!0x0;}_0x5b5613+=0x186a0;}return _0x5b5613;}(_0x5b5613['charAt'](0x1),_0x23370d);_0x4714a6<_0x3ffea5(_0xe669e0);)_0x4714a6+=0x1e8480;var _0x35563f=_0x37e86e-_0x510841;if(_0x35563f%0x2!=0x0)throw _0x1a4e('0x5590')+_0x2501ea;var _0x533731,_0x29bf60,_0x2be20f,_0x33c02a=_0x35563f/0x2,_0x59195b=0x0,_0x550dd0=0x0;return _0x33c02a>0x0&&(_0x533731=0x186a0/Math[_0x1a4e('0x8e')](0xa,_0x33c02a),_0x29bf60=_0x2501ea[_0x1a4e('0x281')](_0x510841,_0x510841+_0x33c02a),_0x59195b=parseFloat(_0x29bf60)*_0x533731,_0x2be20f=_0x2501ea[_0x1a4e('0x281')](_0x510841+_0x33c02a),_0x550dd0=parseFloat(_0x2be20f)*_0x533731),{'easting':_0x59195b+_0x39699b,'northing':_0x550dd0+_0x4714a6,'zoneLetter':_0xe669e0,'zoneNumber':_0x154c50,'accuracy':_0x533731};}function _0x3ffea5(_0x2501ea){var _0x3235ec;switch(_0x2501ea){case'C':_0x3235ec=0x10c8e0;break;case'D':_0x3235ec=0x1e8480;break;case'E':_0x3235ec=0x2ab980;break;case'F':_0x3235ec=0x387520;break;case'G':_0x3235ec=0x4630c0;break;case'H':_0x3235ec=0x53ec60;break;case'J':_0x3235ec=0x61a800;break;case'K':_0x3235ec=0x6f63a0;break;case'L':_0x3235ec=0x7d1f40;break;case'M':_0x3235ec=0x8adae0;break;case'N':_0x3235ec=0x0;break;case'P':_0x3235ec=0xc3500;break;case'Q':_0x3235ec=0x19f0a0;break;case'R':_0x3235ec=0x27ac40;break;case'S':_0x3235ec=0x3567e0;break;case'T':_0x3235ec=0x432380;break;case'U':_0x3235ec=0x50df20;break;case'V':_0x3235ec=0x5e9ac0;break;case'W':_0x3235ec=0x6acfc0;break;case'X':_0x3235ec=0x788b60;break;default:_0x3235ec=-0x1;}if(_0x3235ec>=0x0)return _0x3235ec;throw _0x1a4e('0x5591')+_0x2501ea;}function _0x470c0f(_0x2501ea,_0x3235ec,_0x37e86e){if(!(this instanceof _0x470c0f))return new _0x470c0f(_0x2501ea,_0x3235ec,_0x37e86e);if(Array[_0x1a4e('0x15')](_0x2501ea))this['x']=_0x2501ea[0x0],this['y']=_0x2501ea[0x1],this['z']=_0x2501ea[0x2]||0x0;else if(_0x1a4e('0x85')==(void 0x0===_0x2501ea?_0x1a4e('0x3'):_0x510841(_0x2501ea)))this['x']=_0x2501ea['x'],this['y']=_0x2501ea['y'],this['z']=_0x2501ea['z']||0x0;else if(_0x1a4e('0x9')==typeof _0x2501ea&&void 0x0===_0x3235ec){var _0x5b5613=_0x2501ea['split'](',');this['x']=parseFloat(_0x5b5613[0x0],0xa),this['y']=parseFloat(_0x5b5613[0x1],0xa),this['z']=parseFloat(_0x5b5613[0x2],0xa)||0x0;}else this['x']=_0x2501ea,this['y']=_0x3235ec,this['z']=_0x37e86e||0x0;console[_0x1a4e('0xe3c')](_0x1a4e('0x5592'));}function _0x38fef9(_0x2501ea,_0x3235ec,_0x37e86e,_0x5b5613){var _0x22c25d;return _0x2501ea<_0x2f45fd?(_0x5b5613['value']=_0x5dbc93['AREA_0'],_0x22c25d=0x0):(_0x22c25d=Math[_0x1a4e('0xa6')](_0x3235ec,_0x37e86e),Math[_0x1a4e('0x65')](_0x22c25d)<=_0x17a3df?_0x5b5613['value']=_0x5dbc93[_0x1a4e('0x5593')]:_0x22c25d>_0x17a3df&&_0x22c25d<=_0x14fa9d+_0x17a3df?(_0x5b5613[_0x1a4e('0x255')]=_0x5dbc93[_0x1a4e('0x5594')],_0x22c25d-=_0x14fa9d):_0x22c25d>_0x14fa9d+_0x17a3df||_0x22c25d<=-(_0x14fa9d+_0x17a3df)?(_0x5b5613['value']=_0x5dbc93[_0x1a4e('0x5595')],_0x22c25d=_0x22c25d>=0x0?_0x22c25d-_0x162fbe:_0x22c25d+_0x162fbe):(_0x5b5613['value']=_0x5dbc93[_0x1a4e('0x5596')],_0x22c25d+=_0x14fa9d)),_0x22c25d;}function _0x250378(_0x2501ea,_0x3235ec){var _0x37e86e=_0x2501ea+_0x3235ec;return _0x37e86e<-_0x162fbe?_0x37e86e+=_0x21b22b:_0x37e86e>+_0x162fbe&&(_0x37e86e-=_0x21b22b),_0x37e86e;}var _0x4efd3a=0x1,_0x233337=0x2,_0xc8290f=0x4,_0x3881de=0x5,_0x5b0b86=0.00000484813681109536,_0x14fa9d=Math['PI']/0x2,_0x1bd306=0.16666666666666666,_0x3aa64a=0.04722222222222222,_0x55367c=0.022156084656084655,_0x2f45fd=1e-10,_0x4e8bfe=0.017453292519943295,_0x358e50=57.29577951308232,_0x17a3df=Math['PI']/0x4,_0x21b22b=0x2*Math['PI'],_0x162fbe=3.14159265359,_0x547d53={'greenwich':0x0,'lisbon':-9.131906111111,'paris':2.337229166667,'bogota':-74.080916666667,'madrid':-3.687938888889,'rome':12.452333333333,'bern':7.439583333333,'jakarta':106.807719444444,'ferro':-17.666666666667,'brussels':4.367975,'stockholm':18.058277777778,'athens':23.7163375,'oslo':10.722916666667},_0x2106d7={'ft':{'to_meter':0.3048},'us-ft':{'to_meter':0x4b0/0xf61}},_0x120fef=/[\s_\-\/\(\)]/g,_0x33d0d2=function(_0x3235ec){var _0x37e86e,_0x5b5613,_0x22c25d,_0x510841={},_0x154c50=_0x3235ec[_0x1a4e('0x2be')]('+')[_0x1a4e('0x21')](function(_0x2501ea){return _0x2501ea[_0x1a4e('0x2bd')]();})[_0x1a4e('0xd9')](function(_0x2501ea){return _0x2501ea;})[_0x1a4e('0xbb')](function(_0x2501ea,_0x3235ec){var _0x37e86e=_0x3235ec[_0x1a4e('0x2be')]('=');return _0x37e86e[_0x1a4e('0x46')](!0x0),_0x2501ea[_0x37e86e[0x0]['toLowerCase']()]=_0x37e86e[0x1],_0x2501ea;},{}),_0xe669e0={'proj':_0x1a4e('0x553d'),'datum':_0x1a4e('0x5541'),'rf':function(_0x2501ea){_0x510841['rf']=parseFloat(_0x2501ea);},'lat_0':function(_0x2501ea){_0x510841['lat0']=_0x2501ea*_0x4e8bfe;},'lat_1':function(_0x2501ea){_0x510841['lat1']=_0x2501ea*_0x4e8bfe;},'lat_2':function(_0x2501ea){_0x510841[_0x1a4e('0x556e')]=_0x2501ea*_0x4e8bfe;},'lat_ts':function(_0x2501ea){_0x510841[_0x1a4e('0x556f')]=_0x2501ea*_0x4e8bfe;},'lon_0':function(_0x2501ea){_0x510841[_0x1a4e('0x556b')]=_0x2501ea*_0x4e8bfe;},'lon_1':function(_0x2501ea){_0x510841[_0x1a4e('0x5597')]=_0x2501ea*_0x4e8bfe;},'lon_2':function(_0x2501ea){_0x510841[_0x1a4e('0x5598')]=_0x2501ea*_0x4e8bfe;},'alpha':function(_0x2501ea){_0x510841['alpha']=parseFloat(_0x2501ea)*_0x4e8bfe;},'lonc':function(_0x2501ea){_0x510841['longc']=_0x2501ea*_0x4e8bfe;},'x_0':function(_0x2501ea){_0x510841['x0']=parseFloat(_0x2501ea);},'y_0':function(_0x2501ea){_0x510841['y0']=parseFloat(_0x2501ea);},'k_0':function(_0x2501ea){_0x510841['k0']=parseFloat(_0x2501ea);},'k':function(_0x2501ea){_0x510841['k0']=parseFloat(_0x2501ea);},'a':function(_0x2501ea){_0x510841['a']=parseFloat(_0x2501ea);},'b':function(_0x2501ea){_0x510841['b']=parseFloat(_0x2501ea);},'r_a':function(){_0x510841[_0x1a4e('0x557d')]=!0x0;},'zone':function(_0x2501ea){_0x510841['zone']=parseInt(_0x2501ea,0xa);},'south':function(){_0x510841[_0x1a4e('0x5599')]=!0x0;},'towgs84':function(_0x2501ea){_0x510841['datum_params']=_0x2501ea[_0x1a4e('0x2be')](',')[_0x1a4e('0x21')](function(_0x2501ea){return parseFloat(_0x2501ea);});},'to_meter':function(_0x2501ea){_0x510841[_0x1a4e('0x5583')]=parseFloat(_0x2501ea);},'units':function(_0x3235ec){_0x510841[_0x1a4e('0x8d')]=_0x3235ec;var _0x37e86e=_0x2501ea(_0x2106d7,_0x3235ec);_0x37e86e&&(_0x510841[_0x1a4e('0x5583')]=_0x37e86e[_0x1a4e('0x5583')]);},'from_greenwich':function(_0x2501ea){_0x510841[_0x1a4e('0x5584')]=_0x2501ea*_0x4e8bfe;},'pm':function(_0x3235ec){var _0x37e86e=_0x2501ea(_0x547d53,_0x3235ec);_0x510841[_0x1a4e('0x5584')]=(_0x37e86e||parseFloat(_0x3235ec))*_0x4e8bfe;},'nadgrids':function(_0x2501ea){_0x1a4e('0x559a')===_0x2501ea?_0x510841['datumCode']='none':_0x510841[_0x1a4e('0x559b')]=_0x2501ea;},'axis':function(_0x2501ea){0x3===_0x2501ea[_0x1a4e('0x1e')]&&-0x1!==_0x1a4e('0x559c')['indexOf'](_0x2501ea[_0x1a4e('0x254')](0x0,0x1))&&-0x1!==_0x1a4e('0x559c')[_0x1a4e('0x3e')](_0x2501ea[_0x1a4e('0x254')](0x1,0x1))&&-0x1!==_0x1a4e('0x559c')[_0x1a4e('0x3e')](_0x2501ea[_0x1a4e('0x254')](0x2,0x1))&&(_0x510841[_0x1a4e('0x557a')]=_0x2501ea);}};for(_0x37e86e in _0x154c50)_0x5b5613=_0x154c50[_0x37e86e],_0x37e86e in _0xe669e0?'function'==typeof(_0x22c25d=_0xe669e0[_0x37e86e])?_0x22c25d(_0x5b5613):_0x510841[_0x22c25d]=_0x5b5613:_0x510841[_0x37e86e]=_0x5b5613;return _0x1a4e('0x9')==typeof _0x510841[_0x1a4e('0x5541')]&&_0x1a4e('0x3b85')!==_0x510841[_0x1a4e('0x5541')]&&(_0x510841[_0x1a4e('0x5541')]=_0x510841[_0x1a4e('0x5541')][_0x1a4e('0x2b2')]()),_0x510841;},_0x31a247=0x1,_0x14d8a5=/\s/,_0x529dcf=/[A-Za-z]/,_0x50e8c7=/[A-Za-z84]/,_0x397053=/[,\]]/,_0x23f37e=/[\d\.E\-\+]/;_0x3235ec[_0x1a4e('0xa')][_0x1a4e('0x559d')]=function(){var _0x2501ea=this[_0x1a4e('0xe04')][this['place']++];if(0x4!==this[_0x1a4e('0xa46')])for(;_0x14d8a5[_0x1a4e('0x8d0')](_0x2501ea);){if(this[_0x1a4e('0xc3a')]>=this['text']['length'])return;_0x2501ea=this['text'][this[_0x1a4e('0xc3a')]++];}switch(this[_0x1a4e('0xa46')]){case _0x31a247:return this['neutral'](_0x2501ea);case 0x2:return this['keyword'](_0x2501ea);case 0x4:return this[_0x1a4e('0x559e')](_0x2501ea);case 0x5:return this[_0x1a4e('0x559f')](_0x2501ea);case 0x3:return this['number'](_0x2501ea);case-0x1:return;}},_0x3235ec[_0x1a4e('0xa')]['afterquote']=function(_0x2501ea){if('\x22'===_0x2501ea)return this['word']+='\x22',void(this[_0x1a4e('0xa46')]=0x4);if(_0x397053[_0x1a4e('0x8d0')](_0x2501ea))return this[_0x1a4e('0x55a0')]=this[_0x1a4e('0x55a0')][_0x1a4e('0x2bd')](),void this[_0x1a4e('0x55a1')](_0x2501ea);throw new Error(_0x1a4e('0x55a2')+_0x2501ea+_0x1a4e('0x55a3')+this[_0x1a4e('0xc3a')]);},_0x3235ec[_0x1a4e('0xa')][_0x1a4e('0x55a1')]=function(_0x2501ea){return','===_0x2501ea?(null!==this[_0x1a4e('0x55a0')]&&this[_0x1a4e('0x5525')][_0x1a4e('0x46')](this[_0x1a4e('0x55a0')]),this[_0x1a4e('0x55a0')]=null,void(this[_0x1a4e('0xa46')]=_0x31a247)):']'===_0x2501ea?(this[_0x1a4e('0x2dd0')]--,null!==this['word']&&(this[_0x1a4e('0x5525')]['push'](this[_0x1a4e('0x55a0')]),this[_0x1a4e('0x55a0')]=null),this[_0x1a4e('0xa46')]=_0x31a247,this[_0x1a4e('0x5525')]=this[_0x1a4e('0x2cd')][_0x1a4e('0x76')](),void(this[_0x1a4e('0x5525')]||(this[_0x1a4e('0xa46')]=-0x1))):void 0x0;},_0x3235ec['prototype'][_0x1a4e('0x3d')]=function(_0x2501ea){if(!_0x23f37e[_0x1a4e('0x8d0')](_0x2501ea)){if(_0x397053['test'](_0x2501ea))return this[_0x1a4e('0x55a0')]=parseFloat(this[_0x1a4e('0x55a0')]),void this[_0x1a4e('0x55a1')](_0x2501ea);throw new Error('havn\x27t\x20handled\x20\x22'+_0x2501ea+_0x1a4e('0x55a4')+this['place']);}this['word']+=_0x2501ea;},_0x3235ec['prototype']['quoted']=function(_0x2501ea){'\x22'!==_0x2501ea?this[_0x1a4e('0x55a0')]+=_0x2501ea:this[_0x1a4e('0xa46')]=0x5;},_0x3235ec['prototype']['keyword']=function(_0x2501ea){if(_0x50e8c7[_0x1a4e('0x8d0')](_0x2501ea))this['word']+=_0x2501ea;else{if('['===_0x2501ea){var _0x3235ec=[];return _0x3235ec[_0x1a4e('0x46')](this[_0x1a4e('0x55a0')]),this[_0x1a4e('0x2dd0')]++,null===this[_0x1a4e('0x1372')]?this[_0x1a4e('0x1372')]=_0x3235ec:this[_0x1a4e('0x5525')][_0x1a4e('0x46')](_0x3235ec),this['stack'][_0x1a4e('0x46')](this[_0x1a4e('0x5525')]),this[_0x1a4e('0x5525')]=_0x3235ec,void(this['state']=_0x31a247);}if(!_0x397053['test'](_0x2501ea))throw new Error(_0x1a4e('0x55a2')+_0x2501ea+_0x1a4e('0x55a5')+this['place']);this[_0x1a4e('0x55a1')](_0x2501ea);}},_0x3235ec[_0x1a4e('0xa')]['neutral']=function(_0x2501ea){if(_0x529dcf[_0x1a4e('0x8d0')](_0x2501ea))return this['word']=_0x2501ea,void(this['state']=0x2);if('\x22'===_0x2501ea)return this['word']='',void(this['state']=0x4);if(_0x23f37e[_0x1a4e('0x8d0')](_0x2501ea))return this['word']=_0x2501ea,void(this['state']=0x3);if(!_0x397053[_0x1a4e('0x8d0')](_0x2501ea))throw new Error(_0x1a4e('0x55a2')+_0x2501ea+_0x1a4e('0x55a6')+this[_0x1a4e('0xc3a')]);this[_0x1a4e('0x55a1')](_0x2501ea);},_0x3235ec[_0x1a4e('0xa')]['output']=function(){for(;this[_0x1a4e('0xc3a')]0x5a&&_0x22c25d*_0x358e50<-0x5a&&_0x5b5613*_0x358e50>0xb4&&_0x5b5613*_0x358e50<-0xb4)return null;if(Math[_0x1a4e('0x65')](Math[_0x1a4e('0x65')](_0x22c25d)-_0x14fa9d)<=_0x2f45fd)return null;if(this[_0x1a4e('0x7a1')])_0x3235ec=this['x0']+this['a']*this['k0']*_0x3b9cee(_0x5b5613-this[_0x1a4e('0x556b')]),_0x37e86e=this['y0']+this['a']*this['k0']*Math['log'](Math['tan'](_0x17a3df+0.5*_0x22c25d));else{var _0x510841=Math['sin'](_0x22c25d),_0x154c50=_0x34dd7b(this['e'],_0x22c25d,_0x510841);_0x3235ec=this['x0']+this['a']*this['k0']*_0x3b9cee(_0x5b5613-this['long0']),_0x37e86e=this['y0']-this['a']*this['k0']*Math[_0x1a4e('0x58')](_0x154c50);}return _0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613=_0x2501ea['x']-this['x0'],_0x22c25d=_0x2501ea['y']-this['y0'];if(this[_0x1a4e('0x7a1')])_0x37e86e=_0x14fa9d-0x2*Math[_0x1a4e('0xc2')](Math[_0x1a4e('0xc3')](-_0x22c25d/(this['a']*this['k0'])));else{var _0x510841=Math[_0x1a4e('0xc3')](-_0x22c25d/(this['a']*this['k0']));if(-0x270f===(_0x37e86e=_0x36651b(this['e'],_0x510841)))return null;}return _0x3235ec=_0x3b9cee(this[_0x1a4e('0x556b')]+_0x5b5613/(this['a']*this['k0'])),_0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;},'names':[_0x1a4e('0x55b3'),_0x1a4e('0x55b4'),_0x1a4e('0x55b5'),_0x1a4e('0x5546'),_0x1a4e('0x55b6')]},{'init':function(){},'forward':_0x533731,'inverse':_0x533731,'names':[_0x1a4e('0x5582'),_0x1a4e('0x10a5')]}],_0x1c1eb9={},_0xb5b12e=[],_0x35d531={'start':function(){_0x479577[_0x1a4e('0x3b')](_0x29bf60);},'add':_0x29bf60,'get':function(_0x2501ea){if(!_0x2501ea)return!0x1;var _0x3235ec=_0x2501ea[_0x1a4e('0x2b2')]();return void 0x0!==_0x1c1eb9[_0x3235ec]&&_0xb5b12e[_0x1c1eb9[_0x3235ec]]?_0xb5b12e[_0x1c1eb9[_0x3235ec]]:void 0x0;}},_0x5bb896={'MERIT':{'a':0x615299,'rf':298.257,'ellipseName':_0x1a4e('0x55b7')},'SGS85':{'a':0x615298,'rf':298.257,'ellipseName':_0x1a4e('0x55b8')},'GRS80':{'a':0x615299,'rf':298.257222101,'ellipseName':_0x1a4e('0x55b9')},'IAU76':{'a':0x61529c,'rf':298.257,'ellipseName':'IAU\x201976'},'airy':{'a':6377563.396,'b':6356256.91,'ellipseName':_0x1a4e('0x55ba')},'APL4':{'a':0x615299,'rf':298.25,'ellipseName':_0x1a4e('0x55bb')},'NWL9D':{'a':0x6152a1,'rf':298.25,'ellipseName':_0x1a4e('0x55bc')},'mod_airy':{'a':6377340.189,'b':6356034.446,'ellipseName':_0x1a4e('0x55bd')},'andrae':{'a':6377104.43,'rf':0x12c,'ellipseName':_0x1a4e('0x55be')},'aust_SA':{'a':0x6152b0,'rf':298.25,'ellipseName':_0x1a4e('0x55bf')},'GRS67':{'a':0x6152b0,'rf':298.247167427,'ellipseName':'GRS\x2067(IUGG\x201967)'},'bessel':{'a':6377397.155,'rf':299.1528128,'ellipseName':_0x1a4e('0x55c0')},'bess_nam':{'a':6377483.865,'rf':299.1528128,'ellipseName':'Bessel\x201841\x20(Namibia)'},'clrk66':{'a':6378206.4,'b':6356583.8,'ellipseName':'Clarke\x201866'},'clrk80':{'a':6378249.145,'rf':293.4663,'ellipseName':_0x1a4e('0x55c1')},'clrk58':{'a':6378293.645208759,'rf':294.2606763692654,'ellipseName':_0x1a4e('0x55c2')},'CPM':{'a':6375738.7,'rf':334.29,'ellipseName':'Comm.\x20des\x20Poids\x20et\x20Mesures\x201799'},'delmbr':{'a':0x614bec,'rf':311.5,'ellipseName':_0x1a4e('0x55c3')},'engelis':{'a':6378136.05,'rf':298.2566,'ellipseName':_0x1a4e('0x55c4')},'evrst30':{'a':6377276.345,'rf':300.8017,'ellipseName':_0x1a4e('0x55c5')},'evrst48':{'a':6377304.063,'rf':300.8017,'ellipseName':_0x1a4e('0x55c6')},'evrst56':{'a':6377301.243,'rf':300.8017,'ellipseName':'Everest\x201956'},'evrst69':{'a':6377295.664,'rf':300.8017,'ellipseName':_0x1a4e('0x55c7')},'evrstSS':{'a':6377298.556,'rf':300.8017,'ellipseName':_0x1a4e('0x55c8')},'fschr60':{'a':0x6152b6,'rf':298.3,'ellipseName':_0x1a4e('0x55c9')},'fschr60m':{'a':0x6152ab,'rf':298.3,'ellipseName':_0x1a4e('0x55ca')},'fschr68':{'a':0x6152a6,'rf':298.3,'ellipseName':_0x1a4e('0x55cb')},'helmert':{'a':0x6152d8,'rf':298.3,'ellipseName':_0x1a4e('0x55cc')},'hough':{'a':0x61531e,'rf':0x129,'ellipseName':_0x1a4e('0x55cd')},'intl':{'a':0x615394,'rf':0x129,'ellipseName':'International\x201909\x20(Hayford)'},'kaula':{'a':0x6152b3,'rf':298.24,'ellipseName':_0x1a4e('0x55ce')},'lerch':{'a':0x61529b,'rf':298.257,'ellipseName':'Lerch\x201979'},'mprts':{'a':0x619d74,'rf':0xbf,'ellipseName':_0x1a4e('0x55cf')},'new_intl':{'a':6378157.5,'b':6356772.2,'ellipseName':'New\x20International\x201967'},'plessis':{'a':0x614c4b,'rf':0x60fb97,'ellipseName':_0x1a4e('0x55d0')},'krass':{'a':0x615305,'rf':298.3,'ellipseName':'Krassovsky,\x201942'},'SEasia':{'a':0x6152ab,'b':6356773.3205,'ellipseName':_0x1a4e('0x55d1')},'walbeck':{'a':0x614dc0,'b':6355834.8467,'ellipseName':_0x1a4e('0x55d2')},'WGS60':{'a':0x6152b5,'rf':298.3,'ellipseName':_0x1a4e('0x55d3')},'WGS66':{'a':0x6152a1,'rf':298.25,'ellipseName':_0x1a4e('0x55d4')},'WGS7':{'a':0x615297,'rf':298.26,'ellipseName':'WGS\x2072'}},_0x2ef1fc=_0x5bb896['WGS84']={'a':0x615299,'rf':298.257223563,'ellipseName':'WGS\x2084'};_0x5bb896[_0x1a4e('0x7a1')]={'a':0x6136b5,'b':0x6136b5,'ellipseName':'Normal\x20Sphere\x20(r=6370997)'};var _0x36207b={'wgs84':{'towgs84':'0,0,0','ellipse':_0x1a4e('0x3b85'),'datumName':_0x1a4e('0x3b85')},'ch1903':{'towgs84':_0x1a4e('0x55d5'),'ellipse':_0x1a4e('0x55d6'),'datumName':_0x1a4e('0x55d7')},'ggrs87':{'towgs84':_0x1a4e('0x55d8'),'ellipse':'GRS80','datumName':_0x1a4e('0x55d9')},'nad83':{'towgs84':_0x1a4e('0x55da'),'ellipse':_0x1a4e('0x55db'),'datumName':'North_American_Datum_1983'},'nad27':{'nadgrids':_0x1a4e('0x55dc'),'ellipse':'clrk66','datumName':'North_American_Datum_1927'},'potsdam':{'towgs84':_0x1a4e('0x55dd'),'ellipse':_0x1a4e('0x55d6'),'datumName':'Potsdam\x20Rauenberg\x201950\x20DHDN'},'carthage':{'towgs84':'-263.0,6.0,431.0','ellipse':_0x1a4e('0x55de'),'datumName':_0x1a4e('0x55df')},'hermannskogel':{'towgs84':'653.0,-212.0,449.0','ellipse':_0x1a4e('0x55d6'),'datumName':'Hermannskogel'},'osni52':{'towgs84':'482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15','ellipse':_0x1a4e('0x55e0'),'datumName':_0x1a4e('0x55e1')},'ire65':{'towgs84':'482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15','ellipse':_0x1a4e('0x55e2'),'datumName':_0x1a4e('0x55e3')},'rassadiran':{'towgs84':'-133.63,-157.5,-158.62','ellipse':_0x1a4e('0x554e'),'datumName':_0x1a4e('0x55e4')},'nzgd49':{'towgs84':_0x1a4e('0x55e5'),'ellipse':_0x1a4e('0x554e'),'datumName':_0x1a4e('0x55e6')},'osgb36':{'towgs84':_0x1a4e('0x55e7'),'ellipse':_0x1a4e('0x55e0'),'datumName':_0x1a4e('0x55ba')},'s_jtsk':{'towgs84':_0x1a4e('0x55e8'),'ellipse':_0x1a4e('0x55d6'),'datumName':_0x1a4e('0x55e9')},'beduaram':{'towgs84':_0x1a4e('0x55ea'),'ellipse':_0x1a4e('0x55eb'),'datumName':'Beduaram'},'gunung_segara':{'towgs84':_0x1a4e('0x55ec'),'ellipse':_0x1a4e('0x55d6'),'datumName':_0x1a4e('0x55ed')},'rnb72':{'towgs84':_0x1a4e('0x55ee'),'ellipse':_0x1a4e('0x554e'),'datumName':'Reseau\x20National\x20Belge\x201972'}};_0x2be20f[_0x1a4e('0x5577')]=_0x35d531,_0x2be20f['projections']['start']();var _0x23a3d7=function(_0x2501ea,_0x3235ec,_0x37e86e){return function(_0x2501ea,_0x3235ec){return _0x2501ea[_0x1a4e('0x557e')]===_0x3235ec[_0x1a4e('0x557e')]&&!(_0x2501ea['a']!==_0x3235ec['a']||Math[_0x1a4e('0x65')](_0x2501ea['es']-_0x3235ec['es'])>5e-11)&&(_0x2501ea[_0x1a4e('0x557e')]===_0x4efd3a?_0x2501ea['datum_params'][0x0]===_0x3235ec[_0x1a4e('0x554f')][0x0]&&_0x2501ea['datum_params'][0x1]===_0x3235ec[_0x1a4e('0x554f')][0x1]&&_0x2501ea[_0x1a4e('0x554f')][0x2]===_0x3235ec[_0x1a4e('0x554f')][0x2]:_0x2501ea[_0x1a4e('0x557e')]!==_0x233337||_0x2501ea[_0x1a4e('0x554f')][0x0]===_0x3235ec[_0x1a4e('0x554f')][0x0]&&_0x2501ea['datum_params'][0x1]===_0x3235ec['datum_params'][0x1]&&_0x2501ea[_0x1a4e('0x554f')][0x2]===_0x3235ec[_0x1a4e('0x554f')][0x2]&&_0x2501ea[_0x1a4e('0x554f')][0x3]===_0x3235ec[_0x1a4e('0x554f')][0x3]&&_0x2501ea['datum_params'][0x4]===_0x3235ec['datum_params'][0x4]&&_0x2501ea[_0x1a4e('0x554f')][0x5]===_0x3235ec[_0x1a4e('0x554f')][0x5]&&_0x2501ea[_0x1a4e('0x554f')][0x6]===_0x3235ec[_0x1a4e('0x554f')][0x6]);}(_0x2501ea,_0x3235ec)?_0x37e86e:_0x2501ea['datum_type']===_0x3881de||_0x3235ec[_0x1a4e('0x557e')]===_0x3881de?_0x37e86e:_0x2501ea['es']!==_0x3235ec['es']||_0x2501ea['a']!==_0x3235ec['a']||_0x550dd0(_0x2501ea[_0x1a4e('0x557e')])||_0x550dd0(_0x3235ec[_0x1a4e('0x557e')])?(_0x37e86e=_0x33c02a(_0x37e86e,_0x2501ea['es'],_0x2501ea['a']),_0x550dd0(_0x2501ea['datum_type'])&&(_0x37e86e=function(_0x2501ea,_0x3235ec,_0x37e86e){if(_0x3235ec===_0x4efd3a)return{'x':_0x2501ea['x']+_0x37e86e[0x0],'y':_0x2501ea['y']+_0x37e86e[0x1],'z':_0x2501ea['z']+_0x37e86e[0x2]};if(_0x3235ec===_0x233337){var _0x5b5613=_0x37e86e[0x0],_0x22c25d=_0x37e86e[0x1],_0x510841=_0x37e86e[0x2],_0x154c50=_0x37e86e[0x3],_0xe669e0=_0x37e86e[0x4],_0x23370d=_0x37e86e[0x5],_0x39699b=_0x37e86e[0x6];return{'x':_0x39699b*(_0x2501ea['x']-_0x23370d*_0x2501ea['y']+_0xe669e0*_0x2501ea['z'])+_0x5b5613,'y':_0x39699b*(_0x23370d*_0x2501ea['x']+_0x2501ea['y']-_0x154c50*_0x2501ea['z'])+_0x22c25d,'z':_0x39699b*(-_0xe669e0*_0x2501ea['x']+_0x154c50*_0x2501ea['y']+_0x2501ea['z'])+_0x510841};}}(_0x37e86e,_0x2501ea[_0x1a4e('0x557e')],_0x2501ea['datum_params'])),_0x550dd0(_0x3235ec['datum_type'])&&(_0x37e86e=function(_0x2501ea,_0x3235ec,_0x37e86e){if(_0x3235ec===_0x4efd3a)return{'x':_0x2501ea['x']-_0x37e86e[0x0],'y':_0x2501ea['y']-_0x37e86e[0x1],'z':_0x2501ea['z']-_0x37e86e[0x2]};if(_0x3235ec===_0x233337){var _0x5b5613=_0x37e86e[0x0],_0x22c25d=_0x37e86e[0x1],_0x510841=_0x37e86e[0x2],_0x154c50=_0x37e86e[0x3],_0xe669e0=_0x37e86e[0x4],_0x23370d=_0x37e86e[0x5],_0x39699b=_0x37e86e[0x6],_0x4714a6=(_0x2501ea['x']-_0x5b5613)/_0x39699b,_0x35563f=(_0x2501ea['y']-_0x22c25d)/_0x39699b,_0x533731=(_0x2501ea['z']-_0x510841)/_0x39699b;return{'x':_0x4714a6+_0x23370d*_0x35563f-_0xe669e0*_0x533731,'y':-_0x23370d*_0x4714a6+_0x35563f+_0x154c50*_0x533731,'z':_0xe669e0*_0x4714a6-_0x154c50*_0x35563f+_0x533731};}}(_0x37e86e,_0x3235ec[_0x1a4e('0x557e')],_0x3235ec[_0x1a4e('0x554f')])),_0x59195b(_0x37e86e,_0x3235ec['es'],_0x3235ec['a'],_0x3235ec['b'])):_0x37e86e;},_0x2f93ff=function(_0x2501ea,_0x3235ec,_0x37e86e){var _0x5b5613,_0x22c25d,_0x510841,_0x154c50=_0x37e86e['x'],_0xe669e0=_0x37e86e['y'],_0x23370d=_0x37e86e['z']||0x0,_0x39699b={};for(_0x510841=0x0;_0x510841<0x3;_0x510841++)if(!_0x3235ec||0x2!==_0x510841||void 0x0!==_0x37e86e['z'])switch(0x0===_0x510841?(_0x5b5613=_0x154c50,_0x22c25d='x'):0x1===_0x510841?(_0x5b5613=_0xe669e0,_0x22c25d='y'):(_0x5b5613=_0x23370d,_0x22c25d='z'),_0x2501ea[_0x1a4e('0x557a')][_0x510841]){case'e':_0x39699b[_0x22c25d]=_0x5b5613;break;case'w':_0x39699b[_0x22c25d]=-_0x5b5613;break;case'n':_0x39699b[_0x22c25d]=_0x5b5613;break;case's':_0x39699b[_0x22c25d]=-_0x5b5613;break;case'u':void 0x0!==_0x37e86e[_0x22c25d]&&(_0x39699b['z']=_0x5b5613);break;case'd':void 0x0!==_0x37e86e[_0x22c25d]&&(_0x39699b['z']=-_0x5b5613);break;default:return null;}return _0x39699b;},_0x131075=function(_0x2501ea){var _0x3235ec={'x':_0x2501ea[0x0],'y':_0x2501ea[0x1]};return _0x2501ea[_0x1a4e('0x1e')]>0x2&&(_0x3235ec['z']=_0x2501ea[0x2]),_0x2501ea[_0x1a4e('0x1e')]>0x3&&(_0x3235ec['m']=_0x2501ea[0x3]),_0x3235ec;},_0x1c79db=function(_0x2501ea){_0x434e9f(_0x2501ea['x']),_0x434e9f(_0x2501ea['y']);},_0x1d1e53=_0x2be20f(_0x1a4e('0x3b85')),_0x35c9c8=0x6,_0xf6236f=_0x1a4e('0x55ef'),_0x35c51d=_0x1a4e('0x55f0'),_0x1bf3ca=0x41,_0xb541f9=0x49,_0x4dd923=0x4f,_0x1e4a2c=0x56,_0x47cc99=0x5a,_0x1d2c5d={'forward':_0x2351f0,'inverse':function(_0x2501ea){var _0x3235ec=_0x4d1abb(_0x2ae184(_0x2501ea[_0x1a4e('0x257')]()));return _0x3235ec['lat']&&_0x3235ec[_0x1a4e('0x1a1')]?[_0x3235ec[_0x1a4e('0x1a1')],_0x3235ec[_0x1a4e('0x1a2')],_0x3235ec['lon'],_0x3235ec[_0x1a4e('0x1a2')]]:[_0x3235ec['left'],_0x3235ec[_0x1a4e('0x5c')],_0x3235ec[_0x1a4e('0x5d')],_0x3235ec[_0x1a4e('0x5e')]];},'toPoint':_0x1da981};_0x470c0f[_0x1a4e('0x55f1')]=function(_0x2501ea){return new _0x470c0f(_0x1da981(_0x2501ea));},_0x470c0f[_0x1a4e('0xa')]['toMGRS']=function(_0x2501ea){return _0x2351f0([this['x'],this['y']],_0x2501ea);};var _0x41697d,_0x4bfe91=0.01068115234375,_0x213d86=function(_0x2501ea){var _0x3235ec=[];_0x3235ec[0x0]=0x1-_0x2501ea*(0.25+_0x2501ea*(0.046875+_0x2501ea*(0.01953125+_0x2501ea*_0x4bfe91))),_0x3235ec[0x1]=_0x2501ea*(0.75-_0x2501ea*(0.046875+_0x2501ea*(0.01953125+_0x2501ea*_0x4bfe91)));var _0x37e86e=_0x2501ea*_0x2501ea;return _0x3235ec[0x2]=_0x37e86e*(0.46875-_0x2501ea*(0.013020833333333334+0.007120768229166667*_0x2501ea)),_0x37e86e*=_0x2501ea,_0x3235ec[0x3]=_0x37e86e*(0.3645833333333333-0.005696614583333333*_0x2501ea),_0x3235ec[0x4]=_0x37e86e*_0x2501ea*0.3076171875,_0x3235ec;},_0xe2b456=function(_0x2501ea,_0x3235ec,_0x37e86e,_0x5b5613){return _0x37e86e*=_0x3235ec,_0x3235ec*=_0x3235ec,_0x5b5613[0x0]*_0x2501ea-_0x37e86e*(_0x5b5613[0x1]+_0x3235ec*(_0x5b5613[0x2]+_0x3235ec*(_0x5b5613[0x3]+_0x3235ec*_0x5b5613[0x4])));},_0x436299=function(_0x2501ea,_0x3235ec,_0x37e86e){for(var _0x5b5613=0x1/(0x1-_0x3235ec),_0x22c25d=_0x2501ea,_0x510841=0x14;_0x510841;--_0x510841){var _0x154c50=Math[_0x1a4e('0x8f')](_0x22c25d),_0xe669e0=0x1-_0x3235ec*_0x154c50*_0x154c50;if(_0x22c25d-=_0xe669e0=(_0xe2b456(_0x22c25d,_0x154c50,Math[_0x1a4e('0x90')](_0x22c25d),_0x37e86e)-_0x2501ea)*(_0xe669e0*Math[_0x1a4e('0x91')](_0xe669e0))*_0x5b5613,Math[_0x1a4e('0x65')](_0xe669e0)<_0x2f45fd)return _0x22c25d;}return _0x22c25d;},_0x39eb83={'init':function(){this['x0']=void 0x0!==this['x0']?this['x0']:0x0,this['y0']=void 0x0!==this['y0']?this['y0']:0x0,this['long0']=void 0x0!==this['long0']?this[_0x1a4e('0x556b')]:0x0,this[_0x1a4e('0x5566')]=void 0x0!==this[_0x1a4e('0x5566')]?this[_0x1a4e('0x5566')]:0x0,this['es']&&(this['en']=_0x213d86(this['es']),this[_0x1a4e('0x55f2')]=_0xe2b456(this[_0x1a4e('0x5566')],Math[_0x1a4e('0x8f')](this['lat0']),Math[_0x1a4e('0x90')](this[_0x1a4e('0x5566')]),this['en']));},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d=_0x2501ea['x'],_0x510841=_0x2501ea['y'],_0x154c50=_0x3b9cee(_0x22c25d-this[_0x1a4e('0x556b')]),_0xe669e0=Math[_0x1a4e('0x8f')](_0x510841),_0x23370d=Math[_0x1a4e('0x90')](_0x510841);if(this['es']){var _0x39699b=_0x23370d*_0x154c50,_0x4714a6=Math[_0x1a4e('0x8e')](_0x39699b,0x2),_0x35563f=this[_0x1a4e('0x557f')]*Math['pow'](_0x23370d,0x2),_0x533731=Math['pow'](_0x35563f,0x2),_0x29bf60=Math['abs'](_0x23370d)>_0x2f45fd?Math[_0x1a4e('0xbe')](_0x510841):0x0,_0x2be20f=Math[_0x1a4e('0x8e')](_0x29bf60,0x2),_0x33c02a=Math['pow'](_0x2be20f,0x2);_0x3235ec=0x1-this['es']*Math[_0x1a4e('0x8e')](_0xe669e0,0x2),_0x39699b/=Math['sqrt'](_0x3235ec);var _0x59195b=_0xe2b456(_0x510841,_0xe669e0,_0x23370d,this['en']);_0x37e86e=this['a']*(this['k0']*_0x39699b*(0x1+_0x4714a6/0x6*(0x1-_0x2be20f+_0x35563f+_0x4714a6/0x14*(0x5-0x12*_0x2be20f+_0x33c02a+0xe*_0x35563f-0x3a*_0x2be20f*_0x35563f+_0x4714a6/0x2a*(0x3d+0xb3*_0x33c02a-_0x33c02a*_0x2be20f-0x1df*_0x2be20f)))))+this['x0'],_0x5b5613=this['a']*(this['k0']*(_0x59195b-this['ml0']+_0xe669e0*_0x154c50*_0x39699b/0x2*(0x1+_0x4714a6/0xc*(0x5-_0x2be20f+0x9*_0x35563f+0x4*_0x533731+_0x4714a6/0x1e*(0x3d+_0x33c02a-0x3a*_0x2be20f+0x10e*_0x35563f-0x14a*_0x2be20f*_0x35563f+_0x4714a6/0x38*(0x569+0x21f*_0x33c02a-_0x33c02a*_0x2be20f-0xc27*_0x2be20f))))))+this['y0'];}else{var _0x550dd0=_0x23370d*Math[_0x1a4e('0x8f')](_0x154c50);if(Math[_0x1a4e('0x65')](Math[_0x1a4e('0x65')](_0x550dd0)-0x1)<_0x2f45fd)return 0x5d;if(_0x37e86e=0.5*this['a']*this['k0']*Math['log']((0x1+_0x550dd0)/(0x1-_0x550dd0))+this['x0'],_0x5b5613=_0x23370d*Math[_0x1a4e('0x90')](_0x154c50)/Math[_0x1a4e('0x91')](0x1-Math['pow'](_0x550dd0,0x2)),(_0x550dd0=Math[_0x1a4e('0x65')](_0x5b5613))>=0x1){if(_0x550dd0-0x1>_0x2f45fd)return 0x5d;_0x5b5613=0x0;}else _0x5b5613=Math[_0x1a4e('0x92c')](_0x5b5613);_0x510841<0x0&&(_0x5b5613=-_0x5b5613),_0x5b5613=this['a']*this['k0']*(_0x5b5613-this[_0x1a4e('0x5566')])+this['y0'];}return _0x2501ea['x']=_0x37e86e,_0x2501ea['y']=_0x5b5613,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841=(_0x2501ea['x']-this['x0'])*(0x1/this['a']),_0x154c50=(_0x2501ea['y']-this['y0'])*(0x1/this['a']);if(this['es'])if(_0x3235ec=this[_0x1a4e('0x55f2')]+_0x154c50/this['k0'],_0x37e86e=_0x436299(_0x3235ec,this['es'],this['en']),Math[_0x1a4e('0x65')](_0x37e86e)<_0x14fa9d){var _0xe669e0=Math[_0x1a4e('0x8f')](_0x37e86e),_0x23370d=Math[_0x1a4e('0x90')](_0x37e86e),_0x39699b=Math[_0x1a4e('0x65')](_0x23370d)>_0x2f45fd?Math[_0x1a4e('0xbe')](_0x37e86e):0x0,_0x4714a6=this['ep2']*Math[_0x1a4e('0x8e')](_0x23370d,0x2),_0x35563f=Math['pow'](_0x4714a6,0x2),_0x533731=Math[_0x1a4e('0x8e')](_0x39699b,0x2),_0x29bf60=Math[_0x1a4e('0x8e')](_0x533731,0x2);_0x3235ec=0x1-this['es']*Math[_0x1a4e('0x8e')](_0xe669e0,0x2);var _0x2be20f=_0x510841*Math[_0x1a4e('0x91')](_0x3235ec)/this['k0'],_0x33c02a=Math['pow'](_0x2be20f,0x2);_0x5b5613=_0x37e86e-(_0x3235ec*=_0x39699b)*_0x33c02a/(0x1-this['es'])*0.5*(0x1-_0x33c02a/0xc*(0x5+0x3*_0x533731-0x9*_0x4714a6*_0x533731+_0x4714a6-0x4*_0x35563f-_0x33c02a/0x1e*(0x3d+0x5a*_0x533731-0xfc*_0x4714a6*_0x533731+0x2d*_0x29bf60+0x2e*_0x4714a6-_0x33c02a/0x38*(0x569+0xe31*_0x533731+0xfff*_0x29bf60+0x626*_0x29bf60*_0x533731)))),_0x22c25d=_0x3b9cee(this[_0x1a4e('0x556b')]+_0x2be20f*(0x1-_0x33c02a/0x6*(0x1+0x2*_0x533731+_0x4714a6-_0x33c02a/0x14*(0x5+0x1c*_0x533731+0x18*_0x29bf60+0x8*_0x4714a6*_0x533731+0x6*_0x4714a6-_0x33c02a/0x2a*(0x3d+0x296*_0x533731+0x528*_0x29bf60+0x2d0*_0x29bf60*_0x533731))))/_0x23370d);}else _0x5b5613=_0x14fa9d*_0x5be4ef(_0x154c50),_0x22c25d=0x0;else{var _0x59195b=Math[_0x1a4e('0xc3')](_0x510841/this['k0']),_0x550dd0=0.5*(_0x59195b-0x1/_0x59195b),_0x434e9f=this['lat0']+_0x154c50/this['k0'],_0x47ea40=Math[_0x1a4e('0x90')](_0x434e9f);_0x3235ec=Math['sqrt']((0x1-Math[_0x1a4e('0x8e')](_0x47ea40,0x2))/(0x1+Math[_0x1a4e('0x8e')](_0x550dd0,0x2))),_0x5b5613=Math[_0x1a4e('0x139')](_0x3235ec),_0x154c50<0x0&&(_0x5b5613=-_0x5b5613),_0x22c25d=0x0===_0x550dd0&&0x0===_0x47ea40?0x0:_0x3b9cee(Math[_0x1a4e('0xa6')](_0x550dd0,_0x47ea40)+this['long0']);}return _0x2501ea['x']=_0x22c25d,_0x2501ea['y']=_0x5b5613,_0x2501ea;},'names':[_0x1a4e('0x55f3'),'Transverse\x20Mercator',_0x1a4e('0x55f4')]},_0x2cf8bd=function(_0x2501ea){var _0x3235ec=Math['exp'](_0x2501ea);return(_0x3235ec-0x1/_0x3235ec)/0x2;},_0x18a9b1=function(_0x2501ea,_0x3235ec){_0x2501ea=Math[_0x1a4e('0x65')](_0x2501ea),_0x3235ec=Math[_0x1a4e('0x65')](_0x3235ec);var _0x37e86e=Math['max'](_0x2501ea,_0x3235ec),_0x5b5613=Math[_0x1a4e('0x74')](_0x2501ea,_0x3235ec)/(_0x37e86e||0x1);return _0x37e86e*Math['sqrt'](0x1+Math[_0x1a4e('0x8e')](_0x5b5613,0x2));},_0x80f344=function(_0x2501ea){var _0x3235ec=Math['abs'](_0x2501ea);return _0x3235ec=function(_0x2501ea){var _0x3235ec=0x1+_0x2501ea,_0x37e86e=_0x3235ec-0x1;return 0x0===_0x37e86e?_0x2501ea:_0x2501ea*Math[_0x1a4e('0x58')](_0x3235ec)/_0x37e86e;}(_0x3235ec*(0x1+_0x3235ec/(_0x18a9b1(0x1,_0x3235ec)+0x1))),_0x2501ea<0x0?-_0x3235ec:_0x3235ec;},_0x5232d7=function(_0x2501ea,_0x3235ec){for(var _0x37e86e,_0x5b5613=0x2*Math[_0x1a4e('0x90')](0x2*_0x3235ec),_0x22c25d=_0x2501ea[_0x1a4e('0x1e')]-0x1,_0x510841=_0x2501ea[_0x22c25d],_0x154c50=0x0;--_0x22c25d>=0x0;)_0x37e86e=_0x5b5613*_0x510841-_0x154c50+_0x2501ea[_0x22c25d],_0x154c50=_0x510841,_0x510841=_0x37e86e;return _0x3235ec+_0x37e86e*Math[_0x1a4e('0x8f')](0x2*_0x3235ec);},_0x432b33=function(_0x2501ea,_0x3235ec,_0x37e86e){for(var _0x5b5613,_0x22c25d,_0x510841=Math['sin'](_0x3235ec),_0x154c50=Math[_0x1a4e('0x90')](_0x3235ec),_0xe669e0=_0x2cf8bd(_0x37e86e),_0x23370d=function(_0x2501ea){var _0x3235ec=Math[_0x1a4e('0xc3')](_0x2501ea);return(_0x3235ec+0x1/_0x3235ec)/0x2;}(_0x37e86e),_0x39699b=0x2*_0x154c50*_0x23370d,_0x4714a6=-0x2*_0x510841*_0xe669e0,_0x35563f=_0x2501ea[_0x1a4e('0x1e')]-0x1,_0x533731=_0x2501ea[_0x35563f],_0x29bf60=0x0,_0x2be20f=0x0,_0x33c02a=0x0;--_0x35563f>=0x0;)_0x5b5613=_0x2be20f,_0x22c25d=_0x29bf60,_0x533731=_0x39699b*(_0x2be20f=_0x533731)-_0x5b5613-_0x4714a6*(_0x29bf60=_0x33c02a)+_0x2501ea[_0x35563f],_0x33c02a=_0x4714a6*_0x2be20f-_0x22c25d+_0x39699b*_0x29bf60;return[(_0x39699b=_0x510841*_0x23370d)*_0x533731-(_0x4714a6=_0x154c50*_0xe669e0)*_0x33c02a,_0x39699b*_0x33c02a+_0x4714a6*_0x533731];},_0x4176f6={'init':function(){if(void 0x0===this['es']||this['es']<=0x0)throw new Error(_0x1a4e('0x55f5'));this['x0']=void 0x0!==this['x0']?this['x0']:0x0,this['y0']=void 0x0!==this['y0']?this['y0']:0x0,this['long0']=void 0x0!==this[_0x1a4e('0x556b')]?this[_0x1a4e('0x556b')]:0x0,this[_0x1a4e('0x5566')]=void 0x0!==this[_0x1a4e('0x5566')]?this[_0x1a4e('0x5566')]:0x0,this[_0x1a4e('0x55f6')]=[],this[_0x1a4e('0x55f7')]=[],this[_0x1a4e('0x55f8')]=[],this['gtu']=[];var _0x2501ea=this['es']/(0x1+Math[_0x1a4e('0x91')](0x1-this['es'])),_0x3235ec=_0x2501ea/(0x2-_0x2501ea),_0x37e86e=_0x3235ec;this[_0x1a4e('0x55f6')][0x0]=_0x3235ec*(0x2+_0x3235ec*(-0x2/0x3+_0x3235ec*(_0x3235ec*(0x74/0x2d+_0x3235ec*(0x1a/0x2d+_0x3235ec*(-0xb26/0x2a3)))-0x2))),this['cbg'][0x0]=_0x3235ec*(_0x3235ec*(0x2/0x3+_0x3235ec*(0x4/0x3+_0x3235ec*(-0x52/0x2d+_0x3235ec*(0x20/0x2d+_0x3235ec*(0x1222/0x1275)))))-0x2),_0x37e86e*=_0x3235ec,this['cgb'][0x1]=_0x37e86e*(0x7/0x3+_0x3235ec*(_0x3235ec*(-0xe3/0x2d+_0x3235ec*(0xa90/0x13b+_0x3235ec*(0x913/0x3b1)))-1.6)),this[_0x1a4e('0x55f7')][0x1]=_0x37e86e*(0x5/0x3+_0x3235ec*(-0x10/0xf+_0x3235ec*(-0xd/0x9+_0x3235ec*(0x388/0x13b+_0x3235ec*(-0x5f2/0x3b1))))),_0x37e86e*=_0x3235ec,this['cgb'][0x2]=_0x37e86e*(0x38/0xf+_0x3235ec*(-0x88/0x23+_0x3235ec*(-0x4ee/0x69+_0x3235ec*(0x12056/0xb13)))),this[_0x1a4e('0x55f7')][0x2]=_0x37e86e*(-0x1a/0xf+_0x3235ec*(0x22/0x15+_0x3235ec*(1.6+_0x3235ec*(-0x318e/0xb13)))),_0x37e86e*=_0x3235ec,this[_0x1a4e('0x55f6')][0x3]=_0x37e86e*(0x10b7/0x276+_0x3235ec*(-0x14c/0x23+_0x3235ec*(-0x618d4/0x375f))),this['cbg'][0x3]=_0x37e86e*(0x4d5/0x276+_0x3235ec*(_0x3235ec*(-0x6100/0x375f)-2.4)),_0x37e86e*=_0x3235ec,this['cgb'][0x4]=_0x37e86e*(0x104e/0x13b+_0x3235ec*(-0x235c6/0x185d)),this[_0x1a4e('0x55f7')][0x4]=_0x37e86e*(-0x2de/0x13b+_0x3235ec*(0x1ac1e/0x79d1)),_0x37e86e*=_0x3235ec,this[_0x1a4e('0x55f6')][0x5]=_0x37e86e*(0x92e4c/0x5703),this[_0x1a4e('0x55f7')][0x5]=_0x37e86e*(0x6c7b1/0x26115),_0x37e86e=Math['pow'](_0x3235ec,0x2),this['Qn']=this['k0']/(0x1+_0x3235ec)*(0x1+_0x37e86e*(0.25+_0x37e86e*(0x1/0x40+_0x37e86e/0x100))),this[_0x1a4e('0x55f8')][0x0]=_0x3235ec*(_0x3235ec*(0x2/0x3+_0x3235ec*(-0x25/0x60+_0x3235ec*(0x1/0x168+_0x3235ec*(0x51/0x200+_0x3235ec*(-0x177c7/0x93a80)))))-0.5),this[_0x1a4e('0x55f9')][0x0]=_0x3235ec*(0.5+_0x3235ec*(-0x2/0x3+_0x3235ec*(0x5/0x10+_0x3235ec*(0x29/0xb4+_0x3235ec*(-0x7f/0x120+_0x3235ec*(0x1ed3/0x93a8)))))),this[_0x1a4e('0x55f8')][0x1]=_0x37e86e*(-0x1/0x30+_0x3235ec*(-0x1/0xf+_0x3235ec*(0x1b5/0x5a0+_0x3235ec*(-0x2e/0x69+_0x3235ec*(0x1111f7/0x3b1000))))),this['gtu'][0x1]=_0x37e86e*(0xd/0x30+_0x3235ec*(_0x3235ec*(0x22d/0x5a0+_0x3235ec*(0x119/0x276+_0x3235ec*(-0x1e43c9/0x1d8800)))-0.6)),_0x37e86e*=_0x3235ec,this[_0x1a4e('0x55f8')][0x2]=_0x37e86e*(-0x11/0x1e0+_0x3235ec*(0x25/0x348+_0x3235ec*(0xd1/0x1180+_0x3235ec*(-0x15c1/0x16260)))),this[_0x1a4e('0x55f9')][0x2]=_0x37e86e*(0x3d/0xf0+_0x3235ec*(-0x67/0x8c+_0x3235ec*(0x3ad5/0x6900+_0x3235ec*(0x28eb3/0x2c4c0)))),_0x37e86e*=_0x3235ec,this[_0x1a4e('0x55f8')][0x3]=_0x37e86e*(-0x112d/0x27600+_0x3235ec*(0xb/0x1f8+_0x3235ec*(0xcab2b/0x6ebe00))),this[_0x1a4e('0x55f9')][0x3]=_0x37e86e*(0xc199/0x27600+_0x3235ec*(-0xb3/0xa8+_0x3235ec*(0x64bbbd/0x6ebe00))),_0x37e86e*=_0x3235ec,this[_0x1a4e('0x55f8')][0x4]=_0x37e86e*(-0x11e7/0x27600+_0x3235ec*(0x1a92f/0x3ce880)),this[_0x1a4e('0x55f9')][0x4]=_0x37e86e*(0x87a9/0x13b00+_0x3235ec*(-0x342b09/0x1e7440)),_0x37e86e*=_0x3235ec,this[_0x1a4e('0x55f8')][0x5]=-0.03233083094085698*_0x37e86e,this[_0x1a4e('0x55f9')][0x5]=0.6650675310896665*_0x37e86e;var _0x5b5613=_0x5232d7(this[_0x1a4e('0x55f7')],this['lat0']);this['Zb']=-this['Qn']*(_0x5b5613+function(_0x2501ea,_0x3235ec){for(var _0x37e86e,_0x5b5613=0x2*Math[_0x1a4e('0x90')](_0x3235ec),_0x22c25d=_0x2501ea['length']-0x1,_0x510841=_0x2501ea[_0x22c25d],_0x154c50=0x0;--_0x22c25d>=0x0;)_0x37e86e=_0x5b5613*_0x510841-_0x154c50+_0x2501ea[_0x22c25d],_0x154c50=_0x510841,_0x510841=_0x37e86e;return Math[_0x1a4e('0x8f')](_0x3235ec)*_0x37e86e;}(this[_0x1a4e('0x55f9')],0x2*_0x5b5613));},'forward':function(_0x2501ea){var _0x3235ec=_0x3b9cee(_0x2501ea['x']-this[_0x1a4e('0x556b')]),_0x37e86e=_0x2501ea['y'];_0x37e86e=_0x5232d7(this[_0x1a4e('0x55f7')],_0x37e86e);var _0x5b5613=Math[_0x1a4e('0x8f')](_0x37e86e),_0x22c25d=Math[_0x1a4e('0x90')](_0x37e86e),_0x510841=Math['sin'](_0x3235ec),_0x154c50=Math[_0x1a4e('0x90')](_0x3235ec);_0x37e86e=Math[_0x1a4e('0xa6')](_0x5b5613,_0x154c50*_0x22c25d),_0x3235ec=Math[_0x1a4e('0xa6')](_0x510841*_0x22c25d,_0x18a9b1(_0x5b5613,_0x22c25d*_0x154c50)),_0x3235ec=_0x80f344(Math[_0x1a4e('0xbe')](_0x3235ec));var _0xe669e0,_0x23370d,_0x39699b=_0x432b33(this[_0x1a4e('0x55f9')],0x2*_0x37e86e,0x2*_0x3235ec);return _0x37e86e+=_0x39699b[0x0],_0x3235ec+=_0x39699b[0x1],Math[_0x1a4e('0x65')](_0x3235ec)<=2.623395162778?(_0xe669e0=this['a']*(this['Qn']*_0x3235ec)+this['x0'],_0x23370d=this['a']*(this['Qn']*_0x37e86e+this['Zb'])+this['y0']):(_0xe669e0=0x1/0x0,_0x23370d=0x1/0x0),_0x2501ea['x']=_0xe669e0,_0x2501ea['y']=_0x23370d,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613=(_0x2501ea['x']-this['x0'])*(0x1/this['a']),_0x22c25d=(_0x2501ea['y']-this['y0'])*(0x1/this['a']);if(_0x22c25d=(_0x22c25d-this['Zb'])/this['Qn'],_0x5b5613/=this['Qn'],Math[_0x1a4e('0x65')](_0x5b5613)<=2.623395162778){var _0x510841=_0x432b33(this[_0x1a4e('0x55f8')],0x2*_0x22c25d,0x2*_0x5b5613);_0x22c25d+=_0x510841[0x0],_0x5b5613+=_0x510841[0x1],_0x5b5613=Math[_0x1a4e('0xc2')](_0x2cf8bd(_0x5b5613));var _0x154c50=Math[_0x1a4e('0x8f')](_0x22c25d),_0xe669e0=Math[_0x1a4e('0x90')](_0x22c25d),_0x23370d=Math[_0x1a4e('0x8f')](_0x5b5613),_0x39699b=Math[_0x1a4e('0x90')](_0x5b5613);_0x22c25d=Math[_0x1a4e('0xa6')](_0x154c50*_0x39699b,_0x18a9b1(_0x23370d,_0x39699b*_0xe669e0)),_0x5b5613=Math[_0x1a4e('0xa6')](_0x23370d,_0x39699b*_0xe669e0),_0x3235ec=_0x3b9cee(_0x5b5613+this[_0x1a4e('0x556b')]),_0x37e86e=_0x5232d7(this[_0x1a4e('0x55f6')],_0x22c25d);}else _0x3235ec=0x1/0x0,_0x37e86e=0x1/0x0;return _0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;},'names':['Extended_Transverse_Mercator',_0x1a4e('0x55fa'),'etmerc']},_0x39c01a={'init':function(){var _0x2501ea=function(_0x2501ea,_0x3235ec){if(void 0x0===_0x2501ea){if((_0x2501ea=Math[_0x1a4e('0xb4')](0x1e*(_0x3b9cee(_0x3235ec)+Math['PI'])/Math['PI'])+0x1)<0x0)return 0x0;if(_0x2501ea>0x3c)return 0x3c;}return _0x2501ea;}(this[_0x1a4e('0x3772')],this[_0x1a4e('0x556b')]);if(void 0x0===_0x2501ea)throw new Error(_0x1a4e('0x55fb'));this[_0x1a4e('0x5566')]=0x0,this[_0x1a4e('0x556b')]=(0x6*Math['abs'](_0x2501ea)-0xb7)*_0x4e8bfe,this['x0']=0x7a120,this['y0']=this[_0x1a4e('0x5599')]?0x989680:0x0,this['k0']=0.9996,_0x4176f6[_0x1a4e('0x1fd')][_0x1a4e('0x8b')](this),this[_0x1a4e('0x971')]=_0x4176f6[_0x1a4e('0x971')],this['inverse']=_0x4176f6[_0x1a4e('0x3cd4')];},'names':[_0x1a4e('0x55fc'),_0x1a4e('0x55fd')],'dependsOn':_0x1a4e('0x55fe')},_0x5baaf8=function(_0x2501ea,_0x3235ec){return Math[_0x1a4e('0x8e')]((0x1-_0x2501ea)/(0x1+_0x2501ea),_0x3235ec);},_0x49bd6e={'init':function(){var _0x2501ea=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x5566')]),_0x3235ec=Math['cos'](this[_0x1a4e('0x5566')]);_0x3235ec*=_0x3235ec,this['rc']=Math[_0x1a4e('0x91')](0x1-this['es'])/(0x1-this['es']*_0x2501ea*_0x2501ea),this['C']=Math[_0x1a4e('0x91')](0x1+this['es']*_0x3235ec*_0x3235ec/(0x1-this['es'])),this[_0x1a4e('0x55ff')]=Math[_0x1a4e('0x139')](_0x2501ea/this['C']),this[_0x1a4e('0x5600')]=0.5*this['C']*this['e'],this['K']=Math[_0x1a4e('0xbe')](0.5*this[_0x1a4e('0x55ff')]+_0x17a3df)/(Math[_0x1a4e('0x8e')](Math[_0x1a4e('0xbe')](0.5*this['lat0']+_0x17a3df),this['C'])*_0x5baaf8(this['e']*_0x2501ea,this['ratexp']));},'forward':function(_0x2501ea){var _0x3235ec=_0x2501ea['x'],_0x37e86e=_0x2501ea['y'];return _0x2501ea['y']=0x2*Math[_0x1a4e('0xc2')](this['K']*Math[_0x1a4e('0x8e')](Math[_0x1a4e('0xbe')](0.5*_0x37e86e+_0x17a3df),this['C'])*_0x5baaf8(this['e']*Math['sin'](_0x37e86e),this[_0x1a4e('0x5600')]))-_0x14fa9d,_0x2501ea['x']=this['C']*_0x3235ec,_0x2501ea;},'inverse':function(_0x2501ea){for(var _0x3235ec=_0x2501ea['x']/this['C'],_0x37e86e=_0x2501ea['y'],_0x5b5613=Math['pow'](Math[_0x1a4e('0xbe')](0.5*_0x37e86e+_0x17a3df)/this['K'],0x1/this['C']),_0x22c25d=0x14;_0x22c25d>0x0&&(_0x37e86e=0x2*Math[_0x1a4e('0xc2')](_0x5b5613*_0x5baaf8(this['e']*Math[_0x1a4e('0x8f')](_0x2501ea['y']),-0.5*this['e']))-_0x14fa9d,!(Math[_0x1a4e('0x65')](_0x37e86e-_0x2501ea['y'])<1e-14));--_0x22c25d)_0x2501ea['y']=_0x37e86e;return _0x22c25d?(_0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea):null;},'names':[_0x1a4e('0x5601')]},_0x1b9592={'init':function(){_0x49bd6e['init']['apply'](this),this['rc']&&(this[_0x1a4e('0x5602')]=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x55ff')]),this['cosc0']=Math[_0x1a4e('0x90')](this[_0x1a4e('0x55ff')]),this['R2']=0x2*this['rc'],this[_0x1a4e('0x1268')]||(this['title']=_0x1a4e('0x5603')));},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d;return _0x2501ea['x']=_0x3b9cee(_0x2501ea['x']-this[_0x1a4e('0x556b')]),_0x49bd6e['forward']['apply'](this,[_0x2501ea]),_0x3235ec=Math[_0x1a4e('0x8f')](_0x2501ea['y']),_0x37e86e=Math[_0x1a4e('0x90')](_0x2501ea['y']),_0x5b5613=Math['cos'](_0x2501ea['x']),_0x22c25d=this['k0']*this['R2']/(0x1+this[_0x1a4e('0x5602')]*_0x3235ec+this[_0x1a4e('0x5604')]*_0x37e86e*_0x5b5613),_0x2501ea['x']=_0x22c25d*_0x37e86e*Math['sin'](_0x2501ea['x']),_0x2501ea['y']=_0x22c25d*(this['cosc0']*_0x3235ec-this['sinc0']*_0x37e86e*_0x5b5613),_0x2501ea['x']=this['a']*_0x2501ea['x']+this['x0'],_0x2501ea['y']=this['a']*_0x2501ea['y']+this['y0'],_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841;if(_0x2501ea['x']=(_0x2501ea['x']-this['x0'])/this['a'],_0x2501ea['y']=(_0x2501ea['y']-this['y0'])/this['a'],_0x2501ea['x']/=this['k0'],_0x2501ea['y']/=this['k0'],_0x510841=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y'])){var _0x154c50=0x2*Math['atan2'](_0x510841,this['R2']);_0x3235ec=Math[_0x1a4e('0x8f')](_0x154c50),_0x37e86e=Math['cos'](_0x154c50),_0x22c25d=Math['asin'](_0x37e86e*this[_0x1a4e('0x5602')]+_0x2501ea['y']*_0x3235ec*this[_0x1a4e('0x5604')]/_0x510841),_0x5b5613=Math[_0x1a4e('0xa6')](_0x2501ea['x']*_0x3235ec,_0x510841*this['cosc0']*_0x37e86e-_0x2501ea['y']*this[_0x1a4e('0x5602')]*_0x3235ec);}else _0x22c25d=this[_0x1a4e('0x55ff')],_0x5b5613=0x0;return _0x2501ea['x']=_0x5b5613,_0x2501ea['y']=_0x22c25d,_0x49bd6e[_0x1a4e('0x3cd4')][_0x1a4e('0x8b')](this,[_0x2501ea]),_0x2501ea['x']=_0x3b9cee(_0x2501ea['x']+this[_0x1a4e('0x556b')]),_0x2501ea;},'names':[_0x1a4e('0x5605'),_0x1a4e('0x5606'),_0x1a4e('0x5607'),_0x1a4e('0x5608'),_0x1a4e('0x5603'),_0x1a4e('0x5609')]},_0x508180={'init':function(){this['coslat0']=Math[_0x1a4e('0x90')](this[_0x1a4e('0x5566')]),this[_0x1a4e('0x560a')]=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x5566')]),this[_0x1a4e('0x7a1')]?0x1===this['k0']&&!isNaN(this['lat_ts'])&&Math[_0x1a4e('0x65')](this[_0x1a4e('0x560b')])<=_0x2f45fd&&(this['k0']=0.5*(0x1+_0x5be4ef(this[_0x1a4e('0x5566')])*Math[_0x1a4e('0x8f')](this['lat_ts']))):(Math[_0x1a4e('0x65')](this['coslat0'])<=_0x2f45fd&&(this[_0x1a4e('0x5566')]>0x0?this[_0x1a4e('0x560c')]=0x1:this['con']=-0x1),this['cons']=Math[_0x1a4e('0x91')](Math[_0x1a4e('0x8e')](0x1+this['e'],0x1+this['e'])*Math[_0x1a4e('0x8e')](0x1-this['e'],0x1-this['e'])),0x1===this['k0']&&!isNaN(this[_0x1a4e('0x556f')])&&Math['abs'](this[_0x1a4e('0x560b')])<=_0x2f45fd&&(this['k0']=0.5*this[_0x1a4e('0x560d')]*_0xca91c1(this['e'],Math[_0x1a4e('0x8f')](this['lat_ts']),Math[_0x1a4e('0x90')](this[_0x1a4e('0x556f')]))/_0x34dd7b(this['e'],this[_0x1a4e('0x560c')]*this[_0x1a4e('0x556f')],this[_0x1a4e('0x560c')]*Math[_0x1a4e('0x8f')](this[_0x1a4e('0x556f')]))),this[_0x1a4e('0x560e')]=_0xca91c1(this['e'],this[_0x1a4e('0x560a')],this['coslat0']),this['X0']=0x2*Math[_0x1a4e('0xc2')](this[_0x1a4e('0x560f')](this[_0x1a4e('0x5566')],this['sinlat0'],this['e']))-_0x14fa9d,this[_0x1a4e('0x5610')]=Math['cos'](this['X0']),this[_0x1a4e('0x5611')]=Math[_0x1a4e('0x8f')](this['X0']));},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0=_0x2501ea['x'],_0x23370d=_0x2501ea['y'],_0x39699b=Math['sin'](_0x23370d),_0x4714a6=Math[_0x1a4e('0x90')](_0x23370d),_0x35563f=_0x3b9cee(_0xe669e0-this['long0']);return Math['abs'](Math[_0x1a4e('0x65')](_0xe669e0-this[_0x1a4e('0x556b')])-Math['PI'])<=_0x2f45fd&&Math[_0x1a4e('0x65')](_0x23370d+this[_0x1a4e('0x5566')])<=_0x2f45fd?(_0x2501ea['x']=NaN,_0x2501ea['y']=NaN,_0x2501ea):this[_0x1a4e('0x7a1')]?(_0x3235ec=0x2*this['k0']/(0x1+this[_0x1a4e('0x560a')]*_0x39699b+this[_0x1a4e('0x560b')]*_0x4714a6*Math[_0x1a4e('0x90')](_0x35563f)),_0x2501ea['x']=this['a']*_0x3235ec*_0x4714a6*Math[_0x1a4e('0x8f')](_0x35563f)+this['x0'],_0x2501ea['y']=this['a']*_0x3235ec*(this[_0x1a4e('0x560b')]*_0x39699b-this[_0x1a4e('0x560a')]*_0x4714a6*Math[_0x1a4e('0x90')](_0x35563f))+this['y0'],_0x2501ea):(_0x37e86e=0x2*Math[_0x1a4e('0xc2')](this[_0x1a4e('0x560f')](_0x23370d,_0x39699b,this['e']))-_0x14fa9d,_0x22c25d=Math[_0x1a4e('0x90')](_0x37e86e),_0x5b5613=Math[_0x1a4e('0x8f')](_0x37e86e),Math['abs'](this[_0x1a4e('0x560b')])<=_0x2f45fd?(_0x510841=_0x34dd7b(this['e'],_0x23370d*this[_0x1a4e('0x560c')],this['con']*_0x39699b),_0x154c50=0x2*this['a']*this['k0']*_0x510841/this[_0x1a4e('0x560d')],_0x2501ea['x']=this['x0']+_0x154c50*Math['sin'](_0xe669e0-this[_0x1a4e('0x556b')]),_0x2501ea['y']=this['y0']-this[_0x1a4e('0x560c')]*_0x154c50*Math[_0x1a4e('0x90')](_0xe669e0-this[_0x1a4e('0x556b')]),_0x2501ea):(Math[_0x1a4e('0x65')](this[_0x1a4e('0x560a')])<_0x2f45fd?(_0x3235ec=0x2*this['a']*this['k0']/(0x1+_0x22c25d*Math[_0x1a4e('0x90')](_0x35563f)),_0x2501ea['y']=_0x3235ec*_0x5b5613):(_0x3235ec=0x2*this['a']*this['k0']*this[_0x1a4e('0x560e')]/(this[_0x1a4e('0x5610')]*(0x1+this[_0x1a4e('0x5611')]*_0x5b5613+this['cosX0']*_0x22c25d*Math[_0x1a4e('0x90')](_0x35563f))),_0x2501ea['y']=_0x3235ec*(this['cosX0']*_0x5b5613-this[_0x1a4e('0x5611')]*_0x22c25d*Math[_0x1a4e('0x90')](_0x35563f))+this['y0']),_0x2501ea['x']=_0x3235ec*_0x22c25d*Math['sin'](_0x35563f)+this['x0'],_0x2501ea));},'inverse':function(_0x2501ea){_0x2501ea['x']-=this['x0'],_0x2501ea['y']-=this['y0'];var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']);if(this['sphere']){var _0xe669e0=0x2*Math['atan'](_0x154c50/(0x2*this['a']*this['k0']));return _0x3235ec=this[_0x1a4e('0x556b')],_0x37e86e=this['lat0'],_0x154c50<=_0x2f45fd?(_0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea):(_0x37e86e=Math[_0x1a4e('0x139')](Math[_0x1a4e('0x90')](_0xe669e0)*this[_0x1a4e('0x560a')]+_0x2501ea['y']*Math[_0x1a4e('0x8f')](_0xe669e0)*this['coslat0']/_0x154c50),_0x3235ec=_0x3b9cee(Math[_0x1a4e('0x65')](this[_0x1a4e('0x560b')])<_0x2f45fd?this[_0x1a4e('0x5566')]>0x0?this[_0x1a4e('0x556b')]+Math[_0x1a4e('0xa6')](_0x2501ea['x'],-0x1*_0x2501ea['y']):this[_0x1a4e('0x556b')]+Math[_0x1a4e('0xa6')](_0x2501ea['x'],_0x2501ea['y']):this[_0x1a4e('0x556b')]+Math[_0x1a4e('0xa6')](_0x2501ea['x']*Math[_0x1a4e('0x8f')](_0xe669e0),_0x154c50*this[_0x1a4e('0x560b')]*Math[_0x1a4e('0x90')](_0xe669e0)-_0x2501ea['y']*this[_0x1a4e('0x560a')]*Math[_0x1a4e('0x8f')](_0xe669e0))),_0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea);}if(Math[_0x1a4e('0x65')](this[_0x1a4e('0x560b')])<=_0x2f45fd){if(_0x154c50<=_0x2f45fd)return _0x37e86e=this[_0x1a4e('0x5566')],_0x3235ec=this['long0'],_0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;_0x2501ea['x']*=this[_0x1a4e('0x560c')],_0x2501ea['y']*=this[_0x1a4e('0x560c')],_0x5b5613=_0x154c50*this[_0x1a4e('0x560d')]/(0x2*this['a']*this['k0']),_0x37e86e=this[_0x1a4e('0x560c')]*_0x36651b(this['e'],_0x5b5613),_0x3235ec=this[_0x1a4e('0x560c')]*_0x3b9cee(this['con']*this[_0x1a4e('0x556b')]+Math[_0x1a4e('0xa6')](_0x2501ea['x'],-0x1*_0x2501ea['y']));}else _0x22c25d=0x2*Math[_0x1a4e('0xc2')](_0x154c50*this[_0x1a4e('0x5610')]/(0x2*this['a']*this['k0']*this[_0x1a4e('0x560e')])),_0x3235ec=this[_0x1a4e('0x556b')],_0x154c50<=_0x2f45fd?_0x510841=this['X0']:(_0x510841=Math[_0x1a4e('0x139')](Math[_0x1a4e('0x90')](_0x22c25d)*this[_0x1a4e('0x5611')]+_0x2501ea['y']*Math[_0x1a4e('0x8f')](_0x22c25d)*this[_0x1a4e('0x5610')]/_0x154c50),_0x3235ec=_0x3b9cee(this[_0x1a4e('0x556b')]+Math[_0x1a4e('0xa6')](_0x2501ea['x']*Math[_0x1a4e('0x8f')](_0x22c25d),_0x154c50*this[_0x1a4e('0x5610')]*Math[_0x1a4e('0x90')](_0x22c25d)-_0x2501ea['y']*this['sinX0']*Math[_0x1a4e('0x8f')](_0x22c25d)))),_0x37e86e=-0x1*_0x36651b(this['e'],Math[_0x1a4e('0xbe')](0.5*(_0x14fa9d+_0x510841)));return _0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;},'names':[_0x1a4e('0x5612'),'Stereographic_South_Pole',_0x1a4e('0x5613')],'ssfn_':function(_0x2501ea,_0x3235ec,_0x37e86e){return _0x3235ec*=_0x37e86e,Math[_0x1a4e('0xbe')](0.5*(_0x14fa9d+_0x2501ea))*Math[_0x1a4e('0x8e')]((0x1-_0x3235ec)/(0x1+_0x3235ec),0.5*_0x37e86e);}},_0x19cc9a={'init':function(){var _0x2501ea=this[_0x1a4e('0x5566')];this['lambda0']=this['long0'];var _0x3235ec=Math['sin'](_0x2501ea),_0x37e86e=this['a'],_0x5b5613=0x1/this['rf'],_0x22c25d=0x2*_0x5b5613-Math[_0x1a4e('0x8e')](_0x5b5613,0x2),_0x510841=this['e']=Math[_0x1a4e('0x91')](_0x22c25d);this['R']=this['k0']*_0x37e86e*Math[_0x1a4e('0x91')](0x1-_0x22c25d)/(0x1-_0x22c25d*Math[_0x1a4e('0x8e')](_0x3235ec,0x2)),this['alpha']=Math['sqrt'](0x1+_0x22c25d/(0x1-_0x22c25d)*Math['pow'](Math[_0x1a4e('0x90')](_0x2501ea),0x4)),this['b0']=Math[_0x1a4e('0x139')](_0x3235ec/this[_0x1a4e('0x3a4f')]);var _0x154c50=Math[_0x1a4e('0x58')](Math[_0x1a4e('0xbe')](Math['PI']/0x4+this['b0']/0x2)),_0xe669e0=Math[_0x1a4e('0x58')](Math[_0x1a4e('0xbe')](Math['PI']/0x4+_0x2501ea/0x2)),_0x23370d=Math[_0x1a4e('0x58')]((0x1+_0x510841*_0x3235ec)/(0x1-_0x510841*_0x3235ec));this['K']=_0x154c50-this[_0x1a4e('0x3a4f')]*_0xe669e0+this[_0x1a4e('0x3a4f')]*_0x510841/0x2*_0x23370d;},'forward':function(_0x2501ea){var _0x3235ec=Math[_0x1a4e('0x58')](Math[_0x1a4e('0xbe')](Math['PI']/0x4-_0x2501ea['y']/0x2)),_0x37e86e=this['e']/0x2*Math[_0x1a4e('0x58')]((0x1+this['e']*Math[_0x1a4e('0x8f')](_0x2501ea['y']))/(0x1-this['e']*Math[_0x1a4e('0x8f')](_0x2501ea['y']))),_0x5b5613=-this['alpha']*(_0x3235ec+_0x37e86e)+this['K'],_0x22c25d=0x2*(Math[_0x1a4e('0xc2')](Math['exp'](_0x5b5613))-Math['PI']/0x4),_0x510841=this['alpha']*(_0x2501ea['x']-this[_0x1a4e('0x5614')]),_0x154c50=Math[_0x1a4e('0xc2')](Math[_0x1a4e('0x8f')](_0x510841)/(Math[_0x1a4e('0x8f')](this['b0'])*Math[_0x1a4e('0xbe')](_0x22c25d)+Math[_0x1a4e('0x90')](this['b0'])*Math[_0x1a4e('0x90')](_0x510841))),_0xe669e0=Math[_0x1a4e('0x139')](Math['cos'](this['b0'])*Math[_0x1a4e('0x8f')](_0x22c25d)-Math[_0x1a4e('0x8f')](this['b0'])*Math['cos'](_0x22c25d)*Math[_0x1a4e('0x90')](_0x510841));return _0x2501ea['y']=this['R']/0x2*Math[_0x1a4e('0x58')]((0x1+Math[_0x1a4e('0x8f')](_0xe669e0))/(0x1-Math[_0x1a4e('0x8f')](_0xe669e0)))+this['y0'],_0x2501ea['x']=this['R']*_0x154c50+this['x0'],_0x2501ea;},'inverse':function(_0x2501ea){for(var _0x3235ec=_0x2501ea['x']-this['x0'],_0x37e86e=_0x2501ea['y']-this['y0'],_0x5b5613=_0x3235ec/this['R'],_0x22c25d=0x2*(Math['atan'](Math[_0x1a4e('0xc3')](_0x37e86e/this['R']))-Math['PI']/0x4),_0x510841=Math['asin'](Math[_0x1a4e('0x90')](this['b0'])*Math[_0x1a4e('0x8f')](_0x22c25d)+Math['sin'](this['b0'])*Math[_0x1a4e('0x90')](_0x22c25d)*Math[_0x1a4e('0x90')](_0x5b5613)),_0x154c50=Math[_0x1a4e('0xc2')](Math[_0x1a4e('0x8f')](_0x5b5613)/(Math[_0x1a4e('0x90')](this['b0'])*Math[_0x1a4e('0x90')](_0x5b5613)-Math[_0x1a4e('0x8f')](this['b0'])*Math[_0x1a4e('0xbe')](_0x22c25d))),_0xe669e0=this[_0x1a4e('0x5614')]+_0x154c50/this[_0x1a4e('0x3a4f')],_0x23370d=0x0,_0x39699b=_0x510841,_0x4714a6=-0x3e8,_0x35563f=0x0;Math['abs'](_0x39699b-_0x4714a6)>1e-7;){if(++_0x35563f>0x14)return;_0x23370d=0x1/this[_0x1a4e('0x3a4f')]*(Math[_0x1a4e('0x58')](Math['tan'](Math['PI']/0x4+_0x510841/0x2))-this['K'])+this['e']*Math['log'](Math['tan'](Math['PI']/0x4+Math['asin'](this['e']*Math['sin'](_0x39699b))/0x2)),_0x4714a6=_0x39699b,_0x39699b=0x2*Math['atan'](Math['exp'](_0x23370d))-Math['PI']/0x2;}return _0x2501ea['x']=_0xe669e0,_0x2501ea['y']=_0x39699b,_0x2501ea;},'names':[_0x1a4e('0x5615')]},_0x46bc7e={'init':function(){this['no_off']=this[_0x1a4e('0x5616')]||!0x1,this[_0x1a4e('0x5617')]=this[_0x1a4e('0x5617')]||!0x1,isNaN(this['k0'])&&(this['k0']=0x1);var _0x2501ea=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x5566')]),_0x3235ec=Math['cos'](this[_0x1a4e('0x5566')]),_0x37e86e=this['e']*_0x2501ea;this['bl']=Math[_0x1a4e('0x91')](0x1+this['es']/(0x1-this['es'])*Math[_0x1a4e('0x8e')](_0x3235ec,0x4)),this['al']=this['a']*this['bl']*this['k0']*Math[_0x1a4e('0x91')](0x1-this['es'])/(0x1-_0x37e86e*_0x37e86e);var _0x5b5613,_0x22c25d,_0x510841=_0x34dd7b(this['e'],this[_0x1a4e('0x5566')],_0x2501ea),_0x154c50=this['bl']/_0x3235ec*Math['sqrt']((0x1-this['es'])/(0x1-_0x37e86e*_0x37e86e));if(_0x154c50*_0x154c50<0x1&&(_0x154c50=0x1),isNaN(this[_0x1a4e('0x556a')])){var _0xe669e0=_0x34dd7b(this['e'],this['lat1'],Math[_0x1a4e('0x8f')](this[_0x1a4e('0x556d')])),_0x23370d=_0x34dd7b(this['e'],this[_0x1a4e('0x556e')],Math[_0x1a4e('0x8f')](this[_0x1a4e('0x556e')]));this[_0x1a4e('0x5566')]>=0x0?this['el']=(_0x154c50+Math[_0x1a4e('0x91')](_0x154c50*_0x154c50-0x1))*Math['pow'](_0x510841,this['bl']):this['el']=(_0x154c50-Math[_0x1a4e('0x91')](_0x154c50*_0x154c50-0x1))*Math['pow'](_0x510841,this['bl']);var _0x39699b=Math[_0x1a4e('0x8e')](_0xe669e0,this['bl']),_0x4714a6=Math[_0x1a4e('0x8e')](_0x23370d,this['bl']);_0x22c25d=0.5*((_0x5b5613=this['el']/_0x39699b)-0x1/_0x5b5613);var _0x35563f=(this['el']*this['el']-_0x4714a6*_0x39699b)/(this['el']*this['el']+_0x4714a6*_0x39699b),_0x533731=(_0x4714a6-_0x39699b)/(_0x4714a6+_0x39699b),_0x29bf60=_0x3b9cee(this[_0x1a4e('0x5597')]-this['long2']);this[_0x1a4e('0x556b')]=0.5*(this['long1']+this[_0x1a4e('0x5598')])-Math['atan'](_0x35563f*Math[_0x1a4e('0xbe')](0.5*this['bl']*_0x29bf60)/_0x533731)/this['bl'],this[_0x1a4e('0x556b')]=_0x3b9cee(this['long0']);var _0x2be20f=_0x3b9cee(this[_0x1a4e('0x5597')]-this[_0x1a4e('0x556b')]);this[_0x1a4e('0x5618')]=Math[_0x1a4e('0xc2')](Math[_0x1a4e('0x8f')](this['bl']*_0x2be20f)/_0x22c25d),this[_0x1a4e('0x3a4f')]=Math['asin'](_0x154c50*Math[_0x1a4e('0x8f')](this[_0x1a4e('0x5618')]));}else _0x5b5613=this[_0x1a4e('0x5566')]>=0x0?_0x154c50+Math[_0x1a4e('0x91')](_0x154c50*_0x154c50-0x1):_0x154c50-Math[_0x1a4e('0x91')](_0x154c50*_0x154c50-0x1),this['el']=_0x5b5613*Math[_0x1a4e('0x8e')](_0x510841,this['bl']),_0x22c25d=0.5*(_0x5b5613-0x1/_0x5b5613),this[_0x1a4e('0x5618')]=Math[_0x1a4e('0x139')](Math['sin'](this[_0x1a4e('0x3a4f')])/_0x154c50),this[_0x1a4e('0x556b')]=this[_0x1a4e('0x556a')]-Math[_0x1a4e('0x139')](_0x22c25d*Math[_0x1a4e('0xbe')](this[_0x1a4e('0x5618')]))/this['bl'];this[_0x1a4e('0x5616')]?this['uc']=0x0:this[_0x1a4e('0x5566')]>=0x0?this['uc']=this['al']/this['bl']*Math[_0x1a4e('0xa6')](Math[_0x1a4e('0x91')](_0x154c50*_0x154c50-0x1),Math[_0x1a4e('0x90')](this['alpha'])):this['uc']=-0x1*this['al']/this['bl']*Math[_0x1a4e('0xa6')](Math[_0x1a4e('0x91')](_0x154c50*_0x154c50-0x1),Math[_0x1a4e('0x90')](this[_0x1a4e('0x3a4f')]));},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d=_0x2501ea['x'],_0x510841=_0x2501ea['y'],_0x154c50=_0x3b9cee(_0x22c25d-this[_0x1a4e('0x556b')]);if(Math[_0x1a4e('0x65')](Math[_0x1a4e('0x65')](_0x510841)-_0x14fa9d)<=_0x2f45fd)_0x5b5613=_0x510841>0x0?-0x1:0x1,_0x37e86e=this['al']/this['bl']*Math['log'](Math[_0x1a4e('0xbe')](_0x17a3df+_0x5b5613*this['gamma0']*0.5)),_0x3235ec=-0x1*_0x5b5613*_0x14fa9d*this['al']/this['bl'];else{var _0xe669e0=_0x34dd7b(this['e'],_0x510841,Math[_0x1a4e('0x8f')](_0x510841)),_0x23370d=this['el']/Math[_0x1a4e('0x8e')](_0xe669e0,this['bl']),_0x39699b=0.5*(_0x23370d-0x1/_0x23370d),_0x4714a6=0.5*(_0x23370d+0x1/_0x23370d),_0x35563f=Math['sin'](this['bl']*_0x154c50),_0x533731=(_0x39699b*Math['sin'](this[_0x1a4e('0x5618')])-_0x35563f*Math['cos'](this['gamma0']))/_0x4714a6;_0x37e86e=Math[_0x1a4e('0x65')](Math[_0x1a4e('0x65')](_0x533731)-0x1)<=_0x2f45fd?Number[_0x1a4e('0x4d5')]:0.5*this['al']*Math[_0x1a4e('0x58')]((0x1-_0x533731)/(0x1+_0x533731))/this['bl'],_0x3235ec=Math[_0x1a4e('0x65')](Math['cos'](this['bl']*_0x154c50))<=_0x2f45fd?this['al']*this['bl']*_0x154c50:this['al']*Math[_0x1a4e('0xa6')](_0x39699b*Math[_0x1a4e('0x90')](this[_0x1a4e('0x5618')])+_0x35563f*Math[_0x1a4e('0x8f')](this[_0x1a4e('0x5618')]),Math['cos'](this['bl']*_0x154c50))/this['bl'];}return this[_0x1a4e('0x5617')]?(_0x2501ea['x']=this['x0']+_0x3235ec,_0x2501ea['y']=this['y0']+_0x37e86e):(_0x3235ec-=this['uc'],_0x2501ea['x']=this['x0']+_0x37e86e*Math[_0x1a4e('0x90')](this[_0x1a4e('0x3a4f')])+_0x3235ec*Math[_0x1a4e('0x8f')](this[_0x1a4e('0x3a4f')]),_0x2501ea['y']=this['y0']+_0x3235ec*Math[_0x1a4e('0x90')](this[_0x1a4e('0x3a4f')])-_0x37e86e*Math[_0x1a4e('0x8f')](this[_0x1a4e('0x3a4f')])),_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e;this[_0x1a4e('0x5617')]?(_0x37e86e=_0x2501ea['y']-this['y0'],_0x3235ec=_0x2501ea['x']-this['x0']):(_0x37e86e=(_0x2501ea['x']-this['x0'])*Math[_0x1a4e('0x90')](this[_0x1a4e('0x3a4f')])-(_0x2501ea['y']-this['y0'])*Math['sin'](this[_0x1a4e('0x3a4f')]),_0x3235ec=(_0x2501ea['y']-this['y0'])*Math['cos'](this[_0x1a4e('0x3a4f')])+(_0x2501ea['x']-this['x0'])*Math[_0x1a4e('0x8f')](this[_0x1a4e('0x3a4f')]),_0x3235ec+=this['uc']);var _0x5b5613=Math['exp'](-0x1*this['bl']*_0x37e86e/this['al']),_0x22c25d=0.5*(_0x5b5613-0x1/_0x5b5613),_0x510841=0.5*(_0x5b5613+0x1/_0x5b5613),_0x154c50=Math[_0x1a4e('0x8f')](this['bl']*_0x3235ec/this['al']),_0xe669e0=(_0x154c50*Math[_0x1a4e('0x90')](this[_0x1a4e('0x5618')])+_0x22c25d*Math['sin'](this['gamma0']))/_0x510841,_0x23370d=Math[_0x1a4e('0x8e')](this['el']/Math[_0x1a4e('0x91')]((0x1+_0xe669e0)/(0x1-_0xe669e0)),0x1/this['bl']);return Math['abs'](_0xe669e0-0x1)<_0x2f45fd?(_0x2501ea['x']=this['long0'],_0x2501ea['y']=_0x14fa9d):Math[_0x1a4e('0x65')](_0xe669e0+0x1)<_0x2f45fd?(_0x2501ea['x']=this[_0x1a4e('0x556b')],_0x2501ea['y']=-0x1*_0x14fa9d):(_0x2501ea['y']=_0x36651b(this['e'],_0x23370d),_0x2501ea['x']=_0x3b9cee(this[_0x1a4e('0x556b')]-Math[_0x1a4e('0xa6')](_0x22c25d*Math[_0x1a4e('0x90')](this['gamma0'])-_0x154c50*Math[_0x1a4e('0x8f')](this['gamma0']),Math[_0x1a4e('0x90')](this['bl']*_0x3235ec/this['al']))/this['bl'])),_0x2501ea;},'names':[_0x1a4e('0x5619'),_0x1a4e('0x561a'),_0x1a4e('0x561b'),_0x1a4e('0x561c'),_0x1a4e('0x561d')]},_0xef2529={'init':function(){if(this['lat2']||(this[_0x1a4e('0x556e')]=this[_0x1a4e('0x556d')]),this['k0']||(this['k0']=0x1),this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0,!(Math[_0x1a4e('0x65')](this[_0x1a4e('0x556d')]+this[_0x1a4e('0x556e')])<_0x2f45fd)){var _0x2501ea=this['b']/this['a'];this['e']=Math[_0x1a4e('0x91')](0x1-_0x2501ea*_0x2501ea);var _0x3235ec=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x556d')]),_0x37e86e=Math[_0x1a4e('0x90')](this['lat1']),_0x5b5613=_0xca91c1(this['e'],_0x3235ec,_0x37e86e),_0x22c25d=_0x34dd7b(this['e'],this[_0x1a4e('0x556d')],_0x3235ec),_0x510841=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x556e')]),_0x154c50=Math[_0x1a4e('0x90')](this[_0x1a4e('0x556e')]),_0xe669e0=_0xca91c1(this['e'],_0x510841,_0x154c50),_0x23370d=_0x34dd7b(this['e'],this['lat2'],_0x510841),_0x39699b=_0x34dd7b(this['e'],this[_0x1a4e('0x5566')],Math[_0x1a4e('0x8f')](this['lat0']));Math['abs'](this[_0x1a4e('0x556d')]-this[_0x1a4e('0x556e')])>_0x2f45fd?this['ns']=Math['log'](_0x5b5613/_0xe669e0)/Math[_0x1a4e('0x58')](_0x22c25d/_0x23370d):this['ns']=_0x3235ec,isNaN(this['ns'])&&(this['ns']=_0x3235ec),this['f0']=_0x5b5613/(this['ns']*Math[_0x1a4e('0x8e')](_0x22c25d,this['ns'])),this['rh']=this['a']*this['f0']*Math[_0x1a4e('0x8e')](_0x39699b,this['ns']),this[_0x1a4e('0x1268')]||(this['title']=_0x1a4e('0x561e'));}},'forward':function(_0x2501ea){var _0x3235ec=_0x2501ea['x'],_0x37e86e=_0x2501ea['y'];Math[_0x1a4e('0x65')](0x2*Math[_0x1a4e('0x65')](_0x37e86e)-Math['PI'])<=_0x2f45fd&&(_0x37e86e=_0x5be4ef(_0x37e86e)*(_0x14fa9d-0x2*_0x2f45fd));var _0x5b5613,_0x22c25d,_0x510841=Math[_0x1a4e('0x65')](Math['abs'](_0x37e86e)-_0x14fa9d);if(_0x510841>_0x2f45fd)_0x5b5613=_0x34dd7b(this['e'],_0x37e86e,Math['sin'](_0x37e86e)),_0x22c25d=this['a']*this['f0']*Math[_0x1a4e('0x8e')](_0x5b5613,this['ns']);else{if((_0x510841=_0x37e86e*this['ns'])<=0x0)return null;_0x22c25d=0x0;}var _0x154c50=this['ns']*_0x3b9cee(_0x3235ec-this['long0']);return _0x2501ea['x']=this['k0']*(_0x22c25d*Math['sin'](_0x154c50))+this['x0'],_0x2501ea['y']=this['k0']*(this['rh']-_0x22c25d*Math[_0x1a4e('0x90')](_0x154c50))+this['y0'],_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50=(_0x2501ea['x']-this['x0'])/this['k0'],_0xe669e0=this['rh']-(_0x2501ea['y']-this['y0'])/this['k0'];this['ns']>0x0?(_0x3235ec=Math[_0x1a4e('0x91')](_0x154c50*_0x154c50+_0xe669e0*_0xe669e0),_0x37e86e=0x1):(_0x3235ec=-Math[_0x1a4e('0x91')](_0x154c50*_0x154c50+_0xe669e0*_0xe669e0),_0x37e86e=-0x1);var _0x23370d=0x0;if(0x0!==_0x3235ec&&(_0x23370d=Math[_0x1a4e('0xa6')](_0x37e86e*_0x154c50,_0x37e86e*_0xe669e0)),0x0!==_0x3235ec||this['ns']>0x0){if(_0x37e86e=0x1/this['ns'],_0x5b5613=Math['pow'](_0x3235ec/(this['a']*this['f0']),_0x37e86e),-0x270f===(_0x22c25d=_0x36651b(this['e'],_0x5b5613)))return null;}else _0x22c25d=-_0x14fa9d;return _0x510841=_0x3b9cee(_0x23370d/this['ns']+this[_0x1a4e('0x556b')]),_0x2501ea['x']=_0x510841,_0x2501ea['y']=_0x22c25d,_0x2501ea;},'names':[_0x1a4e('0x561f'),_0x1a4e('0x5620'),'Lambert_Conformal_Conic_2SP','lcc']},_0x429f18={'init':function(){this['a']=6377397.155,this['es']=0.006674372230614,this['e']=Math[_0x1a4e('0x91')](this['es']),this[_0x1a4e('0x5566')]||(this[_0x1a4e('0x5566')]=0.863937979737193),this[_0x1a4e('0x556b')]||(this['long0']=0.4334234309119251),this['k0']||(this['k0']=0.9999),this[_0x1a4e('0x5621')]=0.785398163397448,this[_0x1a4e('0x5622')]=0x2*this[_0x1a4e('0x5621')],this[_0x1a4e('0x5623')]=this[_0x1a4e('0x5566')],this['e2']=this['es'],this['e']=Math[_0x1a4e('0x91')](this['e2']),this[_0x1a4e('0x5624')]=Math[_0x1a4e('0x91')](0x1+this['e2']*Math[_0x1a4e('0x8e')](Math[_0x1a4e('0x90')](this[_0x1a4e('0x5623')]),0x4)/(0x1-this['e2'])),this['uq']=1.04216856380474,this['u0']=Math[_0x1a4e('0x139')](Math['sin'](this[_0x1a4e('0x5623')])/this[_0x1a4e('0x5624')]),this['g']=Math['pow']((0x1+this['e']*Math[_0x1a4e('0x8f')](this[_0x1a4e('0x5623')]))/(0x1-this['e']*Math['sin'](this[_0x1a4e('0x5623')])),this[_0x1a4e('0x5624')]*this['e']/0x2),this['k']=Math['tan'](this['u0']/0x2+this['s45'])/Math[_0x1a4e('0x8e')](Math['tan'](this[_0x1a4e('0x5623')]/0x2+this[_0x1a4e('0x5621')]),this['alfa'])*this['g'],this['k1']=this['k0'],this['n0']=this['a']*Math[_0x1a4e('0x91')](0x1-this['e2'])/(0x1-this['e2']*Math[_0x1a4e('0x8e')](Math[_0x1a4e('0x8f')](this[_0x1a4e('0x5623')]),0x2)),this['s0']=1.37008346281555,this['n']=Math[_0x1a4e('0x8f')](this['s0']),this[_0x1a4e('0x5625')]=this['k1']*this['n0']/Math['tan'](this['s0']),this['ad']=this['s90']-this['uq'];},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d=_0x2501ea['x'],_0x39699b=_0x2501ea['y'],_0x4714a6=_0x3b9cee(_0x23370d-this[_0x1a4e('0x556b')]);return _0x3235ec=Math[_0x1a4e('0x8e')]((0x1+this['e']*Math['sin'](_0x39699b))/(0x1-this['e']*Math[_0x1a4e('0x8f')](_0x39699b)),this[_0x1a4e('0x5624')]*this['e']/0x2),_0x37e86e=0x2*(Math[_0x1a4e('0xc2')](this['k']*Math[_0x1a4e('0x8e')](Math['tan'](_0x39699b/0x2+this[_0x1a4e('0x5621')]),this[_0x1a4e('0x5624')])/_0x3235ec)-this[_0x1a4e('0x5621')]),_0x5b5613=-_0x4714a6*this[_0x1a4e('0x5624')],_0x22c25d=Math['asin'](Math[_0x1a4e('0x90')](this['ad'])*Math[_0x1a4e('0x8f')](_0x37e86e)+Math['sin'](this['ad'])*Math[_0x1a4e('0x90')](_0x37e86e)*Math['cos'](_0x5b5613)),_0x510841=Math[_0x1a4e('0x139')](Math['cos'](_0x37e86e)*Math['sin'](_0x5b5613)/Math[_0x1a4e('0x90')](_0x22c25d)),_0x154c50=this['n']*_0x510841,_0xe669e0=this['ro0']*Math[_0x1a4e('0x8e')](Math[_0x1a4e('0xbe')](this['s0']/0x2+this[_0x1a4e('0x5621')]),this['n'])/Math[_0x1a4e('0x8e')](Math['tan'](_0x22c25d/0x2+this[_0x1a4e('0x5621')]),this['n']),_0x2501ea['y']=_0xe669e0*Math[_0x1a4e('0x90')](_0x154c50)/0x1,_0x2501ea['x']=_0xe669e0*Math[_0x1a4e('0x8f')](_0x154c50)/0x1,this['czech']||(_0x2501ea['y']*=-0x1,_0x2501ea['x']*=-0x1),_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d=_0x2501ea['x'];_0x2501ea['x']=_0x2501ea['y'],_0x2501ea['y']=_0x23370d,this[_0x1a4e('0x5626')]||(_0x2501ea['y']*=-0x1,_0x2501ea['x']*=-0x1),_0x510841=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']),_0x22c25d=Math[_0x1a4e('0xa6')](_0x2501ea['y'],_0x2501ea['x'])/Math[_0x1a4e('0x8f')](this['s0']),_0x5b5613=0x2*(Math[_0x1a4e('0xc2')](Math[_0x1a4e('0x8e')](this[_0x1a4e('0x5625')]/_0x510841,0x1/this['n'])*Math[_0x1a4e('0xbe')](this['s0']/0x2+this['s45']))-this[_0x1a4e('0x5621')]),_0x3235ec=Math[_0x1a4e('0x139')](Math[_0x1a4e('0x90')](this['ad'])*Math[_0x1a4e('0x8f')](_0x5b5613)-Math[_0x1a4e('0x8f')](this['ad'])*Math['cos'](_0x5b5613)*Math[_0x1a4e('0x90')](_0x22c25d)),_0x37e86e=Math[_0x1a4e('0x139')](Math[_0x1a4e('0x90')](_0x5b5613)*Math[_0x1a4e('0x8f')](_0x22c25d)/Math[_0x1a4e('0x90')](_0x3235ec)),_0x2501ea['x']=this[_0x1a4e('0x556b')]-_0x37e86e/this[_0x1a4e('0x5624')],_0x154c50=_0x3235ec,_0xe669e0=0x0;var _0x39699b=0x0;do{_0x2501ea['y']=0x2*(Math['atan'](Math[_0x1a4e('0x8e')](this['k'],-0x1/this[_0x1a4e('0x5624')])*Math[_0x1a4e('0x8e')](Math[_0x1a4e('0xbe')](_0x3235ec/0x2+this[_0x1a4e('0x5621')]),0x1/this[_0x1a4e('0x5624')])*Math[_0x1a4e('0x8e')]((0x1+this['e']*Math[_0x1a4e('0x8f')](_0x154c50))/(0x1-this['e']*Math['sin'](_0x154c50)),this['e']/0x2))-this[_0x1a4e('0x5621')]),Math[_0x1a4e('0x65')](_0x154c50-_0x2501ea['y'])<1e-10&&(_0xe669e0=0x1),_0x154c50=_0x2501ea['y'],_0x39699b+=0x1;}while(0x0===_0xe669e0&&_0x39699b<0xf);return _0x39699b>=0xf?null:_0x2501ea;},'names':['Krovak','krovak']},_0x2e5840=function(_0x2501ea,_0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d){return _0x2501ea*_0x22c25d-_0x3235ec*Math[_0x1a4e('0x8f')](0x2*_0x22c25d)+_0x37e86e*Math['sin'](0x4*_0x22c25d)-_0x5b5613*Math[_0x1a4e('0x8f')](0x6*_0x22c25d);},_0x115637=function(_0x2501ea){return 0x1-0.25*_0x2501ea*(0x1+_0x2501ea/0x10*(0x3+1.25*_0x2501ea));},_0x417400=function(_0x2501ea){return 0.375*_0x2501ea*(0x1+0.25*_0x2501ea*(0x1+0.46875*_0x2501ea));},_0x31f248=function(_0x2501ea){return 0.05859375*_0x2501ea*_0x2501ea*(0x1+0.75*_0x2501ea);},_0x3adc41=function(_0x2501ea){return _0x2501ea*_0x2501ea*_0x2501ea*(0x23/0xc00);},_0x614bc=function(_0x2501ea,_0x3235ec,_0x37e86e){var _0x5b5613=_0x3235ec*_0x37e86e;return _0x2501ea/Math[_0x1a4e('0x91')](0x1-_0x5b5613*_0x5b5613);},_0x53f6cc=function(_0x2501ea){return Math[_0x1a4e('0x65')](_0x2501ea)<_0x14fa9d?_0x2501ea:_0x2501ea-_0x5be4ef(_0x2501ea)*Math['PI'];},_0x57db15=function(_0x2501ea,_0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d){var _0x510841,_0x154c50;_0x510841=_0x2501ea/_0x3235ec;for(var _0xe669e0=0x0;_0xe669e0<0xf;_0xe669e0++)if(_0x510841+=_0x154c50=(_0x2501ea-(_0x3235ec*_0x510841-_0x37e86e*Math[_0x1a4e('0x8f')](0x2*_0x510841)+_0x5b5613*Math[_0x1a4e('0x8f')](0x4*_0x510841)-_0x22c25d*Math[_0x1a4e('0x8f')](0x6*_0x510841)))/(_0x3235ec-0x2*_0x37e86e*Math['cos'](0x2*_0x510841)+0x4*_0x5b5613*Math['cos'](0x4*_0x510841)-0x6*_0x22c25d*Math['cos'](0x6*_0x510841)),Math[_0x1a4e('0x65')](_0x154c50)<=1e-10)return _0x510841;return NaN;},_0x507bfe={'init':function(){this[_0x1a4e('0x7a1')]||(this['e0']=_0x115637(this['es']),this['e1']=_0x417400(this['es']),this['e2']=_0x31f248(this['es']),this['e3']=_0x3adc41(this['es']),this['ml0']=this['a']*_0x2e5840(this['e0'],this['e1'],this['e2'],this['e3'],this[_0x1a4e('0x5566')]));},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613=_0x2501ea['x'],_0x22c25d=_0x2501ea['y'];if(_0x5b5613=_0x3b9cee(_0x5b5613-this[_0x1a4e('0x556b')]),this[_0x1a4e('0x7a1')])_0x3235ec=this['a']*Math[_0x1a4e('0x139')](Math['cos'](_0x22c25d)*Math[_0x1a4e('0x8f')](_0x5b5613)),_0x37e86e=this['a']*(Math[_0x1a4e('0xa6')](Math[_0x1a4e('0xbe')](_0x22c25d),Math['cos'](_0x5b5613))-this[_0x1a4e('0x5566')]);else{var _0x510841=Math[_0x1a4e('0x8f')](_0x22c25d),_0x154c50=Math[_0x1a4e('0x90')](_0x22c25d),_0xe669e0=_0x614bc(this['a'],this['e'],_0x510841),_0x23370d=Math['tan'](_0x22c25d)*Math[_0x1a4e('0xbe')](_0x22c25d),_0x39699b=_0x5b5613*Math[_0x1a4e('0x90')](_0x22c25d),_0x4714a6=_0x39699b*_0x39699b,_0x35563f=this['es']*_0x154c50*_0x154c50/(0x1-this['es']);_0x3235ec=_0xe669e0*_0x39699b*(0x1-_0x4714a6*_0x23370d*(0x1/0x6-(0x8-_0x23370d+0x8*_0x35563f)*_0x4714a6/0x78)),_0x37e86e=this['a']*_0x2e5840(this['e0'],this['e1'],this['e2'],this['e3'],_0x22c25d)-this[_0x1a4e('0x55f2')]+_0xe669e0*_0x510841/_0x154c50*_0x4714a6*(0.5+(0x5-_0x23370d+0x6*_0x35563f)*_0x4714a6/0x18);}return _0x2501ea['x']=_0x3235ec+this['x0'],_0x2501ea['y']=_0x37e86e+this['y0'],_0x2501ea;},'inverse':function(_0x2501ea){_0x2501ea['x']-=this['x0'],_0x2501ea['y']-=this['y0'];var _0x3235ec,_0x37e86e,_0x5b5613=_0x2501ea['x']/this['a'],_0x22c25d=_0x2501ea['y']/this['a'];if(this[_0x1a4e('0x7a1')]){var _0x510841=_0x22c25d+this[_0x1a4e('0x5566')];_0x3235ec=Math[_0x1a4e('0x139')](Math[_0x1a4e('0x8f')](_0x510841)*Math[_0x1a4e('0x90')](_0x5b5613)),_0x37e86e=Math[_0x1a4e('0xa6')](Math[_0x1a4e('0xbe')](_0x5b5613),Math[_0x1a4e('0x90')](_0x510841));}else{var _0x154c50=this[_0x1a4e('0x55f2')]/this['a']+_0x22c25d,_0xe669e0=_0x57db15(_0x154c50,this['e0'],this['e1'],this['e2'],this['e3']);if(Math['abs'](Math[_0x1a4e('0x65')](_0xe669e0)-_0x14fa9d)<=_0x2f45fd)return _0x2501ea['x']=this[_0x1a4e('0x556b')],_0x2501ea['y']=_0x14fa9d,_0x22c25d<0x0&&(_0x2501ea['y']*=-0x1),_0x2501ea;var _0x23370d=_0x614bc(this['a'],this['e'],Math['sin'](_0xe669e0)),_0x39699b=_0x23370d*_0x23370d*_0x23370d/this['a']/this['a']*(0x1-this['es']),_0x4714a6=Math[_0x1a4e('0x8e')](Math[_0x1a4e('0xbe')](_0xe669e0),0x2),_0x35563f=_0x5b5613*this['a']/_0x23370d,_0x533731=_0x35563f*_0x35563f;_0x3235ec=_0xe669e0-_0x23370d*Math[_0x1a4e('0xbe')](_0xe669e0)/_0x39699b*_0x35563f*_0x35563f*(0.5-(0x1+0x3*_0x4714a6)*_0x35563f*_0x35563f/0x18),_0x37e86e=_0x35563f*(0x1-_0x533731*(_0x4714a6/0x3+(0x1+0x3*_0x4714a6)*_0x4714a6*_0x533731/0xf))/Math[_0x1a4e('0x90')](_0xe669e0);}return _0x2501ea['x']=_0x3b9cee(_0x37e86e+this[_0x1a4e('0x556b')]),_0x2501ea['y']=_0x53f6cc(_0x3235ec),_0x2501ea;},'names':[_0x1a4e('0x5627'),_0x1a4e('0x5628'),_0x1a4e('0x5629')]},_0x2dc5ba=function(_0x2501ea,_0x3235ec){var _0x37e86e;return _0x2501ea>1e-7?(0x1-_0x2501ea*_0x2501ea)*(_0x3235ec/(0x1-(_0x37e86e=_0x2501ea*_0x3235ec)*_0x37e86e)-0.5/_0x2501ea*Math['log']((0x1-_0x37e86e)/(0x1+_0x37e86e))):0x2*_0x3235ec;},_0x2c0227=0.3333333333333333,_0x25ad0e=0.17222222222222222,_0x4fcdc1=0.10257936507936508,_0x2eef0c=0.06388888888888888,_0x33de14=0.0664021164021164,_0x561edf=0.016415012942191543,_0x2f470e={'init':function(){var _0x2501ea,_0x3235ec=Math['abs'](this[_0x1a4e('0x5566')]);if(Math['abs'](_0x3235ec-_0x14fa9d)<_0x2f45fd?this['mode']=this[_0x1a4e('0x5566')]<0x0?this[_0x1a4e('0x562a')]:this[_0x1a4e('0x562b')]:Math[_0x1a4e('0x65')](_0x3235ec)<_0x2f45fd?this[_0x1a4e('0xa69')]=this[_0x1a4e('0x562c')]:this['mode']=this[_0x1a4e('0x562d')],this['es']>0x0)switch(this['qp']=_0x2dc5ba(this['e'],0x1),this[_0x1a4e('0x562e')]=0.5/(0x1-this['es']),this[_0x1a4e('0x562f')]=function(_0x2501ea){var _0x3235ec,_0x37e86e=[];return _0x37e86e[0x0]=_0x2501ea*_0x2c0227,_0x3235ec=_0x2501ea*_0x2501ea,_0x37e86e[0x0]+=_0x3235ec*_0x25ad0e,_0x37e86e[0x1]=_0x3235ec*_0x2eef0c,_0x3235ec*=_0x2501ea,_0x37e86e[0x0]+=_0x3235ec*_0x4fcdc1,_0x37e86e[0x1]+=_0x3235ec*_0x33de14,_0x37e86e[0x2]=_0x3235ec*_0x561edf,_0x37e86e;}(this['es']),this[_0x1a4e('0xa69')]){case this[_0x1a4e('0x562b')]:case this[_0x1a4e('0x562a')]:this['dd']=0x1;break;case this[_0x1a4e('0x562c')]:this['rq']=Math['sqrt'](0.5*this['qp']),this['dd']=0x1/this['rq'],this[_0x1a4e('0x5630')]=0x1,this[_0x1a4e('0x5631')]=0.5*this['qp'];break;case this['OBLIQ']:this['rq']=Math[_0x1a4e('0x91')](0.5*this['qp']),_0x2501ea=Math['sin'](this[_0x1a4e('0x5566')]),this['sinb1']=_0x2dc5ba(this['e'],_0x2501ea)/this['qp'],this[_0x1a4e('0x5632')]=Math[_0x1a4e('0x91')](0x1-this['sinb1']*this[_0x1a4e('0x5633')]),this['dd']=Math['cos'](this[_0x1a4e('0x5566')])/(Math[_0x1a4e('0x91')](0x1-this['es']*_0x2501ea*_0x2501ea)*this['rq']*this[_0x1a4e('0x5632')]),this[_0x1a4e('0x5631')]=(this['xmf']=this['rq'])/this['dd'],this[_0x1a4e('0x5630')]*=this['dd'];}else this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562d')]&&(this['sinph0']=Math['sin'](this[_0x1a4e('0x5566')]),this[_0x1a4e('0x5634')]=Math['cos'](this[_0x1a4e('0x5566')]));},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d,_0x39699b,_0x4714a6,_0x35563f=_0x2501ea['x'],_0x533731=_0x2501ea['y'];if(_0x35563f=_0x3b9cee(_0x35563f-this[_0x1a4e('0x556b')]),this['sphere']){if(_0x510841=Math[_0x1a4e('0x8f')](_0x533731),_0x4714a6=Math['cos'](_0x533731),_0x5b5613=Math[_0x1a4e('0x90')](_0x35563f),this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562d')]||this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562c')]){if((_0x37e86e=this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562c')]?0x1+_0x4714a6*_0x5b5613:0x1+this['sinph0']*_0x510841+this['cosph0']*_0x4714a6*_0x5b5613)<=_0x2f45fd)return null;_0x3235ec=(_0x37e86e=Math['sqrt'](0x2/_0x37e86e))*_0x4714a6*Math[_0x1a4e('0x8f')](_0x35563f),_0x37e86e*=this['mode']===this[_0x1a4e('0x562c')]?_0x510841:this['cosph0']*_0x510841-this[_0x1a4e('0x5635')]*_0x4714a6*_0x5b5613;}else if(this['mode']===this[_0x1a4e('0x562b')]||this['mode']===this[_0x1a4e('0x562a')]){if(this[_0x1a4e('0xa69')]===this['N_POLE']&&(_0x5b5613=-_0x5b5613),Math['abs'](_0x533731+this[_0x1a4e('0x5636')])<_0x2f45fd)return null;_0x37e86e=_0x17a3df-0.5*_0x533731,_0x3235ec=(_0x37e86e=0x2*(this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562a')]?Math[_0x1a4e('0x90')](_0x37e86e):Math[_0x1a4e('0x8f')](_0x37e86e)))*Math[_0x1a4e('0x8f')](_0x35563f),_0x37e86e*=_0x5b5613;}}else{switch(_0xe669e0=0x0,_0x23370d=0x0,_0x39699b=0x0,_0x5b5613=Math[_0x1a4e('0x90')](_0x35563f),_0x22c25d=Math[_0x1a4e('0x8f')](_0x35563f),_0x510841=Math[_0x1a4e('0x8f')](_0x533731),_0x154c50=_0x2dc5ba(this['e'],_0x510841),this[_0x1a4e('0xa69')]!==this[_0x1a4e('0x562d')]&&this[_0x1a4e('0xa69')]!==this['EQUIT']||(_0xe669e0=_0x154c50/this['qp'],_0x23370d=Math[_0x1a4e('0x91')](0x1-_0xe669e0*_0xe669e0)),this[_0x1a4e('0xa69')]){case this[_0x1a4e('0x562d')]:_0x39699b=0x1+this[_0x1a4e('0x5633')]*_0xe669e0+this[_0x1a4e('0x5632')]*_0x23370d*_0x5b5613;break;case this['EQUIT']:_0x39699b=0x1+_0x23370d*_0x5b5613;break;case this[_0x1a4e('0x562b')]:_0x39699b=_0x14fa9d+_0x533731,_0x154c50=this['qp']-_0x154c50;break;case this[_0x1a4e('0x562a')]:_0x39699b=_0x533731-_0x14fa9d,_0x154c50=this['qp']+_0x154c50;}if(Math['abs'](_0x39699b)<_0x2f45fd)return null;switch(this[_0x1a4e('0xa69')]){case this[_0x1a4e('0x562d')]:case this[_0x1a4e('0x562c')]:_0x39699b=Math[_0x1a4e('0x91')](0x2/_0x39699b),_0x37e86e=this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562d')]?this['ymf']*_0x39699b*(this[_0x1a4e('0x5632')]*_0xe669e0-this[_0x1a4e('0x5633')]*_0x23370d*_0x5b5613):(_0x39699b=Math[_0x1a4e('0x91')](0x2/(0x1+_0x23370d*_0x5b5613)))*_0xe669e0*this[_0x1a4e('0x5631')],_0x3235ec=this[_0x1a4e('0x5630')]*_0x39699b*_0x23370d*_0x22c25d;break;case this[_0x1a4e('0x562b')]:case this['S_POLE']:_0x154c50>=0x0?(_0x3235ec=(_0x39699b=Math[_0x1a4e('0x91')](_0x154c50))*_0x22c25d,_0x37e86e=_0x5b5613*(this['mode']===this[_0x1a4e('0x562a')]?_0x39699b:-_0x39699b)):_0x3235ec=_0x37e86e=0x0;}}return _0x2501ea['x']=this['a']*_0x3235ec+this['x0'],_0x2501ea['y']=this['a']*_0x37e86e+this['y0'],_0x2501ea;},'inverse':function(_0x2501ea){_0x2501ea['x']-=this['x0'],_0x2501ea['y']-=this['y0'];var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d=_0x2501ea['x']/this['a'],_0x39699b=_0x2501ea['y']/this['a'];if(this[_0x1a4e('0x7a1')]){var _0x4714a6,_0x35563f=0x0,_0x533731=0x0;if((_0x37e86e=0.5*(_0x4714a6=Math['sqrt'](_0x23370d*_0x23370d+_0x39699b*_0x39699b)))>0x1)return null;switch(_0x37e86e=0x2*Math[_0x1a4e('0x139')](_0x37e86e),this[_0x1a4e('0xa69')]!==this[_0x1a4e('0x562d')]&&this[_0x1a4e('0xa69')]!==this[_0x1a4e('0x562c')]||(_0x533731=Math['sin'](_0x37e86e),_0x35563f=Math[_0x1a4e('0x90')](_0x37e86e)),this[_0x1a4e('0xa69')]){case this[_0x1a4e('0x562c')]:_0x37e86e=Math[_0x1a4e('0x65')](_0x4714a6)<=_0x2f45fd?0x0:Math[_0x1a4e('0x139')](_0x39699b*_0x533731/_0x4714a6),_0x23370d*=_0x533731,_0x39699b=_0x35563f*_0x4714a6;break;case this[_0x1a4e('0x562d')]:_0x37e86e=Math[_0x1a4e('0x65')](_0x4714a6)<=_0x2f45fd?this['phi0']:Math[_0x1a4e('0x139')](_0x35563f*this[_0x1a4e('0x5635')]+_0x39699b*_0x533731*this[_0x1a4e('0x5634')]/_0x4714a6),_0x23370d*=_0x533731*this[_0x1a4e('0x5634')],_0x39699b=(_0x35563f-Math[_0x1a4e('0x8f')](_0x37e86e)*this[_0x1a4e('0x5635')])*_0x4714a6;break;case this[_0x1a4e('0x562b')]:_0x39699b=-_0x39699b,_0x37e86e=_0x14fa9d-_0x37e86e;break;case this[_0x1a4e('0x562a')]:_0x37e86e-=_0x14fa9d;}_0x3235ec=0x0!==_0x39699b||this['mode']!==this[_0x1a4e('0x562c')]&&this['mode']!==this['OBLIQ']?Math['atan2'](_0x23370d,_0x39699b):0x0;}else{if(_0xe669e0=0x0,this[_0x1a4e('0xa69')]===this['OBLIQ']||this['mode']===this[_0x1a4e('0x562c')]){if(_0x23370d/=this['dd'],_0x39699b*=this['dd'],(_0x154c50=Math[_0x1a4e('0x91')](_0x23370d*_0x23370d+_0x39699b*_0x39699b))<_0x2f45fd)return _0x2501ea['x']=0x0,_0x2501ea['y']=this[_0x1a4e('0x5636')],_0x2501ea;_0x22c25d=0x2*Math[_0x1a4e('0x139')](0.5*_0x154c50/this['rq']),_0x5b5613=Math[_0x1a4e('0x90')](_0x22c25d),_0x23370d*=_0x22c25d=Math[_0x1a4e('0x8f')](_0x22c25d),this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562d')]?(_0xe669e0=_0x5b5613*this['sinb1']+_0x39699b*_0x22c25d*this[_0x1a4e('0x5632')]/_0x154c50,_0x510841=this['qp']*_0xe669e0,_0x39699b=_0x154c50*this['cosb1']*_0x5b5613-_0x39699b*this[_0x1a4e('0x5633')]*_0x22c25d):(_0xe669e0=_0x39699b*_0x22c25d/_0x154c50,_0x510841=this['qp']*_0xe669e0,_0x39699b=_0x154c50*_0x5b5613);}else if(this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562b')]||this[_0x1a4e('0xa69')]===this['S_POLE']){if(this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562b')]&&(_0x39699b=-_0x39699b),!(_0x510841=_0x23370d*_0x23370d+_0x39699b*_0x39699b))return _0x2501ea['x']=0x0,_0x2501ea['y']=this[_0x1a4e('0x5636')],_0x2501ea;_0xe669e0=0x1-_0x510841/this['qp'],this[_0x1a4e('0xa69')]===this[_0x1a4e('0x562a')]&&(_0xe669e0=-_0xe669e0);}_0x3235ec=Math['atan2'](_0x23370d,_0x39699b),_0x37e86e=function(_0x2501ea,_0x3235ec){var _0x37e86e=_0x2501ea+_0x2501ea;return _0x2501ea+_0x3235ec[0x0]*Math[_0x1a4e('0x8f')](_0x37e86e)+_0x3235ec[0x1]*Math[_0x1a4e('0x8f')](_0x37e86e+_0x37e86e)+_0x3235ec[0x2]*Math['sin'](_0x37e86e+_0x37e86e+_0x37e86e);}(Math['asin'](_0xe669e0),this[_0x1a4e('0x562f')]);}return _0x2501ea['x']=_0x3b9cee(this['long0']+_0x3235ec),_0x2501ea['y']=_0x37e86e,_0x2501ea;},'names':['Lambert\x20Azimuthal\x20Equal\x20Area',_0x1a4e('0x5637'),_0x1a4e('0x5638')],'S_POLE':0x1,'N_POLE':0x2,'EQUIT':0x3,'OBLIQ':0x4},_0x152dd1=function(_0x2501ea){return Math[_0x1a4e('0x65')](_0x2501ea)>0x1&&(_0x2501ea=_0x2501ea>0x1?0x1:-0x1),Math[_0x1a4e('0x139')](_0x2501ea);},_0x576261={'init':function(){Math[_0x1a4e('0x65')](this[_0x1a4e('0x556d')]+this['lat2'])<_0x2f45fd||(this[_0x1a4e('0x51af')]=this['b']/this['a'],this['es']=0x1-Math[_0x1a4e('0x8e')](this[_0x1a4e('0x51af')],0x2),this['e3']=Math[_0x1a4e('0x91')](this['es']),this[_0x1a4e('0x5639')]=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x556d')]),this[_0x1a4e('0x563a')]=Math['cos'](this[_0x1a4e('0x556d')]),this['t1']=this[_0x1a4e('0x5639')],this['con']=this[_0x1a4e('0x5639')],this[_0x1a4e('0x560e')]=_0xca91c1(this['e3'],this['sin_po'],this['cos_po']),this[_0x1a4e('0x563b')]=_0x2dc5ba(this['e3'],this['sin_po'],this[_0x1a4e('0x563a')]),this[_0x1a4e('0x5639')]=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x556e')]),this[_0x1a4e('0x563a')]=Math['cos'](this[_0x1a4e('0x556e')]),this['t2']=this[_0x1a4e('0x5639')],this[_0x1a4e('0x563c')]=_0xca91c1(this['e3'],this[_0x1a4e('0x5639')],this['cos_po']),this[_0x1a4e('0x563d')]=_0x2dc5ba(this['e3'],this[_0x1a4e('0x5639')],this['cos_po']),this[_0x1a4e('0x5639')]=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x5566')]),this[_0x1a4e('0x563a')]=Math['cos'](this['lat0']),this['t3']=this[_0x1a4e('0x5639')],this[_0x1a4e('0x563e')]=_0x2dc5ba(this['e3'],this[_0x1a4e('0x5639')],this['cos_po']),Math['abs'](this[_0x1a4e('0x556d')]-this[_0x1a4e('0x556e')])>_0x2f45fd?this[_0x1a4e('0x563f')]=(this['ms1']*this[_0x1a4e('0x560e')]-this[_0x1a4e('0x563c')]*this[_0x1a4e('0x563c')])/(this[_0x1a4e('0x563d')]-this[_0x1a4e('0x563b')]):this[_0x1a4e('0x563f')]=this[_0x1a4e('0x560c')],this['c']=this[_0x1a4e('0x560e')]*this[_0x1a4e('0x560e')]+this[_0x1a4e('0x563f')]*this[_0x1a4e('0x563b')],this['rh']=this['a']*Math[_0x1a4e('0x91')](this['c']-this[_0x1a4e('0x563f')]*this[_0x1a4e('0x563e')])/this['ns0']);},'forward':function(_0x2501ea){var _0x3235ec=_0x2501ea['x'],_0x37e86e=_0x2501ea['y'];this['sin_phi']=Math[_0x1a4e('0x8f')](_0x37e86e),this['cos_phi']=Math[_0x1a4e('0x90')](_0x37e86e);var _0x5b5613=_0x2dc5ba(this['e3'],this['sin_phi'],this['cos_phi']),_0x22c25d=this['a']*Math[_0x1a4e('0x91')](this['c']-this[_0x1a4e('0x563f')]*_0x5b5613)/this['ns0'],_0x510841=this[_0x1a4e('0x563f')]*_0x3b9cee(_0x3235ec-this[_0x1a4e('0x556b')]),_0x154c50=_0x22c25d*Math[_0x1a4e('0x8f')](_0x510841)+this['x0'],_0xe669e0=this['rh']-_0x22c25d*Math[_0x1a4e('0x90')](_0x510841)+this['y0'];return _0x2501ea['x']=_0x154c50,_0x2501ea['y']=_0xe669e0,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50;return _0x2501ea['x']-=this['x0'],_0x2501ea['y']=this['rh']-_0x2501ea['y']+this['y0'],this[_0x1a4e('0x563f')]>=0x0?(_0x3235ec=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']),_0x5b5613=0x1):(_0x3235ec=-Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']),_0x5b5613=-0x1),_0x22c25d=0x0,0x0!==_0x3235ec&&(_0x22c25d=Math[_0x1a4e('0xa6')](_0x5b5613*_0x2501ea['x'],_0x5b5613*_0x2501ea['y'])),_0x5b5613=_0x3235ec*this[_0x1a4e('0x563f')]/this['a'],this[_0x1a4e('0x7a1')]?_0x154c50=Math['asin']((this['c']-_0x5b5613*_0x5b5613)/(0x2*this[_0x1a4e('0x563f')])):(_0x37e86e=(this['c']-_0x5b5613*_0x5b5613)/this[_0x1a4e('0x563f')],_0x154c50=this[_0x1a4e('0x5640')](this['e3'],_0x37e86e)),_0x510841=_0x3b9cee(_0x22c25d/this[_0x1a4e('0x563f')]+this[_0x1a4e('0x556b')]),_0x2501ea['x']=_0x510841,_0x2501ea['y']=_0x154c50,_0x2501ea;},'names':['Albers_Conic_Equal_Area',_0x1a4e('0x5641'),_0x1a4e('0x5642')],'phi1z':function(_0x2501ea,_0x3235ec){var _0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50=_0x152dd1(0.5*_0x3235ec);if(_0x2501ea<_0x2f45fd)return _0x154c50;for(var _0xe669e0=_0x2501ea*_0x2501ea,_0x23370d=0x1;_0x23370d<=0x19;_0x23370d++)if(_0x154c50+=_0x510841=0.5*(_0x22c25d=0x1-(_0x5b5613=_0x2501ea*(_0x37e86e=Math[_0x1a4e('0x8f')](_0x154c50)))*_0x5b5613)*_0x22c25d/Math[_0x1a4e('0x90')](_0x154c50)*(_0x3235ec/(0x1-_0xe669e0)-_0x37e86e/_0x22c25d+0.5/_0x2501ea*Math[_0x1a4e('0x58')]((0x1-_0x5b5613)/(0x1+_0x5b5613))),Math['abs'](_0x510841)<=1e-7)return _0x154c50;return null;}},_0x2eec2e={'init':function(){this[_0x1a4e('0x5643')]=Math['sin'](this[_0x1a4e('0x5566')]),this[_0x1a4e('0x5644')]=Math['cos'](this['lat0']),this[_0x1a4e('0x5645')]=0x3e8*this['a'],this['rc']=0x1;},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d=_0x2501ea['x'],_0x39699b=_0x2501ea['y'];return _0x5b5613=_0x3b9cee(_0x23370d-this[_0x1a4e('0x556b')]),_0x3235ec=Math[_0x1a4e('0x8f')](_0x39699b),_0x37e86e=Math[_0x1a4e('0x90')](_0x39699b),_0x22c25d=Math[_0x1a4e('0x90')](_0x5b5613),(_0x510841=this[_0x1a4e('0x5643')]*_0x3235ec+this['cos_p14']*_0x37e86e*_0x22c25d)>0x0||Math[_0x1a4e('0x65')](_0x510841)<=_0x2f45fd?(_0x154c50=this['x0']+0x1*this['a']*_0x37e86e*Math[_0x1a4e('0x8f')](_0x5b5613)/_0x510841,_0xe669e0=this['y0']+0x1*this['a']*(this[_0x1a4e('0x5644')]*_0x3235ec-this[_0x1a4e('0x5643')]*_0x37e86e*_0x22c25d)/_0x510841):(_0x154c50=this['x0']+this['infinity_dist']*_0x37e86e*Math['sin'](_0x5b5613),_0xe669e0=this['y0']+this[_0x1a4e('0x5645')]*(this[_0x1a4e('0x5644')]*_0x3235ec-this[_0x1a4e('0x5643')]*_0x37e86e*_0x22c25d)),_0x2501ea['x']=_0x154c50,_0x2501ea['y']=_0xe669e0,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50;return _0x2501ea['x']=(_0x2501ea['x']-this['x0'])/this['a'],_0x2501ea['y']=(_0x2501ea['y']-this['y0'])/this['a'],_0x2501ea['x']/=this['k0'],_0x2501ea['y']/=this['k0'],(_0x3235ec=Math['sqrt'](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']))?(_0x22c25d=Math[_0x1a4e('0xa6')](_0x3235ec,this['rc']),_0x37e86e=Math[_0x1a4e('0x8f')](_0x22c25d),_0x5b5613=Math['cos'](_0x22c25d),_0x154c50=_0x152dd1(_0x5b5613*this[_0x1a4e('0x5643')]+_0x2501ea['y']*_0x37e86e*this[_0x1a4e('0x5644')]/_0x3235ec),_0x510841=Math['atan2'](_0x2501ea['x']*_0x37e86e,_0x3235ec*this['cos_p14']*_0x5b5613-_0x2501ea['y']*this[_0x1a4e('0x5643')]*_0x37e86e),_0x510841=_0x3b9cee(this['long0']+_0x510841)):(_0x154c50=this[_0x1a4e('0x55ff')],_0x510841=0x0),_0x2501ea['x']=_0x510841,_0x2501ea['y']=_0x154c50,_0x2501ea;},'names':['gnom']},_0x5896e6={'init':function(){this['sphere']||(this['k0']=_0xca91c1(this['e'],Math[_0x1a4e('0x8f')](this[_0x1a4e('0x556f')]),Math[_0x1a4e('0x90')](this[_0x1a4e('0x556f')])));},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613=_0x2501ea['x'],_0x22c25d=_0x2501ea['y'],_0x510841=_0x3b9cee(_0x5b5613-this['long0']);if(this[_0x1a4e('0x7a1')])_0x3235ec=this['x0']+this['a']*_0x510841*Math[_0x1a4e('0x90')](this[_0x1a4e('0x556f')]),_0x37e86e=this['y0']+this['a']*Math[_0x1a4e('0x8f')](_0x22c25d)/Math[_0x1a4e('0x90')](this['lat_ts']);else{var _0x154c50=_0x2dc5ba(this['e'],Math[_0x1a4e('0x8f')](_0x22c25d));_0x3235ec=this['x0']+this['a']*this['k0']*_0x510841,_0x37e86e=this['y0']+this['a']*_0x154c50*0.5/this['k0'];}return _0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e;return _0x2501ea['x']-=this['x0'],_0x2501ea['y']-=this['y0'],this[_0x1a4e('0x7a1')]?(_0x3235ec=_0x3b9cee(this['long0']+_0x2501ea['x']/this['a']/Math[_0x1a4e('0x90')](this[_0x1a4e('0x556f')])),_0x37e86e=Math[_0x1a4e('0x139')](_0x2501ea['y']/this['a']*Math[_0x1a4e('0x90')](this['lat_ts']))):(_0x37e86e=function(_0x2501ea,_0x3235ec){var _0x37e86e=0x1-(0x1-_0x2501ea*_0x2501ea)/(0x2*_0x2501ea)*Math[_0x1a4e('0x58')]((0x1-_0x2501ea)/(0x1+_0x2501ea));if(Math['abs'](Math[_0x1a4e('0x65')](_0x3235ec)-_0x37e86e)<0.000001)return _0x3235ec<0x0?-0x1*_0x14fa9d:_0x14fa9d;for(var _0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0=Math[_0x1a4e('0x139')](0.5*_0x3235ec),_0x23370d=0x0;_0x23370d<0x1e;_0x23370d++)if(_0x22c25d=Math['sin'](_0xe669e0),_0x510841=Math[_0x1a4e('0x90')](_0xe669e0),_0x154c50=_0x2501ea*_0x22c25d,_0xe669e0+=_0x5b5613=Math['pow'](0x1-_0x154c50*_0x154c50,0x2)/(0x2*_0x510841)*(_0x3235ec/(0x1-_0x2501ea*_0x2501ea)-_0x22c25d/(0x1-_0x154c50*_0x154c50)+0.5/_0x2501ea*Math[_0x1a4e('0x58')]((0x1-_0x154c50)/(0x1+_0x154c50))),Math[_0x1a4e('0x65')](_0x5b5613)<=1e-10)return _0xe669e0;return NaN;}(this['e'],0x2*_0x2501ea['y']*this['k0']/this['a']),_0x3235ec=_0x3b9cee(this[_0x1a4e('0x556b')]+_0x2501ea['x']/(this['a']*this['k0']))),_0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;},'names':[_0x1a4e('0x5646')]},_0x1ad218={'init':function(){this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0,this[_0x1a4e('0x5566')]=this[_0x1a4e('0x5566')]||0x0,this['long0']=this[_0x1a4e('0x556b')]||0x0,this['lat_ts']=this['lat_ts']||0x0,this[_0x1a4e('0x1268')]=this['title']||_0x1a4e('0x5647'),this['rc']=Math['cos'](this['lat_ts']);},'forward':function(_0x2501ea){var _0x3235ec=_0x2501ea['x'],_0x37e86e=_0x2501ea['y'],_0x5b5613=_0x3b9cee(_0x3235ec-this[_0x1a4e('0x556b')]),_0x22c25d=_0x53f6cc(_0x37e86e-this['lat0']);return _0x2501ea['x']=this['x0']+this['a']*_0x5b5613*this['rc'],_0x2501ea['y']=this['y0']+this['a']*_0x22c25d,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec=_0x2501ea['x'],_0x37e86e=_0x2501ea['y'];return _0x2501ea['x']=_0x3b9cee(this[_0x1a4e('0x556b')]+(_0x3235ec-this['x0'])/(this['a']*this['rc'])),_0x2501ea['y']=_0x53f6cc(this[_0x1a4e('0x5566')]+(_0x37e86e-this['y0'])/this['a']),_0x2501ea;},'names':[_0x1a4e('0x5648'),_0x1a4e('0x5649'),_0x1a4e('0x564a')]},_0xfcc90b={'init':function(){this['temp']=this['b']/this['a'],this['es']=0x1-Math['pow'](this[_0x1a4e('0x51af')],0x2),this['e']=Math['sqrt'](this['es']),this['e0']=_0x115637(this['es']),this['e1']=_0x417400(this['es']),this['e2']=_0x31f248(this['es']),this['e3']=_0x3adc41(this['es']),this['ml0']=this['a']*_0x2e5840(this['e0'],this['e1'],this['e2'],this['e3'],this[_0x1a4e('0x5566')]);},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d=_0x2501ea['x'],_0x510841=_0x2501ea['y'],_0x154c50=_0x3b9cee(_0x22c25d-this[_0x1a4e('0x556b')]);if(_0x5b5613=_0x154c50*Math[_0x1a4e('0x8f')](_0x510841),this[_0x1a4e('0x7a1')])Math[_0x1a4e('0x65')](_0x510841)<=_0x2f45fd?(_0x3235ec=this['a']*_0x154c50,_0x37e86e=-0x1*this['a']*this['lat0']):(_0x3235ec=this['a']*Math[_0x1a4e('0x8f')](_0x5b5613)/Math['tan'](_0x510841),_0x37e86e=this['a']*(_0x53f6cc(_0x510841-this[_0x1a4e('0x5566')])+(0x1-Math[_0x1a4e('0x90')](_0x5b5613))/Math[_0x1a4e('0xbe')](_0x510841)));else if(Math['abs'](_0x510841)<=_0x2f45fd)_0x3235ec=this['a']*_0x154c50,_0x37e86e=-0x1*this[_0x1a4e('0x55f2')];else{var _0xe669e0=_0x614bc(this['a'],this['e'],Math[_0x1a4e('0x8f')](_0x510841))/Math['tan'](_0x510841);_0x3235ec=_0xe669e0*Math[_0x1a4e('0x8f')](_0x5b5613),_0x37e86e=this['a']*_0x2e5840(this['e0'],this['e1'],this['e2'],this['e3'],_0x510841)-this[_0x1a4e('0x55f2')]+_0xe669e0*(0x1-Math[_0x1a4e('0x90')](_0x5b5613));}return _0x2501ea['x']=_0x3235ec+this['x0'],_0x2501ea['y']=_0x37e86e+this['y0'],_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d,_0x39699b;if(_0x5b5613=_0x2501ea['x']-this['x0'],_0x22c25d=_0x2501ea['y']-this['y0'],this[_0x1a4e('0x7a1')])if(Math[_0x1a4e('0x65')](_0x22c25d+this['a']*this['lat0'])<=_0x2f45fd)_0x3235ec=_0x3b9cee(_0x5b5613/this['a']+this[_0x1a4e('0x556b')]),_0x37e86e=0x0;else{var _0x4714a6;for(_0x154c50=this[_0x1a4e('0x5566')]+_0x22c25d/this['a'],_0xe669e0=_0x5b5613*_0x5b5613/this['a']/this['a']+_0x154c50*_0x154c50,_0x23370d=_0x154c50,_0x510841=0x14;_0x510841;--_0x510841)if(_0x23370d+=_0x39699b=-0x1*(_0x154c50*(_0x23370d*(_0x4714a6=Math['tan'](_0x23370d))+0x1)-_0x23370d-0.5*(_0x23370d*_0x23370d+_0xe669e0)*_0x4714a6)/((_0x23370d-_0x154c50)/_0x4714a6-0x1),Math['abs'](_0x39699b)<=_0x2f45fd){_0x37e86e=_0x23370d;break;}_0x3235ec=_0x3b9cee(this[_0x1a4e('0x556b')]+Math[_0x1a4e('0x139')](_0x5b5613*Math[_0x1a4e('0xbe')](_0x23370d)/this['a'])/Math['sin'](_0x37e86e));}else if(Math[_0x1a4e('0x65')](_0x22c25d+this[_0x1a4e('0x55f2')])<=_0x2f45fd)_0x37e86e=0x0,_0x3235ec=_0x3b9cee(this[_0x1a4e('0x556b')]+_0x5b5613/this['a']);else{var _0x35563f,_0x533731,_0x29bf60,_0x2be20f,_0x33c02a;for(_0x154c50=(this[_0x1a4e('0x55f2')]+_0x22c25d)/this['a'],_0xe669e0=_0x5b5613*_0x5b5613/this['a']/this['a']+_0x154c50*_0x154c50,_0x23370d=_0x154c50,_0x510841=0x14;_0x510841;--_0x510841)if(_0x33c02a=this['e']*Math['sin'](_0x23370d),_0x35563f=Math[_0x1a4e('0x91')](0x1-_0x33c02a*_0x33c02a)*Math[_0x1a4e('0xbe')](_0x23370d),_0x533731=this['a']*_0x2e5840(this['e0'],this['e1'],this['e2'],this['e3'],_0x23370d),_0x29bf60=this['e0']-0x2*this['e1']*Math[_0x1a4e('0x90')](0x2*_0x23370d)+0x4*this['e2']*Math[_0x1a4e('0x90')](0x4*_0x23370d)-0x6*this['e3']*Math[_0x1a4e('0x90')](0x6*_0x23370d),_0x23370d-=_0x39699b=(_0x154c50*(_0x35563f*(_0x2be20f=_0x533731/this['a'])+0x1)-_0x2be20f-0.5*_0x35563f*(_0x2be20f*_0x2be20f+_0xe669e0))/(this['es']*Math[_0x1a4e('0x8f')](0x2*_0x23370d)*(_0x2be20f*_0x2be20f+_0xe669e0-0x2*_0x154c50*_0x2be20f)/(0x4*_0x35563f)+(_0x154c50-_0x2be20f)*(_0x35563f*_0x29bf60-0x2/Math['sin'](0x2*_0x23370d))-_0x29bf60),Math['abs'](_0x39699b)<=_0x2f45fd){_0x37e86e=_0x23370d;break;}_0x35563f=Math['sqrt'](0x1-this['es']*Math[_0x1a4e('0x8e')](Math[_0x1a4e('0x8f')](_0x37e86e),0x2))*Math[_0x1a4e('0xbe')](_0x37e86e),_0x3235ec=_0x3b9cee(this['long0']+Math[_0x1a4e('0x139')](_0x5b5613*_0x35563f/this['a'])/Math[_0x1a4e('0x8f')](_0x37e86e));}return _0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;},'names':[_0x1a4e('0x564b'),_0x1a4e('0x564c')]},_0x56053a={'init':function(){this['A']=[],this['A'][0x1]=0.6399175073,this['A'][0x2]=-0.1358797613,this['A'][0x3]=0.063294409,this['A'][0x4]=-0.02526853,this['A'][0x5]=0.0117879,this['A'][0x6]=-0.0055161,this['A'][0x7]=0.0026906,this['A'][0x8]=-0.001333,this['A'][0x9]=0.00067,this['A'][0xa]=-0.00034,this[_0x1a4e('0x564d')]=[],this['B_im']=[],this[_0x1a4e('0x564d')][0x1]=0.7557853228,this[_0x1a4e('0x564e')][0x1]=0x0,this[_0x1a4e('0x564d')][0x2]=0.249204646,this[_0x1a4e('0x564e')][0x2]=0.003371507,this[_0x1a4e('0x564d')][0x3]=-0.001541739,this['B_im'][0x3]=0.04105856,this['B_re'][0x4]=-0.10162907,this[_0x1a4e('0x564e')][0x4]=0.01727609,this[_0x1a4e('0x564d')][0x5]=-0.26623489,this[_0x1a4e('0x564e')][0x5]=-0.36249218,this[_0x1a4e('0x564d')][0x6]=-0.6870983,this[_0x1a4e('0x564e')][0x6]=-1.1651967,this[_0x1a4e('0x564f')]=[],this['C_im']=[],this[_0x1a4e('0x564f')][0x1]=1.3231270439,this['C_im'][0x1]=0x0,this[_0x1a4e('0x564f')][0x2]=-0.577245789,this[_0x1a4e('0x5650')][0x2]=-0.007809598,this[_0x1a4e('0x564f')][0x3]=0.508307513,this[_0x1a4e('0x5650')][0x3]=-0.112208952,this[_0x1a4e('0x564f')][0x4]=-0.15094762,this[_0x1a4e('0x5650')][0x4]=0.18200602,this[_0x1a4e('0x564f')][0x5]=1.01418179,this[_0x1a4e('0x5650')][0x5]=1.64497696,this[_0x1a4e('0x564f')][0x6]=1.9660549,this[_0x1a4e('0x5650')][0x6]=2.5127645,this['D']=[],this['D'][0x1]=1.5627014243,this['D'][0x2]=0.5185406398,this['D'][0x3]=-0.03333098,this['D'][0x4]=-0.1052906,this['D'][0x5]=-0.0368594,this['D'][0x6]=0.007317,this['D'][0x7]=0.0122,this['D'][0x8]=0.00394,this['D'][0x9]=-0.0013;},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e=_0x2501ea['x'],_0x5b5613=_0x2501ea['y']-this['lat0'],_0x22c25d=_0x37e86e-this[_0x1a4e('0x556b')],_0x510841=_0x5b5613/_0x5b0b86*0.00001,_0x154c50=_0x22c25d,_0xe669e0=0x1,_0x23370d=0x0;for(_0x3235ec=0x1;_0x3235ec<=0xa;_0x3235ec++)_0xe669e0*=_0x510841,_0x23370d+=this['A'][_0x3235ec]*_0xe669e0;var _0x39699b,_0x4714a6=_0x23370d,_0x35563f=_0x154c50,_0x533731=0x1,_0x29bf60=0x0,_0x2be20f=0x0,_0x33c02a=0x0;for(_0x3235ec=0x1;_0x3235ec<=0x6;_0x3235ec++)_0x39699b=_0x29bf60*_0x4714a6+_0x533731*_0x35563f,_0x533731=_0x533731*_0x4714a6-_0x29bf60*_0x35563f,_0x29bf60=_0x39699b,_0x2be20f=_0x2be20f+this[_0x1a4e('0x564d')][_0x3235ec]*_0x533731-this[_0x1a4e('0x564e')][_0x3235ec]*_0x29bf60,_0x33c02a=_0x33c02a+this[_0x1a4e('0x564e')][_0x3235ec]*_0x533731+this[_0x1a4e('0x564d')][_0x3235ec]*_0x29bf60;return _0x2501ea['x']=_0x33c02a*this['a']+this['x0'],_0x2501ea['y']=_0x2be20f*this['a']+this['y0'],_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613=_0x2501ea['x'],_0x22c25d=_0x2501ea['y'],_0x510841=_0x5b5613-this['x0'],_0x154c50=(_0x22c25d-this['y0'])/this['a'],_0xe669e0=_0x510841/this['a'],_0x23370d=0x1,_0x39699b=0x0,_0x4714a6=0x0,_0x35563f=0x0;for(_0x3235ec=0x1;_0x3235ec<=0x6;_0x3235ec++)_0x37e86e=_0x39699b*_0x154c50+_0x23370d*_0xe669e0,_0x23370d=_0x23370d*_0x154c50-_0x39699b*_0xe669e0,_0x39699b=_0x37e86e,_0x4714a6=_0x4714a6+this[_0x1a4e('0x564f')][_0x3235ec]*_0x23370d-this[_0x1a4e('0x5650')][_0x3235ec]*_0x39699b,_0x35563f=_0x35563f+this['C_im'][_0x3235ec]*_0x23370d+this['C_re'][_0x3235ec]*_0x39699b;for(var _0x533731=0x0;_0x5337310.999999999999&&(_0x37e86e=0.999999999999),_0x3235ec=Math[_0x1a4e('0x139')](_0x37e86e);var _0x5b5613=_0x3b9cee(this[_0x1a4e('0x556b')]+_0x2501ea['x']/(0.900316316158*this['a']*Math[_0x1a4e('0x90')](_0x3235ec)));_0x5b5613<-Math['PI']&&(_0x5b5613=-Math['PI']),_0x5b5613>Math['PI']&&(_0x5b5613=Math['PI']),_0x37e86e=(0x2*_0x3235ec+Math[_0x1a4e('0x8f')](0x2*_0x3235ec))/Math['PI'],Math[_0x1a4e('0x65')](_0x37e86e)>0x1&&(_0x37e86e=0x1);var _0x22c25d=Math[_0x1a4e('0x139')](_0x37e86e);return _0x2501ea['x']=_0x5b5613,_0x2501ea['y']=_0x22c25d,_0x2501ea;},'names':[_0x1a4e('0x5658'),'moll']},_0x212aed={'init':function(){Math[_0x1a4e('0x65')](this[_0x1a4e('0x556d')]+this['lat2'])<_0x2f45fd||(this[_0x1a4e('0x556e')]=this[_0x1a4e('0x556e')]||this[_0x1a4e('0x556d')],this[_0x1a4e('0x51af')]=this['b']/this['a'],this['es']=0x1-Math[_0x1a4e('0x8e')](this['temp'],0x2),this['e']=Math[_0x1a4e('0x91')](this['es']),this['e0']=_0x115637(this['es']),this['e1']=_0x417400(this['es']),this['e2']=_0x31f248(this['es']),this['e3']=_0x3adc41(this['es']),this[_0x1a4e('0x5659')]=Math['sin'](this[_0x1a4e('0x556d')]),this['cosphi']=Math[_0x1a4e('0x90')](this[_0x1a4e('0x556d')]),this[_0x1a4e('0x560e')]=_0xca91c1(this['e'],this['sinphi'],this[_0x1a4e('0x565a')]),this[_0x1a4e('0x565b')]=_0x2e5840(this['e0'],this['e1'],this['e2'],this['e3'],this[_0x1a4e('0x556d')]),Math[_0x1a4e('0x65')](this[_0x1a4e('0x556d')]-this['lat2'])<_0x2f45fd?this['ns']=this[_0x1a4e('0x5659')]:(this[_0x1a4e('0x5659')]=Math['sin'](this[_0x1a4e('0x556e')]),this[_0x1a4e('0x565a')]=Math[_0x1a4e('0x90')](this[_0x1a4e('0x556e')]),this['ms2']=_0xca91c1(this['e'],this['sinphi'],this[_0x1a4e('0x565a')]),this['ml2']=_0x2e5840(this['e0'],this['e1'],this['e2'],this['e3'],this[_0x1a4e('0x556e')]),this['ns']=(this['ms1']-this[_0x1a4e('0x563c')])/(this[_0x1a4e('0x565c')]-this[_0x1a4e('0x565b')])),this['g']=this[_0x1a4e('0x565b')]+this[_0x1a4e('0x560e')]/this['ns'],this[_0x1a4e('0x55f2')]=_0x2e5840(this['e0'],this['e1'],this['e2'],this['e3'],this[_0x1a4e('0x5566')]),this['rh']=this['a']*(this['g']-this[_0x1a4e('0x55f2')]));},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e=_0x2501ea['x'],_0x5b5613=_0x2501ea['y'];if(this[_0x1a4e('0x7a1')])_0x3235ec=this['a']*(this['g']-_0x5b5613);else{var _0x22c25d=_0x2e5840(this['e0'],this['e1'],this['e2'],this['e3'],_0x5b5613);_0x3235ec=this['a']*(this['g']-_0x22c25d);}var _0x510841=this['ns']*_0x3b9cee(_0x37e86e-this[_0x1a4e('0x556b')]),_0x154c50=this['x0']+_0x3235ec*Math[_0x1a4e('0x8f')](_0x510841),_0xe669e0=this['y0']+this['rh']-_0x3235ec*Math[_0x1a4e('0x90')](_0x510841);return _0x2501ea['x']=_0x154c50,_0x2501ea['y']=_0xe669e0,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d;_0x2501ea['x']-=this['x0'],_0x2501ea['y']=this['rh']-_0x2501ea['y']+this['y0'],this['ns']>=0x0?(_0x37e86e=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']),_0x3235ec=0x1):(_0x37e86e=-Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']),_0x3235ec=-0x1);var _0x510841=0x0;if(0x0!==_0x37e86e&&(_0x510841=Math[_0x1a4e('0xa6')](_0x3235ec*_0x2501ea['x'],_0x3235ec*_0x2501ea['y'])),this[_0x1a4e('0x7a1')])return _0x22c25d=_0x3b9cee(this[_0x1a4e('0x556b')]+_0x510841/this['ns']),_0x5b5613=_0x53f6cc(this['g']-_0x37e86e/this['a']),_0x2501ea['x']=_0x22c25d,_0x2501ea['y']=_0x5b5613,_0x2501ea;var _0x154c50=this['g']-_0x37e86e/this['a'];return _0x5b5613=_0x57db15(_0x154c50,this['e0'],this['e1'],this['e2'],this['e3']),_0x22c25d=_0x3b9cee(this[_0x1a4e('0x556b')]+_0x510841/this['ns']),_0x2501ea['x']=_0x22c25d,_0x2501ea['y']=_0x5b5613,_0x2501ea;},'names':[_0x1a4e('0x565d'),'eqdc']},_0x5ac9ab={'init':function(){this['R']=this['a'];},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613=_0x2501ea['x'],_0x22c25d=_0x2501ea['y'],_0x510841=_0x3b9cee(_0x5b5613-this['long0']);Math[_0x1a4e('0x65')](_0x22c25d)<=_0x2f45fd&&(_0x3235ec=this['x0']+this['R']*_0x510841,_0x37e86e=this['y0']);var _0x154c50=_0x152dd1(0x2*Math[_0x1a4e('0x65')](_0x22c25d/Math['PI']));(Math['abs'](_0x510841)<=_0x2f45fd||Math['abs'](Math[_0x1a4e('0x65')](_0x22c25d)-_0x14fa9d)<=_0x2f45fd)&&(_0x3235ec=this['x0'],_0x37e86e=_0x22c25d>=0x0?this['y0']+Math['PI']*this['R']*Math['tan'](0.5*_0x154c50):this['y0']+Math['PI']*this['R']*-Math[_0x1a4e('0xbe')](0.5*_0x154c50));var _0xe669e0=0.5*Math[_0x1a4e('0x65')](Math['PI']/_0x510841-_0x510841/Math['PI']),_0x23370d=_0xe669e0*_0xe669e0,_0x39699b=Math[_0x1a4e('0x8f')](_0x154c50),_0x4714a6=Math[_0x1a4e('0x90')](_0x154c50),_0x35563f=_0x4714a6/(_0x39699b+_0x4714a6-0x1),_0x533731=_0x35563f*_0x35563f,_0x29bf60=_0x35563f*(0x2/_0x39699b-0x1),_0x2be20f=_0x29bf60*_0x29bf60,_0x33c02a=Math['PI']*this['R']*(_0xe669e0*(_0x35563f-_0x2be20f)+Math[_0x1a4e('0x91')](_0x23370d*(_0x35563f-_0x2be20f)*(_0x35563f-_0x2be20f)-(_0x2be20f+_0x23370d)*(_0x533731-_0x2be20f)))/(_0x2be20f+_0x23370d);_0x510841<0x0&&(_0x33c02a=-_0x33c02a),_0x3235ec=this['x0']+_0x33c02a;var _0x59195b=_0x23370d+_0x35563f;return _0x33c02a=Math['PI']*this['R']*(_0x29bf60*_0x59195b-_0xe669e0*Math[_0x1a4e('0x91')]((_0x2be20f+_0x23370d)*(_0x23370d+0x1)-_0x59195b*_0x59195b))/(_0x2be20f+_0x23370d),_0x37e86e=_0x22c25d>=0x0?this['y0']+_0x33c02a:this['y0']-_0x33c02a,_0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d,_0x39699b,_0x4714a6,_0x35563f,_0x533731;return _0x2501ea['x']-=this['x0'],_0x2501ea['y']-=this['y0'],_0x35563f=Math['PI']*this['R'],_0x510841=(_0x5b5613=_0x2501ea['x']/_0x35563f)*_0x5b5613+(_0x22c25d=_0x2501ea['y']/_0x35563f)*_0x22c25d,_0x35563f=0x3*(_0x22c25d*_0x22c25d/(_0x23370d=-0x2*(_0x154c50=-Math[_0x1a4e('0x65')](_0x22c25d)*(0x1+_0x510841))+0x1+0x2*_0x22c25d*_0x22c25d+_0x510841*_0x510841)+(0x2*(_0xe669e0=_0x154c50-0x2*_0x22c25d*_0x22c25d+_0x5b5613*_0x5b5613)*_0xe669e0*_0xe669e0/_0x23370d/_0x23370d/_0x23370d-0x9*_0x154c50*_0xe669e0/_0x23370d/_0x23370d)/0x1b)/(_0x39699b=(_0x154c50-_0xe669e0*_0xe669e0/0x3/_0x23370d)/_0x23370d)/(_0x4714a6=0x2*Math[_0x1a4e('0x91')](-_0x39699b/0x3)),Math[_0x1a4e('0x65')](_0x35563f)>0x1&&(_0x35563f=_0x35563f>=0x0?0x1:-0x1),_0x533731=Math[_0x1a4e('0x92c')](_0x35563f)/0x3,_0x37e86e=_0x2501ea['y']>=0x0?(-_0x4714a6*Math['cos'](_0x533731+Math['PI']/0x3)-_0xe669e0/0x3/_0x23370d)*Math['PI']:-(-_0x4714a6*Math[_0x1a4e('0x90')](_0x533731+Math['PI']/0x3)-_0xe669e0/0x3/_0x23370d)*Math['PI'],_0x3235ec=Math['abs'](_0x5b5613)<_0x2f45fd?this[_0x1a4e('0x556b')]:_0x3b9cee(this[_0x1a4e('0x556b')]+Math['PI']*(_0x510841-0x1+Math['sqrt'](0x1+0x2*(_0x5b5613*_0x5b5613-_0x22c25d*_0x22c25d)+_0x510841*_0x510841))/0x2/_0x5b5613),_0x2501ea['x']=_0x3235ec,_0x2501ea['y']=_0x37e86e,_0x2501ea;},'names':['Van_der_Grinten_I',_0x1a4e('0x565e'),_0x1a4e('0x565f')]},_0x36a7af={'init':function(){this[_0x1a4e('0x5660')]=Math[_0x1a4e('0x8f')](this[_0x1a4e('0x5566')]),this[_0x1a4e('0x5661')]=Math[_0x1a4e('0x90')](this[_0x1a4e('0x5566')]);},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d,_0x39699b,_0x4714a6,_0x35563f,_0x533731,_0x29bf60,_0x2be20f,_0x33c02a,_0x59195b,_0x550dd0,_0x434e9f,_0x47ea40,_0x299b3a,_0x467ec3,_0x5bc365,_0x2351f0=_0x2501ea['x'],_0x1da981=_0x2501ea['y'],_0x21af52=Math[_0x1a4e('0x8f')](_0x2501ea['y']),_0x14c345=Math['cos'](_0x2501ea['y']),_0x4d1abb=_0x3b9cee(_0x2351f0-this[_0x1a4e('0x556b')]);return this['sphere']?Math[_0x1a4e('0x65')](this[_0x1a4e('0x5660')]-0x1)<=_0x2f45fd?(_0x2501ea['x']=this['x0']+this['a']*(_0x14fa9d-_0x1da981)*Math['sin'](_0x4d1abb),_0x2501ea['y']=this['y0']-this['a']*(_0x14fa9d-_0x1da981)*Math[_0x1a4e('0x90')](_0x4d1abb),_0x2501ea):Math['abs'](this[_0x1a4e('0x5660')]+0x1)<=_0x2f45fd?(_0x2501ea['x']=this['x0']+this['a']*(_0x14fa9d+_0x1da981)*Math[_0x1a4e('0x8f')](_0x4d1abb),_0x2501ea['y']=this['y0']+this['a']*(_0x14fa9d+_0x1da981)*Math[_0x1a4e('0x90')](_0x4d1abb),_0x2501ea):(_0x434e9f=this['sin_p12']*_0x21af52+this[_0x1a4e('0x5661')]*_0x14c345*Math[_0x1a4e('0x90')](_0x4d1abb),_0x550dd0=(_0x59195b=Math['acos'](_0x434e9f))/Math[_0x1a4e('0x8f')](_0x59195b),_0x2501ea['x']=this['x0']+this['a']*_0x550dd0*_0x14c345*Math[_0x1a4e('0x8f')](_0x4d1abb),_0x2501ea['y']=this['y0']+this['a']*_0x550dd0*(this[_0x1a4e('0x5661')]*_0x21af52-this[_0x1a4e('0x5660')]*_0x14c345*Math[_0x1a4e('0x90')](_0x4d1abb)),_0x2501ea):(_0x3235ec=_0x115637(this['es']),_0x37e86e=_0x417400(this['es']),_0x5b5613=_0x31f248(this['es']),_0x22c25d=_0x3adc41(this['es']),Math[_0x1a4e('0x65')](this[_0x1a4e('0x5660')]-0x1)<=_0x2f45fd?(_0x510841=this['a']*_0x2e5840(_0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x14fa9d),_0x154c50=this['a']*_0x2e5840(_0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x1da981),_0x2501ea['x']=this['x0']+(_0x510841-_0x154c50)*Math[_0x1a4e('0x8f')](_0x4d1abb),_0x2501ea['y']=this['y0']-(_0x510841-_0x154c50)*Math['cos'](_0x4d1abb),_0x2501ea):Math[_0x1a4e('0x65')](this[_0x1a4e('0x5660')]+0x1)<=_0x2f45fd?(_0x510841=this['a']*_0x2e5840(_0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x14fa9d),_0x154c50=this['a']*_0x2e5840(_0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x1da981),_0x2501ea['x']=this['x0']+(_0x510841+_0x154c50)*Math[_0x1a4e('0x8f')](_0x4d1abb),_0x2501ea['y']=this['y0']+(_0x510841+_0x154c50)*Math[_0x1a4e('0x90')](_0x4d1abb),_0x2501ea):(_0xe669e0=_0x21af52/_0x14c345,_0x23370d=_0x614bc(this['a'],this['e'],this['sin_p12']),_0x39699b=_0x614bc(this['a'],this['e'],_0x21af52),_0x4714a6=Math[_0x1a4e('0xc2')]((0x1-this['es'])*_0xe669e0+this['es']*_0x23370d*this[_0x1a4e('0x5660')]/(_0x39699b*_0x14c345)),_0x47ea40=0x0===(_0x35563f=Math[_0x1a4e('0xa6')](Math[_0x1a4e('0x8f')](_0x4d1abb),this[_0x1a4e('0x5661')]*Math[_0x1a4e('0xbe')](_0x4714a6)-this[_0x1a4e('0x5660')]*Math[_0x1a4e('0x90')](_0x4d1abb)))?Math[_0x1a4e('0x139')](this['cos_p12']*Math[_0x1a4e('0x8f')](_0x4714a6)-this[_0x1a4e('0x5660')]*Math['cos'](_0x4714a6)):Math[_0x1a4e('0x65')](Math[_0x1a4e('0x65')](_0x35563f)-Math['PI'])<=_0x2f45fd?-Math[_0x1a4e('0x139')](this[_0x1a4e('0x5661')]*Math['sin'](_0x4714a6)-this['sin_p12']*Math[_0x1a4e('0x90')](_0x4714a6)):Math[_0x1a4e('0x139')](Math['sin'](_0x4d1abb)*Math[_0x1a4e('0x90')](_0x4714a6)/Math[_0x1a4e('0x8f')](_0x35563f)),_0x533731=this['e']*this[_0x1a4e('0x5660')]/Math[_0x1a4e('0x91')](0x1-this['es']),_0x59195b=_0x23370d*_0x47ea40*(0x1-(_0x299b3a=_0x47ea40*_0x47ea40)*(_0x33c02a=(_0x29bf60=this['e']*this[_0x1a4e('0x5661')]*Math['cos'](_0x35563f)/Math[_0x1a4e('0x91')](0x1-this['es']))*_0x29bf60)*(0x1-_0x33c02a)/0x6+(_0x467ec3=_0x299b3a*_0x47ea40)/0x8*(_0x2be20f=_0x533731*_0x29bf60)*(0x1-0x2*_0x33c02a)+(_0x5bc365=_0x467ec3*_0x47ea40)/0x78*(_0x33c02a*(0x4-0x7*_0x33c02a)-0x3*_0x533731*_0x533731*(0x1-0x7*_0x33c02a))-_0x5bc365*_0x47ea40/0x30*_0x2be20f),_0x2501ea['x']=this['x0']+_0x59195b*Math['sin'](_0x35563f),_0x2501ea['y']=this['y0']+_0x59195b*Math[_0x1a4e('0x90')](_0x35563f),_0x2501ea));},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d,_0x39699b,_0x4714a6,_0x35563f,_0x533731,_0x29bf60,_0x2be20f,_0x33c02a,_0x59195b,_0x550dd0,_0x434e9f,_0x47ea40,_0x299b3a,_0x467ec3,_0x5bc365;if(_0x2501ea['x']-=this['x0'],_0x2501ea['y']-=this['y0'],this[_0x1a4e('0x7a1')]){if((_0x3235ec=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']))>0x2*_0x14fa9d*this['a'])return;return _0x37e86e=_0x3235ec/this['a'],_0x5b5613=Math[_0x1a4e('0x8f')](_0x37e86e),_0x22c25d=Math[_0x1a4e('0x90')](_0x37e86e),_0x510841=this['long0'],Math[_0x1a4e('0x65')](_0x3235ec)<=_0x2f45fd?_0x154c50=this['lat0']:(_0x154c50=_0x152dd1(_0x22c25d*this[_0x1a4e('0x5660')]+_0x2501ea['y']*_0x5b5613*this[_0x1a4e('0x5661')]/_0x3235ec),_0xe669e0=Math[_0x1a4e('0x65')](this['lat0'])-_0x14fa9d,_0x510841=_0x3b9cee(Math[_0x1a4e('0x65')](_0xe669e0)<=_0x2f45fd?this[_0x1a4e('0x5566')]>=0x0?this[_0x1a4e('0x556b')]+Math[_0x1a4e('0xa6')](_0x2501ea['x'],-_0x2501ea['y']):this['long0']-Math[_0x1a4e('0xa6')](-_0x2501ea['x'],_0x2501ea['y']):this[_0x1a4e('0x556b')]+Math['atan2'](_0x2501ea['x']*_0x5b5613,_0x3235ec*this[_0x1a4e('0x5661')]*_0x22c25d-_0x2501ea['y']*this[_0x1a4e('0x5660')]*_0x5b5613))),_0x2501ea['x']=_0x510841,_0x2501ea['y']=_0x154c50,_0x2501ea;}return _0x23370d=_0x115637(this['es']),_0x39699b=_0x417400(this['es']),_0x4714a6=_0x31f248(this['es']),_0x35563f=_0x3adc41(this['es']),Math['abs'](this[_0x1a4e('0x5660')]-0x1)<=_0x2f45fd?(_0x533731=this['a']*_0x2e5840(_0x23370d,_0x39699b,_0x4714a6,_0x35563f,_0x14fa9d),_0x3235ec=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']),_0x154c50=_0x57db15((_0x533731-_0x3235ec)/this['a'],_0x23370d,_0x39699b,_0x4714a6,_0x35563f),_0x510841=_0x3b9cee(this[_0x1a4e('0x556b')]+Math[_0x1a4e('0xa6')](_0x2501ea['x'],-0x1*_0x2501ea['y'])),_0x2501ea['x']=_0x510841,_0x2501ea['y']=_0x154c50,_0x2501ea):Math['abs'](this[_0x1a4e('0x5660')]+0x1)<=_0x2f45fd?(_0x533731=this['a']*_0x2e5840(_0x23370d,_0x39699b,_0x4714a6,_0x35563f,_0x14fa9d),_0x3235ec=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']),_0x154c50=_0x57db15((_0x3235ec-_0x533731)/this['a'],_0x23370d,_0x39699b,_0x4714a6,_0x35563f),_0x510841=_0x3b9cee(this[_0x1a4e('0x556b')]+Math[_0x1a4e('0xa6')](_0x2501ea['x'],_0x2501ea['y'])),_0x2501ea['x']=_0x510841,_0x2501ea['y']=_0x154c50,_0x2501ea):(_0x3235ec=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']),_0x33c02a=Math['atan2'](_0x2501ea['x'],_0x2501ea['y']),_0x29bf60=_0x614bc(this['a'],this['e'],this[_0x1a4e('0x5660')]),_0x59195b=Math[_0x1a4e('0x90')](_0x33c02a),_0x434e9f=-(_0x550dd0=this['e']*this[_0x1a4e('0x5661')]*_0x59195b)*_0x550dd0/(0x1-this['es']),_0x47ea40=0x3*this['es']*(0x1-_0x434e9f)*this['sin_p12']*this['cos_p12']*_0x59195b/(0x1-this['es']),_0x5bc365=0x1-_0x434e9f*(_0x467ec3=(_0x299b3a=_0x3235ec/_0x29bf60)-_0x434e9f*(0x1+_0x434e9f)*Math[_0x1a4e('0x8e')](_0x299b3a,0x3)/0x6-_0x47ea40*(0x1+0x3*_0x434e9f)*Math[_0x1a4e('0x8e')](_0x299b3a,0x4)/0x18)*_0x467ec3/0x2-_0x299b3a*_0x467ec3*_0x467ec3*_0x467ec3/0x6,_0x2be20f=Math['asin'](this[_0x1a4e('0x5660')]*Math[_0x1a4e('0x90')](_0x467ec3)+this[_0x1a4e('0x5661')]*Math[_0x1a4e('0x8f')](_0x467ec3)*_0x59195b),_0x510841=_0x3b9cee(this['long0']+Math[_0x1a4e('0x139')](Math[_0x1a4e('0x8f')](_0x33c02a)*Math[_0x1a4e('0x8f')](_0x467ec3)/Math[_0x1a4e('0x90')](_0x2be20f))),_0x154c50=Math[_0x1a4e('0xc2')]((0x1-this['es']*_0x5bc365*this[_0x1a4e('0x5660')]/Math[_0x1a4e('0x8f')](_0x2be20f))*Math[_0x1a4e('0xbe')](_0x2be20f)/(0x1-this['es'])),_0x2501ea['x']=_0x510841,_0x2501ea['y']=_0x154c50,_0x2501ea);},'names':[_0x1a4e('0x5662'),_0x1a4e('0x5663')]},_0x1ccf9c={'init':function(){this[_0x1a4e('0x5643')]=Math['sin'](this['lat0']),this[_0x1a4e('0x5644')]=Math['cos'](this['lat0']);},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d=_0x2501ea['x'],_0x39699b=_0x2501ea['y'];return _0x5b5613=_0x3b9cee(_0x23370d-this['long0']),_0x3235ec=Math['sin'](_0x39699b),_0x37e86e=Math[_0x1a4e('0x90')](_0x39699b),_0x22c25d=Math['cos'](_0x5b5613),((_0x510841=this['sin_p14']*_0x3235ec+this[_0x1a4e('0x5644')]*_0x37e86e*_0x22c25d)>0x0||Math[_0x1a4e('0x65')](_0x510841)<=_0x2f45fd)&&(_0x154c50=0x1*this['a']*_0x37e86e*Math[_0x1a4e('0x8f')](_0x5b5613),_0xe669e0=this['y0']+0x1*this['a']*(this[_0x1a4e('0x5644')]*_0x3235ec-this[_0x1a4e('0x5643')]*_0x37e86e*_0x22c25d)),_0x2501ea['x']=_0x154c50,_0x2501ea['y']=_0xe669e0,_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0;return _0x2501ea['x']-=this['x0'],_0x2501ea['y']-=this['y0'],_0x3235ec=Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y']),_0x37e86e=_0x152dd1(_0x3235ec/this['a']),_0x5b5613=Math[_0x1a4e('0x8f')](_0x37e86e),_0x22c25d=Math[_0x1a4e('0x90')](_0x37e86e),_0x154c50=this[_0x1a4e('0x556b')],Math[_0x1a4e('0x65')](_0x3235ec)<=_0x2f45fd?(_0xe669e0=this[_0x1a4e('0x5566')],_0x2501ea['x']=_0x154c50,_0x2501ea['y']=_0xe669e0,_0x2501ea):(_0xe669e0=_0x152dd1(_0x22c25d*this[_0x1a4e('0x5643')]+_0x2501ea['y']*_0x5b5613*this[_0x1a4e('0x5644')]/_0x3235ec),_0x510841=Math[_0x1a4e('0x65')](this['lat0'])-_0x14fa9d,Math[_0x1a4e('0x65')](_0x510841)<=_0x2f45fd?(_0x154c50=_0x3b9cee(this[_0x1a4e('0x5566')]>=0x0?this['long0']+Math[_0x1a4e('0xa6')](_0x2501ea['x'],-_0x2501ea['y']):this[_0x1a4e('0x556b')]-Math[_0x1a4e('0xa6')](-_0x2501ea['x'],_0x2501ea['y'])),_0x2501ea['x']=_0x154c50,_0x2501ea['y']=_0xe669e0,_0x2501ea):(_0x154c50=_0x3b9cee(this['long0']+Math[_0x1a4e('0xa6')](_0x2501ea['x']*_0x5b5613,_0x3235ec*this['cos_p14']*_0x22c25d-_0x2501ea['y']*this[_0x1a4e('0x5643')]*_0x5b5613)),_0x2501ea['x']=_0x154c50,_0x2501ea['y']=_0xe669e0,_0x2501ea));},'names':['ortho']},_0x479848=0x1,_0x169409=0x2,_0x404286=0x3,_0x543da6=0x4,_0x5a9382=0x5,_0x471ba3=0x6,_0x5dbc93={'AREA_0':0x1,'AREA_1':0x2,'AREA_2':0x3,'AREA_3':0x4},_0xc4c793={'init':function(){this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0,this[_0x1a4e('0x5566')]=this[_0x1a4e('0x5566')]||0x0,this[_0x1a4e('0x556b')]=this[_0x1a4e('0x556b')]||0x0,this[_0x1a4e('0x556f')]=this[_0x1a4e('0x556f')]||0x0,this[_0x1a4e('0x1268')]=this[_0x1a4e('0x1268')]||'Quadrilateralized\x20Spherical\x20Cube',this[_0x1a4e('0x5566')]>=_0x14fa9d-_0x17a3df/0x2?this[_0x1a4e('0x5664')]=_0x5a9382:this['lat0']<=-(_0x14fa9d-_0x17a3df/0x2)?this['face']=_0x471ba3:Math['abs'](this[_0x1a4e('0x556b')])<=_0x17a3df?this[_0x1a4e('0x5664')]=_0x479848:Math[_0x1a4e('0x65')](this[_0x1a4e('0x556b')])<=_0x14fa9d+_0x17a3df?this[_0x1a4e('0x5664')]=this['long0']>0x0?_0x169409:_0x543da6:this[_0x1a4e('0x5664')]=_0x404286,0x0!==this['es']&&(this[_0x1a4e('0x5665')]=0x1-(this['a']-this['b'])/this['a'],this[_0x1a4e('0x5666')]=this[_0x1a4e('0x5665')]*this[_0x1a4e('0x5665')]);},'forward':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0={'x':0x0,'y':0x0},_0x23370d={'value':0x0};if(_0x2501ea['x']-=this['long0'],_0x3235ec=0x0!==this['es']?Math[_0x1a4e('0xc2')](this[_0x1a4e('0x5666')]*Math[_0x1a4e('0xbe')](_0x2501ea['y'])):_0x2501ea['y'],_0x37e86e=_0x2501ea['x'],this[_0x1a4e('0x5664')]===_0x5a9382)_0x22c25d=_0x14fa9d-_0x3235ec,_0x37e86e>=_0x17a3df&&_0x37e86e<=_0x14fa9d+_0x17a3df?(_0x23370d[_0x1a4e('0x255')]=_0x5dbc93['AREA_0'],_0x5b5613=_0x37e86e-_0x14fa9d):_0x37e86e>_0x14fa9d+_0x17a3df||_0x37e86e<=-(_0x14fa9d+_0x17a3df)?(_0x23370d[_0x1a4e('0x255')]=_0x5dbc93['AREA_1'],_0x5b5613=_0x37e86e>0x0?_0x37e86e-_0x162fbe:_0x37e86e+_0x162fbe):_0x37e86e>-(_0x14fa9d+_0x17a3df)&&_0x37e86e<=-_0x17a3df?(_0x23370d[_0x1a4e('0x255')]=_0x5dbc93[_0x1a4e('0x5595')],_0x5b5613=_0x37e86e+_0x14fa9d):(_0x23370d[_0x1a4e('0x255')]=_0x5dbc93[_0x1a4e('0x5596')],_0x5b5613=_0x37e86e);else if(this['face']===_0x471ba3)_0x22c25d=_0x14fa9d+_0x3235ec,_0x37e86e>=_0x17a3df&&_0x37e86e<=_0x14fa9d+_0x17a3df?(_0x23370d[_0x1a4e('0x255')]=_0x5dbc93[_0x1a4e('0x5593')],_0x5b5613=-_0x37e86e+_0x14fa9d):_0x37e86e<_0x17a3df&&_0x37e86e>=-_0x17a3df?(_0x23370d[_0x1a4e('0x255')]=_0x5dbc93['AREA_1'],_0x5b5613=-_0x37e86e):_0x37e86e<-_0x17a3df&&_0x37e86e>=-(_0x14fa9d+_0x17a3df)?(_0x23370d[_0x1a4e('0x255')]=_0x5dbc93[_0x1a4e('0x5595')],_0x5b5613=-_0x37e86e-_0x14fa9d):(_0x23370d['value']=_0x5dbc93[_0x1a4e('0x5596')],_0x5b5613=_0x37e86e>0x0?-_0x37e86e+_0x162fbe:-_0x37e86e-_0x162fbe);else{var _0x39699b,_0x4714a6,_0x35563f,_0x533731,_0x29bf60,_0x2be20f;this['face']===_0x169409?_0x37e86e=_0x250378(_0x37e86e,+_0x14fa9d):this[_0x1a4e('0x5664')]===_0x404286?_0x37e86e=_0x250378(_0x37e86e,+_0x162fbe):this[_0x1a4e('0x5664')]===_0x543da6&&(_0x37e86e=_0x250378(_0x37e86e,-_0x14fa9d)),_0x533731=Math['sin'](_0x3235ec),_0x29bf60=Math[_0x1a4e('0x90')](_0x3235ec),_0x2be20f=Math[_0x1a4e('0x8f')](_0x37e86e),_0x39699b=_0x29bf60*Math[_0x1a4e('0x90')](_0x37e86e),_0x4714a6=_0x29bf60*_0x2be20f,_0x35563f=_0x533731,this[_0x1a4e('0x5664')]===_0x479848?_0x5b5613=_0x38fef9(_0x22c25d=Math[_0x1a4e('0x92c')](_0x39699b),_0x35563f,_0x4714a6,_0x23370d):this['face']===_0x169409?_0x5b5613=_0x38fef9(_0x22c25d=Math[_0x1a4e('0x92c')](_0x4714a6),_0x35563f,-_0x39699b,_0x23370d):this[_0x1a4e('0x5664')]===_0x404286?_0x5b5613=_0x38fef9(_0x22c25d=Math[_0x1a4e('0x92c')](-_0x39699b),_0x35563f,-_0x4714a6,_0x23370d):this[_0x1a4e('0x5664')]===_0x543da6?_0x5b5613=_0x38fef9(_0x22c25d=Math[_0x1a4e('0x92c')](-_0x4714a6),_0x35563f,_0x39699b,_0x23370d):(_0x22c25d=_0x5b5613=0x0,_0x23370d[_0x1a4e('0x255')]=_0x5dbc93[_0x1a4e('0x5593')]);}return _0x154c50=Math['atan'](0xc/_0x162fbe*(_0x5b5613+Math[_0x1a4e('0x92c')](Math[_0x1a4e('0x8f')](_0x5b5613)*Math['cos'](_0x17a3df))-_0x14fa9d)),_0x510841=Math[_0x1a4e('0x91')]((0x1-Math[_0x1a4e('0x90')](_0x22c25d))/(Math[_0x1a4e('0x90')](_0x154c50)*Math[_0x1a4e('0x90')](_0x154c50))/(0x1-Math[_0x1a4e('0x90')](Math[_0x1a4e('0xc2')](0x1/Math[_0x1a4e('0x90')](_0x5b5613))))),_0x23370d['value']===_0x5dbc93[_0x1a4e('0x5594')]?_0x154c50+=_0x14fa9d:_0x23370d[_0x1a4e('0x255')]===_0x5dbc93['AREA_2']?_0x154c50+=_0x162fbe:_0x23370d[_0x1a4e('0x255')]===_0x5dbc93[_0x1a4e('0x5596')]&&(_0x154c50+=1.5*_0x162fbe),_0xe669e0['x']=_0x510841*Math[_0x1a4e('0x90')](_0x154c50),_0xe669e0['y']=_0x510841*Math[_0x1a4e('0x8f')](_0x154c50),_0xe669e0['x']=_0xe669e0['x']*this['a']+this['x0'],_0xe669e0['y']=_0xe669e0['y']*this['a']+this['y0'],_0x2501ea['x']=_0xe669e0['x'],_0x2501ea['y']=_0xe669e0['y'],_0x2501ea;},'inverse':function(_0x2501ea){var _0x3235ec,_0x37e86e,_0x5b5613,_0x22c25d,_0x510841,_0x154c50,_0xe669e0,_0x23370d,_0x39699b,_0x4714a6,_0x35563f,_0x533731,_0x29bf60={'lam':0x0,'phi':0x0},_0x2be20f={'value':0x0};if(_0x2501ea['x']=(_0x2501ea['x']-this['x0'])/this['a'],_0x2501ea['y']=(_0x2501ea['y']-this['y0'])/this['a'],_0x37e86e=Math[_0x1a4e('0xc2')](Math[_0x1a4e('0x91')](_0x2501ea['x']*_0x2501ea['x']+_0x2501ea['y']*_0x2501ea['y'])),_0x3235ec=Math[_0x1a4e('0xa6')](_0x2501ea['y'],_0x2501ea['x']),_0x2501ea['x']>=0x0&&_0x2501ea['x']>=Math[_0x1a4e('0x65')](_0x2501ea['y'])?_0x2be20f[_0x1a4e('0x255')]=_0x5dbc93['AREA_0']:_0x2501ea['y']>=0x0&&_0x2501ea['y']>=Math[_0x1a4e('0x65')](_0x2501ea['x'])?(_0x2be20f[_0x1a4e('0x255')]=_0x5dbc93[_0x1a4e('0x5594')],_0x3235ec-=_0x14fa9d):_0x2501ea['x']<0x0&&-_0x2501ea['x']>=Math[_0x1a4e('0x65')](_0x2501ea['y'])?(_0x2be20f[_0x1a4e('0x255')]=_0x5dbc93[_0x1a4e('0x5595')],_0x3235ec=_0x3235ec<0x0?_0x3235ec+_0x162fbe:_0x3235ec-_0x162fbe):(_0x2be20f[_0x1a4e('0x255')]=_0x5dbc93[_0x1a4e('0x5596')],_0x3235ec+=_0x14fa9d),_0x39699b=_0x162fbe/0xc*Math[_0x1a4e('0xbe')](_0x3235ec),_0x510841=Math['sin'](_0x39699b)/(Math['cos'](_0x39699b)-0x1/Math[_0x1a4e('0x91')](0x2)),_0x154c50=Math['atan'](_0x510841),(_0xe669e0=0x1-(_0x5b5613=Math[_0x1a4e('0x90')](_0x3235ec))*_0x5b5613*(_0x22c25d=Math[_0x1a4e('0xbe')](_0x37e86e))*_0x22c25d*(0x1-Math[_0x1a4e('0x90')](Math[_0x1a4e('0xc2')](0x1/Math[_0x1a4e('0x90')](_0x154c50)))))<-0x1?_0xe669e0=-0x1:_0xe669e0>0x1&&(_0xe669e0=0x1),this[_0x1a4e('0x5664')]===_0x5a9382)_0x23370d=Math[_0x1a4e('0x92c')](_0xe669e0),_0x29bf60['phi']=_0x14fa9d-_0x23370d,_0x2be20f[_0x1a4e('0x255')]===_0x5dbc93['AREA_0']?_0x29bf60[_0x1a4e('0x5667')]=_0x154c50+_0x14fa9d:_0x2be20f[_0x1a4e('0x255')]===_0x5dbc93[_0x1a4e('0x5594')]?_0x29bf60['lam']=_0x154c50<0x0?_0x154c50+_0x162fbe:_0x154c50-_0x162fbe:_0x2be20f[_0x1a4e('0x255')]===_0x5dbc93[_0x1a4e('0x5595')]?_0x29bf60['lam']=_0x154c50-_0x14fa9d:_0x29bf60[_0x1a4e('0x5667')]=_0x154c50;else if(this['face']===_0x471ba3)_0x23370d=Math[_0x1a4e('0x92c')](_0xe669e0),_0x29bf60[_0x1a4e('0x5668')]=_0x23370d-_0x14fa9d,_0x2be20f['value']===_0x5dbc93[_0x1a4e('0x5593')]?_0x29bf60[_0x1a4e('0x5667')]=-_0x154c50+_0x14fa9d:_0x2be20f['value']===_0x5dbc93[_0x1a4e('0x5594')]?_0x29bf60[_0x1a4e('0x5667')]=-_0x154c50:_0x2be20f[_0x1a4e('0x255')]===_0x5dbc93[_0x1a4e('0x5595')]?_0x29bf60[_0x1a4e('0x5667')]=-_0x154c50-_0x14fa9d:_0x29bf60['lam']=_0x154c50<0x0?-_0x154c50-_0x162fbe:-_0x154c50+_0x162fbe;else{var _0x33c02a,_0x59195b,_0x550dd0;_0x39699b=(_0x33c02a=_0xe669e0)*_0x33c02a,_0x59195b=(_0x39699b+=(_0x550dd0=_0x39699b>=0x1?0x0:Math[_0x1a4e('0x91')](0x1-_0x39699b)*Math[_0x1a4e('0x8f')](_0x154c50))*_0x550dd0)>=0x1?0x0:Math[_0x1a4e('0x91')](0x1-_0x39699b),_0x2be20f['value']===_0x5dbc93[_0x1a4e('0x5594')]?(_0x39699b=_0x59195b,_0x59195b=-_0x550dd0,_0x550dd0=_0x39699b):_0x2be20f[_0x1a4e('0x255')]===_0x5dbc93['AREA_2']?(_0x59195b=-_0x59195b,_0x550dd0=-_0x550dd0):_0x2be20f['value']===_0x5dbc93[_0x1a4e('0x5596')]&&(_0x39699b=_0x59195b,_0x59195b=_0x550dd0,_0x550dd0=-_0x39699b),this[_0x1a4e('0x5664')]===_0x169409?(_0x39699b=_0x33c02a,_0x33c02a=-_0x59195b,_0x59195b=_0x39699b):this[_0x1a4e('0x5664')]===_0x404286?(_0x33c02a=-_0x33c02a,_0x59195b=-_0x59195b):this['face']===_0x543da6&&(_0x39699b=_0x33c02a,_0x33c02a=_0x59195b,_0x59195b=-_0x39699b),_0x29bf60[_0x1a4e('0x5668')]=Math['acos'](-_0x550dd0)-_0x14fa9d,_0x29bf60[_0x1a4e('0x5667')]=Math['atan2'](_0x59195b,_0x33c02a),this[_0x1a4e('0x5664')]===_0x169409?_0x29bf60[_0x1a4e('0x5667')]=_0x250378(_0x29bf60[_0x1a4e('0x5667')],-_0x14fa9d):this['face']===_0x404286?_0x29bf60[_0x1a4e('0x5667')]=_0x250378(_0x29bf60[_0x1a4e('0x5667')],-_0x162fbe):this[_0x1a4e('0x5664')]===_0x543da6&&(_0x29bf60[_0x1a4e('0x5667')]=_0x250378(_0x29bf60[_0x1a4e('0x5667')],+_0x14fa9d));}0x0!==this['es']&&(_0x4714a6=_0x29bf60['phi']<0x0?0x1:0x0,_0x35563f=Math['tan'](_0x29bf60[_0x1a4e('0x5668')]),_0x533731=this['b']/Math[_0x1a4e('0x91')](_0x35563f*_0x35563f+this[_0x1a4e('0x5666')]),_0x29bf60[_0x1a4e('0x5668')]=Math['atan'](Math[_0x1a4e('0x91')](this['a']*this['a']-_0x533731*_0x533731)/(this[_0x1a4e('0x5665')]*_0x533731)),_0x4714a6&&(_0x29bf60['phi']=-_0x29bf60[_0x1a4e('0x5668')]));return _0x29bf60[_0x1a4e('0x5667')]+=this['long0'],_0x2501ea['x']=_0x29bf60[_0x1a4e('0x5667')],_0x2501ea['y']=_0x29bf60[_0x1a4e('0x5668')],_0x2501ea;},'names':[_0x1a4e('0x5669'),_0x1a4e('0x566a'),'qsc']},_0x5b4b2b=[[0x1,2.2199e-17,-0.0000715515,0.0000031103],[0.9986,-0.000482243,-0.000024897,-0.0000013309],[0.9954,-0.00083103,-0.0000448605,-9.86701e-7],[0.99,-0.00135364,-0.000059661,0.0000036777],[0.9822,-0.00167442,-0.00000449547,-0.00000572411],[0.973,-0.00214868,-0.0000903571,1.8736e-8],[0.96,-0.00305085,-0.0000900761,0.00000164917],[0.9427,-0.00382792,-0.0000653386,-0.0000026154],[0.9216,-0.00467746,-0.00010457,0.00000481243],[0.8962,-0.00536223,-0.0000323831,-0.00000543432],[0.8679,-0.00609363,-0.000113898,0.00000332484],[0.835,-0.00698325,-0.0000640253,9.34959e-7],[0.7986,-0.00755338,-0.0000500009,9.35324e-7],[0.7597,-0.00798324,-0.000035971,-0.00000227626],[0.7186,-0.00851367,-0.0000701149,-0.0000086303],[0.6732,-0.00986209,-0.000199569,0.0000191974],[0.6213,-0.010418,0.0000883923,0.00000624051],[0.5722,-0.00906601,0.000182,0.00000624051],[0.5322,-0.00677797,0.000275608,0.00000624051]],_0x7b94c9=[[-5.20417e-18,0.0124,1.21431e-18,-8.45284e-11],[0.062,0.0124,-1.26793e-9,4.22642e-10],[0.124,0.0124,5.07171e-9,-1.60604e-9],[0.186,0.0123999,-1.90189e-8,6.00152e-9],[0.248,0.0124002,7.10039e-8,-2.24e-8],[0.31,0.0123992,-2.64997e-7,8.35986e-8],[0.372,0.0124029,9.88983e-7,-3.11994e-7],[0.434,0.0123893,-0.00000369093,-4.35621e-7],[0.4958,0.0123198,-0.0000102252,-3.45523e-7],[0.5571,0.0121916,-0.0000154081,-5.82288e-7],[0.6176,0.0119938,-0.0000241424,-5.25327e-7],[0.6769,0.011713,-0.0000320223,-5.16405e-7],[0.7346,0.0113541,-0.0000397684,-6.09052e-7],[0.7903,0.0109107,-0.0000489042,-0.00000104739],[0.8435,0.0103431,-0.000064615,-1.40374e-9],[0.8936,0.00969686,-0.000064636,-0.000008547],[0.9394,0.00840947,-0.000192841,-0.0000042106],[0.9761,0.00616527,-0.000256,-0.0000042106],[0x1,0.00328947,-0.000319159,-0.0000042106]],_0x273a12=_0x358e50/0x5,_0x3cd1f6=0x1/_0x273a12,_0x276c11=function(_0x2501ea,_0x3235ec){return _0x2501ea[0x0]+_0x3235ec*(_0x2501ea[0x1]+_0x3235ec*(_0x2501ea[0x2]+_0x3235ec*_0x2501ea[0x3]));},_0x3a1e73={'init':function(){this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0,this[_0x1a4e('0x556b')]=this[_0x1a4e('0x556b')]||0x0,this['es']=0x0,this['title']=this[_0x1a4e('0x1268')]||_0x1a4e('0x566b');},'forward':function(_0x2501ea){var _0x3235ec=_0x3b9cee(_0x2501ea['x']-this[_0x1a4e('0x556b')]),_0x37e86e=Math['abs'](_0x2501ea['y']),_0x5b5613=Math[_0x1a4e('0xb4')](_0x37e86e*_0x273a12);_0x5b5613<0x0?_0x5b5613=0x0:_0x5b5613>=0x12&&(_0x5b5613=0x11);var _0x22c25d={'x':_0x276c11(_0x5b4b2b[_0x5b5613],_0x37e86e=_0x358e50*(_0x37e86e-_0x3cd1f6*_0x5b5613))*_0x3235ec,'y':_0x276c11(_0x7b94c9[_0x5b5613],_0x37e86e)};return _0x2501ea['y']<0x0&&(_0x22c25d['y']=-_0x22c25d['y']),_0x22c25d['x']=_0x22c25d['x']*this['a']*0.8487+this['x0'],_0x22c25d['y']=_0x22c25d['y']*this['a']*1.3523+this['y0'],_0x22c25d;},'inverse':function(_0x2501ea){var _0x3235ec={'x':(_0x2501ea['x']-this['x0'])/(0.8487*this['a']),'y':Math[_0x1a4e('0x65')](_0x2501ea['y']-this['y0'])/(1.3523*this['a'])};if(_0x3235ec['y']>=0x1)_0x3235ec['x']/=_0x5b4b2b[0x12][0x0],_0x3235ec['y']=_0x2501ea['y']<0x0?-_0x14fa9d:_0x14fa9d;else{var _0x37e86e=Math[_0x1a4e('0xb4')](0x12*_0x3235ec['y']);for(_0x37e86e<0x0?_0x37e86e=0x0:_0x37e86e>=0x12&&(_0x37e86e=0x11);;)if(_0x7b94c9[_0x37e86e][0x0]>_0x3235ec['y'])--_0x37e86e;else{if(!(_0x7b94c9[_0x37e86e+0x1][0x0]<=_0x3235ec['y']))break;++_0x37e86e;}var _0x5b5613=_0x7b94c9[_0x37e86e],_0x22c25d=0x5*(_0x3235ec['y']-_0x5b5613[0x0])/(_0x7b94c9[_0x37e86e+0x1][0x0]-_0x5b5613[0x0]);_0x22c25d=function(_0x2501ea,_0x3235ec,_0x37e86e,_0x5b5613){for(var _0x22c25d=_0x3235ec;_0x5b5613;--_0x5b5613){var _0x510841=_0x2501ea(_0x22c25d);if(_0x22c25d-=_0x510841,Math[_0x1a4e('0x65')](_0x510841)<_0x37e86e)break;}return _0x22c25d;}(function(_0x2501ea){return(_0x276c11(_0x5b5613,_0x2501ea)-_0x3235ec['y'])/function(_0x2501ea,_0x3235ec){return _0x2501ea[0x1]+_0x3235ec*(0x2*_0x2501ea[0x2]+0x3*_0x3235ec*_0x2501ea[0x3]);}(_0x5b5613,_0x2501ea);},_0x22c25d,_0x2f45fd,0x64),_0x3235ec['x']/=_0x276c11(_0x5b4b2b[_0x37e86e],_0x22c25d),_0x3235ec['y']=(0x5*_0x37e86e+_0x22c25d)*_0x4e8bfe,_0x2501ea['y']<0x0&&(_0x3235ec['y']=-_0x3235ec['y']);}return _0x3235ec['x']=_0x3b9cee(_0x3235ec['x']+this[_0x1a4e('0x556b')]),_0x3235ec;},'names':['Robinson',_0x1a4e('0x566c')]},_0x47e1f3={'init':function(){this[_0x1a4e('0x2cb')]=_0x1a4e('0x5585');},'forward':function(_0x2501ea){return _0x33c02a(_0x2501ea,this['es'],this['a']);},'inverse':function(_0x2501ea){return _0x59195b(_0x2501ea,this['es'],this['a'],this['b']);},'names':['Geocentric',_0x1a4e('0x566d'),'geocent',_0x1a4e('0x566e')]};return _0x5bc365[_0x1a4e('0x566f')]=_0x1a4e('0x3b85'),_0x5bc365['Proj']=_0x2be20f,_0x5bc365[_0x1a4e('0x3b85')]=new _0x5bc365[(_0x1a4e('0x5670'))](_0x1a4e('0x3b85')),_0x5bc365[_0x1a4e('0x17')]=_0x470c0f,_0x5bc365[_0x1a4e('0x5671')]=_0x131075,_0x5bc365['defs']=_0x23370d,_0x5bc365['transform']=_0x47ea40,_0x5bc365[_0x1a4e('0x5672')]=_0x1d2c5d,_0x5bc365[_0x1a4e('0xb98')]='2.6.1-alpha',(_0x41697d=_0x5bc365)['Proj'][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x39eb83),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x4176f6),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x39c01a),_0x41697d[_0x1a4e('0x5670')]['projections'][_0x1a4e('0x177')](_0x1b9592),_0x41697d['Proj']['projections'][_0x1a4e('0x177')](_0x508180),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x19cc9a),_0x41697d['Proj'][_0x1a4e('0x5577')]['add'](_0x46bc7e),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')]['add'](_0xef2529),_0x41697d[_0x1a4e('0x5670')]['projections'][_0x1a4e('0x177')](_0x429f18),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x507bfe),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x2f470e),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x576261),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')]['add'](_0x2eec2e),_0x41697d['Proj']['projections'][_0x1a4e('0x177')](_0x5896e6),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x1ad218),_0x41697d['Proj'][_0x1a4e('0x5577')]['add'](_0xfcc90b),_0x41697d['Proj']['projections']['add'](_0x56053a),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x14f086),_0x41697d['Proj'][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x3c6df8),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x2c5c15),_0x41697d['Proj'][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x212aed),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x5ac9ab),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x36a7af),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x1ccf9c),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')]['add'](_0xc4c793),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')][_0x1a4e('0x177')](_0x3a1e73),_0x41697d[_0x1a4e('0x5670')][_0x1a4e('0x5577')]['add'](_0x47e1f3),_0x5bc365;});},'./src/Utils/satellite/DateHelper.ts':function(_0xc8e1,_0x3292ba,_0x1d1494){'use strict';_0x1d1494['r'](_0x3292ba),_0x1d1494['d'](_0x3292ba,'DateHelper',function(){return _0x5ee5c;});var _0x5ee5c=function(){function _0xc8e1(){}return _0xc8e1[_0x1a4e('0x5673')]=function(_0xc8e1){var _0x3292ba=new Date(_0xc8e1),_0x1d1494=_0x3292ba[_0x1a4e('0xf06')]()>0x9?_0x3292ba['getMonth']()+0x1:'0'+(_0x3292ba[_0x1a4e('0xf06')]()+0x1),_0x5ee5c=_0x3292ba['getDay']()>0x9?_0x3292ba[_0x1a4e('0x5674')]()+0x1:'0'+(_0x3292ba[_0x1a4e('0x5674')]()+0x1),_0x1b2ecb=_0x3292ba[_0x1a4e('0xf07')]()>0x9?_0x3292ba[_0x1a4e('0xf07')]():'0'+_0x3292ba['getHours'](),_0x400a5a=_0x3292ba['getMinutes']()>0x9?_0x3292ba[_0x1a4e('0xf08')]():'0'+_0x3292ba[_0x1a4e('0xf08')](),_0x4d395b=_0x3292ba['getSeconds']()>0x9?_0x3292ba[_0x1a4e('0xf09')]():'0'+_0x3292ba['getSeconds']();return _0x3292ba['getFullYear']()+'/'+_0x1d1494+'/'+_0x5ee5c+'/'+_0x1b2ecb+':'+_0x400a5a+':'+_0x4d395b;},_0xc8e1[_0x1a4e('0x5675')]=function(_0xc8e1){var _0x3292ba=new Date(_0xc8e1),_0x1d1494=_0x3292ba['getMonth']()>0x9?_0x3292ba['getMonth']()+0x1:'0'+(_0x3292ba['getMonth']()+0x1),_0x5ee5c=_0x3292ba[_0x1a4e('0x5674')]()>0x9?_0x3292ba[_0x1a4e('0x5674')]()+0x1:'0'+(_0x3292ba[_0x1a4e('0x5674')]()+0x1);return _0x3292ba[_0x1a4e('0x91d')]()+'-'+_0x1d1494+'-'+_0x5ee5c;},_0xc8e1['addDate']=function(_0xc8e1,_0x3292ba){null!=_0x3292ba&&''!=_0x3292ba||(_0x3292ba=0x1),_0xc8e1[_0x1a4e('0x5676')](_0xc8e1[_0x1a4e('0x3746')]()+_0x3292ba);var _0x1d1494=_0xc8e1[_0x1a4e('0xf06')]()+0x1,_0x5ee5c=_0xc8e1['getDate']();return _0xc8e1[_0x1a4e('0x91d')]()+'-'+this[_0x1a4e('0x5677')](_0x1d1494)+'-'+this[_0x1a4e('0x5677')](_0x5ee5c);},_0xc8e1[_0x1a4e('0x5677')]=function(_0xc8e1){if(null==_0xc8e1||''==_0xc8e1)return'';var _0x3292ba=_0xc8e1+'';return _0x3292ba[_0x1a4e('0x1e')]<0x2&&(_0x3292ba='0'+_0x3292ba),_0x3292ba;},_0xc8e1[_0x1a4e('0x5678')]=function(){var _0xc8e1=new Date();return _0xc8e1[_0x1a4e('0x91d')]()+'-'+(_0xc8e1[_0x1a4e('0xf06')]()+0x1<0xa?'0'+(_0xc8e1[_0x1a4e('0xf06')]()+0x1):_0xc8e1[_0x1a4e('0xf06')]()+0x1)+'-'+(_0xc8e1['getDate']()<0xa?'0'+_0xc8e1['getDate']():_0xc8e1[_0x1a4e('0x3746')]())+'\x20'+(_0xc8e1['getHours']()<0xa?'0'+_0xc8e1[_0x1a4e('0xf07')]():_0xc8e1[_0x1a4e('0xf07')]())+':'+(_0xc8e1['getMinutes']()<0xa?'0'+_0xc8e1[_0x1a4e('0xf08')]():_0xc8e1[_0x1a4e('0xf08')]())+':'+(_0xc8e1[_0x1a4e('0xf09')]()<0xa?'0'+_0xc8e1[_0x1a4e('0xf09')]():_0xc8e1['getSeconds']());},_0xc8e1['getStr']=function(_0xc8e1){return _0xc8e1[_0x1a4e('0x91d')]()+'-'+(_0xc8e1[_0x1a4e('0xf06')]()+0x1<0xa?'0'+(_0xc8e1[_0x1a4e('0xf06')]()+0x1):_0xc8e1[_0x1a4e('0xf06')]()+0x1)+'-'+(_0xc8e1[_0x1a4e('0x3746')]()<0xa?'0'+_0xc8e1[_0x1a4e('0x3746')]():_0xc8e1[_0x1a4e('0x3746')]())+'\x20'+(_0xc8e1[_0x1a4e('0xf07')]()<0xa?'0'+_0xc8e1[_0x1a4e('0xf07')]():_0xc8e1['getHours']())+':'+(_0xc8e1[_0x1a4e('0xf08')]()<0xa?'0'+_0xc8e1[_0x1a4e('0xf08')]():_0xc8e1[_0x1a4e('0xf08')]())+':'+(_0xc8e1[_0x1a4e('0xf09')]()<0xa?'0'+_0xc8e1[_0x1a4e('0xf09')]():_0xc8e1[_0x1a4e('0xf09')]());},_0xc8e1['getTodayZeroDate']=function(){return new Date(new Date(new Date()[_0x1a4e('0x5679')]())['getTime']());},_0xc8e1['getTodayMaxDate']=function(){return new Date(new Date(new Date()[_0x1a4e('0x5679')]())['getTime']()+0x5265c00-0x1);},_0xc8e1[_0x1a4e('0x567a')]=function(){var _0xc8e1=this[_0x1a4e('0x567b')]();return _0xc8e1['setDate'](_0xc8e1[_0x1a4e('0x3746')]()-0x1),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1[_0x1a4e('0x567d')]=function(){var _0xc8e1=this[_0x1a4e('0x567b')]();return _0xc8e1[_0x1a4e('0x5676')](_0xc8e1[_0x1a4e('0x3746')]()),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1[_0x1a4e('0x567e')]=function(){var _0xc8e1=this[_0x1a4e('0x567f')]();return _0xc8e1[_0x1a4e('0x5676')](_0xc8e1[_0x1a4e('0x3746')]()-0x1),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1[_0x1a4e('0x5680')]=function(){var _0xc8e1=this[_0x1a4e('0x567b')]();return _0xc8e1[_0x1a4e('0x5676')](_0xc8e1[_0x1a4e('0x3746')]()),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1[_0x1a4e('0x5681')]=function(){var _0xc8e1=this[_0x1a4e('0x567f')]();return _0xc8e1[_0x1a4e('0x5676')](_0xc8e1['getDate']()-0x7),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1[_0x1a4e('0x5682')]=function(){var _0xc8e1=this[_0x1a4e('0x567b')]();return _0xc8e1[_0x1a4e('0x5676')](_0xc8e1[_0x1a4e('0x3746')]()),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1[_0x1a4e('0x5683')]=function(){var _0xc8e1=this[_0x1a4e('0x567f')]();return _0xc8e1[_0x1a4e('0x5684')](_0xc8e1[_0x1a4e('0xf06')]()-0x1),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1[_0x1a4e('0x5685')]=function(){var _0xc8e1=this[_0x1a4e('0x567b')]();return _0xc8e1[_0x1a4e('0x5684')](_0xc8e1[_0x1a4e('0xf06')]()),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1['getYearStartStr']=function(){var _0xc8e1=this[_0x1a4e('0x567f')]();return _0xc8e1[_0x1a4e('0x5686')](_0xc8e1['getFullYear']()-0x1),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1[_0x1a4e('0x5687')]=function(){var _0xc8e1=this[_0x1a4e('0x567b')]();return _0xc8e1['setFullYear'](_0xc8e1[_0x1a4e('0x91d')]()),this[_0x1a4e('0x567c')](_0xc8e1);},_0xc8e1['getDate15']=function(){return new Date(new Date(new Date())[_0x1a4e('0xe9')]()-0xdbba0);},_0xc8e1[_0x1a4e('0x5688')]=function(){return new Date(new Date(new Date())[_0x1a4e('0xe9')]()-0x36ee80);},_0xc8e1['getDate120']=function(){return new Date(new Date(new Date())[_0x1a4e('0xe9')]()-0x6ddd00);},_0xc8e1[_0x1a4e('0x4b74')]=function(_0xc8e1,_0x3292ba){return new Date(_0xc8e1[_0x1a4e('0xe9')]()+0x3e8*_0x3292ba);},_0xc8e1[_0x1a4e('0x5689')]=function(_0xc8e1,_0x3292ba){return new Date(_0xc8e1[_0x1a4e('0xe9')]()+0x3c*_0x3292ba*0x3e8);},_0xc8e1;}();},'./src/Utils/satellite/GxMath.ts':function(_0x4443d9,_0x544842,_0x28f9d8){'use strict';_0x28f9d8['r'](_0x544842);var _0x48ec61=_0x28f9d8(_0x1a4e('0x4b3c')),_0x2e6004=_0x28f9d8(_0x1a4e('0x568a')),_0x510689=_0x28f9d8(_0x1a4e('0x5071')),_0x34bca4=_0x28f9d8(_0x1a4e('0x3f80')),_0x111d94=_0x28f9d8('./src/Utils/GeoPoint.ts'),_0x16f4e0=function(){function _0x4443d9(){}return _0x4443d9[_0x1a4e('0x568b')]=function(_0x4443d9,_0x544842,_0x28f9d8,_0x48ec61){var _0x2e6004=0x0,_0x510689=_0x28f9d8-_0x4443d9,_0x34bca4=_0x48ec61-_0x544842;return _0x28f9d8==_0x4443d9?(_0x2e6004=Math['PI']/0x2,_0x48ec61==_0x544842?_0x2e6004=0x0:_0x48ec61<_0x544842&&(_0x2e6004=0x3*Math['PI']/0x2)):_0x28f9d8>_0x4443d9&&_0x48ec61>_0x544842?_0x2e6004=Math[_0x1a4e('0xc2')](_0x510689/_0x34bca4):_0x28f9d8>_0x4443d9&&_0x48ec61<_0x544842?_0x2e6004=Math['PI']/0x2+Math[_0x1a4e('0xc2')](-_0x34bca4/_0x510689):_0x28f9d8<_0x4443d9&&_0x48ec61<_0x544842?_0x2e6004=Math['PI']+Math[_0x1a4e('0xc2')](_0x510689/_0x34bca4):_0x28f9d8<_0x4443d9&&_0x48ec61>_0x544842&&(_0x2e6004=0x3*Math['PI']/0x2+Math[_0x1a4e('0xc2')](_0x34bca4/-_0x510689)),0xb4*_0x2e6004/Math['PI'];},_0x4443d9[_0x1a4e('0x4b78')]=function(_0x4443d9,_0x544842){return 0x5a0/Number['parseFloat'](_0x544842[_0x1a4e('0x2be')]('\x20')[_0x1a4e('0xd9')](function(_0x4443d9){return''!=_0x4443d9[_0x1a4e('0x2bd')]();})[0x7]);},_0x4443d9['calculateOrbitEci']=function(_0x544842,_0x28f9d8,_0x510689,_0x111d94,_0x16f4e0){void 0x0===_0x111d94&&(_0x111d94=0x0),void 0x0===_0x16f4e0&&(_0x16f4e0=0xa0);var _0x5eafa6=_0x111d94;_0x5eafa6<=0x0&&(_0x5eafa6=_0x4443d9[_0x1a4e('0x4b78')](_0x28f9d8,_0x510689));for(var _0x3fd177,_0x86afc7=_0x5eafa6/_0x16f4e0,_0x1e65be=_0x2e6004[_0x1a4e('0x568c')](_0x28f9d8,_0x510689),_0x1ca7ca=[],_0x30deb=0x0;_0x30deb<=_0x16f4e0;_0x30deb++){_0x3fd177=_0x48ec61[_0x1a4e('0x4b73')][_0x1a4e('0x5689')](_0x544842,_0x30deb*_0x86afc7);var _0x15b227=_0x2e6004['propagate'](_0x1e65be,_0x3fd177),_0x55cf65=_0x15b227[_0x1a4e('0x3553')],_0x57c2a3=_0x15b227['velocity'];_0x1ca7ca[_0x1a4e('0x46')](new _0x34bca4['GeoVector3'](0x3e8*_0x55cf65['x'],0x3e8*_0x55cf65['y'],0x3e8*_0x55cf65['z'],_0x3fd177,_0x57c2a3));}return _0x1ca7ca;},_0x4443d9[_0x1a4e('0x568d')]=function(_0x4443d9,_0x544842,_0x28f9d8){var _0x48ec61=_0x2e6004['twoline2satrec'](_0x544842,_0x28f9d8),_0x510689=_0x2e6004['propagate'](_0x48ec61,_0x4443d9)[_0x1a4e('0x3553')];return new Cesium[(_0x1a4e('0x393e'))](0x3e8*_0x510689['x'],0x3e8*_0x510689['y'],0x3e8*_0x510689['z']);},_0x4443d9['calculateOrbitEcf']=function(_0x544842,_0x28f9d8,_0x510689,_0x111d94,_0x16f4e0){void 0x0===_0x111d94&&(_0x111d94=0x0),void 0x0===_0x16f4e0&&(_0x16f4e0=0xa0);var _0x33b3c7=_0x111d94;_0x33b3c7<=0x0&&(_0x33b3c7=_0x4443d9[_0x1a4e('0x4b78')](_0x28f9d8,_0x510689));for(var _0x33bc4b,_0x1f744c=_0x33b3c7/_0x16f4e0,_0x2b4d76=_0x2e6004[_0x1a4e('0x568c')](_0x28f9d8,_0x510689),_0x59aca2=[],_0x26f28b=0x0;_0x26f28b<=_0x16f4e0;_0x26f28b++){_0x33bc4b=_0x48ec61[_0x1a4e('0x4b73')][_0x1a4e('0x5689')](_0x544842,_0x26f28b*_0x1f744c);var _0x33842e=_0x2e6004['propagate'](_0x2b4d76,_0x33bc4b),_0x480c73=_0x33842e[_0x1a4e('0x3553')],_0x283253=_0x33842e['velocity'],_0x54c705=_0x2e6004[_0x1a4e('0x568e')](_0x33bc4b),_0x2d587b=_0x2e6004[_0x1a4e('0x568f')](_0x480c73,_0x54c705);_0x59aca2[_0x1a4e('0x46')](new _0x34bca4[(_0x1a4e('0x4b28'))](0x3e8*_0x2d587b['x'],0x3e8*_0x2d587b['y'],0x3e8*_0x2d587b['z'],_0x33bc4b,_0x283253));}return _0x59aca2;},_0x4443d9[_0x1a4e('0x4b86')]=function(_0x4443d9,_0x544842,_0x28f9d8){var _0x48ec61=_0x2e6004['twoline2satrec'](_0x544842,_0x28f9d8),_0x510689=_0x2e6004[_0x1a4e('0x5690')](_0x48ec61,_0x4443d9)[_0x1a4e('0x3553')],_0x34bca4=_0x2e6004[_0x1a4e('0x568e')](_0x4443d9),_0x111d94=_0x2e6004[_0x1a4e('0x568f')](_0x510689,_0x34bca4);return new Cesium[(_0x1a4e('0x393e'))](0x3e8*_0x111d94['x'],0x3e8*_0x111d94['y'],0x3e8*_0x111d94['z']);},_0x4443d9[_0x1a4e('0x5691')]=function(_0x544842,_0x28f9d8,_0x510689,_0x111d94,_0x16f4e0){void 0x0===_0x111d94&&(_0x111d94=0x0),void 0x0===_0x16f4e0&&(_0x16f4e0=0xa0);var _0x1968c4=_0x111d94;_0x1968c4<=0x0&&(_0x1968c4=_0x4443d9[_0x1a4e('0x4b78')](_0x28f9d8,_0x510689));for(var _0x2503f7,_0x82ef02=_0x1968c4/_0x16f4e0,_0x3c51d9=_0x2e6004['twoline2satrec'](_0x28f9d8,_0x510689),_0x36018a=[],_0x5e0490=0x0;_0x5e0490<=_0x16f4e0;_0x5e0490++){_0x2503f7=_0x48ec61[_0x1a4e('0x4b73')][_0x1a4e('0x5689')](_0x544842,_0x5e0490*_0x82ef02);var _0xcc7135=_0x2e6004[_0x1a4e('0x5690')](_0x3c51d9,_0x2503f7),_0x13ce16=_0xcc7135[_0x1a4e('0x3553')],_0x2ad48a=_0xcc7135['velocity'],_0x33fc66=_0x2e6004[_0x1a4e('0x568e')](_0x2503f7),_0xbd23e=_0x2e6004[_0x1a4e('0x5692')](_0x13ce16,_0x33fc66);_0x36018a[_0x1a4e('0x46')](new _0x34bca4[(_0x1a4e('0x4b28'))](_0xbd23e['longitude'],_0xbd23e[_0x1a4e('0x3a2f')],_0xbd23e[_0x1a4e('0x152')],_0x2503f7,_0x2ad48a));}return _0x36018a;},_0x4443d9['getGeoPosition']=function(_0x4443d9,_0x544842,_0x28f9d8){var _0x48ec61=_0x2e6004[_0x1a4e('0x568c')](_0x544842,_0x28f9d8),_0x510689=_0x2e6004[_0x1a4e('0x5690')](_0x48ec61,_0x4443d9)[_0x1a4e('0x3553')],_0x34bca4=_0x2e6004[_0x1a4e('0x568e')](_0x4443d9),_0x16f4e0=_0x2e6004[_0x1a4e('0x5692')](_0x510689,_0x34bca4);return new _0x111d94[(_0x1a4e('0x38da'))](_0x16f4e0[_0x1a4e('0x3a2e')],_0x16f4e0[_0x1a4e('0x3a2f')],_0x16f4e0['height']);},_0x4443d9[_0x1a4e('0x5693')]=function(_0x4443d9,_0x544842){var _0x28f9d8=_0x544842[_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x38dc')][_0x1a4e('0x38dd')](_0x4443d9);return Cesium['Math']['toDegrees'](_0x28f9d8[_0x1a4e('0x3a2e')]);},_0x4443d9[_0x1a4e('0x5694')]=function(_0x4443d9,_0x544842){var _0x28f9d8=_0x544842['scene']['globe'][_0x1a4e('0x38dc')][_0x1a4e('0x38dd')](_0x4443d9);return Cesium['Math'][_0x1a4e('0x560')](_0x28f9d8['latitude']);},_0x4443d9[_0x1a4e('0x5695')]=function(_0x4443d9,_0x544842){return _0x544842['scene']['globe'][_0x1a4e('0x38dc')][_0x1a4e('0x38dd')](_0x4443d9)['height'];},_0x4443d9[_0x1a4e('0x5696')]=function(_0x4443d9,_0x544842,_0x28f9d8){var _0x48ec61=_0x28f9d8['scene'][_0x1a4e('0x38d7')][_0x1a4e('0x38dc')][_0x1a4e('0x38dd')](_0x4443d9);return Cesium['Cartesian3'][_0x1a4e('0x38db')](Cesium['Math'][_0x1a4e('0x560')](_0x48ec61['longitude']),Cesium['Math'][_0x1a4e('0x560')](_0x48ec61[_0x1a4e('0x3a2f')]),_0x544842);},_0x4443d9[_0x1a4e('0x5697')]=function(_0x544842,_0x28f9d8){if(!_0x28f9d8)throw _0x1a4e('0x5698');var _0x48ec61=_0x28f9d8[_0x1a4e('0x3a06')][_0x1a4e('0x3a58')](_0x544842);return _0x48ec61?_0x4443d9['cartesian2lonlat'](_0x48ec61):[0x0,0x0];},_0x4443d9[_0x1a4e('0x5699')]=function(_0x4443d9,_0x544842){return void 0x0===_0x544842&&(_0x544842=0x0),Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x4443d9[0x0],_0x4443d9[0x1],_0x544842,Cesium[_0x1a4e('0x3ab8')][_0x1a4e('0x3b85')]);},_0x4443d9[_0x1a4e('0x569a')]=function(_0x4443d9){return Cesium[_0x1a4e('0x393e')]['fromDegrees'](_0x4443d9[_0x1a4e('0x1a1')],_0x4443d9['lat'],_0x4443d9[_0x1a4e('0x398c')]||0x0,Cesium[_0x1a4e('0x3ab8')][_0x1a4e('0x3b85')]);},_0x4443d9[_0x1a4e('0x569b')]=function(_0x4443d9){if(!_0x4443d9)return[Number[_0x1a4e('0x4b6e')],Number[_0x1a4e('0x4b6e')],Number[_0x1a4e('0x4b6e')]];var _0x544842=Cesium['Ellipsoid'][_0x1a4e('0x3b85')][_0x1a4e('0x38dd')](_0x4443d9);return[Cesium[_0x1a4e('0x1020')]['toDegrees'](_0x544842[_0x1a4e('0x3a2e')]),Cesium['Math'][_0x1a4e('0x560')](_0x544842[_0x1a4e('0x3a2f')]),_0x544842['height']];},_0x4443d9[_0x1a4e('0x569c')]=function(_0x544842,_0x28f9d8,_0x48ec61){void 0x0===_0x28f9d8&&(_0x28f9d8=0x0);var _0x2e6004=_0x4443d9['screen2lonlat'](_0x544842,_0x48ec61);return _0x4443d9[_0x1a4e('0x5699')](_0x2e6004,_0x28f9d8);},_0x4443d9[_0x1a4e('0x569d')]=function(_0x4443d9){return Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x569e')](new Cesium[(_0x1a4e('0x39a9'))](_0x4443d9));},_0x4443d9[_0x1a4e('0x569f')]=function(_0x4443d9){return _0x4443d9||(_0x4443d9=new Date()),Cesium['JulianDate']['fromDate'](_0x4443d9);},_0x4443d9['distance']=function(_0x544842,_0x28f9d8){var _0x48ec61=_0x510689['point'](_0x4443d9['cartesian2lonlat'](_0x544842)),_0x2e6004=_0x510689[_0x1a4e('0xc4')](_0x4443d9['cartesian2lonlat'](_0x28f9d8));return 0x3e8*_0x510689['distance'](_0x48ec61,_0x2e6004,{'units':_0x1a4e('0x2c')});},_0x4443d9[_0x1a4e('0x56a0')]=function(_0x544842){var _0x28f9d8=_0x4443d9[_0x1a4e('0x569b')](_0x544842);return _0x510689[_0x1a4e('0xc4')](_0x28f9d8);},_0x4443d9[_0x1a4e('0x56a1')]=function(_0x544842,_0x28f9d8){return void 0x0===_0x28f9d8&&(_0x28f9d8=0x0),_0x544842[_0x1a4e('0x18')][_0x1a4e('0x43')][0x0]['map'](function(_0x544842){return _0x4443d9[_0x1a4e('0x5699')](_0x544842,_0x28f9d8);});},_0x4443d9[_0x1a4e('0x56a2')]=function(_0x544842,_0x28f9d8){_0x544842[_0x1a4e('0x3b')](function(_0x544842){_0x544842[_0x1a4e('0x22ed')][_0x1a4e('0x1e')]>0x0&&_0x4443d9['deleteEnts'](_0x544842[_0x1a4e('0x22ed')],_0x28f9d8),_0x28f9d8[_0x1a4e('0x38e2')][_0x1a4e('0x82')](_0x544842);});},_0x4443d9;}();_0x544842[_0x1a4e('0x8')]=_0x16f4e0;},'./src/Utils/satellite/satellite.es.js':function(_0x907be0,_0x31c919,_0x4b0e60){'use strict';Object[_0x1a4e('0x2')](_0x31c919,_0x1a4e('0x6'),{'value':!0x0});var _0x1686c5=Math['PI'],_0x63ca7c=0x2*_0x1686c5,_0x34ff41=_0x1686c5/0xb4,_0x4e5b54=0xb4/_0x1686c5,_0x132f95=0x5a0,_0x5d1f6a=6378.137,_0x8b52e7=0x3c/Math['sqrt'](_0x5d1f6a*_0x5d1f6a*_0x5d1f6a/398600.5),_0x4cdc6c=0x1/_0x8b52e7,_0xda4bb3=0.00108262998905,_0x25950b=-0.00000253215306,_0x1035a5=-0.00000161098761,_0x1cfc62=_0x25950b/_0xda4bb3,_0x2172ba=0x2/0x3,_0x29bd51=Object[_0x1a4e('0x151')]({'pi':_0x1686c5,'twoPi':_0x63ca7c,'deg2rad':_0x34ff41,'rad2deg':_0x4e5b54,'minutesPerDay':_0x132f95,'mu':398600.5,'earthRadius':_0x5d1f6a,'xke':_0x8b52e7,'tumin':_0x4cdc6c,'j2':_0xda4bb3,'j3':_0x25950b,'j4':_0x1035a5,'j3oj2':_0x1cfc62,'x2o3':_0x2172ba});function _0x4d0f3e(_0x907be0,_0x31c919){for(var _0x4b0e60=[0x1f,_0x907be0%0x4==0x0?0x1d:0x1c,0x1f,0x1e,0x1f,0x1e,0x1f,0x1f,0x1e,0x1f,0x1e,0x1f],_0x1686c5=Math[_0x1a4e('0xb4')](_0x31c919),_0x63ca7c=0x1,_0x34ff41=0x0;_0x1686c5>_0x34ff41+_0x4b0e60[_0x63ca7c-0x1]&&_0x63ca7c<0xc;)_0x34ff41+=_0x4b0e60[_0x63ca7c-0x1],_0x63ca7c+=0x1;var _0x4e5b54=_0x63ca7c,_0x132f95=_0x1686c5-_0x34ff41,_0x5d1f6a=0x18*(_0x31c919-_0x1686c5),_0x8b52e7=Math[_0x1a4e('0xb4')](_0x5d1f6a);_0x5d1f6a=0x3c*(_0x5d1f6a-_0x8b52e7);var _0x4cdc6c=Math[_0x1a4e('0xb4')](_0x5d1f6a);return{'mon':_0x4e5b54,'day':_0x132f95,'hr':_0x8b52e7,'minute':_0x4cdc6c,'sec':0x3c*(_0x5d1f6a-_0x4cdc6c)};}function _0x4fdb55(_0x907be0,_0x31c919,_0x4b0e60,_0x1686c5,_0x63ca7c,_0x34ff41){var _0x4e5b54=arguments[_0x1a4e('0x1e')]>0x6&&void 0x0!==arguments[0x6]?arguments[0x6]:0x0;return 0x16f*_0x907be0-Math[_0x1a4e('0xb4')](0x7*(_0x907be0+Math[_0x1a4e('0xb4')]((_0x31c919+0x9)/0xc))*0.25)+Math[_0x1a4e('0xb4')](0x113*_0x31c919/0x9)+_0x4b0e60+1721013.5+((_0x4e5b54/0xea60+_0x34ff41/0x3c+_0x63ca7c)/0x3c+_0x1686c5)/0x18;}function _0xf3de05(_0x907be0,_0x31c919,_0x4b0e60,_0x1686c5,_0x63ca7c,_0x34ff41,_0x4e5b54){if(_0x907be0 instanceof Date){var _0x132f95=_0x907be0;return _0x4fdb55(_0x132f95[_0x1a4e('0x56a3')](),_0x132f95['getUTCMonth']()+0x1,_0x132f95['getUTCDate'](),_0x132f95['getUTCHours'](),_0x132f95[_0x1a4e('0x91b')](),_0x132f95['getUTCSeconds'](),_0x132f95[_0x1a4e('0x56a4')]());}return _0x4fdb55(_0x907be0,_0x31c919,_0x4b0e60,_0x1686c5,_0x63ca7c,_0x34ff41,_0x4e5b54);}function _0xadd2c1(_0x907be0,_0x31c919){var _0x4b0e60=_0x907be0['e3'],_0x34ff41=_0x907be0[_0x1a4e('0x56a5')],_0x4e5b54=_0x907be0[_0x1a4e('0x56a6')],_0x132f95=_0x907be0['pgho'],_0x5d1f6a=_0x907be0[_0x1a4e('0x56a7')],_0x8b52e7=_0x907be0[_0x1a4e('0x56a8')],_0x4cdc6c=_0x907be0['plo'],_0xda4bb3=_0x907be0[_0x1a4e('0x56a9')],_0x25950b=_0x907be0[_0x1a4e('0x56aa')],_0x1035a5=_0x907be0[_0x1a4e('0x56ab')],_0x1cfc62=_0x907be0[_0x1a4e('0x56ac')],_0x2172ba=_0x907be0[_0x1a4e('0x56ad')],_0x29bd51=_0x907be0['sh2'],_0x4d0f3e=_0x907be0[_0x1a4e('0x56ae')],_0x4fdb55=_0x907be0[_0x1a4e('0x56af')],_0xf3de05=_0x907be0[_0x1a4e('0x56b0')],_0xadd2c1=_0x907be0[_0x1a4e('0x56b1')],_0x5f21c6=_0x907be0[_0x1a4e('0x56b2')],_0x4e3460=_0x907be0[_0x1a4e('0x56b3')],_0xd9c4df=_0x907be0['t'],_0x44097c=_0x907be0[_0x1a4e('0x56b4')],_0x43717a=_0x907be0[_0x1a4e('0x56b5')],_0x43734a=_0x907be0[_0x1a4e('0x56b6')],_0x16fc45=_0x907be0[_0x1a4e('0x56b7')],_0x5dee3d=_0x907be0[_0x1a4e('0x56b8')],_0x4d5699=_0x907be0[_0x1a4e('0x56b9')],_0x1fc9a8=_0x907be0[_0x1a4e('0x56ba')],_0x1fb6c3=_0x907be0[_0x1a4e('0x56bb')],_0xacd63f=_0x907be0[_0x1a4e('0x56bc')],_0x5d1a5c=_0x907be0['xl4'],_0x28877c=_0x907be0[_0x1a4e('0x56bd')],_0x2654f6=_0x907be0[_0x1a4e('0x56be')],_0x43c301=_0x31c919[_0x1a4e('0x1fd')],_0x2887e4=_0x31c919[_0x1a4e('0x56bf')],_0x50d94f=_0x31c919['ep'],_0x25e649=_0x31c919[_0x1a4e('0x56c0')],_0x50d529=_0x31c919['nodep'],_0x378d60=_0x31c919[_0x1a4e('0x56c1')],_0x4abe74=_0x31c919['mp'],_0x42a245=void 0x0,_0x39faf2=void 0x0,_0x1f0395=void 0x0,_0x9086c0=void 0x0,_0x203fb2=void 0x0,_0x952ffc=void 0x0,_0x5de251=void 0x0,_0x81d2d0=void 0x0,_0x21c178=void 0x0,_0x4c9a1d=void 0x0,_0x4491a1=void 0x0,_0x19c859=void 0x0,_0x591249=void 0x0,_0x38f2c8=void 0x0,_0x27598a=void 0x0,_0x5b016d=void 0x0,_0x3af95b=void 0x0,_0x2e95b9=void 0x0;_0x2e95b9=_0x2654f6+0.0000119459*_0xd9c4df,'y'===_0x43c301&&(_0x2e95b9=_0x2654f6),_0x3af95b=_0x2e95b9+0.0335*Math[_0x1a4e('0x8f')](_0x2e95b9);var _0x125b69=_0xda4bb3*(_0x5de251=0.5*(_0x38f2c8=Math['sin'](_0x3af95b))*_0x38f2c8-0.25)+_0x25950b*(_0x81d2d0=-0.5*_0x38f2c8*Math[_0x1a4e('0x90')](_0x3af95b)),_0x21dac5=_0x4fdb55*_0x5de251+_0xf3de05*_0x81d2d0,_0x32b9c3=_0xadd2c1*_0x5de251+_0x5f21c6*_0x81d2d0+_0x4e3460*_0x38f2c8,_0x3f92ff=_0x1035a5*_0x5de251+_0x1cfc62*_0x81d2d0+_0x2172ba*_0x38f2c8,_0x4438c7=_0x29bd51*_0x5de251+_0x4d0f3e*_0x81d2d0;return _0x2e95b9=_0x28877c+0.00015835218*_0xd9c4df,'y'===_0x43c301&&(_0x2e95b9=_0x28877c),_0x3af95b=_0x2e95b9+0.1098*Math[_0x1a4e('0x8f')](_0x2e95b9),_0x21c178=_0x125b69+(_0x34ff41*(_0x5de251=0.5*(_0x38f2c8=Math['sin'](_0x3af95b))*_0x38f2c8-0.25)+_0x4b0e60*(_0x81d2d0=-0.5*_0x38f2c8*Math[_0x1a4e('0x90')](_0x3af95b))),_0x19c859=_0x21dac5+(_0x4d5699*_0x5de251+_0x1fc9a8*_0x81d2d0),_0x591249=_0x32b9c3+(_0x1fb6c3*_0x5de251+_0xacd63f*_0x81d2d0+_0x5d1a5c*_0x38f2c8),_0x4c9a1d=_0x3f92ff+(_0x44097c*_0x5de251+_0x43717a*_0x81d2d0+_0x43734a*_0x38f2c8),_0x4491a1=_0x4438c7+(_0x16fc45*_0x5de251+_0x5dee3d*_0x81d2d0),'n'===_0x43c301&&(_0x591249-=_0x4cdc6c,_0x4c9a1d-=_0x132f95,_0x4491a1-=_0x5d1f6a,_0x25e649+=_0x19c859-=_0x8b52e7,_0x50d94f+=_0x21c178-=_0x4e5b54,_0x9086c0=Math[_0x1a4e('0x8f')](_0x25e649),_0x1f0395=Math[_0x1a4e('0x90')](_0x25e649),_0x25e649>=0.2?(_0x378d60+=_0x4c9a1d-=_0x1f0395*(_0x4491a1/=_0x9086c0),_0x50d529+=_0x4491a1,_0x4abe74+=_0x591249):(_0x42a245=_0x9086c0*(_0x952ffc=Math[_0x1a4e('0x8f')](_0x50d529)),_0x39faf2=_0x9086c0*(_0x203fb2=Math[_0x1a4e('0x90')](_0x50d529)),_0x42a245+=_0x4491a1*_0x203fb2+_0x19c859*_0x1f0395*_0x952ffc,_0x39faf2+=-_0x4491a1*_0x952ffc+_0x19c859*_0x1f0395*_0x203fb2,(_0x50d529%=_0x63ca7c)<0x0&&'a'===_0x2887e4&&(_0x50d529+=_0x63ca7c),_0x27598a=_0x4abe74+_0x378d60+_0x1f0395*_0x50d529,_0x27598a+=_0x591249+_0x4c9a1d-_0x19c859*_0x50d529*_0x9086c0,_0x5b016d=_0x50d529,(_0x50d529=Math['atan2'](_0x42a245,_0x39faf2))<0x0&&'a'===_0x2887e4&&(_0x50d529+=_0x63ca7c),Math[_0x1a4e('0x65')](_0x5b016d-_0x50d529)>_0x1686c5&&(_0x50d529<_0x5b016d?_0x50d529+=_0x63ca7c:_0x50d529-=_0x63ca7c),_0x378d60=_0x27598a-(_0x4abe74+=_0x591249)-_0x1f0395*_0x50d529)),{'ep':_0x50d94f,'inclp':_0x25e649,'nodep':_0x50d529,'argpp':_0x378d60,'mp':_0x4abe74};}function _0x44f24a(_0x907be0){var _0x31c919=(_0x907be0-0x256859)/0x8ead,_0x4b0e60=-0.0000062*_0x31c919*_0x31c919*_0x31c919+0.093104*_0x31c919*_0x31c919+3164400184.812866*_0x31c919+67310.54841;return(_0x4b0e60=_0x4b0e60*_0x34ff41/0xf0%_0x63ca7c)<0x0&&(_0x4b0e60+=_0x63ca7c),_0x4b0e60;}function _0x54328e(){return(arguments[_0x1a4e('0x1e')]<=0x0?void 0x0:arguments[0x0])instanceof Date||arguments[_0x1a4e('0x1e')]>0x1?_0x44f24a(_0xf3de05['apply'](void 0x0,arguments)):_0x44f24a[_0x1a4e('0x8b')](void 0x0,arguments);}var _0x4b6c31=Object[_0x1a4e('0x200')]||function(_0x907be0){for(var _0x31c919=0x1;_0x31c9190x0?0x2d0:-0x2d0;for(var _0x535bf7=0x17d;0x17d===_0x535bf7;)0x2!==_0x31c919?(_0x1e7ca9=_0x1cfc62*Math['sin'](_0x45f019-0.13130908)+_0x2172ba*Math['sin'](0x2*(_0x45f019-2.8843198))+_0x29bd51*Math['sin'](0x3*(_0x45f019-0.37448087)),_0x4f6173=_0x1d1bbe+_0x58aafa,_0x52c059=_0x1cfc62*Math[_0x1a4e('0x90')](_0x45f019-0.13130908)+0x2*_0x2172ba*Math['cos'](0x2*(_0x45f019-2.8843198))+0x3*_0x29bd51*Math[_0x1a4e('0x90')](0x3*(_0x45f019-0.37448087)),_0x52c059*=_0x4f6173):(_0x515852=(_0x58b64b=_0x44f24a+_0x54328e*_0x19fa3b)+_0x58b64b,_0x3059a9=_0x45f019+_0x45f019,_0x1e7ca9=_0x4b0e60*Math[_0x1a4e('0x8f')](_0x515852+_0x45f019-_0x49f04e)+_0x1686c5*Math[_0x1a4e('0x8f')](_0x45f019-_0x49f04e)+_0x34ff41*Math[_0x1a4e('0x8f')](_0x58b64b+_0x45f019-_0x3d9676)+_0x4e5b54*Math[_0x1a4e('0x8f')](-_0x58b64b+_0x45f019-_0x3d9676)+_0x132f95*Math[_0x1a4e('0x8f')](_0x515852+_0x3059a9-_0x3cda97)+_0x5d1f6a*Math[_0x1a4e('0x8f')](_0x3059a9-_0x3cda97)+_0x8b52e7*Math['sin'](_0x58b64b+_0x45f019-_0x1d15c6)+_0x4cdc6c*Math[_0x1a4e('0x8f')](-_0x58b64b+_0x45f019-_0x1d15c6)+_0xda4bb3*Math[_0x1a4e('0x8f')](_0x58b64b+_0x3059a9-_0x2243ac)+_0x25950b*Math[_0x1a4e('0x8f')](-_0x58b64b+_0x3059a9-_0x2243ac),_0x4f6173=_0x1d1bbe+_0x58aafa,_0x52c059=_0x4b0e60*Math[_0x1a4e('0x90')](_0x515852+_0x45f019-_0x49f04e)+_0x1686c5*Math[_0x1a4e('0x90')](_0x45f019-_0x49f04e)+_0x34ff41*Math[_0x1a4e('0x90')](_0x58b64b+_0x45f019-_0x3d9676)+_0x4e5b54*Math[_0x1a4e('0x90')](-_0x58b64b+_0x45f019-_0x3d9676)+_0x8b52e7*Math[_0x1a4e('0x90')](_0x58b64b+_0x45f019-_0x1d15c6)+_0x4cdc6c*Math[_0x1a4e('0x90')](-_0x58b64b+_0x45f019-_0x1d15c6)+0x2*_0x132f95*Math[_0x1a4e('0x90')](_0x515852+_0x3059a9-_0x3cda97)+_0x5d1f6a*Math['cos'](_0x3059a9-_0x3cda97)+_0xda4bb3*Math['cos'](_0x58b64b+_0x3059a9-_0x2243ac)+_0x25950b*Math[_0x1a4e('0x90')](-_0x58b64b+_0x3059a9-_0x2243ac),_0x52c059*=_0x4f6173),Math[_0x1a4e('0x65')](_0x4b6c31-_0x19fa3b)>=0x2d0?_0x535bf7=0x17d:(_0x3f2477=_0x4b6c31-_0x19fa3b,_0x535bf7=0x0),0x17d===_0x535bf7&&(_0x45f019+=_0x4f6173*_0x35a697+0x3f480*_0x1e7ca9,_0x1d1bbe+=_0x1e7ca9*_0x35a697+0x3f480*_0x52c059,_0x19fa3b+=_0x35a697);_0x41db18=_0x1d1bbe+_0x1e7ca9*_0x3f2477+_0x52c059*_0x3f2477*_0x3f2477*0.5,_0x5ce2bd=_0x45f019+_0x4f6173*_0x3f2477+_0x1e7ca9*_0x3f2477*_0x3f2477*0.5,0x1!==_0x31c919?(_0x2bebdc=_0x5ce2bd-0x2*_0x59e40c+0x2*_0x58c65e,_0x48ea08=_0x41db18-_0x3e845a):(_0x2bebdc=_0x5ce2bd-_0x59e40c-_0x2f35a0+_0x58c65e,_0x48ea08=_0x41db18-_0x3e845a),_0x41db18=_0x3e845a+_0x48ea08;}return{'atime':_0x19fa3b,'em':_0x57c042,'argpm':_0x2f35a0,'inclm':_0x322993,'xli':_0x45f019,'mm':_0x2bebdc,'xni':_0x1d1bbe,'nodem':_0x59e40c,'dndt':_0x48ea08,'nm':_0x41db18};}({'irez':_0x4b0e60['irez'],'d2201':_0x4b0e60['d2201'],'d2211':_0x4b0e60[_0x1a4e('0x56ea')],'d3210':_0x4b0e60[_0x1a4e('0x56d4')],'d3222':_0x4b0e60['d3222'],'d4410':_0x4b0e60[_0x1a4e('0x56d6')],'d4422':_0x4b0e60[_0x1a4e('0x56eb')],'d5220':_0x4b0e60['d5220'],'d5232':_0x4b0e60[_0x1a4e('0x56ec')],'d5421':_0x4b0e60['d5421'],'d5433':_0x4b0e60[_0x1a4e('0x56d9')],'dedt':_0x4b0e60[_0x1a4e('0x56da')],'del1':_0x4b0e60[_0x1a4e('0x56db')],'del2':_0x4b0e60[_0x1a4e('0x56ed')],'del3':_0x4b0e60[_0x1a4e('0x56dc')],'didt':_0x4b0e60['didt'],'dmdt':_0x4b0e60[_0x1a4e('0x56de')],'dnodt':_0x4b0e60[_0x1a4e('0x56df')],'domdt':_0x4b0e60[_0x1a4e('0x56e0')],'argpo':_0x4b0e60['argpo'],'argpdot':_0x4b0e60['argpdot'],'t':_0x4b0e60['t'],'tc':_0x48ef44,'gsto':_0x4b0e60[_0x1a4e('0x56e2')],'xfact':_0x4b0e60[_0x1a4e('0x56e3')],'xlamo':_0x4b0e60[_0x1a4e('0x56e4')],'no':_0x4b0e60['no'],'atime':_0x4b0e60[_0x1a4e('0x56e5')],'em':_0x3059a9,'argpm':_0x4d0f3e,'inclm':_0x57c042,'xli':_0x4b0e60[_0x1a4e('0x56ee')],'mm':_0x2f35a0,'xni':_0x4b0e60[_0x1a4e('0x56e8')],'nodem':_0x45f019,'nm':_0x322993});_0x3059a9=_0x515852['em'],_0x4d0f3e=_0x515852[_0x1a4e('0x56e6')],_0x57c042=_0x515852[_0x1a4e('0x56e7')],_0x2f35a0=_0x515852['mm'],_0x45f019=_0x515852[_0x1a4e('0x56e9')],_0x322993=_0x515852['nm'];}if(_0x322993<=0x0)return _0x4b0e60['error']=0x2,[!0x1,!0x1];var _0x2575cf=Math[_0x1a4e('0x8e')](_0x8b52e7/_0x322993,_0x2172ba)*_0x355869*_0x355869;if(_0x322993=_0x8b52e7/Math['pow'](_0x2575cf,1.5),(_0x3059a9-=_0x3e845a)>=0x1||_0x3059a9<-0.001)return _0x4b0e60[_0x1a4e('0x873')]=0x1,[!0x1,!0x1];_0x3059a9<0.000001&&(_0x3059a9=0.000001),_0x1d1bbe=(_0x2f35a0+=_0x4b0e60['no']*_0x19fa3b)+_0x4d0f3e+_0x45f019;var _0x59e579=_0x3059a9;if(_0x2bebdc=_0x57c042,_0x4fdb55=_0x4d0f3e%=_0x63ca7c,_0x41db18=_0x45f019%=_0x63ca7c,_0x59e40c=_0x2f35a0=((_0x1d1bbe%=_0x63ca7c)-_0x4d0f3e-_0x45f019)%_0x63ca7c,_0x4cdc6c=Math['sin'](_0x57c042),_0x132f95=Math[_0x1a4e('0x90')](_0x57c042),'d'===_0x4b0e60[_0x1a4e('0x1062')]){var _0x13e591=_0xadd2c1(_0x4b0e60,{'inclo':_0x4b0e60[_0x1a4e('0x56ef')],'init':'n','ep':_0x59e579,'inclp':_0x2bebdc,'nodep':_0x41db18,'argpp':_0x4fdb55,'mp':_0x59e40c,'opsmode':_0x4b0e60[_0x1a4e('0x56f0')]});if(_0x59e579=_0x13e591['ep'],_0x41db18=_0x13e591[_0x1a4e('0x56f1')],_0x4fdb55=_0x13e591[_0x1a4e('0x56c1')],_0x59e40c=_0x13e591['mp'],(_0x2bebdc=_0x13e591[_0x1a4e('0x56c0')])<0x0&&(_0x2bebdc=-_0x2bebdc,_0x41db18+=_0x1686c5,_0x4fdb55-=_0x1686c5),_0x59e579<0x0||_0x59e579>0x1)return _0x4b0e60[_0x1a4e('0x873')]=0x3,[!0x1,!0x1];}'d'===_0x4b0e60[_0x1a4e('0x1062')]&&(_0x4cdc6c=Math[_0x1a4e('0x8f')](_0x2bebdc),_0x132f95=Math[_0x1a4e('0x90')](_0x2bebdc),_0x4b0e60[_0x1a4e('0x56f2')]=-0.5*_0x1cfc62*_0x4cdc6c,Math['abs'](_0x132f95+0x1)>1.5e-12?_0x4b0e60['xlcof']=-0.25*_0x1cfc62*_0x4cdc6c*(0x3+0x5*_0x132f95)/(0x1+_0x132f95):_0x4b0e60[_0x1a4e('0x56f3')]=-0.25*_0x1cfc62*_0x4cdc6c*(0x3+0x5*_0x132f95)/1.5e-12);var _0x3eebb9=_0x59e579*Math['cos'](_0x4fdb55);_0x58aafa=0x1/(_0x2575cf*(0x1-_0x59e579*_0x59e579));var _0x2e772d=_0x59e579*Math[_0x1a4e('0x8f')](_0x4fdb55)+_0x58aafa*_0x4b0e60[_0x1a4e('0x56f2')],_0x47522a=(_0x59e40c+_0x4fdb55+_0x41db18+_0x58aafa*_0x4b0e60[_0x1a4e('0x56f3')]*_0x3eebb9-_0x41db18)%_0x63ca7c;_0x29bd51=_0x47522a,_0x8996c7=9999.9;for(var _0x29229e=0x1;Math[_0x1a4e('0x65')](_0x8996c7)>=1e-12&&_0x29229e<=0xa;)_0x4e5b54=Math[_0x1a4e('0x8f')](_0x29bd51),_0x8996c7=(_0x47522a-_0x2e772d*(_0x34ff41=Math[_0x1a4e('0x90')](_0x29bd51))+_0x3eebb9*_0x4e5b54-_0x29bd51)/(_0x8996c7=0x1-_0x34ff41*_0x3eebb9-_0x4e5b54*_0x2e772d),Math[_0x1a4e('0x65')](_0x8996c7)>=0.95&&(_0x8996c7=_0x8996c7>0x0?0.95:-0.95),_0x29bd51+=_0x8996c7,_0x29229e+=0x1;var _0x5d01da=_0x3eebb9*_0x34ff41+_0x2e772d*_0x4e5b54,_0x2a1b8a=_0x3eebb9*_0x4e5b54-_0x2e772d*_0x34ff41,_0x1b722e=_0x3eebb9*_0x3eebb9+_0x2e772d*_0x2e772d,_0x1c36a6=_0x2575cf*(0x1-_0x1b722e);if(_0x1c36a6<0x0)return _0x4b0e60[_0x1a4e('0x873')]=0x4,[!0x1,!0x1];var _0x499577=_0x2575cf*(0x1-_0x5d01da),_0x480457=Math[_0x1a4e('0x91')](_0x2575cf)*_0x2a1b8a/_0x499577,_0x45785c=Math['sqrt'](_0x1c36a6)/_0x499577,_0x4054cd=Math[_0x1a4e('0x91')](0x1-_0x1b722e),_0x5160e2=_0x2575cf/_0x499577*(_0x4e5b54-_0x2e772d-_0x3eebb9*(_0x58aafa=_0x2a1b8a/(0x1+_0x4054cd))),_0xdaf7cd=_0x2575cf/_0x499577*(_0x34ff41-_0x3eebb9+_0x2e772d*_0x58aafa);_0xf3de05=Math[_0x1a4e('0xa6')](_0x5160e2,_0xdaf7cd);var _0x7d675=(_0xdaf7cd+_0xdaf7cd)*_0x5160e2,_0xd006a6=0x1-0x2*_0x5160e2*_0x5160e2,_0x3983a3=0.5*_0xda4bb3*(_0x58aafa=0x1/_0x1c36a6),_0x5bd41f=_0x3983a3*_0x58aafa;'d'===_0x4b0e60[_0x1a4e('0x1062')]&&(_0x25950b=_0x132f95*_0x132f95,_0x4b0e60[_0x1a4e('0x56f4')]=0x3*_0x25950b-0x1,_0x4b0e60[_0x1a4e('0x56f5')]=0x1-_0x25950b,_0x4b0e60['x7thm1']=0x7*_0x25950b-0x1);var _0x55cfc5=_0x499577*(0x1-1.5*_0x5bd41f*_0x4054cd*_0x4b0e60[_0x1a4e('0x56f4')])+0.5*_0x3983a3*_0x4b0e60[_0x1a4e('0x56f5')]*_0xd006a6;_0xf3de05-=0.25*_0x5bd41f*_0x4b0e60[_0x1a4e('0x56f6')]*_0x7d675;var _0x5b3fa8=_0x41db18+1.5*_0x5bd41f*_0x132f95*_0x7d675,_0x17ad29=_0x2bebdc+1.5*_0x5bd41f*_0x132f95*_0x4cdc6c*_0xd006a6,_0x3132c4=_0x480457-_0x322993*_0x3983a3*_0x4b0e60[_0x1a4e('0x56f5')]*_0x7d675/_0x8b52e7,_0x86543d=_0x45785c+_0x322993*_0x3983a3*(_0x4b0e60['x1mth2']*_0xd006a6+1.5*_0x4b0e60[_0x1a4e('0x56f4')])/_0x8b52e7,_0x5d8cd5=Math[_0x1a4e('0x8f')](_0xf3de05),_0x5e1471=Math['cos'](_0xf3de05),_0x19e21d=Math['sin'](_0x5b3fa8),_0x4bbd69=Math[_0x1a4e('0x90')](_0x5b3fa8),_0x488d46=Math[_0x1a4e('0x8f')](_0x17ad29),_0x183b61=Math['cos'](_0x17ad29),_0x20b6d8=-_0x19e21d*_0x183b61,_0x597ae5=_0x4bbd69*_0x183b61,_0xdf731=_0x20b6d8*_0x5d8cd5+_0x4bbd69*_0x5e1471,_0x46fc34=_0x597ae5*_0x5d8cd5+_0x19e21d*_0x5e1471,_0x1c6d59=_0x488d46*_0x5d8cd5,_0x1ef221={'x':_0x55cfc5*_0xdf731*_0x5d1f6a,'y':_0x55cfc5*_0x46fc34*_0x5d1f6a,'z':_0x55cfc5*_0x1c6d59*_0x5d1f6a},_0x14f023={'x':(_0x3132c4*_0xdf731+_0x86543d*(_0x20b6d8*_0x5e1471-_0x4bbd69*_0x5d8cd5))*_0x49f04e,'y':(_0x3132c4*_0x46fc34+_0x86543d*(_0x597ae5*_0x5e1471-_0x19e21d*_0x5d8cd5))*_0x49f04e,'z':(_0x3132c4*_0x1c6d59+_0x86543d*(_0x488d46*_0x5e1471))*_0x49f04e};return _0x55cfc5<0x1?(_0x4b0e60[_0x1a4e('0x873')]=0x6,{'position':!0x1,'velocity':!0x1,'satrec':_0x4b0e60}):{'position':_0x1ef221,'velocity':_0x14f023,'satrec':_0x4b0e60};}function _0x45f812(_0x907be0,_0x31c919){var _0x4b0e60=_0x4b6c31({},_0x907be0),_0x34ff41=_0x31c919[_0x1a4e('0x56bf')],_0x4e5b54=_0x31c919['satn'],_0x132f95=_0x31c919[_0x1a4e('0x56f7')],_0x4cdc6c=_0x31c919['xbstar'],_0x25950b=_0x31c919['xecco'],_0x29bd51=_0x31c919['xargpo'],_0x4d0f3e=_0x31c919[_0x1a4e('0x56f8')],_0x4fdb55=_0x31c919[_0x1a4e('0x56f9')],_0xf3de05=_0x31c919[_0x1a4e('0x56fa')],_0x44f24a=_0x31c919[_0x1a4e('0x56fb')],_0x48ef44=void 0x0,_0x45f812=void 0x0,_0x47051c=void 0x0,_0x111a27=void 0x0,_0x28263a=void 0x0,_0xcdd192=void 0x0,_0x4bf613=void 0x0,_0x52d2b4=void 0x0,_0x5a4910=void 0x0,_0x5d5a83=void 0x0,_0x3c5b32=void 0x0,_0x46f02f=void 0x0,_0x43c9ec=void 0x0,_0x2cc029=void 0x0,_0x2d4221=void 0x0,_0x3abb7a=void 0x0,_0x4e05b0=void 0x0,_0x56407d=void 0x0,_0x54fbc3=void 0x0,_0x4f7d3c=void 0x0,_0x179396=void 0x0,_0x1d77f6=void 0x0,_0x42ccb4=void 0x0,_0x4e17b7=void 0x0,_0x1384b0=void 0x0,_0x2580e5=void 0x0,_0x439b4e=void 0x0,_0x2b2a42=void 0x0,_0x491c08=void 0x0,_0x425795=void 0x0,_0xee1877=void 0x0,_0x23aac8=void 0x0,_0x1f984a=void 0x0,_0x241d1a=void 0x0,_0x1d9a3c=void 0x0,_0x4b9b1f=void 0x0,_0x35cc68=void 0x0,_0x9c1d50=void 0x0,_0xa0a0f8=void 0x0,_0x17fd21=void 0x0,_0x48cd24=void 0x0,_0x5baf78=void 0x0,_0x1439a8=void 0x0,_0x5609d4=void 0x0,_0x1fc736=void 0x0,_0x576859=void 0x0,_0x2cfd43=void 0x0,_0x4af43f=void 0x0,_0x33514b=void 0x0,_0x19fc71=void 0x0,_0x1b258a=void 0x0,_0x134568=void 0x0,_0x3b62e1=void 0x0,_0x987589=void 0x0,_0x23838b=void 0x0,_0x5093bc=void 0x0;_0x4b0e60[_0x1a4e('0x56c8')]=0x0,_0x4b0e60[_0x1a4e('0x1062')]='n',_0x4b0e60['aycof']=0x0,_0x4b0e60[_0x1a4e('0x56f4')]=0x0,_0x4b0e60[_0x1a4e('0x56c6')]=0x0,_0x4b0e60['cc4']=0x0,_0x4b0e60[_0x1a4e('0x56cc')]=0x0,_0x4b0e60['d2']=0x0,_0x4b0e60['d3']=0x0,_0x4b0e60['d4']=0x0,_0x4b0e60[_0x1a4e('0x56fc')]=0x0,_0x4b0e60['eta']=0x0,_0x4b0e60[_0x1a4e('0x56c3')]=0x0,_0x4b0e60['omgcof']=0x0,_0x4b0e60[_0x1a4e('0x56cd')]=0x0,_0x4b0e60['t']=0x0,_0x4b0e60[_0x1a4e('0x56fd')]=0x0,_0x4b0e60['t3cof']=0x0,_0x4b0e60[_0x1a4e('0x56cf')]=0x0,_0x4b0e60[_0x1a4e('0x56d0')]=0x0,_0x4b0e60[_0x1a4e('0x56f5')]=0x0,_0x4b0e60['x7thm1']=0x0,_0x4b0e60[_0x1a4e('0x56c2')]=0x0,_0x4b0e60[_0x1a4e('0x56c5')]=0x0,_0x4b0e60[_0x1a4e('0x56f3')]=0x0,_0x4b0e60[_0x1a4e('0x56fe')]=0x0,_0x4b0e60['nodecf']=0x0,_0x4b0e60[_0x1a4e('0x56d2')]=0x0,_0x4b0e60[_0x1a4e('0x56d3')]=0x0,_0x4b0e60[_0x1a4e('0x56ea')]=0x0,_0x4b0e60[_0x1a4e('0x56d4')]=0x0,_0x4b0e60['d3222']=0x0,_0x4b0e60[_0x1a4e('0x56d6')]=0x0,_0x4b0e60[_0x1a4e('0x56eb')]=0x0,_0x4b0e60[_0x1a4e('0x56d7')]=0x0,_0x4b0e60[_0x1a4e('0x56ec')]=0x0,_0x4b0e60[_0x1a4e('0x56d8')]=0x0,_0x4b0e60['d5433']=0x0,_0x4b0e60[_0x1a4e('0x56da')]=0x0,_0x4b0e60['del1']=0x0,_0x4b0e60[_0x1a4e('0x56ed')]=0x0,_0x4b0e60[_0x1a4e('0x56dc')]=0x0,_0x4b0e60[_0x1a4e('0x56dd')]=0x0,_0x4b0e60[_0x1a4e('0x56de')]=0x0,_0x4b0e60[_0x1a4e('0x56df')]=0x0,_0x4b0e60[_0x1a4e('0x56e0')]=0x0,_0x4b0e60['e3']=0x0,_0x4b0e60[_0x1a4e('0x56a5')]=0x0,_0x4b0e60[_0x1a4e('0x56a6')]=0x0,_0x4b0e60[_0x1a4e('0x56ff')]=0x0,_0x4b0e60['pho']=0x0,_0x4b0e60[_0x1a4e('0x56a8')]=0x0,_0x4b0e60['plo']=0x0,_0x4b0e60[_0x1a4e('0x56a9')]=0x0,_0x4b0e60[_0x1a4e('0x56aa')]=0x0,_0x4b0e60[_0x1a4e('0x56ab')]=0x0,_0x4b0e60[_0x1a4e('0x56ac')]=0x0,_0x4b0e60[_0x1a4e('0x56ad')]=0x0,_0x4b0e60[_0x1a4e('0x5700')]=0x0,_0x4b0e60[_0x1a4e('0x56ae')]=0x0,_0x4b0e60[_0x1a4e('0x56af')]=0x0,_0x4b0e60[_0x1a4e('0x56b0')]=0x0,_0x4b0e60[_0x1a4e('0x56b1')]=0x0,_0x4b0e60[_0x1a4e('0x56b2')]=0x0,_0x4b0e60[_0x1a4e('0x56b3')]=0x0,_0x4b0e60['gsto']=0x0,_0x4b0e60[_0x1a4e('0x56e3')]=0x0,_0x4b0e60['xgh2']=0x0,_0x4b0e60[_0x1a4e('0x56b5')]=0x0,_0x4b0e60[_0x1a4e('0x56b6')]=0x0,_0x4b0e60[_0x1a4e('0x56b7')]=0x0,_0x4b0e60[_0x1a4e('0x56b8')]=0x0,_0x4b0e60[_0x1a4e('0x56b9')]=0x0,_0x4b0e60[_0x1a4e('0x56ba')]=0x0,_0x4b0e60['xl2']=0x0,_0x4b0e60[_0x1a4e('0x56bc')]=0x0,_0x4b0e60[_0x1a4e('0x5701')]=0x0,_0x4b0e60['xlamo']=0x0,_0x4b0e60[_0x1a4e('0x56bd')]=0x0,_0x4b0e60['zmos']=0x0,_0x4b0e60[_0x1a4e('0x56e5')]=0x0,_0x4b0e60['xli']=0x0,_0x4b0e60['xni']=0x0,_0x4b0e60[_0x1a4e('0x56cb')]=_0x4cdc6c,_0x4b0e60[_0x1a4e('0x56d1')]=_0x25950b,_0x4b0e60['argpo']=_0x29bd51,_0x4b0e60[_0x1a4e('0x56ef')]=_0x4d0f3e,_0x4b0e60['mo']=_0x4fdb55,_0x4b0e60['no']=_0xf3de05,_0x4b0e60[_0x1a4e('0x56c4')]=_0x44f24a,_0x4b0e60[_0x1a4e('0x5702')]=_0x34ff41;var _0x40e123=0x4e/_0x5d1f6a+0x1,_0x3013ec=0x2a/_0x5d1f6a,_0x127566=_0x3013ec*_0x3013ec*_0x3013ec*_0x3013ec;_0x4b0e60['init']='y',_0x4b0e60['t']=0x0;var _0x1307d5=function(_0x907be0){var _0x31c919=_0x907be0[_0x1a4e('0x56d1')],_0x4b0e60=_0x907be0[_0x1a4e('0x56f7')],_0x1686c5=_0x907be0[_0x1a4e('0x56ef')],_0x34ff41=_0x907be0[_0x1a4e('0x56bf')],_0x4e5b54=_0x907be0['no'],_0x132f95=_0x31c919*_0x31c919,_0x5d1f6a=0x1-_0x132f95,_0x4cdc6c=Math[_0x1a4e('0x91')](_0x5d1f6a),_0x25950b=Math[_0x1a4e('0x90')](_0x1686c5),_0x1035a5=_0x25950b*_0x25950b,_0x1cfc62=Math[_0x1a4e('0x8e')](_0x8b52e7/_0x4e5b54,_0x2172ba),_0x29bd51=0.75*_0xda4bb3*(0x3*_0x1035a5-0x1)/(_0x4cdc6c*_0x5d1f6a),_0x4d0f3e=_0x29bd51/(_0x1cfc62*_0x1cfc62),_0x4fdb55=_0x1cfc62*(0x1-_0x4d0f3e*_0x4d0f3e-_0x4d0f3e*(0x1/0x3+0x86*_0x4d0f3e*_0x4d0f3e/0x51));_0x4e5b54/=0x1+(_0x4d0f3e=_0x29bd51/(_0x4fdb55*_0x4fdb55));var _0xf3de05=Math[_0x1a4e('0x8e')](_0x8b52e7/_0x4e5b54,_0x2172ba),_0xadd2c1=Math[_0x1a4e('0x8f')](_0x1686c5),_0x44f24a=_0xf3de05*_0x5d1f6a,_0x4b6c31=0x1-0x5*_0x1035a5,_0x48ef44=-_0x4b6c31-_0x1035a5-_0x1035a5,_0x8996c7=0x1/_0xf3de05,_0x45f812=_0x44f24a*_0x44f24a,_0x47051c=_0xf3de05*(0x1-_0x31c919),_0x111a27=void 0x0;if('a'===_0x34ff41){var _0x28263a=_0x4b0e60-0x1c89,_0xcdd192=Math[_0x1a4e('0xb4')](_0x28263a+1e-8),_0x4bf613=0.017202791694070362;(_0x111a27=(1.7321343856509375+_0x4bf613*_0xcdd192+(_0x4bf613+_0x63ca7c)*(_0x28263a-_0xcdd192)+_0x28263a*_0x28263a*5.075514194322695e-15)%_0x63ca7c)<0x0&&(_0x111a27+=_0x63ca7c);}else _0x111a27=_0x54328e(_0x4b0e60+2433281.5);return{'no':_0x4e5b54,'method':'n','ainv':_0x8996c7,'ao':_0xf3de05,'con41':_0x48ef44,'con42':_0x4b6c31,'cosio':_0x25950b,'cosio2':_0x1035a5,'eccsq':_0x132f95,'omeosq':_0x5d1f6a,'posq':_0x45f812,'rp':_0x47051c,'rteosq':_0x4cdc6c,'sinio':_0xadd2c1,'gsto':_0x111a27};}({'satn':_0x4e5b54,'ecco':_0x4b0e60[_0x1a4e('0x56d1')],'epoch':_0x132f95,'inclo':_0x4b0e60['inclo'],'no':_0x4b0e60['no'],'method':_0x4b0e60[_0x1a4e('0x1062')],'opsmode':_0x4b0e60[_0x1a4e('0x5702')]}),_0x279112=_0x1307d5['ao'],_0x2f8288=_0x1307d5[_0x1a4e('0x5703')],_0x454005=_0x1307d5['cosio'],_0xfd56e0=_0x1307d5[_0x1a4e('0x5704')],_0x20c10c=_0x1307d5[_0x1a4e('0x5705')],_0x2e4929=_0x1307d5['omeosq'],_0x328bab=_0x1307d5[_0x1a4e('0x5706')],_0x6978b1=_0x1307d5['rp'],_0x16f2f5=_0x1307d5[_0x1a4e('0x5707')],_0x62bdd2=_0x1307d5['sinio'];if(_0x4b0e60['no']=_0x1307d5['no'],_0x4b0e60[_0x1a4e('0x56f4')]=_0x1307d5['con41'],_0x4b0e60[_0x1a4e('0x56e2')]=_0x1307d5['gsto'],_0x4b0e60['error']=0x0,_0x2e4929>=0x0||_0x4b0e60['no']>=0x0){if(_0x4b0e60['isimp']=0x0,(_0x6978b1<0xdc/_0x5d1f6a)+0x1&&(_0x4b0e60['isimp']=0x1),_0x439b4e=_0x40e123,_0x179396=_0x127566,(_0x56407d=(_0x6978b1-0x1)*_0x5d1f6a)<0x9c){_0x439b4e=_0x56407d-0x4e,_0x56407d<0x62&&(_0x439b4e=0x14);var _0x5e4d10=(0x78-_0x439b4e)/_0x5d1f6a;_0x179396=_0x5e4d10*_0x5e4d10*_0x5e4d10*_0x5e4d10,_0x439b4e=_0x439b4e/_0x5d1f6a+0x1;}_0x54fbc3=0x1/_0x328bab,_0x576859=0x1/(_0x279112-_0x439b4e),_0x4b0e60[_0x1a4e('0x56ca')]=_0x279112*_0x4b0e60[_0x1a4e('0x56d1')]*_0x576859,_0x46f02f=_0x4b0e60[_0x1a4e('0x56ca')]*_0x4b0e60[_0x1a4e('0x56ca')],_0x3c5b32=_0x4b0e60[_0x1a4e('0x56d1')]*_0x4b0e60[_0x1a4e('0x56ca')],_0x4f7d3c=Math[_0x1a4e('0x65')](0x1-_0x46f02f),_0x111a27=(_0x4bf613=(_0xcdd192=_0x179396*Math[_0x1a4e('0x8e')](_0x576859,0x4))/Math['pow'](_0x4f7d3c,3.5))*_0x4b0e60['no']*(_0x279112*(0x1+1.5*_0x46f02f+_0x3c5b32*(0x4+_0x46f02f))+0.375*_0xda4bb3*_0x576859/_0x4f7d3c*_0x4b0e60[_0x1a4e('0x56f4')]*(0x8+0x3*_0x46f02f*(0x8+_0x46f02f))),_0x4b0e60['cc1']=_0x4b0e60[_0x1a4e('0x56cb')]*_0x111a27,_0x28263a=0x0,_0x4b0e60[_0x1a4e('0x56d1')]>0.0001&&(_0x28263a=-0x2*_0xcdd192*_0x576859*_0x1cfc62*_0x4b0e60['no']*_0x62bdd2/_0x4b0e60['ecco']),_0x4b0e60[_0x1a4e('0x56f5')]=0x1-_0xfd56e0,_0x4b0e60['cc4']=0x2*_0x4b0e60['no']*_0x4bf613*_0x279112*_0x2e4929*(_0x4b0e60[_0x1a4e('0x56ca')]*(0x2+0.5*_0x46f02f)+_0x4b0e60[_0x1a4e('0x56d1')]*(0.5+0x2*_0x46f02f)-_0xda4bb3*_0x576859/(_0x279112*_0x4f7d3c)*(-0x3*_0x4b0e60[_0x1a4e('0x56f4')]*(0x1-0x2*_0x3c5b32+_0x46f02f*(1.5-0.5*_0x3c5b32))+0.75*_0x4b0e60['x1mth2']*(0x2*_0x46f02f-_0x3c5b32*(0x1+_0x46f02f))*Math[_0x1a4e('0x90')](0x2*_0x4b0e60[_0x1a4e('0x56e1')]))),_0x4b0e60[_0x1a4e('0x56cc')]=0x2*_0x4bf613*_0x279112*_0x2e4929*(0x1+2.75*(_0x46f02f+_0x3c5b32)+_0x3c5b32*_0x46f02f),_0x52d2b4=_0xfd56e0*_0xfd56e0,_0x5609d4=0.5*(_0x1439a8=1.5*_0xda4bb3*_0x54fbc3*_0x4b0e60['no'])*_0xda4bb3*_0x54fbc3,_0x1fc736=-0.46875*_0x1035a5*_0x54fbc3*_0x54fbc3*_0x4b0e60['no'],_0x4b0e60['mdot']=_0x4b0e60['no']+0.5*_0x1439a8*_0x16f2f5*_0x4b0e60[_0x1a4e('0x56f4')]+0.0625*_0x5609d4*_0x16f2f5*(0xd-0x4e*_0xfd56e0+0x89*_0x52d2b4),_0x4b0e60[_0x1a4e('0x56c3')]=-0.5*_0x1439a8*_0x2f8288+0.0625*_0x5609d4*(0x7-0x72*_0xfd56e0+0x18b*_0x52d2b4)+_0x1fc736*(0x3-0x24*_0xfd56e0+0x31*_0x52d2b4),_0x4af43f=-_0x1439a8*_0x454005,_0x4b0e60[_0x1a4e('0x56c5')]=_0x4af43f+(0.5*_0x5609d4*(0x4-0x13*_0xfd56e0)+0x2*_0x1fc736*(0x3-0x7*_0xfd56e0))*_0x454005,_0x2cfd43=_0x4b0e60[_0x1a4e('0x56c3')]+_0x4b0e60[_0x1a4e('0x56c5')],_0x4b0e60[_0x1a4e('0x56c9')]=_0x4b0e60[_0x1a4e('0x56cb')]*_0x28263a*Math[_0x1a4e('0x90')](_0x4b0e60['argpo']),_0x4b0e60[_0x1a4e('0x56fe')]=0x0,_0x4b0e60['ecco']>0.0001&&(_0x4b0e60[_0x1a4e('0x56fe')]=-_0x2172ba*_0xcdd192*_0x4b0e60[_0x1a4e('0x56cb')]/_0x3c5b32),_0x4b0e60[_0x1a4e('0x5708')]=3.5*_0x2e4929*_0x4af43f*_0x4b0e60[_0x1a4e('0x56c6')],_0x4b0e60[_0x1a4e('0x56fd')]=1.5*_0x4b0e60[_0x1a4e('0x56c6')],Math[_0x1a4e('0x65')](_0x454005+0x1)>1.5e-12?_0x4b0e60[_0x1a4e('0x56f3')]=-0.25*_0x1cfc62*_0x62bdd2*(0x3+0x5*_0x454005)/(0x1+_0x454005):_0x4b0e60['xlcof']=-0.25*_0x1cfc62*_0x62bdd2*(0x3+0x5*_0x454005)/1.5e-12,_0x4b0e60[_0x1a4e('0x56f2')]=-0.5*_0x1cfc62*_0x62bdd2;var _0x21a05f=0x1+_0x4b0e60[_0x1a4e('0x56ca')]*Math[_0x1a4e('0x90')](_0x4b0e60['mo']);if(_0x4b0e60[_0x1a4e('0x56fc')]=_0x21a05f*_0x21a05f*_0x21a05f,_0x4b0e60[_0x1a4e('0x56cd')]=Math[_0x1a4e('0x8f')](_0x4b0e60['mo']),_0x4b0e60[_0x1a4e('0x56f6')]=0x7*_0xfd56e0-0x1,0x2*_0x1686c5/_0x4b0e60['no']>=0xe1){_0x4b0e60['method']='d',_0x4b0e60[_0x1a4e('0x56c8')]=0x1,_0x48cd24=0x0,_0x2d4221=_0x4b0e60['inclo'];var _0x3839b3=function(_0x907be0){var _0x31c919=_0x907be0[_0x1a4e('0x56f7')],_0x4b0e60=_0x907be0['ep'],_0x1686c5=_0x907be0[_0x1a4e('0x56c1')],_0x34ff41=_0x907be0['tc'],_0x4e5b54=_0x907be0[_0x1a4e('0x56c0')],_0x132f95=_0x907be0[_0x1a4e('0x56f1')],_0x5d1f6a=void 0x0,_0x8b52e7=void 0x0,_0x4cdc6c=void 0x0,_0xda4bb3=void 0x0,_0x25950b=void 0x0,_0x1035a5=void 0x0,_0x1cfc62=void 0x0,_0x2172ba=void 0x0,_0x29bd51=void 0x0,_0x4d0f3e=void 0x0,_0x4fdb55=void 0x0,_0xf3de05=void 0x0,_0xadd2c1=void 0x0,_0x44f24a=void 0x0,_0x54328e=void 0x0,_0x4b6c31=void 0x0,_0x48ef44=void 0x0,_0x8996c7=void 0x0,_0x45f812=void 0x0,_0x47051c=void 0x0,_0x111a27=void 0x0,_0x28263a=void 0x0,_0xcdd192=void 0x0,_0x4bf613=void 0x0,_0x52d2b4=void 0x0,_0x5a4910=void 0x0,_0x5d5a83=void 0x0,_0x3c5b32=void 0x0,_0x46f02f=void 0x0,_0x43c9ec=void 0x0,_0x2cc029=void 0x0,_0x2d4221=void 0x0,_0x3abb7a=void 0x0,_0x4e05b0=void 0x0,_0x56407d=void 0x0,_0x54fbc3=void 0x0,_0x4f7d3c=void 0x0,_0x179396=void 0x0,_0x1d77f6=void 0x0,_0x42ccb4=void 0x0,_0x4e17b7=void 0x0,_0x1384b0=void 0x0,_0x2580e5=void 0x0,_0x439b4e=void 0x0,_0x2b2a42=void 0x0,_0x491c08=void 0x0,_0x425795=void 0x0,_0xee1877=void 0x0,_0x23aac8=void 0x0,_0x1f984a=void 0x0,_0x241d1a=void 0x0,_0x1d9a3c=void 0x0,_0x4b9b1f=void 0x0,_0x35cc68=void 0x0,_0x9c1d50=void 0x0,_0xa0a0f8=void 0x0,_0x17fd21=void 0x0,_0x48cd24=void 0x0,_0x5baf78=void 0x0,_0x1439a8=void 0x0,_0x5609d4=void 0x0,_0x1fc736=void 0x0,_0x576859=void 0x0,_0x2cfd43=_0x907be0['np'],_0x4af43f=_0x4b0e60,_0x33514b=Math[_0x1a4e('0x8f')](_0x132f95),_0x19fc71=Math[_0x1a4e('0x90')](_0x132f95),_0x1b258a=Math[_0x1a4e('0x8f')](_0x1686c5),_0x134568=Math[_0x1a4e('0x90')](_0x1686c5),_0x3b62e1=Math[_0x1a4e('0x8f')](_0x4e5b54),_0x987589=Math[_0x1a4e('0x90')](_0x4e5b54),_0x23838b=_0x4af43f*_0x4af43f,_0x5093bc=0x1-_0x23838b,_0x40e123=Math['sqrt'](_0x5093bc),_0x3013ec=_0x31c919+18261.5+_0x34ff41/0x5a0,_0x127566=(4.523602-0.00092422029*_0x3013ec)%_0x63ca7c,_0x1307d5=Math['sin'](_0x127566),_0x279112=Math[_0x1a4e('0x90')](_0x127566),_0x2f8288=0.91375164-0.03568096*_0x279112,_0x454005=Math[_0x1a4e('0x91')](0x1-_0x2f8288*_0x2f8288),_0xfd56e0=0.089683511*_0x1307d5/_0x454005,_0x20c10c=Math['sqrt'](0x1-_0xfd56e0*_0xfd56e0),_0x2e4929=5.8351514+0.001944368*_0x3013ec,_0x328bab=0.39785416*_0x1307d5/_0x454005,_0x6978b1=_0x20c10c*_0x279112+0.91744867*_0xfd56e0*_0x1307d5;_0x328bab=Math[_0x1a4e('0xa6')](_0x328bab,_0x6978b1),_0x328bab+=_0x2e4929-_0x127566;var _0x16f2f5=Math[_0x1a4e('0x90')](_0x328bab),_0x62bdd2=Math['sin'](_0x328bab);_0x47051c=0.1945905,_0x111a27=-0.98088458,_0x4bf613=0.91744867,_0x52d2b4=0.39785416,_0x28263a=_0x19fc71,_0xcdd192=_0x33514b,_0x4fdb55=0.0000029864797;for(var _0x5e4d10=0x1/_0x2cfd43,_0x21a05f=0x0;_0x21a05f<0x2;)_0x9c1d50=-0x6*(_0x5d1f6a=_0x47051c*_0x28263a+_0x111a27*_0x4bf613*_0xcdd192)*(_0x25950b=-_0x3b62e1*(_0x1cfc62=-_0x47051c*_0xcdd192+_0x111a27*_0x4bf613*_0x28263a)+_0x987589*(_0x2172ba=_0x111a27*_0x52d2b4))+_0x23838b*(-0x18*(_0xf3de05=_0x5d1f6a*_0x134568+(_0x8b52e7=_0x987589*_0x1cfc62+_0x3b62e1*_0x2172ba)*_0x1b258a)*(_0x8996c7=_0x25950b*_0x134568)-0x6*(_0x44f24a=-_0x5d1f6a*_0x1b258a+_0x8b52e7*_0x134568)*(_0x4b6c31=_0x25950b*_0x1b258a)),_0xa0a0f8=-0x6*(_0x5d1f6a*(_0x1035a5=-_0x3b62e1*(_0x29bd51=_0x111a27*_0xcdd192+_0x47051c*_0x4bf613*_0x28263a)+_0x987589*(_0x4d0f3e=_0x47051c*_0x52d2b4))+(_0x4cdc6c=-_0x111a27*_0x28263a+_0x47051c*_0x4bf613*_0xcdd192)*_0x25950b)+_0x23838b*(-0x18*((_0xadd2c1=_0x4cdc6c*_0x134568+(_0xda4bb3=_0x987589*_0x29bd51+_0x3b62e1*_0x4d0f3e)*_0x1b258a)*_0x8996c7+_0xf3de05*(_0x45f812=_0x1035a5*_0x134568))+-0x6*(_0x44f24a*(_0x48ef44=_0x1035a5*_0x1b258a)+(_0x54328e=-_0x4cdc6c*_0x1b258a+_0xda4bb3*_0x134568)*_0x4b6c31)),_0x17fd21=-0x6*_0x4cdc6c*_0x1035a5+_0x23838b*(-0x18*_0xadd2c1*_0x45f812-0x6*_0x54328e*_0x48ef44),_0x48cd24=0x6*_0x8b52e7*_0x25950b+_0x23838b*(0x18*_0xf3de05*_0x4b6c31-0x6*_0x44f24a*_0x8996c7),_0x5baf78=0x6*(_0xda4bb3*_0x25950b+_0x8b52e7*_0x1035a5)+_0x23838b*(0x18*(_0xadd2c1*_0x4b6c31+_0xf3de05*_0x48ef44)-0x6*(_0x54328e*_0x8996c7+_0x44f24a*_0x45f812)),_0x1439a8=0x6*_0xda4bb3*_0x1035a5+_0x23838b*(0x18*_0xadd2c1*_0x48ef44-0x6*_0x54328e*_0x45f812),_0x1d9a3c=(_0x1d9a3c=0x3*(_0x5d1f6a*_0x5d1f6a+_0x8b52e7*_0x8b52e7)+(_0x5609d4=0xc*_0xf3de05*_0xf3de05-0x3*_0x44f24a*_0x44f24a)*_0x23838b)+_0x1d9a3c+_0x5093bc*_0x5609d4,_0x4b9b1f=(_0x4b9b1f=0x6*(_0x5d1f6a*_0x4cdc6c+_0x8b52e7*_0xda4bb3)+(_0x1fc736=0x18*_0xf3de05*_0xadd2c1-0x6*_0x44f24a*_0x54328e)*_0x23838b)+_0x4b9b1f+_0x5093bc*_0x1fc736,_0x35cc68=(_0x35cc68=0x3*(_0x4cdc6c*_0x4cdc6c+_0xda4bb3*_0xda4bb3)+(_0x576859=0xc*_0xadd2c1*_0xadd2c1-0x3*_0x54328e*_0x54328e)*_0x23838b)+_0x35cc68+_0x5093bc*_0x576859,_0x491c08=-0.5*(_0x425795=_0x4fdb55*_0x5e4d10)/_0x40e123,_0x2b2a42=-0xf*_0x4af43f*(_0xee1877=_0x425795*_0x40e123),_0x23aac8=_0xf3de05*_0x44f24a+_0xadd2c1*_0x54328e,_0x1f984a=_0xadd2c1*_0x44f24a+_0xf3de05*_0x54328e,_0x241d1a=_0xadd2c1*_0x54328e-_0xf3de05*_0x44f24a,0x1===(_0x21a05f+=0x1)&&(_0x5a4910=_0x2b2a42,_0x5d5a83=_0x491c08,_0x3c5b32=_0x425795,_0x46f02f=_0xee1877,_0x43c9ec=_0x23aac8,_0x2cc029=_0x1f984a,_0x2d4221=_0x241d1a,_0x3abb7a=_0x1d9a3c,_0x4e05b0=_0x4b9b1f,_0x56407d=_0x35cc68,_0x54fbc3=_0x9c1d50,_0x4f7d3c=_0xa0a0f8,_0x179396=_0x17fd21,_0x1d77f6=_0x48cd24,_0x42ccb4=_0x5baf78,_0x4e17b7=_0x1439a8,_0x1384b0=_0x5609d4,_0x2580e5=_0x1fc736,_0x439b4e=_0x576859,_0x47051c=_0x16f2f5,_0x111a27=_0x62bdd2,_0x4bf613=_0x2f8288,_0x52d2b4=_0x454005,_0x28263a=_0x20c10c*_0x19fc71+_0xfd56e0*_0x33514b,_0xcdd192=_0x33514b*_0x20c10c-_0x19fc71*_0xfd56e0,_0x4fdb55=4.7968065e-7);return{'snodm':_0x33514b,'cnodm':_0x19fc71,'sinim':_0x3b62e1,'cosim':_0x987589,'sinomm':_0x1b258a,'cosomm':_0x134568,'day':_0x3013ec,'e3':0x2*_0x2b2a42*_0x241d1a,'ee2':0x2*_0x2b2a42*_0x1f984a,'em':_0x4af43f,'emsq':_0x23838b,'gam':_0x2e4929,'peo':0x0,'pgho':0x0,'pho':0x0,'pinco':0x0,'plo':0x0,'rtemsq':_0x40e123,'se2':0x2*_0x5a4910*_0x2cc029,'se3':0x2*_0x5a4910*_0x2d4221,'sgh2':0x2*_0x46f02f*_0x2580e5,'sgh3':0x2*_0x46f02f*(_0x439b4e-_0x1384b0),'sgh4':-0x12*_0x46f02f*0.01675,'sh2':-0x2*_0x5d5a83*_0x42ccb4,'sh3':-0x2*_0x5d5a83*(_0x4e17b7-_0x1d77f6),'si2':0x2*_0x5d5a83*_0x4f7d3c,'si3':0x2*_0x5d5a83*(_0x179396-_0x54fbc3),'sl2':-0x2*_0x3c5b32*_0x4e05b0,'sl3':-0x2*_0x3c5b32*(_0x56407d-_0x3abb7a),'sl4':-0x2*_0x3c5b32*(-0x15-0x9*_0x23838b)*0.01675,'s1':_0x2b2a42,'s2':_0x491c08,'s3':_0x425795,'s4':_0xee1877,'s5':_0x23aac8,'s6':_0x1f984a,'s7':_0x241d1a,'ss1':_0x5a4910,'ss2':_0x5d5a83,'ss3':_0x3c5b32,'ss4':_0x46f02f,'ss5':_0x43c9ec,'ss6':_0x2cc029,'ss7':_0x2d4221,'sz1':_0x3abb7a,'sz2':_0x4e05b0,'sz3':_0x56407d,'sz11':_0x54fbc3,'sz12':_0x4f7d3c,'sz13':_0x179396,'sz21':_0x1d77f6,'sz22':_0x42ccb4,'sz23':_0x4e17b7,'sz31':_0x1384b0,'sz32':_0x2580e5,'sz33':_0x439b4e,'xgh2':0x2*_0xee1877*_0x1fc736,'xgh3':0x2*_0xee1877*(_0x576859-_0x5609d4),'xgh4':-0x12*_0xee1877*0.0549,'xh2':-0x2*_0x491c08*_0x5baf78,'xh3':-0x2*_0x491c08*(_0x1439a8-_0x48cd24),'xi2':0x2*_0x491c08*_0xa0a0f8,'xi3':0x2*_0x491c08*(_0x17fd21-_0x9c1d50),'xl2':-0x2*_0x425795*_0x4b9b1f,'xl3':-0x2*_0x425795*(_0x35cc68-_0x1d9a3c),'xl4':-0x2*_0x425795*(-0x15-0x9*_0x23838b)*0.0549,'nm':_0x2cfd43,'z1':_0x1d9a3c,'z2':_0x4b9b1f,'z3':_0x35cc68,'z11':_0x9c1d50,'z12':_0xa0a0f8,'z13':_0x17fd21,'z21':_0x48cd24,'z22':_0x5baf78,'z23':_0x1439a8,'z31':_0x5609d4,'z32':_0x1fc736,'z33':_0x576859,'zmol':(0.2299715*_0x3013ec-_0x2e4929+4.7199672)%_0x63ca7c,'zmos':(6.2565837+0.017201977*_0x3013ec)%_0x63ca7c};}({'epoch':_0x132f95,'ep':_0x4b0e60[_0x1a4e('0x56d1')],'argpp':_0x4b0e60[_0x1a4e('0x56e1')],'tc':_0x48cd24,'inclp':_0x4b0e60['inclo'],'nodep':_0x4b0e60[_0x1a4e('0x56c4')],'np':_0x4b0e60['no'],'e3':_0x4b0e60['e3'],'ee2':_0x4b0e60[_0x1a4e('0x56a5')],'peo':_0x4b0e60[_0x1a4e('0x56a6')],'pgho':_0x4b0e60[_0x1a4e('0x56ff')],'pho':_0x4b0e60[_0x1a4e('0x56a7')],'pinco':_0x4b0e60[_0x1a4e('0x56a8')],'plo':_0x4b0e60[_0x1a4e('0x5709')],'se2':_0x4b0e60[_0x1a4e('0x56a9')],'se3':_0x4b0e60['se3'],'sgh2':_0x4b0e60[_0x1a4e('0x56ab')],'sgh3':_0x4b0e60[_0x1a4e('0x56ac')],'sgh4':_0x4b0e60[_0x1a4e('0x56ad')],'sh2':_0x4b0e60['sh2'],'sh3':_0x4b0e60[_0x1a4e('0x56ae')],'si2':_0x4b0e60['si2'],'si3':_0x4b0e60['si3'],'sl2':_0x4b0e60[_0x1a4e('0x56b1')],'sl3':_0x4b0e60[_0x1a4e('0x56b2')],'sl4':_0x4b0e60['sl4'],'xgh2':_0x4b0e60['xgh2'],'xgh3':_0x4b0e60[_0x1a4e('0x56b5')],'xgh4':_0x4b0e60['xgh4'],'xh2':_0x4b0e60['xh2'],'xh3':_0x4b0e60[_0x1a4e('0x56b8')],'xi2':_0x4b0e60[_0x1a4e('0x56b9')],'xi3':_0x4b0e60[_0x1a4e('0x56ba')],'xl2':_0x4b0e60['xl2'],'xl3':_0x4b0e60['xl3'],'xl4':_0x4b0e60[_0x1a4e('0x5701')],'zmol':_0x4b0e60[_0x1a4e('0x56bd')],'zmos':_0x4b0e60[_0x1a4e('0x56be')]});_0x4b0e60['e3']=_0x3839b3['e3'],_0x4b0e60['ee2']=_0x3839b3[_0x1a4e('0x56a5')],_0x4b0e60[_0x1a4e('0x56a6')]=_0x3839b3[_0x1a4e('0x56a6')],_0x4b0e60[_0x1a4e('0x56ff')]=_0x3839b3['pgho'],_0x4b0e60[_0x1a4e('0x56a7')]=_0x3839b3[_0x1a4e('0x56a7')],_0x4b0e60[_0x1a4e('0x56a8')]=_0x3839b3[_0x1a4e('0x56a8')],_0x4b0e60[_0x1a4e('0x5709')]=_0x3839b3[_0x1a4e('0x5709')],_0x4b0e60['se2']=_0x3839b3[_0x1a4e('0x56a9')],_0x4b0e60['se3']=_0x3839b3['se3'],_0x4b0e60[_0x1a4e('0x56ab')]=_0x3839b3[_0x1a4e('0x56ab')],_0x4b0e60['sgh3']=_0x3839b3[_0x1a4e('0x56ac')],_0x4b0e60['sgh4']=_0x3839b3[_0x1a4e('0x56ad')],_0x4b0e60[_0x1a4e('0x5700')]=_0x3839b3['sh2'],_0x4b0e60['sh3']=_0x3839b3['sh3'],_0x4b0e60['si2']=_0x3839b3['si2'],_0x4b0e60[_0x1a4e('0x56b0')]=_0x3839b3[_0x1a4e('0x56b0')],_0x4b0e60[_0x1a4e('0x56b1')]=_0x3839b3[_0x1a4e('0x56b1')],_0x4b0e60[_0x1a4e('0x56b2')]=_0x3839b3[_0x1a4e('0x56b2')],_0x4b0e60['sl4']=_0x3839b3['sl4'],_0x45f812=_0x3839b3['sinim'],_0x48ef44=_0x3839b3[_0x1a4e('0x570a')],_0x5a4910=_0x3839b3['em'],_0x5d5a83=_0x3839b3[_0x1a4e('0x570b')],_0x1d77f6=_0x3839b3['s1'],_0x42ccb4=_0x3839b3['s2'],_0x4e17b7=_0x3839b3['s3'],_0x1384b0=_0x3839b3['s4'],_0x2580e5=_0x3839b3['s5'],_0x2b2a42=_0x3839b3[_0x1a4e('0x570c')],_0x491c08=_0x3839b3[_0x1a4e('0x570d')],_0x425795=_0x3839b3['ss3'],_0xee1877=_0x3839b3[_0x1a4e('0x570e')],_0x23aac8=_0x3839b3['ss5'],_0x1f984a=_0x3839b3[_0x1a4e('0x570f')],_0x241d1a=_0x3839b3[_0x1a4e('0x5710')],_0x1d9a3c=_0x3839b3[_0x1a4e('0x5711')],_0x4b9b1f=_0x3839b3[_0x1a4e('0x5712')],_0x35cc68=_0x3839b3[_0x1a4e('0x5713')],_0x9c1d50=_0x3839b3[_0x1a4e('0x5714')],_0xa0a0f8=_0x3839b3[_0x1a4e('0x5715')],_0x17fd21=_0x3839b3[_0x1a4e('0x5716')],_0x4b0e60['xgh2']=_0x3839b3['xgh2'],_0x4b0e60[_0x1a4e('0x56b5')]=_0x3839b3[_0x1a4e('0x56b5')],_0x4b0e60[_0x1a4e('0x56b6')]=_0x3839b3['xgh4'],_0x4b0e60['xh2']=_0x3839b3[_0x1a4e('0x56b7')],_0x4b0e60[_0x1a4e('0x56b8')]=_0x3839b3['xh3'],_0x4b0e60['xi2']=_0x3839b3[_0x1a4e('0x56b9')],_0x4b0e60[_0x1a4e('0x56ba')]=_0x3839b3[_0x1a4e('0x56ba')],_0x4b0e60[_0x1a4e('0x56bb')]=_0x3839b3[_0x1a4e('0x56bb')],_0x4b0e60['xl3']=_0x3839b3[_0x1a4e('0x56bc')],_0x4b0e60['xl4']=_0x3839b3[_0x1a4e('0x5701')],_0x4b0e60[_0x1a4e('0x56bd')]=_0x3839b3[_0x1a4e('0x56bd')],_0x4b0e60[_0x1a4e('0x56be')]=_0x3839b3['zmos'],_0x4e05b0=_0x3839b3['nm'],_0x33514b=_0x3839b3['z1'],_0x19fc71=_0x3839b3['z3'],_0x1b258a=_0x3839b3[_0x1a4e('0x5717')],_0x134568=_0x3839b3[_0x1a4e('0x5718')],_0x3b62e1=_0x3839b3[_0x1a4e('0x5719')],_0x987589=_0x3839b3['z23'],_0x23838b=_0x3839b3[_0x1a4e('0x571a')],_0x5093bc=_0x3839b3['z33'];var _0x34e694=_0xadd2c1(_0x4b0e60,{'inclo':_0x2d4221,'init':_0x4b0e60[_0x1a4e('0x1fd')],'ep':_0x4b0e60['ecco'],'inclp':_0x4b0e60[_0x1a4e('0x56ef')],'nodep':_0x4b0e60[_0x1a4e('0x56c4')],'argpp':_0x4b0e60[_0x1a4e('0x56e1')],'mp':_0x4b0e60['mo'],'opsmode':_0x4b0e60[_0x1a4e('0x5702')]});_0x4b0e60['ecco']=_0x34e694['ep'],_0x4b0e60[_0x1a4e('0x56ef')]=_0x34e694['inclp'],_0x4b0e60['nodeo']=_0x34e694[_0x1a4e('0x56f1')],_0x4b0e60['argpo']=_0x34e694[_0x1a4e('0x56c1')],_0x4b0e60['mo']=_0x34e694['mp'],_0x43c9ec=0x0,_0x2cc029=0x0,_0x3abb7a=0x0;var _0x4dfdd0=function(_0x907be0){var _0x31c919=_0x907be0[_0x1a4e('0x570a')],_0x4b0e60=_0x907be0[_0x1a4e('0x56e1')],_0x34ff41=_0x907be0['s1'],_0x4e5b54=_0x907be0['s2'],_0x132f95=_0x907be0['s3'],_0x5d1f6a=_0x907be0['s4'],_0x4cdc6c=_0x907be0['s5'],_0xda4bb3=_0x907be0[_0x1a4e('0x571b')],_0x25950b=_0x907be0[_0x1a4e('0x570c')],_0x1035a5=_0x907be0['ss2'],_0x1cfc62=_0x907be0['ss3'],_0x29bd51=_0x907be0[_0x1a4e('0x570e')],_0x4d0f3e=_0x907be0['ss5'],_0x4fdb55=_0x907be0['sz1'],_0xf3de05=_0x907be0[_0x1a4e('0x5710')],_0xadd2c1=_0x907be0[_0x1a4e('0x5711')],_0x44f24a=_0x907be0[_0x1a4e('0x5712')],_0x54328e=_0x907be0[_0x1a4e('0x5713')],_0x4b6c31=_0x907be0[_0x1a4e('0x5714')],_0x48ef44=_0x907be0[_0x1a4e('0x5715')],_0x8996c7=_0x907be0['sz33'],_0x45f812=_0x907be0['t'],_0x47051c=_0x907be0['tc'],_0x111a27=_0x907be0[_0x1a4e('0x56e2')],_0x28263a=_0x907be0['mo'],_0xcdd192=_0x907be0[_0x1a4e('0x56c2')],_0x4bf613=_0x907be0['no'],_0x52d2b4=_0x907be0['nodeo'],_0x5a4910=_0x907be0[_0x1a4e('0x56c5')],_0x5d5a83=_0x907be0[_0x1a4e('0x571c')],_0x3c5b32=_0x907be0['z1'],_0x46f02f=_0x907be0['z3'],_0x43c9ec=_0x907be0['z11'],_0x2cc029=_0x907be0[_0x1a4e('0x5718')],_0x2d4221=_0x907be0[_0x1a4e('0x5719')],_0x3abb7a=_0x907be0[_0x1a4e('0x571d')],_0x4e05b0=_0x907be0[_0x1a4e('0x571a')],_0x56407d=_0x907be0['z33'],_0x54fbc3=_0x907be0[_0x1a4e('0x56d1')],_0x4f7d3c=_0x907be0['eccsq'],_0x179396=_0x907be0[_0x1a4e('0x570b')],_0x1d77f6=_0x907be0['em'],_0x42ccb4=_0x907be0[_0x1a4e('0x56e6')],_0x4e17b7=_0x907be0['inclm'],_0x1384b0=_0x907be0['mm'],_0x2580e5=_0x907be0['nm'],_0x439b4e=_0x907be0['nodem'],_0x2b2a42=_0x907be0[_0x1a4e('0x56d2')],_0x491c08=_0x907be0[_0x1a4e('0x56e5')],_0x425795=_0x907be0[_0x1a4e('0x56d3')],_0xee1877=_0x907be0[_0x1a4e('0x56ea')],_0x23aac8=_0x907be0[_0x1a4e('0x56d4')],_0x1f984a=_0x907be0[_0x1a4e('0x56d5')],_0x241d1a=_0x907be0['d4410'],_0x1d9a3c=_0x907be0[_0x1a4e('0x56eb')],_0x4b9b1f=_0x907be0[_0x1a4e('0x56d7')],_0x35cc68=_0x907be0['d5232'],_0x9c1d50=_0x907be0[_0x1a4e('0x56d8')],_0xa0a0f8=_0x907be0[_0x1a4e('0x56d9')],_0x17fd21=_0x907be0[_0x1a4e('0x56da')],_0x48cd24=_0x907be0[_0x1a4e('0x56dd')],_0x5baf78=_0x907be0[_0x1a4e('0x56de')],_0x1439a8=_0x907be0[_0x1a4e('0x56df')],_0x5609d4=_0x907be0[_0x1a4e('0x56e0')],_0x1fc736=_0x907be0[_0x1a4e('0x56db')],_0x576859=_0x907be0[_0x1a4e('0x56ed')],_0x2cfd43=_0x907be0[_0x1a4e('0x56dc')],_0x4af43f=_0x907be0[_0x1a4e('0x56e3')],_0x33514b=_0x907be0[_0x1a4e('0x56e4')],_0x19fc71=_0x907be0[_0x1a4e('0x56ee')],_0x1b258a=_0x907be0[_0x1a4e('0x56e8')],_0x134568=void 0x0,_0x3b62e1=void 0x0,_0x987589=void 0x0,_0x23838b=void 0x0,_0x5093bc=void 0x0,_0x40e123=void 0x0,_0x3013ec=void 0x0,_0x127566=void 0x0,_0x1307d5=void 0x0,_0x279112=void 0x0,_0x2f8288=void 0x0,_0x454005=void 0x0,_0xfd56e0=void 0x0,_0x20c10c=void 0x0,_0x2e4929=void 0x0,_0x328bab=void 0x0,_0x6978b1=void 0x0,_0x16f2f5=0.0043752690880113,_0x62bdd2=0.00015835218,_0x5e4d10=0.0000119459;_0x2b2a42=0x0,_0x2580e5<0.0052359877&&_0x2580e5>0.0034906585&&(_0x2b2a42=0x1),_0x2580e5>=0.00826&&_0x2580e5<=0.00924&&_0x1d77f6>=0.5&&(_0x2b2a42=0x2);var _0x21a05f=-_0x5e4d10*_0x1035a5*(_0x54328e+_0x4b6c31);(_0x4e17b7<0.052359877||_0x4e17b7>_0x1686c5-0.052359877)&&(_0x21a05f=0x0),0x0!==_0xda4bb3&&(_0x21a05f/=_0xda4bb3);var _0x3839b3=-_0x62bdd2*_0x4e5b54*(_0x2d4221+_0x3abb7a);(_0x4e17b7<0.052359877||_0x4e17b7>_0x1686c5-0.052359877)&&(_0x3839b3=0x0),_0x5609d4=_0x29bd51*_0x5e4d10*(_0x48ef44+_0x8996c7-0x6)-_0x31c919*_0x21a05f+_0x5d1f6a*_0x62bdd2*(_0x4e05b0+_0x56407d-0x6),_0x1439a8=_0x21a05f,0x0!==_0xda4bb3&&(_0x5609d4-=_0x31c919/_0xda4bb3*_0x3839b3,_0x1439a8+=_0x3839b3/_0xda4bb3);var _0x34e694=(_0x111a27+_0x47051c*_0x16f2f5)%_0x63ca7c;if(_0x1d77f6+=(_0x17fd21=_0x25950b*_0x5e4d10*_0x4d0f3e+_0x34ff41*_0x62bdd2*_0x4cdc6c)*_0x45f812,_0x4e17b7+=(_0x48cd24=_0x1035a5*_0x5e4d10*(_0xadd2c1+_0x44f24a)+_0x4e5b54*_0x62bdd2*(_0x43c9ec+_0x2cc029))*_0x45f812,_0x42ccb4+=_0x5609d4*_0x45f812,_0x439b4e+=_0x1439a8*_0x45f812,_0x1384b0+=(_0x5baf78=-_0x5e4d10*_0x1cfc62*(_0x4fdb55+_0xf3de05-0xe-0x6*_0x179396)-_0x62bdd2*_0x132f95*(_0x3c5b32+_0x46f02f-0xe-0x6*_0x179396))*_0x45f812,0x0!==_0x2b2a42){if(_0x2e4929=Math['pow'](_0x2580e5/_0x8b52e7,_0x2172ba),0x2===_0x2b2a42){var _0x4dfdd0=_0x1d77f6,_0x3dfec4=_0x179396;_0x6978b1=(_0x1d77f6=_0x54fbc3)*(_0x179396=_0x4f7d3c),_0x1d77f6<=0.65?(_0x987589=3.616-13.247*_0x1d77f6+16.29*_0x179396,_0x23838b=117.39*_0x1d77f6-19.302-228.419*_0x179396+156.591*_0x6978b1,_0x5093bc=109.7927*_0x1d77f6-18.9068-214.6334*_0x179396+146.5816*_0x6978b1,_0x40e123=242.694*_0x1d77f6-41.122-471.094*_0x179396+313.953*_0x6978b1,_0x3013ec=841.88*_0x1d77f6-146.407-1629.014*_0x179396+1083.435*_0x6978b1,_0x127566=3017.977*_0x1d77f6-532.114-5740.032*_0x179396+3708.276*_0x6978b1):(_0x987589=331.819*_0x1d77f6-72.099-508.738*_0x179396+266.724*_0x6978b1,_0x23838b=1582.851*_0x1d77f6-346.844-2415.925*_0x179396+1246.113*_0x6978b1,_0x5093bc=1554.908*_0x1d77f6-342.585-2366.899*_0x179396+1215.972*_0x6978b1,_0x40e123=4758.686*_0x1d77f6-1052.797-7193.992*_0x179396+3651.957*_0x6978b1,_0x3013ec=16178.11*_0x1d77f6-3581.69-24462.77*_0x179396+12422.52*_0x6978b1,_0x127566=_0x1d77f6>0.715?29936.92*_0x1d77f6-5149.66-54087.36*_0x179396+31324.56*_0x6978b1:1464.74-4664.75*_0x1d77f6+3763.64*_0x179396),_0x1d77f6<0.7?(_0x2f8288=4988.61*_0x1d77f6-919.2277-9064.77*_0x179396+5542.21*_0x6978b1,_0x1307d5=4568.6173*_0x1d77f6-822.71072-8491.4146*_0x179396+5337.524*_0x6978b1,_0x279112=4690.25*_0x1d77f6-853.666-8624.77*_0x179396+5341.4*_0x6978b1):(_0x2f8288=161616.52*_0x1d77f6-37995.78-229838.2*_0x179396+109377.94*_0x6978b1,_0x1307d5=218913.95*_0x1d77f6-51752.104-309468.16*_0x179396+146349.42*_0x6978b1,_0x279112=170470.89*_0x1d77f6-40023.88-242699.48*_0x179396+115605.82*_0x6978b1),_0x425795=(_0xfd56e0=0.0000017891679*(_0x20c10c=_0x2580e5*_0x2580e5*0x3*(_0x2e4929*_0x2e4929)))*(_0x134568=0.75*(0x1+0x2*_0x31c919+(_0x328bab=_0x31c919*_0x31c919)))*(-0.306-0.44*(_0x1d77f6-0.64)),_0xee1877=_0xfd56e0*(1.5*(_0x454005=_0xda4bb3*_0xda4bb3))*_0x987589,_0x23aac8=(_0xfd56e0=3.7393792e-7*(_0x20c10c*=_0x2e4929))*(1.875*_0xda4bb3*(0x1-0x2*_0x31c919-0x3*_0x328bab))*_0x23838b,_0x1f984a=_0xfd56e0*(-1.875*_0xda4bb3*(0x1+0x2*_0x31c919-0x3*_0x328bab))*_0x5093bc,_0x241d1a=(_0xfd56e0=0x2*(_0x20c10c*=_0x2e4929)*7.3636953e-9)*(0x23*_0x454005*_0x134568)*_0x40e123,_0x1d9a3c=_0xfd56e0*(39.375*_0x454005*_0x454005)*_0x3013ec,_0x4b9b1f=(_0xfd56e0=1.1428639e-7*(_0x20c10c*=_0x2e4929))*(9.84375*_0xda4bb3*(_0x454005*(0x1-0x2*_0x31c919-0x5*_0x328bab)+0.33333333*(0x4*_0x31c919-0x2+0x6*_0x328bab)))*_0x127566,_0x35cc68=_0xfd56e0*(_0xda4bb3*(4.92187512*_0x454005*(-0x2-0x4*_0x31c919+0xa*_0x328bab)+6.56250012*(0x1+0x2*_0x31c919-0x3*_0x328bab)))*_0x279112,_0x9c1d50=(_0xfd56e0=0x2*_0x20c10c*2.1765803e-9)*(29.53125*_0xda4bb3*(0x2-0x8*_0x31c919+_0x328bab*(0x8*_0x31c919-0xc+0xa*_0x328bab)))*_0x1307d5,_0xa0a0f8=_0xfd56e0*(29.53125*_0xda4bb3*(-0x2-0x8*_0x31c919+_0x328bab*(0xc+0x8*_0x31c919-0xa*_0x328bab)))*_0x2f8288,_0x33514b=(_0x28263a+_0x52d2b4+_0x52d2b4-(_0x34e694+_0x34e694))%_0x63ca7c,_0x4af43f=_0xcdd192+_0x5baf78+0x2*(_0x5a4910+_0x1439a8-_0x16f2f5)-_0x4bf613,_0x1d77f6=_0x4dfdd0,_0x179396=_0x3dfec4;}0x1===_0x2b2a42&&(_0x3b62e1=0x1+_0x31c919,_0x576859=0x2*(_0x1fc736=0x3*_0x2580e5*_0x2580e5*_0x2e4929*_0x2e4929)*(_0x134568=0.75*(0x1+_0x31c919)*(0x1+_0x31c919))*(0x1+_0x179396*(0.8125*_0x179396-2.5))*0.0000017891679,_0x2cfd43=0x3*_0x1fc736*(_0x3b62e1*=1.875*_0x3b62e1*_0x3b62e1)*(0x1+_0x179396*(6.60937*_0x179396-0x6))*2.2123015e-7*_0x2e4929,_0x1fc736=_0x1fc736*(0.9375*_0xda4bb3*_0xda4bb3*(0x1+0x3*_0x31c919)-0.75*(0x1+_0x31c919))*(_0x23838b=0x1+0x2*_0x179396)*0.0000021460748*_0x2e4929,_0x33514b=(_0x28263a+_0x52d2b4+_0x4b0e60-_0x34e694)%_0x63ca7c,_0x4af43f=_0xcdd192+_0x5d5a83+_0x5baf78+_0x5609d4+_0x1439a8-(_0x4bf613+_0x16f2f5)),_0x19fc71=_0x33514b,_0x1b258a=_0x4bf613,_0x491c08=0x0,_0x2580e5=_0x4bf613+0x0;}return{'em':_0x1d77f6,'argpm':_0x42ccb4,'inclm':_0x4e17b7,'mm':_0x1384b0,'nm':_0x2580e5,'nodem':_0x439b4e,'irez':_0x2b2a42,'atime':_0x491c08,'d2201':_0x425795,'d2211':_0xee1877,'d3210':_0x23aac8,'d3222':_0x1f984a,'d4410':_0x241d1a,'d4422':_0x1d9a3c,'d5220':_0x4b9b1f,'d5232':_0x35cc68,'d5421':_0x9c1d50,'d5433':_0xa0a0f8,'dedt':_0x17fd21,'didt':_0x48cd24,'dmdt':_0x5baf78,'dndt':0x0,'dnodt':_0x1439a8,'domdt':_0x5609d4,'del1':_0x1fc736,'del2':_0x576859,'del3':_0x2cfd43,'xfact':_0x4af43f,'xlamo':_0x33514b,'xli':_0x19fc71,'xni':_0x1b258a};}({'cosim':_0x48ef44,'emsq':_0x5d5a83,'argpo':_0x4b0e60[_0x1a4e('0x56e1')],'s1':_0x1d77f6,'s2':_0x42ccb4,'s3':_0x4e17b7,'s4':_0x1384b0,'s5':_0x2580e5,'sinim':_0x45f812,'ss1':_0x2b2a42,'ss2':_0x491c08,'ss3':_0x425795,'ss4':_0xee1877,'ss5':_0x23aac8,'sz1':_0x1f984a,'sz3':_0x241d1a,'sz11':_0x1d9a3c,'sz13':_0x4b9b1f,'sz21':_0x35cc68,'sz23':_0x9c1d50,'sz31':_0xa0a0f8,'sz33':_0x17fd21,'t':_0x4b0e60['t'],'tc':_0x48cd24,'gsto':_0x4b0e60[_0x1a4e('0x56e2')],'mo':_0x4b0e60['mo'],'mdot':_0x4b0e60[_0x1a4e('0x56c2')],'no':_0x4b0e60['no'],'nodeo':_0x4b0e60[_0x1a4e('0x56c4')],'nodedot':_0x4b0e60[_0x1a4e('0x56c5')],'xpidot':_0x2cfd43,'z1':_0x33514b,'z3':_0x19fc71,'z11':_0x1b258a,'z13':_0x134568,'z21':_0x3b62e1,'z23':_0x987589,'z31':_0x23838b,'z33':_0x5093bc,'ecco':_0x4b0e60[_0x1a4e('0x56d1')],'eccsq':_0x20c10c,'em':_0x5a4910,'argpm':_0x43c9ec,'inclm':_0x2d4221,'mm':_0x3abb7a,'nm':_0x4e05b0,'nodem':_0x2cc029,'irez':_0x4b0e60[_0x1a4e('0x56d2')],'atime':_0x4b0e60[_0x1a4e('0x56e5')],'d2201':_0x4b0e60[_0x1a4e('0x56d3')],'d2211':_0x4b0e60[_0x1a4e('0x56ea')],'d3210':_0x4b0e60['d3210'],'d3222':_0x4b0e60[_0x1a4e('0x56d5')],'d4410':_0x4b0e60[_0x1a4e('0x56d6')],'d4422':_0x4b0e60[_0x1a4e('0x56eb')],'d5220':_0x4b0e60[_0x1a4e('0x56d7')],'d5232':_0x4b0e60[_0x1a4e('0x56ec')],'d5421':_0x4b0e60[_0x1a4e('0x56d8')],'d5433':_0x4b0e60['d5433'],'dedt':_0x4b0e60[_0x1a4e('0x56da')],'didt':_0x4b0e60[_0x1a4e('0x56dd')],'dmdt':_0x4b0e60['dmdt'],'dnodt':_0x4b0e60[_0x1a4e('0x56df')],'domdt':_0x4b0e60[_0x1a4e('0x56e0')],'del1':_0x4b0e60[_0x1a4e('0x56db')],'del2':_0x4b0e60[_0x1a4e('0x56ed')],'del3':_0x4b0e60['del3'],'xfact':_0x4b0e60[_0x1a4e('0x56e3')],'xlamo':_0x4b0e60[_0x1a4e('0x56e4')],'xli':_0x4b0e60['xli'],'xni':_0x4b0e60[_0x1a4e('0x56e8')]});_0x4b0e60[_0x1a4e('0x56d2')]=_0x4dfdd0[_0x1a4e('0x56d2')],_0x4b0e60['atime']=_0x4dfdd0['atime'],_0x4b0e60['d2201']=_0x4dfdd0['d2201'],_0x4b0e60[_0x1a4e('0x56ea')]=_0x4dfdd0[_0x1a4e('0x56ea')],_0x4b0e60[_0x1a4e('0x56d4')]=_0x4dfdd0[_0x1a4e('0x56d4')],_0x4b0e60['d3222']=_0x4dfdd0['d3222'],_0x4b0e60[_0x1a4e('0x56d6')]=_0x4dfdd0['d4410'],_0x4b0e60[_0x1a4e('0x56eb')]=_0x4dfdd0[_0x1a4e('0x56eb')],_0x4b0e60[_0x1a4e('0x56d7')]=_0x4dfdd0[_0x1a4e('0x56d7')],_0x4b0e60[_0x1a4e('0x56ec')]=_0x4dfdd0[_0x1a4e('0x56ec')],_0x4b0e60['d5421']=_0x4dfdd0[_0x1a4e('0x56d8')],_0x4b0e60['d5433']=_0x4dfdd0['d5433'],_0x4b0e60['dedt']=_0x4dfdd0['dedt'],_0x4b0e60['didt']=_0x4dfdd0[_0x1a4e('0x56dd')],_0x4b0e60['dmdt']=_0x4dfdd0[_0x1a4e('0x56de')],_0x4b0e60[_0x1a4e('0x56df')]=_0x4dfdd0[_0x1a4e('0x56df')],_0x4b0e60['domdt']=_0x4dfdd0[_0x1a4e('0x56e0')],_0x4b0e60['del1']=_0x4dfdd0[_0x1a4e('0x56db')],_0x4b0e60[_0x1a4e('0x56ed')]=_0x4dfdd0[_0x1a4e('0x56ed')],_0x4b0e60[_0x1a4e('0x56dc')]=_0x4dfdd0['del3'],_0x4b0e60['xfact']=_0x4dfdd0[_0x1a4e('0x56e3')],_0x4b0e60['xlamo']=_0x4dfdd0[_0x1a4e('0x56e4')],_0x4b0e60[_0x1a4e('0x56ee')]=_0x4dfdd0[_0x1a4e('0x56ee')],_0x4b0e60['xni']=_0x4dfdd0[_0x1a4e('0x56e8')];}0x1!==_0x4b0e60[_0x1a4e('0x56c8')]&&(_0x47051c=_0x4b0e60[_0x1a4e('0x56c6')]*_0x4b0e60[_0x1a4e('0x56c6')],_0x4b0e60['d2']=0x4*_0x279112*_0x576859*_0x47051c,_0x5baf78=_0x4b0e60['d2']*_0x576859*_0x4b0e60[_0x1a4e('0x56c6')]/0x3,_0x4b0e60['d3']=(0x11*_0x279112+_0x439b4e)*_0x5baf78,_0x4b0e60['d4']=0.5*_0x5baf78*_0x279112*_0x576859*(0xdd*_0x279112+0x1f*_0x439b4e)*_0x4b0e60['cc1'],_0x4b0e60[_0x1a4e('0x56ce')]=_0x4b0e60['d2']+0x2*_0x47051c,_0x4b0e60[_0x1a4e('0x56cf')]=0.25*(0x3*_0x4b0e60['d3']+_0x4b0e60[_0x1a4e('0x56c6')]*(0xc*_0x4b0e60['d2']+0xa*_0x47051c)),_0x4b0e60[_0x1a4e('0x56d0')]=0.2*(0x3*_0x4b0e60['d4']+0xc*_0x4b0e60[_0x1a4e('0x56c6')]*_0x4b0e60['d3']+0x6*_0x4b0e60['d2']*_0x4b0e60['d2']+0xf*_0x47051c*(0x2*_0x4b0e60['d2']+_0x47051c)));}var _0xdf243=_0x8996c7(_0x4b0e60,0x0)[_0x1a4e('0x571e')];return _0xdf243[_0x1a4e('0x1fd')]='n',_0xdf243;}function _0x4ae9c5(_0x907be0){return _0x907be0*_0x4e5b54;}function _0x4e98cc(_0x907be0){var _0x31c919=_0x907be0['longitude'],_0x4b0e60=_0x907be0[_0x1a4e('0x3a2f')],_0x1686c5=_0x907be0[_0x1a4e('0x152')],_0x63ca7c=6378.137,_0x34ff41=(_0x63ca7c-6356.7523142)/_0x63ca7c,_0x4e5b54=0x2*_0x34ff41-_0x34ff41*_0x34ff41,_0x132f95=_0x63ca7c/Math[_0x1a4e('0x91')](0x1-_0x4e5b54*(Math[_0x1a4e('0x8f')](_0x4b0e60)*Math['sin'](_0x4b0e60)));return{'x':(_0x132f95+_0x1686c5)*Math[_0x1a4e('0x90')](_0x4b0e60)*Math[_0x1a4e('0x90')](_0x31c919),'y':(_0x132f95+_0x1686c5)*Math[_0x1a4e('0x90')](_0x4b0e60)*Math[_0x1a4e('0x8f')](_0x31c919),'z':(_0x132f95*(0x1-_0x4e5b54)+_0x1686c5)*Math[_0x1a4e('0x8f')](_0x4b0e60)};}_0x31c919[_0x1a4e('0x860')]=_0x29bd51,_0x31c919['propagate']=function(){for(var _0x907be0=arguments[_0x1a4e('0x1e')],_0x31c919=Array(_0x907be0),_0x4b0e60=0x0;_0x4b0e60<_0x907be0;_0x4b0e60++)_0x31c919[_0x4b0e60]=arguments[_0x4b0e60];var _0x1686c5=_0x31c919[0x0],_0x63ca7c=Array[_0x1a4e('0xa')][_0x1a4e('0x78')][_0x1a4e('0x1')](_0x31c919,0x1);return _0x8996c7(_0x1686c5,(_0xf3de05['apply'](void 0x0,_0x48ef44(_0x63ca7c))-_0x1686c5[_0x1a4e('0x571f')])*_0x132f95);},_0x31c919[_0x1a4e('0x5720')]=_0x8996c7,_0x31c919[_0x1a4e('0x568c')]=function(_0x907be0,_0x31c919){var _0x4b0e60=0x5a0/(0x2*_0x1686c5),_0x63ca7c=0x0,_0x4e5b54={'error':0x0};_0x4e5b54[_0x1a4e('0x5721')]=_0x907be0[_0x1a4e('0x281')](0x2,0x7),_0x4e5b54[_0x1a4e('0x5722')]=parseInt(_0x907be0[_0x1a4e('0x281')](0x12,0x14),0xa),_0x4e5b54[_0x1a4e('0x5723')]=parseFloat(_0x907be0[_0x1a4e('0x281')](0x14,0x20)),_0x4e5b54[_0x1a4e('0x5724')]=parseFloat(_0x907be0[_0x1a4e('0x281')](0x21,0x2b)),_0x4e5b54[_0x1a4e('0x5725')]=parseFloat('.'+parseInt(_0x907be0['substring'](0x2c,0x32),0xa)+'E'+_0x907be0[_0x1a4e('0x281')](0x32,0x34)),_0x4e5b54[_0x1a4e('0x56cb')]=parseFloat(_0x907be0[_0x1a4e('0x281')](0x35,0x36)+'.'+parseInt(_0x907be0[_0x1a4e('0x281')](0x36,0x3b),0xa)+'E'+_0x907be0[_0x1a4e('0x281')](0x3b,0x3d)),_0x4e5b54['inclo']=parseFloat(_0x31c919[_0x1a4e('0x281')](0x8,0x10)),_0x4e5b54['nodeo']=parseFloat(_0x31c919[_0x1a4e('0x281')](0x11,0x19)),_0x4e5b54['ecco']=parseFloat('.'+_0x31c919[_0x1a4e('0x281')](0x1a,0x21)),_0x4e5b54['argpo']=parseFloat(_0x31c919[_0x1a4e('0x281')](0x22,0x2a)),_0x4e5b54['mo']=parseFloat(_0x31c919['substring'](0x2b,0x33)),_0x4e5b54['no']=parseFloat(_0x31c919['substring'](0x34,0x3f)),_0x4e5b54['no']/=_0x4b0e60,_0x4e5b54['a']=Math[_0x1a4e('0x8e')](_0x4e5b54['no']*_0x4cdc6c,-0x2/0x3),_0x4e5b54[_0x1a4e('0x5724')]/=0x5a0*_0x4b0e60,_0x4e5b54[_0x1a4e('0x5725')]/=0x5a0*_0x4b0e60*0x5a0,_0x4e5b54[_0x1a4e('0x56ef')]*=_0x34ff41,_0x4e5b54[_0x1a4e('0x56c4')]*=_0x34ff41,_0x4e5b54[_0x1a4e('0x56e1')]*=_0x34ff41,_0x4e5b54['mo']*=_0x34ff41,_0x4e5b54[_0x1a4e('0x5726')]=_0x4e5b54['a']*(0x1+_0x4e5b54[_0x1a4e('0x56d1')])-0x1,_0x4e5b54[_0x1a4e('0x5727')]=_0x4e5b54['a']*(0x1-_0x4e5b54[_0x1a4e('0x56d1')])-0x1;var _0x132f95=_0x4d0f3e(_0x63ca7c=_0x4e5b54[_0x1a4e('0x5722')]<0x39?_0x4e5b54['epochyr']+0x7d0:_0x4e5b54[_0x1a4e('0x5722')]+0x76c,_0x4e5b54['epochdays']),_0x5d1f6a=_0x132f95['mon'],_0x8b52e7=_0x132f95[_0x1a4e('0x5728')],_0xda4bb3=_0x132f95['hr'],_0x25950b=_0x132f95['minute'],_0x1035a5=_0x132f95[_0x1a4e('0x5729')];return _0x4e5b54[_0x1a4e('0x571f')]=_0xf3de05(_0x63ca7c,_0x5d1f6a,_0x8b52e7,_0xda4bb3,_0x25950b,_0x1035a5),_0x45f812(_0x4e5b54,{'opsmode':'i','satn':_0x4e5b54[_0x1a4e('0x5721')],'epoch':_0x4e5b54[_0x1a4e('0x571f')]-2433281.5,'xbstar':_0x4e5b54['bstar'],'xecco':_0x4e5b54['ecco'],'xargpo':_0x4e5b54[_0x1a4e('0x56e1')],'xinclo':_0x4e5b54[_0x1a4e('0x56ef')],'xmo':_0x4e5b54['mo'],'xno':_0x4e5b54['no'],'xnodeo':_0x4e5b54[_0x1a4e('0x56c4')]});},_0x31c919[_0x1a4e('0x568e')]=_0x54328e,_0x31c919[_0x1a4e('0x572a')]=function(){return console[_0x1a4e('0xe3c')](_0x1a4e('0x572b')),_0x54328e[_0x1a4e('0x8b')](void 0x0,arguments);},_0x31c919['gstimeFromDate']=function(){return console[_0x1a4e('0xe3c')]('gstimeFromDate\x20is\x20deprecated,\x20use\x20gstime\x20instead.'),_0x54328e['apply'](void 0x0,arguments);},_0x31c919[_0x1a4e('0x572c')]=_0xf3de05,_0x31c919[_0x1a4e('0x572d')]=function(_0x907be0,_0x31c919){var _0x4b0e60=_0x907be0-2415019.5,_0x1686c5=_0x4b0e60/365.25,_0x63ca7c=0x76c+Math[_0x1a4e('0xb4')](_0x1686c5),_0x34ff41=Math[_0x1a4e('0xb4')](0.25*(_0x63ca7c-0x76d)),_0x4e5b54=_0x4b0e60-(0x16d*(_0x63ca7c-0x76c)+_0x34ff41)+1e-11;_0x4e5b54<0x1&&(_0x4e5b54=_0x4b0e60-(0x16d*((_0x63ca7c-=0x1)-0x76c)+(_0x34ff41=Math[_0x1a4e('0xb4')](0.25*(_0x63ca7c-0x76d)))));var _0x132f95=_0x4d0f3e(_0x63ca7c,_0x4e5b54),_0x5d1f6a=_0x132f95[_0x1a4e('0x572e')],_0x8b52e7=_0x132f95[_0x1a4e('0x5728')],_0x4cdc6c=_0x132f95['hr'],_0xda4bb3=_0x132f95[_0x1a4e('0x572f')],_0x25950b=_0x132f95[_0x1a4e('0x5729')]-8.64e-7;return _0x31c919?[_0x63ca7c,_0x5d1f6a,_0x8b52e7,_0x4cdc6c,_0xda4bb3,Math[_0x1a4e('0xb4')](_0x25950b)]:new Date(Date[_0x1a4e('0x906')](_0x63ca7c,_0x5d1f6a-0x1,_0x8b52e7,_0x4cdc6c,_0xda4bb3,Math[_0x1a4e('0xb4')](_0x25950b)));},_0x31c919[_0x1a4e('0x5730')]=function(_0x907be0,_0x31c919,_0x4b0e60){var _0x1686c5=Math[_0x1a4e('0x91')](Math['pow'](_0x31c919['x']-_0x907be0['x'],0x2)+Math[_0x1a4e('0x8e')](_0x31c919['y']-_0x907be0['y'],0x2)+Math[_0x1a4e('0x8e')](_0x31c919['z']-_0x907be0['z'],0x2)),_0x63ca7c=_0x31c919['x']+_0x4b0e60['x'],_0x34ff41=_0x31c919['y']+_0x4b0e60['y'],_0x4e5b54=_0x31c919['z']+_0x4b0e60['z'],_0x132f95=Math[_0x1a4e('0x91')](Math['pow'](_0x63ca7c-_0x907be0['x'],0x2)+Math['pow'](_0x34ff41-_0x907be0['y'],0x2)+Math['pow'](_0x4e5b54-_0x907be0['z'],0x2))-_0x1686c5;return 0x1+(_0x132f95*=_0x132f95>=0x0?0x1:-0x1)/299792.458;},_0x31c919[_0x1a4e('0x5731')]=function(_0x907be0){if(_0x907be0<-_0x1686c5/0x2||_0x907be0>_0x1686c5/0x2)throw new RangeError(_0x1a4e('0x5732'));return _0x4ae9c5(_0x907be0);},_0x31c919[_0x1a4e('0x5733')]=function(_0x907be0){if(_0x907be0<-_0x1686c5||_0x907be0>_0x1686c5)throw new RangeError(_0x1a4e('0x5734'));return _0x4ae9c5(_0x907be0);},_0x31c919[_0x1a4e('0x5735')]=_0x4e98cc,_0x31c919['eciToGeodetic']=function(_0x907be0,_0x31c919){for(var _0x4b0e60=6378.137,_0x34ff41=Math[_0x1a4e('0x91')](_0x907be0['x']*_0x907be0['x']+_0x907be0['y']*_0x907be0['y']),_0x4e5b54=(_0x4b0e60-6356.7523142)/_0x4b0e60,_0x132f95=0x2*_0x4e5b54-_0x4e5b54*_0x4e5b54,_0x5d1f6a=Math['atan2'](_0x907be0['y'],_0x907be0['x'])-_0x31c919;_0x5d1f6a<-_0x1686c5;)_0x5d1f6a+=_0x63ca7c;for(;_0x5d1f6a>_0x1686c5;)_0x5d1f6a-=_0x63ca7c;for(var _0x8b52e7=0x0,_0x4cdc6c=Math[_0x1a4e('0xa6')](_0x907be0['z'],Math[_0x1a4e('0x91')](_0x907be0['x']*_0x907be0['x']+_0x907be0['y']*_0x907be0['y'])),_0xda4bb3=void 0x0;_0x8b52e7<0x14;)_0xda4bb3=0x1/Math[_0x1a4e('0x91')](0x1-_0x132f95*(Math[_0x1a4e('0x8f')](_0x4cdc6c)*Math['sin'](_0x4cdc6c))),_0x4cdc6c=Math[_0x1a4e('0xa6')](_0x907be0['z']+_0x4b0e60*_0xda4bb3*_0x132f95*Math[_0x1a4e('0x8f')](_0x4cdc6c),_0x34ff41),_0x8b52e7+=0x1;return{'longitude':_0x5d1f6a,'latitude':_0x4cdc6c,'height':_0x34ff41/Math[_0x1a4e('0x90')](_0x4cdc6c)-_0x4b0e60*_0xda4bb3};},_0x31c919[_0x1a4e('0x568f')]=function(_0x907be0,_0x31c919){return{'x':_0x907be0['x']*Math['cos'](_0x31c919)+_0x907be0['y']*Math[_0x1a4e('0x8f')](_0x31c919),'y':_0x907be0['x']*-Math[_0x1a4e('0x8f')](_0x31c919)+_0x907be0['y']*Math[_0x1a4e('0x90')](_0x31c919),'z':_0x907be0['z']};},_0x31c919[_0x1a4e('0x5736')]=function(_0x907be0,_0x31c919){return{'x':_0x907be0['x']*Math[_0x1a4e('0x90')](_0x31c919)-_0x907be0['y']*Math[_0x1a4e('0x8f')](_0x31c919),'y':_0x907be0['x']*Math[_0x1a4e('0x8f')](_0x31c919)+_0x907be0['y']*Math[_0x1a4e('0x90')](_0x31c919),'z':_0x907be0['z']};},_0x31c919[_0x1a4e('0x5737')]=function(_0x907be0,_0x31c919){var _0x4b0e60,_0x63ca7c,_0x34ff41,_0x4e5b54,_0x132f95,_0x5d1f6a,_0x8b52e7,_0x4cdc6c,_0xda4bb3,_0x25950b,_0x1035a5,_0x1cfc62,_0x2172ba,_0x29bd51,_0x4d0f3e=(_0x63ca7c=_0x31c919,_0x34ff41=(_0x4b0e60=_0x907be0)[_0x1a4e('0x3a2e')],_0x4e5b54=_0x4b0e60[_0x1a4e('0x3a2f')],_0x132f95=_0x4e98cc(_0x4b0e60),_0x5d1f6a=_0x63ca7c['x']-_0x132f95['x'],_0x8b52e7=_0x63ca7c['y']-_0x132f95['y'],_0x4cdc6c=_0x63ca7c['z']-_0x132f95['z'],{'topS':Math['sin'](_0x4e5b54)*Math[_0x1a4e('0x90')](_0x34ff41)*_0x5d1f6a+Math['sin'](_0x4e5b54)*Math[_0x1a4e('0x8f')](_0x34ff41)*_0x8b52e7-Math[_0x1a4e('0x90')](_0x4e5b54)*_0x4cdc6c,'topE':-Math[_0x1a4e('0x8f')](_0x34ff41)*_0x5d1f6a+Math['cos'](_0x34ff41)*_0x8b52e7,'topZ':Math[_0x1a4e('0x90')](_0x4e5b54)*Math['cos'](_0x34ff41)*_0x5d1f6a+Math[_0x1a4e('0x90')](_0x4e5b54)*Math[_0x1a4e('0x8f')](_0x34ff41)*_0x8b52e7+Math[_0x1a4e('0x8f')](_0x4e5b54)*_0x4cdc6c});return _0x25950b=(_0xda4bb3=_0x4d0f3e)[_0x1a4e('0x5738')],_0x1035a5=_0xda4bb3[_0x1a4e('0x5739')],_0x1cfc62=_0xda4bb3['topZ'],_0x2172ba=Math['sqrt'](_0x25950b*_0x25950b+_0x1035a5*_0x1035a5+_0x1cfc62*_0x1cfc62),_0x29bd51=Math[_0x1a4e('0x139')](_0x1cfc62/_0x2172ba),{'azimuth':Math[_0x1a4e('0xa6')](-_0x1035a5,_0x25950b)+_0x1686c5,'elevation':_0x29bd51,'rangeSat':_0x2172ba};};},'./src/Utils/wams/millib/algorithm.js':function(_0x28c44e,_0x1dd9b4,_0x2ad0b5){'use strict';Object[_0x1a4e('0x2')](_0x1dd9b4,_0x1a4e('0x6'),{'value':!0x0});var _0x3493f4=[],_0x517407=void 0x0,_0xa2028=!0x1;function _0x1b99e5(_0x28c44e,_0x1dd9b4){var _0x2ad0b5=new _0x517407[(_0x1a4e('0x573a'))](_0x1dd9b4);if(_0x28c44e[_0x1a4e('0x1e')]%0x3!=0x0)return console[_0x1a4e('0xe3c')]('make\x20sure\x20the\x20size\x20of\x20`arr`\x20is\x20multiples\x20of\x203'),null;var _0x3493f4,_0xa2028,_0x1b99e5=(_0x3493f4=_0x28c44e,_0xa2028=new Float64Array(_0x3493f4[_0x1a4e('0x1e')]),_0x3493f4[_0x1a4e('0x21')](function(_0x28c44e,_0x1dd9b4){_0xa2028[_0x1dd9b4]=_0x28c44e;}),_0xa2028),_0x2c45b4=_0x1b99e5[_0x1a4e('0x1e')]*_0x1b99e5['BYTES_PER_ELEMENT'],_0x3cdcb3=_0x517407[_0x1a4e('0x573b')](_0x2c45b4),_0xfc6bfd=new Float64Array(_0x517407[_0x1a4e('0x573c')][_0x1a4e('0x613')],_0x3cdcb3,_0x28c44e[_0x1a4e('0x1e')]);_0xfc6bfd[_0x1a4e('0x17a')](new Float64Array(_0x1b99e5[_0x1a4e('0x613')])),_0x2ad0b5[_0x1a4e('0x573d')](_0xfc6bfd['byteOffset'],_0x28c44e[_0x1a4e('0x1e')]),_0x517407[_0x1a4e('0x573e')](_0x3cdcb3),_0x2ad0b5['toVertice']();for(var _0x1c8bf6=[],_0x5bee8e=_0x2ad0b5[_0x1a4e('0x573f')]()['size'](),_0x398a9d=0x0;_0x398a9d<_0x5bee8e;_0x398a9d++){for(var _0x3c57f1=_0x2ad0b5[_0x1a4e('0x5740')](_0x398a9d)[_0x1a4e('0x5741')](),_0x3be432=_0x3c57f1[_0x1a4e('0x220')](),_0x10accc=[],_0x505aa0=0x0;_0x505aa0<_0x3be432;_0x505aa0++){var _0x5c9b9e=_0x3c57f1['get'](_0x505aa0);_0x10accc['push'](_0x5c9b9e[_0x1a4e('0x5742')](),_0x5c9b9e[_0x1a4e('0x5743')](),_0x5c9b9e['getAlt']());}_0x10accc[_0x1a4e('0x1e')]>0x2&&_0x1c8bf6[_0x1a4e('0x46')](_0x10accc);}return{'geoArray':_0x1c8bf6};}setTimeout(function(){console['log'](_0x1a4e('0x5744'));var _0x28c44e=_0x2ad0b5(_0x1a4e('0x5745'));_0x517407=_0x28c44e[_0x1a4e('0x5')],window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x5')]=_0x517407,_0x517407[_0x1a4e('0x5746')]=function(){console[_0x1a4e('0x58')](_0x1a4e('0x5747')),_0xa2028=!0x0,0x0!==_0x3493f4[_0x1a4e('0x1e')]&&_0x3493f4[_0x1a4e('0x3b')](function(_0x28c44e){_0x28c44e();}),_0x3493f4=[];};},0xa),_0x1dd9b4[_0x1a4e('0x5748')]=function(_0x28c44e,_0x1dd9b4,_0x2ad0b5){var _0x3493f4={'controlPoint':null,'polylinePoint':null,'polyNum':null};if(_0x1dd9b4[_0x1a4e('0x1e')]<0x2)return _0x3493f4;var _0x517407=_0x1dd9b4[_0x1a4e('0x1e')]-0x1;if(_0x1dd9b4[_0x517407][0x0]==_0x1dd9b4[_0x517407-0x1][0x0]&&_0x1dd9b4[_0x517407][0x1]==_0x1dd9b4[_0x517407-0x1][0x1])return _0x3493f4;var _0xa2028=[];_0x2ad0b5||(_0x2ad0b5=0x0),_0x1dd9b4[_0x1a4e('0x3b')](function(_0x28c44e){_0xa2028['push'][_0x1a4e('0x8b')](_0xa2028,function(_0x28c44e){if(Array[_0x1a4e('0x15')](_0x28c44e)){for(var _0x1dd9b4=0x0,_0x2ad0b5=Array(_0x28c44e['length']);_0x1dd9b4<_0x28c44e['length'];_0x1dd9b4++)_0x2ad0b5[_0x1dd9b4]=_0x28c44e[_0x1dd9b4];return _0x2ad0b5;}return Array['from'](_0x28c44e);}(_0x28c44e)),_0xa2028['push'](_0x2ad0b5);});var _0x18a1c=_0x1b99e5(_0xa2028,_0x28c44e),_0x3337c5=[],_0x6108f3=!0x0,_0x7a80e4=!0x1,_0x3326c9=void 0x0;try{for(var _0x5a29af,_0x4e5e3d=_0x18a1c[_0x1a4e('0x5749')][Symbol[_0x1a4e('0x335')]]();!(_0x6108f3=(_0x5a29af=_0x4e5e3d['next']())['done']);_0x6108f3=!0x0){var _0x4fa9ce=_0x5a29af[_0x1a4e('0x255')];if(_0x4fa9ce[_0x1a4e('0x1e')]<0x2||_0x4fa9ce[_0x1a4e('0x1e')]%0x3!=0x0)return _0x3493f4;_0x3337c5['push'](Cesium[_0x1a4e('0x393e')][_0x1a4e('0x3955')](_0x4fa9ce));}}catch(_0x128248){_0x7a80e4=!0x0,_0x3326c9=_0x128248;}finally{try{!_0x6108f3&&_0x4e5e3d[_0x1a4e('0xe40')]&&_0x4e5e3d[_0x1a4e('0xe40')]();}finally{if(_0x7a80e4)throw _0x3326c9;}}return _0x3493f4['controlPoint']=_0x1dd9b4,_0x3493f4[_0x1a4e('0x4430')]=_0x3337c5,_0x3493f4[_0x1a4e('0x574a')]=_0x18a1c[_0x1a4e('0x574a')],_0x3493f4;},_0x1dd9b4[_0x1a4e('0x574b')]=function(_0x28c44e){_0x3493f4[_0x1a4e('0x46')](_0x28c44e);},_0x1dd9b4[_0x1a4e('0x574c')]=function(){return _0xa2028;};},'./src/Utils/wams/millib/military.js':function(_0x49a8c2,_0x573017,_0x126074){'use strict';(function(_0x49c546,_0x480629,_0x19248f){Object[_0x1a4e('0x2')](_0x573017,'__esModule',{'value':!0x0});var _0x5c2b6f,_0xa87129=_0x1a4e('0x68')==typeof Symbol&&_0x1a4e('0xb1b')==typeof Symbol[_0x1a4e('0x335')]?function(_0x49a8c2){return typeof _0x49a8c2;}:function(_0x49a8c2){return _0x49a8c2&&_0x1a4e('0x68')==typeof Symbol&&_0x49a8c2[_0x1a4e('0x10')]===Symbol&&_0x49a8c2!==Symbol[_0x1a4e('0xa')]?_0x1a4e('0xb1b'):typeof _0x49a8c2;},_0x2060bd=void 0x0!==_0x2060bd?_0x2060bd:{},_0x3a5d4f={};for(_0x5c2b6f in _0x2060bd)_0x2060bd['hasOwnProperty'](_0x5c2b6f)&&(_0x3a5d4f[_0x5c2b6f]=_0x2060bd[_0x5c2b6f]);_0x2060bd[_0x1a4e('0x2373')]=[],_0x2060bd[_0x1a4e('0x574d')]=_0x1a4e('0x574e'),_0x2060bd[_0x1a4e('0x1b55')]=function(_0x49a8c2,_0x573017){throw _0x573017;},_0x2060bd['preRun']=[],_0x2060bd[_0x1a4e('0x574f')]=[];var _0x1b855f=!0x1,_0x2cd2bf=!0x1,_0x3ea29d=!0x1,_0xa809df=!0x1,_0x4b96c6=!0x1;_0x1b855f=_0x1a4e('0x85')===('undefined'==typeof window?_0x1a4e('0x3'):_0xa87129(window)),_0x2cd2bf=_0x1a4e('0x68')==typeof importScripts,_0x4b96c6=!_0x1b855f&&!_0x3ea29d&&!_0x2cd2bf;var _0x45a163,_0xe09b79,_0x16a1f3='';function _0x51a3d5(_0x49a8c2){return _0x2060bd['locateFile']?_0x2060bd[_0x1a4e('0x5750')](_0x49a8c2,_0x16a1f3):_0x16a1f3+_0x49a8c2;}_0x3ea29d?(_0x16a1f3=_0x49c546+'/',_0x2060bd[_0x1a4e('0x144')]=function(_0x49a8c2,_0x573017){var _0x49c546;return _0x45a163||(_0x45a163=_0x126074(_0x1a4e('0x5751'))),_0xe09b79||(_0xe09b79=_0x126074(_0x1a4e('0x161f'))),_0x49a8c2=_0xe09b79['normalize'](_0x49a8c2),_0x49c546=_0x45a163[_0x1a4e('0x1621')](_0x49a8c2),_0x573017?_0x49c546:_0x49c546['toString']();},_0x2060bd[_0x1a4e('0x5752')]=function(_0x49a8c2){var _0x573017=_0x2060bd['read'](_0x49a8c2,!0x0);return _0x573017['buffer']||(_0x573017=new Uint8Array(_0x573017)),_0x560f2b(_0x573017['buffer']),_0x573017;},_0x480629[_0x1a4e('0x1b5b')][_0x1a4e('0x1e')]>0x1&&(_0x2060bd['thisProgram']=_0x480629[_0x1a4e('0x1b5b')][0x1][_0x1a4e('0x115')](/\\/g,'/')),_0x2060bd[_0x1a4e('0x2373')]=_0x480629[_0x1a4e('0x1b5b')][_0x1a4e('0x78')](0x2),_0x49a8c2[_0x1a4e('0x0')]=_0x2060bd,_0x480629['on'](_0x1a4e('0x1649'),function(_0x49a8c2){if(!(_0x49a8c2 instanceof _0x237e97))throw _0x49a8c2;}),_0x480629['on']('unhandledRejection',_0xda4f67),_0x2060bd[_0x1a4e('0x1b55')]=function(_0x49a8c2){_0x480629['exit'](_0x49a8c2);},_0x2060bd['inspect']=function(){return _0x1a4e('0x5753');}):_0x4b96c6?(_0x1a4e('0x3')!=typeof read&&(_0x2060bd[_0x1a4e('0x144')]=function(_0x49a8c2){return read(_0x49a8c2);}),_0x2060bd[_0x1a4e('0x5752')]=function(_0x49a8c2){var _0x573017;return _0x1a4e('0x68')==typeof readbuffer?new Uint8Array(readbuffer(_0x49a8c2)):(_0x560f2b(_0x1a4e('0x85')===(void 0x0===(_0x573017=read(_0x49a8c2,_0x1a4e('0xacc')))?_0x1a4e('0x3'):_0xa87129(_0x573017))),_0x573017);},_0x1a4e('0x3')!=typeof scriptArgs?_0x2060bd[_0x1a4e('0x2373')]=scriptArgs:void 0x0!==arguments&&(_0x2060bd[_0x1a4e('0x2373')]=arguments),_0x1a4e('0x68')==typeof quit&&(_0x2060bd['quit']=function(_0x49a8c2){quit(_0x49a8c2);})):(_0x1b855f||_0x2cd2bf)&&(_0x2cd2bf?_0x16a1f3=self[_0x1a4e('0xbc')][_0x1a4e('0xe3b')]:document['currentScript']&&(_0x16a1f3=document[_0x1a4e('0x1335')][_0x1a4e('0xe05')]),_0x16a1f3=0x0!==_0x16a1f3['indexOf'](_0x1a4e('0x5754'))?_0x16a1f3[_0x1a4e('0x254')](0x0,_0x16a1f3[_0x1a4e('0x471')]('/')+0x1):'',_0x2060bd[_0x1a4e('0x144')]=function(_0x49a8c2){var _0x573017=new XMLHttpRequest();return _0x573017[_0x1a4e('0x12bc')](_0x1a4e('0x1625'),_0x49a8c2,!0x1),_0x573017[_0x1a4e('0x1626')](null),_0x573017[_0x1a4e('0x1628')];},_0x2cd2bf&&(_0x2060bd[_0x1a4e('0x5752')]=function(_0x49a8c2){var _0x573017=new XMLHttpRequest();return _0x573017[_0x1a4e('0x12bc')](_0x1a4e('0x1625'),_0x49a8c2,!0x1),_0x573017[_0x1a4e('0x41b6')]=_0x1a4e('0x5755'),_0x573017[_0x1a4e('0x1626')](null),new Uint8Array(_0x573017[_0x1a4e('0x41b8')]);}),_0x2060bd[_0x1a4e('0x5756')]=function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=new XMLHttpRequest();_0x49c546[_0x1a4e('0x12bc')](_0x1a4e('0x1625'),_0x49a8c2,!0x0),_0x49c546[_0x1a4e('0x41b6')]=_0x1a4e('0x5755'),_0x49c546[_0x1a4e('0x1336')]=function(){0xc8==_0x49c546[_0x1a4e('0xe02')]||0x0==_0x49c546['status']&&_0x49c546[_0x1a4e('0x41b8')]?_0x573017(_0x49c546['response']):_0x126074();},_0x49c546['onerror']=_0x126074,_0x49c546['send'](null);},_0x2060bd[_0x1a4e('0x5757')]=function(_0x49a8c2){document[_0x1a4e('0x1268')]=_0x49a8c2;});var _0x3d6cb7=_0x2060bd[_0x1a4e('0x458')]||(_0x1a4e('0x3')!=typeof console?console['log'][_0x1a4e('0x945')](console):_0x1a4e('0x3')!=typeof print?print:null),_0x5cb9a9=_0x2060bd[_0x1a4e('0x5758')]||(_0x1a4e('0x3')!=typeof printErr?printErr:_0x1a4e('0x3')!=typeof console&&console[_0x1a4e('0xe3c')][_0x1a4e('0x945')](console)||_0x3d6cb7);for(_0x5c2b6f in _0x3a5d4f)_0x3a5d4f['hasOwnProperty'](_0x5c2b6f)&&(_0x2060bd[_0x5c2b6f]=_0x3a5d4f[_0x5c2b6f]);_0x3a5d4f=void 0x0;var _0x2be578,_0x1451e9={'f64-rem':function(_0x49a8c2,_0x573017){return _0x49a8c2%_0x573017;},'debugger':function(){}},_0x15418e=(new Array(0x0),function(_0x49a8c2){_0x49a8c2;});function _0x50a589(_0x49a8c2,_0x573017,_0x126074,_0x49c546){switch('*'===(_0x126074=_0x126074||'i8')[_0x1a4e('0x278')](_0x126074[_0x1a4e('0x1e')]-0x1)&&(_0x126074='i32'),_0x126074){case'i1':case'i8':_0x47d83d[_0x49a8c2>>0x0]=_0x573017;break;case _0x1a4e('0x5759'):_0x522f0f[_0x49a8c2>>0x1]=_0x573017;break;case _0x1a4e('0x575a'):_0x1160b5[_0x49a8c2>>0x2]=_0x573017;break;case _0x1a4e('0x575b'):tempI64=[_0x573017>>>0x0,(tempDouble=_0x573017,+_0x44a793(tempDouble)>=0x1?tempDouble>0x0?(0x0|_0x3602bf(+_0x55f392(tempDouble/0x100000000),0xffffffff))>>>0x0:~~+_0x1088ff((tempDouble-+(~~tempDouble>>>0x0))/0x100000000)>>>0x0:0x0)],_0x1160b5[_0x49a8c2>>0x2]=tempI64[0x0],_0x1160b5[_0x49a8c2+0x4>>0x2]=tempI64[0x1];break;case _0x1a4e('0x53b8'):_0x134348[_0x49a8c2>>0x2]=_0x573017;break;case _0x1a4e('0x575c'):_0x2e5bce[_0x49a8c2>>0x3]=_0x573017;break;default:_0xda4f67(_0x1a4e('0x575d')+_0x126074);}}function _0x4dc0d2(_0x49a8c2,_0x573017,_0x126074){switch('*'===(_0x573017=_0x573017||'i8')[_0x1a4e('0x278')](_0x573017[_0x1a4e('0x1e')]-0x1)&&(_0x573017=_0x1a4e('0x575a')),_0x573017){case'i1':case'i8':return _0x47d83d[_0x49a8c2>>0x0];case _0x1a4e('0x5759'):return _0x522f0f[_0x49a8c2>>0x1];case'i32':case _0x1a4e('0x575b'):return _0x1160b5[_0x49a8c2>>0x2];case _0x1a4e('0x53b8'):return _0x134348[_0x49a8c2>>0x2];case _0x1a4e('0x575c'):return _0x2e5bce[_0x49a8c2>>0x3];default:_0xda4f67(_0x1a4e('0x575e')+_0x573017);}return null;}_0x1a4e('0x85')!==('undefined'==typeof WebAssembly?_0x1a4e('0x3'):_0xa87129(WebAssembly))&&_0x5cb9a9(_0x1a4e('0x575f'));var _0x3816bf=!0x1;function _0x560f2b(_0x49a8c2,_0x573017){_0x49a8c2||_0xda4f67(_0x1a4e('0x1102')+_0x573017);}function _0x780595(_0x49a8c2){var _0x573017=_0x2060bd['_'+_0x49a8c2];return _0x560f2b(_0x573017,_0x1a4e('0x5760')+_0x49a8c2+_0x1a4e('0x5761')),_0x573017;}function _0x25564e(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){var _0x19248f={'string':function(_0x49a8c2){var _0x573017=0x0;if(null!=_0x49a8c2&&0x0!==_0x49a8c2){var _0x126074=0x1+(_0x49a8c2['length']<<0x2);_0x15f6ba(_0x49a8c2,_0x573017=_0x565eed(_0x126074),_0x126074);}return _0x573017;},'array':function(_0x49a8c2){var _0x573017=_0x565eed(_0x49a8c2[_0x1a4e('0x1e')]);return _0x49d588(_0x49a8c2,_0x573017),_0x573017;}};var _0x5c2b6f=_0x780595(_0x49a8c2),_0xa87129=[],_0x2060bd=0x0;if(_0x49c546)for(var _0x3a5d4f=0x0;_0x3a5d4f<_0x49c546['length'];_0x3a5d4f++){var _0x1b855f=_0x19248f[_0x126074[_0x3a5d4f]];_0x1b855f?(0x0===_0x2060bd&&(_0x2060bd=_0x5e7a9d()),_0xa87129[_0x3a5d4f]=_0x1b855f(_0x49c546[_0x3a5d4f])):_0xa87129[_0x3a5d4f]=_0x49c546[_0x3a5d4f];}var _0x2cd2bf=_0x5c2b6f['apply'](null,_0xa87129);return _0x2cd2bf=function(_0x49a8c2){return _0x1a4e('0x9')===_0x573017?_0x3a4026(_0x49a8c2):'boolean'===_0x573017?Boolean(_0x49a8c2):_0x49a8c2;}(_0x2cd2bf),0x0!==_0x2060bd&&_0x23dccf(_0x2060bd),_0x2cd2bf;}function _0x2f2677(_0x49a8c2,_0x573017,_0x126074,_0x49c546){var _0x480629=(_0x126074=_0x126074||[])[_0x1a4e('0x114')](function(_0x49a8c2){return _0x1a4e('0x3d')===_0x49a8c2;});return _0x1a4e('0x9')!==_0x573017&&_0x480629&&!_0x49c546?_0x780595(_0x49a8c2):function(){return _0x25564e(_0x49a8c2,_0x573017,_0x126074,arguments);};}var _0x187680=_0x1a4e('0x3')!=typeof TextDecoder?new TextDecoder(_0x1a4e('0xac4')):void 0x0;function _0x2cf22f(_0x49a8c2,_0x573017,_0x126074){for(var _0x49c546=_0x573017+_0x126074,_0x480629=_0x573017;_0x49a8c2[_0x480629]&&!(_0x480629>=_0x49c546);)++_0x480629;if(_0x480629-_0x573017>0x10&&_0x49a8c2[_0x1a4e('0xad8')]&&_0x187680)return _0x187680[_0x1a4e('0x8f3')](_0x49a8c2[_0x1a4e('0xad8')](_0x573017,_0x480629));for(var _0x19248f='';_0x573017<_0x480629;){var _0x5c2b6f=_0x49a8c2[_0x573017++];if(0x80&_0x5c2b6f){var _0xa87129=0x3f&_0x49a8c2[_0x573017++];if(0xc0!=(0xe0&_0x5c2b6f)){var _0x2060bd=0x3f&_0x49a8c2[_0x573017++];if((_0x5c2b6f=0xe0==(0xf0&_0x5c2b6f)?(0xf&_0x5c2b6f)<<0xc|_0xa87129<<0x6|_0x2060bd:(0x7&_0x5c2b6f)<<0x12|_0xa87129<<0xc|_0x2060bd<<0x6|0x3f&_0x49a8c2[_0x573017++])<0x10000)_0x19248f+=String['fromCharCode'](_0x5c2b6f);else{var _0x3a5d4f=_0x5c2b6f-0x10000;_0x19248f+=String[_0x1a4e('0x8fe')](0xd800|_0x3a5d4f>>0xa,0xdc00|0x3ff&_0x3a5d4f);}}else _0x19248f+=String[_0x1a4e('0x8fe')]((0x1f&_0x5c2b6f)<<0x6|_0xa87129);}else _0x19248f+=String['fromCharCode'](_0x5c2b6f);}return _0x19248f;}function _0x3a4026(_0x49a8c2,_0x573017){return _0x49a8c2?_0x2cf22f(_0x1b2e81,_0x49a8c2,_0x573017):'';}function _0x298d00(_0x49a8c2,_0x573017,_0x126074,_0x49c546){if(!(_0x49c546>0x0))return 0x0;for(var _0x480629=_0x126074,_0x19248f=_0x126074+_0x49c546-0x1,_0x5c2b6f=0x0;_0x5c2b6f<_0x49a8c2[_0x1a4e('0x1e')];++_0x5c2b6f){var _0xa87129=_0x49a8c2[_0x1a4e('0x913')](_0x5c2b6f);if(_0xa87129>=0xd800&&_0xa87129<=0xdfff)_0xa87129=0x10000+((0x3ff&_0xa87129)<<0xa)|0x3ff&_0x49a8c2[_0x1a4e('0x913')](++_0x5c2b6f);if(_0xa87129<=0x7f){if(_0x126074>=_0x19248f)break;_0x573017[_0x126074++]=_0xa87129;}else if(_0xa87129<=0x7ff){if(_0x126074+0x1>=_0x19248f)break;_0x573017[_0x126074++]=0xc0|_0xa87129>>0x6,_0x573017[_0x126074++]=0x80|0x3f&_0xa87129;}else if(_0xa87129<=0xffff){if(_0x126074+0x2>=_0x19248f)break;_0x573017[_0x126074++]=0xe0|_0xa87129>>0xc,_0x573017[_0x126074++]=0x80|_0xa87129>>0x6&0x3f,_0x573017[_0x126074++]=0x80|0x3f&_0xa87129;}else{if(_0x126074+0x3>=_0x19248f)break;_0x573017[_0x126074++]=0xf0|_0xa87129>>0x12,_0x573017[_0x126074++]=0x80|_0xa87129>>0xc&0x3f,_0x573017[_0x126074++]=0x80|_0xa87129>>0x6&0x3f,_0x573017[_0x126074++]=0x80|0x3f&_0xa87129;}}return _0x573017[_0x126074]=0x0,_0x126074-_0x480629;}function _0x15f6ba(_0x49a8c2,_0x573017,_0x126074){return _0x298d00(_0x49a8c2,_0x1b2e81,_0x573017,_0x126074);}function _0x3a1867(_0x49a8c2){for(var _0x573017=0x0,_0x126074=0x0;_0x126074<_0x49a8c2[_0x1a4e('0x1e')];++_0x126074){var _0x49c546=_0x49a8c2[_0x1a4e('0x913')](_0x126074);_0x49c546>=0xd800&&_0x49c546<=0xdfff&&(_0x49c546=0x10000+((0x3ff&_0x49c546)<<0xa)|0x3ff&_0x49a8c2[_0x1a4e('0x913')](++_0x126074)),_0x49c546<=0x7f?++_0x573017:_0x573017+=_0x49c546<=0x7ff?0x2:_0x49c546<=0xffff?0x3:0x4;}return _0x573017;}_0x1a4e('0x3')!=typeof TextDecoder&&new TextDecoder(_0x1a4e('0xad0'));function _0x42da6c(_0x49a8c2){var _0x573017=_0x3a1867(_0x49a8c2)+0x1,_0x126074=_0x3c4083(_0x573017);return _0x126074&&_0x298d00(_0x49a8c2,_0x47d83d,_0x126074,_0x573017),_0x126074;}function _0x49d588(_0x49a8c2,_0x573017){_0x47d83d[_0x1a4e('0x17a')](_0x49a8c2,_0x573017);}function _0x50c61f(_0x49a8c2){return _0x49a8c2;}function _0x4e1c32(_0x49a8c2){return _0x49a8c2[_0x1a4e('0x115')](/__Z[\w\d_]+/g,function(_0x49a8c2){var _0x573017=_0x50c61f(_0x49a8c2);return _0x49a8c2===_0x573017?_0x49a8c2:_0x573017+'\x20['+_0x49a8c2+']';});}function _0x37d44d(){var _0x49a8c2=new Error();if(!_0x49a8c2['stack']){try{throw new Error(0x0);}catch(_0x4bf8e7){_0x49a8c2=_0x4bf8e7;}if(!_0x49a8c2['stack'])return'(no\x20stack\x20trace\x20available)';}return _0x49a8c2[_0x1a4e('0x2cd')][_0x1a4e('0x95')]();}function _0x525a00(){var _0x49a8c2=_0x37d44d();return _0x2060bd[_0x1a4e('0x5762')]&&(_0x49a8c2+='\x0a'+_0x2060bd[_0x1a4e('0x5762')]()),_0x4e1c32(_0x49a8c2);}var _0x5bb9ca,_0x47d83d,_0x1b2e81,_0x522f0f,_0x1651e3,_0x1160b5,_0x10f0e0,_0x134348,_0x2e5bce,_0x2ee1aa=0x10000;function _0x3a5ba5(_0x49a8c2,_0x573017){return _0x49a8c2%_0x573017>0x0&&(_0x49a8c2+=_0x573017-_0x49a8c2%_0x573017),_0x49a8c2;}function _0xd423b5(){_0x2060bd[_0x1a4e('0x5763')]=_0x47d83d=new Int8Array(_0x5bb9ca),_0x2060bd['HEAP16']=_0x522f0f=new Int16Array(_0x5bb9ca),_0x2060bd[_0x1a4e('0x5764')]=_0x1160b5=new Int32Array(_0x5bb9ca),_0x2060bd[_0x1a4e('0x5765')]=_0x1b2e81=new Uint8Array(_0x5bb9ca),_0x2060bd['HEAPU16']=_0x1651e3=new Uint16Array(_0x5bb9ca),_0x2060bd[_0x1a4e('0x5766')]=_0x10f0e0=new Uint32Array(_0x5bb9ca),_0x2060bd[_0x1a4e('0x5767')]=_0x134348=new Float32Array(_0x5bb9ca),_0x2060bd['HEAPF64']=_0x2e5bce=new Float64Array(_0x5bb9ca);}var _0x4c0da3=0x526f80,_0x3b14b8=0x26f60,_0x1ef910=0x500000,_0x245333=_0x2060bd[_0x1a4e('0x5768')]||0x1000000;function _0x2a79b0(_0x49a8c2){for(;_0x49a8c2[_0x1a4e('0x1e')]>0x0;){var _0x573017=_0x49a8c2[_0x1a4e('0x7d')]();if(_0x1a4e('0x68')!=typeof _0x573017){var _0x126074=_0x573017[_0x1a4e('0x102d')];_0x1a4e('0x3d')==typeof _0x126074?void 0x0===_0x573017[_0x1a4e('0x1363')]?_0x2060bd['dynCall_v'](_0x126074):_0x2060bd[_0x1a4e('0x5769')](_0x126074,_0x573017[_0x1a4e('0x1363')]):_0x126074(void 0x0===_0x573017['arg']?null:_0x573017['arg']);}else _0x573017();}}_0x245333<_0x1ef910&&_0x5cb9a9(_0x1a4e('0x576a')+_0x245333+_0x1a4e('0x576b')+_0x1ef910+')'),_0x2060bd[_0x1a4e('0x613')]?_0x5bb9ca=_0x2060bd[_0x1a4e('0x613')]:'object'===(_0x1a4e('0x3')==typeof WebAssembly?_0x1a4e('0x3'):_0xa87129(WebAssembly))&&_0x1a4e('0x68')==typeof WebAssembly['Memory']?(_0x2be578=new WebAssembly[(_0x1a4e('0x576c'))]({'initial':_0x245333/_0x2ee1aa}),_0x5bb9ca=_0x2be578['buffer']):_0x5bb9ca=new ArrayBuffer(_0x245333),_0xd423b5(),_0x1160b5[_0x3b14b8>>0x2]=_0x4c0da3;var _0x737373=[],_0x54450e=[],_0x23bfb3=[],_0x75a3b3=[],_0x3f52b7=!0x1;function _0x4df695(){if(_0x2060bd['preRun'])for('function'==typeof _0x2060bd[_0x1a4e('0x576d')]&&(_0x2060bd[_0x1a4e('0x576d')]=[_0x2060bd[_0x1a4e('0x576d')]]);_0x2060bd[_0x1a4e('0x576d')]['length'];)_0x4f40eb(_0x2060bd['preRun']['shift']());_0x2a79b0(_0x737373);}function _0x4430b1(){_0x3f52b7||(_0x3f52b7=!0x0,_0x2060bd[_0x1a4e('0x576e')]||_0x3fcb63[_0x1a4e('0x1fd')]['initialized']||_0x3fcb63[_0x1a4e('0x1fd')](),_0x12f133[_0x1a4e('0x1fd')](),_0x2a79b0(_0x54450e));}function _0x931915(){_0x3fcb63[_0x1a4e('0x576f')]=!0x1,_0x2a79b0(_0x23bfb3);}function _0x5dc8ec(){if(_0x2060bd['postRun'])for(_0x1a4e('0x68')==typeof _0x2060bd[_0x1a4e('0x574f')]&&(_0x2060bd[_0x1a4e('0x574f')]=[_0x2060bd['postRun']]);_0x2060bd[_0x1a4e('0x574f')][_0x1a4e('0x1e')];)_0x76914e(_0x2060bd['postRun'][_0x1a4e('0x7d')]());_0x2a79b0(_0x75a3b3);}function _0x4f40eb(_0x49a8c2){_0x737373[_0x1a4e('0x66')](_0x49a8c2);}function _0x76914e(_0x49a8c2){_0x75a3b3['unshift'](_0x49a8c2);}var _0x44a793=Math[_0x1a4e('0x65')],_0x1088ff=Math[_0x1a4e('0x6d')],_0x55f392=Math[_0x1a4e('0xb4')],_0x3602bf=Math[_0x1a4e('0x74')],_0x3f3602=0x0,_0x5d7cb1=null,_0x35ed37=null;function _0x524967(_0x49a8c2){return _0x49a8c2;}function _0xc72ba(_0x49a8c2){_0x3f3602++,_0x2060bd[_0x1a4e('0x5770')]&&_0x2060bd[_0x1a4e('0x5770')](_0x3f3602);}function _0x727e8f(_0x49a8c2){if(_0x3f3602--,_0x2060bd[_0x1a4e('0x5770')]&&_0x2060bd[_0x1a4e('0x5770')](_0x3f3602),0x0==_0x3f3602&&(null!==_0x5d7cb1&&(clearInterval(_0x5d7cb1),_0x5d7cb1=null),_0x35ed37)){var _0x573017=_0x35ed37;_0x35ed37=null,_0x573017();}}_0x2060bd[_0x1a4e('0x5771')]={},_0x2060bd[_0x1a4e('0x5772')]={};var _0xddb453='data:application/octet-stream;base64,';function _0x33b061(_0x49a8c2){return String[_0x1a4e('0xa')][_0x1a4e('0xdfb')]?_0x49a8c2[_0x1a4e('0xdfb')](_0xddb453):0x0===_0x49a8c2[_0x1a4e('0x3e')](_0xddb453);}var _0x3e1aba=window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x5773'));function _0x356d00(){try{if(_0x2060bd[_0x1a4e('0x5774')])return new Uint8Array(_0x2060bd[_0x1a4e('0x5774')]);if(_0x2060bd['readBinary'])return _0x2060bd['readBinary'](_0x3e1aba);throw _0x1a4e('0x5775');}catch(_0x400a2b){_0xda4f67(_0x400a2b);}}function _0x230b8e(){return _0x2060bd[_0x1a4e('0x5774')]||!_0x1b855f&&!_0x2cd2bf||'function'!=typeof fetch?new Promise(function(_0x49a8c2,_0x573017){_0x49a8c2(_0x356d00());}):fetch(_0x3e1aba,{'credentials':_0x1a4e('0x5776')})['then'](function(_0x49a8c2){if(!_0x49a8c2['ok'])throw _0x1a4e('0x5777')+_0x3e1aba+'\x27';return _0x49a8c2['arrayBuffer']();})[_0x1a4e('0x1586')](function(){return _0x356d00();});}function _0x1a0e30(_0x49a8c2){var _0x573017={'env':_0x49a8c2,'global':{'NaN':NaN,'Infinity':0x1/0x0},'global.Math':Math,'asm2wasm':_0x1451e9};function _0x126074(_0x49a8c2,_0x573017){var _0x126074=_0x49a8c2['exports'];_0x2060bd[_0x1a4e('0x5778')]=_0x126074,_0x727e8f();}function _0x49c546(_0x49a8c2){_0x126074(_0x49a8c2['instance']);}function _0x480629(_0x49a8c2){return _0x230b8e()['then'](function(_0x49a8c2){return WebAssembly[_0x1a4e('0x5779')](_0x49a8c2,_0x573017);})['then'](_0x49a8c2,function(_0x49a8c2){_0x5cb9a9(_0x1a4e('0x577a')+_0x49a8c2),_0xda4f67(_0x49a8c2);});}if(_0xc72ba(),_0x2060bd[_0x1a4e('0x577b')])try{return _0x2060bd['instantiateWasm'](_0x573017,_0x126074);}catch(_0x3fb5bd){return _0x5cb9a9('Module.instantiateWasm\x20callback\x20failed\x20with\x20error:\x20'+_0x3fb5bd),!0x1;}return function(){if(_0x2060bd['wasmBinary']||_0x1a4e('0x68')!=typeof WebAssembly[_0x1a4e('0x577c')]||_0x33b061(_0x3e1aba)||_0x1a4e('0x68')!=typeof fetch)return _0x480629(_0x49c546);fetch(_0x3e1aba,{'credentials':_0x1a4e('0x5776')})[_0x1a4e('0xdf8')](function(_0x49a8c2){return WebAssembly[_0x1a4e('0x577c')](_0x49a8c2,_0x573017)[_0x1a4e('0xdf8')](_0x49c546,function(_0x49a8c2){_0x5cb9a9('wasm\x20streaming\x20compile\x20failed:\x20'+_0x49a8c2),_0x5cb9a9(_0x1a4e('0x577d')),_0x480629(_0x49c546);});});}(),{};}function _0x4b5309(_0x49a8c2,_0x573017,_0x126074,_0x49c546){_0xda4f67(_0x1a4e('0x1102')+_0x3a4026(_0x49a8c2)+_0x1a4e('0x577e')+[_0x573017?_0x3a4026(_0x573017):_0x1a4e('0x577f'),_0x126074,_0x49c546?_0x3a4026(_0x49c546):_0x1a4e('0x5780')]);}function _0x250aed(_0x49a8c2){return _0x3c4083(_0x49a8c2);}_0x33b061(_0x3e1aba)||(_0x3e1aba=_0x51a3d5(_0x3e1aba)),_0x2060bd[_0x1a4e('0x5778')]=function(_0x49a8c2,_0x573017,_0x126074){return _0x573017[_0x1a4e('0x5781')]=_0x2be578,_0x573017[_0x1a4e('0x4e08')]=new WebAssembly['Table']({'initial':0x25f2,'maximum':0x25f2,'element':_0x1a4e('0x5782')}),_0x573017[_0x1a4e('0x5783')]=0x400,_0x573017[_0x1a4e('0x5784')]=0x0,_0x1a0e30(_0x573017);},_0x54450e[_0x1a4e('0x46')]({'func':function(){_0x2e5256();}});var _0x3dc2a1={};function _0x20e116(){throw _0x3816bf=!0x0,_0x1a4e('0x5785');}function _0xe1bb8f(_0x49a8c2,_0x573017,_0x126074){throw _0x3dc2a1[_0x49a8c2]={'ptr':_0x49a8c2,'adjusted':[_0x49a8c2],'type':_0x573017,'destructor':_0x126074,'refcount':0x0,'caught':!0x1,'rethrown':!0x1},_0x49a8c2,'uncaught_exception'in _0x5b37d9?_0x5b37d9['uncaught_exception']++:_0x5b37d9[_0x1a4e('0x5786')]=0x1,_0x49a8c2;}function _0x52e35a(){return!!_0x5b37d9['uncaught_exception'];}function _0x50d8be(){}function _0x4087cd(_0x49a8c2){return _0x2060bd[_0x1a4e('0x5787')]&&(_0x1160b5[_0x2060bd[_0x1a4e('0x5787')]()>>0x2]=_0x49a8c2),_0x49a8c2;}function _0x2c8825(_0x49a8c2,_0x573017){return _0x4087cd(0x1),-0x1;}var _0x243fd7={'splitPath':function(_0x49a8c2){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/['exec'](_0x49a8c2)[_0x1a4e('0x78')](0x1);},'normalizeArray':function(_0x49a8c2,_0x573017){for(var _0x126074=0x0,_0x49c546=_0x49a8c2[_0x1a4e('0x1e')]-0x1;_0x49c546>=0x0;_0x49c546--){var _0x480629=_0x49a8c2[_0x49c546];'.'===_0x480629?_0x49a8c2[_0x1a4e('0x8a')](_0x49c546,0x1):'..'===_0x480629?(_0x49a8c2[_0x1a4e('0x8a')](_0x49c546,0x1),_0x126074++):_0x126074&&(_0x49a8c2[_0x1a4e('0x8a')](_0x49c546,0x1),_0x126074--);}if(_0x573017)for(;_0x126074;_0x126074--)_0x49a8c2[_0x1a4e('0x66')]('..');return _0x49a8c2;},'normalize':function(_0x49a8c2){var _0x573017='/'===_0x49a8c2[_0x1a4e('0x278')](0x0),_0x126074='/'===_0x49a8c2['substr'](-0x1);return(_0x49a8c2=_0x243fd7['normalizeArray'](_0x49a8c2[_0x1a4e('0x2be')]('/')[_0x1a4e('0xd9')](function(_0x49a8c2){return!!_0x49a8c2;}),!_0x573017)[_0x1a4e('0x9e')]('/'))||_0x573017||(_0x49a8c2='.'),_0x49a8c2&&_0x126074&&(_0x49a8c2+='/'),(_0x573017?'/':'')+_0x49a8c2;},'dirname':function(_0x49a8c2){var _0x573017=_0x243fd7[_0x1a4e('0x5788')](_0x49a8c2),_0x126074=_0x573017[0x0],_0x49c546=_0x573017[0x1];return _0x126074||_0x49c546?(_0x49c546&&(_0x49c546=_0x49c546[_0x1a4e('0x254')](0x0,_0x49c546['length']-0x1)),_0x126074+_0x49c546):'.';},'basename':function(_0x49a8c2){if('/'===_0x49a8c2)return'/';var _0x573017=_0x49a8c2['lastIndexOf']('/');return-0x1===_0x573017?_0x49a8c2:_0x49a8c2[_0x1a4e('0x254')](_0x573017+0x1);},'extname':function(_0x49a8c2){return _0x243fd7[_0x1a4e('0x5788')](_0x49a8c2)[0x3];},'join':function(){var _0x49a8c2=Array[_0x1a4e('0xa')]['slice']['call'](arguments,0x0);return _0x243fd7[_0x1a4e('0x330')](_0x49a8c2[_0x1a4e('0x9e')]('/'));},'join2':function(_0x49a8c2,_0x573017){return _0x243fd7['normalize'](_0x49a8c2+'/'+_0x573017);}},_0x203e7e={'resolve':function(){for(var _0x49a8c2='',_0x573017=!0x1,_0x126074=arguments[_0x1a4e('0x1e')]-0x1;_0x126074>=-0x1&&!_0x573017;_0x126074--){var _0x49c546=_0x126074>=0x0?arguments[_0x126074]:_0x3fcb63[_0x1a4e('0x1140')]();if(_0x1a4e('0x9')!=typeof _0x49c546)throw new TypeError(_0x1a4e('0x1141'));if(!_0x49c546)return'';_0x49a8c2=_0x49c546+'/'+_0x49a8c2,_0x573017='/'===_0x49c546[_0x1a4e('0x278')](0x0);}return(_0x573017?'/':'')+(_0x49a8c2=_0x243fd7[_0x1a4e('0x5789')](_0x49a8c2[_0x1a4e('0x2be')]('/')[_0x1a4e('0xd9')](function(_0x49a8c2){return!!_0x49a8c2;}),!_0x573017)['join']('/'))||'.';},'relative':function(_0x49a8c2,_0x573017){function _0x126074(_0x49a8c2){for(var _0x573017=0x0;_0x573017<_0x49a8c2[_0x1a4e('0x1e')]&&''===_0x49a8c2[_0x573017];_0x573017++);for(var _0x126074=_0x49a8c2[_0x1a4e('0x1e')]-0x1;_0x126074>=0x0&&''===_0x49a8c2[_0x126074];_0x126074--);return _0x573017>_0x126074?[]:_0x49a8c2['slice'](_0x573017,_0x126074-_0x573017+0x1);}_0x49a8c2=_0x203e7e[_0x1a4e('0xe20')](_0x49a8c2)[_0x1a4e('0x254')](0x1),_0x573017=_0x203e7e[_0x1a4e('0xe20')](_0x573017)[_0x1a4e('0x254')](0x1);for(var _0x49c546=_0x126074(_0x49a8c2['split']('/')),_0x480629=_0x126074(_0x573017[_0x1a4e('0x2be')]('/')),_0x19248f=Math['min'](_0x49c546['length'],_0x480629[_0x1a4e('0x1e')]),_0x5c2b6f=_0x19248f,_0xa87129=0x0;_0xa87129<_0x19248f;_0xa87129++)if(_0x49c546[_0xa87129]!==_0x480629[_0xa87129]){_0x5c2b6f=_0xa87129;break;}var _0x2060bd=[];for(_0xa87129=_0x5c2b6f;_0xa87129<_0x49c546[_0x1a4e('0x1e')];_0xa87129++)_0x2060bd[_0x1a4e('0x46')]('..');return(_0x2060bd=_0x2060bd[_0x1a4e('0x9a')](_0x480629[_0x1a4e('0x78')](_0x5c2b6f)))[_0x1a4e('0x9e')]('/');}},_0x12f133={'ttys':[],'init':function(){},'shutdown':function(){},'register':function(_0x49a8c2,_0x573017){_0x12f133[_0x1a4e('0x578a')][_0x49a8c2]={'input':[],'output':[],'ops':_0x573017},_0x3fcb63[_0x1a4e('0x578b')](_0x49a8c2,_0x12f133['stream_ops']);},'stream_ops':{'open':function(_0x49a8c2){var _0x573017=_0x12f133['ttys'][_0x49a8c2[_0x1a4e('0x80')]['rdev']];if(!_0x573017)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x13);_0x49a8c2['tty']=_0x573017,_0x49a8c2['seekable']=!0x1;},'close':function(_0x49a8c2){_0x49a8c2[_0x1a4e('0x578d')][_0x1a4e('0x166a')][_0x1a4e('0xa6f')](_0x49a8c2[_0x1a4e('0x578d')]);},'flush':function(_0x49a8c2){_0x49a8c2['tty'][_0x1a4e('0x166a')][_0x1a4e('0xa6f')](_0x49a8c2[_0x1a4e('0x578d')]);},'read':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){if(!_0x49a8c2[_0x1a4e('0x578d')]||!_0x49a8c2['tty'][_0x1a4e('0x166a')]['get_char'])throw new _0x3fcb63['ErrnoError'](0x6);for(var _0x19248f=0x0,_0x5c2b6f=0x0;_0x5c2b6f<_0x49c546;_0x5c2b6f++){var _0xa87129;try{_0xa87129=_0x49a8c2[_0x1a4e('0x578d')][_0x1a4e('0x166a')][_0x1a4e('0x578e')](_0x49a8c2[_0x1a4e('0x578d')]);}catch(_0x4e1ea8){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x5);}if(void 0x0===_0xa87129&&0x0===_0x19248f)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0xb);if(null==_0xa87129)break;_0x19248f++,_0x573017[_0x126074+_0x5c2b6f]=_0xa87129;}return _0x19248f&&(_0x49a8c2['node'][_0x1a4e('0x2f8e')]=Date['now']()),_0x19248f;},'write':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){if(!_0x49a8c2[_0x1a4e('0x578d')]||!_0x49a8c2[_0x1a4e('0x578d')]['ops'][_0x1a4e('0x578f')])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x6);try{for(var _0x19248f=0x0;_0x19248f<_0x49c546;_0x19248f++)_0x49a8c2[_0x1a4e('0x578d')][_0x1a4e('0x166a')][_0x1a4e('0x578f')](_0x49a8c2[_0x1a4e('0x578d')],_0x573017[_0x126074+_0x19248f]);}catch(_0x54209c){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x5);}return _0x49c546&&(_0x49a8c2['node'][_0x1a4e('0x2f8e')]=Date[_0x1a4e('0xe3f')]()),_0x19248f;}},'default_tty_ops':{'get_char':function(_0x49a8c2){if(!_0x49a8c2[_0x1a4e('0xfc7')][_0x1a4e('0x1e')]){var _0x573017=null;if(_0x3ea29d){var _0x126074=new _0x19248f(0x100),_0x49c546=0x0,_0x5c2b6f='win32'!=_0x480629[_0x1a4e('0x1b57')],_0xa87129=_0x480629[_0x1a4e('0x5790')]['fd'];if(_0x5c2b6f){var _0x2060bd=!0x1;try{_0xa87129=_0xe77bfb[_0x1a4e('0x1b5e')]('/dev/stdin','r'),_0x2060bd=!0x0;}catch(_0x28232b){}}try{_0x49c546=_0xe77bfb[_0x1a4e('0x5791')](_0xa87129,_0x126074,0x0,0x100,null);}catch(_0x47b238){if(-0x1==_0x47b238[_0x1a4e('0x95')]()[_0x1a4e('0x3e')](_0x1a4e('0x5792')))throw _0x47b238;_0x49c546=0x0;}_0x2060bd&&_0xe77bfb[_0x1a4e('0x1b60')](_0xa87129),_0x573017=_0x49c546>0x0?_0x126074['slice'](0x0,_0x49c546)['toString'](_0x1a4e('0xad1')):null;}else _0x1a4e('0x3')!=typeof window&&_0x1a4e('0x68')==typeof window[_0x1a4e('0x38b5')]?null!==(_0x573017=window['prompt'](_0x1a4e('0x5793')))&&(_0x573017+='\x0a'):_0x1a4e('0x68')==typeof readline&&null!==(_0x573017=readline())&&(_0x573017+='\x0a');if(!_0x573017)return null;_0x49a8c2[_0x1a4e('0xfc7')]=_0x867ffb(_0x573017,!0x0);}return _0x49a8c2['input'][_0x1a4e('0x7d')]();},'put_char':function(_0x49a8c2,_0x573017){null===_0x573017||0xa===_0x573017?(_0x3d6cb7(_0x2cf22f(_0x49a8c2[_0x1a4e('0x5526')],0x0)),_0x49a8c2[_0x1a4e('0x5526')]=[]):0x0!=_0x573017&&_0x49a8c2[_0x1a4e('0x5526')][_0x1a4e('0x46')](_0x573017);},'flush':function(_0x49a8c2){_0x49a8c2[_0x1a4e('0x5526')]&&_0x49a8c2[_0x1a4e('0x5526')][_0x1a4e('0x1e')]>0x0&&(_0x3d6cb7(_0x2cf22f(_0x49a8c2[_0x1a4e('0x5526')],0x0)),_0x49a8c2[_0x1a4e('0x5526')]=[]);}},'default_tty1_ops':{'put_char':function(_0x49a8c2,_0x573017){null===_0x573017||0xa===_0x573017?(_0x5cb9a9(_0x2cf22f(_0x49a8c2[_0x1a4e('0x5526')],0x0)),_0x49a8c2['output']=[]):0x0!=_0x573017&&_0x49a8c2[_0x1a4e('0x5526')][_0x1a4e('0x46')](_0x573017);},'flush':function(_0x49a8c2){_0x49a8c2[_0x1a4e('0x5526')]&&_0x49a8c2[_0x1a4e('0x5526')][_0x1a4e('0x1e')]>0x0&&(_0x5cb9a9(_0x2cf22f(_0x49a8c2['output'],0x0)),_0x49a8c2['output']=[]);}}},_0x28cfb5={'ops_table':null,'mount':function(_0x49a8c2){return _0x28cfb5[_0x1a4e('0x460')](null,'/',0x41ff,0x0);},'createNode':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){if(_0x3fcb63[_0x1a4e('0x5794')](_0x126074)||_0x3fcb63[_0x1a4e('0x5795')](_0x126074))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);_0x28cfb5[_0x1a4e('0x5796')]||(_0x28cfb5[_0x1a4e('0x5796')]={'dir':{'node':{'getattr':_0x28cfb5[_0x1a4e('0x5797')][_0x1a4e('0x5798')],'setattr':_0x28cfb5[_0x1a4e('0x5797')][_0x1a4e('0x5799')],'lookup':_0x28cfb5['node_ops'][_0x1a4e('0x2951')],'mknod':_0x28cfb5[_0x1a4e('0x5797')]['mknod'],'rename':_0x28cfb5['node_ops']['rename'],'unlink':_0x28cfb5[_0x1a4e('0x5797')]['unlink'],'rmdir':_0x28cfb5[_0x1a4e('0x5797')]['rmdir'],'readdir':_0x28cfb5[_0x1a4e('0x5797')]['readdir'],'symlink':_0x28cfb5[_0x1a4e('0x5797')]['symlink']},'stream':{'llseek':_0x28cfb5[_0x1a4e('0x579a')]['llseek']}},'file':{'node':{'getattr':_0x28cfb5['node_ops']['getattr'],'setattr':_0x28cfb5['node_ops']['setattr']},'stream':{'llseek':_0x28cfb5[_0x1a4e('0x579a')][_0x1a4e('0x579b')],'read':_0x28cfb5[_0x1a4e('0x579a')][_0x1a4e('0x144')],'write':_0x28cfb5[_0x1a4e('0x579a')][_0x1a4e('0x146')],'allocate':_0x28cfb5[_0x1a4e('0x579a')][_0x1a4e('0x579c')],'mmap':_0x28cfb5[_0x1a4e('0x579a')][_0x1a4e('0x579d')],'msync':_0x28cfb5['stream_ops'][_0x1a4e('0x579e')]}},'link':{'node':{'getattr':_0x28cfb5[_0x1a4e('0x5797')][_0x1a4e('0x5798')],'setattr':_0x28cfb5[_0x1a4e('0x5797')][_0x1a4e('0x5799')],'readlink':_0x28cfb5[_0x1a4e('0x5797')][_0x1a4e('0x579f')]},'stream':{}},'chrdev':{'node':{'getattr':_0x28cfb5[_0x1a4e('0x5797')]['getattr'],'setattr':_0x28cfb5[_0x1a4e('0x5797')][_0x1a4e('0x5799')]},'stream':_0x3fcb63[_0x1a4e('0x57a0')]}});var _0x480629=_0x3fcb63['createNode'](_0x49a8c2,_0x573017,_0x126074,_0x49c546);return _0x3fcb63[_0x1a4e('0x57a1')](_0x480629['mode'])?(_0x480629[_0x1a4e('0x5797')]=_0x28cfb5[_0x1a4e('0x5796')]['dir'][_0x1a4e('0x80')],_0x480629[_0x1a4e('0x579a')]=_0x28cfb5[_0x1a4e('0x5796')]['dir']['stream'],_0x480629['contents']={}):_0x3fcb63[_0x1a4e('0x1b6a')](_0x480629[_0x1a4e('0xa69')])?(_0x480629[_0x1a4e('0x5797')]=_0x28cfb5['ops_table'][_0x1a4e('0x15c9')][_0x1a4e('0x80')],_0x480629[_0x1a4e('0x579a')]=_0x28cfb5[_0x1a4e('0x5796')][_0x1a4e('0x15c9')][_0x1a4e('0x140')],_0x480629[_0x1a4e('0x57a2')]=0x0,_0x480629['contents']=null):_0x3fcb63['isLink'](_0x480629[_0x1a4e('0xa69')])?(_0x480629[_0x1a4e('0x5797')]=_0x28cfb5[_0x1a4e('0x5796')]['link'][_0x1a4e('0x80')],_0x480629[_0x1a4e('0x579a')]=_0x28cfb5['ops_table'][_0x1a4e('0x57a3')][_0x1a4e('0x140')]):_0x3fcb63['isChrdev'](_0x480629[_0x1a4e('0xa69')])&&(_0x480629[_0x1a4e('0x5797')]=_0x28cfb5[_0x1a4e('0x5796')]['chrdev']['node'],_0x480629['stream_ops']=_0x28cfb5[_0x1a4e('0x5796')][_0x1a4e('0x57a4')][_0x1a4e('0x140')]),_0x480629['timestamp']=Date[_0x1a4e('0xe3f')](),_0x49a8c2&&(_0x49a8c2['contents'][_0x573017]=_0x480629),_0x480629;},'getFileDataAsRegularArray':function(_0x49a8c2){if(_0x49a8c2[_0x1a4e('0x53b3')]&&_0x49a8c2[_0x1a4e('0x53b3')][_0x1a4e('0xad8')]){for(var _0x573017=[],_0x126074=0x0;_0x126074<_0x49a8c2[_0x1a4e('0x57a2')];++_0x126074)_0x573017[_0x1a4e('0x46')](_0x49a8c2[_0x1a4e('0x53b3')][_0x126074]);return _0x573017;}return _0x49a8c2['contents'];},'getFileDataAsTypedArray':function(_0x49a8c2){return _0x49a8c2['contents']?_0x49a8c2[_0x1a4e('0x53b3')][_0x1a4e('0xad8')]?_0x49a8c2[_0x1a4e('0x53b3')]['subarray'](0x0,_0x49a8c2[_0x1a4e('0x57a2')]):new Uint8Array(_0x49a8c2[_0x1a4e('0x53b3')]):new Uint8Array();},'expandFileStorage':function(_0x49a8c2,_0x573017){var _0x126074=_0x49a8c2[_0x1a4e('0x53b3')]?_0x49a8c2[_0x1a4e('0x53b3')][_0x1a4e('0x1e')]:0x0;if(!(_0x126074>=_0x573017)){_0x573017=Math[_0x1a4e('0x6c')](_0x573017,_0x126074*(_0x126074<0x100000?0x2:1.125)|0x0),0x0!=_0x126074&&(_0x573017=Math[_0x1a4e('0x6c')](_0x573017,0x100));var _0x49c546=_0x49a8c2['contents'];_0x49a8c2[_0x1a4e('0x53b3')]=new Uint8Array(_0x573017),_0x49a8c2[_0x1a4e('0x57a2')]>0x0&&_0x49a8c2[_0x1a4e('0x53b3')]['set'](_0x49c546['subarray'](0x0,_0x49a8c2[_0x1a4e('0x57a2')]),0x0);}},'resizeFileStorage':function(_0x49a8c2,_0x573017){if(_0x49a8c2[_0x1a4e('0x57a2')]!=_0x573017){if(0x0==_0x573017)return _0x49a8c2[_0x1a4e('0x53b3')]=null,void(_0x49a8c2[_0x1a4e('0x57a2')]=0x0);if(!_0x49a8c2[_0x1a4e('0x53b3')]||_0x49a8c2[_0x1a4e('0x53b3')][_0x1a4e('0xad8')]){var _0x126074=_0x49a8c2[_0x1a4e('0x53b3')];return _0x49a8c2[_0x1a4e('0x53b3')]=new Uint8Array(new ArrayBuffer(_0x573017)),_0x126074&&_0x49a8c2['contents'][_0x1a4e('0x17a')](_0x126074[_0x1a4e('0xad8')](0x0,Math[_0x1a4e('0x74')](_0x573017,_0x49a8c2['usedBytes']))),void(_0x49a8c2[_0x1a4e('0x57a2')]=_0x573017);}if(_0x49a8c2[_0x1a4e('0x53b3')]||(_0x49a8c2[_0x1a4e('0x53b3')]=[]),_0x49a8c2[_0x1a4e('0x53b3')]['length']>_0x573017)_0x49a8c2[_0x1a4e('0x53b3')][_0x1a4e('0x1e')]=_0x573017;else for(;_0x49a8c2['contents']['length']<_0x573017;)_0x49a8c2[_0x1a4e('0x53b3')][_0x1a4e('0x46')](0x0);_0x49a8c2['usedBytes']=_0x573017;}},'node_ops':{'getattr':function(_0x49a8c2){var _0x573017={};return _0x573017[_0x1a4e('0x57a5')]=_0x3fcb63[_0x1a4e('0x57a6')](_0x49a8c2[_0x1a4e('0xa69')])?_0x49a8c2['id']:0x1,_0x573017['ino']=_0x49a8c2['id'],_0x573017[_0x1a4e('0xa69')]=_0x49a8c2[_0x1a4e('0xa69')],_0x573017[_0x1a4e('0x57a7')]=0x1,_0x573017[_0x1a4e('0x57a8')]=0x0,_0x573017[_0x1a4e('0x57a9')]=0x0,_0x573017['rdev']=_0x49a8c2[_0x1a4e('0x57aa')],_0x3fcb63[_0x1a4e('0x57a1')](_0x49a8c2[_0x1a4e('0xa69')])?_0x573017[_0x1a4e('0x220')]=0x1000:_0x3fcb63[_0x1a4e('0x1b6a')](_0x49a8c2['mode'])?_0x573017[_0x1a4e('0x220')]=_0x49a8c2[_0x1a4e('0x57a2')]:_0x3fcb63[_0x1a4e('0x57ab')](_0x49a8c2[_0x1a4e('0xa69')])?_0x573017[_0x1a4e('0x220')]=_0x49a8c2[_0x1a4e('0x57a3')][_0x1a4e('0x1e')]:_0x573017[_0x1a4e('0x220')]=0x0,_0x573017['atime']=new Date(_0x49a8c2[_0x1a4e('0x2f8e')]),_0x573017[_0x1a4e('0x1b3c')]=new Date(_0x49a8c2[_0x1a4e('0x2f8e')]),_0x573017[_0x1a4e('0x57ac')]=new Date(_0x49a8c2[_0x1a4e('0x2f8e')]),_0x573017['blksize']=0x1000,_0x573017[_0x1a4e('0x57ad')]=Math['ceil'](_0x573017[_0x1a4e('0x220')]/_0x573017[_0x1a4e('0x57ae')]),_0x573017;},'setattr':function(_0x49a8c2,_0x573017){void 0x0!==_0x573017['mode']&&(_0x49a8c2[_0x1a4e('0xa69')]=_0x573017['mode']),void 0x0!==_0x573017[_0x1a4e('0x2f8e')]&&(_0x49a8c2[_0x1a4e('0x2f8e')]=_0x573017['timestamp']),void 0x0!==_0x573017[_0x1a4e('0x220')]&&_0x28cfb5[_0x1a4e('0x57af')](_0x49a8c2,_0x573017['size']);},'lookup':function(_0x49a8c2,_0x573017){throw _0x3fcb63[_0x1a4e('0x57b0')][0x2];},'mknod':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){return _0x28cfb5[_0x1a4e('0x460')](_0x49a8c2,_0x573017,_0x126074,_0x49c546);},'rename':function(_0x49a8c2,_0x573017,_0x126074){if(_0x3fcb63[_0x1a4e('0x57a1')](_0x49a8c2[_0x1a4e('0xa69')])){var _0x49c546;try{_0x49c546=_0x3fcb63[_0x1a4e('0x57b1')](_0x573017,_0x126074);}catch(_0xb285c8){}if(_0x49c546)for(var _0x480629 in _0x49c546['contents'])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x27);}delete _0x49a8c2[_0x1a4e('0x11c')]['contents'][_0x49a8c2['name']],_0x49a8c2[_0x1a4e('0x2cb')]=_0x126074,_0x573017[_0x1a4e('0x53b3')][_0x126074]=_0x49a8c2,_0x49a8c2[_0x1a4e('0x11c')]=_0x573017;},'unlink':function(_0x49a8c2,_0x573017){delete _0x49a8c2[_0x1a4e('0x53b3')][_0x573017];},'rmdir':function(_0x49a8c2,_0x573017){var _0x126074=_0x3fcb63[_0x1a4e('0x57b1')](_0x49a8c2,_0x573017);for(var _0x49c546 in _0x126074['contents'])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x27);delete _0x49a8c2[_0x1a4e('0x53b3')][_0x573017];},'readdir':function(_0x49a8c2){var _0x573017=['.','..'];for(var _0x126074 in _0x49a8c2[_0x1a4e('0x53b3')])_0x49a8c2[_0x1a4e('0x53b3')]['hasOwnProperty'](_0x126074)&&_0x573017[_0x1a4e('0x46')](_0x126074);return _0x573017;},'symlink':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x28cfb5[_0x1a4e('0x460')](_0x49a8c2,_0x573017,0xa1ff,0x0);return _0x49c546[_0x1a4e('0x57a3')]=_0x126074,_0x49c546;},'readlink':function(_0x49a8c2){if(!_0x3fcb63[_0x1a4e('0x57ab')](_0x49a8c2[_0x1a4e('0xa69')]))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);return _0x49a8c2[_0x1a4e('0x57a3')];}},'stream_ops':{'read':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){var _0x19248f=_0x49a8c2[_0x1a4e('0x80')]['contents'];if(_0x480629>=_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x57a2')])return 0x0;var _0x5c2b6f=Math['min'](_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x57a2')]-_0x480629,_0x49c546);if(_0x5c2b6f>0x8&&_0x19248f[_0x1a4e('0xad8')])_0x573017[_0x1a4e('0x17a')](_0x19248f[_0x1a4e('0xad8')](_0x480629,_0x480629+_0x5c2b6f),_0x126074);else for(var _0xa87129=0x0;_0xa87129<_0x5c2b6f;_0xa87129++)_0x573017[_0x126074+_0xa87129]=_0x19248f[_0x480629+_0xa87129];return _0x5c2b6f;},'write':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f){if(!0x1,!_0x49c546)return 0x0;var _0x5c2b6f=_0x49a8c2['node'];if(_0x5c2b6f['timestamp']=Date['now'](),_0x573017[_0x1a4e('0xad8')]&&(!_0x5c2b6f[_0x1a4e('0x53b3')]||_0x5c2b6f[_0x1a4e('0x53b3')][_0x1a4e('0xad8')])){if(0x0===_0x5c2b6f['usedBytes']&&0x0===_0x480629)return _0x5c2b6f[_0x1a4e('0x53b3')]=new Uint8Array(_0x573017[_0x1a4e('0xad8')](_0x126074,_0x126074+_0x49c546)),_0x5c2b6f[_0x1a4e('0x57a2')]=_0x49c546,_0x49c546;if(_0x480629+_0x49c546<=_0x5c2b6f[_0x1a4e('0x57a2')])return _0x5c2b6f['contents'][_0x1a4e('0x17a')](_0x573017[_0x1a4e('0xad8')](_0x126074,_0x126074+_0x49c546),_0x480629),_0x49c546;}if(_0x28cfb5[_0x1a4e('0x57b2')](_0x5c2b6f,_0x480629+_0x49c546),_0x5c2b6f['contents']['subarray']&&_0x573017[_0x1a4e('0xad8')])_0x5c2b6f[_0x1a4e('0x53b3')][_0x1a4e('0x17a')](_0x573017[_0x1a4e('0xad8')](_0x126074,_0x126074+_0x49c546),_0x480629);else for(var _0xa87129=0x0;_0xa87129<_0x49c546;_0xa87129++)_0x5c2b6f[_0x1a4e('0x53b3')][_0x480629+_0xa87129]=_0x573017[_0x126074+_0xa87129];return _0x5c2b6f[_0x1a4e('0x57a2')]=Math[_0x1a4e('0x6c')](_0x5c2b6f[_0x1a4e('0x57a2')],_0x480629+_0x49c546),_0x49c546;},'llseek':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x573017;if(0x1===_0x126074?_0x49c546+=_0x49a8c2['position']:0x2===_0x126074&&_0x3fcb63[_0x1a4e('0x1b6a')](_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0xa69')])&&(_0x49c546+=_0x49a8c2['node'][_0x1a4e('0x57a2')]),_0x49c546<0x0)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);return _0x49c546;},'allocate':function(_0x49a8c2,_0x573017,_0x126074){_0x28cfb5[_0x1a4e('0x57b2')](_0x49a8c2[_0x1a4e('0x80')],_0x573017+_0x126074),_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x57a2')]=Math[_0x1a4e('0x6c')](_0x49a8c2[_0x1a4e('0x80')]['usedBytes'],_0x573017+_0x126074);},'mmap':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f,_0x5c2b6f){if(!_0x3fcb63[_0x1a4e('0x1b6a')](_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0xa69')]))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x13);var _0xa87129,_0x2060bd,_0x3a5d4f=_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x53b3')];if(0x2&_0x5c2b6f||_0x3a5d4f[_0x1a4e('0x613')]!==_0x573017&&_0x3a5d4f[_0x1a4e('0x613')]!==_0x573017[_0x1a4e('0x613')]){if((_0x480629>0x0||_0x480629+_0x49c546<_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x57a2')])&&(_0x3a5d4f=_0x3a5d4f[_0x1a4e('0xad8')]?_0x3a5d4f[_0x1a4e('0xad8')](_0x480629,_0x480629+_0x49c546):Array[_0x1a4e('0xa')]['slice'][_0x1a4e('0x1')](_0x3a5d4f,_0x480629,_0x480629+_0x49c546)),_0x2060bd=!0x0,!(_0xa87129=_0x3c4083(_0x49c546)))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0xc);_0x573017[_0x1a4e('0x17a')](_0x3a5d4f,_0xa87129);}else _0x2060bd=!0x1,_0xa87129=_0x3a5d4f[_0x1a4e('0xf61')];return{'ptr':_0xa87129,'allocated':_0x2060bd};},'msync':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){if(!_0x3fcb63[_0x1a4e('0x1b6a')](_0x49a8c2['node'][_0x1a4e('0xa69')]))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x13);if(0x2&_0x480629)return 0x0;_0x28cfb5[_0x1a4e('0x579a')]['write'](_0x49a8c2,_0x573017,0x0,_0x49c546,_0x126074,!0x1);return 0x0;}}},_0x272a4f={'dbs':{},'indexedDB':function(_0x49a8c2){function _0x573017(){return _0x49a8c2[_0x1a4e('0x8b')](this,arguments);}return _0x573017[_0x1a4e('0x95')]=function(){return _0x49a8c2[_0x1a4e('0x95')]();},_0x573017;}(function(){if(_0x1a4e('0x3')!=typeof indexedDB)return indexedDB;var _0x49a8c2=null;return _0x1a4e('0x85')===(_0x1a4e('0x3')==typeof window?_0x1a4e('0x3'):_0xa87129(window))&&(_0x49a8c2=window[_0x1a4e('0x57b3')]||window[_0x1a4e('0x57b4')]||window[_0x1a4e('0x57b5')]||window['msIndexedDB']),_0x560f2b(_0x49a8c2,_0x1a4e('0x57b6')),_0x49a8c2;}),'DB_VERSION':0x15,'DB_STORE_NAME':_0x1a4e('0x57b7'),'mount':function(_0x49a8c2){return _0x28cfb5[_0x1a4e('0x128b')][_0x1a4e('0x8b')](null,arguments);},'syncfs':function(_0x49a8c2,_0x573017,_0x126074){_0x272a4f[_0x1a4e('0x57b8')](_0x49a8c2,function(_0x49c546,_0x480629){if(_0x49c546)return _0x126074(_0x49c546);_0x272a4f[_0x1a4e('0x57b9')](_0x49a8c2,function(_0x49a8c2,_0x49c546){if(_0x49a8c2)return _0x126074(_0x49a8c2);var _0x19248f=_0x573017?_0x49c546:_0x480629,_0x5c2b6f=_0x573017?_0x480629:_0x49c546;_0x272a4f[_0x1a4e('0x57ba')](_0x19248f,_0x5c2b6f,_0x126074);});});},'getDB':function(_0x49a8c2,_0x573017){var _0x126074,_0x49c546=_0x272a4f[_0x1a4e('0x57bb')][_0x49a8c2];if(_0x49c546)return _0x573017(null,_0x49c546);try{_0x126074=_0x272a4f[_0x1a4e('0x57b3')]()['open'](_0x49a8c2,_0x272a4f[_0x1a4e('0x57bc')]);}catch(_0x2d3d1e){return _0x573017(_0x2d3d1e);}if(!_0x126074)return _0x573017(_0x1a4e('0x57bd'));_0x126074[_0x1a4e('0x57be')]=function(_0x49a8c2){var _0x573017,_0x126074=_0x49a8c2[_0x1a4e('0xd95')][_0x1a4e('0x13f')],_0x49c546=_0x49a8c2[_0x1a4e('0xd95')][_0x1a4e('0x57bf')];(_0x573017=_0x126074[_0x1a4e('0x57c0')][_0x1a4e('0x2ac')](_0x272a4f[_0x1a4e('0x57c1')])?_0x49c546[_0x1a4e('0x57c2')](_0x272a4f[_0x1a4e('0x57c1')]):_0x126074[_0x1a4e('0x57c3')](_0x272a4f[_0x1a4e('0x57c1')]))['indexNames']['contains']('timestamp')||_0x573017[_0x1a4e('0x57c4')](_0x1a4e('0x2f8e'),_0x1a4e('0x2f8e'),{'unique':!0x1});},_0x126074[_0x1a4e('0x57c5')]=function(){_0x49c546=_0x126074[_0x1a4e('0x13f')],_0x272a4f[_0x1a4e('0x57bb')][_0x49a8c2]=_0x49c546,_0x573017(null,_0x49c546);},_0x126074['onerror']=function(_0x49a8c2){_0x573017(this[_0x1a4e('0x873')]),_0x49a8c2[_0x1a4e('0x1598')]();};},'getLocalSet':function(_0x49a8c2,_0x573017){var _0x126074={};function _0x49c546(_0x49a8c2){return'.'!==_0x49a8c2&&'..'!==_0x49a8c2;}function _0x480629(_0x49a8c2){return function(_0x573017){return _0x243fd7[_0x1a4e('0x57c6')](_0x49a8c2,_0x573017);};}for(var _0x19248f=_0x3fcb63[_0x1a4e('0x57c7')](_0x49a8c2[_0x1a4e('0x57c8')])[_0x1a4e('0xd9')](_0x49c546)['map'](_0x480629(_0x49a8c2[_0x1a4e('0x57c8')]));_0x19248f[_0x1a4e('0x1e')];){var _0x5c2b6f,_0xa87129=_0x19248f[_0x1a4e('0x76')]();try{_0x5c2b6f=_0x3fcb63[_0x1a4e('0x57c9')](_0xa87129);}catch(_0x2fe032){return _0x573017(_0x2fe032);}_0x3fcb63[_0x1a4e('0x57a1')](_0x5c2b6f[_0x1a4e('0xa69')])&&_0x19248f[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x19248f,_0x3fcb63[_0x1a4e('0x57c7')](_0xa87129)[_0x1a4e('0xd9')](_0x49c546)['map'](_0x480629(_0xa87129))),_0x126074[_0xa87129]={'timestamp':_0x5c2b6f['mtime']};}return _0x573017(null,{'type':'local','entries':_0x126074});},'getRemoteSet':function(_0x49a8c2,_0x573017){var _0x126074={};_0x272a4f['getDB'](_0x49a8c2[_0x1a4e('0x57c8')],function(_0x49a8c2,_0x49c546){if(_0x49a8c2)return _0x573017(_0x49a8c2);try{var _0x480629=_0x49c546[_0x1a4e('0x57bf')]([_0x272a4f[_0x1a4e('0x57c1')]],_0x1a4e('0x22aa'));_0x480629[_0x1a4e('0x1338')]=function(_0x49a8c2){_0x573017(this[_0x1a4e('0x873')]),_0x49a8c2[_0x1a4e('0x1598')]();},_0x480629[_0x1a4e('0x57c2')](_0x272a4f[_0x1a4e('0x57c1')])[_0x1a4e('0xbd')]('timestamp')['openKeyCursor']()[_0x1a4e('0x57c5')]=function(_0x49a8c2){var _0x480629=_0x49a8c2[_0x1a4e('0xd95')][_0x1a4e('0x13f')];if(!_0x480629)return _0x573017(null,{'type':_0x1a4e('0x57ca'),'db':_0x49c546,'entries':_0x126074});_0x126074[_0x480629[_0x1a4e('0x57cb')]]={'timestamp':_0x480629['key']},_0x480629[_0x1a4e('0x137e')]();};}catch(_0x5d1e9d){return _0x573017(_0x5d1e9d);}});},'loadLocalEntry':function(_0x49a8c2,_0x573017){var _0x126074,_0x49c546;try{_0x49c546=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2)[_0x1a4e('0x80')],_0x126074=_0x3fcb63[_0x1a4e('0x57c9')](_0x49a8c2);}catch(_0x46bdf5){return _0x573017(_0x46bdf5);}return _0x3fcb63[_0x1a4e('0x57a1')](_0x126074[_0x1a4e('0xa69')])?_0x573017(null,{'timestamp':_0x126074['mtime'],'mode':_0x126074['mode']}):_0x3fcb63[_0x1a4e('0x1b6a')](_0x126074['mode'])?(_0x49c546[_0x1a4e('0x53b3')]=_0x28cfb5[_0x1a4e('0x57cd')](_0x49c546),_0x573017(null,{'timestamp':_0x126074['mtime'],'mode':_0x126074['mode'],'contents':_0x49c546[_0x1a4e('0x53b3')]})):_0x573017(new Error(_0x1a4e('0x57ce')));},'storeLocalEntry':function(_0x49a8c2,_0x573017,_0x126074){try{if(_0x3fcb63[_0x1a4e('0x57a1')](_0x573017['mode']))_0x3fcb63[_0x1a4e('0x57cf')](_0x49a8c2,_0x573017[_0x1a4e('0xa69')]);else{if(!_0x3fcb63[_0x1a4e('0x1b6a')](_0x573017[_0x1a4e('0xa69')]))return _0x126074(new Error(_0x1a4e('0x57ce')));_0x3fcb63[_0x1a4e('0x16b7')](_0x49a8c2,_0x573017[_0x1a4e('0x53b3')],{'canOwn':!0x0});}_0x3fcb63[_0x1a4e('0x57d0')](_0x49a8c2,_0x573017[_0x1a4e('0xa69')]),_0x3fcb63[_0x1a4e('0x57d1')](_0x49a8c2,_0x573017[_0x1a4e('0x2f8e')],_0x573017[_0x1a4e('0x2f8e')]);}catch(_0x302e91){return _0x126074(_0x302e91);}_0x126074(null);},'removeLocalEntry':function(_0x49a8c2,_0x573017){try{_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2);var _0x126074=_0x3fcb63[_0x1a4e('0x57c9')](_0x49a8c2);_0x3fcb63[_0x1a4e('0x57a1')](_0x126074[_0x1a4e('0xa69')])?_0x3fcb63['rmdir'](_0x49a8c2):_0x3fcb63[_0x1a4e('0x1b6a')](_0x126074['mode'])&&_0x3fcb63[_0x1a4e('0x57d2')](_0x49a8c2);}catch(_0x1bc773){return _0x573017(_0x1bc773);}_0x573017(null);},'loadRemoteEntry':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x49a8c2[_0x1a4e('0x179')](_0x573017);_0x49c546[_0x1a4e('0x57c5')]=function(_0x49a8c2){_0x126074(null,_0x49a8c2['target']['result']);},_0x49c546[_0x1a4e('0x1338')]=function(_0x49a8c2){_0x126074(this['error']),_0x49a8c2['preventDefault']();};},'storeRemoteEntry':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){var _0x480629=_0x49a8c2[_0x1a4e('0x35a')](_0x126074,_0x573017);_0x480629[_0x1a4e('0x57c5')]=function(){_0x49c546(null);},_0x480629[_0x1a4e('0x1338')]=function(_0x49a8c2){_0x49c546(this[_0x1a4e('0x873')]),_0x49a8c2['preventDefault']();};},'removeRemoteEntry':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x49a8c2['delete'](_0x573017);_0x49c546[_0x1a4e('0x57c5')]=function(){_0x126074(null);},_0x49c546['onerror']=function(_0x49a8c2){_0x126074(this['error']),_0x49a8c2[_0x1a4e('0x1598')]();};},'reconcile':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=0x0,_0x480629=[];Object[_0x1a4e('0x56')](_0x49a8c2[_0x1a4e('0x3c3')])['forEach'](function(_0x126074){var _0x19248f=_0x49a8c2[_0x1a4e('0x3c3')][_0x126074],_0x5c2b6f=_0x573017[_0x1a4e('0x3c3')][_0x126074];(!_0x5c2b6f||_0x19248f[_0x1a4e('0x2f8e')]>_0x5c2b6f[_0x1a4e('0x2f8e')])&&(_0x480629[_0x1a4e('0x46')](_0x126074),_0x49c546++);});var _0x19248f=[];if(Object[_0x1a4e('0x56')](_0x573017[_0x1a4e('0x3c3')])[_0x1a4e('0x3b')](function(_0x126074){_0x573017[_0x1a4e('0x3c3')][_0x126074];_0x49a8c2['entries'][_0x126074]||(_0x19248f[_0x1a4e('0x46')](_0x126074),_0x49c546++);}),!_0x49c546)return _0x126074(null);var _0x5c2b6f=0x0,_0xa87129=(_0x1a4e('0x57ca')===_0x49a8c2[_0x1a4e('0x40')]?_0x49a8c2['db']:_0x573017['db'])[_0x1a4e('0x57bf')]([_0x272a4f['DB_STORE_NAME']],_0x1a4e('0x57d3')),_0x2060bd=_0xa87129[_0x1a4e('0x57c2')](_0x272a4f['DB_STORE_NAME']);function _0x3a5d4f(_0x49a8c2){return _0x49a8c2?_0x3a5d4f['errored']?void 0x0:(_0x3a5d4f[_0x1a4e('0x57d4')]=!0x0,_0x126074(_0x49a8c2)):++_0x5c2b6f>=_0x49c546?_0x126074(null):void 0x0;}_0xa87129[_0x1a4e('0x1338')]=function(_0x49a8c2){_0x3a5d4f(this['error']),_0x49a8c2[_0x1a4e('0x1598')]();},_0x480629[_0x1a4e('0x89')]()['forEach'](function(_0x49a8c2){'local'===_0x573017[_0x1a4e('0x40')]?_0x272a4f[_0x1a4e('0x57d5')](_0x2060bd,_0x49a8c2,function(_0x573017,_0x126074){if(_0x573017)return _0x3a5d4f(_0x573017);_0x272a4f['storeLocalEntry'](_0x49a8c2,_0x126074,_0x3a5d4f);}):_0x272a4f['loadLocalEntry'](_0x49a8c2,function(_0x573017,_0x126074){if(_0x573017)return _0x3a5d4f(_0x573017);_0x272a4f['storeRemoteEntry'](_0x2060bd,_0x49a8c2,_0x126074,_0x3a5d4f);});}),_0x19248f[_0x1a4e('0x89')]()[_0x1a4e('0x9b')]()[_0x1a4e('0x3b')](function(_0x49a8c2){_0x1a4e('0x553e')===_0x573017['type']?_0x272a4f[_0x1a4e('0x57d6')](_0x49a8c2,_0x3a5d4f):_0x272a4f[_0x1a4e('0x57d7')](_0x2060bd,_0x49a8c2,_0x3a5d4f);});}},_0x2ae021={'isWindows':!0x1,'staticInit':function(){_0x2ae021[_0x1a4e('0x57d8')]=!!_0x480629['platform'][_0x1a4e('0x909')](/^win/);var _0x49a8c2=_0x480629[_0x1a4e('0xfd9')]('constants');_0x49a8c2['fs']&&(_0x49a8c2=_0x49a8c2['fs']),_0x2ae021[_0x1a4e('0x57d9')]={1024:_0x49a8c2['O_APPEND'],64:_0x49a8c2[_0x1a4e('0x57da')],128:_0x49a8c2[_0x1a4e('0x57db')],0:_0x49a8c2[_0x1a4e('0x57dc')],2:_0x49a8c2[_0x1a4e('0x57dd')],4096:_0x49a8c2[_0x1a4e('0x57de')],512:_0x49a8c2[_0x1a4e('0x57df')],1:_0x49a8c2[_0x1a4e('0x57e0')]};},'bufferFrom':function(_0x49a8c2){return _0x19248f['alloc']?_0x19248f[_0x1a4e('0x1b5')](_0x49a8c2):new _0x19248f(_0x49a8c2);},'mount':function(_0x49a8c2){return _0x560f2b(_0xa809df),_0x2ae021[_0x1a4e('0x460')](null,'/',_0x2ae021[_0x1a4e('0x57e1')](_0x49a8c2[_0x1a4e('0x57e2')][_0x1a4e('0x1372')]),0x0);},'createNode':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){if(!_0x3fcb63['isDir'](_0x126074)&&!_0x3fcb63[_0x1a4e('0x1b6a')](_0x126074)&&!_0x3fcb63[_0x1a4e('0x57ab')](_0x126074))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);var _0x480629=_0x3fcb63[_0x1a4e('0x460')](_0x49a8c2,_0x573017,_0x126074);return _0x480629[_0x1a4e('0x5797')]=_0x2ae021[_0x1a4e('0x5797')],_0x480629[_0x1a4e('0x579a')]=_0x2ae021['stream_ops'],_0x480629;},'getMode':function(_0x49a8c2){var _0x573017;try{_0x573017=_0xe77bfb[_0x1a4e('0x57e3')](_0x49a8c2),_0x2ae021[_0x1a4e('0x57d8')]&&(_0x573017[_0x1a4e('0xa69')]=_0x573017['mode']|(0x124&_0x573017[_0x1a4e('0xa69')])>>0x2);}catch(_0x43a033){if(!_0x43a033[_0x1a4e('0x1617')])throw _0x43a033;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x43a033['errno']);}return _0x573017['mode'];},'realPath':function(_0x49a8c2){for(var _0x573017=[];_0x49a8c2['parent']!==_0x49a8c2;)_0x573017[_0x1a4e('0x46')](_0x49a8c2['name']),_0x49a8c2=_0x49a8c2[_0x1a4e('0x11c')];return _0x573017[_0x1a4e('0x46')](_0x49a8c2[_0x1a4e('0x128b')]['opts']['root']),_0x573017[_0x1a4e('0x9b')](),_0x243fd7[_0x1a4e('0x9e')][_0x1a4e('0x8b')](null,_0x573017);},'flagsForNode':function(_0x49a8c2){_0x49a8c2&=-0x200001,_0x49a8c2&=-0x801,_0x49a8c2&=-0x8001,_0x49a8c2&=-0x80001;var _0x573017=0x0;for(var _0x126074 in _0x2ae021['flagsForNodeMap'])_0x49a8c2&_0x126074&&(_0x573017|=_0x2ae021[_0x1a4e('0x57d9')][_0x126074],_0x49a8c2^=_0x126074);if(_0x49a8c2)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);return _0x573017;},'node_ops':{'getattr':function(_0x49a8c2){var _0x573017,_0x126074=_0x2ae021['realPath'](_0x49a8c2);try{_0x573017=_0xe77bfb[_0x1a4e('0x57e3')](_0x126074);}catch(_0x276db0){if(!_0x276db0[_0x1a4e('0x1617')])throw _0x276db0;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x276db0[_0x1a4e('0x57e4')]);}return _0x2ae021[_0x1a4e('0x57d8')]&&!_0x573017['blksize']&&(_0x573017[_0x1a4e('0x57ae')]=0x1000),_0x2ae021[_0x1a4e('0x57d8')]&&!_0x573017[_0x1a4e('0x57ad')]&&(_0x573017[_0x1a4e('0x57ad')]=(_0x573017[_0x1a4e('0x220')]+_0x573017[_0x1a4e('0x57ae')]-0x1)/_0x573017[_0x1a4e('0x57ae')]|0x0),{'dev':_0x573017['dev'],'ino':_0x573017['ino'],'mode':_0x573017[_0x1a4e('0xa69')],'nlink':_0x573017[_0x1a4e('0x57a7')],'uid':_0x573017[_0x1a4e('0x57a8')],'gid':_0x573017[_0x1a4e('0x57a9')],'rdev':_0x573017[_0x1a4e('0x57aa')],'size':_0x573017[_0x1a4e('0x220')],'atime':_0x573017[_0x1a4e('0x56e5')],'mtime':_0x573017[_0x1a4e('0x1b3c')],'ctime':_0x573017[_0x1a4e('0x57ac')],'blksize':_0x573017[_0x1a4e('0x57ae')],'blocks':_0x573017[_0x1a4e('0x57ad')]};},'setattr':function(_0x49a8c2,_0x573017){var _0x126074=_0x2ae021[_0x1a4e('0x57e5')](_0x49a8c2);try{if(void 0x0!==_0x573017['mode']&&(_0xe77bfb[_0x1a4e('0x57e6')](_0x126074,_0x573017[_0x1a4e('0xa69')]),_0x49a8c2['mode']=_0x573017[_0x1a4e('0xa69')]),void 0x0!==_0x573017[_0x1a4e('0x2f8e')]){var _0x49c546=new Date(_0x573017[_0x1a4e('0x2f8e')]);_0xe77bfb[_0x1a4e('0x1b67')](_0x126074,_0x49c546,_0x49c546);}void 0x0!==_0x573017[_0x1a4e('0x220')]&&_0xe77bfb[_0x1a4e('0x57e7')](_0x126074,_0x573017[_0x1a4e('0x220')]);}catch(_0x1cef6d){if(!_0x1cef6d['code'])throw _0x1cef6d;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x1cef6d[_0x1a4e('0x57e4')]);}},'lookup':function(_0x49a8c2,_0x573017){var _0x126074=_0x243fd7[_0x1a4e('0x57c6')](_0x2ae021[_0x1a4e('0x57e5')](_0x49a8c2),_0x573017),_0x49c546=_0x2ae021[_0x1a4e('0x57e1')](_0x126074);return _0x2ae021[_0x1a4e('0x460')](_0x49a8c2,_0x573017,_0x49c546);},'mknod':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){var _0x480629=_0x2ae021[_0x1a4e('0x460')](_0x49a8c2,_0x573017,_0x126074,_0x49c546),_0x19248f=_0x2ae021[_0x1a4e('0x57e5')](_0x480629);try{_0x3fcb63[_0x1a4e('0x57a1')](_0x480629[_0x1a4e('0xa69')])?_0xe77bfb[_0x1a4e('0x57e8')](_0x19248f,_0x480629[_0x1a4e('0xa69')]):_0xe77bfb[_0x1a4e('0x57e9')](_0x19248f,'',{'mode':_0x480629['mode']});}catch(_0x2213e4){if(!_0x2213e4[_0x1a4e('0x1617')])throw _0x2213e4;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x2213e4['errno']);}return _0x480629;},'rename':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x2ae021[_0x1a4e('0x57e5')](_0x49a8c2),_0x480629=_0x243fd7['join2'](_0x2ae021[_0x1a4e('0x57e5')](_0x573017),_0x126074);try{_0xe77bfb[_0x1a4e('0x57ea')](_0x49c546,_0x480629);}catch(_0x2ba069){if(!_0x2ba069[_0x1a4e('0x1617')])throw _0x2ba069;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x2ba069[_0x1a4e('0x57e4')]);}},'unlink':function(_0x49a8c2,_0x573017){var _0x126074=_0x243fd7[_0x1a4e('0x57c6')](_0x2ae021[_0x1a4e('0x57e5')](_0x49a8c2),_0x573017);try{_0xe77bfb[_0x1a4e('0x1b68')](_0x126074);}catch(_0x180fda){if(!_0x180fda[_0x1a4e('0x1617')])throw _0x180fda;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x180fda['errno']);}},'rmdir':function(_0x49a8c2,_0x573017){var _0x126074=_0x243fd7[_0x1a4e('0x57c6')](_0x2ae021[_0x1a4e('0x57e5')](_0x49a8c2),_0x573017);try{_0xe77bfb[_0x1a4e('0x57eb')](_0x126074);}catch(_0x5b8bed){if(!_0x5b8bed[_0x1a4e('0x1617')])throw _0x5b8bed;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x5b8bed[_0x1a4e('0x57e4')]);}},'readdir':function(_0x49a8c2){var _0x573017=_0x2ae021[_0x1a4e('0x57e5')](_0x49a8c2);try{return _0xe77bfb[_0x1a4e('0x16f0')](_0x573017);}catch(_0x11a941){if(!_0x11a941[_0x1a4e('0x1617')])throw _0x11a941;throw new _0x3fcb63['ErrnoError'](-_0x11a941['errno']);}},'symlink':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x243fd7[_0x1a4e('0x57c6')](_0x2ae021[_0x1a4e('0x57e5')](_0x49a8c2),_0x573017);try{_0xe77bfb[_0x1a4e('0x57ec')](_0x126074,_0x49c546);}catch(_0x2e3538){if(!_0x2e3538[_0x1a4e('0x1617')])throw _0x2e3538;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x2e3538[_0x1a4e('0x57e4')]);}},'readlink':function(_0x49a8c2){var _0x573017=_0x2ae021[_0x1a4e('0x57e5')](_0x49a8c2);try{return _0x573017=_0xe77bfb[_0x1a4e('0x57ed')](_0x573017),_0x573017=_0x3b27a4[_0x1a4e('0x1143')](_0x3b27a4[_0x1a4e('0xe20')](_0x49a8c2[_0x1a4e('0x128b')]['opts'][_0x1a4e('0x1372')]),_0x573017);}catch(_0x117290){if(!_0x117290[_0x1a4e('0x1617')])throw _0x117290;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x117290['errno']);}}},'stream_ops':{'open':function(_0x49a8c2){var _0x573017=_0x2ae021[_0x1a4e('0x57e5')](_0x49a8c2[_0x1a4e('0x80')]);try{_0x3fcb63['isFile'](_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0xa69')])&&(_0x49a8c2[_0x1a4e('0x57ee')]=_0xe77bfb['openSync'](_0x573017,_0x2ae021[_0x1a4e('0x57ef')](_0x49a8c2['flags'])));}catch(_0xf71ac6){if(!_0xf71ac6[_0x1a4e('0x1617')])throw _0xf71ac6;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0xf71ac6['errno']);}},'close':function(_0x49a8c2){try{_0x3fcb63[_0x1a4e('0x1b6a')](_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0xa69')])&&_0x49a8c2[_0x1a4e('0x57ee')]&&_0xe77bfb[_0x1a4e('0x1b60')](_0x49a8c2['nfd']);}catch(_0x485a71){if(!_0x485a71[_0x1a4e('0x1617')])throw _0x485a71;throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x485a71[_0x1a4e('0x57e4')]);}},'read':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){if(0x0===_0x49c546)return 0x0;try{return _0xe77bfb[_0x1a4e('0x5791')](_0x49a8c2['nfd'],_0x2ae021[_0x1a4e('0x57f0')](_0x573017[_0x1a4e('0x613')]),_0x126074,_0x49c546,_0x480629);}catch(_0x48e580){throw new _0x3fcb63['ErrnoError'](-_0x48e580[_0x1a4e('0x57e4')]);}},'write':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){try{return _0xe77bfb[_0x1a4e('0x1b5f')](_0x49a8c2[_0x1a4e('0x57ee')],_0x2ae021[_0x1a4e('0x57f0')](_0x573017[_0x1a4e('0x613')]),_0x126074,_0x49c546,_0x480629);}catch(_0x303a26){throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x303a26['errno']);}},'llseek':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x573017;if(0x1===_0x126074)_0x49c546+=_0x49a8c2[_0x1a4e('0x3553')];else if(0x2===_0x126074&&_0x3fcb63['isFile'](_0x49a8c2[_0x1a4e('0x80')]['mode']))try{_0x49c546+=_0xe77bfb[_0x1a4e('0x57f1')](_0x49a8c2[_0x1a4e('0x57ee')])[_0x1a4e('0x220')];}catch(_0x4ea1c9){throw new _0x3fcb63[(_0x1a4e('0x578c'))](-_0x4ea1c9[_0x1a4e('0x57e4')]);}if(_0x49c546<0x0)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);return _0x49c546;}}},_0x3581dd={'DIR_MODE':0x41ff,'FILE_MODE':0x81ff,'reader':null,'mount':function(_0x49a8c2){_0x560f2b(_0x2cd2bf),_0x3581dd[_0x1a4e('0x57f2')]||(_0x3581dd['reader']=new FileReaderSync());var _0x573017=_0x3581dd[_0x1a4e('0x460')](null,'/',_0x3581dd[_0x1a4e('0x57f3')],0x0),_0x126074={};function _0x49c546(_0x49a8c2){for(var _0x49c546=_0x49a8c2[_0x1a4e('0x2be')]('/'),_0x480629=_0x573017,_0x19248f=0x0;_0x19248f<_0x49c546['length']-0x1;_0x19248f++){var _0x5c2b6f=_0x49c546[_0x1a4e('0x78')](0x0,_0x19248f+0x1)[_0x1a4e('0x9e')]('/');_0x126074[_0x5c2b6f]||(_0x126074[_0x5c2b6f]=_0x3581dd[_0x1a4e('0x460')](_0x480629,_0x49c546[_0x19248f],_0x3581dd['DIR_MODE'],0x0)),_0x480629=_0x126074[_0x5c2b6f];}return _0x480629;}function _0x480629(_0x49a8c2){var _0x573017=_0x49a8c2[_0x1a4e('0x2be')]('/');return _0x573017[_0x573017[_0x1a4e('0x1e')]-0x1];}return Array[_0x1a4e('0xa')]['forEach'][_0x1a4e('0x1')](_0x49a8c2['opts'][_0x1a4e('0x25bd')]||[],function(_0x49a8c2){_0x3581dd[_0x1a4e('0x460')](_0x49c546(_0x49a8c2[_0x1a4e('0x2cb')]),_0x480629(_0x49a8c2[_0x1a4e('0x2cb')]),_0x3581dd[_0x1a4e('0x57f4')],0x0,_0x49a8c2,_0x49a8c2[_0x1a4e('0x57f5')]);}),(_0x49a8c2[_0x1a4e('0x57e2')]['blobs']||[])[_0x1a4e('0x3b')](function(_0x49a8c2){_0x3581dd[_0x1a4e('0x460')](_0x49c546(_0x49a8c2[_0x1a4e('0x2cb')]),_0x480629(_0x49a8c2[_0x1a4e('0x2cb')]),_0x3581dd['FILE_MODE'],0x0,_0x49a8c2['data']);}),(_0x49a8c2['opts']['packages']||[])['forEach'](function(_0x49a8c2){_0x49a8c2[_0x1a4e('0x1668')]['files'][_0x1a4e('0x3b')](function(_0x573017){var _0x126074=_0x573017['filename']['substr'](0x1);_0x3581dd[_0x1a4e('0x460')](_0x49c546(_0x126074),_0x480629(_0x126074),_0x3581dd[_0x1a4e('0x57f4')],0x0,_0x49a8c2[_0x1a4e('0x41b7')][_0x1a4e('0x78')](_0x573017[_0x1a4e('0xc9')],_0x573017['end']));});}),_0x573017;},'createNode':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f){var _0x5c2b6f=_0x3fcb63[_0x1a4e('0x460')](_0x49a8c2,_0x573017,_0x126074);return _0x5c2b6f['mode']=_0x126074,_0x5c2b6f[_0x1a4e('0x5797')]=_0x3581dd['node_ops'],_0x5c2b6f['stream_ops']=_0x3581dd['stream_ops'],_0x5c2b6f[_0x1a4e('0x2f8e')]=(_0x19248f||new Date())[_0x1a4e('0xe9')](),_0x560f2b(_0x3581dd['FILE_MODE']!==_0x3581dd[_0x1a4e('0x57f3')]),_0x126074===_0x3581dd[_0x1a4e('0x57f4')]?(_0x5c2b6f['size']=_0x480629['size'],_0x5c2b6f['contents']=_0x480629):(_0x5c2b6f['size']=0x1000,_0x5c2b6f[_0x1a4e('0x53b3')]={}),_0x49a8c2&&(_0x49a8c2[_0x1a4e('0x53b3')][_0x573017]=_0x5c2b6f),_0x5c2b6f;},'node_ops':{'getattr':function(_0x49a8c2){return{'dev':0x1,'ino':void 0x0,'mode':_0x49a8c2['mode'],'nlink':0x1,'uid':0x0,'gid':0x0,'rdev':void 0x0,'size':_0x49a8c2['size'],'atime':new Date(_0x49a8c2[_0x1a4e('0x2f8e')]),'mtime':new Date(_0x49a8c2['timestamp']),'ctime':new Date(_0x49a8c2['timestamp']),'blksize':0x1000,'blocks':Math[_0x1a4e('0x6d')](_0x49a8c2[_0x1a4e('0x220')]/0x1000)};},'setattr':function(_0x49a8c2,_0x573017){void 0x0!==_0x573017['mode']&&(_0x49a8c2[_0x1a4e('0xa69')]=_0x573017[_0x1a4e('0xa69')]),void 0x0!==_0x573017[_0x1a4e('0x2f8e')]&&(_0x49a8c2[_0x1a4e('0x2f8e')]=_0x573017[_0x1a4e('0x2f8e')]);},'lookup':function(_0x49a8c2,_0x573017){throw new _0x3fcb63['ErrnoError'](0x2);},'mknod':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);},'rename':function(_0x49a8c2,_0x573017,_0x126074){throw new _0x3fcb63['ErrnoError'](0x1);},'unlink':function(_0x49a8c2,_0x573017){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);},'rmdir':function(_0x49a8c2,_0x573017){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);},'readdir':function(_0x49a8c2){var _0x573017=['.','..'];for(var _0x126074 in _0x49a8c2[_0x1a4e('0x53b3')])_0x49a8c2['contents'][_0x1a4e('0xb')](_0x126074)&&_0x573017[_0x1a4e('0x46')](_0x126074);return _0x573017;},'symlink':function(_0x49a8c2,_0x573017,_0x126074){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);},'readlink':function(_0x49a8c2){throw new _0x3fcb63['ErrnoError'](0x1);}},'stream_ops':{'read':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){if(_0x480629>=_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x220')])return 0x0;var _0x19248f=_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x53b3')][_0x1a4e('0x78')](_0x480629,_0x480629+_0x49c546),_0x5c2b6f=_0x3581dd['reader'][_0x1a4e('0x57f6')](_0x19248f);return _0x573017[_0x1a4e('0x17a')](new Uint8Array(_0x5c2b6f),_0x126074),_0x19248f[_0x1a4e('0x220')];},'write':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x5);},'llseek':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x573017;if(0x1===_0x126074?_0x49c546+=_0x49a8c2[_0x1a4e('0x3553')]:0x2===_0x126074&&_0x3fcb63['isFile'](_0x49a8c2['node'][_0x1a4e('0xa69')])&&(_0x49c546+=_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x220')]),_0x49c546<0x0)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);return _0x49c546;}}},_0x3fcb63={'root':null,'mounts':[],'devices':{},'streams':[],'nextInode':0x1,'nameTable':null,'currentPath':'/','initialized':!0x1,'ignorePermissions':!0x0,'trackingDelegate':{},'tracking':{'openFlags':{'READ':0x1,'WRITE':0x2}},'ErrnoError':null,'genericErrors':{},'filesystems':null,'syncFSRequests':0x0,'handleFSError':function(_0x49a8c2){if(!(_0x49a8c2 instanceof _0x3fcb63[_0x1a4e('0x578c')]))throw _0x49a8c2+_0x1a4e('0x2a8')+_0x525a00();return _0x4087cd(_0x49a8c2[_0x1a4e('0x57e4')]);},'lookupPath':function(_0x49a8c2,_0x573017){if(_0x573017=_0x573017||{},!(_0x49a8c2=_0x203e7e[_0x1a4e('0xe20')](_0x3fcb63[_0x1a4e('0x1140')](),_0x49a8c2)))return{'path':'','node':null};var _0x126074={'follow_mount':!0x0,'recurse_count':0x0};for(var _0x49c546 in _0x126074)void 0x0===_0x573017[_0x49c546]&&(_0x573017[_0x49c546]=_0x126074[_0x49c546]);if(_0x573017[_0x1a4e('0x57f7')]>0x8)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x28);for(var _0x480629=_0x243fd7[_0x1a4e('0x5789')](_0x49a8c2['split']('/')[_0x1a4e('0xd9')](function(_0x49a8c2){return!!_0x49a8c2;}),!0x1),_0x19248f=_0x3fcb63['root'],_0x5c2b6f='/',_0xa87129=0x0;_0xa87129<_0x480629[_0x1a4e('0x1e')];_0xa87129++){var _0x2060bd=_0xa87129===_0x480629['length']-0x1;if(_0x2060bd&&_0x573017[_0x1a4e('0x11c')])break;if(_0x19248f=_0x3fcb63[_0x1a4e('0x57b1')](_0x19248f,_0x480629[_0xa87129]),_0x5c2b6f=_0x243fd7[_0x1a4e('0x57c6')](_0x5c2b6f,_0x480629[_0xa87129]),_0x3fcb63['isMountpoint'](_0x19248f)&&(!_0x2060bd||_0x2060bd&&_0x573017[_0x1a4e('0x57f8')])&&(_0x19248f=_0x19248f[_0x1a4e('0x12e4')][_0x1a4e('0x1372')]),!_0x2060bd||_0x573017['follow'])for(var _0x3a5d4f=0x0;_0x3fcb63[_0x1a4e('0x57ab')](_0x19248f[_0x1a4e('0xa69')]);){var _0x1b855f=_0x3fcb63[_0x1a4e('0x579f')](_0x5c2b6f);if(_0x5c2b6f=_0x203e7e[_0x1a4e('0xe20')](_0x243fd7[_0x1a4e('0x1624')](_0x5c2b6f),_0x1b855f),_0x19248f=_0x3fcb63[_0x1a4e('0x57cc')](_0x5c2b6f,{'recurse_count':_0x573017['recurse_count']})[_0x1a4e('0x80')],_0x3a5d4f++>0x28)throw new _0x3fcb63['ErrnoError'](0x28);}}return{'path':_0x5c2b6f,'node':_0x19248f};},'getPath':function(_0x49a8c2){for(var _0x573017;;){if(_0x3fcb63['isRoot'](_0x49a8c2)){var _0x126074=_0x49a8c2[_0x1a4e('0x128b')][_0x1a4e('0x57c8')];return _0x573017?'/'!==_0x126074[_0x126074[_0x1a4e('0x1e')]-0x1]?_0x126074+'/'+_0x573017:_0x126074+_0x573017:_0x126074;}_0x573017=_0x573017?_0x49a8c2[_0x1a4e('0x2cb')]+'/'+_0x573017:_0x49a8c2[_0x1a4e('0x2cb')],_0x49a8c2=_0x49a8c2[_0x1a4e('0x11c')];}},'hashName':function(_0x49a8c2,_0x573017){for(var _0x126074=0x0,_0x49c546=0x0;_0x49c546<_0x573017[_0x1a4e('0x1e')];_0x49c546++)_0x126074=(_0x126074<<0x5)-_0x126074+_0x573017[_0x1a4e('0x913')](_0x49c546)|0x0;return(_0x49a8c2+_0x126074>>>0x0)%_0x3fcb63[_0x1a4e('0x3680')][_0x1a4e('0x1e')];},'hashAddNode':function(_0x49a8c2){var _0x573017=_0x3fcb63[_0x1a4e('0x57f9')](_0x49a8c2['parent']['id'],_0x49a8c2[_0x1a4e('0x2cb')]);_0x49a8c2['name_next']=_0x3fcb63[_0x1a4e('0x3680')][_0x573017],_0x3fcb63[_0x1a4e('0x3680')][_0x573017]=_0x49a8c2;},'hashRemoveNode':function(_0x49a8c2){var _0x573017=_0x3fcb63[_0x1a4e('0x57f9')](_0x49a8c2[_0x1a4e('0x11c')]['id'],_0x49a8c2[_0x1a4e('0x2cb')]);if(_0x3fcb63['nameTable'][_0x573017]===_0x49a8c2)_0x3fcb63[_0x1a4e('0x3680')][_0x573017]=_0x49a8c2[_0x1a4e('0x57fa')];else for(var _0x126074=_0x3fcb63[_0x1a4e('0x3680')][_0x573017];_0x126074;){if(_0x126074['name_next']===_0x49a8c2){_0x126074['name_next']=_0x49a8c2[_0x1a4e('0x57fa')];break;}_0x126074=_0x126074[_0x1a4e('0x57fa')];}},'lookupNode':function(_0x49a8c2,_0x573017){var _0x126074=_0x3fcb63['mayLookup'](_0x49a8c2);if(_0x126074)throw new _0x3fcb63[(_0x1a4e('0x578c'))](_0x126074,_0x49a8c2);for(var _0x49c546=_0x3fcb63[_0x1a4e('0x57f9')](_0x49a8c2['id'],_0x573017),_0x480629=_0x3fcb63[_0x1a4e('0x3680')][_0x49c546];_0x480629;_0x480629=_0x480629[_0x1a4e('0x57fa')]){var _0x19248f=_0x480629[_0x1a4e('0x2cb')];if(_0x480629[_0x1a4e('0x11c')]['id']===_0x49a8c2['id']&&_0x19248f===_0x573017)return _0x480629;}return _0x3fcb63['lookup'](_0x49a8c2,_0x573017);},'createNode':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){if(!_0x3fcb63[_0x1a4e('0x57fb')]){_0x3fcb63[_0x1a4e('0x57fb')]=function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){_0x49a8c2||(_0x49a8c2=this),this[_0x1a4e('0x11c')]=_0x49a8c2,this[_0x1a4e('0x128b')]=_0x49a8c2[_0x1a4e('0x128b')],this['mounted']=null,this['id']=_0x3fcb63[_0x1a4e('0x57fc')]++,this['name']=_0x573017,this[_0x1a4e('0xa69')]=_0x126074,this[_0x1a4e('0x5797')]={},this[_0x1a4e('0x579a')]={},this[_0x1a4e('0x57aa')]=_0x49c546;},_0x3fcb63[_0x1a4e('0x57fb')][_0x1a4e('0xa')]={};Object[_0x1a4e('0x1c8')](_0x3fcb63[_0x1a4e('0x57fb')][_0x1a4e('0xa')],{'read':{'get':function(){return 0x16d==(0x16d&this[_0x1a4e('0xa69')]);},'set':function(_0x49a8c2){_0x49a8c2?this['mode']|=0x16d:this['mode']&=-0x16e;}},'write':{'get':function(){return 0x92==(0x92&this[_0x1a4e('0xa69')]);},'set':function(_0x49a8c2){_0x49a8c2?this[_0x1a4e('0xa69')]|=0x92:this[_0x1a4e('0xa69')]&=-0x93;}},'isFolder':{'get':function(){return _0x3fcb63['isDir'](this[_0x1a4e('0xa69')]);}},'isDevice':{'get':function(){return _0x3fcb63[_0x1a4e('0x57a6')](this[_0x1a4e('0xa69')]);}}});}var _0x480629=new _0x3fcb63[(_0x1a4e('0x57fb'))](_0x49a8c2,_0x573017,_0x126074,_0x49c546);return _0x3fcb63[_0x1a4e('0x57fd')](_0x480629),_0x480629;},'destroyNode':function(_0x49a8c2){_0x3fcb63[_0x1a4e('0x57fe')](_0x49a8c2);},'isRoot':function(_0x49a8c2){return _0x49a8c2===_0x49a8c2['parent'];},'isMountpoint':function(_0x49a8c2){return!!_0x49a8c2['mounted'];},'isFile':function(_0x49a8c2){return 0x8000==(0xf000&_0x49a8c2);},'isDir':function(_0x49a8c2){return 0x4000==(0xf000&_0x49a8c2);},'isLink':function(_0x49a8c2){return 0xa000==(0xf000&_0x49a8c2);},'isChrdev':function(_0x49a8c2){return 0x2000==(0xf000&_0x49a8c2);},'isBlkdev':function(_0x49a8c2){return 0x6000==(0xf000&_0x49a8c2);},'isFIFO':function(_0x49a8c2){return 0x1000==(0xf000&_0x49a8c2);},'isSocket':function(_0x49a8c2){return 0xc000==(0xc000&_0x49a8c2);},'flagModes':{'r':0x0,'rs':0x101000,'r+':0x2,'w':0x241,'wx':0x2c1,'xw':0x2c1,'w+':0x242,'wx+':0x2c2,'xw+':0x2c2,'a':0x441,'ax':0x4c1,'xa':0x4c1,'a+':0x442,'ax+':0x4c2,'xa+':0x4c2},'modeStringToFlags':function(_0x49a8c2){var _0x573017=_0x3fcb63[_0x1a4e('0x57ff')][_0x49a8c2];if(void 0x0===_0x573017)throw new Error(_0x1a4e('0x5800')+_0x49a8c2);return _0x573017;},'flagsToPermissionString':function(_0x49a8c2){var _0x573017=['r','w','rw'][0x3&_0x49a8c2];return 0x200&_0x49a8c2&&(_0x573017+='w'),_0x573017;},'nodePermissions':function(_0x49a8c2,_0x573017){return _0x3fcb63[_0x1a4e('0x576f')]?0x0:(-0x1===_0x573017[_0x1a4e('0x3e')]('r')||0x124&_0x49a8c2[_0x1a4e('0xa69')])&&(-0x1===_0x573017[_0x1a4e('0x3e')]('w')||0x92&_0x49a8c2[_0x1a4e('0xa69')])&&(-0x1===_0x573017[_0x1a4e('0x3e')]('x')||0x49&_0x49a8c2[_0x1a4e('0xa69')])?0x0:0xd;},'mayLookup':function(_0x49a8c2){var _0x573017=_0x3fcb63[_0x1a4e('0x5801')](_0x49a8c2,'x');return _0x573017||(_0x49a8c2[_0x1a4e('0x5797')][_0x1a4e('0x2951')]?0x0:0xd);},'mayCreate':function(_0x49a8c2,_0x573017){try{_0x3fcb63[_0x1a4e('0x57b1')](_0x49a8c2,_0x573017);return 0x11;}catch(_0x47403b){}return _0x3fcb63[_0x1a4e('0x5801')](_0x49a8c2,'wx');},'mayDelete':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546;try{_0x49c546=_0x3fcb63[_0x1a4e('0x57b1')](_0x49a8c2,_0x573017);}catch(_0x1942c7){return _0x1942c7[_0x1a4e('0x57e4')];}var _0x480629=_0x3fcb63[_0x1a4e('0x5801')](_0x49a8c2,'wx');if(_0x480629)return _0x480629;if(_0x126074){if(!_0x3fcb63['isDir'](_0x49c546[_0x1a4e('0xa69')]))return 0x14;if(_0x3fcb63['isRoot'](_0x49c546)||_0x3fcb63['getPath'](_0x49c546)===_0x3fcb63['cwd']())return 0x10;}else if(_0x3fcb63[_0x1a4e('0x57a1')](_0x49c546['mode']))return 0x15;return 0x0;},'mayOpen':function(_0x49a8c2,_0x573017){return _0x49a8c2?_0x3fcb63['isLink'](_0x49a8c2[_0x1a4e('0xa69')])?0x28:_0x3fcb63[_0x1a4e('0x57a1')](_0x49a8c2[_0x1a4e('0xa69')])&&('r'!==_0x3fcb63[_0x1a4e('0x5802')](_0x573017)||0x200&_0x573017)?0x15:_0x3fcb63['nodePermissions'](_0x49a8c2,_0x3fcb63['flagsToPermissionString'](_0x573017)):0x2;},'MAX_OPEN_FDS':0x1000,'nextfd':function(_0x49a8c2,_0x573017){_0x49a8c2=_0x49a8c2||0x0,_0x573017=_0x573017||_0x3fcb63[_0x1a4e('0x5803')];for(var _0x126074=_0x49a8c2;_0x126074<=_0x573017;_0x126074++)if(!_0x3fcb63[_0x1a4e('0x5804')][_0x126074])return _0x126074;throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x18);},'getStream':function(_0x49a8c2){return _0x3fcb63[_0x1a4e('0x5804')][_0x49a8c2];},'createStream':function(_0x49a8c2,_0x573017,_0x126074){_0x3fcb63[_0x1a4e('0x5805')]||(_0x3fcb63[_0x1a4e('0x5805')]=function(){},_0x3fcb63[_0x1a4e('0x5805')][_0x1a4e('0xa')]={},Object[_0x1a4e('0x1c8')](_0x3fcb63[_0x1a4e('0x5805')][_0x1a4e('0xa')],{'object':{'get':function(){return this[_0x1a4e('0x80')];},'set':function(_0x49a8c2){this[_0x1a4e('0x80')]=_0x49a8c2;}},'isRead':{'get':function(){return 0x1!=(0x200003&this[_0x1a4e('0x7b2')]);}},'isWrite':{'get':function(){return 0x0!=(0x200003&this[_0x1a4e('0x7b2')]);}},'isAppend':{'get':function(){return 0x400&this['flags'];}}}));var _0x49c546=new _0x3fcb63[(_0x1a4e('0x5805'))]();for(var _0x480629 in _0x49a8c2)_0x49c546[_0x480629]=_0x49a8c2[_0x480629];_0x49a8c2=_0x49c546;var _0x19248f=_0x3fcb63[_0x1a4e('0x5806')](_0x573017,_0x126074);return _0x49a8c2['fd']=_0x19248f,_0x3fcb63[_0x1a4e('0x5804')][_0x19248f]=_0x49a8c2,_0x49a8c2;},'closeStream':function(_0x49a8c2){_0x3fcb63['streams'][_0x49a8c2]=null;},'chrdev_stream_ops':{'open':function(_0x49a8c2){var _0x573017=_0x3fcb63[_0x1a4e('0x5807')](_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x57aa')]);_0x49a8c2[_0x1a4e('0x579a')]=_0x573017[_0x1a4e('0x579a')],_0x49a8c2[_0x1a4e('0x579a')][_0x1a4e('0x12bc')]&&_0x49a8c2['stream_ops']['open'](_0x49a8c2);},'llseek':function(){throw new _0x3fcb63['ErrnoError'](0x1d);}},'major':function(_0x49a8c2){return _0x49a8c2>>0x8;},'minor':function(_0x49a8c2){return 0xff&_0x49a8c2;},'makedev':function(_0x49a8c2,_0x573017){return _0x49a8c2<<0x8|_0x573017;},'registerDevice':function(_0x49a8c2,_0x573017){_0x3fcb63[_0x1a4e('0x5808')][_0x49a8c2]={'stream_ops':_0x573017};},'getDevice':function(_0x49a8c2){return _0x3fcb63[_0x1a4e('0x5808')][_0x49a8c2];},'getMounts':function(_0x49a8c2){for(var _0x573017=[],_0x126074=[_0x49a8c2];_0x126074['length'];){var _0x49c546=_0x126074[_0x1a4e('0x76')]();_0x573017['push'](_0x49c546),_0x126074[_0x1a4e('0x46')][_0x1a4e('0x8b')](_0x126074,_0x49c546[_0x1a4e('0x5809')]);}return _0x573017;},'syncfs':function(_0x49a8c2,_0x573017){_0x1a4e('0x68')==typeof _0x49a8c2&&(_0x573017=_0x49a8c2,_0x49a8c2=!0x1),_0x3fcb63['syncFSRequests']++,_0x3fcb63[_0x1a4e('0x580a')]>0x1&&console[_0x1a4e('0x58')](_0x1a4e('0x580b')+_0x3fcb63[_0x1a4e('0x580a')]+'\x20FS.syncfs\x20operations\x20in\x20flight\x20at\x20once,\x20probably\x20just\x20doing\x20extra\x20work');var _0x126074=_0x3fcb63[_0x1a4e('0x580c')](_0x3fcb63[_0x1a4e('0x1372')][_0x1a4e('0x128b')]),_0x49c546=0x0;function _0x480629(_0x49a8c2){return _0x3fcb63['syncFSRequests']--,_0x573017(_0x49a8c2);}function _0x19248f(_0x49a8c2){if(_0x49a8c2)return _0x19248f[_0x1a4e('0x57d4')]?void 0x0:(_0x19248f[_0x1a4e('0x57d4')]=!0x0,_0x480629(_0x49a8c2));++_0x49c546>=_0x126074['length']&&_0x480629(null);}_0x126074[_0x1a4e('0x3b')](function(_0x573017){if(!_0x573017[_0x1a4e('0x40')][_0x1a4e('0x580d')])return _0x19248f(null);_0x573017['type'][_0x1a4e('0x580d')](_0x573017,_0x49a8c2,_0x19248f);});},'mount':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546,_0x480629='/'===_0x126074,_0x19248f=!_0x126074;if(_0x480629&&_0x3fcb63[_0x1a4e('0x1372')])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x10);if(!_0x480629&&!_0x19248f){var _0x5c2b6f=_0x3fcb63[_0x1a4e('0x57cc')](_0x126074,{'follow_mount':!0x1});if(_0x126074=_0x5c2b6f['path'],_0x49c546=_0x5c2b6f['node'],_0x3fcb63[_0x1a4e('0x580e')](_0x49c546))throw new _0x3fcb63['ErrnoError'](0x10);if(!_0x3fcb63[_0x1a4e('0x57a1')](_0x49c546['mode']))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x14);}var _0xa87129={'type':_0x49a8c2,'opts':_0x573017,'mountpoint':_0x126074,'mounts':[]},_0x2060bd=_0x49a8c2['mount'](_0xa87129);return _0x2060bd[_0x1a4e('0x128b')]=_0xa87129,_0xa87129['root']=_0x2060bd,_0x480629?_0x3fcb63[_0x1a4e('0x1372')]=_0x2060bd:_0x49c546&&(_0x49c546['mounted']=_0xa87129,_0x49c546[_0x1a4e('0x128b')]&&_0x49c546['mount'][_0x1a4e('0x5809')][_0x1a4e('0x46')](_0xa87129)),_0x2060bd;},'unmount':function(_0x49a8c2){var _0x573017=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'follow_mount':!0x1});if(!_0x3fcb63[_0x1a4e('0x580e')](_0x573017[_0x1a4e('0x80')]))throw new _0x3fcb63['ErrnoError'](0x16);var _0x126074=_0x573017['node'],_0x49c546=_0x126074['mounted'],_0x480629=_0x3fcb63[_0x1a4e('0x580c')](_0x49c546);Object[_0x1a4e('0x56')](_0x3fcb63[_0x1a4e('0x3680')])[_0x1a4e('0x3b')](function(_0x49a8c2){for(var _0x573017=_0x3fcb63['nameTable'][_0x49a8c2];_0x573017;){var _0x126074=_0x573017[_0x1a4e('0x57fa')];-0x1!==_0x480629[_0x1a4e('0x3e')](_0x573017[_0x1a4e('0x128b')])&&_0x3fcb63[_0x1a4e('0x580f')](_0x573017),_0x573017=_0x126074;}}),_0x126074[_0x1a4e('0x12e4')]=null;var _0x19248f=_0x126074['mount'][_0x1a4e('0x5809')][_0x1a4e('0x3e')](_0x49c546);_0x126074['mount'][_0x1a4e('0x5809')][_0x1a4e('0x8a')](_0x19248f,0x1);},'lookup':function(_0x49a8c2,_0x573017){return _0x49a8c2[_0x1a4e('0x5797')][_0x1a4e('0x2951')](_0x49a8c2,_0x573017);},'mknod':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'parent':!0x0})[_0x1a4e('0x80')],_0x480629=_0x243fd7[_0x1a4e('0x5810')](_0x49a8c2);if(!_0x480629||'.'===_0x480629||'..'===_0x480629)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);var _0x19248f=_0x3fcb63[_0x1a4e('0x5811')](_0x49c546,_0x480629);if(_0x19248f)throw new _0x3fcb63[(_0x1a4e('0x578c'))](_0x19248f);if(!_0x49c546[_0x1a4e('0x5797')][_0x1a4e('0x5812')])throw new _0x3fcb63['ErrnoError'](0x1);return _0x49c546[_0x1a4e('0x5797')]['mknod'](_0x49c546,_0x480629,_0x573017,_0x126074);},'create':function(_0x49a8c2,_0x573017){return _0x573017=void 0x0!==_0x573017?_0x573017:0x1b6,_0x573017&=0xfff,_0x573017|=0x8000,_0x3fcb63[_0x1a4e('0x5812')](_0x49a8c2,_0x573017,0x0);},'mkdir':function(_0x49a8c2,_0x573017){return _0x573017=void 0x0!==_0x573017?_0x573017:0x1ff,_0x573017&=0x3ff,_0x573017|=0x4000,_0x3fcb63[_0x1a4e('0x5812')](_0x49a8c2,_0x573017,0x0);},'mkdirTree':function(_0x49a8c2,_0x573017){for(var _0x126074=_0x49a8c2[_0x1a4e('0x2be')]('/'),_0x49c546='',_0x480629=0x0;_0x480629<_0x126074['length'];++_0x480629)if(_0x126074[_0x480629]){_0x49c546+='/'+_0x126074[_0x480629];try{_0x3fcb63['mkdir'](_0x49c546,_0x573017);}catch(_0x25a7e2){if(0x11!=_0x25a7e2[_0x1a4e('0x57e4')])throw _0x25a7e2;}}},'mkdev':function(_0x49a8c2,_0x573017,_0x126074){return void 0x0===_0x126074&&(_0x126074=_0x573017,_0x573017=0x1b6),_0x573017|=0x2000,_0x3fcb63['mknod'](_0x49a8c2,_0x573017,_0x126074);},'symlink':function(_0x49a8c2,_0x573017){if(!_0x203e7e[_0x1a4e('0xe20')](_0x49a8c2))throw new _0x3fcb63['ErrnoError'](0x2);var _0x126074=_0x3fcb63[_0x1a4e('0x57cc')](_0x573017,{'parent':!0x0})[_0x1a4e('0x80')];if(!_0x126074)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x2);var _0x49c546=_0x243fd7[_0x1a4e('0x5810')](_0x573017),_0x480629=_0x3fcb63[_0x1a4e('0x5811')](_0x126074,_0x49c546);if(_0x480629)throw new _0x3fcb63[(_0x1a4e('0x578c'))](_0x480629);if(!_0x126074[_0x1a4e('0x5797')]['symlink'])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);return _0x126074[_0x1a4e('0x5797')]['symlink'](_0x126074,_0x49c546,_0x49a8c2);},'rename':function(_0x49a8c2,_0x573017){var _0x126074,_0x49c546,_0x480629=_0x243fd7['dirname'](_0x49a8c2),_0x19248f=_0x243fd7['dirname'](_0x573017),_0x5c2b6f=_0x243fd7[_0x1a4e('0x5810')](_0x49a8c2),_0xa87129=_0x243fd7[_0x1a4e('0x5810')](_0x573017);try{_0x126074=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'parent':!0x0})['node'],_0x49c546=_0x3fcb63[_0x1a4e('0x57cc')](_0x573017,{'parent':!0x0})[_0x1a4e('0x80')];}catch(_0x290b51){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x10);}if(!_0x126074||!_0x49c546)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x2);if(_0x126074[_0x1a4e('0x128b')]!==_0x49c546['mount'])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x12);var _0x2060bd,_0x3a5d4f=_0x3fcb63[_0x1a4e('0x57b1')](_0x126074,_0x5c2b6f),_0x1b855f=_0x203e7e[_0x1a4e('0x1143')](_0x49a8c2,_0x19248f);if('.'!==_0x1b855f[_0x1a4e('0x278')](0x0))throw new _0x3fcb63['ErrnoError'](0x16);if('.'!==(_0x1b855f=_0x203e7e[_0x1a4e('0x1143')](_0x573017,_0x480629))[_0x1a4e('0x278')](0x0))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x27);try{_0x2060bd=_0x3fcb63['lookupNode'](_0x49c546,_0xa87129);}catch(_0x552dea){}if(_0x3a5d4f!==_0x2060bd){var _0x2cd2bf=_0x3fcb63[_0x1a4e('0x57a1')](_0x3a5d4f[_0x1a4e('0xa69')]),_0x3ea29d=_0x3fcb63['mayDelete'](_0x126074,_0x5c2b6f,_0x2cd2bf);if(_0x3ea29d)throw new _0x3fcb63[(_0x1a4e('0x578c'))](_0x3ea29d);if(_0x3ea29d=_0x2060bd?_0x3fcb63['mayDelete'](_0x49c546,_0xa87129,_0x2cd2bf):_0x3fcb63[_0x1a4e('0x5811')](_0x49c546,_0xa87129))throw new _0x3fcb63['ErrnoError'](_0x3ea29d);if(!_0x126074[_0x1a4e('0x5797')][_0x1a4e('0x1b71')])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);if(_0x3fcb63[_0x1a4e('0x580e')](_0x3a5d4f)||_0x2060bd&&_0x3fcb63[_0x1a4e('0x580e')](_0x2060bd))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x10);if(_0x49c546!==_0x126074&&(_0x3ea29d=_0x3fcb63[_0x1a4e('0x5801')](_0x126074,'w')))throw new _0x3fcb63['ErrnoError'](_0x3ea29d);try{_0x3fcb63[_0x1a4e('0x5813')][_0x1a4e('0x5814')]&&_0x3fcb63[_0x1a4e('0x5813')][_0x1a4e('0x5814')](_0x49a8c2,_0x573017);}catch(_0x234ae3){console['log']('FS.trackingDelegate[\x27willMovePath\x27](\x27'+_0x552dea+_0x1a4e('0x301c')+_0x573017+'\x27)\x20threw\x20an\x20exception:\x20'+_0x234ae3[_0x1a4e('0x133')]);}_0x3fcb63[_0x1a4e('0x57fe')](_0x3a5d4f);try{_0x126074['node_ops'][_0x1a4e('0x1b71')](_0x3a5d4f,_0x49c546,_0xa87129);}catch(_0x27e909){throw _0x27e909;}finally{_0x3fcb63[_0x1a4e('0x57fd')](_0x3a5d4f);}try{_0x3fcb63[_0x1a4e('0x5813')]['onMovePath']&&_0x3fcb63['trackingDelegate'][_0x1a4e('0x5815')](_0x49a8c2,_0x573017);}catch(_0x1145a9){console['log'](_0x1a4e('0x5816')+_0x27e909+_0x1a4e('0x301c')+_0x573017+_0x1a4e('0x5817')+_0x1145a9['message']);}}},'rmdir':function(_0x49a8c2){var _0x573017=_0x3fcb63['lookupPath'](_0x49a8c2,{'parent':!0x0})[_0x1a4e('0x80')],_0x126074=_0x243fd7[_0x1a4e('0x5810')](_0x49a8c2),_0x49c546=_0x3fcb63[_0x1a4e('0x57b1')](_0x573017,_0x126074),_0x480629=_0x3fcb63['mayDelete'](_0x573017,_0x126074,!0x0);if(_0x480629)throw new _0x3fcb63[(_0x1a4e('0x578c'))](_0x480629);if(!_0x573017['node_ops'][_0x1a4e('0x5818')])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);if(_0x3fcb63[_0x1a4e('0x580e')](_0x49c546))throw new _0x3fcb63['ErrnoError'](0x10);try{_0x3fcb63[_0x1a4e('0x5813')][_0x1a4e('0x5819')]&&_0x3fcb63[_0x1a4e('0x5813')][_0x1a4e('0x5819')](_0x49a8c2);}catch(_0x33af82){console[_0x1a4e('0x58')]('FS.trackingDelegate[\x27willDeletePath\x27](\x27'+_0x49a8c2+'\x27)\x20threw\x20an\x20exception:\x20'+_0x33af82[_0x1a4e('0x133')]);}_0x573017['node_ops']['rmdir'](_0x573017,_0x126074),_0x3fcb63[_0x1a4e('0x580f')](_0x49c546);try{_0x3fcb63[_0x1a4e('0x5813')][_0x1a4e('0x581a')]&&_0x3fcb63[_0x1a4e('0x5813')][_0x1a4e('0x581a')](_0x49a8c2);}catch(_0x99a160){console[_0x1a4e('0x58')](_0x1a4e('0x581b')+_0x49a8c2+_0x1a4e('0x5817')+_0x99a160[_0x1a4e('0x133')]);}},'readdir':function(_0x49a8c2){var _0x573017=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'follow':!0x0})[_0x1a4e('0x80')];if(!_0x573017[_0x1a4e('0x5797')][_0x1a4e('0x57c7')])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x14);return _0x573017[_0x1a4e('0x5797')][_0x1a4e('0x57c7')](_0x573017);},'unlink':function(_0x49a8c2){var _0x573017=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'parent':!0x0})['node'],_0x126074=_0x243fd7[_0x1a4e('0x5810')](_0x49a8c2),_0x49c546=_0x3fcb63[_0x1a4e('0x57b1')](_0x573017,_0x126074),_0x480629=_0x3fcb63[_0x1a4e('0x581c')](_0x573017,_0x126074,!0x1);if(_0x480629)throw new _0x3fcb63[(_0x1a4e('0x578c'))](_0x480629);if(!_0x573017['node_ops']['unlink'])throw new _0x3fcb63['ErrnoError'](0x1);if(_0x3fcb63[_0x1a4e('0x580e')](_0x49c546))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x10);try{_0x3fcb63[_0x1a4e('0x5813')]['willDeletePath']&&_0x3fcb63[_0x1a4e('0x5813')]['willDeletePath'](_0x49a8c2);}catch(_0xc83fbe){console[_0x1a4e('0x58')](_0x1a4e('0x581d')+_0x49a8c2+_0x1a4e('0x5817')+_0xc83fbe[_0x1a4e('0x133')]);}_0x573017[_0x1a4e('0x5797')][_0x1a4e('0x57d2')](_0x573017,_0x126074),_0x3fcb63[_0x1a4e('0x580f')](_0x49c546);try{_0x3fcb63['trackingDelegate'][_0x1a4e('0x581a')]&&_0x3fcb63['trackingDelegate'][_0x1a4e('0x581a')](_0x49a8c2);}catch(_0x2e9269){console['log'](_0x1a4e('0x581b')+_0x49a8c2+_0x1a4e('0x5817')+_0x2e9269['message']);}},'readlink':function(_0x49a8c2){var _0x573017=_0x3fcb63['lookupPath'](_0x49a8c2)[_0x1a4e('0x80')];if(!_0x573017)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x2);if(!_0x573017[_0x1a4e('0x5797')][_0x1a4e('0x579f')])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);return _0x203e7e[_0x1a4e('0xe20')](_0x3fcb63[_0x1a4e('0x581e')](_0x573017[_0x1a4e('0x11c')]),_0x573017[_0x1a4e('0x5797')]['readlink'](_0x573017));},'stat':function(_0x49a8c2,_0x573017){var _0x126074=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'follow':!_0x573017})[_0x1a4e('0x80')];if(!_0x126074)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x2);if(!_0x126074[_0x1a4e('0x5797')]['getattr'])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);return _0x126074[_0x1a4e('0x5797')][_0x1a4e('0x5798')](_0x126074);},'lstat':function(_0x49a8c2){return _0x3fcb63[_0x1a4e('0x57c9')](_0x49a8c2,!0x0);},'chmod':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546;'string'==typeof _0x49a8c2?_0x49c546=_0x3fcb63['lookupPath'](_0x49a8c2,{'follow':!_0x126074})[_0x1a4e('0x80')]:_0x49c546=_0x49a8c2;if(!_0x49c546['node_ops']['setattr'])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);_0x49c546[_0x1a4e('0x5797')][_0x1a4e('0x5799')](_0x49c546,{'mode':0xfff&_0x573017|-0x1000&_0x49c546['mode'],'timestamp':Date['now']()});},'lchmod':function(_0x49a8c2,_0x573017){_0x3fcb63['chmod'](_0x49a8c2,_0x573017,!0x0);},'fchmod':function(_0x49a8c2,_0x573017){var _0x126074=_0x3fcb63[_0x1a4e('0x581f')](_0x49a8c2);if(!_0x126074)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);_0x3fcb63[_0x1a4e('0x57d0')](_0x126074[_0x1a4e('0x80')],_0x573017);},'chown':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){var _0x480629;_0x1a4e('0x9')==typeof _0x49a8c2?_0x480629=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'follow':!_0x49c546})[_0x1a4e('0x80')]:_0x480629=_0x49a8c2;if(!_0x480629[_0x1a4e('0x5797')][_0x1a4e('0x5799')])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1);_0x480629[_0x1a4e('0x5797')]['setattr'](_0x480629,{'timestamp':Date[_0x1a4e('0xe3f')]()});},'lchown':function(_0x49a8c2,_0x573017,_0x126074){_0x3fcb63['chown'](_0x49a8c2,_0x573017,_0x126074,!0x0);},'fchown':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x3fcb63[_0x1a4e('0x581f')](_0x49a8c2);if(!_0x49c546)throw new _0x3fcb63['ErrnoError'](0x9);_0x3fcb63[_0x1a4e('0x5820')](_0x49c546[_0x1a4e('0x80')],_0x573017,_0x126074);},'truncate':function(_0x49a8c2,_0x573017){if(_0x573017<0x0)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);var _0x126074;_0x1a4e('0x9')==typeof _0x49a8c2?_0x126074=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'follow':!0x0})[_0x1a4e('0x80')]:_0x126074=_0x49a8c2;if(!_0x126074[_0x1a4e('0x5797')][_0x1a4e('0x5799')])throw new _0x3fcb63['ErrnoError'](0x1);if(_0x3fcb63[_0x1a4e('0x57a1')](_0x126074[_0x1a4e('0xa69')]))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x15);if(!_0x3fcb63['isFile'](_0x126074[_0x1a4e('0xa69')]))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);var _0x49c546=_0x3fcb63[_0x1a4e('0x5801')](_0x126074,'w');if(_0x49c546)throw new _0x3fcb63[(_0x1a4e('0x578c'))](_0x49c546);_0x126074[_0x1a4e('0x5797')]['setattr'](_0x126074,{'size':_0x573017,'timestamp':Date['now']()});},'ftruncate':function(_0x49a8c2,_0x573017){var _0x126074=_0x3fcb63[_0x1a4e('0x581f')](_0x49a8c2);if(!_0x126074)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);if(0x0==(0x200003&_0x126074[_0x1a4e('0x7b2')]))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);_0x3fcb63[_0x1a4e('0x7d2')](_0x126074[_0x1a4e('0x80')],_0x573017);},'utime':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'follow':!0x0})[_0x1a4e('0x80')];_0x49c546[_0x1a4e('0x5797')][_0x1a4e('0x5799')](_0x49c546,{'timestamp':Math[_0x1a4e('0x6c')](_0x573017,_0x126074)});},'open':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){if(''===_0x49a8c2)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x2);var _0x19248f;if(_0x126074=void 0x0===_0x126074?0x1b6:_0x126074,_0x126074=0x40&(_0x573017=_0x1a4e('0x9')==typeof _0x573017?_0x3fcb63[_0x1a4e('0x5821')](_0x573017):_0x573017)?0xfff&_0x126074|0x8000:0x0,_0x1a4e('0x85')===(void 0x0===_0x49a8c2?_0x1a4e('0x3'):_0xa87129(_0x49a8c2)))_0x19248f=_0x49a8c2;else{_0x49a8c2=_0x243fd7[_0x1a4e('0x330')](_0x49a8c2);try{_0x19248f=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'follow':!(0x20000&_0x573017)})[_0x1a4e('0x80')];}catch(_0x47871d){}}var _0x5c2b6f=!0x1;if(0x40&_0x573017)if(_0x19248f){if(0x80&_0x573017)throw new _0x3fcb63['ErrnoError'](0x11);}else _0x19248f=_0x3fcb63[_0x1a4e('0x5812')](_0x49a8c2,_0x126074,0x0),_0x5c2b6f=!0x0;if(!_0x19248f)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x2);if(_0x3fcb63[_0x1a4e('0x57a6')](_0x19248f[_0x1a4e('0xa69')])&&(_0x573017&=-0x201),0x10000&_0x573017&&!_0x3fcb63[_0x1a4e('0x57a1')](_0x19248f['mode']))throw new _0x3fcb63['ErrnoError'](0x14);if(!_0x5c2b6f){var _0x3a5d4f=_0x3fcb63[_0x1a4e('0x5822')](_0x19248f,_0x573017);if(_0x3a5d4f)throw new _0x3fcb63['ErrnoError'](_0x3a5d4f);}0x200&_0x573017&&_0x3fcb63[_0x1a4e('0x7d2')](_0x19248f,0x0),_0x573017&=-0x281;var _0x1b855f=_0x3fcb63[_0x1a4e('0x5823')]({'node':_0x19248f,'path':_0x3fcb63['getPath'](_0x19248f),'flags':_0x573017,'seekable':!0x0,'position':0x0,'stream_ops':_0x19248f[_0x1a4e('0x579a')],'ungotten':[],'error':!0x1},_0x49c546,_0x480629);_0x1b855f[_0x1a4e('0x579a')]['open']&&_0x1b855f[_0x1a4e('0x579a')][_0x1a4e('0x12bc')](_0x1b855f),!_0x2060bd['logReadFiles']||0x1&_0x573017||(_0x3fcb63[_0x1a4e('0x5824')]||(_0x3fcb63['readFiles']={}),_0x49a8c2 in _0x3fcb63['readFiles']||(_0x3fcb63['readFiles'][_0x49a8c2]=0x1,console[_0x1a4e('0x58')](_0x1a4e('0x5825')+_0x49a8c2)));try{if(_0x3fcb63['trackingDelegate'][_0x1a4e('0x5826')]){var _0x2cd2bf=0x0;0x1!=(0x200003&_0x573017)&&(_0x2cd2bf|=_0x3fcb63[_0x1a4e('0x5827')][_0x1a4e('0x5828')][_0x1a4e('0x5829')]),0x0!=(0x200003&_0x573017)&&(_0x2cd2bf|=_0x3fcb63[_0x1a4e('0x5827')][_0x1a4e('0x5828')]['WRITE']),_0x3fcb63[_0x1a4e('0x5813')][_0x1a4e('0x5826')](_0x49a8c2,_0x2cd2bf);}}catch(_0x5ed44e){console[_0x1a4e('0x58')]('FS.trackingDelegate[\x27onOpenFile\x27](\x27'+_0x47871d+_0x1a4e('0x582a')+_0x5ed44e[_0x1a4e('0x133')]);}return _0x1b855f;},'close':function(_0x49a8c2){if(_0x3fcb63[_0x1a4e('0x37d')](_0x49a8c2))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);_0x49a8c2[_0x1a4e('0x582b')]&&(_0x49a8c2[_0x1a4e('0x582b')]=null);try{_0x49a8c2[_0x1a4e('0x579a')]['close']&&_0x49a8c2['stream_ops'][_0x1a4e('0x139b')](_0x49a8c2);}catch(_0x359787){throw _0x359787;}finally{_0x3fcb63[_0x1a4e('0x582c')](_0x49a8c2['fd']);}_0x49a8c2['fd']=null;},'isClosed':function(_0x49a8c2){return null===_0x49a8c2['fd'];},'llseek':function(_0x49a8c2,_0x573017,_0x126074){if(_0x3fcb63[_0x1a4e('0x37d')](_0x49a8c2))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);if(!_0x49a8c2['seekable']||!_0x49a8c2[_0x1a4e('0x579a')][_0x1a4e('0x579b')])throw new _0x3fcb63['ErrnoError'](0x1d);if(0x0!=_0x126074&&0x1!=_0x126074&&0x2!=_0x126074)throw new _0x3fcb63['ErrnoError'](0x16);return _0x49a8c2[_0x1a4e('0x3553')]=_0x49a8c2['stream_ops'][_0x1a4e('0x579b')](_0x49a8c2,_0x573017,_0x126074),_0x49a8c2[_0x1a4e('0x582d')]=[],_0x49a8c2[_0x1a4e('0x3553')];},'read':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){if(_0x49c546<0x0||_0x480629<0x0)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);if(_0x3fcb63[_0x1a4e('0x37d')](_0x49a8c2))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);if(0x1==(0x200003&_0x49a8c2['flags']))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);if(_0x3fcb63['isDir'](_0x49a8c2[_0x1a4e('0x80')]['mode']))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x15);if(!_0x49a8c2[_0x1a4e('0x579a')][_0x1a4e('0x144')])throw new _0x3fcb63['ErrnoError'](0x16);var _0x19248f=void 0x0!==_0x480629;if(_0x19248f){if(!_0x49a8c2[_0x1a4e('0x582e')])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x1d);}else _0x480629=_0x49a8c2[_0x1a4e('0x3553')];var _0x5c2b6f=_0x49a8c2[_0x1a4e('0x579a')][_0x1a4e('0x144')](_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629);return _0x19248f||(_0x49a8c2[_0x1a4e('0x3553')]+=_0x5c2b6f),_0x5c2b6f;},'write':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f){if(_0x49c546<0x0||_0x480629<0x0)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);if(_0x3fcb63[_0x1a4e('0x37d')](_0x49a8c2))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);if(0x0==(0x200003&_0x49a8c2['flags']))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);if(_0x3fcb63['isDir'](_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0xa69')]))throw new _0x3fcb63['ErrnoError'](0x15);if(!_0x49a8c2[_0x1a4e('0x579a')][_0x1a4e('0x146')])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);0x400&_0x49a8c2[_0x1a4e('0x7b2')]&&_0x3fcb63[_0x1a4e('0x579b')](_0x49a8c2,0x0,0x2);var _0x5c2b6f=void 0x0!==_0x480629;if(_0x5c2b6f){if(!_0x49a8c2[_0x1a4e('0x582e')])throw new _0x3fcb63['ErrnoError'](0x1d);}else _0x480629=_0x49a8c2[_0x1a4e('0x3553')];var _0xa87129=_0x49a8c2[_0x1a4e('0x579a')]['write'](_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f);_0x5c2b6f||(_0x49a8c2[_0x1a4e('0x3553')]+=_0xa87129);try{_0x49a8c2[_0x1a4e('0x64')]&&_0x3fcb63['trackingDelegate'][_0x1a4e('0x582f')]&&_0x3fcb63[_0x1a4e('0x5813')][_0x1a4e('0x582f')](_0x49a8c2[_0x1a4e('0x64')]);}catch(_0x48243c){console[_0x1a4e('0x58')](_0x1a4e('0x5830')+_0x49a8c2['path']+'\x27)\x20threw\x20an\x20exception:\x20'+_0x48243c[_0x1a4e('0x133')]);}return _0xa87129;},'allocate':function(_0x49a8c2,_0x573017,_0x126074){if(_0x3fcb63[_0x1a4e('0x37d')](_0x49a8c2))throw new _0x3fcb63['ErrnoError'](0x9);if(_0x573017<0x0||_0x126074<=0x0)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x16);if(0x0==(0x200003&_0x49a8c2[_0x1a4e('0x7b2')]))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);if(!_0x3fcb63[_0x1a4e('0x1b6a')](_0x49a8c2['node']['mode'])&&!_0x3fcb63[_0x1a4e('0x57a1')](_0x49a8c2['node'][_0x1a4e('0xa69')]))throw new _0x3fcb63['ErrnoError'](0x13);if(!_0x49a8c2[_0x1a4e('0x579a')][_0x1a4e('0x579c')])throw new _0x3fcb63['ErrnoError'](0x5f);_0x49a8c2[_0x1a4e('0x579a')][_0x1a4e('0x579c')](_0x49a8c2,_0x573017,_0x126074);},'mmap':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f,_0x5c2b6f){if(0x1==(0x200003&_0x49a8c2[_0x1a4e('0x7b2')]))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0xd);if(!_0x49a8c2['stream_ops']['mmap'])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x13);return _0x49a8c2[_0x1a4e('0x579a')]['mmap'](_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f,_0x5c2b6f);},'msync':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){return _0x49a8c2&&_0x49a8c2[_0x1a4e('0x579a')]['msync']?_0x49a8c2[_0x1a4e('0x579a')][_0x1a4e('0x579e')](_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629):0x0;},'munmap':function(_0x49a8c2){return 0x0;},'ioctl':function(_0x49a8c2,_0x573017,_0x126074){if(!_0x49a8c2[_0x1a4e('0x579a')]['ioctl'])throw new _0x3fcb63['ErrnoError'](0x19);return _0x49a8c2[_0x1a4e('0x579a')][_0x1a4e('0x5831')](_0x49a8c2,_0x573017,_0x126074);},'readFile':function(_0x49a8c2,_0x573017){if((_0x573017=_0x573017||{})[_0x1a4e('0x7b2')]=_0x573017[_0x1a4e('0x7b2')]||'r',_0x573017[_0x1a4e('0x13ae')]=_0x573017[_0x1a4e('0x13ae')]||_0x1a4e('0xacc'),_0x1a4e('0xac4')!==_0x573017[_0x1a4e('0x13ae')]&&_0x1a4e('0xacc')!==_0x573017[_0x1a4e('0x13ae')])throw new Error('Invalid\x20encoding\x20type\x20\x22'+_0x573017[_0x1a4e('0x13ae')]+'\x22');var _0x126074,_0x49c546=_0x3fcb63[_0x1a4e('0x12bc')](_0x49a8c2,_0x573017['flags']),_0x480629=_0x3fcb63['stat'](_0x49a8c2)[_0x1a4e('0x220')],_0x19248f=new Uint8Array(_0x480629);return _0x3fcb63[_0x1a4e('0x144')](_0x49c546,_0x19248f,0x0,_0x480629,0x0),_0x1a4e('0xac4')===_0x573017[_0x1a4e('0x13ae')]?_0x126074=_0x2cf22f(_0x19248f,0x0):_0x1a4e('0xacc')===_0x573017[_0x1a4e('0x13ae')]&&(_0x126074=_0x19248f),_0x3fcb63['close'](_0x49c546),_0x126074;},'writeFile':function(_0x49a8c2,_0x573017,_0x126074){(_0x126074=_0x126074||{})[_0x1a4e('0x7b2')]=_0x126074['flags']||'w';var _0x49c546=_0x3fcb63[_0x1a4e('0x12bc')](_0x49a8c2,_0x126074['flags'],_0x126074[_0x1a4e('0xa69')]);if('string'==typeof _0x573017){var _0x480629=new Uint8Array(_0x3a1867(_0x573017)+0x1),_0x19248f=_0x298d00(_0x573017,_0x480629,0x0,_0x480629[_0x1a4e('0x1e')]);_0x3fcb63[_0x1a4e('0x146')](_0x49c546,_0x480629,0x0,_0x19248f,void 0x0,_0x126074[_0x1a4e('0x5832')]);}else{if(!ArrayBuffer['isView'](_0x573017))throw new Error(_0x1a4e('0x5833'));_0x3fcb63[_0x1a4e('0x146')](_0x49c546,_0x573017,0x0,_0x573017['byteLength'],void 0x0,_0x126074[_0x1a4e('0x5832')]);}_0x3fcb63[_0x1a4e('0x139b')](_0x49c546);},'cwd':function(){return _0x3fcb63[_0x1a4e('0x5834')];},'chdir':function(_0x49a8c2){var _0x573017=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'follow':!0x0});if(null===_0x573017['node'])throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x2);if(!_0x3fcb63[_0x1a4e('0x57a1')](_0x573017[_0x1a4e('0x80')][_0x1a4e('0xa69')]))throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x14);var _0x126074=_0x3fcb63['nodePermissions'](_0x573017[_0x1a4e('0x80')],'x');if(_0x126074)throw new _0x3fcb63[(_0x1a4e('0x578c'))](_0x126074);_0x3fcb63['currentPath']=_0x573017[_0x1a4e('0x64')];},'createDefaultDirectories':function(){_0x3fcb63[_0x1a4e('0x57cf')](_0x1a4e('0x5835')),_0x3fcb63[_0x1a4e('0x57cf')]('/home'),_0x3fcb63[_0x1a4e('0x57cf')](_0x1a4e('0x5836'));},'createDefaultDevices':function(){var _0x49a8c2;if(_0x3fcb63['mkdir'](_0x1a4e('0x5837')),_0x3fcb63['registerDevice'](_0x3fcb63[_0x1a4e('0x5838')](0x1,0x3),{'read':function(){return 0x0;},'write':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){return _0x49c546;}}),_0x3fcb63[_0x1a4e('0x5839')](_0x1a4e('0x583a'),_0x3fcb63[_0x1a4e('0x5838')](0x1,0x3)),_0x12f133['register'](_0x3fcb63[_0x1a4e('0x5838')](0x5,0x0),_0x12f133[_0x1a4e('0x583b')]),_0x12f133['register'](_0x3fcb63[_0x1a4e('0x5838')](0x6,0x0),_0x12f133['default_tty1_ops']),_0x3fcb63[_0x1a4e('0x5839')](_0x1a4e('0x583c'),_0x3fcb63[_0x1a4e('0x5838')](0x5,0x0)),_0x3fcb63[_0x1a4e('0x5839')](_0x1a4e('0x583d'),_0x3fcb63[_0x1a4e('0x5838')](0x6,0x0)),_0x1a4e('0x85')===(_0x1a4e('0x3')==typeof crypto?_0x1a4e('0x3'):_0xa87129(crypto))&&_0x1a4e('0x68')==typeof crypto[_0x1a4e('0xa29')]){var _0x573017=new Uint8Array(0x1);_0x49a8c2=function(){return crypto[_0x1a4e('0xa29')](_0x573017),_0x573017[0x0];};}else if(_0x3ea29d)try{var _0x49c546=_0x126074(_0x1a4e('0x1b56'));_0x49a8c2=function(){return _0x49c546[_0x1a4e('0xa2b')](0x1)[0x0];};}catch(_0x3b9c23){}_0x49a8c2||(_0x49a8c2=function(){_0xda4f67(_0x1a4e('0x583e'));}),_0x3fcb63['createDevice']('/dev',_0x1a4e('0x12e'),_0x49a8c2),_0x3fcb63['createDevice'](_0x1a4e('0x5837'),'urandom',_0x49a8c2),_0x3fcb63[_0x1a4e('0x57cf')](_0x1a4e('0x583f')),_0x3fcb63[_0x1a4e('0x57cf')](_0x1a4e('0x5840'));},'createSpecialDirectories':function(){_0x3fcb63[_0x1a4e('0x57cf')]('/proc'),_0x3fcb63['mkdir'](_0x1a4e('0x5841')),_0x3fcb63[_0x1a4e('0x57cf')](_0x1a4e('0x5842')),_0x3fcb63[_0x1a4e('0x128b')]({'mount':function(){var _0x49a8c2=_0x3fcb63[_0x1a4e('0x460')](_0x1a4e('0x5841'),'fd',0x41ff,0x49);return _0x49a8c2['node_ops']={'lookup':function(_0x49a8c2,_0x573017){var _0x126074=+_0x573017,_0x49c546=_0x3fcb63[_0x1a4e('0x581f')](_0x126074);if(!_0x49c546)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);var _0x480629={'parent':null,'mount':{'mountpoint':_0x1a4e('0x5843')},'node_ops':{'readlink':function(){return _0x49c546[_0x1a4e('0x64')];}}};return _0x480629[_0x1a4e('0x11c')]=_0x480629,_0x480629;}},_0x49a8c2;}},{},_0x1a4e('0x5842'));},'createStandardStreams':function(){_0x2060bd[_0x1a4e('0x5790')]?_0x3fcb63[_0x1a4e('0x5844')](_0x1a4e('0x5837'),_0x1a4e('0x5790'),_0x2060bd[_0x1a4e('0x5790')]):_0x3fcb63[_0x1a4e('0x5845')](_0x1a4e('0x583c'),_0x1a4e('0x5846')),_0x2060bd[_0x1a4e('0x13bf')]?_0x3fcb63[_0x1a4e('0x5844')]('/dev',_0x1a4e('0x13bf'),null,_0x2060bd[_0x1a4e('0x13bf')]):_0x3fcb63[_0x1a4e('0x5845')](_0x1a4e('0x583c'),'/dev/stdout'),_0x2060bd[_0x1a4e('0x13c0')]?_0x3fcb63['createDevice'](_0x1a4e('0x5837'),_0x1a4e('0x13c0'),null,_0x2060bd['stderr']):_0x3fcb63[_0x1a4e('0x5845')]('/dev/tty1','/dev/stderr');_0x3fcb63[_0x1a4e('0x12bc')](_0x1a4e('0x5846'),'r'),_0x3fcb63['open'](_0x1a4e('0x5847'),'w'),_0x3fcb63[_0x1a4e('0x12bc')](_0x1a4e('0x5848'),'w');},'ensureErrnoError':function(){_0x3fcb63['ErrnoError']||(_0x3fcb63[_0x1a4e('0x578c')]=function(_0x49a8c2,_0x573017){this[_0x1a4e('0x80')]=_0x573017,this[_0x1a4e('0x5849')]=function(_0x49a8c2){this[_0x1a4e('0x57e4')]=_0x49a8c2;},this['setErrno'](_0x49a8c2),this[_0x1a4e('0x133')]=_0x1a4e('0x584a'),this['stack']&&Object[_0x1a4e('0x2')](this,'stack',{'value':new Error()[_0x1a4e('0x2cd')],'writable':!0x0});},_0x3fcb63[_0x1a4e('0x578c')]['prototype']=new Error(),_0x3fcb63[_0x1a4e('0x578c')]['prototype'][_0x1a4e('0x10')]=_0x3fcb63['ErrnoError'],[0x2][_0x1a4e('0x3b')](function(_0x49a8c2){_0x3fcb63['genericErrors'][_0x49a8c2]=new _0x3fcb63[(_0x1a4e('0x578c'))](_0x49a8c2),_0x3fcb63[_0x1a4e('0x57b0')][_0x49a8c2][_0x1a4e('0x2cd')]='';}));},'staticInit':function(){_0x3fcb63[_0x1a4e('0x584b')](),_0x3fcb63['nameTable']=new Array(0x1000),_0x3fcb63[_0x1a4e('0x128b')](_0x28cfb5,{},'/'),_0x3fcb63[_0x1a4e('0x584c')](),_0x3fcb63[_0x1a4e('0x584d')](),_0x3fcb63[_0x1a4e('0x584e')](),_0x3fcb63[_0x1a4e('0x584f')]={'MEMFS':_0x28cfb5,'IDBFS':_0x272a4f,'NODEFS':_0x2ae021,'WORKERFS':_0x3581dd};},'init':function(_0x49a8c2,_0x573017,_0x126074){_0x3fcb63[_0x1a4e('0x1fd')][_0x1a4e('0x3d55')]=!0x0,_0x3fcb63[_0x1a4e('0x584b')](),_0x2060bd[_0x1a4e('0x5790')]=_0x49a8c2||_0x2060bd[_0x1a4e('0x5790')],_0x2060bd[_0x1a4e('0x13bf')]=_0x573017||_0x2060bd[_0x1a4e('0x13bf')],_0x2060bd['stderr']=_0x126074||_0x2060bd[_0x1a4e('0x13c0')],_0x3fcb63[_0x1a4e('0x5850')]();},'quit':function(){_0x3fcb63[_0x1a4e('0x1fd')][_0x1a4e('0x3d55')]=!0x1;var _0x49a8c2=_0x2060bd[_0x1a4e('0x5851')];_0x49a8c2&&_0x49a8c2(0x0);for(var _0x573017=0x0;_0x573017<_0x3fcb63[_0x1a4e('0x5804')][_0x1a4e('0x1e')];_0x573017++){var _0x126074=_0x3fcb63[_0x1a4e('0x5804')][_0x573017];_0x126074&&_0x3fcb63[_0x1a4e('0x139b')](_0x126074);}},'getMode':function(_0x49a8c2,_0x573017){var _0x126074=0x0;return _0x49a8c2&&(_0x126074|=0x16d),_0x573017&&(_0x126074|=0x92),_0x126074;},'joinPath':function(_0x49a8c2,_0x573017){var _0x126074=_0x243fd7['join'][_0x1a4e('0x8b')](null,_0x49a8c2);return _0x573017&&'/'==_0x126074[0x0]&&(_0x126074=_0x126074['substr'](0x1)),_0x126074;},'absolutePath':function(_0x49a8c2,_0x573017){return _0x203e7e[_0x1a4e('0xe20')](_0x573017,_0x49a8c2);},'standardizePath':function(_0x49a8c2){return _0x243fd7['normalize'](_0x49a8c2);},'findObject':function(_0x49a8c2,_0x573017){var _0x126074=_0x3fcb63[_0x1a4e('0x5852')](_0x49a8c2,_0x573017);return _0x126074['exists']?_0x126074[_0x1a4e('0x85')]:(_0x4087cd(_0x126074[_0x1a4e('0x873')]),null);},'analyzePath':function(_0x49a8c2,_0x573017){try{_0x49a8c2=(_0x49c546=_0x3fcb63['lookupPath'](_0x49a8c2,{'follow':!_0x573017}))[_0x1a4e('0x64')];}catch(_0x3eab3d){}var _0x126074={'isRoot':!0x1,'exists':!0x1,'error':0x0,'name':null,'path':null,'object':null,'parentExists':!0x1,'parentPath':null,'parentObject':null};try{var _0x49c546=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'parent':!0x0});_0x126074['parentExists']=!0x0,_0x126074[_0x1a4e('0x5853')]=_0x49c546[_0x1a4e('0x64')],_0x126074[_0x1a4e('0x5854')]=_0x49c546[_0x1a4e('0x80')],_0x126074[_0x1a4e('0x2cb')]=_0x243fd7[_0x1a4e('0x5810')](_0x49a8c2),_0x49c546=_0x3fcb63[_0x1a4e('0x57cc')](_0x49a8c2,{'follow':!_0x573017}),_0x126074[_0x1a4e('0x5855')]=!0x0,_0x126074['path']=_0x49c546[_0x1a4e('0x64')],_0x126074['object']=_0x49c546[_0x1a4e('0x80')],_0x126074[_0x1a4e('0x2cb')]=_0x49c546['node'][_0x1a4e('0x2cb')],_0x126074[_0x1a4e('0x5856')]='/'===_0x49c546['path'];}catch(_0x33f51d){_0x126074[_0x1a4e('0x873')]=_0x33f51d[_0x1a4e('0x57e4')];}return _0x126074;},'createFolder':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){var _0x480629=_0x243fd7[_0x1a4e('0x57c6')](_0x1a4e('0x9')==typeof _0x49a8c2?_0x49a8c2:_0x3fcb63[_0x1a4e('0x581e')](_0x49a8c2),_0x573017),_0x19248f=_0x3fcb63['getMode'](_0x126074,_0x49c546);return _0x3fcb63[_0x1a4e('0x57cf')](_0x480629,_0x19248f);},'createPath':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){_0x49a8c2='string'==typeof _0x49a8c2?_0x49a8c2:_0x3fcb63['getPath'](_0x49a8c2);for(var _0x480629=_0x573017[_0x1a4e('0x2be')]('/')[_0x1a4e('0x9b')]();_0x480629['length'];){var _0x19248f=_0x480629[_0x1a4e('0x76')]();if(_0x19248f){var _0x5c2b6f=_0x243fd7[_0x1a4e('0x57c6')](_0x49a8c2,_0x19248f);try{_0x3fcb63[_0x1a4e('0x57cf')](_0x5c2b6f);}catch(_0x606a36){}_0x49a8c2=_0x5c2b6f;}}return _0x5c2b6f;},'createFile':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){var _0x19248f=_0x243fd7[_0x1a4e('0x57c6')](_0x1a4e('0x9')==typeof _0x49a8c2?_0x49a8c2:_0x3fcb63[_0x1a4e('0x581e')](_0x49a8c2),_0x573017),_0x5c2b6f=_0x3fcb63[_0x1a4e('0x57e1')](_0x49c546,_0x480629);return _0x3fcb63[_0x1a4e('0x7')](_0x19248f,_0x5c2b6f);},'createDataFile':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f){var _0x5c2b6f=_0x573017?_0x243fd7[_0x1a4e('0x57c6')](_0x1a4e('0x9')==typeof _0x49a8c2?_0x49a8c2:_0x3fcb63[_0x1a4e('0x581e')](_0x49a8c2),_0x573017):_0x49a8c2,_0xa87129=_0x3fcb63['getMode'](_0x49c546,_0x480629),_0x2060bd=_0x3fcb63['create'](_0x5c2b6f,_0xa87129);if(_0x126074){if('string'==typeof _0x126074){for(var _0x3a5d4f=new Array(_0x126074['length']),_0x1b855f=0x0,_0x2cd2bf=_0x126074[_0x1a4e('0x1e')];_0x1b855f<_0x2cd2bf;++_0x1b855f)_0x3a5d4f[_0x1b855f]=_0x126074[_0x1a4e('0x913')](_0x1b855f);_0x126074=_0x3a5d4f;}_0x3fcb63['chmod'](_0x2060bd,0x92|_0xa87129);var _0x3ea29d=_0x3fcb63['open'](_0x2060bd,'w');_0x3fcb63[_0x1a4e('0x146')](_0x3ea29d,_0x126074,0x0,_0x126074[_0x1a4e('0x1e')],0x0,_0x19248f),_0x3fcb63['close'](_0x3ea29d),_0x3fcb63[_0x1a4e('0x57d0')](_0x2060bd,_0xa87129);}return _0x2060bd;},'createDevice':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){var _0x480629=_0x243fd7[_0x1a4e('0x57c6')]('string'==typeof _0x49a8c2?_0x49a8c2:_0x3fcb63[_0x1a4e('0x581e')](_0x49a8c2),_0x573017),_0x19248f=_0x3fcb63['getMode'](!!_0x126074,!!_0x49c546);_0x3fcb63[_0x1a4e('0x5844')][_0x1a4e('0x1776')]||(_0x3fcb63['createDevice'][_0x1a4e('0x1776')]=0x40);var _0x5c2b6f=_0x3fcb63[_0x1a4e('0x5838')](_0x3fcb63[_0x1a4e('0x5844')][_0x1a4e('0x1776')]++,0x0);return _0x3fcb63[_0x1a4e('0x578b')](_0x5c2b6f,{'open':function(_0x49a8c2){_0x49a8c2[_0x1a4e('0x582e')]=!0x1;},'close':function(_0x49a8c2){_0x49c546&&_0x49c546[_0x1a4e('0x613')]&&_0x49c546[_0x1a4e('0x613')][_0x1a4e('0x1e')]&&_0x49c546(0xa);},'read':function(_0x49a8c2,_0x573017,_0x49c546,_0x480629,_0x19248f){for(var _0x5c2b6f=0x0,_0xa87129=0x0;_0xa87129<_0x480629;_0xa87129++){var _0x2060bd;try{_0x2060bd=_0x126074();}catch(_0x6e6bc0){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x5);}if(void 0x0===_0x2060bd&&0x0===_0x5c2b6f)throw new _0x3fcb63['ErrnoError'](0xb);if(null==_0x2060bd)break;_0x5c2b6f++,_0x573017[_0x49c546+_0xa87129]=_0x2060bd;}return _0x5c2b6f&&(_0x49a8c2[_0x1a4e('0x80')]['timestamp']=Date[_0x1a4e('0xe3f')]()),_0x5c2b6f;},'write':function(_0x49a8c2,_0x573017,_0x126074,_0x480629,_0x19248f){for(var _0x5c2b6f=0x0;_0x5c2b6f<_0x480629;_0x5c2b6f++)try{_0x49c546(_0x573017[_0x126074+_0x5c2b6f]);}catch(_0x147f53){throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x5);}return _0x480629&&(_0x49a8c2[_0x1a4e('0x80')][_0x1a4e('0x2f8e')]=Date['now']()),_0x5c2b6f;}}),_0x3fcb63[_0x1a4e('0x5839')](_0x480629,_0x19248f,_0x5c2b6f);},'createLink':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){var _0x19248f=_0x243fd7[_0x1a4e('0x57c6')](_0x1a4e('0x9')==typeof _0x49a8c2?_0x49a8c2:_0x3fcb63['getPath'](_0x49a8c2),_0x573017);return _0x3fcb63['symlink'](_0x126074,_0x19248f);},'forceLoadFile':function(_0x49a8c2){if(_0x49a8c2['isDevice']||_0x49a8c2['isFolder']||_0x49a8c2[_0x1a4e('0x57a3')]||_0x49a8c2[_0x1a4e('0x53b3')])return!0x0;var _0x573017=!0x0;if('undefined'!=typeof XMLHttpRequest)throw new Error(_0x1a4e('0x5857'));if(!_0x2060bd['read'])throw new Error(_0x1a4e('0x5858'));try{_0x49a8c2[_0x1a4e('0x53b3')]=_0x867ffb(_0x2060bd['read'](_0x49a8c2[_0x1a4e('0x15cf')]),!0x0),_0x49a8c2[_0x1a4e('0x57a2')]=_0x49a8c2['contents'][_0x1a4e('0x1e')];}catch(_0x120372){_0x573017=!0x1;}return _0x573017||_0x4087cd(0x5),_0x573017;},'createLazyFile':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){function _0x19248f(){this[_0x1a4e('0x5859')]=!0x1,this[_0x1a4e('0x585a')]=[];}if(_0x19248f['prototype'][_0x1a4e('0x179')]=function(_0x49a8c2){if(!(_0x49a8c2>this['length']-0x1||_0x49a8c2<0x0)){var _0x573017=_0x49a8c2%this[_0x1a4e('0xeb4')],_0x126074=_0x49a8c2/this[_0x1a4e('0xeb4')]|0x0;return this['getter'](_0x126074)[_0x573017];}},_0x19248f[_0x1a4e('0xa')][_0x1a4e('0x585b')]=function(_0x49a8c2){this[_0x1a4e('0x3187')]=_0x49a8c2;},_0x19248f[_0x1a4e('0xa')][_0x1a4e('0x585c')]=function(){var _0x49a8c2=new XMLHttpRequest();if(_0x49a8c2[_0x1a4e('0x12bc')]('HEAD',_0x126074,!0x1),_0x49a8c2[_0x1a4e('0x1626')](null),!(_0x49a8c2[_0x1a4e('0xe02')]>=0xc8&&_0x49a8c2['status']<0x12c||0x130===_0x49a8c2[_0x1a4e('0xe02')]))throw new Error(_0x1a4e('0x585d')+_0x126074+_0x1a4e('0x585e')+_0x49a8c2[_0x1a4e('0xe02')]);var _0x573017,_0x49c546=Number(_0x49a8c2['getResponseHeader'](_0x1a4e('0x585f'))),_0x480629=(_0x573017=_0x49a8c2['getResponseHeader'](_0x1a4e('0x5860')))&&_0x1a4e('0x5861')===_0x573017,_0x19248f=(_0x573017=_0x49a8c2[_0x1a4e('0x1638')]('Content-Encoding'))&&'gzip'===_0x573017,_0x5c2b6f=0x100000;_0x480629||(_0x5c2b6f=_0x49c546);var _0xa87129=this;_0xa87129[_0x1a4e('0x585b')](function(_0x49a8c2){var _0x573017=_0x49a8c2*_0x5c2b6f,_0x480629=(_0x49a8c2+0x1)*_0x5c2b6f-0x1;if(_0x480629=Math['min'](_0x480629,_0x49c546-0x1),void 0x0===_0xa87129[_0x1a4e('0x585a')][_0x49a8c2]&&(_0xa87129[_0x1a4e('0x585a')][_0x49a8c2]=function(_0x49a8c2,_0x573017){if(_0x49a8c2>_0x573017)throw new Error(_0x1a4e('0x5862')+_0x49a8c2+',\x20'+_0x573017+_0x1a4e('0x5863'));if(_0x573017>_0x49c546-0x1)throw new Error(_0x1a4e('0x5864')+_0x49c546+_0x1a4e('0x5865'));var _0x480629=new XMLHttpRequest();if(_0x480629['open'](_0x1a4e('0x1625'),_0x126074,!0x1),_0x49c546!==_0x5c2b6f&&_0x480629[_0x1a4e('0x4df2')](_0x1a4e('0x5866'),_0x1a4e('0x5867')+_0x49a8c2+'-'+_0x573017),_0x1a4e('0x3')!=typeof Uint8Array&&(_0x480629['responseType']=_0x1a4e('0x5755')),_0x480629[_0x1a4e('0x5868')]&&_0x480629[_0x1a4e('0x5868')]('text/plain;\x20charset=x-user-defined'),_0x480629['send'](null),!(_0x480629[_0x1a4e('0xe02')]>=0xc8&&_0x480629['status']<0x12c||0x130===_0x480629[_0x1a4e('0xe02')]))throw new Error('Couldn\x27t\x20load\x20'+_0x126074+_0x1a4e('0x585e')+_0x480629['status']);return void 0x0!==_0x480629['response']?new Uint8Array(_0x480629[_0x1a4e('0x41b8')]||[]):_0x867ffb(_0x480629[_0x1a4e('0x1628')]||'',!0x0);}(_0x573017,_0x480629)),void 0x0===_0xa87129[_0x1a4e('0x585a')][_0x49a8c2])throw new Error(_0x1a4e('0x5869'));return _0xa87129[_0x1a4e('0x585a')][_0x49a8c2];}),!_0x19248f&&_0x49c546||(_0x5c2b6f=_0x49c546=0x1,_0x49c546=this[_0x1a4e('0x3187')](0x0)[_0x1a4e('0x1e')],_0x5c2b6f=_0x49c546,console[_0x1a4e('0x58')]('LazyFiles\x20on\x20gzip\x20forces\x20download\x20of\x20the\x20whole\x20file\x20when\x20length\x20is\x20accessed')),this[_0x1a4e('0xdb0')]=_0x49c546,this[_0x1a4e('0x586a')]=_0x5c2b6f,this[_0x1a4e('0x5859')]=!0x0;},_0x1a4e('0x3')!=typeof XMLHttpRequest){if(!_0x2cd2bf)throw _0x1a4e('0x586b');var _0x5c2b6f=new _0x19248f();Object[_0x1a4e('0x1c8')](_0x5c2b6f,{'length':{'get':function(){return this[_0x1a4e('0x5859')]||this[_0x1a4e('0x585c')](),this[_0x1a4e('0xdb0')];}},'chunkSize':{'get':function(){return this[_0x1a4e('0x5859')]||this['cacheLength'](),this[_0x1a4e('0x586a')];}}});var _0xa87129={'isDevice':!0x1,'contents':_0x5c2b6f};}else _0xa87129={'isDevice':!0x1,'url':_0x126074};var _0x2060bd=_0x3fcb63[_0x1a4e('0x586c')](_0x49a8c2,_0x573017,_0xa87129,_0x49c546,_0x480629);_0xa87129[_0x1a4e('0x53b3')]?_0x2060bd[_0x1a4e('0x53b3')]=_0xa87129[_0x1a4e('0x53b3')]:_0xa87129[_0x1a4e('0x15cf')]&&(_0x2060bd['contents']=null,_0x2060bd[_0x1a4e('0x15cf')]=_0xa87129[_0x1a4e('0x15cf')]),Object[_0x1a4e('0x1c8')](_0x2060bd,{'usedBytes':{'get':function(){return this[_0x1a4e('0x53b3')][_0x1a4e('0x1e')];}}});var _0x3a5d4f={};return Object[_0x1a4e('0x56')](_0x2060bd[_0x1a4e('0x579a')])[_0x1a4e('0x3b')](function(_0x49a8c2){var _0x573017=_0x2060bd[_0x1a4e('0x579a')][_0x49a8c2];_0x3a5d4f[_0x49a8c2]=function(){if(!_0x3fcb63['forceLoadFile'](_0x2060bd))throw new _0x3fcb63['ErrnoError'](0x5);return _0x573017[_0x1a4e('0x8b')](null,arguments);};}),_0x3a5d4f[_0x1a4e('0x144')]=function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){if(!_0x3fcb63[_0x1a4e('0x586d')](_0x2060bd))throw new _0x3fcb63['ErrnoError'](0x5);var _0x19248f=_0x49a8c2['node'][_0x1a4e('0x53b3')];if(_0x480629>=_0x19248f['length'])return 0x0;var _0x5c2b6f=Math[_0x1a4e('0x74')](_0x19248f[_0x1a4e('0x1e')]-_0x480629,_0x49c546);if(_0x19248f[_0x1a4e('0x78')])for(var _0xa87129=0x0;_0xa87129<_0x5c2b6f;_0xa87129++)_0x573017[_0x126074+_0xa87129]=_0x19248f[_0x480629+_0xa87129];else for(_0xa87129=0x0;_0xa87129<_0x5c2b6f;_0xa87129++)_0x573017[_0x126074+_0xa87129]=_0x19248f[_0x1a4e('0x179')](_0x480629+_0xa87129);return _0x5c2b6f;},_0x2060bd[_0x1a4e('0x579a')]=_0x3a5d4f,_0x2060bd;},'createPreloadedFile':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f,_0x5c2b6f,_0xa87129,_0x3a5d4f,_0x1b855f){Browser[_0x1a4e('0x1fd')]();var _0x2cd2bf=_0x573017?_0x203e7e[_0x1a4e('0xe20')](_0x243fd7['join2'](_0x49a8c2,_0x573017)):_0x49a8c2;_0x524967(_0x1a4e('0x586e')+_0x2cd2bf);function _0x3ea29d(_0x126074){function _0x3ea29d(_0x126074){_0x1b855f&&_0x1b855f(),_0xa87129||_0x3fcb63[_0x1a4e('0x586f')](_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x3a5d4f),_0x19248f&&_0x19248f(),_0x727e8f();}var _0xa809df=!0x1;_0x2060bd[_0x1a4e('0x5870')]['forEach'](function(_0x49a8c2){_0xa809df||_0x49a8c2[_0x1a4e('0x5871')](_0x2cd2bf)&&(_0x49a8c2[_0x1a4e('0x5872')](_0x126074,_0x2cd2bf,_0x3ea29d,function(){_0x5c2b6f&&_0x5c2b6f(),_0x727e8f();}),_0xa809df=!0x0);}),_0xa809df||_0x3ea29d(_0x126074);}_0xc72ba(),_0x1a4e('0x9')==typeof _0x126074?Browser[_0x1a4e('0x5873')](_0x126074,function(_0x49a8c2){_0x3ea29d(_0x49a8c2);},_0x5c2b6f):_0x3ea29d(_0x126074);},'indexedDB':function(){return window['indexedDB']||window[_0x1a4e('0x57b4')]||window[_0x1a4e('0x57b5')]||window[_0x1a4e('0x5874')];},'DB_NAME':function(){return _0x1a4e('0x5875')+window[_0x1a4e('0xbc')][_0x1a4e('0x159a')];},'DB_VERSION':0x14,'DB_STORE_NAME':_0x1a4e('0x57b7'),'saveFilesToDB':function(_0x49a8c2,_0x573017,_0x126074){_0x573017=_0x573017||function(){},_0x126074=_0x126074||function(){};var _0x49c546=_0x3fcb63[_0x1a4e('0x57b3')]();try{var _0x480629=_0x49c546['open'](_0x3fcb63['DB_NAME'](),_0x3fcb63[_0x1a4e('0x57bc')]);}catch(_0x1162bc){return _0x126074(_0x1162bc);}_0x480629[_0x1a4e('0x57be')]=function(){console[_0x1a4e('0x58')](_0x1a4e('0x5876')),_0x480629['result'][_0x1a4e('0x57c3')](_0x3fcb63[_0x1a4e('0x57c1')]);},_0x480629[_0x1a4e('0x57c5')]=function(){var _0x49c546=_0x480629[_0x1a4e('0x13f')]['transaction']([_0x3fcb63[_0x1a4e('0x57c1')]],_0x1a4e('0x57d3')),_0x19248f=_0x49c546[_0x1a4e('0x57c2')](_0x3fcb63[_0x1a4e('0x57c1')]),_0x5c2b6f=0x0,_0xa87129=0x0,_0x2060bd=_0x49a8c2['length'];function _0x3a5d4f(){0x0==_0xa87129?_0x573017():_0x126074();}_0x49a8c2[_0x1a4e('0x3b')](function(_0x49a8c2){var _0x573017=_0x19248f[_0x1a4e('0x35a')](_0x3fcb63[_0x1a4e('0x5852')](_0x49a8c2)[_0x1a4e('0x85')][_0x1a4e('0x53b3')],_0x49a8c2);_0x573017['onsuccess']=function(){++_0x5c2b6f+_0xa87129==_0x2060bd&&_0x3a5d4f();},_0x573017[_0x1a4e('0x1338')]=function(){_0x5c2b6f+ ++_0xa87129==_0x2060bd&&_0x3a5d4f();};}),_0x49c546[_0x1a4e('0x1338')]=_0x126074;},_0x480629['onerror']=_0x126074;},'loadFilesFromDB':function(_0x49a8c2,_0x573017,_0x126074){_0x573017=_0x573017||function(){},_0x126074=_0x126074||function(){};var _0x49c546=_0x3fcb63['indexedDB']();try{var _0x480629=_0x49c546['open'](_0x3fcb63[_0x1a4e('0x5877')](),_0x3fcb63[_0x1a4e('0x57bc')]);}catch(_0x10d693){return _0x126074(_0x10d693);}_0x480629[_0x1a4e('0x57be')]=_0x126074,_0x480629[_0x1a4e('0x57c5')]=function(){var _0x49c546=_0x480629[_0x1a4e('0x13f')];try{var _0x19248f=_0x49c546[_0x1a4e('0x57bf')]([_0x3fcb63[_0x1a4e('0x57c1')]],'readonly');}catch(_0x57cd8b){return void _0x126074(_0x57cd8b);}var _0x5c2b6f=_0x19248f[_0x1a4e('0x57c2')](_0x3fcb63[_0x1a4e('0x57c1')]),_0xa87129=0x0,_0x2060bd=0x0,_0x3a5d4f=_0x49a8c2[_0x1a4e('0x1e')];function _0x1b855f(){0x0==_0x2060bd?_0x573017():_0x126074();}_0x49a8c2['forEach'](function(_0x49a8c2){var _0x573017=_0x5c2b6f[_0x1a4e('0x179')](_0x49a8c2);_0x573017[_0x1a4e('0x57c5')]=function(){_0x3fcb63['analyzePath'](_0x49a8c2)[_0x1a4e('0x5855')]&&_0x3fcb63[_0x1a4e('0x57d2')](_0x49a8c2),_0x3fcb63[_0x1a4e('0x586f')](_0x243fd7['dirname'](_0x49a8c2),_0x243fd7[_0x1a4e('0x5810')](_0x49a8c2),_0x573017['result'],!0x0,!0x0,!0x0),++_0xa87129+_0x2060bd==_0x3a5d4f&&_0x1b855f();},_0x573017[_0x1a4e('0x1338')]=function(){_0xa87129+ ++_0x2060bd==_0x3a5d4f&&_0x1b855f();};}),_0x19248f[_0x1a4e('0x1338')]=_0x126074;},_0x480629[_0x1a4e('0x1338')]=_0x126074;}},_0x587b44={'DEFAULT_POLLMASK':0x5,'mappings':{},'umask':0x1ff,'calculateAt':function(_0x49a8c2,_0x573017){if('/'!==_0x573017[0x0]){var _0x126074;if(-0x64===_0x49a8c2)_0x126074=_0x3fcb63[_0x1a4e('0x1140')]();else{var _0x49c546=_0x3fcb63[_0x1a4e('0x581f')](_0x49a8c2);if(!_0x49c546)throw new _0x3fcb63['ErrnoError'](0x9);_0x126074=_0x49c546[_0x1a4e('0x64')];}_0x573017=_0x243fd7[_0x1a4e('0x57c6')](_0x126074,_0x573017);}return _0x573017;},'doStat':function(_0x49a8c2,_0x573017,_0x126074){try{var _0x49c546=_0x49a8c2(_0x573017);}catch(_0xc1e72c){if(_0xc1e72c&&_0xc1e72c[_0x1a4e('0x80')]&&_0x243fd7['normalize'](_0x573017)!==_0x243fd7['normalize'](_0x3fcb63[_0x1a4e('0x581e')](_0xc1e72c[_0x1a4e('0x80')])))return-0x14;throw _0xc1e72c;}return _0x1160b5[_0x126074>>0x2]=_0x49c546[_0x1a4e('0x57a5')],_0x1160b5[_0x126074+0x4>>0x2]=0x0,_0x1160b5[_0x126074+0x8>>0x2]=_0x49c546[_0x1a4e('0x5878')],_0x1160b5[_0x126074+0xc>>0x2]=_0x49c546[_0x1a4e('0xa69')],_0x1160b5[_0x126074+0x10>>0x2]=_0x49c546[_0x1a4e('0x57a7')],_0x1160b5[_0x126074+0x14>>0x2]=_0x49c546['uid'],_0x1160b5[_0x126074+0x18>>0x2]=_0x49c546['gid'],_0x1160b5[_0x126074+0x1c>>0x2]=_0x49c546[_0x1a4e('0x57aa')],_0x1160b5[_0x126074+0x20>>0x2]=0x0,tempI64=[_0x49c546[_0x1a4e('0x220')]>>>0x0,(tempDouble=_0x49c546[_0x1a4e('0x220')],+_0x44a793(tempDouble)>=0x1?tempDouble>0x0?(0x0|_0x3602bf(+_0x55f392(tempDouble/0x100000000),0xffffffff))>>>0x0:~~+_0x1088ff((tempDouble-+(~~tempDouble>>>0x0))/0x100000000)>>>0x0:0x0)],_0x1160b5[_0x126074+0x28>>0x2]=tempI64[0x0],_0x1160b5[_0x126074+0x2c>>0x2]=tempI64[0x1],_0x1160b5[_0x126074+0x30>>0x2]=0x1000,_0x1160b5[_0x126074+0x34>>0x2]=_0x49c546['blocks'],_0x1160b5[_0x126074+0x38>>0x2]=_0x49c546['atime'][_0x1a4e('0xe9')]()/0x3e8|0x0,_0x1160b5[_0x126074+0x3c>>0x2]=0x0,_0x1160b5[_0x126074+0x40>>0x2]=_0x49c546['mtime'][_0x1a4e('0xe9')]()/0x3e8|0x0,_0x1160b5[_0x126074+0x44>>0x2]=0x0,_0x1160b5[_0x126074+0x48>>0x2]=_0x49c546['ctime'][_0x1a4e('0xe9')]()/0x3e8|0x0,_0x1160b5[_0x126074+0x4c>>0x2]=0x0,tempI64=[_0x49c546['ino']>>>0x0,(tempDouble=_0x49c546[_0x1a4e('0x5878')],+_0x44a793(tempDouble)>=0x1?tempDouble>0x0?(0x0|_0x3602bf(+_0x55f392(tempDouble/0x100000000),0xffffffff))>>>0x0:~~+_0x1088ff((tempDouble-+(~~tempDouble>>>0x0))/0x100000000)>>>0x0:0x0)],_0x1160b5[_0x126074+0x50>>0x2]=tempI64[0x0],_0x1160b5[_0x126074+0x54>>0x2]=tempI64[0x1],0x0;},'doMsync':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){var _0x480629=new Uint8Array(_0x1b2e81[_0x1a4e('0xad8')](_0x49a8c2,_0x49a8c2+_0x126074));_0x3fcb63[_0x1a4e('0x579e')](_0x573017,_0x480629,0x0,_0x126074,_0x49c546);},'doMkdir':function(_0x49a8c2,_0x573017){return'/'===(_0x49a8c2=_0x243fd7[_0x1a4e('0x330')](_0x49a8c2))[_0x49a8c2[_0x1a4e('0x1e')]-0x1]&&(_0x49a8c2=_0x49a8c2[_0x1a4e('0x254')](0x0,_0x49a8c2[_0x1a4e('0x1e')]-0x1)),_0x3fcb63['mkdir'](_0x49a8c2,_0x573017,0x0),0x0;},'doMknod':function(_0x49a8c2,_0x573017,_0x126074){switch(0xf000&_0x573017){case 0x8000:case 0x2000:case 0x6000:case 0x1000:case 0xc000:break;default:return-0x16;}return _0x3fcb63[_0x1a4e('0x5812')](_0x49a8c2,_0x573017,_0x126074),0x0;},'doReadlink':function(_0x49a8c2,_0x573017,_0x126074){if(_0x126074<=0x0)return-0x16;var _0x49c546=_0x3fcb63[_0x1a4e('0x579f')](_0x49a8c2),_0x480629=Math[_0x1a4e('0x74')](_0x126074,_0x3a1867(_0x49c546)),_0x19248f=_0x47d83d[_0x573017+_0x480629];return _0x15f6ba(_0x49c546,_0x573017,_0x126074+0x1),_0x47d83d[_0x573017+_0x480629]=_0x19248f,_0x480629;},'doAccess':function(_0x49a8c2,_0x573017){if(-0x8&_0x573017)return-0x16;var _0x126074;_0x126074=_0x3fcb63['lookupPath'](_0x49a8c2,{'follow':!0x0})[_0x1a4e('0x80')];var _0x49c546='';return 0x4&_0x573017&&(_0x49c546+='r'),0x2&_0x573017&&(_0x49c546+='w'),0x1&_0x573017&&(_0x49c546+='x'),_0x49c546&&_0x3fcb63['nodePermissions'](_0x126074,_0x49c546)?-0xd:0x0;},'doDup':function(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x3fcb63[_0x1a4e('0x581f')](_0x126074);return _0x49c546&&_0x3fcb63['close'](_0x49c546),_0x3fcb63[_0x1a4e('0x12bc')](_0x49a8c2,_0x573017,0x0,_0x126074,_0x126074)['fd'];},'doReadv':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){for(var _0x480629=0x0,_0x19248f=0x0;_0x19248f<_0x126074;_0x19248f++){var _0x5c2b6f=_0x1160b5[_0x573017+0x8*_0x19248f>>0x2],_0xa87129=_0x1160b5[_0x573017+(0x8*_0x19248f+0x4)>>0x2],_0x2060bd=_0x3fcb63['read'](_0x49a8c2,_0x47d83d,_0x5c2b6f,_0xa87129,_0x49c546);if(_0x2060bd<0x0)return-0x1;if(_0x480629+=_0x2060bd,_0x2060bd<_0xa87129)break;}return _0x480629;},'doWritev':function(_0x49a8c2,_0x573017,_0x126074,_0x49c546){for(var _0x480629=0x0,_0x19248f=0x0;_0x19248f<_0x126074;_0x19248f++){var _0x5c2b6f=_0x1160b5[_0x573017+0x8*_0x19248f>>0x2],_0xa87129=_0x1160b5[_0x573017+(0x8*_0x19248f+0x4)>>0x2],_0x2060bd=_0x3fcb63[_0x1a4e('0x146')](_0x49a8c2,_0x47d83d,_0x5c2b6f,_0xa87129,_0x49c546);if(_0x2060bd<0x0)return-0x1;_0x480629+=_0x2060bd;}return _0x480629;},'varargs':0x0,'get':function(_0x49a8c2){return _0x587b44[_0x1a4e('0x5879')]+=0x4,_0x1160b5[_0x587b44['varargs']-0x4>>0x2];},'getStr':function(){return _0x3a4026(_0x587b44[_0x1a4e('0x179')]());},'getStreamFromFD':function(){var _0x49a8c2=_0x3fcb63[_0x1a4e('0x581f')](_0x587b44[_0x1a4e('0x179')]());if(!_0x49a8c2)throw new _0x3fcb63[(_0x1a4e('0x578c'))](0x9);return _0x49a8c2;},'get64':function(){var _0x49a8c2=_0x587b44['get']();_0x587b44[_0x1a4e('0x179')]();return _0x49a8c2;},'getZero':function(){_0x587b44[_0x1a4e('0x179')]();}};function _0x1f108c(_0x49a8c2,_0x573017){_0x587b44[_0x1a4e('0x5879')]=_0x573017;try{var _0x126074=_0x587b44[_0x1a4e('0x587a')](),_0x49c546=_0x587b44[_0x1a4e('0x179')](),_0x480629=_0x587b44['get'](),_0x19248f=_0x587b44['get'](),_0x5c2b6f=_0x587b44['get'](),_0xa87129=0x100000000*_0x49c546+(_0x480629>>>0x0);return _0xa87129<=-0x20000000000000||_0xa87129>=0x20000000000000?-0x4b:(_0x3fcb63[_0x1a4e('0x579b')](_0x126074,_0xa87129,_0x5c2b6f),tempI64=[_0x126074['position']>>>0x0,(tempDouble=_0x126074[_0x1a4e('0x3553')],+_0x44a793(tempDouble)>=0x1?tempDouble>0x0?(0x0|_0x3602bf(+_0x55f392(tempDouble/0x100000000),0xffffffff))>>>0x0:~~+_0x1088ff((tempDouble-+(~~tempDouble>>>0x0))/0x100000000)>>>0x0:0x0)],_0x1160b5[_0x19248f>>0x2]=tempI64[0x0],_0x1160b5[_0x19248f+0x4>>0x2]=tempI64[0x1],_0x126074[_0x1a4e('0x582b')]&&0x0===_0xa87129&&0x0===_0x5c2b6f&&(_0x126074[_0x1a4e('0x582b')]=null),0x0);}catch(_0x5b1352){return void 0x0!==_0x3fcb63&&_0x5b1352 instanceof _0x3fcb63[_0x1a4e('0x578c')]||_0xda4f67(_0x5b1352),-_0x5b1352[_0x1a4e('0x57e4')];}}function _0x4f9e40(_0x49a8c2,_0x573017){_0x587b44[_0x1a4e('0x5879')]=_0x573017;try{var _0x126074=_0x587b44['getStreamFromFD'](),_0x49c546=_0x587b44['get'](),_0x480629=_0x587b44[_0x1a4e('0x179')]();return _0x587b44[_0x1a4e('0x587b')](_0x126074,_0x49c546,_0x480629);}catch(_0x1648c3){return void 0x0!==_0x3fcb63&&_0x1648c3 instanceof _0x3fcb63[_0x1a4e('0x578c')]||_0xda4f67(_0x1648c3),-_0x1648c3[_0x1a4e('0x57e4')];}}function _0x3e64d8(_0x49a8c2,_0x573017){_0x587b44[_0x1a4e('0x5879')]=_0x573017;try{var _0x126074=_0x587b44[_0x1a4e('0x587a')](),_0x49c546=_0x587b44[_0x1a4e('0x179')](),_0x480629=_0x587b44[_0x1a4e('0x179')]();return _0x587b44[_0x1a4e('0x587c')](_0x126074,_0x49c546,_0x480629);}catch(_0x56106d){return void 0x0!==_0x3fcb63&&_0x56106d instanceof _0x3fcb63[_0x1a4e('0x578c')]||_0xda4f67(_0x56106d),-_0x56106d[_0x1a4e('0x57e4')];}}function _0x28b7af(_0x49a8c2,_0x573017){_0x587b44[_0x1a4e('0x5879')]=_0x573017;try{var _0x126074=_0x587b44[_0x1a4e('0x587a')](),_0x49c546=_0x587b44[_0x1a4e('0x179')]();switch(_0x49c546){case 0x5405:case 0x5401:return _0x126074['tty']?0x0:-0x19;case 0x5406:case 0x5407:case 0x5408:case 0x5402:case 0x5403:case 0x5404:return _0x126074[_0x1a4e('0x578d')]?0x0:-0x19;case 0x540f:if(!_0x126074[_0x1a4e('0x578d')])return-0x19;var _0x480629=_0x587b44[_0x1a4e('0x179')]();return _0x1160b5[_0x480629>>0x2]=0x0,0x0;case 0x5410:return _0x126074[_0x1a4e('0x578d')]?-0x16:-0x19;case 0x541b:_0x480629=_0x587b44[_0x1a4e('0x179')]();return _0x3fcb63[_0x1a4e('0x5831')](_0x126074,_0x49c546,_0x480629);case 0x5413:case 0x5414:return _0x126074[_0x1a4e('0x578d')]?0x0:-0x19;default:_0xda4f67(_0x1a4e('0x587d')+_0x49c546);}}catch(_0x2a5027){return void 0x0!==_0x3fcb63&&_0x2a5027 instanceof _0x3fcb63['ErrnoError']||_0xda4f67(_0x2a5027),-_0x2a5027[_0x1a4e('0x57e4')];}}function _0x353cad(_0x49a8c2,_0x573017){_0x587b44['varargs']=_0x573017;try{var _0x126074=_0x587b44['getStreamFromFD']();return _0x3fcb63['close'](_0x126074),0x0;}catch(_0x15bc8b){return void 0x0!==_0x3fcb63&&_0x15bc8b instanceof _0x3fcb63[_0x1a4e('0x578c')]||_0xda4f67(_0x15bc8b),-_0x15bc8b[_0x1a4e('0x57e4')];}}function _0x252733(_0x49a8c2,_0x573017){_0x587b44[_0x1a4e('0x5879')]=_0x573017;try{var _0x126074=_0x587b44[_0x1a4e('0x179')](),_0x49c546=_0x587b44[_0x1a4e('0x179')](),_0x480629=_0x587b44[_0x1a4e('0x15c8')][_0x126074];if(!_0x480629)return 0x0;if(_0x49c546===_0x480629[_0x1a4e('0x587e')]){var _0x19248f=_0x3fcb63['getStream'](_0x480629['fd']);_0x587b44['doMsync'](_0x126074,_0x19248f,_0x49c546,_0x480629[_0x1a4e('0x7b2')]),_0x3fcb63[_0x1a4e('0x587f')](_0x19248f),_0x587b44['mappings'][_0x126074]=null,_0x480629[_0x1a4e('0x5880')]&&_0x1c6606(_0x480629[_0x1a4e('0x5881')]);}return 0x0;}catch(_0x451773){return void 0x0!==_0x3fcb63&&_0x451773 instanceof _0x3fcb63[_0x1a4e('0x578c')]||_0xda4f67(_0x451773),-_0x451773[_0x1a4e('0x57e4')];}}function _0x3c6739(){}function _0x3d41bb(_0x49a8c2){switch(_0x49a8c2){case 0x1:return 0x0;case 0x2:return 0x1;case 0x4:return 0x2;case 0x8:return 0x3;default:throw new TypeError(_0x1a4e('0x5882')+_0x49a8c2);}}function _0x15aece(){for(var _0x49a8c2=new Array(0x100),_0x573017=0x0;_0x573017<0x100;++_0x573017)_0x49a8c2[_0x573017]=String[_0x1a4e('0x8fe')](_0x573017);_0x1d93d9=_0x49a8c2;}var _0x1d93d9=void 0x0;function _0x45a7f4(_0x49a8c2){for(var _0x573017='',_0x126074=_0x49a8c2;_0x1b2e81[_0x126074];)_0x573017+=_0x1d93d9[_0x1b2e81[_0x126074++]];return _0x573017;}var _0x117901={},_0x6ea5e8={},_0x2c5f26={},_0x5cc1c1=0x30,_0x42abc8=0x39;function _0x555f42(_0x49a8c2){if(void 0x0===_0x49a8c2)return _0x1a4e('0x5883');var _0x573017=(_0x49a8c2=_0x49a8c2['replace'](/[^a-zA-Z0-9_]/g,'$'))[_0x1a4e('0x913')](0x0);return _0x573017>=_0x5cc1c1&&_0x573017<=_0x42abc8?'_'+_0x49a8c2:_0x49a8c2;}function _0x6fa715(_0x49a8c2,_0x573017){return _0x49a8c2=_0x555f42(_0x49a8c2),new Function(_0x1a4e('0x8f2'),'return\x20function\x20'+_0x49a8c2+_0x1a4e('0x5884'))(_0x573017);}function _0x2e6380(_0x49a8c2,_0x573017){var _0x126074=_0x6fa715(_0x573017,function(_0x49a8c2){this[_0x1a4e('0x2cb')]=_0x573017,this[_0x1a4e('0x133')]=_0x49a8c2;var _0x126074=new Error(_0x49a8c2)['stack'];void 0x0!==_0x126074&&(this[_0x1a4e('0x2cd')]=this['toString']()+'\x0a'+_0x126074[_0x1a4e('0x115')](/^Error(:[^\n]*)?\n/,''));});return _0x126074['prototype']=Object[_0x1a4e('0x7')](_0x49a8c2[_0x1a4e('0xa')]),_0x126074['prototype']['constructor']=_0x126074,_0x126074[_0x1a4e('0xa')][_0x1a4e('0x95')]=function(){return void 0x0===this[_0x1a4e('0x133')]?this['name']:this['name']+':\x20'+this['message'];},_0x126074;}var _0x54b821=void 0x0;function _0x19f1f4(_0x49a8c2){throw new _0x54b821(_0x49a8c2);}var _0x45b999=void 0x0;function _0x47f16b(_0x49a8c2){throw new _0x45b999(_0x49a8c2);}function _0x1f2990(_0x49a8c2,_0x573017,_0x126074){function _0x49c546(_0x573017){var _0x49c546=_0x126074(_0x573017);_0x49c546[_0x1a4e('0x1e')]!==_0x49a8c2[_0x1a4e('0x1e')]&&_0x47f16b('Mismatched\x20type\x20converter\x20count');for(var _0x480629=0x0;_0x480629<_0x49a8c2[_0x1a4e('0x1e')];++_0x480629)_0x35ffb0(_0x49a8c2[_0x480629],_0x49c546[_0x480629]);}_0x49a8c2[_0x1a4e('0x3b')](function(_0x49a8c2){_0x2c5f26[_0x49a8c2]=_0x573017;});var _0x480629=new Array(_0x573017[_0x1a4e('0x1e')]),_0x19248f=[],_0x5c2b6f=0x0;_0x573017[_0x1a4e('0x3b')](function(_0x49a8c2,_0x573017){_0x6ea5e8[_0x1a4e('0xb')](_0x49a8c2)?_0x480629[_0x573017]=_0x6ea5e8[_0x49a8c2]:(_0x19248f[_0x1a4e('0x46')](_0x49a8c2),_0x117901[_0x1a4e('0xb')](_0x49a8c2)||(_0x117901[_0x49a8c2]=[]),_0x117901[_0x49a8c2]['push'](function(){_0x480629[_0x573017]=_0x6ea5e8[_0x49a8c2],++_0x5c2b6f===_0x19248f[_0x1a4e('0x1e')]&&_0x49c546(_0x480629);}));}),0x0===_0x19248f[_0x1a4e('0x1e')]&&_0x49c546(_0x480629);}function _0x35ffb0(_0x49a8c2,_0x573017,_0x126074){if(_0x126074=_0x126074||{},!('argPackAdvance'in _0x573017))throw new TypeError(_0x1a4e('0x5885'));var _0x49c546=_0x573017[_0x1a4e('0x2cb')];if(_0x49a8c2||_0x19f1f4(_0x1a4e('0x5886')+_0x49c546+_0x1a4e('0x5887')),_0x6ea5e8[_0x1a4e('0xb')](_0x49a8c2)){if(_0x126074['ignoreDuplicateRegistrations'])return;_0x19f1f4(_0x1a4e('0x5888')+_0x49c546+_0x1a4e('0x5889'));}if(_0x6ea5e8[_0x49a8c2]=_0x573017,delete _0x2c5f26[_0x49a8c2],_0x117901[_0x1a4e('0xb')](_0x49a8c2)){var _0x480629=_0x117901[_0x49a8c2];delete _0x117901[_0x49a8c2],_0x480629[_0x1a4e('0x3b')](function(_0x49a8c2){_0x49a8c2();});}}function _0x15b39e(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){var _0x19248f=_0x3d41bb(_0x126074);_0x35ffb0(_0x49a8c2,{'name':_0x573017=_0x45a7f4(_0x573017),'fromWireType':function(_0x49a8c2){return!!_0x49a8c2;},'toWireType':function(_0x49a8c2,_0x573017){return _0x573017?_0x49c546:_0x480629;},'argPackAdvance':0x8,'readValueFromPointer':function(_0x49a8c2){var _0x49c546;if(0x1===_0x126074)_0x49c546=_0x47d83d;else if(0x2===_0x126074)_0x49c546=_0x522f0f;else{if(0x4!==_0x126074)throw new TypeError(_0x1a4e('0x588a')+_0x573017);_0x49c546=_0x1160b5;}return this[_0x1a4e('0x588b')](_0x49c546[_0x49a8c2>>_0x19248f]);},'destructorFunction':null});}function _0x4f5f95(_0x49a8c2){if(!(this instanceof _0x19d2e7))return!0x1;if(!(_0x49a8c2 instanceof _0x19d2e7))return!0x1;for(var _0x573017=this['$$'][_0x1a4e('0x588c')][_0x1a4e('0x588d')],_0x126074=this['$$'][_0x1a4e('0x588e')],_0x49c546=_0x49a8c2['$$'][_0x1a4e('0x588c')]['registeredClass'],_0x480629=_0x49a8c2['$$'][_0x1a4e('0x588e')];_0x573017[_0x1a4e('0x588f')];)_0x126074=_0x573017[_0x1a4e('0x5890')](_0x126074),_0x573017=_0x573017[_0x1a4e('0x588f')];for(;_0x49c546[_0x1a4e('0x588f')];)_0x480629=_0x49c546[_0x1a4e('0x5890')](_0x480629),_0x49c546=_0x49c546[_0x1a4e('0x588f')];return _0x573017===_0x49c546&&_0x126074===_0x480629;}function _0x23662f(_0x49a8c2){return{'count':_0x49a8c2[_0x1a4e('0x389')],'deleteScheduled':_0x49a8c2['deleteScheduled'],'preservePointerOnDelete':_0x49a8c2['preservePointerOnDelete'],'ptr':_0x49a8c2[_0x1a4e('0x588e')],'ptrType':_0x49a8c2[_0x1a4e('0x588c')],'smartPtr':_0x49a8c2[_0x1a4e('0x5891')],'smartPtrType':_0x49a8c2[_0x1a4e('0x5892')]};}function _0x1798b3(_0x49a8c2){_0x19f1f4(_0x49a8c2['$$'][_0x1a4e('0x588c')]['registeredClass'][_0x1a4e('0x2cb')]+_0x1a4e('0x5893'));}var _0x4d23d9=!0x1;function _0x38987a(_0x49a8c2){}function _0x27115b(_0x49a8c2){_0x49a8c2[_0x1a4e('0x5891')]?_0x49a8c2[_0x1a4e('0x5892')][_0x1a4e('0x5894')](_0x49a8c2[_0x1a4e('0x5891')]):_0x49a8c2[_0x1a4e('0x588c')][_0x1a4e('0x588d')]['rawDestructor'](_0x49a8c2[_0x1a4e('0x588e')]);}function _0x2e9c40(_0x49a8c2){_0x49a8c2[_0x1a4e('0x389')][_0x1a4e('0x255')]-=0x1,0x0===_0x49a8c2['count'][_0x1a4e('0x255')]&&_0x27115b(_0x49a8c2);}function _0x17da7a(_0x49a8c2){return _0x1a4e('0x3')==typeof FinalizationGroup?(_0x17da7a=function(_0x49a8c2){return _0x49a8c2;},_0x49a8c2):(_0x4d23d9=new FinalizationGroup(function(_0x49a8c2){for(var _0x573017=_0x49a8c2[_0x1a4e('0x7e')]();!_0x573017[_0x1a4e('0x3c2')];_0x573017=_0x49a8c2[_0x1a4e('0x7e')]()){var _0x126074=_0x573017[_0x1a4e('0x255')];_0x126074[_0x1a4e('0x588e')]?_0x2e9c40(_0x126074):console[_0x1a4e('0xe3c')]('object\x20already\x20deleted:\x20'+_0x126074[_0x1a4e('0x588e')]);}}),_0x38987a=function(_0x49a8c2){_0x4d23d9['unregister'](_0x49a8c2['$$']);},(_0x17da7a=function(_0x49a8c2){return _0x4d23d9[_0x1a4e('0x2ebf')](_0x49a8c2,_0x49a8c2['$$'],_0x49a8c2['$$']),_0x49a8c2;})(_0x49a8c2));}function _0x4f7b55(){if(this['$$'][_0x1a4e('0x588e')]||_0x1798b3(this),this['$$'][_0x1a4e('0x5895')])return this['$$'][_0x1a4e('0x389')]['value']+=0x1,this;var _0x49a8c2=_0x17da7a(Object[_0x1a4e('0x7')](Object[_0x1a4e('0xd98')](this),{'$$':{'value':_0x23662f(this['$$'])}}));return _0x49a8c2['$$'][_0x1a4e('0x389')]['value']+=0x1,_0x49a8c2['$$']['deleteScheduled']=!0x1,_0x49a8c2;}function _0x58bbde(){this['$$'][_0x1a4e('0x588e')]||_0x1798b3(this),this['$$']['deleteScheduled']&&!this['$$'][_0x1a4e('0x5895')]&&_0x19f1f4(_0x1a4e('0x5896')),_0x38987a(this),_0x2e9c40(this['$$']),this['$$'][_0x1a4e('0x5895')]||(this['$$'][_0x1a4e('0x5891')]=void 0x0,this['$$'][_0x1a4e('0x588e')]=void 0x0);}function _0x4aaa9b(){return!this['$$']['ptr'];}var _0x1395f2=void 0x0,_0x23e3e5=[];function _0x42696f(){for(;_0x23e3e5[_0x1a4e('0x1e')];){var _0x49a8c2=_0x23e3e5[_0x1a4e('0x76')]();_0x49a8c2['$$'][_0x1a4e('0x5897')]=!0x1,_0x49a8c2['delete']();}}function _0x280bb1(){return this['$$'][_0x1a4e('0x588e')]||_0x1798b3(this),this['$$'][_0x1a4e('0x5897')]&&!this['$$'][_0x1a4e('0x5895')]&&_0x19f1f4(_0x1a4e('0x5896')),_0x23e3e5['push'](this),0x1===_0x23e3e5['length']&&_0x1395f2&&_0x1395f2(_0x42696f),this['$$'][_0x1a4e('0x5897')]=!0x0,this;}function _0x2323f7(){_0x19d2e7[_0x1a4e('0xa')][_0x1a4e('0x5898')]=_0x4f5f95,_0x19d2e7[_0x1a4e('0xa')]['clone']=_0x4f7b55,_0x19d2e7[_0x1a4e('0xa')]['delete']=_0x58bbde,_0x19d2e7['prototype'][_0x1a4e('0x5899')]=_0x4aaa9b,_0x19d2e7['prototype'][_0x1a4e('0x589a')]=_0x280bb1;}function _0x19d2e7(){}var _0x2b898f={};function _0x3085b8(_0x49a8c2,_0x573017,_0x126074){if(void 0x0===_0x49a8c2[_0x573017][_0x1a4e('0x589b')]){var _0x49c546=_0x49a8c2[_0x573017];_0x49a8c2[_0x573017]=function(){return _0x49a8c2[_0x573017][_0x1a4e('0x589b')]['hasOwnProperty'](arguments[_0x1a4e('0x1e')])||_0x19f1f4(_0x1a4e('0x589c')+_0x126074+'\x27\x20called\x20with\x20an\x20invalid\x20number\x20of\x20arguments\x20('+arguments[_0x1a4e('0x1e')]+_0x1a4e('0x589d')+_0x49a8c2[_0x573017][_0x1a4e('0x589b')]+')!'),_0x49a8c2[_0x573017][_0x1a4e('0x589b')][arguments[_0x1a4e('0x1e')]][_0x1a4e('0x8b')](this,arguments);},_0x49a8c2[_0x573017][_0x1a4e('0x589b')]=[],_0x49a8c2[_0x573017][_0x1a4e('0x589b')][_0x49c546[_0x1a4e('0x589e')]]=_0x49c546;}}function _0x55e900(_0x49a8c2,_0x573017,_0x126074){_0x2060bd[_0x1a4e('0xb')](_0x49a8c2)?((void 0x0===_0x126074||void 0x0!==_0x2060bd[_0x49a8c2]['overloadTable']&&void 0x0!==_0x2060bd[_0x49a8c2][_0x1a4e('0x589b')][_0x126074])&&_0x19f1f4(_0x1a4e('0x589f')+_0x49a8c2+_0x1a4e('0x5889')),_0x3085b8(_0x2060bd,_0x49a8c2,_0x49a8c2),_0x2060bd[_0x1a4e('0xb')](_0x126074)&&_0x19f1f4('Cannot\x20register\x20multiple\x20overloads\x20of\x20a\x20function\x20with\x20the\x20same\x20number\x20of\x20arguments\x20('+_0x126074+')!'),_0x2060bd[_0x49a8c2][_0x1a4e('0x589b')][_0x126074]=_0x573017):(_0x2060bd[_0x49a8c2]=_0x573017,void 0x0!==_0x126074&&(_0x2060bd[_0x49a8c2]['numArguments']=_0x126074));}function _0x2ce596(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f,_0x5c2b6f,_0xa87129){this[_0x1a4e('0x2cb')]=_0x49a8c2,this[_0x1a4e('0x10')]=_0x573017,this[_0x1a4e('0x58a0')]=_0x126074,this['rawDestructor']=_0x49c546,this[_0x1a4e('0x588f')]=_0x480629,this['getActualType']=_0x19248f,this[_0x1a4e('0x5890')]=_0x5c2b6f,this[_0x1a4e('0x58a1')]=_0xa87129,this[_0x1a4e('0x58a2')]=[];}function _0x474cc7(_0x49a8c2,_0x573017,_0x126074){for(;_0x573017!==_0x126074;)_0x573017[_0x1a4e('0x5890')]||_0x19f1f4('Expected\x20null\x20or\x20instance\x20of\x20'+_0x126074[_0x1a4e('0x2cb')]+_0x1a4e('0x58a3')+_0x573017['name']),_0x49a8c2=_0x573017[_0x1a4e('0x5890')](_0x49a8c2),_0x573017=_0x573017[_0x1a4e('0x588f')];return _0x49a8c2;}function _0x289648(_0x49a8c2,_0x573017){if(null===_0x573017)return this[_0x1a4e('0x58a4')]&&_0x19f1f4(_0x1a4e('0x58a5')+this[_0x1a4e('0x2cb')]),0x0;_0x573017['$$']||_0x19f1f4('Cannot\x20pass\x20\x22'+_0x1b27b2(_0x573017)+_0x1a4e('0x58a6')+this[_0x1a4e('0x2cb')]),_0x573017['$$'][_0x1a4e('0x588e')]||_0x19f1f4(_0x1a4e('0x58a7')+this[_0x1a4e('0x2cb')]);var _0x126074=_0x573017['$$'][_0x1a4e('0x588c')][_0x1a4e('0x588d')];return _0x474cc7(_0x573017['$$']['ptr'],_0x126074,this[_0x1a4e('0x588d')]);}function _0x413118(_0x49a8c2,_0x573017){var _0x126074;if(null===_0x573017)return this[_0x1a4e('0x58a4')]&&_0x19f1f4(_0x1a4e('0x58a5')+this[_0x1a4e('0x2cb')]),this[_0x1a4e('0x58a8')]?(_0x126074=this[_0x1a4e('0x58a9')](),null!==_0x49a8c2&&_0x49a8c2[_0x1a4e('0x46')](this[_0x1a4e('0x5894')],_0x126074),_0x126074):0x0;_0x573017['$$']||_0x19f1f4(_0x1a4e('0x58aa')+_0x1b27b2(_0x573017)+_0x1a4e('0x58a6')+this[_0x1a4e('0x2cb')]),_0x573017['$$']['ptr']||_0x19f1f4(_0x1a4e('0x58a7')+this['name']),!this[_0x1a4e('0x58ab')]&&_0x573017['$$'][_0x1a4e('0x588c')]['isConst']&&_0x19f1f4(_0x1a4e('0x58ac')+(_0x573017['$$'][_0x1a4e('0x5892')]?_0x573017['$$'][_0x1a4e('0x5892')][_0x1a4e('0x2cb')]:_0x573017['$$'][_0x1a4e('0x588c')][_0x1a4e('0x2cb')])+_0x1a4e('0x58ad')+this['name']);var _0x49c546=_0x573017['$$']['ptrType'][_0x1a4e('0x588d')];if(_0x126074=_0x474cc7(_0x573017['$$'][_0x1a4e('0x588e')],_0x49c546,this[_0x1a4e('0x588d')]),this[_0x1a4e('0x58a8')])switch(void 0x0===_0x573017['$$'][_0x1a4e('0x5891')]&&_0x19f1f4('Passing\x20raw\x20pointer\x20to\x20smart\x20pointer\x20is\x20illegal'),this[_0x1a4e('0x58ae')]){case 0x0:_0x573017['$$'][_0x1a4e('0x5892')]===this?_0x126074=_0x573017['$$'][_0x1a4e('0x5891')]:_0x19f1f4('Cannot\x20convert\x20argument\x20of\x20type\x20'+(_0x573017['$$'][_0x1a4e('0x5892')]?_0x573017['$$'][_0x1a4e('0x5892')][_0x1a4e('0x2cb')]:_0x573017['$$']['ptrType'][_0x1a4e('0x2cb')])+_0x1a4e('0x58ad')+this[_0x1a4e('0x2cb')]);break;case 0x1:_0x126074=_0x573017['$$']['smartPtr'];break;case 0x2:if(_0x573017['$$']['smartPtrType']===this)_0x126074=_0x573017['$$'][_0x1a4e('0x5891')];else{var _0x480629=_0x573017[_0x1a4e('0x240')]();_0x126074=this['rawShare'](_0x126074,_0x30334e(function(){_0x480629[_0x1a4e('0xf4c')]();})),null!==_0x49a8c2&&_0x49a8c2['push'](this[_0x1a4e('0x5894')],_0x126074);}break;default:_0x19f1f4(_0x1a4e('0x58af'));}return _0x126074;}function _0x3ff9b0(_0x49a8c2,_0x573017){if(null===_0x573017)return this[_0x1a4e('0x58a4')]&&_0x19f1f4('null\x20is\x20not\x20a\x20valid\x20'+this[_0x1a4e('0x2cb')]),0x0;_0x573017['$$']||_0x19f1f4(_0x1a4e('0x58aa')+_0x1b27b2(_0x573017)+_0x1a4e('0x58a6')+this['name']),_0x573017['$$'][_0x1a4e('0x588e')]||_0x19f1f4('Cannot\x20pass\x20deleted\x20object\x20as\x20a\x20pointer\x20of\x20type\x20'+this[_0x1a4e('0x2cb')]),_0x573017['$$'][_0x1a4e('0x588c')][_0x1a4e('0x58ab')]&&_0x19f1f4('Cannot\x20convert\x20argument\x20of\x20type\x20'+_0x573017['$$']['ptrType']['name']+_0x1a4e('0x58ad')+this[_0x1a4e('0x2cb')]);var _0x126074=_0x573017['$$'][_0x1a4e('0x588c')]['registeredClass'];return _0x474cc7(_0x573017['$$'][_0x1a4e('0x588e')],_0x126074,this[_0x1a4e('0x588d')]);}function _0x191ddf(_0x49a8c2){return this[_0x1a4e('0x588b')](_0x10f0e0[_0x49a8c2>>0x2]);}function _0x4024cc(_0x49a8c2){return this[_0x1a4e('0x58b0')]&&(_0x49a8c2=this['rawGetPointee'](_0x49a8c2)),_0x49a8c2;}function _0x1b6870(_0x49a8c2){this[_0x1a4e('0x5894')]&&this[_0x1a4e('0x5894')](_0x49a8c2);}function _0x594357(_0x49a8c2){null!==_0x49a8c2&&_0x49a8c2[_0x1a4e('0xf4c')]();}function _0x1bec7a(_0x49a8c2,_0x573017,_0x126074){if(_0x573017===_0x126074)return _0x49a8c2;if(void 0x0===_0x126074['baseClass'])return null;var _0x49c546=_0x1bec7a(_0x49a8c2,_0x573017,_0x126074[_0x1a4e('0x588f')]);return null===_0x49c546?null:_0x126074[_0x1a4e('0x58a1')](_0x49c546);}function _0xbddcbf(){return Object[_0x1a4e('0x56')](_0xde2f8d)[_0x1a4e('0x1e')];}function _0x1f2c82(){var _0x49a8c2=[];for(var _0x573017 in _0xde2f8d)_0xde2f8d['hasOwnProperty'](_0x573017)&&_0x49a8c2['push'](_0xde2f8d[_0x573017]);return _0x49a8c2;}function _0x5cbfb7(_0x49a8c2){_0x1395f2=_0x49a8c2,_0x23e3e5[_0x1a4e('0x1e')]&&_0x1395f2&&_0x1395f2(_0x42696f);}function _0x26d4cd(){_0x2060bd[_0x1a4e('0x58b1')]=_0xbddcbf,_0x2060bd[_0x1a4e('0x58b2')]=_0x1f2c82,_0x2060bd['flushPendingDeletes']=_0x42696f,_0x2060bd[_0x1a4e('0x58b3')]=_0x5cbfb7;}var _0xde2f8d={};function _0x3db94f(_0x49a8c2,_0x573017){for(void 0x0===_0x573017&&_0x19f1f4(_0x1a4e('0x58b4'));_0x49a8c2['baseClass'];)_0x573017=_0x49a8c2[_0x1a4e('0x5890')](_0x573017),_0x49a8c2=_0x49a8c2[_0x1a4e('0x588f')];return _0x573017;}function _0x45b1ff(_0x49a8c2,_0x573017){return _0x573017=_0x3db94f(_0x49a8c2,_0x573017),_0xde2f8d[_0x573017];}function _0x35b1de(_0x49a8c2,_0x573017){return _0x573017[_0x1a4e('0x588c')]&&_0x573017[_0x1a4e('0x588e')]||_0x47f16b(_0x1a4e('0x58b5')),!!_0x573017['smartPtrType']!==!!_0x573017['smartPtr']&&_0x47f16b('Both\x20smartPtrType\x20and\x20smartPtr\x20must\x20be\x20specified'),_0x573017['count']={'value':0x1},_0x17da7a(Object['create'](_0x49a8c2,{'$$':{'value':_0x573017}}));}function _0x5cfca1(_0x49a8c2){var _0x573017=this['getPointee'](_0x49a8c2);if(!_0x573017)return this[_0x1a4e('0x58b6')](_0x49a8c2),null;var _0x126074=_0x45b1ff(this[_0x1a4e('0x588d')],_0x573017);if(void 0x0!==_0x126074){if(0x0===_0x126074['$$'][_0x1a4e('0x389')][_0x1a4e('0x255')])return _0x126074['$$']['ptr']=_0x573017,_0x126074['$$']['smartPtr']=_0x49a8c2,_0x126074[_0x1a4e('0x240')]();var _0x49c546=_0x126074[_0x1a4e('0x240')]();return this[_0x1a4e('0x58b6')](_0x49a8c2),_0x49c546;}function _0x480629(){return this['isSmartPointer']?_0x35b1de(this['registeredClass']['instancePrototype'],{'ptrType':this[_0x1a4e('0x58b7')],'ptr':_0x573017,'smartPtrType':this,'smartPtr':_0x49a8c2}):_0x35b1de(this[_0x1a4e('0x588d')][_0x1a4e('0x58a0')],{'ptrType':this,'ptr':_0x49a8c2});}var _0x19248f,_0x5c2b6f=this[_0x1a4e('0x588d')][_0x1a4e('0x58b8')](_0x573017),_0xa87129=_0x2b898f[_0x5c2b6f];if(!_0xa87129)return _0x480629['call'](this);_0x19248f=this[_0x1a4e('0x58ab')]?_0xa87129[_0x1a4e('0x58b9')]:_0xa87129[_0x1a4e('0x58ba')];var _0x2060bd=_0x1bec7a(_0x573017,this[_0x1a4e('0x588d')],_0x19248f['registeredClass']);return null===_0x2060bd?_0x480629['call'](this):this[_0x1a4e('0x58a8')]?_0x35b1de(_0x19248f[_0x1a4e('0x588d')][_0x1a4e('0x58a0')],{'ptrType':_0x19248f,'ptr':_0x2060bd,'smartPtrType':this,'smartPtr':_0x49a8c2}):_0x35b1de(_0x19248f[_0x1a4e('0x588d')][_0x1a4e('0x58a0')],{'ptrType':_0x19248f,'ptr':_0x2060bd});}function _0x486e11(){_0x4835be['prototype'][_0x1a4e('0x58bb')]=_0x4024cc,_0x4835be[_0x1a4e('0xa')][_0x1a4e('0x58b6')]=_0x1b6870,_0x4835be[_0x1a4e('0xa')]['argPackAdvance']=0x8,_0x4835be[_0x1a4e('0xa')][_0x1a4e('0x58bc')]=_0x191ddf,_0x4835be[_0x1a4e('0xa')]['deleteObject']=_0x594357,_0x4835be[_0x1a4e('0xa')][_0x1a4e('0x588b')]=_0x5cfca1;}function _0x4835be(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f,_0x5c2b6f,_0xa87129,_0x2060bd,_0x3a5d4f,_0x1b855f){this[_0x1a4e('0x2cb')]=_0x49a8c2,this[_0x1a4e('0x588d')]=_0x573017,this['isReference']=_0x126074,this[_0x1a4e('0x58ab')]=_0x49c546,this[_0x1a4e('0x58a8')]=_0x480629,this['pointeeType']=_0x19248f,this[_0x1a4e('0x58ae')]=_0x5c2b6f,this['rawGetPointee']=_0xa87129,this[_0x1a4e('0x58a9')]=_0x2060bd,this[_0x1a4e('0x58bd')]=_0x3a5d4f,this['rawDestructor']=_0x1b855f,_0x480629||void 0x0!==_0x573017[_0x1a4e('0x588f')]?this[_0x1a4e('0x58be')]=_0x413118:_0x49c546?(this[_0x1a4e('0x58be')]=_0x289648,this[_0x1a4e('0x58bf')]=null):(this['toWireType']=_0x3ff9b0,this[_0x1a4e('0x58bf')]=null);}function _0x18a0bf(_0x49a8c2,_0x573017,_0x126074){_0x2060bd[_0x1a4e('0xb')](_0x49a8c2)||_0x47f16b(_0x1a4e('0x58c0')),void 0x0!==_0x2060bd[_0x49a8c2][_0x1a4e('0x589b')]&&void 0x0!==_0x126074?_0x2060bd[_0x49a8c2][_0x1a4e('0x589b')][_0x126074]=_0x573017:(_0x2060bd[_0x49a8c2]=_0x573017,_0x2060bd[_0x49a8c2][_0x1a4e('0x589e')]=_0x126074);}function _0x59499d(_0x49a8c2,_0x573017){var _0x126074;if(_0x49a8c2=_0x45a7f4(_0x49a8c2),void 0x0!==_0x2060bd['FUNCTION_TABLE_'+_0x49a8c2])_0x126074=_0x2060bd[_0x1a4e('0x58c1')+_0x49a8c2][_0x573017];else if(_0x1a4e('0x3')!=typeof FUNCTION_TABLE)_0x126074=FUNCTION_TABLE[_0x573017];else{var _0x49c546=_0x2060bd[_0x1a4e('0x58c2')+_0x49a8c2];void 0x0===_0x49c546&&void 0x0===(_0x49c546=_0x2060bd['dynCall_'+_0x49a8c2[_0x1a4e('0x115')](/f/g,'d')])&&_0x19f1f4(_0x1a4e('0x58c3')+_0x49a8c2),_0x126074=function(_0x126074){for(var _0x49c546=[],_0x480629=0x1;_0x480629<_0x49a8c2[_0x1a4e('0x1e')];++_0x480629)_0x49c546['push']('a'+_0x480629);var _0x19248f=_0x1a4e('0x58c4')+_0x49a8c2+'_'+_0x573017+'('+_0x49c546[_0x1a4e('0x9e')](',\x20')+_0x1a4e('0x10d7');return _0x19248f+=_0x1a4e('0x58c5')+(_0x49c546[_0x1a4e('0x1e')]?',\x20':'')+_0x49c546[_0x1a4e('0x9e')](',\x20')+_0x1a4e('0x58c6'),_0x19248f+=_0x1a4e('0x58c7'),new Function(_0x1a4e('0x58c8'),_0x1a4e('0x58c9'),_0x19248f)(_0x126074,_0x573017);}(_0x49c546);}return _0x1a4e('0x68')!=typeof _0x126074&&_0x19f1f4('unknown\x20function\x20pointer\x20with\x20signature\x20'+_0x49a8c2+':\x20'+_0x573017),_0x126074;}var _0xa5ba72=void 0x0;function _0x172c16(_0x49a8c2){var _0x573017=_0x31250c(_0x49a8c2),_0x126074=_0x45a7f4(_0x573017);return _0x1c6606(_0x573017),_0x126074;}function _0x127788(_0x49a8c2,_0x573017){var _0x126074=[],_0x49c546={};throw _0x573017[_0x1a4e('0x3b')](function _0x49a8c2(_0x573017){_0x49c546[_0x573017]||_0x6ea5e8[_0x573017]||(_0x2c5f26[_0x573017]?_0x2c5f26[_0x573017]['forEach'](_0x49a8c2):(_0x126074[_0x1a4e('0x46')](_0x573017),_0x49c546[_0x573017]=!0x0));}),new _0xa5ba72(_0x49a8c2+':\x20'+_0x126074[_0x1a4e('0x21')](_0x172c16)[_0x1a4e('0x9e')]([',\x20']));}function _0x49aebe(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f,_0x5c2b6f,_0xa87129,_0x2060bd,_0x3a5d4f,_0x1b855f,_0x2cd2bf,_0x3ea29d){_0x1b855f=_0x45a7f4(_0x1b855f),_0x19248f=_0x59499d(_0x480629,_0x19248f),_0xa87129&&(_0xa87129=_0x59499d(_0x5c2b6f,_0xa87129)),_0x3a5d4f&&(_0x3a5d4f=_0x59499d(_0x2060bd,_0x3a5d4f)),_0x3ea29d=_0x59499d(_0x2cd2bf,_0x3ea29d);var _0xa809df=_0x555f42(_0x1b855f);_0x55e900(_0xa809df,function(){_0x127788(_0x1a4e('0x58ca')+_0x1b855f+_0x1a4e('0x58cb'),[_0x49c546]);}),_0x1f2990([_0x49a8c2,_0x573017,_0x126074],_0x49c546?[_0x49c546]:[],function(_0x573017){var _0x126074,_0x480629;_0x573017=_0x573017[0x0],_0x480629=_0x49c546?(_0x126074=_0x573017[_0x1a4e('0x588d')])[_0x1a4e('0x58a0')]:_0x19d2e7[_0x1a4e('0xa')];var _0x5c2b6f=_0x6fa715(_0xa809df,function(){if(Object['getPrototypeOf'](this)!==_0x2060bd)throw new _0x54b821(_0x1a4e('0x58cc')+_0x1b855f);if(void 0x0===_0x2cd2bf['constructor_body'])throw new _0x54b821(_0x1b855f+_0x1a4e('0x58cd'));var _0x49a8c2=_0x2cd2bf['constructor_body'][arguments['length']];if(void 0x0===_0x49a8c2)throw new _0x54b821(_0x1a4e('0x58ce')+_0x1b855f+_0x1a4e('0x58cf')+arguments[_0x1a4e('0x1e')]+_0x1a4e('0x58d0')+Object[_0x1a4e('0x56')](_0x2cd2bf[_0x1a4e('0x58d1')])[_0x1a4e('0x95')]()+')\x20parameters\x20instead!');return _0x49a8c2[_0x1a4e('0x8b')](this,arguments);}),_0x2060bd=Object[_0x1a4e('0x7')](_0x480629,{'constructor':{'value':_0x5c2b6f}});_0x5c2b6f[_0x1a4e('0xa')]=_0x2060bd;var _0x2cd2bf=new _0x2ce596(_0x1b855f,_0x5c2b6f,_0x2060bd,_0x3ea29d,_0x126074,_0x19248f,_0xa87129,_0x3a5d4f),_0x4b96c6=new _0x4835be(_0x1b855f,_0x2cd2bf,!0x0,!0x1,!0x1),_0x45a163=new _0x4835be(_0x1b855f+'*',_0x2cd2bf,!0x1,!0x1,!0x1),_0xe09b79=new _0x4835be(_0x1b855f+'\x20const*',_0x2cd2bf,!0x1,!0x0,!0x1);return _0x2b898f[_0x49a8c2]={'pointerType':_0x45a163,'constPointerType':_0xe09b79},_0x18a0bf(_0xa809df,_0x5c2b6f),[_0x4b96c6,_0x45a163,_0xe09b79];});}function _0x3805ea(_0x49a8c2,_0x573017){if(!(_0x49a8c2 instanceof Function))throw new TypeError(_0x1a4e('0x58d2')+(void 0x0===_0x49a8c2?_0x1a4e('0x3'):_0xa87129(_0x49a8c2))+_0x1a4e('0x58d3'));var _0x126074=_0x6fa715(_0x49a8c2[_0x1a4e('0x2cb')]||_0x1a4e('0x58d4'),function(){});_0x126074[_0x1a4e('0xa')]=_0x49a8c2[_0x1a4e('0xa')];var _0x49c546=new _0x126074(),_0x480629=_0x49a8c2[_0x1a4e('0x8b')](_0x49c546,_0x573017);return _0x480629 instanceof Object?_0x480629:_0x49c546;}function _0x289187(_0x49a8c2){for(;_0x49a8c2[_0x1a4e('0x1e')];){var _0x573017=_0x49a8c2[_0x1a4e('0x76')]();_0x49a8c2['pop']()(_0x573017);}}function _0x3ba14d(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){var _0x19248f=_0x573017[_0x1a4e('0x1e')];_0x19248f<0x2&&_0x19f1f4(_0x1a4e('0x58d5'));for(var _0x5c2b6f=null!==_0x573017[0x1]&&null!==_0x126074,_0xa87129=!0x1,_0x2060bd=0x1;_0x2060bd<_0x573017[_0x1a4e('0x1e')];++_0x2060bd)if(null!==_0x573017[_0x2060bd]&&void 0x0===_0x573017[_0x2060bd]['destructorFunction']){_0xa87129=!0x0;break;}var _0x3a5d4f=_0x1a4e('0x22b1')!==_0x573017[0x0][_0x1a4e('0x2cb')],_0x1b855f='',_0x2cd2bf='';for(_0x2060bd=0x0;_0x2060bd<_0x19248f-0x2;++_0x2060bd)_0x1b855f+=(0x0!==_0x2060bd?',\x20':'')+_0x1a4e('0x1363')+_0x2060bd,_0x2cd2bf+=(0x0!==_0x2060bd?',\x20':'')+_0x1a4e('0x1363')+_0x2060bd+'Wired';var _0x3ea29d=_0x1a4e('0x58d6')+_0x555f42(_0x49a8c2)+'('+_0x1b855f+')\x20{\x0aif\x20(arguments.length\x20!==\x20'+(_0x19248f-0x2)+')\x20{\x0athrowBindingError(\x27function\x20'+_0x49a8c2+_0x1a4e('0x58d7')+(_0x19248f-0x2)+_0x1a4e('0x58d8');_0xa87129&&(_0x3ea29d+=_0x1a4e('0x58d9'));var _0xa809df=_0xa87129?_0x1a4e('0x58da'):_0x1a4e('0xe7f'),_0x4b96c6=['throwBindingError','invoker','fn',_0x1a4e('0x58db'),_0x1a4e('0x58dc'),_0x1a4e('0x58dd')],_0x45a163=[_0x19f1f4,_0x49c546,_0x480629,_0x289187,_0x573017[0x0],_0x573017[0x1]];_0x5c2b6f&&(_0x3ea29d+=_0x1a4e('0x58de')+_0xa809df+_0x1a4e('0x58df'));for(_0x2060bd=0x0;_0x2060bd<_0x19248f-0x2;++_0x2060bd)_0x3ea29d+='var\x20arg'+_0x2060bd+_0x1a4e('0x58e0')+_0x2060bd+_0x1a4e('0x58e1')+_0xa809df+_0x1a4e('0x58e2')+_0x2060bd+_0x1a4e('0x58e3')+_0x573017[_0x2060bd+0x2]['name']+'\x0a',_0x4b96c6['push']('argType'+_0x2060bd),_0x45a163['push'](_0x573017[_0x2060bd+0x2]);if(_0x5c2b6f&&(_0x2cd2bf=_0x1a4e('0x58e4')+(_0x2cd2bf[_0x1a4e('0x1e')]>0x0?',\x20':'')+_0x2cd2bf),_0x3ea29d+=(_0x3a5d4f?_0x1a4e('0x58e5'):'')+_0x1a4e('0x58e6')+(_0x2cd2bf[_0x1a4e('0x1e')]>0x0?',\x20':'')+_0x2cd2bf+_0x1a4e('0x58c6'),_0xa87129)_0x3ea29d+=_0x1a4e('0x58e7');else for(_0x2060bd=_0x5c2b6f?0x1:0x2;_0x2060bd<_0x573017[_0x1a4e('0x1e')];++_0x2060bd){var _0xe09b79=0x1===_0x2060bd?_0x1a4e('0x58e4'):_0x1a4e('0x1363')+(_0x2060bd-0x2)+_0x1a4e('0x58e8');null!==_0x573017[_0x2060bd][_0x1a4e('0x58bf')]&&(_0x3ea29d+=_0xe09b79+_0x1a4e('0x58e9')+_0xe09b79+');\x20//\x20'+_0x573017[_0x2060bd][_0x1a4e('0x2cb')]+'\x0a',_0x4b96c6[_0x1a4e('0x46')](_0xe09b79+_0x1a4e('0x58ea')),_0x45a163[_0x1a4e('0x46')](_0x573017[_0x2060bd][_0x1a4e('0x58bf')]));}return _0x3a5d4f&&(_0x3ea29d+='var\x20ret\x20=\x20retType.fromWireType(rv);\x0areturn\x20ret;\x0a'),_0x3ea29d+='}\x0a',_0x4b96c6[_0x1a4e('0x46')](_0x3ea29d),_0x3805ea(Function,_0x4b96c6)[_0x1a4e('0x8b')](null,_0x45a163);}function _0x4c2d1c(_0x49a8c2,_0x573017){for(var _0x126074=[],_0x49c546=0x0;_0x49c546<_0x49a8c2;_0x49c546++)_0x126074[_0x1a4e('0x46')](_0x1160b5[(_0x573017>>0x2)+_0x49c546]);return _0x126074;}function _0x98d130(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f,_0x5c2b6f){var _0xa87129=_0x4c2d1c(_0x126074,_0x49c546);_0x573017=_0x45a7f4(_0x573017),_0x19248f=_0x59499d(_0x480629,_0x19248f),_0x1f2990([],[_0x49a8c2],function(_0x49a8c2){var _0x49c546=(_0x49a8c2=_0x49a8c2[0x0])['name']+'.'+_0x573017;function _0x480629(){_0x127788(_0x1a4e('0x58eb')+_0x49c546+'\x20due\x20to\x20unbound\x20types',_0xa87129);}var _0x2060bd=_0x49a8c2['registeredClass'][_0x1a4e('0x10')];return void 0x0===_0x2060bd[_0x573017]?(_0x480629[_0x1a4e('0x589e')]=_0x126074-0x1,_0x2060bd[_0x573017]=_0x480629):(_0x3085b8(_0x2060bd,_0x573017,_0x49c546),_0x2060bd[_0x573017][_0x1a4e('0x589b')][_0x126074-0x1]=_0x480629),_0x1f2990([],_0xa87129,function(_0x49a8c2){var _0x480629=[_0x49a8c2[0x0],null][_0x1a4e('0x9a')](_0x49a8c2[_0x1a4e('0x78')](0x1)),_0xa87129=_0x3ba14d(_0x49c546,_0x480629,null,_0x19248f,_0x5c2b6f);return void 0x0===_0x2060bd[_0x573017]['overloadTable']?(_0xa87129[_0x1a4e('0x589e')]=_0x126074-0x1,_0x2060bd[_0x573017]=_0xa87129):_0x2060bd[_0x573017]['overloadTable'][_0x126074-0x1]=_0xa87129,[];}),[];});}function _0x3849da(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f){var _0x5c2b6f=_0x4c2d1c(_0x573017,_0x126074);_0x480629=_0x59499d(_0x49c546,_0x480629),_0x1f2990([],[_0x49a8c2],function(_0x49a8c2){var _0x126074=_0x1a4e('0x58ec')+(_0x49a8c2=_0x49a8c2[0x0])[_0x1a4e('0x2cb')];if(void 0x0===_0x49a8c2[_0x1a4e('0x588d')][_0x1a4e('0x58d1')]&&(_0x49a8c2[_0x1a4e('0x588d')][_0x1a4e('0x58d1')]=[]),void 0x0!==_0x49a8c2[_0x1a4e('0x588d')][_0x1a4e('0x58d1')][_0x573017-0x1])throw new _0x54b821(_0x1a4e('0x58ed')+(_0x573017-0x1)+')\x20for\x20class\x20\x27'+_0x49a8c2[_0x1a4e('0x2cb')]+'\x27!\x20Overload\x20resolution\x20is\x20currently\x20only\x20performed\x20using\x20the\x20parameter\x20count,\x20not\x20actual\x20type\x20info!');return _0x49a8c2['registeredClass'][_0x1a4e('0x58d1')][_0x573017-0x1]=function(){_0x127788(_0x1a4e('0x58ca')+_0x49a8c2[_0x1a4e('0x2cb')]+_0x1a4e('0x58cb'),_0x5c2b6f);},_0x1f2990([],_0x5c2b6f,function(_0x49c546){return _0x49a8c2[_0x1a4e('0x588d')][_0x1a4e('0x58d1')][_0x573017-0x1]=function(){arguments[_0x1a4e('0x1e')]!==_0x573017-0x1&&_0x19f1f4(_0x126074+_0x1a4e('0x58ee')+arguments[_0x1a4e('0x1e')]+_0x1a4e('0x58ef')+(_0x573017-0x1));var _0x49a8c2=[],_0x5c2b6f=new Array(_0x573017);_0x5c2b6f[0x0]=_0x19248f;for(var _0xa87129=0x1;_0xa87129<_0x573017;++_0xa87129)_0x5c2b6f[_0xa87129]=_0x49c546[_0xa87129][_0x1a4e('0x58be')](_0x49a8c2,arguments[_0xa87129-0x1]);var _0x2060bd=_0x480629[_0x1a4e('0x8b')](null,_0x5c2b6f);return _0x289187(_0x49a8c2),_0x49c546[0x0]['fromWireType'](_0x2060bd);},[];}),[];});}function _0x57904b(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629,_0x19248f,_0x5c2b6f,_0xa87129){var _0x2060bd=_0x4c2d1c(_0x126074,_0x49c546);_0x573017=_0x45a7f4(_0x573017),_0x19248f=_0x59499d(_0x480629,_0x19248f),_0x1f2990([],[_0x49a8c2],function(_0x49a8c2){var _0x49c546=(_0x49a8c2=_0x49a8c2[0x0])[_0x1a4e('0x2cb')]+'.'+_0x573017;function _0x480629(){_0x127788('Cannot\x20call\x20'+_0x49c546+_0x1a4e('0x58cb'),_0x2060bd);}_0xa87129&&_0x49a8c2['registeredClass']['pureVirtualFunctions'][_0x1a4e('0x46')](_0x573017);var _0x3a5d4f=_0x49a8c2['registeredClass'][_0x1a4e('0x58a0')],_0x1b855f=_0x3a5d4f[_0x573017];return void 0x0===_0x1b855f||void 0x0===_0x1b855f[_0x1a4e('0x589b')]&&_0x1b855f[_0x1a4e('0x3158')]!==_0x49a8c2['name']&&_0x1b855f['argCount']===_0x126074-0x2?(_0x480629[_0x1a4e('0x589e')]=_0x126074-0x2,_0x480629[_0x1a4e('0x3158')]=_0x49a8c2[_0x1a4e('0x2cb')],_0x3a5d4f[_0x573017]=_0x480629):(_0x3085b8(_0x3a5d4f,_0x573017,_0x49c546),_0x3a5d4f[_0x573017][_0x1a4e('0x589b')][_0x126074-0x2]=_0x480629),_0x1f2990([],_0x2060bd,function(_0x480629){var _0xa87129=_0x3ba14d(_0x49c546,_0x480629,_0x49a8c2,_0x19248f,_0x5c2b6f);return void 0x0===_0x3a5d4f[_0x573017][_0x1a4e('0x589b')]?(_0xa87129[_0x1a4e('0x589e')]=_0x126074-0x2,_0x3a5d4f[_0x573017]=_0xa87129):_0x3a5d4f[_0x573017][_0x1a4e('0x589b')][_0x126074-0x2]=_0xa87129,[];}),[];});}var _0x8b95a7=[],_0x139e49=[{},{'value':void 0x0},{'value':null},{'value':!0x0},{'value':!0x1}];function _0x30cdb1(_0x49a8c2){_0x49a8c2>0x4&&0x0==--_0x139e49[_0x49a8c2]['refcount']&&(_0x139e49[_0x49a8c2]=void 0x0,_0x8b95a7[_0x1a4e('0x46')](_0x49a8c2));}function _0x3ec162(){for(var _0x49a8c2=0x0,_0x573017=0x5;_0x573017<_0x139e49['length'];++_0x573017)void 0x0!==_0x139e49[_0x573017]&&++_0x49a8c2;return _0x49a8c2;}function _0x1ed96a(){for(var _0x49a8c2=0x5;_0x49a8c2<_0x139e49['length'];++_0x49a8c2)if(void 0x0!==_0x139e49[_0x49a8c2])return _0x139e49[_0x49a8c2];return null;}function _0x285e3d(){_0x2060bd['count_emval_handles']=_0x3ec162,_0x2060bd[_0x1a4e('0x58f0')]=_0x1ed96a;}function _0x30334e(_0x49a8c2){switch(_0x49a8c2){case void 0x0:return 0x1;case null:return 0x2;case!0x0:return 0x3;case!0x1:return 0x4;default:var _0x573017=_0x8b95a7[_0x1a4e('0x1e')]?_0x8b95a7['pop']():_0x139e49[_0x1a4e('0x1e')];return _0x139e49[_0x573017]={'refcount':0x1,'value':_0x49a8c2},_0x573017;}}function _0x47073e(_0x49a8c2,_0x573017){_0x35ffb0(_0x49a8c2,{'name':_0x573017=_0x45a7f4(_0x573017),'fromWireType':function(_0x49a8c2){var _0x573017=_0x139e49[_0x49a8c2][_0x1a4e('0x255')];return _0x30cdb1(_0x49a8c2),_0x573017;},'toWireType':function(_0x49a8c2,_0x573017){return _0x30334e(_0x573017);},'argPackAdvance':0x8,'readValueFromPointer':_0x191ddf,'destructorFunction':null});}function _0x8f8d2e(_0x49a8c2,_0x573017,_0x126074){switch(_0x573017){case 0x0:return function(_0x49a8c2){var _0x573017=_0x126074?_0x47d83d:_0x1b2e81;return this[_0x1a4e('0x588b')](_0x573017[_0x49a8c2]);};case 0x1:return function(_0x49a8c2){var _0x573017=_0x126074?_0x522f0f:_0x1651e3;return this[_0x1a4e('0x588b')](_0x573017[_0x49a8c2>>0x1]);};case 0x2:return function(_0x49a8c2){var _0x573017=_0x126074?_0x1160b5:_0x10f0e0;return this[_0x1a4e('0x588b')](_0x573017[_0x49a8c2>>0x2]);};default:throw new TypeError('Unknown\x20integer\x20type:\x20'+_0x49a8c2);}}function _0x2312db(_0x49a8c2,_0x573017,_0x126074,_0x49c546){var _0x480629=_0x3d41bb(_0x126074);function _0x19248f(){}_0x573017=_0x45a7f4(_0x573017),_0x19248f[_0x1a4e('0x35b')]={},_0x35ffb0(_0x49a8c2,{'name':_0x573017,'constructor':_0x19248f,'fromWireType':function(_0x49a8c2){return this[_0x1a4e('0x10')][_0x1a4e('0x35b')][_0x49a8c2];},'toWireType':function(_0x49a8c2,_0x573017){return _0x573017[_0x1a4e('0x255')];},'argPackAdvance':0x8,'readValueFromPointer':_0x8f8d2e(_0x573017,_0x480629,_0x49c546),'destructorFunction':null}),_0x55e900(_0x573017,_0x19248f);}function _0x38a18b(_0x49a8c2,_0x573017){var _0x126074=_0x6ea5e8[_0x49a8c2];return void 0x0===_0x126074&&_0x19f1f4(_0x573017+_0x1a4e('0x58f1')+_0x172c16(_0x49a8c2)),_0x126074;}function _0x43af01(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x38a18b(_0x49a8c2,_0x1a4e('0x889'));_0x573017=_0x45a7f4(_0x573017);var _0x480629=_0x49c546[_0x1a4e('0x10')],_0x19248f=Object['create'](_0x49c546[_0x1a4e('0x10')][_0x1a4e('0xa')],{'value':{'value':_0x126074},'constructor':{'value':_0x6fa715(_0x49c546['name']+'_'+_0x573017,function(){})}});_0x480629['values'][_0x126074]=_0x19248f,_0x480629[_0x573017]=_0x19248f;}function _0x1b27b2(_0x49a8c2){if(null===_0x49a8c2)return _0x1a4e('0xe7f');var _0x573017=void 0x0===_0x49a8c2?_0x1a4e('0x3'):_0xa87129(_0x49a8c2);return _0x1a4e('0x85')===_0x573017||_0x1a4e('0xf12')===_0x573017||_0x1a4e('0x68')===_0x573017?_0x49a8c2['toString']():''+_0x49a8c2;}function _0x50773f(_0x49a8c2,_0x573017){switch(_0x573017){case 0x2:return function(_0x49a8c2){return this['fromWireType'](_0x134348[_0x49a8c2>>0x2]);};case 0x3:return function(_0x49a8c2){return this[_0x1a4e('0x588b')](_0x2e5bce[_0x49a8c2>>0x3]);};default:throw new TypeError('Unknown\x20float\x20type:\x20'+_0x49a8c2);}}function _0x40d115(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x3d41bb(_0x126074);_0x35ffb0(_0x49a8c2,{'name':_0x573017=_0x45a7f4(_0x573017),'fromWireType':function(_0x49a8c2){return _0x49a8c2;},'toWireType':function(_0x49a8c2,_0x573017){if('number'!=typeof _0x573017&&'boolean'!=typeof _0x573017)throw new TypeError(_0x1a4e('0x58f2')+_0x1b27b2(_0x573017)+'\x22\x20to\x20'+this[_0x1a4e('0x2cb')]);return _0x573017;},'argPackAdvance':0x8,'readValueFromPointer':_0x50773f(_0x573017,_0x49c546),'destructorFunction':null});}function _0x5aeaa9(_0x49a8c2,_0x573017,_0x126074){switch(_0x573017){case 0x0:return _0x126074?function(_0x49a8c2){return _0x47d83d[_0x49a8c2];}:function(_0x49a8c2){return _0x1b2e81[_0x49a8c2];};case 0x1:return _0x126074?function(_0x49a8c2){return _0x522f0f[_0x49a8c2>>0x1];}:function(_0x49a8c2){return _0x1651e3[_0x49a8c2>>0x1];};case 0x2:return _0x126074?function(_0x49a8c2){return _0x1160b5[_0x49a8c2>>0x2];}:function(_0x49a8c2){return _0x10f0e0[_0x49a8c2>>0x2];};default:throw new TypeError(_0x1a4e('0x58f3')+_0x49a8c2);}}function _0x28ffe9(_0x49a8c2,_0x573017,_0x126074,_0x49c546,_0x480629){_0x573017=_0x45a7f4(_0x573017),-0x1===_0x480629&&(_0x480629=0xffffffff);var _0x19248f=_0x3d41bb(_0x126074),_0x5c2b6f=function(_0x49a8c2){return _0x49a8c2;};if(0x0===_0x49c546){var _0xa87129=0x20-0x8*_0x126074;_0x5c2b6f=function(_0x49a8c2){return _0x49a8c2<<_0xa87129>>>_0xa87129;};}var _0x2060bd=-0x1!=_0x573017[_0x1a4e('0x3e')](_0x1a4e('0x58f4'));_0x35ffb0(_0x49a8c2,{'name':_0x573017,'fromWireType':_0x5c2b6f,'toWireType':function(_0x49a8c2,_0x126074){if(_0x1a4e('0x3d')!=typeof _0x126074&&_0x1a4e('0x34b')!=typeof _0x126074)throw new TypeError(_0x1a4e('0x58f2')+_0x1b27b2(_0x126074)+_0x1a4e('0x58f5')+this[_0x1a4e('0x2cb')]);if(_0x126074<_0x49c546||_0x126074>_0x480629)throw new TypeError(_0x1a4e('0x58f6')+_0x1b27b2(_0x126074)+'\x22\x20from\x20JS\x20side\x20to\x20C/C++\x20side\x20to\x20an\x20argument\x20of\x20type\x20\x22'+_0x573017+_0x1a4e('0x58f7')+_0x49c546+',\x20'+_0x480629+']!');return _0x2060bd?_0x126074>>>0x0:0x0|_0x126074;},'argPackAdvance':0x8,'readValueFromPointer':_0x5aeaa9(_0x573017,_0x19248f,0x0!==_0x49c546),'destructorFunction':null});}function _0x6ec292(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][_0x573017];function _0x480629(_0x49a8c2){var _0x573017=_0x10f0e0,_0x126074=_0x573017[_0x49a8c2>>=0x2],_0x480629=_0x573017[_0x49a8c2+0x1];return new _0x49c546(_0x573017[_0x1a4e('0x613')],_0x480629,_0x126074);}_0x35ffb0(_0x49a8c2,{'name':_0x126074=_0x45a7f4(_0x126074),'fromWireType':_0x480629,'argPackAdvance':0x8,'readValueFromPointer':_0x480629},{'ignoreDuplicateRegistrations':!0x0});}function _0x167238(_0x49a8c2,_0x573017){var _0x126074=_0x1a4e('0x58f8')===(_0x573017=_0x45a7f4(_0x573017));_0x35ffb0(_0x49a8c2,{'name':_0x573017,'fromWireType':function(_0x49a8c2){var _0x573017,_0x49c546=_0x10f0e0[_0x49a8c2>>0x2];if(_0x126074){var _0x480629=_0x1b2e81[_0x49a8c2+0x4+_0x49c546],_0x19248f=0x0;0x0!=_0x480629&&(_0x19248f=_0x480629,_0x1b2e81[_0x49a8c2+0x4+_0x49c546]=0x0);for(var _0x5c2b6f=_0x49a8c2+0x4,_0xa87129=0x0;_0xa87129<=_0x49c546;++_0xa87129){var _0x2060bd=_0x49a8c2+0x4+_0xa87129;if(0x0==_0x1b2e81[_0x2060bd]){var _0x3a5d4f=_0x3a4026(_0x5c2b6f);void 0x0===_0x573017?_0x573017=_0x3a5d4f:(_0x573017+=String[_0x1a4e('0x8fe')](0x0),_0x573017+=_0x3a5d4f),_0x5c2b6f=_0x2060bd+0x1;}}0x0!=_0x19248f&&(_0x1b2e81[_0x49a8c2+0x4+_0x49c546]=_0x19248f);}else{var _0x1b855f=new Array(_0x49c546);for(_0xa87129=0x0;_0xa87129<_0x49c546;++_0xa87129)_0x1b855f[_0xa87129]=String[_0x1a4e('0x8fe')](_0x1b2e81[_0x49a8c2+0x4+_0xa87129]);_0x573017=_0x1b855f[_0x1a4e('0x9e')]('');}return _0x1c6606(_0x49a8c2),_0x573017;},'toWireType':function(_0x49a8c2,_0x573017){_0x573017 instanceof ArrayBuffer&&(_0x573017=new Uint8Array(_0x573017));var _0x49c546=_0x1a4e('0x9')==typeof _0x573017;_0x49c546||_0x573017 instanceof Uint8Array||_0x573017 instanceof Uint8ClampedArray||_0x573017 instanceof Int8Array||_0x19f1f4(_0x1a4e('0x58f9'));var _0x480629=(_0x126074&&_0x49c546?function(){return _0x3a1867(_0x573017);}:function(){return _0x573017[_0x1a4e('0x1e')];})(),_0x19248f=_0x3c4083(0x4+_0x480629+0x1);if(_0x10f0e0[_0x19248f>>0x2]=_0x480629,_0x126074&&_0x49c546)_0x15f6ba(_0x573017,_0x19248f+0x4,_0x480629+0x1);else if(_0x49c546)for(var _0x5c2b6f=0x0;_0x5c2b6f<_0x480629;++_0x5c2b6f){var _0xa87129=_0x573017[_0x1a4e('0x913')](_0x5c2b6f);_0xa87129>0xff&&(_0x1c6606(_0x19248f),_0x19f1f4('String\x20has\x20UTF-16\x20code\x20units\x20that\x20do\x20not\x20fit\x20in\x208\x20bits')),_0x1b2e81[_0x19248f+0x4+_0x5c2b6f]=_0xa87129;}else for(_0x5c2b6f=0x0;_0x5c2b6f<_0x480629;++_0x5c2b6f)_0x1b2e81[_0x19248f+0x4+_0x5c2b6f]=_0x573017[_0x5c2b6f];return null!==_0x49a8c2&&_0x49a8c2['push'](_0x1c6606,_0x19248f),_0x19248f;},'argPackAdvance':0x8,'readValueFromPointer':_0x191ddf,'destructorFunction':function(_0x49a8c2){_0x1c6606(_0x49a8c2);}});}function _0x48844a(_0x49a8c2,_0x573017,_0x126074){var _0x49c546,_0x480629;_0x126074=_0x45a7f4(_0x126074),0x2===_0x573017?(_0x49c546=function(){return _0x1651e3;},_0x480629=0x1):0x4===_0x573017&&(_0x49c546=function(){return _0x10f0e0;},_0x480629=0x2),_0x35ffb0(_0x49a8c2,{'name':_0x126074,'fromWireType':function(_0x49a8c2){for(var _0x573017=_0x49c546(),_0x126074=_0x10f0e0[_0x49a8c2>>0x2],_0x19248f=new Array(_0x126074),_0x5c2b6f=_0x49a8c2+0x4>>_0x480629,_0xa87129=0x0;_0xa87129<_0x126074;++_0xa87129)_0x19248f[_0xa87129]=String[_0x1a4e('0x8fe')](_0x573017[_0x5c2b6f+_0xa87129]);return _0x1c6606(_0x49a8c2),_0x19248f[_0x1a4e('0x9e')]('');},'toWireType':function(_0x49a8c2,_0x126074){var _0x19248f=_0x49c546(),_0x5c2b6f=_0x126074[_0x1a4e('0x1e')],_0xa87129=_0x3c4083(0x4+_0x5c2b6f*_0x573017);_0x10f0e0[_0xa87129>>0x2]=_0x5c2b6f;for(var _0x2060bd=_0xa87129+0x4>>_0x480629,_0x3a5d4f=0x0;_0x3a5d4f<_0x5c2b6f;++_0x3a5d4f)_0x19248f[_0x2060bd+_0x3a5d4f]=_0x126074[_0x1a4e('0x913')](_0x3a5d4f);return null!==_0x49a8c2&&_0x49a8c2[_0x1a4e('0x46')](_0x1c6606,_0xa87129),_0xa87129;},'argPackAdvance':0x8,'readValueFromPointer':_0x191ddf,'destructorFunction':function(_0x49a8c2){_0x1c6606(_0x49a8c2);}});}function _0x8348dc(_0x49a8c2,_0x573017){_0x35ffb0(_0x49a8c2,{'isVoid':!0x0,'name':_0x573017=_0x45a7f4(_0x573017),'argPackAdvance':0x0,'fromWireType':function(){},'toWireType':function(_0x49a8c2,_0x573017){}});}function _0x7058dc(_0x49a8c2){_0x49a8c2>0x4&&(_0x139e49[_0x49a8c2][_0x1a4e('0x58fa')]+=0x1);}function _0x5c0204(_0x49a8c2,_0x573017){return _0x30334e((_0x49a8c2=_0x38a18b(_0x49a8c2,_0x1a4e('0x58fb')))[_0x1a4e('0x58bc')](_0x573017));}function _0x3f7a13(){_0x2060bd[_0x1a4e('0x381b')]();}function _0x4ba40e(){return _0x47d83d['length'];}var _0x4906a3={};function _0x1594ba(_0x49a8c2){return 0x0===_0x49a8c2?0x0:(_0x49a8c2=_0x3a4026(_0x49a8c2),_0x4906a3['hasOwnProperty'](_0x49a8c2)?(_0x1594ba['ret']&&_0x1c6606(_0x1594ba['ret']),_0x1594ba['ret']=_0x42da6c(_0x4906a3[_0x49a8c2]),_0x1594ba[_0x1a4e('0x58fc')]):0x0);}function _0x3d999c(_0x49a8c2){return Math[_0x1a4e('0x8e')](0x2,_0x49a8c2);}function _0x487bbb(_0x49a8c2){return _0x3d999c(_0x49a8c2);}function _0x3b33e1(_0x49a8c2){var _0x573017=_0x4c4a9c,_0x126074=_0x573017[_0x1a4e('0x58fd')][_0x49a8c2];_0x573017[_0x1a4e('0x58fd')][_0x1a4e('0x8a')](_0x49a8c2,0x1),_0x23dccf(_0x126074);}function _0x4c4a9c(){var _0x49a8c2=_0x4c4a9c;return _0x49a8c2[_0x1a4e('0x58fd')]||(_0x49a8c2[_0x1a4e('0x58fd')]=[]),_0x49a8c2['LLVM_SAVEDSTACKS'][_0x1a4e('0x46')](_0x5e7a9d()),_0x49a8c2[_0x1a4e('0x58fd')][_0x1a4e('0x1e')]-0x1;}function _0x1b576d(_0x49a8c2,_0x573017,_0x126074){_0x1b2e81[_0x1a4e('0x17a')](_0x1b2e81['subarray'](_0x573017,_0x573017+_0x126074),_0x49a8c2);}function _0x299bc4(){return 0x0;}function _0x1aa795(_0x49a8c2){_0xda4f67(_0x1a4e('0x58fe'));}function _0x28525f(_0x49a8c2){_0x49a8c2=_0x3a5ba5(_0x49a8c2,0x10000);var _0x573017=_0x5bb9ca[_0x1a4e('0x876')];try{return-0x1!==_0x2be578[_0x1a4e('0x58ff')]((_0x49a8c2-_0x573017)/0x10000)&&(_0x5bb9ca=_0x2be578[_0x1a4e('0x613')],!0x0);}catch(_0x538a11){return!0x1;}}function _0xef125a(_0x49a8c2){var _0x573017=_0x4ba40e();if(_0x49a8c2>0x7fff0000)return!0x1;for(var _0x126074=Math[_0x1a4e('0x6c')](_0x573017,0x1000000);_0x126074<_0x49a8c2;)_0x126074=_0x126074<=0x20000000?_0x3a5ba5(0x2*_0x126074,0x10000):Math[_0x1a4e('0x74')](_0x3a5ba5((0x3*_0x126074+0x80000000)/0x4,0x10000),0x7fff0000);return!!_0x28525f(_0x126074)&&(_0xd423b5(),!0x0);}function _0xc821ef(_0x49a8c2){return _0x49a8c2%0x4==0x0&&(_0x49a8c2%0x64!=0x0||_0x49a8c2%0x190==0x0);}function _0x9ecc4f(_0x49a8c2,_0x573017){for(var _0x126074=0x0,_0x49c546=0x0;_0x49c546<=_0x573017;_0x126074+=_0x49a8c2[_0x49c546++]);return _0x126074;}var _0x390806=[0x1f,0x1d,0x1f,0x1e,0x1f,0x1e,0x1f,0x1f,0x1e,0x1f,0x1e,0x1f],_0x4f3f16=[0x1f,0x1c,0x1f,0x1e,0x1f,0x1e,0x1f,0x1f,0x1e,0x1f,0x1e,0x1f];function _0x4d03eb(_0x49a8c2,_0x573017){for(var _0x126074=new Date(_0x49a8c2[_0x1a4e('0xe9')]());_0x573017>0x0;){var _0x49c546=_0xc821ef(_0x126074['getFullYear']()),_0x480629=_0x126074[_0x1a4e('0xf06')](),_0x19248f=(_0x49c546?_0x390806:_0x4f3f16)[_0x480629];if(!(_0x573017>_0x19248f-_0x126074[_0x1a4e('0x3746')]()))return _0x126074[_0x1a4e('0x5676')](_0x126074['getDate']()+_0x573017),_0x126074;_0x573017-=_0x19248f-_0x126074[_0x1a4e('0x3746')]()+0x1,_0x126074[_0x1a4e('0x5676')](0x1),_0x480629<0xb?_0x126074[_0x1a4e('0x5684')](_0x480629+0x1):(_0x126074[_0x1a4e('0x5684')](0x0),_0x126074[_0x1a4e('0x5686')](_0x126074[_0x1a4e('0x91d')]()+0x1));}return _0x126074;}function _0x4fc224(_0x49a8c2,_0x573017,_0x126074,_0x49c546){var _0x480629=_0x1160b5[_0x49c546+0x28>>0x2],_0x19248f={'tm_sec':_0x1160b5[_0x49c546>>0x2],'tm_min':_0x1160b5[_0x49c546+0x4>>0x2],'tm_hour':_0x1160b5[_0x49c546+0x8>>0x2],'tm_mday':_0x1160b5[_0x49c546+0xc>>0x2],'tm_mon':_0x1160b5[_0x49c546+0x10>>0x2],'tm_year':_0x1160b5[_0x49c546+0x14>>0x2],'tm_wday':_0x1160b5[_0x49c546+0x18>>0x2],'tm_yday':_0x1160b5[_0x49c546+0x1c>>0x2],'tm_isdst':_0x1160b5[_0x49c546+0x20>>0x2],'tm_gmtoff':_0x1160b5[_0x49c546+0x24>>0x2],'tm_zone':_0x480629?_0x3a4026(_0x480629):''},_0x5c2b6f=_0x3a4026(_0x126074),_0xa87129={'%c':_0x1a4e('0x5900'),'%D':_0x1a4e('0x5901'),'%F':'%Y-%m-%d','%h':'%b','%r':'%I:%M:%S\x20%p','%R':_0x1a4e('0x5902'),'%T':_0x1a4e('0x5903'),'%x':'%m/%d/%y','%X':'%H:%M:%S','%Ec':'%c','%EC':'%C','%Ex':_0x1a4e('0x5901'),'%EX':'%H:%M:%S','%Ey':'%y','%EY':'%Y','%Od':'%d','%Oe':'%e','%OH':'%H','%OI':'%I','%Om':'%m','%OM':'%M','%OS':'%S','%Ou':'%u','%OU':'%U','%OV':'%V','%Ow':'%w','%OW':'%W','%Oy':'%y'};for(var _0x2060bd in _0xa87129)_0x5c2b6f=_0x5c2b6f[_0x1a4e('0x115')](new RegExp(_0x2060bd,'g'),_0xa87129[_0x2060bd]);var _0x3a5d4f=[_0x1a4e('0x5904'),_0x1a4e('0x5905'),_0x1a4e('0x5906'),_0x1a4e('0x5907'),'Thursday','Friday',_0x1a4e('0x5908')],_0x1b855f=[_0x1a4e('0x5909'),_0x1a4e('0x590a'),_0x1a4e('0x590b'),_0x1a4e('0x590c'),_0x1a4e('0x373f'),_0x1a4e('0x590d'),_0x1a4e('0x590e'),_0x1a4e('0x590f'),_0x1a4e('0x5910'),'October',_0x1a4e('0x5911'),_0x1a4e('0x5912')];function _0x2cd2bf(_0x49a8c2,_0x573017,_0x126074){for(var _0x49c546=_0x1a4e('0x3d')==typeof _0x49a8c2?_0x49a8c2[_0x1a4e('0x95')]():_0x49a8c2||'';_0x49c546[_0x1a4e('0x1e')]<_0x573017;)_0x49c546=_0x126074[0x0]+_0x49c546;return _0x49c546;}function _0x3ea29d(_0x49a8c2,_0x573017){return _0x2cd2bf(_0x49a8c2,_0x573017,'0');}function _0xa809df(_0x49a8c2,_0x573017){function _0x126074(_0x49a8c2){return _0x49a8c2<0x0?-0x1:_0x49a8c2>0x0?0x1:0x0;}var _0x49c546;return 0x0===(_0x49c546=_0x126074(_0x49a8c2[_0x1a4e('0x91d')]()-_0x573017[_0x1a4e('0x91d')]()))&&0x0===(_0x49c546=_0x126074(_0x49a8c2[_0x1a4e('0xf06')]()-_0x573017['getMonth']()))&&(_0x49c546=_0x126074(_0x49a8c2[_0x1a4e('0x3746')]()-_0x573017[_0x1a4e('0x3746')]())),_0x49c546;}function _0x4b96c6(_0x49a8c2){switch(_0x49a8c2[_0x1a4e('0x5674')]()){case 0x0:return new Date(_0x49a8c2[_0x1a4e('0x91d')]()-0x1,0xb,0x1d);case 0x1:return _0x49a8c2;case 0x2:return new Date(_0x49a8c2[_0x1a4e('0x91d')](),0x0,0x3);case 0x3:return new Date(_0x49a8c2[_0x1a4e('0x91d')](),0x0,0x2);case 0x4:return new Date(_0x49a8c2['getFullYear'](),0x0,0x1);case 0x5:return new Date(_0x49a8c2[_0x1a4e('0x91d')]()-0x1,0xb,0x1f);case 0x6:return new Date(_0x49a8c2[_0x1a4e('0x91d')]()-0x1,0xb,0x1e);}}function _0x45a163(_0x49a8c2){var _0x573017=_0x4d03eb(new Date(_0x49a8c2['tm_year']+0x76c,0x0,0x1),_0x49a8c2[_0x1a4e('0x5913')]),_0x126074=new Date(_0x573017[_0x1a4e('0x91d')](),0x0,0x4),_0x49c546=new Date(_0x573017[_0x1a4e('0x91d')]()+0x1,0x0,0x4),_0x480629=_0x4b96c6(_0x126074),_0x19248f=_0x4b96c6(_0x49c546);return _0xa809df(_0x480629,_0x573017)<=0x0?_0xa809df(_0x19248f,_0x573017)<=0x0?_0x573017['getFullYear']()+0x1:_0x573017['getFullYear']():_0x573017[_0x1a4e('0x91d')]()-0x1;}var _0xe09b79={'%a':function(_0x49a8c2){return _0x3a5d4f[_0x49a8c2[_0x1a4e('0x5914')]]['substring'](0x0,0x3);},'%A':function(_0x49a8c2){return _0x3a5d4f[_0x49a8c2['tm_wday']];},'%b':function(_0x49a8c2){return _0x1b855f[_0x49a8c2[_0x1a4e('0x5915')]][_0x1a4e('0x281')](0x0,0x3);},'%B':function(_0x49a8c2){return _0x1b855f[_0x49a8c2[_0x1a4e('0x5915')]];},'%C':function(_0x49a8c2){return _0x3ea29d((_0x49a8c2[_0x1a4e('0x5916')]+0x76c)/0x64|0x0,0x2);},'%d':function(_0x49a8c2){return _0x3ea29d(_0x49a8c2[_0x1a4e('0x5917')],0x2);},'%e':function(_0x49a8c2){return _0x2cd2bf(_0x49a8c2[_0x1a4e('0x5917')],0x2,'\x20');},'%g':function(_0x49a8c2){return _0x45a163(_0x49a8c2)[_0x1a4e('0x95')]()[_0x1a4e('0x281')](0x2);},'%G':function(_0x49a8c2){return _0x45a163(_0x49a8c2);},'%H':function(_0x49a8c2){return _0x3ea29d(_0x49a8c2['tm_hour'],0x2);},'%I':function(_0x49a8c2){var _0x573017=_0x49a8c2['tm_hour'];return 0x0==_0x573017?_0x573017=0xc:_0x573017>0xc&&(_0x573017-=0xc),_0x3ea29d(_0x573017,0x2);},'%j':function(_0x49a8c2){return _0x3ea29d(_0x49a8c2[_0x1a4e('0x5917')]+_0x9ecc4f(_0xc821ef(_0x49a8c2['tm_year']+0x76c)?_0x390806:_0x4f3f16,_0x49a8c2[_0x1a4e('0x5915')]-0x1),0x3);},'%m':function(_0x49a8c2){return _0x3ea29d(_0x49a8c2['tm_mon']+0x1,0x2);},'%M':function(_0x49a8c2){return _0x3ea29d(_0x49a8c2['tm_min'],0x2);},'%n':function(){return'\x0a';},'%p':function(_0x49a8c2){return _0x49a8c2[_0x1a4e('0x5918')]>=0x0&&_0x49a8c2['tm_hour']<0xc?'AM':'PM';},'%S':function(_0x49a8c2){return _0x3ea29d(_0x49a8c2[_0x1a4e('0x5919')],0x2);},'%t':function(){return'\x09';},'%u':function(_0x49a8c2){return _0x49a8c2[_0x1a4e('0x5914')]||0x7;},'%U':function(_0x49a8c2){var _0x573017=new Date(_0x49a8c2[_0x1a4e('0x5916')]+0x76c,0x0,0x1),_0x126074=0x0===_0x573017[_0x1a4e('0x5674')]()?_0x573017:_0x4d03eb(_0x573017,0x7-_0x573017[_0x1a4e('0x5674')]()),_0x49c546=new Date(_0x49a8c2[_0x1a4e('0x5916')]+0x76c,_0x49a8c2[_0x1a4e('0x5915')],_0x49a8c2[_0x1a4e('0x5917')]);if(_0xa809df(_0x126074,_0x49c546)<0x0){var _0x480629=_0x9ecc4f(_0xc821ef(_0x49c546[_0x1a4e('0x91d')]())?_0x390806:_0x4f3f16,_0x49c546[_0x1a4e('0xf06')]()-0x1)-0x1f,_0x19248f=0x1f-_0x126074[_0x1a4e('0x3746')]()+_0x480629+_0x49c546[_0x1a4e('0x3746')]();return _0x3ea29d(Math[_0x1a4e('0x6d')](_0x19248f/0x7),0x2);}return 0x0===_0xa809df(_0x126074,_0x573017)?'01':'00';},'%V':function(_0x49a8c2){var _0x573017,_0x126074=new Date(_0x49a8c2[_0x1a4e('0x5916')]+0x76c,0x0,0x4),_0x49c546=new Date(_0x49a8c2[_0x1a4e('0x5916')]+0x76d,0x0,0x4),_0x480629=_0x4b96c6(_0x126074),_0x19248f=_0x4b96c6(_0x49c546),_0x5c2b6f=_0x4d03eb(new Date(_0x49a8c2[_0x1a4e('0x5916')]+0x76c,0x0,0x1),_0x49a8c2[_0x1a4e('0x5913')]);return _0xa809df(_0x5c2b6f,_0x480629)<0x0?'53':_0xa809df(_0x19248f,_0x5c2b6f)<=0x0?'01':(_0x573017=_0x480629[_0x1a4e('0x91d')]()<_0x49a8c2[_0x1a4e('0x5916')]+0x76c?_0x49a8c2['tm_yday']+0x20-_0x480629[_0x1a4e('0x3746')]():_0x49a8c2['tm_yday']+0x1-_0x480629['getDate'](),_0x3ea29d(Math[_0x1a4e('0x6d')](_0x573017/0x7),0x2));},'%w':function(_0x49a8c2){return _0x49a8c2[_0x1a4e('0x5914')];},'%W':function(_0x49a8c2){var _0x573017=new Date(_0x49a8c2[_0x1a4e('0x5916')],0x0,0x1),_0x126074=0x1===_0x573017[_0x1a4e('0x5674')]()?_0x573017:_0x4d03eb(_0x573017,0x0===_0x573017[_0x1a4e('0x5674')]()?0x1:0x7-_0x573017[_0x1a4e('0x5674')]()+0x1),_0x49c546=new Date(_0x49a8c2['tm_year']+0x76c,_0x49a8c2[_0x1a4e('0x5915')],_0x49a8c2['tm_mday']);if(_0xa809df(_0x126074,_0x49c546)<0x0){var _0x480629=_0x9ecc4f(_0xc821ef(_0x49c546[_0x1a4e('0x91d')]())?_0x390806:_0x4f3f16,_0x49c546[_0x1a4e('0xf06')]()-0x1)-0x1f,_0x19248f=0x1f-_0x126074[_0x1a4e('0x3746')]()+_0x480629+_0x49c546[_0x1a4e('0x3746')]();return _0x3ea29d(Math[_0x1a4e('0x6d')](_0x19248f/0x7),0x2);}return 0x0===_0xa809df(_0x126074,_0x573017)?'01':'00';},'%y':function(_0x49a8c2){return(_0x49a8c2[_0x1a4e('0x5916')]+0x76c)[_0x1a4e('0x95')]()[_0x1a4e('0x281')](0x2);},'%Y':function(_0x49a8c2){return _0x49a8c2['tm_year']+0x76c;},'%z':function(_0x49a8c2){var _0x573017=_0x49a8c2['tm_gmtoff'],_0x126074=_0x573017>=0x0;return _0x573017=(_0x573017=Math[_0x1a4e('0x65')](_0x573017)/0x3c)/0x3c*0x64+_0x573017%0x3c,(_0x126074?'+':'-')+String(_0x1a4e('0x988')+_0x573017)[_0x1a4e('0x78')](-0x4);},'%Z':function(_0x49a8c2){return _0x49a8c2['tm_zone'];},'%%':function(){return'%';}};for(var _0x2060bd in _0xe09b79)_0x5c2b6f['indexOf'](_0x2060bd)>=0x0&&(_0x5c2b6f=_0x5c2b6f[_0x1a4e('0x115')](new RegExp(_0x2060bd,'g'),_0xe09b79[_0x2060bd](_0x19248f)));var _0x16a1f3=_0x867ffb(_0x5c2b6f,!0x1);return _0x16a1f3[_0x1a4e('0x1e')]>_0x573017?0x0:(_0x49d588(_0x16a1f3,_0x49a8c2),_0x16a1f3['length']-0x1);}function _0x2c6d9c(_0x49a8c2,_0x573017,_0x126074,_0x49c546){return _0x4fc224(_0x49a8c2,_0x573017,_0x126074,_0x49c546);}if(_0x3fcb63['staticInit'](),_0xa809df){var _0xe77bfb=_0x126074(_0x1a4e('0x5751')),_0x3b27a4=_0x126074(_0x1a4e('0x161f'));_0x2ae021[_0x1a4e('0x591a')]();}function _0x867ffb(_0x49a8c2,_0x573017,_0x126074){var _0x49c546=_0x126074>0x0?_0x126074:_0x3a1867(_0x49a8c2)+0x1,_0x480629=new Array(_0x49c546),_0x19248f=_0x298d00(_0x49a8c2,_0x480629,0x0,_0x480629[_0x1a4e('0x1e')]);return _0x573017&&(_0x480629[_0x1a4e('0x1e')]=_0x19248f),_0x480629;}_0x15aece(),_0x54b821=_0x2060bd[_0x1a4e('0x591b')]=_0x2e6380(Error,'BindingError'),_0x45b999=_0x2060bd['InternalError']=_0x2e6380(Error,'InternalError'),_0x2323f7(),_0x486e11(),_0x26d4cd(),_0xa5ba72=_0x2060bd['UnboundTypeError']=_0x2e6380(Error,_0x1a4e('0x591c')),_0x285e3d();var _0x17e97e={},_0x3f3078={'d':_0xda4f67,'E':_0x15418e,'r':_0x4b5309,'f':_0x250aed,'L':_0x20e116,'e':_0xe1bb8f,'D':_0x52e35a,'q':_0x50d8be,'C':_0x2c8825,'s':_0x4087cd,'B':_0x1f108c,'T':_0x4f9e40,'A':_0x3e64d8,'S':_0x28b7af,'R':_0x353cad,'Q':_0x252733,'p':_0x3c6739,'P':_0x15b39e,'i':_0x49aebe,'z':_0x98d130,'h':_0x3849da,'c':_0x57904b,'O':_0x47073e,'y':_0x2312db,'j':_0x43af01,'x':_0x40d115,'k':_0x28ffe9,'g':_0x6ec292,'w':_0x167238,'N':_0x48844a,'M':_0x8348dc,'v':_0x30cdb1,'u':_0x7058dc,'n':_0x5c0204,'b':_0x3f7a13,'K':_0x4ba40e,'J':_0x1b576d,'I':_0xef125a,'o':_0x1594ba,'t':_0x487bbb,'m':_0x3b33e1,'l':_0x4c4a9c,'H':_0x299bc4,'G':_0x2c6d9c,'F':_0x1aa795,'a':_0x3b14b8},_0x4f3b19=_0x2060bd[_0x1a4e('0x5778')](_0x17e97e,_0x3f3078,_0x5bb9ca);_0x2060bd[_0x1a4e('0x5778')]=_0x4f3b19;var _0x5b37d9=_0x2060bd['__ZSt18uncaught_exceptionv']=function(){return _0x2060bd[_0x1a4e('0x5778')]['U'][_0x1a4e('0x8b')](null,arguments);},_0x31250c=(_0x2060bd[_0x1a4e('0x591d')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['V'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5787')]=function(){return _0x2060bd['asm']['W'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd['___getTypeName']=function(){return _0x2060bd['asm']['X'][_0x1a4e('0x8b')](null,arguments);}),_0x1c6606=_0x2060bd[_0x1a4e('0x573e')]=function(){return _0x2060bd['asm']['Y']['apply'](null,arguments);},_0x3c4083=_0x2060bd[_0x1a4e('0x573b')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['Z'][_0x1a4e('0x8b')](null,arguments);},_0x2e5256=_0x2060bd['globalCtors']=function(){return _0x2060bd[_0x1a4e('0x5778')]['Ma'][_0x1a4e('0x8b')](null,arguments);},_0x565eed=_0x2060bd[_0x1a4e('0x591e')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['Na'][_0x1a4e('0x8b')](null,arguments);},_0x23dccf=_0x2060bd['stackRestore']=function(){return _0x2060bd['asm']['Oa'][_0x1a4e('0x8b')](null,arguments);},_0x5e7a9d=_0x2060bd[_0x1a4e('0x591f')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['Pa'][_0x1a4e('0x8b')](null,arguments);};_0x2060bd[_0x1a4e('0x5920')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['_'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5921')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['$'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5922')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['aa'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd['dynCall_diid']=function(){return _0x2060bd[_0x1a4e('0x5778')]['ba'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5923')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['ca']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x5924')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['da'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd['dynCall_fi']=function(){return _0x2060bd[_0x1a4e('0x5778')]['ea'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5925')]=function(){return _0x2060bd['asm']['fa']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x5926')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['ga']['apply'](null,arguments);},_0x2060bd['dynCall_ii']=function(){return _0x2060bd[_0x1a4e('0x5778')]['ha'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd['dynCall_iidiiii']=function(){return _0x2060bd[_0x1a4e('0x5778')]['ia'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5927')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['ja']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x5928')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['ka'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5929')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['la']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x592a')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['ma'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x592b')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['na'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x592c')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['oa']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x592d')]=function(){return _0x2060bd['asm']['pa'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd['dynCall_iiiiiid']=function(){return _0x2060bd['asm']['qa']['apply'](null,arguments);},_0x2060bd['dynCall_iiiiiii']=function(){return _0x2060bd[_0x1a4e('0x5778')]['ra'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x592e')]=function(){return _0x2060bd['asm']['sa'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x592f')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['ta'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd['dynCall_iiiiij']=function(){return _0x2060bd[_0x1a4e('0x5778')]['ua'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5930')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['va'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd['dynCall_v']=function(){return _0x2060bd['asm']['wa'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5769')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['xa']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x5931')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['ya']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x5932')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['za']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x5933')]=function(){return _0x2060bd['asm']['Aa'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5934')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['Ba'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5935')]=function(){return _0x2060bd['asm']['Ca'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd['dynCall_viiddd']=function(){return _0x2060bd['asm']['Da'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5936')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['Ea']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x5937')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['Fa']['apply'](null,arguments);},_0x2060bd['dynCall_viiid']=function(){return _0x2060bd[_0x1a4e('0x5778')]['Ga'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd[_0x1a4e('0x5938')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['Ha'][_0x1a4e('0x8b')](null,arguments);},_0x2060bd['dynCall_viiii']=function(){return _0x2060bd[_0x1a4e('0x5778')]['Ia']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x5939')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['Ja']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x593a')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['Ka']['apply'](null,arguments);},_0x2060bd[_0x1a4e('0x593b')]=function(){return _0x2060bd[_0x1a4e('0x5778')]['La'][_0x1a4e('0x8b')](null,arguments);};function _0x237e97(_0x49a8c2){this[_0x1a4e('0x2cb')]=_0x1a4e('0x1923'),this[_0x1a4e('0x133')]=_0x1a4e('0x593c')+_0x49a8c2+')',this[_0x1a4e('0xe02')]=_0x49a8c2;}function _0x389f4d(_0x49a8c2){function _0x573017(){_0x2060bd['calledRun']||(_0x2060bd[_0x1a4e('0x593d')]=!0x0,_0x3816bf||(_0x4430b1(),_0x931915(),_0x2060bd[_0x1a4e('0x5746')]&&_0x2060bd[_0x1a4e('0x5746')](),_0x5dc8ec()));}_0x49a8c2=_0x49a8c2||_0x2060bd[_0x1a4e('0x2373')],_0x3f3602>0x0||(_0x4df695(),_0x3f3602>0x0||_0x2060bd[_0x1a4e('0x593d')]||(_0x2060bd[_0x1a4e('0x593e')]?(_0x2060bd[_0x1a4e('0x593e')]('Running...'),setTimeout(function(){setTimeout(function(){_0x2060bd[_0x1a4e('0x593e')]('');},0x1),_0x573017();},0x1)):_0x573017()));}function _0xda4f67(_0x49a8c2){throw _0x2060bd[_0x1a4e('0x593f')]&&_0x2060bd[_0x1a4e('0x593f')](_0x49a8c2),void 0x0!==_0x49a8c2?(_0x3d6cb7(_0x49a8c2),_0x5cb9a9(_0x49a8c2),_0x49a8c2='\x22'+_0x49a8c2+'\x22'):_0x49a8c2='',_0x3816bf=!0x0,0x1,_0x1a4e('0x5940')+_0x49a8c2+').\x20Build\x20with\x20-s\x20ASSERTIONS=1\x20for\x20more\x20info.';}if(_0x2060bd['asm']=_0x4f3b19,_0x2060bd[_0x1a4e('0x5941')]=_0x25564e,_0x2060bd[_0x1a4e('0x5942')]=_0x2f2677,_0x2060bd[_0x1a4e('0x272')]=_0x50a589,_0x2060bd[_0x1a4e('0x1460')]=_0x4dc0d2,_0x237e97[_0x1a4e('0xa')]=new Error(),_0x237e97[_0x1a4e('0xa')][_0x1a4e('0x10')]=_0x237e97,_0x35ed37=function _0x49a8c2(){_0x2060bd[_0x1a4e('0x593d')]||_0x389f4d(),_0x2060bd[_0x1a4e('0x593d')]||(_0x35ed37=_0x49a8c2);},_0x2060bd[_0x1a4e('0x1f3')]=_0x389f4d,_0x2060bd[_0x1a4e('0x381b')]=_0xda4f67,_0x2060bd[_0x1a4e('0x5943')])for('function'==typeof _0x2060bd[_0x1a4e('0x5943')]&&(_0x2060bd['preInit']=[_0x2060bd['preInit']]);_0x2060bd[_0x1a4e('0x5943')][_0x1a4e('0x1e')]>0x0;)_0x2060bd[_0x1a4e('0x5943')]['pop']()();_0x2060bd[_0x1a4e('0x5944')]=!0x0,_0x389f4d(),_0x573017['Module']=_0x2060bd;}['call'](this,'/',_0x126074(_0x1a4e('0x1156')),_0x126074('./node_modules/buffer/index.js')['Buffer']));},'./src/Viewer/Camera.ts':function(_0x52d5a1,_0x27cf8b,_0x29ceb1){'use strict';_0x29ceb1['r'](_0x27cf8b),_0x29ceb1['d'](_0x27cf8b,_0x1a4e('0x3a67'),function(){return _0x23af8c;});var _0x2cc91d=_0x29ceb1(_0x1a4e('0x3f2f')),_0x23af8c=function(){function _0x52d5a1(_0x52d5a1){this[_0x1a4e('0x38fa')]=_0x52d5a1,this[_0x1a4e('0x5945')]=new _0x2cc91d['ViewPoint'](0x68,33.00478242938154,15139621.975553446,0x168,-89.90213555945184,0x0),this['_viewPoint']=new _0x2cc91d[(_0x1a4e('0x3fa8'))](0x0,0x0,0x0),this[_0x1a4e('0x47e1')]=null,this[_0x1a4e('0x5946')]=null,this[_0x1a4e('0x4d40')]=null,this['_timeExection']=function(){},this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')]['percentageChanged']=0.01;}return Object['defineProperty'](_0x52d5a1[_0x1a4e('0xa')],_0x1a4e('0x41b3'),{'get':function(){return this[_0x1a4e('0x47e1')]=this['_viewer'][_0x1a4e('0x3a06')][_0x1a4e('0x41b3')],this['_moveEnd'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x52d5a1[_0x1a4e('0xa')],_0x1a4e('0x482d'),{'get':function(){return this['_moveStart']=this[_0x1a4e('0x38fa')]['camera'][_0x1a4e('0x482d')],this[_0x1a4e('0x5946')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x52d5a1[_0x1a4e('0xa')],_0x1a4e('0x41af'),{'get':function(){return this['_changed']=this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x41af')],this[_0x1a4e('0x4d40')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x52d5a1[_0x1a4e('0xa')],'viewPoint',{'get':function(){var _0x52d5a1=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['globe'][_0x1a4e('0x38dc')][_0x1a4e('0x38dd')](this[_0x1a4e('0x38fa')]['camera'][_0x1a4e('0x3553')]);return this[_0x1a4e('0x5947')][_0x1a4e('0x3a68')]=Cesium['Math'][_0x1a4e('0x560')](this['_viewer'][_0x1a4e('0x3a06')][_0x1a4e('0x3a68')]),this['_viewPoint'][_0x1a4e('0x3a9c')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x3a9c')]),this['_viewPoint']['pitch']=Cesium[_0x1a4e('0x1020')]['toDegrees'](this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')]['pitch']),0x3==this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0xa69')]?(this['_viewPoint']['lat']=Cesium['Math'][_0x1a4e('0x560')](_0x52d5a1['latitude']),this[_0x1a4e('0x5947')][_0x1a4e('0x1a1')]=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x560')](_0x52d5a1[_0x1a4e('0x3a2e')]),this['_viewPoint'][_0x1a4e('0x398c')]=_0x52d5a1[_0x1a4e('0x152')]):(this[_0x1a4e('0x5947')]['lon']=Cesium[_0x1a4e('0x1020')]['toDegrees'](this['_viewer']['camera'][_0x1a4e('0x3e67')][_0x1a4e('0x3a2e')]),this['_viewPoint']['lat']=Cesium['Math'][_0x1a4e('0x560')](this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x3e67')][_0x1a4e('0x3a2f')]),this[_0x1a4e('0x5947')][_0x1a4e('0x398c')]=this['_viewer'][_0x1a4e('0x3a06')][_0x1a4e('0x3e67')][_0x1a4e('0x152')]),Object['assign']({},this[_0x1a4e('0x5947')]);},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x52d5a1[_0x1a4e('0xa')],_0x1a4e('0x5948'),{'get':function(){return this['_home'];},'set':function(_0x52d5a1){this[_0x1a4e('0x5945')]=_0x52d5a1;},'enumerable':!0x0,'configurable':!0x0}),_0x52d5a1[_0x1a4e('0xa')][_0x1a4e('0x5949')]=function(){var _0x52d5a1=new Cesium[(_0x1a4e('0x3952'))](this['_viewer'][_0x1a4e('0x12d8')]['clientWidth']/0x2,this[_0x1a4e('0x38fa')][_0x1a4e('0x12d8')]['clientHeight']/0x2),_0x27cf8b=this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x3a57')](_0x52d5a1);return this['_viewer']['scene'][_0x1a4e('0x38d7')]['pick'](_0x27cf8b,this['_viewer'][_0x1a4e('0x38d6')]);},_0x52d5a1[_0x1a4e('0xa')]['_getCameraTransform']=function(){var _0x52d5a1=this[_0x1a4e('0x5949')]();if(_0x52d5a1)return Cesium[_0x1a4e('0x3b56')]['eastNorthUpToFixedFrame'](_0x52d5a1);},_0x52d5a1['prototype'][_0x1a4e('0x408e')]=function(_0x52d5a1,_0x27cf8b,_0x29ceb1,_0x2cc91d){var _0x23af8c;void 0x0===_0x27cf8b&&(_0x27cf8b=1.5),_0x23af8c=_0x52d5a1[_0x1a4e('0x398c')]?Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x52d5a1[_0x1a4e('0x1a1')],_0x52d5a1[_0x1a4e('0x1a2')],_0x52d5a1[_0x1a4e('0x398c')]):Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x52d5a1[_0x1a4e('0x1a1')],_0x52d5a1[_0x1a4e('0x1a2')]),this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x408e')]({'destination':_0x23af8c,'duration':_0x27cf8b,'orientation':{'heading':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x52d5a1[_0x1a4e('0x3a68')]),'pitch':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x52d5a1[_0x1a4e('0x3a69')])||0x0,'roll':Cesium[_0x1a4e('0x1020')]['toRadians'](_0x52d5a1[_0x1a4e('0x3a9c')])||0x0},'cancel':_0x2cc91d,'complete':_0x29ceb1});},_0x52d5a1[_0x1a4e('0xa')][_0x1a4e('0x519c')]=function(_0x52d5a1,_0x27cf8b,_0x29ceb1,_0x2cc91d,_0x23af8c,_0x4c9796,_0x3b24b9){void 0x0===_0x23af8c&&(_0x23af8c=0x3);var _0x3edf85=Cesium['Rectangle'][_0x1a4e('0x38db')](_0x52d5a1,_0x29ceb1,_0x27cf8b,_0x2cc91d);this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')]['flyTo']({'destination':_0x3edf85,'duration':_0x23af8c,'cancel':_0x3b24b9,'complete':_0x4c9796});},Object[_0x1a4e('0x2')](_0x52d5a1[_0x1a4e('0xa')],_0x1a4e('0x4d75'),{'get':function(){if(this[_0x1a4e('0x38fa')]){for(var _0x52d5a1=this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')]['globe'][_0x1a4e('0x4c1c')][_0x1a4e('0x594a')],_0x27cf8b=_0x52d5a1['length'],_0x29ceb1=0x0,_0x2cc91d=0x0;_0x2cc91d<_0x27cf8b;_0x2cc91d++)_0x52d5a1[_0x2cc91d][_0x1a4e('0x2dd0')]>_0x29ceb1&&(_0x29ceb1=_0x52d5a1[_0x2cc91d][_0x1a4e('0x2dd0')]);return _0x29ceb1;}},'enumerable':!0x0,'configurable':!0x0}),_0x52d5a1[_0x1a4e('0xa')][_0x1a4e('0x594b')]=function(){this[_0x1a4e('0x408e')](this['_home']);},_0x52d5a1[_0x1a4e('0xa')][_0x1a4e('0x3a69')]=function(_0x52d5a1){var _0x27cf8b=this;if(this[_0x1a4e('0x594c')]()){var _0x29ceb1=Cesium[_0x1a4e('0x393e')],_0x2cc91d=Cesium['Math'][_0x1a4e('0x566')](_0x52d5a1),_0x23af8c=_0x29ceb1[_0x1a4e('0x25c')](_0x29ceb1[_0x1a4e('0x262')](this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x3553')],this[_0x1a4e('0x5949')](),new _0x29ceb1()));this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x594d')](new Cesium['BoundingSphere'](this[_0x1a4e('0x5949')]()),{'offset':new Cesium[(_0x1a4e('0x594e'))](this[_0x1a4e('0x38fa')]['camera'][_0x1a4e('0x3a68')],_0x2cc91d,_0x23af8c),'complete':function(){console[_0x1a4e('0x58')](_0x27cf8b['_viewPoint']);}});}},_0x52d5a1[_0x1a4e('0xa')][_0x1a4e('0x7a3')]=function(_0x52d5a1){this['_viewer'][_0x1a4e('0x3a06')][_0x1a4e('0x7a3')](this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')]['position'],Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x52d5a1));},_0x52d5a1[_0x1a4e('0xa')][_0x1a4e('0x594f')]=function(_0x52d5a1){var _0x27cf8b=this;if(void 0x0===_0x52d5a1&&(_0x52d5a1=0x14),_0x52d5a1<=0x0||_0x52d5a1>0x168)console[_0x1a4e('0xe3c')](_0x1a4e('0x5950'));else{this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')]['removeEventListener'](this['_timeExection']);var _0x29ceb1=this[_0x1a4e('0x5947')][_0x1a4e('0x3a69')],_0x2cc91d=0x168/_0x52d5a1,_0x23af8c=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](new Date()),_0x3b821b=Cesium['JulianDate'][_0x1a4e('0x406b')](_0x23af8c,_0x52d5a1,new Cesium[(_0x1a4e('0x39a9'))]()),_0x19dd9a=this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x3a68')];this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x4058')]=_0x23af8c[_0x1a4e('0x240')](),this['_viewer']['clock'][_0x1a4e('0x407a')]=_0x3b821b[_0x1a4e('0x240')](),this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x40f7')]=_0x23af8c[_0x1a4e('0x240')](),this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x5951')]=Cesium[_0x1a4e('0x40fb')]['CLAMPED'],this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')]['clockStep']=Cesium['ClockStep']['SYSTEM_CLOCK'],this['_timeExection']=function(){var _0x52d5a1=Cesium['JulianDate'][_0x1a4e('0x409c')](_0x27cf8b[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x40f7')],_0x27cf8b[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')]['startTime']),_0x23af8c=Cesium[_0x1a4e('0x1020')]['toRadians'](_0x52d5a1*_0x2cc91d)+_0x19dd9a;_0x27cf8b['_viewer'][_0x1a4e('0x3a06')][_0x1a4e('0x3a9f')]({'orientation':{'heading':_0x23af8c,'pitch':_0x29ceb1}}),Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x77')](_0x27cf8b[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x40f7')],_0x27cf8b[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')]['stopTime'])>=0x0&&_0x27cf8b[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec2')](_0x27cf8b['_timeExection']);},this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')]['addEventListener'](this[_0x1a4e('0x5952')]);}},_0x52d5a1[_0x1a4e('0xa')]['lookAround']=function(_0x52d5a1,_0x27cf8b,_0x29ceb1,_0x2cc91d){var _0x23af8c,_0x3111f4=this;void 0x0===_0x27cf8b&&(_0x27cf8b=0x14),void 0x0===_0x29ceb1&&(_0x29ceb1=0x1388),void 0x0===_0x2cc91d&&(_0x2cc91d=0x3c),this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec2')](this[_0x1a4e('0x5952')]),_0x23af8c=_0x52d5a1[_0x1a4e('0x398c')]?Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x52d5a1[_0x1a4e('0x1a1')],_0x52d5a1[_0x1a4e('0x1a2')],_0x52d5a1[_0x1a4e('0x398c')]):Cesium[_0x1a4e('0x393e')][_0x1a4e('0x38db')](_0x52d5a1[_0x1a4e('0x1a1')],_0x52d5a1[_0x1a4e('0x1a2')]);var _0x5bd347=0x168/_0x27cf8b,_0x4e4599=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x40ea')](new Date()),_0x217e34=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x406b')](_0x4e4599,_0x27cf8b,new Cesium[(_0x1a4e('0x39a9'))]()),_0x5d0736=this[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x3a68')];this['_viewer'][_0x1a4e('0x3b3e')][_0x1a4e('0x4058')]=_0x4e4599[_0x1a4e('0x240')](),this['_viewer'][_0x1a4e('0x3b3e')]['stopTime']=_0x217e34[_0x1a4e('0x240')](),this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')]['currentTime']=_0x4e4599['clone'](),this['_viewer'][_0x1a4e('0x3b3e')][_0x1a4e('0x5951')]=Cesium[_0x1a4e('0x40fb')]['CLAMPED'],this[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x5953')]=Cesium[_0x1a4e('0x40fd')][_0x1a4e('0x5954')],this[_0x1a4e('0x5952')]=function(){var _0x52d5a1=Cesium[_0x1a4e('0x39a9')][_0x1a4e('0x409c')](_0x3111f4[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x40f7')],_0x3111f4['_viewer'][_0x1a4e('0x3b3e')][_0x1a4e('0x4058')]),_0x27cf8b=Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x52d5a1*_0x5bd347)+_0x5d0736;_0x3111f4[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')][_0x1a4e('0x3a9f')]({'destination':_0x23af8c,'orientation':{'heading':_0x27cf8b,'pitch':Cesium[_0x1a4e('0x1020')][_0x1a4e('0x566')](_0x2cc91d)}}),_0x3111f4[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')]['moveBackward'](_0x29ceb1),Cesium[_0x1a4e('0x39a9')]['compare'](_0x3111f4[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x40f7')],_0x3111f4[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x407a')])>=0x0&&_0x3111f4[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')][_0x1a4e('0x3b3f')][_0x1a4e('0xec2')](_0x3111f4[_0x1a4e('0x5952')]);},this[_0x1a4e('0x38fa')][_0x1a4e('0x3b3e')]['onTick'][_0x1a4e('0xec5')](this[_0x1a4e('0x5952')]);},_0x52d5a1[_0x1a4e('0xa')][_0x1a4e('0x5955')]=function(){this[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x3b3f')][_0x1a4e('0xec2')](this['_timeExection']);},_0x52d5a1[_0x1a4e('0xa')][_0x1a4e('0x4a17')]=function(_0x52d5a1){var _0x27cf8b=this;if(void 0x0===_0x52d5a1&&(_0x52d5a1=0x1),_0x52d5a1<-0x168||_0x52d5a1>0x168)console[_0x1a4e('0xe3c')](_0x1a4e('0x5956'));else{var _0x29ceb1=!0x0;_0x52d5a1/=0x3e8,this[_0x1a4e('0x38fa')]['clock'][_0x1a4e('0x3b3f')]['addEventListener'](function(){var _0x2cc91d=_0x27cf8b[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x38d7')]['ellipsoid'][_0x1a4e('0x38dd')](_0x27cf8b[_0x1a4e('0x38fa')][_0x1a4e('0x3a06')]['position'])[_0x1a4e('0x152')]*_0x52d5a1;_0x29ceb1&&_0x27cf8b['_viewer']['camera'][_0x1a4e('0x5957')](_0x2cc91d),setTimeout(function(){_0x29ceb1=!0x1;},0x64);});}},_0x52d5a1;}();},'./src/Viewer/GeoCanvas.ts':function(_0x4bb236,_0x14393f,_0x2c2489){'use strict';_0x2c2489['r'](_0x14393f),_0x2c2489['d'](_0x14393f,_0x1a4e('0x3fa7'),function(){return _0x2229ab;});var _0x13191b,_0x1cfff5=_0x2c2489('./src/LayerManager/LayerManager.ts'),_0x36515d=_0x2c2489(_0x1a4e('0x3f31')),_0x489aa4=_0x2c2489(_0x1a4e('0x3f71')),_0x51b1ff=_0x2c2489(_0x1a4e('0x5958')),_0x553c63=_0x2c2489(_0x1a4e('0x3999')),_0x15217f=_0x2c2489(_0x1a4e('0x3f66')),_0x3b49a0=_0x2c2489(_0x1a4e('0x3f96')),_0x246e25=_0x2c2489(_0x1a4e('0x3ad0')),_0x2fa744=(_0x13191b=function(_0x4bb236,_0x14393f){return(_0x13191b=Object[_0x1a4e('0xe4a')]||{'__proto__':[]}instanceof Array&&function(_0x4bb236,_0x14393f){_0x4bb236['__proto__']=_0x14393f;}||function(_0x4bb236,_0x14393f){for(var _0x2c2489 in _0x14393f)_0x14393f[_0x1a4e('0xb')](_0x2c2489)&&(_0x4bb236[_0x2c2489]=_0x14393f[_0x2c2489]);})(_0x4bb236,_0x14393f);},function(_0x4bb236,_0x14393f){function _0x2c2489(){this['constructor']=_0x4bb236;}_0x13191b(_0x4bb236,_0x14393f),_0x4bb236[_0x1a4e('0xa')]=null===_0x14393f?Object[_0x1a4e('0x7')](_0x14393f):(_0x2c2489[_0x1a4e('0xa')]=_0x14393f[_0x1a4e('0xa')],new _0x2c2489());}),_0x2229ab=function(_0x4bb236){function _0x14393f(_0x14393f,_0x2c2489){var _0x13191b=this,_0x1cfff5={'animation':!0x1,'baseLayerPicker':!0x1,'selectionIndicator':!0x1,'fullscreenButton':!0x1,'vrButton':!0x1,'geocoder':!0x1,'homeButton':!0x1,'infoBox':!0x1,'sceneModePicker':!0x1,'timeline':!0x1,'navigationHelpButton':!0x1,'navigationInstructionsInitiallyVisible':!0x1,'imageryProvider':void 0x0,'skyBox':!0x0};if(_0x2c2489)for(var _0x36515d in _0x1cfff5)Cesium[_0x1a4e('0x3a0b')](_0x2c2489[_0x36515d])||(_0x2c2489[_0x36515d]=_0x1cfff5[_0x36515d]);else _0x2c2489=_0x1cfff5;void 0x0===_0x2c2489[_0x1a4e('0x5959')]&&(_0x2c2489[_0x1a4e('0x5959')]=new Cesium['SingleTileImageryProvider']({'url':_0x553c63[_0x1a4e('0x39a0')]['formatUrlByBaseJs'](_0x1a4e('0x595a'))}));var _0x489aa4=function(_0x4bb236){return _0x4bb236[_0x1a4e('0x38dc')]&&_0x4bb236[_0x1a4e('0x38dc')]==Cesium[_0x1a4e('0x3ab8')][_0x1a4e('0x595b')];};if(_0x489aa4(_0x2c2489)&&(Cesium['Ellipsoid'][_0x1a4e('0x3b85')]=Cesium[_0x1a4e('0x3ab8')][_0x1a4e('0x595b')],_0x2c2489[_0x1a4e('0x412e')]=!0x1,_0x2c2489[_0x1a4e('0x595c')]={'webgl':{'alpha':!0x0}}),Cesium[_0x1a4e('0x3a67')][_0x1a4e('0x595d')]=Cesium['Rectangle'][_0x1a4e('0x38db')](0x42,0x4,0x95,0x46),_0x13191b=_0x4bb236[_0x1a4e('0x1')](this,_0x14393f,_0x2c2489)||this,_0x489aa4(_0x2c2489)){_0x13191b[_0x1a4e('0x38d6')][_0x1a4e('0x3ef1')]=new Cesium[(_0x1a4e('0x3947'))](0x0,0x0,0x0,0x0),_0x13191b[_0x1a4e('0x38d6')]['globe'][_0x1a4e('0x595e')]=!0x1;var _0x51b1ff=_0x13191b[_0x1a4e('0x38d6')][_0x1a4e('0x3934')],_0x15217f=_0x553c63['Util'][_0x1a4e('0x39a5')](_0x1a4e('0x595f'));_0x51b1ff[_0x1a4e('0x375c')]['background']=_0x1a4e('0x5960')+_0x15217f+_0x1a4e('0x5961'),_0x13191b[_0x1a4e('0x38d6')][_0x1a4e('0x38d7')][_0x1a4e('0x4d85')]=!0x1,_0x13191b[_0x1a4e('0x38d6')]['skyAtmosphere'][_0x1a4e('0x3a23')]=!0x1,_0x13191b['scene'][_0x1a4e('0x50f3')][_0x1a4e('0x25e5')]=!0x1;}_0x13191b[_0x1a4e('0x1fd')](_0x2c2489);var _0x2fa744=_0x13191b[_0x1a4e('0x38d6')];_0x13191b[_0x1a4e('0x38d6')]['logarithmicDepthFarToNearRatio']=0x186a0;var _0x2229ab=_0x2fa744['camera'];if(_0x2229ab[_0x1a4e('0x41af')]['addEventListener'](function(){_0x2229ab[_0x1a4e('0x5962')]&&_0x2fa744[_0x1a4e('0xa69')]===Cesium['SceneMode'][_0x1a4e('0x3a56')]&&(_0x2229ab['_suspendTerrainAdjustment']=!0x1,_0x2229ab[_0x1a4e('0x5963')]());}),_0x13191b[_0x1a4e('0x12d8')]['getElementsByClassName'](_0x1a4e('0x5964'))[0x0][_0x1a4e('0x375c')]['display']=_0x1a4e('0x60'),_0x13191b[_0x1a4e('0x12d8')][_0x1a4e('0x51ae')](_0x1a4e('0x5965'))[0x0][_0x1a4e('0x375c')][_0x1a4e('0x375d')]='none',_0x13191b[_0x1a4e('0x5966')][_0x1a4e('0x4daf')](Cesium[_0x1a4e('0x39ce')]['LEFT_DOUBLE_CLICK']),_0x13191b[_0x1a4e('0x38d6')]['sun']&&(_0x13191b[_0x1a4e('0x38d6')][_0x1a4e('0x5967')]['show']=!0x1),_0x2c2489[_0x1a4e('0x412e')]&&(_0x13191b[_0x1a4e('0x38d6')]['skyBox']=_0x3b49a0[_0x1a4e('0x4017')]['getSkyBox']()),_0x13191b[_0x1a4e('0x5968')]=new _0x246e25[(_0x1a4e('0x168d'))](),'on'==localStorage[_0x1a4e('0x4a5')](_0x1a4e('0x5969'))){var _0xf2eaa6=!0x1;if(_0x13191b['imageryLayers'][_0x1a4e('0x3a31')][_0x1a4e('0x3b')](function(_0x4bb236){_0x1a4e('0x596a')==_0x4bb236[_0x1a4e('0x5959')][_0x1a4e('0x15cf')]&&(_0xf2eaa6=!0x0);}),!_0xf2eaa6){var _0x5491c9=new Cesium[(_0x1a4e('0x476f'))]({'url':_0x1a4e('0x596a'),'layer':_0x1a4e('0x596b'),'style':_0x1a4e('0x8'),'format':_0x1a4e('0x51a2'),'tileMatrixSetID':_0x1a4e('0x596c'),'tilingScheme':new Cesium['WebMercatorTilingScheme']()});_0x13191b[_0x1a4e('0x472f')][_0x1a4e('0x4757')](_0x5491c9);}}return _0x13191b;}return _0x2fa744(_0x14393f,_0x4bb236),_0x14393f[_0x1a4e('0xa')][_0x1a4e('0x1fd')]=function(_0x4bb236){this[_0x1a4e('0x596d')]=new _0x36515d[(_0x1a4e('0x50c0'))](this,_0x4bb236),this[_0x1a4e('0x596e')]=window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x4038')],_0x4bb236[_0x1a4e('0x596f')]&&this[_0x1a4e('0x596e')][_0x1a4e('0x5970')](_0x4bb236[_0x1a4e('0x596f')]),this[_0x1a4e('0x5971')]=new _0x1cfff5['LayerManager'](this),this[_0x1a4e('0x5971')][_0x1a4e('0x1fd')](),this[_0x1a4e('0x5972')]=new _0x489aa4[(_0x1a4e('0x3a67'))](this),this[_0x1a4e('0x5973')]=new _0x51b1ff[(_0x1a4e('0x38e5'))](this),this[_0x1a4e('0x5974')]=new _0x15217f[(_0x1a4e('0x8'))](this);},Object['defineProperty'](_0x14393f[_0x1a4e('0xa')],'JBConfig',{'get':function(){return this[_0x1a4e('0x596e')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],_0x1a4e('0x5975'),{'get':function(){return this[_0x1a4e('0x5974')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],'sceneOptions',{'get':function(){return this['_sceneOptions'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],_0x1a4e('0x4041'),{'get':function(){return this[_0x1a4e('0x5971')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],'iCamera',{'get':function(){return this['_camera'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],_0x1a4e('0x4781'),{'get':function(){return this['layerManager']['massiveLayer'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],'satelliteLayer',{'get':function(){return this[_0x1a4e('0x4041')][_0x1a4e('0x4786')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],_0x1a4e('0x3973'),{'get':function(){return this[_0x1a4e('0x4041')][_0x1a4e('0x3973')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],_0x1a4e('0x4046'),{'get':function(){return this[_0x1a4e('0x4041')]['imageLayer'];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],_0x1a4e('0x4782'),{'get':function(){return this['layerManager'][_0x1a4e('0x4782')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],_0x1a4e('0x5976'),{'get':function(){return this[_0x1a4e('0x4041')][_0x1a4e('0x5976')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],_0x1a4e('0x4780'),{'get':function(){return this[_0x1a4e('0x4041')][_0x1a4e('0x4780')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f[_0x1a4e('0xa')],'analysis',{'get':function(){return this['_analysis'];},'enumerable':!0x0,'configurable':!0x0}),Object['defineProperty'](_0x14393f[_0x1a4e('0xa')],'fxaa',{'get':function(){return this['scene'][_0x1a4e('0x3a08')][_0x1a4e('0x5977')][_0x1a4e('0x25e5')];},'set':function(_0x4bb236){this[_0x1a4e('0x38d6')][_0x1a4e('0x3a08')][_0x1a4e('0x5977')]['enabled']=_0x4bb236;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x14393f['prototype'],_0x1a4e('0x5978'),{'get':function(){return this[_0x1a4e('0x5968')];},'enumerable':!0x0,'configurable':!0x0}),_0x14393f[_0x1a4e('0xa')]['destroy']=function(){Cesium[_0x1a4e('0x3b9b')](this),_0x4bb236['prototype'][_0x1a4e('0x139c')][_0x1a4e('0x1')](this);},_0x14393f;}(Cesium[_0x1a4e('0x456f')]);},'./src/Viewer/JBConfig.ts':function(_0x17d470,_0x3fe3f5,_0x2c3df7){'use strict';_0x2c3df7['r'](_0x3fe3f5);var _0x9544ea=_0x2c3df7('./src/Utils/GeoPoint.ts'),_0x2cc50e=_0x2c3df7(_0x1a4e('0x5979')),_0x5390cf=_0x2c3df7(_0x1a4e('0x3999')),_0x1e1a45=_0x2c3df7('./src/Utils/Canvas2Image.ts'),_0x4d0e64=function(){function _0x17d470(){this[_0x1a4e('0x597a')]=!0x1,this[_0x1a4e('0x597b')]='';var _0x17d470=_0x5390cf[_0x1a4e('0x39a0')][_0x1a4e('0x4de1')](_0x5390cf[_0x1a4e('0x39a0')][_0x1a4e('0x39a5')](_0x1a4e('0x597c')));this[_0x1a4e('0x4434')]=_0x17d470[_0x1a4e('0x275b')],this[_0x1a4e('0x4601')]=_0x17d470[_0x1a4e('0x1af')],this[_0x1a4e('0x41ad')]=new Map();}return _0x17d470[_0x1a4e('0xa')][_0x1a4e('0x1336')]=function(_0x17d470){Object(_0x2cc50e[_0x1a4e('0x574c')])()?_0x17d470():Object(_0x2cc50e[_0x1a4e('0x574b')])(_0x17d470);},_0x17d470[_0x1a4e('0xa')][_0x1a4e('0x5970')]=function(_0x17d470){this[_0x1a4e('0x4434')]=_0x17d470;},_0x17d470['prototype'][_0x1a4e('0x4472')]=function(_0x17d470,_0x3fe3f5){var _0x2c3df7=this;if(this[_0x1a4e('0x41ad')][_0x1a4e('0x179')](_0x17d470)&&this[_0x1a4e('0x41ad')][_0x1a4e('0x179')](_0x17d470)[_0x1a4e('0x3eef')])_0x3fe3f5(this[_0x1a4e('0x41ad')][_0x1a4e('0x179')](_0x17d470)[_0x1a4e('0x3eef')]);else{if(!this[_0x1a4e('0x41ad')]['get'](_0x17d470)){this[_0x1a4e('0x41ad')][_0x1a4e('0x17a')](_0x17d470,{'img':void 0x0,'waitCallback':[]});var _0x9544ea=this['_baseUrl']+_0x1a4e('0x4435')+_0x17d470;fetch(_0x9544ea)[_0x1a4e('0xdf8')](function(_0x3fe3f5){0x194!==_0x3fe3f5[_0x1a4e('0xe02')]?_0x3fe3f5[_0x1a4e('0xe04')]()['then'](function(_0x3fe3f5){var _0x9544ea=_0x2c3df7[_0x1a4e('0x41ad')][_0x1a4e('0x179')](_0x17d470);_0x9544ea[_0x1a4e('0x3eef')]=_0x3fe3f5,_0x9544ea['waitCallback']['forEach'](function(_0x17d470){_0x17d470(_0x3fe3f5);}),_0x9544ea[_0x1a4e('0x597d')]=[];}):_0x2c3df7[_0x1a4e('0x597e')](function(_0x3fe3f5){_0x2c3df7[_0x1a4e('0x597a')]=!0x1,_0x2c3df7['_targetJBPath']='',_0x2c3df7[_0x1a4e('0x597f')](_0x17d470,_0x3fe3f5['children']),_0x9544ea=''+_0x2c3df7[_0x1a4e('0x4434')][_0x1a4e('0x2be')]('/')[_0x1a4e('0x78')](0x0,0x3)[_0x1a4e('0x9e')]('/')+_0x2c3df7[_0x1a4e('0x597b')];var _0x2cc50e=new Image();_0x2cc50e[_0x1a4e('0xe05')]=_0x9544ea,_0x2cc50e[_0x1a4e('0x3935')](_0x1a4e('0x535e'),_0x1a4e('0x1a00')),_0x2cc50e['onload']=function(){var _0x3fe3f5=document[_0x1a4e('0xe3d')](_0x1a4e('0x3934'));_0x3fe3f5[_0x1a4e('0x3936')]=_0x2cc50e[_0x1a4e('0x3936')],_0x3fe3f5[_0x1a4e('0x152')]=_0x2cc50e[_0x1a4e('0x152')],_0x3fe3f5[_0x1a4e('0x51c')]('2d')[_0x1a4e('0x47c6')](_0x2cc50e,0x0,0x0);var _0x9544ea=_0x2c3df7[_0x1a4e('0x41ad')][_0x1a4e('0x179')](_0x17d470);_0x9544ea[_0x1a4e('0x3eef')]=_0x1e1a45[_0x1a4e('0x3fb4')][_0x1a4e('0x5126')](_0x3fe3f5),_0x9544ea[_0x1a4e('0x597d')][_0x1a4e('0x3b')](function(_0x17d470){_0x17d470(_0x1e1a45[_0x1a4e('0x3fb4')][_0x1a4e('0x5126')](_0x3fe3f5));}),_0x9544ea[_0x1a4e('0x597d')]=[];};});});}this[_0x1a4e('0x41ad')][_0x1a4e('0x179')](_0x17d470)[_0x1a4e('0x597d')][_0x1a4e('0x46')](_0x3fe3f5);}},_0x17d470[_0x1a4e('0xa')][_0x1a4e('0x442f')]=function(_0x17d470,_0x3fe3f5){if(_0x17d470[_0x1a4e('0xae5')]('-')){var _0x2c3df7=_0x17d470[_0x1a4e('0x2be')]('-');_0x17d470=_0x2c3df7[0x1][_0x1a4e('0x5980')](0x5,'0');}else _0x17d470='10'==_0x17d470[_0x1a4e('0x254')](0x0,0x2)?_0x17d470['substr'](0x2,0x5):_0x17d470;_0x17d470='GV'+_0x17d470;var _0x5390cf=_0x9544ea[_0x1a4e('0x38da')][_0x1a4e('0x3954')](_0x3fe3f5),_0x1e1a45=[];return _0x5390cf[_0x1a4e('0x3b')](function(_0x17d470){_0x1e1a45[_0x1a4e('0x46')]([_0x17d470[0x0],_0x17d470[0x1]]);}),Object(_0x2cc50e[_0x1a4e('0x5748')])(_0x17d470,_0x1e1a45,0x0);},_0x17d470[_0x1a4e('0xa')][_0x1a4e('0x597e')]=function(_0x17d470){var _0x3fe3f5=this;_0x17d470&&(this[_0x1a4e('0x5981')]&&_0x17d470(this[_0x1a4e('0x5981')]),fetch(this[_0x1a4e('0x4434')])[_0x1a4e('0xdf8')](function(_0x2c3df7){_0x2c3df7[_0x1a4e('0x1a7')]()[_0x1a4e('0xdf8')](function(_0x2c3df7){_0x17d470(_0x2c3df7),_0x3fe3f5[_0x1a4e('0x5981')]=_0x2c3df7;});}));},_0x17d470['prototype'][_0x1a4e('0x597f')]=function(_0x17d470,_0x3fe3f5){for(var _0x2c3df7=0x0;_0x2c3df7<_0x3fe3f5[_0x1a4e('0x1e')];_0x2c3df7++){if(_0x3fe3f5[_0x2c3df7][_0x1a4e('0x6f')])this['getIncludeJBByPath'](_0x17d470,_0x3fe3f5[_0x2c3df7]['children']);else if(_0x3fe3f5[_0x2c3df7][_0x1a4e('0x64')][_0x1a4e('0xae5')](_0x17d470))return this['_isFindTargetJBPath']=!0x0,this[_0x1a4e('0x597b')]=_0x3fe3f5[_0x2c3df7]['path'],this[_0x1a4e('0x597b')];if(this[_0x1a4e('0x597a')])return this[_0x1a4e('0x597b')];}},_0x17d470[_0x1a4e('0x5363')]=function(){return this[_0x1a4e('0x5982')];},_0x17d470['prototype'][_0x1a4e('0x5983')]=function(_0x17d470){return this['_offset'][_0x17d470]?{'x':this[_0x1a4e('0x4601')][_0x17d470]['x'],'y':this[_0x1a4e('0x4601')][_0x17d470]['y']}:{'x':0x0,'y':0x0};},_0x17d470[_0x1a4e('0x5982')]=new _0x17d470(),_0x17d470;}();window['GV']||(window['GV']={}),window['GV']['JBConfig']=_0x4d0e64[_0x1a4e('0x5363')]();},'./src/iCenter/PlaceName.ts':function(_0x50fcdf,_0x22ac2c,_0x27de3b){'use strict';_0x27de3b['r'](_0x22ac2c),_0x27de3b['d'](_0x22ac2c,_0x1a4e('0x5984'),function(){return _0x3c851c;});var _0xc90a4d=_0x27de3b(_0x1a4e('0x3f45')),_0x3cdf4f=_0x27de3b(_0x1a4e('0x5985')),_0x335c7f=_0x27de3b('./src/iCenter/api/placeApi.js'),_0x3acf7a=_0x27de3b(_0x1a4e('0x5986')),_0x3a5286=function(_0x50fcdf,_0x22ac2c,_0x27de3b,_0xc90a4d){return new(_0x27de3b||(_0x27de3b=Promise))(function(_0x3cdf4f,_0x335c7f){function _0x3acf7a(_0x50fcdf){try{_0x1ab687(_0xc90a4d[_0x1a4e('0x7e')](_0x50fcdf));}catch(_0x14d119){_0x335c7f(_0x14d119);}}function _0x3a5286(_0x50fcdf){try{_0x1ab687(_0xc90a4d[_0x1a4e('0x1362')](_0x50fcdf));}catch(_0x8849){_0x335c7f(_0x8849);}}function _0x1ab687(_0x50fcdf){_0x50fcdf[_0x1a4e('0x3c2')]?_0x3cdf4f(_0x50fcdf['value']):new _0x27de3b(function(_0x22ac2c){_0x22ac2c(_0x50fcdf[_0x1a4e('0x255')]);})[_0x1a4e('0xdf8')](_0x3acf7a,_0x3a5286);}_0x1ab687((_0xc90a4d=_0xc90a4d['apply'](_0x50fcdf,_0x22ac2c||[]))[_0x1a4e('0x7e')]());});},_0x1ab687=function(_0x50fcdf,_0x22ac2c){var _0x27de3b,_0xc90a4d,_0x3cdf4f,_0x335c7f,_0x3acf7a={'label':0x0,'sent':function(){if(0x1&_0x3cdf4f[0x0])throw _0x3cdf4f[0x1];return _0x3cdf4f[0x1];},'trys':[],'ops':[]};return _0x335c7f={'next':_0x3a5286(0x0),'throw':_0x3a5286(0x1),'return':_0x3a5286(0x2)},'function'==typeof Symbol&&(_0x335c7f[Symbol[_0x1a4e('0x335')]]=function(){return this;}),_0x335c7f;function _0x3a5286(_0x335c7f){return function(_0x3a5286){return function(_0x335c7f){if(_0x27de3b)throw new TypeError('Generator\x20is\x20already\x20executing.');for(;_0x3acf7a;)try{if(_0x27de3b=0x1,_0xc90a4d&&(_0x3cdf4f=0x2&_0x335c7f[0x0]?_0xc90a4d['return']:_0x335c7f[0x0]?_0xc90a4d[_0x1a4e('0x1362')]||((_0x3cdf4f=_0xc90a4d[_0x1a4e('0xe40')])&&_0x3cdf4f[_0x1a4e('0x1')](_0xc90a4d),0x0):_0xc90a4d[_0x1a4e('0x7e')])&&!(_0x3cdf4f=_0x3cdf4f[_0x1a4e('0x1')](_0xc90a4d,_0x335c7f[0x1]))[_0x1a4e('0x3c2')])return _0x3cdf4f;switch(_0xc90a4d=0x0,_0x3cdf4f&&(_0x335c7f=[0x2&_0x335c7f[0x0],_0x3cdf4f[_0x1a4e('0x255')]]),_0x335c7f[0x0]){case 0x0:case 0x1:_0x3cdf4f=_0x335c7f;break;case 0x4:return _0x3acf7a['label']++,{'value':_0x335c7f[0x1],'done':!0x1};case 0x5:_0x3acf7a[_0x1a4e('0x1bc')]++,_0xc90a4d=_0x335c7f[0x1],_0x335c7f=[0x0];continue;case 0x7:_0x335c7f=_0x3acf7a[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x3acf7a[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;default:if(!(_0x3cdf4f=(_0x3cdf4f=_0x3acf7a[_0x1a4e('0x1669')])['length']>0x0&&_0x3cdf4f[_0x3cdf4f['length']-0x1])&&(0x6===_0x335c7f[0x0]||0x2===_0x335c7f[0x0])){_0x3acf7a=0x0;continue;}if(0x3===_0x335c7f[0x0]&&(!_0x3cdf4f||_0x335c7f[0x1]>_0x3cdf4f[0x0]&&_0x335c7f[0x1]<_0x3cdf4f[0x3])){_0x3acf7a['label']=_0x335c7f[0x1];break;}if(0x6===_0x335c7f[0x0]&&_0x3acf7a[_0x1a4e('0x1bc')]<_0x3cdf4f[0x1]){_0x3acf7a[_0x1a4e('0x1bc')]=_0x3cdf4f[0x1],_0x3cdf4f=_0x335c7f;break;}if(_0x3cdf4f&&_0x3acf7a['label']<_0x3cdf4f[0x2]){_0x3acf7a[_0x1a4e('0x1bc')]=_0x3cdf4f[0x2],_0x3acf7a['ops'][_0x1a4e('0x46')](_0x335c7f);break;}_0x3cdf4f[0x2]&&_0x3acf7a[_0x1a4e('0x166a')]['pop'](),_0x3acf7a[_0x1a4e('0x1669')][_0x1a4e('0x76')]();continue;}_0x335c7f=_0x22ac2c[_0x1a4e('0x1')](_0x50fcdf,_0x3acf7a);}catch(_0xeabdce){_0x335c7f=[0x6,_0xeabdce],_0xc90a4d=0x0;}finally{_0x27de3b=_0x3cdf4f=0x0;}if(0x5&_0x335c7f[0x0])throw _0x335c7f[0x1];return{'value':_0x335c7f[0x0]?_0x335c7f[0x1]:void 0x0,'done':!0x0};}([_0x335c7f,_0x3a5286]);};}},_0x3c851c=function(){function _0x50fcdf(_0x50fcdf,_0x22ac2c,_0x27de3b,_0xc90a4d){this[_0x1a4e('0x38fa')]=_0x50fcdf,this[_0x1a4e('0x4764')]=_0x22ac2c,this[_0x1a4e('0x5987')]=_0x27de3b,this['_password']=_0xc90a4d,this[_0x1a4e('0x5988')]();}return _0x50fcdf[_0x1a4e('0xa')][_0x1a4e('0x5988')]=function(){return _0x3a5286(this,void 0x0,void 0x0,function(){var _0x50fcdf,_0x22ac2c,_0x27de3b;return _0x1ab687(this,function(_0xc90a4d){switch(_0xc90a4d[_0x1a4e('0x1bc')]){case 0x0:return[0x4,Object(_0x3cdf4f['getServerTime'])(this['_url'])];case 0x1:return _0x50fcdf=_0xc90a4d[_0x1a4e('0x128a')](),_0x22ac2c=Object(_0x3acf7a[_0x1a4e('0x5989')])(_0x50fcdf+this[_0x1a4e('0x598a')]),[0x4,Object(_0x3cdf4f[_0x1a4e('0x598b')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x5987')],_0x22ac2c)];case 0x2:return _0x27de3b=_0xc90a4d['sent'](),this[_0x1a4e('0x598c')]=_0x27de3b[_0x1a4e('0x2381')],[0x2,this[_0x1a4e('0x598c')]];}});});},_0x50fcdf['prototype'][_0x1a4e('0x598d')]=function(_0x50fcdf){var _0x22ac2c=0x0;return 0x9===_0x50fcdf?_0x22ac2c=0x3:0xd===_0x50fcdf?_0x22ac2c=0x1:0x7===_0x50fcdf?_0x22ac2c=0x78:0x5===_0x50fcdf?_0x22ac2c=0x3e8:0x3===_0x50fcdf&&(_0x22ac2c=0x141e),0x3e8*_0x22ac2c;},_0x50fcdf[_0x1a4e('0xa')][_0x1a4e('0x598e')]=function(_0x50fcdf){return _0x3a5286(this,void 0x0,void 0x0,function(){return _0x1ab687(this,function(_0x22ac2c){switch(_0x22ac2c['label']){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x22ac2c[_0x1a4e('0x128a')](),[0x4,Object(_0x335c7f[_0x1a4e('0x598e')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x598c')],_0x50fcdf)];case 0x2:return[0x2,_0x22ac2c['sent']()];}});});},_0x50fcdf[_0x1a4e('0xa')][_0x1a4e('0x598f')]=function(_0x50fcdf){var _0x22ac2c=_0x50fcdf['WZ'],_0x27de3b=_0x22ac2c[_0x1a4e('0x281')](_0x22ac2c['indexOf']('(')+0x1,_0x22ac2c[_0x1a4e('0x3e')](')')),_0xc90a4d=this['_altitudeMap'](_0x50fcdf['LV']),_0x3cdf4f=_0x27de3b[_0x1a4e('0x2be')]('\x20');return{'lon':_0x3cdf4f[0x0],'lat':_0x3cdf4f[0x1],'height':_0xc90a4d};},_0x50fcdf[_0x1a4e('0xa')]['getWorldTree']=function(){return _0x3a5286(this,void 0x0,void 0x0,function(){return _0x1ab687(this,function(_0x50fcdf){switch(_0x50fcdf[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x50fcdf[_0x1a4e('0x128a')](),[0x4,Object(_0x335c7f['getGlobalList'])(this['_url'],this[_0x1a4e('0x598c')])];case 0x2:return[0x2,_0x50fcdf[_0x1a4e('0x128a')]()];}});});},_0x50fcdf[_0x1a4e('0xa')][_0x1a4e('0x5990')]=function(){return _0x3a5286(this,void 0x0,void 0x0,function(){return _0x1ab687(this,function(_0x50fcdf){switch(_0x50fcdf[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x50fcdf[_0x1a4e('0x128a')](),[0x4,Object(_0x335c7f[_0x1a4e('0x5991')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x598c')])];case 0x2:return[0x2,_0x50fcdf[_0x1a4e('0x128a')]()];}});});},_0x50fcdf['prototype']['getCountryArea']=function(_0x50fcdf){return _0x3a5286(this,void 0x0,void 0x0,function(){return _0x1ab687(this,function(_0x22ac2c){switch(_0x22ac2c[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this['_loginIcenter']()];case 0x1:return _0x22ac2c[_0x1a4e('0x128a')](),[0x4,Object(_0x335c7f[_0x1a4e('0x5992')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x598c')],_0x50fcdf)];case 0x2:return[0x2,_0x22ac2c[_0x1a4e('0x128a')]()];}});});},_0x50fcdf[_0x1a4e('0xa')][_0x1a4e('0x5993')]=function(_0x50fcdf){return _0x3a5286(this,void 0x0,void 0x0,function(){return _0x1ab687(this,function(_0x22ac2c){switch(_0x22ac2c['label']){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x22ac2c[_0x1a4e('0x128a')](),[0x4,Object(_0x335c7f[_0x1a4e('0x5994')])(this['_url'],this[_0x1a4e('0x598c')],_0x50fcdf[_0x1a4e('0x1617')])];case 0x2:return[0x2,_0x22ac2c[_0x1a4e('0x128a')]()];}});});},_0x50fcdf[_0x1a4e('0xa')]['createPlaceName']=function(){var _0x50fcdf,_0x22ac2c;(_0x50fcdf=new Map())[_0x1a4e('0x17a')](0x1,[0x0,0x1,0x2]),_0x50fcdf[_0x1a4e('0x17a')](0x3,[0x4,0x5]),_0x50fcdf[_0x1a4e('0x17a')](0x5,[0x6,0x7,0x8]),_0x50fcdf[_0x1a4e('0x17a')](0x7,[0x9,0xa]),_0x50fcdf[_0x1a4e('0x17a')](0x9,[0xb,0xc]),_0x50fcdf[_0x1a4e('0x17a')](0xb,[0xd,0xe]),_0x50fcdf[_0x1a4e('0x17a')](0xd,[0xf,0x10]),_0x50fcdf['set'](0xf,[0x11,0x12]),(_0x22ac2c=new Map())[_0x1a4e('0x17a')](0x1,new _0xc90a4d[(_0x1a4e('0x5995'))](_0x1a4e('0x4dfe'),_0x1a4e('0x5996'),_0x1a4e('0x5997'),0x6)),_0x22ac2c[_0x1a4e('0x17a')](0x3,new _0xc90a4d[(_0x1a4e('0x5995'))](_0x1a4e('0x4dfe'),'rgba(230,\x20230,\x20250,\x201)',_0x1a4e('0x5997'),0x4)),_0x22ac2c['set'](0x5,new _0xc90a4d['PlaceFontStyle'](_0x1a4e('0x4e09'),_0x1a4e('0x5998'),_0x1a4e('0x5999'),0.5)),_0x22ac2c[_0x1a4e('0x17a')](0x7,new _0xc90a4d[(_0x1a4e('0x5995'))]('14pt\x20monospace',_0x1a4e('0x5996'),_0x1a4e('0x5997'),0x4)),_0x22ac2c[_0x1a4e('0x17a')](0x9,new _0xc90a4d[(_0x1a4e('0x5995'))](_0x1a4e('0x599a'),_0x1a4e('0x5996'),_0x1a4e('0x5997'),0x3)),_0x22ac2c[_0x1a4e('0x17a')](0xb,new _0xc90a4d[(_0x1a4e('0x5995'))](_0x1a4e('0x599a'),_0x1a4e('0x5996'),_0x1a4e('0x5997'),0x2)),_0x22ac2c[_0x1a4e('0x17a')](0xd,new _0xc90a4d[(_0x1a4e('0x5995'))](_0x1a4e('0x599a'),'rgba(230,\x20230,\x20250,\x201)','rgba(0,\x200,\x200,\x201)',0x2)),_0x22ac2c[_0x1a4e('0x17a')](0xf,new _0xc90a4d[(_0x1a4e('0x5995'))](_0x1a4e('0x599a'),_0x1a4e('0x5996'),_0x1a4e('0x5997'),0x2));var _0x27de3b=new _0xc90a4d[(_0x1a4e('0x3fc0'))](this[_0x1a4e('0x4764')]+'/placeservice/api/v1/query/dlbm=',_0x50fcdf,_0x22ac2c);return new _0xc90a4d[(_0x1a4e('0x3fbf'))](_0x27de3b);},_0x50fcdf;}();},'./src/iCenter/UserInfo.ts':function(_0x19501f,_0x15a493,_0x1e2e2e){'use strict';_0x1e2e2e['r'](_0x15a493),_0x1e2e2e['d'](_0x15a493,_0x1a4e('0x599b'),function(){return _0x2ee0ee;});var _0x3fb175=_0x1e2e2e(_0x1a4e('0x5985')),_0x332235=_0x1e2e2e(_0x1a4e('0x5986')),_0x38c64a=function(_0x19501f,_0x15a493,_0x1e2e2e,_0x3fb175){return new(_0x1e2e2e||(_0x1e2e2e=Promise))(function(_0x332235,_0x38c64a){function _0x3617c6(_0x19501f){try{_0x140580(_0x3fb175['next'](_0x19501f));}catch(_0x2d7b20){_0x38c64a(_0x2d7b20);}}function _0x2ee0ee(_0x19501f){try{_0x140580(_0x3fb175[_0x1a4e('0x1362')](_0x19501f));}catch(_0x1dbbb2){_0x38c64a(_0x1dbbb2);}}function _0x140580(_0x19501f){_0x19501f['done']?_0x332235(_0x19501f[_0x1a4e('0x255')]):new _0x1e2e2e(function(_0x15a493){_0x15a493(_0x19501f[_0x1a4e('0x255')]);})['then'](_0x3617c6,_0x2ee0ee);}_0x140580((_0x3fb175=_0x3fb175[_0x1a4e('0x8b')](_0x19501f,_0x15a493||[]))[_0x1a4e('0x7e')]());});},_0x3617c6=function(_0x19501f,_0x15a493){var _0x1e2e2e,_0x3fb175,_0x332235,_0x38c64a,_0x3617c6={'label':0x0,'sent':function(){if(0x1&_0x332235[0x0])throw _0x332235[0x1];return _0x332235[0x1];},'trys':[],'ops':[]};return _0x38c64a={'next':_0x2ee0ee(0x0),'throw':_0x2ee0ee(0x1),'return':_0x2ee0ee(0x2)},'function'==typeof Symbol&&(_0x38c64a[Symbol[_0x1a4e('0x335')]]=function(){return this;}),_0x38c64a;function _0x2ee0ee(_0x38c64a){return function(_0x2ee0ee){return function(_0x38c64a){if(_0x1e2e2e)throw new TypeError(_0x1a4e('0x16f8'));for(;_0x3617c6;)try{if(_0x1e2e2e=0x1,_0x3fb175&&(_0x332235=0x2&_0x38c64a[0x0]?_0x3fb175[_0x1a4e('0xe40')]:_0x38c64a[0x0]?_0x3fb175[_0x1a4e('0x1362')]||((_0x332235=_0x3fb175[_0x1a4e('0xe40')])&&_0x332235[_0x1a4e('0x1')](_0x3fb175),0x0):_0x3fb175['next'])&&!(_0x332235=_0x332235[_0x1a4e('0x1')](_0x3fb175,_0x38c64a[0x1]))[_0x1a4e('0x3c2')])return _0x332235;switch(_0x3fb175=0x0,_0x332235&&(_0x38c64a=[0x2&_0x38c64a[0x0],_0x332235['value']]),_0x38c64a[0x0]){case 0x0:case 0x1:_0x332235=_0x38c64a;break;case 0x4:return _0x3617c6[_0x1a4e('0x1bc')]++,{'value':_0x38c64a[0x1],'done':!0x1};case 0x5:_0x3617c6[_0x1a4e('0x1bc')]++,_0x3fb175=_0x38c64a[0x1],_0x38c64a=[0x0];continue;case 0x7:_0x38c64a=_0x3617c6[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x3617c6['trys'][_0x1a4e('0x76')]();continue;default:if(!(_0x332235=(_0x332235=_0x3617c6[_0x1a4e('0x1669')])['length']>0x0&&_0x332235[_0x332235[_0x1a4e('0x1e')]-0x1])&&(0x6===_0x38c64a[0x0]||0x2===_0x38c64a[0x0])){_0x3617c6=0x0;continue;}if(0x3===_0x38c64a[0x0]&&(!_0x332235||_0x38c64a[0x1]>_0x332235[0x0]&&_0x38c64a[0x1]<_0x332235[0x3])){_0x3617c6['label']=_0x38c64a[0x1];break;}if(0x6===_0x38c64a[0x0]&&_0x3617c6[_0x1a4e('0x1bc')]<_0x332235[0x1]){_0x3617c6[_0x1a4e('0x1bc')]=_0x332235[0x1],_0x332235=_0x38c64a;break;}if(_0x332235&&_0x3617c6[_0x1a4e('0x1bc')]<_0x332235[0x2]){_0x3617c6['label']=_0x332235[0x2],_0x3617c6[_0x1a4e('0x166a')][_0x1a4e('0x46')](_0x38c64a);break;}_0x332235[0x2]&&_0x3617c6[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x3617c6[_0x1a4e('0x1669')]['pop']();continue;}_0x38c64a=_0x15a493[_0x1a4e('0x1')](_0x19501f,_0x3617c6);}catch(_0x3fea8c){_0x38c64a=[0x6,_0x3fea8c],_0x3fb175=0x0;}finally{_0x1e2e2e=_0x332235=0x0;}if(0x5&_0x38c64a[0x0])throw _0x38c64a[0x1];return{'value':_0x38c64a[0x0]?_0x38c64a[0x1]:void 0x0,'done':!0x0};}([_0x38c64a,_0x2ee0ee]);};}},_0x2ee0ee=function(){function _0x19501f(_0x19501f,_0x15a493,_0x1e2e2e){this[_0x1a4e('0x4764')]=_0x19501f,this[_0x1a4e('0x5987')]=_0x15a493,this[_0x1a4e('0x598a')]=_0x1e2e2e,this[_0x1a4e('0x5988')]();}return _0x19501f[_0x1a4e('0xa')][_0x1a4e('0x5988')]=function(){return _0x38c64a(this,void 0x0,void 0x0,function(){var _0x19501f,_0x15a493,_0x1e2e2e;return _0x3617c6(this,function(_0x38c64a){switch(_0x38c64a[_0x1a4e('0x1bc')]){case 0x0:return[0x4,Object(_0x3fb175[_0x1a4e('0x599c')])(this['_url'])];case 0x1:return _0x19501f=_0x38c64a[_0x1a4e('0x128a')](),_0x15a493=Object(_0x332235[_0x1a4e('0x5989')])(_0x19501f+this[_0x1a4e('0x598a')]),[0x4,Object(_0x3fb175[_0x1a4e('0x598b')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x5987')],_0x15a493)];case 0x2:return _0x1e2e2e=_0x38c64a[_0x1a4e('0x128a')](),this[_0x1a4e('0x598c')]=_0x1e2e2e[_0x1a4e('0x2381')],[0x2,this['_icenterToken']];}});});},_0x19501f[_0x1a4e('0xa')][_0x1a4e('0x599d')]=function(){return _0x38c64a(this,void 0x0,void 0x0,function(){return _0x3617c6(this,function(_0x19501f){switch(_0x19501f[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x19501f['sent'](),[0x4,Object(_0x3fb175['getUserInfo'])(this['_url'],this[_0x1a4e('0x598c')])];case 0x2:return[0x2,_0x19501f[_0x1a4e('0x128a')]()];}});});},_0x19501f[_0x1a4e('0xa')][_0x1a4e('0x599e')]=function(){return _0x38c64a(this,void 0x0,void 0x0,function(){return _0x3617c6(this,function(_0x19501f){switch(_0x19501f[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x19501f[_0x1a4e('0x128a')](),[0x2,this[_0x1a4e('0x598c')]];}});});},_0x19501f;}();},'./src/iCenter/api/layersApi.js':function(_0x23f5aa,_0x5f564a,_0x59d301){'use strict';Object[_0x1a4e('0x2')](_0x5f564a,_0x1a4e('0x6'),{'value':!0x0}),_0x5f564a['getTileLayersList']=function(_0x23f5aa,_0x5f564a,_0x59d301,_0x4b085d,_0x333b10,_0x293523,_0x28b250,_0x255d46){return fetch(_0x23f5aa+_0x1a4e('0x599f')+_0x59d301+'&pageSize='+_0x4b085d+'&order='+_0x333b10+_0x1a4e('0x59a0')+_0x28b250+_0x1a4e('0x59a1')+_0x293523+_0x1a4e('0x59a2')+_0x255d46,{'headers':{'Authorization':_0x5f564a}})[_0x1a4e('0xdf8')](function(_0x23f5aa){return _0x23f5aa['json']();});},_0x5f564a['getLayersList']=function(_0x23f5aa,_0x5f564a,_0x59d301,_0x57d4b4,_0x3cf921,_0xe9499b,_0x40a371,_0x46d50a){return fetch(_0x23f5aa+'/geodata/api/v1/layers?page='+_0x59d301+_0x1a4e('0x59a3')+_0x57d4b4+_0x1a4e('0x59a4')+_0x3cf921+_0x1a4e('0x59a0')+_0x40a371+_0x1a4e('0x59a1')+_0xe9499b+_0x1a4e('0x59a2')+_0x46d50a,{'headers':{'Authorization':_0x5f564a}})[_0x1a4e('0xdf8')](function(_0x23f5aa){return _0x23f5aa[_0x1a4e('0x1a7')]();});},_0x5f564a[_0x1a4e('0x59a5')]=function(_0x23f5aa,_0x5f564a,_0x59d301,_0x51b2e9,_0x559b2c,_0x17e118){return fetch(_0x23f5aa+_0x1a4e('0x59a6')+_0x59d301+_0x1a4e('0x59a3')+_0x51b2e9+_0x1a4e('0x59a7')+_0x559b2c+_0x1a4e('0x59a2')+_0x17e118,{'headers':{'Authorization':_0x5f564a}})[_0x1a4e('0xdf8')](function(_0x23f5aa){return _0x23f5aa[_0x1a4e('0x1a7')]();});},_0x5f564a['getRealTimeDataList']=function(_0x23f5aa,_0x5f564a,_0x59d301,_0x38d81f){return fetch(_0x23f5aa+_0x1a4e('0x59a8')+_0x59d301+_0x1a4e('0x59a9')+_0x38d81f,{'headers':{'Authorization':_0x5f564a}})[_0x1a4e('0xdf8')](function(_0x23f5aa){return _0x23f5aa[_0x1a4e('0x1a7')]();});},_0x5f564a['getClusterRealTimeData']=function(_0x23f5aa,_0x5f564a,_0x59d301,_0xfdf6c,_0x414776,_0x3558f6,_0x426e69,_0x5d913d){return fetch(_0x23f5aa+_0x1a4e('0x59aa')+_0x59d301+_0x1a4e('0x59ab')+_0xfdf6c+_0x1a4e('0x59ac')+_0x414776+_0x1a4e('0x59ad')+_0x3558f6+_0x1a4e('0x59ae')+_0x426e69+_0x1a4e('0x59af')+_0x5d913d,{'headers':{'Authorization':_0x5f564a}})['then'](function(_0x23f5aa){return _0x23f5aa['json']();});},_0x5f564a[_0x1a4e('0x59b0')]=function(_0x23f5aa,_0x5f564a,_0x59d301,_0x49ad2d,_0x4ecf8a,_0x3879d9,_0x5a8506){return fetch(_0x23f5aa+'/geoiot/api/v1/data/targets?sourceId='+_0x59d301+_0x1a4e('0x59ab')+_0x49ad2d+_0x1a4e('0x59ac')+_0x4ecf8a+_0x1a4e('0x59ad')+_0x3879d9+_0x1a4e('0x59ae')+_0x5a8506,{'headers':{'Authorization':_0x5f564a}})[_0x1a4e('0xdf8')](function(_0x23f5aa){return _0x23f5aa[_0x1a4e('0x1a7')]();});};},'./src/iCenter/api/login.js':function(_0x945edd,_0x10bd78,_0x21544c){'use strict';Object[_0x1a4e('0x2')](_0x10bd78,_0x1a4e('0x6'),{'value':!0x0}),_0x10bd78[_0x1a4e('0x599c')]=function(_0x945edd){return fetch(_0x945edd+_0x1a4e('0x59b1'))['then'](function(_0x945edd){return _0x945edd[_0x1a4e('0xe04')]();});},_0x10bd78[_0x1a4e('0x598b')]=function(_0x945edd,_0x10bd78,_0x21544c){return fetch(_0x945edd+_0x1a4e('0x59b2'),{'method':'POST','headers':{'Accept':'application/json,\x20text/plain,\x20*/*','Content-Type':_0x1a4e('0x59b3')},'body':JSON[_0x1a4e('0xd7')]({'username':_0x10bd78,'password':_0x21544c})})[_0x1a4e('0xdf8')](function(_0x945edd){return 0xc8!==_0x945edd['status']&&alert('请输入正确的iCenter地址和账号'),_0x945edd[_0x1a4e('0x1a7')]();});},_0x10bd78[_0x1a4e('0x599d')]=function(_0x945edd,_0x10bd78){return fetch(_0x945edd+_0x1a4e('0x59b4'),{'headers':{'Authorization':_0x10bd78}})[_0x1a4e('0xdf8')](function(_0x945edd){return _0x945edd[_0x1a4e('0x1a7')]();});};_0x21544c(_0x1a4e('0x5986'));},'./src/iCenter/api/placeApi.js':function(_0x6fd3dc,_0x309fbb,_0x4b5568){'use strict';Object[_0x1a4e('0x2')](_0x309fbb,_0x1a4e('0x6'),{'value':!0x0}),_0x309fbb['getTree']=function(_0x6fd3dc,_0x309fbb){return fetch(_0x6fd3dc+_0x1a4e('0x59b5'),{'headers':{'Authorization':_0x309fbb}})['then'](function(_0x6fd3dc){return _0x6fd3dc[_0x1a4e('0x1a7')]();});},_0x309fbb[_0x1a4e('0x5994')]=function(_0x6fd3dc,_0x309fbb,_0x4b5568){return fetch(_0x6fd3dc+'/placeservice/api/v1/vectors/district?code='+_0x4b5568+_0x1a4e('0x59b6'),{'headers':{'Authorization':_0x309fbb}})[_0x1a4e('0xdf8')](function(_0x6fd3dc){return _0x6fd3dc['text']();});},_0x309fbb['getGeometryByCountryName']=function(_0x6fd3dc,_0x309fbb,_0x4b5568){return fetch(_0x6fd3dc+_0x1a4e('0x59b7'),{'method':_0x1a4e('0x529f'),'headers':{'Authorization':_0x309fbb,'Accept':'application/json,\x20text/plain,\x20*/*','Content-Type':_0x1a4e('0x59b3')},'body':JSON['stringify']({'dataName':_0x4b5568,'returnGeometry':!0x0})})['then'](function(_0x6fd3dc){return _0x6fd3dc[_0x1a4e('0xe04')]();});},_0x309fbb['getGlobalList']=function(_0x6fd3dc,_0x309fbb,_0x4b5568){return fetch(_0x6fd3dc+_0x1a4e('0x59b7'),{'method':'POST','headers':{'Authorization':_0x309fbb,'Accept':_0x1a4e('0x59b8'),'Content-Type':'application/json;charset=UTF-8'},'body':JSON[_0x1a4e('0xd7')]({'dataName':_0x4b5568,'returnGeometry':!0x1})})['then'](function(_0x6fd3dc){return _0x6fd3dc[_0x1a4e('0x1a7')]();});},_0x309fbb[_0x1a4e('0x598e')]=function(_0x6fd3dc,_0x309fbb,_0x4b5568){return fetch(_0x6fd3dc+_0x1a4e('0x59b9')+_0x4b5568,{'headers':{'Authorization':_0x309fbb}})[_0x1a4e('0xdf8')](function(_0x6fd3dc){return _0x6fd3dc[_0x1a4e('0x1a7')]();});};},'./src/iCenter/iCenter.ts':function(_0x12d0cf,_0x24a145,_0x56d049){'use strict';_0x56d049['r'](_0x24a145),_0x56d049['d'](_0x24a145,_0x1a4e('0x3ff6'),function(){return _0x314153;});var _0x16cd64=_0x56d049(_0x1a4e('0x59ba')),_0x24a725=_0x56d049('./src/iCenter/UserInfo.ts'),_0xe1c542=_0x56d049(_0x1a4e('0x59bb')),_0x1f3cdc=_0x56d049(_0x1a4e('0x5985')),_0x169e3e=_0x56d049(_0x1a4e('0x59bc')),_0x22cbcc=_0x56d049(_0x1a4e('0x5986')),_0x43664b=function(_0x12d0cf,_0x24a145,_0x56d049,_0x16cd64){return new(_0x56d049||(_0x56d049=Promise))(function(_0x24a725,_0xe1c542){function _0x1f3cdc(_0x12d0cf){try{_0x22cbcc(_0x16cd64['next'](_0x12d0cf));}catch(_0x545512){_0xe1c542(_0x545512);}}function _0x169e3e(_0x12d0cf){try{_0x22cbcc(_0x16cd64[_0x1a4e('0x1362')](_0x12d0cf));}catch(_0x1bc000){_0xe1c542(_0x1bc000);}}function _0x22cbcc(_0x12d0cf){_0x12d0cf[_0x1a4e('0x3c2')]?_0x24a725(_0x12d0cf[_0x1a4e('0x255')]):new _0x56d049(function(_0x24a145){_0x24a145(_0x12d0cf[_0x1a4e('0x255')]);})[_0x1a4e('0xdf8')](_0x1f3cdc,_0x169e3e);}_0x22cbcc((_0x16cd64=_0x16cd64['apply'](_0x12d0cf,_0x24a145||[]))['next']());});},_0x58588b=function(_0x12d0cf,_0x24a145){var _0x56d049,_0x16cd64,_0x24a725,_0xe1c542,_0x1f3cdc={'label':0x0,'sent':function(){if(0x1&_0x24a725[0x0])throw _0x24a725[0x1];return _0x24a725[0x1];},'trys':[],'ops':[]};return _0xe1c542={'next':_0x169e3e(0x0),'throw':_0x169e3e(0x1),'return':_0x169e3e(0x2)},'function'==typeof Symbol&&(_0xe1c542[Symbol['iterator']]=function(){return this;}),_0xe1c542;function _0x169e3e(_0xe1c542){return function(_0x169e3e){return function(_0xe1c542){if(_0x56d049)throw new TypeError(_0x1a4e('0x16f8'));for(;_0x1f3cdc;)try{if(_0x56d049=0x1,_0x16cd64&&(_0x24a725=0x2&_0xe1c542[0x0]?_0x16cd64['return']:_0xe1c542[0x0]?_0x16cd64[_0x1a4e('0x1362')]||((_0x24a725=_0x16cd64[_0x1a4e('0xe40')])&&_0x24a725[_0x1a4e('0x1')](_0x16cd64),0x0):_0x16cd64[_0x1a4e('0x7e')])&&!(_0x24a725=_0x24a725['call'](_0x16cd64,_0xe1c542[0x1]))['done'])return _0x24a725;switch(_0x16cd64=0x0,_0x24a725&&(_0xe1c542=[0x2&_0xe1c542[0x0],_0x24a725[_0x1a4e('0x255')]]),_0xe1c542[0x0]){case 0x0:case 0x1:_0x24a725=_0xe1c542;break;case 0x4:return _0x1f3cdc[_0x1a4e('0x1bc')]++,{'value':_0xe1c542[0x1],'done':!0x1};case 0x5:_0x1f3cdc[_0x1a4e('0x1bc')]++,_0x16cd64=_0xe1c542[0x1],_0xe1c542=[0x0];continue;case 0x7:_0xe1c542=_0x1f3cdc[_0x1a4e('0x166a')][_0x1a4e('0x76')](),_0x1f3cdc[_0x1a4e('0x1669')]['pop']();continue;default:if(!(_0x24a725=(_0x24a725=_0x1f3cdc[_0x1a4e('0x1669')])[_0x1a4e('0x1e')]>0x0&&_0x24a725[_0x24a725['length']-0x1])&&(0x6===_0xe1c542[0x0]||0x2===_0xe1c542[0x0])){_0x1f3cdc=0x0;continue;}if(0x3===_0xe1c542[0x0]&&(!_0x24a725||_0xe1c542[0x1]>_0x24a725[0x0]&&_0xe1c542[0x1]<_0x24a725[0x3])){_0x1f3cdc[_0x1a4e('0x1bc')]=_0xe1c542[0x1];break;}if(0x6===_0xe1c542[0x0]&&_0x1f3cdc[_0x1a4e('0x1bc')]<_0x24a725[0x1]){_0x1f3cdc[_0x1a4e('0x1bc')]=_0x24a725[0x1],_0x24a725=_0xe1c542;break;}if(_0x24a725&&_0x1f3cdc[_0x1a4e('0x1bc')]<_0x24a725[0x2]){_0x1f3cdc['label']=_0x24a725[0x2],_0x1f3cdc['ops'][_0x1a4e('0x46')](_0xe1c542);break;}_0x24a725[0x2]&&_0x1f3cdc[_0x1a4e('0x166a')]['pop'](),_0x1f3cdc['trys'][_0x1a4e('0x76')]();continue;}_0xe1c542=_0x24a145[_0x1a4e('0x1')](_0x12d0cf,_0x1f3cdc);}catch(_0x5be939){_0xe1c542=[0x6,_0x5be939],_0x16cd64=0x0;}finally{_0x56d049=_0x24a725=0x0;}if(0x5&_0xe1c542[0x0])throw _0xe1c542[0x1];return{'value':_0xe1c542[0x0]?_0xe1c542[0x1]:void 0x0,'done':!0x0};}([_0xe1c542,_0x169e3e]);};}},_0x314153=function(){function _0x12d0cf(_0x12d0cf,_0x24a145,_0x56d049,_0x16cd64){this[_0x1a4e('0x38fa')]=_0x12d0cf,this[_0x1a4e('0x4764')]=_0x24a145,this[_0x1a4e('0x5987')]=_0x56d049,this[_0x1a4e('0x598a')]=_0x16cd64,this[_0x1a4e('0x5988')]();}return Object[_0x1a4e('0x2')](_0x12d0cf[_0x1a4e('0xa')],_0x1a4e('0x59bd'),{'get':function(){return this[_0x1a4e('0x59be')]||(this['_userInfo']=new _0x24a725['UserInfo'](this['_url'],this[_0x1a4e('0x5987')],this[_0x1a4e('0x598a')])),this[_0x1a4e('0x59be')];},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1a4e('0x2')](_0x12d0cf[_0x1a4e('0xa')],_0x1a4e('0x59bf'),{'get':function(){return this[_0x1a4e('0x59c0')]||(this[_0x1a4e('0x59c0')]=new _0x16cd64[(_0x1a4e('0x5984'))](this['_viewer'],this[_0x1a4e('0x4764')],this[_0x1a4e('0x5987')],this[_0x1a4e('0x598a')])),this['_placeName'];},'enumerable':!0x0,'configurable':!0x0}),_0x12d0cf[_0x1a4e('0xa')][_0x1a4e('0x5988')]=function(){return _0x43664b(this,void 0x0,void 0x0,function(){var _0x12d0cf,_0x24a145,_0x56d049;return _0x58588b(this,function(_0x16cd64){switch(_0x16cd64[_0x1a4e('0x1bc')]){case 0x0:return[0x4,Object(_0x1f3cdc[_0x1a4e('0x599c')])(this[_0x1a4e('0x4764')])];case 0x1:return _0x12d0cf=_0x16cd64[_0x1a4e('0x128a')](),_0x24a145=Object(_0x22cbcc[_0x1a4e('0x5989')])(_0x12d0cf+this[_0x1a4e('0x598a')]),[0x4,Object(_0x1f3cdc[_0x1a4e('0x598b')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x5987')],_0x24a145)];case 0x2:return _0x56d049=_0x16cd64[_0x1a4e('0x128a')](),this[_0x1a4e('0x598c')]=_0x56d049[_0x1a4e('0x2381')],[0x2,this[_0x1a4e('0x598c')]];}});});},_0x12d0cf[_0x1a4e('0xa')]['getBaseImageLayers']=function(_0x12d0cf,_0x24a145){return _0x43664b(this,void 0x0,void 0x0,function(){return _0x58588b(this,function(_0x56d049){switch(_0x56d049[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x56d049[_0x1a4e('0x128a')](),[0x4,Object(_0x169e3e['getTileLayersList'])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x598c')],_0x12d0cf,_0x24a145,'DESC',_0x1a4e('0x59c1'),!0x0,'')];case 0x2:return[0x2,_0x56d049[_0x1a4e('0x128a')]()];}});});},_0x12d0cf['prototype'][_0x1a4e('0x59c2')]=function(_0x12d0cf,_0x24a145){return _0x43664b(this,void 0x0,void 0x0,function(){return _0x58588b(this,function(_0x56d049){switch(_0x56d049[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this['_loginIcenter']()];case 0x1:return _0x56d049[_0x1a4e('0x128a')](),[0x4,Object(_0x169e3e['getLayersList'])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x598c')],_0x12d0cf,_0x24a145,'DESC',_0x1a4e('0x59c1'),!0x1,'')];case 0x2:return[0x2,_0x56d049[_0x1a4e('0x128a')]()];}});});},_0x12d0cf['prototype'][_0x1a4e('0x59c3')]=function(_0x12d0cf,_0x24a145){return _0x43664b(this,void 0x0,void 0x0,function(){return _0x58588b(this,function(_0x56d049){switch(_0x56d049[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x56d049[_0x1a4e('0x128a')](),[0x4,Object(_0x169e3e[_0x1a4e('0x59c4')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x598c')],_0x12d0cf,_0x24a145,_0x1a4e('0x59c5'),_0x1a4e('0x59c6'),!0x1,'')];case 0x2:return[0x2,_0x56d049['sent']()];}});});},_0x12d0cf[_0x1a4e('0xa')]['getTerrainLayers']=function(_0x12d0cf,_0x24a145){return _0x43664b(this,void 0x0,void 0x0,function(){return _0x58588b(this,function(_0x56d049){switch(_0x56d049[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this['_loginIcenter']()];case 0x1:return _0x56d049[_0x1a4e('0x128a')](),[0x4,Object(_0x169e3e[_0x1a4e('0x59c7')])(this['_url'],this[_0x1a4e('0x598c')],_0x12d0cf,_0x24a145,_0x1a4e('0x59c5'),'DEMLAYER',!0x1,'')];case 0x2:return[0x2,_0x56d049[_0x1a4e('0x128a')]()];}});});},_0x12d0cf['prototype'][_0x1a4e('0x59c8')]=function(_0x12d0cf,_0x24a145){return _0x43664b(this,void 0x0,void 0x0,function(){return _0x58588b(this,function(_0x56d049){switch(_0x56d049['label']){case 0x0:return[0x4,this['_loginIcenter']()];case 0x1:return _0x56d049[_0x1a4e('0x128a')](),[0x4,Object(_0x169e3e[_0x1a4e('0x59c7')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x598c')],_0x12d0cf,_0x24a145,'DESC',_0x1a4e('0x59c9'),!0x1,'')];case 0x2:return[0x2,_0x56d049[_0x1a4e('0x128a')]()];}});});},_0x12d0cf['prototype'][_0x1a4e('0x59ca')]=function(_0x12d0cf,_0x24a145){return _0x43664b(this,void 0x0,void 0x0,function(){return _0x58588b(this,function(_0x56d049){switch(_0x56d049[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x56d049[_0x1a4e('0x128a')](),[0x4,Object(_0x169e3e[_0x1a4e('0x59a5')])(this[_0x1a4e('0x4764')],this['_icenterToken'],_0x12d0cf,_0x24a145,_0x1a4e('0x59c5'),'')];case 0x2:return[0x2,_0x56d049[_0x1a4e('0x128a')]()];}});});},_0x12d0cf['prototype'][_0x1a4e('0x59cb')]=function(_0x12d0cf,_0x24a145){return _0x43664b(this,void 0x0,void 0x0,function(){return _0x58588b(this,function(_0x56d049){switch(_0x56d049[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x56d049[_0x1a4e('0x128a')](),[0x4,Object(_0x169e3e[_0x1a4e('0x59cc')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x598c')],_0x12d0cf,_0x24a145,_0x1a4e('0x59c5'),'')];case 0x2:return[0x2,_0x56d049[_0x1a4e('0x128a')]()];}});});},_0x12d0cf[_0x1a4e('0xa')]['getClusterRealTimeData']=function(_0x12d0cf,_0x24a145,_0x56d049,_0x16cd64,_0x24a725,_0xe1c542){return _0x43664b(this,void 0x0,void 0x0,function(){return _0x58588b(this,function(_0x1f3cdc){switch(_0x1f3cdc[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0x1f3cdc[_0x1a4e('0x128a')](),[0x4,Object(_0x169e3e[_0x1a4e('0x59cd')])(this['_url'],this['_icenterToken'],_0x12d0cf,_0x24a145,_0x56d049,_0x16cd64,_0x24a725,_0xe1c542)];case 0x2:return[0x2,_0x1f3cdc[_0x1a4e('0x128a')]()];}});});},_0x12d0cf['prototype'][_0x1a4e('0x59b0')]=function(_0x12d0cf,_0x24a145,_0x56d049,_0x16cd64,_0x24a725){return _0x43664b(this,void 0x0,void 0x0,function(){return _0x58588b(this,function(_0xe1c542){switch(_0xe1c542[_0x1a4e('0x1bc')]){case 0x0:return[0x4,this[_0x1a4e('0x5988')]()];case 0x1:return _0xe1c542['sent'](),[0x4,Object(_0x169e3e[_0x1a4e('0x59b0')])(this[_0x1a4e('0x4764')],this[_0x1a4e('0x598c')],_0x12d0cf,_0x24a145,_0x56d049,_0x16cd64,_0x24a725)];case 0x2:return[0x2,_0xe1c542[_0x1a4e('0x128a')]()];}});});},_0x12d0cf['prototype']['createBaseImageLayer']=function(_0x12d0cf){var _0x24a145=this[_0x1a4e('0x4764')]+_0x1a4e('0x59ce')+_0x12d0cf[_0x1a4e('0x59cf')]+'&tilematrixset='+_0x12d0cf[_0x1a4e('0x59d0')]+'&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/'+_0x12d0cf[_0x1a4e('0x3d11')][_0x1a4e('0x2b2')]()+_0x1a4e('0x59d1'),_0x56d049=null,_0x16cd64=[];if(_0x1a4e('0x5280')===_0x12d0cf['gridSet']){var _0x24a725=window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x38da')][_0x1a4e('0x59d2')](_0x12d0cf['minX'],_0x12d0cf[_0x1a4e('0x71')]),_0xe1c542=window[_0x1a4e('0x3ae6')]()['GeoPoint'][_0x1a4e('0x59d2')](_0x12d0cf[_0x1a4e('0x75')],_0x12d0cf[_0x1a4e('0x72')]);_0x16cd64=[_0x24a725[_0x1a4e('0x1a1')],_0x24a725[_0x1a4e('0x1a2')],_0xe1c542[_0x1a4e('0x1a1')],_0xe1c542[_0x1a4e('0x1a2')]],_0x56d049=new Cesium[(_0x1a4e('0x476f'))]({'url':_0x24a145,'layer':_0x12d0cf[_0x1a4e('0x59cf')],'style':'default','format':'image/'+_0x12d0cf['mimeType'][_0x1a4e('0x2b2')](),'tileMatrixSetID':_0x12d0cf[_0x1a4e('0x59d0')],'tilingScheme':new Cesium['WebMercatorTilingScheme'](),'rectangle':Cesium['Rectangle']['fromDegrees'](Number(_0x16cd64[0x0][_0x1a4e('0x1e5')](0x0)),Number(_0x16cd64[0x1][_0x1a4e('0x1e5')](0x0)),Number(_0x16cd64[0x2][_0x1a4e('0x1e5')](0x0)),Number(_0x16cd64[0x3][_0x1a4e('0x1e5')](0x0)))});}else _0x16cd64=[_0x12d0cf[_0x1a4e('0x70')],_0x12d0cf[_0x1a4e('0x71')],_0x12d0cf[_0x1a4e('0x75')],_0x12d0cf['maxY']],_0x56d049=new Cesium[(_0x1a4e('0x476f'))]({'url':_0x24a145,'layer':_0x12d0cf[_0x1a4e('0x59cf')],'style':_0x1a4e('0x8'),'format':'image/'+_0x12d0cf[_0x1a4e('0x3d11')]['toLowerCase'](),'tileMatrixSetID':_0x12d0cf['gridSet'],'tilingScheme':new Cesium[(_0x1a4e('0x4755'))](),'rectangle':Cesium[_0x1a4e('0x3965')]['fromDegrees'](_0x16cd64[0x0],_0x16cd64[0x1],_0x16cd64[0x2],_0x16cd64[0x3])});return _0x56d049;},_0x12d0cf['prototype'][_0x1a4e('0x59d3')]=function(_0x12d0cf){var _0x24a145=this[_0x1a4e('0x4764')]+_0x1a4e('0x59d4')+_0x12d0cf[_0x1a4e('0x59d5')]+':'+_0x12d0cf[_0x1a4e('0x59cf')]+_0x1a4e('0x59d6')+_0x12d0cf[_0x1a4e('0x59d0')]+_0x1a4e('0x59d7')+_0x12d0cf['mimeType']['toLowerCase']()+_0x1a4e('0x59d1'),_0x56d049=null,_0x16cd64=[];if(_0x1a4e('0x5280')===_0x12d0cf[_0x1a4e('0x59d0')]){var _0x24a725=window['GET_NS3D']()[_0x1a4e('0x38da')][_0x1a4e('0x59d2')](_0x12d0cf[_0x1a4e('0x70')],_0x12d0cf['minY']),_0xe1c542=window[_0x1a4e('0x3ae6')]()[_0x1a4e('0x38da')]['fromMercator'](_0x12d0cf['maxX'],_0x12d0cf['maxY']);_0x16cd64=[_0x24a725[_0x1a4e('0x1a1')],_0x24a725[_0x1a4e('0x1a2')],_0xe1c542[_0x1a4e('0x1a1')],_0xe1c542[_0x1a4e('0x1a2')]],_0x56d049=new Cesium[(_0x1a4e('0x476f'))]({'url':_0x24a145,'layer':_0x12d0cf[_0x1a4e('0x59d5')]+':'+_0x12d0cf[_0x1a4e('0x59cf')],'style':_0x1a4e('0x8'),'format':_0x1a4e('0x5114')+_0x12d0cf[_0x1a4e('0x3d11')][_0x1a4e('0x2b2')](),'tileMatrixSetID':_0x12d0cf[_0x1a4e('0x59d0')],'tilingScheme':new Cesium[(_0x1a4e('0x4735'))](),'rectangle':Cesium[_0x1a4e('0x3965')][_0x1a4e('0x38db')](_0x16cd64[0x0],_0x16cd64[0x1],_0x16cd64[0x2],_0x16cd64[0x3])});}else _0x16cd64=[_0x12d0cf[_0x1a4e('0x70')],_0x12d0cf[_0x1a4e('0x71')],_0x12d0cf[_0x1a4e('0x75')],_0x12d0cf[_0x1a4e('0x72')]],_0x56d049=new Cesium['WebMapTileServiceImageryProvider']({'url':_0x24a145,'layer':_0x12d0cf[_0x1a4e('0x59d5')]+':'+_0x12d0cf[_0x1a4e('0x59cf')],'style':_0x1a4e('0x8'),'format':_0x1a4e('0x5114')+_0x12d0cf[_0x1a4e('0x3d11')]['toLowerCase'](),'tileMatrixSetID':_0x12d0cf[_0x1a4e('0x59d0')],'tilingScheme':new Cesium['GeographicTilingScheme'](),'rectangle':Cesium['Rectangle']['fromDegrees'](_0x16cd64[0x0],_0x16cd64[0x1],_0x16cd64[0x2],_0x16cd64[0x3])});return _0x56d049;},_0x12d0cf['prototype'][_0x1a4e('0x59d8')]=function(_0x12d0cf){var _0x24a145=this[_0x1a4e('0x4764')]+_0x1a4e('0x59d9'),_0x56d049=new _0xe1c542[(_0x1a4e('0x3fc7'))](_0x24a145,_0x12d0cf['workspace']+':'+_0x12d0cf[_0x1a4e('0x59cf')]);return new _0xe1c542[(_0x1a4e('0x3fc6'))](_0x56d049);},_0x12d0cf['prototype']['createTerrainLayer']=function(_0x12d0cf){return new Cesium[(_0x1a4e('0x59da'))]({'url':this[_0x1a4e('0x4764')]+_0x1a4e('0x59db')+_0x12d0cf[_0x1a4e('0x59cf')],'requestVertexNormals':!0x0});},_0x12d0cf['prototype'][_0x1a4e('0x59dc')]=function(_0x12d0cf){var _0x24a145=new Cesium[(_0x1a4e('0x43a6'))]({'url':this[_0x1a4e('0x4764')]+_0x1a4e('0x59dd')+_0x12d0cf[_0x1a4e('0x59cf')]+_0x1a4e('0x59de')});return this[_0x1a4e('0x38fa')][_0x1a4e('0x38d6')][_0x1a4e('0x59df')]=!0x1,_0x24a145;},_0x12d0cf;}();},'./src/iCenter/utils/passWordRsa.js':function(_0x5bda2d,_0x40311b,_0x56c6a0){'use strict';Object[_0x1a4e('0x2')](_0x40311b,_0x1a4e('0x6'),{'value':!0x0}),_0x40311b[_0x1a4e('0x5989')]=function(_0x5bda2d){var _0x40311b=new _0x6084bc[(_0x1a4e('0x8'))]();return _0x40311b[_0x1a4e('0xb35')](_0x1a4e('0x59e0')),_0x40311b[_0x1a4e('0xa4f')](_0x5bda2d);},_0x40311b[_0x1a4e('0x59e1')]=function(_0x5bda2d){var _0x40311b=new _0x6084bc[(_0x1a4e('0x8'))]();return _0x40311b['setPublicKey'](_0x1a4e('0x59e0')),_0x40311b[_0x1a4e('0xa4f')](_0x5bda2d);};var _0x43f607,_0x4fdb25=_0x56c6a0(_0x1a4e('0x59e2')),_0x6084bc=(_0x43f607=_0x4fdb25)&&_0x43f607['__esModule']?_0x43f607:{'default':_0x43f607};},0:function(_0x43a754,_0x52def8,_0x37e85f){_0x43a754[_0x1a4e('0x0')]=_0x37e85f(_0x1a4e('0x59e3'));},1:function(_0x2dbbaf,_0x5aba4d){},2:function(_0x17b3c6,_0x4509d0){},3:function(_0x275d3c,_0x305974){},4:function(_0x3c53de,_0x2b71cf){},5:function(_0x78b7f3,_0x6f02f8){},6:function(_0x44a892,_0x3f2456){},7:function(_0x251318,_0xf1b9ec){}}); \ No newline at end of file diff --git a/public/GV/cesium.d.ts b/public/GV/cesium.d.ts new file mode 100644 index 000000000..35e6be595 --- /dev/null +++ b/public/GV/cesium.d.ts @@ -0,0 +1,9095 @@ + +/** + * Created by laixiangran on 2018/10/08. + * homepage:http://www.laixiangran.cn + * Typescript definition for cesium 1.5x + */ +declare module GeoVis { + class a { + + } +} +declare module Cesium { + + function defineProperties(a1, a2); + function when(a1, a2); + class Ion { + static defaultAccessToken: string + static defaultServer: string + + constructor() + } + + type RenderState = any + + interface Proxy { + getURL(resource: string): string + } + + class ArcGisImageServerTerrainProvider { + errorEvent: Event + credit: Credit + tilingScheme: GeographicTilingScheme + ready: boolean + hasWaterMask: boolean + hasVertexNormals: boolean + + constructor(options: { + url: string + token?: string + proxy?: any + tilingScheme?: TilingScheme + ellipsoid?: Ellipsoid + credit?: Credit | string + }) + + requestTileGeometry(x: number, y: number, level: number): Promise + + getLevelMaximumGeometricError(level: number): number + + getTileDataAvailable(x: number, y: number, level: number): boolean + } + + class AssociativeArray { + length: number + values: any[] + + contains(key: string | number): boolean + + set(key: string | number, value: any): void + + get(key: string | number): any + + remove(key: string | number): boolean + + removeAll(): void + } + + class AxisAlignedBoundingBox { + minimum: Cartesian3 + maximum: Cartesian3 + center: Cartesian3 + + constructor(minimum?: Cartesian3, maximum?: Cartesian3, center?: Cartesian3) + + clone(result?: AxisAlignedBoundingBox): AxisAlignedBoundingBox + + intersect(plane: Cartesian4): Intersect + + equals(right?: AxisAlignedBoundingBox): boolean + + static fromPoints( + positions: Cartesian3[], + result?: AxisAlignedBoundingBox + ): AxisAlignedBoundingBox + + static clone( + box: AxisAlignedBoundingBox, + result?: AxisAlignedBoundingBox + ): AxisAlignedBoundingBox + + static equals(left?: AxisAlignedBoundingBox, right?: AxisAlignedBoundingBox): boolean + + static intersect(box: AxisAlignedBoundingBox, plane: Cartesian4): Intersect + } + + class BoundingRectangle { + x: number + y: number + width: number + height: number + + constructor(x?: number, y?: number, width?: number, height?: number) + + clone(result?: BoundingRectangle): BoundingRectangle + + intersect(right: BoundingRectangle): Intersect + + equals(right?: BoundingRectangle): boolean + + static fromPoints(positions: Cartesian2[], result?: BoundingRectangle): BoundingRectangle + + static fromRectangle( + rectangle: Rectangle, + projection?: any, + result?: BoundingRectangle + ): BoundingRectangle + + static clone(rectangle: BoundingRectangle, result?: BoundingRectangle): BoundingRectangle + + static union( + left: BoundingRectangle, + right: BoundingRectangle, + result?: BoundingRectangle + ): BoundingRectangle + + static expand( + rectangle: BoundingRectangle, + point: Cartesian2, + result?: BoundingRectangle + ): BoundingRectangle + + static intersect(left: BoundingRectangle, right: BoundingRectangle): Intersect + + static equals(left?: BoundingRectangle, right?: BoundingRectangle): boolean + } + + class BoundingSphere { + static packedLength: number + center: Cartesian3 + radius: number + + constructor(center?: Cartesian3, radius?: number) + + static fromPoints(positions: Cartesian3[], result?: BoundingSphere): BoundingSphere + + static fromRectangle2D( + rectangle: Rectangle, + projection?: any, + result?: BoundingSphere + ): BoundingSphere + + static fromRectangleWithHeights2D( + rectangle: Rectangle, + projection?: any, + minimumHeight?: number, + maximumHeight?: number, + result?: BoundingSphere + ): BoundingSphere + + static fromRectangle3D( + rectangle: Rectangle, + ellipsoid?: Ellipsoid, + surfaceHeight?: number, + result?: BoundingSphere + ): BoundingSphere + + static fromVertices( + positions: Cartesian3[], + center?: Cartesian3, + stride?: number, + result?: BoundingSphere + ): BoundingSphere + + static fromCornerPoints( + corner?: number, + oppositeCorner?: number, + result?: BoundingSphere + ): BoundingSphere + + static fromEllipsoid(ellipsoid: Ellipsoid, result?: BoundingSphere): BoundingSphere + + static fromBoundingSpheres( + boundingSpheres: BoundingSphere[], + result?: BoundingSphere + ): BoundingSphere + + static fromEncodedCartesianVertices( + positionsHigh?: number[], + positionsLow?: number[], + result?: BoundingSphere + ): BoundingSphere + + static fromOrientedBoundingBox( + orientedBoundingBox: OrientedBoundingBox, + result?: BoundingSphere + ): BoundingSphere + + static clone(sphere: BoundingSphere, result?: BoundingSphere): BoundingSphere + + static pack(value: BoundingSphere, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: BoundingSphere): BoundingSphere + + static union( + left: BoundingSphere, + right: BoundingSphere, + result?: BoundingSphere + ): BoundingSphere + + static expand( + sphere: BoundingSphere, + point: Cartesian3, + result?: BoundingSphere + ): BoundingSphere + + static intersect(sphere: BoundingSphere, plane: Cartesian4): Intersect + + static transform( + sphere: BoundingSphere, + transform: Matrix4, + result?: BoundingSphere + ): BoundingSphere + + static distanceSquaredTo(sphere: BoundingSphere, cartesian: Cartesian3): number + + static transformWithoutScale( + sphere: BoundingSphere, + transform: Matrix4, + result?: BoundingSphere + ): BoundingSphere + + static computePlaneDistances( + sphere: BoundingSphere, + position: Cartesian3, + direction: Cartesian3, + result?: Cartesian2 + ): Interval + + static projectTo2D( + sphere: BoundingSphere, + projection?: any, + result?: BoundingSphere + ): BoundingSphere + + static equals(left?: BoundingSphere, right?: BoundingSphere): boolean + + static intersectPlane(sphere: BoundingSphere, plane: Plane): Intersect + + static isOccluded(sphere: BoundingSphere, occluder: Occluder): boolean + + intersect(plane: Cartesian4): Intersect + + equals(right?: BoundingSphere): boolean + + clone(result?: BoundingSphere): BoundingSphere + + computePlaneDistances(position: Cartesian3, direction: Cartesian3, result?: Interval): Interval + + distanceSquaredTo(cartesian: Cartesian3): number + + intersectPlane(plane: Plane): Intersect + + isOccluded(occluder: Occluder): boolean + } + + class OrientedBoundingBox { + center: Cartesian3 + halfAxes: Matrix3 + + constructor(center?: Cartesian3, halfAxes?: Matrix3) + + static clone(box: OrientedBoundingBox, result?: OrientedBoundingBox): OrientedBoundingBox + + static computePlaneDistances( + box: OrientedBoundingBox, + position: Cartesian3, + direction: Cartesian3, + result?: Interval + ): Interval + + static distanceSquaredTo(box: OrientedBoundingBox, cartesian: Cartesian3): number + + static equals(left: OrientedBoundingBox, right: OrientedBoundingBox): boolean + + static fromPoints(positions: Cartesian3[], result?: OrientedBoundingBox): OrientedBoundingBox + + static fromRectangle( + rectangle: Rectangle, + minimumHeight?: number, + maximumHeight?: number, + ellipsoid?: Ellipsoid, + result?: OrientedBoundingBox + ): OrientedBoundingBox + + static intersectPlane(box: OrientedBoundingBox, plane: Plane): Intersect + + static isOccluded(box: OrientedBoundingBox, occluder: Occluder): boolean + + clone(result?: OrientedBoundingBox): OrientedBoundingBox + + computePlaneDistances(position: Cartesian3, direction: Cartesian3, result?: Interval): Interval + + distanceSquaredTo(cartesian: Cartesian3): number + + equals(right: OrientedBoundingBox): boolean + + intersectPlane(plane: Plane): Intersect + + isOccluded(occluder: Occluder): boolean + } + + class BoxGeometry { + static packedLength: number + + constructor(options: { + minimumCorner: Cartesian3 + maximumCorner: Cartesian3 + vertexFormat?: VertexFormat + }) + + static createGeometry(boxGeometry: BoxGeometry): Geometry | undefined + + static fromAxisAlignedBoundingBox(boundingBox: AxisAlignedBoundingBox): BoxGeometry + + static fromDimensions(options: { + dimensions: Cartesian3 + vertexFormat?: VertexFormat + }): BoxGeometry + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: BoxGeometry): BoxGeometry + } + + class BoxOutlineGeometry { + static packedLength: number + + constructor() + + static fromDimensions(): BoxOutlineGeometry + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: BoxOutlineGeometry + ): BoxOutlineGeometry + + static createGeometry(boxGeometry: BoxOutlineGeometry): Geometry | undefined + } + + class Cartesian2 { + x: number + y: number + static packedLength: number + static ZERO: Cartesian2 + static UNIT_X: Cartesian2 + static UNIT_Y: Cartesian2 + + constructor(x?: number, y?: number) + + clone(result?: Cartesian2): Cartesian2 + + equals(right?: Cartesian2): boolean + + equalsEpsilon(right: Cartesian2, relativeEpsilon: number, absoluteEpsilon?: number): boolean + + toString(): string + + static fromElements(x: number, y: number, result?: Cartesian2): Cartesian2 + + static clone(cartesian: Cartesian2, result?: Cartesian2): Cartesian2 + + static fromCartesian3(cartesian: Cartesian3, result?: Cartesian2): Cartesian2 + + static fromCartesian4(cartesian: Cartesian4, result?: Cartesian2): Cartesian2 + + static pack(value: Cartesian2, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Cartesian2): Cartesian2 + + static fromArray(array: number[], startingIndex?: number, result?: Cartesian2): Cartesian2 + + static maximumComponent(cartesian: Cartesian2): number + + static minimumComponent(cartesian: Cartesian2): number + + static minimumByComponent(first: Cartesian2, second: Cartesian2, result: Cartesian2): Cartesian2 + + static maximumByComponent(first: Cartesian2, second: Cartesian2, result: Cartesian2): Cartesian2 + + static magnitudeSquared(cartesian: Cartesian2): number + + static magnitude(cartesian: Cartesian2): number + + static distance(left: Cartesian2, right: Cartesian2): number + + static distanceSquared(left: Cartesian2, right: Cartesian2): number + + static normalize(cartesian: Cartesian2, result: Cartesian2): Cartesian2 + + static dot(left: Cartesian2, right: Cartesian2): number + + static multiplyComponents(left: Cartesian2, right: Cartesian2, result: Cartesian2): Cartesian2 + + static add(left: Cartesian2, right: Cartesian2, result: Cartesian2): Cartesian2 + + static subtract(left: Cartesian2, right: Cartesian2, result: Cartesian2): Cartesian2 + + static multiplyByScalar(cartesian: Cartesian2, scalar: number, result: Cartesian2): Cartesian2 + + static divideByScalar(cartesian: Cartesian2, scalar: number, result: Cartesian2): Cartesian2 + + static negate(cartesian: Cartesian2, result: Cartesian2): Cartesian2 + + static abs(cartesian: Cartesian2, result: Cartesian2): Cartesian2 + + static lerp(start: Cartesian2, end: Cartesian2, t: number, result: Cartesian2): Cartesian2 + + static angleBetween(left: Cartesian2, right: Cartesian2): number + + static mostOrthogonalAxis(cartesian: Cartesian2, result: Cartesian2): Cartesian2 + + static equals(left?: Cartesian2, right?: Cartesian2): boolean + + static equalsEpsilon( + left: Cartesian2, + right: Cartesian2, + relativeEpsilon: number, + absoluteEpsilon?: number + ): boolean + } + + class Cartesian3 implements PositionProperty { + x: number + y: number + z: number + static packedLength: number + static ZERO: Cartesian3 + static UNIT_X: Cartesian3 + static UNIT_Y: Cartesian3 + static UNIT_Z: Cartesian3 + + constructor(x?: number, y?: number, z?: number) + + clone(result?: Cartesian3): Cartesian3 + + equals(right?: Cartesian3): boolean + + equalsEpsilon(right: Cartesian3, relativeEpsilon: number, absoluteEpsilon?: number): boolean + + toString(): string + + static fromSpherical(spherical: Spherical, result?: Cartesian3): Cartesian3 + + static fromElements(x: number, y: number, z: number, result?: Cartesian3): Cartesian3 + + static clone(cartesian: Cartesian3, result?: Cartesian3): Cartesian3 + + static fromCartesian4(cartesian: Cartesian4, result?: Cartesian3): Cartesian3 + + static pack(value: Cartesian3, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Cartesian3): Cartesian3 + + static fromArray(array: number[], startingIndex?: number, result?: Cartesian3): Cartesian3 + + static maximumComponent(cartesian: Cartesian3): number + + static minimumComponent(cartesian: Cartesian3): number + + static minimumByComponent(first: Cartesian3, second: Cartesian3, result: Cartesian3): Cartesian3 + + static maximumByComponent(first: Cartesian3, second: Cartesian3, result: Cartesian3): Cartesian3 + + static magnitudeSquared(cartesian: Cartesian3): number + + static magnitude(cartesian: Cartesian3): number + + static distance(left: Cartesian3, right: Cartesian3): number + + static distanceSquared(left: Cartesian3, right: Cartesian3): number + + static normalize(cartesian: Cartesian3, result: Cartesian3): Cartesian3 + + static dot(left: Cartesian3, right: Cartesian3): number + + static multiplyComponents(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3 + + static add(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3 + + static subtract(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3 + + static multiplyByScalar(cartesian: Cartesian3, scalar: number, result: Cartesian3): Cartesian3 + + static divideByScalar(cartesian: Cartesian3, scalar: number, result: Cartesian3): Cartesian3 + + static negate(cartesian: Cartesian3, result: Cartesian3): Cartesian3 + + static abs(cartesian: Cartesian3, result: Cartesian3): Cartesian3 + + static lerp(start: Cartesian3, end: Cartesian3, t: number, result: Cartesian3): Cartesian3 + + static angleBetween(left: Cartesian3, right: Cartesian3): number + + static mostOrthogonalAxis(cartesian: Cartesian3, result: Cartesian3): Cartesian3 + + static equals(left?: Cartesian3, right?: Cartesian3): boolean + + static midpoint(left, right, result): Cartesian3 + + static equalsEpsilon( + left: Cartesian3, + right: Cartesian3, + relativeEpsilon: number, + absoluteEpsilon?: number + ): boolean + + static cross(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3 + + static fromDegrees( + longitude: number, + latitude: number, + height?: number, + ellipsoid?: Ellipsoid, + result?: Cartesian3 + ): Cartesian3 + + static fromRadians( + longitude: number, + latitude: number, + height?: number, + ellipsoid?: Ellipsoid, + result?: Cartesian3 + ): Cartesian3 + + static fromDegreesArray( + coordinates: number[], + ellipsoid?: Ellipsoid, + result?: Cartesian3[] + ): Cartesian3[] + + static fromRadiansArray( + coordinates: number[], + ellipsoid?: Ellipsoid, + result?: Cartesian3[] + ): Cartesian3[] + + static fromDegreesArrayHeights( + coordinates: number[], + ellipsoid?: Ellipsoid, + result?: Cartesian3[] + ): Cartesian3[] + + static fromRadiansArrayHeights( + coordinates: number[], + ellipsoid?: Ellipsoid, + result?: Cartesian3[] + ): Cartesian3[] + static unpackArray(array: number[]): Cartesian3[] + isConstant: boolean + definitionChanged: Event + referenceFrame: ReferenceFrame + + getValue(time: JulianDate, result?: Cartesian3): Cartesian3 + + getValueInReferenceFrame( + time: JulianDate, + referenceFrame: ReferenceFrame, + result?: Cartesian3 + ): Cartesian3 + + setInterpolationOptions(options?: { + interpolationAlgorithm?: InterpolationAlgorithm + interpolationDegree?: number + }): void + } + + class Cartesian4 { + x: number + y: number + z: number + w: number + static packedLength: number + static ZERO: Cartesian4 + static UNIT_X: Cartesian4 + static UNIT_Y: Cartesian4 + static UNIT_Z: Cartesian4 + static UNIT_W: Cartesian4 + + constructor(x?: number, y?: number, z?: number, w?: number) + + clone(result?: Cartesian4): Cartesian4 + + equals(right?: Cartesian4): boolean + + equalsEpsilon(right: Cartesian4, relativeEpsilon: number, absoluteEpsilon?: number): boolean + + toString(): string + + static fromElements(x: number, y: number, z: number, w: number, result?: Cartesian4): Cartesian4 + + static fromColor(color: Color, result?: Cartesian4): Cartesian4 + + static clone(cartesian: Cartesian4, result?: Cartesian4): Cartesian4 + + static pack(value: Cartesian4, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Cartesian4): Cartesian4 + + static fromArray(array: number[], startingIndex?: number, result?: Cartesian4): Cartesian4 + + static maximumComponent(cartesian: Cartesian4): number + + static minimumComponent(cartesian: Cartesian4): number + + static minimumByComponent(first: Cartesian4, second: Cartesian4, result: Cartesian4): Cartesian4 + + static maximumByComponent(first: Cartesian4, second: Cartesian4, result: Cartesian4): Cartesian4 + + static magnitudeSquared(cartesian: Cartesian4): number + + static magnitude(cartesian: Cartesian4): number + + static distance(left: Cartesian4, right: Cartesian4): number + + static distanceSquared(left: Cartesian4, right: Cartesian4): number + + static normalize(cartesian: Cartesian4, result: Cartesian4): Cartesian4 + + static dot(left: Cartesian4, right: Cartesian4): number + + static multiplyComponents(left: Cartesian4, right: Cartesian4, result: Cartesian4): Cartesian4 + + static add(left: Cartesian4, right: Cartesian4, result: Cartesian4): Cartesian4 + + static subtract(left: Cartesian4, right: Cartesian4, result: Cartesian4): Cartesian4 + + static multiplyByScalar(cartesian: Cartesian4, scalar: number, result: Cartesian4): Cartesian4 + + static divideByScalar(cartesian: Cartesian4, scalar: number, result: Cartesian4): Cartesian4 + + static negate(cartesian: Cartesian4, result: Cartesian4): Cartesian4 + + static abs(cartesian: Cartesian4, result: Cartesian4): Cartesian4 + + static lerp(start: Cartesian4, end: Cartesian4, t: number, result: Cartesian4): Cartesian4 + + static mostOrthogonalAxis(cartesian: Cartesian4, result: Cartesian4): Cartesian4 + + static equals(left?: Cartesian4, right?: Cartesian4): boolean + + static equalsEpsilon( + left: Cartesian4, + right: Cartesian4, + relativeEpsilon: number, + absoluteEpsilon?: number + ): boolean + } + + class Cartographic { + longitude: number + latitude: number + height: number + static ZERO: Cartographic + x: any; + y: any; + z: any; + + constructor(longitude?: number, latitude?: number, height?: number) + + clone(result?: Cartographic): Cartographic + + equals(right?: Cartographic): boolean + + equalsEpsilon(right: Cartographic, epsilon: number): boolean + + toString(): string + + static fromRadians( + longitude: number, + latitude: number, + height?: number, + result?: Cartographic + ): Cartographic + + static fromCartesian( + cartesian: Cartesian3, + ellipsoid?: Ellipsoid, + result?: Cartographic + ): Cartographic + + static toCartesian( + cartesian: Cartesian3, + ellipsoid?: Ellipsoid, + result?: Cartographic + ): Cartographic + + static fromDegrees( + longitude: number, + latitude: number, + height?: number, + result?: Cartographic + ): Cartographic + + static clone(cartographic: Cartographic, result?: Cartographic): Cartographic + + static equals(left?: Cartographic, right?: Cartographic): boolean + + static equalsEpsilon(left: Cartographic, right: Cartographic, epsilon: number): boolean + } + + class CartographicGeocoderService implements GeocoderService { + geocode(query: string): Promise> + } + + class CatmullRomSpline { + times: number[] + points: Cartesian3[] + firstTangent: Cartesian3 + lastTangent: Cartesian3 + + constructor(options: { + times: number[] + points: Cartesian3[] + firstTangent?: Cartesian3 + lastTangent?: Cartesian3 + }) + + findTimeInterval(time: number): number + + evaluate(time: number, result?: Cartesian3): Cartesian3 + } + + class CesiumTerrainProvider extends TerrainProvider { + errorEvent: Event + credit: Credit + tilingScheme: GeographicTilingScheme + ready: boolean + hasWaterMask: boolean + hasVertexNormals: boolean + requestVertexNormals: boolean + requestWaterMask: boolean + + constructor(options: { + url: string + proxy?: Proxy + requestVertexNormals?: boolean + requestWaterMask?: boolean + ellipsoid?: Ellipsoid + credit?: Credit | string + }) + + requestTileGeometry(x: number, y: number, level: number, request: Request): Promise + + getLevelMaximumGeometricError(level: number): number + + getTileDataAvailable(x: number, y: number, level: number): boolean + } + + class Cesium3DTileset { + readonly url: string + show: boolean + modelMatrix: Matrix4 + shadows: ShadowMode + maximumScreenSpaceError: number + maximumMemoryUsage: number + cullWithChildrenBounds: boolean + dynamicScreenSpaceError: boolean + dynamicScreenSpaceErrorDensity: number + dynamicScreenSpaceErrorFactor: number + dynamicScreenSpaceErrorHeightFalloff: number + skipLevelOfDetail: boolean + baseScreenSpaceError: number + skipScreenSpaceErrorFactor: number + skipLevels: number + immediatelyLoadDesiredLevelOfDetail: boolean + loadSiblings: boolean + debugFreezeFrame: boolean + debugColorizeTiles: boolean + debugWireframe: boolean + debugShowBoundingVolume: boolean + debugShowContentBoundingVolume: boolean + debugShowViewerRequestVolume: boolean + debugShowGeometricError: boolean + debugShowRenderingStatistics: boolean + debugShowMemoryUsage: boolean + debugShowUrl: boolean + pointCloudShading: PointCloudShading + readonly ready: boolean + readonly readyPromise: Promise + + constructor(options: { + url: string | Resource + show?: boolean + modelMatrix?: Matrix4 + shadows?: ShadowMode + maximumScreenSpaceError?: number + maximumMemoryUsage?: number + cullWithChildrenBounds?: boolean + dynamicScreenSpaceError?: boolean + dynamicScreenSpaceErrorDensity?: number + dynamicScreenSpaceErrorFactor?: number + dynamicScreenSpaceErrorHeightFalloff?: number + skipLevelOfDetail?: boolean + baseScreenSpaceError?: number + skipScreenSpaceErrorFactor?: number + skipLevels?: number + immediatelyLoadDesiredLevelOfDetail?: boolean + loadSiblings?: boolean + debugFreezeFrame?: boolean + debugColorizeTiles?: boolean + debugWireframe?: boolean + debugShowBoundingVolume?: boolean + debugShowContentBoundingVolume?: boolean + debugShowViewerRequestVolume?: boolean + debugShowGeometricError?: boolean + debugShowRenderingStatistics?: boolean + debugShowMemoryUsage?: boolean + debugShowUrl?: boolean + pointCloudShading?: PointCloudShadingOptions + }) + } + + class Cesium3DTileStyle { + constructor(style?: string | Object) + } + + class ShadowMode { + static CAST_ONLY: number + static DISABLED: number + static ENABLED: number + static RECEIVE_ONLY: number + } + + class CircleGeometry { + static packedLength: number + + constructor(options: { + center: Cartesian3 + radius: number + ellipsoid?: Ellipsoid + height?: number + granularity?: number + vertexFormat?: VertexFormat + extrudedHeight?: number + stRotation?: number + }) + + static createGeometry(circleGeometry: CircleGeometry): Geometry | undefined + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: CircleGeometry): CircleGeometry + } + + class CircleOutlineGeometry { + static packedLength: number + + constructor(options: { + center: Cartesian3 + radius: number + ellipsoid?: Ellipsoid + height?: number + granularity?: number + extrudedHeight?: number + numberOfVerticalLines?: number + }) + + static createGeometry(circleGeometry: CircleOutlineGeometry): Geometry | undefined + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: CircleOutlineGeometry + ): CircleOutlineGeometry + } + + class ClassificationType { + static BOTH: number + static CESIUM_3D_TILE: number + static TERRAIN: number + } + + class Clock { + startTime: JulianDate + stopTime: JulianDate + currentTime: JulianDate + multiplier: number + clockStep: ClockStep + clockRange: ClockRange + canAnimate: boolean + shouldAnimate: boolean + onTick: Event + + constructor(options: { + startTime?: JulianDate + stopTime?: JulianDate + currentTime?: JulianDate + multiplier?: number + clockStep?: ClockStep + clockRange?: ClockRange + canAnimate?: boolean + shouldAnimate?: boolean + }) + + tick(): JulianDate + } + + class Color extends MaterialProperty { + red: number + green: number + blue: number + alpha: number + static packedLength: number + static ALICEBLUE: Color + static ANTIQUEWHITE: Color + static AQUA: Color + static AQUAMARINE: Color + static AZURE: Color + static BEIGE: Color + static BISQUE: Color + static BLACK: Color + static BLANCHEDALMOND: Color + static BLUE: Color + static BLUEVIOLET: Color + static BROWN: Color + static BURLYWOOD: Color + static CADETBLUE: Color + static CHARTREUSE: Color + static CHOCOLATE: Color + static CORAL: Color + static CORNFLOWERBLUE: Color + static CORNSILK: Color + static CRIMSON: Color + static CYAN: Color + static DARKBLUE: Color + static DARKCYAN: Color + static DARKGOLDENROD: Color + static DARKGRAY: Color + static DARKGREEN: Color + static DARKGREY: Color + static DARKKHAKI: Color + static DARKMAGENTA: Color + static DARKOLIVEGREEN: Color + static DARKORANGE: Color + static DARKORCHID: Color + static DARKRED: Color + static DARKSALMON: Color + static DARKSEAGREEN: Color + static DARKSLATEBLUE: Color + static DARKSLATEGRAY: Color + static DARKSLATEGREY: Color + static DARKTURQUOISE: Color + static DARKVIOLET: Color + static DEEPPINK: Color + static DEEPSKYBLUE: Color + static DIMGRAY: Color + static DIMGREY: Color + static DODGERBLUE: Color + static FIREBRICK: Color + static FLORALWHITE: Color + static FORESTGREEN: Color + static FUSCHIA: Color + static GAINSBORO: Color + static GHOSTWHITE: Color + static GOLD: Color + static GOLDENROD: Color + static GRAY: Color + static GREEN: Color + static GREENYELLOW: Color + static GREY: Color + static HONEYDEW: Color + static HOTPINK: Color + static INDIANRED: Color + static INDIGO: Color + static IVORY: Color + static KHAKI: Color + static LAVENDER: Color + static LAVENDAR_BLUSH: Color + static LAWNGREEN: Color + static LEMONCHIFFON: Color + static LIGHTBLUE: Color + static LIGHTCORAL: Color + static LIGHTCYAN: Color + static LIGHTGOLDENRODYELLOW: Color + static LIGHTGRAY: Color + static LIGHTGREEN: Color + static LIGHTGREY: Color + static LIGHTPINK: Color + static LIGHTSEAGREEN: Color + static LIGHTSKYBLUE: Color + static LIGHTSLATEGRAY: Color + static LIGHTSLATEGREY: Color + static LIGHTSTEELBLUE: Color + static LIGHTYELLOW: Color + static LIME: Color + static LIMEGREEN: Color + static LINEN: Color + static MAGENTA: Color + static MAROON: Color + static MEDIUMAQUAMARINE: Color + static MEDIUMBLUE: Color + static MEDIUMORCHID: Color + static MEDIUMPURPLE: Color + static MEDIUMSEAGREEN: Color + static MEDIUMSLATEBLUE: Color + static MEDIUMSPRINGGREEN: Color + static MEDIUMTURQUOISE: Color + static MEDIUMVIOLETRED: Color + static MIDNIGHTBLUE: Color + static MINTCREAM: Color + static MISTYROSE: Color + static MOCCASIN: Color + static NAVAJOWHITE: Color + static NAVY: Color + static OLDLACE: Color + static OLIVE: Color + static OLIVEDRAB: Color + static ORANGE: Color + static ORANGERED: Color + static ORCHID: Color + static PALEGOLDENROD: Color + static PALEGREEN: Color + static PALETURQUOISE: Color + static PALEVIOLETRED: Color + static PAPAYAWHIP: Color + static PEACHPUFF: Color + static PERU: Color + static PINK: Color + static PLUM: Color + static POWDERBLUE: Color + static PURPLE: Color + static RED: Color + static ROSYBROWN: Color + static ROYALBLUE: Color + static SADDLEBROWN: Color + static SALMON: Color + static SANDYBROWN: Color + static SEAGREEN: Color + static SEASHELL: Color + static SIENNA: Color + static SILVER: Color + static SKYBLUE: Color + static SLATEBLUE: Color + static SLATEGRAY: Color + static SLATEGREY: Color + static SNOW: Color + static SPRINGGREEN: Color + static STEELBLUE: Color + static TAN: Color + static TEAL: Color + static THISTLE: Color + static TOMATO: Color + static TURQUOISE: Color + static VIOLET: Color + static WHEAT: Color + static WHITE: Color + static WHITESMOKE: Color + static YELLOW: Color + static YELLOWGREEN: Color + static TRANSPARENT: Color + + constructor(red?: number, green?: number, blue?: number, alpha?: number) + + clone(result?: Color): Color + + equals(other: Color): boolean + + equalsEpsilon(other: Color, epsilon?: number): boolean + + toString(): string + + toCssColorString(): string + + toBytes(result?: number[]): number[] + + toRgba(): number + + brighten(magnitude: number, result: Color): Color + + darken(magnitude: number, result: Color): Color + + withAlpha(alpha: number, result?: Color): Color + + static fromCartesian4(cartesian: Cartesian4, result?: Color): Color + + static fromBytes( + red?: number, + green?: number, + blue?: number, + alpha?: number, + result?: Color + ): Color + + static fromAlpha(color: Color, alpha: number, result?: Color): Color + + static fromRgba(rgba: number): Color + + static fromHsl(hue?: number, saturation?: number, lightness?: number, alpha?: number): Color + + static fromRandom( + options?: { + red?: number + minimumRed?: number + maximumRed?: number + green?: number + minimumGreen?: number + maximumGreen?: number + blue?: number + minimumBlue?: number + maximumBlue?: number + alpha?: number + minimumAlpha?: number + maximumAlpha?: number + }, + result?: Color + ): Color + + static fromCssColorString(color: string): Color + + static pack(value: Color, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Color): Color + + static byteToFloat(number: number): number + + static floatToByte(number: number): number + + static clone(color: Color, result?: Color): Color + + static equals(left: Color, right: Color): boolean + } + + class ColorGeometryInstanceAttribute { + value: Uint8Array + componentDatatype: ComponentDatatype + componentsPerAttribute: number + normalize: boolean + + constructor(red?: number, green?: number, blue?: number, alpha?: number) + + static fromColor(color: Color): ColorGeometryInstanceAttribute + + static toValue(color: Color, result?: Uint8Array): Uint8Array + } + + class CorridorGeometry { + packedLength: number + + constructor(options: { + positions: Cartesian3[] + width: number + ellipsoid?: Ellipsoid + granularity?: number + height?: number + extrudedHeight?: number + vertexFormat?: VertexFormat + cornerType?: CornerType + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: CorridorGeometry + ): CorridorGeometry + + static createGeometry(corridorGeometry: CorridorGeometry): Geometry | undefined + } + + class CorridorOutlineGeometry { + packedLength: number + + constructor(options: { + positions: Cartesian3[] + width: number + ellipsoid?: Ellipsoid + granularity?: number + height?: number + extrudedHeight?: number + cornerType?: CornerType + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: CorridorOutlineGeometry + ): CorridorOutlineGeometry + + static createGeometry(corridorOutlineGeometry: CorridorOutlineGeometry): Geometry | undefined + } + + class Credit { + text: string + imageUrl: string + link: string + + constructor(text?: string, imageUrl?: string, link?: string) + + hasImage(): boolean + + hasLink(): boolean + + equals(credits: Credit): boolean + static equals(left: Credit, right: Credit): boolean + } + + class CylinderGeometry { + static packedLength: number + + constructor(options: { + length: number + topRadius: number + bottomRadius: number + slices?: number + vertexFormat?: VertexFormat + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: CylinderGeometry + ): CylinderGeometry + + static createGeometry(cylinderGeometry: CylinderGeometry): Geometry | undefined + } + + class CylinderOutlineGeometry { + static packedLength: number + + constructor(options: { + length: number + topRadius: number + bottomRadius: number + slices?: number + numberOfVerticalLines?: number + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: CylinderOutlineGeometry + ): CylinderOutlineGeometry + + static createGeometry(cylinderGeometry: CylinderOutlineGeometry): Geometry | undefined + } + + class DefaultProxy { + constructor(proxy: string) + + getURL(resource: string): string + } + + class DeveloperError { + name: string + message: string + stack: string + + constructor(message?: string) + } + + class DistanceDisplayCondition { + near: number + far: number + + constructor(near?: number, far?: number) + + clone(result?: DistanceDisplayCondition): DistanceDisplayCondition + + equals(other: DistanceDisplayCondition): boolean + + static clone( + value?: DistanceDisplayCondition, + result?: DistanceDisplayCondition + ): DistanceDisplayCondition + + static equals(left: DistanceDisplayCondition, right: DistanceDisplayCondition): boolean + } + + class EllipseGeometry { + static packedLength: number + + constructor(options: { + center: Cartesian3 + semiMajorAxis: number + semiMinorAxis: number + ellipsoid?: Ellipsoid + height?: number + extrudedHeight?: number + rotation?: number + stRotation?: number + granularity?: number + vertexFormat?: VertexFormat + }) + + static createGeometry(ellipseGeometry: EllipseGeometry): Geometry | undefined + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: EllipseGeometry + ): EllipseGeometry + } + + class EllipseOutlineGeometry { + static packedLength: number + + constructor(options: { + center: Cartesian3 + semiMajorAxis: number + semiMinorAxis: number + ellipsoid?: Ellipsoid + height?: number + extrudedHeight?: number + rotation?: number + granularity?: number + numberOfVerticalLines?: number + }) + + static createGeometry(ellipseGeometry: EllipseOutlineGeometry): Geometry | undefined + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: EllipseOutlineGeometry + ): EllipseOutlineGeometry + } + + class Ellipsoid { + static MOON: Ellipsoid + static packedLength: number + static UNIT_SPHERE: Ellipsoid + static WGS84: Ellipsoid + minimumRadius: number + maximumRadius: number + oneOverRadii: Cartesian3 + oneOverRadiiSquared: Cartesian3 + radii: Cartesian3 + radiiSquared: Cartesian3 + radiiToTheFourth: Cartesian3 + + constructor(x?: number, y?: number, z?: number) + + static clone(ellipsoid: Ellipsoid, result?: Ellipsoid): Ellipsoid + + static fromCartesian3(radii?: Cartesian3): Ellipsoid + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Ellipsoid): Ellipsoid + + cartesianArrayToCartographicArray( + cartesians: Cartesian3[], + result?: Cartographic[] + ): Cartographic[] + + cartesianToCartographic(cartesian: Cartesian3, result?: Cartographic): Cartographic + + cartographicArrayToCartesianArray( + cartographics: Cartographic[], + result?: Cartesian3[] + ): Cartesian3[] + + cartographicToCartesian(cartographic: Cartographic, result?: Cartesian3): Cartesian3 + + clone(result?: Ellipsoid): Ellipsoid + + equals(right?: Ellipsoid): boolean + + geocentricSurfaceNormal(cartesian: Cartesian3, result?: Cartesian3): Cartesian3 + + geodeticSurfaceNormalCartographic(cartographic: Cartographic, result?: Cartesian3): Cartesian3 + + geodeticSurfaceNormal(cartesian: Cartesian3, result?: Cartesian3): Cartesian3 + + scaleToGeodeticSurface(cartesian: Cartesian3, result?: Cartesian3): Cartesian3 + + scaleToGeocentricSurface(cartesian: Cartesian3, result?: Cartesian3): Cartesian3 + + transformPositionToScaledSpace(position: Cartesian3, result?: Cartesian3): Cartesian3 + + transformPositionFromScaledSpace(position: Cartesian3, result?: Cartesian3): Cartesian3 + + getSurfaceNormalIntersectionWithZAxis( + position: Cartesian3, + buffer: number, + result: Cartesian3 + ): Cartesian3 + + toString(): string + } + + class EllipsoidGeodesic { + surfaceDistance: number + start: Cartographic + end: Cartographic + startHeading: number + endHeading: number + + constructor(start?: Cartographic, end?: Cartographic, ellipsoid?: Ellipsoid) + + setEndPoints(start: Cartographic, end: Cartographic): void + + interpolateUsingFraction(fraction: number): Cartographic + + interpolateUsingSurfaceDistance(distance: number): Cartographic + } + + class EllipsoidGeometry { + static packedLength: number + + constructor(options?: { + radii?: Cartesian3 + stackPartitions?: number + slicePartitions?: number + vertexFormat?: VertexFormat + }) + + static createGeometry(ellipsoidGeometry: EllipsoidGeometry): Geometry | undefined + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: EllipsoidGeometry + ): EllipsoidGeometry + } + + class EllipsoidOutlineGeometry { + static packedLength: number + + constructor(options?: { + radii?: Cartesian3 + stackPartitions?: number + slicePartitions?: number + subdivisions?: number + }) + + static createGeometry(ellipsoidGeometry: EllipsoidOutlineGeometry): Geometry | undefined + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: EllipsoidOutlineGeometry + ): EllipsoidOutlineGeometry + } + + class EllipsoidTangentPlane { + ellipsoid: Ellipsoid + origin: Cartesian3 + + constructor(ellipsoid: Ellipsoid, origin: Cartesian3) + + projectPointOntoPlane(cartesian: Cartesian3, result?: Cartesian2): Cartesian2 + + projectPointsOntoPlane(cartesians: Cartesian3[], result?: Cartesian2[]): Cartesian2[] + + projectPointsOntoEllipsoid(cartesians: Cartesian2[], result?: Cartesian3[]): Cartesian3[] + + static fromPoints(ellipsoid: Ellipsoid, cartesians: Cartesian3): EllipsoidTangentPlane + } + + class EllipsoidTerrainProvider extends TerrainProvider { + credit: Credit + errorEvent: Event + hasWaterMask: boolean + hasVertexNormals: boolean + ready: boolean + readonly readyPromise: Promise + tilingScheme: GeographicTilingScheme + + constructor(options?: { tilingScheme?: TilingScheme; ellipsoid?: Ellipsoid }) + + getLevelMaximumGeometricError(level: number): number + + getTileDataAvailable(x: number, y: number, level: number): boolean + + requestTileGeometry(x: number, y: number, level: number, request: Request): Promise + } + + class Event { + numberOfListeners: number + + addEventListener(listener: Function, scope?: any): Event.RemoveCallback + + removeEventListener(listener: Function, scope?: any): boolean + + raiseEvent(...args: any[]): void + } + + module Event { + type RemoveCallback = () => void + } + + class EventHelper { + add(event: Event, listener: Function, scope?: any): EventHelper.RemoveCallback + + removeAll(): void + } + + module EventHelper { + type RemoveCallback = () => void + } + + class GeographicProjection { + ellipsoid: Ellipsoid + + constructor(ellipsoid?: Ellipsoid) + + project(cartographic: Cartographic, result?: Cartesian3): Cartesian3 + + unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic + } + + class GeographicTilingScheme { + ellipsoid: Ellipsoid + rectangle: Rectangle + projection: MapProjection + + constructor(options?: { + ellipsoid?: Ellipsoid + rectangle?: Rectangle + numberOfLevelZeroTilesX?: number + numberOfLevelZeroTilesY?: number + }) + + getNumberOfXTilesAtLevel(level: number): number + + getNumberOfYTilesAtLevel(level: number): number + + rectangleToNativeRectangle(rectangle: Rectangle, result?: Rectangle): Rectangle + + tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle + + tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle + + positionToTileXY(position: Cartographic, level: number, result?: Cartesian2): Cartesian2 + } + + class Geometry { + attributes: GeometryAttributes + boundingSphere: BoundingSphere + indices: any[] + primitiveType: PrimitiveType + + constructor(options: { + attributes: GeometryAttributes + primitiveType?: PrimitiveType + indices?: Uint16Array | Uint32Array + boundingSphere?: BoundingSphere + }) + + static computeNumberOfVertices(geometry: Cartesian3): number + } + + class GeometryAttribute { + componentDatatype: ComponentDatatype + componentsPerAttribute: number + normalize: boolean + values: any[] + + constructor(options?: { + componentDatatype?: ComponentDatatype + componentsPerAttribute?: number + normalize?: boolean + values?: any[] + }) + } + + class GeometryAttributes { + bitangent?: GeometryAttribute + color?: GeometryAttribute + normal?: GeometryAttribute + position?: GeometryAttribute + st?: GeometryAttribute + tangent?: GeometryAttribute + msize?: GeometryAttribute + } + + class GeometryInstance { + geometry: Geometry + modelMatrix: Matrix4 + id: any + attributes: any + + constructor(options: { + geometry: Geometry | any + modelMatrix?: Matrix4 + id?: any + attributes?: any + }) + } + + class GeometryInstanceAttribute { + componentDatatype: ComponentDatatype + componentsPerAttribute: number + normalize: boolean + value: number[] + + constructor(options: { + componentDatatype?: ComponentDatatype + componentsPerAttribute?: number + normalize?: boolean + value?: number[] + }) + } + + class GregorianDate { + year: number + month: number + day: number + hour: number + minute: number + second: number + millisecond: number + isLeapSecond: boolean + } + + class HeightmapTerrainData { + waterMask: Uint8Array | HTMLImageElement | HTMLCanvasElement + + constructor(options: { + buffer: Int8Array | Uint8Array | Int16Array | Uint16Array | Float32Array | Float64Array + width: number + height: number + childTileMask?: number + structure?: any + structureheightScale?: number + structureheightOffset?: number + structureelementsPerHeight?: number + structurestride?: number + structureelementMultiplier?: number + structureisBigEndian?: boolean + createdByUpsampling?: boolean + }) + + createMesh( + tilingScheme: TilingScheme, + x: number, + y: number, + level: number + ): Promise + + interpolateHeight(rectangle: Rectangle, longitude: number, latitude: number): number + + upsample( + tilingScheme: TilingScheme, + thisX: number, + thisY: number, + thisLevel: number, + descendantX: number, + descendantY: number, + descendantLevel: number + ): Promise + + isChildAvailable(thisX: number, thisY: number, childX: number, childY: number): boolean + + wasCreatedByUpsampling(): boolean + } + + class HermiteSpline { + times: number[] + points: Cartesian3[] + inTangents: Cartesian3[] + outTangents: Cartesian3[] + + constructor(options: { + times: number[] + points: Cartesian3[] + inTangents: Cartesian3[] + outTangents: Cartesian3[] + }) + + findTimeInterval(time: number): number + + evaluate(time: number, result?: Cartesian3): Cartesian3 + + static createC1(): HermiteSpline + + static createNaturalCubic(): HermiteSpline | LinearSpline + + static createClampedCubic(): HermiteSpline | LinearSpline + } + + class Interval { + start: number + stop: number + + constructor(start?: number, stop?: number) + } + + class JulianDate { + dayNumber: number + secondsOfDay: number + static leapSeconds: LeapSecond[] + + constructor(julianDayNumber?: number, secondsOfDay?: number, timeStandard?: TimeStandard) + + clone(result?: JulianDate): JulianDate + + equals(right?: JulianDate): boolean + + equalsEpsilon(right: JulianDate, epsilon: number): boolean + + toString(): string + + static fromDate(date: Date, result?: JulianDate): JulianDate + + static fromIso8601(iso8601String: string, result?: JulianDate): JulianDate + + static now(result?: JulianDate): JulianDate + + static toGregorianDate(julianDate: JulianDate, result?: GregorianDate): GregorianDate + + static toDate(julianDate: JulianDate): Date + + static toIso8601(julianDate: JulianDate, precision?: number): string + + static clone(julianDate: JulianDate, result?: JulianDate): JulianDate + + static compare(left: JulianDate, right: JulianDate): number + + static equals(left?: JulianDate, right?: JulianDate): boolean + + static equalsEpsilon(left: JulianDate, right: JulianDate, epsilon: number): boolean + + static totalDays(julianDate: JulianDate): number + + static secondsDifference(left: JulianDate, right: JulianDate): number + + static daysDifference(left: JulianDate, right: JulianDate): number + + static computeTaiMinusUtc(julianDate: JulianDate): number + + static addSeconds(julianDate: JulianDate, seconds: number, result: JulianDate): JulianDate + + static addMinutes(julianDate: JulianDate, minutes: number, result: JulianDate): JulianDate + + static addHours(julianDate: JulianDate, hours: number, result: JulianDate): JulianDate + + static addDays(julianDate: JulianDate, days: number, result: JulianDate): JulianDate + + static lessThan(left: JulianDate, right: JulianDate): boolean + + static lessThanOrEquals(left: JulianDate, right: JulianDate): boolean + + static greaterThan(left: JulianDate, right: JulianDate): boolean + + static greaterThanOrEquals(left: JulianDate, right: JulianDate): boolean + } + + class LeapSecond { + julianDate: JulianDate + offset: number + + constructor(date?: JulianDate, offset?: number) + } + + class LinearSpline { + times: number[] + points: Cartesian3[] + + constructor(any) + + findTimeInterval(time: number): number + + evaluate(time: number, result?: Cartesian3): Cartesian3 + } + + class MapProjection { + ellipsoid: Ellipsoid + + project(cartographic: Cartographic, result?: Cartesian3): Cartesian3 + + unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic + } + + class Matrix2 { + static packedLength: number + static IDENTITY: Matrix2 + static COLUMN0ROW0: number + static COLUMN0ROW1: number + static COLUMN1ROW0: number + static COLUMN1ROW1: number + + constructor( + column0Row0?: number, + column1Row0?: number, + column0Row1?: number, + column1Row1?: number + ) + + clone(result?: Matrix2): Matrix2 + + equals(right?: Matrix2): boolean + + equalsEpsilon(right: Matrix2, epsilon: number): boolean + + toString(): string + + static pack(value: Matrix2, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Matrix2): Matrix2 + + static clone(matrix: Matrix2, result?: Matrix2): Matrix2 + + static fromArray(array: number[], startingIndex?: number, result?: Matrix2): Matrix2 + + static fromColumnMajorArray(values: number[], result?: Matrix2): Matrix2 + + static fromRowMajorArray(values: number[], result?: Matrix2): Matrix2 + + static fromScale(scale: Cartesian2, result?: Matrix2): Matrix2 + + static fromUniformScale(scale: number, result?: Matrix2): Matrix2 + + static fromRotation(angle: number, result?: Matrix2): Matrix2 + + static toArray(matrix: Matrix2, result?: number[]): number[] + + static getElementIndex(row: number, column: number): number + + static getColumn(matrix: Matrix2, index: number, result: Cartesian2): Cartesian2 + + static setColumn( + matrix: Matrix2, + index: number, + cartesian: Cartesian2, + result: Cartesian2 + ): Matrix2 + + static getRow(matrix: Matrix2, index: number, result: Cartesian2): Cartesian2 + + static setRow(matrix: Matrix2, index: number, cartesian: Cartesian2, result: Matrix2): Matrix2 + + static getScale(matrix: Matrix2, result: Cartesian2): Cartesian2 + + static getMaximumScale(matrix: Matrix2): number + + static multiply(left: Matrix2, right: Matrix2, result: Matrix2): Matrix2 + + static add(left: Matrix2, right: Matrix2, result: Matrix2): Matrix2 + + static subtract(left: Matrix2, right: Matrix2, result: Matrix2): Matrix2 + + static multiplyByVector(matrix: Matrix2, cartesian: Cartesian2, result: Cartesian2): Cartesian2 + + static multiplyByScalar(matrix: Matrix2, scalar: number, result: Matrix2): Matrix2 + + static negate(matrix: Matrix2, result: Matrix2): Matrix2 + + static transpose(matrix: Matrix2, result: Matrix2): Matrix2 + + static abs(matrix: Matrix2, result: Matrix2): Matrix2 + + static equals(left?: Matrix2, right?: Matrix2): boolean + + static equalsEpsilon(left: Matrix2, right: Matrix2, epsilon: number): boolean + } + + class Matrix3 { + static packedLength: number + static IDENTITY: Matrix3 + static COLUMN0ROW0: number + static COLUMN0ROW1: number + static COLUMN0ROW2: number + static COLUMN1ROW0: number + static COLUMN1ROW1: number + static COLUMN1ROW2: number + static COLUMN2ROW0: number + static COLUMN2ROW1: number + static COLUMN2ROW2: number + + constructor( + column0Row0?: number, + column1Row0?: number, + column2Row0?: number, + column0Row1?: number, + column1Row1?: number, + column2Row1?: number, + column0Row2?: number, + column1Row2?: number, + column2Row2?: number + ) + + clone(result?: Matrix3): Matrix3 + + equals(right?: Matrix3): boolean + + equalsEpsilon(right: Matrix3, epsilon: number): boolean + + toString(): string + + static pack(value: Matrix3, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Matrix3): Matrix3 + + static clone(matrix: Matrix3, result?: Matrix3): Matrix3 + + static fromArray(array: number[], startingIndex?: number, result?: Matrix3): Matrix3 + + static fromColumnMajorArray(values: number[], result?: Matrix3): Matrix3 + + static fromRowMajorArray(values: number[], result?: Matrix3): Matrix3 + + static fromQuaternion(quaternion: Quaternion, result?: Matrix3): Matrix3 + + static fromScale(scale: Cartesian3, result?: Matrix3): Matrix3 + + static fromUniformScale(scale: number, result?: Matrix3): Matrix3 + + static fromCrossProduct(the: Cartesian3, result?: Matrix3): Matrix3 + + static fromRotationX(angle: number, result?: Matrix3): Matrix3 + + static fromRotationY(angle: number, result?: Matrix3): Matrix3 + + static fromRotationZ(angle: number, result?: Matrix3): Matrix3 + + static toArray(matrix: Matrix3, result?: number[]): number[] + + static getElementIndex(row: number, column: number): number + + static getColumn(matrix: Matrix3, index: number, result: Cartesian3): Cartesian3 + + static setColumn( + matrix: Matrix3, + index: number, + cartesian: Cartesian3, + result: Cartesian3 + ): Matrix3 + + static getRow(matrix: Matrix3, index: number, result: Cartesian3): Cartesian3 + + static setRow( + matrix: Matrix3, + index: number, + cartesian: Cartesian3, + result: Matrix3 + ): Matrix3 + + static getScale(matrix: Matrix3, result: Cartesian3): Cartesian3 + + static getMaximumScale(matrix: Matrix3): number + + static multiply(left: Matrix3, right: Matrix3, result: Matrix3): Matrix3 + + static add(left: Matrix3, right: Matrix3, result: Matrix3): Matrix3 + + static subtract(left: Matrix3, right: Matrix3, result: Matrix3): Matrix3 + + static multiplyByVector(matrix: Matrix3, cartesian: Cartesian3, result: Cartesian3): Cartesian3 + + static multiplyByScalar(matrix: Matrix3, scalar: number, result: Matrix3): Matrix3 + + static negate(matrix: Matrix3, result: Matrix3): Matrix3 + + static transpose(matrix: Matrix3, result: Matrix3): Matrix3 + + static computeEigenDecomposition(matrix: Matrix3, result?: any): any + + static abs(matrix: Matrix3, result: Matrix3): Matrix3 + + static determinant(matrix: Matrix3): number + + static inverse(matrix: Matrix3, result: Matrix3): Matrix3 + + static equals(left?: Matrix3, right?: Matrix3): boolean + + static equalsEpsilon(left: Matrix3, right: Matrix3, epsilon: number): boolean + } + + class TranslationRotationScale { + translation: Cartesian3 + rotation: Quaternion + scale: Cartesian3 + constructor( + translation?: Cartesian3, + rotation?: Quaternion, + scale?: Cartesian3 + ) + } + + class Matrix4 { + static packedLength: number + static IDENTITY: Matrix4 + static COLUMN0ROW0: number + static COLUMN0ROW1: number + static COLUMN0ROW2: number + static COLUMN0ROW3: number + static COLUMN1ROW0: number + static COLUMN1ROW1: number + static COLUMN1ROW2: number + static COLUMN1ROW3: number + static COLUMN2ROW0: number + static COLUMN2ROW1: number + static COLUMN2ROW2: number + static COLUMN2ROW3: number + static COLUMN3ROW0: number + static COLUMN3ROW1: number + static COLUMN3ROW2: number + static COLUMN3ROW3: number + + constructor( + column0Row0?: number, + column1Row0?: number, + column2Row0?: number, + column3Row0?: number, + column0Row1?: number, + column1Row1?: number, + column2Row1?: number, + column3Row1?: number, + column0Row2?: number, + column1Row2?: number, + column2Row2?: number, + column3Row2?: number, + column0Row3?: number, + column1Row3?: number, + column2Row3?: number, + column3Row3?: number + ) + + clone(result?: Matrix4): Matrix4 + + equals(right?: Matrix4): boolean + + equalsEpsilon(right: Matrix4, epsilon: number): boolean + + toString(): string + + static pack(value: Matrix4, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Matrix4): Matrix4 + + static clone(matrix: Matrix4, result?: Matrix4): Matrix4 + + static fromArray(array: number[], startingIndex?: number, result?: Matrix4): Matrix4 + + static fromColumnMajorArray(values: number[], result?: Matrix4): Matrix4 + + static fromRowMajorArray(values: number[], result?: Matrix4): Matrix4 + + static fromRotationTranslation( + rotation: Matrix3, + translation?: Cartesian3, + result?: Matrix4 + ): Matrix4 + + static fromTranslationQuaternionRotationScale( + translation: Cartesian3, + rotation: Quaternion, + scale: Cartesian3, + result?: Matrix4 + ): Matrix4 + + static fromTranslation(translation: Cartesian3, result?: Matrix4): Matrix4 + + static fromScale(scale: Cartesian3, result?: Matrix4): Matrix4 + + static fromUniformScale(scale: number, result?: Matrix4): Matrix4 + + static fromCamera(camera: Camera, result?: Matrix4): Matrix4 + + static computePerspectiveFieldOfView( + fovY: number, + aspectRatio: number, + near: number, + far: number, + result: Matrix4 + ): Matrix4 + + static computeOrthographicOffCenter( + left: number, + right: number, + bottom: number, + top: number, + near: number, + far: number, + result: Matrix4 + ): Matrix4 + + static computePerspectiveOffCenter( + left: number, + right: number, + bottom: number, + top: number, + near: number, + far: number, + result: Matrix4 + ): Matrix4 + + static computeInfinitePerspectiveOffCenter( + left: number, + right: number, + bottom: number, + top: number, + near: number, + far: number, + result: Matrix4 + ): Matrix4 + + static computeViewportTransformation( + viewport: any, + nearDepthRange: number, + farDepthRange: number, + result: Matrix4 + ): Matrix4 + + static toArray(matrix: Matrix4, result?: number[]): number[] + + static getElementIndex(row: number, column: number): number + + static getColumn(matrix: Matrix4, index: number, result: Cartesian4): Cartesian4 + + static setColumn( + matrix: Matrix4, + index: number, + cartesian: Cartesian4, + result: Cartesian4 + ): Matrix4 + + static getRow(matrix: Matrix4, index: number, result: Cartesian4): Cartesian4 + + static setRow( + matrix: Matrix4, + index: number, + cartesian: Cartesian4, + result: Cartesian4 + ): Matrix4 + + static fromTranslationRotationScale(translationRotationScale: TranslationRotationScale, result?: Matrix4): Matrix4 + + static getScale(matrix: Matrix4, result: Cartesian3): Cartesian3 + + static getMaximumScale(matrix: Matrix4): number + + static multiply(left: Matrix4, right: Matrix4, result: Matrix4): Matrix4 + + static add(left: Matrix4, right: Matrix4, result: Matrix4): Matrix4 + + static subtract(left: Matrix4, right: Matrix4, result: Matrix4): Matrix4 + + static multiplyTransformation(left: Matrix4, right: Matrix4, result: Matrix4): Matrix4 + + static multiplyByMatrix3(matrix: Matrix4, rotation: Matrix3, result: Matrix4): Matrix4 + + static multiplyByTranslation(matrix: Matrix4, translation: Cartesian3, result: Matrix4): Matrix4 + + static multiplyByUniformScale(matrix: Matrix4, scale: number, result: Matrix4): Matrix4 + + static multiplyByScale(matrix: Matrix4, scale: Cartesian3, result: Matrix4): Matrix4 + + static multiplyByVector(matrix: Matrix4, cartesian: Cartesian4, result: Cartesian4): Cartesian4 + + static multiplyByPointAsVector( + matrix: Matrix4, + cartesian: Cartesian3, + result: Cartesian3 + ): Cartesian3 + + static multiplyByPoint(matrix: Matrix4, cartesian: Cartesian3, result: Cartesian3): Cartesian3 + + static multiplyByScalar(matrix: Matrix4, scalar: number, result: Matrix4): Matrix4 + + static negate(matrix: Matrix4, result: Matrix4): Matrix4 + + static transpose(matrix: Matrix4, result: Matrix4): Matrix4 + + static abs(matrix: Matrix4, result: Matrix4): Matrix4 + + static equals(left?: Matrix4, right?: Matrix4): boolean + + static equalsEpsilon(left: Matrix4, right: Matrix4, epsilon: number): boolean + + static getTranslation(matrix: Matrix4, result: Cartesian3): Cartesian3 + + static getRotation(matrix: Matrix4, result: Matrix3): Matrix3 + + static inverse(matrix: Matrix4, result: Matrix4): Matrix4 + + static inverseTransformation(matrix: Matrix4, result: Matrix4): Matrix4 + } + + class NearFarScalar { + near: number + nearValue: number + far: number + farValue: number + static packedLength: number + + constructor(near?: number, nearValue?: number, far?: number, farValue?: number) + + clone(result?: NearFarScalar): NearFarScalar + + equals(right?: NearFarScalar): boolean + + static clone(nearFarScalar: NearFarScalar, result?: NearFarScalar): NearFarScalar + + static pack(value: NearFarScalar, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: NearFarScalar): NearFarScalar + + static equals(left?: NearFarScalar, right?: NearFarScalar): boolean + } + + class ObjectOrientedBoundingBox { + rotation: Matrix3 + translation: Cartesian3 + scale: Cartesian3 + + constructor(rotation?: Matrix3, translation?: Cartesian3, scale?: Cartesian3) + + clone(result?: ObjectOrientedBoundingBox): ObjectOrientedBoundingBox + + equals(right?: ObjectOrientedBoundingBox): boolean + + static fromPoints( + positions: Cartesian3[], + result?: ObjectOrientedBoundingBox + ): ObjectOrientedBoundingBox + + static fromBoundingRectangle( + boundingRectangle: BoundingRectangle, + rotation?: number + ): ObjectOrientedBoundingBox + + static clone( + box: ObjectOrientedBoundingBox, + result?: ObjectOrientedBoundingBox + ): ObjectOrientedBoundingBox + + static intersect(left: ObjectOrientedBoundingBox, right: ObjectOrientedBoundingBox): boolean + + static equals(left: ObjectOrientedBoundingBox, right: ObjectOrientedBoundingBox): boolean + } + + class Occluder { + cameraPosition: Cartesian3 + position: Cartesian3 + radius: number + + constructor(occluderBoundingSphere: BoundingSphere, cameraPosition: Cartesian3) + + static computeOccludeePoint( + occluderBoundingSphere: BoundingSphere, + occludeePosition: Cartesian3, + positions: Cartesian3[] + ): any + + static computeOccludeePointFromRectangle(rectangle: Rectangle, ellipsoid?: Ellipsoid): any + + static fromBoundingSphere( + occluderBoundingSphere: BoundingSphere, + cameraPosition: Cartesian3, + result?: Occluder + ): Occluder + + computeVisibility(occludeeBS: BoundingSphere): number + + isBoundingSphereVisible(occludee: BoundingSphere): boolean + + isPointVisible(occludee: Cartesian3): boolean + } + + class PinBuilder { + fromColor(color: Color, size: number): HTMLCanvasElement + + fromUrl(url: string, color: Color, size: number): HTMLCanvasElement | Promise + + fromMakiIconId( + id: string, + color: Color, + size: number + ): HTMLCanvasElement | Promise + + fromText(text: string, color: Color, size: number): HTMLCanvasElement + } + + class Plane { + static ORIGIN_XY_PLANE: Plane + static ORIGIN_YZ_PLANE: Plane + static ORIGIN_ZX_PLANE: Plane + distance: number + normal: Cartesian3 + + constructor(normal: Cartesian3, distance: number) + + static fromCartesian4(coefficients: Cartesian4, result: Plane): Plane + + static fromPointNormal(point: Cartesian3, normal: Cartesian3, result?: Plane): Plane + + static getPointDistance(plane: Plane, point: Cartesian3): number + } + + class ClippingPlane { + distance: number + normal: Cartesian3 + + constructor(normal: Cartesian3, distance: number) + } + + class ClippingPlaneCollection { + + constructor(options) + } + + + type PointCloudShadingOptions = Partial<{ + attenuation: boolean + geometricErrorScale: number + maximumAttenuation: number + baseResolution: number + eyeDomeLighting: boolean + eyeDomeLightingStrength: number + eyeDomeLightingRadius: number + }> + + class PointCloudShading { + attenuation: boolean + baseResolution: number + eyeDomeLighting: boolean + eyeDomeLightingRadius: number + eyeDomeLightingStrength: number + geometricErrorScale: number + maximumAttenuation: number + + constructor(options: PointCloudShadingOptions) + + static isSupported(scene: Scene): boolean + } + + class PolygonGeometry { + packedLength: number + + constructor(options: { + polygonHierarchy: PolygonHierarchy + height?: number + extrudedHeight?: number + vertexFormat?: VertexFormat + stRotation?: number + ellipsoid?: Ellipsoid + granularity?: number + perPositionHeight?: boolean + closeTop?: boolean + closeBottom?: boolean + }) + + static createGeometry(polygonGeometry: PolygonGeometry): Geometry | undefined + + static fromPositions(options: PolygonGeometryOptions): PolygonGeometry + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: PolygonGeometry + ): PolygonGeometry + } + + type PolygonGeometryOptions = PolygonOutlineGeometryOptions & { + closeBottom?: boolean + closeTop?: boolean + stRotation?: number + } + + class PolygonHierarchy extends Property { + positions: Cartesian3[] + holes: PolygonHierarchy[] + + constructor(positions?: Cartesian3[], holes?: PolygonHierarchy[]) + } + + class PolygonOutlineGeometry { + constructor(options: { + polygonHierarchy: any + height?: number + extrudedHeight?: number + vertexFormat?: VertexFormat + ellipsoid?: Ellipsoid + granularity?: number + perPositionHeight?: boolean + }) + + packedLength: number + + static createGeometry(polygonGeometry: PolygonOutlineGeometry): Geometry | undefined + + static fromPositions(options: PolygonOutlineGeometryOptions): PolygonOutlineGeometry + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: PolygonOutlineGeometry + ): PolygonOutlineGeometry + } + + type PolygonOutlineGeometryOptions = { + polygonHierarchy: PolygonHierarchy + ellipsoid?: Ellipsoid + extrudedHeight?: number + granularity?: number + height?: number + perPositionHeight?: boolean + vertexFormat?: VertexFormat + } + + class PolylineGeometry { + packedLength: number + + constructor(options: { + positions: Cartesian3[] + width?: number + colors?: Color[] + colorsPerVertex?: boolean + followSurface?: boolean + granularity?: number + arcType?: any + ellipsoid?: Ellipsoid + vertexFormat?: any + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: PolylineGeometry + ): PolylineGeometry + + static createGeometry(polylineGeometry: PolylineGeometry): Geometry | undefined + } + + class ArcType { + static NONE: 0 + static GEODESIC: 1 + static RHUMB: 2 + } + + class PolylineVolumeGeometry { + packedLength: number + + constructor(options: { + polylinePositions: Cartesian3[] + shapePositions: Cartesian2[] + ellipsoid?: Ellipsoid + granularity?: number + vertexFormat?: VertexFormat + cornerType?: CornerType + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: PolylineVolumeGeometry + ): PolylineVolumeGeometry + + static createGeometry(polylineVolumeGeometry: PolylineVolumeGeometry): Geometry | undefined + } + + class PolylineVolumeOutlineGeometry { + packedLength: number + + constructor(options: { + polylinePositions: Cartesian3[] + shapePositions: number + ellipsoid?: Ellipsoid + granularity?: number + cornerType?: CornerType + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: PolylineVolumeOutlineGeometry + ): PolylineVolumeOutlineGeometry + + static createGeometry( + polylineVolumeOutlineGeometry: PolylineVolumeOutlineGeometry + ): Geometry | undefined + } + + class QuantizedMeshTerrainData { + waterMask: Uint8Array | HTMLImageElement | HTMLCanvasElement + + constructor(options: { + quantizedVertices: Uint16Array + indices: Uint16Array | Uint32Array + minimumHeight: number + maximumHeight: number + boundingSphere: BoundingSphere + horizonOcclusionPoint: Cartesian3 + westIndices: number[] + southIndices: number[] + eastIndices: number[] + northIndices: number[] + westSkirtHeight: number + southSkirtHeight: number + eastSkirtHeight: number + northSkirtHeight: number + childTileMask?: number + createdByUpsampling?: boolean + encodedNormals?: Uint8Array + waterMask?: Uint8Array + }) + + createMesh( + tilingScheme: TilingScheme, + x: number, + y: number, + level: number + ): Promise + + upsample( + tilingScheme: TilingScheme, + thisX: number, + thisY: number, + thisLevel: number, + descendantX: number, + descendantY: number, + descendantLevel: number + ): Promise + + interpolateHeight(rectangle: Rectangle, longitude: number, latitude: number): number + + isChildAvailable(thisX: number, thisY: number, childX: number, childY: number): boolean + + wasCreatedByUpsampling(): boolean + } + + class Quaternion { + x: number + y: number + z: number + w: number + static packedLength: number + static packedInterpolationLength: number + static ZERO: Quaternion + static IDENTITY: Quaternion + + constructor(x?: number, y?: number, z?: number, w?: number) + + clone(result?: Quaternion): Quaternion + + equals(right?: Quaternion): boolean + + equalsEpsilon(right: Quaternion, epsilon: number): boolean + + toString(): string + + static fromAxisAngle(axis: Cartesian3, angle: number, result?: Quaternion): Quaternion + + static fromRotationMatrix(matrix: Matrix3, result?: Quaternion): Quaternion + + static fromHeadingPitchRoll( + headingPitchRoll: HeadingPitchRoll, + result: Quaternion, + ): Quaternion + + static pack(value: Quaternion, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Quaternion): Quaternion + + static convertPackedArrayForInterpolation( + packedArray: number[], + startingIndex?: number, + lastIndex?: number, + result?: number[] + ): void + + static unpackInterpolationResult( + array: number[], + sourceArray: number[], + startingIndex?: number, + lastIndex?: number, + result?: Quaternion + ): Quaternion + + static clone(quaternion: Quaternion, result?: Quaternion): Quaternion + + static conjugate(quaternion: Quaternion, result: Quaternion): Quaternion + + static magnitudeSquared(quaternion: Quaternion): number + + static magnitude(quaternion: Quaternion): number + + static normalize(quaternion: Quaternion, result: Quaternion): Quaternion + + static inverse(quaternion: Quaternion, result: Quaternion): Quaternion + + static add(left: Quaternion, right: Quaternion, result: Quaternion): Quaternion + + static subtract(left: Quaternion, right: Quaternion, result: Quaternion): Quaternion + + static negate(quaternion: Quaternion, result: Quaternion): Quaternion + + static dot(left: Quaternion, right: Quaternion): number + + static multiply(left: Quaternion, right: Quaternion, result: Quaternion): Quaternion + + static multiplyByScalar(quaternion: Quaternion, scalar: number, result: Quaternion): Quaternion + + static divideByScalar(quaternion: Quaternion, scalar: number, result: Quaternion): Quaternion + + static computeAxis(quaternion: Quaternion, result: Cartesian3): Cartesian3 + + static computeAngle(quaternion: Quaternion): number + + static lerp(start: Quaternion, end: Quaternion, t: number, result: Quaternion): Quaternion + + static slerp(start: Quaternion, end: Quaternion, t: number, result: Quaternion): Quaternion + + static log(quaternion: Quaternion, result: Cartesian3): Cartesian3 + + static exp(cartesian: Cartesian3, result: Quaternion): Quaternion + + static computeInnerQuadrangle( + q0: Quaternion, + q1: Quaternion, + q2: Quaternion, + result: Quaternion + ): Quaternion + + static squad( + q0: Quaternion, + q1: Quaternion, + s0: Quaternion, + s1: Quaternion, + t: number, + result: Quaternion + ): Quaternion + + static fastSlerp(start: Quaternion, end: Quaternion, t: number, result: Quaternion): Quaternion + + static fastSquad( + q0: Quaternion, + q1: Quaternion, + s0: Quaternion, + s1: Quaternion, + t: number, + result?: Quaternion + ): Quaternion + + static equals(left?: Quaternion, right?: Quaternion): boolean + + static equalsEpsilon(left: Quaternion, right: Quaternion, epsilon: number): boolean + } + + class QuaternionSpline { + times: number[] + points: Quaternion[] + innerQuadrangles: Quaternion[] + + constructor(options: { + times: number[] + points: Quaternion[] + firstInnerQuadrangle?: Quaternion + lastInnerQuadrangle?: Quaternion + }) + + findTimeInterval(time: number): number + + evaluate(time: number, result?: Quaternion): Quaternion + } + + module Queue { + type Comparator = (a: any, b: any) => number + } + + class Ray { + origin: Cartesian3 + direction: Cartesian3 + + constructor(origin?: Cartesian3, direction?: Cartesian3) + + static getPoint(t: number, result?: Cartesian3): Cartesian3 + } + + class Rectangle { + static fromCartesianArray(arg0: any) + west: number + south: number + east: number + north: number + width: number + height: number + static packedLength: number + static MAX_VALUE: Rectangle + + constructor(west?: number, south?: number, east?: number, north?: number) + + clone(result?: Rectangle): Rectangle + + equals(other?: Rectangle): boolean + + equalsEpsilon(other: Rectangle, epsilon: number): boolean + + static pack(value: Rectangle, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: Rectangle): Rectangle + + static computeWidth(rectangle: Rectangle): number + + static computeHeight(rectangle: Rectangle): number + + static fromDegrees( + west?: number, + south?: number, + east?: number, + north?: number, + result?: Rectangle + ): Rectangle + + static fromCartographicArray(cartographics: Cartographic[], result?: Rectangle): Rectangle + + static clone(rectangle: Rectangle, result?: Rectangle): Rectangle + + static equals(left?: Rectangle, right?: Rectangle): boolean + + /** + * + * @param rectangle + * @throws {DeveloperError} + */ + static validate(rectangle: Rectangle): void + + static southwest(rectangle: Rectangle, result?: Cartographic): Cartographic + + static northwest(rectangle: Rectangle, result?: Cartographic): Cartographic + + static northeast(rectangle: Rectangle, result?: Cartographic): Cartographic + + static southeast(rectangle: Rectangle, result?: Cartographic): Cartographic + + static center(rectangle: Rectangle, result?: Cartographic): Cartographic + + static intersection( + rectangle: Rectangle, + otherRectangle: Rectangle, + result?: Rectangle + ): Rectangle + + static contains(rectangle: Rectangle, cartographic: Cartographic): boolean + + static subsample( + rectangle: Rectangle, + ellipsoid?: Ellipsoid, + surfaceHeight?: number, + result?: Cartesian3[] + ): Cartesian3[] + } + + class RectangleGeometry { + static packedLength: number + + constructor(options: { + rectangle: Rectangle + vertexFormat?: VertexFormat + ellipsoid?: Ellipsoid + granularity?: number + height?: number + rotation?: number + stRotation?: number + extrudedHeight?: number + closeTop?: boolean + closeBottom?: boolean + }) + + static createGeometry(rectangleGeometry: RectangleGeometry): Geometry | undefined + + static pack(value: BoundingSphere, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: RectangleGeometry + ): RectangleGeometry + } + + class RectangleOutlineGeometry { + static packedLength: number + + constructor(options: { + rectangle: Rectangle + ellipsoid?: Ellipsoid + granularity?: number + height?: number + rotation?: number + extrudedHeight?: number + }) + + static pack(value: BoundingSphere, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: RectangleGeometry + ): RectangleGeometry + + static createGeometry(rectangleGeometry: RectangleOutlineGeometry): Geometry | undefined + } + + class RequestErrorEvent { + statusCode: number + response: any + responseHeaders: any + + constructor(statusCode?: number, response?: any, responseHeaders?: string | any) + + toString(): string + } + + type ResourceCallback = (resource: Resource, error: Error) => boolean | Promise + + type ResourceOptions = { + url: string + queryParameters?: object + templateValues?: object + headers?: object + proxy?: DefaultProxy + retryCallback?: ResourceCallback + retryAttempts?: number + request?: any // Cesium.Request + } + + class Resource { + static fetchArrayBuffer: any; + static fetchImage: any; + constructor(options: string | ResourceOptions) + } + + class RuntimeError { + name: string + message: string + stack: string + + constructor(message?: string) + } + + class ScreenSpaceEventHandler { + lastPointTemporary: boolean; + dragger: any; + constructor(element?: HTMLCanvasElement) + + setInputAction(action: ScreenSpaceEventAction, type: number, modifier?: number): void + + getInputAction(type: number, modifier?: number): ScreenSpaceEventAction + + removeInputAction(type: number, modifier?: number): void + + isDestroyed(): boolean + + destroy(): void + } + + type ScreenSpaceEventAction = (evt: PositionedEvent | MoveEvent | Touch2Event) => void + + class ShowGeometryInstanceAttribute { + value: Uint8Array + componentDatatype: ComponentDatatype + componentsPerAttribute: number + normalize: boolean + + constructor(show?: boolean) + + static toValue(show: boolean, result?: Uint8Array): Uint8Array + } + + class SimplePolylineGeometry { + packedLength: number + + constructor(options: { + positions: Cartesian3[] + colors?: Color[] + colorsPerVertex?: boolean + followSurface?: boolean + granularity?: number + ellipsoid?: Ellipsoid + }) + + static createGeometry(simplePolylineGeometry: SimplePolylineGeometry): Geometry | undefined + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: SimplePolylineGeometry + ): SimplePolylineGeometry + } + + class SphereGeometry { + static packedLength: number + + constructor(options?: { + radius?: number + stackPartitions?: number + slicePartitions?: number + vertexFormat?: VertexFormat + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: SphereGeometry): SphereGeometry + + static createGeometry(sphereGeometry: SphereGeometry): Geometry | undefined + } + + class SphereOutlineGeometry { + static packedLength: number + + constructor(options?: { + radius?: number + stackPartitions?: number + slicePartitions?: number + subdivisions?: number + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: SphereOutlineGeometry + ): SphereOutlineGeometry + + static createGeometry(sphereGeometry: SphereOutlineGeometry): Geometry | undefined + } + + class Spherical { + constructor(clock?: number, cone?: number, magnitude?: number) + + equals(other: Spherical): boolean + + clone(result?: Spherical): Spherical + + equalsEpsilon(other: Spherical, epsilon: number): boolean + + toString(): string + + static fromCartesian3(cartesian3: Cartesian3, spherical?: Spherical): Spherical + + static clone(spherical: Spherical, result?: Spherical): Spherical + + static normalize(spherical: Spherical, result?: Spherical): Spherical + + static equals(left: Spherical, right: Spherical): boolean + + static equalsEpsilon(left: Spherical, right: Spherical, epsilon?: number): boolean + } + + class Spline { + times: number[] + points: Cartesian3[] | Quaternion[] + + evaluate(time: number, result?: Cartesian3 | Quaternion): Cartesian3 | Quaternion + + findTimeInterval(time: number, startIndex: number): number + } + + class TaskProcessor { + constructor(workerName: string, maximumActiveTasks?: number) + + scheduleTask(parameters: any, transferableObjects?: any[]): Promise + + isDestroyed(): boolean + + destroy(): void + } + + class TerrainData { + waterMask: Uint8Array | HTMLImageElement | HTMLCanvasElement + + interpolateHeight(rectangle: Rectangle, longitude: number, latitude: number): number + + isChildAvailable(thisX: number, thisY: number, childX: number, childY: number): boolean + + createMesh( + tilingScheme: TilingScheme, + x: number, + y: number, + level: number + ): Promise + + upsample( + tilingScheme: TilingScheme, + thisX: number, + thisY: number, + thisLevel: number, + descendantX: number, + descendantY: number, + descendantLevel: number + ): Promise + + wasCreatedByUpsampling(): boolean + } + + class TerrainMesh { + center: Cartesian3 + vertices: Float32Array + stride: number + indices: Uint16Array | Uint32Array + minimumHeight: number + maximumHeight: number + boundingSphere3D: BoundingSphere + occludeePointInScaledSpace: Cartesian3 + + constructor( + center: Cartesian3, + vertices: Float32Array, + indices: Uint16Array | Uint32Array, + minimumHeight: number, + maximumHeight: number, + boundingSphere3D: BoundingSphere, + occludeePointInScaledSpace: Cartesian3, + vertexStride?: number + ) + } + + class TerrainProvider { + static heightmapTerrainQuality: number + credit: Credit + errorEvent: Event + hasVertexNormals: boolean + hasWaterMask: boolean + ready: boolean + readonly readyPromise: Promise + tilingScheme: TilingScheme + + static getEstimatedLevelZeroGeometricErrorForAHeightmap( + ellipsoid: Ellipsoid, + tileImageWidth: number, + numberOfTilesAtLevelZero: number + ): number + + static getRegularGridIndices(width: number, height: number): Uint16Array + + getLevelMaximumGeometricError(level: number): number + + getTileDataAvailable(x: number, y: number, level: number): boolean + + requestTileGeometry( + x: number, + y: number, + level: number, + request?: Request + ): Promise + } + + class TileProviderError { + provider: ImageryProvider | TerrainProvider + message: string + x: number + y: number + level: number + timesRetried: number + retry: boolean + error: Error + + constructor( + provider: ImageryProvider | TerrainProvider, + message: string, + x?: number, + y?: number, + level?: number, + timesRetried?: number, + error?: Error + ) + + static handleError( + previousError: TileProviderError, + provider: ImageryProvider | TerrainProvider, + event: Event, + message: string, + x: number, + y: number, + level: number, + retryFunction: TileProviderError.RetryFunction, + errorDetails?: Error + ): TileProviderError + + static handleSuccess(previousError: TileProviderError): void + } + + module TileProviderError { + type RetryFunction = () => void + } + + class TilingScheme { + ellipsoid: Ellipsoid + rectangle: Rectangle + projection: MapProjection + + getNumberOfXTilesAtLevel(level: number): number + + getNumberOfYTilesAtLevel(level: number): number + + rectangleToNativeRectangle(rectangle: Rectangle, result?: Rectangle): Rectangle + + tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle + + tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle + + positionToTileXY(position: Cartographic, level: number, result?: Cartesian2): Cartesian2 + } + + class TimeInterval { + start: JulianDate + stop: JulianDate + data: any + isStartIncluded: boolean + isStopIncluded: boolean + isEmpty: boolean + static EMPTY: TimeInterval + + constructor(options?: { + start?: JulianDate + stop?: JulianDate + isStartIncluded?: boolean + isStopIncluded?: boolean + data?: any + }) + + clone(result?: TimeInterval): TimeInterval + + equals(right?: TimeInterval, dataComparer?: TimeInterval.DataComparer): boolean + + equalsEpsilon( + right: TimeInterval, + epsilon: number, + dataComparer?: TimeInterval.DataComparer + ): boolean + + toString(): string + + static fromIso8601( + options: { iso8601: string; isStartIncluded?: boolean; isStopIncluded?: boolean; data?: any }, + result?: TimeInterval + ): TimeInterval + + static toIso8601(timeInterval: TimeInterval, precision?: number): string + + static clone(timeInterval?: TimeInterval, result?: TimeInterval): TimeInterval + + static equals( + left?: TimeInterval, + right?: TimeInterval, + dataComparer?: TimeInterval.DataComparer + ): boolean + + static equalsEpsilon( + left: TimeInterval, + right: TimeInterval, + epsilon: number, + dataComparer?: TimeInterval.DataComparer + ): boolean + + static intersect( + left: TimeInterval, + right: TimeInterval, + result: TimeInterval, + mergeCallback?: TimeInterval.MergeCallback + ): TimeInterval + + static contains(timeInterval: TimeInterval, julianDate: JulianDate): boolean + } + + module TimeInterval { + type MergeCallback = (leftData: any, rightData: any) => any + type DataComparer = (leftData: any, rightData: any) => boolean + } + + class TimeIntervalCollection { + changedEvent: Event + start: JulianDate + isStartIncluded: boolean + stop: JulianDate + isStopIncluded: boolean + length: number + isEmpty: boolean + + constructor(intervals?: TimeInterval[]) + + equals(right?: TimeIntervalCollection, dataComparer?: TimeInterval.DataComparer): boolean + + get(index: number): TimeInterval + + removeAll(): void + + findIntervalContainingDate(date: JulianDate): TimeInterval + + findDataForIntervalContainingDate(date: JulianDate): Object + + contains(julianDate: JulianDate): boolean + + indexOf(date: JulianDate): number + + findInterval(options?: { + start?: JulianDate + stop?: JulianDate + isStartIncluded?: boolean + isStopIncluded?: boolean + }): TimeInterval + + addInterval(interval: TimeInterval, dataComparer?: TimeInterval.DataComparer): void + + removeInterval(interval: TimeInterval): void + + intersect( + other: TimeIntervalCollection, + dataComparer?: TimeInterval.DataComparer, + mergeCallback?: TimeInterval.MergeCallback + ): TimeIntervalCollection + } + + class GoogleEarthEnterpriseTerrainProvider extends TerrainProvider { + readonly credit: Credit + readonly errorEvent: Event + hasVertexNormals: boolean + hasWaterMask: boolean + readonly proxy: Proxy + readonly ready: boolean + readonly readyPromise: Promise + readonly tilingScheme: TilingScheme + readonly url: string + + constructor(options: { + url: Resource | string + metadata: GoogleEarthEnterpriseMetadata + ellipsoid?: Ellipsoid + credit?: Credit | string + }) + + getLevelMaximumGeometricError(level: number): number + + getTileDataAvailable(x: number, y: number, level: number): boolean + + requestTileGeometry( + x: number, + y: number, + level: number, + request?: Request + ): Promise + } + + class GoogleEarthEnterpriseMetadata { + constructor(resourceOrUrl: Resource | string) + } + + class VRTheWorldTerrainProvider extends TerrainProvider { + credit: Credit + errorEvent: Event + hasVertexNormals: boolean + hasWaterMask: boolean + ready: boolean + readonly readyPromise: Promise + tilingScheme: GeographicTilingScheme + + constructor(options: { + url: string + proxy?: any + ellipsoid?: Ellipsoid + credit?: Credit | string + }) + + getLevelMaximumGeometricError(level: number): number + + getTileDataAvailable(x: number, y: number, level: number): boolean + + requestTileGeometry( + x: number, + y: number, + level: number, + request?: Request + ): Promise + } + + class VertexFormat { + position: boolean + normal: boolean + st: boolean + binormal: boolean + tangent: boolean + color: boolean + static POSITION_ONLY: VertexFormat + static POSITION_AND_NORMAL: VertexFormat + static POSITION_NORMAL_AND_ST: VertexFormat + static POSITION_AND_ST: VertexFormat + static POSITION_AND_COLOR: VertexFormat + static ALL: VertexFormat + static DEFAULT: VertexFormat + static packedLength: number + + constructor(options?: any) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: VertexFormat): VertexFormat + + static clone(cartesian: VertexFormat, result?: VertexFormat): VertexFormat + } + + class WallGeometry { + packedLength: number + + constructor(options: { + positions: Cartesian3[] + granularity?: number + maximumHeights?: number[] + minimumHeights?: number[] + ellipsoid?: Ellipsoid + vertexFormat?: VertexFormat + }) + + static createGeometry(wallGeometry: WallGeometry): Geometry | undefined + + static fromConstantHeights( + positions: Cartesian3[], + maximumHeight?: number, + minimumHeight?: number, + ellipsoid?: Ellipsoid + ): WallGeometry + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack(array: number[], startingIndex?: number, result?: WallGeometry): WallGeometry + } + + class WallOutlineGeometry { + packedLength: number + + constructor(options: { + positions: Cartesian3[] + granularity?: number + maximumHeights?: number[] + minimumHeights?: number[] + ellipsoid?: Ellipsoid + }) + + static pack(value: any, array: number[], startingIndex?: number): number[] + + static unpack( + array: number[], + startingIndex?: number, + result?: WallOutlineGeometry + ): WallOutlineGeometry + + static fromConstantHeights( + positions: Cartesian3[], + maximumHeight?: number, + minimumHeight?: number, + ellipsoid?: Ellipsoid + ): WallOutlineGeometry + + static createGeometry(wallGeometry: WallOutlineGeometry): Geometry | undefined + } + + class WebMercatorProjection { + ellipsoid: Ellipsoid + static MaximumLatitude: number + + constructor(ellipsoid?: Ellipsoid) + + project(cartographic: Cartographic, result?: Cartesian3): Cartesian3 + + unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic + + static mercatorAngleToGeodeticLatitude(mercatorAngle: number): number + + static geodeticLatitudeToMercatorAngle(latitude: number): number + } + + class WebMercatorTilingScheme { + ellipsoid: Ellipsoid + rectangle: Rectangle + projection: MapProjection + + constructor(options?: { + ellipsoid?: Ellipsoid + numberOfLevelZeroTilesX?: number + numberOfLevelZeroTilesY?: number + rectangleSouthwestInMeters?: Cartesian2 + rectangleNortheastInMeters?: Cartesian2 + }) + + getNumberOfXTilesAtLevel(level: number): number + + getNumberOfYTilesAtLevel(level: number): number + + rectangleToNativeRectangle(rectangle: Rectangle, result?: Rectangle): Rectangle + + tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle + + tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle + + positionToTileXY(position: Cartographic, level: number, result?: Cartesian2): Cartesian2 + } + + type BillboardGraphicsOptions = { + image?: any | String | HTMLCanvasElement + show?: any | boolean + scale?: any | number + horizontalOrigin?: any | HorizontalOrigin + verticalOrigin?: any | VerticalOrigin + eyeOffset?: any + pixelOffset?: any | Cartesian2 + rotation?: any + alignedAxis?: any + width?: any | number + height?: any | number + color?: any + scaleByDistance?: any | NearFarScalar + translucencyByDistance?: any | NearFarScalar + pixelOffsetScaleByDistance?: any | NearFarScalar + imageSubRegion?: any + } + + class BillboardGraphics { + readonly definitionChanged: Event + disableDepthTestDistance: any | any + distanceDisplayCondition: any | any + heightReference: any | any + sizeInMeters: any | any + image: any | any + imageSubRegion: any | any + scale: any | any + rotation: any | any + alignedAxis: any | any + horizontalOrigin: any | any + verticalOrigin: any | any + color: any | any + eyeOffset: any | any + pixelOffset: any | any + show: any | any + width: any | any + height: any | any + scaleByDistance: any | any + translucencyByDistance: any | any + pixelOffsetScaleByDistance: any | any + + constructor(options?: BillboardGraphicsOptions) + + clone(result?: BillboardGraphics): BillboardGraphics + + merge(source: BillboardGraphics): void + } + + class BillboardVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection) + + update(time: JulianDate): boolean + + isDestroyed(): boolean + + destroy(): void + } + + class BoxGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class BoxGraphics { + definitionChanged: Event + show: any + dimensions: any + material: MaterialProperty + fill: any + outline: any + outlineColor: any + outlineWidth: any + + constructor(options?: { + dimensions?: any + show?: any + fill?: any + material?: MaterialProperty + outline?: any + outlineColor?: any + outlineWidth?: any + }) + + clone(result?: BoxGraphics): BoxGraphics + + merge(source: BoxGraphics): void + } + + class CallbackProperty { + isConstant: boolean + definitionChanged: Event + + constructor(callback: CallbackProperty.Callback, isConstant: boolean) + + getValue(time?: JulianDate, result?: any): any + + setCallback(callback: CallbackProperty.Callback, isConstant: boolean): void + + equals(other?: any): boolean + } + + module CallbackProperty { + type Callback = (time?: JulianDate, result?: any) => any + } + + class CheckerboardMaterialProperty { + isConstant: boolean + definitionChanged: Event + evenColor: any + oddColor: any + repeat: any + + constructor(options?: { evenColor?: any; oddColor?: any; repeat?: any }) + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class ColorMaterialProperty { + isConstant: boolean + definitionChanged: Event + color: any + + constructor(color?: any) + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class CompositeEntityCollection { + collectionChanged: Event + id: string + values: Entity[] + + constructor(collections?: EntityCollection[]) + + addCollection(collection: EntityCollection, index?: number): void + + removeCollection(collection: EntityCollection): boolean + + removeAllCollections(): void + + containsCollection(collection: EntityCollection): boolean + + contains(entity: Entity): boolean + + indexOfCollection(collection: EntityCollection): number + + getCollection(index: number): EntityCollection + + getCollectionsLength(): number + + raiseCollection(collection: EntityCollection): void + + lowerCollection(collection: EntityCollection): void + + raiseCollectionToTop(collection: EntityCollection): void + + lowerCollectionToBottom(collection: EntityCollection): void + + suspendEvents(): void + + resumeEvents(): void + + computeAvailability(): TimeInterval + + getById(id: any): Entity + } + + class CompositeMaterialProperty { + isConstant: boolean + definitionChanged: Event + intervals: TimeIntervalCollection + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class CompositePositionProperty { + isConstant: boolean + definitionChanged: Event + intervals: TimeIntervalCollection + referenceFrame: ReferenceFrame + + getValue(time: JulianDate, result?: any): any + + getValueInReferenceFrame( + time: JulianDate, + referenceFrame: ReferenceFrame, + result?: Cartesian3 + ): Cartesian3 + + equals(other?: any): boolean + } + + class CompositeProperty { + isConstant: boolean + definitionChanged: Event + intervals: TimeIntervalCollection + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class ConstantPositionProperty { + isConstant: boolean + definitionChanged: Event + referenceFrame: ReferenceFrame + + constructor(value?: Cartesian3, referenceFrame?: ReferenceFrame) + + getValue(time: JulianDate, result?: any): any + + setValue(value: Cartesian3, referenceFrame?: ReferenceFrame): void + + getValueInReferenceFrame( + time: JulianDate, + referenceFrame: ReferenceFrame, + result?: Cartesian3 + ): Cartesian3 + + equals(other?: any): boolean + } + + class ConstantProperty { + isConstant: boolean + definitionChanged: Event + + constructor(value?: any) + + getValue(time?: JulianDate, result?: any): any + + setValue(value: any): void + + equals(other?: any): boolean + } + + class CorridorGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class CorridorGraphics { + definitionChanged: Event + show: any + material: MaterialProperty + positions: any + height: any + extrudedHeight: any + granularity: any + width: any + fill: any + outline: any + outlineColor: any + outlineWidth: any + cornerType: any + + constructor(options?: { + positions?: any + width?: any + cornerType?: any + height?: any + extrudedHeight?: any + show?: any + fill?: any + material?: MaterialProperty + outline?: any + outlineColor?: any + outlineWidth?: any + granularity?: any + }) + + clone(result?: CorridorGraphics): CorridorGraphics + + merge(source: CorridorGraphics): void + } + + class CustomDataSource extends DataSource { + name: string + clock: DataSourceClock + entities: EntityCollection + isLoading: boolean + changedEvent: Event + errorEvent: Event + loadingEvent: Event + + constructor(name?: string) + } + + class CylinderGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class CylinderGraphics { + definitionChanged: Event + length: any + topRadius: any + bottomRadius: any + numberOfVerticalLines: any + slices: any + show: any + material: MaterialProperty + fill: any + outline: any + outlineColor: any + outlineWidth: any + + constructor(options?: { + length?: any + topRadius?: any + bottomRadius?: any + show?: any + fill?: any + material?: MaterialProperty + outline?: any + outlineColor?: any + outlineWidth?: any + numberOfVerticalLines?: any + slices?: any + }) + + clone(result?: CylinderGraphics): CylinderGraphics + + merge(source: CylinderGraphics): void + } + + class CzmlDataSource extends DataSource { + name: string + clock: DataSourceClock + entities: EntityCollection + isLoading: boolean + changedEvent: Event + errorEvent: Event + loadingEvent: Event + static updaters: any[] + + constructor(name?: string) + + process(data: string | any, options?: { sourceUri?: string }): Promise + + load(data: string | any, options?: { sourceUri?: string }): Promise + static load(data: string | any, options?: { sourceUri?: string }): Promise + + static processPacketData( + type: Function, + object: any, + propertyName: string, + packetData: any, + interval: TimeInterval, + sourceUri: string, + entityCollection: EntityCollection + ): void + + static processPositionPacketData( + object: any, + propertyName: string, + packetData: any, + interval: TimeInterval, + sourceUri: string, + entityCollection: EntityCollection + ): void + + static processMaterialPacketData( + object: any, + propertyName: string, + packetData: any, + interval: TimeInterval, + sourceUri: string, + entityCollection: EntityCollection + ): void + } + + class DataSource { + changedEvent: Event + clock: DataSourceClock + clustering: EntityCluster + entities: EntityCollection + errorEvent: Event + isLoading: boolean + loadingEvent: Event + name: string + show: boolean + + update(time: JulianDate): boolean + } + + class DataSourceClock { + definitionChanged: Event + startTime: JulianDate + stopTime: JulianDate + currentTime: JulianDate + clockRange: ClockRange + clockStep: ClockStep + multiplier: number + + clone(result?: DataSourceClock): DataSourceClock + + equals(other: DataSourceClock): boolean + + merge(source: DataSourceClock): void + + getValue(): Clock + } + + class DataSourceCollection { + length: number + dataSourceAdded: Event + dataSourceRemoved: Event + + add(dataSource: DataSource | Promise): Promise + + remove(dataSource: DataSource, destroy?: boolean): boolean + + removeAll(destroy?: boolean): void + + contains(dataSource: DataSource): boolean + + indexOf(dataSource: DataSource): number + + get(index: number): DataSource + + isDestroyed(): boolean + + destroy(): void + } + + class DataSourceDisplay { + scene: Scene + dataSources: DataSourceCollection + defaultDataSource: CustomDataSource + static defaultVisualizersCallback: DataSourceDisplay.VisualizersCallback + + constructor(options: { + scene: Scene + dataSourceCollection: DataSourceCollection + visualizersCallback?: DataSourceDisplay.VisualizersCallback + }) + + isDestroyed(): boolean + + destroy(): void + + update(time: JulianDate): boolean + } + + module DataSourceDisplay { + type VisualizersCallback = (scene: Scene, dataSource: DataSource) => Visualizer[] + } + + class DynamicGeometryUpdater { + update(time: JulianDate): void + + isDestroyed(): boolean + + destroy(): void + } + + class EllipseGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class EllipseGraphics { + definitionChanged: any + semiMajorAxis: any + semiMinorAxis: any + rotation: any + show: any + material: any + height: any + extrudedHeight: any + granularity: any + stRotation: any + fill: any + outline: any + outlineColor: any + outlineWidth: any + numberOfVerticalLines: any + + constructor(options?: { + semiMajorAxis?: number + semiMinorAxis?: number + height?: any + extrudedHeight?: any + show?: any + fill?: any + material?: any + outline?: any + outlineColor?: any + outlineWidth?: any + numberOfVerticalLines?: any + rotation?: any + stRotation?: any + granularity?: any + }) + + clone(result?: EllipseGraphics): EllipseGraphics + + merge(source: EllipseGraphics): void + } + + class EllipsoidGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class EllipsoidGraphics { + definitionChanged: Event + show: any + radii: any + material: MaterialProperty + fill: any + outline: any + outlineColor: any + outlineWidth: any + stackPartitions: any + slicePartitions: any + subdivisions: any + + constructor(options?: { + radii?: any + show?: any + fill?: any + material?: MaterialProperty + outline?: any + outlineColor?: any + outlineWidth?: any + subdivisions?: any + stackPartitions?: any + slicePartitions?: any + }) + + clone(result?: EllipsoidGraphics): EllipsoidGraphics + + merge(source: EllipsoidGraphics): void + } + class RectangularSensorGraphics { + options: any + constructor(options?: any) + } + class Entity { + conicSensor: any; + rectangularSensor: any; + inProgress(arg0: any, arg1: any) + availability: TimeIntervalCollection + id: string + definitionChanged: Event + name: string + show: boolean + isShowing: boolean + parent: Entity + propertyNames: Event + billboard: BillboardGraphics + box: BoxGraphics + corridor: CorridorGraphics + cylinder: CylinderGraphics + description: any | any + ellipse: EllipseGraphics + ellipsoid: EllipsoidGraphics + entityCollection: EntityCollection + label: LabelGraphics + model: ModelGraphics + orientation: any + path: PathGraphics + plane: PlaneGraphics + point: PointGraphics + polygon: PolygonGraphics + polyline: PolylineGraphics + polylineVolume: PolylineVolumeGraphics + position: PositionProperty + properties: PropertyBag + rectangle: RectangleGraphics + viewFrom: any + wall: WallGraphics + + constructor(options?: EntityOptions) + + isAvailable(time: JulianDate): boolean + + addProperty(propertyName: string): void + + removeProperty(propertyName: string): void + + merge(source: Entity): void + } + + class EntityOptions { + id?: string + name?: string + show?: boolean + description?: any | string + position?: any | Cartesian3 + orientation?: any | any + viewFrom?: any | any + parent?: Entity + billboard?: BillboardGraphics | BillboardGraphicsOptions + box?: BoxGraphics + corridor?: CorridorGraphics + cylinder?: CylinderGraphics + ellipse?: EllipseGraphics + ellipsoid?: EllipsoidGraphics + label?: LabelGraphics | LabelGraphicsOptions + model?: ModelGraphics + path?: PathGraphics + plane?: PlaneGraphics + point?: PointGraphics + polygon?: PolygonGraphics | PolygonGraphicsOptions + polyline?: PolylineGraphics | PolylineGraphicsOptions + polylineVolume?: PolylineVolumeGraphics + properties?: { [key: string]: string | number | boolean } + rectangle?: RectangleGraphics + wall?: WallGraphics + } + + class EntityCluster { + constructor(options: EntityClusterOptions) + + clusterBillboards: boolean + clusterEvent: Event + clusterLabels: boolean + clusterPoints: boolean + enabled: boolean + minimumClusterSize: number + pixelRange: number + } + + type EntityClusterOptions = { + clusterBillboards?: boolean + clusterLabels?: boolean + clusterPoints?: boolean + enabled?: boolean + minimumClusterSize?: number + pixelRange?: number + } + + module EntityCluster { + type newClustterCallback = ( + clusteredEntities: Entity[], + cluster: { billboard: BillboardGraphics; label: LabelGraphics; point: PointGraphics } + ) => void + } + + class EntityCollection { + collectionChanged: Event + id: string + owner: DataSource | CompositeEntityCollection + show: boolean + values: Entity[] + + suspendEvents(): void + + resumeEvents(): void + + computeAvailability(): TimeInterval + + add(entity: Entity | EntityOptions): Entity + + remove(entity: Entity): boolean + + contains(entity: Entity): boolean + + removeById(id: any): boolean + + removeAll(): void + + getById(id: any): Entity + + getOrCreateEntity(id: any): Entity + } + + module EntityCollection { + type collectionChangedEventCallback = ( + collection: EntityCollection, + added: Entity[], + removed: Entity[], + changed: Entity[] + ) => void + } + + class EntityView { + entity: Entity + scene: Scene + ellipsoid: Ellipsoid + boundingSphere: Entity + static defaultOffset3D: Cartesian3 + + constructor( + entity: Entity, + scene: Scene, + ellipsoid?: Ellipsoid, + boundingSphere?: BoundingSphere + ) + + update(time: JulianDate): void + } + + class GeoJsonDataSource extends DataSource { + name: string + clock: DataSourceClock + entities: EntityCollection + isLoading: boolean + changedEvent: Event + errorEvent: Event + loadingEvent: Event + static markerSize: number + static markerSymbol: string + static markerColor: Color + static stroke: Color + static strokeWidth: number + static fill: Color + static crsNames: any + static crsLinkHrefs: any + static crsLinkTypes: any + + constructor(name?: string) + + load( + data: string | any, + options?: { + sourceUri?: string + markerSize?: number + markerSymbol?: string + markerColor?: Color + stroke?: Color + strokeWidth?: number + fill?: Color + clampToGround?: boolean + } + ): Promise + static load( + data: string | any, + options?: { + sourceUri?: string + describe?: (properties: Object, nameProperty: string) => void + markerSize?: number + markerSymbol?: string + markerColor?: Color + stroke?: Color + strokeWidth?: number + fill?: Color + clampToGround?: boolean + } + ): Promise + } + + class GeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class GeometryVisualizer { + constructor(type: GeometryUpdater, scene: Scene, entityCollection: EntityCollection) + + update(time: JulianDate): boolean + + isDestroyed(): boolean + + destroy(): void + } + + class GridMaterialProperty { + isConstant: boolean + definitionChanged: Event + color: Color + cellAlpha: any + lineCount: any + lineThickness: any + lineOffset: any + + constructor(options?: { + color?: any + cellAlpha?: any + lineCount?: any + lineThickness?: any + lineOffset?: any + }) + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class ImageMaterialProperty { + isConstant: boolean + definitionChanged: Event + image: any + repeat: any + + constructor(options?: { image?: any; repeat?: any }) + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class KmlDataSource extends DataSource { + name: string + clock: DataSourceClock + entities: EntityCollection + isLoading: boolean + changedEvent: Event + errorEvent: Event + loadingEvent: Event + + constructor(options: KmlConstructorOptions) + + load(data: string | Document | Blob, options?: KmlLoadOptions): Promise + static load( + data: string | Document | Blob, + options?: KmlConstructorOptions & KmlLoadOptions + ): Promise + } + + class KmlConstructorOptions { + camera: Camera + canvas: HTMLCanvasElement + proxy?: DefaultProxy + } + + class KmlLoadOptions { + camera: Camera + canvas: HTMLCanvasElement + proxy?: DefaultProxy + sourceUri?: string + clampToGround?: boolean + query?: Object + } + + class KmlFeatureData { + author: { name: string; uri: string; email: string } + link: { + href: string + hreflang: string + rel: string + type: string + title: string + length: string + } + address: string + phoneNumber: string + snippet: string + extendedData: string + } + + class LabelGraphics { + readonly definitionChanged: Event + showBackground: any | boolean + distanceDisplayCondition: any | any + disableDepthTestDistance: any | any + text: any + font: any + style: any + fillColor: any + outlineColor: any + outlineWidth: any + horizontalOrigin: any + verticalOrigin: any + eyeOffset: any + pixelOffset: any + scale: any + show: any + translucencyByDistance: any + pixelOffsetScaleByDistance: any + + constructor(options?: LabelGraphicsOptions) + + clone(result?: LabelGraphics): LabelGraphics + + merge(source: LabelGraphics): void + } + + class LabelGraphicsOptions { + text?: any | string + font?: any | string + style?: any + fillColor?: any | Color + backgroundColor?: any | Color + outlineColor?: any | Color + outlineWidth?: any | number + show?: any | boolean + showBackground?: any | boolean + scale?: any | NearFarScalar | any + scaleByDistance?: any | NearFarScalar + horizontalOrigin?: any | HorizontalOrigin + verticalOrigin?: any | VerticalOrigin + eyeOffset?: any | Cartesian2 + pixelOffset?: any | Cartesian2 + translucencyByDistance?: any | NearFarScalar + pixelOffsetScaleByDistance?: any | NearFarScalar + distanceDisplayCondition?: any | DistanceDisplayCondition + disableDepthTestDistance?: any | number + } + + class LabelVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection) + + update(time: JulianDate): boolean + + isDestroyed(): boolean + + destroy(): void + } + + class MaterialProperty { + isConstant: boolean + definitionChanged: Event + + equals(left: MaterialProperty, right: MaterialProperty): boolean + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + } + + class ModelGraphics { + readonly definitionChanged: Event + show: any | boolean + scale: any | number + minimumPixelSize: any | number + uri: any | string + maximumScale: any | number + + constructor(options?: { + uri?: any | string + show?: any + scale?: any | number + minimumPixelSize?: any | number + maximumScale: any | number + }) + + clone(result?: ModelGraphics): ModelGraphics + + merge(source: ModelGraphics): void + } + + class ModelVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection) + + update(time: JulianDate): boolean + + isDestroyed(): boolean + + destroy(): void + } + + class PathGraphics { + definitionChanged: Event + show: any + material: MaterialProperty + width: any + resolution: any + leadTime: any + trailTime: any + + constructor(options?: { + leadTime?: any + trailTime?: any + show?: any + width?: any + material?: MaterialProperty + resolution?: any + }) + + clone(result?: PathGraphics): PathGraphics + + merge(source: PathGraphics): void + } + + class PathVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection) + + update(time: JulianDate): boolean + + isDestroyed(): boolean + + destroy(): void + } + + class PlaneGraphics { + readonly definitionChanged: Event + plane: any + dimensions: any + show: any | boolean + fill: any | boolean + material?: MaterialProperty | Color + outline: any | boolean + outlineColor: any + outlineWidth: any | number + shadows: any + distanceDisplayCondition: any + + constructor(options?: PlaneGraphicsOptions) + + clone(result?: PlaneGraphics): PlaneGraphics + + merge(source: PlaneGraphics): void + } + + class PlaneGraphicsOptions { + plane?: any + dimensions?: any + show?: any | boolean + fill?: any | boolean + material?: MaterialProperty | Color + outline?: any | boolean + outlineColor: any + outlineWidth?: any | number + shadows?: any + distanceDisplayCondition?: any + } + + class PointGraphics { + color: any + pixelSize: any + outlineColor: any + outlineWidth: any + show: any | boolean + scaleByDistance: any + translucencyByDistance: any + heightReference: any + distanceDisplayCondition: any + + constructor(options?: PointGraphicsOptions) + + clone(result?: PointGraphics): PointGraphics + + merge(source: PointGraphics): void + } + + class PointGraphicsOptions { + color?: Color + pixelSize?: number + outlineColor?: Color + outlineWidth?: number + show?: any | boolean + scaleByDistance?: any | NearFarScalar + translucencyByDistance?: any | NearFarScalar + heightReference?: HeightReference + distanceDisplayCondition?: any | number + } + + class PointVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection) + + update(time: JulianDate): boolean + + isDestroyed(): boolean + + destroy(): void + } + + class PolygonGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class PolygonGraphics { + definitionChanged: Event + show: any | boolean + material: MaterialProperty + positions: any + hierarchy: any + height: any + extrudedHeight: any + granularity: any + stRotation: any + fill: any + outline: any + outlineColor: any + outlineWidth: any + perPositionHeight: any + + constructor(options?: PolygonGraphicsOptions) + + clone(result?: PolygonGraphics): PolygonGraphics + + merge(source: PolygonGraphics): void + } + + class PolygonGraphicsOptions { + hierarchy?: any | PolygonHierarchy | Cartesian3[] + height?: number + extrudedHeight?: any | number + show?: any | boolean + fill?: any | boolean + material?: MaterialProperty | Color + outline?: boolean + outlineColor?: any | Color + outlineWidth?: number + stRotation?: any | number + granularity?: any | number + perPositionHeight?: any | boolean + } + + class PolylineArrowMaterialProperty { + isConstant: boolean + definitionChanged: Event + color: any + + constructor(color?: any) + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class PolylineGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class PolylineGlowMaterialProperty { + isConstant: boolean + definitionChanged: Event + color: any + glowPower: any + + constructor(options?: { color?: any; glowPower?: any; taperPower?: any }) + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + type PolylineGraphicsOptions = { + positions?: any + followSurface?: any + width?: any + show?: any + material?: MaterialProperty + granularity?: any + } + + class PolylineGraphics { + definitionChanged: Event + show: any + material: MaterialProperty + positions: any + width: number + followSurface: any + granularity: any + + constructor(options?: PolylineGraphicsOptions) + + clone(result?: PolylineGraphics): PolylineGraphics + + merge(source: PolylineGraphics): void + } + + class PolylineOutlineMaterialProperty { + isConstant: boolean + definitionChanged: Event + color: any + outlineColor: any + outlineWidth: any + + constructor(options?: { color?: any; outlineColor?: any; outlineWidth?: any }) + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class PolylineVolumeGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class PolylineVolumeGraphics { + definitionChanged: Event + show: any + material: MaterialProperty + positions: any + shape: any + granularity: any + fill: any + outline: any + outlineColor: any + outlineWidth: any + cornerType: any + + constructor(options?: { + positions?: any + shape?: any + cornerType?: any + show?: any + fill?: any + material?: MaterialProperty + outline?: any + outlineColor?: any + outlineWidth?: any + granularity?: any + }) + + clone(result?: PolylineVolumeGraphics): PolylineVolumeGraphics + + merge(source: PolylineVolumeGraphics): void + } + + interface PositionProperty { + readonly isConstant: boolean + readonly definitionChanged: Event + referenceFrame: ReferenceFrame + + equals(other: any): boolean + + getValue(time: JulianDate, result?: Cartesian3): Cartesian3 + + getValueInReferenceFrame( + time: JulianDate, + referenceFrame: ReferenceFrame, + result?: Cartesian3 + ): Cartesian3 + + setInterpolationOptions(options?: { + interpolationAlgorithm?: InterpolationAlgorithm + interpolationDegree?: number + }): void + } + + class PositionPropertyArray { + isConstant: boolean + definitionChanged: Event + referenceFrame: ReferenceFrame + + constructor(value?: any[]) + + getValue(time?: JulianDate, result?: Cartesian3[]): Cartesian3[] + + getValueInReferenceFrame( + time: JulianDate, + referenceFrame: ReferenceFrame, + result?: Cartesian3 + ): Cartesian3 + + setValue(value: any[]): void + + equals(other?: any): boolean + } + + class Property { + isConstant: boolean + definitionChanged: Event + + getValue(time: JulianDate, result?: any): any + static getValueOrUndefined(property?: any, time?: JulianDate, result?: any): any + equals(other?: any): boolean + } + + class PropertyArray { + isConstant: boolean + definitionChanged: Event + + constructor(value?: any[]) + + getValue(time?: JulianDate, result?: any[]): any[] + + setValue(value: any[]): void + + equals(other?: any): boolean + } + + interface ObjectLike { + [key: string]: any + } + + type PropertyBag = ObjectLike & { + constructor(value?: object, createPropertyCallback?: Function): PropertyBag + definitionChanged: Event + isConstant: boolean + propertyNames: string[] + addProperty(propertyName: string, value?: any, createPropertyCallback?: Function): void + getValue(time: JulianDate, result?: Object): Object + hasProperty(propertyName: string): boolean + merge(source: Object, createPropertyCallback?: Function): void + removeProperty(propertyName: string): void + } + + class RectangleGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class RectangleGraphics { + definitionChanged: Event + show: any + coordinates: any + material: MaterialProperty + height: any + extrudedHeight: any + granularity: any + stRotation: any + rotation: any + fill: any + outline: any + outlineColor: any + outlineWidth: any + closeTop: any + closeBottom: any + + constructor(options?: { + coordinates?: any + height?: any + extrudedHeight?: any + closeTop?: any + closeBottom?: any + show?: any + fill?: any + material?: MaterialProperty + outline?: any + outlineColor?: any + outlineWidth?: any + rotation?: any + stRotation?: any + granularity?: any + }) + + clone(result?: RectangleGraphics): RectangleGraphics + + merge(source: RectangleGraphics): void + } + + class ReferenceProperty { + isConstant: boolean + definitionChanged: Event + referenceFrame: ReferenceFrame + targetId: string + targetCollection: EntityCollection + targetPropertyNames: string[] + resolvedProperty: any + + constructor(targetCollection: EntityCollection, targetId: string, targetPropertyNames: string) + + getValue(time: JulianDate, result?: any): any + + getValueInReferenceFrame( + time: JulianDate, + referenceFrame: ReferenceFrame, + result?: Cartesian3 + ): Cartesian3 + + getType(time: JulianDate): string + + equals(other?: any): boolean + + static fromString(targetCollection: Entity, referenceString: string): ReferenceProperty + } + + class SampledPositionProperty { + isConstant: boolean + definitionChanged: Event + referenceFrame: ReferenceFrame + interpolationDegree: number + interpolationAlgorithm: InterpolationAlgorithm + numberOfDerivatives: boolean + forwardExtrapolationType: ExtrapolationType + forwardExtrapolationDuration: number + backwardExtrapolationType: ExtrapolationType + backwardExtrapolationDuration: number + + constructor(referenceFrame?: ReferenceFrame, numberOfDerivatives?: number) + + getValue(time: JulianDate, result?: Cartesian3): Cartesian3 + + getValueInReferenceFrame( + time: JulianDate, + referenceFrame: ReferenceFrame, + result?: Cartesian3 + ): Cartesian3 + + setInterpolationOptions(options?: { + interpolationAlgorithm?: InterpolationAlgorithm + interpolationDegree?: number + }): void + + addSample(time: JulianDate, position: Cartesian3, derivatives?: Cartesian3[]): void + + addSamples(times: JulianDate[], positions: Cartesian3[], derivatives?: any[][]): void + + addSamplesPackedArray(packedSamples: number[], epoch?: JulianDate): void + + equals(other?: any): boolean + } + + class SampledProperty { + isConstant: boolean + definitionChanged: Event + type: any + derivativeTypes: Packable[] + interpolationDegree: number + interpolationAlgorithm: InterpolationAlgorithm + forwardExtrapolationType: ExtrapolationType + forwardExtrapolationDuration: number + backwardExtrapolationType: ExtrapolationType + backwardExtrapolationDuration: number + + constructor(type: number | Packable, derivativeTypes?: Packable[]) + + getValue(time: JulianDate, result?: any): any + + setInterpolationOptions(options?: { + interpolationAlgorithm?: InterpolationAlgorithm + interpolationDegree?: number + }): void + + addSample(time: JulianDate, value: Packable, derivatives?: Packable[]): void + + addSamples(times: JulianDate[], values: Packable[], derivativeValues?: any[][]): void + + addSamplesPackedArray(packedSamples: number[], epoch?: JulianDate): void + + equals(other?: any): boolean + } + + class StripeMaterialProperty { + isConstant: boolean + definitionChanged: Event + orientation: any + evenColor: Color + oddColor: Color + offset: any + repeat: number + + constructor(options?: { + evenColor?: any + oddColor?: any + repeat?: any + offset?: any + orientation?: any + }) + + getType(time: JulianDate): string + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class TimeIntervalCollectionPositionProperty { + isConstant: boolean + definitionChanged: Event + intervals: TimeIntervalCollection + referenceFrame: ReferenceFrame + + constructor(referenceFrame?: ReferenceFrame) + + getValue(time: JulianDate, result?: any): any + + getValueInReferenceFrame( + time: JulianDate, + referenceFrame: ReferenceFrame, + result?: Cartesian3 + ): Cartesian3 + + equals(other?: any): boolean + } + + class TimeIntervalCollectionProperty { + isConstant: boolean + definitionChanged: Event + intervals: TimeIntervalCollection + + getValue(time: JulianDate, result?: any): any + + equals(other?: any): boolean + } + + class VelocityOrientationProperty { + isConstant: boolean + definitionChanged: Event + position: any + ellipsoid: any + + constructor(position?: any, ellipsoid?: Ellipsoid) + + getValue(time?: JulianDate, result?: Quaternion): Quaternion + + equals(other?: any): boolean + } + + class Visualizer { + update(time: JulianDate): boolean + + isDestroyed(): boolean + + destroy(): void + } + + class WallGeometryUpdater { + entity: Entity + fillEnabled: boolean + hasConstantFill: boolean + fillMaterialProperty: MaterialProperty + outlineEnabled: boolean + hasConstantOutline: boolean + outlineColorProperty: any + outlineWidth: number + isDynamic: boolean + isClosed: boolean + geometryChanged: boolean + static perInstanceColorAppearanceType: Appearance + static materialAppearanceType: Appearance + + constructor(entity: Entity, scene: Scene) + + isOutlineVisible(time: JulianDate): boolean + + isFilled(time: JulianDate): boolean + + createFillGeometryInstance(time: JulianDate): GeometryInstance + + createOutlineGeometryInstance(time: JulianDate): GeometryInstance + + isDestroyed(): boolean + + destroy(): void + + createDynamicUpdater(primitives: PrimitiveCollection): DynamicGeometryUpdater + } + + class WallGraphics { + definitionChanged: Event + show: any + material: MaterialProperty + positions: any + minimumHeights: any + maximumHeights: any + granularity: any + fill: any + outline: any + outlineColor: any + outlineWidth: any + + constructor(options?: { + positions?: any + maximumHeights?: any + minimumHeights?: any + show?: any + fill?: any + material?: MaterialProperty + outline?: any + outlineColor?: any + outlineWidth?: any + granularity?: any + }) + + clone(result?: WallGraphics): WallGraphics + + merge(source: WallGraphics): void + } + + class Appearance { + material: Material + translucent: boolean + vertexShaderSource: string + fragmentShaderSource: string + renderState: any + closed: boolean + + constructor(options?: { + translucent?: boolean + closed?: boolean + material?: Material + vertexShaderSource?: string + fragmentShaderSource?: string + renderState?: RenderState + }) + + getFragmentShaderSource(): string + + isTranslucent(): boolean + + getRenderState(): any + } + + class ArcGisMapServerImageryProvider extends ImageryProvider { + url: string + proxy: Proxy + tileWidth: number + tileHeight: number + maximumLevel: number + minimumLevel: number + tilingScheme: TilingScheme + rectangle: Rectangle + tileDiscardPolicy: TileDiscardPolicy + errorEvent: Event + ready: boolean + credit: Credit + usingPrecachedTiles: boolean + hasAlphaChannel: boolean + + constructor( + options: { + url: string + tileDiscardPolicy?: TileDiscardPolicy + proxy?: Proxy + usePreCachedTilesIfAvailable?: boolean + enablePickFeatures?: boolean + rectangle?: Rectangle + tilingScheme?: TilingScheme + ellipsoid?: Ellipsoid + tileWidth?: number + tileHeight?: number + maximumLevel?: number + }, + layers?: string + ) + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + } + + class Billboard { + show: boolean + position: Cartesian3 + pixelOffset: Cartesian2 + scaleByDistance: NearFarScalar + translucencyByDistance: NearFarScalar + pixelOffsetScaleByDistance: NearFarScalar + eyeOffset: Cartesian3 + horizontalOrigin: HorizontalOrigin + verticalOrigin: VerticalOrigin + scale: number + color: Color + rotation: number + alignedAxis: Cartesian3 + width: number + height: number + id: any + image: string + ready: boolean + + setImage( + id: string, + image: HTMLImageElement | HTMLCanvasElement | string | Billboard.CreateImageCallback + ): void + + setImageSubRegion(id: string, subRegion: BoundingRectangle): void + + computeScreenSpacePosition(scene: Scene, result?: Cartesian2): Cartesian2 + + equals(other: Billboard): boolean + } + + module Billboard { + type CreateImageCallback = ( + id: string + ) => HTMLImageElement | HTMLCanvasElement | Promise + } + + class BillboardCollection { + modelMatrix: Matrix4 + debugShowBoundingVolume: boolean + length: number + + constructor(options?: { modelMatrix?: Matrix4; debugShowBoundingVolume?: boolean }) + + add(billboard?: any): Billboard + + remove(billboard: Billboard): boolean + + removeAll(): void + + contains(billboard?: Billboard): boolean + + get(index: number): Billboard + + update(): void + + isDestroyed(): boolean + + refresh(): void + + destroy(): void + } + + class BingMapsImageryProvider extends ImageryProvider { + defaultGamma: number + url: string + proxy: Proxy + key: string + mapStyle: BingMapsStyle + culture: string + tileWidth: number + tileHeight: number + maximumLevel: number + minimumLevel: number + tilingScheme: TilingScheme + rectangle: Rectangle + tileDiscardPolicy: TileDiscardPolicy + errorEvent: Event + ready: boolean + credit: Credit + hasAlphaChannel: boolean + + constructor(options: { + url: string + key?: string + tileProtocol?: string + mapStyle?: string + culture?: string + ellipsoid?: Ellipsoid + tileDiscardPolicy?: TileDiscardPolicy + proxy?: Proxy + }) + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + + static tileXYToQuadKey(x: number, y: number, level: number): string + + static quadKeyToTileXY(quadkey: string): { x: number; y: number; level: number } + } + + class BingMapsApi { + static defaultKey: string + } + + class EasingFunction { + static BACK_IN: Function + static BACK_IN_OUT: Function + static BACK_OUT: Function + static BOUNCE_IN: Function + static BOUNCE_IN_OUT: Function + static BOUNCE_OUT: Function + static CIRCULAR_IN: Function + static CIRCULAR_IN_OUT: Function + static CIRCULAR_OUT: Function + static CUBIC_IN: Function + static CUBIC_IN_OUT: Function + static CUBIC_OUT: Function + static ELASTIC_IN: Function + static ELASTIC_IN_OUT: Function + static ELASTIC_OUT: Function + static EXPONENTIAL_IN: Function + static EXPONENTIAL_IN_OUT: Function + static EXPONENTIAL_OUT: Function + static LINEAR_NONE: Function + static QUADRACTIC_IN: Function + static QUADRACTIC_IN_OUT: Function + static QUADRACTIC_OUT: Function + static QUARTIC_IN: Function + static QUARTIC_IN_OUT: Function + static QUARTIC_OUT: Function + static QUINTIC_IN: Function + static QUINTIC_IN_OUT: Function + static QUINTIC_OUT: Function + static SINUSOIDAL_IN: Function + static SINUSOIDAL_IN_OUT: Function + static SINUSOIDAL_OUT: Function + } + + class Camera { + position: Cartesian3 + direction: Cartesian3 + up: Cartesian3 + right: Cartesian3 + frustum: OrthographicFrustum + defaultMoveAmount: number + defaultLookAmount: number + defaultRotateAmount: number + defaultZoomAmount: number + constrainedAxis: Cartesian3 + maximumTranslateFactor: number + maximumZoomFactor: number + readonly transform: Matrix4 + readonly inverseTransform: Matrix4 + readonly viewMatrix: Matrix4 + readonly inverseViewMatrix: Matrix4 + readonly positionCartographic: Cartographic + readonly positionWC: Cartesian3 + readonly directionWC: Cartesian3 + readonly upWC: Cartesian3 + readonly rightWC: Cartesian3 + readonly heading: number + readonly pitch: number + readonly roll: number + readonly moveStart: Event + readonly moveEnd: Event + readonly changed: Event + percentageChanged: number + static DEFAULT_OFFSET: HeadingPitchRange + static DEFAULT_VIEW_RECTANGLE: Rectangle + static DEFAULT_VIEW_FACTOR: number + + constructor(scene: Scene) + + setView(options: { + destination?: Cartesian3 | Rectangle + orientation?: Object + endTransform?: Matrix4 + }): void + + worldToCameraCoordinates(cartesian: Cartesian4, result?: Cartesian4): Cartesian4 + + worldToCameraCoordinatesPoint(cartesian: Cartesian3, result?: Cartesian3): Cartesian3 + + worldToCameraCoordinatesVector(cartesian: Cartesian3, result?: Cartesian3): Cartesian3 + + cameraToWorldCoordinates(cartesian: Cartesian4, result?: Cartesian4): Cartesian4 + + cameraToWorldCoordinatesPoint(cartesian: Cartesian3, result?: Cartesian3): Cartesian3 + + cameraToWorldCoordinatesVector(cartesian: Cartesian3, result?: Cartesian3): Cartesian3 + + move(direction: Cartesian3, amount?: number): void + + moveForward(amount?: number): void + + moveBackward(amount?: number): void + + moveUp(amount?: number): void + + moveDown(amount?: number): void + + moveRight(amount?: number): void + + moveLeft(amount?: number): void + + lookLeft(amount?: number): void + + lookRight(amount?: number): void + + lookUp(amount?: number): void + + lookDown(amount?: number): void + + look(axis: Cartesian3, angle?: number): void + + twistLeft(amount?: number): void + + twistRight(amount?: number): void + + rotate(axis: Cartesian3, angle?: number): void + + rotateDown(angle?: number): void + + rotateUp(angle?: number): void + + rotateRight(angle?: number): void + + rotateLeft(angle?: number): void + + zoomIn(amount?: number): void + + zoomOut(amount?: number): void + + getMagnitude(): number + + lookAt(target: Cartesian3, offset: Cartesian3 | HeadingPitchRange): void + + lookAtTransform(transform: Matrix4, offset: Cartesian3 | HeadingPitchRange): void + + getRectangleCameraCoordinates(rectangle: Rectangle, result?: Cartesian3): Cartesian3 + + computeViewRectangle(ellipsoid?: Ellipsoid, result?: Rectangle): Rectangle | undefined + + pickEllipsoid( + windowPosition: Cartesian2, + ellipsoid?: Ellipsoid, + result?: Cartesian3 + ): Cartesian3 + + getPickRay(windowPosition: Cartesian2, result?: Ray): any + + flyTo(options: { + destination: Cartesian3 | Rectangle + orientation?: any + duration?: number + complete?: () => void + cancel?: () => void + endTransform?: Matrix4 + easingFunction?: EasingFunction + maximumHeight?: number + pitchAdjustHeight?: number + flyOverLongitude?: number + flyOverLongitudeWeight?: number + }): void + + viewBoundingSphere(boundingSphere: BoundingSphere, offset?: HeadingPitchRange): void + + flyToBoundingSphere( + boundingSphere: BoundingSphere, + options?: { + duration?: number + offset?: HeadingPitchRange + complete?: () => void + cancel?: () => void + endTransform?: Matrix4 + easingFunction?: EasingFunction + maximumHeight?: number + pitchAdjustHeight?: number + flyOverLongitude?: number + flyOverLongitudeWeight?: number + } + ): void + + clone(): Camera + + cancelFlight(): void + + distanceToBoundingSphere(boundingSphere: BoundingSphere): number + + flyHome(duration?: number): void + + switchToOrthographicFrustum(): void + + switchToPerspectiveFrustum(): void + } + + class CameraEventAggregator { + currentMousePosition: Cartesian2 + anyButtonDown: boolean + + constructor(element?: HTMLCanvasElement) + + isMoving(type: CameraEventType, modifier?: KeyboardEventModifier): boolean + + getMovement(type: CameraEventType, modifier?: KeyboardEventModifier): any + + getLastMovement(type: CameraEventType, modifier?: KeyboardEventModifier): any + + isButtonDown(type: CameraEventType, modifier?: KeyboardEventModifier): boolean + + getStartMousePosition(type: CameraEventType, modifier?: KeyboardEventModifier): Cartesian2 + + getButtonPressTime(type: CameraEventType, modifier?: KeyboardEventModifier): Date + + getButtonReleaseTime(type: CameraEventType, modifier?: KeyboardEventModifier): Date + + reset(): void + + isDestroyed(): boolean + + destroy(): void + } + + class CreditDisplay { + constructor(container: HTMLElement, delimiter?: string) + + addCredit(credit: Credit): void + + addDefaultCredit(credit: Credit): void + + removeDefaultCredit(credit: Credit): void + + beginFrame(credit: Credit): void + + endFrame(credit: Credit): void + + destroy(): void + + isDestroyed(): boolean + } + + class CullingVolume { + planes: Cartesian4[] + + constructor(planes: Cartesian4[]) + + computeVisibility(boundingVolume: any): Intersect + } + + class DebugAppearance { + material: Material + translucent: boolean + vertexShaderSource: string + fragmentShaderSource: string + renderState: any + closed: boolean + attributeName: string + glslDatatype: string + + constructor(options: { + attributeName: string + glslDatatype?: string + vertexShaderSource?: string + fragmentShaderSource?: string + renderState?: RenderState + }) + + getFragmentShaderSource(): string + + isTranslucent(): boolean + + getRenderState(): any + } + + class DebugModelMatrixPrimitive { + length: number + width: number + show: boolean + modelMatrix: Matrix4 + id: any + + constructor(options?: { + length?: number + width?: number + modelMatrix?: Matrix4 + show?: boolean + id?: any + }) + + isDestroyed(): boolean + + destroy(): void + } + + class DiscardMissingTileImagePolicy { + constructor(options: { + missingImageUrl: string + pixelsToCheck: Cartesian2[] + disableCheckIfAllPixelsAreTransparent?: boolean + }) + + isReady(): boolean + + shouldDiscardImage(image: HTMLImageElement): boolean + } + + class EllipsoidPrimitive { + center: Cartesian3 + radii: Cartesian3 + modelMatrix: Matrix4 + show: boolean + material: Material + id: any + debugShowBoundingVolume: boolean + + constructor(options?: { + center?: Cartesian3 + radii?: Cartesian3 + modelMatrix?: Matrix4 + show?: boolean + material?: Material + id?: any + debugShowBoundingVolume?: boolean + }) + + update(): void + + isDestroyed(): boolean + + destroy(): void + } + + class EllipsoidSurfaceAppearance { + material: Material + translucent: boolean + vertexShaderSource: string + fragmentShaderSource: string + renderState: any + closed: boolean + vertexFormat: VertexFormat + flat: boolean + faceForward: boolean + aboveGround: boolean + static VERTEX_FORMAT: VertexFormat + + constructor(options?: { + flat?: boolean + faceForward?: boolean + translucent?: boolean + aboveGround?: boolean + material?: Material + vertexShaderSource?: string + fragmentShaderSource?: string + renderState?: RenderState + }) + + getFragmentShaderSource(): void + + isTranslucent(): boolean + + getRenderState(): any + } + + class FrameRateMonitor { + samplingWindow: number + quietPeriod: number + warmupPeriod: number + minimumFrameRateDuringWarmup: number + minimumFrameRateAfterWarmup: number + scene: Scene + lowFrameRate: Event + nominalFrameRate: Event + lastFramesPerSecond: number + static defaultSettings: Object + + constructor(options?: { + scene: Scene + samplingWindow?: number + quietPeriod?: number + warmupPeriod?: number + minimumFrameRateDuringWarmup?: number + minimumFrameRateAfterWarmup?: number + }) + + pause(): void + + unpause(): void + + isDestroyed(): boolean + + destroy(): void + + static fromScene(scene: Scene): FrameRateMonitor + } + + class GetFeatureInfoFormat { + constructor(type: string, format?: string) + } + + class Globe { + baseColor: Color + depthTestAgainstTerrain: boolean + ellipsoid: Ellipsoid + enableLighting: boolean + imageryLayers: ImageryLayerCollection + lightingFadeInDistance: number + lightingFadeOutDistance: number + maximumScreenSpaceError: number + oceanNormalMapUrl: string + shadows: ShadowMode + show: boolean + showWaterEffect: boolean + terrainProvider: TerrainProvider + readonly terrainProviderChanged: Event + tileCacheSize: number + tileLoadProgressEvent: Event + + constructor(ellipsoid?: Ellipsoid) + + pick(ray: Ray, scene: Scene, result?: Cartesian3): Cartesian3 + + getHeight(cartographic: Cartographic): number + + isDestroyed(): boolean + + destroy(): void + } + + class GoogleEarthEnterpriseMapsProvider { + constructor(options: { + url: string + channel: number + path?: string + maximumLevel?: number + tileDiscardPolicy?: TileDiscardPolicy + ellipsoid?: Ellipsoid + proxy?: Proxy + }) + + readonly channel: number + readonly credit: Credit + defaultGamma: number + readonly errorEvent: Event + readonly hasAlphaChannel: boolean + readonly maximumLevel: number + readonly minimumLevel: number + readonly path: string + readonly proxy: Proxy + readonly ready: boolean + readonly readyPromise: Promise + readonly rectangle: Rectangle + readonly requestType: string + readonly tileDiscardPolicy: TileDiscardPolicy + readonly tileHeight: number + readonly tileWidth: number + readonly tilingScheme: TilingScheme + readonly url: string + readonly version: number + + getTileCredits(x: number, y: number, level: number): Credit[] + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + + requestImage(x: number, y: number, level: number): Promise + } + + class GoogleEarthEnterpriseImageryProvider extends ImageryProvider { + defaultGamma: number + url: string + path: string + proxy: Proxy + channel: number + tileWidth: number + tileHeight: number + maximumLevel: number + minimumLevel: number + tilingScheme: TilingScheme + version: number + requestType: string + rectangle: Rectangle + tileDiscardPolicy: TileDiscardPolicy + errorEvent: Event + ready: boolean + credit: Credit + hasAlphaChannel: boolean + + constructor(options: { + url: string + proxy?: Proxy + ellipsoid?: Ellipsoid + tileDiscardPolicy?: TileDiscardPolicy + credit?: Credit | string + }) + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + } + + class GridImageryProvider extends ImageryProvider { + proxy: Proxy + tileWidth: number + tileHeight: number + maximumLevel: number + minimumLevel: number + tilingScheme: TilingScheme + rectangle: Rectangle + tileDiscardPolicy: TileDiscardPolicy + errorEvent: Event + ready: boolean + credit: Credit + hasAlphaChannel: boolean + + constructor(options?: { + tilingScheme?: TilingScheme + ellipsoid?: Ellipsoid + cells?: number + color?: Color + glowColor?: Color + glowWidth?: number + tileWidth?: number + tileHeight?: number + canvasSize?: number + backgroundColor?: Color + }) + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + } + + class HeadingPitchRange { + constructor(heading?: number, pitch?: number, roll?: number) + + static clone(hpr: HeadingPitchRange, result?: HeadingPitchRange): HeadingPitchRange + } + + class HeadingPitchRoll { + heading: number + pitch: number + roll: number + + constructor(heading?: number, pitch?: number, range?: number) + + toString(): string + + static clone(headingPitchRoll: HeadingPitchRoll, result?: HeadingPitchRoll): HeadingPitchRoll + + static equals(left?: HeadingPitchRoll, right?: HeadingPitchRoll): boolean + + static equalsEpsilon( + left?: HeadingPitchRoll, + right?: HeadingPitchRoll, + relativeEpsilon?: number, + absoluteEpsilon?: number + ): boolean + + static fromDegrees( + heading: number, + pitch: number, + roll: number, + result?: HeadingPitchRoll + ): HeadingPitchRoll + + static fromQuaternion(quaternion: Quaternion, result?: HeadingPitchRoll): HeadingPitchRoll + + clone(result?: HeadingPitchRoll): HeadingPitchRoll + + equals(right?: HeadingPitchRoll): boolean + + equalsEpsilon( + right?: HeadingPitchRoll, + relativeEpsilon?: number, + absoluteEpsilon?: number + ): boolean + } + + class ImageryLayer { + alpha: number + brightness: number + contrast: number + gamma: number + hue: number + readonly imageryProvider: ImageryProvider + magnificationFilter: number + minificationFilter: number + readonly rectangle: Rectangle + saturation: number + show: boolean + splitDirection: number + static DEFAULT_BRIGHTNESS: number + static DEFAULT_CONTRAST: number + static DEFAULT_GAMMA: number + static DEFAULT_HUE: number + static DEFAULT_MAGNIFICATION_FILTER: number + static DEFAULT_MINIFICATION_FILTER: number + static DEFAULT_SATURATION: number + static DEFAULT_SPLIT: number + + constructor( + imageryProvider: ImageryProvider, + options?: { + rectangle?: Rectangle + alpha?: number | Function + brightness?: number | Function + contrast?: number | Function + hue?: number | Function + saturation?: number | Function + gamma?: number | Function + splitDirection?: number | Function + minificationFilter?: number + magnificationFilter?: number + show?: boolean + maximumAnisotropy?: number + minimumTerrainLevel?: number + maximumTerrainLevel?: number + } + ) + + getViewableRectangle(): Promise + + isBaseLayer(): boolean + + isDestroyed(): boolean + + destroy(): void + } + + class TextureMagnificationFilter { + static LINEAR: number + static NEAREST: number + } + + class ImagerySplitDirection { + static LEFT: number + static NONE: number + static RIGHT: number + static UP: number + static BOTTOM: number + } + + class ImageryLayerCollection { + layerAdded: Event + layerRemoved: Event + layerMoved: Event + layerShownOrHidden: Event + length: number + + add(layer: ImageryLayer, index?: number): void + + addImageryProvider(imageryProvider: ImageryProvider, index?: number): ImageryLayer + + remove(layer: ImageryLayer, destroy?: boolean): boolean + + removeAll(destroy?: boolean): void + + contains(layer: ImageryLayer): boolean + + indexOf(layer: ImageryLayer): number + + get(index: number): ImageryLayer + + raise(layer: ImageryLayer): void + + lower(layer: ImageryLayer): void + + raiseToTop(layer: ImageryLayer): void + + lowerToBottom(layer: ImageryLayer): void + + pickImageryLayerFeatures(ray: Ray, scene: Scene): Promise + + isDestroyed(): boolean + + destroy(): void + } + + class ImageryLayerFeatureInfo { + name: string + description: string + position: Cartographic + data: any + + configureNameFromProperties(properties: any): void + + configureDescriptionFromProperties(properties: any): void + } + + class ImageryProvider { + defaultAlpha: number + defaultBrightness: number + defaultContrast: number + defaultHue: number + defaultSaturation: number + defaultGamma: number + ready: boolean + rectangle: Rectangle + tileWidth: number + tileHeight: number + maximumLevel: number + minimumLevel: number + tilingScheme: TilingScheme + tileDiscardPolicy: TileDiscardPolicy + errorEvent: Event + credit: Credit + proxy: Proxy + hasAlphaChannel: boolean + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + + static loadImage(url: string): Promise + } + + class Label { + show: boolean + position: Cartesian3 + text: string + font: string + fillColor: Color + outlineColor: Color + outlineWidth: number + style: LabelStyle + pixelOffset: Cartesian2 + translucencyByDistance: NearFarScalar + pixelOffsetScaleByDistance: NearFarScalar + eyeOffset: Cartesian3 + horizontalOrigin: HorizontalOrigin + verticalOrigin: VerticalOrigin + scale: number + id: any + + computeScreenSpacePosition(scene: Scene, result?: Cartesian2): Cartesian2 + + equals(other: Label): boolean + + isDestroyed(): boolean + } + + class LabelCollection { + modelMatrix: Matrix4 + debugShowBoundingVolume: boolean + length: number + + constructor(options?: { modelMatrix?: Matrix4; debugShowBoundingVolume?: boolean }) + + add(options?: any): Label + + remove(label: Label): boolean + + removeAll(): void + + contains(label: Label): boolean + + get(index: number): Label + + isDestroyed(): boolean + + destroy(): void + } + + class Material { + type: string + shaderSource: string + materials: any + uniforms: any + translucent: boolean | Function + static DefaultImageId: string + static DefaultCubeMapId: string + static ColorType: string + static ImageType: string + static DiffuseMapType: string + static AlphaMapType: string + static SpecularMapType: string + static EmissionMapType: string + static BumpMapType: string + static NormalMapType: string + static GridType: string + static StripeType: string + static CheckerboardType: string + static DotType: string + static WaterType: string + static RimLightingType: string + static FadeType: string + static PolylineArrowType: string + static PolylineGlowType: string + static PolylineOutlineType: string + + constructor(options?: { strict?: boolean; translucent?: boolean | Function; fabric: any }) + + isTranslucent(): boolean + + isDestroyed(): boolean + + destroy(): void + + static fromType(type: string, uniforms?: any): Material + } + + class MaterialAppearance { + material: Material + translucent: boolean + vertexShaderSource: string + fragmentShaderSource: string + renderState: any + closed: boolean + materialSupport: MaterialAppearance.MaterialSupport + vertexFormat: VertexFormat + flat: boolean + faceForward: boolean + + constructor(options?: { + flat?: boolean + faceForward?: boolean + translucent?: boolean + closed?: boolean + materialSupport?: MaterialAppearance.MaterialSupport + material?: Material + vertexShaderSource?: string + fragmentShaderSource?: string + renderState?: RenderState + }) + + getFragmentShaderSource(): string + + isTranslucent(): boolean + + getRenderState(): any + } + + module MaterialAppearance { + class MaterialSupport { + static BASIC: number + static TEXTURED: number + static ALL: number + } + } + + class Model { + activeAnimations: ModelAnimationCollection + readonly allowPicking: boolean + readonly readonlyasynchronous: boolean + readonly basePath: string + readonly boundingSphere: BoundingSphere + clampAnimations: boolean + color: Color + colorBlendAmount: number + colorBlendMode: ColorBlendMode + debugShowBoundingVolume: boolean + debugWireframe: boolean + readonly gltf: any + id: any + readonly incrementallyLoadTextures: boolean + maximumScale: number + minimumPixelSize: number + modelMatrix: Matrix4 + readonly pendingTextureLoads: number + readonly ready: boolean + readonly readyPromise: Promise + scale: number + shadows: ShadowMode + show: boolean + silhouetteColor: Color + silhouetteSize: number + + constructor(options?: { + gltf?: any + basePath?: string + show?: boolean + modelMatrix?: Matrix4 + scale?: number + minimumPixelSize?: number + maximumScale?: number + id?: any + allowPicking?: boolean + incrementallyLoadTextures?: boolean + asynchronous?: boolean + clampAnimations?: boolean + shadows?: ShadowMode + debugShowBoundingVolume?: boolean + debugWireframe?: boolean + heightReference?: HeightReference + scene?: Scene + distanceDisplayCondition?: DistanceDisplayCondition + color?: Color + colorBlendMode?: ColorBlendMode + colorBlendAmount?: number + silhouetteColor?: Color + silhouetteSize?: number + }) + + static fromGltf(options?: { + url?: string + headers?: any + basePath?: string + show?: boolean + modelMatrix?: Matrix4 + scale?: number + minimumPixelSize?: number + maximumScale?: number + id?: any + allowPicking?: boolean + incrementallyLoadTextures?: boolean + asynchronous?: boolean + clampAnimations?: boolean + shadows?: ShadowMode + debugShowBoundingVolume?: boolean + debugWireframe?: boolean + }): Model + + static silhouetteSupported(scene: Scene): boolean + + getMesh(name: string): ModelMesh + + getNode(name: string): ModelNode + + getMaterial(name: string): ModelMaterial + + update(): void + + isDestroyed(): boolean + + destroy(): void + } + + class ColorBlendMode { } + + class ModelAnimation { + removeOnStop: boolean + start: Event + update: Event + stop: Event + name: string + startTime: JulianDate + delay: number + stopTime: JulianDate + speedup: number + reverse: boolean + loop: ModelAnimationLoop + } + + class ModelAnimationCollection { + animationAdded: Event + animationRemoved: Event + readonly length: number + + add(options: { + name: string + index?: number + startTime?: JulianDate + delay?: number + stopTime?: JulianDate + removeOnStop?: boolean + speedup?: number + reverse?: boolean + loop?: ModelAnimationLoop + }): ModelAnimation + + addAll(options?: { + startTime?: JulianDate + delay?: number + stopTime?: JulianDate + removeOnStop?: boolean + speedup?: number + reverse?: boolean + loop?: ModelAnimationLoop + }): ModelAnimation[] + + contains(animation: ModelAnimation): boolean + + get(index: number): ModelAnimation + + remove(animation: ModelAnimation): boolean + + removeAll(): void + } + + class ModelMaterial { + name: string + id: string + + setValue(name: string, value?: any): void + + getValue(name: string): any + } + + class ModelMesh { + name: string + id: string + materials: ModelMaterial[] + } + + class ModelNode { + name: string + id: string + show: boolean + matrix: Matrix4 + } + + class Moon { + show: boolean + textureUrl: string + onlySunLighting: boolean + ellipsoid: Ellipsoid + + constructor(options?: { + show?: boolean + textureUrl?: string + ellipsoid?: Ellipsoid + onlySunLighting?: boolean + }) + + isDestroyed(): boolean + + destroy(): void + } + + class NeverTileDiscardPolicy { + isReady(): boolean + + shouldDiscardImage(image: HTMLImageElement | Promise): Promise + } + + class OpenStreetMapImageryProvider { + url: string + proxy: Proxy + tileWidth: number + tileHeight: number + maximumLevel: number + minimumLevel: number + tilingScheme: TilingScheme + rectangle: Rectangle + tileDiscardPolicy: TileDiscardPolicy + errorEvent: Event + ready: boolean + credit: Credit + hasAlphaChannel: boolean + + constructor(options?: { + url?: string + fileExtension?: string + proxy?: any + rectangle?: Rectangle + minimumLevel?: number + maximumLevel?: number + ellipsoid?: Ellipsoid + credit?: Credit | string + }) + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + } + + class OrthographicFrustum { + left: number + right: number + top: number + bottom: number + near: number + far: number + projectionMatrix: Matrix4 + + computeCullingVolume(position: Cartesian3, direction: Cartesian3, up: Cartesian3): CullingVolume + + getPixelSize( + drawingBufferDimensions: Cartesian2, + distance?: number, + result?: Cartesian2 + ): Cartesian2 + + clone(result?: OrthographicFrustum): OrthographicFrustum + + equals(other?: OrthographicFrustum): boolean + } + + class PerInstanceColorAppearance { + material: Material + translucent: boolean + vertexShaderSource: string + fragmentShaderSource: string + renderState: any + closed: boolean + vertexFormat: VertexFormat + flat: boolean + faceForward: boolean + static VERTEX_FORMAT: VertexFormat + static FLAT_VERTEX_FORMAT: VertexFormat + + constructor(options?: { + flat?: boolean + faceForward?: boolean + translucent?: boolean + closed?: boolean + vertexShaderSource?: string + fragmentShaderSource?: string + renderState?: RenderState + }) + + getFragmentShaderSource(): void + + isTranslucent(): boolean + + getRenderState(): any + } + + class PerspectiveFrustum { + fov: number + aspectRatio: number + near: number + far: number + projectionMatrix: Matrix4 + infiniteProjectionMatrix: Matrix4 + fovy: number + + constructor(options?: { + fov?: number + aspectRatio?: number + near?: number + far?: number + projectionMatrix?: Matrix4 + infiniteProjectionMatrix?: Matrix4 + fovy?: number + }) + + + computeCullingVolume(position: Cartesian3, direction: Cartesian3, up: Cartesian3): CullingVolume + + getPixelSize( + drawingBufferDimensions: Cartesian2, + distance?: number, + result?: Cartesian2 + ): Cartesian2 + + clone(result?: PerspectiveFrustum): PerspectiveFrustum + + equals(other?: PerspectiveFrustum): boolean + } + + class PerspectiveOffCenterFrustum { + left: number + right: number + top: number + bottom: number + near: number + far: number + projectionMatrix: Matrix4 + infiniteProjectionMatrix: Matrix4 + + computeCullingVolume(position: Cartesian3, direction: Cartesian3, up: Cartesian3): CullingVolume + + getPixelSize( + drawingBufferDimensions: Cartesian2, + distance?: number, + result?: Cartesian2 + ): Cartesian2 + + clone(result?: PerspectiveOffCenterFrustum): PerspectiveOffCenterFrustum + + equals(other?: PerspectiveOffCenterFrustum): boolean + } + + class PointPrimitive { + show: boolean + position: Cartesian3 + scaleByDistance: NearFarScalar + translucencyByDistance: NearFarScalar + pixelSize: number + color: Color + outlineColor: Color + outlineWidth: number + id: any + + computeScreenSpacePosition(scene: Scene, result?: Cartesian2): Cartesian2 + + equals(other: PointPrimitive): boolean + } + + class PointPrimitiveCollection { + modelMatrix: Matrix4 + debugShowBoundingVolume: boolean + length: number + + constructor(options?: { + modelMatrix?: Matrix4 + debugShowBoundingVolume?: boolean + blendOption?: BlendOption + }) + + add(pointPrimitive?: any): PointPrimitive + + remove(pointPrimitive: PointPrimitive): boolean + + removeAll(): void + + contains(pointPrimitive?: PointPrimitive): boolean + + get(index: number): PointPrimitive + + isDestroyed(): boolean + + destroy(): void + } + + class BlendOption { + static OPAQUE: number + static OPAQUE_AND_TRANSLUCENT: number + static TRANSLUCENT: number + } + + class Polygon { + ellipsoid: Ellipsoid + granularity: number + height: number + textureRotationAngle: number + show: boolean + material: Material + id: any + asynchronous: boolean + debugShowBoundingVolume: boolean + positions: Cartesian3[] + + constructor(options?: { + ellipsoid?: Ellipsoid + positions?: Cartesian3[] + polygonHierarchy?: any + granularity?: number + height?: number + textureRotationAngle?: number + show?: boolean + material?: Material + id?: any + asynchronous?: boolean + debugShowBoundingVolume?: boolean + }) + + configureFromPolygonHierarchy(hierarchy: any): void + + update(): void + + isDestroyed(): boolean + + destroy(): void + } + + class Polyline { + show: boolean + positions: Cartesian3[] + material: Material + width: number + loop: boolean + id: any + + constructor(options?: { + show?: boolean + width?: number + loop?: boolean + material?: Material + positions?: Cartesian3[] + id?: any + }) + } + + class PolylineCollection { + modelMatrix: Matrix4 + debugShowBoundingVolume: boolean + length: number + + constructor(options?: { modelMatrix?: Matrix4; debugShowBoundingVolume?: boolean }) + + add(polyline?: any): Polyline + + remove(polyline: Polyline): boolean + + removeAll(): void + + contains(polyline: Polyline): boolean + + get(index: number): Polyline + + isDestroyed(): boolean + + destroy(): void + } + + class PolylineColorAppearance { + material: Material + translucent: boolean + vertexShaderSource: string + fragmentShaderSource: string + renderState: any + closed: boolean + vertexFormat: VertexFormat + static VERTEX_FORMAT: VertexFormat + + constructor(options?: { + translucent?: boolean + vertexShaderSource?: string + fragmentShaderSource?: string + renderState?: RenderState + }) + + getFragmentShaderSource(): void + + isTranslucent(): boolean + + getRenderState(): any + } + + class PolylineMaterialAppearance { + material: Material + translucent: boolean + vertexShaderSource: string + fragmentShaderSource: string + renderState: any + closed: boolean + vertexFormat: VertexFormat + static VERTEX_FORMAT: VertexFormat + + constructor(options?: { + translucent?: boolean + material?: Material + vertexShaderSource?: string + fragmentShaderSource?: string + renderState?: RenderState + }) + + getFragmentShaderSource(): void + + isTranslucent(): boolean + + getRenderState(): any + } + + class Primitive { + readonly allowPicking: boolean + readonly asynchronous: boolean + readonly compressVertices: boolean + readonly geometryInstances: GeometryInstance[] | GeometryInstance + readonly interleave: boolean + readonly vertexCacheOptimize: boolean + readonly releaseGeometryInstances: boolean + readonly ready: boolean + readonly readyPromise: Promise + cull: boolean + debugShowBoundingVolume: boolean + depthFailAppearance: Appearance + modelMatrix: Matrix4 + shadows: ShadowMode + show: boolean + appearance: Appearance | any + + constructor(options?: { + geometryInstances?: any[] | GeometryInstance + appearance?: Appearance | any + show?: boolean + modelMatrix?: Matrix4 + vertexCacheOptimize?: boolean + interleave?: boolean + compressVertices?: boolean + releaseGeometryInstances?: boolean + allowPicking?: boolean + cull?: boolean + asynchronous?: boolean + debugShowBoundingVolume?: boolean + shadows?: ShadowMode + }) + + update(): void + + getGeometryInstanceAttributes(id: any): any + + isDestroyed(): boolean + + destroy(): void + } + + class PrimitiveCollection { + readonly length: number + show: boolean + destroyPrimitives: boolean + + constructor(options?: { show?: boolean; destroyPrimitives?: boolean }) + + add(primitive: any): any + + remove(primitive?: any): boolean + + removeAll(): void + + contains(primitive?: any): boolean + + raise(primitive?: any): void + + raiseToTop(primitive?: any): void + + lower(primitive?: any): void + + lowerToBottom(primitive?: any): void + + get(index: number): any + + isDestroyed(): boolean + + destroy(): void + } + + class GroundPrimitive { + static isSupported: any + readonly allowPicking: boolean + readonly asynchronous: boolean + readonly compressVertices: boolean + readonly geometryInstances: any[] | GeometryInstance + readonly interleave: boolean + readonly vertexCacheOptimize: boolean + readonly releaseGeometryInstances: boolean + readonly ready: boolean + readonly readyPromise: Promise + classificationType: any + debugShowBoundingVolume: boolean + debugShowShadowVolume: boolean + show: boolean + + constructor(options?: { + geometryInstances?: any[] | GeometryInstance + appearance?: Appearance | any + show?: boolean + vertexCacheOptimize?: boolean + interleave?: boolean + compressVertices?: boolean + releaseGeometryInstances?: boolean + allowPicking?: boolean + asynchronous?: boolean + classificationType?: any + debugShowBoundingVolume?: boolean + debugShowShadowVolume?: boolean + }) + + static initializeTerrainHeights(): Promise + + destroy(): void + + getGeometryInstanceAttributes(id: any): any + + destroy(): boolean + + update(): void + } + + class RectanglePrimitive { + ellipsoid: Ellipsoid + rectangle: Rectangle + granularity: number + height: number + rotation: number + textureRotationAngle: number + show: boolean + material: Material + id: any + asynchronous: boolean + debugShowBoundingVolume: boolean + + constructor(options?: { + ellipsoid?: Ellipsoid + rectangle?: Rectangle + granularity?: number + height?: number + rotation?: number + textureRotationAngle?: number + show?: boolean + material?: Material + id?: any + asynchronous?: boolean + debugShowBoundingVolume?: boolean + }) + + update(): void + + isDestroyed(): boolean + + destroy(): void + } + + class Fog { + density: number + enabled: boolean + screenSpaceErrorFactor: number + } + + class MapMode2D { + static INFINITE_SCROLL: number + static ROTATE: number + } + + class Scene { + backgroundColor: Color + readonly camera: Camera + readonly canvas: HTMLCanvasElement + completeMorphOnUserInput: boolean + debugCommandFilter: Function + readonly debugFrustumStatistics: any + debugShowCommands: boolean + debugShowFramesPerSecond: boolean + debugShowFrustumPlanes: boolean + debugShowFrustums: boolean + debugShowGlobeDepth: boolean + readonly drawingBufferHeight: number + readonly drawingBufferWidth: number + eyeSeparation: number + farToNearRatio: number + focalLength: number + fog: Fog + fxaa: boolean + globe: Globe + readonly groundPrimitives: PrimitiveCollection + readonly id: string + readonly imageryLayers: ImageryLayerCollection + imagerySplitPosition: number + invertClassification: boolean + invertClassificationColor: Color + mapMode2D: boolean + readonly mapProjection: MapProjection + readonly maximumAliasedLineWidth: number + readonly maximumCubeMapSize: number + minimumDisableDepthTestDistance: number + mode: SceneMode + moon: Moon + morphComplete: Event + morphStart: Event + morphTime: number + nearToFarDistance2D: number + readonly orderIndependentTranslucency: boolean + readonly pickPositionSupported: boolean + pickTranslucentDepth: boolean + readonly postRender: Event + readonly preRender: Event + readonly preUpdate: Event + readonly postUpdate: Event + readonly primitives: PrimitiveCollection + readonly renderError: Event + rethrowRenderErrors: boolean + readonly scene3DOnly: boolean + readonly screenSpaceCameraController: ScreenSpaceCameraController + shadowMap: ShadowMap + skyAtmosphere: SkyAtmosphere + skyBox: SkyBox + sun: Sun + sunBloom: boolean + terrainExaggeration: number + terrainProvider: TerrainProvider + readonly terrainProviderChanged: Event + useDepthPicking: boolean + useWebVR: boolean + + constructor(options?: { + canvas: HTMLCanvasElement + contextOptions?: any + creditContainer?: Element + mapProjection?: MapProjection + orderIndependentTranslucency?: boolean + scene3DOnly?: boolean + terrainExaggeration?: number + shadows?: boolean + mapMode2D?: MapMode2D + }) + + cartesianToCanvasCoordinates(position: Cartesian3, result?: Cartesian2): Cartesian2 + + completeMorph(): void + + destroy(): void + + drillPick(windowPosition: Cartesian2, limit?: number, width?: number, height?: number): any[] + + getCompressedTextureFormatSupported(format: string): boolean + + isDestroyed(): boolean + + morphTo2D(duration?: number): void + + morphTo3D(duration?: number): void + + morphToColumbusView(duration?: number): void + + pick(windowPosition: Cartesian2, width?: number, height?: number): any + + pickPosition(windowPosition: Cartesian2, result?: Cartesian3): Cartesian3 + + requestRender(): void + + pickFromRay(ray: any, objectsToExclude: Object[], width: number): any + } + + class ScreenSpaceCameraController { + enableInputs: boolean + enableTranslate: boolean + enableZoom: boolean + enableRotate: boolean + enableTilt: boolean + enableLook: boolean + inertiaSpin: number + inertiaTranslate: number + inertiaZoom: number + maximumMovementRatio: number + bounceAnimationTime: number + minimumZoomDistance: number + maximumZoomDistance: number + translateEventTypes: CameraEventType | any[] + zoomEventTypes: CameraEventType | any[] + rotateEventTypes: CameraEventType | any[] + tiltEventTypes: CameraEventType | any[] + lookEventTypes: CameraEventType | any[] + minimumPickingTerrainHeight: number + minimumCollisionTerrainHeight: number + minimumTrackBallHeight: number + enableCollisionDetection: boolean + + constructor(scene: Scene) + + isDestroyed(): boolean + + destroy(): void + } + + class ShadowMap { + darkness: number + enabled: boolean + maximumDistance: number + normalOffset: boolean + size: number + softShadows: boolean + + constructor(options: ShadowMapOptions) + } + + type ShadowMapOptions = { + lightCamera: Camera + cascadesEnabled?: boolean + darkness?: number + enabled?: boolean + isPointLight?: boolean + maximumDistance?: number + normalOffset?: boolean + numberOfCascades?: number + pointLightRadius?: number + size?: number + context?: Scene + softShadows?: boolean + } + + class SingleTileImageryProvider extends ImageryProvider { + url: string + proxy: Proxy + tileWidth: number + tileHeight: number + maximumLevel: number + minimumLevel: number + tilingScheme: TilingScheme + rectangle: Rectangle + tileDiscardPolicy: TileDiscardPolicy + errorEvent: Event + ready: boolean + credit: Credit + hasAlphaChannel: boolean + + constructor(options: { + url: string + rectangle?: Rectangle + credit?: Credit | string + ellipsoid?: Ellipsoid + proxy?: any + }) + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + } + + class SkyAtmosphere { + brightnessShift: number + hueShift: number + saturationShift: number + show: boolean + readonly ellipsoid: Ellipsoid + + constructor(ellipsoid?: Ellipsoid) + + isDestroyed(): boolean + + destroy(): void + } + + class SkyBox { + sources: any + show: boolean + + constructor(options: { sources?: any; show?: boolean }) + + update(): void + + isDestroyed(): boolean + + destroy(): void + } + + class Sun { + show: boolean + glowFactor: number + + isDestroyed(): boolean + + destroy(): void + } + + class TileCoordinatesImageryProvider { + proxy: Proxy + tileWidth: number + tileHeight: number + maximumLevel: number + minimumLevel: number + tilingScheme: TilingScheme + rectangle: Rectangle + tileDiscardPolicy: TileDiscardPolicy + errorEvent: Event + ready: boolean + credit: Credit + hasAlphaChannel: boolean + + constructor(options?: { + tilingScheme?: TilingScheme + ellipsoid?: Ellipsoid + color?: Color + tileWidth?: number + tileHeight?: number + }) + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + } + + class TileDiscardPolicy { + isReady(): boolean + + shouldDiscardImage(image: HTMLImageElement | Promise): Promise + } + + class TileMapServiceImageryProvider extends ImageryProvider { + readonly url: string + readonly proxy: Proxy + readonly tileWidth: number + readonly tileHeight: number + readonly maximumLevel: number + readonly minimumLevel: number + readonly tilingScheme: TilingScheme + readonly rectangle: Rectangle + readonly tileDiscardPolicy: TileDiscardPolicy + readonly errorEvent: Event + readonly ready: boolean + readonly readyPromise: Promise + readonly credit: Credit + readonly hasAlphaChannel: boolean + + constructor(options?: { + url?: string + fileExtension?: string + proxy?: any + credit?: Credit | string + minimumLevel?: number + maximumLevel?: number + rectangle?: Rectangle + tilingScheme?: TilingScheme + ellipsoid?: Ellipsoid + tileWidth?: number + tileHeight?: number + }) + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + } + + class ViewportQuad { + show: boolean + rectangle: BoundingRectangle + material: Material + + constructor(rectangle?: BoundingRectangle, material?: Material) + + update(): void + + isDestroyed(): boolean + + destroy(): void + } + + class WebMapServiceImageryProvider extends ImageryProvider { + url: string + proxy: Proxy + layers: string + tileWidth: number + tileHeight: number + maximumLevel: number + minimumLevel: number + tilingScheme: TilingScheme + rectangle: Rectangle + tileDiscardPolicy: TileDiscardPolicy + errorEvent: Event + ready: boolean + credit: Credit + hasAlphaChannel: boolean + static DefaultParameters: Object + static GetFeatureInfoDefaultParameters: Object + + constructor(options: { + url: string + layers: string + parameters?: any + getFeatureInfoParameters?: any + enablePickFeatures?: boolean + getFeatureInfoFormats?: GetFeatureInfoFormat[] + rectangle?: Rectangle + tilingScheme?: TilingScheme + ellipsoid?: Ellipsoid + tileWidth?: number + tileHeight?: number + minimumLevel?: number + maximumLevel?: number + credit?: Credit | string + proxy?: any + }) + + getTileCredits(x: number, y: number, level: number): Credit[] + + requestImage(x: number, y: number, level: number): Promise + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + } + + class WebMapTileServiceImageryProvider extends ImageryProvider { + clock: Clock + readonly credit: Credit + dimensions: any + readonly errorEvent: Event + readonly format: string + readonly hasAlphaChannel: boolean + readonly maximumLevel: number + readonly minimumLevel: number + readonly proxy: Proxy + readonly ready: boolean + readonly readyPromise: Promise + readonly rectangle: Rectangle + readonly tileDiscardPolicy: TileDiscardPolicy + readonly tileHeight: number + readonly tileWidth: number + readonly tilingScheme: TilingScheme + times: TimeIntervalCollection + readonly url: string + + constructor(options: { + url: string + format?: string + layer: string + style: string + tileMatrixSetID: string + tileMatrixLabels?: any[] + clock?: Clock + times?: TimeIntervalCollection + dimensions?: any + tileWidth?: number + tileHeight?: number + tilingScheme?: TilingScheme + proxy?: any + rectangle?: Rectangle + minimumLevel?: number + maximumLevel?: number + ellipsoid?: Ellipsoid + credit?: Credit | string + subdomains?: string | string[] + }) + + getTileCredits(x: number, y: number, level: number): Credit[] + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise + + requestImage(x: number, y: number, level: number): Promise + } + + class Animation { + container: Element + viewModel: AnimationViewModel + + constructor(container: Element | string, viewModel: AnimationViewModel) + + isDestroyed(): boolean + + destroy(): void + + resize(): void + + applyThemeChanges(): void + } + + class AnimationViewModel { + shuttleRingDragging: boolean + snapToTicks: boolean + timeLabel: string + dateLabel: string + multiplierLabel: string + shuttleRingAngle: number + slower: Command + faster: Command + clockViewModel: ClockViewModel + pauseViewModel: ToggleButtonViewModel + playReverseViewModel: ToggleButtonViewModel + playForwardViewModel: ToggleButtonViewModel + playRealtimeViewModel: ToggleButtonViewModel + dateFormatter: AnimationViewModel.DateFormatter + timeFormatter: AnimationViewModel.TimeFormatter + static defaultDateFormatter: AnimationViewModel.DateFormatter + static defaultTicks: number[] + static defaultTimeFormatter: AnimationViewModel.TimeFormatter + + constructor(clockViewModel: ClockViewModel) + + getShuttleRingTicks(): number[] + + setShuttleRingTicks(positiveTicks: number[]): void + } + + module AnimationViewModel { + type DateFormatter = (date: JulianDate, viewModel: AnimationViewModel) => string + type TimeFormatter = (date: JulianDate, viewModel: AnimationViewModel) => string + } + + class BaseLayerPicker { + container: Element + viewModel: BaseLayerPickerViewModel + + constructor( + container: Element, + options: { + globe: Globe + imageryProviderViewModels?: ProviderViewModel[] + selectedImageryProviderViewModel?: ProviderViewModel + terrainProviderViewModels?: ProviderViewModel[] + selectedTerrainProviderViewModel?: ProviderViewModel + } + ) + + isDestroyed(): boolean + + destroy(): void + } + + class BaseLayerPickerViewModel { + imageryProviderViewModels: ProviderViewModel[] + terrainProviderViewModels: ProviderViewModel[] + dropDownVisible: boolean + buttonTooltip: string + buttonImageUrl: string + selectedImagery: ProviderViewModel + selectedTerrain: ProviderViewModel + toggleDropDown: Command + globe: Globe + + constructor(options: { + globe: Globe + imageryProviderViewModels?: ProviderViewModel[] + selectedImageryProviderViewModel?: ProviderViewModel + terrainProviderViewModels?: ProviderViewModel[] + selectedTerrainProviderViewModel?: ProviderViewModel + }) + } + + class ProviderViewModel { + name: string + tooltip: string + iconUrl: string + creationCommand: Command + + constructor(options: { + name: string + tooltip: string + iconUrl: string + creationFunction: ProviderViewModel.CreationFunction | Command + }) + } + + module ProviderViewModel { + type CreationFunction = () => + | ImageryProvider + | TerrainProvider + | ImageryProvider[] + | TerrainProvider[] + } + + class CesiumInspector { + container: Element + viewModel: CesiumInspectorViewModel + + constructor(container: Element | string, scene: Scene) + + isDestroyed(): boolean + + destroy(): void + } + + class CesiumInspectorViewModel { + frustums: boolean + performance: boolean + shaderCacheText: string + primitiveBoundingSphere: boolean + primitiveReferenceFrame: boolean + filterPrimitive: boolean + tileBoundingSphere: boolean + filterTile: boolean + wireframe: boolean + suspendUpdates: boolean + tileCoordinates: boolean + frustumStatisticText: string + tileText: string + hasPickedPrimitive: boolean + hasPickedTile: boolean + pickPimitiveActive: boolean + pickTileActive: boolean + dropDownVisible: boolean + generalVisible: boolean + primitivesVisible: boolean + terrainVisible: boolean + generalSwitchText: string + primitivesSwitchText: string + terrainSwitchText: string + scene: Scene + performanceContainer: Element + toggleDropDown: Command + showFrustums: Command + showPerformance: Command + showPrimitiveBoundingSphere: Command + showPrimitiveReferenceFrame: Command + doFilterPrimitive: Command + showWireframe: Command + doSuspendUpdates: Command + showTileCoordinates: Command + showTileBoundingSphere: Command + doFilterTile: Command + toggleGeneral: Command + togglePrimitives: Command + toggleTerrain: Command + pickPrimitive: Command + pickTile: Command + selectParent: Command + selectNW: Command + selectNE: Command + selectSW: Command + selectSE: Command + primitive: Command + tile: Command + + constructor(scene: Scene) + + isDestroyed(): boolean + + destroy(): void + } + + class CesiumWidget { + container: Element + canvas: HTMLCanvasElement + creditContainer: Element + scene: Scene + imageryLayers: ImageryLayerCollection + terrainProvider: TerrainProvider + camera: Camera + clock: Clock + screenSpaceEventHandler: ScreenSpaceEventHandler + targetFrameRate: number + useDefaultRenderLoop: boolean + resolutionScale: number + + constructor(container: Element | string, options?: CesiumWidgetOptions) + + showErrorPanel(title: string, message: string, error?: string): void + + isDestroyed(): boolean + + destroy(): void + + resize(): void + + render(): void + } + + class CesiumWidgetOptions { + clock?: Clock + imageryProvider?: ImageryProvider + terrainProvider?: TerrainProvider + skyBox?: SkyBox | boolean + skyAtmosphere?: SkyAtmosphere + sceneMode?: SceneMode + scene3DOnly?: boolean + orderIndependentTranslucency?: boolean + mapProjection?: MapProjection + globe?: Globe + useDefaultRenderLoop?: boolean + targetFrameRate?: number + showRenderLoopErrors?: boolean + contextOptions?: any + creditContainer?: Element | string + } + + class ClockViewModel { + systemTime: JulianDate + startTime: JulianDate + stopTime: JulianDate + currentTime: JulianDate + multiplier: number + clockStep: ClockStep + clockRange: ClockRange + canAnimate: boolean + shouldAnimate: boolean + clock: Clock + + constructor(clock?: Clock) + + synchronize(): void + + isDestroyed(): boolean + + destroy(): void + } + + class Command { + canExecute: boolean + beforeExecute: Event + afterExecute: Event + } + + class FullscreenButton { + container: Element + viewModel: FullscreenButtonViewModel + + constructor(container: Element | string, fullscreenElement?: Element | string) + + isDestroyed(): boolean + + destroy(): void + } + + class FullscreenButtonViewModel { + isFullscreen: boolean + isFullscreenEnabled: boolean + tooltip: string + fullscreenElement: Element + command: Command + + constructor(fullscreenElement?: Element | string) + + isDestroyed(): boolean + + destroy(): void + } + + class GeocoderOptions { + container?: Element | string + scene?: Scene + url?: string + key?: string + flightDuration?: number + } + + class Geocoder { + container: Element + viewModel: GeocoderViewModel + + constructor(options: GeocoderOptions) + + isDestroyed(): boolean + + destroy(): void + } + + class GeocoderViewModel { + isSearchInProgress: boolean + searchText: string + flightDuration: number + url: string + key: string + complete: Event + scene: Scene + search: Command + + constructor(options: { scene: Scene; url?: string; key?: string; flightDuration?: number }) + } + + class GeocoderResult { + displayName: string + destination: Rectangle | Cartesian3 + } + + interface GeocoderService { + geocode(query: string): Promise> + } + + class HomeButton { + container: Element + viewModel: HomeButtonViewModel + + constructor(container: Element | string, scene: Scene, duration?: number) + + isDestroyed(): boolean + + destroy(): void + } + + class HomeButtonViewModel { + tooltip: string + scene: Scene + command: Command + duration: number + + constructor(scene: Scene, duration?: number) + } + + class InfoBox { + container: Element + viewModel: InfoBoxViewModel + frame: HTMLIFrameElement + + constructor(container: Element | string) + + isDestroyed(): boolean + + destroy(): void + } + + class InfoBoxViewModel { + maxHeight: number + enableCamera: boolean + isCameraTracking: boolean + showInfo: boolean + titleText: string + description: string + cameraIconPath: string + cameraClicked: Event + closeClicked: Event + + maxHeightOffset(offset: number): string + } + + class NavigationHelpButton { + container: Element + viewModel: NavigationHelpButtonViewModel + + constructor(options: { container: Element | string; instructionsInitiallyVisible?: boolean }) + + isDestroyed(): boolean + + destroy(): void + } + + class NavigationHelpButtonViewModel { + showInstructions: boolean + tooltip: string + command: Command + showClick: Command + showTouch: Command + } + + class PerformanceWatchdog { + container: Element + viewModel: PerformanceWatchdogViewModel + + constructor(options?: { + container: Element | string + scene: Scene + lowFrameRateMessage?: string + }) + + isDestroyed(): boolean + + destroy(): void + } + + class PerformanceWatchdogViewModel { + lowFrameRateMessage: string + lowFrameRateMessageDismissed: boolean + showingLowFrameRateMessage: boolean + scene: Scene + dismissMessage: Command + + constructor(options?: { scene: Scene; lowFrameRateMessage?: string }) + } + + class SceneModePicker { + container: Element + viewModel: SceneModePickerViewModel + + constructor(container: Element | string, scene: Scene, duration?: number) + + isDestroyed(): boolean + + destroy(): void + } + + class SceneModePickerViewModel { + sceneMode: SceneMode + dropDownVisible: boolean + tooltip2D: string + tooltip3D: string + tooltipColumbusView: string + selectedTooltip: string + scene: Scene + duration: number + toggleDropDown: Command + morphTo2D: Command + morphTo3D: Command + morphToColumbusView: Command + + constructor(scene: Scene, duration?: number) + + isDestroyed(): boolean + + destroy(): void + } + + class SelectionIndicator { + container: Element + viewModel: SelectionIndicatorViewModel + + constructor(container: Element | string, scene: Scene) + + isDestroyed(): boolean + + destroy(): void + } + + class SelectionIndicatorViewModel { + position: Cartesian3 + showSelection: boolean + isVisible: boolean + computeScreenSpacePosition: SelectionIndicatorViewModel.ComputeScreenSpacePosition + container: Element + selectionIndicatorElement: Element + scene: Scene + + constructor(scene: Scene, selectionIndicatorElement: Element, container: Element) + + update(): void + + animateAppear(): void + + animateDepart(): void + } + + module SelectionIndicatorViewModel { + type ComputeScreenSpacePosition = (position: Cartesian3, result: Cartesian2) => Cartesian2 + } + + class Timeline { + container: Element + + constructor(container: Element, clock: Clock) + + isDestroyed(): boolean + + destroy(): void + + zoomTo(startTime: JulianDate, stopTime: JulianDate): void + + resize(): void + } + + class ToggleButtonViewModel { + toggled: boolean + tooltip: string + command: Command + + constructor(command: Command, options?: { toggled?: boolean; tooltip?: string }) + } + + class ProjectionPicker { + container: Element + viewModel: ProjectionPickerViewModel + + constructor(container: Element | String, scene: Scene) + + destroy(): void + + isDestroyed(): boolean + } + + class ProjectionPickerViewModel { + dropDownVisible: boolean + isOrthographicProjection: Command + scene: Scene + sceneMode: SceneMode + selectedTooltip: String + switchToOrthographic: Command + switchToPerspective: Command + toggleDropDown: Command + tooltipOrthographic: String + tooltipPerspective: String + + constructor(scene: Scene) + + destroy(): void + + isDestroyed(): boolean + } + + class Viewer { + allowDataSourcesToSuspendAnimation: boolean + readonly animation: Animation + readonly baseLayerPicker: BaseLayerPicker + readonly bottomContainer: Element + readonly camera: Camera + readonly canvas: HTMLCanvasElement + readonly cesiumLogo: Element + readonly cesiumWidget: CesiumWidget + readonly clock: Clock + clockTrackedDataSource: DataSource + readonly clockViewModel: ClockViewModel + readonly container: Element + readonly dataSourceDisplay: DataSourceDisplay + readonly dataSources: DataSourceCollection + readonly entities: EntityCollection + readonly fullscreenButton: FullscreenButton + readonly geocoder: Geocoder + readonly homeButton: HomeButton + readonly imageryLayers: ImageryLayerCollection + readonly infoBox: InfoBox + readonly navigationHelpButton: NavigationHelpButton + readonly projectionPicker: ProjectionPicker + resolutionScale: number + readonly scene: Scene + readonly sceneModePicker: SceneModePicker + readonly screenSpaceEventHandler: ScreenSpaceEventHandler + selectedEntity: Entity + readonly selectedEntityChanged: Event + readonly selectionIndicator: SelectionIndicator + readonly shadowMap: ShadowMap + shadows: boolean + targetFrameRate: number + terrainProvider: TerrainProvider + terrainShadows: boolean + readonly timeline: Timeline + trackedEntity: Entity + readonly trackedEntityChanged: Event + useDefaultRenderLoop: boolean + readonly vrButton: VRButton + + constructor(container: Element | string, options?: ViewerOptions) + + destroy(): void + + extend(mixin: Viewer.ViewerMixin, options: any): void + + flyTo( + target: + | Entity + | Entity[] + | EntityCollection + | DataSource + | ImageryLayer + | Promise, + options?: { duration?: number; maximumHeight?: number; offset?: HeadingPitchRange } + ): Promise + + forceResize(): void + + isDestroyed(): boolean + + render(): void + + resize(): void + + zoomTo( + target: + | Entity + | Entity[] + | EntityCollection + | DataSource + | Promise, + offset?: HeadingPitchRange + ): Promise + } + + module Viewer { + type ViewerMixin = (viewer: Viewer, options: any) => void + } + + class ViewerOptions { + animation?: boolean + baseLayerPicker?: boolean + fullscreenButton?: boolean + vrButton?: boolean + geocoder?: boolean | GeocoderService[] + homeButton?: boolean + infoBox?: boolean + sceneModePicker?: boolean + selectionIndicator?: boolean + timeline?: boolean + navigationHelpButton?: boolean + navigationInstructionsInitiallyVisible?: boolean + scene3DOnly?: boolean + shouldAnimate?: boolean + clockViewModel?: ClockViewModel + selectedImageryProviderViewModel?: ProviderViewModel + imageryProviderViewModels?: ProviderViewModel[] + selectedTerrainProviderViewModel?: ProviderViewModel + terrainProviderViewModels?: ProviderViewModel[] + imageryProvider?: ImageryProvider | boolean + terrainProvider?: TerrainProvider | boolean + skyBox?: SkyBox | undefined + skyAtmosphere?: SkyAtmosphere | boolean + fullscreenElement?: Element | string + useDefaultRenderLoop?: boolean + targetFrameRate?: number + showRenderLoopErrors?: boolean + automaticallyTrackDataSourceClocks?: boolean + contextOptions?: any + sceneMode?: SceneMode + mapProjection?: MapProjection + globe?: Globe | boolean + orderIndependentTranslucency?: boolean + creditContainer?: Element | string + dataSources?: DataSourceCollection + terrainExaggeration?: number + shadows?: boolean + terrainShadows?: ShadowMode + mapMode2D?: MapMode2D + projectionPicker?: boolean + requestRenderMode?: boolean + maximumRenderTimeChange?: number + } + + class VRButton { + constructor(container: Element | string, scene: Scene, vrElement: Element | string) + + readonly container: Element + readonly viewModel: VRButtonViewModel + + destroy(): void + + isDestroyed(): boolean + } + + class VRButtonViewModel { + constructor(scene: Scene, vrElement: Element | string) + + readonly command: Command + isVREnabled: boolean + readonly isVRMode: boolean + readonly tooltip: string + vrElement: Element + + destroy(): void + + isDestroyed(): boolean + } + + function barycentricCoordinates( + point: Cartesian2 | Cartesian3, + p0: Cartesian2 | Cartesian3, + p1: Cartesian2 | Cartesian3, + p2: Cartesian2 | Cartesian3, + result?: Cartesian3 + ): Cartesian3 + + function binarySearch(array: any[], itemToFind: any, comparator: binarySearch.Comparator): number + + module binarySearch { + type Comparator = (a: any, b: any) => number + } + + function cancelAnimationFrame(requestID: number): void + + function clone(object: Object, deep?: boolean): Object + + function combine(object1?: Object, object2?: Object, deep?: boolean): Object + + function destroyObject(object: any, message?: string): void + + function formatError(object: any): string + + function getFilenameFromUri(uri: string): string + + function getImagePixels(image: HTMLImageElement): number[] + + function isArray(value: any): boolean + + function isLeapYear(year: number): boolean + + function jsonp( + url: string, + options?: { parameters?: any; callbackParameterName?: string; proxy?: any } + ): Promise + + function loadArrayBuffer(url: string, headers?: any): Promise + + function loadBlob(url: string, headers?: any): Promise + + function loadImage(url: string, allowCrossOrigin?: boolean): Promise + + function loadImageViaBlob(url: string): Promise + + function loadJson(url: string, headers?: any): Promise + + function loadText(url: string, headers?: any): Promise + + function loadWithXhr(options: { + url: string + responseType?: string + method?: string + data?: string | FormData + headers?: any + overrideMimeType?: string + }): Promise + + function loadXML(url: string, headers?: any): Promise + + function mergeSort(array: any[], comparator: mergeSort.Comparator, userDefinedObject?: any): void + + module mergeSort { + type Comparator = (a: any, b: any, userDefinedObject?: any) => number + } + + function objectToQuery(obj: any): string + + function pointInsideTriangle( + point: Cartesian2 | Cartesian3, + p0: Cartesian2 | Cartesian3, + p1: Cartesian2 | Cartesian3, + p2: Cartesian2 | Cartesian3 + ): boolean + + function queryToObject(queryString: string): any + + function requestAnimationFrame(callback: requestAnimationFrame.Callback): number + + module requestAnimationFrame { + type Callback = (timestamp: number) => void + } + + function sampleTerrain( + terrainProvider: TerrainProvider, + level: number, + positions: Cartographic[] + ): Promise + + function subdivideArray(array: T[], numberOfArrays: number): T[][] + + function throttleRequestByServer( + url: string, + requestFunction: throttleRequestByServer.RequestFunction + ): Promise + + module throttleRequestByServer { + type RequestFunction = (url: string) => Promise + } + + function createTangentSpaceDebugPrimitive(options: { + geometry: Geometry + length?: number + modelMatrix?: Matrix4 + }): Primitive + + function viewerCesiumInspectorMixin(viewer: Viewer): void + + function viewerDragDropMixin( + viewer: Viewer, + options?: { dropTarget?: Element | string; clearOnDrop?: boolean; proxy?: DefaultProxy } + ): void + + function viewerPerformanceWatchdogMixin(viewer: Viewer): void + + function createCommand(func: Function, canExecute?: boolean): Function + + function createTaskProcessorWorker( + workerFunction: createTaskProcessorWorker.WorkerFunction + ): createTaskProcessorWorker.TaskProcessorWorkerFunction + + function createWorldTerrain(options?: { + requestVertexNormals?: boolean + requestWaterMask?: boolean + }): CesiumTerrainProvider + + module createTaskProcessorWorker { + type WorkerFunction = (parameters: any, transferableObjects: any[]) => any + type TaskProcessorWorkerFunction = (event: any) => void + } + + class ClockRange { + static UNBOUNDED: number + static CLAMPED: number + static LOOP_STOP: number + } + + class ClockStep { + static TICK_DEPENDENT: number + static SYSTEM_CLOCK_MULTIPLIER: number + static SYSTEM_CLOCK: number + } + + class ComponentDatatype { + static BYTE: number + static UNSIGNED_BYTE: number + static SHORT: number + static UNSIGNED_SHORT: number + static FLOAT: number + static DOUBLE: number + static INT: number + static UNSIGNED_INT: number + } + + module ComponentDatatype { + function getSizeInBytes(componentDatatype: ComponentDatatype): number + + function fromTypedArray( + array: Int8Array | Uint8Array | Int16Array | Uint16Array | Float32Array | Float64Array + ): ComponentDatatype + + function validate(componentDatatype: ComponentDatatype): boolean + + function createTypedArray( + componentDatatype: ComponentDatatype, + valuesOrLength: number | any[] + ): Int8Array | Uint8Array | Int16Array | Uint16Array | Float32Array | Float64Array + + function createArrayBufferView( + componentDatatype: ComponentDatatype, + buffer: ArrayBuffer, + byteOffset?: number, + length?: number + ): Int8Array | Uint8Array | Int16Array | Uint16Array | Float32Array | Float64Array + } + + class CornerType { + static ROUNDED: number + static MITERED: number + static BEVELED: number + } + + module CubicRealPolynomial { + function computeDiscriminant(a: number, b: number, c: number, d: number): number + + function computeRealRoots(a: number, b: number, c: number, d: number): number[] + } + + class ExtrapolationType { + static NONE: number + static HOLD: number + static EXTRAPOLATE: number + } + + module FeatureDetection { + function supportsFullscreen(): boolean + + function supportsTypedArrays(): boolean + + function supportsWebWorkers(): boolean + } + + class Fullscreen { + static element: any + static changeEventName: string + static errorEventName: string + static enabled: boolean + static fullscreen: boolean + } + + module Fullscreen { + function supportsFullscreen(): boolean + + function requestFullscreen(element: any): boolean + + function exitFullscreen(): boolean + } + + module GeometryPipeline { + function toWireframe(geometry: Geometry): Geometry + + function createLineSegmentsForVectors( + geometry: Geometry, + attributeName?: string, + length?: number + ): Geometry + + function createAttributeLocations(geometry: Geometry): any + + function reorderForPreVertexCache(geometry: Geometry): Geometry + + function reorderForPostVertexCache(geometry: Geometry, cacheCapacity?: number): Geometry + + function fitToUnsignedShortIndices(geometry: Geometry): Geometry[] + + function projectTo2D( + geometry: Geometry, + attributeName: string, + attributeName3D: string, + attributeName2D: string, + projection?: any + ): Geometry + + function encodeAttribute( + geometry: Geometry, + attributeName: string, + attributeHighName: string, + attributeLowName: string + ): Geometry + + function transformToWorldCoordinates(instance: GeometryInstance): GeometryInstance + + function computeNormal(geometry: Geometry): Geometry + + function computeBinormalAndTangent(geometry: Geometry): Geometry + + function compressVertices(geometry: Geometry): Geometry + } + + class HeightReference { + static CLAMP_TO_GROUND: number + static NONE: number + static RELATIVE_TO_GROUND: number + } + + module HermitePolynomialApproximation { + function getRequiredDataPoints(degree: number, inputOrder?: number): number + + function interpolateOrderZero( + x: number, + xTable: number[], + yTable: number[], + yStride: number, + result?: number[] + ): number[] + + function interpolate( + x: number, + xTable: number[], + yTable: number[], + yStride: number, + inputOrder: number, + outputOrder: number, + result?: number[] + ): number[] + } + + class IndexDatatype { + static UNSIGNED_BYTE: number + static UNSIGNED_SHORT: number + static UNSIGNED_INT: number + } + + module IndexDatatype { + function getSizeInBytes(indexDatatype: IndexDatatype): number + + function validate(indexDatatype: IndexDatatype): boolean + + function createTypedArray( + numberOfVertices: number, + indicesLengthOrArray: any + ): Uint16Array | Uint32Array + + function createTypedArrayFromArrayBuffer( + numberOfVertices: number, + sourceArray: ArrayBuffer, + byteOffset: number, + length: number + ): Uint16Array | Uint32Array + } + + class InterpolationAlgorithm { + static type: string + } + + module InterpolationAlgorithm { + function getRequiredDataPoints(degree: number): number + + function interpolateOrderZero( + x: number, + xTable: number[], + yTable: number[], + yStride: number, + result?: number[] + ): number[] + + function interpolate( + x: number, + xTable: number[], + yTable: number[], + yStride: number, + inputOrder: number, + outputOrder: number, + result?: number[] + ): number[] + } + + class Intersect { + static OUTSIDE: number + static INTERSECTING: number + static INSIDE: number + } + + module IntersectionTests { + function rayPlane(ray: Ray, plane: Plane, result?: Cartesian3): Cartesian3 + + function rayTriangle( + ray: Ray, + p0: Cartesian3, + p1: Cartesian3, + p2: Cartesian3, + cullBackFaces?: boolean, + result?: Cartesian3 + ): Cartesian3 + + function lineSegmentTriangle( + v0: Cartesian3, + v1: Cartesian3, + p0: Cartesian3, + p1: Cartesian3, + p2: Cartesian3, + cullBackFaces?: boolean, + result?: Cartesian3 + ): Cartesian3 + + function raySphere(ray: Ray, sphere: BoundingSphere, result?: any): any + + function lineSegmentSphere( + p0: Cartesian3, + p1: Cartesian3, + sphere: BoundingSphere, + result?: any + ): any + + function rayEllipsoid(ray: Ray, ellipsoid: Ellipsoid): any + + function grazingAltitudeLocation(ray: Ray, ellipsoid: Ellipsoid): Cartesian3 + + function lineSegmentPlane( + endPoint0: Cartesian3, + endPoint1: Cartesian3, + plane: Plane, + result?: Cartesian3 + ): Cartesian3 + + function trianglePlaneIntersection( + p0: Cartesian3, + p1: Cartesian3, + p2: Cartesian3, + plane: Plane + ): any + } + + module Intersections2D { + function clipTriangleAtAxisAlignedThreshold( + threshold: number, + keepAbove: boolean, + u0: number, + u1: number, + u2: number, + result?: number[] + ): number[] + + function computeBarycentricCoordinates( + x: number, + y: number, + x1: number, + y1: number, + x2: number, + y2: number, + x3: number, + y3: number, + result?: Cartesian3 + ): Cartesian3 + } + + class Iso8601 { + static MINIMUM_VALUE: JulianDate + static MAXIMUM_VALUE: JulianDate + static MAXIMUM_INTERVAL: JulianDate + } + + class KeyboardEventModifier { + static SHIFT: number + static CTRL: number + static ALT: number + } + + module LagrangePolynomialApproximation { + function getRequiredDataPoints(degree: number): number + + function interpolateOrderZero( + x: number, + xTable: number[], + yTable: number[], + yStride: number, + result?: number[] + ): number[] + } + + module LinearApproximation { + function getRequiredDataPoints(degree: number): number + + function interpolateOrderZero( + x: number, + xTable: number[], + yTable: number[], + yStride: number, + result?: number[] + ): number[] + } + + class Math { + static EPSILON1: number + static EPSILON2: number + static EPSILON3: number + static EPSILON4: number + static EPSILON5: number + static EPSILON6: number + static EPSILON7: number + static EPSILON8: number + static EPSILON9: number + static EPSILON10: number + static EPSILON11: number + static EPSILON12: number + static EPSILON13: number + static EPSILON14: number + static EPSILON15: number + static EPSILON16: number + static EPSILON17: number + static EPSILON18: number + static EPSILON19: number + static EPSILON20: number + static GRAVITATIONALPARAMETER: number + static SOLAR_RADIUS: number + static LUNAR_RADIUS: number + static SIXTY_FOUR_KILOBYTES: number + static PI: number + static ONE_OVER_PI: number + static PI_OVER_TWO: number + static PI_OVER_THREE: number + static PI_OVER_FOUR: number + static PI_OVER_SIX: number + static THREE_PI_OVER_TWO: number + static TWO_PI: number + static ONE_OVER_TWO_PI: number + static RADIANS_PER_DEGREE: number + static DEGREES_PER_RADIAN: number + static RADIANS_PER_ARCSECOND: number + } + + module Math { + function sign(value: number): number + + function signNotZero(value: number): number + + function toSNorm(value: number, rangeMax?: number): number + + function fromSNorm(value: number): number + + function sinh(value: number): number + + function cosh(value: number): number + + function lerp(p: number, q: number, time: number): number + + function toRadians(degrees: number): number + + function toDegrees(radians: number): number + + function convertLongitudeRange(angle: number): number + + function negativePiToPi(angle: number): number + + function zeroToTwoPi(angle: number): number + + function mod(m: number, n: number): number + + function equalsEpsilon( + left: number, + right: number, + relativeEpsilon: number, + absoluteEpsilon?: number + ): boolean + + function factorial(n: number): number + + function incrementWrap(n: number, maximumValue: number, minimumValue?: number): number + + function isPowerOfTwo(n: number): boolean + + function logBase(number: number, base: number): number + + function nextPowerOfTwo(n: number): number + + function nextRandomNumber(): number + + function randomBetween(min: number, max: number): number + + function setRandomNumberSeed(seed: number): void + + function clamp(value: number, min: number, max: number): number + + function clampToLatitudeRange(angle: number): number + + function setRandomNumberSeed(seed: number): void + + function acosClamped(value: number): number + + function asinClamped(value: number): number + + function chordLength(angle: number, radius: number): number + } + + class Packable { + static packedLength: number + } + + module Packable { + function pack(value: any, array: number[], startingIndex?: number): number[] + + function unpack(array: number[], startingIndex?: number, result?: any): any + } + + class PackableForInterpolation { + static packedInterpolationLength: number + } + + module PackableForInterpolation { + function convertPackedArrayForInterpolation( + packedArray: number[], + startingIndex?: number, + lastIndex?: number, + result?: number[] + ): void + + function unpackInterpolationResult( + array: number[], + sourceArray: number[], + startingIndex?: number, + lastIndex?: number, + result?: any + ): any + } + + class PixelFormat { + static DEPTH_COMPONENT: number + static DEPTH_STENCIL: number + static ALPHA: number + static RGB: number + static RGBA: number + static RGB_DXT1: number + static RGB_ETC1: number + static RGB_PVRTC_2BPPV1: number + static RGB_PVRTC_4BPPV1: number + static RGBA_DXT1: number + static RGBA_DXT3: number + static RGBA_DXT5: number + static RGBA_PVRTC_2BPPV1: number + static RGBA_PVRTC_4BPPV1: number + static LUMINANCE: number + static LUMINANCE_ALPHA: number + } + + class PrimitiveType { + static LINE_LOOP: number + static LINE_STRIP: number + static LINES: number + static POINTS: number + static TRIANGLE_FAN: number + static TRIANGLE_STRIP: number + static TRIANGLES: number + } + + module QuadraticRealPolynomial { + function computeDiscriminant(a: number, b: number, c: number): number + + function computeRealRoots(a: number, b: number, c: number): number[] + } + + module QuarticRealPolynomial { + function computeDiscriminant(a: number, b: number, c: number, d: number, e: number): number + + function computeRealRoots(a: number, b: number, c: number, d: number, e: number): number[] + } + + class ReferenceFrame { + static FIXED: number + static INERTIAL: number + } + + class ScreenSpaceEventType { + static MOUSE_DOWN + static LEFT_DOWN: number + static LEFT_UP: number + static LEFT_CLICK: number + static LEFT_DOUBLE_CLICK: number + static RIGHT_DOWN: number + static RIGHT_UP: number + static RIGHT_CLICK: number + static MIDDLE_DOWN: number + static MIDDLE_UP: number + static MIDDLE_CLICK: number + static MOUSE_MOVE: number + static WHEEL: number + static PINCH_START: number + static PINCH_END: number + static PINCH_MOVE: number + } + + interface PositionedEvent { + position: Cartesian2 + } + + interface MoveEvent { + startPosition: Cartesian2 + endPosition: Cartesian2 + } + + interface Touch2Event { + position1: Cartesian2 + position2: Cartesian2 + } + + module Simon1994PlanetaryPositions { + function computeSunPositionInEarthInertialFrame( + julianDate?: JulianDate, + result?: Cartesian3 + ): Cartesian3 + + function computeMoonPositionInEarthInertialFrame( + julianDate?: JulianDate, + result?: Cartesian3 + ): Cartesian3 + } + + class TimeStandard { + static UTC: number + static TAI: number + } + + module Transforms { + function eastNorthUpToFixedFrame( + origin: Cartesian3, + ellipsoid?: Ellipsoid, + result?: Matrix4 + ): Matrix4 + + function northEastDownToFixedFrame( + origin: Cartesian3, + ellipsoid?: Ellipsoid, + result?: Matrix4 + ): Matrix4 + + function northUpEastToFixedFrame( + origin: Cartesian3, + ellipsoid?: Ellipsoid, + result?: Matrix4 + ): Matrix4 + + function headingPitchRollToFixedFrame( + origin: Cartesian3, + heading: number, + pitch: number, + roll: number, + ellipsoid?: Ellipsoid, + result?: Matrix4 + ): Matrix4 + + function headingPitchRollQuaternion( + origin: Cartesian3, + hpr: HeadingPitchRoll, + ellipsoid?: Ellipsoid, + result?: Quaternion + ): Quaternion + + function headingPitchRollQuaternion1( + origin: Cartesian3, + heading: number, + pitch: number, + roll: number, + ellipsoid?: Ellipsoid, + result?: Quaternion + ): Quaternion + + + function computeTemeToPseudoFixedMatrix(date: JulianDate, result?: Matrix3): Matrix3 + + function preloadIcrfFixed(timeInterval: TimeInterval): Promise + + function computeIcrfToFixedMatrix(date: JulianDate, result?: Matrix3): Matrix3 + + function computeFixedToIcrfMatrix(date: JulianDate, result?: Matrix3): Matrix3 + + function pointToWindowCoordinates( + modelViewProjectionMatrix: Matrix4, + viewportTransformation: Matrix4, + point: Cartesian3, + result?: Cartesian2 + ): Cartesian2 + } + + module TridiagonalSystemSolver { + function solve( + diagonal: number[], + lower: number[], + upper: number[], + right: Cartesian3[] + ): Cartesian3[] + } + + class Visibility { + static NONE: number + static PARTIAL: number + static FULL: number + } + + class WindingOrder { + static CLOCKWISE: number + static COUNTER_CLOCKWISE: number + } + + class StripeOrientation { + static HORIZONTAL: number + static VERTICAL: number + } + + class BingMapsStyle { + static AERIAL: string + static AERIAL_WITH_LABELS: string + static ROAD: string + static ORDNANCE_SURVEY: string + static COLLINS_BART: string + } + + class BlendEquation { + static ADD: number + static MAX: number + static MIN: number + static SUBTRACT: number + static REVERSE_SUBTRACT: number + } + + class BlendFunction { + static ZERO: number + static ONE: number + static SOURCE_COLOR: number + static ONE_MINUS_SOURCE_COLOR: number + static DESTINATION_COLOR: number + static ONE_MINUS_DESTINATION_COLOR: number + static SOURCE_ALPHA: number + static ONE_MINUS_SOURCE_ALPHA: number + static DESTINATION_ALPHA: number + static ONE_MINUS_DESTINATION_ALPHA: number + static CONSTANT_COLOR: number + static ONE_MINUS_CONSTANT_COLOR: number + static CONSTANT_ALPHA: number + static ONE_MINUS_CONSTANT_ALPHA: number + static SOURCE_ALPHA_SATURATE: number + } + + class BlendingState { + static DISABLED: any + static ALPHA_BLEND: any + static PRE_MULTIPLIED_ALPHA_BLEND: any + static ADDITIVE_BLEND: any + } + + class CameraEventType { + static LEFT_DRAG: number + static RIGHT_DRAG: number + static MIDDLE_DRAG: number + static WHEEL: number + static PINCH: number + } + + class CullFace { + static FRONT: number + static BACK: number + static FRONT_AND_BACK: number + } + + class DepthFunction { + static NEVER: number + static LESS: number + static EQUAL: number + static LESS_OR_EQUAL: number + static GREATER: number + static NOT_EQUAL: number + static GREATER_OR_EQUAL: number + static ALWAYS: number + } + + class HorizontalOrigin { + static CENTER: number + static LEFT: number + static RIGHT: number + } + + class LabelStyle { + static FILL: number + static OUTLINE: number + static FILL_AND_OUTLINE: number + } + + class ModelAnimationLoop { + static NONE: number + static REPEAT: number + static MIRRORED_REPEAT: number + } + + class SceneMode { + static MORPHING: number + static COLUMBUS_VIEW: number + static SCENE2D: number + static SCENE3D: number + } + + module SceneMode { + function getMorphTime(value: SceneMode): number + } + + module SceneTransforms { + function wgs84ToWindowCoordinates( + scene: Scene, + position: Cartesian3, + result?: Cartesian2 + ): Cartesian2 + + function wgs84ToDrawingBufferCoordinates( + scene: Scene, + position: Cartesian3, + result?: Cartesian2 + ): Cartesian2 + } + + class StencilFunction { + static NEVER: number + static LESS: number + static EQUAL: number + static LESS_OR_EQUAL: number + static GREATER: number + static NOT_EQUAL: number + static GREATER_OR_EQUAL: number + static ALWAYS: number + } + + class StencilOperation { + static ZERO: number + static KEEP: number + static REPLACE: number + static INCREMENT: number + static DECREMENT: number + static INVERT: number + static INCREMENT_WRAP: number + static DECREMENT_WRAP: number + } + + class VerticalOrigin { + static CENTER: number + static BOTTOM: number + static TOP: number + } + + function createTileMapServiceImageryProvider(options: { + url?: string + fileExtension?: string + proxy?: {} + credit?: Credit | string + minimumLevel?: number + maximumLevel?: number + rectangle?: Rectangle + tilingScheme?: TilingScheme + ellipsoid?: Ellipsoid + tileWidth?: number + tileHeight?: number + flipXY?: boolean + }): TileMapServiceImageryProvider + + class UrlTemplateImageryProvider extends ImageryProvider { + readonly url: string + readonly pickFeaturesUrl: string + readonly urlSchemeZeroPadding: {} + readonly proxy: Proxy + readonly credit: Credit + readonly minimumLevel: number + readonly maximumLevel: number + readonly rectangle: Rectangle + readonly tilingScheme: TilingScheme + readonly tileWidth: number + readonly tileHeight: number + readonly hasAlphaChannel: boolean + enablePickFeatures: boolean + readonly errorEvent: Event + readonly ready: boolean + readonly readyPromise: Promise + readonly tileDiscardPolicy: TileDiscardPolicy + + constructor(options: { + url: string + pickFeaturesUrl?: string + urlSchemeZeroPadding?: {} + subdomains?: string | Array + proxy?: {} + credit?: Credit + minimumLevel?: number + maximumLevel?: number + rectangle?: Rectangle + tilingScheme?: TilingScheme + ellipsoid?: Ellipsoid + tileWidth?: number + tileHeight?: number + hasAlphaChannel?: boolean + getFeatureInfoFormats?: Array + enablePickFeatures?: boolean + customTags?: any + }) + + getTileCredits(x: number, y: number, level: number): Array + + pickFeatures( + x: number, + y: number, + level: number, + longitude: number, + latitude: number + ): Promise> | undefined + + reinitialize(options: Promise | Object): void + } + + function defined(value: Object): boolean + + class ParticleSystem { + options: any + show: boolean + constructor( + options: any + ) + } + + class ParticleBurst { + item: any + constructor( + item: any + ) + } + + + class PostProcessStage { + constructor(options: { + fragmentShader: any + uniforms: any + + }) + } + + function createGuid(): string + function defaultValue(a: Object, b: Object): Object + + class CircleEmitter { + constructor(radius: number) + } + + + function buildModuleUrl(path: string): string + +} + + +declare module 'cesium' { + export = Cesium +} diff --git a/public/GV/config/analysisUrl.json b/public/GV/config/analysisUrl.json new file mode 100644 index 000000000..7b73b058a --- /dev/null +++ b/public/GV/config/analysisUrl.json @@ -0,0 +1,3 @@ +{ + "serverUrl": "http://192.168.20.207:8251/spatialanalysis/" +} \ No newline at end of file diff --git a/public/GV/config/jbconfig.json b/public/GV/config/jbconfig.json new file mode 100644 index 000000000..d300a800d --- /dev/null +++ b/public/GV/config/jbconfig.json @@ -0,0 +1,25 @@ +{ + "baseUrl": "http://localhost:8202/api/jb/", + "offset": { + "10-2800-0": { + "x": 178.5, + "y": -217 + }, + "10-2802-0": { + "x": 178.5, + "y": -217.5 + }, + "10-2803-0": { + "x": 140.5, + "y": -200.5 + }, + "10-300-0": { + "x": 0, + "y": 72.5 + }, + "10-800-0": { + "x": 0, + "y": -180.5 + } + } +} \ No newline at end of file diff --git a/public/GV/config/placenameStyle.json b/public/GV/config/placenameStyle.json new file mode 100644 index 000000000..9978811a8 --- /dev/null +++ b/public/GV/config/placenameStyle.json @@ -0,0 +1,3368 @@ +[ + { + "DMTCBS": 2, + "DMTCBM": 1, + "TCMC": "大洲", + "TCYS": null, + "XSCJ": 0, + "TCMS": null + }, + { + "DMTCBS": 3, + "DMTCBM": 2, + "TCMC": "世界国家", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-256", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": "", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 0, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 1, + "TCMS": "测试图层" + }, + { + "DMTCBS": 4, + "DMTCBM": 4, + "TCMC": "中国省", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 5, + "DMTCBM": 5, + "TCMC": "中国省会城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-128", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDQAACw0B7QfALAAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 128, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 6, + "DMTCBM": 6, + "TCMC": "中国地级城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 7, + "DMTCBM": 7, + "TCMC": "中国区县", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-663885", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAq5JREFUSEvtlctPU0EUh0GDC3cu3Llx7R/g0rgkwURotJAogVCkIASDiFqtCCYQhVSkD0pE5S1P5cJtuW2hFAp9ALf0yb1QUqApLULDK5q46JzxdmHCQtJckB2T/JI5yTnzzTlzZiYJY5x0mjrVxeMbPwMkrMA/HZIOjaa2iZTnNf2pGbn15YJcmURU1iL80DJ26bBPfH5UoxwJaB+wJhdUtN0VFqhCMjWFBsh5ROic0NxhQuLyL78yi5pfyz4azv8F8QYIHzQ9flU/hKbnVmBlfQttbO6h8OYBrIWi4PAGUVO7CadmyYZqldQ53hmIn7ZdL5V+RZb5APavRXEosguR7T3Y+LEP4a0DCG7uYdobBMk7AtLzlE94A9KyG0Z6tQvgYSN4ObiDA+EdCIb3YTW0i2k2jHVWP+43eJC624Zu56q2qxrIC7xKlP3o02+9mQXPcgQzgW3sX4+CkwkBafbDd+MiEEYGDxp80EU6UIm0B4mfdd7kBSit7MHj1iXs5DJwcxCbax0TEwwmzQyMTHIyMZztQ306F5LWDUOmWH2PF6BQ0oUo8yKimRCyuwKgmWbwqGUJU1YWRi0MaDmbnPTBgMGJJG+/4SJJh4AXICNPEeijaGxxryK9nQGdfQn0swwY5hjQc+JsrJlZRN3aeZRX3goPX3Zd5QUQiOTSGpUGyElXzDDng3GaBeMCAxOcjA4ONMuCxuwGRacR3cpuGOPdRW/kIxcF+Y1eRed4jJxxoPiiJg8LU14WcxCks7lRKzED90vVB2XVPdd4A+IBL+oGr2TkNzqrlQR0a+2YmKJjw2YaevV2JGulYncKFdHiyo4bx77J8cBqBZGSVawqSct5b8spU/8UVbTE0kVyRligrK2SD12WfaaSjwX4nz9cwuf2pLAzQMIKJHQ46Rn8ATAPZ7kkTkhUAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 245, + "FontG": 222, + "FontB": 179, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 8, + "DMTCBM": 8, + "TCMC": "中国乡镇", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-256", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAR5JREFUSEvtVLsOAUEU3c9Q+gSlT1D6DKVSNBoNjUokmm00qm1UGgqJRKORiEojkWjW+81xLoONxK7s2GhMcjKTnZtz7j33zhoAjCARKLkk/hfwdMAzQHcAfitgPFeIxxzRVChxD9+v3ap0rUARRLi3SQKclsBhCGw7nD+jT8QkRkdAMr+Rn3ckHwG7LrCuA8uKiDSIqI5A6Uou6zgheQ/YNEheBeZFwM6IiCTwtgovi/o3a2xgPyB5C1hZJC8D0ywF0iIgEb4Fxk7fsa4BC5Pk+Sv5NwSsV98xKzzIlQC77r8CmaDuq++O7GVcEzoCMoUpwnL6rjIv8LupO6b3txTnYSgNVRhzT2o/NLfSP7377b/o0yx9N/kvIA4E3uQLeqhjOIY7sicAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 0, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 9, + "TCMS": null + }, + { + "DMTCBS": 9, + "DMTCBM": 3, + "TCMC": "国家首都", + "TCYS": { + "FontName": "黑体", + "FontSize": "26", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAA/dJREFUSEtj+P//PwMtMU0NBzl8GFqgpKvE3t7fGXz+ysWmRauX++RWlwpVtDQxRKRnMURn5jHkVlQzpqamynW3t+ldvHBev7qsUNjeVJMhyteOKcrPHiNEMAT8wgM4127asAYYfv9//Pz5+fi5s5smzJoRFJudp51cWOoyY8HCtuOnTp3/8OHDsz9//jyfNW1Shqm2EoOrtR57iIc1YQvi0tLY5ixatBhkwdsnT/7//v79/9dfv74eOX3mxIlz5+/+/Pv3/y+g2IcXL0BK/ne31hfrKkkweNoZciSEuDKip0gMG918/FlaOrvmgjRvnDjxf1to6P/LO3eCDQOBS9u3/28JCfm/acoUMD87M6FUVUmIIcjLhi07MZCZoAXhsQlM9c1tU779+v1/x+TJ/72BCS1RROR/b2AgGCcA2e5AsR1Tp/7/+O3b2+AQr3AFRX5GJ3sD9uRoH8IWRMVlM1RUtTS+ePv+/+0DB/5nycr+DwIaGAHE4UAcAsSpQkL/b+zd8//Wg0eH3N1sVHW0JBlcHQ1lE6I8OQn6wDckRWT16q3H/wJV3ty/73+utPT/WJChUBwHpDOBvri6a9f/H3//fu7qaFxlYaqm5eVmzpEQ7cVL0ILJMxc2/fr998/7Z8/+TwoN+R/PyPg/BWgoMo4Fik0KC/v/DpgIvv/49r+7q3mdt4e1WlSoMxNBC37/+fPx6fXr/yvs7P47Q4MmGckHIDYoqByBuMza+v/zW7eAyfnH/7mzpxxOjvNXI2gBUMHPi3t2/58QG/O/OyDgf5WOzv8EoGEgg5OAGMSuBIp1AiO8Pzb2/+X9+8Gp6e/ff/+2bFheQtCCFy9fPv7zBxQDEPDkwoX/U4KC/scAgwWEJwcH/3926RJc/h8QPH78YMGtWzda9+3eEk3QgsC4uIxla9dNePzs2YS9R478+gnU8eLq1f9pwNSUKiPz/+WNG//ffv78YNW61S1z580ub2urq0pLiVLOyowXqyjLEidogaieKodzqC/bvOWLWNOKcuuOnj79+v+/f/9np6f/n5mSDHb5rDlzVykqybNZWRsz6OnKsxkZKHL5+jjwFBamEI5kXU9TZscoD4bkkmSGjLIsxglz+mo+fvr4//3jJ//fP3n6/9nTp48jwwLcTYy0OXy8nYWtrLSZTIxVGAL8nRiKi9MIl0UGvpYM7nG+TAUNuUz1PRUMpS35BkdPHLgDC/Qtm9Yt8HQykwz2c5Ly83IQtLc1ZDAzVSfeAotgRzb/1BDG6o5ypub+Gs6ypnymKTPaq2/dunrl5OmTq3OykqyCfZ24Q/yc+dydLBid7U0YrC11Gfz9HInzAXokUcofhlUmpUGCrh8A5QHVTdHBbzoAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 20, + "DMTCBM": 10, + "TCMC": "中国渡口港口码头", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-10429286", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAABllJREFUSEuFlgtUjGkYx59vRqZyK8lmDVMia8M6HIS2VZbcjpYWaWOVcJKkQi0dKdpQrlHoRE5hd1trFXLLoNBFhE6o6AjRvWStXPrv885oYtmzM+c93zff977P77k/IwGg3pKMWj4SSe9um8Wd4Ru5wlbS62Bf09V6UEOPfj2IZNT+yZ2HXZ7ezqdXdWq9Ny8zQfRCPAd/3/+UoJlIACxZVMvqzRu1i6Q+JNmZdrWONek7Lk8xfH49TVwDmhQGPdtF9Z2tp+SZdv8q1pLITuwVZ96XI+6F7I8AfVgFKyKl0lAVrT9yQS25xoD8U2Cw4QK+3p0L2/jrMNiZDwq5DPI6jLbjV9V272QVzRAlrw8gHwHEBl79OyuHqGnqRlBQKmh3IZwyK3HhUTVSs7JxPCcXGZXP8MPVRsiTytBmSyGDjkBh9a26F58VCrZY8gFACDeXJFV7i1FqyS0WncPTQUfK0S4fuFhRjtDRo+HLBvvzCp8wHhcrn8L4OtAz/QUMkspBgeehP8BJbSHJVS2WvAcgYrKim8mXMeSyHdLPahgeqwLlAm1vAker6xHp748UuQx+FhaICQpCSm0D2lwDFNmA3qW3oEPVIN+T6KwcGiNkCYgOwD6X95IpHGUOyxop6CQo+TEohyN0lRdfBxQDN6sqMHO+H86eTUNeRQ363+F3V7TvNfsu8op+AGlqZKO53MBRyNQBLGQya2PVsESauw+09Rbo1BsQa6Y5mAWMrQQOx2wGucah01hvnNgfhzHl7wBspQYirsl/gfxOoWMf+0QLmdxaB1ApzLwUI+aV0fIzoH1PGcCbM7UA99JmXKqoxc6N60CzE0CeR7A/bjeuVNbB/X6zVhEhXKzT/HtDERT2/mUqfaWXDmBkbhuvNymkidZdB/3yEpTOmy9rNTtZ8wpxqwKwbKEHenrtAS25grHeUTgQFoRT1a+0bhIQYYVauKkccudNTe0sR8frADR8dga5RIM2lYKO8qZLrWbbFAEb6oAbvHupjy9ocgTSDu3FH68BmwKtC3UAoVhMBWgOKzLSI6MV4BhYQh7s/x0c3DTtofa3gK53+Z5TUViztgEI9PUHOUXh5IF42D7UKtKR95myEpKIlwDEMsDzAGhCcEkrYMLKEpqfBNrFL88Cn98Gjlc04nJJKexEMBkY9QxY4RvAgE1IS9ICBrKInEdPkJd/FWGPOFVPC8ATkAfHipVuBYzyzKC58Vy1DGAtfqv5G+EbtsAzIBR3qx9j0D0glC1YISyYEomUxHhsfA5cq6mE66IwfOPghIyq56DjHORt9znbdkC4XQdo39shXj49qknjojPA1tpXSD54EF/MCob3irXIrKgCxxBLfJdzDNbjz0MJaG5ugseSMNDEE/jOLQCZVY2gw69BETegNzmkych8VGuQVQZKL8UY/zKKvMtaAMbs08J7hZjksRyq0HTMC1iDwqzzcJ3lCpqxBztjd8F39Vb2cyqGOK9GUfFNzC9l9yQ0gH46B8VIzzKR+joLzLkoOljZJ1KgGvRrkyb1vKu5em/kwMEzGGZhanRz8oOZC7frFdfQzm0/yPkIhs1ah8KCbCysYOGpXJxbWEFOFqOeQ7nQZK2Fxr1Dbi7Xd5S+39hIO7lxvSs0Hz5YeCsPtu4rIQu9ClpzB7SMrwtyMcIlBKWs+WJOYbrASxRo4GnIxvg3irbzQasQjUk0KNMeQ2NoGVdzElshioYt8akFCgpuYon7bJjO3Q5anAMbtxAU386FtxAuauZgHSgsi4O7HWamA2L6/rvZif4tIL0kmUp/yAw1BWeD9j7TpKyoUOcHwLG33I9+T4bN9KUoKsrHInYhnebUTGDNQy6BftwN/b4O3K5lKp6Emqmoi0FvzQNJTDKylMn7KwY7q8knhX3KlX2QsyOVC+kcsIddVlRcjEWcBJRYw5XPw2Z5GmjmZh449mpLSc4DRyv8kwABEROJJ5PSWDU8Wu4UXku+J0BreURGFICibqPTNha6msdlAD+fswttR3vXfmZmHc2zWSnOts70T1igtUSMPCL2o6Rs08HOxMImtuNg1zyuzHqath40dR1kDj71RgOm5XXpMSjWQm5gx5ZL4oz2fMufhv8BCHexJYbmbduNMzMZGEGDZ6SRg18BOfgU6A2ckqY06hfRS89gHGttqHHtfwD+Ae/jbifZo3kSAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 96, + "FontG": 220, + "FontB": 154, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 9, + "TCMS": null + }, + { + "DMTCBS": 23, + "DMTCBM": 304, + "TCMC": "全球主要湖泊", + "TCYS": { + "FontName": "宋体", + "FontSize": "24", + "FontColor": "-6632142", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAA2pJREFUSEvtlXtsS1EYwNt7b29729vW2o01xrqxRReMzmPGphTZFiKEsXgvhkWIzTOT0Y0qJvFoDbPJyES8ioQykw3xGHsZ/kEk3ixtxzDEVp/vzOYPJJfgD4mb/HLu+c75vt+999x7rggARH+Tv1qcXPh/geAT+G6C6MuhREIQqq3f3nTGk8BvYjT2wxCexL99YX4k0OG8IqVKXYvtAkTcVjBeJpNdYlm2DPumthgZW+Tnp7mF7S7ET1AgFosd2es2wVPPS+g3MLoJk0YiXf0DAu5dq7sDZVdqQKlU3cRYR8Tcf+CgphcNjZC+bCW+MqJsQUHHQF110WEXLMlc1XK05DJIJMxZTCzYlLcXcu27ffaC/b7sjQ5SbBvD0GcOuS7C8iyLL7/YCQpeWS4okLDsFk6uuI8FTqyw2pvX2IthdkbWpwLneVK0FLmwz3UNps9f5stxFEPm+rwWjJ3mlar7NE2vEBSQ25bzqrqeA0zPpTLObXdWgLPGDV1Cwxv14b0eB4X2eNLNENl44uYr2H7sOsjkCm/kIHO9VCavwlyjoIBhpUfSHafhwB2A6MSp78QUdYPj1ZW60IiG/Iom2H6xAbS6YC+v1lZRFF0XnTDl3cG7AKnW/YD9AkGBUqurSJxng9A+sZ6Fe3BBNTryNpWmbiuHqPhpr2LGp72emesij+sUr+lUs6CwGrobhzYkzLWClOPPCApEYnEGJpPbPdI7cc775LxbMHZ9OYxML/RhzEVkiZkHP41ZWwJkLHJ02gciQyqRZGGBSJTUIcT4xJCU85FiWE/UrM0+08pTwMgUXv2IeU1d4ma8ZRUdvGbLOYhK2eqjJFJvRLKtWRkU8YCsn6CA5tQX+q6ugtgdbtBPsDVj0nnkpMY47s1ghxdi7B5QG0Y0Yuw4GQseb22O3emGXktKgWKkx4UFCm2Z2jgBKJn6gT7jEnDhwx8xKt1t/fJqkAYannHBA+r1SyuBVmhrubBhD/WLr+K55mlrDis/JCjAq5qIbECmst1Mb/xX14N/thcUcRlkYcn6ZPGjLKC1eMDf4gY2zEy+9hTEhsT9jADntR5kn7ExPSe2SIa0FnciZBPUisR0CWvKBKb3JLLwucjXTfFXBETCIUlIKhLQbsaWbIhpyOS2OV+HBAV/+v8s+MP4XeG/L/gMPFgdov+th04AAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 154, + "FontG": 205, + "FontB": 50, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 24, + "DMTCBM": 401, + "TCMC": "北非大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 25, + "DMTCBM": 405, + "TCMC": "北美大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALCgAACwoBv0NmUwAAAe5JREFUSEtj/P//PwNNAcgCWmKaGg4OHVq6fuAswBHpYkBxfSDWAWJBdDW4QgJrEKFpZgby7URFRZusrKyWmJiYLODh4akAihkgqyPXAn5BQcHWKVOmPP/w4QPQDAh4+vTp/+rq6tvMzMxZQEtYQBaRYwEL0PDGEydO/AUZ+uTJk/+LFy9+tmrVqlefPn0CW7Ro0aIPTExMCeRaYNnf3/8MZNDy5ctf8/Pz1wENMgdiWwUFhemnTp36DpJLSko6AxSTI9UHgkADq96/f///2bNnf3l5eZuAhjAihTmPnp7e0r9///4/fvz4T6AvQkm1QF1XV3cGyIWbNm16A4pkLCkr8c6dO38+fvz4n4+Pr5RUCxRVVFQmgyw4cODAZ6DhvugWsLGxFT5//vwvEP/n5OTMJdUCTlZW1pSrV6/+/vXr139g8lwHtEAWyRK9hISEEyAHrFy58j1Q3IlUC0BmyYWGhoINAbryT1hY2D5hYeEGSUnJtry8vLM/fvz4D7Lc2Nh4NVAtLzkWgCzxqquruwtL/yBD//z5A+Z++/btf2xsLCgFmZGbTGEh4mRra7tx7ty5L4F54t+xY8f+9PX1PdbU1JwHVKAHU0SuD2D6eYEMSyCOBOIwIDYEYnbkiCfJAlyKyREfpvUBOUExfOMAABYOUrZ0nO0EAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 26, + "DMTCBM": 409, + "TCMC": "东欧大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 27, + "DMTCBM": 402, + "TCMC": "东中非大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 28, + "DMTCBM": 416, + "TCMC": "俄罗斯大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 29, + "DMTCBM": 417, + "TCMC": "蒙古大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 30, + "DMTCBM": 403, + "TCMC": "南非大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 31, + "DMTCBM": 406, + "TCMC": "南美大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 32, + "DMTCBM": 412, + "TCMC": "南亚大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 33, + "DMTCBM": 420, + "TCMC": "南洋大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 34, + "DMTCBM": 418, + "TCMC": "日本大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDQAACw0B7QfALAAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 35, + "DMTCBM": 404, + "TCMC": "西非大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 36, + "DMTCBM": 410, + "TCMC": "西欧大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 37, + "DMTCBM": 413, + "TCMC": "西亚大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 38, + "DMTCBM": 407, + "TCMC": "中美大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 39, + "DMTCBM": 414, + "TCMC": "中亚大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 40, + "DMTCBM": 408, + "TCMC": "北欧大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 41, + "DMTCBM": 415, + "TCMC": "朝鲜大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 42, + "DMTCBM": 419, + "TCMC": "大洋洲大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "24", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 3, + "TCMS": null + }, + { + "DMTCBS": 43, + "DMTCBM": 411, + "TCMC": "东南亚大城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-10185235", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEQAACxEBf2RfkQAAAfJJREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQN2IAYU1gdiHSAWRFeCK6EQYwEz0DA7UVHRJisrqyUmJiYLeHh4KoBiBsiWkGsBv6CgYOuUKVOef/jwAWgGBDx9+vR/dXX1bWZm5iygJSwgi8ixgAVoeOOJEyf+ggx98uTJ/8WLFz9btWrVq0+fPoEtWrRo0QcmJqYEci2w7O/vfwYyaPny5a/5+fnrgAaZA7GtgoLC9FOnTn0HySUlJZ0BismR6gNBoIFV79+////s2bO/vLy8TUBDGJHCnEdPT2/p379//x8/fvwn0BehpFqgrqurOwPkwk2bNr0BRTKWhJV4586dPx8/fvzPx8dXSqoFiioqKpNBFhw4cOAz0HBfdAvY2NgKnz9//heI/3NycuaSagEnKytrytWrV3//+vXrPzB5rgNaIItkiV5CQsIJkANWrlz5HijuRKoFILPkQkNDwYYAXfknLCxsn7CwcIOkpGRbXl7e2R8/fvwHWW5sbLwaqJaXHAtAlnjV1dXdhaV/kKF//vwBc799+/Y/NjYWlILMyE2msBBxsrW13Th37tyXwDzx79ixY3/6+voea2pqzgMq0IMpItcHMP28QIYlEEcCcRgQGwIxO3LEk2QBLsXkiBMsbskxFFnPqAUEQ4CgAkrjAADIxZdwC7T+MAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 100, + "FontG": 149, + "FontB": 237, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 44, + "DMTCBM": 801, + "TCMC": "台湾乡镇", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-256", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAR5JREFUSEvtVLsOAUEU3c9Q+gSlT1D6DKVSNBoNjUokmm00qm1UGgqJRKORiEojkWjW+81xLoONxK7s2GhMcjKTnZtz7j33zhoAjCARKLkk/hfwdMAzQHcAfitgPFeIxxzRVChxD9+v3ap0rUARRLi3SQKclsBhCGw7nD+jT8QkRkdAMr+Rn3ckHwG7LrCuA8uKiDSIqI5A6Uou6zgheQ/YNEheBeZFwM6IiCTwtgovi/o3a2xgPyB5C1hZJC8D0ywF0iIgEb4Fxk7fsa4BC5Pk+Sv5NwSsV98xKzzIlQC77r8CmaDuq++O7GVcEzoCMoUpwnL6rjIv8LupO6b3txTnYSgNVRhzT2o/NLfSP7377b/o0yx9N/kvIA4E3uQLeqhjOIY7sicAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 0, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 9, + "TCMS": null + }, + { + "DMTCBS": 45, + "DMTCBM": 621, + "TCMC": "台湾小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 46, + "DMTCBM": 601, + "TCMC": "北非小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDwAACw8BkvkDpQAAANtJREFUSEvtlTEKwkAQRbVIa5U2lZJLWGor2Npa2lp5Cltv4RFytPW/RSQEMwuBLwRceBCYP/kzs8nuMqW0sC4MnFhfnqfTr743qkrPtWhEG0AcHfq8htP4ZrCSbiO2Yi8OAcTRoSevaEAliHfiJC7iGkAcHXryqlIHtEtFJN3EXTwCiKNDT15dMmCmtE1lJD9FF0AcHXrympIBG8rMGQuVd0oYXW9jdOjJaycZrI/nNATXv8FnD+Y/orHPaMom2/8D+59sP4s01nwq2k5TDFie+8Bxdf72ypxlBy+3xfhTlnhKyQAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 47, + "DMTCBM": 602, + "TCMC": "东中非小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 48, + "DMTCBM": 603, + "TCMC": "南非小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 49, + "DMTCBM": 604, + "TCMC": "西非小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 50, + "DMTCBM": 605, + "TCMC": "北美小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 51, + "DMTCBM": 606, + "TCMC": "南美小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDgAACw4BQL7hQQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 52, + "DMTCBM": 607, + "TCMC": "中美小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 53, + "DMTCBM": 608, + "TCMC": "北欧小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 54, + "DMTCBM": 609, + "TCMC": "东欧小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDgAACw4BQL7hQQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 55, + "DMTCBM": 610, + "TCMC": "西欧小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 56, + "DMTCBM": 611, + "TCMC": "东南亚小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 57, + "DMTCBM": 612, + "TCMC": "南亚小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 58, + "DMTCBM": 613, + "TCMC": "西亚小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDgAACw4BQL7hQQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 59, + "DMTCBM": 614, + "TCMC": "中亚小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 60, + "DMTCBM": 615, + "TCMC": "朝鲜小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 61, + "DMTCBM": 616, + "TCMC": "俄罗斯小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 62, + "DMTCBM": 617, + "TCMC": "蒙古小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDgAACw4BQL7hQQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 63, + "DMTCBM": 618, + "TCMC": "日本小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 64, + "DMTCBM": 619, + "TCMC": "大洋洲小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 5, + "TCMS": null + }, + { + "DMTCBS": 65, + "DMTCBM": 620, + "TCMC": "南洋小城市", + "TCYS": { + "FontName": "黑体", + "FontSize": "23", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDgAACw4BQL7hQQAAANlJREFUSEvtlTEKg0AQRbexTWVrleAlLJNWSJs2pW2qnMLWW3gEj7b+J5IQwVkQRhCy8FCcP/7ZWd0NMcbgievLKXxfg/AdmW5zUYjSgDg69NNYtvvnwaw56XoRlbiJ2oA4OvTkJQ2oBPFVPEQjXgbE0aEnL0vNgOlSEUlv0YrOgDg69OTlKQN6yrSpjOReDAbE0aEnr0gZsKD0nLZQ+aCE1TEbo0NPXrnJ4Hx/xiW4/g0+a3D8Fq19RlsW2f0/cP+T3fcitXXaFd12UwwYPueBx9m875F5yBmMaos9HFbH2wIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 18500, + "DMTCBM": 1501, + "TCMC": "中国机场", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAkZJREFUSEvdlV1IU2EYx8/HzjzOo3NNAmviMaRQow0HuSyKMm8ivIhEim76QEHNs9bHMmqD0IVNCeIUNmYMWjeREYIZlkGxmy66sQuji6QLEYwsZRCF7d/zghe1zGad3XjgzznveZ7z/73nfd4PDgCXTWXVnHV8FQK45a9yCleTpD+lpdfztyFaxt9BsQjP80N035UNQKvPdwbDw48hiuIDApiWgvzPH/hv9scwNZ2ELMtjZC4bDTgbuhrBq/EPyMmRR7MB0DqD/XiSmIEkSSNG16CCDAfPBeO4P/oJFovyltoNJCEdtNIa2MjAa7M73h3ToogNfUV8BAhee4mKLXVJikVJVT9DMgXw9FG9IIhjnj2tCOjT0AeB8B2gJwZcvwf0xYHGE7dRaC+dpNzTpDUMlAmggOZ6V7Fa+7npZAIXI8CFW4C3N4X20Dy08De0X0nCfwMIDABtoVm4dmiQzHkJ8t+ZCcCpFG54f+QScLQL2N/yGu76HtjXuT9W7+1bOOibhbWocm6ju3mh7vAjHOr8gpZeYOu+KO1sHD39ujsvtZI3y0rJ5KZt3bAV185wvMhmTDPpfHlNd2r38TkyEp9Su5E0kFugvlFdbd9VZwcDUJf+DlAo8RTJT3KRzCQLSXe4dTibkhCl/InFGBv29YuwACt4JoD0mcfaYUX1pkobgLIDwFrPcwjmonF6X5Ke/G8AXniY73oGpeoucssuw+qZgMm6PUXmNUYB/JzJznqskzSOl19wQh6rg7pigNHn8yo8Mo0eoh/dAoB+TUj1kQAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 18501, + "DMTCBM": 1502, + "TCMC": "中国水库", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAA2pJREFUSEvtlXtsS1EYwNt7b29729vW2o01xrqxRReMzmPGphTZFiKEsXgvhkWIzTOT0Y0qJvFoDbPJyES8ioQykw3xGHsZ/kEk3ixtxzDEVp/vzOYPJJfgD4mb/HLu+c75vt+999x7rggARH+Tv1qcXPh/geAT+G6C6MuhREIQqq3f3nTGk8BvYjT2wxCexL99YX4k0OG8IqVKXYvtAkTcVjBeJpNdYlm2DPumthgZW+Tnp7mF7S7ET1AgFosd2es2wVPPS+g3MLoJk0YiXf0DAu5dq7sDZVdqQKlU3cRYR8Tcf+CgphcNjZC+bCW+MqJsQUHHQF110WEXLMlc1XK05DJIJMxZTCzYlLcXcu27ffaC/b7sjQ5SbBvD0GcOuS7C8iyLL7/YCQpeWS4okLDsFk6uuI8FTqyw2pvX2IthdkbWpwLneVK0FLmwz3UNps9f5stxFEPm+rwWjJ3mlar7NE2vEBSQ25bzqrqeA0zPpTLObXdWgLPGDV1Cwxv14b0eB4X2eNLNENl44uYr2H7sOsjkCm/kIHO9VCavwlyjoIBhpUfSHafhwB2A6MSp78QUdYPj1ZW60IiG/Iom2H6xAbS6YC+v1lZRFF0XnTDl3cG7AKnW/YD9AkGBUqurSJxng9A+sZ6Fe3BBNTryNpWmbiuHqPhpr2LGp72emesij+sUr+lUs6CwGrobhzYkzLWClOPPCApEYnEGJpPbPdI7cc775LxbMHZ9OYxML/RhzEVkiZkHP41ZWwJkLHJ02gciQyqRZGGBSJTUIcT4xJCU85FiWE/UrM0+08pTwMgUXv2IeU1d4ma8ZRUdvGbLOYhK2eqjJFJvRLKtWRkU8YCsn6CA5tQX+q6ugtgdbtBPsDVj0nnkpMY47s1ghxdi7B5QG0Y0Yuw4GQseb22O3emGXktKgWKkx4UFCm2Z2jgBKJn6gT7jEnDhwx8xKt1t/fJqkAYannHBA+r1SyuBVmhrubBhD/WLr+K55mlrDis/JCjAq5qIbECmst1Mb/xX14N/thcUcRlkYcn6ZPGjLKC1eMDf4gY2zEy+9hTEhsT9jADntR5kn7ExPSe2SIa0FnciZBPUisR0CWvKBKb3JLLwucjXTfFXBETCIUlIKhLQbsaWbIhpyOS2OV+HBAV/+v8s+MP4XeG/L/gMPFgdov+th04AAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 11, + "TCMS": null + }, + { + "DMTCBS": 18502, + "DMTCBM": 1503, + "TCMC": "中国码头渡口", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAn1JREFUSEtj+P//PwMtMU0NBzl8mFrAgBvIA6WcgVgJlxL0+MQaRDg02wsICFwKCAj4Jy4udgOoxh+bOnItEOTi4jq6a+/+/0+ev/x//PTZ/6KiYteBFiigW0KuBcZ29g4fL9+8/Z+dg/PrsTPn/4dHRn0HGu5ILQvE+QUEz649cPb/qn1n/m87df2/jJzCXaDhytSyAGROoIGl3ccrv///d/IL/QXkp1MaB1xAA/SAmAdqkJKClsHDjY///9ezcf0IFDOGinMDaX0gBtEYiQZnKmJkZGoXk1f7yszCOh+qWVFG0/DRzFv//2tau3+GWsDOxMw8C6juGyMTcxcpFghzCYpeKtv/7r9DdhswvzMsBWJbCXXDew0X/v9XtnB/B+R7A/Ec29SG/+WHPv3nFZO+BuSLE5uK9EW1zF+lH/v/P+f8//+mWb0gS5YIqxhcSwOKSZu6PQXyVxultP3POff/f8bJ//8lDR0+AMXMibXAR9op5nfA4f//A/b//6+d0AyyYB6fksE1vz3//4sagS1YqhlVDZYPPPr/v5xn6j+gWDCxFqgzc/IcF7YI/GO+6e9/6ehWkOblXIoGtyw2///Pr+/6AshfJRla88diy///IjZhf1i4+E4BxbSJtQAUX4JAPFk4su2/2s7//wWje35zGnr/UFrx/z+PbewvgZDm32o7gIbH94N8NxOIhUiJZGgKZJBkYGTawRXW+V8YaLDgcgQWXvn/P3fUhP8MTMx7gYplYRpI8QHCEgaGiYxSWq9Zgtr/s2Rv+M8S0vmfUVr3LVDBVCCWgSkkxwcwvYxAhgkQlwNxDxBXgFIMEIPEUQBRPqBmHT1Mq0xqBhEAoQjGQNSDZJ4AAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 18503, + "DMTCBM": 1504, + "TCMC": "中国火车站", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAA5FJREFUSEvdlXtMk1cYxvu1th/Y0gsFxHYm1jJhirQIFbkoAlXCJmZsEpWkGECpigHkMolidBGNIIJuwQQSNWabyyTbvPyxhNEpaFRQiiDLjNEZnGOgC4vR9QK0j++HGm8xfib6jyd5cs57zvOe3/edc3KOAIDgXeqdTs59+HsIEDxffChcSNonkYg7goICO1UqVadQKGynvs2kqBf8L63Iyx1PMzTU/C4ycra7sekArt/ox/0HLgz/dx9d9h5srNiEgMDAIfKsJ7FP0l48MK8CcJOfLC3bjJFR4Gb/EGpq943k5OY71xYUOr//4ZjH6fbixs1BxMUnesi7gzSBg/ABcMtypKBwE5weYGd1g4dl2S6GYewKpXpYJpP/TeO/6kNC/zp1pge3/nEgPCLaRX1ZfAFp08MMzqv9wI7dh7yUdFWuUPclmTNcVdWHsaG8BtNCwgdpHy6pA4LvtncO4Nvms3QeBedJaj5/8IW1qAa2jjH4q4OHdPpZd1vOu9D8y20Yo5ORvXoruq4D22uPc5P+mf7ZGteF34HZphQnxWY+gLrK6hbsaujiJuhOz9zgqKg65g03JN4JCTXdCZ0ZOzgvJevenqbLkPn5X5mk0d/6uQ3ItGzl/Dl8AHsLt9hQ/GU7l9CZvLjUHW+2/k/tJtJe0m7aj7bc4qOQK4PtCpWmt6EZSF9exflX8QHUW4pbkVM2vq4XY5KLHNklbQifYxkzxq0eNczNHY1JKfOs2dIHn4kqu59S27utEUhasp3z5/ECpOe14lPrI8AMk9VR1gCUfAUU1ZHqgfL9QE7lIMQSmV0q1/au2wWYFr4BYN6yVizIGgdcCokqcqTm9SHZcg6ZFUBGiQsJnx9H6qprELPKbl+ZtnfpRmBmwhsADJ/YELlkHNCh+Sj/gc5UgynGSm9KARBn+RdKbZon4uNWiMR+dlb6Qc8CKzA1mj/ga13Sb9Cbz3GAnxiB4PTUhB9hzAYiVgCGLBLVyilLR2i8TiLV9XH9wbPGAfl89qCQVcW4WVWsmxIaGbH6bMAcG+S69V6ZZhmkkzOgNn4Dvw+rxriTxYh8uydOWuwRy8KGKV7EByAnYzwplnTQV18PH+06j0gx3yuN+gOsrhaMkL0nM7RApEgcJU/pY28M1RI+AO5KeVyYckYyuYeCE4xv2DVR0MoBoXLRAMVHGJHcxkzwv0ht8zMJr7/s3vb7/B4+mW97iR4CMiI8xrMbZksAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 18504, + "DMTCBM": 1505, + "TCMC": "中国汽车站", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAvlJREFUSEvdlWlIVFEUx9+M4xYuE+S4tJC4k5KNW0oakUs5LtWMS5FLlIrKuKSOTWpmmriUomYUGaWoOSQSTo5h+SlLWtzwg4aEQdgXCSrBxmXev3sNQVNqBP3Sgx+c88655//Oee/dywBgtpItLU4f/D8UYNZeuw0MDFR8Pv8NCXmuE19168/3uWZE6xQQSyJOq6uq68lAmZLNFgh0dHKZKi6tQa78GusfEKomApl/E9loB9KUtAIkpMgX3Dx8Z2vvtNMu7m2GgA0pUkS4SxjLLbiNhubXMDIyniZ+C+EGoXoFNcSuJLhq0wGfy9VRxieXo6T6BfKuP2HrHgzi0dMvkJd0aIoqu3GlTEnoxNUKFQrLu1Bc1YOo2HzaXaU2AiIv34h5ZT/Q+kyDxs45NKs0BBZNyjniz0PxnMXjXnYp1qJagOotIC/togK12ghIjoblsIV1kzAxNf/IcDhDknN1bG75CHT1DCe4OrqjcWltkJUN04KTLu7hM/e7gMQcJfVrtBE45RMo01yQv6MLqgixAeJKJOYNUv8mQRoe9xAJl99TX7HX4cin8hYgOnUDAgcO52iiMobB09s2wXC4Q34nbrFR6UsCI4RXAdHNiEwboP74HvvAb9n1gCh+AwJ2bimamCJAkj2DkxnTiJSpESH7CVHSBwQnjUOc9Z34amKPIUz6GTTXL6JT6xGJrYUyjWtQKxx8itmQLOB4BhB8EQjJ/g21l30RidMcYaj2HUgsnKSsc9goHI/14VAy4OivxA5ryaLA9uyiwC5m0dwubsk2s4letHLOZN3P/ICtXxvtgAxr9fmy3l5kz9U1GbDYX4Fd3goI9hVr9Iwd1ALXBlh6drDm7m2sQNgIC4921vKgkt1ufwlcnvEUoZ8ISLQRoDsB/ZPTCfmEVI6OYZ/A+yV2Bs2C71SxoG8q/Grm1Qsr/2kYCoLp/nSewKMLtRWguSuvAIajo2C4+j0Mw6GfrohhuE0Mh9dN7CyC7nLyPwU2+3z+D4/MzR7RL9t/FZQ5Ql0cAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 18505, + "DMTCBM": 1506, + "TCMC": "中国高等院校", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAA6tJREFUSEvdlX9M1GUcx+/4IZRxFqUI9gcCSmAWMKIGmpoYTEaS0EH8EMTM8UNEyAEXZYgcgiQXx2no1zwGeEOKGnAXXCQE52BIEAho6xirIaW1a7Tpav3x6ntrboV/HDX9x2d7nr8+n+f17PP5vN+PBJDcz31fL7c+/AEESO5eMvuly+Qu3k+rV4W/ZnhyW7xBtjZAbe/ymFwMlS0MX9jPu0q0IMFrqedTwproZMuWzCJiiquIK1XzUm4pfvJ9Fpe1zwpivNc/cxYNkDo4hnmERZqjiypRCM3UtHXTYxqiv7sPw9Q0lZ+bSKjS4hmZaJYucQ67A1kUQGrvuNp9w/bpZOVJ1K1dfNQ9QOvkDINVNYz7bmA0PZdrPSb042aytR14RiVPSx2WrLZCFgGQypb5Bgpb85UcaWqjtusSp3qGabx2nf6Saoac3Rh6fR/jxq9ouzpLTfdlosvP4ro+VJBIpTKbACdXN7nPjrT5+AqBogvdvKcf4LDxG9q//ZGCPUlkR0cwPP8HlcPfU9ZzhbKur0mra8Uvcf+803IPuU3AiqBNtUFvFCBXN5PZ0kdWxwgNYz9QcbiQSy1ldNblUJyXw/nJGxwwTpDTfplkoZ3nskpwCwmvtQnweSXNEHqgjCRBT5Z+lMaJ61QdUXCxSQm/j8FvX/Dp0Z0cLTjI+akbZHeOk6LtJCzvGD4x6QabgDUxewwb36pkV+NFTk3cRKUspa2uGG5PMlifj0YRy59TGnSKcFTlSjTjP5FcbxQB5Xjv2G0bsPL5bbWhB5Wk63qpnrJQU3ea/vaT8HMPmvQAAt2l/DpYTt/pVD6oO0PlyBxJZ/WEZBTjFrzZdomcl6+SP5OaP5+iNaK8YkHV0ESbtoDbM41o0tYT5CFh7ss8PiuP4ES9jmLTNLEqHX5xe+etA2KzRBKJVLYicKMQ9b6OQtMMLb0mFDkpHHs3g9xdO0l8NYqygjSKMuLQGXvJ+NjE5sITPO4fLKp6EWNqFYudKBr/hKzphHNGKgZnaPjuFxrMFi7M3qJ17hbnrt7kzNgsb7cPEFn6IV4R8aLQHBcrtL9F7+jyaJh/QqZ5e3Uzqbo+sjtGyRUnJkc/wt7mPmI1n7CpSIV3ZLzZ4eFH/ptV3PEVO6eHvMTGCQG7D1lePHSc8HfUbFVUE7q/hHWi2T2xLkSwc3T6f2ZnhYj+Ih52Mmvj3V94We0b+6bBOsZuwVvUzq4r5VZrsLN3+JcB22zyvf6fH8Av816X6C/J65i0KXDDtAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18506, + "DMTCBM": 1507, + "TCMC": "中国村庄", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAX1JREFUSEvtlc8rg3Ecx5+/wMFBDg47OMhBUkIODg5IioMkBwdpa5Gl0VpMLbGt1UY0htZkSX48hUIJSXZ03NFx/8Ke74/n7fupLSeb+rak9tS7z1PPp8/r+/l+39/PYwAwqqmqFqeF1wAVd6Bigq4B/hZgfD+N6jWs9FJUQkVH6XO5Lst2UCzQrmK28HoO6z4JdhkCO15W/jNySoOUowOglWcLbyashyMwMwqW8YMnXeDxCYI8K3XrABKF9xtYj2lY13Gw0wD44Rz49hREaAhytYsgWR1AznrKwLrdATsLgqc84LvTEJERiLVeyKVWAqj6P4+bSmeQt+72wC42wNJe8MQMRHQMItgH6WuDPd+kDTDZVQTsxAe+74SIjUOs90P6OyAXHLBn6wjwqdMBOeiDH7jBtyYhNgcgVzohF5thO+upONnVpQMgF/qUTBEehgj0QHpbYLsbqHhMKaVr09JdGqWtoAMtKq+iR/ui6c6h2v/gV5P4V0k6Z/H/AV+ZsD3dUnkRrAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 11, + "TCMS": null + }, + { + "DMTCBS": 18507, + "DMTCBM": 1508, + "TCMC": "中国政府单位", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAZRJREFUSEvtlLtKQ0EQhn8RDzZaeIUUAZ/CTrCKQsBLoU+hhWCRyoCilTe0UFFbL4WQCMbOwksjoqJi7RuIIiqBHL8xGziCEk4OwSaBj2H2zM4/O5ld+b6valLV5FZ4TaBsB8oGRB2AXwX08+fVSZ2tUqpdmjFrPiFeMOyvQsoJeH1Sdk3KX0mFJ2bCrPm2HhSpRMAblg5fSboHs9AF0863dfteEgkrEOuXMu8k2YdnOAKS+QfOt/U34CQZa1VYgcSC9DLFvnk4hyEnMOj8RayxQhz5O0IJJKTjBzb3QLNL3IKdBLNWcBP0wmNxLRVKICmdXLNxAy6AcfHHrQswBo1wButgcW1SOpSAneCyePzvpBOuaktu1afcun23uNAnIElimd7uugq7XeKYsxTg38EOWFzo/4ANMZuOTxKkoR62XNWrzp/DfkClU2ST540y57ckWXICXDB/0/n32JEI96D0CniMZ5bq8/S6cFPseWEbn0GIfJNLIvEGKUnfcwPSqVnz+Riv+C2K+oIG9//Pc107QbADX9JkbcqW0QZKAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 18508, + "DMTCBM": 1509, + "TCMC": "中国服务区", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAApFJREFUSEvdlV9IU1Ecx7elbXNFstFkoauNMR/CkaN2p868OnWaqeiWRokPE/sjk3yJBu2hXpN60Vkv9TAoKCR8kZ7yUYgKoV5MYWEg6sJ0GdfK2q/viTtYK+rA8sXBh7vzO+d8P/ecw9kURKTYTrY1nL34DhQofv240OwBp0FJVt8fm9nn+dsWZcwyGgyG15FIhHp7e7GZipv/U7APYXcqK4XNaHSEwuErlJ+/+w1q9f+S8KxAh5Drfv9JikZvUDz+ghYXZ2l6epL0+sIZ9BX9TcIjqHI6D6/093dv2WzmNaI45iyABLW2ej8j/HiuAm9jo/tDU5N73Ww2vSN6hvDn4BX5/XWbCK/NEBzE9yAIAQOr86ygzus98r6mxvElEPB8InqKOU/AFHV2VknIEGXBUZ1O8zIc7iZBsKfSYh5BrcdTuhKLnafl5VGMfwBi4BEEx5igkgny8lQPp6bCqI+T3W6aQ+kQ7wpEl8u8THQbk0fALZkoBI4NhJwAXVqtemFi4hyJov0r2vfAXm6BIByAIIJgxlWZa9TRUZpAyGRfn+Pb2JgPh25NDQ+L34PBMkmpVN5Hn55ni0RBMEJwEWMZF2RC5POVrFdUFG0QXUJtCITk5xAFAhZ2GVs4BQYIujGW0SVzhhoaij7W1zPBWbmW7u+hgQEbE5ziErjdhRA0Y2xTBi3U3m5M6HS75peWRNTT/c20ulpHxcWaOARWHoHX5dqzJkkVJEnuDKqorU2fRMhoMGjcIqqmZFKgVKqaBgdN7O0v8x6yRaNRPbZa1fNgNoM5rVY1jpBScNfpLEhYLOq35eUF7OBj7IB5BWycCThAWQasnf4d2i9fLEF+/rzFXILsPcy1vQP/MnPdkuz5PwADnxwo8w02AAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18509, + "DMTCBM": 1510, + "TCMC": "中国动物园/植物园", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAshJREFUSEvdlV1Ik1EYx7e5mTkZ4nI4Y00IJmyi0tbGRtQ2P+YyZmE0p0tmTl3JnE4nTkUNlakVZKBdRLELKe0i7SboA7pIiSiliyQpFaEQQjAozEj03/OKgWTRmHbjeflxznnec57/Oc953vewALD+J//VObPwXSjA+nPRkbmNyCU4fxmzbv79PLcats6WCZOE74uvFyPpcNJneq3fNGQvtY8S8b9s4QjoFWbFcnAtCEOVgU6N5dhwFkl1T+z+2G9Ue7YjoCAnH133XRDLxV/IUTbBrLxDfVa9Wj5cDl4Ub2IjfGGFKFtlV630ox+2mzbEy+KnyNmwPFe+HFgMoJcez6gHUo2UEa8INUSHaHAt4SOupZ1J+x5YCsA96kbBrQJoK7RonG1E+2I7XI9daJ5rRn5/PhO+oVAElDGimGmD34Cs9ixktGTAOmBda5pvQuFQIUydJngnvfB/8MM37YPSoYTipALcKO5zEjgSikCrsdUIx0MHqiarUDdXh+p31ah8XQnPlAfeGS/cb9yoma6BqdsEkVy0wOawB8n5gVDTtDuzJxO6eh3sT+xwvnSi9EUpysbLUDZBUO185UTJWAkEEsH8RtoyGbVeQtnBJa1fC7VPDesjK4qeFcH21Ia8oTxY7lhgGbTAPmaHxqdhYt676ZsIWeBUpCByRlWvgilogvm2GdqLWibG4xF7Ih7w+LzZnIEcSE3SH+TRHI4AM6dL1aKCvEKOlAsp0HSurzZI8Nls9oj+hh6SbMn2BFIbUiFzylb4Ev6S8a4RgoOCTySg43A597R9WiRmJjICx8PdwWVFgwLJlckr5OBtekc602Z20cXmskfUfWokZCSsUv9EuAJOoUaIOGUcI3BVIBd8FR0TMQK1LDbritgsRrQkeoH66eEKCGhiDXGeEBHniHpiH8Hkextxmtjy6/5nmu70/bwLr8ydDtFP/1C7hBt9TOMAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 18510, + "DMTCBM": 1511, + "TCMC": "中国职业学校", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAwhJREFUSEvdlVtIVFEUhvfY4HXInGQsHBsfYnBMAh9KxVHHvE2U+qIGjpqOUl7KS2EQRjdRw9LIl+ipTF9MUyEw0byPaZNKRkSORBFajhqEopBd/tYeScIRPIa+eGBxzsPa+1v/v9behwFgWxlbujkvfBsC2NrPLrlc/iEsLAxOTk6QSqWknWnXSl3dTyuL1lgUm5WTQ+uApblF3K+uQYpej5zcXA5JW53/P4CSroe1uKwPRFuVN0yd3fhleovbudkckPkXIJFImEKhsC7YimgtwYe8QIGfBBXndqOcvpttGc767Ifc0/MnpUfxJRzg4eGxYUDiSbKjracXbnIFPJTeqJUw1OxxgC4kECd0OqjVaq4kkXqzYUBicmoaYJ7GQF4e2gwGKFUqHA4KRqj2KI7FxiIuIQGpaWnQaEIhFouraBAEK0gsLivD75lZ1NnboEPE0H8qA8PvxhCs0YBPU3RMDOLi46FLSoJen4709AzIZLK7Qpqc8qipCT/MZtTT5qMuDC8oehwZGlXemPgyhQitFlEUx6OjkUkT1jswYJkyL5WqdV0A2fDq86ARTx1FGJTZo443laKFAB3kf4P3MuRScTEML4eA+XkY80/jgtyZ9+LaugBKirwnZhhzYpi9c8NS2dyUGdUHfdG9i+HZToYHdjZY6uuEKT8dnREBwMICysMDOeCQEIBfEVVvomqnbxVjYWgQJo0vGo5EoMuZoV1qgyf2DJOFy4dvdqAPk9/mcDPCMk3+QgD+ZxwYxjmgsgTfR4eRrPZDY3jUCqDVjmHp9Qjem2cw1d6CN5WlKHS1FQwIKCDAJ7LCXHQeiyNGjJGC+n8UdJCCReNzfKwoRaOrGLWUr6XDRwpUQhS4yaipSdSH5sggiw0wT6ApJBQG3gOyqJOsGqUe9VMRJfT22sG+0ubJ/EQLATCFyHJfuPCp2OvuPq6jwxQv34eLtNljqQhDFP00ugfEIl71VYrlFUIBnivpjCmVSpaVnc3XBlDwK/qKA2PD9L5ufW0JULDZ/+dt+MvcbIv+AAdnPYlW2qJ5AAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18511, + "DMTCBM": 1512, + "TCMC": "中国科研/设计/研究所", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAixJREFUSEtj+P//PwMtMU0NBzl81AKCIYChwJ3LiQEN/wfyQRhdHIOPLbFgtSC/+yVDftcrkAH/gTQYg9jZ7c8YGhoa5JIbHjMk1D6gwAKo4TkdL/5ntDz7n9r05H9S/SOYT/6Hld1mCCq5Sb4FINemND7+n1D/8H9M9f3/EeV3/oeU3vrvX3Tjv1fuVbhF6MFGbBD9j6q8+z+s4s7/wKKb/30Lrv33yLny3znj4n/blAv/LePP/DeJOfVfP/IEhkVEWwCN1P8OaRf+2ySf/W8Wd/q/YfTJ/7qRx/+rBx3+r+x/8L+7oMv/G8++/r/+9DM8ERBtwdUnX/5fevQJ7kK1wEP/Ff0O/Jf12fdfwn33fwNJw/+XgfKXH30E05cevAerJdqCCw8+/EfGHgJu/4Ucd/znd9j234Pf5f+ZO2/guK2r///WA6dJs+Dkzdf/j1x+8n/zgfP/T9x8BcYgF3oKuv4/cu3Z/0kzF/6fMH0emJ2TnfM/MyOTNAv2X3ryf86yjWCNB4DsA0DLQPTus7f/7zl//39mesb/rIwsIPvB/9buif/rGttIs2DbqTv/l2w++L+8qu7/9tN3//fPXATGW0/c+L/15G2goZP/N7b3gtmuIs4kRzI4B7sAg2P90ev/1x+5/r99wkwwXr7r9P+NQDEPYAqCpTRYxILyBLGRzGCVNwusGGSIG5/L/+6pC8AYZii2FEOSBeQWeET5gNrVJ8HynFILRy0gGAIAt9Pr3yU/ohQAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18512, + "DMTCBM": 1513, + "TCMC": "中国物流公司", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAjNJREFUSEvtlF9IU2EYh4+mKwgqiFC7kYqyTLclyWrLDEVC2tQl2h+tC29yeZFMWlaLGMQKydKpS7Qis+WFkIaEoBEWgoZlTDP744VExUlqXlSiWT19o7sSd4Z4Ex544OOcH+/zvd95+SRAmk/mtbh/4wuCgCcQMDDXAfhHIEmSSmAU2AUnFXJG5HIFi/7e0EyCtZIU8sRiKeS25ya1V9yz4mlsoPSEDZVKNSIE0UoESfFxm96XOc/S/bBD5P3Pd8HUDIC3v5eLFxwYtid+FQKDEsEuvW6L/HN8EOfpIm64nTDxCnyD8Mn7h88DMPmaVk81p4oLmPYNkJWRplyg026Q+dAOYx3UnjuCy1HIj3f3wM/bNpDbabhkpaz0ENP+d74HmFKD6EAXHy0zVAkvqmC0jqP7d2ArSGPCe5lfw1WcL87kQHoCky9rYLga3rgxJW8OooPYSJmeY/CshLbyLDorzfRdzeF43lZs+Yl0VmTwuD4XjyMd+q3w1IrJsCYIQcwKma4shq6lUlMUB/cz4VE2z+uS6XOJ/yjWdJm5btXQXbETerIx6SKUC/QxS+UvTWrKD69m/FY8tGihWQOtCXBX4F/f0TLVrBWZKHyNaszblisWpOjXq8aaLMsYca0UBaNEwYiZaYnkY/0q/Nk92sXfxJgmKRnTWFWY1JuyMRS7MZyS3WGzYjeGYdKEsiRcGhUCtRJBiAiuE+wV5AsOBiBPfN8n0Ci6KuZ6uQXsYEHw/x3Rb0cz+33ChmVFAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18513, + "DMTCBM": 1514, + "TCMC": "中国住宅小区", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAR5JREFUSEvtVLsOAUEU3c9Q+gSlT1D6DKVSNBoNjUokmm00qm1UGgqJRKORiEojkWjW+81xLoONxK7s2GhMcjKTnZtz7j33zhoAjCARKLkk/hfwdMAzQHcAfitgPFeIxxzRVChxD9+v3ap0rUARRLi3SQKclsBhCGw7nD+jT8QkRkdAMr+Rn3ckHwG7LrCuA8uKiDSIqI5A6Uou6zgheQ/YNEheBeZFwM6IiCTwtgovi/o3a2xgPyB5C1hZJC8D0ywF0iIgEb4Fxk7fsa4BC5Pk+Sv5NwSsV98xKzzIlQC77r8CmaDuq++O7GVcEzoCMoUpwnL6rjIv8LupO6b3txTnYSgNVRhzT2o/NLfSP7377b/o0yx9N/kvIA4E3uQLeqhjOIY7sicAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18514, + "DMTCBM": 1515, + "TCMC": "中国商务大厦", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAP9JREFUSEvtlEEKgzAQRT1Ub1G67NW6DrlFIKfQTcArxHVwNZ2viU2pyVisi4JCEDTMy5//Mw0RNUeuQ4vj4CdA7EBtw4N7WHrwTyxe82AqfrndV1ekboKUTjEVTs8YArm+J2MtKaXzf6IKEXDlHQDgbQHQ6rcAqPh/BWEcqWcP0CKtD/AgLB4YBrx5kHJQTJRoMiqEwApcTFEE5BGuxVYEID0A4G2s4RS9WuS9X+5JhHzUEwGzgsAeuAmQPABwYEDbddXYioBZQbwH5t1kALq9gKTAOUfWcIviTQbYDwxodyjQStHagsH592ysbPagNkm/mrDisNo6lkv7ToDYgSfbf9t3dXK7/gAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18515, + "DMTCBM": 1516, + "TCMC": "中国饭店/酒店", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAhlJREFUSEvdlTFIG1Ecxq82S7nAkUZQ9DLYDhIC4qByMdjEGCjSxCh3OlUKGbpWXHTtUiROupQWYhaXDAUXwUWyCsVKaKzgFJwUnNQIovj3+9RBc9G7Ki4++JF3///3ve/eyyNRRER5Sp50cb74MwxQ7h/taJM7R+33aTuiO5wvUDc1TVsnnAPWbOMhAQGsMpdIxKtbW/+EcM4aYO/W+N+AEa9XXZ+d/Srn5wfwXg3OWWMPq4/cTHAboMM0H4+Hq6XSCjxHYFdyuewlnLPGHjXUAnrsR25LVJSkqr76nc1+wZuW0N6RSmVFxsben8K/QDhnjT1qqKUHvaTjDnS9sbyx8R26NVCUfH5Kmpt92zBngOeaDGvsUUMtPfQ6BkSjwYrIMnS/ZHo6fYYFF0GwzoVhbZEaaum58t7+6bGdma77/i4tfYbup6RSIZ5vpN51vK5FhoZCVZEfUihkJBDwOe+ARzE4+OZYZEYsK3iM59g9AbHR0SC038QwWg6h++i4A76xaTJgUvDpuAPLeosdTMjAQOsBvJ1uAmKmqSPgk6TTOgMKIAfyNbBWGB7WETCOgCYG9LgMaEJAUsrliKyudkmx2F0X9jY3I1jzAwJeuw6IW5YfN+MdjCTqADV9CNBOsAPDzQ7a/X7Pn95e775hqHtOhMPqHrWa9nINAW1uAhog7AAJ0O8SakO8bY4BtYLHPj/Dv8zHHkmt/wJuIwfRtm6tuQAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18516, + "DMTCBM": 1517, + "TCMC": "中国影剧院", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAyxJREFUSEvdlXtIU3EUx7frI2taOXy1BmsjQjJnTZSm+ADLksjyMdqm84GENkVwf8x0RQOfKDpfOHzRAytStlyBORnKsDIlMnURkYhJBRpISAvN7Z7OpYxRf7hB/uOFD/fc+zvnfO+55/zupQEAbTvZ1uTUg+9AAZpzhzu6HUOiEbZjyN/9/OcVOTj7oh2DxCL+DvcPoF0fHBz8Nioq6qO3t/dTvM5ACMrHWYEkBoPxXCq99E0kSrUymb4vMTYdYdDp9PsaTR3odP0wMKCH2dkpiIuL/Y5rUmcFBFwuZ9FiGYO6uiowGh/C+LgJBAL+Z0ygFokuWAcH+6GgIJtUKotIiSSdNJsfg58f8wWu79+yAoIg2pqarkNt7VW7UpkHKtUVUiZLIY3GWzhzNEtr642N3Nw0u17fDsPDt6GoSEbqdFqIj4/8iusnthRgMHY/GRlph8LCdJvJ1A5DQ82QmXmONBgawNPT40NlZcF6a2sZqNX5pF6vIUtKJPaeHhWEhR1ZQAHOlgLodFOnU0FubpK9paWA7OlRkGq1hOzuLgaCoN/j8YLGOzrkYDCoICXlpH1iohHa2gqp6toQN2cEEgSCQyt9fXIYHS0FsTiCtFhqITyct4oJGhEti8X8VFp60VZdnbEhFgutdDrtLt5nOttkyi+Lw2Fa5PKYNY0mFYqLoyE/P3K9puYsWVFx2h4fz7XKZIIfgYF7VtBXgUiQUwjdmQo2R56DTzY1PZ2DMeWIGqmCyclsHM80tOuhrExoc3cnxhITOVZf312vMXCfKwIBGPxsbk4Ea2t5sLqaBUtLWaBQhMLiohjzXIbl5UwoLw+DhQUxcLk+b1AgwBWBZj5/r12rDYPe3nDo6joOWi0fN1gk5qAqSEFE0NAQCvPziRAS4vMeBdiuCEhZLK9XOTksm9kcjnEJyJnf/LL1+lDcYB7zycn+62y21zsUCHJFgOqFHyJCHgiFPl86O3kwM8PHPoSAyXQUN1kgNZ7XkPNIMkK4KrDZcDc0IhANQdAe4bkPuYN0IfxNJ1fG1DHG0T6IFwKE+lQfRjgI9en+c2xZwf/+P+/AX+b/fkU/AQlZE+0ioz5OAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18517, + "DMTCBM": 1518, + "TCMC": "中国公园/游乐场", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAgtJREFUSEtj+P//PwMtMU0NBzl8mFrAgBsoAKUkcUlji0usQYTDAB4GRoZ+oFwtELNiU0OpBbGm0ab/dbx0vgMN96G2BZLsvOxnGu82/i89VfqfiZlpN9ACfnRLKPFBnXOZ8//+3/3/e3/0/jdPMAemP4YMalmgL6Qo9LjiRsX/hqcN/5teNP0vPF34n0uI6wrQAlCkwwE5PmAC6p7r3eP9v/px9f+SayVgXP2k+r9DmQPIFx2UWuAtYyrzJedczv+sM1n/M09lgnH22ez/Gccz/gurCr8EWmAOs4RUHwgwsTDt957u/T/paNL/uL1xKDj5WPJ/u2o7kC+WATHIp9iTPFZbIU4SZ2RkPKKXoPc/fFv4/5ANIXAcuin0f/C64P9S5lIgCxYAMRs5FvABM9Y281rz/z6rff57LvVEwb5rff8b5hmCLFgMxOykWsAFSoYyzjL/3Fe7/3de5PzfeaHzf4fZDv8dZjn8d1rg9N95sfN/t5Vu/yWsJH4D1SYCMScpcaABCltJB8n/iiGK/+X85cC0ea/5f6tpVv/VEtX+yflCxCTtJWHxoE6KBSAvmwJxIRDnAXE+MzvzFa0yrf+GXYb/eZR4PgLFGoA4B6rGDBRMpFiAnLwhbEaGOhYelpus/Kw3GVkY1wJFRNEVUWYBAwMv0EB1INYEYjFMF5CQTKlZRw/TKpOaQQQAsnvR2zWpwDgAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18518, + "DMTCBM": 1519, + "TCMC": "中国旅游景点", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAltJREFUSEvdlV1IFFEUx+8M7ezSg5GZZe3DFoXaEpu7KztJ5rZLuevHQxHtQD1EJhUalX3hW1gGaaVui2n5AfVWK5aGSJGgmSj10FuRBUFBb1tRYaXsv3OHBHdLdybWFwd+cO7Mued//nfuzGUA2Hwyr8V54wtQgGm7zJSW8q/U+Pf51xJpqL+eckJEJWGIz/8fAYGKlBHNhI1oaWhsgM/n+0VxSTIEZLvT8SV4M0Rbgg3kOO3vqUsMjA1CEIReumeaKaLXgUiTO1q7O/CTZroKNkfrOhsRwQQ+4jPcRd4f8S70CshZDuun0amXeIF3CD5ux65DCp5jXB1fH7497cI47UKPAO++vSpcgwdU8g4G0Y0RbNzujJ4bCuI+xohR5PhdEzNd6BGQzY61katTYVxBGJdJIkRSyq1K5O53q/E19KBiuCbGhVYBtfvicDnOohPH0axyAi04+rUJq/PXRQ9+uIiTuIHTaIPFb+UuivkyaRVwLbWviiiTtVBQiwAu/OE89pEXW30hbJcKKa7HXtTB+6Scu+ih+kYtArz7tg13S+BFNQpQFYMbp7AlUoF0JRP534/BTT48OINU/xruolSLgGyyL4tkT5YhG5wDMWTR2IrDWNHkgrnLQ/ERFcuzUgiS2JVYQBRal/TmYSWZT8eeWQhg+bedWFydibRXfqS9KULqUw/EFMNIYgGD0Cf15UIa3wbp9dZZMb6lgoEMMEkYYiaxn4mMf9W7EwswtoOS79Gkh8wo9M/BIyoYJDIIiVikdRfx5E1EHiHPAX9u0f2zS/b5vACPzGQv0W8YgP+XsKlZuwAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 18519, + "DMTCBM": 1520, + "TCMC": "中国综合培训/家教", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAABOpJREFUSEuNVWlMlFcUvUNlE+sKiqh1qxXRmLr7A2JLQmv7p6Q/NLVpbEVFK1VAZJFFgWhhLAUBWYZtXEAQxI6IQihhlUErAioiatGW2MbUtlFbsCZ6eh4jisYBMjl5M9+8d8655747IwCkDzneIq9D5nqZxuerDm8Zps3eKJ78vCT9K5nP1e51+/tzPidXD1/ZbE2ydRleoi3ws+u8krUcnfnuqNHOhCF4LOr2zer5IXhMWdYGmf+qyFAEJvPQmRNBo3E2zhldRSvxX91aPDF64c6Jj1ATOwPdVWtwv2IVDCFjG2nCob/IYAJ2dFV8OmIC2g+54k7xx3hY+VkvWdfxD9GctgBFAXa4pFuEe6c90Za1DDneFl488zwBswJ6Uw88cn0se84nzUf7QTf8cuwDtOgWozpmBmpjndEYtwCX01egJdUNDXFz0Zq+ECWh9tXsh0VfFQNWwNy3Hg8chQsH3qXbRSjbPRFNCQtxt2g1Hlf5AheigJZvgVYtHhuD0ZS8AOzFoxxvjYq1t4oBBVjq3pJQBzTEz1EH0aFzA2r9gMZQ4HwkBfYAzTGEFriaiF8LP8UxPxvQmPuQBLI3yP7SCEcYQsehKnoGnlZ/A9QHAucigKa9dB4HXEkiDgDtOvxb64ui7cNvMSKXIQnoN2lSToVPwFFfG7QmLQWMQcDZYOCnaEbzHdBG4muZwHU9cPMIHtYHoNDfNpMCgzeZZcrBry20JWHjkbfVGs2Ji00CDTtN0bTG03UG0JHG92HAzzp0lW7Aoc3iN6RbpErUb7bwORlqj8KAEWjQugB1/hRh/n0Cyv01VnFxO6uIR3OGe7durSzV05y6hQqDzYFj3jaba0qkbLcTHpVvZIPptjci5t+WwgqygNu5+OdsGAp8bfNTN4pl+iaRPpgVKOKwKBSuF1fDFkujwccS7WnL2WBG1KRuTyybm8zsc9DTGImqqCm3XH1lplWEiFXYC5gV8PQX6cMnfiKrt0lgcYTTg6upy/CHYQ2eNASiu8YfN/I80ZHqiui46Z2yU76XMHlfwkX6YFZAdnGTgtocJr6yV9OwMnl6T7neA83ZHjif5oamTP7gZb2HHZzuyfsdIMk2kGiL+xIq+3juDXXWvIDJhZWEaxLFYA/pmg1pngrbow6YlOKA2cmOsI8fheHJIyF6wjAGcmY8pIDrPkvwbK/IwAIhslVOOTyVB/MgvztDbr8DufE25NJUiNEJUvsMPzpCTpP8JI0UjoUcoWDssL9Z+TzzAiEySRKsb8odEt9zMZF3zCT5dEjLNMiFtyD1kyGKXDkvYURFJM8dxYrehOy3hkTIOvMCO2SlFLLcv+aa4rlO51f6k0+CVE6ElJG8lOTF4yBHR5vIdXaQRPZjtybBvECwBEjFBMifFLhJ9210r5xfJIxTINWMp5zfq2hUj/Lp/hDdZ4yApFEgzkr1gb+IL/6GX+54uMRIHUnuzmE0Kne6v8jsz5G8hs+V+EvR0H023acPN8UTqXnAHiwZ4JpqMqWU7q4+y/0yBVrpvpHZK/cVzL6MIicYjcpdOU+yhWh5g3ZJF91/Mdg1/VyiLIy9pabRlcr2MG/HQa7ZJMtgDCkkTKDbmGGQKM1vJKyk6yiuLoMPmmnA7DmdSyVYvpQg2U5ES4gk8lkS1z3ETr68OVgruHcWSUf2n+JXK/gflJfPxvkkWzEAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18520, + "DMTCBM": 1521, + "TCMC": "中国交通培训/驾校", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAgdJREFUSEvtlDssQ2EUx1XaCvGISdLBY2A1is1mFDqXseIRJsRgE2ziEV0klIV6NEQsnWgkGGiDQW480l5URG5FW6Xt3zk3TVG37W3ExJf80u9x/t//nNN7bw6AnN/kVy/nxP+OgZbK1SnA+2m7oKZFvXh7Q+z19Ru8T6OX0KQyymQwHHI4INbUwFtZCW9V1Qe05v3A9jYQi7GRokk6g7qoJOGitBRiQwP8Fguk8fEE/pkZ3BqNEAoKEPH52KBRqYp0BnNiWxsEg4HFImEmej7RTvPzi+pqeJqaOMaejcFI6OwM7sJCXDY349nphLSxAWlz8wNaP+/s4NpkgkuvB8fTGE02UarAEBZFHJWU4JBeE7UcFRezgV+NQefN1BScdHnA7Yafsud5Kh5WVhA4PZXP4+NL0koVdHkmJ+Eggc9mgzg7K89TIQwO4t5ul8/VGnRcTU9jiwTZotagW5iYwBoZrMdZ02iQzHpurryXiMmigrLQ3R326elYIpFNp8PJ0BA81OsrqzWBd3UV7oEBOWaZzPZbW7mAeTV/Mjez/tHlgpXEC1otngSBxUbC9ImWID1ti5QAx93v7XFMvVoDfTQcxgFleNDfj8jLC4vzksTaKH2LjsfGsGs2IxIMcky+WgOuopwYib88FcnC+LqIfvsIC1GrFJPpY/fj8x9fkKKyxL3/Bhk78A6swYUWtZDvbQAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18521, + "DMTCBM": 1522, + "TCMC": "中国图书馆/博物馆", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAABJFJREFUSEvV1V1QlGUUwHFqxmSsi5quvMBEQGQRWEBXdmFZvha1hAVER1wWB/kqSBEnA7IJIT9WHYxBEBY0cUgBURAwjKQMM0jACTFUHCwNpSI+BFGsMf89rOZQsTJeeNE7c27e58zze885zzOvGWD2LMO4uaknPD6psKDkCB7BYXkiZ5aIqSaTxy2M/2BTwHOvWtqWXb3Zw5W+EX4afUBAbBJzVWqD2MdqMmQyYGrU24k5V7tv0D18j86+O3zfO0LHwD2qz10iPb9oaL6/JsvM7IU5AnpxIuyJwPPm0yIKD1cyIrK6Bkbp6L1N2y/DtPYM0XzzFq0/D3Pu10EiNuqZPssmRwC2/0aeCEwRwPb8j9mwI5t9NXW03ujnQv9dmm/c4uyjaL45xMWhUaqa25EHrugyNzd/bTwySQXmEZV1X/Bly3nySiqITP2QzNJqukZ5DIxBnXcgJbcISUA4U6ZNc3oqoLjyOC/ZutJ+5SqGw9XsOniU9TtyyD5SS8etUdGuQTZkFRJ7oB6f+I1PCUwxj2j4toXmK9fpHryNx1IdKR8Z+HHkAcUnv0GmWYl/9DpiS84QvCkX9br0yQFrhUeaOkXR65es6LUJkg7nFR9BHqzlfPdvnGy7TEHVSb4TQ16emErjtV5WZ2QRte9TPFavxzc+A9dIlwFZvEuv/dIFfaJVL/9nBnYLvfVJrXLWnZXjneHE0bom3ELCOdV+kSXRaymub+ScAHTvpnP5NsRsziatsYcNn3UgX5lKQL4jmkMS5MmuY7f2lQkAlX5Nk4zEJjk+GVIKyk6wee8h4/nfZChm/c5cWsTJySypob3/d+K25bKmvBF5eIKoYCvKlHl4ZbjgEq0wDcSdmUfC1zK8NzmRub8Cs+nW1LRe5ERbl/GINl7vx3FhCJ3igrypzxUtqiVs1yeoot9DqpXjGuWOfbDKNBB9ypnYr1xRpTlhKG8QbWkQG/fxRnQi7+wy0NIzzN7a01wY+IPYLbt5v+EaIRl5ooJ0HJcrkIZ7INF4TQzYqlV6bZ09qz6XsnSvG/JVS9i8p0YAg5zq7CGrvNZYgVdYlDim93lrex7arBLcwuPxX6vHIfQhYBdoElDql9XYsuKYPdoTc9FWO6HOtEOTqjX2vb79Guf7RolJ28Gl4T8fVxC6tRBp6CJcdErRJlGBKcBGrdSHVNgQXD6H0Ao7VlQJ5Lgjsael+G1zxG9NKHEbc/nh7n3a+u4ZZ5BQ0oRDiC8LYlQ4C8BxpaggwMQMxoCgCisCS2ejKbUlREDLKyWE1TgQWS9FV+1MYL4UTYqO7LJ61BEJyHQByGKUzIv0xGWVBw5ahWiRKcBXqQ8otWTxfisWFVmz+IA1Sw7OJqhsDBPQsbmEVTkQVinFLVmKPFGOV4oC9yQF8qQFzE+QIY1zRbLMfeIh2wjAb58F3ntm4JltgeduC1Q5FvjkzcCvYCaLBLy4yIrX989moWEO/rvt8c2U4LXTDvctNsz/wBLn5JlIdE4TA5YKb721yvv+WFiNi7/fWXuJNWP4/DNUPg/zPR+F0u/BhDf5mf/0/9fAX8lV+bL/iEPdAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18522, + "DMTCBM": 1523, + "TCMC": "中国快餐/餐馆", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAhtJREFUSEvdld9Lk1EYx9+NnGYZOBT7D3YVBd56axdB4EU3SVKrGNnEd77MOZeZLttYI3ChrU0skiRnTVADN1ZjbLxJFPquujLIftxEd8EsYuC35znZ7YLOvPHAF87zvPD9nPOc57xHAaDspnbVnBe+xwGKohw3m81Jk8mU2NEM5dpo7qP8U5qfJlWsQuWPihJ1OnugaRpUVcWZrq4y+aUdDsfPdcOAzWb7SnFrpSb5FyAWCAQxHongZjgMd3//LzJ8q+s6eQIezwCdonJWBnD36vAIbgRDGPWPodfVx4A3ucIfgNc3xAC7FGAiOoVMTkc6m8fQNb8AcMzDPeBjwDkZQHx5JSXMeIzfnhCA1POCiDXPoDTAeeJkR/nTtxKKG19w9FjrZwJklzMFbBNAdcsD6slwMfPCQGzmMa82TLq3kMrjBwF6NK/0DrjNZ1f0IiYfCMAoaXopu4rvBOh2iS6SOgMGPFrKGYhMz7OZnzRpv6xhkwiXXPIlEoAnWQO3phIMGCEdabQ2bbz6WIKjT7Sp/A7mMusIxQSAS7Tf2tyytvphCxfVK9UBPEyvIRCd+ws4aG1qMfLvS7D3yt8DLlFi9tk7BONJBlwnHbI2Hy4WNsu44Brm3HmZi8aA+/478+geDLGZl1RXf6DhdXzxJdo7OrcpPiULaKux1Kb31ViSZGZjIo1OS21djn7ZEZo3/jegGm/1Hn8yq1Gi38Ng4VSfNqUxAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18523, + "DMTCBM": 1524, + "TCMC": "中国宗教/庙宇", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAdVJREFUSEtj+P//PwMtMU0NBzl8GFvAgAkYgUJWQGwBxCA2CsAVjziDCIsFCrKysg9lZGTuAuVkqG2BO9DAHk9Pj6/u7m6fgOxuIA4CYhaYRZT4QICbi+tCWnL0/wWzJvyfNbX7f15W0n9xMdEHQMMVqGEBCxMTUxUXF+eh+Ej/H+GBnl94eLgPsLCwgHzBQw0LYGYYejiYfnW0MngDFNCgdhyAzIu2MFD+aWWo8h3IjqW2BTE6ymJvn+yq/P9qf81/I3XJd0ALUpEtoSSSM0zURT8+25r6//+5EiAu/v9yZ/p/S23xL0ALsimJAyaQATbawl9fbwz+//9IzP//u8Mh+Ej0/3dbQv476ot+A6rJByVXcnygIS7AevXpMlugoa7//292RMW7XP+/Xmn3X1aE/Q7QAgNyLDBSl2a/+3Ol7v//a4F4NRpeo/v/3xq9/waKnI+BFliRY4GBmgTL7R8LpP7/Xyb9//8SNAwU+7tY+r+eHOtDoAUW5FgATCxMd38u5vn/fyUQL0fDQLF/y3j+G8gxke0DDVFehiuTIxn/z4pl/D8jBhWDxKZFM/6XEmC4BfSBPjk+YAVq9ALiGiCuxIFBcj5AzEayBdSqp4dxlUmtIAIA+VRIzGCM2aEAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18524, + "DMTCBM": 1525, + "TCMC": "中国小学", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAcVJREFUSEvdld0rQ2Ecx8+ZlRNbkazMtiZqpcQNyoU6RTSuaI3RvOQlI+al5S0lIi5Qu2FeQjYhNbGkkCzFjaJcud0/4EqSvn6Pl5LDzdlx49Sn03nOc76f8/x+5/RwALi/5E/D2Yv/YwEnPTQ0VESUEZkE/3XKb338tUQ/CBwWi+VJFMWX7OycCN1fJIqJODZXCUFHY0M9/H4/ZQGHoSDstopntVq9TfkmJQSuuhobVpa8b4LHhwhmpscgCMI1K5kigiZnJQZ7WjA60IHkpMQ7Ch4h0pUqUXNLTTmMet09BbYSKUo2WRcTo9qyW/OgjRcuKFj3/SOIpkR6CgtOdZYA97OY67PS78mFCLMSK0ijkCNvdyFw4wEu3cCtBwseETzPnX7WX24PzCqeO1vuzaVgJ3BSBRzb389XTqz350Ot4sMUniFX4B6pNgPhUuBABPa/wK7PSzFZl87KNSRXMOxzGYBQDrCTJYXGAz0mJpiQKxhcaEwAdo3ARqqUXQM22hKZYFyuYNjXFAvsaYFNjZSgFoF2IaoVuB15PNYaeMzXSlml8foCngkG5K7AQA92fTSRhXyHNddNmGQJlNqn//GWqVSJXgFs61xYjBRZrwAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18526, + "DMTCBM": 1527, + "TCMC": "中国体育场馆", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAnRJREFUSEtj+P//PwMtMU0NBzl8mFrAgBsoAKWMgZgLlxL0+MQaRDg0W3AJcB0VUxF7ApRvAWJ2bOoosWBpztac/7OAUNNF8wvQcBtKLQAFRy4QVwFxORCfztud938uEBoEGvwA8qcDsS8QsyFbRKwPRJlZmTc6lTj9D5kc8j+wP/C/b4fv37TNaf+7P3f/j14Q/S+wL/C/hpvGL6DhE4FYBGYJsRZo8ojyXKu+W/2/53fP/86vnf/bP7X/b3nX8r/hacP/tg9t//v+9YHF7Ivs/zMyMm4HWiAJsoRYC1iAavMFZAUeyhjLPBbTEHsXvij8f/XT6v9ld8r+Vz+r/h86L/R/2Pyw/20/2/6bp5sDcxRDA8gnxFoAcgwTEIsDcbyYttjrrPNZ//Ov5f/Pu5b3P/tC9n8BBYHfHj0e/0selPxXsFMABVUqEHOTYgHIEk4g3uA90/t/2oW0//GH4v9nXM34b1tt+xcofkLVS/WnkosSyPXdQAzyNdFBBIuzUEVPxb9Jl5P+O/Y6/g/aEPQ/ZFvIf25x7ntABRZA7A/EwUDMQ2okw9RHyjrK/rPptPlv0WjxP+xY2H/VUFWQi0thCtBpUoOIG2hAL48sz2+3tW7/rSda/2dmYz4CFFMC4iQgrgViFWRLSLUAFNFzdct1/7tsdvkvZCD0Dcj3AuJ8CUeJ/yrxKv+ZWJm2AvnwsolUC/iZOZjPGE80/q+aCQ6ahVDXTlbNUv1vOtX0Pysv6xWgmBi5cQDSl8IqwHoXaNFBIFsXapAR0OU7mbmYzwH58ZQEEUgvKPnpALEsWoSCXC0HxKBghAOigoiadfQwrTKpGUQAyzOuc5yvrx0AAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18527, + "DMTCBM": 1528, + "TCMC": "中国滑雪场/溜冰场/高尔夫球场", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAf5JREFUSEtj+P//PwMtMU0NBzl8mFvAAAHhjIyM81jYWCYyszL3AXEvEPcj4YlANb1ArIktLvEGEVCTjoyezNPwieH/pXWk/4koivwXVRL9BxT7C8T/pXWl/ytbKf+3y7ADBjbDFHIsCPes9PyfuTbzL9CAq1bJVn8MQwxB7BVAHAbEAYxMjJMkNCR+MjAy1JNjQYR7lfv/mHkxfzn4OT5M+j7pf+Ptxv/MbMzbgYazQoOQD0gbADE/ORZEOpU6/a+5XfPfpcLlX82tmv/5R/L/s3KxngAaKAi1AE6RY4GfvIX8T+82778ZOzP+d37r/J9zOOc/Gxcb1SzgAjovl5WT9VH8pvj/tS9q/ytYK3wFigWjux7EJ8cHTEB9fQ41Dv9r3tX8tysHp5ZJQMxILQucpc2kv2Zfz/4fsTHiPys36xmgwbLYDCfXB1Hakdr/ky8l/w9cHQiK3CNAg0CpBisgJ4jC1cPU/7vMcPnvv9H/v4ydzDegyc5UtUA1XPW/QaHBf+NK4/8mVSagOGinqgWKIYr/tbK1/gnpCf2wX2D/n5WH9SS2PEBuHITLBcr918zT/AM04L5pv+l/MWsxnMFEThxESftI/1fNVAUFzU6ZQJlvqllgdg+1kqkRCw/LCVZB1otAA5OZ2JlWc4hz3AOyy6hiATXq6mFeZVIjiAAxyhJgcQQ1GgAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18528, + "DMTCBM": 1529, + "TCMC": "中国赛马场", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAshJREFUSEvdlV1Ik1EYx7e5mTkZ4nI4Y00IJmyi0tbGRtQ2P+YyZmE0p0tmTl3JnE4nTkUNlakVZKBdRLELKe0i7SboA7pIiSiliyQpFaEQQjAozEj03/OKgWTRmHbjeflxznnec57/Oc953vewALD+J//VObPwXSjA+nPRkbmNyCU4fxmzbv79PLcats6WCZOE74uvFyPpcNJneq3fNGQvtY8S8b9s4QjoFWbFcnAtCEOVgU6N5dhwFkl1T+z+2G9Ue7YjoCAnH133XRDLxV/IUTbBrLxDfVa9Wj5cDl4Ub2IjfGGFKFtlV630ox+2mzbEy+KnyNmwPFe+HFgMoJcez6gHUo2UEa8INUSHaHAt4SOupZ1J+x5YCsA96kbBrQJoK7RonG1E+2I7XI9daJ5rRn5/PhO+oVAElDGimGmD34Cs9ixktGTAOmBda5pvQuFQIUydJngnvfB/8MM37YPSoYTipALcKO5zEjgSikCrsdUIx0MHqiarUDdXh+p31ah8XQnPlAfeGS/cb9yoma6BqdsEkVy0wOawB8n5gVDTtDuzJxO6eh3sT+xwvnSi9EUpysbLUDZBUO185UTJWAkEEsH8RtoyGbVeQtnBJa1fC7VPDesjK4qeFcH21Ia8oTxY7lhgGbTAPmaHxqdhYt676ZsIWeBUpCByRlWvgilogvm2GdqLWibG4xF7Ih7w+LzZnIEcSE3SH+TRHI4AM6dL1aKCvEKOlAsp0HSurzZI8Nls9oj+hh6SbMn2BFIbUiFzylb4Ev6S8a4RgoOCTySg43A597R9WiRmJjICx8PdwWVFgwLJlckr5OBtekc602Z20cXmskfUfWokZCSsUv9EuAJOoUaIOGUcI3BVIBd8FR0TMQK1LDbritgsRrQkeoH66eEKCGhiDXGeEBHniHpiH8Hkextxmtjy6/5nmu70/bwLr8ydDtFP/1C7hBt9TOMAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18529, + "DMTCBM": 1530, + "TCMC": "中国旅行社", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAhlJREFUSEvdlTFIG1Ecxq82S7nAkUZQ9DLYDhIC4qByMdjEGCjSxCh3OlUKGbpWXHTtUiROupQWYhaXDAUXwUWyCsVKaKzgFJwUnNQIovj3+9RBc9G7Ki4++JF3///3ve/eyyNRRER5Sp50cb74MwxQ7h/taJM7R+33aTuiO5wvUDc1TVsnnAPWbOMhAQGsMpdIxKtbW/+EcM4aYO/W+N+AEa9XXZ+d/Srn5wfwXg3OWWMPq4/cTHAboMM0H4+Hq6XSCjxHYFdyuewlnLPGHjXUAnrsR25LVJSkqr76nc1+wZuW0N6RSmVFxsben8K/QDhnjT1qqKUHvaTjDnS9sbyx8R26NVCUfH5Kmpt92zBngOeaDGvsUUMtPfQ6BkSjwYrIMnS/ZHo6fYYFF0GwzoVhbZEaaum58t7+6bGdma77/i4tfYbup6RSIZ5vpN51vK5FhoZCVZEfUihkJBDwOe+ARzE4+OZYZEYsK3iM59g9AbHR0SC038QwWg6h++i4A76xaTJgUvDpuAPLeosdTMjAQOsBvJ1uAmKmqSPgk6TTOgMKIAfyNbBWGB7WETCOgCYG9LgMaEJAUsrliKyudkmx2F0X9jY3I1jzAwJeuw6IW5YfN+MdjCTqADV9CNBOsAPDzQ7a/X7Pn95e775hqHtOhMPqHrWa9nINAW1uAhog7AAJ0O8SakO8bY4BtYLHPj/Dv8zHHkmt/wJuIwfRtm6tuQAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18530, + "DMTCBM": 1531, + "TCMC": "中国银行", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAlJJREFUSEvtlF9IU3EUx3dZo4nrZfOuMMJGmoOUDSKEXATqQ3PZ0xiY0SzfJqRBIQshfagLQTIjaQvqQXyMybX/YC+KoFDN5otvDi8uG9rDqNayOn3PdYMeboy78M0LH+7vnvP7nu/vd+7vXgMRGXaSHS3OC981KNkBzQmG7asO+EA76AAnCvG9uJ8CZwt5L+7VQNA6LP8y2Gc0Gu/Y7fak1Wp7a7NVfTCZTJMocgA0mM0VbxBLIPdOFMWEIAhXOafHoAqCl7I8Sfn8V5XBwRs4EoZ+cCsaHVNjW1s5isUecPwxqNVjwN0409p6OkuUg+4HKcoyWSyV72tqDi1nsx8Ry1Mu95lcrsb1Yvv0GrDJ2MREBLp18Il6egI/w+HQL6KM+hyJ3OTVDxfejXa7NV23FRZw2eE4mN7cfI1pCVpZkWlt7bk6VpQpstutKcwJAH7xug2utbQ0fu/q8nybm5NQ9AV4Bp6q4+npYeJcU1PdF9S+CPboaZEAwT1Z7ofmCXgEYiBagMcci6NNF7hN10GlHgPecdjtriafz0kej4Pi8U7obwOJxsf91Nx8WM05neJvzO3WuwM2kEZHT1Iq1UlLS37a2LiE4r0qmUw3JZN+Wl09TwMDbt7BFWDWu4O7kuSixUUvzc62UTp9DvqAiqJ00MxMG0y81NdXzwb8oVXoNTgO0X0QA69GRuqhbwc+Gho6wm2ZAg9BBBwt5xSxpnj1hkL7aX7+GC0sNFAwKPKqg39P+F8DXiGvlH8JDI9ryzbQ6mW5sZL/83ILF3W7BiU78AfDVJeQFOe4JgAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18531, + "DMTCBM": 1532, + "TCMC": "中国超市/商场", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAsFJREFUSEvdlVtIU3Ecx6e1ztyWjikWWPkgzUsYmE+idF0PY5kliop7iJUpzkCzctOgCyFMffCCkhjV0DmQmDQ3m5tTwwg0fYgcOS9Pgig+GCm0pfLre8IHs/NwhvjigQ//c/n/fp/zv5zfERCRYD/Z1+Tsix9AgeDfIwKXNTKZzMMwTBfOc0EteAOywaGd3bnW8r8p2iWoKSq6QyMjQ9TZaSKF4vQvk+k1DQ4OkFJ52Y++t/YiOIxgs9vtoNjYU6sGw6OA1ztBlZXl/qSkMz9crj6SSiU+9GkGClYUzAhyQ0JC++XyiNnGxmek1eYFNJqbGx6PlfR63aZWmxuw2UzkdJqpqqoUW0UwAs7yFURKJGEDbW2PqaPjOWKmKBD4SmNjPWQw3KWurnoaH39HTU3V1NvbQjMz/dTQ8ICVGPkKjkulYR9XVtzU2vqQdLocJCijhQUrTU+b/7ZLS+9pfX0Q+T4DL3k8L1nBK76CaLGYGVpcNNHkZBN1d9/HAlcidhg4QT9wADvoAy4IXrCCDr6CSIYROufm6vCmzWSzVZDDUYFYC3jLgQWCqqAEUSKR0DU/byCfT48RFJLbXYzEzaCBgxYISoISxMrloi/Ly+U0MaEli+UGDQ8XIvETUM3BUwgKgxLEx8RIvq2t3cbOyYZACcF1JC4DJRzcgyAzKEGKQnF0dnMzj6amVNTTk44puojEGpDPgQbPL7GCdr6LnJaSEr6wunqV2tuTscipZLenIvYaUO1AvX0vi+rrE1iBnq8gKSpK+H10NBkf0TmyWhPJbE5E7BVwAZwnvz+dvN5UbN94KiiI3hKLQz9BkMBXIEbnOrVa9ttoPImiFr6RkSH119bG4KM7tqVSRfyMi2PmhMKQD9uVNRNtZLC1SIQAJSjeLstZaEtBDkgDJ8CRXZWXX7HjGuZe7h3AX+ZepoMr9g/SCMyDKkfEiAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18532, + "DMTCBM": 1533, + "TCMC": "中国邮政快递", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAjNJREFUSEvtlF9IU2EYh4+mKwgqiFC7kYqyTLclyWrLDEVC2tQl2h+tC29yeZFMWlaLGMQKydKpS7Qis+WFkIaEoBEWgoZlTDP744VExUlqXlSiWT19o7sSd4Z4Ex544OOcH+/zvd95+SRAmk/mtbh/4wuCgCcQMDDXAfhHIEmSSmAU2AUnFXJG5HIFi/7e0EyCtZIU8sRiKeS25ya1V9yz4mlsoPSEDZVKNSIE0UoESfFxm96XOc/S/bBD5P3Pd8HUDIC3v5eLFxwYtid+FQKDEsEuvW6L/HN8EOfpIm64nTDxCnyD8Mn7h88DMPmaVk81p4oLmPYNkJWRplyg026Q+dAOYx3UnjuCy1HIj3f3wM/bNpDbabhkpaz0ENP+d74HmFKD6EAXHy0zVAkvqmC0jqP7d2ArSGPCe5lfw1WcL87kQHoCky9rYLga3rgxJW8OooPYSJmeY/CshLbyLDorzfRdzeF43lZs+Yl0VmTwuD4XjyMd+q3w1IrJsCYIQcwKma4shq6lUlMUB/cz4VE2z+uS6XOJ/yjWdJm5btXQXbETerIx6SKUC/QxS+UvTWrKD69m/FY8tGihWQOtCXBX4F/f0TLVrBWZKHyNaszblisWpOjXq8aaLMsYca0UBaNEwYiZaYnkY/0q/Nk92sXfxJgmKRnTWFWY1JuyMRS7MZyS3WGzYjeGYdKEsiRcGhUCtRJBiAiuE+wV5AsOBiBPfN8n0Ci6KuZ6uQXsYEHw/x3Rb0cz+33ChmVFAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18533, + "DMTCBM": 1534, + "TCMC": "中国文工团/歌舞团", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAhlJREFUSEvdlTFIG1Ecxq82S7nAkUZQ9DLYDhIC4qByMdjEGCjSxCh3OlUKGbpWXHTtUiROupQWYhaXDAUXwUWyCsVKaKzgFJwUnNQIovj3+9RBc9G7Ki4++JF3///3ve/eyyNRRER5Sp50cb74MwxQ7h/taJM7R+33aTuiO5wvUDc1TVsnnAPWbOMhAQGsMpdIxKtbW/+EcM4aYO/W+N+AEa9XXZ+d/Srn5wfwXg3OWWMPq4/cTHAboMM0H4+Hq6XSCjxHYFdyuewlnLPGHjXUAnrsR25LVJSkqr76nc1+wZuW0N6RSmVFxsben8K/QDhnjT1qqKUHvaTjDnS9sbyx8R26NVCUfH5Kmpt92zBngOeaDGvsUUMtPfQ6BkSjwYrIMnS/ZHo6fYYFF0GwzoVhbZEaaum58t7+6bGdma77/i4tfYbup6RSIZ5vpN51vK5FhoZCVZEfUihkJBDwOe+ARzE4+OZYZEYsK3iM59g9AbHR0SC038QwWg6h++i4A76xaTJgUvDpuAPLeosdTMjAQOsBvJ1uAmKmqSPgk6TTOgMKIAfyNbBWGB7WETCOgCYG9LgMaEJAUsrliKyudkmx2F0X9jY3I1jzAwJeuw6IW5YfN+MdjCTqADV9CNBOsAPDzQ7a/X7Pn95e775hqHtOhMPqHrWa9nINAW1uAhog7AAJ0O8SakO8bY4BtYLHPj/Dv8zHHkmt/wJuIwfRtm6tuQAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18534, + "DMTCBM": 1535, + "TCMC": "中国报社/出版社", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAr5JREFUSEvtlV1Ik2EUx3cRWDPGbIN9yNw7Rba1ULNc08yvTdMtaXoR0peBF1vezKILkaBRedNFQUUYUQMDsQ+cIhkpNFmTypqT+ZWUTVGnmflKOVdo/XvfkRAu3IZ5EfTCuXjhnP/vOec55zwMAIyNtA0Vpw/+HxCyAkEOjLU/Qrl985Wrp7gk5Vb1J9fVDRMuQF+SzbQ1XuDBZ5Ng0S6Bdi/Tsl4AO164qaqmPMYz1CgKiPodYszZpPB2pODyGQGdBXs1JJwMiJ3SKMvNai68bXEBUV9XPLxPkjDSugdzDjmW3WJ4OxMg4kWZIwYcLdpqpkW/vhBj3p6IwYfpGG5Rwfc6Ee0mLvrqRGgo5QTsUjU7KIuQGQiFQld/kxKv6rMx8igN33ol+OwQwV0XhxZDLFzXY1GvY8NaHoOpDjly07fYfs8iJIAgCMuN2gL8eCPG6H0B3BY5WisFeNfAw+BtPqwVfIy1JWHWLgXGUzHzUoH8TJZ15T5CAmjHtNQEV/fdXWir5ODZOS66aoXUibfBfUcB//BuwJsB/5ASC24VMJGLT85kmE+LPVSsPhwAnXHOtYsSPDbx4b6nxPCDFCx7lMBkBj52Z2LOmYUlTx4FKoC/n4JM6rAwWgx9ocAVLoARHc209DSnUyL78GUwC6M2NSYc+fg+vp8SLMJ8Tw58Axpgugwe13GUHVJTmy14t601aIQ2Lw4DrVrMOLXAhxIsvtVh6nkhyF4d9X8ES9PH0N5shFqtITkczolIAQwmk2lpvFWA90+LMWY/CLKvFJitoMwAZ6cRZ2tOQqHY4aKEU1Y6KewS/QogkpKT4XEeDohODVWgqcGI82YTdLoDJIvFinzQVk+mVCazGo3lqDIZYDAYodFoSB6PR+8hYr27aCVer1KpSJlMTvc6Xeeg/RPRoP3t9znkg7Fe4L8P+Ak9vU5pogQjZgAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18535, + "DMTCBM": 1536, + "TCMC": "中国电台/电视台", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAlxJREFUSEtj+P//PwMtMU0NBzl8GFrAwMAgC8QWQGxKIjYHqpdBj0+MIOLg4Fipo6PzyNjY5L6pqSlBrKendx+o/r62tvYjoN5lBC3Q19e/8+vX1/9Xrlz8f+zYof/Hjx/BgQ//P3Hi6P8PH14DzQSBX/+1tLRuEbTAwsL02tWrx//z8HBfZmRkWMrIyLgSB17GxMS0raGh4tfFi6f/nT69/7+Bge4VghZYWhpfO3FiAzB9MSwDYhBgxIFBcr4ZGVF/rayMvlhbm/wyNze4RoQF+tdOnVryH+jqVVAL8FEBWVmhf54+Pfz/4cOt/3V1VYnxgTbQgmkwC0CuxwcC8/OD/pw6Nff/mTMz/xsZqRBjgRrQgjaiLSgu9v0ze3ba/wULsv6bmxNlgSLQgnKQBSuICCKfwkLnPytXJv9fty7tv6mpPGEfWFnJXTt+PB0UyRuB2AaI7YHYAQsGyeXn5lr8nD8/+P/y5aH/zcykCVtgZiZx/cuXzP8ZGdpfo6NVv8THq3/Dgb/Gxqp93rcv8O///6XAxJP/X09P5CrBVKSkxHtrxw7X/4cPewMjzvf/oUNe/w8exI1PnPD+v3u3+/8tW1z+y8vzXCdoAdDb2UB8fdMmk/9FRUqgoNoHxDOBeA4aBoltDg6W+H/6tA0wYzI/BwUZMRZIm5jw3tm71+C/gADLCaAmBTyRLcTKyrh5wwbd/1FRYh+B6syIsSDezY3vv4IC+32gBlCJSggoCQoynw4KEgKmPIZ6YizwZ2FhPA40NYiQyUjyVkxMDAeBFpQQtIDa9fMwrDKpHUQAE1zpJ5G4CkwAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18536, + "DMTCBM": 1537, + "TCMC": "中国加油站", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAn1JREFUSEvdlV9IU1Ecxzc3Yn/u/hhsM6GyTLgNdLomm+t/q/kQMa30YUTBsBoEGT2ERPgSZPhnk7aXMbHy5rSgTUaizAVF7MHHRJ+SgvApkrXNQKT263trlfQQ3E1fvPDhHO65v9/n/LnnHBERiTaTTU3Od3yLC0R/n52oNoB6YAbVQLyu/U/13/X87xQVourkcvlrlmU/gHdGo/G9RqOZRdvpgqhsvUiogO9pOBAYpGQyQbFYlKamJikS4Uiv132qqtq9hPYLpQgaVSrV5Pg4RwyjfItEQTA7NjZCNpv1G8eFyGo1L+Od+7dE6AgOqFRMnON8JJfLokjCguFI5AFVVho+er0Xs3NzCdT1i3i/l5cIFigUsng87qfmZluuqal22W6vzU5PB0mnK190uY5+TqUeUUvLia/IfbgogVQqic/Ph9GxN+AleEXpdAzC+i9arTLd23uZ2tuPrCD5wSIFZRDcR+Kn4AkYpdXVh8Rx1ygU8uQ7O50QWEsV3ELiAPCBQcpk7pHBoFrp73flfT4XtbWZciWOoAOJ74AucJuy2ZtYWCbb13c83919iLzehrXCvhC+yFKpGFN0DomvAl50BYJLEChyfr8t73ZXU09PI0410Q0gF/wX/RI4EHcetIKzEJyBQJYLBk15i6X8+9CQmRcM8ztbqMACwYuFBRvinOAkOAXBMaqo2JYLh9m8w6Fdm5gwkVotTUJgFyqok0jE0YGBXTgqWEokWEqljD9LhpEsOZ2azMwMSx6Pjh/BXbBDqECJoFbwuMAIylHwDFwHHRKJ6DnKLqAuZh/wMQzYA/aBGsAfF/vB9kKbsVDnvxX2F23EXb3Fr8yNmKIfDDRrwTmdDsYAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18537, + "DMTCBM": 1538, + "TCMC": "中国自动取款机", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAA2FJREFUSEvdlVlME1EUhqsvxhhNREM0cd9i1OiT8uKSYKRViEEW44YCIoEWC5aqEVABQdkXDYoIsipCRBMBF5RIRHkAHzCaGkSklpbeMmVKRbSl0t8z1QejJOODvjDJn7kzvT3ff889544EgOR/6r8GF4xPQEB95zONb94xfktqKJNmRjGvLAXzyvxTUnonzYpiMtKW1DDmk63kb7c3aX7fzz9StDMvxnq1pQ5dTItukw5dRu0PsY/03If3v6iHxr2cwTWvvPUe/PJjraKAzamHTUKQ8S77qB0jti8u2UZt+GK30firayqzcgi4pDaJArbTkj8MGOCkmZr+D3hHzp1OJ8yfeBQ9qcU1Qc21UFdnI7I0BeElSahobYDRwiG8NJmJAnxyohmzDqKx8zkWHt2KlbHeePq2A4wClLXcgZ434Y3+PTySDmKBSobFqu0IKToLLZmKLE0VB+zKj2VGAiTUXYZE6o7JPvOQ9aASnJVH8+s2Vzr0lgFsy5BjTVwg1sXvxpHicwTQ/x1gR7aSGchtW/crbEwOhiwjEq/7usGGOJyqyUdBUzVyHlZhFQWepfDErIjNCC1KhM7cj8iyFPEVyKj8ejkj+OEhnK4rQFpDCYZtI+TahCXqnZgasBzTgtZiTrQX3ElTDntg35U46Lh+yMvOiwN881XMQG5zH1Rh5oF1mL5/DWIq06Alhx7JhyDZtQiSgCWU+x3YXxiPGRGb4H9RjT4yJS//C0DApeNURXqEFidBErgCk/athlvIegQXnQY1IOZHy3CCUqWsTIfiegrV/jHc72yF0WpGyLUz4ivwJ0CPAChJJMAyuEV54gA5XRgtxVK1N0qe3cVn+1c81XRATmV6o60R38a+oY83IqgwThxAzcJ6zQaECQDvuZgdugEtmpdo1rSjpr0JjjGHq5IcFJSj3rA57K5nLf0nqDBeHOBHe/CRNqzg8S1sSNgDaVoEXum6xu3sX1/qBo04dDVBHOB5IdykJcCow4EBcmimahpzjokC2NAg9hacFD8qvDLk1sbOF+CGLbCMfAL/2UqpsMBEjTaeBBPC70K3UwWKH3a5j27Sca3iQ4oTmbIqgynK05miIp3JK9LoLujCTwnjdKaszGRhxUnM96KKP19fKn5c/+vv8wT8ZP7rFH0HopOxCoCDFhEAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18538, + "DMTCBM": 1539, + "TCMC": "中国电信", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAfJJREFUSEtj+P//PwMtMU0NBzl8mFvAgAAcQGatppDQHRUBgSexGpovtYWE7wLF3AnFH94gQrKgMExF9d+71Iz/CZpa///nF/2fYGcPDGCGYmpYoCzNzX33eXzy/+9pWf/DVVT/f0vN/N9jaQOyoIAaFqSX6hn+/5+a8/91TNL/CCXV/98T0v/3mVuDLCii1AJ2oCGLtjp7/v8Zk/L/UXD0fy9puf9nfIL/Z2togyzIptQCGT5W1uMXPAL/fw9N+N+oY/QHaOhuDmbmvUyMjAuAbEVKLdCT5+K+edMl8P9br4j/AZKy34GGukAjnxlEU2qBmRo374PrNj7/nzgE/ncWlvgCNNMWKXVRbIG5KifPwwsmrv/vmnv9dxYU+wo03J6aFhjIsnHePqZl9/+mnst/f0HJX0DDPalpgSwvE8vJrfIm/6+p2v7PE1b4BzR8PRAvA+IOIJagNA44gYYsnSai8f+0tPn/zRKG/83Y+f5PBfJ9uERAyTSVUgtAoZEbzynx/4SI0f9twrr/XdkF/x8SMfifzy1DtaJCTZyJ9cF6bo3/23g0/zuy8IPpdHYJqhUVIF+UOzHz/V/HrvrfBUjvYlf/n8EiRjUfgCzgAuJWJUb2B1KMrE8cGXlfyDGyUV5cE4pAYuQJ5kRiDMGnZuhbAAAh66fIIBd9jgAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18539, + "DMTCBM": 1540, + "TCMC": "中国供电营业厅", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAlxJREFUSEtj+P//PwMtMU0NBzl8GFrAwMAgC8QWQGxKIjYHqpdBj0+MIOLg4Fipo6PzyNjY5L6pqSlBrKendx+o/r62tvYjoN5lBC3Q19e/8+vX1/9Xrlz8f+zYof/Hjx/BgQ//P3Hi6P8PH14DzQSBX/+1tLRuEbTAwsL02tWrx//z8HBfZmRkWMrIyLgSB17GxMS0raGh4tfFi6f/nT69/7+Bge4VghZYWhpfO3FiAzB9MSwDYhBgxIFBcr4ZGVF/rayMvlhbm/wyNze4RoQF+tdOnVryH+jqVVAL8FEBWVmhf54+Pfz/4cOt/3V1VYnxgTbQgmkwC0CuxwcC8/OD/pw6Nff/mTMz/xsZqRBjgRrQgjaiLSgu9v0ze3ba/wULsv6bmxNlgSLQgnKQBSuICCKfwkLnPytXJv9fty7tv6mpPGEfWFnJXTt+PB0UyRuB2AaI7YHYAQsGyeXn5lr8nD8/+P/y5aH/zcykCVtgZiZx/cuXzP8ZGdpfo6NVv8THq3/Dgb/Gxqp93rcv8O///6XAxJP/X09P5CrBVKSkxHtrxw7X/4cPewMjzvf/oUNe/w8exI1PnPD+v3u3+/8tW1z+y8vzXCdoAdDb2UB8fdMmk/9FRUqgoNoHxDOBeA4aBoltDg6W+H/6tA0wYzI/BwUZMRZIm5jw3tm71+C/gADLCaAmBTyRLcTKyrh5wwbd/1FRYh+B6syIsSDezY3vv4IC+32gBlCJSggoCQoynw4KEgKmPIZ6YizwZ2FhPA40NYiQyUjyVkxMDAeBFpQQtIDa9fMwrDKpHUQAE1zpJ5G4CkwAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18540, + "DMTCBM": 1541, + "TCMC": "中国美容美发/健身", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAPpJREFUSEtj+P//PwMtMU0NBzl8GFrAgAfompg3APF/IL4PxP1ALICsHFtcYgQRkRaALAHh90AcANNDsQVmzoYgV8MMR6bBlpBlQdUOBgUgXg/E/0PKZLAZDvOJAMkWQA1/DzKcgAUgS/rJsQDsciItuE+OBXDDifAB0HzMUgEjYoBe3Q/DDqGa/9ExKB6QMTTpgpJvA7EW4IpIsGXIQQZik5wPoJkIqyVYLFhPjgW40jq6D0CpS4EcCwSgORTDF0g+AKUuFMNJymig7I8jx+7HV5QQFckwA6CWgMoaZJ9QzwKQRaDSElpqgkpPkEWUW0Dt6nMY1mhDLogAl5kDW62lAVMAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18541, + "DMTCBM": 1542, + "TCMC": "中国娱乐城/歌舞厅", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAkBJREFUSEvdlV9IU3EUx28MfIo5EFsbjRk+RtuUNq8aZm8RSCYRrRlKDwaxvVROLX/3TvozQ5qyoj84GmohMqHd/vhSiu1Rix7KJHxoAyuot94i5Ns5OV9kQZfdvWzwYeOc77nfu3PO714JgFRKSnpxvvEyNZA2PzuJfcRBooVo3QbHOMca1hbsRuGgJFWQfj9xjhgirhJR4kYe/s0xzrGGtRWFluVfBjYqOG4ymRJ+v381FAqtKYqauzKoZAcui2zfgMgFg8E1zrGGtYRNj0EtFXQ5HI6nsdgtBAIBvFn9jsUPv/Hw5U/03XmHjhOnMDYaA2tYS9TqNnA6nWkhBuFrkJF8/gn3X/yASK7jjPoa7jovVEWANUUZRFQVbk89mo/2oLWjF81tF+E6dBYudx0iEbV4A0UINMgyJlPzuDu9jN7RDI6dn6B/cACqqhRvIP4aNOHR3Eck5r5BSWbRKV7BU+8zpkUK9dnra0R04j2uT39BeDyHrqGMcQZbM2g80oOW9ktoartg/AxkmsHU7ALuzSwjPJZBO8/AU/wMumkFNV5Tr0/GeHoF8SdfEX7wGSf75+Fig8011WhNu/WegxoqCFgsltTtePzX8M2RjUntLR7ToKeerSCRWkJ0eGSDc6xhLVGj56BVUsFh4prZbJ6xWq2zdlu1ZrNWpe27q9J77Ls0jnGONXltpR4DqpGq84Wn6bszf1r5kbAFxzjHN8JaXU9T1u8gLIST2Ms93gbHOMca1v6/gZHv6DJ9ZRrZoj8PRCfPQNRyAAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18542, + "DMTCBM": 1543, + "TCMC": "中国洗浴/足道", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAotJREFUSEvdlV1IU2EYx6ebK4YO2TI7fuTIbCU6NoWljmUDp4QsN0ykkomUgWK0Tdig/ERJHaIgukMSiHqjJHYhBMF0aTBHaclUlqCQRghd1WXm/Pec2z4u3NEbDzwXz8N5/7/3fZ7zP68AgOA441jFuY2fUIDg78ckEolmqOyJi5NOMUzSAoVPJpMvCIXCSaqr/zfHf7boD/0EuVz+YXn5HZqaHsNiMWN8fBQsO4RgcAWDgwPUaIGbD0CZk6P5SgLw+bwwGg3o7GyBy2VHKLSC+XkvB2D5AC5pNFlfgB+YnX2BoqJraGlxwOF4gLW1N5ibm+IAQzwBmQTYIcAoSkr06Oh4BKfzPp3gFQHGjgKgJEAQXu8QzObr8Hic6OlpwNbWS4J6eAOuaLXKXWCBdutGYaEKzc13YLNZsLr6jObi5g3I0umU34DXBGhDcbEKra230NhYivX1Xqo18wZcVCjk2yx7F7W1ephM2ejvL0d7eyk2NtoIYOMNUKjVzOeJiQr09d2AXq/Yr6u7GrZaNeSDh9Sie7wAF+gTbMjLS9pdWrJietrCiQUpnlOMDw8b4fffjhigS0mRfKquTkdvrxaBwE0SM6G+XkluPv+dAG9ZVrfH1SLxQZZYHD3pcl1GRob0Y0FBwubMjA4jI1owjCRgMCRuG42JGBhQh/1+Q0SAouTk0wGbTcEtfhIdLRjr6spATU3yAeUOqVQ0WVnJkB8ysbiYx73jOayTz9Gip1brWZSXy35VVSWE8/OlPysqzuyXlcn27PakcG5u7H53t+LA58uOCMD9UBmRKMqjUklC6emnlim3x8RE9VG+rtXGbqaliXfi44XvU1PF3NDNhzrBUd7RJ/TKPMoW/QYbv3o96ft3+wAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18543, + "DMTCBM": 1544, + "TCMC": "中国度假村/疗养院", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAaZJREFUSEvtlM9LAlEQx/2TRP+Kbh469C/YKbAOaQXegrqkaCoSKOwKHcIiKGOJpGLJKHb34k1BiCDYFZH8cfrmvHzLgr3WJ3hzYXizy+z3M/Nm3gsACCzTlipOia8AvjvgGxAOhxEMBpmRTyYzFEIAF+t0OhiPxxgMBhgOh9B1XQr0J4DESYiER6MRut0uHMdhqyxICGi32ygWizAMA7Zto9/v/wsSbZsQoGkaFEVhEDLLsmZAvV6PVUhxot4IAfl8HpFIBI1Gw4UQyDTNCciZVPTNjLaOTBpAo5LOZGhBNLrJIK1Wy4WROGVOJg0IhUJM2Hq6x2NVxW3tir2XSmWkUmnmc2ESJ7hUBQR40T6RTTxjb/0EuVgSZv0aD/U7xOP7LoD3hz5IA3IJA4XkO84Om8juvmF77Rjl5BG+7A8XwJzpIwWgkeOnt3BgYmujjEvVwMV5FbXazQygUqnIVeCdaQ6izBVVRSy24wJ0/RWn6d+eSFcwhWQ5jATo8PGHmuy9o7xJeX3fy24aTPMa4PcTFxaJLgKYN5GZuIV/nCd7ilkBfHfgBwYJryCW8tf0AAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18544, + "DMTCBM": 1545, + "TCMC": "中国垂钓园", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAoVJREFUSEvtlV1IU2EYx8/ZtNk2dS4dm2sz19rUyaJNHNOBYGXzIyVTwYgKnThFBolRZBMhEamlEIsuqos0P6JUiNDook/posgurAiEKME+DASRERT27zk0b4qxM5cXQQd+HN6P8/ze93k/DgOAWU/WNTg38P+CsBn4owPD74mhbllEFdFCHCQ2E+zvGyZSgYCCOEUi0fV8h+NLXX09PB4PqmtqwLJsP7UZoxFwIzy/c09xoKvnDOpcDT+s1pw5nU43bTAa3wkEgh5q165V0CxPTpn1HO+A29OK+ISEe8G0bKF3IqEkNnLZ5SsQUl8TYSby0/QZc3defsTu8qoAlU8RklBLxUegEQiFlww77AtSmfztJpXmtfu0H9vtBUsUlEsDS2wgDISDKCUqCBXfGVwsafKi9oQPaqN55YDXD2WafoY+3hcM5hOJpVNqg3k+u6AskLff9c1cWEFHlukl1GFnIIyJHS/3XkZW8SE4W/uQpNRM04dtgpjYUb2jLFB97haOTs6j89kKul8Bve8B9+AUJxggtoUVcNOVKjSzmSWHIZYrHlL5ZLIp73Nl/xu0PAdKum/iyMQCGp8ADY+ApqfAXv9jTnCV0PMRcKncShQRSYRLlm76amsfgXNsGdltAygc+oTSuySbpOD3AbsvcsHqJmEZlh2Mz62ErKh5Rdc+ARsFto4DltFf5NwGDF1rF3CixjiddVHlfQDtDUA7BmjorRkmhqhMEkVHdAJOYiOuCXW5i3G1fRB3voDkwhIkVwDJCBDnjWyRQ50h7oKzEMcYVjjOJKbOMFrLByZj1zKTbvtO9WeJVL6LHEqyWs/JUojM4OzswXL42/Rv/5/D/jCiFf77gp9i9c747iwWZAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18545, + "DMTCBM": 1546, + "TCMC": "中国幼儿园", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAcVJREFUSEvdld0rQ2Ecx8+ZlRNbkazMtiZqpcQNyoU6RTSuaI3RvOQlI+al5S0lIi5Qu2FeQjYhNbGkkCzFjaJcud0/4EqSvn6Pl5LDzdlx49Sn03nOc76f8/x+5/RwALi/5E/D2Yv/YwEnPTQ0VESUEZkE/3XKb338tUQ/CBwWi+VJFMWX7OycCN1fJIqJODZXCUFHY0M9/H4/ZQGHoSDstopntVq9TfkmJQSuuhobVpa8b4LHhwhmpscgCMI1K5kigiZnJQZ7WjA60IHkpMQ7Ch4h0pUqUXNLTTmMet09BbYSKUo2WRcTo9qyW/OgjRcuKFj3/SOIpkR6CgtOdZYA97OY67PS78mFCLMSK0ijkCNvdyFw4wEu3cCtBwseETzPnX7WX24PzCqeO1vuzaVgJ3BSBRzb389XTqz350Ot4sMUniFX4B6pNgPhUuBABPa/wK7PSzFZl87KNSRXMOxzGYBQDrCTJYXGAz0mJpiQKxhcaEwAdo3ARqqUXQM22hKZYFyuYNjXFAvsaYFNjZSgFoF2IaoVuB15PNYaeMzXSlml8foCngkG5K7AQA92fTSRhXyHNddNmGQJlNqn//GWqVSJXgFs61xYjBRZrwAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18546, + "DMTCBM": 1547, + "TCMC": "中国停车场", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAgVJREFUSEtj+P//PwMtMU0NBzl81AKCIYBXAQMDgzAQ5wFxExDXQ3EDkK4B4iggFgdiOMCWWAhZEOTu7vF36bLl/+fMnQfGc+fN/z9z5uz/6ekZ//n5+c8BTfeF2UCOBdFFxaVAff///wOTqOD4qSv/ZeUUngItMAdZQo4FkclpRf/fffv//+iZx/9LK1r/VdZ2/W9omfT/1IXn/z///v9/9oL1wLTIsBCIuciyIDKu6P/t5///z1p8DGTQbiBOBOIqU3On16ev/f9/+Ny3/5LSCjeBYrpkWeAXWvR//8X//zumHgdZsBSIBYHYUEJK5e6qnT//bzjw77+covYDoJgZWRY4+xT9X7Tj//+q7kv/JaR1XolLa9+TlNN/nly45t+8rf//N02985+dnfso0AIZsiwwcyr63zDn///KyUBLpkBwzfT//5vn//9fP/v/f0ObNJDPcsmOZC3Lov8prf//x9X9+x9T8wuMY4E4OO/OfzWjJJDhc4GYh2wL5PWL/nuX/P9vEX7hPxe/8nNuAZUbQPo2EzPnXqChmTDDybZAVL3ov3HC//8qLuBIXg7EUlDMiZyLybUgmkex5L9c4P//olYnYRagm0tRURHKIhrxn8v4+n92lVk0sUAOGombgfQGIA7B6XygBDnJlBmoTxWIjYBYD4h5qWoBNepqghUGpZYMfQsA+AmEYgsVbRIAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18547, + "DMTCBM": 1548, + "TCMC": "中国收费站", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAlJJREFUSEvtlF9IU3EUx3dZo4nrZfOuMMJGmoOUDSKEXATqQ3PZ0xiY0SzfJqRBIQshfagLQTIjaQvqQXyMybX/YC+KoFDN5otvDi8uG9rDqNayOn3PdYMeboy78M0LH+7vnvP7nu/vd+7vXgMRGXaSHS3OC981KNkBzQmG7asO+EA76AAnCvG9uJ8CZwt5L+7VQNA6LP8y2Gc0Gu/Y7fak1Wp7a7NVfTCZTJMocgA0mM0VbxBLIPdOFMWEIAhXOafHoAqCl7I8Sfn8V5XBwRs4EoZ+cCsaHVNjW1s5isUecPwxqNVjwN0409p6OkuUg+4HKcoyWSyV72tqDi1nsx8Ry1Mu95lcrsb1Yvv0GrDJ2MREBLp18Il6egI/w+HQL6KM+hyJ3OTVDxfejXa7NV23FRZw2eE4mN7cfI1pCVpZkWlt7bk6VpQpstutKcwJAH7xug2utbQ0fu/q8nybm5NQ9AV4Bp6q4+npYeJcU1PdF9S+CPboaZEAwT1Z7ofmCXgEYiBagMcci6NNF7hN10GlHgPecdjtriafz0kej4Pi8U7obwOJxsf91Nx8WM05neJvzO3WuwM2kEZHT1Iq1UlLS37a2LiE4r0qmUw3JZN+Wl09TwMDbt7BFWDWu4O7kuSixUUvzc62UTp9DvqAiqJ00MxMG0y81NdXzwb8oVXoNTgO0X0QA69GRuqhbwc+Gho6wm2ZAg9BBBwt5xSxpnj1hkL7aX7+GC0sNFAwKPKqg39P+F8DXiGvlH8JDI9ryzbQ6mW5sZL/83ILF3W7BiU78AfDVJeQFOe4JgAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18548, + "DMTCBM": 1549, + "TCMC": "中国出入口", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAATVJREFUSEvtVTsOwjAMRUJMXAIWdi7AyoTgBByF3oKJz10YujICQjDzKRORQG0lE6dpcdqAodCtlaImrvOe/WKnFQCoFDkKBcfASwJWAZvDWGpHH1zHfnU5r8pR07Z3vmqPjQBa7V4yNJMCEkJAGIbg+z4ulc3ia2B+SmAAIWj85CFIIqMg7r4BC3epiG7BRL3pd5IpmwE6GBGvDn2gBPdgCqfriJXnXR+wBJ4YwfYYEZNsMpK/KjO16R7M4SwjVUA7UyLMYI2ZSfsPBDPASFeHgSERnoEnHE3QzE/QHXaAjviQ0/ZvM0iqCCU6XR3YHGUGKYkuMoNN9gxoU37WaIkUpEyxiiLp+mwlsY1GG4mb615g+8AWVep6ei5zdzJBzOhKLr9clx17BX/zi/0rmI24JGAVeAA7Jpu+f9/14AAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18549, + "DMTCBM": 1550, + "TCMC": "中国地铁站出口", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAmpJREFUSEtj+P//PwMtMU0NBzl8GFvAgAAiQGYQEGcBcToQp0HpDCDtBMQcMKXY4hJnEEE1KXFwcOxNSEj439zc/D82Nva/v7///8zMLDDf1dX1J1DdJCBmB6knx4KWru5+oD4IiIyM/isjI/d70qSpYP4/IHb38AZZ4k2uBSsPHbvwf9HSjX+CQ6O+e3r5/3Jy9vjt6x/yKzI68fv5Sw/+1zd2AJMKOPjI8sHytZvP/DezcHgK1B8KxA5A7ArENkDcUF7T97+yrh9kASg+yLNg3opz/82tPF4B9VcDcQ4Q5wNxJhDPLqme9j+vhEIL+maf/z9l0c3/yTmT/6flTwfj1Lxp/zOKZv1fvfvn/6jkZsp8UNl56v+yPf//L9v9//+SnQgM4i8HivuENVBmQUbNqf/tC/7/b5z583/L3P//m+f8B9MNM77/7172/7+TH2UWrIwpvfxf2zThu4K625eC3v//C/r+/0+qefKfm1fkg1/y5n+2fuA4IDsVTbQOXPnfzGfRbx279l9R1f//g3BQ0Yf/Cnrp3z1SLv1XNkj6A7QAlNPJSkV6rOz8Vy1CDv/3LQdmqjwI9ij4/9+37P9/NStwHlgJxLzkWqDGzCZ8WdPn2n9l2xX/ZY27/8uZ9P+XNer8r+Fx4r+89UqQBcuBmIscC0Calktabv8vYbYCZNA6aD4oBNKFzKyCFxU87v/nVykDyRUDMSOpZZEbK5/JD0GjLf+Z2CSuAQ1QA7kSCYSwC7t/EzRY/5+Rmfc6UFyLVAskgY5qBmqcA8QuaIaDuMxAnAJUsxCIQTmblyQLqFVPD+Mqk1pBBACIrWNompKBagAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18550, + "DMTCBM": 1551, + "TCMC": "中国保险公司", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAylJREFUSEvdlX1MzHEcx3/NY3mKmijlaK6u7q4nerI4UTQtyaHUacRFo4cjJnVaDifmmJbUiCnOPF6lSQ9XnVt60JPdxNSqYeZham1t/dPb7/tTFoeO8Qe/7bPf9t3n+3593p/v9/f5UQCovxl/VZwU/h8DJk+gkrk2RlqKoniMVYoa+ztnpdciWojjYEkV5MeZ9L9WCSCLnNHFtaGy6HXHPwJwm2v0YKDMF9AdQK9GNDjwUIhYIes5DeAOOTG1ZVuonRaymui1VDqcfwbWcyCNmNWH9hN4dN4dZ3bb90+aOK7OxHhsDhFzdLZp5bux+krrpVCVHkBhdRKk6esREu7x0dxiau73QHoAX1ezKrTsBFok+HDPD2d3WQ6uDrTDFVUcAoJcUd6QhjJNCp60y9HYdhTKmxIGVtd9HDOtTdXfQr53Bo4rveaUVGT4DvbeDwTqtqJQ5gRvHzbUjw+jXJuCV71nmOh8dwo37u5BlU6GQ8rNmDrDRM+FHmD8GMrPZDyV48Mx6j8lno2OPD66r3rjYGowI35BuQNiySrIMyJw/VYCap/JIS/ahqWBXJhbTdOM6mCJA3W357Y9Xl5zRM8dF6DSH5cS7XDsZChTddaV7dgcsxzihABU1Kd9Fg/mIe5siGEOrM2otHMSh7faTG8053jiYBQX8ZKVeNiY/KU1xXTPNU1HcUwVBcFaPtwFbFizzVvpi2A6qgM6yYgOex7HFEEr5iH7YgwKiveh/c1Jpucl6iRom+WQ5ouwLtYHR9JDUdOaDrdFtjryNY4KGE6IlvijoUuBzvcX0dx2GlW1MuQp46GuOYzk3HAEib2gyNzEwG+p9uNpdybWbHSnt389nX847Dx8FkAiDcbtykOo1mWgqSMbL95eQMMLBSKT/REi9GSgBE6KIMWQogwGkOQC+tZIZWHYIBIgMVWEy0UyhO1dDmHEYgZGoAROiiDFcPhWo1/T4QpI8kgHyqIUbIn2g4vHfAZCYATqvYxHRkY8HaxfOgOSPLQpnoiMdDBlujERVZA5NJT35WVwi77dOCSmoL9WMuB++BgM+J3RbNCw+1PCwzr//j/5E/7x2Z/0Wyi3AAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18551, + "DMTCBM": 1552, + "TCMC": "中国证券投资", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAV5JREFUSEu1lrFOwzAQhvMYjEi8Sh6IhZWnYAExdEDsEXPVSEytVGXu0JGBBbExmn6WLrqe79o6aipZbpzz/92dfXaalFIzZ5tVHMdPAhaLt/S5+kjb9TLtd9v0/bXLjf+M8Q6bUxkIAV3XpWEYRlERtz022EaQAoBHfd+fFbYg5njRFIAp4gJjro3kCECoGN8/PlQ3gdh0jQDCEyMANb+2bY/SqlM1AtgRNYDmmamHfXjoLQAtSdUIYNtFABGTqHi+ub3L4vQWgFYB0Ptcp0iLiceIvm9+szi9BaBVAPS2E4CIi5h+3v/8ZXF6C0DrbASemHiMqG4XRWBT5ImJx5MAdpEjMSvupchdZCkyKTRPKBqzKdLFFhYak2qaPmLcQmPVdbExobYRvS4y9z7QkOiIjsatuAuY/biWAsEbvXUjr7HxPC8KzbuRnl5f8m0VXZm8w2bSlXmtL43Zvyr+AbyzEMlvwO1bAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18552, + "DMTCBM": 1553, + "TCMC": "中国信用社", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAA2FJREFUSEvdlVlME1EUhqsvxhhNREM0cd9i1OiT8uKSYKRViEEW44YCIoEWC5aqEVABQdkXDYoIsipCRBMBF5RIRHkAHzCaGkSklpbeMmVKRbSl0t8z1QejJOODvjDJn7kzvT3ff889544EgOR/6r8GF4xPQEB95zONb94xfktqKJNmRjGvLAXzyvxTUnonzYpiMtKW1DDmk63kb7c3aX7fzz9StDMvxnq1pQ5dTItukw5dRu0PsY/03If3v6iHxr2cwTWvvPUe/PJjraKAzamHTUKQ8S77qB0jti8u2UZt+GK30firayqzcgi4pDaJArbTkj8MGOCkmZr+D3hHzp1OJ8yfeBQ9qcU1Qc21UFdnI7I0BeElSahobYDRwiG8NJmJAnxyohmzDqKx8zkWHt2KlbHeePq2A4wClLXcgZ434Y3+PTySDmKBSobFqu0IKToLLZmKLE0VB+zKj2VGAiTUXYZE6o7JPvOQ9aASnJVH8+s2Vzr0lgFsy5BjTVwg1sXvxpHicwTQ/x1gR7aSGchtW/crbEwOhiwjEq/7usGGOJyqyUdBUzVyHlZhFQWepfDErIjNCC1KhM7cj8iyFPEVyKj8ejkj+OEhnK4rQFpDCYZtI+TahCXqnZgasBzTgtZiTrQX3ElTDntg35U46Lh+yMvOiwN881XMQG5zH1Rh5oF1mL5/DWIq06Alhx7JhyDZtQiSgCWU+x3YXxiPGRGb4H9RjT4yJS//C0DApeNURXqEFidBErgCk/athlvIegQXnQY1IOZHy3CCUqWsTIfiegrV/jHc72yF0WpGyLUz4ivwJ0CPAChJJMAyuEV54gA5XRgtxVK1N0qe3cVn+1c81XRATmV6o60R38a+oY83IqgwThxAzcJ6zQaECQDvuZgdugEtmpdo1rSjpr0JjjGHq5IcFJSj3rA57K5nLf0nqDBeHOBHe/CRNqzg8S1sSNgDaVoEXum6xu3sX1/qBo04dDVBHOB5IdykJcCow4EBcmimahpzjokC2NAg9hacFD8qvDLk1sbOF+CGLbCMfAL/2UqpsMBEjTaeBBPC70K3UwWKH3a5j27Sca3iQ4oTmbIqgynK05miIp3JK9LoLujCTwnjdKaszGRhxUnM96KKP19fKn5c/+vv8wT8ZP7rFH0HopOxCoCDFhEAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18553, + "DMTCBM": 1554, + "TCMC": "中国干洗店", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAR5JREFUSEvtVLsOAUEU3c9Q+gSlT1D6DKVSNBoNjUokmm00qm1UGgqJRKORiEojkWjW+81xLoONxK7s2GhMcjKTnZtz7j33zhoAjCARKLkk/hfwdMAzQHcAfitgPFeIxxzRVChxD9+v3ap0rUARRLi3SQKclsBhCGw7nD+jT8QkRkdAMr+Rn3ckHwG7LrCuA8uKiDSIqI5A6Uou6zgheQ/YNEheBeZFwM6IiCTwtgovi/o3a2xgPyB5C1hZJC8D0ywF0iIgEb4Fxk7fsa4BC5Pk+Sv5NwSsV98xKzzIlQC77r8CmaDuq++O7GVcEzoCMoUpwnL6rjIv8LupO6b3txTnYSgNVRhzT2o/NLfSP7377b/o0yx9N/kvIA4E3uQLeqhjOIY7sicAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18554, + "DMTCBM": 1555, + "TCMC": "中国婚纱摄影", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAyxJREFUSEvdlXtIU3EUx7frI2taOXy1BmsjQjJnTZSm+ADLksjyMdqm84GENkVwf8x0RQOfKDpfOHzRAytStlyBORnKsDIlMnURkYhJBRpISAvN7Z7OpYxRf7hB/uOFD/fc+zvnfO+55/zupQEAbTvZ1uTUg+9AAZpzhzu6HUOiEbZjyN/9/OcVOTj7oh2DxCL+DvcPoF0fHBz8Nioq6qO3t/dTvM5ACMrHWYEkBoPxXCq99E0kSrUymb4vMTYdYdDp9PsaTR3odP0wMKCH2dkpiIuL/Y5rUmcFBFwuZ9FiGYO6uiowGh/C+LgJBAL+Z0ygFokuWAcH+6GgIJtUKotIiSSdNJsfg58f8wWu79+yAoIg2pqarkNt7VW7UpkHKtUVUiZLIY3GWzhzNEtr642N3Nw0u17fDsPDt6GoSEbqdFqIj4/8iusnthRgMHY/GRlph8LCdJvJ1A5DQ82QmXmONBgawNPT40NlZcF6a2sZqNX5pF6vIUtKJPaeHhWEhR1ZQAHOlgLodFOnU0FubpK9paWA7OlRkGq1hOzuLgaCoN/j8YLGOzrkYDCoICXlpH1iohHa2gqp6toQN2cEEgSCQyt9fXIYHS0FsTiCtFhqITyct4oJGhEti8X8VFp60VZdnbEhFgutdDrtLt5nOttkyi+Lw2Fa5PKYNY0mFYqLoyE/P3K9puYsWVFx2h4fz7XKZIIfgYF7VtBXgUiQUwjdmQo2R56DTzY1PZ2DMeWIGqmCyclsHM80tOuhrExoc3cnxhITOVZf312vMXCfKwIBGPxsbk4Ea2t5sLqaBUtLWaBQhMLiohjzXIbl5UwoLw+DhQUxcLk+b1AgwBWBZj5/r12rDYPe3nDo6joOWi0fN1gk5qAqSEFE0NAQCvPziRAS4vMeBdiuCEhZLK9XOTksm9kcjnEJyJnf/LL1+lDcYB7zycn+62y21zsUCHJFgOqFHyJCHgiFPl86O3kwM8PHPoSAyXQUN1kgNZ7XkPNIMkK4KrDZcDc0IhANQdAe4bkPuYN0IfxNJ1fG1DHG0T6IFwKE+lQfRjgI9en+c2xZwf/+P+/AX+b/fkU/AQlZE+0ioz5OAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18555, + "DMTCBM": 1558, + "TCMC": "中国陵园/公墓", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAdVJREFUSEtj+P//PwMtMU0NBzl8GFvAgAkYgUJWQGwBxCA2CsAVjziDCIsFCrKysg9lZGTuAuVkqG2BO9DAHk9Pj6/u7m6fgOxuIA4CYhaYRZT4QICbi+tCWnL0/wWzJvyfNbX7f15W0n9xMdEHQMMVqGEBCxMTUxUXF+eh+Ej/H+GBnl94eLgPsLCwgHzBQw0LYGYYejiYfnW0MngDFNCgdhyAzIu2MFD+aWWo8h3IjqW2BTE6ymJvn+yq/P9qf81/I3XJd0ALUpEtoSSSM0zURT8+25r6//+5EiAu/v9yZ/p/S23xL0ALsimJAyaQATbawl9fbwz+//9IzP//u8Mh+Ej0/3dbQv476ot+A6rJByVXcnygIS7AevXpMlugoa7//292RMW7XP+/Xmn3X1aE/Q7QAgNyLDBSl2a/+3Ol7v//a4F4NRpeo/v/3xq9/waKnI+BFliRY4GBmgTL7R8LpP7/Xyb9//8SNAwU+7tY+r+eHOtDoAUW5FgATCxMd38u5vn/fyUQL0fDQLF/y3j+G8gxke0DDVFehiuTIxn/z4pl/D8jBhWDxKZFM/6XEmC4BfSBPjk+YAVq9ALiGiCuxIFBcj5AzEayBdSqp4dxlUmtIAIA+VRIzGCM2aEAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18556, + "DMTCBM": 1559, + "TCMC": "中国工会/协会", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAN5JREFUSEtj+P//PwMtMU0NBzl81AKCIYBVAQMa+NoqLwDE54H4PxTPR1cD4mNLLMRasB7JcJglBeiWUGIBzFBkej81LbiPxQcYwUSJDwLQLHgP5CtQzQcgg4AGGgBxAxRjGE5RJGNLMRSnIqBLHaCuLQAlUxxJFyQH8pUDST4AauhHC3NQHoBbgiVfgFJXP9GRjCXFgAyAp3sQG5saSi1ogAUTNFgw8gYpFmBL9+BwhqYoUPygW3CfFAtASRLZkn4skYwcTyC1BkRbQM0ajmBxS6lloxYQDAGCCiiNAwAzU4PgOHtXsAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18557, + "DMTCBM": 1560, + "TCMC": "中国汽车服务", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAr1JREFUSEvdlVtIk2EYx3dwK7M+nZsiZaLOwmpaZAfLE3TSEEqZmBoRhQck01ahHWZWaKsurZZaid2oRYiYkN14l3ahGEaLQpiZNlk3lpTbzO/f884JOh2boDe+8ON73//zPN//PX18AgCC5WRZX84mvgINBK5bJIUOO1C5SnM+z3lb5KLQXygUPuE4rpt4LxKJnlNe4EK5izWIo5dUEPVqtRom0w+MmkzIzsmh0xM0OGLxs40WY5CiVG4y1zc04lVLB/o/faPa6fbRMGTXWEwZsdlMBikzJp4aiKngZWt7N1raOqG5pOWLisv43PwSO+eozzQWa23vYqt5QbCa+Vs+z3F6KqqtqhhzV98v+MkC+micThwjjjtg/XRfP0Xfu94xbNm200Rjdgk8MpBQnq6kTI8bumae+h1EMaFxgmlvy+80oqT0EVvFbULiyRZpt+86OtHUYUXVw16cKdLzZ8/XYCFYrPJBDxrfWMBqyOCmWwNFUMTn6mYLNLc6+cKyVv7Za+Apo80J0lis8Eobz3KrmyyQB4YZ3BqERR4YrKibgrePfJBmZNDc/Y6KWkCrt82BaRfvDbOtMbBcrd6K4PDYr24N1oclGovu80hIq7XtPqKz5ldaUFA1iYJK21xIY7E9lJOYVmcr1E0hYEPMF7cGio2JxsyrwIlrQNZ1IKMUUBPsOZsZjeVkE2wsC/LAgAvcOxJ3ehRJuRYk5Vmx/9Qw9p00EoNOGO0xlpOUZ7P31/pHGd2uQCgU16ziIsdUGWOIzprEGkXsb5HXuh6xhJsDab0+irjx6Ox/iMr8A2/ZjnGqfezWgA7NX+Tl+yEk2YzQ1L8Qrw4eIC2c4AhfB6yv9PIOHghNnUBI8k+IJLJ+0uSeGLAP8rJUljAklR8cYXebCS5auVR+aEQqix+m+AWPvuSl/j+vwF/mUm/Rfz4WPS7K+p2HAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18558, + "DMTCBM": 1561, + "TCMC": "中国贸易公司", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAR5JREFUSEvtVLsOAUEU3c9Q+gSlT1D6DKVSNBoNjUokmm00qm1UGgqJRKORiEojkWjW+81xLoONxK7s2GhMcjKTnZtz7j33zhoAjCARKLkk/hfwdMAzQHcAfitgPFeIxxzRVChxD9+v3ap0rUARRLi3SQKclsBhCGw7nD+jT8QkRkdAMr+Rn3ckHwG7LrCuA8uKiDSIqI5A6Uou6zgheQ/YNEheBeZFwM6IiCTwtgovi/o3a2xgPyB5C1hZJC8D0ywF0iIgEb4Fxk7fsa4BC5Pk+Sv5NwSsV98xKzzIlQC77r8CmaDuq++O7GVcEzoCMoUpwnL6rjIv8LupO6b3txTnYSgNVRhzT2o/NLfSP7377b/o0yx9N/kvIA4E3uQLeqhjOIY7sicAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 18559, + "DMTCBM": 1562, + "TCMC": "中国工厂", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAArZJREFUSEvdletLU3EYx/eqepEkaKWDgW/MLoTTTLGS8lKJl5qKmUU6tLVyGaMLLlEaUpGB6FQKMZq5EnOyYZrSps5bTZvXqFzO3FrbnDU74D/w7ZzRpLaBW8w3Hvi9OIfn93zO9/v8nudHA0Bbz7Wuyakf34AAmuvDjIqJFWblXlAV3ShFAe86sTOYLiTD/N3Eujji+sFp19HjKSrNnBn6xWVovy1het6Esc8GlN6rIshQpjPE+cCsCYg4kqTq/mhFq1qH91oDal50IPXaHTBS8sgK0o75BNAxbYZEbcBJQR2icouxJ/OSbwFSjRHSCZMLICBwhzghOV1OqmA7lHhjEWt/xEHh3gOH9ZSCNidAHKcE3RNfoRifRTavhLKLT0E8BbArqhvshR2ZmsW7eRsah3SrCmpeKqAz2yB6PYG44vvgVTZAphhGbPwJ/ZqAxOQ0or1Liaa+DxBK1eidWUCVRIZb4p5VgKCxE+WtbzG3tIJRrRF18gEwz/LgFxpO5v939LhIyuHwMTi7iHGdBaLuSZy6+xxhrIuQDWgg6RlB8pUyUICbzYNoHJ5Hoagd2eX1CD1d6Bkg9TwXz4a+oHPGginjL2jmTDBal2FdXsH3HwQWLDY0K8ftgPp+LbiPOpD/QOwdoFI2hrKWEdQqP0Gp/YlJgw2mJRuaXvUijeyB6AKBHdA2aQa/qRfnKhr+D3D1aT+4T/pQ26dFfFEFInN4drscgOZRg90irxRspzP4GZcFBKWAArAfv0FWTZdbgKMGRXVSzxX8aZiQ3THxqryHLW4Bu9LzwalqRbFkCOm3RYg4wwM9OgmbA4Pla54ip9nCjmQVEA4F4ZkcMlEisWlbgJiMYzGzuPqwhAxia2BQNfke4k2j/c3xD9oXLWaEH9Jv8fOnutXtmPZ4VPj6ft6AV6avLfoNaxaCSmPHcbsAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 24608, + "DMTCBM": 1605, + "TCMC": "北京汽车站", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAvlJREFUSEvdlWlIVFEUx9+M4xYuE+S4tJC4k5KNW0oakUs5LtWMS5FLlIrKuKSOTWpmmriUomYUGaWoOSQSTo5h+SlLWtzwg4aEQdgXCSrBxmXev3sNQVNqBP3Sgx+c88655//Oee/dywBgtpItLU4f/D8UYNZeuw0MDFR8Pv8NCXmuE19168/3uWZE6xQQSyJOq6uq68lAmZLNFgh0dHKZKi6tQa78GusfEKomApl/E9loB9KUtAIkpMgX3Dx8Z2vvtNMu7m2GgA0pUkS4SxjLLbiNhubXMDIyniZ+C+EGoXoFNcSuJLhq0wGfy9VRxieXo6T6BfKuP2HrHgzi0dMvkJd0aIoqu3GlTEnoxNUKFQrLu1Bc1YOo2HzaXaU2AiIv34h5ZT/Q+kyDxs45NKs0BBZNyjniz0PxnMXjXnYp1qJagOotIC/togK12ghIjoblsIV1kzAxNf/IcDhDknN1bG75CHT1DCe4OrqjcWltkJUN04KTLu7hM/e7gMQcJfVrtBE45RMo01yQv6MLqgixAeJKJOYNUv8mQRoe9xAJl99TX7HX4cin8hYgOnUDAgcO52iiMobB09s2wXC4Q34nbrFR6UsCI4RXAdHNiEwboP74HvvAb9n1gCh+AwJ2bimamCJAkj2DkxnTiJSpESH7CVHSBwQnjUOc9Z34amKPIUz6GTTXL6JT6xGJrYUyjWtQKxx8itmQLOB4BhB8EQjJ/g21l30RidMcYaj2HUgsnKSsc9goHI/14VAy4OivxA5ryaLA9uyiwC5m0dwubsk2s4letHLOZN3P/ICtXxvtgAxr9fmy3l5kz9U1GbDYX4Fd3goI9hVr9Iwd1ALXBlh6drDm7m2sQNgIC4921vKgkt1ufwlcnvEUoZ8ISLQRoDsB/ZPTCfmEVI6OYZ/A+yV2Bs2C71SxoG8q/Grm1Qsr/2kYCoLp/nSewKMLtRWguSuvAIajo2C4+j0Mw6GfrohhuE0Mh9dN7CyC7nLyPwU2+3z+D4/MzR7RL9t/FZQ5Ql0cAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 24609, + "DMTCBM": 802, + "TCMC": "北京乡镇", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-256", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDwAACw8BkvkDpQAAAR5JREFUSEvtVLsOAUEU3c9Q+gSlT1D6DKVSNBoNjUokmm00qm1UGgqJRKORiEojkWjW+81xLoONxK7s2GhMcjKTnZtz7j33zhoAjCARKLkk/hfwdMAzQHcAfitgPFeIxxzRVChxD9+v3ap0rUARRLi3SQKclsBhCGw7nD+jT8QkRkdAMr+Rn3ckHwG7LrCuA8uKiDSIqI5A6Uou6zgheQ/YNEheBeZFwM6IiCTwtgovi/o3a2xgPyB5C1hZJC8D0ywF0iIgEb4Fxk7fsa4BC5Pk+Sv5NwSsV98xKzzIlQC77r8CmaDuq++O7GVcEzoCMoUpwnL6rjIv8LupO6b3txTnYSgNVRhzT2o/NLfSP7377b/o0yx9N/kvIA4E3uQLeqhjOIY7sicAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 0, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 9, + "TCMS": null + }, + { + "DMTCBS": 24610, + "DMTCBM": 1622, + "TCMC": "北京博物馆", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAACxEBf2RfkQAABKBJREFUSEu11WtQVGUYwHFsxmSsDzV98gMmAiKLwAK6sgvLclvUElYQHXFZHORWkCJOBmQTQl5WHYxBkJsmDikgCgKGkZRhBgk4IYaKg6WhVMRFEMUa89+762W0FskZOzPPzJlz3nl+53me950zATD7X6+nAWFxiYUFJYfwCArNFR8xXcSk//IxhpwPw3hj4prwmqVt2eXrPVzqG+Hn0XsExCQyS6XOF2utxkPGAyZFvpOQfbn7Gt3Dd+jsu8UPvSN0DNyh+swF0vKKhub4azLNzF6cKaCXTGFPBV4wnxxeeLCSEbGqa2CUjt6btP06TGvPEM3Xb9D6yzBnfhskfL2eKdNtsgVg+0/kqcBEAWzN+4R127LYU1NH67V+zvXfpvnaDU4/iObrQ5wfGqWquR154LIuc3Pz1x9HxqnAPLyy7ku+ajlLbkkFESkfkVFaTdcojwAD1HkLknOKkASEMXHyZKdnAoorj/KyrSvtly6Tf7CaHfsPs3ZbNlmHaum4MSraNci6zEJi9tXjE7f+GYGJ5uEN37XQfOkq3YM38VisI/njfH4auUfx8W+RaZbjH7WGmJJTBG3IQb0mbXzAWuGRqk5W9PolKXptFkmHc4sPIQ/Scrb7d463XaSg6jjfiyEvTUih8UovK9MzidzzGR4r1+Ibl45rhMuALM6l137x3D7Rqlf+NQO7ed76xFY5a07L8U534nBdE27BYZxoP8/CqNUU1zdyRgC699K4eBOiN2aR2tjDus87kC9PISDPEc0BCfIkV8OhetUEoNKvapKR0CTHJ11KQdkxNu4+YNz/G/KLWbs9hxaxczJKamjv/4PYLTmsKm9EHhYvKtiMMnk2XukuuEQpxgZiT80m/hsZ3hucyNhbgdkUa2paz3Osrcu4RRuv9uM4L5hOcUDe0ueIFtUSuuNTVFHvI9XKcY10xz5INTYQdcKZmK9dUaU6kV/eINrSIBL38WZUAu/uyKelZ5jdtSc5N/AnMZt28kHDFYLTc0UFaTguVSAN80Ci8TIN2KpVem2dPSu+kLJ4txvyFQvZuKtGAIOc6Owhs7zWWIFXaKTYpnd5e2su2swS3MLi8F+txyHkPmAXOCag1C+psWXZEXu0x2ahrXZCnWGHJkVr7Ht9+xXO9o0SnbqNC8N/PaogZHMh0pD5uOiUok2igrEAG7VSH1xhQ1D5TEIq7FhWJZCjjsSclOK3xRG/VSHErs/hx9t3aeu7Y5xBfEkTDsG+zI1W4SwAx+WigoAxZmAAFlVYEVg6A02pLcECWlopIbTGgYh6KbpqZwLzpGiSdWSV1aMOj0emC0AWrWR2hCcuKzxw0CpEi8YCfJX6gFJLFuy1Yn6RNQv2WbNw/wwWlRkwAR2ZRWiVA6GVUtySpMgT5HglK3BPVCBPnMuceBnSWFckS9xND9lGAH57LPDeNRXPLAs8d1qgyrbAJ3cqfgXTmC/gBUVWvLF3BvPyZ+K/0x7fDAle2+1w32TDnA8tcU6ahkTnZBqwVHjrrVXedw1h9Vg8fGbtJd4Zw+fJUPncX+/5IJR+90ye5MeP9vO+f/Rzft6Jn/jp/1/JDXn/BhaetPhhlotCAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 24611, + "DMTCBM": 1650, + "TCMC": "北京地铁站", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAnBJREFUSEtj/P//PwNNAcgCWmKaGg4OHVq6Hq8FSPEiAmQHAXEWEKcDcRqUzgDSTkDMAVOLzbE4fQDVpMTBwbE3ISHhf3Nz8//Y2Nj//v7+/zMzs8B8V1fXn0B1k4CYHaSeHAtaurr7gfogIDIy+q+MjNzvSZOmgvn/gNjdwxtkiTe5Fqw8dOzC/0VLN/4JDo367unl/8vJ2eO3r3/Ir8joxO/nLz34X9/YAUrnoOAjywfL124+89/MwuEpUH8oEDsAsSsQ2wBxQ3lN3//Kun6QBaD4IM+CeSvO/Te38ngF1F8NxDlAnA/EmUA8u6R62v+8Egot6Jt9/v+URTf/J+dM/p+WPx2MU/Om/c8omvV/9e6f/6OSmynzQWXnqf/L9vz/v2z3//9LdiIwiL8cKO4T1kCZBRk1p/63L/j/v3Hmz/8tc///b57zH0w3zPj+v3vZ//9OfpRZsDKm9PJ/bdOE7wrqbl8Kev//L+j7/z+p5sl/bl6RD37Jm//Z+oHjgOxUNNE6cOV/M59Fv3Xs2n9FVf//D8JBRR/+K+ilf/dIufRf2SDpD9ACUE4nKxXpsbLzX7UIOfzftxyYqfIg2KPg/3/fsv//1azAeWAlEPOSa4EaM5vwZU2fa/+VbVf8lzXu/i9n0v9f1qjzv4bHif/y1itBFiwHYi5yLABpWi5puf2/hNkKkEHroPmgEEgXMrMKXlTwuP+fX6UMJFcMxIyklkVurHwmPwSNtvxnYpO4BjRADeRKJBDCLuz+TdBg/X9GZt7rQHEtUi2QBDqqGahxDhC7oBkO4jIDcQpQzUIgBuVsXpIsoFZFNHA12pDxAQDV5x6unnMc6wAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 24612, + "DMTCBM": 1602, + "TCMC": "北京湖泊", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEgAACxIB0t1+/AAAA2tJREFUSEvdlXtsS1EYwHsfve1tb1trt1njsW6zxRaMzmMemzITW4hYtrF4i2ERYvPMZHSYYhKsNa9NRiaCqS2hzGRDPMYeDP+MSLxZ2o5hiK0+31nGH/PHJbFI3OSX0/Od+32/e885PZcCAEm3XkTQnXRr8Y7Z6c6n/zeCzgVXYRuA0F02QC/s+3WJMdgPRgQS7zojvwYkEj3eV6RSa+5guwyhOgtOksvl1ziOq8S+qTNGxlZ4eWnvY3sA8RIVUBRly966E1663sLQEZGtmBSL9PX28Xl0q6ERKm/Ug0qlvocxXyRm2IiRrW+aWyB9zXqy37NFBb5++rqiUw5Ylbmh/XT5dZBK2YuYWLAz/wjkWg95rAXHPNk7bKRYHssyF046rsLaLLPnYLEdlIKqSlQg5bjdvEL5GAuUrcuxtm22FsPCjKxvBfbLpGgFcuWo4xbMWbrGs8lWDJnb8tsxdl5QqR8zDLNOVEBeWyGoGwYMN72WyXmn1V4N9non9AkMaTGEDHzeO7D/i6DQ8Jaye+9g75nbIFco3eEjY5pkckUt5hpFBSwnK0m3nYfjjQCR8bM+UTR9lxc0NfrAsOaD1a2w92oz6PT+bkGjq6VppiEybuanEw8BUnOOAfYLRAUqnb46fokFAgdHuZYfxgXV6sluqkjNq4KISbPfjUpIez8v10Gm65yg7Vm/rLAO+hnHNsctzgEZL1wQFUgoKgOTyeuWDIpf9Dkl/z5M3VYFsemFHow5iCw+88S3KVvKgYyFT077QmRIDZIiLpBIknsEGF+EJm/6SrOcK2L+Lo9p/Tlg5Uq3YcKS1j7Rcz9yyh7uGPMliFiwx0NLZe6wFEubqnfYE7J+ogKG11wZsrEWovY5wZBoacOky8hZrXHah9E2N4yyukATOqEFY6VkzD8hpy1qvxMGrqoAmpWViguUukqNMRFoueaJIeMa8CHjn7Fq/QPD2jqQ+YW+4v2HNxlW1wCj1N3hg8c9Nay8ib+1LztyOMVJUQE+VRKyHZnFBZk+eG9sAu9sNyijM8jCkvXJEiaaQWd2gbfZCVxwDPm3L0AsSPTvCPC+joucMxZ2QFK7dExHcTtCDkGdhGLKOVMmsIOmk4XPRX4ein8iIBIeSUZSEZ8fZmzJgZiGzOi85+eQqOBvf4D+wy/a356i74mS2Nl8qu3fAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 11, + "TCMS": null + }, + { + "DMTCBS": 24613, + "DMTCBM": 1663, + "TCMC": "北京山峰", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAl9JREFUSEvVlW9IE3EYx++Odhu9MDKzrL1YUaiNWG6TXZK5NsrNPy+KcAf1IjKp0KjsH74LyyCt1DVMyz9Q72piaogYCZqJUi96V2RBUNC7q6iwUvbt+R0Jbqm7Cxc0+MDv7p7f83m+t9uOB8Al9MMEiSShzdW7k8jp5xRo/D7MVJc0V23swH8k0CDYSDUhooIwxNb/jYCnJqVEE2Ejmusb6uHz+X7SumgxBJLd6fgcvBViz/NgltP+jqbE4PgQeJ7vpXOm2RK9CQTa3N7S1Y4ftNOVtzVS29EABZP4gE9wF3i/x6bQK5AyHNaPY9Mv8BxvEXzUhj2HZTzDhHp8Y+TOTArjTAo9AjZ9W2W4Gg+o5V0MoQuj2LzTGTk/HEQ3xokxZPldk7NT6BFIZsd65dp0GFcRxhVShEgl365A9gG3ur6OHpSPVEel0CpQpy8Ml+EcOnACTSon0YxjXxqxNndD5ND7SziFmziDVlj8VpaikN0mrQLXcvsaRZ6qgYwaBHDxNxewn7LY6vJhu5xP6zrsQy28j8tYih7qb9QiYNO3brpXBC+qkIfKKNw4jW1KOVLldOR+Ow435fDgLJL961iKYi0CyWRfoWROlSITjINRZNCxFUewqtEFc6eH1kdVLE+LwYtCZ3yBwLcs683BagqfipJ5CGDl191YWpWOlJd+pLwuQPITD4Qkw2h8gYHvE/uyIU7sgPhq+7wY31DDQBo4kR/mTEI/J3DsV703voDjdlHxfdo0wBn5/gV4SA2DRBohEku0PkWseAuRQ0gLwK5bdP/ZLfYL6N+/0f67BL8AZbq63RustG4AAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 11, + "TCMS": null + }, + { + "DMTCBS": 24614, + "DMTCBM": 1632, + "TCMC": "北京超市/商场", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAshJREFUSEu9lV1IU2EYx5u1ztyWjikWWHkhzY8wMK9E6XNdDDNLFBN3EStTnIFm5aZBH8Rg6oVOlMSohs6BxKS52dycGkag6UXkyM8rQRQvjBTaUnn6H/FC7FycYWvw493O3uf5ve953vMcAREdCOmHFYSSkCbfvjuhXD2nYE89IvG7ViaTeRmG6cT3fGAAb0AuOLh7Ptdi/9rBHkFtcfEdGh4epI4OMykUp36Zza9pYKCflMpLfsy9tR/BIQRbPB4nxcWdXNXrHwV8vnGqqqrwJyef/uF295JUKpnGHBNQsKJgdpAvEIT1yeWRs42Nz0ijKQio1Tc2vF4b6XTaTY0mP2C3m8nlslB1dRl7zofBGb6CKIkkvL+19TG1tz9HzCQFAl9pdLSb9Pq71NlZT2Nj76ipqYZ6epppZqaPGhoesBIjX8ExqTT848qKh1paHpJWm4cE5bSwYKOpKcv2uLT0ntbXB5DvM/CR1/uSFbziK4gRi5nBxUUzTUw0UVfXfRS4CrFDwAX6gBM4QC9wQ/CCFbTzFUQxjNA1N1eHlZrIbq8kp7MSsVbwlgMrBNVBCaJFIqF7fl5P09M67KCIPJ4SJDaBBg6aISgNShAnl4u+LC9X0Pi4hqzW6zQ0VITET0ANB08hKApKkBAbK/m2tnYbJycXAiUE15C4HJRycA+C7KAEqQrFkdnNzQKanFRRd3cGbtEFJFaDmxyo8f9FVtDGt8jpqakRC6urV6itLQVFTiOHIw2xV4FqF1k713Kovj6RFej4CpKjo4XfR0ZS8BCdJZstiSyWJMReBufBOfL7M8jnS8PxTaDCwpgtsTjsEwSJfAViTK7LypL9NhpPoKlFbGRmSv0GQyweuqNbKlXkz/h4Zk4oFHzY6azZGKOC7UUiBChByU5bzsFYBvJAOjgODu/pvPyaHdc293Pt/7/R9rNaXkX+14I/H1GHyabFDYwAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 24615, + "DMTCBM": 1664, + "TCMC": "北京医院", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALCgAACwoBv0NmUwAAAcBJREFUSEtj+P//PwMtMU0NBzl81AKCIUBQAaUJAKsFDJiAEyjkBsRRUOwMpNmRleFyCLEWuBmKiX0pNjX9X2Ri+l9bWPg90HAbaloQXmpk/P9/ZfX//xVV/1O0df4BDfem1AIWoAHiQCwCxHHpmtp//6fn/P+Xlv0/Qln1B1AsCIhFgVgMiJlIDSKQocViHBzXZLi4r0hxct0o09L7/S0y8f+XiMT/mWqaP4Fi12S5uK+KsHNcBapNItUCLaCmNStM7f7fcwv6f8XZ//8tl8D/D9yCwfimSwBY7D6QPc/QGphdGRaQY8HKjXo2/1/a+P9/aOXz/7al1//L5h5gfAfIBom9tvX/v1zbAmTBHFItUAdqWl4uqfJ/jqLB/2nyev/XKpv+P6NpB8arlE3AYnOBcvniSmRZwAG0AJTWZwHxTCBeF8At+vu0jNn/k0Dswin0HSi2CioPUuNIqg/Qs1pgIJvw/8P8ev8P8uv+d2UV+AlU4EppMkXWH+nDxP9/G4vq/61A7MjECwoWH2paYMzDwHRejoH1gSwQczMwnQQark1NC5iBhmkAsRkUq4IyF9kWUFqCIusfmOJ61AfIIQAA5F1RaCURDWAAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 24616, + "DMTCBM": 702, + "TCMC": "北京区县", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-663885", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDwAACw8BkvkDpQAAAqxJREFUSEvtlctPU0EUxkWjC3cu3Llx7R/g0rgkwURotJAogVCkIASDiFqtCCYQhVSkD0pE5S1P5cJtuW2hFAp9AC19MhdKCjSlRWh4RRMXnTPempgQo4tLbEyMk3yLszjnN+ebMzMphJBjSV0JQDKV1OLf3Unm7v8e4PChN7VNnHxY05+akVtfLsiVSURlLcJXLWNnfh6M3znxS4sSye0D1pSCirbrwgJVWKZm8AA9jymdC5o7TFhc/u5LZlHzU9lrw4kfIN4A4a2mu0/qh/D03AqsrG/hjc09HNk8gLVwDJy+EG5qN5HULNlQrZI5noDwAojvt10slb7HlvkgCazFSDi6C9HtPdj4tA+RrQMIbe4Rhy8EkhcUpOcp7/EGpGU3jPRqF8DLRslyaIcEIzsQiuzDaniXONgI0VkDpN/gxepuG76aq9quaqBP8eog+86br3ozC97lKEHBbRJYj4ELhYE2B+CjcREoIyKDBj900U5cIu3B4gedl3kBSit7yLh1ibi4DjwcxOZeJ9QEIrQZwcgkJxPiYj/u07mxtG4YMsXqG7wAhZIuzJgXsQOFsd0dBM00IqOWJcJYWRi1INByMT3phwGDC0uefyBFkg4BL0BGniLYxziIxbOK9XYEOvsS6GcRGOYQ6DlxMdHMLOJu7TzOK2+F24+7zvMCCERyaY1KA/SkO26Y88O4gwXjAoIJTkYnB5plQWP2gKLTiK9kN4zxnqJn8pHTgvxGn6JzPE7POHGiqMnLwpSPJRwE62we3ErNwM1S9UFZdc8F3oBEwqO6wXMZ+Y2uaiUF3Vo7oaYc8WGzA3r1dixrZeLXChWx4sqOS0e+yYnEagV1MqtYVZKW89KWU6b+LKpoiaeL5EhYoKytkg+dlb1lUo4E+JNP+D/6H/y36LAD3wB9SSL/eAY6ZgAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 245, + "FontG": 222, + "FontB": 179, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 9, + "TCMS": null + }, + { + "DMTCBS": 24617, + "DMTCBM": 1665, + "TCMC": "北京村庄", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEQAACxEBf2RfkQAAAX1JREFUSEvtlc8rg3Ecx5+/wMFBDg47OMhBUkIODg5IioMkBwdpa5Gl0VpMLbGt1UY0htZkSX48hUIJSXZ03NFx/8Ke74/n7fupLSeb+rak9tS7z1PPp8/r+/l+39/PYwAwqqmqFqeF1wAVd6Bigq4B/hZgfD+N6jWs9FJUQkVH6XO5Lst2UCzQrmK28HoO6z4JdhkCO15W/jNySoOUowOglWcLbyashyMwMwqW8YMnXeDxCYI8K3XrABKF9xtYj2lY13Gw0wD44Rz49hREaAhytYsgWR1AznrKwLrdATsLgqc84LvTEJERiLVeyKVWAqj6P4+bSmeQt+72wC42wNJe8MQMRHQMItgH6WuDPd+kDTDZVQTsxAe+74SIjUOs90P6OyAXHLBn6wjwqdMBOeiDH7jBtyYhNgcgVzohF5thO+upONnVpQMgF/qUTBEehgj0QHpbYLsbqHhMKaVr09JdGqWtoAMtKq+iR/ui6c6h2v/gV5P4V0k6Z/H/AV+ZsD3dUnkRrAAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 11, + "TCMS": null + }, + { + "DMTCBS": 24618, + "DMTCBM": 1666, + "TCMC": "北京旅游景点", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAAAgtJREFUSEtj+P//PwMtMU0NBzl8mFrAgBsoAKUkcUlji0usQYTDAB4GRoZ+oFwtELNiU0OpBbGm0ab/dbx0vgMN96G2BZLsvOxnGu82/i89VfqfiZlpN9ACfnRLKPFBnXOZ8//+3/3/e3/0/jdPMAemP4YMalmgL6Qo9LjiRsX/hqcN/5teNP0vPF34n0uI6wrQAlCkwwE5PmAC6p7r3eP9v/px9f+SayVgXP2k+r9DmQPIFx2UWuAtYyrzJedczv+sM1n/M09lgnH22ez/Gccz/gurCr8EWmAOs4RUHwgwsTDt957u/T/paNL/uL1xKDj5WPJ/u2o7kC+WATHIp9iTPFZbIU4SZ2RkPKKXoPc/fFv4/5ANIXAcuin0f/C64P9S5lIgCxYAMRs5FvABM9Y281rz/z6rff57LvVEwb5rff8b5hmCLFgMxOykWsAFSoYyzjL/3Fe7/3de5PzfeaHzf4fZDv8dZjn8d1rg9N95sfN/t5Vu/yWsJH4D1SYCMScpcaABCltJB8n/iiGK/+X85cC0ea/5f6tpVv/VEtX+yflCxCTtJWHxoE6KBSAvmwJxIRDnAXE+MzvzFa0yrf+GXYb/eZR4PgLFGoA4B6rGDBRMpFiAnLwhbEaGOhYelpus/Kw3GVkY1wJFRNEVUWYBAwMv0EB1INYEYjFMF5CQTKlZRw/TKpOaQQQAsnvR2zWpwDgAAAAASUVORK5CYII=", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 24619, + "DMTCBM": 1667, + "TCMC": "北京邮政", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAjNJREFUSEvtlF9IU2EYh4+mKwgqiFC7kYqyTLclyWrLDEVC2tQl2h+tC29yeZFMWlaLGMQKydKpS7Qis+WFkIaEoBEWgoZlTDP744VExUlqXlSiWT19o7sSd4Z4Ex544OOcH+/zvd95+SRAmk/mtbh/4wuCgCcQMDDXAfhHIEmSSmAU2AUnFXJG5HIFi/7e0EyCtZIU8sRiKeS25ya1V9yz4mlsoPSEDZVKNSIE0UoESfFxm96XOc/S/bBD5P3Pd8HUDIC3v5eLFxwYtid+FQKDEsEuvW6L/HN8EOfpIm64nTDxCnyD8Mn7h88DMPmaVk81p4oLmPYNkJWRplyg026Q+dAOYx3UnjuCy1HIj3f3wM/bNpDbabhkpaz0ENP+d74HmFKD6EAXHy0zVAkvqmC0jqP7d2ArSGPCe5lfw1WcL87kQHoCky9rYLga3rgxJW8OooPYSJmeY/CshLbyLDorzfRdzeF43lZs+Yl0VmTwuD4XjyMd+q3w1IrJsCYIQcwKma4shq6lUlMUB/cz4VE2z+uS6XOJ/yjWdJm5btXQXbETerIx6SKUC/QxS+UvTWrKD69m/FY8tGihWQOtCXBX4F/f0TLVrBWZKHyNaszblisWpOjXq8aaLMsYca0UBaNEwYiZaYnkY/0q/Nk92sXfxJgmKRnTWFWY1JuyMRS7MZyS3WGzYjeGYdKEsiRcGhUCtRJBiAiuE+wV5AsOBiBPfN8n0Ci6KuZ6uQXsYEHw/x3Rb0cz+33ChmVFAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 15, + "TCMS": null + }, + { + "DMTCBS": 24620, + "DMTCBM": 1668, + "TCMC": "北京公园", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAltJREFUSEvdlV1IFFEUx+8M7ezSg5GZZe3DFoXaEpu7KztJ5rZLuevHQxHtQD1EJhUalX3hW1gGaaVui2n5AfVWK5aGSJGgmSj10FuRBUFBb1tRYaXsv3OHBHdLdybWFwd+cO7Mued//nfuzGUA2Hwyr8V54wtQgGm7zJSW8q/U+Pf51xJpqL+eckJEJWGIz/8fAYGKlBHNhI1oaWhsgM/n+0VxSTIEZLvT8SV4M0Rbgg3kOO3vqUsMjA1CEIReumeaKaLXgUiTO1q7O/CTZroKNkfrOhsRwQQ+4jPcRd4f8S70CshZDuun0amXeIF3CD5ux65DCp5jXB1fH7497cI47UKPAO++vSpcgwdU8g4G0Y0RbNzujJ4bCuI+xohR5PhdEzNd6BGQzY61katTYVxBGJdJIkRSyq1K5O53q/E19KBiuCbGhVYBtfvicDnOohPH0axyAi04+rUJq/PXRQ9+uIiTuIHTaIPFb+UuivkyaRVwLbWviiiTtVBQiwAu/OE89pEXW30hbJcKKa7HXtTB+6Scu+ih+kYtArz7tg13S+BFNQpQFYMbp7AlUoF0JRP534/BTT48OINU/xruolSLgGyyL4tkT5YhG5wDMWTR2IrDWNHkgrnLQ/ERFcuzUgiS2JVYQBRal/TmYSWZT8eeWQhg+bedWFydibRXfqS9KULqUw/EFMNIYgGD0Cf15UIa3wbp9dZZMb6lgoEMMEkYYiaxn4mMf9W7EwswtoOS79Gkh8wo9M/BIyoYJDIIiVikdRfx5E1EHiHPAX9u0f2zS/b5vACPzGQv0W8YgP+XsKlZuwAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 13, + "TCMS": null + }, + { + "DMTCBS": 33300, + "DMTCBM": 1, + "TCMC": "hfgdh", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 12634508, + "DMTCBM": 101, + "TCMC": "大洋", + "TCYS": { + "FontName": "宋体", + "FontSize": "28", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDQAACw0B7QfALAAAADtJREFUSEvtkrENAAAIg/r/0zVewGDcGNyINdi0zee8Lt/DDUADCFwLYAAaQMAfqAgNIGCLVIQGELBFA3+RuZtzE0BHAAAAAElFTkSuQmCCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 1, + "TCMS": null + }, + { + "DMTCBS": 12634511, + "DMTCBM": 701, + "TCMC": "台湾区县", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-663885", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAAAq5JREFUSEvtlctPU0EUh0GDC3cu3Llx7R/g0rgkwURotJAogVCkIASDiFqtCCYQhVSkD0pE5S1P5cJtuW2hFAp9ALf0yb1QUqApLULDK5q46JzxdmHCQtJckB2T/JI5yTnzzTlzZiYJY5x0mjrVxeMbPwMkrMA/HZIOjaa2iZTnNf2pGbn15YJcmURU1iL80DJ26bBPfH5UoxwJaB+wJhdUtN0VFqhCMjWFBsh5ROic0NxhQuLyL78yi5pfyz4azv8F8QYIHzQ9flU/hKbnVmBlfQttbO6h8OYBrIWi4PAGUVO7CadmyYZqldQ53hmIn7ZdL5V+RZb5APavRXEosguR7T3Y+LEP4a0DCG7uYdobBMk7AtLzlE94A9KyG0Z6tQvgYSN4ObiDA+EdCIb3YTW0i2k2jHVWP+43eJC624Zu56q2qxrIC7xKlP3o02+9mQXPcgQzgW3sX4+CkwkBafbDd+MiEEYGDxp80EU6UIm0B4mfdd7kBSit7MHj1iXs5DJwcxCbax0TEwwmzQyMTHIyMZztQ306F5LWDUOmWH2PF6BQ0oUo8yKimRCyuwKgmWbwqGUJU1YWRi0MaDmbnPTBgMGJJG+/4SJJh4AXICNPEeijaGxxryK9nQGdfQn0swwY5hjQc+JsrJlZRN3aeZRX3goPX3Zd5QUQiOTSGpUGyElXzDDng3GaBeMCAxOcjA4ONMuCxuwGRacR3cpuGOPdRW/kIxcF+Y1eRed4jJxxoPiiJg8LU14WcxCks7lRKzED90vVB2XVPdd4A+IBL+oGr2TkNzqrlQR0a+2YmKJjw2YaevV2JGulYncKFdHiyo4bx77J8cBqBZGSVawqSct5b8spU/8UVbTE0kVyRligrK2SD12WfaaSjwX4nz9cwuf2pLAzQMIKJHQ46Rn8ATAPZ7kkTkhUAAAAAElFTkSuQmCC", + "FontA": 255, + "FontR": 245, + "FontG": 222, + "FontB": 179, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 9, + "TCMS": null + }, + { + "DMTCBS": 2000100119401, + "DMTCBM": 1721, + "TCMC": "钓鱼岛及附近岛屿", + "TCYS": { + "FontName": "宋体", + "FontSize": "25", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUisiGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQsf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJOyhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaIb4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArouS49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0ivQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxRRKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKbF6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQDtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJEgeQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhMgqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgswkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYroQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHmsAdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQtJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzypOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrCWbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0SvoPfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05bRztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAUvdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZvxjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHIdmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Snt+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z/z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4RzwzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8YqpjZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbjkqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09mSWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvNe70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quFnbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1FDR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TLd1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/EXRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPqRudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEQAACxEBf2RfkQAAAh9JREFUOE+Nkl1Ik2EUx/eO3EYXRmaWtYsVhdqI5TbZksy1UW5+XBTRBnURmVRoVPaFd2EZpJW6xLT8gLqriakhUiRoJkpddFdkQVDQ3SoqrJT9Ou9LQpZbe+AH5zzPef7n/3zodMkNs5SlJlf6b9V6mWoRqoSUZEQUKSoXWgWb0NbY1Ijf7/8pcWkyAm670/E5fLMFKR7OddrfIWN4cgRFUQZkzpRIRC+LXe29XfyQTa7CzbH67iaiTPOBT3iKfd//58Kd7bB+nJh9wXPeEn7Uya5DIZ4xpeXXx27PuTAu5ELt3lkdqeW+bLnDCL2Ms3G7M3ZuNEwfk8IEuQHXdDwXbrNjbfTqbIQrRLgsEi0iFbpVRd5+jxZfo5/KsdoFXWjdSyIVnKWb47RqnKCNo1+aWV2wLnbw/UVOcoPTdGAJWFUXJX8ew7XUvioamqkjRB1BLvzmPPvEi62hCNulIokb2Es9vscVqot+EdDuQu3eseFuKT5qKKR6Hh5OsSVaSUYoi4Jvx/CIDy9nSAusUV2UqQJuk31ZNGemnBxUDswjW3Irh1nR7MLc45X4iIblaRmKQd8j/ZX2JQP5rBRzGeyJQ5DlX3eyuCaL9JcB0l8Xk/bEiz41ZVx+tzJoGMzDMLUNw6utcTG+kQ3BTHQGZVRn0g/JwdVfuVs9wg5J7snkA51RGUrAQ6kNC5mCQVg09wpqsknIV+8jAeq65e8f+AuVdEMq2QiqeQAAAABJRU5ErkJggg==", + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": "钓鱼岛" + }, + { + "DMTCBS": 2000100151307, + "DMTCBM": 1743, + "TCMC": "mark", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-65536", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 0, + "FontB": 0, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100151308, + "DMTCBM": 1744, + "TCMC": "mark", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-65536", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 0, + "FontB": 0, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100151311, + "DMTCBM": 1747, + "TCMC": "rr", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100151313, + "DMTCBM": 1749, + "TCMC": "122", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-256", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 0, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": "heheheh" + }, + { + "DMTCBS": 2000100151325, + "DMTCBM": 1761, + "TCMC": "test", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100151326, + "DMTCBM": 1762, + "TCMC": "2", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100153702, + "DMTCBM": 1767, + "TCMC": "测试", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-65408", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 255, + "BorderG": 0, + "BorderB": 128 + }, + "XSCJ": 7, + "TCMS": "测试" + }, + { + "DMTCBS": 2000100153703, + "DMTCBM": 1768, + "TCMC": "测试", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-65408", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 255, + "BorderG": 0, + "BorderB": 128 + }, + "XSCJ": 7, + "TCMS": "测试" + }, + { + "DMTCBS": 2000100154601, + "DMTCBM": 1771, + "TCMC": "fdsaf测试", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100154602, + "DMTCBM": 1772, + "TCMC": "TEST", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100154605, + "DMTCBM": 1775, + "TCMC": "你好", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100154606, + "DMTCBM": 1776, + "TCMC": "haha", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100154607, + "DMTCBM": 1777, + "TCMC": "测试", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100154608, + "DMTCBM": 1778, + "TCMC": "测试", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100154609, + "DMTCBM": 1779, + "TCMC": "测试", + "TCYS": { + "FontName": "宋体", + "FontSize": "17", + "FontColor": "-1", + "FontBolderColor": "-65536", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 255, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + }, + { + "DMTCBS": 2000100155901, + "DMTCBM": 1780, + "TCMC": "testtest", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-16711936", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 0, + "FontG": 255, + "FontB": 0, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 1, + "TCMS": null + }, + { + "DMTCBS": 2000100287524, + "DMTCBM": 1781, + "TCMC": "印度", + "TCYS": { + "FontName": "黑体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "True", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 9, + "TCMS": null + }, + { + "DMTCBS": 2000100287525, + "DMTCBM": 1782, + "TCMC": "test", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 17, + "TCMS": "test" + }, + { + "DMTCBS": 2000100287526, + "DMTCBM": 1783, + "TCMC": "123456", + "TCYS": { + "FontName": "宋体", + "FontSize": "22", + "FontColor": "-1", + "FontBolderColor": "-16777216", + "ImageDisplay": "False", + "ImageString": null, + "FontA": 255, + "FontR": 255, + "FontG": 255, + "FontB": 255, + "BorderA": 255, + "BorderR": 0, + "BorderG": 0, + "BorderB": 0 + }, + "XSCJ": 7, + "TCMS": null + } +] \ No newline at end of file diff --git a/public/GV/config/register.json b/public/GV/config/register.json new file mode 100644 index 000000000..2abff5215 --- /dev/null +++ b/public/GV/config/register.json @@ -0,0 +1,5 @@ +{ + "url": "http://192.168.10.208:8610/api/v1/licence/status2?productName=iexplorer_112&moduleName=sdk", + "socketUrl": "ws://192.168.10.208:8610/verify/iexplorer/sdk", + "betaIdentity": "buildiesdkfortestkey" +} diff --git a/public/GV/resources/clounds/1.png b/public/GV/resources/clounds/1.png new file mode 100644 index 000000000..1c44cf594 Binary files /dev/null and b/public/GV/resources/clounds/1.png differ diff --git a/public/GV/resources/clounds/5.png b/public/GV/resources/clounds/5.png new file mode 100644 index 000000000..2531bac82 Binary files /dev/null and b/public/GV/resources/clounds/5.png differ diff --git a/public/GV/resources/clounds/6.png b/public/GV/resources/clounds/6.png new file mode 100644 index 000000000..e052ae009 Binary files /dev/null and b/public/GV/resources/clounds/6.png differ diff --git a/public/GV/resources/clounds/cumuloniumbus.png b/public/GV/resources/clounds/cumuloniumbus.png new file mode 100644 index 000000000..40d18d7fe Binary files /dev/null and b/public/GV/resources/clounds/cumuloniumbus.png differ diff --git a/public/GV/resources/image/Height.png b/public/GV/resources/image/Height.png new file mode 100644 index 000000000..9e2c8dc0f Binary files /dev/null and b/public/GV/resources/image/Height.png differ diff --git a/public/GV/resources/image/JPlace/capital.png b/public/GV/resources/image/JPlace/capital.png new file mode 100644 index 000000000..679630729 Binary files /dev/null and b/public/GV/resources/image/JPlace/capital.png differ diff --git a/public/GV/resources/image/JPlace/chengzhen.png b/public/GV/resources/image/JPlace/chengzhen.png new file mode 100644 index 000000000..85684661e Binary files /dev/null and b/public/GV/resources/image/JPlace/chengzhen.png differ diff --git a/public/GV/resources/image/JPlace/shenghui.png b/public/GV/resources/image/JPlace/shenghui.png new file mode 100644 index 000000000..42ce63a10 Binary files /dev/null and b/public/GV/resources/image/JPlace/shenghui.png differ diff --git a/public/GV/resources/image/MoonBackGroundImg.jpg b/public/GV/resources/image/MoonBackGroundImg.jpg new file mode 100644 index 000000000..cd04f8cbd Binary files /dev/null and b/public/GV/resources/image/MoonBackGroundImg.jpg differ diff --git a/public/GV/resources/image/Move.png b/public/GV/resources/image/Move.png new file mode 100644 index 000000000..ed70ff5b4 Binary files /dev/null and b/public/GV/resources/image/Move.png differ diff --git a/public/GV/resources/image/RotateX.png b/public/GV/resources/image/RotateX.png new file mode 100644 index 000000000..ad56d949b Binary files /dev/null and b/public/GV/resources/image/RotateX.png differ diff --git a/public/GV/resources/image/RotateY.png b/public/GV/resources/image/RotateY.png new file mode 100644 index 000000000..9c15425fb Binary files /dev/null and b/public/GV/resources/image/RotateY.png differ diff --git a/public/GV/resources/image/RotateZ.png b/public/GV/resources/image/RotateZ.png new file mode 100644 index 000000000..c5a666c8d Binary files /dev/null and b/public/GV/resources/image/RotateZ.png differ diff --git a/public/GV/resources/image/Scale.png b/public/GV/resources/image/Scale.png new file mode 100644 index 000000000..ea5102481 Binary files /dev/null and b/public/GV/resources/image/Scale.png differ diff --git a/public/GV/resources/image/arrow-down.png b/public/GV/resources/image/arrow-down.png new file mode 100644 index 000000000..3485ddd49 Binary files /dev/null and b/public/GV/resources/image/arrow-down.png differ diff --git a/public/GV/resources/image/arrow-left.png b/public/GV/resources/image/arrow-left.png new file mode 100644 index 000000000..17d95fbe9 Binary files /dev/null and b/public/GV/resources/image/arrow-left.png differ diff --git a/public/GV/resources/image/arrow-right.png b/public/GV/resources/image/arrow-right.png new file mode 100644 index 000000000..2d1b72ba7 Binary files /dev/null and b/public/GV/resources/image/arrow-right.png differ diff --git a/public/GV/resources/image/arrow-up.png b/public/GV/resources/image/arrow-up.png new file mode 100644 index 000000000..ea0c1da64 Binary files /dev/null and b/public/GV/resources/image/arrow-up.png differ diff --git a/public/GV/resources/image/arrow.png b/public/GV/resources/image/arrow.png new file mode 100644 index 000000000..e1e63ac7f Binary files /dev/null and b/public/GV/resources/image/arrow.png differ diff --git a/public/GV/resources/image/circular_particle.png b/public/GV/resources/image/circular_particle.png new file mode 100644 index 000000000..ca1cc10d6 Binary files /dev/null and b/public/GV/resources/image/circular_particle.png differ diff --git a/public/GV/resources/image/cluster.svg b/public/GV/resources/image/cluster.svg new file mode 100644 index 000000000..fe3e5ce50 --- /dev/null +++ b/public/GV/resources/image/cluster.svg @@ -0,0 +1 @@ +24资源 3100 \ No newline at end of file diff --git a/public/GV/resources/image/dash.png b/public/GV/resources/image/dash.png new file mode 100644 index 000000000..f60df71a9 Binary files /dev/null and b/public/GV/resources/image/dash.png differ diff --git a/public/GV/resources/image/defenseEllipsoid.jpg b/public/GV/resources/image/defenseEllipsoid.jpg new file mode 100644 index 000000000..f90bf78f1 Binary files /dev/null and b/public/GV/resources/image/defenseEllipsoid.jpg differ diff --git a/public/GV/resources/image/excavate_bottom_min.jpg b/public/GV/resources/image/excavate_bottom_min.jpg new file mode 100644 index 000000000..192da09c6 Binary files /dev/null and b/public/GV/resources/image/excavate_bottom_min.jpg differ diff --git a/public/GV/resources/image/excavate_side_min.jpg b/public/GV/resources/image/excavate_side_min.jpg new file mode 100644 index 000000000..08ebd7624 Binary files /dev/null and b/public/GV/resources/image/excavate_side_min.jpg differ diff --git a/public/GV/resources/image/eye.png b/public/GV/resources/image/eye.png new file mode 100644 index 000000000..a279afe2e Binary files /dev/null and b/public/GV/resources/image/eye.png differ diff --git a/public/GV/resources/image/facility.gif b/public/GV/resources/image/facility.gif new file mode 100644 index 000000000..a4f809310 Binary files /dev/null and b/public/GV/resources/image/facility.gif differ diff --git a/public/GV/resources/image/fire.png b/public/GV/resources/image/fire.png new file mode 100644 index 000000000..c826c442a Binary files /dev/null and b/public/GV/resources/image/fire.png differ diff --git a/public/GV/resources/image/globe.jpg b/public/GV/resources/image/globe.jpg new file mode 100644 index 000000000..f0516fbec Binary files /dev/null and b/public/GV/resources/image/globe.jpg differ diff --git a/public/GV/resources/image/noise.jpg b/public/GV/resources/image/noise.jpg new file mode 100644 index 000000000..9eca152fc Binary files /dev/null and b/public/GV/resources/image/noise.jpg differ diff --git a/public/GV/resources/image/remove.png b/public/GV/resources/image/remove.png new file mode 100644 index 000000000..5587bd985 Binary files /dev/null and b/public/GV/resources/image/remove.png differ diff --git a/public/GV/resources/image/scan.png b/public/GV/resources/image/scan.png new file mode 100644 index 000000000..f4be91b2b Binary files /dev/null and b/public/GV/resources/image/scan.png differ diff --git a/public/GV/resources/image/smoke.png b/public/GV/resources/image/smoke.png new file mode 100644 index 000000000..aff6da750 Binary files /dev/null and b/public/GV/resources/image/smoke.png differ diff --git a/public/GV/resources/image/specialLine/ArrowOpacity.png b/public/GV/resources/image/specialLine/ArrowOpacity.png new file mode 100644 index 000000000..55ca5a6b9 Binary files /dev/null and b/public/GV/resources/image/specialLine/ArrowOpacity.png differ diff --git a/public/GV/resources/image/specialLine/ArrowTransparent.png b/public/GV/resources/image/specialLine/ArrowTransparent.png new file mode 100644 index 000000000..e7e269619 Binary files /dev/null and b/public/GV/resources/image/specialLine/ArrowTransparent.png differ diff --git a/public/GV/resources/image/specialLine/DataTransLine.png b/public/GV/resources/image/specialLine/DataTransLine.png new file mode 100644 index 000000000..df87376d9 Binary files /dev/null and b/public/GV/resources/image/specialLine/DataTransLine.png differ diff --git a/public/GV/resources/image/specialLine/DotTransparent.png b/public/GV/resources/image/specialLine/DotTransparent.png new file mode 100644 index 000000000..e6f37625a Binary files /dev/null and b/public/GV/resources/image/specialLine/DotTransparent.png differ diff --git a/public/GV/resources/image/specialLine/LinkPulse.png b/public/GV/resources/image/specialLine/LinkPulse.png new file mode 100644 index 000000000..02d0928c6 Binary files /dev/null and b/public/GV/resources/image/specialLine/LinkPulse.png differ diff --git a/public/GV/resources/image/specialLine/LinkPulse_副本.png b/public/GV/resources/image/specialLine/LinkPulse_副本.png new file mode 100644 index 000000000..02d0928c6 Binary files /dev/null and b/public/GV/resources/image/specialLine/LinkPulse_副本.png differ diff --git a/public/GV/resources/image/specialLine/LinkTrail.png b/public/GV/resources/image/specialLine/LinkTrail.png new file mode 100644 index 000000000..f7862884f Binary files /dev/null and b/public/GV/resources/image/specialLine/LinkTrail.png differ diff --git a/public/GV/resources/image/specialLine/Trail.png b/public/GV/resources/image/specialLine/Trail.png new file mode 100644 index 000000000..7f73686ac Binary files /dev/null and b/public/GV/resources/image/specialLine/Trail.png differ diff --git a/public/GV/resources/image/specialLine/Trail1.png b/public/GV/resources/image/specialLine/Trail1.png new file mode 100644 index 000000000..c88fe6386 Binary files /dev/null and b/public/GV/resources/image/specialLine/Trail1.png differ diff --git a/public/GV/resources/image/specialLine/alpha.png b/public/GV/resources/image/specialLine/alpha.png new file mode 100644 index 000000000..f0aace2a2 Binary files /dev/null and b/public/GV/resources/image/specialLine/alpha.png differ diff --git a/public/GV/resources/image/specialLine/ironbar.png b/public/GV/resources/image/specialLine/ironbar.png new file mode 100644 index 000000000..5a1ca9f24 Binary files /dev/null and b/public/GV/resources/image/specialLine/ironbar.png differ diff --git a/public/GV/resources/image/specialLine/wirenetting.png b/public/GV/resources/image/specialLine/wirenetting.png new file mode 100644 index 000000000..8209fc12a Binary files /dev/null and b/public/GV/resources/image/specialLine/wirenetting.png differ diff --git a/public/GV/resources/image/tuodong.png b/public/GV/resources/image/tuodong.png new file mode 100644 index 000000000..1c311a82c Binary files /dev/null and b/public/GV/resources/image/tuodong.png differ diff --git a/public/GV/resources/image/旋转.png b/public/GV/resources/image/旋转.png new file mode 100644 index 000000000..115846570 Binary files /dev/null and b/public/GV/resources/image/旋转.png differ diff --git a/public/GV/resources/localscene/1.jpg b/public/GV/resources/localscene/1.jpg new file mode 100644 index 000000000..de94c3a53 Binary files /dev/null and b/public/GV/resources/localscene/1.jpg differ diff --git a/public/GV/resources/localscene/1.png b/public/GV/resources/localscene/1.png new file mode 100644 index 000000000..e74570b16 Binary files /dev/null and b/public/GV/resources/localscene/1.png differ diff --git a/public/GV/resources/localscene/MarkParticle.png b/public/GV/resources/localscene/MarkParticle.png new file mode 100644 index 000000000..2fd7e574f Binary files /dev/null and b/public/GV/resources/localscene/MarkParticle.png differ diff --git a/public/GV/resources/localscene/WaterN_Thing2.jpg b/public/GV/resources/localscene/WaterN_Thing2.jpg new file mode 100644 index 000000000..809b50020 Binary files /dev/null and b/public/GV/resources/localscene/WaterN_Thing2.jpg differ diff --git a/public/GV/resources/localscene/Water_1_M_Normal.jpg b/public/GV/resources/localscene/Water_1_M_Normal.jpg new file mode 100644 index 000000000..40226fbc3 Binary files /dev/null and b/public/GV/resources/localscene/Water_1_M_Normal.jpg differ diff --git a/public/GV/resources/localscene/Water_2_M_Normal.jpg b/public/GV/resources/localscene/Water_2_M_Normal.jpg new file mode 100644 index 000000000..809b50020 Binary files /dev/null and b/public/GV/resources/localscene/Water_2_M_Normal.jpg differ diff --git a/public/GV/resources/localscene/base2Particle.png b/public/GV/resources/localscene/base2Particle.png new file mode 100644 index 000000000..744fe4d7c Binary files /dev/null and b/public/GV/resources/localscene/base2Particle.png differ diff --git a/public/GV/resources/localscene/continuity_yellow_01.png b/public/GV/resources/localscene/continuity_yellow_01.png new file mode 100644 index 000000000..1cd83647d Binary files /dev/null and b/public/GV/resources/localscene/continuity_yellow_01.png differ diff --git a/public/GV/resources/localscene/earthspec1k.jpg b/public/GV/resources/localscene/earthspec1k.jpg new file mode 100644 index 000000000..1d7164690 Binary files /dev/null and b/public/GV/resources/localscene/earthspec1k.jpg differ diff --git a/public/GV/resources/localscene/g_1_t_0.png b/public/GV/resources/localscene/g_1_t_0.png new file mode 100644 index 000000000..c6a262c9e Binary files /dev/null and b/public/GV/resources/localscene/g_1_t_0.png differ diff --git a/public/GV/resources/localscene/g_1_w_1.png b/public/GV/resources/localscene/g_1_w_1.png new file mode 100644 index 000000000..52facdb01 Binary files /dev/null and b/public/GV/resources/localscene/g_1_w_1.png differ diff --git a/public/GV/resources/localscene/g_1_w_8.png b/public/GV/resources/localscene/g_1_w_8.png new file mode 100644 index 000000000..be466f93b Binary files /dev/null and b/public/GV/resources/localscene/g_1_w_8.png differ diff --git a/public/GV/resources/localscene/gradual_change_red.png b/public/GV/resources/localscene/gradual_change_red.png new file mode 100644 index 000000000..2265449c7 Binary files /dev/null and b/public/GV/resources/localscene/gradual_change_red.png differ diff --git a/public/GV/resources/localscene/grasslight-big.jpg b/public/GV/resources/localscene/grasslight-big.jpg new file mode 100644 index 000000000..ed6c7f85a Binary files /dev/null and b/public/GV/resources/localscene/grasslight-big.jpg differ diff --git a/public/GV/resources/localscene/icon.png b/public/GV/resources/localscene/icon.png new file mode 100644 index 000000000..d420ac128 Binary files /dev/null and b/public/GV/resources/localscene/icon.png differ diff --git a/public/GV/resources/localscene/lightFlow_strip.png b/public/GV/resources/localscene/lightFlow_strip.png new file mode 100644 index 000000000..0e68f844b Binary files /dev/null and b/public/GV/resources/localscene/lightFlow_strip.png differ diff --git a/public/GV/resources/localscene/lightFlow_strip07.png b/public/GV/resources/localscene/lightFlow_strip07.png new file mode 100644 index 000000000..bcee35c57 Binary files /dev/null and b/public/GV/resources/localscene/lightFlow_strip07.png differ diff --git a/public/GV/resources/localscene/lightray.jpg b/public/GV/resources/localscene/lightray.jpg new file mode 100644 index 000000000..1cfef4d31 Binary files /dev/null and b/public/GV/resources/localscene/lightray.jpg differ diff --git a/public/GV/resources/localscene/lightray_yellow.jpg b/public/GV/resources/localscene/lightray_yellow.jpg new file mode 100644 index 000000000..ed9297fba Binary files /dev/null and b/public/GV/resources/localscene/lightray_yellow.jpg differ diff --git a/public/GV/resources/localscene/mesh.png b/public/GV/resources/localscene/mesh.png new file mode 100644 index 000000000..481943414 Binary files /dev/null and b/public/GV/resources/localscene/mesh.png differ diff --git a/public/GV/resources/localscene/particles.png b/public/GV/resources/localscene/particles.png new file mode 100644 index 000000000..2fd7e574f Binary files /dev/null and b/public/GV/resources/localscene/particles.png differ diff --git a/public/GV/resources/localscene/raindrop2flip.png b/public/GV/resources/localscene/raindrop2flip.png new file mode 100644 index 000000000..96e7b4cdb Binary files /dev/null and b/public/GV/resources/localscene/raindrop2flip.png differ diff --git a/public/GV/resources/localscene/refraction.jpg b/public/GV/resources/localscene/refraction.jpg new file mode 100644 index 000000000..66e63a67a Binary files /dev/null and b/public/GV/resources/localscene/refraction.jpg differ diff --git a/public/GV/resources/localscene/smokeparticle.png b/public/GV/resources/localscene/smokeparticle.png new file mode 100644 index 000000000..7bad8c685 Binary files /dev/null and b/public/GV/resources/localscene/smokeparticle.png differ diff --git a/public/GV/resources/localscene/snowflake.png b/public/GV/resources/localscene/snowflake.png new file mode 100644 index 000000000..1af4287e6 Binary files /dev/null and b/public/GV/resources/localscene/snowflake.png differ diff --git a/public/GV/resources/localscene/spark.png b/public/GV/resources/localscene/spark.png new file mode 100644 index 000000000..d3a0c9f1d Binary files /dev/null and b/public/GV/resources/localscene/spark.png differ diff --git a/public/GV/resources/localscene/spikey.png b/public/GV/resources/localscene/spikey.png new file mode 100644 index 000000000..0d01c96ab Binary files /dev/null and b/public/GV/resources/localscene/spikey.png differ diff --git a/public/GV/resources/localscene/star.png b/public/GV/resources/localscene/star.png new file mode 100644 index 000000000..4f207f443 Binary files /dev/null and b/public/GV/resources/localscene/star.png differ diff --git a/public/GV/resources/localscene/top.jpg b/public/GV/resources/localscene/top.jpg new file mode 100644 index 000000000..ecd082a57 Binary files /dev/null and b/public/GV/resources/localscene/top.jpg differ diff --git a/public/GV/resources/localscene/track.png b/public/GV/resources/localscene/track.png new file mode 100644 index 000000000..c16eeddd7 Binary files /dev/null and b/public/GV/resources/localscene/track.png differ diff --git a/public/GV/resources/localscene/waterN_Thing.jpg b/public/GV/resources/localscene/waterN_Thing.jpg new file mode 100644 index 000000000..9dfe03ce4 Binary files /dev/null and b/public/GV/resources/localscene/waterN_Thing.jpg differ diff --git a/public/GV/resources/localscene/waternormals.jpg b/public/GV/resources/localscene/waternormals.jpg new file mode 100644 index 000000000..9dfe03ce4 Binary files /dev/null and b/public/GV/resources/localscene/waternormals.jpg differ diff --git a/public/GV/resources/millib/military.wasm b/public/GV/resources/millib/military.wasm new file mode 100644 index 000000000..d8ce95a18 Binary files /dev/null and b/public/GV/resources/millib/military.wasm differ diff --git a/public/GV/resources/model/wx.glb b/public/GV/resources/model/wx.glb new file mode 100644 index 000000000..382699cfd Binary files /dev/null and b/public/GV/resources/model/wx.glb differ diff --git a/public/GV/resources/theme/earthTheme/0/0/0.jpg b/public/GV/resources/theme/earthTheme/0/0/0.jpg new file mode 100644 index 000000000..474b8614e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/0/0/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/0/1/0.jpg b/public/GV/resources/theme/earthTheme/0/1/0.jpg new file mode 100644 index 000000000..16814985e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/0/1/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/1/0/0.jpg b/public/GV/resources/theme/earthTheme/1/0/0.jpg new file mode 100644 index 000000000..4024227ea Binary files /dev/null and b/public/GV/resources/theme/earthTheme/1/0/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/1/0/1.jpg b/public/GV/resources/theme/earthTheme/1/0/1.jpg new file mode 100644 index 000000000..4767d45b8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/1/0/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/1/1/0.jpg b/public/GV/resources/theme/earthTheme/1/1/0.jpg new file mode 100644 index 000000000..b2afd2560 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/1/1/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/1/1/1.jpg b/public/GV/resources/theme/earthTheme/1/1/1.jpg new file mode 100644 index 000000000..9ad839cd1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/1/1/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/1/2/0.jpg b/public/GV/resources/theme/earthTheme/1/2/0.jpg new file mode 100644 index 000000000..7460aa50d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/1/2/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/1/2/1.jpg b/public/GV/resources/theme/earthTheme/1/2/1.jpg new file mode 100644 index 000000000..dbffef49c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/1/2/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/1/3/0.jpg b/public/GV/resources/theme/earthTheme/1/3/0.jpg new file mode 100644 index 000000000..845993a10 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/1/3/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/1/3/1.jpg b/public/GV/resources/theme/earthTheme/1/3/1.jpg new file mode 100644 index 000000000..49cce31c9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/1/3/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/0/0.jpg b/public/GV/resources/theme/earthTheme/2/0/0.jpg new file mode 100644 index 000000000..61560c0bb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/0/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/0/1.jpg b/public/GV/resources/theme/earthTheme/2/0/1.jpg new file mode 100644 index 000000000..d1e1c94ca Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/0/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/0/2.jpg b/public/GV/resources/theme/earthTheme/2/0/2.jpg new file mode 100644 index 000000000..60f09d919 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/0/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/0/3.jpg b/public/GV/resources/theme/earthTheme/2/0/3.jpg new file mode 100644 index 000000000..c4a6afcba Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/0/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/1/0.jpg b/public/GV/resources/theme/earthTheme/2/1/0.jpg new file mode 100644 index 000000000..c05c3c564 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/1/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/1/1.jpg b/public/GV/resources/theme/earthTheme/2/1/1.jpg new file mode 100644 index 000000000..e5288c67b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/1/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/1/2.jpg b/public/GV/resources/theme/earthTheme/2/1/2.jpg new file mode 100644 index 000000000..1a7f7949f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/1/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/1/3.jpg b/public/GV/resources/theme/earthTheme/2/1/3.jpg new file mode 100644 index 000000000..9009b79c4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/1/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/2/0.jpg b/public/GV/resources/theme/earthTheme/2/2/0.jpg new file mode 100644 index 000000000..50c5f61de Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/2/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/2/1.jpg b/public/GV/resources/theme/earthTheme/2/2/1.jpg new file mode 100644 index 000000000..b93e988d0 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/2/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/2/2.jpg b/public/GV/resources/theme/earthTheme/2/2/2.jpg new file mode 100644 index 000000000..4a298bbac Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/2/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/2/3.jpg b/public/GV/resources/theme/earthTheme/2/2/3.jpg new file mode 100644 index 000000000..978e7f05b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/2/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/3/0.jpg b/public/GV/resources/theme/earthTheme/2/3/0.jpg new file mode 100644 index 000000000..b675285a9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/3/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/3/1.jpg b/public/GV/resources/theme/earthTheme/2/3/1.jpg new file mode 100644 index 000000000..089d2f51d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/3/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/3/2.jpg b/public/GV/resources/theme/earthTheme/2/3/2.jpg new file mode 100644 index 000000000..a700e18e0 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/3/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/3/3.jpg b/public/GV/resources/theme/earthTheme/2/3/3.jpg new file mode 100644 index 000000000..ac14d6f39 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/3/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/4/0.jpg b/public/GV/resources/theme/earthTheme/2/4/0.jpg new file mode 100644 index 000000000..83545cbee Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/4/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/4/1.jpg b/public/GV/resources/theme/earthTheme/2/4/1.jpg new file mode 100644 index 000000000..e44e35538 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/4/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/4/2.jpg b/public/GV/resources/theme/earthTheme/2/4/2.jpg new file mode 100644 index 000000000..e490efe06 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/4/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/4/3.jpg b/public/GV/resources/theme/earthTheme/2/4/3.jpg new file mode 100644 index 000000000..08f772712 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/4/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/5/0.jpg b/public/GV/resources/theme/earthTheme/2/5/0.jpg new file mode 100644 index 000000000..1a472aa6b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/5/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/5/1.jpg b/public/GV/resources/theme/earthTheme/2/5/1.jpg new file mode 100644 index 000000000..f4c697c52 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/5/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/5/2.jpg b/public/GV/resources/theme/earthTheme/2/5/2.jpg new file mode 100644 index 000000000..1e33c3883 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/5/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/5/3.jpg b/public/GV/resources/theme/earthTheme/2/5/3.jpg new file mode 100644 index 000000000..e7a6cfc84 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/5/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/6/0.jpg b/public/GV/resources/theme/earthTheme/2/6/0.jpg new file mode 100644 index 000000000..4c39c205d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/6/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/6/1.jpg b/public/GV/resources/theme/earthTheme/2/6/1.jpg new file mode 100644 index 000000000..d69949a97 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/6/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/6/2.jpg b/public/GV/resources/theme/earthTheme/2/6/2.jpg new file mode 100644 index 000000000..c86b5d753 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/6/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/6/3.jpg b/public/GV/resources/theme/earthTheme/2/6/3.jpg new file mode 100644 index 000000000..daf985da4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/6/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/7/0.jpg b/public/GV/resources/theme/earthTheme/2/7/0.jpg new file mode 100644 index 000000000..fce454f1f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/7/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/7/1.jpg b/public/GV/resources/theme/earthTheme/2/7/1.jpg new file mode 100644 index 000000000..fd47e52fc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/7/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/7/2.jpg b/public/GV/resources/theme/earthTheme/2/7/2.jpg new file mode 100644 index 000000000..ee44e4205 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/7/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/2/7/3.jpg b/public/GV/resources/theme/earthTheme/2/7/3.jpg new file mode 100644 index 000000000..677cd2c90 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/2/7/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/0/0.jpg b/public/GV/resources/theme/earthTheme/3/0/0.jpg new file mode 100644 index 000000000..e2a85c0b6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/0/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/0/1.jpg b/public/GV/resources/theme/earthTheme/3/0/1.jpg new file mode 100644 index 000000000..b25dc502d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/0/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/0/2.jpg b/public/GV/resources/theme/earthTheme/3/0/2.jpg new file mode 100644 index 000000000..a555749e7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/0/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/0/3.jpg b/public/GV/resources/theme/earthTheme/3/0/3.jpg new file mode 100644 index 000000000..76cd35b5a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/0/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/0/4.jpg b/public/GV/resources/theme/earthTheme/3/0/4.jpg new file mode 100644 index 000000000..521d241b7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/0/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/0/5.jpg b/public/GV/resources/theme/earthTheme/3/0/5.jpg new file mode 100644 index 000000000..af3651f88 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/0/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/0/6.jpg b/public/GV/resources/theme/earthTheme/3/0/6.jpg new file mode 100644 index 000000000..03272a944 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/0/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/0/7.jpg b/public/GV/resources/theme/earthTheme/3/0/7.jpg new file mode 100644 index 000000000..43056cff7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/0/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/1/0.jpg b/public/GV/resources/theme/earthTheme/3/1/0.jpg new file mode 100644 index 000000000..003954750 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/1/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/1/1.jpg b/public/GV/resources/theme/earthTheme/3/1/1.jpg new file mode 100644 index 000000000..1cc148921 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/1/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/1/2.jpg b/public/GV/resources/theme/earthTheme/3/1/2.jpg new file mode 100644 index 000000000..f0747633a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/1/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/1/3.jpg b/public/GV/resources/theme/earthTheme/3/1/3.jpg new file mode 100644 index 000000000..46d141a93 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/1/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/1/4.jpg b/public/GV/resources/theme/earthTheme/3/1/4.jpg new file mode 100644 index 000000000..33e5fcee5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/1/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/1/5.jpg b/public/GV/resources/theme/earthTheme/3/1/5.jpg new file mode 100644 index 000000000..397183f09 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/1/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/1/6.jpg b/public/GV/resources/theme/earthTheme/3/1/6.jpg new file mode 100644 index 000000000..0ae071366 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/1/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/1/7.jpg b/public/GV/resources/theme/earthTheme/3/1/7.jpg new file mode 100644 index 000000000..85da337a6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/1/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/10/0.jpg b/public/GV/resources/theme/earthTheme/3/10/0.jpg new file mode 100644 index 000000000..5b08ff318 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/10/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/10/1.jpg b/public/GV/resources/theme/earthTheme/3/10/1.jpg new file mode 100644 index 000000000..52bd843eb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/10/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/10/2.jpg b/public/GV/resources/theme/earthTheme/3/10/2.jpg new file mode 100644 index 000000000..14b44b194 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/10/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/10/3.jpg b/public/GV/resources/theme/earthTheme/3/10/3.jpg new file mode 100644 index 000000000..6b4614f59 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/10/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/10/4.jpg b/public/GV/resources/theme/earthTheme/3/10/4.jpg new file mode 100644 index 000000000..cb3bf64e9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/10/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/10/5.jpg b/public/GV/resources/theme/earthTheme/3/10/5.jpg new file mode 100644 index 000000000..6fca00cab Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/10/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/10/6.jpg b/public/GV/resources/theme/earthTheme/3/10/6.jpg new file mode 100644 index 000000000..a4359a39a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/10/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/10/7.jpg b/public/GV/resources/theme/earthTheme/3/10/7.jpg new file mode 100644 index 000000000..ed956c043 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/10/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/11/0.jpg b/public/GV/resources/theme/earthTheme/3/11/0.jpg new file mode 100644 index 000000000..055f4424c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/11/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/11/1.jpg b/public/GV/resources/theme/earthTheme/3/11/1.jpg new file mode 100644 index 000000000..9dab0a9df Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/11/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/11/2.jpg b/public/GV/resources/theme/earthTheme/3/11/2.jpg new file mode 100644 index 000000000..e72156cd7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/11/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/11/3.jpg b/public/GV/resources/theme/earthTheme/3/11/3.jpg new file mode 100644 index 000000000..0c99da781 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/11/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/11/4.jpg b/public/GV/resources/theme/earthTheme/3/11/4.jpg new file mode 100644 index 000000000..11a5c7210 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/11/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/11/5.jpg b/public/GV/resources/theme/earthTheme/3/11/5.jpg new file mode 100644 index 000000000..4fac7faa5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/11/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/11/6.jpg b/public/GV/resources/theme/earthTheme/3/11/6.jpg new file mode 100644 index 000000000..b5052fd43 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/11/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/11/7.jpg b/public/GV/resources/theme/earthTheme/3/11/7.jpg new file mode 100644 index 000000000..24ef64798 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/11/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/12/0.jpg b/public/GV/resources/theme/earthTheme/3/12/0.jpg new file mode 100644 index 000000000..940ff9b68 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/12/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/12/1.jpg b/public/GV/resources/theme/earthTheme/3/12/1.jpg new file mode 100644 index 000000000..7d66ae0b4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/12/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/12/2.jpg b/public/GV/resources/theme/earthTheme/3/12/2.jpg new file mode 100644 index 000000000..973544b19 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/12/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/12/3.jpg b/public/GV/resources/theme/earthTheme/3/12/3.jpg new file mode 100644 index 000000000..208ef7c54 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/12/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/12/4.jpg b/public/GV/resources/theme/earthTheme/3/12/4.jpg new file mode 100644 index 000000000..3c013b03d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/12/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/12/5.jpg b/public/GV/resources/theme/earthTheme/3/12/5.jpg new file mode 100644 index 000000000..5afe05335 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/12/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/12/6.jpg b/public/GV/resources/theme/earthTheme/3/12/6.jpg new file mode 100644 index 000000000..7d950da93 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/12/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/12/7.jpg b/public/GV/resources/theme/earthTheme/3/12/7.jpg new file mode 100644 index 000000000..3c93270dc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/12/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/13/0.jpg b/public/GV/resources/theme/earthTheme/3/13/0.jpg new file mode 100644 index 000000000..b09669365 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/13/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/13/1.jpg b/public/GV/resources/theme/earthTheme/3/13/1.jpg new file mode 100644 index 000000000..e37f428f6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/13/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/13/2.jpg b/public/GV/resources/theme/earthTheme/3/13/2.jpg new file mode 100644 index 000000000..53320609e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/13/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/13/3.jpg b/public/GV/resources/theme/earthTheme/3/13/3.jpg new file mode 100644 index 000000000..16d9f0fa6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/13/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/13/4.jpg b/public/GV/resources/theme/earthTheme/3/13/4.jpg new file mode 100644 index 000000000..48d963a9d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/13/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/13/5.jpg b/public/GV/resources/theme/earthTheme/3/13/5.jpg new file mode 100644 index 000000000..56dc87809 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/13/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/13/6.jpg b/public/GV/resources/theme/earthTheme/3/13/6.jpg new file mode 100644 index 000000000..2bef55317 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/13/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/13/7.jpg b/public/GV/resources/theme/earthTheme/3/13/7.jpg new file mode 100644 index 000000000..65b01bda1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/13/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/14/0.jpg b/public/GV/resources/theme/earthTheme/3/14/0.jpg new file mode 100644 index 000000000..89f5188f3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/14/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/14/1.jpg b/public/GV/resources/theme/earthTheme/3/14/1.jpg new file mode 100644 index 000000000..79a95b552 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/14/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/14/2.jpg b/public/GV/resources/theme/earthTheme/3/14/2.jpg new file mode 100644 index 000000000..3822aae86 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/14/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/14/3.jpg b/public/GV/resources/theme/earthTheme/3/14/3.jpg new file mode 100644 index 000000000..d190ce7bc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/14/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/14/4.jpg b/public/GV/resources/theme/earthTheme/3/14/4.jpg new file mode 100644 index 000000000..21e639cfa Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/14/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/14/5.jpg b/public/GV/resources/theme/earthTheme/3/14/5.jpg new file mode 100644 index 000000000..b8841e036 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/14/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/14/6.jpg b/public/GV/resources/theme/earthTheme/3/14/6.jpg new file mode 100644 index 000000000..2668ad6cf Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/14/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/14/7.jpg b/public/GV/resources/theme/earthTheme/3/14/7.jpg new file mode 100644 index 000000000..ce8284d11 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/14/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/15/0.jpg b/public/GV/resources/theme/earthTheme/3/15/0.jpg new file mode 100644 index 000000000..ed749ba27 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/15/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/15/1.jpg b/public/GV/resources/theme/earthTheme/3/15/1.jpg new file mode 100644 index 000000000..c450198b7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/15/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/15/2.jpg b/public/GV/resources/theme/earthTheme/3/15/2.jpg new file mode 100644 index 000000000..e085cef55 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/15/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/15/3.jpg b/public/GV/resources/theme/earthTheme/3/15/3.jpg new file mode 100644 index 000000000..7270d6eac Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/15/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/15/4.jpg b/public/GV/resources/theme/earthTheme/3/15/4.jpg new file mode 100644 index 000000000..12aed5dbc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/15/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/15/5.jpg b/public/GV/resources/theme/earthTheme/3/15/5.jpg new file mode 100644 index 000000000..784d2aec8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/15/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/15/6.jpg b/public/GV/resources/theme/earthTheme/3/15/6.jpg new file mode 100644 index 000000000..216459e33 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/15/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/15/7.jpg b/public/GV/resources/theme/earthTheme/3/15/7.jpg new file mode 100644 index 000000000..c4ac44208 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/15/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/2/0.jpg b/public/GV/resources/theme/earthTheme/3/2/0.jpg new file mode 100644 index 000000000..223087bb2 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/2/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/2/1.jpg b/public/GV/resources/theme/earthTheme/3/2/1.jpg new file mode 100644 index 000000000..bb06adcca Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/2/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/2/2.jpg b/public/GV/resources/theme/earthTheme/3/2/2.jpg new file mode 100644 index 000000000..d5fe2d132 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/2/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/2/3.jpg b/public/GV/resources/theme/earthTheme/3/2/3.jpg new file mode 100644 index 000000000..1fcd86234 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/2/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/2/4.jpg b/public/GV/resources/theme/earthTheme/3/2/4.jpg new file mode 100644 index 000000000..82ce10f55 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/2/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/2/5.jpg b/public/GV/resources/theme/earthTheme/3/2/5.jpg new file mode 100644 index 000000000..501668078 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/2/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/2/6.jpg b/public/GV/resources/theme/earthTheme/3/2/6.jpg new file mode 100644 index 000000000..dbddb4eb6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/2/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/2/7.jpg b/public/GV/resources/theme/earthTheme/3/2/7.jpg new file mode 100644 index 000000000..2b6134e31 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/2/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/3/0.jpg b/public/GV/resources/theme/earthTheme/3/3/0.jpg new file mode 100644 index 000000000..913461b30 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/3/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/3/1.jpg b/public/GV/resources/theme/earthTheme/3/3/1.jpg new file mode 100644 index 000000000..83492a03c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/3/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/3/2.jpg b/public/GV/resources/theme/earthTheme/3/3/2.jpg new file mode 100644 index 000000000..e6cca924b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/3/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/3/3.jpg b/public/GV/resources/theme/earthTheme/3/3/3.jpg new file mode 100644 index 000000000..a794db1b5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/3/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/3/4.jpg b/public/GV/resources/theme/earthTheme/3/3/4.jpg new file mode 100644 index 000000000..773bf302a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/3/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/3/5.jpg b/public/GV/resources/theme/earthTheme/3/3/5.jpg new file mode 100644 index 000000000..113d53b03 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/3/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/3/6.jpg b/public/GV/resources/theme/earthTheme/3/3/6.jpg new file mode 100644 index 000000000..5427099fd Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/3/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/3/7.jpg b/public/GV/resources/theme/earthTheme/3/3/7.jpg new file mode 100644 index 000000000..29a13407d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/3/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/4/0.jpg b/public/GV/resources/theme/earthTheme/3/4/0.jpg new file mode 100644 index 000000000..c41594f06 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/4/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/4/1.jpg b/public/GV/resources/theme/earthTheme/3/4/1.jpg new file mode 100644 index 000000000..92d624348 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/4/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/4/2.jpg b/public/GV/resources/theme/earthTheme/3/4/2.jpg new file mode 100644 index 000000000..5875ad3f0 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/4/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/4/3.jpg b/public/GV/resources/theme/earthTheme/3/4/3.jpg new file mode 100644 index 000000000..84fb6f56a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/4/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/4/4.jpg b/public/GV/resources/theme/earthTheme/3/4/4.jpg new file mode 100644 index 000000000..f64f70f16 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/4/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/4/5.jpg b/public/GV/resources/theme/earthTheme/3/4/5.jpg new file mode 100644 index 000000000..2a4cf0cea Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/4/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/4/6.jpg b/public/GV/resources/theme/earthTheme/3/4/6.jpg new file mode 100644 index 000000000..7b4ff0dc4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/4/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/4/7.jpg b/public/GV/resources/theme/earthTheme/3/4/7.jpg new file mode 100644 index 000000000..15b5df187 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/4/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/5/0.jpg b/public/GV/resources/theme/earthTheme/3/5/0.jpg new file mode 100644 index 000000000..46a0c8154 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/5/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/5/1.jpg b/public/GV/resources/theme/earthTheme/3/5/1.jpg new file mode 100644 index 000000000..9df70fecc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/5/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/5/2.jpg b/public/GV/resources/theme/earthTheme/3/5/2.jpg new file mode 100644 index 000000000..e9a646da9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/5/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/5/3.jpg b/public/GV/resources/theme/earthTheme/3/5/3.jpg new file mode 100644 index 000000000..09d19663c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/5/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/5/4.jpg b/public/GV/resources/theme/earthTheme/3/5/4.jpg new file mode 100644 index 000000000..4251156b9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/5/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/5/5.jpg b/public/GV/resources/theme/earthTheme/3/5/5.jpg new file mode 100644 index 000000000..17cf2634f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/5/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/5/6.jpg b/public/GV/resources/theme/earthTheme/3/5/6.jpg new file mode 100644 index 000000000..06afec7b5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/5/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/5/7.jpg b/public/GV/resources/theme/earthTheme/3/5/7.jpg new file mode 100644 index 000000000..46e05220a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/5/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/6/0.jpg b/public/GV/resources/theme/earthTheme/3/6/0.jpg new file mode 100644 index 000000000..70442f134 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/6/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/6/1.jpg b/public/GV/resources/theme/earthTheme/3/6/1.jpg new file mode 100644 index 000000000..66f08900b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/6/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/6/2.jpg b/public/GV/resources/theme/earthTheme/3/6/2.jpg new file mode 100644 index 000000000..cfb5222ff Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/6/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/6/3.jpg b/public/GV/resources/theme/earthTheme/3/6/3.jpg new file mode 100644 index 000000000..5fa178905 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/6/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/6/4.jpg b/public/GV/resources/theme/earthTheme/3/6/4.jpg new file mode 100644 index 000000000..c5c5ff661 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/6/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/6/5.jpg b/public/GV/resources/theme/earthTheme/3/6/5.jpg new file mode 100644 index 000000000..dd065a197 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/6/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/6/6.jpg b/public/GV/resources/theme/earthTheme/3/6/6.jpg new file mode 100644 index 000000000..7b41aaa6b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/6/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/6/7.jpg b/public/GV/resources/theme/earthTheme/3/6/7.jpg new file mode 100644 index 000000000..b6b7e1afe Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/6/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/7/0.jpg b/public/GV/resources/theme/earthTheme/3/7/0.jpg new file mode 100644 index 000000000..f253cb9c3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/7/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/7/1.jpg b/public/GV/resources/theme/earthTheme/3/7/1.jpg new file mode 100644 index 000000000..a8d308d88 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/7/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/7/2.jpg b/public/GV/resources/theme/earthTheme/3/7/2.jpg new file mode 100644 index 000000000..a48e40e5e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/7/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/7/3.jpg b/public/GV/resources/theme/earthTheme/3/7/3.jpg new file mode 100644 index 000000000..282931ef3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/7/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/7/4.jpg b/public/GV/resources/theme/earthTheme/3/7/4.jpg new file mode 100644 index 000000000..258330995 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/7/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/7/5.jpg b/public/GV/resources/theme/earthTheme/3/7/5.jpg new file mode 100644 index 000000000..934d575b9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/7/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/7/6.jpg b/public/GV/resources/theme/earthTheme/3/7/6.jpg new file mode 100644 index 000000000..bc6cd0be6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/7/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/7/7.jpg b/public/GV/resources/theme/earthTheme/3/7/7.jpg new file mode 100644 index 000000000..e84018e9d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/7/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/8/0.jpg b/public/GV/resources/theme/earthTheme/3/8/0.jpg new file mode 100644 index 000000000..fc1e6b2ce Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/8/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/8/1.jpg b/public/GV/resources/theme/earthTheme/3/8/1.jpg new file mode 100644 index 000000000..7e1facf45 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/8/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/8/2.jpg b/public/GV/resources/theme/earthTheme/3/8/2.jpg new file mode 100644 index 000000000..5a81cd76e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/8/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/8/3.jpg b/public/GV/resources/theme/earthTheme/3/8/3.jpg new file mode 100644 index 000000000..8589afef6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/8/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/8/4.jpg b/public/GV/resources/theme/earthTheme/3/8/4.jpg new file mode 100644 index 000000000..1e2ee00a3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/8/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/8/5.jpg b/public/GV/resources/theme/earthTheme/3/8/5.jpg new file mode 100644 index 000000000..c6fb97919 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/8/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/8/6.jpg b/public/GV/resources/theme/earthTheme/3/8/6.jpg new file mode 100644 index 000000000..90cbb9e69 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/8/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/8/7.jpg b/public/GV/resources/theme/earthTheme/3/8/7.jpg new file mode 100644 index 000000000..697997f1e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/8/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/9/0.jpg b/public/GV/resources/theme/earthTheme/3/9/0.jpg new file mode 100644 index 000000000..b185f26a2 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/9/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/9/1.jpg b/public/GV/resources/theme/earthTheme/3/9/1.jpg new file mode 100644 index 000000000..14eb7cc3d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/9/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/9/2.jpg b/public/GV/resources/theme/earthTheme/3/9/2.jpg new file mode 100644 index 000000000..8cfae6d33 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/9/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/9/3.jpg b/public/GV/resources/theme/earthTheme/3/9/3.jpg new file mode 100644 index 000000000..b24086530 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/9/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/9/4.jpg b/public/GV/resources/theme/earthTheme/3/9/4.jpg new file mode 100644 index 000000000..932f6ee25 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/9/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/9/5.jpg b/public/GV/resources/theme/earthTheme/3/9/5.jpg new file mode 100644 index 000000000..219bbc3a9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/9/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/9/6.jpg b/public/GV/resources/theme/earthTheme/3/9/6.jpg new file mode 100644 index 000000000..faa69381c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/9/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/3/9/7.jpg b/public/GV/resources/theme/earthTheme/3/9/7.jpg new file mode 100644 index 000000000..ddfe20be4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/3/9/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/0.jpg b/public/GV/resources/theme/earthTheme/4/0/0.jpg new file mode 100644 index 000000000..0a3f88387 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/1.jpg b/public/GV/resources/theme/earthTheme/4/0/1.jpg new file mode 100644 index 000000000..8bf89c1ab Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/10.jpg b/public/GV/resources/theme/earthTheme/4/0/10.jpg new file mode 100644 index 000000000..ff77f6ea2 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/11.jpg b/public/GV/resources/theme/earthTheme/4/0/11.jpg new file mode 100644 index 000000000..e31a1e219 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/12.jpg b/public/GV/resources/theme/earthTheme/4/0/12.jpg new file mode 100644 index 000000000..356e33bb5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/13.jpg b/public/GV/resources/theme/earthTheme/4/0/13.jpg new file mode 100644 index 000000000..77d1f4345 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/14.jpg b/public/GV/resources/theme/earthTheme/4/0/14.jpg new file mode 100644 index 000000000..0c4ee79fa Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/15.jpg b/public/GV/resources/theme/earthTheme/4/0/15.jpg new file mode 100644 index 000000000..539e24dab Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/2.jpg b/public/GV/resources/theme/earthTheme/4/0/2.jpg new file mode 100644 index 000000000..0db9ef676 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/3.jpg b/public/GV/resources/theme/earthTheme/4/0/3.jpg new file mode 100644 index 000000000..f8d30fc59 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/4.jpg b/public/GV/resources/theme/earthTheme/4/0/4.jpg new file mode 100644 index 000000000..d2eadc4d7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/5.jpg b/public/GV/resources/theme/earthTheme/4/0/5.jpg new file mode 100644 index 000000000..4de97aac7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/6.jpg b/public/GV/resources/theme/earthTheme/4/0/6.jpg new file mode 100644 index 000000000..18c10d6fb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/7.jpg b/public/GV/resources/theme/earthTheme/4/0/7.jpg new file mode 100644 index 000000000..9af585360 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/8.jpg b/public/GV/resources/theme/earthTheme/4/0/8.jpg new file mode 100644 index 000000000..65e73bd18 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/0/9.jpg b/public/GV/resources/theme/earthTheme/4/0/9.jpg new file mode 100644 index 000000000..3442bdd3d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/0/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/0.jpg b/public/GV/resources/theme/earthTheme/4/1/0.jpg new file mode 100644 index 000000000..7e97ea95f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/1.jpg b/public/GV/resources/theme/earthTheme/4/1/1.jpg new file mode 100644 index 000000000..baffb1d0d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/10.jpg b/public/GV/resources/theme/earthTheme/4/1/10.jpg new file mode 100644 index 000000000..ea0f0bc7d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/11.jpg b/public/GV/resources/theme/earthTheme/4/1/11.jpg new file mode 100644 index 000000000..48b89616d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/12.jpg b/public/GV/resources/theme/earthTheme/4/1/12.jpg new file mode 100644 index 000000000..850fdf9c7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/13.jpg b/public/GV/resources/theme/earthTheme/4/1/13.jpg new file mode 100644 index 000000000..376120711 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/14.jpg b/public/GV/resources/theme/earthTheme/4/1/14.jpg new file mode 100644 index 000000000..a87e711ab Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/15.jpg b/public/GV/resources/theme/earthTheme/4/1/15.jpg new file mode 100644 index 000000000..d15baedcf Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/2.jpg b/public/GV/resources/theme/earthTheme/4/1/2.jpg new file mode 100644 index 000000000..1a63b82aa Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/3.jpg b/public/GV/resources/theme/earthTheme/4/1/3.jpg new file mode 100644 index 000000000..25179d5c8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/4.jpg b/public/GV/resources/theme/earthTheme/4/1/4.jpg new file mode 100644 index 000000000..96e4b5146 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/5.jpg b/public/GV/resources/theme/earthTheme/4/1/5.jpg new file mode 100644 index 000000000..1b735e821 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/6.jpg b/public/GV/resources/theme/earthTheme/4/1/6.jpg new file mode 100644 index 000000000..692ac0f1c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/7.jpg b/public/GV/resources/theme/earthTheme/4/1/7.jpg new file mode 100644 index 000000000..841d60057 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/8.jpg b/public/GV/resources/theme/earthTheme/4/1/8.jpg new file mode 100644 index 000000000..10555ab86 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/1/9.jpg b/public/GV/resources/theme/earthTheme/4/1/9.jpg new file mode 100644 index 000000000..4a4c6340c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/1/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/0.jpg b/public/GV/resources/theme/earthTheme/4/10/0.jpg new file mode 100644 index 000000000..b9fb746f9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/1.jpg b/public/GV/resources/theme/earthTheme/4/10/1.jpg new file mode 100644 index 000000000..1dbdfa784 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/10.jpg b/public/GV/resources/theme/earthTheme/4/10/10.jpg new file mode 100644 index 000000000..1e0bc7ae2 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/11.jpg b/public/GV/resources/theme/earthTheme/4/10/11.jpg new file mode 100644 index 000000000..f952d89ac Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/12.jpg b/public/GV/resources/theme/earthTheme/4/10/12.jpg new file mode 100644 index 000000000..ec3d9edc8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/13.jpg b/public/GV/resources/theme/earthTheme/4/10/13.jpg new file mode 100644 index 000000000..48995c65d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/14.jpg b/public/GV/resources/theme/earthTheme/4/10/14.jpg new file mode 100644 index 000000000..cb812b0e1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/15.jpg b/public/GV/resources/theme/earthTheme/4/10/15.jpg new file mode 100644 index 000000000..f7f8ae6b9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/2.jpg b/public/GV/resources/theme/earthTheme/4/10/2.jpg new file mode 100644 index 000000000..1080d23f2 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/3.jpg b/public/GV/resources/theme/earthTheme/4/10/3.jpg new file mode 100644 index 000000000..52764aa0e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/4.jpg b/public/GV/resources/theme/earthTheme/4/10/4.jpg new file mode 100644 index 000000000..acf160d7c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/5.jpg b/public/GV/resources/theme/earthTheme/4/10/5.jpg new file mode 100644 index 000000000..f897265ff Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/6.jpg b/public/GV/resources/theme/earthTheme/4/10/6.jpg new file mode 100644 index 000000000..8192d70d9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/7.jpg b/public/GV/resources/theme/earthTheme/4/10/7.jpg new file mode 100644 index 000000000..01ef0ed4f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/8.jpg b/public/GV/resources/theme/earthTheme/4/10/8.jpg new file mode 100644 index 000000000..620b32228 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/10/9.jpg b/public/GV/resources/theme/earthTheme/4/10/9.jpg new file mode 100644 index 000000000..780ccbd62 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/10/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/0.jpg b/public/GV/resources/theme/earthTheme/4/11/0.jpg new file mode 100644 index 000000000..58135f832 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/1.jpg b/public/GV/resources/theme/earthTheme/4/11/1.jpg new file mode 100644 index 000000000..c2ba16c66 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/10.jpg b/public/GV/resources/theme/earthTheme/4/11/10.jpg new file mode 100644 index 000000000..7fe438773 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/11.jpg b/public/GV/resources/theme/earthTheme/4/11/11.jpg new file mode 100644 index 000000000..a2e14f3ab Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/12.jpg b/public/GV/resources/theme/earthTheme/4/11/12.jpg new file mode 100644 index 000000000..0bfc9a7a1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/13.jpg b/public/GV/resources/theme/earthTheme/4/11/13.jpg new file mode 100644 index 000000000..14b89c307 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/14.jpg b/public/GV/resources/theme/earthTheme/4/11/14.jpg new file mode 100644 index 000000000..a1c10a48c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/15.jpg b/public/GV/resources/theme/earthTheme/4/11/15.jpg new file mode 100644 index 000000000..e2c3d394c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/2.jpg b/public/GV/resources/theme/earthTheme/4/11/2.jpg new file mode 100644 index 000000000..75ca280df Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/3.jpg b/public/GV/resources/theme/earthTheme/4/11/3.jpg new file mode 100644 index 000000000..fe11e5bd5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/4.jpg b/public/GV/resources/theme/earthTheme/4/11/4.jpg new file mode 100644 index 000000000..0c40a64b8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/5.jpg b/public/GV/resources/theme/earthTheme/4/11/5.jpg new file mode 100644 index 000000000..7e88aac9e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/6.jpg b/public/GV/resources/theme/earthTheme/4/11/6.jpg new file mode 100644 index 000000000..cb151ecae Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/7.jpg b/public/GV/resources/theme/earthTheme/4/11/7.jpg new file mode 100644 index 000000000..3094c82df Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/8.jpg b/public/GV/resources/theme/earthTheme/4/11/8.jpg new file mode 100644 index 000000000..137746baa Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/11/9.jpg b/public/GV/resources/theme/earthTheme/4/11/9.jpg new file mode 100644 index 000000000..2f5169b71 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/11/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/0.jpg b/public/GV/resources/theme/earthTheme/4/12/0.jpg new file mode 100644 index 000000000..41b7e0b57 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/1.jpg b/public/GV/resources/theme/earthTheme/4/12/1.jpg new file mode 100644 index 000000000..d12f049ab Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/10.jpg b/public/GV/resources/theme/earthTheme/4/12/10.jpg new file mode 100644 index 000000000..02dd2ef3f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/11.jpg b/public/GV/resources/theme/earthTheme/4/12/11.jpg new file mode 100644 index 000000000..181657d4a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/12.jpg b/public/GV/resources/theme/earthTheme/4/12/12.jpg new file mode 100644 index 000000000..a974c49a3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/13.jpg b/public/GV/resources/theme/earthTheme/4/12/13.jpg new file mode 100644 index 000000000..9edb80898 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/14.jpg b/public/GV/resources/theme/earthTheme/4/12/14.jpg new file mode 100644 index 000000000..7227901cc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/15.jpg b/public/GV/resources/theme/earthTheme/4/12/15.jpg new file mode 100644 index 000000000..88194d689 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/2.jpg b/public/GV/resources/theme/earthTheme/4/12/2.jpg new file mode 100644 index 000000000..70fe8907c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/3.jpg b/public/GV/resources/theme/earthTheme/4/12/3.jpg new file mode 100644 index 000000000..5a312811a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/4.jpg b/public/GV/resources/theme/earthTheme/4/12/4.jpg new file mode 100644 index 000000000..a0526ddd9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/5.jpg b/public/GV/resources/theme/earthTheme/4/12/5.jpg new file mode 100644 index 000000000..e171fbae1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/6.jpg b/public/GV/resources/theme/earthTheme/4/12/6.jpg new file mode 100644 index 000000000..1e23d3b0c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/7.jpg b/public/GV/resources/theme/earthTheme/4/12/7.jpg new file mode 100644 index 000000000..0fb93daab Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/8.jpg b/public/GV/resources/theme/earthTheme/4/12/8.jpg new file mode 100644 index 000000000..6c0bb9edc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/12/9.jpg b/public/GV/resources/theme/earthTheme/4/12/9.jpg new file mode 100644 index 000000000..22a4afa15 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/12/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/0.jpg b/public/GV/resources/theme/earthTheme/4/13/0.jpg new file mode 100644 index 000000000..965ffde58 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/1.jpg b/public/GV/resources/theme/earthTheme/4/13/1.jpg new file mode 100644 index 000000000..1a94e75b4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/10.jpg b/public/GV/resources/theme/earthTheme/4/13/10.jpg new file mode 100644 index 000000000..fb1823310 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/11.jpg b/public/GV/resources/theme/earthTheme/4/13/11.jpg new file mode 100644 index 000000000..2cb997cbb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/12.jpg b/public/GV/resources/theme/earthTheme/4/13/12.jpg new file mode 100644 index 000000000..8f1a5d1d3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/13.jpg b/public/GV/resources/theme/earthTheme/4/13/13.jpg new file mode 100644 index 000000000..10d599069 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/14.jpg b/public/GV/resources/theme/earthTheme/4/13/14.jpg new file mode 100644 index 000000000..43fba0be1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/15.jpg b/public/GV/resources/theme/earthTheme/4/13/15.jpg new file mode 100644 index 000000000..76226328c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/2.jpg b/public/GV/resources/theme/earthTheme/4/13/2.jpg new file mode 100644 index 000000000..bcccba939 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/3.jpg b/public/GV/resources/theme/earthTheme/4/13/3.jpg new file mode 100644 index 000000000..c789a71a3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/4.jpg b/public/GV/resources/theme/earthTheme/4/13/4.jpg new file mode 100644 index 000000000..11d2c0494 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/5.jpg b/public/GV/resources/theme/earthTheme/4/13/5.jpg new file mode 100644 index 000000000..3bed9d040 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/6.jpg b/public/GV/resources/theme/earthTheme/4/13/6.jpg new file mode 100644 index 000000000..c02bf0bac Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/7.jpg b/public/GV/resources/theme/earthTheme/4/13/7.jpg new file mode 100644 index 000000000..a15f01929 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/8.jpg b/public/GV/resources/theme/earthTheme/4/13/8.jpg new file mode 100644 index 000000000..712fde443 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/13/9.jpg b/public/GV/resources/theme/earthTheme/4/13/9.jpg new file mode 100644 index 000000000..71ee36804 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/13/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/0.jpg b/public/GV/resources/theme/earthTheme/4/14/0.jpg new file mode 100644 index 000000000..b5f3e994b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/1.jpg b/public/GV/resources/theme/earthTheme/4/14/1.jpg new file mode 100644 index 000000000..c34931e7d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/10.jpg b/public/GV/resources/theme/earthTheme/4/14/10.jpg new file mode 100644 index 000000000..9af26a70f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/11.jpg b/public/GV/resources/theme/earthTheme/4/14/11.jpg new file mode 100644 index 000000000..95fc610c4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/12.jpg b/public/GV/resources/theme/earthTheme/4/14/12.jpg new file mode 100644 index 000000000..1dd274e86 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/13.jpg b/public/GV/resources/theme/earthTheme/4/14/13.jpg new file mode 100644 index 000000000..9b34a794e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/14.jpg b/public/GV/resources/theme/earthTheme/4/14/14.jpg new file mode 100644 index 000000000..72098f4ba Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/15.jpg b/public/GV/resources/theme/earthTheme/4/14/15.jpg new file mode 100644 index 000000000..69058df8a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/2.jpg b/public/GV/resources/theme/earthTheme/4/14/2.jpg new file mode 100644 index 000000000..b479089ae Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/3.jpg b/public/GV/resources/theme/earthTheme/4/14/3.jpg new file mode 100644 index 000000000..844eeb558 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/4.jpg b/public/GV/resources/theme/earthTheme/4/14/4.jpg new file mode 100644 index 000000000..75e42931a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/5.jpg b/public/GV/resources/theme/earthTheme/4/14/5.jpg new file mode 100644 index 000000000..bd5c0b236 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/6.jpg b/public/GV/resources/theme/earthTheme/4/14/6.jpg new file mode 100644 index 000000000..0a57a2b5c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/7.jpg b/public/GV/resources/theme/earthTheme/4/14/7.jpg new file mode 100644 index 000000000..b7ace7c2e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/8.jpg b/public/GV/resources/theme/earthTheme/4/14/8.jpg new file mode 100644 index 000000000..93abec283 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/14/9.jpg b/public/GV/resources/theme/earthTheme/4/14/9.jpg new file mode 100644 index 000000000..0cadcee15 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/14/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/0.jpg b/public/GV/resources/theme/earthTheme/4/15/0.jpg new file mode 100644 index 000000000..b170cc8e1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/1.jpg b/public/GV/resources/theme/earthTheme/4/15/1.jpg new file mode 100644 index 000000000..98a2b3fa7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/10.jpg b/public/GV/resources/theme/earthTheme/4/15/10.jpg new file mode 100644 index 000000000..da4c15d5f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/11.jpg b/public/GV/resources/theme/earthTheme/4/15/11.jpg new file mode 100644 index 000000000..f1c823731 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/12.jpg b/public/GV/resources/theme/earthTheme/4/15/12.jpg new file mode 100644 index 000000000..3e6e5138a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/13.jpg b/public/GV/resources/theme/earthTheme/4/15/13.jpg new file mode 100644 index 000000000..b6134f9a6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/14.jpg b/public/GV/resources/theme/earthTheme/4/15/14.jpg new file mode 100644 index 000000000..b09c97694 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/15.jpg b/public/GV/resources/theme/earthTheme/4/15/15.jpg new file mode 100644 index 000000000..fcdf61897 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/2.jpg b/public/GV/resources/theme/earthTheme/4/15/2.jpg new file mode 100644 index 000000000..919a72bbf Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/3.jpg b/public/GV/resources/theme/earthTheme/4/15/3.jpg new file mode 100644 index 000000000..97369af3c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/4.jpg b/public/GV/resources/theme/earthTheme/4/15/4.jpg new file mode 100644 index 000000000..14a5a9a4d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/5.jpg b/public/GV/resources/theme/earthTheme/4/15/5.jpg new file mode 100644 index 000000000..d5880219f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/6.jpg b/public/GV/resources/theme/earthTheme/4/15/6.jpg new file mode 100644 index 000000000..f6bac99e4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/7.jpg b/public/GV/resources/theme/earthTheme/4/15/7.jpg new file mode 100644 index 000000000..1d2d75cf9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/8.jpg b/public/GV/resources/theme/earthTheme/4/15/8.jpg new file mode 100644 index 000000000..7f9584a0d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/15/9.jpg b/public/GV/resources/theme/earthTheme/4/15/9.jpg new file mode 100644 index 000000000..454587c8e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/15/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/0.jpg b/public/GV/resources/theme/earthTheme/4/16/0.jpg new file mode 100644 index 000000000..dbeda8c8b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/1.jpg b/public/GV/resources/theme/earthTheme/4/16/1.jpg new file mode 100644 index 000000000..d5505f82e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/10.jpg b/public/GV/resources/theme/earthTheme/4/16/10.jpg new file mode 100644 index 000000000..d0772a9ce Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/11.jpg b/public/GV/resources/theme/earthTheme/4/16/11.jpg new file mode 100644 index 000000000..a04d3d663 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/12.jpg b/public/GV/resources/theme/earthTheme/4/16/12.jpg new file mode 100644 index 000000000..8225d1ff4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/13.jpg b/public/GV/resources/theme/earthTheme/4/16/13.jpg new file mode 100644 index 000000000..cf4efb1bf Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/14.jpg b/public/GV/resources/theme/earthTheme/4/16/14.jpg new file mode 100644 index 000000000..9034051e1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/15.jpg b/public/GV/resources/theme/earthTheme/4/16/15.jpg new file mode 100644 index 000000000..34013f361 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/2.jpg b/public/GV/resources/theme/earthTheme/4/16/2.jpg new file mode 100644 index 000000000..c96d6c9ea Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/3.jpg b/public/GV/resources/theme/earthTheme/4/16/3.jpg new file mode 100644 index 000000000..18d6ca2a8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/4.jpg b/public/GV/resources/theme/earthTheme/4/16/4.jpg new file mode 100644 index 000000000..5cb0c102c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/5.jpg b/public/GV/resources/theme/earthTheme/4/16/5.jpg new file mode 100644 index 000000000..402c2e6bb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/6.jpg b/public/GV/resources/theme/earthTheme/4/16/6.jpg new file mode 100644 index 000000000..f20361c2d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/7.jpg b/public/GV/resources/theme/earthTheme/4/16/7.jpg new file mode 100644 index 000000000..54ebe8438 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/8.jpg b/public/GV/resources/theme/earthTheme/4/16/8.jpg new file mode 100644 index 000000000..b4d0419ef Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/16/9.jpg b/public/GV/resources/theme/earthTheme/4/16/9.jpg new file mode 100644 index 000000000..d319d1f16 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/16/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/0.jpg b/public/GV/resources/theme/earthTheme/4/17/0.jpg new file mode 100644 index 000000000..d9a69060b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/1.jpg b/public/GV/resources/theme/earthTheme/4/17/1.jpg new file mode 100644 index 000000000..190abed10 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/10.jpg b/public/GV/resources/theme/earthTheme/4/17/10.jpg new file mode 100644 index 000000000..95450d78d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/11.jpg b/public/GV/resources/theme/earthTheme/4/17/11.jpg new file mode 100644 index 000000000..937c56f34 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/12.jpg b/public/GV/resources/theme/earthTheme/4/17/12.jpg new file mode 100644 index 000000000..1c2291a5b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/13.jpg b/public/GV/resources/theme/earthTheme/4/17/13.jpg new file mode 100644 index 000000000..025c67d44 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/14.jpg b/public/GV/resources/theme/earthTheme/4/17/14.jpg new file mode 100644 index 000000000..d7f7da855 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/15.jpg b/public/GV/resources/theme/earthTheme/4/17/15.jpg new file mode 100644 index 000000000..b444f0149 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/2.jpg b/public/GV/resources/theme/earthTheme/4/17/2.jpg new file mode 100644 index 000000000..1543ea7eb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/3.jpg b/public/GV/resources/theme/earthTheme/4/17/3.jpg new file mode 100644 index 000000000..e9d7e04d6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/4.jpg b/public/GV/resources/theme/earthTheme/4/17/4.jpg new file mode 100644 index 000000000..606a32136 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/5.jpg b/public/GV/resources/theme/earthTheme/4/17/5.jpg new file mode 100644 index 000000000..03625c2e0 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/6.jpg b/public/GV/resources/theme/earthTheme/4/17/6.jpg new file mode 100644 index 000000000..a68242e79 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/7.jpg b/public/GV/resources/theme/earthTheme/4/17/7.jpg new file mode 100644 index 000000000..5fa85b2ba Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/8.jpg b/public/GV/resources/theme/earthTheme/4/17/8.jpg new file mode 100644 index 000000000..2e298bbb0 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/17/9.jpg b/public/GV/resources/theme/earthTheme/4/17/9.jpg new file mode 100644 index 000000000..1dd3104c5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/17/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/0.jpg b/public/GV/resources/theme/earthTheme/4/18/0.jpg new file mode 100644 index 000000000..bc9d9ad60 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/1.jpg b/public/GV/resources/theme/earthTheme/4/18/1.jpg new file mode 100644 index 000000000..5a63fb4de Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/10.jpg b/public/GV/resources/theme/earthTheme/4/18/10.jpg new file mode 100644 index 000000000..a437ff487 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/11.jpg b/public/GV/resources/theme/earthTheme/4/18/11.jpg new file mode 100644 index 000000000..3a3a119a3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/12.jpg b/public/GV/resources/theme/earthTheme/4/18/12.jpg new file mode 100644 index 000000000..0ea544b5b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/13.jpg b/public/GV/resources/theme/earthTheme/4/18/13.jpg new file mode 100644 index 000000000..3e9197d56 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/14.jpg b/public/GV/resources/theme/earthTheme/4/18/14.jpg new file mode 100644 index 000000000..d892e9687 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/15.jpg b/public/GV/resources/theme/earthTheme/4/18/15.jpg new file mode 100644 index 000000000..27dcdeb4c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/2.jpg b/public/GV/resources/theme/earthTheme/4/18/2.jpg new file mode 100644 index 000000000..a26bb9a4d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/3.jpg b/public/GV/resources/theme/earthTheme/4/18/3.jpg new file mode 100644 index 000000000..f71505944 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/4.jpg b/public/GV/resources/theme/earthTheme/4/18/4.jpg new file mode 100644 index 000000000..cd6ab00f4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/5.jpg b/public/GV/resources/theme/earthTheme/4/18/5.jpg new file mode 100644 index 000000000..32cfab03a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/6.jpg b/public/GV/resources/theme/earthTheme/4/18/6.jpg new file mode 100644 index 000000000..ed8930859 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/7.jpg b/public/GV/resources/theme/earthTheme/4/18/7.jpg new file mode 100644 index 000000000..84df589b9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/8.jpg b/public/GV/resources/theme/earthTheme/4/18/8.jpg new file mode 100644 index 000000000..544815ebf Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/18/9.jpg b/public/GV/resources/theme/earthTheme/4/18/9.jpg new file mode 100644 index 000000000..d6de5e819 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/18/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/0.jpg b/public/GV/resources/theme/earthTheme/4/19/0.jpg new file mode 100644 index 000000000..2ae6ad87e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/1.jpg b/public/GV/resources/theme/earthTheme/4/19/1.jpg new file mode 100644 index 000000000..4b166eb25 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/10.jpg b/public/GV/resources/theme/earthTheme/4/19/10.jpg new file mode 100644 index 000000000..facea8412 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/11.jpg b/public/GV/resources/theme/earthTheme/4/19/11.jpg new file mode 100644 index 000000000..3e4b1c6df Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/12.jpg b/public/GV/resources/theme/earthTheme/4/19/12.jpg new file mode 100644 index 000000000..c1e9fa638 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/13.jpg b/public/GV/resources/theme/earthTheme/4/19/13.jpg new file mode 100644 index 000000000..9cb5a2c1f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/14.jpg b/public/GV/resources/theme/earthTheme/4/19/14.jpg new file mode 100644 index 000000000..e7ef57ad5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/15.jpg b/public/GV/resources/theme/earthTheme/4/19/15.jpg new file mode 100644 index 000000000..14efc647b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/2.jpg b/public/GV/resources/theme/earthTheme/4/19/2.jpg new file mode 100644 index 000000000..2d6c90f96 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/3.jpg b/public/GV/resources/theme/earthTheme/4/19/3.jpg new file mode 100644 index 000000000..54058662e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/4.jpg b/public/GV/resources/theme/earthTheme/4/19/4.jpg new file mode 100644 index 000000000..223fbc6c7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/5.jpg b/public/GV/resources/theme/earthTheme/4/19/5.jpg new file mode 100644 index 000000000..6d604a376 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/6.jpg b/public/GV/resources/theme/earthTheme/4/19/6.jpg new file mode 100644 index 000000000..97e184893 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/7.jpg b/public/GV/resources/theme/earthTheme/4/19/7.jpg new file mode 100644 index 000000000..2eba3fe15 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/8.jpg b/public/GV/resources/theme/earthTheme/4/19/8.jpg new file mode 100644 index 000000000..4948855e6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/19/9.jpg b/public/GV/resources/theme/earthTheme/4/19/9.jpg new file mode 100644 index 000000000..3ea01bfab Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/19/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/0.jpg b/public/GV/resources/theme/earthTheme/4/2/0.jpg new file mode 100644 index 000000000..1ddbebc61 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/1.jpg b/public/GV/resources/theme/earthTheme/4/2/1.jpg new file mode 100644 index 000000000..09955e8d2 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/10.jpg b/public/GV/resources/theme/earthTheme/4/2/10.jpg new file mode 100644 index 000000000..db2ff5eb5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/11.jpg b/public/GV/resources/theme/earthTheme/4/2/11.jpg new file mode 100644 index 000000000..423c3a660 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/12.jpg b/public/GV/resources/theme/earthTheme/4/2/12.jpg new file mode 100644 index 000000000..1eec89072 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/13.jpg b/public/GV/resources/theme/earthTheme/4/2/13.jpg new file mode 100644 index 000000000..f4d935525 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/14.jpg b/public/GV/resources/theme/earthTheme/4/2/14.jpg new file mode 100644 index 000000000..e6738409a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/15.jpg b/public/GV/resources/theme/earthTheme/4/2/15.jpg new file mode 100644 index 000000000..6b885474c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/2.jpg b/public/GV/resources/theme/earthTheme/4/2/2.jpg new file mode 100644 index 000000000..0cc4b1f9f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/3.jpg b/public/GV/resources/theme/earthTheme/4/2/3.jpg new file mode 100644 index 000000000..071eeb29b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/4.jpg b/public/GV/resources/theme/earthTheme/4/2/4.jpg new file mode 100644 index 000000000..b368eb4f6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/5.jpg b/public/GV/resources/theme/earthTheme/4/2/5.jpg new file mode 100644 index 000000000..d10dac3aa Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/6.jpg b/public/GV/resources/theme/earthTheme/4/2/6.jpg new file mode 100644 index 000000000..34190e743 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/7.jpg b/public/GV/resources/theme/earthTheme/4/2/7.jpg new file mode 100644 index 000000000..f31388ac6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/8.jpg b/public/GV/resources/theme/earthTheme/4/2/8.jpg new file mode 100644 index 000000000..6dd9b6ff3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/2/9.jpg b/public/GV/resources/theme/earthTheme/4/2/9.jpg new file mode 100644 index 000000000..3b8f3ab44 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/2/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/0.jpg b/public/GV/resources/theme/earthTheme/4/20/0.jpg new file mode 100644 index 000000000..a64a6b420 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/1.jpg b/public/GV/resources/theme/earthTheme/4/20/1.jpg new file mode 100644 index 000000000..eea1b9bcb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/10.jpg b/public/GV/resources/theme/earthTheme/4/20/10.jpg new file mode 100644 index 000000000..4657ced06 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/11.jpg b/public/GV/resources/theme/earthTheme/4/20/11.jpg new file mode 100644 index 000000000..2b1829c1c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/12.jpg b/public/GV/resources/theme/earthTheme/4/20/12.jpg new file mode 100644 index 000000000..64238f8b0 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/13.jpg b/public/GV/resources/theme/earthTheme/4/20/13.jpg new file mode 100644 index 000000000..17f5d19d1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/14.jpg b/public/GV/resources/theme/earthTheme/4/20/14.jpg new file mode 100644 index 000000000..db0690743 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/15.jpg b/public/GV/resources/theme/earthTheme/4/20/15.jpg new file mode 100644 index 000000000..734a21eec Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/2.jpg b/public/GV/resources/theme/earthTheme/4/20/2.jpg new file mode 100644 index 000000000..f22787fae Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/3.jpg b/public/GV/resources/theme/earthTheme/4/20/3.jpg new file mode 100644 index 000000000..30bc4fcdb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/4.jpg b/public/GV/resources/theme/earthTheme/4/20/4.jpg new file mode 100644 index 000000000..be0f7bc12 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/5.jpg b/public/GV/resources/theme/earthTheme/4/20/5.jpg new file mode 100644 index 000000000..e30dfedc5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/6.jpg b/public/GV/resources/theme/earthTheme/4/20/6.jpg new file mode 100644 index 000000000..4c1bac16a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/7.jpg b/public/GV/resources/theme/earthTheme/4/20/7.jpg new file mode 100644 index 000000000..5ccf1b865 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/8.jpg b/public/GV/resources/theme/earthTheme/4/20/8.jpg new file mode 100644 index 000000000..68841ce95 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/20/9.jpg b/public/GV/resources/theme/earthTheme/4/20/9.jpg new file mode 100644 index 000000000..7f4db1756 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/20/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/0.jpg b/public/GV/resources/theme/earthTheme/4/21/0.jpg new file mode 100644 index 000000000..9d0cab046 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/1.jpg b/public/GV/resources/theme/earthTheme/4/21/1.jpg new file mode 100644 index 000000000..8bd81491f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/10.jpg b/public/GV/resources/theme/earthTheme/4/21/10.jpg new file mode 100644 index 000000000..fb384d510 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/11.jpg b/public/GV/resources/theme/earthTheme/4/21/11.jpg new file mode 100644 index 000000000..da9edb7ec Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/12.jpg b/public/GV/resources/theme/earthTheme/4/21/12.jpg new file mode 100644 index 000000000..c2536e836 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/13.jpg b/public/GV/resources/theme/earthTheme/4/21/13.jpg new file mode 100644 index 000000000..b2920eeb1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/14.jpg b/public/GV/resources/theme/earthTheme/4/21/14.jpg new file mode 100644 index 000000000..c8867c3b9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/15.jpg b/public/GV/resources/theme/earthTheme/4/21/15.jpg new file mode 100644 index 000000000..e4c40fe9c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/2.jpg b/public/GV/resources/theme/earthTheme/4/21/2.jpg new file mode 100644 index 000000000..4e4471a71 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/3.jpg b/public/GV/resources/theme/earthTheme/4/21/3.jpg new file mode 100644 index 000000000..ae81db04c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/4.jpg b/public/GV/resources/theme/earthTheme/4/21/4.jpg new file mode 100644 index 000000000..7c30cbc6f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/5.jpg b/public/GV/resources/theme/earthTheme/4/21/5.jpg new file mode 100644 index 000000000..7188a851d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/6.jpg b/public/GV/resources/theme/earthTheme/4/21/6.jpg new file mode 100644 index 000000000..ccbe34770 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/7.jpg b/public/GV/resources/theme/earthTheme/4/21/7.jpg new file mode 100644 index 000000000..74c3c71b3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/8.jpg b/public/GV/resources/theme/earthTheme/4/21/8.jpg new file mode 100644 index 000000000..42da6b793 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/21/9.jpg b/public/GV/resources/theme/earthTheme/4/21/9.jpg new file mode 100644 index 000000000..0d3aed241 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/21/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/0.jpg b/public/GV/resources/theme/earthTheme/4/22/0.jpg new file mode 100644 index 000000000..9ce7a676f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/1.jpg b/public/GV/resources/theme/earthTheme/4/22/1.jpg new file mode 100644 index 000000000..bbc8e59d6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/10.jpg b/public/GV/resources/theme/earthTheme/4/22/10.jpg new file mode 100644 index 000000000..90ab1b6c1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/11.jpg b/public/GV/resources/theme/earthTheme/4/22/11.jpg new file mode 100644 index 000000000..30d08b77b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/12.jpg b/public/GV/resources/theme/earthTheme/4/22/12.jpg new file mode 100644 index 000000000..570167702 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/13.jpg b/public/GV/resources/theme/earthTheme/4/22/13.jpg new file mode 100644 index 000000000..956190ead Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/14.jpg b/public/GV/resources/theme/earthTheme/4/22/14.jpg new file mode 100644 index 000000000..621a5c17b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/15.jpg b/public/GV/resources/theme/earthTheme/4/22/15.jpg new file mode 100644 index 000000000..c22833f55 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/2.jpg b/public/GV/resources/theme/earthTheme/4/22/2.jpg new file mode 100644 index 000000000..c480b527c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/3.jpg b/public/GV/resources/theme/earthTheme/4/22/3.jpg new file mode 100644 index 000000000..481599e26 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/4.jpg b/public/GV/resources/theme/earthTheme/4/22/4.jpg new file mode 100644 index 000000000..f1b958d57 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/5.jpg b/public/GV/resources/theme/earthTheme/4/22/5.jpg new file mode 100644 index 000000000..09ae4b380 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/6.jpg b/public/GV/resources/theme/earthTheme/4/22/6.jpg new file mode 100644 index 000000000..db0704386 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/7.jpg b/public/GV/resources/theme/earthTheme/4/22/7.jpg new file mode 100644 index 000000000..58f84c142 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/8.jpg b/public/GV/resources/theme/earthTheme/4/22/8.jpg new file mode 100644 index 000000000..94933d510 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/22/9.jpg b/public/GV/resources/theme/earthTheme/4/22/9.jpg new file mode 100644 index 000000000..42cb753f5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/22/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/0.jpg b/public/GV/resources/theme/earthTheme/4/23/0.jpg new file mode 100644 index 000000000..46fb356a9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/1.jpg b/public/GV/resources/theme/earthTheme/4/23/1.jpg new file mode 100644 index 000000000..538753163 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/10.jpg b/public/GV/resources/theme/earthTheme/4/23/10.jpg new file mode 100644 index 000000000..238f6e0ca Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/11.jpg b/public/GV/resources/theme/earthTheme/4/23/11.jpg new file mode 100644 index 000000000..6218f9806 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/12.jpg b/public/GV/resources/theme/earthTheme/4/23/12.jpg new file mode 100644 index 000000000..058b18cc7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/13.jpg b/public/GV/resources/theme/earthTheme/4/23/13.jpg new file mode 100644 index 000000000..824045398 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/14.jpg b/public/GV/resources/theme/earthTheme/4/23/14.jpg new file mode 100644 index 000000000..0af083dab Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/15.jpg b/public/GV/resources/theme/earthTheme/4/23/15.jpg new file mode 100644 index 000000000..5f0fd35cb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/2.jpg b/public/GV/resources/theme/earthTheme/4/23/2.jpg new file mode 100644 index 000000000..c9eaf8ce5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/3.jpg b/public/GV/resources/theme/earthTheme/4/23/3.jpg new file mode 100644 index 000000000..53da8c7c0 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/4.jpg b/public/GV/resources/theme/earthTheme/4/23/4.jpg new file mode 100644 index 000000000..de8fdb11d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/5.jpg b/public/GV/resources/theme/earthTheme/4/23/5.jpg new file mode 100644 index 000000000..117ea48c3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/6.jpg b/public/GV/resources/theme/earthTheme/4/23/6.jpg new file mode 100644 index 000000000..f08dc3fdc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/7.jpg b/public/GV/resources/theme/earthTheme/4/23/7.jpg new file mode 100644 index 000000000..1618a8e19 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/8.jpg b/public/GV/resources/theme/earthTheme/4/23/8.jpg new file mode 100644 index 000000000..a445018d1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/23/9.jpg b/public/GV/resources/theme/earthTheme/4/23/9.jpg new file mode 100644 index 000000000..7cfb50d55 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/23/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/0.jpg b/public/GV/resources/theme/earthTheme/4/24/0.jpg new file mode 100644 index 000000000..d67f93046 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/1.jpg b/public/GV/resources/theme/earthTheme/4/24/1.jpg new file mode 100644 index 000000000..a885eadb5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/10.jpg b/public/GV/resources/theme/earthTheme/4/24/10.jpg new file mode 100644 index 000000000..c040a5507 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/11.jpg b/public/GV/resources/theme/earthTheme/4/24/11.jpg new file mode 100644 index 000000000..a2ab7a91d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/12.jpg b/public/GV/resources/theme/earthTheme/4/24/12.jpg new file mode 100644 index 000000000..3ed5697de Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/13.jpg b/public/GV/resources/theme/earthTheme/4/24/13.jpg new file mode 100644 index 000000000..3c0375459 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/14.jpg b/public/GV/resources/theme/earthTheme/4/24/14.jpg new file mode 100644 index 000000000..5ce28eb21 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/15.jpg b/public/GV/resources/theme/earthTheme/4/24/15.jpg new file mode 100644 index 000000000..78684f720 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/2.jpg b/public/GV/resources/theme/earthTheme/4/24/2.jpg new file mode 100644 index 000000000..0c23c660b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/3.jpg b/public/GV/resources/theme/earthTheme/4/24/3.jpg new file mode 100644 index 000000000..94bab15a8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/4.jpg b/public/GV/resources/theme/earthTheme/4/24/4.jpg new file mode 100644 index 000000000..55171c611 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/5.jpg b/public/GV/resources/theme/earthTheme/4/24/5.jpg new file mode 100644 index 000000000..6d6008526 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/6.jpg b/public/GV/resources/theme/earthTheme/4/24/6.jpg new file mode 100644 index 000000000..44bc11a73 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/7.jpg b/public/GV/resources/theme/earthTheme/4/24/7.jpg new file mode 100644 index 000000000..ac8c9645a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/8.jpg b/public/GV/resources/theme/earthTheme/4/24/8.jpg new file mode 100644 index 000000000..95f5da6dc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/24/9.jpg b/public/GV/resources/theme/earthTheme/4/24/9.jpg new file mode 100644 index 000000000..95270bbf6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/24/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/0.jpg b/public/GV/resources/theme/earthTheme/4/25/0.jpg new file mode 100644 index 000000000..76b243d45 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/1.jpg b/public/GV/resources/theme/earthTheme/4/25/1.jpg new file mode 100644 index 000000000..c385da3ef Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/10.jpg b/public/GV/resources/theme/earthTheme/4/25/10.jpg new file mode 100644 index 000000000..b89816785 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/11.jpg b/public/GV/resources/theme/earthTheme/4/25/11.jpg new file mode 100644 index 000000000..6d9e1d2de Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/12.jpg b/public/GV/resources/theme/earthTheme/4/25/12.jpg new file mode 100644 index 000000000..96dcef939 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/13.jpg b/public/GV/resources/theme/earthTheme/4/25/13.jpg new file mode 100644 index 000000000..e6abef097 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/14.jpg b/public/GV/resources/theme/earthTheme/4/25/14.jpg new file mode 100644 index 000000000..d62e11cc6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/15.jpg b/public/GV/resources/theme/earthTheme/4/25/15.jpg new file mode 100644 index 000000000..3eb373e50 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/2.jpg b/public/GV/resources/theme/earthTheme/4/25/2.jpg new file mode 100644 index 000000000..331b61033 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/3.jpg b/public/GV/resources/theme/earthTheme/4/25/3.jpg new file mode 100644 index 000000000..f09b3b415 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/4.jpg b/public/GV/resources/theme/earthTheme/4/25/4.jpg new file mode 100644 index 000000000..ff1082ed5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/5.jpg b/public/GV/resources/theme/earthTheme/4/25/5.jpg new file mode 100644 index 000000000..b9a481120 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/6.jpg b/public/GV/resources/theme/earthTheme/4/25/6.jpg new file mode 100644 index 000000000..c2ad80c2f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/7.jpg b/public/GV/resources/theme/earthTheme/4/25/7.jpg new file mode 100644 index 000000000..8d656a1f3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/8.jpg b/public/GV/resources/theme/earthTheme/4/25/8.jpg new file mode 100644 index 000000000..8f3ab54ba Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/25/9.jpg b/public/GV/resources/theme/earthTheme/4/25/9.jpg new file mode 100644 index 000000000..41e67a527 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/25/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/0.jpg b/public/GV/resources/theme/earthTheme/4/26/0.jpg new file mode 100644 index 000000000..cedadc012 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/1.jpg b/public/GV/resources/theme/earthTheme/4/26/1.jpg new file mode 100644 index 000000000..abee8f774 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/10.jpg b/public/GV/resources/theme/earthTheme/4/26/10.jpg new file mode 100644 index 000000000..312edac6d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/11.jpg b/public/GV/resources/theme/earthTheme/4/26/11.jpg new file mode 100644 index 000000000..a8e29184f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/12.jpg b/public/GV/resources/theme/earthTheme/4/26/12.jpg new file mode 100644 index 000000000..2044e4b69 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/13.jpg b/public/GV/resources/theme/earthTheme/4/26/13.jpg new file mode 100644 index 000000000..56e278aa5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/14.jpg b/public/GV/resources/theme/earthTheme/4/26/14.jpg new file mode 100644 index 000000000..a0a9972fe Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/15.jpg b/public/GV/resources/theme/earthTheme/4/26/15.jpg new file mode 100644 index 000000000..b8ff9ddc8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/2.jpg b/public/GV/resources/theme/earthTheme/4/26/2.jpg new file mode 100644 index 000000000..9ce6600c6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/3.jpg b/public/GV/resources/theme/earthTheme/4/26/3.jpg new file mode 100644 index 000000000..92fbb9993 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/4.jpg b/public/GV/resources/theme/earthTheme/4/26/4.jpg new file mode 100644 index 000000000..6ce4a5a96 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/5.jpg b/public/GV/resources/theme/earthTheme/4/26/5.jpg new file mode 100644 index 000000000..6ac30787f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/6.jpg b/public/GV/resources/theme/earthTheme/4/26/6.jpg new file mode 100644 index 000000000..845894f5e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/7.jpg b/public/GV/resources/theme/earthTheme/4/26/7.jpg new file mode 100644 index 000000000..a91936a48 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/8.jpg b/public/GV/resources/theme/earthTheme/4/26/8.jpg new file mode 100644 index 000000000..38af398a9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/26/9.jpg b/public/GV/resources/theme/earthTheme/4/26/9.jpg new file mode 100644 index 000000000..485af1618 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/26/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/0.jpg b/public/GV/resources/theme/earthTheme/4/27/0.jpg new file mode 100644 index 000000000..b51410246 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/1.jpg b/public/GV/resources/theme/earthTheme/4/27/1.jpg new file mode 100644 index 000000000..b15324fc4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/10.jpg b/public/GV/resources/theme/earthTheme/4/27/10.jpg new file mode 100644 index 000000000..710bc67ac Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/11.jpg b/public/GV/resources/theme/earthTheme/4/27/11.jpg new file mode 100644 index 000000000..7fe4b3b84 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/12.jpg b/public/GV/resources/theme/earthTheme/4/27/12.jpg new file mode 100644 index 000000000..cf593d557 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/13.jpg b/public/GV/resources/theme/earthTheme/4/27/13.jpg new file mode 100644 index 000000000..154fa95cd Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/14.jpg b/public/GV/resources/theme/earthTheme/4/27/14.jpg new file mode 100644 index 000000000..e830ba86f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/15.jpg b/public/GV/resources/theme/earthTheme/4/27/15.jpg new file mode 100644 index 000000000..6a5c72296 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/2.jpg b/public/GV/resources/theme/earthTheme/4/27/2.jpg new file mode 100644 index 000000000..91b9b0fb1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/3.jpg b/public/GV/resources/theme/earthTheme/4/27/3.jpg new file mode 100644 index 000000000..358309920 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/4.jpg b/public/GV/resources/theme/earthTheme/4/27/4.jpg new file mode 100644 index 000000000..9d227568e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/5.jpg b/public/GV/resources/theme/earthTheme/4/27/5.jpg new file mode 100644 index 000000000..0782afaa1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/6.jpg b/public/GV/resources/theme/earthTheme/4/27/6.jpg new file mode 100644 index 000000000..206ee6c06 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/7.jpg b/public/GV/resources/theme/earthTheme/4/27/7.jpg new file mode 100644 index 000000000..175e39e5e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/8.jpg b/public/GV/resources/theme/earthTheme/4/27/8.jpg new file mode 100644 index 000000000..a16d91454 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/27/9.jpg b/public/GV/resources/theme/earthTheme/4/27/9.jpg new file mode 100644 index 000000000..368493d36 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/27/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/0.jpg b/public/GV/resources/theme/earthTheme/4/28/0.jpg new file mode 100644 index 000000000..56130703a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/1.jpg b/public/GV/resources/theme/earthTheme/4/28/1.jpg new file mode 100644 index 000000000..9597ca4a1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/10.jpg b/public/GV/resources/theme/earthTheme/4/28/10.jpg new file mode 100644 index 000000000..5e5818ff3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/11.jpg b/public/GV/resources/theme/earthTheme/4/28/11.jpg new file mode 100644 index 000000000..d6eea17ba Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/12.jpg b/public/GV/resources/theme/earthTheme/4/28/12.jpg new file mode 100644 index 000000000..7f381fc48 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/13.jpg b/public/GV/resources/theme/earthTheme/4/28/13.jpg new file mode 100644 index 000000000..11fdacc79 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/14.jpg b/public/GV/resources/theme/earthTheme/4/28/14.jpg new file mode 100644 index 000000000..9c753f29c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/15.jpg b/public/GV/resources/theme/earthTheme/4/28/15.jpg new file mode 100644 index 000000000..b04e3153f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/2.jpg b/public/GV/resources/theme/earthTheme/4/28/2.jpg new file mode 100644 index 000000000..609d24409 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/3.jpg b/public/GV/resources/theme/earthTheme/4/28/3.jpg new file mode 100644 index 000000000..d1eaa2f89 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/4.jpg b/public/GV/resources/theme/earthTheme/4/28/4.jpg new file mode 100644 index 000000000..a753c4ed7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/5.jpg b/public/GV/resources/theme/earthTheme/4/28/5.jpg new file mode 100644 index 000000000..46086002e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/6.jpg b/public/GV/resources/theme/earthTheme/4/28/6.jpg new file mode 100644 index 000000000..f158d4e88 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/7.jpg b/public/GV/resources/theme/earthTheme/4/28/7.jpg new file mode 100644 index 000000000..b19a97252 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/8.jpg b/public/GV/resources/theme/earthTheme/4/28/8.jpg new file mode 100644 index 000000000..cc0dc30d4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/28/9.jpg b/public/GV/resources/theme/earthTheme/4/28/9.jpg new file mode 100644 index 000000000..89df1645d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/28/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/0.jpg b/public/GV/resources/theme/earthTheme/4/29/0.jpg new file mode 100644 index 000000000..e5506a3ac Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/1.jpg b/public/GV/resources/theme/earthTheme/4/29/1.jpg new file mode 100644 index 000000000..62770bb7b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/10.jpg b/public/GV/resources/theme/earthTheme/4/29/10.jpg new file mode 100644 index 000000000..b8ec6acdb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/11.jpg b/public/GV/resources/theme/earthTheme/4/29/11.jpg new file mode 100644 index 000000000..2f0af2731 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/12.jpg b/public/GV/resources/theme/earthTheme/4/29/12.jpg new file mode 100644 index 000000000..2e63dbbd6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/13.jpg b/public/GV/resources/theme/earthTheme/4/29/13.jpg new file mode 100644 index 000000000..0f4abd102 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/14.jpg b/public/GV/resources/theme/earthTheme/4/29/14.jpg new file mode 100644 index 000000000..7ba56bf81 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/15.jpg b/public/GV/resources/theme/earthTheme/4/29/15.jpg new file mode 100644 index 000000000..2254fdd1f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/2.jpg b/public/GV/resources/theme/earthTheme/4/29/2.jpg new file mode 100644 index 000000000..0319505bd Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/3.jpg b/public/GV/resources/theme/earthTheme/4/29/3.jpg new file mode 100644 index 000000000..c2d163f77 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/4.jpg b/public/GV/resources/theme/earthTheme/4/29/4.jpg new file mode 100644 index 000000000..8b12e2d16 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/5.jpg b/public/GV/resources/theme/earthTheme/4/29/5.jpg new file mode 100644 index 000000000..d9639e60c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/6.jpg b/public/GV/resources/theme/earthTheme/4/29/6.jpg new file mode 100644 index 000000000..d4bcc5197 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/7.jpg b/public/GV/resources/theme/earthTheme/4/29/7.jpg new file mode 100644 index 000000000..7e8ceed4d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/8.jpg b/public/GV/resources/theme/earthTheme/4/29/8.jpg new file mode 100644 index 000000000..44e2d233b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/29/9.jpg b/public/GV/resources/theme/earthTheme/4/29/9.jpg new file mode 100644 index 000000000..ddd76a1fd Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/29/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/0.jpg b/public/GV/resources/theme/earthTheme/4/3/0.jpg new file mode 100644 index 000000000..0062b731b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/1.jpg b/public/GV/resources/theme/earthTheme/4/3/1.jpg new file mode 100644 index 000000000..9b8ee5835 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/10.jpg b/public/GV/resources/theme/earthTheme/4/3/10.jpg new file mode 100644 index 000000000..df12f5589 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/11.jpg b/public/GV/resources/theme/earthTheme/4/3/11.jpg new file mode 100644 index 000000000..71871ee77 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/12.jpg b/public/GV/resources/theme/earthTheme/4/3/12.jpg new file mode 100644 index 000000000..0521884dc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/13.jpg b/public/GV/resources/theme/earthTheme/4/3/13.jpg new file mode 100644 index 000000000..ce5ed9bc1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/14.jpg b/public/GV/resources/theme/earthTheme/4/3/14.jpg new file mode 100644 index 000000000..9f3c3f797 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/15.jpg b/public/GV/resources/theme/earthTheme/4/3/15.jpg new file mode 100644 index 000000000..5b2585010 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/2.jpg b/public/GV/resources/theme/earthTheme/4/3/2.jpg new file mode 100644 index 000000000..e653b36ce Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/3.jpg b/public/GV/resources/theme/earthTheme/4/3/3.jpg new file mode 100644 index 000000000..e9f17acdb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/4.jpg b/public/GV/resources/theme/earthTheme/4/3/4.jpg new file mode 100644 index 000000000..9020816c3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/5.jpg b/public/GV/resources/theme/earthTheme/4/3/5.jpg new file mode 100644 index 000000000..c2041f684 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/6.jpg b/public/GV/resources/theme/earthTheme/4/3/6.jpg new file mode 100644 index 000000000..1a2882217 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/7.jpg b/public/GV/resources/theme/earthTheme/4/3/7.jpg new file mode 100644 index 000000000..18dd015f7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/8.jpg b/public/GV/resources/theme/earthTheme/4/3/8.jpg new file mode 100644 index 000000000..c400d5c3e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/3/9.jpg b/public/GV/resources/theme/earthTheme/4/3/9.jpg new file mode 100644 index 000000000..5d8f9b593 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/3/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/0.jpg b/public/GV/resources/theme/earthTheme/4/30/0.jpg new file mode 100644 index 000000000..4f962a475 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/1.jpg b/public/GV/resources/theme/earthTheme/4/30/1.jpg new file mode 100644 index 000000000..18dde2c11 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/10.jpg b/public/GV/resources/theme/earthTheme/4/30/10.jpg new file mode 100644 index 000000000..a77e0d640 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/11.jpg b/public/GV/resources/theme/earthTheme/4/30/11.jpg new file mode 100644 index 000000000..3c938ce6e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/12.jpg b/public/GV/resources/theme/earthTheme/4/30/12.jpg new file mode 100644 index 000000000..cedb69961 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/13.jpg b/public/GV/resources/theme/earthTheme/4/30/13.jpg new file mode 100644 index 000000000..7d15aec9c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/14.jpg b/public/GV/resources/theme/earthTheme/4/30/14.jpg new file mode 100644 index 000000000..460046fa3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/15.jpg b/public/GV/resources/theme/earthTheme/4/30/15.jpg new file mode 100644 index 000000000..39ba6433d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/2.jpg b/public/GV/resources/theme/earthTheme/4/30/2.jpg new file mode 100644 index 000000000..4ac2b2ebd Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/3.jpg b/public/GV/resources/theme/earthTheme/4/30/3.jpg new file mode 100644 index 000000000..1740f7886 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/4.jpg b/public/GV/resources/theme/earthTheme/4/30/4.jpg new file mode 100644 index 000000000..55e7c8369 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/5.jpg b/public/GV/resources/theme/earthTheme/4/30/5.jpg new file mode 100644 index 000000000..04877db2b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/6.jpg b/public/GV/resources/theme/earthTheme/4/30/6.jpg new file mode 100644 index 000000000..a90e5145b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/7.jpg b/public/GV/resources/theme/earthTheme/4/30/7.jpg new file mode 100644 index 000000000..929a23564 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/8.jpg b/public/GV/resources/theme/earthTheme/4/30/8.jpg new file mode 100644 index 000000000..6ebf199be Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/30/9.jpg b/public/GV/resources/theme/earthTheme/4/30/9.jpg new file mode 100644 index 000000000..38da249cc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/30/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/0.jpg b/public/GV/resources/theme/earthTheme/4/31/0.jpg new file mode 100644 index 000000000..39ab652c3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/1.jpg b/public/GV/resources/theme/earthTheme/4/31/1.jpg new file mode 100644 index 000000000..9030c4802 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/10.jpg b/public/GV/resources/theme/earthTheme/4/31/10.jpg new file mode 100644 index 000000000..1fd5b61d1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/11.jpg b/public/GV/resources/theme/earthTheme/4/31/11.jpg new file mode 100644 index 000000000..b079d1af4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/12.jpg b/public/GV/resources/theme/earthTheme/4/31/12.jpg new file mode 100644 index 000000000..47b69db55 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/13.jpg b/public/GV/resources/theme/earthTheme/4/31/13.jpg new file mode 100644 index 000000000..3d4bdc4f9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/14.jpg b/public/GV/resources/theme/earthTheme/4/31/14.jpg new file mode 100644 index 000000000..1352da6be Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/15.jpg b/public/GV/resources/theme/earthTheme/4/31/15.jpg new file mode 100644 index 000000000..651a5f7fa Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/2.jpg b/public/GV/resources/theme/earthTheme/4/31/2.jpg new file mode 100644 index 000000000..9f03fac52 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/3.jpg b/public/GV/resources/theme/earthTheme/4/31/3.jpg new file mode 100644 index 000000000..f0bcb3ff1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/4.jpg b/public/GV/resources/theme/earthTheme/4/31/4.jpg new file mode 100644 index 000000000..ab22e888a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/5.jpg b/public/GV/resources/theme/earthTheme/4/31/5.jpg new file mode 100644 index 000000000..bdde342f3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/6.jpg b/public/GV/resources/theme/earthTheme/4/31/6.jpg new file mode 100644 index 000000000..de3711691 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/7.jpg b/public/GV/resources/theme/earthTheme/4/31/7.jpg new file mode 100644 index 000000000..12a533aea Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/8.jpg b/public/GV/resources/theme/earthTheme/4/31/8.jpg new file mode 100644 index 000000000..afc566a82 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/31/9.jpg b/public/GV/resources/theme/earthTheme/4/31/9.jpg new file mode 100644 index 000000000..31d199417 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/31/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/0.jpg b/public/GV/resources/theme/earthTheme/4/4/0.jpg new file mode 100644 index 000000000..e504060c4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/1.jpg b/public/GV/resources/theme/earthTheme/4/4/1.jpg new file mode 100644 index 000000000..0847e24ed Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/10.jpg b/public/GV/resources/theme/earthTheme/4/4/10.jpg new file mode 100644 index 000000000..4ffb83390 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/11.jpg b/public/GV/resources/theme/earthTheme/4/4/11.jpg new file mode 100644 index 000000000..ed3906a61 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/12.jpg b/public/GV/resources/theme/earthTheme/4/4/12.jpg new file mode 100644 index 000000000..81ede4a84 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/13.jpg b/public/GV/resources/theme/earthTheme/4/4/13.jpg new file mode 100644 index 000000000..757fa18ff Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/14.jpg b/public/GV/resources/theme/earthTheme/4/4/14.jpg new file mode 100644 index 000000000..48d93df38 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/15.jpg b/public/GV/resources/theme/earthTheme/4/4/15.jpg new file mode 100644 index 000000000..d3f9417c7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/2.jpg b/public/GV/resources/theme/earthTheme/4/4/2.jpg new file mode 100644 index 000000000..5a80a8647 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/3.jpg b/public/GV/resources/theme/earthTheme/4/4/3.jpg new file mode 100644 index 000000000..747ba69c1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/4.jpg b/public/GV/resources/theme/earthTheme/4/4/4.jpg new file mode 100644 index 000000000..e6e729f32 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/5.jpg b/public/GV/resources/theme/earthTheme/4/4/5.jpg new file mode 100644 index 000000000..d318848bb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/6.jpg b/public/GV/resources/theme/earthTheme/4/4/6.jpg new file mode 100644 index 000000000..81924ed81 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/7.jpg b/public/GV/resources/theme/earthTheme/4/4/7.jpg new file mode 100644 index 000000000..5a4f8c5c1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/8.jpg b/public/GV/resources/theme/earthTheme/4/4/8.jpg new file mode 100644 index 000000000..995dbe4be Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/4/9.jpg b/public/GV/resources/theme/earthTheme/4/4/9.jpg new file mode 100644 index 000000000..046ffbcf7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/4/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/0.jpg b/public/GV/resources/theme/earthTheme/4/5/0.jpg new file mode 100644 index 000000000..b9cf77d67 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/1.jpg b/public/GV/resources/theme/earthTheme/4/5/1.jpg new file mode 100644 index 000000000..a7839f7a1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/10.jpg b/public/GV/resources/theme/earthTheme/4/5/10.jpg new file mode 100644 index 000000000..d54a691fc Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/11.jpg b/public/GV/resources/theme/earthTheme/4/5/11.jpg new file mode 100644 index 000000000..c670dc0ec Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/12.jpg b/public/GV/resources/theme/earthTheme/4/5/12.jpg new file mode 100644 index 000000000..c90f89355 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/13.jpg b/public/GV/resources/theme/earthTheme/4/5/13.jpg new file mode 100644 index 000000000..de7140144 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/14.jpg b/public/GV/resources/theme/earthTheme/4/5/14.jpg new file mode 100644 index 000000000..9a856b999 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/15.jpg b/public/GV/resources/theme/earthTheme/4/5/15.jpg new file mode 100644 index 000000000..523c6c602 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/2.jpg b/public/GV/resources/theme/earthTheme/4/5/2.jpg new file mode 100644 index 000000000..3f9468aa8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/3.jpg b/public/GV/resources/theme/earthTheme/4/5/3.jpg new file mode 100644 index 000000000..0939cbbcd Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/4.jpg b/public/GV/resources/theme/earthTheme/4/5/4.jpg new file mode 100644 index 000000000..5d5de063e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/5.jpg b/public/GV/resources/theme/earthTheme/4/5/5.jpg new file mode 100644 index 000000000..02949ca5e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/6.jpg b/public/GV/resources/theme/earthTheme/4/5/6.jpg new file mode 100644 index 000000000..46267518b Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/7.jpg b/public/GV/resources/theme/earthTheme/4/5/7.jpg new file mode 100644 index 000000000..891b1dccf Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/8.jpg b/public/GV/resources/theme/earthTheme/4/5/8.jpg new file mode 100644 index 000000000..91cd6c9f1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/5/9.jpg b/public/GV/resources/theme/earthTheme/4/5/9.jpg new file mode 100644 index 000000000..05a0f5444 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/5/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/0.jpg b/public/GV/resources/theme/earthTheme/4/6/0.jpg new file mode 100644 index 000000000..271d6e772 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/1.jpg b/public/GV/resources/theme/earthTheme/4/6/1.jpg new file mode 100644 index 000000000..c32e6356d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/10.jpg b/public/GV/resources/theme/earthTheme/4/6/10.jpg new file mode 100644 index 000000000..90a203766 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/11.jpg b/public/GV/resources/theme/earthTheme/4/6/11.jpg new file mode 100644 index 000000000..f7de5ebb9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/12.jpg b/public/GV/resources/theme/earthTheme/4/6/12.jpg new file mode 100644 index 000000000..6212d5355 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/13.jpg b/public/GV/resources/theme/earthTheme/4/6/13.jpg new file mode 100644 index 000000000..f61ab2cdf Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/14.jpg b/public/GV/resources/theme/earthTheme/4/6/14.jpg new file mode 100644 index 000000000..e0889cbca Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/15.jpg b/public/GV/resources/theme/earthTheme/4/6/15.jpg new file mode 100644 index 000000000..3dc16e35f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/2.jpg b/public/GV/resources/theme/earthTheme/4/6/2.jpg new file mode 100644 index 000000000..b9ab03acb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/3.jpg b/public/GV/resources/theme/earthTheme/4/6/3.jpg new file mode 100644 index 000000000..f598975f1 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/4.jpg b/public/GV/resources/theme/earthTheme/4/6/4.jpg new file mode 100644 index 000000000..902a17c5a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/5.jpg b/public/GV/resources/theme/earthTheme/4/6/5.jpg new file mode 100644 index 000000000..92c307469 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/6.jpg b/public/GV/resources/theme/earthTheme/4/6/6.jpg new file mode 100644 index 000000000..6e05af591 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/7.jpg b/public/GV/resources/theme/earthTheme/4/6/7.jpg new file mode 100644 index 000000000..8913b6e2c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/8.jpg b/public/GV/resources/theme/earthTheme/4/6/8.jpg new file mode 100644 index 000000000..cd9cf5660 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/6/9.jpg b/public/GV/resources/theme/earthTheme/4/6/9.jpg new file mode 100644 index 000000000..07652fb9d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/6/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/0.jpg b/public/GV/resources/theme/earthTheme/4/7/0.jpg new file mode 100644 index 000000000..e9a610bd3 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/1.jpg b/public/GV/resources/theme/earthTheme/4/7/1.jpg new file mode 100644 index 000000000..16cf223c5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/10.jpg b/public/GV/resources/theme/earthTheme/4/7/10.jpg new file mode 100644 index 000000000..fc48b8fae Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/11.jpg b/public/GV/resources/theme/earthTheme/4/7/11.jpg new file mode 100644 index 000000000..9f9fcd784 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/12.jpg b/public/GV/resources/theme/earthTheme/4/7/12.jpg new file mode 100644 index 000000000..e7d0970a4 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/13.jpg b/public/GV/resources/theme/earthTheme/4/7/13.jpg new file mode 100644 index 000000000..52c3b86e7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/14.jpg b/public/GV/resources/theme/earthTheme/4/7/14.jpg new file mode 100644 index 000000000..98f973a34 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/15.jpg b/public/GV/resources/theme/earthTheme/4/7/15.jpg new file mode 100644 index 000000000..d0a42f129 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/2.jpg b/public/GV/resources/theme/earthTheme/4/7/2.jpg new file mode 100644 index 000000000..e58894010 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/3.jpg b/public/GV/resources/theme/earthTheme/4/7/3.jpg new file mode 100644 index 000000000..7d1e62431 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/4.jpg b/public/GV/resources/theme/earthTheme/4/7/4.jpg new file mode 100644 index 000000000..6d6c5b2d2 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/5.jpg b/public/GV/resources/theme/earthTheme/4/7/5.jpg new file mode 100644 index 000000000..8d7526db5 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/6.jpg b/public/GV/resources/theme/earthTheme/4/7/6.jpg new file mode 100644 index 000000000..dacc13381 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/7.jpg b/public/GV/resources/theme/earthTheme/4/7/7.jpg new file mode 100644 index 000000000..7073088b0 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/8.jpg b/public/GV/resources/theme/earthTheme/4/7/8.jpg new file mode 100644 index 000000000..3fc44db2e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/7/9.jpg b/public/GV/resources/theme/earthTheme/4/7/9.jpg new file mode 100644 index 000000000..654f08ab2 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/7/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/0.jpg b/public/GV/resources/theme/earthTheme/4/8/0.jpg new file mode 100644 index 000000000..849c891ad Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/1.jpg b/public/GV/resources/theme/earthTheme/4/8/1.jpg new file mode 100644 index 000000000..2a7e6b220 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/10.jpg b/public/GV/resources/theme/earthTheme/4/8/10.jpg new file mode 100644 index 000000000..188d139ec Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/11.jpg b/public/GV/resources/theme/earthTheme/4/8/11.jpg new file mode 100644 index 000000000..f9aad7473 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/12.jpg b/public/GV/resources/theme/earthTheme/4/8/12.jpg new file mode 100644 index 000000000..9cf8f0820 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/13.jpg b/public/GV/resources/theme/earthTheme/4/8/13.jpg new file mode 100644 index 000000000..c9b03533c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/14.jpg b/public/GV/resources/theme/earthTheme/4/8/14.jpg new file mode 100644 index 000000000..87923ad94 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/15.jpg b/public/GV/resources/theme/earthTheme/4/8/15.jpg new file mode 100644 index 000000000..ec012fc10 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/2.jpg b/public/GV/resources/theme/earthTheme/4/8/2.jpg new file mode 100644 index 000000000..32437f818 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/3.jpg b/public/GV/resources/theme/earthTheme/4/8/3.jpg new file mode 100644 index 000000000..f49b787a8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/4.jpg b/public/GV/resources/theme/earthTheme/4/8/4.jpg new file mode 100644 index 000000000..75b3a39eb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/5.jpg b/public/GV/resources/theme/earthTheme/4/8/5.jpg new file mode 100644 index 000000000..c1706aff9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/6.jpg b/public/GV/resources/theme/earthTheme/4/8/6.jpg new file mode 100644 index 000000000..833491769 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/7.jpg b/public/GV/resources/theme/earthTheme/4/8/7.jpg new file mode 100644 index 000000000..56305bd50 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/8.jpg b/public/GV/resources/theme/earthTheme/4/8/8.jpg new file mode 100644 index 000000000..acbbdeab7 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/8/9.jpg b/public/GV/resources/theme/earthTheme/4/8/9.jpg new file mode 100644 index 000000000..71ec09315 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/8/9.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/0.jpg b/public/GV/resources/theme/earthTheme/4/9/0.jpg new file mode 100644 index 000000000..2abf35e8e Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/0.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/1.jpg b/public/GV/resources/theme/earthTheme/4/9/1.jpg new file mode 100644 index 000000000..2f6b7034c Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/1.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/10.jpg b/public/GV/resources/theme/earthTheme/4/9/10.jpg new file mode 100644 index 000000000..75cc43d4f Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/10.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/11.jpg b/public/GV/resources/theme/earthTheme/4/9/11.jpg new file mode 100644 index 000000000..527815a84 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/11.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/12.jpg b/public/GV/resources/theme/earthTheme/4/9/12.jpg new file mode 100644 index 000000000..08f9078a0 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/12.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/13.jpg b/public/GV/resources/theme/earthTheme/4/9/13.jpg new file mode 100644 index 000000000..9e5de2d0d Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/13.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/14.jpg b/public/GV/resources/theme/earthTheme/4/9/14.jpg new file mode 100644 index 000000000..af7b0f280 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/14.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/15.jpg b/public/GV/resources/theme/earthTheme/4/9/15.jpg new file mode 100644 index 000000000..5088f79bb Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/15.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/2.jpg b/public/GV/resources/theme/earthTheme/4/9/2.jpg new file mode 100644 index 000000000..2098789fd Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/2.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/3.jpg b/public/GV/resources/theme/earthTheme/4/9/3.jpg new file mode 100644 index 000000000..3a7447c4a Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/3.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/4.jpg b/public/GV/resources/theme/earthTheme/4/9/4.jpg new file mode 100644 index 000000000..0391e0ecd Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/4.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/5.jpg b/public/GV/resources/theme/earthTheme/4/9/5.jpg new file mode 100644 index 000000000..0f52213a8 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/5.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/6.jpg b/public/GV/resources/theme/earthTheme/4/9/6.jpg new file mode 100644 index 000000000..3af7c42b9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/6.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/7.jpg b/public/GV/resources/theme/earthTheme/4/9/7.jpg new file mode 100644 index 000000000..04341a2b6 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/7.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/8.jpg b/public/GV/resources/theme/earthTheme/4/9/8.jpg new file mode 100644 index 000000000..b5da1df71 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/8.jpg differ diff --git a/public/GV/resources/theme/earthTheme/4/9/9.jpg b/public/GV/resources/theme/earthTheme/4/9/9.jpg new file mode 100644 index 000000000..b483e03f9 Binary files /dev/null and b/public/GV/resources/theme/earthTheme/4/9/9.jpg differ diff --git a/public/GV/resources/theme/skyBox/NegativeX.jpg b/public/GV/resources/theme/skyBox/NegativeX.jpg new file mode 100644 index 000000000..a95414249 Binary files /dev/null and b/public/GV/resources/theme/skyBox/NegativeX.jpg differ diff --git a/public/GV/resources/theme/skyBox/NegativeY.jpg b/public/GV/resources/theme/skyBox/NegativeY.jpg new file mode 100644 index 000000000..72555bee6 Binary files /dev/null and b/public/GV/resources/theme/skyBox/NegativeY.jpg differ diff --git a/public/GV/resources/theme/skyBox/NegativeZ.jpg b/public/GV/resources/theme/skyBox/NegativeZ.jpg new file mode 100644 index 000000000..564fba5df Binary files /dev/null and b/public/GV/resources/theme/skyBox/NegativeZ.jpg differ diff --git a/public/GV/resources/theme/skyBox/PositiveX.jpg b/public/GV/resources/theme/skyBox/PositiveX.jpg new file mode 100644 index 000000000..2aba059f5 Binary files /dev/null and b/public/GV/resources/theme/skyBox/PositiveX.jpg differ diff --git a/public/GV/resources/theme/skyBox/PositiveY.jpg b/public/GV/resources/theme/skyBox/PositiveY.jpg new file mode 100644 index 000000000..f7bfb87f0 Binary files /dev/null and b/public/GV/resources/theme/skyBox/PositiveY.jpg differ diff --git a/public/GV/resources/theme/skyBox/PositiveZ.jpg b/public/GV/resources/theme/skyBox/PositiveZ.jpg new file mode 100644 index 000000000..e0460f3a2 Binary files /dev/null and b/public/GV/resources/theme/skyBox/PositiveZ.jpg differ diff --git a/public/GV/resources/workers/cluster.worker.js b/public/GV/resources/workers/cluster.worker.js new file mode 100644 index 000000000..b73eb46ca --- /dev/null +++ b/public/GV/resources/workers/cluster.worker.js @@ -0,0 +1,44 @@ +function DBSCAN(t,e,i,s){this.dataset=[],this.epsilon=1,this.minPts=2,this.distance=this._euclideanDistance,this.clusters=[],this.noise=[],this._visited=[],this._assigned=[],this._datasetLength=0,this._init(t,e,i,s)}function KMEANS(t,e,i){this.k=3,this.dataset=[],this.assignments=[],this.centroids=[],this.init(t,e,i)}function PriorityQueue(t,e,i){this._queue=[],this._priorities=[],this._sorting="desc",this._init(t,e,i)}function OPTICS(t,e,i,s){this.epsilon=1,this.minPts=1,this.distance=this._euclideanDistance,this._reachability=[],this._processed=[],this._coreDistance=0,this._orderedList=[],this._init(t,e,i,s)}function Utils(){}if(DBSCAN.prototype.run=function(t,e,i,s){this._init(t,e,i,s);for(var r=0;r=this.minPts&&(e=this._mergeArrays(e,r))}1!==this._assigned[s]&&this._addToCluster(s,t)}},DBSCAN.prototype._addToCluster=function(t,e){this.clusters[e].push(t),this._assigned[t]=1},DBSCAN.prototype._regionQuery=function(t){for(var e=[],i=0;is;s++){var r=e[s];t.indexOf(r)<0&&t.push(r)}return t},DBSCAN.prototype._euclideanDistance=function(t,e){for(var i=0,s=Math.min(t.length,e.length);s--;)i+=(t[s]-e[s])*(t[s]-e[s]);return Math.sqrt(i)},"undefined"!=typeof module&&module.exports&&(module.exports=DBSCAN),KMEANS.prototype.init=function(t,e,i){this.assignments=[],this.centroids=[],"undefined"!=typeof t&&(this.dataset=t),"undefined"!=typeof e&&(this.k=e),"undefined"!=typeof i&&(this.distance=i)},KMEANS.prototype.run=function(t,e){this.init(t,e);for(var i=this.dataset.length,s=0;sa;a++)o[a]=0;for(var u=0;i>u;u++){var d=this.dataset[u].length;if(n===this.assignments[u]){for(var a=0;d>a;a++)o[a]+=this.dataset[u][a];h++}}if(h>0){for(var a=0;d>a;a++)o[a]/=h;this.centroids[n]=o}else this.centroids[n]=this.randomCentroid(),r=!0}}return this.getClusters()},KMEANS.prototype.randomCentroid=function(){var t,e,i=this.dataset.length-1;do e=Math.round(Math.random()*i),t=this.dataset[e];while(this.centroids.indexOf(t)>=0);return t},KMEANS.prototype.assign=function(){for(var t,e=!1,i=this.dataset.length,s=0;i>s;s++)t=this.argmin(this.dataset[s],this.centroids,this.distance),t!=this.assignments[s]&&(this.assignments[s]=t,e=!0);return e},KMEANS.prototype.getClusters=function(){for(var t,e=new Array(this.k),i=0;ih;h++)s=i(t,e[h]),r>s&&(r=s,n=h);return n},KMEANS.prototype.distance=function(t,e){for(var i=0,s=Math.min(t.length,e.length);s--;){var r=t[s]-e[s];i+=r*r}return Math.sqrt(i)},"undefined"!=typeof module&&module.exports&&(module.exports=KMEANS),PriorityQueue.prototype.insert=function(t,e){for(var i=this._queue.length,s=i;s--;){var r=this._priorities[s];"desc"===this._sorting?e>r&&(i=s):r>e&&(i=s)}this._insertAt(t,e,i)},PriorityQueue.prototype.remove=function(t){for(var e=this._queue.length;e--;){var i=this._queue[e];if(t===i){this._queue.splice(e,1),this._priorities.splice(e,1);break}}},PriorityQueue.prototype.forEach=function(t){this._queue.forEach(t)},PriorityQueue.prototype.getElements=function(){return this._queue},PriorityQueue.prototype.getElementPriority=function(t){return this._priorities[t]},PriorityQueue.prototype.getPriorities=function(){return this._priorities},PriorityQueue.prototype.getElementsWithPriorities=function(){for(var t=[],e=0,i=this._queue.length;i>e;e++)t.push([this._queue[e],this._priorities[e]]);return t},PriorityQueue.prototype._init=function(t,e,i){if(t&&e){if(this._queue=[],this._priorities=[],t.length!==e.length)throw new Error("Arrays must have the same length");for(var s=0;sr;r++)if(1!==this._processed[r]){this._processed[r]=1,this.clusters.push([r]);var o=this.clusters.length-1;this._orderedList.push(r);var h=new PriorityQueue(null,null,"asc"),a=this._regionQuery(r);void 0!==this._distanceToCore(r)&&(this._updateQueue(r,a,h),this._expandCluster(o,h))}return this.clusters},OPTICS.prototype.getReachabilityPlot=function(){for(var t=[],e=0,i=this._orderedList.length;i>e;e++){var s=this._orderedList[e],r=this._reachability[s];t.push([s,r])}return t},OPTICS.prototype._init=function(t,e,i,s){if(t){if(!(t instanceof Array))throw Error("Dataset must be of type array, "+typeof t+" given");this.dataset=t,this.clusters=[],this._reachability=new Array(this.dataset.length),this._processed=new Array(this.dataset.length),this._coreDistance=0,this._orderedList=[]}e&&(this.epsilon=e),i&&(this.minPts=i),s&&(this.distance=s)},OPTICS.prototype._updateQueue=function(t,e,i){var s=this;this._coreDistance=this._distanceToCore(t),e.forEach(function(e){if(void 0===s._processed[e]){var r=s.distance(s.dataset[t],s.dataset[e]),n=Math.max(s._coreDistance,r);void 0===s._reachability[e]?(s._reachability[e]=n,i.insert(e,n)):ns;s++){var n=i[s];if(void 0===this._processed[n]){var o=this._regionQuery(n);this._processed[n]=1,this.clusters[t].push(n),this._orderedList.push(n),void 0!==this._distanceToCore(n)&&(this._updateQueue(n,o,e),this._expandCluster(t,e))}}},OPTICS.prototype._distanceToCore=function(t){for(var e=this.epsilon,i=0;e>i;i++){var s=this._regionQuery(t,i);if(s.length>=this.minPts)return i}},OPTICS.prototype._regionQuery=function(t,e){e=e||this.epsilon;for(var i=[],s=0,r=this.dataset.length;r>s;s++)this.distance(this.dataset[t],this.dataset[s])n;n++){var o=t[n],h=Math.max(o.center-o.min,o.center-o.max);h>r&&(r=h)}for(var n=0;e>n;n++){var a=2*Math.random()-1;i.push(a),s+=a*a}s=Math.sqrt(s);for(var n=0;e>n;n++)i[n]/=s,i[n]*=r,i[n]+=t[n].center;return i},"undefined"!=typeof module&&module.exports&&(module.exports={DBSCAN:require("./DBSCAN.js"),KMEANS:require("./KMEANS.js"),OPTICS:require("./OPTICS.js"),PriorityQueue:require("./PriorityQueue.js")}); + + +/** + * 方格聚合算法 + * 1、根据 range 将当前屏幕分割成由 n 个正方形组成的矩形 + * 2、遍历传过来的 posArr + * 3、计算每个 pos 对应所在的格子 + */ +function getGridGroup(arrPos,range){ + let width = 1870; + let heigh = 917; + let row = parseInt(heigh/range)+1; + let col = parseInt(width/range)+1; + let res = []; + let resGroup = []; + arrPos.forEach((screenPos,index)=>{ + // screenPos[0] -> x + // screenPos[1] -> y + let x = parseInt(screenPos[0]/range); + let y = parseInt(screenPos[1]/range); + let nowGridIndex = parseInt((x*col + y)/range); + if(!res[nowGridIndex]){ + res[nowGridIndex] = [] + } + res[nowGridIndex].push(index) + }) + res.forEach(i=>{ + if(i.length>1){ + resGroup.push(i) + } + }) + return resGroup +} + + +let dbscan = new DBSCAN(); +let kmeans = new KMEANS(); +this.addEventListener('message',(msg)=>{ + let posArr = JSON.parse(msg.data.posArr); + // this.postMessage({res:dbscan.run(posArr,msg.data.range),key:msg.data.key}); + // this.postMessage({res:kmeans.run(posArr),key:msg.data.key}); + this.postMessage({res:getGridGroup(posArr,msg.data.range),key:msg.data.key}); +}) \ No newline at end of file diff --git a/public/GV/resources/workers/satellite.worker.js b/public/GV/resources/workers/satellite.worker.js new file mode 100644 index 000000000..0c9919938 --- /dev/null +++ b/public/GV/resources/workers/satellite.worker.js @@ -0,0 +1,3175 @@ +/*! + * satellite-js v2.0.2 + * (c) 2013 Shashwat Kandadai and UCSC + * https://github.com/shashwatak/satellite-js + * License: MIT + */ + +var pi = Math.PI; +var twoPi = pi * 2; +var deg2rad = pi / 180.0; +var rad2deg = 180 / pi; +var minutesPerDay = 1440.0; +var mu = 398600.5; // in km3 / s2 +var earthRadius = 6378.137; // in km +var xke = 60.0 / Math.sqrt(earthRadius * earthRadius * earthRadius / mu); +var tumin = 1.0 / xke; +var j2 = 0.00108262998905; +var j3 = -0.00000253215306; +var j4 = -0.00000161098761; +var j3oj2 = j3 / j2; +var x2o3 = 2.0 / 3.0; + +var constants = Object.freeze({ + pi: pi, + twoPi: twoPi, + deg2rad: deg2rad, + rad2deg: rad2deg, + minutesPerDay: minutesPerDay, + mu: mu, + earthRadius: earthRadius, + xke: xke, + tumin: tumin, + j2: j2, + j3: j3, + j4: j4, + j3oj2: j3oj2, + x2o3: x2o3 +}); + +/* ----------------------------------------------------------------------------- + * + * procedure days2mdhms + * + * this procedure converts the day of the year, days, to the equivalent month + * day, hour, minute and second. + * + * algorithm : set up array for the number of days per month + * find leap year - use 1900 because 2000 is a leap year + * loop through a temp value while the value is < the days + * perform int conversions to the correct day and month + * convert remainder into h m s using type conversions + * + * author : david vallado 719-573-2600 1 mar 2001 + * + * inputs description range / units + * year - year 1900 .. 2100 + * days - julian day of the year 0.0 .. 366.0 + * + * outputs : + * mon - month 1 .. 12 + * day - day 1 .. 28,29,30,31 + * hr - hour 0 .. 23 + * min - minute 0 .. 59 + * sec - second 0.0 .. 59.999 + * + * locals : + * dayofyr - day of year + * temp - temporary extended values + * inttemp - temporary int value + * i - index + * lmonth[12] - int array containing the number of days per month + * + * coupling : + * none. + * --------------------------------------------------------------------------- */ +function days2mdhms(year, days) { + var lmonth = [31, year % 4 === 0 ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var dayofyr = Math.floor(days); + + // ----------------- find month and day of month ---------------- + var i = 1; + var inttemp = 0; + while (dayofyr > inttemp + lmonth[i - 1] && i < 12) { + inttemp += lmonth[i - 1]; + i += 1; + } + + var mon = i; + var day = dayofyr - inttemp; + + // ----------------- find hours minutes and seconds ------------- + var temp = (days - dayofyr) * 24.0; + var hr = Math.floor(temp); + temp = (temp - hr) * 60.0; + var minute = Math.floor(temp); + var sec = (temp - minute) * 60.0; + + return { + mon: mon, + day: day, + hr: hr, + minute: minute, + sec: sec + }; +} + +/* ----------------------------------------------------------------------------- + * + * procedure jday + * + * this procedure finds the julian date given the year, month, day, and time. + * the julian date is defined by each elapsed day since noon, jan 1, 4713 bc. + * + * algorithm : calculate the answer in one step for efficiency + * + * author : david vallado 719-573-2600 1 mar 2001 + * + * inputs description range / units + * year - year 1900 .. 2100 + * mon - month 1 .. 12 + * day - day 1 .. 28,29,30,31 + * hr - universal time hour 0 .. 23 + * min - universal time min 0 .. 59 + * sec - universal time sec 0.0 .. 59.999 + * + * outputs : + * jd - julian date days from 4713 bc + * + * locals : + * none. + * + * coupling : + * none. + * + * references : + * vallado 2007, 189, alg 14, ex 3-14 + * + * --------------------------------------------------------------------------- */ +function jdayInternal(year, mon, day, hr, minute, sec) { + var msec = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0; + + return 367.0 * year - Math.floor(7 * (year + Math.floor((mon + 9) / 12.0)) * 0.25) + Math.floor(275 * mon / 9.0) + day + 1721013.5 + ((msec / 60000 + sec / 60.0 + minute) / 60.0 + hr) / 24.0 // ut in days + // # - 0.5*sgn(100.0*year + mon - 190002.5) + 0.5; + ; +} + +function jday(year, mon, day, hr, minute, sec, msec) { + if (year instanceof Date) { + var date = year; + return jdayInternal(date.getUTCFullYear(), date.getUTCMonth() + 1, // Note, this function requires months in range 1-12. + date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds()); + } + + return jdayInternal(year, mon, day, hr, minute, sec, msec); +} + +/* ----------------------------------------------------------------------------- + * + * procedure invjday + * + * this procedure finds the year, month, day, hour, minute and second + * given the julian date. tu can be ut1, tdt, tdb, etc. + * + * algorithm : set up starting values + * find leap year - use 1900 because 2000 is a leap year + * find the elapsed days through the year in a loop + * call routine to find each individual value + * + * author : david vallado 719-573-2600 1 mar 2001 + * + * inputs description range / units + * jd - julian date days from 4713 bc + * + * outputs : + * year - year 1900 .. 2100 + * mon - month 1 .. 12 + * day - day 1 .. 28,29,30,31 + * hr - hour 0 .. 23 + * min - minute 0 .. 59 + * sec - second 0.0 .. 59.999 + * + * locals : + * days - day of year plus fractional + * portion of a day days + * tu - julian centuries from 0 h + * jan 0, 1900 + * temp - temporary double values + * leapyrs - number of leap years from 1900 + * + * coupling : + * days2mdhms - finds month, day, hour, minute and second given days and year + * + * references : + * vallado 2007, 208, alg 22, ex 3-13 + * --------------------------------------------------------------------------- */ +function invjday(jd, asArray) { + // --------------- find year and days of the year - + var temp = jd - 2415019.5; + var tu = temp / 365.25; + var year = 1900 + Math.floor(tu); + var leapyrs = Math.floor((year - 1901) * 0.25); + + // optional nudge by 8.64x10-7 sec to get even outputs + var days = temp - ((year - 1900) * 365.0 + leapyrs) + 0.00000000001; + + // ------------ check for case of beginning of a year ----------- + if (days < 1.0) { + year -= 1; + leapyrs = Math.floor((year - 1901) * 0.25); + days = temp - ((year - 1900) * 365.0 + leapyrs); + } + + // ----------------- find remaing data ------------------------- + var mdhms = days2mdhms(year, days); + + var mon = mdhms.mon, + day = mdhms.day, + hr = mdhms.hr, + minute = mdhms.minute; + + + var sec = mdhms.sec - 0.00000086400; + + if (asArray) { + return [year, mon, day, hr, minute, Math.floor(sec)]; + } + + return new Date(Date.UTC(year, mon - 1, day, hr, minute, Math.floor(sec))); +} + +/* ----------------------------------------------------------------------------- + * + * procedure dpper + * + * this procedure provides deep space long period periodic contributions + * to the mean elements. by design, these periodics are zero at epoch. + * this used to be dscom which included initialization, but it's really a + * recurring function. + * + * author : david vallado 719-573-2600 28 jun 2005 + * + * inputs : + * e3 - + * ee2 - + * peo - + * pgho - + * pho - + * pinco - + * plo - + * se2 , se3 , sgh2, sgh3, sgh4, sh2, sh3, si2, si3, sl2, sl3, sl4 - + * t - + * xh2, xh3, xi2, xi3, xl2, xl3, xl4 - + * zmol - + * zmos - + * ep - eccentricity 0.0 - 1.0 + * inclo - inclination - needed for lyddane modification + * nodep - right ascension of ascending node + * argpp - argument of perigee + * mp - mean anomaly + * + * outputs : + * ep - eccentricity 0.0 - 1.0 + * inclp - inclination + * nodep - right ascension of ascending node + * argpp - argument of perigee + * mp - mean anomaly + * + * locals : + * alfdp - + * betdp - + * cosip , sinip , cosop , sinop , + * dalf - + * dbet - + * dls - + * f2, f3 - + * pe - + * pgh - + * ph - + * pinc - + * pl - + * sel , ses , sghl , sghs , shl , shs , sil , sinzf , sis , + * sll , sls + * xls - + * xnoh - + * zf - + * zm - + * + * coupling : + * none. + * + * references : + * hoots, roehrich, norad spacetrack report #3 1980 + * hoots, norad spacetrack report #6 1986 + * hoots, schumacher and glover 2004 + * vallado, crawford, hujsak, kelso 2006 + ----------------------------------------------------------------------------*/ +function dpper(satrec, options) { + var e3 = satrec.e3, + ee2 = satrec.ee2, + peo = satrec.peo, + pgho = satrec.pgho, + pho = satrec.pho, + pinco = satrec.pinco, + plo = satrec.plo, + se2 = satrec.se2, + se3 = satrec.se3, + sgh2 = satrec.sgh2, + sgh3 = satrec.sgh3, + sgh4 = satrec.sgh4, + sh2 = satrec.sh2, + sh3 = satrec.sh3, + si2 = satrec.si2, + si3 = satrec.si3, + sl2 = satrec.sl2, + sl3 = satrec.sl3, + sl4 = satrec.sl4, + t = satrec.t, + xgh2 = satrec.xgh2, + xgh3 = satrec.xgh3, + xgh4 = satrec.xgh4, + xh2 = satrec.xh2, + xh3 = satrec.xh3, + xi2 = satrec.xi2, + xi3 = satrec.xi3, + xl2 = satrec.xl2, + xl3 = satrec.xl3, + xl4 = satrec.xl4, + zmol = satrec.zmol, + zmos = satrec.zmos; + var init = options.init, + opsmode = options.opsmode; + var ep = options.ep, + inclp = options.inclp, + nodep = options.nodep, + argpp = options.argpp, + mp = options.mp; + + // Copy satellite attributes into local variables for convenience + // and symmetry in writing formulae. + + var alfdp = void 0; + var betdp = void 0; + var cosip = void 0; + var sinip = void 0; + var cosop = void 0; + var sinop = void 0; + var dalf = void 0; + var dbet = void 0; + var dls = void 0; + var f2 = void 0; + var f3 = void 0; + var pe = void 0; + var pgh = void 0; + var ph = void 0; + var pinc = void 0; + var pl = void 0; + var sinzf = void 0; + var xls = void 0; + var xnoh = void 0; + var zf = void 0; + var zm = void 0; + + // ---------------------- constants ----------------------------- + var zns = 1.19459e-5; + var zes = 0.01675; + var znl = 1.5835218e-4; + var zel = 0.05490; + + // --------------- calculate time varying periodics ----------- + zm = zmos + zns * t; + + // be sure that the initial call has time set to zero + if (init === 'y') { + zm = zmos; + } + zf = zm + 2.0 * zes * Math.sin(zm); + sinzf = Math.sin(zf); + f2 = 0.5 * sinzf * sinzf - 0.25; + f3 = -0.5 * sinzf * Math.cos(zf); + + var ses = se2 * f2 + se3 * f3; + var sis = si2 * f2 + si3 * f3; + var sls = sl2 * f2 + sl3 * f3 + sl4 * sinzf; + var sghs = sgh2 * f2 + sgh3 * f3 + sgh4 * sinzf; + var shs = sh2 * f2 + sh3 * f3; + + zm = zmol + znl * t; + if (init === 'y') { + zm = zmol; + } + + zf = zm + 2.0 * zel * Math.sin(zm); + sinzf = Math.sin(zf); + f2 = 0.5 * sinzf * sinzf - 0.25; + f3 = -0.5 * sinzf * Math.cos(zf); + + var sel = ee2 * f2 + e3 * f3; + var sil = xi2 * f2 + xi3 * f3; + var sll = xl2 * f2 + xl3 * f3 + xl4 * sinzf; + var sghl = xgh2 * f2 + xgh3 * f3 + xgh4 * sinzf; + var shll = xh2 * f2 + xh3 * f3; + + pe = ses + sel; + pinc = sis + sil; + pl = sls + sll; + pgh = sghs + sghl; + ph = shs + shll; + + if (init === 'n') { + pe -= peo; + pinc -= pinco; + pl -= plo; + pgh -= pgho; + ph -= pho; + inclp += pinc; + ep += pe; + sinip = Math.sin(inclp); + cosip = Math.cos(inclp); + + /* ----------------- apply periodics directly ------------ */ + // sgp4fix for lyddane choice + // strn3 used original inclination - this is technically feasible + // gsfc used perturbed inclination - also technically feasible + // probably best to readjust the 0.2 limit value and limit discontinuity + // 0.2 rad = 11.45916 deg + // use next line for original strn3 approach and original inclination + // if (inclo >= 0.2) + // use next line for gsfc version and perturbed inclination + if (inclp >= 0.2) { + ph /= sinip; + pgh -= cosip * ph; + argpp += pgh; + nodep += ph; + mp += pl; + } else { + // ---- apply periodics with lyddane modification ---- + sinop = Math.sin(nodep); + cosop = Math.cos(nodep); + alfdp = sinip * sinop; + betdp = sinip * cosop; + dalf = ph * cosop + pinc * cosip * sinop; + dbet = -ph * sinop + pinc * cosip * cosop; + alfdp += dalf; + betdp += dbet; + nodep %= twoPi; + + // sgp4fix for afspc written intrinsic functions + // nodep used without a trigonometric function ahead + if (nodep < 0.0 && opsmode === 'a') { + nodep += twoPi; + } + xls = mp + argpp + cosip * nodep; + dls = pl + pgh - pinc * nodep * sinip; + xls += dls; + xnoh = nodep; + nodep = Math.atan2(alfdp, betdp); + + // sgp4fix for afspc written intrinsic functions + // nodep used without a trigonometric function ahead + if (nodep < 0.0 && opsmode === 'a') { + nodep += twoPi; + } + if (Math.abs(xnoh - nodep) > pi) { + if (nodep < xnoh) { + nodep += twoPi; + } else { + nodep -= twoPi; + } + } + mp += pl; + argpp = xls - mp - cosip * nodep; + } + } + + return { + ep: ep, + inclp: inclp, + nodep: nodep, + argpp: argpp, + mp: mp + }; +} + +/*----------------------------------------------------------------------------- + * + * procedure dscom + * + * this procedure provides deep space common items used by both the secular + * and periodics subroutines. input is provided as shown. this routine + * used to be called dpper, but the functions inside weren't well organized. + * + * author : david vallado 719-573-2600 28 jun 2005 + * + * inputs : + * epoch - + * ep - eccentricity + * argpp - argument of perigee + * tc - + * inclp - inclination + * nodep - right ascension of ascending node + * np - mean motion + * + * outputs : + * sinim , cosim , sinomm , cosomm , snodm , cnodm + * day - + * e3 - + * ee2 - + * em - eccentricity + * emsq - eccentricity squared + * gam - + * peo - + * pgho - + * pho - + * pinco - + * plo - + * rtemsq - + * se2, se3 - + * sgh2, sgh3, sgh4 - + * sh2, sh3, si2, si3, sl2, sl3, sl4 - + * s1, s2, s3, s4, s5, s6, s7 - + * ss1, ss2, ss3, ss4, ss5, ss6, ss7, sz1, sz2, sz3 - + * sz11, sz12, sz13, sz21, sz22, sz23, sz31, sz32, sz33 - + * xgh2, xgh3, xgh4, xh2, xh3, xi2, xi3, xl2, xl3, xl4 - + * nm - mean motion + * z1, z2, z3, z11, z12, z13, z21, z22, z23, z31, z32, z33 - + * zmol - + * zmos - + * + * locals : + * a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 - + * betasq - + * cc - + * ctem, stem - + * x1, x2, x3, x4, x5, x6, x7, x8 - + * xnodce - + * xnoi - + * zcosg , zsing , zcosgl , zsingl , zcosh , zsinh , zcoshl , zsinhl , + * zcosi , zsini , zcosil , zsinil , + * zx - + * zy - + * + * coupling : + * none. + * + * references : + * hoots, roehrich, norad spacetrack report #3 1980 + * hoots, norad spacetrack report #6 1986 + * hoots, schumacher and glover 2004 + * vallado, crawford, hujsak, kelso 2006 + ----------------------------------------------------------------------------*/ +function dscom(options) { + var epoch = options.epoch, + ep = options.ep, + argpp = options.argpp, + tc = options.tc, + inclp = options.inclp, + nodep = options.nodep, + np = options.np; + + + var a1 = void 0; + var a2 = void 0; + var a3 = void 0; + var a4 = void 0; + var a5 = void 0; + var a6 = void 0; + var a7 = void 0; + var a8 = void 0; + var a9 = void 0; + var a10 = void 0; + var cc = void 0; + var x1 = void 0; + var x2 = void 0; + var x3 = void 0; + var x4 = void 0; + var x5 = void 0; + var x6 = void 0; + var x7 = void 0; + var x8 = void 0; + var zcosg = void 0; + var zsing = void 0; + var zcosh = void 0; + var zsinh = void 0; + var zcosi = void 0; + var zsini = void 0; + + var ss1 = void 0; + var ss2 = void 0; + var ss3 = void 0; + var ss4 = void 0; + var ss5 = void 0; + var ss6 = void 0; + var ss7 = void 0; + var sz1 = void 0; + var sz2 = void 0; + var sz3 = void 0; + var sz11 = void 0; + var sz12 = void 0; + var sz13 = void 0; + var sz21 = void 0; + var sz22 = void 0; + var sz23 = void 0; + var sz31 = void 0; + var sz32 = void 0; + var sz33 = void 0; + var s1 = void 0; + var s2 = void 0; + var s3 = void 0; + var s4 = void 0; + var s5 = void 0; + var s6 = void 0; + var s7 = void 0; + var z1 = void 0; + var z2 = void 0; + var z3 = void 0; + var z11 = void 0; + var z12 = void 0; + var z13 = void 0; + var z21 = void 0; + var z22 = void 0; + var z23 = void 0; + var z31 = void 0; + var z32 = void 0; + var z33 = void 0; + + // -------------------------- constants ------------------------- + var zes = 0.01675; + var zel = 0.05490; + var c1ss = 2.9864797e-6; + var c1l = 4.7968065e-7; + var zsinis = 0.39785416; + var zcosis = 0.91744867; + var zcosgs = 0.1945905; + var zsings = -0.98088458; + + // --------------------- local variables ------------------------ + var nm = np; + var em = ep; + var snodm = Math.sin(nodep); + var cnodm = Math.cos(nodep); + var sinomm = Math.sin(argpp); + var cosomm = Math.cos(argpp); + var sinim = Math.sin(inclp); + var cosim = Math.cos(inclp); + var emsq = em * em; + var betasq = 1.0 - emsq; + var rtemsq = Math.sqrt(betasq); + + // ----------------- initialize lunar solar terms --------------- + var peo = 0.0; + var pinco = 0.0; + var plo = 0.0; + var pgho = 0.0; + var pho = 0.0; + var day = epoch + 18261.5 + tc / 1440.0; + var xnodce = (4.5236020 - 9.2422029e-4 * day) % twoPi; + var stem = Math.sin(xnodce); + var ctem = Math.cos(xnodce); + var zcosil = 0.91375164 - 0.03568096 * ctem; + var zsinil = Math.sqrt(1.0 - zcosil * zcosil); + var zsinhl = 0.089683511 * stem / zsinil; + var zcoshl = Math.sqrt(1.0 - zsinhl * zsinhl); + var gam = 5.8351514 + 0.0019443680 * day; + var zx = 0.39785416 * stem / zsinil; + var zy = zcoshl * ctem + 0.91744867 * zsinhl * stem; + zx = Math.atan2(zx, zy); + zx += gam - xnodce; + var zcosgl = Math.cos(zx); + var zsingl = Math.sin(zx); + + // ------------------------- do solar terms --------------------- + zcosg = zcosgs; + zsing = zsings; + zcosi = zcosis; + zsini = zsinis; + zcosh = cnodm; + zsinh = snodm; + cc = c1ss; + var xnoi = 1.0 / nm; + + var lsflg = 0; + while (lsflg < 2) { + lsflg += 1; + a1 = zcosg * zcosh + zsing * zcosi * zsinh; + a3 = -zsing * zcosh + zcosg * zcosi * zsinh; + a7 = -zcosg * zsinh + zsing * zcosi * zcosh; + a8 = zsing * zsini; + a9 = zsing * zsinh + zcosg * zcosi * zcosh; + a10 = zcosg * zsini; + a2 = cosim * a7 + sinim * a8; + a4 = cosim * a9 + sinim * a10; + a5 = -sinim * a7 + cosim * a8; + a6 = -sinim * a9 + cosim * a10; + + x1 = a1 * cosomm + a2 * sinomm; + x2 = a3 * cosomm + a4 * sinomm; + x3 = -a1 * sinomm + a2 * cosomm; + x4 = -a3 * sinomm + a4 * cosomm; + x5 = a5 * sinomm; + x6 = a6 * sinomm; + x7 = a5 * cosomm; + x8 = a6 * cosomm; + + z31 = 12.0 * x1 * x1 - 3.0 * x3 * x3; + z32 = 24.0 * x1 * x2 - 6.0 * x3 * x4; + z33 = 12.0 * x2 * x2 - 3.0 * x4 * x4; + + z1 = 3.0 * (a1 * a1 + a2 * a2) + z31 * emsq; + z2 = 6.0 * (a1 * a3 + a2 * a4) + z32 * emsq; + z3 = 3.0 * (a3 * a3 + a4 * a4) + z33 * emsq; + + z11 = -6.0 * a1 * a5 + emsq * (-24.0 * x1 * x7 - 6.0 * x3 * x5); + z12 = -6.0 * (a1 * a6 + a3 * a5) + emsq * (-24.0 * (x2 * x7 + x1 * x8) + -6.0 * (x3 * x6 + x4 * x5)); + + z13 = -6.0 * a3 * a6 + emsq * (-24.0 * x2 * x8 - 6.0 * x4 * x6); + + z21 = 6.0 * a2 * a5 + emsq * (24.0 * x1 * x5 - 6.0 * x3 * x7); + z22 = 6.0 * (a4 * a5 + a2 * a6) + emsq * (24.0 * (x2 * x5 + x1 * x6) - 6.0 * (x4 * x7 + x3 * x8)); + z23 = 6.0 * a4 * a6 + emsq * (24.0 * x2 * x6 - 6.0 * x4 * x8); + + z1 = z1 + z1 + betasq * z31; + z2 = z2 + z2 + betasq * z32; + z3 = z3 + z3 + betasq * z33; + s3 = cc * xnoi; + s2 = -0.5 * s3 / rtemsq; + s4 = s3 * rtemsq; + s1 = -15.0 * em * s4; + s5 = x1 * x3 + x2 * x4; + s6 = x2 * x3 + x1 * x4; + s7 = x2 * x4 - x1 * x3; + + // ----------------------- do lunar terms ------------------- + if (lsflg === 1) { + ss1 = s1; + ss2 = s2; + ss3 = s3; + ss4 = s4; + ss5 = s5; + ss6 = s6; + ss7 = s7; + sz1 = z1; + sz2 = z2; + sz3 = z3; + sz11 = z11; + sz12 = z12; + sz13 = z13; + sz21 = z21; + sz22 = z22; + sz23 = z23; + sz31 = z31; + sz32 = z32; + sz33 = z33; + zcosg = zcosgl; + zsing = zsingl; + zcosi = zcosil; + zsini = zsinil; + zcosh = zcoshl * cnodm + zsinhl * snodm; + zsinh = snodm * zcoshl - cnodm * zsinhl; + cc = c1l; + } + } + + var zmol = (4.7199672 + (0.22997150 * day - gam)) % twoPi; + var zmos = (6.2565837 + 0.017201977 * day) % twoPi; + + // ------------------------ do solar terms ---------------------- + var se2 = 2.0 * ss1 * ss6; + var se3 = 2.0 * ss1 * ss7; + var si2 = 2.0 * ss2 * sz12; + var si3 = 2.0 * ss2 * (sz13 - sz11); + var sl2 = -2.0 * ss3 * sz2; + var sl3 = -2.0 * ss3 * (sz3 - sz1); + var sl4 = -2.0 * ss3 * (-21.0 - 9.0 * emsq) * zes; + var sgh2 = 2.0 * ss4 * sz32; + var sgh3 = 2.0 * ss4 * (sz33 - sz31); + var sgh4 = -18.0 * ss4 * zes; + var sh2 = -2.0 * ss2 * sz22; + var sh3 = -2.0 * ss2 * (sz23 - sz21); + + // ------------------------ do lunar terms ---------------------- + var ee2 = 2.0 * s1 * s6; + var e3 = 2.0 * s1 * s7; + var xi2 = 2.0 * s2 * z12; + var xi3 = 2.0 * s2 * (z13 - z11); + var xl2 = -2.0 * s3 * z2; + var xl3 = -2.0 * s3 * (z3 - z1); + var xl4 = -2.0 * s3 * (-21.0 - 9.0 * emsq) * zel; + var xgh2 = 2.0 * s4 * z32; + var xgh3 = 2.0 * s4 * (z33 - z31); + var xgh4 = -18.0 * s4 * zel; + var xh2 = -2.0 * s2 * z22; + var xh3 = -2.0 * s2 * (z23 - z21); + + return { + snodm: snodm, + cnodm: cnodm, + sinim: sinim, + cosim: cosim, + sinomm: sinomm, + + cosomm: cosomm, + day: day, + e3: e3, + ee2: ee2, + em: em, + + emsq: emsq, + gam: gam, + peo: peo, + pgho: pgho, + pho: pho, + + pinco: pinco, + plo: plo, + rtemsq: rtemsq, + se2: se2, + se3: se3, + + sgh2: sgh2, + sgh3: sgh3, + sgh4: sgh4, + sh2: sh2, + sh3: sh3, + + si2: si2, + si3: si3, + sl2: sl2, + sl3: sl3, + sl4: sl4, + + s1: s1, + s2: s2, + s3: s3, + s4: s4, + s5: s5, + + s6: s6, + s7: s7, + ss1: ss1, + ss2: ss2, + ss3: ss3, + + ss4: ss4, + ss5: ss5, + ss6: ss6, + ss7: ss7, + sz1: sz1, + + sz2: sz2, + sz3: sz3, + sz11: sz11, + sz12: sz12, + sz13: sz13, + + sz21: sz21, + sz22: sz22, + sz23: sz23, + sz31: sz31, + sz32: sz32, + + sz33: sz33, + xgh2: xgh2, + xgh3: xgh3, + xgh4: xgh4, + xh2: xh2, + + xh3: xh3, + xi2: xi2, + xi3: xi3, + xl2: xl2, + xl3: xl3, + + xl4: xl4, + nm: nm, + z1: z1, + z2: z2, + z3: z3, + + z11: z11, + z12: z12, + z13: z13, + z21: z21, + z22: z22, + + z23: z23, + z31: z31, + z32: z32, + z33: z33, + zmol: zmol, + + zmos: zmos + }; +} + +/*----------------------------------------------------------------------------- + * + * procedure dsinit + * + * this procedure provides deep space contributions to mean motion dot due + * to geopotential resonance with half day and one day orbits. + * + * author : david vallado 719-573-2600 28 jun 2005 + * + * inputs : + * cosim, sinim- + * emsq - eccentricity squared + * argpo - argument of perigee + * s1, s2, s3, s4, s5 - + * ss1, ss2, ss3, ss4, ss5 - + * sz1, sz3, sz11, sz13, sz21, sz23, sz31, sz33 - + * t - time + * tc - + * gsto - greenwich sidereal time rad + * mo - mean anomaly + * mdot - mean anomaly dot (rate) + * no - mean motion + * nodeo - right ascension of ascending node + * nodedot - right ascension of ascending node dot (rate) + * xpidot - + * z1, z3, z11, z13, z21, z23, z31, z33 - + * eccm - eccentricity + * argpm - argument of perigee + * inclm - inclination + * mm - mean anomaly + * xn - mean motion + * nodem - right ascension of ascending node + * + * outputs : + * em - eccentricity + * argpm - argument of perigee + * inclm - inclination + * mm - mean anomaly + * nm - mean motion + * nodem - right ascension of ascending node + * irez - flag for resonance 0-none, 1-one day, 2-half day + * atime - + * d2201, d2211, d3210, d3222, d4410, d4422, d5220, d5232, d5421, d5433 - + * dedt - + * didt - + * dmdt - + * dndt - + * dnodt - + * domdt - + * del1, del2, del3 - + * ses , sghl , sghs , sgs , shl , shs , sis , sls + * theta - + * xfact - + * xlamo - + * xli - + * xni + * + * locals : + * ainv2 - + * aonv - + * cosisq - + * eoc - + * f220, f221, f311, f321, f322, f330, f441, f442, f522, f523, f542, f543 - + * g200, g201, g211, g300, g310, g322, g410, g422, g520, g521, g532, g533 - + * sini2 - + * temp - + * temp1 - + * theta - + * xno2 - + * + * coupling : + * getgravconst + * + * references : + * hoots, roehrich, norad spacetrack report #3 1980 + * hoots, norad spacetrack report #6 1986 + * hoots, schumacher and glover 2004 + * vallado, crawford, hujsak, kelso 2006 + ----------------------------------------------------------------------------*/ +function dsinit(options) { + var cosim = options.cosim, + argpo = options.argpo, + s1 = options.s1, + s2 = options.s2, + s3 = options.s3, + s4 = options.s4, + s5 = options.s5, + sinim = options.sinim, + ss1 = options.ss1, + ss2 = options.ss2, + ss3 = options.ss3, + ss4 = options.ss4, + ss5 = options.ss5, + sz1 = options.sz1, + sz3 = options.sz3, + sz11 = options.sz11, + sz13 = options.sz13, + sz21 = options.sz21, + sz23 = options.sz23, + sz31 = options.sz31, + sz33 = options.sz33, + t = options.t, + tc = options.tc, + gsto = options.gsto, + mo = options.mo, + mdot = options.mdot, + no = options.no, + nodeo = options.nodeo, + nodedot = options.nodedot, + xpidot = options.xpidot, + z1 = options.z1, + z3 = options.z3, + z11 = options.z11, + z13 = options.z13, + z21 = options.z21, + z23 = options.z23, + z31 = options.z31, + z33 = options.z33, + ecco = options.ecco, + eccsq = options.eccsq; + var emsq = options.emsq, + em = options.em, + argpm = options.argpm, + inclm = options.inclm, + mm = options.mm, + nm = options.nm, + nodem = options.nodem, + irez = options.irez, + atime = options.atime, + d2201 = options.d2201, + d2211 = options.d2211, + d3210 = options.d3210, + d3222 = options.d3222, + d4410 = options.d4410, + d4422 = options.d4422, + d5220 = options.d5220, + d5232 = options.d5232, + d5421 = options.d5421, + d5433 = options.d5433, + dedt = options.dedt, + didt = options.didt, + dmdt = options.dmdt, + dnodt = options.dnodt, + domdt = options.domdt, + del1 = options.del1, + del2 = options.del2, + del3 = options.del3, + xfact = options.xfact, + xlamo = options.xlamo, + xli = options.xli, + xni = options.xni; + + + var f220 = void 0; + var f221 = void 0; + var f311 = void 0; + var f321 = void 0; + var f322 = void 0; + var f330 = void 0; + var f441 = void 0; + var f442 = void 0; + var f522 = void 0; + var f523 = void 0; + var f542 = void 0; + var f543 = void 0; + var g200 = void 0; + var g201 = void 0; + var g211 = void 0; + var g300 = void 0; + var g310 = void 0; + var g322 = void 0; + var g410 = void 0; + var g422 = void 0; + var g520 = void 0; + var g521 = void 0; + var g532 = void 0; + var g533 = void 0; + var sini2 = void 0; + var temp = void 0; + var temp1 = void 0; + var xno2 = void 0; + var ainv2 = void 0; + var aonv = void 0; + var cosisq = void 0; + var eoc = void 0; + + var q22 = 1.7891679e-6; + var q31 = 2.1460748e-6; + var q33 = 2.2123015e-7; + var root22 = 1.7891679e-6; + var root44 = 7.3636953e-9; + var root54 = 2.1765803e-9; + var rptim = 4.37526908801129966e-3; // equates to 7.29211514668855e-5 rad/sec + var root32 = 3.7393792e-7; + var root52 = 1.1428639e-7; + var znl = 1.5835218e-4; + var zns = 1.19459e-5; + + // -------------------- deep space initialization ------------ + irez = 0; + if (nm < 0.0052359877 && nm > 0.0034906585) { + irez = 1; + } + if (nm >= 8.26e-3 && nm <= 9.24e-3 && em >= 0.5) { + irez = 2; + } + + // ------------------------ do solar terms ------------------- + var ses = ss1 * zns * ss5; + var sis = ss2 * zns * (sz11 + sz13); + var sls = -zns * ss3 * (sz1 + sz3 - 14.0 - 6.0 * emsq); + var sghs = ss4 * zns * (sz31 + sz33 - 6.0); + var shs = -zns * ss2 * (sz21 + sz23); + + // sgp4fix for 180 deg incl + if (inclm < 5.2359877e-2 || inclm > pi - 5.2359877e-2) { + shs = 0.0; + } + if (sinim !== 0.0) { + shs /= sinim; + } + var sgs = sghs - cosim * shs; + + // ------------------------- do lunar terms ------------------ + dedt = ses + s1 * znl * s5; + didt = sis + s2 * znl * (z11 + z13); + dmdt = sls - znl * s3 * (z1 + z3 - 14.0 - 6.0 * emsq); + var sghl = s4 * znl * (z31 + z33 - 6.0); + var shll = -znl * s2 * (z21 + z23); + + // sgp4fix for 180 deg incl + if (inclm < 5.2359877e-2 || inclm > pi - 5.2359877e-2) { + shll = 0.0; + } + domdt = sgs + sghl; + dnodt = shs; + if (sinim !== 0.0) { + domdt -= cosim / sinim * shll; + dnodt += shll / sinim; + } + + // ----------- calculate deep space resonance effects -------- + var dndt = 0.0; + var theta = (gsto + tc * rptim) % twoPi; + em += dedt * t; + inclm += didt * t; + argpm += domdt * t; + nodem += dnodt * t; + mm += dmdt * t; + + // sgp4fix for negative inclinations + // the following if statement should be commented out + // if (inclm < 0.0) + // { + // inclm = -inclm; + // argpm = argpm - pi; + // nodem = nodem + pi; + // } + + // -------------- initialize the resonance terms ------------- + if (irez !== 0) { + aonv = Math.pow(nm / xke, x2o3); + + // ---------- geopotential resonance for 12 hour orbits ------ + if (irez === 2) { + cosisq = cosim * cosim; + var emo = em; + em = ecco; + var emsqo = emsq; + emsq = eccsq; + eoc = em * emsq; + g201 = -0.306 - (em - 0.64) * 0.440; + + if (em <= 0.65) { + g211 = 3.616 - 13.2470 * em + 16.2900 * emsq; + g310 = -19.302 + 117.3900 * em - 228.4190 * emsq + 156.5910 * eoc; + g322 = -18.9068 + 109.7927 * em - 214.6334 * emsq + 146.5816 * eoc; + g410 = -41.122 + 242.6940 * em - 471.0940 * emsq + 313.9530 * eoc; + g422 = -146.407 + 841.8800 * em - 1629.014 * emsq + 1083.4350 * eoc; + g520 = -532.114 + 3017.977 * em - 5740.032 * emsq + 3708.2760 * eoc; + } else { + g211 = -72.099 + 331.819 * em - 508.738 * emsq + 266.724 * eoc; + g310 = -346.844 + 1582.851 * em - 2415.925 * emsq + 1246.113 * eoc; + g322 = -342.585 + 1554.908 * em - 2366.899 * emsq + 1215.972 * eoc; + g410 = -1052.797 + 4758.686 * em - 7193.992 * emsq + 3651.957 * eoc; + g422 = -3581.690 + 16178.110 * em - 24462.770 * emsq + 12422.520 * eoc; + if (em > 0.715) { + g520 = -5149.66 + 29936.92 * em - 54087.36 * emsq + 31324.56 * eoc; + } else { + g520 = 1464.74 - 4664.75 * em + 3763.64 * emsq; + } + } + if (em < 0.7) { + g533 = -919.22770 + 4988.6100 * em - 9064.7700 * emsq + 5542.21 * eoc; + g521 = -822.71072 + 4568.6173 * em - 8491.4146 * emsq + 5337.524 * eoc; + g532 = -853.66600 + 4690.2500 * em - 8624.7700 * emsq + 5341.4 * eoc; + } else { + g533 = -37995.780 + 161616.52 * em - 229838.20 * emsq + 109377.94 * eoc; + g521 = -51752.104 + 218913.95 * em - 309468.16 * emsq + 146349.42 * eoc; + g532 = -40023.880 + 170470.89 * em - 242699.48 * emsq + 115605.82 * eoc; + } + sini2 = sinim * sinim; + f220 = 0.75 * (1.0 + 2.0 * cosim + cosisq); + f221 = 1.5 * sini2; + f321 = 1.875 * sinim * (1.0 - 2.0 * cosim - 3.0 * cosisq); + f322 = -1.875 * sinim * (1.0 + 2.0 * cosim - 3.0 * cosisq); + f441 = 35.0 * sini2 * f220; + f442 = 39.3750 * sini2 * sini2; + + f522 = 9.84375 * sinim * (sini2 * (1.0 - 2.0 * cosim - 5.0 * cosisq) + 0.33333333 * (-2.0 + 4.0 * cosim + 6.0 * cosisq)); + f523 = sinim * (4.92187512 * sini2 * (-2.0 - 4.0 * cosim + 10.0 * cosisq) + 6.56250012 * (1.0 + 2.0 * cosim - 3.0 * cosisq)); + f542 = 29.53125 * sinim * (2.0 - 8.0 * cosim + cosisq * (-12.0 + 8.0 * cosim + 10.0 * cosisq)); + f543 = 29.53125 * sinim * (-2.0 - 8.0 * cosim + cosisq * (12.0 + 8.0 * cosim - 10.0 * cosisq)); + + xno2 = nm * nm; + ainv2 = aonv * aonv; + temp1 = 3.0 * xno2 * ainv2; + temp = temp1 * root22; + d2201 = temp * f220 * g201; + d2211 = temp * f221 * g211; + temp1 *= aonv; + temp = temp1 * root32; + d3210 = temp * f321 * g310; + d3222 = temp * f322 * g322; + temp1 *= aonv; + temp = 2.0 * temp1 * root44; + d4410 = temp * f441 * g410; + d4422 = temp * f442 * g422; + temp1 *= aonv; + temp = temp1 * root52; + d5220 = temp * f522 * g520; + d5232 = temp * f523 * g532; + temp = 2.0 * temp1 * root54; + d5421 = temp * f542 * g521; + d5433 = temp * f543 * g533; + xlamo = (mo + nodeo + nodeo - (theta + theta)) % twoPi; + xfact = mdot + dmdt + 2.0 * (nodedot + dnodt - rptim) - no; + em = emo; + emsq = emsqo; + } + + // ---------------- synchronous resonance terms -------------- + if (irez === 1) { + g200 = 1.0 + emsq * (-2.5 + 0.8125 * emsq); + g310 = 1.0 + 2.0 * emsq; + g300 = 1.0 + emsq * (-6.0 + 6.60937 * emsq); + f220 = 0.75 * (1.0 + cosim) * (1.0 + cosim); + f311 = 0.9375 * sinim * sinim * (1.0 + 3.0 * cosim) - 0.75 * (1.0 + cosim); + f330 = 1.0 + cosim; + f330 *= 1.875 * f330 * f330; + del1 = 3.0 * nm * nm * aonv * aonv; + del2 = 2.0 * del1 * f220 * g200 * q22; + del3 = 3.0 * del1 * f330 * g300 * q33 * aonv; + del1 = del1 * f311 * g310 * q31 * aonv; + xlamo = (mo + nodeo + argpo - theta) % twoPi; + xfact = mdot + xpidot + dmdt + domdt + dnodt - (no + rptim); + } + + // ------------ for sgp4, initialize the integrator ---------- + xli = xlamo; + xni = no; + atime = 0.0; + nm = no + dndt; + } + + return { + em: em, + argpm: argpm, + inclm: inclm, + mm: mm, + nm: nm, + nodem: nodem, + + irez: irez, + atime: atime, + + d2201: d2201, + d2211: d2211, + d3210: d3210, + d3222: d3222, + d4410: d4410, + + d4422: d4422, + d5220: d5220, + d5232: d5232, + d5421: d5421, + d5433: d5433, + + dedt: dedt, + didt: didt, + dmdt: dmdt, + dndt: dndt, + dnodt: dnodt, + domdt: domdt, + + del1: del1, + del2: del2, + del3: del3, + + xfact: xfact, + xlamo: xlamo, + xli: xli, + xni: xni + }; +} + +/* ----------------------------------------------------------------------------- + * + * function gstime + * + * this function finds the greenwich sidereal time. + * + * author : david vallado 719-573-2600 1 mar 2001 + * + * inputs description range / units + * jdut1 - julian date in ut1 days from 4713 bc + * + * outputs : + * gstime - greenwich sidereal time 0 to 2pi rad + * + * locals : + * temp - temporary variable for doubles rad + * tut1 - julian centuries from the + * jan 1, 2000 12 h epoch (ut1) + * + * coupling : + * none + * + * references : + * vallado 2004, 191, eq 3-45 + * --------------------------------------------------------------------------- */ +function gstimeInternal(jdut1) { + var tut1 = (jdut1 - 2451545.0) / 36525.0; + + var temp = -6.2e-6 * tut1 * tut1 * tut1 + 0.093104 * tut1 * tut1 + (876600.0 * 3600 + 8640184.812866) * tut1 + 67310.54841; // # sec + temp = temp * deg2rad / 240.0 % twoPi; // 360/86400 = 1/240, to deg, to rad + + // ------------------------ check quadrants --------------------- + if (temp < 0.0) { + temp += twoPi; + } + + return temp; +} + +function gstime() { + if ((arguments.length <= 0 ? undefined : arguments[0]) instanceof Date || arguments.length > 1) { + return gstimeInternal(jday.apply(undefined, arguments)); + } + return gstimeInternal.apply(undefined, arguments); +} + +/*----------------------------------------------------------------------------- + * + * procedure initl + * + * this procedure initializes the sgp4 propagator. all the initialization is + * consolidated here instead of having multiple loops inside other routines. + * + * author : david vallado 719-573-2600 28 jun 2005 + * + * inputs : + * ecco - eccentricity 0.0 - 1.0 + * epoch - epoch time in days from jan 0, 1950. 0 hr + * inclo - inclination of satellite + * no - mean motion of satellite + * satn - satellite number + * + * outputs : + * ainv - 1.0 / a + * ao - semi major axis + * con41 - + * con42 - 1.0 - 5.0 cos(i) + * cosio - cosine of inclination + * cosio2 - cosio squared + * eccsq - eccentricity squared + * method - flag for deep space 'd', 'n' + * omeosq - 1.0 - ecco * ecco + * posq - semi-parameter squared + * rp - radius of perigee + * rteosq - square root of (1.0 - ecco*ecco) + * sinio - sine of inclination + * gsto - gst at time of observation rad + * no - mean motion of satellite + * + * locals : + * ak - + * d1 - + * del - + * adel - + * po - + * + * coupling : + * getgravconst + * gstime - find greenwich sidereal time from the julian date + * + * references : + * hoots, roehrich, norad spacetrack report #3 1980 + * hoots, norad spacetrack report #6 1986 + * hoots, schumacher and glover 2004 + * vallado, crawford, hujsak, kelso 2006 + ----------------------------------------------------------------------------*/ +function initl(options) { + var ecco = options.ecco, + epoch = options.epoch, + inclo = options.inclo, + opsmode = options.opsmode; + var no = options.no; + + // sgp4fix use old way of finding gst + // ----------------------- earth constants --------------------- + // sgp4fix identify constants and allow alternate values + + // ------------- calculate auxillary epoch quantities ---------- + + var eccsq = ecco * ecco; + var omeosq = 1.0 - eccsq; + var rteosq = Math.sqrt(omeosq); + var cosio = Math.cos(inclo); + var cosio2 = cosio * cosio; + + // ------------------ un-kozai the mean motion ----------------- + var ak = Math.pow(xke / no, x2o3); + var d1 = 0.75 * j2 * (3.0 * cosio2 - 1.0) / (rteosq * omeosq); + var delPrime = d1 / (ak * ak); + var adel = ak * (1.0 - delPrime * delPrime - delPrime * (1.0 / 3.0 + 134.0 * delPrime * delPrime / 81.0)); + delPrime = d1 / (adel * adel); + no /= 1.0 + delPrime; + + var ao = Math.pow(xke / no, x2o3); + var sinio = Math.sin(inclo); + var po = ao * omeosq; + var con42 = 1.0 - 5.0 * cosio2; + var con41 = -con42 - cosio2 - cosio2; + var ainv = 1.0 / ao; + var posq = po * po; + var rp = ao * (1.0 - ecco); + var method = 'n'; + + // sgp4fix modern approach to finding sidereal time + var gsto = void 0; + if (opsmode === 'a') { + // sgp4fix use old way of finding gst + // count integer number of days from 0 jan 1970 + var ts70 = epoch - 7305.0; + var ds70 = Math.floor(ts70 + 1.0e-8); + var tfrac = ts70 - ds70; + + // find greenwich location at epoch + var c1 = 1.72027916940703639e-2; + var thgr70 = 1.7321343856509374; + var fk5r = 5.07551419432269442e-15; + var c1p2p = c1 + twoPi; + gsto = (thgr70 + c1 * ds70 + c1p2p * tfrac + ts70 * ts70 * fk5r) % twoPi; + if (gsto < 0.0) { + gsto += twoPi; + } + } else { + gsto = gstime(epoch + 2433281.5); + } + + return { + no: no, + + method: method, + + ainv: ainv, + ao: ao, + con41: con41, + con42: con42, + cosio: cosio, + + cosio2: cosio2, + eccsq: eccsq, + omeosq: omeosq, + posq: posq, + + rp: rp, + rteosq: rteosq, + sinio: sinio, + gsto: gsto + }; +} + +/*----------------------------------------------------------------------------- + * + * procedure dspace + * + * this procedure provides deep space contributions to mean elements for + * perturbing third body. these effects have been averaged over one + * revolution of the sun and moon. for earth resonance effects, the + * effects have been averaged over no revolutions of the satellite. + * (mean motion) + * + * author : david vallado 719-573-2600 28 jun 2005 + * + * inputs : + * d2201, d2211, d3210, d3222, d4410, d4422, d5220, d5232, d5421, d5433 - + * dedt - + * del1, del2, del3 - + * didt - + * dmdt - + * dnodt - + * domdt - + * irez - flag for resonance 0-none, 1-one day, 2-half day + * argpo - argument of perigee + * argpdot - argument of perigee dot (rate) + * t - time + * tc - + * gsto - gst + * xfact - + * xlamo - + * no - mean motion + * atime - + * em - eccentricity + * ft - + * argpm - argument of perigee + * inclm - inclination + * xli - + * mm - mean anomaly + * xni - mean motion + * nodem - right ascension of ascending node + * + * outputs : + * atime - + * em - eccentricity + * argpm - argument of perigee + * inclm - inclination + * xli - + * mm - mean anomaly + * xni - + * nodem - right ascension of ascending node + * dndt - + * nm - mean motion + * + * locals : + * delt - + * ft - + * theta - + * x2li - + * x2omi - + * xl - + * xldot - + * xnddt - + * xndt - + * xomi - + * + * coupling : + * none - + * + * references : + * hoots, roehrich, norad spacetrack report #3 1980 + * hoots, norad spacetrack report #6 1986 + * hoots, schumacher and glover 2004 + * vallado, crawford, hujsak, kelso 2006 + ----------------------------------------------------------------------------*/ +function dspace(options) { + var irez = options.irez, + d2201 = options.d2201, + d2211 = options.d2211, + d3210 = options.d3210, + d3222 = options.d3222, + d4410 = options.d4410, + d4422 = options.d4422, + d5220 = options.d5220, + d5232 = options.d5232, + d5421 = options.d5421, + d5433 = options.d5433, + dedt = options.dedt, + del1 = options.del1, + del2 = options.del2, + del3 = options.del3, + didt = options.didt, + dmdt = options.dmdt, + dnodt = options.dnodt, + domdt = options.domdt, + argpo = options.argpo, + argpdot = options.argpdot, + t = options.t, + tc = options.tc, + gsto = options.gsto, + xfact = options.xfact, + xlamo = options.xlamo, + no = options.no; + var atime = options.atime, + em = options.em, + argpm = options.argpm, + inclm = options.inclm, + xli = options.xli, + mm = options.mm, + xni = options.xni, + nodem = options.nodem, + nm = options.nm; + + + var fasx2 = 0.13130908; + var fasx4 = 2.8843198; + var fasx6 = 0.37448087; + var g22 = 5.7686396; + var g32 = 0.95240898; + var g44 = 1.8014998; + var g52 = 1.0508330; + var g54 = 4.4108898; + var rptim = 4.37526908801129966e-3; // equates to 7.29211514668855e-5 rad/sec + var stepp = 720.0; + var stepn = -720.0; + var step2 = 259200.0; + + var delt = void 0; + var x2li = void 0; + var x2omi = void 0; + var xl = void 0; + var xldot = void 0; + var xnddt = void 0; + var xndt = void 0; + var xomi = void 0; + var dndt = 0.0; + var ft = 0.0; + + // ----------- calculate deep space resonance effects ----------- + var theta = (gsto + tc * rptim) % twoPi; + em += dedt * t; + + inclm += didt * t; + argpm += domdt * t; + nodem += dnodt * t; + mm += dmdt * t; + + // sgp4fix for negative inclinations + // the following if statement should be commented out + // if (inclm < 0.0) + // { + // inclm = -inclm; + // argpm = argpm - pi; + // nodem = nodem + pi; + // } + + /* - update resonances : numerical (euler-maclaurin) integration - */ + /* ------------------------- epoch restart ---------------------- */ + // sgp4fix for propagator problems + // the following integration works for negative time steps and periods + // the specific changes are unknown because the original code was so convoluted + + // sgp4fix take out atime = 0.0 and fix for faster operation + + if (irez !== 0) { + // sgp4fix streamline check + if (atime === 0.0 || t * atime <= 0.0 || Math.abs(t) < Math.abs(atime)) { + atime = 0.0; + xni = no; + xli = xlamo; + } + + // sgp4fix move check outside loop + if (t > 0.0) { + delt = stepp; + } else { + delt = stepn; + } + + var iretn = 381; // added for do loop + while (iretn === 381) { + // ------------------- dot terms calculated ------------- + // ----------- near - synchronous resonance terms ------- + if (irez !== 2) { + xndt = del1 * Math.sin(xli - fasx2) + del2 * Math.sin(2.0 * (xli - fasx4)) + del3 * Math.sin(3.0 * (xli - fasx6)); + xldot = xni + xfact; + xnddt = del1 * Math.cos(xli - fasx2) + 2.0 * del2 * Math.cos(2.0 * (xli - fasx4)) + 3.0 * del3 * Math.cos(3.0 * (xli - fasx6)); + xnddt *= xldot; + } else { + // --------- near - half-day resonance terms -------- + xomi = argpo + argpdot * atime; + x2omi = xomi + xomi; + x2li = xli + xli; + xndt = d2201 * Math.sin(x2omi + xli - g22) + d2211 * Math.sin(xli - g22) + d3210 * Math.sin(xomi + xli - g32) + d3222 * Math.sin(-xomi + xli - g32) + d4410 * Math.sin(x2omi + x2li - g44) + d4422 * Math.sin(x2li - g44) + d5220 * Math.sin(xomi + xli - g52) + d5232 * Math.sin(-xomi + xli - g52) + d5421 * Math.sin(xomi + x2li - g54) + d5433 * Math.sin(-xomi + x2li - g54); + xldot = xni + xfact; + xnddt = d2201 * Math.cos(x2omi + xli - g22) + d2211 * Math.cos(xli - g22) + d3210 * Math.cos(xomi + xli - g32) + d3222 * Math.cos(-xomi + xli - g32) + d5220 * Math.cos(xomi + xli - g52) + d5232 * Math.cos(-xomi + xli - g52) + 2.0 * d4410 * Math.cos(x2omi + x2li - g44) + d4422 * Math.cos(x2li - g44) + d5421 * Math.cos(xomi + x2li - g54) + d5433 * Math.cos(-xomi + x2li - g54); + xnddt *= xldot; + } + + // ----------------------- integrator ------------------- + // sgp4fix move end checks to end of routine + if (Math.abs(t - atime) >= stepp) { + iretn = 381; + } else { + ft = t - atime; + iretn = 0; + } + + if (iretn === 381) { + xli += xldot * delt + xndt * step2; + xni += xndt * delt + xnddt * step2; + atime += delt; + } + } + + nm = xni + xndt * ft + xnddt * ft * ft * 0.5; + xl = xli + xldot * ft + xndt * ft * ft * 0.5; + if (irez !== 1) { + mm = xl - 2.0 * nodem + 2.0 * theta; + dndt = nm - no; + } else { + mm = xl - nodem - argpm + theta; + dndt = nm - no; + } + nm = no + dndt; + } + + return { + atime: atime, + em: em, + argpm: argpm, + inclm: inclm, + xli: xli, + mm: mm, + xni: xni, + nodem: nodem, + dndt: dndt, + nm: nm + }; +} + +var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var toConsumableArray = function (arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + + return arr2; + } else { + return Array.from(arr); + } +}; + +/*---------------------------------------------------------------------------- + * + * procedure sgp4 + * + * this procedure is the sgp4 prediction model from space command. this is an + * updated and combined version of sgp4 and sdp4, which were originally + * published separately in spacetrack report //3. this version follows the + * methodology from the aiaa paper (2006) describing the history and + * development of the code. + * + * author : david vallado 719-573-2600 28 jun 2005 + * + * inputs : + * satrec - initialised structure from sgp4init() call. + * tsince - time since epoch (minutes) + * + * outputs : + * r - position vector km + * v - velocity km/sec + * return code - non-zero on error. + * 1 - mean elements, ecc >= 1.0 or ecc < -0.001 or a < 0.95 er + * 2 - mean motion less than 0.0 + * 3 - pert elements, ecc < 0.0 or ecc > 1.0 + * 4 - semi-latus rectum < 0.0 + * 5 - epoch elements are sub-orbital + * 6 - satellite has decayed + * + * locals : + * am - + * axnl, aynl - + * betal - + * cosim , sinim , cosomm , sinomm , cnod , snod , cos2u , + * sin2u , coseo1 , sineo1 , cosi , sini , cosip , sinip , + * cosisq , cossu , sinsu , cosu , sinu + * delm - + * delomg - + * dndt - + * eccm - + * emsq - + * ecose - + * el2 - + * eo1 - + * eccp - + * esine - + * argpm - + * argpp - + * omgadf - + * pl - + * r - + * rtemsq - + * rdotl - + * rl - + * rvdot - + * rvdotl - + * su - + * t2 , t3 , t4 , tc + * tem5, temp , temp1 , temp2 , tempa , tempe , templ + * u , ux , uy , uz , vx , vy , vz + * inclm - inclination + * mm - mean anomaly + * nm - mean motion + * nodem - right asc of ascending node + * xinc - + * xincp - + * xl - + * xlm - + * mp - + * xmdf - + * xmx - + * xmy - + * nodedf - + * xnode - + * nodep - + * np - + * + * coupling : + * getgravconst- + * dpper + * dspace + * + * references : + * hoots, roehrich, norad spacetrack report //3 1980 + * hoots, norad spacetrack report //6 1986 + * hoots, schumacher and glover 2004 + * vallado, crawford, hujsak, kelso 2006 + ----------------------------------------------------------------------------*/ +function sgp4(satrec, tsince) { + var rec = _extends({}, satrec); + + var coseo1 = void 0; + var sineo1 = void 0; + var cosip = void 0; + var sinip = void 0; + var cosisq = void 0; + var delm = void 0; + var delomg = void 0; + var eo1 = void 0; + var argpm = void 0; + var argpp = void 0; + var su = void 0; + var t3 = void 0; + var t4 = void 0; + var tc = void 0; + var tem5 = void 0; + var temp = void 0; + var tempa = void 0; + var tempe = void 0; + var templ = void 0; + var inclm = void 0; + var mm = void 0; + var nm = void 0; + var nodem = void 0; + var xincp = void 0; + var xlm = void 0; + var mp = void 0; + var nodep = void 0; + + /* ------------------ set mathematical constants --------------- */ + // sgp4fix divisor for divide by zero check on inclination + // the old check used 1.0 + cos(pi-1.0e-9), but then compared it to + // 1.5 e-12, so the threshold was changed to 1.5e-12 for consistency + + var temp4 = 1.5e-12; + + var vkmpersec = earthRadius * xke / 60.0; + + // --------------------- clear sgp4 error flag ----------------- + rec.t = tsince; + rec.error = 0; + + // ------- update for secular gravity and atmospheric drag ----- + var xmdf = rec.mo + rec.mdot * rec.t; + var argpdf = rec.argpo + rec.argpdot * rec.t; + var nodedf = rec.nodeo + rec.nodedot * rec.t; + argpm = argpdf; + mm = xmdf; + var t2 = rec.t * rec.t; + nodem = nodedf + rec.nodecf * t2; + tempa = 1.0 - rec.cc1 * rec.t; + tempe = rec.bstar * rec.cc4 * rec.t; + templ = rec.t2cof * t2; + + if (rec.isimp !== 1) { + delomg = rec.omgcof * rec.t; + // sgp4fix use mutliply for speed instead of pow + var delmtemp = 1.0 + rec.eta * Math.cos(xmdf); + delm = rec.xmcof * (delmtemp * delmtemp * delmtemp - rec.delmo); + temp = delomg + delm; + mm = xmdf + temp; + argpm = argpdf - temp; + t3 = t2 * rec.t; + t4 = t3 * rec.t; + tempa = tempa - rec.d2 * t2 - rec.d3 * t3 - rec.d4 * t4; + tempe += rec.bstar * rec.cc5 * (Math.sin(mm) - rec.sinmao); + templ = templ + rec.t3cof * t3 + t4 * (rec.t4cof + rec.t * rec.t5cof); + } + nm = rec.no; + var em = rec.ecco; + inclm = rec.inclo; + if (rec.method === 'd') { + tc = rec.t; + + var dspaceOptions = { + irez: rec.irez, + d2201: rec.d2201, + d2211: rec.d2211, + d3210: rec.d3210, + d3222: rec.d3222, + d4410: rec.d4410, + d4422: rec.d4422, + d5220: rec.d5220, + d5232: rec.d5232, + d5421: rec.d5421, + d5433: rec.d5433, + dedt: rec.dedt, + del1: rec.del1, + del2: rec.del2, + del3: rec.del3, + didt: rec.didt, + dmdt: rec.dmdt, + dnodt: rec.dnodt, + domdt: rec.domdt, + argpo: rec.argpo, + argpdot: rec.argpdot, + t: rec.t, + tc: tc, + gsto: rec.gsto, + xfact: rec.xfact, + xlamo: rec.xlamo, + no: rec.no, + atime: rec.atime, + em: em, + argpm: argpm, + inclm: inclm, + xli: rec.xli, + mm: mm, + xni: rec.xni, + nodem: nodem, + nm: nm + }; + + var dspaceResult = dspace(dspaceOptions); + + em = dspaceResult.em; + argpm = dspaceResult.argpm; + inclm = dspaceResult.inclm; + mm = dspaceResult.mm; + nodem = dspaceResult.nodem; + nm = dspaceResult.nm; + } + + if (nm <= 0.0) { + // printf("// error nm %f\n", nm); + rec.error = 2; + // sgp4fix add return + return [false, false]; + } + + var am = Math.pow(xke / nm, x2o3) * tempa * tempa; + nm = xke / Math.pow(am, 1.5); + em -= tempe; + + // fix tolerance for error recognition + // sgp4fix am is fixed from the previous nm check + if (em >= 1.0 || em < -0.001) { + // || (am < 0.95) + // printf("// error em %f\n", em); + rec.error = 1; + // sgp4fix to return if there is an error in eccentricity + return [false, false]; + } + + // sgp4fix fix tolerance to avoid a divide by zero + if (em < 1.0e-6) { + em = 1.0e-6; + } + mm += rec.no * templ; + xlm = mm + argpm + nodem; + + nodem %= twoPi; + argpm %= twoPi; + xlm %= twoPi; + mm = (xlm - argpm - nodem) % twoPi; + + // ----------------- compute extra mean quantities ------------- + var sinim = Math.sin(inclm); + var cosim = Math.cos(inclm); + + // -------------------- add lunar-solar periodics -------------- + var ep = em; + xincp = inclm; + argpp = argpm; + nodep = nodem; + mp = mm; + sinip = sinim; + cosip = cosim; + if (rec.method === 'd') { + var dpperParameters = { + inclo: rec.inclo, + init: 'n', + ep: ep, + inclp: xincp, + nodep: nodep, + argpp: argpp, + mp: mp, + opsmode: rec.operationmod + }; + + var dpperResult = dpper(rec, dpperParameters); + + ep = dpperResult.ep; + nodep = dpperResult.nodep; + argpp = dpperResult.argpp; + mp = dpperResult.mp; + + + xincp = dpperResult.inclp; + + if (xincp < 0.0) { + xincp = -xincp; + nodep += pi; + argpp -= pi; + } + if (ep < 0.0 || ep > 1.0) { + // printf("// error ep %f\n", ep); + rec.error = 3; + // sgp4fix add return + return [false, false]; + } + } + + // -------------------- long period periodics ------------------ + if (rec.method === 'd') { + sinip = Math.sin(xincp); + cosip = Math.cos(xincp); + rec.aycof = -0.5 * j3oj2 * sinip; + + // sgp4fix for divide by zero for xincp = 180 deg + if (Math.abs(cosip + 1.0) > 1.5e-12) { + rec.xlcof = -0.25 * j3oj2 * sinip * (3.0 + 5.0 * cosip) / (1.0 + cosip); + } else { + rec.xlcof = -0.25 * j3oj2 * sinip * (3.0 + 5.0 * cosip) / temp4; + } + } + + var axnl = ep * Math.cos(argpp); + temp = 1.0 / (am * (1.0 - ep * ep)); + var aynl = ep * Math.sin(argpp) + temp * rec.aycof; + var xl = mp + argpp + nodep + temp * rec.xlcof * axnl; + + // --------------------- solve kepler's equation --------------- + var u = (xl - nodep) % twoPi; + eo1 = u; + tem5 = 9999.9; + var ktr = 1; + + // sgp4fix for kepler iteration + // the following iteration needs better limits on corrections + while (Math.abs(tem5) >= 1.0e-12 && ktr <= 10) { + sineo1 = Math.sin(eo1); + coseo1 = Math.cos(eo1); + tem5 = 1.0 - coseo1 * axnl - sineo1 * aynl; + tem5 = (u - aynl * coseo1 + axnl * sineo1 - eo1) / tem5; + if (Math.abs(tem5) >= 0.95) { + if (tem5 > 0.0) { + tem5 = 0.95; + } else { + tem5 = -0.95; + } + } + eo1 += tem5; + ktr += 1; + } + + // ------------- short period preliminary quantities ----------- + var ecose = axnl * coseo1 + aynl * sineo1; + var esine = axnl * sineo1 - aynl * coseo1; + var el2 = axnl * axnl + aynl * aynl; + var pl = am * (1.0 - el2); + if (pl < 0.0) { + // printf("// error pl %f\n", pl); + rec.error = 4; + // sgp4fix add return + return [false, false]; + } + + var rl = am * (1.0 - ecose); + var rdotl = Math.sqrt(am) * esine / rl; + var rvdotl = Math.sqrt(pl) / rl; + var betal = Math.sqrt(1.0 - el2); + temp = esine / (1.0 + betal); + var sinu = am / rl * (sineo1 - aynl - axnl * temp); + var cosu = am / rl * (coseo1 - axnl + aynl * temp); + su = Math.atan2(sinu, cosu); + var sin2u = (cosu + cosu) * sinu; + var cos2u = 1.0 - 2.0 * sinu * sinu; + temp = 1.0 / pl; + var temp1 = 0.5 * j2 * temp; + var temp2 = temp1 * temp; + + // -------------- update for short period periodics ------------ + if (rec.method === 'd') { + cosisq = cosip * cosip; + rec.con41 = 3.0 * cosisq - 1.0; + rec.x1mth2 = 1.0 - cosisq; + rec.x7thm1 = 7.0 * cosisq - 1.0; + } + + var mrt = rl * (1.0 - 1.5 * temp2 * betal * rec.con41) + 0.5 * temp1 * rec.x1mth2 * cos2u; + su -= 0.25 * temp2 * rec.x7thm1 * sin2u; + var xnode = nodep + 1.5 * temp2 * cosip * sin2u; + var xinc = xincp + 1.5 * temp2 * cosip * sinip * cos2u; + var mvt = rdotl - nm * temp1 * rec.x1mth2 * sin2u / xke; + var rvdot = rvdotl + nm * temp1 * (rec.x1mth2 * cos2u + 1.5 * rec.con41) / xke; + + // --------------------- orientation vectors ------------------- + var sinsu = Math.sin(su); + var cossu = Math.cos(su); + var snod = Math.sin(xnode); + var cnod = Math.cos(xnode); + var sini = Math.sin(xinc); + var cosi = Math.cos(xinc); + var xmx = -snod * cosi; + var xmy = cnod * cosi; + var ux = xmx * sinsu + cnod * cossu; + var uy = xmy * sinsu + snod * cossu; + var uz = sini * sinsu; + var vx = xmx * cossu - cnod * sinsu; + var vy = xmy * cossu - snod * sinsu; + var vz = sini * cossu; + + // --------- position and velocity (in km and km/sec) ---------- + var r = { + x: mrt * ux * earthRadius, + y: mrt * uy * earthRadius, + z: mrt * uz * earthRadius + }; + var v = { + x: (mvt * ux + rvdot * vx) * vkmpersec, + y: (mvt * uy + rvdot * vy) * vkmpersec, + z: (mvt * uz + rvdot * vz) * vkmpersec + }; + + // sgp4fix for decaying satellites + if (mrt < 1.0) { + // printf("// decay condition %11.6f \n",mrt); + rec.error = 6; + return { + position: false, + velocity: false, + satrec: rec + }; + } + + return { + position: r, + velocity: v, + satrec: rec + }; +} + +/*----------------------------------------------------------------------------- + * + * procedure sgp4init + * + * this procedure initializes variables for sgp4. + * + * author : david vallado 719-573-2600 28 jun 2005 + * author : david vallado 719-573-2600 28 jun 2005 + * + * inputs : + * opsmode - mode of operation afspc or improved 'a', 'i' + * satn - satellite number + * bstar - sgp4 type drag coefficient kg/m2er + * ecco - eccentricity + * epoch - epoch time in days from jan 0, 1950. 0 hr + * argpo - argument of perigee (output if ds) + * inclo - inclination + * mo - mean anomaly (output if ds) + * no - mean motion + * nodeo - right ascension of ascending node + * + * outputs : + * rec - common values for subsequent calls + * return code - non-zero on error. + * 1 - mean elements, ecc >= 1.0 or ecc < -0.001 or a < 0.95 er + * 2 - mean motion less than 0.0 + * 3 - pert elements, ecc < 0.0 or ecc > 1.0 + * 4 - semi-latus rectum < 0.0 + * 5 - epoch elements are sub-orbital + * 6 - satellite has decayed + * + * locals : + * cnodm , snodm , cosim , sinim , cosomm , sinomm + * cc1sq , cc2 , cc3 + * coef , coef1 + * cosio4 - + * day - + * dndt - + * em - eccentricity + * emsq - eccentricity squared + * eeta - + * etasq - + * gam - + * argpm - argument of perigee + * nodem - + * inclm - inclination + * mm - mean anomaly + * nm - mean motion + * perige - perigee + * pinvsq - + * psisq - + * qzms24 - + * rtemsq - + * s1, s2, s3, s4, s5, s6, s7 - + * sfour - + * ss1, ss2, ss3, ss4, ss5, ss6, ss7 - + * sz1, sz2, sz3 + * sz11, sz12, sz13, sz21, sz22, sz23, sz31, sz32, sz33 - + * tc - + * temp - + * temp1, temp2, temp3 - + * tsi - + * xpidot - + * xhdot1 - + * z1, z2, z3 - + * z11, z12, z13, z21, z22, z23, z31, z32, z33 - + * + * coupling : + * getgravconst- + * initl - + * dscom - + * dpper - + * dsinit - + * sgp4 - + * + * references : + * hoots, roehrich, norad spacetrack report #3 1980 + * hoots, norad spacetrack report #6 1986 + * hoots, schumacher and glover 2004 + * vallado, crawford, hujsak, kelso 2006 + ----------------------------------------------------------------------------*/ +function sgp4init(satrec, options) { + var rec = _extends({}, satrec); + + var opsmode = options.opsmode, + satn = options.satn, + epoch = options.epoch, + xbstar = options.xbstar, + xecco = options.xecco, + xargpo = options.xargpo, + xinclo = options.xinclo, + xmo = options.xmo, + xno = options.xno, + xnodeo = options.xnodeo; + + + var cosim = void 0; + var sinim = void 0; + var cc1sq = void 0; + var cc2 = void 0; + var cc3 = void 0; + var coef = void 0; + var coef1 = void 0; + var cosio4 = void 0; + var em = void 0; + var emsq = void 0; + var eeta = void 0; + var etasq = void 0; + var argpm = void 0; + var nodem = void 0; + var inclm = void 0; + var mm = void 0; + var nm = void 0; + var perige = void 0; + var pinvsq = void 0; + var psisq = void 0; + var qzms24 = void 0; + var s1 = void 0; + var s2 = void 0; + var s3 = void 0; + var s4 = void 0; + var s5 = void 0; + var sfour = void 0; + var ss1 = void 0; + var ss2 = void 0; + var ss3 = void 0; + var ss4 = void 0; + var ss5 = void 0; + var sz1 = void 0; + var sz3 = void 0; + var sz11 = void 0; + var sz13 = void 0; + var sz21 = void 0; + var sz23 = void 0; + var sz31 = void 0; + var sz33 = void 0; + var tc = void 0; + var temp = void 0; + var temp1 = void 0; + var temp2 = void 0; + var temp3 = void 0; + var tsi = void 0; + var xpidot = void 0; + var xhdot1 = void 0; + var z1 = void 0; + var z3 = void 0; + var z11 = void 0; + var z13 = void 0; + var z21 = void 0; + var z23 = void 0; + var z31 = void 0; + var z33 = void 0; + + /* ------------------------ initialization --------------------- */ + // sgp4fix divisor for divide by zero check on inclination + // the old check used 1.0 + Math.cos(pi-1.0e-9), but then compared it to + // 1.5 e-12, so the threshold was changed to 1.5e-12 for consistency + var temp4 = 1.5e-12; + + // ----------- set all near earth variables to zero ------------ + rec.isimp = 0;rec.method = 'n';rec.aycof = 0.0; + rec.con41 = 0.0;rec.cc1 = 0.0;rec.cc4 = 0.0; + rec.cc5 = 0.0;rec.d2 = 0.0;rec.d3 = 0.0; + rec.d4 = 0.0;rec.delmo = 0.0;rec.eta = 0.0; + rec.argpdot = 0.0;rec.omgcof = 0.0;rec.sinmao = 0.0; + rec.t = 0.0;rec.t2cof = 0.0;rec.t3cof = 0.0; + rec.t4cof = 0.0;rec.t5cof = 0.0;rec.x1mth2 = 0.0; + rec.x7thm1 = 0.0;rec.mdot = 0.0;rec.nodedot = 0.0; + rec.xlcof = 0.0;rec.xmcof = 0.0;rec.nodecf = 0.0; + + // ----------- set all deep space variables to zero ------------ + rec.irez = 0;rec.d2201 = 0.0;rec.d2211 = 0.0; + rec.d3210 = 0.0;rec.d3222 = 0.0;rec.d4410 = 0.0; + rec.d4422 = 0.0;rec.d5220 = 0.0;rec.d5232 = 0.0; + rec.d5421 = 0.0;rec.d5433 = 0.0;rec.dedt = 0.0; + rec.del1 = 0.0;rec.del2 = 0.0;rec.del3 = 0.0; + rec.didt = 0.0;rec.dmdt = 0.0;rec.dnodt = 0.0; + rec.domdt = 0.0;rec.e3 = 0.0;rec.ee2 = 0.0; + rec.peo = 0.0;rec.pgho = 0.0;rec.pho = 0.0; + rec.pinco = 0.0;rec.plo = 0.0;rec.se2 = 0.0; + rec.se3 = 0.0;rec.sgh2 = 0.0;rec.sgh3 = 0.0; + rec.sgh4 = 0.0;rec.sh2 = 0.0;rec.sh3 = 0.0; + rec.si2 = 0.0;rec.si3 = 0.0;rec.sl2 = 0.0; + rec.sl3 = 0.0;rec.sl4 = 0.0;rec.gsto = 0.0; + rec.xfact = 0.0;rec.xgh2 = 0.0;rec.xgh3 = 0.0; + rec.xgh4 = 0.0;rec.xh2 = 0.0;rec.xh3 = 0.0; + rec.xi2 = 0.0;rec.xi3 = 0.0;rec.xl2 = 0.0; + rec.xl3 = 0.0;rec.xl4 = 0.0;rec.xlamo = 0.0; + rec.zmol = 0.0;rec.zmos = 0.0;rec.atime = 0.0; + rec.xli = 0.0;rec.xni = 0.0; + + // sgp4fix - note the following variables are also passed directly via rec. + // it is possible to streamline the sgp4init call by deleting the "x" + // variables, but the user would need to set the rec.* values first. we + // include the additional assignments in case twoline2rv is not used. + + rec.bstar = xbstar; + rec.ecco = xecco; + rec.argpo = xargpo; + rec.inclo = xinclo; + rec.mo = xmo; + rec.no = xno; + rec.nodeo = xnodeo; + + // sgp4fix add opsmode + rec.operationmode = opsmode; + + // ------------------------ earth constants ----------------------- + // sgp4fix identify constants and allow alternate values + + var ss = 78.0 / earthRadius + 1.0; + // sgp4fix use multiply for speed instead of pow + var qzms2ttemp = (120.0 - 78.0) / earthRadius; + var qzms2t = qzms2ttemp * qzms2ttemp * qzms2ttemp * qzms2ttemp; + + rec.init = 'y'; + rec.t = 0.0; + + var initlOptions = { + satn: satn, + ecco: rec.ecco, + + epoch: epoch, + inclo: rec.inclo, + no: rec.no, + + method: rec.method, + opsmode: rec.operationmode + }; + + var initlResult = initl(initlOptions); + + var ao = initlResult.ao, + con42 = initlResult.con42, + cosio = initlResult.cosio, + cosio2 = initlResult.cosio2, + eccsq = initlResult.eccsq, + omeosq = initlResult.omeosq, + posq = initlResult.posq, + rp = initlResult.rp, + rteosq = initlResult.rteosq, + sinio = initlResult.sinio; + + + rec.no = initlResult.no; + rec.con41 = initlResult.con41; + rec.gsto = initlResult.gsto; + rec.error = 0; + + // sgp4fix remove this check as it is unnecessary + // the mrt check in sgp4 handles decaying satellite cases even if the starting + // condition is below the surface of te earth + // if (rp < 1.0) + // { + // printf("// *** satn%d epoch elts sub-orbital ***\n", satn); + // rec.error = 5; + // } + + if (omeosq >= 0.0 || rec.no >= 0.0) { + rec.isimp = 0; + if ((rp < 220.0 / earthRadius) + 1.0) { + rec.isimp = 1; + } + sfour = ss; + qzms24 = qzms2t; + perige = (rp - 1.0) * earthRadius; + + // - for perigees below 156 km, s and qoms2t are altered - + if (perige < 156.0) { + sfour = perige - 78.0; + if (perige < 98.0) { + sfour = 20.0; + } + + // sgp4fix use multiply for speed instead of pow + var qzms24temp = (120.0 - sfour) / earthRadius; + qzms24 = qzms24temp * qzms24temp * qzms24temp * qzms24temp; + sfour = sfour / earthRadius + 1.0; + } + pinvsq = 1.0 / posq; + + tsi = 1.0 / (ao - sfour); + rec.eta = ao * rec.ecco * tsi; + etasq = rec.eta * rec.eta; + eeta = rec.ecco * rec.eta; + psisq = Math.abs(1.0 - etasq); + coef = qzms24 * Math.pow(tsi, 4.0); + coef1 = coef / Math.pow(psisq, 3.5); + cc2 = coef1 * rec.no * (ao * (1.0 + 1.5 * etasq + eeta * (4.0 + etasq)) + 0.375 * j2 * tsi / psisq * rec.con41 * (8.0 + 3.0 * etasq * (8.0 + etasq))); + rec.cc1 = rec.bstar * cc2; + cc3 = 0.0; + if (rec.ecco > 1.0e-4) { + cc3 = -2.0 * coef * tsi * j3oj2 * rec.no * sinio / rec.ecco; + } + rec.x1mth2 = 1.0 - cosio2; + rec.cc4 = 2.0 * rec.no * coef1 * ao * omeosq * (rec.eta * (2.0 + 0.5 * etasq) + rec.ecco * (0.5 + 2.0 * etasq) - j2 * tsi / (ao * psisq) * (-3.0 * rec.con41 * (1.0 - 2.0 * eeta + etasq * (1.5 - 0.5 * eeta)) + 0.75 * rec.x1mth2 * (2.0 * etasq - eeta * (1.0 + etasq)) * Math.cos(2.0 * rec.argpo))); + rec.cc5 = 2.0 * coef1 * ao * omeosq * (1.0 + 2.75 * (etasq + eeta) + eeta * etasq); + cosio4 = cosio2 * cosio2; + temp1 = 1.5 * j2 * pinvsq * rec.no; + temp2 = 0.5 * temp1 * j2 * pinvsq; + temp3 = -0.46875 * j4 * pinvsq * pinvsq * rec.no; + rec.mdot = rec.no + 0.5 * temp1 * rteosq * rec.con41 + 0.0625 * temp2 * rteosq * (13.0 - 78.0 * cosio2 + 137.0 * cosio4); + rec.argpdot = -0.5 * temp1 * con42 + 0.0625 * temp2 * (7.0 - 114.0 * cosio2 + 395.0 * cosio4) + temp3 * (3.0 - 36.0 * cosio2 + 49.0 * cosio4); + xhdot1 = -temp1 * cosio; + rec.nodedot = xhdot1 + (0.5 * temp2 * (4.0 - 19.0 * cosio2) + 2.0 * temp3 * (3.0 - 7.0 * cosio2)) * cosio; + xpidot = rec.argpdot + rec.nodedot; + rec.omgcof = rec.bstar * cc3 * Math.cos(rec.argpo); + rec.xmcof = 0.0; + if (rec.ecco > 1.0e-4) { + rec.xmcof = -x2o3 * coef * rec.bstar / eeta; + } + rec.nodecf = 3.5 * omeosq * xhdot1 * rec.cc1; + rec.t2cof = 1.5 * rec.cc1; + + // sgp4fix for divide by zero with xinco = 180 deg + if (Math.abs(cosio + 1.0) > 1.5e-12) { + rec.xlcof = -0.25 * j3oj2 * sinio * (3.0 + 5.0 * cosio) / (1.0 + cosio); + } else { + rec.xlcof = -0.25 * j3oj2 * sinio * (3.0 + 5.0 * cosio) / temp4; + } + rec.aycof = -0.5 * j3oj2 * sinio; + + // sgp4fix use multiply for speed instead of pow + var delmotemp = 1.0 + rec.eta * Math.cos(rec.mo); + rec.delmo = delmotemp * delmotemp * delmotemp; + rec.sinmao = Math.sin(rec.mo); + rec.x7thm1 = 7.0 * cosio2 - 1.0; + + // --------------- deep space initialization ------------- + if (2 * pi / rec.no >= 225.0) { + rec.method = 'd'; + rec.isimp = 1; + tc = 0.0; + inclm = rec.inclo; + + var dscomOptions = { + epoch: epoch, + ep: rec.ecco, + argpp: rec.argpo, + tc: tc, + inclp: rec.inclo, + nodep: rec.nodeo, + + np: rec.no, + + e3: rec.e3, + ee2: rec.ee2, + + peo: rec.peo, + pgho: rec.pgho, + pho: rec.pho, + pinco: rec.pinco, + + plo: rec.plo, + se2: rec.se2, + se3: rec.se3, + + sgh2: rec.sgh2, + sgh3: rec.sgh3, + sgh4: rec.sgh4, + + sh2: rec.sh2, + sh3: rec.sh3, + si2: rec.si2, + si3: rec.si3, + + sl2: rec.sl2, + sl3: rec.sl3, + sl4: rec.sl4, + + xgh2: rec.xgh2, + xgh3: rec.xgh3, + xgh4: rec.xgh4, + xh2: rec.xh2, + + xh3: rec.xh3, + xi2: rec.xi2, + xi3: rec.xi3, + xl2: rec.xl2, + + xl3: rec.xl3, + xl4: rec.xl4, + + zmol: rec.zmol, + zmos: rec.zmos + }; + + var dscomResult = dscom(dscomOptions); + + rec.e3 = dscomResult.e3; + rec.ee2 = dscomResult.ee2; + + rec.peo = dscomResult.peo; + rec.pgho = dscomResult.pgho; + rec.pho = dscomResult.pho; + + rec.pinco = dscomResult.pinco; + rec.plo = dscomResult.plo; + rec.se2 = dscomResult.se2; + rec.se3 = dscomResult.se3; + + rec.sgh2 = dscomResult.sgh2; + rec.sgh3 = dscomResult.sgh3; + rec.sgh4 = dscomResult.sgh4; + rec.sh2 = dscomResult.sh2; + rec.sh3 = dscomResult.sh3; + + rec.si2 = dscomResult.si2; + rec.si3 = dscomResult.si3; + rec.sl2 = dscomResult.sl2; + rec.sl3 = dscomResult.sl3; + rec.sl4 = dscomResult.sl4; + + sinim = dscomResult.sinim; + cosim = dscomResult.cosim; + em = dscomResult.em; + emsq = dscomResult.emsq; + s1 = dscomResult.s1; + s2 = dscomResult.s2; + s3 = dscomResult.s3; + s4 = dscomResult.s4; + s5 = dscomResult.s5; + ss1 = dscomResult.ss1; + ss2 = dscomResult.ss2; + ss3 = dscomResult.ss3; + ss4 = dscomResult.ss4; + ss5 = dscomResult.ss5; + sz1 = dscomResult.sz1; + sz3 = dscomResult.sz3; + sz11 = dscomResult.sz11; + sz13 = dscomResult.sz13; + sz21 = dscomResult.sz21; + sz23 = dscomResult.sz23; + sz31 = dscomResult.sz31; + sz33 = dscomResult.sz33; + + + rec.xgh2 = dscomResult.xgh2; + rec.xgh3 = dscomResult.xgh3; + rec.xgh4 = dscomResult.xgh4; + rec.xh2 = dscomResult.xh2; + rec.xh3 = dscomResult.xh3; + rec.xi2 = dscomResult.xi2; + rec.xi3 = dscomResult.xi3; + rec.xl2 = dscomResult.xl2; + rec.xl3 = dscomResult.xl3; + rec.xl4 = dscomResult.xl4; + rec.zmol = dscomResult.zmol; + rec.zmos = dscomResult.zmos; + + nm = dscomResult.nm; + z1 = dscomResult.z1; + z3 = dscomResult.z3; + z11 = dscomResult.z11; + z13 = dscomResult.z13; + z21 = dscomResult.z21; + z23 = dscomResult.z23; + z31 = dscomResult.z31; + z33 = dscomResult.z33; + + + var dpperOptions = { + inclo: inclm, + init: rec.init, + ep: rec.ecco, + inclp: rec.inclo, + nodep: rec.nodeo, + argpp: rec.argpo, + mp: rec.mo, + opsmode: rec.operationmode + }; + + var dpperResult = dpper(rec, dpperOptions); + + rec.ecco = dpperResult.ep; + rec.inclo = dpperResult.inclp; + rec.nodeo = dpperResult.nodep; + rec.argpo = dpperResult.argpp; + rec.mo = dpperResult.mp; + + argpm = 0.0; + nodem = 0.0; + mm = 0.0; + + var dsinitOptions = { + cosim: cosim, + emsq: emsq, + argpo: rec.argpo, + s1: s1, + s2: s2, + s3: s3, + s4: s4, + s5: s5, + sinim: sinim, + ss1: ss1, + ss2: ss2, + ss3: ss3, + ss4: ss4, + ss5: ss5, + sz1: sz1, + sz3: sz3, + sz11: sz11, + sz13: sz13, + sz21: sz21, + sz23: sz23, + sz31: sz31, + sz33: sz33, + t: rec.t, + tc: tc, + gsto: rec.gsto, + mo: rec.mo, + mdot: rec.mdot, + no: rec.no, + nodeo: rec.nodeo, + nodedot: rec.nodedot, + xpidot: xpidot, + z1: z1, + z3: z3, + z11: z11, + z13: z13, + z21: z21, + z23: z23, + z31: z31, + z33: z33, + ecco: rec.ecco, + eccsq: eccsq, + em: em, + argpm: argpm, + inclm: inclm, + mm: mm, + nm: nm, + nodem: nodem, + irez: rec.irez, + atime: rec.atime, + d2201: rec.d2201, + d2211: rec.d2211, + d3210: rec.d3210, + d3222: rec.d3222, + d4410: rec.d4410, + d4422: rec.d4422, + d5220: rec.d5220, + d5232: rec.d5232, + d5421: rec.d5421, + d5433: rec.d5433, + dedt: rec.dedt, + didt: rec.didt, + dmdt: rec.dmdt, + dnodt: rec.dnodt, + domdt: rec.domdt, + del1: rec.del1, + del2: rec.del2, + del3: rec.del3, + xfact: rec.xfact, + xlamo: rec.xlamo, + xli: rec.xli, + xni: rec.xni + }; + + var dsinitResult = dsinit(dsinitOptions); + + rec.irez = dsinitResult.irez; + rec.atime = dsinitResult.atime; + rec.d2201 = dsinitResult.d2201; + rec.d2211 = dsinitResult.d2211; + + rec.d3210 = dsinitResult.d3210; + rec.d3222 = dsinitResult.d3222; + rec.d4410 = dsinitResult.d4410; + rec.d4422 = dsinitResult.d4422; + rec.d5220 = dsinitResult.d5220; + + rec.d5232 = dsinitResult.d5232; + rec.d5421 = dsinitResult.d5421; + rec.d5433 = dsinitResult.d5433; + rec.dedt = dsinitResult.dedt; + rec.didt = dsinitResult.didt; + + rec.dmdt = dsinitResult.dmdt; + rec.dnodt = dsinitResult.dnodt; + rec.domdt = dsinitResult.domdt; + rec.del1 = dsinitResult.del1; + + rec.del2 = dsinitResult.del2; + rec.del3 = dsinitResult.del3; + rec.xfact = dsinitResult.xfact; + rec.xlamo = dsinitResult.xlamo; + rec.xli = dsinitResult.xli; + + rec.xni = dsinitResult.xni; + } + + // ----------- set variables if not deep space ----------- + if (rec.isimp !== 1) { + cc1sq = rec.cc1 * rec.cc1; + rec.d2 = 4.0 * ao * tsi * cc1sq; + temp = rec.d2 * tsi * rec.cc1 / 3.0; + rec.d3 = (17.0 * ao + sfour) * temp; + rec.d4 = 0.5 * temp * ao * tsi * (221.0 * ao + 31.0 * sfour) * rec.cc1; + rec.t3cof = rec.d2 + 2.0 * cc1sq; + rec.t4cof = 0.25 * (3.0 * rec.d3 + rec.cc1 * (12.0 * rec.d2 + 10.0 * cc1sq)); + rec.t5cof = 0.2 * (3.0 * rec.d4 + 12.0 * rec.cc1 * rec.d3 + 6.0 * rec.d2 * rec.d2 + 15.0 * cc1sq * (2.0 * rec.d2 + cc1sq)); + } + + /* finally propogate to zero epoch to initialize all others. */ + // sgp4fix take out check to let satellites process until they are actually below earth surface + // if(rec.error == 0) + } + + var _sgp = sgp4(rec, 0.0), + resultRec = _sgp.satrec; + + resultRec.init = 'n'; + + // resultRec.error contains any error codes + return resultRec; +} + +/* ----------------------------------------------------------------------------- + * + * function twoline2rv + * + * this function converts the two line element set character string data to + * variables and initializes the sgp4 variables. several intermediate varaibles + * and quantities are determined. note that the result is a structure so multiple + * satellites can be processed simultaneously without having to reinitialize. the + * verification mode is an important option that permits quick checks of any + * changes to the underlying technical theory. this option works using a + * modified tle file in which the start, stop, and delta time values are + * included at the end of the second line of data. this only works with the + * verification mode. the catalog mode simply propagates from -1440 to 1440 min + * from epoch and is useful when performing entire catalog runs. + * + * author : david vallado 719-573-2600 1 mar 2001 + * + * inputs : + * longstr1 - first line of the tle + * longstr2 - second line of the tle + * typerun - type of run verification 'v', catalog 'c', + * manual 'm' + * typeinput - type of manual input mfe 'm', epoch 'e', dayofyr 'd' + * opsmode - mode of operation afspc or improved 'a', 'i' + * whichconst - which set of constants to use 72, 84 + * + * outputs : + * satrec - structure containing all the sgp4 satellite information + * + * coupling : + * getgravconst- + * days2mdhms - conversion of days to month, day, hour, minute, second + * jday - convert day month year hour minute second into julian date + * sgp4init - initialize the sgp4 variables + * + * references : + * norad spacetrack report #3 + * vallado, crawford, hujsak, kelso 2006 + --------------------------------------------------------------------------- */ + +/** + * Return a Satellite imported from two lines of TLE data. + * + * Provide the two TLE lines as strings `longstr1` and `longstr2`, + * and select which standard set of gravitational constants you want + * by providing `gravity_constants`: + * + * `sgp4.propagation.wgs72` - Standard WGS 72 model + * `sgp4.propagation.wgs84` - More recent WGS 84 model + * `sgp4.propagation.wgs72old` - Legacy support for old SGP4 behavior + * + * Normally, computations are made using letious recent improvements + * to the algorithm. If you want to turn some of these off and go + * back into "afspc" mode, then set `afspc_mode` to `True`. + */ +function twoline2satrec(longstr1, longstr2) { + var opsmode = 'i'; + var xpdotp = 1440.0 / (2.0 * pi); // 229.1831180523293; + var year = 0; + + var satrec = {}; + satrec.error = 0; + + satrec.satnum = longstr1.substring(2, 7); + + satrec.epochyr = parseInt(longstr1.substring(18, 20), 10); + satrec.epochdays = parseFloat(longstr1.substring(20, 32)); + satrec.ndot = parseFloat(longstr1.substring(33, 43)); + satrec.nddot = parseFloat('.' + parseInt(longstr1.substring(44, 50), 10) + 'E' + longstr1.substring(50, 52)); + satrec.bstar = parseFloat(longstr1.substring(53, 54) + '.' + parseInt(longstr1.substring(54, 59), 10) + 'E' + longstr1.substring(59, 61)); + + // satrec.satnum = longstr2.substring(2, 7); + satrec.inclo = parseFloat(longstr2.substring(8, 16)); + satrec.nodeo = parseFloat(longstr2.substring(17, 25)); + satrec.ecco = parseFloat('.' + longstr2.substring(26, 33)); + satrec.argpo = parseFloat(longstr2.substring(34, 42)); + satrec.mo = parseFloat(longstr2.substring(43, 51)); + satrec.no = parseFloat(longstr2.substring(52, 63)); + + // ---- find no, ndot, nddot ---- + satrec.no /= xpdotp; // rad/min + // satrec.nddot= satrec.nddot * Math.pow(10.0, nexp); + // satrec.bstar= satrec.bstar * Math.pow(10.0, ibexp); + + // ---- convert to sgp4 units ---- + satrec.a = Math.pow(satrec.no * tumin, -2.0 / 3.0); + satrec.ndot /= xpdotp * 1440.0; // ? * minperday + satrec.nddot /= xpdotp * 1440.0 * 1440; + + // ---- find standard orbital elements ---- + satrec.inclo *= deg2rad; + satrec.nodeo *= deg2rad; + satrec.argpo *= deg2rad; + satrec.mo *= deg2rad; + + satrec.alta = satrec.a * (1.0 + satrec.ecco) - 1.0; + satrec.altp = satrec.a * (1.0 - satrec.ecco) - 1.0; + + // ---------------------------------------------------------------- + // find sgp4epoch time of element set + // remember that sgp4 uses units of days from 0 jan 1950 (sgp4epoch) + // and minutes from the epoch (time) + // ---------------------------------------------------------------- + + // ---------------- temp fix for years from 1957-2056 ------------------- + // --------- correct fix will occur when year is 4-digit in tle --------- + + if (satrec.epochyr < 57) { + year = satrec.epochyr + 2000; + } else { + year = satrec.epochyr + 1900; + } + + var mdhmsResult = days2mdhms(year, satrec.epochdays); + + var mon = mdhmsResult.mon, + day = mdhmsResult.day, + hr = mdhmsResult.hr, + minute = mdhmsResult.minute, + sec = mdhmsResult.sec; + + satrec.jdsatepoch = jday(year, mon, day, hr, minute, sec); + + // ---------------- initialize the orbit at sgp4epoch ------------------- + return sgp4init(satrec, { + opsmode: opsmode, + satn: satrec.satnum, + epoch: satrec.jdsatepoch - 2433281.5, + xbstar: satrec.bstar, + xecco: satrec.ecco, + xargpo: satrec.argpo, + xinclo: satrec.inclo, + xmo: satrec.mo, + xno: satrec.no, + xnodeo: satrec.nodeo + }); +} + +function propagate() { + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + // Return a position and velocity vector for a given date and time. + var satrec = args[0]; + var date = Array.prototype.slice.call(args, 1); + var j = jday.apply(undefined, toConsumableArray(date)); + var m = (j - satrec.jdsatepoch) * minutesPerDay; + return sgp4(satrec, m); +} + +function dopplerFactor(location, position, velocity) { + var currentRange = Math.sqrt(Math.pow(position.x - location.x, 2) + Math.pow(position.y - location.y, 2) + Math.pow(position.z - location.z, 2)); + + var nextPos = { + x: position.x + velocity.x, + y: position.y + velocity.y, + z: position.z + velocity.z + }; + + var nextRange = Math.sqrt(Math.pow(nextPos.x - location.x, 2) + Math.pow(nextPos.y - location.y, 2) + Math.pow(nextPos.z - location.z, 2)); + + var rangeRate = nextRange - currentRange; + + function sign(value) { + return value >= 0 ? 1 : -1; + } + + rangeRate *= sign(rangeRate); + var c = 299792.458; // Speed of light in km/s + return 1 + rangeRate / c; +} + +function radiansToDegrees(radians) { + return radians * rad2deg; +} + +function degreesLat(radians) { + if (radians < -pi / 2 || radians > pi / 2) { + throw new RangeError('Latitude radians must be in range [-pi/2; pi/2].'); + } + return radiansToDegrees(radians); +} + +function degreesLong(radians) { + if (radians < -pi || radians > pi) { + throw new RangeError('Longitude radians must be in range [-pi; pi].'); + } + return radiansToDegrees(radians); +} + +function geodeticToEcf(geodeticCoords) { + var longitude = geodeticCoords.longitude, + latitude = geodeticCoords.latitude, + height = geodeticCoords.height; + + + var a = 6378.137; + var b = 6356.7523142; + var f = (a - b) / a; + var e2 = 2 * f - f * f; + var normal = a / Math.sqrt(1 - e2 * (Math.sin(latitude) * Math.sin(latitude))); + + var x = (normal + height) * Math.cos(latitude) * Math.cos(longitude); + var y = (normal + height) * Math.cos(latitude) * Math.sin(longitude); + var z = (normal * (1 - e2) + height) * Math.sin(latitude); + + return { + x: x, + y: y, + z: z + }; +} + +function eciToGeodetic(eciCoords, gmst) { + // http://www.celestrak.com/columns/v02n03/ + var a = 6378.137; + var b = 6356.7523142; + var R = Math.sqrt(eciCoords.x * eciCoords.x + eciCoords.y * eciCoords.y); + var f = (a - b) / a; + var e2 = 2 * f - f * f; + + var longitude = Math.atan2(eciCoords.y, eciCoords.x) - gmst; + while (longitude < -pi) { + longitude += twoPi; + } + while (longitude > pi) { + longitude -= twoPi; + } + + var kmax = 20; + var k = 0; + var latitude = Math.atan2(eciCoords.z, Math.sqrt(eciCoords.x * eciCoords.x + eciCoords.y * eciCoords.y)); + var C = void 0; + while (k < kmax) { + C = 1 / Math.sqrt(1 - e2 * (Math.sin(latitude) * Math.sin(latitude))); + latitude = Math.atan2(eciCoords.z + a * C * e2 * Math.sin(latitude), R); + k += 1; + } + var height = R / Math.cos(latitude) - a * C; + return { longitude: longitude, latitude: latitude, height: height }; +} + +function ecfToEci(ecfCoords, gmst) { + // ccar.colorado.edu/ASEN5070/handouts/coordsys.doc + // + // [X] [C -S 0][X] + // [Y] = [S C 0][Y] + // [Z]eci [0 0 1][Z]ecf + // + var X = ecfCoords.x * Math.cos(gmst) - ecfCoords.y * Math.sin(gmst); + var Y = ecfCoords.x * Math.sin(gmst) + ecfCoords.y * Math.cos(gmst); + var Z = ecfCoords.z; + return { x: X, y: Y, z: Z }; +} + +function eciToEcf(eciCoords, gmst) { + // ccar.colorado.edu/ASEN5070/handouts/coordsys.doc + // + // [X] [C -S 0][X] + // [Y] = [S C 0][Y] + // [Z]eci [0 0 1][Z]ecf + // + // + // Inverse: + // [X] [C S 0][X] + // [Y] = [-S C 0][Y] + // [Z]ecf [0 0 1][Z]eci + + var x = eciCoords.x * Math.cos(gmst) + eciCoords.y * Math.sin(gmst); + var y = eciCoords.x * -Math.sin(gmst) + eciCoords.y * Math.cos(gmst); + var z = eciCoords.z; + + + return { + x: x, + y: y, + z: z + }; +} + +function topocentric(observerCoords, satelliteCoords) { + // http://www.celestrak.com/columns/v02n02/ + // TS Kelso's method, except I'm using ECF frame + // and he uses ECI. + + var longitude = observerCoords.longitude, + latitude = observerCoords.latitude; + + + var observerEcf = geodeticToEcf(observerCoords); + + var rx = satelliteCoords.x - observerEcf.x; + var ry = satelliteCoords.y - observerEcf.y; + var rz = satelliteCoords.z - observerEcf.z; + + var topS = Math.sin(latitude) * Math.cos(longitude) * rx + Math.sin(latitude) * Math.sin(longitude) * ry - Math.cos(latitude) * rz; + + var topE = -Math.sin(longitude) * rx + Math.cos(longitude) * ry; + + var topZ = Math.cos(latitude) * Math.cos(longitude) * rx + Math.cos(latitude) * Math.sin(longitude) * ry + Math.sin(latitude) * rz; + + return { topS: topS, topE: topE, topZ: topZ }; +} + +/** + * @param {Object} tc + * @param {Number} tc.topS Positive horizontal vector S due south. + * @param {Number} tc.topE Positive horizontal vector E due east. + * @param {Number} tc.topZ Vector Z normal to the surface of the earth (up). + * @returns {Object} + */ +function topocentricToLookAngles(tc) { + var topS = tc.topS, + topE = tc.topE, + topZ = tc.topZ; + + var rangeSat = Math.sqrt(topS * topS + topE * topE + topZ * topZ); + var El = Math.asin(topZ / rangeSat); + var Az = Math.atan2(-topE, topS) + pi; + + return { + azimuth: Az, + elevation: El, + rangeSat: rangeSat // Range in km + }; +} + +function ecfToLookAngles(observerCoordsEcf, satelliteCoordsEcf) { + var topocentricCoords = topocentric(observerCoordsEcf, satelliteCoordsEcf); + return topocentricToLookAngles(topocentricCoords); +} + +var gstimeFromJday = function gstimeFromJday() { + console.warn('gstimeFromJday is deprecated, use gstime instead.'); // eslint-disable-line no-console + return gstime.apply(undefined, arguments); +}; + +var gstimeFromDate = function gstimeFromDate() { + console.warn('gstimeFromDate is deprecated, use gstime instead.'); // eslint-disable-line no-console + return gstime.apply(undefined, arguments); +}; +var satrecmap=new Map(); +onmessage = function (param) { + + if (param.data.type == "tle") { + let id=param.data.id; + var satrec = twoline2satrec(param.data.tle1, param.data.tle2); + satrecmap.set(id,satrec); + } + else { + // var r = propagate(satrec, param.data.data); + var a=[]; + satrecmap.forEach((v,k)=>{ + var satrec=satrecmap.get(k); + let r=propagate(satrec, param.data.data); + a.push({id:k,data:r.position}); + }) + postMessage(a); + + } + } +// export { constants, propagate, sgp4, twoline2satrec, gstime, gstimeFromJday, gstimeFromDate, jday, invjday, dopplerFactor, degreesLat, degreesLong, geodeticToEcf, eciToGeodetic, eciToEcf, ecfToEci, ecfToLookAngles }; diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_0.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_0.json new file mode 100644 index 000000000..0dbf15782 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_0.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":0,"numberOfSamples":1000,"samples":[-0.002403025022753476,-2.5083047211757836e-5,-1.721638967214743e-8,-0.002402558217007106,-2.5020003017226545e-5,-1.7146589882925253e-8,-0.002402152743739069,-2.4908815008776256e-5,-1.7018183343380784e-8,-0.0024018177616850914,-2.4779340864272868e-5,-1.686693112266686e-8,-0.0024015512294922256,-2.4661265859267777e-5,-1.672851429567895e-8,-0.0024013415089134365,-2.4580601237402673e-5,-1.6634308307010567e-8,-0.0024011692853140917,-2.4557354638250633e-5,-1.660856911234815e-8,-0.0024010094083213077,-2.460379520847823e-5,-1.666634004388421e-8,-0.002400832781870665,-2.472274606391698e-5,-1.681138635859172e-8,-0.0024006088674261195,-2.490565851910724e-5,-1.7033840158805374e-8,-0.0024003096414815053,-2.513083477542098e-5,-1.7307985763326293e-8,-0.002399915678730765,-2.5363106308028472e-5,-1.759177707540246e-8,-0.0023994239684226163,-2.5557205638682287e-5,-1.7830822072448312e-8,-0.0023988549431304905,-2.566700881355288e-5,-1.7969488578482e-8,-0.0023982538707374547,-2.5660422954022525e-5,-1.7968844164137065e-8,-0.002397681821948537,-2.553480284678542e-5,-1.7825226886235993e-8,-0.0023971964165357008,-2.53237668313255e-5,-1.7578462540315414e-8,-0.002396830441918346,-2.50885777844268e-5,-1.7301586465142487e-8,-0.0023965800106651434,-2.4896546614298096e-5,-1.7075078798371497e-8,-0.0023964084361551537,-2.4797687943490375e-5,-1.695902560230991e-8,-0.002396262002993096,-2.481096708533641e-5,-1.6976666372280337e-8,-0.0023960882393536166,-2.4923817586803518e-5,-1.7113670694608337e-8,-0.002395849219877066,-2.5101106375207836e-5,-1.732863106912266e-8,-0.002395527525579831,-2.5297461255455714e-5,-1.756761197379987e-8,-0.0023951260596151974,-2.546854998291281e-5,-1.7777564319951067e-8,-0.0023946640036132836,-2.5579325396643004e-5,-1.7916241394922998e-8,-0.0023941708783994835,-2.5608875350224024e-5,-1.7958135357141878e-8,-0.0023936800199459637,-2.5552141704174967e-5,-1.7896681829365477e-8,-0.00239322243029576,-2.5418865388500117e-5,-1.774311016303839e-8,-0.0023928218677541743,-2.5230314934074022e-5,-1.7522587181791123e-8,-0.0023924917832175113,-2.5014690159013176e-5,-1.7268730448048223e-8,-0.0023922342643846748,-2.480218762163173e-5,-1.7017686942652696e-8,-0.0023920407464684762,-2.4620565317509125e-5,-1.6802798466007283e-8,-0.0023918939307276768,-2.4491771693316273e-5,-1.6650542584010726e-8,-0.0023917702332855676,-2.442975015807349e-5,-1.6577888357278284e-8,-0.002391642329452238,-2.443909807420655e-5,-1.6590679729922046e-8,-0.002391481763245852,-2.4514179502452957e-5,-1.6682551340715887e-8,-0.0023912619080620466,-2.4638499724969643e-5,-1.6834129065335303e-8,-0.002390961805205984,-2.478455800610903e-5,-1.701276797456279e-8,-0.00239057134744484,-2.4915132198915024e-5,-1.717399678816932e-8,-0.0023900974268101054,-2.4987729973603072e-5,-1.7266795508165544e-8,-0.0023895689055318833,-2.496391501976109e-5,-1.7244787681999786e-8,-0.002389036165074365,-2.4823284691699932e-5,-1.7083063873624844e-8,-0.002388560578292379,-2.4577378315217863e-5,-1.6794918110509053e-8,-0.0023881937570601162,-2.4274142413621198e-5,-1.643724545979219e-8,-0.0023879553394346147,-2.3985163329236852e-5,-1.6095335313882396e-8,-0.002387823242597225,-2.3778727505381422e-5,-1.5850778179207802e-8,-0.002387743703083488,-2.3693514905278695e-5,-1.575012576846581e-8,-0.002387654469699301,-2.3727803248252375e-5,-1.57919573836453e-8,-0.0023875068224310926,-2.384701163322787e-5,-1.5935693828749185e-8,-0.0023872766838733636,-2.4000872036063545e-5,-1.6121849968027748e-8,-0.0023869645383715133,-2.4139837531397063e-5,-1.6291451853276617e-8,-0.0023865890688437295,-2.4225578577636494e-5,-1.6398545934918142e-8,-0.002386179207668243,-2.4235415814278647e-5,-1.641560182566368e-8,-0.0023857671367677994,-2.4162608465253676e-5,-1.633403013000638e-8,-0.00238538293231372,-2.4014446579879058e-5,-1.6162059832962554e-8,-0.002385050648932289,-2.3809267842749758e-5,-1.5921265822080736e-8,-0.0023847856192039767,-2.357281279621325e-5,-1.564223465313254e-8,-0.002384592973846085,-2.333418942320294e-5,-1.5359717819261274e-8,-0.0023844674152753756,-2.3121781930974167e-5,-1.5107704928910368e-8,-0.0023843942234786524,-2.2959461734624766e-5,-1.491486592392592e-8,-0.002384351361188566,-2.2863520256191973e-5,-1.4800873864748202e-8,-0.0023843123252193354,-2.28406536006252e-5,-1.4773996666932113e-8,-0.0023842493365599203,-2.2887020091128393e-5,-1.4829969279080835e-8,-0.0023841366567967904,-2.2988230871289267e-5,-1.4951960812478233e-8,-0.0023839539952364617,-2.312021069380629e-5,-1.5111546301631272e-8,-0.00238369008534005,-2.3251022890859802e-5,-1.527079819049034e-8,-0.0023833464925758774,-2.3344139544444378e-5,-1.5386101234343148e-8,-0.002382941139623567,-2.336411463944466e-5,-1.5414884137776942e-8,-0.002382509826925251,-2.328539769468119e-5,-1.532618136616557e-8,-0.0023821027927208825,-2.3103440347943915e-5,-1.5114003628255345e-8,-0.002381773349088804,-2.284408291453904e-5,-1.4808671898883374e-8,-0.0023815590512039917,-2.2563826220574735e-5,-1.4477243667166011e-8,-0.002381463086871345,-2.233471929550198e-5,-1.4205559558666824e-8,-0.0023814485095478804,-2.221697578834785e-5,-1.4065641166745777e-8,-0.002381452228381859,-2.2233998994991225e-5,-1.4085907881538568e-8,-0.002381411455037569,-2.2365307161191684e-5,-1.424262147988882e-8,-0.0023812864408547367,-2.2559894107652725e-5,-1.447559680357265e-8,-0.002381068549780454,-2.2758766135733266e-5,-1.4714854003566721e-8,-0.0023807747559344136,-2.291337561706086e-5,-1.4902487127724783e-8,-0.002380436370789755,-2.2994297064707167e-5,-1.5003052078078702e-8,-0.0023800885646524635,-2.299177707261808e-5,-1.5004382649226507e-8,-0.00237976327801646,-2.291211671228343e-5,-1.4913466509235396e-8,-0.0023794853741548514,-2.277298527889861e-5,-1.4750994633350504e-8,-0.0023792708581126575,-2.2599122259547465e-5,-1.4546281765613793e-8,-0.0023791261518308006,-2.241861685502684e-5,-1.4332799297124966e-8,-0.002379048025038435,-2.2259517123002332e-5,-1.4144070736454437e-8,-0.002379024159088545,-2.214660348294054e-5,-1.4009774292460906e-8,-0.0023790344674725033,-2.209831973031592e-5,-1.395206580492697e-8,-0.0023790533562057336,-2.2124111902023713e-5,-1.3982415286808531e-8,-0.002379052917494198,-2.222265873839312e-5,-1.4099513692685225e-8,-0.0023790067355613062,-2.238139064397462e-5,-1.428869841454831e-8,-0.002378893869389061,-2.257747476862916e-5,-1.4523091866730754e-8,-0.002378702581053121,-2.2780337278386994e-5,-1.476653436627111e-8,-0.002378433361551305,-2.2955662245878917e-5,-1.4978254730954575e-8,-0.002378100828725866,-2.3070719458652143e-5,-1.511914018072533e-8,-0.0023777339193535064,-2.310095367991105e-5,-1.515956714522654e-8,-0.0023773732909614727,-2.303748192499462e-5,-1.5088399696609955e-8,-0.0023770645160716658,-2.2893966475516838e-5,-1.492131520640025e-8,-0.002376846389675512,-2.2709585344523315e-5,-1.4704506770614907e-8,-0.0023767362857042957,-2.2543662682762967e-5,-1.4508420483594385e-8,-0.0023767187552697256,-2.2459283627088534e-5,-1.4408307234147157e-8,-0.0023767459611238515,-2.2499820209175073e-5,-1.445625065299755e-8,-0.0023767538670920077,-2.2670163085399482e-5,-1.4658709621930782e-8,-0.0023766872411040843,-2.2934727415897178e-5,-1.4973964372283597e-8,-0.0023765193201164465,-2.323369224805631e-5,-1.5331258141108677e-8,-0.0023762563410213845,-2.350669143427009e-5,-1.5658866089500266e-8,-0.002375928430938125,-2.371079089789632e-5,-1.5905466616878e-8,-0.0023755754730009244,-2.382701217823089e-5,-1.6047996748580552e-8,-0.0023752354105984904,-2.3857755177899014e-5,-1.6088754695381856e-8,-0.002374937643938984,-2.3820288416794153e-5,-1.6047823960984603e-8,-0.002374700710601401,-2.3740166302795695e-5,-1.5955340321399732e-8,-0.0023745323579410426,-2.364615831678585e-5,-1.584546360315411e-8,-0.002374430478790293,-2.356666639934087e-5,-1.575205426032653e-8,-0.002374384221762089,-2.352701024171114e-5,-1.57053729084508e-8,-0.0023743752258978223,-2.3547031862098734e-5,-1.572919102890182e-8,-0.0023743792463522813,-2.3638741087943782e-5,-1.5837991897107692e-8,-0.002374368580960303,-2.380412406762251e-5,-1.60343866710735e-8,-0.002374315566041234,-2.403369636554169e-5,-1.6307405665562255e-8,-0.0023741969508027684,-2.4306554286211768E-05,-1.663253558578559e-8,-0.0023739984897390765,-2.4592488041431972e-5,-1.6974166769903272e-8,-0.0023737187937815855,-2.485635257581502e-5,-1.729069822860392e-8,-0.0023733713634909127,-2.506433547134887e-5,-1.75419012861819e-8,-0.002372983923689407,-2.5191127286277645e-5,-1.769739737193478e-8,-0.002372594652471399,-2.5226659292504724e-5,-1.774469317666995e-8,-0.0023722453489884105,-2.518097690876975e-5,-1.7695084665231785e-8,-0.0023719720500917853,-2.508558541252764e-5,-1.758542950683843e-8,-0.0023717945137316262,-2.4989429346639012e-5,-1.7473550411127092e-8,-0.002371707467356645,-2.494832237534192e-5,-1.7425795584798645e-8,-0.002371677894372136,-2.5008867215187453e-5,-1.7497939205762146e-8,-0.0023716521953735695,-2.519167607485704e-5,-1.7715125311405072e-8,-0.002371573067713854,-2.548183725590846e-5,-1.8060341886620035e-8,-0.0023713996123746663,-2.5833052724984733e-5,-1.8479137373701417e-8,-0.002371120733790304,-2.6184543627960917e-5,-1.8899572452170946e-8,-0.002370755545988175,-2.6481976563885553e-5,-1.925703522704526e-8,-0.0023703426289241364,-2.6692240399045317e-5,-1.951183288718046e-8,-0.002369925545652223,-2.6807480392539526e-5,-1.9654094044252732e-8,-0.0023695414256623836,-2.6840554567015164e-5,-1.969852847864199e-8,-0.0023692152111846727,-2.681698378371743e-5,-1.9675010651785046e-8,-0.0023689586030738027,-2.676742403134865e-5,-1.961971546979294e-8,-0.002368771517557994,-2.672230169153053e-5,-1.9568738474777108e-8,-0.0023686442754798733,-2.6708491821190418e-5,-1.9554090992955217e-8,-0.0023685596467347297,-2.6747237733667733e-5,-1.960116950419851e-8,-0.0023684946354959537,-2.68525198499682e-5,-1.97267938434712e-8,-0.002368422377939945,-2.7029396546161804e-5,-1.9937245693158044e-8,-0.002368314731930507,-2.7272358283705946e-5,-2.0226327583010683e-8,-0.002368145999280894,-2.7564325967266348e-5,-2.0574158419038293e-8,-0.0023678977178564387,-2.7877297359742607e-5,-2.0947880438817348e-8,-0.002367563716932125,-2.8175607003251493e-5,-2.13054362009557e-8,-0.0023671538835179904,-2.842219417818171e-5,-2.1602912348808545e-8,-0.0023666947656918185,-2.8587099112517685e-5,-2.1804557557978034e-8,-0.002366225711058261,-2.865603679897383e-5,-2.1892948933762033e-8,-0.0023657906850576426,-2.8636207775475263e-5,-2.1875955583981355e-8,-0.0023654275601418958,-2.855700316341736e-5,-2.178772414823076e-8,-0.0023651577407058874,-2.8464659629023123e-5,-2.168254086275059e-8,-0.002364979157822262,-2.8411626526095733e-5,-2.162241058543541e-8,-0.0023648650418965824,-2.8442979454826838e-5,-2.166103733977592e-8,-0.0023647696710966484,-2.858341235909699e-5,-2.182833892955203e-8,-0.0023646404647817425,-2.8828964162584613e-5,-2.2120438590644107e-8,-0.002364433315624853,-2.9147094222646294e-5,-2.2499504905555506e-8,-0.0023641258489594833,-2.9486173871872614e-5,-2.2904806040155516e-8,-0.0023637232753826293,-2.979130710829397e-5,-2.3271375506734424e-8,-0.0023632546433513643,-3.0020135017275484e-5,-2.3548762139194928e-8,-0.002362761919778162,-3.0152532930312014e-5,-2.371261331000258e-8,-0.002362287259213515,-3.019176737033716e-5,-2.3766181246292998e-8,-0.002361863354709199,-3.015895406508579e-5,-2.3733906423839642e-8,-0.0023615089325091636,-3.0084812691876054e-5,-2.3651770841389847e-8,-0.00236122863993826,-3.0002168291456246e-5,-2.355846990290136e-8,-0.002361015342081342,-2.9940748794497447e-5,-2.3489231721847384e-8,-0.002360853090462664,-2.99242064708113e-5,-2.347223119682423e-8,-0.0023607198261957722,-2.9968579872684983e-5,-2.352671480071416e-8,-0.0023605896206938806,-3.008134175253829e-5,-2.3661849584525067e-8,-0.002360434817332799,-3.0260449420114613e-5,-2.3875596082544623e-8,-0.002360228724551759,-3.049336232044938e-5,-2.4153533560309604e-8,-0.002359949398259028,-3.0756647438100245e-5,-2.4468344706144205e-8,-0.0023595845450922696,-3.1017291850921676e-5,-2.4781284325725616e-8,-0.0023591366902662777,-3.1236974924948935e-5,-2.5047141991886597e-8,-0.0023586265980894577,-3.1379935910133564e-5,-2.5223485405296768e-8,-0.0023580922330621156,-3.1423318194842274e-5,-2.5282880705071384e-8,-0.002357581446433621,-3.136654245445751e-5,-2.5224014627911062e-8,-0.0023571393504713037,-3.123511772789739e-5,-2.507629936540768e-8,-0.0023567945569627356,-3.107585378526121e-5,-2.4894381030997065e-8,-0.002356549808293787,-3.094425143746427e-5,-2.474345004782824e-8,-0.0023563808398743354,-3.088856588907149e-5,-2.468058353057825e-8,-0.002356243673347264,-3.093631165990455e-5,-2.473883210055294e-8,-0.0023560873309623623,-3.108742146766624e-5,-2.491898425872327e-8,-0.002355867681615853,-3.131543790559243e-5,-2.5190695953120915e-8,-0.0023555585115042363,-3.157564626292947e-5,-2.5501820575724358e-8,-0.0023551570793018816,-3.1817414987353845e-5,-2.5792819079502532e-8,-0.0023546830395721335,-3.199708556138092e-5,-2.601196397786125e-8,-0.0023541715928763573,-3.2087761735616844e-5,-2.612699814404651e-8,-0.0023536634728575476,-3.208356074308803e-5,-2.6130313106072467e-8,-0.002353195112875602,-3.199796079202877e-5,-2.6037164980856268e-8,-0.0023527917127598285,-3.185788963483199e-5,-2.5878832104811108e-8,-0.0023524643421163408,-3.1696231806253835e-5,-2.569384848742031e-8,-0.002352210558042157,-3.15451429795799e-5,-2.5520122001298037e-8,-0.002352017095867703,-3.1431404225224024e-5,-2.5389404645823923e-8,-0.0023518632011028735,-3.137387309610943e-5,-2.532421829510982e-8,-0.0023517237164243985,-3.138241693585632e-5,-2.5336544634470662e-8,-0.0023515716747720653,-3.1457557889187125e-5,-2.542738407693742e-8,-0.002351380666688492,-3.159026777706401e-5,-2.5586503563180176e-8,-0.002351127544409854,-3.1761819323126654e-5,-2.5792232842799336e-8,-0.002350795997438297,-3.194420346482523e-5,-2.601189004377488e-8,-0.00235038109753939,-3.210218902073709e-5,-2.620411988036901e-8,-0.0023498939766626002,-3.2198362784118887e-5,-2.6324761207664516e-8,-0.002349364441336059,-3.2201906185988056e-5,-2.6337171516754927e-8,-0.002348838300113838,-3.2099820884316304e-5,-2.622549250364978e-8,-0.002348367104865175,-3.1906193387378433E-05,-2.6005638953133388e-8,-0.002347991928908947,-3.16632964565759e-5,-2.572670334096174e-8,-0.0023477278385863123,-3.1430895046698076e-5,-2.5458524871709287e-8,-0.0023475573302447783,-3.1266834683295797e-5,-2.526903432937616e-8,-0.0023474365947856223,-3.1207840834265524e-5,-2.5201788974958383e-8,-0.0023473111312674834,-3.125926073193481e-5,-2.5263855985966862e-8,-0.0023471329217680113,-3.139668630853095e-5,-2.5427484190962568e-8,-0.0023468725828316842,-3.157629805487812e-5,-2.564195034641037e-8,-0.00234652400711633,-3.174838223286182e-5,-2.5849203831761563e-8,-0.0023461023891960834,-3.1869477830964374e-5,-2.5998061315297644e-8,-0.0023456379459007243,-3.191071358278629e-5,-2.6054089874945166e-8,-0.002345167714297938,-3.1861618822297345e-5,-2.6004274687434745e-8,-0.0023447273964050676,-3.1729710102991125e-5,-2.5856743363241975e-8,-0.0023443447623778383,-3.15367263237694e-5,-2.5636504725218675e-8,-0.002344035611415732,-3.1312828941514695e-5,-2.5378716588854288e-8,-0.0023438025868741026,-3.1090321324122036e-5,-2.5121307043493483e-8,-0.002343636419494298,-3.0898215687290654e-5,-2.4898533605619872e-8,-0.0023435187346924568,-3.075840762917019e-5,-2.473640851696107e-8,-0.002343425470101371,-3.06836209512552e-5,-2.4650217468068794e-8,-0.002343330156203922,-3.067678824239108e-5,-2.46437581014699e-8,-0.0023432067557343844,-3.0731268964403044e-5,-2.4709591242115973e-8,-0.002343032205144756,-3.083142896996042e-5,-2.482971769728214e-8,-0.0023427890317182145,-3.09534849684997e-5,-2.4976536733214626e-8,-0.002342468429998982,-3.1066960867543575e-5,-2.5114480866863458e-8,-0.0023420738829506476,-3.113759753821509e-5,-2.520334251191813e-8,-0.0023416245655075696,-3.113286617338482e-5,-2.5204692814982757e-8,-0.002341156456037676,-3.1030702451985074e-5,-2.5092155875587517e-8,-0.0023407180452088712,-3.083007768640861e-5,-2.4863906224778936e-8,-0.0023403583393829482,-3.055874873840108e-5,-2.4551880478986413e-8,-0.002340109110049135,-3.027131810595971e-5,-2.421961909495806e-8,-0.0023399695530012623,-3.0033690127916367e-5,-2.394416454197952e-8,-0.0023399035996637175,-2.9898874983898596e-5,-2.378781857784365e-8,-0.0023398534173924984,-2.9886919236503446e-5,-2.3774659522504135e-8,-0.002339761711113448,-2.9979953784273124e-5,-2.388461211409085e-8,-0.0023395905205925225,-3.0132912884441697e-5,-2.4065731184666787e-8,-0.002339328969507674,-3.0291463113513845e-5,-2.4254908440399182e-8,-0.0023389905263682936,-3.0407909014329455e-5,-2.439632805788379e-8,-0.002338604647812188,-3.0450610353352113e-5,-2.4452510933726005e-8,-0.002338207386718835,-3.0406942615971795e-5,-2.4407957962391716e-8,-0.002337833512955816,-3.0281802581374335e-5,-2.4267646192649814e-8,-0.002337510916804099,-3.009374007485284e-5,-2.405271127085375e-8,-0.00233725717872705,-2.9870050109659613e-5,-2.379481298482102e-8,-0.0023370780896862574,-2.96415499392353e-5,-2.3530020163429226e-8,-0.0023369679571642664,-2.943765111817507e-5,-2.3292964938693384e-8,-0.002336911380731853,-2.928228272071026e-5,-2.311196745938867e-8,-0.0023368860519105425,-2.9191004014698512e-5,-2.3005572673000774e-8,-0.0023368660995786595,-2.9169474421886248e-5,-2.2980719814710166e-8,-0.002336825467155114,-2.921325593941368e-5,-2.3032512896595408e-8,-0.0023367409423963475,-2.9308629309781252e-5,-2.3145193486284356e-8,-0.002336594789812839,-2.94340434461076e-5,-2.329383537317645e-8,-0.002336377141683103,-2.9562078747041886e-5,-2.3446595994696407e-8,-0.0023360882937399465,-2.9662099579462933e-5,-2.3567732219797592e-8,-0.0023357408585416017,-2.9704065354320472e-5,-2.36219691020052e-8,-0.0023353611169372288,-2.9664178807460198e-5,-2.3581074777115405e-8,-0.002334987901996926,-2.953256184083392e-5,-2.3432902238347995e-8,-0.002334666656879615,-2.9321444023828176e-5,-2.3191111499019182e-8,-0.002334437144125591,-2.906967526378198e-5,-2.2900614292587276e-8,-0.0023343170286952335,-2.8837540628692366e-5,-2.263164135915559e-8,-0.002334289377364724,-2.868863915936848e-5,-2.245863079739621e-8,-0.0023343042731189534,-2.8664576401788524e-5,-2.243065985991554e-8,-0.002334297427240077,-2.8766728884431434e-5,-2.2550060161150142e-8,-0.00233421602436304,-2.8956937999179782e-5,-2.277304822604038e-8,-0.0023340366493231914,-2.9175695277364925e-5,-2.3030723691705274e-8,-0.0023337675567428337,-2.9365148437702835e-5,-2.325572494540632e-8,-0.002333439019167699,-2.948499872544599e-5,-2.3400714149062195e-8,-0.002333090235900311,-2.9517803647735512e-5,-2.3444668908795366e-8,-0.002332758701346869,-2.9466638538369463e-5,-2.3390385484474364e-8,-0.0023324738052357035,-2.934937562502968e-5,-2.3258055105401835e-8,-0.0023322540424882687,-2.919255582833955e-5,-2.3078281732160556e-8,-0.0023321064600515273,-2.902614663617285e-5,-2.2885999487207492e-8,-0.002332027286009202,-2.8879263050207602e-5,-2.271540058262342e-8,-0.0023320033619865835,-2.877662704188809e-5,-2.259567613496163e-8,-0.002332014289946477,-2.873576097567269e-5,-2.2547631244607782e-8,-0.002332035177135321,-2.8765014379972653e-5,-2.2581326280258576e-8,-0.0023320398449503863,-2.8862571973660708e-5,-2.2694919143851268e-8,-0.0023320042471653172,-2.9016654866027363e-5,-2.287492871831799e-8,-0.0023319096779583115,-2.9206946607571382e-5,-2.3097917898279694e-8,-0.002331745434296553,-2.940702053860624e-5,-2.333330260051453e-8,-0.0023315107913132412,-2.9587554741398894e-5,-2.354703004535643e-8,-0.002331216183994399,-2.9720241445388588e-5,-2.370604059396504e-8,-0.0023308833968589734,-2.9782371874826208e-5,-2.378354402409868e-8,-0.0023305442821816677,-2.976211745161164e-5,-2.376519028712881e-8,-0.002330237019842478,-2.9664138028036154e-5,-2.3655730605611676e-8,-0.002329998741183291,-2.9513937315933643e-5,-2.3484296706424633e-8,-0.0023298543227104943,-2.935776247905231e-5,-2.3304483190610554e-8,-0.0023298039688696283,-2.9254146272590037e-5,-2.3184600111912306e-8,-0.0023298161627486316,-2.9255771124284795e-5,-2.3186513526067538e-8,-0.002329833717182933,-2.9387407680729007e-5,-2.3339799540173714e-8,-0.00232979429485865,-2.963251445919433e-5,-2.3625939095795707e-8,-0.0023296555485235837,-2.993876684354111e-5,-2.3984573422930422e-8,-0.002329410031430962,-3.0240089226068864e-5,-2.433902191722381e-8,-0.002329082684861528,-3.048133910260082e-5,-2.4624941076546366e-8,-0.002328716252266335,-3.063272313348873e-5,-2.4807118980201846e-8,-0.0023283552432151315,-3.0691090518933916e-5,-2.4881121231374615e-8,-0.002328035235814446,-3.067316204035687e-5,-2.486564617259907e-8,-0.002327778453652459,-3.060672619689269e-5,-2.4792504271784795e-8,-0.0023275936390781573,-3.052324005011218e-5,-2.4698123022970693e-8,-0.002327477917828302,-3.0452785078251434e-5,-2.461765146651857e-8,-0.002327419112590265,-3.0420884134364205E-05,-2.458113394257909e-8,-0.0023273980040969685,-3.0446326357327403e-5,-2.4610839446448034e-8,-0.002327390669521878,-3.0539531096370326e-5,-2.4719266183936192e-8,-0.0023273711094918687,-3.070139397965835e-5,-2.4907774784639605e-8,-0.002327314298389271,-3.0922803788878494e-5,-2.5166047977091938e-8,-0.002327199604182002,-3.118523180180453e-5,-2.5472802828543438e-8,-0.0023270141555905726,-3.146275582275373e-5,-2.579813850369303e-8,-0.002326755507257778,-3.1725524753218145e-5,-2.6107509797618743e-8,-0.002326433025242352,-3.194433915074523e-5,-2.636696380227279e-8,-0.00232606757107646,-3.2095816875852493E-05,-2.6549064620552972e-8,-0.0023256892347763903,-3.216744119251998e-5,-2.663874128588696e-8,-0.0023253330548705857,-3.216173673953351e-5,-2.6638224765391106e-8,-0.002325032753407156,-3.209873777588853e-5,-2.6570101510359574e-8,-0.0023248127299698297,-3.201549252585091e-5,-2.6476970450584947e-8,-0.002324679419257254,-3.1960909325668365e-5,-2.641563798078472e-8,-0.002324614738368727,-3.198471760129885e-5,-2.6444333423830437e-8,-0.0023245759518624605,-3.2121629871326e-5,-2.6604171937243653e-8,-0.002324505785473568,-3.237602913514e-5,-2.6901108196581215e-8,-0.0023243518127423596,-3.271591879496891e-5,-2.7298653087985366e-8,-0.00232408675837698,-3.308237216229446e-5,-2.772870037338478e-8,-0.0023237183421038277,-3.341134600686158e-5,-2.8116827565107905e-8,-0.0023232834120907914,-3.365603424276712e-5,-2.8408283829963784e-8,-0.0023228315250686865,-3.379852594585868e-5,-2.8581601521190148e-8,-0.0023224081917482394,-3.384823308876176e-5,-2.8646918820079517e-8,-0.0023220447513682056,-3.3832392487888304e-5,-2.8635163154902712e-8,-0.0023217556857669294,-3.378539642682306e-5,-2.8585851446400122e-8,-0.0023215406467797794,-3.374081042009061e-5,-2.8537897313167375e-8,-0.002321388188291431,-3.3726795999537757e-5,-2.8524238705810844e-8,-0.002321279357326137,-3.376398701175925e-5,-2.8569237172436706e-8,-0.002321190580067218,-3.3864561252015965e-5,-2.8687469509032147e-8,-0.0023210960815719848,-3.403170234189584e-5,-2.8883032294239802e-8,-0.0023209703112198727,-3.425921865422195e-5,-2.9149091545929388e-8,-0.0023207907692627456,-3.453153525414017e-5,-2.9467892708359517e-8,-0.002320541348280485,-3.4824632907782434e-5,-2.9811852888919886e-8,-0.002320215787982576,-3.510859047522046e-5,-3.014647119465895e-8,-0.002319820326628823,-3.5352020534393274e-5,-3.0435397604764066e-8,-0.002319374429235887,-3.5528027890910064e-5,-3.064726176518535e-8,-0.0023189086929537852,-3.562058707993201e-5,-3.0763027321289934e-8,-0.0023184596969337903,-3.562967431567573e-5,-3.078198150000386e-8,-0.0023180625159862473,-3.557348082881343e-5,-3.072444153370548e-8,-0.0023177424037032486,-3.548664144440317e-5,-3.062992075551395e-8,-0.0023175074984734543,-3.5414226963611394e-5,-3.0550393228261676e-8,-0.0023173444808164832,-3.5402047537825155e-5,-3.053919267474974e-8,-0.002317219043515323,-3.548478675955916e-5,-3.063722510387765e-8,-0.0023170825452282313,-3.567474791693208e-5,-3.085971138660794e-8,-0.0023168847150472982,-3.595522696647335e-5,-3.118819869005432e-8,-0.0023165894160324624,-3.628263070896687e-5,-3.157275232013399e-8,-0.0023161874027681608,-3.659879209134966e-5,-3.194610912976707e-8,-0.002315699674318987,-3.6849589557777495e-5,-3.224527727736699e-8,-0.002315169322935829,-3.7001624225642415e-5,-3.2430960432418255e-8,-0.002314646199700832,-3.704960690848625e-5,-3.249625130896201e-8,-0.0023141720768090047,-3.701289220350198e-5,-3.246278529929417e-8,-0.0023137719944856,-3.692533958583261e-5,-3.2369181497699095e-8,-0.002313452787336121,-3.682436937453514e-5,-3.225850415814049e-8,-0.002313206349815514,-3.674303927821273e-5,-3.216911319350878e-8,-0.002313014513893187,-3.6705975238209506e-5,-3.21298653443614e-8,-0.002312853494672486,-3.6728114464930174e-5,-3.215852030546475e-8,-0.0023126972338266515,-3.681481612065799e-5,-3.226175333094992e-8,-0.0023125198655322456,-3.696232465768661e-5,-3.24356389814037e-8,-0.002312297893017724,-3.7158178604489365e-5,-3.266612338087536e-8,-0.0023120126639769563,-3.7381726521067834e-5,-3.292962936131338e-8,-0.002311653424383115,-3.760539504033395e-5,-3.319450237088803e-8,-0.0023112206387045776,-3.7797568417562995e-5,-3.3424282093674193e-8,-0.002310728536788081,-3.7927679776685745e-5,-3.3583518129125895e-8,-0.0023102052694704335,-3.7973269632081315e-5,-3.3645883688399196e-8,-0.002309689114953737,-3.792741024238655e-5,-3.3602769741033175e-8,-0.002309220367796046,-3.780365018678395e-5,-3.34690861984953e-8,-0.0023088306454635615,-3.763560952953059e-5,-3.328295822689161e-8,-0.0023085331437765486,-3.7470095324169245e-5,-3.30979876994702e-8,-0.0023083175552887736,-3.7355299923970754e-5,-3.296981668241202e-8,-0.0023081517291295645,-3.732774019023125e-5,-3.2941121239366296e-8,-0.0023079897002703125,-3.740204716129852e-5,-3.302971182509186e-8,-0.0023077837234663535,-3.7566599907923365e-5,-3.322321468544985e-8,-0.0023074969972720206,-3.778618699150824e-5,-3.348181192736664e-8,-0.002307113642460123,-3.801111136025596e-5,-3.374850764245679e-8,-0.002306642967714749,-3.819047303514916e-5,-3.3964389987148476e-8,-0.0023061164179579287,-3.8285780849737995e-5,-3.40844388236443e-8,-0.0023055780533455137,-3.828042081343265e-5,-3.408864550347391e-8,-0.0023050720265702773,-3.818189606197478e-5,-3.3984813393723e-8,-0.0023046316398957264,-3.801683262139339e-5,-3.3802987367837267e-8,-0.00230427334288954,-3.7821682524135505e-5,-3.358486019035794e-8,-0.0023039963644423222,-3.7633111972824855e-5,-3.337272686138091e-8,-0.002303786336992908,-3.748100255910153e-5,-3.320135317605305e-8,-0.0023036204437704402,-3.738497046118624e-5,-3.3093833427999516e-8,-0.002303472191629436,-3.735370107695463e-5,-3.306068870435814e-8,-0.002303315004370737,-3.738581151208172e-5,-3.310077586295026e-8,-0.0023031247168510474,-3.7471158388023855e-5,-3.32027746012847e-8,-0.002302881512812013,-3.759204402485969e-5,-3.334659244660564e-8,-0.002302571933303701,-3.772437161974421e-5,-3.3504698526810776e-8,-0.0023021913377570913,-3.7839318120416736e-5,-3.364401288936653e-8,-0.0023017466592312736,-3.790639624397905e-5,-3.3729365113627754e-8,-0.002301258499438132,-3.789868982799408e-5,-3.3729469251606456e-8,-0.0023007607416336475,-3.780025860121621e-5,-3.362545368835861e-8,-0.0023002955727393715,-3.761398422436507e-5,-3.341996763976326e-8,-0.002299903135206751,-3.7366095073082776e-5,-3.314251715734096e-8,-0.002299608241321281,-3.7103131944292765e-5,-3.284613208267745e-8,-0.002299409859179875,-3.687991824381861e-5,-3.259369265324991e-8,-0.002299279285932504,-3.674229260682073e-5,-3.243819215569253e-8,-0.002299168823546775,-3.6712133551511284e-5,-3.240551750739637e-8,-0.002299027108588892,-3.678121604662647e-5,-3.248721326687466e-8,-0.0022988143521173038,-3.6915489318077446e-5,-3.2645093229978927e-8,-0.0022985121434507642,-3.706652291671608e-5,-3.282408232012828e-8,-0.0022981259731840605,-3.718510344513982e-5,-3.296765596479805e-8,-0.002297681444338649,-3.723291069296564e-5,-3.3031266622567177e-8,-0.0022972163826716816,-3.7189964304819385e-5,-3.299108395567988e-8,-0.002296771289655474,-3.705699893642229e-5,-3.284699771750507e-8,-0.0022963804162048507,-3.685301926143306e-5,-3.2620069474865724e-8,-0.0022960653412444033,-3.66092080660818e-5,-3.234570517089325e-8,-0.0022958321994601843,-3.6361104881873565e-5,-3.206471491834107e-8,-0.002295672602594345,-3.6141216362085723e-5,-3.181475278986125e-8,-0.002295567237924504,-3.5973699239903435e-5,-3.1624065630400416e-8,-0.0022954906243840873,-3.5871742882865936e-5,-3.150833328403298e-8,-0.002295415668514197,-3.583734289021038e-5,-3.1470303577740756e-8,-0.002295317231199662,-3.5862619387422194e-5,-3.15012747362056e-8,-0.002295174587684972,-3.593175025312556e-5,-3.158334026307848e-8,-0.0022949731503511582,-3.6022919077861825e-5,-3.169165951737354e-8,-0.0022947059593891967,-3.6110200777476796e-5,-3.1796616976641045e-8,-0.0022943752972072132,-3.616576445549112e-5,-3.186629056886203e-8,-0.002293994395917849,-3.616308491839482e-5,-3.1870055583428156e-8,-0.0022935884913046806,-3.608188698839053e-5,-3.1784218012190775e-8,-0.002293193570220022,-3.591490428985524e-5,-3.159981966187581e-8,-0.002292850700555697,-3.567488665407547e-5,-3.1330816136700846e-8,-0.0022925949121289655,-3.539799888834784e-5,-3.101814903088958e-8,-0.002292441079759657,-3.5138654460845667e-5,-3.072396888884776e-8,-0.0022923737482313526,-3.495377210004042e-5,-3.051367324612897e-8,-0.0022923487357085484,-3.4881645478195986e-5,-3.043169702193616e-8,-0.0022923082878944408,-3.492651926994169e-5,-3.048374540670587e-8,-0.0022922023645509603,-3.5057777584302726e-5,-3.063565736187704e-8,-0.002292004823110608,-3.522321745129158e-5,-3.0828335408719365e-8,-0.002291718031987991,-3.536782916311345e-5,-3.099901295008251e-8,-0.0022913672330241424,-3.544908418763723e-5,-3.109866179650461e-8,-0.002290990059070643,-3.544468044302114e-5,-3.1100956371175926e-8,-0.0022906260283061795,-3.535334262818601e-5,-3.1003445892457103e-8,-0.0022903084934227853,-3.5191150650947184e-5,-3.082366001102285e-8,-0.002290059645962504,-3.4985740590012e-5,-3.059271116004469e-8,-0.002289888308889336,-3.476990829758171e-5,-3.034806608016834e-8,-0.002289790112933232,-3.457553303386381e-5,-3.0126527996035566e-8,-0.0022897496397346197,-3.442855427528838e-5,-2.995832382862933e-8,-0.002289743927638933,-3.434557978525591e-5,-2.986303752963534e-8,-0.002289746588173612,-3.433235628935457e-5,-2.984772570762622e-8,-0.002289731806192985,-3.438399705495003e-5,-2.9907130752155833e-8,-0.0022896776371395563,-3.448658144544781e-5,-3.0025539997263514e-8,-0.002289568333240068,-3.4619516180843974e-5,-3.0179546880832127e-8,-0.002289395830989697,-3.47581192864351e-5,-3.034104020878307e-8,-0.0022891606980330746,-3.487624615385044e-5,-3.048017863245395e-8,-0.0022888727561433233,-3.494909690242651e-5,-3.0568516096956604e-8,-0.0022885513883073552,-3.4956571873741554e-5,-3.058275352336701e-8,-0.002288225022291335,-3.4887629910986334e-5,-3.050971134872694e-8,-0.0022879285346280604,-3.474558680788467e-5,-3.0352495822772635e-8,-0.002287697014005668,-3.4552914595581084e-5,-3.013619110840197e-8,-0.002287555258528512,-3.4352264826514714e-5,-2.990924381258495e-8,-0.002287505296293813,-3.419939650252042e-5,-2.9735499630763315e-8,-0.0022875185392014596,-3.414608973943245e-5,-2.9674650423240414e-8,-0.002287540654767576,-3.421841512072958e-5,-2.975725826269698e-8,-0.0022875109191809696,-3.44028369555647e-5,-2.9968681291149824e-8,-0.0022873866431173677,-3.4650463730046105e-5,-3.025373403994287e-8,-0.002287158332342123,-3.489747604808045e-5,-3.05398504214709e-8,-0.0022868484445149025,-3.5088852879194874e-5,-3.076405861695239e-8,-0.0022864982748903593,-3.519317267669936e-5,-3.0889870385194194e-8,-0.002286152562989151,-3.520525313625685e-5,-3.091044534452543e-8,-0.002285848351995372,-3.514064936767193e-5,-3.084259232463975e-8,-0.0022856095545583004,-3.5027359972136336e-5,-3.071759518882632e-8,-0.0022854458582351883,-3.4898128170332654e-5,-3.057260162184731e-8,-0.00228535406658743,-3.4784542000901826e-5,-3.0443888195242704e-8,-0.0022853205545476122,-3.471284955278595e-5,-3.0361936066289834e-8,-0.0022853242782383083,-3.4701131164836125e-5,-3.034799776992067e-8,-0.0022853401172956323,-3.475768108400181e-5,-3.0412079618106474e-8,-0.0022853423369857883,-3.488055943683937e-5,-3.055234935450222e-8,-0.0022853079331452636,-3.505829657473036e-5,-3.075595068991225e-8,-0.002285219540357508,-3.5271714452898415e-5,-3.1001145596984345e-8,-0.0022850675526555806,-3.5496617417606936e-5,-3.12604400979373e-8,-0.0022848513167228906,-3.5706935033342264e-5,-3.150417106161792e-8,-0.0022845794630886704,-3.587803665272236e-5,-3.170422273669897e-8,-0.0022842694256383967,-3.599011192601114e-5,-3.183778648177624e-8,-0.00228394612191299,-3.6031573527607656e-5,-3.1891182357691236e-8,-0.002283639559272516,-3.6002497987339216e-5,-3.1863829412209876e-8,-0.0022833807000028155,-3.591781523569677e-5,-3.17720571397393e-8,-0.002283194835117489,-3.580895633737797e-5,-3.1651234007313374e-8,-0.0022830926687873554,-3.572151453512309e-5,-3.155331255203707e-8,-0.0022830615120185546,-3.57062013456485e-5,-3.1536574359696766e-8,-0.002283061910144253,-3.5802515052971905e-5,-3.1646865496677e-8,-0.0022830358716624693,-3.602024681505544e-5,-3.1896238479571526e-8,-0.002282927452508825,-3.6329876875859376e-5,-3.2251745516056244e-8,-0.0022827062816265977,-3.667107036558002e-5,-3.264498114105585e-8,-0.0022823796709535715,-3.697658131461953e-5,-3.299928501542816e-8,-0.0022819864232603475,-3.719735460090399e-5,-3.325834215160285e-8,-0.0022815785791103415,-3.731532145924846e-5,-3.340080377913226e-8,-0.0022812032084957965,-3.734128205682896e-5,-3.3438034270071183e-8,-0.002280891871937716,-3.7304369843453694e-5,-3.3402379181189025e-8,-0.00228065814223643,-3.724061603780327e-5,-3.333439792808469e-8,-0.0022805000038872204,-3.718451764462349e-5,-3.327337443004344e-8,-0.0022804039844390635,-3.7164175330215406e-5,-3.325171023981485e-8,-0.002280349211641098,-3.7198996010101034e-5,-3.3292116454290506e-8,-0.0022803108906574855,-3.729879835377055e-5,-3.3406389414515064e-8,-0.002280263357184188,-3.746369139111816e-5,-3.359514042205903e-8,-0.0022801829142725643,-3.76845561343038e-5,-3.3848312986735143e-8,-0.0022800505440541212,-3.794419075362827e-5,-3.4146529008746734e-8,-0.002279854394613768,-3.821932509749697e-5,-3.446344080378021e-8,-0.002279591667380771,-3.8483592197162534e-5,-3.4769134737453335e-8,-0.0022792694769532365,-3.8711202674219674e-5,-3.503427192200282e-8,-0.002278904453787725,-3.888090559245803e-5,-3.523451107453436e-8,-0.002278520994022731,-3.897981593858639e-5,-3.5354790439935546e-8,-0.0022781481387727765,-3.900661067575245e-5,-3.539296714173588e-8,-0.002277815196272408,-3.897358681368924e-5,-3.536228182941742e-8,-0.0022775462453310945,-3.8907078916294634e-5,-3.5292063500544346e-8,-0.0022773537578315915,-3.88453723888866e-5,-3.5225611058902015e-8,-0.0022772323066882973,-3.88328268780596e-5,-3.5213664861948535e-8,-0.002277154719218136,-3.89093864059176e-5,-3.5302432695555914e-8,-0.0022770743013513575,-3.909671606337604e-5,-3.551757119061668e-8,-0.0022769361938568297,-3.93858582620144e-5,-3.584980135264396e-8,-0.0022766965332619883,-3.9734321357865546e-5,-3.625133407898208e-8,-0.002276341115211891,-4.007817531691193e-5,-3.664954907985626e-8,-0.0022758922917568173,-4.035551223226274e-5,-3.697373201351628e-8,-0.0022753992488523085,-4.0528709716748785e-5,-3.7180470529775404e-8,-0.0022749180581077707,-4.059371095721217e-5,-3.726429156698758e-8,-0.0022744933359550488,-4.057442247318822e-5,-3.7251455930854735e-8,-0.0022741491150162865,-4.0509294110553696e-5,-3.718495011122612e-8,-0.0022738888817427747,-4.043836498717976e-5,-3.7109976390399145e-8,-0.0022737006122365193,-4.0394935220934196e-5,-3.706454561541384e-8,-0.0022735628534328385,-4.0401953921682715e-5,-3.7075254422409025e-8,-0.0022734497848497666,-4.047142453162688e-5,-3.7156399239620105e-8,-0.0022733348583905645,-4.060512607912676e-5,-3.731060746631049e-8,-0.0022731934580261463,-4.0795705115488924e-5,-3.752998308750005e-8,-0.00227300512552994,-4.102789765037355e-5,-3.7797496246937914e-8,-0.0022727556876095496,-4.128004247365327e-5,-3.808875005360056e-8,-0.002272439315133133,-4.152626986166031e-5,-3.837450044928072e-8,-0.0022720601389120266,-4.173970137526162e-5,-3.862427282168575e-8,-0.0022716327599983676,-4.1896595491755895e-5,-3.8811002059216745e-8,-0.0022711810539608945,-4.1980908267824755e-5,-3.8916135263443654e-8,-0.00227073496835204,-4.1988409487146426e-5,-3.8934279948754235e-8,-0.002270325441507122,-4.192927899551331e-5,-3.8876227340469446e-8,-0.002269978122215947,-4.1828177158028644e-5,-3.8769219119330844e-8,-0.00226970702629286,-4.172123601459589e-5,-3.865378498185866e-8,-0.0022695094556672577,-4.1649926366732944e-5,-3.857700174244831e-8,-0.002269363629343624,-4.165219466353312e-5,-3.858250738357373e-8,-0.0022692306298698933,-4.175204263636338e-5,-3.869853604806306e-8,-0.0022690619905320303,-4.195007217268219e-5,-3.892687238355782e-8,-0.0022688127656313537,-4.22189359377569e-5,-3.923733305382498e-8,-0.0022684568851602466,-4.2507766167857475e-5,-3.9572560430991624e-8,-0.002267998326091102,-4.275672312180571e-5,-3.986449700076138e-8,-0.0022674714734245843,-4.291695195769548e-5,-4.005713795935709e-8,-0.0022669291597497737,-4.296662160132691e-5,-4.012487438155247e-8,-0.0022664242564903914,-4.2915295188340505e-5,-4.007760659904807e-8,-0.0022659940652150863,-4.279611123618072e-5,-3.995206908990567e-8,-0.002265653503930502,-4.265191244855833e-5,-3.979631362883339e-8,-0.0022653969340296893,-4.252261313043785e-5,-3.965552378432056e-8,-0.0022652046236925952,-4.243769493960012e-5,-3.95634861733223e-8,-0.002265049794477369,-4.241380155046763e-5,-3.9539697044729416e-8,-0.0022649041082798216,-4.245547864330964e-5,-3.9589986428501323e-8,-0.00226474124918325,-4.255711975844435e-5,-3.970856627954339e-8,-0.0022645391613217362,-4.270500455743162e-5,-3.988028806109427e-8,-0.0022642816799547678,-4.287910780361013e-5,-4.008272167427198e-8,-0.002263960087918555,-4.3054900809357125e-5,-4.028824466566982e-8,-0.002263574719130994,-4.320567695985923e-5,-4.0466687322319195e-8,-0.0022631362204558894,-4.330590165289405e-5,-4.058908270551296e-8,-0.0022626656639188536,-4.3335670173572484e-5,-4.063264302083518e-8,-0.0022621925719040524,-4.328569846595285e-5,-4.0586363627982455e-8,-0.0022617502460647106,-4.316153538197371e-5,-4.045582192050501e-8,-0.0022613686905826485,-4.298517863381172e-5,-4.02651379123331e-8,-0.002261066659628733,-4.279254577136207e-5,-4.0054328367112326e-8,-0.002260845254738966,-4.2626492298289355e-5,-3.9871642378719045e-8,-0.002260685452234943,-4.252671070386968e-5,-3.976228848354713e-8,-0.0022605509404802003,-4.251909481418603e-5,-3.9756384567982686e-8,-0.002260396131472639,-4.260760900980759e-5,-3.985954021720435e-8,-0.002260177694963087,-4.277131989594658e-5,-4.004914789052283e-8,-0.002259866766101412,-4.2968166060102e-5,-4.027830918497738e-8,-0.002259458210637815,-4.3145372744970057e-5,-4.048742944540769e-8,-0.0022589733613924707,-4.3254145791464096e-5,-4.062085419440258e-8,-0.002258454294531585,-4.326392054614321e-5,-4.064315339359069e-8,-0.0022579511436190353,-4.3170655978861896e-5,-4.0548734377790825e-8,-0.0022575073922757242,-4.2995916330466316e-5,-4.036104128218041e-8,-0.0022571489718927946,-4.2777865460527206e-5,-4.012258232791228e-8,-0.0022568805697357453,-4.255884861731508e-5,-3.988102778980891e-8,-0.0022566887016491335,-4.2374725671374876e-5,-3.967716426716014e-8,-0.002256548444902981,-4.2248875604791526e-5,-3.953799287615894e-8,-0.002256430457477919,-4.2190877177150564e-5,-3.9475031093020603e-8,-0.0022563063262742698,-4.219814048656945e-5,-3.9485967035225393e-8,-0.0022561518892659908,-4.225864272457631e-5,-3.9557654446514965e-8,-0.0022559490620141626,-4.235363463796422e-5,-3.9669178707093105e-8,-0.0022556869196150115,-4.245992921932744e-5,-3.9794503964805914e-8,-0.002255362650026142,-4.2551960746738174e-5,-3.990484416493067e-8,-0.00225498259128279,-4.260418776905965e-5,-3.9971363026047316e-8,-0.0022545629951551973,-4.259443556510106e-5,-3.996888136177645e-8,-0.002254129647814144,-4.2508371758274345e-5,-3.988086135327218e-8,-0.0022537151993712646,-4.234455193159232e-5,-3.970509132900266e-8,-0.00225335330209883,-4.2118407480589275e-5,-3.9458268320626675e-8,-0.0022530698916637996,-4.186263655252896e-5,-3.917660732834667e-8,-0.0022528740190121094,-4.162180095563857e-5,-3.8909958155369906e-8,-0.002252752217450626,-4.1441201489894646e-5,-3.870944411348118e-8,-0.0022526698614514173,-4.1353325375690816e-5,-3.861225482382609e-8,-0.0022525801000990234,-4.136713774543938e-5,-3.862947201208333e-8,-0.0022524373733573866,-4.146464933767827e-5,-3.8741929345072135e-8,-0.002252210525373519,-4.1605994325611274e-5,-3.89055852814104e-8,-0.0022518911377591767,-4.1740803405337114e-5,-3.906405012373955e-8,-0.0022514949999607,-4.182182996698903e-5,-3.9163825942864726e-8,-0.0022510569958787445,-4.181681135790668e-5,-3.916776403591502e-8,-0.002250621342141275,-4.171557236139564e-5,-3.906331946104076e-8,-0.0022502301294550285,-4.15308425955026e-5,-3.886378396708598e-8,-0.002249913449319389,-4.129306958437996e-5,-3.860271679338941e-8,-0.002249683726453224,-4.104130530740587e-5,-3.832383998911728e-8,-0.002249535283975047,-4.0813295369522146e-5,-3.8069884935159855e-8,-0.0022494483048860476,-4.0637702512655366e-5,-3.787370255806774e-8,-0.002249395075586441,-4.053008747505458e-5,-3.775352485809548e-8,-0.002249346228387429,-4.049258564563083e-5,-3.771239510768213e-8,-0.0022492755010270257,-4.0516052192387256e-5,-3.774046242612261e-8,-0.0022491626277783426,-4.058321264511812e-5,-3.7818520580070174e-8,-0.0022489947436900195,-4.0671780343274614e-5,-3.7921589641568395e-8,-0.002248766957445944,-4.075711343877572e-5,-3.8021986797907276e-8,-0.0022484826632076446,-4.081452585563666e-5,-3.8091951714669235e-8,-0.002248153838048646,-4.0821728247974105e-5,-3.8106341905870566e-8,-0.002247801079960905,-4.076195151424849e-5,-3.804605949402225e-8,-0.002247452593148405,-4.0628012018448585e-5,-3.790257146744856e-8,-0.0022471409301629466,-4.042682459236734e-5,-3.768302732502345e-8,-0.00224689646765886,-4.018263561138499e-5,-3.7414039313886286e-8,-0.0022467379334867687,-3.993603737751534e-5,-3.71407722402369e-8,-0.0022466629330224067,-3.973603731085064e-5,-3.6918205817805125e-8,-0.0022466437937668942,-3.962548372148706e-5,-3.679484541297912e-8,-0.0022466332626418345,-3.962510713746668e-5,-3.679475135912498e-8,-0.0022465795112438054,-3.972433968955547e-5,-3.690704831574807e-8,-0.002246443844399572,-3.988431149987231e-5,-3.7089012125681974e-8,-0.0022462127331009103,-4.005144641550452e-5,-3.728104124941213e-8,-0.002245899726127667,-4.017461828870116e-5,-3.742571513024981e-8,-0.0022455385610210964,-4.021870065905526e-5,-3.7482979092119534e-8,-0.002245171991501091,-4.017101257208119e-5,-3.743755699529912e-8,-0.0022448406857828573,-4.0040872064166135e-5,-3.729877117661851e-8,-0.002244574842630709,-3.985434389103751e-5,-3.709499167218068e-8,-0.00224438953153147,-3.964658315948225e-5,-3.6865281132306804e-8,-0.002244283739282433,-3.9453769098646514e-5,-3.6650395806950313e-8,-0.0022442425786291715,-3.9306138580895836e-5,-3.648483998275852e-8,-0.0022442417262513318,-3.9223235736532204e-5,-3.639130046745756e-8,-0.002244252825270072,-3.921193238763609e-5,-3.637818766334322e-8,-0.002244248580715095,-3.926701981343953e-5,-3.6440147045714485e-8,-0.002244206665010873,-3.9373614587264704e-5,-3.656072898333406e-8,-0.0022441120851505714,-3.9510449394149734e-5,-3.671615220159067e-8,-0.002243958158082218,-3.9653224799783987e-5,-3.687916687487293e-8,-0.002243746569982561,-3.977754481038861e-5,-3.702240992509356e-8,-0.0022434870012997396,-3.986143852984975e-5,-3.7121211995940224e-8,-0.002243196539261886,-3.9887788360821346e-5,-3.715623183345602e-8,-0.002242898748955786,-3.984704324325663e-5,-3.711640914072695e-8,-0.0022426218280860106,-3.974042123909537e-5,-3.7002547544910815e-8,-0.0022423948446182447,-3.9583186860967147e-5,-3.683110598566761e-8,-0.002242241179018976,-3.940641160112801e-5,-3.663638469156625e-8,-0.00224216956598242,-3.925442123747653e-5,-3.646787712775838e-8,-0.002242165743912653,-3.917522022806908e-5,-3.63796461283401e-8,-0.0022421904430927637,-3.92042809462743e-5,-3.641210968875951e-8,-0.0022421888363345576,-3.934800163595166e-5,-3.657333079382851e-8,-0.0022421101287026773,-3.957707112540881e-5,-3.683135600408295e-8,-0.0022419276065207064,-3.983591431005777e-5,-3.712457446970693e-8,-0.0022416477393448642,-4.0063753426798325e-5,-3.73851192566621e-8,-0.0022413045475564155,-4.0215340963561835e-5,-3.7561970560884604e-8,-0.0022409449338205603,-4.0271819274777205e-5,-3.7633148529958066e-8,-0.0022406136872176463,-4.0240309319839884e-5,-3.7605480019251675e-8,-0.002240343470877864,-4.0146522531138636e-5,-3.750668536605433e-8,-0.002240150677565745,-4.002533269708593e-5,-3.7375157741474976e-8,-0.002240035711440105,-3.991240818250783e-5,-3.725076167766338e-8,-0.002239985804253139,-3.9838071993125945e-5,-3.7167903625866e-8,-0.0022399789880449567,-3.9823368021104823e-5,-3.715090319780558e-8,-0.0022399885175577506,-3.9878050065343086e-5,-3.721146830451135e-8,-0.002239987272940578,-4.000036042511323e-5,-3.734824122526935e-8,-0.0022399516443405575,-4.017838712946535e-5,-3.7548239619326853e-8,-0.002239864499431365,-4.0392596449678075e-5,-3.778973496167977e-8,-0.0022397169957782525,-4.061908331716644e-5,-3.804599535317224e-8,-0.002239509163109704,-4.083302738834809e-5,-3.828923970936112e-8,-0.00223924945058436,-4.101186342286681e-5,-3.8494196874711744e-8,-0.002238953599371396,-4.113797301515876e-5,-3.8641048926455915e-8,-0.0022386430618668383,-4.120100796303263e-5,-3.871793082545036e-8,-0.002238342944066297,-4.1200001151770064e-5,-3.872324181388282e-8,-0.0022380791839847307,-4.114530686782865e-5,-3.866788607866194e-8,-0.002237874380510262,-4.1060002066053976e-5,-3.857703907310176e-8,-0.00223774180926945,-4.097948394853225e-5,-3.848995354296783e-8,-0.00223767825635013,-4.094712480839855e-5,-3.845528558322179e-8,-0.002237658399419641,-4.1004061797862145e-5,-3.851967858482813e-8,-0.0022376356888406273,-4.11738325963669e-5,-3.8710382858211906e-8,-0.0022375542283195344,-4.144791944811161e-5,-3.9018797372337954e-8,-0.002237369976256706,-4.178239537910177e-5,-3.939648342269923e-8,-0.0022370705865857117,-4.211192540677199e-5,-3.97707040733493e-8,-0.002236681021205403,-4.237528136520402e-5,-4.0072894403993155e-8,-0.0022362515136581293,-4.2537390808246587e-5,-4.026326754963274e-8,-0.0022358368811051695,-4.2596592517748946e-5,-4.033897314519272e-8,-0.002235479455892738,-4.257760540665977e-5,-4.032647668471118e-8,-0.0022352014732815342,-4.251839568376904e-5,-4.026725325138652e-8,-0.0022350055128588357,-4.245824814262653e-5,-4.0204769494537755e-8,-0.002234879072292001,-4.2429981973685345e-5,-4.017588031994506e-8,-0.002234800143287794,-4.245617891594765e-5,-4.020647152992803e-8,-0.0022347421748675988,-4.254810062132713e-5,-4.030997076660549e-8,-0.002234678089860464,-4.2706022024608e-5,-4.04874490318804e-8,-0.002234583596800719,-4.292040013149177e-5,-4.072877100486095e-8,-0.0022344399196055193,-4.3173776366831664e-5,-4.101470592062815e-8,-0.002234235865992565,-4.344333894544913e-5,-4.13198704377615e-8,-0.002233969089473579,-4.370403283753067e-5,-4.1616299339581775e-8,-0.0022336463289874286,-4.393200590097062e-5,-4.1877337327494744e-8,-0.002233282501130823,-4.410796757286399e-5,-4.2081351239347404e-8,-0.0022328987863395795,-4.422003807868895e-5,-4.2214822045642e-8,-0.0022325199496675764,-4.426587777665794e-5,-4.227465236873269e-8,-0.0022321710530385326,-4.4253972215963034e-5,-4.226962591744968e-8,-0.0022318736432929433,-4.420392191805795e-5,-4.2220888713159193e-8,-0.0022316414113256896,-4.414545555348796e-5,-4.216110347774086e-8,-0.0022314754270215662,-4.4115440270257426e-5,-4.213136166132721e-8,-0.002231359823442391,-4.415175418461966e-5,-4.217445054382591e-8,-0.0022312601532689185,-4.4283382554984865e-5,-4.232367827957026e-8,-0.002231127767120565,-4.4518168017474204e-5,-4.258888372588604e-8,-0.0022309127621388284,-4.483326721123653e-5,-4.2945429863533486e-8,-0.0022305832777618443,-4.5176107345948044e-5,-4.33350641470657e-8,-0.0022301417812274774,-4.548042189951665e-5,-4.3683804639003184e-8,-0.00222962696006888,-4.5691654474732635e-5,-4.3930355472978606e-8,-0.0022290982784922498,-4.578732224176004e-5,-4.404886114752745e-8,-0.0022286126995498105,-4.578096414425489e-5,-4.405337631430236e-8,-0.002228207126679372,-4.571064953482692e-5,-4.39852734699268e-8,-0.002227893056699919,-4.562206961243283e-5,-4.38947320909112e-8,-0.002227660846567752,-4.555526540573994e-5,-4.382620421038141e-8,-0.002227487702103169,-4.55379758899719e-5,-4.381102028222137e-8,-0.0022273451775774154,-4.558426004228901e-5,-4.386564409422788e-8,-0.0022272045720067527,-4.569590592468164e-5,-4.39929402649985e-8,-0.002227040330898362,-4.586469098944103e-5,-4.418444952301841e-8,-0.0022268322499077128,-4.607464729273845e-5,-4.4422813065954085e-8,-0.0022265671012077232,-4.6304319138032545e-5,-4.46843227290974e-8,-0.002226239866699384,-4.65292374402582e-5,-4.4941773047288794e-8,-0.002225854484890745,-4.6724799757426735e-5,-4.51677431041688e-8,-0.0022254237956320375,-4.6869601410910074e-5,-4.5338309138385286e-8,-0.002224968272659459,-4.694890763075256e-5,-4.543684582222292e-8,-0.002224513374267207,-4.695764552052053e-5,-4.545727907051517e-8,-0.0022240857042466885,-4.690227807341315e-5,-4.5406156340506795e-8,-0.0022237084214524207,-4.680103654287797e-5,-4.530300679993751e-8,-0.002223396530534961,-4.668216756519775e-5,-4.517860947561035e-8,-0.002223152787249789,-4.658014304122351e-5,-4.507104168252101e-8,-0.002222964935742375,-4.652995213290346e-5,-4.501951893274435e-8,-0.002222805166025817,-4.655966574712351e-5,-4.505611999008108e-8,-0.0022226330833182246,-4.6682000764129616e-5,-4.519616588800026e-8,-0.002222403496610867,-4.6886909508180545e-5,-4.542958762812166e-8,-0.002222079087811143,-4.7138819175493126e-5,-4.571749442657403e-8,-0.0022216449448798823,-4.738267384694757e-5,-4.59987335824701e-8,-0.002221118171827722,-4.7560111136303446e-5,-4.620795613858712e-8,-0.002220545312392466,-4.763048075773373e-5,-4.629917145710085e-8,-0.002219986393474025,-4.758588464850228e-5,-4.626262271116031e-8,-0.002219493466999461,-4.745169161788492e-5,-4.612549476134362e-8,-0.0022190950899372997,-4.727349057060608e-5,-4.5937616176018814e-8,-0.0022187928437108866,-4.709946526084481e-5,-4.575211981967887e-8,-0.0022185676608473866,-4.6967148258508964e-5,-4.561086581454774e-8,-0.0022183897340214403,-4.6897877865561347e-5,-4.5538205382200175e-8,-0.002218227112864587,-4.689730372738356e-5,-4.55412865670691e-8,-0.0022180511931498754,-4.6958726789225835e-5,-4.5613476972552826e-8,-0.002217839478448058,-4.706684563405332e-5,-4.573834204511953e-8,-0.002217576767892167,-4.720088385532349e-5,-4.5893088802846886e-8,-0.0022172557391592737,-4.7337099909682e-5,-4.605143273264397e-8,-0.0022168773700565656,-4.74510906017821e-5,-4.6186255635813826e-8,-0.0022164511799183666,-4.752034046529439e-5,-4.627248139736567e-8,-0.002215994899699834,-4.7527295848164124e-5,-4.629045712510837e-8,-0.002215532947978386,-4.746279506796771e-5,-4.622968509992351e-8,-0.0022150932151455763,-4.732912349998839e-5,-4.60921625117704e-8,-0.0022147021652644183,-4.714160221841957e-5,-4.589418230010463e-8,-0.002214378969883185,-4.692762570971198e-5,-4.566542228593394e-8,-0.0022141300645164186,-4.672255695780222e-5,-4.544463178449744e-8,-0.0022139458137362612,-4.6562850713633075e-5,-4.52722393117001e-8,-0.00221380060967952,-4.64777591528412e-5,-4.518126383051442e-8,-0.0022136569173281237,-4.648149783906708e-5,-4.518852648490155e-8,-0.0022134729343128413,-4.65678409922886e-5,-4.5288350736913463e-8,-0.002213212730213477,-4.670898079689068e-5,-4.545089717714251e-8,-0.002212856797894262,-4.686004182357243e-5,-4.562684735817594e-8,-0.0022124099074522273,-4.6969555866714336e-5,-4.575890861717408e-8,-0.0022119026018825377,-4.699407898397332e-5,-4.579813949784263e-8,-0.0022113839010346006,-4.691226389953383e-5,-4.5719800103478644e-8,-0.0022109065487812933,-4.673212611187127e-5,-4.553166994833471e-8,-0.0022105106421530336,-4.6487513953655795e-5,-4.52703652159344e-8,-0.002210212924897253,-4.622545023671105e-5,-4.498750033432147e-8,-0.0022100056515220326,-4.599082657138239e-5,-4.4732842639896e-8,-0.0022098634270506174,-4.58151562763414e-5,-4.454182124988341e-8,-0.002209753114187779,-4.5712337116466916e-5,-4.4430643000829475e-8,-0.0022096423610802776,-4.568024895658921e-5,-4.439779129857697e-8,-0.0022095048224221024,-4.570516696428774e-5,-4.4428692789315846e-8,-0.0022093223580628898,-4.576643434562114e-5,-4.45008081941231e-8,-0.0022090854104389146,-4.5840198863217866e-5,-4.458782308690369e-8,-0.002208792684048753,-4.590211841998753e-5,-4.4662757683266604e-8,-0.002208450773065764,-4.592949249699432e-5,-4.470041059236587e-8,-0.0022080738356743857,-4.590342965342051e-5,-4.467976024450722e-8,-0.0022076829208446235,-4.581149511652582e-5,-4.45868263584567e-8,-0.0022073042325302127,-4.565081152181556e-5,-4.441802397944935e-8,-0.002206965605216999,-4.5430915166275075e-5,-4.418331181075295e-8,-0.0022066909305378285,-4.51749843519472e-5,-4.390764665471133e-8,-0.0022064933389565914,-4.49177448738443e-5,-4.3628860219709356e-8,-0.0022063692939843756,-4.469903269899099e-5,-4.339076928750656e-8,-0.002206296459441618,-4.455384182826084e-5,-4.323234070924075e-8,-0.002206237344690818,-4.450182876565845e-5,-4.317610450389361e-8,-0.002206148437110928,-4.454022855258338e-5,-4.322014158498983e-8,-0.0022059920678573607,-4.464314996140854e-5,-4.333696738013364e-8,-0.002205747078655037,-4.47677698551155e-5,-4.3480006469238615e-8,-0.0022054149560458707,-4.4865453971987394e-5,-4.359562672668298e-8,-0.0022050197778874484,-4.4894469310904836e-5,-4.363714563703815e-8,-0.002204602080350687,-4.483081733338681e-5,-4.357698088947024e-8,-0.0022042082496701748,-4.4674256976108435e-5,-4.34136267011671e-8,-0.002203878355963061,-4.444767502332483e-5,-4.317130450908105e-8,-0.002203636131830214,-4.418988337579432e-5,-4.289227455216706e-8,-0.0022034842767954172,-4.3944313012475434e-5,-4.2624468807672645e-8,-0.0022034062225738905,-4.374765150444576e-5,-4.240888990786396e-8,-0.0022033728732570334,-4.362214656382595e-5,-4.22709113039624e-8,-0.0022033511472193176,-4.357325021474196e-5,-4.2217405326860426e-8,-0.002203311259278957,-4.359184072021775e-5,-4.2238963148967383e-8,-0.002203231161403219,-4.365884984553331e-5,-4.2314893940482235e-8,-0.0022030981896355236,-4.37501815219e-5,-4.241868804084055e-8,-0.0022029088590102435,-4.3840715442687394e-5,-4.252255845087228e-8,-0.002202667855443351,-4.390713159132299e-5,-4.2600676139939876e-8,-0.0022023869397814195,-4.392991328620103e-5,-4.263141972686281e-8,-0.002202083971331653,-4.389514078579005e-5,-4.259929970541784e-8,-0.0022017817509400405,-4.3796571313615305e-5,-4.2497155377534966e-8,-0.002201506019114991,-4.363807773550661e-5,-4.232878802184368e-8,-0.002201281829056389,-4.3435865519477696e-5,-4.211145676298463e-8,-0.0022011278651603286,-4.321905966755535e-5,-4.187668985882363e-8,-0.002201049428771376,-4.3026635343832115e-5,-4.166711799444936e-8,-0.0022010326564595945,-4.2899212226683795e-5,-4.1527605488542144e-8,-0.0022010438605880736,-4.2866701401245325e-5,-4.149168981230639e-8,-0.002201036815050561,-4.2936311524374124e-5,-4.156826007306663e-8,-0.0022009668005209242,-4.3087189621691026e-5,-4.1735408849570453e-8,-0.002200805687849186,-4.3275540935940235e-5,-4.194576010041846e-8,-0.0022005511147673534,-4.344845205145683e-5,-4.214141087930924e-8,-0.0022002261579351164,-4.356010243054483e-5,-4.2271627325288035e-8,-0.0021998709471877614,-4.3583870411128616e-5,-4.230621553318354e-8,-0.0021995306329296136,-4.351713167905666e-5,-4.2241049980976345e-8,-0.002199244012936336,-4.337907539302264e-5,-4.209604395428574e-8,-0.0021990354974688524,-4.3203716761038325e-5,-4.190782352683438e-8,-0.0021989114882803953,-4.303068697336216e-5,-4.1719808660383815e-8,-0.0021988611198272934,-4.2896143039547516e-5,-4.157220587465444e-8,-0.002198860529686386,-4.28256834219112e-5,-4.149400848221767e-8,-0.0021988792290551736,-4.283052362484336e-5,-4.149848437908441e-8,-0.0021988868020958604,-4.290728558961128e-5,-4.158266825085552e-8,-0.002198858332636107,-4.30407374421635e-5,-4.1730227888167276e-8,-0.0021987776559889718,-4.320815607531913e-5,-4.191627227789234e-8,-0.0021986383828306827,-4.338394252488224e-5,-4.211255171468341e-8,-0.0021984432617016725,-4.354352417484422e-5,-4.229189520363366e-8,-0.0021982026851288055,-4.366616419637895e-5,-4.243138177200893e-8,-0.002197932987833362,-4.373685585806035e-5,-4.2514400830429825e-8,-0.0021976547873646343,-4.374776948947891e-5,-4.2532145447490745e-8,-0.0021973912163822202,-4.3699666494011446e-5,-4.248507449934088e-8,-0.002197165565964018,-4.360339553726757e-5,-4.238455982416569e-8,-0.0021969976661542537,-4.348102472191013e-5,-4.2254266098886135e-8,-0.0021968986060033643,-4.3365344851824027e-5,-4.212983081364773e-8,-0.002196864488916266,-4.329582521635688e-5,-4.205462845468875e-8,-0.00219687177106506,-4.330950164594914e-5,-4.206983298743024e-8,-0.0021968783763478264,-4.342774012978813e-5,-4.219976819299261e-8,-0.002196833942465688,-4.364410781791684e-5,-4.2438344229764724e-8,-0.0021966974953614438,-4.392134829558463e-5,-4.274547229078794e-8,-0.0021964542822063117,-4.420215324008212e-5,-4.305868573313644e-8,-0.002196122004749595,-4.4429633911088055e-5,-4.3315482134634745e-8,-0.002195743141195934,-4.456667055575025e-5,-4.3474511881865136e-8,-0.0021953688213683063,-4.460502832877005e-5,-4.352567029416044e-8,-0.0021950430896256865,-4.456276883725236e-5,-4.34875261233581e-8,-0.00219479325103675,-4.447456387533459e-5,-4.339707996174946e-8,-0.0021946271302473947,-4.4380500039176534e-5,-4.329781770575668e-8,-0.0021945353071144784,-4.43168589575551e-5,-4.322972528487527e-8,-0.0021944959560133495,-4.4310062852754164e-5,-4.322252177775724e-8,-0.002194480563537203,-4.4373660852183527e-5,-4.32920524953864e-8,-0.0021944595227321863,-4.450786864707432e-5,-4.343945466521452e-8,-0.0021944069506842096,-4.4701191951449525e-5,-4.36527150890374e-8,-0.0021943042180325003,-4.49335617950116e-5,-4.391005375463803e-8,-0.002194141906377647,-4.518027077748843e-5,-4.4184332052663467e-8,-0.0021939201779301136,-4.5416019876788224e-5,-4.444764386522221e-8,-0.002193647790767406,-4.561847347713716e-5,-4.4675332295713537e-8,-0.0021933402416158846,-4.5770915859345256e-5,-4.484892453692752e-8,-0.00219301755709073,-4.586399243241319e-5,-4.495797173896476e-8,-0.0021927019881854267,-4.589680376520009e-5,-4.50011490514789e-8,-0.002192415581968075,-4.587758677189852e-5,-4.498696354861374e-8,-0.002192177416627541,-4.582404354917942e-5,-4.493420418458068e-8,-0.0021920001056428633,-4.576302032079154e-5,-4.487180284605771e-8,-0.0021918853630141493,-4.5728554041258204e-5,-4.483694086387648e-8,-0.0021918193971149852,-4.575678790110061e-5,-4.486962210563871e-8,-0.0021917704552939657,-4.5876737000029106e-5,-4.500249145208053e-8,-0.0021916921793231213,-4.609805171784536e-5,-4.524715951212536e-8,-0.002191535722030832,-4.640085504307758e-5,-4.558273256144663e-8,-0.002191268622527711,-4.673572239421093e-5,-4.5955562378608346e-8,-0.0021908911531643392,-4.703860588774864e-5,-4.6295536372601254e-8,-0.0021904389342049485,-4.725525462149562e-5,-4.654284579454351e-8,-0.0021899688757674282,-4.7361335435271427e-5,-4.667003748796585e-8,-0.002189537217572945,-4.736738240175443e-5,-4.66875152635767e-8,-0.002189182178099598,-4.730905371796731e-5,-4.6633131046491385e-8,-0.0021889175315774733,-4.723144495265606e-5,-4.655539679656418e-8,-0.0021887354256682617,-4.717574835041439e-5,-4.6499184056199204e-8,-0.0021886135162408732,-4.717157179860376e-5,-4.649736314449432e-8,-0.0021885224957076004,-4.723435333698451e-5,-4.656775348526145e-8,-0.002188432196672109,-4.736596568910569e-5,-4.671343301511786e-8,-0.0021883159915355365,-4.755688007918747e-5,-4.69247944722332e-8,-0.002188153797184117,-4.7789060056815985e-5,-4.7182558125506696e-8,-0.0021879339216937933,-4.8039252490120275e-5,-4.7461392605544466e-8,-0.0021876538472704776,-4.828243590852618e-5,-4.773381750934838e-8,-0.002187319992989988,-4.849521912185547e-5,-4.7974061450627616e-8,-0.0021869464613131022,-4.865894024085986e-5,-4.816152081756237e-8,-0.0021865528992877276,-4.87620998684626e-5,-4.828339410490294e-8,-0.0021861618199906937,-4.8801891534619e-5,-4.833627312095251e-8,-0.0021857956854069802,-4.878486309271509e-5,-4.832680892763946e-8,-0.0021854738600616984,-4.8726762987137e-5,-4.8271587194920043e-8,-0.0021852094900030724,-4.86515128943926e-5,-4.8196176656966384e-8,-0.002185006334014698,-4.858914285791343e-5,-4.8133122371377696e-8,-0.0021848556724831675,-4.8572182159752406e-5,-4.8118210423692764e-8,-0.0021847340908449993,-4.862969584851901e-5,-4.818398533821574e-8,-0.0021846040333787834,-4.8778729210677626e-5,-4.835019658202303e-8,-0.0021844197065521583,-4.901477659668526e-5,-4.861300583671992e-8,-0.002184139908137586,-4.9305740268685153e-5,-4.89380239589084e-8,-0.002183745208710712,-4.959578164277363e-5,-4.926436436193073e-8,-0.0021832508778272947,-4.9822400093252296e-5,-4.9523381452495355e-8,-0.0021827054179990426,-4.9940812964766306e-5,-4.9665452368679164e-8,-0.002182172657790118,-4.9941786271621964e-5,-4.967953305482646e-8,-0.0021817074157041024,-4.985220421423567e-5,-4.959386599256073e-8,-0.002181338673865619,-4.9720142395811015e-5,-4.945991919619401e-8,-0.0021810666706533364,-4.9595568980319e-5,-4.933166537295909e-8,-0.0021808703783844,-4.951657478515571e-5,-4.92507832762818e-8,-0.0021807181941960203,-4.950399504420421e-5,-4.924073730655143e-8,-0.0021805769182982548,-4.956218364039945e-5,-4.9307324380953e-8,-0.0021804174795038798,-4.968259370492711e-5,-4.9442212976376634e-8,-0.0021802179110294567,-4.9847836933814006e-5,-4.9627109424267564e-8,-0.002179964670767143,-5.003531159657192e-5,-4.983764252872737e-8,-0.0021796530724134083,-5.0220385609024966e-5,-5.004692161411961e-8,-0.002179287108625143,-5.0379309817940806e-5,-5.0228863268068284e-8,-0.0021788786984716967,-5.049197671212808e-5,-5.0361312329529946e-8,-0.0021784462256297563,-5.054452595703909e-5,-5.04289060225776e-8,-0.0021780122025803136,-5.053151803276535e-5,-5.042538797210063e-8,-0.002177600157916581,-5.045722929573454e-5,-5.035495070136917e-8,-0.0021772310966522526,-5.0335776567875636e-5,-5.023237210708531e-8,-0.002176919902460922,-5.0189932859938544e-5,-5.0081843179902245e-8,-0.00217667207082299,-5.004853269807545e-5,-4.993436120974221e-8,-0.0021764812441906808,-4.994249777622941e-5,-4.982363597059191e-8,-0.0021763280507105863,-4.98996114264398e-5,-4.978052270196503e-8,-0.0021761809437515654,-4.9938185981473035e-5,-4.982603516805561e-8,-0.002176000149806595,-5.006025793450334e-5,-4.9963621703133264e-8,-0.002175745817326205,-5.024622884164902e-5,-5.0172910484799115e-8,-0.002175390157594791,-5.0454365055776456e-5,-5.0408841281164365e-8,-0.002174930337153652,-5.06288459355e-5,-5.061036106903455e-8,-0.002174395353711165,-5.071699644838109e-5,-5.0719362989473973e-8,-0.0021738401034926535,-5.0689679713245726e-5,-5.0703131233504954e-8,-0.0021733265233010663,-5.055363671187018e-5,-5.056794205359903e-8,-0.0021729011128648096,-5.034775070284775e-5,-5.035513085813307e-8,-0.0021725811078602674,-5.012585939427826e-5,-5.012259516349527e-8,-0.0021723547388293137,-4.993700515060601e-5,-4.992354472562844e-8,-0.0021721915116131806,-4.9812811310871116e-5,-4.979285902848771e-8,-0.0021720546749986677,-4.976445626435847e-5,-4.9743630077680485e-8,-0.002171910550591354,-4.978612573658363e-5,-4.977057674929707e-8,-0.0021717334408312126,-4.986073223887547e-5,-4.985593590639394e-8,-0.0021715072056702122,-4.9965197761627746e-5,-4.997503848354697e-8,-0.002171225123681876,-5.007442062639999e-5,-5.010064735726323e-8,-0.0021708891541935235,-5.0164162613396194e-5,-5.020624123144993e-8,-0.002170509011565236,-5.021337352113505e-5,-5.026869269970753e-8,-0.0021701010201165194,-5.020633834079381e-5,-5.027067408474085e-8,-0.002169686481978018,-5.013479660142251e-5,-5.02029350445516e-8,-0.0021692892001323122,-4.999980622314807e-5,-5.006625128102955e-8,-0.002168932022375522,-4.9812758371010945e-5,-4.9872480658075486e-8,-0.002168632724515974,-4.95948957641629e-5,-4.96440934171442e-8,-0.0021683999304833723,-4.9374905475583854e-5,-4.94117279890712e-8,-0.0021682299884622017,-4.9184517024424835e-5,-4.9209644023520306e-8,-0.0021681057683319905,-4.905256550499114e-5,-4.906946354132325e-8,-0.0021679981084059274,-4.899850303697785e-5,-4.901315398366616e-8,-0.0021678702118165865,-4.902660625417457e-5,-4.904654790153962e-8,-0.002167684855459021,-4.912228342329066e-5,-4.915496722137846e-8,-0.002167413675346147,-4.9252117611135175e-5,-4.930287422769272e-8,-0.0021670467328493287,-4.9369236645834006e-5,-4.9439453319941026e-8,-0.0021665991445428225,-4.942457392269512e-5,-4.951084310411176e-8,-0.0021661107109958544,-4.9382031214902844e-5,-4.9476821013151695e-8,-0.0021656359860024264,-4.923205966050717e-5,-4.932584479686643e-8,-0.0021652269664645565,-4.8996524294130615e-5,-4.908058662160895e-8,-0.0021649159058167063,-4.872105249104496e-5,-4.878982557957179e-8,-0.002164706655984438,-4.8458301673946887e-5,-4.8510450968611894e-8,-0.0021645777385677746,-4.825084661063017e-5,-4.8288973195301046e-8,-0.0021644934054848965,-4.812122783466715e-5,-4.81506379139743e-8,-0.0021644159176900527,-4.8071024900689184e-5,-4.809815557247862e-8,-0.0021643141929952214,-4.808594061576428e-5,-4.81168922637752e-8,-0.002164167674411756,-4.814266053659258e-5,-4.818208341414474e-8,-0.0021639667146355628,-4.8214709519840826e-5,-4.8265144796799985e-8,-0.0021637113015193915,-4.8276471408607926e-5,-4.833815104674628e-8,-0.0021634093935051597,-4.8305717497990586e-5,-4.8376751136334334e-8,-0.0021630753860666465,-4.8285336142651836e-5,-4.836216222000512e-8,-0.0021627286667312874,-4.8204863846761885e-5,-4.828283802361071e-8,-0.002162391861482956,-4.8062097732630306e-5,-4.813613888210156e-8,-0.0021620882679398825,-4.786457221389886e-5,-4.792984469758117e-8,-0.0021618381966684985,-4.763020148052184e-5,-4.768283959318655e-8,-0.0021616544721947527,-4.738615688544101e-5,-4.74240049864915e-8,-0.0021615380479013072,-4.716519867376527e-5,-4.718845234479752e-8,-0.002161475302072799,-4.699937039553237e-5,-4.701091284755469e-8,-0.0021614386393250546,-4.6912154688658707e-5,-4.691736184216948e-8,-0.002161391201800069,-4.6911292679655636e-5,-4.691717630397373e-8,-0.002161295075484384,-4.698475296081406e-5,-4.6998506562417824e-8,-0.002161121034202,-4.710162372082691e-5,-4.712886694957854e-8,-0.002160857131367918,-4.7218339997966116e-5,-4.726153824963162e-8,-0.0021605135166616594,-4.728911357216719e-5,-4.734669635449493e-8,-0.002160121614640899,-4.727811102218645e-5,-4.7344670899897986e-8,-0.002159727070259186,-4.71700332472349e-5,-4.72376676723403e-8,-0.002159377681774251,-4.697546153405605e-5,-4.703590761080976e-8,-0.0021591097858532486,-4.672829423936533e-5,-4.677517141941328e-8,-0.002158938074167603,-4.6475408602648845e-5,-4.650582202815821e-8,-0.002158852916009944,-4.626235480050213e-5,-4.627738514230599e-8,-0.002158825801635166,-4.612087538018337e-5,-4.612493766194266e-8,-0.002158819709787541,-4.606270599802699e-5,-4.606214934513943e-8,-0.002158799607308813,-4.608051665422589e-5,-4.6081993496327766e-8,-0.0021587395273344563,-4.615361327504223e-5,-4.616267371658823e-8,-0.002158625286072611,-4.625494118904886e-5,-4.627511694149892e-8,-0.002158453953359905,-4.635691120285143e-5,-4.638936013416345e-8,-0.002158231790057722,-4.643523375110354e-5,-4.647887273854775e-8,-0.002157971911670394,-4.647108233605865e-5,-4.652305041561149e-8,-0.0021576922476335206,-4.6452294121769896e-5,-4.650856384345036e-8,-0.0021574138014324212,-4.637428430326153e-5,-4.6430286990051256e-8,-0.0021571587957101316,-4.624105015071745e-5,-4.629227406134107e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_1.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_1.json new file mode 100644 index 000000000..b4be24167 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_1.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":1000,"numberOfSamples":1000,"samples":[-0.002156948117797158,-4.6066106188504274e-5,-4.610870837852341e-8,-0.0021567976844821175,-4.587262928957953e-5,-4.590411215695837e-8,-0.002156713908245568,-4.569170874283684e-5,-4.5711626484184725e-8,-0.0021566893595621928,-4.555761003533914e-5,-4.5568113732113295e-8,-0.002156700743371349,-4.549983445555494e-5,-4.5505741530892555e-8,-0.0021567115663395065,-4.5533671389188886e-5,-4.5541790676334716e-8,-0.0021566804178876843,-4.5652915406612466e-5,-4.5670622833809834e-8,-0.002156572912636481,-4.582870678241587e-5,-4.58621255953264e-8,-0.0021563728566239655,-4.601620142754535e-5,-4.6068577295811786e-8,-0.0021560880133587525,-4.616711622705171e-5,-4.623794070121091e-8,-0.002155748222189647,-4.62434863816923e-5,-4.6328641438483505e-8,-0.002155396920669294,-4.622782396424562e-5,-4.632067580425877e-8,-0.00215507933393081,-4.612686483113469e-5,-4.621997607570151e-8,-0.0021548310204559523,-4.596856314722607e-5,-4.605556460572259e-8,-0.0021546697448800787,-4.579380803487395e-5,-4.5870948767990285e-8,-0.0021545925009090403,-4.564545026639773e-5,-4.571243253541094e-8,-0.00215457808447119,-4.555777214888923e-5,-4.561767662258407e-8,-0.002154594019620961,-4.554927142265337e-5,-4.560764640929833e-8,-0.002154605368940617,-4.562040509803385e-5,-4.568383677005805e-8,-0.002154582628502511,-4.575613804937631e-5,-4.583074108471704e-8,-0.0021545067042819666,-4.593156748733217e-5,-4.602179515117175e-8,-0.0021543704349080905,-4.6118291920214145e-5,-4.6226298143065905e-8,-0.002154177429419203,-4.628970757896518e-5,-4.64152905393417e-8,-0.0021539395320203554,-4.642448039496704e-5,-4.656547403677698e-8,-0.0021536740325304696,-4.6508347419083976e-5,-4.6661248300741016e-8,-0.002153401212638439,-4.6534852085000904e-5,-4.669548060691322e-8,-0.0021531422886805827,-4.650565883599465e-5,-4.666974436961425e-8,-0.0021529174221249937,-4.6430830311047396e-5,-4.6594529114611347e-8,-0.002152743281384537,-4.632899782380846e-5,-4.648943285318694e-8,-0.0021526297364554913,-4.622682327908873e-5,-4.6382720029024235e-8,-0.0021525757781952213,-4.615665217809799e-5,-4.6309007987320986e-8,-0.0021525657635618595,-4.615111791560906e-5,-4.630363581540198e-8,-0.0021525683606683156,-4.623433111379003e-5,-4.639321479077921e-8,-0.0021525411131787307,-4.641162808298889e-5,-4.658444896551646e-8,-0.00215244181360915,-4.6662730585749126e-5,-4.685650807739798e-8,-0.002152243559761613,-4.69438336830974e-5,-4.716299443903288e-8,-0.0021519463173773905,-4.720028130623982e-5,-4.744536946490242e-8,-0.0021515783140552483,-4.738487646555355e-5,-4.7652539659263205e-8,-0.0021511863195340735,-4.7473012892754915e-5,-4.775714558013054e-8,-0.002150820158632104,-4.74681988823182e-5,-4.7761682951372046e-8,-0.0021505186509381763,-4.739759003524929e-5,-4.769404722497823e-8,-0.002150301454146949,-4.7301602034095665e-5,-4.75967746928141e-8,-0.002150167504080223,-4.722237577724007e-5,-4.751493736774092e-8,-0.0021500984653760494,-4.7194327180898005e-5,-4.7486029043007825e-8,-0.002150065007643072,-4.7238211715320985e-5,-4.753336591146179e-8,-0.002150034011848315,-4.735890504159874e-5,-4.7663329284699034e-8,-0.0021499752813515308,-4.754650144645341e-5,-4.7866189097583804e-8,-0.0021498666614940885,-4.777999559892799e-5,-4.811985529955003e-8,-0.002149696844734374,-4.8032435641353954e-5,-4.8395408706038154e-8,-0.0021494657462589853,-4.8276239272205825e-5,-4.866295866283441e-8,-0.0021491829316347584,-4.848761715432387e-5,-4.8896590036391526e-8,-0.002148864888882999,-4.864954755615883e-5,-4.9077698538029214e-8,-0.002148531969661492,-4.875324012053347e-5,-4.9196590948451486e-8,-0.00214820559302335,-4.879845385417849e-5,-4.925275811633043e-8,-0.0021479058723801398,-4.8793211725869386e-5,-4.9254476683867235e-8,-0.0021476494691693242,-4.875326148772683e-5,-4.921820529983365e-8,-0.0021474473356039884,-4.8701280224926454e-5,-4.916782927985692e-8,-0.002147302025734625,-4.8665427348109735e-5,-4.913330991550414e-8,-0.0021472046146883317,-4.867636961659977e-5,-4.914769826441347e-8,-0.0021471322071707254,-4.8761685544412094e-5,-4.924121019381598e-8,-0.0021470482597085038,-4.893732048233069e-5,-4.943192954490526e-8,-0.002146908584499707,-4.91979967179343e-5,-4.97152190263401E-08,-0.002146674363316176,-4.9511646656850674e-5,-5.0057427768996096e-8,-0.002146328667920062,-4.982422622000098e-5,-5.0400872447169334e-8,-0.0021458875359486144,-5.007688042712524e-5,-5.0682229364308553e-8,-0.002145397011314185,-5.0228379818507437e-5,-5.0856638807463407e-8,-0.0021449161791735768,-5.0270217445764416e-5,-5.091394422090286e-8,-0.002144495917953705,-5.0226434247242504e-5,-5.087865414824122e-8,-0.002144164522903363,-5.01408709895491e-5,-5.079660476566392e-8,-0.002143924532470479,-5.0060878640441164e-5,-5.0717902245852795e-8,-0.002143757959315198,-5.002483607513269e-5,-5.068379162791456e-8,-0.002143634896737234,-5.005585115815337e-5,-5.071984838493151e-8,-0.002143521842854634,-5.0160650756850324e-5,-5.083446444779818e-8,-0.002143388120717485,-5.0331651201626866e-5,-5.102064773664288e-8,-0.002143210184954386,-5.055054311417113e-5,-5.125954074459971e-8,-0.002142974117514982,-5.079251129394976e-5,-5.152482507010141e-8,-0.0021426765074378826,-5.103064468172294e-5,-5.178753018681961e-8,-0.0021423238391256607,-5.124006797853224e-5,-5.202065134245872e-8,-0.002141930651324379,-5.140134181465216e-5,-5.220297342970296e-8,-0.0021415168281439588,-5.150282446702924e-5,-5.2321688446799315e-8,-0.0021411044645297406,-5.154180999406271e-5,-5.237359158139016e-8,-0.0021407148054202576,-5.152449499997826e-5,-5.236496558245039e-8,-0.0021403655678020684,-5.146510002939213e-5,-5.231059043138093e-8,-0.002140068652238457,-5.138444270295482e-5,-5.2232268635753575e-8,-0.002139828133292629,-5.1308028225241545e-5,-5.2156950212399334e-8,-0.002139638422673149,-5.126350568803761e-5,-5.2114230564000163e-8,-0.00213948268691379,-5.1277018333799685e-5,-5.213259191254482e-8,-0.002139332290822501,-5.1367795817320406e-5,-5.223357239670482e-8,-0.0021391489883805194,-5.154098912009453e-5,-5.242383088390882e-8,-0.002138891970010422,-5.1780522562900146e-5,-5.268710604455327e-8,-0.0021385305995390066,-5.20462253084977e-5,-5.2980835455315765e-8,-0.002138059594008942,-5.2280784568316565e-5,-5.324353111816718e-8,-0.002137508049281609,-5.242840674319948e-5,-5.341489927661907e-8,-0.0021369333564798328,-5.245794992558174e-5,-5.3460757754233854e-8,-0.0021364000567887635,-5.237659280739311e-5,-5.338772944526506e-8,-0.0021359554177806913,-5.222499524366457e-5,-5.323816602452792e-8,-0.0021356157132549174,-5.205829004263862e-5,-5.307010206523827e-8,-0.002135367798385966,-5.1925718630202697e-5,-5.293584770307225e-8,-0.0021351802309842655,-5.185853393324863e-5,-5.2869237987871783e-8,-0.002135015709675917,-5.186747116928778e-5,-5.288277568269625e-8,-0.0021348401734937695,-5.194616985504687e-5,-5.2970891829753475e-8,-0.002134627758060293,-5.2076667370690687e-5,-5.311539888620349e-8,-0.002134362664862016,-5.22346501846903e-5,-5.329085053332862e-8,-0.0021340393185033547,-5.2393733389077045e-5,-5.3469096840437146e-8,-0.002133661644592146,-5.252894430972528e-5,-5.362316413179043e-8,-0.0021332416919183183,-5.2619642849676823e-5,-5.373058405670703e-8,-0.002132797639105352,-5.265187989316952e-5,-5.377605953151373e-8,-0.00213235123299873,-5.262008658853691e-5,-5.3753301407695094e-8,-0.0021319247547086106,-5.252787431710746e-5,-5.366582385721862e-8,-0.002131537812166341,-5.2387711692295135e-5,-5.3526527141880856e-8,-0.002131204386649835,-5.221948578729788e-5,-5.335616249926751e-8,-0.002130930436840616,-5.204813499564776e-5,-5.3180922715721016e-8,-0.0021307122475242276,-5.190051666082856e-5,-5.3029303636494595e-8,-0.002130535691096194,-5.1801663288743484e-5,-5.2928303953712826e-8,-0.002130376577415983,-5.1770519389418736e-5,-5.289893815879023e-8,-0.0021302025383327134,-5.1815158911048855e-5,-5.2950976313991277e-8,-0.002129977378036466,-5.192792796725971e-5,-5.3077407334747964E-08,-0.0021296688087945386,-5.208214555192072e-5,-5.325050928388623e-8,-0.0021292592998348823,-5.2233329336141494e-5,-5.342289782969275e-8,-0.002128757014872047,-5.2328224363975537e-5,-5.353718707965699e-8,-0.0021282003685288873,-5.232211388239153e-5,-5.354471701182651e-8,-0.0021276495587692528,-5.219820202071707e-5,-5.342650421322242e-8,-0.002127165444777017,-5.1977374748586926e-5,-5.32037987462269e-8,-0.002126786408919701,-5.1710339300552144e-5,-5.292980367635397e-8,-0.0021265166937946525,-5.145633618560855e-5,-5.2667177244896215e-8,-0.00212633105580082,-5.126167160748416e-5,-5.246538067689548e-8,-0.002126189328271234,-5.114869660600918e-5,-5.234897812409529e-8,-0.0021260510373621883,-5.111638783278097e-5,-5.231801132895357e-8,-0.002125884513579751,-5.114733030685652e-5,-5.235503053809026e-8,-0.0021256702248682435,-5.121572331910457e-5,-5.243327665430199e-8,-0.002125400455812279,-5.1293642979333694e-5,-5.252321996716058e-8,-0.0021250775059338096,-5.1355096043385815e-5,-5.259696904862907e-8,-0.0021247116610059085,-5.1378537621995244e-5,-5.2631164024147827e-8,-0.0021243192352671083,-5.134861185069034e-5,-5.2609026267915535e-8,-0.002123920533294502,-5.125749504161394e-5,-5.252187717870801e-8,-0.002123537513917045,-5.1105899487825944e-5,-5.237017732952232e-8,-0.0021231909824004935,-5.0903510148269925e-5,-5.21639052525058e-8,-0.002122897386272381,-5.066840160744641e-5,-5.192188374186477e-8,-0.0021226656718111524,-5.042508933637542e-5,-5.166975788992617e-8,-0.002122494839571998,-5.0201204525872756e-5,-5.143662126873064e-8,-0.0021223728064571974,-5.002307532138799e-5,-5.125052539179263e-8,-0.002122277063662247,-4.9910792187481684e-5,-5.1133373559448276e-8,-0.002122177350465051,-4.9873571668336e-5,-5.1095958839310544e-8,-0.002122040271899325,-4.990621895883855e-5,-5.113395766297128e-8,-0.002121835670220407,-4.998749569171908e-5,-5.122580454826739e-8,-0.002121544289358671,-5.008151805352115e-5,-5.133380683137773e-8,-0.0021211653940700756,-5.0143498952941705e-5,-5.141007127166793e-8,-0.0021207216447338448,-5.0130441492102875e-5,-5.1407976149345016e-8,-0.002120257496141451,-5.001520456175847e-5,-5.1297441102601807e-8,-0.002119828397979043,-4.9798850489622e-5,-5.107840402680578e-8,-0.0021194826754195456,-4.9513892869127156e-5,-5.078451782729881e-8,-0.002119244086201465,-4.921409445932999e-5,-5.0472444375840066e-8,-0.0021191046402436534,-4.8954748273117716e-5,-5.0200988226733736e-8,-0.002119031138708923,-4.8773978554723135e-5,-5.001124485406591e-8,-0.002118980101862301,-4.8684026206295004e-5,-4.991720030835334e-8,-0.00211891220827597,-4.867379334879302e-5,-4.990812813538284e-8,-0.0021188006530865576,-4.8717674424215837e-5,-4.9957631878584515e-8,-0.0021186330805224884,-4.878489183979079e-5,-5.003335885442783e-8,-0.002118409606923484,-4.8846210672363946e-5,-5.010414572430475e-8,-0.0021181395569648243,-4.887764161794287e-5,-5.0144131459874775e-8,-0.002117838428140765,-4.8862089859800686e-5,-5.013472762586503e-8,-0.0021175254797301053,-4.87900395563563e-5,-5.006548391793509e-8,-0.0021172217039225403,-4.865995177280172e-5,-4.9934517707598465e-8,-0.0021169477453683006,-4.8478584561881674e-5,-4.9748766630150475e-8,-0.002116721392799632,-4.8261007717598124e-5,-4.952391111144196e-8,-0.00211655455107997,-4.802973321358578e-5,-4.928344153787555e-8,-0.002116450096966629,-4.781233066898358e-5,-4.9056238260434893e-8,-0.0021163995074253497,-4.763723300556185e-5,-4.88723175000772e-8,-0.00211638238176434,-4.752806896211847e-5,-4.8757005535652654e-8,-0.0021163687749273766,-4.749765415455074e-5,-4.872463016284184e-8,-0.0021163245129189124,-4.75433801208055e-5,-4.8773504423959966e-8,-0.0021162186131261293,-4.7645689733550204e-5,-4.888400543678275e-8,-0.0021160311239636605,-4.7770598620135224e-5,-4.902087037517744e-8,-0.0021157594156345004,-4.787624496808221e-5,-4.913984622203423e-8,-0.0021154210653734945,-4.792249771712643e-5,-4.919779498322852e-8,-0.0021150518661444766,-4.788171611098116e-5,-4.916427157162084e-8,-0.0021146983037815758,-4.774784549571525e-5,-4.903151581702451e-8,-0.0021144054214774677,-4.754043449876239e-5,-4.881909664190108e-8,-0.002114203335655032,-4.730071511555959e-5,-4.857004998709531e-8,-0.0021140976257717674,-4.7079605315396366e-5,-4.8338297363515245e-8,-0.002114068243449401,-4.6921741162987395e-5,-4.817168920274723e-8,-0.0021140776517754515,-4.685238849929127e-5,-4.8097948508555413e-8,-0.002114084019446718,-4.6872596236596724e-5,-4.81192411375788e-8,-0.002114053227237637,-4.6963141965845496e-5,-4.821604606694751e-8,-0.002113965448400426,-4.7093502898033734e-5,-4.8356449951288814e-8,-0.0021138158726727416,-4.7231060835115885e-5,-4.8505867927921634e-8,-0.0021136117434029157,-4.73475915439524e-5,-4.863405741638106e-8,-0.002113368243224607,-4.742253450655109e-5,-4.8718797175518944e-8,-0.0021131048107557887,-4.7443958322278066e-5,-4.874708212682086e-8,-0.002112842390293642,-4.740840058984932e-5,-4.87150037508711e-8,-0.002112601402461571,-4.732044050097083e-5,-4.8627229494421786e-8,-0.002112399898104981,-4.71923458598116e-5,-4.84965171325286e-8,-0.0021122513870208202,-4.7043586695278016e-5,-4.834314259144425e-8,-0.002112162155506463,-4.689959768605062e-5,-4.8193650389836864e-8,-0.0021121284044120486,-4.678902511400128e-5,-4.807810872069021e-8,-0.002112134192586928,-4.6738909755118304e-5,-4.802520783954363e-8,-0.002112151736011111,-4.676805674809973e-5,-4.8055358790222776e-8,-0.0021121455008559073,-4.68802207502431e-5,-4.8173435647070684e-8,-0.002112080244306887,-4.705993268071947e-5,-4.8364140938563196e-8,-0.0021119310664213338,-4.727368018370931e-5,-4.8592931302070324e-8,-0.002111691895111901,-4.747730114612249e-5,-4.881352739322071e-8,-0.0021113788749667064,-4.7627699607907756e-5,-4.898012188224292e-8,-0.00211102704677318,-4.7694954771803144e-5,-4.9060201272908396e-8,-0.002110681352249585,-4.767075494556609e-5,-4.90436883734857e-8,-0.002110384874318121,-4.7570663804349934e-5,-4.894570849816082e-8,-0.0021101677401916797,-4.7429813825341904e-5,-4.8802430880724736e-8,-0.002110039696581039,-4.729335730533683e-5,-4.866125590022362e-8,-0.0021099884072854364,-4.7204358850854926e-5,-4.8568084600913465e-8,-0.002109983945387274,-4.7192708949043166e-5,-4.855543459993911e-8,-0.0021099879117350232,-4.726846620998511e-5,-4.863507382826351e-8,-0.0021099639576379094,-4.7421428985429237e-5,-4.879720662545984e-8,-0.0021098861854816123,-4.7626298326830003e-5,-4.901567331796005e-8,-0.002109743186109511,-4.7850789510772105e-5,-4.9256450069474826e-8,-0.002109537586825893,-4.8063526347891254e-5,-4.948609768053289e-8,-0.002109282655958739,-4.8239580975826655e-5,-4.967782243823404e-8,-0.0021089979409871034,-4.8363148343395243e-5,-4.981449771751667e-8,-0.002108705341277884,-4.8427999229028034e-5,-4.988923858233261e-8,-0.002108426170116319,-4.843672757019664e-5,-4.990457813568429e-8,-0.0021081790939703336,-4.8399655340769195e-5,-4.987120855545762e-8,-0.002107978462340765,-4.8333815691984267e-5,-4.98068240380907e-8,-0.0021078325085235445,-4.8261883157006745e-5,-4.973500790876879e-8,-0.002107741182028866,-4.8210487087105704e-5,-4.968358842430621e-8,-0.0021076938773007476,-4.820714020935879e-5,-4.9681591379790985e-8,-0.0021076680383246907,-4.827513281127266e-5,-4.975399170959863e-8,-0.002107630376401887,-4.842654419791798e-5,-4.991432609044488e-8,-0.0021075425159545343,-4.865523284848443e-5,-5.015711147352186e-8,-0.0021073713272879244,-4.893349928726431e-5,-5.045403692151433e-8,-0.002107101054149504,-4.921621165090497e-5,-5.075804312180078e-8,-0.00210674158544731,-4.9453141274911964e-5,-5.1016160495136004e-8,-0.0021063277292051657,-4.960526660686225e-5,-5.1186657637328415e-8,-0.0021059088236712936,-4.965767137535703e-5,-5.1252729209342855e-8,-0.002105533355710234,-4.962333434846008e-5,-5.122672710022117e-8,-0.002105235298687669,-4.953725574759237e-5,-5.114433301511661e-8,-0.0021050267301768173,-4.9444765358431426e-5,-5.105262008384059e-8,-0.0021048975954977385,-4.938895653500951e-5,-5.099704564916817e-8,-0.0021048209457205044,-4.940083264676395e-5,-5.1011036159970786e-8,-0.0021047611320736954,-4.9493878141675046e-5,-5.110997819652719e-8,-0.0021046825545899023,-4.9663315734863536e-5,-5.1290024568352304e-8,-0.002104557033149279,-4.98893453161492e-5,-5.1531150434198844e-8,-0.0021043684802190066,-5.0143026698940785e-5,-5.1803180748147716e-8,-0.002104114312419352,-5.0393089164750924e-5,-5.2073008844431506e-8,-0.0021038039107087792,-5.0611974369170696e-5,-5.2311154609061635e-8,-0.002103455142864527,-5.077997300985246e-5,-5.249634587215205e-8,-0.0021030901973043527,-5.088713159052434e-5,-5.261767665298347e-8,-0.002102731754757487,-5.093327497583167e-5,-5.2674658453290784e-8,-0.002102400038249737,-5.0926853473763044e-5,-5.267593710089334e-8,-0.002102110741705476,-5.088333895282607e-5,-5.2637516149960456e-8,-0.002101873489403106,-5.08235740242651e-5,-5.2580999673824274e-8,-0.0021016904381226816,-5.07720385838116e-5,-5.2531862498246874e-8,-0.0021015548084289933,-5.0754644122074386e-5,-5.2517309070279127e-8,-0.002101449525764805,-5.079541727592946e-5,-5.256294807274047e-8,-0.002101346863688587,-5.091147619245311e-5,-5.268753767417356e-8,-0.0021012107625705593,-5.110647842638639e-5,-5.2895930277749896e-8,-0.0021010036231113496,-5.1364431323432054e-5,-5.317225671965255e-8,-0.0021006978474307205,-5.164780092740599e-5,-5.347763770609452e-8,-0.0021002887607210427,-5.1904283966139336e-5,-5.3757151991875933e-8,-0.0020998017811831972,-5.2082983385010847e-5,-5.3956856249473105e-8,-0.002099287305051419,-5.2153786677272464e-5,-5.404424493360183e-8,-0.002098803714303415,-5.211938886395136e-5,-5.402099729340937e-8,-0.0020983970909576486,-5.201310176200273e-5,-5.392087032373497e-8,-0.0020980879471518285,-5.1884788106360025e-5,-5.379525398388802e-8,-0.0020978694594535633,-5.178355560077695e-5,-5.3695353664609535e-8,-0.0020977146033212875,-5.1744897802943776e-5,-5.3658858151211176e-8,-0.0020975867206337855,-5.17850538647107e-5,-5.370387698001164e-8,-0.002097449252174256,-5.1901448471996434e-5,-5.382901325735156e-8,-0.0020972727165282454,-5.2076755488728516e-5,-5.4017187239652266e-8,-0.002097038679265766,-5.228448053746355e-5,-5.424119501315798e-8,-0.002096741115512614,-5.2494770950254756e-5,-5.446974146690214e-8,-0.0020963856479537316,-5.267968073580639e-5,-5.467310941300608e-8,-0.0020959871806476727,-5.281730553664611e-5,-5.482773870037851e-8,-0.002095566547851664,-5.2894425618154075e-5,-5.49192091763326e-8,-0.0020951467983804607,-5.2907580747666326e-5,-5.494346629557186e-8,-0.0020947496865052926,-5.2862703551995284e-5,-5.490641407062349e-8,-0.00209439283463895,-5.277366064911636e-5,-5.482230500560337e-8,-0.002094087719578533,-5.266022168051224e-5,-5.471156076175677e-8,-0.0020938383034884785,-5.2545818362760925e-5,-5.459846822588298e-8,-0.00209364009071615,-5.245512424241938e-5,-5.4508786421523974e-8,-0.002093479524987209,-5.241128303972207e-5,-5.4467015989831044e-8,-0.002093333866675805,-5.243244496307399e-5,-5.449285675295966e-8,-0.002093172238328941,-5.25272454837531e-5,-5.459637339444828e-8,-0.002092959192295158,-5.2689536740216397e-5,-5.47721861308031e-8,-0.002092662162437497,-5.289419192472436e-5,-5.4994709404817255e-8,-0.002092262731012093,-5.3097515495686634e-5,-5.5218327291160634e-8,-0.0020917682925749906,-5.3246152076680836e-5,-5.5386719323868286e-8,-0.0020912168729252238,-5.32948950916572e-5,-5.5451705931345774e-8,-0.00209066831104737,-5.322638039161152e-5,-5.539407826225248e-8,-0.002090182976448214,-5.306061034027742e-5,-5.523368866112795e-8,-0.0020897991792229852,-5.2847036022818596e-5,-5.502129784760488e-8,-0.0020895220312050072,-5.264403046194828e-5,-5.481735951820511e-8,-0.002089327651578887,-5.2498344531242285e-5,-5.4670817165440435e-8,-0.002089176601984936,-5.243402752975581e-5,-5.46075905285881e-8,-0.002089027832962104,-5.2451886161662154e-5,-5.462976227025945e-8,-0.002088848145979607,-5.253524957931374e-5,-5.4721159636310425e-8,-0.002088616519163286,-5.265749417095675e-5,-5.485481113266398e-8,-0.0020883247601802828,-5.278870213189013e-5,-5.499971074275159e-8,-0.0020879761659435914,-5.290068935685728e-5,-5.512613172786507e-8,-0.002087583221816599,-5.297058683962383e-5,-5.520959628157752e-8,-0.002087164777385674,-5.29832296796577e-5,-5.5233626895864976e-8,-0.002086742950109644,-5.2932455223265686e-5,-5.519126877302781e-8,-0.002086339956581604,-5.282138748957507e-5,-5.508542075950947e-8,-0.0020859750527439137,-5.266171847400609e-5,-5.492801945295256e-8,-0.0020856618891764334,-5.247200185689632e-5,-5.4738177469182e-8,-0.0020854066000901466,-5.227520696881749e-5,-5.453962120190033e-8,-0.0020852067040709943,-5.209587655834655e-5,-5.4357819901512334e-8,-0.002085050761531667,-5.19570440334916e-5,-5.421693100956444e-8,-0.0020849188250382576,-5.187695475340274e-5,-5.4136513752244604e-8,-0.0020847838283227895,-5.1865633386018315e-5,-5.4127943797766366e-8,-0.002084614302700284,-5.192134366393279e-5,-5.4190517439071605e-8,-0.002084379177216386,-5.202743147570318e-5,-5.4307801867957737e-8,-0.0020840552632532838,-5.2151132764179095e-5,-5.444603412637725e-8,-0.0020836367229090016,-5.2246983387897786e-5,-5.4557508305702125e-8,-0.0020831432642481086,-5.226727446908682e-5,-5.45915998704627e-8,-0.00208262110484632,-5.217892051956154e-5,-5.451267651801983e-8,-0.0020821314693878165,-5.1979995231158984e-5,-5.4317639028435655e-8,-0.002081728580818981,-5.170500269403149e-5,-5.404156653193917e-8,-0.0020814384597434145,-5.1412711832119855e-5,-5.374512512192592e-8,-0.0020812512548079114,-5.1162601970100065e-5,-5.349017232141276e-8,-0.0020811301739922143,-5.0993981576040526e-5,-5.331814200443522e-8,-0.0020810288964036128,-5.091778800135395e-5,-5.324144113486929e-8,-0.0020809068797548306,-5.0920708246115815e-5,-5.324742058440525e-8,-0.002080737412895719,-5.0975044648063965e-5,-5.330822538299496e-8,-0.0020805090765344805,-5.104836915559959e-5,-5.339054776415609e-8,-0.0020802235105041346,-5.111032019083676e-5,-5.3462654102947513e-8,-0.0020798920087048986,-5.113645247824958e-5,-5.349856905196274e-8,-0.0020795322310856322,-5.111013067736273e-5,-5.3480319452971573e-8,-0.002079165270330489,-5.102337145825212e-5,-5.339903379738613e-8,-0.002078812929807196,-5.0877027322918444e-5,-5.325522084868336e-8,-0.0020784951021789507,-5.0680399754512935e-5,-5.3058323468374344e-8,-0.0020782272019827155,-5.0450194248135284e-5,-5.2825530483115977E-08,-0.002078017796904138,-5.020860124030872e-5,-5.257971627504764e-8,-0.002077866846658982,-4.998045829403398e-5,-5.234652763334412e-8,-0.002077764949227266,-4.9789769777337244e-5,-5.215090293742938e-8,-0.002077693796213007,-4.96559598259346e-5,-5.201333928555749e-8,-0.002077627945643406,-4.959024266445353e-5,-5.1946199184189877e-8,-0.0020775379573369774,-4.959258117963107e-5,-5.1950458272378425e-8,-0.002077394847759163,-4.964972754567608e-5,-5.20133946027985e-8,-0.0020771757956997636,-4.973494898228385e-5,-5.2107934240242226e-8,-0.0020768707597667575,-4.981047198397003e-5,-5.21948928946358e-8,-0.002076488719453658,-4.9833950263944744e-5,-5.222962698296795e-8,-0.0020760607752435137,-4.976947981592237e-5,-5.217368787144459e-8,-0.0020756363255762,-4.960119521007246e-5,-5.2009327355383566e-8,-0.0020752699804712604,-4.934370262592132e-5,-5.175068444401802e-8,-0.002075002258206543,-4.904167747827994e-5,-5.144355599514386e-8,-0.002074843505137487,-4.875527236421879e-5,-5.115030112001243e-8,-0.002074770885112081,-4.85375576824606e-5,-5.092642497342114e-8,-0.0020747400769557814,-4.841647775431193e-5,-5.080178737543361e-8,-0.00207470360549399,-4.839002227744564e-5,-5.077538800998163e-8,-0.0020746254988324455,-4.843356303392952e-5,-5.082265162308837e-8,-0.002074487411936633,-4.8512066229528486e-5,-5.090778965666528e-8,-0.002074287589063454,-4.8590652566310444e-5,-5.099462507142112e-8,-0.0020740364229402913,-4.864094211986411e-5,-5.105327235216716e-8,-0.0020737516117730406,-4.864364377231825e-5,-5.1063071939584795e-8,-0.0020734542779023923,-4.858893563414716e-5,-5.101324060777878e-8,-0.0020731661303226793,-4.847596434842968e-5,-5.090249495797251e-8,-0.0020729072209830705,-4.831209437291138e-5,-5.073826475982897e-8,-0.002072693884949742,-4.81119863715466e-5,-5.053563043378728e-8,-0.0020725366574624164,-4.789627336170478e-5,-5.031584456326077e-8,-0.002072438244777095,-4.76894406001386e-5,-5.0104114550785046e-8,-0.0020723920062757552,-4.751664405123388e-5,-4.992640119935618e-8,-0.002072381620741844,-4.7399626029792626e-5,-4.980535122260885e-8,-0.002072382493146707,-4.735231857382114e-5,-4.975587690759763e-8,-0.002072365126038206,-4.737703392101369e-5,-4.9781211913094104e-8,-0.0020723002115636837,-4.746229500170882e-5,-4.987048608611002e-8,-0.002072164686144449,-4.758318793891755e-5,-4.9998772052492005e-8,-0.0020719476479477516,-4.7704672733856255e-5,-5.0130175273880784e-8,-0.0020716548762382742,-4.778785681354576e-5,-5.0224127220180263E-08,-0.002071310506859259,-4.779875995902617e-5,-5.0244500497020163e-8,-0.0020709542977483263,-4.7718213318121765e-5,-5.017014103512715e-8,-0.002070633392768585,-4.755018007788747e-5,-5.0003890279004845e-8,-0.0020703892518739446,-4.7324560969728754e-5,-4.9775852540256276e-8,-0.002070243556064142,-4.709095642120351e-5,-4.953713265926498e-8,-0.002070189582318923,-4.690347790577672e-5,-4.93441179578025e-8,-0.002070194443298303,-4.6802416516879245e-5,-4.9239360290252976e-8,-0.002070211781957937,-4.680166452708117e-5,-4.923831183218621e-8,-0.0020701982102484394,-4.688757653287808e-5,-4.9327848095478144e-8,-0.0020701254502533,-4.702784331254064e-5,-4.947517696147768e-8,-0.002069984310820259,-4.718405080239909e-5,-4.9640685225447364e-8,-0.002069781881963152,-4.732196406548829e-5,-4.978861540585559e-8,-0.002069535727065262,-4.741708010271714e-5,-4.989300757237092e-8,-0.0020692682062174064,-4.7456088345065395e-5,-4.993946266170168e-8,-0.0020690022999483347,-4.743604483466135e-5,-4.9924473337753236e-8,-0.0020687589325963695,-4.736278778201662e-5,-4.9853830021207306e-8,-0.0020685552095647745,-4.724938104372905e-5,-4.9740931313843226e-8,-0.0020684029471759965,-4.7114721697835956e-5,-4.9605222607596616e-8,-0.002068307113632894,-4.698198596032385e-5,-4.9470525465095644e-8,-0.002068264210735056,-4.6876359384872586e-5,-4.936274057243991e-8,-0.0020682611085878133,-4.682161851644506e-5,-4.930645763105391e-8,-0.002068275207205279,-4.683559588593652e-5,-4.932042167102954e-8,-0.002068276840995726,-4.692525626768796e-5,-4.941250393336782e-8,-0.0020682343681795467,-4.708286526062035e-5,-4.9575641749325084e-8,-0.002068121336074826,-4.728509807584928e-5,-4.9786665145860586e-8,-0.002067923897843404,-4.7496385865671217e-5,-5.0009436305109905e-8,-0.0020676460373650566,-4.7676378285878495e-5,-5.0202301586995866e-8,-0.0020673105644500745,-4.77898332491647e-5,-5.032822287464823e-8,-0.002066955050994269,-4.781625324925658e-5,-5.036486940750825e-8,-0.0020666233471462645,-4.7756464778773514e-5,-5.0311739548860085e-8,-0.002066354580310086,-4.763398187934115e-5,-5.0191974764700023E-08,-0.0020661724200392493,-4.7490128745401975e-5,-5.004766473653001e-8,-0.0020660778693884388,-4.737345115377653e-5,-4.9929071504630356e-8,-0.002066048524221078,-4.732603099287772e-5,-4.9880421809209325e-8,-0.0020660453797246812,-4.737129330364156e-5,-4.992704483799921e-8,-0.0020660250285791494,-4.7508085193365105e-5,-5.006889477610717e-8,-0.0020659523841825966,-4.7713206060515434e-5,-5.028283650859611e-8,-0.0020658090029066624,-4.795053885650078e-5,-5.053188956294247e-8,-0.002065594771846483,-4.818222569886375e-5,-5.0776768516938594e-8,-0.002065324117375244,-4.837752105633615e-5,-5.0985184294608874e-8,-0.002065019767433622,-4.851728875182688e-5,-5.1136723525022014e-8,-0.0020647068446275245,-4.8594594783670716e-5,-5.1223668798557995e-8,-0.0020644086381638085,-4.861304972472082e-5,-5.124938607964203e-8,-0.002064144097864555,-4.8584434676873395e-5,-5.122584536957933e-8,-0.002063926468637026,-4.852647936788248e-5,-5.1171225339119544e-8,-0.0020637623786124806,-4.846100605905334e-5,-5.11079143446867e-8,-0.0020636508879348973,-4.841213269692522e-5,-5.106066445180714e-8,-0.002063582435238546,-4.8403934845334516e-5,-5.1054290024565175e-8,-0.002063538168965467,-4.8457018960260466e-5,-5.1110281108115146e-8,-0.002063490642966396,-4.858388401565267e-5,-5.12421042751145e-8,-0.002063407082221286,-4.8783799285689586e-5,-5.144985988199522e-8,-0.0020632559577338995,-4.9039126710606216e-5,-5.1716281192541857e-8,-0.0020630160427410785,-4.931581340272001e-5,-5.200696102828744e-8,-0.002062684941410063,-4.95699691789468e-5,-5.2276889335559116e-8,-0.0020622829172062315,-4.9759696099219955e-5,-5.2482526161209284e-8,-0.0020618491854511264,-4.9858113731482825e-5,-5.259526114699326e-8,-0.0020614313126430684,-4.98622055714111e-5,-5.261072103110058e-8,-0.0020610717124268244,-4.979388598943105e-5,-5.255018976438976e-8,-0.00206079622917913,-4.9693307260769264e-5,-5.2454091838812215e-8,-0.002060608259750969,-4.960738794563041e-5,-5.2370482519734586e-8,-0.0020604893759882652,-4.957747244117635e-5,-5.234243575739418e-8,-0.0020604054583355405,-4.962944279368117e-5,-5.239769021503708e-8,-0.00206031622426224,-4.976850689463904e-5,-5.254290844467591e-8,-0.0020601854537221713,-4.997959938080869e-5,-5.276367005121703e-8,-0.002059989171420568,-5.0232827495872717e-5,-5.3029781808228276e-8,-0.0020597197607184654,-5.049196909900188e-5,-5.330394627200139e-8,-0.002059385412596773,-5.0723251719086136e-5,-5.35509256812709e-8,-0.002059005920337264,-5.0901931837912855e-5,-5.374455696877302e-8,-0.0020586068325025636,-5.1015438910330984e-5,-5.387122879648511e-8,-0.0020582139353274493,-5.106332394108202e-5,-5.3929977985066915e-8,-0.0020578492211639973,-5.105516573900859e-5,-5.3930358175955645e-8,-0.002057528552028513,-5.100771436745336e-5,-5.388943054436595e-8,-0.0020572605931187234,-5.094215881551009e-5,-5.382886471043966e-8,-0.0020570463828137086,-5.088182315066045e-5,-5.3772543032440546e-8,-0.0020568790450358394,-5.0850080664488783e-5,-5.3744486331419684e-8,-0.0020567435004348058,-5.086799254343324e-5,-5.376655829843546e-8,-0.0020566165172875277,-5.0951144908211624e-5,-5.38553140117008e-8,-0.002056468009873697,-5.1105440079060466e-5,-5.40176449522486e-8,-0.002056264887091375,-5.13224346701609e-5,-5.4245796040435814e-8,-0.0020559784072281106,-5.157623756835036e-5,-5.451389058844007e-8,-0.0020555942713637253,-5.1825209665744814e-5,-5.4779432398487804e-8,-0.0020551217432332926,-5.202108670480498e-5,-5.4992587084446835e-8,-0.002054595971680873,-5.212442299521637e-5,-5.511211091620739e-8,-0.002054069540827032,-5.212000715115373e-5,-5.51213256728815e-8,-0.0020535954582683582,-5.202381128623128e-5,-5.503543356010499e-8,-0.002053209667556904,-5.187728707364314e-5,-5.48959111155173e-8,-0.002052921320923942,-5.1732422490422854e-5,-5.4755490408141264e-8,-0.0020527136286440546,-5.163540619096735e-5,-5.466165472016251e-8,-0.002052552370246584,-5.16152962902263e-5,-5.464504010682952e-8,-0.002052397089200715,-5.167979779085585e-5,-5.471483931427527e-8,-0.0020522111175157827,-5.1817015362214554e-5,-5.4860156203498216e-8,-0.002051968552414977,-5.200091488002448e-5,-5.505518884494557e-8,-0.002051657757119859,-5.219838699551085e-5,-5.5266251947721564e-8,-0.0020512816489339715,-5.237636228823249e-5,-5.5459107581815276e-8,-0.0020508553095427784,-5.2507832957142995e-5,-5.5605365688318714e-8,-0.0020504017421625635,-5.2575890404729004e-5,-5.568690921630114e-8,-0.002049946887543557,-5.257533993074332e-5,-5.5697769382127575e-8,-0.002049514984834118,-5.251207506856239e-5,-5.5643570315387093e-8,-0.0020491250330573053,-5.240083953067565e-5,-5.553919797775131e-8,-0.0020487886736325817,-5.226219084775036e-5,-5.540559549606092e-8,-0.002048509350314085,-5.211942672300324e-5,-5.526655233827838e-8,-0.0020482822912756475,-5.1995876311308334e-5,-5.514595440180733e-8,-0.0020480948969156336,-5.191250486751777e-5,-5.506543751527602e-8,-0.0020479273660762303,-5.188554270222557e-5,-5.5042078174011434e-8,-0.002047753716271682,-5.19237834715236e-5,-5.5085654827554707e-8,-0.002047543853386551,-5.202532476066097e-5,-5.5195172880639046e-8,-0.0020472677925593256,-5.2174216124140644e-5,-5.535514660858792e-8,-0.002046902870774027,-5.2338771760351975e-5,-5.553355877045675e-8,-0.0020464432837271392,-5.247451873274851e-5,-5.568470840459575e-8,-0.0020459084093877532,-5.253449204712567e-5,-5.575981860047395e-8,-0.002045343640214381,-5.2486027294355265e-5,-5.5724461720487053e-8,-0.002044808785656605,-5.2326853813685626e-5,-5.557525555895152e-8,-0.002044356731611969,-5.208986005362827e-5,-5.534487592771635e-8,-0.002044013525552351,-5.183141847200364e-5,-5.5090255370018856e-8,-0.002043771226817781,-5.160953417781544e-5,-5.48704621303244e-8,-0.0020435956589243583,-5.1464429347744986e-5,-5.472704260792385e-8,-0.0020434418674889353,-5.1410036594933055e-5,-5.4675282541850294e-8,-0.0020432684427998627,-5.14362548539681e-5,-5.470618039648655e-8,-0.0020430462096218717,-5.1516940304592496e-5,-5.4794150517663037e-8,-0.0020427612302023604,-5.161886518563504e-5,-5.490581755587025e-8,-0.002042413976632722,-5.170911019925943e-5,-5.50074620408479e-8,-0.0020420165420526716,-5.1760253982835196e-5,-5.5070471238764245e-8,-0.0020415890123641396,-5.1753638794210315e-5,-5.507496856439569e-8,-0.002041155494939975,-5.168102371657047e-5,-5.501178570621877e-8,-0.0020407401651533347,-5.154474405169965e-5,-5.488278817879703e-8,-0.0020403637204026146,-5.135653343018677e-5,-5.4699684377973364e-8,-0.002040040576882192,-5.113526412477106e-5,-5.448162890443747e-8,-0.002039777091455139,-5.09039490226065e-5,-5.425206240270826e-8,-0.0020395709362431877,-5.068649756636404e-5,-5.4035371776647424e-8,-0.002039411459954195,-5.050467571637247e-5,-5.385385724355181e-8,-0.002039280756574348,-5.037542727193322e-5,-5.372512326084712e-8,-0.0020391552857087123,-5.030852534711591e-5,-5.365977061904039e-8,-0.0020390080427771986,-5.030447590753775e-5,-5.365921376204627e-8,-0.002038811568452725,-5.0352607930303213e-5,-5.3713516384989046e-8,-0.0020385424324039243,-5.042973944197244e-5,-5.379970190700536e-8,-0.0020381875739485158,-5.050077044952324e-5,-5.388206675784495e-8,-0.0020377516616928775,-5.052330199125621e-5,-5.391680200972993e-8,-0.0020372625651711995,-5.045802416725423e-5,-5.386277190055731e-8,-0.0020367698775526524,-5.028392416035833e-5,-5.3697376840582164e-8,-0.0020363321435952564,-5.001196000452072e-5,-5.34308014077663e-8,-0.0020359951521852593,-4.968703486004547e-5,-5.310816086035136e-8,-0.0020357726478473404,-4.937288418461528e-5,-5.279414480895378e-8,-0.0020356419556401216,-4.9126855995544544e-5,-5.2547399322285394e-8,-0.002035556684070434,-4.897959533240644e-5,-5.2399885499866514e-8,-0.0020354668174017705,-4.892970414356411e-5,-5.2351307750795756e-8,-0.0020353344578759418,-4.8951698867931034e-5,-5.237686688565701e-8,-0.0020351402813209166,-4.900893595997211e-5,-5.2440021527677685e-8,-0.0020348825479860966,-4.906468718670452e-5,-5.250353037457378e-8,-0.0020345726105927375,-4.908894182699448e-5,-5.253641005057569e-8,-0.002034229863541913,-4.906144649731033e-5,-5.251727392128725e-8,-0.002033877432711455,-4.897243922319491e-5,-5.2435389666249733e-8,-0.002033538711092817,-4.882223756648143e-5,-5.2290488844127926e-8,-0.002033234470164266,-4.8620156756388854e-5,-5.2091736421230884e-8,-0.0020329804185158853,-4.838285072517303e-5,-5.185597492180308e-8,-0.0020327852353072594,-4.813206614562613e-5,-5.160531630998899e-8,-0.002032649254192641,-4.789178910703803e-5,-5.136415864036497e-8,-0.00203256409568354,-4.7684964149517676e-5,-5.115586867184493e-8,-0.002032513412831578,-4.7530207576543425e-5,-5.099954932398015e-8,-0.0020324746777436327,-4.743890663944881e-5,-5.0907215491822745e-8,-0.002032421864725609,-4.741298395352246e-5,-5.088156196373777e-8,-0.002032328861343699,-4.744359026821503e-5,-5.091451930689139e-8,-0.002032173443614939,-4.7510913626487626e-5,-5.098678990055797e-8,-0.002031941783002499,-4.75853718193778e-5,-5.106873150905396e-8,-0.0020316332829377146,-4.763092567556373e-5,-5.112349305662727e-8,-0.002031264678451989,-4.7611506845454626e-5,-5.111354889776993e-8,-0.0020308711459007655,-4.7500835256465015e-5,-5.101094070015697e-8,-0.002030501384939176,-4.7293891553481265e-5,-5.0809346057054425e-8,-0.0020302046550841244,-4.7015069114082157e-5,-5.053271389164446e-8,-0.002030012417735536,-4.6715860633814e-5,-5.023306514824246e-8,-0.0020299237206302333,-4.645858056483108e-5,-4.997393446583235e-8,-0.002029904534219609,-4.629246101907128e-5,-4.980599835191041e-8,-0.0020299027081861383,-4.6235733219535855e-5,-4.974874457112798e-8,-0.0020298691085456756,-4.6273355836021885e-5,-4.9787942532947575e-8,-0.002029772836986357,-4.6368492929145236e-5,-4.9886997870461254e-8,-0.0020296053518841788,-4.6478270704142267e-5,-5.0002696473796485e-8,-0.0020293762284797076,-4.6565779984025805e-5,-5.009732090515303e-8,-0.0020291058975264805,-4.660586503998099e-5,-5.0144678766039385e-8,-0.0020288190745721122,-4.658611551409667e-5,-5.013139050785385e-8,-0.0020285401833065263,-4.650544482721242e-5,-5.0055709880198454e-8,-0.0020282905163081324,-4.637198758862261e-5,-4.9925521941264115e-8,-0.0020280863812595215,-4.6201017541421475e-5,-4.975620376898143e-8,-0.002027937697407739,-4.6012910954525015e-5,-4.95684364968778e-8,-0.0020278468548150497,-4.5830932166805734e-5,-4.938584335030445e-8,-0.0020278079352926354,-4.5678563130217145e-5,-4.923225233991149e-8,-0.0020278066732735607,-4.5576287146234076e-5,-4.9128512005390405e-8,-0.0020278216052989797,-4.553814792964579e-5,-4.908913495339701e-8,-0.0020278266184087235,-4.5568694544187735e-5,-4.91192941943901e-8,-0.0020277947861438816,-4.566099727855335e-5,-4.921277950752152e-8,-0.0020277030598136164,-4.579640243999685e-5,-4.9351559556919325e-8,-0.0020275370670149273,-4.5946459644631754e-5,-4.950743825762933e-8,-0.0020272951641109476,-4.6077038467505365e-5,-4.964594133297112e-8,-0.0020269909380996286,-4.615441491887575e-5,-4.9732349917762104e-8,-0.002026653192492816,-4.615293081887066e-5,-4.973956903588067e-8,-0.002026322209052732,-4.606314805429271e-5,-4.965671815932576e-8,-0.0020260414134917063,-4.5898197313257225e-5,-4.949598467985722e-8,-0.002025845064816443,-4.569487890022771e-5,-4.929407616837752e-8,-0.0020257453978966516,-4.550622741121225e-5,-4.9104815330766504e-8,-0.0020257254701901042,-4.538541867435896e-5,-4.898274157296879e-8,-0.0020257433889951937,-4.536680350718691e-5,-4.89636608578841e-8,-0.0020257476215753702,-4.5453789008186565e-5,-4.905208248604179e-8,-0.002025695654193513,-4.562012774480506e-5,-4.922225373647776e-8,-0.0020255663701208917,-4.582262170758979e-5,-4.943082479997011e-8,-0.0020253618227586557,-4.6016984020625265e-5,-4.963283638283841e-8,-0.00202510099803616,-4.6169328034816214e-5,-4.979343944742674e-8,-0.002024811017417274,-4.626077683867761e-5,-4.989278000082901e-8,-0.002024519795827304,-4.6286832571634604e-5,-4.992561400738215e-8,-0.0020242514862415977,-4.625433913083903e-5,-4.989840752411386e-8,-0.002024024252686185,-4.617810969109077e-5,-4.982595556164917e-8,-0.0020238493406938953,-4.607808430854788e-5,-4.972841725462505e-8,-0.0020237306112493255,-4.597702408116703e-5,-4.96288581956967e-8,-0.002023664162763472,-4.589834984431947e-5,-4.955099750636145e-8,-0.0020236381094273855,-4.586365827157764e-5,-4.951673189348936e-8,-0.0020236329502209293,-4.5889656355000434e-5,-4.954314934249165e-8,-0.002023623153744319,-4.5984715081919234e-5,-4.963915423232379e-8,-0.0020235804546441657,-4.6145777376813115e-5,-4.980235686787022e-8,-0.002023478863220688,-4.635676148666589e-5,-5.0017332271608656e-8,-0.0020233006158513526,-4.658965624449702e-5,-5.025648223081647e-8,-0.002023041531229927,-4.6808945440860525e-5,-5.048423155390615e-8,-0.0020227139642913913,-4.6978896318268104e-5,-5.066420578545552e-8,-0.002022346013528821,-4.7072161309276584e-5,-5.0767917079637096e-8,-0.002021976583923614,-4.7077557162162256e-5,-5.0782829172766134e-8,-0.002021646938817805,-4.700482993717928e-5,-5.071753209060727e-8,-0.0020213903373314294,-4.688457071627136e-5,-5.060204845365824e-8,-0.00202122225761361,-4.676225438165741e-5,-5.048208770780828e-8,-0.002021134399579563,-4.668682793085823e-5,-5.040757499631068e-8,-0.0020210955157597492,-4.66964938733245e-5,-5.041810897949245e-8,-0.002021060207166187,-4.680660727557303e-5,-5.053039604591645e-8,-0.0020209831787395298,-4.700501284627893e-5,-5.073317426465869e-8,-0.0020208331782008877,-4.7257207541469374e-5,-5.0992163914768974e-8,-0.002020600749527367,-4.751873684499668e-5,-5.126249359928724e-8,-0.002020297495132843,-4.7748817668834114e-5,-5.150253416122725e-8,-0.002019949045350994,-4.791973032907616e-5,-5.168357842505219e-8,-0.002019586148214338,-4.801998291591459e-5,-5.1793273968425187e-8,-0.0020192374342056386,-4.8052601996660434e-5,-5.183409256541799e-8,-0.002018925159106304,-4.8031175323490096e-5,-5.181942050354247e-8,-0.0020186634942643855,-4.797571811880198e-5,-5.1769350061628944e-8,-0.002018458307559683,-4.7909321720409155e-5,-5.17071934570522e-8,-0.0020183074793059634,-4.7855657746552463e-5,-5.1656878184229704e-8,-0.0020182012242393878,-4.783688725574289e-5,-5.164083264519561e-8,-0.0020181224346406887,-4.7871384574551e-5,-5.167777089044754e-8,-0.002018047515893418,-4.797092449356852e-5,-5.177995991815182e-8,-0.0020179484270965854,-4.813745696818201e-5,-5.1950004632217014e-8,-0.0020177966111187182,-4.836022705575067e-5,-5.217785319666721e-8,-0.0020175689778127058,-4.861471743161788e-5,-5.243952149084699e-8,-0.0020172549083493363,-4.886518940475764e-5,-5.2699404555608824e-8,-0.0020168618491771245,-4.9071739379400246e-5,-5.291720278700551e-8,-0.0020164165457899337,-4.920074189090056e-5,-5.305839885690176e-8,-0.0020159601254947663,-4.923537724905972e-5,-5.310497994930823e-8,-0.0020155377782343923,-4.9182101111894395e-5,-5.3062208619770655e-8,-0.0020151863264922898,-4.9070186505180795e-5,-5.2958496549887175e-8,-0.0020149239683831454,-4.894424255995497e-5,-5.28381974040878e-8,-0.002014745466484543,-4.8852234007670655e-5,-5.2749744360003565e-8,-0.002014623980385843,-4.8832737442584404e-5,-5.2732795661562925E-08,-0.0020145187675945538,-4.8905033515197663e-5,-5.2807996323674024e-8,-0.002014386463354211,-4.9064737170752646e-5,-5.297217537397421e-8,-0.0020141926071653754,-4.928613889269881e-5,-5.3200321420099145e-8,-0.002013919923050992,-4.953032530867741e-5,-5.3453543629696204e-8,-0.002013571006866503,-4.975617191211685e-5,-5.369014468097558e-8,-0.0020131652167542056,-4.993046123284049e-5,-5.3875992139383384e-8,-0.002012731692604997,-5.0034158097124634e-5,-5.399109718532883e-8,-0.0020123014742402913,-5.0063845602625036e-5,-5.403129483295887e-8,-0.00201190121087524,-5.002933955111049e-5,-5.4005977959494064e-8,-0.002011549521326985,-4.994945558883987e-5,-5.393385164637899e-8,-0.002011255743455944,-4.984764678639762e-5,-5.383846809376056e-8,-0.0020110201985696686,-4.974843179222414e-5,-5.374453985485008e-8,-0.002010835083772604,-4.9674777295965575e-5,-5.367526613695328e-8,-0.0020106854277154628,-4.964606496865315e-5,-5.365032901804489e-8,-0.0020105500400673802,-4.9676073962541255e-5,-5.3683953076972764e-8,-0.0020104028617102853,-4.9770593190928885e-5,-5.3782559234610896e-8,-0.0020102154280196164,-4.992472116898015e-5,-5.39419945769669e-8,-0.002009961203093299,-5.01205774324166e-5,-5.4145045648848874e-8,-0.0020096220475094026,-5.032702956215601e-5,-5.436091558231032e-8,-0.0020091956873586328,-5.0503577918817376e-5,-5.454893403638213e-8,-0.0020087010935627442,-5.060963041617747e-5,-5.466782814365228e-8,-0.0020081776870822868,-5.06175125618987e-5,-5.468889528583259e-8,-0.0020076760813480246,-5.052404157729019e-5,-5.4607820427235687e-8,-0.0020072426309083852,-5.03543523152836e-5,-5.444874990717472e-8,-0.0020069043511348767,-5.015493124700536e-5,-5.42575575233768e-8,-0.0020066610667815107,-4.997871174697851e-5,-5.40871357697118e-8,-0.0020064875013838,-4.98690470565664e-5,-5.3981449732444325e-8,-0.0020063429428621477,-4.9848723760962696e-5,-5.396442162152271e-8,-0.0020061836818402717,-4.991653940438004e-5,-5.40361687618578e-8,-0.0020059740082301832,-5.005060728795719e-5,-5.4175883241144576e-8,-0.0020056933781890086,-5.021595398427699e-5,-5.434910207886136e-8,-0.0020053390005447076,-5.037374382076034e-5,-5.4516829286568113e-8,-0.0020049242019915922,-5.048986269802197e-5,-5.464425732666e-8,-0.0020044736538592134,-5.054119841472836e-5,-5.470733410760349e-8,-0.0020040170112563204,-5.0518666909647305e-5,-5.469609132681992e-8,-0.002003582651521957,-5.0426916644760484e-5,-5.461455429534083e-8,-0.002003192848389794,-5.028151267800684e-5,-5.4477987905210974e-8,-0.0020028610069787686,-5.010484787898947e-5,-5.430874706071043e-8,-0.0020025908720933084,-4.992194480586509e-5,-5.413196542421391e-8,-0.0020023771463984017,-4.9756918400443195e-5,-5.3971933421660555e-8,-0.002002206808863418,-4.963034306888264e-5,-5.384945799572805e-8,-0.0020020606277349035,-4.955729195151486e-5,-5.3779965287491494e-8,-0.002001914752160842,-4.9545629165052306e-5,-5.377186303277142e-8,-0.0020017426370449094,-4.959424701946217e-5,-5.382477021649585e-8,-0.0020015178700865826,-4.9691252782268014e-5,-5.392756337052816e-8,-0.002001218597218113,-4.981272984636775e-5,-5.4056892268100934e-8,-0.0020008337756181305,-4.9923598500677135e-5,-5.417780009747694e-8,-0.002000370096206164,-4.998267559890689e-5,-5.4248682766537245e-8,-0.0019998563334538166,-4.995319905600739e-5,-5.423191853970226e-8,-0.0019993405058199324,-4.981692900508882e-5,-5.4108211202206056e-8,-0.0019988771595501596,-4.958544642961348e-5,-5.388813032255459e-8,-0.001998508235516319,-4.930060305686856e-5,-5.361273486836377e-8,-0.0019982470792282445,-4.902112276864653e-5,-5.3340329163181614e-8,-0.001998074636703137,-4.880149849864028e-5,-5.31255233957502e-8,-0.0019979490776461596,-4.867431780069525e-5,-5.300163018068865e-8,-0.001997822100817167,-4.864355803151583e-5,-5.2973805172126e-8,-0.0019976535169998273,-4.8688691267618395e-5,-5.3022777123200866e-8,-0.001997419552504148,-4.8774601604832057e-5,-5.311433704727912e-8,-0.001997114744774493,-4.8862226688571974e-5,-5.320970261330998e-8,-0.0019967494607951706,-4.891701856579829e-5,-5.3273961127601174e-8,-0.0019963452028423133,-4.8914377496388965e-5,-5.328171644965104e-8,-0.0019959291743273603,-4.884227819040176e-5,-5.3220032150562435e-8,-0.0019955289872912786,-4.870151669163586e-5,-5.3088954045228216e-8,-0.001995168161878916,-4.850401085939419e-5,-5.289994962557313e-8,-0.0019948628903654394,-4.8269744288963775e-5,-5.267284224427861e-8,-0.0019946202670904343,-4.8023026531601735e-5,-5.2431967802807096e-8,-0.0019944379707342885,-4.7788675113880514e-5,-5.220224766362233e-8,-0.0019943051797844005,-4.7588659781935926e-5,-5.200579146376313e-8,-0.0019942042706509,-4.743954711749449e-5,-5.1859386167826104e-8,-0.001994112859914415,-4.735069680607469e-5,-5.1772781475901097e-8,-0.001994006037341234,-4.732295848864623e-5,-5.1747440313270875e-8,-0.001993858894812306,-4.7347710668200726e-5,-5.177551950964653e-8,-0.0019936496579878314,-4.740627635058635e-5,-5.18390919640976e-8,-0.001993363861819001,-4.7470190253398286e-5,-5.1910146838977426e-8,-0.0019929996205191062,-4.7503541595903896e-5,-5.195272017060764e-8,-0.0019925728195238626,-4.746902878186876e-5,-5.1928915188607375e-8,-0.001992119310680294,-4.7338527946317814e-5,-5.1809644671995214e-8,-0.001991689987214206,-4.710613654808492e-5,-5.1587956392584026e-8,-0.0019913363447532006,-4.6797293437381455e-5,-5.128838764343941e-8,-0.0019910904742861894,-4.6465669201456026e-5,-5.096398901617266e-8,-0.001990950368197197,-4.617513909028325e-5,-5.067840830528089e-8,-0.0019908806466250022,-4.5975167125504204e-5,-5.048140368418561e-8,-0.0019908285309041696,-4.5883747649525306e-5,-5.039181646697579e-8,-0.0019907446103717484,-4.588605349155747e-5,-5.039601315964357e-8,-0.0019905972795608703,-4.59456274268961e-5,-5.045866854053545e-8,-0.0019903769307380295,-4.601920467643337e-5,-5.053718566759492e-8,-0.001990092573971516,-4.60683822052351e-5,-5.059317403618827e-8,-0.0019897653271612717,-4.6066023946311286e-5,-5.059894157366422e-8,-0.0019894219047486518,-4.5998288524238066e-5,-5.0539804388693425e-8,-0.001989089388356069,-4.5864029542767294e-5,-5.041380553085208e-8,-0.001988791342582684,-4.5672889943786124e-5,-5.023002279694939e-8,-0.0019885450270769787,-4.544267119758317e-5,-5.000598811628438e-8,-0.001988359611822744,-4.519623780012269e-5,-4.9764511439258186e-8,-0.001988235373861473,-4.4958196634044265e-5,-4.9530237154278555e-8,-0.001988163874878257,-4.475155292368226e-5,-4.932622435749737e-8,-0.0019881291494703197,-4.4594624487372946e-5,-4.917088069716583e-8,-0.0019881097672433527,-4.449860634103792e-5,-4.907562319610449e-8,-0.0019880814361664893,-4.446599676205845e-5,-4.9043404078743095e-8,-0.001988019896370336,-4.448984902371915e-5,-4.90679788963876e-8,-0.0019879040251158317,-4.455382789815783e-5,-4.9133842968146527e-8,-0.001987719144006088,-4.463316087772778e-5,-4.921694042093964e-8,-0.001987460558236463,-4.46967620556441e-5,-4.9286514917244204e-8,-0.0019871370966062707,-4.471122399257981e-5,-4.9308929889939364e-8,-0.0019867735413332,-4.464753053386993e-5,-4.925440944020967e-8,-0.0019864096922321078,-4.449046879624519e-5,-4.910667619111871e-8,-0.001986093293887148,-4.424847454638656e-5,-4.887310764941467e-8,-0.0019858657165408035,-4.395851101024967e-5,-4.858986252843164e-8,-0.0019857444502105696,-4.36793761172567e-5,-4.831531748591886e-8,-0.0019857123157436644,-4.3471892985409506e-5,-4.811032585031551e-8,-0.001985722442942424,-4.3374678707536145e-5,-4.801403302963816e-8,-0.001985717837909519,-4.3389861516746215e-5,-4.802953349265059e-8,-0.0019856536347009303,-4.348657983914437e-5,-4.812711300883761e-8,-0.001985509793314366,-4.3617293200771854e-5,-4.826016677840372e-8,-0.001985291041141802,-4.373551017512467e-5,-4.8382599589213666e-8,-0.001985018982825112,-4.380710889702349e-5,-4.8460059289153266e-8,-0.00198472269519155,-4.381413163467009e-5,-4.8473904889146595e-8,-0.0019844313817317153,-4.3753602107519224e-5,-4.8420335013601454e-8,-0.0019841698777690116,-4.3634265418978614e-5,-4.830740886578302e-8,-0.00198395631013117,-4.347308097731399e-5,-4.815167459106861e-8,-0.00198380093609794,-4.32920529085931e-5,-4.7974972464015794e-8,-0.0019837056325942176,-4.311530044265703e-5,-4.7801388949448075e-8,-0.0019836639326078916,-4.2966205027643966e-5,-4.765430103584804e-8,-0.0019836616788419274,-4.2864560277764126e-5,-4.755351001687462e-8,-0.0019836784835310212,-4.2823816969524074e-5,-4.75125667742844e-8,-0.0019836901334029686,-4.284880913635948e-5,-4.753661876885519e-8,-0.0019836717844280323,-4.293443985340406e-5,-4.7621167559884083e-8,-0.001983601577361672,-4.306561983656408e-5,-4.775195443764006e-8,-0.00198346427639853,-4.321860830029743e-5,-4.79061064744248e-8,-0.001983254503428399,-4.3363817575379086e-5,-4.805466061004061e-8,-0.001982979128261479,-4.3470011868281195e-5,-4.8166508580713625e-8,-0.0019826583317162807,-4.350982227820718e-5,-4.8213806615591725e-8,-0.0019823245270563744,-4.346642997860529e-5,-4.817876549475533e-8,-0.0019820179079688013,-4.334055689306835e-5,-4.806092503305833e-8,-0.0019817776241884424,-4.315546627647395e-5,-4.788249609663614e-8,-0.001981629243341138,-4.295622121243347e-5,-4.768788218876515e-8,-0.00198157253207564,-4.279964969343516e-5,-4.753376447678903e-8,-0.0019815768110193243,-4.273555993575656e-5,-4.747031671641675e-8,-0.0019815896914275643,-4.2786939561310826e-5,-4.752132323658576e-8,-0.001981556964728314,-4.294065163758243e-5,-4.767470277125102e-8,-0.001981442898715948,-4.315455768342111e-5,-4.788935301045354e-8,-0.001981239994932547,-4.337586664281439e-5,-4.811318043326988e-8,-0.001980965615592369,-4.3559380683812036e-5,-4.830112897720887e-8,-0.001980651104271411,-4.3677669740602314e-5,-4.842535724700544e-8,-0.001980330622165264,-4.37224614567855e-5,-4.8476842035870866e-8,-0.001980033601616317,-4.370082309922366e-5,-4.846185712372692e-8,-0.001979781186553916,-4.362987461869388e-5,-4.8396913373778846e-8,-0.0019795853426471683,-4.35321462310607e-5,-4.8304189751421825e-8,-0.001979449164923876,-4.343211096476673e-5,-4.8208004801788516e-8,-0.001979367516891493,-4.335355049589747e-5,-4.81320762404166e-8,-0.0019793277939190233,-4.331724667908914e-5,-4.8097157631997425e-8,-0.0019793109779484602,-4.333865671006025e-5,-4.811875302716466e-8,-0.00197929334115372,-4.342552864224307e-5,-4.8204839307820454e-8,-0.0019792491585166726,-4.3575840607934675e-5,-4.835390191602501e-8,-0.0019791544719827683,-4.377676979296662e-5,-4.855390559455163e-8,-0.0019789914659854206,-4.400538864917376e-5,-4.878285284376596e-8,-0.001978752618067997,-4.423151487384888e-5,-4.9011380729146134e-8,-0.001978443571552841,-4.442266642057841e-5,-4.920743293376487e-8,-0.0019780837559768326,-4.455044155192306e-5,-4.93424419569069e-8,-0.001977704189216635,-4.459716325964112e-5,-4.9397956177720134e-8,-0.0019773423735596264,-4.4561466986321577e-5,-4.937141684655841e-8,-0.001977034607825835,-4.446140319979623e-5,-4.927959934097138e-8,-0.0019768066566202684,-4.433345001834858e-5,-4.915798984075471e-8,-0.0019766648048065616,-4.422600808807836e-5,-4.905454320636164e-8,-0.001976590642014865,-4.418718038152136e-5,-4.901754862575995e-8,-0.0019765433922679146,-4.424941926591262e-5,-4.908018505043689e-8,-0.0019764714799322142,-4.441704193678446e-5,-4.924782281001948e-8,-0.0019763299672662825,-4.466351711965738e-5,-4.949503779025665e-8,-0.0019760958592488333,-4.494111748014449e-5,-4.9774988214425593e-8,-0.001975773776278894,-4.519821653836421e-5,-5.003649186587927e-8,-0.001975390495162118,-4.539533451112828e-5,-5.0239976118785304e-8,-0.0019749831859174212,-4.551335871876182e-5,-5.0365773681986254e-8,-0.0019745879207018306,-4.555320514137526e-5,-5.041400386812903e-8,-0.0019742323786003236,-4.553037719774458e-5,-5.039938833552872e-8,-0.0019739331147513276,-4.5468406296927464e-5,-5.03448680797245e-8,-0.001973695819172792,-4.539349471122782e-5,-5.0276287499947574e-8,-0.0019735168135767726,-4.533089935511781e-5,-5.0218721062822205e-8,-0.0019733846944876474,-4.5302611923024283e-5,-5.019408501320979e-8,-0.0019732817668098417,-4.532562487218592e-5,-5.021939519624579e-8,-0.0019731854504376916,-4.5410207074392044e-5,-5.0305107394665245e-8,-0.0019730701622044603,-4.5557997564901036e-5,-5.045329830787116e-8,-0.001972910223039121,-4.576026673732602e-5,-5.0655959638034884e-8,-0.001972684031500541,-4.5997198476817514E-05,-5.0894198826261366e-8,-0.001972379090884328,-4.623929153514652e-5,-5.113944114811148e-8,-0.001971996635686588,-4.6451727228890164e-5,-5.135753400078218e-8,-0.0019715539766186102,-4.660160044857538e-5,-5.1515737334611745e-8,-0.0019710828542270687,-4.6666477609024985e-5,-5.159115485388241e-8,-0.001970623298040414,-4.664162896085638e-5,-5.1578016403124346e-8,-0.001970214212090245,-4.65432620191606e-5,-5.1491151948029e-8,-0.001969883242927487,-4.6406229230851866e-5,-5.1364075446337285e-8,-0.001969638857557791,-4.627639846031354e-5,-5.124174919757445e-8,-0.001969467008160238,-4.6199420166105754e-5,-5.116961866658035e-8,-0.0019693336914688433,-4.6208627966382286e-5,-5.1181552597747694e-8,-0.001969193371546135,-4.631535486871011e-5,-5.128996338486575e-8,-0.0019690015104308046,-4.650497733936632e-5,-5.148150977961362e-8,-0.001968727504736385,-4.6740821064600386e-5,-5.172064567922468e-8,-0.001968363316252578,-4.697522012612561e-5,-5.196041523031695e-8,-0.00196792440570595,-4.71636765838571e-5,-5.2156492160433425e-8,-0.001967443051877653,-4.727655930735045e-5,-5.227890703313716e-8,-0.0019669575953292872,-4.730437768201357e-5,-5.2317472555509746e-8,-0.0019665022928231123,-4.7256201646844035e-5,-5.228042290007389e-8,-0.0019661009362071376,-4.715377406937989e-5,-5.218873377314962e-8,-0.0019657647779907092,-4.702464970878444e-5,-5.206938544394163e-8,-0.001965493477560509,-4.689660585321579e-5,-5.194979398067257e-8,-0.001965277377825799,-4.6794002474408414e-5,-5.185413345399812e-8,-0.001965099914950498,-4.67357278760477e-5,-5.1801254050097615e-8,-0.0019649396611614903,-4.673397854378611e-5,-5.180348656861776e-8,-0.0019647721014879383,-4.6793187059781656e-5,-5.186563289514447e-8,-0.0019645716558417217,-4.690878647692816e-5,-5.1983771468773974e-8,-0.0019643145874512157,-4.706604455706395e-5,-5.214404907793817e-8,-0.001963983213520618,-4.7239795327600476e-5,-5.232226406608289e-8,-0.0019635711534783046,-4.7396399391850306e-5,-5.248560550378622e-8,-0.0019630881783210172,-4.749923158841316e-5,-5.2597912011238834e-8,-0.0019625620385825687,-4.7517783547080394e-5,-5.262860028092075e-8,-0.001962034600536159,-4.743810866143697e-5,-5.2563034466538445e-8,-0.001961551663459193,-4.7270187530390955e-5,-5.2409958425237556e-8,-0.0019611493437624405,-4.7047867070956564e-5,-5.2201684891901307e-8,-0.0019608425118726406,-4.682012526184868e-5,-5.198578136085175e-8,-0.001960620223510975,-4.663679110534357e-5,-5.1811253235307756e-8,-0.00196044964691645,-4.65343886842311e-5,-5.1714684022350806e-8,-0.001960286244385532,-4.652696232149927e-5,-5.171103424799668e-8,-0.0019600861987816276,-4.660393314075276e-5,-5.1791161198884274e-8,-0.001959817384072231,-4.673447845393499e-5,-5.192571546679343e-8,-0.0019594663672666632,-4.687647620848606e-5,-5.207366237327364e-8,-0.0019590402013480103,-4.69873681531962e-5,-5.219291849091948e-8,-0.0019585630459199917,-4.7034093216261266e-5,-5.2250281015410575e-8,-0.0019580689434451474,-4.699963912862847e-5,-5.222813797470916e-8,-0.001957593098636109,-4.6884855780413277E-05,-5.212650982795257e-8,-0.0019571642607120374,-4.6705755925512453e-5,-5.196056523166988e-8,-0.001956800031936092,-4.648795164335014e-5,-5.175520387715332e-8,-0.0019565055327110657,-4.626040613743492e-5,-5.1538868280151164e-8,-0.001956274664949442,-4.605019885705157e-5,-5.133830575689433e-8,-0.0019560927255029953,-4.587904903303501e-5,-5.117507505063576e-8,-0.001955939273522816,-4.5761480824035993e-5,-5.106372503209461e-8,-0.00195579066288265,-4.570401845100373e-5,-5.101104052329391e-8,-0.001955622211363207,-4.570476038673568e-5,-5.101566680936453e-8,-0.001955410378080181,-4.575298140689403e-5,-5.1067700552761083e-8,-0.0019551355106216866,-4.5828851541139104e-5,-5.114829612455283e-8,-0.0019547856381423576,-4.590392133545704e-5,-5.122995115968192e-8,-0.001954361197611504,-4.594364275569868e-5,-5.127880370114713e-8,-0.001953879361532978,-4.591336545457481e-5,-5.126044894606853e-8,-0.001953375159198017,-4.5788157126795125e-5,-5.114965466945004e-8,-0.0019528960573228693,-4.556404200060815e-5,-5.094156483201756e-8,-0.0019524888638265663,-4.52650121756844e-5,-5.0658773399677315e-8,-0.0019521829510683111,-4.493969555783338e-5,-5.03482415102804e-8,-0.001951978224705543,-4.4646436883604996e-5,-5.006686001308755e-8,-0.0019518449631389671,-4.4433199757164185e-5,-4.9861909053352045e-8,-0.0019517355290165363,-4.43223575013476e-5,-4.9756164208185047e-8,-0.0019516011374687279,-4.430667685873654e-5,-4.9743737900243164e-8,-0.0019514058087092413,-4.4355660121435736e-5,-4.979589561049797e-8,-0.0019511334488388776,-4.442707829644108e-5,-4.987196748279403e-8,-0.0019507882121724506,-4.4478635729643045e-5,-4.993057447552316e-8,-0.0019503903208332868,-4.447687118184344e-5,-4.9938400968221414e-8,-0.0019499696523796678,-4.440237013879302e-5,-4.9875550740711113e-8,-0.0019495587983859016,-4.425144642123595e-5,-4.973750799595954e-8,-0.0019491867583722598,-4.403481674939329e-5,-4.953408613857425e-8,-0.001948874170726926,-4.3773966244990976e-5,-4.928597425302703e-8,-0.0019486306854478142,-4.3496186610003896e-5,-4.901984567298104e-8,-0.0019484545808215287,-4.322941742227304e-5,-4.876319520040075e-8,-0.0019483342448092852,-4.299784164805793e-5,-4.853991498678627e-8,-0.0019482508367361243,-4.281882578092175e-5,-4.8367249272998265E-08,-0.0019481813406516451,-4.2701332047739913e-5,-4.8254265238426306e-8,-0.001948101431884755,-4.2645465612550796e-5,-4.820147285858156e-8,-0.0019479880023605153,-4.2642663695294445e-5,-4.820104258643957e-8,-0.0019478215084132696,-4.267621983914629e-5,-4.823725928348993e-8,-0.0019475884766814169,-4.2722120831818105e-5,-4.8287176766687065e-8,-0.001947284537476418,-4.2750605376743135e-5,-4.832193112023108e-8,-0.0019469179020162252,-4.272943149953421e-5,-4.830978464674593e-8,-0.001946512130701754,-4.2629987351193034e-5,-4.8222103668448865e-8,-0.0019461057920909896,-4.243645483759409e-5,-4.804249139879382e-8,-0.0019457459924259364,-4.2155871844775294e-5,-4.777688442978733e-8,-0.001945474433914433,-4.182357814670306e-5,-4.745909633402526e-8,-0.0019453099923769398,-4.149726260691403e-5,-4.7145127891331156e-8,-0.0019452376149965635,-4.123797713130104e-5,-4.689469161507122e-8,-0.0019452123501192205,-4.108646923628689e-5,-4.67481344270079e-8,-0.0019451775408544185,-4.104846697515171e-5,-4.671199913017461e-8,-0.001945086305653114,-4.10964890190002e-5,-4.67605464329462e-8,-0.00194491498170104,-4.118420798055841e-5,-4.6849415350206084e-8,-0.0019446649566739968,-4.1263439193324884e-5,-4.693190382853436e-8,-0.0019443564891179575,-4.129638690638195e-5,-4.6970831215838533e-8,-0.001944019871009889,-4.126124977537125e-5,-4.694416268183079e-8,-0.0019436874568431314,-4.115267744009283e-5,-4.6845757576426216e-8,-0.0019433878283089455,-4.097933082895468e-5,-4.668329117893592e-8,-0.0019431420227587768,-4.076018683375537e-5,-4.64748293924473e-8,-0.001942961425049852,-4.052037587530838e-5,-4.624478413720799e-8,-0.001942847090506267,-4.028693694379081e-5,-4.6019666043409794e-8,-0.001942790358890472,-4.008483999357206e-5,-4.5824064376144906e-8,-0.0019427745871054582,-3.9933607897037706e-5,-4.5677259981585586e-8,-0.0019427777616891982,-3.984486508728241e-5,-4.559083113158273e-8,-0.0019427755865315058,-3.982107608163827e-5,-4.556748866183424e-8,-0.0019427445679542873,-3.985544668643988e-5,-4.5601049016244416e-8,-0.0019426648249855798,-3.9932722126588916e-5,-4.5677213148583996e-8,-0.0019425225723483325,-4.003067731752825e-5,-4.577491057145826e-8,-0.00194231231186212,-4.0122223590998573e-5,-4.586815250812175e-8,-0.001942038840723702,-4.017825071467646e-5,-4.592859500544757e-8,-0.0019417189403766162,-4.017172995117602e-5,-4.592943591477745e-8,-0.0019413817963929902,-4.0083668653272205e-5,-4.5851299075569445e-8,-0.0019410663758636533,-3.9910612776753746e-5,-4.5689797651230024e-8,-0.0019408138567119492,-3.9671609827259084e-5,-4.546263553447091e-8,-0.0019406546006421536,-3.941021451110704e-5,-4.52117972507066e-8,-0.001940593319235403,-3.918608994782784e-5,-4.499543804327817e-8,-0.0019406012767298,-3.905498590278002e-5,-4.486832358067523e-8,-0.001940623920404477,-3.904542284858823e-5,-4.4859006867683975e-8,-0.0019406025544464632,-3.914639483061919e-5,-4.495769578301747e-8,-0.001940497520876102,-3.931411884703988e-5,-4.512260307194805e-8,-0.001940299698239888,-3.949212761192832e-5,-4.5299254342045724e-8,-0.0019400271696272137,-3.9631546521015266e-5,-4.5440050246729585e-8,-0.0019397134945464904,-3.970249901148748e-5,-4.55153769119164e-8,-0.0019393955892964717,-3.969592038203203e-5,-4.551557626730208e-8,-0.0019391053846128947,-3.961966037424788e-5,-4.544745102453445e-8,-0.0019388656601532564,-3.9492805816283906e-5,-4.532898685003671e-8,-0.0019386887618311728,-3.9340423201373115e-5,-4.518433473733331e-8,-0.0019385768153243493,-3.9189313030825355e-5,-4.5039624737876385e-8,-0.0019385226755074644,-3.9064588188579694e-5,-4.491950007652083e-8,-0.0019385113945777103,-3.89868350713039e-5,-4.4844233237342264e-8,-0.0019385222021650083,-3.8969763524809525e-5,-4.48273957066787e-8,-0.0019385310528990875,-3.9018436577778017e-5,-4.4874176736247263E-08,-0.001938513684450707,-3.912838732750907e-5,-4.498060099930697e-8,-0.0019384488723173468,-3.928589530112374e-5,-4.51338353807561e-8,-0.001938321483040145,-3.946943857740446e-5,-4.531354277085539e-8,-0.0019381250107120861,-3.965222629013153e-5,-4.5494184057548586e-8,-0.0019378633026130548,-3.9805684583894356e-5,-4.5648196322549064e-8,-0.0019375512317700392,-3.990367219926965e-5,-4.574992768613837e-8,-0.0019372141057675222,-3.9927275177831916e-5,-4.5780279834495175e-8,-0.0019368852732491004,-3.987006414845319e-5,-4.573198875575406e-8,-0.0019366009982821448,-3.9743041431457964e-5,-4.561474398462704e-8,-0.001936392008214114,-3.9577268369624826e-5,-4.545806912288991e-8,-0.0019362725887905185,-3.9421116423997146e-5,-4.530885190760244e-8,-0.0019362308367980837,-3.93293215936308e-5,-4.522070434461868e-8,-0.0019362265448863605,-3.934447117414749e-5,-4.5235796012735197e-8,-0.0019362021567699314,-3.947831204143984e-5,-4.5366449130396565e-8,-0.0019361044622756712,-3.9704499044345756e-5,-4.558787687093552e-8,-0.0019359055467726995,-3.9969038024905696e-5,-4.5848165191453386e-8,-0.001935610918476163,-4.0212436952495197e-5,-4.608967212085328e-8,-0.0019352522767100955,-4.0390248298052926e-5,-4.626892936144965e-8,-0.001934872343550989,-4.04826572347339e-5,-4.636602580928481e-8,-0.0019345110162189247,-4.0492973987788945e-5,-4.6383349171738214e-8,-0.0019341974042064007,-4.0440353373262014e-5,-4.633877244453355e-8,-0.00193394745527741,-4.035183976460438e-5,-4.6258113992407355e-8,-0.0019337648831009675,-4.025623586702828e-5,-4.6169223646382756e-8,-0.001933643297940725,-4.018010690860001e-5,-4.6098017218746215e-8,-0.0019335684391845415,-4.014524819687492e-5,-4.606588963420782e-8,-0.0019335202829593439,-4.016691288990378e-5,-4.608791074426844e-8,-0.001933475196842574,-4.025240778009302e-5,-4.617145854048994e-8,-0.0019334084174011334,-4.039999941699849e-5,-4.6315210257224784e-8,-0.0019332970460884604,-4.0598441631085976e-5,-4.6508730328468455e-8,-0.0019331234337040622,-4.0827636234276635e-5,-4.67330881859333e-8,-0.0019328784570221483,-4.1060782189105156e-5,-4.69628242270068e-8,-0.001932564016748744,-4.126806268614148e-5,-4.716934132885776e-8,-0.0019321940512386387,-4.14215942181376e-5,-4.732552837106896e-8,-0.001931793485630655,-4.1500945427768556e-5,-4.741103326315836e-8,-0.0019313948975945483,-4.149824340283206e-5,-4.741729676503009e-8,-0.0019310330346188518,-4.142188515293687e-5,-4.7351395895912765e-8,-0.0019307375352558293,-4.1297801414388954e-5,-4.723760067108958e-8,-0.0019305246932332914,-4.116693684145903e-5,-4.711522060800814e-8,-0.0019303901558369954,-4.107771840039374e-5,-4.7031429532281454e-8,-0.001930305702440573,-4.1073507327231025e-5,-4.70290097302363e-8,-0.001930223661133537,-4.117772149833033e-5,-4.71316652941459e-8,-0.0019300904151773313,-4.1382707713134946e-5,-4.733292449466249e-8,-0.0019298652063116251,-4.1649473063614e-5,-4.7595646288971316e-8,-0.0019295353407003367,-4.192078311450537e-5,-4.786461098057043e-8,-0.0019291195029987889,-4.214178037375372e-5,-4.8086494979264673e-8,-0.0019286581510240075,-4.227740391874418e-5,-4.822680388860586e-8,-0.0019281977027044515,-4.23190945630982e-5,-4.827648982478889e-8,-0.001927776949794641,-4.228093381957044e-5,-4.8248402386580654e-8,-0.0019274200721663662,-4.219051722902683e-5,-4.8168652620736966e-8,-0.001927135772707496,-4.20798850584923e-5,-4.8067954346620734e-8,-0.0019269198332215003,-4.197912027142969e-5,-4.797542280744417e-8,-0.0019267586318278405,-4.1912777277154615e-5,-4.7915023022203665e-8,-0.0019266323173630316,-4.189820026513446e-5,-4.7903834928403336e-8,-0.0019265173637764677,-4.194471819140883e-5,-4.795122144177823e-8,-0.0019263888011234276,-4.205308385953557e-5,-4.805829680961167e-8,-0.0019262225974915343,-4.221501646557592e-5,-4.821751718558146e-8,-0.0019259985568891125,-4.2413183674726635e-5,-4.8412658231367925e-8,-0.0019257037357562376,-4.262227688328076e-5,-4.861977364178274e-8,-0.0019253358507307667,-4.281183412618318e-5,-4.88097763412886e-8,-0.0019249056464002532,-4.295109158693287e-5,-4.895296804974039e-8,-0.00192443696510101,-4.3015405547280085e-5,-4.9025146674251664e-8,-0.001923963576351099,-4.299286159649854e-5,-4.901401418858055e-8,-0.0019235227456985294,-4.288907110417211e-5,-4.892397352513479e-8,-0.0019231466972611288,-4.2728295806226845e-5,-4.8777489495455956e-8,-0.0019228540148536525,-4.2549887097491935e-5,-4.861195243355361e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_10.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_10.json new file mode 100644 index 000000000..771149a59 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_10.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":10000,"numberOfSamples":1000,"samples":[1.9197471616856318e-4,7.996600532056201e-6,-1.2597360486632112e-8,1.923979354906972e-4,8.059544161443208e-6,-1.2601754449986743e-8,1.9274745963100852e-4,8.18217092448731e-6,-1.2612185701149497e-8,1.9301410614298842e-4,8.328459694631899e-6,-1.2625220207854334e-8,1.9320200661086356e-4,8.46367290461882e-6,-1.263746635903232e-8,1.933256574311564e-4,8.557979990756902e-6,-1.264596926377846e-8,1.9340729897750835e-4,8.588749871695277e-6,-1.2648467217789009e-8,1.9347454382165973e-4,8.54234886551231e-6,-1.2643575641672086e-8,1.9355780445299317e-4,8.41580428718647e-6,-1.2630935191527253e-8,1.9368703586457032e-4,8.218144650907273e-6,-1.2611321617725655e-8,1.9388759494511673e-4,7.970728457914735e-6,-1.2586673932584885e-8,1.9417557384287807e-4,7.70570255454025e-6,-1.2559972916060515e-8,1.9455353413614596e-4,7.461994170668981e-6,-1.2534909842557773e-8,1.950079268750979e-4,7.278838435440244e-6,-1.2515320800328438e-8,1.9550946566497787e-4,7.1877009230743185e-6,-1.250443183656935e-8,1.9601716991058025e-4,7.204296880679899e-6,-1.2504049076168112e-8,1.964858622143666e-4,7.322751895738212e-6,-1.2513893072518937e-8,1.9687601817327312e-4,7.513719443070609e-6,-1.2531293180978063e-8,1.9716418145619786e-4,7.727807131336245e-6,-1.255143733487227e-8,1.9735148270881055e-4,7.904972006017888e-6,-1.256828984627858e-8,1.9746717430474582e-4,7.989189307001313e-6,-1.2576107854737417e-8,1.9756414464783983e-4,7.945391162788686e-6,-1.2571208909452543e-8,1.9770522673983343e-4,7.772936988045046e-6,-1.255336219063038e-8,1.9794335851555265e-4,7.508737590816236e-6,-1.2526112219574885e-8,1.9830340643788719e-4,7.216310774252375e-6,-1.2495704511570225e-8,1.9877444051722307e-4,6.9643475770128966e-6,-1.2468991956480241e-8,1.9931605492441463e-4,6.804754497374457e-6,-1.2451273955690413e-8,1.99874367496323e-4,6.7599548302468994e-6,-1.2444993679265321e-8,2.0039900027274713e-4,6.82270849799812e-6,-1.2449629419202722e-8,2.0085428305204736e-4,6.964723431631095e-6,-1.2462470630692901e-8,2.012230129828281e-4,7.147810040913146e-6,-1.2479705950981818e-8,2.015048844233702e-4,7.3331078822919305e-6,-1.2497376827881843e-8,2.0171260728942556e-4,7.4869143007848404e-6,-1.2512018298014086e-8,2.0186784837753266e-4,7.583663846056725e-6,-1.2521002574264202e-8,2.0199788115223623e-4,7.6072954724533325e-6,-1.252268798054521e-8,2.0213287762151582e-4,7.552075776678594e-6,-1.25164799413586e-8,2.023032713093168e-4,7.423389313956485e-6,-1.250287524528341e-8,2.025365492604393e-4,7.238354929979809e-6,-1.2483501654253962e-8,2.0285312487000682e-4,7.025543178481034e-6,-1.2461102098633864e-8,2.032615548180566e-4,6.822697696785637e-6,-1.2439358398961576e-8,2.037542292355152e-4,6.671464949679808e-6,-1.2422433892723618e-8,2.043054648544205e-4,6.609017340781519e-6,-1.241418367286807e-8,2.0487402079284614e-4,6.658061470286973e-6,-1.2417141084804209e-8,2.0541091916908847e-4,6.8183286453880834e-6,-1.2431576848491557e-8,2.0587131297464264e-4,7.063148440915905e-6,-1.2455025250029365e-8,2.0622704282800456e-4,7.343452105811302e-6,-1.2482583077772363e-8,2.064756840198449e-4,7.598950788494315e-6,-1.2508013979414962e-8,2.0664282168786132e-4,7.773572333271332e-6,-1.2525372054527937e-8,2.0677643799377142e-4,7.830732911241555e-6,-1.2530654293509096e-8,2.069346139971509e-4,7.763969732585166e-6,-1.252297208136234e-8,2.0716968071363143e-4,7.599507240572051e-6,-1.2504868071919612e-8,2.075133831394106e-4,7.389324388835024e-6,-1.2481637303243253e-8,2.079680047158014e-4,7.196295440443784e-6,-1.2459822238997104e-8,2.0850678511286473e-4,7.076223630712314e-6,-1.2445361216516968e-8,2.09083353603553e-4,7.063208010991012e-6,-1.2442027977015235e-8,2.0964607359171694e-4,7.163288146015455e-6,-1.245068068918884e-8,2.1015153998119444e-4,7.357300167494584e-6,-1.2469466055778998e-8,2.105729208467013e-4,7.6098914082299795e-6,-1.2494715588623496e-8,2.1090206952705673e-4,7.880059152858419e-6,-1.2522068534104855e-8,2.1114705135521922e-4,8.129688725332927e-6,-1.2547426277362978e-8,2.11327623932954e-4,8.328785948689606e-6,-1.2567558359396523e-8,2.1147063027153733e-4,8.45781981905388e-6,-1.2580371063842255e-8,2.116062170779773e-4,8.508318739735103e-6,-1.2584953522756101e-8,2.1176489219544155e-4,8.482821664273282e-6,-1.2581533889456395e-8,2.1197487908306462e-4,8.394780190546323e-6,-1.2571439050506965e-8,2.1225908578335732e-4,8.268336110121104e-6,-1.2557075378613995e-8,2.1263125815806694e-4,8.137282943263268e-6,-1.2541867403695375e-8,2.1309149641396343e-4,8.042041677157666e-6,-1.2530015745409708e-8,2.1362232923984473e-4,8.023413973770414e-6,-1.2525906367685887e-8,2.141877185477536e-4,8.112834049185048e-6,-1.2533095524318957e-8,2.1473774581068903e-4,8.3210914871919e-6,-1.2553050116063849e-8,2.1522011129794914e-4,8.630080126066386e-6,-1.2584142235542132e-8,2.1559591766686086e-4,8.992908412392393e-6,-1.2621531987775295e-8,2.1585357677476676e-4,9.344915051726786e-6,-1.2658284937238318e-8,2.1601416666211921e-4,9.622593263837225e-6,-1.2687427039128446e-8,2.1612534488552648e-4,9.78287653756447e-6,-1.2704087855205246e-8,2.1624652249650514e-4,9.81514982519467e-6,-1.2706860844017089e-8,2.1643148366610137e-4,9.742398905621779e-6,-1.2697982257149455e-8,2.1671439125053968e-4,9.612686075077394e-6,-1.2682472194826136e-8,2.1710262618754617e-4,9.484942883597433e-6,-1.2666663487275253e-8,2.1757724992220657e-4,9.413689438536168e-6,-1.2656583095773519e-8,2.180998881122663e-4,9.436636301726828e-6,-1.2656579120301334e-8,2.1862349866680082e-4,9.567821662343242e-6,-1.2668481926430359e-8,2.1910382506955763e-4,9.797254291937394e-6,-1.2691451235088495e-8,2.1950852180187367e-4,1.0096209406878957e-5,-1.2722473686840802e-8,2.1982203208259762e-4,1.0425814221374339e-5,-1.2757289563240955e-8,2.2004593990235762e-4,1.0746017377170483e-5,-1.279141904043139e-8,2.2019594725035345e-4,1.1022697089033848e-5,-1.2821004358988786e-8,2.2029723714439854e-4,1.1231954282858246e-5,-1.284332207805951e-8,2.2037976133546005e-4,1.1361792925413278e-5,-1.285697045584737e-8,2.204743050715671e-4,1.1412058566647195e-5,-1.2861837839761607e-8,2.2060942735678435e-4,1.139360836886871e-5,-1.2858986747465736e-8,2.2080886496210573e-4,1.1327297175898568e-5,-1.2850546480647196e-8,2.2108883199633075e-4,1.1242779422350658e-5,-1.2839626876663463e-8,2.2145479727229533e-4,1.117656313941561e-5,-1.2830179748791994e-8,2.218978524119614e-4,1.1168241380550244e-5,-1.2826654765479383e-8,2.223918274118358e-4,1.125368271022084e-5,-1.2833271066266854e-8,2.2289360923823234e-4,1.1454892795233024e-5,-1.2852838922138324e-8,2.2334970247736352e-4,1.1768728623398749e-5,-1.288537714386462e-8,2.2371036423718345e-4,1.2159917386077626e-5,-1.2927189221052759e-8,2.2394786325905398e-4,1.2565129918165497e-5,-1.2971236046903973e-8,2.2407012789687003e-4,1.2910776320851335e-5,-1.3009149058543156e-8,2.2412080512659326e-4,1.3138423398335554e-5,-1.3034156281509835e-8,2.2416403518024246e-4,1.3225258584550226e-5,-1.3043432270151873e-8,2.242617193073924e-4,1.31895428771349e-5,-1.303873108036752e-8,2.244545122747121e-4,1.3080514119203897e-5,-1.302529805681681e-8,2.247533541484739e-4,1.2960154137190002e-5,-1.3009918312410972e-8,2.2514149681588606e-4,1.288542370013457e-5,-1.2999015386017868e-8,2.2558304221404233e-4,1.2896057941767493e-5,-1.2997297157850649e-8,2.2603369392279116e-4,1.3009117176953077e-5,-1.3007061790201875e-8,2.264507770082446e-4,1.3219243737167519e-5,-1.3028087674737915e-8,2.2680097981678127e-4,1.3502917845584759e-5,-1.3057987443448877e-8,2.2706512925085745e-4,1.3825112165154655e-5,-1.3092899943215674e-8,2.2723980182644377e-4,1.4146844760246526e-5,-1.312835960370297e-8,2.2733606659061404e-4,1.4432176615984899e-5,-1.316015072754668e-8,2.2737613010144923e-4,1.4653552288310205e-5,-1.3184975709050629e-8,2.2738889061095103e-4,1.4794967275872633e-5,-1.3200846957566375e-8,2.2740539458427508e-4,1.485298630857986e-5,-1.3207200828708261e-8,2.2745491914188558e-4,1.48361020505556e-5,-1.3204810600297655e-8,2.2756189301271438e-4,1.4763163136429955e-5,-1.3195611648549548e-8,2.2774342945347363e-4,1.4661392768367974e-5,-1.318251654013457e-8,2.2800711646406744e-4,1.4564073938727435e-5,-1.3169225227622847e-8,2.2834878588194946e-4,1.4507553748530596e-5,-1.3159958692847593e-8,2.287503519544513e-4,1.4526782542924386e-5,-1.3158983635572145e-8,2.2917872878590236e-4,1.4648464790645952e-5,-1.3169782666393387e-8,2.2958798770619958e-4,1.4881779191418465e-5,-1.3193861131791164e-8,2.2992738155013117e-4,1.5208892056563145e-5,-1.3229487616666131e-8,2.3015629354228862e-4,1.5580637661667213e-5,-1.3271075564489491e-8,2.3026234150305317e-4,1.5924292688085457e-5,-1.331008459441756e-8,2.3027280889853033e-4,1.6165999528322054e-5,-1.3337725131374554e-8,2.3024916735463958e-4,1.6259694822258185e-5,-1.3348408049319169e-8,2.3026415545918469e-4,1.6206222473384533e-5,-1.334196191813377e-8,2.303737207873722e-4,1.6050930760160185e-5,-1.3323325049974134e-8,2.3059936656605264e-4,1.586282236461781e-5,-1.3300188674521488e-8,2.309273397309413e-4,1.5709080036263402e-5,-1.328019137069129e-8,2.3131987266427655e-4,1.5637160807724585e-5,-1.3268952807786755e-8,2.3172978464227394e-4,1.5668110115491378e-5,-1.3269276372437528e-8,2.3211253167230013e-4,1.579838872190477e-5,-1.3281222326984168e-8,2.3243381968418038e-4,1.6005968044664794e-5,-1.3302645758738719e-8,2.326732628860945e-4,1.6257565449448583e-5,-1.3329918467555854e-8,2.3282524674238283e-4,1.651551762610959e-5,-1.3358697686405669e-8,2.3289788056306504e-4,1.674381866600482e-5,-1.3384673664069943e-8,2.3291052997145164e-4,1.6913063406322665e-5,-1.3404220672953126e-8,2.3289032072172143e-4,1.700401500413197e-5,-1.3414875180816028e-8,2.3286803858424185e-4,1.7009620439693355e-5,-1.3415595856352999e-8,2.328739025738482e-4,1.6935397883075238e-5,-1.3406804390503862e-8,2.3293373693946084e-4,1.6798289595216762e-5,-1.3390246403408823e-8,2.3306590757557672e-4,1.6624355851294292e-5,-1.3368746419574027e-8,2.3327907598190837e-4,1.6445739810291813e-5,-1.334591547674048e-8,2.3357067709120252e-4,1.6297106752196225e-5,-1.3325815392409889e-8,2.3392604926032666e-4,1.621152078481189e-5,-1.3312532903507163e-8,2.3431832644508823e-4,1.6215461539974096e-5,-1.3309583151627188e-8,2.3470981296471905e-4,1.6322593851986297e-5,-1.3319074542987742e-8,2.350563586266793e-4,1.6526652827706943e-5,-1.3340700335972787e-8,2.3531635632917516e-4,1.6795606538324656e-5,-1.3370882993466678e-8,2.3546449597391608e-4,1.7071515543042718e-5,-1.3402687449686616e-8,2.3550651143611578e-4,1.7281479296035646e-5,-1.3427194538859864e-8,2.354860662292638e-4,1.736119067195648e-5,-1.3436455207389577e-8,2.354745423562714e-4,1.7282664410910297e-5,-1.3426879119078932e-8,2.3554413988636483e-4,1.7069422488256228e-5,-1.340100684306105e-8,2.3573843359821594e-4,1.678735137254538e-5,-1.3366380140959267e-8,2.3605794175604995e-4,1.6516440745440828e-5,-1.333226482032832e-8,2.364666128436858e-4,1.6321330128306323e-5,-1.3306309980540544e-8,2.369106704107837e-4,1.6235316784717564e-5,-1.329272307712745e-8,2.373372411284009e-4,1.6259841608278305e-5,-1.3292124623119489e-8,2.3770594596677692e-4,1.6372931299750227e-5,-1.3302373390412671e-8,2.37993246071328e-4,1.6539681380754335e-5,-1.3319651568231e-8,2.3819211939730327e-4,1.6721074059761234e-5,-1.3339438365960858e-8,2.3830961030271236e-4,1.6880231173799742e-5,-1.335727306140373e-8,2.3836375681855868e-4,1.6986636247061285e-5,-1.3369334013755532e-8,2.3838035533166568e-4,1.701905501777484e-5,-1.33728675782703e-8,2.383895323005555e-4,1.6967478698558967e-5,-1.3366467989198284e-8,2.38422070556946e-4,1.6834089647268072e-5,-1.3350197399653409e-8,2.3850556570700744e-4,1.6633066038275236e-5,-1.3325545739040455e-8,2.3866072662191243e-4,1.6388979589520194e-5,-1.32952356240298e-8,2.3889832942241776e-4,1.613376763873816e-5,-1.3262897145540119e-8,2.3921726251748584e-4,1.5902571416136462e-5,-1.3232645062727092e-8,2.3960391772207974e-4,1.5728837101970084e-5,-1.3208572512056224e-8,2.4003306897066437e-4,1.5639090729009958e-5,-1.3194159292205045e-8,2.4047031694471747e-4,1.5647770280759835e-5,-1.3191601366742145e-8,2.408763192909911e-4,1.5752441997243236e-5,-1.320109658813078e-8,2.4121332685415593e-4,1.593012198481269e-5,-1.3220221033409507e-8,2.414543324312317e-4,1.6136500786482835e-5,-1.3243695130072412e-8,2.4159379503856346e-4,1.631092961927605e-5,-1.3263965868818756e-8,2.416563493402631e-4,1.6389819439386743e-5,-1.327294423034196e-8,2.416971351728686e-4,1.6327839253466488e-5,-1.3264745691624821e-8,2.4178793488179986e-4,1.611933231700696e-5,-1.323839068662466e-8,2.4199092390150611e-4,1.580664719687679e-5,-1.3198809867441091e-8,2.4233282522947923e-4,1.546635588883893e-5,-1.315515486800695e-8,2.42795161206397e-4,1.5179028049018296e-5,-1.3117189496490207e-8,2.4332560646111933e-4,1.5000197877739287e-5,-1.3091844309906427e-8,2.4386095630435782e-4,1.494730909943296e-5,-1.3081612462610715e-8,2.443476230301867e-4,1.5004081626133282e-5,-1.3084945993000656e-8,2.447521154769013e-4,1.513382584235183e-5,-1.3097713318885834e-8,2.4506227529865664e-4,1.529290726155764e-5,-1.3114741963102495e-8,2.4528352222681816e-4,1.5440210476210758e-5,-1.3130971246521739e-8,2.454337577216843e-4,1.554235342838633e-5,-1.3142157207141877e-8,2.4553879145722154e-4,1.5576059836117717e-5,-1.3145250706278301e-8,2.456286535961741e-4,1.5529165859651303e-5,-1.313858102750454e-8,2.4573440156436537e-4,1.5401067537156352e-5,-1.312192399297445e-8,2.4588495016140917e-4,1.5202739157127264e-5,-1.3096479904399723e-8,2.4610367254958987e-4,1.4956012999883382e-5,-1.3064759078539774e-8,2.4640490122437197e-4,1.4691580503364029e-5,-1.3030343464314749e-8,2.467909300514352e-4,1.444531172938255e-5,-1.299749108332309e-8,2.472503716788958e-4,1.4252978327617077e-5,-1.2970574858005676e-8,2.4775861981413225e-4,1.4143991993889015e-5,-1.2953383025503955e-8,2.482808292580495e-4,1.4135196216785739e-5,-1.2948356913590524e-8,2.4877732410946555e-4,1.4225995061342692e-5,-1.295589775406787e-8,2.492108317402965e-4,1.439598151292376e-5,-1.297390984283666e-8,2.495546496005041e-4,1.4605934664835293e-5,-1.2997753852338253e-8,2.4980058126312243e-4,1.4802976706468473e-5,-1.3020791083393111e-8,2.499648122532091e-4,1.4930522578149964e-5,-1.3035648974352602e-8,2.500889719183307e-4,1.4942625206491755e-5,-1.3036141981384923e-8,2.502332948927713e-4,1.4819937637970325e-5,-1.301942657528763e-8,2.5046053996871437e-4,1.458121681939785e-5,-1.2987549154608683e-8,2.508142835955966e-4,1.4282610184457833e-5,-1.294739872783118e-8,2.513011655620707e-4,1.4000896174505066e-5,-1.2908626141535389e-8,2.5188749805877945e-4,1.3806467779425598e-5,-1.288027326783674e-8,2.5251290861910285e-4,1.3739666020847875e-5,-1.286777210466249e-8,2.531129543478528e-4,1.3801980509944972e-5,-1.2871727408598455e-8,2.5363851477171943e-4,1.3963248403024858e-5,-1.288867324663838e-8,2.5406475771490327e-4,1.4177059797621997e-5,-1.2912910633960826e-8,2.543902585935145e-4,1.4395467555977205e-5,-1.2938351134914312e-8,2.5463093937902145e-4,1.457846819591566e-5,-1.295977796036463e-8,2.54813136638039e-4,1.4698160028561238e-5,-1.2973461632588474e-8,2.54967981581639e-4,1.4739503755468211e-5,-1.2977324579518188e-8,2.551274405562864e-4,1.4699654562096109e-5,-1.2970877284779953e-8,2.5532142348084824e-4,1.4587027197628657e-5,-1.2955077061468487e-8,2.5557518672666003e-4,1.4420380583572636e-5,-1.2932175481281603e-8,2.5590650103593743e-4,1.4227567224019883e-5,-1.2905548350362233e-8,2.5632253366152845e-4,1.4043212860365394e-5,-1.287943866108471e-8,2.568170361656435e-4,1.3904585536052271e-5,-1.285851192094646e-8,2.5736901125437294e-4,1.384542362248093e-5,-1.2847155402873307e-8,2.5794421239109947e-4,1.388843946076878e-5,-1.2848556465930347e-8,2.5850035030317047e-4,1.403829277109537e-5,-1.2863749847957166e-8,2.589956924459188e-4,1.4277505943607658e-5,-1.2890953907157057e-8,2.5939924357184515e-4,1.4567459494134127e-5,-1.2925525776831505e-8,2.596996993209261e-4,1.4855178454192225e-5,-1.2960705554380696e-8,2.5991041763439313e-4,1.5084813281586183e-5,-1.2989066766874659e-8,2.6006856585053105e-4,1.5211326349834672e-5,-1.3004361087109885e-8,2.602278725687631e-4,1.5213126500508729e-5,-1.3003294012197764e-8,2.6044583194747623e-4,1.5100107540589441e-5,-1.2986715711409487e-8,2.607678954750293e-4,1.4913817381501574e-5,-1.2959760458590743e-8,2.6121309337834975e-4,1.471789554231206e-5,-1.2930675613196354e-8,2.617666739936158e-4,1.4580147819581488e-5,-1.2908507750034461e-8,2.623838952785086e-4,1.4551998820653167e-5,-1.2900372867353652e-8,2.6300436611455946e-4,1.465364176688067e-5,-1.2909389577639032e-8,2.6357084573760297e-4,1.4871017273617807e-5,-1.293411963262422e-8,2.640443869669923e-4,1.5164543154651873e-5,-1.2969586613798102e-8,2.64410737769705e-4,1.548385098723045e-5,-1.3009177614068972e-8,2.6467821443590807e-4,1.5781554620764703e-5,-1.304650817055167e-8,2.648707916531887e-4,1.602193715049497e-5,-1.3076659266674922e-8,2.650204220774552e-4,1.6184189121099728e-5,-1.309668323525758e-8,0.00026516090400317593,1.626199634794566e-5,-1.3105583832666333e-8,2.653238016446657e-4,1.626157432670227e-5,-1.3104045518856175e-8,2.6553584872296177e-4,1.619953400725645e-5,-1.3094120073806924e-8,2.6581694404772865e-4,1.6101034287601604e-5,-1.3078966785871532e-8,2.6617803512994057e-4,1.599792643257314e-5,-1.3062635061321467e-8,2.666186743112128e-4,1.5926127147520803e-5,-1.3049789195619948e-8,2.671247177812508e-4,1.5921303481340893e-5,-1.3045222202262528e-8,2.6766743265218185e-4,1.6012313493671894e-5,-1.3053032308258361e-8,2.682058449019524e-4,1.6212993883764293e-5,-1.3075494404843321e-8,2.6869381754198406e-4,1.6514662380160417e-5,-1.3111934310112453e-8,2.690915392547794e-4,1.688312459406304e-5,-1.3158158531168263e-8,2.693782808806831e-4,1.726356887424719e-5,-1.3206971608799833e-8,2.695612194819721e-4,1.7593764377538284e-5,-1.3249899145305468e-8,2.696757969225932e-4,1.7821710710339604e-5,-1.3279603194733367e-8,2.697766262792751e-4,1.7921174890309415e-5,-1.3292069257397106e-8,2.699221571586634e-4,1.7899381168918985e-5,-1.3287759748585721e-8,2.701585140051222e-4,1.7794662659770487e-5,-1.3271427248333769e-8,2.7050743193193414e-4,1.7665574219650932e-5,-1.3250774476406711e-8,2.70961263500747e-4,1.7575149467220522e-5,-1.3234415117476824e-8,2.714859046544607e-4,1.7574737909080554e-5,-1.3229680863399421e-8,2.7203052331977687e-4,1.769170100835547e-5,-1.324083414757745e-8,2.7254117585821244e-4,1.7924189075479015e-5,-1.3268167506586092e-8,2.729741997691505e-4,1.8244128847031433e-5,-1.3308232751599827e-8,2.733054105239225e-4,1.860683481743521e-5,-1.335506308671976e-8,2.7353289682521516e-4,1.896345349760831e-5,-1.3401893664246537E-08,2.73673842637392e-4,1.9271996265799993e-5,-1.3442759869942829e-8,2.737578282615282e-4,1.9504213337008058e-5,-1.3473535503050086e-8,2.738194967147241e-4,1.9647848480923535e-5,-1.3492301040760689e-8,2.7389256852830313e-4,1.9705491001702175e-5,-1.3499197079042159e-8,2.740058704701865e-4,1.9691777654711647e-5,-1.3496023246278775e-8,2.741810262902575e-4,1.9630334079578346e-5,-1.3485807494797274e-8,2.744310131178127e-4,1.9551058078948304e-5,-1.347245824705066e-8,2.747588655876082e-4,1.948759434125028e-5,-1.3460484076347776e-8,2.7515620852405575e-4,1.9474357175009086e-5,-1.3454669802832967e-8,2.7560192124283077e-4,1.954221941430565e-5,-1.3459536895858992e-8,2.760620815654129e-4,1.9712188518429024e-5,-1.3478446229307413e-8,2.764931140341487e-4,1.998747860898367e-5,-1.3512381587099931e-8,2.768499825458415e-4,2.0346447047745347e-5,-1.3558791588758346e-8,2.7709934818909317e-4,2.0740975236487897e-5,-1.3611211001438215e-8,2.7723376707050325e-4,2.1104902391710272e-5,-1.3660381144345922e-8,2.7727951721184677e-4,2.1372977512600064e-5,-1.3696942301516698e-8,2.7729156569639065e-4,2.150364337470411e-5,-1.371469511192883e-8,2.7733590146886866e-4,2.1494482605572527e-5,-1.3712813986364758e-8,2.7746730910535865e-4,2.1382407878183956e-5,-1.3695935779833347e-8,2.777129170467314e-4,2.1229571564400812e-5,-1.3672319050985458e-8,2.7806720281447627e-4,2.1102980963536406e-5,-1.3651166775522754e-8,2.7849753778370835e-4,2.105639774177976e-5,-1.3640203101975407e-8,2.7895571606205595e-4,2.1119312740397868e-5,-1.36440855384151e-8,2.7939082054513723e-4,2.129380639205303e-5,-1.3663777942921247e-8,2.797602560487331e-4,2.155785003144518e-5,-1.3696778046641539e-8,2.8003725820557e-4,2.1872858482824725e-5,-1.3738005196123418e-8,2.802142004107094e-4,2.219328394309847e-5,-1.3781099702460829e-8,2.8030175709160225e-4,2.2476143948988695e-5,-1.381982555271776e-8,2.8032472939190016e-4,2.268859947612066e-5,-1.3849251125167231e-8,2.803159812312574e-4,2.2812371570131774e-5,-1.386647093141835e-8,2.803101183459111e-4,2.2844791364820303e-5,-1.387080182051307e-8,2.8033821087907477e-4,2.2797146171930603e-5,-1.3863552789390385e-8,2.8042420340903043e-4,2.2691458727297488e-5,-1.3847561307081722e-8,2.8058292600206835e-4,2.2556824850266946e-5,-1.3826691726476474e-8,2.8081916298474405e-4,2.2425953925453616e-5,-1.3805403994071266e-8,2.8112721903985157e-4,2.2331951025042324e-5,-1.3788383591687185e-8,2.8149066344888076e-4,2.2304951530066296e-5,-1.3780134438421739e-8,2.8188238547674434e-4,2.2367947560152177e-5,-1.3784386060479597e-8,2.822658721965546e-4,2.2531246589409013e-5,-1.380320444288144e-8,2.8259936195518845e-4,2.278597036190299e-5,-1.38358812243578e-8,2.828444569445365e-4,2.3098866508920356e-5,-1.3877999412904191e-8,2.82979105364523e-4,2.341279564136978e-5,-1.3921401485040897e-8,2.8301103748081484e-4,2.3657751771110462e-5,-1.3955814384309308e-8,2.8298340770177647e-4,2.37731328817469e-5,-1.3972176264270338e-8,2.8296484207766603e-4,2.3733029889624773e-5,-1.3966353021702428e-8,2.830249037760498e-4,2.3559828091315065e-5,-1.3941085550751729e-8,2.832073180871705e-4,2.331632681640619e-5,-1.3904875495648811e-8,2.8351576155621184e-4,2.308077284889224e-5,-1.3868553787955135e-8,2.8391769853862014e-4,2.2919547763551398e-5,-1.384157822144315e-8,2.8436019434869387e-4,2.287017449835268e-5,-1.3829694080640847e-8,2.847876469600927e-4,2.2937814065198065e-5,-1.3834319348602738e-8,2.8515485284144533e-4,2.3101223801610495e-5,-1.3853146215244e-8,2.85433793371567e-4,2.332264590269975e-5,-1.3881308460203237e-8,2.856153143340677e-4,2.3557815709961442e-5,-1.3912679492992264e-8,2.857074693224336e-4,2.3764383273789843e-5,-1.3941085356826256e-8,2.8573186713930584e-4,2.390828726211465e-5,-1.3961325891680267e-8,2.857188696819171e-4,2.39679560926046e-5,-1.3969911360196299e-8,2.8570231452007376e-4,2.3936257400670855e-5,-1.3965439487283113e-8,2.857144182944666e-4,2.382028199606721e-5,-1.394860030825303e-8,2.8578147687363805e-4,2.3639260037550102e-5,-1.3921869960500952e-8,2.8592084201393037e-4,2.342114432945347e-5,-1.3889012634409748e-8,2.8613931356911184e-4,2.3198585473751224e-5,-1.3854531958188717e-8,2.864327166543551e-4,2.3004883616430312e-5,-1.3823159470958645e-8,2.867863494363946e-4,2.2870125806672398e-5,-1.3799380523453057e-8,2.8717609388622425e-4,2.2817452101605205e-5,-1.378693317459741e-8,2.8757018441867614e-4,2.2859200077940465e-5,-1.378819562942302e-8,2.8793216925267906e-4,2.2992674449651844e-5,-1.3803413833910311e-8,2.8822619040308e-4,2.3196048522297792e-5,-1.3829891060439484e-8,2.8842548394305867e-4,2.3426397377221117e-5,-1.386152544402009e-8,2.885234854253173e-4,2.362330839766609e-5,-1.3889296541301406e-8,2.885438986592403e-4,2.3721722641275258e-5,-1.3903263102308176e-8,2.885424114376653e-4,2.3674183477913317e-5,-1.3896003696172715e-8,2.885929118709168e-4,2.3474313471584593e-5,-1.3866152311867126e-8,2.8875979009874574e-4,2.316637368653028e-5,-1.3819777847051538e-8,2.890704395776163e-4,2.283074746827438e-5,-1.3768264842029872e-8,2.895049885128943e-4,2.2551813469805068e-5,-1.3723757443181604e-8,2.900082669629545e-4,2.2387357101861408e-5,-1.3694865214262721e-8,2.9051374253208817e-4,2.235489612947439e-5,-1.36846867449533e-8,2.909649021340734e-4,2.2436103025525936e-5,-1.3691271872221072e-8,2.9132650488845045e-4,2.2590621258034392e-5,-1.3709370985045623e-8,2.9158637691061105e-4,2.2770429252790272e-5,-1.3732329579321405e-8,2.917517969683068e-4,2.2930448877807925e-5,-1.3753577653967498e-8,2.9184401188628566e-4,2.303489006955536e-5,-1.3767628184703838e-8,2.918927671925494e-4,2.3060445344766418e-5,-1.3770682898745772e-8,2.919314014291164e-4,2.299749274559909e-5,-1.3760937852867262e-8,2.9199247847638013e-4,2.2849926468667013e-5,-1.3738629102849638e-8,2.921039092862608e-4,2.2633834466347406e-5,-1.370584503210565e-8,2.92285666948327e-4,2.2375057960451114e-5,-1.3666144851793793e-8,2.925473850976914e-4,2.2105676829510934e-5,-1.3624037426111123e-8,2.9288716836903646e-4,2.185972836237773e-5,-1.3584395520403735e-8,2.93291734444017e-4,2.1668667070356885e-5,-1.355186975838904e-8,2.937378250344291e-4,2.1556973898122735e-5,-1.3530315087571015e-8,2.941947974500097e-4,2.1538210800188506e-5,-1.3522214675142932e-8,2.9462828965697827e-4,2.161178421989162e-5,-1.3528102494893166e-8,2.950049836659742e-4,2.176062612107966e-5,-1.3546028771640402e-8,2.9529877895283186e-4,2.1950341406551685e-5,-1.3571220417731373e-8,2.95498425036084e-4,2.2131299035723218e-5,-1.3596256341667975e-8,2.956153580837951e-4,2.22458472466366e-5,-1.361215968484941e-8,2.9568840667843486e-4,2.224225736534045e-5,-1.3610641296881544e-8,2.957800686939963e-4,2.2093977823393965e-5,-1.3587181550703598e-8,2.9595999348482825e-4,2.181678085271199e-5,-1.3543713834794471e-8,2.9627849161117025e-4,2.1471574018712877e-5,-1.3489060449153417e-8,2.9674319322068856e-4,2.1145294614123724e-5,-1.343609251827474e-8,2.9731425733706953e-4,2.09172161107864e-5,-1.3396774613550436e-8,2.9792187015270356e-4,2.082994835974585e-5,-1.3377886272534408e-8,2.984942122206886e-4,2.0880413673918396e-5,-1.3379586077781747e-8,2.989796522647844e-4,2.1030612573302552e-5,-1.3396809617098212e-8,2.993552928593664e-4,2.1226817991504233e-5,-1.3421929704689853e-8,2.9962420917402626e-4,2.141632957853267e-5,-1.3447160232838052e-8,2.998076048709863e-4,2.155742331817498e-5,-1.3466074608348756e-8,2.999366508951447e-4,2.162322261659597e-5,-1.3474303011588651e-8,3.0004605342871587e-4,2.160194083120627e-5,-1.3469704117491014e-8,3.001694758979349e-4,2.1495566477339442e-5,-1.3452259987949643e-8,3.003361714790454e-4,2.131801033581268e-5,-1.34238210598226e-8,3.00568250260884e-4,2.109291783629834e-5,-1.3387751649168571e-8,3.0087835205456256e-4,2.0850953582104578e-5,-1.3348491679679161e-8,3.012678716217725e-4,2.062624812724149e-5,-1.3311032550608233e-8,3.0172620046434173e-4,2.045193589878053e-5,-1.3280308792564854e-8,3.0223147737772435e-4,2.0355180263715515e-5,-1.3260534503027968e-8,3.027530905670879e-4,2.03523675046193e-5,-1.3254528922034592e-8,3.0325589739471393e-4,2.0445234386801097e-5,-1.326309141038214e-8,3.0370584098537583e-4,2.061873537337817e-5,-1.3284535301274032e-8,3.0407635475241393e-4,2.084132023298335e-5,-1.3314523112149486e-8,3.043548220950259e-4,2.106807932262644e-5,-1.334635951759101e-8,3.0454817712909907e-4,2.1247259597402573e-5,-1.337190847136496e-8,3.0468606841306306e-4,2.1330590886984806e-5,-1.338324729373875e-8,3.048190993710789e-4,2.1286814653441683e-5,-1.337492842426596e-8,3.0500947292813136e-4,2.1115405047104646e-5,-1.3346293728374482e-8,3.0531334240780847e-4,2.0854333144826318e-5,-1.330280661991811e-8,3.0575933228971686e-4,2.057446009779354e-5,-1.3255246543245369e-8,3.063336126043048e-4,2.035786012500672e-5,-1.3216390908366007e-8,3.0698195437051866e-4,2.0267933422058764e-5,-1.3196404367399528e-8,3.076297906607286e-4,2.0326989761099988e-5,-1.3199302777510673e-8,3.0820929098613465e-4,2.051301152374637e-5,-1.3222284594361782e-8,3.086790667643346e-4,2.0774250916837253e-5,-1.3257795354211066e-8,3.0902959140693113e-4,2.1050411845724763e-5,-1.3296685507824527e-8,3.0927719251130383e-4,2.1289582840270976e-5,-1.3330825505471842e-8,3.0945357058928e-4,2.145674944124067e-5,-1.33545105445674e-8,3.095961699201846e-4,2.153531284308726e-5,-1.3364818313685573e-8,3.0974146708267824e-4,2.152488868920895e-5,-1.3361368767381744e-8,3.0992097203242546e-4,2.1438017800151246e-5,-1.3345858365688848e-8,3.1015887202686857e-4,2.1297039816659653e-5,-1.3321563576426557e-8,3.1047036154725256e-4,2.1131275414374563e-5,-1.3292871575557973e-8,3.1086020309551777e-4,2.0974113615666323e-5,-1.3264820449894448e-8,0.00031132159469673937,2.0859458460963544e-5,-1.3242589706398116e-8,3.118358892299663e-4,2.08172018406579e-5,-1.3230876462418405e-8,3.123739556176808e-4,2.0867961619606607e-5,-1.3233145002595053e-8,3.1289980273878425e-4,2.1017999708571363e-5,-1.3250835029635484e-8,3.133765322075633e-4,2.1255710514705023e-5,-1.3282711917019378e-8,3.1377389441996034e-4,2.1551170659549085e-5,-1.332461455740315e-8,3.1407592571305155e-4,2.1859774047728385e-5,-1.3369828669154369e-8,3.1428671803730246e-4,2.212997996013805e-5,-1.3410177045357869e-8,3.14432506824964e-4,2.2314131680739853e-5,-1.3437721540724634e-8,3.1455876362506394e-4,2.2380463429616143e-5,-1.3446783871977407e-8,3.1472170043465105e-4,2.2323641852085563e-5,-1.3435813847370838e-8,3.1497476110345693e-4,2.217044112756572e-5,-1.3408494160108003e-8,3.153526234579617e-4,2.1976994096751363e-5,-1.337345682081832e-8,3.1585774444304715e-4,2.1815602165497123e-5,-1.3342262745022897e-8,3.1645594131746787e-4,2.1753230588716412e-5,-1.332596859353312e-8,3.170852855440563e-4,2.1829339986754936e-5,-1.3331486306519194e-8,3.1767609064744373e-4,2.204329336795916e-5,-1.335938578246327e-8,3.1817307131503856e-4,2.2357437282565592e-5,-1.3404182809004631e-8,3.185496252597622e-4,2.2713150253212193e-5,-1.3456770258106373e-8,3.188097318692035e-4,2.305068096859074e-5,-1.350756753269062e-8,3.1898017607109944e-4,2.3324049974074164e-5,-1.3548973772346303e-8,3.1909924742474843e-4,2.3507561072834535e-5,-1.3576520061523686e-8,3.192068961684871e-4,2.359541331330978e-5,-1.3588911123510958e-8,3.1933831976116504e-4,2.3597783076813762e-5,-1.358746123971623e-8,3.1952065880791903e-4,2.3536160980096142e-5,-1.3575362908229614e-8,3.19771579080949e-4,2.3439311888661372e-5,-1.3557025218592592e-8,3.200985885643759e-4,2.3340011786561243e-5,-1.3537543756519094e-8,3.2049846336595103e-4,2.3272031254568778e-5,-1.3522245412330314e-8,3.2095680118528186e-4,2.3266656684082567e-5,-1.3516194501257755e-8,3.214482960990994e-4,2.3348264536126095e-5,-1.3523546070473995e-8,3.219387035953197e-4,2.352905494166589e-5,-1.3546710031825095e-8,3.2238945173181284e-4,2.3803973484541637e-5,-1.3585453917150966e-8,3.2276517284783867e-4,2.414782235178386e-5,-1.3636274656717374e-8,3.2304300787259485e-4,2.4516917684648338e-5,-1.369247871891746e-8,3.2322093588827404e-4,2.4856694790520883e-5,-1.374527463790208e-8,3.2332167991338466e-4,2.5114409674883268e-5,-1.3785796286515207e-8,3.233897052011945e-4,2.525357146846435e-5,-1.3807516666649438e-8,3.2348120921461983e-4,2.5265406266578555e-5,-1.3808261001094046e-8,3.2364963922767976e-4,2.5173284625345988e-5,-1.3791120413398418e-8,3.2393091613960477e-4,2.5028248522414485e-5,-1.3763924450587002e-8,3.243327110819311e-4,2.489645279708152e-5,-1.3737355303383892e-8,3.2483114194985555e-4,2.4841661933600615e-5,-1.3722151158493351e-8,3.253764637315329e-4,2.4907661106982096e-5,-1.3726145974744325e-8,3.2590667505080653e-4,2.5106163518978407e-5,-1.3752074004335538e-8,3.263648743232834e-4,2.5414592771149465e-5,-1.3796943801410434e-8,3.267142644419916e-4,2.5784562274762126e-5,-1.3853232512079237e-8,3.2694560655390203e-4,2.6157379978950974e-5,-1.3911368702242648e-8,3.2707552207375036e-4,2.64802029079398e-5,-1.3962446344578679e-8,3.2713809920406574e-4,2.6717260951139974e-5,-1.4000191368277358e-8,3.2717430412455535e-4,2.685395991046812e-5,-1.4021757723105099e-8,3.272230250199076e-4,2.6895095773412356e-5,-1.4027518182301305e-8,3.273154328546555e-4,2.6859988741622723e-5,-1.4020303863838187e-8,3.27472427946398e-4,2.6777052624059808e-5,-1.4004517409235265e-8,3.2770404819257206e-4,2.667917357422416e-5,-1.3985374637999391e-8,3.2800968800751206e-4,2.6600135622202087e-5,-1.396833964272351e-8,3.283784197698704e-4,2.65715822213231e-5,-1.3958675851617953e-8,3.2878934377281676e-4,2.661975357857392e-5,-1.3960963251046796e-8,3.2921252136175277e-4,2.6761429111553565e-5,-1.397844020247438e-8,3.2961152402647006e-4,2.699907821559547e-5,-1.4012129808211943e-8,3.29948753915105e-4,2.7316263206531952e-5,-1.4059921868231094e-8,3.3019401009220286e-4,2.7675690266479282e-5,-1.4116060189696021e-8,3.303348983515174e-4,2.8023052525526852e-5,-1.417164175112956e-8,3.303851664433875e-4,2.8298564869411255e-5,-1.4216501609523993e-8,3.303858174704456e-4,2.845434313568276e-5,-1.4242167403395092e-8,3.303959416014983e-4,2.847131185450436e-5,-1.424477933710207e-8,3.304753311960585e-4,2.8367701265917583e-5,-1.4226626167552076e-8,3.3066574499633107e-4,2.8194592527739406e-5,-1.4195561924860455e-8,3.3097847333721307e-4,2.8020371048836455e-5,-1.4162617817120332e-8,3.3139229136450047e-4,2.7910733393913838e-5,-1.4138840614943994e-8,3.318610576038761e-4,2.7911418740544573e-5,-1.4132437583694847e-8,3.32327158660616e-4,2.8038257552148033e-5,-1.4146944421067845e-8,3.3273630146328536e-4,2.8275956095937735e-5,-1.4180721826563061e-8,3.3304982043797914e-4,2.8584590280257757e-5,-1.4227750741366778e-8,3.332518772704476e-4,2.8911198090895583e-5,-1.4279413650778645e-8,3.3335044303321585e-4,2.9203016014443303e-5,-1.4326720121414798e-8,3.3337264600420897e-4,2.9418844303718548e-5,-1.4362340255230543e-8,3.333565716870711e-4,2.953593528593423e-5,-1.438192328577023e-8,3.333423100299153e-4,2.955156240787833e-5,-1.4384490907506754e-8,3.333646227280616e-4,2.9480245799448394e-5,-1.4372041376989542e-8,3.3344841055820307e-4,2.9348582447400512e-5,-1.434870041016347e-8,3.3360692534264394e-4,2.9189588504290738e-5,-1.4319770705147037e-8,3.338418939605668e-4,2.903780052882538e-5,-1.429092220642219e-8,3.341445478842576e-4,2.8925502238673784e-5,-1.4267598983776846e-8,3.3449686902692956e-4,2.8879716510260736e-5,-1.4254567192028621e-8,3.34872893630502e-4,2.8919305085978387e-5,-1.4255452413328958e-8,3.3524046998712566e-4,2.905162633610626e-5,-1.4272125495191893e-8,3.3556438983591447e-4,2.926868042533546e-5,-1.4303906971243346e-8,3.358120415655983e-4,2.9543700862908523e-5,-1.4346787820191492e-8,3.359620973953016e-4,2.9830621885824582e-5,-1.4393165436296007e-8,3.3601476557872876e-4,3.0069847654572008e-5,-1.4432765793470925e-8,3.3599911919222826e-4,3.020259394749606e-5,-1.4455159337401374e-8,3.3597110300592314e-4,3.019141034190686e-5,-1.4453385307179457e-8,3.35998526488256e-4,3.00380349093956e-5,-1.4427081304578546e-8,3.3613729850181856e-4,2.9787423935761663e-5,-1.4383225010504009e-8,3.3641053011372276e-4,2.9513350056419022e-5,-1.4333808242876725e-8,3.368014006431015e-4,2.9292449987817804e-5,-1.4291641185111276e-8,3.3726185452744576e-4,2.9179980574871958e-5,-1.4266408426820145e-8,3.377303740186198e-4,2.9197037823386694e-5,-1.4262469364142498e-8,3.3814986945613203e-4,2.9330730888683372e-5,-1.427863436126763e-8,3.3848010158714516e-4,2.9543115154846164e-5,-1.4309336642064932e-8,3.38703273259897e-4,2.9783603206552747e-5,-1.4346471770152776e-8,3.388238715787891e-4,3.0001002317025725e-5,-1.4381352417660723e-8,3.388645512106792e-4,3.015313826145052e-5,-1.4406430035573901e-8,3.388596992978482e-4,3.0213214891368453e-5,-1.441656210821404e-8,3.388480896868653e-4,3.0172579589435465e-5,-1.4409671063513486e-8,3.3886595201610624e-4,3.0040010984943417e-5,-1.4386745775937594e-8,3.389415616773652e-4,2.983826465857231e-5,-1.435129353309962e-8,3.3909197448769624e-4,2.9599024245251944e-5,-1.4308467177209232e-8,3.393219732788287e-4,2.935743690567301e-5,-1.4264115645959442e-8,3.396247872186201e-4,2.9147198599977515e-5,-1.4223960274082391e-8,3.3998384944594585e-4,2.8996680396776103e-5,-1.419298232822601e-8,3.4037497978542483e-4,2.8925994092867653e-5,-1.4174970094013113e-8,3.4076876816749476e-4,2.8944576739562157e-5,-1.4172101451461987e-8,3.4113333363185183e-4,2.9048903134653624e-5,-1.4184452613283302e-8,3.4143806830900614e-4,2.9220259014859665e-5,-1.4209426481068721e-8,3.416592313159679e-4,2.942335957385573e-5,-1.4241300071719586e-8,3.4178768959361645e-4,2.9607879560626548e-5,-1.4271351102299056e-8,3.418373350901813e-4,2.971582378240197e-5,-1.4289150939638257e-8,3.4184996084014505e-4,2.9696727082961728e-5,-1.4285356690807156e-8,3.418902633601011e-4,2.952827110856552e-5,-1.425546855762454e-8,3.420270707706498e-4,2.9232745927517535e-5,-1.4202771104298555e-8,3.4230607491550166e-4,2.8876464783064984e-5,-1.4138250014917669e-8,3.4272891522547444e-4,2.8547270391760742e-5,-1.4076783978948293e-8,3.432521860159393e-4,2.8320914566404532e-5,-1.4031512125887654e-8,3.4380643577638096e-4,2.8235399587572567e-5,-1.4009518407800017e-8,3.4432227839255926e-4,2.8284922903914585e-5,-1.4010681330376893e-8,3.4474989405392577e-4,2.8430706232186193e-5,-1.4029244458375631e-8,3.450667007921132e-4,2.8618389049455682e-5,-1.405649452639386e-8,3.4527564357985356e-4,2.879355388007985e-5,-1.4083250375345564e-8,3.453987654829163e-4,2.8912049121438285e-5,-1.4101646097180218e-8,3.45469585268103e-4,2.894525815503267e-5,-1.4106194425210915e-8,3.4552604642457406e-4,2.8881730901118583e-5,-1.4094281874326899e-8,3.4560455047242703e-4,2.8726431535401165e-5,-1.4066215283106948e-8,3.457351529958053e-4,2.84982490045257e-5,-1.4024875511406945e-8,3.459380666037131e-4,2.8226171437823553e-5,-1.397505116091795e-8,3.462216637718113e-4,2.794459723979762e-5,-1.3922581182171141e-8,3.4658209986642525e-4,2.7688322235778394e-5,-1.3873458405560078e-8,3.4700449561030034e-4,2.748781270498401e-5,-1.3833031101689292e-8,3.474653304988083e-4,2.7365322208472776e-5,-1.3805386540778746e-8,3.479355692431911e-4,2.7332084280176915e-5,-1.3792904236856692e-8,3.483841987506852e-4,2.738651159118678e-5,-1.3795909548384521e-8,3.48782076015223e-4,2.7513276120753096e-5,-1.3812375954175199e-8,3.4910623716508923e-4,2.768327317176719e-5,-1.3837706596348546e-8,3.493450066374296e-4,2.785497909947437e-5,-1.3864767635512509e-8,3.4950380428156456e-4,2.7978582520697178e-5,-1.388452258098352e-8,3.496101796449104e-4,2.800470747307293e-5,-1.3887648902006153e-8,3.4971470295323565e-4,2.7898579782032046e-5,-1.3867255990212172e-8,3.498829672228969e-4,2.7657103890016168e-5,-1.3822133605209417e-8,3.5017591926531956e-4,2.7320571946380355e-5,-1.375894735333673e-8,3.5062370726759935e-4,2.6967510508779796e-5,-1.3691352108885298e-8,3.512076836751679e-4,2.668829415482261e-5,-1.3635359280006073e-8,3.518645594543916e-4,2.6549168451208284e-5,-1.3603044848274974e-8,3.525120860381075e-4,2.6567976763254272e-5,-1.359825241655584e-8,3.530801471377777e-4,2.671440633051558e-5,-1.3616465703002289e-8,3.5353016455276417e-4,2.692942938290615e-5,-1.3647971513994665e-8,3.538577002956241e-4,2.7148881753446637e-5,-1.3681795510084634e-8,3.540840771794443e-4,2.7320151877578618e-5,-1.3708567939664234e-8,3.542449634789241e-4,2.740961864282937e-5,-1.372191839944505e-8,3.543805993034693e-4,2.7403434203548572e-5,-1.3718799059739425e-8,3.545289983413223e-4,2.730498627401825e-5,-1.3699233288566783e-8,3.547216624954893e-4,2.7131303055044464e-5,-1.366581028187246e-8,3.5498087228620824e-4,2.690928730173587e-5,-1.3623050830270064e-8,3.5531797095255416e-4,2.6671814970846222e-5,-1.3576675347345746e-8,3.557325408326314e-4,2.6453572621222732e-5,-1.3532810617513158e-8,3.562126332903402e-4,2.628664184351773e-5,-1.3497191162436568e-8,3.5673629776197384e-4,2.619610347960688e-5,-1.3474416118620455e-8,3.5727449108908464e-4,2.6196233744873596e-5,-1.3467331827186608e-8,3.577951171362706e-4,2.628789151186731e-5,-1.3476583429700484e-8,3.582677504977914e-4,2.6457485603445368e-5,-1.3500355686777276e-8,3.5866856083210973e-4,2.667773719840518e-5,-1.3534335889835297e-8,3.58984983565573e-4,2.691031135287597e-5,-1.3571967951946276e-8,3.592197788921785e-4,2.7110381522096033e-5,-1.3605104433755066e-8,3.5939395836391525e-4,2.723347733466807e-5,-1.3625211838772243e-8,3.5954731475294516e-4,2.7245005640118063e-5,-1.3625233122092842e-8,3.5973439287282456e-4,2.7131819567977223e-5,-1.3601941703224978e-8,3.600135954575884e-4,2.6912915110491107e-5,-1.355814290805302e-8,3.60429073295564e-4,2.664325075241653e-5,-1.3503526756102676e-8,3.60990418920039e-4,2.64034696792908e-5,-1.3452835801158697e-8,3.6166146352094975e-4,2.6273775898966717e-5,-1.3421074493356377e-8,3.623688032765512e-4,2.630225709809558e-5,-1.3417659611230746e-8,3.6302889191182174e-4,2.6485921915614753e-5,-1.3442821004948017e-8,3.635787000997205e-4,2.6775836053406942e-5,-1.3488337737398986e-8,3.6399313254539714e-4,2.7100845265447172e-5,-1.3541675775041822e-8,3.6428387361378935e-4,2.739386253867796e-5,-1.3590675845310196e-8,3.644865074909421e-4,2.7608376878739416e-5,-1.3626575377250361e-8,3.6464576613601913e-4,2.7723005292816395e-5,-1.364495582745406e-8,3.6480461555127395e-4,2.77383404850266e-5,-1.3645341642181487e-8,3.6499818740537e-4,2.76710053685678e-5,-1.3630271402829668e-8,3.6525122259954397e-4,2.754788664050142e-5,-1.360432815008887e-8,3.6557730310316335e-4,2.7401492817728636e-5,-1.357329062063108e-8,3.659787553882458e-4,2.72661665993695e-5,-1.3543394730429565e-8,3.6644689750384423e-4,2.7174555417879994e-5,-1.352065178127914e-8,3.669628241382334e-4,2.7153908983776746e-5,-1.3510179030065285e-8,3.674992016602788e-4,2.7222166045638933e-5,-1.3515526234079713e-8,3.68023539090487e-4,2.73843521332642e-5,-1.3538046023492725e-8,3.685030041719975e-4,2.7630228716345682e-5,-1.357642629855776e-8,3.689102801263324e-4,2.793415315314418e-5,-1.362653567100988e-8,3.692294796808659e-4,2.825781083626839e-5,-1.368173224189925e-8,3.694608523244996e-4,2.8555916027981706e-5,-1.3733727733496358e-8,3.6962307871807993e-4,2.8784249160797294e-5,-1.3773978177336275e-8,3.697522993353289e-4,2.8908903102290343e-5,-1.3795451641862713e-8,3.6989731803456434e-4,2.8915385836666257e-5,-1.3794521381371401e-8,3.701106527110447e-4,2.8815745762559872e-5,-1.3772576532502819e-8,3.704358354453675e-4,2.8651045702873957e-5,-1.3736749819577554e-8,3.7089307273516974e-4,2.8486040803253674e-5,-1.369908367506479e-8,3.714679608227572e-4,2.8394043726751596e-5,-1.3673710854101186e-8,3.7210991213757036e-4,2.843405066778115e-5,-1.3672440108961631e-8,3.7274498490128303e-4,2.8628554579815174e-5,-1.3700371291720451e-8,3.733002400374539e-4,2.8953884905579092e-5,-1.375383654447321e-8,3.737283127161456e-4,2.934966667201483e-5,-1.3821992572909582e-8,3.74019840199307e-4,2.9742318752869464e-5,-1.3891158565206442e-8,3.741996113300426e-4,3.0069483883304552e-5,-1.3949424588473654e-8,3.743121974552402e-4,3.0294519375517385e-5,-1.3989456769194334e-8,3.7440629029591007e-4,3.0408720943630665e-5,-1.4009040575435913e-8,3.745237271452724e-4,3.042555417326966e-5,-1.4010137999684472e-8,3.7469432233555345e-4,3.0372415163084517e-5,-1.399745265579277e-8,3.7493481407911624e-4,3.0283392801809747e-5,-1.3977121315336288e-8,3.7524974009757705e-4,3.0194074963467853e-5,-1.3955729687359219e-8,3.7563276072333213e-4,3.013796030115297e-5,-1.3939607838651707e-8,3.7606789752317216e-4,3.014358067755694e-5,-1.3934276197156442e-8,3.765308715945007e-4,3.0231593508346177e-5,-1.394391327502817e-8,3.769911447976581e-4,3.0411553226949515e-5,-1.3970762499094855e-8,3.774153866080384e-4,3.067874957136116e-5,-1.4014505540693484e-8,3.7777276900158004e-4,3.101223988098575e-5,-1.4071785355970582e-8,3.780416881621932e-4,3.137561973052833e-5,-1.4136185048005719e-8,3.782164562994042e-4,3.1721813892388676e-5,-1.4198962795870701e-8,3.7831168136817563e-4,3.2002044707192615e-5,-1.4250643304019193e-8,3.7836207867593326e-4,3.2177378338159576e-5,-1.4283213281041604e-8,3.784166470845473e-4,3.222972568760059e-5,-1.4292338201740607e-8,3.7852801727424653e-4,3.216882097511682e-5,-1.4278915068388991e-8,3.7873941235653586e-4,3.2032643792585974e-5,-1.4249424676350356e-8,3.7907250187723524e-4,3.1880386191779476e-5,-1.4214835935159804e-8,3.79519524138801e-4,3.1778859253417956e-5,-1.4188143257430748e-8,3.800425591675725e-4,3.1785057707013906e-5,-1.4180988668013144e-8,3.8058155833472476e-4,3.192941802742809e-5,-1.420023019579586e-8,3.810702007095623e-4,3.220552703223705e-5,-1.424564138430845e-8,3.814550608339061e-4,3.257118968284767e-5,-1.4309824655516338e-8,3.8171088610531375e-4,3.2961679962287354e-5,-1.4380610992098202e-8,3.818457030615165e-4,3.3310117296884816e-5,-1.444499449135639e-8,3.8189440825249304e-4,3.356630414228731e-5,-1.4492871054400158e-8,3.8190518456659355e-4,3.3706990005561714e-5,-1.4519156100786139e-8,3.8192545511999565e-4,3.3735939536645784e-5,-1.4523932873023375e-8,0.00038199221663132935,3.36770574780388e-5,-1.4511243699103591e-8,3.8212794959808886e-4,3.356532850735636e-5,-1.44874232515469e-8,3.8234068283503006e-4,3.3438964212912564e-5,-1.445961632653455e-8,3.826260695837975e-4,3.333397058547786e-5,-1.4434725361888601e-8,3.8296985541619517e-4,3.328078604508245e-5,-1.4418750654133305e-8,3.8335002714571484e-4,3.3302014460873146e-5,-1.441635218389012e-8,3.837387391287661e-4,3.341034772114456e-5,-1.4430449062814374e-8,3.841046361875188e-4,3.3606223967194986e-5,-1.4461732780659432e-8,3.844163948873668e-4,3.3875453388444264e-5,-1.4508108409027856e-8,3.846481026697538e-4,3.4187920503036706e-5,-1.4564283527851176e-8,3.8478626988731516e-4,3.449926174844078e-5,-1.4621926226168586e-8,3.8483677916458626e-4,3.475742957885683e-5,-1.4670832194101453e-8,3.8482854708888275e-4,3.491455839733871e-5,-1.4701226812136726e-8,3.8481043392111564e-4,3.4941584971485933e-5,-1.4706695752866484e-8,3.8484010168733006e-4,3.484013825587449e-5,-1.468664371357169e-8,3.8496755452253895e-4,3.464574228765504e-5,-1.4647105606473425e-8,3.852194666708856e-4,3.4419635873436564e-5,-1.4599384135326243e-8,3.8559051584685747e-4,3.4231768838361375e-5,-1.4556966089518085e-8,3.8604470174984556e-4,3.4141257634779535e-5,-1.4531832281699271e-8,3.8652549596401316e-4,3.4180796113487486e-5,-1.4531324827219252e-8,3.8697101818921484e-4,3.434917801281351e-5,-1.4556386882613265e-8,3.8732970092140794e-4,3.461318978913546e-5,-1.4601550234372074e-8,3.875723463890504e-4,3.491766325493246e-5,-1.4656605918405712e-8,3.8769763284319733e-4,3.5200524303996284e-5,-1.4709446876581307e-8,3.8772997811639925e-4,3.540841369879993e-5,-1.474921260370285e-8,3.877109937265693e-4,3.550840337825738e-5,-1.476877406003373e-8,3.8768778169230556e-4,3.5492866851361164e-5,-1.476588786722735e-8,3.877020190388187e-4,3.5377264492801586e-5,-1.4742916279944912e-8,3.8778272420060984e-4,3.519311331097323e-5,-1.4705540490345767e-8,3.8794354267678884e-4,3.497940485725285e-5,-1.4661111679795208e-8,3.88183621815305e-4,3.4775082366194856e-5,-1.4617171125102894e-8,3.8849040862005046e-4,3.4613774624727124e-5,-1.4580401934381552e-8,3.888429039948693e-4,3.452069902788002e-5,-1.4556015515333534e-8,3.8921458948142855e-4,3.45109299576898e-5,-1.4547412738969088e-8,3.8957597873680495e-4,3.4588150401447517e-5,-1.455591709815627e-8,3.8989728274007056e-4,3.474336635341969e-5,-1.4580440622513306e-8,3.9015195396758514e-4,3.495368121352255e-5,-1.4617090694513199e-8,3.9032177735499337e-4,3.5182101792084835e-5,-1.4658947568485471e-8,3.9040340540185385e-4,3.5380277120652675e-5,-1.4696467881042956e-8,3.904146306630224e-4,3.549631641986946e-5,-1.4719008759851094e-8,3.903967427080332e-4,3.548836893154207e-5,-1.4717615696219794e-8,3.9040860609677376e-4,3.534095270614115e-5,-1.468840935651692e-8,3.905107938530057e-4,3.507658782265891e-5,-1.4635025503981219e-8,3.9074435561294203e-4,3.4754301960084933e-5,-1.4568447883446436e-8,3.911142837911334e-4,3.445237060488615e-5,-1.4503769375063293e-8,3.915867065914306e-4,3.4242280516138355e-5,-1.4455241755727162e-8,3.9210098851033884e-4,3.416630020580259e-5,-1.4431921054112957e-8,3.9258978921974933e-4,3.42277415173893e-5,-1.4435583191215956e-8,3.92997891960016e-4,3.43949587943332e-5,-1.446115512515839e-8,3.9329397995157005e-4,3.4614214184008465e-5,-1.4498870429778417e-8,3.934741228294369e-4,3.482529654460197e-5,-1.4537116508416524e-8,3.935585439745504e-4,3.497539271070658e-5,-1.456516089516988e-8,3.935841244453831e-4,3.502882428209544e-5,-1.4575248316469991e-8,3.935950084123615e-4,3.497180118274077e-5,-1.4563798423281858e-8,3.9363335905265697e-4,3.4812268755863353e-5,-1.453161028551469e-8,3.9373196934599825e-4,3.457567997812712e-5,-1.4483168817569692e-8,3.9390985158140024e-4,3.4298244121273065e-5,-1.442534785326174e-8,3.941710735045695e-4,3.401951202215226e-5,-1.4365908871774454e-8,3.945062887672119e-4,3.377587091359689e-5,-1.431215883946541e-8,3.948959058166358e-4,3.3595868201667825e-5,-1.4269990715109863e-8,3.9531378332501087e-4,3.34975018387911e-5,-1.4243345355196083e-8,3.95730734118531e-4,3.348697905005418e-5,-1.4233969882786683e-8,3.9611767962868447e-4,3.3558268125866676e-5,-1.424129255710753e-8,3.964487102877791e-4,3.3693000306870486e-5,-1.4262290516375536e-8,3.9670457560232427e-4,3.386072530925677e-5,-1.429136009013897e-8,3.96877142245794e-4,3.402026478479182e-5,-1.4320404114221407e-8,3.96974675963087e-4,3.412377428846557e-5,-1.433955280018419e-8,3.970263033690597e-4,3.412534347773198e-5,-1.4338948576893425e-8,3.970821930901893e-4,3.3994646882125137E-05,-1.4311677516442803e-8,3.972051269460485e-4,3.373258641401384e-5,-1.4257126814339408e-8,3.9745171697619185e-4,3.3380857036472385e-5,-1.4183048350455968e-8,3.9784887548471545e-4,3.3015677815108926e-5,-1.4104376616313594e-8,3.983784208606685e-4,3.272315572911758e-5,-1.4038376360391643e-8,3.989810077392129e-4,3.2567028222608205e-5,-1.3998275239165507e-8,3.995784033932848e-4,3.256650678484111e-5,-1.3988808427858587e-8,4.001011450991133e-4,3.269479846358877e-5,-1.4005705396679457e-8,4.0050766556828905e-4,3.2894820685850835e-5,-1.4038489709830286e-8,4.0078956955466436e-4,3.310064022337845e-5,-1.407446327281956e-8,4.0096621978551547e-4,3.325505206119748e-5,-1.4102093289319672e-8,4.010745404447036e-4,3.3319672146671645e-5,-1.4113112716440347e-8,4.0115849496576356e-4,3.3278246778498246e-5,-1.4103416685224999e-8,4.0126036221118603e-4,3.3135359116825646e-5,-1.4073080729645138e-8,4.014143685471576e-4,3.291243375807629e-5,-1.4025773677232568e-8,4.0164265136440953e-4,3.264223661405534e-5,-1.3967743564302586e-8,4.019534608500238e-4,3.236272447032621e-5,-1.390655605379301e-8,4.023414451750576e-4,3.211102729665613e-5,-1.3849797898036786e-8,4.0278971307670453e-4,3.191824538468825e-5,-1.3803953237611915e-8,4.032731686233601e-4,3.18056089510052e-5,-1.3773602883065726e-8,4.037624347508987e-4,3.178228329803735e-5,-1.376099772735688e-8,4.0422776760387706e-4,3.184466222614487e-5,-1.3765925422093045e-8,4.0464271102872616e-4,3.1976751617668895e-5,-1.3785736315062855e-8,4.049875078121135e-4,3.2151373504918296e-5,-1.3815449042655647e-8,4.0525242347578963e-4,3.2332175019236376e-5,-1.3847964962952615e-8,4.0544119121250843e-4,3.2476862419152035e-5,-1.3874561986942388e-8,4.05574305140568e-4,3.254270756363941e-5,-1.3885979640020726e-8,4.0569066632959827e-4,3.249544686392352e-5,-1.3874369128060043e-8,4.0584474135106326e-4,3.232141920233108e-5,-1.3836033795223245e-8,4.060959597117366e-4,3.203981711665866e-5,-1.3774198864523915e-8,4.0648944202457856e-4,3.170776499799547e-5,-1.3700205970255192e-8,4.070339380710125e-4,3.14094387988266e-5,-1.3631320248747382e-8,4.076901544592694e-4,3.122757281338524e-5,-1.3584880382566213e-8,4.083808447150242e-4,3.1209812559531696e-5,-1.357136683146307e-8,4.090200221087287e-4,3.1349995147856346e-5,-1.3590446140588086e-8,4.0954443123187515e-4,3.1595103343674464e-5,-1.3632168430282483e-8,4.099303837683666e-4,3.187049880203468e-5,-1.3681872256090355e-8,4.101918277261662e-4,3.210671035463291e-5,-1.3725481876963942e-8,4.103671176469619e-4,3.225608889167277e-5,-1.3752883934071199e-8,4.1050398879131114e-4,3.2297665182539014e-5,-1.3759059927073484e-8,4.106480562172606e-4,3.223425978678608e-5,-1.3743742869076615e-8,4.108359107796797e-4,3.208637535174844e-5,-1.371041895829871e-8,4.1109180515318115e-4,3.188566709771694e-5,-1.366514943234374e-8,4.1142658815250326e-4,3.166901056491771e-5,-1.3615380156688916e-8,4.118380537063425e-4,3.147326545835003e-5,-1.3568790580043022e-8,4.123123872285276e-4,3.1330693322293186e-5,-1.3532246924646132e-8,4.1282660990819755e-4,3.12650855735152e-5,-1.3510937230181173e-8,4.1335194038861985e-4,3.12888232285669e-5,-1.3507759179538763e-8,0.00041385782791872523,3.14012402587035e-5,-1.3523006860697865e-8,4.143162097043059e-4,3.158851800056764e-5,-1.3554343762603742e-8,4.147055736697891e-4,3.182504325345812e-5,-1.3596998591413753e-8,4.150145461827425e-4,3.207610038134238e-5,-1.3644157727172217e-8,4.1524476893370035e-4,3.230183268389632e-5,-1.368759809958973e-8,4.1541284364256985e-4,3.2462481911037404e-5,-1.3718658948585584e-8,4.1555091775811174e-4,3.252513293742975e-5,-1.3729683805619488e-8,4.1570478512098117e-4,3.247211793603926e-5,-1.3715984522395111e-8,4.159276624200048e-4,3.2310116826504505e-5,-1.3678055124053507e-8,4.1626805702971783e-4,3.2076790804311726e-5,-1.3623245822332607e-8,4.167524617387805e-4,3.1839355536118996e-5,-1.3565610929515464e-8,4.173687071937988e-4,3.1679433606488e-5,-1.352271054257597e-8,4.180608672886187e-4,3.166480571656874e-5,-1.3509541984888306e-8,4.187443288713044e-4,3.182021371545731e-5,-1.353221487846181e-8,4.193369682737023e-4,3.211533218369021e-5,-1.3585218588590153e-8,4.1978931227977685e-4,3.247863499575709e-5,-1.3654153761093438e-8,4.2009704087509506e-4,3.282777137229304e-5,-1.3721983897773367e-8,4.202929904690921e-4,3.309778073197644e-5,-1.377490014751364e-8,4.2042859167406205e-4,3.325494568929429e-5,-1.3805267082687721e-8,4.2055631802961126e-4,3.329635406528146e-5,-1.3811685967344244e-8,4.207187075410816e-4,3.324181570289828e-5,-1.3797529601781316e-8,4.209438553744661e-4,3.312430221578908e-5,-1.376914696052265e-8,4.212450114021482e-4,3.29820290127452e-5,-1.3734307231289387e-8,4.2162200611876914e-4,3.285276439909095e-5,-1.3700985550654417e-8,4.220632466273461e-4,3.276974175556986e-5,-1.3676406563612262e-8,4.225479806825113e-4,3.275847057478871e-5,-1.3666274054639809e-8,4.2304896717371235e-4,3.283409778896946e-5,-1.367416405793029e-8,4.23535782825238e-4,3.299935006506142e-5,-1.3701088573561653e-8,4.2397886988324306e-4,3.3243478824476034e-5,-1.374527589841765e-8,4.2435406637511227e-4,3.354279531934157e-5,-1.3802236076034794e-8,4.246470102477941e-4,3.3863147891369016e-5,-1.3865160722445153e-8,4.248566904943515e-4,3.4164346787876715e-5,-1.392568757735148e-8,4.249974307882397e-4,3.4406249583597606e-5,-1.3975043403899051e-8,4.2509869023787635e-4,3.455590008719841e-5,-1.4005525482322397e-8,4.252022353167417e-4,3.4594902384809774e-5,-1.4012200930378964e-8,4.2535628227180944e-4,3.452606191561703e-5,-1.3994602436161527e-8,4.2560627053101944e-4,3.437774195887487e-5,-1.3957997791203556e-8,4.259826655671023e-4,3.42033544248866e-5,-1.3913552496987838e-8,4.2648812302165757e-4,3.407288572264099e-5,-1.3876612700332113e-8,4.2708920644435e-4,3.405490071168592e-5,-1.3862734860228985e-8,4.2771960286236156e-4,3.419246160656786e-5,-1.388224482934693e-8,4.2829858276369735e-4,3.4483331127508464e-5,-1.39356667397566e-8,4.287591800201008e-4,3.487711132752329e-5,-1.401286696741407e-8,4.2907189221625086e-4,3.529375343362766e-5,-1.4096933853643936e-8,4.2925111181198606e-4,3.5653822332007866e-5,-1.4170691079982273e-8,4.293431436633978e-4,3.590386737424457e-5,-1.422220020649449e-8,4.294057069943159e-4,3.602629900089709e-5,-1.4246968028465437e-8,4.2949028887441184e-4,3.603476243390713e-5,-1.4247107509361492e-8,4.296326637699373e-4,3.596258975350247e-5,-1.422906114426545e-8,4.298507830160587e-4,3.585122067538412e-5,-1.4201284229219959e-8,4.30146821619837e-4,3.574178595192985e-5,-1.4172502101488057e-8,4.305105528179752e-4,3.567004669500458e-5,-1.4150577469349977e-8,4.309225690144668e-4,3.566353502127585e-5,-1.4141794633184363e-8,4.3135708115020477e-4,3.5739694174433475e-5,-1.4150368611616155e-8,4.3178466029482305e-4,3.5904363120716595e-5,-1.4178070671429282e-8,4.321754230960808e-4,3.615055457113382e-5,-1.4223940930016515e-8,4.3250300470527235e-4,3.645801938170371e-5,-1.4284152898436964e-8,4.327492141671965e-4,3.6794455062480333e-5,-1.4352180111878265e-8,4.329086361301494e-4,3.711914037777242e-5,-1.441944170755436e-8,4.329919362284678e-4,3.738922622588004e-5,-1.4476525706585657e-8,4.3302648954548616e-4,3.756805202918171e-5,-1.4514923144055002e-8,4.330533235187689e-4,3.763391300210855e-5,-1.4528989528198715e-8,4.331202330514279e-4,3.7587099620632155e-5,-1.4517675625248134e-8,4.33271953934643e-4,3.7453099149815584e-5,-1.4485529520827118e-8,4.335391170749413e-4,3.728040086638992e-5,-1.4442540122095772e-8,4.3392835970523195e-4,3.713209968463934e-5,-1.4402528788363379e-8,4.344165500758634e-4,3.707165347756771e-5,-1.4380064897967802e-8,4.3495230062594813e-4,3.714511840207765e-5,-1.438637838413005e-8,4.3546692736868404e-4,3.7364868229131036e-5,-1.4425430174624792e-8,4.3589372030768185e-4,3.7701867510223756e-5,-1.4491842764582526e-8,4.361893091351183e-4,3.8092289800798756e-5,-1.4572120153155367e-8,4.3634757852403625e-4,3.8457985039809324e-5,-1.464910812938325e-8,4.363991796352178e-4,3.8732147174392066e-5,-1.4707727290935779e-8,4.3639763452364114e-4,3.887826414780291e-5,-1.4739264857224268e-8,4.364001722647106e-4,3.889525252824335e-5,-1.474263969373984e-8,4.364523016838084e-4,3.881021476354108e-5,-1.4722977299200551e-8,4.365804771433114e-4,3.866556340462599e-5,-1.468896039574687e-8,4.367919722871205e-4,3.8506926413442914e-5,-1.4650297668231218e-8,4.370786669043261e-4,3.837491837753309e-5,-1.4615939698352876e-8,4.3742177567648004e-4,3.8300841711920557e-5,-1.4593067497875068e-8,4.377959505900983e-4,3.830495380523125e-5,-1.4586611379527836e-8,4.3817246361271725e-4,3.839583492266989e-5,-1.4599028669935255e-8,4.385219262133009e-4,3.856996202628723e-5,-1.4630154871815322e-8,4.388172474094774e-4,3.881133934777927e-5,-1.4677068982739351e-8,4.3903736753377824e-4,3.909172438758446e-5,-1.4734059655137036e-8,4.39171785700476e-4,3.9372492362129876e-5,-1.4792916472356046e-8,4.392250878709724e-4,3.9609287825052854e-5,-1.48438349018792e-8,4.392197841418492e-4,3.9760010138741e-5,-1.4877110525214467e-8,4.391952872335693e-4,3.9795215836805176e-5,-1.488546114998337e-8,4.392015028478242e-4,3.9708130526000964e-5,-1.4866368508482124e-8,4.392874740657098e-4,3.9520303226885334e-5,-1.4823547388579492e-8,4.3948798661524503e-4,3.927964654825381e-5,-1.4766788554084115e-8,4.3981252877586845e-4,3.905019462021475e-5,-1.4709963203151688e-8,4.4024057367895406e-4,3.889606668889953e-5,-1.4667637174980205e-8,4.407251019923313e-4,3.886426054421898e-5,-1.465121537204819e-8,4.4120371732378895e-4,3.897130268161372e-5,-1.4665702138134793e-8,4.4161456567829924e-4,3.919776198075389e-5,-1.4708062006301217e-8,4.41912806692747e-4,3.949272215218089e-5,-1.4767828043097781e-8,4.4208268554817335e-4,3.978761101197567e-5,-1.4829982902345276e-8,4.421409699762284e-4,4.001548958358082e-5,-1.4879284623686034e-8,4.421303237867017e-4,4.012928886396741e-5,-1.4904509091663218e-8,4.4210531633417574e-4,4.011254468451751e-5,-1.4901064005645254e-8,4.421168168722615e-4,3.997960143327207e-5,-1.487124044964496e-8,4.422004451507053e-4,3.9767094807069e-5,-1.4822485598136494e-8,4.4237183113721076e-4,3.9521669753076244e-5,-1.4764783122292205e-8,4.426279491665109e-4,3.928881642907068e-5,-1.4708204056709783e-8,4.429518454747351e-4,3.91054375635812e-5,-1.4661205248835662e-8,4.433181067887932e-4,3.899632725145631e-5,-1.4629752573422735e-8,4.436975223791884e-4,3.8973357147412855e-5,-1.4617048273316101e-8,4.4406056405082626e-4,3.903590468819179e-5,-1.4623561502714967e-8,4.4438008650014344e-4,3.91715076460056e-5,-1.4647122090138582e-8,4.446339768961001e-4,3.935646602380224e-5,-1.4682981479505956e-8,4.448083963396037e-4,3.955684978592832e-5,-1.4723927049201846e-8,4.4490177030358924e-4,3.973098128986008e-5,-1.4760714274992125e-8,4.4492878725670593e-4,3.9834759260079374e-5,-1.4783179135015065e-8,4.4492247041699046e-4,3.983068781073579e-5,-1.4782276848273152e-8,4.4493150521741963e-4,3.9699639584905065e-5,-1.4752832416571488e-8,4.4501065268293756e-4,3.945150399211428e-5,-1.4696101798232349e-8,4.452051621230111e-4,3.912878232058367e-5,-1.4620773630123115e-8,4.4553450758414917e-4,3.879851843897706e-5,-1.4541367888067542e-8,4.459831270119789e-4,3.853341144760553e-5,-1.4474199279655483e-8,4.4650334228181737e-4,3.83892962100095e-5,-1.4432428557074345e-8,4.470294963479162e-4,3.838843851633301e-5,-1.4422210720894016e-8,4.474971022466872e-4,3.8514644123259556e-5,-1.4441268698217063e-8,4.4785977033990704e-4,3.872025545847296e-5,-1.4480033042680275e-8,4.480991934681107e-4,3.8940889744311725e-5,-1.4524608121518424e-8,4.48226794522255e-4,3.911257774162124e-5,-1.4560498684405491e-8,4.482780588321118e-4,3.918669829382871e-5,-1.457607889926847e-8,4.4830195410043057e-4,3.913954024565277e-5,-1.4565007306195704e-8,4.483485381147606e-4,3.8974954360315984e-5,-1.4527125710483059e-8,4.484579671969714e-4,3.872030337677846e-5,-1.4467791545713628e-8,4.4865345969394e-4,3.841765061935548e-5,-1.4396030200337683e-8,4.489392960449042e-4,3.811327623924533e-5,-1.4322193270630174e-8,4.4930320331229367e-4,3.7848511485026534e-5,-1.4255821744391228e-8,4.497213338957374e-4,3.765366154702086e-5,-1.4204163537672068e-8,4.5016388935185643e-4,3.7545304813913294e-5,-1.4171463776027224e-8,4.5060002058532647e-4,3.752619081927828e-5,-1.415888242467012e-8,4.5100150770761724e-4,3.758652962581753e-5,-1.4164756572674547e-8,4.5134546376081325e-4,3.7705677615177184e-5,-1.4184941935731645e-8,4.5161665818218725e-4,3.785383751499737e-5,-1.4213111016563784e-8,4.518100423627256e-4,3.7994051971822126e-5,-1.4241074681839239e-8,4.5193371514478737e-4,3.8085369823532785e-5,-1.4259379743515523e-8,4.5201173652522936e-4,3.808847352382779e-5,-1.4258553184670598e-8,4.5208492668352473e-4,3.797471001575803e-5,-1.4231251193107125e-8,4.522066971808626e-4,3.77376787180318e-5,-1.4175095272905575e-8,4.5243135935849304e-4,3.7403252871591634e-5,-1.4095172040726785e-8,4.5279582657719995e-4,3.7030874343293475e-5,-1.4004497095542028e-8,4.5330172975054594e-4,3.6700112219684904e-5,-1.3921072538958264e-8,4.539088056613535e-4,3.648437266876659e-5,-1.3861984223206524e-8,4.545461169138244e-4,3.642372882885231e-5,-1.3837216692123784e-8,4.5513658700048617e-4,3.651138922317251e-5,-1.3846408129259836e-8,4.556220323441288e-4,3.66997016694241e-5,-1.3879890283223254e-8,4.559775185965056e-4,3.691969978430192e-5,-1.3922769386842146e-8,4.562122242740801e-4,3.710309854736905e-5,-1.3959682858114987e-8,4.5636084388552884e-4,3.7198647914217366e-5,-1.397848887776796e-8,4.564712492187718e-4,3.7180239677984124e-5,-1.3972296643507357e-8,4.5659257815677795e-4,3.7047788247771294e-5,-1.393998633269255e-8,4.5676585962010804e-4,3.682314037864092e-5,-1.3885605024489333e-8,4.57017899354544e-4,3.65430985371316e-5,-1.3816998895031419e-8,4.573585513254664e-4,3.625115082842816e-5,-1.3743986972765052e-8,4.5778120823241134e-4,3.5989329685002914e-5,-1.367641965358165e-8,4.582659310878471e-4,3.579152347703973e-5,-1.3622494409608255e-8,4.587842300484169e-4,3.567911872805785e-5,-1.3587614246913989e-8,4.5930436312677383e-4,3.565921697959824e-5,-1.357389940117045e-8,4.5979615512869434e-4,3.572510183973148e-5,-1.358027877351196e-8,4.6023475988321376e-4,3.585820060660067e-5,-1.360294284347647e-8,4.6060335832733674e-4,3.6030722091809204e-5,-1.3635911870639802e-8,4.60895139188042e-4,3.6208528902177354e-5,-1.3671590860836431e-8,4.6111494690815154e-4,3.635429757026502e-5,-1.3701352069797334e-8,4.612807925415506e-4,3.6431488839050474e-5,-1.3716346193401218e-8,4.614247987373746e-4,3.6410027954227026e-5,-1.3708835750741679e-8,4.6159205914533125e-4,3.62743262879114e-5,-1.3674231350069227e-8,4.6183498055835207e-4,3.6032773953528615e-5,-1.3613573886357206e-8,4.6220096368370197e-4,3.572504366766511e-5,-1.3535497406452498e-8,4.627142460022724e-4,3.5420516607509466e-5,-1.345601089443765e-8,4.633589570077975e-4,3.520158587923049e-5,-1.339462640412944e-8,4.640754895656249e-4,3.5133781640715624e-5,-1.336732887285183e-8,4.6477797333421513e-4,3.523710146370312e-5,-1.337976511947418e-8,4.653863109243403e-4,3.5476761963375476e-5,-1.3424888861955243e-8,4.658546211216421e-4,3.577942568893229e-5,-1.3486488367131025e-8,4.661813358342299e-4,3.6063351831523195e-5,-1.3545965988268696e-8,4.664004611033069e-4,3.626473218857858e-5,-1.3588320959816941e-8,4.665639958352068e-4,3.6350407228647365e-5,-1.360513303776225e-8,4.6672541684679767e-4,3.631790496298228e-5,-1.3594788762173888e-8,4.6692865416770923e-4,3.618845377576418e-5,-1.3561187150119446e-8,4.672026368560225e-4,3.5997925297469526e-5,-1.3511940939945172e-8,4.6755982834898976e-4,3.5788386314177225e-5,-1.3456575605413407e-8,4.67997179408685e-4,3.5601078032541834e-5,-1.3404875559273569e-8,4.684985923176623e-4,3.5470812389852354e-5,-1.3365423942936016e-8,4.6903849108559164e-4,3.542180047068913e-5,-1.3344439413006975e-8,4.695861596821659e-4,3.546508508953634e-5,-1.3345040436527447e-8,4.7011041192164126e-4,3.559772500847251e-5,-1.3367006714160734e-8,4.705840542170844e-4,3.580375537789526e-5,-1.3407016011675667e-8,4.7098759753275935e-4,3.6056678871433476e-5,-1.3459233547938723e-8,4.7131190949890184e-4,3.632298007574168e-5,-1.3516078049011552e-8,4.71559790690804e-4,3.6566204934469644e-5,-1.3569053058169974e-8,4.717465735754899e-4,3.6751383530202755E-05,-1.3609647477316639e-8,4.718998124130554e-4,3.684981905601746e-5,-1.3630405599256602e-8,4.7205781579265745e-4,3.684452081682734e-5,-1.3626310087204059e-8,4.7226605766033966e-4,3.673637051258554e-5,-1.3596506069195115e-8,4.725699924678846e-4,3.654994787786842e-5,-1.3546025765795578e-8,4.730033180778431e-4,3.6336041112372295e-5,-1.3486667699711668e-8,4.7357300089362716e-4,3.616604739808837e-5,-1.3435763281303896e-8,4.74246972161772e-4,3.611397064008277e-5,-1.3411769997669891e-8,4.7495468950762464e-4,3.6228226616847743e-5,-1.342728801093758e-8,4.756075265498231e-4,3.6506596772157785e-5,-1.3482806498111208e-8,4.761324789643435e-4,3.68921215314555e-5,-1.3565521966204982e-8,4.76500027685036e-4,3.729587464380291e-5,-1.3654665288008376e-8,4.7672987690625123e-4,3.763293743393644e-5,-1.3730017018062513e-8,4.768749775046739e-4,3.7850136442992455e-5,-1.3778472109271951e-8,4.7699763159739244e-4,3.7934345672070496e-5,-1.379606231317544e-8,4.7715085690734735e-4,3.790502947009683e-5,-1.3786386207802384e-8,4.7736947329048336e-4,3.780076670277705e-5,-1.3757715344810296e-8,4.7766881383462853e-4,3.7666865402247315e-5,-1.3720316041747617e-8,4.780473761409701e-4,3.7546640888132714e-5,-1.368447808114495e-8,4.7849069816615584e-4,3.747611264933771e-5,-1.3659170952435136e-8,4.789752246660876e-4,3.748091718942398e-5,-1.3651117518452754e-8,4.7947201707088224e-4,3.757448492495361e-5,-1.3664168314897276e-8,4.799505077512641e-4,3.775714321569889e-5,-1.3698971973992664e-8,4.803824002412184e-4,3.801622409426613e-5,-1.3752971782310215e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_11.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_11.json new file mode 100644 index 000000000..765f637b6 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_11.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":11000,"numberOfSamples":1000,"samples":[4.807455898115237e-4,3.832746570992544e-5,-1.3820749559112586e-8,4.810276804026849e-4,3.8657939483712816e-5,-1.3894708855793208e-8,4.8122851144731977e-4,3.897037866353488e-5,-1.3966029941865335e-8,4.8136122169643126e-4,3.922846753666153e-5,-1.4025813189547578e-8,4.8145158055841605e-4,3.94025277918899e-5,-1.406634943105251e-8,4.815355041583503e-4,3.9474978459853574e-5,-1.408245537787128e-8,4.8165478219839815e-4,3.9445013590506954e-5,-1.4072791780691197e-8,4.8185089652025466e-4,3.933196966399209e-5,-1.4041008026015441e-8,4.8215671196515623e-4,3.9176311765079673e-5,-1.3996340784096513e-8,4.825864763543066e-4,3.9036228711670225e-5,-1.3953028790341758e-8,4.8312623641597524e-4,3.897747212754661e-5,-1.3927849119148707e-8,4.837291888970253e-4,3.9055456474574426e-5,-1.3935510387344442e-8,4.843221611312391e-4,3.929313827217236e-5,-1.3982860442730526e-8,4.848265247112546e-4,3.966499254457847e-5,-1.4064616609993489e-8,4.8518733416020557e-4,4.009980545620315e-5,-1.4163881241573302e-8,4.853950931909375e-4,4.050581912340954e-5,-1.425830655995102e-8,4.854866151667581e-4,4.080574058134305e-5,-1.4328715323638037e-8,4.85525688196407e-4,4.096178493042818e-5,-1.4365239392562207e-8,4.855772001398806e-4,4.0979862819758134e-5,-1.4368394366073396e-8,4.856885804979649e-4,4.089713112766541e-5,-1.4346234987150922e-8,4.8588326125485515e-4,4.076435074414623e-5,-1.4310345248447114e-8,4.8616296080937287e-4,4.063161994000118e-5,-1.4272594843316575e-8,4.865136173432042e-4,4.054008405187016e-5,-1.4243172616081504e-8,4.8691142789272524e-4,4.051847158520118e-5,-1.4229620182921136e-8,4.8732762934217247e-4,4.0582299326150006e-5,-1.4236433463507242e-8,4.8773212709177916e-4,4.07341134689005e-5,-1.4264941962397524e-8,4.880965967034294e-4,4.096407600183585e-5,-1.4313353517338398e-8,4.88397573177068e-4,4.1250927252936434e-5,-1.4376959666340294e-8,4.886197129387349e-4,4.1563798332032156e-5,-1.4448564853229553e-8,4.887589435265532e-4,4.1865488207741994e-5,-1.451924254306548e-8,4.888247307700336e-4,4.211748974787741e-5,-1.4579476522027053e-8,4.888405100767859e-4,4.228641181812268e-5,-1.462064263346648e-8,4.888415356313333e-4,4.235083017747227e-5,-1.463666315611464e-8,4.888699069788087e-4,4.2307124574301165e-5,-1.462554429370797e-8,4.889672434197426e-4,4.2172729191325406e-5,-1.459042628142175e-8,4.89166100944331e-4,4.198561886052198e-5,-1.4539802909504917e-8,4.894815424795779e-4,4.179941029790374e-5,-1.4486638095790344e-8,4.899045597653066e-4,4.16738571918689e-5,-1.4446179472955758e-8,4.903995543457572e-4,4.1661226263416274e-5,-1.4432491631334258e-8,4.909084078410756e-4,4.179064877681403e-5,-1.4454232713012669e-8,4.913629055658968e-4,4.205495921373214e-5,-1.4510927067288458e-8,4.917043498415898e-4,4.2406630471518614e-5,-1.4591584452824552e-8,4.919041260653661e-4,4.2768455240018365e-5,-1.4677226547185713e-8,4.91975143734432e-4,4.30581023135401e-5,-1.4747087713819914e-8,4.919667281492841e-4,4.321634341236769e-5,-1.4785795141156964e-8,4.919450134806429e-4,4.322488299346272e-5,-1.4787918091785175e-8,4.919696544610528e-4,4.310619995991277e-5,-1.4758043194016052e-8,4.920780610928328e-4,4.2909134196637064e-5,-1.4707389424281414e-8,4.922813225790399e-4,4.269033595193827e-5,-1.464944226297227e-8,4.925688425220637e-4,4.249988199139718e-5,-1.4596537842685818e-8,4.92916302217559e-4,4.2373819969799324e-5,-1.4557994767186664e-8,4.932930424762773e-4,4.233227598512297e-5,-1.4539483417289066e-8,4.936673798735039e-4,4.2380499169877454e-5,-1.4543082916464466e-8,4.940100632622315e-4,4.251078828128216e-5,-1.4567604259159937e-8,4.942967406427109e-4,4.27043504794895e-5,-1.4608973846901326e-8,4.945102476677884e-4,4.2933063498730834e-5,-1.4660638792530654e-8,4.946431248320447e-4,4.316170803770033e-5,-1.4714088579726986e-8,4.947001929114915e-4,4.335150966562856e-5,-1.4759675319273507e-8,4.947003518474758e-4,4.3465620460088586e-5,-1.4787908056141978e-8,4.946762700491294e-4,4.3476391218321277e-5,-1.4791230435817252e-8,4.946706632709735e-4,4.337312853241991e-5,-1.4766006598097854e-8,4.947286919062398e-4,4.316792790944356e-5,-1.4714140745679074e-8,4.948875598480194e-4,4.289680338026428e-5,-1.46436248866499e-8,4.951660198459949e-4,4.261431606960693e-5,-1.4567507684274658e-8,4.955572023782361e-4,4.238205390573295e-5,-1.4501266960766878e-8,4.960275056948562e-4,4.225356593077395e-5,-1.4459112508157139e-8,4.965226079965434e-4,4.225970770296015e-5,-1.445012992875491e-8,4.969797348841862e-4,4.239855798309805e-5,-1.4475344797421208e-8,4.973435745501257e-4,4.263333074298414e-5,-1.452672530286383e-8,4.975817616767804e-4,4.290011641573763e-5,-1.4588789841322534e-8,4.976949342797306e-4,4.31246291984686e-5,-1.4642736998874316e-8,4.977169933512843e-4,4.32435191844831e-5,-1.4671952404593025e-8,4.977043744489744e-4,4.3222752491909916e-5,-1.4666876259907704e-8,4.977180995272924e-4,4.30657402384419e-5,-1.4627283126456636e-8,4.978060190996614e-4,4.280844975449757e-5,-1.4561258969220208e-8,4.979920722311104e-4,4.2505071693506214e-5,-1.4481783123106343e-8,4.982749931993637e-4,4.221149461163865e-5,-1.4402704387878677e-8,4.986341351162414e-4,4.1972812399652274e-5,-1.4335614319282961e-8,4.99038023174974e-4,4.181724732728816e-5,-1.4288203371298527e-8,4.994521132236064e-4,4.1755451375511826e-5,-1.4263899128169458e-8,4.998442497099592e-4,4.1782774302784495e-5,-1.4262268021020732e-8,5.001879318353291e-4,4.1882399162322495e-5,-1.4279703860248156e-8,5.004642516735846e-4,4.202823461485221e-5,-1.4310113798395751e-8,5.006634317541689e-4,4.218742398465999e-5,-1.4345522650409268e-8,5.007865154243883e-4,4.232301933686223e-5,-1.4376697915433863e-8,5.008471450808845e-4,4.239771827120947e-5,-1.4394026271468186e-8,5.008726192415792e-4,4.237947661390274e-5,-1.4388889379628621e-8,5.009027064025104e-4,4.224906691188224e-5,-1.4355605708386248e-8,5.009844664141034e-4,4.200814399437556e-5,-1.4293595372097094e-8,5.011622958425812e-4,4.168457799010023e-5,-1.4208933086185455e-8,5.014648490094809e-4,4.133098997158663e-5,-1.4114222164068199e-8,5.018933871908035e-4,4.1014046129932506e-5,-1.4026120755346876e-8,5.024172779489319e-4,4.079629120466331e-5,-1.3960894019653134e-8,5.029800978344093e-4,4.0716851663191706e-5,-1.3929502673170868e-8,5.035149205751237e-4,4.0778803174321974e-5,-1.3934148788121047e-8,5.039631026052139e-4,4.0948067350335475e-5,-1.3967574412809247e-8,5.042898951464934e-4,4.116358529728348e-5,-1.4015214047407058e-8,5.044923433820881e-4,4.1354546447450864e-5,-1.405930760929713e-8,5.045980853346142e-4,4.145904379395495e-5,-1.4083628433054094e-8,5.046562864241187e-4,4.143903113694813e-5,-1.4077491031220824e-8,5.047237703547672e-4,4.128796116298141e-5,-1.4038013428869964e-8,5.048504577142612e-4,4.1029648300892024e-5,-1.3970152894372228e-8,5.050682042868694e-4,4.070946922079784e-5,-1.3884718542673423e-8,5.053857892959258e-4,4.038129871002777e-5,-1.3795175637434057e-8,5.057904773855169e-4,4.0094587167200846e-5,-1.3714342555419928e-8,5.062542972907671e-4,3.988514116215506e-5,-1.3651908298048012e-8,5.067420758582822e-4,3.9771018930213065e-5,-1.36131932106548e-8,5.072186700798977e-4,3.9752847710952766e-5,-1.3599056334601855e-8,5.076541049257842e-4,3.981679039448647e-5,-1.3606552572220539e-8,5.080265636895346e-4,3.993839829792082e-5,-1.3629887915207912e-8,5.083239056768367e-4,4.008625429723009e-5,-1.366134539027628e-8,5.085445405312649e-4,4.02251540015048e-5,-1.3692068130210929e-8,5.086982215653529e-4,4.031923748367069e-5,-1.3712790472901225e-8,5.088067942896942e-4,4.033585746282454e-5,-1.3714758380114217e-8,5.089042016332715e-4,4.0250984480183826e-5,-1.369110873241738e-8,5.090342370463796e-4,4.005630209267127e-5,-1.36387919547938e-8,5.09244162874289e-4,3.976656292219734e-5,-1.3560660497017656e-8,5.095732393487734e-4,3.942360984383623e-5,-1.3466737784983145e-8,5.100381218559963e-4,3.9092145563312785e-5,-1.3373334502326575e-8,5.106211663506831e-4,3.884421714299498e-5,-1.3299185546533904e-8,5.112695708256073e-4,3.873558642398053e-5,-1.325938777322804e-8,5.119093049859852e-4,3.878426446529394e-5,-1.3259745614206067e-8,5.124690770718819e-4,3.896273593345075e-5,-1.3294485083970076e-8,5.129030399538616e-4,3.920805997219822e-5,-1.3348486880023718e-8,5.13202292093832e-4,3.944384781038976e-5,-1.3402621757432825e-8,5.133926118135372e-4,3.9603311868793384e-5,-1.3439524368879208e-8,5.135225876503645e-4,3.964513077729718e-5,-1.344773648237942e-8,5.136484244188965e-4,3.955939833262208e-5,-1.3423498173910979e-8,5.138202846515992e-4,3.936503101320661e-5,-1.337045078206997e-8,5.140727251366115e-4,3.9101620258126494e-5,-1.3297891578819023e-8,5.144200439889327e-4,3.8818723273896924e-5,-1.3218230049065295e-8,5.148563248939854e-4,3.8565076244178615e-5,-1.31442269252279e-8,5.153592942705727e-4,3.8379720577811564e-5,-1.3086552229207539e-8,5.158965586590853e-4,3.8286402743178446e-5,-1.3052102047767048e-8,5.164325300028227e-4,3.829166482457637e-5,-1.3043289492522785e-8,5.169345624266961e-4,3.838611140678518e-5,-1.3058250794240458e-8,5.173773998025525e-4,3.854777091398222e-5,-1.3091694599441699e-8,5.177457469094699e-4,3.8746318140652295E-05,-1.3136024508001314e-8,5.180353753683765e-4,3.894721737733719e-5,-1.3182422098429487e-8,5.182533801875123e-4,3.9115464526579055e-5,-1.322176802538456e-8,5.184180207872244e-4,3.9219155018714586e-5,-1.3245479826195314e-8,5.185582174206982e-4,3.923339887816621e-5,-1.3246473160946539e-8,5.187121920390923e-4,3.9145162676454723e-5,-1.3220474590964729e-8,0.00051892397371530155,3.895909776742693e-5,-1.316773040159988e-8,5.192361363727685e-4,3.8702959631497384e-5,-1.3094695644609137e-8,5.19678041196177e-4,3.8429183553321686e-5,-1.3014701920521112e-8,5.20251698135249e-4,3.820781513346968e-5,-1.2946243125940887e-8,5.209217831712024e-4,3.810779889170091e-5,-1.2908049988956758e-8,5.216188239536118e-4,3.817071047034634e-5,-1.2912046211167408e-8,5.222596846655533e-4,3.8389929217076366e-5,-1.295764933741635e-8,5.227776981227885e-4,3.870942493105218e-5,-1.3031193682067312e-8,5.231462221446176e-4,3.90449333361414e-5,-1.3111251595486714e-8,5.233834624169179e-4,3.9315346546736246e-5,-1.3176687479802485e-8,5.235394281321812e-4,3.946752696132619e-5,-1.3213083897284422e-8,5.236754233317036e-4,3.9485713744511626e-5,-1.3215295714260378e-8,5.238462568216775e-4,3.9387314888452363e-5,-1.3186630329662888e-8,5.240896667697123e-4,3.921173128856953e-5,-1.3136310014778118e-8,5.244226644038686e-4,3.900801174331826e-5,-1.3076572242619164e-8,5.248426426550115e-4,3.882439799199982e-5,-1.3020069826079723e-8,5.253311937372029e-4,3.870065090327242e-5,-1.2977767650741354e-8,5.258593061790778e-4,3.8663123547147846e-5,-1.2957402470289928e-8,5.263931056407179e-4,3.8722437005912813e-5,-1.2962597830659435e-8,5.268994400545242e-4,3.887355383309786e-5,-1.2992693609541672e-8,5.273506944811689e-4,3.909786013135494e-5,-1.304323238147115e-8,5.277283618928682e-4,3.9366737045691754e-5,-1.310693161469982e-8,5.280251104455353e-4,3.964596224958332e-5,-1.3174889451303355e-8,5.282454335082373e-4,3.990022972843365e-5,-1.3237768428264953e-8,5.284052231946588e-4,4.009736888639202e-5,-1.3286836033079106e-8,5.285305494829884e-4,4.021225325537939e-5,-1.3314912562979519e-8,5.286557060394544e-4,4.0230579521206196e-5,-1.3317363974876683e-8,5.288202403339737e-4,4.015271335318547e-5,-1.3293259523465599e-8,5.290641459351538e-4,3.999743645858218e-5,-1.3246644881952389e-8,5.29420183065172e-4,3.980429049478516e-5,-1.3187490243689071e-8,5.299032094367221e-4,3.963165594186321e-5,-1.313141009986588e-8,5.304988417193463e-4,3.9546878333224285e-5,-1.3097054263167734e-8,5.311574317731786e-4,3.96065921173356e-5,-1.3100650126240523e-8,5.318014578119245e-4,3.98319165292681e-5,-1.3149038022273758e-8,5.32349611324718e-4,4.019180005671327e-5,-1.3234910936428494e-8,5.327485204893838e-4,4.0608738174731215e-5,-1.3338177317094923e-8,5.32993774836213e-4,4.098800442554419e-5,-1.3433731281722263e-8,5.331274981533502e-4,4.125409164773492e-5,-1.3501160283562443e-8,5.332164335123858e-4,4.137379163363762e-5,-1.353087213849061e-8,5.333259193608972e-4,4.13576666322837e-5,-1.3524569124303872e-8,5.335024650995162e-4,4.124644008992089e-5,-1.3491904463169542e-8,5.337679129261047e-4,4.109355822924989e-5,-1.3446225415098136e-8,5.341216559001369e-4,4.0951180469202836e-5,-1.340113134321436e-8,5.345463734211426e-4,4.0861572281668134e-5,-1.3368231159593744e-8,5.350143019353962e-4,4.0852955656746325e-5,-1.3355852072504397e-8,5.354928423825327e-4,4.093817556745151e-5,-1.3368381791204466e-8,5.359493976739728e-4,4.111506478866112e-5,-1.3406093750610092e-8,5.363555591240247e-4,4.136805710751307e-5,-1.3465430533373401e-8,5.366906062535734e-4,4.167087291184944e-5,-1.353970510439085e-8,5.369441549435876e-4,4.199017748541348e-5,-1.3620131233801054e-8,5.371176836764395e-4,4.229004758300979e-5,-1.3697055796399448e-8,5.372246939412618e-4,4.2536815840649555e-5,-1.376122922588961e-8,5.372894831724115e-4,4.2703741062777625e-5,-1.3804984921125316e-8,5.373446669618185e-4,4.277512234113474e-5,-1.3823300988072162e-8,0.00053742757544824975,4.27496117961429e-5,-1.3814764582700658e-8,5.375755603610683e-4,4.264248462223457e-5,-1.3782413644499372e-8,5.378200593904353e-4,4.2486472593883745e-5,-1.373430126808111e-8,5.381792508290428e-4,4.233015478549633e-5,-1.368338167500512e-8,5.386499283189473e-4,4.223204705859813e-5,-1.3646059069466792e-8,5.392010226639216e-4,4.224848840771485e-5,-1.3638780125339982e-8,5.397734225659609e-4,4.2415447202705524e-5,-1.3672723821927818e-8,5.402914650870005e-4,4.272937436938092e-5,-1.3748141826012162e-8,5.406870951769552e-4,4.3138228021123006e-5,-1.3851605137995859e-8,5.409276624223462e-4,4.355360016244392e-5,-1.3959259082476329e-8,5.410308634400444e-4,4.388299832113226e-5,-1.404572807505199e-8,5.410560312127462e-4,4.406544519190341e-5,-1.409387560046213e-8,5.410774246421454e-4,4.4090008179269903e-5,-1.4099829500317099e-8,5.411566007764416e-4,4.399025355105983e-5,-1.4071552354515442e-8,5.413273035270495e-4,4.3823916588713976e-5,-1.4023612135435341e-8,5.415945168970027e-4,4.365179453199496e-5,-1.3971835246327046e-8,5.41941678191083e-4,4.3523829968479546e-5,-1.3929763987744986e-8,5.423397870270695e-4,4.3473105445618066e-5,-1.3906988846966135e-8,5.427550475932729e-4,4.3515132910834864e-5,-1.3908697960636151e-8,5.431542404764803e-4,4.364960885200329e-5,-1.393582992804166e-8,5.435083954292767e-4,4.386290135691708e-5,-1.3985503452994463e-8,5.437955680521673e-4,4.413075019834189e-5,-1.4051648813651171e-8,5.440031193610353e-4,4.442130458093591e-5,-1.4125847171957948e-8,5.441294904295869e-4,4.4698775986850106e-5,-1.4198377383350764e-8,5.441851609821107e-4,4.4927902109817414e-5,-1.4259451932272639e-8,5.44192274379237e-4,4.5079042801761985e-5,-1.4300570677415424e-8,5.441825131835359e-4,4.513324877772769e-5,-1.4315854380231034e-8,5.441931678314615e-4,4.508643514283918e-5,-1.4303200161377657e-8,5.442616930190452e-4,4.495182030705989e-5,-1.4265097005812744e-8,5.444193252662113e-4,4.475992062198913e-5,-1.420891194830896e-8,5.446845113517835e-4,4.455563870804244e-5,-1.4146439051286658e-8,5.450570012046475e-4,4.439214140356481e-5,-1.4092482439868092e-8,5.455138259491807e-4,4.432123995689494e-5,-1.4062247519459378e-8,5.460091567979519e-4,4.4380529159655735e-5,-1.4067548181360422e-8,5.464806332929459e-4,4.457933352573298e-5,-1.411246534473196e-8,5.468639351101996e-4,4.488842557502628e-5,-1.41900303462031e-8,5.471137114483806e-4,4.5240836901430264e-5,-1.4282186009332701e-8,5.472228700801882e-4,4.5549104705021665e-5,-1.436459415403402e-8,5.472286408053625e-4,4.573542557700775e-5,-1.4415174862346914e-8,5.471991045330296e-4,4.576046398285103e-5,-1.4422216878027767e-8,5.47206448294467e-4,4.56349055279638e-5,-1.4387623676551349e-8,5.473019740297997e-4,4.5409058585348715e-5,-1.4324164571538933e-8,5.475045890269017e-4,4.5149831126079944e-5,-1.4249406835206891e-8,5.47803705825606e-4,4.4918876045973197e-5,-1.4180002072172085e-8,5.481698176479473e-4,4.4759851057189094e-5,-1.412830013525889e-8,5.48565692247331e-4,4.469494792163449e-5,-1.410125538583461e-8,5.489546078069922e-4,4.4727065395722936e-5,-1.4100722236229494e-8,5.493051789854964e-4,4.484400912140682e-5,-1.4124308082445898e-8,5.495938405083384e-4,4.5022613923846395e-5,-1.4166321890606745e-8,5.498062624304646e-4,4.523222436300298e-5,-1.4218687392005276e-8,5.499384595504489e-4,4.54378852388539e-5,-1.4271863647322725e-8,5.49997724894559e-4,4.560386201037831e-5,-1.4315865288538859e-8,5.500030030438457e-4,4.5697985530979016e-5,-1.434147018981161e-8,5.499839508065228e-4,4.5696843463098964e-5,-1.4341625669559141e-8,5.499779032270899e-4,4.559110119398946e-5,-1.4312908167490931e-8,5.500244181110129e-4,4.5389582007094315e-5,-1.4256724128095877e-8,5.50157883005538e-4,4.512048381923619e-5,-1.417984329569152e-8,5.503995686945172e-4,4.482844257285975e-5,-1.4093882581779136e-8,5.507511242321261e-4,4.456714389146746e-5,-1.4013561269086788e-8,5.511914791808575e-4,4.438847474538031e-5,-1.3953862718354635e-8,5.516785262955729e-4,4.43302010252111e-5,-1.3926532510634918e-8,5.521561635635225e-4,4.4404755979930705e-5,-1.3936611787065186e-8,5.525663239678071e-4,4.459220322119048e-5,-1.3979975801327925e-8,5.528642063231052e-4,4.484065587117192e-5,-1.4043007349154969e-8,5.530328973052125e-4,4.507661529127626e-5,-1.4105288308440919e-8,5.530916519570143e-4,4.522480506594574e-5,-1.4145236907282978e-8,5.530923528858961e-4,4.523202408225343e-5,-1.4147030087645297e-8,5.531031506537776e-4,4.5085084291692684e-5,-1.4105860437065999e-8,5.531855430718504e-4,4.4813819040833696e-5,-1.4028958709191986e-8,5.533755526889687e-4,4.447784879142051e-5,-1.3932084645392354e-8,5.536768815553462e-4,4.41448232435347e-5,-1.3833668292310375e-8,5.540662856310166e-4,4.387093911013423e-5,-1.3749517436350942e-8,5.545054107827476e-4,4.369036706870036e-5,-1.3689826206305373e-8,5.549526056740539e-4,4.3613801028485625e-5,-1.3658542876311258e-8,5.553711420623051e-4,4.363257224331595e-5,-1.3654223719707622e-8,5.55733434845886e-4,4.3724503286497815e-5,-1.3671440617076656e-8,5.560225166865299e-4,4.385919757848827e-5,-1.3702164569045507e-8,5.56232263778228e-4,4.400211587684637e-5,-1.3736921152732457e-8,5.563673733728169e-4,4.4117846392702796e-5,-1.376575922796316e-8,5.564433941300915e-4,4.4173372568585065e-5,-1.3779194966470485e-8,5.564864419333089e-4,4.414206095567587e-5,-1.3769317275568825e-8,5.565317072407061e-4,4.4008603643539826E-05,-1.373115531210439e-8,5.566196665612034e-4,4.377426004116058e-5,-1.3664180386757936e-8,5.567893255742785e-4,4.3460653879901505e-5,-1.3573495648336821e-8,5.5706903259323e-4,4.3109638309396154e-5,-1.3470018373719109e-8,5.574671621600434e-4,4.277713905643178e-5,-1.3369019224232388e-8,5.579663031544923e-4,4.25209069743737e-5,-1.3286905991693288e-8,5.585242506155931e-4,4.2385091814629774e-5,-1.323695369887385e-8,5.590827837639093e-4,4.238670958930531e-5,-1.322532616995296e-8,5.595820943030839e-4,4.2508928121728134e-5,-1.324879527303495e-8,5.599765436803205e-4,4.270375260425213e-5,-1.3295025360336303e-8,5.602470647653046e-4,4.290357624198227e-5,-1.3345467218010926e-8,5.604066433327727e-4,4.3038521618008536e-5,-1.3380135565607916e-8,5.604971361354452e-4,4.305496671614097e-5,-1.3382982052173816e-8,5.605778644400599e-4,4.293002467591174e-5,-1.3346289025681776e-8,5.607089623263255e-4,4.267729978794635e-5,-1.3272636519098559e-8,5.609347399582315e-4,4.234165410834814e-5,-1.3173718674744843e-8,5.61272824224999e-4,4.1984822487049506e-5,-1.3066489427049024e-8,5.617125088503604e-4,4.1667542738988164e-5,-1.2968201743518012e-8,5.622215885905281e-4,4.1434866394617e-5,-1.289219032748799e-8,5.627575830200749e-4,4.130882130901546e-5,-1.2845587660872705e-8,5.632786025023382e-4,4.1288594336048484e-5,-1.2829102735199409e-8,5.637508743402848e-4,4.135555763250854e-5,-1.2838217765699319e-8,5.641523616550949e-4,4.147987966628914e-5,-1.2864954028178306e-8,5.644734987008431e-4,4.1626480056051095e-5,-1.2899567931198906e-8,5.647164882240774e-4,4.1759528984558676e-5,-1.2931887162585448e-8,5.648942535231952e-4,4.184578296212132e-5,-1.2952297818560158e-8,5.650294889116143e-4,4.1857547900959665e-5,-1.2952577895423737e-8,5.651535715361088e-4,4.177605896823371e-5,-1.2926828568155383e-8,5.653044894483615e-4,4.159567182824132e-5,-1.287267633441649e-8,5.655225692094629e-4,4.132839759346974e-5,-1.279266224815386e-8,5.658430328778544e-4,4.100697766475647e-5,-1.2695307297663935e-8,5.662857653330005e-4,4.068344030322492e-5,-1.2594934042639526e-8,5.668451659124272e-4,4.042019197207262e-5,-1.2509327194232984e-8,5.674853336557398e-4,4.027347907363591e-5,-1.2455107328985577e-8,5.681455713211361e-4,4.027408208489247e-5,-1.244214622307206e-8,5.68756746685192e-4,4.0414004798879e-5,-1.2469513131187434e-8,5.692626340933667e-4,4.0646580039138516e-5,-1.2525133623159566e-8,5.696369955166504e-4,4.090066807453131e-5,-1.2589478046435055e-8,5.698896665275624e-4,4.110245921092196e-5,-1.2641551835441664e-8,5.700608716068607e-4,4.1195953729986446e-5,-1.2664715990718236e-8,5.702077505850598e-4,4.1155798139361454e-5,-1.2650540717421748e-8,5.703884759901265e-4,4.099042424392756e-5,-1.2600051493450478e-8,5.706483903579017e-4,4.073662588412746e-5,-1.2522583891047876e-8,5.710109691405875e-4,4.0448332338844876e-5,-1.243290518949643e-8,5.714748841309391e-4,4.0182934684654553E-05,-1.2347452802728689e-8,5.720170435890389e-4,3.9988544477136714e-5,-1.2280615128135358e-8,5.726001321744273e-4,3.9895057969472874e-5,-1.2241921421025485e-8,5.731821206679281e-4,3.991064069654339e-5,-1.2234717623019245e-8,5.737250198595423e-4,4.002343402058786e-5,-1.2256397133360156e-8,5.742009861844149e-4,4.0206784374766535e-5,-1.2299779958393722e-8,5.745952088943357e-4,4.042579305071043e-5,-1.2355009254206567e-8,5.749061274942017e-4,4.064339540438695e-5,-1.2411383146639144e-8,5.751440773201222e-4,4.0825069665894794e-5,-1.2458778726029885e-8,5.753293799587323e-4,4.094221059405223e-5,-1.2488629625521792e-8,5.754904006567578e-4,4.097477176506438e-5,-1.2494646793562146e-8,5.756615125629631e-4,4.0913864151746437e-5,-1.2473547362790684e-8,5.758803459554417e-4,4.076472695839921e-5,-1.24259847650868e-8,5.761832436211499e-4,4.0549772255380785e-5,-1.2357617600292305e-8,5.765979379808243e-4,4.0310124351701156e-5,-1.2279811549458918e-8,5.771336876089873e-4,4.010269549721812e-5,-1.2209012413795871e-8,5.777716895829274e-4,3.9989598090760646e-5,-1.2163757626176808e-8,5.784616465902294e-4,4.001937776225071e-5,-1.2159125570823381e-8,5.791308482835355e-4,4.020580099469462e-5,-1.2200322952745242e-8,5.797065295022585e-4,4.0515899636114696e-5,-1.2278907274980914e-8,5.80142457888133e-4,4.087731150446172e-5,-1.2374661952472232e-8,5.804354401798264e-4,4.120363917341638e-5,-1.2462792256088949e-8,5.806232139856671e-4,4.142456024104346e-5,-1.2522577976320966e-8,5.807671988462954e-4,4.1505812543823224e-5,-1.2543184545504214e-8,5.809309310098887e-4,4.145299058481706e-5,-1.2524943479233836e-8,5.811633911987712e-4,4.130273058000135e-5,-1.2477155055317291e-8,5.814906054594975e-4,4.110843349549538e-5,-1.241437134424403e-8,5.819145513730104e-4,4.092617541810449e-5,-1.2352610977888855e-8,5.824169208822125e-4,4.0803658015597504e-5,-1.2306198503680667e-8,5.829655041898003e-4,4.077300848955851e-5,-1.2285457641107754e-8,5.835216304790936e-4,4.08473506951388e-5,-1.2295353076190144e-8,5.840475044047213e-4,4.1020878040647856e-5,-1.2335168157344423e-8,5.845123946407954e-4,4.1271912795883656e-5,-1.2399194688289209e-8,5.848968676341912e-4,4.1568009920163966e-5,-1.247819580484653e-8,5.851947152164219e-4,4.1871931312817365e-5,-1.2561243079423654e-8,5.854127287371877e-4,4.214737362730478e-5,-1.2637501168654626e-8,5.855689082537816e-4,4.236363657066199e-5,-1.2697641820982583e-8,5.856898580934266e-4,4.2498978178316354e-5,-1.2734800220127118e-8,5.85807889067023e-4,4.254292268264029e-5,-1.2745207957826337e-8,5.859579513795578e-4,4.249795347224145e-5,-1.272871639020561e-8,5.861741086786202e-4,4.2380895742717424e-5,-1.2689360718495551e-8,5.8648484953241e-4,4.2223796026970555e-5,-1.2635890084310931e-8,5.869065735812319e-4,4.2073073991807874e-5,-1.2581801894459312e-8,5.874356319421588e-4,4.19846475120227e-5,-1.2544061137121026e-8,5.880413756125081e-4,4.201259995003142e-5,-1.2539678227518325e-8,5.886653049404993e-4,4.219108683589354e-5,-1.2580052638216501e-8,5.8923238679551e-4,4.2514839582835756e-5,-1.266480189970253e-8,5.896756386652956e-4,4.2930283800824865e-5,-1.2778839288959433e-8,5.89964101552167e-4,4.334851356362142e-5,-1.2896139522771572e-8,5.901171113360668e-4,4.367814905014522e-5,-1.298951948589008e-8,5.901947880698806e-4,4.38602737483596e-5,-1.3040992057450742e-8,5.902714285460607e-4,4.3885736496831144e-5,-1.3046861211874255e-8,5.904086373518427e-4,4.3789236335983746e-5,-1.3016096632518927e-8,5.90640488345573e-4,4.362965960038413e-5,-1.2964884842237333e-8,5.90971946441086e-4,4.34695603945582e-5,-1.2911008855333938e-8,5.913852195337234e-4,4.336092270372908e-5,-1.2869904121306538e-8,5.918485774305888e-4,4.333812126088688e-5,-1.285252461742886e-8,5.923245446952727e-4,4.3416150897318016e-5,-1.2864501648532461e-8,5.927764593066211e-4,4.359190961413261e-5,-1.2906114467297666e-8,5.931734732856898e-4,4.384714236114294e-5,-1.2972841846778543e-8,5.934942150203255e-4,4.4152466088083324e-5,-1.3056421398296158e-8,5.937291030815587e-4,4.447215885443439e-5,-1.3146311817982143e-8,5.938811933955622e-4,4.47693426906656e-5,-1.3231356330999967e-8,5.93965485886057e-4,4.5011077674093984e-5,-1.3301399351245954e-8,5.94006799600864e-4,4.5172770496475155e-5,-1.334862131885749e-8,5.940365840398179e-4,4.5241413682133494e-5,-1.336846818500244e-8,5.940891110207756e-4,4.521750624615486e-5,-1.3360212923084611e-8,5.941973595900601e-4,4.511571456359875e-5,-1.3327250246980502e-8,5.943887128092454e-4,4.4964352725929755e-5,-1.3277177720368145e-8,5.946803298205737e-4,4.480359021479988e-5,-1.3221572693952441E-08,5.950740552025116e-4,4.4681698944798734e-5,-1.3175121289205661e-8,5.955515209880322e-4,4.4648007751150914e-5,-1.3153551831570361e-8,5.960715426732222e-4,4.474149532569575e-5,-1.3169977028198143e-8,5.965733804112413e-4,4.4975795704802126e-5,-1.3229934760324216e-8,5.969897334847129e-4,4.5325368620618036e-5,-1.3326761651752678e-8,5.972695820723137e-4,4.572244176421522e-5,-1.3440440521292401e-8,5.974020923934746e-4,4.607385900358259e-5,-1.3542760448690568e-8,5.974260041454101e-4,4.6295468638069834e-5,-1.3607887991505155e-8,5.974149745012774e-4,4.63461491160932e-5,-1.3622690856111841e-8,5.974464645346873e-4,4.62408255489987e-5,-1.3590608456208522e-8,5.975733330563519e-4,4.603711609863486e-5,-1.3527729382284185e-8,5.978120949073726e-4,4.5808229996933905e-5,-1.3455010772294891e-8,5.981476506938362e-4,4.561887790575258e-5,-1.3391473757723922e-8,5.985457456463102e-4,4.551241536514983e-5,-1.3350535217826406e-8,5.989652880636257e-4,4.550820785410715e-5,-1.3339057205444769e-8,5.993671400674556e-4,4.560473672048171e-5,-1.3357888193002322e-8,5.997192571010954e-4,4.578464443118222e-5,-1.340296607210915e-8,5.999993638835912e-4,4.601975491101805e-5,-1.3466562670281527e-8,6.001963194062474e-4,4.627562551405624e-5,-1.353859250547407e-8,6.003106951839153e-4,4.651585668922163e-5,-1.3607999789540018e-8,6.003545828554706e-4,4.670640694476506e-5,-1.3664190858733449e-8,6.003504102879558e-4,4.681993271445912e-5,-1.3698426655564152e-8,6.003285040062579e-4,4.6839792267256964e-5,-1.3705039077842174e-8,6.003233654665366e-4,4.6763054815347505e-5,-1.3682318721009288e-8,6.00368980029104e-4,4.6601915443853456e-5,-1.3632979669015082e-8,6.004936892972919e-4,4.638313791509782e-5,-1.3564152706925421e-8,6.007152397239569e-4,4.6145339984406526e-5,-1.348684271745055e-8,6.010365913857648e-4,4.5934168128419516e-5,-1.3414767746104295e-8,6.014429942225124e-4,4.5795480210201754e-5,-1.3362464203894209e-8,6.019011057532637e-4,4.576653383496385e-5,-1.334252963495435e-8,6.023615895275835e-4,4.586559553492988e-5,-1.3362105344807452e-8,6.027669935205449e-4,4.608188309838632e-5,-1.3419300705541302e-8,6.030658883371729e-4,4.6370003546858796e-5,-1.350105745458068e-8,6.032312519987232e-4,4.66548633865428e-5,-1.3584497719127712e-8,6.032758091670896e-4,4.685133527899667e-5,-1.3643100300052348e-8,6.032535495762095e-4,4.6894725810143705e-5,-1.365628640799527e-8,6.03241729155245e-4,4.6767362660908595e-5,-1.3617683021674188e-8,6.033108166392385e-4,4.65049510596044e-5,-1.3537085025814027e-8,6.034993182490741e-4,4.617895985207165e-5,-1.3435213551070888e-8,6.038060843341433e-4,4.5867317225684895e-5,-1.3335114749071355e-8,6.041994185155103e-4,4.563018257654167e-5,-1.3255104395874068e-8,6.046332663829588e-4,4.549926714185694e-5,-1.3205572436516151e-8,6.05061438746373e-4,4.5478931464839044e-5,-1.3189054107180226e-8,6.054462336936745e-4,4.555306960662015e-5,-1.3201909329785792e-8,6.05762009514742e-4,4.5692876070382345e-5,-1.3236331295070042e-8,6.059957599659084e-4,4.586321651672058e-5,-1.3282117826334546e-8,6.061465022300673e-4,4.6027351570760987e-5,-1.332813231699191e-8,6.062243702543427e-4,4.615066462844048e-5,-1.3363565264245378e-8,6.062495021200464e-4,4.620409516581872e-5,-1.3379104609315037e-8,6.062503718534889e-4,4.616766157689615e-5,-1.3368067825864579e-8,6.062610395188557e-4,4.6033924576426214e-5,-1.3327457601791911e-8,6.063169469718518e-4,4.581063544655485e-5,-1.3258772884036288e-8,6.064494044595206e-4,4.55215188896636e-5,-1.3168331958415403e-8,6.066795318747286e-4,4.52042881604833e-5,-1.3066866709055663e-8,6.070128998625647e-4,4.490545427349359e-5,-1.2968213330564991e-8,6.074363111856063e-4,4.467226793872749e-5,-1.2887087372606102e-8,6.079179098524724e-4,4.4543009907630994e-5,-1.2836174421477544e-8,6.084112436310817e-4,4.453736700212919e-5,-1.282297992625794e-8,6.08863370461571e-4,4.464886329443632e-5,-1.2847073663286673e-8,6.092264758703546e-4,4.4841679024146196e-5,-1.289860746681526e-8,6.094712937410751e-4,4.505445305432866e-5,-1.2959127922180999e-8,6.095987972448405e-4,4.521292039621171e-5,-1.3005410854173592e-8,6.096448764943399e-4,4.5250510079934645e-5,-1.3016030794821033e-8,6.096730138384927e-4,4.513114561506076e-5,-1.2978711001202054e-8,6.097545631549566e-4,4.486402580498518e-5,-1.2895124516848801e-8,6.099439852908066e-4,4.450134061490781e-5,-1.2780348513948726e-8,6.102610819546051e-4,4.4118743907326676e-5,-1.265702267633818e-8,6.106884949894511e-4,4.378880296374916e-5,-1.2547376438516559e-8,6.111831302385094e-4,4.356052924504412e-5,-1.2467023709897674e-8,6.116930853079845e-4,4.3451843285146805e-5,-1.2422507196552202e-8,6.121718091847651e-4,4.3453283807383274e-5,-1.2412110270198072e-8,6.125859229567852e-4,4.3537061943772174e-5,-1.242828767855344e-8,6.129174051327997e-4,4.3666315988779066e-5,-1.2460290569013057e-8,6.131625421240779e-4,4.380214478201701e-5,-1.249629588729844e-8,6.133297797994605e-4,4.390824915390768e-5,-1.2524935334363993e-8,6.134376059320164e-4,4.395405443660182e-5,-1.2536392208869133e-8,6.135126429920539e-4,4.391729178049016e-5,-1.2523285610369912e-8,6.135875232541355e-4,4.37866565556534e-5,-1.248151062142838e-8,6.136978474050366e-4,4.3564553195397556e-5,-1.2411078877572878e-8,6.138776204707606e-4,4.3269171658970975e-5,-1.2316794930864575e-8,6.141531157431434e-4,4.293451537346142e-5,-1.2208394276352459e-8,6.145360882992824e-4,4.260690395661579e-5,-1.2099680577646451e-8,6.150183068876578e-4,4.233718420343913e-5,-1.2006354865178858e-8,6.155698862543469e-4,4.216944569007125e-5,-1.194266561911202e-8,6.161432780116315e-4,4.212893829735594e-5,-1.191760894514987e-8,6.166829962369822e-4,4.221304211145604e-5,-1.1931838226690434e-8,6.171390028809723e-4,4.2388733189199025e-5,-1.1976435073662864e-8,6.174801786565707e-4,4.2598204728411776e-5,-1.2034228597516467e-8,6.177039713164523e-4,4.2771969148489644e-5,-1.2083631887323418e-8,6.178390324477566e-4,4.284658717591776e-5,-1.2104190944765916e-8,6.179391490155112e-4,4.2782467541547576e-5,-1.2082381407395732e-8,6.180690499519215e-4,4.257622589977647e-5,-1.2015807665370394e-8,6.182856981106309e-4,4.2262641290182364e-5,-1.1914142478848567e-8,6.186214061728539e-4,4.1904306638940616e-5,-1.1796159869780265e-8,6.190753692770967e-4,4.1572254817565175e-5,-1.168386155567887e-8,6.196167242703293e-4,4.1325277041778395e-5,-1.1596058210408694e-8,6.201967488488639e-4,4.119594759437842e-5,-1.1543865254199268e-8,6.20764019662867e-4,4.118716574602068e-5,-1.1529328261415304e-8,6.21276549030351e-4,4.127757978552318e-5,-1.154678533548196e-8,6.217080946567695e-4,4.143120927489927e-5,-1.1585638643255654e-8,6.220491812385284e-4,4.1606888823869886e-5,-1.1633240123016763e-8,6.223049974865838e-4,4.176527688606243e-5,-1.1677161479087305e-8,6.224922388533137e-4,4.1873203335198556e-5,-1.1706688765447071e-8,6.226360955927154e-4,4.1906205539858945e-5,-1.1713717885084007e-8,6.227676718629662e-4,4.185030251602371e-5,-1.1693341505436549E-08,6.229214415278793e-4,4.1703735041523074e-5,-1.1644381723185078e-8,6.231319853664534e-4,4.147878640125714e-5,-1.1569970337746821e-8,6.234292802965761e-4,4.120299476324085e-5,-1.1478018587251494e-8,6.238323413543623e-4,4.0918246606836314e-5,-1.1381111507640178e-8,6.243421835840833e-4,4.067585345858345e-5,-1.1295177991775304e-8,6.249366570621865e-4,4.052646987191822e-5,-1.1236482520549367e-8,6.255707246045346e-4,4.0506051125566727e-5,-1.1217220872998886e-8,6.261847863392266e-4,4.062225481812146e-5,-1.124105993740093e-8,6.267202336075681e-4,4.08475845493812e-5,-1.1300642714626034e-8,6.271371716095217e-4,4.112393555640522e-5,-1.1378640363826194e-8,6.274272002337375e-4,4.137818217173511e-5,-1.1452374173663731e-8,6.276160661029025e-4,4.1543172110683946e-5,-1.1500321761911784e-8,6.277555903893943e-4,4.157642470580568e-5,-1.1508102924530854e-8,6.27908422691926e-4,4.147064598947023e-5,-1.1472061584588963e-8,6.281309101857208e-4,4.125382444025051e-5,-1.1399670417759892e-8,6.284589806615875e-4,4.0979990293322234e-5,-1.1307001676311571e-8,6.289004951050204e-4,4.071397673517665e-5,-1.1214196847662963e-8,6.294355537344494e-4,4.051475934856745e-5,-1.1140281814471427e-8,6.300239373611482e-4,4.0422039237037176e-5,-1.1098767800734435e-8,6.306167817204206e-4,4.044943019418976e-5,-1.1095165829009265e-8,6.311685570877783e-4,4.058515042629986e-5,-1.1126836428171848e-8,6.316459742628735e-4,4.079850842401508e-5,-1.1184776656645354e-8,6.320322305868174e-4,4.104897677346346e-5,-1.1256406714476454e-8,6.323269912046183e-4,4.129481071708473e-5,-1.1328374881368757e-8,6.325436800244089e-4,4.149944694038418e-5,-1.138873428162963e-8,6.327057717418874e-4,4.16353572641571e-5,-1.142829124798009e-8,6.3284320211077e-4,4.168599958414399e-5,-1.144127484924841e-8,6.329892507073682e-4,4.1646813714983565e-5,-1.1425641935138297e-8,6.331776221375067e-4,4.1525972124440285e-5,-1.1383308731724334e-8,6.334390698103364e-4,4.134505386970275e-5,-1.1320431548573354e-8,6.337968406765966e-4,4.1139068109295805e-5,-1.1247577530122925e-8,6.342606793062239e-4,4.0954382499360176e-5,-1.1179279984573037e-8,6.34820349377044e-4,4.084256691331992e-5,-1.1132243894526839e-8,6.354414692002509e-4,4.084884439949683e-5,-1.1121682761778917e-8,6.360679001502076e-4,4.0996568100376256e-5,-1.1156195968997953e-8,6.366339468110234e-4,4.1273455162251384e-5,-1.1233067444498262e-8,6.370847593082296e-4,4.162814226045832e-5,-1.1336844237008164e-8,6.37396720814852e-4,4.1982708229566924e-5,-1.1443112874876232e-8,6.375870858518857e-4,4.225789061658065e-5,-1.1526456467575253e-8,6.377074182492132e-4,4.239935949578947e-5,-1.1568844891267493e-8,6.378247532323368e-4,4.239301187350808e-5,-1.1564617122042744e-8,6.380001550354765e-4,4.226467189936685e-5,-1.1520634437041544e-8,6.382730696351323e-4,4.20678159364482e-5,-1.145275407366425e-8,6.386547983664781e-4,4.186642207611976e-5,-1.1380759726833166e-8,6.391301491825187e-4,4.1718969727590826e-5,-1.1323481608403951e-8,6.396645134501095e-4,4.16669354931265E-05,-1.1295058824572489e-8,6.402135211432802e-4,4.1728883630486846e-5,-1.130272523179324e-8,6.407329313863037e-4,4.189994975384543e-5,-1.1346210158588048e-8,6.411869273337647e-4,4.215579668992807e-5,-1.141864418294653e-8,6.415535317098374e-4,4.245951292741821e-5,-1.1508603446175233e-8,6.418266451670236e-4,4.276953906141313e-5,-1.160268944345754e-8,6.420150711981394e-4,4.3046889911181794e-5,-1.168800792468656e-8,6.42139481568027e-4,4.326056338850396e-5,-1.1754073581974093e-8,6.422284650134046e-4,4.3390762964130205e-5,-1.1793939423120785e-8,6.423145863944254e-4,4.343025232088572e-5,-1.1804643333497793e-8,6.424308611712833e-4,4.3384560725109035e-5,-1.1787259369334247e-8,6.426075271147033e-4,4.327164998942055e-5,-1.1746830998873365e-8,6.428686772623222e-4,4.312121499188235e-5,-1.1692290186969063e-8,6.43228211111064e-4,4.297319789412587e-5,-1.163620160738782e-8,6.436849034127897e-4,4.2874338512484316e-5,-1.1593853762600689e-8,6.442175178239869e-4,4.287106863696716e-5,-1.1581024865378009e-8,6.447826241944376e-4,4.299769946587701e-5,-1.1610003778983072e-8,6.453192106631316e-4,4.326148989808878e-5,-1.1684410461728622e-8,6.457633643151136e-4,4.363072674477005e-5,-1.179495428359945e-8,6.460709780358178e-4,4.403539258500074e-5,-1.1919425251124777e-8,6.46238269440531e-4,4.438654427814625e-5,-1.202896701159812e-8,6.463067360377512e-4,4.460863357575101e-5,-1.2098638955452586e-8,6.463473522053487e-4,4.466782983677177e-5,-1.2116629130642991e-8,6.464328198700985e-4,4.458091988511223e-5,-1.2087172530117929e-8,6.466134080396352e-4,4.440296244483021e-5,-1.2026767218001455e-8,6.469062893985017e-4,4.420432212394621e-5,-1.1957162905655501e-8,6.472980673486538e-4,4.4049415375376975e-5,-1.1898899064049858e-8,6.477545569824074e-4,4.398348465637827e-5,-1.1867178141227173e-8,6.482321283936542e-4,4.402769158632383e-5,-1.1870077472484313e-8,6.486874451684293e-4,4.4180110616365914e-5,-1.190843181001741e-8,6.490845942283705e-4,4.442004791255551e-5,-1.1976767655848106e-8,6.493996674170178e-4,4.471399475420608e-5,-1.2064930829832403e-8,6.496230132730473e-4,4.502224997790057e-5,-1.2160170877601224e-8,6.497593165315699e-4,4.530541463222377e-5,-1.2249376594925378e-8,6.498257985589669e-4,4.5530023897967826e-5,-1.2321106524374785e-8,6.498490150835266e-4,4.5672787320462324e-5,-1.2367125184429808e-8,6.49860849248668e-4,4.5723111388483726e-5,-1.2383285624306336e-8,6.498943459428724e-4,4.56838734642481e-5,-1.2369777794004631e-8,6.499798483583396e-4,4.5570805788698724e-5,-1.2330940194194202e-8,6.50141540921297e-4,4.5410946737608354e-5,-1.2274858062634918e-8,6.50394252361549e-4,4.524034632505981e-5,-1.2212820673742356e-8,6.507402898474811e-4,4.510081644081227e-5,-1.2158498221920027e-8,6.511662941424877e-4,4.503501619399875e-5,-1.2126476181320007e-8,6.516409652377725e-4,4.507883196177047e-5,-1.2129687005367259e-8,6.521158333795178e-4,4.525065636203942e-5,-1.2175577965498676e-8,6.525322031476455e-4,4.553941364164363e-5,-1.2261726884082065e-8,6.528365381010586e-4,4.5896913451435045e-5,-1.2372957541494924e-8,6.53001864278318e-4,4.6243075736359524e-5,-1.2482966177543175e-8,6.530450153429226e-4,4.6489294263523875e-5,-1.2562182212005331e-8,6.530262302326049e-4,4.657300931178719e-5,-1.2589338662501737e-8,6.530266241761063e-4,4.6484341852986244e-5,-1.2560253186849565e-8,6.531153745404709e-4,4.626789168937222e-5,-1.248839206681805e-8,6.533259500794602e-4,4.600025166059354e-5,-1.2397689341809364e-8,6.536518626923442e-4,4.5759473698595974e-5,-1.2312978138197302e-8,6.540578644141293e-4,4.56028117197643e-5,-1.2253084886290816e-8,6.544960449519266e-4,4.555825704891566e-5,-1.222809841334969e-8,6.549192256583115e-4,4.562646405711048e-5,-1.2239671643138295e-8,6.552892641813089e-4,4.578752220519903e-5,-1.2282737836356728e-8,6.555809511761707e-4,4.6008638879196065e-5,-1.23475952409882e-8,6.557831063329746e-4,4.625097547136351e-5,-1.2421941128098137e-8,6.558981448308248e-4,4.647540239116749e-5,-1.2492798538365653e-8,6.559406151232579e-4,4.664739366488725e-5,-1.2548313680324879e-8,6.55934795368779e-4,4.674108669115587e-5,-1.2579299722569738e-8,6.559114262674878e-4,4.674234926529412e-5,-1.258037528172128e-8,6.559037475636952e-4,4.6650576798607184e-5,-1.2550589153337167e-8,6.559431799480559e-4,4.647890047352641e-5,-1.2493483386171588e-8,6.560551490320222e-4,4.625272895401807e-5,-1.241665830734056e-8,6.562554736211841e-4,4.6006843480568736e-5,-1.2330965549949725e-8,6.565475621712678e-4,4.5781298533340715e-5,-1.224938677601268e-8,6.569205673771478e-4,4.561626701972796e-5,-1.2185538559539806e-8,6.573487109405446e-4,4.554580590585966e-5,-1.2151659149246088e-8,6.577924153502072e-4,4.5590415220543125e-5,-1.215594635662814e-8,6.58202593113294e-4,4.574881097857109e-5,-1.2199412084801173e-8,6.585297262397721e-4,4.59909687918636e-5,-1.2273096298199133e-8,6.587382425042407e-4,4.62568085760598e-5,-1.2357324481940705e-8,6.588231495329708e-4,4.646624084061321e-5,-1.2425073606254522e-8,6.588204978599106e-4,4.65431768960108e-5,-1.2450244405357208e-8,6.588012287440477e-4,4.644637290291428e-5,-1.2418191579088436e-8,6.588458419334591e-4,4.61899779128904e-5,-1.2332619928155143e-8,6.590119357198074e-4,4.5838877755827045e-5,-1.2214031205022718e-8,6.593137391720427e-4,4.548068499544168e-5,-1.2090617955505468e-8,6.597236153319567e-4,4.519227164557173e-5,-1.1987544773090963e-8,6.601895628610029e-4,4.5018724180246425e-5,-1.1920237507966108e-8,6.606554423138694e-4,4.49697296954195e-5,-1.189308702067798e-8,6.610749674083071e-4,4.502738150794323e-5,-1.1901620274760557e-8,6.614178803084616e-4,4.515738862713096e-5,-1.1935726383931564e-8,6.616706357616994e-4,4.531887849385159e-5,-1.1982572911828448e-8,6.61834447382716e-4,4.547133072107415e-5,-1.2028824379413137e-8,6.6192264137107e-4,4.5579126378920714e-5,-1.2062283892577649e-8,6.619580115031964e-4,4.561475770029697e-5,-1.2073180904243843e-8,6.619700433900955e-4,4.556135838574398e-5,-1.2055197467963607e-8,6.61991699576438e-4,4.5414661343623503e-5,-1.200620365179172e-8,6.620555712945934e-4,4.51840896179602e-5,-1.1928622796913211e-8,6.621894741458482e-4,4.489240920507422e-5,-1.182931385336294e-8,6.624119923538018e-4,4.457342997377879e-5,-1.1718880084197724e-8,6.627287685916333e-4,4.4267655432898346e-5,-1.1610397059841187e-8,6.631303288208212e-4,4.401622188040044e-5,-1.1517614629584648e-8,6.635920520441031e-4,4.3853814799379214e-5,-1.1452739383809711e-8,6.640766309640293e-4,4.3801500136949246e-5,-1.1423990223408127e-8,6.645391547065707e-4,4.3860465762502585e-5,-1.1433213609765761e-8,6.649348907757294e-4,4.400781803244625e-5,-1.1474022268078109e-8,6.652295738743438e-4,4.4196208170768975e-5,-1.1531237312247409e-8,6.654109062286146e-4,4.435975285734818e-5,-1.1582666541464982e-8,6.654978651706966e-4,4.442827675775156e-5,-1.1603994416442983e-8,6.655421492594667e-4,4.434891282437948e-5,-1.1576365369570233e-8,6.656163939754637e-4,4.410816482066763e-5,-1.1494114352982963e-8,6.657897957674164e-4,4.3742356818358154e-5,-1.136844192019311e-8,6.661014873919342e-4,4.332714263267976e-5,-1.1223980436229123e-8,6.66546435586102e-4,4.294919512763321e-5,-1.1089453851181167e-8,6.670813088959861e-4,4.267547632709114e-5,-1.0987569771282318e-8,6.676444956798761e-4,4.2535713727573955e-5,-1.0929181332560628e-8,6.681774843805674e-4,4.252258156620681e-5,-1.0913107238000703e-8,6.686384044883153e-4,4.260325002735994e-5,-1.0929587800350869e-8,6.690062161390295e-4,4.2733346818073974e-5,-1.0964592948012124e-8,6.692787368457985e-4,4.286787118068754e-5,-1.1003310653399214e-8,6.694682707915127e-4,4.296777011126571e-5,-1.1032406940396475e-8,6.695972389198812e-4,4.300322240539698e-5,-1.1041321064106932e-8,6.696946149272839e-4,4.295523829967347e-5,-1.1023008875669534e-8,6.697929196037282e-4,4.2816698354687566e-5,-1.0974419442589062e-8,6.699251733474295e-4,4.2593196764431914e-5,-1.0896807753560433e-8,6.701212865700194e-4,4.230341044442153e-5,-1.0795842637994127e-8,6.704037174690174e-4,4.1978221761531796e-5,-1.0681328919295532e-8,6.707828559139265e-4,4.1657672615155404e-5,-1.0566288547495148e-8,6.712532690016723e-4,4.138524242901553e-5,-1.0465216530512158e-8,6.717922865944109e-4,4.119981360746378e-5,-1.0391550497627238e-8,6.723621835534646e-4,4.112674104581725e-5,-1.0354712996658229e-8,6.729163674503193e-4,4.117028254115718e-5,-1.0357404924622589e-8,6.734087601805087e-4,4.1309743555585105e-5,-1.0393953428156289e-8,6.738045432664134e-4,4.150094656252346e-5,-1.0450378613876328e-8,6.740899326696811e-4,4.168357203370962e-5,-1.0506544084907395e-8,6.742784623792691e-4,4.1793849405908306e-5,-1.0540362360195925e-8,6.744112537778521e-4,4.178074134045985e-5,-1.053345924363471e-8,6.745493044657425e-4,4.1621948675312874e-5,-1.0476951591107518e-8,6.747577135709221e-4,4.1334207987166106e-5,-1.0375304924468307e-8,6.750854372839487e-4,4.097200972504231e-5,-1.0246168788815136e-8,6.755482329271165e-4,4.0612262569480024e-5,-1.0115334350837037e-8,6.761231653952755e-4,4.032957409188221e-5,-1.0008413784011982e-8,6.767578521833027e-4,4.017301604488647e-5,-9.94290139609733e-9,6.773894310269758e-4,4.015465619698559e-5,-9.924065754328441e-9,6.779636072244319e-4,4.025271194279116e-5,-9.945684323589636e-9,6.784462992592076e-4,4.042426218751692e-5,-9.994032077050076e-9,6.788262531519046e-4,4.0619750895181834e-5,-1.0052621713449427e-8,6.791114670866537e-4,4.0793953317949755e-5,-1.0105937498144301e-8,6.793233103813246e-4,4.091197852871128e-5,-1.0141630257049476e-8,6.794909850969935e-4,4.0951453051865014e-5,-1.01514585939184e-8,6.7964728168145e-4,4.090274064307937e-5,-1.0131510062344522e-8,6.798254076015645e-4,4.076859742149239e-5,-1.0082138915684628e-8,6.800561699820016e-4,4.0563850495158245e-5,-1.0007849266961698e-8,6.8036477449427e-4,4.031492566409186e-5,-9.917132870207206e-9,6.807668440871827e-4,4.0058407100975396e-5,-9.822042726828585e-9,6.812639721347429e-4,3.98374389784475e-5,-9.737104678895134e-9,6.818400995093161e-4,3.9695020030860256e-5,-9.677186556046806e-9,6.824608377364019e-4,3.966437272967973e-5,-9.65429089058683e-9,6.830778514977682e-4,3.975846050622824e-5,-9.673896804332269e-9,6.8363893699842e-4,3.996251016407234e-5,-9.732153955509115e-9,6.841017372567231e-4,4.023361206932423e-5,-9.815394137449953e-9,6.844466228191916e-4,4.05092582535884e-5,-9.902727164968086e-9,6.846838738110617e-4,4.072297495515305e-5,-9.971213593928136e-9,6.848523051199315e-4,4.082220466885166e-5,-1.000201594026922e-8,6.850095982123903e-4,4.07828469698932e-5,-9.98560223372568e-9,6.852171873960667e-4,4.0616222783899834e-5,-9.924483469796086e-9,6.855238737488718e-4,4.036653532224773e-5,-9.832728989987601e-9,6.859526224257744e-4,4.00993290741107e-5,-9.732322816114245e-9,6.86494446675017e-4,3.988386503340198e-5,-9.647264291981038e-9,6.871115650576727e-4,3.977452661168896e-5,-9.597109977300679e-9,6.877489646437295e-4,3.979728759741124e-5,-9.592045225736865e-9,6.883501673843535e-4,3.994563772478752e-5,-9.631095222420986e-9,6.888714062386018e-4,4.018638516815171e-5,-9.70376889018204e-9,6.89289773006254e-4,4.047168422173579e-5,-9.79400284884246e-9,6.896042371432542e-4,4.075196513064055e-5,-9.884614283434994e-9,6.898314601928995e-4,4.0985699460782386e-5,-9.960814485912439e-9,6.899994707481199e-4,4.114457896454388e-5,-1.0012195088317796e-8,6.901416346331935e-4,4.1214864630885974e-5,-1.0033353714839723e-8,6.902920197616812e-4,4.119656099349532e-5,-1.0023683572674945e-8,6.904821165138293e-4,4.1101881144250444e-5,-9.986848350330236e-9,6.907382638650003e-4,4.09537582206849e-5,-9.930264533573738e-9,6.910790024415842e-4,4.0784383529647454e-5,-9.864646068425661e-9,6.915118287645734e-4,4.06330723894299e-5,-9.803388502339166e-9,6.92029478921974e-4,4.054225759251511e-5,-9.761330963984282e-9,6.926069404711696e-4,4.055042383207215e-5,-9.752392841996608e-9,6.93201577440324e-4,4.068187369966381e-5,-9.785963135087253e-9,6.937591702126083e-4,4.0935603885594335e-5,-9.86281521804032e-9,6.942270330740719e-4,4.1278405821690475e-5,-9.972398042232453e-9,6.945712632534799e-4,4.164815702606528e-5,-1.0093706764041374e-8,6.947908016139201e-4,4.196965425274466e-5,-1.0200641875276863e-8,6.949204861200494e-4,4.217816671559534e-5,-1.027018519806173e-8,6.950204845917e-4,4.2240436893643125e-5,-1.0289782773011855e-8,6.951568783835051e-4,4.2163991349505506e-5,-1.0260761389728324e-8,6.953820071952732e-4,4.1992296890793167e-5,-1.0196951522017627e-8,6.957214881833488e-4,4.1789873918597023e-5,-1.0119904592446122e-8,6.961704254910497e-4,4.162399139921554e-5,-1.0052855248199617e-8,6.966977464138914e-4,4.154851515582117e-5,-1.0015196278929336e-8,6.972559483814732e-4,4.159322790104321e-5,-1.0018554243928807e-8,6.977931798100247e-4,4.1759927789965654e-5,-1.006500579411969e-8,6.982647541256812e-4,4.202510292476047e-5,-1.0147554437825793e-8,6.986416504509654e-4,4.23477429452799e-5,-1.0252547579380231e-8,6.989144432942709e-4,4.267979568978907e-5,-1.0363254734980224e-8,6.990924889111561e-4,4.297633660441667e-5,-1.046354978955787e-8,6.991995765864698e-4,4.3203125469473766e-5,-1.0540778184890215e-8,6.992679525856361e-4,4.334055988722916e-5,-1.0587341630078698e-8,6.993324737511327e-4,4.338433788379723e-5,-1.0601042222300012e-8,6.994259422448656e-4,4.33439373540044e-5,-1.0584573537885036e-8,6.995758178822197e-4,4.324016014019141e-5,-1.0544655239898046e-8,6.998018846283525e-4,4.310255497934784e-5,-1.049116419505745e-8,7.001142366953494e-4,4.296687167505949e-5,-1.0436353487376878e-8,7.00511078834245e-4,4.28720812612912e-5,-1.0393964239501379e-8,7.009763426032131e-4,4.285598693783195e-5,-1.0377799290857615e-8,7.014781075470884e-4,4.294835757893481e-5,-1.0399281482030315e-8,7.01969994354906e-4,4.316142500987284e-5,-1.0463892261942207e-8,7.023982919714376e-4,4.3479848296496525E-05,-1.0567290124078954e-8,7.027162843902773e-4,4.385542505735799e-5,-1.0693127635927223e-8,7.029027821209852e-4,4.42135354664673e-5,-1.0815191406563102e-8,7.029758681401383e-4,4.44744496722845e-5,-1.0904987723913586e-8,7.029914590549362e-4,4.458263269534113e-5,-1.0942205658178163e-8,7.030240973959722e-4,4.4528749813272105e-5,-1.0922540209312683e-8,7.031394395161471e-4,4.435182467687107e-5,-1.0858532246731884e-8,7.033730001998939e-4,4.412187581728143e-5,-1.0773708033050758e-8,7.037236525719877e-4,4.391449186565976e-5,-1.0694038600834027e-8,7.041603691418619e-4,4.378961991431415e-5,-1.0640801646843702e-8,7.046353875274154e-4,4.378031259963003e-5,-1.0626632482199593e-8,7.050976569019387e-4,4.3890906265389334e-5,-1.0654550090175343e-8,7.055033512381783e-4,4.4101463726791514e-5,-1.0719012226212606e-8,7.058225832089542e-4,4.4375368649487437e-5,-1.0808140470310517e-8,7.060425584939559e-4,4.4667972118194066e-5,-1.0906544945457309e-8,7.061676354241381e-4,4.4934992978476056e-5,-1.0998328320161188e-8,7.062167941862384e-4,4.513963638656883e-5,-1.1069817830506132e-8,7.062192461146077e-4,4.525758094198104e-5,-1.1111586225981603e-8,7.062091365135665e-4,4.527941172781372e-5,-1.1119497270185845e-8,7.062203187254132e-4,4.521057587191405e-5,-1.1094762027694266e-8,7.062819845440831e-4,4.5069391812404094e-5,-1.1043233702560278e-8,7.06415505665796e-4,4.488393907460559e-5,-1.0974313413837001e-8,7.066323612634319e-4,4.4688540962570335e-5,-1.089978106738531e-8,7.069327966070445e-4,4.452012245181196e-5,-1.0832652650027417e-8,7.073048809528734e-4,4.4414291049901125e-5,-1.0785940512482935e-8,7.077239303819673e-4,4.4400593182769026e-5,-1.0771010723654536e-8,7.081530282662858e-4,4.449628480384157e-5,-1.0795218004047385e-8,7.08546309372772e-4,4.4698728013663695e-5,-1.0858860998889045e-8,7.088570074624559e-4,4.497837061391854e-5,-1.0952277710884579e-8,7.090511764918637e-4,4.527680031930541e-5,-1.1054882078469456e-8,7.091242875412201e-4,4.551603875633128e-5,-1.1138494306429178e-8,7.091120498076681e-4,4.562208888687946e-5,-1.117598713005094e-8,7.090846177539748e-4,4.5555482629709526e-5,-1.1152408119707443e-8,7.091216217038918e-4,4.533143658656323e-5,-1.1072207380177586e-8,7.092802036001695e-4,4.501504148607371e-5,-1.0957523637321026e-8,7.095747795025035e-4,4.469379194735881e-5,-1.0838617797559788e-8,7.099779924341384e-4,4.4444886939645104e-5,-1.0742641317809363e-8,7.104372322708001e-4,4.431417690490606e-5,-1.0686428868332595e-8,7.108944427121056e-4,4.43116119214771e-5,-1.067478403156329e-8,7.113007184917924e-4,4.441806234799192e-5,-1.0702470480375884e-8,7.11623679367533e-4,4.459632083759559e-5,-1.0757592826290675e-8,7.118492538786992e-4,4.480161570626685e-5,-1.0824953711808661e-8,7.11980233791131e-4,4.4989876558258635e-5,-1.0888886188899312e-8,7.120332870788396e-4,4.512373743613871e-5,-1.093553525218388e-8,7.120351830951165e-4,4.517671189813642e-5,-1.0954618391336977e-8,7.12018506314901e-4,4.513573773315998e-5,-1.094058962873492e-8,7.12017114163592e-4,4.500208629716573e-5,-1.0893112309757543e-8,7.120616914124563e-4,4.47905968840482e-5,-1.0816818974571956e-8,7.121758530794824e-4,4.452730583824109e-5,-1.0720449941183935e-8,7.12373225808455e-4,4.424582850797638e-5,-1.0615582948149321e-8,7.126557056969058e-4,4.3983020894276823E-05,-1.0515185840291802e-8,7.130128748690027e-4,4.377430370445033e-5,-1.0432097453514521e-8,7.134225026408814e-4,4.364884043657226e-5,-1.0377410518766734e-8,7.138521296875519e-4,4.3624612316220915e-5,-1.0358662531311387e-8,7.142621087199356e-4,4.370335181858926e-5,-1.0377769717223068e-8,7.146110340123279e-4,4.386580901383108e-5,-1.0428929632440784e-8,7.148644843579355e-4,4.406916289330847e-5,-1.0497305281474699e-8,7.150068229220568e-4,4.424991700273873e-5,-1.0559887164612516e-8,7.150530524366479e-4,4.4336178298709344e-5,-1.0590042672540263e-8,7.15053734810595e-4,4.42704276374271e-5,-1.056605287956476e-8,7.150846291680763e-4,4.403576931514396e-5,-1.0480847359923442e-8,7.152198511851885e-4,4.3670120179829765e-5,-1.0347183403858284e-8,7.155008744882165e-4,4.325529287265698e-5,-1.019372183871818e-8,7.159202063701489e-4,4.288442453165478e-5,-1.0053486378649688e-8,7.164288382090401e-4,4.262714020159595e-5,-9.95164253828637e-9,7.169595712173114e-4,4.2511112636761016e-5,-9.899008498589871e-9,7.174506599694499e-4,4.2524020942925516e-5,-9.892540841677029e-9,7.178598144621892e-4,4.2627404619268514e-5,-9.91983987587705e-9,7.181678446769699e-4,4.27721963699476e-5,-9.964266310840572e-9,7.183759126586623e-4,4.291045343841636e-5,-1.0008908875743132e-8,7.18500405594647e-4,4.300234497131943e-5,-1.0039122755238085e-8,7.185677828556197e-4,4.30196320106107e-5,-1.0044007543963475e-8,7.186101042079086e-4,4.294717412168661e-5,-1.001723346601736e-8,7.186610533817944e-4,4.278335317154585e-5,-9.957406051808767e-9,7.18752168284341e-4,4.253964376045135e-5,-9.867997924772748e-9,7.189091853091514e-4,4.2239192867652126e-5,-9.756827287293615e-9,7.191486680453425e-4,4.191412441845834e-5,-9.635062646698978e-9,7.194753833185204e-4,4.1601472907260915e-5,-9.515794554155215e-9,7.198809710473828e-4,4.1338056243998875e-5,-9.412302783608438e-9,7.203442861506658e-4,4.115483206636226e-5,-9.33615368049298e-9,7.208335901116579e-4,4.107136650050428e-5,-9.295250483512817e-9,7.21310582686931e-4,4.109113767836152e-5,-9.292009746461441e-9,7.217361374829578e-4,4.1198376722348027e-5,-9.321908690989147e-9,7.220776248483091e-4,4.135721706930838e-5,-9.372781644989014e-9,7.223174798075731e-4,4.151444248885548e-5,-9.42550576306746e-9,7.224616572947125e-4,4.160760778234224e-5,-9.456878589667109e-9,7.225448756233372e-4,4.157965702183735e-5,-9.445137808270311e-9,7.226279081272899e-4,4.139838628719147e-5,-9.377400707335786e-9,7.22782831518834e-4,4.107397411941798e-5,-9.256348015631858e-9,7.230679109607896e-4,4.066348908937088e-5,-9.10200491377539e-9,7.235030324353299e-4,4.025454393631868e-5,-8.94585670514005e-9,7.240604349135902e-4,3.993307278447048e-5,-8.819235976789946e-9,7.246770474161983e-4,3.9752475639384204e-5,-8.74220271896425e-9,7.25280167562206e-4,3.972032945361145e-5,-8.71863631377646e-9,7.258112499168408e-4,3.980545137139982e-5,-8.738490452126625e-9,7.262379795707331e-4,3.995588791311808e-5,-8.783922245220665e-9,7.265545698200255e-4,4.011659749582939e-5,-8.83541706972929e-9,7.267755339873465e-4,4.024105833074878e-5,-8.875936197311278e-9,7.269279845271264e-4,4.029652987094112e-5,-8.892976574019021e-9,7.270451450548466e-4,4.026516750216042e-5,-8.879235354411228e-9,7.271616327638609e-4,4.014326976173892e-5,-8.832575722188413e-9,7.273099551577129e-4,3.993996905439593e-5,-8.755682817923396e-9,7.275175140387404e-4,3.9675705000669275e-5,-8.65552457776656e-9,7.278037036096325e-4,3.938023732409923e-5,-8.542589315450922e-9,7.281770882665271e-4,3.9089662899162196e-5,-8.429786504232964e-9,7.286331360591269e-4,3.884197223268564e-5,-8.330888585721539e-9,7.291533677555678e-4,3.867120217350354e-5,-8.258515599405508e-9,7.297067738756757e-4,3.860090558086704e-5,-8.221844583454592e-9,7.302539666578742e-4,3.8638182704821905e-5,-8.224400957513714e-9,7.307538962269374e-4,3.876983049784128e-5,-8.262452625865695e-9,7.311722092434422e-4,3.896204742743471e-5,-8.324571705863522e-9,7.314897527645678e-4,3.9164524285314036e-5,-8.3927927962959e-9,7.317094414493923e-4,3.931904431090589e-5,-8.445566122962981e-9,7.318594845103638e-4,3.937201425400375e-5,-8.462392890762826e-9,7.319908066651358e-4,3.928917259530832e-5,-8.42948659848983e-9,7.321669790530052e-4,3.906885058053107e-5,-8.345010771919948e-9,7.324469928605998e-4,3.8748281868431985e-5,-8.22172192559327e-9,7.328651675913713e-4,3.839739804730499e-5,-8.084889760603431e-9,7.334166535442571e-4,3.809868218835139e-5,-7.964969302770367e-9,7.340570593855317e-4,3.791967584824037e-5,-7.88746795733556e-9,7.347180158889726e-4,3.789093829132095e-5,-7.864694610367329e-9,7.35330978895752e-4,3.799999059049531e-5,-7.893257941684946e-9,7.358473549973659e-4,3.820188625552753e-5,-7.95762224232136e-9,7.36247320859895e-4,3.8438037090302746e-5,-8.036768609057542e-9,7.365375874964547e-4,3.865343008418449e-5,-8.110432460280896e-9,7.367432165561168e-4,3.880698844533339e-5,-8.163005946748622e-9,7.368986354207467e-4,3.8875061863166875e-5,-8.185035831936871e-9,7.370405983510341e-4,3.885061218849014e-5,-8.173156102939069e-9,7.372035548293182e-4,3.8740714185469477e-5,-8.129326522098361e-9,7.374166923744471e-4,3.8563901864775714e-5,-8.05990590565618e-9,7.377017025310008e-4,3.834777065479802e-5,-7.974743340507008e-9,7.38070622142274e-4,3.8126512150255426e-5,-7.886238130470689e-9,7.385236155784789e-4,3.7937678633434624e-5,-7.80816935910351e-9,7.390471872462534e-4,3.7817479218706066e-5,-7.754041850862354e-9,7.39613896733862e-4,3.779443638936219e-5,-7.734832514708064e-9,7.401848806728716e-4,3.788221163124379e-5,-7.75635096994411e-9,7.407160397257579e-4,3.807351780711525e-5,-7.816863716772319e-9,7.411675017627108e-4,3.83377342940748e-5,-7.905958120875292e-9,7.415142919555773e-4,3.8624442718095306e-5,-8.005552813609206e-9,7.417549191637427e-4,3.887335159084064e-5,-8.093346705012602e-9,7.419146387750976e-4,3.902868594401002e-5,-8.14809060536792e-9,7.420415466924796e-4,3.9054260051663074e-5,-8.155305505607456e-9,7.421957712450767e-4,3.894484020912841e-5,-8.111780096870276e-9,7.424340938914088e-4,3.873006125504485e-5,-8.02737573183699e-9,7.42793899355561e-4,3.846880194086285e-5,-7.923264854219435e-9,7.432812620141698e-4,3.823437454532318e-5,-7.82664187542525e-9,7.438677441412036e-4,3.809405520022208e-5,-7.763143694430137e-9,7.444981839003461e-4,3.808955287654943e-5,-7.749409650064826e-9,7.451073361538792e-4,3.822586805072566e-5,-7.788599612458683e-9,7.456389114710405e-4,3.847282903416642e-5,-7.870587084328902e-9,7.460595325375159e-4,3.8777620572790256e-5,-7.97634017132848e-9,7.463633344203971e-4,3.90818258416466e-5,-8.084164382373755e-9,7.465679154850866e-4,3.9335967587656355e-5,-8.175197120055171e-9,7.467056704916095e-4,3.950769387356267e-5,-8.236653653676395e-9,7.468147802209882e-4,3.958364471163843e-5,-8.262748556136644e-9,7.469323302937862e-4,3.956728801685668e-5,-8.25406326448367e-9,7.470900224543724e-4,3.947522924674709e-5,-8.21625230612436E-09,7.473117786206921e-4,3.9333574246693434e-5,-8.15868872939971e-9,7.476122444451707e-4,3.917483364161524e-5,-8.093285230637837e-9,7.479954258414936e-4,3.9035053263447094e-5,-8.033430521419e-9,7.484532171378763e-4,3.8950407831258895e-5,-7.992775209673987e-9,7.489642810589979e-4,3.895244597740534e-5,-7.983527194781351e-9,7.494944525688141e-4,3.906165830601274e-5,-8.014060469529422e-9,7.500002746529996e-4,3.9280174203610924e-5,-8.086078232861302e-9,7.504369055959056e-4,3.9586013083436254e-5,-8.192238951203957e-9,7.507699029120727e-4,3.993257848288867e-5,-8.31570446363603e-9,7.509875768828624e-4,4.025651618290501e-5,-8.432888245201967e-9,7.511084739632404e-4,4.049377684511111e-5,-8.519412651981377e-9,7.511792950330379e-4,4.059903216808652e-5,-8.557453460506901e-9,7.51262580818493e-4,4.056073182061699e-5,-8.541545996409175e-9,7.514184424281146e-4,4.040549547796316e-5,-8.480474453332119e-9,7.516871944073718e-4,4.019036204144835e-5,-8.394680466844668e-9,7.520786833722089e-4,3.998634873333417e-5,-8.31041577663291e-9,7.525708694622507e-4,3.985920059382761e-5,-8.252707967838128e-9,7.531170338310043e-4,3.985300180192867e-5,-8.239147244363815e-9,7.536588526186752e-4,3.998070036708499e-5,-8.276008258796359e-9,7.541413990265233e-4,4.022342678605548e-5,-8.357544078241255e-9,7.54525863865062e-4,4.05380201242533e-5,-8.468421354961952e-9,7.547967008719969e-4,4.0869815523018587e-5,-8.588335122366214e-9,7.549619635945633e-4,4.116635887970118e-5,-8.697206288555848e-9,7.550480101612701e-4,4.1388047065979665e-5,-8.779387588935774e-9,7.550913554910073e-4,4.151357045899603e-5,-8.825967420826681e-9,7.551305842522161e-4,4.154031612162445e-5,-8.835132581061215e-9,7.552001895864037e-4,4.148139165922518e-5,-8.811164119887681e-9,7.55326828426084e-4,4.1361260126847735e-5,-8.762820923675844e-9,7.555274925687125e-4,4.12114438663705e-5,-8.70170647458801e-9,7.558087203055979e-4,4.1066871518413693e-5,-8.640891785799208e-9,7.561661037027524e-4,4.09626519740274e-5,-8.593743073534889e-9,7.565837873294337e-4,4.0930595848213674e-5,-8.572674913245856e-9,7.570343023719693e-4,4.0994708019895345e-5,-8.58746909968765e-9,7.574798432523166e-4,4.116526167701248e-5,-8.642942450707564e-9,7.578766597453443e-4,4.143219506580418e-5,-8.736227826676889e-9,7.581839700006578e-4,4.1760430647830195e-5,-8.85472089607003e-9,7.583769007372872e-4,4.209143613341075e-5,-8.97646260497755e-9,7.584593350854895e-4,4.235492678888832e-5,-9.074535079715516e-9,7.584693326984003e-4,4.249010700473473e-5,-9.125223368184249e-9,7.58470988460264e-4,4.246860282595259e-5,-9.116849569321388e-9,7.585337351705025e-4,4.230716762507732e-5,-9.054700673282172e-9,7.587083994551931e-4,4.206260627237825e-5,-8.959261900385463e-9,7.590114511903744e-4,4.181169099700161e-5,-8.858889905876627e-9,7.594231618304254e-4,4.162653730197789e-5,-8.780808674797843e-9,7.598974502542237e-4,4.155567159126383e-5,-8.744091746991325e-9,7.603770701441117e-4,4.161547883315085e-5,-8.756261200644959e-9,7.608083072352005e-4,4.1791395294714015e-5,-8.813314074637931e-9,7.611518311466191e-4,4.204568142158321e-5,-8.902175671211233e-9,7.613885521055572e-4,4.232834360337178e-5,-9.004492689727314e-9,7.615206177534766e-4,4.258845489577387e-5,-9.100837967244961e-9,7.61568322961355e-4,4.2783817580922045e-5,-9.174529986143186e-9,7.615641863347267e-4,4.288746563387388e-5,-9.214382010099968e-9,7.615458421224065e-4,4.289030424473849e-5,-9.215981555878051e-9,7.615493776879412e-4,4.280020160465099e-5,-9.181526671744856e-9,7.616042486398303e-4,4.26385797343642e-5,-9.118594656166542e-9,7.61730210455046e-4,4.2435795379432153e-5,-9.03837554219817e-9,7.61936050598561e-4,4.222646210520275e-5,-8.953874020503188e-9,7.622194897874063e-4,4.204535712200338e-5,-8.87837427683221e-9,7.625676250645121e-4,4.1923882039288665e-5,-8.824153587401546e-9,7.629576171601758e-4,4.188660389994002e-5,-8.801211913123232e-9,0.00076335781686778445,4.194730410322629e-5,-8.815719768604965e-9,7.637301806589586e-4,4.210424149540176e-5,-8.868024377405146e-9,7.640353866362429e-4,4.233530176320579e-5,-8.950502771608857e-9,7.642418368971225e-4,4.259542541961727e-5,-9.046295943306457e-9,7.643379706413167e-4,4.282042794217269e-5,-9.130652554192153e-9,7.643436783033333e-4,4.29411494887276e-5,-9.176459932444947e-9,7.643128225427903e-4,4.290719105443412e-5,-9.163573390875584e-9,7.643198908851147e-4,4.27107298651634e-5,-9.088104238947882e-9,7.644329712891078e-4,4.23954390951903e-5,-8.965872528852865e-9,7.646866633436667e-4,4.204199444422708e-5,-8.826934866527333e-9,7.650704200976676e-4,4.17372669333947e-5,-8.704057045239502e-9,7.655369936842672e-4,4.154471093131832e-5,-8.621706108552556e-9,7.660227565342318e-4,4.1489461027239444e-5,-8.590446292021975e-9,7.664679096395077e-4,4.155968867214678e-5,-8.60719762281304e-9,7.668295552510263e-4,4.1717667344140696e-5,-8.65897698447111e-9,7.670867797953163e-4,4.191334217832278e-5,-8.727615499482921e-9,7.672399375245228e-4,4.209611415617943e-5,-8.794011363368658e-9,7.673067113076542e-4,4.2223374435902354e-5,-8.841422117427617e-9,7.673167461421355e-4,4.226589688328241e-5,-8.857772846673981e-9,7.673057770691697e-4,4.221051342646373e-5,-8.837001052988211e-9,7.673098402283448e-4,4.206030802892788e-5,-8.779391079594279e-9,7.673601781277127e-4,4.18326361185597e-5,-8.690943756311483e-9,7.674793660680467e-4,4.1555511526051535e-5,-8.58199870451685e-9,7.676789770593695e-4,4.126301892957958e-5,-8.465429763661297e-9,7.679588364412986e-4,4.0990480338567314e-5,-8.354768907767848e-9,7.683075907368027e-4,4.077001331558171e-5,-8.262536838002104e-9,7.687041577968274e-4,4.062672035544098e-5,-8.198843955832656e-9,7.691197778494181e-4,4.057536670843389e-5,-8.170131786714939e-9,7.69520695114969e-4,4.061730481647757e-5,-8.17788778750396e-9,7.698719236009533e-4,4.073758088267318e-5,-8.217289031700045e-9,7.701429410375053e-4,4.090284202188645e-5,-8.276083307954193e-9,7.703158959245221e-4,4.106194157234824e-5,-8.334583011415699e-9]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_12.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_12.json new file mode 100644 index 000000000..ed067a159 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_12.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":12000,"numberOfSamples":1000,"samples":[7.703954280162467e-4,4.1152337826266915e-5,-8.368108119871265e-9,7.704163319665058e-4,4.111507788730868e-5,-8.352989399151336e-9,7.704421464154993e-4,4.091720944904923e-5,-8.275542352848811e-9,7.705485092428724e-4,4.05724562623383e-5,-8.140252864992262e-9,7.707939985966856e-4,4.014524130054576e-5,-7.971353086916377e-9,7.71193504222048e-4,3.972957759547678e-5,-7.80469566907836e-9,7.717115053607008e-4,3.9412072212316335e-5,-7.673655282248528e-9,7.722792203821364e-4,3.924081276169691e-5,-7.597334312683116e-9,7.728228927422465e-4,3.921592014800571e-5,-7.576902082499595e-9,7.732865636479628e-4,3.930044006202883e-5,-7.599469965429773e-9,7.736417360467977e-4,3.9439508716162856e-5,-7.645015059481085e-9,7.738862021781628e-4,3.9577299627356655e-5,-7.692550022805146e-9,7.740375781067476e-4,3.9667776867413035e-5,-7.724156675043192e-9,7.741257583521852e-4,3.9679734947780095e-5,-7.727075835179889e-9,7.741863193020013e-4,3.959810915098842e-5,-7.69451274251175e-9,7.742552430288779e-4,3.9423328672554246e-5,-7.625696494804441e-9,7.743646142276804e-4,3.9169548057952974e-5,-7.525395913350832e-9,7.745390796275454e-4,3.886191912277735e-5,-7.4029175785362335e-9,7.747931611691499e-4,3.853296073940333e-5,-7.2706518736087654e-9,7.751296404933389e-4,3.821816871539602e-5,-7.14230656603222e-9,7.75539277044951e-4,3.795118644851318e-5,-7.03102083378519e-9,7.760019965895818e-4,3.7759097444815016e-5,-6.947589780698099e-9,7.764894114568546e-4,3.7658393030000226e-5,-6.898960011119357e-9,7.769683935525284e-4,3.765194567776308e-5,-6.887041206138857e-9,7.77405468600329e-4,3.7727187339015794e-5,-6.907852463658269e-9,7.777719367210197e-4,3.7855696317654865e-5,-6.951096001721251e-9,7.780497715515111e-4,3.799465132874708e-5,-7.000433114460731e-9,7.782381033839588e-4,3.809125972066116e-5,-7.035036448543083e-9,7.783590131789634e-4,3.809174285674149e-5,-7.033143881376136e-9,7.784595953194529e-4,3.795570392998253e-5,-6.97793131163529e-9,7.786057068107846e-4,3.767368510457848e-5,-6.864708360881282e-9,7.78863996118783e-4,3.728037531656348e-5,-6.706310810691064e-9,7.792756265371022e-4,3.685219468959701e-5,-6.532225465482031e-9,7.798348397283327e-4,3.648330405006227e-5,-6.379231745544197e-9,7.804875774404013e-4,3.624915992465997e-5,-6.277220111165846e-9,7.811532791147602e-4,3.6178446406365796e-5,-6.238248751260801e-9,7.817563618614648e-4,3.624887846641678e-5,-6.254752293779451e-9,7.822492066349364e-4,3.6404572752001926e-5,-6.305999039127454e-9,7.826184621073835e-4,3.658034238992342e-5,-6.367226110433409e-9,7.828786448897808e-4,3.672020080806501e-5,-6.416659701095429e-9,7.830611528872669e-4,3.678622737434062e-5,-6.439002339589363e-9,7.83204269111392e-4,3.6760045223355876e-5,-6.4262288080890655e-9,7.83346116265409e-4,3.6640538094929564e-5,-6.376990645821899e-9,7.835202865150684e-4,3.644047816686522e-5,-6.2955425776532835e-9,7.837530585274323e-4,3.618322636043522e-5,-6.190565289506217e-9,7.840613538345039e-4,3.5899528490766174e-5,-6.073894295370791e-9,7.844511692520874e-4,3.56240404001225e-5,-5.959079652820332e-9,7.849166362486965e-4,3.5391266889247926e-5,-5.859734881539029e-9,7.854401461991078e-4,3.5230870470624936e-5,-5.787703349498604e-9,7.85994077008628e-4,3.516280326863614e-5,-5.751203618221222e-9,7.865443681490566e-4,3.519312942196211e-5,-5.753224515569559e-9,7.870557121649313e-4,3.531147041257569e-5,-5.790462278713693e-9,7.874977374834473e-4,3.549084781661851e-5,-5.8530751899271e-9,7.878512977067683e-4,3.5690381696580056e-5,-5.925483082828172e-9,7.88113902130303e-4,3.586089281430252e-5,-5.9883395159535995e-9,7.883033069918536e-4,3.595324388575569e-5,-6.021732124830117e-9,7.884579960410935e-4,3.5929083510116866e-5,-6.009544248256601e-9,7.886327975757129e-4,3.577280030598468e-5,-5.9444715378693474e-9,7.888879780100181e-4,3.550164046195876e-5,-5.832367391647236e-9,7.8927192870103e-4,3.51687389345516e-5,-5.693704861085736e-9,7.898018205719634e-4,3.4853326117873307e-5,-5.559814012217819e-9,7.904515896948133e-4,3.4636846056963114e-5,-5.463410169207496e-9,7.911567365586743e-4,3.457328365667514e-5,-5.426733674861982e-9,7.91836723351535e-4,3.4669207955395765e-5,-5.453450884163303e-9,7.924237202788972e-4,3.488486649734166e-5,-5.5288267094573905e-9,7.928824548961669e-4,3.515389152880303e-5,-5.627269436403621e-9,7.932136820118008e-4,3.540839736028799e-5,-5.722097489506235e-9,7.934449059141124e-4,3.5597063748403574e-5,-5.792673659357338e-9,7.936168882573704e-4,3.569210775996662e-5,-5.827295173952732e-9,7.937723217445624e-4,3.568791359332356e-5,-5.822884193637893e-9,7.93948800831336e-4,3.559595323883983e-5,-5.783216738249511e-9,7.941754088277288e-4,3.543933477989003e-5,-5.716920600537979e-9,7.944713320113322e-4,3.524834071649752e-5,-5.635744464363097e-9,7.948452117223364e-4,3.505690102972568e-5,-5.5531067119024055e-9,7.952946621025866e-4,3.489936168856889e-5,-5.482741290558481e-9,7.958060134527227e-4,3.4806877971801684e-5,-5.437234302862502e-9,7.963548356244236e-4,3.4803064153757236e-5,-5.4263155715433935e-9,7.969080873912969e-4,3.4899187129560714e-5,-5.454979598662578e-9,7.974285582348853e-4,3.50899868901018e-5,-5.521799771482021e-9,7.978815595783528e-4,3.53517139310461e-5,-5.618028402827992e-9,7.982428279621153e-4,3.5643920541599894e-5,-5.728107579266846e-9,7.985056927078104e-4,3.591576113045357e-5,-5.8319638327390805e-9,7.986852279968585e-4,3.6116131940588234e-5,-5.908914090462572e-9,7.988176580367524e-4,3.620557989303193e-5,-5.942429308719043e-9,7.989544079791842e-4,3.616720864975489e-5,-5.924668401918435e-9,7.991513656849079e-4,3.601375362426653e-5,-5.859607617947738e-9,7.994550428476274e-4,3.5788266373648105e-5,-5.763648882378041e-9,7.99888593020665e-4,3.5556588356057684e-5,-5.662870662485801e-9,8.004419741134302e-4,3.539153188530321e-5,-5.586797190304597e-9,8.010710698253013e-4,3.5351857597047766e-5,-5.559879219657929e-9,8.017086298947224e-4,3.546304659868737e-5,-5.5935163200738305e-9,8.022846671415112e-4,3.5708577068191366e-5,-5.6822096378184195e-9,8.027481145977655e-4,3.603666410112383e-5,-5.805964874906324e-9,8.03080122412991e-4,3.637928126071499e-5,-5.9377647708489825e-9,8.032943410005627e-4,3.66738652272459e-5,-6.0522761139605395e-9,8.034269249007324e-4,3.687843167960255e-5,-6.132033879229968e-9,8.035230519879982e-4,3.697653334579644e-5,-6.1696217748146e-9,8.036257380118303e-4,3.6974206946549126e-5,-6.166656508896828e-9,8.037692352128727e-4,3.689330257374978e-5,-6.131278442552063e-9,8.039764427338145e-4,3.6764723596644845e-5,-6.075520263494496e-9,8.042586457584074e-4,3.662315128777011e-5,-6.013183162784273e-9,8.046160819092535e-4,3.6503272989771094e-5,-5.9582713714511854e-9,8.050385231957502e-4,3.643678976682334e-5,-5.9237473528870625e-9,8.055057955743184e-4,3.644934285412461e-5,-5.920288595123292e-9,8.05988792090945e-4,3.655676717208342e-5,-5.95478706400642e-9,8.064519656770659e-4,3.676075426661275e-5,-6.028574833606665e-9,8.068582848986766e-4,3.7045013088594046e-5,-6.1357749440002495e-9,8.071769237677392e-4,3.737399900933667e-5,-6.26261951082692e-9,8.073924491758243e-4,3.769659412573422e-5,-6.388754892200863e-9,8.075124666197616e-4,3.7955997865778476e-5,-6.491115253060035e-9,8.075698393218493e-4,3.8104352666225344e-5,-6.549812033282912e-9,8.07616918266904e-4,3.811755258854625e-5,-6.5542030392740885e-9,8.077125028108634e-4,3.8004458985452114e-5,-6.506795533466793e-9,8.079056000982033e-4,3.780654452780539e-5,-6.4233624926436094e-9,8.082214227720043e-4,3.758774308343327e-5,-6.3291414262697445e-9,8.086539871520523e-4,3.741775103981728e-5,-6.252328710187585e-9,8.091672759069606e-4,3.7353752588214316e-5,-6.216752306565877e-9,8.097045052884347e-4,3.742558962134468e-5,-6.235686559437506e-9,8.10203012993122e-4,3.7628423384850995e-5,-6.308502277607127e-9,8.106106251449948e-4,3.792510731679957e-5,-6.421212634856097e-9,8.108985322821864e-4,3.8257644162653106e-5,-6.550833196339432e-9,8.11066628774171e-4,3.856383400569566e-5,-6.6720638631456955e-9,8.111401568994287e-4,3.8793232686939005e-5,-6.763879623403471e-9,8.111600098107639e-4,3.89173073971411e-5,-6.813868422693099e-9,8.111711107269196e-4,3.893182181341246e-5,-6.8194280235812216e-9,8.112128636990658e-4,3.8852913529948424e-5,-6.786357912765378e-9,8.1131356935384e-4,3.8710088334482416e-5,-6.726121364291298e-9,8.114885730374386e-4,3.853908980505929e-5,-6.652976845483148e-9,8.117408037071133e-4,3.837625006855202e-5,-6.5816575047402725e-9,8.120622864326276e-4,3.825456404102906e-5,-6.5257403552766695e-9,8.124357145823514e-4,3.82008938099246e-5,-6.496493824519633e-9,8.128358550233297e-4,3.823344877076438e-5,-6.50185004606853e-9,8.132312194083829e-4,3.8358874558908814e-5,-6.54518991660995e-9,8.135869354214777e-4,3.856887726212377e-5,-6.623869747140799e-9,8.138698868858205e-4,3.8837323813125146e-5,-6.727869263055802e-9,8.140566018155787e-4,3.91199837876055e-5,-6.83950023112515e-9,8.141427039935174e-4,3.935979230186433e-5,-6.9354371500791985e-9,8.14150262656473e-4,3.949946847388898e-5,-6.9918722744796985e-9,8.141277285832854e-4,3.949960053306327e-5,-6.991994835378283e-9,8.141388942367572e-4,3.935526219250151e-5,-6.93289197521611e-9,8.142430879224422e-4,3.910207785679162e-5,-6.8281493368907015e-9,8.144749296276758e-4,3.880686864520632e-5,-6.704223833237992e-9,8.1483306083408e-4,3.854646680042599e-5,-6.592073096421126e-9,8.152821053230805e-4,3.838435896231063e-5,-6.5178631025860026e-9,8.157651947313659e-4,3.835428291873892e-5,-6.49629781434836e-9,8.162207450781731e-4,3.845478693315215e-5,-6.528135674230928e-9,8.16597684699937e-4,3.865376270796675e-5,-6.60159629155916e-9,8.168657158061926e-4,3.889947743847334e-5,-6.69644446442954e-9,8.170194049574676e-4,3.913422953807289e-5,-6.7893400986806185e-9,8.17076394641524e-4,3.930728020730456e-5,-6.85914255437804e-9,8.170710316645813e-4,3.938449175604022e-5,-6.891061862959034e-9,8.170454569870298e-4,3.935306732398158e-5,-6.878882809994513e-9,8.170405722878981e-4,3.9221105681444305e-5,-6.825033584806315e-9,8.1708896023377e-4,3.901310215359767e-5,-6.7388979016364186e-9,8.172108407223391e-4,3.87633764776707e-5,-6.634171213681119e-9,8.174130175522054e-4,3.850938229687362e-5,-6.526094414707984e-9,8.176899834395489e-4,3.8286205079792516e-5,-6.4291520891420515e-9,8.180260959470649e-4,3.812267075009407e-5,-6.3554492104173685e-9,8.183979894619872e-4,3.803873780290355e-5,-6.313637763487015e-9,8.187769116206049e-4,3.804351923521837e-5,-6.308093725118056e-9,8.191312129866966e-4,3.813337134793312e-5,-6.338063937256885e-9,8.194296942684052e-4,3.8289922698924704e-5,-6.396704673018225e-9,8.196467238419641e-4,3.847879781237149e-5,-6.470354270719354e-9,8.197695294206804e-4,3.8650968100779566e-5,-6.538921130269099e-9,8.19806513649201e-4,3.874943540462814e-5,-6.5785960033068025e-9,8.197929489727498e-4,3.8723134804595094e-5,-6.5676898771434025e-9,8.197883002079536e-4,3.854613941350416e-5,-6.4947236728071645e-9,8.198609759695765e-4,3.823403064971981e-5,-6.365297279203114e-9,8.200636944477346e-4,3.784594464219167e-5,-6.203000857389413e-9,0.000820411436661712,3.746667085519243e-5,-6.042172936215794e-9,8.208749674671344e-4,3.7176223092774686e-5,-5.915617415305801e-9,8.213932248000017e-4,3.7022992160726405e-5,-5.843759010230899e-9,8.218961027605576e-4,3.701275044446644e-5,-5.830076453078521e-9,8.223254904904929e-4,3.711435819021485e-5,-5.863118056849916e-9,8.226473843906112e-4,3.727482958449793e-5,-5.922239824745653e-9,8.228545590175748e-4,3.7435687186837764e-5,-5.983966399587255e-9,8.229627474394682e-4,3.7545885310616436e-5,-6.027176921838554e-9,8.230036090129152e-4,3.756990148797665e-5,-6.036554527428151e-9,8.230167806825249e-4,3.749138311092206e-5,-6.004372061981051e-9,8.230423185742567e-4,3.731317666393389e-5,-5.930818699795622e-9,8.231143493501816e-4,3.705449505134662e-5,-5.823063768625377e-9,8.23256553209646e-4,3.674606808012696e-5,-5.693352353058202e-9,8.234798189428454e-4,3.642429612693932e-5,-5.556571384393087e-9,8.237820413355269e-4,3.6125418828181186e-5,-5.427765212931279e-9,8.241496751844597e-4,3.588054059534543e-5,-5.320016584338888e-9,8.245603883153199e-4,3.571199342395666e-5,-5.242923452023574e-9,8.249861688108776e-4,3.563099782478505e-5,-5.201638270344065e-9,8.253965549120751e-4,3.563626588694151e-5,-5.1962726434097535e-9,8.257620082869455e-4,3.571323197160154e-5,-5.221486300041849e-9,8.260577695440884e-4,3.583385451251235e-5,-5.266230045559657e-9,8.262687299902825e-4,3.595753207818218e-5,-5.313924512584801e-9,8.263954241197148e-4,3.6034603798458864e-5,-5.343784865943491e-9,8.264598903887887e-4,3.601442540484084e-5,-5.334201311502159e-9,8.265081515702821e-4,3.585914554288692e-5,-5.268642284511385e-9,8.26604385596247e-4,3.556101693181241e-5,-5.143074426032549e-9,8.268132192939278e-4,3.515537353926115e-5,-4.971501142912185e-9,8.271738744510702e-4,3.471782861774951e-5,-4.7848532086355065e-9,8.276795586094963e-4,3.4340322196190036e-5,-4.621118053741745e-9,8.282766891716653e-4,3.4095760039524445e-5,-4.5108069909192165e-9,8.288861464980373e-4,3.401140563924369e-5,-4.465996728964361e-9,8.29433355059079e-4,3.406500941237964e-5,-4.4785874372255114e-9,8.298704729894737e-4,3.420103631857123e-5,-4.526688711410476e-9,8.301833096396713e-4,3.4353709967328716e-5,-4.583790454622501e-9,8.303862100769367e-4,3.446546478614344e-5,-4.626173157513306e-9,8.305118250621173e-4,3.449687603771798e-5,-4.6370194576684565e-9,8.306008664699762e-4,3.442941009341466e-5,-4.607762309491803e-9,8.306940322478887e-4,3.426386875947961e-5,-4.537752547464339e-9,8.308263261536525e-4,3.401682527001027e-5,-4.4330652748613145e-9,8.310232819304966e-4,3.371620106257414e-5,-4.304822699303797e-9,8.312987280593526e-4,3.339641097448233e-5,-4.167187973746248e-9,8.31653979219806e-4,3.309335744578138e-5,-4.0351952674026125e-9,8.32078417238307e-4,3.283958122742209e-5,-3.9226242940869606e-9,8.325514069439921e-4,3.26599656110982e-5,-3.8401496329485945e-9,8.330453353948687e-4,3.256846904668967e-5,-3.793977723288974e-9,8.335293651888821e-4,3.2566169333962955e-5,-3.785049055168084e-9,8.33973516225973e-4,3.264061001145597e-5,-3.808740687729704e-9,8.343528580041156e-4,3.2766396288388346e-5,-3.855005633134729e-9,8.346517248312861e-4,3.290709657118518e-5,-3.9089874063833434e-9,8.348679389439184e-4,3.301872928211123e-5,-3.95230090306051e-9,8.350167359300278e-4,3.305558632640454e-5,-3.965393684369818e-9,8.351331058149185e-4,3.297932755397413e-5,-3.9314416005053e-9,8.352699660831031e-4,3.277126367429032e-5,-3.8417220291605366e-9,8.354889117471341e-4,3.244507340953231e-5,-3.7012047953805833e-9,8.358419691208809e-4,3.205326833172769e-5,-3.531440109697599e-9,8.36348763283404e-4,3.167867290599403e-5,-3.3670502139274996e-9,8.369813197061595e-4,3.140782451156133e-5,-3.244586908337016e-9,8.376693061030729e-4,3.129669563122999e-5,-3.1881493598681102e-9,8.383263658012633e-4,3.134863920078477e-5,-3.200051972071662e-9,8.388826052155265e-4,3.151766556410064e-5,-3.2619908468242225e-9,8.393050072888866e-4,3.173205489277276e-5,-3.344664087646371e-9,8.395988757541516e-4,3.192172100776251e-5,-3.419003963066664e-9,8.397963286098811e-4,3.203621272799185e-5,-3.46362815353071e-9,8.399416326313247e-4,3.205061679819683e-5,-3.4674080518768483e-9,8.400794992423449e-4,3.1963263817541386e-5,-3.4287495907215916e-9,8.402479103687121e-4,3.179002909330446e-5,-3.3534888117140308e-9,8.404745687451004e-4,3.155830071326884e-5,-3.2525737289196144e-9,8.407754646399417e-4,3.130173895136262e-5,-3.1399368209433314e-9,8.41154541388092e-4,3.1055764720891035e-5,-3.0305415711644196e-9,8.416041280544131e-4,3.085345156272672e-5,-2.9385364426828023e-9,8.421061656017975e-4,3.072164283076384e-5,-2.8755213785209154e-9,8.426344113814458e-4,3.067736638925079e-5,-2.8490015368691745e-9,8.431577953645121e-4,3.072498523450466e-5,-2.8612024549307127e-9,8.436447971117692e-4,3.085470440573325e-5,-2.9084547718786858e-9,8.440683720702881e-4,3.1042869672780824e-5,-2.981273689818602e-9,8.444108321936859e-4,3.125426055813509e-5,-3.065198477158535e-9,8.446680629527056e-4,3.144642492558669e-5,-3.142451937358192e-9,8.448524507159502e-4,3.15759057443261e-5,-3.194437005461156e-9,8.449938340091091e-4,3.160610588444374e-5,-3.2050494314965393e-9,8.451374660071655e-4,3.151638576719877e-5,-3.1646699302547115e-9,8.453375715697237e-4,3.1311130994121866e-5,-3.0742611477808833e-9,8.456453986738488e-4,3.1025780835067146e-5,-2.94819557957702e-9,8.46092653379528e-4,3.0725045293271956e-5,-2.81368862948315e-9,8.466753220872281e-4,3.0488818598972834e-5,-2.704879810332908e-9,8.473471109643087e-4,3.038640446510119e-5,-2.6518278127619258e-9,8.480305696476147e-4,3.0449024854662588e-5,-2.668679548466348e-9,8.486441257401572e-4,3.065628903781551e-5,-2.7477040330430985e-9,8.491313375173792e-4,3.094576582096809e-5,-2.8631317709746885e-9,8.494766164139384e-4,3.123946697058364e-5,-2.9822273668107125e-9,8.497020423260754e-4,3.1471127846907625e-5,-3.0767866876898872e-9,8.498521170161459e-4,3.16017891014394e-5,-3.129775126187276e-9,8.499770409409726e-4,3.1621830699592834e-5,-3.1363362066964675e-9,8.501209480543094e-4,3.1544720456021056e-5,-3.1013685836141294e-9,8.503161532077362e-4,3.1398399640952655e-5,-3.036097487468567e-9,8.505816546173871e-4,3.1217759899263695e-5,-2.9550165687006546e-9,8.509236995527479e-4,3.103916188717301e-5,-2.8735662703891047e-9,8.513369862483362e-4,3.0896507607776705e-5,-2.8063743424389867e-9,8.518060495699486e-4,3.081805794501351e-5,-2.7657886014572145e-9,8.523069735798167e-4,3.082345930368575e-5,-2.7605358876292335e-9,8.528098318936862e-4,3.0920864735206294e-5,-2.79447672381635e-9,8.532822991542584e-4,3.110457416848017e-5,-2.8656065993726486e-9,8.536945524033567e-4,3.1354085988535145e-5,-2.965633018689591e-9,8.540249574865114e-4,3.163548969538209e-5,-3.080489694586202e-9,8.542654720972812e-4,3.190574453586719e-5,-3.192028596537508e-9,8.544254041595665e-4,3.211974836915866e-5,-3.28090202256463e-9,8.545322236510779e-4,3.2239278828225266e-5,-3.3303148632010992e-9,8.546285733291039e-4,3.224218246448245e-5,-3.330007151957699e-9,8.547652672831671e-4,3.2129878781118014e-5,-3.279649312494011e-9,8.549907364400541e-4,3.193111420486313e-5,-3.1907193571916717e-9,8.553382926807156e-4,3.1699773222277685e-5,-3.0858345714949625e-9,8.558140144434115e-4,3.150496484434305e-5,-2.9946769942906606e-9,8.563897321781071e-4,3.1413455736156216e-5,-2.9464704670555277e-9,8.570061787799461e-4,3.1468304822318046e-5,-2.960646903904852e-9,8.575886586831152e-4,3.167199701229673e-5,-3.039317862345337e-9,8.580709942206223e-4,3.198346246211776e-5,-3.1656988018487623e-9,8.584171135061124e-4,3.233248147476386e-5,-3.310099393214403e-9,8.586297960336273e-4,3.264478971416768e-5,-3.440645754903185e-9,8.587438963877701e-4,3.286515489171303e-5,-3.5332321749884526e-9,8.58810255130539e-4,3.2968897888927814e-5,-3.5765784450704622e-9,8.588794391843271e-4,3.2960802961293873e-5,-3.5719305847910328e-9,8.589911009932855e-4,3.2866533850223576e-5,-3.529577019202463e-9,8.591697919005255e-4,3.272249454060714e-5,-3.4646650245504987e-9,8.594251730433313e-4,3.256765883619841e-5,-3.393767811079765e-9,8.597541389353542e-4,3.2438210292960187e-5,-3.3325521813766835e-9,8.601432315592983e-4,3.236427582707883e-5,-3.2942803106507433e-9,8.605707893509768e-4,3.236765846754327e-5,-3.2887387933129255e-9,8.610090272757816e-4,3.245976837958149e-5,-3.3212886990489386e-9,8.614266330715411e-4,3.2639496241471747e-5,-3.3919234343927197e-9,8.617925265638105e-4,3.289145361493536e-5,-3.4944824234170423e-9,8.620810773671341e-4,3.318566240946574e-5,-3.616455097562243e-9,8.62278291344594e-4,3.3480062508905175e-5,-3.7399625948591e-9,8.623874686730959e-4,3.372681857367478e-5,-3.844371487446432e-9,8.624320722870976e-4,3.38822001208865e-5,-3.910489310686052e-9,8.624536695365803e-4,3.391801974913249e-5,-3.925509323340507e-9,8.625041693741896e-4,3.3831145103447495e-5,-3.887217720697746e-9,8.626336863724894e-4,3.364749744285424e-5,-3.805912914971897e-9,8.628771728569449e-4,3.34184061309152e-5,-3.703085242205503e-9,8.632436901356097e-4,3.3209472451514874e-5,-3.606852247536402e-9,8.637117164869609e-4,3.30843353744748e-5,-3.5450791305814132e-9,8.64232526978409e-4,3.30874054017447e-5,-3.537852982664476e-9,8.647417259564168e-4,3.32305264787094e-5,-3.591449619924816e-9,8.651764977358669e-4,3.348834402295054e-5,-3.695963620118213e-9,8.654934113410493e-4,3.380514974584113e-5,-3.827962144226022e-9,8.65680227216288e-4,3.411174050293928e-5,-3.957644664897803e-9,8.657570330287688e-4,3.4346041766830635e-5,-4.057808965225653e-9,8.657669387277931e-4,3.446932313815453e-5,-4.11101586076775e-9,8.657613435022625e-4,3.4472588411529344e-5,-4.112539581686109e-9,8.657862135868558e-4,3.4373094380466114e-5,-4.069050533975013e-9,8.658735763707832e-4,3.4205060581144676e-5,-3.99475967321788e-9,8.660388852455758e-4,3.400943296480929e-5,-3.907091687927469e-9,8.66282466493992e-4,3.3825844969993364e-5,-3.823219696797409e-9,8.665927137849105e-4,3.3687619719216236e-5,-3.7578388388344435e-9,8.669494024009601e-4,3.361913423273398e-5,-3.7219299984715987e-9,8.673264891657124e-4,3.363439881774626e-5,-3.7220625465320145e-9,8.676945418145927e-4,3.373592694579208e-5,-3.7598487309122184e-9,8.680234235964354e-4,3.391351714465576e-5,-3.831368929963179e-9,8.682859972296471e-4,3.4143297256214016e-5,-3.926691202132316e-9,8.684632880644983e-4,3.4388163647136244e-5,-4.029972466578756e-9,8.685506814790997e-4,3.460127638371885e-5,-4.120889818604067e-9,8.685633840062911e-4,3.4734023180121915e-5,-4.178058611548191e-9,8.685380720783138e-4,3.4748252417980764e-5,-4.184372534042753e-9,8.685276349437916e-4,3.462966914812959e-5,-4.132901756292709e-9,8.685883291320915e-4,3.439669502663824e-5,-4.030854924441111e-9,8.687628382465881e-4,3.409933619952682e-5,-3.8992420211352555e-9,8.690658895057307e-4,3.3806647123293056e-5,-3.767634596223998e-9,8.694785799556857e-4,3.358696397155016e-5,-3.66578227162126e-9,8.69953568550893e-4,3.348840676249508e-5,-3.6152232829612797e-9,8.704286241585501e-4,3.352635120659295e-5,-3.623705146793659e-9,8.708434233092473e-4,3.36810197345908e-5,-3.6838087593563796e-9,8.711544860856722e-4,3.390464015558857e-5,-3.775680273187482e-9,8.713445725476498e-4,3.4135193673201416e-5,-3.872743220397276e-9,8.714246913321904e-4,3.4312587501143965e-5,-3.948669842514471e-9,8.714288385999942e-4,3.4392832306213484e-5,-3.983673438771948e-9,8.714035709437477e-4,3.4356588349835174e-5,-3.968454991877816e-9,8.713959401397892e-4,3.4210390500048455e-5,-3.904979500162979e-9,8.714434314935408e-4,3.398142071965159e-5,-3.80439632081465e-9,8.715682144280527e-4,3.370866502664886e-5,-3.6833035835006632e-9,8.717760142029626e-4,3.343373250814609e-5,-3.5597712152619653e-9,8.720583485322628e-4,3.3193644320049306e-5,-3.450143545804329e-9,8.723963305223968e-4,3.301640385510928e-5,-3.367013852901416e-9,8.727645877754009e-4,3.2918942751948914e-5,-3.318240190622122e-9,8.731346053164378e-4,3.290646426016532e-5,-3.3065975355143806e-9,8.734775263631105e-4,3.297227361968222e-5,-3.329661479803068e-9,8.737669246598247e-4,3.3097659941762863e-5,-3.3797021541565744e-9,8.739822501713752e-4,3.325204966262417e-5,-3.443668277316694e-9,8.741134429392175e-4,3.339441456133996e-5,-3.5037068763647772e-9,8.741663973729802e-4,3.347758868121113e-5,-3.538992779628764e-9,8.741674829281171e-4,3.3457101736264556e-5,-3.529614543781381e-9,8.741636709228396e-4,3.33044797175946e-5,-3.4624919926690294e-9,8.742144615830622e-4,3.302135267114131e-5,-3.337668517116169e-9,8.743747932608298e-4,3.264687423555464e-5,-3.1716545924770886e-9,8.746743840366114e-4,3.2251051243278426e-5,-2.9946081022665746e-9,8.751039489192597e-4,3.1913364921373566e-5,-2.841130150424048e-9,8.75616678903275e-4,3.169573821909346e-5,-2.738595983860198e-9,8.761445007935473e-4,3.162302292091491e-5,-2.698649906049282e-9,8.766203447195945e-4,3.167892308982781e-5,-2.715236885002451e-9,8.769963987697803e-4,3.18159383463042e-5,-2.7686104110067445e-9,8.772531062745815e-4,3.197221978649029e-5,-2.8323654947714774e-9,8.773990475854998e-4,3.2088299096119665e-5,-2.880564943726866e-9,8.774645762292172e-4,3.211954673233677e-5,-2.893205151464858e-9,8.774924155916585e-4,3.204298846969703e-5,-2.8593905607603026e-9,8.775277330636137e-4,3.185874387139908e-5,-2.778242446816188e-9,8.776094585559394e-4,3.158700840416259e-5,-2.657838435817586e-9,8.777641128132043e-4,3.126183960920271e-5,-2.5126548703569532e-9,8.78002877757191e-4,3.092341017264447e-5,-2.360210638245288e-9,8.78321864386743e-4,3.061051760107952e-5,-2.217716237311034e-9,8.787048132667152e-4,3.0354696413936292e-5,-2.0993733631963004e-9,8.791271129207127e-4,3.0176554948077197e-5,-2.0146576508170057e-9,8.795600526842855e-4,3.0084265265720063e-5,-1.9675904842138486e-9,8.799746005764623e-4,3.0073592700195904e-5,-1.9567272155798592e-9,8.803445685727407e-4,3.0128701933306585e-5,-1.9754931411414064e-9,8.806494724082241e-4,3.0223295863434567e-5,-2.012635250546257e-9,8.808775707256542e-4,3.0322170015652122e-5,-2.052817626545346e-9,8.810294629751855e-4,3.0383874541022066e-5,-2.077700737209661e-9,8.811219817814094e-4,3.0365784932921254e-5,-2.068140259899549e-9,8.811907881742122e-4,3.0232911390513986e-5,-2.0081342888122047e-9,8.812885190182023e-4,2.997035224275941e-5,-1.8904615726488688e-9,8.814748050867232e-4,2.9595882363843328e-5,-1.7223897108962145e-9,8.817972325406356e-4,2.9164896341324755e-5,-1.5279575596742727e-9,8.822694105023639e-4,2.8759323793384683e-5,-1.343146342028477e-9,8.828590048460752e-4,2.846005103322195e-5,-1.203784176843767e-9,8.834961316970444e-4,2.8315408404152892e-5,-1.1317019817736651e-9,8.840994293836644e-4,2.83238474756633e-5,-1.1270381711241277e-9,8.846048503517724e-4,2.8439563876848128e-5,-1.1705107836514342e-9,8.849825261434277e-4,2.859423427913567e-5,-1.2327153363012424e-9,8.852377405673897e-4,2.872082247503333e-5,-1.2843809606697235e-9,8.854014350719654e-4,2.876976020388615e-5,-1.303411303612948e-9,8.855175691600622e-4,2.8715569658327886e-5,-1.277894686911527e-9,8.856319414654461e-4,2.8556383656666185e-5,-1.2061264571813115e-9,8.857841196699158e-4,2.8309570284204513e-5,-1.0949624616496077e-9,8.86002414496257e-4,2.800577749822175e-5,-9.574157297751806e-10,8.863013254260068e-4,2.7682541703841347e-5,-8.099261480403505e-10,8.866810883604368e-4,2.737801278175877e-5,-6.695408320630273e-10,8.871291034948231e-4,2.712535762590261e-5,-5.513048593649785e-10,8.876228817584209e-4,2.6948399119048687e-5,-4.661876242949888e-10,8.881339924077757e-4,2.6858865286951922e-5,-4.197713685400893e-10,8.886323956855838e-4,2.6855412138336997e-5,-4.1179225649502044e-10,8.890905424093482e-4,2.6924258581403914e-5,-4.3643441475982406e-10,8.89486876270744e-4,2.704096977561104e-5,-4.831197421077393e-10,8.898087302066524e-4,2.7172978043164845e-5,-5.375765842824722e-10,8.900547902185537e-4,2.7282747178927522e-5,-5.831513974124379e-10,8.902372653753913e-4,2.733186854749421e-5,-6.02542926548089e-10,8.903834851144673e-4,2.7286782595027556e-5,-5.803341451115104e-10,8.905356820182493e-4,2.712678713758405e-5,-5.066546828876249e-10,8.907466490935431e-4,2.6853822167289743e-5,-3.817222697006188e-10,8.910687379135351e-4,2.650095008026581e-5,-2.1981389275727818e-10,8.915358613141435e-4,2.613316302797963e-5,-4.974968918210426e-11,8.921441557986117e-4,2.583341569558239e-5,9.130127597938247e-11,8.928435576312597e-4,2.5673648601187617e-5,1.7077634639135572e-10,8.935508750856743e-4,2.5683679634147847e-5,1.7468326592194504e-10,8.941811428365587e-4,2.5837610180360195e-5,1.1381510218411522e-10,8.946793739990621e-4,2.6067113585673513e-5,1.8006901262402275e-11,8.950349091826171e-4,2.6291644820413183e-5,-7.717084794839584e-11,8.952750213494531e-4,2.6446389435700407e-5,-1.427663814093566e-10,8.954475970296075e-4,2.64960814946439e-5,-1.625988001066087e-10,8.956041887442954e-4,2.6435196735103513e-5,-1.334689640026147e-10,8.957887712051753e-4,2.6280905283114967e-5,-6.224871917615731e-11,8.960323226691599e-4,2.6064317323041538e-5,3.777765165941726e-11,8.963513575114935e-4,2.5822815459411318e-5,1.5017549800954496e-10,8.96748509792149e-4,2.5594124919428984e-5,2.5799083696445723e-10,8.972140957359525e-4,2.5411712108030967e-5,3.459131555119787e-10,8.97728398380985e-4,2.5301088813513795e-5,4.0208667445015245e-10,8.982646818886401e-4,2.5276973108559064e-5,4.19511702332487e-10,8.987928885022273e-4,2.5341491278246515e-5,3.969097854818967e-10,8.992838386101128e-4,2.548373838032777e-5,3.389148700251626e-10,8.997135067687896e-4,2.5680959581705512e-5,2.5551799630259e-10,9.000668011166033e-4,2.590128913974731e-5,1.6084571383571664e-10,9.003404075887244e-4,2.610773225553987e-5,7.143433854803536e-11,9.005444531271067e-4,2.626306035931546e-5,4.124552392039377e-12,9.00702826310028e-4,2.6335350498633444e-5,-2.636373164642357e-11,9.008518990331428e-4,2.6304027478397698e-5,-1.0173572691243059e-11,9.010369750715351e-4,2.616622985452215e-5,5.4685092455799334e-11,9.013053376731691e-4,2.5942528849006335e-5,1.5954350428825642e-10,9.016950534266347e-4,2.5679451672258137e-5,2.8372503804596007e-10,9.022205066966907e-4,2.544470577148632e-5,3.9657633063202955e-10,9.028595081446744e-4,2.5311299328910574e-5,4.6464848630157026e-10,9.035509621163673e-4,2.5331826054565013e-5,4.634519661365919e-10,9.042106403831823e-4,2.5513725417149697e-5,3.8884970955208253e-10,9.047617243836385e-4,2.5811755065389144e-5,2.60664002639359e-10,9.051639505218222e-4,2.614554976562279e-5,1.1486292999309726e-10,9.054243849394402e-4,2.6432431256007105e-5,-1.1230224109221291e-11,9.055864786501333e-4,2.6615750824420068e-5,-9.174245642919217e-11,9.057083348203511e-4,2.6675961252054152e-5,-1.1728835587695205e-10,9.05843511575355e-4,2.6625694545636095e-5,-9.286576972832296e-11,9.06030514980889e-4,2.649764658641052e-5,-3.258481232105302e-11,9.06290090659766e-4,2.6332711316700743e-5,4.5492394804177083e-11,9.066269079166894e-4,2.617147979221003e-5,1.230902666428942e-10,9.07032727485054e-4,2.6049140781842117e-5,1.8405636274430814e-10,9.074895537591257e-4,2.5992565692749985e-5,2.1580884693763228e-10,9.079725233622418e-4,2.601842289978903e-5,2.1034058494702972e-10,9.08452843161885e-4,2.6131794189518346e-5,1.649501949413581e-10,9.089011187176733e-4,2.632531969086917e-5,8.266582317282753e-11,9.092912509323934e-4,2.657930002330282e-5,-2.7811191372744197e-11,9.096046947811349e-4,2.686337600497953e-5,-1.5287896453951608e-10,9.098343835696975e-4,2.7140160235303376e-5,-2.756580777618742e-10,9.099874027396871e-4,2.737067976970732e-5,-3.7839683569915226e-10,9.100856080701482e-4,2.7521019033657425e-5,-4.4541806075215186e-10,9.101636727790192e-4,2.756915427471307e-5,-4.662024595936307e-10,9.102644580498961e-4,2.751076592587584e-5,-4.3810314345020306E-10,9.104319511252228e-4,2.736291054800073e-5,-3.681879685719245e-10,9.107022221916946e-4,2.7164432891512126e-5,-2.736553609265788e-10,9.110933354507029e-4,2.6971680885033756e-5,-1.800824904443576e-10,9.11596330532063e-4,2.6848117080263942e-5,-1.167738231171905e-10,9.121710507471927e-4,2.6847793958635906e-5,-1.0913815308381964e-10,9.12751534970597e-4,2.6996070209376236e-5,-1.6964949395235283e-10,9.132634636288651e-4,2.72756008370633e-5,-2.9115810444199527e-10,9.136492992958313e-4,2.762733566158342e-5,-4.471383736182009e-10,9.138892892803114e-4,2.797002314543524e-5,-6.005507786510418e-10,9.140064810409892e-4,2.8229735821653137e-5,-7.173953360843062e-10,9.140537060586121e-4,2.8363778381520954e-5,-7.777099880424133e-10,9.14091744347561e-4,2.8368259804342512e-5,-7.790964097262822e-10,9.141707165736832e-4,2.8270290432506036e-5,-7.332676996715194e-10,9.143209375298112e-4,2.811333903517838e-5,-6.595294780294835e-10,9.145523676781168e-4,2.7943782175206335e-5,-5.787922436801097e-10,9.148586524660526e-4,2.780218073489562e-5,-5.09645207598181e-10,9.15222213264884e-4,2.771907523928594e-5,-4.663750532641056e-10,9.156186000215372e-4,2.771356286516508e-5,-4.581833019385022e-10,9.160198239972885e-4,2.7793018214471577e-5,-4.889247071998724e-10,9.163971548837643e-4,2.795307226790254e-5,-5.570122799444724e-10,9.167240149473723e-4,2.8177711329907586e-5,-6.554310086134877e-10,9.169794235753807e-4,2.8439962674449603e-5,-7.720472188029496e-10,9.171519825482253e-4,2.870402885777489e-5,-8.905750008556582e-10,9.172436935254598e-4,2.8929649817970348e-5,-9.925419838939779e-10,9.172722940063046e-4,2.9078832692983632e-5,-1.0603291660817625e-9,9.172706400546866e-4,2.912409780548574e-5,-1.080924584550345e-9,9.17282157849279e-4,2.9056323329246427e-5,-1.0495469582952546e-9,9.17352548715972e-4,2.8889652042343435e-5,-9.719977617501207e-10,9.175193386587934e-4,2.8661331040972106e-5,-8.647637143988589e-10,9.178017998224793e-4,2.842566755332037e-5,-7.524533284368034e-10,9.181939299909826e-4,2.824278153652306e-5,-6.627971222401617e-10,9.186627846165465e-4,2.8164133229208014e-5,-6.200278774014088e-10,9.19153691738718e-4,2.8217986087638425e-5,-6.380459293784765e-10,9.196025451004935e-4,2.8398984740483134E-05,-7.153326477966576e-10,9.199531003263491e-4,2.8666337663424036e-5,-8.338087002295918e-10,9.201741950295597e-4,2.8953522843619235e-5,-9.631226655409933e-10,9.202698561839225e-4,2.918802920852016e-5,-1.0697405631849333e-9,9.202770539297086e-4,2.9313951870328424e-5,-1.1274657767908662e-9,9.20251788073042e-4,2.9307694253609973e-5,-1.1248038587933661e-9,9.202503631241845e-4,2.918064509705824e-5,-1.0663142394564279e-9,9.203142811661418e-4,2.897003743896867e-5,-9.68530131895985e-10,9.204634699590332e-4,2.8724513202568727e-5,-8.534492296718607e-10,9.206973132387841e-4,2.849110787091789e-5,-7.426352211365498e-10,9.209999773637789e-4,2.8307067355278376e-5,-6.534492842105844e-10,9.213465790289916e-4,2.8196472237938423e-5,-5.974035621587512e-10,9.21708293335506e-4,2.8169942280115928e-5,-5.798940312517992e-10,9.220560080914304e-4,2.8225631349565033e-5,-6.005462214024394e-10,9.223629986190541e-4,2.8350410654034294e-5,-6.536955210792199e-10,9.226073866112044e-4,2.8520935298446312e-5,-7.28851240962084e-10,9.227750120124014e-4,2.8705005688838147e-5,-8.113094184352923e-10,9.228628541636617e-4,2.886416079327547e-5,-8.833278120249603e-10,9.228823589672353e-4,2.895853283479903e-5,-9.263428574000358e-10,9.228611534120579e-4,2.8954410829763517e-5,-9.244525203760215e-10,9.22841094274703e-4,2.8833597004887607e-5,-8.687589669821464e-10,9.228711087655056e-4,2.860178543460586e-5,-7.612984631604381e-10,9.229952903879357e-4,2.8291928119182712e-5,-6.167002132570091e-10,9.232395355675018e-4,2.7959342967609063e-5,-4.600776629160696e-10,9.236018170315074e-4,2.766851040299726e-5,-3.211006337196332e-10,9.240504121843283e-4,2.7475443382623978e-5,-2.2596816610665073e-10,9.24531262399518e-4,2.741170749626898e-5,-1.8999789985040983e-10,9.249820629694834e-4,2.747542499218661e-5,-2.1326498107148244e-10,9.25348579660942e-4,2.7631811895541113e-5,-2.805432543382063e-10,9.255984900902482e-4,2.7822723222327646e-5,-3.6544697746303546e-10,9.257290496695094e-4,2.798233184373522e-5,-4.3755816439126784e-10,9.25766534088789e-4,2.80545120609564e-5,-4.705154590635174e-10,9.257576987930197e-4,2.800685278340508e-5,-4.4865598588417815e-10,9.257561138535627e-4,2.7837106293070436e-5,-3.701910247767966e-10,9.258080615404461e-4,2.757056376533481e-5,-2.4616627976356377e-10,9.259425348434525e-4,2.7250326470559132e-5,-9.609656809923689e-11,9.261676807511085e-4,2.6924824434891593e-5,5.773311606893498e-11,9.264731188036599e-4,2.663697142690499e-5,1.9528968966108854e-10,9.268356351407438e-4,2.6417432659609167e-5,3.019901995562894e-10,9.272255509647921e-4,2.6282152592361178e-5,3.6997091936557287e-10,9.276120574189009e-4,2.6232846291373425e-5,3.9797540595297546e-10,9.279670116931762e-4,2.6258881085469936e-5,3.9055441141759986e-10,9.282675227858236e-4,2.633942937784366e-5,3.570959163618194e-10,9.284980234511821e-4,2.644547284239765e-5,3.109050504872678e-10,9.286524796636579e-4,2.654193492234242e-5,2.6822927772623276e-10,9.287369625751979e-4,2.6590780100069592e-5,2.468431766251289e-10,9.287720369209947e-4,2.6556135305642376e-5,2.636822102111064e-10,9.287934339306461e-4,2.6412028824363202e-5,3.312264037819188e-10,9.288486997992517e-4,2.6151880961107663e-5,4.530300718778846e-10,9.289878720362526e-4,2.5796515725207018e-5,6.199146734068698e-10,9.292487589067231e-4,2.5395465656098757e-5,8.092647167352129e-10,9.29641666352082e-4,2.5017209649756432e-5,9.894516360464816e-10,9.301413876496481e-4,2.472917795980915e-5,1.1290141747255939e-9,9.306922559167429e-4,2.4575229989538544e-5,1.2070780979559616e-9,9.312251819721861e-4,2.4561109000296633e-5,1.2202059312944135e-9,9.316789667520669e-4,2.465414560968802e-5,1.1827604254879246e-9,9.320169043861123e-4,2.479571175444768e-5,1.1213819953507269e-9,9.322336847376593e-4,2.4919677271373376e-5,1.0666004249723868e-9,9.323526991819391e-4,2.496981318218703e-5,1.044792681412822e-9,9.324168167771345e-4,2.4911728305382368e-5,1.072537792680831e-9,9.324763341556606e-4,2.473779692662344e-5,1.1541348440936524e-9,9.32577287240139e-4,2.446550131433796e-5,1.2821529509168165e-9,9.327524775390439e-4,2.4130741138395573e-5,1.440358563370683e-9,9.330166395630526e-4,2.3778318046824064e-5,1.608044416470438e-9,9.333661039477023e-4,2.345210977652227e-5,1.7646106799430005e-9,9.337821762564567e-4,2.3187164366326925e-5,1.8933448565731633e-9,9.342366534787011e-4,2.3004991867956138e-5,1.983756984261391e-9,9.346977645863617e-4,2.2912152275451638e-5,2.0323646948176415e-9,9.351352665974508e-4,2.2901360219547865e-5,2.0422501912195693e-9,9.355241516458479e-4,2.2953966611580642e-5,2.021915505548688e-9,9.358471024062418e-4,2.3042848220487e-5,1.983917263664366e-9,9.360962029673838e-4,2.313526295966051e-5,1.9435240421953627e-9,9.362744148421519e-4,2.319579877368126e-5,1.9173555450183216e-9,9.363970340869479e-4,2.3190008396632788e-5,1.921714213936969e-9,9.364926985739199e-4,2.3089580081948874e-5,1.970175219873316e-9,9.366025595028989e-4,2.287954350737153e-5,2.070174683549589e-9,9.367754583789063e-4,2.256662486320555e-5,2.219009962619075e-9,9.370572543760401e-4,2.2185503816041416e-5,2.40080151825208e-9,9.374749898088448e-4,2.179746684581724e-5,2.5870254829646286e-9,9.380215496738124e-4,2.1476617739059208e-5,2.7428988022427817e-9,9.386504920238448e-4,2.1285143976963856e-5,2.8389345262250392e-9,9.392879545260637e-4,2.124847926412409e-5,2.8626284858923288e-9,9.398581363504856e-4,2.1344635824425707e-5,2.8236063659948714e-9,9.403092110193681e-4,2.1513973951784947e-5,2.749245885993131e-9,9.406269138130842e-4,2.1682634723939766e-5,2.67386501863676e-9,9.408323763286779e-4,2.178648157968665e-5,2.6275885831474924e-9,9.409696504997068e-4,2.1786146578814432e-5,2.6292808737827737e-9,9.410906514838015e-4,2.1671298131321062e-5,2.6844268786052037e-9,9.41242649635597e-4,2.145702236312698e-5,2.786633456564728e-9,9.414601509848395e-4,2.1176178630965497e-5,2.9210047073092557e-9,9.417610200086401e-4,2.0870608445111807e-5,3.0681179766648086e-9,9.421460370053103e-4,2.0582809873944577e-5,3.207899651127782e-9,9.426010936837508e-4,2.0348968697412414e-5,3.3229824926066307e-9,9.431012540259686e-4,2.0193985304551373e-5,3.401195641488044e-9,9.436158120570794e-4,2.012884842892798e-5,3.436951038320817e-9,9.441134784478598e-4,2.015031500623975e-5,3.4314859276191417e-9,9.44566950904901e-4,2.0242534645964484e-5,3.3921135298370826e-9,9.449563631171996e-4,2.0379982085524475e-5,3.330805785534591e-9,9.45271517348029e-4,2.0530961708450033e-5,3.2625023737391606e-9,9.455131621575188e-4,2.0661233197895548e-5,3.203395247216593e-9,9.456936234191719e-4,2.0737740900431553e-5,3.1692023079153e-9,9.458369007988554e-4,2.073272466669384e-5,3.1732674706314038e-9,9.459779040524844e-4,2.0628653770206123e-5,3.224233945190357e-9,9.461597634391267e-4,2.0424167988906754e-5,3.3231751090821356e-9,9.46427574458297e-4,2.014003684687474e-5,3.4606600272122213e-9,9.468173676227388e-4,1.98221812789624e-5,3.615192303367057e-9,9.473413942934375e-4,1.9537012097558103e-5,3.755318583394564e-9,9.479753457182548e-4,1.9355058402098106e-5,3.847349600926752e-9,9.486571399076209e-4,1.9325058394134616e-5,3.867688552958027e-9,9.493040520760504e-4,1.9450539767815956e-5,3.814066075128484e-9,9.498430651538646e-4,1.9684623094334385e-5,3.7081770948540923e-9,9.502378728614017e-4,1.994861501821484e-5,3.5870008241428506e-9,9.504975307118342e-4,2.01632840220824e-5,3.4880374073031084e-9,9.506654032765242e-4,2.0274709481559317e-5,3.437068799563959e-9,9.507989420812344e-4,2.0264365859063468e-5,3.4433449550727618e-9,9.509516863480496e-4,2.0145143002205663e-5,3.5013586813003237e-9,9.511626032896819e-4,1.9950604861647016e-5,3.595755007819909e-9,9.514523625841899e-4,1.972359867900281e-5,3.7065483148110366e-9,9.518240846294337e-4,1.9507126203245064e-5,3.813351896094841e-9,9.522662841079077e-4,1.933798514493866e-5,3.898421280054506e-9,9.527567177104721e-4,1.9242649321887765e-5,3.94873970416592e-9,9.532666534200279e-4,1.9234898009828817e-5,3.9573083496472175e-9,9.537653046836214e-4,1.931500888982162e-5,3.923656171525834e-9,9.542241491314553e-4,1.9470419469034043e-5,3.853573929853045e-9,9.546208269205008e-4,1.967778168597357e-5,3.758113485784791e-9,9.549422337944906e-4,1.990624356532854e-5,3.6519733720235854e-9,9.551864658672643e-4,2.012153016907811e-5,3.5515235649189295e-9,9.553635348866212e-4,2.029033148993112e-5,3.4727284456947125e-9,9.554949463176509e-4,2.0384734278047446e-5,3.429079651875691e-9,9.55612166139684e-4,2.03866030610309e-5,3.4295402733541126e-9,9.557537872596488e-4,2.029183687422643e-5,3.4764900665650733e-9,9.559608378031081e-4,2.0114246891201803e-5,3.563775485379721e-9,9.562694312086343e-4,1.988802000189864e-5,3.6753836672060575e-9,9.567005353306505e-4,1.9666425812314765e-5,3.785918859393363e-9,9.572485741343938e-4,1.951354653734905e-5,3.864486310112931e-9,9.57873847869679e-4,1.9487015195238054e-5,3.8829949935352816e-9,9.58506375185627e-4,1.961495423927636e-5,3.827353654574862e-9,9.590658554599388e-4,1.9878214338844435e-5,3.706183686441474e-9,9.59491778185771e-4,2.021167822462048e-5,3.5503480856677113e-9,9.597671996149698e-4,2.0528378965229346e-5,3.4014299519401243e-9,9.599217284447296e-4,2.0753552855409916e-5,3.295380207449077e-9,9.600140258223889e-4,2.084893939258985e-5,3.2508500223577976e-9,9.601071466008167e-4,2.081721898662703e-5,3.2670417811981256e-9,9.602500853369318e-4,2.0691028420511654e-5,3.3288768573415605e-9,9.604701387776805e-4,2.051709319339869e-5,3.4144264007709955e-9,9.60773545484276e-4,2.034297332174702e-5,3.501100421052396e-9,9.611500679665309e-4,2.0208786324005668e-5,3.569552864573399e-9,9.615783591656324e-4,2.014318881895291e-5,3.6056735200335207e-9,9.620307130834803e-4,2.0161937110386437e-5,3.6014269400379457e-9,9.62477113531018e-4,2.0267731706648574e-5,3.5550823882264824e-9,9.628889049217328e-4,2.0450864920827385e-5,3.4710012484743916e-9,9.632422415170349e-4,2.069066577730867e-5,3.3589647822421636e-9,9.635212754316284e-4,2.0957906935666852e-5,3.2329849290971195e-9,9.637208099389389e-4,2.1218360815741975e-5,3.1095519476630494e-9,9.638478893925641e-4,2.143740445538196e-5,3.0054061149790872e-9,9.639218361763492e-4,2.158517204251695e-5,2.9350831633136274e-9,9.639725275225862e-4,2.164161332623286e-5,2.9085171189180765e-9,9.64036920303166e-4,2.1600821946777073e-5,2.928960887667208e-9,9.641539462469475e-4,2.1473982466179215e-5,2.991503500896854e-9,9.643579665181983e-4,2.129029021121154e-5,3.0824929931979146e-9,9.646710825382556e-4,2.1095019009386883e-5,3.180304929063653e-9,9.650951414487477e-4,2.0943493593642626e-5,3.2581268817857795e-9,9.656055505064805e-4,2.08898021785074e-5,3.2893920797482204e-9,9.661506527532753e-4,2.0970707862049013e-5,3.2556740154475738e-9,9.666609700686485e-4,2.1188936127107843e-5,3.154989219151684e-9,9.670695157136533e-4,2.1504456001118907e-5,3.0062342252277902e-9,9.673367523603838e-4,2.1842686062608042e-5,2.8453160317467475e-9,9.674669505838162e-4,2.2120216315934066e-5,2.7126670331229932e-9,9.675052672091475e-4,2.227588153984791e-5,2.6381300324599617e-9,9.67517310975436e-4,2.2290098639572074e-5,2.631571812351488e-9,9.675641549386202e-4,2.2184188610723864e-5,2.683192639935835e-9,9.676856175598294e-4,2.20050732406217e-5,2.770831293998539e-9,9.678958345343047e-4,2.1806797104405777e-5,2.8687326779884426e-9,9.681874796128061e-4,2.1636899335670483e-5,2.953998363007588e-9,9.685391645791842e-4,2.152957275673156e-5,3.00987037631748e-9,9.689223645110006e-4,2.150393434528262e-5,3.0266647100820593e-9,9.693065461435913e-4,2.1564905127593073e-5,3.0015027830697376e-9,9.696627464705727e-4,2.170489096403e-5,2.9376390040777005e-9,9.699663713453124e-4,2.190558400417185e-5,2.843664610904784e-9,9.701997585934131e-4,2.213998368625858e-5,2.732536103734538e-9,9.703546573483743e-4,2.2375052452482884e-5,2.6202568912921775e-9,9.704343769114892e-4,2.2575473791547756e-5,2.524023751178972e-9,9.70454924970594e-4,2.2708679506424222e-5,2.4597828841057676e-9,9.704442684490575e-4,2.2750680548228815e-5,2.4394191096140195e-9,9.70439123002729e-4,2.269163919856002e-5,2.4680675742140396e-9,9.704792630519241e-4,2.2539791907013454e-5,2.542185695856593e-9,9.706000419416595e-4,2.2322356320565065e-5,2.6490241837254375e-9,9.708244225247657e-4,2.208254490993235e-5,2.7679330778128663e-9,9.711561348596273e-4,2.1872563135784633e-5,2.8736116004682885e-9,9.715756674472968e-4,2.1743144202396543e-5,2.9411105609226534e-9,9.720408542324096e-4,2.1730926538918943e-5,2.952015717458691e-9,9.724936339510598e-4,2.1846219921065344e-5,2.9005828036571425e-9,9.728734724452532e-4,2.206526684943893e-5,2.797753482524233e-9,9.73135268736305e-4,2.2331915022099625e-5,2.670534930423955e-9,9.732656869873846e-4,2.2571721047228047e-5,2.5551777813643346e-9,9.732896097496811e-4,2.2715649390846857e-5,2.4855509251822116e-9,9.732616414073596e-4,2.272350320648063e-5,2.481624710067114e-9,9.732459633450723e-4,2.2595527734851322e-5,2.5437609524692543e-9,9.732948670608518e-4,2.2367393624596813e-5,2.6551037957679194e-9,9.73435775314028e-4,2.2093662920085047e-5,2.7895237218060307e-9,9.736697513088091e-4,2.18295826774539e-5,2.9203430820786453e-9,9.739779823635234e-4,2.1618463822268142e-5,3.0263986928152343e-9,9.743307630656896e-4,2.14864286442583e-5,3.094632000552376e-9,9.746951934172733e-4,2.1442559653592196e-5,3.120143478228777e-9,9.75040337470858e-4,2.1481561948537084e-5,3.105047155900916e-9,9.753402753088035e-4,2.1586872020260996e-5,3.0570669881734935e-9,9.755760407850127e-4,2.1733399542332765e-5,2.9882432258541283e-9,9.757372606998641e-4,2.1890007987213578e-5,2.913710103700545e-9,9.758238522467932e-4,2.2022308074060718e-5,2.8502981225779335e-9,9.758475695193567e-4,2.2096463822383953e-5,2.814649675643213e-9,9.75832592759985e-4,2.208441265972937e-5,2.8206647589847394e-9,9.758139779570534e-4,2.1970120824932505e-5,2.8764536267483205e-9,9.758329513980938e-4,2.1755459239150598e-5,2.9814657729990575e-9,9.759289405456378e-4,2.146343405290607e-5,3.1248755506446147e-9,9.761297562449015e-4,2.1136469459250627e-5,3.2863308207215907e-9,9.764427844228285e-4,2.0828722875066234e-5,3.4395760619971846e-9,9.768504235625822e-4,2.05936578116549e-5,3.558401665094199e-9,9.773119310828517e-4,2.047011212383905e-5,3.623414500991834e-9,9.777718670258082e-4,2.0470907088346007e-5,3.627703453703138e-9,9.781733258317801e-4,2.057752945621449e-5,3.5796494003707138e-9,9.784727031122457e-4,2.0742968740602736e-5,3.501766797457081e-9,9.786520083386822e-4,2.090280873294008e-5,3.4254174178099575e-9,9.787247391817811e-4,2.099234249163606e-5,3.3824366972435045e-9,9.787325073239532e-4,2.0964978181006943e-5,3.3960258792809006e-9,9.787325574450096e-4,2.080554329966027e-5,3.474116418782361e-9,9.78780386798012e-4,2.053316629811452e-5,3.607853339306525e-9,9.78914283306498e-4,2.0192836373745813e-5,3.7756288344559166e-9,9.79147450149718e-4,1.9840040928541138e-5,3.9505044744465266e-9,9.794691393037586e-4,1.9525344833017023e-5,4.107694790089413e-9,9.798520178516646e-4,1.928413468832371e-5,4.229601723499455e-9,9.802613780058582e-4,1.9132999458968806e-5,4.30768523320254e-9,9.806628425931363e-4,1.9071152761889917e-5,4.341903576740723e-9,9.810273134182267e-4,1.9084239326578834e-5,4.338962357581536e-9,9.81333537072951e-4,1.9148443642578993e-5,4.310353550740631e-9,9.81569296115634e-4,1.9233976343823555e-5,4.2706388260183405e-9,9.817321483998952e-4,1.9307966381521585e-5,4.235993167701627e-9,9.81830219636952e-4,1.933733918927407e-5,4.222757802688705e-9,9.818829501630556e-4,1.9292467400002797e-5,4.245632427234919e-9,9.819209964844942e-4,1.9152168044642423e-5,4.315222825428222e-9,9.8198392831691e-4,1.890983975966044e-5,4.435029642934434e-9,9.821143377150008e-4,1.857919889488635e-5,4.59861659028588e-9,9.823480141006478e-4,1.819663416702158e-5,4.788408783691395e-9,9.827021678395676e-4,1.781681352429813e-5,4.977767747591471e-9,9.8316630954625e-4,1.750019208422675e-5,5.1370239028109335e-9,9.837010460599907e-4,1.729533464359589e-5,5.242087342349132e-9,9.842471758127079e-4,1.722284340206006e-5,5.282365711457081e-9,9.847423799112572e-4,1.7267922501442923e-5,5.2645551112541595e-9,9.851390392167326e-4,1.7384650541422545e-5,5.210737350473865e-9,9.85416712413494e-4,1.7509721680699187e-5,5.151788515618179e-9,9.855858656559924e-4,1.7580163367743918e-5,5.118732221992248e-9,9.856830005405348e-4,1.754937325800318e-5,5.134813103943706e-9,9.857596419803308e-4,1.7397498039928058e-5,5.210281577132254e-9,9.858686370143312e-4,1.7134242430752782e-5,5.340872784086539e-9,9.860514093620037e-4,1.6794137806137563e-5,5.509998145968244e-9,9.863293550422345e-4,1.6426136917274978e-5,5.693759305662125e-9,9.867012674118518e-4,1.6080882897378395e-5,5.867166202605813e-9,9.871466831850105e-4,1.5799461394281728e-5,6.009706321470195e-9,9.876331363464859e-4,1.560644168178504e-5,6.108876220456722e-9,9.881244546795737e-4,1.5508013115131364e-5,6.16123561320287e-9,9.885877203164924e-4,1.5494168132305846e-5,6.1714423956312695e-9,9.889977731607897e-4,1.554301218967708e-5,6.150173958810571e-9,9.89339357154404e-4,1.5625438489487203e-5,6.11180328305642e-9,9.896077069428486e-4,1.5709163928471263e-5,6.072354236231378e-9,9.898084641090051e-4,1.5761986455145772e-5,6.047846128949401e-9,9.89957481892549e-4,1.575472773264608e-5,6.052821432389052e-9,9.900805416390554e-4,1.5664564164811243e-5,6.098708901861965e-9,9.902123484409752e-4,1.5479331179479615e-5,6.191709401312268e-9,9.903935258545628e-4,1.5202748222706768e-5,6.33020714370356e-9,9.906641160678208e-4,1.4859172652645127e-5,6.502381741232603e-9,9.910530106883304e-4,1.4494749524882107e-5,6.685572808518867e-9,9.915653761885476e-4,1.4170939529055735e-5,6.8494023081549725e-9,9.92173804543939e-4,1.3948485846748767e-5,6.963646567409606e-9,9.92820439606734e-4,1.3865800846189006e-5,7.008937764536123e-9,9.934330686488335e-4,1.3922023616282452e-5,6.98524850756154e-9,9.939493480964887e-4,1.4075052891534514e-5,6.91302227434678e-9,9.943372374337234e-4,1.4256527274009431e-5,6.825888020437902e-9,9.946022722861765e-4,1.4395571285888233e-5,6.75895614654633e-9,9.947808856143072e-4,1.4439740434982362e-5,6.738430832136037e-9,9.949257957257986e-4,1.4366093115323758e-5,6.776065172871318e-9,9.950905167510095e-4,1.418186073054903e-5,6.868729017701459e-9,9.953173989064848e-4,1.391790875148587e-5,7.001518418367263e-9,9.95630713119781e-4,1.3618756991412558e-5,7.152573416875709e-9,9.960345799292754e-4,1.3332040182830323e-5,7.29822948174995e-9,9.965148922381106e-4,1.3099245727471433e-5,7.4176277467670906e-9,9.970441941477112e-4,1.294893783688122e-5,7.496180701557594e-9,9.975882397394037e-4,1.2893264734091967e-5,7.527452492986098e-9,9.98112746713271e-4,1.2927881166143136e-5,7.513323955728468e-9,9.985890416039868e-4,1.3034634044303174e-5,7.462717843178684e-9,9.98997826875862e-4,1.3185900947308538e-5,7.389423516943071e-9,9.993309205324102e-4,1.3349405125668461e-5,7.3096360810763596e-9,9.99591375901445e-4,1.3492586365441474e-5,7.2397137309556e-9,9.99792668555754e-4,1.3586170648049899e-5,7.19436794380859e-9,9.999574846180697e-4,1.3607159236305784e-5,7.185183536470915e-9,0.0010001162353076604,1.3541721843540724e-5,7.219205045654568e-9,0.0010003049165363592,1.3388426048463978e-5,7.297338394204071e-9,0.0010005613623854227,1.3161776667357265e-5,7.4125560623676355e-9,0.0010009186855654698,1.2894930291567578e-5,7.548472365832492e-9,0.001001395431805748,1.2638913929780974e-5,7.679645009834532e-9,0.0010019842716833783,1.2454704246940159e-5,7.775465670467849e-9,0.0010026447567112351,1.2396089240531763e-5,7.80872345265965e-9,0.0010033080233894881,1.2487217081785896e-5,7.766920829338294e-9,0.0010038972478855197,1.2706548445498057e-5,7.660458605367358e-9,0.0010043565504526115,1.2989946449421098e-5,7.521224770364038e-9,0.001004672231437384,1.3254551939388285e-5,7.390681026669133e-9,0.0010048741581043606,1.3430195374539308e-5,7.304097230213788e-9,0.001005019125368549,1.3480998017901777e-5,7.27969563649755e-9,0.001005168386359312,1.340941335065461e-5,7.316596454133312e-9,0.0010053704906546521,1.3246930061867809e-5,7.3994046186029145e-9,0.0010056532197300141,1.3040000118914438e-5,7.505138119129774e-9,0.0010060229091539998,1.2837303701281687e-5,7.609490773330097e-9,0.0010064679702872599,1.2680694358525935e-5,7.691325334965295e-9,0.00100696410900686,1.2599802055308625e-5,7.73543576837147e-9,0.0010074799303969257,1.2609453088105831e-5,7.733972018905462e-9,0.0010079824262810555,1.270927137545503e-5,7.68678360040066e-9,0.001008441983199197,1.2885166585695294e-5,7.600766502657164e-9,0.0010088364680810365,1.3112382500046945e-5,7.488348827427479e-9,0.0010091540147537904,1.3359627618872047e-5,7.365366043977686e-9,0.0010093942793346546,1.3593707411098743e-5,7.248659658443538e-9,0.0010095681767792678,1.3783993741249416e-5,7.15377885761242e-9,0.0010096964280629517,1.3906222158150544e-5,7.093063507146875e-9,0.0010098073351207102,1.3945501108580383e-5,7.074156161434548e-9,0.001009933998475673,1.3898670498425644e-5,7.098839141011301e-9,0.0010101108925560731,1.3776156395851466e-5,7.162087545997906e-9,0.0010103693537762879,1.3603229200616472e-5,7.2513716092129284e-9,0.001010731370310706,1.3419833637562037e-5,7.3466457393835305e-9,0.0010112016762827962,1.3277108498864683e-5,7.422018074019115e-9,0.0010117598625822178,1.3228209751310446e-5,7.450356500270065e-9,0.0010123568768607588,1.3312347000828476e-5,7.411421404428368e-9,0.0010129222480500654,1.3535582819181508e-5,7.301724939909382e-9,0.001013385331984101,1.3858804132080293e-5,7.140781390672817e-9,0.001013703707706818,1.4205000113155494e-5,6.967497490960027e-9,0.0010138822454817784,1.448749274687313e-5,6.825833236491937e-9,0.0010139696115598694,1.464433393257325e-5,6.747309515966404e-9,0.001014034960781267,1.4658559233696529e-5,6.740744459985028e-9,0.0010141406929217946,1.4555765436898252e-5,6.793498539548968e-9,0.0010143254890754552,1.4386576477060897e-5,6.880297884166936e-9,0.0010146008251386124,1.420706593101242e-5,6.973012537470857e-9,0.0010149561275081414,1.4065065181815716e-5,7.047465907773897e-9,0.00101536675460542,1.3993570240248546e-5,7.0867457546242325e-9,0.0010158013574818438,1.4009210516690739e-5,7.0820601273590445e-9,0.0010162275161801665,1.4113340727320419e-5,7.032323770553171e-9,0.0010166159146742558,1.429419134817385e-5,6.943198192930504e-9,0.0010169435907143895,1.4529570251940101e-5,6.825790427443894e-9,0.001017196458485237,1.4790107827825064e-5,6.695003258799705e-9,0.0010173710222833715,1.5043063994411697e-5,6.5675509780237646e-9,0.0010174750556951806,1.5256600380969255e-5,6.459732390817189e-9,0.001017526963278131,1.5404159828331004e-5,6.385177403566588e-9,0.0010175537373666459,1.5468376233596634e-5,6.352868110860509e-9,0.001017587717364337,1.544402654131814e-5,6.365661713647204e-9,0.0010176624605994554,1.5339717534360233e-5,6.419435210938414e-9,0.0010178080063839555,1.5178075945731396e-5,6.502944076621323e-9,0.0010180457452669584,1.4994254410299033e-5,6.598491835633543e-9,0.001018383064035031,1.4832381264038678e-5,6.6836353960864175e-9,0.0010188083316972948,1.47391332796154e-5,6.734397667122887e-9,0.0010192878609278002,1.475363974145172e-5,6.730438678602947e-9,0.0010197678046505864,1.4894272655654495e-5,6.661915015952189e-9,0.00102018443463024,1.5145950174105276e-5,6.5361350999692345e-9,0.0010204836747962334,1.5455522234757765e-5,6.380048705078234e-9,0.0010206437243931602,1.5743334912936524e-5,6.2343512371156256e-9,0.0010206877187796243,1.5931055263172206e-5,6.139179160224897e-9,0.0010206758978202743,1.5972669549953236e-5,6.118206896081988e-9,0.0010206802785743953,1.587040614601252e-5,6.170538509004209e-9,0.0010207572457502255,1.5667653115910527e-5,6.274358304487625e-9,0.0010209325449119094,1.5426977239675342e-5,6.398084889086976e-9,0.0010212017498908892,1.520786821074164e-5,6.511580983868921e-9,0.0010215398590799887,1.5053291656116975e-5,6.5929010127443566e-9,0.001021912431934167,1.498569502034724e-5,6.630329259183798e-9,0.0010222841435015692,1.5008880327172054e-5,6.621529648464819e-9,0.0010226239917599095,1.5112068113238198e-5,6.571614831742929e-9,0.0010229080944826484,1.527401144689631e-5,6.491159177179544e-9,0.0010231212780165244,1.5466570242856973e-5,6.394419794620523e-9,0.001023258140679252,1.565799311163615e-5,6.29764201481796e-9,0.001023323723746117,1.581631986787821e-5,6.217269214912676e-9,0.0010233335657502231,1.5913194832607108e-5,6.1679458224003706e-9,0.001023312652942418,1.592801691867029e-5,6.160375068918902e-9,0.0010232928007281963,1.5851837316847298e-5,6.199331981376249e-9,0.0010233083950897286,1.5690131829775294e-5,6.282255337576482e-9,0.0010233908943278179,1.5463603240336597e-5,6.398818557630599e-9,0.0010235628682748299,1.5206365333078503e-5,6.531796793225194e-9,0.001023832615986048,1.4961295414609502e-5,6.659351030318273e-9,0.0010241904386357422,1.4772889164037382e-5,6.75860252344733e-9,0.001024607567166903,1.4678269177210256e-5,6.810218842264442e-9,0.001025038835875019,1.4697338813962965e-5,6.803536849223181e-9,0.0010254302198467145,1.4824014543455562e-5,6.7412161836967475e-9,0.001025731571596928,1.5021882123837198e-5,6.641636326261475e-9,0.0010259126052034333,1.522848767407803e-5,6.536783150416774e-9,0.0010259765363499528,1.5370953906319304e-5,6.464197088487894e-9,0.0010259633245588596,1.5390062552732196e-5,6.454503675266422e-9,0.0010259374918061134,1.5262568774086813e-5,6.519889575291671e-9,0.0010259645518792863,1.5009405517106155e-5,6.649894303135918e-9,0.0010260881771412683,1.4685110812366908e-5,6.816835676346961e-9,0.0010263193576777233,1.4355638624471758e-5,6.98711790063453e-9,0.0010266398889383535,1.4077159844329356e-5,7.1319926882616635e-9,0.001027014226018415,1.388425288732607e-5,7.2335633845970444e-9,0.0010274020414492461,1.3788133610311604e-5,7.285745723386852e-9,0.0010277670997235588,1.378095198171993e-5,7.292187151879546e-9,0.0010280818168414282,1.384189253769118e-5,7.263261955630348e-9,0.0010283288268859772,1.3942614549109414e-5,7.213352520340318e-9,0.0010285011445110084,1.405139140764495e-5,7.158731665697266e-9,0.0010286019408435882,1.413632711989153e-5,7.115870597147311e-9,0.0010286442540053864,1.4168322568558104e-5,7.09986088584424e-9,0.0010286504037499457,1.4124365397943462e-5,7.12268504128625e-9,0.0010286504791455998,1.3991292700524017e-5,7.191271681234185e-9,0.0010286791648484964,1.3769478993510954e-5,7.3056080066068604e-9,0.0010287705469715204,1.3475266008978337e-5,7.457494460578409e-9,0.001028951327632887,1.3140689311306862e-5,7.630660550566689e-9,0.0010292338285229816,1.280935564220711e-5,7.802822009644976e-9,0.0010296108825569928,1.2528353458002378e-5,7.949760843038067e-9,0.0010300546940236487,1.233759347627838e-5,8.050755726164393e-9,0.0010305208273311641,1.2259178009605778e-5,8.094075186049836e-9,0.0010309570900584187,1.2289732755782155e-5,8.08103476461809e-9,0.0010313157392175553,1.239822992254162e-5,8.027273387668908e-9,0.0010315663465513536,1.2530919495367793e-5,7.960336714121893e-9,0.0010317058209335492,1.2623500762804774e-5,7.913435014428099e-9,0.001031761762409121,1.2618455216019864e-5,7.916445804350526e-9,0.0010317863213620134,1.2482715648861428e-5,7.986708154305847e-9,0.0010318409415092163,1.2218875567850196e-5,8.123174915224233e-9,0.0010319770490094284,1.1864341225077265e-5,8.306813126168584e-9,0.00103222073763433,1.1478137897328902e-5,8.507363432120657e-9,0.001032567744181653,1.1121486498340977e-5,8.693293502779717e-9,0.001032989301697024,1.084087419509298e-5,8.840491614529463e-9,0.0010334441429188832,1.065944919603051e-5,8.936740074754993e-9,0.0010338905402688494,1.0577173083741774e-5,8.981736505163395e-9,0.0010342945423151325,1.0576383955421915e-5,8.98433665789792e-9,0.00103463375858786,1.0628837350001691e-5,8.958991422832772e-9,0.0010348979793146607,1.0701777354861157e-5,8.922621233770985e-9,0.0010350882727302663,1.0762337371071754e-5,8.89230185881902e-9,0.0010352157191526022,1.0780632780980312e-5,8.883608858628518e-9,0.0010353002554859072,1.0732303407048932e-5,8.90925860516677e-9,0.0010353694431257166,1.0601227344865006e-5,8.977690201699487e-9,0.0010354564618759658,1.0382697470573208e-5,9.09143350297743e-9,0.0010355964502504992,1.008658752883728e-5,9.245490273873833e-9,0.00103582062126145,9.739174784541215e-6,9.426394426544935e-9,0.001036148531357024,9.381685552026843e-6,9.612933762557046e-9,0.001036580411402926,9.063860868442835e-6,9.779418101910907e-9,0.0010370928511063498,8.832500434599207e-6,9.901545674027221e-9,0.0010376410685493903,8.717740287966906e-6,9.963490318062588e-9,0.001038168776362179,8.722090107823838e-6,9.963639543713632e-9,0.001038623174432724,8.817117820241822e-6,9.916433090139891e-9,0.0010389699638132367,8.949806345046257e-6,9.849185263172341e-9,0.0010392031310252545,9.056681538401306e-6,9.794814136056429e-9,0.0010393464417650642,9.081041880969784e-6,9.7828832107339e-9,0.0010394465445357972,8.98803121924295e-6,9.831716602058708e-9,0.0010395599652596504,8.773379181090786e-6,9.943793307826468e-9,0.0010397377850124105,8.463527638538071e-6,1.010562028455275e-8,0.0010400124740567555,8.107264085356009e-6,1.0292016552047566e-8,0.0010403907983126954,7.761647465210934e-6,1.047336668482392e-8,0.0010408546068110553,7.476975351250501e-6,1.0623406725890964e-8,0.0010413683448417354,7.285608742141655e-6,1.0725068130866081e-8,0.0010418898199738098,7.197436696745734e-6,1.077292879202111e-8,0.0010423802623030689,7.201792582882333e-6,1.0772323696065717e-8,0.0010428110604212102,7.273401012350935e-6,1.0736320365516424e-8,0.0010431666141344895,7.3794054706384364e-6,1.0682066369385867e-8,0.0010434442537033133,7.485424438284342e-6,1.062758834085327e-8,0.001043652630466233,7.559908129853109e-6,1.0589456096467488e-8,0.0010438096899647942,7.577040457584126e-6,1.0581220954317427e-8,0.0010439407598399314,7.518874452397437e-6,1.0612288493742078e-8,0.0010440766580099585,7.3774053804267025e-6,1.0686856280073861e-8,0.0010442511917944904,7.1569232978676465e-6,1.0802719477653824e-8,0.0010444971593526165,6.876269078840813e-6,1.0950114569202205e-8,0.001044840195797599,6.569674575005575e-6,1.1111270660756568e-8,0.0010452907905748228,6.284047442282688e-6,1.1261780001466925e-8,0.0010458366657182785,6.070632446913745e-6,1.1374885918198315e-8,0.0010464397212440041,5.970991705073476e-6,1.1428761032437083e-8,0.0010470419129418023,6.0012650636924906e-6,1.1414752486565529e-8,0.0010475808873286244,6.142246342171787e-6,1.134266195270011e-8,0.0010480101442759484,6.342031857499272e-6,1.1239472124113928e-8,0.0010483145665516262,6.531775462877667e-6,1.1141164514740623e-8,0.0010485141839921832,6.647674109549178e-6,1.1081204358546142e-8,0.0010486555927916323,6.649554437643226e-6,1.1080769771562399e-8,0.0010487962274780228,6.52970014858732e-6,1.1144090607712959e-8,0.001048988161110087,6.311113549640392e-6,1.1259318747852037e-8,0.001049266135585487,6.038217412853158e-6,1.140334069973273e-8,0.0010496417708631659,5.764112342343603e-6,1.1548386965958874e-8,0.001050103884713581,5.538005408647266e-6,1.1668579695155248e-8,0.0010506236688532541,5.395419538643018e-6,1.1745084312143063e-8,0.001051162793625547,5.352737678222033e-6,1.176905039772956e-8,0.0010516822059403249,5.4065291012566944e-6,1.1742069546748452e-8,0.0010521495626468031,5.5369304279269275e-6,1.1674479004989727e-8,0.0010525439851890206,5.7134564555245825e-6,1.1582329111142928e-8,0.0010528578438257308,5.9014015084172195e-6,1.1483979856274418e-8,0.0010530961263485919,6.067417747217445e-6,1.139710095373138e-8,0.0010532743691075914,6.1835874192326255e-6,1.133647354846759e-8,0.0010534160834845703,6.230045791333779e-6,1.1312589735762775e-8,0.001053550198721015,6.1966823130205854e-6,1.1330774854534354e-8,0.0010537085154161126,6.0844906794547615e-6,1.1390513063025623e-8,0.0010539227224054864,5.906847205676181e-6,1.1484802633572627e-8,0.00105422025687308,5.690435278638442e-6,1.1599668036115498e-8,0.0010546184278993171,5.4746708261865515e-6,1.1714426246353476e-8,0.001055117156275193,5.307635025766357e-6,1.1803769941651274e-8,0.001055692545616445,5.236529243510756e-6,1.184274644058134e-8,0.001056295705931545,5.292689648675187e-6,1.1814655608677331e-8,0.0010568617072468647,5.4757403210461624e-6,1.1719477956429268e-8,0.0010573293783666506,5.74604326804144e-6,1.157796966652239e-8,0.0010576645165347547,6.033560344798371e-6,1.1427058221344922e-8,0.0010578737870635731,6.261973517443829e-6,1.1307094518131505e-8,0.0010580009637449824,6.3760497725166996e-6,1.1247346419441141e-8,0.001058108517330219,6.358165356812837e-6,1.1257242872632262e-8,0.0010582556001528874,6.228289144348805e-6,1.1326384333356857e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_13.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_13.json new file mode 100644 index 000000000..d7e3be98a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_13.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":13000,"numberOfSamples":1000,"samples":[0.0010584823083198346,6.031818825503171e-6,1.14309469118811e-8,0.0010588036033781425,5.823520864538709e-6,1.1542103150393909e-8,0.0010592110744742987,5.6537248748726675e-6,1.1633248752700286e-8,0.0010596790894540058,5.559275280564943e-6,1.1684765345343194e-8,0.0010601724727019367,5.559236240846307e-6,1.1686339583847125e-8,0.0010606540091394276,5.654379293057021e-6,1.163732802349451e-8,0.0010610908819856466,5.829497270171977e-6,1.1545624012790231e-8,0.0010614594503400023,6.057715047147503e-6,1.1425423187205381e-8,0.001061747989835144,6.305862037083749e-6,1.1294367431781857e-8,0.0010619573719630783,6.539955951254238e-6,1.1170587469196216e-8,0.0010620999645025674,6.73003410085884e-6,1.107008326599654e-8,0.0010621972572704668,6.85379996171742e-6,1.1004756707165859e-8,0.0010622768540195135,6.898913123430779e-6,1.098119849532928e-8,0.0010623693266318172,6.864185869807982e-6,1.1000078885400938e-8,0.0010625050436689565,6.760079817880366e-6,1.1055907410923635e-8,0.001062710756522555,6.608668374463369e-6,1.1137052470541557e-8,0.0010630055440594903,6.442842455479279e-6,1.122613014857253e-8,0.0010633958133875673,6.303928192637586e-6,1.1301216346173524e-8,0.0010638698300656857,6.236227673998108e-6,1.1338700200742188e-8,0.0010643938207032379,6.277096687541316e-6,1.1318549017049607e-8,0.0010649135018336272,6.443029009602109e-6,1.1231761017071778e-8,0.0010653652534506645,6.716334917457601e-6,1.1087554932954997e-8,0.0010656971998236583,7.041447402084115e-6,1.0915428186536279e-8,0.0010658919742331224,7.338860744797124e-6,1.0757744815379704e-8,0.0010659770288683225,7.534292063466726e-6,1.0654138240953239e-8,0.001066013886508743,7.587831708115414e-6,1.0625935223163422e-8,0.0010660723258305996,7.506181686783977e-6,1.0669662265910576e-8,0.0010662052115061964,7.3335686443663195e-6,1.0761922260944352e-8,0.0010664358470525873,7.130863915281745e-6,1.0870481691937031e-8,0.0010667588393153595,6.955633515934309e-6,1.0964801902708683e-8,0.0010671485918925085,6.8498410434954626e-6,1.1022511941646397e-8,0.0010675694409390784,6.835426550329633e-6,1.1031759374762615e-8,0.0010679841615469535,6.915158645441867e-6,1.0990824083116765e-8,0.0010683599657830244,7.076052103195604e-6,1.0906394119921115e-8,0.0010686723933572796,7.293685466136946e-6,1.0791343615514796e-8,0.00106890765095213,7.536822311352906e-6,1.0662299642942404e-8,0.0010690635977016276,7.77211139688823e-6,1.0537115853861746e-8,0.001069149428980129,7.968577301214409e-6,1.0432429890255657e-8,0.0010691841550370862,8.101601929648258e-6,1.036149374624633e-8,0.0010691940071483454,8.156061538266819e-6,1.0332478423133815e-8,0.001069209055658057,8.128266563717782e-6,1.03474435063982e-8,0.0010692594713290538,8.026593480405271e-6,1.0402013164716527e-8,0.0010693717459872535,7.870945267100574e-6,1.0485664177770738e-8,0.0010695649713014753,7.691125951702836e-6,1.05825672334285e-8,0.0010698471837835711,7.524020444771572e-6,1.0673046459330192e-8,0.0010702118794917663,7.409199319244088e-6,1.073588364535248e-8,0.0010706353190277158,7.382260325524803e-6,1.0751866255570777e-8,0.0010710762838212979,7.465490347225327e-6,1.0708824642405977e-8,0.0010714809682874885,7.6570210693528492E-06,1.0607528738465052e-8,0.0010717954666795326,7.92266264450533e-6,1.0466162353522634e-8,0.0010719849482146093,8.197549025520211e-6,1.031948512559187e-8,0.0010720518335533688,8.403355641842077e-6,1.0209555077841326e-8,0.0010720405373210041,8.477632103826806e-6,1.0169920153450947e-8,0.001072021738228369,8.400092320472587e-6,1.021150931330851e-8,0.0010720635198379748,8.199374023477202e-6,1.0319075409549964e-8,0.0010722065788787624,7.937147885028722e-6,1.0459750886515433e-8,0.00107245583521534,7.681893768449438e-6,1.0597036740148054e-8,0.0010727875503866039,7.487659268153709e-6,1.0702071381753594e-8,0.0010731630002383215,7.384581405590331e-6,1.075864496894142e-8,0.0010735409195010803,7.379180450137632e-6,1.0763066178824929e-8,0.001073885642552888,7.459556157906894e-6,1.0721462765445143e-8,0.0010741711464074789,7.60167164073378e-6,1.064650717664984e-8,0.0010743824677307964,7.774854624539591e-6,1.05545292946971e-8,0.0010745158753886549,7.946253107214568e-6,1.0463140800736486e-8,0.0010745783975093434,8.084663970024577e-6,1.0389154063601514e-8,0.0010745867148931046,8.164015707520659e-6,1.0346669113505363e-8,0.0010745652935797434,8.166515928713906e-6,1.0345347414447921e-8,0.0010745436064007652,8.085247843115634e-6,1.0389003625916266e-8,0.001074552414002862,7.925732239563838e-6,1.04747713355022e-8,0.0010746194263179607,7.705947602888145e-6,1.0593098065321354e-8,0.0010747649179418883,7.45457851834404e-6,1.0728675241616273e-8,0.0010749978735612412,7.207509835919612e-6,1.0862287758949862e-8,0.0010753131883688583,7.0027414856204215e-6,1.0973502950806292e-8,0.0010756904320888402,6.874033979996817e-6,1.1044059873554255e-8,0.0010760947834755237,6.8436529769841505e-6,1.1061787085804026e-8,0.001076481049891446,6.914886396186059e-6,1.1024693263841812e-8,0.0010768018290682909,7.066051634150347e-6,1.0944283327208556e-8,0.0010770200321076698,7.249261634913781e-6,1.0846289489249666e-8,0.001077123420982185,7.39804993243476e-6,1.076656197635394e-8,0.0010771348797026668,7.44585714263904e-6,1.0741042838621376e-8,0.0010771101367558554,7.350779981649652e-6,1.0792371226593277e-8,0.0010771194563272597,7.114340819791003e-6,1.091978472227473e-8,0.0010772207158111727,6.781925749825741e-6,1.1098942285178267e-8,0.001077438751988009,6.423598569950669e-6,1.1292263291924475e-8,0.0010777614606054466,6.107174429654953e-6,1.1463350840217734e-8,0.001078150988925822,5.878278442603043e-6,1.1587643347827043e-8,0.0010785602961386523,5.753858224937523e-6,1.1655892460490189e-8,0.0010789465240847547,5.72623912615062e-6,1.167203738632892e-8,0.0010792781883616845,5.7715171050260465e-6,1.1648769383961856e-8,0.0010795372547668179,5.857715055435001e-6,1.1603202812664468e-8,0.001079718408317149,5.950842140755552e-6,1.1553633958985417e-8,0.0010798274054571314,6.018931123532262e-6,1.1517348515355086e-8,0.0010798793764046966,6.034916081994106e-6,1.150903056702829e-8,0.0010798970957694128,5.979082561969348e-6,1.1539400992860876e-8,0.0010799088782759599,5.841386795654391e-6,1.1613943229511664e-8,0.001079945671266815,5.6234999239785664e-6,1.1731800417280663e-8,0.0010800370563297977,5.339960624404898e-6,1.1885168170973472e-8,0.0010802063626677298,5.017558699714286e-6,1.2059638070394361e-8,0.001080465709873069,4.692281975823613e-6,1.2235836282107038e-8,0.0010808121845919524,4.403722523375394e-6,1.239241282362964e-8,0.0010812263927673289,4.1875776377249006e-6,1.2510056790341688e-8,0.0010816742755761358,4.067606126441703e-6,1.2575830541311822e-8,0.0010821124162932766,4.048764490048608e-6,1.2586910279254428e-8,0.001082496394029135,4.1132067224480435e-6,1.2552812557360103e-8,0.0010827911400719823,4.220728194789922e-6,1.2495218049522599e-8,0.0010829814407256138,4.315035608807498e-6,1.2444602628550136e-8,0.0010830795939978,4.336331558319785e-6,1.2433397469308228e-8,0.0010831263014689158,4.238515418925506e-6,1.2486625405764085e-8,0.0010831815716910997,4.005888907583e-6,1.2612831618416838e-8,0.0010833062871192334,3.6615290203470267e-6,1.2799568273597161e-8,0.0010835411795810717,3.261162454656364e-6,1.3016729071965934e-8,0.0010838933778462134,2.8737930394674124e-6,1.3227010267237029e-8,0.001084337034999438,2.5585169726812227e-6,1.3398407369065678e-8,0.0010848260137734957,2.3486087687672093e-6,1.351281176227918e-8,0.0010853104715353803,2.2479370425633493e-6,1.3567994079646327e-8,0.0010857496852788604,2.2371567972056594e-6,1.3574322546551323e-8,0.0010861181451779231,2.2837281191620208e-6,1.3549388239562281e-8,0.0010864060912470594,2.3509882779473265e-6,1.351309848109019e-8,0.001086617167375567,2.4043382300803017e-6,1.348429676688557e-8,0.0010867653789912383,2.414780175748046e-6,1.3478800918996513e-8,0.0010868723951977914,2.36090336349784e-6,1.3508287044674754e-8,0.0010869652859729975,2.230320299619587e-6,1.357949036950374e-8,0.0010870742527047388,2.0210940838380106e-6,1.3693435401754393e-8,0.0010872297036982135,1.7431263470573831e-6,1.3844706627164613e-8,0.0010874581583647045,1.4188304041524766e-6,1.4021110351396713e-8,0.0010877770309646244,1.0819285734700634e-6,1.420434005833336e-8,0.0010881892473587201,7.732394508393998e-7,1.4372250040797893e-8,0.0010886795450963712,5.330813350595426e-7,1.4502949312721697e-8,0.001089214649730255,3.9140243490344096e-7,1.458013766244398e-8,0.0010897487258969283,3.584072521389756e-7,1.459820749252219e-8,0.0010902335819651038,4.191729634013468e-7,1.4565214418600275e-8,0.0010906310187498445,5.348153076480196e-7,1.4502295396028616e-8,0.0010909236281021046,6.506177348026824e-7,1.443926695100913e-8,0.001091120685014961,7.092800663955221e-7,1.4407391615029013e-8,0.001091257136747916,6.658869235087142e-7,1.4431183604022623e-8,0.0010913854479859381,5.005821622148568e-7,1.4521478794650966e-8,0.0010915618860652314,2.251478759511052e-7,1.467185398741576e-8,0.0010918307189155313,-1.1924299742407577e-7,1.4859864732950039e-8,0.0010922113493534546,-4.734372432057817e-7,1.5053255310459487e-8,0.0010926932935980337,-7.775556028587294e-7,1.5219334684945516e-8,0.0010932410472572044,-9.877102401363634e-7,1.533407805988485e-8,0.0010938063797259453,-1.0859165470122615e-6,1.5387566050399254e-8,0.001094342455259391,-1.080589230442882e-6,1.5384321095468852e-8,0.00109481445675083,-9.995980021090122e-7,1.5339569592932147e-8,0.0010952043212414967,-8.803420527904827e-7,1.5273828324478645e-8,0.0010955103354372215,-7.608506842509845e-7,1.520800473466209e-8,0.0010957438947718288,-6.738297010954895e-7,1.516008890171015e-8,0.0010959255739260278,-6.435882030741187e-7,1.514342886133524e-8,0.0010960816844447629,-6.848008439732961e-7,1.516603611113632e-8,0.001096241543978873,-8.02004725041787e-7,1.5230321629549556e-8,0.0010964350536024304,-9.891361497491146e-7,1.5332873831182345e-8,0.0010966898752015986,-1.2290044827439803e-6,1.5464206803068726e-8,0.0010970275583669783,-1.4932930260580311e-6,1.5608784981685757e-8,0.0010974584822657629,-1.7443109645131954e-6,1.574598051452959e-8,0.0010979764965260918,-1.9399561880694465e-6,1.5852762521604583e-8,0.0010985554895813923,-2.0426623918831098e-6,1.590856103716042e-8,0.0010991510076969397,-2.031063016383569e-6,1.590164521848076e-8,0.0010997091337757634,-1.9102678540224635e-6,1.5834788151340182e-8,0.0011001814643931509,-1.7151290714917107e-6,1.5727115299126148e-8,0.0011005408546707206,-1.5028952094650604e-6,1.5610105905041306e-8,0.001100790948640354,-1.3368393448549428e-6,1.5518581808694086e-8,0.001100965184316589,-1.2672952194125447e-6,1.5480237846173764e-8,0.0011011161176956588,-1.3175209969869768e-6,1.5507843040213407e-8,0.0011012998469212088,-1.4787697248972343e-6,1.5596542078759433e-8,0.001101561065014156,-1.7146998910046917e-6,1.5726308035865734e-8,0.0011019226990827457,-1.9724071175410574e-6,1.586801490545639e-8,0.001102382007116548,-2.196363356079692e-6,1.5991084228148263e-8,0.0011029132667145561,-2.3416096021800094e-6,1.6070722292919825e-8,0.0011034757514399483,-2.38310916619068e-6,1.6093077245681256e-8,0.0011040244786115357,-2.31927776315323e-6,1.6057225467888683e-8,0.0011045205794044041,-2.1694385072843676e-6,1.597381802522786e-8,0.0011049385690624493,-1.966838354498544e-6,1.5861252045493124e-8,0.0011052692443645087,-1.750001842086337e-6,1.5740883086523665e-8,0.0011055186380034719,-1.5550353774155559e-6,1.5632734001830676e-8,0.0011057045369247066,-1.4103695910270938e-6,1.5552549745965977e-8,0.0011058522277989002,-1.3341378137981495e-6,1.551032955262108e-8,0.0011059906217503908,-1.3335025490994153e-6,1.5509962936515426e-8,0.001106149150194748,-1.404950501845874e-6,1.5549420079728942e-8,0.0011063551807779252,-1.5348143523852197e-6,1.5621073311654e-8,0.0011066313631327655,-1.6998081049754247e-6,1.5712016164878937e-8,0.0011069922927926747,-1.8679853774396568e-6,1.580459705808824e-8,0.0011074402507398938,-2.0011637405826746e-6,1.5877740607269027e-8,0.0011079607077455421,-2.060248709035317e-6,1.5909858156164228e-8,0.001108519738968454,-2.0144254988523965e-6,1.588390462537339e-8,0.0011090667951459137,-1.8531436940924132e-6,1.5794016241904865e-8,0.0011095457522609323,-1.5962893152773853E-06,1.5651187561937485e-8,0.0011099131036531966,-1.295286315591519e-6,1.548393416264128e-8,0.0011101558729649911,-1.0201697065466408e-6,1.5331133204623056e-8,0.0011102988958696094,-8.358929741676526e-7,1.5228836499800212e-8,0.001110396160826366,-7.792957175517323e-7,1.519745019538023e-8,0.00111051078357651,-8.4832733122868e-7,1.5235767590110828e-8,0.0011106942753399312,-1.0069042485667557e-6,1.5323711725274e-8,0.00111097368196469,-1.1999692577389667e-6,1.5430718007157876e-8,0.0011113487938456635,-1.370515245006706e-6,1.5525164027079777e-8,0.0011117968919402519,-1.472886234678616e-6,1.5581716379428368e-8,0.00111228126468647,-1.4803580618799743e-6,1.5585522069862342e-8,0.0011127605283525728,-1.38735025143936e-6,1.553345118973782e-8,0.0011131969606502966,-1.207467615593322e-6,1.5433042494833323e-8,0.0011135628384484684,-9.68609089136904e-7,1.5299812786382335e-8,0.0011138441430138264,-7.063766770539463e-7,1.515359787677788e-8,0.0011140413969519087,-4.5716749529745555e-7,1.5014692696968984e-8,0.0011141679771116317,-2.5224292949749117e-7,1.4900524553462284e-8,0.0011142467106409985,-1.1360505719006956e-7,1.4823340179212186e-8,0.0011143057375622243,-5.1947099677121166e-8,1.478906414284595e-8,0.0011143745275428235,-6.641623982905153e-8,1.479718055412551e-8,0.0011144805411490116,-1.4554045014367347e-7,1.4841267716474989e-8,0.0011146465039405943,-2.6868186327244643e-7,1.4909818722617364e-8,0.0011148879464543517,-4.077487512787168e-7,1.4987193531681402e-8,0.0011152106069133069,-5.293572049765862e-7,1.5054810350341645e-8,0.001115607505557431,-5.981354506604627e-7,1.5092967998964315e-8,0.0011160562278251995,-5.82238372920153e-7,1.508390498897239e-8,0.0011165181858738054,-4.617774614729789e-7,1.5016501585294573e-8,0.0011169427756374372,-2.3916486858598275e-7,1.489207589936706e-8,0.001117279123695704,5.281074662320559e-8,1.4728931150574154e-8,0.0011174945353303808,3.5238253651923323e-7,1.4561593636104278e-8,0.0011175918891919794,5.85237341776037e-7,1.4431602483043102e-8,0.001117613973298778,6.922600246158575e-7,1.4371955080154304e-8,0.0011176285284481737,6.540692000960255e-7,1.4393394122909386e-8,0.0011177012518909313,4.973859584028976e-7,1.4480914676359373e-8,0.0011178724639969737,2.807665191832271e-7,1.4601797634793543e-8,0.0011181484319527568,7.064887876481905e-8,1.4718987525011862e-8,0.0011185068668504749,-7.890745011779789e-8,1.4802357637019236e-8,0.0011189091709123736,-1.3646153918415363e-7,1.4834384089423755e-8,0.0011193126105248509,-9.43931094899234e-8,1.48108065335213e-8,0.0011196792366973227,3.5164048593491474e-8,1.473837430297344e-8,0.0011199811858316087,2.26369559642981e-7,1.4631494218090753e-8,0.0011202031869314724,4.4589422366034254e-7,1.4508776239873582e-8,0.00112034310520379,6.586854121746841e-7,1.4389816343386903e-8,0.0011204109385747102,8.330417415667043e-7,1.4292352649188305e-8,0.0011204265234972595,9.446967691452359e-7,1.4229970169917528e-8,0.0011204162785695454,9.796302768584618e-7,1.4210520366177409e-8,0.0011204093914756884,9.354136766252925e-7,1.423536740670385e-8,0.0011204339509095645,8.210357617533893e-7,1.4299488573279187e-8,0.0011205135047749502,6.554492436680685e-7,1.4392288214421408e-8,0.0011206642577800594,4.652528434009131e-7,1.4498888367884619e-8,0.001120892869175372,2.817729973787914e-7,1.4601751044198787e-8,0.0011211947550755549,1.3757495990860276e-7,1.4682621069015419e-8,0.0011215528883894927,6.21872975976025e-8,1.4724918735586556e-8,0.001121937523487324,7.657802320904832e-8,1.471684663627745e-8,0.0011223081121608392,1.862337483495964e-7,1.4655293964103262e-8,0.0011226193191337492,3.7406125879550593e-7,1.4549846746055096e-8,0.001122832579558784,5.965725646991329e-7,1.4424943518651694e-8,0.001122931860338344,7.888398809784377e-7,1.4317073347269448e-8,0.0011229368584202211,8.823540066354003e-7,1.42646972284513e-8,0.0011229030163360236,8.31978931560535e-7,1.4293081372632381e-8,0.0011229027871189272,6.377983868581165e-7,1.4402074372500076e-8,0.0011229961745440554,3.466313844851877e-7,1.4565346045514696e-8,0.0011232080312209413,3.131213495657076e-8,1.4742059226319447e-8,0.0011235241667242122,-2.384517151272013e-7,1.4893183747109764e-8,0.0011239038866639104,-4.1705069829968125e-7,1.4993199888376666e-8,0.0011242978045176068,-4.891837396590307e-7,1.5033552385496457e-8,0.0011246618087164136,-4.650533911979487e-7,1.501996092483476e-8,0.0011249644073865193,-3.712956185955165e-7,1.4967350495564534e-8,0.0011251887847238463,-2.4226609099827207e-7,1.489497804254355e-8,0.0011253319323496448,-1.1342860023329529e-7,1.4822732804632492e-8,0.001125402634959825,-1.6748392335343594e-8,1.476855463336166e-8,0.0011254190551908455,2.2583818610430424e-8,1.4746592428163293e-8,0.001125406006350285,-1.147849811646348e-8,1.4765866874794957e-8,0.0011253918703925659,-1.2428284425453638e-7,1.4829389975213278e-8,0.001125405153669,-3.098575433825358e-7,1.4933811618400424e-8,0.001125470825285484,-5.515007109536961e-7,1.5069747750744837e-8,0.0011256068473051415,-8.237402109522106e-7,1.522287862447306e-8,0.0011258213742378021,-1.0955210324600928e-6,1.5375735433027346e-8,0.001126110953640497,-1.33434576076099e-6,1.551002392607651e-8,0.0011264599688784321,-1.5110754595557068e-6,1.5609325258051984e-8,0.0011268415324472347,-1.6050367155868619e-6,1.5661979950811296e-8,0.0011272200850014037,-1.6091063327225863e-6,1.5663968705012574e-8,0.0011275562307977297,-1.5342861631028003e-6,1.5621508044081852e-8,0.0011278144681279808,-1.4124327608801717e-6,1.5552595027563792e-8,0.001127973697196369,-1.2945868803236955e-6,1.548604925928786e-8,0.0011280382587597413,-1.2418556395565706e-6,1.5456333428887506e-8,0.0011280441049613882,-1.3076713541081708e-6,1.5493515389976944e-8,0.0011280530903307478,-1.5159246352740396e-6,1.5610950547436537e-8,0.001128132778175655,-1.8463668689740967e-6,1.579711977668449e-8,0.0011283296134604944,-2.238778351585612e-6,1.601804452302929e-8,0.0011286507402838491,-2.6162893563312223e-6,1.6230430827785135e-8,0.001129064849116733,-2.914505922934018e-6,1.639803217786027e-8,0.0011295188883964043,-3.1003495271215335e-6,1.650223555792818e-8,0.0011299585096496848,-3.1743954370268017e-6,1.6543390761059785e-8,0.0011303422387863712,-3.1616614223987634e-6,1.6535639899295777e-8,0.0011306468543703053,-3.099226465392222e-6,1.649993957729718e-8,0.0011308665355909385,-3.026115926253836e-6,1.6458343678529448e-8,0.0011310092877528594,-2.97696670198988e-6,1.643041637428008e-8,0.0011310930107738839,-2.9787150579821667e-6,1.643135725219101e-8,0.0011311420979546502,-3.048971357365785e-6,1.6471083224590702e-8,0.0011311844863316548,-3.1951543584245246e-6,1.655374177555831e-8,0.0011312487969415517,-3.4140426711787296e-6,1.667746050617603e-8,0.001131361247585663,-3.6918347099299193e-6,1.683438659836271e-8,0.0011315422288500833,-4.005155407124281e-6,1.701126248263884e-8,0.0011318028686057846,-4.323516118603748e-6,1.719082210152812e-8,0.001132142305142021,-4.613386976593811e-6,1.7354095519871995e-8,0.001132546459390808,-4.843583003603475e-6,1.7483454475893005e-8,0.0011329889427781129,-4.991272754047409e-6,1.7566013688537354e-8,0.0011334344413259357,-5.047541910774497e-6,1.7596784618951905e-8,0.001133844458183822,-5.021292733474158e-6,1.7580889129752105e-8,0.0011341848700335095,-4.94040959890774e-6,1.753421475919338e-8,0.0011344344119443499,-4.8491916969188745e-6,1.748193700907113e-8,0.0011345925814498685,-4.801059066100088e-6,1.745434825021528e-8,0.001134684387300292,-4.846227082445247e-6,1.7479841111046328e-8,0.0011347584805635495,-5.0160858158737145e-6,1.7576061597522453e-8,0.0011348759327808268,-5.309263400214288e-6,1.7742064468409605e-8,0.0011350908173706725,-5.6869034120381485e-6,1.7955706489080888e-8,0.0011354299176144932,-6.082800701089851e-6,1.8179418623203863e-8,0.0011358822190113598,-6.426124898603051e-6,1.8373054177066374e-8,0.0011364043809356825,-6.665757949870108e-6,1.8507648393622844e-8,0.0011369384853650538,-6.7840861137196476e-6,1.8573247563186413e-8,0.0011374316455507916,-6.795823634017219e-6,1.8578280026159067e-8,0.001137848673807987,-6.736604005607285e-6,1.85430965640259e-8,0.001138175543947817,-6.649378408098194e-6,1.8492219634553844e-8,0.0011384164599360274,-6.574091986083006e-6,1.8448433493018965e-8,0.0011385884812031334,-6.5420367269707E-06,1.8429543600599157e-8,0.0011387163515221173,-6.573764105960214e-6,1.844718403120001e-8,0.0011388284833158092,-6.678850501571657e-6,1.8506697577031452e-8,0.0011389539421612653,-6.856289459219892e-6,1.8607380918886297e-8,0.0011391198567281403,-7.094990988364993e-6,1.8742791852569966e-8,0.0011393486909906535,-7.374470404067843e-6,1.8901162544082247e-8,0.001139655105173082,-7.666288253826918e-6,1.9066235687773136e-8,0.0011400426757558419,-7.936983461486883e-6,1.921894205864218e-8,0.0011405013577337874,-8.152936837249098e-6,1.9340168556050783e-8,0.0011410069453844265,-8.286904307477137e-6,1.941447163411268e-8,0.001141523687978373,-8.325052062458535e-6,1.943407977800105e-8,0.0011420104921204704,-8.272482966705914e-6,1.940204081740356e-8,0.0011424298885641681,-8.155032071176124e-6,1.9333238629293002e-8,0.0011427577026877223,-8.01590505046847e-6,1.9252449665323856e-8,0.0011429907616206283,-7.907174957399983e-6,1.9189445751876634e-8,0.0011431501649271265,-7.877608061907913e-6,1.917200273740673e-8,0.0011432784491987938,-7.9594886944176e-6,1.9218374972079383e-8,0.0011434302434748492,-8.157983701078854e-6,1.9331275036921774e-8,0.0011436578055424847,-8.446881947193677e-6,1.949552477305666e-8,0.00114399515501405,-8.773659928063834e-6,1.9681008281834052e-8,0.001144446522983574,-9.073972603149053e-6,1.9850948567032337e-8,0.0011449845240813815,-9.291172843971188e-6,1.997301868872744e-8,0.0011455595354737658,-9.393027652032006e-6,2.0028869806567677e-8,0.0011461161009334714,-9.378716130867975e-6,2.001814630971795e-8,0.0011466089029168024,-9.274461172054308e-6,1.9956008806800238e-8,0.0011470122988015584,-9.121833292035425e-6,1.9866427698242803e-8,0.00114732188508422,-8.96496066277439e-6,1.977481168122164e-8,0.001147550426654242,-8.84115873090527e-6,1.970259092640148e-8,0.0011477216937115396,-8.776250220560751e-6,1.966451506584681e-8,0.0011478647584178116,-8.783503033521037e-6,1.966805944170667e-8,0.0011480097210303582,-8.864451422748417e-6,1.971393023358895e-8,0.0011481847339456337,-9.010282799110149e-6,1.9796897029095008e-8,0.0011484137013095736,-9.203162855983934e-6,1.9906583070119853e-8,0.0011487139621447924,-9.417536219790016e-6,2.0028232082651543e-8,0.0011490935669522466,-9.622008265590576e-6,2.0143797216780358e-8,0.0011495483701545808,-9.782674812070154e-6,2.0233850339937727e-8,0.0011500598968202766,-9.868530899457088e-6,2.0280675342107168e-8,0.001150595576793416,-9.858788234789456e-6,2.027245503525575e-8,0.0011511130407411538,-9.750551556433113e-6,2.0207673116114426e-8,0.0011515690958261268,-9.563815939238883e-6,2.0097983923800655e-8,0.0011519316806153635,-9.340392670730376e-6,1.9967584121287674e-8,0.001152190749497022,-9.135185026245966e-6,1.9848156573524196e-8,0.0011523634382926925,-9.001659265593388e-6,1.9770455193964563e-8,0.0011524907957058544,-8.976351650421527e-6,1.975535707782608e-8,0.0011526268209164589,-9.067935946616826e-6,1.9807599727437817e-8,0.0011528235054923113,-9.25449432683755e-6,1.9914294904382524e-8,0.0011531166414686328,-9.489552149459594e-6,2.0048491573720485e-8,0.0011535164504243166,-9.71476019621844e-6,2.0176519619224113e-8,0.0011540055000518578,-9.875454353321969e-6,2.0266935867828633e-8,0.0011545443526542588,-9.934597905884134e-6,2.029851857027083e-8,0.0011550830429836547,-9.881012223473731e-6,2.026498429883669e-8,0.0011555744937682764,-9.729706251418504e-6,2.0175168201088018e-8,0.0011559854772124829,-9.51504938883692e-6,2.0049071556327196e-8,0.0011563021464909625,-9.280042396553756e-6,1.991163982225793e-8,0.0011565296752859802,-9.065727818539686e-6,1.9786613888511836e-8,0.001156687736425848,-8.903688987058367e-6,1.9692182364519e-8,0.0011568044046975123,-8.8125619957311e-6,1.9638981965480233e-8,0.0011569105458751,-8.797789715304598e-6,1.9629991386652268e-8,0.0011570356151798416,-8.853178776230065e-6,1.9661469660227554e-8,0.0011572048275839113,-8.963029002850191e-6,1.9724213131765286e-8,0.0011574371573823965,-9.104180604326605e-6,1.9804750235027096e-8,0.0011577435098976399,-9.247950130788989e-6,1.9886461799431398e-8,0.0011581246406424353,-9.362476184699034e-6,1.9950934601369646e-8,0.001158568958664678,-9.41631267388031e-6,1.9980033554842147e-8,0.001159051135572797,-9.383982662467644e-6,1.9959107105592105e-8,0.0011595332400694842,-9.253407196201551e-6,1.988127948054991e-8,0.0011599704116754437,-9.033473617199929e-6,1.9751830591591057e-8,0.001160321905079089,-8.757962164306107e-6,1.9590469326886845e-8,0.0011605651381540996,-8.481352968156326e-6,1.9428884611557018e-8,0.0011607066977102414,-8.264780100526713e-6,1.9302555692561575e-8,0.0011607835786356816,-8.156211653841857e-6,1.9239208531028127e-8,0.001160852303938451,-8.173672131833849e-6,1.9249082973678126e-8,0.0011609704050213417,-8.299502401002055e-6,1.9321670102197103e-8,0.0011611786600939425,-8.487524842860316e-6,1.942996472795716e-8,0.00116149085756971,-8.678548440956826e-6,1.9539526753642373e-8,0.0011618930476837161,-8.817263786054158e-6,1.961829467481908e-8,0.0011623502480845786,-8.865197369246996e-6,1.9644073624203352e-8,0.0011628170462849206,-8.807345064885849e-6,1.9608343243756524e-8,0.001163248772606246,-8.652436380407108e-6,1.9516370694754277e-8,0.0011636107636861521,-8.42810745764086e-6,1.9384372461534673e-8,0.0011638841503945102,-8.17290291549061e-6,1.9234838808357553e-8,0.0011640675332915647,-7.927309243105636e-6,1.9091306227406572e-8,0.001164174910574985,-7.725934562782125e-6,1.897381570422459e-8,0.0011642310911780206,-7.592301438636944e-6,1.8895911963434465e-8,0.001164266183153776,-7.536686249750781e-6,1.8863426101585725e-8,0.0011643105098843333,-7.556534996681924e-6,1.8874751833990127e-8,0.0011643907219274397,-7.638508383357229e-6,1.892205030520054e-8,0.0011645272144765674,-7.761166811425134e-6,1.8992807601442906e-8,0.0011647324707863098,-7.897651936164617e-6,1.9071379900299287e-8,0.0011650098094900412,-8.018265814666975e-6,1.914048233352255e-8,0.0011653521888236509,-8.093307790327415e-6,1.9182839583695098e-8,0.001165741133615056,-8.096798948189496e-6,1.9183362843101123e-8,0.0011661465394286383,-8.01169930545659e-6,1.913219846759754e-8,0.0011665289267256526,-7.836536321099879e-6,1.9028592765835697e-8,0.0011668460658409007,-7.591725078170206e-6,1.8884569456476698e-8,0.0011670647742319771,-7.321672629410377e-6,1.872613603007408e-8,0.0011671752536712213,-7.087778965397692e-6,1.8589162929747138e-8,0.0011672007945532352,-6.950506281680236e-6,1.8508875117680157e-8,0.0011671946165852476,-6.946270276537636e-6,1.8506350208028936e-8,0.0011672219724961402,-7.071417197234697e-6,1.8579216055933185e-8,0.0011673358746302342,-7.283275108892446e-6,1.8702356985605753e-8,0.0011675594159570796,-7.517413113909867e-6,1.8838061377010595e-8,0.0011678822015231747,-7.710561368063675e-6,1.8949420655493054e-8,0.0011682689261397071,-7.818135372925264e-6,1.9010538692202126e-8,0.0011686730493583339,-7.821696462300443e-6,1.90108499425854e-8,0.0011690494583318888,-7.727720962976632e-6,1.8954353489254236e-8,0.0011693632444199163,-7.56134032774171e-6,1.885590552632025e-8,0.00116959424227111,-7.358324729191973e-6,1.8736493783482777e-8,0.0011697381322427927,-7.157289319737172e-6,1.861866602390422e-8,0.001169805015940991,-6.993028321525914e-6,1.852264983791331e-8,0.0011698161546601542,-6.891491872816817e-6,1.8463458014440653e-8,0.0011697995747586565,-6.866806023143072e-6,1.8449195474681566e-8,0.001169785345145261,-6.9204124414224666e-6,1.8480593608555368e-8,0.0011698012390084927,-7.0420511084665356e-6,1.8551596753815423e-8,0.0011698692959780039,-7.212115770190638e-6,1.865072612237821e-8,0.001170003535115469,-7.40476340602822e-6,1.876287162320732e-8,0.0011702087001298016,-7.591191261412983e-6,1.887118665962335e-8,0.001170479701385697,-7.742851069545861e-6,1.895896527939579e-8,0.0011708015200401624,-7.834746251544546e-6,1.9011588216858993e-8,0.0011711496211634048,-7.849130822009977e-6,1.9018713426567524e-8,0.0011714913924403504,-7.779910197998646e-6,1.8976869060788222e-8,0.0011717897544849946,-7.637523831636095e-6,1.889230519205385e-8,0.001172010309956273,-7.452738502943907e-6,1.8783182601489195e-8,0.0011721323598993924,-7.275994332800178e-6,1.867913794942048e-8,0.0011721611281580594,-7.168155593634209e-6,1.861581265298405e-8,0.0011721343191450696,-7.1813051484193844e-6,1.862357539268324e-8,0.0011721149049607846,-7.335813716215587e-6,1.87141217167984e-8,0.001172168800567516,-7.607145133330706e-6,1.8872833135365767e-8,0.0011723380208572738,-7.933227173421569e-6,1.9063184028057393e-8,0.0011726252496139771,-8.239481077610759e-6,1.924143891636807e-8,0.0011729975280554965,-8.466260519538257e-6,1.9372719916227837e-8,0.0011734031858778484,-8.584501548552111e-6,1.944016181411194e-8,0.001173790302185874,-8.596454295920204e-6,1.944531693494591e-8,0.0011741190787508823,-8.527161410478187e-6,1.9403109104349883e-8,0.0011743669348481497,-8.413502697600549e-6,1.933534155711618e-8,0.0011745284115409797,-8.294793736602777e-6,1.9265131227668844e-8,0.0011746124079364151,-8.206190261184355e-6,1.9213032276832187e-8,0.0011746385065752375,-8.174556373859033e-6,1.9194649111671876e-8,0.0011746330915234392,-8.216052103381338e-6,1.9219279634408336e-8,0.0011746253880197785,-8.335082109550146e-6,1.9289350289034145e-8,0.0011746435809791025,-8.524542340119898e-6,1.9400586230916127e-8,0.0011747112692470335,-8.767280557710057e-6,1.954286430798587e-8,0.0011748445359639791,-9.03865596643075e-6,1.9701692857538592e-8,0.0011750499632298852,-9.309966660718363e-6,1.9860201817912727e-8,0.001175323799399941,-9.552298843262974e-6,2.0001396821218872e-8,0.00117565222379474,-9.740381416028808e-6,2.0110439466007515e-8,0.0011760125740055314,-9.856258828588306e-6,2.0176834214821782e-8,0.001176375524771259,-9.89270749701017e-6,2.0196458357561633e-8,0.0011767084198622795,-9.856295447680713e-6,2.0173355725141192e-8,0.0011769802534832457,-9.769680052766479e-6,2.0121046365166935e-8,0.001177168799588408,-9.671871258832764e-6,2.0062613323586582e-8,0.0011772694476469777,-9.6141384720008e-6,2.002822704058926e-8,0.0011773031276615976,-9.649130357389883e-6,2.004871269724044e-8,0.001177317927990144,-9.813195811093411e-6,2.0145182911243707e-8,0.0011773784774201084,-1.0107742086366462e-5,2.031816622647421e-8,0.0011775429199502576,-1.0491244705205072e-5,2.054301185498362e-8,0.001177837880102486,-1.0891186429975976e-5,2.077695811502661e-8,0.0011782469508336748,-1.1232228758863288e-5,2.0975685618500445e-8,0.0011787199252995327,-1.1464270048217633e-5,2.1109807093236463e-8,0.001179195117857407,-1.1575096317836384e-5,2.1172327792887724e-8,0.0011796204060343677,-1.1585333083324484e-5,2.117567378298927e-8,0.001179964253721622,-1.153426084540048e-5,2.1143276835969646e-8,0.001180216947487361,-1.1465789942356163e-5,2.1101215758474892e-8,0.0011803864077251783,-1.1418915216628996e-5,2.107252293342305e-8,0.0011804924552570766,-1.1422849945557147e-5,2.1074313204903283e-8,0.0011805616351961057,-1.149534972563153e-5,2.111684828473406e-8,0.0011806231296561194,-1.164260838042896e-5,2.1203547272920038e-8,0.001180705405349917,-1.185983590457733e-5,2.133138289587363e-8,0.0011808332022572984,-1.2132380829244001e-5,2.1491566451183692e-8,0.0011810247593277404,-1.2437538534793616e-5,2.1670609888946692e-8,0.00118128939658047,-1.2747235945817167e-5,2.1851893747692842e-8,0.0011816258296817952,-1.3031688632184382e-5,2.2017816721285344e-8,0.0011820217409164156,-1.3263766786722557e-5,2.215238102483769e-8,0.0011824549343442512,-1.3423476824073942e-5,2.224386173036045e-8,0.0011828960923008392,-1.3501908143475178e-5,2.228715845248425e-8,0.0011833129578829248,-1.3504032616951642e-5,2.2285447254115404e-8,0.0011836756314048944,-1.3449812928952117e-5,2.2250794275112108e-8,0.001183962592413837,-1.3373153848677134e-5,2.2203458812617827e-8,0.0011841669322909438,-1.3318065327970467e-5,2.2169537514422055e-8,0.0011843016926503368,-1.3331175884827947e-5,2.2176482373441217e-8,0.0011844020642103072,-1.3450260247773386e-5,2.2246332098472546e-8,0.001184521202676278,-1.3690428025695983e-5,2.2387640451217336e-8,0.0011847171293863903,-1.4032994909381187e-5,2.2589027933433944e-8,0.001185032463777717,-1.4424743371322873e-5,2.281883562996951e-8,0.0011854755677246913,-1.4792794984495582e-5,2.3033918419938312e-8,0.0011860147396502052,-1.507088024578483e-5,2.319513060443558e-8,0.0011865905179456926,-1.5223319477673633e-5,2.328150001628114e-8,0.0011871389466646689,-1.5253718038456167e-5,2.3295410581307743e-8,0.0011876123061146714,-1.519648813755946e-5,2.3257586969311357e-8,0.0011879885113928858,-1.5099845661934605e-5,2.3196940123018956e-8,0.0011882695341677578,-1.501035144178206e-5,2.31412842396481e-8,0.0011884742356245803,-1.4963788315746421e-5,2.3111852364620775e-8,0.001188630530564791,-1.4982034546106686e-5,2.3121452402727265e-8,0.0011887692807419578,-1.507353292827563e-5,2.3174817880824452e-8,0.0011889202463939105,-1.5235106883747588e-5,2.3269772227890994e-8,0.0011891093972103773,-1.5453904219857056e-5,2.3398442893928934e-8,0.001189356787492648,-1.5709243646093957e-5,2.3548380493865156e-8,0.001189674562434833,-1.597465760311393e-5,2.3703767108688843e-8,0.0011900650705906138,-1.622059546320253e-5,2.3847010207390837e-8,0.0011905194959919482,-1.641817450904896e-5,2.396096721453941e-8,0.0011910177895063875,-1.6543919681829082e-5,2.403177226492937e-8,0.0011915306556030559,-1.6584788766736868e-5,2.4051839818261955e-8,0.001192023898945927,-1.6542298384545826e-5,2.4022324070467803e-8,0.001192464757553144,-1.643440146715635e-5,2.3954211093486313e-8,0.001192829119799411,-1.629404609753833e-5,2.3867395750016865e-8,0.001193108027212104,-1.6164104458207515e-5,2.3787569044241983e-8,0.0011933118430555575,-1.608921071912973e-5,2.3741272731391792e-8,0.0011934707320330146,-1.6105658509481013e-5,2.374985781205688e-8,0.0011936303976635173,-1.623111932778949e-5,2.3823425330801796e-8,0.0011938425904213918,-1.6456797947603263e-5,2.3956291913805633e-8,0.0011941512693824246,-1.6745405678767475e-5,2.4125926378533872e-8,0.0011945777513011316,-1.703806116613979e-5,2.4297131106293858e-8,0.0011951108176325653,-1.7270552184130284e-5,2.4431706269672658e-8,0.0011957078826386161,-1.7394145331375484e-5,2.4500786304503858e-8,0.001196308651953773,-1.7391670563142902e-5,2.4494397478295562e-8,0.0011968553574094527,-1.7280885870127336e-5,2.442346637634852e-8,0.0011973097438809756,-1.7104486121415902e-5,2.4313830319614202e-8,0.0011976600271846305,-1.6913544964189015e-5,2.4196263777647027e-8,0.0011979178287977973,-1.6752823815132273e-5,2.4097605696463648e-8,0.0011981097707620147,-1.6652578579863055e-5,2.4035827004151324e-8,0.0011982686801686477,-1.6626751066110573e-5,2.401899572758425e-8,0.0011984270612510747,-1.6674980003615707e-5,2.4046572026728495e-8,0.0011986131998672476,-1.6785856209140574e-5,2.411144126081378e-8,0.00119884907936858,-1.6939967517406705e-5,2.4201781684558578e-8,0.0011991490988296598,-1.7112385016964997e-5,2.430255743190104e-8,0.0011995189044720176,-1.727490968716899e-5,2.4396846663078468e-8,0.0011999541434850292,-1.73987053704685e-5,2.446740213138539e-8,0.0012004395264967585,-1.7457927525291007e-5,2.4498820966803372E-08,0.0012009491082435547,-1.743451264755266e-5,2.4480422287605266e-8,0.001201448900782843,-1.7323465817622007e-5,2.4409425154034857e-8,0.0012019025457898729,-1.713703206787251e-5,2.429344400128628e-8,0.0012022796375072394,-1.6905527800039264e-5,2.415095110327444e-8,0.001202564674709609,-1.66730256383639e-5,2.4008615527302114e-8,0.0012027634568679232,-1.6487847620334767e-5,2.3895505198766226e-8,0.001202904030611828,-1.6390163394670685e-5,2.3835574955575874e-8,0.0012030311028923925,-1.6400516224166192e-5,2.384078723594285e-8,0.0012031951747230444,-1.6513004713512284e-5,2.390712060734509e-8,0.001203439368777117,-1.6695385826531313e-5,2.4014786720648956e-8,0.0012037875416534632,-1.6896357132806125e-5,2.413273573212916e-8,0.0012042369997383238,-1.7058417430140396e-5,2.422642990299439e-8,0.001204758270153749,-1.7133153462624448e-5,2.42669920335499e-8,0.0012053027296240449,-1.7094557087145528e-5,2.4239131779032624e-8,0.001205816243419089,-1.694576087819249e-5,2.414512189749825e-8,0.001206254208107606,-1.671652593603102e-5,2.4003224447649546e-8,0.0012065924774887938,-1.6452686017868706e-5,2.3841274764580573e-8,0.0012068306855210508,-1.6202252980745935e-5,2.3688257288772364e-8,0.0012069882451567506,-1.6003642610002783e-5,2.3567193058502826e-8,0.0012070962548821874,-1.5879317737007825e-5,2.3491350212189728e-8,0.0012071891126864752,-1.5834987172204415e-5,2.3463848234982794e-8,0.0012072982435586271,-1.5862395994595704e-5,2.3479429419473134E-08,0.0012074484919681056,-1.5943390285158226e-5,2.3526960795175952e-8,0.0012076565349967772,-1.6053727644420263e-5,2.3591735054261115e-8,0.0012079303224518817,-1.6166109640853678e-5,2.3657270713232458e-8,0.0012082687433021958,-1.625265566416613e-5,2.370677465035961e-8,0.0012086611896754904,-1.6287448494366172e-5,2.372466631141001e-8,0.0012090872917999832,-1.6249836702848495e-5,2.3698580523446967e-8,0.0012095176855486077,-1.6128815528154758e-5,2.3622028928013453e-8,0.0012099170613362122,-1.592798579392285e-5,2.349739986274672e-8,0.0012102505659388227,-1.566936060894537e-5,2.3338237567455915e-8,0.0012104933479661164,-1.5393153749585413e-5,2.316906420901978e-8,0.0012106406191476266,-1.5150881099106516e-5,2.302113572545944e-8,0.001210713427762985,-1.4991745019339821e-5,2.2924136337323242e-8,0.0012107557250189674,-1.4946543294335746e-5,2.2896419733099684e-8,0.0012108221716802248,-1.5016161651831003e-5,2.293810304377412e-8,0.0012109612315525406,-1.5170264902251345e-5,2.3030401775421017e-8,0.0012112005956738774,-1.535671009607627e-5,2.3141465559964834e-8,0.0012115402123723076,-1.551722648703216e-5,2.3235958218962858e-8,0.0012119541203185218,-1.5603217342101987e-5,2.32846361790215e-8,0.0012123989690091418,-1.558704649773601e-5,2.32711262155396e-8,0.0012128258188160085,-1.546672637976945e-5,2.3194667025593706e-8,0.0012131919055231588,-1.526397476343263e-5,2.306882035076686e-8,0.001213469672752588,-1.5016981076206275e-5,2.2916988632259907e-8,0.0012136512717100716,-1.4770193242323362e-5,2.2766165374691033e-8,0.0012137479589100495,-1.4563974629347552e-5,2.2640665341646183e-8,0.0012137852603573004,-1.4426773355970368e-5,2.255743926778347e-8,0.0012137959093788662,-1.4371343522844578e-5,2.2523883713028728e-8,0.0012138128365966673,-1.439499826481813e-5,2.2538091856692798e-8,0.0012138638400819995,-1.4482668698853964e-5,2.2590762305896745e-8,0.0012139685086682349,-1.4611158244269921e-5,2.2667775734842887e-8,0.0012141370773553156,-1.4753294457875256e-5,2.2752669276880412e-8,0.0012143704447298367,-1.4881339284913565e-5,2.2828655628043122e-8,0.0012146606157735983,-1.4969696583580246e-5,2.2880242761076628e-8,0.0012149911979015464,-1.499739616837105e-5,2.2894754107216863e-8,0.001215338074413792,-1.495094088433912e-5,2.286409075695815e-8,0.0012156709220629822,-1.4827860365214653e-5,2.278691472150337e-8,0.0012159566967008494,-1.4640607873998432e-5,2.2671006872583375e-8,0.0012161661678526474,-1.4419214392042551e-5,2.253482998176492e-8,0.0012162834218881762,-1.4209794962010202e-5,2.2406545421342624e-8,0.001216315642396274,-1.4065845309811994e-5,2.2318651755283653e-8,0.0012162975273846636,-1.4032046896515793e-5,2.229810801795348e-8,0.001216284646636957,-1.412603160851158e-5,2.2355282871068613e-8,0.0012163354726003424,-1.4328040488737538e-5,2.2477767363016963e-8,0.0012164899159747096,-1.4585949126754397e-5,2.263355123417095e-8,0.001216755574130199,-1.4833892797710722e-5,2.278243853374842e-8,0.0012171078245810246,-1.5014490026863692e-5,2.2889603737556964e-8,0.001217501208749591,-1.5094377647005056e-5,2.2935034657986378e-8,0.0012178847630020077,-1.5068934395509631e-5,2.2916347417685273e-8,0.0012182150285436164,-1.4958137548021152e-5,2.2846155074825506e-8,0.0012184640069405344,-1.4797783644600629e-5,2.2746590779909395e-8,0.0012186220505673322,-1.4629683731770791e-5,2.2643235920746163e-8,0.001218696822913379,-1.449297270290909e-5,2.2559801522444672e-8,0.0012187095811834294,-1.4417539138099393e-5,2.2514186857630122e-8,0.0012186898663968694,-1.4420061297596525e-5,2.2516180023635898e-8,0.0012186696633395672,-1.4502833252156467e-5,2.2566860603567102e-8,0.0012186780735641304,-1.4655108434294776e-5,2.2659490899290508e-8,0.0012187372918174148,-1.4856253456001961e-5,2.2781443114298367e-8,0.001218860273629298,-1.5079824490775369e-5,2.2916635639418696e-8,0.0012190500435946263,-1.5297700051893458e-5,2.3047988343221898e-8,0.001219300200263371,-1.548365519236493e-5,2.3159560794279936e-8,0.0012195960618367548,-1.5616237415079354e-5,2.3238309613797606e-8,0.0012199161265676276,-1.568118550987916e-5,2.3275603178996437e-8,0.0012202338545077081,-1.567373100870673e-5,2.326866879195279e-8,0.0012205201561264112,-1.560100091808706e-5,2.3222067337371707e-8,0.001220747382989795,-1.5484226141098953e-5,2.3148995007320677e-8,0.0012208955835540899,-1.535941411892994e-5,2.3071605072069785e-8,0.0012209607427107806,-1.5274050539459638e-5,2.3018902382756045e-8,0.001220962475274646,-1.5277280997782236e-5,2.3020705792687032e-8,0.0012209458731045407,-1.5403436960660497e-5,2.309762894932575e-8,0.0012209717976255354,-1.565448470536381e-5,2.3250476497938733e-8,0.0012210955463632595,-1.5992317511104423e-5,2.345566341649283e-8,0.0012213435678971353,-1.634934524496698e-5,2.367175263118225e-8,0.0012217022640911984,-1.6653999885394203e-5,2.3855040758167472e-8,0.0012221254162641652,-1.685673242853055e-5,2.397543609100118e-8,0.0012225539172616843,-1.694295513018085e-5,2.4024369111537456e-8,0.0012229355612905532,-1.6930207344080828e-5,2.4013018459709848e-8,0.0012232368258948774,-1.6856088422204816e-5,2.3964815471614588e-8,0.001223445818883135,-1.6764870074623695e-5,2.3907108196114857e-8,0.0012235694616662836,-1.66972195773145e-5,2.3864781052871904e-8,0.0012236282176459417,-1.668400111843338e-5,2.3856473140188308e-8,0.0012236504409797394,-1.6743379709783217e-5,2.3892909894168513e-8,0.0012236671763620997,-1.6880175503808295e-5,2.3976645895061022e-8,0.001223707624433692,-1.708683221483701e-5,2.4102766441136323e-8,0.0012237954317209335,-1.734565340062886e-5,2.426029685357651e-8,0.0012239459921608604,-1.7631973134540477e-5,2.4434117926847972e-8,0.0012241649213519893,-1.791791608308859e-5,2.4607207076905056e-8,0.0012244478183697678,-1.817632574317451e-5,2.476299133590999e-8,0.0012247812244358886,-1.838435464330882e-5,2.4887533086232756e-8,0.0012251444556581857,-1.8526399189167512e-5,2.4971356499031972e-8,0.001225512030680893,-1.8596356874691012e-5,2.5010875116620252e-8,0.0012258566090267735,-1.8599249204608337e-5,2.500940666446154e-8,0.0012261525206215848,-1.8552184327634754e-5,2.4977727871947743e-8,0.0012263801754533244,-1.8484389126531722e-5,2.4934001023126065e-8,0.001226531589440995,-1.8435353897332787e-5,2.4902521731442044e-8,0.0012266163824655456,-1.844942436845583e-5,2.4910327037782435e-8,0.0012266658987470957,-1.8565429063659797e-5,2.498085133256966e-8,0.0012267312754294553,-1.880207278591228e-5,2.5125090674904964e-8,0.0012268713258371598,-1.914430998630717e-5,2.533341535608457e-8,0.001227131022819862,-1.954022969406463e-5,2.557377342250434e-8,0.0012275202373195173,-1.991570456003484e-5,2.5800673545950185e-8,0.0012280066605481112,-2.0202550073462475e-5,2.5972399157529153e-8,0.0012285289260753722,-2.036442274620531e-5,2.6066887113834473e-8,0.0012290215337736447,-2.0405843598096857e-5,2.608730247250189e-8,0.0012294364792536673,-2.0362831684957532e-5,2.605626237353159e-8,0.0012297525480403702,-2.0285001528169813e-5,2.600470001447718e-8,0.001229973287643303,-2.0219675206655426e-5,2.596192790923771e-8,0.00123011945294299,-2.0202577079814657e-5,2.5949829286862887e-8,0.0012302208090147813,-2.0254570927893388e-5,2.598089556577197e-8,0.001230309575850642,-2.0382079862008366e-5,2.6058620701201978e-8,0.0012304158345859968,-2.0579100696291248e-5,2.6178889594627654e-8,0.0012305643517482184,-2.0829746668818747e-5,2.6331638580619262e-8,0.0012307723235892732,-2.1111062515209374e-5,2.6502607204116547e-8,0.0012310478548748765,-2.1396114777007075e-5,2.6675202086625746e-8,0.0012313891899758615,-2.1657391046044656e-5,2.6832534064826254e-8,0.0012317848985939483,-2.187044513583133e-5,2.6959629716658373e-8,0.001232215249623264,-2.2017430944470345e-5,2.7045614719736176e-8,0.0012326547447966258,-2.209001773221379e-5,2.7085542859440893e-8,0.0012330755592392312,-2.2091326924775106e-5,2.70816135899996e-8,0.0012334516279752959,-2.203663011034868e-5,2.7043580150642033e-8,0.001233763101802164,-2.1952544155669515e-5,2.6988170698065287e-8,0.001234000846053606,-2.1874499915341305e-5,2.6937404354593894e-8,0.0012341705639102628,-2.184212653370876e-5,2.691563704449534e-8,0.0012342956223987628,-2.1891979650956894e-5,2.6945050302677308e-8,0.001234416688585595,-2.2047557895417835e-5,2.7039585964648845e-8,0.0012345855888722889,-2.23083766412273e-5,2.719839449139654e-8,0.0012348517249173988,-2.2642708147870215e-5,2.7401545144008608e-8,0.0012352433616983397,-2.2990593392258627e-5,2.7611962377998624e-8,0.0012357521897338616,-2.328103233247334e-5,2.778596961972363e-8,0.0012363319390749912,-2.3458241076732956e-5,2.7889391237730747e-8,0.001236914832205126,-2.3503051358274284e-5,2.7910738893106944e-8,0.0012374372602634584,-2.34370143285074e-5,2.7863779646029196e-8,0.0012378600978094599,-2.3308844078715344e-5,2.7779123129400366e-8,0.001238175025995959,-2.3173834169043024e-5,2.7691345091404345e-8,0.0012383987375117022,-2.3077516654817154e-5,2.7628715793488518e-8,0.0012385621901050622,-2.304804267920002e-5,2.7608434146434345e-8,0.001238700730871274,-2.3095701387628564e-5,2.7636418998067664e-8,0.0012388473917175444,-2.321606101218933e-5,2.7709418024290113e-8,0.0012390291726658905,-2.339397590953754e-5,2.781763697063455e-8,0.001239265187271221,-2.3607198404592336e-5,2.7947049692492793e-8,0.0012395656932513142,-2.3829477290720274e-5,2.808131142382676e-8,0.001239931567574002,-2.4033454791804963e-5,2.8203502070202986e-8,0.001240354197034772,-2.419368952870141e-5,2.8297948187087624e-8,0.0012408160639877112,-2.4289979933212816e-5,2.835226322126063e-8,0.0012412924936616241,-2.431076507997636e-5,2.835947104322042e-8,0.001241754847581157,-2.4255949556786933e-5,2.8319783468064274e-8,0.0012421750027906508,-2.413837942889537e-5,2.8241514856497743e-8,0.0012425305735050856,-2.398330917104594e-5,2.8140695039591662e-8,0.001242810041407821,-2.3825431793646963e-5,2.803911624686781e-8,0.0012430167548026835,-2.3703494765039817e-5,2.796086702784852e-8,0.0012431707595330977,-2.3653019187846447e-5,2.792773776976358e-8,0.0012433075282853305,-2.3697965910599013e-5,2.7954078812129726e-8,0.0012434727173970845,-2.3842679769997022e-5,2.8041949740427052e-8,0.001243712463212426,-2.4066405760676784e-5,2.8177927469785303e-8,0.0012440601035040232,-2.432362427984792e-5,2.8333484399655164e-8,0.0012445228361571915,-2.4553159928907133e-5,2.84706844897476e-8,0.001245074558848186,-2.469598742631698e-5,2.8553156726817562e-8,0.0012456608862963842,-2.4715959349908565e-5,2.8558858281151512e-8,0.001246216708050109,-2.4613291013679496e-5,2.8488399775580813e-8,0.001246688489499405,-2.4423038202625592e-5,2.8364074640010765e-8,0.0012470500759516796,-2.4199802086790886e-5,2.8220269933140577e-8,0.0012473056186578205,-2.3997923243581362e-5,2.8091007067191165e-8,0.0012474816718979766,-2.3856832628854112e-5,2.8000725693752732e-8,0.0012476152297567857,-2.3795467178827526e-5,2.796083255759579e-8,0.0012477434727424471,-2.3813936544781482e-5,2.797087896365848e-8,0.0012478974825907967,-2.3898538079999737e-5,2.802185450423327e-8,0.0012480994715242364,-2.4027063105389873e-5,2.8099607177080368e-8,0.0012483620860405254,-2.4173063448967265e-5,2.8187527217003586e-8,0.0012486885425988454,-2.4309038643380227e-5,2.8268487756534477e-8,0.0012490729604937483,-2.4409048929309893e-5,2.832640747738927e-8,0.0012495008229754566,-2.4451320673572244e-5,2.8347832218140762e-8,0.0012499499393055541,-2.442119484453209e-5,2.8323772418069707e-8,0.0012503925365264328,-2.4314275664468087e-5,2.8251695604431464e-8,0.0012507990005257714,-2.4139030867608762e-5,2.8137171704645568e-8,0.001251143262636996,-2.391768914256767e-5,2.7994415164953935e-8,0.0012514090363835088,-2.368426701735876e-5,2.7844976389814205e-8,0.0012515953110546903,-2.3479107716070564e-5,2.771421375274228e-8,0.0012517191350728285,-2.3340474530020665e-5,2.7625933544735366e-8,0.0012518141482856812,-2.3295030625602135e-5,2.7596407518891168e-8,0.00125192444142756,-2.334975383124914e-5,2.7629401271552236e-8,0.0012520946514939732,-2.348776438369355e-5,2.7713746828686006e-8,0.0012523583631477433,-2.3669877510084097e-5,2.7824516476769492e-8,0.0012527277286170939,-2.38425421336231e-5,2.7928118057615044e-8,0.0012531876409788102,-2.3951178423680048e-5,2.7990642199443437e-8,0.0012536974445180235,-2.395580939174183e-5,2.7987543221912417e-8,0.0012542012794675764,-2.3843814405731823e-5,2.7911488512020674e-8,0.0012546444912580575,-2.3634230998913443e-5,2.7774939914552914e-8,0.0012549898708866338,-2.337098949679818e-5,2.760582318235473e-8,0.0012552269467497428,-2.31078977299701e-5,2.7438033142794907e-8,0.0012553712247767674,-2.2892283909759187e-5,2.730112602560997e-8,0.001255455539610628,-2.2753872111695107e-5,2.7213370434487382e-8,0.0012555187275849952,-2.2701515499694785e-5,2.7179817449245153e-8,0.0012555962675502516,-2.2726235663317327e-5,2.719436714414756e-8,0.0012557148843836085,-2.280713457832666e-5,2.724360162183075e-8,0.001255890687072248,-2.2917285638186973e-5,2.7310518757386415e-8,0.001256129398595488,-2.3028282424195017e-5,2.7377340966423323e-8,0.0012564273842037858,-2.3113398094334926e-5,2.742741470506988e-8,0.001256772748129926,-2.3149894992070267e-5,2.7446594516070987e-8,0.0012571463545275083,-2.3121157899020574e-5,2.7424565261140528e-8,0.0012575231640768645,-2.3019131476612913e-5,2.7356401669610725e-8,0.001257874612111306,-2.284700440575688e-5,2.7244296214391676e-8,0.0012581727000068063,-2.2621361371800596e-5,2.7098925268443296e-8,0.0012583959412701018,-2.2372382207858894e-5,2.6939533510837228e-8,0.0012585362273141267,-2.2140433227805133e-5,2.6791698499354605e-8,0.0012586042852673735,-2.196814660205169e-5,2.6682241581275458e-8,0.0012586306549829782,-2.1889126806689826e-5,2.6632055608261722e-8,0.0012586601311620252,-2.1916855981065547e-5,2.664914718129419e-8,0.0012587403517282045,-2.2038399148444123e-5,2.672480002912566e-8,0.0012589081308858302,-2.2216070066749486e-5,2.6834805998698666e-8,0.001259178401966701,-2.2397001174915816e-5,2.6945651229235044e-8,0.0012595395662738137,-2.2527436600423014e-5,2.7023591961309044e-8,0.0012599565073977735,-2.2567114697326255e-5,2.704368259177285e-8,0.0012603800277351954,-2.249955563699239e-5,2.6996141762203254e-8,0.0012607598300570521,-2.2335587057110256e-5,2.6888416016816608e-8,0.0012610573544834757,-2.2109330675960614e-5,2.674249136516303e-8,0.0012612547690560867,-2.186800615213288e-5,2.6588343449294578e-8,0.0012613575758832708,-2.1658922356915117e-5,2.6455686208838244e-8,0.001261390591051946,-2.151793017938794e-5,2.6366737636690552e-8,0.00126138947197204,-2.146269522919313e-5,2.6332111564846554e-8,0.001261391218294045,-2.1491868003257122e-5,2.635046486548411e-8,0.0012614266428808319,-2.15888902989852e-5,2.641103229929555e-8,0.0012615162216082754,-2.1727952954471072e-5,2.6497431575663864e-8,0.0012616690635331466,-2.187983048108349e-5,2.6591299115901463e-8,0.0012618838439774989,-2.2016383972793845e-5,2.6675035116793972e-8,0.0012621505235054361,-2.2113585277586392e-5,2.6733624171416905e-8,0.0012624521180612978,-2.2153524616584108e-5,2.6755867859438524e-8,0.00126276632102878,-2.2126043067001626e-5,2.6735440962205498e-8,0.0012630672801498218,-2.2030481309721585e-5,2.6672051476437688e-8,0.0012633282001385453,-2.1877576094169603e-5,2.6572675677080794e-8,0.0012635254927225803,-2.1690821374928485e-5,2.6452399559931268e-8,0.0012636447200479173,-2.150581193844573e-5,2.6333924961939377e-8,0.0012636873694712005,-2.1365630790647973e-5,2.62445471842398e-8,0.001263675689203714,-2.1311092535360135e-5,2.6209908895091034e-8,0.001263651583389443,-2.1367352542053175e-5,2.624553285893486e-8,0.0012636669236140193,-2.1532112858698217e-5,2.6349454998586358e-8,0.0012637672086514252,-2.1772261625864342e-5,2.6500247615930587e-8,0.0012639754671761418,-2.2032532614826404e-5,2.666264158225693e-8,0.001264284192241647,-2.2253087100624153e-5,2.679874434506354e-8,0.0012646586664950854,-2.238799657886381e-5,2.687976398338216e-8,0.001265048952007261,-2.2417146448438736e-5,2.68935001124463e-8,0.0012654046375396352,-2.2348637976309602e-5,2.6845743928639548e-8,0.001265687166465729,-2.2213199967963506e-5,2.6756558234120423e-8,0.0012658770847539854,-2.205411237295862e-5,2.6653709859809845e-8,0.0012659757694239995,-2.1916095275190147e-5,2.6565519875628988e-8,0.0012660024992930466,-2.1835733466883678e-5,2.6514812194613012e-8,0.0012659883363219941,-2.183504682483079e-5,2.6514975770749016e-8,0.001265968564043513,-2.1918984668542527e-5,2.656857289282304e-8,0.0012659755016867593,-2.2076758125450218e-5,2.666835322071545e-8,0.0012660331867845541,-2.2286013655878877e-5,2.6799978389807436e-8,0.0012661546447266811,-2.2518299270481508e-5,2.6945459630868268e-8,0.0012663416011667139,-2.2744366594706175e-5,2.708642168120064e-8,0.0012665859156780787,-2.2938374403736194e-5,2.720666230998871e-8,0.0012668718340026004,-2.308069895407578e-5,2.729387607334129e-8,0.0012671783608418628,-2.315961813842999e-5,2.7340731279403066e-8,0.0012674815022603028,-2.3172399530941718e-5,2.734561490457562e-8,0.0012677565540440863,-2.3126206424985553e-5,2.7313258391016998e-8,0.0012679809078356128,-2.3038880813856224e-5,2.7255232108115096e-8,0.0012681379667225815,-2.293909764723427e-5,2.718996925380211e-8,0.001268222410981478,-2.2864607647463806e-5,2.714153350665855e-8,0.0012682458991817589,-2.285674137919671e-5,2.7136033101520892e-8,0.0012682404442877298,-2.294997743206441e-5,2.7194986348181077e-8,0.0012682552261359058,-2.3158135615329883e-5,2.732665258099185e-8,0.0012683438357439264,-2.3463184370203866e-5,2.751908579692521e-8,0.0012685445912806244,-2.381508922712379e-5,2.774017528295886e-8,0.0012688635218484556,-2.4146813037913072e-5,2.794723304902699e-8,0.0012692705636366676,-2.439852622614259e-5,2.8102383947438925e-8,0.0012697114811386142,-2.453808374801821e-5,2.818558432617654e-8,0.0012701278926337827,-2.456798692026666e-5,2.8199025785485304E-08,0.0012704747097447653,-2.451874191640579e-5,2.8162796580241977e-8,0.0012707290511519327,-2.4435369716645258e-5,2.8106093111468987e-8,0.00127089082105009,-2.4363968771578763e-5,2.8058468845464867e-8,0.0012709780445711418,-2.4341966719446985e-5,2.804354865594735e-8,0.0012710200656264432,-2.439279816146933e-5,2.8075722588673664e-8,0.001271050641705294,-2.4524258495752033e-5,2.8159296031538897e-8,0.0012711018882705825,-2.4729497552478398e-5,2.8289339641440367e-8,0.0012711994916664129,-2.4989923105568873e-5,2.8453680377103202e-8,0.0012713595362361608,-2.5279401250563086e-5,2.863560229913506e-8,0.0012715871496310693,-2.5568988582094783e-5,2.8816787886148046e-8,0.0012718768697763392,-2.5831442116825033e-5,2.898007870930307e-8,0.0012722144010838205,-2.6044933071783422e-5,2.911175618979125e-8,0.0012725792455093397,-2.619559555621507e-5,2.9203144635270495e-8,0.001272947626786604,-2.627888618297095e-5,2.9251514544716158e-8,0.0012732953571026233,-2.630006763486035e-5,2.9260441855358742e-8,0.0012736006475878774,-2.6274127894061375e-5,2.9239767557704245e-8,0.0012738470763975945,-2.6225193166156763e-5,2.9205161411702542e-8,0.0012740270157430664,-2.6185124088254545e-5,2.9177104177386633e-8,0.0012741455908807501,-2.6190414429344983e-5,2.9178785414269988e-8,0.001274224316427514,-2.62760887589678e-5,2.9232165679184445e-8,0.0012743020615554482,-2.646586880061536e-5,2.935178899471236e-8,0.001274429803943883,-2.6760187731966526e-5,2.9537333686976303e-8,0.0012746566213436674,-2.712756647179489e-5,2.976831346906732e-8,0.0012750096385508432,-2.7507546288788524e-5,3.0006033761210905e-8,0.0012754781610912526,-2.7829406560484464e-5,3.020548189174035e-8,0.001276013858158292,-2.8039650417442057e-5,3.033279425528792e-8,0.0012765492750488386,-2.812244159011328e-5,3.0378310890776146e-8,0.001277023642649741,-2.810137217333263e-5,3.035772861075833e-8,0.0012774012466509133,-2.802473521408781e-5,3.0302589247883327e-8,0.0012776758745853178,-2.7945890596938154e-5,3.024749497268067e-8,0.0012778647758220772,-2.79085430819153e-5,3.022048134829472e-8,0.001277998800793535,-2.793980262467159e-5,3.0238533240266736e-8,0.0012781132813501053,-2.804931557698271e-5,3.0307171318946226e-8,0.0012782413834105137,-2.8231718287190717e-5,3.042226138414893e-8,0.0012784098972853835,-2.8470294804898002e-5,3.0572571320992245e-8,0.0012786367518833218,-2.8740849073584766e-5,3.074235593251752e-8,0.0012789297433653374,-2.9015619036969142e-5,3.091384476109464e-8,0.0012792863683563302,-2.9267159831319898e-5,3.10696300382083e-8,0.0012796947422641365,-2.9471974501639326e-5,3.119488465856777e-8,0.0012801355484260517,-2.9613619515355336e-5,3.127929159311357e-8,0.0012805848824221722,-2.9684936207415627e-5,3.131847898599492e-8,0.001281017638662968,-2.968910490383866e-5,3.131473845451968e-8,0.0012814109964758992,-2.963950002011583e-5,3.1276957457645865e-8,0.0012817477332364437,-2.9558493616968298e-5,3.1219814796159154e-8,0.0012820192456920046,-2.9475284638605605e-5,3.116227933862801e-8,0.001282228197848576,-2.9422701983244574e-5,3.1125420021043346e-8,0.001282390606699797,-2.943268070189973e-5,3.112941115271035e-8,0.0012825366317504978,-2.9529907636028162e-5,3.118948519163852e-8,0.0012827084194776662,-2.9723676059624966e-5,3.131088059813362e-8,0.0012829528288665348,-2.9999700516418604e-5,3.1483844908667825e-8,0.0012833079130263225,-3.0316201547194518e-5,3.168132285335997e-8,0.0012837859765342673,-3.061020073146328e-5,3.1863018658290956e-8,0.0012843618450062628,-3.081684226297564e-5,3.198765635324121e-8,0.0012849765874220782,-3.089521995994752e-5,3.20294184946202e-8,0.0012855586318208988,-3.084588285428632e-5,3.1989175468429604e-8,0.0012860510837547415,-3.0708540178211655e-5,3.189304549666774e-8,0.001286429391721135,-3.054259065273131e-5,3.1779790208841204e-8,0.0012867022080911398,-3.0404062537684042e-5,3.1685762437681995e-8,0.001286900377279203,-3.0330777585708804e-5,3.163518182633183e-8,0.001287063300987379,-3.0338387143386424e-5,3.163759774986754e-8,0.001287228565364857,-3.042354922701865e-5,3.1690131287687944e-8,0.0012874261434639106,-3.056970632894269e-5,3.1781451277475414e-8,0.0012876761011276928,-3.075264889043229e-5,3.189554315979008e-8,0.001287988197340863,-3.094489886686548e-5,3.201458498978887e-8,0.0012883622633117567,-3.111913753711612e-5,3.2121090216733314e-8,0.0012887890246263095,-3.125116421789353e-5,3.219969606469643e-8,0.0012892514436496775,-3.1322610080414284e-5,3.223881626240157e-8,0.0012897267572810904,-3.132337450102907e-5,3.223217751474067e-8,0.0012901893827250341,-3.125348366035541e-5,3.2180042784654345e-8,0.0012906146194111945,-3.1123848609875844e-5,3.208974051574626e-8,0.0012909826969805158,-3.0955505293186115e-5,3.197517438868874e-8,0.0012912825565626971,-3.0777215881050795e-5,3.185520292845642e-8,0.0012915147687625943,-3.0621540642874033e-5,3.175097395022615e-8,0.001291693035842951,-3.0519716537336427E-05,3.168249183610786e-8,0.0012918438362249742,-3.0495841413462402e-5,3.1664819795655e-8,0.0012920037928547566,-3.056087693364674e-5,3.1704304670211076e-8,0.0012922141715474165,-3.0707282053063105e-5,3.17953364867465e-8,0.001292512034520009,-3.090599709338316e-5,3.1918661500173786e-8,0.0012929187002381516,-3.110850773894603e-5,3.2042880122178096e-8,0.0012934285950733568,-3.1256693423193994e-5,3.213078673276235e-8,0.0012940044453168913,-3.1300498297250774e-5,3.215061328521406e-8,0.001294584877820033,-3.12176444133966e-5,3.20885883560331e-8,0.001295104589766634,-3.102462475607171e-5,3.195596529494129e-8,0.0012955179603695564,-3.077085167751126e-5,3.178521309227125e-8,0.0012958131840410975,-3.0518540566581096e-5,3.1616916955709714e-8,0.0012960105999187787,-3.032026641965267e-5,3.148511085415194e-8,0.0012961495978159076,-3.0205433323736027e-5,3.140845109678617e-8,0.0012962734470908504,-3.0178565979806494e-5,3.1389212768773746e-8,0.0012964186126221632,-3.022527856628844e-5,3.141738252834504e-8,0.0012966099467786687,-3.032037295760454e-5,3.1476126820308665e-8,0.0012968600751613467,-3.043465498738407e-5,3.154631955101938e-8,0.0012971707339509185,-3.0539529403013107e-5,3.160949484610287e-8,0.0012975345391934867,-3.0609886172662965e-5,3.164960498486348e-8,0.0012979366525891216,-3.062613758462698e-5,3.1654217987039235e-8,0.0012983564533401342,-3.057599296156603e-5,3.1615600298714555e-8,0.0012987695840761062,-3.0456167864014533e-5,3.1531828857941956e-8,0.0012991507884455799,-3.027379091331488e-5,3.140775068646107e-8,0.0012994777236449333,-3.004683999448522e-5,3.125530194558217e-8,0.0012997353921117309,-2.9802813505353085e-5,3.1092622133109445e-8,0.0012999202861004046,-2.9575139003558806e-5,3.09416264273142e-8,0.0013000430270444395,-2.93974130243819e-5,3.0824133092212875e-8,0.001300128331498118,-2.9296350396882437e-5,3.075718715872455e-8,0.0013002116679433546,-2.928500804947685e-5,3.074866956412388e-8,0.0013003328193243616,-2.935801434543197e-5,3.0794343521651624e-8,0.001300527308605543,-2.9490231267340253e-5,3.0877225135393917e-8,0.0013008171756119307,-2.9639869058835446e-5,3.0969838317194383e-8,0.0013012031591031939,-2.9756515314625574e-5,3.10395465251122e-8,0.0013016609455879465,-2.9793446563434323e-5,3.105650235031395e-8,0.0013021442562541905,-2.972172931898944e-5,3.100263591424007e-8,0.0013025961177511457,-2.9541337275106654e-5,3.087867894617946e-8,0.0013029660006317406,-2.9283509335878423e-5,3.0705543544897195e-8,0.0013032261586196996,-2.9001308736517474e-5,3.051808034793436e-8,0.0013033793833759004,-2.875164122635431e-5,3.035331118242153e-8,0.0013034547749617115,-2.8577237008618275e-5,3.023868954419752e-8,0.0013034950005774671,-2.8496554952853205e-5,3.018561791167246e-8,0.0013035422626375217,-2.8503927091162528e-5,3.018972942257647e-8,0.0013036286487182313,-2.8576659673191224e-5,3.023572044825167e-8,0.0013037723920898197,-2.8683998777921855e-5,3.0303320007544866e-8,0.0013039784710675347,-2.8794434907111588e-5,3.037204952208462e-8,0.0013042411712836108,-2.8880283437659195e-5,3.042410362765577e-8,0.0013045469059940415,-2.8920083977942182e-5,3.044577741719525e-8,0.0013048765892900785,-2.8899827777303695e-5,3.042817208710491e-8,0.0013052076096280716,-2.8813836177220682e-5,3.0367751697282956e-8,0.0013055158699504063,-2.8665686201342626e-5,3.026699500311816e-8,0.0013057784723598796,-2.8469027833693583e-5,3.0134989400730604e-8,0.0013059774012722158,-2.824758312302742e-5,2.998744624708401e-8,0.0013061039917527009,-2.803329661145913e-5,2.984543622349855e-8,0.0013061631500154798,-2.786174715368294e-5,2.973227959525612e-8,0.0013061755169066931,-2.7764752904717206e-5,2.966860348764004e-8,0.0013061756394885842,-2.7761595595907e-5,2.9666567318660748e-8,0.0013062052931786697,-2.785175086959786e-5,2.972518749832201e-8,0.001306303142538855,-2.801230059159129e-5,2.9828826603746476e-8,0.0013064938194895942,-2.820182285028999e-5,2.9949955265754234e-8,0.001306780086361943,-2.8370168467178228e-5,3.005571106771042e-8,0.0013071407644421912,-2.8471378373462444e-5,3.0116392578181026e-8,0.0013075352201250116,-2.8475996159682643e-5,3.011342304590286e-8,0.001307913334487316,-2.8379292346448963e-5,3.0044539506056616e-8,0.0013082284553436203,-2.820295608258615e-5,2.992467194139616e-8,0.001308449795111905,-2.798934380814309e-5,2.9781980996995586e-8,0.0013085703641908598,-2.7789555942438875e-5,2.9649940584985727e-8,0.0013086075992558702,-2.7649081856834136e-5,2.9557946510256037e-8,0.0013085965713823258,-2.7596068441511594e-5,2.9523765739778143e-8,0.001308578775603071,-2.763613069992761e-5,2.9550353019012925e-8,0.0013085910545795772,-2.7754483402330733e-5,2.9627464816654964e-8,0.0013086582864577261,-2.7923038311927625e-5,2.973644409629548e-8,0.00130879097813508,-2.810881146934206e-5,2.985573633256056e-8,0.0013089866559391336,-2.8280794299983097e-5,2.9965288371083946e-8,0.0013092330853364449,-2.841421177594859e-5,3.004918959647898e-8,0.0013095117218239086,-2.849249915857971e-5,3.00968495932514e-8,0.0013098006051115334,-2.8507901829533638e-5,3.010335322333937e-8,0.0013100766331532816,-2.8461574612671678e-5,3.006956699423517e-8,0.00131031764281404,-2.8363692896845595e-5,3.0002285569679514e-8,0.0013105049028917662,-2.823351948220192e-5,2.991431821194102e-8,0.0013106264457913824,-2.809877946612421e-5,2.9824048280105456e-8,0.001310681133427025,-2.7993271777071674e-5,2.9753766780009736e-8,0.0013106824426351005,-2.795161269268233e-5,2.972610709291234e-8,0.0013106598420135267,-2.8000824017845768e-5,2.975846481850516e-8,0.001310655166280242,-2.8150479328616627e-5,2.9856575254154354e-8,0.0013107127876955784,-2.8385509043680695e-5,3.000993471753322e-8,0.0013108657814568222,-2.866643869990418e-5,3.0192141079751784e-8,0.0013111236756196114,-2.8939129152693387e-5,3.036744088323199e-8,0.0013114677764056418,-2.915104009753794e-5,3.0501486920959236e-8,0.001311856492484787,-2.9267251923133067e-5,3.0571854184595145e-8,0.001312238049311916,-2.9279859822208612e-5,3.057411525864111e-8,0.0013125651169096678,-2.9208198159179714e-5,3.0521802359526976e-8,0.0013128064021552001,-2.909142250826646e-5,3.044129361786551e-8,0.0013129525886068233,-2.897698933927629e-5,3.0364030849243177e-8,0.001313016206816826,-2.890865807546817e-5,3.031854722956662e-8,0.001313026461668143,-2.8916887043806896e-5,3.0324238748257375e-8,0.0013130209243820167,-2.901349026915853e-5,3.0388075426164644e-8,0.0013130364508609068,-2.91912467162573e-5,3.050460897562148e-8,0.0013131016267059507,-2.9427863667728573e-5,3.0658773423636455e-8,0.00131323234339437,-2.9692576163541312e-5,3.0830280966021656e-8,0.0013134309224520154,-2.9953194080713292e-5,3.099817761610996e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_14.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_14.json new file mode 100644 index 000000000..e8e2db514 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_14.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":14000,"numberOfSamples":1000,"samples":[0.0013136880538731968,-3.0181825300251084e-5,3.1144455018197914e-8,0.0013139862307697747,-3.0358458604268804e-5,3.125626468859012e-8,0.0013143034381558063,-3.0472498704118995e-5,3.1326857923882795e-8,0.001314616342296335,-3.0522889122674205e-5,3.135568412117831e-8,0.0013149028238326915,-3.051757614543907e-5,3.134810730752583e-8,0.0013151441476950397,-3.0472812693602606e-5,3.1315005489895234e-8,0.001315327245423572,-3.041233669157899e-5,3.127221966442859e-8,0.0013154474985632677,-3.0365940022199845e-5,3.1239522569258994e-8,0.0013155119761371786,-3.0366482616605727e-5,3.123852579233063e-8,0.0013155421786821661,-3.044428590458291e-5,3.1288903751562086e-8,0.0013155741637083083,-3.061859253490029e-5,3.140279579367739e-8,0.0013156532826805987,-3.08878545724263e-5,3.15785553459714e-8,0.0013158221093964287,-3.122350814634265e-5,3.179684474210843e-8,0.0013161043666861684,-3.1573152017452694e-5,3.202287220092828e-8,0.001316492562279381,-3.187552478285449e-5,3.221630534507893e-8,0.0013169475071545026,-3.2081986318948946e-5,3.234541530079332e-8,0.0013174114482328236,-3.217362581767834e-5,3.2398333198900105e-8,0.0013178279759007432,-3.216549962188907e-5,3.238578137269618e-8,0.0013181587209702065,-3.209786877058771e-5,3.233512178519737e-8,0.0013183908584672483,-3.202101456924127e-5,3.2280078366949867e-8,0.0013185355723118594,-3.198087692229784e-5,3.22510415181099e-8,0.0013186210256550192,-3.200948903377424e-5,3.226871171627078e-8,0.001318683516304464,-3.212087078817048e-5,3.2341550899422565e-8,0.0013187592325329092,-3.2311333689063695e-5,3.246626921888799e-8,0.0013188777975085585,-3.256278527721231e-5,3.263027897225073e-8,0.0013190580943835157,-3.28478210560236e-5,3.281520552707126e-8,0.001319306537685271,-3.3135522599053245e-5,3.30007052286256e-8,0.0013196176305973269,-3.339691167788335e-5,3.3167938459672674e-8,0.0013199762931723731,-3.360923943949643e-5,3.330224076991175e-8,0.001320361240591444,-3.3758679883073964e-5,3.339478932604852e-8,0.0013207486407314094,-3.3841371491741154e-5,3.3443266039948134e-8,0.0013211154170834028,-3.3863122696377714e-5,3.345170814905867e-8,0.0013214419486963593,-3.3838325595684376e-5,3.342984862739796e-8,0.0013217143059939618,-3.3788485178276064e-5,3.3392152957732015e-8,0.0013219262892678202,-3.374042925569602e-5,3.3356565064026065e-8,0.0013220814837101608,-3.37239298755937e-5,3.334280561542386e-8,0.0013221952658236343,-3.3768093745891034e-5,3.336987271475884e-8,0.0013222959339579021,-3.389572813238187e-5,3.345230413051685e-8,0.0013224231012386285,-3.411559264521433e-5,3.359518483099222e-8,0.001322620987373266,-3.44143314836092e-5,3.378904291433436e-8,0.0013229254974994617,-3.47525377055976e-5,3.4007455453146385e-8,0.0013233481259613213,-3.507078420316715e-5,3.421110391244622e-8,0.0013238651644779758,-3.5307915680853196e-5,3.435980179531848e-8,0.0013244214578083684,-3.5424988893193025e-5,3.4428250117923195e-8,0.0013249498096669955,-3.5421322382391885e-5,3.441665080515855e-8,0.0013253957656545127,-3.533284530570563e-5,3.4349593606930406e-8,0.0013257341054285624,-3.521518782185486e-5,3.4264687362774436e-8,0.0013259708733802966,-3.5122901891955616e-5,3.4198504380576074e-8,0.0013261345823387194,-3.509485421874728e-5,3.4176685340857736e-8,0.0013262639590043055,-3.514877227589115e-5,3.421034115508173e-8,0.0013263974759466818,-3.5282692478288204e-5,3.42972534612874e-8,0.0013265664975942637,-3.547980948220061e-5,3.4425417060696266e-8,0.00132679174008558,-3.5714173837029465e-5,3.457707337361339e-8,0.0013270820868991236,-3.595606011854193e-5,3.473236215303623e-8,0.0013274350277215283,-3.617667618018595e-5,3.487237396855363e-8,0.0013278383205704806,-3.6352045676457e-5,3.4981566469251094e-8,0.0013282725585155749,-3.6465885830951754e-5,3.504952018493835e-8,0.0013287143399232126,-3.651136884131447e-5,3.507202780552796e-8,0.001329139723468503,-3.649166207236073e-5,3.5051459488144146e-8,0.0013295275370495275,-3.6419245769639135e-5,3.499636143139478e-8,0.0013298621741601225,-3.631427873602864e-5,3.492040029054349e-8,0.0013301357987788196,-3.620233676919433e-5,3.484081953074903e-8,0.0013303500182077856,-3.6111625895291846e-5,3.4776475543805855e-8,0.0013305170072328,-3.606960581815073e-5,3.4745462642883064e-8,0.0013306599051258836,-3.609882203418703e-5,3.4762278550856455e-8,0.0013308118536023116,-3.621166286686944e-5,3.483441417239421e-8,0.0013310123518564367,-3.64043217054422e-5,3.495855682409469e-8,0.0013312994223816388,-3.6651762152887505e-5,3.511751481890027e-8,0.0013316973518746693,-3.6907391838432765e-5,3.528018149292224e-8,0.0013322032136629622,-3.711186898684884e-5,3.540737536800615e-8,0.0013327798493111566,-3.721219549322923e-5,3.546437127639159e-8,0.0013333634934342639,-3.718420813249119e-5,3.543571757580381e-8,0.001333886255019829,-3.70450465515009e-5,3.53335093009964e-8,0.0013343019613464686,-3.6846215847581066e-5,3.5192757078025216e-8,0.001334600413137058,-3.6651362298198277e-5,3.505642654975122e-8,0.0013348042208097524,-3.6512872822752915e-5,3.495958564720737e-8,0.0013349544109773996,-3.6458841744971036e-5,3.49205708479965e-8,0.0013350949386154267,-3.649215529746224e-5,3.49404840851344e-8,0.0013352621732775469,-3.659679818886342e-5,3.500770195061645e-8,0.001335480179315456,-3.6746003522191745e-5,3.510363508802379e-8,0.0013357600358690303,-3.6909212409168185e-5,3.520756323936493e-8,0.0013361011544938224,-3.705705068984642e-5,3.52999605336332e-8,0.00133649332519081,-3.7164741980348925e-5,3.536463540591373e-8,0.0013369190829818159,-3.7214510810799346e-5,3.539015342857483e-8,0.0013373563443612583,-3.719721204638616e-5,3.537079341232845e-8,0.0013377813051418917,-3.711323131523201e-5,3.530711046883947e-8,0.0013381715937814552,-3.697254005026054e-5,3.520601101140213e-8,0.0013385094912165925,-3.6793660324817705e-5,3.5080116340020854e-8,0.0013387847813319696,-3.660147627572446e-5,3.494630461274569e-8,0.0013389968351418553,-3.642410292771776e-5,3.482354178926302e-8,0.0013391557003256266,-3.628905404552198e-5,3.473019081800264e-8,0.0013392819820180002,-3.621893946658274e-5,3.468102678374732e-8,0.0013394052631200586,-3.622700347066692e-5,3.468425016446891e-8,0.0013395607383982387,-3.631286700900988e-5,3.473878515860904e-8,0.0013397835600754613,-3.645915330073845e-5,3.483228424044899e-8,0.0013401005623555385,-3.663056453013473e-5,3.494077405219707e-8,0.0013405202232471124,-3.6777887727110934e-5,3.5031461893425745e-8,0.0013410241084409612,-3.684910446392256e-5,3.5070089714356354e-8,0.0013415655317836142,-3.68068037108336e-5,3.503236888286036e-8,0.0013420805713068025,-3.664539114072159e-5,3.491530557749418e-8,0.0013425100358751974,-3.6397470548011556e-5,3.47413920987351e-8,0.00134282186684753,-3.6122771266874264e-5,3.455114282299104e-8,0.0013430210440999052,-3.5884585735838275e-5,3.438718523558038e-8,0.0013431424937006674,-3.5727401868071906e-5,3.427912167202074e-8,0.00134323392387406,-3.5666709476200635e-5,3.423668442759081e-8,0.0013433393957544833,-3.569188452387105e-5,3.425186840423222e-8,0.0013434898472930886,-3.577592172660759e-5,3.430576805004325e-8,0.0013437006458960645,-3.588557734935549e-5,3.4375631883152696e-8,0.0013439733632099559,-3.598872432152733e-5,3.443987682266083e-8,0.0013442990272794215,-3.6058572131738544e-5,3.448082578605249e-8,0.0013446613049089872,-3.6075754726357985e-5,3.44859220020242e-8,0.001345039248616876,-3.6029368037547205e-5,3.444825503332818e-8,0.0013454098213895693,-3.591751673460431e-5,3.436684759254604e-8,0.0013457504724702282,-3.57474829484819e-5,3.424678910825797e-8,0.0013460419605556845,-3.5535332633184876e-5,3.409904369034362e-8,0.0013462713941414768,-3.530453678562293e-5,3.3939575913952353e-8,0.0013464350440412546,-3.5083247688415916e-5,3.3787496601098456e-8,0.001346540218956281,-3.490026072080504e-5,3.366224387151234e-8,0.0013466055506973335,-3.478008498355249e-5,3.358013732940204e-8,0.001346659241019408,-3.4737853074248655e-5,3.355088149022233e-8,0.0013467351263881956,-3.477505002897689e-5,3.3574748237485566e-8,0.0013468668157807983,-3.487707274585662e-5,3.36411293630354e-8,0.0013470805087412794,-3.501350818296307e-5,3.3728992049500143e-8,0.0013473874871725111,-3.5141989537112516e-5,3.3809694862078156e-8,0.0013477779846166242,-3.5216299066590065e-5,3.385250575241212e-8,0.0013482190793279586,-3.5198369687471605e-5,3.3832555330064887e-8,0.001348659613978359,-3.507162618165665e-5,3.3739577083562544e-8,0.001349043468490627,-3.485031268644354e-5,3.358395470384573e-8,0.001349327999366581,-3.4578485620740276e-5,3.3395893343763146e-8,0.0013494994616960665,-3.431622032059404e-5,3.321604676365601e-8,0.001349576900362316,-3.411840812110945e-5,3.3081186820720924e-8,0.0013496024923671088,-3.4016892922365775e-5,3.3012189592066463e-8,0.0013496246279193777,-3.401415154718749e-5,3.300992090644571e-8,0.0013496829179363164,-3.408870967312186e-5,3.305913434321514e-8,0.0013498005419856707,-3.420638364611618e-5,3.313629142245499e-8,0.001349983766265312,-3.433103577998142e-5,3.3216931742549514e-8,0.001350225503188383,-3.443167213616684e-5,3.328041116125517e-8,0.001350509870791549,-3.44857855079198e-5,3.3311987997451824e-8,0.001350816111848709,-3.44802776149318e-5,3.330325655153641e-8,0.0013511215354534733,-3.44113203272646e-5,3.325193674476666e-8,0.0013514038266242718,-3.428394324938091e-5,3.3161588903372553e-8,0.0013516432294084326,-3.41115562702498e-5,3.3041366067246576e-8,0.0013518249947347244,-3.391515061958602e-5,3.29055587983786e-8,0.0013519421489563276,-3.372159161237384e-5,3.277246672853169e-8,0.0013519981162253448,-3.35604192219653e-5,3.2662172488743894e-8,0.0013520082488663807,-3.345899609113347e-5,3.259313778399188e-8,0.0013519991491952143,-3.343655294053388e-5,3.257806735071459e-8,0.0013520049886915973,-3.349849264305731e-5,3.262004101630264e-8,0.0013520609158930905,-3.36328575909331e-5,3.2710241377374956e-8,0.0013521948074782938,-3.3810651240403614e-5,3.2828394204526694e-8,0.0013524194680195325,-3.399070247049815e-5,3.2946301667474426e-8,0.0013527275548078518,-3.412846985252045e-5,3.3033954284171145e-8,0.0013530910516223313,-3.41870260521444e-5,3.306696170857802e-8,0.0013534662186818406,-3.414758958099839e-5,3.303351712767489e-8,0.0013538036921596796,-3.401650121264336e-5,3.293885919569297e-8,0.0013540617630267778,-3.3825695437600704e-5,3.280532715743045e-8,0.0013542189655621978,-3.3625013396523797e-5,3.2666968653528377e-8,0.0013542809896239987,-3.3467679762926974e-5,3.255963827369867e-8,0.0013542783419837156,-3.3394020433318414e-5,3.251003853738814e-8,0.0013542554119995557,-3.342020697923614e-5,3.252828382153754e-8,0.0013542560140103023,-3.3536391035527796e-5,3.2606892142050424e-8,0.0013543116989025482,-3.371353007933651e-5,3.2725642792952345e-8,0.0013544365308802784,-3.391431273365121e-5,3.285910327271554e-8,0.0013546280975285543,-3.410316353858851e-5,3.2983383466057345e-8,0.0013548720539619643,-3.4252552907384106e-5,3.308026489902493e-8,0.001355147353668992,-3.43454908576762e-5,3.313870075252464e-8,0.0013554305468037433,-3.437553330264171e-5,3.315467676927687e-8,0.0013556988011802253,-3.434572357619407e-5,3.313045281129339e-8,0.0013559320038673691,-3.426735815892247e-5,3.30737806614842e-8,0.0013561145343338845,-3.415887769336406e-5,3.299724375590522e-8,0.0013562372346350193,-3.40446430953795e-5,3.291748056072256e-8,0.001356299729968249,-3.395293821719811e-5,3.285379960496967e-8,0.0013563126464800305,-3.39124616274109e-5,3.2825694374099335e-8,0.0013562986345168043,-3.394695718115785e-5,3.284908231937111e-8,0.0013562906901488832,-3.406854808973949e-5,3.2931730931658255e-8,0.0013563265580224901,-3.4271700357362895e-5,3.3069227097465745e-8,0.0013564394803830895,-3.453081024388408e-5,3.3243512234392763e-8,0.001356647830444362,-3.480395690125668e-5,3.342564568063368e-8,0.0013569477158602284,-3.504296952579012e-5,3.358281757335669e-8,0.0013573120584085639,-3.52068525793514e-5,3.368754392194241e-8,0.001357697050412798,-3.5273779767518736e-5,3.3725762172275216e-8,0.0013580538346326509,-3.524742322405932e-5,3.3700952947215904e-8,0.0013583414729187431,-3.515577457801083e-5,3.3633068996217375e-8,0.0013585373183607017,-3.504326814963739e-5,3.3552899090837633e-8,0.0013586421139425234,-3.4958781479045985e-5,3.3493719387707e-8,0.001358678685937704,-3.494290707046618e-5,3.3482624669021657e-8,0.001358684778336174,-3.501803608967189e-5,3.353396129882613e-8,0.001358702322909947,-3.518405715028354e-5,3.36466993389363e-8,0.0013587666406036992,-3.542061521536396e-5,3.380626499920978e-8,0.0013588989123856205,-3.5694495803273485e-5,3.398974496696862e-8,0.001359103663247866,-3.5969025766868755e-5,3.417229612867719e-8,0.0013593708567535968,-3.621226756590788e-5,3.4332592451649465e-8,0.0013596806793210175,-3.640207539916034e-5,3.4456072169122394e-8,0.0013600088338772479,-3.6527817297702786e-5,3.4535941490019846e-8,0.0013603309085686056,-3.6589745925869715e-5,3.4572666368770736e-8,0.0013606253906847028,-3.659727205627579e-5,3.4572817000381455e-8,0.0013608755966453268,-3.656705235731982e-5,3.45478428901892e-8,0.0013610710755603856,-3.652125748003627e-5,3.4512957394544435e-8,0.0013612090115036409,-3.648585481662091e-5,3.448596151433922e-8,0.0013612958461505,-3.648833256815448e-5,3.448560847301663e-8,0.0013613487825353768,-3.655412453139295e-5,3.452905427534737e-8,0.0013613960977975756,-3.6701245140876124e-5,3.4628141465119906e-8,0.0013614745650237811,-3.693358561190437e-5,3.4784884782548805e-8,0.0013616224205170902,-3.7235042204870165e-5,3.4987633233731027e-8,0.001361868091522445,-3.756832421090297e-5,3.521045772248526e-8,0.001362218255945228,-3.788197415238886e-5,3.541808383563176e-8,0.0013626514699812326,-3.812539193249165e-5,3.557619486093644e-8,0.001363122322234058,-3.8266165560665596e-5,3.566324383611881e-8,0.0013635754647547845,-3.830134386399334e-5,3.5678079037798024e-8,0.0013639630780626708,-3.825738313571894e-5,3.563975015298319e-8,0.001364258080357862,-3.817994201829989e-5,3.5580274568062977e-8,0.0013644589434662312,-3.811922202797349e-5,3.5534332460088205e-8,0.0013645865742663128,-3.81166924124298e-5,3.5530027944857735e-8,0.0013646762446455044,-3.819653354824757e-5,3.558310331044814e-8,0.001364767819829093,-3.8362605590993256e-5,3.569514079478911e-8,0.0013648967631197295,-3.8600238344742254e-5,3.585514627803409e-8,0.0013650874946786213,-3.888148752071901e-5,3.60434300221522e-8,0.0013653499642588421,-3.917227000116867e-5,3.62365942886353e-8,0.00136567964200512,-3.943967176457917e-5,3.6412451385441956e-8,0.0013660603709506384,-3.965784039600382e-5,3.65538578644758e-8,0.0013664688889499187,-3.981147629204727e-5,3.665089579529965e-8,0.0013668796761675812,-3.989679821734419e-5,3.6701401260529234e-8,0.0013672690955396569,-3.992052333462929e-5,3.6710241547116054e-8,0.0013676183253096337,-3.9897716306200194e-5,3.668789735721834e-8,0.0013679151464472477,-3.984932666566189e-5,3.664884493646582e-8,0.0013681550099158162,-3.979985343784534e-5,3.660997364210455e-8,0.0013683418187992174,-3.977508572660584e-5,3.658897704031485e-8,0.0013684886345164064,-3.9799531863791056e-5,3.6602481816290366e-8,0.0013686181140462686,-3.989297417404592e-5,3.6663608773571173e-8,0.0013687618136698219,-4.006569078124706e-5,3.677873040014451e-8,0.0013689567976789784,-4.031268759372785e-5,3.6943686509812775e-8,0.0013692379960220952,-4.0608958982055686e-5,3.714077674900414e-8,0.0013696263976024602,-4.0909688045915914e-5,3.733908018595111e-8,0.001370116858706226,-4.115943735403728e-5,3.7500783826076915e-8,0.0013706730192843547,-4.131030892561659e-5,3.759353716751259e-8,0.0013712357655380756,-4.1341651354543865e-5,3.760387092264407e-8,0.001371743681640421,-4.1269733274189294e-5,3.754378869036469e-8,0.0013721549303818486,-4.114093707006044e-5,3.744600118910848e-8,0.0013724590038156602,-4.1013018078885606e-5,3.7350822712677154e-8,0.0013726746583584263,-4.0935524588789915e-5,3.7292433498253575e-8,0.0013728388253621247,-4.093780361015353e-5,3.7290504667023286e-8,0.0013729936653109317,-4.102619609853645e-5,3.7348411588796894e-8,0.001373176359782013,-4.118762655376452e-5,3.745605098886693e-8,0.0013734130133102524,-4.139607981819826e-5,3.759467361926248e-8,0.0013737161837680623,-4.161950138762874e-5,3.7741869452387925e-8,0.0013740850229568907,-4.182594710895547e-5,3.787581954548767e-8,0.0013745072421834012,-4.198858396882682e-5,3.797857502949695e-8,0.0013749623837124778,-4.208926335925624e-5,3.803827857381001e-8,0.0013754258276343432,-4.2120407717748035e-5,3.8050265155743136e-8,0.001375872892622539,-4.2085198307853355e-5,3.801710263943968e-8,0.001376282469925798,-4.199628974034897e-5,3.7947728565110885e-8,0.0013766397572874227,-4.187345120748918e-5,3.7855899666402347e-8,0.0013769379150291574,-4.1740698791756187e-5,3.775826686919178e-8,0.0013771788132807986,-4.162339046388268e-5,3.76723488673647e-8,0.0013773731537905993,-4.154540420571933e-5,3.7614493141915814e-8,0.0013775401104706387,-4.1526264618012495e-5,3.759779228022895e-8,0.0013777064032593797,-4.157796597586423e-5,3.762987031680914e-8,0.001377904267471179,-4.170125910920436e-5,3.771044184184231e-8,0.0013781672206391812,-4.188175848661827e-5,3.78288749397831e-8,0.00137852256618738,-4.2087548328483725e-5,3.7962807628071696e-8,0.0013789809169083302,-4.2271422389212076e-5,3.807982991820045e-8,0.0013795260580142504,-4.238109909941585e-5,3.8144447194615674e-8,0.0013801120459359865,-4.237742637005507e-5,3.813041208095439e-8,0.0013806741263976,-4.225334424947585e-5,3.8033625865393774e-8,0.0013811520519300435,-4.2041187655938626e-5,3.787713159675286e-8,0.0013815136370865081,-4.180098864064637e-5,3.7703002181980215e-8,0.0013817644462791729,-4.159593522969593e-5,3.755522195444356e-8,0.0013819398040921613,-4.146995772891535e-5,3.7463973571636786e-8,0.0013820873195676013,-4.143814444971667e-5,3.74389528223684e-8,0.0013822508297504756,-4.1489856674521627e-5,3.747173694159376e-8,0.0013824612018183504,-4.159808318168086e-5,3.7542636676095634e-8,0.001382733677333939,-4.172918004101423e-5,3.76277743218216e-8,0.0013830692173663335,-4.185025959459586e-5,3.7704340994960595e-8,0.0013834575067367659,-4.193387127219509e-5,3.7753754368892116e-8,0.00138388030970731,-4.196070426809343e-5,3.776329962305264e-8,0.0013843148322871465,-4.1921028124019695e-5,3.7726878625517075e-8,0.0013847370777409624,-4.181512286564115e-5,3.7645150528966244e-8,0.0013851250900450299,-4.165273271465304e-5,3.752512539985943e-8,0.0013854619058602147,-4.145156074913463e-5,3.737919056711855e-8,0.0013857379458243554,-4.123483834305219e-5,3.722351350041851e-8,0.0013859525067954938,-4.1028195536964666e-5,3.707590164867331e-8,0.001386114186987945,-4.08562465832129e-5,3.6953376917189425e-8,0.0013862402914967716,-4.0739217947163935e-5,3.6869727504020365e-8,0.0013863552819137583,-4.068981038566365e-5,3.683325080139284e-8,0.0013864882812566375,-4.071045407698197e-5,3.684488191793497e-8,0.0013866695093654466,-4.0791084850707254e-5,3.689683217641563e-8,0.0013869252570760705,-4.0907845082072896e-5,3.6971967000828836e-8,0.0013872711358115565,-4.102392437415202e-5,3.7044638632372434e-8,0.0013877044103900269,-4.10944872644231e-5,3.708418444800822e-8,0.0013881982022425643,-4.107730918647336e-5,3.70621554354846e-8,0.0013887024507251455,-4.094823201885367e-5,3.696274535980045e-8,0.0013891560996636264,-4.071545369969397e-5,3.6792453536201996e-8,0.0013895088976246747,-4.042264374578624e-5,3.658214577314118e-8,0.0013897421255975183,-4.013475017712353e-5,3.637717862062872e-8,0.0013898751358086116,-3.99123909946508e-5,3.621955119697095e-8,0.0013899539157585976,-3.97898760399196e-5,3.613256495667892e-8,0.0013900305358917047,-3.976825529054825e-5,3.611605869920365e-8,0.0013901459897183817,-3.982280938552323e-5,3.615187595826213e-8,0.001390322583927315,-3.9916483926864295e-5,3.621354110721034e-8,0.0013905644815372748,-4.00116379826972e-5,3.627465691377648e-8,0.001390862196549241,-4.007719389834769e-5,3.6313891042696686e-8,0.0013911977272878053,-4.009168854677753e-5,3.631692015857626e-8,0.001391548803289706,-4.004388985804637e-5,3.627660019245447e-8,0.0013918921108757572,-3.9932383942914886e-5,3.619246897144912e-8,0.001392205925877442,-3.976474847087717e-5,3.607009012040189e-8,0.001392472481833256,-3.9556371616133894e-5,3.592027726302581e-8,0.0013926801795685095,-3.932876436594814e-5,3.5758025153182566e-8,0.0013928255206943443,-3.910712261197275e-5,3.5600891948591315e-8,0.0013929143574365078,-3.891704325009154e-5,3.546670424830646e-8,0.0013929619662561058,-3.878067864465175e-5,3.5370785800753655e-8,0.0013929916634681091,-3.8712865216251155e-5,3.5323145245009847e-8,0.0013930319212074739,-3.871783709874851e-5,3.532613964822986e-8,0.0013931121650108214,-3.878718027241075e-5,3.537313617747967e-8,0.0013932576761824852,-3.889956926863257e-5,3.544855030305457e-8,0.0013934841205019005,-3.902264562679513e-5,3.5529430896809445e-8,0.0013937923389470475,-3.911747336501126e-5,3.558876680690813e-8,0.0013941645951322254,-3.9146037401005566e-5,3.560072677257016e-8,0.0013945643433518572,-3.908149684330105e-5,3.554760976148454e-8,0.0013949419740809537,-3.8919080012482775e-5,3.54271205202408e-8,0.0013952477277678645,-3.868301987054237e-5,3.525691407233159e-8,0.001395448996586115,-3.842366805801884e-5,3.507242835859129e-8,0.0013955441184541493,-3.8202198743737096e-5,3.491619511363628e-8,0.001395563841894682,-3.806835542580855e-5,3.482237329132881e-8,0.0013955584098649994,-3.804297850225461e-5,3.4804676331452736e-8,0.0013955778157443777,-3.8114400232592614e-5,3.4854056156277526e-8,0.0013956561830292,-3.8248114880291454e-5,3.4945709067619815e-8,0.0013958061096767589,-3.840169374270801e-5,3.504970300817749e-8,0.001396021525706078,-3.853707477095065e-5,3.513962678304474e-8,0.0013962843041433993,-3.8627076516026636e-5,3.5197026880596114e-8,0.0013965707576988314,-3.865699570879773e-5,3.521229439063478e-8,0.0013968563725718281,-3.8623536025609064e-5,3.5183688298750485e-8,0.0013971187911648243,-3.8532907044979155e-5,3.511587978476073e-8,0.001397339741657006,-3.8398963032655006e-5,3.501866053362015e-8,0.0013975065707011172,-3.824149273866268e-5,3.490584928664414e-8,0.0013976137214529206,-3.808437691328442e-5,3.47941124837482e-8,0.0013976641337538325,-3.795316224892923e-5,3.470130668547223e-8,0.0013976701313359334,-3.787171824233571e-5,3.4644083108582145e-8,0.0013976530803277948,-3.785809777299285e-5,3.4634877223998395e-8,0.0013976411745630901,-3.792027581554576e-5,3.467883721971932e-8,0.0013976651171231898,-3.8052873706371765e-5,3.477154552196402e-8,0.001397752138213877,-3.8236151892252456e-5,3.489846164729002e-8,0.0013979195447783234,-3.8438219455829296e-5,3.5036710195449224e-8,0.0013981694399458889,-3.862056128580171e-5,3.515918741519236e-8,0.001398486147697437,-3.874608834560939e-5,3.524031957876636e-8,0.0013988374531938928,-3.878827062153085e-5,3.526239348503685e-8,0.001399180229735303,-3.873936055813441e-5,3.5221074317918304e-8,0.0013994701906148062,-3.861521125226919e-5,3.5128449985403174e-8,0.0013996740998213511,-3.845410205611195e-5,3.501191367250836e-8,0.0013997808979702491,-3.830798334251088e-5,3.490787420794603e-8,0.0013998068841861602,-3.822734029112152e-5,3.485117466616385e-8,0.0013997912690781416,-3.824484084870901e-5,3.486381492238321e-8,0.001399782875381604,-3.836511152067367e-5,3.494805808686753e-8,0.0013998239209614296,-3.856545057793629e-5,3.508720829151086e-8,0.0013999383452429608,-3.880618248898522e-5,3.5253069111989446e-8,0.001400128687982977,-3.9044513556967366e-5,3.5415721677933286e-8,0.0014003803140351105,-3.924559928935504e-5,3.555119946742358e-8,0.0014006688652410718,-3.938796884383357e-5,3.564509648433299e-8,0.0014009672459019793,-3.946401158692379e-5,3.569268613464028e-8,0.0014012504631784645,-3.9477773714654874e-5,3.5697219627372335e-8,0.0014014983378744935,-3.9442025791079544e-5,3.566783351875651e-8,0.0014016968485090753,-3.937562123845998e-5,3.561776933093947e-8,0.0014018389311078144,-3.930135009856592e-5,3.556297869454529e-8,0.0014019252611881805,-3.924395351028988e-5,3.552079791655267e-8,0.0014019650674987158,-3.922771502573723e-5,3.550823547292913e-8,0.0014019765254487317,-3.927316184126799e-5,3.5539561321083074e-8,0.0014019859072127623,-3.939286678870541e-5,3.562326047613582e-8,0.0014020245683540645,-3.9587049026522654e-5,3.57589225433063e-8,0.0014021232793080098,-3.984050350448809e-5,3.5935183683834784e-8,0.0014023045619820167,-4.0122876368864325e-5,3.613011664758931e-8,0.001402575188517273,-4.0393711578013267e-5,3.631499515737404e-8,0.0014029218430838034,-4.0611873294491905e-5,3.6461068646827724e-8,0.0014033123169753285,-4.074679499372091e-5,3.654749216388009e-8,0.0014037026283073234,-4.078780138232347e-5,3.6567752091281347e-8,0.0014040481592061073,-4.074819558912667e-5,3.653228462529379e-8,0.0014043154629272954,-4.0662606574106574e-5,3.646629348386904e-8,0.0014044912857379814,-4.057825582912705e-5,3.640333363998543e-8,0.001404586199481951,-4.054249152292174e-5,3.6376420565956945E-08,0.0014046315916832204,-4.059001163717845e-5,3.640913312668297e-8,0.0014046706036646942,-4.073363552405963e-5,3.650939734711049e-8,0.0014047457709805932,-4.096173679938644e-5,3.6668033280187714e-8,0.0014048875975041877,-4.1243138982900314e-5,3.686248986601918e-8,0.0014051079231287907,-4.153727189609017e-5,3.706412048229687e-8,0.0014053996891925462,-4.180543919169627e-5,3.724605723962737e-8,0.0014057418851642401,-4.201928520354164e-5,3.7388982979293707e-8,0.0014061067325829505,-4.216459310863377e-5,3.748357386154352e-8,0.0014064662792454632,-4.2240904034702006e-5,3.75300453375767e-8,0.001406796935332708,-4.225873123662221e-5,3.753610982343233e-8,0.0014070818711074016,-4.223609237701761e-5,3.7514565091294765e-8,0.0014073119283782146,-4.219538055815336e-5,3.748118402098386e-8,0.0014074858454996213,-4.216086923191445e-5,3.7453036902211475e-8,0.0014076103837110468,-4.215657537536124e-5,3.744699428145286e-8,0.001407700482867457,-4.2203893189522455e-5,3.7477990165415446e-8,0.0014077790394113716,-4.231848459825597e-5,3.755673767593618e-8,0.0014078754676845311,-4.250633958081457e-5,3.768691664581742e-8,0.0014080219967517041,-4.275967059593405e-5,3.7862358742113034e-8,0.0014082470158322466,-4.305438268393406e-5,3.8065444478173206e-8,0.0014085662107764442,-4.3351709842482535e-5,3.826846229183665e-8,0.0014089744868300872,-4.360598119993927e-5,3.843922404533621e-8,0.0014094431536157055,-4.377765422595991e-5,3.8550288702544655e-8,0.0014099256069116926,-4.384699363489847e-5,3.8588547143931624e-8,0.001410370621965012,-4.3822017616625005e-5,3.8560684416864574e-8,0.0014107379906385569,-4.373660777036701e-5,3.8491618344667396e-8,0.001411009964557524,-4.363969764258664e-5,3.841657689536917e-8,0.0014111946000197385,-4.3580512043394426e-5,3.8370420063415034e-8,0.0014113211867777273,-4.359545857298468e-5,3.837829828573306e-8,0.0014114306461733982,-4.3700232323209964e-5,3.8450239351540594e-8,0.001411564408632792,-4.388818610139138e-5,3.858035161105931e-8,0.0014117547305501578,-4.4134232812283986e-5,3.874997182226532e-8,0.0014120184750084578,-4.440248212920195e-5,3.8933324817321076e-8,0.0014123552829552618,-4.4655279826922307e-5,3.910396017989396e-8,0.0014127498958597165,-4.4861304314633954e-5,3.924032595412258e-8,0.0014131773611926266,-4.500092974261656e-5,3.932930729967511e-8,0.0014136092759243295,-4.5068124233728125e-5,3.9367328715653395e-8,0.001414019350464863,-4.50693223258045e-5,3.9359414083827914e-8,0.001414387280570928,-4.5020436860496765e-5,3.931705416718012e-8,0.0014147007530842784,-4.4943253683445574e-5,3.925572649703533e-8,0.0014149560140847756,-4.486209219785531e-5,3.919262101512192e-8,0.0014151576551419522,-4.4801074437002196e-5,3.914474595500056e-8,0.001415318136201093,-4.478183557739158e-5,3.912726793698288e-8,0.0014154572003696824,-4.482122856836196e-5,3.9151802563573214e-8,0.0014156009001108517,-4.492859041749618e-5,3.9224425325897754e-8,0.0014157795097893533,-4.5102449376290346e-5,3.93433918158505e-8,0.0014160233109937125,-4.532727500167816e-5,3.94970098303655e-8,0.0014163555567608258,-4.557201265798743e-5,3.96628298780135e-8,0.0014167833913719533,-4.579313198730899e-5,3.980996986060289e-8,0.0014172901012929602,-4.594441145983626e-5,3.990606550755613e-8,0.0014178341748209257,-4.599235373069634e-5,3.9928088314464635e-8,0.0014183591944381855,-4.593096157451421e-5,3.987268351609923e-8,0.0014188124373602864,-4.5787093578951006e-5,3.975984439233655e-8,0.001419163393834719,-4.561185313227637e-5,3.9626636645945325e-8,0.0014194126920989531,-4.5462152420401115e-5,3.951386849890556e-8,0.0014195882504336435,-4.5382171232237414e-5,3.945270542300551e-8,0.0014197329253106763,-4.539256577330823e-5,3.9456983564371725e-8,0.0014198906236090039,-4.548923231726588e-5,3.952257759491028e-8,0.001420095771986858,-4.5648857684138e-5,3.963175850856077e-8,0.0014203677362581296,-4.5837385340540104e-5,3.975959325884974e-8,0.0014207096597213865,-4.601850510949015e-5,3.988016811818957e-8,0.0014211104809135435,-4.616063637726872e-5,3.9971495331700885e-8,0.0014215489510336552,-4.624177480943514e-5,4.001871904464167e-8,0.0014219986351035052,-4.6251956591088596e-5,4.0015574979438314e-8,0.0014224329376801295,-4.619339291718908e-5,3.996426457805398e-8,0.001422829353219783,-4.607871301987465e-5,3.9874120697775513e-8,0.0014231724530763103,-4.592798447099774e-5,3.9759530620922137e-8,0.0014234554326269762,-4.57652124151591e-5,3.9637548056577846e-8,0.0014236803642659415,-4.561496504861187e-5,3.952556952558051e-8,0.0014238575838519927,-4.5499512314608026e-5,3.943929979142778e-8,0.0014240046262760098,-4.543644346492547e-5,3.9390987574810174e-8,0.0014241448474782898,-4.543650107068099e-5,3.938780661528568e-8,0.0014243055769598875,-4.55014025622324e-5,3.943030334635427e-8,0.0014245153230789524,-4.562160361393435e-5,3.951093333991738e-8,0.0014247992679477627,-4.5774516750711624e-5,3.9613026810845106e-8,0.0014251725776000539,-4.592471607435623e-5,3.97111673534239e-8,0.0014256324150758487,-4.6028499832087334e-5,3.9774539919194244e-8,0.0014261519278773282,-4.604466942670059e-5,3.97745103455597e-8,0.0014266816106519023,-4.595018557846401e-5,3.9695557904295956e-8,0.0014271621257017225,-4.575388705227969e-5,3.9544859389287236e-8,0.0014275457311608392,-4.549845458283125e-5,3.935358890200528e-8,0.001427815306107102,-4.524605002091276e-5,3.916657774531871e-8,0.0014279894860666584,-4.505443172790813e-5,3.9025101307670685e-8,0.001428111845943068,-4.4957151971777735e-5,3.895259664595886e-8,0.0014282324457039898,-4.4956997998443266e-5,3.8950037799349965e-8,0.0014283921152246375,-4.5031813061035744e-5,3.9000405529012745e-8,0.001428614503799861,-4.514594302658012e-5,3.907728510090153e-8,0.0014289052039444517,-4.526123102336767e-5,3.915303573565249e-8,0.0014292549887714064,-4.5344780633131716e-5,3.9204408290150735e-8,0.0014296445351593818,-4.537328317671618e-5,3.921546485399938e-8,0.0014300491927835234,-4.533479827914965e-5,3.917854634066426e-8,0.0014304433224275918,-4.522881772940035e-5,3.909403114722347e-8,0.001430804033341362,-4.5065037434135e-5,3.896929881664266e-8,0.001431114134170649,-4.486114602985143e-5,3.8817147411994384e-8,0.001431364173594574,-4.463995090524377e-5,3.8653843304944497e-8,0.001431553477665542,-4.4426110315797016e-5,3.8496905092415785e-8,0.0014316900992935974,-4.4242818950062476e-5,3.8362786478080485e-8,0.0014317897941557708,-4.410886020323244e-5,3.8264727869013804e-8,0.0014318743099349634,-4.403620954390451e-5,3.8210949087253464e-8,0.0014319691565770345,-4.402814004867514e-5,3.8203232744223565e-8,0.0014321008288139233,-4.407781633250867e-5,3.823596615193787e-8,0.0014322933132242908,-4.4167493057523215e-5,3.829575167824442e-8,0.0014325635783059797,-4.426874231918825e-5,3.8361828243839776e-8,0.0014329159984174987,-4.4344806916418694e-5,3.8407962919808685e-8,0.0014333367610415697,-4.435666435111393e-5,3.840682171688473e-8,0.0014337910720800594,-4.4273697098380086e-5,3.833742616530986e-8,0.0014342273731959762,-4.408716016137151e-5,3.819450047412489e-8,0.0014345914434781843,-4.382020957560829e-5,3.79954130449742e-8,0.0014348470970175808,-4.352582193219588e-5,3.7778581483576264e-8,0.0014349925697684392,-4.326902649537983e-5,3.759070188014273e-8,0.0014350613489107376,-4.3101343714786775e-5,3.746837044387351e-8,0.0014351064354383872,-4.304237393549526e-5,3.74248666578265e-8,0.0014351786308693037,-4.3077895175319485e-5,3.744893988723652e-8,0.001435311120145527,-4.3171511316731736e-5,3.751349253798805e-8,0.001435514983638263,-4.3280124103506245e-5,3.7587031889058094e-8,0.0014357827442222175,-4.33657644870084e-5,3.764234602726513e-8,0.0014360950176135047,-4.340168328161423e-5,3.766080981694061e-8,0.0014364268982985113,-4.3373918763642415e-5,3.7633249662091946e-8,0.0014367527843651797,-4.328039694830718e-5,3.755898187846603e-8,0.0014370497401466067,-4.312909776010434e-5,3.7444270646673757e-8,0.0014372999251545048,-4.29358844997081e-5,3.730070931627148e-8,0.0014374923724849156,-4.2722063680720855e-5,3.71435536648068e-8,0.0014376241618117747,-4.251167408721932e-5,3.6989920136254e-8,0.0014377009262072043,-4.2328490779715396e-5,3.6856738666764285e-8,0.0014377364788064743,-4.2192837572660376e-5,3.675846863045126e-8,0.0014377513692969844,-4.2118585485798534e-5,3.6704856042820815e-8,0.001437770451447845,-4.2110786884528316e-5,3.669912913273134e-8,0.0014378196981251372,-4.21642244916051e-5,3.6736925449717485e-8,0.0014379224790505686,-4.226308798281828e-5,3.680616377621557e-8,0.0014380955334853483,-4.238200534606743e-5,3.6888012155040675e-8,0.0014383449114242503,-4.2488670304332985e-5,3.6959034935254815e-8,0.0014386623333420816,-4.254848883471872e-5,3.69946922542799e-8,0.001439023053413255,-4.253172746547254e-5,3.6974437223496824e-8,0.00143938722951177,-4.242284653717159e-5,3.688818009449981e-8,0.001439707137154768,-4.222971419566938e-5,3.674257304428873e-8,0.0014399409659193428,-4.198781671588203e-5,3.656376280190634e-8,0.001440069459918548,-4.1753765044836575e-5,3.6392606119182155e-8,0.001440106597622063,-4.158679104094984e-5,3.6271381464065536e-8,0.0014400959148385573,-4.1525832600832144e-5,3.622739349459521e-8,0.0014400927711180566,-4.15752438414865e-5,3.626283531393904e-8,0.0014401429180055368,-4.170699406909172e-5,3.635659541946491e-8,0.0014402691460889587,-4.1875615871244114e-5,3.6475292110604114e-8,0.0014404700687453444,-4.20353985030447e-5,3.658586574851633e-8,0.0014407270427852904,-4.215187194132588e-5,3.666388371140973e-8,0.001441013130719309,-4.220595818615349e-5,3.6696359973947585e-8,0.0014413003263376396,-4.219308157288958e-5,3.6680826446642095e-8,0.001441564033217401,-4.212012924590863e-5,3.662287749152233e-8,0.0014417853809006085,-4.2002181831792545e-5,3.653368462176073e-8,0.0014419523959797523,-4.185969337729201e-5,3.642799751790315e-8,0.0014420606999227586,-4.171600435622608e-5,3.632248964966348e-8,0.0014421139198980406,-4.159487387718513e-5,3.623411674528073e-8,0.0014421237028206181,-4.151777055500738e-5,3.6178218018737015e-8,0.0014421089934266833,-4.150085444996026e-5,3.6166287820635e-8,0.0014420941576250958,-4.155198804294638e-5,3.620370937664565e-8,0.0014421057972856064,-4.166845338362705e-5,3.628802792965738e-8,0.0014421685219863218,-4.183607922736202e-5,3.6408352528175015e-8,0.0014423002757643633,-4.203032172674412e-5,3.65463031098458e-8,0.0014425080608542666,-4.22195472333642e-5,3.667862994977846e-8,0.001442784991572208,-4.237031728117714e-5,3.6781252110025435e-8,0.0014431095090614871,-4.245409762385614e-5,3.6834180674033206e-8,0.0014434474962299161,-4.245454297942441e-5,3.682664986919906e-8,0.0014437579597159325,-4.237398291446551e-5,3.676149381934002e-8,0.0014440024218877274,-4.2236870836770005e-5,3.665727124065034e-8,0.0014441566692500326,-4.208735480065546e-5,3.654623465415403e-8,0.0014442210777839057,-4.197894413823149e-5,3.646678154580181e-8,0.0014442238639085503,-4.1957657259825583e-5,3.6451395741224957e-8,0.001444213177633174,-4.204514955028633e-5,3.6514704020701185e-8,0.0014442400148779796,-4.2230738483301597e-5,3.664799820937176e-8,0.001444340327612597,-4.2477002171248194e-5,3.6823531208232587E-08,0.0014445252831045401,-4.273521305190709e-5,3.700583739358809e-8,0.001444782633063003,-4.296167146369278e-5,3.716358146341754e-8,0.0014450854085491184,-4.312785702347721e-5,3.727679374827056e-8,0.001445401951167018,-4.322288651739154e-5,3.733842340885731e-8,0.001445703365975638,-4.3250813436262515e-5,3.735212787958807e-8,0.0014459674945798882,-4.32260760357198e-5,3.73288004390637e-8,0.001446180300220262,-4.316923443732345e-5,3.728344873718978e-8,0.0014463359582635035,-4.310370309668452e-5,3.723292189167686e-8,0.0014464365687389773,-4.305328850624032e-5,3.719426687269874e-8,0.0014464918465855834,-4.304002473972689e-5,3.718325365119318e-8,0.0014465186728166825,-4.308181819575483e-5,3.721266618215463e-8,0.0014465400355141305,-4.3189687170519945e-5,3.7290221487352145e-8,0.0014465827531187007,-4.336489798552785e-5,3.741640893771544e-8,0.0014466736056468219,-4.3596841039752464e-5,3.758294229173246e-8,0.0014468340922974643,-4.386279199894946e-5,3.77726972029659e-8,0.0014470748301542683,-4.413057535440872e-5,3.7961848327240886e-8,0.0014473912922101449,-4.4364408720834884e-5,3.812432810558878e-8,0.0014477626657607462,-4.453297875666711e-5,3.8237820661230854e-8,0.001448154854433801,-4.461771816489685e-5,3.828974037644961e-8,0.0014485274030723117,-4.461890202134063e-5,3.8281447589952853e-8,0.0014488429638407447,-4.455758179245559e-5,3.822931479912126e-8,0.001449077126957026,-4.447225398864734e-5,3.816195570741389e-8,0.001449226023125882,-4.441032020245069e-5,3.8113794316332475e-8,0.0014493090755652274,-4.441579020404974e-5,3.8116125833806295e-8,0.001449364947092221,-4.451633994090186e-5,3.818794133287042e-8,0.0014494407057380814,-4.471426477041007e-5,3.832972073058778e-8,0.0014495774144823556,-4.498555350055323e-5,3.8523117853081915e-8,0.0014497978450341655,-4.5288121537755064e-5,3.873716648698755e-8,0.001450101396289851,-4.557563857325436e-5,3.89383696430426e-8,0.0014504674700356046,-4.581077178440381e-5,3.9100206897818924e-8,0.001450864329811925,-4.59729347684755e-5,3.920855010190983e-8,0.001451258767715561,-4.605934108050844e-5,3.92621859121156e-8,0.001451623153623208,-4.608136827590191e-5,3.926997648012008e-8,0.0014519388956488832,-4.605924560935e-5,3.9246910208725725e-8,0.0014521971379447417,-4.6017229535460886e-5,3.9210629613232204e-8,0.0014523980389310705,-4.5980057149587095e-5,3.917896492879653e-8,0.0014525496603379358,-4.597051953376308e-5,3.9168276920308264e-8,0.0014526669574361673,-4.600759430739576e-5,3.9192135619664394e-8,0.0014527708281076104,-4.610453020282936e-5,3.9259884840940946e-8,0.0014528867245701964,-4.626654176388048e-5,3.9374895639106777e-8,0.0014530421048613528,-4.648831416903428e-5,3.9532731387203335e-8,0.0014532621468013511,-4.6752190201937326e-5,3.971990995005398e-8,0.0014535637916342824,-4.7028515568426274e-5,3.9914326393312656e-8,0.0014539493947660874,-4.727971460801391e-5,4.008841173852169e-8,0.0014544025921314587,-4.7468597955633217e-5,4.021531201044032e-8,0.0014548892922685616,-4.7569142347220584e-5,4.027675511472258e-8,0.0014553650558184153,-4.7575810436338764e-5,4.026972977663235e-8,0.0014557870851216873,-4.750717265528638e-5,4.020889782847651e-8,0.0014561265502366723,-4.7401772022354576e-5,4.012327246018735e-8,0.0014563767220609832,-4.730757137609055e-5,4.004821937536077e-8,0.00145655435776092,-4.726880621379515e-5,4.001569186801683e-8,0.001456694463586125,-4.73144514864003e-5,4.004587627083997e-8,0.0014568404770532691,-4.7451327393656046e-5,4.0142460997834714e-8,0.0014570327641523222,-4.7663290283813975e-5,4.029246947753112e-8,0.001457298519145466,-4.7916441311999795e-5,4.047043105356473e-8,0.0014576457793189451,-4.816871716330359e-5,4.064555627563837e-8,0.0014580630692166065,-4.8380870254886153e-5,4.07896946312839e-8,0.0014585242916217804,-4.85254475628263e-5,4.0883660976549706e-8,0.0014589966823086494,-4.859135992178545e-5,4.092028278391199e-8,0.0014594488895383127,-4.8583561201735886e-5,4.0903922552317477e-8,0.0014598568660654338,-4.851917902858856e-5,4.084752107398645e-8,0.001460206718017994,-4.8422238333548e-5,4.0768741953613706e-8,0.0014604949812930131,-4.831876578154884e-5,4.068648768877478e-8,0.0014607274013576004,-4.823314160900414e-5,4.0618350180221016e-8,0.0014609172150457537,-4.8185712318530414e-5,4.057893429465176e-8,0.001461083502746424,-4.8191179258434105E-05,4.0578670798416085e-8,0.001461249671904525,-4.82571706133708e-5,4.0622715345642995e-8,0.001461441693727446,-4.838261929000545e-5,4.07097296081658e-8,0.0014616854233344243,-4.8556014057686534e-5,4.083066061163576e-8,0.0014620023267894015,-4.8754249269082786e-5,4.0968058990523775e-8,0.0014624034953483796,-4.894358809285292e-5,4.109698020827211e-8,0.0014628831941533296,-4.908464338861261e-5,4.118875936509696e-8,0.0014634150433660768,-4.914226299762998e-5,4.121824393937142e-8,0.0014639548020531532,-4.9098224861191336e-5,4.117296927439143e-8,0.001464451637979818,-4.8961091183785824e-5,4.106020733296679e-8,0.0014648646915946838,-4.8766820370606e-5,4.090722801199529e-8,0.0014651772883869003,-4.8568009313809076e-5,4.075319349404685e-8,0.0014654017214941388,-4.8416426777365386e-5,4.063612262558724e-8,0.0014655731149098806,-4.834715390556542e-5,4.05811408271586e-8,0.0014657366598345033,-4.8370472978448067e-5,4.0594648027202523e-8,0.0014659342958094506,-4.847253437725393e-5,4.066516335293664e-8,0.0014661950114605521,-4.862215666828612e-5,4.076876008564538e-8,0.0014665301910791108,-4.8780249807602064e-5,4.0876316291687736e-8,0.0014669336173157724,-4.8909088442915184e-5,4.096041061837196e-8,0.0014673849869394323,-4.89797010783182e-5,4.10005813588427e-8,0.0014678556191269404,-4.8976435201010984e-5,4.0986359543432826e-8,0.0014683149714162325,-4.889830880085964e-5,4.091793502517985e-8,0.0014687365529222206,-4.875735290426732e-5,4.080472681276175e-8,0.0014691021142846357,-4.857481423921316e-5,4.0662543710692137e-8,0.0014694036337962362,-4.8376450354823765e-5,4.0510213167388694e-8,0.0014696432745798936,-4.8188046898087444e-5,4.0366429937764576e-8,0.0014698319277800106,-4.803190530328035e-5,4.0247286006004545e-8,0.0014699871102827962,-4.7924526915939426e-5,4.0164595796703556e-8,0.0014701307848855516,-4.787522027490336e-5,4.012482396092963e-8,0.0014702872622128149,-4.788517195205734e-5,4.012834089633514e-8,0.0014704809975428358,-4.794666693736669e-5,4.0168855709075365e-8,0.0014707338344027386,-4.804244009905834e-5,4.0233062784634995e-8,0.0014710611213139102,-4.814566107532364e-5,4.030084085232558e-8,0.0014714665413726273,-4.822181569590968e-5,4.034683134470572e-8,0.001471936732554558,-4.823419676772928e-5,4.0344537351810816e-8,0.0014724385787785134,-4.815393883152968e-5,4.02735824939934e-8,0.0014729232921461939,-4.7972708991935915e-5,4.012881131104992e-8,0.001473339733380658,-4.771194684085152e-5,3.99268721108642e-8,0.0014736534482333627,-4.7420811459529796e-5,3.97045678271898e-8,0.0014738614631978186,-4.716016424666695e-5,3.9506949528936975e-8,0.0014739933492919856,-4.697982067329245e-5,3.937043540172194e-8,0.0014740979744279096,-4.690167112469379e-5,3.931032980142313e-8,0.0014742246024554207,-4.691644256644111e-5,3.9318604552850936e-8,0.0014744082651071803,-4.69922299640802e-5,3.9370563974310175e-8,0.0014746637140043946,-4.708756851895923e-5,3.943489870131204e-8,0.0014749866046875014,-4.7162958123676244e-5,3.948243157993727e-8,0.001475358543065385,-4.71883294842356e-5,3.949159654624633e-8,0.001475753210166725,-4.714652817698946e-5,3.945074236392933e-8,0.001476142078096254,-4.7033888847950614e-5,3.9358189832320374e-8,0.0014764992123982724,-4.685887934392134e-5,3.9220928510260014e-8,0.0014768049713061416,-4.663938791887539e-5,3.905248086942313e-8,0.001477048391317066,-4.639911917690382e-5,3.8870289051615004e-8,0.0014772281442441146,-4.61636413222774e-5,3.86929540003015e-8,0.0014773521218631534,-4.595660324837137e-5,3.8537604231317574e-8,0.0014774358574483667,-4.579659133441228e-5,3.841765492707048e-8,0.0014775001956065402,-4.569496823083304e-5,3.8341186816552856e-8,0.0014775686820781154,-4.565470129067433e-5,3.830999686167372e-8,0.0014776649243166784,-4.566994456347111e-5,3.8319233095593914e-8,0.0014778099359220231,-4.5726192560117234e-5,3.83575570353092e-8,0.0014780193244124584,-4.580097117160524e-5,3.840782891730723e-8,0.0014783000450939625,-4.5865328797617776e-5,3.8448445201550915e-8,0.0014786467079729625,-4.588696439857752e-5,3.845582251437362e-8,0.0014790384080720245,-4.583611242343526e-5,3.840873944588172e-8,0.0014794383527260398,-4.56945594107753e-5,3.82947864626867e-8,0.001479799398450005,-4.5465999161076066e-5,3.811769435150879e-8,0.0014800774121277783,-4.518250806512075e-5,3.790185132520664e-8,0.0014802492942168032,-4.489995809258601e-5,3.768879845012064e-8,0.0014803258879004637,-4.467961171000656e-5,3.7523621216932424e-8,0.0014803496588216847,-4.456364916372832e-5,3.7436882425543227E-08,0.0014803767789849922,-4.455914717389837e-5,3.743285124826617e-8,0.00148045471663273,-4.463944669785187e-5,3.749072374826842e-8,0.0014806079903739232,-4.4759080332929866e-5,3.757599995374444e-8,0.0014808363575325631,-4.4871298219932226e-5,3.7653765328709984e-8,0.0014811213748755097,-4.49400791113898e-5,3.7697698950566665e-8,0.0014814353063795221,-4.494494148911797e-5,3.769349125262831e-8,0.0014817486607833878,-4.488064489949951e-5,3.7638296039217246e-8,0.0014820352591590176,-4.475444899156155e-5,3.75383511170801e-8,0.001482275222988769,-4.458271568201399e-5,3.740624045556785e-8,0.0014824566343186552,-4.438752806725547e-5,3.7258364186440963e-8,0.0014825762933425046,-4.41933973514123e-5,3.711263205430016e-8,0.0014826396781233982,-4.402407385189993e-5,3.698628868785702e-8,0.0014826601038704105,-4.3899537486014864e-5,3.689381745950238e-8,0.0014826570290835308,-4.3833355408042506e-5,3.684500249109746e-8,0.0014826535665252642,-4.383076384824262e-5,3.684342893133268e-8,0.0014826734964349505,-4.388776027353641e-5,3.688571137475423e-8,0.0014827381250709867,-4.3991250197185465e-5,3.696157870415823e-8,0.0014828632277558774,-4.4120225732295084e-5,3.7054853705114773e-8,0.0014830562790585913,-4.424796254416029e-5,3.7145299091021524e-8,0.001483314114902658,-4.4345226853738956e-5,3.721123064884487e-8,0.0014836212427355765,-4.438471351759688e-5,3.723292906691934e-8,0.0014839495880320053,-4.434704884177869e-5,3.719700534277648e-8,0.0014842612053440878,-4.4227969750309367e-5,3.7101437221589655e-8,0.001484515578411819,-4.4044706083483356e-5,3.6959930289161086e-8,0.0014846818321571568,-4.383767436946015e-5,3.6802887599284104e-8,0.001484752665298912,-4.366282494601175e-5,3.6671649941767425e-8,0.0014847523079773632,-4.357345179251354e-5,3.6605110282143873e-8,0.0014847306685902028,-4.3598461730291396e-5,3.662379044416523e-8,0.0014847439416985908,-4.372996532663204e-5,3.672084767057359e-8,0.001484832455576805,-4.392834159757466e-5,3.6866053246575335e-8,0.0014850084524969315,-4.414052139172515e-5,3.701958292803764e-8,0.0014852579225742377,-4.4319394962506785e-5,3.7146574635816525e-8,0.00148555111690797,-4.443521318072178e-5,3.7225576915926685e-8,0.0014858540251273446,-4.447773434048518e-5,3.724992857383376e-8,0.0014861364543161625,-4.445270363925244e-5,3.722482225495067e-8,0.0014863760913723298,-4.437656318307988e-5,3.716309655277369e-8,0.0014865597532513933,-4.427164451826376e-5,3.708154822513582e-8,0.0014866832683675857,-4.4162460074345484e-5,3.699824191460888e-8,0.0014867508559287582,-4.407282323694022e-5,3.693054466535894e-8,0.0014867742340000237,-4.402339782503651e-5,3.68934712540527e-8,0.0014867713714220555,-4.402943420367354e-5,3.689807422058526e-8,0.0014867646564762282,-4.409867285281513e-5,3.6949844467746125e-8,0.0014867782740302412,-4.422973621937711e-5,3.7047415402730984e-8,0.0014868348754921309,-4.441152508594255e-5,3.718204520461165e-8,0.0014869519465962582,-4.462400182095811e-5,3.733824048865543e-8,0.0014871384186216602,-4.484053098879151e-5,3.749566462993671e-8,0.0014873921480441546,-4.5031733174503954e-5,3.7632239067973675e-8,0.0014876988747097991,-4.517047600970056e-5,3.772804673560034e-8,0.0014880330851069787,-4.5237407062414714e-5,3.776948065811721e-8,0.0014883611336936045,-4.522638867386191e-5,3.7753106366925946e-8,0.0014886470419661934,-4.5148829423299135e-5,3.768853679617695e-8,0.0014888610099375744,-4.503511107630251e-5,3.75991142701746e-8,0.0014889893734640611,-4.493078727593386e-5,3.7518833390943256e-8,0.0014890426802024238,-4.4885939658503095e-5,3.74844077895564e-8,0.0014890568559620368,-4.493900359979849e-5,3.752344755667185e-8,0.0014890836459080803,-4.5101175184416406e-5,3.7643181361237684e-8,0.001489172305795643,-4.535029512050693e-5,3.7826206234394064e-8,0.0014893513815948645,-4.5639131365739326e-5,3.803685162170241e-8,0.0014896203853677792,-4.591379586939746e-5,3.8234980089391865e-8,0.0014899543663838013,-4.613185728141613e-5,3.8389462478218916e-8,0.0014903162297077394,-4.6271946349084726e-5,3.848520377485263e-8,0.0014906691385107214,-4.6333741604474694e-5,3.852289537208366e-8,0.0014909844428688587,-4.6332267253878814e-5,3.851449641139075e-8,0.0014912446994979787,-4.629096295265064e-5,3.8477884251820716e-8,0.001491443475023993,-4.623604922293549e-5,3.843262815520471e-8,0.0014915838036451312,-4.61927449105687e-5,3.8397284898482245e-8,0.0014916764513131834,-4.618284796155863e-5,3.838776175182558e-8,0.0014917383357409837,-4.622298504810592e-5,3.8416126988273096e-8,0.0014917909428913139,-4.632303584535767e-5,3.848944739748476e-8,0.0014918583550758398,-4.648458412369112e-5,3.860856466449232e-8,0.0014919645095770773,-4.669969166698596e-5,3.8767106301308565e-8,0.001492129594339425,-4.695065290037247e-5,3.895130296913219e-8,0.0014923659795207224,-4.721144655663761e-5,3.914118664687933e-8,0.0014926745732702724,-4.745133715731877e-5,3.931347861780057e-8,0.0014930428020581202,-4.764050267803905e-5,3.944599080200351e-8,0.0014934453287540244,-4.77567381989998e-5,3.952272977792478e-8,0.0014938479976421455,-4.7791615726440825e-5,3.9538419803086526e-8,0.0014942145959709434,-4.775437268653611e-5,3.950114664854367e-8,0.0014945152548361581,-4.7672147717775885e-5,3.943216537025932e-8,0.0014947347496844735,-4.758571958330954e-5,3.936237614997539e-8,0.0014948784839529095,-4.754071729882442e-5,3.9325587712150906e-8,0.001494973688060228,-4.7575580700830986e-5,3.934960606065222e-8,0.001495063893699758,-4.7709339668887554e-5,3.9447410821275483e-8,0.0014951967819727924,-4.793386974666786e-5,3.961177012530231e-8,0.0014954089548056488,-4.82150113356529e-5,3.9816407071216556e-8,0.001495713972368483,-4.8503439552528306e-5,4.0024278257678855e-8,0.0014960992299929698,-4.875088216767253e-5,4.0199671339311314e-8,0.0014965325627533485,-4.892426755697233e-5,4.031863181757441e-8,0.0014969742965597005,-4.9012244353112056e-5,4.037361715514292e-8,0.0014973887060458133,-4.90234527916337e-5,4.037196030438772e-8,0.0014977509975768778,-4.897987925534544e-5,4.033069659995429e-8,0.0014980493699429142,-4.8909370842569586e-5,4.0270872530960104e-8,0.0014982838272042372,-4.8839785143966184e-5,4.0213214367086265e-8,0.0014984636893112296,-4.879533379597899e-5,4.017552829673121e-8,0.0014986050564438516,-4.879459745805125e-5,4.0171351190536136e-8,0.0014987286878216618,-4.884940264365551e-5,4.020917276631506e-8,0.0014988581486848397,-4.8963892845157507e-5,4.029171690125393e-8,0.0014990177337836207,-4.9133541633318104e-5,4.0415144161886566e-8,0.0014992296650089489,-4.934439725353427e-5,4.056846910653133e-8,0.0014995103608385159,-4.957328780427341e-5,4.073379081419653e-8,0.0014998661313054954,-4.978992849651283e-5,4.0888033317214166E-08,0.001500289438846751,-4.996169395570395e-5,4.100670227701081e-8,0.0015007575640223773,-5.00609271009138e-5,4.1069476582698656e-8,0.0015012354183340914,-5.0073132062903215e-5,4.106633523245191e-8,0.001501682931435136,-5.000313393611321e-5,4.10020124318666e-8,0.0015020653958463235,-4.9876318236111225e-5,4.089664152349184e-8,0.001502363510762478,-4.973362668651773e-5,4.078166708635209e-8,0.0015025796036362987,-4.9621359434477365e-5,4.06919240015438e-8,0.001502737788613337,-4.957881774687852e-5,4.0656280257301776e-8,0.0015028778851812186,-4.9627518948032364e-5,4.0689710099869005e-8,0.001503044775055048,-4.9765138003926926e-5,4.078912007859041e-8,0.001503276131990282,-4.9966042084288354e-5,4.093418214974257e-8,0.0015035921340975534,-5.0188522911167886e-5,4.109307745813918e-8,0.0015039904959644906,-5.038664086853307e-5,4.12314822617478e-8,0.0015044484479765602,-5.052272450607022e-5,4.1321828260849926e-8,0.0015049305867960681,-5.057627006151882e-5,4.1349724488542334e-8,0.0015053992671028003,-5.0546698588028124e-5,4.1315734395285215e-8,0.001505823682333701,-5.0450202162379264e-5,4.123276774522326e-8,0.0015061851264551991,-5.03131376162049e-5,4.1120991139124105e-8,0.00150647810650972,-5.0164985415371416e-5,4.100254562995308e-8,0.0015067085911635734,-5.003289045076868e-5,4.0897557578942296e-8,0.0015068910568689683,-4.9938339881018866e-5,4.0821788084939146e-8,0.0015070455081733843,-4.989557017837055e-5,4.078553560863914e-8,0.0015071949768719031,-4.991095762554463e-5,4.079319265895584e-8,0.0015073634330199596,-4.998270255847455e-5,4.0842964940455486e-8,0.001507573648758257,-5.0100484272582855e-5,4.092657881678172e-8,0.001507844474226869,-5.024531275080717e-5,4.1029213145852093E-08,0.0015081872475477102,-5.039029477878423e-5,4.113020982278904e-8,0.001508601639381369,-5.0503348351200574e-5,4.1205288990591655e-8,0.0015090721800536042,-5.0552825964399286e-5,4.123090271547341e-8,0.0015095677542445187,-5.051598845732162e-5,4.119061726808571e-8,0.0015100464398749296,-5.0388137396494456e-5,4.1081869583940654e-8,0.0015104661524490966,-5.0188150732697904e-5,4.091992886992478e-8,0.0015107980562968522,-4.995626598255443e-5,4.073597315450068e-8,0.0015110369884425087,-4.974323096834382e-5,4.056865503257804e-8,0.0015112037636235288,-4.9594689096187027e-5,4.0452143784550536e-8,0.0015113382538688342,-4.9537390122333774e-5,4.040571885063075e-8,0.001511486651518908,-4.9572491390367476e-5,4.0428949376900265e-8,0.0015116882343063284,-4.9677288522526345e-5,4.0503412055625985e-8,0.001511965832908493,-4.981328246977489e-5,4.0599203239587485e-8,0.0015123218678560742,-4.993712667865752e-5,4.0683458185044255e-8,0.0015127398774388951,-5.001120491259384e-5,4.072833176366586e-8,0.0015131902459503254,-5.0011430442294444e-5,4.0716651632460574e-8,0.0015136381639806527,-4.9930908725903795e-5,4.064433406034829e-8,0.0015140516272895985,-4.977923819466192e-5,4.051953249837382e-8,0.0015144075622012096,-4.9578319631606846e-5,4.035928102066704e-8,0.0015146949683276282,-4.9356355695184494e-5,4.0184938821169755e-8,0.0015149150502128804,-4.9141887980333486e-5,4.0017799643976816e-8,0.0015150791746275875,-4.895917584109024e-5,3.9875772118617474e-8,0.0015152057997848073,-4.8825388632539786e-5,3.977139653273003e-8,0.0015153173317295856,-4.874940504486354e-5,3.971098695425316e-8,0.0015154374095433952,-4.8731643689852686e-5,3.9694467703771245e-8,0.0015155886318726306,-4.876432642304724e-5,3.971551230211538e-8,0.0015157903988936615,-4.8831866635134174e-5,3.976183295261236e-8,0.0015160564336704537,-4.891150797550089e-5,3.9815759747989534e-8,0.001516391691608481,-4.8974788479225625e-5,3.985552106330658e-8,0.0015167888924818176,-4.899079602098747e-5,3.985786664037715e-8,0.0015172258993118245,-4.893217400965164e-5,3.9802659015735863e-8,0.0015176663030841539,-4.878381729040918e-5,3.967934665594565e-8,0.0015180658418397924,-4.855185669703154e-5,3.9493549812086156e-8,0.0015183852145058741,-4.8267882631723335e-5,3.927002879151628e-8,0.001518605245428821,-4.7983227159816685E-05,3.904816418536927e-8,0.0015187364109845078,-4.7752853667001454e-5,3.8869607112691156e-8,0.0015188162107197098,-4.76157007253304e-5,3.876330623471329e-8,0.0015188951081814535,-4.7581646967552716e-5,3.87356971621642e-8,0.0015190187423242043,-4.763095682004308e-5,3.877055536279872e-8,0.0015192148843438057,-4.7724206359166875e-5,3.883693164021174e-8,0.0015194889111096335,-4.7816122036906335e-5,3.890001525702813e-8,0.0015198265573875282,-4.78675190041975e-5,3.893034461914193e-8,0.0015202006147450764,-4.785267690604367e-5,3.8909281403952436e-8,0.0015205786058022936,-4.776206764521024e-5,3.883074987792664e-8,0.001520929655959892,-4.7601511265561416e-5,3.8700210594517606e-8,0.0015212297485279174,-4.73889457227636e-5,3.853192522081979e-8,0.001521464985636384,-4.714978616986874e-5,3.834534142739313e-8,0.001521632714070136,-4.691181862109943e-5,3.8161308626593714e-8,0.0015217407259916819,-4.6700544473304215e-5,3.7998737945680615e-8,0.001521805050737679,-4.653561112622005e-5,3.7872078917049705e-8,0.0015218469609350476,-4.6428620942574455e-5,3.77897496515343e-8,0.0015218898209953303,-4.638232433864213e-5,3.7753505077697286e-8,0.0015219562588472324,-4.63908829784902e-5,3.775855431522331e-8,0.0015220657852472567,-4.644073196168358e-5,3.779415592915643e-8,0.0015222326849345393,-4.6511768353575117e-5,3.78445580321092e-8,0.0015224639302797234,-4.6578917633677744e-5,3.789033821231449e-8,0.0015227569400496383,-4.6614434070743716e-5,3.791035015751786e-8,0.0015230973823843132,-4.659163295010869e-5,3.788469386599491e-8,0.0015234580899453059,-4.6490764418833046e-5,3.779915028577375e-8,0.0015238011301948635,-4.630679101973296e-5,3.765088713532935e-8,0.0015240852672769784,-4.6056717425461094e-5,3.7453737167092474e-8,0.001524279176362041,-4.578158370729293e-5,3.723946842777562e-8,0.0015243761207970313,-4.5537893273890615e-5,3.7051147789336374e-8,0.0015244012465784203,-4.537833811089991e-5,3.692846975976653e-8,0.0015244043069810233,-4.5330485030194646e-5,3.689159982476225e-8,0.001524440051851727,-4.5386093677926136e-5,3.693319329946158e-8,0.0015245475921702796,-4.550706901455292e-5,3.70231970685862e-8,0.001524739631177373,-4.564256280847005e-5,3.712221109997426e-8,0.0015250039821238194,-4.574645320979391e-5,3.719506196713576e-8,0.001525312469978232,-4.57880724817201e-5,3.7219009823727845e-8,0.0015256311465300198,-4.575529177708597e-5,3.71858758629502e-8,0.0015259283156329572,-4.5652460184988825e-5,3.710009588757813e-8,0.001526179490549331,-4.549604863952453e-5,3.697504333756095e-8,0.0015263698298762106,-4.5309863016883735e-5,3.682918922629797e-8,0.0015264948690534665,-4.5120549024834013e-5,3.668269874859717e-8,0.0015265600057452486,-4.495356643058214e-5,3.65545436819091e-8,0.0015265789603062382,-4.4829825029204026e-5,3.646015826369734e-8,0.0015265714591917814,-4.476317621887072e-5,3.640967597256171e-8,0.001526560393019653,-4.47588814097071e-5,3.6406785222506725e-8,0.0015265687425595057,-4.481319012855167e-5,3.6448328955322366e-8,0.001526616673386339,-4.491402171639455e-5,3.6524727155707175e-8,0.001526719088838322,-4.5042478706087005e-5,3.662110821247449e-8,0.001526883671120863,-4.517492388060347e-5,3.671899335520608e-8,0.001527109357997393,-4.528556689050531e-5,3.679846629243785e-8,0.0015273852648541443,-4.5349660451110904e-5,3.684080865883039e-8,0.0015276902649918051,-4.5347572784252786e-5,3.683168213824624e-8,0.0015279940023550515,-4.5269982630066084e-5,3.676496818810432e-8,0.001528260741500139,-4.5123660491407865e-5,3.664687940483986e-8,0.0015284573649040436,-4.493568923535388e-5,3.649883068748661e-8,0.0015285651819203082,-4.475224028990135e-5,3.6356268024786054e-8,0.001528591522529057,-4.462799322930828e-5,3.6260564495138095e-8,0.0015285733068809862,-4.4606708170989893e-5,3.6244339332635135e-8,0.0015285663015500417,-4.4701580903939586e-5,3.631667920617675e-8,0.001528623057978843,-4.4888075568297965e-5,3.645788182105769e-8,0.0015287721301055885,-4.511488889181742e-5,3.662804240559266e-8,0.0015290104785997134,-4.532567197125326e-5,3.678385405657058e-8,0.0015293104382067145,-4.547810886081325e-5,3.689331286542308e-8,0.0015296334898081117,-4.555238252513215e-5,3.6942127930790746e-8,0.0015299425822774475,-4.5549875508693376e-5,3.6932458321921016e-8,0.0015302094618059117,-4.5487012585997464e-5,3.687784149123152e-8,0.0015304173593234294,-4.538838777224406e-5,3.6797650641900755e-8,0.0015305608012845585,-4.5281191160702335e-5,3.6712741731269536e-8,0.0015306441945146152,-4.5191250244956506e-5,3.664253537729438e-8,0.0015306800306723414,-4.514019365633332e-5,3.660306514411148e-8,0.0015306868440561443,-4.5143317412885504e-5,3.660554118454364e-8,0.0015306868688130097,-4.5208046874071456e-5,3.665525950628058e-8,0.001530703372269813,-4.533304361844633e-5,3.675088279926432e-8,0.0015307577071024677,-4.550816475509205e-5,3.6884311766138235e-8,0.0015308663545292767,-4.5715530714938635e-5,3.7041438425744794e-8,0.001531038403461839,-4.5931705831679506e-5,3.7203859056823594e-8,0.0015312738096312358,-4.613076201647923e-5,3.7351380006003594e-8,0.001531562647587085,-4.628797631784266e-5,3.7465058196804165e-8,0.001531885540287841,-4.638388948223532e-5,3.753045447184219e-8,0.0015322154350115606,-4.6408424099129384e-5,3.75407624833672e-8,0.0015325210181051422,-4.636473481435046e-5,3.749952617090675e-8,0.0015327722562987192,-4.62720299113284e-5,3.742243109933671e-8,0.0015329482178092664,-4.616568661040811e-5,3.7337038635539955e-8,0.0015330459667584296,-4.60922941785365e-5,3.7278814888025735e-8,0.001533087023241133,-4.609795126881395e-5,3.728225619249699e-8,0.001533115983708838,-4.621153374983078e-5,3.736837190134323e-8,0.0015331876400693626,-4.643018459294151e-5,3.753391652633899e-8,0.0015333461088477486,-4.6716886718747485e-5,3.7749779963297116e-8,0.001533607077938741,-4.701413330082583e-5,3.797158062251958e-8,0.0015339536898771556,-4.7266463413301e-5,3.8156979046495933e-8,0.0015343469210881689,-4.7438804933053115e-5,3.827972461061156e-8,0.0015347420400233514,-4.7522609577066365e-5,3.833423468532848e-8,0.0015351018922789568,-4.75311913550837e-5,3.833175719045527e-8,0.0015354032268769953,-4.7490536847499134e-5,3.8293014468682244e-8,0.0015356372503282487,-4.7430749661384474e-5,3.8241437080403724e-8,0.0015358072060457936,-4.738020854009638e-5,3.819867181103716e-8,0.0015359252275494756,-4.736231090740194e-5,3.818223813016995e-8,0.0015360095332831896,-4.739380510817324e-5,3.820445815928393e-8,0.0015360820478136717,-4.748383499571379e-5,3.82718722773441e-8,0.001536166141831675,-4.763330834665019e-5,3.838478548063725e-8,0.001536284194639195,-4.783458629340891e-5,3.8536969464764897e-8,0.0015364548174580863,-4.8071792138992605e-5,3.871582755825761e-8,0.001536689888308331,-4.832221693893701e-5,3.890347256035087e-8,0.001536991949021952,-4.8559125680806725e-5,3.907898810591917e-8,0.0015373526882001662,-4.875585201501901e-5,3.9221757056841037E-08,0.0015377531409755225,-4.889068042494506e-5,3.931538272353313e-8,0.0015381659828674545,-4.895167436888976e-5,3.9351451406966635e-8,0.0015385598715198048,-4.894040830492917e-5,3.9332267184161023e-8,0.0015389053503828088,-4.887366805568127e-5,3.927184980018389e-8,0.0015391815674583567,-4.878238533919379e-5,3.919473310592367e-8,0.0015393827610044833,-4.870713902780217e-5,3.913220935194622e-8,0.001539522826925547,-4.868983638924286e-5,3.911586463438951e-8,0.001539635551012186,-4.8762258491063296e-5,3.916897922140672e-8,0.0015397681169518995,-4.893424373568861e-5,3.929783969200081e-8,0.0015399675307219867,-4.9186670824232385e-5,3.9486747633733346e-8,0.0015402639575685848,-4.94746582698892e-5,3.970072063670472e-8,0.001540658896768355,-4.974203898215638e-5,3.989665648604e-8,0.0015411250260262703,-4.9940960584229624e-5,4.0038309783718896e-8,0.0015416177088270302,-5.0046684404287795e-5,4.010752915400204e-8,0.0015420911707916128,-5.006124568783706e-5,4.010688682435594e-8,0.0015425111740769344,-5.000709715400226e-5,4.00545534176231e-8,0.0015428603593231258,-4.9916572907574924e-5,3.9975967592465016e-8,0.001543137348004615,-4.9822560505639655e-5,3.9896549730067413e-8,0.0015433527728847896,-4.9752685894152456e-5,3.983728353617607e-8,0.0015435248853113634,-4.972672630231794e-5,3.981289716560943e-8,0.0015436759860362377,-4.975595477250484e-5,3.9831537088095255e-8,0.0015438297952060482,-4.984325147671539e-5,3.989494979643839e-8,0.0015440093369692496,-4.998334813656624e-5,3.999866380557658e-8,0.0015442348151259754,-5.016309804535865e-5,4.013214246585282e-8,0.0015445211154071746,-5.0362121259628284e-5,4.027925529887606e-8,0.0015448749611662643,-5.055446980018576e-5,4.0419618992163206e-8,0.0015452923005028491,-5.071189862384606e-5,4.053125674762409e-8,0.0015457569800726891,-5.0808855828295383E-05,4.059460327889975e-8,0.0015462418900000286,-5.082850879931722e-5,4.059724221672877e-8,0.0015467132993301472,-5.076823346637892e-5,4.0538094268894254e-8,0.0015471380038922773,-5.064252614673594e-5,4.042945683138028e-8,0.0015474916360774626,-5.048174585710053e-5,4.0295709244955134e-8,0.0015477657624747324,-5.0326348408581844e-5,4.016852598729084e-8,0.0015479715584376128,-5.02176988612463e-5,4.00795759607021e-8,0.001548138675163666,-5.018759931395581e-5,4.0052468864238434e-8,0.001548309019173918,-5.0249167170106635e-5,4.0095999848332944e-8,0.001548526363415651,-5.039173011559901e-5,4.020064552392213e-8,0.001548824072026234,-5.0581979693915296e-5,4.033985817256759e-8,0.0015492146318262102,-5.0772290610955474e-5,4.047669746431854e-8,0.0015496851936439822,-5.091443598787875e-5,4.057438892398452e-8,0.001550201601146154,-5.0973893683465014e-5,4.0607169310144533e-8,0.001550719547427848,-5.093895551994056e-5,4.0567056747315524e-8,0.0015511979549022272,-5.082132789363123e-5,4.0464060310906736e-8,0.001551609085796503,-5.064930767517722e-5,4.032070429909841e-8,0.001551942485882253,-5.045777032215602e-5,4.0164179972009266e-8,0.001552203365741154,-5.027932903282667e-5,4.0019527762343134e-8,0.0015524080338778475,-5.0138911795649996e-5,3.990557662144009e-8,0.0015525789206599471,-5.005169954767954e-5,3.983352487266917e-8,0.0015527405622942454,-5.0023207216840704e-5,3.980713258549693e-8,0.001552916795278977,-5.005024771803662e-5,3.982350168918181e-8,0.0015531287739189376,-5.012197934084325e-5,3.987384769919168e-8,0.0015533932025365111,-5.022080731770897e-5,3.99441559610026e-8,0.0015537202826231122,-5.03234457482546e-5,4.0016025565273536e-8,0.0015541112665716941,-5.0402810390084915e-5,4.0068239562396716e-8,0.0015545561079804125,-5.0431489448755314e-5,4.007959506236113e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_15.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_15.json new file mode 100644 index 000000000..c6ac96168 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_15.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":15000,"numberOfSamples":1000,"samples":[0.001555032396790159,-5.038717964716439e-5,4.003321453737454e-8,0.001555507240340409,-5.025945257220019e-5,3.992178064606655e-8,0.0015559433318249748,-5.005568561411016e-5,3.975199831316558e-8,0.0015563086828940746,-4.9802949292686764e-5,3.9545822083813816e-8,0.001556587031841404,-4.9543375923704664e-5,3.9336583092513e-8,0.0015567845028372617,-4.93232976794034e-5,3.9160317297773175e-8,0.0015569291408115862,-4.9179757456819175e-5,3.904518941710335e-8,0.0015570631279621951,-4.912957061070448e-5,3.90031151041951e-8,0.0015572306984882043,-4.916483994647903e-5,3.902661169621281e-8,0.0015574660511056152,-4.9255840502179806e-5,3.9091477245714126e-8,0.0015577847760354089,-4.9359606772293576e-5,3.9163823082464017e-8,0.001558180685115808,-4.943135773630568e-5,3.920908834205859e-8,0.0015586283968716341,-4.943566203060656e-5,3.920059314584998e-8,0.0015590906701226305,-4.9354497209498185e-5,3.9125494924869697e-8,0.001559528261058972,-4.919020584318819e-5,3.8986728207848124e-8,0.0015599093591160292,-4.896289913685733e-5,3.880070214408021e-8,0.0015602159244718476,-4.870367300374791e-5,3.8591890031225615e-8,0.001560445583043622,-4.844627081761637e-5,3.838637217885279e-8,0.0015606095190522666,-4.821988699048854e-5,3.8206389463064e-8,0.001560728059333107,-4.80447105719932e-5,3.8067072967328046e-8,0.0015608258215469178,-4.7930366808124216e-5,3.797538689472998e-8,0.0015609276655558022,-4.787644642721989e-5,3.793059714039383e-8,0.0015610558505919753,-4.7874043041353836e-5,3.792543115973339e-8,0.0015612281647851558,-4.7907464781617856e-5,3.794734148986789e-8,0.0015614564996265033,-4.795579391508165e-5,3.797969902153523e-8,0.0015617453775785114,-4.7994480662788104e-5,3.8003106795686565e-8,0.001562090231917282,-4.799751763502489e-5,3.7997236526191586e-8,0.0015624757732016965,-4.7940913074933274e-5,3.7943666553683704e-8,0.0015628755385377238,-4.780797264952134e-5,3.783002608138753e-8,0.0015632543909054244,-4.759591895225801e-5,3.765503864336205e-8,0.0015635755508337965,-4.7321569326116703e-5,3.743272490582087e-8,0.0015638118247210714,-4.702212301492192e-5,3.719276938020053e-8,0.0015639572183669657,-4.674759666086147e-5,3.697442350326965e-8,0.0015640325431972783,-4.654548661616456e-5,3.681443353406246e-8,0.0015640803149591668,-4.644389332460276e-5,3.673389012822279e-8,0.0015641503210691414,-4.644165242496307e-5,3.673070606589074e-8,0.0015642829369577056,-4.651013021168292e-5,3.678135043023996e-8,0.0015644977495392904,-4.660446073429612e-5,3.685000664095114e-8,0.001564790749643378,-4.6677917336542896e-5,3.6900071652951433e-8,0.001565138707406003,-4.66938238368795e-5,3.690350083708066e-8,0.0015655073435626183,-4.663241657433939e-5,3.6845954665167155e-8,0.0015658602190323327,-4.649255514773499e-5,3.672776169544263e-8,0.0015661663607259592,-4.628936931980565e-5,3.656170224679889e-8,0.0015664055799049252,-4.6049225283354464e-5,3.636883604376693e-8,0.001566571002171141,-4.580336936715299e-5,3.6173502381504967e-8,0.0015666687673390187,-4.558160277952096e-5,3.599852488215996e-8,0.0015667154033415197,-4.5407215387777025e-5,3.586148463513818e-8,0.0015667338355941623,-4.529393320932333e-5,3.577253994149994e-8,0.0015667490993197454,-4.524500274399756e-5,3.573380667359368e-8,0.0015667846174289822,-4.5254024907903564e-5,3.57399848967389e-8,0.001566859497029681,-4.5306834496840176e-5,3.5779734964378544e-8,0.0015669868024443458,-4.5383715412729446e-5,3.583733887760147e-8,0.001567172455798627,-4.546158479647085e-5,3.5894430294282084e-8,0.0015674144103284765,-4.551618411695069e-5,3.593183701499408e-8,0.001567701899164982,-4.5524599621765035e-5,3.593172347162997e-8,0.0015680149455750063,-4.5468646452923546e-5,3.588034316011282e-8,0.001568325023881159,-4.533952995396979e-5,3.577163595791014e-8,0.001568598375261144,-4.514331996072684e-5,3.561129614715066e-8,0.0015688033307539359,-4.490516831986402e-5,3.5419775786897466e-8,0.0015689213635770478,-4.4668520678280764e-5,3.5231422956829793e-8,0.0015689580930293371,-4.448560774152507e-5,3.508694038347068e-8,0.001568947072838441,-4.439966029933874e-5,3.501951652065551e-8,0.0015689406813127415,-4.442653532989222e-5,3.5040594280255434e-8,0.0015689905208410501,-4.454694343553021e-5,3.5134005465375e-8,0.0015691279470960945,-4.471462114836585e-5,3.526264408522862e-8,0.001569355167197491,-4.4874982251366504e-5,3.5383351783517066e-8,0.0015696491590304815,-4.498328840192346e-5,3.5461324901144965e-8,0.0015699730086184231,-4.5014843868502684e-5,3.547806086334234e-8,0.0015702878466824224,-4.496644962533722e-5,3.5432227789964445e-8,0.0015705615045717492,-4.48522455988792e-5,3.5336015448358164e-8,0.0015707731361774711,-4.469737825179658e-5,3.520983386424041e-8,0.0015709146371371892,-4.453167337270511e-5,3.507720338549927e-8,0.0015709899450492496,-4.4384204168804375e-5,3.4960569188722246e-8,0.0015710129446352492,-4.427899769327988e-5,3.487815813513884e-8,0.0015710044338982897,-4.4232035758685976e-5,3.484187409746818e-8,0.0015709885901114629,-4.424966839076787e-5,3.48562113954969e-8,0.0015709893763831153,-4.4328433769242266e-5,3.491813422291662e-8,0.0015710273252120134,-4.4456174728882454e-5,3.501786728147512e-8,0.001571117095259444,-4.4614146603934006e-5,3.514044529398255e-8,0.0015712659471281585,-4.4779625550250765e-5,3.526772890807883e-8,0.0015714729990209998,-4.492865339998087e-5,3.5380643711257126e-8,0.0015717290886569444,-4.503882672267935e-5,3.5461540303863484e-8,0.0015720171486412,-4.509218250304847e-5,3.549662088853352e-8,0.0015723131710548195,-4.507838065681111e-5,3.547847663955526e-8,0.0015725883317389549,-4.499835421555663e-5,3.540880348366659e-8,0.001572813307826608,-4.486786800809496e-5,3.5300892636416496e-8,0.0015729655070056204,-4.47191603474519e-5,3.518058646081875e-8,0.0015730384980441499,-4.459776227937817e-5,3.5083578249073555e-8,0.0015730502214990328,-4.4551776967474605e-5,3.504702004926623e-8,0.0015730436787471955,-4.461436338745037e-5,3.5095992048822466e-8,0.0015730749295945277,-4.478695231412046e-5,3.5230609633398364e-8,0.00157319126570817,-4.5034672737442647e-5,3.542266299781257e-8,0.0015734115792861226,-4.529940702276995e-5,3.562602881073632e-8,0.0015737208148722149,-4.552319788898638e-5,3.5795178558746185e-8,0.0015740799139331147,-4.5667994072365434e-5,3.590075376760617e-8,0.0015744426094396393,-4.572297761098429e-5,3.593523410445762e-8,0.0015747694654922382,-4.570060260613509e-5,3.5909545233455296e-8,0.0015750350883362262,-4.56275210357777e-5,3.584556214181634e-8,0.0015752294134122743,-4.5535604842148e-5,3.576877953266378e-8,0.0015753556604648073,-4.545534529408837e-5,3.5703062165524755e-8,0.0015754271119554817,-4.541175214597163e-5,3.566756900441209e-8,0.0015754637850900197,-4.5422021566715475e-5,3.567516845886349e-8,0.0015754892419881964,-4.549435685857388e-5,3.5731726192643936e-8,0.0015755275323007985,-4.562767745693644e-5,3.5835969133508226e-8,0.0015756002822981585,-4.581213815904196e-5,3.597985887669808e-8,0.0015757240290649212,-4.603051129355547e-5,3.6149580268519345e-8,0.0015759080778055216,-4.626046736804536e-5,3.632726928230143e-8,0.0015761532032229398,-4.6477532670966515e-5,3.6493374497356665e-8,0.0015764513190264005,-4.66583682351069e-5,3.662937540080888e-8,0.0015767861221216862,-4.6784116146357104e-5,3.67205887315865e-8,0.0015771347357232419,-4.6843579857850895e-5,3.6758772560147956e-8,0.0015774703483009739,-4.683599304438294e-5,3.67442426941251e-8,0.0015777659552356682,-4.677317302149219e-5,3.66873186351272e-8,0.0015779995237324785,-4.668049190430199e-5,3.660873387655922e-8,0.0015781605555831091,-4.659528839149842e-5,3.6538079166891776e-8,0.0015782567852510353,-4.656091594072024e-5,3.650901070819981e-8,0.0015783179633283798,-4.6615418475760236e-5,3.655049543919046e-8,0.0015783922903835324,-4.677665068892878e-5,3.667544840847755e-8,0.0015785325756434202,-4.703036852583066e-5,3.687171431896692e-8,0.0015787756427616659,-4.733035159097787e-5,3.7102367094230025e-8,0.0015791259181678027,-4.761430923312568e-5,3.731827295238525e-8,0.0015795538411506713,-4.7828037828527396e-5,3.747709330858676e-8,0.0015800096969891477,-4.7943878769038486E-05,3.7557792145692596e-8,0.0015804431624417705,-4.796481847401571e-5,3.756375094216574e-8,0.0015808178057632656,-4.791635491291735e-5,3.7516101368887467e-8,0.0015811164141571583,-4.783405291768669e-5,3.744360223405161e-8,0.0015813392677104443,-4.775314048922322e-5,3.737423693485045e-8,0.0015814993203580124,-4.7702326404354844e-5,3.733035174588052e-8,0.0015816171643790661,-4.7701193814970105e-5,3.7326791516613286e-8,0.0015817169630395575,-4.775965776778595e-5,3.737071389079256e-8,0.001581823347515752,-4.787832470052812e-5,3.7462041637598934e-8,0.0015819588828547596,-4.8049258257063996e-5,3.7594106726625155e-8,0.0015821417963573898,-4.8257082895207296e-5,3.775446258471748e-8,0.0015823838479101892,-4.848060164321304e-5,3.792608585212836e-8,0.001582688504544025,-4.869520808633535e-5,3.8089269531459865e-8,0.0015830498625370153,-4.887615170356731e-5,3.822428825087552e-8,0.0015834527637300596,-4.9002351733972964e-5,3.8314560752223585e-8,0.0015838743628422021,-4.906026034512833e-5,3.834982706901485e-8,0.001584287221216587,-4.904715037019271e-5,3.832875105474419e-8,0.001584663741938823,-4.897310145628491e-5,3.826032241557493e-8,0.001584981463061841,-4.8861079857009655e-5,3.8163607031293117e-8,0.0015852285820703014,-4.874466991235223e-5,3.8065608345197424e-8,0.0015854088600154176,-4.8662962215500585e-5,3.7997004979177486e-8,0.0015855444217866606,-4.86522846509656e-5,3.798563784368472e-8,0.001585674261819128,-4.8735533803462465e-5,3.804836085608511e-8,0.001585846375312292,-4.891189807186035e-5,3.818334234181005e-8,0.00158610348310477,-4.9151982596995845e-5,3.836657757562266e-8,0.001586466654834368,-4.9403489989380824e-5,3.8556531405909456e-8,0.0015869251102463237,-4.960807810621859e-5,3.870740581132169e-8,0.0015874391429179613,-4.9722343633764594e-5,3.8785587350351096e-8,0.0015879553631793688,-4.973190214442801e-5,3.878064452942808e-8,0.001588425577199708,-4.9652024693980827e-5,3.870567071163837e-8,0.00158881977381429,-4.951725979120483e-5,3.8588846273972866e-8,0.0015891295065786543,-4.936775952074638e-5,3.84623889278333e-8,0.001589364066660281,-4.9238715531157035e-5,3.8354092314337146e-8,0.001589543909685928,-4.9154994199223596e-5,3.8283168581558065e-8,0.0015896945618050432,-4.9129902713118106e-5,3.825948659678869e-8,0.0015898422153512498,-4.916611627099987e-5,3.8284520145138256e-8,0.001590010859028341,-4.925727610695112e-5,3.8352726691160195e-8,0.0015902202966968217,-4.938958761833569e-5,3.845280876708773e-8,0.0015904844846205953,-4.954336749390981e-5,3.8568874325898195e-8,0.0015908099083882816,-4.969485381752708e-5,3.868182932013065e-8,0.0015911941068452644,-4.98187279964764e-5,3.8771413773902485e-8,0.0015916248545581027,-4.989160905264646e-5,3.881908380631811e-8,0.0015920807276100831,-4.9896318601345885e-5,3.881152013111638e-8,0.0015925336582621405,-4.982618528736371e-5,3.874409592893164e-8,0.0015929536328127007,-4.9688213379708714e-5,3.862330576383604e-8,0.0015933149629505758,-4.950379940089145e-5,3.846710078351864e-8,0.001593602808933612,-4.930610263244153e-5,3.830248200720968e-8,0.0015938182399501703,-4.913404445176729e-5,3.8160453318297506e-8,0.0015939802243672306,-4.902380951458289e-5,3.806916042959481e-8,0.0015941233988982489,-4.899946750049259e-5,3.8046581250505863e-8,0.0015942911880484664,-4.906498251129774e-5,3.80945375169188e-8,0.0015945249563040758,-4.920032285756388e-5,3.8196040630227036e-8,0.0015948515164234465,-4.9364207196608636e-5,3.8317796980507725e-8,0.001595273159867582,-4.950449066879408e-5,3.841854809931519e-8,0.0015957650230228916,-4.9573895929635576e-5,3.846143646287539e-8,0.0015962822947114133,-4.954513058246872e-5,3.842577890144347e-8,0.0015967748230214939,-4.941856956430488e-5,3.8312929742037596e-8,0.001597202494943064,-4.921934317902047e-5,3.814375061431865e-8,0.0015975448239908775,-4.898645979137916e-5,3.794978155712491e-8,0.0015978022649466863,-4.876005227964857e-5,3.7762998553756675e-8,0.0015979913135114392,-4.85719625681952e-5,3.76083609760703e-8,0.0015981373497028673,-4.84414879329937e-5,3.750059586381275e-8,0.0015982682896983585,-4.837523496803743e-5,3.744429677813117e-8,0.0015984102235238262,-4.8369073369492696e-5,3.743563223650375e-8,0.0015985848577516198,-4.8410619737028296e-5,3.746436079232389e-8,0.0015988080578801715,-4.848147621960483e-5,3.751556089859576e-8,0.0015990887787054714,-4.8559129023742496e-5,3.7571077107145096e-8,0.0015994279675657184,-4.861890144868653e-5,3.761106919377434e-8,0.0015998175105410416,-4.8636534469734454e-5,3.761614354464905e-8,0.0016002397772522405,-4.859177185400766e-5,3.757032802152641e-8,0.0016006686543139628,-4.84728413566226e-5,3.74647259539885e-8,0.0016010729910405593,-4.828097347843213e-5,3.7301095421887124e-8,0.0016014227983081818,-4.8033231546302496e-5,3.709395135898375e-8,0.0016016972164009232,-4.776158920159305e-5,3.686957478771082e-8,0.001601891799677878,-4.750708267512769e-5,3.6661070725469196e-8,0.0016020220967839574,-4.730984733590426e-5,3.65002268054441e-8,0.0016021214376728508,-4.7197895387483466e-5,3.640855159267248e-8,0.0016022329539292035,-4.7178441191331395e-5,3.6390568883612766e-8,0.001602398098868516,-4.723486700987873e-5,3.64317778525816e-8,0.0016026451775172069,-4.7330459524417435e-5,3.6502037536061675e-8,0.0016029812826023223,-4.741790311922242e-5,3.6563402100527594e-8,0.0016033900211863004,-4.7451924030049034e-5,3.658023478305435e-8,0.0016038359142873748,-4.7401493578198037e-5,3.65287527576269e-8,0.0016042743565764664,-4.725778830099e-5,3.6403069368047857e-8,0.0016046639296792753,-4.703526837810497e-5,3.621574128865795e-8,0.0016049768310006606,-4.676579911472799e-5,3.599284252644777e-8,0.0016052041001474093,-4.6488499312397777e-5,3.576575444073776e-8,0.0016053547788864799,-4.623936983449527e-5,3.556292473478258e-8,0.0016054506685802667,-4.604404725371659e-5,3.540424269592429e-8,0.00160551955904301,-4.591491456251917e-5,3.529894528530359e-8,0.0016055893304846428,-4.585176544402924e-5,3.5246319584402404e-8,0.0016056839738281931,-4.584435487657563e-5,3.523780378361235e-8,0.0016058214226180075,-4.58754099005351e-5,3.525934967930275e-8,0.0016060125662822487,-4.5923316964371105e-5,3.5293484731850514e-8,0.0016062607469574757,-4.5964330399595076e-5,3.5321033008763995e-8,0.0016065612721366269,-4.597465556251913e-5,3.5322825752794e-8,0.001606900939181552,-4.5932990607520925e-5,3.528185027009399e-8,0.0016072580949436541,-4.582396800827508e-5,3.518611857277115e-8,0.0016076041773001588,-4.564246758849356e-5,3.503214741997083e-8,0.001607907835484071,-4.539791130326102e-5,3.482829369055841e-8,0.001608142149154005,-4.511646354493401e-5,3.4596304332457856e-8,0.0016082937279128775,-4.483839603063741e-5,3.4368956580540236e-8,0.001608370164011681,-4.460905850485839e-5,3.418262319337986e-8,0.0016084013367679887,-4.4465215778220584e-5,3.4066244784300986e-8,0.0016084321421592992,-4.442209614898366e-5,3.4031040378216796e-8,0.0016085087032214472,-4.4467328910789975e-5,3.406590890538271e-8,0.001608663854204168,-4.4564751128790306e-5,3.414084287148784e-8,0.0016089078261996121,-4.466603533873435e-5,3.4216585652257157e-8,0.0016092268749752002,-4.472491235101269e-5,3.425621097733665e-8,0.0016095888815234746,-4.470896660568734e-5,3.4234524970492415e-8,0.00160995294459917,-4.46061700180591e-5,3.414304169545714e-8,0.0016102797685153603,-4.442554150736995e-5,3.39901449867369e-8,0.001610540291413511,-4.41928249660299e-5,3.379729090404697e-8,0.001610720877149768,-4.3942959524330366e-5,3.3592785051752095e-8,0.0016108243718107255,-4.3711535533740247e-5,3.340493987008991e-8,0.0016108673896750982,-4.352740556905542e-5,3.325631883018611e-8,0.0016108751528596623,-4.340803798367828e-5,3.31602500419108e-8,0.0016108756639389974,-4.3358117340029234e-5,3.31199083561361e-8,0.00161089471982018,-4.33708154841172e-5,3.312942713946964e-8,0.0016109525410755215,-4.34306101333567e-5,3.317612870807587e-8,0.0016110620470242626,-4.351655218140907e-5,3.3243045504261954e-8,0.001611228317562383,-4.360524372648092e-5,3.331122931252226e-8,0.0016114486396584151,-4.367330914275547e-5,3.336174083792286e-8,0.0016117127150576606,-4.3699607289291936e-5,3.33775293772246e-8,0.0016120029665654158,-4.366764384768521e-5,3.3345510827283086e-8,0.0016122953248352881,-4.35685848202546e-5,3.3259070099345036e-8,0.0016125613483437497,-4.340490324202378e-5,3.312093756709973e-8,0.0016127727551766623,-4.319382193216696e-5,3.294576076085041e-8,0.0016129088996316033,-4.296843215561775e-5,3.276074107332174e-8,0.0016129659137071207,-4.277350269527232e-5,3.260204841704383e-8,0.0016129634518711477,-4.2654123502679954e-5,3.250560511019986e-8,0.0016129434192342419,-4.263951160928507e-5,3.249413087936494e-8,0.0016129578689934336,-4.272950726670111e-5,3.25664702196115e-8,0.001613050232896208,-4.2892278302879625e-5,3.2696007974918103e-8,0.0016132395138366183,-4.307566567224347e-5,3.2840080832235315e-8,0.0016135153781361821,-4.3225967007183096e-5,3.295532521363271e-8,0.0016138447598283675,-4.330446141592195e-5,3.3011068605873004e-8,0.0016141845061787268,-4.329558915141256e-5,3.299579503566333e-8,0.0016144937858859182,-4.320654916003372e-5,3.29165093334752e-8,0.0016147426836319956,-4.3061418898431364e-5,3.2793617549553344e-8,0.0016149162538619413,-4.28932148940195e-5,3.2654235700933185e-8,0.0016150148382885333,-4.273622151749938e-5,3.252591778532962e-8,0.0016150517857130536,-4.261972946654225e-5,3.243173477682972e-8,0.001615049514803641,-4.256367933918242e-5,3.238701919898679e-8,0.0016150347633862986,-4.2576490174574447e-5,3.239787068664833e-8,0.0016150339039934956,-4.265505690214593e-5,3.24613058418649e-8,0.0016150690590622733,-4.278649690659109e-5,3.2566675877575025e-8,0.0016151554483356746,-4.2951022505443604e-5,3.269788817933618e-8,0.0016153001048231429,-4.312527285417708e-5,3.283598386574173e-8,0.0016155017602802555,-4.328548587995333e-5,3.2961656880308e-8,0.0016157514557302796,-4.3410193344149555e-5,3.305749480030836e-8,0.0016160335151886938,-4.348253336100209e-5,3.310998203842222e-8,0.0016163267962227231,-4.3492450229067064e-5,3.311139396130571e-8,0.001616606420595729,-4.343902077762299e-5,3.306167660919614e-8,0.001616846570836147,-4.3332918110579625e-5,3.297027424956425e-8,0.0016170251774682734,-4.319829401359851e-5,3.285736904569684e-8,0.0016171308087405997,-4.307222907662207e-5,3.2753160720529384e-8,0.0016171704476762414,-4.299915965162309e-5,3.2693234113441636e-8,0.0016171742841552047,-4.301865193973153e-5,3.2708769773927315e-8,0.0016171918923307148,-4.314894035091985e-5,3.281350053431754e-8,0.0016172768691222427,-4.337450691395369e-5,3.299396166424684e-8,0.0016174652144145727,-4.364756211844907e-5,3.321089173978478e-8,0.0016177597932134746,-4.390561146011057e-5,3.341354613711286e-8,0.0016181304852361284,-4.4095543629212986e-5,3.3559243265705895e-8,0.0016185284692897027,-4.4190547319258514e-5,3.362705585213057e-8,0.0016189045522376445,-4.4193243891010715e-5,3.362020601659291e-8,0.0016192223969067512,-4.412817824935237e-5,3.355967969498163e-8,0.0016194638193470891,-4.403063195720452e-5,3.34748138358053e-8,0.0016196280163832983,-4.393679585500097e-5,3.339511192107193e-8,0.0016197277267549035,-4.3877154423368346e-5,3.334489133236136e-8,0.0016197845593948158,-4.387287847418416e-5,3.334056960624522e-8,0.0016198245204375643,-4.3934319125600074e-5,3.3389732573910446e-8,0.0016198739737394417,-4.4060948688515964e-5,3.3491313790702704e-8,0.001619956137050907,-4.424248547766236e-5,3.3636593203828094e-8,0.0016200882954145463,-4.4460987523551896e-5,3.381084517949932e-8,0.0016202798937417601,-4.469366279624242e-5,3.399550450501883e-8,0.0016205316675254457,-4.4916122131234496e-5,3.417072218106146e-8,0.0016208358841783572,-4.51056635939364e-5,3.431804144775011e-8,0.0016211775123474187,-4.524417861154815e-5,3.442285758382958e-8,0.0016215360341788234,-4.532053562216261e-5,3.447647579529873e-8,0.0016218877589150979,-4.5332465127465866e-5,3.4477688314315185e-8,0.0016222086413283134,-4.528794941479019e-5,3.4433800071019065e-8,0.0016224777898770169,-4.520602795248432e-5,3.436102856785716e-8,0.0016226820080681198,-4.511649275684907e-5,3.428394416218811e-8,0.0016228212897336288,-4.505716598228851e-5,3.423303906504118e-8,0.0016229139005976808,-4.50670885186496e-5,3.423920259833186e-8,0.0016229978830992289,-4.51749217202737e-5,3.432456868826437e-8,0.0016231246866747196,-4.538503437297744e-5,3.449162408965321e-8,0.0016233428870291516,-4.566853319778398e-5,3.4716252957965794e-8,0.0016236772248806965,-4.596812991238768e-5,3.495178509204106e-8,0.0016241152647686152,-4.621869465816446e-5,3.514559949367053e-8,0.0016246116056889723,-4.637312377459764e-5,3.526003661180751e-8,0.0016251072872445914,-4.6418152194176277e-5,3.5285198490338464e-8,0.0016255516901675028,-4.637296697358738e-5,3.523771443245092e-8,0.0016259155653828902,-4.627592173555477e-5,3.5149685697300395e-8,0.0016261928281600965,-4.616943668607092e-5,3.5056106184870745e-8,0.0016263953747431522,-4.608946050777786e-5,3.4986134383754507e-8,0.00162654592076792,-4.606055522365073e-5,3.4959174040392114e-8,0.0016266717530924076,-4.6094961601108544e-5,3.498436583192719e-8,0.0016268002162611959,-4.619362578856872e-5,3.506170277704274e-8,0.0016269555762756986,-4.6347898809298577e-5,3.5183591772346576e-8,0.0016271567027249208,-4.654151467710764e-5,3.533649211716943e-8,0.0016274153179251607,-4.675286847043376e-5,3.550269075582101e-8,0.0016277348011426761,-4.695766887346226e-5,3.566236234788382e-8,0.0016281097039318963,-4.7132008983412574e-5,3.5796030279421156e-8,0.0016285262644494334,-4.7255678611228e-5,3.5887315314142226e-8,0.001628964073625187,-4.731526564371127e-5,3.5925567937765023E-08,0.0016293987695045343,-4.7306594472402196e-5,3.5907931482636357e-8,0.0016298055166128098,-4.723617482978707e-5,3.5840485560798704e-8,0.0016301629750232944,-4.7121376003895105e-5,3.573820180050115e-8,0.0016304574112304933,-4.698912835410786e-5,3.562359354313474e-8,0.001630686636381212,-4.687296006046646e-5,3.552402309108488e-8,0.001630863266571223,-4.6807921698255846e-5,3.546744809793738e-8,0.001631016074302961,-4.6822961021669483e-5,3.5476346222796364e-8,0.0016311873490471736,-4.6931285427303824e-5,3.556023149782128e-8,0.0016314241196807519,-4.712134705140385e-5,3.570874980570606e-8,0.0016317631244090534,-4.7353656267366736e-5,3.5889370924150126e-8,0.0016322143049490748,-4.756904084464057e-5,3.605411987293246e-8,0.0016327523237028758,-4.770869469055887e-5,3.615570802256036e-8,0.001633323721960312,-4.7737093003807625e-5,3.616600609540491e-8,0.0016338673630050457,-4.7654512699828896e-5,3.608614967055138e-8,0.0016343363161102794,-4.7492623882838964e-5,3.59428498486487e-8,0.0016347097760828822,-4.729839554612501e-5,3.577507367476015e-8,0.0016349924051370127,-4.7117130386448616e-5,3.5619987353530545e-8,0.0016352061343948639,-4.6981902350859326e-5,3.550426387925348e-8,0.0016353807083681227,-4.691028273741784e-5,3.544154910868567e-8,0.0016355464804455415,-4.690570628738172e-5,3.543383998937961e-8,0.001635730112170018,-4.696057989449839e-5,3.5474262687520425e-8,0.0016359523601496132,-4.705941012943231e-5,3.5549738432914185e-8,0.0016362269041772656,-4.718145036852111e-5,3.56431208201011e-8,0.0016365595879771274,-4.730304536267612e-5,3.5735016865504467e-8,0.0016369478987237219,-4.7400035126582016e-5,3.58056778292684e-8,0.0016373808483354118,-4.7450543227840547e-5,3.583728050603426e-8,0.0016378397017732427,-4.7438197284311285e-5,3.581663456998011e-8,0.0016383000265438497,-4.7355354305080354e-5,3.573790790644766e-8,0.001638735210162438,-4.720557229499285e-5,3.5604668453241686e-8,0.0016391211394910926,-4.700451726643738e-5,3.5430520082254106e-8,0.001639441306452008,-4.6778640180967995e-5,3.5237790208829276e-8,0.0016396912690668532,-4.6561377647454084e-5,3.5054142350092676e-8,0.0016398813658379573,-4.63872399230719e-5,3.490753406266736e-8,0.0016400368292994823,-4.628458200577974e-5,3.4820292858860436e-8,0.0016401946504560447,-4.6268117996810935e-5,3.480322538106792e-8,0.0016403967479677747,-4.6332728578918845e-5,3.485095674241419e-8,0.001640679685853359,-4.645083249127904e-5,3.494018708827335e-8,0.0016410627568417529,-4.657595311703952e-5,3.5032828146860476e-8,0.0016415385136823188,-4.665404102506928e-5,3.5085209016852697e-8,0.0016420712361589218,-4.6640593747802424e-5,3.506183028304087e-8,0.0016426066758982037,-4.651680204060536e-5,3.49483030632206e-8,0.0016430902029990438,-4.6296213477060036e-5,3.4756616314912035e-8,0.0016434846325752775,-4.601807762842053e-5,3.451956176891535e-8,0.0016437792010674768,-4.573164001443794e-5,3.4277753576294015e-8,0.0016439873944463735,-4.5480182565328244e-5,3.406648234300473e-8,0.0016441377649539473,-4.5291435015766347e-5,3.390791520498886e-8,0.0016442637177816871,-4.517553440841134e-5,3.38096166616314e-8,0.0016443960339398652,-4.512789702654878e-5,3.376713660815342e-8,0.0016445588953631549,-4.5133752929414504e-5,3.3767884966551584e-8,0.0016447684565497988,-4.517231429766106e-5,3.3794572068923304e-8,0.001645032669366525,-4.521994135279829e-5,3.382772789479797e-8,0.0016453514524502528,-4.5252519765481794e-5,3.3847558228796395e-8,0.0016457168505185967,-4.524759349498278e-5,3.38356608525806e-8,0.001646113327512554,-4.51867851078022e-5,3.3777059144320585e-8,0.0016465187233436285,-4.5058731090684236e-5,3.366270182651552e-8,0.0016469065595708819,-4.4862213010709696e-5,3.349209230451183e-8,0.0016472501485759548,-4.460855757214049e-5,3.327522050357837e-8,0.0016475282892311342,-4.43219688174928e-5,3.303267631530774e-8,0.001647731361928809,-4.40365769207798e-5,3.279298525555044e-8,0.0016478658173717641,-4.378990661504161e-5,3.2587010223876336e-8,0.001647955012278325,-4.361395560197095e-5,3.244050743190803e-8,0.0016480353368982224,-4.352634140384957e-5,3.236693816783387e-8,0.0016481481573200063,-4.352430208745986e-5,3.236282743263174e-8,0.0016483294908475749,-4.358362185466893e-5,3.240727442369534e-8,0.001648600066709863,-4.366323577305269e-5,3.2466074614676396e-8,0.0016489585077819739,-4.371486073861877e-5,3.249977289857885e-8,0.0016493799815096145,-4.369565905864213e-5,3.247396466644824e-8,0.0016498216574363398,-4.35805854427313e-5,3.236916312326058e-8,0.0016502342591044501,-4.337016148742985e-5,3.2186868815840264e-8,0.0016505762173780565,-4.309020706568123e-5,3.194909432152713e-8,0.0016508250968513124,-4.278317246005813e-5,3.1691092721698956e-8,0.0016509819009967624,-4.24946924788503e-5,3.1450271221881416e-8,0.0016510674183862332,-4.226105950962592e-5,3.125597438215787e-8,0.0016511135338679924,-4.210202576888828e-5,3.112374663814163e-8,0.0016511538874274358,-4.201993406387043e-5,3.105483497910188e-8,0.0016512170388640625,-4.200324771532353e-5,3.1039256218679945e-8,0.0016513230147448136,-4.2031673250908966e-5,3.106005739207479e-8,0.0016514824899899535,-4.2080862105879425e-5,3.109711887696447e-8,0.0016516973653265966,-4.212590433392133e-5,3.1129923067476226e-8,0.001651961729402234,-4.214373526750093e-5,3.113947244255304e-8,0.001652262709403183,-4.2115034434587586e-5,3.11098777670916e-8,0.001652581282236162,-4.20262355409554e-5,3.103010807540562e-8,0.001652893563089459,-4.1871968498026697e-5,3.089609413234407e-8,0.0016531733119630543,-4.165773999853627e-5,3.071294747399099e-8,0.001653396304072018,-4.1401950749318465e-5,3.0496512296258735e-8,0.0016535465337220673,-4.113559677284715e-5,3.027291157231968e-8,0.00165362283822673,-4.08978653952933e-5,3.007468972951524e-8,0.001653643051829214,-4.072709688518788e-5,2.993320892854408e-8,0.0016536425379715574,-4.064915069866908e-5,2.986905479463843e-8,0.0016536658656256423,-4.0667642322225216e-5,2.988415848613424e-8,0.0016537538623654171,-4.076077998128367e-5,2.995949305378407e-8,0.0016539310239152949,-4.088682206365838e-5,3.0059909699632935e-8,0.0016541982039326847,-4.099610396545309e-5,3.0144299811144e-8,0.0016545328263749025,-4.1044953793367646e-5,3.0177129842224954e-8,0.0016548957129889686,-4.100692229408898e-5,3.013755445295461e-8,0.0016552417765755723,-4.0878540058739154e-5,3.0023865014476645e-8,0.0016555313813681053,-4.0678744800547455e-5,2.985267628556814e-8,0.0016557394578348126,-4.0442706059349526e-5,2.965356616713717e-8,0.0016558602205119905,-4.0212091256584694e-5,2.9460936650144332e-8,0.0016559066064064827,-4.002467175107929e-5,2.9305507808049016e-8,0.0016559051411805651,-3.990618815504244e-5,2.9207810627581598e-8,0.0016558883208421219,-3.986641734804314e-5,2.9175190181454984e-8,0.0016558871094012825,-3.989970995789232e-5,2.920244204328383e-8,0.0016559255239323612,-3.9988717521732396e-5,2.9274958922300416e-8,0.0016560179934640134,-4.010939295998521e-5,2.9372803922459204e-8,0.0016561690600313398,-4.023567907279301e-5,2.947446435780696e-8,0.0016563744709726966,-4.0343077329543915e-5,2.9559704687070583e-8,0.0016566227473716701,-4.04110569171678e-5,2.9611550177314757e-8,0.0016568967011817656,-4.0424765170366424e-5,2.9617783814663727e-8,0.0016571748725286567,-4.03766005139679e-5,2.9572361572399208e-8,0.001657433277921752,-4.026798280415287e-5,2.9476932544257488e-8,0.0016576481341211992,-4.011122108290574e-5,2.9342315929308953e-8,0.0016578002161897344,-3.993068140079735e-5,2.918927620055278e-8,0.0016578808882250792,-3.97616016784514e-5,2.904730413787855e-8,0.0016578983842147038,-3.964455859766971e-5,2.894986463588264e-8,0.0016578810457861806,-3.961480375790006e-5,2.8925550308629004e-8,0.0016578735047228827,-3.968893422226867e-5,2.8987194852995764e-8,0.0016579242628156493,-3.985510074322592e-5,2.9124022121367424e-8,0.0016580686098759247,-4.007348282468502e-5,2.9302307407495906e-8,0.001658315212483153,-4.028875236110224e-5,2.9475907260284677e-8,0.0016586433615687947,-4.044883713349159e-5,2.9601907087753384e-8,0.0016590113970561915,-4.0520869931719907e-5,2.9653810852602028e-8,0.0016593709065407672,-4.049825768358674e-5,2.9627222749183985e-8,0.0016596801558158162,-4.039855087642855e-5,2.953777937619335e-8,0.0016599128451770951,-4.025546688761349e-5,2.9414208659192474e-8,0.001660061372670357,-4.010894002692455e-5,2.928985879812469e-8,0.0016601355508499426,-3.999598249842553e-5,2.9195098085642385e-8,0.0016601582578794414,-3.994386969418339e-5,2.9151836997324146e-8,0.0016601594601349523,-3.9966285990856224e-5,2.9170608546724392E-08,0.0016601699239930832,-4.006254573710791e-5,2.9250175101477995e-8,0.0016602158041532625,-4.021951416375853e-5,2.9379253301896273e-8,0.0016603149537395255,-4.041536412718664e-5,2.9539614735345927e-8,0.00166047527124585,-4.062408817363606e-5,2.970971399095024e-8,0.0016606948895783432,-4.081978853524619e-5,2.986812443718438e-8,0.0016609636296508186,-4.098007900947471e-5,2.9996308350286483e-8,0.0016612650174455234,-4.108841983012459e-5,3.0080601450579956e-8,0.0016615783991599132,-4.113565076063209e-5,3.01135932639863e-8,0.00166188105966781,-4.11211016170598e-5,3.009513534055636e-8,0.001662150531071203,-4.105352714493535e-5,3.0033097660775586e-8,0.0016623675379770072,-4.095183539624763e-5,2.994381510048298e-8,0.0016625201033940193,-4.0844962473662907e-5,2.98517361833591e-8,0.0016626087554811723,-4.0769446539057265e-5,2.9787188477707118e-8,0.0016626514160071732,-4.0762994359918156e-5,2.9780965991072815e-8,0.0016626848298044925,-4.0853432310140516e-5,2.9855291758414986e-8,0.0016627585180696237,-4.104557297078488e-5,3.001319945286181e-8,0.0016629196343020275,-4.1312810810254054e-5,3.023184378109478e-8,0.0016631936622173485,-4.1601319751516236e-5,3.046615302114082e-8,0.0016635717482644979,-4.1848343784879263e-5,3.0664058183648755e-8,0.0016640132555107746,-4.200576477773202e-5,3.0786057280139574e-8,0.0016644620386205267,-4.205590491481198e-5,3.0818301607812385e-8,0.001664866364125141,-4.201279974388258e-5,3.0773509768777413e-8,0.001665192705554029,-4.1912072651471524e-5,3.068227045198648e-8,0.0016654301308830564,-4.1797159168452974e-5,3.0581274453788686e-8,0.0016655875286445104,-4.170783384293948e-5,3.050359333944092e-8,0.001665687465604892,-4.167319984191924e-5,3.0472896827926416e-8,0.0016657594905155892,-4.170874776273719e-5,3.050124412626773e-8,0.0016658342301060726,-4.181625386895793e-5,3.058929521132896e-8,0.0016659386770511526,-4.1985505643195065e-5,3.0727965256502515e-8,0.0016660927790692734,-4.2197234556937535e-5,3.0900934221248055e-8,0.001666307394327278,-4.242676039351328e-5,3.108761361993264e-8,0.0016665836116936171,-4.2647885737481854e-5,3.1266263776837525e-8,0.0016669133750296294,-4.2836615240290816e-5,3.141699700450582e-8,0.0016672812040082632,-4.29742538784887e-5,3.1524353127941986e-8,0.001667666583854231,-4.3049585079543835e-5,3.157918783389978e-8,0.0016680466219054927,-4.306016694156729e-5,3.1579840829446867e-8,0.0016683988209936053,-4.3012919060955386e-5,3.153264421759085e-8,0.0016687039684606657,-4.2924075892586436e-5,3.145177637443578e-8,0.001668949248977301,-4.281847186208641e-5,3.135844372913255e-8,0.001669131786259909,-4.272775819299064e-5,3.127914542178871e-8,0.0016692623804481766,-4.268653070428464e-5,3.1242302733313314e-8,0.0016693680627836978,-4.272526972232355e-5,3.1272440060728026e-8,0.0016694908319522278,-4.286013130087455e-5,3.138195636848311e-8,0.0016696795079151228,-4.3082236687797025e-5,3.156257050561017e-8,0.0016699738397906113,-4.335263606913009e-5,3.178138863954782e-8,0.0016703860640257925,-4.3610062290433165e-5,3.1987399692878435e-8,0.0016708909850968417,-4.3792311883293744e-5,3.212916881254575e-8,0.0016714333005318656,-4.3861116917503015e-5,3.217546090751692e-8,0.0016719492822700806,-4.3815726814167675e-5,3.2126524444803504e-8,0.0016723897475633752,-4.368843070089595e-5,3.201025739742718e-8,0.0016727324810957033,-4.352796787840965e-5,3.1868119479992646e-8,0.0016729818078562674,-4.338203342372647e-5,3.174024705968066e-8,0.001673160510358554,-4.3286058936851166e-5,3.165596355869807e-8,0.0016733001997954202,-4.325918304672302e-5,3.1630534790235667e-8,0.0016734335563792723,-4.3305040518058526e-5,3.166611119385737e-8,0.0016735892269826305,-4.3414715646800075e-5,3.1754482304429493e-8,0.0016737888324904195,-4.357023755789901e-5,3.188016234879414e-8,0.0016740453537005702,-4.3748057320064645e-5,3.202330368510447e-8,0.0016743624861162748,-4.392241829557162e-5,3.216241408654458e-8,0.0016747348092937828,-4.406860454410632e-5,3.227695616684352e-8,0.0016751487805059524,-4.416603666815915e-5,3.234987839857888e-8,0.001675584637718124,-4.420100590072595e-5,3.236992864406305e-8,0.0016760191120139118,-4.4168658691226686e-5,3.23333885762874e-8,0.0016764286255676625,-4.407397693962139e-5,3.224493873197347e-8,0.0016767926831136699,-4.393169599546051e-5,3.211753662941352e-8,0.001677097237930815,-4.3765093105344423e-5,3.197123217472216e-8,0.00167733777658621,-4.360358105039846e-5,3.183091478114156e-8,0.001677521869398556,-4.347902774846859e-5,3.172303510741116e-8,0.0016776707408900074,-4.342049118287758e-5,3.167116295241453e-8,0.0016778187422698135,-4.3447130391136005e-5,3.1690241873688606e-8,0.0016780089503785252,-4.3560098509420256e-5,3.178016652122048e-8,0.0016782833720448765,-4.373614563117936e-5,3.192080369790514e-8,0.0016786683666438333,-4.3927655024510755e-5,3.207221484054373e-8,0.001679160369115784,-4.407367191046424e-5,3.2183808817329206e-8,0.0016797209875307913,-4.412114009758808e-5,3.221188471697183e-8,0.0016802880403294148,-4.404672142738793e-5,3.213771971384632e-8,0.001680798773740542,-4.386597338792192e-5,3.197519004817064e-8,0.0016812121713359505,-4.362439078443936e-5,3.176318558267004e-8,0.0016815186777889915,-4.337739128303645e-5,3.1548644038694827e-8,0.0016817358173011794,-4.317163234212843e-5,3.137068706839119e-8,0.0016818964774662018,-4.303518866881324e-5,3.125235326029229e-8,0.0016820373053456571,-4.2976515779093504e-5,3.1199916976096325e-8,0.0016821908517579908,-4.298835334932385e-5,3.120645643391533e-8,0.001682381643870257,-4.305295001771544e-5,3.125647495228362e-8,0.0016826248641123465,-4.314669659029766e-5,3.1329875743603594e-8,0.0016829262935964223,-4.3243765750394774e-5,3.1404959032322505e-8,0.0016832827993444842,-4.3319058823132525e-5,3.1460773886099394e-8,0.0016836831808576592,-4.335081474193989e-5,3.147921387142313e-8,0.0016841094761317773,-4.332309858073908e-5,3.144709006843145e-8,0.0016845389965708768,-4.322812581928537e-5,3.1358136502702837e-8,0.0016849472827916928,-4.30680097516396e-5,3.121454317459761e-8,0.001685311817324549,-4.28553785051464e-5,3.102747616737498e-8,0.0016856160259362443,-4.2612465496661675e-5,3.081620600067579e-8,0.0016858529647612876,-4.2368472572295754e-5,3.060568908899294e-8,0.0016860279929869306,-4.2155252212118004e-5,3.042272064814904e-8,0.0016861597397253318,-4.2001707138160697e-5,3.029110352696416e-8,0.001686278802546357,-4.192753075558542e-5,3.0226450956112963e-8,0.0016864236511896307,-4.1937096150845514e-5,3.023131644925384e-8,0.0016866333005143353,-4.20148809990313e-5,3.029172471873377e-8,0.0016869370383114897,-4.212468985170035e-5,3.0376837396555156e-8,0.0016873432300061099,-4.221528826700933e-5,3.0443795692792346e-8,0.0016878316433975797,-4.223370069387507e-5,3.044875659726567e-8,0.0016883549945588567,-4.214339067565662e-5,3.0361907947096335e-8,0.0016888524992501178,-4.193939125212146e-5,3.017996755366323e-8,0.0016892708942925403,-4.165129888299081e-5,2.992858118803242e-8,0.0016895823148465297,-4.1331399559831654e-5,2.9652240492607542e-8,0.0016897900659125485,-4.103474076847829e-5,2.9397395175287495e-8,0.0016899216625505006,-4.080203475990938e-5,2.919799465346154e-8,0.0016900157054978312,-4.0652031392961096e-5,2.906915313908238e-8,0.0016901099208097574,-4.058288462987776e-5,2.900853004866035e-8,0.0016902339270298944,-4.057817378667731e-5,2.900165126974593e-8,0.0016904065626526063,-4.061354355146046e-5,2.9027644312851774e-8,0.0016906360051758417,-4.0661950119559325e-5,2.9063648467584324e-8,0.0016909209995482196,-4.069723028481099e-5,2.9087710885649258e-8,0.0016912522654108416,-4.069653884596306e-5,2.9080721860103752e-8,0.0016916138646757722,-4.064230977992161e-5,2.9028017183053914e-8,0.0016919847467131485,-4.052416230559773e-5,2.8921020015667242e-8,0.0016923408945919195,-4.034078146507427e-5,2.8758904768726176e-8,0.0016926584456100585,-4.0101338254094135e-5,2.854984370404633e-8,0.0016929177886920088,-3.98256830559316e-5,2.8311126828899853e-8,0.001693108077881154,-3.954252987433632e-5,2.8067479641023334e-8,0.0016932310746483276,-3.928519728252996e-5,2.7847258747180767e-8,0.0016933029691601435,-3.908519792267514e-5,2.767686433700739e-8,0.0016933530634665743,-3.896487647791898e-5,2.7574483226122663e-8,0.0016934189419301243,-3.893091195901987e-5,2.7544749748504323e-8,0.0016935386906464923,-3.897054727601237e-5,2.7575867805514548e-8,0.001693741560057379,-3.905203356829756e-5,2.7640332995878002e-8,0.0016940391412425884,-3.9130122676386634e-5,2.7699808677760945e-8,0.0016944196388182435,-3.9156405028759944e-5,2.7713881316001143e-8,0.0016948479443695268,-3.909270277009998e-5,2.7651188701418565e-8,0.0016952732925359264,-3.892369137957591e-5,2.749979593321849e-8,0.0016956435737868081,-3.8663481150373246e-5,2.7272496371780773e-8,0.001695921508217519,-3.835205250275875e-5,2.7003629854952092e-8,0.0016960956761315402,-3.804202367397545e-5,2.67378143191e-8,0.0016961815319577094,-3.778160361537539e-5,2.6515529524935576e-8,0.001696213032473906,-3.7601416121365983e-5,2.6362069074866936e-8,0.0016962301457196613,-3.750973613700963e-5,2.628370233701135e-8,0.0016962680770975457,-3.749551816840239e-5,2.627045669394839e-8,0.0016963512376621233,-3.753538910232288e-5,2.63021853253086e-8,0.0016964917453452192,-3.7600818583413475e-5,2.635465438290942e-8,0.001696690651419292,-3.766350660714986e-5,2.6404007688425848e-8,0.001696940137771745,-3.769874102950349e-5,2.642947829630893e-8,0.0016972256658882062,-3.7687335396604675e-5,2.6414948818137022e-8,0.0016975277902204365,-3.761694740849289e-5,2.635007890531258e-8,0.001697823895555182,-3.7483365373189244e-5,2.6231474474216885e-8,0.0016980904064073249,-3.729186542931282e-5,2.6063916854335785e-8,0.0016983059629982868,-3.705818431813839e-5,2.5861193564983613e-8,0.00169845567523588,-3.6808209557159376e-5,2.5645733638452276e-8,0.0016985358748413822,-3.6575286342219624e-5,2.544614117888997e-8,0.0016985578725676185,-3.6394393189292205e-5,2.5292069524213555e-8,0.0016985486004877865,-3.629367901585675e-5,2.5206946956193076e-8,0.001698546470920179,-3.628561471787852e-5,2.5200532434859682e-8,0.0016985925376170278,-3.6361141746669543e-5,2.5264171502710526e-8,0.0016987192823167937,-3.648970911878939e-5,2.537113473313952e-8,0.0016989407603901555,-3.66260131869023e-5,2.548261022146134e-8,0.0016992475797464068,-3.672165020583402e-5,2.5557724392811732e-8,0.0016996084606618878,-3.673811638230782e-5,2.5564517650592807e-8,0.001699977956475142,-3.6657310285023185e-5,2.5488638588697726e-8,0.0017003082070326627,-3.648654916289649e-5,2.5337305501061796e-8,0.001700561508238771,-3.625653060246809e-5,2.5137301531646965e-8,0.0017007199892369825,-3.601259358681587e-5,2.492738326789755e-8,0.0017007892677775634,-3.580192599678626e-5,2.474739066190967e-8,0.0017007949978842718,-3.566104751616369e-5,2.462773297309177e-8,0.0017007740285271689,-3.560774970729352e-5,2.4582760104628268e-8,0.001700763881614479,-3.5639540723169225e-5,2.4609678123756305e-8,0.0017007942876682992,-3.5737747088271245e-5,2.4692199666377635e-8,0.0017008827935677405,-3.5874468764077714e-5,2.48064931342209e-8,0.0017010342865269056,-3.601946403066804e-5,2.4926953335125145e-8,0.0017012429683338664,-3.614526778038245e-5,2.503041713192252e-8,0.0017014952046849267,-3.623023427960677e-5,2.5098644185563178e-8,0.001701772238022168,-3.626002631665762e-5,2.5119562344499273e-8,0.0017020524196195597,-3.6228338899696296e-5,2.5087946189913077e-8,0.0017023131682198593,-3.613749747676565e-5,2.500601481098576e-8,0.0017025331952084945,-3.599911636755302e-5,2.488403054979358e-8,0.001702695545569224,-3.583443484893609e-5,2.4740519688495516e-8,0.001702791658995604,-3.567341761960704e-5,2.4601345097724025e-8,0.001702825905263925,-3.5551336305842663e-5,2.449660803475595e-8,0.0017028188818827854,-3.550180632355494e-5,2.4454604213756933e-8,0.001702806735149731,-3.5546798682885895e-5,2.4493348244526906e-8,0.0017028341827005904,-3.5686793861779424e-5,2.4612368548798255e-8,0.0017029417119942861,-3.589622192692521e-5,2.4789084250634145e-8,0.001703151464359933,-3.612826882154989e-5,2.4983140816697334e-8,0.0017034584180842351,-3.632857896050061e-5,2.514822835935455e-8,0.0017038313132765339,-3.645226816286234e-5,2.5246595649292e-8,0.0017042226379164888,-3.647699395454146e-5,2.5260079820686068e-8,0.0017045828447247262,-3.640761249596701e-5,2.5193854756660187e-8,0.0017048733046878682,-3.627237682470769e-5,2.5072903100127402e-8,0.0017050744960167964,-3.611354589471979e-5,2.4933747465570844e-8,0.0017051883610562926,-3.597597816658294e-5,2.4814589910546375e-8,0.0017052354342512147,-3.5896752180398834e-5,2.4746512664333185e-8,0.0017052482576193312,-3.589793749996182e-5,2.4747526264296278e-8,0.001705263072666433,-3.598363726072869e-5,2.482032549880074e-8,0.0017053119227668128,-3.614137236019604e-5,2.4953695706256513e-8,0.0017054169711461474,-3.6346798808851755e-5,2.5126630491637535e-8,0.001705587948875609,-3.656997064057401e-5,2.5313627491764613e-8,0.0017058225445119196,-3.678132058142517e-5,2.548965965479151e-8,0.0017061087821257628,-3.69561651974611e-5,2.563388881603951e-8,0.0017064282269366776,-3.70773600928232e-5,2.5731871018470053e-8,0.0017067591018042412,-3.713639521195745e-5,2.5776518819360373e-8,0.0017070789070781516,-3.71335783856623e-5,2.576833424327725e-8,0.001707366647808429,-3.7077896034809675e-5,2.5715344204894712e-8,0.0017076050669122245,-3.6986775316050295e-5,2.563286430776859e-8,0.0017077833482693745,-3.6885519284883346e-5,2.5542879446377526e-8,0.0017079005422884115,-3.6805662765103294e-5,2.547244983570222e-8,0.0017079692563718653,-3.678101653653675e-5,2.545019000338502e-8,0.0017080179220300188,-3.684031594380135e-5,2.549999137370553e-8,0.0017080887479602191,-3.699691368462634e-5,2.5632392147724558e-8,0.001708228641281455,-3.723898589582162e-5,2.583648649016691e-8,0.0017084735851781347,-3.752657719115359e-5,2.607763848747086e-8,0.0017088326289339622,-3.7800822890985845e-5,2.6305464895935834e-8,0.0017092809717665692,-3.800389880699946e-5,2.6470864658603684e-8,0.001709767617820864,-3.810010719756817e-5,2.6543979991628234e-8,0.0017102337850382358,-3.8086965178193554e-5,2.6523588534275293e-8,0.0017106319934249428,-3.799214504651016e-5,2.6434316445958196e-8,0.0017109375331463164,-3.786074079930412e-5,2.6315481437475767e-8,0.0017111503518974585,-3.774050858751181e-5,2.6208213356204093e-8,0.0017112901426587356,-3.767043065840216e-5,2.6145574168089167e-8,0.001711388473927356,-3.767435097338324e-5,2.6147233879245078e-8,0.0017114807478860903,-3.7759148181293965e-5,2.6218181852708225e-8,0.0017115993915441882,-3.791616629237784e-5,2.6350243451075947e-8,0.0017117688340202747,-3.812478479964005e-5,2.6525321161408846e-8,0.0017120025462314225,-3.8357269218783055e-5,2.671957407701288e-8,0.0017123022368902155,-3.858401705662783e-5,2.690781030939024e-8,0.0017126589667248331,-3.8778319536625255e-5,2.706742096037333e-8,0.0017130556713426438,-3.892000575518932e-5,2.718139609955358e-8,0.0017134704463890348,-3.8997637220543705e-5,2.72401837338603e-8,0.0017138799079658143,-3.900926090925543e-5,2.7242381927571813e-8,0.0017142621560916798,-3.896209930041389e-5,2.719452965369347e-8,0.0017145992769997747,-3.887164408049795e-5,2.7110327165076998e-8,0.0017148795732618073,-3.876038090260755e-5,2.7009443934541433e-8,0.0017150997739135154,-3.8656079592503165e-5,2.691587804537622e-8,0.0017152674011576832,-3.858919935674702e-5,2.6855564023675893e-8,0.001715402930080424,-3.858850645778573e-5,2.68525620088811e-8,0.0017155403030105689,-3.867411814540851e-5,2.6923223505940072e-8,0.001715723354598753,-3.884849496986257e-5,2.706875788258036e-8,0.0017159957908326042,-3.9088518326831626e-5,2.7268754434345864e-8,0.0017163851403779347,-3.9344697300168935e-5,2.748066663980295e-8,0.001716886993958065,-3.955318428218216e-5,2.7650053898035193e-8,0.0017174602847125158,-3.965909042471542e-5,2.773040269966326e-8,0.001718040134972025,-3.963938085916244e-5,2.770265841257851e-8,0.0017185625897166842,-3.9511228867599055e-5,2.758236823583223e-8,0.0017189868062355465,-3.932167724591736e-5,2.7410713552494807e-8,0.001719303790073166,-3.912724285345024e-5,2.7236765021706585e-8,0.0017195315916373054,-3.897569321704473e-5,2.710159348901865e-8,0.0017197039490144403,-3.889639604552238e-5,2.7029929542711243e-8,0.001719859026622647,-3.889874932274322e-5,2.7028998797406246e-8,0.0017200313178398767,-3.897534491821806e-5,2.7091549749431207e-8,0.0017202469671751624,-3.910684938799904e-5,2.7200319928931065e-8,0.001720521602018453,-3.926695176135516e-5,2.7332412797781222e-8,0.001720859794259045,-3.942689817955544e-5,2.7463158757262513e-8,0.001721255728863236,-3.955955466122989e-5,2.756947544016638e-8,0.0017216948873827532,-3.9642868900642176e-5,2.7632707506931933e-8,0.001722156569161592,-3.966254350579579e-5,2.764085344336467e-8,0.0017226170439005363,-3.9613697538888915e-5,2.7590003469533287e-8,0.001723052976870324,-3.9501301872358064e-5,2.7484764624405265e-8,0.0017234446600947672,-3.933941901930363e-5,2.733763268972299e-8,0.001723778754377761,-3.914951517199835e-5,2.7167486552635708e-8,0.0017240504576373702,-3.8958063040786535e-5,2.6997386666773607e-8,0.0017242650711087881,-3.8793531002493264e-5,2.6851810256787167e-8,0.0017244389431611393,-3.868270733259092e-5,2.675337383241879e-8,0.0017245995113033862,-3.864602832841346e-5,2.671885005626151e-8,0.0017247834536315045,-3.8691681327300336e-5,2.6754311849929e-8,0.0017250313802367769,-3.880929377612953e-5,2.6850034141866425e-8,0.001725377842565471,-3.896581169015178e-5,2.697723630726428e-8,0.0017258375470063556,-3.910800396460535e-5,2.7090318371162557e-8,0.0017263930836693708,-3.917572346874251e-5,2.7138107085967308e-8,0.0017269933872087041,-3.912436180795919e-5,2.7082925689746156e-8,0.0017275689865215494,-3.8945638522437385e-5,2.691835379492017e-8,0.0017280585048235183,-3.86727214245852e-5,2.6673635556659343e-8,0.001728431073422244,-3.836534884152783e-5,2.6400818438587404e-8,0.0017286923868734853,-3.808504387510162e-5,2.61532106623058e-8,0.0017288748816655678,-3.787530232705404e-5,2.5968120288942417e-8,0.0017290217154868146,-3.7754199534558863E-05,2.5860493154658515e-8,0.0017291734675064128,-3.771726995413944e-5,2.582562501534354e-8,0.0017293607820238672,-3.7744848247661723E-05,2.584579636728525e-8,0.001729602000315515,-3.780948874960963e-5,2.5896883802857644e-8,0.001729903599395464,-3.788165973355425e-5,2.595331727889163e-8,0.0017302617181777903,-3.7933690493989186e-5,2.5991389794231897e-8,0.0017306640141175572,-3.794259510943676e-5,2.5991547940454676e-8,0.001731091755867424,-3.789224556048095e-5,2.594015958103042e-8,0.001731522255539111,-3.7775051882364856e-5,2.5830937167328825e-8,0.0017319317604426708,-3.7593037290670407e-5,2.5665905426726304e-8,0.0017322987686243735,-3.735795299004614e-5,2.545555029736884e-8,0.0017326074067128012,-3.709011144855787e-5,2.5217806685687195e-8,0.0017328503457029842,-3.6815919057722917e-5,2.4975834819967113e-8,0.001733030801250284,-3.6564297546596944e-5,2.4754770932095832e-8,0.001733163245050693,-3.636230112525841e-5,2.4577788776660804e-8,0.0017332725692263016,-3.6230386059595666e-5,2.446195888578073e-8,0.001733391561335409,-3.6177777041230204e-5,2.4414354594100277e-8,0.0017335564073636222,-3.619837183913728e-5,2.4428778625296542e-8,0.001733799814146551,-3.626816379255833e-5,2.4483858210644657e-8,0.0017341419144584454,-3.634606741287226e-5,2.454398795466479e-8,0.0017345806750870597,-3.638048933612316e-5,2.4565021790145197e-8,0.0017350858869240476,-3.632295309658755e-5,2.4505843202086038e-8,0.0017356024788424108,-3.614624025006184e-5,2.4343764994910206e-8,0.0017360663216553012,-3.585874629062718e-5,2.408675934782713e-8,0.0017364275421104804,-3.550486845228883e-5,2.377374351553505e-8,0.001736668888599713,-3.514850340937432e-5,2.34602712311622e-8,0.001736808661045457,-3.4848567953173e-5,2.3197265336036242e-8,0.001736888544939611,-3.464037865199596e-5,2.301485336433552e-8,0.0017369558513605297,-3.4530440416808935e-5,2.29179595201377e-8,0.001737049707092597,-3.4502354376221574e-5,2.289165624475731e-8,0.0017371947516276504,-3.4526982344086895e-5,2.2910199010581445e-8,0.0017374008073448293,-3.4571512886728264e-5,2.2944984052831473e-8,0.001737665467048844,-3.460545560147143e-5,2.2969695297045837e-8,0.001737977290689824,-3.460390307791772e-5,2.296299541437974e-8,0.0017383186141002541,-3.454918032334136e-5,2.290982677063709e-8,0.0017386679295325906,-3.4431804356590167e-5,2.2802188582601254e-8,0.0017390021734525031,-3.42511906097866e-5,2.2639776047910924e-8,0.0017392992945751758,-3.40160914722638e-5,2.243042545250072e-8,0.0017395413117880889,-3.374434814309473e-5,2.2189933916874547e-8,0.0017397176600680104,-3.346135952529788e-5,2.1940688488459516e-8,0.0017398281621878566,-3.319689225605055e-5,2.170877243418754e-8,0.0017398847366847004,-3.2980307378858836e-5,2.1519663391740078e-8,0.00173991100205662,-3.283480466826047e-5,2.1393128136041958e-8,0.0017399392899709579,-3.27718231350248e-5,2.1338379242105724e-8,0.00174000521831946,-3.278698042141254e-5,2.1350723083240454e-8,0.001740140572588363,-3.285870325852261e-5,2.1410652793135758e-8,0.0017403655886877377,-3.295034303669861e-5,2.1485963701877946e-8,0.0017406820927880144,-3.301629939579607e-5,2.153721791335664e-8,0.0017410695269251995,-3.301209684177935e-5,2.152643905078453e-8,0.001741486310794703,-3.290702867540473e-5,2.1427864745405244e-8,0.0017418784545159788,-3.269589869418132e-5,2.1237862433750336e-8,0.0017421948525763043,-3.2404476839655194e-5,2.097945465702013e-8,0.001742404370709457,-3.208389090653782e-5,2.069734831489266e-8,0.001742506671572139,-3.179415040864402e-5,2.0443603476147352e-8,0.0017425307722198473,-3.158389373995162e-5,2.0260073766504838e-8,0.0017425223974869423,-3.147622681133658e-5,2.0166207874633754e-8,0.0017425275508909542,-3.146622368211866e-5,2.0157058325399752e-8,0.0017425801811898768,-3.152827253738807e-5,2.020986020759265e-8,0.0017426972860252556,-3.162719052466486e-5,2.02938080720638e-8,0.001742880085460341,-3.172780363660379e-5,2.0378372619537326e-8,0.001743118076178938,-3.180084546028723e-5,2.0438317988914532e-8,0.0017433934077427334,-3.1825558838409014e-5,2.045583270732787e-8,0.0017436844082488409,-3.179033969714021e-5,2.0421013873564265e-8,0.001743968178512343,-3.169263001235832e-5,2.0331783624667846e-8,0.0017442227209409098,-3.153871728518193e-5,2.0193782525411485e-8,0.0017444291701622036,-3.134350069999404e-5,2.002022746940685e-8,0.0017445744879534223,-3.112978763186553e-5,1.9831294365844262e-8,0.0017446545474839863,-3.092639446856581e-5,1.9652370870985962e-8,0.0017446769299296102,-3.0764373350770444e-5,1.9510621046903156e-8,0.0017446621867443558,-3.067120727891532e-5,1.9429795770389297e-8,0.001744642159515886,-3.066382603124781e-5,1.9424111620866493e-8,0.0017446545782597647,-3.074243219545489e-5,1.9492972810802038e-8,0.0017447345609175441,-3.088764647827402e-5,1.961870511808151e-8,0.0017449051754598907,-3.106281392238331e-5,1.9768826171514667e-8,0.0017451700230479688,-3.122163105108318e-5,1.9902887093021913e-8,0.001745510408947374,-3.1319374667683715e-5,1.9982307573413395e-8,0.001745888357283682,-3.1324766347923475e-5,1.998060209584599e-8,0.0017462551360621196,-3.122919694479231e-5,1.989118907219179e-8,0.0017465634988662125,-3.105046157655002e-5,1.9730384470556232e-8,0.001746780545164631,-3.0829192817083005e-5,1.9534083265630877e-8,0.0017468971763283654,-3.06181089004315e-5,1.9348284579479396e-8,0.0017469304559974707,-3.0466979567041213e-5,1.921600927524104e-8,0.001746917542182514,-3.0408580265584186e-5,1.916519343229281e-8,0.001746903536584843,-3.0450937289348743e-5,1.9202135362128732e-8,0.0017469283478326418,-3.057824727716383e-5,1.931250208156185e-8,0.0017470175401144699,-3.075870969388561e-5,1.9468283092315117e-8,0.0017471793662891689,-3.095489208974001e-5,1.9636835355944387e-8,0.00174740696584924,-3.1132521919019314e-5,1.978845734405289e-8,0.0017476831047323403,-3.126577909856488e-5,1.9900875698021727e-8,0.0017479851225330183,-3.1339285687671686e-5,1.9960887050540934e-8,0.0017482888771933986,-3.134799753916344e-5,1.9964247391127438e-8,0.001748571500534339,-3.1296247023240655e-5,1.9914888607216414e-8,0.0017488134063673208,-3.1196725784627565e-5,1.9824099003596076e-8,0.0017490001909731922,-3.106955308858083e-5,1.970973106837139e-8,0.0017491248720657058,-3.0941022082626086e-5,1.9595042768266226e-8,0.0017491904664698418,-3.084128927975832e-5,1.9506546090950694e-8,0.0017492122725144203,-3.080019758367981e-5,1.9470218613974216e-8,0.0017492184473760612,-3.084086291599031e-5,1.950583763271849e-8,0.0017492470171063378,-3.097194995726486e-5,1.9620297100766168e-8,0.0017493381646387358,-3.1181363894115793e-5,1.980227981843363e-8,0.0017495228601829887,-3.143510381205071e-5,2.0021485851797534e-8,0.0017498116793050868,-3.168386290175472e-5,2.023458425088819e-8,0.0017501889553554505,-3.18764773563137e-5,2.039704390946832e-8,0.001750615655745262,-3.197543249573554e-5,2.0476649055390935e-8,0.0017510402683068693,-3.1968199999134966e-5,2.0463276536587624e-8,0.0017514133531797574,-3.187031880307763e-5,2.037138563020928e-8,0.0017517005273633118,-3.1719998107685436e-5,2.0235063634656074e-8,0.001751890219662361,-3.156694813316782e-5,2.009806183335921e-8,0.0017519948081852045,-3.1459214757831945e-5,2.0002203745109712e-8,0.0017520456413406555,-3.14316280501743e-5,1.99773642676767e-8,0.001752083843670919,-3.149863525213701e-5,2.0035412948970665e-8,0.0017521497040240116,-3.1652918673865666e-5,2.0169255510395947e-8,0.0017522736069611874,-3.186951297035694e-5,2.0356620338662876e-8,0.0017524707370152176,-3.211356229077129e-5,2.056690037038114e-8,0.0017527403103441905,-3.234896981308914e-5,2.076865466262888e-8,0.0017530684808992239,-3.254545176213017e-5,2.0935651692450514e-8,0.0017534331318351181,-3.2682714956734884e-5,2.1050408448247448e-8,0.0017538088119477358,-3.275180452227584e-5,2.110531752462392e-8,0.0017541707526388716,-3.275447431229004e-5,2.1102114748483773e-8,0.0017544976901405082,-3.270162706579011e-5,2.105056824283674e-8,0.0017547738024637697,-3.2611589026689284e-5,2.096699993899653e-8,0.0017549902985381242,-3.250844445279376e-5,2.0872790992964694e-8,0.001755147084288628,-3.242014951493518e-5,2.0792620166438958e-8,0.001755254570490484,-3.2375793594230804e-5,2.0751927960372814e-8,0.001755335063281145,-3.2401220502996406e-5,2.0772996896363735e-8,0.0017554223357314845,-3.251259859283147e-5,2.0869356621329078e-8,0.0017555573977173214,-3.2708863724273736e-5,2.1039332104000612e-8,0.0017557790984082053,-3.29660727723672e-5,2.126132814313656e-8,0.0017561108323753565,-3.3238262436040336e-5,2.1494763264115556e-8,0.0017565485849542516,-3.346811995275699e-5,2.1689479904005575e-8,0.0017570576145160576,-3.360552772869162e-5,2.1801953478252693e-8,0.001757581785070488,-3.362585143779291e-5,2.1811245999041253e-8,0.0017580620722044517,-3.353851148587489e-5,2.1726427797049774e-8,0.001758455202278241,-3.3382035778471196e-5,2.158208310470156e-8,0.0017587444079113072,-3.320959575010596e-5,2.1425399176948597e-8,0.0017589399770165945,-3.307263661221911e-5,2.130160656072588e-8,0.0017590722808459125,-3.3008502295315075e-5,2.1243072677899854e-8,0.001759181556547813,-3.3034286998855964e-5,2.1264051244620618e-8,0.0017593078653479616,-3.314644102862432e-5,2.1360602034657684e-8,0.0017594831921096522,-3.332452486865661e-5,2.1514143545573805e-8,0.0017597265437465275,-3.353738875474003e-5,2.1697021326259336e-8,0.001760042245970357,-3.3750244753001815e-5,2.1878713640531822e-8,0.001760421146334321,-3.393124357669487e-5,2.2031497920959415e-8,0.0017608439638752132,-3.405644801825657e-5,2.2134681640893213e-8,0.0017612857471203435,-3.411264048046515e-5,2.2176972713998292e-8,0.0017617204091223166,-3.409797973084421e-5,2.2157031793999206e-8,0.0017621245438929386,-3.402096746414191e-5,2.208259287114386e-8,0.0017624801775086999,-3.3898450706873454e-5,2.1968740632231774e-8,0.0017627765982876126,-3.3753300304850276e-5,2.183585863215288e-8,0.001763011621842634,-3.3612016549370004e-5,2.1707446371806972e-8,0.0017631925713161728,-3.350214912888116e-5,2.1607729651469524e-8,0.0017633370417948848,-3.344913871513708e-5,2.1558783250075647e-8,0.0017634730174059953,-3.347197967528787e-5,2.1576714714329268e-8,0.0017636371116576798,-3.357742597786236e-5,2.1666704084487572e-8,0.0017638691979690627,-3.3753723774377576e-5,2.181772916999189e-8,0.0017642023031790117,-3.396680513750332e-5,2.1999445627985694e-8,0.0017646491667109299,-3.4163476660183754e-5,2.2165086343053056e-8,0.0017651911849654452,-3.428501454789286e-5,2.226334653764835e-8,0.001765778160698935,-3.428858702670496e-5,2.2257091907866984e-8,0.0017663432093342334,-3.416606996623403e-5,2.213983656780172e-8,0.0017668269543614896,-3.3948415208319496e-5,2.193955489711035e-8,0.001767197842766506,-3.369259112538415e-5,2.17070724834961e-8,0.0017674586193811824,-3.34596154530708e-5,2.1496498412280247e-8,0.001767639060592299,-3.329574652596208e-5,2.1348468166328244e-8,0.0017677821871205088,-3.3223440312985864e-5,2.1282180173486558e-8,0.0017679311822968995,-3.324154570836546e-5,2.129578103953367e-8,0.001768120512436396,-3.333086353608994e-5,2.1371561635770116e-8,0.0017683715270797181,-3.346142626072527e-5,2.148260408851196e-8,0.0017686914318105862,-3.3599409128902524e-5,2.1598953117881766e-8,0.0017690744739801523,-3.371291615094851e-5,2.1692652330809286e-8,0.0017695045695388376,-3.3776430454713476e-5,2.1741529840179073e-8,0.0017699588242402324,-3.3773791444695706e-5,2.1731694812881347e-8,0.0017704114732510778,-3.369964876976124e-5,2.1658752122008647e-8,0.0017708378094016797,-3.355943690940463e-5,2.152778106353521e-8,0.0017712176390383754,-3.336799684118138e-5,2.1352151053456795e-8,0.0017715378651225137,-3.314720089247531e-5,2.1151437607701027e-8,0.0017717941126926234,-3.2923077927578334e-5,2.0948840418387312e-8,0.0017719915599731899,-3.272273093629134e-5,2.0768364307715262e-8,0.0017721450953806894,-3.257108279253322e-5,2.063183815712094e-8,0.001772278789586462,-3.248736044869667e-5,2.0555760321616602e-8,0.0017724243969323124,-3.2481099228891417e-5,2.0547838756955484e-8,0.0017726180377305497,-3.2547672204280884e-5,2.06032360891902e-8,0.001772893902096436,-3.26643881516983e-5,2.070137445010743e-8,0.0017732745145420026,-3.278970120097843e-5,2.0805422495871913e-8,0.0017737592672930375,-3.286910117515717e-5,2.0867510935645095e-8,0.0017743165104114895,-3.285007607212869e-5,2.0841794381781585e-8,0.0017748868641271837,-3.27030730663727e-5,2.0702786663879134e-8,0.0017754014530360297,-3.2437768348831866e-5,2.0459662686927267e-8,0.0017758080743716612,-3.2102608481630945e-5,2.015584789108212e-8,0.0017760903595036206,-3.17656634260758e-5,1.985200104905266e-8,0.0017762693117928238,-3.1488255206219554e-5,1.9602496536206447e-8,0.0017763894591366236,-3.13062590108772e-5,1.9438747273234566e-8,0.001776500414190258,-3.12255836885439e-5,1.9365283650061506e-8,0.0017766430268873303,-3.1228419406428315e-5,1.9365541425495753e-8,0.0017768429247380117,-3.128342719222774e-5,1.9411160162745227e-8,0.0017771097947912773,-3.1355028823638904e-5,1.9470365609482324e-8,0.0017774396800211817,-3.141000926638304e-5,1.9513809181670135e-8,0.0017778182926467716,-3.142162035464175e-5,1.951808140830944e-8,0.0017782244717445747,-3.137198226709649e-5,1.946769186203101e-8,0.0017786336024299082,-3.12533185341731e-5,1.9356066032986675e-8,0.0017790209705546684,-3.1068226775794e-5,1.9185763398043137e-8,0.0017793650121143564,-3.08290205222032e-5,1.8967926769402895e-8,0.001779650296646995,-3.055604937514018e-5,1.8720829744334336e-8,0.0017798698743530228,-3.0274995636721267e-5,1.846747256260845e-8,0.001780026632235612,-3.001344158238894e-5,1.8232467517967285e-8,0.0017801335374979842,-2.9797089846618077e-5,1.8038579085288705e-8,0.0017802127450977066,-2.964590951538579e-5,1.7903218620709243e-8,0.0017802935187865058,-2.9570467972433672e-5,1.783518762572123e-8,0.0017804088777299578,-2.9568714404354944e-5,1.7831942719272197e-8,0.0017805907080136712,-2.9623577448738986e-5,1.7877681205500904e-8,0.0017808630276179797,-2.97023326731302e-5,1.7943009994474517e-8,0.0017812337934054229,-2.97595557883807e-5,1.7987695659313328e-8,0.0017816872967592035,-2.9745687070046982e-5,1.7968220015004007e-8,0.0017821813976015835,-2.962172070135213e-5,1.7850629717166458e-8,0.0017826548299887984,-2.9376324177287026e-5,1.762553130680372e-8,0.0017830461959892749,-2.903634032102028e-5,1.731731488754778e-8,0.0017833176117902473,-2.866124927995671e-5,1.6979208783705445e-8,0.001783469533852475,-2.832122375637814e-5,1.6673724822837606e-8,0.0017835376035968266,-2.80706105762117e-5,1.6448993998207882e-8,0.0017835749164607615,-2.793168172891396e-5,1.6324306949224888e-8,0.0017836317390693452,-2.7894493168831586e-5,1.6290136262871556e-8,0.0017837425116183111,-2.7927737072698468e-5,1.6318029727125984e-8,0.0017839222251040216,-2.7991952248573566e-5,1.6372552649405453e-8,0.0017841690180765415,-2.804960543379875e-5,1.6420305148628225e-8,0.0017844690921453375,-2.8070762770376914e-5,1.6434881896134044e-8,0.001784801494145308,-2.803540319002629e-5,1.6398785045025665e-8,0.0017851419554334824,-2.7933929717305372e-5,1.6303760303012625e-8,0.0017854659718042635,-2.7766907604290468e-5,1.6150522430904983e-8,0.0017857515136427459,-2.7544366750350456e-5,1.5948164497142894e-8,0.0017859816002243757,-2.7284609584283965e-5,1.571315251966609e-8,0.0017861467536977667,-2.7012260273114013e-5,1.5467614316026404e-8,0.0017862470230057806,-2.6755286369400636e-5,1.5236648496569402e-8,0.0017862930134701384,-2.654104265296623e-5,1.504470406978934e-8,0.001786305424195102,-2.6391773125555355e-5,1.491146539228525e-8,0.0017863128449208082,-2.6320220335777346e-5,1.4847885035371189e-8,0.0017863478278571186,-2.632612309632168e-5,1.4853112441925018e-8,0.0017864415524204687,-2.639440009895842e-5,1.491303463720827e-8,0.0017866176433893105,-2.649564870787032e-5,1.500094022968379e-8,0.0017868858723667914,-2.6589505322540724e-5,1.5080702406757717e-8,0.0017872368982414784,-2.66314436018206e-5,1.5112903973863852e-8,0.0017876399981771522,-2.6583121415397484e-5,1.5063969741293373e-8,0.0017880463839678022,-2.6424855833963814e-5,1.4917086903880453e-8,0.0017884001103203367,-2.61662566626825e-5,1.4681479769128718e-8,0.0017886554421320897,-2.5848825556468653e-5,1.439459563665528e-8,0.0017887942451537537,-2.5535601758596886e-5,1.4112816495281188e-8,0.0017888338091817063,-2.5289736988679483e-5,1.3892330893168733e-8,0.0017888195185604239,-2.515213106178181e-5,1.3769205429052592e-8,0.0017888063464290775,-2.5129846263159923e-5,1.3749151498984439e-8,0.0017888398156686227,-2.5199537269306553e-5,1.3810764966794239e-8,0.0017889451574657782,-2.5320670226036306e-5,1.391749936516575e-8,0.0017891262814678304,-2.544988601042015e-5,1.4030567902762325e-8,0.0017893708634015488,-2.5550922719877188e-5,1.4117760285831568e-8,0.0017896570726811836,-2.5599109255723216e-5,1.4157333008626661e-8,0.0017899592671993573,-2.5582042811262578e-5,1.4138489270469296e-8,0.0017902519438446774,-2.5498478260559e-5,1.4060321791036643e-8,0.0017905123629933307,-2.535677868794753e-5,1.3930440496755607e-8,0.0017907225488373376,-2.51734072821892e-5,1.3763682625522863e-8,0.0017908711693659085,-2.4971322438834654e-5,1.3580725771725944e-8,0.0017909554371954345,-2.4777821665357153e-5,1.3406151734326352e-8,0.0017909827283962571,-2.462135499749847e-5,1.3265522508586063e-8,0.001790971202300491,-2.4527148765017287e-5,1.3181360162542386e-8,0.0017909485628708425,-2.4512064252896147e-5,1.316846906372442e-8,0.0017909483769799933,-2.457975629539259e-5,1.3229610662378395e-8,0.0017910040460442844,-2.4717652977466054e-5,1.3352913035006776e-8,0.001791141441592685,-2.4897216452611835e-5,1.3512291120867038e-8,0.0017913719494893788,-2.5078198784446382e-5,1.367144672572904e-8,0.0017916878464235458,-2.5216509648907783e-5,1.3791025050547342e-8,0.0017920615866127356,-2.5274345945545365e-5,1.3837668829362787e-8,0.0017924499408709217,-2.5230505604992228e-5,1.3793113821811035e-8,0.001792803043549295,-2.508822447015411e-5,1.3660997294053245e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_16.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_16.json new file mode 100644 index 000000000..bf8935107 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_16.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":16000,"numberOfSamples":1000,"samples":[0.0017930770944964171,-2.487756201187732e-5,1.3468791504217692e-8,0.0017932476264231187,-2.464987080068864e-5,1.3262714904077391e-8,0.0017933184724985877,-2.446409956071231e-5,1.3095425337680572e-8,0.0017933216314600794,-2.436869143477916e-5,1.3009865564682467e-8,0.0017933067138776958,-2.438639601001157e-5,1.3025800857085489e-8,0.0017933242278720884,-2.450889654783832e-5,1.3135191695059903e-8,0.0017934104016406212,-2.470298517826634e-5,1.330788790362845e-8,0.0017935796118112995,-2.4923857068963115e-5,1.35036193070344e-8,0.0017938254296263332,-2.512860398380717e-5,1.3684062401894767e-8,0.001794127049257825,-2.5285096932882215e-5,1.3820701756483629e-8,0.0017944568919538132,-2.537530987356056e-5,1.389769075082024e-8,0.0017947867111250417,-2.5394724503292413e-5,1.3911234845185292e-8,0.0017950914943699093,-2.5349982163249467e-5,1.3867468677974076e-8,0.0017953516485814604,-2.5256290869559507e-5,1.3780165902829643e-8,0.0017955543110713956,-2.513520274015715e-5,1.3668792904120013e-8,0.0017956944918898108,-2.501264398241291e-5,1.3556752559378335e-8,0.0017957763330320648,-2.4916631576514276e-5,1.3469287614057573e-8,0.0017958142078399008,-2.487403171878831e-5,1.343048298157746e-8,0.0017958328475770424,-2.4906014603702265e-5,1.3459107884232579e-8,0.001795865353512456,-2.5022541802827092e-5,1.3563657130380593e-8,0.001795948122041468,-2.521726303763574e-5,1.3737855679584164e-8,0.0017961127345561176,-2.546517299188524e-5,1.395871521848886e-8,0.0017963766324439365,-2.572537619201675e-5,1.4189187885469435e-8,0.0017967359302593923,-2.5949711291697144e-5,1.4386024761031048e-8,0.0017971637506210216,-2.6095329969824996e-5,1.451109103127541e-8,0.0017976155937020869,-2.6137143168968956e-5,1.4542469045381444e-8,0.0017980404371389018,-2.607573723966647e-5,1.4481422712615806e-8,0.001798394095120732,-2.5938065908348892e-5,1.4352832525648934e-8,0.0017986508156540284,-2.5770774714917362e-5,1.4199014670934582e-8,0.0017988099091846071,-2.5628118914854457e-5,1.4068743101640252e-8,0.0017988956039585806,-2.555773604555096e-5,1.4004458068040699e-8,0.0017989500158965364,-2.558822796060149e-5,1.4031230788508505e-8,0.0017990211621026053,-2.5722340085414784e-5,1.415084222610123e-8,0.0017991498357205768,-2.593791853046823e-5,1.4342850551324464e-8,0.0017993597382745207,-2.6195968610161597e-5,1.4571956673982097e-8,0.0017996538157950808,-2.645239065855816e-5,1.4798559267271849e-8,0.0018000169294873425,-2.666894130169837e-5,1.498852497549383e-8,0.0018004224996779246,-2.6820193009237008e-5,1.5119328433877708e-8,0.0018008399579285909,-2.6895709367472842e-5,1.5181911626012463e-8,0.0018012407279650508,-2.6898643187987404e-5,1.5179375808053418e-8,0.0018016019580566775,-2.6842624017871885e-5,1.512418529733506e-8,0.0018019083507358257,-2.6748422125539742e-5,1.503519386765796e-8,0.0018021529000758112,-2.664111066735776e-5,1.4935106313335826e-8,0.0018023373010458653,-2.654770620791294e-5,1.4848328300519829e-8,0.0018024724205052492,-2.6494772143160663e-5,1.4798742963175621e-8,0.0018025786668415908,-2.6505317999914305e-5,1.4806850211476605e-8,0.0018026854955645365,-2.659451656531552e-5,1.4885891179718516e-8,0.0018028287921071594,-2.6764406036804033e-5,1.5037147763755564e-8,0.0018030448604636129,-2.6999007434058543e-5,1.5245693907824705e-8,0.0018033608554715635,-2.726276700041339e-5,1.5479157196478573e-8,0.0018037839756043577,-2.750560873314212e-5,1.5692371417557645e-8,0.0018042943907072807,-2.767567790489397e-5,1.583886014992919e-8,0.0018048471164087917,-2.7736268154231167e-5,1.5886025345858665e-8,0.0018053841995643509,-2.7679480289528892e-5,1.582737530167465e-8,0.0018058526507647669,-2.752969711011927e-5,1.5685558185452904e-8,0.001806220217685462,-2.73353380759272e-5,1.550478294473961e-8,0.0018064829196074033,-2.715336860705409e-5,1.533667607943918e-8,0.001806663117932587,-2.7033305913710596e-5,1.5225741546222746e-8,0.001806800801895628,-2.7005730814722615e-5,1.5199028506319084e-8,0.0018069420013151019,-2.7077300335566203e-5,1.5261811538653193e-8,0.0018071276684187964,-2.7232000211422743e-5,1.5398964117004876e-8,0.0018073853085648632,-2.7437165696606414e-5,1.5580585890886757e-8,0.0018077246572371043,-2.7652248535832284e-5,1.576998693661435e-8,0.0018081377800550024,-2.7838089562507862e-5,1.5932006675260243e-8,0.0018086029626342595,-2.7964541054522235e-5,1.603977518121356e-8,0.0018090908374324907,-2.8014926126988497e-5,1.607861859878816e-8,0.00180957084697334,-2.7986978508900445e-5,1.6046829753568754e-8,0.0018100165314672806,-2.7890983536707856e-5,1.5953965389800106e-8,0.0018104089137041853,-2.774636589803873e-5,1.5817776136232783e-8,0.0018107380434183873,-2.7577939639375955e-5,1.5660833269492737e-8,0.0018110032945058872,-2.7412588632335316e-5,1.5507519669488106e-8,0.0018112130984671998,-2.727650820984009e-5,1.5381492498527788e-8,0.0018113845185778008,-2.719266881496396e-5,1.5303331370154355e-8,0.0018115426463610783,-2.7177984586301253e-5,1.5287947407869493e-8,0.0018117192686648675,-2.7239724617485946e-5,1.5341380468993828e-8,0.001811949680932402,-2.7371212382235838e-5,1.545703888127489e-8,0.0018122663836599232,-2.754807176709037e-5,1.561247872864076e-8,0.0018126893601793177,-2.772785807579092e-5,1.57692019263019e-8,0.001813215168157243,-2.7856683016959833e-5,1.5878661656300398e-8,0.001813810503341971,-2.788443523714781e-5,1.589593222254393e-8,0.0018144169960900853,-2.7784424994027194e-5,1.5797369795099836e-8,0.0018149690546354657,-2.7567238609616395e-5,1.5593102180247856e-8,0.0018154173615913274,-2.7279217321055754e-5,1.532562475157829e-8,0.001815745477353155,-2.698524284095293e-5,1.5054105867581623e-8,0.001815971625884253,-2.674564379645672e-5,1.4833294082824518e-8,0.0018161376350310534,-2.6598869981665784e-5,1.4697715161200344e-8,0.0018162930699050063,-2.6555272801256695e-5,1.46561098570472e-8,0.0018164816791041126,-2.6600309925083196e-5,1.4694563048089877e-8,0.001816733162707175,-2.6702680190249542e-5,1.4784125685246063e-8,0.0018170600913158257,-2.682355433898887e-5,1.4889335877885533e-8,0.0018174585911996668,-2.6924764974141972e-5,1.4975656178105195e-8,0.0018179114635388195,-2.697514492077015e-5,1.5015123550887387e-8,0.0018183927840198378,-2.69547379106428e-5,1.499003182489609e-8,0.0018188731580403156,-2.6856711418009936e-5,1.4894556739454665e-8,0.001819324793629755,-2.6687029559253713e-5,1.473440683021408e-8,0.0018197256785068433,-2.6462277654925132e-5,1.4524849413287513e-8,0.001820062373922574,-2.6206258898886165e-5,1.428764312060864e-8,0.001820331254382838,-2.5946127881015275e-5,1.4047536963377575e-8,0.001820538445168254,-2.5708755861324498e-5,1.3828946837314153e-8,0.0018206989383891886,-2.5517624437804906e-5,1.365308557110985e-8,0.0018208352337955717,-2.5390152599451144e-5,1.3535489407026761e-8,0.0018209755912363625,-2.5335207243642732e-5,1.34837573147026e-8,0.001821151632775928,-2.5350517985874814e-5,1.3495281869197622e-8,0.0018213945362785741,-2.5420047270152325e-5,1.3555011738893574e-8,0.0018217289276931587,-2.551235675360919e-5,1.363413439824075e-8,0.001822164406689718,-2.5582239942904856e-5,1.3691653129699898e-8,0.001822686655285152,-2.557849948022469e-5,1.3681411343723724e-8,0.0018232531039378613,-2.5459295222371094e-5,1.3565889406493894e-8,0.0018237998026180275,-2.5211254782313133e-5,1.3333435451442727e-8,0.0018242618025331551,-2.48617013791813e-5,1.300934477782622e-8,0.0018245988973076108,-2.4473013353101097e-5,1.2650735273151976e-8,0.0018248114805428112,-2.4119027032174727e-5,1.2325005783849212e-8,0.0018249369229238492,-2.3856916289854328e-5,1.2084104532181132e-8,0.0018250308362240503,-2.371030618670482e-5,1.1949100841989596e-8,0.001825146047330891,-2.366910915234589e-5,1.1910159201163204e-8,0.0018253190675345766,-2.3700474694523012e-5,1.1936747643950821e-8,0.0018255659145471929,-2.3762271034004848e-5,1.1990121606287427e-8,0.0018258842445968248,-2.3813805840709907e-5,1.2033166516185259e-8,0.001826258169929863,-2.382242826521537e-5,1.2036355717542334e-8,0.0018266634773100754,-2.3766769983762126e-5,1.1980573637170289e-8,0.001827072388230482,-2.363782080690576e-5,1.1857967699394822e-8,0.0018274577516185762,-2.343858881848419e-5,1.1671564450583e-8,0.0018277966526101797,-2.318264021823313e-5,1.1433927158541618e-8,0.0018280733241575382,-2.2891668446499556e-5,1.1164967072672481e-8,0.0018282811577905753,-2.259224023359341e-5,1.0889004337993399e-8,0.001828423551827078,-2.231201801919025e-5,1.0631321018346868e-8,0.0018285135003267157,-2.207596922814408e-5,1.0414665395833809e-8,0.0018285721071275558,-2.1903000912757984e-5,1.0256127104231967e-8,0.0018286262706814032,-2.1803209435120533e-5,1.0164594038831645e-8,0.001828705702435555,-2.177583438325039e-5,1.0138909579633824e-8,0.001828839337656277,-2.1807956588344662e-5,1.0166784524005633e-8,0.0018290509329571627,-2.1874064192536067e-5,1.0224554437432966e-8,0.0018293535538177238,-2.1937215282132975e-5,1.027838557907086e-8,0.0018297433561300666,-2.1953289747187514e-5,1.0288214837085777e-8,0.0018301945153309169,-2.1879869760203124e-5,1.0215787794044302e-8,0.001830658946308421,-2.168992779500395e-5,1.0036992338479185e-8,0.0018310753618979378,-2.138679258668782e-5,9.755367998113473e-9,0.0018313889838965569,-2.1011704357252705e-5,9.40893730399691e-9,0.0018315746329431721,-2.063467135717398e-5,9.061841978804914e-9,0.0018316490783180249,-2.0328796754628263e-5,8.780851241439044e-9,0.0018316632653398112,-2.0141677331726018e-5,8.60917634137112e-9,0.001831679395233614,-2.0080681978185537e-5,8.55305072202464e-9,0.0018317476612021335,-2.0117816834583795e-5,8.586332987307337e-9,0.0018318940208144653,-2.0206428881992914e-5,8.665969743081962e-9,0.0018321201082134187,-2.0298263194615822e-5,8.747708166164193e-9,0.001832409908402203,-2.0354458317239478e-5,8.796142458866711e-9,0.00183273774398109,-2.035003732644327e-5,8.788718700893353e-9,0.001833074770107819,-2.027416826766039e-5,8.715846695855356e-9,0.001833393452426999,-2.0128529716534936e-5,8.579316424344743e-9,0.0018336705866361742,-1.992511730302927e-5,8.390268759309309e-9,0.0018338894912187423,-1.968387735533606e-5,8.167058601271752e-9,0.0018340416791292305,-1.943010095958344e-5,7.932910852662894e-9,0.0018341280134618974,-1.9191384559990707e-5,7.713154507289564e-9,0.0018341590816821458,-1.8994066898046752e-5,7.53193522572574e-9,0.0018341544149850127,-1.885940649167221e-5,7.40865932392435e-9,0.0018341403815578727,-1.8800038802715472e-5,7.3546966523347715e-9,0.0018341468535115438,-1.8817250628981883e-5,7.370872897137305e-9,0.0018342029234141627,-1.889956862277312e-5,7.446231414582977e-9,0.0018343321227258867,-1.9023083174690816e-5,7.558447698209529e-9,0.0018345476553118807,-1.9153707945490168e-5,7.676042116963366e-9,0.0018348481083950683,-1.9251549921866032e-5,7.762491329140837e-9,0.0018352144196331546,-1.9277769509678416e-5,7.782530133022137e-9,0.0018356096596253435,-1.920398976117508e-5,7.710681424220857e-9,0.0018359837763515755,-1.9022957466042443e-5,7.540865396769042e-9,0.0018362849741516284,-1.8756908829736255e-5,7.293910761478627e-9,0.0018364766833233455,-1.8457870012827724e-5,7.017737181329629e-9,0.0018365538571077135,-1.8194914639068882e-5,6.775647214996834e-9,0.001836548563460727,-1.803024372589666e-5,6.624410847690285e-9,0.0018365187675594202,-1.7995409567851337e-5,6.592525088216024e-9,0.0018365252877235454,-1.8081331449302935e-5,6.671177914624835e-9,0.0018366101542084223,-1.8246672589318575e-5,6.822077045534804e-9,0.0018367869375824912,-1.8436994200718304e-5,6.995122222991016e-9,0.001837043888830328,-1.8602938875977135e-5,7.145101322978344e-9,0.0018373537387537482,-1.8710583772040503e-5,7.241122599512904e-9,0.0018376837337121634,-1.8743874840279134e-5,7.2687428712580284e-9,0.0018380027530075403,-1.8702372696090056e-5,7.227808403795434e-9,0.0018382852635966235,-1.8597450955179613e-5,7.128926096284541e-9,0.001838513176276471,-1.8448670412689796e-5,6.990149973877557e-9,0.0018386767249291653,-1.8280754164638692e-5,6.8342449477846595e-9,0.0018387750038904136,-1.812090639012062e-5,6.686252226411574e-9,0.0018388162973281307,-1.799601728606697e-5,6.570911706461216e-9,0.0018388179260978472,-1.7929389648419776e-5,6.509607695224068e-9,0.0018388050594228275,-1.7937016075237906e-5,6.516893378261047e-9,0.0018388079846011016,-1.8023966004633595e-5,6.597145459559734e-9,0.001838857713922728,-1.818180313357647e-5,6.742223335637884e-9,0.0018389803552352245,-1.838806035919854e-5,6.9310780933096055e-9,0.0018391912530982262,-1.860858891245793e-5,7.132034188312767e-9,0.0018394902971468079,-1.88029481324306e-5,7.3078518212857724e-9,0.0018398597310770378,-1.8932177661136858e-5,7.422918615431776e-9,0.0018402654168871984,-1.896772954162206e-5,7.451423914551764e-9,0.0018406621235211068,-1.8899934385024923e-5,7.385028293072869e-9,0.0018410028729857332,-1.8743806537061265e-5,7.238049462551088e-9,0.0018412512510457238,-1.8539475868505472e-5,7.047719368366382e-9,0.0018413937282192889,-1.834483799071887e-5,6.86733900839635e-9,0.0018414470718991932,-1.8220140618210308e-5,6.752093172557913e-9,0.0018414557581306575,-1.8208514775956216e-5,6.741217444212319e-9,0.0018414780209857879,-1.8320709364073575e-5,6.844095149750602e-9,0.001841565803992494,-1.8532077021471085e-5,7.037638298125493e-9,0.0018417482230087799,-1.8793447944416692e-5,7.276395121919292e-9,0.001842025845932932,-1.9049480082961622e-5,7.509453930519011e-9,0.001842376034057044,-1.925507263145096e-5,7.69549565376883e-9,0.0018427639401787223,-1.9383990375315344e-5,7.810647629678605e-9,0.0018431531413094465,-1.942958955901095e-5,7.849070713791684e-9,0.0018435127392187048,-1.940088549418417e-5,7.8192866216250315E-09,0.001843820730492911,-1.9317320377072763e-5,7.739348166296656e-9,0.0018440648885501498,-1.9204160908646343e-5,7.632620118984367e-9,0.001844242531542363,-1.9089035068363377e-5,7.524612793811735e-9,0.0018443600647661403,-1.8999259868333292e-5,7.440521812341918e-9,0.001844432549312981,-1.8959307662865297e-5,7.402863667254894e-9,0.0018444829953387927,-1.8987874349045107e-5,7.428729689176291e-9,0.0018445407209490732,-1.9094430440071465e-5,7.52658268876082e-9,0.0018446380463958871,-1.9275761849198014e-5,7.693093256534828e-9,0.001844804951317121,-1.9513700180089063e-5,7.911127592194227e-9,0.0018450622049142106,-1.9775670897407012e-5,8.15036239379623e-9,0.0018454146537959305,-2.0019361155694627e-5,8.37168352380671e-9,0.0018458471645658634,-2.020149491512519e-5,8.53532123115057e-9,0.001846325472916595,-2.0288852030465627e-5,8.610991677718667e-9,0.001846802738334875,-2.0268255874207588e-5,8.587035433849896e-9,0.0018472305526570348,-2.0152106866842266e-5,8.475412368243551e-9,0.0018475714841345342,-1.99772538420524e-5,8.31053358635742e-9,0.0018478096100095864,-1.9796940495792812e-5,8.141712154172403e-9,0.0018479558587613187,-1.9667497884298463e-5,8.020816057287474e-9,0.0018480460497650023,-1.9633092096664974e-5,7.988216118779569e-9,0.0018481313475885142,-1.97130435184807e-5,8.061204673026506e-9,0.0018482635125553158,-1.989628715353263e-5,8.229056332405201e-9,0.0018484798977238869,-2.014547254945726e-5,8.45695909902495e-9,0.0018487937859131421,-2.0409270039150275e-5,8.697434490355547e-9,0.0018491933464550954,-2.0637777460108637e-5,8.904531720257321e-9,0.001849648388562267,-2.0794981895125802e-5,9.04525543618406e-9,0.0018501208603383453,-2.0864590650255843e-5,9.104868950596546e-9,0.0018505745805460858,-2.0849287684095834e-5,9.086145203825255e-9,0.0018509815951685388,-2.0766006244656177e-5,9.004964655845875e-9,0.0018513249009249032,-2.0640121265863943e-5,8.88493947825769e-9,0.0018515986248674762,-2.0500399014916906e-5,8.75275158592604e-9,0.0018518069924697927,-2.037529947986055e-5,8.634737803338043e-9,0.0018519630574627775,-2.029034519449881e-5,8.55444480376467e-9,0.0018520875544509319,-2.0265862670398454e-5,8.530515515536571e-9,0.0018522076118006106,-2.0314479503742223e-5,8.574357895458459e-9,0.001852354640478269,-2.043817792207266e-5,8.68743961998716e-9,0.0018525605725263623,-2.0625343158510295e-5,8.85862825193293e-9,0.0018528519045839407,-2.0849110173348045e-5,9.06276525797922e-9,0.0018532420360760945,-2.1069073571299936e-5,9.262339779435322e-9,0.001853724130935122,-2.123818424609054e-5,9.413907129041965e-9,0.0018542681745039775,-2.13146965067963e-5,9.479118156772436e-9,0.001854825500677946,-2.1275855803305648e-5,9.437327265942164e-9,0.0018553411001434338,-2.1127603421251835e-5,9.294511094167757e-9,0.001855769808091963,-2.0905197786356253e-5,9.083769325899609e-9,0.001856089934500493,-2.066366542445483e-5,8.856377940750694e-9,0.001856309055157489,-2.0461827016597087e-5,8.66688007773098e-9,0.0018564605291198604,-2.0346009610590452e-5,8.557941716365146e-9,0.0018565929794966702,-2.0338609963516525e-5,8.549815123998282e-9,0.0018567566935258077,-2.0434095465034442e-5,8.636794189047838e-9,0.0018569909246059376,-2.0602544164462002e-5,8.790679141975657e-9,0.001857315247217037,-2.079894845221756e-5,8.96952007306406e-9,0.0018577267622189627,-2.097526582003082e-5,9.12880609280628e-9,0.001858203223977554,-2.109175679528336e-5,9.231914666619509e-9,0.0018587104540100233,-2.1124682017155018e-5,9.257156442445109e-9,0.0018592113115679834,-2.106890188932159e-5,9.200104828967708e-9,0.0018596735056705283,-2.0935816127821806e-5,9.07163153057935e-9,0.0018600745996205108,-2.0748452915729757e-5,8.89332379757743e-9,0.0018604039664238258,-2.0535775690622106e-5,8.692194187757801e-9,0.0018606624467996109,-2.032768021272182e-5,8.496037214902576e-9,0.0018608607937328295,-2.0151290741381685e-5,8.329989644194028e-9,0.0018610177895546044,-2.0028404875289557e-5,8.214148845006132e-9,0.0018611584243115355,-1.9973516875703052e-5,8.161728802068476e-9,0.0018613119834204608,-1.999186368250376e-5,8.17725592983337e-9,0.0018615094730483387,-2.0077264157555704e-5,8.254611200906061e-9,0.0018617795921467622,-2.021010824142319e-5,8.375250055651793e-9,0.0018621426777235635,-2.0356759570897997e-5,8.507743574528015e-9,0.0018626030974959807,-2.0472527218197918e-5,8.610594760757943e-9,0.001863142529370494,-2.0510266452106173e-5,8.640213095127023e-9,0.001863718542838287,-2.0434462278556232e-5,8.563932655985352e-9,0.0018642726717816077,-2.0236362154722935e-5,8.374014217097276e-9,0.0018647478436570396,-1.9942109211313427e-5,8.095175761587323e-9,0.001865108368948935,-1.960728289796133e-5,7.779474788722417e-9,0.0018653524017467537,-1.9298711898535704e-5,7.4892916930745e-9,0.0018655107551995035,-1.9072315354648044e-5,7.27659510756275e-9,0.0018656340820196373,-1.895724351204022e-5,7.168151304633016e-9,0.0018657758320747826,-1.895135064135561e-5,7.161416176012306e-9,0.0018659780113648356,-1.9026593337249196e-5,7.229749985625541e-9,0.0018662631207856332,-1.9139791481250695e-5,7.332602529333776e-9,0.0018666323647777408,-1.9244376015289706e-5,7.426524029334083e-9,0.0018670686302071045,-1.93003096381889e-5,7.474374412439072e-9,0.0018675424105708905,-1.9280847880737214e-5,7.451532270409492e-9,0.0018680189994260549,-1.9175704489265866e-5,7.348747503653877e-9,0.0018684654564785955,-1.8990736169104185e-5,7.171778438188237e-9,0.0018688561260398076,-1.8744836865035615e-5,6.938463114669843e-9,0.0018691760026911882,-1.8465188498455326e-5,6.674284503730649e-9,0.001869421833270251,-1.818207784859466e-5,6.407542925266269e-9,0.0018696013388690184,-1.7924257543533537e-5,6.165035437391302e-9,0.0018697312745747144,-1.77154221714517e-5,5.968767927016784e-9,0.0018698350512996898,-1.7571817919185243e-5,5.8337191006715384e-9,0.0018699402886244905,-1.750060390009367e-5,5.76630978226681e-9,0.0018700762544792589,-1.7498573862310598e-5,5.763229760950721e-9,0.0018702708423503566,-1.7551071627329354e-5,5.8104800416812336e-9,0.0018705465025051088,-1.763137263486119e-5,5.882878383752786e-9,0.0018709146903029294,-1.770161615547732e-5,5.945007935726127e-9,0.0018713693790612124,-1.771717503436893e-5,5.955326079857078e-9,0.001871882005628167,-1.7636224585071255e-5,5.875056690709975e-9,0.0018724021730790383,-1.7434179833481032e-5,5.681589270232072e-9,0.0018728684333721528,-1.7118167658035483e-5,5.3819353393236815e-9,0.0018732287172204356,-1.6732355540166632e-5,5.017686966724454e-9,0.0018734616898216,-1.6346704189132433e-5,4.654472798669768e-9,0.0018735862278335242,-1.6031827206181716e-5,4.358367558462995e-9,0.0018736526901350647,-1.583326478782647e-5,4.1717537065880975e-9,0.0018737219046122688,-1.5758804508346698e-5,4.10148922345258e-9,0.0018738443004110933,-1.578241850439683e-5,4.12273758898688e-9,0.0018740479774201498,-1.5858384906640113e-5,4.192354118637595e-9,0.0018743368377812267,-1.5936813363410486e-5,4.2635170100055776e-9,0.0018746952507608576,-1.5975245333576563e-5,4.296582563572818e-9,0.001875095253598817,-1.594505681652756e-5,4.265000879239349e-9,0.0018755037392833745,-1.5833619336192383e-5,4.157239354603041e-9,0.0018758885761289046,-1.5643635440476038e-5,3.976084601740173e-9,0.001876223379869671,-1.539063040568846e-5,3.736258860742264e-9,0.0018764908158095375,-1.5099215718405392e-5,3.460921341786339e-9,0.0018766843555797306,-1.4798700313825205e-5,3.1775739251165955e-9,0.001876808514204054,-1.4518593640800304e-5,2.913862771528727e-9,0.001876877684600156,-1.428449594527703e-5,2.6937304046643276e-9,0.0018769138794313335,-1.4114849713635936e-5,2.534362112040424e-9,0.001876943877891384,-1.4018784813808756e-5,2.444153315210054e-9,0.0018769961556297737,-1.3994930354196748e-5,2.4215928014478305e-9,0.0018770976892354386,-1.4030988542626093e-5,2.454884423634573e-9,0.0018772705481379275,-1.4104015382463982e-5,2.5222631987773908e-9,0.001877528051302119,-1.4181603792678899e-5,2.5931789806121115e-9,0.0018778703569376982,-1.4224713941675174e-5,2.6310160704288327e-9,0.0018782801543122864,-1.4193451439422243e-5,2.598529820729149e-9,0.0018787205590664604,-1.405678212300852e-5,2.4669139600598395e-9,0.0018791386692319275,-1.3805285464980217e-5,2.2276810492311913e-9,0.0018794780123360833,-1.3462303276611882e-5,1.9030504386180313e-9,0.0018796988460152687,-1.3085081939944344e-5,1.5469771882351445e-9,0.001879797376121251,-1.2749246711917046e-5,1.2305366805810725e-9,0.001879810814909188,-1.2520431987685998e-5,1.0152379061173355e-9,0.0018798025069450173,-1.2428480565797385e-5,9.28792039154265e-10,0.0018798356637794984,-1.2459405930458762e-5,9.576569245815327e-10,0.0018799514652937973,-1.2567147881760806e-5,1.058227207885944e-9,0.0018801611228964044,-1.2694459694026742e-5,1.1765668337490139e-9,0.0018804504286041776,-1.2790844470236134e-5,1.2652815802583089e-9,0.0018807898296935043,-1.2822211239622132e-5,1.2925348480468322e-9,0.001881144296639176,-1.2773137375766395e-5,1.244082520275377e-9,0.001881480541304962,-1.2644829708590756e-5,1.1212779543347608e-9,0.0018817714830373492,-1.2451442593087324e-5,9.37573033027889e-10,0.0018819987877392661,-1.2216113471832141e-5,7.147943106851535e-10,0.0018821541835679256,-1.1967040551517974e-5,4.79481554800589e-10,0.001882239823342938,-1.1733614321682521e-5,2.592733145950963e-10,0.0018822677333682823,-1.1542659347071796e-5,7.937878641490489e-11,0.001882258290813125,-1.1414929386642006e-5,-4.073055482831923e-11,0.00188223769665013,-1.1362192719985607e-5,-9.008293919875422e-11,0.001882234648515446,-1.1385337979164145e-5,-6.800108198389007e-11,0.0018822765976668182,-1.147373068275585e-5,1.529829570741141e-11,0.0018823859220090569,-1.1605863972995146e-5,1.3934936610352848e-10,0.0018825762769299201,-1.1751333204930212e-5,2.7535196640362164e-10,0.001882849356696919,-1.1874174668779581e-5,3.8937810798312383e-10,0.0018831923326353601,-1.1937760844475924e-5,4.470257514000792e-10,0.0018835766745060477,-1.1911660763090492e-5,4.198775427362523e-10,0.0018839599006157666,-1.1780441166968134e-5,2.937343558620432e-10,0.0018842923200876947,-1.1552816367157377e-5,7.714292268036392e-11,0.0018845300065070212,-1.1267101431234662e-5,-1.935563353070176e-10,0.001884651848842402,-1.0986979616266467e-5,-4.582805070815646e-10,0.0018846729512961321,-1.0783668473551395e-5,-6.500369715974631e-10,0.001884644026311698,-1.0709107993313308e-5,-7.201687612284614e-10,0.0018846329849430254,-1.0774324376780514e-5,-6.586566194780138e-10,0.0018846977991100334,-1.0946622650667459e-5,-4.966346506891892e-10,0.0018848664449174443,-1.1166459365350037e-5,-2.9038739613313543e-10,0.0018851332005309256,-1.1371807843700045e-5,-9.836030862044166e-11,0.00188546833284025,-1.1516483567944784e-5,3.6072174092010136e-11,0.0018858320534413794,-1.1577196587717038e-5,9.118298144119174e-11,0.0018861858170151932,-1.1551897946543376e-5,6.526251494340663e-11,0.0018864988368209698,-1.1454250824736898e-5,-2.8641386320276168e-11,0.0018867506997908348,-1.130771157982184e-5,-1.683171289939276e-10,0.0018869317981828468,-1.114067253953726e-5,-3.269535468848281e-10,0.00188704288267068,-1.0982683580718171e-5,-4.766790893169354e-10,0.00188709425157458,-1.0861262431198378e-5,-5.915582605683498e-10,0.0018871045582005074,-1.0798915164720963e-5,-6.504092600231872e-10,0.0018870989904794264,-1.0810255077489202e-5,-6.395398827368157e-10,0.0018871065171513206,-1.089946266139451e-5,-5.551558313967678e-10,0.0018871561148395357,-1.1058676341069262e-5,-4.048719775294948e-10,0.0018872723151573511,-1.1267948529405112e-5,-2.077232698081918e-10,0.0018874707273317042,-1.1497174238386989e-5,7.702962172308863e-12,0.0018877543345839755,-1.1710094620244999e-5,2.0709679356946207e-10,0.0018881113731507087,-1.1870079468074387e-5,3.5592247332806187e-10,0.0018885154354453212,-1.1947025394181564e-5,4.2594198011051527e-10,0.0018889282709940963,-1.1924554434572256e-5,4.0198452420754266e-10,0.0018893057509901104,-1.180642796887354e-5,2.8793937793174093e-10,0.0018896072155190882,-1.1620319815144137e-5,1.102325230061882e-10,0.0018898073174633363,-1.141620503858083e-5,-8.378045830706647e-11,0.0018899072882816023,-1.1256680872880053e-5,-2.350144500265779e-10,0.00188994004525897,-1.1199004466727915e-5,-2.8962303888349816e-10,0.0018899634124805416,-1.1274091765243815e-5,-2.187662588737686e-10,0.0018900409279768637,-1.1472911999612212e-5,-3.133758064503063e-11,0.0018902183761997377,-1.1749297526970216e-5,2.2880621691449785e-10,0.0018905085190595347,-1.2038537620544541e-5,5.004579398597872e-10,0.0018908911977333046,-1.2281010673800587e-5,7.273646082903298e-10,0.0018913257026649535,-1.2438746635557551e-5,8.738262880584713e-10,0.001891766418942364,-1.2500025159169855e-5,9.289921702418269e-10,0.0018921745217345054,-1.2474898759061678e-5,9.025856295473614e-10,0.0018925235949496604,-1.2387224374957897e-5,8.173373978207359e-10,0.0018928006012498605,-1.2267242724669224e-5,7.019521780489794e-10,0.001893004532648849,-1.2146219309942353e-5,5.860420989860535e-10,0.0018931444568213974,-1.2052958305120446e-5,4.968374482519974e-10,0.0018932376922635935,-1.201136506885249e-5,4.5688395279176046e-10,0.0018933080932005942,-1.203830971069964e-5,4.820179060546816e-10,0.0018933840198379344,-1.2141431704543413e-5,5.792878687063079e-10,0.0018934954432214392,-1.2317048491958935e-5,7.449904944807481e-10,0.0018936698433884116,-1.2548874791752978e-5,9.63493451044306e-10,0.0018939271289290503,-1.2808571057900438e-5,1.207801973263226e-9,0.0018942745270844783,-1.3059009801183272e-5,1.4426931836520661e-9,0.0018947029628015445,-1.3260512884313262e-5,1.6306445395104082e-9,0.0018951865409454112,-1.3379240786205856e-5,1.739776196090901e-9,0.0018956861193035659,-1.339582085200682e-5,1.7520006276159735e-9,0.001896156784362993,-1.3311821218936873e-5,1.6691149414387627e-9,0.0018965578833635218,-1.315201628144059e-5,1.5148888736049156e-9,0.0018968634955145083,-1.2961201862073039e-5,1.3319718714925833e-9,0.0018970707895216053,-1.27953186054354e-5,1.1734090967998433e-9,0.0018972035254706415,-1.270792499395131e-5,1.0897877058615488e-9,0.0018973082905004745,-1.2734836504746565e-5,1.1147159041982071e-9,0.0018974426469162598,-1.2881765897702211e-5,1.2532161191392723e-9,0.0018976577334179135,-1.3120638566367633e-5,1.4783604413576136e-9,0.0018979817061840188,-1.3397830754750496e-5,1.7391592222003208e-9,0.001898411458923872,-1.3651830597880485e-5,1.9773042111285594e-9,0.0018989162166529016,-1.3832467412215963e-5,2.1453543532283e-9,0.0018994501504002229,-1.3913394698958246e-5,2.218528300226893e-9,0.0018999670934915821,-1.3894285229865015e-5,2.1967560935101533e-9,0.0019004313205916007,-1.3794987368719163e-5,2.0991062793393773e-9,0.0019008222473536457,-1.3646563923406225e-5,1.9552477096692173e-9,0.0019011342862434643,-1.3483210869567092e-5,1.7977502645593472e-9,0.0019013742670453792,-1.3336710126712298e-5,1.656805182705815e-9,0.0019015583445810035,-1.3233251710861967e-5,1.557210441490532e-9,0.0019017093215130678,-1.3191683234416556e-5,1.516718948288368e-9,0.0019018544551819409,-1.322222486221346e-5,1.5448335845441187e-9,0.0019020232614363063,-1.332508798252e-5,1.641518474045382e-9,0.0019022446122891282,-1.3489036976123344e-5,1.7958687511443292e-9,0.0019025425844261994,-1.369058867045455e-5,1.985394636394811e-9,0.0019029310998461496,-1.3895103526272778e-5,2.177098013812628e-9,0.0019034084130146504,-1.4061158291373949e-5,2.3316432829741173e-9,0.0019039536403952983,-1.4148798826174367e-5,2.411188360481643e-9,0.00190452798036301,-1.4130390523376207e-5,2.3896713112052716e-9,0.0019050821403015848,-1.4000599135125858e-5,2.262277159589695e-9,0.0019055688083909521,-1.3781106731241096e-5,2.0499028297317794e-9,0.0019059562148011579,-1.3517137805515713e-5,1.795813482384683e-9,0.0019062378216281627,-1.3266226807941069e-5,1.55488479026225e-9,0.0019064346707243743,-1.3082876840158903e-5,1.3789321851604236e-9,0.0019065897975290977,-1.300402884385789e-5,1.3028645792247607e-9,0.0019067566525288243,-1.3039478647258866e-5,1.335631681489911e-9,0.0019069848668208623,-1.3169664466781716e-5,1.458241594737562e-9,0.0019073072088376596,-1.3351363244590194e-5,1.6292950121476715e-9,0.0019077314104704636,-1.35297729754093e-5,1.7965331398129217e-9,0.0019082393455308658,-1.3653389545506359e-5,1.910981408664566e-9,0.0019087936495511212,-1.368692249063571e-5,1.9391998920108105e-9,0.0019093490888763,-1.36182247050182e-5,1.8698433679372743e-9,0.0019098643504093444,-1.3457815665676977e-5,1.7131785903247102e-9,0.0019103104535418381,-1.3232664882104302e-5,1.49513174647234e-9,0.001910674199703993,-1.2977653683504635e-5,1.2491153226176072e-9,0.001910957383345947,-1.2727836569487273e-5,1.0086216538112337e-9,0.0019111736376836673,-1.2513095263658599e-5,8.021151208985223e-10,0.0019113446910483782,-1.2355262008813369e-5,6.502990133921028e-10,0.0019114970699477254,-1.2266914435896981e-5,5.649887739956633e-10,0.001911659458251913,-1.2250863989869682e-5,5.48651037755953e-10,0.0019118603142655674,-1.2299688915426472e-5,5.939871771107086e-10,0.0019121250704395051,-1.2395224103850199e-5,6.83479516283135e-10,0.001912472298250459,-1.2508553962420433e-5,7.894175597020551e-10,0.0019129086995072113,-1.2601732458062466e-5,8.755614362231623e-10,0.0019134238587510172,-1.2632856875682743e-5,9.019823758839568e-10,0.0019139872139001782,-1.2565475255362356e-5,8.340185275907759e-10,0.0019145507149744756,-1.2380996991705414e-5,6.541016494998854e-10,0.0019150594943169597,-1.208942059331609e-5,3.720012705806915e-10,0.0019154687355826697,-1.1731803189978585e-5,2.7186751351475117e-11,0.0019157599073696201,-1.1370438510631843e-5,-3.2059589419623007e-10,0.0019159480871280882,-1.1069433649940181e-5,-6.099776897920081e-10,0.0019160765242110884,-1.0874351161307604e-5,-7.975067244527357e-10,0.001916201638240862,-1.0799731954230843e-5,-8.695695269755934e-10,0.0019163757206690922,-1.0828066294132719e-5,-8.432736692445251e-10,0.001916633663319116,-1.0918083407511515e-5,-7.583931686950212e-10,0.0019169865545414935,-1.1017681518618213e-5,-6.649208970516302e-10,0.0019174220148160516,-1.1077138327480256e-5,-6.104228457140029e-10,0.001917909652400136,-1.1059628873658679e-5,-6.300141180862712e-10,0.0019184095373273615,-1.0947442807596206e-5,-7.404583107456317e-10,0.0019188815145464583,-1.074336196537258e-5,-9.388858115135974e-10,0.0019192932808213034,-1.0467594123611643e-5,-1.20575358697917e-9,0.0019196256213150462,-1.0151606595075532e-5,-1.5107725145640873e-9,0.0019198741582867806,-9.830831037267878e-6,-1.8199155582087304e-9,0.001920048034328906,-9.53810189496491e-6,-2.101716952530784e-9,0.00192016664884815,-9.298985720095432e-6,-2.3317451423285186e-9,0.0019202557299710247,-9.129284586844093e-6,-2.4949779817672822e-9,0.0019203436982262987,-9.03425635494825e-6,-2.5865276762768656e-9,0.0019204586561453517,-9.008766308266697e-6,-2.6114761398253937e-9,0.0019206257964393613,-9.037767379553837e-6,-2.584400459288261e-9,0.0019208647556760669,-9.096934635335611e-6,-2.528749375572851e-9,0.0019211863918376449,-9.153791617985142e-6,-2.475744453410305e-9,0.0019215887893763244,-9.170318069016814e-6,-2.4618619106144695e-9,0.0019220532680969222,-9.108486698013456e-6,-2.5235177511399977e-9,0.0019225426370994027,-8.93968667282501e-6,-2.6880381102716844e-9,0.0019230051437690364,-8.656881355420935e-6,-2.9620064184294193e-9,0.0019233868768198299,-8.284641843373393e-6,-3.321635583237772e-9,0.0019236508865696793,-7.87924983238811e-6,-3.7126811593957043e-9,0.0019237944180940756,-7.513626152701059e-6,-4.064969808739745e-9,0.0019238530642237287,-7.251346875133989e-6,-4.317442787274023e-9,0.0019238875264319904,-7.123184534446885e-6,-4.440727658128514e-9,0.0019239602849499028,-7.118772335068044e-6,-4.445080751689829e-9,0.0019241150340064711,-7.195410187776e-6,-4.3718032484889515e-9,0.0019243672115235493,-7.296057858543114e-6,-4.275859784550209e-9,0.0019247056490780219,-7.366796576870663e-6,-4.209081160263236e-9,0.001925100638222425,-7.368390575798459e-6,-4.2090899838722325e-9,0.0019255136991263675,-7.28124033598263e-6,-4.29459094897082e-9,0.0019259062934330908,-7.105313322498182e-6,-4.465474633111174e-9,0.001926246455241092,-6.8569503429279765e-6,-4.705904064104801e-9,0.001926513155176582,-6.563908504672785e-6,-4.989086595641599e-9,0.0019266984060524598,-6.259565315487143e-6,-5.28285207654197e-9,0.0019268072181901595,-5.977125716265304e-6,-5.555231795710813e-9,0.0019268557194206991,-5.744607949504135e-6,-5.779286983994542e-9,0.001926867956789526,-5.581192829623622e-6,-5.93661711990306e-9,0.0019268720688889452,-5.495252817643273e-6,-6.019245563941074e-9,0.0019268965365545243,-5.483964670467983e-6,-6.029980211505466e-9,0.0019269669147046517,-5.534047865259946e-6,-5.981698489668393e-9,0.0019271030607710645,-5.623188311924287e-6,-5.895977467639949e-9,0.0019273166863302753,-5.7219540024492885e-6,-5.8012471529754476e-9,0.001927608964943563,-5.7963044626612365e-6,-5.730359732741071e-9,0.001927968073137577,-5.811296023443038e-6,-5.716996716285913e-9,0.001928367327868175,-5.736968151573158e-6,-5.789976737812062e-9,0.0019287657529438592,-5.556881102280313e-6,-5.965023129181158e-9,0.0019291137044280984,-5.2780252562612125e-6,-6.235225744033611e-9,0.0019293656129909568,-4.9378508432014095e-6,-6.564293224012181e-9,0.0019294981647026979,-4.601333003765205e-6,-6.88943201632588e-9,0.001929525485728095,-4.342876353937429e-6,-7.138863176862139e-9,0.0019294994801223031,-4.217696588858802e-6,-7.25946537969358e-9,0.0019294908116161604,-4.238299439230228e-6,-7.239417461315074e-9,0.001929560314582812,-4.371015270438031e-6,-7.111424613284696e-9,0.0019297377118852202,-4.55344246107046e-6,-6.935795233464066e-9,0.001930017314096714,-4.719917590952116e-6,-6.775858205910853e-9,0.001930367658027968,-4.821014209853837e-6,-6.679201920416775e-9,0.0019307459008136353,-4.8316120263198285e-6,-6.669947990797228e-9,0.0019311099639047478,-4.749855588336907e-6,-6.749791325681373e-9,0.001931426078730715,-4.591648798416053e-6,-6.903320619292728e-9,0.0019316723240502833,-4.384152509840636e-6,-7.104284083463843e-9,0.00193183957714851,-4.159855661523347e-6,-7.321298468100921e-9,0.0019319309590358179,-3.951522849872863e-6,-7.522721099309414e-9,0.001931960272729608,-3.7879464393165173e-6,-7.680755766459321e-9,0.0019319496225054618,-3.690498897752296e-6,-7.774788967531755e-9,0.0019319263202685097,-3.6706055523742944e-6,-7.793831867149322e-9,0.001931919267959071,-3.7283927164905087e-6,-7.737819257871908e-9,0.0019319552108667095,-3.852716726614077e-6,-7.617573393096083e-9,0.0019320552988749142,-4.02248969024826e-6,-7.453520879166667e-9,0.0019322322171346693,-4.209066647074804e-6,-7.27339092546293e-9,0.0019324880384187753,-4.379522397329557e-6,-7.109051304871561e-9,0.0019328128907126745,-4.5006846976982455e-6,-6.9926006585541975e-9,0.001933184500922892,-4.543960637217014e-6,-6.951680008281516e-9,0.0019335690805746674,-4.491239132575197e-6,-7.0037418708715674e-9,0.0019339247854987158,-4.3417098714221724e-6,-7.149447726110859e-9,0.0019342092422925217,-4.118009382523817e-6,-7.366743932940767e-9,0.0019343916827004838,-3.868204312684253e-6,-7.608992772716862e-9,0.001934467361572726,-3.658733712507117e-6,-7.811866984567964e-9,0.001934467204138646,-3.5553083996379697e-6,-7.911879053399946e-9,0.0019344532495840499,-3.5966460829545584e-6,-7.871776332288663e-9,0.0019344968195731504,-3.7753114217998696e-6,-7.698978894623498e-9,0.0019346495112623097,-4.03947689724567e-6,-7.443761240396356e-9,0.0019349242390860283,-4.315579736048795e-6,-7.177294842177374e-9,0.0019352959799658958,-4.537209508290387e-6,-6.9637480873944295e-9,0.0019357174371195988,-4.664295527601881e-6,-6.8417869033334726e-9,0.0019361376429321514,-4.687227031264865e-6,-6.820621053087697e-9,0.0019365149604292852,-4.620518272556331e-6,-6.886137513437268e-9,0.001936822735002006,-4.4930784615761195e-6,-7.01030959332819e-9,0.0019370497573068866,-4.3395817761451026e-6,-7.159541983283873e-9,0.0019371982714750445,-4.194332245529059e-6,-7.300606086896117e-9,0.0019372813098119841,-4.0872389658178436e-6,-7.404541171072901e-9,0.0019373200047168263,-4.041081596253815e-6,-7.449311969194115e-9,0.0019373408698219712,-4.06951090543502e-6,-7.421751862826817e-9,0.0019373728401152071,-4.175601163817662e-6,-7.318959872347354e-9,0.0019374438984557292,-4.351140097040351e-6,-7.14897163907601e-9,0.0019375773878386295,-4.577090029110529e-6,-6.930294004143148e-9,0.0019377884492321462,-4.8255307456941e-6,-6.690013847281935e-9,0.0019380811458521296,-5.063086450380342e-6,-6.460482833914179e-9,0.0019384468078961414,-5.2556340897116115e-6,-6.274765644942493e-9,0.001938864070694948,-5.373859826780817e-6,-6.161257575262624e-9,0.0019393008815218134,-5.39900090253849e-6,-6.138107237175963e-9,0.0019397185968336869,-5.328108998262378e-6,-6.208094891699568e-9,0.0019400783924782288,-5.178029968915432e-6,-6.3547673684562564e-9,0.001940350064460665,-4.986568248040517e-6,-6.541330751226949e-9,0.0019405222410656135,-4.808507589956162e-6,-6.714561951692604e-9,0.0019406110279473565,-4.704360703335738e-6,-6.815780527851394e-9,0.0019406619186682263,-4.722099909779016e-6,-6.798592282970913e-9,0.0019407397828170951,-4.877341093394415e-6,-6.6480630164182626e-9,0.0019409070239167167,-5.142645237546104e-6,-6.3909979796592525e-9,0.0019411991246476956,-5.455021750594156e-6,-6.08859132515089e-9,0.0019416113591816284,-5.739907638638507e-6,-5.813170806092759e-9,0.0019421039399188788,-5.938379623146413e-6,-5.621848443746926e-9,0.001942620441220814,-6.023358180511173e-6,-5.540825654139379e-9,0.0019431076064300335,-6.000155352616885e-6,-5.564854280690739e-9,0.0019435278468381142,-5.896618797745685e-6,-5.66679479290207e-9,0.0019438629592743444,-5.750852545969404e-6,-5.809548326748877e-9,0.0019441120808416875,-5.601534475667561e-6,-5.955480832384088e-9,0.001944287443752201,-5.482065741624393e-6,-6.072125549617999e-9,0.0019444101506376872,-5.417660736467644e-6,-6.135020234542866e-9,0.001944506708268009,-5.424015514502002e-6,-6.12900103028505e-9,0.0019446061453395735,-5.5065945921930115e-6,-6.048882321230036e-9,0.0019447372317435117,-5.660164219490716e-6,-5.899883466024544e-9,0.0019449253683826993,-5.8687316263243564E-06,-5.6976552684035205e-9,0.001945189030333371,-6.106463427556881e-6,-5.467362321854533e-9,0.001945536161431122,-6.340235377640483e-6,-5.241200084831334e-9,0.0019459613750219223,-6.534129514976202e-6,-5.0540407206024526E-09,0.0019464450016517627,-6.655627092463941e-6,-4.9374385215283745e-9,0.0019469548828858596,-6.682567740270542e-6,-4.912878296775678e-9,0.001947451269570495,-6.60932933283276e-6,-4.985758640608991e-9,0.0019478943525422965,-6.450513493834239e-6,-5.14178782748562e-9,0.0019482532181079584,-6.2407756398245034e-6,-5.347142200685174e-9,0.0019485145355209999,-6.029956846976695e-6,-5.553227818359947e-9,0.001948688832848761,-5.8732962326046545e-6,-5.706255960069141e-9,0.0019488117889920867,-5.817657136586249e-6,-5.76069054929591e-9,0.001948938125527602,-5.886667676818439e-6,-5.69370500652984e-9,0.0019491274075020232,-6.0699856033129015e-6,-5.515569915679763e-9,0.0019494249289553265,-6.3227915401508744E-06,-5.270071903094241e-9,0.001949845257742566,-6.578590377092514e-6,-5.022021831291358e-9,0.0019503668701211755,-6.771379833246088e-6,-4.8356927104913765e-9,0.001950941025999169,-6.857006618888046e-6,-4.754047856449597e-9,0.0019515098360051739,-6.823912357418047e-6,-4.788264987953578e-9,0.0019520240658229982,-6.690500284410137e-6,-4.920280238133386e-9,0.0019524536244067533,-6.49382548244997e-6,-5.113816259747165e-9,0.0019527895094792508,-6.276752315075202e-6,-5.326941081183438e-9,0.0019530401509459683,-6.078332438438705e-6,-5.521497393189113e-9,0.001953225817980965,-5.928567237035448e-6,-5.668236483345585e-9,0.0019533734478342783,-5.84651286102268e-6,-5.74866469745462e-9,0.0019535127069048035,-5.840135760566559e-6,-5.755159455452236e-9,0.0019536730713173847,-5.906707798229399e-6,-5.690546687804252e-9,0.0019538812761171337,-6.033223898987462e-6,-5.567654612994196e-9,0.0019541585144023286,-6.197000707763707e-6,-5.408699430107965e-9,0.0019545171385095907,-6.367107479822374e-6,-5.243879262195881e-9,0.0019549572076320533,-6.5074833444539475e-6,-5.108346058501838e-9,0.0019554639201165612,-6.582363249082454e-6,-5.03694129358835e-9,0.001956007498430186,-6.563809875728904e-6,-5.0568720809815e-9,0.001956546986261798,-6.4398326830353245e-6,-5.179789317621606e-9,0.001957038319601614,-6.220390777973844e-6,-5.3959025305882386e-9,0.001957445211377807,-5.938406346561329e-6,-5.6729623501463044E-09,0.0019577497434098727,-5.6441961139281294e-6,-5.961701088875459e-9,0.00195795905198493,-5.3940117834603315e-6,-6.207071934832427e-9,0.001958105475933685,-5.235595818058769e-6,-6.362420055449834e-9,0.0019582395183540724,-5.194843437985116e-6,-6.402542072145623e-9,0.001958417079498149,-5.267559275761301e-6,-6.331712684108876e-9,0.0019586841391798864,-5.419208397437096e-6,-6.183867152169376e-9,0.0019590632992368684,-5.5936274617679324e-6,-6.0140407497047866e-9,0.0019595468572287758,-5.728796846682779e-6,-5.882943397267424e-9,0.001960099404208329,-5.774659859002328e-6,-5.8395474337831e-9,0.0019606692273000065,-5.706491547132605e-6,-5.908007246472056e-9,0.001961203875844111,-5.5290734820936245e-6,-6.083550911233866e-9,0.001961663710892444,-5.271294504247528e-6,-6.33775249294814e-9,0.0019620291042840325,-4.974990706173587e-6,-6.62948408349352e-9,0.0019623006544432146,-4.683271223898374e-6,-6.916401377222745e-9,0.001962494734377491,-4.432015613971804e-6,-7.163317469825513e-9,0.00196263744876942,-4.24555166449937e-6,-7.3464495352867865e-9,0.001962759151531451,-4.135625053205161e-6,-7.454405906541533e-9,0.0019628903475563684,-4.102163162853727e-6,-7.487397138171459e-9,0.001963058825873597,-4.134581772027361e-6,-7.45591629508366e-9,0.0019632873735704035,-4.2130275752858015e-6,-7.37949782948698e-9,0.001963591384460584,-4.309670509689841e-6,-7.285447272084761e-9,0.001963976034392938,-4.390698571258319e-6,-7.2069014925367394E-09,0.00196443330876546,-4.419933657794488e-6,-7.1793089036528066e-9,0.0019649399761413515,-4.364865771727716e-6,-7.23453490273262e-9,0.001965458415821613,-4.2050069352158806e-6,-7.392670556572303e-9,0.0019659423021510165,-3.940624693125234e-6,-7.653438357820787e-9,0.001966347619651084,-3.5979703831828426e-6,-7.991020087185636e-9,0.001966646410720784,-3.2268073690315724e-6,-8.35646294373238e-9,0.001966837804951861,-2.88866026076316e-6,-8.6892469084276e-9,0.0019669507350560987,-2.638942552458159e-6,-8.93489923720782e-9,0.001967036219204756,-2.509897091168396e-6,-9.061792188439865e-9,0.0019671521102095036,-2.5011703515333097e-6,-9.070385947269845e-9,0.001967346338386762,-2.5810055380569523e-6,-8.992002968155938e-9,0.0019676443316525953,-2.696486676324743e-6,-8.878723391163976e-9,0.0019680437540308916,-2.788602202893239e-6,-8.788584213578214e-9,0.00196851699192739,-2.8074134547524235e-6,-8.77069512204032e-9,0.0019690198105688102,-2.723406029950918e-6,-8.854087293070188e-9,0.001969503286514971,-2.5325606025790628e-6,-9.042705655591e-9,0.0019699255438227234,-2.2545503651888572e-6,-9.317149614451272e-9,0.0019702602048416143,-1.9254253998824907e-6,-9.64186138287465e-9,0.0019704998243126686,-1.587626778063647e-6,-9.974977396460062e-9,0.001970654436207738,-1.2805361083925496e-6,-1.0277671836369529E-08,0.001970746848452303,-1.0338220010957484e-6,-1.0520734387427998e-8,0.001970806813276138,-8.642671882979529e-7,-1.0687691080751363e-8,0.0019708657346138646,-7.754852094272468e-7,-1.0775054263680461e-8,0.001970952685885467,-7.59358064857489e-7,-1.0790873734095068e-8,0.001971091690133412,-7.980785287859418e-7,-1.075270881326718e-8,0.0019712997330186763,-8.661819417994633e-7,-1.0685635082892515e-8,0.001971584912381313,-9.325958251431366e-7,-1.0620251655417039e-8,0.001971944386893563,-9.632389319096306e-7,-1.0590148555848218e-8,0.0019723623172643737,-9.250101036695197e-7,-1.0627989281767547e-8,0.001972808830631805,-7.919702181976068e-7,-1.0759406320346234e-8,0.0019732419679683944,-5.536462457545765e-7,-1.0994779047683153e-8,0.001973614823661226,-2.2335933302557065e-7,-1.1320973812675675e-8,0.0019738884737286657,1.5799990717252462e-7,-1.1697589927724113e-8,0.0019740473224203847,5.280347963458416e-7,-1.2062959771330483e-8,0.00197410928803649,8.20358883314744e-7,-1.2351497457826083e-8,0.001974123317235958,9.877098265902934e-7,-1.251656570489879e-8,0.001974153255924493,1.0192999814429548e-6,-1.2547588496020676e-8,0.0019742556717545824,9.434428611000109e-7,-1.2472576911245205e-8,0.0019744623865517686,8.154180584666158e-7,-1.2346103517772794e-8,0.001974774135226251,6.982018680757243e-7,-1.2230299564424663e-8,0.001975164866836536,6.44800593857355e-7,-1.2177471453811616e-8,0.001975592187135106,6.871905621175031e-7,-1.221921769330186e-8,0.001976009248334955,8.327104581488337e-7,-1.2362852376014084e-8,0.0019763749925609457,1.0663971388143509e-6,-1.259366276420492e-8,0.001976661273607453,1.3571121056137057e-6,-1.2880913658228117e-8,0.0019768563928079714,1.6655158949823804e-6,-1.3185711559255818e-8,0.001976965150873674,1.9522178827619e-6,-1.3469078659361015e-8,0.0019770060231024044,2.1846215565256827e-6,-1.3698753468466588e-8,0.001977006519814771,2.3414551764659016e-6,-1.3853691582153881E-08,0.0019769979445145433,2.4146980122888094e-6,-1.3925966248255384e-8,0.0019770105929741008,2.409217344158514e-6,-1.3920387497226856e-8,0.0019770700502998715,2.340825972519958e-6,-1.3852563760087515e-8,0.0019771946962903715,2.233613597212906e-6,-1.3746268263541514e-8,0.001977394083641216,2.117137695108602e-6,-1.3630691930216664e-8,0.00197766776849491,2.02355937158754e-6,-1.353764934893884e-8,0.0019780043391657534,1.9844130263776497e-6,-1.3498405475263642e-8,0.001978380746958981,2.0264143260061553e-6,-1.353951384539365e-8,0.001978762774876461,2.1656876800633962e-6,-1.3677055583687163e-8,0.00197910834678161,2.4005955486988004e-6,-1.3909478074330424e-8,0.0019793755690996236,2.7052325640155345e-6,-1.4211108687579435e-8,0.0019795358980323765,3.0280329593492748e-6,-1.4530782563116931e-8,0.0019795888602322726,3.3008762468395384e-6,-1.4800926854883546e-8,0.001979569909580966,3.4602522751505376e-6,-1.4958607317158036e-8,0.0019795428292347273,3.4729664075210322e-6,-1.4971007396679774e-8,0.0019795766858330343,3.3517185374406653e-6,-1.485078131230214e-8,0.001979719097725177,3.150012236996182e-6,-1.4650917551003886e-8,0.0019799807430923235,2.939717703579574e-6,-1.4442508997057445e-8,0.001980337179051505,2.785210747885825e-6,-1.4289220607364234e-8,0.001980742604001265,2.726455749296866e-6,-1.423061560237119e-8,0.0019811460867675897,2.7744247605888214e-6,-1.4277633511904348e-8,0.001981503955526798,2.915383589334282e-6,-1.4416788031389436e-8,0.0019817866606374806,3.119072655949307e-6,-1.4618203584318185e-8,0.0019819810541467733,3.3472878569643014e-6,-1.4844069697144964e-8,0.0019820896686203603,3.5612914305410776e-6,-1.5055977587760283e-8,0.00198212818028609,3.7276910519524167e-6,-1.522077511487346e-8,0.0019821217200457113,3.822702343827983e-6,-1.531483119915164e-8,0.001982100526968717,3.8346574475360094e-6,-1.5326546430867445e-8,0.001982095446197697,3.7647342774013897e-6,-1.525707214555077e-8,0.0019821337647565624,3.626027788928867e-6,-1.511936833404366e-8,0.00198223586051072,3.441229396883561e-6,-1.4935887639064302e-8,0.00198241295750562,3.2394074768603723e-6,-1.4735395171384388e-8,0.001982665941468611,3.0524134698759988e-6,-1.4549442314482317e-8,0.0019829850278711707,2.9111670054398966e-6,-1.4408723058841443e-8,0.0019833501452222605,2.841809897117393e-6,-1.4339272286988301e-8,0.0019837320752173157,2.8615334931783054e-6,-1.4358293854803897e-8,0.001984094861776407,2.9738376767734945e-6,-1.4469388182609625e-8,0.001984400625925791,3.163606036205151e-6,-1.465759406565055e-8,0.001984617903763515,3.39387177161666e-6,-1.4886148324894974e-8,0.001984733239124418,3.6078493427449448e-6,-1.5098540495896356e-8,0.001984762586708769,3.740319866084089e-6,-1.522990885918146e-8,0.001984755051949164,3.739151728899739e-6,-1.5228487094580237e-8,0.0019847812506757346,3.589373742862749e-6,-1.507949371776934e-8,0.0019849070018280613,3.324884794977739e-6,-1.481665653780441e-8,0.0019851657075547475,3.017077739740492e-6,-1.4510837813089766e-8,0.001985546337819205,2.7455641756043497e-6,-1.4240999293311826e-8,0.0019860027126962026,2.5689052542741243e-6,-1.4065234505030063e-8,0.001986474911058454,2.5102785475177926e-6,-1.4006586884914449e-8,0.001986909190146146,2.5597820777408202e-6,-1.4055310223533645e-8,0.001987269141598994,2.685729541695863e-6,-1.4180024373601416e-8,0.001987538415975901,2.8470244196991636e-6,-1.4339955147058143e-8,0.0019877184535379826,3.0026745725009918e-6,-1.4494369758932575e-8,0.001987824315689395,3.1178169485181043e-6,-1.4608579499453113e-8,0.0019878803285720108,3.1671431670578377e-6,-1.4657380747630862e-8,0.001987916017903525,3.1367378731829e-6,-1.4626916752757822e-8,0.00198796225735607,3.0248075252962984e-6,-1.4515412078652403e-8,0.001988047562103157,2.8413753222055076e-6,-1.4332850735856531e-8,0.0019881946131477435,2.60687216740141e-6,-1.4099542829987458e-8,0.001988417298411971,2.349527873938127e-6,-1.3843513258288562e-8,0.0019887187102340417,2.1016769841030624e-6,-1.3596844711551368e-8,0.001989090425727029,1.895388778983732e-6,-1.3391377619170956e-8,0.001989513160461744,1.7578895979745178e-6,-1.3254203612054567e-8,0.001989958770446367,1.7071788559904026e-6,-1.3203316404532476e-8,0.001990393534070427,1.7481911434179824e-6,-1.3243755974189393e-8,0.0019907827350952195,1.8697874359525122e-6,-1.336454230925692e-8,0.00199109681028482,2.0431157285996407e-6,-1.3536978415285554e-8,0.001991319151058384,2.222726763531207e-6,-1.371574429721612e-8,0.0019914544946981836,2.3526243150694117e-6,-1.3844968523515149e-8,0.0019915347809361574,2.379086977407752e-6,-1.3871077631016254e-8,0.001991617224389839,2.269346242030513e-6,-1.376144811926663e-8,0.0019917698902892863,2.0294384279911193e-6,-1.3522157951942242e-8,0.0019920466456429435,1.7095202837346074e-6,-1.3203206351826863e-8,0.001992463423863107,1.3885001624897012e-6,-1.288317749571206e-8,0.0019929908638321907,1.143480512993817e-6,-1.2638853847306288e-8,0.0019935682104733686,1.0214708448982725e-6,-1.2517091776224162e-8,0.0019941285130815195,1.0283869976145581e-6,-1.2523846927649901e-8,0.0019946200002937324,1.1365035316745898e-6,-1.2631538348227922e-8,0.001995015574720192,1.300685938679259e-6,-1.2795181679410482e-8,0.0019953118522825736,1.4734595686959486e-6,-1.2967407715671091e-8,0.0019955231121392253,1.6145721408287418e-6,-1.3108023269665573e-8,0.001995674485554681,1.6953207844439172e-6,-1.3188361405392658e-8,0.001995796372307964,1.6996250991069645e-6,-1.3192379686625797e-8,0.0019959203169879858,1.6236696505985474e-6,-1.3116312565503816e-8,0.0019960757921594096,1.475055708754886e-6,-1.2967807444551166e-8,0.0019962873383381975,1.271613814117125e-6,-1.2764702800757431e-8,0.001996571813660661,1.039617664310189e-6,-1.253321173415832e-8,0.001996935876688311,8.10987734279826e-7,-1.2305124592895642e-8,0.0019973742307001037,6.19237649378676e-7,-1.2113796509748371e-8,0.0019978693382533895,4.943937406260044e-7,-1.198913399233764e-8,0.0019983931254425164,4.575767847518032e-7,-1.1952232495962723e-8,0.0019989108215040154,5.162092500765573e-7,-1.2010593106379118e-8,0.0019993866344011147,6.609218430927506e-7,-1.215498240158599e-8,0.001999790531775251,8.650472468204294e-7,-1.2358850045151053e-8,0.0020001051872744658,1.0872195388065961e-6,-1.258086799786539e-8,0.0020003320300538583,1.2774384887276872e-6,-1.2770987731393865e-8,0.0020004948833237455,1.386820963278251e-6,-1.2880238021882123e-8,0.0020006389899060112,1.380409164658492e-6,-1.2873596607745973e-8,0.0020008230599442827,1.250445294729628e-6,-1.2743295658742569e-8,0.0020011035292148414,1.0248522465183068e-6,-1.2517287786395435e-8,0.0020015145004623476,7.642707366236366e-7,-1.2256256246504428e-8,0.002002052224806011,5.444286659134359e-7,-1.203598958625036e-8,0.0020026739455431216,4.2948544136936147e-7,-1.1920745495741174e-8,0.002003313579512777,4.496948714502562e-7,-1.1940890619262743e-8,0.0020039058326337656,5.94885512572639e-7,-1.208630936784008e-8,0.0020044058510690797,8.245709877731227e-7,-1.2316460457905977e-8,0.002004796841439746,1.0859096843776425e-6,-1.2578353220820108e-8,0.0020050868112686674,1.3296101468781744e-6,-1.2822521486441082e-8,0.0020053001577274294,1.5190539612688328e-6,-1.3012215262669332e-8,0.002005469139021302,1.6331027930982382e-6,-1.3126245137314179e-8,0.0020056275325741548,1.6652065850658668e-6,-1.3158091335992063e-8,0.0020058066106900104,1.6211993428942383e-6,-1.3113673482230696e-8,0.0020060325903481888,1.5170686408574125e-6,-1.3009079439298547e-8,0.002006324650222416,1.3769637497429265e-6,-1.2868534813545612e-8,0.0020066929754689877,1.2310800018681066e-6,-1.2722269046986007e-8,0.002007136798951896,1.1127780991151567e-6,-1.2603647647411476e-8,0.0020076429784578894,1.054378781853201e-6,-1.254500526328362e-8,0.002008186099861188,1.081598763449451e-6,-1.2572118807769247e-8,0.0020087311297168646,1.2074288608481698e-6,-1.2698088673752461e-8,0.002009239103287181,1.4270773152031296e-6,-1.2918234760844035e-8,0.0020096752789058284,1.716007875070945e-6,-1.3208055118895744e-8,0.0020100179652990918,2.0326550064858777e-6,-1.352587734554098e-8,0.0020102654993804938,2.3260539621831587e-6,-1.3820486693134687e-8,0.0020104390771972405,2.547030253336762e-6,-1.4042386690680413e-8,0.002010580106295075,2.6604804750482006e-6,-1.4156191902665433e-8,0.0020107419502173964,2.6557832329077294e-6,-1.4151139319925016e-8,0.0020109771879805558,2.5523069324261464e-6,-1.4046647718123685e-8,0.0020113229426591533,2.397375789826293e-6,-1.3890280276741745e-8,0.0020117884211216064,2.2554114694326285e-6,-1.3746841070905745e-8,0.0020123497341117697,2.1898980519676447e-6,-1.3680257875013628e-8,0.002012955651515441,2.2438213886840194e-6,-1.3733900181722728e-8,0.0020135433728180985,2.4266447610087438e-6,-1.39174182558369e-8,0.0020140579317852875,2.71366437476233e-6,-1.4206014604787913e-8,0.0020144668228012324,3.057204948402956e-6,-1.4551671002974376e-8,0.0020147647475891694,3.403199418756304e-6,-1.4899863316082618e-8,0.0020149692079483423,3.7055522989431925e-6,-1.520408419186706e-8,0.00201511150064555,3.9340846123691215e-6,-1.5433892567141782e-8,0.0020152277251075717,4.076173637410506e-6,-1.5576577887703656e-8,0.002015352239871468,4.134536644454852e-6,-1.563490853663456e-8,0.0020155138461719147,4.123692670047893e-6,-1.5623536213635403e-8,0.002015733840614426,4.0666243269108735e-6,-1.55656072328393e-8,0.0020160248674950276,3.992054942875605e-6,-1.549001455038565e-8,0.002016389829459018,3.93198510839712e-6,-1.542893704410032e-8,0.0020168206820040395,3.918765993757011e-6,-1.541493242521958e-8,0.0020172975756185623,3.980985777701276e-6,-1.5476833726911856E-08,0.0020177894153615887,4.137875398081949e-6,-1.5634127210906082e-8,0.002018257233673766,4.392939175307108e-6,-1.589050240627824e-8,0.0020186613266694954,4.728908346737077e-6,-1.6228694079735292e-8,0.0020189715206215524,5.107091194937329e-6,-1.660975065177038e-8,0.0020191776486713324,5.473615092617835e-6,-1.6979292753435012e-8,0.002019295779758033,5.772429950864491e-6,-1.7280651483171656e-8,0.002019366518176988,5.961349214838775e-6,-1.7471108259171236e-8,0.0020194449006417144,6.025194125173232e-6,-1.7535205282025255e-8,0.0020195851788385455,5.980999551576999e-6,-1.7490022440756466e-8,0.0020198257279237858,5.873603143711555e-6,-1.7380744515888384e-8,0.0020201787279912464,5.763467291729197e-6,-1.7268403150332105e-8,0.002020627231636164,5.710627551405569e-6,-1.7213706810198902e-8,0.002021130054639501,5.7592346508056935e-6,-1.7261429057047976e-8,0.002021632985760314,5.926817997082376e-6,-1.7429501306651574e-8,0.0020220830928120654,6.20118699778434e-6,-1.7705783145695567e-8,0.0020224418380563767,6.54565640069781e-6,-1.8053264624984565e-8,0.002022693062944097,6.910491614078083e-6,-1.842162169656846e-8,0.0020228439203432147,7.246330768272015e-6,-1.876083414523109e-8,0.00202291967499455,7.515105216752511e-6,-1.9032294027402762e-8,0.002022955371584404,7.695808702277565e-6,-1.9214681031198905e-8,0.0020229876289183193,7.785067752112486e-6,-1.9304540519772036e-8,0.002023048591573068,7.794246700981407e-6,-1.931333154928886e-8,0.0020231624980154585,7.745203409912733e-6,-1.926311028183914e-8,0.0020233442466032186,7.666212202219833e-6,-1.918240528759956e-8,0.0020235989734061375,7.588624354679677e-6,-1.9102866270263047e-8,0.002023921859131006,7.544034825291021e-6,-1.9056442936228402e-8,0.0020242978850773183,7.561308638331777e-6,-1.907241483206435e-8,0.0020247018586647472,7.662755338235264e-6,-1.9173526603769192e-8,0.0020250996748987574,7.859045107714878e-6,-1.9370801266084847e-8,0.0020254522736660083,8.143408211325172e-6,-1.9657586738974178e-8,0.0020257235021321623,8.487284167289417e-6,-2.0005064388235096e-8,0.0020258914008579325,8.841089839559924e-6,-2.0362983469746076e-8,0.0020259593522022504,9.143502782538063e-6,-2.0669092452411597e-8,0.002025960886878649,9.339097586877438e-6,-2.0867079499950275e-8,0.0020259529258870486,9.398254944606137e-6,-2.0926796085751366e-8,0.0020259980842913805,9.329515946722925e-6,-2.085676872498728e-8,0.0020261436498098338,9.177436067364245e-6,-2.0702003689784143e-8,0.002026406976788043,9.007145260904893e-6,-2.0528373390696197e-8,0.0020267726311981303,8.883574211806648e-6,-2.0401649057662443e-8,0.002027200045442295,8.85396367750792e-6,-2.0369837232274553e-8,0.00202763668051562,8.938366466169523e-6,-2.0453528387901555e-8,0.002028031669042613,9.128606584898225e-6,-2.0644735364591285e-8,0.0020283466335991557,9.39376249959402e-6,-2.0912327645621907e-8,0.00202856210099846,9.689503075361093e-6,-2.121142268331872e-8,0.002028679138809268,9.968698912730516e-6,-2.1494151041399055e-8,0.0020287166795685033,1.0191047732068404e-5,-2.1719481725996414e-8,0.0020287057358542504,1.0329897581158466e-5,-2.186021727137697e-8,0.0020286822638829623,1.0375287950705e-5,-2.1906123600102078e-8,0.0020286804677956084,1.0333353870444897e-5,-2.186332802988044e-8,0.0020287278066525257,1.022312602899354e-5,-2.175105158087606e-8,0.0020288421647846723,1.0072112218170743e-5,-2.1597111262225863e-8,0.0020290308875681577,9.911875842701016e-6,-2.143344844153332e-8,0.0020292909665944156,9.774243576700235e-6,-2.129232494824514e-8,0.0020296097239808366,9.688113323346603e-6,-2.1203133387480477e-8,0.0020299656877050217,9.67644684934271e-6,-2.11893658424898e-8,0.0020303297882378582,9.752905982662366e-6,-2.1265165055571597e-8,0.0020306676073327287,9.917766980710009e-6,-2.1431087980682735e-8,0.002030943934628873,1.0153584998504719e-5,-2.1669593622508353e-8,0.0020311306708723493,1.0422590466425067e-5,-2.1942323425636325e-8,0.002031217579951732,1.0669289798588603e-5,-2.219275019954811e-8,0.002031222335730858,1.0831796516238949e-5,-2.235778014634001e-8,0.002031193048301995,1.0861890930176747e-5,-2.2388241959551486e-8,0.00203119703859634,1.0746492481003186e-5,-2.2270735146629827e-8,0.002031297195154339,1.0517768776177442e-5,-2.2037844471414716e-8,0.0020315273094421984,1.0243291108028e-5,-2.1758092239078608e-8,0.0020318802493412753,1.0000530434740792e-5,-2.1510081000851584e-8,0.002032314137298937,9.850022664826762e-6,-2.1355340836590286e-8,0.002032770207259545,9.81982278786599e-6,-2.132258299426645e-8,0.0020331917199350323,9.904280503784482e-6,-2.14063888568104e-8,0.002033536949342053,1.0072489993620747e-5,-2.157566092331201e-8,0.0020337847861032054,1.0280151984724976e-5,-2.178555756437125e-8,0.002033934644404204,1.0480633734434917e-5,-2.1988684509594312e-8,0.002034002956023895,1.0633476288885205e-5,-2.2143773497299168e-8,0.0020340179562521273,1.0710065550269308e-5,-2.222152752762457e-8,0.002034013813275749,1.0696609639052564e-5,-2.2207730651406188e-8,0.002034024860105363,1.0594604521297306e-5,-2.2103765848150748e-8,0.002034080587443095,1.0419122419825089e-5,-2.19248717814829e-8,0.0020342019278727854,1.0195455518673118e-5,-2.169670062200928e-8,0.0020343991620295483,9.954802844166271e-6,-2.145091239995425e-8,0.0020346714321390342,9.729785129053017e-6,-2.122063084652677e-8,0.0020350074824118905,9.550386709694598e-6,-2.103636451097717e-8,0.002035387185509016,9.440493583899565e-6,-2.0922533216016104e-8,0.0020357836037984364,9.414912608424384e-6,-2.089444107511516e-8,0.0020361655489376162,9.476655420791237e-6,-2.0955452598258494e-8,0.002036501001353076,9.614310232276557e-6,-2.1094206564680248e-8,0.002036762210872142,9.79994037620005e-6,-2.1282363869390327e-8,0.0020369330481708123,9.989184837192771e-6,-2.1474658477092256e-8,0.002037017771296381,1.012628359366276e-5,-2.1614061269663444e-8,0.002037047915437464,1.015658110540848e-5,-2.164463677168314e-8,0.0020370813026867737,1.0046056108125668e-5,-2.153154985964805e-8,0.0020371875508600258,9.800650799576031e-6,-2.1280773292665346e-8,0.002037421936656467,9.472336381754918e-6,-2.094520101904596e-8,0.0020378005857027153,9.143072453333508e-6,-2.0608270685343048e-8,0.0020382928899801513,8.892876275813154e-6,-2.035149508235166e-8,0.0020388358398022157,8.770499811406708e-6,-2.0224669132370346e-8,0.002039359770557812,8.781941663669052e-6,-2.0234157130035133e-8,0.0020398103504522254,8.897729739466089e-6,-2.0350211586612295e-8,0.0020401588643933475,9.069382952218172e-6,-2.0523629149456965e-8,0.0020404019625274035,9.245293559122839e-6,-2.0701866584475123e-8,0.002040555827693921,9.381504609670853e-6,-2.0840025781472896e-8,0.0020406489259659406,9.447228151930216e-6,-2.0906536788607898e-8,0.0020407154331214734,9.426696770852405e-6,-2.088512838607746e-8,0.00204078985578392,9.318873354513713e-6,-2.077459998128169e-8,0.00204090271395194,9.135845367544504e-6,-2.0587206452044835e-8,0.0020410771407216085,8.900239108317796e-6,-2.034599700431967e-8,0.002041326419699712,8.641807325844239e-6,-2.0081292128129632e-8,0.0020416526435947345,8.393337339943669e-6,-1.982648942593215e-8,0.002042046703171445,8.186237577472187e-6,-1.9613586261310882e-8,0.0020424895896427346,8.046339142518472e-6,-1.9468954219893878e-8,0.0020429547843234747,7.990305000968632e-6,-1.940972395069631e-8,0.0020434115251253306,8.022843551834938e-6,-1.9440936885743926e-8,0.002043828782565443,8.134892448156656e-6,-1.9553616311880043e-8,0.0020441798602190554,8.302917025788585e-6,-1.972393223071845e-8,0.0020444477519546617,8.4896969525292e-6,-1.9913901817449882e-8,0.0020446311903293338,8.647706547103258e-6,-2.0074815114312748e-8,0.0020447501973034107,8.726723226422148e-6,-2.0155077328217368e-8,0.002044848244940901,8.686627904246379e-6,-2.011341515541943e-8,0.0020449867383772256,8.513737749746249e-6,-1.9935671842505055e-8,0.002045228541166259,8.234144633017872e-6,-1.964846070320371e-8,0.0020456134638839763,7.913572361465218e-6,-1.931898185881672e-8,0.0020461377861319533,7.63729312921591e-6,-1.9034476270744172e-8,0.0020467521585061633,7.477202828544634e-6,-1.8868592712503943e-8,0.002047381272856939,7.464688941483806e-6,-1.8853644549237028e-8,0.0020479532062943314,7.58431837206364e-6,-1.8974080315531745e-8,0.0020484215587382487,7.78774400789283e-6,-1.918060677428675e-8,0.0020487722662357426,8.015405362121847e-6,-1.941233147259879e-8,0.002049018198077936,8.214197838192044e-6,-1.9614843383185996e-8,0.0020491889216315115,8.346735295295853e-6,-1.9749735808637718e-8,0.0020493210512069144,8.393632060507522e-6,-1.979700451228811e-8,0.0020494512449664246,8.351957607960816e-6,-1.9753525015406534e-8,0.0020496117250101715,8.23232744734854e-6,-1.963010652990153e-8,0.002049827426776408,8.055769435622714e-6,-1.944827439536342e-8,0.002050114053526486,7.850558869214728e-6,-1.9236989441846953e-8,0.0020504767490431433,7.648847136675355e-6,-1.9029157282885984e-8,0.0020509094756088818,7.482854532348159e-6,-1.8857725613841873e-8,0.002051395453334524,7.380623768682452e-6,-1.8751377321085998e-8,0.0020519090052662243,7.361760387571575e-6,-1.8730230620980626e-8,0.0020524188593675297,7.433818308990292e-6,-1.8802173480598776e-8,0.0020528926844391848,7.589950602549962e-6,-1.8960428834936324e-8,0.0020533024421489844,7.808390524123514e-6,-1.9182928498524213e-8,0.0020536299340462158,8.054192913403938e-6,-1.9433978306497595e-8,0.0020538718361486044,8.283434195619361e-6,-1.9668482974938482e-8,0.0020540434289632683,8.45004521906672e-6,-1.9838956797592828e-8,0.0020541797514216247,8.515402796906978e-6,-1.99054534057615e-8,0.0020543322054149753,8.459930706160225e-6,-1.984759651675978e-8,0.0020545585952090927,8.293944827313858e-6,-1.9675807879402267e-8,0.0020549063810787,8.062431097372e-6,-1.9436246264897823e-8,0.0020553934153247633,7.837497117823304e-6,-1.920304947832446e-8,0.002055995700465939,7.696451661454231e-6,-1.9055809090821722e-8,0.002056651811353018,7.693154521324639e-6,-1.9050112336143213e-8,0.0020572846695030584,7.837818600247798e-6,-1.919671296351236e-8,0.002057829365555983,8.096658859821898e-6,-1.946106441052887e-8,0.002058252145844519,8.409493816274429e-6,-1.978134730901258e-8,0.0020585536030746266,8.712990432294358e-6,-2.0092375696100318e-8,0.002058759808669095,8.957877739096902e-6,-2.0343349339844396e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_17.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_17.json new file mode 100644 index 000000000..4dcccb37b --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_17.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":17000,"numberOfSamples":1000,"samples":[0.0020589095356776037,9.116105504093818e-6,-2.0505272164235435e-8,0.002059043510293161,9.180255067418492e-6,-2.0570390059257767e-8,0.0020591976431414568,9.159302745262173e-6,-2.054785882824188e-8,0.002059399625909375,9.073759899582225e-6,-2.045874721325323e-8,0.0020596674746746844,8.95148439515232e-6,-2.033170765436402e-8,0.00206000888513569,8.824207938457376e-6,-2.019937465729761e-8,0.002060420904195782,8.724308617167852e-6,-2.0095032184184587e-8,0.0020608899779143205,8.68132520947309e-6,-2.0049049012491025e-8,0.0020613928365786132,8.717972919315283e-6,-2.008482719556681e-8,0.0020618988348358,8.845955809078727e-6,-2.021453482958727e-8,0.002062374125258358,9.062441716260134e-6,-2.0435474508193457e-8,0.0020627874895708226,9.348364762479418e-6,-2.072826871336509e-8,0.0020631169945883126,9.669654112154566e-6,-2.1058015950605946e-8,0.0020633560604633263,9.98198746864013e-6,-2.137908652587735e-8,0.002063517288428266,1.023877017749716e-5,-2.164330411583651e-8,0.002063632645942536,1.0401139220424818e-5,-2.1810299545772995e-8,0.0020637491502467223,1.0448183572471843e-5,-2.185815206205818e-8,0.0020639198525462597,1.0385066085844465e-5,-2.1791885352537092e-8,0.002064190922547863,1.0246206042140799e-5,-2.1646843352671344e-8,0.002064587291919049,1.0090636415679369e-5,-2.1483949591921145e-8,0.0020651014652658243,9.988078798241432e-6,-2.13753442005915e-8,0.002065691367589172,9.998026570269695e-6,-2.1382754626188622e-8,0.002066291012197917,1.0149230388591655e-5,-2.153622147579785e-8,0.002066831501387849,1.0429452683376921e-5,-2.182338975756979e-8,0.002067263169333099,1.0791237145000513e-5,-2.2195367611649683e-8,0.002067568557615017,1.1170401662074308e-5,-2.2585814103541868e-8,0.0020677618994642912,1.1507219742502304e-5,-2.2932879418767003e-8,0.0020678786593962845,1.1760992660056131e-5,-2.319433420100162e-8,0.00206796228678175,1.1914801500387303e-5,-2.3352529680849556e-8,0.0020680536670884195,1.1972789302221374e-5,-2.3411612372762594e-8,0.002068185083895209,1.1954165594086708e-5,-2.339133460421787e-8,0.0020683778972125345,1.1887104070253944e-5,-2.3320744180844544e-8,0.002068642307553408,1.180390121082168e-5,-2.3233173740066774e-8,0.002068977856263579,1.1737393814191125e-5,-2.3162537647244684e-8,0.002069373999389383,1.1717978706675388e-5,-2.3140267827765654e-8,0.0020698107873335274,1.1770514429890422e-5,-2.3192140613020073e-8,0.0020702602014525747,1.1910715973072524e-5,-2.3334573248691355e-8,0.002070688939508567,1.2141252692424613e-5,-2.3570578997251697e-8,0.0020710632916822844,1.2448527390387745e-5,-2.3886375187523575e-8,0.002071356066541742,1.2801803268012288e-5,-2.4250382510760558e-8,0.0020715543319876706,1.3156451701310057e-5,-2.4616491549786515e-8,0.00207166551766087,1.3462116971780244e-5,-2.493246716960177e-8,0.002071719050649512,1.3674624989544023e-5,-2.5152297788431047e-8,0.0020717617377544535,1.3768431742533288e-5,-2.524915847137308e-8,0.0020718472574079074,1.374550081599251e-5,-2.5224700784713937e-8,0.0020720223622184525,1.363727582508806e-5,-2.5111195478472052e-8,0.0020723137031515636,1.3498471162329926e-5,-2.496519243244624e-8,0.002072719191338335,1.339381780152275e-5,-2.485385332221292e-8,0.002073206795757431,1.338096643139214e-5,-2.483723759380846e-8,0.0020737219362692,1.3494245133198445e-5,-2.4951381108780162e-8,0.00207420211020392,1.373455339359368e-5,-2.5197661804572466e-8,0.0020745944143773383,1.4069430089365293e-5,-2.554271199173207e-8,0.002074869746023746,1.4443723774723879e-5,-2.5929405831806994e-8,0.0020750285128816304,1.479667972622433e-5,-2.6294607590510123e-8,0.0020750966176363173,1.5078544268788864e-5,-2.6586483364644268e-8,0.0020751148669499956,1.5260889492796408e-5,-2.677529701011583e-8,0.0020751270004247535,1.5338783722705668e-5,-2.6855711891848633e-8,0.0020751704833224575,1.5326746513909972e-5,-2.684261106263222e-8,0.0020752715762822763,1.5251984116094389e-5,-2.6764080409271047e-8,0.002075444009124103,1.5147762629496005e-5,-2.6654533703698157e-8,0.002075689729548116,1.504827746606285e-5,-2.6549398220846943e-8,0.002076000366210549,1.4985082629739757e-5,-2.6481430881895264e-8,0.002076358657231711,1.498441301720375e-5,-2.6477967033587838e-8,0.0020767397992757677,1.5064587977735741e-5,-2.6558240543651232e-8,0.002077113259954405,1.5233004156103975e-5,-2.6730240753699176e-8,0.0020774459186594374,1.548284453443912e-5,-2.6987226620384064e-8,0.002077707337417931,1.5790500049088474e-5,-2.7304945193864276e-8,0.002077877261826839,1.6115682164498162e-5,-2.764165309505029e-8,0.0020779538822941765,1.6406603632449e-5,-2.7943458192743133e-8,0.0020779594398716464,1.6611353072832964e-5,-2.8156170195329946e-8,0.0020779390055978278,1.6693382219093287e-5,-2.824146792653341e-8,0.0020779502913158923,1.6645409426593984e-5,-2.8191416586278918e-8,0.002078046844161103,1.6494938438233428e-5,-2.803425405045996e-8,0.0020782610782756087,1.6297779276038386e-5,-2.782772424649056e-8,0.0020785941150732565,1.612175588363035e-5,-2.7642241561896423e-8,0.0020790159587568842,1.6027141518751153e-5,-2.754063775278662e-8,0.0020794748756735038,1.6050743503202965e-5,-2.756160492638588e-8,0.0020799118940896845,1.619791239208086e-5,-2.7711253577368164e-8,0.0020802757626315633,1.6443513592555717e-5,-2.7963924844698012e-8,0.0020805345246273253,1.674043522617959e-5,-2.8270877063799093e-8,0.002080681226938013,1.7032634096537527e-5,-2.857380300224129e-8,0.002080732951995497,1.7268943244941685e-5,-2.881925151534997e-8,0.002080724194408864,1.7413982316484317e-5,-2.8970092565580946e-8,0.0020806971435383278,1.745367834708195e-5,-2.901136620869484e-8,0.0020806920260737966,1.7394912621893336e-5,-2.8949975367327408e-8,0.002080739988704213,1.72607815502705e-5,-2.8809768850635676e-8,0.002080859515267317,1.70838985357426e-5,-2.8624560861473263e-8,0.0020810559636607064,1.6899885539921436e-5,-2.8431349761988563e-8,0.0020813230557203376,1.6742274751481572e-5,-2.8265022453786016e-8,0.0020816451171855417,1.6639033795220282e-5,-2.8154767386943654e-8,0.0020819993189068113,1.6610203007369465e-5,-2.812164312243963e-8,0.0020823577851628115,1.6665911699555345e-5,-2.817650914736122e-8,0.0020826899633292987,1.680426930790959e-5,-2.8317770861029884e-8,0.002082966018551884,1.7009150846059025e-5,-2.852896394235378e-8,0.002083162073066397,1.7248756752608075e-5,-2.8777135556946513e-8,0.0020832674579102563,1.7476932878513038e-5,-2.9014151463292816e-8,0.0020832924694833593,1.7639846001218737e-5,-2.9183675584427234e-8,0.0020832727739094805,1.7689422424584678e-5,-2.9235274256026354e-8,0.0020832653064138955,1.7601030960855478e-5,-2.9142946193151746e-8,0.0020833330245630757,1.7387646058308056e-5,-2.8919920603682593e-8,0.002083522753935488,1.7100955802243916e-5,-2.8619808329920083e-8,0.0020838468179513333,1.6815710705222776e-5,-2.8320330725747508e-8,0.002084278439419095,1.6604039049236554e-5,-2.8096659219011013e-8,0.0020847625566020353,1.6512511531122853e-5,-2.799759622144117e-8,0.002085235023267062,1.6551414097566436e-5,-2.8034351982823543e-8,0.0020856408987005555,1.6697366798988196e-5,-2.8183104552679034e-8,0.0020859461245631033,1.690450794263447e-5,-2.8396456266918066e-8,0.0020861415082864985,1.7118421130651345e-5,-2.8617819915088376e-8,0.0020862405867537945,1.7288696492304295e-5,-2.8794501922373435e-8,0.0020862736330299575,1.737809826474195e-5,-2.8887350772104285e-8,0.002086279804006059,1.7367702998098975e-5,-2.8876251011356654e-8,0.0020862990421835854,1.7258011428210435e-5,-2.8761400589556528e-8,0.002086365115922038,1.7066487746353264e-5,-2.8560802190087286e-8,0.0020865008408489875,1.682256943694604e-5,-2.8305053907286174e-8,0.002086715919263949,1.656156014476701e-5,-2.8030941270095572e-8,0.0020870071990390262,1.6318714925791584e-5,-2.7775237638634485e-8,0.0020873606761909773,1.612444436636325e-5,-2.7569706696292268e-8,0.0020877543487093165,1.6001012803300085e-5,-2.7437694306513178e-8,0.0020881612220372825,1.596050578626689e-5,-2.7392040420271822e-8,0.002088552230288847,1.6003549082607828e-5,-2.7433729548710437e-8,0.0020888992435952967,1.611837191802468e-5,-2.7550832366391624e-8,0.0020891786471092483,1.6280160651193357e-5,-2.7717702617435652e-8,0.0020893761169842166,1.6451350603092855e-5,-2.7895164399045403e-8,0.002089492678959948,1.6584503687808136e-5,-2.803347849401429e-8,0.0020895506186168747,1.6629975070205594e-5,-2.8080421596796448e-8,0.0020895956639829702,1.654957839540818e-5,-2.799570583593579e-8,0.002089690395538273,1.6333804471878623e-5,-2.7769090685971695e-8,0.002089896033722322,1.6014373257708863e-5,-2.7433529126734662e-8,0.0020902475806469254,1.5661140369289124e-5,-2.7061908434893643e-8,0.002090735796633609,1.5359270098771867e-5,-2.67432120407e-8,0.00209130859780546,1.5176778132377433e-5,-2.6548672939580005e-8,0.002091891842946931,1.5140754055244766e-5,-2.6506954770801897e-8,0.0020924165245282877,1.5233761825979138e-5,-2.660030176659009e-8,0.002092838108888907,1.5407435049015967e-5,-2.6778581186473033e-8,0.0020931426145603437,1.5602073463539797e-5,-2.697961713028947e-8,0.002093342524197185,1.576303163752042e-5,-2.7146256028244872e-8,0.0020934681224012187,1.5850536534203465e-5,-2.7236664035016808e-8,0.002093558330924372,1.584356238962605e-5,-2.7228488040135843e-8,0.002093652929189025,1.5739702587511593e-5,-2.711885649216876e-8,0.002093786585558144,1.5552692842214613e-5,-2.6921891528832596e-8,0.002093984610700063,1.530847635566744e-5,-2.6664625730728237e-8,0.002094260408522702,1.5040327883243397e-5,-2.6381866829385993e-8,0.0020946146605398033,1.4783590396206654e-5,-2.6110629573656682e-8,0.0020950361908124754,1.4570612940870071e-5,-2.5884801421741135e-8,0.002095504287982403,1.4426464136665532e-5,-2.573066979561237e-8,0.0020959920098880948,1.436589162782448e-5,-2.566378974830331e-8,0.0020964698904481064,1.4391654082877689e-5,-2.568727581986414e-8,0.002096909672107035,1.4494027260271335e-5,-2.5791262682142066e-8,0.002097287955238897,1.4651254484391914e-5,-2.595327902709219e-8,0.0020975898588619776,1.483086589384205e-5,-2.6139490483611765e-8,0.0020978129239909112,1.4992194433574303e-5,-2.6307227096703933e-8,0.002097971126731232,1.5091109530391926e-5,-2.6409931481351222e-8,0.002098097703998993,1.5088284225384236e-5,-2.6405927211233465e-8,0.002098243998954342,1.4961356647547054e-5,-2.6271336291410024e-8,0.002098470643735973,1.4718558663920096e-5,-2.601451060716538e-8,0.002098829142769062,1.4406847413029446e-5,-2.568461021728266e-8,0.002099338584112944,1.4104891981013634e-5,-2.5364227738068856e-8,0.002099970577078888,1.389718581053549e-5,-2.51422113367583e-8,0.0021006554024350413,1.3839945599057747e-5,-2.5077873022135188e-8,0.0021013089162565824,1.3939075366767634e-5,-2.5177804466452004e-8,0.0021018642410454017,1.4152966541286029e-5,-2.5398697748388907e-8,0.002102290544234685,1.4414719463911722e-5,-2.5670555129297722e-8,0.002102593458372229,1.4657717276490355e-5,-2.5923475251490083e-8,0.002102803823419274,1.4832523419603329e-5,-2.610539494337901e-8,0.002102963997051854,1.4912874042482475e-5,-2.6188440763515092e-8,0.00210311701985688,1.489429901720448e-5,-2.6167581509441245e-8,0.00210329981316489,1.4789514144286761e-5,-2.605589711490424e-8,0.0021035395604685125,1.4623216960515582e-5,-2.5879181897882027e-8,0.002103852012857229,1.4427256816148642e-5,-2.5670874573032203e-8,0.0021042409306866908,1.4236166858646234e-5,-2.546731313778813e-8,0.002104698454320543,1.4082882456060734e-5,-2.53031751996881e-8,0.0021052064752133293,1.3994654154339699e-5,-2.5207158431920774e-8,0.0021057391315831625,1.3989407920046565e-5,-2.519818244598461e-8,0.002106266387320575,1.4073050130678136e-5,-2.5282607415599342e-8,0.002106758334830071,1.423820083636465e-5,-2.5452924691916057e-8,0.0021071897012097697,1.4464569256647e-5,-2.568810271807864e-8,0.0021075440763852053,1.4720984983073159e-5,-2.5955605114652786e-8,0.002107817455023985,1.4968991587208612e-5,-2.6215033812032676e-8,0.0021080207898770947,1.5167881763610569e-5,-2.6423345985019315e-8,0.0021081811782254606,1.52812712911579e-5,-2.6541802838830476e-8,0.002108340721814446,1.5285367127017497e-5,-2.6544815228638046e-8,0.002108551393130802,1.5178224387244792e-5,-2.6429882679400344e-8,0.0021088642657054028,1.4987405902763008e-5,-2.6225817522741596e-8,0.0021093131823441873,1.477109413125047e-5,-2.5993980396136906e-8,0.0021098973634679687,1.4606796678395606e-5,-2.5816350529623914e-8,0.0021105729078048107,1.4566334520348138e-5,-2.5769076832392603e-8,0.0021112628777701157,1.4686483996552583e-5,-2.589140375989459e-8,0.002111884963727069,1.49524858304974e-5,-2.616814292368397e-8,0.0021123820416213326,1.530564027223351e-5,-2.653758083888853e-8,0.002112738443062604,1.566943862865359e-5,-2.6919021383359056e-8,0.0021129763380782042,1.597734406587063e-5,-2.7242128079128386e-8,0.002113139906608551,1.6188913189144726e-5,-2.7463982116337144e-8,0.0021132785147635735,1.6292255587917617e-5,-2.7571731956963736e-8,0.002113435244892276,1.6298231436790853e-5,-2.7576542617677282e-8,0.002113641467647694,1.623231108640538e-5,-2.750507948119659e-8,0.0021139155020888497,1.612742596429646e-5,-2.739200662875825e-8,0.002114263195353226,1.601868102419684e-5,-2.7274398004963558e-8,0.002114679097938746,1.5939462619916927e-5,-2.7187584649230205e-8,0.002115147857818045,1.591820498712063e-5,-2.7161697731839154e-8,0.0021156460082405507,1.5975354031712748e-5,-2.7218453269601503e-8,0.0021161445333496127,1.6120489838517026e-5,-2.736813658476198e-8,0.002116612541248858,1.6350066999505276e-5,-2.7607239032229045e-8,0.002117021983644663,1.6646569377117553e-5,-2.791754490148783e-8,0.002117352837098394,1.697979911393296e-5,-2.826741083990463e-8,0.0021175978015787107,1.731065634053247e-5,-2.8615637817191073e-8,0.00211776543378165,1.759725263509948e-5,-2.8917829165943654e-8,0.002117880769420787,1.7802584133189674e-5,-2.9134478291953385e-8,0.002117982886203447,1.7902584529889876e-5,-2.9239569317390042e-8,0.002118119198387002,1.7893289828263934e-5,-2.922832774864068e-8,0.002118336487991736,1.7795584944785858e-5,-2.9122440610658274e-8,0.0021186692843823997,1.7655389538035962e-5,-2.8970402749374115e-8,0.0021191276345471233,1.7536852324466382e-5,-2.8840362727093884e-8,0.0021196884143433207,1.7507199823531867e-5,-2.880401634238384e-8,0.002120295925762307,1.7615411346021366e-5,-2.8913861014445143e-8,0.0021208758106100725,1.787247903713528e-5,-2.9182079529307654e-8,0.002121359406182991,1.8244267405424016e-5,-2.9572807067690778e-8,0.0021217074721560777,1.8663209769622012e-5,-3.0014474124992184e-8,0.0021219209004431955,1.905356541542978e-5,-3.042663828206199e-8,0.0021220343298265485,1.9356536768551152e-5,-3.0746705244532125e-8,0.002122099166839674,1.954377814105041e-5,-3.094431491310143e-8,0.002122166330543905,1.9617217855782224e-5,-3.102119259421685e-8,0.0021222752180405586,1.9600531064406503e-5,-3.100215517299388e-8,0.002122449658514504,1.952878967527067e-5,-3.092419165467688e-8,0.0021226984612435964,1.9440127761138346e-5,-3.082765962692926e-8,0.002123017846957808,1.9370314072744265e-5,-3.075052790344494e-8,0.0021233940681903195,1.934948928989278e-5,-3.0724888774326296e-8,0.0021238056794888474,1.9399952935627528e-5,-3.077458440678296e-8,0.002124225682580438,1.9534193054597844e-5,-3.091310551719368e-8,0.002124624113565031,1.9752886458047202e-5,-3.1141464105636413e-8,0.002124971655833702,2.0043233580223036e-5,-3.144639940286134e-8,0.00212524450155675,2.037859705176521e-5,-3.179992728445566e-8,0.002125429949440885,2.0720660307119964e-5,-3.216153381034379e-8,0.0021255313735390655,2.1024952911718785e-5,-3.2483951488909524e-8,0.0021255706390746042,2.1249553405534983e-5,-3.272236244662322e-8,0.0021255862274255134,2.136531580176944e-5,-3.284530096658392e-8,0.002125626472329969,2.136477599867833e-5,-3.2844230643420137e-8,0.0021257389764561077,2.1266765123494018e-5,-3.273861136499655e-8,0.0021259586471253046,2.1114766388613177e-5,-3.2574325849611996e-8,0.0021262973922635143,2.0968604798671925e-5,-3.241497651320302e-8,0.0021267384416393392,2.0890666115759917e-5,-3.2327268627746654e-8,0.0021272376715695132,2.0929425811587144e-5,-3.236339970670092e-8,0.002127733046172089,2.110460424404699e-5,-3.2545061768599696e-8,0.00212816092546539,2.1399236109442378e-5,-3.2854762929754035e-8,0.0021284746737500223,2.176302809822261e-5,-3.3239236614057686e-8,0.002128658496133636,2.212740460159936e-5,-3.362543623506609e-8,0.0021287304336883744,2.2426834845535454e-5,-3.3943333219980947e-8,0.0021287335646911943,2.2617434207905126e-5,-3.414584047635682e-8,0.0021287204228760234,2.2685679731977404e-5,-3.421817395035784e-8,0.0021287380406940413,2.264602236182866e-5,-3.417535947240264e-8,0.002128818715188701,2.2531501692113913e-5,-3.4052283410800604e-8,0.002128977344015476,2.2382911676892006e-5,-3.3892197642410027e-8,0.002129213263803856,2.2240213464310166e-5,-3.373760006185234e-8,0.0021295139322477768,2.2137245808817076e-5,-3.362460002842891e-8,0.0021298586205894944,2.2099046795842652e-5,-3.358004972356987e-8,0.0021302214146577676,2.2140545104573738e-5,-3.362013028869592e-8,0.0021305737006618716,2.2265607580957118e-5,-3.374931398457121e-8,0.0021308867762918587,2.2466010723704024e-5,-3.39592257518173e-8,0.002131135293920836,2.2720594046935103e-5,-3.4227667717305434e-8,0.0021313019334212695,2.2995565753170124e-5,-3.451884933521096e-8,0.0021313829342262734,2.3247460182788705e-5,-3.4786456209133385e-8,0.0021313929103826883,2.3430080081429465e-5,-3.4981018338903236e-8,0.0021313662623369065,2.35053775592328e-5,-3.506154647311194e-8,0.002131352534668617,2.3455775394926864e-5,-3.500875472352498e-8,0.0021314050619435174,2.3293157757724045e-5,-3.483475480248656e-8,0.0021315656878382726,2.305959461858975e-5,-3.458394904972025e-8,0.002131851148769884,2.2817817875395575e-5,-3.432300884872676e-8,0.002132246675708553,2.2634145895239077e-5,-3.412278123476084e-8,0.0021327093056224787,2.255991732479814e-5,-3.4038512859965103e-8,0.0021331794386085386,2.261762912569421e-5,-3.4094941293936804e-8,0.002133596614516856,2.2795606804280943e-5,-3.4280365800889207e-8,0.0021339148569076657,2.3052078776754165e-5,-3.455073970041519e-8,0.0021341135296762083,2.3327034579694484e-5,-3.484217778475803e-8,0.0021342009716787884,2.355832491670355e-5,-3.508814955727273e-8,0.0021342101969445745,2.3697300658380293e-5,-3.523629751598651e-8,0.0021341884075972216,2.3719450332254015e-5,-3.525994944230765e-8,0.002134184081791398,2.3627331849970435e-5,-3.5161372712859956e-8,0.002134235900463689,2.3446066878692636e-5,-3.4967036409302774e-8,0.0021343663946126897,2.321429430328426e-5,-3.471798296710547e-8,0.0021345807976598918,2.2974350116389325e-5,-3.4459344612988514e-8,0.0021348696549837566,2.2764450779378168e-5,-3.4231980765256686e-8,0.0021352131046345666,2.2613905870942357e-5,-3.4067347153649095e-8,0.0021355851791665065,2.25409643711599e-5,-3.398518306415485e-8,0.002135957353588875,2.255223300982052e-5,-3.3992879723749303e-8,0.0021363013822437923,2.264265540717151e-5,-3.408542886166249e-8,0.0021365919676518924,2.279553658100697e-5,-3.4245382178955386e-8,0.0021368099415358917,2.298274820199354e-5,-3.444296877039347e-8,0.0021369464146205742,2.3165964903851673e-5,-3.463731317033913e-8,0.0021370076236995232,2.3300428516159704e-5,-3.4780406073762714e-8,0.0021370188901841084,2.334275576213467e-5,-3.482548254690987e-8,0.002137024662802771,2.3262920180390915e-5,-3.473993474880969e-8,0.0021370813223880038,2.3057492795026685e-5,-3.451958523389752e-8,0.002137241889275746,2.2757801904735166e-5,-3.41974981982623e-8,0.0021375370262618257,2.2426116340509338e-5,-3.3839966919214845e-8,0.002137961316631726,2.213800200907653e-5,-3.3527737842564464e-8,0.0021384728126343628,2.1957459800264673e-5,-3.332951347872889e-8,0.002139006670366777,2.191643370582827e-5,-3.3280036206354196e-8,0.0021394959229136664,2.2007302232413204e-5,-3.3371904617377737e-8,0.0021398901271324055,2.2189143712365275e-5,-3.3562023526722955e-8,0.002140166006414651,2.2402515162981413e-5,-3.378718549615929e-8,0.002140329077781706,2.2586184572995143e-5,-3.398186921720036e-8,0.0021404083035632985,2.2691063196128188e-5,-3.409319354061641e-8,0.002140446731689183,2.2688976940126358e-5,-3.409045739764433e-8,0.002140490895281052,2.2575699890952926e-5,-3.396857223236857e-8,0.0021405812375513067,2.2368761539972847e-5,-3.374586429282327e-8,0.002140745261299301,2.21013187905107e-5,-3.345758704823717e-8,0.002140994332456639,2.181402372302832e-5,-3.314720913566537e-8,0.002141324077070165,2.15469856889004e-5,-3.285775427864785e-8,0.002141717448243737,2.1333424920190157e-5,-3.262494699138589e-8,0.0021421491254591573,2.1195757227350775e-5,-3.247299004550511e-8,0.0021425900057506363,2.1143998775028036e-5,-3.2412859574264454e-8,0.002143011062769476,2.117578153748411e-5,-3.2442332125159627e-8,0.0021433864887417924,2.1277166088685482e-5,-3.254683206575627e-8,0.0021436964440635616,2.142377656843826e-5,-3.270056832632809e-8,0.0021439298869587705,2.1582271289495213e-5,-3.2867992137633203e-8,0.0021440878674806683,2.1712763255525305e-5,-3.3006289361086e-8,0.002144187054590783,2.1773439803346106e-5,-3.3070310510598916e-8,0.002144262009093983,2.172867744059509e-5,-3.302135431596869e-8,0.002144363336494184,2.156066898233932e-5,-3.2839788635029706e-8,0.0021445484486645283,2.128161554298987e-5,-3.253826914107641e-8,0.0021448640499980975,2.093968006406232e-5,-3.216820242252745e-8,0.0021453256085358927,2.0610778355504582e-5,-3.181096877059883e-8,0.002145905198301666,2.0374493068902587e-5,-3.155211428654284e-8,0.00214653761622983,2.028404497865664e-5,-3.144915450204835e-8,0.002147143609271417,2.0346789600608755e-5,-3.151058660106004e-8,0.0021476575414585346,2.0525272704293914e-5,-3.1696854344447995e-8,0.002148045581613403,2.0755200980876327e-5,-3.193942834876001e-8,0.0021483090662633483,2.0968393190590092e-5,-3.2165288983192186e-8,0.002148476685362016,2.111059951237463e-5,-3.231601401750927e-8,0.002148592188673189,2.115054857145032e-5,-3.235756967674147e-8,0.0021487026050471423,2.108140192452833e-5,-3.2282037014221544e-8,0.002148849218208448,2.091738286919093e-5,-3.2104180012498956e-8,0.0021490617141141114,2.0687943158359667e-5,-3.185531826563116e-8,0.0021493552248900965,2.043093865495207e-5,-3.1576037272193084e-8,0.0021497299103959574,2.018578295980443e-5,-3.1308781112487576e-8,0.0021501726730506327,1.99873898678633e-5,-3.109124846202539e-8,0.0021506604730088547,1.986152543363258e-5,-3.0951322070678607e-8,0.0021511645783630928,1.9821951349432184e-5,-3.0903980935864254e-8,0.0021516549924586936,1.986945352369192e-5,-3.0950285248140185e-8,0.0021521044365688485,1.9992440843010033e-5,-3.107804747030246e-8,0.0021524916686676407,2.016856874486101e-5,-3.126355090492214e-8,0.0021528042317079527,2.0367018571783807e-5,-3.147390414350625e-8,0.002153040804545645,2.0551375958833374e-5,-3.167000555671362e-8,0.002153213305985311,2.0683403675124328e-5,-3.181050955508008e-8,0.002153348503797179,2.0728467991859314e-5,-3.185767901736995e-8,0.002153487865791758,2.06633838486928e-5,-3.178596101433709e-8,0.002153683336498533,2.0486260716953912e-5,-3.159278162166714e-8,0.0021539866168050876,2.022543685029994e-5,-3.130833435668043e-8,0.0021544317139913717,1.9941401323367558e-5,-3.099772567279643e-8,0.0021550161923323133,1.9714632358069782e-5,-3.074786370682314e-8,0.002155692720036186,1.961840203113644e-5,-3.0638105864892124e-8,0.0021563809762338523,1.9688010875520684e-5,-3.070702518398803e-8,0.0021569972223773057,1.990511081944595e-5,-3.0935392402114285e-8,0.002157485124027573,2.0207307545267066e-5,-3.125638734645144e-8,0.002157830955696959,2.0515501898373752e-5,-3.1584963952577884e-8,0.0021580591073866546,2.0761657983135865e-5,-3.1847730058857165e-8,0.0021582161445200332,2.0904745124936695e-5,-3.200013957830926e-8,0.0021583539825240404,2.0933500471754782e-5,-3.20295538061186e-8,0.0021585179343003775,2.0861021855106574e-5,-3.194956386357729e-8,0.0021587404344839763,2.071653038410741e-5,-3.179127525102121e-8,0.0021590389475030915,2.0537441620192218e-5,-3.159486520542445e-8,0.0021594163239126024,2.0362778417702688e-5,-3.140248197378161e-8,0.002159862527034524,2.02278948399552e-5,-3.12524698579826e-8,0.002160357285130327,2.0160345669093216e-5,-3.117480508185589e-8,0.002160873478204498,2.017687657565958e-5,-3.1187780101922056e-8,0.002161381090914999,2.028164028054539e-5,-3.1296077539601465e-8,0.0021618514304895253,2.0465857833124282e-5,-3.1490443368311834e-8,0.0021622611359319007,2.0709012451658273e-5,-3.174899334089471e-8,0.002162595566211041,2.0981352258249935e-5,-3.203986438715612e-8,0.0021628513653473066,2.1247405686018214e-5,-3.232489338007879e-8,0.0021630380775924086,2.1470340095996585e-5,-3.256419591015205e-8,0.0021631786722644116,2.1617083222566323e-5,-3.272164177108625e-8,0.00216330868415945,2.1664275769114177e-5,-3.277135694153426e-8,0.0021634731281762807,2.1605065487863532e-5,-3.2705257492733154e-8,0.0021637197852005,2.1455812436603205e-5,-3.254053477237097e-8,0.0021640877997709013,2.1259948537739125e-5,-3.232400898296171e-8,0.002164592603377122,2.108438739205041e-5,-3.212829934769005e-8,0.0021652124263154904,2.1004045458292953e-5,-3.2034996857797784e-8,0.002165885927123784,2.107545579977581e-5,-3.21059404679378e-8,0.002166528501769656,2.1310646054636276e-5,-3.235474767326647e-8,0.0021670632549307834,2.1668132745757332e-5,-3.273691349900394e-8,0.0021674499574846086,2.2069275229952522e-5,-3.3167461209084994e-8,0.002167695398646148,2.2430414143251984e-5,-3.355576152777364e-8,0.0021678424617177497,2.2691454458900874e-5,-3.383651203996052e-8,0.002167948850623929,2.2828166985303557e-5,-3.398307877885336e-8,0.0021680682294110717,2.2848871903014454e-5,-3.400396925492826e-8,0.002168239621410091,2.2783477264658934e-5,-3.393109259567893e-8,0.0021684843405062296,2.2671975588932204e-5,-3.380744770218485e-8,0.0021688073255370847,2.2555681481195456e-5,-3.367771500329707e-8,0.0021692001470083005,2.247154601714925e-5,-3.358207900819488e-8,0.0021696442585630864,2.2448607182279223e-5,-3.355228837104354e-8,0.0021701141864079454,2.250565226458912e-5,-3.360901884393857e-8,0.0021705808201399487,2.2649663627314837e-5,-3.376013066261044e-8,0.002171014994842116,2.2875029470842755e-5,-3.399981066861581e-8,0.0021713914000250586,2.3163823595123173e-5,-3.430889349840126e-8,0.002171692521788873,2.348758011808522e-5,-3.4656770876542255e-8,0.0021719120261017694,2.381072758144914e-5,-3.500503838425244e-8,0.002172056961163761,2.4095477309522668e-5,-3.531268029929626e-8,0.002172148267756013,2.430773141450824e-5,-3.5542386815216575e-8,0.0021722192183669113,2.4423369339532766e-5,-3.5667380799741086e-8,0.0021723115797911727,2.443412716691192e-5,-3.567793407850738e-8,0.002172469370856416,2.435222243916228e-5,-3.558662383347489e-8,0.002172730141133899,2.4212483806263987e-5,-3.5430893243344456e-8,0.0021731143123856107,2.406994280862633e-5,-3.527059410845282e-8,0.0021736147553494305,2.399049051461565e-5,-3.517783640369402e-8,0.0021741911382967354,2.4033616638707532e-5,-3.5218066388396594e-8,0.0021747750128882433,2.4230582571380168e-5,-3.542607458320517e-8,0.0021752887669595176,2.4567528571206925e-5,-3.5787372573666643e-8,0.002175673052155437,2.49852415759974e-5,-3.623781078312394e-8,0.002175908854725856,2.5399662837313294e-5,-3.668591393596756e-8,0.0021760215228088064,2.5733306593570758e-5,-3.704716213606398e-8,0.002176065901163682,2.5940343519971294e-5,-3.727134201842648e-8,0.0021761034783204496,2.6014370722419524e-5,-3.735101978943853e-8,0.0021761840080405325,2.598057227504093e-5,-3.731306905929495e-8,0.0021763370696546024,2.5881272618678495e-5,-3.7203079961238056e-8,0.002176571964578955,2.5762734966788867e-5,-3.7071131130532555e-8,0.002176881812643163,2.5666444320064544e-5,-3.6962369095902545e-8,0.002177248530362033,2.562462645803108e-5,-3.6912097310867254e-8,0.0021776471185262275,2.56583990067598e-5,-3.694366624460091e-8,0.0021780490847102727,2.577707907708006e-5,-3.706762059466764e-8,0.002178425470464016,2.5977906113517757e-5,-3.7281338682605485e-8,0.002178749995054507,2.6246122306122735e-5,-3.7569099018844795e-8,0.00217900258816672,2.6555835903572176e-5,-3.7903003824289374e-8,0.0021791731432856958,2.687235363923373e-5,-3.8245472427078433e-8,0.002179264774642755,2.715651610226576e-5,-3.8553882093067663e-8,0.0021792954993946666,2.737100012726711e-5,-3.878734993897014e-8,0.0021792972905228126,2.7487801409019163e-5,-3.891485525836279e-8,0.0021793118845096627,2.7495392292255558e-5,-3.8923106738733907e-8,0.0021793835257311045,2.740366279969572e-5,-3.8822101383632065e-8,0.0021795497062576503,2.7244969924330507e-5,-3.864650695887784e-8,0.0021798315902990814,2.70702521421955e-5,-3.845164962605757e-8,0.0021802262299320907,2.693987847972113e-5,-3.8303651911103566e-8,0.0021807030536763806,2.6909868400577606e-5,-3.826434729027413e-8,0.002181207209043901,2.7015773686396604e-5,-3.837346895969279e-8,0.002181671386070132,2.7258810728352984e-5,-3.8633200520179275e-8,0.0021820347882051537,2.7600628586197033e-5,-3.9002200115334744e-8,0.002182263235355336,2.7971926183414146e-5,-3.940491263576584e-8,0.0021823611556105044,2.829417321789066e-5,-3.9755366604696456e-8,0.0021823687183090976,2.8505597620353956e-5,-3.9985695960752894e-8,0.002182345504518596,2.8579166128070304e-5,-4.006587420492795e-8,0.00218234968005574,2.852535965389795e-5,-4.000679786407413e-8,0.0021824224556048176,2.838187447749541e-5,-3.984911376569704e-8,0.0021825822079256305,2.8198197432587352e-5,-3.964648840870845e-8,0.002182826606343748,2.802230424969246e-5,-3.9451180587015695e-8,0.0021831385394179867,2.7892584515013404e-5,-3.930524420287103e-8,0.002183492363313434,2.7834558372804433e-5,-3.9236882225582924e-8,0.00218385884397354,2.7860496490932013e-5,-3.9259933128383583e-8,0.0021842086588251997,2.7970168372585447e-5,-3.937460019364952e-8,0.0021845150758582356,2.815172900254157e-5,-3.956836422313752e-8,0.0021847565668936496,2.838260505830918e-5,-3.9816914283289737e-8,0.002184919839335821,2.8630898322059892e-5,-4.0085638458821643e-8,0.002185003215576358,2.885819450463714e-5,-4.033263381846127e-8,0.00218501956630861,2.9024619642616696e-5,-4.0514173513386934e-8,0.002184997331671042,2.9096343678574037e-5,-4.0592881414629923e-8,0.0021849779434766005,2.9054458176741742e-5,-4.054747138967016e-8,0.0021850086809995705,2.890265974050007e-5,-4.0381253019101765e-8,0.0021851317555203866,2.867039550492026e-5,-4.012573894978999e-8,0.002185372477190764,2.8408972654841787e-5,-3.983659301605007e-8,0.002185730455124099,2.8180528313815657e-5,-3.958174677758403e-8,0.0021861771693066417,2.804251014407566e-5,-3.942450075684918e-8,0.002186661265337064,2.803206489062113e-5,-3.940634962351665e-8,0.0021871205644257144,2.8154906091556042e-5,-3.953453886956924e-8,0.0021874978725242504,2.8382145494403323e-5,-3.977826745766282e-8,0.002187756423815575,2.865671184733779e-5,-4.0075466582978284e-8,0.0021878902551987,2.8908425992492547e-5,-4.0349239996036213E-08,0.0021879255831569328,2.907366219308399e-5,-4.052949755270081e-8,0.002187912085216684,2.9112986253584563e-5,-4.057244739063578e-8,0.0021879072199879612,2.9020292931549317e-5,-4.0470759660277784E-08,0.0021879598630596396,2.8820635503511565e-5,-4.025130399634947e-8,0.0021880992812219192,2.855917509608077e-5,-3.996313733776403e-8,0.002188332056726784,2.8287020621832985e-5,-3.9662060963515264e-8,0.0021886456060208528,2.804939262502735e-5,-3.9397673106991304e-8,0.0021890148819920466,2.7878715380127772e-5,-3.9205757381181164e-8,0.002189409156221178,2.7792378102702624e-5,-3.9105747978824426e-8,0.0021897972687176166,2.7793455583849522e-5,-3.9101439536603146e-8,0.0021901511374968234,2.7872602070577086e-5,-3.9183008468822456e-8,0.0021904481235000325,2.80099950384596e-5,-3.932910624744156e-8,0.002190673074057688,2.8177065500827853e-5,-3.950871255388833e-8,0.0021908206554662854,2.8338483116444323e-5,-3.9683248872783535e-8,0.002190898034144987,2.8455330491275332e-5,-3.980999342254779e-8,0.002190927155960091,2.8490498477234655e-5,-3.9847964078533655e-8,0.0021909449561215767,2.841676049523602e-5,-3.9766800450551744e-8,0.002190999293289918,2.8226395593368268e-5,-3.955740530076425e-8,0.0021911391604951622,2.7938931175521973e-5,-3.924055987672371e-8,0.0021914004248092763,2.7602074739011113e-5,-3.886808440988153e-8,0.00219179202133541,2.7282286475806473e-5,-3.851264350198292e-8,0.002192289357213238,2.704625873866707e-5,-3.82475557684289e-8,0.0021928392696263337,2.6940105864173445e-5,-3.812399760810237e-8,0.0021933752027235077,2.697500409955819e-5,-3.815512007691709e-8,0.002193836370061701,2.712470614302269e-5,-3.8313049345572726e-8,0.0021941837606845793,2.7334592335765326e-5,-3.8538514178115646e-8,0.0021944084668189573,2.753776194502866e-5,-3.875830475133487e-8,0.002194531286417225,2.7672583796492192e-5,-3.890450991618433e-8,0.002194595052600508,2.769704623340426e-5,-3.893040017878978e-8,0.0021946525033668582,2.759686253141467e-5,-3.881953924029014e-8,0.002194753120305771,2.7386090076476726e-5,-3.858667842959779e-8,0.0021949323250686314,2.7100914061041817e-5,-3.82710888669168e-8,0.0021952055424206626,2.678902702000713e-5,-3.792497063521771e-8,0.0021955679291575467,2.6498107213706706e-5,-3.760078207771899e-8,0.0021959986568907772,2.626660204683497e-5,-3.73410335002723e-8,0.0021964674766541165,2.6118501228737073e-5,-3.7172439057852775e-8,0.0021969413113013753,2.60620374695922e-5,-3.7104408935529385e-8,0.0021973894608135576,2.6091132908844254e-5,-3.7130604436828466e-8,0.00219778705276762,2.6188108161646412e-5,-3.7231911539965425e-8,0.0021981171577645352,2.6326541689641457e-5,-3.7379570709525906e-8,0.0021983722862443157,2.647389410124768e-5,-3.753800898406534e-8,0.0021985558494707763,2.6594192238440678e-5,-3.766770585522208e-8,0.0021986837479933113,2.6651537795907375e-5,-3.772898009889921e-8,0.0021987855132714115,2.6615420265459276e-5,-3.76878288712398e-8,0.0021989034252902504,2.646839864760911e-5,-3.752446513210713e-8,0.002199087291365176,2.621516384114665e-5,-3.7243437839789706e-8,0.002199383129417582,2.588937576288623e-5,-3.688130790905145e-8,0.0021998169911259277,2.555241378810931e-5,-3.650538638656394e-8,0.0022003802001003703,2.5279351320183844e-5,-3.619836871761591e-8,0.0022010254563611044,2.513422877506996e-5,-3.603114654032077e-8,0.002201679461595271,2.5145548720641303e-5,-3.603578324988553e-8,0.0022022676262901954,2.5295397762231912e-5,-3.619337702747384e-8,0.0022027384098715387,2.552770043771887e-5,-3.6442911016991864e-8,0.0022030761947726936,2.5769490088737933e-5,-3.6704451465803936e-8,0.0022032999837505608,2.5953710056367697e-5,-3.690413133727294e-8,0.002203452495899009,2.6035101872089713e-5,-3.699166081129466e-8,0.00220358608653898,2.5996726968420892e-5,-3.6947657521712005e-8,0.0022037500668679825,2.584868135819004e-5,-3.678246540474378e-8,0.0022039815599960576,2.562183741456571e-5,-3.6529498934363496e-8,0.0022043004146107474,2.5359154396673204e-5,-3.6235824598435174e-8,0.0022047079845341367,2.510642092784503e-5,-3.595198121736966e-8,0.002205189271399241,2.490392157422305e-5,-3.5722695471243174e-8,0.0022057175485827437,2.4780291065975067e-5,-3.557995202152093e-8,0.002206260229099632,2.4749273402388118E-05,-3.553929040719807e-8,0.0022067847011294868,2.4809362891213233e-5,-3.559935513770356e-8,0.002207263133432532,2.494571788740346e-5,-3.574402276444476e-8,0.0022076757646234684,2.5133391696059046e-5,-3.594599847110066e-8,0.0022080127950028375,2.534094893318031e-5,-3.61707958606488e-8,0.0022082753512539274,2.5533983406702185e-5,-3.6380543421501094e-8,0.0022084759594946783,2.5678586499651885e-5,-3.653770547250637e-8,0.0022086387115195184,2.5745202620986414e-5,-3.6609273231779453e-8,0.002208798772150077,2.5713550443386234e-5,-3.6572240060008746e-8,0.002208999993716592,2.557900040024047e-5,-3.6420802882875486e-8,0.0022092887458073814,2.5359488384672675e-5,-3.6174216899908184e-8,0.0022097025167608603,2.5099812062111692e-5,-3.588172643050776e-8,0.0022102543881308777,2.4867936743048755e-5,-3.56185625830845e-8,0.0022109195242995543,2.4738476511340537e-5,-3.5467648422950415e-8,0.002211634051687777,2.4765337819048855e-5,-3.5489237515539794e-8,0.002212313150289902,2.495636083716276e-5,-3.5692713187243686e-8,0.0022128823429647753,2.526671790565515e-5,-3.602912278257172e-8,0.0022133046472050132,2.5616981016093155e-5,-3.641102991172894e-8,0.0022135888531115686,2.5924578071327065e-5,-3.6747220225829005e-8,0.0022137783155401383,2.6130440340332528e-5,-3.69721280559337e-8,0.0022139309577410685,2.6210438172246873e-5,-3.705850643683236e-8,0.0022141014474845195,2.6172901848814536e-5,-3.7014821330468624e-8,0.0022143303324376486,2.604895373490618e-5,-3.687478915277662e-8,0.002214639802017609,2.5881451700368056e-5,-3.668537821684993e-8,0.0022150338963010646,2.5715502764954452e-5,-3.649643735626844e-8,0.0022155011447347337,2.5591302194405776e-5,-3.6352737563078843e-8,0.0022160184567097205,2.553907975187675e-5,-3.628822151576024e-8,0.0022165557263009628,2.5575938852458807e-5,-3.63223191891732e-8,0.0022170807551756427,2.5704576800506107e-5,-3.6458407892383054e-8,0.002217564030701961,2.591385422119361e-5,-3.668441906146322e-8,0.0022179828448299827,2.6181049859668053e-5,-3.697537858622144e-8,0.0022183242804138395,2.6475407977684876e-5,-3.729737331333177e-8,0.002218586851652362,2.6762362021212276e-5,-3.7612202106384365e-8,0.002218780907528584,2.7007899392426868e-5,-3.7882116402540654e-8,0.00221892800983572,2.718282261799535e-5,-3.807443917791746e-8,0.0022190594291572868,2.7266897794539164e-5,-3.816614008581418e-8,0.002219213643884262,2.7253074171586324e-5,-3.814862701576736e-8,0.0022194321448706397,2.7151812912431053e-5,-3.8032782192625904e-8,0.0022197524438374,2.699457943246866e-5,-3.785310248538782e-8,0.0022201977516507457,2.6834004944931882e-5,-3.7668058896544666e-8,0.0022207647596439554,2.6736960739406968e-5,-3.755241769514929e-8,0.002221414588087056,2.6767401671111417e-5,-3.757801963905858e-8,0.0022220754445295104,2.696116773143545e-5,-3.778551747050506e-8,0.002222662982074354,2.7304481080951647e-5,-3.81602371398771e-8,0.002223112492580615,2.7732335963690483e-5,-3.8630272100101265e-8,0.0022234048892087036,2.815262001038408e-5,-3.9093316095525206e-8,0.002223570353579146,2.8482812379548647e-5,-3.9457507211628694e-8,0.0022236698422765312,2.8677471002609632e-5,-3.9671972494411865e-8,0.002223768955546225,2.8734606819302868e-5,-3.973390147896533e-8,0.002223918561912486,2.8685068606721128e-5,-3.9676852435000445e-8,0.002224146947177898,2.857614254949019e-5,-3.955275079853739e-8,0.002224460584546953,2.8457539680318737e-5,-3.9416539001133896e-8,0.0022248488878112726,2.8372409677147155e-5,-3.931628151961653e-8,0.0022252897394614136,2.8352697862785916e-5,-3.9287926512737694e-8,0.002225754439448891,2.8417200189247082e-5,-3.9352956850409215e-8,0.0022262119752000306,2.8571064147124517e-5,-3.9517646409515605e-8,0.0022266329015272588,2.8806246946617162e-5,-3.977346217838114e-8,0.002226992971723243,2.9102919767945163e-5,-4.009861614536306e-8,0.002227276408541931,2.9431986686848863e-5,-4.046090776146395e-8,0.002227478443459657,2.975881765135786e-5,-4.082189498635584e-8,0.0022276066367046955,3.00479536480172e-5,-4.114208286135804e-8,0.0022276806541805206,3.0268246647568305e-5,-4.1386550741833944e-8,0.0022277304168021564,3.0397850263698415e-5,-4.153044218187168e-8,0.0022277927064168696,3.0428497299104088e-5,-4.1563769098494404e-8,0.0022279064138012593,3.036858246513481e-5,-4.149502940286735e-8,0.002228106506621653,3.0244655302837534e-5,-4.13531517818982e-8,0.0022284166785792644,3.0100550888706932e-5,-4.1186794221321944e-8,0.0022288411897262855,2.9992625796661267e-5,-4.10591614928939e-8,0.0022293578310589434,2.997937361758266e-5,-4.1036340003927136e-8,0.002229915827113162,3.0105006870106393e-5,-4.116870189588894e-8,0.0022304437011137785,3.0380336855881893e-5,-4.146920822621145e-8,0.0022308696821551816,3.0770008843180174e-5,-4.189889481023213e-8,0.0022311489278408515,3.119747911794132e-5,-4.237238494059883e-8,0.002231282975267909,3.157105128869589e-5,-4.278709882978031e-8,0.0022313182697664352,3.181892335039289e-5,-4.3062523712161575e-8,0.0022313244787628863,3.1913280890993805e-5,-4.316712531818715e-8,0.0022313668866389517,3.187208721013959e-5,-4.312031825412391e-8,0.0022314877691962513,3.174329917730292e-5,-4.297493790279011e-8,0.0022317016189136243,3.1584440533183345e-5,-4.2794660080913634e-8,0.0022320000376087473,3.1447193001066374e-5,-4.263700565313382e-8,0.0022323599775302527,3.1369544649942365e-5,-4.2544629399779314e-8,0.0022327512669868426,3.13736485445689e-5,-4.254281430583861e-8,0.0022331420789577098,3.146660704082846e-5,-4.264014632464142e-8,0.002233502662649728,3.164221547907365e-5,-4.283028278424188e-8,0.0022338081602597494,3.188287847991798e-5,-4.309400116155361e-8,0.0022340411058888376,3.216172283638613e-5,-4.340155202858812e-8,0.002234193788318541,3.244531827001491e-5,-4.371572186288535e-8,0.002234270215537642,3.269748772071455e-5,-4.399608728756532e-8,0.0022342870174345488,3.288434625146084e-5,-4.4204595810092806e-8,0.0022342725300309807,3.298010211189754e-5,-4.431198509478476e-8,0.00223426358719864,3.297265366270278e-5,-4.430402838113176e-8,0.002234300042169446,3.28677210223566e-5,-4.4186255163092324e-8,0.0022344176501358816,3.269023712664952e-5,-4.398572890389884e-8,0.0022346404530500393,3.248215526411121e-5,-4.374887676761402e-8,0.0022349739993351363,3.229642695778004e-5,-4.3534981383312984e-8,0.002235400846601725,3.218729338221004e-5,-4.3405375317758714e-8,0.0022358801294424515,3.2197598996961654e-5,-4.3409074494626946e-8,0.0022363531613351687,3.234518444318427e-5,-4.356719715545998e-8,0.0022367562584270713,3.26124404623423e-5,-4.386088239969612e-8,0.002237039364916164,3.2944799036726895e-5,-4.4229360674700297e-8,0.002237184585255663,3.3263008754100455e-5,-4.458371191536925e-8,0.0022372152097443723,3.348808466964168e-5,-4.4835003790813605e-8,0.002237188268790842,3.356890037152168e-5,-4.492538522979582e-8,0.002237172973766367,3.3498373396684425e-5,-4.4846285550617134e-8,0.002237226446062347,3.331063740330506e-5,-4.463527151098567e-8,0.0022373785866876966,3.306356285861056e-5,-4.435657408777556e-8,0.0022376301801785795,3.281796598936418e-5,-4.407798109343235e-8,0.002237960293002327,3.262266212632057e-5,-4.385422435645071e-8,0.0022383364907900727,3.250798890852662e-5,-4.371970523753345e-8,0.002238723456645966,3.2485676809755455e-5,-4.3688197681211816e-8,0.0022390886143439774,3.255173487689696e-5,-4.3755889161178954e-8,0.002239405282078471,3.2689939993701276e-5,-4.390514695537152e-8,0.002239654500276259,3.2874917872497975e-5,-4.410791058122196e-8,0.002239826466603891,3.3074841894149056e-5,-4.43287154816248e-8,0.0022399219825763365,3.325431872964785e-5,-4.452793608909369e-8,0.00223995372724577,3.337818442270938e-5,-4.466602508507044e-8,0.002239946609945796,3.341665474095889e-5,-4.4709250539583116e-8,0.0022399361149010558,3.335152643078121e-5,-4.463662869840457e-8,0.0022399637177205746,3.318214901741799e-5,-4.4446666383878356e-8,0.0022400692719222156,3.292908438196356e-5,-4.4161604326662625e-8,0.0022402815961347503,3.263324461259011e-5,-4.382667142532589e-8,0.0022406097829435986,3.234928937051243e-5,-4.35029200728048e-8,0.0022410381982317313,3.2133989991873885e-5,-4.325433505758617e-8,0.002241527366860039,3.2032192958380706e-5,-4.31320710589e-8,0.002242021338402319,3.206407169227447e-5,-4.315991919307524e-8,0.002242460373611949,3.22173758634287e-5,-4.3325235858678146e-8,0.0022427962572554097,3.244758975145919e-5,-4.3578759913273076e-8,0.002243006285647738,3.268735329396462e-5,-4.384500203668317e-8,0.002243101254106713,3.2863977904254935e-5,-4.4041959824776854e-8,0.002243123492551911,3.292048609982193e-5,-4.410494856355586e-8,0.0022431341784470964,3.283271918257909e-5,-4.400603585822717e-8,0.002243194132145136,3.261533508896748e-5,-4.376093452019552e-8,0.0022433459529788004,3.2314277942817154e-5,-4.342065606321087e-8,0.0022436045440565053,3.198999227156275e-5,-4.305276261895022e-8,0.002243958133515982,3.169947891807182e-5,-4.2721289735892826e-8,0.002244376640907042,3.148388477407264e-5,-4.2472798095789184e-8,0.0022448221512804886,3.136378685678507e-5,-4.233096289601714e-8,0.0022452575632132565,3.134045113321896e-5,-4.2297823602288997e-8,0.002245652005153063,3.139999666608745e-5,-4.2358322241039085e-8,0.002245983472810847,3.151802159817808e-5,-4.248543069195238e-8,0.0022462398578507008,3.166353197668659e-5,-4.2644554056704593e-8,0.002246419446397792,3.180211929402931e-5,-4.2797108244559135e-8,0.0022465314514837314,3.1898991863196846e-5,-4.290391686790522e-8,0.0022465964763423293,3.192267915682146e-5,-4.292934587877446e-8,0.0022466461542808808,3.185001140863545e-5,-4.2846882077462555e-8,0.0022467207138888905,3.1672240851810194e-5,-4.264604611928958e-8,0.0022468631990779767,3.140089843834509e-5,-4.2339079016408486e-8,0.0022471100388813652,3.1070610463486265e-5,-4.196427300171984e-8,0.002247479746499827,3.073566784992554e-5,-4.158230565870342e-8,0.0022479638331529823,3.045874199951375e-5,-4.1263714808448154e-8,0.002248524763253154,3.02937857422682e-5,-4.1069733388505545e-8,0.002249103611883865,3.0268960024283786e-5,-4.1032988729356464e-8,0.0022496357222364597,3.0376558929030593e-5,-4.114590430823665e-8,0.002250068824548509,3.0574158665270486e-5,-4.1361647414439126e-8,0.0022503772247836114,3.07964029825346e-5,-4.160710741763205e-8,0.002250567802057482,3.097301904580212e-5,-4.1803061544443096e-8,0.002250676749711126,3.1047324392743566e-5,-4.188509138902905e-8,0.0022507586723131802,3.099010340839463e-5,-4.1819420951854353e-8,0.002250871480347393,3.080538471041008e-5,-4.1609680129912226e-8,0.0022510615188335178,3.052699532297764e-5,-4.1293253390966694e-8,0.002251353179262093,3.0207520227351978e-5,-4.092900157619033e-8,0.0022517456031207373,2.990365199999711e-5,-4.058081653528731e-8,0.002252216441744965,2.966277801546249e-5,-4.0302454700107246e-8,0.0022527301904458124,2.9514465763670236e-5,-4.012779775956819e-8,0.0022532475943158755,2.9467955847632948e-5,-4.0067851081194045e-8,0.0022537333307623537,2.9514413442723212e-5,-4.0113146302274113E-08,0.0022541607881451917,2.9631644844628163e-5,-4.023900335211374e-8,0.002254514189838657,2.9789237110179563e-5,-4.041133614434692e-8,0.0022547890266936274,2.9952985275678716e-5,-4.059167064094272e-8,0.0022549917913854377,3.0088440765969818e-5,-4.074114160771088e-8,0.0022551396035145384,3.016407696389352e-5,-4.08240201186456e-8,0.0022552597216511264,3.015481429148342e-5,-4.081164539487939e-8,0.0022553882919875423,3.0046508802163843e-5,-4.0687495180085486e-8,0.002255567099077569,2.9841357504034444e-5,-4.045337540522603e-8,0.0022558369388607233,2.9562838755949134e-5,-4.0135156504026914e-8,0.0022562271875581842,2.9257130726269753e-5,-3.978455631529007e-8,0.0022567436326642507,2.898714903281843e-5,-3.947255364662877e-8,0.0022573598823487835,2.8817209579511943e-5,-3.927213390100102e-8,0.002258018966071855,2.8791605493017066e-5,-3.923404737454537e-8,0.002258648117312685,2.891633036493332e-5,-3.936599702943412e-8,0.0022591820275492096,2.9154153382066135e-5,-3.962682189325287e-8,0.0022595839247476135,2.9436595028559185e-5,-3.993977198480979e-8,0.00225985505008105,2.9686790215993037e-5,-4.021816649643196e-8,0.002260030241699472,2.9842461088519565e-5,-4.039130403089442e-8,0.002260164133587199,2.9870701143892955e-5,-4.042125712911031e-8,0.0022603147060398874,2.9772008334002676e-5,-4.0307640364203134e-8,0.002260529356679789,2.957539212424842e-5,-4.008236218492744e-8,0.0022608360709949985,2.9328088618681445e-5,-3.9798262676794195e-8,0.002261240279369694,2.9083351681059975e-5,-3.951545849385412e-8,0.0022617268003365322,2.888909043567816e-5,-3.9288472509905356e-8,0.0022622655482008036,2.8779388123142624e-5,-3.915647214350556e-8,0.002262819189102602,2.8770098261314698e-5,-3.913805732001187e-8,0.002263350798057785,2.88586129564398e-5,-3.92308125522209e-8,0.0022638299762149723,2.9026875547142857e-5,-3.9414639258724473e-8,0.00226423666135669,2.9246199189130553e-5,-3.9657234352431613e-8,0.0022645626786873415,2.9482478245198007e-5,-3.992005306099529e-8,0.0022648116674165116,2.9700822468235492e-5,-4.016358408751382e-8,0.0022649981596772123,2.9869345096513426e-5,-4.0351602493104255e-8,0.00226514630501003,2.9962411033835785e-5,-4.04547762743576e-8,0.002265288298830657,2.9963862391270176e-5,-4.045428268554886e-8,0.0022654620702153745,2.9870664852001304e-5,-4.034600056798178e-8,0.002265707212446325,2.969691295175194e-5,-4.0145217890832345e-8,0.002266057956294179,2.947691133511338e-5,-3.9890345763315734e-8,0.0022665329039003286,2.926444328548644e-5,-3.964227072360827e-8,0.0022671236887107245,2.9124484378898093e-5,-3.9475022511818455E-08,0.002267788240646869,2.9115420126813518e-5,-3.945552451759843e-8,0.0022684561262601086,2.9265821438624493e-5,-3.9617054061131354e-8,0.0022690490903026677,2.955733641213853e-5,-3.993960157280089e-8,0.002269509515122626,2.992626254599793e-5,-4.035147042985752e-8,0.00226982162214845,3.0286068029203308e-5,-4.0754733553186254e-8,0.0022700138757717004,3.055897303667495e-5,-4.1061025649979134e-8,0.0022701436737226793,3.069989577380529e-5,-4.1218699906638504e-8,0.00227027517647685,3.070387520696665e-5,-4.122131101616223e-8,0.002270461042897145,3.059919619723711e-5,-4.1100011651257346e-8,0.002270732689133939,3.0433729733369717e-5,-4.090835113136894e-8,0.002271098337780852,3.026097227227714e-5,-4.070670005595391e-8,0.002271546105525531,3.012906258930677e-5,-4.0549886052690306e-8,0.002272049606456396,3.007354356655947e-5,-4.0478868217575704e-8,0.0022725744638758933,3.011354728086309e-5,-4.051615436512521e-8,0.0022730847790649704,3.0250954443169037e-5,-4.066458322488583e-8,0.002273548838725809,3.047206367789406e-5,-4.0909059104787467e-8,0.0022739434936463994,3.075113090835044e-5,-4.1220551846418976e-8,0.0022742568636345524,3.105504186902545e-5,-4.156147942044127e-8,0.0022744892839467825,3.134835492335001e-5,-4.189151521878511e-8,0.0022746527416301044,3.159798737144839e-5,-4.217292294439811e-8,0.0022747692873981264,3.177714018497166e-5,-4.237495585906838e-8,0.0022748688113758886,3.186850606857967e-5,-4.247743480535395e-8,0.002274986290774487,3.186699225575003e-5,-4.2473855910760004e-8,0.0022751583117732004,3.178213127539921e-5,-4.237427673206388e-8,0.0022754182619907173,3.1640017291713195e-5,-4.2207768491395545e-8,0.0022757894556965316,3.1483670873694755e-5,-4.202308555544977e-8,0.0022762763149492913,3.1369490725813464e-5,-4.188476186116999e-8,0.002276855832823401,3.135697026894548e-5,-4.186133900931318e-8,0.0022774744421386866,3.1490633861351893e-5,-4.200454099581501e-8,0.0022780569340058936,3.177865036092299e-5,-4.232457983909165e-8,0.0022785298502353986,3.217986098398422e-5,-4.277512950721424e-8,0.002278850878859694,3.261186828087253e-5,-4.326249088421801e-8,0.002279027127460274,3.29810254809563e-5,-4.3679853601427606e-8,0.0022791101135152944,3.3218485070021266e-5,-4.3948435338700015e-8,0.0022791716138773816,3.33017751806445e-5,-4.404203618293163e-8,0.0022792763622203156,3.325354630218967e-5,-4.3985619723857855e-8,0.0022794650184009696,3.312474867222378e-5,-4.3836336864797965e-8,0.0022797502493714416,3.297479872131966e-5,-4.3661248003750406e-8,0.00228012142820996,3.285672340462785e-5,-4.35206528604119e-8,0.0022805525144040995,3.2809069538178984e-5,-4.3458910771532503e-8,0.002281009749824412,3.28530678199272e-5,-4.350102367560977e-8,0.002281457946481573,3.299290573495884e-5,-4.3652647942342574e-8,0.0022818653863613037,3.3217663060474e-5,-4.390203862093646e-8,0.0022822076095379298,3.350430854908523e-5,-4.4223341324998374e-8,0.0022824701581385626,3.38215008984268e-5,-4.458094556850484e-8,0.0022826501909389498,3.413398695711384e-5,-4.493459121134231e-8,0.0022827568168762593,3.44073498830337e-5,-4.524485208989148e-8,0.0022828100447377627,3.4612658901913384e-5,-4.547843105508966e-8,0.0022828384740465075,3.4730475087631895e-5,-4.561266796396316e-8,0.002282876011570533,3.475388096679199e-5,-4.5638964500433376e-8,0.002282957848421652,3.469040464851831e-5,-4.5565062411767125e-8,0.0022831158204580496,3.456271833872463e-5,-4.541606069616092e-8,0.0022833731202049406,3.440786048574832e-5,-4.5233819572801423e-8,0.0022837383081319583,3.427425554837967e-5,-4.507378989735375e-8,0.0022841992424606486,3.42151255976047e-5,-4.4997528462908375e-8,0.0022847190630679586,3.427694413898361e-5,-4.505929978605274e-8,0.0022852381039333777,3.448341082476899e-5,-4.528736898920922e-8,0.002285686017006873,3.4819631970934466e-5,-4.566551541864208e-8,0.0022860045965692596,3.522625967483624e-5,-4.6126130449042295e-8,0.0022861729555042707,3.5613274931110104e-5,-4.65660689031637e-8,0.002286219685653516,3.5892392446296056e-5,-4.688394305335418e-8,0.002286211691889868,3.601177133491025e-5,-4.7019944247694604e-8,0.002286225505956513,3.5972626779050686e-5,-4.697479161031815e-8,0.0022863188543598124,3.58205873724714e-5,-4.6799832485411654e-8,0.00228651668635773,3.562198060753e-5,-4.6570120297171264e-8,0.002286812966928041,3.5440632292562546e-5,-4.635820450409294e-8,0.002287180868527256,3.532389707738892e-5,-4.6218365864022434e-8,0.002287583967878681,3.5298098790532246e-5,-4.618136168410986e-8,0.0022879848284268977,3.536980504236021e-5,-4.6255633734096165e-8,0.0022883504197809537,3.552946613083765e-5,-4.643115703668337e-8,0.002288655274879669,3.575541538610793e-5,-4.668378554344655e-8,0.0022888834463104927,3.60176745468646e-5,-4.697952823998258e-8,0.002289029789277668,3.6281738912671874e-5,-4.727893103740416e-8,0.002289100595889158,3.65126058036671e-5,-4.754178038619249e-8,0.0022891133320047745,3.667916372430841e-5,-4.773217946936401e-8,0.0022890950961498148,3.675871799412574e-5,-4.782371311654076e-8,0.0022890795607725576,3.674100774676719e-5,-4.7804003549630296e-8,0.002289102527511509,3.663093644990813e-5,-4.767785241181172e-8,0.002289196541348638,3.644938070154096e-5,-4.746830614559982e-8,0.0022893851939173337,3.6231636872978196e-5,-4.7215134114218746e-8,0.002289677840039512,3.602331407239086e-5,-4.6970406519053876e-8,0.0022900654708520327,3.58736629553553e-5,-4.679101983320465e-8,0.002290518708418688,3.582634915501503e-5,-4.6728061346799346e-8,0.0022909894789891827,3.590809695929047e-5,-4.681348212371508e-8,0.002291418352774001,3.611712058525191e-5,-4.704638370723802e-8,0.002291748752111823,3.641569025232455e-5,-4.7384109668672996e-8,0.0022919460643483626,3.6733133288591057e-5,-4.774556420547209e-8,0.0022920143328060607,3.6983858880081674e-5,-4.803206329891999e-8,0.002291999814615806,3.7096977477987554e-5,-4.8161604641847836e-8,0.002291975474626928,3.704374634491269e-5,-4.8100515063701843e-8,0.0022920128248449328,3.6846970662485426e-5,-4.787422973248501e-8,0.0022921567275596033,3.656759825553701e-5,-4.7551933742153225e-8,0.0022924155206640656,3.627866505605262e-5,-4.721685937218435e-8,0.0022927669894349093,3.6041857596996885e-5,-4.6939648387720506e-8,0.002293172035520522,3.589533984270876e-5,-4.676448884083824e-8,0.002293587774220062,3.585234950794764e-5,-4.670737294106673e-8,0.00229397625599273,3.5905780732209896e-5,-4.676107434656356e-8,0.0022943087935883965,3.603438248915831e-5,-4.690198432790658e-8,0.0022945674627496593,3.6208248273547327e-5,-4.709625363021303e-8,0.0022947453752612396,3.639309951270794e-5,-4.730469355160464e-8,0.002294846618012875,3.655385217382977e-5,-4.748694572871607e-8,0.0022948859966711527,3.6658142221179055e-5,-4.760561192507473e-8,0.0022948882229804706,3.66802485027254e-5,-4.7630789899419904e-8,0.002294885915277481,3.660536515102313e-5,-4.754496057001509e-8,0.0022949158390162044,3.64335141641052e-5,-4.7347464493291285e-8,0.002295013303258485,3.6181877526743895e-5,-4.705723761896796e-8,0.0022952053707549756,3.5884255428738196e-5,-4.6712359540665154e-8,0.0022955042500871392,3.558678939109289e-5,-4.6365392836542746e-8,0.002295902637857623,3.534001900618766e-5,-4.607449202272132e-8,0.002296372603345501,3.518847407688666e-5,-4.5891531629784525e-8,0.002296868936882388,3.515979486113663e-5,-4.584945571699113e-8,0.002297337100875107,3.525571375908133e-5,-4.595154991513938e-8,0.0022977251112613487,3.54474663309797e-5,-4.6165727461002804e-8,0.002297997511006086,3.567828648084553e-5,-4.642708208073091e-8,0.0022981479038201797,3.587486868504097e-5,-4.665101902295781e-8,0.0022982048890346418,3.59670990491837e-5,-4.6756152857442506e-8,0.0022982264993906746,3.591076706084595e-5,-4.66907281238414e-8,0.00229828244392896,3.570370688981107e-5,-4.645139989864305e-8,0.0022984305793150974,3.538654013029307e-5,-4.6084187811529834e-8,0.002298698613153666,3.502687277549902e-5,-4.5666380520174655e-8,0.0022990791902976694,3.4695334694455384e-5,-4.5279093849930466e-8,0.0022995381727997865,3.4445276278051516e-5,-4.49839970221804e-8,0.002300029218953335,3.430321854904224e-5,-4.4812265883725474e-8,0.0023005071520190556,3.426970567379333e-5,-4.4765358220823394e-8,0.0023009363058259054,3.432593949783263e-5,-4.4822399265362546e-8,0.0023012938617268945,3.444159290053393e-5,-4.494899788620879e-8,0.002301570006953491,3.458126436569647e-5,-4.51046246777301e-8,0.002301766800108603,3.470904311234521e-5,-4.524791553057968e-8,0.002301896888738061,3.479179416047871e-5,-4.534053254240823e-8,0.002301982375857608,3.480208071788327e-5,-4.535057802732492e-8,0.0023020534602801847,3.472142304601621e-5,-4.525634915545079e-8,0.0023021460538406057,3.454404162586172e-5,-4.505063369302154e-8,0.002302297520970304,3.4280415377693827e-5,-4.474483116108385e-8,0.00230254017354546,3.395911142067943e-5,-4.4371164167657605e-8,0.0023028932564570586,3.3624877587848964e-5,-4.398066536436923e-8,0.0023033555964254958,3.333152309155398e-5,-4.3635188638132984e-8,0.0023039020503271127,3.312995217770553e-5,-4.339376844190064e-8,0.002304486385520222,3.305425894193706e-5,-4.329658172175806e-8,0.002305051035348368,3.3110519998397165e-5,-4.335181227808648e-8,0.0023055413708626526,3.3272560571329226e-5,-4.353040435431237e-8,0.0023059202737308734,3.348666573581906e-5,-4.3771124818958763e-8,0.0023061786570983014,3.368428524135492e-5,-4.3994995923487775e-8,0.0023063388048928817,3.379947725797813e-5,-4.412542796611055e-8,0.0023064492323863275,3.378653186463361e-5,-4.410875759920423e-8,0.0023065718780325255,3.363277880294064e-5,-4.392931753536871e-8,0.0023067648430645355,3.336223440573916e-5,-4.361391666217241e-8,0.0023070660644278905,3.302816568314063e-5,-4.322345795297547e-8,0.002307483727852774,3.269679339994018e-5,-4.2834243518091083e-8,0.0023079967124393116,3.242829025455311e-5,-4.2516054578377455e-8,0.002308563857239961,3.2262195589673835e-5,-4.2315205384790976e-8,0.0023091372052619127,3.221149782256434e-5,-4.224750159055635e-8,0.002309673844341424,3.2265073740245427e-5,-4.2300823774791806e-8,0.0023101432068525158,3.239501720334835e-5,-4.244342832539441e-8,0.0023105295861446016,3.256496006872504e-5,-4.2633513685632894e-8,0.0023108314009869526,3.2736917316135974e-5,-4.282717939490637e-8,0.002311059046577513,3.287596311964373e-5,-4.298390962236588e-8,0.0023112325956021447,3.2953249680788354e-5,-4.30701110947523e-8,0.00231137979665109,3.294831861010061e-5,-4.306178209267358e-8,0.0023115340997543143,3.285151044406728e-5,-4.2947275355292e-8,0.0023117319317365243,3.2666777386046935e-5,-4.2730561942988145e-8,0.0023120082445560355,3.241439708027806e-5,-4.243445694518821e-8,0.0023123897136956896,3.213200948149292e-5,-4.210197938273945e-8,0.002312886188388601,3.1871514418046985e-5,-4.179294978549619e-8,0.0023134830361791667,3.168968477884489e-5,-4.157326718028376e-8,0.0023141388246951094,3.163282940214068e-5,-4.149718047268907e-8,0.002314792329840861,3.172005820484998e-5,-4.158778555622238e-8,0.002315378896673669,3.193290371843414e-5,-4.182474929661659e-8,0.0023158505127047306,3.2217740072628357e-5,-4.214680612835947e-8,0.0023161909435828218,3.2501262856054346e-5,-4.2469442360932653e-8,0.002316419671183998,3.271254277366566e-5,-4.27103290681903e-8,0.0023165841921237427,3.2802780436011716e-5,-4.2812247472897776e-8,0.0023167450214273137,3.2756541656388914e-5,-4.275628838705075e-8,0.0023169591271539453,3.259272819167442e-5,-4.256326379538918e-8,0.0023172663812004936,3.2356898186037265e-5,-4.228512778642178e-8,0.0023176817453812227,3.2108186977599e-5,-4.199006993769168e-8,0.002318194185054491,3.1904582986137214e-5,-4.174553762547756e-8,0.00231877176791076,3.1790160014621046e-5,-4.1603324561922454e-8,0.002319371007020906,3.1787119353049104e-5,-4.159008391244041e-8,0.0023199475183516252,3.189400454355314e-5,-4.17049622110272e-8,0.0023204650305293554,3.20894591354611e-5,-4.1923747329153166e-8,0.002320900868517307,3.2339315150879754e-5,-4.220702939293869e-8,0.0023212476092142357,3.260440417190498e-5,-4.2509329097549e-8,0.0023215118356965506,3.284715719192341e-5,-4.278686762213579e-8,0.0023217113982006393,3.3036182323788574e-5,-4.300295310375987e-8,0.002321872364162279,3.314903836216729e-5,-4.313120169100703e-8,0.0023220262092654128,3.3173971066507745e-5,-4.315751282036905e-8,0.002322207158400309,3.311135649858902e-5,-4.3081732272613976e-8,0.0023224491028571363,3.297521373884765e-5,-4.291948491394481e-8,0.002322781228382118,3.279447518776715e-5,-4.270382165655561e-8,0.0023232216822924234,3.261266466520483e-5,-4.248505510679363e-8,0.002323769722566849,3.2483621858754785e-5,-4.2325943183644296e-8,0.002324398904211897,3.2460944922610885e-5,-4.228942774440365e-8,0.002325056179267136,3.258120401470381e-5,-4.241896142727533e-8,0.002325671964702718,3.2846122159074696e-5,-4.271751943685757e-8,0.00232618144268266,3.321386581244003e-5,-4.3137207029593565e-8,0.0023265488268709705,3.36082031220369e-5,-4.3589753742231386e-8,0.0023267814240886583,3.394420957442691e-5,-4.397636855767629e-8,0.0023269254239565483,3.415782391829717e-5,-4.422212158225807e-8,0.002327046906947544,3.422452814123435e-5,-4.429770088385412e-8,0.002327209206277997,3.4160981089080925e-5,-4.422143906155781e-8,0.002327456336525311,3.401357864203633e-5,-4.4046282714445835E-08,0.002327805923589105,3.384194337626255e-5,-4.384093488623098e-8,0.002328250166554385,3.37036441574621e-5,-4.3672328614357636e-8,0.002328761740259225,3.364315089403521e-5,-4.3592791245387643e-8,0.002329301915681379,3.36856352720997e-5,-4.3632602011700155e-8,0.002329829055291661,3.383516729126079e-5,-4.379753708045467e-8,0.0023303062390849644,3.407663050535043e-5,-4.407078165874924e-8,0.0023307070359199853,3.438049828740393e-5,-4.441833484198168e-8,0.0023310187619350036,3.470925636680583e-5,-4.4796515547741785e-8,0.0023312431048083324,3.502410718649536e-5,-4.515990686671555e-8,0.002331394528886721,3.5290797443504604e-5,-4.5468276438613356e-8,0.002331497260081565,3.5483844383961805e-5,-4.569154976787356e-8,0.002331581733856791,3.558904226640621e-5,-4.581270005257149e-8,0.0023316810811048884,3.560465423137779e-5,-4.582909582100883e-8,0.002331827771099224,3.5541816076164474e-5,-4.575300867708182e-8,0.0023320501595354027,3.542447396167401e-5,-4.561169901534009e-8,0.0023323683909373285,3.528871876135906e-5,-4.5446880835164095e-8,0.0023327891822946096,3.51805346933835e-5,-4.531231018055253e-8,0.002333299958278486,3.515015003696038e-5,-4.52672578511267e-8,0.0023338645432176663,3.5241270465413334e-5,-4.5363790266725256e-8,0.002334424562220092,3.5475412457926315e-5,-4.562814505895616e-8,0.0023349112408662287,3.583613212030472e-5,-4.6041947983230845e-8,0.002335268146958933,3.626338247097496e-5,-4.6535418255023436e-8,0.0023354760591965088,3.666773954728629e-5,-4.700402689339779e-8,0.0023355644528050535,3.696270836812873e-5,-4.7346394509497067e-8,0.002335600051392683,3.7098371862978543e-5,-4.75036656435806e-8,0.002335658860810056,3.707695140177438e-5,-4.747763880896117e-8,0.0023357987401432536,3.694435600604198e-5,-4.732093922172631e-8,0.002336045463982361,3.6767616798790464e-5,-4.711093689128459e-8,0.002336393449628172,3.661235323283033e-5,-4.6923808409687194e-8,0.00233681482692482,3.6528212315890726e-5,-4.68177625437056e-8,0.002337270388702322,3.6542959451067806e-5,-4.682607312286444e-8,0.0023377189367930666,3.66625719363429e-5,-4.6956871248297825e-8,0.002338124071548144,3.687450363014641e-5,-4.7196561629315964e-8,0.002338458716826444,3.71523445299233e-5,-4.75149713046986e-8,0.0023387078440758034,3.7461115310449495e-5,-4.787144263559505e-8,0.002338869585723431,3.7762817841687184e-5,-4.822140859107426e-8,0.0023389547817296704,3.802184043837775e-5,-4.852287616148231e-8,0.0023389850485431105,3.820974950563554e-5,-4.87421532200505e-8,0.002338989627065774,3.830895059743735e-5,-4.885815585004515e-8,0.0023390014899789605,3.8314840733578865e-5,-4.8864887051675046e-8,0.002339053227796983,3.823643256374001e-5,-4.8772155817743224e-8,0.0023391730470084114,3.809565596331883e-5,-4.860485990028719e-8,0.002339381007965399,3.7925524692509784e-5,-4.840106376674009e-8,0.0023396854228536312,3.776719520424567e-5,-4.82088209371393e-8,0.0023400793116841023,3.76654727255943e-5,-4.808107898018889e-8,0.002340537481346002,3.766178500501879e-5,-4.8067398459253976e-8,0.0023410160318337752,3.778395059438169e-5,-4.820166978989883e-8,0.0023414571514578423,3.8033753723512084e-5,-4.8487112668261064e-8,0.002341802014567862,3.837655741982126e-5,-4.888372230559299e-8,0.0023420114228051465,3.874102641968516e-5,-4.930783648964436e-8,0.0023420863661792065,3.9036695298684036e-5,-4.965293287954776e-8,0.0023420745217566197,3.918717458210972e-5,-4.982885057806455e-8,0.0023420538209714603,3.91622722916344e-5,-4.9799546790811774e-8,0.0023421004046062298,3.8988852688015025e-5,-4.959573407663678e-8,0.0023422602630217295,3.8734768578304047e-5,-4.9296049457022376e-8,0.0023425391360975905,3.847893082192605e-5,-4.899224673303789e-8,0.0023429102765989336,3.828568044273994e-5,-4.8759531463412606e-8,0.0023433299940436355,3.819251167163617e-5,-4.8642341136861975e-8,0.0023437518655280796,3.8209551159922836e-5,-4.865357708177263e-8,0.0023441359775748295,3.8325147109487965e-5,-4.87807783260245e-8,0.002344453495623456,3.8512988018584136e-5,-4.8994075741131246e-8,0.002344688236531956,3.873852777500904e-5,-4.9253489797137967e-8,0.0023448367420634006,3.896429832747165e-5,-4.951513690495988e-8,0.002344907563344286,3.915445172418351e-5,-4.973668851539436e-8,0.002344919846223446,3.927885131661452e-5,-4.9882338277690744e-8,0.0023449010717055798,3.9316757036171124e-5,-4.992722780668246e-8,0.0023448838074805536,3.925979958184939e-5,-4.986094461349622e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_18.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_18.json new file mode 100644 index 000000000..f46c700e5 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_18.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":18000,"numberOfSamples":1000,"samples":[0.002344901558802442,3.911368303105064e-5,-4.968948981883951e-8,0.002344984132234963,3.8898163040661456e-5,-4.9435280092255396e-8,0.002345153076453194,3.8645137911801235e-5,-4.913505665071581e-8,0.0023454177649364274,3.8394882701718704e-5,-4.883571430956027e-8,0.0023457726182683734,3.8190636084535106e-5,-4.858818570335279e-8,0.0023461958479369647,3.8071833815956895e-5,-4.8439580759263195E-08,0.0023466502566154754,3.806617270836784e-5,-4.8423700396250246e-8,0.0023470871667342188,3.818099295284342e-5,-4.855052067391149e-8,0.0023474547964515697,3.8395736841710905e-5,-4.8796864492445077e-8,0.002347711548848421,3.865908630266998e-5,-4.9102715263344044e-8,0.0023478420825502667,3.889571950044163e-5,-4.937914952780937e-8,0.00234786961391877,3.902607152063935e-5,-4.9531851099022974e-8,0.0023478548636246925,3.899526350333567e-5,-4.949545923878963e-8,0.002347876570857601,3.8797420616696476e-5,-4.926230021920203e-8,0.0023480009856264934,3.8479554435582394e-5,-4.888691218568922e-8,0.002348257394842648,3.81212678497871e-5,-4.8462214576854004e-8,0.0023486326479069406,3.7803093228172886e-5,-4.8082513592352674e-8,0.0023490835964367573,3.75814623825538e-5,-4.781433129307214e-8,0.002349556312825578,3.747939916176964e-5,-4.768549705089819e-8,0.002350001794120482,3.7490379203984336e-5,-4.768944037993623e-8,0.002350384381521822,3.758800212452211e-5,-4.779618621991062e-8,0.0023506841057128985,3.773572437125139e-5,-4.796348785816809e-8,0.0023508956980960788,3.7894232799687954e-5,-4.814536983155262e-8,0.00235102648099269,3.802641740658273e-5,-4.829803528414698e-8,0.002351094173287532,3.810084978765315e-5,-4.838411531070628e-8,0.0023511246964647747,3.8094608924835005e-5,-4.837614007717066e-8,0.0023511496348331447,3.799585924542727e-5,-4.825963731338258e-8,0.0023512029179003826,3.780605403700456e-5,-4.803571540037979e-8,0.002351316493203054,3.754110540847055e-5,-4.772242618165293e-8,0.002351515254331023,3.723065606146325e-5,-4.7353971759481864e-8,0.0023518120205759476,3.6914840723378074e-5,-4.697706960436158e-8,0.0023522036900594134,3.663842066327486e-5,-4.664428486396447e-8,0.0023526697415857454,3.6442835626573675e-5,-4.6404850464569947E-08,0.0023531739492806607,3.635743472275251e-5,-4.629433098034591e-8,0.0023536695969230293,3.639153741844735e-5,-4.632502065598751e-8,0.002354107963028887,3.65290387843179e-5,-4.64791633358682e-8,0.0023544493334192655,3.672744771866113e-5,-4.670739713326941e-8,0.0023546748244885193,3.692340046714689e-5,-4.693502893752279e-8,0.0023547957604870243,3.704596407123413e-5,-4.707779081016492e-8,0.002354855915443392,3.703656572046711e-5,-4.70656375977696e-8,0.0023549223160394474,3.68699978500431e-5,-4.6867843166706427e-8,0.002355064610704272,3.656683381659626e-5,-4.65078344897485e-8,0.002355330456332751,3.6188645949168455e-5,-4.605762360942627e-8,0.0023557290800031,3.581614088997792e-5,-4.561209830788785e-8,0.0023562313149006323,3.552104851024793e-5,-4.525598622392911e-8,0.002356784170343763,3.534573263514571e-5,-4.503985226093692e-8,0.00235733028458666,3.529761527789713e-5,-4.49733843052568e-8,0.002357823000083982,3.535587514723036e-5,-4.503300722505471e-8,0.0023582334607192713,3.548324139112816e-5,-4.517550230472812e-8,0.0023585511399880337,3.5636946080439145e-5,-4.535076312918837e-8,0.002358780962041987,3.577633956909642e-5,-4.551078335076926e-8,0.0023589395842511522,3.5867314155800855e-5,-4.561499749370089e-8,0.002359052080351249,3.588475773629073e-5,-4.563332272362631e-8,0.002359149147828655,3.58142084645814e-5,-4.554820350082022e-8,0.0023592643626533377,3.565335730415486e-5,-4.5356402142557453E-08,0.002359430841246486,3.541339537933329e-5,-4.507057121932486e-8,0.0023596768567981123,3.511952535451973e-5,-4.471987460114685e-8,0.0023600205188522927,3.480948168500788e-5,-4.4348345490610194e-8,0.0023604644698905536,3.452896471445555e-5,-4.400967986329848e-8,0.002360992350010294,3.432364769813786e-5,-4.375798612579386e-8,0.002361569042366369,3.422878850205881e-5,-4.363559641492016e-8,0.0023621460051594665,3.4259012492440044e-5,-4.3660883375380844e-8,0.0023626713616961515,3.440164922381125e-5,-4.3820080092443e-8,0.002363102567048767,3.4616447316981465e-5,-4.4066547053651594e-8,0.002363418276529288,3.484277697645849e-5,-4.432896661511161e-8,0.002363625904080295,3.501331834422755e-5,-4.452741922922826e-8,0.002363762140673494,3.50713100177352e-5,-4.459391491625094e-8,0.0023638851680286292,3.498694287747205e-5,-4.449207573009896e-8,0.0023640594734086117,3.4767688893707976e-5,-4.422967279774819e-8,0.002364337052724743,3.44579776897352e-5,-4.385849503168624e-8,0.0023647414089119547,3.412668761857231e-5,-4.345970698104098e-8,0.002365260922020612,3.3846152104623893e-5,-4.3119075143364176e-8,0.0023658544426327192,3.367093165302294e-5,-4.290180278936738e-8,0.0023664660490979486,3.362478090509265e-5,-4.2836928949552116e-8,0.002367041894211088,3.3699477499923e-5,-4.29156715149733e-8,0.0023675425813141815,3.3863070665591675e-5,-4.3100929149056666e-8,0.002367948361133545,3.407186155979982e-5,-4.334131276515742e-8,0.0023682583104001854,3.4281125480317074e-5,-4.358383945165417e-8,0.002368486347050624,3.4452289918945094e-5,-4.378254145392837e-8,0.002368656569458454,3.455667745010834e-5,-4.3903037676489125e-8,0.002368799213631667,3.457704329979657e-5,-4.39244496666408e-8,0.0023689474323752143,3.450818698611703e-5,-4.384015205758009e-8,0.0023691344170632556,3.4357416482385305e-5,-4.3658308045106786e-8,0.002369390127550806,3.4144946605107745e-5,-4.340234799568976e-8,0.002369737050180081,3.390358038895181e-5,-4.311066755298774e-8,0.0023701849761484078,3.367640314542406e-5,-4.283404275674573e-8,0.002370725808074802,3.351105695568608e-5,-4.262900855450118e-8,0.0023713306372070224,3.344998149691437e-5,-4.254638292238252e-8,0.0023719519724518553,3.351806525291478e-5,-4.261657041710548e-8,0.0023725329401571575,3.371175366291013e-5,-4.283642668257849e-8,0.0023730222295828053,3.3995002702351264e-5,-4.316414308379054e-8,0.002373389973065274,3.430578520129685e-5,-4.3526671192005085e-8,0.0023736381505010734,3.4572328983584834e-5,-4.38388242013889e-8,0.0023738010098588143,3.473355012811767e-5,-4.402752760022938e-8,0.00237393531167498,3.4756315512409036e-5,-4.40524591922618e-8,0.0023741041518875864,3.4643979531241987e-5,-4.391644020525929e-8,0.0023743597715574142,3.443428581685144e-5,-4.366325823519776e-8,0.002374730275263065,3.418808569592938e-5,-4.336456918047751e-8,0.0023752135991477064,3.397259983293269e-5,-4.3100208376556956e-8,0.002375779941817866,3.384415723124978e-5,-4.293768908589405e-8,0.0023763813960745914,3.383531261076801e-5,-4.2916694132470866e-8,0.0023769653178674142,3.394966546843266e-5,-4.304258701004152e-8,0.0023774870203995034,3.416488144273135e-5,-4.3289677344681276e-8,0.002377918235263097,3.444154087954113e-5,-4.3611544323386645e-8,0.0023782499725694506,3.473394751413563e-5,-4.3953871457543554e-8,0.002378490676997382,3.499948400810439e-5,-4.4265690042450136e-8,0.002378661785361829,3.520478219905836e-5,-4.45068771402646e-8,0.0023787927125148967,3.5328684667322306e-5,-4.465179236135274e-8,0.0023789164661922424,3.5362982250262976e-5,-4.4690190041228925e-8,0.002379066168330197,3.531210837114164e-5,-4.462683919511151e-8,0.0023792721073279486,3.519257964256899e-5,-4.448085699607398e-8,0.0023795586569317585,3.50323249823028e-5,-4.4284979324380445e-8,0.0023799404698155602,3.486935159153574e-5,-4.408411931944888e-8,0.00238041786411957,3.4748539855140206e-5,-4.39317205628605e-8,0.0023809723866902452,3.471506365948844e-5,-4.38820214882267e-8,0.0023815649852208134,3.48036933953732e-5,-4.397726798401748e-8,0.0023821401857936045,3.502563195655052e-5,-4.423182507960411e-8,0.0023826385643343764,3.535804096673262e-5,-4.461940477123716e-8,0.002383015549616911,3.574351081297848e-5,-4.507218244911266e-8,0.0023832590121007622,3.610394768843331e-5,-4.549722500288198e-8,0.0023833960729126107,3.6365403192313095e-5,-4.5806082879119395e-8,0.0023834844707587666,3.6482794911242564e-5,-4.594430660481812e-8,0.0023835926131679144,3.6453070353420245e-5,-4.5907232417809996e-8,0.0023837780068744117,3.6312527567923084e-5,-4.573698815443366e-8,0.002384072504190872,3.612228458903607e-5,-4.550549834835012e-8,0.002384477540262076,3.594951747525463e-5,-4.529245938741677e-8,0.0023849679834993427,3.5850894327466484e-5,-4.516576690664186e-8,0.0023855013057676516,3.586164050491832e-5,-4.5168379713013465e-8,0.0023860287687607305,3.599113018920311e-5,-4.5312724744731254e-8,0.002386506003294634,3.6224400739596276e-5,-4.558208417162952e-8,0.0023869010817420566,3.65281921996621e-5,-4.5937482125035984e-8,0.0023871989250919125,3.685955147899608e-5,-4.632784241705567e-8,0.002387401820865755,3.7174763898084735e-5,-4.6700739768763154e-8,0.002387526785819297,3.7436733765039484e-5,-4.701140163670798e-8,0.0023876010849905364,3.761979915266924e-5,-4.7228628272774645e-8,0.00238765727041805,3.771186667545958e-5,-4.733742080218521e-8,0.002387728725155376,3.7714449644070145e-5,-4.7339022820513065e-8,0.0023878460686218663,3.764152424039279e-5,-4.724953688088123e-8,0.002388034216505095,3.751792399775393e-5,-4.709805432518741e-8,0.0023883096269505005,3.7377464417580596e-5,-4.692455759226862e-8,0.002388677274146209,3.726041803036959e-5,-4.677709598428318e-8,0.0023891272588487315,3.720938268477899e-5,-4.6706986835451093e-8,0.0023896319399229,3.7262272101778856e-5,-4.6760418636059854e-8,0.0023901458647094826,3.7441849520893325e-5,-4.696572132812101e-8,0.002390611746871633,3.774354152197786e-5,-4.731844757029362e-8,0.0023909747687158945,3.81269601588696e-5,-4.777091840959034e-8,0.002391202906290385,3.8519192870702565e-5,-4.823603735908806e-8,0.0023913040660786186,3.883476948556154e-5,-4.8611270833999345e-8,0.002391328128732739,3.9006667440986484e-5,-4.881589018117696e-8,0.00239134943562406,3.90124026913742e-5,-4.882222941094568e-8,0.002391438487576229,3.8880411452464615e-5,-4.866331475848319e-8,0.0023916383708005662,3.867507853522781e-5,-4.841510309828039e-8,0.00239195590432241,3.847153998643774e-5,-4.816669872463936e-8,0.0023923668018147257,3.833341819751815e-5,-4.799408876442468e-8,0.002392828007801345,3.830015839190798e-5,-4.794511807386538e-8,0.0023932907590552147,3.8383856123547755e-5,-4.8035481865629606e-8,0.00239371096036409,3.857245714578611e-5,-4.82521178047072e-8,0.0023940559931876475,3.883616405890264e-5,-4.856042818085454e-8,0.0023943082930363074,3.9134985874419545e-5,-4.891304887908877e-8,0.0023944662220829185,3.9426309839536574e-5,-4.925889576057055e-8,0.0023945426540706474,3.967167832740828e-5,-4.955145041930234e-8,0.0023945617795173573,3.984206233309221e-5,-4.975530429415886e-8,0.002394554803373748,3.992121054124771e-5,-4.985033218746083e-8,0.00239455526447015,3.990695202747839e-5,-4.983330111917577e-8,0.002394594661569528,3.9810623353083994e-5,-4.971716322616409e-8,0.0023946988252229935,3.965513390937551e-5,-4.952874150407233e-8,0.0023948850777624304,3.9472259325648355e-5,-4.9305586614794425e-8,0.00239515997526318,3.9299439114975593e-5,-4.909233045733194e-8,0.0023955174021503037,3.9175945382072434e-5,-4.893628682300761e-8,0.002395937007932476,3.9137890421156826e-5,-4.8881533371822775e-8,0.002396383695909191,3.921131979781866e-5,-4.896047917113908e-8,0.0023968099593563576,3.9403258047878505e-5,-4.918277327372618e-8,0.002397163497613983,3.969252739918278e-5,-4.952387416863947e-8,0.0023974015854493413,4.002518309701328e-5,-4.99193026544001e-8,0.002397509675261247,4.0321678158350774e-5,-5.027326909845036e-8,0.0023975151824612907,4.049998955523513e-5,-5.048669925554299e-8,0.0023974844671535013,4.050819106081807e-5,-5.049657166197553e-8,0.002397499090668801,4.034853438152713e-5,-5.0304833087084466e-8,0.0023976229322382613,4.007667775600651e-5,-4.997738881179162e-8,0.002397879519985696,3.977656534145411e-5,-4.96140773901125E-08,0.0023982502957491016,3.9527801939768744e-5,-4.93098968993077e-8,0.002398689129527083,3.938302665345923e-5,-4.912820157919039e-8,0.002399141121851689,3.936112368628708e-5,-4.9092584839070415e-8,0.002399557122870482,3.945190021821551e-5,-4.919217196871091e-8,0.002399901681190261,3.9625470595205126e-5,-4.939240127952472e-8,0.0024001557140803276,3.9841782493496445e-5,-4.9646053324931454e-8,0.00240031603823306,4.0058414074826275e-5,-4.990243651972935e-8,0.0024003933848322214,4.02365269468108e-5,-5.0114610330648764e-8,0.0024004095942288745,4.034539638022784e-5,-5.0245052214989265e-8,0.0024003941453741816,4.0365693589607254e-5,-5.0269831914895396e-8,0.0024003801497172756,4.0291449589680024e-5,-5.018110199371788e-8,0.0024004000531943383,4.013054961443052e-5,-4.9987707246810776e-8,0.0024004814327914467,3.990360304898532e-5,-4.9713797552627094e-8,0.0024006433784475078,3.96412645683471e-5,-4.9395635374628664e-8,0.002400893829350257,3.938038444905259e-5,-4.907710595026679e-8,0.0024012280072063545,3.9159384872200925e-5,-4.88043653842751e-8,0.002401627983789423,3.901309599496099e-5,-4.861979177381442e-8,0.0024020634684160267,3.896712290496793e-5,-4.8555194568685595e-8,0.0024024942344411503,3.903172416614497e-5,-4.862420076639316e-8,0.0024028751869229125,3.919562945854613e-5,-4.881439962151439e-8,0.0024031652429550516,3.942160059336088e-5,-4.908159561584208e-8,0.0024033401183291706,3.964740296327271e-5,-4.9350792145343485e-8,0.002403406122558092,3.9796826052265784e-5,-4.952959530944614e-8,0.0024034075771528214,3.9802695108078196e-5,-4.953626629721684e-8,0.002403418663533099,3.963531471377749e-5,-4.933424264248788e-8,0.002403517483513351,3.9320414167136537e-5,-4.895377104664041e-8,0.00240375400559779,3.893213949475224e-5,-4.848339885001966e-8,0.0024041310350306584,3.856275056172833e-5,-4.803360539427687e-8,0.002404608522803643,3.8287467657906244e-5,-4.7694797328705657e-8,0.002405124618903588,3.814364277978108e-5,-4.7512463896821273e-8,0.002405618526611032,3.812961405164927e-5,-4.748570334517685e-8,0.0024060450436589023,3.821594093326314e-5,-4.7580367143404314e-8,0.002406379515424713,3.8359386346411104e-5,-4.774544974096198e-8,0.0024066165603803674,3.851416440298249e-5,-4.7926337409967924e-8,0.002406766193043988,3.863916072047892e-5,-4.8073452764022304e-8,0.0024068496190933135,3.870200493814187e-5,-4.814731567974312e-8,0.0024068954751543747,3.8681384728337856e-5,-4.812157280049673e-8,0.0024069363302526986,3.8568469741027326e-5,-4.7984907944708237e-8,0.002407005092363638,3.8367620010703626e-5,-4.774197343294295e-8,0.0024071311642991904,3.8096143001373596e-5,-4.741307791637707e-8,0.00240733648448139,3.7782662926820594e-5,-4.703219316231057e-8,0.0024076319591230843,3.746376601902139e-5,-4.664296180742872e-8,0.0024080150100535243,3.717901842199488e-5,-4.629284851707181e-8,0.0024084688627471237,3.6964873105139e-5,-4.6025986316963574e-8,0.002408963950387803,3.684822663195842e-5,-4.587550926484438e-8,0.002409461535231225,3.6840528070730786e-5,-4.585634918576009e-8,0.0024099194289861434,3.6933325176103526e-5,-4.595954827428758e-8,0.002410299639091284,3.709615129870326e-5,-4.6149286023116704e-8,0.0024105775736920194,3.727809719448076e-5,-4.636443290545415e-8,0.0024107515290991625,3.7414947503234764e-5,-4.652707276927955e-8,0.0024108494422053167,3.744332346904537e-5,-4.6559778833502254e-8,0.0024109280582808607,3.732068196771385e-5,-4.641012552830863e-8,0.0024110599588631028,3.704486401008396e-5,-4.6074593882075726e-8,0.0024113092457543352,3.666207745630117e-5,-4.560832165779338e-8,0.0024117058579894443,3.625440453889971e-5,-4.511002792620606e-8,0.00241223320394758,3.590984658345839e-5,-4.468591059086578e-8,0.0024128367433007784,3.569068786073452e-5,-4.4411566261216975e-8,0.002413447167854588,3.561679042361314e-5,-4.431182379727306e-8,0.002414003943390364,3.566857531655897e-5,-4.4364131508880796e-8,0.002414468917828636,3.5802128924618506e-5,-4.45164528407243e-8,0.0024148287689588913,3.596582802687616e-5,-4.4707042649597976e-8,0.0024150906323866994,3.6112294226174406e-5,-4.487876186163635e-8,0.0024152756199526553,3.620466985756144e-5,-4.4986732147043753e-8,0.002415412983422486,3.621886433437632e-5,-4.5001246595991545e-8,0.002415535705571361,3.614384708305006e-5,-4.490832914512481e-8,0.0024156771163272757,3.59813440871689e-5,-4.470949129805716e-8,0.0024158678193869285,3.5745351613970705e-5,-4.442116416614326e-8,0.002416132416351302,3.546120330008051e-5,-4.4073537242749924e-8,0.0024164859220694446,3.516352548830468e-5,-4.370808294460031e-8,0.00241693034169506,3.4892359785693274e-5,-4.337295078484064e-8,0.0024174524408001833,3.468719086143528e-5,-4.3115900098566585e-8,0.002418023930833043,3.457944258321774e-5,-4.2975364635792224e-8,0.002418604957254082,3.4584872568489474e-5,-4.297126534219297e-8,0.002419150952416655,3.469789771516463e-5,-4.30979643194712e-8,0.0024196218300455495,3.48898251884466e-5,-4.3321783064122653e-8,0.0024199916518604678,3.51121471359681e-5,-4.3584618304832864e-8,0.002420256595170644,3.5304987746849386e-5,-4.381393076419317e-8,0.002420439070447764,3.54098460734516e-5,-4.393818240200917e-8,0.002420585972638163,3.5384692412318615e-5,-4.39053621156832e-8,0.0024207596255476035,3.521796937688811e-5,-4.3700303187940916e-8,0.00242102169533141,3.493649672842064e-5,-4.335458114598203e-8,0.0024214136673983418,3.460203389622349e-5,-4.294254391313394e-8,0.0024219412696859064,3.4294397281599166e-5,-4.2560928350924536e-8,0.002422570997871016,3.40859042454751e-5,-4.2297873198728576e-8,0.002423241774708797,3.401825188013031e-5,-4.220478688725671e-8,0.002423886226246646,3.4092534703597756e-5,-4.2284029344064495e-8,0.002424450990286084,3.4275193790697986e-5,-4.2495842308161056e-8,0.002424907897269756,3.4513860089160096e-5,-4.277731373829174e-8,0.002425254646420478,3.475404717614502e-5,-4.306250514379759e-8,0.0024255087764721997,3.495073098604035e-5,-4.329653600382793e-8,0.0024256997145779124,3.5073628211510956e-5,-4.344214009667556e-8,0.0024258619447215263,3.510795400575972e-5,-4.3480765687463235e-8,0.002426030203565686,3.505305808974759e-5,-4.341105272837135e-8,0.0024262362674914877,3.4920608081784176e-5,-4.3246676601309794e-8,0.0024265064422872465,3.473295174654087e-5,-4.3014350394663596e-8,0.0024268589868617334,3.4521461493677566e-5,-4.275180769052857e-8,0.002427301138503399,3.432410975088323e-5,-4.250490759677728e-8,0.0024278260913050916,3.418129571204661e-5,-4.2322676945393295e-8,0.002428411097108386,3.4129280643721544e-5,-4.2249456747169526e-8,0.002429018449007624,3.4191654643649516e-5,-4.231457750259257e-8,0.002429600921945329,3.4370848029145066e-5,-4.2521942446609057e-8,0.002430111852543173,3.464306742421111e-5,-4.284362752322127e-8,0.0024305177078212167,3.4960014332554184e-5,-4.322166147588011e-8,0.0024308089963019476,3.525864256604065e-5,-4.3579634420191055e-8,0.0024310052103568625,3.54768490791095e-5,-4.3841674275576033e-8,0.0024311514832499894,3.5570331945046896e-5,-4.3953026184890535e-8,0.0024313076209347257,3.552531869349453e-5,-4.389576556823521e-8,0.0024315325810961527,3.5363327353876604e-5,-4.369491031447773e-8,0.0024318686265469066,3.513647254223246e-5,-4.341303915546696e-8,0.0024323294873825944,3.491423748049786e-5,-4.3134445579347336e-8,0.002432896167264619,3.476495141289254e-5,-4.294268271529085e-8,0.0024335222309093078,3.4737272570903575e-5,-4.2897907650809233e-8,0.0024341473034816276,3.484777220801906e-5,-4.3021473228785095e-8,0.0024347141143896403,3.5078911481254485e-5,-4.3293103813853885e-8,0.0024351828565165653,3.5387420696509406e-5,-4.3660807647483854e-8,0.0024355382696882246,3.571869639847352e-5,-4.4058284519528546e-8,0.0024357886769330174,3.602113490945862e-5,-4.442243365076725e-8,0.0024359595899447976,3.6255981177570735e-5,-4.470551282002724e-8,0.002436085616257832,3.64014787157889e-5,-4.4880378715262854e-8,0.002436203431207954,3.645261201880796e-5,-4.49403083766768e-8,0.002436346881699283,3.641860110716656e-5,-4.489600455109322e-8,0.0024365439720128446,3.631989439005647e-5,-4.477193408814986e-8,0.002436814886263786,3.618547757967348e-5,-4.460305079373914e-8,0.0024371701965660787,3.605043991849035e-5,-4.443187709405474e-8,0.0024376087810835056,3.5953118153448417e-5,-4.430512313890507e-8,0.002438115638816738,3.593080766479197e-5,-4.42685612060324e-8,0.0024386606910261066,3.601319060175138e-5,-4.43590417894124e-8,0.0024392005329820178,3.621366124796751e-5,-4.459380937231256e-8,0.0024396852406738875,3.652073535771226e-5,-4.495979153559817e-8,0.002440070792536112,3.689393707336404e-5,-4.540830813754903e-8,0.0024403341938348043,3.7269028978704966e-5,-4.586125501539923e-8,0.0024404847869948067,3.757420212930339e-5,-4.6230801286461525e-8,0.0024405649339235085,3.775253295873212e-5,-4.6446847061845124e-8,0.0024406379971211724,3.778108573313487e-5,-4.6480442904616754e-8,0.0024407684360130493,3.7678040163525975e-5,-4.635265130274541e-8,0.002441002576816896,3.749564568269083e-5,-4.6126207922268527e-8,0.0024413569455008703,3.730344562480743e-5,-4.58853778897302e-8,0.0024418164775716804,3.716885726843634e-5,-4.571251766869334e-8,0.002442341086211704,3.7141004685513786e-5,-4.566838003723965e-8,0.002442877339190302,3.72411338432493e-5,-4.5780171769525656e-8,0.002443371731515466,3.746064251142103e-5,-4.603872319654958e-8,0.002443782406429579,3.7766052234272806e-5,-4.640413953378797e-8,0.002444086872764397,3.810893879139721e-5,-4.681768347059421e-8,0.002444284388309687,3.843785498667255e-5,-4.721633349478445e-8,0.002444393232414692,3.8709012326829734e-5,-4.7546011694557105e-8,0.002444444549161754,3.889334328329184e-5,-4.7770454539860257e-8,0.002444475074792687,3.8979187827749855e-5,-4.787468720267451e-8,0.0024445206944451194,3.8971331473534686e-5,-4.7863936944109584e-8,0.0024446118314487707,3.8887888173957045e-5,-4.775982946018779e-8,0.0024447706911564257,3.8756507830295623e-5,-4.7595742185117445e-8,0.002445009754862674,3.861079858955392e-5,-4.741246632391835e-8,0.002445330792627307,3.848709249206566e-5,-4.7254353116952106e-8,0.0024457239072774276,3.84210898084392e-5,-4.7165331531864033e-8,0.002446166646694304,3.844355610942536e-5,-4.71836986496915e-8,0.002446624062616858,3.857428817952799e-5,-4.733464480752854e-8,0.0024470514934107203,3.88144481598043e-5,-4.762062321108293e-8,0.002447402125327943,3.913928762815128e-5,-4.801212199106996e-8,0.0024476400881559847,3.9495739935443694e-5,-4.8444475535150416e-8,0.0024477561339314394,3.981049166716775e-5,-4.8827712071902615e-8,0.002447778077693695,4.001077266348328e-5,-4.9072160123498955e-8,0.0024477670483197492,4.005148747549024e-5,-4.9121840338880554e-8,0.0024477974812433497,3.993465087268592e-5,-4.897832831402965e-8,0.002447929926440992,3.9709268450711776e-5,-4.870064967828901e-8,0.0024481909223161946,3.9451954414470326e-5,-4.838174394154787e-8,0.0024485684783898502,3.923993501418732e-5,-4.811575988446022e-8,0.0024490213965491316,3.9129377699806304e-5,-4.797180052202577e-8,0.0024494948154261892,3.91451644029732e-5,-4.798138431887394e-8,0.002449935069477873,3.928119976470324e-5,-4.8138482471436045e-8,0.002450300397506881,3.9507323269912974e-5,-4.840749035993413e-8,0.0024505668157711494,3.9779044908857327e-5,-4.8734735279841313E-08,0.0024507297637555462,4.004759573096723e-5,-4.906061161920809e-8,0.002450802394303154,4.02688488745371e-5,-4.9330599704006644e-8,0.0024508113644507706,4.0410128173367605e-5,-4.95038655686505e-8,0.002450791125069385,4.0454212555310635e-5,-4.955844487476108e-8,0.0024507778465312773,4.040035570468197e-5,-4.949267054201453e-8,0.0024508040198822152,4.026270069107783e-5,-4.932327950223557e-8,0.0024508944505534447,4.006688255862525e-5,-4.908122347286046e-8,0.0024510638634689867,3.984580917053899e-5,-4.880648823794057e-8,0.00245131584498336,3.963541528939374e-5,-4.854295462312273e-8,0.002451642653661857,3.9470681141633724e-5,-4.833364518839405e-8,0.002452025536044154,3.938176083843848e-5,-4.8216083300638214e-8,0.002452435488543121,3.938977033584164e-5,-4.8217107227132724e-8,0.002452835048062748,3.950174696583605e-5,-4.8346481745672895e-8,0.0024531824507044967,3.970500384005907e-5,-4.858962496972789e-8,0.0024534396241559695,3.9962702831889606e-5,-4.890182990265696e-8,0.0024535843268946146,4.021443150526203e-5,-4.920880941676828e-8,0.002453623652929858,4.0386636134526066e-5,-4.9419622792017125e-8,0.002453601452891794,4.041499005959166e-5,-4.945444695873122e-8,0.0024535904575645672,4.0272043808040254e-5,-4.9278768855135644e-8,0.002453667088416081,3.9984366591700615e-5,-4.892445528448971e-8,0.0024538804961186404,3.9625472135700606e-5,-4.8481018851177726e-8,0.002454234041076148,3.9286627001372286e-5,-4.8059919577965076e-8,0.002454688758937021,3.90430339964667e-5,-4.7753378723272426e-8,0.002455182859858328,3.893307901809375e-5,-4.760913419343073e-8,0.0024556538362148746,3.895585698194267e-5,-4.762729962876685e-8,0.0024560537286482022,3.908100050787737e-5,-4.777201985779246e-8,0.00245635559786168,3.92623565237223e-5,-4.7987768345426784e-8,0.002456553543520675,3.945013089553443e-5,-4.821391608652092e-8,0.002456659304914327,3.9599666210168044e-5,-4.839543997652059e-8,0.002456697551274787,3.9677063676223765e-5,-4.849000855734107e-8,0.002456700822614684,3.966238759049165e-5,-4.847222180997126e-8,0.0024567044573505052,3.9550907364328136e-5,-4.833540821334541e-8,0.0024567417680072287,3.935256550822404e-5,-4.8091109193474636e-8,0.0024568398052084747,3.9089819952275556e-5,-4.776643242859904e-8,0.002457016102034005,3.879409971555748e-5,-4.739964644423014e-8,0.0024572767266246858,3.850135084065896e-5,-4.7034702557923994e-8,0.002457615714144817,3.8247292949526414e-5,-4.671548886753261e-8,0.002458015719767934,3.806281830374309e-5,-4.648030512056859e-8,0.0024584497093368225,3.7969709899505705e-5,-4.6356668032574766e-8,0.0024588835950892117,3.797672416493626e-5,-4.6356402548602995e-8,0.002459280019112911,3.8076035091713856e-5,-4.647098884390965e-8,0.0024596039507214372,3.8240450757803655e-5,-4.666776031810568e-8,0.0024598307142160007,3.842294852242427e-5,-4.68890281670926e-8,0.002459955918353923,3.8561282527527495e-5,-4.7057687283657186e-8,0.0024600044256263562,3.85906258738798e-5,-4.7093002809037085e-8,0.0024600323640595525,3.846469351560399e-5,-4.693699010582562e-8,0.002460115198327215,3.817888591278212e-5,-4.658318142014719e-8,0.0024603211513315733,3.778139333481038e-5,-4.609033001301854e-8,0.0024606816896058582,3.7360118141523624e-5,-4.5566248750844804e-8,0.0024611773581020993,3.700873869629158e-5,-4.5126111329188663e-8,0.0024617480565587665,3.679136890764092e-5,-4.484915535672109e-8,0.0024623194040428297,3.6725241793431914e-5,-4.4757458521259293e-8,0.002462828313114861,3.6785610286324895e-5,-4.4821776764596e-8,0.0024632368323780508,3.692313753770688e-5,-4.49825480110503e-8,0.002463533911415987,3.7081973038857536e-5,-4.517174974987359e-8,0.002463730207416001,3.72123954530806e-5,-4.5328262829285335e-8,0.0024638508339381053,3.727738907944816e-5,-4.540602228952397e-8,0.0024639287406243806,3.725496815222289e-5,-4.537712390347134e-8,0.002463999440178538,3.7138246844026674e-5,-4.523220853693909e-8,0.002464096769834068,3.693441043162565e-5,-4.4979410248424785e-8,0.002464249278477507,3.6662920271676045e-5,-4.464221452771284e-8,0.0024644771058909905,3.6352892349154964e-5,-4.4256185173269244e-8,0.0024647894963774355,3.60394813223482e-5,-4.3864446992286476e-8,0.00246518333004217,3.575928664507124e-5,-4.3512032388348086e-8,0.00246564308966862,3.5545192829730305e-5,-4.323961698689231e-8,0.002466142462746481,3.54212599682058e-5,-4.30773347216381e-8,0.0024666475561435836,3.539825611996659e-5,-4.303928925890125e-8,0.002467121549800276,3.5470424064565755e-5,-4.311941218583528e-8,0.002467530510301026,3.5614038369783264e-5,-4.328936880925462e-8,0.0024678501018424014,3.578830836147025e-5,-4.3499317664747304e-8,0.00246807277205011,3.5939557401127685e-5,-4.368284640476247e-8,0.0024682141340358534,3.6009986170699735e-5,-4.3767824546787344e-8,0.002468315806348312,3.595167953042106e-5,-4.369398422338407e-8,0.002468440719277613,3.574403825458124e-5,-4.343483114258189e-8,0.0024686576285004418,3.5408406295791984e-5,-4.301598790135291e-8,0.002469016756628685,3.5009868675168896e-5,-4.251749277816247e-8,0.002469527016305481,3.4639085816369505e-5,-4.2051331770138575e-8,0.0024701491272457075,3.437918303108398e-5,-4.172053655964463e-8,0.0024708107727132163,3.4275108324639473e-5,-4.1581346163947136e-8,0.0024714349391305145,3.432221330845508e-5,-4.162900742123513e-8,0.0024719649634269477,3.447673339527891e-5,-4.181047415170179e-8,0.0024723756773897968,3.4677347990773343e-5,-4.2050733510056084e-8,0.0024726711706196352,3.486498141779451e-5,-4.227704642717137e-8,0.002472875776800631,3.499457801076819e-5,-4.243345755026598e-8,0.002473024311147267,3.5039164456257024e-5,-4.248596282344877e-8,0.002473154485424879,3.49892258455584e-5,-4.24219893311207e-8,0.0024733018836487117,3.485023256564978e-5,-4.224757508831041e-8,0.0024734966693373177,3.4639859686924084e-5,-4.198405931463602e-8,0.002473761122223743,3.4385249288497285e-5,-4.166470061647262e-8,0.0024741075410927692,3.412005527399114e-5,-4.1330957835760266e-8,0.0024745365035125336,3.388081280598191e-5,-4.1027956557272016e-8,0.0024750358991933777,3.3702298329276224e-5,-4.0798783384882296e-8,0.002475581446443766,3.361205682415149e-5,-4.0677810154140694e-8,0.0024761393094790735,3.362488283309667e-5,-4.068393655070341e-8,0.00247667099923248,3.3738415010136826e-5,-4.081509111115514e-8,0.0024771401592741794,3.393112591255991e-5,-4.104553604679316e-8,0.0024775202300596727,3.4163782098038836e-5,-4.132736396042357e-8,0.0024778015552186553,3.4384841805604154e-5,-4.15968981141725e-8,0.002477996355230064,3.453957481857277e-5,-4.178587242689799e-8,0.002478139925461257,3.4582095835946386e-5,-4.183646089222978e-8,0.0024782863608294597,3.448855008036613e-5,-4.171792894077942e-8,0.002478497599215119,3.426810101996982e-5,-4.1440616533293496e-8,0.002478826423475806,3.3966768621773196e-5,-4.106097101147728e-8,0.002479297655651806,3.365920201414745e-5,-4.067146491268234e-8,0.0024798956470742607,3.3427359889743966e-5,-4.0374142208359564e-8,0.002480566263107198,3.333281657692773e-5,-4.0246164098665086e-8,0.0024812348815230548,3.339569240715765e-5,-4.031349099874403e-8,0.002481832069138389,3.359098154088289e-5,-4.054608293176884e-8,0.0024823140828337882,3.3862509899205475e-5,-4.087496962472572e-8,0.0024826701499891905,3.4144843169478624e-5,-4.121926049669797e-8,0.0024829174589391183,3.438196398751778e-5,-4.150927531351717e-8,0.002483090231395934,3.453716218275256e-5,-4.169890994247633e-8,0.0024832289273681676,3.459479555529096e-5,-4.1768010969739914e-8,0.0024833725099405357,3.455739202683464e-5,-4.171898971311369e-8,0.002483553953461178,3.444130953944551e-5,-4.1571586234288615e-8,0.002483797896582137,3.42726872143246e-5,-4.135789466565913e-8,0.002484119250717028,3.408404982664835e-5,-4.111811949072816e-8,0.0024845220544084173,3.3911157045767064e-5,-4.08966177191401e-8,0.0024849984608592214,3.378942234513219e-5,-4.073744810316272e-8,0.002485528319030998,3.37493393541924e-5,-4.0678740705520224e-8,0.0024860802611576817,3.381090099062003e-5,-4.07458217081001e-8,0.002486615292822404,3.3977887022200906e-5,-4.094410565553709e-8,0.0024870933615432594,3.4233776242617746e-5,-4.1253884823212716e-8,0.0024874822433588704,3.454145160287273e-5,-4.162972775740252e-8,0.0024877666980437367,3.4848325612800404e-5,-4.200659476353093e-8,0.002487954948091704,3.5096872718110185e-5,-4.2312767159825944e-8,0.0024880797904155523,3.523845842873798e-5,-4.248704298833028e-8,0.002488193043039279,3.5246843277377304e-5,-4.249570636640487e-8,0.0024883539592743067,3.512738494103619e-5,-4.234426909230887e-8,0.0024886140602875923,3.49187025600563e-5,-4.207987071532803e-8,0.002489002194927896,3.468515900952789e-5,-4.178219564842183e-8,0.0024895143834379584,3.450085337149065e-5,-4.1543686661381805e-8,0.002490112692358687,3.4428839747837344e-5,-4.144362746866002e-8,0.002490735095733774,3.4502254176917696e-5,-4.152441444489307e-8,0.002491313820334456,3.47148501990305e-5,-4.177943206499539e-8,0.0024917952057646542,3.5025110867509906e-5,-4.21578484386859e-8,0.002492153108185882,3.537166319265242e-5,-4.2583614770799746e-8,0.0024923915653697563,3.569250545655623e-5,-4.297938359576452e-8,0.0024925381077774505,3.594019773552308e-5,-4.328553882965522e-8,0.0024926327298874706,3.608907519420701e-5,-4.346936640882342e-8,0.0024927174854313663,3.6135139860801745e-5,-4.352511605516019e-8,0.0024928293045150462,3.6091731116077385e-5,-4.3468759712982866e-8,0.0024929962078651933,3.598404077227055e-5,-4.3331234070503576e-8,0.002493235828937878,3.584424198247867e-5,-4.315237723752643e-8,0.002493554988497319,3.5707654226319e-5,-4.297612739315671e-8,0.002493949475402431,3.560950550536974e-5,-4.284648196073154e-8,0.002494403814902926,3.558150409860973e-5,-4.2803251027824265e-8,0.0024948914829334063,3.5647523756435825e-5,-4.287670742727347e-8,0.0024953765911673344,3.581825773142045e-5,-4.308089582356996e-8,0.0024958182908375675,3.608573040867354e-5,-4.340666705533066e-8,0.0024961786512342457,3.641986140806195e-5,-4.381718846972339e-8,0.0024964332001036105,3.677013333856981e-5,-4.424981283072611e-8,0.002496580985875428,3.707466125980302e-5,-4.4627260595163124e-8,0.00249664942189288,3.7275972463325826e-5,-4.487730097257107e-8,0.002496690103679088,3.733875515066651e-5,-4.4954995613220536e-8,0.0024967655193018647,3.726250067358835e-5,-4.485864320894178e-8,0.002496931013734003,3.7083456871196986e-5,-4.46324458229267e-8,0.0024972186148263043,3.686490845186074e-5,-4.435466169172905e-8,0.002497628180291189,3.6679510733870065e-5,-4.411582351619956e-8,0.002498128079111284,3.658972340409257e-5,-4.3994441199673844e-8,0.0024986644042137227,3.663208106121771e-5,-4.4037246854020054e-8,0.0024991755753180833,3.680926861936187e-5,-4.4248953740883185e-8,0.002499608064555356,3.709163133072151e-5,-4.459370765840227e-8,0.0024999288144117358,3.742710477725366e-5,-4.500715060851872e-8,0.0025001310412585205,3.775603780312682e-5,-4.5414811573711545e-8,0.0025002324917523817,3.8025992028683344e-5,-4.57506862741052e-8,0.002500267909808244,3.82021913744237e-5,-4.5970516699009e-8,0.0025002791334092648,3.827161818741498e-5,-4.6057156152074936e-8,0.002500306150636883,3.824142696912959e-5,-4.601877616789812e-8,0.002500381023813219,3.813396254515294e-5,-4.588273798227383e-8,0.002500524917925695,3.7980819109320463e-5,-4.5688184530668866e-8,0.002500747387946369,3.781755623906785e-5,-4.547941847511398e-8,0.0025010467943652028,3.7679593748579237e-5,-4.530076608806616e-8,0.002501411000812327,3.759894473403009e-5,-4.5192519652786e-8,0.002501818061535664,3.76010451065458e-5,-4.518700349120371e-8,0.002502237249305373,3.7700983349453346e-5,-4.530383549196263e-8,0.002502631391630373,3.789891117462528e-5,-4.5544060670952407e-8,0.0025029618245448393,3.817544639615828e-5,-4.588418136956523e-8,0.0025031968555852867,3.8489391629367015e-5,-4.6273070203581374e-8,0.002503322900130418,3.878132383082006e-5,-4.6636329847159344e-8,0.0025033544659702643,3.898595666221756e-5,-4.689179674409995e-8,0.0025033366866835474,3.9052160624291637e-5,-4.6974744631872444e-8,0.002503335424761968,3.8963286204251026e-5,-4.686346369928086e-8,0.002503416415545243,3.874697513072474e-5,-4.659163332249408e-8,0.002503622458507168,3.846773122092755e-5,-4.623914977805023e-8,0.0025039595976610314,3.820530008492874e-5,-4.590530882256746e-8,0.002504397631776516,3.802946606966512e-5,-4.5677537488936655e-8,0.002504882299547712,3.798169372682445e-5,-4.560852435839345e-8,0.002505352221421315,3.806826004220745e-5,-4.570743517294879e-8,0.00250575432324309,3.8263797822131395e-5,-4.59439244261933e-8,0.0025060542893460607,3.852145546614233e-5,-4.6260390338084265e-8,0.002506241100184328,3.878568465963214e-5,-4.658768272125083e-8,0.0025063261680084966,3.900454144029845e-5,-4.686046599932783e-8,0.0025063382859264074,3.913932359754488e-5,-4.702948014495108e-8,0.0025063160483484925,3.917014569025023e-5,-4.706882713849625e-8,0.002506299694580531,3.9097007570934184e-5,-4.697758835500036e-8,0.0025063241642786917,3.893705066219002e-5,-4.677655197485161e-8,0.002506414458106024,3.8719469291395064e-5,-4.650187612960767e-8,0.002506583529031959,3.847966713294664e-5,-4.6197729527279165e-8,0.0025068322231723375,3.825390939784268e-5,-4.5909552105830005e-8,0.00250715042643049,3.8075081039815325e-5,-4.5678747389959236e-8,0.002507518671035578,3.79694315028609e-5,-4.553864588391083e-8,0.002507909881434134,3.7953757863868274e-5,-4.551099211154035e-8,0.0025082914429322,3.8032479762118567e-5,-4.560219705504129e-8,0.0025086283062298424,3.819441369790588e-5,-4.5799089344806656e-8,0.002508888222288745,3.8409920504514224e-5,-4.6065065644875405e-8,0.002509049867274366,3.863051042059274e-5,-4.633938175836797e-8,0.002509113004638694,3.879425510226927e-5,-4.654391267553016e-8,0.0025091068429147767,3.883993594289078e-5,-4.6601084959132783e-8,0.0025090898042000585,3.872875934821506e-5,-4.6461387254399373e-8,0.002509134996273683,3.846495952331999e-5,-4.6129379088556667e-8,0.002509303823785431,3.810176136963081e-5,-4.567118163005868e-8,0.0025096206611317003,3.77249340788089e-5,-4.519386918014874e-8,0.0025100635025889603,3.742094334698776e-5,-4.480570179737146e-8,0.0025105750725739227,3.7247279761174246e-5,-4.4579149479260436e-8,0.0025110856597778002,3.721891833235642e-5,-4.4533963341258614e-8,0.0025115347336513087,3.7312355209207396e-5,-4.464198908935113e-8,0.0025118837717088426,3.7479672497395944e-5,-4.4844363555259744e-8,0.0025121197805155586,3.766434463552293e-5,-4.507092241835546e-8,0.0025122524606316582,3.781403239390384e-5,-4.5256039989766344e-8,0.002512308218517646,3.788897265948401e-5,-4.534921710684068e-8,0.002512323198993744,3.7866377431753216e-5,-4.532087455967344e-8,0.0025123364352792246,3.774164049515155e-5,-4.5164209733579505e-8,0.002512383722153255,3.752690440451212e-5,-4.4893662222274306e-8,0.0025124927690744884,3.724752495244522e-5,-4.454058376296237e-8,0.0025126800686300593,3.6937187041074546e-5,-4.4147073781900625e-8,0.002512949640805612,3.663249847498581e-5,-4.3759102263850506e-8,0.0025132935154346414,3.636784559588725e-5,-4.3419995601533096e-8,0.0025136935134270817,3.6171127440481755e-5,-4.3165098457630535e-8,0.002514123766723244,3.606055777639336e-5,-4.301781026749884e-8,0.002514553618955688,3.604231707921164e-5,-4.298663815376317e-8,0.0025149508839445193,3.610876316223164e-5,-4.306282715704458e-8,0.0025152857940081257,3.6237122105096005e-5,-4.321846926867821e-8,0.0025155362609611655,3.6389174493579715e-5,-4.3405830751730746e-8,0.002515694790395706,3.651350376824656e-5,-4.356001367114698e-8,0.002515776049335391,3.6552764092910476e-5,-4.360815615449484e-8,0.0025158217306482694,3.64579617376964e-5,-4.348766977365181e-8,0.002515896936537497,3.620833883698536e-5,-4.317158041654697e-8,0.002516073071847446,3.5828669318152446e-5,-4.269046581534293e-8,0.002516399987719169,3.539060604592482e-5,-4.213413246847748e-8,0.0025168814606322987,3.499021840014745e-5,-4.162331415721513e-8,0.0025174707936113064,3.4710531005774946e-5,-4.126263149227772e-8,0.002518090589616577,3.459078644678115e-5,-4.1102057661954364e-8,0.002518663524727177,3.4618912918017596e-5,-4.112741399925282e-8,0.0025191361740298083,3.474582741761788e-5,-4.1278096176040484e-8,0.0025194875406559848,3.490802432070915e-5,-4.147510457868247e-8,0.002519725292742549,3.504638962014763e-5,-4.16444050552658e-8,0.0025198766141857846,3.5116951628882e-5,-4.173036446018124e-8,0.002519978706172601,3.509468993429849e-5,-4.1700694202266914e-8,0.002520071130482626,3.497310385097045e-5,-4.154621540106111e-8,0.002520190252699242,3.4761794687652565e-5,-4.1278135639874127e-8,0.0025203652372844786,3.448316626617987e-5,-4.092409555262571e-8,0.002520615191656812,3.416849468288395e-5,-4.05232510677893e-8,0.002520947440465501,3.385345763496335e-5,-4.0120551152513905e-8,0.002521357059662189,3.3573332103171066e-5,-3.976057689732734e-8,0.0025218278023055253,3.335822588172072e-5,-3.9481488035551096e-8,0.0025223344083919984,3.3228896480038676e-5,-3.930979257938309e-8,0.0025228460215779803,3.319367073788616e-5,-3.925652251261835e-8,0.0025233303087924958,3.324669892834196e-5,-3.9315015622613785e-8,0.0025237579626117535,3.336760095667987e-5,-3.946031753109398e-8,0.0025241074151963775,3.352256518500154e-5,-3.9650309128366536e-8,0.0025243697315655363,3.366716014331096e-5,-3.982900185191263e-8,0.002524553460207322,3.375163915239177e-5,-3.9933128485974816e-8,0.002524688300114605,3.37298851909107e-5,-3.9903559505638475e-8,0.002524824998114826,3.357240651657453e-5,-3.970202211903166e-8,0.0025250277665400896,3.328120777325597e-5,-3.933021967054159e-8,0.002525356611076024,3.289990453199541e-5,-3.8842803606554595e-8,0.0025258428381231134,3.250914558990305e-5,-3.834160036262284e-8,0.0025264698957574395,3.220189906693548e-5,-3.794432342774024e-8,0.0025271741566565867,3.2047197639093385e-5,-3.773873488953271e-8,0.002527868930050737,3.206296769477658e-5,-3.7748283537389005e-8,0.002528477957775852,3.2214078628227146e-5,-3.792951338789108e-8,0.0025289589671146006,3.243333093220877e-5,-3.8198347470684486e-8,0.002529308244893737,3.2649160481611736e-5,-3.8464834618929027e-8,0.002529551044230285,3.280554245702909e-5,-3.8658136766423037e-8,0.0025297276422903844,3.286996887218826e-5,-3.873662679239773e-8,0.0025298816375502052,3.283279972249427e-5,-3.8687266747971134e-8,0.002530052440279624,3.2702708511500886e-5,-3.852013964263886e-8,0.0025302712732322313,3.250144171865661e-5,-3.8262077101730963E-08,0.002530559210242333,3.22591991158146e-5,-3.7950935413685944e-8,0.002530926148178654,3.2010602838034795e-5,-3.7630466201304596e-8,0.002531370351391248,3.1790798148834993e-5,-3.7345270529438355e-8,0.0025318786907376338,3.1631370951251876e-5,-3.713553615551818e-8,0.0025324279262051433,3.155608559611767e-5,-3.703162366365894e-8,0.0025329874164920214,3.1576901848478516e-5,-3.704907123537745e-8,0.0025335233363896095,3.1691081346079224e-5,-3.71849683887019e-8,0.002534004013295205,3.1880164541897305e-5,-3.741660475396124e-8,0.0025344056658638974,3.211134266810114e-5,-3.770302889521404e-8,0.0025347176716889862,3.234141683476799e-5,-3.798981805268735e-8,0.0025349464931195965,3.25231453918205e-5,-3.821692596727692e-8,0.002535117468766687,3.261356425395861e-5,-3.832919965284332e-8,0.002535273522037362,3.25837585549067e-5,-3.828894828785741e-8,0.0025354694854592633,3.242890013057747e-5,-3.808899818124254e-8,0.0025357608919522735,3.217582413424165e-5,-3.776263794934066e-8,0.002536187666940124,3.1883621764644e-5,-3.738458087106923e-8,0.0025367568259437178,3.1632385404099197e-5,-3.7056717765237276e-8,0.0025374327525164407,3.1499190159307474e-5,-3.687752844703763e-8,0.0025381439662942977,3.152925181564535e-5,-3.690529396896161e-8,0.00253880714969785,3.1717495544648184e-5,-3.7134493175846014e-8,0.002539357012067217,3.201212311537006e-5,-3.7500132915228656e-8,0.002539765928854451,3.233760649167408e-5,-3.79067823651572e-8,0.0025400453147970577,3.2622583246552875e-5,-3.82638918563021e-8,0.0025402331112333227,3.281872156862578e-5,-3.850972952935261e-8,0.002540377487382661,3.290621872055572e-5,-3.8618458257282727e-8,0.002540524155092487,3.288979390474908e-5,-3.8595246105451726e-8,0.0025407093934606078,3.279105867884921e-5,-3.846681028316092e-8,0.002540957537634892,3.2641231271875194e-5,-3.827233474111451e-8,0.002541280815381751,3.247562338960235e-5,-3.805651702208651e-8,0.0025416799467947535,3.232966235413645e-5,-3.786445609457888e-8,0.002542144857740274,3.223562798311164e-5,-3.7737407372711096e-8,0.002542655579590631,3.221938662051105e-5,-3.7708565661377785e-8,0.0025431838362320446,3.229680174430522e-5,-3.779849423590047e-8,0.0025436960054889923,3.247013233511464e-5,-3.8010564296692125e-8,0.00254415790798978,3.272542643389036e-5,-3.8327620226833e-8,0.002544541182956549,3.303226997284184e-5,-3.871155421654684e-8,0.0025448301444755037,3.334704611861932e-5,-3.9107270584671315e-8,0.0025450273211040327,3.3620069672829226e-5,-3.9451574837501164e-8,0.002545155729501141,3.380568399136757e-5,-3.968592063249876e-8,0.002545256556630443,3.387319471601984e-5,-3.977037692107729e-8,0.0025453820443540687,3.3816009067509984e-5,-3.969547432241733e-8,0.002545584452323269,3.365650342624907e-5,-3.948871602576002e-8,0.0025459029162299583,3.344455147949948e-5,-3.9213016496428415e-8,0.0025463510522096334,3.324840420752361e-5,-3.895529090102889e-8,0.002546909232956193,3.3138246514345544e-5,-3.8805530645937213e-8,0.002547525817875957,3.31656565561402e-5,-3.883045961997576e-8,0.002548129745697608,3.334578366524815e-5,-3.9050513834874766e-8,0.002548651901131051,3.3650693689135876e-5,-3.9431034299941284e-8,0.00254904685669721,3.4018656743914485e-5,-3.989388291545174e-8,0.002549305056062235,3.4375770534290136e-5,-4.034493649891447e-8,0.002549450755241978,3.465939649203068e-5,-4.070401123079711e-8,0.0025495291586907494,3.4833241697630345e-5,-4.092420182378461e-8,0.002549590687379239,3.4890489219274215e-5,-4.099602575860678e-8,0.0025496789205144556,3.4848031855415884e-5,-4.0940251920067316e-8,0.0025498244612649898,3.473730209237217e-5,-4.079637327911076e-8,0.0025500436032672657,3.459585033605535e-5,-4.061196445682029e-8,0.002550339547154352,3.4461308211710806e-5,-4.0434988555481746e-8,0.0025507043433619027,3.4367523260307965e-5,-4.030880973480197e-8,0.0025511206731693597,3.4341897944161364e-5,-4.0268729945377805e-8,0.002551563424104876,3.4402972367080165e-5,-4.03388608138628e-8,0.002552001606617659,3.4557690980306746e-5,-4.0528610973922175e-8,0.002552401461273141,3.479848664498499e-5,-4.082892216673805e-8,0.0025527314827823774,3.510120673609544e-5,-4.120952912256527e-8,0.002552969364218686,3.542565410114826e-5,-4.161951137566323e-8,0.0025531095580215266,3.572058968524942e-5,-4.19935413975739e-8,0.002553168729760865,3.59339104478195e-5,-4.226480110017664e-8,0.0025531858573809097,3.602631744383978e-5,-4.238244913932361e-8,0.0025532150611217693,3.598419299693054e-5,-4.232817322961466e-8,0.002553312233386756,3.582648549097322e-5,-4.212517282076237e-8,0.0025535195183206613,3.560220174300033e-5,-4.1835212060668614e-8,0.002553852830502855,3.537869695525301e-5,-4.15439349344679e-8,0.0025542964378125308,3.5224255096316406e-5,-4.133880357556166e-8,0.002554806195557747,3.519005643611671e-5,-4.1286055750094206e-8,0.002555320571266334,3.5296537354939525e-5,-4.141303722830442e-8,0.0025557766128750385,3.552799805828805e-5,-4.170091750744843e-8,0.002556126465171574,3.583732608559857e-5,-4.209034923582469e-8,0.002556349360987087,3.615973932622834e-5,-4.249882289419115e-8,0.0025564551410904254,3.6431100822784126e-5,-4.284408179364047e-8,0.0025564785276809823,3.6604393384032696e-5,-4.306534222497807e-8,0.002556467160589559,3.6658984478097046e-5,-4.3135357610844236e-8,0.002556468510402671,3.660096821231846e-5,-4.306106582894111e-8,0.0025565200544311623,3.645675748916501e-5,-4.28755593884766e-8,0.0025566445046864778,3.626394236750845e-5,-4.262649174123844e-8,0.0025568493925952245,3.606285126280341e-5,-4.236530656389189e-8,0.002557129168848333,3.589047078361781e-5,-4.213942711868888e-8,0.0025574680949682657,3.5776750212926264e-5,-4.1987475893609535e-8,0.0025578429268030643,3.574244515459497e-5,-4.193647233080398e-8,0.002558225197975276,3.579750560221392e-5,-4.1999734310573656e-8,0.0025585835602312756,3.593934241195524e-5,-4.217460204810126e-8,0.002558887016647417,3.61509584570488e-5,-4.2439939751589254e-8,0.0025591098618594843,3.639984373749989e-5,-4.2754572922321514e-8,0.002559238497448476,3.663948624180955e-5,-4.305908526809104e-8,0.002559278835866122,3.6815737799850185e-5,-4.3283910146574906e-8,0.002559261046831353,3.68791601038681e-5,-4.336518833602966e-8,0.0025592372774527606,3.680125222475687e-5,-4.3265665007869605e-8,0.0025592697003744484,3.658826729490232e-5,-4.299250430234186e-8,0.0025594113266689754,3.6284623802832374e-5,-4.260177686092147e-8,0.0025596874257284618,3.596177093402923e-5,-4.218437109225698e-8,0.0025600863540812774,3.569620677368294e-5,-4.183807532178788e-8,0.002560563687246403,3.554623400075656e-5,-4.1637989758230514e-8,0.002561056690233244,3.553661609585996e-5,-4.161684553067492e-8,0.0025615023865055877,3.565507989845713e-5,-4.176023644906828e-8,0.002561853048804872,3.585927599621287e-5,-4.20151041647804e-8,0.0025620856129585094,3.6090108860365954e-5,-4.230643641429664e-8,0.0025622040446008454,3.628699041834416e-5,-4.255663518033421e-8,0.0025622353918832905,3.6401300490328786e-5,-4.270283147309331e-8,0.0025622213473997326,3.6405401558346106e-5,-4.2708678956345274e-8,0.0025622078408738705,3.6295813489391095e-5,-4.256872173084837e-8,0.0025622353848293975,3.609068615788058e-5,-4.230540259760305e-8,0.00256233232102081,3.582322550250386e-5,-4.1960772840867707e-8,0.002562511863801732,3.553353735483984e-5,-4.158605612885912e-8,0.0025627725248878294,3.526111693837438e-5,-4.123196242121757e-8,0.00256310070883618,3.503928727808233e-5,-4.0941482037820396e-8,0.0025634741471409566,3.4891828381175004e-5,-4.074551346356165e-8,0.002563865248603042,3.483125361276283e-5,-4.066063228427299e-8,0.002564244075042713,3.4857926898380974e-5,-4.068793102758481e-8,0.002564581202623444,3.495942454822687e-5,-4.0812119542659516e-8,0.00256485109943431,3.5110048036088305e-5,-4.100075191629571e-8,0.0025650367242128005,3.527118210779312e-5,-4.120451556732618e-8,0.002565135498337338,3.539413055019303e-5,-4.136076151439963e-8,0.0025651654120114266,3.5427525351978796e-5,-4.1403038721833427e-8,0.0025651680412939974,3.533045146974794e-5,-4.127809559426407e-8,0.0025652038004362098,3.508913423679075e-5,-4.096749224333056e-8,0.0025653363340437958,3.472992631684516e-5,-4.050439181559414e-8,0.0025656093621240807,3.431861032240273e-5,-3.997271395936973e-8,0.0025660270415399614,3.394124366569468e-5,-3.9482630402027894e-8,0.0025665499166005316,3.367374522340637e-5,-3.913169321930131e-8,0.0025671094737676993,3.3555941288687166e-5,-3.8971649823626466e-8,0.0025676326398133926,3.358238507761676e-5,-3.899658257921173e-8,0.00256806353887396,3.3710715096302974e-5,-3.915332696323073e-8,0.0025683748955028416,3.387946611070678e-5,-3.936392740831083e-8,0.0025685688159335627,3.402630843529469e-5,-3.954873741392243e-8,0.0025686706264498697,3.410151913115822e-5,-3.96436201055269e-8,0.002568719735740128,3.4075375284090386e-5,-3.9609586863852165e-8,0.0025687602388208127,3.3940249039981586e-5,-3.9435794394587893e-8,0.002568832735617296,3.370870760914346e-5,-3.913743671001868e-8,0.0025689681542897694,3.340879250968684e-5,-3.874991257803349e-8,0.0025691840551694215,3.307763210742136e-5,-3.832068947589197e-8,0.002569483538443005,3.275462578485857e-5,-3.790047634512565e-8,0.00256985645494049,3.2475309573827486e-5,-3.753521316052912e-8,0.0025702822795653883,3.226668899010827e-5,-3.725997236190257e-8,0.002570733820216625,3.214437650152126e-5,-3.70952464417701e-8,0.002571181033117111,3.211133565934368e-5,-3.70453424363933e-8,0.0025715946013054125,3.215772517602418e-5,-3.7098167201791944e-8,0.002571949318347555,3.226144137496881e-5,-3.722583343084536e-8,0.002572227570996682,3.2389277195387017e-5,-3.738598474604562e-8,0.0025724233208959243,3.249913626791757e-5,-3.752447594345222e-8,0.002572546572517723,3.2544481248383096e-5,-3.7581027423136185e-8,0.002572627105263867,3.248253008845186e-5,-3.7499865346558056e-8,0.0025727146254667485,3.2286766565557764e-5,-3.7246045798024494e-8,0.0025728713746888203,3.196144702345607e-5,-3.6824362906102526e-8,0.0025731546573224077,3.1551122395760685e-5,-3.6291732875808416e-8,0.0025735930611439093,3.113531128318894e-5,-3.5750349486020505e-8,0.0025741686669498156,3.080383281342957e-5,-3.5315932671875985e-8,0.002574818793527538,3.0622158898999846e-5,-3.5073179334983326e-8,0.002575459250901792,3.0606384083367444e-5,-3.5043561582390667e-8,0.0025760157713347175,3.072183306088944e-5,-3.518340880366333e-8,0.0025764462366678763,3.0902486165110045e-5,-3.5408643786040035e-8,0.0025767458975593516,3.107681621716422e-5,-3.562773879707096e-8,0.0025769394739584782,3.118739906047621e-5,-3.5766760816977004e-8,0.0025770682803444704,3.12001551469743e-5,-3.5781267605868635e-8,0.0025771782767451306,3.110525759781823e-5,-3.565767914468704e-8,0.0025773113662062915,3.091339865537416e-5,-3.540879179965687e-8,0.0025774999609862632,3.065026064735654e-5,-3.5066958787603745e-8,0.0025777640357551542,3.035060945700293e-5,-3.4676643389330934e-8,0.002578110043284982,3.0052507451921462e-5,-3.428694627394564e-8,0.002578531397055513,2.9791926281541815e-5,-3.3944523195161236e-8,0.0025790103290381297,2.9598057935518227e-5,-3.368738209113566e-8,0.0025795209096909134,2.948965519446499e-5,-3.354007538112134e-8,0.002580032896739608,2.94727630782897e-5,-3.351077440578792e-8,0.0025805159234916397,2.954000878094914e-5,-3.3590389005577315e-8,0.002580943592558336,2.9671294779383406e-5,-3.375345201478358e-8,0.0025812972568394475,2.983567962877638e-5,-3.3960441519085414e-8,0.002581569412426488,2.9994385199715056e-5,-3.416148972868799e-8,0.002581766674986788,3.0105076417356167e-5,-3.430175679860849e-8,0.0025819120683374308,3.0127919994288804e-5,-3.4329229444587715e-8,0.002582045519993052,3.0034048227300084e-5,-3.420579656011638e-8,0.0025822203949664234,2.9816100977510195e-5,-3.392112802616561e-8,0.002582493526172687,2.9498181435378302e-5,-3.3505790908997055e-8,0.0025829078467866826,2.913934269067586e-5,-3.3035889417979293e-8,0.002583471922975573,2.8823154006253027e-5,-3.261957918279001e-8,0.0025841475821974037,2.8630944686295138e-5,-3.236241863773583e-8,0.0025848575009842015,2.860875020177161e-5,-3.23245690882075e-8,0.0025855132051104206,2.8747336224273945e-5,-3.249487409873808e-8,0.0025860483870083825,2.898840096044825e-5,-3.279872884323055e-8,0.0025864386289602428,2.925160284354101e-5,-3.31328354281292e-8,0.0025867003344974215,2.9464434140691195e-5,-3.340364643567008e-8,0.0025868758817611977,2.9580498213838604e-5,-3.355089908895895e-8,0.0025870163518221215,2.958356532888121e-5,-3.3552916689574256e-8,0.00258716874146591,2.948254760991543e-5,-3.342033057128494e-8,0.0025873690254704456,2.930331685653275e-5,-3.31857940505852e-8,0.0025876396104315717,2.908092911135896e-5,-3.289416461028243e-8,0.0025879892061104566,2.88534249664018e-5,-3.259456856612757e-8,0.0025884138089266786,2.8656989162023898e-5,-3.2334059412977954e-8,0.002588898359017111,2.8521979692271508e-5,-3.215231454490244e-8,0.002589419062272378,2.8469586189780088e-5,-3.2077164254932806e-8,0.002589946473323683,2.8509159090307877e-5,-3.212107523599057e-8,0.002590449393316276,2.8636563050092073e-5,-3.227904091415366e-8,0.002590899361197364,2.8834057391279875e-5,-3.2528461699677137e-8,0.00259127520629838,2.9071975778584452e-5,-3.2831291645010475e-8,0.0025915670649930126,2.9312176621478835e-5,-3.313838678718475e-8,0.0025917793326626975,2.951309804139549e-5,-3.33958896106978e-8,0.0025919320721802777,2.96361235160836e-5,-3.355336698452127e-8,0.002592060388232209,2.9652876016196784e-5,-3.357329612354791e-8,0.0025922110409532205,2.9552949250428954e-5,-3.344128213388367e-8,0.0025924352611730508,2.9350891816452204e-5,-3.3175402893513874e-8,0.0025927770732672843,2.908978789339379e-5,-3.2831114881942346e-8,0.0025932582302109035,2.8837351096213648e-5,-3.2496316807290324e-8,0.0025938644424488276,2.8670845449783314e-5,-3.2271752176790486e-8,0.00259454130569729,2.8651787572331885e-5,-3.223802204062918e-8,0.0025952073153012044,2.880006435961552e-5,-3.242178048536644e-8,0.0025957820237779284,2.9082752023308125e-5,-3.2781025144444316e-8,0.002596215451355888,2.942669394122801e-5,-3.3221292787055197e-8,0.0025965024447693404,2.9748129367640864e-5,-3.3634051131772567e-8,0.0025966765282158253,2.998185229157122e-5,-3.3934507817174133e-8,0.002596791242167228,3.009622528063916e-5,-3.408109516064842e-8,0.0025969011572768027,3.0092558261656323e-5,-3.4074756512656124e-8,0.002597049688176753,2.9995632087270322e-5,-3.3946851949197073e-8,0.0025972643186138377,2.9842572236855614e-5,-3.3744958806311066e-8,0.002597556681278304,2.9673938276303314e-5,-3.3521470462183287e-8,0.002597924726275709,2.9527819877394803e-5,-3.332595043754231e-8,0.0025983552864050196,2.9436122490796813e-5,-3.320019805897644e-8,0.002598826556628034,2.9421965307062316e-5,-3.3174709416024415e-8,0.0025993106853013,2.949756098639174e-5,-3.32658027069346e-8,0.002599776848353735,2.9662467082486734e-5,-3.347330412600232e-8,0.0026001951252648077,2.99025861685836e-5,-3.377926073172787e-8,0.0026005411717937273,3.019067108816419e-5,-3.414860105393843e-8,0.002600801115884702,3.048904747005782e-5,-3.453261736501532e-8,0.0026009756449572323,3.075479964565841e-5,-3.487558988314453e-8,0.0026010821201373643,3.094704699047445e-5,-3.512412559281178e-8,0.0026011537374556978,3.103526998712179e-5,-3.523794137373505e-8,0.0026012352359606815,3.100711111394474e-5,-3.52001023446636e-8,0.0026013752640351045,3.08739211784446e-5,-3.5024463414013454e-8,0.0026016160874248713,3.0672358090410115e-5,-3.475804093991398e-8,0.0026019820559800674,3.0460335902351476e-5,-3.447598865451195e-8,0.0026024694362678106,3.0306029731080202e-5,-3.4267389520307465e-8,0.0026030416290290835,3.0270338541856285e-5,-3.421233572704718e-8,0.0026036342474958208,3.0386657894908002e-5,-3.435533680675956e-8,0.0026041720030882468,3.064594194570206e-5,-3.4685549028801975e-8,0.0026045930310347977,3.09961293659131e-5,-3.513578419828963e-8,0.0026048698621258057,3.1359222083486464e-5,-3.560466452625087e-8,0.002605016277847952,3.165875436058266e-5,-3.5992435719287957e-8,0.0026050775582436726,3.1843809880593544e-5,-3.623231983185307e-8,0.0026051114117463955,3.1899280024474e-5,-3.630395313793583e-8,0.0026051700508598736,3.184180085895025e-5,-3.622821835659225e-8,0.0026052897100294578,3.1707923332180516e-5,-3.605202198717156e-8,0.0026054879335475844,3.154166996092474e-5,-3.5832271992857454e-8,0.0026057657097087847,3.138536625159791e-5,-3.5624031184444675e-8,0.0026061113393798714,3.1274330301516524e-5,-3.5473569113068227e-8,0.0026065041725679677,3.123426843754492e-5,-3.5414846395313414e-8,0.0026069176827509784,3.127995084377525e-5,-3.54676479866181e-8,0.0026073221793504135,3.141424395457776e-5,-3.563622226078849e-8,0.002607687760832499,3.162725534231478e-5,-3.590812143263662e-8,0.002607988052610515,3.189600175406857e-5,-3.6253749808592313e-8,0.0026082048747776295,3.218555030603266e-5,-3.662781876104157e-8,0.0026083332526672066,3.2452725750126513e-5,-3.697411627683993e-8,0.0026083853531278017,3.265297934002162e-5,-3.72343878712858e-8,0.0026083914259650088,3.2749867670578894e-5,-3.736065308576354e-8,0.002608396133617845,3.272507890931113e-5,-3.732831038939484e-8,0.0026084499787289036,3.258582024132688e-5,-3.714589715717855e-8,0.0026085974212649975,3.236651424287259e-5,-3.6857515677651e-8,0.0026088647679620098,3.2123260707560836e-5,-3.65358635683691e-8,0.002609251366434725,3.1921661831404596e-5,-3.6266559361749115e-8,0.0026097270315835943,3.182058662536569e-5,-3.612701970627575e-8,0.002610237284691165,3.185588171012813e-5,-3.6165054551592994e-8,0.002610716126815699,3.202876234196642e-5,-3.6383392719986345e-8,0.0026111037028992033,3.23033372673764e-5,-3.6736088564341154e-8,0.0026113636304113436,3.261570097552551e-5,-3.714014721843922e-8,0.002611493434829786,3.2892780986458314e-5,-3.750008482171149e-8,0.002611523495367077,3.307418573417459e-5,-3.7736560791061143E-08,0.002611505142783382,3.312826382278772e-5,-3.780750968567028e-8,0.002611493763715752,3.3056708359165294e-5,-3.771431792722278e-8,0.0026115341933477952,3.2888214172239555e-5,-3.749370515848177e-8,0.0026116528511147953,3.266635873779777e-5,-3.7202054725746606e-8,0.0026118568135878677,3.2437504850753895e-5,-3.6899719726700316e-8,0.0026121372770168093,3.22421675305727e-5,-3.663975855845446e-8,0.0026124744813415092,3.2110441667230555e-5,-3.646188211570326e-8,0.002612842227916604,3.206036322123708e-5,-3.639018811094762e-8,0.00261321139785924,3.2097696128144984e-5,-3.64327692480781e-8,0.00261355274464152,3.2216066114155835e-5,-3.658181139714531e-8,0.0026138396427348816,3.2397063044748426e-5,-3.681367790345908e-8,0.0026140514872013475,3.261067171343822e-5,-3.708942654441659e-8,0.0026141780311365196,3.2817050683532635e-5,-3.7357080590710184e-8,0.002614224114800926,3.297101014117252e-5,-3.7557436147006555e-8,0.002614213119889088,3.303013696291152e-5,-3.7634673802280204e-8,0.002614186549965068,3.296599359632987e-5,-3.755103806085695e-8,0.0026141973753741167,3.277534783937561e-5,-3.7301599143301795e-8,0.002614297046902401,3.248635183237581e-5,-3.69224435741917e-8,0.0026145197475576695,3.215508644569542e-5,-3.648630993783964e-8,0.002614870090159904,3.185171140863245e-5,-3.608467312200419e-8,0.0026153197674543857,3.164059402548646e-5,-3.5801927989370486e-8,0.0026158147703580206,3.156177686629293e-5,-3.569118447274441e-8,0.0026162903077401106,3.1620210993565046e-5,-3.5760006489734524e-8,0.0026166880991987354,3.1785560398102544e-5,-3.5969814749259693e-8,0.002616970841721617,3.200160523740788e-5,-3.624783231824479e-8,0.002617130261397801,3.220181753315225e-5,-3.65072435138508e-8,0.0026171871606737534,3.232655585316976e-5,-3.6669675925902054e-8,0.00261718397046602,3.233719347395405e-5,-3.6683842036219965e-8,0.0026171724016019787,3.222347506708292e-5,-3.6535405177033614e-8,0.0026172002283405987,3.200264024737339e-5,-3.624607593524087e-8,0.0026173011810684,3.171173130676567e-5,-3.586373455846947e-8,0.0026174902392406083,3.139662825485608e-5,-3.544818102047367e-8,0.0026177642440258567,3.110164755113335e-5,-3.5057518398642445e-8,0.0026181060091383474,3.086218416322592e-5,-3.4738433135395185e-8,0.0026184896650506663,3.070099873181416e-5,-3.452121062024481e-8,0.0026188855768160607,3.062736487635263e-5,-3.441851050195791e-8,0.0026192641644238587,3.063776642104189e-5,-3.44262138034998e-8,0.0026195987827379364,3.071705603650061e-5,-3.452490184616867e-8,0.0026198682621240295,3.083960982102611e-5,-3.4681327174304134e-8,0.0026200597799300902,3.0970713580179304e-5,-3.485016751422272e-8,0.0026201724252346513,3.106906901777973e-5,-3.497724556731821e-8,0.002620221032692184,3.1091763777759243e-5,-3.500601824118333e-8,0.0026202386178564006,3.10028288611161e-5,-3.4888839501679675e-8,0.0026202745150329704,3.0784947027866455e-5,-3.4602410900141006e-8,0.0026203852922867623,3.0450819216758257e-5,-3.416279062923851e-8,0.002620618265425924,3.0047622079189514e-5,-3.363132109745287e-8,0.002620992870319827,2.9648323815135033e-5,-3.31033303947174e-8,0.0026214894619416536,2.932979763141325e-5,-3.267956343422445e-8,0.0026220531242507274,2.9146566799369495e-5,-3.2431878766493014e-8,0.002622611657445149,2.9112958080091928e-5,-3.237984681690709e-8,0.0026230987533740094,2.9201352737337322e-5,-3.248826516711856e-8,0.0026234720422993033,2.935474709537481e-5,-3.268331002587069e-8,0.002623720696604966,2.950580934218716e-5,-3.28772184813543e-8,0.002623863141320352,2.9594733190630928e-5,-3.2991532941629956e-8,0.002623938403472255,2.9581523567624585e-5,-3.2973239176112444e-8,0.0026239948751797743,2.945153944445875e-5,-3.280223748832211e-8,0.002624079352158989,2.9214975075539966e-5,-3.249095709508292e-8,0.0026242282334253994,2.8901697565596798e-5,-3.207786296841002e-8,0.0026244620668671175,2.855315053807396e-5,-3.161700102240202e-8,0.0026247839524003213,2.821331655109691e-5,-3.116615430893701e-8,0.0026251814438661785,2.7920728883389294e-5,-3.077624804492969e-8,0.002625630821426735,2.770290261143587e-5,-3.048387523980967e-8,0.0026261023194173497,2.7573621615054672e-5,-3.030759911853844e-8,0.0026265650867071107,2.753272069170523e-5,-3.024760371638935e-8,0.0026269911754542366,2.7567495629662442e-5,-3.0287542037181364e-8,0.0026273585031503107,2.7654808956776647e-5,-3.0397305793839284e-8,0.0026276531846827346,2.776337289842733e-5,-3.0535989704684127e-8,0.0026278717322375995,2.785627661607388e-5,-3.0655133830369624e-8,0.0026280234298139303,2.7894361322732897e-5,-3.0703083939648824e-8,0.0026281325803872136,2.7841478039741167e-5,-3.063189326845691e-8,0.0026282392000712505,2.7672557297109677e-5,-3.040802070948686e-8,0.0026283955437060506,2.7384085700415085e-5,-3.002625965469175e-8,0.00262865565196701,2.700371371201096e-5,-2.9522515841626875e-8,0.002629057605315128,2.6592301817640855e-5,-2.897657699704715e-8,0.0026296042239974493,2.623136467768682e-5,-2.8495630917078668e-8,0.0026302538309996223,2.599585843503772e-5,-2.8178505464655922e-8,0.002630930614107705,2.5924188462011436e-5,-2.807623809106079e-8,0.0026315519205043305,2.6002942441934412e-5,-2.8171931342658712e-8,0.002632057542513618,2.6175113742488016e-5,-2.8391396121084223e-8,0.0026324258329257447,2.6364726212698507e-5,-2.8635308308118833e-8,0.002632672462723894,2.6502714775448774e-5,-2.881304110057633e-8,0.0026328380412312087,2.6543357889184606e-5,-2.8864178132588297e-8,0.0026329731241864014,2.6469411774491017e-5,-2.8765333495100423e-8,0.0026331258609140727,2.6289281768524357e-5,-2.852665947748336e-8,0.0026333338989213834,2.6030282261764095e-5,-2.8183285436663457e-8,0.002633620171689503,2.573080090149753e-5,-2.7785262712895203e-8,0.002633991642655656,2.5432731091922993e-5,-2.7387706234444074e-8,0.0026344403222787766,2.517473880061446e-5,-2.7041855038120544e-8,0.002634946113457011,2.498684705051351e-5,-2.6787753182580472e-8,0.0026354809501950237,2.4886802821856877e-5,-2.6649271729928865e-8,0.0026360135612485953,2.487845151655501e-5,-2.66318567861711e-8,0.0026365141657436557,2.4952076373098923e-5,-2.672296922722169e-8,0.002636958487571637,2.508635806998142e-5,-2.6894714182866534e-8,0.002637330770592852,2.5251345857424093e-5,-2.7107782135658014e-8,0.0026376258574601534,2.541191401004594e-5,-2.731596108184508e-8,0.002637850566159729,2.5531539580490765e-5,-2.747102088376633e-8,0.002638024527826738,2.557660264320669e-5,-2.7528304916922454e-8,0.0026381802741849004,2.552172015255805e-5,-2.7453780860784707e-8,0.0026383615500640014,2.535654692073106e-5,-2.7233147342018143e-8,0.0026386179885873363,2.5093413410281484e-5,-2.6882116638732477e-8,0.002638994289794082,2.4773009859853065e-5,-2.6454097522886618e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_19.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_19.json new file mode 100644 index 000000000..270577e9a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_19.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":19000,"numberOfSamples":1000,"samples":[0.00263951402096563,2.446275040491078e-5,-2.6038117688221015e-8,0.0026401631724560673,2.4241976200195275e-5,-2.5739261712150362e-8,0.002640884349598046,2.417407411008679e-5,-2.5641764129475454e-8,0.0026415912918163185,2.4277459627606698e-5,-2.577057311285661e-8,0.0026422007751247287,2.4514250198517228e-5,-2.6076268743377622e-8,0.002642664329828072,2.4806135401016956e-5,-2.6455914313675208e-8,0.002642981408758501,2.5067420523334124e-5,-2.6796599674782414e-8,0.0026431902581784475,2.523476738670862e-5,-2.701462116287926e-8,0.0026433473077564114,2.5280434293348607e-5,-2.707291191164421e-8,0.0026435080278592402,2.5209814035850336e-5,-2.6977864625794997e-8,0.0026437153058168224,2.5051197769627946e-5,-2.6766036632474325e-8,0.002643995008250455,2.4844553414124373e-5,-2.6489610125027892e-8,0.002644356096346505,2.4632482174508258e-5,-2.6204648569688263e-8,0.002644792866933108,2.4453878979516923e-5,-2.5962750928942762e-8,0.002645287958825506,2.433962413644026e-5,-2.580522022561437e-8,0.0026458157625529125,2.4309628109960647e-5,-2.5758941317575327e-8,0.00264634623063722,2.4371028134717308e-5,-2.5833817493889664e-8,0.0026468490048528843,2.4517626043978552e-5,-2.6021955503015233e-8,0.002647297629221693,2.473075415894809e-5,-2.629884122598041e-8,0.002647673419069512,2.498168300232041e-5,-2.6626587976528904e-8,0.0026479684516871804,2.5235364563765828e-5,-2.6958906132239313e-8,0.0026481873145099825,2.54550480044092e-5,-2.724714977923732e-8,0.0026483474854581976,2.5607329200806667e-5,-2.744689859121178e-8,0.002648478321749667,2.5667306663201197e-5,-2.7524725198145248e-8,0.002648618565417001,2.562364143904652e-5,-2.746495256788262e-8,0.002648811933829168,2.548331398325493e-5,-2.7276137128600436e-8,0.002649099993304903,2.5275225022656478e-5,-2.6996080239347117e-8,0.0026495118344468096,2.5050470037239995e-5,-2.6692385337925312e-8,0.0026500516782408433,2.4875937156110125e-5,-2.6454031394300517e-8,0.0026506887377273874,2.481830242231187e-5,-2.637005584696817e-8,0.0026513571570154788,2.4919878684211346e-5,-2.649732055333089e-8,0.0026519727576500727,2.5176293414199947e-5,-2.6830682803784936e-8,0.00265246347865712,2.553137242424813e-5,-2.7296067819030845e-8,0.0026527977885291948,2.5897092428559638e-5,-2.777691417282513e-8,0.0026529937872264786,2.6188736914085377e-5,-2.8160834927125474e-8,0.0026531053400488365,2.6354405340763377e-5,-2.8378742435525895e-8,0.002653197143730883,2.6384803835271885e-5,-2.8417798104530085e-8,0.0026533237489522734,2.630496073324375e-5,-2.8310488620170042e-8,0.002653519415667135,2.61584941720321e-5,-2.8113966146280626e-8,0.0026537972075638358,2.5993391727317396e-5,-2.7891437296909137e-8,0.0026541528220946162,2.5852711656499893e-5,-2.7699980495729533e-8,0.002654569583467504,2.576980469437125e-5,-2.758418502662082e-8,0.002655022888269817,2.5766321279371505e-5,-2.7573341150534074e-8,0.0026554838903719694,2.5851487346184455e-5,-2.7680269328933923e-8,0.0026559228543872925,2.6021962722230312e-5,-2.7900982114737346e-8,0.0026563125592436493,2.6262270927647677e-5,-2.8215210320601784e-8,0.0026566318822620954,2.6546159408893735e-5,-2.8588246183577963e-8,0.0026568693325829773,2.683937297731775e-5,-2.8974675169938895e-8,0.00265702588046726,2.7104047119859548e-5,-2.9324209301872344e-8,0.0026571162804157502,2.730439944298196e-5,-2.9589182861804454e-8,0.002657168287578267,2.741298625135473e-5,-2.973278593466467e-8,0.002657219506910407,2.7416528074622072e-5,-2.9736788701860016e-8,0.002657312004454739,2.7320200846281446e-5,-2.9607346163960382e-8,0.0026574851280428084,2.714945498836805e-5,-2.9377627673142143e-8,0.0026577671410715864,2.6948550466389847e-5,-2.9106116594645743e-8,0.0026581666337407396,2.677480114515534e-5,-2.8869130261933987e-8,0.002658665644369953,2.668759153112913e-5,-2.874622335182529e-8,0.0026592177642860556,2.673249924766369e-5,-2.8798893801029236e-8,0.0026597551845333914,2.6923863313585407e-5,-2.9047096880029876e-8,0.0026602066278280773,2.7233239467283458e-5,-2.945360447347533e-8,0.0026605218701161496,2.759279450344971e-5,-2.992839322576825e-8,0.002660691339317348,2.791687831695263e-5,-3.0357403494703774e-8,0.0026607489650131524,2.813307297178182e-5,-3.064397603742436e-8,0.002660756316410744,2.820629128228656e-5,-3.0740975280116455e-8,0.00266077813131762,2.814444053347429e-5,-3.0658329382785926e-8,0.0026608626181401033,2.7987094517445165e-5,-3.044802835863527e-8,0.002661033282093157,2.7787369099427664e-5,-3.018018911351549e-8,0.002661290670229049,2.759646253123286e-5,-2.992268275086257e-8,0.002661618847227499,2.745466279524221e-5,-2.9729256636510297e-8,0.002661992324996788,2.7388048564438633e-5,-2.9635075082451442e-8,0.0026623814914065623,2.740846380825369e-5,-2.9656508743774662e-8,0.0026627564064791672,2.751469021981976e-5,-2.9792508338229933e-8,0.002663089657287003,2.769378081550649e-5,-3.002626101217006e-8,0.0026633589993581537,2.7922422231694105e-5,-3.032697532756177e-8,0.0026635502049094915,2.816877186333765e-5,-3.065235507227498e-8,0.002663660058606214,2.8395509491539593e-5,-3.095269273591784e-8,0.0026636988226479592,2.8564683516255168e-5,-3.1177317725720975e-8,0.0026636910185861354,2.8644267020628355e-5,-3.128328931824663e-8,0.002663673368164203,2.8615444636392442e-5,-3.124507257083623e-8,0.0026636892999802016,2.847882357726595e-5,-3.106284172552677e-8,0.0026637804953454328,2.8257367087954442e-5,-3.076651119240239e-8,0.0026639771539304236,2.7994347029093748e-5,-3.041320967031577e-8,0.002664289390944928,2.7745919962196963e-5,-3.0077603120369135e-8,0.0026647021583839263,2.7569343911087362e-5,-2.983632036881539e-8,0.002665175574611234,2.7508966541401323e-5,-2.9749234062979572e-8,0.002665651753105894,2.758308150002246e-5,-2.9841711448467954e-8,0.0026660679387967637,2.777557445101302e-5,-3.009314804079612e-8,0.002666373652606828,2.8036422130212083e-5,-3.043735504000154e-8,0.0026665467921051737,2.8293485634668975e-5,-3.0778184924067085e-8,0.002666601852555459,2.8473726055012245e-5,-3.1017907545195027e-8,0.0026665852853927806,2.8526301970881325e-5,-3.1088172804032435e-8,0.002666559122253182,2.843738526897907e-5,-3.0969895282801916e-8,0.0026665805053176046,2.823043592843639e-5,-3.069370740064932e-8,0.0026666863526158286,2.795380188020402e-5,-3.032352927191644e-8,0.002666888030781808,2.7663438827002143e-5,-2.993366290807507e-8,0.0026671748130789254,2.7408493516036183e-5,-2.958966680282094e-8,0.0026675216046985984,2.722333376093842e-5,-2.933771824724552e-8,0.0026678967932506742,2.7125467417972392e-5,-2.920171724683057e-8,0.002668268174343812,2.7116928055334394e-5,-2.918496557666993e-8,0.0026686067536675503,2.718687142750966e-5,-2.9273488870256556e-8,0.002668889153521843,2.7314125916714938e-5,-2.9439367095546293e-8,0.0026690995240611494,2.7469415229723713e-5,-2.9643692403226327e-8,0.002669231588881734,2.761768401200625e-5,-2.983969287822529e-8,0.0026692909045567758,2.772137604439484e-5,-2.9977123836592665e-8,0.002669296689582548,2.7745483589062654e-5,-3.0009007656812204e-8,0.0026692818814056923,2.76645400450632e-5,-2.9900964988722216e-8,0.002669289786419154,2.7470487600255673e-5,-2.9641735210395685e-8,0.0026693663135547675,2.7178855682651955e-5,-2.9251483856010147e-8,0.002669548600717101,2.6829814064937723e-5,-2.8783321052296953e-8,0.002669853232704221,2.6481571864986507e-5,-2.8314646721668814e-8,0.0026702686612265127,2.6196540227162797e-5,-2.792883344868289e-8,0.0026707555410017745,2.6024208042934442e-5,-2.769243626155642e-8,0.0026712556999075863,2.5986573478360687e-5,-2.7635653186376986e-8,0.002671707089748267,2.6071129511972674e-5,-2.7742712797765785e-8,0.0026720600901569886,2.6233603318288687e-5,-2.795522462078366e-8,0.002672290443135009,2.640954156364561e-5,-2.818742186699068e-8,0.0026724052428170825,2.653145786869803e-5,-2.8349002218997386e-8,0.002672440220313686,2.6546752821712073e-5,-2.8369163632258638e-8,0.0026724489957256573,2.6431102842522592e-5,-2.8214673922745004e-8,0.002672487698917711,2.6193125149463324e-5,-2.789629736013679e-8,0.0026726001820109838,2.586916578069951e-5,-2.746199942230688e-8,0.002672808644915501,2.551090053887501e-5,-2.6980507296689357e-8,0.0026731118372536797,2.5170934360175597e-5,-2.6522128760281473e-8,0.0026734896589889912,2.4891330726868854e-5,-2.6143393330707435e-8,0.0026739109227287,2.4697549447807037e-5,-2.5878832880513e-8,0.0026743410670043246,2.4597486622909633e-5,-2.5739543146492245e-8,0.002674747998989801,2.458373190904632e-5,-2.5716071958711425e-8,0.0026751057440529678,2.463704675194214e-5,-2.57830039780471e-8,0.0026753964831346907,2.47297865751725e-5,-2.5903529531835557e-8,0.00267561183646005,2.4828867315808e-5,-2.6033429491443315e-8,0.0026757540793394046,2.489859900654912e-5,-2.6124877326598502e-8,0.00267583747024861,2.4904174485618595e-5,-2.6131104709850983e-8,0.0026758891320712635,2.4816671777239062e-5,-2.6013096260213478e-8,0.0026759481268225807,2.4619877273035702e-5,-2.5748745104085175e-8,0.002676060878740094,2.4317891637757816e-5,-2.534308690420903e-8,0.002676271641860672,2.3940547910458253e-5,-2.4835628594163594e-8,0.0026766089922976954,2.3542240639262514e-5,-2.429887410844018e-8,0.002677072911743146,2.3190810939116947e-5,-2.3823549830955104e-8,0.002677629384711697,2.2947801471423495e-5,-2.349226195279842e-8,0.0026782174373540597,2.284747447523584e-5,-2.3351420427147178e-8,0.002678767190753552,2.2884450527373708e-5,-2.3394574904936935e-8,0.002679221246387928,2.3015772470718473e-5,-2.3564955982734086e-8,0.0026795504594499405,2.31755695605357e-5,-2.3774871289120044e-8,0.002679759170591716,2.3295137206169125e-5,-2.393243272963582e-8,0.0026798803135628544,2.3320917185443094e-5,-2.3965602905995443e-8,0.0026799640145154023,2.322577558520088e-5,-2.3837397612610006e-8,0.0026800639314745046,2.3012215146842673e-5,-2.3550384713622862E-08,0.0026802248899573116,2.2708392050599457e-5,-2.3141585163499967e-8,0.0026804742934984,2.235906805897442e-5,-2.2670554977751216e-8,0.0026808185968568944,2.2014267511493717e-5,-2.220428842578894e-8,0.0026812448336239396,2.171854636264718e-5,-2.180280461715125e-8,0.0026817259374465234,2.150323880680172e-5,-2.1508611094251824e-8,0.00268222781652349,2.1382809836528223e-5,-2.1341628366433782e-8,0.0026827161726339327,2.1355034347562173e-5,-2.1299284836488415e-8,0.0026831617535715744,2.140378470911418e-5,-2.1360196730420277e-8,0.0026835436457758872,2.1502965966267144e-5,-2.1489465414133864e-8,0.0026838509543692596,2.16204854567272e-5,-2.1644050147128995e-8,0.002684083542702058,2.1721810919128004e-5,-2.1777567204648777e-8,0.0026842524063363047,2.1773296218550722e-5,-2.184473901283113e-8,0.0026843798793523676,2.174584592951199e-5,-2.1806283785570994e-8,0.002684499254751002,2.1619604754520625e-5,-2.1635208600026604e-8,0.002684652615539522,2.1389936125771377e-5,-2.132488556836351e-8,0.0026848851553524585,2.1073684595338914e-5,-2.0897551736655894e-8,0.002685234761333537,2.071276203290809e-5,-2.040922349572789e-8,0.0026857179492677428,2.0370460882582813e-5,-1.9944823185549678e-8,0.002686317392056504,2.0116807827503108e-5,-1.9598553255649772e-8,0.002686979523907763,2.0004912349695077e-5,-1.9442129284992614e-8,0.0026876280837219843,2.0048512671163523e-5,-1.949455243073783e-8,0.0026881899249303247,2.0214024293583018e-5,-1.9711294931862544e-8,0.002688620249435145,2.043285656095454e-5,-2.000069039920413e-8,0.002688914623014258,2.0626936406510176e-5,-2.0258093448061607e-8,0.002689104448499188,2.073370425998305e-5,-2.0399378529749706e-8,0.0026892419298627126,2.0720641518941455e-5,-2.038044359813892e-8,0.00268938312888527,2.0587598019377475e-5,-2.0200427284762034e-8,0.002689574768650333,2.0360579482662567e-5,-1.989355990805515e-8,0.0026898465947728313,2.0081670543145843e-5,-1.9515867700560127e-8,0.0026902088053080623,1.9798500950558975e-5,-1.913120086648592e-8,0.002690653320029833,1.9555086732382298e-5,-1.8798959747669437e-8,0.0026911577108349486,1.9384918317815483e-5,-1.856468027518342e-8,0.0026916907283687213,1.9306783846534458e-5,-1.8454204375709315e-8,0.0026922183440946422,1.932346249716126e-5,-1.8471725008849565e-8,0.0026927093194704355,1.9422959535281348e-5,-1.8601349303398246e-8,0.002693139577075912,1.9581620030571056e-5,-1.8811304655394267e-8,0.0026934949979082095,1.9768275469618075e-5,-1.905959980051295e-8,0.0026937727037630865,1.9948579211282313e-5,-1.9299928293298172e-8,0.002693981227014739,2.008903816565814e-5,-1.9487102008012012e-8,0.0026941399761876384,2.0160743594175506e-5,-1.958202828436642e-8,0.002694278150304583,2.014308771745926e-5,-1.9556669135148625e-8,0.002694432839134833,2.0027814972522264e-5,-1.939951202924289e-8,0.0026946454407021474,1.9823465164879817e-5,-1.912164795226923e-8,0.002694955118743798,1.9559228013221924e-5,-1.876210188452582e-8,0.0026953885604227568,1.9285588555638527e-5,-1.8388822887488567e-8,0.002695947389646158,1.906784792733087e-5,-1.8090003030037158e-8,0.002696598361371597,1.8969529356223275e-5,-1.7951673808881418e-8,0.0026972747172651123,1.9028183067974308e-5,-1.8024976958726027e-8,0.002697894448259002,1.923482567582152e-5,-1.82982964892157e-8,0.0026983903263144058,1.953167385178543e-5,-1.8694084270395405e-8,0.0026987355972708806,1.9833273175935162e-5,-1.9097304148343785e-8,0.002698950451980689,2.005962260427181e-5,-1.9400090848296767e-8,0.0026990880859063043,2.016241265792062e-5,-1.9537100067242948e-8,0.0026992117922432905,2.013345355569334e-5,-1.949684506615443e-8,0.002699375647089422,1.999759245364751e-5,-1.9312213181089278e-8,0.002699614261285006,1.9798830819145078e-5,-1.9041939056218857e-8,0.0026999406340535597,1.9586801508834097e-5,-1.8752604336031518e-8,0.0027003488738597202,1.9406767550178475e-5,-1.850529554434705e-8,0.002700818970481651,1.9293437948365567e-5,-1.8347238284879605e-8,0.0027013220497049467,1.9267719508964687e-5,-1.8307237617048195e-8,0.002701825549465035,1.9335593552310834e-5,-1.839393020569358e-8,0.0027022980757690288,1.9488723621636194e-5,-1.8596431789749385e-8,0.002702713662607276,1.970654001153539e-5,-1.8887103092774177e-8,0.002703055157533248,1.9959543955443707e-5,-1.9226073522447195e-8,0.002703316448267429,2.0213520540267606e-5,-1.9567030088327615e-8,0.0027035033133196956,2.0434152409261692e-5,-1.986350378693203e-8,0.0027036329373279133,2.059147843487134e-5,-2.0074871352699753e-8,0.002703732317100221,2.0663912104588616e-5,-2.017172044859481e-8,0.002703835708462897,2.064176391337209e-5,-2.0140576017720335e-8,0.002703981045779454,2.0530222225002636e-5,-1.9987983238696774e-8,0.002704204955540068,2.0351562676141675e-5,-1.9743638549377247e-8,0.0027045358067139627,2.014570325430151e-5,-1.9461313750205066e-8,0.002704984805772576,1.996714707688034e-5,-1.92148397591981e-8,0.0027055368649279493,1.987574577050617e-5,-1.9085611169575944e-8,0.002706145685078051,1.9919963553539275e-5,-1.913981275734757e-8,0.0027067395839023285,2.0115935619329194e-5,-1.9399872245807953e-8,0.002707241964949466,2.0432627984345386e-5,-1.9824189275903496e-8,0.002707600561978769,2.079591363745013e-5,-2.031258854203578e-8,0.0027078094546453073,2.1114943868623784e-5,-2.0742078873478338e-8,0.0027079095029694275,2.1317626509160715e-5,-2.101494646065448e-8,0.002707967740739984,2.1374638784031844e-5,-2.1091231796414332e-8,0.0027080501916891273,2.1301291919555723e-5,-2.0991196408044287e-8,0.002708202805321296,2.1142645928582355e-5,-2.0775234408464792e-8,0.0027084452776870867,2.0954316120813476E-05,-2.0518098346501502e-8,0.002708774162575712,2.078764131629634e-5,-2.028905117718749e-8,0.002709169810830763,2.0681479161499233e-5,-2.014086685744763e-8,0.0027096034430987557,2.065925821172407e-5,-2.0105765910602988e-8,0.0027100428652535534,2.0729021182110605e-5,-2.0195268624788187e-8,0.0027104568599029245,2.088478077558925e-5,-2.0401806622108805e-8,0.0027108187654351296,2.1108546115977512e-5,-2.0701327617105837e-8,0.002711109496587725,2.1372986326076458e-5,-2.10568899223502e-8,0.002711319970232938,2.1644827851250796e-5,-2.142334211249965e-8,0.002711452708090201,2.1889050652350722e-5,-2.1753098561200446e-8,0.002711522206080725,2.207368852602839e-5,-2.2002679141313222e-8,0.002711553726110139,2.2174663760722812e-5,-2.2139227350930035e-8,0.0027115804817427185,2.2179989492678676E-05,-2.214615199321869e-8,0.0027116394229722046,2.2092790600064617e-5,-2.2027220749220564e-8,0.002711765902353902,2.1932661136871404e-5,-2.1808497541801675e-8,0.0027119875265561675,2.17349102139576e-5,-2.153749682666738e-8,0.0027123175594141167,2.154714321577371e-5,-2.1278725972971384e-8,0.002712748677090166,2.1422310197924048e-5,-2.1104340382649643e-8,0.0027132489457220156,2.1407462817094904e-5,-2.107881988743877e-8,0.002713763222707799,2.1528939153101463e-5,-2.12386510801654e-8,0.002714223539826301,2.17779711508261e-5,-2.1572526893751845e-8,0.0027145692235508168,2.210462782438041e-5,-2.201294395593925e-8,0.0027147705289971287,2.242831272043591e-5,-2.245045363896241e-8,0.002714842961370987,2.26651374401677e-5,-2.2770961975807826e-8,0.0027148417371246187,2.2759728481484883e-5,-2.2899019449501894e-8,0.0027148384646546696,2.270361220246182e-5,-2.2822761360270927e-8,0.002714894133814566,2.253147752919397e-5,-2.2588785865962968e-8,0.002715042481976411,2.230178058034443e-5,-2.227589996373742e-8,0.0027152877602880654,2.2075146022270574e-5,-2.196600255000497e-8,0.0027156119658795414,2.189977200438472e-5,-2.1724460810982776e-8,0.0027159847379479274,2.180547085498409e-5,-2.1592064109398672e-8,0.0027163717326484887,2.18037059038195e-5,-2.158495102003217e-8,0.0027167402462662167,2.189035707386248e-5,-2.169814943921391e-8,0.0027170626329077376,2.204902136902486e-5,-2.1909862774099005e-8,0.002717318577686348,2.225407880034124e-5,-2.2185536220454567e-8,0.002717496917322223,2.247368848952755e-5,-2.2481941172479003e-8,0.0027175971570509785,2.2673148098990517e-5,-2.2751819980273843e-8,0.002717630437619656,2.2818986025088118e-5,-2.2949521472554347e-8,0.002717619374232879,2.2883830547347417e-5,-2.3037639752791775e-8,0.0027175960863589687,2.2851508344780233e-5,-2.29939131948583e-8,0.002717598071460584,2.27213176952526e-5,-2.281699857396905e-8,0.0027176621709201596,2.2510260056520727e-5,-2.2529529271382513e-8,0.0027178174751903974,2.22521853070832e-5,-2.2177067543554316e-8,0.0027180784671276526,2.1993333213934358e-5,-2.1822217623532972e-8,0.0027184398641318065,2.178448760758116e-5,-2.153411268172913e-8,0.0027188745594770346,2.1670561409178468e-5,-2.137429317301222e-8,0.0027193360025531545,2.1679009178246315e-5,-2.1380826619141587e-8,0.002719766138446254,2.1809462677510583e-5,-2.1553961002315126e-8,0.00272010902935972,2.2028302823201387e-5,-2.184847600516649e-8,0.0027203278821346134,2.2272524858974438e-5,-2.2178797892063562e-8,0.0027204196799707763,2.24654419229855e-5,-2.2440404566424472e-8,0.002720419476537429,2.2541182151501676e-5,-2.2543308403420168e-8,0.002720389514355453,2.246792006086709e-5,-2.2443785172222848e-8,0.0027203968580779593,2.2257868624423312e-5,-2.2157995797522724e-8,0.0027204907531003454,2.1959156500183422e-5,-2.17509487518943e-8,0.0027206903780250197,2.1635680043467534e-5,-2.1309184877300774e-8,0.0027209858546815508,2.1346417556349277e-5,-2.0912787442917073e-8,0.002721347808163526,2.1132433058736414e-5,-2.06177932502233e-8,0.002721738732659261,2.101302770424033e-5,-2.045091160605777e-8,0.002722121842089695,2.0988064107378192e-5,-2.0412526919188236e-8,0.0027224663072612032,2.104272221321373e-5,-2.0482980964473065e-8,0.0027227497312666536,2.1152219247249398e-5,-2.0628864697851955e-8,0.0027229592187699085,2.1285646420264224e-5,-2.0808205423364215e-8,0.002723092024279769,2.140915534170127e-5,-2.0974851448080727e-8,0.002723156140984944,2.14891410191427e-5,-2.108288393508341e-8,0.002723170606461795,2.149605797679514e-5,-2.1091870780846034e-8,0.0027231647986974373,2.140913982897247e-5,-2.0973305086363463e-8,0.002723175747615389,2.122154123906254e-5,-2.0717585989345948e-8,0.0027232427667478894,2.094452464224403e-5,-2.0339705819586754e-8,0.0027233996145755853,2.0608713479640643e-5,-1.9880992713257535e-8,0.002723665721382843,2.026060892275378e-5,-1.9404470170278227e-8,0.0027240391567136266,1.9953854594028393e-5,-1.898310231028625e-8,0.002724494146855511,1.9736789731948312e-5,-1.8682948875842208e-8,0.002724984781134481,1.9639562245665583e-5,-1.8545605329381536e-8,0.002725454640230336,1.9664591180140306e-5,-1.8575060281540082e-8,0.0027258502841296267,1.978346436416098e-5,-1.8733227690675876e-8,0.0027261353236396123,1.9941877016394326e-5,-1.894645849238284e-8,0.002726301248658682,2.007230249813052e-5,-1.912271463933041e-8,0.0027263713289722514,2.011187104949174e-5,-1.9175991154117115e-8,0.002726395138448426,2.002057957804487e-5,-1.905127428909273e-8,0.002726434196991114,1.9793401183908815e-5,-1.8741182852925098e-8,0.0027265433420372793,1.946100805656228e-5,-1.828705235095383e-8,0.0027267551469351914,1.9078518607560066e-5,-1.7763682989189432e-8,0.002727073366580046,1.870747687105405e-5,-1.7254861286109985e-8,0.0027274765293817524,1.8398952985918913e-5,-1.683037011094019e-8,0.002727927993060576,1.818353027833995e-5,-1.6532295654523488e-8,0.0027283871266923043,1.8069347217504134e-5,-1.637222675764901e-8,0.0027288178204516824,1.804577514014172e-5,-1.633611041703065e-8,0.0027291931918580247,1.8089300870504294e-5,-1.6392157254153952e-8,0.0027294972768002954,1.816913014448269e-5,-1.649844892067187e-8,0.0027297251046408027,1.8251552466542002e-5,-1.660892918346911e-8,0.0027298822811575333,1.830324285422369e-5,-1.6677976929709144e-8,0.0027299846109979653,1.8294199006395545e-5,-1.6664471571957215e-8,0.0027300576392803658,1.8201084382144078e-5,-1.6536379482566312e-8,0.002730135367558795,1.801142871411346e-5,-1.6276481194654895e-8,0.0027302569950561194,1.772835840690819e-5,-1.5888815400112085e-8,0.002730460675000141,1.7374367034465673e-5,-1.540383280991605e-8,0.002730774317388617,1.6991538671805468e-5,-1.487874681986958e-8,0.002731205492992096,1.663554986253649e-5,-1.4389430286252634e-8,0.0027317346225685167,1.6362736100393333e-5,-1.401285392592605e-8,0.0027323159732417688,1.6213321694122396e-5,-1.3804237823242727e-8,0.0027328882043883593,1.6197272773221976e-5,-1.377768292956184e-8,0.002733391477933123,1.628923403372551e-5,-1.3899104903846669e-8,0.0027337846859482747,1.6435087027299024e-5,-1.4095004537599963e-8,0.002734056500043612,1.656745755001094e-5,-1.4273511480543449e-8,0.0027342271115420556,1.6624323330041047e-5,-1.4349761230979106e-8,0.002734341218625606,1.6564849873113524e-5,-1.4267579057934553e-8,0.0027344551943848145,1.6378505391622318e-5,-1.4012046808109738e-8,0.002734622289801755,1.608581588143182e-5,-1.3610682506044439e-8,0.0027348797656559553,1.5731229116967588e-5,-1.312384293400565e-8,0.0027352411979116873,1.5370487927067927e-5,-1.262758861964929e-8,0.0027356956705479342,1.5056407177672457e-5,-1.2194285616455754e-8,0.002736213318040265,1.4827270079832405e-5,-1.1876677483532097e-8,0.0027367546090290257,1.4700733657187753e-5,-1.169940036745348e-8,0.002737279962922846,1.4673731384326293e-5,-1.16586767454608e-8,0.0027377570640155654,1.4726736350655366e-5,-1.1728029197099415e-8,0.0027381648557289963,1.482989457646782e-5,-1.1866648191392354e-8,0.0027384946423735903,1.4948942426058718e-5,-1.2027544616739114e-8,0.002738749434445084,1.504985821963847e-5,-1.216399804528127e-8,0.0027389426406392242,1.5102225647928979e-5,-1.2234218749741384e-8,0.0027390967313658887,1.508190848938774e-5,-1.2205022203274869e-8,0.0027392418828776502,1.497377683520103e-5,-1.2055543818857391e-8,0.0027394140032673863,1.4774979914795335e-5,-1.1781703210623261e-8,0.0027396510558396095,1.449859754939216e-5,-1.1401214646296961e-8,0.0027399865631337478,1.4176337452192784e-5,-1.0957324233453986e-8,0.0027404401157403325,1.3857589419184968e-5,-1.0517579850249122e-8,0.002741006988407936,1.3601649709835046e-5,-1.016324470539438e-8,0.002741651946643131,1.3461932237357087e-5,-9.967701894510386e-9,0.0027423134297618586,1.3466164991872435e-5,-9.969292325791265e-9,0.0027429204127412043,1.3602045380436758e-5,-1.0151559338201335e-8,0.0027434161980657615,1.381781057785335e-5,-1.0443902181835858e-8,0.0027437775903663983,1.403930043979941e-5,-1.0744867582233018e-8,0.00274402026056172,1.4195086586668818e-5,-1.0956551973741348e-8,0.002744189707180539,1.4237647948831023e-5,-1.101361813162918e-8,0.0027443444308235623,1.4153214739371446e-5,-1.0896808965594635e-8,0.0027445391212823013,1.3960083614703103e-5,-1.063071839494125e-8,0.0027448126229584063,1.369940353501182e-5,-1.0271311517205686e-8,0.0027451820491002014,1.342296064314159e-5,-9.889353385649206e-9,0.0027456424369939375,1.3181296837245952e-5,-9.554228595057486e-9,0.0027461706266553357,1.301415215625418e-5,-9.320814951324564e-9,0.0027467319065318033,1.2944348784452829e-5,-9.220945708603037e-9,0.0027472878430236675,1.297566686114043e-5,-9.26028974478475e-9,0.0027478036209455806,1.3094521161716708e-5,-9.420488426281658e-9,0.0027482535395967965,1.3274409109423844e-5,-9.665206228210173e-9,0.002748624017387072,1.3481665911821765e-5,-9.94808846615289e-9,0.002748914201993835,1.3681151040180056e-5,-1.0220678594459335e-8,0.002749134840466332,1.3840922486020028e-5,-1.0438925666362003e-8,0.0027493062755827883,1.3935617636275572e-5,-1.0567851392877573e-8,0.0027494561978375956,1.3948871850020234e-5,-1.0584841736813426e-8,0.002749617298368145,1.3875330877006017e-5,-1.0482372438320108e-8,0.002749824478571436,1.3722661790345272e-5,-1.0270772986168708e-8,0.002750110830763187,1.3513482353169196e-5,-9.98093410823438e-9,0.00275050148863685,1.3286167853943228e-5,-9.665504146217214e-9,0.0027510052007713166,1.3092282740735443e-5,-9.395433012835077e-9,0.0027516054627253683,1.2987797311630384e-5,-9.247916863310523e-9,0.0027522560077975567,1.3016795714357577e-5,-9.283940992366734e-9,0.002752887270832192,1.3191513005764179e-5,-9.520705716744854e-9,0.0027534268750110877,1.3479307947422266e-5,-9.913575792228905e-9,0.002753827252818105,1.380820104122874e-5,-1.0363635022831688e-8,0.002754085066367869,1.4092408000508905e-5,-1.0752843979321471e-8,0.002754240423604777,1.4264671631161601e-5,-1.0988570669126968e-8,0.0027543577158397454,1.4297504261183262e-5,-1.1032801675695634e-8,0.0027545010082918016,1.4205075789953122e-5,-1.0904699986993847e-8,0.0027547161998007054,1.4030591799180186e-5,-1.0663283329901377e-8,0.0027550240194078655,1.3829185117178249e-5,-1.0384043206256625e-8,0.002755421453020713,1.3653474454465471e-5,-1.0139258403077382e-8,0.0027558875196220835,1.3544259564344984e-5,-9.985280220478687e-9,0.0027563903321073395,1.3525955479519786e-5,-9.956181654857124e-9,0.0027568938904163395,1.3605460183974092e-5,-1.0062009063794016e-8,0.002757364073561223,1.3773418082126131e-5,-1.029030898978133e-8,0.0027577735523741467,1.4007312606634619e-5,-1.0610254942756665e-8,0.002758105281049702,1.4275878871466236e-5,-1.0978721485269755e-8,0.0027583543129910426,1.4544196144378514e-5,-1.1347397176404875e-8,0.002758527884760369,1.4778781498711986e-5,-1.1669921998794136e-8,0.0027586439565762334,1.495202207329257e-5,-1.1908062139585563e-8,0.0027587286752269713,1.5045486741457556e-5,-1.2036263263573345e-8,0.002758813283168323,1.5052079543374385e-5,-1.2044567346228864e-8,0.0027589307562035483,1.497726783006875e-5,-1.1940277717807085e-8,0.0027591121400170103,1.4839587044545021e-5,-1.1748696271030066e-8,0.002759382258301141,1.4670374331164395e-5,-1.1512860934478634e-8,0.0027597543590631487,1.4512060743916354e-5,-1.1291303651724086e-8,0.002760223851724849,1.4413504572653444e-5,-1.1151667518328181e-8,0.002760762772812467,1.4420577561528979e-5,-1.1157671499436408e-8,0.002761318710750578,1.4561512390203414e-5,-1.1348746558323507e-8,0.00276182335825203,1.483046758444795e-5,-1.171717072812087e-8,0.002762213232767044,1.5178600777388183e-5,-1.2195628938203373e-8,0.0027624561618459875,1.5523579998102924e-5,-1.2670370954457433e-8,0.002762568055471419,1.577896645887847e-5,-1.3021911778698365e-8,0.002762607053442844,1.588892345218556e-5,-1.3173036202525945e-8,0.0027626477535367317,1.5847494556313896e-5,-1.3115353264673006e-8,0.002762752148698717,1.5693341116187472e-5,-1.290193227055894e-8,0.002762952717258098,1.5488291251018845e-5,-1.2617722370350503e-8,0.0027632510418019677,1.5294686690858635e-5,-1.2348462136331391e-8,0.0027636259344087917,1.5160707656321381e-5,-1.2160612203495138e-8,0.002764043924793039,1.511465428428553e-5,-1.2093523880228672e-8,0.002764468105360931,1.5165219435121325e-5,-1.2159711904489318e-8,0.0027648642771565795,1.5304554776486206e-5,-1.2348881160795975e-8,0.00276520491193756,1.551214917612753e-5,-1.2633083740317827e-8,0.0027654717421526196,1.5758859205074683e-5,-1.2972187445271782e-8,0.0027656573615933593,1.601108180866163e-5,-1.331966747011974e-8,0.0027657658412326984,1.623508143758839e-5,-1.3628693916074076e-8,0.0027658122315612965,1.6401336192405455e-5,-1.385824500072823e-8,0.0027658208032614435,1.64885423505343e-5,-1.397868551819702e-8,0.0027658220656359834,1.6486733828388484e-5,-1.397605157394892e-8,0.002765848891824904,1.639909794692674e-5,-1.3854513826157042e-8,0.0027659321674139512,1.6242317878778517e-5,-1.3636849548780435e-8,0.002766096303503263,1.6045369593808686e-5,-1.3362857387789591e-8,0.0027663548615603564,1.5846730676314847e-5,-1.308562701077851e-8,0.0027667064826740096,1.5689835021215877e-5,-1.2865361853446855e-8,0.002767131628491153,1.5616253392744474e-5,-1.2759959238257351e-8,0.002767591541465577,1.565613932350352e-5,-1.2811680422273687e-8,0.0027680318643640033,1.581672526418174e-5,-1.3031031172521404e-8,0.0027683935757452003,1.607229328191158e-5,-1.3382687188492964e-8,0.0027686315906423767,1.6362317419807093e-5,-1.3782849249591848e-8,0.0027687352106116232,1.660487394222258e-5,-1.4117902190796029e-8,0.002768738239820442,1.6725105080637398e-5,-1.4283993588661351e-8,0.0027687087079556953,1.6685822510540136e-5,-1.422947633870195e-8,0.0027687213527381837,1.650176304721841e-5,-1.3974559220475729e-8,0.0027688289978741332,1.622925799770131e-5,-1.3596908755438644e-8,0.002769048363398059,1.594031700512789e-5,-1.3195832869032236e-8,0.00276936337344147,1.569769408859385e-5,-1.2857958409166736e-8,0.002769738192543268,1.5541237964123733e-5,-1.2638499739393606e-8,0.002770130857577132,1.5485700596560033e-5,-1.2558236264973412e-8,0.0027705028435936804,1.5525121557837643e-5,-1.2609441752677153e-8,0.002770824104016123,1.5639139817898094e-5,-1.2764417778794309e-8,0.0027710750382562957,1.579871667179225e-5,-1.298325399628226e-8,0.002771246995946245,1.5970684935818387e-5,-1.322007185623983e-8,0.0027713422068845884,1.6121524757386047e-5,-1.3428307331702114e-8,0.0027713733059165882,1.622087961293736e-5,-1.3565689517813172e-8,0.0027713622519797507,1.6245092710609566e-5,-1.3599228831309594e-8,0.002771338258376431,1.6180665568763176e-5,-1.3510033682923686e-8,0.0027713344138243505,1.6027070557930125e-5,-1.3297175460530656e-8,0.0027713830768532144,1.579813080854103e-5,-1.2979564370243544e-8,0.0027715105782646693,1.5521323628688927e-5,-1.2595002061998987e-8,0.002771732045267941,1.5234636665673235e-5,-1.2195915802458485e-8,0.002772047301432447,1.4981007805899022e-5,-1.1841777298032802e-8,0.002772438752589332,1.4800880562158318e-5,-1.1588867502371844e-8,0.0027728720133379584,1.4723695349422957e-5,-1.1478455258934069e-8,0.0027733000270757664,1.475936384689405e-5,-1.1524829287417343e-8,0.0027736714038943994,1.4891518683271445e-5,-1.1705728640433002e-8,0.002773942949580787,1.5075513691583893e-5,-1.1959405556781578e-8,0.002774094298536084,1.5244784160866828e-5,-1.2193420369479077e-8,0.00277413935771806,1.5327642621168224e-5,-1.2308056164262575e-8,0.002774127095241945,1.5271382737278492e-5,-1.222991079233378e-8,0.002774127125267959,1.5063483024427677e-5,-1.1941373736095969e-8,0.002774204509579759,1.4737530909312808e-5,-1.1488800019336111e-8,0.0027743965548067697,1.43593324733346e-5,-1.0963210259393599e-8,0.0027747034985702353,1.4001351538615448e-5,-1.0464911437262635e-8,0.0027750951364715324,1.3719672259939094e-5,-1.007167416389651e-8,0.002775526051367617,1.3542754928601997e-5,-9.823200461899074e-9,0.0027759503581378433,1.3472044653032601e-5,-9.721903248961207e-9,0.0027763311030684443,1.3489110782461308e-5,-9.742655844025204e-9,0.0027766441055164853,1.356402503429683e-5,-9.84425800476849e-9,0.002776878237542247,1.3662175145885656e-5,-9.978801364369811e-9,0.00277703421910064,1.3749001999510627e-5,-1.0098250340897997e-8,0.002777123145672282,1.3793304300500613e-5,-1.0159108468992627e-8,0.002777165069365021,1.3769948799978488e-5,-1.012627712891473e-8,0.002777187380425079,1.366257139239754e-5,-9.976865115490197e-9,0.002777222427192686,1.3466379006569386e-5,-9.704079704233e-9,0.002777303795784524,1.3190508945819256e-5,-9.32046418862628e-9,0.0027774610887294536,1.285887005615791e-5,-8.859037531642524e-9,0.00277771379236086,1.250829794191475e-5,-8.370757335750319e-9,0.0027780656045215007,1.2183280121571277e-5,-7.917278908180143e-9,0.00277850108054271,1.1927476784055753e-5,-7.559280656595044e-9,0.002778986285044394,1.1773582658743977e-5,-7.3424319327927995e-9,0.0027794741941447932,1.1734065609188585e-5,-7.284473669250357e-9,0.0027799142794985264,1.1795451333347614e-5,-7.367127372081157e-9,0.00278026452821218,1.1918270864807826e-5,-7.535846169209884e-9,0.0027805032458643373,1.204384768123753e-5,-7.709138116829781e-9,0.0027806373209791524,1.2107676158375936e-5,-7.797171506191644e-9,0.002780703452468078,1.2057033090757864e-5,-7.726358310931846e-9,0.002780759925646668,1.186787561236933e-5,-7.46295792291357e-9,0.002780869728653987,1.155427127221588e-5,-7.026249491461181e-9,0.002781080498337681,1.1164946271353642e-5,-6.483757041896363e-9,0.002781409786732128,1.0767143875816982e-5,-5.928845847483083e-9,0.0027818421004138097,1.04248448157659e-5,-5.450501229246064e-9,0.0027823377629871307,1.0181105245430409e-5,-5.10879819574084e-9,0.002782847735319512,1.0050699713777196e-5,-4.924616944992279e-9,0.002783327243787241,1.0022856728953502e-5,-4.883325460734916e-9,0.0027837440651562097,1.0069594711575953e-5,-4.94624874966697e-9,0.0027840812269027786,1.015483206039899e-5,-5.063271670053514e-9,0.0027843360787357524,1.024152532104462e-5,-5.1827770304128115e-9,0.002784517883012557,1.0296305457586499e-5,-5.258162067166841e-9,0.0027846452783812006,1.0292292461840592e-5,-5.251838399917288e-9,0.002784744078074569,1.0211053940810853e-5,-5.138017383006263e-9,0.0027848451722726508,1.004447040455388e-5,-4.905319130341186e-9,0.002784981869337182,9.796760182050914e-6,-4.559563393831464e-9,0.0027851859388087303,9.486172936094592e-6,-4.1260871182282976e-9,0.0027854820195520776,9.145128566965864e-6,-3.649923337373014e-9,0.0027858809685050146,8.817212839408479e-6,-3.1916519447886542e-9,0.002786374004344479,8.549858663854469e-6,-2.8172810988601715e-9,0.002786930516713693,8.38311526590999e-6,-2.5826759770245543e-9,0.0027875021251903167,8.337323332657525e-6,-2.5164033042951878e-9,0.002788033442730153,8.404341144331321e-6,-2.6074358965324996e-9,0.0027884768663511967,8.546587963184419e-6,-2.8036922561923524e-9,0.002788806444515096,8.705359435428541e-6,-3.023511191011914e-9,0.002789025898946628,8.816155454370437e-6,-3.1769693624562517e-9,0.00278916808580964,8.826174280013064e-6,-3.1902919454504053e-9,0.0027892861494492062,8.708654066453408e-6,-3.0259083522581603e-9,0.002789439024007953,8.46996585135858e-6,-2.6924102085292982e-9,0.0027896754169786063,8.14743898998842e-6,-2.2415918566646356e-9,0.002790020989298804,7.798481749683577e-6,-1.7533598997337004e-9,0.0027904727105389194,7.484380983397801e-6,-1.3132102122914294e-9,0.0027910019465777094,7.254182931369871e-6,-9.89761674395551e-10,0.0027915644996498075,7.133899378245067e-6,-8.196308089392246e-10,0.002792113334641582,7.123723332179867e-6,-8.034153427098901e-10,0.0027926094573086616,7.202432983697204e-6,-9.117101623954198e-10,0.002793028233302452,7.335726174669705e-6,-1.0966748720526548e-9,0.0027933609484635524,7.4849003149403414e-6,-1.3041707157630382e-9,0.002793613109513304,7.61360949860106e-6,-1.4832721372423023e-9,0.002793801331699417,7.692125726622039e-6,-1.5923023708007069e-9,0.0027939501157332436,7.699650544928369e-6,-1.602113739190793e-9,0.0027940890449749374,7.62559574208575e-6,-1.4978805430814948e-9,0.0027942502546082484,7.47061613566804e-6,-1.2805101597583769e-9,0.002794465545354246,7.247708832349798e-6,-9.681400023267961e-10,0.0027947623730721393,6.982972729165114e-6,-5.97180208495864e-10,0.002795158293619206,6.714815163187818e-6,-2.2122179168722028e-10,0.0027956544044971682,6.489842552957791e-6,9.465788350054435e-11,0.0027962298905296608,6.353985618709735e-6,2.862426270105938e-10,0.0027968413003591638,6.339329590931643e-6,3.085594249353236e-10,0.002797430023565606,6.450574770211097e-6,1.5483829055035215e-10,0.0027979381407812233,6.657939065789282e-6,-1.33481326751483e-10,0.0027983274370340884,6.9023050870562255e-6,-4.73865860969561e-10,0.0027985929487883057,7.112534229482264e-6,-7.668664513252449e-10,0.0027987644712778367,7.227889781129287e-6,-9.274873085756629e-10,0.002798895846497114,7.215922522318092e-6,-9.102130577481535e-10,0.0027990476214502418,7.07954168609196e-6,-7.189055791823305e-10,0.002799270159329704,6.8528184660678055e-6,-4.0097058487487015e-10,0.0027995921098042825,6.589150394962895e-6,-3.089155205840986e-11,0.0028000160559371254,6.346543838175632e-6,3.10246237176008e-10,0.0028005208861621384,6.174077528739478e-6,5.536306075559972e-10,0.002801069138807742,6.102332622183427e-6,6.561508599671992e-10,0.002801616887775129,6.139228531226112e-6,6.063570042587458e-10,0.0028021235424224794,6.271340195284573e-6,4.227738196672006e-10,0.0028025593261495505,6.469448209654452e-6,1.462323628969768e-10,0.002802909202716053,6.696171451931554e-6,-1.7081556781815749e-10,0.0028031732715659992,6.913472533175175e-6,-4.748902722777455e-10,0.002803364595060627,7.088522312131387e-6,-7.198047146353163e-10,0.002803505761944061,7.197381055746142e-6,-8.718919784335805e-10,0.002803625279954858,7.226791581760613e-6,-9.125259098952547e-10,0.0028037543398572442,7.1748236665111314e-6,-8.389867042693141e-10,0.0028039239008144736,7.051055423278122e-6,-6.646711695244907e-10,0.0028041616337651505,6.8765748079719594e-6,-4.190817695600791e-10,0.0028044880974484863,6.6835013555270844e-6,-1.471822583423747e-10,0.0028049117634366405,6.5130028002482435e-6,9.333211200818222e-11,0.002805423407949294,6.410183518830969e-6,2.391581525590211e-10,0.0028059919682429956,6.414458134729057e-6,2.348761811647254e-10,0.0028065656354558507,6.545964496883274e-6,5.204916047160679e-11,0.0028070820322286597,6.792467980851788e-6,-2.923256812302114e-10,0.0028074875111325586,7.1049452709561795e-6,-7.295484999982558e-10,0.002807758398439204,7.408801568743201e-6,-1.1549479735996095e-9,0.002807912309953183,7.629016879277494e-6,-1.4632184010996237e-9,0.0028080018600268285,7.717209899264664e-6,-1.5864308892715257e-9,0.00280809416469148,7.666574793887121e-6,-1.5149558263742769e-9,0.0028082476851966315,7.509156810078956e-6,-1.293585924107478e-9,0.0028084967768828226,7.300588647517751e-6,-1.0001414868267381e-9,0.002808847262739549,7.101610708252468e-6,-7.196587372359342e-10,0.0028092805508106752,6.9632211202788204e-6,-5.236849754708002e-10,0.0028097620700029556,6.9179843415002716e-6,-4.5813084509820613e-10,0.0028102506436204987,6.977109497128568e-6,-5.3909443895529e-10,0.002810706875116468,7.1318269763759485e-6,-7.546337294862254e-10,0.002811099653827845,7.357649721019065e-6,-1.0705937383009498e-9,0.0028114103186717213,7.620360090645017e-6,-1.4389400470211245e-9,0.0028116342841793644,7.882562522965005e-6,-1.8069960493090511e-9,0.002811780336556491,8.109700436176797e-6,-2.1259981185286337e-9,0.0028118681577567702,8.274759500587497e-6,-2.3578054290919355e-9,0.002811924804212133,8.361260065829955e-6,-2.479149299892737e-9,0.002811980892546883,8.36454527445245e-6,-2.4834224476780367e-9,0.0028120670235339054,8.291786877210306e-6,-2.380638941437992e-9,0.002812210545938763,8.161235186498023e-6,-2.196355734372293e-9,0.0028124324269317093,8.000947582996757e-6,-1.9699141477060387e-9,0.0028127438794841287,7.846806856187975e-6,-1.7517213264542863e-9,0.002813142552806622,7.739137129470781e-6,-1.5985536553676695e-9,0.002813608808015108,7.716755992795095e-6,-1.5652027889490953e-9,0.002814103934259319,7.807540942446503e-6,-1.6911479779159391e-9,0.0028145735374341036,8.016337002635303e-6,-1.9834359406417603e-9,0.0028149593679730016,8.31455967856922e-6,-2.4019489267911616e-9,0.0028152192752681693,8.639495206008205e-6,-2.858393347499628e-9,0.002815347491924279,8.910155826623826e-6,-3.238690313459153e-9,0.0028153820992645705,9.056877288906372e-6,-3.444739279219633e-9,0.0028153917225959865,9.049565373279847e-6,-3.434183721829044e-9,0.0028154478006963196,8.907688181128402e-6,-3.234368005566589e-9,0.0028155987912163055,8.687766600877536e-6,-2.924641731063571e-9,0.002815858796138938,8.458997654451106e-6,-2.6021037702235526e-9,0.0028162112125574854,8.281283974367032e-6,-2.3508457347741356e-9,0.002816620244870729,8.193045999255578e-6,-2.2249439851131193e-9,0.002817043196425516,8.208464494140208e-6,-2.2446042949535775e-9,0.0028174399451113383,8.320583317078408e-6,-2.4004250119473305e-9,0.0028177788955663485,8.506869283546043e-6,-2.661052702041974e-9,0.0028180401266746525,8.735196722855205e-6,-2.9814634943747566e-9,0.002818216618208338,8.969546300902432e-6,-3.3109360361838935e-9,0.0028183139820533165,9.175233421802618e-6,-3.600466281728827e-9,0.0028183488727125663,9.323413400084446e-6,-3.809217986798757e-9,0.0028183463049050498,9.39458305470024e-6,-3.90954465122841e-9,0.0028183361606477814,9.380837778898787e-6,-3.890194719106599e-9,0.002818349263122649,9.286671155840795e-6,-3.757406772881838e-9,0.002818413492033781,9.128333531433483e-6,-3.53396419516556e-9,0.0028185502773691137,8.932029054209705e-6,-3.2566550844126667e-9,0.0028187715560268277,8.731181934898563e-6,-2.972477812164968e-9,0.0028190771735186674,8.562773878565448e-6,-2.7335615331514525e-9,0.002819452811212173,8.462515809163019e-6,-2.5904087552382515e-9,0.0028198689659859892,8.458399189389392e-6,-2.5827732791303527e-9,0.0028202823760493027,8.562461789260582e-6,-2.7279409911836136e-9,0.0028206420530898016,8.76203294867925e-6,-3.0082465413739715e-9,0.0028209016970371353,9.01428419331315e-6,-3.3633026041725225e-9,0.0028210372630595158,9.250300643214355e-6,-3.695772409602383e-9,0.0028210625026776777,9.393515552182452e-6,-3.897503770163006e-9,0.0028210309762700552,9.388841811821506e-6,-3.890735771174717e-9,0.0028210180397079793,9.227581680220804e-6,-3.6632088806019304e-9,0.002821090430482207,8.951597895319539e-6,-3.273910330543877e-9,0.002821281364602508,8.633748034245999e-6,-2.8253997402826636e-9,0.0028215841712364,8.34816387734706e-6,-2.4219756103304343e-9,0.0028219629940235817,8.147536600047868e-6,-2.1378075495426764e-9,0.0028223698510740254,8.054819543764938e-6,-2.0053439921519466e-9,0.002822758897752516,8.06627654451556e-6,-2.0195926662397562e-9,0.0028230947143213737,8.159510301354147e-6,-2.149322407764077e-9,0.0028233554406812823,8.301852148391436e-6,-2.348744115947894e-9,0.00282353282593384,8.45708600749022e-6,-2.5668892800147934e-9,0.002823630975521782,8.590367413029983e-6,-2.754534233626674e-9,0.002823664602469181,8.671985233133684e-6,-2.869577271902303e-9,0.0028236568220320374,8.680413957217215e-6,-2.881448031847007e-9,0.002823636368151626,8.604700974308771e-6,-2.77454826352887e-9,0.00282363417253053,8.446003171394267e-6,-2.55042869198829e-9,0.0028236793809163405,8.217892940976991e-6,-2.2281801649158934e-9,0.0028237951897224314,7.945063459574405e-6,-1.8425677017566835e-9,0.0028239951055245996,7.660380146708828e-6,-1.4398777251617586e-9,0.0028242801645024245,7.40050743300998e-6,-1.0718072754261351e-9,0.0028246375107151937,7.200455492493439e-6,-7.878393942073073e-10,0.002825040666646605,7.087470503711195e-6,-6.266431600801484e-10,0.002825451877475943,7.074723084324243e-6,-6.071044899922806e-10,0.00282582713879414,7.155466286875476e-6,-7.199525343266866e-10,0.0028261246005233435,7.299190176080726e-6,-9.222045847808211e-10,0.00282631625064073,7.452589468357933e-6,-1.138486076576167e-9,0.002826400528199012,7.5487591099507736e-6,-1.2740885116638722e-9,0.002826410104662908,7.52604944408374e-6,-1.2417419852670848e-9,0.0028264072933222306,7.3519489307029926e-6,-9.95445629992879e-10,0.002826464019776748,7.0400481913062265e-6,-5.543990372405558e-10,0.0028266339859106117,6.6478080126638315e-6,2.5428477574195166e-13,0.002826932486316038,6.254009951919073e-6,5.573195548555597e-10,0.002827334926475173,5.928910433440534e-6,1.017639188279871e-9,0.0028277917797869642,5.7135131054699254E-06,1.3232757200131534e-9,0.002828248468891538,5.614983691413445e-6,1.4639603114758254e-9,0.0028286601533812237,5.614073569452187e-6,1.4666632447107474e-9,0.0028289983913868215,5.676607424183315e-6,1.379463686399024e-9,0.002829251626940915,5.763552361016194e-6,1.257411163440545e-9,0.0028294226533315623,5.8378051497912814e-6,1.1529709034080448e-9,0.002829525391442807,5.868127420486881e-6,1.1104318965864509e-9,0.002829581983388046,5.831461400637911e-6,1.162556397104102e-9,0.0028296201636700017,5.714584370675174e-6,1.3281613329217984e-9,0.0028296704970861516,5.515438234757098e-6,1.610201352537694e-9,0.0028297631021037386,5.243980536622576e-6,1.9945855887171813e-9,0.0028299236827314406,4.922012339098648e-6,2.4504737826893106e-9,0.0028301691569658544,4.581263003820374e-6,2.933023335426697e-9,0.0028305037217332307,4.259296600010102e-6,3.3891673170969797e-9,0.002830916459461489,3.993408191619676e-6,3.766190530193445e-9,0.0028313814792820546,3.8133369601973606e-6,4.021977064794002e-9,0.0028318611572783646,3.7341893056990802e-6,4.135010647324168e-9,0.0028323123871055148,3.7511839643312496e-6,4.1118687449955575e-9,0.002832695135207755,3.837639289960757e-6,3.990171251095755e-9,0.0028329821184355144,3.947374265896908e-6,3.835263147375323e-9,0.0028331678013638183,4.02244680576321e-6,3.7292680413861366e-9,0.002833273994081028,4.0063226672806816e-6,3.752376733977591e-9,0.0028333486086335536,3.8605677828823e-6,3.959124752584863e-9,0.0028334548656437477,3.5800588386143807e-6,4.356815088093346e-9,0.0028336519146150165,3.199196575199989e-6,4.896744085319297e-9,0.002833973775156948,2.7832242943678695e-6,5.486528461109836e-9,0.002834417043797699,2.4062456980927005e-6,6.021220646396547e-9,0.002834944056387233,2.1262318186002894e-6,6.418661302859258e-9,0.0028354988875670265,1.969203084860813e-6,6.641874660667108e-9,0.0028360266300474844,1.927913656213458e-6,6.70098348403756e-9,0.0028364871221820765,1.971420933258333e-6,6.639725869469694e-9,0.0028368601012207684,2.0580493155069e-6,6.517137481949485e-9,0.002837143798391918,2.146084523307919e-6,6.392404569592256e-9,0.0028373505649315713,2.200262702481213e-6,6.315634711039505e-9,0.0028375022225614853,2.194747581939334e-6,6.323580516384682e-9,0.002837626278744532,2.1141632193792574e-6,6.438118184879123e-9,0.002837752983195648,1.9539503821470446e-6,6.665710573780227e-9,0.002837912672316925,1.720635357079953e-6,6.997035491702147e-9,0.0028381327625960472,1.4319563558805509e-6,7.406851308263388e-9,0.0028384339774149996,1.1162175023410766e-6,7.85496469067567e-9,0.0028388259645027686,8.098741102245192e-7,8.289678744088075e-9,0.0028393032769971362,5.525056854996284e-7,8.654901931555912e-9,0.002839843390194472,3.791424868007549e-7,8.900980702450035e-9,0.0028404085467517684,3.1124743347196077e-7,8.997452128487504e-9,0.002840952357445899,3.4901622113740223e-7,8.943973785765355e-9,0.002841430295633725,4.68119085106208e-7,8.775000509935415e-9,0.0028418113735728568,6.229385663401742e-7,8.555251582211405e-9,0.0028420874546643236,7.562180083845292e-7,8.366042862071104e-9,0.002842277186103206,8.12928826496597e-7,8.28557717186452e-9,0.0028424229792514757,7.548341939316745e-7,8.368220742089385e-9,0.0028425812098529235,5.718152359385369e-7,8.628388634888865e-9,0.002842807562695609,2.864119988032696e-7,9.034090564959052e-9,0.0028431411958904427,-5.075784686922267e-8,9.513435790152513e-9,0.002843592795816794,-3.745954342178899e-7,9.973922781259542e-9,0.00284414136383234,-6.243541079214667e-7,1.0329162879331443e-8,0.0028447415293055118,-7.608178796241404e-7,1.0523290713005752e-8,0.0028453383289325533,-7.7516339165713e-7,1.0543619193061516e-8,0.0028458829874018483,-6.870431643594794e-7,1.0418002465363624e-8,0.002846343745861855,-5.347045473568402e-7,1.0200845400060194e-8,0.002846709393672464,-3.626758819940621e-7,9.955588339874181e-9,0.0028469868913886353,-2.1168976993434465e-7,9.740321417669294e-9,0.0028471961486281772,-1.1277953739782726e-7,9.5993194186896e-9,0.002847364587199702,-8.507667609072321e-8,9.559858106078426e-9,0.0028475227795878447,-1.357926730672906e-7,9.63217247842041e-9,0.0028477012760148397,-2.6098770439544055e-7,9.810568108142715e-9,0.0028479280799226956,-4.4634904759132186e-7,1.0074568307647262e-8,0.002848226026012085,-6.678989044547163e-7,1.038996413878128e-8,0.002848609485491815,-8.932110104100397e-7,1.0710570698878495e-8,0.0028490803883028048,-1.08421348997412e-6,1.0982211998329638e-8,0.0028496244808374053,-1.2027066912850638e-6,1.1150545368581883e-8,0.0028502098087099434,-1.2189535497820264e-6,1.117325646547346e-8,0.0028507899812964224,-1.1218694346857707e-6,1.1034558640475975e-8,0.0028513137786630493,-9.269848437980516e-7,1.0756559639854864e-8,0.0028517396184371633,-6.772541783626091e-7,1.040045521595228e-8,0.002852049745857075,-4.3383629160081065e-7,1.0053410747715433e-8,0.002852257667938162,-2.588555502582333e-7,9.80397507841194e-9,0.0028524050176591494,-1.966808876808624e-7,9.715373390453078e-9,0.002852549088431962,-2.610733914805113e-7,9.807193562515353e-9,0.002852746181827145,-4.3236107396414083e-7,1.0051389365553414e-8,0.002853036583500799,-6.643300296990387e-7,1.0382115635541902e-8,0.0028534351813685878,-8.975086395893872e-7,1.0714629219647167e-8,0.002853929365115319,-1.0745790729053187e-6,1.096719853065988e-8,0.0028544839144717562,-1.1539281212368752e-6,1.1080391616891132e-8,0.002855051068247713,-1.1181731669905117e-6,1.1029268499031812e-8,0.002855582768565016,-9.75875355579879e-7,1.0825912624788529e-8,0.0028560415652221956,-7.566392276976092e-7,1.051252610395587e-8,0.0028564073406055135,-5.018534207721013e-7,1.0148247915315251e-8,0.002856678785926064,-2.5444286344771827e-7,9.794490668368394e-9,0.002856870524742683,-5.058886026101649e-8,9.503046426891806e-9,0.002857007914873242,8.512852095070961e-8,9.30908662963937e-9,0.0028571215454132087,1.412895044493818e-7,9.22891211852966e-9,0.002857242681589101,1.1896856287060092e-7,9.260923881079643e-9,0.0028573999738171854,3.009713316077348e-8,9.38800232202608e-9,0.0028576170512156747,-1.0428600410014353e-7,9.580041432918065e-9,0.002857910332403342,-2.5568229132032263e-7,9.796312889070212e-9,0.002858286478980994,-3.900984786692505e-7,9.988259642955946e-9,0.002858739364701392,-4.712582429285285e-7,1.0104059717794627e-8,0.00285924729195101,-4.661759280679692e-7,1.0096572400747676e-8,0.002859772355326098,-3.5361998523694726e-7,9.935435750221926e-9,0.0028602647405304277,-1.3415193562808552e-7,9.621442048735044e-9,0.0028606740590430527,1.6248167838119398e-7,9.197139078236257e-9,0.0028609662384943444,4.78853899398024e-7,8.74468806781909e-9,0.002861139063409164,7.44255750862787e-7,8.365236229068475e-9,0.002861226934688806,8.984655386532225e-7,8.144871394043985e-9,0.002861290126468282,9.137233591571715e-7,8.123196247026203e-9,0.0028613933351704225,8.035260371148903e-7,8.280824203979028e-9,0.002861584483698411,6.150660520729815e-7,8.55027050948895e-9,0.0028618827041504077,4.113854839993796e-7,8.841474477305177e-9,0.0028622775767180642,2.524378755512151e-7,9.068802254899132e-9,0.0028627363987564036,1.8135003911035153e-7,9.17060221962431e-9,0.0028632149243848224,2.1781405590917407e-7,9.118624569170666e-9,0.002863668101326738,3.577669060595684e-7,8.918529212376947e-9,0.0028640588395250108,5.775725882547501e-7,8.603998240368662e-9,0.002864363874395403,8.409557603452859e-7,8.226895323903023e-9,0.002864576317683268,1.1070964706719793e-6,7.845700967819764e-9,0.0028647049562361203,1.3383042800297684e-6,7.514484405755572e-9,0.0028647709664122996,1.505912805444349e-6,7.274393180785887e-9,0.0028648031644739605,1.5936658590036488e-6,7.148753085068565e-9,0.0028648329825001757,1.5985844872876452e-6,7.141820831205116e-9,0.0028648901078107145,1.5298597346848266e-6,7.240401923975936e-9,0.0028649992237887115,1.40662889791498e-6,7.417073022953166e-9,0.002865177723667968,1.255395999935133e-6,7.63388684017037e-9,0.002865433962330402,1.1074017364182093e-6,7.84611558047985e-9,0.0028657656359532793,9.9575507730559e-7,8.006322067477023e-9,0.002866158158739561,9.517297115380463e-7,8.069644697438206e-9,0.0028665835690910722,9.99411061201828e-7,8.001485323787432e-9,0.0028670015032235038,1.1483302317519537e-6,7.788115041184415e-9,0.002867364559705957,1.3852827350377053e-6,7.448455109494122e-9,0.0028676299233594852,1.6691386030128764e-6,7.041536345565719e-9,0.0028677759678411305,1.9347439744128324e-6,6.660862146080923e-9,0.0028678167309223023,2.1103546939003207e-6,6.409323306547407e-9,0.0028678034788689843,2.144698261273195e-6,6.3603400593137696e-9,0.0028678078376921227,2.029720577821034e-6,6.525302617003996e-9,0.0028678938191672595,1.8044434865642015e-6,6.8481776203151215e-9,0.002868094666236441,1.5376263800915127e-6,7.230454856236507e-9,0.002868405913933894,1.3009574329347206e-6,7.569539411050057e-9,0.0028687938676968555,1.1474463535309566e-6,7.789602788927635e-9,0.002869210861589051,1.1019524188615657e-6,7.855057338570128e-9,0.002869609334325944,1.1622461307956396e-6,7.769013139741857e-9,0.002869951231852881,1.3057241037395412e-6,7.563711223382599e-9,0.002870212677215331,1.4976923875705954e-6,7.288744102079043e-9,0.002870385194690064,1.699062535904297e-6,7.000097817318875e-9,0.002870474725317542,1.8727935944983242e-6,6.75093165594071e-9,0.002870499135165648,1.988954290042755e-6,6.584275013804583e-9,0.00287048464138741,2.0282382639665136e-6,6.527917653518532e-9,0.0028704616140799583,1.9837809533528225e-6,6.5917562221991524E-09,0.0028704602549171655,1.8612665906276216e-6,6.767640226165102e-9,0.002870506668811975,1.6774673462495774e-6,7.031500508441279e-9,0.0028706197689758587,1.457604560662817e-6,7.34716419913411e-9,0.0028708091655566463,1.2320673332684813e-6,7.671058717135242e-9,0.0028710739127016565,1.0328358362055718e-6,7.957305852913069e-9,0.0028714019528153388,8.896734068155328e-7,8.163146833604354e-9,0.0028717702214416355,8.259448522978371e-7,8.254940922690583e-9,0.0028721457505871515,8.537612288983449e-7,8.215181934479207e-9,0.0028724887943640687,9.684630238408015e-7,8.050494120702066e-9,0.0028727594429303256,1.1436800035455436e-6,7.798780069504199e-9,0.0028729285817180555,1.3300651297795598e-6,7.531028042365649e-9,0.0028729915695690435,1.462263368762386e-6,7.341218977444032e-9,0.002872978448805743,1.4772429274966988e-6,7.3198920236120235e-9,0.002872951252863827,1.339998687991839e-6,7.517195289934864e-9,0.0028729836176172785,1.0630678713911078e-6,7.914951705548082e-9,0.0028731308183241877,7.051695488262558e-7,8.42876029911416e-9,0.0028734078884947605,3.473260311513201e-7,8.942348496380804e-9,0.0028737882087745852,6.114666054513867e-8,9.353047158655345e-9,0.002874219668384876,-1.1272126322969022e-7,9.602619303010073e-9,0.0028746456433421104,-1.6888577001482716e-7,9.683354937474298e-9,0.002875020314855133,-1.291094150016922e-7,9.626438926383505e-9,0.00287531548780091,-3.018828501717634e-8,9.484597230108128e-9,0.0028755210579180877,8.668647485398011e-8,9.31689120875924e-9,0.0028756422882183752,1.8328829012502568e-7,9.178200849892443e-9,0.002875696134402279,2.288312141503027e-7,9.112800066087184e-9,0.002875707547399061,2.025805089596482e-7,9.150562494597015e-9,0.002875705846174958,9.52630333672185e-8,9.304873938120105e-9,0.0028757210926035038,-9.052120703341189e-8,9.57200496741452e-9,0.0028757804866157105,-3.4091383411167794e-7,9.932003851136088e-9,0.002875904942563708,-6.325855214179894e-7,1.035130470799866e-8,0.0028761062305016523,-9.357358663929467e-7,1.0787070613173603e-8,0.002876385114451254,-1.2180331505464313e-6,1.1192851470911072e-8,0.002876730724811969,-1.4490859095561661e-6,1.1524975361779462e-8,0.002877121258656621,-1.6050876840491572e-6,1.174919121731711e-8,0.002877526072604426,-1.6732673197605107e-6,1.1847070930135468e-8,0.0028779092664162932,-1.6557908710847165e-6,1.1821668584018685e-8,0.0028782350578963945,-1.5726563757144414e-6,1.1701746720225946e-8,0.002878475324870978,-1.4624372605699738e-6,1.1542873713258664e-8,0.0028786189483200725,-1.3787231489666856e-6,1.1422265207849368e-8,0.002878680701003052,-1.3798468481290254e-6,1.1423915368175761e-8,0.002878704787159146,-1.5113471987390404e-6,1.1613291349036044e-8,0.002878756903957089,-1.785757177929549e-6,1.2008265758302951e-8,0.002878902862502164,-2.1705939820080316e-6,1.2561939708202041e-8,0.0028791817969540797,-2.5954920375929927e-6,1.3173007501556022e-8,0.002879589402551466,-2.9784185508799e-6,1.3723483959784089e-8,0.0028800817252932734,-3.2567032182663314e-6,1.4123284543802338e-8,0.0028805956227206074,-3.4055518723271702e-6,1.4336808076009957e-8,0.00288107208392016,-3.4376003397330977e-6,1.4382284035630344e-8,0.0028814710783001875,-3.3898579305011365e-6,1.43129954824349e-8,0.0028817755563885373,-3.3082580675083343e-6,1.4195060433588716e-8,0.002881988308033612,-3.2361154678533363e-6,1.4090836012607044e-8,0.0028821262129773463,-3.207791533507497e-6,1.4049812193983022e-8,0.0028822147082530657,-3.246215519180097e-6,1.4105033781258338e-8,0.0028822834027905776,-3.36241780936278e-6,1.4272395487930903e-8,0.002882362616150177,-3.5558741422002764e-6,1.4551103140709693e-8,0.0028824803465096684,-3.815258525621979e-6,1.4924750790070064e-8,0.002882659335415783,-4.119686711663455e-6,1.5363142882474208e-8,0.0028829141547347752,-4.440809412356523e-6,1.5825359058537653e-8,0.0028832486380844327,-4.746136382797398e-6,1.626457640078978e-8,0.0028836543274357697,-5.003595714935634e-6,1.6634632356475022e-8,0.0028841105948802857,-5.186858658952929e-6,1.6897660746955784e-8,0.0028845868380229104,-5.280659678729527e-6,1.703172244416492e-8,0.0028850468268388713,-5.285119178421869e-6,1.703703042675255e-8,0.0028854548808014517,-5.2180136555174015e-6,1.693924927655556e-8,0.00288578318588404,-5.1141539701945615e-6,1.678862920440044e-8,0.0028860192930803964,-5.021207939658294e-6,1.6653980349342108e-8,0.0028861723562649236,-4.991365507388845e-6,1.6610608238690897e-8,0.0028862757956466495,-5.06888921218822e-6,1.6722303008240677e-8,0.0028863833910300974,-5.2754810860775145e-6,1.7020219754766915e-8,0.002886556622110814,-5.598336802918629e-6,1.7485702072118628e-8,0.0028868448006271175,-5.988001271290007e-6,1.804727106737048e-8,0.0028872654738177545,-6.371171534302883e-6,1.8599132347397268e-8,0.002887795844354059,-6.675623117016277e-6,1.903710691825924e-8,0.0028883812762736244,-6.855447025490349e-6,1.9295003604406827e-8,0.0028889563468819752,-6.903610854021034e-6,1.9362747686658358e-8,0.0028894665800328696,-6.847559620219423e-6,1.9280059028761153e-8,0.0028898810668172878,-6.734011844686922e-6,1.911450684067196e-8,0.0028901940052642504,-6.612662324206851e-6,1.893795127279494e-8,0.0028904191547270935,-6.524988204859821e-6,1.881034874825922e-8,0.002890582222841485,-6.4992181867616665e-6,1.8772471855239283e-8,0.0028907142743236822,-6.549601240706169e-6,1.8844849350322546e-8,0.0028908470537224477,-6.677663335062472e-6,1.9029580088897277e-8,0.0028910098168515577,-6.87394958687946e-6,1.9312855656179486e-8,0.0028912269035187145,-7.1197167658875545e-6,1.966742957177217e-8,0.0028915154465618195,-7.388703555439692e-6,2.0055217248474415e-8,0.002891882983346302,-7.649501334948221e-6,2.0430764834169687e-8,0.002892325261621495,-7.869140909601243e-6,2.0746451553512368e-8,0.002892825069667161,-8.018140622490618e-6,2.095977025193972e-8,0.0028933531569161294,-8.0765493987099e-6,2.1042023401707183e-8,0.0028938720607829473,-8.039749741569616e-6,2.0986676926427616e-8,0.002894342905333149,-7.92219781746215e-6,2.081475472290096e-8,0.0028947341280570267,-7.757261613370963e-6,2.0574609101836252e-8,0.0028950300744023127,-7.592178937176516e-6,2.033462657209387e-8,0.0028952370056188714,-7.47855706718128e-6,2.0169463592427875e-8,0.0028953844081573035,-7.460137255342665e-6,2.0142316838205095e-8,0.00289552034348127,-7.560525475110968e-6,2.0287169809216575e-8,0.0028957008077851775,-7.774273461944861e-6,2.0595931401456922e-8,0.0028959747760086865,-8.06484752748952e-6,2.1015565228355683e-8,0.0028963687909720668,-8.37202856618837e-6,2.1458840848969644e-8,0.002896876822197008,-8.628384556733143e-6,2.1828161536226112e-8,0.002897460687328443,-8.779917072525279e-6,2.2045408873836965e-8,0.0028980621551318326,-8.802502597728348e-6,2.207573173944743e-8,0.002898621746734977,-8.706920074860234e-6,2.1934852495291796e-8,0.0028990957821008693,-8.531279911183452e-6,2.1678125082780306e-8,0.002899465167343782,-8.326114196731398e-6,2.137891611386844e-8,0.0028997348041497496,-8.13959047569529e-6,2.110712912790612e-8,0.002899926963249216,-8.007836040779991e-6,2.091513975889782e-8,0.002900073067994656,-7.951291908204955e-6,2.0832502054918495e-8,0.002900206831484279,-7.975306429587075e-6,2.0866828269500727e-8,0.002900359629928538,-8.072622529241776e-6,2.1007425546019428e-8,0.0029005576921144888,-8.226159990315293e-6,2.1229360644075667e-8,0.0029008202589749987,-8.411462892954981e-6,2.1497037476612273e-8,0.0029011579526491515,-8.59892006014462e-6,2.176744153154923e-8,0.0029015709907129882,-8.756361710375036e-6,2.1993920303424827e-8,0.002902047505571332,-8.85279154909494e-6,2.2131593765595492e-8,0.0029025628872768883,-8.863671727157463e-6,2.2145000075912374e-8,0.0029030815052825793,-8.777345014016352e-6,2.2017385091665053e-8,0.0029035620496829224,-8.600986341434939e-6,2.175931513310784e-8,0.002903966637114285,-8.363362576374002e-6,2.141266869690318e-8,0.0029042717781266334,-8.111634884846253e-6,2.1045980547935134e-8,0.002904477372654277,-7.901280532790563e-6,2.073978444425112e-8,0.002904609628244343,-7.781372369153714e-6,2.0565217145761693e-8,0.002904715791276944,-7.780057503835996e-6,2.056294239996993e-8,0.0029048518634546975,-7.895457374774159e-6,2.0729997122619613e-8,0.0029050672122561154,-8.095212921731798e-6,2.1019213111936452e-8,0.0029053908949938285,-8.324795261790677e-6,2.1351336711916632e-8,0.002905823673533291,-8.52201545814966e-6,2.1636089845854755e-8,0.0029063379482547036,-8.63355664871243e-6,2.1796127132877224e-8,0.00290688567731947,-8.628754999473182e-6,2.178700899956975e-8,0.002907411886688896,-8.506448804640417e-6,2.1607149038605026e-8,0.002907869313118284,-8.29292031099503e-6,2.1294847433827952e-8,0.002908229337953015,-8.032291094367549e-6,2.0914343210019756e-8,0.002908486197412823,-7.773494661513888e-6,2.0536855496935417e-8,0.0029086544808403334,-7.5585686559262325e-6,2.0223523711567358e-8,0.0029087623904295403,-7.415402414785589e-6,2.001484051067057e-8,0.002908843981353781,-7.35553482324306e-6,1.9927459583560743e-8,0.002908932726752054,-7.375649943051864e-6,1.9956406208574644e-8,0.0029090572536835126,-7.460809532075294e-6,2.0079817615799907e-8,0.002909238952715364,-7.5879228762615555e-6,2.0264014865399943e-8,0.0029094906884145105,-7.728775534689363e-6,2.0467914700593435e-8,0.0029098158523242937,-7.852662044244406e-6,2.064685157630933e-8,0.002910207338650096,-7.929175550194102e-6,2.0756624253538985e-8,0.0029106466203267355,-7.931911576665453e-6,2.0758877958416994e-8,0.002911103814377557,-7.843588459108618e-6,2.062855490190973e-8,0.0029115402023730556,-7.66224497593975e-6,2.0362916420013977e-8,0.002911914696322001,-7.406730952055019e-6,1.998953139422466e-8,0.0029121945161994208,-7.118129171687856e-6,1.9568325801371748e-8,0.0029123675377467186,-6.853478439441242e-6,1.918239985768633e-8,0.002912450734123804,-6.670885447814342e-6,1.8916298524169225e-8,0.002912488859188778,-6.610394269086291e-6,1.88281387438807e-8,0.0029125417695362995,-6.679120462312963e-6,1.8928018749465943e-8,0.0029126652147423104,-6.848070988212437e-6,1.9173497757355166e-8,0.0029128935517388484,-7.061935206702308e-6,1.9483944368025575e-8,0.002913231037578079,-7.256695642236208e-6,1.9766193972595816e-8,0.0029136533209005457,-7.377571585707302e-6,1.9940619511564884e-8,0.0029141165252539614,-7.391701575272796e-6,1.9959524190801965e-8,0.0029145697689046887,-7.293322714917477e-6,1.981463990082668e-8,0.0029149673788549375,-7.1018310443380406e-6,1.953430007430907e-8,0.002915278149714961,-6.8545563898393026e-6,1.9172935518929185e-8,0.002915490151865234,-6.596725101954491e-6,1.8796465187354656e-8,0.0029156107375936115,-6.371248850546456e-6,1.846741356078346e-8,0.002915662539790091,-6.210673245514143e-6,1.8233164243708407e-8,0.0029156771594396804,-6.1327104522359935e-6,1.8119444504375368e-8,0.002915688499493966,-6.139498762978267e-6,1.812926086634637e-8,0.0029157272510905927,-6.219687203803143e-6,1.824596696099231e-8,0.0029158172217261446,-6.3520114728173305e-6,1.843850247261238e-8,0.002915973412501954,-6.5091582694995025e-6,1.8667034188020637e-8,0.0029162012640837876,-6.6612268782975755e-6,1.888798608393158e-8,0.0029164964235661433,-6.778735787311186e-6,1.9058396783844645e-8,0.002916844658644618,-6.835584702079287e-6,1.91402221340199e-8,0.0029172220097263466,-6.812552966048134e-6,1.910544630322981e-8,0.002917595884444303,-6.7017614420562816e-6,1.8942618913472558e-8,0.002917928412307093,-6.511815863831633e-6,1.8664385893287575e-8,0.00291818347875855,-6.2719153866716e-6,1.8313480562819844e-8,0.002918337682433519,-6.031490122748525e-6,1.7962147335797165e-8,0.002918392453911434,-5.8514246809711895e-6,1.7699255420367632e-8,0.0029183808220965175,-5.785913109725185e-6,1.760375851831056e-8,0.002918361694896576,-5.860827931022856e-6,1.7713146738291097e-8,0.0029184005478205227,-6.060277614749884e-6,1.8003943123245615e-8,0.0029185450818061424,-6.330635628385983e-6,1.8397723097046376e-8,0.002918808813042895,-6.6005652769916755e-6,1.8790403319492904e-8,0.002919169951357401,-6.805733183674234e-6,1.908827114831872e-8,0.0029195829508730235,-6.906435273516535e-6,1.92336174657321e-8,0.002919994648581057,-6.893430674434389e-6,1.9213166424777753e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_2.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_2.json new file mode 100644 index 000000000..7805bb3bf --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_2.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":2000,"numberOfSamples":1000,"samples":[-0.0019226433452019043,-4.2400202047522655e-5,-4.847209139509104e-8,-0.0019224915279308452,-4.232138293995991e-5,-4.839917575682174e-8,-0.0019223575599970867,-4.2339533342532786e-5,-4.841941987929699e-8,-0.0019221925201880694,-4.2455757141232014e-5,-4.853500256368106e-8,-0.0019219535221161883,-4.264378690983704e-5,-4.87214377132331e-8,-0.0019216173050324704,-4.285653639574512e-5,-4.893368444013015e-8,-0.0019211878632388768,-4.304035090341533e-5,-4.911986351109583e-8,-0.0019206944269591652,-4.3151566455827686e-5,-4.923733483565604e-8,-0.001920180782153211,-4.316840557061996e-5,-4.9264336921476375e-8,-0.0019196912154135558,-4.3093903838697776e-5,-4.920299044056076e-8,-0.001919259170950511,-4.2950548434361e-5,-4.9074301884897993e-8,-0.0019189019210674083,-4.277089886837732e-5,-4.8909249976046343e-8,-0.0019186208521778832,-4.258868047478004e-5,-4.8740241599705884e-8,-0.001918404926768647,-4.243272605567538e-5,-4.859521792579728e-8,-0.0019182349450095773,-4.2323928794774185e-5,-4.849461482060666e-8,-0.0019180872700253946,-4.2274266862589164E-05,-4.8450338629402915e-8,-0.001917936666180632,-4.228680533004299e-5,-4.846574052979398e-8,-0.00191775854316843,-4.2355896173164964e-5,-4.8535824807684226e-8,-0.0019175311877270766,-4.246735024004276e-5,-4.864742159638906e-8,-0.0019172384671460499,-4.25989290061144e-5,-4.877961167038227e-8,-0.0019168730864799963,-4.2721876682799584e-5,-4.890508625070886e-8,-0.0019164398837302117,-4.280432151427329e-5,-4.8993279677066866e-8,-0.0019159579014177714,-4.281706315274191e-5,-4.901583883335078e-8,-0.0019154594243000278,-4.27412144250086e-5,-4.8953968414289994e-8,-0.001914984557283099,-4.2575562469439085e-5,-4.880561552483321e-8,-0.0019145716125768752,-4.234039279521026e-5,-4.858934382627422e-8,-0.0019142459086730812,-4.207501807745824e-5,-4.834220694952108e-8,-0.0019140111182697102,-4.1828569489815494e-5,-4.811113500434928e-8,-0.0019138468399848853,-4.1646650455964184e-5,-4.794024685992306e-8,-0.0019137136475314569,-4.155842585264431e-5,-4.785840090516636e-8,-0.0019135639168575628,-4.156847538008292e-5,-4.787112479174571e-8,-0.001913354878178476,-4.165575436672902e-5,-4.795925785880041e-8,-0.001913060039736298,-4.1779660100407035e-5,-4.808445425303678e-8,-0.0019126758326174886,-4.189128905126362e-5,-4.8199834042895305e-8,-0.0019122216639617473,-4.194655693717889e-5,-4.8262624541360104e-8,-0.0019117335388331718,-4.191721880810053e-5,-4.8244930247959284e-8,-0.0019112535774869718,-4.17965282482666e-5,-4.8139407883790543e-8,-0.0019108191058004997,-4.159831661316574e-5,-4.795859671838348e-8,-0.001910454761111615,-4.13507805095086e-5,-4.7729094163578805e-8,-0.0019101693588310655,-4.108797784158734e-5,-4.74834365018481e-8,-0.0019099571113809235,-4.084210928294797e-5,-4.725264424568893e-8,-0.0019098014051956349,-4.06383521782112e-5,-4.706116300989979e-8,-0.001909679232807439,-4.049244367589526e-5,-4.6924445600308274e-8,-0.0019095650792493577,-4.041027304587661e-5,-4.684851156054176e-8,-0.0019094338706790138,-4.038850509596943e-5,-4.6830551880131895e-8,-0.0019092631960406178,-4.041545998091156e-5,-4.685979719885473e-8,-0.0019090353342274217,-4.0471961726856714e-5,-4.691831881589462e-8,-0.0019087395911655302,-4.053242839868951e-5,-4.698199191766588e-8,-0.0019083750969175394,-4.0566889485238066e-5,-4.7022295836454817e-8,-0.0019079535950202848,-4.05448090409642e-5,-4.7009857068801336e-8,-0.0019075008929219535,-4.0441352326518995e-5,-4.692041592595363e-8,-0.0019070548602137859,-4.024557340002766e-5,-4.674274417153859e-8,-0.0019066581194424014,-3.996789525520936e-5,-4.648596905336088e-8,-0.0019063458229643833,-3.964246667720178e-5,-4.618202616974119e-8,-0.001906132593687367,-3.932066250072738e-5,-4.5879631296205274e-8,-0.001906005112413036,-3.9056140911694693e-5,-4.563013841888741e-8,-0.0019059250849624966,-3.888725831245831e-5,-4.547077730150599e-8,-0.0019058418160187416,-3.882488208844757e-5,-4.541289156609024e-8,-0.0019057084893034362,-3.885058262649113e-5,-4.5439933455113804e-8,-0.0019054953071705263,-3.892448678948119e-5,-4.551462448108332e-8,-0.0019051956015066044,-3.899818092129441e-5,-4.559102248754266e-8,-0.001904824751066378,-3.902764552633575e-5,-4.562680789434229e-8,-0.0019044139453100216,-3.898286178877979e-5,-4.5592592314242095e-8,-0.0019040014133682513,-3.8852641286461894e-5,-4.547679044559279e-8,-0.0019036234930003598,-3.864464423892581e-5,-4.5285911009026024e-8,-0.0019033074182967,-3.838144973804248e-5,-4.504099501526467e-8,-0.0019030670807785748,-3.809414814477403e-5,-4.477156044224583e-8,-0.0019029021776647626,-3.7815292683842436e-5,-4.4508817510060506e-8,-0.001902800227035411,-3.757290803529455e-5,-4.427982585191298e-8,-0.0019027403062597105,-3.738655521525043e-5,-4.410361508352597e-8,-0.0019026972766109718,-3.726562021454014e-5,-4.3989482282936625e-8,-0.0019026455605967178,-3.720939282853564e-5,-4.393706825168861e-8,-0.001902562049494492,-3.720819681311018e-5,-4.393747898583925e-8,-0.0019024282429587474,-3.7244887169539354e-5,-4.397474157144386e-8,-0.0019022320167928473,-3.7296417780327447e-5,-4.402726172840666e-8,-0.0019019694121183246,-3.733563521997301e-5,-4.406942025345132e-8,-0.0019016466101295054,-3.7333817380047615e-5,-4.4073850286943826e-8,-0.001901281721675244,-3.72647279533573e-5,-4.401521158739995e-8,-0.0019009051492186858,-3.7110772537172744e-5,-4.387608872624823e-8,-0.0019005564761927897,-3.687070357499274e-5,-4.365449081610721e-8,-0.0019002760006965934,-3.656614621766662e-5,-4.3370288285066725e-8,-0.0019000913323042824,-3.624205466668279e-5,-4.306583828633659e-8,-0.0019000039601944792,-3.5956706816941076e-5,-4.279656932567122e-8,-0.0018999840816792122,-3.576226105855051e-5,-4.261250079410351e-8,-0.0018999792883793371,-3.568461104514584e-5,-4.253901137884262e-8,-0.001899933981398471,-3.5713853399087564e-5,-4.2567602344540055e-8,-0.0018998090711157681,-3.581022732657273e-5,-4.266128735242672e-8,-0.0018995924498515157,-3.5920529128532807E-05,-4.27699363285063e-8,-0.0018992979805863262,-3.599552540735251e-5,-4.284667515898346e-8,-0.001898956996465333,-3.60016505232314e-5,-4.2859033641491364e-8,-0.0018986077115788766,-3.5925404995038095e-5,-4.2793327231141533e-8,-0.0018982861274868695,-3.5772115322624845e-5,-4.2653762704726326e-8,-0.0018980197803509253,-3.556151123416992e-5,-4.245848237196928e-8,-0.0018978243192027849,-3.532201505409536e-5,-4.2234258129154944e-8,-0.0018977025183165013,-3.5084842908056075e-5,-4.201085903922587e-8,-0.001897645338891351,-3.487865622253372e-5,-4.181584089370757e-8,-0.001897634548299051,-3.472539749417785e-5,-4.1670438822720854e-8,-0.0018976462592206278,-3.4637684651986404E-05,-4.158699002545304e-8,-0.0018976547528813345,-3.461783260192269e-5,-4.156798431104482e-8,-0.0018976360025567379,-3.465835456450116e-5,-4.160658512785339e-8,-0.0018975704668702292,-3.474353699435762e-5,-4.168818028849286e-8,-0.0018974450856599756,-3.485154582856132e-5,-4.179238643199875e-8,-0.0018972547032642363,-3.4956750270050015e-5,-4.189517808310863e-8,-0.0018970031462578617,-3.5032293373468896e-5,-4.1971187462921197e-8,-0.001896704041121835,-3.5053177068163955e-5,-4.199649895495414e-8,-0.0018963811064912409,-3.500033872352196e-5,-4.195247884233675e-8,-0.0018960669388229457,-3.486606242620335e-5,-4.183101890714069e-8,-0.0018957986732221059,-3.466005594878666e-5,-4.1640536726904226e-8,-0.0018956091571617987,-3.441367338006517e-5,-4.141024300465335e-8,-0.0018955143084655717,-3.417789714991304e-5,-4.11883959487616e-8,-0.0018955015199407235,-3.401103934461799e-5,-4.103064766105313e-8,-0.0018955276091062383,-3.395751831846302e-5,-4.097979506922786e-8,-0.0018955320612609062,-3.4027724788744977e-5,-4.104650552871127e-8,-0.001895460925824634,-3.419213691026499e-5,-4.120354608540807e-8,-0.0018952876637236959,-3.439431347479264e-5,-4.139792350116541e-8,-0.0018950194973305701,-3.4574094187676726e-5,-4.157273141268476e-8,-0.00189468901820827,-3.468727701743215e-5,-4.168573954249668e-8,-0.0018943393648524587,-3.471417304124221e-5,-4.171758103848185e-8,-0.001894011175966523,-3.4658126432902484e-5,-4.1670568510380554e-8,-0.0018937347654549707,-3.4538913747532676e-5,-4.156270803527193e-8,-0.0018935271586108895,-3.438520384909261e-5,-4.1420753571334326e-8,-0.0018933922404869188,-3.4228171385826936e-5,-4.127420869753851e-8,-0.0018933224519850319,-3.409667569558539e-5,-4.115067186901395e-8,-0.001893301244193991,-3.40137190510597e-5,-4.10723266568858e-8,-0.0018933060255165923,-3.399399788202456e-5,-4.105348708812609e-8,-0.0018933114133081418,-3.404253904550354e-5,-4.109924608197351e-8,-0.0018932925837213562,-3.415443233452324e-5,-4.120524021833533e-8,-0.0018932284621856921,-3.431570348176952e-5,-4.135853030487643e-8,-0.001893104383091029,-3.4505267334039883e-5,-4.1539480078514925e-8,-0.00189291393259836,-3.469764551964496e-5,-4.172428673891212e-8,-0.0018926599383916741,-3.486610463956082e-5,-4.188783776156979e-8,-0.0018923546511316431,-3.498605241766292e-5,-4.2006785198344876e-8,-0.001892019101621626,-3.5038631408074926e-5,-4.206286015466167e-8,-0.0018916814855736094,-3.5014534367428806e-5,-4.204652314564249e-8,-0.001891374040852943,-3.491799599962725e-5,-4.196092987201902e-8,-0.0018911275262606326,-3.477018738663742e-5,-4.182542386637248e-8,-0.0018909628356181614,-3.460994197225293e-5,-4.167647877700423e-8,-0.0018908809794151223,-3.448870510773402e-5,-4.1563025636714426e-8,-0.001890855680381783,-3.4457266426274074e-5,-4.1533801407386716e-8,-0.0018908353879217353,-3.454621539121781e-5,-4.1618610494880996e-8,-0.0018907590601062614,-3.474930510512576e-5,-4.1812322746267864e-8,-0.0018905806559135173,-3.502183484605819e-5,-4.2073175486873276e-8,-0.0018902883688857062,-3.529801938551741e-5,-4.233914044230188e-8,-0.0018899068551920142,-3.551742428610809e-5,-4.255290749642152e-8,-0.001889483249018912,-3.564481602849056e-5,-4.268065997382881e-8,-0.0018890679245541686,-3.567523527632135e-5,-4.2716955210695495e-8,-0.00188870032072965,-3.562727788606181e-5,-4.267856906938492e-8,-0.0018884030745074487,-3.5532202829357725e-5,-4.2594437460528625e-8,-0.0018881823723488097,-3.54243921208098e-5,-4.2496795451858114e-8,-0.0018880312102406572,-3.533504994855418e-5,-4.2415230301185514e-8,-0.0018879332139387782,-3.5288747014991394e-5,-4.237330143238159e-8,-0.0018878660597741292,-3.5301680267534746e-5,-4.23867434249854e-8,-0.001887804493950075,-3.5380813257388804e-5,-4.246254511061698e-8,-0.0018877231921547025,-3.552361030820859e-5,-4.259866804167272e-8,-0.0018875996014664324,-3.5718391160070784e-5,-4.278440830777563e-8,-0.0018874167566322304,-3.594551788242534e-5,-4.300154835611885e-8,-0.0018871657927251448,-3.617965687985636e-5,-4.322647911791066e-8,-0.0018868476636197298,-3.639308212496223e-5,-4.3433238917490384e-8,-0.0018864736576865142,-3.655967876258171e-5,-4.359717299143751e-8,-0.0018860644895497603,-3.66591992046944e-5,-4.369885112248462e-8,-0.0018856478855353213,-3.668124668546799e-5,-4.37278181581545e-8,-0.0018852547440176993,-3.6628421846668554e-5,-4.3685686879638724e-8,-0.0018849140165977931,-3.651813115392309e-5,-4.358808695279573e-8,-0.0018846464338938206,-3.638236555382138e-5,-4.346473580791103e-8,-0.0018844576056432885,-3.6264235942699986e-5,-4.3356365793623564e-8,-0.0018843321784880178,-3.6209913884206997e-5,-4.3307130103906174e-8,-0.0018842322632395324,-3.625576306513159e-5,-4.335226126403655e-8,-0.0018841040436168481,-3.641349949400654e-5,-4.350374571050373e-8,-0.0018838940566287233,-3.6660400894427665e-5,-4.374080127460915e-8,-0.001883570085252579,-3.694276386559895e-5,-4.401301964778491e-8,-0.001883135475562002,-3.7194520085842316e-5,-4.425796870583932e-8,-0.001882627578444282,-3.73621475032825e-5,-4.442477583414205e-8,-0.0018821014403124572,-3.742201299485457e-5,-4.4490542846202025e-8,-0.001881609313986513,-3.7382507458315104e-5,-4.4462439215216833e-8,-0.0018811865907120172,-3.7274116019286886e-5,-4.436849914685254e-8,-0.001880847632416261,-3.713591350573811e-5,-4.424508395808057e-8,-0.00188058871037337,-3.7004918805228556e-5,-4.4126962304448526e-8,-0.0018803936614843618,-3.691021781204701e-5,-4.4041748300567786e-8,-0.0018802392951189633,-3.6870851790922326e-5,-4.400778710220607e-8,-0.0018800994849178696,-3.68957089255605e-5,-4.40339130327419e-8,-0.0018799481169941405,-3.698411204251374e-5,-4.411991825255021e-8,-0.0018797614670353787,-3.7126553405316096e-5,-4.425722892864331e-8,-0.0018795204776576248,-3.730559347706619e-5,-4.442976975442706e-8,-0.0018792131464299988,-3.749729428555327e-5,-4.46153152223929e-8,-0.0018788368365865878,-3.7673694011914794e-5,-4.4787772369335294e-8,-0.0018783998781203336,-3.780658890837698e-5,-4.492065092723705e-8,-0.0018779216417479986,-3.787236867220032e-5,-4.4991520603290696e-8,-0.0018774304478634798,-3.785712894848209e-5,-4.4986782858554793e-8,-0.001876959132956837,-3.776087580238688e-5,-4.490568783170876e-8,-0.001876538772816988,-3.759950843431477e-5,-4.476237298058196e-8,-0.0018761917084975216,-3.740363503756282e-5,-4.458499652618009e-8,-0.0018759253154816227,-3.721393836510612e-5,-4.441161416080866e-8,-0.0018757279816746558,-3.7073377257336396e-5,-4.4282962063134714e-8,-0.0018755687920489152,-3.701708377818567e-5,-4.4232881827984826e-8,-0.0018754023218197238,-3.706175871807319e-5,-4.427809041286009e-8,-0.0018751791516401983,-3.71976903316632e-5,-4.4410338519050925e-8,-0.0018748606150037481,-3.738752598197328e-5,-4.4594994984169714e-8,-0.0018744330348925565,-3.7574982787928245E-05,-4.47791613026569e-8,-0.0018739145177022712,-3.770239276914684e-5,-4.490826020461936e-8,-0.0018733495373167643,-3.773009490362128e-5,-4.4944415378813574e-8,-0.0018727931908080317,-3.764831441568e-5,-4.487773977743384e-8,-0.0018722931442570632,-3.7476441825173546e-5,-4.472576455407728e-8,-0.0018718776143170825,-3.72522449686114e-5,-4.452343076403651e-8,-0.0018715526178116695,-3.701813258333055e-5,-4.431030817274317e-8,-0.0018713062231411261,-3.681055615655657e-5,-4.4120686585272034e-8,-0.001871115468151383,-3.665468354723957e-5,-4.397851191896047e-8,-0.001870952694577932,-3.6563328602725056e-5,-4.389625440586987e-8,-0.0018707900517583916,-3.653811265418476e-5,-4.3875885637797216e-8,-0.0018706023334060244,-3.6571255822349916e-5,-4.391050608580251e-8,-0.0018703688700737859,-3.664722159578986e-5,-4.398588937722728e-8,-0.0018700751930006965,-3.6744157938658e-5,-4.408184554328447e-8,-0.0018697148769254426,-3.683557666976917e-5,-4.4173775089313205e-8,-0.0018692914772034106,-3.6892936200826666e-5,-4.423502611041501e-8,-0.0018688199023591616,-3.688965083963331e-5,-4.424057092448585e-8,-0.0018683261082645549,-3.680648604854699e-5,-4.4172010900809014e-8,-0.0018678439684996118,-3.663736658049673e-5,-4.4023038613393244e-8,-0.0018674088734324848,-3.639364723333976e-5,-4.3803546879327065e-8,-0.0018670490319146785,-3.610454803253589e-5,-4.354021989210011e-8,-0.001866776960604691,-3.581233195531623e-5,-4.327223113044107e-8,-0.0018665842545617494,-3.556274227869284e-5,-4.304246095848443e-8,-0.0018664419014308188,-3.539322985208859e-5,-4.2886518844144926e-8,-0.001866306540510951,-3.532250177755452e-5,-4.282282625286369e-8,-0.0018661311596336301,-3.5344543323723834e-5,-4.284673828172474e-8,-0.0018658774885188531,-3.542898898557433e-5,-4.293057236042494e-8,-0.0018655268253949977,-3.55281941668765e-5,-4.303001094315354e-8,-0.0018650860333417425,-3.55896847358241e-5,-4.309572055327366e-8,-0.0018645862558132557,-3.557072469934887e-5,-4.3087114771064386e-8,-0.001864074064290464,-3.54502290003869e-5,-4.298370377047688e-8,-0.0018635978679334747,-3.523359331224885e-5,-4.278980205390345e-8,-0.0018631947076426666,-3.494883476042089e-5,-4.2531058883068645e-8,-0.0018628822307316867,-3.4636347734627516E-05,-4.224496475448857e-8,-0.0018626577466252,-3.433705755884229e-5,-4.196979779298566e-8,-0.0018625028468491243,-3.408334448344101e-5,-4.173608792809358e-8,-0.0018623903292806535,-3.389462368841906e-5,-4.1562378749819724e-8,-0.001862290600784725,-3.377697613200107e-5,-4.145477037782527e-8,-0.0018621762300559555,-3.3725088096835355e-5,-4.14086669723388e-8,-0.0018620246347852986,-3.372488473601601e-5,-4.141123207304418e-8,-0.0018618195632346566,-3.375593156589706e-5,-4.1443656121148575e-8,-0.0018615521548540242,-3.3793432453618705e-5,-4.148302730689643e-8,-0.001861222100187459,-3.3810221048498295E-05,-4.15041470998425e-8,-0.0018608389284970092,-3.377941053241642e-5,-4.148192086511341e-8,-0.0018604228570434176,-3.367833230390359e-5,-4.139496124109246e-8,-0.0018600040268228783,-3.3493942425028966e-5,-4.123062094176194e-8,-0.001859618642548962,-3.322877352067173e-5,-4.0990619843655576e-8,-0.0018593011806838898,-3.290498445207031e-5,-4.0694967467908326e-8,-0.001859073836432133,-3.256319848003421e-5,-4.038105550600808e-8,-0.0018589370096645738,-3.225400787141628e-5,-4.0095898376829484e-8,-0.0018588658572420299,-3.202355089014602e-5,-3.988278237900221e-8,-0.001858815953690681,-3.1898535195761845e-5,-3.9767279252543205e-8,-0.0018587365322608792,-3.187731481624273e-5,-3.974875641256137e-8,-0.001858585847420525,-3.193072891426777e-5,-3.9800881931187754e-8,-0.0018583427276889898,-3.201157846011818e-5,-3.988018363222736e-8,-0.001858011024484624,-3.206838339685549e-5,-3.993871620605644e-8,-0.0018576168661056972,-3.2058722129593e-5,-3.993651170976707e-8,-0.001857200628294303,-3.1958785793748546e-5,-3.98506487342928e-8,-0.0018568063178679155,-3.1767390735336565e-5,-3.9679225404044e-8,-0.0018564711830394505,-3.150417991339459e-5,-3.943989843936122e-8,-0.0018562180244630548,-3.120309508365586e-5,-3.916393604405171e-8,-0.001856051832860989,-3.0903287984785486e-5,-3.888777991719524e-8,-0.0018559610387409902,-3.0640165715613776e-5,-3.864464037772421e-8,-0.0018559222165318323,-3.043888182499085e-5,-3.845831450517588e-8,-0.0018559062367179708,-3.031135180046263e-5,-3.8340287099323454e-8,-0.0018558839785556914,-3.025648674119293e-5,-3.828987583339211e-8,-0.0018558305005729916,-3.0262498510445098e-5,-3.829637141557298e-8,-0.0018557274688207667,-3.030998413607464e-5,-3.8341946180221575e-8,-0.0018555642923261315,-3.0374874455143256e-5,-3.8404431294548646e-8,-0.0018553386335638984,-3.043096245585696e-5,-3.8459652833342595e-8,-0.0018550567897867762,-3.0452262426219995e-5,-3.8483550463237314e-8,-0.0018547340635318174,-3.041572528206477e-5,-3.8454603062521525e-8,-0.0018543947164707576,-3.03048875961989e-5,-3.835716288178646e-8,-0.0018540704590361671,-3.0114692323656852e-5,-3.81859702743685e-8,-0.0018537960249984855,-2.985666954648834e-5,-3.79511015108531e-8,-0.0018536008786521339,-2.9562027461414482e-5,-3.768102528692731e-8,-0.0018534981424192035,-2.927893614320846e-5,-3.742024332911934e-8,-0.0018534751696137296,-2.9061233360087007e-5,-3.72188887172703e-8,-0.0018534923481789171,-2.8950357584252507e-5,-3.711593484750272e-8,-0.0018534940550578869,-2.8958436077817732e-5,-3.7123378482837e-8,-0.0018534282008300274,-2.9062277323979435e-5,-3.722046668883958e-8,-0.0018532645332598092,-2.921211788923309e-5,-3.736159207290112e-8,-0.0018530028720135114,-2.934986972526837e-5,-3.7493050320642694e-8,-0.0018526694542170326,-2.942727873570747e-5,-3.756982425163037e-8,-0.0018523058642196187,-2.9417150023504876e-5,-3.7566073539067835e-8,-0.0018519564866905035,-2.9316192868627697e-5,-3.7477965536880444e-8,-0.0018516584089416203,-2.9141557732680905e-5,-3.7320700414486564e-8,-0.001851435208412855,-2.8923992161479002e-5,-3.712235494419344e-8,-0.001851294541339165,-2.869997092993335e-5,-3.691666372244825e-8,-0.0018512288972952473,-2.850431556199019e-5,-3.673612972502268e-8,-0.0018512187605911334,-2.8364293030248146e-5,-3.6606422818222735e-8,-0.0018512372743969517,-2.8295880091963878e-5,-3.6542771387623024e-8,-0.001851255373367241,-2.830245486957463e-5,-3.654865101402205e-8,-0.0018512464347500161,-2.837567990696616e-5,-3.661658029509977e-8,-0.0018511897654824728,-2.849797616767571e-5,-3.6730452314410044e-8,-0.0018510726455833026,-2.864577894127868e-5,-3.6868605111867225e-8,-0.0018508911239511774,-2.879283048085962e-5,-3.700688885749968e-8,-0.0018506500169525825,-2.891316386992196e-5,-3.712138235946777e-8,-0.0018503624659893852,-2.8983841434482034e-5,-3.719083313132091e-8,-0.001850049192722774,-2.8987717253845237e-5,-3.719912582085492e-8,-0.00184973724683297,-2.8916604783197052e-5,-3.7138199915807674e-8,-0.0018494574590516221,-2.877500685094965e-5,-3.7011601488886906e-8,-0.001849239457271444,-2.8583618727700412e-5,-3.6837917133073514e-8,-0.001849103637120204,-2.8380420558935783e-5,-3.665199142573758e-8,-0.0018490512556514666,-2.8216113176951286e-5,-3.650082802289004e-8,-0.0018490568923369543,-2.814133170477168e-5,-3.643173901900574e-8,-0.001849070044366471,-2.8187498919253204e-5,-3.6474479853762786e-8,-0.0018490301023305032,-2.835027238269989e-5,-3.662573037762882e-8,-0.0018488899067574623,-2.8587217166636767e-5,-3.6846766146306595e-8,-0.0018486348257891318,-2.883361606393152e-5,-3.707797543919425e-8,-0.0018482863056600417,-2.902755950667316e-5,-3.726201459105288e-8,-0.0018478899852914469,-2.9130064005063796e-5,-3.736241363816512e-8,-0.0018474976562760789,-2.91321131307372e-5,-3.737016828147584e-8,-0.0018471524750899352,-2.905016180405401e-5,-3.729976063286029e-8,-0.0018468812786227445,-2.8916268553225196e-5,-3.718025357565311e-8,-0.0018466931172711491,-2.876806315238052e-5,-3.7046173746412294e-8,-0.0018465815057894385,-2.8640983775258864e-5,-3.6930365429741035e-8,-0.00184652829693714,-2.8563136245366806e-5,-3.685914654239289e-8,-0.0018465080445311866,-2.8552306292304803e-5,-3.6849396405970724e-8,-0.0018464923711327586,-2.8614698711177184e-5,-3.69072585309602e-8,-0.0018464540475209713,-2.874515858709884e-5,-3.702828145510411e-8,-0.001846370522506678,-2.8928669467886978e-5,-3.7198811661589566e-8,-0.001846226627091265,-2.9142919199792575e-5,-3.739840984195331e-8,-0.0018460161773210895,-2.936159596526058e-5,-3.7602928735736206e-8,-0.0018457424092981416,-2.9557907441157696e-5,-3.7787745528739335e-8,-0.0018454174436069045,-2.9707932709951874e-5,-3.793078679950588e-8,-0.001845060979936064,-2.9793682517744152e-5,-3.8015266553066575e-8,-0.0018446983139210466,-2.9805837685586976e-5,-3.803216933965162e-8,-0.001844357663506958,-2.974619611849742e-5,-3.7982560537325245e-8,-0.0018440664544479193,-2.9629797711193566e-5,-3.7879707314877856e-8,-0.001843845950446449,-2.948601531108566e-5,-3.775030341662861e-8,-0.0018437041818345754,-2.9356851092842417e-5,-3.763307774716062e-8,-0.0018436286704259478,-2.929018395984869e-5,-3.7572610524337075e-8,-0.0018435826591715672,-2.9326650546160026e-5,-3.7607099199983846e-8,-0.001843510243611047,-2.9482479522100277e-5,-3.7752270839027916e-8,-0.0018433534878047207,-2.9736569576451163e-5,-3.798922207122916e-8,-0.001843076228620517,-3.003258999787417e-5,-3.826624809927366e-8,-0.0018426810050820315,-3.0299279226205748e-5,-3.851758748645876e-8,-0.0018422077376924746,-3.0478508169391107e-5,-3.8689353289091895e-8,-0.0018417156239789582,-3.054470317700498e-5,-3.875746335719129e-8,-0.0018412606553196052,-3.050710730095082e-5,-3.872977574482587e-8,-0.001840880483325183,-3.0398882257686496e-5,-3.8636192256924036e-8,-0.001840590004125507,-3.026250677128237e-5,-3.851540126764517e-8,-0.0018403844397698059,-3.013820957242196e-5,-3.840435285169504e-8,-0.001840245361005513,-3.0057347763451893e-5,-3.8332152701456324e-8,-0.0018401466765782936,-3.0039751280580974e-5,-3.831749547487945e-8,-0.0018400595016326148,-3.0093363332831677e-5,-3.836817784862127e-8,-0.0018399559497764423,-3.0215015910877106e-5,-3.848169905675189e-8,-0.001839812170196447,-3.039186553279613e-5,-3.864654273812751e-8,-0.0018396108283989022,-3.060338054950594e-5,-3.884402378562721e-8,-0.0018393430417674114,-3.082394307346604e-5,-3.905071575977295e-8,-0.001839009544828154,-3.1026114366856945e-5,-3.924146216346563e-8,-0.0018386207708631277,-3.1184328723264915e-5,-3.939273712194119e-8,-0.0018381957305413437,-3.127857148136643e-5,-3.948596451419425e-8,-0.0018377597459139795,-3.1297656724416976e-5,-3.95104860508152e-8,-0.001837341137178437,-3.1241751125251476e-5,-3.946590292406994e-8,-0.0018369670512292443,-3.112376810976386e-5,-3.9363472022820164e-8,-0.0018366586561733092,-3.096932899220622e-5,-3.922626209101001e-8,-0.0018364258708403016,-3.0814812173559905e-5,-3.9087559514838445e-8,-0.0018362621920370473,-3.070252357614279e-5,-3.8986539372919337e-8,-0.0018361412688580824,-3.067203929167175e-5,-3.896025500527251e-8,-0.0018360180816703487,-3.0748042684471684e-5,-3.903223795898209e-8,-0.0018358378502917804,-3.092774827382751e-5,-3.920064225747588e-8,-0.0018355532968053283,-3.1174550168373766e-5,-3.9432189756387474e-8,-0.0018351446756584952,-3.142525945238052e-5,-3.966879216514516e-8,-0.001834631257077125,-3.161182618802566e-5,-3.9847630332795574e-8,-0.001834065391188641,-3.168747068911088e-5,-3.992527940095902e-8,-0.0018335116541834382,-3.164236364109196e-5,-3.989214970654177e-8,-0.0018330236496004874,-3.1501495858562004e-5,-3.977056585296882e-8,-0.0018326302885483708,-3.130976247069251e-5,-3.960119517536447e-8,-0.0018323344622033428,-3.111494455177007e-5,-3.94275962437217e-8,-0.0018321196002908996,-3.095597209536023e-5,-3.928554181120305e-8,-0.0018319582888422555,-3.085789845493625e-5,-3.919836392406287e-8,-0.0018318194757880513,-3.083157342368737e-5,-3.9176511626126014e-8,-0.0018316733480543946,-3.0875483927058214e-5,-3.9219089175635253e-8,-0.0018314943794796696,-3.097812687524317e-5,-3.931593991989682e-8,-0.0018312633560748676,-3.1120334429811935e-5,-3.9449760179892773e-8,-0.001830968913688379,-3.1277592120351454e-5,-3.9598246635518696e-8,-0.0018306087634235733,-3.14226374107931e-5,-3.9736499110668715e-8,-0.0018301904168349817,-3.152864766531905e-5,-3.9839932121797345e-8,-0.0018297309265778968,-3.1573033171681355e-5,-3.988771007373838e-8,-0.0018292551760944991,-3.154139489645285e-5,-3.986633134180522e-8,-0.0018287925523648566,-3.1430926466745534e-5,-3.977274223006469e-8,-0.0018283721888019805,-3.125244172846257e-5,-3.961626454205167e-8,-0.0018280173510476312,-3.1030241019074e-5,-3.941861928815817e-8,-0.0018277399014371466,-3.079933897322065e-5,-3.921157228495376e-8,-0.0018275359237807758,-3.060002936908609e-5,-3.9032106768399976e-8,-0.0018273836315456557,-3.0470075984707517e-5,-3.891530628053033e-8,-0.0018272448509398856,-3.0435259419920423e-5,-3.8885571590877783e-8,-0.0018270713806662069,-3.0500042234658058e-5,-3.8947817158765014e-8,-0.0018268166773114957,-3.064158208297821e-5,-3.908171343754616e-8,-0.0018264509824322654,-3.081128525962225e-5,-3.924294928095106e-8,-0.0018259745066705093,-3.0946791653507584e-5,-3.937422858396294e-8,-0.001825421200068397,-3.0992294321174295e-5,-3.942401662190722e-8,-0.001824848707194268,-3.091859675203208e-5,-3.936503312287334e-8,-0.0018243181665254498,-3.0732388589482095e-5,-3.920280801715213e-8,-0.0018238741939498265,-3.047033281073113e-5,-3.897033103345112e-8,-0.0018235344222076416,-3.0182968256406758e-5,-3.871343791162342e-8,-0.0018232907112232296,-2.9917962061241705e-5,-3.8475612220985564e-8,-0.0018231175915879915,-2.9709470223528575e-5,-3.8288287874661005e-8,-0.0018229820547856707,-2.9574767415543407e-5,-3.8167680241916334e-8,-0.0018228511227224586,-2.951575072500136e-5,-3.811601209651671e-8,-0.0018226963993247997,-2.9522399260808083e-5,-3.812455102291935e-8,-0.001822496346012939,-2.9576313361484465e-5,-3.817679071516764e-8,-0.00182223736569908,-2.9653667368211555e-5,-3.82511596794088e-8,-0.001821914484007764,-2.9727713244422272e-5,-3.8323339418991535e-8,-0.0018215319226575477,-2.9771325860086927e-5,-3.836859871537784e-8,-0.0018211033649289739,-2.9760077349048065e-5,-3.8364575828414726e-8,-0.0018206513209798074,-2.967600860452736e-5,-3.82946771372016e-8,-0.001820204868578569,-2.95117106918752e-5,-3.815177651088395e-8,-0.001819795308698592,-2.9273717903851084e-5,-3.7941337848129227e-8,-0.0018194499553985499,-2.8983792765006212e-5,-3.768268339819807e-8,-0.001819185216669178,-2.867678407238349e-5,-3.74071910297524e-8,-0.0018190008974349288,-2.83945853396037e-5,-3.715294339073842e-8,-0.001818877777254797,-2.8177048843502435e-5,-3.69565401325332e-8,-0.001818779842287521,-2.8051892787703585e-5,-3.684386725138177e-8,-0.0018186613648890997,-2.8026242318695985e-5,-3.682221547238342e-8,-0.0018184777104345217,-2.8082404782524753e-5,-3.687617397457534e-8,-0.0018181975534309522,-2.8179856821560048e-5,-3.6969212144048666e-8,-0.001817813196202531,-2.8264185854983048e-5,-3.705172966271644e-8,-0.001817345167041442,-2.8281685470529075e-5,-3.707441588866618e-8,-0.0018168381018592475,-2.8195553966210703e-5,-3.7003162870434875e-8,-0.0018163479603249767,-2.799754849487948e-5,-3.6829836985857307e-8,-0.0018159250008670967,-2.770979157575244e-5,-3.657403648862273e-8,-0.0018155995956956029,-2.7375894624095573e-5,-3.6275093682421794e-8,-0.0018153764219808644,-2.704596699485922e-5,-3.5978494998850386e-8,-0.0018152377869368145,-2.6762455524996808e-5,-3.572301447864534e-8,-0.001815152477201721,-2.6551760020655958e-5,-3.553302574177351e-8,-0.0018150853173970892,-2.6422470662984083e-5,-3.541677798998169e-8,-0.0018150042988686545,-2.6368080187245047e-5,-3.5368740905128105e-8,-0.001814884542944513,-2.637140326946383e-5,-3.5373559468304656e-8,-0.0018147098501943748,-2.640883213452553e-5,-3.540992975432918e-8,-0.001814472968339351,-2.6453705314678775e-5,-3.5453704890593495e-8,-0.0018141754822484056,-2.6478914642215583e-5,-3.548029701796509e-8,-0.0018138277280354835,-2.645933668573588e-5,-3.54668779570484e-8,-0.0018134485433922909,-2.63746995002284e-5,-3.539493771542412e-8,-0.0018130641999637516,-2.6213143484268603e-5,-3.525347116797519e-8,-0.0018127056529817164,-2.5975139443379584e-5,-3.504252776569707e-8,-0.0018124034131899443,-2.5676611824827752e-5,-3.477610412804476e-8,-0.0018121801872194175,-2.534931109205454e-5,-3.448259855575883e-8,-0.0018120429840718477,-2.503646524431114e-5,-3.420100849172037e-8,-0.0018119778375527472,-2.4783230392470123e-5,-3.3972382770939356e-8,-0.001811950347330866,-2.462408751833058e-5,-3.3828419190625865e-8,-0.0018119132838824324,-2.4571574822020067e-5,-3.3781151941416513e-8,-0.0018118193692635378,-2.461097139426063e-5,-3.381793208892705e-8,-0.0018116348830005524,-2.470333459138878e-5,-3.390395510139745e-8,-0.0018113494195414132,-2.479592830408992e-5,-3.399155855798691e-8,-0.0018109788397635016,-2.483652227449304e-5,-3.403315775348767e-8,-0.0018105608775236578,-2.4787225178468724e-5,-3.399388280325552e-8,-0.001810144903993606,-2.4634019749026035e-5,-3.386038668968676e-8,-0.0018097788424705386,-2.438943653685379e-5,-3.364343809426621e-8,-0.0018094970976968308,-2.408776623021186e-5,-3.3373712923926915e-8,-0.0018093131065530167,-2.3774611485516244e-5,-3.3092397700764274e-8,-0.0018092184234519324,-2.3494490111001275e-5,-3.283995827133673e-8,-0.0018091877331322158,-2.3280593294754563e-5,-3.2646790853564697e-8,-0.0018091871161683125,-2.314939866682767e-5,-3.252822506211939e-8,-0.0018091823293289193,-2.31004611501778e-5,-3.248421726376951e-8,-0.0018091448540584615,-2.311978262620908e-5,-3.250233499343941e-8,-0.0018090550794540737,-2.3184591180723153e-5,-3.2562086291900066e-8,-0.0018089031861997175,-2.3267897328885993e-5,-3.2639095018153503e-8,-0.0018086887334329814,-2.3342085624690892e-5,-3.2708403157821664e-8,-0.0018084198247745962,-2.338158487023955e-5,-3.2746898333729124e-8,-0.0018081122968712463,-2.3365150542970265e-5,-3.273533916353727e-8,-0.001807788822855228,-2.3278370617031e-5,-3.2660558495518114e-8,-0.0018074773359588981,-2.3116713555088714e-5,-3.251818044986732e-8,-0.0018072078836895496,-2.2888860456224638e-5,-3.231565942478291e-8,-0.0018070071067168634,-2.2619145607374683e-5,-3.2074584949186564e-8,-0.0018068904090166695,-2.2346867579039005e-5,-3.18301977417072e-8,-0.001806853807850492,-2.2119984734449717e-5,-3.162581546841964e-8,-0.0018068696241016469,-2.198255341150245e-5,-3.150153125112428e-8,-0.0018068904530553504,-2.195926967130759e-5,-3.1480191546692454e-8,-0.0018068624614854115,-2.2044177423088666e-5,-3.155704270849953e-8,-0.0018067433270976935,-2.2200245280886165e-5,-3.1699156433731375e-8,-0.0018065165630427827,-2.2371032429944445e-5,-3.1855811466588946e-8,-0.0018061958896326482,-2.2498959032548624e-5,-3.197492592167717e-8,-0.0018058190557784669,-2.2542034459431462e-5,-3.201819263383411e-8,-0.0018054353226003737,-2.2483393859611878e-5,-3.196979945333175e-8,-0.001805091981515879,-2.2332389766442987e-5,-3.183757466667896e-8,-0.0018048237525921153,-2.211905907663405e-5,-3.1648156894879373e-8,-0.0018046468284378982,-2.1884874969180767e-5,-3.1438765962970895e-8,-0.0018045577965828564,-2.167257080863706e-5,-3.124804952076372e-8,-0.0018045367469031802,-2.1517256483314775e-5,-3.1108003719807276e-8,-0.0018045532547471112,-2.1440415901790588e-5,-3.103843208390343e-8,-0.0018045734964459543,-2.1447606975861767e-5,-3.1044738831155513e-8,-0.0018045667264467702,-2.1529672691860464e-5,-3.111893588046535e-8,-0.0018045098804961046,-2.1666384245823865e-5,-3.1242914374253404e-8,-0.0018043898839023068,-2.183112130503548e-5,-3.1392708760228225e-8,-0.001804203954475141,-2.1995397908962797e-5,-3.1542638797071024e-8,-0.0018039586205425583,-2.2132522471774145e-5,-3.166864148494045e-8,-0.0018036682150897336,-2.222029327998615e-5,-3.1750683255942955e-8,-0.0018033532774611,-2.2243105107731316e-5,-3.1774601732825967e-8,-0.0018030388535303287,-2.2193945397383773e-5,-3.173385130063672e-8,-0.0018027522942073136,-2.2076575061598045e-5,-3.1631467135425805e-8,-0.0018025198123736337,-2.1907738260673892e-5,-3.148213395270582e-8,-0.0018023610503111382,-2.171835234695091e-5,-3.131339673265721e-8,-0.0018022817446064101,-2.155153029171974e-5,-3.1164020013668663e-8,-0.0018022664981731129,-2.145492195250491e-5,-3.107715875834362e-8,-0.0018022761116299893,-2.1466616576633423e-5,-3.1087611729159285e-8,-0.001802254637597213,-2.1598488185100718e-5,-3.1206666940015674e-8,-0.0018021472428660756,-2.182595909351053e-5,-3.1412695010306495e-8,-0.0018019218634438376,-2.2092822584774562e-5,-3.1655360838329714e-8,-0.0018015825756897933,-2.2331161258804622e-5,-3.187351846210822e-8,-0.0018011669858702807,-2.2485932648024347e-5,-3.2017362632812046e-8,-0.0018007305205330378,-2.2531424552391003e-5,-3.20632837968358e-8,-0.0018003274466781097,-2.247396849454174e-5,-3.201639378115172e-8,-0.001799997044701253,-2.2344006761817026e-5,-3.190352915618942e-8,-0.0017997576968600084,-2.2183994777753875e-5,-3.1762527108728355e-8,-0.0017996074214415598,-2.2037129804367622e-5,-3.163218737463046e-8,-0.0017995281388526994,-2.1939134700851098e-5,-3.1544874466880096e-8,-0.001799491474118722,-2.191336925847295e-5,-3.1522014871558e-8,-0.0017994648236848451,-2.196879034163294e-5,-3.157211653547259e-8,-0.0017994169612412726,-2.210030852102367e-5,-3.1690969385098476e-8,-0.0017993225970557186,-2.2291116208268445e-5,-3.1863685374065217e-8,-0.0017991654559053219,-2.2516364846537557e-5,-3.2068017711543623e-8,-0.0017989396964144166,-2.2747470340719118e-5,-3.2278281986817246e-8,-0.001798649733945888,-2.2956364822787877e-5,-3.246922246142647e-8,-0.0017983088087218547,-2.3119105042172602e-5,-3.2619262744900355e-8,-0.0017979368481374199,-2.3218557224021916e-5,-3.271288686018867e-8,-0.001797558043108042,-2.3246284945411038e-5,-3.274229168261259e-8,-0.0017971982454755217,-2.3203905608775542e-5,-3.2708591798824984e-8,-0.0017968820442133351,-2.3104089519329166e-5,-3.2622768771998037e-8,-0.0017966291126735867,-2.297111342990777e-5,-3.250628913382254e-8,-0.0017964493540700971,-2.2840186859440642e-5,-3.239064633254201e-8,-0.001796337092370337,-2.2753871040159905e-5,-3.231424590201427e-8,-0.001796266176874397,-2.2753701692947285e-5,-3.2314867821004395e-8,-0.0017961898758915664,-2.2866622884127602e-5,-3.241733430757836e-8,-0.0017960501969663332,-2.3089920943539757e-5,-3.261975895170297e-8,-0.0017957976108034395,-2.3383568322421448e-5,-3.288650179068292e-8,-0.0017954135250510931,-2.3679171476829465e-5,-3.315617804332179e-8,-0.0017949215447578652,-2.390518557869303e-5,-3.336437672142568e-8,-0.0017943787200954949,-2.401500851776904e-5,-3.3468942402757484e-8,-0.0017938521133034476,-2.400161061140643e-5,-3.346310636110839e-8,-0.0017933953283730748,-2.3893135268437862e-5,-3.3371567284018426e-8,-0.0017930360672664986,-2.3736813868647664e-5,-3.323619106299432e-8,-0.0017927757839283627,-2.3582117106361543e-5,-3.310107169625848e-8,-0.0017925963117210405,-2.3469363688785598e-5,-3.300241303329868e-8,-0.0017924682328384592,-2.342451096539411e-5,-3.296382113706184e-8,-0.0017923581550719071,-2.345828625550179e-5,-3.299539036168371e-8,-0.001792234150133278,-2.356759742598324e-5,-3.309481410911366e-8,-0.0017920696405059335,-2.3737980155055785e-5,-3.324947345493431e-8,-0.0017918461088012336,-2.3946656287756952e-5,-3.343914759620848e-8,-0.0017915547494891267,-2.416604836192296e-5,-3.363918826601897e-8,-0.0017911970460121622,-2.4367571375549456e-5,-3.382396166819764e-8,-0.0017907841940512808,-2.4525457139788785e-5,-3.3970302096064133e-8,-0.0017903353488858134,-2.4620205356925683e-5,-3.4060599419872674e-8,-0.001789874928831574,-2.464121873006898e-5,-3.408513361013069e-8,-0.0017894293545302076,-2.458842006514815e-5,-3.404350871950484e-8,-0.001789023505241213,-2.4472837169482275e-5,-3.394520600674971e-8,-0.0017886770648342907,-2.431614883409421e-5,-3.3809267595780996e-8,-0.0017884008200234735,-2.4149141187628658e-5,-3.366304609271047e-8,-0.001788192903348495,-2.4008712245158947e-5,-3.353964297579916e-8,-0.0017880354372265181,-2.393253545893989e-5,-3.347316905691076e-8,-0.0017878931539800256,-2.3950554353910987e-5,-3.34910405981934e-8,-0.0017877167144701928,-2.4073806065351983e-5,-3.360377068735919e-8,-0.001787453569690734,-2.428392045087678e-5,-3.379534491041236e-8,-0.0017870663495322726,-2.4530220442592966e-5,-3.402051298850108e-8,-0.0017865519910194932,-2.4741563720019448e-5,-3.4215448424805376e-8,-0.0017859491906381667,-2.4852189071213217e-5,-3.4321023197333045e-8,-0.001785325958533287,-2.482869995671932e-5,-3.4307016493753474e-8,-0.0017847528767015353,-2.4681669420333632e-5,-3.418245486606978e-8,-0.0017842781208460322,-2.4456188730650273e-5,-3.3987154219619505e-8,-0.0017839168488831807,-2.4210443635923462e-5,-3.3772695142451446e-8,-0.0017836554356915608,-2.3996010205156732e-5,-3.358499104157047e-8,-0.0017834629055072672,-2.384722325415727e-5,-3.345487005540549e-8,-0.0017833022278605421,-2.377911957973221e-5,-3.33961693481918e-8,-0.0017831382257718895,-2.3790191594592873e-5,-3.340803787799357e-8,-0.0017829420119458068,-2.386664304225821e-5,-3.347858835271957e-8,-0.0017826931337199766,-2.3986439556649512e-5,-3.35884337520014e-8,-0.001782380554182279,-2.4122805007119548e-5,-3.37138034186474e-8,-0.0017820030107513522,-2.424741808773985e-5,-3.382943346932811e-8,-0.0017815688268330704,-2.4333593880854584e-5,-3.391144581214018e-8,-0.0017810949919451016,-2.435957061890063e-5,-3.3940296734933424e-8,-0.0017806052023764001,-2.4311695591746605e-5,-3.3903609380761455e-8,-0.001780126733231539,-2.4186960953258744e-5,-3.3798419210927013e-8,-0.001779686389109376,-2.3994309151659606e-5,-3.363234575116789e-8,-0.0017793060255654567,-2.3754312161234117e-5,-3.3423362014270186e-8,-0.0017789982504817423,-2.3497003448101446e-5,-3.319796437690346e-8,-0.0017787629677499328,-2.325789658218794e-5,-3.2987743056121986e-8,-0.0017785853328477087,-2.307245026259536e-5,-3.2824528494159e-8,-0.001778435693719291,-2.29692203202828e-5,-3.2734270343295896e-8,-0.0017782724447692514,-2.2962114363640616e-5,-3.2729999425653523e-8,-0.0017780489744251891,-2.304310446279494e-5,-3.2805121499466924e-8,-0.0017777252482119056,-2.3178271529330762e-5,-3.292970232577239e-8,-0.0017772823647096638,-2.331129259651724e-5,-3.305351428606098e-8,-0.0017767346083272459,-2.3377529158287416e-5,-3.311868318348257e-8,-0.001776130764697321,-2.3326480780226323e-5,-3.3079844371637935e-8,-0.0017755397912121303,-2.3142506066602418e-5,-3.292267378791187e-8,-0.001775025923089456,-2.285130228165791e-5,-3.2669641431352325e-8,-0.001774626618706956,-2.2507845107702927e-5,-3.2369284423643596e-8,-0.0017743445685003865,-2.217390512592298e-5,-3.207630409849978e-8,-0.0017741544806826274,-2.1898231682136928e-5,-3.1834061464338805e-8,-0.0017740169436090173,-2.1707118952548065e-5,-3.166620956255327e-8,-0.001773891219541728,-2.1604779152879516e-5,-3.157692307526984e-8,-0.0017737432310165142,-2.157882930216389e-5,-3.155562491937049e-8,-0.0017735489504333692,-2.1606679331330368e-5,-3.1582552828697624e-8,-0.0017732949817235678,-2.1660754250425577e-5,-3.163336707176071e-8,-0.0017729779982578978,-2.1712249139899234e-5,-3.1682516270717386e-8,-0.0017726039251191308,-2.1733947237802756e-5,-3.170578892729579e-8,-0.0017721870422029683,-2.170274238348413e-5,-3.168258293259854e-8,-0.001771748742021881,-2.160228540957275e-5,-3.1598253034946674e-8,-0.001771315436498432,-2.142574791419228e-5,-3.144654198656495e-8,-0.0017709151725227585,-2.1178148251122183e-5,-3.123163082063926e-8,-0.0017705729667818262,-2.0877318554922502e-5,-3.096901728522543e-8,-0.00177030549185305,-2.055260685325797e-5,-3.0684433448224743e-8,-0.0017701162882080364,-2.0240789383713746e-5,-3.041032430169265e-8,-0.0017699929466398218,-1.99794218315807e-5,-3.018005089313501e-8,-0.0017699074633654773,-1.9798779288104986e-5,-3.002078373264498e-8,-0.0017698202590316055,-1.971411094245867e-5,-2.994657558110185e-8,-0.0017696875886955075,-1.9720002942223983e-5,-2.9953206911113435e-8,-0.0017694714315701055,-1.9788544043428927e-5,-3.0016365819494506e-8,-0.001769150179508032,-1.9872824099373976e-5,-3.009460999645151e-8,-0.0017687273917546744,-1.9916635597634004e-5,-3.013794933369788e-8,-0.0017682349328222557,-1.986951675134688e-5,-3.0101278511672435e-8,-0.00176772710105645,-1.970328034493384e-5,-2.995916376833186e-8,-0.0017672653670454336,-1.942323674398719e-5,-2.9715881402750377e-8,-0.0017668987135009146,-1.906762066737871e-5,-2.9404951820690843e-8,-0.0017666484557888058,-1.8694185914153163e-5,-2.9077305426574343e-8,-0.0017665045683398996,-1.836037649987278e-5,-2.8783779540595175e-8,-0.0017664336822339468,-1.810670803004512e-5,-2.85604298531802e-8,-0.0017663927590512497,-1.7949525459591675e-5,-2.8422063980110166e-8,-0.0017663414629926905,-1.7882936783559632e-5,-2.8363836548011972e-8,-0.001766249541876796,-1.7885707909765793e-5,-2.8367242121714928e-8,-0.001766099266242993,-1.7928819727490756e-5,-2.8406756909275128e-8,-0.0017658847993394775,-1.798137782732972e-5,-2.8455090069843767e-8,-0.001765610393070421,-1.8014480188581894e-5,-2.8486659197502897e-8,-0.0017652885448722823,-1.800366604960887e-5,-2.8479796999216368e-8,-0.0017649384258213695,-1.7930802219111313e-5,-2.8418420896184835e-8,-0.0017645842871166185,-1.778602853787445e-5,-2.829372109660203e-8,-0.0017642532352409623,-1.7569903288050705e-5,-2.81060198076404e-8,-0.001763971759473834,-1.7295278259522374e-5,-2.786641950500421e-8,-0.0017637607807011494,-1.698782162266873e-5,-2.7597305393828584e-8,-0.0017636298282722234,-1.668378910785923e-5,-2.7330463361969477e-8,-0.0017635720325075124,-1.6424062245120354e-5,-2.7101919283812356e-8,-0.0017635623160880396,-1.624485381333525e-5,-2.6943804573923697e-8,-0.0017635607308321933,-1.6167370096356146e-5,-2.6875224575923194e-8,-0.0017635211289864948,-1.6190012162179073e-5,-2.68952735608918e-8,-0.0017634030561349838,-1.6286391210993562e-5,-2.6981120973846906e-8,-0.0017631832067511017,-1.6410496829813158e-5,-2.7092420717209323e-8,-0.001762862804611093,-1.650784066444652e-5,-2.7181070789573557e-8,-0.001762468592752757,-1.6529538541808296e-5,-2.720366625840219e-8,-0.001762046894151369,-1.6445530812446836e-5,-2.713326263374019e-8,-0.0017616519554521687,-1.6253198861825676e-5,-2.696709599279156e-8,-0.0017613315225252794,-1.5978453405918325e-5,-2.672764292807032e-8,-0.0017611140058775958,-1.5668350101802668e-5,-2.645617877953825e-8,-0.0017610016624053787,-1.5377341425857762e-5,-2.6200694380823762e-8,-0.001760972152477191,-1.5152050261090025e-5,-2.6002466768736517e-8,-0.0017609872896826445,-1.5020078162915458e-5,-2.5886132235295784e-8,-0.0017610048499390252,-1.4986153105280482e-5,-2.585618781524479e-8,-0.0017609887967856529,-1.5035267740803247e-5,-2.5899659894477047e-8,-0.0017609151979063953,-1.5139768158020223e-5,-2.5992305073980463e-8,-0.001760773716567572,-1.5266958060346903e-5,-2.610532992986437e-8,-0.0017605661687073292,-1.5385079455718696e-5,-2.6210718388494383e-8,-0.0017603038826338377,-1.5467116653328303e-5,-2.6284636330568005e-8,-0.0017600050563999715,-1.5492918931559058e-5,-2.630931543163531e-8,-0.00175969254649456,-1.5450515709074643e-5,-2.6274181953792665e-8,-0.0017593918639489119,-1.5337330423786408e-5,-2.617687582404043e-8,-0.0017591287810466108,-1.516152233340109e-5,-2.6024399594225813e-8,-0.0017589258943309788,-1.4943092225619993e-5,-2.5834108333616962e-8,-0.0017587977883399433,-1.4713698844311321e-5,-2.563361964748376e-8,-0.001758745306123578,-1.4513557060983797e-5,-2.5458186180871662e-8,-0.0017587508567577885,-1.4384033445413648e-5,-2.534426611652559e-8,-0.0017587779139626098,-1.4356303112866524e-5,-2.5319563744401592e-8,-0.0017587774818432792,-1.4439371548397277e-5,-2.5392423095802513e-8,-0.0017587014180465244,-1.461308765223457e-5,-2.5545545630735418e-8,-0.0017585182143315644,-1.4831017637906244e-5,-2.573837988454579e-8,-0.001758224300036135,-1.5033522952700285e-5,-2.5918544356983626e-8,-0.0017578456814572269,-1.5165890121277228e-5,-2.6037769834404815e-8,-0.0017574296827317477,-1.5194062164951215e-5,-2.6065783871821737e-8,-0.0017570309130902051,-1.5112670663097581e-5,-2.5997452534758276e-8,-0.001756696813994369,-1.4944139321311835e-5,-2.5852086776316284e-8,-0.0017564568402563836,-1.473071652369088e-5,-2.566653582995585e-8,-0.0017563173354597894,-1.4522642160396031e-5,-2.548486082353178e-8,-0.0017562624354948073,-1.4365851015030895e-5,-2.5347546705261553e-8,-0.0017562599735600776,-1.4292151664489295e-5,-2.5282821848690496e-8,-0.001756270345717931,-1.4313890299943314e-5,-2.5301868529854778e-8,-0.0017562557588578422,-1.4423796145213121e-5,-2.5398581829437754e-8,-0.0017561874812613571,-1.4599191257972496e-5,-2.5553204717269587e-8,-0.0017560497205785389,-1.4808590783445874e-5,-2.573812424229174e-8,-0.0017558401001670073,-1.501849889141526e-5,-2.5923886858305346e-8,-0.0017555677036126833,-1.5198851791683837e-5,-2.6084035700955837e-8,-0.0017552499882569114,-1.5326523211685818e-5,-2.6198219746351277e-8,-0.0017549096171388453,-1.5387143092883683e-5,-2.625378099409158e-8,-0.0017545716844747704,-1.5375917958639373e-5,-2.624643446693762e-8,-0.0017542612485054693,-1.5298085448759974e-5,-2.618062930004095e-8,-0.0017540007404882867,-1.5169273450952789e-5,-2.6069861979063126e-8,-0.0017538066861335557,-1.5015531634949477e-5,-2.593675647987724e-8,-0.0017536853789179659,-1.4872118319182157e-5,-2.5812093138283254e-8,-0.0017536279768385933,-1.4779491480665109e-5,-2.5731383005018647e-8,-0.001753606952723239,-1.477510058162383e-5,-2.5727704626657337e-8,-0.0017535772625469973,-1.4881293853944655e-5,-2.5821044107833472e-8,-0.0017534854838303832,-1.5093084239007569e-5,-2.600743669074431e-8,-0.001753286710863749,-1.5372854528035302e-5,-2.6254185280220255e-8,-0.0017529628465813953,-1.5658309245887e-5,-2.650676375421154e-8,-0.0017525321779777868,-1.5882916451512282e-5,-2.6706754294287406e-8,-0.0017520438774256833,-1.599931632431093e-5,-2.6812413521358316e-8,-0.0017515603547515798,-1.599389242849295e-5,-2.6811474485739375e-8,-0.0017511370747768787,-1.58870721613282e-5,-2.6721446136561115e-8,-0.0017508085426400448,-1.5722498178991464e-5,-2.6580205900138525e-8,-0.001750583522276346,-1.5552126055896935e-5,-2.6433054088095324e-8,-0.0017504477988545496,-1.5423007708300132e-5,-2.6321212129111954e-8,-0.001750371174214469,-1.5368439711583733e-5,-2.62740633198849e-8,-0.001750315851837096,-1.5403810993203438e-5,-2.630543047416448e-8,-0.0017502443819633047,-1.552642617773328e-5,-2.641330452405617e-8,-0.0017501260881107377,-1.5718366270618406e-5,-2.6582255837826362e-8,-0.001749941315168841,-1.595138996435713e-5,-2.6787687878177625e-8,-0.0017496832210316077,-1.6192740022060927e-5,-2.7000937830024997e-8,-0.0017493572693855985,-1.6410744434680557e-5,-2.719422519070173e-8,-0.001748978948913387,-1.6579358203906588e-5,-2.7344668887639668e-8,-0.0017485704968312657,-1.6681163415333903e-5,-2.74369274282324e-8,-0.0017481574240992264,-1.670883282721197e-5,-2.7464466784574147e-8,-0.0017477653066889829,-1.666547427544194e-5,-2.742983935525184e-8,-0.0017474168841164288,-1.6564305460559376e-5,-2.7344394725503e-8,-0.001747129279233854,-1.6427879931202274e-5,-2.722763656186771e-8,-0.0017469110243550452,-1.6286771476204226e-5,-2.7106146180372478e-8,-0.0017467586534195868,-1.6177063093025705e-5,-2.7011472007132247e-8,-0.0017466533463252492,-1.6135412490742596e-5,-2.6975864478472212e-8,-0.0017465594178202246,-1.6190686058868135e-5,-2.7024931986323628e-8,-0.0017464276261986936,-1.6352739951425828e-5,-2.7167717614836124e-8,-0.0017462061719448097,-1.6602042086509395e-5,-2.7387475511613235e-8,-0.0017458589390846183,-1.688727509586495e-5,-2.7639480984314817e-8,-0.001745383793112345,-1.7137548063945405e-5,-2.7861723308800773e-8,-0.001744819115139456,-1.7287659579105718e-5,-2.7997065592867195e-8,-0.0017442316274042247,-1.7303833560797986e-5,-2.8015768007836517e-8,-0.0017436912573285538,-1.7194973975304273e-5,-2.7925287860788828e-8,-0.001743247452036388,-1.7004614184730193e-5,-2.7763247275154654e-8,-0.0017429180130239536,-1.6791404372740664e-5,-2.758049651565357e-8,-0.0017426913839497045,-1.6609904370917028e-5,-2.7424492345162885e-8,-0.001742536475141356,-1.649859690995107e-5,-2.7328913073261393e-8,-0.0017424137905466815,-1.6475754777084468e-5,-2.731001280582881e-8,-0.0017422844622990985,-1.6540670952381766e-5,-2.7367575703814308e-8,-0.001742116355369948,-1.6677544114767887e-5,-2.7488179361086792e-8,-0.0017418876343611228,-1.686031928037145e-5,-2.764933739189588e-8,-0.0017415883616594284,-1.70577248174131e-5,-2.782387438953023e-8,-0.0017412205022093819,-1.7238115114124338e-5,-2.7984175560639326e-8,-0.0017407965855088022,-1.737379930727008e-5,-2.8106002984605667e-8,-0.0017403372333003285,-1.744456666693547e-5,-2.81716008451723e-8,-0.0017398678463401798,-1.7440083829039737e-5,-2.817179627356715e-8,-0.0017394149398974874,-1.7360942313155324e-5,-2.8106908907450188e-8,-0.0017390025998627163,-1.7218462503755394e-5,-2.7986581351569095e-8,-0.0017386492629266872,-1.7033516940844868e-5,-2.78287765345854e-8,-0.0017383648667583472,-1.6834511621145167e-5,-2.7658071698212013e-8,-0.0017381483860776027,-1.6654526309760896e-5,-2.750323777098479e-8,-0.0017379857880764208,-1.6527352718845074e-5,-2.7393844848311547e-8,-0.0017378488996451671,-1.6481799532138352e-5,-2.735530264547702e-8,-0.0017376966372265247,-1.653390656976417e-5,-2.7402002468754002e-8,-0.0017374807521994074,-1.6678137811977933e-5,-2.752950967892001e-8,-0.0017371577619254865,-1.6881003467352378e-5,-2.7708880462880502e-8,-0.0017367058418978965,-1.7082956805723142e-5,-2.7888277038928824e-8,-0.0017361397871615877,-1.7213636041267133e-5,-2.8006313607759834e-8,-0.0017355130919502622,-1.7217983517437767e-5,-2.8014887489228886e-8,-0.0017349010873700975,-1.7080148864802256e-5,-2.789998107144859e-8,-0.0017343723348015217,-1.6829898005292252e-5,-2.7687166142917287e-8,-0.0017339647832955254,-1.6527764114669422e-5,-2.742869117101087e-8,-0.0017336786370508808,-1.6239846977128967e-5,-2.718170516827529e-8,-0.0017334849605685624,-1.6017009429821272e-5,-2.6990333500378085e-8,-0.0017333407869161536,-1.588567181395312e-5,-2.6877727087182345e-8,-0.0017332024740586718,-1.5848606242811324e-5,-2.6846667644146168e-8,-0.0017330340615586818,-1.5890746362680283e-5,-2.68844715727071e-8,-0.0017328110493750382,-1.598598400945783e-5,-2.696877596915934e-8,-0.00173252127473545,-1.6103053832416733e-5,-2.7072598915931684e-8,-0.0017321643150833425,-1.6210210138051937e-5,-2.716841036510506e-8,-0.0017317501140170313,-1.6278998147010685e-5,-2.723144593688566e-8,-0.0017312970188940173,-1.6287366080985484e-5,-2.7242447571344237e-8,-0.0017308292084595779,-1.6222185622260528e-5,-2.7189872388028625e-8,-0.001730373452436675,-1.6081006942388617e-5,-2.7071418830950497e-8,-0.0017299553582569695,-1.5872667604661172e-5,-2.6894553273205772e-8,-0.0017295955423252537,-1.5616500957420817e-5,-2.6675832877706237e-8,-0.0017293061873740823,-1.5340170469505593e-5,-2.6439061947713e-8,-0.0017290883470865532,-1.507625010199129e-5,-2.6212382075122478e-8,-0.0017289303472872032,-1.485771739629063e-5,-2.6024423253133448e-8,-0.0017288076171489378,-1.4712600788592941e-5,-2.5899692716363257e-8,-0.0017286843786890062,-1.4657982104751628e-5,-2.5853345982890227e-8,-0.0017285179920752429,-1.469378801204321e-5,-2.5885710544355952e-8,-0.0017282669016267444,-1.4797809692912494e-5,-2.597784298491023e-8,-0.0017279022709099565,-1.4924826606494031e-5,-2.6090678957383975e-8,-0.0017274210330882648,-1.5013539408658058e-5,-2.6171041964052904e-8,-0.0017268544886931924,-1.500339980186787e-5,-2.6166307322124555e-8,-0.0017262646488298942,-1.4857541654773406e-5,-2.6044338623451537e-8,-0.0017257250829835684,-1.4580494467278208e-5,-2.5808814537283378e-8,-0.0017252937794389228,-1.4218526667931194e-5,-2.5499476937908507e-8,-0.0017249930231404602,-1.3840794807331261e-5,-2.517585149150039e-8,-0.0017248067699141875,-1.351270711306445e-5,-2.4894335555473773e-8,-0.0017246934534974646,-1.3276295708485894e-5,-2.4691333401292228e-8,-0.0017246038274408126,-1.314433765536367e-5,-2.4578159853052325e-8,-0.0017244948196652298,-1.3105269854769773e-5,-2.454517288778279e-8,-0.0017243364526524838,-1.3132362073222714e-5,-2.456957312402072e-8,-0.0017241132667976712,-1.3192342565411862e-5,-2.4622786661510245e-8,-0.0017238228661482834,-1.325163183139236e-5,-2.4675851118792835e-8,-0.0017234735662261548,-1.3280343921097598e-5,-2.470291409721152e-8,-0.0017230820075737141,-1.3254924222723466e-5,-2.4683557620105018e-8,-0.0017226707950760843,-1.3160121817767504e-5,-2.4604525475472103e-8,-0.001722265910630456,-1.2990581890931382e-5,-2.4461095384133306e-8,-0.001721893605087852,-1.275194862461917e-5,-2.4258014835579526e-8,-0.0017215766694778005,-1.2461004044485085e-5,-2.400961012256891e-8,-0.0017213304202050618,-1.2144266502687791e-5,-2.373858904526001e-8,-0.0017211591144521662,-1.1834740035222872e-5,-2.3473278345894057e-8,-0.0017210536379387664,-1.15669121811399e-5,-2.3243368159746304e-8,-0.0017209912434660293,-1.137053703664978e-5,-2.3074600444917153e-8,-0.00172093786428734,-1.126418106526938e-5,-2.2983213066028008e-8,-0.0017208531150557185,-1.1249725559581083e-5,-2.2971150222902847e-8,-0.0017206977257007766,-1.1309037278010377e-5,-2.3023095245395752e-8,-0.0017204427559582552,-1.1404176889886242e-5,-2.3106548502949438e-8,-0.0017200791234227555,-1.1482681882738014e-5,-2.3176327687590162e-8,-0.0017196246541953794,-1.148889330573019e-5,-2.3184350335903796e-8,-0.001719124641958263,-1.1380227657635337e-5,-2.3093722950941158e-8,-0.0017186423638384035,-1.114361781624759e-5,-2.289295661201278e-8,-0.0017182400231541156,-1.0804036814357762e-5,-2.2603315828948557e-8,-0.0017179572397719124,-1.0418304686722344e-5,-2.2273489276189473e-8,-0.0017177979779009823,-1.0055136813138216e-5,-2.1962468500676522e-8,-0.0017177326568771723,-9.771363476111051e-6,-2.171915971274942e-8,-0.0017177126940655086,-9.59618259083335e-6,-2.1568855933039855e-8,-0.0017176882158911563,-9.528664202440341e-6,-2.151102115154199e-8,-0.0017176207842986657,-9.54532916023194e-6,-2.152570092195504e-8,-0.001717488539588401,-9.61114215968148e-6,-2.1582903167043163e-8,-0.0017172856020235222,-9.688935408136953e-6,-2.1650695633700068e-8,-0.0017170188075453885,-9.745503388018222e-6,-2.1700489974222203e-8,-0.001716704030343493,-9.75481187740589e-6,-2.1709853665659155e-8,-0.001716363051667733,-9.699527683861308e-6,-2.1663854398151375e-8,-0.0017160209740540878,-9.571902058244573e-6,-2.155581284513286e-8,-0.0017157037275235207,-9.374493289871258e-6,-2.1387892099804606e-8,-0.0017154351582843574,-9.12063251889091e-6,-2.1171465309349033e-8,-0.0017152334371241793,-8.834059379219236e-6,-2.0926792740536966e-8,-0.0017151070380174468,-8.54691461997685e-6,-2.0681324010697784e-8,-0.0017150511747853247,-8.295434661355793e-6,-2.0466057621787945e-8,-0.0017150460711992154,-8.113332137404114e-6,-2.030992124260642e-8,-0.0017150584488687581,-8.023886119027629e-6,-2.0233017236108107e-8,-0.0017150469068009022,-8.032794681682757e-6,-2.0240470470753276E-08,-0.0017149705846409252,-8.124212126971078e-6,-2.031895666669989e-8,-0.0017147992299687779,-8.261786867259084e-6,-2.043750161115691e-8,-0.0017145220766764634,-8.39524066367176e-6,-2.0553060054856926e-8,-0.001714152932724592,-8.471588872493842e-6,-2.062012893709478e-8,-0.0017137294505731322,-8.448766698921679e-6,-2.0602470471424994e-8,-0.0017133056268037235,-8.30827935977141e-6,-2.0484010951138584e-8,-0.0017129382965746429,-8.062726137621993e-6,-2.0275329834940626e-8,-0.0017126708829768335,-7.754388283059394e-6,-2.0012476947012425e-8,-0.0017125200757254853,-7.443621313326269e-6,-1.9747060849152198e-8,-0.0017124712795059404,-7.190431363037621e-6,-1.9530504080148718e-8,-0.001712485108463056,-7.0366396458408515e-6,-1.9398773754969298e-8,-0.0017125116285125956,-6.995979960543143e-6,-1.9363850589301513e-8,-0.0017125055152946264,-7.054904126090996e-6,-1.941433171688431e-8,-0.0017124362267456486,-7.181290036679982e-6,-1.9522819783303132e-8,-0.0017122912356786113,-7.33559115667751e-6,-1.9655458212988638e-8,-0.0017120739679193392,-7.480041670713854e-6,-1.9779851901213196e-8,-0.0017117993662422982,-7.584250733816216e-6,-1.9869913460128613e-8,-0.0017114893374762983,-7.627641340691138e-6,-1.9907989660052855e-8,-0.0017111690927208221,-7.6000125055850025e-6,-1.9885345225042433e-8,-0.0017108644073861132,-7.501412760528949e-6,-1.9802025000362843e-8,-0.0017105992780522003,-7.341978719606794e-6,-1.966667578346078e-8,-0.0017103933189507282,-7.1417111820099305e-6,-1.949632951528594e-8,-0.0017102585004460788,-6.929573781906971e-6,-1.9315642219774395e-8,-0.0017101954017993111,-6.7409497837180035e-6,-1.9154764556717096e-8,-0.0017101899463117245,-6.612514274616833e-6,-1.904501927146042e-8,-0.0017102124219094009,-6.574302226505446e-6,-1.9012164611844463e-8,-0.0017102208546907933,-6.640381461484933e-6,-1.906841604034119e-8,-0.0017101696872487946,-6.801430426475136e-6,-1.920604126355059e-8,-0.0017100221870999638,-7.023203351349197e-6,-1.939596217498844e-8,-0.0017097624173563275,-7.2532026779098715e-6,-1.959339512897098e-8,-0.0017094018542985613,-7.4343348959541015e-6,-1.9749511339903364e-8,-0.0017089776595243197,-7.520980981562084e-6,-1.982519953065219e-8,-0.0017085430785728673,-7.491875094526717e-6,-1.98021064005799e-8,-0.0017081533169143335,-7.355782261528479e-6,-1.968751486928549e-8,-0.0017078512816734047,-7.148736530329722e-6,-1.9512013140907094e-8,-0.0017076570788535014,-6.924050653939927e-6,-1.9321004792382517e-8,-0.0017075639301940206,-6.73805286028801e-6,-1.9162573935492407e-8,-0.0017075414744693901,-6.635623404704152e-6,-1.9075152574921577e-8,-0.0017075452538536885,-6.6397481673598866e-6,-1.907856769945405e-8,-0.0017075291279762277,-6.74799680854229e-6,-1.917095975773456e-8,-0.001707456464753147,-6.936270654025548e-6,-1.9331909124735297e-8,-0.001707306873839935,-7.167486224038338e-6,-1.9529815014463757e-8,-0.0017070774940020905,-7.40150152130711e-6,-1.9730384470556232e-8,-0.001706780055599116,-7.603160648750164e-6,-1.9903542367193303e-8,-0.0017064359548183703,-7.747073464223104e-6,-2.0027552034501053e-8,-0.0017060712869391593,-7.819370843360752e-6,-2.009053088308096e-8,-0.0017057128647851082,-7.81750689300007e-6,-2.0090272816758505e-8,-0.0017053853475831233,-7.749258787440385e-6,-2.0033369653230264e-8,-0.0017051090246987348,-7.63165252439743e-6,-1.9934273203516424e-8,-0.0017048976130836205,-7.48990374053086e-6,-1.9814391821666054e-8,-0.0017047556071532683,-7.355870167993619e-6,-1.9700800557958514e-8,-0.0017046752314598494,-7.265069438578037e-6,-1.962374814999241e-8,-0.001704633907873945,-7.251176602605976e-6,-1.9612010035070857e-8,-0.0017045942123405239,-7.337574074837141e-6,-1.968569133958673e-8,-0.0017045088636094908,-7.527447475358424e-6,-1.984773628854404e-8,-0.0017043321125059295,-7.796609969145614e-6,-2.0077728553648004e-8,-0.0017040352892301902,-8.094628881719389e-6,-2.033278529821439e-8,-0.0017036199174814714,-8.357321757473915e-6,-2.0558199710134475e-8,-0.0017031207453830734,-8.527279641554265e-6,-2.07049674527795e-8,-0.0017025957211632837,-8.573251713438601e-6,-2.0746330786424403e-8,-0.0017021073995130097,-8.499347348814524e-6,-2.0685612575558143e-8,-0.0017017044497118188,-8.341162243397592e-6,-2.0552915628861326e-8,-0.0017014101770728533,-8.152663137236833e-6,-2.0393996128262026e-8,-0.001701220123087332,-7.99029114266652e-6,-2.0256802195303342e-8,-0.0017011069963663247,-7.899440803721392e-6,-2.0180015465234488e-8,-0.0017010298088642021,-7.905934485141747e-6,-2.0185786978182623e-8,-0.0017009442845075707,-8.013087611659719e-6,-2.0277176829621546e-8,-0.001700812271449088,-8.203778005991368e-6,-2.043983579510598e-8,-0.001700608518360257,-8.446292559298515e-6,-2.0646923134808663e-8,-0.0017003238336688721,-8.702227743979316e-6,-2.086581340902206e-8,-0.0016999645473487364,-8.934420936028888e-6,-2.106486263485468e-8,-0.00169954913513485,-9.113190354238928e-6,-2.1218747636263865e-8,-0.0016991033874861217,-9.22001102864717e-6,-2.1311618593498575e-8,-0.0016986554807616981,-9.248647435155238e-6,-2.13380740034121e-8,-0.0016982318855080062,-9.204399731118582e-6,-2.1302519561850147e-8,-0.0016978543995590132,-9.10238542444722e-6,-2.121770451114759e-8,-0.0016975380294125626,-8.965565187764711e-6,-2.1103046899748445e-8,-0.0016972892355614753,-8.822716746064468e-6,-2.0982928734896224e-8,-0.001697104147393287,-8.706075816679848e-6,-2.0884721675880377e-8,-0.0016969666972081788,-8.647926619789557e-6,-2.0835920379221263e-8,-0.00169684740011825,-8.675181170249637e-6,-2.0859546028640884e-8,-0.0016967045804855362,-8.801519162920972e-6,-2.0967436610679105e-8,-0.0016964905065300056,-9.01844333619171e-6,-2.1152579343920042e-8,-0.0016961639731149969,-9.289415793960601e-6,-2.138406153842879e-8,-0.001695707106127775,-9.553311743058151e-6,-2.160998864081665e-8,-0.0016951385176591758,-9.741104001052941e-6,-2.1771702413548394e-8,-0.0016945128063564176,-9.801298769835388e-6,-2.1825425829586347e-8,-0.001693902985101117,-9.720976758235634e-6,-2.176009941619977e-8,-0.0016933741666031645,-9.529958261736527e-6,-2.1600847624303437e-8,-0.0016929627649807358,-9.286767509844959e-6,-2.1397063223247418e-8,-0.0016926700984223038,-9.056285660978077e-6,-2.1203544267075215e-8,-0.0016924690855679811,-8.890755742029625e-6,-2.1064502321326876e-8,-0.0016923170302585921,-8.819805710338477e-6,-2.1005150945671767e-8,-0.0016921682214408472,-8.8489478525651e-6,-2.1030391509463162e-8,-0.0016919833229793798,-8.963433333096914e-6,-2.1127991678712995e-8,-0.0016917350451069605,-9.1345146397534e-6,-2.1273812337831973e-8,-0.0016914106590955637,-9.326304850307346e-6,-2.1437577987506275e-8,-0.0016910119930584138,-9.50234733555081e-6,-2.158843896357954e-8,-0.0016905533915853798,-9.631291450467526e-6,-2.1699798048136526e-8,-0.0016900581754099764,-9.69110899668149e-6,-2.1752905508392625e-8,-0.0016895542586885487,-9.671493446052107e-6,-2.1738910779710982e-8,-0.0016890696305639124,-9.574362283327237e-6,-2.1659302094648493e-8,-0.0016886283866275086,-9.412685663855614e-6,-2.1524925607916213e-8,-0.001688247743667381,-9.208192002297713e-6,-2.1354054577412935e-8,-0.0016879360364431592,-8.98854909081757e-6,-2.1170017704178606e-8,-0.0016876914563649197,-8.784322466768402e-6,-2.0998642806816554e-8,-0.0016875013089274406,-8.625690463057586e-6,-2.086549585606093e-8,-0.0016873417279686287,-8.53858560005698e-6,-2.0792626469016813e-8,-0.001687178325547085,-8.539692110101775e-6,-2.079432297753112e-8,-0.0016869691166023061,-8.630151987089456e-6,-2.0871746461888742e-8,-0.0016866715029369072,-8.789267347131455e-6,-2.100754636158876e-8,-0.001686254318023176,-8.97163165767185e-6,-2.1163398058176738e-8,-0.0016857129301765929,-9.112940780203801e-6,-2.1284938230037018e-8,-0.0016850801573558933,-9.148161471228022e-6,-2.1317184884815498e-8,-0.001684422796496244,-9.037763226930734e-6,-2.122672379094548e-8,-0.0016838198027999708,-8.787797426035769e-6,-2.1018591580797273e-8,-0.0016833318949512636,-8.44940531154977e-6,-2.0735764854021037e-8,-0.0016829803888256231,-8.096954946202853e-6,-2.0440726785689123e-8,-0.0016827459755191082,-7.799047296914452e-6,-2.0191141842253217e-8,-0.001682583454796451,-7.598483392665845e-6,-2.0023083749209106e-8,-0.0016824406087873034,-7.507046345778621e-6,-1.9946647297024858e-8,-0.00168227233893414,-7.511005682637191e-6,-1.995050767444206e-8,-0.0016820477635596358,-7.580629314178077e-6,-2.0009840918065495e-8,-0.0016817519149339769,-7.679226904576688e-6,-2.0093885939198342e-8,-0.0016813844563981313,-7.770076038468931e-6,-2.017176810577966e-8,-0.00168095711875254,-7.821310599237092e-6,-2.02166337334569e-8,-0.0016804905773571324,-7.809332280904686e-6,-2.020854689581189e-8,-0.001680010953275545,-7.72105576611143e-6,-2.013639837823021e-8,-0.001679546036692029,-7.555014866778501e-6,-1.999884849506686e-8,-0.0016791214090587767,-7.3212178391739496e-6,-1.9804212819061585e-8,-0.0016787568208649483,-7.0396326381076e-6,-1.956919439356282e-8,-0.0016784633058374865,-6.737431280764423e-6,-1.9316573595337173e-8,-0.0016782413530992905,-6.445394475960026e-6,-1.907219462969039e-8,-0.001678080222805157,-6.193862700986028e-6,-1.8861571689255484e-8,-0.0016779584103784654,-6.008506027515523e-6,-1.8706342929766363e-8,-0.001677845249146384,-5.906093833141004e-6,-1.8620715185890165e-8,-0.0016777038192801804,-5.890290612856807e-6,-1.8607914310898255e-8,-0.0016774958004093384,-5.947719194763358e-6,-1.8656841222782147e-8,-0.0016771890493794792,-6.04551842846217e-6,-1.873997969081269e-8,-0.001676767832841618,-6.132885965309012e-6,-1.8814675758844495e-8,-0.0016762435242489034,-6.149771262434435e-6,-1.8830466334363702e-8,-0.0016756602448421592,-6.044400624246342e-6,-1.8743841862040513e-8,-0.001675087945535953,-5.795520152856072e-6,-1.8536922752685177e-8,-0.001674600133436057,-5.427392994706577e-6,-1.8229981102522346e-8,-0.0016742451149479186,-5.004926323171685e-6,-1.7877295972549893e-8,-0.0016740276746855878,-4.608399079730942e-6,-1.7546004506771972e-8,-0.0016739119980301556,-4.302510944871832e-6,-1.729026756861099e-8,-0.0016738412334485694,-4.117301795986611e-6,-1.7135338860309113e-8,-0.0016737597260480786,-4.047201977927108e-6,-1.7076725758927597e-8,-0.0016736272940627243,-4.062129813392705e-6,-1.708939796436854e-8,-0.0016734236526182423,-4.121225593287399e-6,-1.7139232302019368e-8,-0.0016731464204356393,-4.183527382690121e-6,-1.719194905092986e-8,-0.001672806667024793,-4.214324596648135e-6,-1.721846074771176e-8,-0.0016724243936852225,-4.1882372375009135e-6,-1.7197481453770475e-8,-0.0016720247121886067,-4.090499672781078e-6,-1.71166177315317e-8,-0.001671634560924054,-3.9173958791691575e-6,-1.697273167292582e-8,-0.0016712796064216253,-3.676148262014399e-6,-1.677183719774153e-8,-0.0016709811132979546,-3.3841381804794744e-6,-1.6528438089025636e-8,-0.001670752839878428,-3.067097445950772e-6,-1.626401154436992e-8,-0.0016705983902454557,-2.755995668689129e-6,-1.6004410253319553e-8,-0.0016705096420609104,-2.4827410471397807e-6,-1.5776279333381472e-8,-0.0016704667555038147,-2.2751486697532836e-6,-1.5602864533974782e-8,-0.001670440054529566,-2.151829226592785e-6,-1.5499751063543376e-8,-0.001670393800312215,-2.117817669325008e-6,-1.5471212409242127e-8,-0.001670291584102462,-2.1617204405963794e-6,-1.5507814775575798e-8,-0.0016701029794063543,-2.2550054075283997e-6,-1.5585801952800447e-8,-0.0016698110099757678,-2.354258371242796e-6,-1.5668961170856538e-8,-0.0016694193436379667,-2.4075797922360825e-6,-1.5713962061550806e-8,-0.0016689568880535386,-2.3659216383981152e-6,-1.5679837674904023e-8,-0.001668476255894404,-2.198389705642687e-6,-1.5540770761251108e-8,-0.0016680427111036224,-1.9070635849955495e-6,-1.5298448763090533e-8,-0.0016677138985701416,-1.5331708742942751e-6,-1.49871845626283e-8,-0.001667517861434114,-1.147223731015582e-6,-1.4665690841976024e-8,-0.0016674416245268775,-8.243545513833562e-7,-1.4396566986045408e-8,-0.0016674379465091208,-6.170824570407865e-7,-1.4223645290633774e-8,-0.0016674458929825874,-5.401446955353702e-7,-1.415932767755485e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_20.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_20.json new file mode 100644 index 000000000..ddc7d4dd9 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_20.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":20000,"numberOfSamples":1000,"samples":[0.002920358133904192,-6.784113942412794e-6,1.9052440314477163e-8,0.0029206413912713745,-6.613636446664559e-6,1.880279195741177e-8,0.0029208307139081857,-6.4248857259363685e-6,1.8526799455172666e-8,0.002920930147853429,-6.259580496894272e-6,1.8285299846459358e-8,0.002920958301557765,-6.151401288497133e-6,1.8127384394993633e-8,0.002920943527534336,-6.121517965926748e-6,1.8083876197142136e-8,0.002920918375602291,-6.176714362040785e-6,1.816459054828576e-8,0.0029209142523147777,-6.309966452545619e-6,1.8359183512205728e-8,0.0029209570493570875,-6.502919273456435e-6,1.864078390277559e-8,0.0029210641805222245,-6.729529878146821e-6,1.8971329337261025e-8,0.0029212431239192664,-6.960111764971586e-6,1.9307474224319167e-8,0.0029214911994797127,-7.165144308668532e-6,1.960613535377138e-8,0.002921796120285953,-7.318617634903727e-6,1.982935162046132e-8,0.002922137007124233,-7.4010933087209115e-6,1.994874542519259e-8,0.0029224858842140738,-7.402792330024526e-6,1.9950053694911065e-8,0.0029228100891597296,-7.3269133160290385e-6,1.9838013786501703e-8,0.0029230765056806078,-7.192875581754198e-6,1.9641124744988003e-8,0.002923258593947595,-7.038021661925838e-6,1.941411030247615e-8,0.0029233461420444737,-6.914897975233613e-6,1.9233867338703342e-8,0.0029233550561071457,-6.88082642372724e-6,1.9184132872670825e-8,0.002923331035256764,-6.979157664713172e-6,1.9328047777690732e-8,0.002923340142385916,-7.2183869507838524e-6,1.9677702094935728e-8,0.002923445583922481,-7.561828631160178e-6,2.0179192009197127e-8,0.002923681317946548,-7.937980661899995e-6,2.072789220706034e-8,0.0029240384097172193,-8.268180631197756e-6,2.1208898937220332e-8,0.0029244717828463846,-8.495446917109097e-6,2.1539128515592525e-8,0.0029249206337382287,-8.5993447870362e-6,2.168897594018406e-8,0.0029253292642615033,-8.593866031641322e-6,2.1679150221309016e-8,0.002925659785723746,-8.515407336314436e-6,2.1563040883823154e-8,0.0029258958667452545,-8.409144036535884e-6,2.140676187245665e-8,0.0029260405842169023,-8.318330424117874e-6,2.1273515340970926e-8,0.0029261116369550147,-8.277597083016847e-6,2.1213831819462888e-8,0.0029261360482877165,-8.309529221173803e-6,2.1260608728115165e-8,0.0029261452014683505,-8.42340926017503e-6,2.142729184107828e-8,0.002926170313882796,-8.615486024606374e-6,2.1708269585437497e-8,0.00292623844165663,-8.870566448345604e-6,2.2081201504360447e-8,0.00292636924853009,-9.164729529600066e-6,2.2511001728707966e-8,0.0029265727710682966,-9.46889441648262e-6,2.295507952203869e-8,0.0029268483980316373,-9.752900430721535e-6,2.336931848773817e-8,0.0029271851539575938,-9.989600330613871e-6,2.371405611551756e-8,0.0029275631112714875,-1.0158516530347245e-5,2.3959412562508196e-8,0.002927955664309901,-1.0248883948905652e-5,2.408973052847181e-8,0.002928332543885939,-1.0262052169211477e-5,2.4107097524156514e-8,0.002928663659626732,-1.0213176614852856e-5,2.4033835922844377e-8,0.002928924086482032,-1.0131859571605514e-5,2.391343414198871e-8,0.002929100469893201,-1.006068720901442e-5,2.380835533385682e-8,0.00292919825272032,-1.0049779074946679e-5,2.3791978424671676e-8,0.0029292472514429032,-1.0145544621233506e-5,2.3932078427797663e-8,0.0029293008561212352,-1.0374107175155202e-5,2.4266580620660107e-8,0.0029294238469290295,-1.0725024417737487e-5,2.4779841229322424e-8,0.002929669111734987,-1.114611883277768e-5,2.539521780426727e-8,0.0029300535325597157,-1.1558053316444333e-5,2.599647534430263e-8,0.0029305485124082784,-1.1884615009568598e-5,2.647210161222967e-8,0.0029310923955805034,-1.2081611605397568e-5,2.675757842754958e-8,0.002931616304399638,-1.2148069338781219e-5,2.6851763811636517e-8,0.002932067285150511,-1.2117575796211164e-5,2.6804177118692685e-8,0.002932418917621506,-1.2040100109443465e-5,2.6688285414068273e-8,0.002932670230039864,-1.1965464765100921e-5,2.657720810322275e-8,0.0029328387680504554,-1.1933289258766363e-5,2.6528961772784398e-8,0.00293295270881014,-1.196897681852962e-5,2.658062017342903e-8,0.002933044376699607,-1.2083490982675024e-5,2.67480469420976e-8,0.0029331455921541476,-1.2274805413081184e-5,2.7028061070784242e-8,0.002933284292138651,-1.2529877406152909e-5,2.7401345594697467e-8,0.00293348183921598,-1.2826952297089921e-5,2.7835835906596038e-8,0.0029337508490475143,-1.3138354603080276e-5,2.829083170402535e-8,0.002934093645838865,-1.3433894030281315e-5,2.872201713802254e-8,0.0029345016544849406,-1.3684880135773215e-5,2.908736254701938e-8,0.0029349561406361926,-1.386840837531521e-5,2.935340201831078e-8,0.002935430486740117,-1.3971275110489517e-5,2.95009506018706e-8,0.002935893835760189,-1.3992889279387817e-5,2.9529348563241594e-8,0.002936315747796631,-1.3946693107954746e-5,2.9458526641335536e-8,0.0029366714399644074,-1.3859725730502529e-5,2.9328347332084718e-8,0.0029369471463227275,-1.3770076163005065e-5,2.919483182596872e-8,0.0029371450608840764,-1.3721886782902614e-5,2.912277265954847e-8,0.002937286864066753,-1.3757394229001907e-5,2.917400350300773e-8,0.0029374138979444495,-1.3905986529102212e-5,2.9391340967481903e-8,0.002937581299334286,-1.4172039349156543e-5,2.9780814874648412e-8,0.002937844163109093,-1.45262281968288e-5,3.029905020497397e-8,0.0029382377175291947,-1.4907319198974039e-5,3.085599616240686e-8,0.0029387598782889463,-1.5239082205155629e-5,3.13397558100923e-8,0.0029393676298225253,-1.5457827043506526e-5,3.165695446938089e-8,0.002939992216838139,-1.5536378976067384e-5,3.1767915909756623e-8,0.0029405653190518453,-1.5490797301223943e-5,3.169654522724492e-8,0.002941041254771594,-1.536815347138079e-5,3.151235350452084e-8,0.00294140542344543,-1.5225670745632641e-5,3.129971116966001e-8,0.0029416699353257774,-1.511314588614597e-5,3.113191036723647e-8,0.002941863403875871,-1.5063955018859357e-5,3.105791466104839e-8,0.002942020994539501,-1.5093505935668198e-5,3.110013611490886e-8,0.002942177366646585,-1.520170158147927e-5,3.125814014183412e-8,0.0029423625508156873,-1.537654151057894e-5,3.1514004634474597e-8,0.002942599690849947,-1.559743059921687e-5,3.183721614696178e-8,0.00294290359336924,-1.5838011990550073e-5,3.2188849522134435e-8,0.00294327957060671,-1.606891948600009e-5,3.252562907878252e-8,0.002943722566359027,-1.626091105834113e-5,3.2804552667574874e-8,0.0029442169460562008,-1.6388674978272435e-5,3.2988495583917805e-8,0.002944737613991192,-1.643514977217652e-5,3.3052553288382284e-8,0.002945253028492552,-1.6395599116742716e-5,3.299000825108424e-8,0.0029457301748656087,-1.6280316984019043e-5,3.2816276383530096e-8,0.0029461409054937337,-1.6114844458962526e-5,3.2569189442586106e-8,0.002946468467779173,-1.59369584836108e-5,3.230452078197805e-8,0.0029467127007430827,-1.5790452065963385e-5,3.20867790313752e-8,0.002946892484190752,-1.571653783339316e-5,3.19765091292342e-8,0.0029470444074099875,-1.574421226294738e-5,3.201610119609517e-8,0.00294721700040216,-1.5881334913556607e-5,3.2216717921521556e-8,0.002947460426363542,-1.6108825234197094e-5,3.2549869520431156e-8,0.002947812788728661,-1.6380947123874963e-5,3.294795449427606e-8,0.002948286406491707,-1.663423983095662e-5,3.3317466246604255e-8,0.0029488597757889802,-1.6805051579412595e-5,3.356478318315856e-8,0.0029494809972528905,-1.6850594771345913e-5,3.362711592054566e-8,0.0029500837834087173,-1.6764027436157334e-5,3.3494691584581735e-8,0.002950609547099543,-1.65754022846451e-5,3.321214488618771e-8,0.0029510248489415226,-1.6338277873894157e-5,3.285874310463184e-8,0.002951326908519711,-1.6110067758768604e-5,3.251932528889389e-8,0.002951537740617979,-1.5935923031543694e-5,3.226045946019777e-8,0.002951692897861342,-1.5841154803625142e-5,3.2119268917177497e-8,0.0029518308167177263,-1.5831373922113136e-5,3.210371527010424e-8,0.002951985680243071,-1.5896753371837802e-5,3.219898309769699e-8,0.0029521838394617654,-1.6017149276703177e-5,3.237510141211502e-8,0.0029524425171660266,-1.6166416508957604e-5,3.259333287301716e-8,0.002952769476479237,-1.631566760743691e-5,3.281097659429368e-8,0.0029531628666808734,-1.6435949662826805e-5,3.298530817637135e-8,0.002953611072809355,-1.6501010877409013e-5,3.307765926789581e-8,0.0029540929521073237,-1.6490693620487103e-5,3.305842467294873e-8,0.002954579264429746,-1.639499922671663e-5,3.291305556929234e-8,0.00295503617946976,-1.6218085914775832e-5,3.264794315872196e-8,0.0029554312636725514,-1.598068794654785e-5,3.2293958485677294e-8,0.002955741283648492,-1.5719093070127868e-5,3.1904895652031e-8,0.002955959806034109,-1.547937573783238e-5,3.154889715991773e-8,0.0029561017019983917,-1.5307268455907255e-5,3.129343797151466e-8,0.002956202124345455,-1.5236171399037398e-5,3.118759456372629e-8,0.002956309344895545,-1.5277053681785616e-5,3.124717312307237e-8,0.002956473061121083,-1.5413664099591182e-5,3.144774573045378e-8,0.002956731321048645,-1.56048785559379e-5,3.1728248939181924e-8,0.00295709965139376,-1.5793981380019647e-5,3.20047831722283e-8,0.002957565526219128,-1.592284518104132e-5,3.2191570296512827e-8,0.002958090281759539,-1.5947524626471783e-5,3.2223937815342005e-8,0.0029586188407144266,-1.5850738642942996e-5,3.2076690446522256e-8,0.002959094945026436,-1.5646720190761735e-5,3.177121976954928e-8,0.002959476848073268,-1.5376083073574004e-5,3.136786811924238e-8,0.0029597476091094625,-1.5092533249955837e-5,3.094622473963542e-8,0.0029599165389014807,-1.4847001851064014e-5,3.058161120537158e-8,0.0029600126576895124,-1.4675368085643121e-5,3.032691574396036e-8,0.0029600742944759875,-1.4593152680899354e-5,3.020479859533819e-8,0.0029601393336397405,-1.4596748310243467e-5,3.020960605628144e-8,0.002960238698290419,-1.4668406120361078e-5,3.031483113270092e-8,0.002960393348094185,-1.4782054688900286e-5,3.048176038556993e-8,0.0029606137208240614,-1.4908213038661743e-5,3.0666732803764704e-8,0.002960900307724539,-1.5017561814104221e-5,3.082638893027108e-8,0.002961244434757364,-1.50835587775595e-5,3.092151102287129e-8,0.0029616289196745093,-1.508481954343969e-5,3.092053838966425e-8,0.0029620288994349014,-1.5007922270276185e-5,3.080373072655211e-8,0.002962413625758523,-1.485083932757977e-5,3.056826258788275e-8,0.0029627502369207145,-1.4626387490437281e-5,3.023332794121676e-8,0.002963010182597418,-1.4364071234967201e-5,2.9842834228472035E-08,0.002963177767764606,-1.4107920694885702e-5,2.9462135061082662e-8,0.002963258245024794,-1.390835698351417e-5,2.9165907356940043e-8,0.002963281197327158,-1.3808595017261191e-5,2.9017964910745684e-8,0.0029632955592347656,-1.3829869002871433e-5,2.9049396981577167e-8,0.0029633562901483323,-1.396211303207011e-5,2.9244867118890364e-8,0.002963507429295757,-1.4165122782118485e-5,2.9544476640865564e-8,0.0029637685076608447,-1.4380196230406393e-5,2.986111941278739e-8,0.0029641293995320965,-1.4547336536681909e-5,3.010599812437667e-8,0.0029645544477331213,-1.462147944059388e-5,3.021262159737794e-8,0.002964993199433165,-1.4582947790407866e-5,3.015220993420224e-8,0.002965393786237881,-1.4440252912374524e-5,2.993775541428279e-8,0.002965715263846332,-1.4225700000439636e-5,2.9617431791449873e-8,0.002965936105661564,-1.3985740295725363e-5,2.926023813664994e-8,0.0029660572013795127,-1.3768956215185547e-5,2.893816297894991e-8,0.0029660991821764673,-1.361495218959358e-5,2.8709729777681658e-8,0.0029660954822132313,-1.3546940317984253e-5,2.8609061319606824e-8,0.0029660836753954115,-1.3569374678669404e-5,2.86424548981107e-8,0.002966097715672726,-1.3670152439685494e-5,2.8791723939980673e-8,0.002966162758787371,-1.382559151959131e-5,2.9021622975413763e-8,0.002966292909415142,-1.4006141463460001e-5,2.9288313696922994e-8,0.0029664912327432187,-1.4181368889154244e-5,2.9546719679842586e-8,0.00296675098439865,-1.432364071392131e-5,2.975594063607446e-8,0.0029670571768570203,-1.441068763053631e-5,2.988302426452729e-8,0.0029673880824924595,-1.4427641005829092e-5,2.990599124607975e-8,0.0029677168251591012,-1.4369146872198044e-5,2.9817001755657374e-8,0.002968013691011178,-1.4241810907193253e-5,2.962601250879183e-8,0.0029682500709710805,-1.4066513065220714e-5,2.93642059457502e-8,0.002968404731954602,-1.387910107568484e-5,2.9084963591962518e-8,0.002968471978193223,-1.3727039399383037e-5,2.88588007731629e-8,0.002968469059433979,-1.3659767445614165e-5,2.875897632722551e-8,0.0029684378958154877,-1.3713145157645224e-5,2.8838395498620046e-8,0.00296843646941631,-1.3893353069001035e-5,2.9105800690051132e-8,0.0029685202671800416,-1.4169383669450605e-5,2.9514779524273305e-8,0.0029687215722676882,-1.4480741544933563e-5,2.997532983204709e-8,0.0029690374925616814,-1.4758063993347154e-5,3.038452227517716e-8,0.002969432550313911,-1.494625005415047e-5,3.0660807023103234e-8,0.0029698527534371528,-1.501941615613648e-5,3.076614564288683e-8,0.002970242975131316,-1.4983590593674082e-5,3.070991787329774e-8,0.002970560707010411,-1.486978332026129e-5,3.053852833456252e-8,0.002970783380041674,-1.4722598896256202e-5,3.031840881526067e-8,0.0029709096528671933,-1.4588664344004444e-5,3.01187930361603e-8,0.0029709563531596737,-1.4507263299708571e-5,2.999782950169233e-8,0.0029709528196634203,-1.450412607323851e-5,2.9993430059943106e-8,0.0029709340930672533,-1.4588613765477793e-5,3.011917526326649e-8,0.0029709342235076834,-1.4754157039491757e-5,3.036503994043903e-8,0.0029709808089967682,-1.4981337496558506e-5,3.070201327711546e-8,0.0029710914938153535,-1.524256500555707e-5,3.1089054340748793e-8,0.0029712726180356206,-1.5507206205397086e-5,3.1480689014010646e-8,0.0029715197167699482,-1.5746211713835314e-5,3.1833846061620287e-8,0.002971819217195222,-1.5935676545529305e-5,3.211310994113541e-8,0.0029721506391493777,-1.6059298169857467e-5,3.2294356226821274e-8,0.002972488915422919,-1.6110085669579795e-5,3.236730284468479e-8,0.0029728068475521232,-1.609171171330991e-5,3.233754856855953e-8,0.0029730780491342918,-1.6019684593364873e-5,3.2228331099957483e-8,0.002973280996517472,-1.5922014544477006e-5,3.2081488017266414e-8,0.002973404663571169,-1.5838170077771026e-5,3.195582334149546e-8,0.0029734552005521004,-1.581431674792034e-5,3.1919928221359786e-8,0.002973461188362297,-1.589302000644207e-5,3.2036819078499595e-8,0.0029734728689441363,-1.609792381140514e-5,3.234121094806937e-8,0.0029735507610109523,-1.6418860094304986e-5,3.281753040259766e-8,0.002973744280704623,-1.6807320664665265e-5,3.3393348896120576e-8,0.0029740698756861514,-1.7189700640362698e-5,3.395915574472174e-8,0.002974502213153519,-1.7494403406110863e-5,3.4408643234550394e-8,0.002974984560957685,-1.767802825408724e-5,3.4677597890506306e-8,0.0029754513730213712,-1.773672456282881e-5,3.476073805538473e-8,0.002975849730807777,-1.7700253301847003e-5,3.470280180238341e-8,0.0029761508530331345,-1.7616516953682456e-5,3.4575409590022556e-8,0.0029763511916333146,-1.7535807952942615e-5,3.445351817065031e-8,0.0029764671850589274,-1.7499734982786542e-5,3.439891544803893e-8,0.002976527814731713,-1.753553605886131e-5,3.445182277720747e-8,0.0029765674333753333,-1.7654482487030005e-5,3.462863214504655e-8,0.0029766197783471023,-1.785285028144174e-5,3.4923452338110174e-8,0.002976713303471049,-1.8114495901758313e-5,3.531200044507124e-8,0.00297686786306883,-1.841450460826479e-5,3.575704849602197e-8,0.002977092820345906,-1.8723439945705067e-5,3.6214741069552453E-08,0.0029773865940886136,-1.9011730919729806e-5,3.6641106825301627e-8,0.00297773758195352,-1.9253744086145604e-5,3.6998098021908325e-8,0.002978126225410339,-1.9431077092030192e-5,3.725847234837322e-8,0.002978527778364898,-1.953481608938666e-5,3.740914085341509e-8,0.0029789154040244796,-1.9566826718393777e-5,3.7453087807647996e-8,0.002979263474936315,-1.9540223734977267e-5,3.741007038668588e-8,0.002979551126528603,-1.9479037319080024e-5,3.731610210216535e-8,0.002979766242014358,-1.9416859969519788e-5,3.722137847792964e-8,0.0029799099497124348,-1.9393715173435276e-5,3.7185523694292244e-8,0.002980000915971834,-1.94498533312271e-5,3.7268276541520824e-8,0.0029800772524500073,-1.9615566721707554e-5,3.7514326950814606e-8,0.002980192469529219,-1.9898167604817833e-5,3.7934040287157073e-8,0.0029804022602219083,-2.0271164712515565e-5,3.8487521814506124e-8,0.0029807434701728474,-2.067424132501533e-5,3.9084720785291444e-8,0.0029812147089178787,-2.1030261025836366e-5,3.961077233026522e-8,0.0029817719928732045,-2.127449949752043e-5,3.99694784583061e-8,0.0029823449666828935,-2.1379992430783766e-5,4.0121037663042906e-8,0.0029828645165091085,-2.136410513008704e-5,4.009182899623436e-8,0.0029832854451143304,-2.127531976246566e-5,3.995464665032265e-8,0.002983594498668351,-2.1171712511966522e-5,3.97964527218785e-8,0.0029838054954291746,-2.1103248487216302e-5,3.9691834147374094e-8,0.002983948836829765,-2.110276132606735e-5,3.968953147631429e-8,0.002984061290257191,-2.1184288397485705e-5,3.981006008442894e-8,0.002984178513731084,-2.1345484561751207E-05,4.004945855912969e-8,0.00298433040769511,-2.157146104983014e-5,4.0385128619668554e-8,0.002984538433971821,-2.183875045296736e-5,4.078179890719198e-8,0.002984814157245484,-2.2119128743535838e-5,4.1197228817699106e-8,0.0029851587068223267,-2.2383338100873876e-5,4.158774803164346e-8,0.0029855631058775885,-2.260472386163859e-5,4.191366897386889e-8,0.002986009558291577,-2.2762699849510053e-5,4.214444460091879e-8,0.002986473810408079,-2.2845709776562213e-5,4.226307152736928e-8,0.0029869284555065143,-2.285321248440732e-5,4.226903134195116e-8,0.0029873468009023675,-2.279640960153469e-5,4.217934987696174e-8,0.0029877069362470323,-2.2697618488155953e-5,4.202762496290873e-8,0.002987995706883981,-2.2588196005956238e-5,4.186087368514205e-8,0.0029882122724941918,-2.250493424394035e-5,4.173407992678916e-8,0.002988370845250907,-2.2484777608857293e-5,4.170223881865493e-8,0.0029885017936435655,-2.255756728162393e-5,4.180950622118746e-8,0.002988649508545319,-2.2737002269993502e-5,4.20757789848222e-8,0.002988864944534272,-2.3011660125789477e-5,4.248345478531366e-8,0.0029891917531914853,-2.3340375925996207e-5,4.2970713042447454e-8,0.0029896486141179545,-2.3657833305475466e-5,4.3439950290240724e-8,0.002990215930999584,-2.3893473135528555e-5,4.378597223794274e-8,0.0029908371871804683,-2.399812996226874e-5,4.393568517521914e-8,0.0029914382467285117,-2.396417191820179e-5,4.3878147729951906e-8,0.0029919551613743003,-2.38265851199188e-5,4.3666186218943454e-8,0.0029923547556799392,-2.364535922564181e-5,4.33899815622375e-8,0.0029926388924618567,-2.34815530183942e-5,4.314111317342226e-8,0.0029928352743501543,-2.3379858232251807e-5,4.298635560434982e-8,0.002992983643000855,-2.3362211966869825e-5,4.2958145653724355e-8,0.002993124239325345,-2.3429729514789833e-5,4.305762336091702e-8,0.0029932908205783236,-2.3568260581625195e-5,4.3263117748307686e-8,0.0029935075467194595,-2.3754218892099406e-5,4.353897939933425e-8,0.002993788115402275,-2.3959322132927218e-5,4.3842700238288005e-8,0.002994135865131543,-2.415427368613513e-5,4.413039745178603e-8,0.002994544317604473,-2.431187474329782e-5,4.436143642962751e-8,0.0029949981369148688,-2.4409940834154676e-5,4.4502773677267694e-8,0.002995474733920963,-2.4434159363146072e-5,4.453322269139798e-8,0.002995946867852737,-2.438065412063379e-5,4.444727962470359e-8,0.0029963863997792425,-2.4257633800533217e-5,4.425756592263305e-8,0.0029967688850502656,-2.4085455016201706e-5,4.399488097416399e-8,0.002997078338300538,-2.3894673268282683e-5,4.370522458009922e-8,0.002997311349129843,-2.3721945852451404e-5,4.344359182276227e-8,0.002997479656226587,-2.360404297666528e-5,4.32649398235654e-8,0.0029976103593761477,-2.357065305448074e-5,4.3213385803306306e-8,0.002997743110787153,-2.3636926496027646e-5,4.3311086910764544e-8,0.002997923748088096,-2.379704664473801e-5,4.354874311053949e-8,0.0029981942175954005,-2.4020889171051923e-5,4.388077348084879e-8,0.0029985799058661606,-2.4256592745038067e-5,4.422930981774514e-8,0.0029990778745615423,-2.444143335305884e-5,4.450051619084297e-8,0.002999651934402648,-2.4520419116148653e-5,4.461236561595702e-8,0.003000240119555401,-2.4466536425871935e-5,4.452486712152954e-8,0.0030007744382348467,-2.4292342453891288e-5,4.4257372821343864e-8,0.0030012043836071256,-2.4045254021272564e-5,4.388146492212079e-8,0.003001512146798215,-2.3788596603881732E-05,4.3492440534199405e-8,0.003001713011004348,-2.3579216292932016e-5,4.3175608587979206e-8,0.0030018440201570076,-2.345253767991309e-5,4.298382851303703e-8,0.0030019492490419297,-2.3418849803166555e-5,4.293202980731309e-8,0.0030020683571267115,-2.3467794115789163e-5,4.300412504387121e-8,0.003002230577040951,-2.3575924418412295e-5,4.3164515275253525e-8,0.0030024530481396073,-2.371369072928725e-5,4.336864156691746e-8,0.0030027414546316424,-2.3850507219765965e-5,4.357057053753451e-8,0.0030030914014577796,-2.395813305179184e-5,4.3728004665977624e-8,0.003003489836964812,-2.4013129247926298e-5,4.3805913400348664e-8,0.003003916505986112,-2.3999045197511412e-5,4.3779791639210484e-8,0.0030043458018004154,-2.3908648392456543e-5,4.3639009503235175e-8,0.003004749546491452,-2.3746015567883387e-5,4.338995688522113e-8,0.0030051010544452283,-2.3527756377723387e-5,4.305786620408989e-8,0.003005380278727441,-2.3282359290256304e-5,4.268578367873625e-8,0.0030055791218540325,-2.3046814799346892e-5,4.232942511550203e-8,0.003005705403471987,-2.2860300990568903e-5,4.2047613637055405e-8,0.0030057838269298923,-2.2755768795899834e-5,4.188959157506121e-8,0.0030058528292368726,-2.275134395340437e-5,4.188212374752424e-8,0.003005957307061821,-2.2843946110056914e-5,4.2020014794074985E-08,0.003006138413427418,-2.300724171618979e-5,4.226319699714995e-8,0.0030064225790959894,-2.319527741556905e-5,4.254234844837243e-8,0.003006812562702178,-2.335201743558618e-5,4.277330694714285e-8,0.0030072836012702583,-2.3425444976355578e-5,4.2878234687331705e-8,0.003007787264335132,-2.3382901257872224e-5,4.280856410095554e-8,0.003008263689228249,-2.3222450315454287e-5,4.2561953877304193e-8,0.0030086592071474436,-2.2974830200955383e-5,4.218511547518296e-8,0.0030089426676550976,-2.26937486182808e-5,4.17591305405803e-8,0.00300911333844383,-2.2438134195979213e-5,4.137267939823414e-8,0.003009197487585295,-2.225432969879038e-5,4.1095226879594374e-8,0.003009236757661162,-2.216547948200621e-5,4.0961121500672567e-8,0.003009274709149118,-2.217043771176245e-5,4.09681037873079e-8,0.0030093468102407217,-2.224960297551781e-5,4.108625065125137e-8,0.003009475717436156,-2.2373205783984607e-5,4.1270546851323725e-8,0.003009670815179887,-2.250862585044295e-5,4.147189797251425e-8,0.0030099299700386954,-2.2625428795493783e-5,4.164463699013084e-8,0.00301024187402901,-2.269838136100306e-5,4.1750971465696804e-8,0.003010588197802463,-2.2709282253166442e-5,4.17636812926794e-8,0.0030109454772800953,-2.2648401738654642e-5,4.1668279995880246e-8,0.0030112871514783373,-2.2515993789587058e-5,4.1465320020488957e-8,0.003011586410402015,-2.2323777967550487e-5,4.1172650945728414e-8,0.003011820354517727,-2.2095615453953176e-5,4.082642765490463e-8,0.0030119753682766987,-2.1866121724890676e-5,4.0478962804724885e-8,0.0030120526329220835,-2.167596603147096e-5,4.019155827324615e-8,0.003012071619005174,-2.1563470526289128e-5,4.002177521312465e-8,0.0030120689879420764,-2.1553983387326334e-5,4.0007412510859045e-8,0.0030120914835277484,-2.1650539471334874e-5,4.015251477306536e-8,0.003012183981443884,-2.1829957093484467e-5,4.0421644155871945e-8,0.003012376436940448,-2.2046872823385574e-5,4.074612539538994e-8,0.003012674385510726,-2.2245060636632923e-5,4.104120937557746e-8,0.003013056385483303,-2.237249037808146e-5,4.122877520759659e-8,0.003013479206572159,-2.2395363336080645e-5,4.125840285038834e-8,0.00301388907552939,-2.2307009988112173e-5,4.112064949092303e-8,0.003014235716569667,-2.21292539477236e-5,4.0848957479960844e-8,0.0030144852458368573,-2.1905904722336058e-5,4.0509715506145036e-8,0.003014628140393211,-2.1690273931464643e-5,4.0183354013727575e-8,0.0030146798861370155,-2.1530670765035162e-5,3.9942465173289727e-8,0.003014674513909391,-2.1458647516230403e-5,3.9834154839566405e-8,0.0030146539150070514,-2.1483480978725524e-5,3.9871866653527925e-8,0.003014657045850174,-2.159355446238517e-5,4.003762590554032e-8,0.0030147123189946208,-2.1762610361229233e-5,4.029158028075859e-8,0.0030148344079461886,-2.1957660138997936e-5,4.0583952504102195e-8,0.003015024723893025,-2.214588593896058e-5,4.0865392615269084e-8,0.0030152739036193445,-2.22993320272481e-5,4.109395623141755e-8,0.0030155648211872598,-2.239750335835605e-5,4.123893927793968e-8,0.0030158753159103555,-2.242862410171888e-5,4.1282740545661414e-8,0.0030161804959735242,-2.239035571976067e-5,4.122196425411615e-8,0.0030164549748184135,-2.2290484655788065e-5,4.106850249505057e-8,0.0030166756785176938,-2.2147566876471484e-5,4.085053467582822e-8,0.0030168257902463656,-2.1990840651876128e-5,4.0612367627877493e-8,0.0030168998356597245,-2.185809576971141e-5,4.041113557692705e-8,0.003016908801918456,-2.1790004412026398e-5,4.030814374624823e-8,0.0030168827390098687,-2.1820318277313286e-5,4.035402021045058e-8,0.0030168675107474373,-2.19637983748077e-5,4.057054444845606e-8,0.003016913871536386,-2.220687703617631e-5,4.09366942603126e-8,0.003017061280745224,-2.2507121073764624e-5,4.138801109760418e-8,0.0030173232653145413,-2.28042122748035e-5,4.1833304318833444e-8,0.0030176816547766365,-2.3038752114974032e-5,4.218308051823787e-8,0.003018092461901088,-2.317060860472061e-5,4.2377204037070425e-8,0.0030185000617629827,-2.3189358211647577e-5,4.240056434796237e-8,0.0030188531890023565,-2.3114278349446322e-5,4.2282916648184983e-8,0.0030191172695145925,-2.298608274263823e-5,4.2086230161827244e-8,0.003019280521670172,-2.2854616393563075e-5,4.188596434454325e-8,0.00301935377876645,-2.27664496809722e-5,4.1752283274555145e-8,0.0030193653932179577,-2.2755137035095014e-5,4.173540981919782e-8,0.0030193531828910203,-2.2835689436507088e-5,4.185743087774839e-8,0.003019355569264338,-2.3003756094996915e-5,4.211123646364793e-8,0.003019403958407845,-2.323899690414335e-5,4.246574371735947e-8,0.003019517875462904,-2.3511172447957385e-5,4.2875145551518413e-8,0.003019703373553423,-2.3786991097561844e-5,4.328922423781491e-8,0.003019954219332213,-2.4036029761377636e-5,4.3662218358333147e-8,0.003020254766068992,-2.423482031971884e-5,4.395891153209101e-8,0.003020583367897793,-2.4369010761043288e-5,4.415784033020523e-8,0.0030209155492026242,-2.4434102956819604e-5,4.425239523927991e-8,0.0030212267021837735,-2.443546844269732e-5,4.4250868318591255e-8,0.0030214945520319145,-2.438812313993975e-5,4.417614262844354e-8,0.0030217018620748537,-2.4316298536123176e-5,4.406504030121207e-8,0.0030218398456035413,-2.4252307744576375e-5,4.396654725060574e-8,0.003021912331535931,-2.4233602777596313e-5,4.39372627104561e-8,0.0030219396761021347,-2.429662036167427e-5,4.4032012805518794e-8,0.0030219599100410016,-2.4466782499552282e-5,4.4288740896769435e-8,0.00302202361177359,-2.4746531459929342e-5,4.47105455738881e-8,0.003022180395983599,-2.5107010582484676e-5,4.525329764117915e-8,0.003022460057180725,-2.5490814286278737e-5,4.5829951905006934e-8,0.003022857627761485,-2.5828964736561783e-5,4.633626256410645e-8,0.003023332267934383,-2.6065721301283244e-5,4.668826880948124e-8,0.003023821927221237,-2.6178133626157623e-5,4.685181828073514e-8,0.0030242654527104103,-2.618060722133502e-5,4.6849397702988095e-8,0.00302462064736006,-2.6115003315723564e-5,4.674500325784846e-8,0.003024872054652819,-2.6034210741007566e-5,4.661907867346306e-8,0.003025029247398639,-2.5987096868666402e-5,4.654559337911846e-8,0.003025119674183166,-2.600869221520683e-5,4.657718713531259e-8,0.0030251798618585422,-2.6115962524536738e-5,4.6738915646380234e-8,0.003025247304514287,-2.6307892425086884e-5,4.702858653637406e-8,0.0030253540345252404,-2.6568373656992416e-5,4.742130825887169e-8,0.003025522180290973,-2.6870812112854194e-5,4.7876552038498893e-8,0.0030257616742353777,-2.718362842899639e-5,4.834647617031556e-8,0.0030260701248843638,-2.7475754898200334e-5,4.878418797216237e-8,0.003026434531440565,-2.7721296131052857e-5,4.915072369570908e-8,0.003026834267375794,-2.790282528074767e-5,4.941997646359749e-8,0.003027244652317317,-2.801310467185596e-5,4.958126578195143e-8,0.00302764045789911,-2.8055375984440208e-5,4.963976761859313e-8,0.0030279989828120874,-2.8042678247256376e-5,4.961548465878466e-8,0.003028302732030385,-2.7996614735003015e-5,4.9541371336797554e-8,0.0030285419382640503,-2.7945668380696642e-5,4.946074008271887e-8,0.0030287171664962805,-2.7922799028450726e-5,4.9423540183523226e-8,0.003028841979820805,-2.796162115926255e-5,4.948048077466765e-8,0.0030289448272879803,-2.8090202994150213e-5,4.967360897101288e-8,0.00302906808799766,-2.832216698757468e-5,5.002291747065914e-8,0.003029261393516597,-2.8646859820436187e-5,5.051165188848918e-8,0.0030295674732655794,-2.9023648863821986e-5,5.107788139765754e-8,0.0030300035036457318,-2.9387468552092513e-5,5.1622994265168756e-8,0.003030547654439084,-2.966892547984612e-5,5.204210187529804e-8,0.0030311419708281494,-2.9821700123341288e-5,5.226546402242462e-8,0.003031713429022907,-2.9841451121119933e-5,5.228710697781398e-8,0.0030322015269454838,-2.9764614366811912e-5,5.216297581619774e-8,0.003032576700297681,-2.964992539693665e-5,5.1982771928407634e-8,0.0030328427049061664,-2.95558177823456e-5,5.18354400080819e-8,0.0030330273738204275,-2.952483864326578e-5,5.178537523848844e-8,0.0030331699517057442,-2.9577898541893805e-5,5.1863748181959154e-8,0.0030333104138618784,-2.9715604944099784e-5,5.207074030425486e-8,0.003033482465717576,-2.9922976396352082e-5,5.238294189196952e-8,0.0030337098242709487,-3.017493755703473e-5,5.276185486031358e-8,0.0030340047066781646,-3.0441434203506502e-5,5.316170038656006e-8,0.0030343677318868385,-3.069201162682167e-5,5.353632168723621e-8,0.0030347889661070187,-3.089987345211356e-5,5.384526338775909e-8,0.0030352499978571756,-3.104524236184448e-5,5.405880170678398e-8,0.0030357268634388502,-3.111778908424594e-5,5.416158516454266e-8,0.0030361935715449567,-3.1117887001919675e-5,5.415451590233293e-8,0.003036625814699871,-3.105651407747209e-5,5.4054586154864e-8,0.003037004388893214,-3.095390233892545e-5,5.3892806738359834e-8,0.003037318044491069,-3.083722670992275e-5,5.3710656905416486e-8,0.0030375656938618433,-3.073753439132445e-5,5.355535566628204e-8,0.0030377579336559293,-3.068595891553895e-5,5.347403607373892e-8,0.0030379177300265737,-3.0709070813912385e-5,5.350663829087113e-8,0.00303807966723912,-3.0823076928323533e-5,5.367713979638666e-8,0.0030382864205653216,-3.102708512509555e-5,5.3983480616954495e-8,0.003038580787609243,-3.1297162733261364e-5,5.438876948576837e-8,0.0030389926926067358,-3.158502205672186e-5,5.481947606929273e-8,0.003039524072818,-3.1826340398447944e-5,5.517809779127173e-8,0.0030401396754807146,-3.196074975273588e-5,5.5373393880473416e-8,0.0030407732402690456,-3.1956872342941396e-5,5.5358273365942866e-8,0.0030413506216760183,-3.1827784431995975e-5,5.515324561172027e-8,0.0030418182463314066,-3.1625541651179424e-5,5.4838080988230775e-8,0.003042160215499455,-3.141800758364335e-5,5.4516451859117366e-8,0.003042396527409552,-3.126315753054347e-5,5.4276642795710085e-8,0.003042568426483442,-3.119410063882663e-5,5.416865946881467e-8,0.0030427219468042673,-3.121729790939866e-5,5.4201628447496637e-8,0.0030428965072263536,-3.131876817788899e-5,5.435349924198628e-8,0.0030431195875498325,-3.1472417249374476e-5,5.4583966139684054e-8,0.003043405671120528,-3.164719823662061e-5,5.48454888443154e-8,0.003043757278206,-3.181220441401584e-5,5.509103044165085e-8,0.0030441666670632966,-3.194016210578213e-5,5.527928024881129e-8,0.0030446177728978936,-3.2010055857858906e-5,5.537854846801234e-8,0.0030450884814295937,-3.200922767702134e-5,5.5369895852801475e-8,0.003045553386619406,-3.193493319092446e-5,5.524947681257876e-8,0.003045987115545042,-3.179510076572901e-5,5.502968803317016e-8,0.0030463680745412454,-3.1607871380829794e-5,5.473845618856727e-8,0.0030466821164058687,-3.139963516825679e-5,5.441621391559135e-8,0.0030469255028017037,-3.120163298944072e-5,5.4110664553357935e-8,0.003047106649642553,-3.1045429760949075e-5,5.3869815322197836e-8,0.003047246264489913,-3.0957724333207185e-5,5.373401644060654e-8,0.0030473756148905722,-3.0955076276420677e-5,5.372793333790556e-8,0.0030475327337165107,-3.10391075449408e-5,5.385333611732599e-8,0.0030477562593878016,-3.119291882112134e-5,5.408383161903094e-8,0.0030480767420623433,-3.138019112187306e-5,5.436371344206401e-8,0.003048506271394186,-3.154923496407961e-5,5.461427067933738e-8,0.003049029398017934,-3.164403612417949e-5,5.4750595244403097E-08,0.003049600741217892,-3.162181473782961e-5,5.470817249590223e-8,0.0030501546590933595,-3.147129459702184e-5,5.447053534930495e-8,0.0030506267199089275,-3.122124129326912e-5,5.408216609011085e-8,0.003050977543809847,-3.0931489493301834e-5,5.363475132421305e-8,0.0030512056349143645,-3.066970206362606e-5,5.323164358366911e-8,0.0030513427951945633,-3.048709541508865e-5,5.2950735410073135e-8,0.0030514375272195533,-3.0405493613713788e-5,5.2824725934812176e-8,0.0030515374213706445,-3.0418359774685625e-5,5.284287745599565e-8,0.003051677995809869,-3.050014466075965e-5,5.296553808075435e-8,0.0030518790092155215,-3.061696562449272e-5,5.314062781446654e-8,0.003052145625853913,-3.073469977610028e-5,5.3316031028704927e-8,0.0030524714707749288,-3.082377392153637e-5,5.344682144560079e-8,0.0030528417493476028,-3.086160174564249e-5,5.34988474804598e-8,0.0030532358836312897,-3.0833881042707114e-5,5.345060667689741e-8,0.003053629879526026,-3.0735485986035706e-5,5.3294565854492434e-8,0.0030539988364117142,-3.0571146292916206e-5,5.30382059792326e-8,0.0030543199507090837,-3.0355674406952507e-5,5.270438907050841e-8,0.0030545760956502454,-3.0113150877368533e-5,5.233010961195881e-8,0.00305475954547292,-2.9874438142143042e-5,5.1962653663563995e-8,0.003054874940487383,-2.967277780668974e-5,5.165280031939516e-8,0.0030549404324154324,-2.9537825570307475e-5,5.144563962738253e-8,0.0030549861390338404,-2.9489134143288323e-5,5.137059250576423e-8,0.0030550495976808005,-2.953061394193003e-5,5.143300630399881e-8,0.003055168710759939,-2.9647526534915528e-5,5.160970828560753e-8,0.0030553733364540553,-2.9807121158297693e-5,5.1850176986509324e-8,0.0030556770688369554,-2.9963521348213533e-5,5.208418350889287e-8,0.0030560711382057876,-3.0066914121891328e-5,5.223590149011024e-8,0.003056522783852153,-3.007606385331831e-5,5.224295582005858e-8,0.0030569803906741184,-2.9971466768568165e-5,5.207634125974998e-8,0.0030573862107332603,-2.9764480348069197e-5,5.1754164969916074e-8,0.0030576939719519337,-2.9497043921062268e-5,5.134105271121149e-8,0.0030578844960596806,-2.9229485363525857e-5,5.092940536552576e-8,0.0030579714726823846,-2.9020378842860718e-5,5.060856308901679e-8,0.00305799430929109,-2.890783769790072e-5,5.0436246780448754e-8,0.0030580024833647516,-2.8900743931462217e-5,5.042530128741445e-8,0.0030580398139917744,-2.8981793723107103e-5,5.0548579370877406e-8,0.0030581349144192635,-2.9117796452997896e-5,5.075489270553819e-8,0.0030582989710085853,-2.927092112731661e-5,5.0986296117823764e-8,0.00305852838098303,-2.9406906130383003e-5,5.1190589621726315e-8,0.00305880913029923,-2.9499417804318987e-5,5.132784410791377e-8,0.0030591209014314944,-2.9531615236497716e-5,5.1372652866946216e-8,0.003059440241717404,-2.949633831159525e-5,5.131434068941656e-8,0.00305974298908132,-2.9395907947313022e-5,5.1156659354477445e-8,0.0030600065090859636,-2.9241933794825013e-5,5.091753916282965e-8,0.00306021229511157,-2.9054948323373344e-5,5.062856693783168e-8,0.003060349177847135,-2.8863199511689882e-5,5.033312632870034e-8,0.003060416814008068,-2.8699745555567035e-5,5.008188395273282e-8,0.0030604284223485962,-2.8597283966096064e-5,4.992478512143156e-8,0.0030604111977471983,-2.858098323762389e-5,4.990002248696701e-8,0.0030604029204521956,-2.8660871126497475e-5,5.002240613766968e-8,0.0030604443802250266,-2.8826475438747818e-5,5.027527520898142e-8,0.0030605691021830185,-2.9046441406551585e-5,5.061009175503469e-8,0.00306079346737266,-2.927436144349517e-5,5.0955543464884993e-8,0.0030611106463299936,-2.945974872572592e-5,5.123445153963956e-8,0.003061490627398194,-2.9561147187201426e-5,5.1383839021491824e-8,0.0030618866932196325,-2.9557585511589545e-5,5.137235223398255e-8,0.0030622468460100747,-2.9455021239405097e-5,5.1209933881528055e-8,0.0030625273270125427,-2.9285654512983767e-5,5.0946554534423536e-8,0.0030627045011972953,-2.909970499319971e-5,5.065943900038011e-8,0.003062781223049597,-2.8951506243513924e-5,5.043168206571564e-8,0.0030627851170516554,-2.8884214842026012e-5,5.032886811317642e-8,0.003062759221135395,-2.8918582214671775e-5,5.038203695084455e-8,0.0030627487734678108,-2.9049687038960627e-5,5.0582911500186546e-8,0.0030627893702877065,-2.9251814457828465e-5,5.0891584468485985e-8,0.0030629003148716434,-2.9488179827505706e-5,5.1251525998749074e-8,0.0030630839037973016,-2.972103318011528e-5,5.160504457192073e-8,0.0030633288315558426,-2.9918997653759335e-5,5.190441062046527e-8,0.003063615124797014,-3.0060785653816723e-5,5.211739828811116e-8,0.003063918729338474,-3.013609360645597e-5,5.222854366679751e-8,0.003064214995878956,-3.014497667576545e-5,5.223815136496016e-8,0.0030644811540353513,-3.0096760320048008e-5,5.2160662139867385e-8,0.003064698316991432,-3.0009023509637796e-5,5.202315302953461e-8,0.0030648536429064674,-2.990656924730143e-5,5.1863784882354814e-8,0.0030649429933266646,-2.9819741475536308e-5,5.1729180727117875e-8,0.0030649738454125133,-2.9781167475517766e-5,5.166933721709507e-8,0.0030649674206902153,-2.98201748061254e-5,5.172897531156119e-8,0.0030649581828044383,-2.9955006804012056e-5,5.19355879701887e-8,0.0030649887015580467,-3.0184701153387606e-5,5.2287079973691934e-8,0.0030650993228122743,-3.048438554024296e-5,5.274472973817438e-8,0.0030653151426291397,-3.080799959377198e-5,5.3237545317571995e-8,0.0030656356436287177,-3.109971429626911e-5,5.36798936350581e-8,0.003066032397083313,-3.131062399609393e-5,5.3997123564829124e-8,0.0030664566457068772,-3.141392264624986e-5,5.414878191396371e-8,0.003066853673243906,-3.141241782904111e-5,5.414000445922996e-8,0.003067178107954643,-3.1336255718859404e-5,5.401782535141934e-8,0.003067405017322031,-3.123297452844401e-5,5.385569119674471e-8,0.0030675342967685115,-3.115406523908855e-5,5.3732673458228506e-8,0.0030675883450696387,-3.1142126616185284e-5,5.3713731593782084e-8,0.003067604598905477,-3.122165258980363e-5,5.3835712946092174e-8,0.0030676253853558076,-3.139518885501176e-5,5.41016984091395e-8,0.0030676878955794595,-3.164514859820826e-5,5.448403678006608e-8,0.0030678167760080873,-3.1940102956282886e-5,5.4934156079083943e-8,0.00306802082106185,-3.22432379520567e-5,5.539556794925043e-8,0.0030682938008947383,-3.252038055262967e-5,5.581610023286302e-8,0.003068618188348601,-3.2745712319185725e-5,5.6156527333722295e-8,0.0030689700372110436,-3.290455445210272e-5,5.63947158589191e-8,0.0030693235621584002,-3.299368835276426e-5,5.652604281911584e-8,0.0030696546829265168,-3.302018003318915e-5,5.656158441311524e-8,0.003069943501781531,-3.299964329710182e-5,5.652548727111865e-8,0.0030701761356594238,-3.295448884467991e-5,5.6452316329964884e-8,0.0030703464351241215,-3.2912168983386934e-5,5.6384348797087725e-8,0.0030704579205523843,-3.290292724600728e-5,5.6368046064395786e-8,0.0030705257705411666,-3.2956240209135014e-5,5.6448491101539555e-8,0.003070577902929506,-3.3095212754677564e-5,5.666072725949836e-8,0.003070653303256023,-3.332901887976236e-5,5.7018206275630994e-8,0.0030707954675129484,-3.3645317050531466e-5,5.750131258839977e-8,0.003071040281409215,-3.4006866132882734e-5,5.805237688321617e-8,0.003071401442066699,-3.435724590922433e-5,5.858460257890024e-8,0.003071860664240823,-3.463707718078335e-5,5.900700173455468e-8,0.003072369948294953,-3.4805077484133635e-5,5.9256687131385314e-8,0.0030728668933984586,-3.4853323968064e-5,5.932224867940723e-8,0.00307329574470014,-3.4808729472292477e-5,5.9245906426521214e-8,0.0030736238628414326,-3.472127382584356e-5,5.910521892617646e-8,0.0030738476136962186,-3.4646440956723325e-5,5.898583976281836e-8,0.0030739883560582247,-3.462984017376718e-5,5.895772090868357e-8,0.0030740829181741033,-3.46981445897087e-5,5.906122528438606e-8,0.0030741729261370603,-3.485661305223858e-5,5.930354340403719e-8,0.0030742957031104122,-3.509154811261891e-5,5.966276668283171e-8,0.0030744779277463736,-3.537572740023708e-5,6.00964697542749e-8,0.0030747323559975367,-3.5675189893930766e-5,6.055223916889516e-8,0.003075057487670119,-3.5956061174078274e-5,6.097812908001633e-8,0.0030754397046584866,-3.619027550379833e-5,6.133134047523962e-8,0.0030758570531433604,-3.6359408441814945e-5,6.158398173260262e-8,0.0030762836935755364,-3.645637499575067e-5,6.17255797130405e-8,0.0030766941332692503,-3.6485215974385064e-5,6.176270393282051e-8,0.00307706662715048,-3.645952970605651e-5,6.17165520944473e-8,0.0030773855806581914,-3.64002479832436e-5,6.161954383422073e-8,0.0030776432027652626,-3.63332416409525e-5,6.151163570192726e-8,0.003077840759611733,-3.628682113866609e-5,6.143643256726638e-8,0.003077989627912044,-3.628885788142236e-5,6.143667890109774e-8,0.0030781120193623807,-3.6363006241524466e-5,6.154837667649236e-8,0.0030782405956229293,-3.652349964920907e-5,6.179278977302228e-8,0.0030784153961581056,-3.6768720995789186e-5,6.216668724687254e-8,0.003078676287039924,-3.707542807113103e-5,6.263368664319519e-8,0.0030790504999446576,-3.739763323181358e-5,6.312273725650803e-8,0.0030795385416962856,-3.767491089624212e-5,6.354097060212617e-8,0.0030801063485889927,-3.7851372011602716E-05,6.380282181650783e-8,0.003080691860843348,-3.789839797156401e-5,6.3864909335135015E-08,0.0030812263089583505,-3.782804205247127e-5,6.374660437345014e-8,0.0030816595018051856,-3.768799022595951e-5,6.352218567186832e-8,0.003081975175275685,-3.754141745986299e-5,6.328960513196501e-8,0.0030821904003572086,-3.7444257862379394e-5,6.313520651894206e-8,0.003082343638281676,-3.743069219176931e-5,6.311124043335557e-8,0.0030824800552818033,-3.7509564541134194e-5,6.323047245576145e-8,0.0030826400072475326,-3.7668452785068254e-5,6.347276711043042e-8,0.003082852413765722,-3.788093848520992e-5,6.379661295313797e-8,0.003083132266538477,-3.811403698482697e-5,6.415076333549884e-8,0.0030834808667202927,-3.833449478651092e-5,6.448396137955909e-8,0.0030838877341181153,-3.8513714836371074e-5,6.475242681002939e-8,0.0030843336004778847,-3.8631288755844996e-5,6.49251538042667e-8,0.003084794042322366,-3.867707285475078e-5,6.49869875714132e-8,0.0030852433321181686,-3.865183435490819e-5,6.49395475346079e-8,0.0030856581339217173,-3.856655888053119e-5,6.48001336398034e-8,0.0030860206460516367,-3.844058492853828e-5,6.459884806542256e-8,0.0030863208771382037,-3.8298947069799535e-5,6.437449277747022e-8,0.0030865580404335806,-3.816935596666206e-5,6.416988298112212e-8,0.0030867412223701774,-3.807898089265322e-5,6.402682842646071e-8,0.0030868893766480983,-3.8050984731237867e-5,6.398072676630348e-8,0.0030870304944824955,-3.810068561233592e-5,6.405462439468387e-8,0.003087199430753806,-3.823122572618231e-5,6.425261522376926e-8,0.0030874333446925814,-3.842914766591009e-5,6.455320872359164e-8,0.0030877636895722525,-3.866159342862816e-5,6.490525234810125e-8,0.0030882049718960573,-3.887836166676586e-5,6.523127311346362e-8,0.003088743561312213,-3.9022341755227606e-5,6.544356507347711e-8,0.003089333590640843,-3.904860755320145e-5,6.547348840413299e-8,0.0030899071036917716,-3.894510170953161e-5,6.530322358465656e-8,0.0030903979050176593,-3.8742004346281896e-5,6.498015271661827e-8,0.003090767228006569,-3.8501181533249536e-5,6.460049051721142e-8,0.0030910160608724553,-3.8290854101103754e-5,6.426997931057188e-8,0.0030911786470456865,-3.816087723268984e-5,6.406549047523721e-8,0.003091304636594572,-3.81308943961482e-5,6.401668515462453e-8,0.0030914415331645385,-3.819243835001492e-5,6.410948319588161e-8,0.003091624053373996,-3.831851468248846e-5,6.430123035197483e-8,0.0030918706623143453,-3.8474104361764894e-5,6.453722136219927e-8,0.0030921846709144477,-3.8624255014770126e-5,6.476330985906157e-8,0.0030925572633731823,-3.8739191826344275e-5,6.493373044917373e-8,0.0030929709124494467,-3.879722444333691e-5,6.501542077873879e-8,0.003093402731555433,-3.8786312162609277e-5,6.499027635350036e-8,0.0030938277663450082,-3.870467412242986e-5,6.485599547202599e-8,0.0030942222139669767,-3.856054410640383e-5,6.462566902485165e-8,0.003094566519648795,-3.8371053174280506e-5,6.432606100579885e-8,0.0030948481721392368,-3.816012347433993e-5,6.399436069664364e-8,0.003095063804553022,-3.795541247827492e-5,6.36734419165358e-8,0.003095220250846101,-3.778464042825393e-5,6.34061366452044e-8,0.003095334440344874,-3.76716671513097e-5,6.322910755980504e-8,0.00309543208101415,-3.76325912073004e-5,6.316677889485286e-8,0.0030955450293822886,-3.767217508425234e-5,6.32258396731875e-8,0.003095707183071852,-3.778095740397159e-5,6.339090801722296e-8,0.00309594862334514,-3.793365750566644e-5,6.36222778804018e-8,0.003096287931628474,-3.80901905074783e-5,6.385770713701393e-8,0.0030967236941520254,-3.8201303672671125e-5,6.402124536059043e-8,0.003097228280907147,-3.822036947682624e-5,6.404140759803494e-8,0.0030977490184312755,-3.8120022723220564e-5,6.387670810024808e-8,0.0030982210755350135,-3.7907147081520453e-5,6.353864073301886e-8,0.0030985900761617553,-3.762610731223205e-5,6.309655120907573e-8,0.0030988336384995293,-3.734434007536094e-5,6.265523738702239e-8,0.003098968816215725,-3.7126254709522466e-5,6.231441792645098e-8,0.003099041425769494,-3.7010331236075636e-5,6.213318613669418e-8,0.0030991055833493103,-3.7000963291756114e-5,6.211747094970239e-8,0.0030992057850765756,-3.707503307238412e-5,6.223050579274813e-8,0.0030993681475792695,-3.719515769679686e-5,6.241367766141261e-8,0.0030996000182369945,-3.7321886461173106e-5,6.260562024590069e-8,0.0030998940056717068,-3.742152940130405e-5,6.275433238229519e-8,0.003100233021590866,-3.7469791909199243e-5,6.282264287237035e-8,0.0031005946146256498,-3.74527865541713e-5,6.278957087078115e-8,0.0031009543309571943,-3.7366892039579344e-5,6.264995951136436e-8,0.003101288498980592,-3.721816385706405e-5,6.241351573364313e-8,0.0031015767979117176,-3.702139137135275e-5,6.210337620395833e-8,0.0031018047687390517,-3.679862687950359e-5,6.175387343947005e-8,0.0031019661991720264,-3.657686241831285e-5,6.140695022313485e-8,0.0031020649564957345,-3.638462538015085e-5,6.110684934249384e-8,0.0031021156285978737,-3.624768225270253e-5,6.089338495755532e-8,0.003102142484188417,-3.6184428286903e-5,6.079473351831937e-8,0.0031021765631752685,-3.620172937410701e-5,6.082097958568538e-8,0.0031022510076930674,-3.629208197157182e-5,6.095979473559371e-8,0.0031023950750430954,-3.643289906673445e-5,6.117550104443778e-8,0.0031026275545373554,-3.658852828809345e-5,6.141241349154455e-8,0.0031029505897565103,-3.6715498961018746e-5,6.160314515690131e-8,0.0031033454561945222,-3.677128760644678e-5,6.168223979401771e-8,0.0031037725875075316,-3.672594194239396e-5,6.160407633853862e-8,0.0031041783170027994,-3.6573890333345214e-5,6.13609507617016e-8,0.0031045091130757767,-3.634081561194844e-5,6.099349544356457e-8,0.0031047297909969312,-3.607980110758601e-5,6.058452494813771e-8,0.0031048374201034855,-3.585494963702326e-5,6.023352619407363e-8,0.003104862516995215,-3.5718644691785436e-5,6.002135737673514e-8,0.003104856093193385,-3.569405931092349e-5,5.998319444364333e-8,0.0031048700872880267,-3.577137790618058e-5,6.010288490586609e-8,0.003104941604094109,-3.5916960865466545e-5,6.032745899023271e-8,0.00310508658575867,-3.608784938858073e-5,6.058987181278256e-8,0.003105301813939656,-3.6244129061960325e-5,6.082825896614451e-8,0.0031055709169320175,-3.6355939860998774e-5,6.099670423139435e-8,0.003105870647986892,-3.6405690275413666e-5,6.106846533436347e-8,0.0031061756914431407,-3.638750956805874e-5,6.103492926911871e-8,0.0031064618740461935,-3.630572623697611e-5,6.090315332297189e-8,0.0031067083897661323,-3.617327510332381e-5,6.069340518034317e-8,0.0031068996748370463,-3.6010179052804656e-5,6.043687697777326e-8,0.0031070273067826453,-3.5841809895788134e-5,6.017304374810048e-8,0.003107091924907097,-3.569640763286369e-5,5.994580924865879e-8,0.003107104690948129,-3.5601421586642455e-5,5.979775912534584e-8,0.0031070874280543044,-3.557871974140187e-5,5.976263364692894e-8,0.0031070705639987084,-3.563939705212548e-5,5.985721638430891e-8,0.00310708845076731,-3.577953751271076e-5,6.007479140748683e-8,0.0031071724854550274,-3.597857902840596e-5,6.0382741421625e-8,0.003107343449944664,-3.620155104969642e-5,6.072622362437715e-8,0.0031076051132779385,-3.640540195274204e-5,6.10381901744192e-8,0.0031079410880545904,-3.6548419234103456e-5,6.125412657583635e-8,0.0031083163328670636,-3.6600797795219e-5,6.132843658673388e-8,0.003108683776045806,-3.655377779638129e-5,6.12484672972554e-8,0.0031089953478281146,-3.642449473760269e-5,6.104178540723422e-8,0.0031092151923365167,-3.6254006005909544e-5,6.077284786520125e-8,0.003109331132111241,-3.6097367552710236e-5,6.052739707346827e-8,0.00310935954808475,-3.6007610042852635e-5,6.038750927329051e-8,0.0031093404361101393,-3.601917120844064e-5,6.04059490162074e-8,0.0031093239113226005,-3.6137917913298556e-5,6.059089030936383e-8,0.003109354124427072,-3.6341991680345246e-5,6.090751315544337e-8,0.0031094576079410963,-3.6591899919457295e-5,6.12939239128099e-8,0.003109639723574992,-3.684400498898479e-5,6.168222747975021e-8,0.003109888172433052,-3.706155993675539e-5,6.201562972733295e-8,0.003110179865335902,-3.7220522609188814e-5,6.225730522644977e-8,0.0031104876813696455,-3.731061864999249e-5,6.239184703464731e-8,0.00311078539719096,-3.733367074941028e-5,6.242252235980394e-8,0.0031110506840359895,-3.730106234421321e-5,6.236728729470829e-8,0.003111266829818254,-3.723134017143124e-5,6.225510727514509e-8,0.0031114239398752712,-3.7148181411718e-5,6.212287206499815e-8,0.0031115201531575613,-3.7078419428024274e-5,6.201236188919679e-8,0.003111562975299694,-3.7049500972479054e-5,6.196625586571644e-8,0.003111570240611829,-3.7085775629295866e-5,6.20222732746493e-8,0.0031115696907623807,-3.720350361712773e-5,6.220533256957703e-8,0.003111595961660061,-3.740535774526301e-5,6.251900193071125e-8,0.0031116842348012787,-3.7676298720104116e-5,6.293919212979045e-8,0.0031118612256879658,-3.798340020650173e-5,6.341407163920447e-8,0.003112136139777003,-3.828150901245256e-5,6.387306782824209e-8,0.003112495379209596,-3.852427301854293e-5,6.424415997620797e-8,0.003112903926884855,-3.867726198381603e-5,6.447432367142958e-8,0.0031133136874417224,-3.872848224078679e-5,6.454579824951314e-8,0.0031136761793375063,-3.8692456923064395E-05,6.448222652228261e-8,0.0031139554371912236,-3.860656882561176e-5,6.434267804320025e-8,0.0031141372703484766,-3.8521032659985596e-5,6.420576709598722e-8,0.0031142324513703736,-3.848555621137015e-5,6.414873497201981e-8,0.003114273122112332,-3.85363882869955e-5,6.422732768153216e-8,0.0031143034616922818,-3.868736365238427e-5,6.446208120483557e-8,0.0031143674207793413,-3.892758353008189e-5,6.483503018920008e-8,0.003114497459059395,-3.9226240381586666e-5,6.529750515880651e-8,0.0031147078121036174,-3.954245370409532e-5,6.578559894383833e-8,0.00311499378960663,-3.983627974908429e-5,6.623730004445356e-8,0.0031153360888836355,-4.007726426013293e-5,6.660567612073376e-8,0.0031157075151952004,-4.024868825724295e-5,6.686529743458914e-8,0.00311607947574405,-4.034776414925683e-5,6.701237492469503e-8,0.0031164267230209515,-4.038331710088937e-5,6.706105409678788e-8,0.0031167301083817336,-4.037260325837689e-5,6.703845169512361e-8,0.003116977890976981,-4.033831580823609e-5,6.698004129434217e-8,0.0031171663505323325,-4.030610095786534e-5,6.692583316158584e-8,0.0031173002857739405,-4.030233658179883e-5,6.691691302618574e-8,0.0031173935830516013,-4.035158745219613e-5,6.699141672014888e-8,0.003117469472534857,-4.047311163717984e-5,6.71790093138832e-8,0.0031175594775110223,-4.067616621474953e-5,6.749354678239481e-8,0.0031176996760878236,-4.095478103045957e-5,6.792501578391407e-8,0.003117923245200117,-4.1284097202451735e-5,6.843400804444655e-8,0.003118249965451604,-4.162156390749211e-5,6.895378532468487e-8,0.0031186762577232225,-4.1915651713568604e-5,6.940399276282996e-8,0.0031191714040973333,-4.212116830683181e-5,6.971456663709166e-8,0.0031196840741649716,-4.2215346438736336e-5,6.985077033810668e-8,0.003120157847027817,-4.220674667049533e-5,6.98269624957057e-8,0.0031205489414833265,-4.2132362620646234e-5,6.97018734876997e-8,0.0031208383916512266,-4.20448327662397e-5,6.955836204462521e-8,0.003121034785095203,-4.199616018547974e-5,6.947774286240719e-8,0.003121168632125931,-4.202421267565137e-5,6.951862361251391e-8,0.0031212820770698153,-4.214528318978495e-5,6.970544612819716e-8,0.0031214177248149594,-4.235306877230772e-5,7.002722768273191e-8,0.0031216092731973467,-4.2622792035729374e-5,7.044435725304227e-8,0.0031218754919343627,-4.2918580516760454e-5,7.090035608149642e-8,0.0031222181803268524,-4.320209457310386e-5,7.133539946884241e-8,0.003122623947005099,-4.344044848734895e-5,7.169857291254788e-8,0.00312306884485219,-4.361179467816571e-5,7.195639886437939e-8,0.003123524289638139,-4.370774340490241e-5,7.209642624241596e-8,0.0031239626656890764,-4.373282262997294e-5,7.21262580887302e-8,0.0031243615440335547,-4.3701909396077086e-5,7.206948965492392e-8,0.0031247061538028763,-4.3636780471882876e-5,7.196033443639855e-8,0.0031249903765416783,-4.356272900897019e-5,7.183837800351165e-8,0.0031252168682957006,-4.3505688790359626e-5,7.174410685588453e-8,0.0031253968441908885,-4.348975073626395e-5,7.17150048965672e-8,0.0031255497310814042,-4.35346390742139e-5,7.178155313739291e-8,0.00312570246406995,-4.3652662272077505e-5,7.196242839516862e-8,0.0031258876523310264,-4.384487979547073e-5,7.225856364534224e-8,0.003126139361453899,-4.409699636109416e-5,7.26468964950289e-8,0.003126485461480311,-4.437689592985936e-5,7.307674195249288e-8,0.003126937079372063,-4.4637120813428204e-5,7.347383911846252e-8,0.003127478854765807,-4.482535361453673e-5,7.375675854161458e-8,0.0031280666690904416,-4.490213927602775e-5,7.386449999496449e-8,0.0031286382404406153,-4.4858518891369295e-5,7.37839353542856e-8,0.0031291344460409416,-4.472272685316552e-5,7.356017852034121e-8,0.0031295207052957296,-4.455029894921475e-5,7.328095575302624e-8,0.0031297969026368396,-4.440289276125083e-5,7.304320913549977e-8,0.0031299925059136854,-4.4327735522592144e-5,7.292069128837017e-8,0.0031301525953489643,-4.4346566926362245e-5,7.294663172919162e-8,0.003130323040755186,-4.44552245163689e-5,7.311334170083266e-8,0.0031305398839340287,-4.463002091424208e-5,7.338260528006618e-8,0.00313082404631057,-4.483652215332876e-5,7.369977824422968e-8,0.0031311803606072124,-4.503787355813529e-5,7.400698484506922e-8,0.0031315994383132096,-4.5201450522542784e-5,7.425347439859536e-8,0.0031320612381614877,-4.530356848674249e-5,7.440279963037097e-8,0.0031325396046175753,-4.533218545978504e-5,7.443682235158883e-8,0.003133007088926917,-4.528754210138793e-5,7.435654510846008e-8,0.003133439334571156,-4.51809403698077e-5,7.41801159799911e-8,0.003133818472273233,-4.503213230381495e-5,7.393873233871031e-8,0.003134135205289634,-4.486591093923118e-5,7.367133504974223e-8,0.0031343895555660316,-4.470855447784281e-5,7.34190699593144e-8,0.003134590575431148,-4.4584622562577654e-5,7.322027017012072e-8,0.0031347554245567386,-4.451420562905288e-5,7.310611312884732e-8,0.0031349080100163845,-4.451044644791041e-5,7.309669605942408e-8,0.0031350771198854635,-4.457710742852157e-5,7.319723119373661e-8,0.0031352936217133444,-4.47060605212665e-5,7.339422020383135e-8,0.0031355858958112227,-4.487510826442938e-5,7.365224958348347e-8,0.003135972822388433,-4.5047645339306655e-5,7.391369496033267e-8,0.0031364549294214225,-4.517674188187485e-5,7.410524949995039e-8,0.003137006880828943,-4.521608014150156e-5,7.415499865583744e-8,0.0031375773084138556,-4.513707215275879e-5,7.401903658596108e-8,0.003138101428611319,-4.494515854131807e-5,7.370680978793502e-8,0.0031385245037932065,-4.468383466731007e-5,7.328731665396651e-8,0.0031388241332245405,-4.441996388809048e-5,7.286597138629206e-8,0.003139017499846824,-4.421722026618582e-5,7.254276438257211e-8,0.003139150157383647,-4.411342074013215e-5,7.237653893372397e-8,0.0031392756212672386,-4.411288523762928e-5,7.237306272266767e-8,0.003139437968769991,-4.4192948719133804e-5,7.249557334607343e-8,0.0031396632755686426,-4.431658177299298e-5,7.268500837724008e-8,0.0031399588406845693,-4.444412071309936e-5,7.287870894461722e-8,0.0031403166737552367,-4.454122642373622e-5,7.302295817715162e-8,0.0031407183126958165,-4.4583109623867075e-5,7.307944575839242e-8,0.0031411394477191415,-4.4556196731207386e-5,7.302762227868937e-8,0.0031415539994911366,-4.445830099035177e-5,7.28647417048713e-8,0.003141937728993228,-4.429775179132686e-5,7.260437295376374e-8,0.0031422713373744243,-4.4091609934731785e-5,7.227358181570472e-8,0.0031425429027575314,-4.386309308749254e-5,7.190893225978437e-8,0.0031427494576673834,-4.363836426557965e-5,7.155149576181157e-8,0.0031428974772572276,-4.3442976873453624e-5,7.124128957024562e-8,0.003143002214192302,-4.329843267004607e-5,7.101185038058907e-8,0.003143086052266109,-4.321920239699395e-5,7.088551186228275e-8,0.0031431760678829164,-4.3210361139567735e-5,7.086966698763124e-8,0.0031433008971223707,-4.3265945431617366e-5,7.09542336198036e-8,0.003143486895319873,-4.336813785078726e-5,7.111052058211447e-8,0.0031437533847702066,-4.348759147027911e-5,7.12919612296051e-8,0.0031441069213620117,-4.358585463469756e-5,7.143813366953108e-8,0.003144535476545944,-4.362139298757207e-5,7.148429942205696e-8,0.003145005091611609,-4.3560203673701036e-5,7.137795505629189e-8,0.003145463126681861,-4.3389675112285365e-5,7.11003324650128e-8,0.003145851574927433,-4.3129979926205826e-5,7.068402441148508e-8,0.0031461283507413433,-4.2833959953962696e-5,7.021264040871186e-8,0.003146286100171612,-4.257032356693477e-5,6.979432110562806e-8,0.0031463558591178996,-4.239669820392884e-5,6.951932082306872e-8,0.003146392327049763,-4.233819904869464e-5,6.942631862677053e-8,0.0031464507043553205,-4.2383168839997224e-5,6.94958958380317e-8,0.0031465688651928546,-4.249459392815535e-5,6.966883115670779e-8,0.0031467612849682977,-4.262689345829094e-5,6.987285185595196e-8,0.0031470222789782287,-4.273918499304871e-5,7.004366315740973e-8,0.0031473330289561153,-4.2802158807808166e-5,7.013567759431403e-8,0.003147668417268007,-4.279983806022786e-5,7.01245308551207e-8,0.0031480021049310764,-4.272860133319068e-5,7.00052672228628e-8,0.0031483099313495784,-4.259528124034335e-5,6.978916831189976e-8,0.0031485723125253334,-4.241509647530167e-5,6.950045735299453e-8,0.0031487761173877083,-4.2209454417396814e-5,6.917289890407978e-8,0.0031489161538580373,-4.2003459881328945e-5,6.884596295593158e-8,0.003148996162170557,-4.1822953882087386e-5,6.856021556609623e-8,0.003149028978654053,-4.169106752864223e-5,6.835188836388549e-8,0.003149035482429731,-4.162464544196019e-5,6.824720046102467e-8,0.003149042199251593,-4.163112014627014e-5,6.825739085675065e-8,0.00314907771956232,-4.170639233813112e-5,6.837538674971382e-8,0.0031491682653819867,-4.18342132313785e-5,6.857492364962827e-8,0.0031493329122884942,-4.198742613049102e-5,6.881267918772647e-8,0.003149579039836493,-4.213120402571019e-5,6.903358555963276e-8,0.0031498986271138838,-4.2228420130555436e-5,6.91794432100356e-8,0.0031502664228729867,-4.2247298350746497e-5,6.920097199180307e-8,0.003150641701734798,-4.217078712182122e-5,6.907238815589541e-8,0.0031509754961388586,-4.200545381164349e-5,6.880509810771359e-8,0.0031512238608324395,-4.1785638196682574e-5,6.845392811745735e-8,0.0031513640821730364,-4.1567794289340616e-5,6.810802378555436e-8,0.003151406157010707,-4.141327484247085e-5,6.786370323995615e-8,0.0031513912510576945,-4.136560918026271e-5,6.778876311671728e-8,0.003151375804577231,-4.1434395174820625e-5,6.789730029476199e-8,0.0031514098642566202,-4.159482257943738e-5,6.81492342574456e-8,0.0031515215625475173,-4.18012216288661e-5,6.847194098192803e-8,0.0031517136174996478,-4.200494130433833e-5,6.878861599395965e-8,0.0031519692707481077,-4.216756787951769e-5,6.903911030241721e-8,0.003152261517243071,-4.2266490087485424e-5,6.918851693440988e-8,0.0031525610670786637,-4.229461685062819e-5,6.922644943555905e-8,0.0031528414655990046,-4.22573706176436e-5,6.9162068457332e-8,0.003153081775375267,-4.216923255662013e-5,6.901853417953314e-8,0.0031532678798198805,-4.205077312180638e-5,6.882835975902144e-8,0.0031533932546355388,-4.192616457967239e-5,6.862959482793142e-8,0.0031534595708972847,-4.1820803001536924e-5,6.84621653927876e-8,0.0031534770784778826,-4.175861379115542e-5,6.836364650161207e-8,0.0031534643622982412,-4.17588032667655e-5,6.836409543908077e-8,0.0031534468701465957,-4.183228856251606e-5,6.848035579602831e-8,0.003153453782052926,-4.197854007215975e-5,6.871105220452271e-8,0.003153513263736754,-4.218384148552481e-5,6.903390427614672e-8,0.0031536467429532566,-4.242196322172231e-5,6.940693592124387e-8,0.003153863430347162,-4.265783483101526e-5,6.977446531891138e-8,0.003154156585993926,-4.285397543340932e-5,7.007742427316526e-8,0.00315450279718283,-4.2978622186424466e-5,7.026625449926472e-8,0.0031548650041122103,-4.301400854080456e-5,7.031388230440871e-8,0.00315519943918034,-4.296289169347691e-5,7.022577473855363e-8,0.003155465859320983,-4.285109888117147e-5,7.00436294628589e-8,0.0031556391659936065,-4.272394847220358e-5,6.983943122484468e-8,0.0031557188612724523,-4.263555517927237e-5,6.969842457165365e-8,0.0031557317728420436,-4.263280101975123e-5,6.969387032889604e-8,0.0031557249027450757,-4.2739520543408744e-5,6.98623192302485e-8,0.0031557498994496218,-4.294833096833603e-5,7.019104128047928e-8,0.00315584589866597,-4.322452786249621e-5,7.062447804376743e-8,0.0031560287243041687,-4.3519737897634517e-5,7.108598411323216e-8,0.003156290210848438,-4.378791545601902e-5,7.150311106554863e-8,0.0031566054069980037,-4.3996660675542415e-5,7.182534984786604e-8,0.0031569423808284628,-4.4131253208340974e-5,7.203026754938302e-8,0.003157270337523358,-4.4192994871844845e-5,7.212064457656072e-8,0.003157564470837877,-4.419496903596624e-5,7.211761487890475e-8,0.003157808015852627,-4.415761251223253e-5,7.205364259861087e-8,0.0031579926823708912,-4.4105138784809375e-5,7.196695049477917e-8,0.0031581184957774153,-4.406285452731199e-5,7.189738913692536e-8,0.003158193599416625,-4.4054911516432865e-5,7.188294750699247e-8,0.003158234031798483,-4.4101897275740684e-5,7.195593087373301e-8,0.003158263018098467,-4.421788006294162e-5,7.213822712040806e-8,0.003158309054218505,-4.440704337455989e-5,7.243594276621938e-8,0.0031584021289597524,-4.466069514352587e-5,7.283470938809992e-8,0.0031585679463628875,-4.495603322513259e-5,7.329786169090022e-8,0.003158821045759386,-4.5258255933040026e-5,7.37699600181512e-8,0.003159158924190263,-4.5526890236963015e-5,7.418696615489833e-8,0.0031595597943583466,-4.572549126524957e-5,7.44916678688917e-8,0.003159985788919604,-4.5832004494916494e-5,7.465002833083531e-8,0.003160391467505701,-4.5846244908167024e-5,7.466284408960723e-8,0.003160735390904223,-4.5791651761595475e-5,7.456824370500927e-8,0.003160991329864051,-4.5710340506587154e-5,7.443354724124745e-8,0.0031611557652805296,-4.56525958579643e-5,7.433840211999739e-8,0.0031612493653574466,-4.566356507695597e-5,7.43536688058528e-8,0.0031613116320375638,-4.577082683019708e-5,7.452191859422641e-8,0.00316138983687732,-4.5976704493927694e-5,7.484561016922063e-8,0.0031615255351170207,-4.625816721714404e-5,7.52873081576349e-8,0.00316174330606514,-4.6574539940815696e-5,7.578215147025375e-8,0.0031620456464795553,-4.687999059605023e-5,7.625769376845123e-8,0.003162415165519021,-4.713588347181678e-5,7.665335200741533e-8,0.003162822036835446,-4.731880660958561e-5,7.693289460631574e-8,0.0031632329785881486,-4.7422738256966696e-5,7.708762391075058e-8,0.0031636185498555743,-4.7456548574135615e-5,7.713222429686289e-8,0.003163957394531511,-4.743930170684533e-5,7.709723112409955e-8,0.003164237749092535,-4.7395460395258866e-5,7.702145770310557e-8,0.0031644572629982944,-4.735103026805132e-5,7.694598016390119e-8,0.0031646221440750945,-4.733077694987257e-5,7.690981863864776e-8,0.003164746262745098,-4.735610332844896e-5,7.694660644621445e-8,0.003164850315648308,-4.744295341822404e-5,7.708123668442743e-8,0.003164960615211108,-4.7599282087552986e-5,7.732580598792541e-8,0.00316510674443353,-4.7822150507262595e-5,7.767502077308712e-8,0.0031653173075884386,-4.809522158373371e-5,7.810233831505504e-8,0.003165613500816317,-4.8388234367153477e-5,7.855932068502407e-8,0.003166001527547761,-4.8660505245747866e-5,7.898136490858256e-8,0.0031664667240323473,-4.886967395690606e-5,7.930165483686465e-8,0.0031669732473650035,-4.898427913808119e-5,7.947106008168446e-8,0.0031674717018881997,-4.899555012818512e-5,7.94766938590658e-8,0.0031679131839261526,-4.892263568963575e-5,7.934999749978144e-8,0.0031682643359964833,-4.8808002238974886e-5,7.91591853553536e-8,0.0031685171259444567,-4.8704610129976645e-5,7.898863798646383e-8,0.003168689888016564,-4.866027347872532e-5,7.891391738685978e-8,0.0031688203554882553,-4.870497925930795e-5,7.898168134647224e-8,0.0031689541483683986,-4.884458925824059e-5,7.919995944645049e-8,0.003169132666912061,-4.90615415154104e-5,7.953967154409288e-8,0.0031693835370994743,-4.932123743816433e-5,7.994513150365482e-8,0.0031697155633991425,-4.958174182690445e-5,8.034963065946353e-8,0.0031701188096189092,-4.9803993111668386e-5,8.069160780662406e-8,0.0031705690690595756,-4.995993501816825e-5,8.092735112553882e-8,0.0031710349046023332,-5.003685841512912e-5,8.103761860361142e-8,0.003171484997353245,-5.003758483585365e-5,8.10276899103105e-8,0.0031718939250299756,-4.997743721292307e-5,8.092241368604767e-8,0.0031722454763997874,-4.98796363572316e-5,8.075886678430627e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_21.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_21.json new file mode 100644 index 000000000..841a3deb4 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_21.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":21000,"numberOfSamples":1000,"samples":[0.0031725336341924394,-4.9770637985046546e-5,8.057900832626396e-8,0.0031727619720193665,-4.967631255249218e-5,8.042370582661394e-8,0.0031729423213677447,-4.961918610821703e-5,8.032842301827844e-8,0.003173093301004051,-4.9616439750269165e-5,8.032005503717977e-8,0.0031732388512125246,-4.9678142521825614e-5,8.04140915834666e-8,0.003173406461172115,-4.980531114277095e-5,8.061152056197695e-8,0.003173624434517486,-4.998780080363393e-5,8.089554409980637e-8,0.0031739174410596086,-5.02027153676187e-5,8.122921958837977e-8,0.0031743000569504428,-5.0414905317985565e-5,8.155645946622467e-8,0.0031747693572844707,-5.058170552271261e-5,8.1809696462639e-8,0.003175299754099858,-5.066328166614758e-5,8.192630588543693e-8,0.003175844728509721,-5.06368615606572e-5,8.187106223913913e-8,0.003176348378152092,-5.0508762136083794e-5,8.16550486069026e-8,0.0031767639923363524,-5.0316402748498936e-5,8.133866443459827e-8,0.0031770709661550177,-5.011689791600365e-5,8.101329428919594e-8,0.0031772811274633317,-4.9967147620633346e-5,8.076944687326912e-8,0.003177432030673561,-4.9905479367471625e-5,8.066745206192551e-8,0.003177572270523811,-4.994259580574966e-5,8.072317955227706e-8,0.003177746439699948,-5.0063033684474547e-5,8.091070950808379e-8,0.0031779848344744835,-5.0233470557248106e-5,8.117598151931799e-8,0.0031782992076989803,-5.0413262606724425e-5,8.145387798184555e-8,0.003178683508504494,-5.056397454491497e-5,8.168346678500409e-8,0.0031791178624765563,-5.0656360805938936e-5,8.181895509495128e-8,0.003179574229733301,-5.067436252240991e-5,8.183576329438713e-8,0.003180022490647086,-5.0616168724939576e-5,8.173192449420742e-8,0.0031804358927458322,-5.049270511433461e-5,8.152548156884965e-8,0.0031807950553075313,-5.0324297904340744e-5,8.124910490024964e-8,0.0031810901697997096,-5.013646650496189e-5,8.094342997127281e-8,0.003181321456190578,-4.995570801310683e-5,8.065043893174666e-8,0.0031814982527144423,-4.9805917795511555e-5,8.040785329190629e-8,0.0031816373210504898,-4.970574993088201e-5,8.024497887522197e-8,0.0031817608717426495,-4.9666782981278536e-5,8.017978161620004e-8,0.0031818944706078238,-4.969213348437762e-5,8.021665586604609e-8,0.003182064656150664,-4.977526990474911e-5,8.034455083019423e-8,0.0031822958582123618,-4.9899054210053294e-5,8.053555151866265e-8,0.0031826060765792474,-5.00355420814562e-5,8.074475516704612e-8,0.0031830011463665404,-5.014786026254351e-5,8.091345990457809e-8,0.0031834686693217383,-5.0195995982255704e-5,8.097846711663703e-8,0.0031839746468371897,-5.01475748419181e-5,8.088913626890179e-8,0.0031844673261262986,-4.999173257679851e-5,8.062922765445895e-8,0.003184891172592454,-4.974957666882377e-5,8.023331134917238e-8,0.0031852075073160895,-4.9472597723993216e-5,7.978406694492346e-8,0.0031854111053174357,-4.922574084934537e-5,7.938518959159813e-8,0.0031855320833315435,-4.9062718900561163e-5,7.912193983519057e-8,0.003185621952271365,-4.9007423813544054e-5,7.903149987919705e-8,0.003185733140730741,-4.905026352546958e-5,7.909733195325303e-8,0.003185903073154297,-4.915750209942922e-5,7.926446313102022e-8,0.0031861477150601954,-4.9285511618747645e-5,7.946261622724468e-8,0.0031864630412842053,-4.9393086955828754e-5,7.962606325736776e-8,0.0031868305582437354,-4.944910682330027e-5,7.970578335261417e-8,0.0031872237417380285,-4.9435815064372105e-5,7.967442526435043e-8,0.003187613799646374,-4.934910556784959e-5,7.952642648280632e-8,0.0031879743406409483,-4.919701658863508e-5,7.927535204629794e-8,0.0031882849181979036,-4.899707191619981e-5,7.894954072044581e-8,0.0031885333705692622,-4.8772886247731465e-5,7.85867133852273e-8,0.0031887169235430774,-4.8550472591157195e-5,7.82281831475899e-8,0.0031888421191353347,-4.8354611885566905e-5,7.791317453714298e-8,0.0031889236591736768,-4.820561826479776e-5,7.767373204135999e-8,0.003188982392912168,-4.811685191685343e-5,7.753076281390647e-8,0.0031890428229633568,-4.80931088914721e-5,7.749144001256398e-8,0.003189130371339149,-4.8129751866914776e-5,7.754779717892457e-8,0.0031892684093893045,-4.821248076042052e-5,7.767640704932689e-8,0.003189474936144377,-4.8317827589117846e-5,7.78393091488724e-8,0.003189758740824415,-4.841472688601514e-5,7.798671830001753e-8,0.0031901151496382964,-4.846801130205281e-5,7.806277470675716e-8,0.0031905224205677797,-4.844497532884705e-5,7.801604196463123e-8,0.003190941284990858,-4.8325353983456495e-5,7.781525298490396e-8,0.0031913210506145494,-4.811258839800113e-5,7.746697340533311e-8,0.0031916141519961177,-4.784055752540146e-5,7.702604990677442e-8,0.003191795418319783,-4.7568255887754585e-5,7.658695371946121e-8,0.0031918755740832448,-4.73600221174305e-5,7.625217949764229e-8,0.003191898603829455,-4.725988960279658e-5,7.609132297246147e-8,0.0031919229650166662,-4.7275184045738147e-5,7.611500607230232e-8,0.003191998333085281,-4.737827479416436e-5,7.62779363395227e-8,0.0031921508881996145,-4.752216804202383e-5,7.65041794434679e-8,0.003192381393929433,-4.765854984268982e-5,7.671628736820805e-8,0.0031926718219546014,-4.7750056416319196e-5,7.685497758163076e-8,0.003192994371773742,-4.7775167613736925e-5,7.688676322707986e-8,0.0031933191121518447,-4.7727892633397725e-5,7.680310882032987e-8,0.0031936191057208192,-4.761498877639121e-5,7.661565929511285e-8,0.0031938734231599622,-4.74525826505499e-5,7.635065824624502e-8,0.0031940688710230926,-4.7262880918771545e-5,7.60436847923047e-8,0.0031942008964133926,-4.707097737875328e-5,7.573466367930087e-8,0.0031942737606263116,-4.6901719035824056e-5,7.546299629687368e-8,0.003194299972841271,-4.6776661718682426e-5,7.526278957837741e-8,0.003194298887206334,-4.6711226468842323e-5,7.51583342891208e-8,0.003194294386829285,-4.671240074914931e-5,7.516039741374076e-8,0.0031943118407074603,-4.6777394668392805e-5,7.526403312546946e-8,0.0031943746893159835,-4.6893437644436546e-5,7.544826377873212e-8,0.0031945009495270385,-4.7038759907479775e-5,7.567773903852656e-8,0.0031946998830175675,-4.7184820903478814e-5,7.590646855791671e-8,0.0031949691011137634,-4.729986237129749e-5,7.608369607755573e-8,0.0031952925157211496,-4.735397448743149e-5,7.616211706606225e-8,0.003195640046002511,-4.7325873413935426e-5,7.610866131565764e-8,0.0031959707011487326,-4.721084275969199e-5,7.591694218179518e-8,0.0031962407678702612,-4.7027544120006907e-5,7.561778712416466e-8,0.0031964172220154555,-4.68193172139658e-5,7.528100427078354e-8,0.003196492459990767,-4.664522204584982e-5,7.500092425591764e-8,0.003196492024360513,-4.6560407478603466e-5,7.486507180241458e-8,0.0031964677331033607,-4.6593856889802264e-5,7.491877034751068e-8,0.003196477403032644,-4.673659702635629e-5,7.514654134177191e-8,0.0031965625176653793,-4.694773588519694e-5,7.548204705047288e-8,0.0031967362693748544,-4.717322873987367e-5,7.583837429474331e-8,0.003196985533609338,-4.73651776342118e-5,7.613905990916508e-8,0.0031972812138878572,-4.74929888958597e-5,7.633588427653374e-8,0.003197589462630078,-4.7545490933105095e-5,7.64119965822908e-8,0.0031978796496195555,-4.752757942989125e-5,7.637620017022061e-8,0.00319812848863574,-4.745512493931714e-5,7.625453549820702e-8,0.00319832144886984,-4.73503257355979e-5,7.608275219379998e-8,0.003198452856742482,-4.723812082730018e-5,7.590064580016247e-8,0.0031985255501511783,-4.7143356527051194e-5,7.57476813144896e-8,0.0031985502819583764,-4.708825806567633e-5,7.565908112945316e-8,0.003198544736531598,-4.708995351933302e-5,7.566191375034777e-8,0.0031985318797554075,-4.7158036203798245e-5,7.577116598009077e-8,0.0031985373474858482,-4.729251335254058e-5,7.598640463765804e-8,0.003198585869566576,-4.7482775567525455e-5,7.629010685976644e-8,0.003198697155597323,-4.77081476564717e-5,7.664860219081877e-8,0.0031988819238857836,-4.794029858008897e-5,7.701607636820799e-8,0.003199138852327985,-4.8147471043280815e-5,7.734153154992998e-8,0.003199453210956632,-4.830010600773658e-5,7.757794512375888e-8,0.003199797758983186,-4.8377126251611665e-5,7.769236057072432e-8,0.0032001363178023106,-4.8371976704389703e-5,7.767540881795748e-8,0.0032004303140051693,-4.829716076321788e-5,7.754825940028813e-8,0.0032006480922657813,-4.818534649742223e-5,7.736402060215561e-8,0.0032007754503471137,-4.8084736666072045e-5,7.720004750070717e-8,0.0032008237523528764,-4.804734673697885e-5,7.713910918442968e-8,0.0032008304786310298,-4.811209016681051e-5,7.724247975155619e-8,0.0032008488052868407,-4.828932206014769e-5,7.75255161602495e-8,0.0032009288771208118,-4.8555592301733185e-5,7.794960329169746e-8,0.0032010998408043487,-4.886272668875077e-5,7.843695977208304e-8,0.003201361960637265,-4.915635461273817e-5,7.89004476629134e-8,0.0032016912406135044,-4.939361188750261e-5,7.927192014721211e-8,0.0032020513707647475,-4.955240233850549e-5,7.951689650027676e-8,0.003202405716929175,-4.963141986809062e-5,7.963431614369855e-8,0.003202725094131901,-4.964474472975755e-5,7.96475824883057e-8,0.0032029909049170156,-4.961523348656123e-5,7.959378125967193e-8,0.0032031952157390927,-4.9569099471490336e-5,7.951497736532009e-8,0.003203339535741044,-4.9532218017991734e-5,7.945241230521701e-8,0.003203433394698867,-4.9527674213515084e-5,7.944273135170713e-8,0.003203493051170196,-4.9573859322178696e-5,7.951503476725994e-8,0.0032035401504446515,-4.968261143955701e-5,7.968790885396807e-8,0.003203599881864006,-4.9857248372708116e-5,7.996622623173358e-8,0.0032036981474841027,-5.009083623491609e-5,8.033833401588e-8,0.003203857560932273,-5.036549668524096e-5,8.077497791863144e-8,0.003204092697562571,-5.0653692877754714e-5,8.123148677107812e-8,0.003204405679190628,-5.092213317310819e-5,8.165420910353239e-8,0.0032047836194003913,-5.1138171334250516e-5,8.199093925766638e-8,0.0032051993388942314,-5.1277508026645685e-5,8.220333981594443e-8,0.0032056159214573134,-5.1331152612609345e-5,8.227803147217174e-8,0.003205994476325643,-5.130950962968257e-5,8.223291039616594e-8,0.0032063034747539243,-5.124205747668012e-5,8.211628608958799e-8,0.0032065274675029567,-5.117202959915313e-5,8.199800522314307e-8,0.0032066727907678195,-5.114661833837934e-5,8.195353656090792e-8,0.003206768020942503,-5.120449980278048e-5,8.204400434520673e-8,0.003206857735831905,-5.1363916576045276e-5,8.229736031489842e-8,0.0032069901253816147,-5.161569359479557e-5,8.269759795845019e-8,0.0032072020803685336,-5.192501441612641e-5,8.318797642795423e-8,0.0032075077397297554,-5.2242393867866604e-5,8.368882847285539e-8,0.0032078955532431,-5.251946367429561e-5,8.412289258504691e-8,0.0032083345384939406,-5.272262269658563e-5,8.443706503733802e-8,0.0032087857334492185,-5.2839458337762004e-5,8.461246000974382e-8,0.0032092132683576424,-5.287735806351859e-5,8.466190722367029e-8,0.003209591378752329,-5.285732676741347e-5,8.461980304623928e-8,0.0032099067777057117,-5.28068081968459e-5,8.45304822826286e-8,0.0032101578456377655,-5.275393921740916e-5,8.443903221733049e-8,0.0032103524731652163,-5.272386017376191e-5,8.438550073902889e-8,0.003210505786562472,-5.273660287213019e-5,8.440164096217491e-8,0.0032106382225371155,-5.280577247081059e-5,8.450886182259405e-8,0.0032107738321281018,-5.293736316606222e-5,8.471631689347386e-8,0.0032109383060951215,-5.312841217033488e-5,8.501870672494748e-8,0.0032111560978738906,-5.3365752533195204e-5,8.53942849508674e-8,0.0032114462795934918,-5.362571089155793e-5,8.580446840164302e-8,0.003211817437324192,-5.3875979778961625e-5,8.619700739786424e-8,0.003212262941595191,-5.408075100149098e-5,8.651439387397291e-8,0.0032127589082548043,-5.42090965214644e-5,8.670741201761251e-8,0.003213267160170133,-5.4244595572723914e-5,8.675057308886833e-8,0.0032137438024166646,-5.419248668805494e-5,8.665344939450431e-8,0.003214151231767454,-5.4080711291759844e-5,8.646208359285265e-8,0.0032144693035585834,-5.395352361443707e-5,8.624839037585663e-8,0.003214701461565474,-5.385958237500533e-5,8.609072790016972e-8,0.003214873783886847,-5.383864063516811e-5,8.605238679805011e-8,0.0032150276171485034,-5.391105610832501e-5,8.616487457733809e-8,0.003215208326315366,-5.4072889410851724e-5,8.642041535988369e-8,0.0032154533705997484,-5.429755486548332e-5,8.677506471248515e-8,0.0032157828754069747,-5.4543390211428154e-5,8.716123185097693e-8,0.0032161952720170784,-5.47649828140714e-5,8.750601063943785e-8,0.0032166691643119804,-5.492483570390711e-5,8.7749822276115e-8,0.003217170484883344,-5.500177601999277e-5,8.785966932376333e-8,0.0032176621369899984,-5.499386164298536e-5,8.783350388091249e-8,0.0032181127441866936,-5.491583634520034e-5,8.76958803060696e-8,0.003218502126948113,-5.479314994168618e-5,8.748819344576886e-8,0.0032188229483265337,-5.465521433334049e-5,8.72578166749344e-8,0.0032190794757014783,-5.452988429357098e-5,8.704931644272088e-8,0.0032192849457666393,-5.443991014971355e-5,8.689888287838887e-8,0.003219458734952503,-5.440110974291796e-5,8.683149639470852e-8,0.003219623918717538,-5.442154904813298e-5,8.685964506488469e-8,0.0032198052118412182,-5.45010330062948e-5,8.698248405259667e-8,0.0032200268668433098,-5.463053766414709e-5,8.718490554543236e-8,0.0032203099278025797,-5.479171920972871e-5,8.743680309860852e-8,0.0032206683696555803,-5.4957218224956276e-5,8.769370344416006e-8,0.003221104252445989,-5.509302127948437e-5,8.790074530833945e-8,0.0032216031987040658,-5.516423932315975e-5,8.800209652952139e-8,0.003222132914621037,-5.514457142603367e-5,8.795617458979574e-8,0.003222647901010924,-5.502711200558859e-5,8.775290593353369e-8,0.0032231013851103294,-5.483131338436564e-5,8.74247239172623e-8,0.003223460966712298,-5.4600702849415643e-5,8.704264763661174e-8,0.003223720696988658,-5.43901749473945e-5,8.66955543476372e-8,0.0032239032022557705,-5.4248004296358326e-5,8.646099319840247e-8,0.003224051050262102,-5.4200944786757004e-5,8.638114273675721e-8,0.003224212268778945,-5.424827912428962e-5,8.645345453958669e-8,0.0032244265358801734,-5.4365234327404105e-5,8.663660081008881e-8,0.003224716276502034,-5.451231450454134e-5,8.686597920410975e-8,0.003225083737911467,-5.4646403659949004e-5,8.707189019189658e-8,0.0032255131188312245,-5.473059972318432e-5,8.719538813836393e-8,0.0032259761006378034,-5.4741087113638165e-5,8.719911679190398e-8,0.0032264390598020325,-5.467034723233956e-5,8.707212789604444e-8,0.003226870334335864,-5.452668660564738e-5,8.682879510984012e-8,0.0032272460710804887,-5.4330699940323715e-5,8.65029138253738e-8,0.0032275536298945894,-5.4109915442819836e-5,8.613902532997006e-8,0.003227792304669776,-5.389313593906661e-5,8.5783374691673e-8,0.0032279718677233277,-5.370570458175747e-5,8.547642058179856e-8,0.003228109845550558,-5.356634066004432e-5,8.524786544988952e-8,0.003228228456413095,-5.348557339633553e-5,8.511420042723426e-8,0.0032283518197443535,-5.346531342893715e-5,8.507801310989298e-8,0.0032285035568127823,-5.349896832429377e-5,8.512814037196994e-8,0.003228704536722173,-5.357174984312455e-5,8.524016481482288e-8,0.0032289703539402797,-5.366119984972382e-5,8.537735462686527e-8,0.00322930813206437,-5.373842092470895e-5,8.549282323459017e-8,0.003229712689921856,-5.377103839587337e-5,8.553448506801853e-8,0.0032301631836865975,-5.3729107718665944e-5,8.545465152637074e-8,0.0032306227277087924,-5.359428799950994e-5,8.522472059019744e-8,0.0032310441986026,-5.337012969281068e-5,8.48515280839209e-8,0.0032313836582013745,-5.30879790841398e-5,8.438660592029636e-8,0.0032316176061930268,-5.280197806460897e-5,8.391790250084734e-8,0.0032317548261706127,-5.2571609399665335e-5,8.354146004605948e-8,0.0032318343808087915,-5.243934120871027e-5,8.332524114371036e-8,0.00323190997001867,-5.24157284474321e-5,8.328513968311465e-8,0.003232029903870015,-5.247922773889295e-5,8.33849749888785e-8,0.0032322230037252673,-5.2587959715898925e-5,8.355594128527012e-8,0.0032324945300250224,-5.269508974157829e-5,8.372185756843382e-8,0.0032328299476484103,-5.2761097382812485e-5,8.381914925073835e-8,0.0032332022647684135,-5.2760565068347416e-5,8.380767128683809e-8,0.0032335796804347913,-5.268412304439345e-5,8.367349551296979e-8,0.003233931955256522,-5.2537170491451925e-5,8.342645104170425e-8,0.00323423510297691,-5.2336755010051395e-5,8.309480474079313e-8,0.003234474406802793,-5.210743061617814e-5,8.271847665355266e-8,0.0032346457437325534,-5.187668488346703e-5,8.234172294838152e-8,0.003234755280902423,-5.167055575138879e-5,8.200621219761825e-8,0.003234817807050895,-5.150997501251897e-5,8.174527616602243e-8,0.00323485410132211,-5.140821394599531e-5,8.157988013641992e-8,0.0032348878601373273,-5.1369622605597356e-5,8.15166024002056e-8,0.003234942697918216,-5.138953284328997e-5,8.154743911983669e-8,0.00323503947037617,-5.1454958354580704e-5,8.16508993774942e-8,0.0032351938886941546,-5.154582187779148e-5,8.179401797604287e-8,0.0032354142832091816,-5.16366609641141e-5,8.193524012891515e-8,0.003235699333554656,-5.1699018157927345e-5,8.202847891428973e-8,0.0032360358332845078,-5.170513116825102e-5,8.202923924758582e-8,0.003236397395298634,-5.163367599192616e-5,8.190391001440081e-8,0.0032367460274376706,-5.147751296830587e-5,8.164208997353886e-8,0.003237038911014802,-5.125146075858404e-5,8.126881868503913e-8,0.0032372413519731985,-5.099546813545693e-5,8.084938120768122e-8,0.0032373424767896393,-5.076735769152771e-5,8.04773994266105e-8,0.003237364737593232,-5.0623575968753e-5,8.024369261604461e-8,0.0032373583817348877,-5.0595930934664296e-5,8.01987556722749e-8,0.0032373814263608053,-5.067835383782129e-5,8.033154293976049e-8,0.0032374767927001143,-5.0831888417986464e-5,8.05778502518239e-8,0.0032376595358681605,-5.100299476696643e-5,8.08503013355666e-8,0.0032379179830066707,-5.1142929781694154e-5,8.106998345596535e-8,0.0032382234578475634,-5.121949714913483e-5,8.118548183125027e-8,0.0032385413765336594,-5.1220034229706235e-5,8.117745244402647e-8,0.0032388396301233986,-5.1148784000511076e-5,8.105395968506553e-8,0.00323909343633175,-5.1022080757357263e-5,8.084232217504016e-8,0.003239287476598087,-5.086344596635564e-5,8.058099601387515e-8,0.003239416418574005,-5.06993062299847e-5,8.031267394281034e-8,0.0032394844711164405,-5.055531403368913e-5,8.007849327535253e-8,0.0032395041778899027,-5.0453203864372276e-5,7.991313554603084e-8,0.003239494528968082,-5.0408228290502986e-5,7.98408045445796e-8,0.0032394784475627734,-5.0427301336513986e-5,7.987225828658261e-8,0.003239479791896909,-5.050810067219918e-5,8.000332058699083e-8,0.0032395202194974377,-5.063931236648878e-5,8.021522493846629e-8,0.003239616293252338,-5.080193546123921e-5,8.047671952390412e-8,0.003239777049036872,-5.097147176821398e-5,8.074769163503124e-8,0.003240002171167665,-5.112088531384368e-5,8.098412232278307e-8,0.0032402808961741075,-5.122423243494423e-5,8.114415044682696e-8,0.0032405918090109447,-5.126100829262938e-5,8.119521335082708e-8,0.003240904131438615,-5.122133435508816e-5,8.112236888320618e-8,0.003241181684719136,-5.111146117220087e-5,8.093692711688671e-8,0.003241390622446391,-5.095766931217798e-5,8.068237971757372e-8,0.0032415106650658305,-5.080520775946731e-5,8.04323546602781e-8,0.003241546514068598,-5.070868740467566e-5,8.027494782684523e-8,0.0032415324844812794,-5.071373081832885e-5,8.028313812372978e-8,0.003241523709398545,-5.083705921425271e-5,8.048281634683229e-8,0.0032415751240446157,-5.1057319994444045e-5,8.083823631077988e-8,0.003241719537245258,-5.132391935969942e-5,8.126660197144499e-8,0.0032419576140943988,-5.157842278878715e-5,8.167296421774885e-8,0.0032422632301883753,-5.177516910115313e-5,8.198373070848606e-8,0.0032425973491017465,-5.189151237656024e-5,8.216316480911329e-8,0.003242921385633165,-5.192728220314501e-5,8.221219939811576e-8,0.003243205429064354,-5.1898436692860174e-5,8.215775773060924e-8,0.0032434313058024543,-5.182970678799692e-5,8.204054311489319e-8,0.0032435923938506023,-5.1748673330064326e-5,8.190536290404036e-8,0.0032436920809447035,-5.1681708633171465e-5,8.179466859600291e-8,0.0032437419250657485,-5.165123951677518e-5,8.17443236041018e-8,0.0032437597611700603,-5.167373948957442e-5,8.178051974505204e-8,0.0032437676397874047,-5.1758154968282606e-5,8.191729901686929e-8,0.003243789408658554,-5.190473825027876e-5,8.215464440259327e-8,0.0032438478099100776,-5.2104555505873134e-5,8.247762756783664e-8,0.0032439612563935362,-5.234009583257239e-5,8.28573715553115e-8,0.0032441407595725984,-5.258721229750601e-5,8.325425050664329e-8,0.0032443875424479525,-5.281834024054875e-5,8.36232428780749e-8,0.0032446918276209393,-5.300675228469284e-5,8.392100559929466e-8,0.0032450332255609038,-5.3131371114476176e-5,8.411381289746435e-8,0.00324538295404514,-5.318148371486626e-5,8.418520437848297e-8,0.003245707983573782,-5.316071079859441e-5,8.414223757206918e-8,0.0032459772192329835,-5.3089364431137183e-5,8.401896535485175e-8,0.0032461694781570896,-5.300370532228837e-5,8.387484551908885e-8,0.003246281847351533,-5.2950284714670026e-5,8.37853066862844e-8,0.0032463352544695014,-5.297443793121066e-5,8.382308719834454e-8,0.0032463728424833803,-5.310479309421307e-5,8.403337508404443e-8,0.003246448216996769,-5.333992759564566e-5,8.441256609303461e-8,0.0032466062921121183,-5.364552457477591e-5,8.49040114435253e-8,0.0032468659901151594,-5.396605828032138e-5,8.541718992475005e-8,0.003247214553528512,-5.424562065011762e-5,8.586156956307863e-8,0.003247615679936334,-5.444642162568678e-5,8.617657458590432e-8,0.003248024912597425,-5.455655514944839e-5,8.634399975468773e-8,0.003248403432332568,-5.458687626580262e-5,8.638262859372707e-8,0.0032487255353343303,-5.4562352771310106e-5,8.633386467620277e-8,0.00324898008935198,-5.451326661190067e-5,8.624724859115626e-8,0.0032491685238771285,-5.4468896133598934e-5,8.617020704301661e-8,0.0032493017385686698,-5.44538837415368e-5,8.614231992982142e-8,0.0032493972235823195,-5.448639212370825e-5,8.619253072529561e-8,0.0032494766715691,-5.4577106999117414e-5,8.633766110669544e-8,0.003249563821635595,-5.4728537878472483e-5,8.658130339795376e-8,0.0032496821379050258,-5.4934496846960336e-5,8.691293350608795e-8,0.0032498520196944476,-5.5180047124981716e-5,8.730779131766455e-8,0.0032500875683692987,-5.544249647615775e-5,8.772852392629017e-8,0.0032503934051933206,-5.569395062737085e-5,8.812944569042736e-8,0.0032507623946056432,-5.5905572624570456e-5,8.846361811302392e-8,0.0032511752416808635,-5.60531534073218e-5,8.869203900002466e-8,0.0032516027189509527,-5.6122949655416366e-5,8.879316740083876e-8,0.003252010653866079,-5.6116271961945236e-5,8.87702629117698e-8,0.0032523669850277413,-5.605136928982403e-5,8.865417136694602e-8,0.0032526495630223616,-5.596163996267052e-5,8.850004846746351e-8,0.003252852996146235,-5.588978132512746e-5,8.837752315420322e-8,0.0032529925562878982,-5.58782471815996e-5,8.83550511189378e-8,0.003253103082055259,-5.595758026448335e-5,8.848108953757554e-8,0.0032532314776745693,-5.613576384150119e-5,8.876716640678854e-8,0.0032534234568621025,-5.6393001850667115e-5,8.917985280515563e-8,0.0032537084871765787,-5.668575826548498e-5,8.964767779069584e-8,0.0032540894242032077,-5.696017640428366e-5,9.008307761306017e-8,0.00325454214619616,-5.716962075359378e-5,9.041084937999461e-8,0.0032550252674333844,-5.728830620990315e-5,9.059011621990187e-8,0.003255494511827089,-5.731556283163272e-5,9.06209904156305e-8,0.003255914883576044,-5.7271048375594106e-5,9.0536487245569e-8,0.003256266746644497,-5.71854418674298e-5,9.03871423788393e-8,0.003256546050101389,-5.709145577327869e-5,9.022629331978918e-8,0.003256761198809244,-5.701770488175832e-5,9.010018411835402e-8,0.0032569290319573213,-5.6985589687069876e-5,9.004308407198988e-8,0.0032570712782715805,-5.700820517414628e-5,9.007569729439265e-8,0.003257211829634789,-5.709019855395602e-5,9.02050273070369e-8,0.003257374555642879,-5.722785472994945e-5,9.042451477474267e-8,0.0032575811280771455,-5.740918789972536e-5,9.07141464433097e-8,0.0032578484112563417,-5.761434937787547e-5,9.104111671626653e-8,0.003258185352705804,-5.781702102123823e-5,9.136217618930464e-8,0.0032585898547709312,-5.7987501554828986e-5,9.162880083070914e-8,0.003259046711760422,-5.8097856157750106e-5,9.179571951463989e-8,0.0032595281106661137,-5.812865707175766e-5,9.183195308320635e-8,0.003259997899742414,-5.807559874358659e-5,9.173151942039728e-8,0.003260419534272522,-5.7953377600878414e-5,9.151954278320197e-8,0.003260765818064894,-5.7794560130481856e-5,9.125009531413922e-8,0.0032610273094332534,-5.7642803315349266e-5,9.099481763997835e-8,0.0032612163205118245,-5.754195090058938e-5,9.082492438170712e-8,0.0032613648222029144,-5.752416949150301e-5,9.07918667306029e-8,0.0032615165714595593,-5.7600716096652344e-5,9.09125486368035e-8,0.003261715522120589,-5.7758163232549566e-5,9.116362370356967e-8,0.003261993680028687,-5.796146329096944e-5,9.148694570509478e-8,0.0032623620293660872,-5.8163394938097374e-5,9.180524978805767e-8,0.003262807665272582,-5.8317766793719975e-5,9.20437012761951e-8,0.0032632983134054426,-5.839199548958222e-5,9.215020451540345e-8,0.0032637924706452283,-5.8374669624859956e-5,9.210741718701442e-8,0.0032642511156409566,-5.827592207902026e-5,9.193302480930112e-8,0.0032646467560847373,-5.8121634092867766e-5,9.167002565308534e-8,0.003264967464613854,-5.794476140729533e-5,9.137245205768258e-8,0.0032652161360441057,-5.777729029325265e-5,9.109227604970783e-8,0.0032654068966987506,-5.764485386744147e-5,9.087078295628466e-8,0.003265560763456718,-5.756421591411039e-5,9.073466938213295e-8,0.0032657018358711034,-5.754278131830879e-5,9.069539608026732e-8,0.0032658544101094944,-5.757911789189286e-5,9.075008999633211e-8,0.0032660408074434333,-5.766372839766714e-5,9.088277448331733e-8,0.003266279396647697,-5.777976701135738e-5,9.106550153542938e-8,0.003266582301739539,-5.790395532285883e-5,9.12598753635655e-8,0.0032669526451217174,-5.80083795326496e-5,9.142009964322477e-8,0.003267381767555401,-5.8063972041273024e-5,9.149881185930952e-8,0.0032678476163183977,-5.804619770493952e-5,9.145646309337639e-8,0.003268316164476314,-5.79424713012002e-5,9.12733988533491e-8,0.0032687475221006164,-5.7759070899220414e-5,9.096097972973574e-8,0.003269106529960257,-5.7523825509117984e-5,9.056570793575683e-8,0.0032693746058921917,-5.7281393394498796e-5,9.01612217244734e-8,0.0032695575700859222,-5.7081169177186004e-5,8.982829299441299e-8,0.003269685200835826,-5.696205583363011e-5,8.962983858648573e-8,0.003269802214385346,-5.69404396125155e-5,8.959138558936853e-8,0.0032699545344188102,-5.700604476264368e-5,8.969464615227079e-8,0.0032701763009091883,-5.7126338282034846e-5,8.988518777066455e-8,0.003270481677542585,-5.725676162404585e-5,9.008956185060092e-8,0.0032708629470038705,-5.735286992395743e-5,9.023531943545998e-8,0.00327129431081459,-5.73809369580062e-5,9.026823726629858e-8,0.003271739599354458,-5.7324683909892404e-5,9.0162995318363e-8,0.0032721614993477402,-5.7187059246788255e-5,8.992569167509696e-8,0.0032725298445275717,-5.698731841848309e-5,8.958873870059514e-8,0.0032728270521627735,-5.675482647236528e-5,8.920055536744774e-8,0.003273049851570274,-5.652171851946322e-5,8.881356947561132e-8,0.0032732076970815966,-5.6316492523811355e-5,8.847388481842329e-8,0.003273319145670565,-5.615979289425225e-5,8.821459453534936e-8,0.0032734076545255755,-5.6062581528121386e-5,8.80529729256984e-8,0.003273497839452653,-5.602614665502433e-5,8.799058220459504e-8,0.003273612612866018,-5.604313201827532e-5,8.801494830994981e-8,0.0032737710867281598,-5.609888691693807e-5,8.81017115844299e-8,0.0032739868282610452,-5.617282175496241e-5,8.821681580619211e-8,0.0032742660365082388,-5.6239927611709573e-5,8.831905491514963e-8,0.003274605453936708,-5.627300819139812e-5,8.836386764965425e-8,0.0032749903608651097,-5.624637481283029e-5,8.830953041101465e-8,0.0032753938061936853,-5.614154823740327e-5,8.812653176627841e-8,0.0032757789936782864,-5.595449360495289e-5,8.78092919463083e-8,0.003276106647287594,-5.5701960526054305e-5,8.738628367074491e-8,0.0032763471421135533,-5.5422576587764e-5,8.692152997987455e-8,0.003276493258995722,-5.516877259292599e-5,8.650115186701256e-8,0.0032765664014518425,-5.499014654352684e-5,8.6206007430559e-8,0.003276610999942624,-5.491529491512299e-5,8.608196484440229e-8,0.00327667876464851,-5.494164014254628e-5,8.612345199946136e-8,0.0032768108494707626,-5.5038149965003114e-5,8.627829358674474e-8,0.0032770262708863127,-5.5157998227194705e-5,8.646888984364038e-8,0.0032773198064892668,-5.525387498988542e-5,8.661760852501955e-8,0.003277667339223204,-5.528988528837087e-5,8.666631731922832e-8,0.0032780346135977243,-5.5247658906088445e-5,8.658614562003795e-8,0.0032783860663120725,-5.512713483912658e-5,8.637835326428021e-8,0.0032786918994025917,-5.494363190933129e-5,8.606912261480339e-8,0.0032789327276445193,-5.472280951801439e-5,8.570104945011115e-8,0.003279101674465376,-5.449476059083265e-5,8.532342409842275e-8,0.0032792040453030104,-5.4288301754132294e-5,8.498301212375031e-8,0.0032792550494914192,-5.4126402494692005e-5,8.471678473867611e-8,0.00327927635003745,-5.402331015253779e-5,8.454741469132955e-8,0.003279292261048445,-5.398344931011103e-5,8.448159405887646e-8,0.0032793262697919023,-5.4001841681931624e-5,8.451073771217038e-8,0.0032793983038223334,-5.406554644950239e-5,8.461328637466328e-8,0.003279522775013503,-5.4155543035676e-5,8.475773055077884e-8,0.0032797071337421773,-5.4248736184423704e-5,8.490590178054932e-8,0.0032799506498463736,-5.432014534373688e-5,8.501666483516674e-8,0.003280243299674806,-5.434560660615751e-5,8.505051210231342e-8,0.003280565004985942,-5.430549748269372e-5,8.497579494488648e-8,0.003280886168989561,-5.4189871664097075e-5,8.47771184438119e-8,0.003281171139090372,-5.4004474659509736e-5,8.446499011144445e-8,0.003281386101154559,-5.377533480404946e-5,8.408301336304262e-8,0.0032815110470657827,-5.354778435894943e-5,8.370597725390225e-8,0.003281551525320081,-5.3376005048922325e-5,8.342256462979238e-8,0.0032815423544261006,-5.3303997698127796e-5,8.330417977081286e-8,0.0032815375199139597,-5.334662167257096e-5,8.337402779899631e-8,0.003281589425999078,-5.3482477388724635e-5,8.359571772677401e-8,0.003281729077837722,-5.366347603158219e-5,8.388931201996357e-8,0.0032819577992785165,-5.383448660629819e-5,8.416390530143764e-8,0.003282252028816867,-5.3951461208844274e-5,8.434755805679241e-8,0.003282575064733863,-5.399087527054447e-5,8.440270284958065e-8,0.0032828888308288045,-5.395041499415586e-5,8.432692167156779e-8,0.0032831620823933123,-5.384442525035143e-5,8.414501783308623e-8,0.003283374577592845,-5.369758720472906e-5,8.389827797025655e-8,0.0032835182149421297,-5.3538900495709054e-5,8.363445972132653e-8,0.003283596317507677,-5.3396677990892325e-5,8.339967143688218e-8,0.0032836217594359217,-5.3294597136367996e-5,8.323212142857587e-8,0.0032836142689651616,-5.3248868881598726e-5,8.31577096068053e-8,0.0032835972456282487,-5.326663219322064e-5,8.318754756177193e-8,0.003283594445314077,-5.33455619881586e-5,8.331735797629278e-8,0.003283626858166137,-5.34746355750414e-5,8.35286872417797e-8,0.0032837101355881193,-5.363590835227975e-5,8.379175121758466e-8,0.0032838527983820075,-5.3806929427041975e-5,8.406937560267436e-8,0.003284055181100754,-5.396343946274494e-5,8.432148778286718e-8,0.0032843089773761463,-5.40822511951771e-5,8.450998775388706e-8,0.003284597358913076,-5.414438100313206e-5,8.460404446842303e-8,0.003284895834787221,-5.413857912979374e-5,8.458595257932233e-8,0.003285174445296768,-5.406532947278778e-5,8.445757818292492e-8,0.0032854023338345904,-5.3940697089698616e-5,8.424636958756322e-8,0.0032855554831677934,-5.379806390910282e-5,8.400782714837921e-8,0.003285626815766494,-5.3684562539693467e-5,8.38193737194727e-8,0.0032856347701112503,-5.3649414340871245e-5,8.376117760633833e-8,0.0032856235616832005,-5.3725485877918647e-5,8.38860837426238e-8,0.003285650142636974,-5.391249164401037e-5,8.419236027689752e-8,0.0032857616382241683,-5.4173556173630084e-5,8.461836300416228e-8,0.003285976011289329,-5.444965808100916e-5,8.50665090145353e-8,0.003286277545198635,-5.468347961861177e-5,8.544264341871019e-8,0.0032866275363075573,-5.483838580460321e-5,8.568728752895917e-8,0.0032869809330381304,-5.490461627338049e-5,8.578565026164803e-8,0.0032872996339806037,-5.489474335285152e-5,8.575977711296552e-8,0.003287559053510933,-5.48347345844862e-5,8.565341922089876e-8,0.0032877491677817746,-5.475543920672599e-5,8.551775502054806e-8,0.0032878725457978937,-5.4686451467669074e-5,8.540127833973602e-8,0.0032879413934742783,-5.465235422268597e-5,8.534381381044643e-8,0.003287974597188788,-5.4670536130827427e-5,8.53731992403231e-8,0.003287994886136215,-5.474993658443841e-5,8.550343585455102e-8,0.003288026004617243,-5.489052942074253e-5,8.573393033814724e-8,0.0032880898877680324,-5.508355309891816e-5,8.604985500404462e-8,0.003288203921857211,-5.5312587539400495e-5,8.642385409484243e-8,0.0032883785505384453,-5.5555608027442216E-05,8.681938148259401e-8,0.0032886156357365445,-5.578790705412445e-5,8.719554080619211e-8,0.0032889078436774757,-5.5985521987479445e-5,8.751283667062376e-8,0.003289239125545009,-5.612881998939157e-5,8.77392146012537e-8,0.003289586318797038,-5.620594849831879e-5,8.78558281449679e-8,0.0032899218910641607,-5.621585137160659e-5,8.786195042061433e-8,0.0032902179191576634,-5.617054021271309e-5,8.77784760736655e-8,0.0032904515278464005,-5.609599525829377e-5,8.764903319639631e-8,0.003290611690989794,-5.603034994237022e-5,8.753663675600585e-8,0.0032907060886177963,-5.601757230920074e-5,8.751312401969255e-8,0.0032907648315062244,-5.60957001758165e-5,8.763993271030684e-8,0.00329083651219213,-5.628175714456582e-5,8.794367269940098e-8,0.003290973902945432,-5.656023599277606e-5,8.839762192953688e-8,0.003291213321631433,-5.6884077700507716e-5,8.892363541663668e-8,0.003291558763057707,-5.7191191598862794e-5,8.941943124269481e-8,0.0032919809643103797,-5.742839856654776e-5,8.979798297636507e-8,0.0032924313677109907,-5.756902600419823e-5,9.001640079964623e-8,0.0032928611324823196,-5.7616237434723784e-5,9.008120657162066e-8,0.003293234884122227,-5.759476981903807e-5,9.003437623650073e-8,0.003293535602904595,-5.753893290328132e-5,8.993321103832823e-8,0.003293762927268325,-5.7482792094576774e-5,8.983397854989548e-8,0.003293928650397064,-5.745439610101603e-5,8.978246898705095e-8,0.003294052074754002,-5.7473344437337244e-5,8.981023130920463e-8,0.003294156313027807,-5.755021904012821e-5,8.993390698836747e-8,0.0032942654733313977,-5.768674160814335e-5,9.01556607176256e-8,0.0032944022662521263,-5.787621616364838e-5,9.046394738638393e-8,0.003294585697181951,-5.810428412374258e-5,9.083470767938509e-8,0.003294828730883638,-5.835025192829971e-5,9.123350329312376e-8,0.0032951361110117538,-5.858935210068161e-5,9.161924961334033e-8,0.003295502862145243,-5.879608733804884e-5,9.194981099819587e-8,0.0032959140922813155,-5.894836427269165e-5,9.218894166181916e-8,0.003296346501630117,-5.903178845858687e-5,9.2313465377073e-8,0.0032967716942378903,-5.904330752969372e-5,9.231927451156279e-8,0.003297161013652729,-5.8993325195830865e-5,9.222465017716898e-8,0.0032974912528637187,-5.8905595820280855e-5,9.206977518622295e-8,0.0032977504065195102,-5.881449638135142e-5,9.191186754025751e-8,0.003297942473857903,-5.875940209359208e-5,9.181563871498607e-8,0.0032980898714052753,-5.877616173854993e-5,9.183921908280787e-8,0.0032982314957932714,-5.88866346272826e-5,9.201718962789459e-8,0.0032984146833885644,-5.908904162486795e-5,9.23451566292984e-8,0.0032986812779857745,-5.935379884542151e-5,9.277334751463147e-8,0.003299051997951586,-5.962945134656554e-5,9.321663709787946e-8,0.003299516827886728,-5.985901363351853e-5,9.358146928311346e-8,0.0033000378122319263,-5.999998453310655e-5,9.379868554416737e-8,0.003300563468977945,-6.003775679601342e-5,9.384541959529023e-8,0.003301046759699778,-5.9986342425414024e-5,9.374604054768167e-8,0.0033014576765286454,-5.987863396959832e-5,9.355579500500295e-8,0.003301786809054379,-5.975339670750789e-5,9.33390980278829e-8,0.0033020419823445663,-5.964508164161518e-5,9.315264867329e-8,0.0033022421362587082,-5.9578548895871055e-5,9.303685979764736e-8,0.003302411561432909,-5.9567748630520254e-5,9.301394192772079e-8,0.0033025757102160976,-5.961647141519134e-5,9.308938092423752e-8,0.003302758454813665,-5.971971311326604e-5,9.32543085753427e-8,0.003302980149123383,-5.986499809573707e-5,9.348767984635991e-8,0.0033032558966772426,-6.003362496588928e-5,9.375826851834662e-8,0.003303593705146403,-6.0202192353766145e-5,9.402715772445558e-8,0.0033039926166897105,-6.034495084095433e-5,9.425167222522078e-8,0.003304441386900897,-6.043737478577002e-5,9.439138689843304e-8,0.003304918618617791,-6.046082993353868e-5,9.441594479608006e-8,0.0033053952081656575,-6.040751190609572e-5,9.431324511412548e-8,0.0033058394190006372,-6.028418972979809e-5,9.409552551950787e-8,0.0033062239072710452,-6.011307792870043e-5,9.380056022170947e-8,0.0033065329819612454,-5.99287475949815e-5,9.348622559924204e-8,0.003306767914704313,-5.977122717532698e-5,9.321879190076651e-8,0.003306948486177933,-5.9676703637333575e-5,9.305741226162379e-8,0.0033071098761496675,-5.966803032891732e-5,9.303855751819586e-8,0.003307295078633383,-5.974750722150152e-5,9.316446634613662e-8,0.003307544114132092,-5.9894223093106617E-05,9.339925812123948e-8,0.0033078824817017226,-6.006764076265878e-5,9.367527554290179e-8,0.003308312428674662,-6.021771715946743e-5,9.390997219756039e-8,0.003308810868846452,-6.02993136284251e-5,9.402960860305769e-8,0.003309335890088662,-6.028585030600706e-5,9.39915224159716e-8,0.003309839846317023,-6.017646168426142e-5,9.379561381316522e-8,0.003310283495942255,-5.999380790271972e-5,9.348042402784567e-8,0.0033106453888089448,-5.977450811021991e-5,9.310709708273535e-8,0.0033109239015205183,-5.955734946844783e-5,9.273979011758474e-8,0.003311133299984977,-5.937407692846487e-5,9.243051520461885e-8,0.0033112972340637236,-5.924481776115903e-5,9.221178385233012e-8,0.0033114426199441147,-5.917750316763905e-5,9.209590179549796e-8,0.0033115952609545363,-5.9169497804775444e-5,9.207784107991695e-8,0.003311777204723194,-5.920987375766593e-5,9.213904652853273e-8,0.0033120052080999,-5.92814938356559e-5,9.225082851606375e-8,0.003312289594904694,-5.936274846059623e-5,9.237717028262174e-8,0.003312633024578902,-5.942929679557276e-5,9.247760893901174e-8,0.003313029137070735,-5.945642637260442e-5,9.251122688928723e-8,0.0033134615879803833,-5.942257807852542e-5,9.244260873645003e-8,0.0033139044987459776,-5.931413137224047e-5,9.22498336783901e-8,0.0033143255654085853,-5.913063940039792e-5,9.193309185903323e-8,0.003314692523404364,-5.888852657791199e-5,9.152061902109267e-8,0.003314982071759978,-5.862063074863608e-5,9.106765658072329e-8,0.0033151883441194956,-5.836990960235362e-5,9.064573525743296e-8,0.003315327061036844,-5.817820907612507e-5,9.032387007253822e-8,0.003315432756404787,-5.807381239007963e-5,9.014792415786519e-8,0.003315549502730872,-5.80625870862475e-5,9.012617527068651e-8,0.0033157184572218204,-5.8126053541180765e-5,9.022654455023874e-8,0.003315966551858763,-5.8226689676969886e-5,9.038585941639497e-8,0.0033162996332138915,-5.831825523870404e-5,9.052728727571216e-8,0.0033167015288640424,-5.835787971070538e-5,9.058041563143791e-8,0.0033171388754599613,-5.8316694902620264e-5,9.049864230177064e-8,0.003317570199537387,-5.818631498100734e-5,9.026951683504713e-8,0.0033179566224040904,-5.7979533462259516e-5,8.99154851350754e-8,0.0033182710352989515,-5.772533753434543e-5,8.94853309482593e-8,0.003318503156852944,-5.746022504077495e-5,8.903967082003617e-8,0.003318659520612165,-5.721893166409305e-5,8.863565691424088e-8,0.0033187593907932924,-5.7027409664830245e-5,8.831554830627552e-8,0.0033188288152567313,-5.6899447070337116e-5,8.810136402150192e-8,0.0033188949683195744,-5.683663868685322e-5,8.799503967854189e-8,0.0033189820031886176,-5.683044444173091e-5,8.79819251290983e-8,0.0033191086079180677,-5.686498657172212e-5,8.80353851458633e-8,0.0033192868090701146,-5.6919687627007744e-5,8.812108202417043e-8,0.0033195213608058194,-5.6971468212093134e-5,8.820056393045532e-8,0.003319809205334997,-5.6996756676009524e-5,8.823463939940167e-8,0.0033201388682853913,-5.6973850769248384e-5,8.818741927408212e-8,0.0033204901645404743,-5.688617916715095e-5,8.803185327819643e-8,0.0033208351653437364,-5.672667481568836e-5,8.775700668157399e-8,0.0033211417606726764,-5.650258196722333e-5,8.737589343481958e-8,0.0033213807589085697,-5.623860290952227e-5,8.693042466255639e-8,0.003321535704580842,-5.5975194089382036e-5,8.64882803546673e-8,0.003321611779853912,-5.575964063734652e-5,8.612788421461543e-8,0.0033216383488875716,-5.563121550563371e-5,8.591372038897917e-8,0.00332166160133251,-5.560648771923718e-5,8.587208299016034e-8,0.003321729332346463,-5.567246407025703e-5,8.597999999454416e-8,0.0033218749696411454,-5.5791288194139026e-5,8.617344710132884e-8,0.003322108078793622,-5.591357362818337e-5,8.636987047930183e-8,0.003322414074917141,-5.599359775464645e-5,8.649361999558831e-8,0.0033227610657908736,-5.600062818328033e-5,8.649468343439781e-8,0.0033231098129842453,-5.592409172339057e-5,8.635693899550423e-8,0.003323423401229845,-5.577304858807897e-5,8.60968278743868e-8,0.0033236746106560327,-5.5571625019046895e-5,8.57553706414179e-8,0.0033238501378285963,-5.535223551652658e-5,8.538670353148495e-8,0.003323951512978097,-5.5148243821503265e-5,8.504591708672522e-8,0.0033239930515267515,-5.4987516475655016e-5,8.477855814651931e-8,0.003323997693098464,-5.4888022929405465e-5,8.461360179444422e-8,0.0033239919654675055,-5.485601986581888e-5,8.456067453943338e-8,0.0033240012834951657,-5.4886614374086276e-5,8.461111130656435e-8,0.00332404640453801,-5.496599005265156e-5,8.474164448132102e-8,0.003324141328817078,-5.507438956499113e-5,8.491926542726227e-8,0.003324292421254159,-5.5189074106772154e-5,8.510604823670503e-8,0.0033244982624229583,-5.528690636714247e-5,8.526342573891019e-8,0.0033247498139609742,-5.534665974060568e-5,8.5356116539381e-8,0.003325030738318475,-5.535139742517621e-5,8.535622814349039e-8,0.003325318078773487,-5.529132808874682e-5,8.524810407518335e-8,0.0033255840434287193,-5.516732559483926e-5,8.503412127897562e-8,0.003325800025884042,-5.4994500283684165e-5,8.474038755337137e-8,0.003325943636647162,-5.4803921202816106e-5,8.441925947919739e-8,0.003326007954119694,-5.463949661780294e-5,8.414386557641033e-8,0.0033260093929748016,-5.454751850488496e-5,8.39906316797749e-8,0.0033259881913321188,-5.4560143825206843e-5,8.401195873056964e-8,0.0033259972865628765,-5.4680122236649234e-5,8.421112518435034e-8,0.003326082679984568,-5.4876669269890736e-5,8.453576539427439e-8,0.0033262656698723574,-5.509660108184346e-5,8.489670021080734e-8,0.0033265367421952,-5.528454025680654e-5,8.520177547374201e-8,0.0033268625692368203,-5.540089651290604e-5,8.53858406600953e-8,0.0033271997836301316,-5.5430263445104554e-5,8.542454745717457e-8,0.00332750801243725,-5.538020410605459e-5,8.533193941439912e-8,0.0033277582273325535,-5.527451512296222e-5,8.514878834424156e-8,0.0033279360985943923,-5.514504454421498e-5,8.492865234127454e-8,0.0033280417206101223,-5.502443713341801e-5,8.47257264967664e-8,0.0033280872119350394,-5.494062573953781e-5,8.458583816329359e-8,0.0033280931856418602,-5.4913121909954754e-5,8.454056432249686e-8,0.003328084687829209,-5.49510529651956e-5,8.460424445406648e-8,0.003328087119786794,-5.505287514330795e-5,8.477367296994299e-8,0.003328122619004344,-5.520754438276987e-5,8.503008040542494e-8,0.0033282072794208633,-5.539681605654844e-5,8.534289014342119e-8,0.0033283494784650124,-5.559823205385741e-5,8.567459021016955e-8,0.0033285493241682613,-5.5788247308437714e-5,8.5985886311372e-8,0.0033287989546007955,-5.594511202878772e-5,8.624053969095568e-8,0.0033290834152926,-5.605145404558202e-5,8.640978601385084e-8,0.0033293820025522038,-5.609665354800625e-5,8.647641681844645e-8,0.00332967012765513,-5.607914249037254e-5,8.64386360154981e-8,0.003329922108265471,-5.600868372770514e-5,8.63137014691309e-8,0.003330115618151409,-5.590807269377462e-5,8.614043768918587e-8,0.0033302381328333365,-5.58126677029861e-5,8.597808953775239e-8,0.0033302943335076583,-5.5765475825965935e-5,8.589791861426393e-8,0.0033303112431023363,-5.580611329656748e-5,8.596488539474054e-8,0.003330335893358347,-5.595512706192685e-5,8.621187561535514e-8,0.0033304217950196257,-5.620076748901601e-5,8.661809726569148e-8,0.0033306077541668403,-5.649824615334275e-5,8.710815973363818e-8,0.003330900673735715,-5.678551821777345e-5,8.757850948338549e-8,0.0033312733708816735,-5.7007580014031255e-5,8.793794593475561e-8,0.003331677827847687,-5.713506396332166e-5,8.81385544183494e-8,0.0033320641462310304,-5.7168762976044525e-5,8.818303689777447e-8,0.003332394888741356,-5.713232454494835e-5,8.81121521924967e-8,0.003332650948899174,-5.706056072566515e-5,8.79848172366316e-8,0.0033328307387244707,-5.69892054818512e-5,8.786079588531413e-8,0.003332946103134148,-5.6948270940260595e-5,8.7789662082767e-8,0.003333017524013881,-5.695869565914077e-5,8.780546633003202e-8,0.003333069785980845,-5.7031151550971855e-5,8.79250644837299e-8,0.003333128293176569,-5.7166122827538784e-5,8.814848616597651e-8,0.003333215942814037,-5.735486447701515e-5,8.846062555209589e-8,0.003333350526081416,-5.758107712399529e-5,8.883400189972032e-8,0.003333542711568079,-5.782323256543382e-5,8.923255045240708e-8,0.0033337948024626724,-5.805748921759443e-5,8.961641831353482e-8,0.0033341004955474854,-5.826092281925177e-5,8.994735848331943e-8,0.0033344456574180216,-5.8414663420069585e-5,9.019404254409442e-8,0.0033348099763535065,-5.850667539814434e-5,9.033680470762473e-8,0.0033351693972139954,-5.8534013007029704e-5,9.037145788055351e-8,0.0033354992652454255,-5.850435337312846e-5,9.031176994724097e-8,0.003335778150817505,-5.8436628216984924e-5,9.019026948162117e-8,0.0033359924676545083,-5.836033415719681e-5,9.005674088553579e-8,0.003336141696475799,-5.831247259530645e-5,8.99728131408324e-8,0.003336242937122228,-5.833081796090152e-5,9.000064726389226e-8,0.003336332072852576,-5.844314497737879e-5,9.018519988192054e-8,0.003336457993721301,-5.8654611621949015e-5,9.053364701309959e-8,0.003336668034416213,-5.8939341334053395e-5,9.100181248328803e-8,0.0033369886308538366,-5.9243988034202145e-5,9.15003563787348e-8,0.0033374117211466396,-5.950577741976175e-5,9.192485569877443e-8,0.0033378966406314506,-5.9676814334938345e-5,9.219623025373824e-8,0.003338387060585492,-5.974061238822445e-5,9.228818050131115e-8,0.003338832161640395,-5.9712769824558396e-5,9.222809662066525e-8,0.003339200660884803,-5.9629238348668325e-5,9.207713490030904e-8,0.0033394839946629365,-5.9531508527586526e-5,9.19051435138701e-8,0.00333969194933606,-5.9455615021928336e-5,9.177216062406416e-8,0.0033398456958361393,-5.9426735296063406e-5,9.171952556625893e-8,0.0033399714625476887,-5.94580076063395e-5,9.176821138029921e-8,0.0033400959454044452,-5.9551503177061825e-5,9.19207583444299e-8,0.003340243216604815,-5.969991931487511e-5,9.21642828744451e-8,0.003340432528612182,-5.988845372977386e-5,9.247363390315894e-8,0.00334067661964073,-6.009682747560091e-5,9.281470236403697e-8,0.003340980391006287,-6.0301603901974886e-5,9.314821825194654e-8,0.0033413400860247433,-6.047899922745841e-5,9.34344253905957e-8,0.0033417433406987395,-6.0608161718892285e-5,9.363861218700703e-8,0.0033421704338331562,-6.0674530868574566e-5,9.373681434940468e-8,0.003342596793867571,-6.067274472862805e-5,9.372073186756808e-8,0.003342996619504433,-6.060857747387037e-5,9.360092417739725e-8,0.0033433472973181913,-6.049938316515723e-5,9.340736779360886e-8,0.003343634076313921,-6.037265637678459e-5,9.318674843140178e-8,0.003343854352958671,-6.026253039672385e-5,9.29962869527095e-8,0.0033440207974379525,-6.02040503597778e-5,9.289398103642671e-8,0.00334416209570793,-6.0225227664861864e-5,9.292540486542561e-8,0.0033443195738953684,-6.033783862182839e-5,9.310869759814082e-8,0.0033445382535737425,-6.052967926745262e-5,9.342213643036966e-8,0.0033448528768625176,-6.076271261213488e-5,9.380146725962548e-8,0.0033452733341006566,-6.098129519580642e-5,9.415379750598335e-8,0.0033457773304763423,-6.11302103754188e-5,9.43875995339562e-8,0.003346316441695281,-6.117498982465232e-5,9.444642575943193e-8,0.0033468338086486238,-6.111354333006799e-5,9.432810795018451e-8,0.0033472838692474196,-6.097324927755117e-5,9.4079645301939e-8,0.0033476441985163447,-6.0797240704200516e-5,9.377398884436344e-8,0.0033479163084475117,-6.062888070521747e-5,9.348385258171712e-8,0.003348119017326552,-6.050124738963157e-5,9.326410433273226e-8,0.0033482798563691583,-6.043317112036643e-5,9.314535120928058e-8,0.0033484280459571253,-6.0429873261064216e-5,9.313533471622201e-8,0.0033485900303240564,-6.0485597297215256e-5,9.322360188274091e-8,0.0033487870427821647,-6.058650061285441e-5,9.338645264051759e-8,0.003349033779148276,-6.071317745669125e-5,9.359112405668456e-8,0.003349337512154647,-6.084287930407258e-5,9.379941019517652e-8,0.0033496973868342426,-6.0951778738148076e-5,9.39713912066027e-8,0.0033501040189214903,-6.1017654657638296e-5,9.406994902831682e-8,0.003350539852327468,-6.102313701204754e-5,9.406628005534092e-8,0.0033509808424563464,-6.0959184102096446e-5,9.394579478956938e-8,0.0033513997985662727,-6.0828035243102085e-5,9.371305998195274e-8,0.003351771242630648,-6.064464806465786e-5,9.339407682046672e-8,0.0033520770502697586,-6.043567280060645e-5,9.303431185934628e-8,0.0033523115992083793,-6.023549059632611e-5,9.269175686275925e-8,0.0033524849538567095,-6.0079656147178764e-5,9.242570667708549e-8,0.003352622868607595,-5.999683644913714e-5,9.228321247007672e-8,0.0033527629108964156,-6.0000858451751614e-5,9.228598308330152e-8,0.0033529466888537886,-6.0084899028015664e-5,9.242109352946563e-8,0.003353209163212818,-6.0220101719581925e-5,9.263915942649568e-8,0.003353567452423346,-6.036056292024498e-5,9.286301996208644e-8,0.003354013074553909,-6.045506176241125e-5,9.300742375322236e-8,0.003354511938151932,-6.0462793179074204e-5,9.300515855826013e-8,0.003355013937094379,-6.036701837740332e-5,9.282957547814603e-8,0.0033554690078815767,-6.018006277425595e-5,9.250263119120252e-8,0.0033558424476254254,-5.9937221757790955e-5,9.208440293612802e-8,0.0033561228412348943,-5.9683282240027307e-5,9.165030735952862e-8,0.003356320744440452,-5.9458664926667036e-5,9.126781835699132e-8,0.003356461215846782,-5.929059997108527e-5,9.09818074709203e-8,0.0033565749791113304,-5.919060979973586e-5,9.081060603989335e-8,0.0033566915189816907,-5.915640839670276e-5,9.07494897969949e-8,0.0033568350305881473,-5.91755770416691e-5,9.077702401431161e-8,0.003357022613830941,-5.9229226963443656e-5,9.086121990946202e-8,0.003357263701159578,-5.929496452229679e-5,9.096440629587108e-8,0.003357559911226247,-5.934921839576949e-5,9.104702421945221e-8,0.0033579049385909485,-5.9369383956175455e-5,9.1071192375381e-8,0.0033582845835001054,-5.9336313704812116e-5,9.100494733703145e-8,0.00335867744667257,-5.923739982099832e-5,9.082751861971475e-8,0.003359057001605932,-5.906997363720898e-5,9.053508695821385e-8,0.003359395616398978,-5.884413276926084e-5,9.014546329210125e-8,0.003359670484111321,-5.858354614172143e-5,8.96992412648217e-8,0.003359870306372325,-5.83227294745991e-5,8.925494292974744e-8,0.003360000476205311,-5.8100244081356475e-5,8.887733886137964e-8,0.0033600842939887445,-5.794905158876692e-5,8.862112733910623e-8,0.0033601588394004405,-5.7886876867381644e-5,8.851484939281549e-8,0.0033602660797591934,-5.790993390908707e-5,8.85506789176601e-8,0.003360441674025316,-5.799244505104898e-5,8.868407215376571e-8,0.003360704848971143,-5.809247460735285e-5,8.884397868653839e-8,0.003361052408555661,-5.8162610399993446e-5,8.895098477449679e-8,0.0033614587985430038,-5.816263041067814e-5,8.893850581578914e-8,0.003361882595100984,-5.807055435201572e-5,8.877103313526498e-8,0.0033622778382321966,-5.788851232418176e-5,8.845357733079992e-8,0.003362606646946412,-5.764123357960088e-5,8.802875740347297e-8,0.003362848722009863,-5.736772166360094e-5,8.756257923304475e-8,0.003363004624307182,-5.710951428610873e-5,8.712465566458204e-8,0.0033630925651310676,-5.690004657624532e-5,8.677046271557997e-8,0.0033631411170110623,-5.6758424875231495e-5,8.653114040510852e-8,0.003363181256001812,-5.668835779717318e-5,8.641199419472419e-8,0.0033632402740149748,-5.6680785627308535e-5,8.639713164955336e-8,0.0033633383786634027,-5.67180183840242e-5,8.64564805526587e-8,0.0033634874868962595,-5.6777755378881375e-5,8.65524655651299e-8,0.0033636912810481303,-5.683628445550697e-5,8.66452477529796e-8,0.003363945718484768,-5.687086249094485e-5,8.669663650025481e-8,0.0033642395389277832,-5.686171426360383e-5,8.667346696354637e-8,0.0033645548029027344,-5.6794222114151424e-5,8.655138743646585e-8,0.0033648679728196743,-5.6661634264931834e-5,8.631952160889124e-8,0.003365152316192434,-5.646808727765676e-5,8.598556119531746e-8,0.0033653823440695273,-5.6231009443925796e-5,8.557966538825618e-8,0.003365540348867742,-5.598115619209057e-5,8.515425825459867e-8,0.0033656236291926926,-5.5758262063050816e-5,8.477643543829795e-8,0.003365649237974656,-5.5601580627967396e-5,8.451187493962213e-8,0.003365652653538818,-5.5537505781072915e-5,8.440402629396734e-8,0.0033656789459104476,-5.5569291146105796e-5,8.445703766415184e-8,0.003365769023611574,-5.5674099565599833e-5,8.463116901817921e-8,0.003365946605285959,-5.580935658495085e-5,8.485389455646114e-8,0.003366211262409989,-5.592573091926771e-5,8.504204720695987e-8,0.0033665395943343838,-5.598132333980049e-5,8.512577176624952e-8,0.003366892961472996,-5.59521898282755e-5,8.506604596898847e-8,0.003367228357217615,-5.583677491599288e-5,8.486175343471328e-8,0.0033675090217883843,-5.565418314517531e-5,8.454632832083293e-8,0.0033677122812087027,-5.543770395775392e-5,8.417651191158752e-8,0.0033678331653782018,-5.522579913828783e-5,8.381704806824443e-8,0.0033678834944036373,-5.50530389308712e-5,8.352552276592036e-8,0.0033678872697589877,-5.494321345418341e-5,8.334103225252462e-8,0.003367874119813055,-5.490600237086945e-5,8.327889130742978e-8,0.0033678728417263332,-5.493731937946403e-5,8.333146207894089e-8,0.003367906582298691,-5.50223028120182e-5,8.347329601819736e-8,0.003367990240931756,-5.5139459330814e-5,8.36680693328067e-8,0.003368129820921837,-5.5264706650024884e-5,8.387526013174893e-8,0.0033683230141878383,-5.53746278372721e-5,8.405550425907457e-8,0.0033685602874602904,-5.544884667401181e-5,8.417455801548991e-8,0.0033688260245799536,-5.5471875403664845e-5,8.420648096017351e-8,0.0033690996964164,-5.54349217648513e-5,8.41368044105891e-8,0.0033693574390171246,-5.533796983745346e-5,8.396611154911362e-8,0.003369574738556079,-5.51920190230235e-5,8.371373979967595e-8,0.0033697309471166486,-5.502062543221554e-5,8.342014676700197e-8,0.0033698157191195807,-5.4858963662490004e-5,8.314502135403152e-8,0.00336983588693757,-5.4748211466438515e-5,8.295758836096101e-8,0.003369819180796456,-5.472435396786891e-5,8.291770942984493e-8,0.0033698103447281362,-5.4804144817696605e-5,8.305241791698605e-8,0.0033698580327925177,-5.497509215486744e-5,8.333937840761425e-8,0.00336999704671909,-5.519660736781785e-5,8.370918090270701e-8,0.003370235023755808,-5.541355414664154e-5,8.406846696487325e-8,0.0033705505910493,-5.557548077177791e-5,8.43325066766928e-8,0.0033709027002781183,-5.565191209448797e-5,8.445094442884492e-8,0.0033712449573918956,-5.563811944371171e-5,8.441726573141519e-8,0.0033715383281370122,-5.5551947479558465e-5,8.426301455023264e-8,0.0033717588003342688,-5.5425603682988634e-5,8.404350744757277e-8,0.0033718997534319347,-5.529628730757146e-5,8.382176259040501e-8,0.0033719703516509663,-5.519808521396885e-5,8.365483265879684e-8,0.0033719915125817105,-5.515616301581334e-5,8.358424368986457e-8,0.003371990670460589,-5.5183508520810655e-5,8.363084262341449e-8,0.003371996312094328,-5.5280222125438397e-5,8.37938999603007e-8,0.0033720332014755966,-5.543506986883743e-5,8.405389123547616e-8,0.0033721189855487107,-5.56286157858378e-5,8.437778720791833e-8,0.003372262458821144,-5.5837078683713314e-5,8.472545698884107e-8,0.0033724633940253805,-5.603614789623234e-5,8.505597653427594e-8,0.003372713546608454,-5.620417709122976e-5,8.533294234846123e-8,0.0033729982668022603,-5.632452546423462e-5,8.552844070193068e-8,0.00337329829570848,-5.6387235045065904e-5,8.562597120345452e-8,0.003373591662554191,-5.639037939243083e-5,8.56228158420924e-8,0.0033738558827816345,-5.634128823507716e-5,8.553209949381927e-8,0.0033740709065428706,-5.625757728164715e-5,8.538435984518772e-8,0.0033742233614416587,-5.6167318041165296e-5,8.522753464272809e-8,0.0033743120850930324,-5.6106839883563096e-5,8.512295286558207e-8,0.0033743535182657845,-5.6114284681771475e-5,8.51343302306435e-8,0.003374383584560917,-5.621816091412462e-5,8.530860378052354e-8,0.003374451653711905,-5.642363033026548e-5,8.565316246357324e-8,0.003374604874548048,-5.670392651341919e-5,8.612176775673318e-8,0.003374868363272367,-5.700515151316815e-5,8.662290807184912e-8,0.0033752327666612806,-5.726543902108981e-5,8.705223569982031e-8,0.003375657734454065,-5.743861941957818e-5,8.733251492462779e-8,0.00337608883276525,-5.7508964679654286e-5,8.743842547911098e-8,0.0033764770314720334,-5.749109053497066e-5,8.739613430904317e-8,0.003376791288154108,-5.741928432963936e-5,8.726484516431357e-8,0.003377021873463669,-5.733428391425587e-5,8.711405749206888e-8,0.003377177244553692,-5.727289468373037e-5,8.700584615729924e-8,0.0033772782065038614,-5.7261975296652276e-5,8.698482352101486e-8,0.003377351897211726,-5.731608876134401e-5,8.707450164078988e-8,0.0033774266600864046,-5.743750053577925e-5,8.727765185706965e-8,0.0033775279397840904,-5.761758344607225e-5,8.757892428997106e-8,0.0033776751676794963,-5.783921764291742e-5,8.794897670651642e-8,0.0033778797227997696,-5.807988352583364e-5,8.834963725304223e-8,0.0033781440270615184,-5.831509017006301e-5,8.873957895692964e-8,0.0033784617768650477,-5.8521803894550365e-5,8.908001953560924e-8,0.003378819238634322,-5.868149381761238e-5,8.933984781642511e-8,0.003379197323670683,-5.8782439093002966e-5,8.949957584080041e-8,0.003379574066231394,-5.882122050843463e-5,8.955393397490966e-8,0.003379927308581292,-5.880351542948081e-5,8.951323372093641e-8,0.0033802375736910525,-5.8744255904977356e-5,8.940353066295135e-8,0.003380491220639322,-5.86670851430349e-5,8.92654614473728e-8,0.003380684061250688,-5.8602724717853605e-5,8.915117457299559e-8,0.003380825238790617,-5.8585283278155506e-5,8.911787039413452e-8,0.0033809400725077258,-5.8645366370736766e-5,8.921617853680288e-8,0.0033810692089788217,-5.8799874204040243e-5,8.947323513780382e-8,0.003381260821250198,-5.904106722336901e-5,8.987469296042821e-8,0.0033815547925915685,-5.933123263112307e-5,9.0356110182332e-8,0.003381964109575867,-5.961028832185029e-5,9.081592148861166e-8,0.0033824647851254143,-5.981713959083937e-5,9.1151422106769e-8,0.003383003169851391,-5.9914358833980524e-5,9.130033548932249e-8,0.0033835175357943767,-5.9901254032734106e-5,9.126278647579509e-8,0.0033839605590798446,-5.980890433849116e-5,9.10926902260356e-8,0.00338431099616989,-5.968366488858203e-5,9.086948355865654e-8,0.0033845727837585357,-5.9570442762593056e-5,9.066948346775116e-8,0.0033847670858004075,-5.950243521857609e-5,9.05484296124944e-8,0.0033849232362922243,-5.9497727807565615e-5,9.053594275132374e-8,0.0033850716583332255,-5.956024397003957e-5,9.063751388399143e-8,0.0033852393421935963,-5.9682490187505253e-5,9.083949487511646e-8,0.0033854472176725985,-5.984859127500225e-5,9.111441080009529e-8,0.0033857086133339863,-6.003720459463659e-5,9.142588647628522e-8,0.0033860284271986017,-6.022439650227471e-5,9.173340583043047e-8,0.003386402955846923,-6.038656005091193e-5,9.199713865518988e-8,0.003386820462731965,-6.0503374088305864e-5,9.218289744117541e-8,0.003387262658810295,-6.05606230682693e-5,9.226693315388558e-8,0.0033877071395750856,-6.0552452997181255e-5,9.223981379163578e-8,0.0033881305330445235,-6.048266726105932e-5,9.210864890465263e-8,0.0033885120041810286,-6.036487174837796e-5,9.189727295160823e-8,0.003388836782278121,-6.022136221100909e-5,9.164417689053099e-8,0.003389099364723984,-6.008071140194549e-5,9.139814912203612e-8,0.003389306087909998,-5.9974056769629564e-5,9.121173103792565e-8,0.0033894766507592314,-5.992991778520634e-5,9.113234376727132e-8,0.0033896436217253243,-5.9967392439029444e-5,9.119094033650632e-8,0.003389848331184142,-6.00884494472235e-5,9.138938243016609e-8,0.003390131696696725,-6.027176738671097e-5,9.169052134537972e-8,0.003390520408645742,-6.0472489173007385e-5,9.20181223124543e-8,0.003391013048776062,-6.0632291852483944e-5,9.227391611926006e-8,0.003391574685345615,-6.069936708195099e-5,9.237117323434914e-8,0.0033921465752053356,-6.0649508463182645e-5,9.227013011226155e-8,0.003392668019375996,-6.049561955058757e-5,9.199390213601754e-8,0.003393098109249708,-6.027985582758634e-5,9.161498325294656e-8,0.003393425788317697,-6.005472021645174e-5,9.12229510324662e-8,0.00339366621882231,-5.986502345047448e-5,9.089367784604274e-8,0.003393849764889761,-5.973824800765525e-5,9.067301795341194e-8,0.0033940108887349028,-5.9683418753718195e-5,9.057517474706375e-8,0.0033941806177451347,-5.969475502631139e-5,9.058927390461232e-8,0.0033943828082887316,-5.9756555264083074e-5,9.068792616803152e-8,0.0033946329021984417,-5.984744069403636e-5,9.083450585144963e-8,0.003394937808251754,-5.994358255246006e-5,9.098854172687638e-8,0.003395296161910116,-6.002127117598997e-5,9.110993548500498e-8,0.003395698804414143,-6.0059267214638514e-5,9.116285658288206e-8,0.0033961296425301405,-6.004122350292775e-5,9.111984405853812e-8,0.0033965672449549665,-5.995817702591761e-5,9.096608893871411e-8,0.0033969875056327195,-5.9810681332088226e-5,9.070310529653611e-8,0.0033973673472186662,-5.960989551896998e-5,9.035055940505286e-8,0.0033976890073721226,-5.937702862808381e-5,8.994519524467432e-8,0.00339794414966279,-5.914078600227383e-5,8.953626954603158e-8,0.00339813686265762,-5.893285864413488e-5,8.91776383701858e-8,0.0033982846760873316,-5.8782022201718587e-5,8.891757350029357e-8,0.0033984170426695744,-5.8707756459061303e-5,8.878796990728907e-8,0.0033985710041651773,-5.8714419523522015e-5,8.879474808736464e-8,0.003398783964213327,-5.8787308590801815e-5,8.891163690828701e-8,0.003399084097724401,-5.889244323337396e-5,8.908026373626042e-8,0.003399480270250761,-5.898203293481756e-5,8.921967011645284e-8,0.0033999551699554283,-5.900646431000797e-5,8.924656326463904e-8,0.003400466358786225,-5.893049216975236e-5,8.91024588459512e-8,0.003400957801068039,-5.8747104648884236e-5,8.877683281588798e-8,0.003401378527359106,-5.848118000125292e-5,8.831304298309702e-8,0.0034016995373273343,-5.817987411373497e-5,8.779181892187154e-8,0.0034019205448226966,-5.789489120259509e-5,8.730103063936285e-8,0.0034020649231812825,-5.7666180030203005e-5,8.690798801868969e-8,0.003402168049287801,-5.751375176227864e-5,8.664571506488682e-8,0.003402265858276145,-5.743804869788241e-5,8.651389470980682e-8,0.00340238747932283,-5.742519852330234e-5,8.64881096032888e-8,0.0034025522455255973,-5.7453234933997976e-5,8.653057385184077e-8,0.0034027695489980392,-5.7497130460310654e-5,8.659865614011625e-8,0.003403039886903058,-5.753221388492227e-5,8.665054230622828e-8,0.0034033560870460524,-5.753644074444263e-5,8.664895352331391e-8,0.0034037044047870047,-5.7492186034072585e-5,8.656414307834132e-8,0.003404065680014834,-5.738807359108861e-5,8.637705347880114e-8,0.0034044170305128105,-5.722099116240365e-5,8.60828262613509e-8,0.003404734597935735,-5.6997926909140374e-5,8.569395943787588e-8,0.003404997558905359,-5.6736793275923886e-5,8.524163215191012e-8,0.0034051929890715296,-5.646520876211743e-5,8.477344074418974e-8,0.003405320408160798,-5.621648018227168e-5,8.434631513995815e-8,0.003405394300451476,-5.6022900264124296e-5,8.40149123124777e-8,0.0034054430646795236,-5.590772696450894e-5,8.381791884209707e-8,0.0034055038606741876,-5.587815564824331e-5,8.376626228374444e-8,0.0034056142384550816,-5.59216390476811e-5,8.383721738396868e-8,0.003405802567121793,-5.600706841995555e-5,8.397686437719106e-8,0.003406079762115114,-5.609104831024885e-5,8.411111539414267e-8,0.0034064347003346877,-5.6128202268790945e-5,8.416335082003054e-8,0.0034068351738956544,-5.6083285215666045e-5,8.407483916197228e-8,0.003407235151776666,-5.594181500695267e-5,8.382243623901492e-8,0.0034075871596243503,-5.5715353849958e-5,8.342714398589868e-8,0.0034078560389337632,-5.543856994368361e-5,8.294878555047174e-8,0.0034080288015259303,-5.5158405656903775e-5,8.246741739171249e-8,0.003408116556022004,-5.491960304745137e-5,8.20587213493105e-8,0.0034081483496585887,-5.475262430635319e-5,8.17736335484883e-8,0.0034081606287834965,-5.466819510979342e-5,8.162935251217643e-8,0.003408187213574958,-5.465879991060622e-5,8.161218884734959e-8,0.0034082529479952245,-5.470438823302094e-5,8.168747464274309e-8,0.0034083714747449156,-5.477893708194855e-5,8.181075694408507e-8,0.0034085458513296286,-5.4855751000708015e-5,8.193669718795236e-8,0.003408770414545297,-5.4910925975911326e-5,8.202480039048432e-8,0.003409032781106392,-5.4925363401297566e-5,8.204274072682829e-8,0.0034093155318804143,-5.488606600123461e-5,8.196858076576507e-8,0.0034095977133735593,-5.478735913882586e-5,8.179294852554372e-8,0.0034098566636729913,-5.463228818846857e-5,8.1521508229844755E-08,0.003410070752139286,-5.443391476149148e-5,8.117715796819658e-8,0.0034102233957102024,-5.4215684339399623e-5,8.0800505879973e-8,0.003410308068531649,-5.400958289018258e-5,8.044648266424068e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_22.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_22.json new file mode 100644 index 000000000..5a65685cc --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_22.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":22000,"numberOfSamples":1000,"samples":[0.003410332914201753,-5.3850894022675106e-5,8.017517098961131e-8,0.003410322528879365,-5.376958194615e-5,8.003701237438996e-8,0.0034103145652221627,-5.3780481135696216e-5,8.005617875605212e-8,0.0034103506775372276,-5.3876274061593275e-5,8.021888857849169e-8,0.003410464307410866,-5.402707135418975e-5,8.047308167596654e-8,0.003410669971601388,-5.4187778507499705e-5,8.074133887896081e-8,0.003410958362427396,-5.431078402439631e-5,8.094271511350002e-8,0.0034112988966924413,-5.435925986441926e-5,8.101538020005893e-8,0.0034116483046836123,-5.431671386401488e-5,8.093263501288651e-8,0.0034119621492173344,-5.41904204198061e-5,8.070834304160092e-8,0.0034122059256284677,-5.400841636122217e-5,8.039138838903804e-8,0.0034123629141804617,-5.38113276447821e-5,8.005145827068325e-8,0.003412436926427523,-5.3641509849942013e-5,7.976047048128742e-8,0.0034124495366027988,-5.3532666321671336e-5,7.957504010808949e-8,0.0034124330661485227,-5.350283981451321e-5,7.952484351765614e-8,0.0034124218722404974,-5.3552370565715433e-5,7.960947036368768e-8,0.0034124447457084236,-5.3666539079328896e-5,7.980316491937519e-8,0.0034125202858526367,-5.382106091332426e-5,8.00642647210325e-8,0.0034126555868305777,-5.398815305369993e-5,8.034545908014444e-8,0.0034128473776592204,-5.414152490629849e-5,8.06021342297411e-8,0.0034130843642180496,-5.425966542015235e-5,8.079783644736344e-8,0.0034133497512128354,-5.4327618445658844e-5,8.090725685897239e-8,0.003413623435855102,-5.4337869912637006e-5,8.091781018622006e-8,0.003413883907454681,-5.429097539492461e-5,8.083081580105819e-8,0.0034141102665403125,-5.419622361028624e-5,8.066268207707981e-8,0.0034142849136512055,-5.407215162017978e-5,8.044570051432896e-8,0.00341439730488426,-5.394617096384391e-5,8.022718223765307e-8,0.003414448551881033,-5.385201336379878e-5,8.006482802604857e-8,0.0034144554442633347,-5.382365677022172e-5,8.001619006311863e-8,0.003414451133210198,-5.388562472720168e-5,8.012215438343905e-8,0.0034144795115925615,-5.4042269894100845e-5,8.038890648236031e-8,0.003414582717752921,-5.427144088560471e-5,8.077748959286917e-8,0.0034147858366957128,-5.452785635760065e-5,8.120990068433355e-8,0.003415086335408109,-5.475685197042185e-5,8.159276299340531e-8,0.0034154541675420077,-5.491264135361651e-5,8.184854560101504e-8,0.003415842328369328,-5.497241133679643e-5,8.19395012048398e-8,0.0034162020648540446,-5.494079694397467e-5,8.187500799224558e-8,0.0034164960597480513,-5.484509224563486e-5,8.170297816008171e-8,0.003416705855690934,-5.472520370648011e-5,8.14923147861858e-8,0.0034168331491478627,-5.462263220717812e-5,8.131389578844407e-8,0.003416896425673255,-5.457135459703978e-5,8.122506662590603e-8,0.003416924864737033,-5.459196701501527e-5,8.125992201462119e-8,0.0034169512624180483,-5.468942093895768e-5,8.142580537893595e-8,0.0034170054267853647,-5.485407812356393e-5,8.17054100824689e-8,0.0034171092005408077,-5.506533196508355e-5,8.206310391954363e-8,0.0034172737893538854,-5.529662285957986e-5,8.24534661992994e-8,0.0034174994368857004,-5.552057481406241e-5,8.282992315001632e-8,0.0034177769459542693,-5.5713266654435735e-5,8.315188937008223e-8,0.0034180902481047706,-5.58571185539423e-5,8.338960767448971e-8,0.0034184192209990544,-5.594239734507513e-5,8.352672714006698e-8,0.0034187422744122974,-5.5967759795049916e-5,8.356130894842189e-8,0.0034190386613258106,-5.5940313585960716e-5,8.350600300356605e-8,0.0034192907451060053,-5.5875438829459745e-5,8.338772029482915e-8,0.0034194865853197334,-5.5796286755981725e-5,8.324661178228372e-8,0.0034196231618546383,-5.573239332743332e-5,8.313343416160889e-8,0.0034197100026956712,-5.571629566234729e-5,8.310353167794132e-8,0.0034197718373557965,-5.5777017730924494e-5,8.320565011677361e-8,0.0034198476546487924,-5.593045265235306e-5,8.346570742357244e-8,0.0034199832418701356,-5.6169307155583144e-5,8.387000547866622e-8,0.0034202166393619616,-5.64584557493018e-5,8.435767926960611e-8,0.0034205614639800535,-5.67418663020452e-5,8.483274082655738e-8,0.003420997727034218,-5.696140593963007e-5,8.51962311929662e-8,0.0034214773558268368,-5.707879301142648e-5,8.538365211417604e-8,0.0034219421419332224,-5.708851047552745e-5,8.538688805157197e-8,0.0034223438059788605,-5.701585691614104e-5,8.525060072019697e-8,0.0034226564954146083,-5.690413699843295e-5,8.504993386503595e-8,0.003422878920363075,-5.679944106094893e-5,8.486413227000239e-8,0.0034230291674335464,-5.6739176541925223e-5,8.475681081074442e-8,0.003423136660697731,-5.6746178962097036e-5,8.476606168603778e-8,0.0034232343831674863,-5.682746769406769e-5,8.490269488349289e-8,0.0034233527024106186,-5.697594757338996e-5,8.515352124084064e-8,0.003423515048462373,-5.717372366496969e-5,8.548725451920484e-8,0.003423735360724929,-5.739623453008071e-5,8.586162778920173e-8,0.0034240171921175824,-5.761661689063496e-5,8.623076555625632e-8,0.003424354282394761,-5.7809781532945634e-5,8.655200921001188e-8,0.003424732337212298,-5.795580012171021e-5,8.679159414405439e-8,0.0034251316600929604,-5.804228112995662e-5,8.692867283680107e-8,0.0034255301389273553,-5.8065571370678764e-5,8.695739993818016e-8,0.0034259061435299876,-5.8030942708281336e-5,8.68873016976559e-8,0.003426241192945239,-5.7952061490074354e-5,8.674237096252997e-8,0.003426522442310002,-5.784987818084441e-5,8.655906513984539e-8,0.0034267450710929025,-5.775090698206635e-5,8.638314938058331e-8,0.0034269146613510586,-5.768461436478088e-5,8.626498016672915e-8,0.0034270492888037753,-5.7679206341423455e-5,8.625215296635437e-8,0.0034271801115048016,-5.775513150463932e-5,8.637847340111039e-8,0.003427348318837799,-5.791673040416302e-5,8.66500111928406e-8,0.003427596290732135,-5.814466196255829e-5,8.703260278195282e-8,0.0034279529627239238,-5.8394327194921334e-5,8.744949479355945e-8,0.003428418470586544,-5.860576263431353e-5,8.77983298726461e-8,0.00342895785967562,-5.872474275422114e-5,8.79870966366347e-8,0.0034295111225311516,-5.872520138069127e-5,8.797231646130829e-8,0.0034300159367414112,-5.8619276575255356e-5,8.777608739665868e-8,0.003430429936364875,-5.8449346719175054e-5,8.747221956219683e-8,0.0034307409539403753,-5.8269005362368705e-5,8.715330218992734e-8,0.0034309636874953423,-5.812488879415304e-5,8.689927969838687e-8,0.0034311290547955646,-5.804651663753494e-5,8.676002574361577e-8,0.0034312730856115364,-5.804431513186724e-5,8.675224016919222e-8,0.003431428842749821,-5.811258599710215e-5,8.686495556850346e-8,0.003431621833748501,-5.823424073945281e-5,8.706799112634763e-8,0.0034318679871170456,-5.838549788451625e-5,8.732014432177786e-8,0.0034321731793053077,-5.854001187955921e-5,8.757621999925782e-8,0.0034325337535511193,-5.8672442465983527E-05,8.779300375802679e-8,0.0034329377969641297,-5.876149483775846e-5,8.79343338304245e-8,0.0034333670820067457,-5.8792422402358875e-5,8.7975316488367e-8,0.0034337996533433854,-5.875886549720411e-5,8.790547650809066e-8,0.0034342129023982814,-5.8663743295375374e-5,8.773032040338553e-8,0.0034345867528595554,-5.8519040728693963E-05,8.747098149349937e-8,0.00343490662495616,-5.834457618854895e-5,8.716204139286165e-8,0.003435165997133961,-5.816584043444344e-5,8.684766473704805e-8,0.003435368377604481,-5.8010940498476064e-5,8.657614158669101e-8,0.003435528469312809,-5.79066894188021e-5,8.639300030976978e-8,0.0034356721817477088,-5.787374966119817e-5,8.633265875065238e-8,0.0034358346431882215,-5.7920805816179714e-5,8.640865043476558e-8,0.00343605489737805,-5.8038637339463834e-5,8.660388209222903e-8,0.0034363663675272185,-5.8196543664505935e-5,8.686495377469283e-8,0.003436784132872785,-5.834498191690136e-5,8.710692888866458e-8,0.003437293776835478,-5.8427735873480615e-5,8.72341254787051e-8,0.0034378497110881335,-5.8402092841660325e-5,8.717442687949159e-8,0.0034383882973978448,-5.8257765502926945e-5,8.691145603639477e-8,0.003438851408713721,-5.802240303565348e-5,8.649384664598423e-8,0.0034392073380863355,-5.774932951993929e-5,8.601401185593557e-8,0.0034394577744100104,-5.749559608304214e-5,8.557022184800596e-8,0.003439630233895451,-5.7303386349150334e-5,8.523451882013677e-8,0.0034397639148655676,-5.71921018810065e-5,8.503923334835471e-8,0.003439897152082377,-5.716002300749245e-5,8.498019404726612e-8,0.0034400599773055985,-5.719061355114749e-5,8.502796230293353e-8,0.0034402713672934656,-5.725932344600479e-5,8.513976877355545e-8,0.0034405393098027363,-5.7338962376120295e-5,8.52687687250456e-8,0.0034408620305790096,-5.7403458295962594e-5,8.5370360365332e-8,0.0034412295639111826,-5.74305399376233e-5,8.540661686558558e-8,0.0034416255077720182,-5.7403819017073256e-5,8.534975049941572e-8,0.0034420290593737894,-5.7314494475115625e-5,8.518502074925517e-8,0.0034424175204084556,-5.7162649725107814e-5,8.491300299198063e-8,0.0034427693744096327,-5.695780291358059e-5,8.45505703435799e-8,0.003443067694390436,-5.671827027498391e-5,8.412977141244271e-8,0.0034433033585062117,-5.6469137408961e-5,8.369422260683416e-8,0.003443477522363603,-5.6238888006486065e-5,8.329312068593308e-8,0.0034436028265143223,-5.6054927768332085e-5,8.297335687745774e-8,0.0034437028776761053,-5.593849466785818e-5,8.277067663956046e-8,0.0034438096971042514,-5.589961405993521e-5,8.270110737924363e-8,0.0034439589152577502,-5.593284157050621e-5,8.275395289466784e-8,0.0034441825909026142,-5.601493075148707e-5,8.288821797121621e-8,0.0034445001635288017,-5.610621465702858e-5,8.303535737202917e-8,0.0034449095226591654,-5.615762951966539e-5,8.311147869532069e-8,0.0034453821233687756,-5.612393855092263e-5,8.303989847633601e-8,0.003445866927768903,-5.598013860657117e-5,8.277898571579688e-8,0.003446305117155568,-5.573359851034611e-5,8.234268399454156e-8,0.003446650688170405,-5.54237541297035e-5,8.179975395214818e-8,0.003446886420895123,-5.5107576665760024e-5,8.124862318937609e-8,0.0034470267259821934,-5.483846667724602e-5,8.078097385183255e-8,0.00344710766051307,-5.464993566767857e-5,8.04536936374894e-8,0.003447171789706657,-5.455038535028025e-5,8.028012646114274e-8,0.0034472558389312216,-5.452741901483898e-5,8.02378602589795e-8,0.003447384454009153,-5.455622510521429e-5,8.028347230580017e-8,0.003447569166450617,-5.460748845901849e-5,8.036626359875367e-8,0.003447810144196527,-5.465292154467429e-5,8.043768722291936e-8,0.0034480987268725206,-5.466849659176279e-5,8.045671557812648e-8,0.003448419783191651,-5.46362499989435e-5,8.039277888315682e-8,0.003448753772593059,-5.45454637568273e-5,8.022774113086465e-8,0.0034490787902391605,-5.439364106836301e-5,7.995762374625734e-8,0.003449372967644381,-5.41872734508112e-5,7.959400330433788e-8,0.0034496174799257423,-5.394199608711304e-5,7.916430464845655e-8,0.003449800033082265,-5.368150494101013e-5,7.870985989025718e-8,0.0034499182123150364,-5.343472982432336e-5,7.828086678372597e-8,0.003449981722370573,-5.323117506956941e-5,7.792815673433031e-8,0.0034500124919465153,-5.30949612652312e-5,7.769278778854012e-8,0.0034500419488425822,-5.303878495366926e-5,7.759565134357626e-8,0.003450105483013042,-5.305939695552917e-5,7.762989261880157e-8,0.0034502349108771345,-5.3136052000312036E-05,7.775860628781301e-8,0.00345045036327994,-5.3232896856317525e-5,7.791934553656435e-8,0.0034507534559009615,-5.330563477313901e-5,7.803586216602371e-8,0.0034511239123253042,-5.331189940292976e-5,7.80359816725961e-8,0.0034515217741313154,-5.3223411868618484e-5,7.787229296285301e-8,0.0034518963778732035,-5.303630985682997e-5,7.753954870439826e-8,0.003452200772443476,-5.277494601652743e-5,7.708083438603485e-8,0.0034524067233620208,-5.24857622131667e-5,7.657676351766069e-8,0.003452513539318852,-5.222238745671445e-5,7.611970105647155e-8,0.003452546358006263,-5.202834487641089e-5,7.578401494859984e-8,0.003452545316805372,-5.1925238857953614e-5,7.56059228122419e-8,0.0034525517079226162,-5.1910531969244896e-5,7.55799748568084e-8,0.0034525973425899702,-5.1963341595560646e-5,7.566935879164173e-8,0.003452699860306806,-5.2053492925631584e-5,7.582168477769657e-8,0.003452863075258511,-5.2149607426261665e-5,7.598291155508565e-8,0.0034530799060755258,-5.222439818684115e-5,7.61063070119408e-8,0.003453335818338361,-5.2257343532068194e-5,7.615685892232103e-8,0.003453611766785339,-5.223571891965294e-5,7.61129377116946e-8,0.0034538864899658996,-5.215494408708145e-5,7.596690383151867e-8,0.003454138506384482,-5.201882998128307e-5,7.572562427973521e-8,0.003454348337076918,-5.183978826068164e-5,7.541091271463072e-8,0.0034545013314538756,-5.1638552963418784e-5,7.505903324803353e-8,0.003454591043269122,-5.144265642680074e-5,7.47179322561575e-8,0.0034546224963198295,-5.128290588661151e-5,7.444094709790633e-8,0.003454614029832736,-5.118756231866206e-5,7.427657654620211e-8,0.0034545960964780477,-5.117499667449252e-5,7.425575471974446e-8,0.0034546059759224725,-5.124696696840789e-5,7.438038383349255e-8,0.003454678971542103,-5.13853618139435e-5,7.46180167622108e-8,0.003454838496800186,-5.155451806553497e-5,7.490622976898416e-8,0.003455088410098183,-5.170923490366474e-5,7.516676020545438e-8,0.0034554104312331923,-5.18063784397559e-5,7.53256558047392e-8,0.0034557677626890567,-5.181660232781692e-5,7.533338722547459e-8,0.003456114043853787,-5.173270086815992e-5,7.517894604581043e-8,0.0034564052677747885,-5.157212308820495e-5,7.48937718027089e-8,0.003456611436614271,-5.1372648185342906e-5,7.454392055414663e-8,0.0034567244663298784,-5.118206849108857e-5,7.421205085109125e-8,0.0034567595924578005,-5.104487112438851e-5,7.397444303572169e-8,0.0034567496932292933,-5.0990411029647274e-5,7.388079046187029e-8,0.0034567348219838017,-5.1026634462844345E-05,7.394368941315555e-8,0.0034567511208470503,-5.1140910162072285e-5,7.41404001886787e-8,0.003456822969488365,-5.130640701071599e-5,7.442407063670418e-8,0.0034569600809666373,-5.149059048477161e-5,7.473844540174441e-8,0.003457158836079232,-5.166263101478568e-5,7.503054191154755e-8,0.0034574058624226842,-5.179814342816616e-5,7.525864485773623e-8,0.0034576819982162126,-5.188131487414444e-5,7.53958236160267e-8,0.003457965624434055,-5.190529764163641e-5,7.543055726802653e-8,0.003458235153642075,-5.187182989119657e-5,7.536613158997809e-8,0.003458470988800748,-5.179074706531707e-5,7.52198852644471e-8,0.0034586575036994354,-5.1679536585510255e-5,7.502247538759579e-8,0.0034587855033521653,-5.156254212189298e-5,7.481641900418598e-8,0.0034588552057932243,-5.1469030724573484e-5,7.465256143383775e-8,0.0034588791061978532,-5.142920657003421e-5,7.458297859873786e-8,0.003458883218149259,-5.1467660711166246e-5,7.464955268013278e-8,0.0034589045776179444,-5.159510836468649e-5,7.48697763858947e-8,0.0034589835250980615,-5.180135000044591e-5,7.522485150187091e-8,0.0034591517840109193,-5.205370320062124e-5,7.56573232920082e-8,0.0034594206555359705,-5.2303828254811026e-5,7.608317761780516e-8,0.0034597750906966754,-5.250174966429808e-5,7.641623908985145e-8,0.0034601771049745287,-5.2611539439694236e-5,7.659526793472266e-8,0.003460577222136936,-5.262200185778321e-5,7.660223703442587e-8,0.003460928903507887,-5.254861496345348e-5,7.646534203758294e-8,0.003461200559315436,-5.2427345790902366e-5,7.624789704143432e-8,0.0034613819623500147,-5.230371513415596e-5,7.602909490634815e-8,0.00346148446467581,-5.2220931733726785e-5,7.58833715008536e-8,0.003461536103359664,-5.2210117968981436e-5,7.586364467457609e-8,0.003461573517811942,-5.2284544913011865e-5,7.599167543503633e-8,0.0034616329485504336,-5.243864613206289e-5,7.625673698865155e-8,0.003461742549106104,-5.265142211148723e-5,7.662177846795173e-8,0.003461917703165235,-5.2892782274308036e-5,7.703449448843473e-8,0.0034621599737674246,-5.313072477304534e-5,7.74396760194996e-8,0.0034624591084389793,-5.33374098966768e-5,7.778955053911857e-8,0.003462796779292467,-5.349304510582412e-5,7.805033191515012e-8,0.003463150686187144,-5.3587487694671127e-5,7.820488911072816e-8,0.0034634980867577683,-5.362014291759816e-5,7.825256020973388e-8,0.0034638184347490337,-5.35989854743125e-5,7.820751398896041e-8,0.0034640953366142095,-5.353936163065365e-5,7.809672470592285e-8,0.0034643182806015373,-5.3462782486652334e-5,7.795785220255605e-8,0.0034644845501561154,-5.339545627403919e-5,7.783656035226323e-8,0.0034646014413177184,-5.336592005983549e-5,7.778221516267927e-8,0.0034646882637985664,-5.3400881599815127e-5,7.78405393635882e-8,0.003464776653159077,-5.351867683920702e-5,7.804231285445772e-8,0.003464906957150965,-5.372111733504216e-5,7.838949782169935e-8,0.0034651189235659127,-5.398689725856593e-5,7.884418711991946e-8,0.0034654377510551313,-5.427171287388532e-5,7.932912268318844e-8,0.003465861181889111,-5.45189747063227e-5,7.974637922620187e-8,0.0034663557995089868,-5.4679006723517416e-5,8.001057810235294e-8,0.003466866832075317,-5.4727667638690595e-5,8.008101605182355e-8,0.003467337213583027,-5.467430917764118e-5,7.997525515932372e-8,0.0034677259185634294,-5.45558137956383e-5,7.975848386026634e-8,0.0034680175758430914,-5.4421850197762574e-5,7.951758779610465e-8,0.003468221945391668,-5.431943863471243e-5,7.93341221303494e-8,0.003468366749984431,-5.4282189894998705e-5,7.926564782173139e-8,0.003468488253575451,-5.432554626942201e-5,7.933775100923389e-8,0.003468622577673265,-5.4446940976185534e-5,7.954473091422483e-8,0.00346879910386759,-5.4629139136083834e-5,7.985575566520995e-8,0.003469036315266957,-5.484531500646757e-5,8.022385234336574e-8,0.0034693400970225562,-5.506482644748267e-5,8.05959068464886e-8,0.003469704347103154,-5.525874833196587e-5,8.09221138287859e-8,0.003470113426848338,-5.54043045866477e-5,8.116348069551332e-8,0.003470545719066106,-5.548767615842907e-5,8.129655797854296e-8,0.0034709775149081618,-5.550506450046016e-5,8.131522490515083e-8,0.0034713865350294564,-5.546223505877917e-5,8.122990831469518e-8,0.00347175466700389,-5.537307165347207e-5,8.10651077332558e-8,0.003472069935483391,-5.5257707024367603e-5,8.085614780070984e-8,0.0034723279767847086,-5.514048489525153e-5,8.064555763367976e-8,0.0034725332728849033,-5.504767565387728e-5,8.047894670947377e-8,0.0034727002510506733,-5.5004592720721175e-5,8.039983781883514e-8,0.003472853897452726,-5.5031486682279284e-5,8.044249502323219e-8,0.0034730286883273595,-5.513778809238864e-5,8.062209526950794e-8,0.003473263973229728,-5.531544130156531e-5,8.092351809161323e-8,0.0034735943076693245,-5.553413717659481e-5,8.129347436960563e-8,0.003474035665897499,-5.574326882078972e-5,8.16441259001113e-8,0.0034745731955609315,-5.5884742086398796e-5,8.18752580591423e-8,0.0034751596486798657,-5.5914583892773785e-5,8.19115493205368e-8,0.003475729749079442,-5.5822556153648676e-5,8.173640984494093e-8,0.0034762246796353497,-5.563705319293436e-5,8.140033666182622e-8,0.003476612701492186,-5.541203574155975e-5,8.099801039245487e-8,0.003476895422108325,-5.52051656998577e-5,8.063001150121857e-8,0.0034771002354880218,-5.50597528893753e-5,8.037124816213464e-8,0.003477266808137206,-5.499678333889154e-5,8.025718895626209e-8,0.003477434878777277,-5.501575513956466e-5,8.028567476587208e-8,0.0034776364077081026,-5.510010155564282e-5,8.042677847876208e-8,0.0034778919129647623,-5.522370891534653e-5,8.063443431098723e-8,0.003478209655577147,-5.53567664624354e-5,8.085668027157581e-8,0.003478586484780268,-5.547053781197861e-5,8.104383769654996e-8,0.003479009745324267,-5.5541137233202974e-5,8.115488223399064e-8,0.0034794599661624203,-5.55522999409954e-5,8.116209039532e-8,0.00347991406310937,-5.5497055559913984e-5,8.105385714697197e-8,0.00348034877409459,-5.5378226962704636e-5,8.083554656447708e-8,0.003480743967899695,-5.5207701396177e-5,8.052824678244802e-8,0.003481085399356866,-5.500462615502403e-5,8.016563989201027e-8,0.003481366669257658,-5.4792906661938594e-5,7.978960191727658e-8,0.0034815903954937507,-5.459831114198394e-5,7.944505128213398e-8,0.003481768645435652,-5.444530524158718e-5,7.917429462220676e-8,0.003481922641158277,-5.435363020679066e-5,7.901097650404148e-8,0.003482081557943241,-5.43344611388244e-5,7.897344901624152e-8,0.0034822796949849086,-5.438607219406785e-5,7.90574880741661e-8,0.0034825508886991334,-5.4489814677525574e-5,7.922969966297901e-8,0.003482919510198329,-5.460863179618924e-5,7.942530879637457e-8,0.00348338922468968,-5.4691530175031036e-5,7.955606784582527e-8,0.0034839341482262006,-5.468684887826709e-5,7.953314250976801e-8,0.003484500044929782,-5.456236411226566e-5,7.930171563250027e-8,0.003485020395764967,-5.432242661163013e-5,7.887051211495277e-8,0.003485441830665722,-5.4009666442778456e-5,7.831463037203127e-8,0.003485744308334187,-5.3687830051453043e-5,7.774555423085291e-8,0.003485944356059249,-5.341619454208322e-5,7.726643890430705e-8,0.0034860824605426953,-5.323068031905013e-5,7.69391413336341e-8,0.003486205192699337,-5.313887848336849e-5,7.677573716104043e-8,0.003486351616487765,-5.312585818689202e-5,7.674902644824243e-8,0.003486546989851855,-5.3163832246076e-5,7.680975614919294e-8,0.003486802071512451,-5.322081037736187e-5,7.690188262653895e-8,0.003487115234474545,-5.326655085161755e-5,7.697289095930539e-8,0.003487475361305784,-5.3276107450321254e-5,7.697977967690026e-8,0.00348786468748232,-5.323188756023941e-5,7.689243976502786e-8,0.003488261541112851,-5.3124867656400085e-5,7.669564695902987e-8,0.0034886431118577687,-5.2955187271283527e-5,7.639006967152842e-8,0.0034889883345022694,-5.273207584356439e-5,7.599217164183895e-8,0.00348928082718179,-5.247287143335613e-5,7.553253065060545e-8,0.0034895115406157772,-5.220092938007728e-5,7.505217138911657e-8,0.0034896806403166163,-5.194253721386278e-5,7.45970984578306e-8,0.003489798281891112,-5.17231700616895e-5,7.421163449310192e-8,0.003489884081885023,-5.156346255637453e-5,7.393127924950925e-8,0.0034899651917605482,-5.1475349070217194e-5,7.37759579390884e-8,0.0034900730046242873,-5.145880727187514e-5,7.374448490150087e-8,0.0034902384487222934,-5.149957504391051e-5,7.38108940008001e-8,0.003490485713360978,-5.1568581097192085e-5,7.392383226896056e-8,0.0034908247516596694,-5.162452953725788e-5,7.401135645851316e-8,0.0034912442178913756,-5.162129070334261e-5,7.399384833356589e-8,0.0034917082870866084,-5.152067046187914e-5,7.380600775763368e-8,0.003492161919526589,-5.1307906470345714e-5,7.342344472404727e-8,0.0034925468003312904,-5.100251708159784e-5,7.28812436475048e-8,0.0034928230231711763,-5.065567102917774e-5,7.22692085054129e-8,0.00349298480607223,-5.0332008284307815e-5,7.170010948102879e-8,0.003493060486880091,-5.008509810197167e-5,7.126687367301145e-8,0.0034930978108644877,-4.994040408769448e-5,7.10129659368693e-8,0.003493144812116986,-4.989292212429899e-5,7.092852991350264e-8,0.003493236329890927,-4.991616821749949e-5,7.09664233386691e-8,0.003493389382240401,-4.997451260323819e-5,7.106400377600212e-8,0.0034936049670886314,-5.003303046878982e-5,7.116036558566628e-8,0.0034938724850190725,-5.006315699024087e-5,7.120605641471014e-8,0.003494174181710002,-5.004500801825621e-5,7.116689888635155e-8,0.003494488647240114,-4.9967898958017656e-5,7.10247226686362e-8,0.003494793491455296,-4.983017838931351e-5,7.077701977191036e-8,0.0034950676495118685,-4.963883343406836e-5,7.043629688622425e-8,0.0034952936893218015,-4.940884123717768e-5,7.00290073852739e-8,0.0034954602703394025,-4.91619116469257e-5,6.959337044053813e-8,0.003495564525333123,-4.8924164351532744e-5,6.917524860206665e-8,0.0034956137545527114,-4.872255946766232e-5,6.882178267966077e-8,0.003495625715726868,-4.858035828766625e-5,6.857332667336269e-8,0.003495626962793271,-4.8512296531638016e-5,6.845495049254806e-8,0.003495649053141319,-4.852049680516395e-5,6.846936904534974e-8,0.00349572299679345,-4.859225484338337e-5,6.859329915473242e-8,0.0034958728136478237,-4.870052145709375e-5,6.877863372874697e-8,0.003496109274904872,-4.8807474643686194e-5,6.895900381066696e-8,0.0034964250870034323,-4.887130098211752e-5,6.906179269833887e-8,0.0034967931639454048,-4.885581409325789e-5,6.902485348345956e-8,0.0034971698712657363,-4.874139651093061e-5,6.881530246607359e-8,0.0034975044920154213,-4.853405294472491e-5,6.84449092255104e-8,0.0034977539089692195,-4.82679369446728e-5,6.797415829244196e-8,0.0034978977356623906,-4.799750824878962e-5,6.749837862946622e-8,0.003497946438249529,-4.778016802970108e-5,6.71174247409688e-8,0.003497937170337883,-4.765667743097292e-5,6.690162413586374e-8,0.0034979190953097782,-4.763908471093491e-5,6.687094352623798e-8,0.003497936251514583,-4.771117288133363e-5,6.699607854306233e-8,0.0034980160892215074,-4.783863709240464e-5,6.72164958349271e-8,0.0034981665960245093,-4.798196106874302e-5,6.746304065721289e-8,0.0034983797653029723,-4.810632101892896e-5,6.7675162011292e-8,0.003498637465113023,-4.818668505636025e-5,6.780961989824135e-8,0.003498916867361659,-4.820909523255125e-5,6.784251930616007e-8,0.0034991943722301896,-4.816994545602405e-5,6.77679407084832e-8,0.003499448182358842,-4.8074658565751284e-5,6.759564195017042e-8,0.003499660159392372,-4.793641707463699e-5,6.734892080114882e-8,0.003499817561197899,-4.777495464323169e-5,6.70625616249293e-8,0.0034999149556601225,-4.761498368904733e-5,6.678005875369204e-8,0.0034999561644388504,-4.7483672003196496e-5,6.654908362581237e-8,0.003499955598723389,-4.7406752130685654e-5,6.64145242188782e-8,0.003499937981419274,-4.7403373506660164e-5,6.64093764187308e-8,0.0034999354725625304,-4.748062569635709e-5,6.654518620862992e-8,0.0034999818663642855,-4.762947778629249e-5,6.680512211808298e-8,0.003500104737353191,-4.782411608126126e-5,6.714310459443665e-8,0.0035003176166506283,-4.802589279357225e-5,6.749101949715656e-8,0.0035006147541124916,-4.819155958831892e-5,6.777333062458293e-8,0.0035009704717046735,-4.8283900302600454e-5,6.79257035406021e-8,0.0035013438418472647,-4.828195062171539e-5,6.791269545624289e-8,0.0035016879794580935,-4.818789700989003e-5,6.77394776851162e-8,0.00350196195728518,-4.8028314713332036e-5,6.7453611515929e-8,0.0035021422800556846,-4.784851634702435e-5,6.713486096804716e-8,0.0035022301857497284,-4.770064526201016e-5,6.687425034339409e-8,0.0035022515726871335,-4.762872570098612e-5,6.674801281177754e-8,0.003502248809025409,-4.76559744371242e-5,6.6795665439382e-8,0.0035022673478896467,-4.777938593190681e-5,6.701087743219682e-8,0.003502342631637575,-4.7973344665574994e-5,6.734808187955503e-8,0.0035024922414820824,-4.819969702053791e-5,6.774024524213613e-8,0.003502715017307082,-4.841926028605082e-5,6.811897897486228e-8,0.0035029954034810603,-4.8600480484494276e-5,6.842952899629088e-8,0.003503309784163736,-4.872362633221379e-5,6.863790981889476e-8,0.0035036322351094896,-4.878127146575032e-5,6.873159448741184e-8,0.0035039386022962613,-4.877672372667128e-5,6.871671928860393e-8,0.003504208970165578,-4.87218399559206e-5,6.861430714964363e-8,0.003504429141433504,-4.863501729753385e-5,6.845682584882933e-8,0.00350459182981821,-4.853945290340068e-5,6.828516088744188e-8,0.0035046979735865453,-4.846124060565817e-5,6.814520400131455e-8,0.00350475808642424,-4.842667362547513e-5,6.808297903800876e-8,0.00350479302443529,-4.845822639406622e-5,6.813746753851686e-8,0.003504833027239744,-4.8569169986268695e-5,6.833115419174137e-8,0.003504913702238319,-4.8757838383985466e-5,6.866012446657687e-8,0.0035050683853181447,-4.900391199350466e-5,6.908782646579392e-8,0.0035053182256271995,-4.926964452673352e-5,6.954751938057267e-8,0.003505663509814919,-4.950767016413277e-5,6.995616209346973e-8,0.003506080502214955,-4.967398233611283e-5,7.023720489982495e-8,0.0035065262851390663,-4.974153435641874e-5,7.034430756266863e-8,0.003506950416802348,-4.970896615211756e-5,7.027638385694825e-8,0.003507309058355678,-4.960110682063593e-5,7.0078148342398e-8,0.003507576569966767,-4.9461571981689524e-5,6.982680430100155e-8,0.003507751260505524,-4.9340525835212706e-5,6.961036660223815e-8,0.0035078543380118467,-4.928155435713404e-5,6.950463542881697e-8,0.003507923017411245,-4.931120710474176e-5,6.955507505634865e-8,0.003508000088817847,-4.943373386134086e-5,6.976794205386932e-8,0.0035081230318595195,-4.9631997266688886e-5,7.011223942234489e-8,0.003508315707408989,-4.987372010955851e-5,7.053089174394624e-8,0.003508584634184765,-5.012067906449034e-5,7.095689951327328e-8,0.003508920154172877,-5.033779131119303e-5,7.13291488630146e-8,0.0035093011174319503,-5.0499608977751295e-5,7.16036029544808e-8,0.0035097008909079027,-5.059322819724562e-5,7.175822123658268e-8,0.003510092795370233,-5.0618099620991336e-5,7.179252228933486e-8,0.0035104540074803628,-5.058396686418179e-5,7.172395576915468e-8,0.0035107678630634256,-5.050815563358695e-5,7.15831936559844e-8,0.0035110250474179707,-5.041300190160958e-5,7.140965978633763e-8,0.003511224303772449,-5.0323602655051194e-5,7.124755864747469e-8,0.003511373081760116,-5.026556563032649e-5,7.114182180173342e-8,0.0035114881227789486,-5.026219499321855e-5,7.113303314780363e-8,0.003511595434404246,-5.0330578468163386e-5,7.125049337013055e-8,0.003511728512620591,-5.047647794780582e-5,7.15033405278639e-8,0.0035119233836461974,-5.0689046876978714e-5,7.187153222950117e-8,0.003512209769178392,-5.093800093324406e-5,7.230120436607415e-8,0.003512599955153083,-5.1176799888461815e-5,7.271049692322936e-8,0.003513080034794742,-5.135392592457402e-5,7.300940477436388e-8,0.003513609502076132,-5.14298349934786e-5,7.312941724983363e-8,0.0035141320281950124,-5.139216413429823e-5,7.305001548325024e-8,0.0035145936629104664,-5.1261041454466944e-5,7.28077595651944e-8,0.003514959887450534,-5.108168091747994e-5,7.248300624823855e-8,0.0035152241266274524,-5.090867675710344e-5,7.217204520177112e-8,0.0035154059396990682,-5.078968882418096e-5,7.195828527441259e-8,0.0035155420813633245,-5.075426745699315e-5,7.189270617613542e-8,0.0035156751083582306,-5.0809654038145116e-5,7.198679130075311e-8,0.003515843117254807,-5.094257374417173e-5,7.221607476825528e-8,0.0035160725094786714,-5.112494538587068e-5,7.253048594280297e-8,0.0035163744088703465,-5.132142690619098e-5,7.286773029032713e-8,0.0035167446049327736,-5.1497064920155425e-5,7.316666417595633e-8,0.003517166385541075,-5.1623642515698906e-5,7.337826896105822e-8,0.0035176151934762446,-5.168374224689177e-5,7.347259275945112e-8,0.0035180638474490854,-5.167220679053694e-5,7.344117159692746e-8,0.003518487230567752,-5.159533656149261e-5,7.329555446259182e-8,0.0035188657466365884,-5.146856119474064e-5,7.306321274190783e-8,0.0035191873567905307,-5.13134535075297e-5,7.278232032475649e-8,0.0035194484899109596,-5.1154771029381724e-5,7.249655785721567e-8,0.0035196543025420254,-5.101775638284942e-5,7.225031546170417e-8,0.0035198186084428556,-5.0925530397301455e-5,7.208400788541844e-8,0.0035199635105888586,-5.089622436322815e-5,7.202894163244655e-8,0.003520118343208592,-5.093945103045378e-5,7.210112224469392e-8,0.0035203169511922577,-5.105206016209678e-5,7.229397007328736e-8,0.003520592065648051,-5.1214188069510806e-5,7.2571689142489e-8,0.00352096625240208,-5.138810927673326e-5,7.286756429012272e-8,0.0035214411001403445,-5.1523353653888815e-5,7.309310451119305e-8,0.0035219896591436894,-5.15702050538723e-5,7.316168179423694e-8,0.0035225589618442157,-5.149859927706176e-5,7.302152157725176e-8,0.003523085668432638,-5.1313067895405906e-5,7.268175566529078e-8,0.003523518917940908,-5.105359802726036e-5,7.221375246224139e-8,0.003523838095962248,-5.0780520742168284e-5,7.17243210762634e-8,0.0035240564761216146,-5.0552185506667285e-5,7.13161973079306e-8,0.003524211505779421,-5.040730619616483e-5,7.105688273569124e-8,0.003524349502340482,-5.035813602950126e-5,7.096680808680643e-8,0.0035245122820342207,-5.039321453053906e-5,7.102455458373297e-8,0.003524729076631242,-5.0485092313253465e-5,7.1180850127246e-8,0.003525013583176288,-5.059899047337806e-5,7.137404304621766e-8,0.003525364590777378,-5.070022815478351e-5,7.154318300099117e-8,0.0035257686958330417,-5.075977742115368e-5,7.163764186847562e-8,0.003526204144558562,-5.075793251795897e-5,7.16233638631601e-8,0.003526645154897335,-5.06861406598159e-5,7.148591957241648e-8,0.003527066167471657,-5.0547118838004726e-5,7.123062042100954e-8,0.0035274455836368955,-5.03535175473795e-5,7.088014482938875e-8,0.003527768623758874,-5.012545639882056e-5,7.047021401502236e-8,0.0035280290362206864,-4.988738877980477e-5,7.004408058198917e-8,0.0035282296839363246,-4.966483945398808e-5,6.964675729891865e-8,0.003528382291270085,-4.9481325891113706e-5,6.931952735975422e-8,0.003528506567199636,-4.935546278755109e-5,6.909476075587484e-8,0.003528628724271695,-4.929815291741338e-5,6.899092748257108e-8,0.0035287791842859104,-4.9309749713025403e-5,6.900767973450815e-8,0.0035289888641371506,-4.9377284113068966e-5,6.912119895490268e-8,0.003529283256307753,-4.947268367777429e-5,6.92813827041382e-8,0.0035296742313782816,-4.955407009659888e-5,6.941439827038625e-8,0.003530151349516904,-4.957278427309963e-5,6.943511266213218e-8,0.0035306772094212354,-4.948747198735312e-5,6.92717079077621e-8,0.003531192964839601,-4.928195652942658e-5,6.889685346018671e-8,0.0035316365215482056,-4.89774365236009e-5,6.834895029601523e-8,0.003531966575744259,-4.862874958980648e-5,6.772540073203424e-8,0.0035321786442322665,-4.830377164926679e-5,6.714615431489767e-8,0.003532303511122255,-4.805750770984733e-5,6.670788672264682e-8,0.0035323910644271955,-4.7915439884981005e-5,6.645464473265158e-8,0.003532490905278016,-4.787198094158151e-5,6.637538089556046e-8,0.0035326391070453276,-4.7899603242805185e-5,6.6420465804465665E-08,0.003532853457600977,-4.79609329089279e-5,6.652335567882734e-8,0.003533134764875135,-4.801870810507902e-5,6.661826425948239e-8,0.0035334709225311187,-4.80420607780708e-5,6.6651124930788e-8,0.0035338414892082007,-4.800969554135657e-5,6.658497123133597e-8,0.003534221883309781,-4.791109649069916e-5,6.640185991590025e-8,0.0035345870911481937,-4.774650430734176e-5,6.610271983901248e-8,0.003534914922415681,-4.7525956167852065e-5,6.570564041722356e-8,0.003535188784668761,-4.726751897573049e-5,6.524278234784632e-8,0.003535399869757837,-4.699475689773158e-5,6.475593288560843e-8,0.003535548488616758,-4.673352273796198e-5,6.429082959559262e-8,0.0035356443027719678,-4.6508419457597334e-5,6.389085743601263e-8,0.003535705452163371,-4.633936348530399e-5,6.359090277517784e-8,0.0035357567090917945,-4.623851257366044e-5,6.341187165168234e-8,0.003535826730715225,-4.6207747236638295e-5,6.335626221346214e-8,0.0035359444328626815,-4.62369186224868e-5,6.340521229944e-8,0.0035361343987252193,-4.6303140463713727e-5,6.351750974087675e-8,0.0035364112077063,-4.637182901460024e-5,6.363172583245652e-8,0.0035367731674912405,-4.640084478194753e-5,6.367372155706706e-8,0.003537197303637594,-4.634911429135081e-5,6.357183762261232e-8,0.0035376391122535576,-4.618966433176537e-5,6.327964211385549e-8,0.003538041119459337,-4.592349949638268e-5,6.280007246840904e-8,0.0035383510638224264,-4.558644822183458e-5,6.219724757422401e-8,0.0035385429814836127,-4.524104977366377e-5,6.158200500178063e-8,0.0035386287865788782,-4.495389988038994e-5,6.107183348045023e-8,0.003538652157842681,-4.477026159769317e-5,6.074602879654554e-8,0.0035386688439036844,-4.47004078804151e-5,6.062170724859673e-8,0.003538726003163398,-4.4722809906257866e-5,6.065974926915645e-8,0.0035388505435425223,-4.4797903515981296e-5,6.078947944701308e-8,0.003539047874416657,-4.488281287540454e-5,6.093489620785433e-8,0.0035393068814284787,-4.4941391084842396e-5,6.103238884542969e-8,0.003539606554146499,-4.494882794965666e-5,6.103867464873075e-8,0.003539921676724328,-4.4892499760318906e-5,6.093205597538492e-8,0.003540226919719803,-4.477102781459113e-5,6.07105950251088e-8,0.0035404997394379314,-4.4592754938286915e-5,6.03893845810904e-8,0.0035407226338242614,-4.437398906963968e-5,5.999749164758063e-8,0.003540885022134315,-4.413694086471505e-5,5.957436958624628e-8,0.0035409847601478635,-4.3907158055120185e-5,5.91653320895687e-8,0.003541029039603609,-4.371029443432704e-5,5.881578782502931e-8,0.003541034222876167,-4.3568356911767184e-5,5.856451374224705e-8,0.0035410242820919035,-4.34959360356527e-5,5.843690932693798e-8,0.0035410278165807162,-4.349704460319828e-5,5.8439391136652944e-8,0.003541073866467474,-4.35631774348635e-5,5.8556051173999174e-8,0.003541186954993939,-4.367314619920436e-5,5.874856491748497e-8,0.0035413819586960823,-4.379504612211161e-5,5.895993621631804e-8,0.003541659481115643,-4.389056974908652e-5,5.9122364071120686e-8,0.0035420026717852874,-4.392188556736655e-5,5.9169501196338025e-8,0.0035423770266627625,-4.386091460591744e-5,5.9052739202674654e-8,0.003542735137307152,-4.369954534362978e-5,5.8758966934382756e-8,0.003543027709928473,-4.345726115647605e-5,5.8323693696870554e-8,0.003543219432923343,-4.318096116450492e-5,5.783045574779396e-8,0.0035433037039722254,-4.293306375151269e-5,5.7389662664115485e-8,0.003543307510625984,-4.2770211481893025e-5,5.710096925546551e-8,0.003543281657416864,-4.2722564889928e-5,5.7016803661170176e-8,0.0035432808969128654,-4.2784998811324036e-5,5.7127048886294805e-8,0.003543345083182791,-4.29237431526913e-5,5.7371094348610354e-8,0.0035434901225729534,-4.309218173774192e-5,5.766603094543882e-8,0.0035437096200434323,-4.324625449648452e-5,5.793397699501254e-8,0.003543982437111229,-4.335377416740421e-5,5.811844457672117e-8,0.003544280963361055,-4.339731616568985e-5,5.81892230593214e-8,0.003544577345674607,-4.337307492070495e-5,5.814014309175838e-8,0.0035448472547188253,-4.328818788598209e-5,5.798423922921832e-8,0.003545071945356522,-4.315800457900615e-5,5.774893393946444e-8,0.0035452395202854154,-4.300371531604833e-5,5.7471914844255585e-8,0.0035453459408502194,-4.285012265748278e-5,5.719723861116069e-8,0.0035453958923160433,-4.2723120313231096e-5,5.697084279090594e-8,0.0035454032149012556,-4.264651128545993e-5,5.683482254338785e-8,0.0035453903011499546,-4.2638151061864956e-5,5.682050114724788e-8,0.003545385835098054,-4.270593783651835e-5,5.6941284815840156e-8,0.0035454206037119564,-4.2844639289619016e-5,5.718710304786205e-8,0.003545521737679013,-4.3034763683612925e-5,5.7522579910149e-8,0.0035457064554863466,-4.3244478586494526e-5,5.7890672855239426e-8,0.0035459768841103315,-4.343484771283477e-5,5.822218243869248e-8,0.0035463175130871715,-4.35676865911608e-5,5.8449803092231185e-8,0.003546696374372438,-4.361459001005239e-5,5.852408386886376e-8,0.003547070408275864,-4.3565227278255075e-5,5.842791123349795e-8,0.0035473947092906958,-4.343266116837182e-5,5.8185596798430805e-8,0.003547634245769986,-4.3253317404532224e-5,5.786248016398101e-8,0.003547775128552845,-4.307980993012999e-5,5.755198880500784e-8,0.0035478310759871168,-4.296686019185961e-5,5.7350653828112885e-8,0.003547840931561206,-4.295416001320256e-5,5.732790326738767e-8,0.003547856465191098,-4.305323561587963e-5,5.7503072995357236e-8,0.0035479251065484753,-4.3244764513410865e-5,5.7840967381065036e-8,0.0035480755467052556,-4.3487437490787506e-5,5.82678059755974e-8,0.003548312159234838,-4.3733132149183526e-5,5.869821561074207e-8,0.003548618609759482,-4.394085957403888e-5,5.9059893258797215e-8,0.0035489665155445534,-4.4084657379925696e-5,5.930742385274079e-8,0.0035493243155301293,-4.4155064485646884e-5,5.94246850590516e-8,0.0035496635912923074,-4.415657349882108e-5,5.942017343141657e-8,0.003549962454933137,-4.4103723515838815e-5,5.932002348157367e-8,0.0035502068853032385,-4.401745537774121e-5,5.91615814739689e-8,0.0035503910919313167,-4.392223541541534e-5,5.898836758135166e-8,0.0035505176599334156,-4.3843716170544275e-5,5.884594653272736e-8,0.0035505977261718136,-4.3806355923926305e-5,5.877765373835154e-8,0.0035506509029348764,-4.38304481117814e-5,5.881923373523053e-8,0.0035507042417583052,-4.392838644885185e-5,5.8992150582505356e-8,0.003550789375607358,-4.4100629561268414e-5,5.9296460179193444e-8,0.0035509372747178996,-4.4332623510118206e-5,5.970549942120029e-8,0.0035511709877155606,-4.459455929913146e-5,6.016568287046157e-8,0.0035514981633926815,-4.4845618151110135e-5,6.060425933750863e-8,0.0035519062473257645,-4.504285818124529e-5,6.094521953949166e-8,0.003552363010141798,-4.515265199572119e-5,6.112959670344877e-8,0.0035528232538145662,-4.516091931665212e-5,6.113348597576136e-8,0.0035532400588138987,-4.5078419810363994e-5,6.097717700290937e-8,0.0035535771481694945,-4.4939099071296303e-5,6.07218955472018e-8,0.0035538186514130496,-4.479186991256323e-5,6.045492489427308e-8,0.0035539735035672354,-4.4688098423139305e-5,6.02672442098929e-8,0.0035540731748337205,-4.466810631879039e-5,6.022963420680442e-8,0.0035541630731403067,-4.475043551216551e-5,6.037388305148787e-8,0.003554289865126375,-4.4927280773815736e-5,6.068503341769779e-8,0.0035544886846951913,-4.516779476639947e-5,6.110755581298996e-8,0.0035547745839082123,-4.542805241964009e-5,6.156319330980759e-8,0.0035551408759050616,-4.5663759910920776e-5,6.197350799964669e-8,0.003555563963135248,-4.5841008864221135e-5,6.227883337795943e-8,0.0035560116876657694,-4.5941979139417047e-5,6.24482093400329e-8,0.0035564516280192447,-4.596527201117455e-5,6.24798008660841e-8,0.003556857010155012,-4.592266312849646e-5,6.239502440655055e-8,0.003557209714814007,-4.5834565631833704e-5,6.223046308066282e-8,0.003557501080364987,-4.572581403912075e-5,6.203040815733011e-8,0.0035577315537230697,-4.562240269450946e-5,6.184110140786349e-8,0.003557910036471095,-4.554903608560832e-5,6.170637764909142e-8,0.0035580533024840793,-4.552692161730423e-5,6.166368747736406e-8,0.0035581853049642667,-4.557119728743023e-5,6.173946177102266e-8,0.0035583356940717664,-4.568768485662425e-5,6.194333838364082e-8,0.0035585365708927026,-4.586927857225371e-5,6.226185510588425e-8,0.0035588166627198116,-4.609326999183041e-5,6.265390851272246e-8,0.003559193137323904,-4.632193829336071e-5,6.30520372167614e-8,0.003559663281878733,-4.650876999059089e-5,6.337362542760012e-8,0.003560200245713937,-4.661063021140253e-5,6.354254648899662e-8,0.0035607569317794813,-4.6602396654738655e-5,6.351506594055439e-8,0.003561278648384015,-4.6487494514614917e-5,6.32983887923139e-8,0.0035617199935504846,-4.6298558243764545e-5,6.29516014692535e-8,0.003562058627582537,-4.608741314362649e-5,6.256758166751812e-8,0.0035623004672044175,-4.5909078533960046e-5,6.224430829280521e-8,0.003562475581175662,-4.5806486601264316e-5,6.205760310203278e-8,0.0035626279001984354,-4.580067735294027e-5,6.204384806523509e-8,0.003562802954124633,-4.5888015756848204e-5,6.219537779330008e-8,0.003563037055132452,-4.6043654273636875e-5,6.246701201447148e-8,0.003563350070700666,-4.622932203076322e-5,6.27901620525839e-8,0.0035637427913076075,-4.6403085941301916e-5,6.309025042503193e-8,0.003564198880158738,-4.6528682381631946e-5,6.330320173165173e-8,0.0035646903766327347,-4.658232632749611e-5,6.338736538669235e-8,0.0035651848849890845,-4.6555732749513495e-5,6.332870370697999e-8,0.0035656523705938485,-4.645535269046844e-5,6.313929883122431e-8,0.0035660700713561725,-4.6298937321714985e-5,6.285117367268997e-8,0.003566425004528302,-4.611096934697695e-5,6.250815533966789e-8,0.0035667143995241142,-4.591827694533483e-5,6.215809174271331e-8,0.0035669448573334944,-4.574655007561588e-5,6.184666832943819e-8,0.0035671310343054594,-4.561778706202556e-5,6.161284724828767e-8,0.0035672942787601126,-4.554824175451044e-5,6.148516952915002e-8,0.0035674611803288114,-4.5546361387194964e-5,6.147805454901015e-8,0.003567661543033928,-4.5610385548273515e-5,6.158757512312564e-8,0.003567924912442449,-4.5725767445714075e-5,6.178702994408387e-8,0.0035682748142848095,-4.5863544983274e-5,6.202428486357496e-8,0.0035687207877180566,-4.598192357438832e-5,6.222480065079293e-8,0.0035692503506583244,-4.603366023380281e-5,6.230484445613422e-8,0.0035698255742100237,-4.597995195287227e-5,6.219611092854864e-8,0.0035703895352063105,-4.580682740172019e-5,6.187471998839677e-8,0.003570883632004423,-4.553525834522834e-5,6.137904502638934e-8,0.003571268864222055,-4.521699225352601e-5,6.080211684283172e-8,0.0035715396695708015,-4.4916408899932836e-5,6.025908338968015e-8,0.003571723198393817,-4.468799023289393e-5,5.984686372144387e-8,0.003571866379697392,-4.456067955242553e-5,5.961625196141818e-8,0.0035720191409290983,-4.453406964456066e-5,5.956536150564443e-8,0.0035722211083410766,-4.458410992868764e-5,5.965019352482582e-8,0.003572494625911943,-4.4673173061435514e-5,5.980293252365561e-8,0.0035728434568544545,-4.476028636567257e-5,5.995034390494367e-8,0.0035732552997467812,-4.480936493091201e-5,6.002839604720158e-8,0.003573706429317807,-4.479480285769821e-5,5.99920413721776e-8,0.0035741673042217212,-4.4704415364411226e-5,5.982025244393188e-8,0.0035746082437256763,-4.45398457623661e-5,5.951659167339322e-8,0.003575004335958261,-4.43147481520429e-5,5.9105889956792483e-8,0.003575338940318722,-4.405137481478573e-5,5.862814161090186e-8,0.0035756054724064797,-4.3776367002100296e-5,5.81310100746709e-8,0.0035758075061845546,-4.3516565870462726e-5,5.766237414128631e-8,0.0035759576042431298,-4.32955011747464e-5,5.726406668644314e-8,0.003576075473322457,-4.313078064462699e-5,5.696719548910158e-8,0.0035761858511276887,-4.3032185858342236e-5,5.678871564724287e-8,0.0035763162079560256,-4.300017921430965e-5,5.672876610846801e-8,0.0035764940524594456,-4.3024605140873026e-5,5.6768438605918676e-8,0.0035767432881861085,-4.30836704446525e-5,5.686814868430869e-8,0.0035770790275487753,-4.314407216803266e-5,5.6968106744896594e-8,0.0035775010573515023,-4.3164050813275044e-5,5.699394484154996e-8,0.003577987803146952,-4.310136895375068e-5,5.6870952361826546e-8,0.0035784948165471183,-4.292678335936257e-5,5.65479221696561e-8,0.003578962840272767,-4.2639405852658924e-5,5.602429479005061e-8,0.003579336851006414,-4.227498438897039e-5,5.536473452635238e-8,0.003579588685688661,-4.18979968512765e-5,5.468488805835137e-8,0.0035797296080622783,-4.1578011198993515e-5,5.4109049105691114e-8,0.0035798042114301037,-4.1363105981440804e-5,5.372259413331688e-8,0.0035798702564199783,-4.126542984896543e-5,5.354626012529212e-8,0.0035799774382410184,-4.126391236459329e-5,5.354128307652321e-8,0.003580154993927935,-4.1317791469285e-5,5.363395239974795e-8,0.003580409608935486,-4.1381581597515776e-5,5.374262013811699e-8,0.003580729783643385,-4.1415934670145685e-5,5.3797139133405634e-8,0.003581092408746188,-4.139336320909661e-5,5.3748926352074026e-8,0.003581469034566333,-4.130007224972205e-5,5.357400193982709e-8,0.0035818310034735766,-4.1135487314135264e-5,5.3271956810880735e-8,0.0035821534692491988,-4.0910476824976e-5,5.286268340386592e-8,0.003582418418358619,-4.06446935945381e-5,5.238161243589318e-8,0.0035826166797022483,-4.0363280171443215e-5,5.187384845082181e-8,0.00358274884529989,-4.009317462540421e-5,5.1387588037206476e-8,0.003582824995614943,-3.985933882274082e-5,5.096737917280055e-8,0.0035828632611508504,-3.9681384105172434e-5,5.064806914993073e-8,0.0035828875139954875,-3.957098298811167e-5,5.045014818249678e-8,0.003582924529544475,-3.953016479695639e-5,5.0376688098463605e-8,0.00358300081862799,-3.955047708564117e-5,5.0411877426842314e-8,0.0035831392261010796,-3.961300640930363e-5,5.052117648958689e-8,0.003583355214352302,-3.968931328155379e-5,5.065319072165797e-8,0.0035836526718863154,-3.974377438611344e-5,5.074407946967609e-8,0.003584019676710392,-3.973841845099247e-5,5.072633320424865e-8,0.0035844258489106545,-3.9641235948389545e-5,5.0543575221023724e-8,0.003584824176308066,-3.943762986883524e-5,5.0170788891649215e-8,0.0035851605988330357,-3.914173842671066e-5,4.963424297277142e-8,0.0035853918960880448,-3.880043670747472e-5,4.9018405921792256e-8,0.003585505322328108,-3.848249328671764e-5,4.844644654517097e-8,0.003585527515563994,-3.8253569503164206e-5,4.803549689485371e-8,0.0035855144146158527,-3.8149888897543195e-5,4.784960245800021e-8,0.0035855273906091824,-3.8166487904675314e-5,4.787887836846632e-8,0.0035856104495281117,-3.8265157169492204e-5,4.805402080142565e-8,0.0035857798816200707,-3.8393560363288984e-5,4.828082047147677e-8,0.0035860268763078557,-3.8503227747035004e-5,4.847250586230702e-8,0.003586326680961035,-3.855986372475001e-5,4.8568113786697065e-8,0.003586648121636525,-3.8546152355993225e-5,4.853728942981486e-8,0.0035869605978639182,-3.846010828728895e-5,4.837710529272839e-8,0.003587238303345829,-3.8311783073421156e-5,4.810602981932446e-8,0.0035874625495865785,-3.811982896336047e-5,4.775775329407981e-8,0.00358762304655042,-3.790829412712801e-5,4.7375493462969575e-8,0.003587718543212155,-3.7703539314087314e-5,4.700651815697953e-8,0.0035877568854504843,-3.753109690746856e-5,4.669652828927809e-8,0.0035877543189045003,-3.741240911193318e-5,4.648378792509094e-8,0.0035877337821993926,-3.736170012036886e-5,4.639348279578213e-8,0.003587722146397466,-3.738348798138e-5,4.643324183247487e-8,0.003587746637258956,-3.747117499085622e-5,4.659063494568057e-8,0.0035878308010265218,-3.760702188597041e-5,4.683321176191194e-8,0.0035879904688035855,-3.776372946249842e-5,4.7111485215557924e-8,0.0035882302134709367,-3.790765307608103e-5,4.736488113389693e-8,0.0035885407027646038,-3.800358818517712e-5,4.753047496748133e-8,0.0035888975265631912,-3.802122612155703e-5,4.755460390198331e-8,0.003589262683625903,-3.7943134492679234e-5,4.740703403510289e-8,0.003589590313060849,-3.777295305645327e-5,4.709535929441549e-8,0.0035898376636516174,-3.754070148435225e-5,4.6674180657203245e-8,0.003589979939820703,-3.730052104784748e-5,4.6240824276023414e-8,0.003590023371945228,-3.711708048632642e-5,4.5910925049693536e-8,0.0035900077501635065,-3.7042871910765236e-5,4.577784781514526e-8,0.0035899933020088546,-3.709707415007798e-5,4.587502096050476e-8,0.003590037208575344,-3.725873614994456e-5,4.6163979998570615e-8,0.0035901730111987757,-3.747812082032692e-5,4.655494611376622e-8,0.0035904033060219416,-3.769784537258867e-5,4.6944876133643913e-8,0.003590705852666982,-3.787137405914086e-5,4.725061888805473e-8,0.0035910458330059257,-3.7972004750569304e-5,4.7424881917477886e-8,0.0035913870901548824,-3.799305368319623e-5,4.7456342834723396e-8,0.003591699210907479,-3.794340612840332e-5,4.736148608065085e-8,0.0035919606768198722,-3.7842095199116786e-5,4.7174801397497153e-8,0.0035921596171359957,-3.7713708795726786e-5,4.6940568127754947e-8,0.003592293558379161,-3.758490512066759e-5,4.6706667488679346e-8,0.0035923688823323,-3.7481625279828046e-5,4.651961895285797e-8,0.0035924001126666325,-3.742650014676788e-5,4.641991343171655e-8,0.003592408782381076,-3.743612894819133e-5,4.643708427178588e-8,0.0035924214411165024,-3.751830128528744e-5,4.6584688608919025e-8,0.0035924664696293106,-3.7669705308534085e-5,4.685621045027915e-8,0.003592569774155505,-3.7874901547291835e-5,4.7223301285490726e-8,0.003592749902450613,-3.810728859606727e-5,4.763765035237718e-8,0.0035930135281971444,-3.833251364146036e-5,4.8037268016193544e-8,0.003593352477999401,-3.85142094254474e-5,4.835692293551611e-8,0.003593743318325711,-3.862124028617287e-5,4.8541211620976406e-8,0.0035941500803349773,-3.8635219635304036e-5,4.855799005285224e-8,0.0035945303054739485,-3.8556856029829644e-5,4.8409563859566875e-8,0.0035948441441678958,-3.84093266238022e-5,4.8138450958546775e-8,0.0035950652932258955,-3.823653707192244e-5,4.7823971958565097E-08,0.003595191000352243,-3.809453371200407e-5,4.7566669363102354e-8,0.003595246796889517,-3.803631027123147e-5,4.7461060314247433E-08,0.0035952816700368603,-3.809404780623166e-5,4.756396298769029e-8,0.0035953529476908017,-3.826654280703843e-5,4.7872228760978966e-8,0.0035955064360887307,-3.851914359448242e-5,4.832290540180464e-8,0.0035957614102684605,-3.8797097685212365e-5,4.8817364790469434e-8,0.0035961074408753227,-3.904519065318432e-5,4.925659081088645e-8,0.0035965125426542463,-3.922380619036841e-5,4.9569925989950274e-8,0.0035969362675940465,-3.9315732962972006e-5,4.972712682605005e-8,0.003597341109482439,-3.932441886961113e-5,4.9735041797245097e-8,0.0035976991308152764,-3.9267828750470704e-5,4.962644042986901e-8,0.0035979941492756103,-3.917176770050048e-5,4.944797265987095e-8,0.0035982212646163817,-3.906461231436291e-5,4.925073309806581e-8,0.0035983853864858173,-3.8973731332623625e-5,4.9083882869826816e-8,0.003598499705108412,-3.8923037020490345e-5,4.899027237780294e-8,0.003598584313547959,-3.893093107139329e-5,4.900272753215885e-8,0.003598664665047769,-3.900814200916675e-5,4.914012707459969e-8,0.003598769295912446,-3.91554181102269e-5,4.940325446403414e-8,0.003598926296552057,-3.936159589408526e-5,4.9771395938974046e-8,0.0035991584178781378,-3.9603052569638225e-5,5.020149262688757e-8,0.0035994774570306106,-3.9845742495034574e-5,5.063196470603437e-8,0.003599879456446016,-4.0050595060088164e-5,5.099254875986903e-8,0.0036003427551529487,-4.018188155414745e-5,5.121939647495595e-8,0.0036008305267239238,-4.021666105614067e-5,5.127201267350899e-8,0.003601298082359539,-4.015241628723848e-5,5.114683795044416e-8,0.0036017034785005065,-4.001010080325409e-5,5.0882498429844205e-8,0.0036020186446318633,-3.983102151691306e-5,5.055393791953197e-8,0.00360223784043595,-3.966773922720605e-5,5.025583994965174e-8,0.0036023807275160397,-3.957088011118183e-5,5.0078834765566855e-8,0.0036024884440489483,-3.957514576006304e-5,5.008445593779248e-8,0.003602612836630004,-3.9688759093846825e-5,5.028643421396089e-8,0.003602801507346342,-3.9890448396384285e-5,5.064559582445518e-8,0.0036030837132397233,-4.013591224250133e-5,5.1081729897139555e-8,0.0036034625787910108,-4.037175117016467e-5,5.149873123423126e-8,0.0036039164745840613,-4.0551277524241955e-5,5.181297742668326e-8,0.0036044080529050305,-4.0646004294966926e-5,5.197384946590186e-8,0.00360489619893693,-4.064945869958866e-5,5.197041780922286e-8,0.0036053460251226866,-4.0574082061552914e-5,5.182570742191499e-8,0.0036057344318386826,-4.044453999591332e-5,5.158455566701788e-8,0.0036060514579108944,-4.029075668722807e-5,5.130104481965624e-8,0.003606299011004411,-4.01424970484346e-5,5.1028778692332877e-8,0.0036064885833287518,-4.0025849226308426e-5,5.081459498933569e-8,0.003606638973317254,-3.9961099891688534e-5,5.069476213733481e-8,0.003606774332411993,-3.9961203232245695e-5,5.069221405358963e-8,0.0036069222452277806,-4.003023028212907e-5,5.081374865009258e-8,0.0036071112182922568,-4.016168303508934e-5,5.1047028727656355e-8,0.003607366963232316,-4.033714988858951e-5,5.135826999643147e-8,0.0036077072303672525,-4.0526398781894345e-5,5.169257162187404e-8,0.0036081358410376746,-4.069044856608033e-5,5.19795998409735e-8,0.00360863791472181,-4.0788768684664725e-5,5.214662964419998e-8,0.0036091792602710175,-4.079000858969095e-5,5.2137837160242114e-8,0.003609712280943959,-4.068309768113012e-5,5.1934170132578293e-8,0.0036101880918484254,-4.04838562463079e-5,5.1565076095717744e-8,0.0036105710604826644,-4.0233135214053623e-5,5.11049366675387e-8,0.0036108500263461432,-3.998610781681087e-5,5.065355467128838e-8,0.003611041677968052,-3.9796540409886596e-5,5.0307660035659015e-8,0.0036111851665100313,-3.970186618515915e-5,5.0134017422303575e-8,0.0036113304864999287,-3.971382372907988e-5,5.0152753919674675e-8,0.0036115247250119607,-3.98167918000583e-5,5.033467938084641e-8,0.0036118001491949494,-3.997345877334354e-5,5.061180843179813e-8,0.003612167114637999,-4.013564216404726e-5,5.089703004119631e-8,0.0036126132814578962,-4.025692196720492e-5,5.110687626163271e-8,0.0036131087640671185,-4.0303479742982214e-5,5.118093281193777e-8,0.0036136150876857724,-4.026034802700086e-5,5.109292725088119e-8,0.003614094856008835,-4.0132016043704154e-5,5.085165351686192e-8,0.0036145193074628326,-3.993836208888382e-5,5.0493512681573206e-8,0.003614872292763547,-3.9708210576448246e-5,5.0070825982924494e-8,0.003615150815762236,-3.947285164647236e-5,4.9640137095099506e-8,0.0036153632808230353,-3.926096931140428e-5,4.9253097195019005e-8,0.0036155267616432177,-3.909538048400595e-5,4.89506275147321e-8,0.0036156642392711075,-3.8991230807476714e-5,4.8759693003331155e-8,0.0036158021749105296,-3.895495080175904e-5,4.86914245950835e-8,0.0036159682275933073,-3.8983383111791493e-5,4.873955389149923e-8,0.003616188577386115,-3.9062911493915725e-5,4.887889729439448e-8,0.0036164842465590077,-3.9168981167351876e-5,4.906461395007111e-8,0.003616866127419069,-3.926707099410478e-5,4.9234122993500053E-08,0.003617329348913702,-3.931673398289274e-5,4.9314522167269587e-8,0.003617849150796829,-3.928001916208648e-5,4.923780665633049e-8,0.003618381798653043,-3.913360777112033e-5,4.896267227430695e-8,0.0036188735440883186,-3.888055553865431e-5,4.849554188132768e-8,0.003619276853702225,-3.855491658006466e-5,4.789873129478229e-8,0.0036195676184713646,-3.821416389457841e-5,4.7276580612196774e-8,0.0036197545025373444,-3.792090095161403e-5,4.6742254073388355e-8,0.0036198753513412853,-3.772222272857822e-5,4.6380371688515686e-8,0.0036199830801991757,-3.763623905030227e-5,4.6222755173165736e-8,0.00362012849213772,-3.7650144684676776e-5,4.624521707582522e-8,0.003620346940104583,-3.77278873639625e-5,4.6381754134727366e-8,0.0036206519317770578,-3.7822429509832206e-5,4.654694600928876e-8,0.0036210353347296935,-3.788800232657244e-5,4.6658156643896576e-8,0.0036214722356083732,-3.7889552847069945e-5,4.665250017723497e-8,0.0036219282737146377,-3.7808250334028e-5,4.6496606350338104e-8,0.003622367558528604,-3.764294604213074e-5,4.618907856043481e-8,0.003622759613618764,-3.740807222574171e-5,4.5756568470016735e-8,0.003623084197594277,-3.7129000539556704e-5,4.524531717165578e-8,0.0036233334897944123,-3.6836271033352585e-5,4.471070197478162e-8,0.003623511822352105,-3.656004150987419e-5,4.42072171491852e-8,0.003623633625770037,-3.632568696345636e-5,4.378055463898182e-8,0.0036237204746564565,-3.615095303416537e-5,4.3462496938331666e-8,0.0036237980238943072,-3.604451542869379e-5,4.326833725239851e-8,0.0036238932087061873,-3.600542881626248e-5,4.3195891834918523e-8,0.0036240316260941043,-3.6022998605292114e-5,4.322528366433578e-8,0.003624234754252283,-3.6076927455552074E-05,4.331926852948421e-8,0.0036245165668879796,-3.613800749232242e-5,4.34246123367742e-8,0.003624879311897084,-3.617023187311202e-5,4.3476066000601294e-8,0.0036253090835464646,-3.6135726391495956e-5,4.3405390637871034e-8,0.0036257732585274127,-3.6003592967351125e-5,4.315733397260209e-8,0.0036262232058954036,-3.576186980901324e-5,4.271111422394686e-8,0.003626605331546473,-3.542823247726426e-5,4.209956869519151e-8,0.003626879436036661,-3.50518579454549e-5,4.1412337399755736e-8,0.0036270365079126123,-3.470071004044956e-5,4.0772704917605835e-8,0.0036271047904969573,-3.443736111457935e-5,4.029373159298715e-8,0.0036271389316380864,-3.429581521273013e-5,4.003629528591115e-8,0.0036271983746661196,-3.427189565117347e-5,3.999186380888534e-8,0.0036273272627723543,-3.433001504928174e-5,4.009507060595036e-8,0.0036275443605000503,-3.441929039714666e-5,4.02532013146905e-8,0.003627843559349204,-3.448978456372097e-5,4.037574941419381e-8,0.0036282007307444626,-3.450355291645972e-5,4.039436204166938e-8,0.0036285824334346233,-3.443962968437811e-5,4.027168052144104e-8,0.003628953774846586,-3.4294406238919776e-5,4.000181674287031e-8,0.003629284453436167,-3.4079224683629005e-5,3.960585055025596e-8,0.00362955288864694,-3.381643465683662e-5,3.912462715686188e-8,0.0036297485036715003,-3.353465476085004e-5,3.8610171191587416e-8,0.0036298722480067286,-3.3263883330298314e-5,3.811684927278125e-8,0.003629935574821214,-3.303104643643447e-5,3.769332757952957e-8,0.003629958188257625,-3.285642390889165e-5,3.737611903004188e-8,0.003629964993502037,-3.275128511796277e-5,3.7185320702803963e-8,0.0036299828010852926,-3.271683137367501e-5,3.712271268820873e-8,0.003630037189355566,-3.274419552984249e-5,3.7171770693712e-8,0.003630149597490292,-3.281517977483511e-5,3.729903127915843e-8,0.0036303345419651353,-3.290362286671258e-5,3.7456641443449155e-8,0.0036305967997701106,-3.297753462876925e-5,3.758635247116539e-8,0.003630928513207681,-3.300252642506156e-5,3.762587782766384e-8,0.0036313068265694214,-3.294744940956532e-5,3.7519188323039196e-8,0.00363169380297549,-3.2792780456482834e-5,3.7231652891866554e-8,0.0036320412779389313,-3.254062980327011e-5,3.676798183842747e-8,0.0036323028298620714,-3.222229600651305e-5,3.618566999286661e-8,0.00363245144150968,-3.1896535693968474e-5,3.559165692670533e-8,0.003632494924818845,-3.163343128727202e-5,3.5112974053962996e-8,0.003632477752238004,-3.148784739433187e-5,3.4848610971418145e-8,0.0036324645616411712,-3.147677766139223e-5,3.4828549478256566e-8,0.003632513929295136,-3.1574620316264846e-5,3.5005434477029905e-8,0.0036326579319382944,-3.1727711619258e-5,3.528122902984301e-8,0.0036328967617592235,-3.187682011716218e-5,3.554823526809591e-8,0.0036332061434049393,-3.197502524181992e-5,3.572156454636925e-8,0.0036335495974229026,-3.1995847248725226e-5,3.575374279393732e-8,0.003633889293870905,-3.19333227910892e-5,3.563461873953822e-8,0.003634193172744235,-3.17978842240923e-5,3.538369154094479e-8,0.003634438615965457,-3.161109030916799e-5,3.504045625380042e-8,0.003634613855985011,-3.1400671454106465e-5,3.465541572534082e-8,0.003634718071699902,-3.11961575856113e-5,3.428219175465637e-8,0.003634760562279025,-3.102500639946222e-5,3.3970535921702535e-8,0.0036347591134491177,-3.0909251987672765e-5,3.376025962304962e-8,0.003634737607805422,-3.086278268132625e-5,3.367629517795057e-8,0.0036347229490649663,-3.088948453492992e-5,3.372533325761154e-8,0.003634741563228235,-3.0982560065987805e-5,3.389460784514429e-8,0.003634815901229414,-3.112512713113596e-5,3.4153020033679004e-8,0.0036349612766972193,-3.129198170965659e-5,3.4454394956192596e-8,0.003635183245992869,-3.145240784677646e-5,3.4742669582784826e-8,0.0036354757079425717,-3.1573956992053166e-5,3.495886526255861e-8,0.0036358199160614058,-3.1627212256825974e-5,3.504983415027823e-8,0.0036361849045063073,-3.159171660721317e-5,3.4979039620345153e-8,0.003636530479561921,-3.1462895172653124e-5,3.473901011215707e-8,0.0036368142578559253,-3.1258495477149596e-5,3.436280051338025e-8,0.003637003387374721,-3.102115681331883e-5,3.3928392231956515e-8,0.003637088755021439,-3.081237158304347e-5,3.35475459720963e-8,0.003637094946225761,-3.069500019812094e-5,3.333402234292594e-8,0.0036370770559699434,-3.0708848592774254e-5,3.335935424561485e-8,0.0036371013292986853,-3.085231309250355e-5,3.361973574732224e-8,0.0036372186076369544,-3.108268917674487e-5,3.4036836713625407e-8,0.0036374461301725914,-3.133543760619602e-5,3.449300493597974e-8,0.0036377666800752285,-3.154966294649507e-5,3.4877648547478624e-8,0.003638141297749838,-3.1685759118405125e-5,3.511925103365506e-8,0.0036385252843173046,-3.173024090401332e-5,3.5193980505349496e-8,0.0036388799750885084,-3.1691380373824776e-5,3.5117541386689996e-8,0.003639178463924923,-3.1591479016366276e-5,3.493096321710203e-8,0.003639406831918024,-3.145964120367891e-5,3.4687408289269027e-8,0.0036395631103395176,-3.132641488984484e-5,3.444246310972407e-8,0.003639655535314708,-3.122008096808154e-5,3.4247456211883176e-8,0.0036397006665107633,-3.1163893875378406e-5,3.414448139816457e-8,0.003639721329488939,-3.1173806420359784e-5,3.416226804857164e-8,0.0036397441644748767,-3.125655767899938e-5,3.431270209771732e-8,0.003639796568166988,-3.140832386339877e-5,3.458839076722247e-8,0.0036399030331303018,-3.161441580614675e-5,3.49621599593727e-8,0.0036400812861970703,-3.1850493516183555e-5,3.538933414193512e-8,0.0036403388783366928,-3.2085469069802425e-5,3.581309683606768e-8,0.003640670899708472,-3.228595888933305e-5,3.617266898678714e-8,0.003641059410890908,-3.242184074945234e-5,3.6413480741849684e-8,0.003641474976614793,-3.2472192397990765e-5,3.6497992784001544e-8,0.0036418804736073327,-3.243081777099901e-5,3.6415684316993066e-8,0.0036422373048892133,-3.231046066567557e-5,3.619054998193656e-8,0.003642513965287651,-3.2144261682321465e-5,3.588351146600024e-8,0.0036426959856221573,-3.198235682061668e-5,3.5586005065773693e-8,0.0036427944977556605,-3.1881697208743154e-5,3.5401356745524745e-8,0.0036428486849075714,-3.188933045907144e-5,3.5414444145402196e-8,0.0036429173685921887,-3.202403752604784e-5,3.565852233264122e-8,0.0036430596414088368,-3.226577445343364e-5,3.609629779052436e-8,0.0036433124954249867,-3.2561078847616284e-5,3.66299793816928e-8,0.0036436776177795477,-3.284337212027593e-5,3.713830880496045e-8,0.0036441242313400286,-3.3057030277970586e-5,3.7520345040000954e-8,0.0036446041810241324,-3.317277180321848e-5,3.772337507096917e-8,0.0036450692490085615,-3.3189738563198884e-5,3.7746545722749065e-8,0.003645482899676809,-3.3128175256394194e-5,3.7627357042686266e-8,0.0036458246434632187,-3.301933774306142e-5,3.7423151774873677e-8,0.003646089234413236,-3.289707990184836e-5,3.71957515176344e-8,0.003646283665094115,-3.279244336538491e-5,3.7001641525103554e-8,0.0036464239349174375,-3.273067656021924e-5,3.6886607019548715e-8,0.0036465323149864697,-3.272957018214073e-5,3.6882747854165715e-8,0.0036466349961541663,-3.279825429446103e-5,3.700630533575309e-8,0.0036467596710251142,-3.2936106766617314e-5,3.725568811188398e-8,0.0036469325807821826,-3.313193807407561e-5,3.7610026698915855e-8,0.0036471748124150484,-3.3364069240662704e-5,3.802938859382088e-8,0.003647498169133209,-3.360210126412473e-5,3.845809149088258e-8,0.0036479015316435363,-3.38109253939106e-5,3.883209072712449e-8,0.003648368986541947,-3.395689666898082e-5,3.909027582893097e-8,0.003648870921029724,-3.401521748118757e-5,3.9187927000580045e-8,0.0036493686380024244,-3.397675991479839e-5,3.91090927084104e-8,0.0036498219897588453,-3.385230235314705e-5,3.887418894134722e-8,0.0036501985693956885,-3.367263505175776e-5,3.854000701640252e-8,0.0036504824684245895,-3.348382883038354e-5,3.819088250354824e-8,0.003650680396759058,-3.333785800459016e-5,3.792145205144569e-8,0.003650822939161007,-3.3279840876376515e-5,3.781338373671198e-8,0.003650959134371577,-3.3334613467666114e-5,3.791106516073476e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_23.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_23.json new file mode 100644 index 000000000..3f54533a6 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_23.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":23000,"numberOfSamples":1000,"samples":[0.003651144035305788,-3.3496975736922465e-5,3.820410327566936e-8,0.0036514219143992843,-3.3730554777606135e-5,3.862552436820353e-8,0.0036518112676496577,-3.397791609056264e-5,3.907035721036122e-8,0.00365229870095008,-3.417907449598782e-5,3.9429383363913e-8,0.00365284489977173,-3.4290356787269744e-5,3.962343833009104e-8,0.0036533992613388363,-3.429527055965991e-5,3.962310443890886e-8,0.003653915601993734,-3.4204210437811016e-5,3.9448034728001705e-8,0.0036543625588809866,-3.404606217387052e-5,3.915149562803171e-8,0.003654726821743164,-3.385745548023324e-5,3.880065521411588e-8,0.003655011114586897,-3.367402646076845e-5,3.846060844958942e-8,0.003655229952491537,-3.352516388562213e-5,3.818482941081412e-8,0.0036554053665251193,-3.343165583497147e-5,3.8010946814686524e-8,0.0036555634966590643,-3.3404964167691095e-5,3.7959478606448984e-8,0.0036557319972541605,-3.3447035834001456e-5,3.803352192134055e-8,0.0036559377077366316,-3.355009646938942e-5,3.821840523078073e-8,0.003656203941986329,-3.3696494348695236e-5,3.848145228658821e-8,0.0036565469978612378,-3.3859223781751256e-5,3.877301569526761e-8,0.0036569720596978405,-3.4004124438745524e-5,3.9030579556823116e-8,0.003657469498455847,-3.40947073072433e-5,3.918763315500793e-8,0.003658013393850613,-3.409978236972752e-5,3.918760770228968e-8,0.0036585642841328063,-3.400250012732713e-5,3.9000338042948336e-8,0.003659077039174998,-3.380774452480385e-5,3.8635466490843415e-8,0.0036595124517896076,-3.354428513728769e-5,3.8146233975437406e-8,0.0036598488695074555,-3.325957393919969e-5,3.761980345160911e-8,0.0036600895177045143,-3.30080589998171e-5,3.7155744789631976e-8,0.0036602626699706706,-3.2836659874036776e-5,3.6839414480127626e-8,0.0036604145345912036,-3.277203283919482e-5,3.671875744486885e-8,0.003660597076071134,-3.281332359526204e-5,3.679128814107534e-8,0.0036608541980586175,-3.293230507705976e-5,3.700462952878297e-8,0.003661210012998719,-3.308093000187256e-5,3.7270537712529526e-8,0.003661662575751951,-3.320440094368456e-5,3.74888633727299e-8,0.003662185161327315,-3.325597408349231e-5,3.7574542846225874e-8,0.003662734729255613,-3.320874898829924e-5,3.747900861351535e-8,0.0036632644530644296,-3.3060666580031256e-5,3.719917570818271e-8,0.003663735688217234,-3.283177311008349e-5,3.677230797634811e-8,0.003664125550367317,-3.255600900274537e-5,3.6260899113540797e-8,0.0036644288159946347,-3.227144312843095e-5,3.573475239964142e-8,0.003664655379067319,-3.20122786606644e-5,3.525635740926294e-8,0.0036648256060508692,-3.180406776074698e-5,3.487218993328028e-8,0.0036649655917790954,-3.166186058055134e-5,3.460940215582945e-8,0.003665103342555086,-3.15901849968733e-5,3.4475849367541365e-8,0.003665265988254904,-3.158372346364206e-5,3.4461364201339914e-8,0.003665477540567749,-3.162801003528849e-5,3.4539055157405407e-8,0.0036657565338192736,-3.17000936026722e-5,3.466655892539428e-8,0.0036661130590637785,-3.176968248208968e-5,3.478820502904388e-8,0.003666545202793297,-3.180174937323968e-5,3.483986629008923e-8,0.003667035788941662,-3.1761745550580205e-5,3.475855435760227e-8,0.0036675514497473767,-3.162389916152661e-5,3.449759311569503e-8,0.003668046654744528,-3.138114071038292e-5,3.404470126419763e-8,0.0036684741721542814,-3.105261032794423e-5,3.343560777759723e-8,0.003668799974560434,-3.068345735179965e-5,3.2753539214570226e-8,0.0036690165364966303,-3.0334013759936222e-5,3.2109244036842246e-8,0.0036691474276989216,-3.0061206934846583e-5,3.160683200695938e-8,0.0036692401145173264,-2.9900241087574385e-5,3.131020806459519e-8,0.0036693503292834495,-2.9854613982101406e-5,3.122493185911916e-8,0.003669525187357138,-2.989751080207272e-5,3.1301037813817e-8,0.0036697912282753556,-2.9982013376298203e-5,3.1452001909760237e-8,0.003670149929656101,-3.0055069990531985e-5,3.15804774867729e-8,0.00367058012275416,-3.007069224005011e-5,3.160245845426072e-8,0.003671045233915078,-2.9999480736268876e-5,3.14646043020311e-8,0.00367150289146305,-2.9833136999524488e-5,3.1152343179196404e-8,0.0036719145236925356,-2.9583830819543413e-5,3.068856987855197e-8,0.0036722528819754623,-2.9279274289988172e-5,3.012451965536157e-8,0.0036725060723375516,-2.8955216659429878e-5,2.9525956515840337e-8,0.003672677754130943,-2.864755268356975e-5,2.895869275364607e-8,0.003672784291843022,-2.838594682136872e-5,2.8476927435519246e-8,0.0036728502871910297,-2.8189969093245898e-5,2.8116221838894727e-8,0.0036729039195573616,-2.8067750927584617e-5,2.7891105878276732e-8,0.0036729730472076353,-2.8016458620949784e-5,2.7795998669456532e-8,0.0036730823256591566,-2.8023639314141942e-5,2.7807699502206006e-8,0.0036732510393670506,-2.806876922500443e-5,2.7888233842029837e-8,0.0036734911388206174,-2.8124848250507907e-5,2.7987802985082756e-8,0.003673805048096844,-2.8160365318995213e-5,2.8048454388623762e-8,0.0036741831643614118,-2.8142417714421486e-5,2.800989211450284e-8,0.0036746017845311393,-2.8042014596425726e-5,2.781926303572099e-8,0.003675023305396148,-2.7842042600133794e-5,2.7445742165138232e-8,0.003675401277467576,-2.7546573380207877e-5,2.6897486202051013e-8,0.0036756920590245525,-2.718737099853137e-5,2.623340000871415e-8,0.0036758711240840844,-2.682142732552505e-5,2.555844943167183e-8,0.0036759465937811365,-2.6515692647237495e-5,2.499551903112205e-8,0.0036759605227197774,-2.6323182982489206e-5,2.464151777744949e-8,0.0036759744983032644,-2.6262593443452535e-5,2.4530039671133795e-8,0.0036760466285700347,-2.6312844659637143e-5,2.462156779143457e-8,0.0036762123044454384,-2.6424126112870143e-5,2.4824015221802194e-8,0.003676476786014314,-2.6537239075107872e-5,2.5028430559382807e-8,0.0036768192350094923,-2.6601221243758545e-5,2.5141395201407517e-8,0.0036772028513650874,-2.658386925131194e-5,2.5104237965815816e-8,0.0036775858883604795,-2.6474864491415744e-5,2.4898599976612817e-8,0.0036779306440379686,-2.6283647779182486e-5,2.4542371246482394e-8,0.003678209538973982,-2.603439997978615e-5,2.408037372138913e-8,0.003678408358108114,-2.5759783494692988e-5,2.357282896906436e-8,0.003678526948850447,-2.5494493653466036e-5,2.308351403533256e-8,0.0036785777355817883,-2.5269467883076505e-5,2.2669143006386352e-8,0.003678582593628918,-2.5107461818455048e-5,2.2371273529194018e-8,0.003678568782474355,-2.5020417507422695e-5,2.2211520779320994e-8,0.0036785647042003374,-2.500871973525351e-5,2.21902445854814e-8,0.0036785961805071692,-2.5062054156622615e-5,2.228816628316454e-8,0.003678683593958781,-2.5161266743696174e-5,2.24697994986493e-8,0.003678839813725382,-2.528068865976697e-5,2.268772363615898e-8,0.0036790686589521994,-2.5390721102639514e-5,2.28873548323344e-8,0.0036793636633603534,-2.5460766843175067e-5,2.301239734670839e-8,0.0036797070625050198,-2.5462938404665122e-5,2.3011746096490555e-8,0.0036800695540226,-2.5377224112577794e-5,2.2849032250097418e-8,0.0036804123072578534,-2.5198284596178738e-5,2.251506689142407e-8,0.003680693157902537,-2.4942526484895308E-05,2.2040681988927512e-8,0.003680878158399637,-2.4651854910035483e-5,2.150341156448466e-8,0.0036809565821238504,-2.4388619881055524e-5,2.101802531841774e-8,0.003680952179938686,-2.4218042502926116e-5,2.0704157135192892e-8,0.003680920788736872,-2.418258152607271e-5,2.063924897056901e-8,0.0036809307429876595,-2.428216159309294e-5,2.082238656290625e-8,0.0036810354111426534,-2.4473729304710523e-5,2.1173726237950885e-8,0.003681253971997315,-2.4690578711906134e-5,2.1570233191745147e-8,0.0036815697161010955,-2.4868511669727512e-5,2.1893875946001677e-8,0.00368194233743989,-2.4964629040890916e-5,2.2066135288962184e-8,0.003682324212490332,-2.496342898745231e-5,2.2059068741709067e-8,0.0036826731166814996,-2.4873277705717296e-5,2.1888636709994033e-8,0.0036829591588462465,-2.4718729832185195e-5,2.1600441398920033e-8,0.003683167023967205,-2.4532594782350245e-5,2.1255080252265367e-8,0.0036832954099022645,-2.4349370543578626e-5,2.0916081024659693e-8,0.0036833550335923348,-2.4200218198591833e-5,2.0640692551785886e-8,0.0036833658565634006,-2.410924176009306e-5,2.047307011231562e-8,0.00368335380237866,-2.4090944865297163e-5,2.0439619325797367e-8,0.0036833471475006176,-2.4148859135246296e-5,2.054650508300012e-8,0.003683372810946003,-2.4275435196936255e-5,2.07794955328708e-8,0.003683452919780664,-2.445325289733475e-5,2.110623168930102e-8,0.003683602046501696,-2.465734339942249e-5,2.1480525304410102e-8,0.003683825298735307,-2.4858264023953814e-5,2.184802813428788e-8,0.0036841172991974114,-2.5025683730293013e-5,2.2152849985111426e-8,0.0036844620856947494,-2.5132324086251992e-5,2.234486049199623e-8,0.003684833943600737,-2.5158192450841574e-5,2.2387540094785343e-8,0.0036851994497372497,-2.5095227283073492e-5,2.226654684123872e-8,0.003685521611166236,-2.495214102688181e-5,2.199854944989616e-8,0.0036857671361551635,-2.4758044853092278e-5,2.1637716007903936e-8,0.0036859169029455434,-2.4561976529873085E-05,2.127462522493109e-8,0.0036859772914223593,-2.44246555966739e-5,2.102094321803886e-8,0.0036859863765741317,-2.4400569866343113e-5,2.0976459090247287e-8,0.0036860072100742725,-2.451503865503077e-5,2.1187033549314085e-8,0.0036861059724534228,-2.4748908547852973e-5,2.1616674172997784e-8,0.003686324629094954,-2.504318975211854e-5,2.2156284356747038e-8,0.003686664486266351,-2.5323155005089623e-5,2.2668137696737203e-8,0.0036870898114569946,-2.5527244493044108e-5,2.303909962374833e-8,0.003687546149128421,-2.5624766795011134e-5,2.3213143420424893e-8,0.00368798044731879,-2.5617338941137874e-5,2.3193859568407812e-8,0.0036883539373483384,-2.5529670793774248e-5,2.3027315403045705e-8,0.0036886463867155743,-2.5397760191839542e-5,2.2780188658898496e-8,0.003688854693802478,-2.5259351496340612e-5,2.2522155643143783e-8,0.0036889891708466456,-2.5147850491353615e-5,2.231471497123031e-8,0.0036890695533378795,-2.5088946206269493e-5,2.2205016955307542e-8,0.0036891214131626097,-2.5098827308126288e-5,2.222261384963983e-8,0.0036891729137179556,-2.518329063537529e-5,2.2377841591020216e-8,0.0036892516769625227,-2.5337494371236543e-5,2.2661397865423784e-8,0.0036893816097385863,-2.554645169281843e-5,2.3045303929869593e-8,0.0036895797925711486,-2.578657672893664e-5,2.3485809567516533e-8,0.0036898538468566012,-2.6028463573269312e-5,2.392855402626147e-8,0.003690200266554174,-2.624073990187162e-5,2.431568410168666e-8,0.0036906040827712275,-2.6394652975592825e-5,2.4594312535909952e-8,0.0036910401320671615,-2.646892578198544e-5,2.4725481010514338e-8,0.0036914760290490357,-2.6454258869800837e-5,2.469246723504824e-8,0.0036918767628710283,-2.6356872170899155e-5,2.450728188668473e-8,0.003692210885339878,-2.6200462392483775e-5,2.4214168577148188e-8,0.0036924581686777775,-2.602543095805307e-5,2.388800430693621e-8,0.003692617733382483,-2.5883626505455566e-5,2.362443103435925e-8,0.0036927139953002153,-2.58271594885082e-5,2.3519158494680385e-8,0.0036927961075991973,-2.5891978747853797e-5,2.3637775773338626e-8,0.0036929267649546634,-2.6081277797364088e-5,2.398538810384016e-8,0.0036931609455419815,-2.6358161739026842e-5,2.4493348826303326e-8,0.0036935234174346435,-2.665549718890737e-5,2.5037572254635175e-8,0.003693998101314756,-2.6900775812927172e-5,2.5484402286752192e-8,0.0036945360219985063,-2.7042710855034788e-5,2.5739608547857825e-8,0.0036950760446270714,-2.7065371302568437e-5,2.57743737612283e-8,0.003695565661023816,-2.6985691375977797e-5,2.5620578062499176e-8,0.00369597274607554,-2.684069713273219e-5,2.5347080120574853e-8,0.003696287324292012,-2.667345195030066e-5,2.5033662232297028e-8,0.0036965173262114045,-2.6523010525635966e-5,2.4752456189175374e-8,0.0036966825886261623,-2.6419227346433036e-5,2.455840471365584e-8,0.003696809522700842,-2.6380986372349695e-5,2.4486064306819182e-8,0.0036969270936339123,-2.6416117172469423e-5,2.454950799475654e-8,0.0036970637745599656,-2.6521893503182198e-5,2.4743286277766767e-8,0.0036972449046433265,-2.6685737210574117e-5,2.504376987032764e-8,0.0036974900334030988,-2.6886274245188e-5,2.541115595707101e-8,0.003697810176347896,-2.7095219934198905e-5,2.5793006605434385e-8,0.0036982053804941253,-2.728057365079077e-5,2.613018555159297e-8,0.003698663356525077,-2.7411217452902692e-5,2.6365357275177697e-8,0.0036991599725369096,-2.7462484334453646e-5,2.6453253365305067e-8,0.0036996621606698965,-2.7421763096580724e-5,2.6370997112730044e-8,0.00370013328491362,-2.729281033021235e-5,2.6126029195423446e-8,0.0037005403211717563,-2.7097411250876837e-5,2.5759105766375958e-8,0.0037008616198824073,-2.6873458549975153e-5,2.534063229254157e-8,0.0037010937154705065,-2.6669054268328128e-5,2.4959623377691335e-8,0.0037012553893138378,-2.6532771677849146e-5,2.470560529795536e-8,0.003701386925754609,-2.6501162935385394e-5,2.464554459140342e-8,0.0037015427319560873,-2.65862451416973e-5,2.4800881221936585e-8,0.0037017770840136652,-2.6767600671031702e-5,2.5133175185444305e-8,0.003702126226889177,-2.6994365678892358e-5,2.5547991564237983e-8,0.003702594034496086,-2.7199503702774686e-5,2.5921361512321817e-8,0.003703149146929241,-2.7322124217394617e-5,2.6140992193989e-8,0.0037037362260185593,-2.732763109091641e-5,2.6143421934714618e-8,0.003704295665546802,-2.721607872496196e-5,2.5929372282700263e-8,0.0037047816795343263,-2.7016566312550213e-5,2.5553267597604028e-8,0.003705171555362991,-2.6773370862474705e-5,2.509745527697299e-8,0.003705465407158616,-2.6531809403462105e-5,2.4645955131628586e-8,0.0037056802842188206,-2.6328749558537203e-5,2.4266888380384873e-8,0.003705842962671197,-2.6188473724591307e-5,2.4004889346311846e-8,0.0037059839388316924,-2.6122241314280676e-5,2.3880388417301026e-8,0.0037061332623507665,-2.6129556128220352e-5,2.3892034999399584e-8,0.003706317770909461,-2.6199800840217618e-5,2.4019772205175913e-8,0.0037065589557418377,-2.6313745875571078e-5,2.4227665838511646e-8,0.003706870840343872,-2.644512355745995e-5,2.4466855843329514e-8,0.003707257688373799,-2.6562856852741105e-5,2.4679720562225874e-8,0.003707711915905993,-2.6634592082949376e-5,2.4806441695489335e-8,0.003708213120455237,-2.663186058357122e-5,2.479455939697902e-8,0.0037087294412449907,-2.6536451255494063e-5,2.4610743259413702e-8,0.003709222214515911,-2.6346543661015368e-5,2.4252099963225886e-8,0.0037096538724641567,-2.6080329046030495e-5,2.3752812169666824e-8,0.003709997524539029,-2.577492734907529e-5,2.3182040780489726e-8,0.0037102454227998637,-2.5479672505274922e-5,2.263137359655951e-8,0.0037104132986381126,-2.524481178501241e-5,2.219379012489409e-8,0.0037105385684950997,-2.5108446768208215e-5,2.1939440481081604e-8,0.003710672201591465,-2.5085405601484373e-5,2.1895121723236657e-8,0.0037108659074224157,-2.5161493732589e-5,2.2033822651041703e-8,0.0037111577917986476,-2.5295461489293446e-5,2.2278586025456243e-8,0.0037115606470070174,-2.542917933201141e-5,2.2521498478199035e-8,0.0037120571654388006,-2.5503837048517596e-5,2.2653719725711947e-8,0.003712604656330799,-2.5477070966070233e-5,2.259714366597435e-8,0.0037131481138471807,-2.5334611035146297e-5,2.232587717598007e-8,0.0037136365417578987,-2.509202414715311e-5,2.1869364929837613e-8,0.0037140360486028587,-2.4786787143587042e-5,2.1297584304020552e-8,0.0037143354755474435,-2.4465255139622436e-5,2.069678054959071e-8,0.003714544467024974,-2.4170306202152613e-5,2.0146497047207724e-8,0.003714687020580643,-2.393338515246342e-5,1.9704838425664365e-8,0.0037147941125955726,-2.3771532108372094e-5,1.9403042636394202e-8,0.0037148976705766875,-2.3687944947412868e-5,1.924662719845783e-8,0.0037150265340877417,-2.367419895466894e-5,1.9219583030809972e-8,0.003715204015883382,-2.37127525260934e-5,1.928905809182854e-8,0.0037154462776015544,-2.377915294824585e-5,1.9409457545578542e-8,0.0037157608120527794,-2.384409788521174e-5,1.9526274662557453e-8,0.0037161447586631148,-2.387597552240848e-5,1.9580823667812967e-8,0.003716583383528966,-2.384460787773986e-5,1.9517213785745727e-8,0.0037170496879362957,-2.372665990986959e-5,1.929240272445178e-8,0.003717506623292282,-2.3512366057301022e-5,1.8888665065491976e-8,0.003717913280569818,-2.3211764390501293e-5,1.832510925529357e-8,0.0037182350231976446,-2.2857213753819283e-5,1.766226069432184e-8,0.0037184549931704456,-2.2499015996168416e-5,1.69938183046161e-8,0.0037185822522199053,-2.2193400184984013e-5,1.642422937600723e-8,0.0037186520125712316,-2.1986125984029035e-5,1.6038180871423233e-8,0.0037187166025020217,-2.1897980951190913e-5,1.5873715102312037e-8,0.0037188302313518797,-2.1918094714878887e-5,1.5909975868926e-8,0.0037190333250862505,-2.200738683831528e-5,1.6073822676410523e-8,0.003719341736464505,-2.211021106517147e-5,1.6261616807192078e-8,0.003719743573072058,-2.216979978548509e-5,1.636795341593824e-8,0.0037202036700935363,-2.214280148765948e-5,1.631260873446929e-8,0.0037206737661205037,-2.2009147434640982e-5,1.6058763393847896e-8,0.0037211051970497504,-2.1775071201819367e-5,1.5618506174731158e-8,0.003721460458739193,-2.1469112666244478e-5,1.5045318183279198e-8,0.0037217205729197273,-2.113297412457324e-5,1.4417004888548999e-8,0.0037218868002361744,-2.081050254733132e-5,1.3815164650950308e-8,0.0037219772900882707,-2.0538209327698315e-5,1.3307554545741322e-8,0.003722020789722907,-2.033950176989565e-5,1.2937408851043707e-8,0.00372204987109083,-2.022296133826621e-5,1.2720322617019088e-8,0.0037220953992123298,-2.018363795951063e-5,1.2646747001885697e-8,0.0037221828649194387,-2.0205878245740093e-5,1.26873047206367e-8,0.0037223303313133104,-2.02664502220618e-5,1.2798609312135926e-8,0.003722547317866394,-2.0337344535813425e-5,1.292845264550573e-8,0.0037228339677174557,-2.0388317730423293e-5,1.3020518278734751e-8,0.003723180190839855,-2.0389705420379754e-5,1.3019629712220013e-8,0.0037235650128087322,-2.0316187736311858e-5,1.2878799919059847e-8,0.003723957027956693,-2.0152005616268402e-5,1.256897561523051e-8,0.003724317479797812,-1.9897320189773163e-5,1.2090860847159705e-8,0.0037246074892309214,-1.9573777293026863e-5,1.1485194896322013e-8,0.0037247994563825186,-1.922551672634567e-5,1.0834500081040653e-8,0.003724889413287953,-1.8911635022200557e-5,1.024891375539621e-8,0.003724903860006442,-1.8689419208005423e-5,9.834890386340725e-9,0.0037248950039658825,-1.8593936835862856e-5,9.657227552497414e-9,0.0037249241617011717,-1.8624070004157957e-5,9.713213497022367e-9,0.0037250406734058938,-1.874272347827841e-5,9.933231932671707e-9,0.003725266442256563,-1.889068343187049e-5,1.0206743013046786e-8,0.003725591957814072,-1.900639132302381e-5,1.0419161121580107e-8,0.0037259828367480837,-1.9042941445738243e-5,1.0483445088589561e-8,0.0037263919105630754,-1.8977532859680972e-5,1.0357575288150131e-8,0.0037267718541946424,-1.8812970780198845e-5,1.004722544629047e-8,0.0037270852122032435,-1.857321752592454e-5,9.597390829866145e-9,0.0037273105106150057,-1.829556589372417e-5,9.077766944676528e-9,0.0037274442822466383,-1.8021665816886436e-5,8.566019197106112e-9,0.003727499446205275,-1.7789180452793088e-5,8.132238797880786e-9,0.0037275009651962054,-1.762549477405663e-5,7.827238632585327e-9,0.003727480107433613,-1.7544324987777415e-5,7.676278027300595e-9,0.003727468693735596,-1.7545252223564655e-5,7.678260381961283e-9,0.0037274943796830745,-1.7615546114334517e-5,7.809198521585769e-9,0.0037275775048591624,-1.773333185341448e-5,8.028155894012631e-9,0.003727729461688348,-1.7871140037744037e-5,8.283855986333845e-9,0.0037279521045785026,-1.7999224672154963e-5,8.520831022886832e-9,0.0037282376812551145,-1.80885880022614e-5,8.685033780576021e-9,0.0037285690243083164,-1.8114038809190196e-5,8.729555432946514e-9,0.003728920113641478,-1.8057767593507887e-5,8.621345067804234e-9,0.0037292576952676747,-1.7913835381609194e-5,8.349624258909386e-9,0.0037295452618239825,-1.769325645659619e-5,7.935342096310923e-9,0.003729750685610381,-1.742782377238727e-5,7.438195143004906e-9,0.0037298573864923707,-1.7169070621178025e-5,6.954523489002591e-9,0.0037298756982351187,-1.6978346810287705e-5,6.598664526266755e-9,0.003729847357057938,-1.690734999300974e-5,6.466620041821976e-9,0.0037298361456615196,-1.6976011363689884e-5,6.594939654273422e-9,0.0037299052651525726,-1.716065001020904e-5,6.938856540972064e-9,0.003730092529452638,-1.7401587629302746e-5,7.386701385086378e-9,0.0037303974273488636,-1.7626624987369516e-5,7.803782958842304e-9,0.0037307856005640463,-1.7776600142330956e-5,8.080023637204767e-9,0.0037312048557727917,-1.782075236454326e-5,8.158500185359126e-9,0.0037316025984929033,-1.7758874434021704e-5,8.039315141398938e-9,0.003731938096263313,-1.7614499874872118e-5,7.76676690099454e-9,0.0037321881752387263,-1.7424800949631686e-5,7.410439462798648e-9,0.003732347832913049,-1.7230987288991442e-5,7.047285654047261e-9,0.003732427807332729,-1.7070752855394434e-5,6.747564430999931e-9,0.0037324505819447216,-1.6972951318685194e-5,6.564937105062063e-9,0.0037324456392299724,-1.695435236964585e-5,6.530439072511247e-9,0.003732444524964121,-1.701842445824136e-5,6.650238763256346e-9,0.0037324762624747466,-1.7155994000405556e-5,6.906918712508451e-9,0.003732563584080442,-1.734745000939961e-5,7.263649467205659e-9,0.003732720347862681,-1.7566052220995436e-5,7.670403442963853e-9,0.003732950305259306,-1.7781762662003478e-5,8.071102483695934e-9,0.003733247046701793,-1.796503766997897e-5,8.410658713739836e-9,0.003733594793483443,-1.8090329320746774e-5,8.641476568061361e-9,0.003733969829689655,-1.8139333953936072e-5,8.729522514097567e-9,0.0037343425695851745,-1.8104141430392796e-5,8.660245887318678e-9,0.003734680606263795,-1.7990430125363365e-5,8.444572497323546e-9,0.003734953553838489,-1.782034694147802e-5,8.124239420623847e-9,0.003735140403146867,-1.7633507226156773e-5,7.77352976095781e-9,0.003735238848109435,-1.748329459267977e-5,7.4921953391734e-9,0.003735273477531778,-1.742550583944127e-5,7.384151459049214e-9,0.0037352966592492363,-1.749922907883764e-5,7.52182191537506e-9,0.0037353759026406193,-1.7706708770883272e-5,7.908742842178216e-9,0.003735568740471046,-1.8005201420696946e-5,8.464598259716825e-9,0.003735897522340255,-1.8320262806021934e-5,9.050180658370451e-9,0.0037363400742964556,-1.8575326378219387e-5,9.522633384422312e-9,0.0037368415776035976,-1.8720037863678725e-5,9.788290822532997e-9,0.0037373380712256233,-1.874245668787921e-5,9.825363797506921e-9,0.0037377771555825133,-1.8663787364666786e-5,9.673974471483982e-9,0.0037381282616453346,-1.852433494079792e-5,9.409797508911304e-9,0.0037383834002827367,-1.8369540890756483e-5,9.117901324121186e-9,0.003738552757404369,-1.824019873721411e-5,8.874473223547163e-9,0.003738658809558917,-1.8167100505264942e-5,8.736870253285727e-9,0.003738730844138739,-1.8168783218842287e-5,8.739462794445459e-9,0.0037388003329487827,-1.8251037280980622e-5,8.892751862877826e-9,0.00373889698628947,-1.8407514500518183e-5,9.18453775255549e-9,0.0037390453516148825,-1.8621272393550024e-5,9.582855243041857e-9,0.0037392620029640536,-1.886722395403692e-5,1.0040612490717398e-8,0.0037395535311001136,-1.9115464924135617e-5,1.0501851379362463e-8,0.0037399156645016815,-1.9335279841595094e-5,1.0909231443508442e-8,0.003740333727271666,-1.949936503986908e-5,1.1211879486748627e-8,0.0037407843754003085,-1.9587781487259298e-5,1.1372730485053469e-8,0.00374123843967038,-1.9591286559904284e-5,1.1374739407503882e-8,0.003741664694071747,-1.951376722599113e-5,1.1225445494692067e-8,0.003742034426709988,-1.9373566096839915e-5,1.0959456056172562e-8,0.0037423268826330203,-1.9203348136011737e-5,1.0638143074060602e-8,0.0037425355319994974,-1.9047512251718933e-5,1.0344682395521544e-8,0.003742674153842459,-1.8955552707843683e-5,1.0171510875620036e-8,0.003742780075672932,-1.897020365172007e-5,1.0198117014107015e-8,0.003742910352084255,-1.91115247419747e-5,1.0461391980825988e-8,0.003743127236642866,-1.936274082819314e-5,1.0929372494595087e-8,0.0037434748877366456,-1.966787992300605e-5,1.1497025901544866e-8,0.0037439582292228346,-1.994830716850865e-5,1.2017239417133448e-8,0.0037445380916303205,-2.0132874757777342e-5,1.235715857869903e-8,0.003745147304945264,-2.018475709919423e-5,1.24483095139559e-8,0.003745717536123864,-2.0110039024257403e-5,1.2302602979977455e-8,0.0037462009957385913,-1.994718213155144e-5,1.1992528512288664e-8,0.003746578533952196,-1.9748112336383324e-5,1.1615631205305184e-8,0.0037468562058775336,-1.9561943110626034e-5,1.1263957057301948e-8,0.0037470568320752493,-1.942580720910747e-5,1.1006894832462288e-8,0.003747211591296955,-1.936188801722068e-5,1.0885690830408487e-8,0.0037473537091404366,-1.937798694893093e-5,1.0914592901045096e-8,0.00374751426169476,-1.9469411529319156e-5,1.1084443738119213e-8,0.003747719306811906,-1.9621107982094123e-5,1.1366715498674678e-8,0.003747987653823677,-1.98098865025236e-5,1.171772196127629e-8,0.0037483289877986337,-2.00069900657524e-5,1.2083476553019989e-8,0.0037487424409848157,-2.018133651430223e-5,1.2405790481457967e-8,0.003749216049729212,-2.0303576953806943e-5,1.262985740223278e-8,0.0037497276616432853,-2.0350656359240593e-5,1.2712744009555985e-8,0.0037502476097356495,-2.0310161881186038e-5,1.263147987969798e-8,0.0037507430698388022,-2.01836052339569e-5,1.238917732256602e-8,0.003751183640813286,-1.9987806416820744e-5,1.201762072309364e-8,0.003751547358372743,-1.975377558398845e-5,1.1575159589463945e-8,0.0037518262278624856,-1.9522888966651756e-5,1.1139487350292194e-8,0.003752030366449994,-1.9340357022812065e-5,1.0795307888503861e-8,0.003752189575101569,-1.9246075080711368e-5,1.0617115929008991e-8,0.00375235065514588,-1.926362082860626e-5,1.0648597353873207e-8,0.00375256874733072,-1.9389760757096198e-5,1.0883103913087454e-8,0.0037528923589819,-1.95889336244771e-5,1.1253515334163685e-8,0.003753345377221318,-1.9798233653190108e-5,1.1641722277737352e-8,0.003753914085684261,-1.9945444226348306e-5,1.1912441558529761e-8,0.0037545482183929373,-1.997468342657704e-5,1.1961217063101045e-8,0.003755178268860511,-1.9866841003214947e-5,1.1752664664935419e-8,0.003755740498054235,-1.9643572837075e-5,1.132790926630942e-8,0.003756196287862252,-1.9354386897528227e-5,1.078027677361611e-8,0.0037565380292510645,-1.9056473937833167e-5,1.02173374524946e-8,0.003756783287516352,-1.879808625982981e-5,9.729641408606765e-9,0.003756964059188642,-1.8610299848009276e-5,9.375278483928095e-9,0.0037571168822495586,-1.850601029274588e-5,9.178087064121487e-9,0.0037572761536310796,-1.8482743679660896e-5,9.133032553034088e-9,0.003757470458105261,-1.8526444575679007e-5,9.213386299761704e-9,0.003757720726876309,-1.8614862202039136e-5,9.377117285257808e-9,0.0037580391353763576,-1.8720347719301517e-5,9.572164083264661e-9,0.0037584281701537876,-1.88124868526117e-5,9.741392613497707e-9,0.003758879845331222,-1.886115999095588e-5,9.828343171502811e-9,0.003759375547369298,-1.884045521805883e-5,9.784556157303305e-9,0.0037598873171901443,-1.8733336140393533e-5,9.578297218737537e-9,0.0037603812993048536,-1.8536245409891986e-5,9.20316322759362e-9,0.003760823522734917,-1.826223272290799e-5,8.683933253519903e-9,0.0037611872682305502,-1.794102306496649e-5,8.07668074991078e-9,0.003761460322951104,-1.761495849043393e-5,7.461118830695648e-9,0.003761649939215854,-1.7330967802997768e-5,6.925453527388214e-9,0.003761783669047966,-1.7130080930370736e-5,6.546618226195867e-9,0.0037619052215471355,-1.7036850169632218e-5,6.370380696093653e-9,0.0037620655927134623,-1.7051287457088965e-5,6.396265383341771e-9,0.0037623107889809214,-1.7145824206739997e-5,6.571987750426438e-9,0.0037626686506996173,-1.7269316797664524e-5,6.8011328521040325e-9,0.0037631385620556235,-1.7358826009662052e-5,6.965369983083214e-9,0.003763688525936491,-1.735727517214488e-5,6.957620478797519e-9,0.0037642627046168722,-1.7231514285195872e-5,6.7159383377332736e-9,0.003764798192409383,-1.6983144070799588e-5,6.243784790204022e-9,0.003765244475384821,-1.6646684177942917e-5,5.606514320308481e-9,0.003765577041731878,-1.6276113749033035e-5,4.905976489211403e-9,0.0037658001496303955,-1.5926872483978327e-5,4.246574565661419e-9,0.003765940043113608,-1.5641428521669665e-5,3.7080826046676444e-9,0.0037660339883212393,-1.5442580188857785e-5,3.3330932819261697e-9,0.0037661202972565054,-1.533378212849883e-5,3.1277370664346276e-9,0.0037662317987403426,-1.530331931720143e-5,3.0696368494463564e-9,0.00376639269783391,-1.5329353706236113e-5,3.117459743615627e-9,0.0037666175999535394,-1.5384239766858776e-5,3.2190461479142756e-9,0.003766911424015544,-1.5437798596845338e-5,3.3175546155956647e-9,0.0037672694199051165,-1.5460010735471215e-5,3.3565118674225895e-9,0.003767677144880793,-1.5423844881946676e-5,3.285127707090549e-9,0.0037681108405431198,-1.5308808573030386e-5,3.0649759961602738e-9,0.00376853909328297,-1.5105335091860154e-5,2.678249819012819e-9,0.0037689267978603287,-1.4819271966290807e-5,2.1362017496681052e-9,0.0037692419464796334,-1.4474679157593949e-5,1.4843891964449467e-9,0.003769464408607395,-1.4112525842013234e-5,8.001758661740843e-10,0.0037695940570376656,-1.3783562552421724e-5,1.7924187200268179e-10,0.003769654513644912,-1.3535943066435279e-5,-2.877953882684514e-10,0.003769689655352273,-1.3401132828683478e-5,-5.419454827697908e-10,0.0037697528877103145,-1.3383352936094304e-5,-5.756719343471206e-10,0.0037698924838657317,-1.3456848768446041e-5,-4.379133873754168e-10,0.0037701379529232566,-1.3572133855236433e-5,-2.2219011005250034e-10,0.0037704917152187136,-1.36690613658659e-5,-4.190341608565942e-11,0.003770928286669406,-1.3692704936665648e-5,-4.184426881656405e-13,0.003771400984222682,-1.360764722503169e-5,-1.6419689144365008e-10,0.0037718542846100875,-1.3406801484918508e-5,-5.462400593197952e-10,0.0037722383742051645,-1.3112239502991186e-5,-1.1045888736203505e-9,0.0037725215280944423,-1.2767820548965187e-5,-1.756277314541145e-9,0.003772696517123917,-1.2426225277517897e-5,-2.4018373226817705e-9,0.003772779492258509,-1.2135018031827889e-5,-2.9516198186066968e-9,0.0037728027992608884,-1.1926333275018554e-5,-3.345233937647147e-9,0.003772805248437262,-1.1812618336310583e-5,-3.559509949169215e-9,0.0037728234022769208,-1.1787985186950563e-5,-3.605855082757096e-9,0.003772885871274732,-1.1832888997680663e-5,-3.5213519611769673e-9,0.0037730107830056705,-1.1919671821302818e-5,-3.3582733409701644e-9,0.0037732054834411486,-1.201738319949041e-5,-3.1750111515168823e-9,0.0037734672788120238,-1.2095393134790393e-5,-3.029308059715573e-9,0.0037737843623683997,-1.2126141515841897e-5,-2.9731078275435696e-9,0.0037741366633792803,-1.2087713479066177e-5,-3.0477005332985616e-9,0.0037744969434948855,-1.1966854684521575e-5,-3.2780044851181107e-9,0.0037748329505799573,-1.1762652811277419e-5,-3.665584516120736e-9,0.0037751117090649177,-1.1490296257088035e-5,-4.1815534879312055e-9,0.003775306671071242,-1.1183066734645489e-5,-4.762857357367671e-9,0.0037754069823609203,-1.0889694911885241e-5,-5.3173572358538974e-9,0.0037754256798606545,-1.0664706834353456e-5,-5.742147928915882e-9,0.003775401726689244,-1.0552455653838138e-5,-5.953742048116789e-9,0.003775391866454253,-1.0570337492320954e-5,-5.9196954740658214E-09,0.0037754533346908404,-1.069965404964022e-5,-5.6757115830877735e-9,0.0037756245234761812,-1.0889973474384802e-5,-5.3172574611983255e-9,0.0037759125769722722,-1.1075505491388981e-5,-4.9685789284492975e-9,0.0037762927653174714,-1.119569145297422e-5,-4.743856103245313e-9,0.0037767180710236953,-1.1211551456236634e-5,-4.716422581730153e-9,0.0037771336262513635,-1.1113289439129748e-5,-4.904484620551893e-9,0.0037774906920141566,-1.0919093669290008e-5,-5.273435637376515e-9,0.0037777568305629415,-1.0667562119560446e-5,-5.750186818487831e-9,0.0037779208867569462,-1.0406866195721732e-5,-6.243650787702565e-9,0.003777992767016646,-1.018352746019933e-5,-6.665958168127169e-9,0.0037779989182269913,-1.0033140590648544e-5,-6.949989656900959e-9,0.0037779751011073896,-9.97469904417571e-6,-7.060078675057539e-9,0.0037779584786724603,-1.0009194292538516e-5,-6.994608417451776e-9,0.0037779809048557934,-1.0121958368840203e-5,-6.781516708789922e-9,0.0037780645720082466,-1.0287344353781977e-5,-6.469394097223917e-9,0.003778220234630747,-1.047413085648688e-5,-6.1172540917545026e-9,0.003778447456985994,-1.0650388607779883e-5,-5.785368244403539e-9,0.003778735979536752,-1.078723859059365e-5,-5.528224279977244e-9,0.0037790674522738318,-1.086163687447547e-5,-5.3893085312301e-9,0.0037794172242492487,-1.0858682366088469e-5,-5.396741791551607e-9,0.003779756331525049,-1.0773944571270184e-5,-5.55883105247937e-9,0.0037800542820276006,-1.0616049404699768e-5,-5.859127603922072e-9,0.0037802835715694304,-1.0409041615552987e-5,-6.251958361016585e-9,0.0037804265587483227,-1.019284428731572e-5,-6.661632999833887e-9,0.0037804839392265306,-1.0019107510829138e-5,-6.990419724209726e-9,0.003780481632655872,-9.940027335123063e-6,-7.139785874260027e-9,0.003780470551458204,-9.990760852975178e-6,-7.043636122099973e-9,0.0037805145003715693,-1.0171924492472818e-5,-6.701260118724001e-9,0.0037806679024364473,-1.0443026877787217e-5,-6.189548974586507e-9,0.003780953749669685,-1.0734040814978671e-5,-5.640990002948598e-9,0.003781354446672115,-1.0970848138577473e-5,-5.195569712053512e-9,0.0037818202123343133,-1.1100878236964057e-5,-4.952398320323635e-9,0.0037822885451625726,-1.1106690075405191e-5,-4.9441331682067115e-9,0.0037827037918562686,-1.1004732221553931e-5,-5.139393429677356e-9,0.003783029580921028,-1.083450210581651e-5,-5.463297256101165e-9,0.0037832528926456414,-1.0645014240624529e-5,-5.8230619263333884E-09,0.003783382008619057,-1.0483107839539345e-5,-6.130107278142606e-9,0.0037834411521074293,-1.0385293670330903e-5,-6.315462602182711e-9,0.003783463866855065,-1.0373167422302901e-5,-6.338434431871988e-9,0.003783486346677699,-1.0451924135314523e-5,-6.1894075059543604e-9,0.0037835415059761126,-1.0611498941792025e-5,-5.887657773983901e-9,0.0037836543994592214,-1.0829747870240204e-5,-5.475280541301254e-9,0.0037838393893894684,-1.1076912436351042e-5,-5.00868499477498e-9,0.0037840991940355684,-1.1320547095963303e-5,-4.549244861849569e-9,0.0037844256115939245,-1.1530111692398709e-5,-4.154636535393267e-9,0.003784801380528869,-1.168067724546158e-5,-3.871892905681978e-9,0.0037852026131201958,-1.1755664641185652e-5,-3.732277813199833e-9,0.0037856015155439153,-1.1748839795853997e-5,-3.747515652641209e-9,0.003785969367532291,-1.166580442859177e-5,-3.906921033511718e-9,0.00378628001510182,-1.1525110745466617e-5,-4.175235589964458e-9,0.003786514449205436,-1.1358637205725354e-5,-4.491921267897067e-9,0.0037866667919770496,-1.1209875032777431e-5,-4.774493370527981e-9,0.0037867507548969247,-1.1128029735137191e-5,-4.929817589830909e-9,0.0037868036489551913,-1.1156279232741838e-5,-4.8764159931144795e-9,0.0037868831215570773,-1.1315159538627571e-5,-4.575860551166065e-9,0.0037870524179700496,-1.1587432273622035e-5,-4.061235434398263e-9,0.0037873563096598654,-1.1915434657407038e-5,-3.441960618087722e-9,0.0037877994416602927,-1.2218268853877623e-5,-2.871179678081107e-9,0.00378834159065941,-1.2422814649923206e-5,-2.4871089224278254e-9,0.0037889140278449785,-1.249102829822317e-5,-2.361451809750297e-9,0.0037894464319104034,-1.2428832387716597e-5,-2.4826372919214795e-9,0.003789888854569995,-1.2276000741283246e-5,-2.775033513542293e-9,0.003790220598166225,-1.2087372015433666e-5,-3.13458685349092e-9,0.003790447689810322,-1.1915907774812648e-5,-3.4609407828149515e-9,0.0037905948035725874,-1.1802236082212254e-5,-3.6772233896817644e-9,0.003790696401172688,-1.1770385986698964e-5,-3.73808626895047e-9,0.003790789335206898,-1.1827575732369238e-5,-3.6300747743801807e-9,0.003790907337032187,-1.1966138926110403e-5,-3.3679632150517645e-9,0.0037910770946163676,-1.2166553303929558e-5,-2.9889909055131355e-9,0.0037913156361942314,-1.2401135693384962e-5,-2.545809144827838e-9,0.0037916289168516333,-1.263815898674036e-5,-2.0986190900712304e-9,0.0037920116463947694,-1.2846175399722612e-5,-1.7069510131467538e-9,0.0037924484233062025,-1.299819527970367e-5,-1.4217770124520617e-9,0.0037929160329965078,-1.3075228465631499e-5,-1.2788768709480869e-9,0.0037933865555892653,-1.3068858631174979e-5,-1.294030013439374e-9,0.0037938309814365434,-1.2982776331081918e-5,-1.4601266957738199e-9,0.0037942231481280977,-1.283322743822306e-5,-1.7462770627408988e-9,0.003794543866539171,-1.2648304256008901e-5,-2.0991058430070644e-9,0.003794785242433129,-1.2465858940810928e-5,-2.4467144889246194e-9,0.0037949550625008244,-1.232927438422763e-5,-2.7067816859225326e-9,0.003795080187817642,-1.2279927284374798e-5,-2.8009626097236014e-9,0.0037952065161867134,-1.2345871523227187e-5,-2.6763892980301933e-9,0.0037953921373555235,-1.2528542983790664e-5,-2.3307936469979733e-9,0.0037956913857025054,-1.2793157015980988e-5,-1.8305356927816436e-9,0.003796132776286854,-1.3071563213552118e-5,-1.3050406169510527e-9,0.0037967017325761278,-1.328280143626571e-5,-9.077926254452141e-10,0.0037973411548898497,-1.3364516232244082e-5,-7.568234874396928e-10,0.0037979727650269374,-1.3297561018064426e-5,-8.881042448926196e-10,0.003798527090663047,-1.3109356495992466e-5,-1.2492122368724608e-9,0.003798964917021712,-1.28570520619648e-5,-1.7313517826797332e-9,0.0037992820034057637,-1.2603783737617608e-5,-2.2145093402545987e-9,0.003799500926082306,-1.240063635168012e-5,-2.6017407417391375e-9,0.0037996585584883936,-1.2278587025970907e-5,-2.8344302677579545e-9,0.0037997952173949366,-1.2248205620853774e-5,-2.892780987975255e-9,0.0037999474748775944,-1.2303191954665917e-5,-2.789037696090718e-9,0.003800144171209063,-1.2424890429828608e-5,-2.5588855394347242e-9,0.0038004044225855666,-1.2586549203308632e-5,-2.2533402981175947e-9,0.003800736709459013,-1.2757180681021012e-5,-1.9313801867040904e-9,0.0038011386726849684,-1.2905234943333781e-5,-1.6529274004774604e-9,0.0038015976307220777,-1.300228941643676e-5,-1.4718298071475957e-9,0.0038020920655212837,-1.3026745702081325e-5,-1.4288825387251392e-9,0.0038025942999659027,-1.2967137471847075e-5,-1.5456250913598982e-9,0.0038030742779153713,-1.2824453504739554e-5,-1.8199956009474816e-9,0.0038035040835843223,-1.2613005619355985e-5,-2.224696148359336e-9,0.003803862725819495,-1.2359515273662385e-5,-2.7088896073266286e-9,0.0038041406058219682,-1.210021971862752e-5,-3.203654961905564e-9,0.003804343039903815,-1.187601536262798e-5,-3.6312222314006306e-9,0.0038044921992625045,-1.172572264151848e-5,-3.9178384073525195e-9,0.00380462650870891,-1.1677577510893996e-5,-4.010014190249887e-9,0.0038047960105914956,-1.1739750231113836e-5,-3.892553967922982e-9,0.0038050522524015824,-1.1892359741202971e-5,-3.603641811340095e-9,0.0038054328722651374,-1.2085474055587181e-5,-3.238495369877979e-9,0.003805944893983198,-1.224821847258572e-5,-2.931950879082715e-9,0.003806555314129275,-1.2310374852742212e-5,-2.8173999266934114e-9,0.003807197680863527,-1.2229146407934576e-5,-2.9759540232212596e-9,0.0038077950074467274,-1.2006673466743497e-5,-3.4031768325958983e-9,0.003808287639007238,-1.1687444632760447e-5,-4.014049779331443e-9,0.003808650970431554,-1.1338022030420527e-5,-4.681632012604156e-9,0.003808896131037573,-1.1022265614456972e-5,-5.284306129734353e-9,0.0038090582406506883,-1.0784417102233183e-5,-5.738002868905132e-9,0.0038091815513970188,-1.0643809594594406e-5,-6.006202185145872e-9,0.003809307974440942,-1.0597903969188504e-5,-6.094047127429888e-9,0.0038094707196667066,-1.062865600428072e-5,-6.036147477861492e-9,0.0038096919065528753,-1.070881560223071e-5,-5.8845641294033734e-9,0.003809982306819115,-1.0806887438420577e-5,-5.699365884995947e-9,0.003810341878982876,-1.0890883083801036e-5,-5.541482188826337e-9,0.003810760558410313,-1.0931470433055232e-5,-5.466698369518253e-9,0.003811219360612792,-1.0905036479831683e-5,-5.5198308461602985e-9,0.003811692191355198,-1.0796853778255012e-5,-5.728734249431048e-9,0.0038121488378866334,-1.0604042188757008e-5,-6.098714331775193e-9,0.0038125593293713445,-1.0337543772812268e-5,-6.608803289335694e-9,0.003812899313522184,-1.0022178567600895e-5,-7.211652084835195e-9,0.003813155569947561,-9.694053505107579e-6,-7.838435889364233e-9,0.003813330410478557,-9.395101236701062e-6,-8.409236512806301e-9,0.0038134436413059824,-9.165292526420089e-6,-8.847896464769259e-9,0.0038135310890633975,-9.033789295919845e-6,-9.098924795496566e-9,0.0038136392405932478,-9.010703935907942e-6,-9.143237881021444e-9,0.0038138161247166904,-9.081404582108e-6,-9.008993457535895e-9,0.003814099382214336,-9.205645720023213e-6,-8.773169562587337e-9,0.0038145038512597245,-9.323767143029389e-6,-8.549656250554983e-9,0.003815012795942145,-9.370894020933878e-6,-8.462137200027408e-9,0.0038155779477628124,-9.29673571143693E-06,-8.606350895718982e-9,0.0038161315938342274,-9.08397255339519e-6,-9.015063906599803e-9,0.0038166080185463146,-8.755923206484596e-6,-9.64348405426532e-9,0.003816965037754244,-8.368207760136484e-6,-1.0385219024877421e-8,0.003817195248806939,-7.988222530295059e-6,-1.1111520776134655e-8,0.0038173229340541176,-7.673167559394442e-6,-1.1713278449963451e-8,0.0038173910001939285,-7.456361956860252e-6,-1.212711923818663e-8,0.0038174460930694254,-7.344703089557365e-6,-1.234016488954878e-8,0.0038175278039535875,-7.323953104584782e-6,-1.2379836417372083e-8,0.00381766349450458,-7.3667834734719346E-06,-1.2298441630227018e-8,0.003817867345920316,-7.44006181186134e-6,-1.2159268639340678e-8,0.003818141527292887,-7.510114938000029e-6,-1.2026573341010378e-8,0.003818477933177015,-7.546220680736763e-6,-1.1958946292781465e-8,0.003818859819405176,-7.523169308927341e-6,-1.2004439996582582e-8,0.0038192634063506886,-7.4236603910782554e-6,-1.2196000644852678e-8,0.0038196599709800997,-7.2408663983656445e-6,-1.254657877456703e-8,0.003820019070571289,-6.980898470168708e-6,-1.3044426574530458e-8,0.0038203132898458427,-6.664287919255013e-6,-1.3650268900585339e-8,0.0038205242460868597,-6.325154432293589e-6,-1.4298887743684189e-8,0.0038206486164603457,-6.006817141678243e-6,-1.4907506500728048e-8,0.0038207020750147184,-5.75354803338733e-6,-1.5391558345619086e-8,0.0038207189146382747,-5.599839594091006e-6,-1.568521212544733e-8,0.0038207461938191602,-5.560151445206347e-6,-1.5760970711142652e-8,0.00382083315281559,-5.622636517693993e-6,-1.5641635859755003e-8,0.003821018492077559,-5.749455228146534e-6,-1.5399662200224305e-8,0.0038213190875863523,-5.884391306755396e-6,-1.5142562499287096e-8,0.0038217235693960125,-5.966361142703782e-6,-1.4987076158289204e-8,0.0038221931563597426,-5.9456270845393625e-6,-1.502819170366169e-8,0.0038226704818977797,-5.798272337779563e-6,-1.531149257821805e-8,0.0038230947974088572,-5.5340664292121286e-6,-1.581812655956149e-8,0.0038234191450172406,-5.194116998158923e-6,-1.6469310260958883e-8,0.003823623312951976,-4.838285790666961e-6,-1.7150435861376128e-8,0.0038237175482825378,-4.526986941152714e-6,-1.7745939341755873e-8,0.0038237362016777052,-4.3046651521168036e-6,-1.8170927741837015e-8,0.003823725137708133,-4.1908453164058315e-6,-1.8388262055022257e-8,0.003823728754133948,-4.180212251173304e-6,-1.8408322336149633e-8,0.0038237809830387044,-4.2490079943162265e-6,-1.8276693046141356e-8,0.0038239015028385787,-4.363551982793333e-6,-1.8057833412152605e-8,0.003824095946593768,-4.487740674388706e-6,-1.7820751134813358e-8,0.003824358126063857,-4.588281903972761e-6,-1.7629039709488436e-8,0.0038246727136478013,-4.637862217435199e-6,-1.753487003336477e-8,0.003825017627068585,-4.61711276381841e-6,-1.7575256806811815e-8,0.003825366118825118,-4.516259894351772e-6,-1.7768895996776932e-8,0.0038256891088083935,-4.336919177129825e-6,-1.8112701958105336e-8,0.0038259584950023394,-4.093846046758095e-6,-1.8578421203903003e-8,0.00382615197722384,-3.815735474025295e-6,-1.9111084395452904e-8,0.0038262592364493595,-3.543489200549398e-6,-1.963234108463913e-8,0.0038262880282502877,-3.3242349858685718e-6,-2.005195595532296e-8,0.0038262672917729517,-3.200584377536259e-6,-2.0288421016364784e-8,0.0038262439982333636,-3.197318624244381e-6,-2.029444817156697e-8,0.003826272400189211,-3.3105522427901474e-6,-2.0077656752741834e-8,0.0038263982363601133,-3.505059768382942e-6,-1.9705603558615896e-8,0.003826643866615569,-3.7224637285441357e-6,-1.929005491723827e-8,0.003827000550067141,-3.897808129259171e-6,-1.8955276671465806e-8,0.0038274307773840765,-3.9781801362031975e-6,-1.8802446818552187e-8,0.0038278791501668245,-3.936838386802747e-6,-1.8882656721060616e-8,0.003828287511464482,-3.7789936758587133e-6,-1.91858484343628e-8,0.003828609599833306,-3.538639788532877e-6,-1.9646859993872794e-8,0.0038288214789188135,-3.2682591437941436e-6,-2.01651251887211e-8,0.0038289254924217973,-3.0247269062595245e-6,-2.0631684713590868e-8,0.0038289472814131997,-2.855414110560565e-6,-2.0955834728401942e-8,0.0038289273259179074,-2.788188187669053e-6,-2.108429624581785e-8,0.0038289100096469695,-2.827593307999e-6,-2.100851341943847e-8,0.0038289336504991763,-2.957270847791984e-6,-2.0759969177050435e-8,0.0038290239989857604,-3.1466075062872564e-6,-2.0397397678011425e-8,0.0038291919363631554,-3.358735621529485e-6,-1.9991428033826533e-8,0.0038294345412146105,-3.5575484015966483e-6,-1.9611153660184545e-8,0.0038297379974115684,-3.7126062375014595e-6,-1.931477643950267e-8,0.0038300809546290265,-3.8019422327944494e-6,-1.9144289526878937e-8,0.003830437556664625,-3.813471476213471e-6,-1.9122815383613343e-8,0.0038307800423785735,-3.7458453013279217e-6,-1.925296167705247e-8,0.0038310813355700818,-3.6092600087004904e-6,-1.951522260747604e-8,0.003831318289772106,-3.4261620143933223e-6,-1.9866570427390518e-8,0.0038314761727888578,-3.2310651372663914e-6,-2.024078705408704e-8,0.003831554328173983,-3.067891478985199e-6,-2.0553606536838275e-8,0.00383157155253598,-2.9829338185445362e-6,-2.071629056719002e-8,0.0038315679388297268,-3.0127134004410304e-6,-2.0658964500687748e-8,0.0038315991481782685,-3.1692879484097765e-6,-2.0358751628086406e-8,0.0038317214021556132,-3.429727904878386e-6,-1.9859827008455862e-8,0.0038319713636641617,-3.7377031114383478e-6,-1.9270251199510938e-8,0.003832350581616624,-4.0199454376947184e-6,-1.8730381252591345e-8,0.003832823444733821,-4.211063811726861e-6,-1.8365375552540856e-8,0.0038333298168283644,-4.2746105018214276e-6,-1.82449115700899e-8,0.0038338051698647065,-4.211439514210527e-6,-1.8367216874901712e-8,0.003834198761806769,-4.0546278942909735e-6,-1.8668806860764246e-8,0.003834484151940069,-3.856273197654131e-6,-1.9049773936193798e-8,0.0038346613147808603,-3.6724518049993973e-6,-1.940260611015573e-8,0.0038347524550533677,-3.550605899014387e-6,-1.9636361789940677e-8,0.0038347942577808274,-3.52127028068912e-6,-1.969253972068335e-8,0.0038348288874075678,-3.5944825007219915e-6,-1.9551978029488838e-8,0.0038348954913967792,-3.7604912766397788e-6,-1.9233502467926943e-8,0.0038350235792819626,-3.9939514459539405e-6,-1.8785861778853742e-8,0.0038352291926199416,-4.260277158951203e-6,-1.8275496622939114e-8,0.003835514073341714,-4.522523088560736e-6,-1.7773291753942183e-8,0.0038358673369616493,-4.7473979554075516E-06,-1.7343025332758908e-8,0.0038362687210526454,-4.9095732722181525e-6,-1.7033139263666595e-8,0.00383669236799276,-4.99408908331157e-6,-1.6872194841765404e-8,0.003837110381916312,-4.997253315309627e-6,-1.6867206012024054e-8,0.0038374959397268127,-4.926686817006647e-6,-1.7003556999435392e-8,0.003837826168240292,-4.800973729438346e-6,-1.724561889505605e-8,0.0038380852198412027,-4.64897087800454e-6,-1.7538006826362915e-8,0.0038382680055769084,-4.508244405378731e-6,-1.780856000998818e-8,0.0038383845372422826,-4.4213473667315845e-6,-1.7975542156029803e-8,0.0038384635487548452,-4.428331072852901e-6,-1.7962111992879813e-8,0.003838552412999034,-4.554891468079644e-6,-1.7719129920892407e-8,0.003838709449637709,-4.79857611780019e-6,-1.7251579776228027e-8,0.003838986727658379,-5.120008018211622e-6,-1.6635275122453434e-8,0.0038394080255532118,-5.448208410521412e-6,-1.6006525398447498e-8,0.0038399539523913803,-5.703228860578149e-6,-1.5518689679738132e-8,0.003840565607656355,-5.826728491288216e-6,-1.5283563189269852e-8,0.0038411666084649057,-5.803303992373885e-6,-1.5330502316579828e-8,0.003841690669226006,-5.6615015185918996e-6,-1.5604511736937722e-8,0.0038421002535852433,-5.457713918832178e-6,-1.5997183329700725e-8,0.0038423907809453407,-5.254822630049416e-6,-1.6387728287251544e-8,0.003842584084612968,-5.1054363205735894e-6,-1.6675159725889587e-8,0.0038427176193724898,-5.043044755021766e-6,-1.6795248365588627e-8,0.003842834018332966,-5.07989312250766e-6,-1.6724578044920652e-8,0.003842972942410085,-5.209054269116863e-6,-1.6476567824802356e-8,0.0038431654789848045,-5.4086399567047076e-6,-1.60933997922233e-8,0.00384343077449617,-5.647036470412883e-6,-1.563595510392797e-8,0.00384377466746861,-5.888566057774086e-6,-1.5172890552403953e-8,0.003844190175581018,-6.098988812967744e-6,-1.477000694122479e-8,0.0038446595948861905,-6.250255466342545e-6,-1.4481091439427506e-8,0.003845157818995818,-6.324023724179862e-6,-1.4341201409106802e-8,0.0038456562996112983,-6.313615647304992e-6,-1.4362989566193652e-8,0.003846127011783707,-6.224437602563978e-6,-1.4535971378501742e-8,0.003846546039512686,-6.073206328661482e-6,-1.4828020425045514e-8,0.0038468967151338742,-5.886318244836747e-6,-1.518844046641186e-8,0.0038471724104394123,-5.6974965543184785e-6,-1.5552409101517088e-8,0.0038473791476006172,-5.544524492413738e-6,-1.5847232591313744e-8,0.0038475379016441485,-5.464345014145458e-6,-1.6001824499551356e-8,0.0038476855030219305,-5.485613097100651e-6,-1.596112434254084e-8,0.003847871879727775,-5.6186931393504005e-6,-1.5705383768277254e-8,0.0038481508803807564,-5.845389848453475e-6,-1.526986177286528e-8,0.003848563503714657,-6.114171536753636e-6,-1.4753886498476955e-8,0.0038491178160156275,-6.348715588209728e-6,-1.4304328128888127e-8,0.0038497770085141143,-6.472740813382431e-6,-1.4067840281603289e-8,0.0038504673064347367,-6.441502007513236e-6,-1.4130328256331074e-8,0.0038511053849232322,-6.261082594443713e-6,-1.4479857491646347e-8,0.003851629844832358,-5.983091492067725e-6,-1.5016874116127136e-8,0.003852018859395578,-5.680152288202065e-6,-1.5601434430578248e-8,0.0038522882875718684,-5.418923444947771e-6,-1.6105201466218447e-8,0.0038524776393092323,-5.243503092060938e-6,-1.644339124890214e-8,0.0038526343526436983,-5.171293042120779e-6,-1.658266798991624e-8,0.0038528022610099396,-5.196803821713961e-6,-1.6533754071038998e-8,0.003853015203081441,-5.2983925912731155e-6,-1.6338444310091512e-8,0.003853294442269686,-5.444945618229092e-6,-1.6056762373860484e-8,0.0038536482567425854,-5.601504835855946e-6,-1.5756133822008962e-8,0.0038540726814287585,-5.7339517789242305e-6,-1.550233250246981e-8,0.0038545530770026947,-5.813032433141409e-6,-1.535167747524828e-8,0.003855066511348219,-5.817774971569551e-6,-1.5344433001374196e-8,0.0038555849763886965,-5.738119863076067e-6,-1.5499788248752717e-8,0.0038560793166990247,-5.576384824864866e-6,-1.5813120373490353e-8,0.0038565234608473496,-5.347216994734051e-6,-1.6256150387493468e-8,0.0038568984147355433,-5.075979025649893e-6,-1.678004601450871e-8,0.00385719557764678,-4.795731754718215e-6,-1.7321162029551486e-8,0.0038574190570229696,-4.543041028615571e-6,-1.780903983008837e-8,0.003857586762326891,-4.352859428110214e-6,-1.817625138390654e-8,0.003857730049101876,-4.252572787910336e-6,-1.8369938134093778e-8,0.0038578912513364937,-4.255213948707043e-6,-1.8364992404288677e-8,0.003858117874957074,-4.3525404651654585e-6,-1.8177456727680517e-8,0.003858452354547486,-4.510210597999658e-6,-1.7873784612501723e-8,0.003858917791777117,-4.669051428707108e-6,-1.756829129472984e-8,0.003859503672194377,-4.756979406824098e-6,-1.7400082133742694e-8,0.003860160107605068,-4.712384004790362e-6,-1.7487936966225806e-8,0.0038608091664962376,-4.510570068775836e-6,-1.7879323414882926e-8,0.003861372398538454,-4.177424357879907e-6,-1.8524047943606895e-8,0.003861800506333025,-3.7795425476321384e-6,-1.9293349565570984e-8,0.0038620880164654562,-3.396288792625095e-6,-2.0033913711143205e-8,0.003862267166860147,-3.0911799396654256e-6,-2.062317555474824e-8,0.0038623893494130436,-2.8966628210158406e-6,-2.099867596807234e-8,0.003862506563495998,-2.8140990119499413e-6,-2.115798768293966e-8,0.0038626598321244918,-2.822389550608056e-6,-2.114198102596278e-8,0.003862874873005275,-2.8882527356427605e-6,-2.1014973901108832e-8,0.003863162336153394,-2.9744902195046028e-6,-2.0848814677809523e-8,0.0038635199304515298,-3.045533830271848e-6,-2.0712205478631623e-8,0.0038639348992436243,-3.0710234770790767e-6,-2.066378398501029e-8,0.0038643864355204357,-3.028367117469868e-6,-2.0747147455070232e-8,0.00386484822728367,-2.904831494192115e-6,-2.0986801911394604e-8,0.0038652914752601592,-2.699236644680084e-6,-2.1384920240420773e-8,0.003865688624510196,-2.4228755743300013e-6,-2.191962018272638e-8,0.00386601767419727,-2.0990064949875313e-6,-2.2545976090700474e-8,0.003866266452299767,-1.760409030734062e-6,-2.3200715561079226e-8,0.0038664359843247702,-1.4449098341719433e-6,-2.3810796904036255e-8,0.0038665420780329414,-1.1892409375748905e-6,-2.4305217895457498e-8,0.003866614450261009,-1.0220808697119544e-6,-2.4628464023641513e-8,0.0038666931331427633,-9.574329517630934e-7,-2.4753373068809092e-8,0.00386682224894407,-9.894664267422647e-7,-2.469119648990868e-8,0.0038670414158975728,-1.0900193002419434e-6,-2.449647640784153e-8,0.0038673755149895308,-1.2103925169421118e-6,-2.4263553007702945e-8,0.0038678247276590877,-1.2892296045959293e-6,-2.4111252377403624e-8,0.003868358444959499,-1.267252656795297e-6,-2.4154311249935473e-8,0.0038689178723244452,-1.106609395965305e-6,-2.446591385034712e-8,0.0038694306364283385,-8.077989637281885e-7,-2.504494355576824e-8,0.0038698345342124824,-4.141703486132289e-7,-2.5807311711834674e-8,0.003870099809101716,1.7314109784301966e-9,-2.661245619101961e-8,0.0038702378083155316,3.6458720020279093e-7,-2.7314567339474627e-8,0.0038702920854368386,6.214663267685033e-7,-2.7811317375819918e-8,0.0038703190910244194,7.53858335647063e-7,-2.8067074676155508e-8,0.00387036974897286,7.748010931081934e-7,-2.8107228302703305e-8,0.0038704788581488724,7.175311052953002e-7,-2.7996153658333026e-8,0.0038706626331334653,6.232083040671878e-7,-2.781347285744613e-8,0.0038709211656908133,5.318687125353667e-7,-2.7636609917695287e-8,0.003871242513436442,4.772284502188831e-7,-2.753078648423058e-8,0.003871606525933271,4.841804967947889e-7,-2.754418615260003e-8,0.0038719879135084533,5.675785755217659e-7,-2.7705577960566147e-8,0.003872358880346966,7.314004543716178e-7,-2.8022675148351287e-8,0.0038726919022138077,9.680249185641712e-7,-2.8480732932027746e-8,0.003872963138652044,1.2579586782204766e-6,-2.9042030043767234e-8,0.00387315657601737,1.5708285211382788e-6,-2.9647789466682646e-8,0.0038732683373289547,1.86855923238929e-6,-3.0224309921934445e-8,0.0038733099271485473,2.1112153111972303e-6,-3.069424612561177e-8,0.003873308852725411,2.2650543922665764e-6,-3.0992188082449424e-8,0.0038733053736022243,2.3111642765606837e-6,-3.108140596859698e-8,0.003873345192169577,2.2521788410355123e-6,-3.0966904370240415e-8,0.0038734693367986866,2.1146262125177263e-6,-3.0700024716839653e-8,0.003873703593536369,1.9454980220390796e-6,-3.037183659191588e-8,0.0038740502205765353,1.8030645268901052e-6,-3.009534652539585e-8,0.003874484463380578,1.7433559304306285e-6,-2.997927136727451e-8,0.003874957745425761,1.805067475563303e-6,-3.009872427079351e-8,0.0038754081819814224,1.9969121911983876e-6,-3.0470633717663e-8,0.0038757768904046563,2.2921729176794824e-6,-3.104314330933098e-8,0.0038760255596562514,2.6342273406501153e-6,-3.1706344087442033e-8,0.003876148467003275,2.953007064522305e-6,-3.232426651598912e-8,0.003876173208269964,3.1867247516892045e-6,-3.2777089184574225e-8,0.0038761496228379723,3.299682974732298e-6,-3.2995681880150156e-8,0.0038761325461103228,3.2890272755367357e-6,-3.297463097922817e-8,0.003876166403606068,3.179714693762658e-6,-3.276239593634084e-8,0.003876276896591104,3.0126859225590633e-6,-3.243833774524097e-8,0.0038764701624275557,2.8325579269208208e-6,-3.208888404389721e-8,0.0038767365992111737,2.6787515873070964e-6,-3.1790385133102694e-8,0.003877056148306675,2.580816495240054e-6,-3.160009687833867e-8,0.003877403029010765,2.556826343211539e-6,-3.1553084495681475e-8,0.0038777493008821016,2.613289973686861e-6,-3.166203618942354e-8,0.0038780675614554605,2.745446505360736e-6,-3.191780672517262e-8,0.003878333476381656,2.937524412643369e-6,-3.2289889347489e-8,0.0038785287779384415,3.1632353044676755e-6,-3.2727348319001116e-8,0.0038786449743421613,3.38733667833281e-6,-3.3161835770498974e-8,0.0038786873128192818,3.569409484611795e-6,-3.351491898098499e-8,0.003878677591593657,3.6707118908738144e-6,-3.371139093728882e-8,0.003878653651155005,3.663736005572876e-6,-3.369782934114989e-8,0.003878663611183559,3.5420997935283253e-6,-3.346179770353897e-8,0.003878754731082063,3.3267106762652564e-6,-3.304380167421774e-8,0.003878959662882301,3.0642480397399228e-6,-3.2534349810315585e-8,0.0038792851193151815,2.8166766000497898e-6,-3.2053637071171815e-8,0.003879707781335941,2.644580007151263e-6,-3.171924924585675e-8,0.003880179414535661,2.590044261113597e-6,-3.161296170025512e-8,0.003880639462395093,2.664856929841553e-6,-3.175779169109812e-8,0.003881030963909623,2.847441295081661e-6,-3.211196330829822e-8,0.003881315132026455,3.088989773401876e-6,-3.258074793403881e-8,0.003881480673019954,3.3267950065992406e-6,-3.304234350010906e-8,0.0038815453906210946,3.500934082932849e-6,-3.33803219040278e-8,0.0038815497710628015,3.5694288741531944e-6,-3.3513127109619604e-8,0.003881544796778198,3.5173837589184617e-6,-3.341184114435914e-8,0.003881578212321525,3.3577257039687044e-6,-3.310159999772678e-8,0.0038816837406748395,3.1243817248589497e-6,-3.264830861127478e-8,0.0038818760151617553,2.8614164265762064e-6,-3.213752525507882e-8,0.0038821512694009203,2.612341272483004e-6,-3.165370238768937e-8,0.0038824917692874394,2.4124461107722537e-6,-3.1265314802538124e-8,0.003882871480346175,2.2849072067360234e-6,-3.1017329356398934e-8,0.0038832611824149987,2.2398928027330586e-6,-3.0929494207351274e-8,0.0038836323245214632,2.275318774487282e-6,-3.099781618751069e-8,0.0038839597921307414,2.378108423025778e-6,-3.119699030134757e-8,0.0038842242152507703,2.5254286212354412e-6,-3.148275781095068e-8,0.0038844144663355965,2.686059250390416e-6,-3.179451894543604e-8,0.0038845306688387576,2.822639547206788e-6,-3.2059675183163195e-8,0.003884587357003466,2.8959475224504465e-6,-3.220196455639171e-8,0.0038846153737523,2.8722310269464106e-6,-3.21557550736718e-8,0.003884660056959134,2.7333387608771316e-6,-3.18857668919105e-8,0.0038847732762158013,2.4869046599035173e-6,-3.1406851357082614e-8,0.0038849991252745794,2.1712642698410145e-6,-3.0793495921892944e-8,0.0038853574442500984,1.8496451423368823e-6,-3.016850650976043e-8,0.0038858330515733975,1.5925789224385644e-6,-2.9668865383990577e-8,0.003886377556622482,1.4547566015723252e-6,-2.940082528056271e-8,0.0038869241473787107,1.4569552475180457e-6,-2.9404819127186324e-8,0.0038874085176017156,1.5809669809562609e-6,-2.9645564220367717e-8,0.003887786800305342,1.7780034980890623e-6,-3.002832302171855e-8,0.0038880447159318995,1.9850173646662214e-6,-3.0430573951043864e-8,0.0038881971924163384,2.1420596256770285e-6,-3.073574438290413e-8,0.003888280961175994,2.205781072292864e-6,-3.085948449380518e-8,0.0038883435694981065,2.1568374784550173e-6,-3.076410840731744e-8,0.0038884319296096136,2.0009593416802778e-6,-3.0460718017368735e-8,0.00388858281744708,1.7646673454508626e-6,-3.000089846925649e-8,0.003888816937092785,1.487387634284406e-6,-2.9461380448588014e-8,0.003889137213009564,1.2122368285186793e-6,-2.8926083312790018e-8,0.0038895308769200843,9.77741933194379e-7,-2.8469964105098837e-8,0.0038899740437511265,8.120453633245923e-7,-2.81477220260484e-8,0.003890437171818333,7.300902557734322e-7,-2.7988343358411724e-8,0.0038908900772970704,7.333723847624609e-7,-2.7994672649499975e-8,0.0038913058202770783,8.11313345377628e-7,-2.8146131740211625e-8,0.003891663485624368,9.432958331578632e-7,-2.8402680159512044e-8,0.0038919502946732623,1.1008399990349611e-6,-2.8708996787877187e-8,0.0038921635340459903,1.2499486900889057e-6,-2.8998973546822423e-8,0.0038923125934744473,1.3541502616078596e-6,-2.9201603267134142e-8,0.0038924208408559866,1.379197734291158e-6,-2.9250157793629576e-8,0.0038925260361622285,1.3003034856014153e-6,-2.909634192665132e-8,0.0038926769630940033,1.1115916402400212e-6,-2.8728743103664676e-8,0.0038929238963934187,8.34996763450161e-7,-2.819013439953649e-8,0.003893302729372596,5.229491681716229e-7,-2.7582633768285374e-8,0.0038938176635446077,2.486270920040773e-7,-2.704868519022275e-8,0.0038944323474479204,8.290889866841129e-8,-2.6726217478885122e-8,0.0038950779585628413,6.71542862886964e-8,-2.6695708784190685e-8,0.0038956768103849595,1.9679611586948285e-7,-2.694825472718397e-8,0.003896169311776245,4.2495370109331924e-7,-2.73925766726845e-8,0.003896530677936019,6.822594553111313e-7,-2.7893606935094835e-8,0.0038967721729981984,9.007324311420936e-7,-2.8318972956552194e-8,0.003896930972109137,1.0312737312306008e-6,-2.8573056292209646e-8,0.0038970560356940956,1.0512333616440805e-6,-2.8611714898809007e-8,0.0038971954492596143,9.637576168076825e-7,-2.84410251401411e-8,0.0038973875128366286,7.922909732076531e-7,-2.8106623400673385e-8,0.003897655773663217,5.73039745366953e-7,-2.7679078820458593e-8,0.0038980074203048315,3.470975623162463e-7,-2.723855936562174e-8,0.003898434383602654,1.532557749678879e-7,-2.686076811069166e-8,0.003898916483642837,2.2273778031217942e-8,-2.6605698033749048e-8,0.003899425869944706,-2.6879705272445377e-8,-2.651026260606674e-8,0.003899931946443452,1.135752503116599e-8,-2.658517606455315e-8,0.003900405988380751,1.2952483923987927e-7,-2.6815784333920333e-8,0.0039008248607193337,3.0902597073996624e-7,-2.7165815642283763e-8,0.0039011736945926885,5.228355224148576e-7,-2.7582659172522265e-8,0.003901447733469793,7.385703341824681e-7,-2.800327930437387e-8,0.0039016535931530446,9.218576909926763e-7,-2.8360689234556944e-8,0.003901810063641041,1.0402342282423203e-6,-2.8591513682344532e-8,0.0039019482346590566,1.068114437545263e-6,-2.8645727584383664e-8,0.0039021099156309434,9.933162871447647e-7,-2.8499486010026745e-8,0.0039023425147539973,8.245733393134014e-7,-2.816985246159411e-8,0.0039026886667243655,5.973876226969504e-7,-2.7726207946250197e-8,0.0039031709184319144,3.732053312467776e-7,-2.728856993304565e-8,0.003903776436955178,2.2643689124575264e-7,-2.7002203145251322e-8,0.0039044517336320776,2.1908852626009318e-7,-2.6988107235954432e-8,0.0039051160269753435,3.7343990320735743e-7,-2.728970832405026e-8,0.0039056904602020087,6.597257455398579e-7,-2.7848816986833218e-8,0.0039061274952976715,1.008182754458275e-6,-2.8529159419230002e-8,0.003906424029832539,1.337864454440272e-6,-2.917267690733211e-8,0.0039066143239121455,1.584673185538172e-6,-2.9654276855512307e-8,0.003906751629333246,1.7160417124478927e-6,-2.991045051383723e-8,0.003906889981347287,1.7312807173328777e-6,-2.993987957694521e-8,0.003907072257425082,1.6535639424178371e-6,-2.978777180552823e-8,0.003907324953080964,1.5196860399174986e-6,-2.9525923596991393e-8,0.003907657617907691,1.3710174126904936e-6,-2.9235136326534077e-8,0.003908064791635279,1.246627938272527e-6,-2.8991808582392042e-8,0.003908529121213566,1.178355331974727e-6,-2.8858246582644022e-8,0.0039090251008069895,1.1874723538953122e-6,-2.8876064406570793e-8,0.0039095231741027164,1.2828026766380307e-6,-2.9062457134925734e-8,0.003909993971965604,1.4602429723720258e-6,-2.940930205385144e-8,0.003910412376088683,1.7037257014122688e-6,-2.9885126077279e-8,0.003910760972899444,1.9875614267849495e-6,-3.043974711070414e-8,0.003911032543742426,2.279815827653438e-6,-3.1010855542352346e-8,0.003911231493909528,2.5463069029857515e-6,-3.153173238001942e-8,0.003911374222650876,2.7549910335127733e-6,-3.193972170951845e-8,0.003911488384327841,2.880624085469085e-6,-3.218531726661661e-8,0.003911610864352182,2.909667982481857e-6,-3.224183476086153e-8,0.003911783886839922,2.84536194505679e-6,-3.211546429333361e-8,0.003912048236733935,2.7121190655270843e-6,-3.1853969077637996e-8,0.003912432956737331,2.5569177610852085e-6,-3.1549408250500364e-8,0.003912942711842446,2.4439948046497946e-6,-3.13276712957956e-8,0.003913547494005578,2.439525781374463e-6,-3.1318405148871284e-8,0.003914182801008766,2.587612510786791e-6,-3.160796365905382e-8,0.00391476670682019,2.8876813198392386e-6,-3.219515496038958e-8,0.003915229878465214,3.288612511808708e-6,-3.297977441605243e-8,0.00391554262842195,3.707168304776008e-6,-3.3798756641249064e-8,0.003915722816780819,4.061134667377567e-6,-3.449114586943816e-8,0.0039158221519932715,4.297554871760769e-6,-3.495337435976911e-8,0.003915902612886247,4.403020028690837e-6,-3.5159304982510026e-8,0.003916016771863963,4.3972762305046315e-6,-3.51476057496457e-8,0.003916198069716032,4.319425094326008e-6,-3.499472431255641e-8,0.003916459596845121,4.214738888555488e-6,-3.4789167335719515e-8,0.003916797401300606,4.125457418511884e-6,-3.46135897824814e-8,0.003917195121291198,4.085545626385126e-6,-3.453456558879286e-8,0.003917628376812855,4.118078743411213e-6,-3.459741276197698e-8,0.00391806864547818,4.234057023541767e-6,-3.4823781820516536e-8,0.0039184868549933145,4.432100524385358e-6,-3.521100643460954e-8,0.003918856894454718,4.698942282664103e-6,-3.5733089149345645e-8,0.003919159062997544,5.010909292212568e-6,-3.634366398414867e-8,0.003919383180819294,5.336673361384431e-6,-3.698142096457321e-8,0.003919530829987342,5.641296545403175e-6,-3.757799607711368e-8,0.0039196162213828035,5.891218249778886e-6,-3.8067651883344666e-8,0.0039196653747344806,6.059652716046391e-6,-3.8397777275256785E-08,0.003919713456096689,6.131770978781817e-6,-3.853905013964011e-8,0.003919800276775679,6.108967573413839e-6,-3.849390802272054e-8,0.003919964045053333,6.011521522845613e-6,-3.830191792649171e-8,0.003920233494230299,5.878730153642338e-6,-3.804014811232711e-8,0.003920618992780859,5.764983763374026e-6,-3.781547454419313e-8,0.00392110459247313,5.730010496430183e-6,-3.7745352062984805e-8,0.0039216448866342514,5.822802882578071e-6,-3.792614771435408e-8,0.00392217165582521,6.062441369382195e-6,-3.839540769990899e-8,0.003922612784897084,6.424343781374744e-6,-3.910483982583697e-8,0.003922918279510956,6.842549813656679e-6,-3.9924854655693004e-8,0.0039230801956615,7.231684285990491e-6,-4.068779460101494e-8,0.003923134148926395,7.5187772284920845e-6,-4.125047503163074e-8,0.003923141833425455,7.667435752105012e-6,-4.1541586012182924e-8,0.003923166269325025,7.683166138878378e-6,-4.1571999586433136e-8,0.003923253198934327,7.602234341381125e-6,-4.1412808153840096e-8,0.00392342418128479,7.474463541507354e-6,-4.1161593315289665e-8,0.003923678875818511,7.348774715809465e-6,-4.091417238620076e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_24.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_24.json new file mode 100644 index 000000000..509a7d10c --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_24.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":24000,"numberOfSamples":1000,"samples":[0.003924001349468574,7.264665173102422e-6,-4.0747989552475184e-8,0.003924366586169156,7.248790607297544e-6,-4.0715438046854016e-8,0.0039247455983737215,7.31449699975775e-6,-4.084288354023843e-8,0.003925109134008881,7.462510402409807e-6,-4.1131928535769936e-8,0.003925430619334403,7.681943579661476e-6,-4.156132990390201e-8,0.003925688916221978,7.9515663056217e-6,-4.208949033990723e-8,0.003925871139610513,8.241724001493012e-6,-4.26582543580377e-8,0.003925975343160025,8.517452558510482e-6,-4.319903585164052e-8,0.003926012408625573,8.743124708146312e-6,-4.364190844664137e-8,0.0039260062351111815,8.888393011087458e-6,-4.392721436513869e-8,0.0039259914819518545,8.934553769547599e-6,-4.401802379763859e-8,0.003926008601681654,8.87995541059872e-6,-4.391078722925618e-8,0.003926096603853184,8.742886424791559e-6,-4.364111335220435e-8,0.003926284700461693,8.560700555841224e-6,-4.328218871863738e-8,0.003926584419799495,8.38460458304358e-6,-4.293463839580567e-8,0.003926983982520055,8.27018419490559e-6,-4.270791978660203e-8,0.003927446933578442,8.26450952654458e-6,-4.269489056436631e-8,0.003927917035426422,8.392007583137403e-6,-4.294388907717355e-8,0.003928330548152765,8.643213090672838e-6,-4.343648270886796e-8,0.003928634404239271,8.97202431142347e-6,-4.4082022548759444e-8,0.003928804571353034,9.306016764539644e-6,-4.473798796749362e-8,0.003928855847415065,9.568840746130847e-6,-4.525415343428905e-8,0.0039288366735898165,9.705875342600683e-6,-4.552310678124801e-8,0.003928810708523999,9.70075387287824e-6,-4.5512697637589113e-8,0.003928834802404048,9.575566014901797e-6,-4.526632710582171e-8,0.003928943827175889,9.377534807333275e-6,-4.487669985208786e-8,0.003929146690245219,9.161289638700064e-6,-4.445102369531869e-8,0.003929431010766044,8.97479258527682e-6,-4.408344678591044e-8,0.003929771249439363,8.851942834798086e-6,-4.3840594450064106e-8,0.003930136299987928,8.810775413828423e-6,-4.375803213461219e-8,0.0039304949376361325,8.854733935909684e-6,-4.3842713182813283e-8,0.003930819251349883,8.97490756364095e-6,-4.4077307493303816e-8,0.003931086911330102,9.152169769274805e-6,-4.442436000944777e-8,0.0039312831240633185,9.359120650070548e-6,-4.4830096409770687e-8,0.003931402736278697,9.562353565431697e-6,-4.522888479978551e-8,0.0039314523679986994,9.725809891954073e-6,-4.554983213541918e-8,0.003931451821677968,9.81581544058732e-6,-4.572667330703574e-8,0.0039314335373014,9.807739373223678e-6,-4.5710846370490446e-8,0.003931438847422937,9.693139686684408e-6,-4.5485541526462294e-8,0.003931510540598468,9.485126741041124e-6,-4.507628154878644e-8,0.0039316827752822045,9.21922505098598e-6,-4.455269004539336e-8,0.003931971055312627,8.947933809120098e-6,-4.401789076476449e-8,0.0039323657307728825,8.729358784614993e-6,-4.358622919525109e-8,0.003932831731699162,8.612643855888081e-6,-4.335462841531593e-8,0.003933315344617792,8.62429738570606e-6,-4.337560654570439e-8,0.003933756715300976,8.759463349484685e-6,-4.363994931455601e-8,0.003934105106059232,8.981053856326873e-6,-4.407485811762412e-8,0.003934332913929343,9.227877438043526e-6,-4.4559891225405716e-8,0.0039344440871193175,9.430525068002884e-6,-4.4958286576969273e-8,0.003934473402796723,9.530858688927084e-6,-4.5155432327327116e-8,0.003934475863914978,9.498545685117723e-6,-4.509149078422063e-8,0.003934509718222492,9.33827824991407e-6,-4.47756142603218e-8,0.003934619792227327,9.085158588882537e-6,-4.427682786107174e-8,0.003934827415641757,8.791280140237335e-6,-4.369760258181166e-8,0.00393512933343696,8.510038014808986e-6,-4.31429928445453e-8,0.0039355035636141015,8.284081649552148e-6,-4.269695029529051e-8,0.003935918018543304,8.139406686077033e-6,-4.241070000822375e-8,0.003936338353846052,8.084775818140693e-6,-4.2301584302013366e-8,0.003936733445406277,8.114176353890525e-6,-4.235787766689351e-8,0.0039370785461212525,8.210197709692123e-6,-4.254541828860122e-8,0.003937356971767464,8.347130480599071e-6,-4.281369430236631e-8,0.003937561263758311,8.493567783692922e-6,-4.310094762045791e-8,0.003937694438031615,8.615002843389891e-6,-4.333926631812809e-8,0.003937771330134241,8.67725650150846e-6,-4.346131796842194e-8,0.003937819322870859,8.651508326884634e-6,-4.3410256470381495e-8,0.003937877058427044,8.521099894445721e-6,-4.3153137231452934e-8,0.003937989463885939,8.288931327634417e-6,-4.269550841092151e-8,0.003938198228981029,7.982475866423666e-6,-4.209131265757179e-8,0.003938529202136906,7.652421272823026e-6,-4.144024574779018e-8,0.003938981172624146,7.362348631112524e-6,-4.086748201679056e-8,0.003939521858698951,7.171057158621901e-6,-4.048891544782165e-8,0.003940094615197016,7.113880374154503e-6,-4.0374365707466556e-8,0.0039406342007793785,7.190918645244552e-6,-4.052432522098116e-8,0.003941085456845227,7.366953288287352e-6,-4.086966435709471e-8,0.003941417979926735,7.582297213206803e-6,-4.1292902967637985e-8,0.003941632550878733,7.769811582108233e-6,-4.1661704613367465e-8,0.0039417586573959,7.872367731094012e-6,-4.186332403044912e-8,0.00394184498935138,7.856147459827803e-6,-4.183089280710224e-8,0.003941946090056001,7.716963831159671e-6,-4.155595404739903e-8,0.003942108844751583,7.478721284531861e-6,-4.1085488184775086e-8,0.003942362280649743,7.1851264448118275e-6,-4.0505610055412035e-8,0.003942713056297738,6.887545188092401e-6,-3.9917635489093076e-8,0.003943147094181412,6.63285056822077e-6,-3.9414089140640513e-8,0.00394363576055283,6.45458746493619e-6,-3.906122521138246e-8,0.003944143851940386,6.3689698481875325e-6,-3.889108334065558e-8,0.003944636869159611,6.375238897636767e-6,-3.89021835862169e-8,0.003945086178514301,6.458758785510235e-6,-3.906566285644976e-8,0.003945471885644119,6.595087712929455e-6,-3.9333345409787816e-8,0.003945784062145488,6.75381682031183e-6,-3.96453240801719e-8,0.0039460231949269235,6.9018086924852714e-6,-3.993631138475404e-8,0.003946200484182494,7.0061699834473986e-6,-4.0141443325436696e-8,0.003946338123548155,7.037663514739489e-6,-4.020297398706976e-8,0.003946469030517169,6.975321308310946e-6,-4.007939202239149e-8,0.0039466347171631935,6.8125615268396335e-6,-3.9757548945000605e-8,0.003946879526314831,6.563781000662389e-6,-3.926572917290399e-8,0.003947240113576192,6.26832771088985e-6,-3.8681519815076635e-8,0.00394773162032693,5.987155767768718e-6,-3.8125213666258697e-8,0.00394833606959585,5.788678511154436e-6,-3.7731893344309e-8,0.0039490010315956,5.726070108611301e-6,-3.760663760887806e-8,0.003949653254363835,5.815841448021564e-6,-3.778221021701663e-8,0.003950222933085804,6.029784395114221e-6,-3.8203094717768544e-8,0.003950666763769117,6.305251283013329e-6,-3.874572335149639e-8,0.003950978997636163,6.567633107643007e-6,-3.926282625402561e-8,0.003951187946508848,6.753390037519353e-6,-3.9628897768472654e-8,0.003951342970045106,6.82499234587586e-6,-3.9769697357740485e-8,0.00395149899125544,6.775528812781524e-6,-3.9671369919487616e-8,0.003951703461040263,6.625121099539185e-6,-3.9373432374454456e-8,0.003951987858015527,6.412572497682793e-6,-3.8952382552237284e-8,0.003952363959429004,6.185216687773946e-6,-3.8501729618800614e-8,0.003952824318389738,5.9890392604355895e-6,-3.811248119847719e-8,0.003953346084383744,5.8605580191022866e-6,-3.7857015174201214e-8,0.003953896995412957,5.821583390244034e-6,-3.777860582122305e-8,0.003954442092751837,5.877359468380301e-6,-3.7887672658214384e-8,0.003954949781935346,6.017769412892624e-6,-3.816417373000497e-8,0.003955396289717578,6.220694202785564e-6,-3.856432318594815e-8,0.003955768174884203,6.456367672750993e-6,-3.902927598979735e-8,0.003956063179994125,6.691705169501888e-6,-3.949369249275251e-8,0.003956290051901221,6.894111093467348e-6,-3.989319559509603e-8,0.003956467854520423,7.034854759428582e-6,-4.017095218887658e-8,0.0039566249669400816,7.092436622888951e-6,-4.0284290088954386e-8,0.003956797478346305,7.056481487425291e-6,-4.021245059161304e-8,0.003957025994777186,6.932388600346256e-6,-3.996590300588929e-8,0.003957349414623954,6.7458410699163445e-6,-3.959537173887109e-8,0.003957794778545756,6.544498614818847e-6,-3.9195220973930975e-8,0.003958364489074411,6.392651543668574e-6,-3.889283923884582e-8,0.003959026190955713,6.355295837039837e-6,-3.881705762450065e-8,0.003959713978117959,6.473712946892012e-6,-3.904975388942963e-8,0.003960346658841707,6.743821961530491e-6,-3.958294960032686e-8,0.003960857575990237,7.112323350996538e-6,-4.031115186969541e-8,0.0039612197932018854,7.496174919039376e-6,-4.10699402100219e-8,0.003961452306299503,7.814588012843276e-6,-4.169936348567501e-8,0.003961606574536528,8.01530911676443e-6,-4.209596468724888e-8,0.003961744529834369,8.08439052342442e-6,-4.223205431160473e-8,0.003961919898203691,8.041055608842375e-6,-4.2145503385516964e-8,0.003962167934107929,7.92540646416268e-6,-4.1915471608097986e-8,0.003962502766954194,7.785608877629877e-6,-4.1637175222764884e-8,0.003962919504652272,7.667738377555936e-6,-4.140189174962666e-8,0.00396339860412415,7.6088866362392024e-6,-4.128330394764023e-8,0.003963911081389532,7.633028280277278e-6,-4.132919427751386e-8,0.003964423927548092,7.749152914604407e-6,-4.1557593105492124e-8,0.003964905318504584,7.951432583245587e-6,-4.1957026443146924e-8,0.003965329172806784,8.221199670866641e-6,-4.249046155503989e-8,0.0039656786145144665,8.530378408627668e-6,-4.310220299700377e-8,0.003965947990889918,8.845841392371245e-6,-4.37266017606286e-8,0.003966143368775138,9.134007815143316e-6,-4.429715430491004e-8,0.003966281763390242,9.365126081644348e-6,-4.475489492347632e-8,0.003966389432433808,9.517028569907252e-6,-4.50557398961551e-8,0.0039664994413490615,9.578380169243303e-6,-4.517691762130738e-8,0.003966648478154706,9.551562333274848e-6,-4.512279719134597e-8,0.003966872442131501,9.455213790585541e-6,-4.493010285476397e-8,0.003967200009096507,9.325645135291122e-6,-4.4670856835179115e-8,0.003967643942139405,9.215087087823338e-6,-4.4448923046119814e-8,0.0039681916280942,9.183905742556441e-6,-4.438445858297688e-8,0.003968799131557344,9.284666046934797e-6,-4.4582129386551373e-8,0.003969395714603861,9.540259293398974e-6,-4.508756258136944e-8,0.0039699037202130414,9.926237027984614e-6,-4.585222439096121e-8,0.003970268552470416,1.0371684773005795e-5,-4.673521137896835e-8,0.003970482142169558,1.078412203468818e-5,-4.755282003004367e-8,0.0039705843561092195,1.10860283048514e-5,-4.815115477383973e-8,0.003970642360386332,1.1241376583518066e-5,-4.845874452293147e-8,0.003970722821708415,1.125981504453911e-5,-4.8494689966727235e-8,0.0039708723071808566,1.11829441885822e-5,-4.834134805360363e-8,0.003971110919069601,1.1065211622363857e-5,-4.810650188240576e-8,0.003971435431608885,1.0958632735931508e-5,-4.7893216781566505e-8,0.003971826265812919,1.0903990546723049e-5,-4.778250186894762e-8,0.003972254586729742,1.0927283245886881e-5,-4.782624238951511e-8,0.003972688105211575,1.1039249843146977e-5,-4.8046116883982526e-8,0.0039730955939297884,1.1236386675066273e-5,-4.843545087392066e-8,0.00397345054557075,1.1502799362280447e-5,-4.8962807876693554e-8,0.003973734208169738,1.1812792318729848e-5,-4.9577158828296015e-8,0.003973937950405579,1.2134265111817801e-5,-5.021471558067026e-8,0.003974064679006379,1.2432918992578263e-5,-5.080734411592102e-8,0.003974128944467808,1.2676973960732623e-5,-5.129190491821449e-8,0.003974155556457899,1.2841827542246017e-5,-5.1619414061577866e-8,0.0039741767870729505,1.2914097734147498e-5,-5.1763003268766806e-8,0.003974228381508199,1.2894585117898373e-5,-5.1723840310494984e-8,0.0039743446740342315,1.2799778794775203e-5,-5.1534278839920305e-8,0.003974553031218095,1.2661651645222267e-5,-5.1257656952560386e-8,0.00397486770830553,1.252526192551265e-5,-5.0983665712715536e-8,0.003975283624309093,1.244306855380536e-5,-5.081702986908633e-8,0.003975771762776541,1.2464764616558008e-5,-5.085712444532777e-8,0.003976279358595454,1.2622668128129355e-5,-5.1168686224427466e-8,0.003976738806949802,1.2915806066879637e-5,-5.174997205879499e-8,0.00397708712480231,1.3300494013523065e-5,-5.251398213335525e-8,0.003977290708495544,1.3697307875515348e-5,-5.3302462984544026e-8,0.003977362035950759,1.4017395454687275e-5,-5.393846232144907e-8,0.003977355858695399,1.4196719691249908e-5,-5.429455632185751e-8,0.003977345605575303,1.4218583669657343e-5,-5.433755885903962e-8,0.003977394646971235,1.4112859234273654e-5,-5.412679978292305e-8,0.003977538120767945,1.3937040535825622e-5,-5.377637606636613e-8,0.003977780313015663,1.3753373811437281e-5,-5.3409789340420174E-08,0.0039781024005110955,1.361276026355333e-5,-5.312812805725196e-8,0.003978473023124186,1.3547849219766439e-5,-5.299644136530384e-8,0.003978857094370713,1.3572654477401475e-5,-5.304293291262342e-8,0.00397922161367756,1.3685187261991948e-5,-5.326404503945597e-8,0.0039795391090315735,1.387078103509612e-5,-5.363091484811033e-8,0.003979789799970764,1.4105237357237993e-5,-5.4095556401576257e-8,0.0039799632178153825,1.4357845076354077e-5,-5.45968922420498e-8,0.003980059500806607,1.4594673222991368e-5,-5.506737604277994e-8,0.003980090142970023,1.4782539911570218e-5,-5.5440930753357645e-8,0.003980077642195864,1.4893710156689642e-5,-5.566226817310781e-8,0.003980053468419345,1.4910803096605801e-5,-5.56965853216742e-8,0.0039800541106269635,1.4830983623911673e-5,-5.553787293347947e-8,0.0039801154418540406,1.466838142817004e-5,-5.5213797919344863e-8,0.003980266139921954,1.4453775388946017e-5,-5.478524269653043e-8,0.003980521287767714,1.4231023369268172e-5,-5.4339391697161045e-8,0.003980877353979621,1.4050315119139707e-5,-5.397640762167942e-8,0.003981309717837675,1.395868469966156e-5,-5.3790488944141864e-8,0.003981774090037387,1.3988628469092594e-5,-5.3846999457069773e-8,0.003982213281677193,1.4146764402475845e-5,-5.415961657859051e-8,0.003982570011449755,1.4406143821260008e-5,-5.467482526558627e-8,0.003982804131697453,1.47071498764841e-5,-5.527369286809923e-8,0.003982908778352366,1.4970992193698437e-5,-5.579891732093303e-8,0.003982916824397885,1.5124448073961797e-5,-5.6104337480320424e-8,0.003982891263406429,1.5126160410236833e-5,-5.610742482232311e-8,0.00398290215454356,1.4980743595872157e-5,-5.581730514030468e-8,0.0039830019202654705,1.4733222541316497e-5,-5.532354528930037e-8,0.003983211326857249,1.4448727937037265e-5,-5.4755680309660146e-8,0.003983520104257227,1.4189885389384998e-5,-5.423828496751849e-8,0.003983897259054235,1.4001826693159665e-5,-5.386125283385029e-8,0.003984303459136277,1.3907216352427944e-5,-5.366993275012876e-8,0.003984700579759181,1.3908279420985249e-5,-5.3669095525382856e-8,0.003985057207973846,1.399170223752423e-5,-5.3832563887307894e-8,0.00398535107067196,1.4133635001783242e-5,-5.411306762933109e-8,0.003985569881970607,1.4303771905497005e-5,-5.445033306625039e-8,0.0039857117052029475,1.4468652878353123e-5,-5.4777689929636526e-8,0.003985785248092382,1.4594817843348775e-5,-5.502840613731594e-8,0.003985809897015252,1.4652472383143383e-5,-5.514301337657362e-8,0.003985814826438397,1.4619974837042523e-5,-5.5078226609295487e-8,0.0039858363205629195,1.4488750116827408e-5,-5.481669944437828e-8,0.003985912714645442,1.426742833517886e-5,-5.4375274115178266e-8,0.003986077146685968,1.3983468945714063e-5,-5.380829619913038e-8,0.003986349418788184,1.3680607655818763e-5,-5.320267121504874e-8,0.003986729243878734,1.3411429492368585e-5,-5.266321054783875e-8,0.003987193368925278,1.3226052188088213e-5,-5.229014065094215e-8,0.0039876982347206835,1.3159498917999302e-5,-5.2153854337675876E-08,0.00398818833657533,1.3221106579292605e-5,-5.227358445765773e-8,0.003988608901007278,1.338916970518754e-5,-5.260647556617648e-8,0.003988920183252699,1.3613194193081244e-5,-5.3051916801022585e-8,0.003989109646982799,1.3824650626505712e-5,-5.347299765131535e-8,0.003989197746223967,1.3954767944424933e-5,-5.373215558025435e-8,0.003989233827788415,1.3954763566654355e-5,-5.373171638754063e-8,0.003989281800794039,1.3811236850979288e-5,-5.3444699852450874e-8,0.003989400134260441,1.3549823535973889e-5,-5.292209959911019e-8,0.003989624365284392,1.3225093106393183e-5,-5.227268643727621e-8,0.003989959279866753,1.290162083662521e-5,-5.1625249279043706e-8,0.0039903824814073756,1.2635093520500604e-5,-5.109093995112096e-8,0.00399085532254792,1.2460509228031144e-5,-5.0739748289693165e-8,0.003991335096141489,1.2389290014694273e-5,-5.0594703090057124e-8,0.003991784193685639,1.2412788238110021e-5,-5.063879306432595e-8,0.0039921750376531425,1.2508400657934924e-5,-5.082710027342623e-8,0.0039924916979013365,1.264552801312763e-5,-5.109866380876292e-8,0.003992729733420645,1.2790244411010073e-5,-5.138580639540977e-8,0.003992895505481774,1.2908774182592685e-5,-5.162109554086806e-8,0.003993005539841018,1.2970483448082949e-5,-5.1743325651077926e-8,0.003993085805853583,1.2951169554634605e-5,-5.170407528089941e-8,0.0039931702182065525,1.2837098930575677e-5,-5.1475750096119304e-8,0.003993297356816803,1.2629535465925717e-5,-5.106062222453551e-8,0.003993504537036869,1.2348458326471559e-5,-5.04982889205154e-8,0.00399381928261621,1.2033164964636035e-5,-4.9866956012253766e-8,0.003994250001187529,1.1737322154317254e-5,-4.9273662215669775e-8,0.0039947794474397376,1.1517572315967707e-5,-4.883161802180583e-8,0.003995364932969854,1.1417909076784898e-5,-4.8629022529340004e-8,0.0039959471867255245,1.145512467560501e-5,-4.8699907040692296e-8,0.003996465923696541,1.1611411554188564e-5,-4.9009176717670445e-8,0.003996876828671035,1.1837637422183225e-5,-4.9458966925161574e-8,0.003997163971009506,1.2066380201857806e-5,-4.991458667779847e-8,0.003997343759283495,1.2230228260355551e-5,-5.024110820721207e-8,0.003997459714537061,1.227962356731739e-5,-5.033913205513782e-8,0.0039975700174394516,1.2195246540345806e-5,-5.016966528746188e-8,0.0039977315793668896,1.199171433994848e-5,-4.9761614483588085e-8,0.003997985303974457,1.1711837911922054e-5,-4.920037428897476e-8,0.003998346858193554,1.1413566865496914e-5,-4.8601769213070115e-8,0.0039988053495900785,1.1154143067304714e-5,-4.808037527313077e-8,0.0039993293627035445,1.0976671983429418e-5,-4.7722620398013583e-8,0.003999877225762814,1.0902767894712806e-5,-4.7571985490559816e-8,0.004000407493370264,1.0931979187466173e-5,-4.762776490445662e-8,0.00400088668699902,1.1046120607170104e-5,-4.785368769200271e-8,0.0040012933178902805,1.1215681826101956e-5,-4.8190753288722657e-8,0.004001618824597613,1.140602944436198e-5,-4.856968419517292e-8,0.004001866716617343,1.1582292382143262e-5,-4.8920729394387654e-8,0.004002051089467816,1.1712900988527266e-5,-4.9180732644461024e-8,0.004002195134543225,1.1772393926335084e-5,-4.9298705411811596e-8,0.0040023296147842545,1.1744241358596293e-5,-4.9241438831947997e-8,0.004002490702025333,1.1624164492064202e-5,-4.9000150214148706e-8,0.004002716177242634,1.1423787492992013e-5,-4.859784391910101e-8,0.0040030390227214704,1.1173356864132723e-5,-4.8094833920023865e-8,0.004003478361347815,1.0920997712239193e-5,-4.7587334303852796e-8,0.004004029802038545,1.0725563863908767e-5,-4.719320099784125e-8,0.004004659792221574,1.0641953511935584e-5,-4.7022548424382676e-8,0.004005309358395405,1.0702231547952575e-5,-4.713991105371558e-8,0.004005909305357476,1.0900742430031743e-5,-4.7534332339053704e-8,0.004006402231050277,1.1192022790909333e-5,-4.8115061170983004e-8,0.004006761493609258,1.1504328555145381e-5,-4.8738556290387605e-8,0.004006998416788491,1.1762810600434922e-5,-4.925487801263246e-8,0.0040071557972175655,1.1911802199676452e-5,-4.955234189469917e-8,0.004007292492485376,1.1928068755813912e-5,-4.9584090451901684e-8,0.004007466154921649,1.182270536529946e-5,-4.9371962164986925e-8,0.004007719484345561,1.1633960677447274e-5,-4.8992235679285965e-8,0.004008072516982853,1.1415035698476774e-5,-4.855132546462214e-8,0.004008521247009628,1.1220739757355388e-5,-4.81591306861145e-8,0.004009041556486812,1.1095986552782165e-5,-4.790595409748483e-8,0.004009596684482728,1.1068126254001404e-5,-4.784699794194256e-8,0.004010146061004549,1.1144061978931795e-5,-4.799641499742937e-8,0.0040106533603855915,1.1311869844993711e-5,-4.833044905420133e-8,0.004011092236707525,1.1545566812726804e-5,-4.8796997573800546e-8,0.004011449171177877,1.1811239466230054e-5,-4.9327987188523245e-8,0.004011723764818403,1.2072971677857698e-5,-4.985134835693644e-8,0.00401192736389657,1.2297623888833959e-5,-5.0300619813788786e-8,0.004012080963416897,1.2458294160137046e-5,-5.06218316152855e-8,0.004012212952149902,1.2536886563441079e-5,-5.077857415701251e-8,0.004012356748830488,1.2526361690877996e-5,-5.075648134300845e-8,0.004012547921684051,1.2433048238960548e-5,-5.0567928963629637e-8,0.0040128199805693305,1.2278886932150372e-5,-5.025666471468604e-8,0.004013197985529161,1.2102470950470938e-5,-4.990002190519058e-8,0.00401369000353784,1.1956510006150005e-5,-4.960388878819715e-8,0.004014278532066863,1.1898883530667995e-5,-4.948472066423443e-8,0.0040149167491389135,1.197622246061075e-5,-4.963648586630433e-8,0.004015535619726837,1.2203997061740317e-5,-5.0090569001978953e-8,0.004016064005360639,1.2553240036393509e-5,-5.0789018255737813e-8,0.0040164548830214815,1.2954750430225737e-5,-5.1592962190804215e-8,0.004016703733644348,1.3322431746732769e-5,-5.232951731508461e-8,0.004016848431434354,1.3584310465564186e-5,-5.2854110685949694e-8,0.004016951977140229,1.3704978067918915e-5,-5.309550581731473e-8,0.00401707918422125,1.3690726517722423e-5,-5.3066050186417026e-8,0.004017278464444657,1.3580022117076173e-5,-5.284257367174307e-8,0.004017573349390648,1.3427603643939568e-5,-5.253461517336548e-8,0.004017962524787026,1.3289293461804937e-5,-5.2254123260796106e-8,0.004018424992325505,1.3210932934703492e-5,-5.2093339215260626e-8,0.0040189273729024705,1.3221997414880813e-5,-5.211190437947683e-8,0.0040194315062708425,1.3333214209773679e-5,-5.2331872879317006e-8,0.004019901334926071,1.3537385768781908e-5,-5.273915282943784e-8,0.00402030839443015,1.3812681913253474e-5,-5.3290015781132485e-8,0.004020635440219238,1.4127527132908653e-5,-5.392095666905157e-8,0.004020878035146411,1.4446146519830484e-5,-5.455996088115213e-8,0.004021044226821732,1.473392798977689e-5,-5.513737746601209e-8,0.00402115275112109,1.496191131793451e-5,-5.559493860655362e-8,0.004021230393628464,1.5110074592057919e-5,-5.589227823087387e-8,0.004021308993990323,1.5169566143298608e-5,-5.601133518705951e-8,0.004021422225284333,1.5144214158221058e-5,-5.595940175161358e-8,0.0040216019835709,1.505150937068162e-5,-5.57712373201424e-8,0.004021873939755527,1.4922916833095616e-5,-5.550989215428107e-8,0.0040222517467002885,1.4802621499919506e-5,-5.5264327043482085e-8,0.004022730175355548,1.4742845077977562e-5,-5.513999395696767e-8,0.00402327924617558,1.4793651408929851e-5,-5.5238179247849234e-8,0.004023843665981839,1.498685836194858e-5,-5.562340967782772e-8,0.004024352851506316,1.5318263529964064e-5,-5.62874975195311e-8,0.004024743118745088,1.573836892528872e-5,-5.7130821512435726e-8,0.004024984194842726,1.6162535861771282e-5,-5.7982877436069443E-08,0.004025094377176705,1.6501026274800637e-5,-5.866291758713605e-8,0.004025133037057492,1.6693810177365013e-5,-5.9050065212816505e-8,0.0040251747474465615,1.6730082192383597e-5,-5.912247029379822e-8,0.004025281332087344,1.6644195416193686e-5,-5.894897656672424e-8,0.004025485746450353,1.6495866969054968e-5,-5.864930998217878e-8,0.004025790429201538,1.634835179138792e-5,-5.8350370181822665e-8,0.0040261746462862255,1.6253223052331517e-5,-5.815584387978385e-8,0.0040266044641294775,1.624327250382378e-5,-5.813200951807451e-8,0.004027041638836209,1.633135361213576e-5,-5.8305293951082345e-8,0.00402745025711566,1.6512469372403883e-5,-5.866622925242898e-8,0.00402780134494779,1.6767326438795646e-5,-5.917637987828972e-8,0.004028075926393701,1.7066612366788847e-5,-5.977686171643531e-8,0.004028266748303052,1.7375686093179322e-5,-6.039784671300595e-8,0.004028378700267617,1.7659404592882538e-5,-6.096841423803015e-8,0.004028427921096438,1.7886793273255926e-5,-6.142604364033798e-8,0.00402843964084909,1.8035151508268353e-5,-6.172486403108444e-8,0.004028445012514573,1.809312331270539e-5,-6.184175008856881e-8,0.0040284773268235005,1.8062494703952662e-5,-6.177988665082503e-8,0.004028567910222432,1.7958723498241694e-5,-6.156990468255793e-8,0.004028741861400401,1.781021131030546e-5,-6.12686094634135e-8,0.0040290136622913525,1.765619786846825e-5,-6.095496322789188e-8,0.0040293826809504,1.754280016104753e-5,-6.07222216328837e-8,0.004029829124215082,1.751619084809753e-5,-6.066410876225836e-8,0.004030312256108125,1.7612020509539247e-5,-6.085324393616324e-8,0.004030774031389632,1.7841815454699297e-5,-6.131341293797681e-8,0.00403115142107213,1.8180564860966387e-5,-6.199433879515745e-8,0.0040313974300052735,1.8563852856182064e-5,-6.27659191383855e-8,0.004031503203472192,1.8902856758312773e-5,-6.344869780801121e-8,0.004031507215610012,1.9116091643266002e-5,-6.387812802255732e-8,0.004031481930153734,1.916242569246173e-5,-6.397118926916185e-8,0.004031503768949901,1.9055383830683572e-5,-6.375504333127174e-8,0.004031624504421274,1.885153534554923e-5,-6.334344369125224e-8,0.00403185885677837,1.8623798019755862e-5,-6.288296518438462e-8,0.004032189274944319,1.8436620157024645e-5,-6.250321630029159e-8,0.004032579178971542,1.83324637336343e-5,-6.228981683190497e-8,0.004032986090714059,1.8329161981569122e-5,-6.227911243671427e-8,0.0040333708125981456,1.8423493871162983e-5,-6.246522183995398e-8,0.004033702484811329,1.8596808258675e-5,-6.281112340841897e-8,0.0040339608469825575,1.882045266602357e-5,-6.325939983367222e-8,0.004034137070431829,1.906045203237547e-5,-6.374161530130195e-8,0.004034233855241526,1.928170635220029e-5,-6.41868612531973e-8,0.004034264876079334,1.9452018078757834e-5,-6.453000617107153e-8,0.004034253391531761,1.9546047063260236e-5,-6.47197441623075e-8,0.004034229755724816,1.9548977882390267e-5,-6.472596597020264e-8,0.004034227730682795,1.9459320969577683e-5,-6.454533452522716e-8,0.004034279865723162,1.9290186380915923e-5,-6.420383235003002e-8,0.004034412486171448,1.9068594732676885e-5,-6.375547510633614e-8,0.00403464093034948,1.8832637893526655e-5,-6.327679436677401e-8,0.004034965687074627,1.8626536313167505e-5,-6.285707244922939e-8,0.004035370034247165,1.8493819644007736e-5,-6.258465123000945e-8,0.004035819874790727,1.846886648562048e-5,-6.252971679787746e-8,0.004036266904185114,1.856732169763407e-5,-6.272465029492704e-8,0.0040366565598250765,1.8777113738250836e-5,-6.31455681508602e-8,0.0040369414612311345,1.9053783781087113e-5,-6.370271942688705e-8,0.004037098344333292,1.932539834606959e-5,-6.42504851948613e-8,0.004037141902942749,1.951083270094533e-5,-6.462457097034529e-8,0.004037125865169994,1.954813798447868e-5,-6.46995458547251e-8,0.004037125861820998,1.9419995141300983e-5,-6.444028053955575e-8,0.00403721048480607,1.9160768124473176e-5,-6.391602935018678e-8,0.004037416430514758,1.88403649270376e-5,-6.326771012194285e-8,0.0040377405727112705,1.853563684839144e-5,-6.265022145619625e-8,0.004038149143064464,1.8305856043064805e-5,-6.218312567891382e-8,0.004038594479970898,1.8181596820678142e-5,-6.192833669694351e-8,0.004039029805036155,1.8165835433560526e-5,-6.189230839848963e-8,0.004039418015136255,1.8241197474729e-5,-6.204049708155263e-8,0.0040397350446880215,1.837815198734788e-5,-6.231370568667206e-8,0.004039969999138671,1.8541650006683282e-5,-6.264136381327966e-8,0.004040124041563737,1.8695860404660215e-5,-6.295108921511804e-8,0.004040209074777056,1.8807706049100226e-5,-6.317591860236914e-8,0.004040246363654397,1.88500021655281e-5,-6.32607471793734e-8,0.004040264737547788,1.8804636954320954e-5,-6.316879237455187e-8,0.004040297831687618,1.866571824947087e-5,-6.288791561688243e-8,0.004040379958326903,1.844201983765977e-5,-6.243550964565625e-8,0.004040540705219954,1.8157672301950075e-5,-6.185990253089828e-8,0.004040799030115895,1.7850119174229367e-5,-6.123634554926798e-8,0.0040411581509778,1.7564868093298403e-5,-6.065660011340943e-8,0.004041602732207329,1.734741098407994e-5,-6.021277355052825e-8,0.0040420995762303815,1.7233639004230466e-5,-5.997796689164541e-8,0.004042602323436688,1.724067110935005e-5,-5.998756494201581e-8,0.00404305992163886,1.736012884995211e-5,-6.022533875758978e-8,0.004043427966196684,1.7555910433464828e-5,-6.061865961283453e-8,0.0040436810936756275,1.7768500926616962e-5,-6.104709566844615e-8,0.004043823230883101,1.7927149455153616e-5,-6.1367140862782e-8,0.004043891164479845,1.7968977540453174e-5,-6.145110341710769e-8,0.004043947176700689,1.7860007267002482e-5,-6.122984744605595e-8,0.0040440603521150744,1.760913353792817e-5,-6.072111082777755e-8,0.004044282997667049,1.726658843338252e-5,-6.002633777071843e-8,0.004044633306112802,1.6905912165610116e-5,-5.929416783466505e-8,0.0040450925842591984,1.6598297213721576e-5,-5.866858772554347e-8,0.004045616463144047,1.6391968202125593e-5,-5.824729428445154e-8,0.004046152091763345,1.630410509649094e-5,-5.80653572847142e-8,0.004046652760383014,1.6324348036651065e-5,-5.8102214711525505e-8,0.004047085929565268,1.6424100266681775e-5,-5.830035937199191e-8,0.004047435228495953,1.6566189179488793e-5,-5.8584786032397173e-8,0.004047698959744002,1.671216642566975e-5,-5.8877737365682856e-8,0.004047887444712365,1.6826943646276348e-5,-5.9108127517374904e-8,0.00404802049508203,1.6881670483517197e-5,-5.9217433706880595e-8,0.004048125273323472,1.6855947238255258e-5,-5.9164217502915826e-8,0.004048234127401434,1.674008799311883e-5,-5.8928701076803824e-8,0.004048381670060571,1.6537530470193916e-5,-5.851761039418674e-8,0.004048600436416601,1.6266746291805815e-5,-5.796802584768781e-8,0.004048914984056892,1.5961326425245878e-5,-5.734760338043135e-8,0.004049335282066074,1.566668088020222e-5,-5.674801447212363e-8,0.0040498513719114376,1.5432414454828066e-5,-5.626965875165331e-8,0.004050431921230339,1.5301075079280176e-5,-5.5998974280483204e-8,0.004051028668995067,1.5296083993458358e-5,-5.598395649797168e-8,0.004051586738790464,1.5412983005455173e-5,-5.62162478465142e-8,0.004052058328986434,1.5617600591062285e-5,-5.6627167195976384e-8,0.004052415758160085,1.5852514347711364e-5,-5.7100596870077054e-8,0.004052659913064241,1.6050494133565283e-5,-5.7500160816537554e-8,0.0040528214440387015,1.6151570852562244e-5,-5.7703907353645075e-8,0.004052953861013157,1.611931020329749e-5,-5.763746552942237e-8,0.004053119682835466,1.595162622613579e-5,-5.729612717276807e-8,0.004053373025435257,1.5682212292362576e-5,-5.6747852350428666e-8,0.004053744027610918,1.537106055446932e-5,-5.611410681536437e-8,0.004054230846152612,1.5086637935810276e-5,-5.553375453822118e-8,0.004054802304411898,1.488624806595296e-5,-5.5123232299645195e-8,0.0040554095026198176,1.4802029857689209e-5,-5.494808734565473e-8,0.004056000829014219,1.4836834906018199e-5,-5.501449222707493e-8,0.0040565344012080526,1.496913360261363e-5,-5.527907211829798e-8,0.004056984713435475,1.5162646600086324e-5,-5.5668377746635783e-8,0.004057343673139978,1.537616244421555e-5,-5.609881419197702e-8,0.004057618154709957,1.5570907870645105e-5,-5.6491651348612124e-8,0.004057826336088842,1.571498161585009e-5,-5.678207302107251e-8,0.004057994236563965,1.5785663812756403e-5,-5.692387796847087e-8,0.004058152876449292,1.5770755436499932e-5,-5.6892175274642595e-8,0.004058335730497766,1.56698047725992e-5,-5.6685842838322767e-8,0.004058575736492297,1.5495479753201927e-5,-5.6330312045967666e-8,0.004058901067412491,1.5274593050186677e-5,-5.587969998232432e-8,0.0040593292989023755,1.504744016568601e-5,-5.541556302293769e-8,0.004059860688647646,1.4863522530534258e-5,-5.5038323485976716e-8,0.004060472924789321,1.4772178278052189e-5,-5.484831991380623e-8,0.004061121016256655,1.4808824187926628e-5,-5.491786333355384e-8,0.004061745398388068,1.4980995070619321e-5,-5.526278213620586e-8,0.0040622878335508355,1.5260905424743596e-5,-5.58271445794069e-8,0.00406270977840194,1.5589957864201896e-5,-5.6492254117461846e-8,0.004063005280007226,1.5895053516072876e-5,-5.71096919262533e-8,0.004063202722944347,1.611033761314179e-5,-5.7545486920249105e-8,0.004063355322523949,1.6195737978189514e-5,-5.7717829505718655e-8,0.004063524982892078,1.614629397440836e-5,-5.761611433490631e-8,0.0040637654881181635,1.5990874718776372e-5,-5.729846921069878e-8,0.0040641096822484745,1.5782374878243806e-5,-5.687200018963553e-8,0.004064563196214051,1.558309622417832e-5,-5.646323142518138e-8,0.004065105372946402,1.5449401160722053e-5,-5.6186965778914343e-8,0.004065696400389077,1.5419375479983378e-5,-5.612111731815594e-8,0.004066288252635861,1.5506240841777267e-5,-5.6293121212787874e-8,0.004066836155862962,1.5698542971993716e-5,-5.668010909236039e-8,0.004067307459695976,1.5966009975132922e-5,-5.7220705532581126e-8,0.00406768613309999,1.6268363193234948e-5,-5.783296271933897e-8,0.004067972917711898,1.6564106468153707e-5,-5.8432340733695405e-8,0.004068182486831887,1.681727652571284e-5,-5.894554234053274e-8,0.00406833933892352,1.7001503611134662e-5,-5.931880776278692e-8,0.004068473756113949,1.7101841750667816e-5,-5.952159722920657e-8,0.004068618388467829,1.7115337876791556e-5,-5.9547687041123166e-8,0.004068805319711415,1.7051183194416186e-5,-5.941546370891142e-8,0.004069063045413328,1.693080237181354e-5,-5.9168176976249445e-8,0.004069412642286213,1.6787584460103433e-5,-5.887352588619779e-8,0.004069862675046376,1.6665125654505054e-5,-5.862021049541122e-8,0.0040704033862420915,1.6612132979317868e-5,-5.8507611354420696e-8,0.004071002433343476,1.6672362317351996e-5,-5.8625252169843815e-8,0.004071606146962371,1.6870078458229394e-5,-5.90230533337598e-8,0.004072150180031084,1.7195707718266797e-5,-5.968194828764344e-8,0.004072579327330133,1.7600304654934825e-5,-6.050250155157372e-8,0.004072869038903364,1.800622384140864e-5,-6.132663264350784e-8,0.004073036765467772,1.8332569931295446e-5,-6.1989505493645e-8,0.004073135737926338,1.852349328887892e-5,-6.237718185712606e-8,0.004073234663677566,1.85650892687075e-5,-6.246099877342193e-8,0.004073394556097025,1.848476914851136e-5,-6.229627231999442e-8,0.004073652726352091,1.833737723399551e-5,-6.199414171839608e-8,0.004074017372470005,1.818678426452505e-5,-6.168431508746106e-8,0.0040744707750797445,1.808984214398682e-5,-6.148259812586677e-8,0.004074977337424825,1.8085790232343694e-5,-6.14693541796517e-8,0.004075493263269258,1.8191439776279438e-5,-6.167952512829171e-8,0.004075975798354961,1.840124607827241e-5,-6.210249277646861e-8,0.004076390776901895,1.8691144047334405e-5,-6.268964660170682e-8,0.004076717622217568,1.902494399145827e-5,-6.336732629192284e-8,0.004076951353972912,1.9361837440099986e-5,-6.405219775676581e-8,0.004077101746210127,1.96635091438295e-5,-6.46659095300111e-8,0.0040771903314508785,1.989970237527024e-5,-6.514655672234517e-8,0.004077246262806788,2.005165635670929e-5,-6.545569860243698e-8,0.004077302032084395,2.0113486301099913e-5,-6.558109876386352e-8,0.0040773896466789,2.0092092019349717e-5,-6.553647593087778e-8,0.004077537342209875,2.0006253451383885e-5,-6.535969647604283e-8,0.004077766555167821,1.988527789663943e-5,-6.511016738314298e-8,0.004078088689458051,1.976710784085783e-5,-6.486516989220184e-8,0.004078501328342447,1.96951136887764e-5,-6.471343334262049e-8,0.004078984379126887,1.971216651307541e-5,-6.474300004433253e-8,0.004079498090171917,1.985082590723176e-5,-6.502100525056876e-8,0.004079986278779378,2.0120252289371937e-5,-6.55667052274478e-8,0.004080388235941525,2.0494122797303468e-5,-6.632662153528476e-8,0.004080659282108669,2.0908086133771597e-5,-6.716933519624624e-8,0.0040807921628955995,2.1274886377819846e-5,-6.791652262392293e-8,0.004080825530396653,2.151542116556529e-5,-6.840653341073122e-8,0.00408083076942298,2.1590301346052778e-5,-6.855881484240877e-8,0.00408088328291802,2.1513241158620907e-5,-6.84010788689678e-8,0.004081035155949392,2.134019848115492e-5,-6.804703209129059e-8,0.004081302546732209,2.1144355238359504e-5,-6.764545015636383e-8,0.004081668918553097,2.0992072249557375e-5,-6.733141248227607e-8,0.00408209685499066,2.092848134334002e-5,-6.719713964870882e-8,0.004082540990125184,2.09731231952271e-5,-6.72830951751148e-8,0.004082958197133572,2.112218615191573e-5,-6.758231956110174e-8,0.00408331422869279,2.1353847294547875e-5,-6.805099975797541e-8,0.0040835874057665485,2.1634567155020024e-5,-6.862106700376206e-8,0.004083770116681637,2.1925434668298697e-5,-6.921309213990532e-8,0.004083868551366543,2.218816882099307e-5,-6.974866033503243e-8,0.0040839008942840345,2.239039499761978e-5,-7.016132947403248e-8,0.004083894232067077,2.250978778831476e-5,-7.0405207142333e-8,0.004083880571241067,2.25366960163881e-5,-7.046030306590217e-8,0.00408389252947929,2.2475031488631666e-5,-7.033426314434203e-8,0.004083959249418965,2.2341562177163083e-5,-7.00608865512821e-8,0.004084102836943754,2.2163971654346905e-5,-6.969625158825354e-8,0.004084335399848269,2.1977972812721735e-5,-6.931302372966625e-8,0.004084656614019778,2.1823582213426522e-5,-6.899305140282665e-8,0.004085051725131036,2.1740298666453316e-5,-6.881758196303943e-8,0.00408549043013785,2.1760499615591525e-5,-6.88536205880247e-8,0.004085928134416261,2.1900671848150498e-5,-6.913569532030017e-8,0.0040863118371121795,2.215161693360532e-5,-6.964550832191338e-8,0.004086592559838579,2.2471365259167905e-5,-7.029728262333709e-8,0.004086743511323791,2.278742626781085e-5,-7.094245749548945e-8,0.004086777069432108,2.3014650869490377e-5,-7.140649996468963e-8,0.004086748324489586,2.3086554162397423e-5,-7.155319319147187e-8,0.004086737210606845,2.298478523801362e-5,-7.134486880118048e-8,0.0040868162246094596,2.274751838270059e-5,-7.085933294161156e-8,0.004087022774633262,2.245098166859568e-5,-7.025197183973786e-8,0.004087351063401967,2.21773293531232e-5,-6.969023534135919e-8,0.004087762942117613,2.1988078250473938e-5,-6.929965848306815e-8,0.004088206426731321,2.1912888693068682e-5,-6.914113536613453e-8,0.0040886315320029145,2.1951514131721826e-5,-6.921484527465759e-8,0.004088999563181579,2.2082048330308014e-5,-6.947683655171173e-8,0.004089286694209541,2.227007195705091e-5,-6.985740065000953e-8,0.0040894840997412005,2.2476260228544262e-5,-7.027641992708612e-8,0.004089596524746182,2.2662126678655353e-5,-7.065510425729817e-8,0.004089640201779963,2.2794420332461283e-5,-7.092513321189004e-8,0.0040896402838893646,2.284862699133553e-5,-7.103599943485881e-8,0.004089627705490863,2.2811697616913437e-5,-7.096068474456991e-8,0.004089635411507748,2.2683801109797253e-5,-7.069921973276663e-8,0.004089694115390104,2.2478677051700234e-5,-7.027932793650815e-8,0.004089828036207196,2.2222286505042233e-5,-6.975365444924291e-8,0.004090051161470819,2.1949786269337134e-5,-6.919369964114232e-8,0.004090364511991667,2.170103932630054e-5,-6.86808528694382e-8,0.004090754790796106,2.151498959955255e-5,-6.829506592183514e-8,0.004091194666195651,2.142330844766789e-5,-6.810185855541579e-8,0.004091644993372157,2.1443624281504225e-5,-6.813824314344391e-8,0.0040920596967446154,2.1572833523424404e-5,-6.83986719144852e-8,0.004092394222561333,2.1782031162445324e-5,-6.88243378416857e-8,0.00409261763274889,2.2016102025325163e-5,-6.93022303226837e-8,0.0040927261558925485,2.2201941671687712e-5,-6.968213454108016e-8,0.004092752390399775,2.226781056753669e-5,-6.98165868041908e-8,0.004092761828782771,2.217010941896625e-5,-6.961594162020133e-8,0.004092832347522563,2.191489742469643e-5,-6.90924145000651e-8,0.004093023916310563,2.1559197363135236e-5,-6.836256507621499e-8,0.004093355382863215,2.1188443825140062e-5,-6.760103065423595e-8,0.004093801442773309,2.0883140487863215e-5,-6.697239893387999e-8,0.004094308353665391,2.0693642127327703e-5,-6.657980636574702e-8,0.004094815962852751,2.0632674505226746e-5,-6.644971858931919e-8,0.0040952745320277885,2.068224872375703e-5,-6.654596569206641e-8,0.0040956524926629954,2.0806194730034872e-5,-6.67951505187713e-8,0.004095937126088291,2.0961685991746184e-5,-6.711000602505771e-8,0.004096131713874594,2.1107263596701378e-5,-6.740571701477901e-8,0.004096251810518326,2.1207630473032185e-5,-6.760979080112129e-8,0.004096321810660583,2.123646163530461e-5,-6.766796655208107e-8,0.004096371868974252,2.117828020698269e-5,-6.754820351325027e-8,0.004096434786498749,2.102987222746858e-5,-6.724363080817744e-8,0.0040965424713340064,2.0801158863912584e-5,-6.677428971329367e-8,0.004096721827951759,2.0514974467630822e-5,-6.618661611930796e-8,0.004096990403276643,2.0205057223031076e-5,-6.554934138305202e-8,0.004097352573177603,1.9911884762201487e-5,-6.494509874821933e-8,0.0040977972420050135,1.9676507214749987e-5,-6.445798705026133e-8,0.00409829795293573,1.953307645034436e-5,-6.415839226662203e-8,0.00409881595753222,1.950131413892924e-5,-6.408749767114518e-8,0.0040993062317397294,1.958041987144307e-5,-6.424454113672405e-8,0.004099725949858662,1.9745840788228674e-5,-6.457984351456717e-8,0.004100044534043069,1.9950335607570126e-5,-6.499672432697775e-8,0.004100253632198516,2.013084019847643e-5,-6.536554032319219e-8,0.004100374104936217,2.0221969791798727e-5,-6.555157283498206e-8,0.004100455954183344,2.017477740412432e-5,-6.545379905395303e-8,0.0041005675891791,1.9975516702515512e-5,-6.504358355699308e-8,0.004100774805833544,1.965545542492212e-5,-6.438482789008002e-8,0.004101116885460426,1.928372582152993e-5,-6.361922074229146e-8,0.004101591870619371,1.894360567216253e-5,-6.291755062884213e-8,0.004102159238000308,1.8703470116557066e-5,-6.242018269746027e-8,0.00410275747591571,1.859703517591237e-5,-6.219659152435074e-8,0.0041033257619690735,1.8620141853715126e-5,-6.223872071816769e-8,0.004103819526959297,1.874065523208672e-5,-6.248114525442182e-8,0.004104216341986781,1.8912959818053868e-5,-6.283064370406833e-8,0.004104514378076207,1.909031638156852e-5,-6.319144791179558e-8,0.004104727475774354,1.9232607115184218e-5,-6.348113509152911e-8,0.004104879851426564,1.931006277488053e-5,-6.363836365897142e-8,0.004105001750774871,1.9304641429037065e-5,-6.362581755356893e-8,0.004105126061105588,1.9210481227772614e-5,-6.343120965738759e-8,0.004105285298052878,1.903412670485694e-5,-6.306774716776545e-8,0.004105508333763851,1.879451414608241e-5,-6.257405625726658e-8,0.004105816518487927,1.8522105372562953e-5,-6.201237977882163e-8,0.004106219408261088,1.8256224455901378e-5,-6.146316659960243e-8,0.004106711031782206,1.8039834534071813e-5,-6.101448588822051e-8,0.00410726820104739,1.7911758794004197e-5,-6.074620274769431e-8,0.00410785241819564,1.7897526858302653e-5,-6.071123337928272e-8,0.004108416180285091,1.8001212401072268e-5,-6.091866896065255e-8,0.0041089130241994485,1.820113748087769e-5,-6.132469615222139e-8,0.004109309104207408,1.8451646262672002e-5,-6.183595690444914e-8,0.0041095931983087045,1.869153552715818e-5,-6.232669811154938e-8,0.004109782084836411,1.8857869433917337e-5,-6.266717936609684e-8,0.004109919049387194,1.890226775739589e-5,-6.275732940350907e-8,0.004110064678761718,1.8805497319272342e-5,-6.255697025959145e-8,0.004110281124285083,1.858555641793577e-5,-6.210261238000375e-8,0.004110613703963449,1.829511610327427e-5,-6.150227952510236e-8,0.004111076186029953,1.8007169267841526e-5,-6.090602884987728e-8,0.004111646199815092,1.779292050803584e-5,-6.046048759796877e-8,0.0041122733354077975,1.770055011084275e-5,-6.026514317284309e-8,0.0041128962379817155,1.774357289428051e-5,-6.034829633072815e-8,0.004113460777981091,1.790224628658376e-5,-6.06698069713779e-8,0.004113932211375858,1.8134726118468195e-5,-6.114390913053563e-8,0.004114298813701848,1.8391239948785017e-5,-6.166830949707429e-8,0.004114568894174971,1.862570592744579e-5,-6.214811466500701e-8,0.004114764817887481,1.8802594772439982e-5,-6.251002429640857e-8,0.004114916941016438,1.8899611324047082e-5,-6.270792853777051e-8,0.004115058788903396,1.8907892822336005e-5,-6.272336282371548e-8,0.004115223529956793,1.883126597625609e-5,-6.256398245923092e-8,0.00411544112890223,1.8685396522870248e-5,-6.226179188618023e-8,0.004115735426728429,1.8496880076378558e-5,-6.187126850283822e-8,0.004116120670135077,1.830166124887891e-5,-6.146615285795259e-8,0.0041165976094830435,1.8141735245261587e-5,-6.113275473128614e-8,0.0041171501459813615,1.8059102673713814e-5,-6.095761535265301e-8,0.0041177444298378775,1.808677278934742e-5,-6.100903876410642e-8,0.0041183326482072515,1.8238377845822922e-5,-6.131565461947553e-8,0.004118862644895194,1.8500025366803055e-5,-6.184947666116739e-8,0.004119291845670744,1.882888305936909e-5,-6.252277761117837e-8,0.004119600995524518,1.916129270179671e-5,-6.320463576506777e-8,0.004119802051454148,1.9429176950619105e-5,-6.375467477591138e-8,0.004119936452241972,1.9579389208801835e-5,-6.406297574667329e-8,0.004120063979010977,1.958911524116044e-5,-6.408192449547398e-8,0.004120246088908799,1.9472222424355246e-5,-6.383944294513096e-8,0.00412052913259154,1.927501773422856e-5,-6.343041897475507e-8,0.004120932292519319,1.906320686341203e-5,-6.299000026420115e-8,0.0041214433902594435,1.890409343719484e-5,-6.265701578056743e-8,0.004122023468462977,1.884920647966687e-5,-6.253815085908088e-8,0.004122618451191795,1.8922390072082127e-5,-6.268323571647604e-8,0.004123173897075194,1.911656377839061e-5,-6.307832429936484e-8,0.0041236480036418895,1.939920158835302e-5,-6.365677983994343e-8,0.004124019202185466,1.9723461236942205e-5,-6.432213367561228e-8,0.004124287288244285,2.0040448516884058e-5,-6.49734234542431e-8,0.004124469567213898,2.0308896945277934e-5,-6.552527867409888e-8,0.004124594685466592,2.050066336393985e-5,-6.591937018917111e-8,0.004124696486907284,2.0602417835979338e-5,-6.61279466825767e-8,0.004124809121272801,2.0614914334906605e-5,-6.615231627858997e-8,0.00412496354787499,2.055127128513555e-5,-6.601926590271963e-8,0.004125184918062037,2.0435134717556e-5,-6.57772755655983e-8,0.004125490124622406,2.029885113054249e-5,-6.549281651963915e-8,0.004125884999648892,2.0181120072676474e-5,-6.524562199853932e-8,0.004126361187835996,2.012312227810521e-5,-6.512079755335909e-8,0.004126893637683346,2.016202160381174e-5,-6.519543374690128e-8,0.0041274407643772945,2.0321520249793008e-5,-6.551902559572129e-8,0.0041279499280898095,2.0601210358685798e-5,-6.609131944530118e-8,0.00412836969991199,2.0969274287628928e-5,-6.684706034379096e-8,0.004128666706476001,2.1364544730577544e-5,-6.766013860494177e-8,0.0041288402130868545,2.1711284432474734e-5,-6.837410979895914e-8,0.0041289260941142205,2.1943052421982018e-5,-6.88515335136089e-8,0.0041289863790102055,2.2025323150899638e-5,-6.902071138081227e-8,0.004129088666642758,2.1966206179071726e-5,-6.889782614187511e-8,0.0041292849632450085,2.1811418243791324e-5,-6.857662713945957e-8,0.0041295982485091585,2.1627811881081866e-5,-6.819461136355642e-8,0.004130019713586947,2.1483464269815928e-5,-6.789215710034456e-8,0.004130514847826705,2.1431037977969292e-5,-6.777831067919666e-8,0.004131034556120914,2.1497848193685356e-5,-6.79102050168444e-8,0.0041315275855180284,2.1683260008845836e-5,-6.828741599827955e-8,0.0041319514162801475,2.196236627165169e-5,-6.885922779761631e-8,0.0041322797208666745,2.2294052841138688e-5,-6.95410620986726e-8,0.004132505435793167,2.2631076927335552e-5,-7.023526137874012e-8,0.004132639559466678,2.2929656701609897e-5,-7.085103297987233e-8,0.0041327068073958445,2.3156619956378226e-5,-7.131941152567361e-8,0.004132739789933165,2.329325563893979e-5,-7.160135080100659e-8,0.0041327732697304005,2.3336073204430915e-5,-7.168931655885992e-8,0.004132839498526474,2.3295362222597494e-5,-7.160425905283545e-8,0.00413296489491445,2.319267720853539e-5,-7.139037898864675e-8,0.004133167727447015,2.3058081690060263e-5,-7.110948143247038e-8,0.004133456251584568,2.2927368246838634e-5,-7.083536734083875e-8,0.004133826864680379,2.2838893766911416e-5,-7.064744138921729e-8,0.004134262246139552,2.2829234263837425e-5,-7.062178621276581e-8,0.004134730285875639,2.2926717969593375e-5,-7.081769093706275e-8,0.004135185707911027,2.31425991815179e-5,-7.125916402041035e-8,0.0041355769071945506,2.346164589422353e-5,-7.191520269449173e-8,0.004135859441965122,2.383687117408675e-5,-7.268874415754124e-8,0.00413601369908566,2.4195039750171892e-5,-7.342810252300716e-8,0.004136058529573073,2.4456681249135846e-5,-7.396855759155849e-8,0.004136050487278654,2.456513384479195e-5,-7.419258398190955e-8,0.004136065019007573,2.4509860369459744e-5,-7.407805053129414e-8,0.004136168231272512,2.4330162569653813e-5,-7.370577611668552e-8,0.004136394459822497,2.409789030051738e-5,-7.322376999160329e-8,0.0041367395368764786,2.389056192725738e-5,-7.279186780905995e-8,0.0041371686481556655,2.3768649735412706e-5,-7.253505860848046e-8,0.004137631091783037,2.3763952092816136e-5,-7.251957894397494e-8,0.0041380747660009765,2.3878490225956004e-5,-7.275049880309497e-8,0.004138456791204421,2.4090059448810835e-5,-7.318286374029693e-8,0.004138749601503419,2.4360668956780575e-5,-7.37387885346733e-8,0.004138943194899096,2.4645468588374668e-5,-7.4325712073413e-8,0.004139044422775969,2.49009409295305e-5,-7.485336553975188e-8,0.0041390740178470385,2.509158954761269e-5,-7.52478055388981e-8,0.004139062078858488,2.519450532721772e-5,-7.546109277291754e-8,0.004139042857680081,2.5201537323836e-5,-7.547591881161818e-8,0.004139049681730755,2.5119185084212284e-5,-7.530538123596477e-8,0.004139110696144454,2.4966623708413148e-5,-7.498882514872912e-8,0.004139245793706889,2.4772544989273615e-5,-7.458527889421062e-8,0.004139464664095014,2.4571523457755883e-5,-7.416602259172535e-8,0.0041397656452513715,2.4400247311316832e-5,-7.380696250121588e-8,0.004140135103394312,2.4293510720908743e-5,-7.358048043260725e-8,0.004140547313718007,2.427954414351527e-5,-7.354575599206736e-8,0.004140965413628404,2.4374141223041407e-5,-7.373639326420042e-8,0.004141344873455721,2.457362346913388e-5,-7.414551482757032e-8,0.004141641326420783,2.48483642172095e-5,-7.471205791422762e-8,0.0041418235765014145,2.5141002654557318e-5,-7.53169965475809e-8,0.004141889215372904,2.537511100337642e-5,-7.58014858398564e-8,0.004141874921065243,2.5477517766043897e-5,-7.601342829768719e-8,0.004141851043315424,2.5408217951499304e-5,-7.58696248028512e-8,0.004141897199717203,2.5181416417097176e-5,-7.539927233814727e-8,0.004142070032062376,2.4862233791190885e-5,-7.473692425033855e-8,0.004142382136416294,2.4539521848464896e-5,-7.406615519129582e-8,0.004142802962387187,2.4291862821753357e-5,-7.354938496791458e-8,0.004143276515293847,2.4165133492908547e-5,-7.328171206236878e-8,0.004143742610608551,2.416776805253065e-5,-7.328119646301892e-8,0.004144152149564842,2.427840550811608e-5,-7.350451056510971e-8,0.004144474270556827,2.4457891470911152e-5,-7.387144252687797e-8,0.004144697408744952,2.4660435604785124e-5,-7.428767698568889e-8,0.004144827026181618,2.484202674459949e-5,-7.466207837487929e-8,0.004144881994566124,2.4966196964502726e-5,-7.491871231531306e-8,0.0041448905048311665,2.500781452275799e-5,-7.500493400442998e-8,0.004144885711446158,2.4955282841337656e-5,-7.489617429690564e-8,0.004144901261135358,2.481120187725696e-5,-7.459741678649363e-8,0.004144966982912023,2.4591489692204364e-5,-7.41413441693972e-8,0.004145105121592094,2.4322991873659133e-5,-7.358329870301691e-8,0.004145327544473218,2.403980237268326e-5,-7.299364256044502e-8,0.004145634190738719,2.377879003345024e-5,-7.24485997969921e-8,0.0041460127758167105,2.3574818073592004e-5,-7.202053283003591e-8,0.00414643966336036,2.3455929817344242e-5,-7.17680808924154e-8,0.004146881876040019,2.343860803994068e-5,-7.172625974921142e-8,0.0041473004753961136,2.3523144481116746e-5,-7.189658153429537e-8,0.004147656007247302,2.3689506623327728e-5,-7.223811648289735e-8,0.004147916808771172,2.3895221603221915e-5,-7.266284458651311e-8,0.0041480699650081705,2.4078275121643128e-5,-7.304167053080141e-8,0.004148132195104441,2.4168654642653938e-5,-7.322864004199276e-8,0.004148154320381181,2.4109831376965727e-5,-7.310586674653458e-8,0.004148211444887462,2.388423375298592e-5,-7.263656875158706e-8,0.004148377033934869,2.3528252738308904e-5,-7.189610084153054e-8,0.004148691963497075,2.3123109596003326e-5,-7.105280147716092e-8,0.0041491473031022115,2.27629923552026e-5,-7.030185625864194e-8,0.004149691355374006,2.251899382813585e-5,-6.979067613092937e-8,0.004150253959921051,2.2418989460666156e-5,-6.957735617198645e-8,0.0041507716459602394,2.2449203170718728e-5,-6.963393426794152e-8,0.0041512023452277315,2.2568972898863263e-5,-6.987681903782312e-8,0.004151528686471275,2.2727414027209948e-5,-7.020106669410957e-8,0.004151754402958528,2.287579296648152e-5,-7.050582576156142e-8,0.004151898371708361,2.2974592076086222e-5,-7.070894000466604e-8,0.004151988885126911,2.2996670531363484e-5,-7.075363347500511e-8,0.004152058955955876,2.2928322974470473e-5,-7.061092750138042e-8,0.004152142382845093,2.2769356506527704e-5,-7.02799821925708e-8,0.0041522701226427315,2.253246200945357e-5,-6.978684571499767e-8,0.004152466791086021,2.2241707192617996e-5,-6.91812637823709e-8,0.004152747431065876,2.192983419561754e-5,-6.853098876725601e-8,0.004153115009949348,2.163416853510276e-5,-6.791329347391853e-8,0.004153559267504416,2.1391372281000134e-5,-6.740420502635174e-8,0.004154057371060857,2.1231670864169294e-5,-6.706668724391143e-8,0.004154576533781043,2.1173336928637963e-5,-6.693925978559595e-8,0.004155078480972005,2.121824985076246e-5,-6.702665399660066e-8,0.00415552544495053,2.1349266802329204e-5,-6.729405133405011e-8,0.004155887326128362,2.153005321203464e-5,-6.76663910045802e-8,0.004156149549489265,2.1708297200182368e-5,-6.803485371706521e-8,0.004156320429207047,2.18236504091612e-5,-6.827342868724723e-8,0.004156435436193511,2.1821325191162423e-5,-6.826745995209362e-8,0.004156554325266331,2.1670061717922965e-5,-6.795132318021076e-8,0.004156747395736589,2.137880483492358e-5,-6.734326680703699e-8,0.004157071827894007,2.100211751024774e-5,-6.655662407843876e-8,0.004157547507220719,2.0626045399976664e-5,-6.577030263586701e-8,0.004158146618620178,2.033725265562143e-5,-6.516458127082557e-8,0.0041588047435924405,2.0191197783449442e-5,-6.485500848833399e-8,0.00415944679960301,2.0196654226797564e-5,-6.486025586921148e-8,0.004160012347865569,2.0321627878139327e-5,-6.51143438105989e-8,0.004160468885463152,2.0512010737360385e-5,-6.550526134746365e-8,0.004160812154099564,2.071068901280456e-5,-6.591452917912113e-8,0.004161059067630895,2.087014425419266e-5,-6.624331294613351e-8,0.004161239040043181,2.095792204410952e-5,-6.642382604808944e-8,0.004161386829742425,2.095738077188751e-5,-6.642102047979822e-8,0.0041615375835493676,2.0866361049708102e-5,-6.622998144256762e-8,0.004161723445766619,2.069540030448162e-5,-6.587231810027344e-8,0.004161970833005958,2.0465957657424777e-5,-6.53924752623177e-8,0.004162297807662163,2.0208374532718804e-5,-6.485342857751e-8,0.004162711465524075,1.9958972538912966e-5,-6.433060157681065e-8,0.004163205788963567,1.9755721872438256e-5,-6.390289279020207e-8,0.004163760874885751,1.9632401292486634e-5,-6.364064398012052e-8,0.0041643445126078645,1.9611945515193513e-5,-6.359191191485507e-8,0.004164916661599382,1.9700370056451175e-5,-6.376982675484982e-8,0.004165436593260296,1.9883038081479463e-5,-6.414465536185601e-8,0.004165871533002719,2.0124840290481865e-5,-6.464389273479223e-8,0.004166204973161034,2.03750141868381e-5,-6.516203187808346e-8,0.0041664427071129,2.0576291719662896e-5,-6.557950750839939e-8,0.004166614831251215,2.067725739446178e-5,-6.578854573835485e-8,0.004166772201513261,2.064596860090837e-5,-6.572180046924913e-8,0.004166976394844767,2.0481684872547044e-5,-6.537706967734264e-8,0.004167283762105637,2.0220289969068403e-5,-6.482876722062341e-8,0.0041677270966903575,1.9928853053708316e-5,-6.42166276496646e-8,0.004168301889621721,1.9687639520167372e-5,-6.370817178698891e-8,0.004168964945397345,1.9564346141463034e-5,-6.344493463573707e-8,0.0041696482095524585,1.9591663234778752e-5,-6.349560115607152e-8,0.004170281928490304,1.975909669494271e-5,-6.383883261318782e-8,0.004170815776114936,2.002177562328637e-5,-6.438149484450375e-8,0.004171229165072177,2.0319307693815556e-5,-6.499787658365365e-8,0.004171529641595815,2.0594371506068787e-5,-6.556842529790701e-8,0.004171744205095692,2.08044574697309e-5,-6.600426377969002e-8,0.004171909319060356,2.0925909999591906e-5,-6.625570255367975e-8,0.004172063035543002,2.095283945319605e-5,-6.631007474738575e-8,0.004172240006446445,2.0893942567726186e-5,-6.618518936112582e-8,0.004172468631381149,2.0769185793469826e-5,-6.592244924085984e-8,0.00417276921141435,2.0606998287037323e-5,-6.558098507505531e-8,0.004173152263607924,2.044171213681954e-5,-6.523229587640529e-8,0.004173616699217774,2.0310521591751063e-5,-6.49539193513707e-8,0.004174148228173609,2.0249146804649307e-5,-6.482044670278411e-8,0.0041747190205534725,2.0285797724636808e-5,-6.489100076513135e-8,0.004175290038969232,2.043401685070224e-5,-6.519431780277011e-8,0.004175817138082009,2.0686286120805764e-5,-6.571531492271147e-8,0.004176260742955059,2.1011275247548487e-5,-6.638915896100802e-8,0.004176596947866172,2.135738903704526e-5,-6.710846106930013e-8,0.004176826283818876,2.1663316572518304e-5,-6.774516430718877e-8,0.004176976440504031,2.187329985370935e-5,-6.818241888125293e-8,0.004177097171342621,2.1952541600749897e-5,-6.834687461472092e-8,0.004177248393652027,2.1897850265493772e-5,-6.823110493770005e-8,0.004177484698447774,2.1740143881249863e-5,-6.789904756326871e-8,0.004177840456289382,2.153777152476557e-5,-6.74722389787032e-8,0.004178319648003268,2.1361956093379974e-5,-6.709951969906079e-8,0.004178893720907776,2.1277850737766288e-5,-6.69174602353876e-8,0.004179508920172153,2.1326593435868438e-5,-6.701273548062968e-8,0.00418010143870764,2.1514398644594126e-5,-6.739909921106913e-8,0.004180615325979776,2.181278040040501e-5,-6.801760816720763e-8,0.004181016588925626,2.2169477458321236e-5,-6.875930338309788e-8,0.004181298828271539,2.2524986894682156e-5,-6.949975199756988e-8,0.004181480040607371,2.282791399696808e-5,-7.013122390191389e-8,0.0041815939531634075,2.304443453220907e-5,-7.058260201965475e-8,0.004181680312312281,2.3160968578745368e-5,-7.082508197011263e-8,0.0041817771738139765,2.31820016723154e-5,-7.086767934850143e-8,0.004181916138040746,2.3125777208913207e-5,-7.074824050457918e-8,0.004182119981389813,2.301988109644779e-5,-7.052420786013162e-8,0.004182401587912403,2.2897560902910874e-5,-7.026493333350233e-8,0.004182763226082177,2.279464572132352e-5,-7.004528039888718e-8,0.004183195714757309,2.27463722411251e-5,-6.993905040066949e-8,0.0041836776903782045,2.2783245722880823e-5,-7.001037080800247e-8,0.004184175936522711,2.2925337371297516e-5,-7.030174363642383e-8,0.004184648351533992,2.3175376573468616e-5,-7.081948145094982e-8,0.00418505106926234,2.351265779926658e-5,-7.152078397866612e-8,0.00418534981740814,2.3891456557676195e-5,-7.231026107348822e-8,0.004185532699444083,2.4247798955379997e-5,-7.305402455302344e-8,0.0041856186975773695,2.4515523630203316e-5,-7.361333203789702e-8,0.004185656116733408,2.4647127383329684e-5,-7.388829334143641e-8,0.004185709463990267,2.4630561585255983e-5,-7.385309068068146e-8,0.004185839553237669,2.4494045601495442e-5,-7.356612233607162e-8,0.004186085175026919,2.4297013898756418e-5,-7.315119149276783e-8,0.004186453058714402,2.4111865678345753e-5,-7.275951997366621e-8,0.00418691819641979,2.4003918546233812e-5,-7.252797509274851e-8,0.004187432570247736,2.4015686123816057e-5,-7.254618294928173e-8,0.004187938527366445,2.4158751006996613e-5,-7.283932258420115e-8,0.00418838289655064,2.4413937365967342e-5,-7.336815666881627e-8,0.004188728513422404,2.4738606360928003e-5,-7.404399556996649e-8,0.00418896077263449,2.5078536869024493e-5,-7.475342352649681e-8,0.004189088187108331,2.5380979408035573e-5,-7.538568393181177e-8,0.004189137637378765,2.560542386655624e-5,-7.585541248978948e-8,0.004189146482758514,2.5729746333905715e-5,-7.611571356090715e-8,0.004189154226481784,2.5751295531856018e-5,-7.616056328669566e-8,0.004189195811872894,2.5684118435083626e-5,-7.601902615037475e-8,0.004189297432699497,2.55542284301067e-5,-7.574531169066045e-8,0.004189474640743976,2.539461358412779e-5,-7.54082984053367e-8,0.004189731923761839,2.5240920754474522e-5,-7.508253449426259e-8,0.004190062893369365,2.5127892543049684e-5,-7.484086743090381e-8,0.004190450577587119,2.508605327542561e-5,-7.474758404267058e-8,0.004190867863493793,2.5137902888573805e-5,-7.48504270355493e-8,0.004191278851066964,2.5293029167128904e-5,-7.517021445445091e-8,0.004191642553303303,2.55423836176811e-5,-7.568861108228818e-8,0.004191920429727899,2.585359199989586e-5,-7.633807975528864e-8,0.004192087961726734,2.6171043691637975e-5,-7.700197953776512e-8,0.0041921473996541884,2.6425138639552714e-5,-7.753404214212685e-8,0.004192134962329874,2.655208648022618e-5,-7.780007245043969e-8,0.004192114992464122,2.6518357750800253e-5,-7.772933711625707e-8,0.004192159595389882,2.6337159580545134e-5,-7.734907825665287e-8,0.0041923223662205,2.6066037508450072e-5,-7.677941655751047e-8,0.004192619875803577,2.578592305862587e-5,-7.618950486964727e-8,0.0041930293080447165,2.557321200031067e-5,-7.57392457018824e-8,0.004193500258489232,2.5478197525003033e-5,-7.553431849801728e-8,0.004193972401104941,2.5516253407646417e-5,-7.560771560475328e-8,0.004194391412284077,2.5670481527066318e-5,-7.592504671513956e-8,0.004194719476384159,2.5901118869691845e-5,-7.640387556528128e-8,0.004194939943894964,2.6157253045760205e-5,-7.693795310378307e-8,0.004195057196908215,2.6387965736528168e-5,-7.742045708403442e-8,0.004195093049339342,2.655137914482246e-5,-7.776307074307687e-8,0.0041950809049979216,2.662075619193178e-5,-7.790902792572845e-8,0.0041950589164355375,2.6587196549228087e-5,-7.783901651533447e-8,0.004195063418449753,2.6459035460426867e-5,-7.75700484300396e-8,0.004195123687424457,2.6258649342688074e-5,-7.714875237095379e-8,0.004195258624765763,2.6017731648806405e-5,-7.664139315682479e-8,0.0041954753979068695,2.5772178721423704e-5,-7.612311259338277e-8,0.004195769575099257,2.5557431308106203e-5,-7.566822001278618e-8,0.004196126138573454,2.540453466231477e-5,-7.534204817948078e-8,0.004196520954855405,2.53367037714102e-5,-7.51938225051339e-8,0.004196922622790946,2.5365966871741377e-5,-7.524954946219042e-8,0.004197295156724912,2.5489504985313087e-5,-7.550410520029874e-8,0.004197602564194241,2.5685951525308174e-5,-7.591317047680027e-8,0.004197816369561635,2.5913292788382522e-5,-7.638861304882352e-8,0.004197925960352721,2.6111518336327034e-5,-7.68040568734833e-8,0.004197949030411529,2.6213720596972247e-5,-7.701841069760118e-8,0.004197935777056729,2.6166841984154432e-5,-7.691972134593537e-8,0.004197959246279704,2.5955973534895593e-5,-7.647632694596954e-8,0.004198090449018128,2.561816100677808e-5,-7.576574198158926e-8,0.0041983690577137925,2.523320397695459e-5,-7.495518310321368e-8,0.00419878704502883,2.4893403872054307e-5,-7.423809664192561e-8,0.004199294657828197,2.466944744060831e-5,-7.37627848726335e-8,0.004199822567905109,2.4590529631573546e-5,-7.35909004360926e-8,0.004200305861270729,2.4644214422214637e-5,-7.369713717322046e-8,0.0042006995521685,2.478930388189759e-5,-7.399597656866322e-8,0.0042009837510207735,2.497203494463084e-5,-7.437531825774549e-8,0.004201161612568837,2.5139530804678885e-5,-7.472443695283559e-8,0.0042012538478359,2.524867550071118e-5,-7.495254886807737e-8,0.004201292331705662,2.527094607106964e-5,-7.49991216701699e-8,0.00420131393742547,2.5194311755950153e-5,-7.483814941996342e-8,0.004201354951284227,2.502295376661067e-5,-7.447781373617757e-8,0.0042014462866753815,2.4775206437341213e-5,-7.395626000164893e-8,0.004201609778427287,2.448005996210069e-5,-7.333420007618452e-8,0.004201855844869758,2.4172631007671907e-5,-7.268529378705414e-8,0.004202182698645817,2.3889171851144942e-5,-7.208562808425933e-8,0.004202577017310062,2.3662279170995062e-5,-7.160372968477706e-8,0.004203015758641201,2.351672818202007e-5,-7.129194406720078e-8,0.004203468829726377,2.3466037764782944e-5,-7.11792747736706e-8,0.004203902457944527,2.3509754658052647e-5,-7.126556074908164e-8,0.004204283346550584,2.3631449505063676e-5,-7.151698648158335e-8,0.004204584061959764,2.3797752657327603e-5,-7.186374646115213e-8,0.0042047900364866496,2.3959694992948275e-5,-7.22027000677904e-8,0.0042049075001769935,2.4058568751254713e-5,-7.240978381987185e-8,0.004204969667533672,2.4038460412971196e-5,-7.23666645880367e-8,0.004205036113172845,2.386531479855544e-5,-7.200115046387884e-8,0.004205179685910332,2.3546624248548318e-5,-7.132872503889457e-8,0.0042054607744250174,2.313929579412769e-5,-7.046897812798647e-8,0.00420589989798239,2.27347232082449e-5,-6.961404483515537e-8,0.004206466015888612,2.242427014344388e-5,-6.895601774624227e-8,0.004207089445384607,2.2264274521212205e-5,-6.861351443079364e-8,0.004207690765000283,2.2260358548173973e-5,-6.859880736537034e-8,0.004208207794816714,2.2375384589948536e-5,-6.883449347627073e-8,0.004208608832725967,2.2550256047354552e-5,-6.919700655526116e-8,0.004208892174623421,2.2724239908018644e-5,-6.955907850228315e-8,0.0042090782601795,2.284808125073127e-5,-6.981713891001085e-8,0.004209200296160906,2.2889691428958756e-5,-6.990328564693268e-8,0.004209296350094005,2.283492007234416e-5,-6.97870980120373e-8,0.004209403565906254,2.268592751806816e-5,-6.947247890090181e-8,0.004209554005893156,2.2458595057271006e-5,-6.899240475833879e-8,0.004209771538720962,2.2179411033598958e-5,-6.840241608206303e-8,0.00421006954601963,2.1881833085248087e-5,-6.777287276654248e-8,0.0042104495193963105,2.1602047665670182e-5,-6.717991814560981e-8,0.0042109008189892645,2.137421177667367e-5,-6.669544160393412e-8,0.004211401868604031,2.1225620883696596e-5,-6.637699983388579e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_25.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_25.json new file mode 100644 index 000000000..ea9010347 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_25.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":25000,"numberOfSamples":1000,"samples":[0.0042119228229227776,2.117242668988509e-5,-6.625892772821196e-8,0.00421242951621424,2.1216421815835606e-5,-6.634559593072919e-8,0.004212888396602669,2.1343324948057996e-5,-6.660764965178544e-8,0.004213272077688695,2.1522955697259163e-5,-6.698208934125665e-8,0.004213565153061029,2.171164617537871e-5,-6.737707330135306e-8,0.004213769823711238,2.1857483451438128e-5,-6.768286051317844e-8,0.004213910198871436,2.190927122349849e-5,-6.779084064030356e-8,0.004214032922657624,2.1829493537962127e-5,-6.762116816618272e-8,0.004214200852587069,2.160938196621095e-5,-6.71548148810529e-8,0.004214477322022827,2.1280462370500936e-5,-6.645802296286292e-8,0.004214903100503305,2.091373094832423e-5,-6.568048925307495e-8,0.004215475880773675,2.0600151223130995e-5,-6.501412598684065e-8,0.004216145898744334,2.0417442948628495e-5,-6.462301093688222e-8,0.004216833579580056,2.0400376819345232e-5,-6.458079850055622e-8,0.004217459970123071,2.053157579362677e-5,-6.485132807375522e-8,0.004217972502130171,2.0755398012646987e-5,-6.531780445307867e-8,0.004218354775674382,2.100283844312381e-5,-6.583514699901046e-8,0.004218621473875984,2.1213061032032433e-5,-6.627523661803764e-8,0.004218806437975746,2.1344829856945014e-5,-6.655094448616457e-8,0.0042189509605779895,2.1378863630848206e-5,-6.662115374902181e-8,0.004219095409105211,2.1315105530184897e-5,-6.648517553484988e-8,0.004219274283414654,2.1168357298914947e-5,-6.617374421911176e-8,0.0042195135261831026,2.0964046864058137e-5,-6.574021509881736e-8,0.0042198289277669875,2.0734467344645254e-5,-6.52526270229363e-8,0.004220225061155502,2.0515161357874974e-5,-6.478598265567233e-8,0.004220694716869642,2.0341013243499278e-5,-6.441392136515793e-8,0.004221219187507694,2.024179213121955e-5,-6.419932023758131e-8,0.004221769966808666,2.0237378693578086e-5,-6.418431147260425e-8,0.0042223122778394,2.033346797221274e-5,-6.438129961003437e-8,0.004222810379006872,2.051879431947242e-5,-6.47670814186124e-8,0.0042232340746766765,2.0764877854194254e-5,-6.528213506219293e-8,0.004223565395287756,2.1029006330211313e-5,-6.583665389689409e-8,0.004223804128873946,2.1260585340412296e-5,-6.632374566900979e-8,0.004223970876957566,2.1410361180324564e-5,-6.663887945834917e-8,0.004224106369310762,2.14415465441151e-5,-6.670356203916723e-8,0.0042242657983087495,2.134115638552841e-5,-6.648957977625455e-8,0.004224507399419219,2.112855412696634e-5,-6.603731852191216e-8,0.004224876159364572,2.085686994094544e-5,-6.545888489491197e-8,0.004225386732174476,2.0603067839644234e-5,-6.491709513429656e-8,0.004226013160943935,2.0446027498544085e-5,-6.457905743766462e-8,0.004226693128151923,2.043932475634994e-5,-6.45585312505897e-8,0.004227347974683707,2.059163946791718e-5,-6.487440472016235e-8,0.004227909703767054,2.086563813515611e-5,-6.544822544194953e-8,0.004228341362829596,2.1195202646072075e-5,-6.614053530613902e-8,0.004228642402086946,2.1510125092377255e-5,-6.680302045077538e-8,0.004228840647210552,2.1755805619472572e-5,-6.732012834688552e-8,0.004228978598476052,2.190213346099413e-5,-6.762786101905045e-8,0.0042291010496863166,2.194302357527711e-5,-6.771287814009528e-8,0.0042292470592518745,2.1891133200885374e-5,-6.760145956889963e-8,0.004229446049571827,2.1771621167792976e-5,-6.73464393792848e-8,0.004229716468222322,2.1616855272094037e-5,-6.701607817399818e-8,0.004230065522044785,2.146232151279719e-5,-6.668539495546459e-8,0.004230489183412082,2.134317016838142e-5,-6.642880367863476e-8,0.004230972374903851,2.12906866823376e-5,-6.631261090471438e-8,0.004231489771832401,2.132821216102119e-5,-6.638640134078987e-8,0.00423200798906628,2.1466603019303647e-5,-6.667347585959588e-8,0.004232489876042049,2.1700112891328544e-5,-6.716214332465655e-8,0.004232901078212662,2.2004253231900497e-5,-6.780110661848243e-8,0.0042332180115707534,2.233735468493118e-5,-6.850259405413669e-8,0.004233435294041164,2.264690582136456e-5,-6.915558955274176e-8,0.004233570081750011,2.288024682846949e-5,-6.964836523197342e-8,0.004233661175459219,2.299740945877807e-5,-6.989570010663392e-8,0.00423376212210765,2.298272324126421e-5,-6.986362270031153e-8,0.004233929261141872,2.2851697779811398e-5,-6.958422181245012e-8,0.004234207211841524,2.2650495622957343e-5,-6.915475814576002e-8,0.004234615425259081,2.2446809897144912e-5,-6.871849564593151e-8,0.004235140014210337,2.231313047848069e-5,-6.842929415254376e-8,0.004235734703969059,2.230620625541042e-5,-6.840801170460767e-8,0.004236332511029088,2.2449320169543877e-5,-6.870475534746973e-8,0.004236865352914913,2.2724777630289437e-5,-6.928273029224622e-8,0.004237284245080581,2.3080599212484498e-5,-7.003223837757029e-8,0.004237571736415137,2.3448608166368112E-05,-7.080893495957507e-8,0.004237742342841121,2.3765484141766943e-5,-7.147847424023432e-8,0.004237833085799702,2.3988137660734125e-5,-7.194917126202141e-8,0.004237890189882673,2.4099447950975766e-5,-7.218425790080511e-8,0.004237957595590428,2.4105773514283147e-5,-7.219670738284095e-8,0.004238069919582637,2.4030269658422523e-5,-7.203516533111505e-8,0.004238249618365501,2.39056679238968e-5,-7.176871236223504e-8,0.004238506777009503,2.376842054507791e-5,-7.14744782604305e-8,0.004238839960336995,2.3654485763485328e-5,-7.122870298290076e-8,0.004239237195182148,2.359612316887198e-5,-7.109993006965748e-8,0.00423967689584437,2.3618836515735366e-5,-7.114251881836275e-8,0.00424012919339875,2.3737839999153642e-5,-7.138914208350213e-8,0.004240558555859129,2.3954028829091893e-5,-7.184219988672258e-8,0.004240928632216016,2.425035359666654e-5,-7.246603747851151e-8,0.004241209686151803,2.4590515496345863e-5,-7.31840475098621e-8,0.004241387602314709,2.4922420371615704e-5,-7.388587732093796e-8,0.00424147157146284,2.5187961743731242e-5,-7.44481247159738e-8,0.004241496426214619,2.5338027012562994e-5,-7.476619148263978e-8,0.004241516665120159,2.53481927416961e-5,-7.478765248745461e-8,0.004241592614544567,2.5228750538790737e-5,-7.453362965654456e-8,0.004241773093309497,2.5024267468472517e-5,-7.409800415341168e-8,0.004242080828456248,2.480219962828495e-5,-7.362345063271682e-8,0.004242505642303187,2.463448176734963e-5,-7.326256531566072e-8,0.004243007230734643,2.4578174120876555e-5,-7.313688342900408e-8,0.004243526169055569,2.4660842178798045e-5,-7.330574786416262e-8,0.004243999680967984,2.4874463362710607e-5,-7.375310120416703e-8,0.0042443776570801894,2.5179193207145155e-5,-7.439515440950807e-8,0.004244634361830328,2.551555261019759e-5,-7.510602778954726e-8,0.0042447725833558445,2.5820973313206575e-5,-7.575282082432305e-8,0.004244819645713096,2.6045265557054406e-5,-7.622855268466984e-8,0.004244817657500771,2.6160427534331055e-5,-7.647316726976563e-8,0.004244812063322777,2.6162998914343238e-5,-7.647870316326475e-8,0.004244842201737484,2.6070232563465724e-5,-7.628128320228887e-8,0.004244935733735506,2.5913058455968382e-5,-7.594622609168704e-8,0.004245106822619801,2.572872050475992e-5,-7.555241538069889e-8,0.004245356804103788,2.5554802441117856e-5,-7.517960510152853e-8,0.004245675934005867,2.5425040582432493e-5,-7.48995353162313e-8,0.004246045266184226,2.53664067068817e-5,-7.47697603900719e-8,0.004246438382144604,2.5396616745149382e-5,-7.482836234073875e-8,0.004246823330043397,2.552139706651534e-5,-7.508808847131201e-8,0.004247165619004974,2.5731389115804212e-5,-7.55296442638736e-8,0.004247433275937945,2.5999499171301278e-5,-7.609589214748047e-8,0.0042476044631466715,2.6280705900143398e-5,-7.669131102787287e-8,0.004247676613223559,2.6517177808645175e-5,-7.719284879324458e-8,0.004247673609435171,2.6650746595202952e-5,-7.747651982304646e-8,0.004247645708001549,2.66412350943042e-5,-7.74564776254694e-8,0.004247658309913079,2.6483856580341366e-5,-7.712204781528955e-8,0.004247771456591539,2.6216061034290582e-5,-7.655226898516179e-8,0.004248018640476505,2.590800755606473e-5,-7.589568494417051e-8,0.004248395212570714,2.563994069145496e-5,-7.532244221725396e-8,0.004248861259489376,2.5477021622606432e-5,-7.497104067998361e-8,0.00424935590167607,2.5452038700586148e-5,-7.491170753332291e-8,0.004249815624233812,2.5560514080836893e-5,-7.513587325912593e-8,0.0042501900081495896,2.5766672608186727e-5,-7.556853344785969e-8,0.004250451383611506,2.6015861961209102e-5,-7.609427999654669e-8,0.0042505977356969114,2.6248914551540066e-5,-7.658758795271883e-8,0.0042506498090625795,2.6415031884901112e-5,-7.694017883491166e-8,0.004250644097952955,2.648096828203765e-5,-7.708071584908982e-8,0.0042506237812728765,2.6435303290169302e-5,-7.698415129034421e-8,0.004250629816343292,2.6287691938557887e-5,-7.667036324682085e-8,0.0042506940711203485,2.6064200669597658e-5,-7.619435383064163e-8,0.00425083548128867,2.5800616341765846e-5,-7.563201480582007e-8,0.004251059186062351,2.5535598231431913e-5,-7.506549954746807e-8,0.004251357853991461,2.5304981396812947e-5,-7.457106386619228e-8,0.004251714123475805,2.5137752884505912e-5,-7.421052674232194e-8,0.004252103288002902,2.5053445751813735e-5,-7.402578044122805e-8,0.0042524958808914486,2.5060282096586535e-5,-7.403485203242214e-8,0.004252860347046862,2.5153483119387155e-5,-7.422821487858902e-8,0.004253166420302202,2.5313592833064807e-5,-7.4565027741937e-8,0.004253390056795452,2.5505445065978426e-5,-7.497072826604751e-8,0.004253520373611728,2.567954717105097e-5,-7.533987563241299e-8,0.004253567583483577,2.5778553226866115e-5,-7.555000192971296e-8,0.004253568477479618,2.57508981459835e-5,-7.549083696491824e-8,0.004253583802551681,2.5570092233629636e-5,-7.51055603806773e-8,0.004253683035294351,2.5251865633977112e-5,-7.44273175308893e-8,0.0042539191944363595,2.4857202588394434e-5,-7.35855734003273e-8,0.004254305764216735,2.447438286380503e-5,-7.276784994537231e-8,0.004254809815918776,2.4186839495990022e-5,-7.215147164839955e-8,0.004255365549942023,2.40441206534225e-5,-7.184200794898621e-8,0.004255899200387112,2.4050089820884473e-5,-7.184826829956902e-8,0.0042563516080044266,2.416972185021108e-5,-7.209662433728606e-8,0.004256690396141003,2.434605252160264e-5,-7.246675786316027e-8,0.0042569115892744334,2.4517943449023026e-5,-7.282912443145628e-8,0.0042570344588616455,2.463347637775471e-5,-7.30732558512375e-8,0.0042570934805204125,2.465775417313392e-5,-7.312438614433928e-8,0.004257129932313604,2.4575925834567138e-5,-7.295011734563332e-8,0.0042571843494951115,2.4392667825468296e-5,-7.255962537821784e-8,0.00425729039774817,2.4129023933815476e-5,-7.199717208281165e-8,0.004257470606229811,2.3817370327804808e-5,-7.133146006679518e-8,0.004257734255741909,2.349544247400287e-5,-7.064283667735547e-8,0.004258077393204028,2.3200390137071024e-5,-7.001050679824002e-8,0.004258484618862725,2.2963666553012255e-5,-6.950158216921607e-8,0.004258932027056634,2.2807293789006354e-5,-6.916316297269846e-8,0.0042593906153518026,2.2741586385370254e-5,-6.901757022449099e-8,0.0042598297434363165,2.276399055898611e-5,-6.905989169541386e-8,0.004260220606168873,2.2858651267932304e-5,-6.925694232532747e-8,0.004260539991874552,2.2996585299082128e-5,-6.954740578872719e-8,0.004260774793749827,2.3136869567961894e-5,-6.984415171021355e-8,0.004260927452055153,2.3230106921002925e-5,-7.004155848425731e-8,0.004261021309681241,2.3226075701983406e-5,-7.003196358517582e-8,0.004261102938290243,2.308688722779646e-5,-6.9733984200722e-8,0.004261236712509181,2.2804045770392858e-5,-6.912910597515336e-8,0.004261487734137989,2.2412204909363093e-5,-6.829103484152083e-8,0.004261895857940792,2.1987951130290533e-5,-6.738297115674651e-8,0.004262453748847359,2.1626559517556065e-5,-6.660796308383029e-8,0.004263104835077354,2.14049565306401e-5,-6.613002381831203e-8,0.004263765230072934,2.1352073118542486e-5,-6.601108302348439e-8,0.004264356348996169,2.14434400684497e-5,-6.619951822339648e-8,0.00426482929740014,2.1618744627758198e-5,-6.656745990661841e-8,0.004265171943391067,2.1807560186110623e-5,-6.696539410340849e-8,0.004265402331610535,2.194966411597293e-5,-6.726522140368924e-8,0.004265556764276095,2.2005321336605362e-5,-6.738204521109695e-8,0.004265678484351986,2.1957407300082035e-5,-6.727876331639272e-8,0.004265809259589074,2.1808924150594526e-5,-6.696101507231523e-8,0.004265983904005325,2.1578682448027443e-5,-6.646826954849454e-8,0.004266226920993157,2.1296504146896058e-5,-6.586379168206377e-8,0.004266550629286272,2.0998265292050864e-5,-6.522408289024045e-8,0.004266954602654954,2.072086530767614e-5,-6.46280184319503e-8,0.0042674264408546,2.0497353315112702e-5,-6.414629674705478e-8,0.004267943861511287,2.0352576012947905e-5,-6.383209365453901e-8,0.004268477960877023,2.0299833661802612e-5,-6.371398436365584e-8,0.004268997253092252,2.0338959047789847e-5,-6.379193925228933e-8,0.004269472004022922,2.0455923406950072e-5,-6.403649435074647e-8,0.004269878504480831,2.0623872099556896e-5,-6.439082513227808e-8,0.004270203091943123,2.0805512560485156e-5,-6.477560803074754e-8,0.004270445852852126,2.0956944805511876e-5,-6.509700275244613e-8,0.004270623800199121,2.10334314266037e-5,-6.525895403540025e-8,0.004270772558072353,2.0997890319405713e-5,-6.518152289098647e-8,0.00427094441011345,2.083220432249813e-5,-6.482534637528951e-8,0.004271199798210908,2.05492416329248e-5,-6.421755267416815e-8,0.00427159041645784,2.0199863007888447e-5,-6.346677840095314e-8,0.004272137010630017,1.986641311092636e-5,-6.274914812415897e-8,0.004272812866192905,1.9637907019181664e-5,-6.225512618287865e-8,0.004273546661830289,1.957484111226967e-5,-6.211428300886088e-8,0.004274248084309201,1.9683554754882735e-5,-6.234052528862284e-8,0.004274842584556,1.9916585609271047e-5,-6.283284863669002e-8,0.004275294989396107,2.0196932839426866e-5,-6.34271221447608e-8,0.004275612111248886,2.044876157713103e-5,-6.396157774097112e-8,0.004275829854443942,2.0618302854561106e-5,-6.432132893338302e-8,0.004275996344867708,2.068048102350494e-5,-6.445246254988373e-8,0.004276158761153353,2.0635703336763096e-5,-6.435525871581819e-8,0.00427635575964747,2.050278681984088e-5,-6.406929194779216e-8,0.004276614264766545,2.03118344130943e-5,-6.365844604760266e-8,0.004276948681532183,2.0098462742130343e-5,-6.319870838452115e-8,0.00427736112987467,1.9899240304877655e-5,-6.276838480380487e-8,0.004277842211255956,1.974773290141609e-5,-6.243949971073313e-8,0.004278372391904025,1.967077619426468e-5,-6.226968673760751e-8,0.004278924276628769,1.9684968915617704e-5,-6.229464867897638e-8,0.00427946603046503,1.9793798937027695e-5,-6.252207128612635e-8,0.004279965907331355,1.9986115124125946e-5,-6.292842834492383e-8,0.004280397398965965,2.0236567080278434e-5,-6.345990398536185e-8,0.004280744247696593,2.0508303055502708e-5,-6.403801521126411e-8,0.004281004505802116,2.075787626038736e-5,-6.45698971255669e-8,0.004281192901995228,2.0941958152062637e-5,-6.496252518206134e-8,0.004281340930710332,2.1025255578912166e-5,-6.513969573609285e-8,0.004281494037741554,2.0988991621400003e-5,-6.506040387677097e-8,0.004281705020143845,2.083884172795236e-5,-6.473613988226346e-8,0.004282022932066112,2.0609966237029076e-5,-6.424190093837948e-8,0.004282478182800925,2.0365345667199266e-5,-6.371269223823294e-8,0.004283067616495902,2.018344302717714e-5,-6.331700549222439e-8,0.004283747241477742,2.0134651144824004e-5,-6.320619458649664e-8,0.0042844407554519515,2.0253973496551404e-5,-6.345578723847007e-8,0.004285064598384449,2.0524555265033713e-5,-6.403009214368057e-8,0.004285558228008341,2.0883667246896797e-5,-6.479498002189184e-8,0.004285903068305841,2.1248575485531713e-5,-6.557331881327865e-8,0.004286121591209917,2.1546759971092086e-5,-6.620971443688664e-8,0.004286261550244254,2.173512138139228e-5,-6.661161891835543e-8,0.004286377010822107,2.1803562222643158e-5,-6.675698118613891e-8,0.004286514639174886,2.1767962224157696e-5,-6.667927461907289e-8,0.004286707249844844,2.1659831340824737e-5,-6.644549978914754e-8,0.004286972651294204,2.1517288514130502e-5,-6.613702981233638e-8,0.004287315036407035,2.137879459328305e-5,-6.583625969488997e-8,0.004287726996196279,2.1279125575024203e-5,-6.561792724729806e-8,0.00428819142343141,2.1246497524740444e-5,-6.554282703858169e-8,0.004288683412819257,2.1300005175710134e-5,-6.56522121072733e-8,0.004289172646002349,2.144705325197606e-5,-6.596225331674356e-8,0.004289626831671317,2.1681083267848825e-5,-6.64591918001667e-8,0.004290016489747565,2.1980505883871905e-5,-6.709706780234995e-8,0.0042903207017423875,2.2309974166205005e-5,-6.780039689973465e-8,0.004290532704681695,2.2624802256956494e-5,-6.847351420232322e-8,0.004290663720481053,2.2878545281189634e-5,-6.901668815447957e-8,0.004290743428588021,2.3032647343331645e-5,-6.934675430215987e-8,0.004290816160740989,2.3066060527652307e-5,-6.941783186631997e-8,0.004290932973482719,2.298241860165485e-5,-6.923692897416443e-8,0.004291140720082246,2.281268438762679e-5,-6.886989001401675e-8,0.004291469988513568,2.261171092999127e-5,-6.843422945885471e-8,0.0042919245712092595,2.244789438370406e-5,-6.807700264279899e-8,0.004292475971297328,2.238658804783379e-5,-6.793912075922681e-8,0.004293066649609138,2.2470558774809148e-5,-6.811318501504072e-8,0.004293623937526895,2.2703998892035536e-5,-6.860890598586648e-8,0.0042940818493636184,2.304812006375384e-5,-6.934344898792616e-8,0.004294402362672422,2.3432831436448893e-5,-7.016645002765099e-8,0.004294586104386337,2.378055743966283e-5,-7.091121590795328e-8,0.004294667795317409,2.4030920659155234e-5,-7.144780929009046e-8,0.004294700566059802,2.4155324165777983e-5,-7.171440891510901e-8,0.004294738209100082,2.4157840931771394e-5,-7.171925710040148e-8,0.0042948226573763385,2.4066452881318333e-5,-7.152192906009953e-8,0.004294978812281802,2.3921337639631674e-5,-7.120830502904449e-8,0.004295214901080934,2.3765000948817973e-5,-7.08694876550506e-8,0.004295525436407369,2.363587044291823e-5,-7.058807624485363e-8,0.004295894601684546,2.3564786623837452E-05,-7.04305813207749e-8,0.004296299122201778,2.357308522950433e-5,-7.044321503200956e-8,0.004296710657229467,2.367115187319423e-5,-7.064870539544668e-8,0.004297098295590391,2.38568917503796e-5,-7.104295898373251e-8,0.004297431906932636,2.4114275885103977e-5,-7.159190498213205e-8,0.004297686870625992,2.4412901902798002e-5,-7.223050607165677e-8,0.004297849991681794,2.4710049162891303e-5,-7.286710575334312e-8,0.00429792530231652,2.4956591162591826e-5,-7.339606327152146e-8,0.004297937372396556,2.5107015043400802e-5,-7.371925088269417e-8,0.004297929510021779,2.5131737805527713e-5,-7.377254984435431e-8,0.004297955548234345,2.5027789983162344e-5,-7.354890403274291e-8,0.004298066575615005,2.4823310836198834e-5,-7.310812995376074e-8,0.004298296552607654,2.4573070322224938e-5,-7.256747872959403e-8,0.004298651648983001,2.434559188780995e-5,-7.207413756368472e-8,0.004299106911661393,2.4205518413300738e-5,-7.176741926718479e-8,0.004299611453430702,2.4196312655059432e-5,-7.174150839999789e-8,0.0043001009376553104,2.4328171010078167e-5,-7.201924724959771e-8,0.004300514215980978,2.45747458074727e-5,-7.254478183774332e-8,0.00430080955408668,2.4880164403869278e-5,-7.319841098782959e-8,0.00430097535914321,2.5174795560467062e-5,-7.383040760602065e-8,0.004301031639911904,2.5394822709818133e-5,-7.430318462394381e-8,0.004301021854896047,2.549876742515806e-5,-7.452698087324046e-8,0.004300998826632299,2.5475424898201563e-5,-7.447707677090092e-8,0.0043010105133326326,2.5341837209243172e-5,-7.418955573869462e-8,0.00430109035070397,2.513426620792213e-5,-7.374198268112992e-8,0.004301253742716078,2.48970164755011e-5,-7.32294267491531e-8,0.004301499427306543,2.467299592201586e-5,-7.274417707510015e-8,0.0043018132999952385,2.4497627550464064e-5,-7.236262240548909e-8,0.004302172657874503,2.4395814589290057e-5,-7.213867310051331e-8,0.004302549817683467,2.4380785913499932e-5,-7.210122313442096e-8,0.0043029149958991805,2.44536492446394e-5,-7.225313252007961e-8,0.004303238964457443,2.460296377691644e-5,-7.2570238773880585E-08,0.00430349625434463,2.4804348391217722e-5,-7.300042578258291e-8,0.0043036695281246816,2.50209511462533e-5,-7.34645445614565e-8,0.0043037550770795956,2.5206324498041653e-5,-7.386254745634518e-8,0.004303768148276709,2.5311391686062272e-5,-7.408849797523384e-8,0.004303745290754547,2.5296058710614142e-5,-7.405564302472968e-8,0.0043037402219377715,2.5143263129179642e-5,-7.372674513257676e-8,0.004303811401843918,2.486984655474745e-5,-7.31375476237472e-8,0.004304003924871586,2.452738717704159e-5,-7.239861410051003e-8,0.004304332998053507,2.4189634346796077e-5,-7.166837537127397e-8,0.004304777053220583,2.3930305794275484e-5,-7.110548942813876e-8,0.0043052839373079,2.380055815885997e-5,-7.082046368346776e-8,0.004305786979287081,2.381512406074437e-5,-7.084577599968396e-8,0.004306223908680077,2.3950918898359302e-5,-7.113265222969439e-8,0.0043065521824008435,2.4156359154944985e-5,-7.157081214482665e-8,0.00430675720105395,2.4366745878058644e-5,-7.202132826384251e-8,0.00430685272341944,2.452074994873828e-5,-7.235202054839195e-8,0.0043068746876313785,2.457397362237289e-5,-7.246674040986775e-8,0.004306870807432403,2.450692094765032e-5,-7.232274420159353e-8,0.0043068889333198876,2.4326274108967804e-5,-7.193368553734489e-8,0.004306967157178836,2.4060115372153373e-5,-7.135951482856131e-8,0.004307127792060001,2.3749312473508598e-5,-7.068800846487233e-8,0.004307375847549257,2.3437998378882705e-5,-7.001424126954424e-8,0.0043077011487614265,2.316559033074148e-5,-6.942331161839482e-8,0.004308082476774727,2.296156998550824e-5,-6.897901648309085e-8,0.004308492160407662,2.2843008936849732e-5,-6.871848008341235e-8,0.00430890014225028,2.2814028032551207e-5,-6.865098180169714e-8,0.004309277281921247,2.2866200020617407e-5,-6.875880227967708e-8,0.004309598220494261,2.2979234337591817e-5,-6.899862356038913e-8,0.004309844408536244,2.3121853538730567e-5,-6.930329429478826e-8,0.0043100078615668095,2.3253479651415424e-5,-6.95853524949172e-8,0.004310095640386761,2.3328083445441076e-5,-6.974529757037752e-8,0.0043101338257101485,2.3301787131791224e-5,-6.968807200575135e-8,0.004310168187241177,2.3144787924465443e-5,-6.934892854607553e-8,0.004310257826444425,2.285531683637069e-5,-6.872365125157918e-8,0.004310459684221365,2.2469228310805165e-5,-6.788925321183882e-8,0.0043108073193948325,2.2056750050369026e-5,-6.699692997284909e-8,0.004311294032439131,2.170255209789584e-5,-6.622910378436072e-8,0.004311871307369093,2.1476062378587954e-5,-6.573553756794064e-8,0.004312465198993063,2.1407057452158824e-5,-6.558081946270183e-8,0.004313001977162613,2.147859710794636e-5,-6.572910476913147e-8,0.00431343005920553,2.1637960989153616e-5,-6.606750631843108e-8,0.004313730316577628,2.181691089414023e-5,-6.644950764688654e-8,0.004313914738250244,2.1951418489715036e-5,-6.673726332891451e-8,0.004314017860593639,2.1995240270097538e-5,-6.6830778021755e-8,0.00431408563427076,2.1926188546349096e-5,-6.668152880876458e-8,0.004314164844430976,2.1746350005664837e-5,-6.62931915957548e-8,0.00431429466372932,2.1478088191753095e-5,-6.571331506627689e-8,0.004314501024681896,2.1157447735519515e-5,-6.501929657323107e-8,0.004314794068269408,2.0826407239506826e-5,-6.430170217264929e-8,0.004315168523400873,2.0525388218328684e-5,-6.364798919827755e-8,0.00431560642180513,2.0287173353931803e-5,-6.31292183912412e-8,0.0043160812455876356,2.0132909454777427e-5,-6.279132138753954e-8,0.004316562520177888,2.007033177327738e-5,-6.265126152698634e-8,0.00431702006617794,2.00938082788825e-5,-6.269717769742918e-8,0.004317427588706235,2.018551638500187e-5,-6.28909388180351e-8,0.004317765712734754,2.0317234227004703e-5,-6.317193328846631e-8,0.004318024775138963,2.0452628316515763e-5,-6.34618604024906e-8,0.00431820770093002,2.0550394730606987e-5,-6.367139110618334e-8,0.004318332893899484,2.0569188001987255e-5,-6.371081436092053e-8,0.004318436011644906,2.04754635624101e-5,-6.350712260775898e-8,0.0043185681789404615,2.0254385622796044e-5,-6.302778494565895e-8,0.004318787523787666,1.9921423273137004e-5,-6.230594134708772e-8,0.004319142414166795,1.9528518015015e-5,-6.145372829533996e-8,0.004319650180655444,1.9156534321257355e-5,-6.064588141621515e-8,0.004320282432594846,1.8890460254098007e-5,-6.006610839445816e-8,0.00432096924731175,1.8786257539194468e-5,-5.983551079099197e-8,0.004321623889974825,1.8848028753740572e-5,-5.996331107102821e-8,0.004322174856199251,1.9029232241916958e-5,-6.03494594472305e-8,0.004322587553187694,1.9254995930678356e-5,-6.083272565155132e-8,0.004322867520357473,1.9450265918529555e-5,-6.125132934634046e-8,0.004323049667978551,1.956007946768571e-5,-6.148655784160723e-8,0.004323182862961931,1.9557648041747735e-5,-6.148015369528662e-8,0.004323316556168647,1.9443050480583164e-5,-6.123159791433297e-8,0.004323491840940722,1.9237131005163212e-5,-6.0785188942898e-8,0.004323736659978244,1.8974013586600857e-5,-6.021415798447603e-8,0.00432406401637427,1.8693883726101143e-5,-5.960523413418266e-8,0.004324472264424686,1.8436553474490432e-5,-5.904470094336049e-8,0.004324946983099295,1.8236033860153257e-5,-5.860648003866715e-8,0.004325464084859797,1.811635649105119e-5,-5.8342897748555724e-8,0.004325993794135984,1.8088868183602328e-5,-5.8278740560323874e-8,0.004326505053826906,1.8151193617222837e-5,-5.84090469392405e-8,0.004326969827564337,1.8287871460248693e-5,-5.870057233852731e-8,0.004327366867667058,1.8472348280178974e-5,-5.909613070587311e-8,0.004327684784604043,1.8669955227489085e-5,-5.952094345795759e-8,0.004327924409123366,1.8841706401499647e-5,-5.989069354469142e-8,0.004328100446453682,1.8948978694444737e-5,-6.012153384588638e-8,0.004328242207755195,1.8959396499784854e-5,-6.014285604854431e-8,0.00432839251061342,1.8854306712077532e-5,-5.991366270790545e-8,0.004328602976287375,1.8637363771232864e-5,-5.9441399495521534e-8,0.004328923808193235,1.834172061702968e-5,-5.879768517306489e-8,0.0043293877420519525,1.803074398317214e-5,-5.8119858923673065e-8,0.004329992303019424,1.7786082973530267e-5,-5.7585025996974733e-8,0.0043306904239555155,1.768141014178147e-5,-5.735306902442807e-8,0.004331400140317573,1.7751344357086818e-5,-5.749928204325917e-8,0.00433203358321681,1.797402614272783e-5,-5.79766211094402e-8,0.004332530332663138,1.828016466901793e-5,-5.8635303908857e-8,0.004332875915402321,1.858298602165903e-5,-5.928765562337491e-8,0.00433309804217549,1.8810034258350935e-5,-5.977689798049865e-8,0.004333248483983109,1.8921204984793378e-5,-6.001607106531904e-8,0.00433338344031064,1.891050947589809e-5,-5.999178553599807e-8,0.004333550076056095,1.879802272931174e-5,-5.974688447449809e-8,0.00433378028617974,1.8619161178224815e-5,-5.935746777534596e-8,0.004334089547866698,1.841532739235039e-5,-5.891288378805079e-8,0.004334478361386218,1.8227051919153682e-5,-5.8500987248132956e-8,0.004334934676237755,1.8089192813388756e-5,-5.819765687811798e-8,0.004335436753461419,1.8027479513569926e-5,-5.805910095808496e-8,0.0043359564346629785,1.805604332199269e-5,-5.8116315662884676e-8,0.004336462854060841,1.8175905259323786e-5,-5.837173979925861e-8,0.0043369265589401195,1.8374650843245116e-5,-5.8798606028170783e-8,0.0043373237749320314,1.8627644789034814e-5,-5.9343665372251605e-8,0.004337640287689868,1.8900903887741546e-5,-5.993342885257249e-8,0.004337874393414731,1.915541028175581e-5,-6.0483416036833585E-08,0.004338038508031595,1.935252810257927e-5,-6.090974291052553e-8,0.004338159117798005,1.9460134108828392e-5,-6.114232980148806e-8,0.004338274774933433,1.9459013263327866e-5,-6.113884811203717e-8,0.004338431681466829,1.9348999136279857e-5,-6.089826911602292e-8,0.004338676165081497,1.9153806772625883e-5,-6.047161761109011e-8,0.004339043688685932,1.8922294391678095e-5,-5.996487910391701e-8,0.004339545635601907,1.872276095381814e-5,-5.952661815361361e-8,0.004340158161930944,1.8627380820978457e-5,-5.9314042383671195e-8,0.004340820587457169,1.8688023122385006e-5,-5.944030774359304e-8,0.0043414499059315215,1.8912570225124942e-5,-5.992294543545765e-8,0.004341969354982378,1.9256317958197064e-5,-6.066513104038634e-8,0.00434233727438235,1.963727956575248e-5,-6.148895689362684e-8,0.004342559700425284,1.9968375421524345e-5,-6.22053917653275e-8,0.004342681194553419,2.0187890581981525e-5,-6.268039485374884e-8,0.004342762928135588,2.0273446998614515e-5,-6.286515201466919e-8,0.004342861762115175,2.0238340874590014e-5,-6.278807051788223e-8,0.0043430181177510525,2.0118621313219873e-5,-6.25268278416331e-8,0.004343252686041884,1.9959504096147545e-5,-6.217910056180777e-8,0.004343568466291725,1.9805367104343365e-5,-6.184105171446118e-8,0.004343954731686096,1.9693836953182042e-5,-6.159455561595036e-8,0.004344390973704534,1.9652723436851773e-5,-6.150043408182522e-8,0.004344850331140559,1.969838524407601e-5,-6.159471002910778e-8,0.004345302792489047,1.9834740731576415e-5,-6.188629404236862e-8,0.004345718569954192,2.0052786388798823e-5,-6.235588467085406e-8,0.004346071890108299,2.0330942481172956e-5,-6.295676357140448e-8,0.004346345120939216,2.0636843362656404e-5,-6.361874562488397e-8,0.004346532649407227,2.0931092520010435e-5,-6.425633112670948e-8,0.004346643556812209,2.1172987348254808e-5,-6.478105282775598e-8,0.004346702139067369,2.1327622981692872e-5,-6.511679997367014e-8,0.004346745608778673,2.137326837845882e-5,-6.521581332631904e-8,0.004346818808370958,2.130755124320618e-5,-6.507223672428581e-8,0.004346966320702236,2.1150975510158874e-5,-6.472999399619078e-8,0.004347222824520035,2.0946473775532036e-5,-6.428207114555517e-8,0.004347603087958219,2.0753784072168932e-5,-6.385844812624413e-8,0.004348093942432825,2.0637814013072452e-5,-6.36007815326696e-8,0.004348651739160019,2.0651659508830847e-5,-6.36252925003523e-8,0.0043492091234758985,2.0818025289423062e-5,-6.398208836552688e-8,0.004349692649033529,2.1116545144798856e-5,-6.462735152225057e-8,0.004350046851532632,2.148558579412229e-5,-6.542717677117046e-8,0.004350254077818288,2.1841590704683874e-5,-6.619972247540033e-8,0.004350339218690546,2.2108334127427978e-5,-6.677897296497183e-8,0.0043503570289232605,2.2241363549602545e-5,-6.706795464383658e-8,0.004350370300956235,2.2236598604831392e-5,-6.705740408002692e-8,0.004350430646805905,2.2122994339245096e-5,-6.680980212150948e-8,0.004350568672542956,2.1947338186704e-5,-6.642641374111236e-8,0.004350793241612556,2.1759652050497017e-5,-6.601571687264844e-8,0.0043510958731244245,2.1603418432720286e-5,-6.567227801223937e-8,0.004351456464205779,2.1510811396030194e-5,-6.546638399293138e-8,0.004351848247956533,2.1501213936502228e-5,-6.544069492800358e-8,0.004352241536665431,2.1581184167779784e-5,-6.560999904068952e-8,0.00435260671995346,2.174478040527643e-5,-6.596178678053824e-8,0.004352917203110646,2.1974004373243897e-5,-6.645716600620018e-8,0.004353152776554337,2.2239771173006768e-5,-6.70329889115276e-8,0.0043533034557195595,2.250423557099356e-5,-6.760694213289382e-8,0.004353373159793762,2.2725320394767957e-5,-6.808739588456914e-8,0.004353381934028024,2.2863721397970617e-5,-6.838860655220757e-8,0.004353365144473504,2.2891593869259356e-5,-6.844958399294913e-8,0.004353368520464555,2.2800891768739177e-5,-6.825225963723115e-8,0.004353439178980252,2.2608536352457108e-5,-6.783284315230564e-8,0.004353614398994551,2.235592337679717e-5,-6.728093363331758e-8,0.004353911091254241,2.210179351953395e-5,-6.672420060605343e-8,0.004354319093981324,2.1909457854221882e-5,-6.63007028625976e-8,0.00435480070535855,2.183105798865961e-5,-6.612459579585697e-8,0.004355297564439238,2.1892701313526038e-5,-6.62535720399581e-8,0.004355744274261172,2.208486894760374e-5,-6.666768156040473e-8,0.004356085988373349,2.2362140804206785e-5,-6.72684784304803e-8,0.004356294790867451,2.265429960519879e-5,-6.790310472655907e-8,0.004356378446729466,2.2886711643210605e-5,-6.840875002736263e-8,0.004356377083974059,2.300287959510685e-5,-6.866191818023424e-8,0.004356348835649946,2.2979906602058662e-5,-6.861222380829316e-8,0.004356351070803769,2.283100298627068e-5,-6.828791603511024e-8,0.0043564253033482265,2.2596103437619816e-5,-6.777550831067574e-8,0.004356590438485916,2.232692894571213e-5,-6.71873398673657e-8,0.004356843977258533,2.207328036231141e-5,-6.663181407464889e-8,0.00435716773989199,2.1874255200302816e-5,-6.619429149558181e-8,0.0043575345277402245,2.17545974438534e-5,-6.592907552880914e-8,0.00435791364940389,2.1724473774609717e-5,-6.585880479157714e-8,0.004358274835255978,2.1780736857639492e-5,-6.597708420358102e-8,0.00435859102021611,2.190842428008057e-5,-6.625166759485598e-8,0.004358840788105637,2.2082124326210005e-5,-6.66273960160543e-8,0.004359011140673432,2.2267590761594875e-5,-6.702970759557112e-8,0.004359100770459174,2.2424521416654e-5,-6.737069654700543e-8,0.0043591232349589806,2.2511572931629804e-5,-6.756005138998922e-8,0.004359108521787183,2.2494178942973776e-5,-6.752211476792377e-8,0.004359100878157092,2.235434252364082e-5,-6.721725820444066e-8,0.004359151203790916,2.209952344550378e-5,-6.666129656422452e-8,0.004359304391648528,2.1766202486049173e-5,-6.59333189575158e-8,0.004359585156155929,2.141440124607869e-5,-6.516384241477555e-8,0.004359988028082468,2.1112991988769316e-5,-6.450292098818624e-8,0.004360476321122433,2.0920264451710092e-5,-6.407788779132097e-8,0.004360991139310915,2.0866833130000284e-5,-6.395608344448584e-8,0.0043614672632936585,2.094691373648151e-5,-6.412567446990825e-8,0.00436185047259702,2.1120373710730043e-5,-6.449986452881506e-8,0.004362111124733698,2.1324180464702604e-5,-6.4941620161576e-8,0.004362250570187353,2.1489435250093217e-5,-6.53007002748905e-8,0.004362299121386524,2.155913544719217e-5,-6.54524253343876e-8,0.004362306490900004,2.1501808725852057e-5,-6.532755100187959e-8,0.004362327761153033,2.131732881203479e-5,-6.492513324816661e-8,0.0043624093738372635,2.103373524474476e-5,-6.430576510522246e-8,0.0043625793884881775,2.0697054625575986e-5,-6.356950528095524e-8,0.004362844207020741,2.0358383999011046e-5,-6.282776240788013e-8,0.004363191208127825,2.006260880711081e-5,-6.217865603614356e-8,0.004363594835992581,1.984133466131531e-5,-6.169150041406605e-8,0.004364023394089613,1.971031936272081e-5,-6.140108548051583e-8,0.004364444713893855,1.9670147056786693e-5,-6.130906149278202e-8,0.004364830116595006,1.9708457183723877e-5,-6.13887614197793e-8,0.004365157008842049,1.9802456355045293e-5,-6.159066614971228e-8,0.0043654108447642925,1.9921222630134676e-5,-6.184741174273681e-8,0.004365587133171469,2.002805687530203e-5,-6.207888714985402e-8,0.004365693773882021,2.0083687956816993e-5,-6.219920719112305e-8,0.004365753261816067,2.0051413982690625e-5,-6.21279557727769e-8,0.004365803266929434,1.990492580654581e-5,-6.18073352015643e-8,0.004365893211815998,1.963812772857377e-5,-6.122369196067238e-8,0.00436607468587738,1.9273718051626967e-5,-6.042630561545666e-8,0.004366386030933518,1.8864892817626648e-5,-5.953112197574838e-8,0.004366836077417156,1.8485075349996475e-5,-5.869834534688314e-8,0.004367395636384049,1.8206114824510273e-5,-5.808489610024617e-8,0.0043680034475078715,1.807342018736887e-5,-5.779018629925774e-8,0.004368585429190273,1.8090183319349116e-5,-5.7821670584522674e-8,0.004369078205338029,1.8218018646954217e-5,-5.8096130493753056e-8,0.004369446485515545,1.8391914972714372e-5,-5.8472137246485704e-8,0.00436968898915749,1.854111673960781e-5,-5.879546235081837e-8,0.004369833869388169,1.8607666783746486e-5,-5.893945230499611e-8,0.004369927829734204,1.8558083076927652e-5,-5.883053071818364e-8,0.0043700232722843815,1.8387261432697222e-5,-5.845686139765173e-8,0.004370166642890487,1.8115771799109823e-5,-5.78626810222891e-8,0.004370389908592708,1.778250420799372e-5,-5.7132479090411445e-8,0.004370706190176643,1.7434832951346612e-5,-5.63696521066772e-8,0.004371109765100231,1.7118586178875612e-5,-5.5674571774707e-8,0.00437157972214823,1.6869939219546253e-5,-5.5126719806860253e-8,0.004372085769119738,1.671054970042191e-5,-5.477386649502183e-8,0.004372594495239376,1.6646123535862942e-5,-5.462880762363998e-8,0.004373074761423813,1.6667710334556395e-5,-5.467217352867607e-8,0.004373501568673639,1.675457816700928e-5,-5.485876153998176e-8,0.004373858478157565,1.687756120804058e-5,-5.5124896858937915e-8,0.004374139111879542,1.7002287531392034e-5,-5.5395470307775045e-8,0.0043743482958161295,1.7092346989803696e-5,-5.559079621301812e-8,0.004374503133939031,1.7112951246571128e-5,-5.5634563689226273e-8,0.004374633720251839,1.7035925052044434e-5,-5.546478116239983e-8,0.00437478225005965,1.6846665517467146e-5,-5.504911354774486e-8,0.0043749983953135655,1.6552475631203626e-5,-5.440324873724291e-8,0.004375328872488854,1.618927976830758e-5,-5.360566541222857e-8,0.0043758013925030695,1.5821068508656155e-5,-5.2796405543630164e-8,0.004376408267399701,1.552634116046679e-5,-5.214735730105396e-8,0.004377099954417064,1.5371900421595234E-05,-5.180488666204743e-8,0.004377797060914417,1.5385036173928835e-5,-5.182897065432117e-8,0.004378418187720637,1.5540645773084347e-5,-5.2165003016123936e-8,0.004378909008357041,1.5771884933839974e-5,-5.266706122898232e-8,0.0043792572209281865,1.599719360222389e-5,-5.315697219265368e-8,0.004379488986244382,1.6147744983164754e-5,-5.34842622002332e-8,0.004379653735493992,1.6183696763184442e-5,-5.356159676976171e-8,0.004379807029548539,1.6097454183882332e-5,-5.337188796430934e-8,0.004379997377027852,1.5908215829117925e-5,-5.2956489809098333e-8,0.004380258535441446,1.5652790384862128e-5,-5.239536296392365e-8,0.004380606499311609,1.5376010872551103e-5,-5.178635373794103e-8,0.00438103981704955,1.5122274389860483e-5,-5.122678455064238e-8,0.0043815422062817,1.4928716380928159e-5,-5.079841505994918e-8,0.0043820867949589636,1.4820349015323273e-5,-5.055656434916802e-8,0.004382641303252554,1.4807475268811135e-5,-5.052422039228374e-8,0.004383173380248949,1.4885420145896664e-5,-5.0691348370280644e-8,0.004383655356796422,1.5036302184118528e-5,-5.1018815625741976e-8,0.004384067847834171,1.5232293344004387e-5,-5.144564428159387e-8,0.0043844019828522774,1.543961315370945e-5,-5.1897827868784535e-8,0.004384660446837142,1.5622634657119858e-5,-5.229728990740927e-8,0.0043848576711448175,1.5747902572815793e-5,-5.257058563354719e-8,0.0043850193932531934,1.5788236658408824e-5,-5.2657827564574646e-8,0.0043851814481957125,1.572732220635757e-5,-5.252279948825495e-8,0.004385386970873339,1.5565072314536914e-5,-5.216487783723147e-8,0.004385680534183977,1.532309143986357e-5,-5.163119876709418e-8,0.004386097920633204,1.5047759637200314e-5,-5.102352030618483e-8,0.004386652021040343,1.4806503360449029e-5,-5.0490006751438264e-8,0.004387319473877426,1.4672634763753373e-5,-5.019184730718326e-8,0.004388037475553013,1.4699180145777687e-5,-5.024571194944651e-8,0.004388719358254085,1.4892581471994294e-5,-5.066597535539156e-8,0.004389286252243407,1.5203884862031068e-5,-5.1345376667470573e-8,0.00438969797548042,1.5546829342512437e-5,-5.209476228885879e-8,0.004389964650890107,1.583302129175502e-5,-5.272030351592314e-8,0.004390134913807563,1.6002864742013964e-5,-5.309129370757188e-8,0.004390272271287374,1.6037840528340582e-5,-5.3166940446750974e-8,0.004390434097429688,1.595511112825302e-5,-5.298445643173724e-8,0.004390660057645578,1.579392903294117e-5,-5.262936255347156e-8,0.004390969109008046,1.5602006407262715e-5,-5.220585215637865e-8,0.0043913615412258964,1.542537772061049e-5,-5.1814795817357e-8,0.004391823037389939,1.5302039558842245e-5,-5.153985439117854e-8,0.004392329121287766,1.5258332624760626e-5,-5.143939304550827e-8,0.004392849551497714,1.5307073316800725e-5,-5.1542117695367437e-8,0.004393352682154456,1.54470359086033e-5,-5.18457185429351e-8,0.00439380971458905,1.566375392426153e-5,-5.23185628529972e-8,0.004394198597306122,1.5931683059558592e-5,-5.2904527284831545e-8,0.004394507186734965,1.621768345692803e-5,-5.353077333402549e-8,0.004394735227108045,1.6485492657756142e-5,-5.411762647781867e-8,0.004394894902223298,1.6700626893534787e-5,-5.45892803278868e-8,0.004395009971871057,1.6835218512750443e-5,-5.48843068576531e-8,0.004395113603586854,1.687246367982367e-5,-5.496537371682426e-8,0.004395244949411491,1.6810475067017456e-5,-5.482779901120044e-8,0.0043954442427448425,1.6665347947444088e-5,-5.450649984627839e-8,0.004395745883391455,1.6472740140844224e-5,-5.407968384406357e-8,0.0043961693024316155,1.6286178870649144e-5,-5.366522773031633e-8,0.0043967088244268844,1.616943709032258e-5,-5.340384348847231e-8,0.00439732633496883,1.6180870696195093e-5,-5.342443633742838e-8,0.004397953375547895,1.635135413255929e-5,-5.379535836427356e-8,0.0043985084347460835,1.6664842817597192e-5,-5.448152340898046e-8,0.004398926535594353,1.7055762545965226e-5,-5.533868602056141e-8,0.004399186184162931,1.7430878674003617e-5,-5.616169045398201e-8,0.004399316502889809,1.7706012639717648e-5,-5.676535310620799e-8,0.004399380619391071,1.7836085828877507e-5,-5.7050496127308454e-8,0.0043994479138703985,1.782330059445976e-5,-5.70217692683362e-8,0.004399571685962228,1.7705329205192075e-5,-5.676158687960766e-8,0.004399779842592975,1.7535919356775476e-5,-5.6387604272475e-8,0.004400076250313624,1.736849329520766e-5,-5.601691660456328e-8,0.0044004470021380936,1.7246443601718784e-5,-5.574493496590799e-8,0.0044008672958289925,1.7199144884804796e-5,-5.5636639903815625e-8,0.004401307044890794,1.724130099925887e-5,-5.572497188992369e-8,0.00440173510197177,1.737368836590099e-5,-5.6012208288017816e-8,0.004402122691783258,1.7584415933249197e-5,-5.6472543144591716e-8,0.004402446537357039,1.785064042267672e-5,-5.705582151470724e-8,0.004402691816659508,1.8141037663291022e-5,-5.7693066337959046e-8,0.004402854735432183,1.841939830699297e-5,-5.8304506128850546e-8,0.0044029441466111215,1.86494319283523e-5,-5.88101859483882e-8,0.004402981550175842,1.8800342453498846e-5,-5.914217622460607e-8,0.004402999067764595,1.8852377164001726e-5,-5.925669183407802e-8,0.004403035359985339,1.8801411674438728e-5,-5.914416507577008e-8,0.0044031298139103415,1.866162281600663e-5,-5.883524829467042e-8,0.004403315601073636,1.8465518632622366e-5,-5.8401102927705954e-8,0.004403612303337892,1.8260820798133723e-5,-5.794674902359043e-8,0.00440401903455858,1.810360352195355e-5,-5.7596036212635465e-8,0.004404509752154576,1.8047165882872968e-5,-5.746702598309528e-8,0.004405033516436402,1.812725114889848e-5,-5.763917890945277e-8,0.004405522902615492,1.834684093381671e-5,-5.8119578846809494e-8,0.0044059119457882465,1.866727755270758e-5,-5.8823215461512124e-8,0.004406159440016461,1.9013925428711905e-5,-5.958550245976834e-8,0.004406266628248096,1.9299284542711648e-5,-6.021339687547807e-8,0.004406277737108989,1.945484969608813e-5,-6.055575571644973e-8,0.004406261496645234,1.9454837423611572e-5,-6.055559500071444e-8,0.004406284449775708,1.9319660877416878e-5,-6.025761062267969e-8,0.00440639062788073,1.910099176720538e-5,-5.977521664665257e-8,0.004406594829344743,1.886022453602534e-5,-5.924323335780905e-8,0.004406887078573716,1.8651292088100253e-5,-5.878025539400848e-8,0.004407241761031286,1.8511880264080445e-5,-5.846944211875105e-8,0.0044076263524043535,1.8461551898719056e-5,-5.835435137480919e-8,0.0044080076754981525,1.8503530268696664e-5,-5.8442683603324096e-8,0.00440835579500999,1.862755742929406e-5,-5.871235534719573e-8,0.004408646532290339,1.881262321625275e-5,-5.911736690258402e-8,0.004408863496128932,1.9029458207028737e-5,-5.959328119831901e-8,0.004409000066919958,1.924325840921723e-5,-6.006330961355848e-8,0.004409061253908856,1.9417302526743488e-5,-6.044637646552229e-8,0.004409064800155661,1.9517894893698925e-5,-6.066804549783033e-8,0.00440904055014602,1.9520391771617026e-5,-6.067376479634501e-8,0.004409027212339246,1.9415263477098266e-5,-6.044217579738232e-8,0.004409066265143777,1.9212538136596372e-5,-5.99949182565613e-8,0.004409193715141178,1.8942795303234154e-5,-5.939893403493536e-8,0.0044094314113227616,1.865344497733075e-5,-5.875845298339941e-8,0.004409780143242562,1.8400286623901103e-5,-5.8196555817766816e-8,0.004410216569539457,1.8235638567657733e-5,-5.782905216370578e-8,0.004410695422717016,1.8195238170461436e-5,-5.773546974239403e-8,0.004411157650944433,1.8286844900537162e-5,-5.7933659296607315e-8,0.004411543971861461,1.8484117436023682e-5,-5.836601541020027e-8,0.004411811395675748,1.8729348317482946e-5,-5.890535923731313e-8,0.004411947793992804,1.89470109132833e-5,-5.938486561457419e-8,0.0044119780011767805,1.906592214848751e-5,-5.964712702981143e-8,0.004411956808968038,1.9042277832868503e-5,-5.9595124411453214e-8,0.004411950401682743,1.8873156757466962e-5,-5.92220569871064e-8,0.004412014554899769,1.8594182067809693e-5,-5.8606156280090905e-8,0.004412179536671111,1.8263848967560027e-5,-5.7876134214088945e-8,0.0044124466739733125,1.7943581917926447e-5,-5.716729690606632e-8,0.004412794575472388,1.7682304086576782e-5,-5.6587619247160394e-8,0.004413189368832398,1.7509204078874898e-5,-5.6201810628385806e-8,0.004413594086340192,1.743345530047553e-5,-5.603059765879325e-8,0.004413975065031127,1.7447630029714103e-5,-5.605809066694707e-8,0.004414305472350097,1.7532025516451413e-5,-5.6241179923360305e-8,0.004414567041261399,1.7658503065552773e-5,-5.651793566777759e-8,0.004414751115520992,1.779363418722658e-5,-5.681456751260478e-8,0.004414859663338807,1.7901658854669397e-5,-5.7052019121006296e-8,0.0044149062993784445,1.794805755027884e-5,-5.7153915757579485e-8,0.004414916691840586,1.7904389601374315e-5,-5.7057269944060924e-8,0.004414927200000021,1.77543682378513e-5,-5.672588204884182e-8,0.0044149804922138025,1.750003314877578e-5,-5.616395099473292e-8,0.00441511759337999,1.7165714561544804e-5,-5.542484487782527e-8,0.004415367428776234,1.679696126662312e-5,-5.460881274387819e-8,0.0044157368984729635,1.64525946058128e-5,-5.3845568238601775e-8,0.0044162055472075626,1.6190716787134946e-5,-5.3263516737987664e-8,0.004416727899593218,1.6052589799655223e-5,-5.295419024084609e-8,0.0044172437234548155,1.6049869174066154e-5,-5.294395078197559e-8,0.004417693384688244,1.615974344870538e-5,-5.3183040430361466e-8,0.004418033663467096,1.6329784446188893e-5,-5.355607037861073e-8,0.004418249405605174,1.6491255741248804e-5,-5.391129234465096e-8,0.004418357633513688,1.657727659886784e-5,-5.41007360539825e-8,0.004418402673640693,1.6540796109409133e-5,-5.4020027084270734e-8,0.004418443391223361,1.636694373579072e-5,-5.3635805163711675e-8,0.004418536429934856,1.6075637077552477e-5,-5.2991599870440183e-8,0.004418721153570862,1.5713686813819345e-5,-5.219048380509432e-8,0.004419011327149181,1.5339827180016276e-5,-5.136208116526004e-8,0.004419395436149071,1.5008693642004086e-5,-5.062720950800594e-8,0.004419843763828487,1.475917925423041e-5,-5.0072119853676645e-8,0.004420318190940414,1.4609543041482485e-5,-4.973758066953034e-8,0.004420781006999231,1.455837640529271e-5,-4.9620879180614367e-8,0.004421200875707693,1.4588855571197866e-5,-4.9685116993361385e-8,0.004421555921818236,1.4673832615992423e-5,-4.9870423302738325e-8,0.004421834861138942,1.4780363310829798e-5,-5.0103979045361175e-8,0.004422037237442245,1.4873349197413976e-5,-5.030810679146616e-8,0.0044221735003303324,1.4918708687383351e-5,-5.0407314602882546e-8,0.004422265076734925,1.488684665139391e-5,-5.0335987892971714e-8,0.004422343894139628,1.4757129675741033e-5,-5.004829930915722e-8,0.004422450182798508,1.4523472760162985e-5,-4.953057889944237e-8,0.004422627129488367,1.4199935359410018e-5,-4.8813710361903955e-8,0.004422911606825086,1.382367526534905e-5,-4.7979688149729203e-8,0.004423322237828266,1.3451651182103001e-5,-4.715436315562399e-8,0.00442384901396835,1.3148639319550321e-5,-4.6480995689175956e-8,0.004424450465700748,1.2968277830758903e-5,-4.6078384882655163e-8,0.004425062411682258,1.2934115116972632e-5,-4.599895383332543e-8,0.004425616532075163,1.3029713949506274e-5,-4.620678002907812e-8,0.00442606125460747,1.3203026493029452e-5,-4.658713648167632e-8,0.004426376247492937,1.3382921571667098e-5,-4.698291956016331e-8,0.0044265757656095205,1.3500398155340669e-5,-4.7241493967355725e-8,0.0044267015746751685,1.3506656906523134e-5,-4.7254652877251136e-8,0.004426809564985756,1.3383317501207797e-5,-4.698127400556689e-8,0.004426954798878417,1.3143641854113754e-5,-4.645015416988944e-8,0.004427178862902963,1.282611238434304e-5,-4.574598280569655e-8,0.004427502065621027,1.248309395401886e-5,-4.498442593684408e-8,0.004427921557662274,1.2167909243147152e-5,-4.4283605507852286e-8,0.0044284149290582065,1.1923590626574095e-5,-4.373914849628887e-8,0.004428947492553156,1.1775726251332769e-5,-4.340818287378602e-8,0.0044294807498054785,1.1730276245194692e-5,-4.330431159108967e-8,0.00442997978210213,1.1775616157272551e-5,-4.3402016286169154e-8,0.004430418284203898,1.1887104697408922e-5,-4.3646763807176316e-8,0.004430781078167451,1.2032394059880673e-5,-4.396683813881441e-8,0.004431064723837474,1.2176260557030221e-5,-4.428411771350637e-8,0.0044312770935376515,1.228454666456542e-5,-4.452283720664672e-8,0.004431436570445023,1.2327479539015128e-5,-4.4616919616307796e-8,0.004431571073044788,1.2282959424570596e-5,-4.451723465126646e-8,0.004431716519505703,1.2140402085948442e-5,-4.420012359781004e-8,0.004431913708413011,1.190525144918933e-5,-4.367745401611296e-8,0.004432202271488714,1.1603137979985335e-5,-4.3005902031456583e-8,0.00443261096494701,1.128105558813796e-5,-4.228959825337529e-8,0.004433145658560025,1.1001798769206879e-5,-4.166779716993523e-8,0.004433779801368679,1.082900401217352e-5,-4.12817006687968e-8,0.004434454646972603,1.0805123199301839e-5,-4.122560821070611e-8,0.004435094025680583,1.093179184586048e-5,-4.1503363883340675e-8,0.004435629850168535,1.1164738583475233e-5,-4.20170322203088e-8,0.004436026030782993,1.1428372850655338e-5,-4.259921088755147e-8,0.004436288544140871,1.1642827137621819e-5,-4.30729574358741e-8,0.00443645852333741,1.1749408550127374e-5,-4.33081550485094e-8,0.004436594888881352,1.1724150687214207e-5,-4.3251474414460785e-8,0.004436755874140951,1.1577909422798677e-5,-4.292656969019233e-8,0.00443698556045168,1.134743368171151e-5,-4.241440383930332e-8,0.004437307141160754,1.1082923092713402e-5,-4.1825890935872864e-8,0.004437722000943753,1.0835997728485317e-5,-4.1275427325207346e-8,0.004438212894918262,1.0650076781292515e-5,-4.0859608303239765e-8,0.004438749638289341,1.055393982394728e-5,-4.0642808497137944e-8,0.004439295959152751,1.0558721353467244e-5,-4.065026502851615e-8,0.004439816265453436,1.065819146280534e-5,-4.0868482817672476e-8,0.004440281272009354,1.0831676496297347e-5,-4.1251640135869176e-8,0.004440671831938921,1.1048643543678123e-5,-4.173183848769729e-8,0.004440980777783971,1.1273898329578631e-5,-4.2230779881881195e-8,0.00444121303269828,1.1472474912977608e-5,-4.267071508775094e-8,0.004441384565236301,1.1613723431763203e-5,-4.298351149337096e-8,0.004441520716355006,1.1674659260946504e-5,-4.311801611635916e-8,0.004441654103827259,1.1642927188475744e-5,-4.304658575328331e-8,0.004441821893723169,1.151970903380154e-5,-4.277157863485106e-8,0.004442061733825511,1.1322569755221519e-5,-4.2331789891194374e-8,0.004442405367359218,1.1087324544257746e-5,-4.1806717475930976e-8,0.004442869542993695,1.0866655575333044e-5,-4.1313536007648224e-8,0.004443445735403163,1.0722317764963522e-5,-4.0989728756109695e-8,0.004444093284368835,1.0708865030730829e-5,-4.0956817567218523e-8,0.0044447430760904995,1.085167507562386e-5,-4.127142029165161e-8,0.004445316435740319,1.1129602124610225e-5,-4.1886642259513546e-8,0.004445754128237322,1.1475626607160576e-5,-4.2653546623268654e-8,0.004446040101964218,1.180003031512926e-5,-4.3372752883896014e-8,0.004446205530673317,1.2024629257590159e-5,-4.387057130415036e-8,0.004446312162708855,1.2108771182796773e-5,-4.405669777283164e-8,0.004446427135514646,1.2055740045207085e-5,-4.3938284164400834e-8,0.004446602819718554,1.1902415131929761e-5,-4.3596893302424874e-8,0.004446867462772274,1.1702280581489064e-5,-4.3150880569211476e-8,0.00444722502652385,1.1510013581017392e-5,-4.272141346034424e-8,0.004447660112373166,1.1371009258943887e-5,-4.240940734950581e-8,0.004448144592351008,1.1315808141326373e-5,-4.228315760058449e-8,0.00444864413440166,1.1358103698667109e-5,-4.237371725707588e-8,0.004449124029971733,1.1495141539025288e-5,-4.2675501313854964e-8,0.004449554153193063,1.1709878328814522e-5,-4.315087896932633e-8,0.004449912835517964,1.1974488478859295e-5,-4.373794004970734e-8,0.004450189440411732,1.2254789064169708e-5,-4.4360459045246395e-8,0.004450385488268202,1.2515133469631053e-5,-4.493894052335691e-8,0.004450514285615522,1.2723218588808307e-5,-4.540139076746559e-8,0.004450599251519201,1.285424788009527e-5,-4.569253626675187e-8,0.0044506713012207,1.2894201090678989e-5,-4.578100104332719e-8,0.004450765540459394,1.2842246866083047e-5,-4.5664633203186566e-8,0.004450917284953617,1.2712332911019386e-5,-4.537412450667041e-8,0.004451157155322636,1.2533780867555994e-5,-4.497450577626395e-8,0.004451504873237557,1.2350163721766086e-5,-4.45628020467471e-8,0.004451961919675364,1.2214876307893983e-5,-4.425820466465791e-8,0.004452504731610211,1.218142064773772e-5,-4.418032467973815e-8,0.004453082319776596,1.2287689702351628e-5,-4.441399178406356e-8,0.0044536237576869794,1.2537566429059222e-5,-4.496809227303929e-8,0.004454058600129623,1.2889221277017663e-5,-4.5749448011482285e-8,0.004454344557171657,1.3261764007055407e-5,-4.657774011379726e-8,0.004454487209756872,1.356321056345686e-5,-4.724799032523849e-8,0.004454537817108847,1.3726577222573843e-5,-4.761103975360433e-8,0.004454569953530231,1.3733042945322505e-5,-4.762500825386583e-8,0.0044546503114754445,1.3611019367534598e-5,-4.7353008192290663e-8,0.004454819540444871,1.3417353161617989e-5,-4.692121901981639e-8,0.004455088006355839,1.3214963151419203e-5,-4.6469264458608674e-8,0.0044554417320164475,1.3056798315819873e-5,-4.6114776888332594e-8,0.00445585181070049,1.2978205618864193e-5,-4.5936593073707565e-8,0.004456283063848414,1.2995515360089378e-5,-4.597157388372203e-8,0.004456700455403941,1.3107894323916252e-5,-4.621850553884396e-8,0.0044570734879752745,1.3300386432833933e-5,-4.664459015113946e-8,0.004457379329847273,1.354733210799182e-5,-4.719288460843296e-8,0.004457605083715164,1.381611653844664e-5,-4.779065425340231e-8,0.004457749208594007,1.4071308351959136e-5,-4.835873390854053e-8,0.004457821935847933,1.4279162754995978e-5,-4.882171487818592e-8,0.004457844413589892,1.4412244841220207e-5,-4.9118304592704225e-8,0.004457846392811299,1.4453606997495086e-5,-4.9210578647334747e-8,0.004457862579541846,1.4399892313824196e-5,-4.909080557286075e-8,0.004457928006711199,1.4262935015950712e-5,-4.878499921089497e-8,0.0044580728160356475,1.406956442522464e-5,-4.835259699152093e-8,0.004458316817654614,1.385936585539174e-5,-4.7881662798881046e-8,0.004458664213340158,1.3680097018682372e-5,-4.7478820736234354e-8,0.004459099197509258,1.3580228791160693e-5,-4.725262339870064e-8,0.004459584026033035,1.3598195514992196e-5,-4.728940689142557e-8,0.004460062199621417,1.3749252092781208e-5,-4.762371409222547e-8,0.0044604695823886415,1.4013664681784223e-5,-4.8211740969940616e-8,0.004460753777901616,1.4333327715772738e-5,-4.8923755358978294e-8,0.004460895857321044,1.4624178301927179e-5,-4.957195585635171e-8,0.00446092230560696,1.4804495669279922e-5,-4.997383459421404e-8,0.004460896977374359,1.4826692738442146e-5,-5.002318300311229e-8,0.004460895349738283,1.4694329378561483e-5,-4.972790533985917e-8,0.004460976016780967,1.4455254987504552e-5,-4.919452719357374e-8,0.0044611646111219405,1.4178234027314433e-5,-4.857603680579923e-8,0.004461454185855782,1.3928460573193122e-5,-4.801746458935442e-8,0.0044618157539403095,1.3752419469232318e-5,-4.7622364855750946e-8,0.0044622107137216325,1.3673354803297678e-5,-4.7442825841443116e-8,0.00446260043945746,1.369354382664959e-5,-4.7484455725649896e-8,0.004462952022908023,1.3799219006272274e-5,-4.7717131725367e-8,0.004463241121058138,1.3965553328710682e-5,-4.8085882901992276e-8,0.004463453324834858,1.4160873361938923e-5,-4.852016867099879e-8,0.0044635849469705675,1.435036495631774e-5,-4.894218569650978e-8,0.004463643417515637,1.4499782775240661e-5,-4.9275285274911396e-8,0.004463647051016639,1.4579493829923948e-5,-4.945312739285398e-8,0.004463623708041326,1.456882906403381e-5,-4.9429429021382195e-8,0.004463607842406662,1.4460176219189537e-5,-4.918704040982184e-8,0.0044636357910401445,1.4261818394534823e-5,-4.874420470914212e-8,0.0044637397511841466,1.3998495202235436e-5,-4.815581116683994e-8,0.004463941391235043,1.3708962880863763e-5,-4.7508063679370155e-8,0.004464246337336341,1.3440376771153735e-5,-4.6906117413019404e-8,0.0044646407956383674,1.3240001878015215e-5,-4.645569825673976e-8,0.004465091381001237,1.3145269848031426e-5,-4.624087973870854e-8,0.004465549066273715,1.3173598219246631e-5,-4.6301165592733985e-8,0.004465957939694511,1.3314136875100861e-5,-4.661280004540448e-8,0.004466268576327031,1.352468763662037e-5,-4.708169932958065e-8,0.00446645372428031,1.3737541360524216e-5,-4.7556478385599956e-8,0.004466520878302181,1.3876287526487771e-5,-4.786615773013864e-8,0.004466514326078782,1.3880445157377903e-5,-4.7875375783545784e-8,0.004466502142877897,1.3727918531229615e-5,-4.753461483998569e-8,0.004466552086217613,1.344312403337607e-5,-4.689826847344771e-8,0.0044667082651349286,1.3085819784721498e-5,-4.609959388131855e-8,0.004466980019477852,1.2727550786706039e-5,-4.529813388914731e-8,0.004467345755137234,1.2428783962732317e-5,-4.4628795806165725e-8,0.004467765779943532,1.2225982089979055e-5,-4.4173112494455235e-8,0.004468196005854024,1.2129693991677846e-5,-4.395498255353792e-8,0.004468597642816224,1.2129490543834448e-5,-4.395156917433471e-8,0.00446894206410521,1.2201011417455164e-5,-4.410885737385981e-8,0.00446921225500677,1.2312244640502023e-5,-4.43555394468987e-8,0.004469402654481283,1.2428213420078234e-5,-4.46134499502362e-8,0.0044695185950805304,1.2514503621319245e-5,-4.48055188286882e-8,0.004469575723049835,1.2540430548831996e-5,-4.486296672886854e-8,0.004469599148903078,1.2482479511679878e-5,-4.473308223481721e-8,0.004469621667375493,1.2328204497541601e-5,-4.4387945702341005e-8,0.004469680258111596,1.2080054076724377e-5,-4.38329250854799e-8,0.004469810440791369,1.1757832861630705e-5,-4.3112118745779403e-8,0.004470038938882233,1.139812552580378e-5,-4.2307071423256166e-8,0.004470376233823944,1.1049363336854192e-5,-4.1525836645826615e-8,0.004470811437085582,1.0762470256707936e-5,-4.088220096014905e-8,0.004471311827050345,1.057885493987764e-5,-4.046892914926202e-8,0.004471828174441778,1.0518954079644614e-5,-4.0332120643179816e-8,0.00447230517930829,1.057478045414597e-5,-4.045439322306815e-8,0.004472694773246646,1.0709058764895794e-5,-4.075274930775221e-8,0.004472969079340785,1.0862056909000877e-5,-4.1093716830421817e-8,0.004473129460972397,1.096542999972803e-5,-4.1324306385980915e-8,0.004473208349376754,1.0960344314636686e-5,-4.131265117419883e-8,0.004473261801176122,1.0814980769902441e-5,-4.098727821687716e-8,0.004473353611162491,1.0535090952922028e-5,-4.036078520359405e-8,0.004473535890618031,1.0162456216834655e-5,-3.952640941680167e-8,0.004473833792415958,9.760956408521302e-6,-3.862688960352953e-8,0.004474240602953426,9.396173414810474e-6,-3.7808898628385294e-8,0.004474724001444978,9.11738920258227e-6,-3.718281945206038e-8,0.004475238859403357,8.948272943174389e-6,-3.6801887768029544e-8,0.0044757402350894555,8.887048525787006e-6,-3.6662466891908055e-8,0.004476192324498001,8.912754115928486e-6,-3.6717928510436886e-8,0.004476572466872101,8.99328366656885e-6,-3.689655835364853e-8,0.004476871540255352,9.092325994737656e-6,-3.711706737226179e-8,0.0044770926280973825,9.174281950373387e-6,-3.7299643889725875e-8,0.004477249315061717,9.207572991317009e-6,-3.737343689531388e-8,0.0044773641629216165,9.167232096321902e-6,-3.7282422144220036e-8,0.004477467204936426,9.037578898248145e-6,-3.699141801660316e-8,0.004477593756950581,8.815347168589488e-6,-3.649307148880597e-8,0.00447778058690321,8.512872182307729e-6,-3.5814955514758316e-8,0.004478059745215661,8.159958224253264e-6,-3.502372164908136e-8,0.004478450365817333,7.802247766408065e-6,-3.4221459193305144e-8,0.004478950468601355,7.494062159631074e-6,-3.3529720730520204e-8,0.004479532465119492,7.285542176108168e-6,-3.3060801908352687e-8,0.004480146136971822,7.2072554470058906e-6,-3.288331103792207e-8,0.004480730224220354,7.258279349781589e-6,-3.2995444030558204e-8,0.004481229449583244,7.4035582392112385e-6,-3.331896233314279e-8,0.004481610689525678,7.582522644393277e-6,-3.371838931973838e-8,0.004481872292063173,7.725939025928392e-6,-3.403868938062639e-8,0.00448204374844317,7.774910697168804e-6,-3.414782399457034e-8,0.004482176671298304,7.696059172490782e-6,-3.397078855811176e-8,0.004482330435030019,7.4890430319435334e-6,-3.350650916046562e-8,0.004482556672721601,7.1850969128227755e-6,-3.282465246101726e-8,0.0044828866992572885,6.837522641746615e-6,-3.2044432737991846e-8,0.0044833250857910616,6.507056498926579e-6,-3.130192899832561e-8,0.004483850858172803,6.24650987263678e-6,-3.071570165203201e-8,0.004484425307959444,6.08924159396039e-6,-3.036088489326645e-8,0.004485003194359061,6.044356934728174e-6,-3.025827024763154e-8,0.004485543401858622,6.098712850233066e-6,-3.0378643182073185e-8,0.004486016219005494,6.2234233182378906e-6,-3.0657287324259747e-8,0.0044864064166258944,6.3817652026060565e-6,-3.1011736157922704e-8,0.004486712974298434,6.536100940869929e-6,-3.135738930785751e-8,0.004486946987567679,6.652794334948827e-6,-3.16186317416998e-8,0.0044871290855611435,6.705289352964788e-6,-3.173578594963119e-8,0.004487287039748156,6.676139966458214e-6,-3.1669660514816774e-8,0.004487453549021817,6.558809591876483e-6,-3.1405558068106883e-8,0.004487663626245549,6.359694715241642e-6,-3.095779699979666e-8,0.004487950667436226,6.100153211559874e-6,-3.0374268126452117e-8,0.004488340386805238,5.817319379742182e-6,-2.973828357636435e-8,0.004488842722498734,5.561454687988725e-6,-2.9162651978515495e-8,0.004489443758855133,5.387386078451001e-6,-2.87704753805209e-8,0.00449010207955269,5.339481305214199e-6,-2.866142686948672e-8,0.004490754688042762,5.434077367358827e-6,-2.887228736862537e-8,0.004491334130057058,5.647948607453723e-6,-2.9351019643881805e-8,0.004491791249757919,5.921297869142392e-6,-2.99634549511861e-8,0.004492112629279643,6.17644552752166e-6,-3.0535254824106297e-8,0.00449232388491216,6.343735825162951e-6,-3.0910079891972617e-8,0.004492478423788278,6.3824291151391336e-6,-3.0996454297399085e-8,0.0044926387333911215,6.288994539844147e-6,-3.078631234061721e-8,0.004492858636300761,6.092913739653983e-6,-3.0345562453837724e-8,0.004493171588724417,5.844789364045817e-6,-2.9787493231587065e-8,0.00449358619792652,5.60206433789655e-6,-2.9240893731404095e-8,0.004494087869175982,5.4161245069199806e-6,-2.882123891207294e-8,0.004494644740160421,5.322864554289205e-6,-2.8609503663609465e-8,0.004495216006784931,5.337654872160231e-6,-2.864069875751362e-8,0.004495760772876803,5.45491845871229e-6,-2.8902689986086383e-8,0.00449624562807949,5.6517357057193595e-6,-2.9344127629553888e-8,0.004496649625176552,5.894052353282223e-6,-2.988837234120634e-8,0.004496966197981279,6.14368973988668e-6,-3.044936038422412e-8,0.004497202413708704,6.364618307242032e-6,-3.094585642668188e-8,0.004497376491928267,6.527582409948589e-6,-3.131194447327545e-8,0.004497514640436966,6.6129278100694005e-6,-3.150337999113445e-8,0.004497647925917268,6.612117621637158e-6,-3.150093270015358e-8,0.004497809336845073,6.528610724443239e-6,-3.131231070153016e-8,0.004498030707089667,6.3785361876222695e-6,-3.09736925859592e-8,0.004498338829174895,6.191080665260008e-6,-3.055066942661581e-8,0.004498750077775436,6.0076683654676744e-6,-3.013646953689903e-8,0.004499263612814337,5.8780642609847445e-6,-2.9843203850422515e-8,0.004499854940636369,5.851244450515609e-6,-2.9781269629881294E-08,0.004500473936466841,5.960397636023314e-6,-3.002551100540538e-8,0.004501052719345036,6.205775394502228e-6,-3.057655086561226e-8,0.00450152565398311,6.544818406940442e-6,-3.133855594471292e-8,0.004501855052718436,6.89991925988118e-6,-3.213677936923044e-8,0.004502048299394567,7.184984577129539e-6,-3.277745584916125e-8,0.00450215485481849,7.337928245096862e-6,-3.312096524996092e-8,0.004502244939964075,7.34104622514252e-6,-3.31275673941889e-8,0.0045023832883471036,7.220589179745083e-6,-3.285626158580508e-8,0.0045026110823796145,7.030850470500054e-6,-3.2428926008768215e-8,0.0045029404092560505,6.834169236371335e-6,-3.198546698313869e-8,0.004503358106314494,6.685082210089396e-6,-3.1648403907449894e-8,0.004503833931529304,6.621199922123047e-6,-3.150250475699595e-8,0.004504329393182454,6.659916022098113e-6,-3.158735035096041e-8,0.004504805490228415,6.79906815339101e-6,-3.18986098972113e-8,0.0045052288712172945,7.020052500014815e-6,-3.239479081077634e-8,0.004505576291020284,7.292536290791366e-6,-3.300768877577651e-8,0.004505837190189702,7.580099251624076e-6,-3.3655110613896705e-8,0.0045060143045280365,7.846042790020471e-6,-3.42541110553583e-8,0.004506122446663604,8.058625318459529e-6,-3.473295260761845e-8,0.0045061858442556986,8.195104654863028e-6,-3.504028264202122e-8,0.004506234642510104,8.244233774000591e-6,-3.515070923594395e-8,0.004506301185498216,8.20730170658394e-6,-3.506705303538336e-8,0.004506416396345633,8.098093426558627e-6,-3.482021907021817e-8,0.004506606235169193,7.94206498498607e-6,-3.446740371929097e-8,0.004506887964378976,7.774744655900673e-6,-3.4088620681013444e-8,0.004507265898608951,7.63883680811971e-6,-3.378026681707891e-8,0.004507726866888514,7.578827637892328e-6,-3.364294154809401e-8,0.0045082369085281135,7.631796357853752e-6,-3.376059550196789e-8,0.0045087423408103665,7.81442404265071e-6,-3.4171064362557586e-8,0.004509179270358261,8.109527450340536e-6,-3.48355963905556e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_26.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_26.json new file mode 100644 index 000000000..d989a12f4 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_26.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":26000,"numberOfSamples":1000,"samples":[0.004509493310776733,8.460255546355793e-6,-3.5625800851343465e-8,0.004509663584584268,8.78152154032578e-6,-3.634960149730122e-8,0.004509716789810693,8.989819707723907e-6,-3.681866430913203e-8,0.004509719059465651,9.037418772725032e-6,-3.692552117143939e-8,0.004509748243703133,8.930185223519827e-6,-3.668355434778159e-8,0.004509863647122957,8.719470842231082e-6,-3.620846132642241e-8,0.004510089653785742,8.476972036399517e-6,-3.5661533171045015e-8,0.004510416800722429,8.269299770251092e-6,-3.51925282944491e-8,0.004510813094911667,8.1427235238956e-6,-3.4905561743649874e-8,0.004511237012805131,8.118815983827459e-6,-3.4849442039030304e-8,0.004511647598100416,8.19695215375018e-6,-3.5023237901990346e-8,0.004512010754110658,8.359585736620415e-6,-3.538793530902102e-8,0.004512302608721269,8.577895407180773e-6,-3.5878908014654e-8,0.004512511101780664,8.817020399356672e-6,-3.6417590410461715e-8,0.004512636407156604,9.040913865577355e-6,-3.692247406897225e-8,0.004512690307657771,9.216869444768706e-6,-3.7319489010541575e-8,0.004512694498577715,9.319590010896785e-6,-3.755134208751638e-8,0.004512677812454461,9.33448051439994e-6,-3.758499305360356e-8,0.004512672525088187,9.259714461186162e-6,-3.74162487552752e-8,0.004512710155956202,9.106773676260358e-6,-3.7070886445067697e-8,0.004512817232229619,8.899452134994748e-6,-3.660239062283695e-8,0.004513011361703757,8.671416905011533e-6,-3.6086549932726506e-8,0.0045132978459024205,8.462410007400726e-6,-3.561303803422552e-8,0.00451366700674806,8.313087368408677e-6,-3.5273853268424084e-8,0.004514092641922462,8.258223307030978e-6,-3.5147920393724736e-8,0.004514532771288454,8.318077690988317e-6,-3.5281410931936163e-8,0.004514934630932754,8.4888481118899e-6,-3.566597134940736e-8,0.004515245854344678,8.735374126556136e-6,-3.622214330179837e-8,0.0045154316998782295,8.991891199064452e-6,-3.6801147360575755e-8,0.004515492902915043,9.176856590224277e-6,-3.7218586920753816e-8,0.004515473030595792,9.22132948769478e-6,-3.731873347690093e-8,0.004515445973338222,9.09843419372188e-6,-3.704104339955742e-8,0.00451548682469044,8.835578371895206e-6,-3.644751863773576e-8,0.00451564268107663,8.500985857177386e-6,-3.5692080359945736e-8,0.0045159197183348996,8.174205711565663e-6,-3.495399269113799e-8,0.004516289609363855,7.91891452501725e-6,-3.437668106843999e-8,0.004516706111846334,7.769533914623208e-6,-3.403776290168179e-8,0.004517121078763411,7.73134067417984e-6,-3.3949388348932536e-8,0.0045174946878258695,7.787734155315276e-6,-3.4074540770568025e-8,0.004517799867137044,7.908923469211388e-6,-3.434642142253354e-8,0.004518023021591153,8.059160327422076e-6,-3.468456742654183e-8,0.004518163140214663,8.202005982025426e-6,-3.50066650311153e-8,0.004518230411948181,8.30424890030949e-6,-3.523747823122548e-8,0.004518244570725208,8.33915192550796e-6,-3.531634932075353e-8,0.004518232782286238,8.28935594403696e-6,-3.5203891163581475e-8,0.004518226774465987,8.149365170645358e-6,-3.488762043767852e-8,0.004518259006711036,7.927116613346235e-6,-3.438542274392408e-8,0.004518358060544222,7.643963370228097e-6,-3.3745425584923236e-8,0.004518543856405558,7.332621283429884e-6,-3.3041356370972954e-8,0.004518823498710852,7.0329632269025115e-6,-3.236314547040654e-8,0.004519188579967757,6.785903929501321e-6,-3.180325247605029e-8,0.004519614661144808,6.626048418181081e-6,-3.14401232958339e-8,0.0045200634304379044,6.5740276672578925e-6,-3.132079397132222e-8,0.004520487966458727,6.62956304606739e-6,-3.144502131997278e-8,0.00452084147546764,6.766843341505083e-6,-3.175463526314589e-8,0.004521089187148414,6.934764185105069e-6,-3.2134004538126606e-8,0.004521221269959029,7.065025688552307e-6,-3.2428442843453624e-8,0.004521261859102045,7.089574850293132e-6,-3.248384715700535e-8,0.0045212674299407694,6.964089990219654e-6,-3.2199939344201606e-8,0.004521310513078177,6.687544084459722e-6,-3.1574464342686096e-8,0.004521453447203763,6.305670157088708e-6,-3.071085821791362e-8,0.0045217253573987225,5.893958647960642e-6,-2.9779688167653515e-8,0.004522114733755025,5.529133856038296e-6,-2.8954214723599135e-8,0.004522579377927455,5.264744210794258e-6,-2.8355366465152043e-8,0.004523065009217748,5.120982847527676e-6,-2.802885167464862e-8,0.004523521972907846,5.088150002782038e-6,-2.7952986672350293e-8,0.004523914736487703,5.136932989628306e-6,-2.8061821235107004e-8,0.004524224518460753,5.229079919518181e-6,-2.8269112293518485e-8,0.004524447866784532,5.325356167857952e-6,-2.8486202260608446e-8,0.004524593830297251,5.390497834119252e-6,-2.8633216627973057e-8,0.004524681160259874,5.396171432205578e-6,-2.864585654482284e-8,0.004524735849207278,5.323027317101781e-6,-2.8480176026552257e-8,0.0045247886943237964,5.16249823096028e-6,-2.8116730602371682e-8,0.004524872353940403,4.918444281738836e-6,-2.7564280225240977e-8,0.0045250174349796965,4.608134848323794e-6,-2.68619228883987e-8,0.004525247591606092,4.261615509273891e-6,-2.6077583364155316e-8,0.004525574321292053,3.918549452938378e-6,-2.530086898948843e-8,0.00452599277311532,3.622150479587777e-6,-2.462943302074595e-8,0.0045264801545203655,3.4107258886289212e-6,-2.4149954956603862e-8,0.004526998018263306,3.308450392319929e-6,-2.3917312554474847e-8,0.004527498775693957,3.317760005942039e-6,-2.3937301228621522e-8,0.00452793558120547,3.415707219466181e-6,-2.415823276235786e-8,0.00452827373820132,3.555942963102195e-6,-2.4475281614218993e-8,0.004528501076735233,3.677053577969154e-6,-2.4749321189987848e-8,0.004528634255226658,3.7166708540264696e-6,-2.4838951555615288e-8,0.00452871788049019,3.6288209284880697e-6,-2.4639908971730102e-8,0.004528814461392247,3.399578871249497e-6,-2.4120586107355082e-8,0.004528986348915549,3.0544546974012395e-6,-2.3338735228699577e-8,0.004529275447593868,2.652362755159554e-6,-2.2427751850493508e-8,0.0045296894826229355,2.266809562799965e-6,-2.1554061940523532e-8,0.004530201357681512,1.962172998408435e-6,-2.0863453384503786e-8,0.004530761107800889,1.7757792179593227e-6,-2.044053421769499e-8,0.004531313427122603,1.7122786235617054e-6,-2.0295983770420518e-8,0.0045318125655776954,1.749367675975404e-6,-2.037944352447753e-8,0.004532230187937357,1.8490802478591477e-6,-2.0605011670815894e-8,0.00453255650096998,1.968861091375431e-6,-2.08762767548505e-8,0.004532797413529103,2.069429992863889e-6,-2.1104137100273155e-8,0.004532970455627508,2.1191957801873115e-6,-2.121685754164669e-8,0.004533101006844266,2.0963386322046738e-6,-2.1164869031366592e-8,0.004533219236241922,1.9898190337828303e-6,-2.09231193072752e-8,0.004533357423629913,1.8001513809640854e-6,-2.0492836790277707e-8,0.004533546992225019,1.540165048997408e-6,-1.9903207651827864e-8,0.004533814625910253,1.2352637227640804e-6,-1.9211889086172134e-8,0.0045341773121543635,9.220902568912064e-7,-1.8501932634248034e-8,0.004534637007950439,6.443360771918933e-7,-1.7872295458798828e-8,0.004535176664792075,4.4499167138597644e-7,-1.7420339103780497e-8,0.004535760035304328,3.557925328380303e-7,-1.7217978115692215e-8,0.004536337215533742,3.866412902473646e-7,-1.728772350881937e-8,0.004536855876733859,5.191842687487436e-7,-1.7588072274695526e-8,0.004537275385870752,7.081369882607212e-7,-1.8016430469229954e-8,0.004537579125593926,8.912435030713721e-7,-1.8431639886474907e-8,0.004537780530744449,1.005317578228007e-6,-1.8690357071296403e-8,0.004537920538034231,1.0034699039837472e-6,-1.868616129977461e-8,0.0045380570398233745,8.682810605385142e-7,-1.837946472292758e-8,0.004538249294644987,6.169983072998986e-7,-1.780931248930263e-8,0.004538541670781989,2.970358272201004e-7,-1.708319176747392e-8,0.004538951579800054,-2.7231731686069303e-8,-1.634711520277816e-8,0.004539465565272268,-2.9245638234442717e-7,-1.5744867236873657e-8,0.004540044817016876,-4.530987714794202e-7,-1.537993968878856e-8,0.004540637691521912,-4.913904592554641e-7,-1.5292863661002783e-8,0.0045411941681401885,-4.179588426089708e-7,-1.545968048557915e-8,0.0045416771529875445,-2.646725790176748e-7,-1.580808820140591e-8,0.004542067915028178,-7.389589463817978e-8,-1.624181308946475e-8,0.004542365941693601,1.1161571806108388e-7,-1.6663601282918254e-8,0.004542585366851695,2.557719936323004e-7,-1.6991327574329404e-8,0.004542750301596352,3.328556897280507e-7,-1.7166487509062615e-8,0.004542890539772055,3.288339048433999e-7,-1.7157205799619142e-8,0.004543038110357333,2.4148307307612337e-7,-1.6958505979006495e-8,0.00454322442352209,8.020747945813414e-8,-1.659185787564851e-8,0.004543477357567356,-1.341554185295706e-7,-1.6104693284517906e-8,0.0045438176089469635,-3.6995599015852086e-7,-1.5568968349127696e-8,0.004544254057927853,-5.868612278189073e-7,-1.507632289085078e-8,0.004544778812882803,-7.409000787411416e-7,-1.4726631776247386e-8,0.0045453638821404034,-7.933529756111925e-7,-1.4607830316871693e-8,0.004545962512626217,-7.226259496806341e-7,-1.4768947865738407e-8,0.004546517831531095,-5.353354038386974e-7,-1.5194914668309396e-8,0.004546978401910495,-2.705801777601392e-7,-1.5796839796783648e-8,0.004547315606031961,7.426064280520287e-9,-1.6428760347708144e-8,0.00454753489003374,2.2771495362971647e-7,-1.6929398929145512e-8,0.004547674975302893,3.348200634734904e-7,-1.7172762210130373e-8,0.004547795269270398,3.0546407671952013e-7,-1.7106022758788838e-8,0.004547957342816333,1.5361082419481356e-7,-1.6760923023671023e-8,0.004548207818776337,-7.620926519655014e-8,-1.623857269178295e-8,0.004548567688113334,-3.2310178950335675e-7,-1.5677235728358874e-8,0.004549029689400049,-5.261904517049809e-7,-1.5215224434557068e-8,0.004549562879332015,-6.387181991297879e-7,-1.4958938590346338e-8,0.004550122119909111,-6.369676213818445e-7,-1.4962560924246113e-8,0.004550659547407562,-5.227487180281773e-7,-1.522226203843342e-8,0.00455113503524916,-3.198295674394947e-7,-1.568415057741117e-8,0.004551523306381531,-6.614611648123595e-8,-1.6261898726347644e-8,0.004551816641272785,1.9551328796095916e-7,-1.685796274830549e-8,0.004552023601182218,4.2580724108011224e-7,-1.7382583753550408e-8,0.004552165189758773,5.945892816202448e-7,-1.7766991018379748e-8,0.004552270093790798,6.837932410099917e-7,-1.7970026091410244e-8,0.004552370226282839,6.880617875256065e-7,-1.797954851084639e-8,0.004552497089156715,6.141061808103928e-7,-1.781091130786019e-8,0.004552678823971549,4.796156243032983e-7,-1.7504429067141582e-8,0.004552937441607541,3.1202357072442164e-7,-1.7122570952647516e-8,0.004553285657210565,1.4683488458868566e-7,-1.6746191281231358e-8,0.004553723072438308,2.461230159602889e-8,-1.6467701649164962e-8,0.004554232297584862,-1.4673606685835707e-8,-1.6378198838017022e-8,0.004554776931368462,5.916408340345163e-8,-1.654648595704409e-8,0.004555304544316013,2.5471410996338887e-7,-1.699210890005788e-8,0.004555757580182239,5.487508779098537e-7,-1.766206390844868e-8,0.00455609163018589,8.847980560550384e-7,-1.8427567403072217e-8,0.004556294266149341,1.1862585904106192e-6,-1.9114066338961307e-8,0.00455639356224145,1.3819276275300728e-6,-1.955944643880223e-8,0.004556449423840962,1.4320994076717743e-6,-1.967347844662727e-8,0.00455653146260646,1.3415196289400694e-6,-1.9467164239301853e-8,0.004556695250636879,1.1538974614742377e-6,-1.9040064669564954e-8,0.00455696762660136,9.337292242152009e-7,-1.8538868697838413e-8,0.004557344253094815,7.457228920368247e-7,-1.8110674855141883e-8,0.004557796262614695,6.393184058846508e-7,-1.7867944352973605e-8,0.004558280964655819,6.408021303045762e-7,-1.7870661006435703e-8,0.004558752717751708,7.521507776956689e-7,-1.812364701480733e-8,0.004559171865542613,9.545520907436515e-7,-1.8584396920373626e-8,0.004559510918417762,1.214685417394258e-6,-1.9177186559210626e-8,0.0045597577345257365,1.492268065989241e-6,-1.9810175736451022e-8,0.004559915758252532,1.747525782261627e-6,-2.0392490975707653e-8,0.004560001790681829,1.947399946982737e-6,-2.084852456530275e-8,0.004560042130719432,2.069755428846989e-6,-2.112766147211479e-8,0.004560068031127442,2.105379942421046e-6,-2.1208875035905857e-8,0.004560111313149676,2.0580137470542224e-6,-2.110073390215724e-8,0.004560200668904181,1.943025512553438e-6,-2.083829693588606e-8,0.004560358702285993,1.785412603296129e-6,-2.0478523102675264e-8,0.004560599413535639,1.6174458646150957e-6,-2.009495393525646e-8,0.004560925771429382,1.4758038902445344e-6,-1.977126696599221e-8,0.004561327227637577,1.3976103681723366e-6,-1.9592281027131787e-8,0.004561777687863393,1.414475222692563e-6,-1.963031184849548e-8,0.004562235579990404,1.5439760444566057e-6,-1.9925614673578647e-8,0.004562648675447503,1.7796412722016043e-6,-2.046341689014831e-8,0.004562966076598825,2.0834817290894464e-6,-2.1156859279096877e-8,0.004563156563769151,2.3880171788488707e-6,-2.1851733662215338e-8,0.004563226026995868,2.6134961406077906e-6,-2.236596297709388e-8,0.004563222002259049,2.697182257226839e-6,-2.255654425324677e-8,0.004563218140920344,2.6200473503104345e-6,-2.2380369070183947e-8,0.004563285177328307,2.4142697533356353e-6,-2.1911080480621846e-8,0.00456346510562536,2.1474700508499156e-6,-2.1302898831592876e-8,0.0045637614855055355,1.8952029862123072e-6,-2.0727876983910757e-8,0.004564146109374209,1.717390042126911e-6,-2.0322347502066937e-8,0.004564573586655692,1.6467160412382832e-6,-2.0160696512706902e-8,0.004564995621143562,1.6879982482464885e-6,-2.025403919365333e-8,0.004565371098880404,1.823849272809698e-6,-2.0563061761098215e-8,0.004565671575998424,2.0224636955771143e-6,-2.1015577494141815e-8,0.004565883304822525,2.2451570701558744e-6,-2.1523520714831093e-8,0.004566007062175339,2.4528861969496664e-6,-2.1997743592595424e-8,0.004566056469157245,2.6116666971517507e-6,-2.23604574329312e-8,0.004566055109573586,2.6967378051573467e-6,-2.2554903643749895e-8,0.004566032787591015,2.6952576374760298e-6,-2.2551638035756678e-8,0.004566021340058094,2.6074130943391173e-6,-2.2351082445335482e-8,0.004566050456020915,2.445916611802514e-6,-2.198229461679592e-8,0.004566143978834918,2.234071638222029e-6,-2.1498460356284963e-8,0.004566316991076654,2.002834908710053e-6,-2.0970174692905903e-8,0.004566573698773829,1.7872369419549948e-6,-2.047735188978444e-8,0.004566906025496633,1.6222415688750605e-6,-2.009987915744285e-8,0.004567292941820179,1.5378947751270364e-6,-1.9906572258774763e-8,0.0045677009482845456,1.5534732761251689e-6,-1.9941722705096247e-8,0.004568086845586504,1.6706423254153708e-6,-2.0209304708076832e-8,0.004568404479915657,1.8669001932336232e-6,-2.065787129431821e-8,0.004568616641222311,2.0927296815380814e-6,-2.1174057753546027e-8,0.004568710628782926,2.277737563029436e-6,-2.159677431671749e-8,0.004568710906383361,2.3496980887248315e-6,-2.1760931647364762e-8,0.004568678450507578,2.2627328227331568e-6,-2.1561913449607736e-8,0.004568690934995052,2.0202730399911163e-6,-2.100789416692359e-8,0.004568811461316786,1.6765736725135978e-6,-2.0223021008261412e-8,0.004569064102334118,1.3138502582226867e-6,-1.939501198865483e-8,0.00456942983638702,1.0095623883627573e-6,-1.870048308376553e-8,0.0045698609228537225,8.126805895776015e-7,-1.8250956905805127e-8,0.004570301299600792,7.370286449055343e-7,-1.8077863586350383e-8,0.004570702395164331,7.675146472653699e-7,-1.8146849034032396e-8,0.004571031105591736,8.712119800734532e-7,-1.838299920858834e-8,0.004571271553897738,1.0077872223193491e-6,-1.8694474593890068e-8,0.004571423431715869,1.1371794672960694e-6,-1.898988427190855e-8,0.00457149912894306,1.224623094486609e-6,-1.9189713805360918e-8,0.004571520661368493,1.2439529482437433e-6,-1.9233970167685107e-8,0.004571516461258664,1.1798659800376192e-6,-1.90875063062554e-8,0.004571517887299565,1.0292685411183112e-6,-1.874320617434184e-8,0.00457155544903053,8.015811947188519e-7,-1.822266996676711e-8,0.004571654890494846,5.177527012148897e-7,-1.757386049492885e-8,0.0045718335249696285,2.0776980474633583e-7,-1.686531683855287e-8,0.004572097388308316,-9.323396016944465e-8,-1.6177255542095043e-8,0.004572439665645757,-3.4987692521596087e-7,-1.5590463436344316e-8,0.004572840644505964,-5.31972816140779e-7,-1.5173961796713732e-8,0.004573269348815289,-6.200415053200593e-7,-1.4972436045635267e-8,0.004573687024026574,-6.10406095595246e-7,-1.4994491965318193e-8,0.004574052809641157,-5.192579563073559e-7,-1.520320779417572e-8,0.00457433198222599,-3.843987328357727e-7,-1.5512049283710714e-8,0.004574506433080039,-2.6231970700412053e-7,-1.57915871799184e-8,0.004574585098804139,-2.1787955603130257e-7,-1.5893271807468845e-8,0.0045746091849351205,-3.056827632750247e-7,-1.569220003592137e-8,0.004574645498676162,-5.476968892825376e-7,-1.513834525051923e-8,0.004574765267068838,-9.184797312588896e-7,-1.4290196294897466e-8,0.00457501606601899,-1.3499749934384158e-6,-1.3303575679860455e-8,0.004575402559457306,-1.7569182650377685e-6,-1.2373436343486388e-8,0.00457588755670308,-2.0690376161348062e-6,-1.1660288023729968e-8,0.004576410675222101,-2.2521266223356963e-6,-1.1242149216779647e-8,0.004576911396180024,-2.3103385627944873e-6,-1.1109414454615705e-8,0.004577344958268909,-2.275047092560445e-6,-1.119036156480763e-8,0.004577688009744958,-2.190125367673378e-6,-1.1384764724171442e-8,0.00457793703023403,-2.1001362793857524e-6,-1.1590799048558753e-8,0.004578103680851678,-2.0432033769984585e-6,-1.1721260373927869e-8,0.004578209903486739,-2.0476287663152695e-6,-1.1711299731405369e-8,0.00457828387494594,-2.1305649056463137e-6,-1.1521549135013692e-8,0.004578356691217041,-2.2974938653969773e-6,-1.113942510021554e-8,0.004578459254883159,-2.5420904405371936e-6,-1.0579494532798996e-8,0.004578618975408969,-2.8466169571197294e-6,-9.882523233547e-9,0.004578856169100808,-3.183321162571054e-6,-9.112167432714705e-9,0.004579180478803452,-3.5174083811508843e-6,-8.34808453913955e-9,0.004579588120477424,-3.8118316727193404e-6,-7.674971745318212e-9,0.004580060934558044,-4.03352156185739e-6,-7.168392305513895e-9,0.0045805679854873955,-4.1600968235078126e-6,-6.87951141941344e-9,0.0045810699651512255,-4.185692981165825e-6,-6.821782230335321e-9,0.00458152603375295,-4.124467505914989e-6,-6.962856854404446e-9,0.004581902189684743,-4.010657797913334e-6,-7.224349646031663e-9,0.004582179915574498,-3.894438306832133e-6,-7.491268811747432e-9,0.004582363424246814,-3.833098119282915e-6,-7.632267271587255e-9,0.004582483126184382,-3.8777855317296025e-6,-7.53011848341852e-9,0.004582592398102796,-4.057840675385612e-6,-7.117693448106915e-9,0.004582755475052093,-4.367487092300224e-6,-6.408428922268497e-9,0.004583027684494128,-4.761913130848646e-6,-5.505193981758026e-9,0.004583434904318093,-5.1682652158940795e-6,-4.575001218916299e-9,0.004583962740856525,-5.509717091332434e-6,-3.793847647778333e-9,0.004584562235224711,-5.731726984261732e-6,-3.286608037184449e-9,0.0045851690079899594,-5.8173444046123675e-6,-3.092013230972495e-9,0.004585724984926677,-5.785936446522613e-6,-3.1655856948169594e-9,0.004586192672434863,-5.680003803249362e-6,-3.4098510201368928e-9,0.004586558909587067,-5.549240041603622e-6,-3.710862720240599e-9,0.004586831090544941,-5.438473165345392e-6,-3.965824489806852e-9,0.004587030516411275,-5.381337431846182e-6,-4.097587491428378e-9,0.004587186126494469,-5.398361853965937e-6,-4.059053627389166e-9,0.0045873298103882906,-5.49731379182367e-6,-3.8324359563939324e-9,0.004587493095288864,-5.6741958005571095e-6,-3.427014054705955e-9,0.0045877044693880785,-5.914235263036652e-6,-2.876857912876998e-9,0.004587986651218072,-6.192958116809043e-6,-2.238299632400325e-9,0.004588353448843592,-6.477950803344133e-6,-1.5858038797377467e-9,0.004588806428404769,-6.73216177730537e-6,-1.0043412823020856e-9,0.00458933233628059,-6.919340188748711e-6,-5.769299288868636e-10,0.004589902743292579,-7.011376771941958e-6,-3.6786881572565e-10,0.004590477310455618,-6.996130497857601e-6,-4.0485922692968167e-10,0.004591011167147137,-6.883260760486553e-6,-6.656513658249578e-10,0.0045914652682251846,-6.705371049354524e-6,-1.075393733113511e-9,0.004591817010039603,-6.512924106794449e-6,-1.5182606557942965e-9,0.004592067796621043,-6.363468442006583e-6,-1.8621675068497396e-9,0.004592244944227824,-6.307637731525589e-6,-1.9909320328163395e-9,0.004592396800370081,-6.375463343972728e-6,-1.835720290287429e-9,0.004592581636072272,-6.566741952320174e-6,-1.397147556305703e-9,0.004592852503308843,-6.848670800862258e-6,-7.506592754098574e-10,0.0045932418347822595,-7.16265852740837e-6,-3.085310633349787e-11,0.004593750787773998,-7.439775464126724e-6,6.039907256439864e-10,0.004594348004365676,-7.620693551409611e-6,1.0176568839792315e-9,0.004594979307958952,-7.67285027729872e-6,1.1353900564086016e-9,0.004595584733360852,-7.597882344516838e-6,9.60993606260401e-10,0.004596115629330661,-7.427042036220201e-6,5.663444100107817e-10,0.004596545284004681,-7.208277314545172e-6,6.172570217697634e-11,0.004596870828408168,-6.9916428475073475e-6,-4.377209163440163e-10,0.004597108555701069,-6.818392915343977e-6,-8.371051908542961e-10,0.004597286586221487,-6.715617670183615e-6,-1.0741512526115635e-9,0.004597438018468549,-6.6953943241077795e-6,-1.1211643140079087e-9,0.004597595917342151,-6.7563461785649045e-6,-9.814428534041288e-10,0.0045977900559172604,-6.8858632210796456e-6,-6.841521467843064e-10,0.004598044659033155,-7.062128212677125e-6,-2.796287018101613e-10,0.004598376318128057,-7.255916920005681e-6,1.6480339335871812e-10,0.004598791545151504,-7.4327601793754e-6,5.698408862789437e-10,0.004599284036273952,-7.55641510487658e-6,8.521963256757693e-10,0.004599832545317101,-7.59449169585154e-6,9.37519703522967e-10,0.004600401089893143,-7.526267837569374e-6,7.783330705853753e-10,0.0046009435048163455,-7.351117380604259e-6,3.7337668699399923e-10,0.004601413323426574,-7.094082392306315e-6,-2.1959916877791475e-10,0.004601777276461345,-6.804398311453375e-6,-8.872456883447427e-10,0.004602027574734469,-6.544807205465784e-6,-1.4852269544859042e-9,0.004602187108824936,-6.373998484428838e-6,-1.878640796994688e-9,0.004602304305622246,-6.328662725555859e-6,-1.983290254130587e-9,0.004602439234285484,-6.4122851305789306e-6,-1.7913894121004542e-9,0.004602646341656962,-6.59454075292182e-6,-1.372856112257814e-9,0.004602959791749618,-6.820555679744346e-6,-8.539567811146143e-10,0.004603385401025903,-7.026168406663905e-6,-3.8223413598513426e-10,0.004603900535041509,-7.154432726648315e-6,-8.862971018962839e-11,0.004604461221360877,-7.16909923779504e-6,-5.6530923583887666e-11,0.004605014161836207,-7.061911347469658e-6,-3.0496913721986693e-10,0.004605510173710997,-6.852198505821913e-6,-7.894778705239851e-10,0.004605915231864156,-6.579480498016876e-6,-1.4190378636351609e-9,0.004606216233404941,-6.291994615044852e-6,-2.0824711583876744e-9,0.00460642071017142,-6.035108556079831e-6,-2.675171494544614e-9,0.00460655193149057,-5.842863718623184e-6,-3.1186589302558516e-9,0.004606641995139615,-5.733972110264688e-6,-3.369853455113043e-9,0.004606725264452894,-5.711711571864843e-6,-3.4213163304000836e-9,0.0046068334424430035,-5.7661813773756325e-6,-3.2960088168680032e-9,0.004606992447073734,-5.877366283212291e-6,-3.0401786490361465e-9,0.004607220525040382,-6.01804827384349e-6,-2.7166204947669695e-9,0.004607526828035787,-6.156368380259616e-6,-2.3987754818787228e-9,0.004607909878637184,-6.2584771004198995e-6,-2.1646433927517645e-9,0.004608355861891447,-6.292108699703443e-6,-2.0885544550141327e-9,0.004608837460403657,-6.231941022115572e-6,-2.2288041686048496e-9,0.004609314869247811,-6.066944432541149e-6,-2.610692390028512e-9,0.004609741181179981,-5.808287594175388e-6,-3.208296374163034e-9,0.004610073532643847,-5.494016982094601e-6,-3.9337217762102935e-9,0.004610288280096579,-5.185259144008995e-6,-4.645941435360547e-9,0.004610393895995997,-4.950873931477467e-6,-5.186269288801948e-9,0.004610433184336685,-4.844246198175972e-6,-5.431895389162019e-9,0.004610470758879338,-4.8829096485003395e-6,-5.342766223918112e-9,0.0046105707030473,-5.0419564476459976e-6,-4.976589310976798e-9,0.004610775446429694,-5.26417400954597e-6,-4.465310329754646e-9,0.004611094963682681,-5.480348310975678e-6,-3.968302033161426e-9,0.00461150823724263,-5.62972692844612e-6,-3.625329611994953e-9,0.004611973094222571,-5.673786679284628e-6,-3.524987578971608e-9,0.0046124390559712505,-5.60146915226002e-6,-3.692726761576285e-9,0.004612859222188488,-5.427288532920816e-6,-4.095184948750271e-9,0.004613199097686521,-5.184761096077944e-6,-4.655216115005645e-9,0.00461344157660515,-4.917463952163088e-6,-5.272388730713527e-9,0.004613587996069912,-4.669665926120923e-6,-5.844552407820035e-9,0.004613655691602776,-4.478251084401866e-6,-6.28652082530562e-9,0.004613673077859672,-4.367267921755222e-6,-6.542744128551488e-9,0.00461367367651798,-4.345651474038695e-6,-6.592631310893555e-9,0.0046136904516331,-4.407814373872608e-6,-6.449178045460803e-9,0.004613751389181142,-4.536239263420983e-6,-6.152919507168062e-9,0.004613876649815567,-4.704994955452618e-6,-5.763751856803909e-9,0.004614077028175075,-4.883303608630905e-6,-5.352690069082215e-9,0.004614353162834188,-5.038827337005442e-6,-4.994329710158694e-9,0.004614695036423012,-5.140875843306533e-6,-4.759499974144619e-9,0.004615081647533657,-5.164078436357073e-6,-4.706796509128987e-9,0.004615481345908867,-5.093156815280933e-6,-4.871507157630509e-9,0.004615854140456318,-4.928932317867542e-6,-5.251665030544923e-9,0.004616157793161933,-4.694284295014727e-6,-5.794263848231378e-9,0.004616358878782183,-4.436656622864292e-6,-6.389541647842568e-9,0.004616447225878722,-4.222062557520083e-6,-6.884973524270293e-9,0.004616447316459371,-4.117217975337249e-6,-7.126660174101772e-9,0.0046164171712829195,-4.163817419832329e-6,-7.018720722844495e-9,0.004616430002982171,-4.358091358751388e-6,-6.5703061256921416e-9,0.004616545920780777,-4.64955458388336e-6,-5.898225015384205e-9,0.004616789519416018,-4.961068379082266e-6,-5.180477898492885e-9,0.004617144952363664,-5.21797868115541e-6,-4.5890532040936815e-9,0.004617567428571435,-5.370589400078979e-6,-4.238257150629672e-9,0.004618001377383055,-5.4024523567296e-6,-4.165786813726474e-9,0.00461839617858386,-5.326689531338634e-6,-4.341319230810882e-9,0.004618715659086564,-5.176427103811998e-6,-4.688546619249612e-9,0.004618941704013463,-4.994299138923035e-6,-5.1092602716603065e-9,0.0046190738457956015,-4.823500218588578e-6,-5.503860695653606e-9,0.004619126539673815,-4.701021915286869e-6,-5.786919842108562e-9,0.00461912513350184,-4.6530002781485684e-6,-5.897985711351209e-9,0.004619101113456684,-4.692128922859444e-6,-5.8076723886911916e-9,0.004619087174435325,-4.817110070681227e-6,-5.5190059356818914e-9,0.004619112672785507,-5.013950645613634e-6,-5.064416509080086e-9,0.004619199956383798,-5.258745206492392e-6,-4.499227652478228e-9,0.004619361925076508,-5.521396310506229e-6,-3.892989039720409e-9,0.004619600861690062,-5.769630238686212e-6,-3.3201995651143257e-9,0.0046199082837785595,-5.972903127371703e-6,-2.851352592334347e-9,0.004620265553426885,-6.106140175320044e-6,-2.5443702178223045e-9,0.004620645157437597,-6.15344235394916e-6,-2.4360418005486742e-9,0.004621012910332626,-6.111969284666793e-6,-2.5329705998129033e-9,0.004621331889116244,-5.995896088586415e-6,-2.8023280874564467e-9,0.004621569196957076,-5.839257062531263e-6,-3.16525563366286e-9,0.004621705946598681,-5.6949592448301445e-6,-3.499245426945735e-9,0.0046217486369424686,-5.626269776579186e-6,-3.6579976183436843e-9,0.004621736346891752,-5.688589628394338e-6,-3.5136773121236357e-9,0.004621735560203208,-5.9056093086997374e-6,-3.011976455429588e-9,0.004621818663207311,-6.252544277839716e-6,-2.2106262735571202e-9,0.004622034186749106,-6.660327133482274e-6,-1.269447535738715e-9,0.004622386277920894,-7.0421296244785226e-6,-3.8895869566759596e-10,0.004622835921998608,-7.326987257096725e-6,2.672247922603419e-10,0.004623320597655784,-7.481387241366695e-6,6.22078154458821e-10,0.004623778166074979,-7.511256501722334e-6,6.895832720469361e-10,0.0046241631750252934,-7.4503005879202574e-6,5.476957123973267e-10,0.0046244526906444455,-7.344777280885875e-6,3.031921981158643e-10,0.004624644751104253,-7.241142852555951e-6,6.324918068849496e-11,0.0046247535293354415,-7.178329664083658e-6,-8.227089394819571e-11,0.004624803929537004,-7.1838293799132266e-6,-6.982495105222414e-11,0.004624826696230001,-7.272134715425384e-6,1.3414464882997706e-10,0.004624854095060916,-7.444583539571314e-6,5.327371256362688e-10,0.004624916026302616,-7.690267618702546e-6,1.1006291093985203e-9,0.004625036574007785,-7.98793405485864e-6,1.7885067099525766e-9,0.004625231133799637,-8.30888821439031e-6,2.5298802519654072e-9,0.004625504428824734,-8.620815020618825e-6,3.2500039740028935e-9,0.004625849747329165,-8.892151827359156e-6,3.875986187591585e-9,0.0046262495157665465,-9.09652545200698e-6,4.346970267559263e-9,0.004626677147753625,-9.216883627944467e-6,4.623605244888573e-9,0.004627100098948487,-9.249002221467704e-6,4.6961442314090165e-9,0.004627484100502901,-9.204044867914665e-6,4.590434874603475e-9,0.004627798689161824,-9.109776567161958e-6,4.3708109803278244e-9,0.004628024187515499,-9.0095003276215e-6,4.1376398888795614e-9,0.004628159602392367,-8.956974239448121e-6,4.015455545081188e-9,0.004628229255540625,-9.005485803645908e-6,4.127521100134283e-9,0.004628283803510658,-9.1910726190435e-6,4.556926589182645e-9,0.004628390435834369,-9.514454774165462e-6,5.304877259037512e-9,0.004628610918423801,-9.931843970056032e-6,6.269651296939101e-9,0.004628975503068454,-1.03648245865506e-5,7.2696549997176675e-9,0.004629467998225569,-1.0728850454589621e-5,8.10939549229837e-9,0.004630032512152586,-1.0965482676576773e-5,8.65397700401509e-9,0.004630597398772655,-1.1060056137677217e-5,8.86984853736169e-9,0.004631101082919748,-1.1038122203419039e-5,8.816457412620772e-9,0.004631507147841215,-1.0948389067229884e-5,8.606690701628071e-9,0.004631806481354592,-1.0844288661248472e-5,8.364204739480547e-9,0.004632011465302068,-1.0771358781577292e-5,8.194291991699351e-9,0.004632147892557216,-1.0761401585255883e-5,8.170455351365712e-9,0.004632247893263616,-1.0831308542105932e-5,8.331728476942694e-9,0.00463234477781505,-1.0984114505098195e-5,8.685073680741978e-9,0.004632469369290628,-1.1210771926742844e-5,9.209415190899736e-9,0.004632647141513031,-1.1492171204089592e-5,9.860291714348777e-9,0.004632895765556187,-1.1801489544677315e-5,1.0575356211698413e-8,0.004633222987185644,-1.2107161747595294e-5,1.1281365019742708e-8,0.004633625109689717,-1.2376748980879223e-5,1.1903214390625413e-8,0.004634086659004174,-1.2581610090192167e-5,1.2374746891829162e-8,0.004634581752502566,-1.2701806877036646e-5,1.2650024924146413e-8,0.004635077356706937,-1.273044813037253e-5,1.2713298103112125e-8,0.004635538281190807,-1.2676599340062202e-5,1.2585709492729057e-8,0.004635933426539173,-1.2565907068775515e-5,1.2326775887080312e-8,0.0046362425090470906,-1.2438342120984666e-5,1.202920592778017e-8,0.004636462294497865,-1.234271921279755e-5,1.1806193185873564e-8,0.004636611028747824,-1.232775517799123e-5,1.1770617073140064e-8,0.004636729067608224,-1.2429993538057063e-5,1.2006973681361427e-8,0.004636873204322435,-1.2660614669240317e-5,1.2540806146547426e-8,0.004637103047741207,-1.2995764214321633e-5,1.3316407776853431e-8,0.004637461294852211,-1.3376967540621544e-5,1.4197950262497705e-8,0.00463795534065098,-1.3726217412767458e-5,1.5004554273269622e-8,0.004638550845381015,-1.3972478316380603e-5,1.5571711376454045e-8,0.004639183148953752,-1.4077211752893863e-5,1.5810383357853653e-8,0.0046397812865391925,-1.4045280259926954e-5,1.5732214181573113e-8,0.0046402914283477465,-1.3917086868911308e-5,1.5431235497281092e-8,0.004640688992994678,-1.3749519789539588e-5,1.50396004361683e-8,0.004640977811977925,-1.3597154104758875e-5,1.4683939035007512e-8,0.0046411816590931215,-1.3500634643284917e-5,1.4458435271925997e-8,0.004641334337283517,-1.3482814716284878e-5,1.4415936504639937e-8,0.004641471841569615,-1.3549864644392499e-5,1.45705737914381e-8,0.004641627345314647,-1.36943373473814e-5,1.4904873429144573e-8,0.004641828265389255,-1.3898382253809021e-5,1.5377192152694978e-8,0.004642094369945667,-1.4136568493739574e-5,1.592827642183505e-8,0.004642436229981527,-1.4378530825307724e-5,1.648746362443435e-8,0.004642853793025203,-1.4591962398589605e-5,1.6979710468902657e-8,0.00464333536372152,-1.4746476784586312e-5,1.7334602810121096e-8,0.004643857739129038,-1.481845010519349e-5,1.749756817785199e-8,0.00464438837763796,-1.479624509342569e-5,1.7441917675913e-8,0.0046448901141322415,-1.4684572553892183e-5,1.7178880316379137e-8,0.00464532817306209,-1.4506395760338885e-5,1.676197448758261e-8,0.0046456782783954416,-1.4300948688484878e-5,1.628240091514535e-8,0.004645933875498211,-1.4117326680498562e-5,1.5854168093428857e-8,0.004646110289799332,-1.4004423473821114e-5,1.5590715394014384e-8,0.004646244116896511,-1.399911276381716e-5,1.5577449679665026e-8,0.004646387005593405,-1.41153100211975e-5,1.5846355805771457e-8,0.004646594141764705,-1.4337032558028205e-5,1.6359950354097322e-8,0.004646909305258094,-1.4618613247030586e-5,1.701188561366317e-8,0.0046473503812339495,-1.4894178333601433e-5,1.7649042879564176e-8,0.004647900916773948,-1.5095625610264924e-5,1.811329983033688e-8,0.004648512809389593,-1.5173842404411922e-5,1.829077431406508e-8,0.004649120903019922,-1.5114403601433032e-5,1.8148248545685655e-8,0.004649663817187577,-1.4940331193331636e-5,1.7739550224659373e-8,0.004650101646361556,-1.4701189768492982e-5,1.7180166575556488e-8,0.004650423559198932,-1.4455016176381626e-5,1.6605176919502795e-8,0.004650644665764515,-1.4251827770794912e-5,1.613086614501808e-8,0.004650796624019296,-1.4124141025250696e-5,1.583268895658235e-8,0.004650917415804542,-1.4084914955533756e-5,1.5740543813909623e-8,0.004651043598431591,-1.4130241265291127e-5,1.5845089278510927e-8,0.0046512057278376125,-1.4243729279101672e-5,1.6107974164142077e-8,0.0046514261340793615,-1.4400690454054686e-5,1.6471579916206996e-8,0.00465171789456136,-1.4571531090473221e-5,1.6866922638427443e-8,0.004652084137226091,-1.4724599130893931e-5,1.7220302263998086e-8,0.00465251732741125,-1.4829134893015994e-5,1.746020024223448e-8,0.004652998819609395,-1.4859005735948932e-5,1.7525983107701823e-8,0.004653499526234626,-1.4797478165342453e-5,1.7378984205893643e-8,0.004653982822792938,-1.4642447874902636e-5,1.701461884775316e-8,0.004654410522758944,-1.4410540357957179e-5,1.6471859896107837e-8,0.004654751676673082,-1.4137726039344877e-5,1.5834608479389963e-8,0.0046549921899199246,-1.3874312315314267e-5,1.5219993013443092e-8,0.004655141733859297,-1.3673984905797297e-5,1.4752835810267254e-8,0.004655234441725839,-1.3579420898515158e-5,1.4532174851046341e-8,0.00465532189043984,-1.3609191262358246e-5,1.460084197006534e-8,0.00465545992364021,-1.3750758727023153e-5,1.4929278998332993e-8,0.004655693328327301,-1.3962304090208998e-5,1.5419907146882814e-8,0.004656043110456753,-1.4183068768481111e-5,1.5931259431933548e-8,0.0046565001678516875,-1.434927671056179e-5,1.631501554350779e-8,0.004657027305155954,-1.4411158052329369e-5,1.6455548921583325e-8,0.004657569281103155,-1.434612452943196e-5,1.630052615942731e-8,0.004658068049326739,-1.41639120076071e-5,1.5872851697627348e-8,0.0046584782426453645,-1.3901969676808915e-5,1.525993191601153e-8,0.0046587776708922075,-1.3613082255371558e-5,1.458484088844579e-8,0.004658969832612916,-1.3350233172794423e-5,1.397103491590227e-8,0.004659079003760188,-1.3154157206487545e-5,1.3513330900768914e-8,0.004659141208384155,-1.3046837117797856e-5,1.3262761688597618e-8,0.004659194957403009,-1.3031068730407019e-5,1.3225604937819598e-8,0.004659274330167408,-1.3094026415269862e-5,1.3371747416260096e-8,0.0046594050651191455,-1.3212282800757067e-5,1.3646426315830232e-8,0.004659602999671059,-1.3356523513515203e-5,1.3981232874721674e-8,0.004659873789227049,-1.3495310852038219E-05,1.430287645128278e-8,0.004660213024776066,-1.359808005239616e-5,1.4540151248134795e-8,0.00466060633304002,-1.3637992835869933e-5,1.4630579714044076e-8,0.00466102965981684,-1.3595349253137439e-5,1.4528372069494455e-8,0.004661450563042212,-1.3461902340691184e-5,1.421449651710166e-8,0.004661831730217652,-1.3245578696188559e-5,1.3707678548966238e-8,0.004662137755511344,-1.2973872164911173e-5,1.307227092715899e-8,0.004662344999202101,-1.2693012432152884e-5,1.2416231574338447e-8,0.0046624519407560735,-1.2460082818593682E-05,1.1872648439435237e-8,0.004662485004202495,-1.2327880026386206e-5,1.1564379854227212e-8,0.004662494901102442,-1.2327021407297365e-5,1.1562375295099926e-8,0.004662542595555069,-1.24533420275431e-5,1.185644126351985e-8,0.0046626799506357805,-1.2667322066857839e-5,1.2354101779958266e-8,0.004662933402383711,-1.2906251170550697e-5,1.2909087247827492e-8,0.004663297073919368,-1.3103506845817271e-5,1.3366273288023952e-8,0.004663736575308624,-1.3207064274389993e-5,1.360471420722314e-8,0.00466420034455511,-1.3191474217760806e-5,1.3565421464328888e-8,0.004664633821846689,-1.3061257113502004e-5,1.3259181775894936e-8,0.0046649923454657955,-1.284657142486857e-5,1.2756441236261749e-8,0.0046652500093320995,-1.2593575575264028e-5,1.2164869400910327e-8,0.004665403125135055,-1.2352518526780268e-5,1.160163133759852e-8,0.004665468293837048,-1.2166612359423423e-5,1.1167452954822372e-8,0.004665476372929213,-1.2064179756235221e-5,1.092829431744967e-8,0.004665464527011558,-1.205536188602705e-5,1.090765701107904e-8,0.00466546866248559,-1.2133139463074206e-5,1.1088976843000324e-8,0.004665517840456056,-1.2277264814901737e-5,1.1424838647350068e-8,0.00466563119751025,-1.245936221956031e-5,1.1848924275875613e-8,0.004665817006354218,-1.2647802841822536e-5,1.2287410809984839e-8,0.004666073053110041,-1.281166414378168e-5,1.2668190698852117e-8,0.004666387542373383,-1.292381306206243e-5,1.2928022906658796e-8,0.004666740117300406,-1.2963606556451226e-5,1.3018805625924864e-8,0.004667103089208761,-1.2919782368290056e-5,1.2914336858847914e-8,0.004667443516313451,-1.2793855787151033e-5,1.261828935995056e-8,0.004667727216102982,-1.2603634007130076e-5,1.2172443742013038e-8,0.004667925717887047,-1.2385223968453717e-5,1.1661335221281164e-8,0.004668025982969037,-1.2190587373047782e-5,1.1206425769168459e-8,0.004668040124918859,-1.2077562615726495e-5,1.0942668267392677e-8,0.004668009332740903,-1.2092131257680859e-5,1.0977046211594681e-8,0.004667995963365245,-1.2248776168792324e-5,1.1342816317376177e-8,0.004668063394253834,-1.2519839245074089e-5,1.1974895693262607e-8,0.004668252213447853,-1.2842352538933383e-5,1.272604191553377e-8,0.004668565476656956,-1.3140346753934688e-5,1.3419026252516424e-8,0.004668970137839872,-1.3350798188378615e-5,1.390712963685913e-8,0.00466941145688206,-1.3440881943664238e-5,1.4114239617360718e-8,0.004669831352637258,-1.3411820715628956e-5,1.4043647933471819e-8,0.004670183125758375,-1.3292231840828618e-5,1.3762398499525709e-8,0.004670439551567326,-1.3126587614643615e-5,1.3374333363953765e-8,0.0046705947835942166,-1.2963357965618242e-5,1.2992486691062576e-8,0.004670661871582767,-1.2845325839862214e-5,1.2716578643366719e-8,0.004670667699865216,-1.2802931475699457e-5,1.2617538625965364e-8,0.004670646681376949,-1.2850763728081769e-5,1.2729307862896565e-8,0.00467063427678483,-1.2987111806417097e-5,1.304775137827414e-8,0.004670661343090428,-1.3196164916613432e-5,1.353577457443399e-8,0.004670750064167247,-1.3452020070287972e-5,1.4132715042564545e-8,0.004670911777831962,-1.3723508501828329e-5,1.4765677409608379e-8,0.004671146597861861,-1.397894625705489e-5,1.5360669460035923e-8,0.004671444375319671,-1.4190158848444865e-5,1.5851986140975655e-8,0.004671786392194452,-1.4335593144657587e-5,1.6189419371909977e-8,0.004672147385320302,-1.440277455442945e-5,1.634395024210514e-8,0.004672497882915822,-1.439047323877524e-5,1.63128171558708e-8,0.004672807221955093,-1.4310754474099981e-5,1.6124358297051074e-8,0.004673047967062916,-1.4190585450886653e-5,1.5841798023873977e-8,0.004673202402940901,-1.4071681804180103e-5,1.556283414706472e-8,0.004673270739720579,-1.4006175424222032e-5,1.5409373309145138e-8,0.004673278417874302,-1.4045585886180635e-5,1.5501616287218707e-8,0.0046732771097705355,-1.4223112429589761e-5,1.5916656213600744e-8,0.0046733335426375954,-1.4535231411889031e-5,1.6645637433110732e-8,0.0046735060396706435,-1.4934337773744007e-5,1.7576826633511244e-8,0.004673819189801707,-1.5341741234222534e-5,1.852618723245616e-8,0.004674252268579398,-1.5677278964770178e-5,1.9306615085994873e-8,0.004674748944885229,-1.5888924620635015e-5,1.9797027686382072e-8,0.004675240882951573,-1.5966460031890974e-5,1.997414641383107e-8,0.004675670613593522,-1.593625842060622e-5,1.9900119679567408e-8,0.0046760041793818975,-1.5845643844857367e-5,1.9685820881802324e-8,0.00467623309851158,-1.5746690960885734e-5,1.945294625392006e-8,0.004676369818220206,-1.568457041001168e-5,1.930686205008403e-8,0.004676440772138309,-1.5691203227189234e-5,1.932191376955323e-8,0.004676479528732202,-1.5782987495501686e-5,1.9536206216259085e-8,0.004676520954653062,-1.5961033347667108e-5,1.995215400474037e-8,0.004676596422060922,-1.6212951573783454e-5,2.0540610281932875e-8,0.004676730027189161,-1.6515837372076925e-5,2.1247813816331533e-8,0.004676935979999788,-1.6840152095742693e-5,2.2004505046599017e-8,0.004677217318990602,-1.7154102391278926e-5,2.2736247570911134e-8,0.00467756602649892,-1.7428077777037665e-5,2.3373860561672378e-8,0.004677964479425937,-1.763863379374355e-5,2.3862716425329537e-8,0.0046783879238457065,-1.7771596392012232e-5,2.4169923607945506e-8,0.004678807583239352,-1.782417897198473e-5,2.4289203675387195e-8,0.004679194192743565,-1.780618647288843e-5,2.4243687912563586e-8,0.004679521978008149,-1.7740311713799754e-5,2.4086639550366526e-8,0.0046797732769125674,-1.7661270247751158e-5,2.3899445231071237e-8,0.004679943926326737,-1.7612934963310745e-5,2.378485408762777e-8,0.00468004874105327,-1.76419904879494e-5,2.38520116422879e-8,0.0046801248137174605,-1.7786845602176726e-5,2.4190427202702886e-8,0.004680228593309382,-1.806263404032576e-5,2.4834927068767032e-8,0.004680422650323219,-1.844760764224442e-5,2.5734020536887993e-8,0.0046807527992763975,-1.8880759513499523e-5,2.674458018490809e-8,0.0046812254701966765,-1.9278549072575866e-5,2.7671099756894892e-8,0.004681800427430815,-1.9566523632612258e-5,2.8339657629219468e-8,0.004682406079741662,-1.9708395147643984e-5,2.8665861411746463e-8,0.004682968366748158,-1.9715465849410977e-5,2.867679352392317e-8,0.004683435608529261,-1.9634266355882566e-5,2.8481924313167707e-8,0.0046837883337889595,-1.952439154406978e-5,2.822106187628867e-8,0.004684035487230924,-1.9439673756009193e-5,2.8020203083391307e-8,0.004684204485088165,-1.941806770279495e-5,2.7967929163297136e-8,0.00468433116167156,-1.9479029937500837e-5,2.8109428435669545e-8,0.004684452186456466,-1.9625176187452407e-5,2.845049597540157e-8,0.004684600168465979,-1.984553498761316e-5,2.896517248241957e-8,0.0046848006032723915,-2.0118998764571928e-5,2.9603786467988204e-8,0.0046850698397548065,-2.041773635670475e-5,3.0300926191513015e-8,0.004685413783371999,-2.0710763850050337e-5,3.098384943257845e-8,0.00468582740770953,-2.096777642395736e-5,3.1581541361914726e-8,0.004686295292293071,-2.1163165376747107e-5,3.203417446835051e-8,0.004686793459251504,-2.127986172954694e-5,3.230208207219933e-8,0.004687292561605285,-2.1312386356273433e-5,3.2372809600881676e-8,0.0046877621105637915,-2.126854613740853e-5,3.2264991110637834e-8,0.004688175258111988,-2.1169442043346494e-5,3.202831932504239e-8,0.004688513640797768,-2.104761290672734e-5,3.173919627450822e-8,0.004688771804655766,-2.0943260277204035e-5,3.149188772523059e-8,0.004688960704666771,-2.089847309766487e-5,3.138494951118754e-8,0.004689109427812848,-2.0949239557927876e-5,3.150244410680444e-8,0.0046892635417487075,-2.111546408427255e-5,3.189053130139887e-8,0.004689477922148566,-2.139077308886334e-5,3.253367882818093e-8,0.004689802698454854,-2.1736387602686895e-5,3.3340499356742825e-8,0.004690264446209853,-2.2085256460148676e-5,3.415361339714332e-8,0.004690850572478942,-2.2360461861946586e-5,3.4792836260214054e-8,0.004691507905376526,-2.2503277074614084e-5,3.512087981369812e-8,0.0046921603699025816,-2.2496547289027997e-5,3.5098078105129547e-8,0.004692737515622717,-2.2369205648309436e-5,3.4792895698371355e-8,0.0046931977430484575,-2.218033828194287e-5,3.434443116540985e-8,0.004693535450245421,-2.19946049648199e-5,3.390460552743203e-8,0.004693773572452373,-2.1862829343110403e-5,3.359254933534034e-8,0.0046939501630360635,-2.181362607661693e-5,3.3475032195887265e-8,0.004694106408800557,-2.1853986931876104e-5,3.356800326714713e-8,0.004694278929507639,-2.1974145041739544e-5,3.384814078091561e-8,0.004694495986966662,-2.2153135943492177e-5,3.4265942399950725e-8,0.00469477605708682,-2.236343686777121e-5,3.475658838964401e-8,0.004695127385027143,-2.25745849279392e-5,3.5248415385464474e-8,0.004695547882976639,-2.2756322352379375e-5,3.567032900021728e-8,0.004696025355911659,-2.2881787560675736e-5,3.595935203368904e-8,0.004696538399017729,-2.2930998865573962e-5,3.6068830865346576e-8,0.0046970585118214685,-2.2894428695522926e-5,3.597678695177047e-8,0.0046975538398428066,-2.277591695522771e-5,3.569266368776685e-8,0.004697994417085737,-2.2593897361128732e-5,3.52601055038316e-8,0.004698358163045725,-2.238005741037552e-5,3.475374675121492e-8,0.0046986364344812365,-2.2175013783692378e-5,3.4269031535764016e-8,0.0046988377483364,-2.2021316841364653e-5,3.3905777612987485e-8,0.004698988505350433,-2.1954843872662592E-05,3.3747957039559153e-8,0.00469913001615439,-2.199603289469974e-5,3.384312019587815e-8,0.004699311555481439,-2.2142626039551497e-5,3.418542095617081e-8,0.004699579681160445,-2.2366028659942287e-5,3.470720003209844e-8,0.004699965159038889,-2.261379023439517e-5,3.528496641002932e-8,0.0047004707613474824,-2.2820209470544427e-5,3.576439822294622e-8,0.004701065275270101,-2.29245915141501e-5,3.600321104272019e-8,0.0047016890656927665,-2.2891951736126434e-5,3.591970431021748e-8,0.004702272011748362,-2.2726666777386748e-5,3.5524736397453896e-8,0.004702756920507253,-2.2470877734699576e-5,3.491788013206634e-8,0.004703116987165939,-2.2187808782063738e-5,3.4248104068405246e-8,0.004703359534640568,-2.193925935774467e-5,3.3660754039070295e-8,0.004703517130520162,-2.176842696306175e-5,3.325714330433221e-8,0.004703633418269326,-2.1693450292192006e-5,3.3079469125848756e-8,0.004703750784664788,-2.1710014565138826e-5,3.311710181821752e-8,0.004703902999268972,-2.1798210735348334e-5,3.332284229703271e-8,0.00470411241473192,-2.1929606093883388e-5,3.362958798550564e-8,0.004704389870876045,-2.207267688476105e-5,3.396308166894864e-8,0.0047047356012256255,-2.2196523423997598e-5,3.425061394883235e-8,0.004705140226676658,-2.2273583221930157e-5,3.4427402906015455e-8,0.004705585684179088,-2.2282131344618075e-5,3.444250019797068e-8,0.004706046484988976,-2.2209080754436687e-5,3.426539393023329e-8,0.004706492021561705,-2.205305499960459e-5,3.389321201807501e-8,0.004706890608130669,-2.182697129221664e-5,3.3356730967267744e-8,0.00470721539646339,-2.1558758464267093e-5,3.2721977504560417e-8,0.004707451321018943,-2.12887104727388e-5,3.208392178194558e-8,0.004707601124258925,-2.1062650368795808e-5,3.1550339335174934e-8,0.004707687923092548,-2.092164673284272e-5,3.1217597646232705e-8,0.004707752373939844,-2.0890881213821516e-5,3.1144495257733445e-8,0.004707844271649323,-2.097124597532204e-5,3.1332583670419434e-8,0.004708010475613604,-2.113670162270532e-5,3.172008981581706e-8,0.004708282385389394,-2.1338748014371744e-5,3.219257613945702e-8,0.0047086664359290925,-2.15173693706775e-5,3.2608780636782456e-8,0.0047091404880734164,-2.161606952423453e-5,3.283599569519555e-8,0.004709657840613588,-2.159728736032355e-5,3.278626927707014e-8,0.0047101587972046815,-2.14536381865304e-5,3.244275536750323e-8,0.004710587092019814,-2.1210639927389882e-5,3.1866026733256766e-8,0.004710905784652387,-2.0918934500008726e-5,3.11756702803512e-8,0.004711106530119068,-2.0638435018091832e-5,3.051288304831013e-8,0.004711208865517889,-2.0420804081158147e-5,2.999917704131898e-8,0.004711250995690448,-2.029710843358638e-5,2.9707348003223693e-8,0.004711277151420492,-2.0274053881011356e-5,2.9652724627549498e-8,0.00471132674977426,-2.033766978305856e-5,2.9801983439850805e-8,0.00471142806619857,-2.046071242907155e-5,3.009067825446045e-8,0.004711596296366146,-2.061020016312087e-5,3.044100612335261e-8,0.004711834389857875,-2.0753171954947886e-5,3.077533281366249e-8,0.004712134965726818,-2.086041685204148e-5,3.1024925417154556e-8,0.004712482251510385,-2.090882235568343e-5,3.1135456149055995e-8,0.004712853737906606,-2.0883211847782863e-5,3.107133595210802e-8,0.004713221881139335,-2.0778334625325025e-5,3.082042383122008e-8,0.004713556597760101,-2.0601134262572815e-5,3.0399376917884984e-8,0.004713829354068818,-2.037263915355485e-5,2.9858068237885336e-8,0.004714019207495355,-2.0127999853239356e-5,2.9279591365504785e-8,0.004714120040236812,-1.9912737159773322e-5,2.8771311538676714e-8,0.00471414655809,-1.9773869991005393e-5,2.8443873226592142e-8,0.004714135386249772,-1.9746861801332327e-5,2.83804276963628e-8,0.004714138370032906,-1.984258160661189e-5,2.8606000254505665e-8,0.004714208596707071,-2.004036454826956e-5,2.9071316232283385e-8,0.004714383927031075,-2.029154199139544e-5,2.966130936884501e-8,0.00471467478824134,-2.0532945180363846e-5,3.022705867006223e-8,0.004715061013315357,-2.070513244011117e-5,3.0628741349271914e-8,0.00471549819391272,-2.076855953990602e-5,3.0773644450018024e-8,0.004715930398805945,-2.0712828599232458e-5,3.06378229761092e-8,0.00471630479798327,-2.0557372487725065e-5,3.02675794944921e-8,0.00471658419168978,-2.0344538606421003e-5,2.9763064924636998e-8,0.004716754587575241,-2.012762846230072e-5,2.9250034311585e-8,0.004716826391143379,-1.9957347775696705e-5,2.8847903519089865e-8,0.004716829482927148,-1.9870328926400146e-5,2.8642734974974278e-8,0.004716804183631088,-1.9882591570309303e-5,2.8671899620700577e-8,0.004716791192796836,-1.9989005281011388e-5,2.8922902741116466e-8,0.004716823437325514,-2.016770532199581e-5,2.934387756265717e-8,0.004716921469150951,-2.0387043502867066e-5,2.986002387931219e-8,0.0047170924226144694,-2.0612596164450385e-5,3.0390138793191444e-8,0.004717331446500595,-2.081266616228881e-5,3.085955828244744e-8,0.00471762425529221,-2.0961852660023846e-5,3.120852397033979e-8,0.004717949786709429,-2.104309008518074e-5,3.139695112234478e-8,0.004718282560551554,-2.104890203008696e-5,3.1407378398035346e-8,0.00471859492533725,-2.0982516486430054e-5,3.1247623321056654e-8,0.004718859796079545,-2.0859052414961204e-5,3.0953605446153896e-8,0.004719054624823485,-2.0706285041295662e-5,3.059112867970817e-8,0.004719167008269947,-2.0563643657749342e-5,3.025342322589191e-8,0.0047192012609654915,-2.0477478018717793e-5,3.00498426889888e-8,0.00471918345441392,-2.0491050133859172e-5,3.0082155472353386e-8,0.004719160711673773,-2.0630138351970563e-5,3.041060704503147e-8,0.004719191097019601,-2.0889406258420564e-5,3.1021931692673706e-8,0.004719325043469325,-2.1227769789697886e-5,3.181866698159706e-8,0.0047195859260143365,-2.1578468896618452e-5,3.264310559084911e-8,0.004719960156972756,-2.187111814865657e-5,3.3329373513019146e-8,0.004720402230039262,-2.2055137896671795e-5,3.375863627291979e-8,0.004720851199728154,-2.211368644516015e-5,3.3891818178741824e-8,0.004721249742534635,-2.2064084478755165e-5,3.3770422384395773e-8,0.004721558271420089,-2.194802371751545e-5,3.349326327499581e-8,0.004721761248337392,-2.181765833721016e-5,3.318355542341268e-8,0.004721866556401599,-2.1722520963282726e-5,3.295805030285286e-8,0.004721900238871268,-2.169987115382176e-5,3.29043510790176e-8,0.004721898892204645,-2.176929055241197e-5,3.306826983285239e-8,0.004721901529417458,-2.193141803818353e-5,3.345092527192641e-8,0.004721942348745987,-2.2170269412426117e-5,3.401426136456454e-8,0.004722045516212493,-2.2458138717909424e-5,3.4692640398515564e-8,0.004722222546618573,-2.2761699487966296e-5,3.540726851507083e-8,0.0047224722135377,-2.3047940802877143e-5,3.6080226653327896e-8,0.004722782394577666,-2.3288951948910685e-5,3.6645758612571877e-8,0.004723132980101565,-2.3465103100195668e-5,3.7057739558551584e-8,0.004723499026608934,-2.3566743782828097e-5,3.729363200615465e-8,0.004723853726366984,-2.3594919509001365e-5,3.7356145869933e-8,0.004724171226410891,-2.356158846622636e-5,3.727375668144662e-8,0.00472442964344223,-2.3489522051841577e-5,3.710048713221879e-8,0.004724614776565834,-2.3411574874169688e-5,3.691415587823861e-8,0.004724724794459883,-2.3368277341243487e-5,3.6810591870453345e-8,0.0047247752100325596,-2.340213360934399e-5,3.6890033197833116e-8,0.004724801818033701,-2.354741153860014e-5,3.723294414462482e-8,0.00472485768521177,-2.3816423663497148e-5,3.786770260091306e-8,0.004725000635390749,-2.418751526032683e-5,3.8742466858000376e-8,0.004725272431033011,-2.4603620051597823e-5,3.972202334985268e-8,0.0047256788219663705,-2.4987702204493527e-5,4.062439541897351e-8,0.004726183285667441,-2.5270759185625143e-5,4.128696584233639e-8,0.004726720126803429,-2.541754230471784e-5,4.162712542300643e-8,0.004727219448344189,-2.5435941739691993e-5,4.166429361538732e-8,0.004727629770664268,-2.536784151980682e-5,4.149811650246318e-8,0.00472792886355938,-2.5270329894455154e-5,4.126387077300937e-8,0.00472812265068321,-2.5197835046972124e-5,4.109015364379114e-8,0.0047282373150355555,-2.5190669974525258e-5,4.1071880240448236e-8,0.004728309665470908,-2.5270343003186838e-5,4.125937504726307e-8,0.004728378624615121,-2.543968430350618e-5,4.165883422548709e-8,0.004728478767596398,-2.5685707126707573e-5,4.223916565564198e-8,0.004728635885651726,-2.5983880913205705e-5,4.294209090323031e-8,0.004728864409439411,-2.6303109090072288e-5,4.369389967187808e-8,0.00472916659618418,-2.6610845597161917e-5,4.44175634064523e-8,0.004729533321857145,-2.687781278328495e-5,4.5043926732075706e-8,0.00472994622235607,-2.708187235910797e-5,4.55208730022123e-8,0.004730380793270376,-2.721067737099242e-5,4.5819553184842186e-8,0.004730809906752847,-2.7262961196945158e-5,4.593735403726144e-8,0.004731207297948036,-2.724866569169805e-5,4.589813042879811e-8,0.004731550882303068,-2.7188193463415645e-5,4.5750407942570875e-8,0.004731825972564864,-2.7110878798737e-5,4.5563763450471336e-8,0.004732028530653421,-2.7052515132200603e-5,4.54229491228676e-8,0.004732168446389242,-2.7051350258781955e-5,4.541834024160813e-8,0.004732272116670077,-2.714157631827611e-5,4.563044734216501e-8,0.004732382358303023,-2.734381236381859e-5,4.610740117539504e-8,0.004732552676207028,-2.765400554259749e-5,4.6838853150868065e-8,0.004732833512182073,-2.803550331529912e-5,4.773748847006038e-8,0.004733252285295634,-2.842190019560124e-5,4.864598097253564e-8,0.004733796293531172,-2.8735835655547945e-5,4.9381511830951945e-8,0.004734411109839088,-2.891853713979851e-5,4.980557132802008e-8,0.004735019503554785,-2.895397730306729e-5,4.9880998252676156e-8,0.004735551138537044,-2.887270533546891e-5,4.9680920882470014e-8,0.00473596575267552,-2.873482839748109e-5,4.9348284107208375e-8,0.004736259519104328,-2.8605104853960317e-5,4.903667122874668e-8,0.004736457060975534,-2.8533821667809858e-5,4.886493863585071e-8,0.0047365979415711565,-2.85485921602435e-5,4.88979128990018e-8,0.004736724583238949,-2.8654807118183317e-5,4.914769787656253e-8,0.0047368742116397,-2.8840382877356432e-5,4.958511728727826e-8,0.004737074552126241,-2.9081541619000465e-5,5.015347478913712e-8,0.004737342012367782,-2.934812648323624e-5,5.078111482310837e-8,0.004737681309886265,-2.960821833601568e-5,5.139231870366264e-8,0.004738086098954303,-2.9832193363411564e-5,5.191692419486976e-8,0.004738540469209245,-2.9996259595434974e-5,5.229874245767923e-8,0.0047390212881655396,-3.0085394338945098e-5,5.2502529913061444e-8,0.004739501377336211,-3.0095423581682325e-5,5.251886124976056e-8,0.004739953305782397,-3.0033870472254683e-5,5.236603682676017e-8,0.004740353348319325,-2.9919407976351642e-5,5.208868447062693e-8,0.004740685200385828,-2.9779991128983356e-5,5.175327771239827e-8,0.004740943182403257,-2.9649741613378564e-5,5.1440738209547884e-8,0.004741134674185391,-2.9564621576085497e-5,5.1236171222247815e-8,0.004741281429687509,-2.955689735080932e-5,5.121571324845782e-8,0.004741419089674041,-2.9648317114137292e-5,5.1430346955513816e-8,0.004741593583568248,-2.984236535396184e-5,5.18876132323745e-8,0.0047418528064249385,-3.0117417530783683e-5,5.2535574522677666e-8,0.004742232999460031,-3.0424697664623252e-5,5.325821214909581e-8,0.004742742611363063,-3.069609207813721e-5,5.3894094209571386e-8,0.004743351393757184,-3.086414788615748e-5,5.4283751424790724e-8,0.004743994368040548,-3.088836563852584e-5,5.433186801908802e-8,0.004744593460110826,-3.0773559410401626e-5,5.4050676811265004e-8,0.004745086788273111,-3.0567784478253706e-5,5.3554919237006306e-8,0.004745448989905369,-3.034083898991905e-5,5.301067418598428e-8,0.0047456930853903715,-3.015732469647893e-5,5.257126350003612e-8,0.004745857698513026,-3.00585998089884e-5,5.233439298931279e-8,0.004745990240669041,-3.0058200221043662e-5,5.233146185427817e-8,0.004746133999600095,-3.01466801907586e-5,5.2539325380684306e-8,0.004746321325199566,-3.0299826522431672e-5,5.289999214373297e-8,0.004746571565708012,-3.048628868783824e-5,5.333878061980279e-8,0.004746891547053987,-3.067323831866283e-5,5.377769034777425e-8,0.004747276976592629,-3.083031101807034e-5,5.414468688672485e-8,0.0047477141402886116,-3.09325591886319E-05,5.4380693556431183e-8,0.004748181886555148,-3.096289364885244e-5,5.444541244979396e-8,0.004748654088097438,-3.09141513535335e-5,5.432224087989675e-8,0.004749102826477359,-3.079058892868887e-5,5.4021765189798875e-8,0.0047495023578297945,-3.060826542501298e-5,5.358256772490767e-8,0.004749833466407175,-3.0393770407297746e-5,5.306810148158317e-8,0.0047500874842839194,-3.018108231591561e-5,5.2559163277776153e-8,0.004750269208928283,-3.000667785776047e-5,5.214226026089898e-8,0.004750398005292498,-2.990333609399654e-5,5.1894905169507964e-8,0.004750506508683392,-2.9893424852776115e-5,5.186969825178604e-8,0.004750636541043871,-2.9982645840082855e-5,5.2079533030619567e-8,0.0047508320083346,-3.0155421919572188e-5,5.248676449937229e-8,0.004751128908639331,-3.037369192805859e-5,5.300052553271625e-8,0.0047515437134295745,-3.058146946640733e-5,5.348771766126394e-8,0.004752063484848125,-3.071700733657849e-5,5.380196084787112e-8,0.0047526432287152715,-3.073156493559227e-5,5.382809002665862e-8,0.004753215530274019,-3.060859876345908e-5,5.352758456900073e-8,0.004753711939495655,-3.0373149193153703e-5,5.2960713748294996e-8,0.004754087100048578,-3.0083973403278307e-5,5.226769683183297e-8,0.00475433293603724,-2.98112136590755e-5,5.1615475629158006e-8,0.004754476264544549,-2.9611822552670604e-5,5.113920082596975e-8,0.004754563953700199,-2.9514823359041654e-5,5.0907249040929476e-8,0.0047546455613278705,-2.9520016886330627e-5,5.0918372072733805e-8,0.004754761071596459,-2.9605722627759065e-5,5.112036823852704e-8,0.004754935662167024,-2.9739033755819657e-5,5.143462572713782e-8,0.0047551796096890735,-2.988434036747737e-5,5.1776389895648226e-8,0.004755490589258526,-3.0008869624587908e-5,5.206783588245407e-8,0.004755856442393838,-3.008584029224015e-5,5.224546763974042e-8,0.004756257668350731,-3.0096339668500227e-5,5.2264540791731686e-8,0.004756669706745484,-3.0030731792701057e-5,5.210242554479061e-8,0.004757065414585785,-2.9889908539192638e-5,5.176159886049536e-8,0.004757418195542284,-2.968619040159789e-5,5.1271759843174285e-8,0.00475770601363651,-2.9443203318333868e-5,5.0689459342253564e-8,0.004757915965546911,-2.9193873541743718e-5,5.009323271378707e-8,0.004758048438176281,-2.8975983699953833e-5,4.957295059706262e-8,0.0047581194741599594,-2.882542250153593e-5,4.921372935448555e-8,0.004758160019778779,-2.876818870394926e-5,4.9076934374705044e-8,0.004758211358591651,-2.8813062505827567e-5,4.9182827912228046e-8,0.004758317093348088,-2.894711954955259e-5,4.950002836532726e-8,0.004758513086696229,-2.913579719092093e-5,4.994582695633771e-8,0.004758817511140333,-2.932837760191171e-5,5.03993731608605e-8,0.004759223605850981,-2.9468701036464705e-5,5.072723219425754e-8,0.004759697867909933,-2.9509504216527897e-5,5.0817464553032814e-8,0.004760185864983653,-2.942696235017769e-5,5.061410130962157e-8,0.0047606259543624555,-2.9230317643366145e-5,5.0139889000795495e-8,0.004760967607467908,-2.896139174117637e-5,4.9494965504536796e-8,0.004761187350905263,-2.8682116608214554e-5,4.882704196243258e-8,0.004761294966547717,-2.8454389880011927e-5,4.828336259201367e-8,0.004761327275387122,-2.8321230768383856e-5,4.796585845162461e-8,0.004761333553681048,-2.829714704173953e-5,4.790836114893017e-8,0.0047613601652829966,-2.8369688621673795e-5,4.808053312846534e-8,0.004761440321646852,-2.8508399895063426e-5,4.8409387338905586e-8,0.004761590551451071,-2.8675522491192136e-5,4.880485640357133e-8,0.004761812082991868,-2.883449707617644e-5,4.917998782520274e-8,0.004762094385548418,-2.8955069947828657e-5,4.946298307321452e-8,0.004762418882065095,-2.9015693696433737e-5,4.960280392062293e-8,0.0047627620311700624,-2.9004461174501594e-5,4.95713500331758e-8,0.004763097828331392,-2.8919547543918302e-5,4.936452599578333e-8,0.004763400221147088,-2.8769621484632385e-5,4.90032528762637e-8,0.004763646058855578,-2.8574085268911304e-5,4.8534040160042696e-8,0.004763818946533213,-2.8362398774863e-5,4.802731915464349e-8,0.004763913739565946,-2.8171404920085826e-5,4.757097276326134e-8,0.004763940543520972,-2.8039773963918373e-5,4.725700354486537e-8,0.004763926283878361,-2.7999613583819032e-5,4.7161505527736824e-8,0.004763911790083301,-2.806694015820014e-5,4.732201788368541e-8,0.004763943561668426,-2.8234348316907707e-5,4.772020956502153e-8,0.004764061768513518,-2.846950262937871e-5,4.827848357257109e-8,0.004764288248044224,-2.8721294087771193e-5,4.8874818169044365e-8,0.004764618840848933,-2.893247019251986e-5,4.93729414401414e-8,0.004765022978940383,-2.905493603698263e-5,4.965875709174304e-8,0.004765450868508584,-2.9062967578863874e-5,4.967170122917772e-8,0.004765846191254104,-2.8960399760946087e-5,4.942169071629253e-8,0.00476616076776282,-2.8779715550303997e-5,4.8986766544630736e-8,0.004766367084636814,-2.8573141543301774e-5,4.849172329484978e-8,0.004766464911858467,-2.839814847115955e-5,4.807347695622499e-8,0.00476647980983421,-2.8301831799976193e-5,4.784386143983262e-8,0.004766454199070231,-2.830937480805551e-5,4.7862255367856655e-8,0.004766434603844106,-2.8420157629011527e-5,4.8126495550133353e-8,0.004766459867818386,-2.861169104607286e-5,4.8582435764613466e-8,0.004766553900979995,-2.8848469249434867e-5,4.9145161379864336e-8,0.004766723895020026,-2.9091731049801776e-5,4.9722271610959204e-8,0.004766962652236033,-2.9307102792118214e-5,5.023203099217928e-8,0.004767252783211253,-2.946903329270971e-5,5.061383669831442e-8,0.004767570966247876,-2.956252059197733e-5,5.083224211036534e-8,0.00476789143265435,-2.9583263200849124e-5,5.0877272768619633e-8,0.004768188657904238,-2.9537233992896767e-5,5.076341708753041e-8,0.004768439713838026,-2.9440208044921784e-5,5.0528530531352904e-8,0.004768626910754468,-2.9317193423369705e-5,5.0232483468787865e-8,0.004768741178477299,-2.9201099070795987e-5,4.9953931538163455e-8,0.004768786027644776,-2.9129513499080413e-5,4.978252629146496e-8,0.004768780936853772,-2.9138496012208616e-5,4.980400285879896e-8,0.0047687618966803106,-2.9253256552848995e-5,5.007792821246455e-8,0.004768776430770757,-2.94777909524039e-5,5.0613091054872876e-8,0.004768871988096792,-2.9788111750287958e-5,5.13515752527904e-8,0.004769080444607102,-3.013432954967566e-5,5.2173957718739495e-8,0.004769405284770623,-3.0453486715106665e-5,5.293006343952431e-8,0.004769818220406904,-3.0688999004594416e-5,5.3485350267577706e-8,0.00477026743433048,-3.080834002271513e-5,5.376298803352503e-8,0.004770693577738604,-3.081168201237658e-5,5.3764285152528835e-8,0.004771046589895863,-3.072935915638893e-5,5.3562407814568835e-8,0.004771297631526678,-3.0610999818195513e-5,5.3276237909610404e-8,0.004771443711692161,-3.051122681918304e-5,5.303613422492912e-8,0.004771505396973143,-3.047631542556714e-5,5.295212013490912e-8,0.004771519499267242,-3.0534710642808274e-5,5.3091406911566415e-8,0.004771529205577235,-3.0692816320908944e-5,5.346855026149306e-8,0.00477157418650815,-3.0936189653487376e-5,5.404847750248202e-8,0.004771682921045021,-3.123511651048176e-5,5.4759893534474465e-8,0.004771868687189363,-3.1552574400663744e-5,5.551430977654335e-8,0.004772129449714966,-3.1852223337845775e-5,5.622508871487745e-8,0.004772450721118148,-3.210457768014518e-5,5.682212037646142e-8,0.0047728099065585915,-3.2290564110685556e-5,5.726024480323222e-8,0.004773180754965365,-3.240266257319448e-5,5.752190311025016e-8,0.004773537085899212,-3.244442374528547e-5,5.761592957241243e-8,0.004773855633711976,-3.242925814099788e-5,5.757463774878549e-8,0.004774118342142201,-3.237905496994603e-5,5.7450525834272396e-8,0.004774314614586185,-3.23226647010406e-5,5.731264700502641e-8,0.004774443914942631,-3.2293765111534964e-5,5.724146147285952e-8,0.004774518652136438,-3.232717786829844e-5,5.731994509929363e-8,0.0047745663374796085,-3.245259117379958e-5,5.761852250142311e-8,0.004774628801644312,-3.268548015279706e-5,5.817341730913397e-8,0.004774755642402249,-3.301726301171104e-5,5.896332753649877e-8,0.004774990554962329,-3.340982109567715e-5,5.989660608993938e-8,0.004775353818295921,-3.3800784181514464e-5,6.082409330155231e-8,0.004775829687604098,-3.412186477507274e-5,6.158296115132251e-8,0.004776367868533359,-3.4323594773016025e-5,6.205572173406188e-8,0.004776900497853547,-3.439347655809735e-5,6.22134491263007e-8,0.004777365818310518,-3.435798439395554e-5,6.21203712505869e-8,0.004777726423271264,-3.426947678704886e-5,6.190234646575702e-8,0.004777975587727213,-3.418704078505039e-5,6.170085067616404e-8,0.004778133031878161,-3.416016772550692e-5,6.163388088984261e-8,0.004778235183303571,-3.42193194337018e-5,6.177353927618648e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_27.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_27.json new file mode 100644 index 000000000..2cb27659e --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_27.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":27000,"numberOfSamples":426,"samples":[0.004778324486778677,-3.437325503603603e-5,6.213990841775234e-8,0.0047784403655323285,-3.4611193149972956e-5,6.270647293317436e-8,0.004778612794687001,-3.490776213298559e-5,6.34120907874662e-8,0.004778858592736182,-3.52292773450405e-5,6.41760174740733e-8,0.004779180332297561,-3.554033000747647e-5,6.491361305699471e-8,0.0047795676373042825,-3.580972313910667e-5,6.555048782196374e-8,0.004780000304382801,-3.601491695515349e-5,6.603309632804475e-8,0.00478045244087296,-3.61445559073166e-5,6.63347373647879e-8,0.004780896788498023,-3.619907152539314e-5,6.64569282050896e-8,0.004781308537182374,-3.6189716300693844e-5,6.642701476463283e-8,0.004781668287402928,-3.613665338138569e-5,6.62935418736394e-8,0.004781964263597514,-3.606664631235279e-5,6.612070094818705e-8,0.004782194088007322,-3.6010502207012165e-5,6.598220199376154e-8,0.004782366358377176,-3.600003307813221e-5,6.595397202033107e-8,0.004782501973157172,-3.6063967015481664e-5,6.610431957871602e-8,0.004782634428155468,-3.622211612037997e-5,6.647996630880908e-8,0.004782807312744113,-3.647777437681964e-5,6.708796154697767e-8,0.004783066725500625,-3.681018070253991e-5,6.787788985789277e-8,0.004783447527929692,-3.717158351927006e-5,6.873512189479286e-8,0.004783956543699519,-3.749495769285591e-5,6.949941757309266e-8,0.004784561694818515,-3.7714824470447004e-5,7.001467512930746e-8,0.00478519734376055,-3.779386901530488e-5,7.019245393058328e-8,0.004785787298279908,-3.773988586048272e-5,7.005238005891471e-8,0.004786273540716633,-3.760159745695435e-5,6.971198893123057e-8,0.004786634261718939,-3.7446681679021194e-5,6.93338948131939e-8,0.004786883955125812,-3.7336538281738074e-5,6.90651418882107e-8,0.004787060855944783,-3.731025026111713e-5,6.89987545085644e-8,0.004787211498019626,-3.738052485901743e-5,6.916423518663561e-8,0.004787378723491085,-3.753768633517913e-5,6.953747098677388e-8,0.004787594743852002,-3.775688736390837e-5,7.005827277528313e-8,0.004787878341866488,-3.8005421267547694e-5,7.064797754466723e-8,0.004788234677867704,-3.824887091042978e-5,7.122411974828502e-8,0.004788656578890198,-3.845602832364749e-5,7.171211724931977e-8,0.004789126866304347,-3.8602762874008655e-5,7.205447458736902e-8,0.004789621527438917,-3.867476505188969e-5,7.221733392634786e-8,0.004790113453092092,-3.866900598852055e-5,7.219394452663505e-8,0.004790576389242894,-3.859380569021363e-5,7.200475975629059e-8,0.004790988658217021,-3.846749668906106e-5,7.169414035802423e-8,0.004791336185455692,-3.831592746623132e-5,7.132428928460062e-8,0.004791614602286293,-3.8169236193829984e-5,7.096748066882624e-8,0.004791830442019499,-3.8058199395276177E-05,7.069730505809583e-8,0.00479200147328233,-3.8010251494226334e-5,7.057912997799612e-8,0.00479215608282581,-3.8045112493544786e-5,7.065962097547686e-8,0.004792331243570715,-3.816988109148568e-5,7.095502401154791e-8,0.00479256801539422,-3.837391090721481e-5,7.143902873254914e-8,0.004792903356231363,-3.8625101009650084e-5,7.203412021826269e-8,0.00479335809982377,-3.887092912081732e-5,7.261428947824125e-8,0.004793923998139211,-3.904832069801235e-5,7.302876037880577e-8,0.004794557121329183,-3.910366330394545e-5,7.314982344552248e-8,0.004795186187943556,-3.901641098772414e-5,7.292918982979318e-8,0.004795737032643518,-3.881216157437762e-5,7.242916797983955e-8,0.004796161501972789,-3.855411099464743e-5,7.180203477009054e-8,0.004796453566145229,-3.831658356890081e-5,7.122636889591443e-8,0.004796644767523727,-3.815714860499036e-5,7.084000022037542e-8,0.004796785949434881,-3.8101951194646106e-5,7.070485098911682e-8,0.004796928139441377,-3.8146598603855446e-5,7.080934608157665e-8,0.004797110480654036,-3.8265789851055167e-5,7.109188904690533e-8,0.004797355877127002,-3.8424311612934556e-5,7.146748579270787e-8,0.004797671612426517,-3.8585616852327366e-5,7.184835086333892e-8,0.004798052093481322,-3.8717282547673696e-5,7.215687639979793e-8,0.004798481982683185,-3.879416904832568e-5,7.233306811500727e-8,0.0047989392109531745,-3.880032466659669e-5,7.233903786826962e-8,0.004799398014519919,-3.873014716490181e-5,7.216177815700216e-8,0.004799832156249859,-3.858883316916818e-5,7.181423253686315e-8,0.004800218353251468,-3.839193072968296e-5,7.133417138730679e-8,0.004800539728226463,-3.816370201797726e-5,7.07801739212383e-8,0.004800788798428815,-3.7934150450836535e-5,7.022440790334248e-8,0.004800969422381577,-3.773493298607536e-5,6.97427737273164e-8,0.004801097307136082,-3.7594608437565975e-5,6.940350057998089e-8,0.004801198860837516,-3.753375575082618e-5,6.925545753494772e-8,0.004801308307002621,-3.7560557353341817e-5,6.931760143740602e-8,0.004801463061629263,-3.766739513003747e-5,6.957089748412672e-8,0.0048016973159992595,-3.7829085241195104e-5,6.995424232825527e-8,0.004802033897188718,-3.800393663211438e-5,7.036721161540528e-8,0.004802475381486049,-3.8139426649914707e-5,7.068384881196978e-8,0.004802997237534293,-3.8183940325160886e-5,7.078086051437349e-8,0.0048035477616877155,-3.810365748834886e-5,7.057799420498539e-8,0.004804059432364746,-3.789890582121566e-5,7.007704800926735e-8,0.004804471058177286,-3.76100617891968e-5,6.93758159734603e-8,0.004804751226949466,-3.730566920695092e-5,6.863938578566553e-8,0.0048049094711126545,-3.705654492532993e-5,6.803781398940207e-8,0.004804988697932718,-3.691017647857788e-5,6.768458911635844e-8,0.004805045208603211,-3.687881976068849e-5,6.760819207952647e-8,0.004805128912216125,-3.6943695478478026e-5,6.776250536534154e-8,0.004805272128763522,-3.706800766501402e-5,6.805842303113509e-8,0.0048054875443432725,-3.72102043926267e-5,6.839587172762585e-8,0.004805771578807736,-3.733305531184578e-5,6.868556225257375e-8,0.004806109373196501,-3.740819210339049e-5,6.885971585954908e-8,0.004806479267214914,-3.741763766075652e-5,6.887556737614801e-8,0.00480685624919262,-3.7353970688048305e-5,6.871568343569287e-8,0.00480721474503835,-3.722005965565962e-5,6.838732853486281e-8,0.004807531254878627,-3.70285788369557e-5,6.792132402469517e-8,0.004807787168840347,-3.680107359176237e-5,6.736978068548045e-8,0.0048079717908961535,-3.656606685754552e-5,6.680147748275388e-8,0.004808085124176199,-3.635572067784862e-5,6.629375291303479e-8,0.0048081395655390005,-3.6201003683608846e-5,6.59208353445968e-8,0.004808159619935799,-3.61259119702826e-5,6.573995300854134e-8,0.004808179052187587,-3.614182096799145e-5,6.577781399967254e-8,0.0048082354644977225,-3.624339663861216e-5,6.602088125342372e-8,0.004808363016906486,-3.640739698014146e-5,6.641263422122376e-8,0.004808584568140996,-3.659514206004428e-5,6.685967165663355e-8,0.004808904762436531,-3.6758854267688404e-5,6.724710168628325e-8,0.00480930579650223,-3.685155258136531e-5,6.746239580653564e-8,0.0048097478566896616,-3.683927126708737e-5,6.742470100953433e-8,0.004810176029910032,-3.6712847565078014e-5,6.711298772615927e-8,0.0048105340254307105,-3.649482817530326e-5,6.658239512536003e-8,0.004810781727205723,-3.62365842449442e-5,6.595705126594526e-8,0.004810909644980501,-3.6003671889103674e-5,6.539470778083783e-8,0.004810942478516832,-3.5853999525254e-5,6.503419712779448e-8,0.004810929054258762,-3.581891665158464e-5,6.495006857326439e-8,0.0048109239580987374,-3.589619723046781e-5,6.513597488805307e-8,0.0048109704482596355,-3.605632765339819e-5,6.552011162684835e-8,0.004811091479469972,-3.625616637154878e-5,6.599830095926331e-8,0.0048112894999106535,-3.645235261818129e-5,6.646628961790225e-8,0.004811551496979631,-3.661003899809157e-5,6.684062633294758e-8,0.004811855326073649,-3.6706519877171644e-5,6.706718834733222e-8,0.004812175008010524,-3.673147922115121e-5,6.71216166824625e-8,0.00481248442724685,-3.668578285980148e-5,6.70063528600365e-8,0.004812759857408077,-3.6580011791983614e-5,6.67471364140862e-8,0.004812982021847438,-3.643312892218514e-5,6.638984182107787e-8,0.004813138260380984,-3.627105788419161e-5,6.599705939990736e-8,0.004813224984539436,-3.612453739463318e-5,6.56428706687843e-8,0.004813250027706149,-3.6025539008764395e-5,6.540413556464342e-8,0.004813233901618618,-3.600194055235022e-5,6.53476083256435e-8,0.004813208641342787,-3.6070981482546236e-5,6.55141956879046e-8,0.004813213185891162,-3.623309956685937e-5,6.590422431888505e-8,0.0048132853329533815,-3.6468577247922494e-5,6.646953796652841e-8,0.00481345196089862,-3.6739232782648675e-5,6.711775543238068e-8,0.004813720524850067,-3.699585543676539e-5,6.773031548224511e-8,0.004814074915372328,-3.718990777229592e-5,6.819070851646075e-8,0.004814477519636433,-3.7286327454266165e-5,6.841524919716474e-8,0.004814877412507499,-3.727371265226798e-5,6.837744468682739e-8,0.004815222824200392,-3.71687674239285e-5,6.811846623591315e-8,0.004815474776181273,-3.70132472069625e-5,6.773954080785747e-8,0.0048156180606356,-3.686348225678969e-5,6.737652512252384e-8,0.004815665783668138,-3.677486127562191e-5,6.716247159200004e-8,0.004815655222405848,-3.678604759224073e-5,6.718971555136587e-8,0.004815636005506843,-3.690868613654817e-5,6.74853269118757e-8,0.004815655154643246,-3.712641741469069e-5,6.800902880734398e-8,0.0048157448657402905,-3.740272786418989e-5,6.86723392503097e-8,0.004815916982414414,-3.769330697538445e-5,6.936842915828944e-8,0.004816164398472773,-3.79575991566434e-5,6.999989097850887e-8,0.004816466732888395,-3.8166161444911164e-5,7.049630552378684e-8,0.004816796998892661,-3.830332545250297e-5,7.082047667647441e-8,0.004817127128752034,-3.8366574426466915e-5,7.096680517792435e-8,0.004817431716377734,-3.8364425072400815e-5,7.095614538559232e-8,0.00481769031494261,-3.831406952629976e-5,7.0830151666776e-8,0.004817889007363463,-3.823930287395324e-5,7.064632660863894e-8,0.004818021924002364,-3.81685964240486e-5,7.047337979987863e-8,0.004818092995005395,-3.8132677946559405e-5,7.038533637487357e-8,0.004818117609598462,-3.8160829347254704e-5,7.045252292139183e-8,0.0048181231757472446,-3.8275439457385075e-5,7.072838433001155e-8,0.004818147032808319,-3.848524220234855e-5,7.123323584537503e-8,0.004818230263552585,-3.877913888410908e-5,7.193954194116859e-8,0.004818407376247594,-3.9123929426344404e-5,7.276667979907158e-8,0.004818694517905241,-3.946919365675648e-5,7.359290131063591e-8,0.004819081226702352,-3.975987623674142e-5,7.428575222689352e-8,0.004819530473516512,-3.99528372131395e-5,7.474192447320143e-8,0.004819988207444505,-4.003071053802827e-5,7.492052207630327e-8,0.0048203989246250615,-4.000728896884301e-5,7.485582965376748e-8,0.004820721175466344,-3.99227597487728e-5,7.464556945092878e-8,0.004820937782280773,-3.9831445677784674e-5,7.442110541926777e-8,0.004821058434419171,-3.978679151255124e-5,7.431111753324506e-8,0.004821115078288102,-3.982808284365596e-5,7.44096350669423e-8,0.0048211522270188,-3.9972043873461636e-5,7.475600152324611e-8,0.004821215190839854,-4.021085655268812e-5,7.533039650683856e-8,0.004821339447086454,-4.051642323333889e-5,7.606436621672032e-8,0.004821543793180569,-4.084903826994292e-5,7.686186217830935e-8,0.004821828560137223,-4.11675330397259e-5,7.762370019061549e-8,0.00482217843219588,-4.143791773110746e-5,7.826830249781045e-8,0.004822568060222116,-4.163862375087511e-5,7.874420409142698e-8,0.004822968276370532,-4.176204785493435e-5,7.903364411314588e-8,0.0048233512962861805,-4.1813332547424874e-5,7.914952587908982e-8,0.004823694268337095,-4.180773689787612e-5,7.912902718095061e-8,0.004823981341733217,-4.176770959006623e-5,7.902653839294732e-8,0.004824204843306262,-4.172022434438517e-5,7.890725119874452e-8,0.004824366170721857,-4.169434217802275e-5,7.884127164436675e-8,0.0048244767088938545,-4.1718500655906905e-5,7.889702962949885e-8,0.004824558542278362,-4.1816828861910714e-5,7.9132317175072e-8,0.004824644046356498,-4.2004005130913916e-5,7.958186192139638e-8,0.004824772810595939,-4.227902970506275e-5,8.02424031086156e-8,0.004824984330163837,-4.261986981161869e-5,8.105999852427741e-8,0.0048253063789773926,-4.2982701249766916e-5,8.192845535537351e-8,0.004825742302472369,-4.330968240475467e-5,8.2708249557431e-8,0.004826263889668254,-4.354578668059347e-5,8.326714000557609e-8,0.004826816164327769,-4.365883275531775e-5,8.352838122738419e-8,0.004827334389224904,-4.3652515189787744e-5,8.350199407923697e-8,0.0048277656748831246,-4.356505406150206e-5,8.328128245698638e-8,0.00482808475136242,-4.3454640222978786e-5,8.300742298950006e-8,0.0048282979694060126,-4.337986978855226e-5,8.282198985286413e-8,0.004828436715004647,-4.3383781338829196e-5,8.28283556019412e-8,0.004828545452468338,-4.3485739353153795e-5,8.307227830943268e-8,0.004828669442671055,-4.368097256269977e-5,8.354112596095182e-8,0.004828845131978453,-4.394543747541324e-5,8.417594361299053e-8,0.004829094332003,-4.42434357404026e-5,8.489003053203357e-8,0.004829422222056958,-4.453594609792681e-5,8.558908046994333e-8,0.004829818689134246,-4.4788154520325726e-5,8.618928271603903e-8,0.004830262162433468,-4.497503014521456e-5,8.663067376891177e-8,0.004830724791376845,-4.508429236527066e-5,8.688419593273334e-8,0.004831177763389958,-4.5116784857431304e-5,8.695250414418422e-8,0.0048315958105310045,-4.50848066644472e-5,8.686584714086303e-8,0.004831960372320328,-4.50092207251216e-5,8.667501419792826e-8,0.004832261385448886,-4.4916181410082026e-5,8.644339426785272e-8,0.004832498085672877,-4.4834021165063305e-5,8.623945104183476e-8,0.004832679280731162,-4.479034989518507e-5,8.612971656792317e-8,0.004832823322580668,-4.480906858922817e-5,8.61715560370843e-8,0.004832957631610085,-4.490685000713927e-5,8.640463908636807e-8,0.0048331170643941285,-4.508874878499018e-5,8.684036295819687e-8,0.004833339822081472,-4.5343323574385394e-5,8.745021561454051e-8,0.004833659599911437,-4.5639123415037367e-5,8.815754137046817e-8,0.004834094074838598,-4.592604139982e-5,8.884105976880853e-8,0.004834633097564738,-4.6145321609871045e-5,8.935914049205118e-8,0.004835233759482804,-4.624855257649796e-5,8.959560230484134e-8,0.004835829415303181,-4.621862951064732e-5,8.951018080070509e-8,0.004836352230776127,-4.6080232054244594e-5,8.916366565204528e-8,0.0048367583349983355,-4.589150422661235e-5,8.869757625100208e-8,0.004837041591904654,-4.572106996194247e-5,8.827831621545146e-8,0.004837230223456968,-4.562385027524527e-5,8.803847379686291e-8,0.004837371762779652,-4.562714338453696e-5,8.804318221037112e-8,0.004837516153686477,-4.572936473719342e-5,8.828738354028514e-8,0.004837703559825233,-4.590705729913291e-5,8.871321255880796e-8,0.00483795842100459,-4.6124666861455577e-5,8.923395641208231e-8,0.0048382884248457615,-4.634354743735913e-5,8.975592732878355e-8,0.004838686449812278,-4.652885932931713e-5,9.019505444720963e-8,0.004839134059291325,-4.6654302346770156e-5,9.048817401084265e-8,0.00483960577414928,-4.670490119196287e-5,9.059963781515475e-8,0.004840073592346507,-4.6677962776577816e-5,9.052354945919353e-8,0.004840511260350432,-4.6582397345525144e-5,9.028205993460479e-8,0.004840897899231785,-4.643670396318439e-5,8.992042145949509e-8,0.004841220660300779,-4.626596989787898e-5,8.949965282921296e-8,0.004841476202205037,-4.6098371678003375e-5,8.908802385796573e-8,0.004841671077489782,-4.596168029442229e-5,8.875259106524241e-8,0.004841821307091204,-4.587997080031785e-5,8.855125453694367e-8,0.004841951292609372,-4.587045888723051e-5,8.852512147964674e-8,0.004842091964053706,-4.5940344193465115e-5,8.869088863412212e-8,0.004842277739297711,-4.6083631809650075e-5,8.903322182845005e-8,0.004842541493972926,-4.627838807084122e-5,8.949828371537751e-8,0.004842906839177331,-4.648600438823033e-5,8.999219477976895e-8,0.004843378264295116,-4.665522221668618e-5,9.039097681872455e-8,0.004843932381435793,-4.6733606371812626e-5,9.056834871587784e-8,0.004844516593310677,-4.6686017948423326e-5,9.044026966797496e-8,0.004845061297440305,-4.651301745333522e-5,9.000924058638993e-8,0.004845504427784852,-4.6256995746914114e-5,8.93789350952813e-8,0.004845816313409309,-4.598827316210438e-5,8.872033893206934e-8,0.004846009719910427,-4.5777184591241536e-5,8.820391758061302e-8,0.004846129972474116,-4.566860671556084e-5,8.793778061329034e-8,0.0048462338316596935,-4.567181248329228e-5,8.794324136066889e-8,0.004846370227429732,-4.576600567215227e-5,8.816863162886767e-8,0.0048465699861102345,-4.591338738919411e-5,8.852141023091782e-8,0.004846844129874208,-4.6071908146491065e-5,8.889930925992923e-8,0.004847187112262369,-4.6204138643279386e-5,8.921179902089594e-8,0.004847581703514996,-4.6282067896565305e-5,8.939150694429025e-8,0.004848003735402131,-4.6289076937789076e-5,8.939877769506586e-8,0.004848426256645651,-4.6220321509909585e-5,8.922246700657916e-8,0.004848823209408606,-4.608209856359733e-5,8.887836627853265e-8,0.004849172664527739,-4.58903562975773e-5,8.840557932192903e-8,0.0048494595475039315,-4.5668426291373705e-5,8.786099087737668e-8,0.0048496777143903665,-4.544400174802944e-5,8.731188333905859e-8,0.004849831083297237,-4.524549703219852e-5,8.682706510070045e-8,0.0048499335706496585,-4.5098191704872816e-5,8.646751496052212e-8,0.004850007839811998,-4.502058698290767e-5,8.627758023189437e-8,0.004850082971399407,-4.502123491055191e-5,8.627733894012528e-8,0.00485019108473835,-4.509627653317102e-5,8.645669590689583e-8,0.004850362866722029,-4.522799803925022e-5,8.677198648497969e-8,0.004850621906510939,-4.5384910987798636e-5,8.71463393443206e-8,0.004850977946640694,-4.552441540774088e-5,8.747633199424684e-8,0.00485142013660625,-4.5599608404899196e-5,8.764862963748815e-8,0.0048519131380055204,-4.557121093968653e-5,8.756886324253519e-8,0.004852400538216197,-4.5422915883702246e-5,8.719862480298039e-8,0.004852819081156075,-4.517383633579113e-5,8.658536065820687e-8,0.004853121273694221,-4.4878623615075926e-5,8.586240756352643e-8,0.004853295526580276,-4.461012521329985e-5,8.52067471895604e-8,0.004853370910340709,-4.443133874108983e-5,8.477085726904584e-8,0.004853402989489355,-4.437253239360528e-5,8.462723494908248e-8,0.004853450340338429,-4.442557395851914e-5,8.475489986913897e-8,0.004853555566747505,-4.4554520782041413e-5,8.506551757055743e-8,0.004853737798332979,-4.471246662007726e-5,8.54446544743408e-8,0.00485399486389547,-4.485554721718429e-5,8.57858896141624e-8,0.004854309864890948,-4.495075979662197e-5,8.600964247263456e-8,0.00485465803028982,-4.497849770452831e-5,8.6069040778254e-8,0.00485501203358417,-4.493206747983682e-5,8.594850455856457e-8,0.00485534568228858,-4.481608527441229e-5,8.565974574854902e-8,0.004855636618776108,-4.464461889212684e-5,8.523726941055656e-8,0.004855868536584048,-4.4439150233652795e-5,8.473347207406128e-8,0.0048560330722339125,-4.422617519806977e-5,8.421282174134603e-8,0.004856131296365982,-4.4034205116743515e-5,8.374453608584602e-8,0.004856174444895931,-4.389004599187381e-5,8.339349699528367e-8,0.004856183359155293,-4.381463425405478e-5,8.321012126246628e-8,0.004856186304500604,-4.381908244061987e-5,8.322079181766202e-8,0.0048562152009108475,-4.3901681750652377e-5,8.342065742125228e-8,0.004856300584346492,-4.4046572784289005e-5,8.37705159905011e-8,0.004856465867596215,-4.422466583704176e-5,8.419918887759595e-8,0.004856721671702306,-4.439714167069116e-5,8.46121777512187e-8,0.004857061176355107,-4.452169624559631e-5,8.490696041970339e-8,0.004857457829840346,-4.456149265628484e-5,8.499476400738042e-8,0.00485786732258919,-4.4495941699599566e-5,8.482662558070934e-8,0.0048582357611451545,-4.433064375541632e-5,8.44172762033907e-8,0.004858514335168011,-4.4101716857274364e-5,8.385533918607352e-8,0.004858676764439197,-4.386931833014717e-5,8.32873433067394e-8,0.004858731337204977,-4.369916734671689e-5,8.287271910808891e-8,0.004858719353578516,-4.363884359422422e-5,8.272626402178683e-8,0.004858699079100403,-4.370113971203409e-5,8.287790899006382e-8,0.004858723862983524,-4.3863152455982114e-5,8.32708541147057e-8,0.004858826040038608,-4.4079389942548624e-5,8.379377681762571e-8,0.00485901243298159,-4.429951477497208e-5,8.432416681478761e-8,0.004859269289883763,-4.448198863401187e-5,8.476146671893096e-8,0.004859570954995191,-4.460045524794661e-5,8.504236029963514e-8,0.004859887795941977,-4.464428204949593e-5,8.514179476144743e-8,0.004860191622124641,-4.461614115330714e-5,8.506688634502332e-8,0.004860458789785439,-4.452889224023546e-5,8.48492775788132e-8,0.004860671945597038,-4.440278682495274e-5,8.453839235720549e-8,0.004860821241729715,-4.426305156165498e-5,8.419563819915824e-8,0.004860905419245433,-4.4137473414217795e-5,8.388856225560573e-8,0.004860932724572903,-4.405349915154474e-5,8.368376120026044e-8,0.004860921196088654,-4.403452027360999e-5,8.363778704610134e-8,0.004860897562807879,-4.4095524083173727e-5,8.378654746993848e-8,0.004860894101884112,-4.4238943389541296e-5,8.413526183041853e-8,0.0048609433408634845,-4.4451997534014956e-5,8.465211854456047e-8,0.004861071294856948,-4.470688491827875e-5,8.526891053304732e-8,0.004861290736213975,-4.4964675805282034e-5,8.589067031036176e-8,0.004861596402411748,-4.518269904195639e-5,8.641375721967553e-8,0.00486196380325942,-4.5324110154403064e-5,8.674916232953769e-8,0.0048623525742310615,-4.536760086172835e-5,8.684603658726279e-8,0.004862714420798966,-4.531482706925229e-5,8.670954354944289e-8,0.004863004623796651,-4.519303097661249e-5,8.640693812132527e-8,0.004863194723425296,-4.505076964306804e-5,8.605688184505726e-8,0.0048632825102846704,-4.494612337857568e-5,8.58005774809639e-8,0.004863294732214557,-4.492967036023607e-5,8.576036145889535e-8,0.004863279646140609,-4.50281209417457e-5,8.600009804265731e-8,0.004863291238192513,-4.5235972657266385e-5,8.650521261792416e-8,0.004863371875000471,-4.5519265521149334e-5,8.719217023603693e-8,0.004863541092600532,-4.5828989880735264e-5,8.794132978880563e-8,0.0048637941431590335,-4.611699389480268e-5,8.863570335939151e-8,0.004864108348633099,-4.6347665140982225e-5,8.918925654220265e-8,0.00486445241548828,-4.650270904600831e-5,8.95582979767788e-8,0.0048647945683711405,-4.658026758675538e-5,8.973908538631549e-8,0.004865107760312099,-4.659122884457311e-5,8.975868058567857e-8,0.004865372216069882,-4.655509521210519e-5,8.966485595145175e-8,0.004865576369720018,-4.649651590121914e-5,8.95177115085765e-8,0.004865717179949249,-4.644257685804242e-5,8.938315205316097e-8,0.004865800395588709,-4.642041241650156e-5,8.932709842864613e-8,0.004865840829426269,-4.6454505120622764e-5,8.940887781848442e-8,0.004865862139653059,-4.656317873149144e-5,8.967262906616372e-8,0.00486589520436499,-4.675433988431925e-5,9.013692766243163e-8,0.00486597415698355,-4.7021367342236717e-5,9.07848659725663e-8,0.004866129742279287,-4.7340909048838094e-5,9.15588685419079e-8,0.004866380968437412,-4.7674714425056845e-5,9.236536298478788e-8,0.004866727661902241,-4.797676853483728e-5,9.309231162293983e-8,0.004867147324684734,-4.8204752728047944e-5,9.363717379329655e-8,0.004867598631309231,-4.833237436364809e-5,9.393686151571851e-8,0.00486803127888161,-4.835807099496604e-5,9.398874966956663e-8,0.004868399226752945,-4.8306738611208255e-5,9.385460419655338e-8,0.0048686730911499205,-4.8223736532853264e-5,9.364566598366033e-8,0.004868847969216985,-4.816304071077976e-5,9.349354754634237e-8,0.0048689445715649204,-4.817300077705271e-5,9.351546946352385e-8,0.004869003383995121,-4.8283613222312364e-5,9.378341924616291e-8,0.004869073380924081,-4.849890638879081e-5,9.43059380023238e-8,0.0048691985524858695,-4.8796843985408144e-5,9.50282614209952e-8,0.004869406558763143,-4.9136789945777165e-5,9.585077822881535e-8,0.0048697031730176215,-4.947169627205198e-5,9.665881714263925e-8,0.004870073718317038,-4.9760441298475204e-5,9.735263346838005e-8,0.004870489786100687,-4.9976304469416066e-5,9.786787764373727e-8,0.004870917867218918,-5.010990840288102e-5,9.818254906626896e-8,0.004871326805083185,-5.016747905294032e-5,9.831256717497081e-8,0.004871692531052498,-5.016661596207553e-5,9.830134495028733e-8,0.004872000142688164,-5.0131652452055496e-5,9.820844897666668e-8,0.004872244237261572,-5.008976155652556e-5,9.810014547881626e-8,0.004872428488982316,-5.0068019068499616e-5,9.804229692860984e-8,0.004872565118915182,-5.0091037618228904e-5,9.809461966944169e-8,0.0048726744092658725,-5.017854275436142e-5,9.830475483883204e-8,0.004872783856378547,-5.034234927557437e-5,9.870086948139556e-8,0.00487292606572329,-5.058265619676878e-5,9.928265588588883e-8,0.0048731343054660824,-5.0884445663438285e-5,1.0001269113882292e-7,0.004873435129492483,-5.1215919899950034e-5,1.0081284930929764e-7,0.0048738390660209,-5.153170034332811e-5,1.015723136253397e-7,0.004874332805219763,-5.178266204412348e-5,1.0217165527867006e-7,0.004874877889632444,-5.1930947916088274e-5,1.0251939608479708e-7,0.004875419222669628,-5.196437324983978e-5,1.0258697726965176e-7,0.004875901546822159,-5.190279042143044e-5,1.0242405238386324e-7,0.004876286929160504,-5.179247995187442e-5,1.0214451691172397e-7,0.004876565554442809,-5.1691121210262656e-5,1.0188954108256096e-7,0.004876756238178176,-5.165032541885692e-5,1.0178476106510073e-7,0.004876898311797196,-5.170234825273362e-5,1.0190790776405611e-7,0.004877039291090606,-5.185415619525043e-5,1.0227463542533915e-7,0.004877222603926023,-5.20886997024062e-5,1.0284205932149231e-7,0.004877478233490123,-5.237148471881915e-5,1.0352515418660084e-7,0.004877817707882309,-5.2659998699574115e-5,1.0421992098956346e-7,0.004878233764547773,-5.291357147653802e-5,1.0482740644614637e-7,0.004878704103850562,-5.310151400306657e-5,1.0527339067231532e-7,0.0048791978095219886,-5.3207947753445196e-5,1.0551996632875121e-7,0.004879682486508378,-5.323275948828798e-5,1.055676880907866e-7,0.0048801303140343175,-5.318929968967715e-5,1.0544982140066945e-7,0.004880521970866183,-5.3100190207577814e-5,1.0522202640813102e-7,0.004880848294653186,-5.299267897057388e-5,1.0495098947741473e-7,0.0048811102117961675,-5.289457264711433e-5,1.0470451475918726e-7,0.004881317747189281,-5.2831136722353006e-5,1.045440020638691e-7,0.004881488756100408,-5.282274765893747e-5,1.0451875219165502e-7,0.004881647595748994,-5.2882791831743e-5,1.0466084584560046e-7,0.004881823499265498,-5.301535663747745e-5,1.0497951455693293e-7,0.004882047968987757,-5.321257874700818e-5,1.0545473459947656e-7,0.004882350207115018,-5.34522364381064e-5,1.0603152097503244e-7,0.004882749931583773,-5.3697319596594616e-5,1.0661911602920183e-7,0.004883248411975124,-5.390029444311228e-5,1.0710159048430002e-7,0.004883821223283848,-5.40142565780382e-5,1.0736509452548331e-7,0.004884418535029374,-5.400964585550486e-5,1.07338516263783e-7,0.004884977331862179,-5.388945231346987e-5,1.0703038492932809e-7,0.004885442982784979,-5.369291520334631e-5,1.0653767571805211e-7,0.0048857896031786405,-5.348285896525935e-5,1.060146273029446e-7,0.004886027899428079,-5.33225701704739e-5,1.0561598542362421e-7,0.004886197488183362,-5.3254761974328e-5,1.0544546399226637e-7,0.004886350220054461,-5.329186339414478e-5,1.0553216327134056e-7,0.00488653376420074,-5.341832436145469e-5,1.058366269418165e-7,0.004886780973520583,-5.3599972431194304e-5,1.0627419538425782e-7,0.004887105836022719,-5.379505921217329e-5,1.0674231474866518e-7,0.00488750437159898,-5.3963749688183614e-5,1.071437647657893e-7,0.004887958428542934,-5.4074868096297026e-5,1.074029666188478e-7,0.004888440866556042,-5.410987220354813e-5,1.0747544257958971e-7,0.004888921197063378,-5.406429862465683e-5,1.0735113586693954e-7,0.004889370931079509,-5.3946902121682926e-5,1.0705217492870693e-7,0.004889767913025726,-5.377692855867965e-5,1.0662613496775146e-7,0.004890099148351,-5.3580229669963764e-5,1.0613649899040003e-7,0.0048903619623596834,-5.3384985707783635e-5,1.0565218481282615e-7,0.004890563646224889,-5.321774155887791e-5,1.0523787065252472e-7,0.004890720050330306,-5.310023848256073e-5,1.0494629332969267e-7,0.00489085365033552,-5.304708763981897e-5,1.0481260896297154e-7,0.004890991351657461,-5.306401912048959e-5,1.0485014474108545e-7]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_3.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_3.json new file mode 100644 index 000000000..9767b1b50 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_3.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":3000,"numberOfSamples":1000,"samples":[-0.0016674126654346861,-5.729007527752374e-7,-1.4186514962201376e-8,-0.0016673064653587321,-6.734015165127343e-7,-1.4270276706700349e-8,-0.0016671184978181936,-7.942288639572809e-7,-1.4371055120518062e-8,-0.0016668581653082658,-8.937549802808163e-7,-1.4454094104781238e-8,-0.0016665462863460693,-9.416288807763305e-7,-1.4494058993362982e-8,-0.0016662092022260732,-9.201664606449159e-7,-1.4476216298494372e-8,-0.0016658745541862263,-8.237755484396502e-7,-1.4395945891238539e-8,-0.0016655683268689287,-6.578186550518726e-7,-1.4257765362438796e-8,-0.0016653124526036561,-4.3741842925891825e-7,-1.4074304544820363e-8,-0.0016651224530400707,-1.8607276082775895e-7,-1.3865132894139859e-8,-0.0016650049642489826,6.643303169026634e-8,-1.3655018765663274e-8,-0.0016649554928538104,2.8739437967418395e-7,-1.347113935991257e-8,-0.0016649572160637774,4.4604795424859426e-7,-1.3339056817593825e-8,-0.0016649817855313575,5.194876808583452e-7,-1.3277813795917761e-8,-0.0016649928181043465,4.985157505581373e-7,-1.329507262967021e-8,-0.00166495207648607,3.9179414860133283e-7,-1.3383654246342673e-8,-0.0016648274069321705,2.26664827416035e-7,-1.352084347660865e-8,-0.001664600739494372,4.5708357821865315e-8,-1.367124421905444e-8,-0.001664274219706894,-1.0088239670451744e-7,-1.3793127784445051e-8,-0.0016638726869829803,-1.6616023108150796e-7,-1.3847473701249546e-8,-0.0016634410124484337,-1.1869904209770958e-7,-1.3808176255662588e-8,-0.0016630354517974334,4.659577780072841e-8,-1.3671009811639623e-8,-0.001662709627560605,3.030262655914423e-7,-1.3458136463059741e-8,-0.0016624982880314673,5.958730436677693e-7,-1.3214963229037875e-8,-0.001662404794976831,8.568537842964569e-7,-1.2998163907749735e-8,-0.0016623988702162175,1.0254972177202318e-6,-1.2857973826241794e-8,-0.0016624271346917532,1.0685455003698803e-6,-1.2822084766277138e-8,-0.0016624319248438782,9.883600460942418e-7,-1.2888614390257493e-8,-0.001662369242835807,8.174787260993229e-7,-1.3030565315055226e-8,-0.0016622183938909184,6.041843871353809e-7,-1.3207794337616674e-8,-0.0016619818565370786,3.9717316279278375e-7,-1.3379782718210806e-8,-0.0016616789185444716,2.3502260822879676e-7,-1.3514435597222689e-8,-0.0016613377123989804,1.417265131744283e-7,-1.3591822041815075e-8,-0.0016609886089808544,1.2662367606576446e-7,-1.360423147824086e-8,-0.0016606598282278315,1.863922842656112e-7,-1.3554490273298172e-8,-0.0016603748199426104,3.0744517886406376e-7,-1.3453938412913645e-8,-0.0016601505255394024,4.680421085231016e-7,-1.3320649411749458e-8,-0.0016599957713533597,6.402384067973255e-7,-1.3177803860265977e-8,-0.0016599094977454972,7.922656339357963e-7,-1.3051723165875262e-8,-0.0016598791098382528,8.920717595398815e-7,-1.296895475612751e-8,-0.0016598798337515695,9.124839151887528e-7,-1.2952012505708826e-8,-0.001659876379622952,8.376861160842476e-7,-1.3014014454721298e-8,-0.0016598280484381447,6.695105801256583e-7,-1.3153456420237919e-8,-0.0016596973256014155,4.309782162426044e-7,-1.3351256087288848e-8,-0.001659460185844518,1.644717783767708e-7,-1.3572258355341262e-8,-0.0016591147270322442,-7.656124715275952e-8,-1.3772130406953462e-8,-0.0016586845140589572,-2.408327142852044e-7,-1.3908356700286018e-8,-0.0016582146152118225,-2.934361433791715e-7,-1.3952042824758485e-8,-0.0016577609941446497,-2.2641155822799227e-7,-1.3896646268225657e-8,-0.0016573762399432718,-6.21980795145008e-8,-1.3760786009222337e-8,-0.0016570956693766155,1.5125835864904947e-7,-1.3584155440668849e-8,-0.0016569277304044742,3.526938844470182e-7,-1.3417439166449944e-8,-0.0016568517179810498,4.838995413033776e-7,-1.3308801583491872e-8,-0.0016568239567060939,5.055051370474298e-7,-1.329085416886814e-8,-0.0016567907846579653,4.069873023778711e-7,-1.3372361772156796e-8,-0.0016567038867919353,2.0748592272561992e-7,-1.3537525963856996e-8,-0.001656532487673912,-5.231661404744325e-8,-1.375267653077842e-8,-0.0016562685745488837,-3.2332365832738283e-7,-1.3977143471321514e-8,-0.0016559247754694372,-5.607837026808751e-7,-1.4173848477561865e-8,-0.0016555275418913935,-7.327632792039998e-7,-1.4316343411791168e-8,-0.0016551092006448183,-8.233258722118555e-7,-1.4391445802169112e-8,-0.0016547013993568505,-8.316848376668471e-7,-1.439852456672699e-8,-0.0016543308264849162,-7.693391900307951e-7,-1.4347111821174578e-8,-0.0016540168884855639,-6.568154472154755e-7,-1.4254194224863743e-8,-0.00165377050241833,-5.208100635030763e-7,-1.4141844859881727e-8,-0.001653593196269087,-3.917048152325665e-7,-1.4035172614624135e-8,-0.001653476129350162,-3.0088888763530243e-7,-1.3960118899539777e-8,-0.0016533992421155022,-2.7714172882948965e-7,-1.3940479436687606e-8,-0.0016533313967630901,-3.4151069511884616e-7,-1.3993675666328718e-8,-0.001653232946576946,-5.008677652271779e-7,-1.4125420729844042e-8,-0.001653062183142646,-7.418000865678651e-7,-1.4324648124704472e-8,-0.0016527858361718897,-1.0281008249946432e-6,-1.456142157572885e-8,-0.0016523911376223348,-1.305464686483764e-6,-1.4790826634502255e-8,-0.0016518942603108112,-1.5146795210217696e-6,-1.4963914427081036e-8,-0.001651339688429203,-1.609920243457309e-6,-1.5042853245080335e-8,-0.0016507887609035258,-1.5746267527137686e-6,-1.501402985970417e-8,-0.0016503014049699613,-1.4275884845194972e-6,-1.4893009020259092e-8,-0.0016499186673924447,-1.2167625516751627e-6,-1.4719368976416159e-8,-0.0016496525262988243,-1.0042695210536724e-6,-1.4544312694847968e-8,-0.0016494852722868205,-8.488903215522008e-7,-1.4416272286595473e-8,-0.0016493768933366411,-7.916520763817829e-7,-1.4369068693422452e-8,-0.0016492770441696662,-8.477319335831267e-7,-1.441525088113211e-8,-0.0016491379089976894,-1.005586142802875e-6,-1.454535921366001e-8,-0.0016489247906258263,-1.2324077723442385e-6,-1.4732398295614608e-8,-0.0016486222435663186,-1.483745124523919e-6,-1.4939753931208416e-8,-0.0016482349077829455,-1.714387062746813e-6,-1.5130169934377415e-8,-0.0016477837047942081,-1.8876251196414704e-6,-1.5273388453025773e-8,-0.0016472992687706423,-1.9809318567924716e-6,-1.53508288088995e-8,-0.0016468148667739665,-1.987610693939075e-6,-1.5356941194346824e-8,-0.0016463605427636564,-1.915263460295526e-6,-1.529794271457019e-8,-0.0016459592556230336,-1.7824940981911972e-6,-1.5189110139549575e-8,-0.0016456248820582223,-1.6151699815473968e-6,-1.5051713360546717e-8,-0.0016453614347904178,-1.4430148462818047e-6,-1.4910218742385646e-8,-0.0016451628120618224,-1.2966201405178637e-6,-1.4789829372760213e-8,-0.0016450127057533186,-1.2044728826030512e-6,-1.4714032583746818e-8,-0.0016448847709624051,-1.1893868953393184e-6,-1.4701653351213367e-8,-0.0016447437874436506,-1.2638103881750775e-6,-1.4762980827432679e-8,-0.0016445491773054968,-1.4241708565546202e-6,-1.48951005064794e-8,-0.0016442623193067107,-1.645902905672155e-6,-1.5077791633897704e-8,-0.0016438578535539828,-1.8825890625995552e-6,-1.5272828105373147e-8,-0.0016433361724119703,-2.073293524915233e-6,-1.5430051194420875e-8,-0.0016427306855190664,-2.1595591992381907e-6,-1.5501400836018825e-8,-0.0016421028587470339,-2.107131410238427e-6,-1.545878784662949e-8,-0.0016415236596336047,-1.921503495197351e-6,-1.5306805835881395e-8,-0.0016410491716874508,-1.6475995048951014e-6,-1.508237666232406e-8,-0.0016407026930217476,-1.3532595827599134e-6,-1.4841150585489634e-8,-0.0016404710798181709,-1.1058220927750292e-6,-1.4638324030823384e-8,-0.0016403140434198668,-9.529880693486804e-7,-1.4513000663883932e-8,-0.0016401794241349037,-9.138189075949228e-7,-1.4480834585139251e-8,-0.001640017698453548,-9.79444485492997e-7,-1.4534599598191043e-8,-0.0016397921504842823,-1.1199629554508742e-6,-1.46498259445195e-8,-0.001639483962540219,-1.2938873374757163e-6,-1.4792536911725107e-8,-0.0016390929025693608,-1.4576102121358978e-6,-1.492701055511908e-8,-0.0016386346780947172,-1.5734220969873702e-6,-1.5022352898574618e-8,-0.0016381360741017184,-1.615194314249089e-6,-1.50571474431728e-8,-0.0016376290513289884,-1.5712506992188948e-6,-1.502179647791281e-8,-0.0016371449438908516,-1.4444928408342774e-6,-1.4918620999811586e-8,-0.0016367096648583616,-1.25031555175269e-6,-1.4760165902237422e-8,-0.0016363404739891797,-1.0131188796195411e-6,-1.4566365366279228e-8,-0.0016360443826047542,-7.623240043753878e-7,-1.4361298196704363e-8,-0.0016358178081207191,-5.285826195157557e-7,-1.4170084868955413e-8,-0.0016356469788772767,-3.4036970890659786e-7,-1.4016082203265821e-8,-0.001635508814606122,-2.207663722595964e-7,-1.3918227118982464e-8,-0.0016353723164385856,-1.840892669518823e-7,-1.3888261221685396e-8,-0.0016352009622329746,-2.3204470491520787e-7,-1.3927578205263703e-8,-0.0016349571713373055,-3.4963943026521634e-7,-1.4023883873503605e-8,-0.0016346099310555375,-5.023932688054426e-7,-1.4148931817790818e-8,-0.0016341454885156152,-6.3792299560969e-7,-1.4259849140121573e-8,-0.0016335782650784292,-6.955174267981529e-7,-1.4307009536395608e-8,-0.0016329555381133835,-6.248455078933967e-7,-1.4249353069369657e-8,-0.001632348566823429,-4.0811994916454653e-7,-1.4072462495238987e-8,-0.0016318292392897165,-7.307325909948915e-8,-1.3799065103672127e-8,-0.0016314426223732346,3.1411804635436726e-7,-1.348317422928833e-8,-0.0016311911484804568,6.740899862647185e-7,-1.3189486706427881e-8,-0.0016310385568320672,9.431757478148973e-7,-1.2969887537649966e-8,-0.0016309281956906096,1.0909595365989285e-6,-1.284917620325891e-8,-0.0016308035869936743,1.1218851358131656e-6,-1.2823744428951683e-8,-0.001630622539391083,1.0659851233981184e-6,-1.286910999649688e-8,-0.0016303628898681499,9.662126791094569e-7,-1.2950244535657924e-8,-0.0016300220532569065,8.673019924964457e-7,-1.303067628890683e-8,-0.0016296132995635643,8.078877149326865e-7,-1.3078931636879651e-8,-0.001629160810966706,8.157006448712503e-7,-1.3072446478192921e-8,-0.0016286945140845575,9.051596921306019e-7,-1.2999506114425888e-8,-0.001628245126395128,1.0769022975441644e-6,-1.285960415768863e-8,-0.0016278397306271277,1.3189544201936767e-6,-1.266248230864526e-8,-0.001627498165347806,1.6092434451098838e-6,-1.2426094284497363e-8,-0.0016272305284777825,1.919140067868813e-6,-1.2173739988352222e-8,-0.0016270360259148394,2.2175661941671596e-6,-1.1930728972988056e-8,-0.0016269031154630333,2.475096567993343e-6,-1.1721030329836182e-8,-0.0016268106690123906,2.6677037698851066e-6,-1.1564201830643506e-8,-0.0016267299509751117,2.7800877693262435e-6,-1.1472661493037969e-8,-0.0016266273869119789,2.808609891480967e-6,-1.1449301618478332e-8,-0.0016264683188791577,2.7638226285538478e-6,-1.148545475645509e-8,-0.001626222281076474,2.6722456015579204e-6,-1.1559486532781036e-8,-0.0016258702666007566,2.576093825543154e-6,-1.1637054006801947e-8,-0.001625413368763386,2.528652681956703e-6,-1.1674892793466553e-8,-0.0016248800163113045,2.5829769218688514e-6,-1.163000825805575e-8,-0.0016243264182511817,2.7739410660516134e-6,-1.147422855629942e-8,-0.001623824448257784,3.0994362029174313e-6,-1.1209399713251122e-8,-0.0016234371005962335,3.5125193005639037e-6,-1.0873674286989874e-8,-0.0016231924460283597,3.934280626806754e-6,-1.0531046713794774e-8,-0.0016230722116879442,4.2839261521980505e-6,-1.0247004462157263e-8,-0.0016230223920017024,4.509022315061528e-6,-1.0064052989792204e-8,-0.001622977701628644,4.599308318664541e-6,-9.990503166746648e-9,-0.0016228844735368534,4.580979504172208e-6,-1.0005062897292258e-8,-0.0016227124043607017,4.500425340947215e-6,-1.007001881606373e-8,-0.0016224552660553113,4.4079367639713336E-06,-1.0144494972609784e-8,-0.001622125516269599,4.346659224530802e-6,-1.0193467505461069e-8,-0.001621747326018003,4.347159211571133e-6,-1.0192193851439426e-8,-0.001621350394160166,4.425844840376646e-6,-1.0127472727933714e-8,-0.0016209651093993971,4.585398795260131e-6,-9.99724721593909e-9,-0.001620618755614523,4.816205832030953e-6,-9.809405621898151e-9,-0.0016203324293711152,5.0984795936064065e-6,-9.580037457445881e-9,-0.0016201185778446112,5.4050620808012625e-6,-9.331168050521922e-9,-0.0016199792751218015,5.7049341968223675e-6,-9.087925536625024e-9,-0.0016199055449921847,5.967355112173079e-6,-8.875191668941198e-9,-0.0016198780222882233,6.166231880713312e-6,-8.714053321567563e-9,-0.0016198689897785872,6.284171358720325e-6,-8.618507598772804e-9,-0.0016198456428020592,6.315766071306402e-6,-8.59280112903386e-9,-0.001619774385405621,6.26973000154361e-6,-8.629727496350617e-9,-0.0016196259296935819,6.169525357590731e-6,-8.710169915500509e-9,-0.0016193810015156772,6.052090182629365e-6,-8.804188184311565e-9,-0.0016190363271137104,5.963922429773775e-6,-8.87422587160706e-9,-0.0016186098081281857,5.953407381087274e-6,-8.88131796854117e-9,-0.0016181424573248472,6.058817784323751e-6,-8.794748910421731e-9,-0.0016176935536342239,6.293589642068541e-6,-8.60386918296675e-9,-0.001617326219104022,6.634329004002173e-6,-8.327694536227654e-9,-0.0016170853930605306,7.020289243504353e-6,-8.015286175478002e-9,-0.0016169778930223832,7.370415677596483e-6,-7.732028934152944e-9,-0.0016169675000937544,7.6131522800298654E-06,-7.535643904942126e-9,-0.0016169901136538418,7.713155380487486e-6,-7.454642010804234e-9,-0.0016169800837689205,7.679978347262525e-6,-7.481256003272846e-9,-0.0016168922572558102,7.556948303108508e-6,-7.580374851378752e-9,-0.0016167104555515727,7.400752728903742e-6,-7.706059646917471e-9,-0.0016164437683271215,7.26360821746386e-6,-7.816027752541982e-9,-0.0016161173530747812,7.183346466944154e-6,-7.879724076888564e-9,-0.0016157633104902577,7.180632707092512e-6,-7.880570755501255e-9,-0.0016154140207041772,7.260286490250837e-6,-7.814851788477083e-9,-0.001615098001463881,7.414069548772224e-6,-7.689396067402687e-9,-0.001614837378113596,7.623584166153096e-6,-7.519187049980965e-9,-0.0016146461104334338,7.863038966555796e-6,-7.325110558075486e-9,-0.0016145285922477045,8.102151822196889e-6,-7.13161729702838e-9,-0.0016144786655525626,8.30954750461279e-6,-6.963995681741373e-9,-0.0016144794389958994,8.456851025280304e-6,-6.8450772368244266e-9,-0.0016145044863076245,8.523247037034214e-6,-6.791555454796449e-9,-0.0016145208238440725,8.499790759989043e-6,-6.810504300559879e-9,-0.0016144936330299336,8.392510891781708e-6,-6.896885929710203e-9,-0.001614392228170857,8.223343280763281e-6,-7.032834909617165e-9,-0.0016141963521061268,8.028183732838383e-6,-7.189288356946133e-9,-0.0016139016436967962,7.851860839942969e-6,-7.330101133146092e-9,-0.0016135231106711163,7.740313336524296e-6,-7.4183830864822594e-9,-0.0016130954016894184,7.730606125699386e-6,-7.424519615650904e-9,-0.0016126685428214326,7.840105042654435e-6,-7.334806831697677e-9,-0.0016122981087462733,8.057474208610399e-6,-7.1585873366644e-9,-0.0016120303080747725,8.339676729142519e-6,-6.930579850289531e-9,-0.001611885615787256,8.619402313112867e-6,-6.704899178695777e-9,-0.0016118481928508355,8.824139607217275e-6,-6.539785116730204e-9,-0.001611868604140801,8.90107812285037e-6,-6.477642765675682e-9,-0.001611881154272387,8.835912981377337e-6,-6.529915716142489e-9,-0.0016118277460059921,8.655388821984905e-6,-6.674986610903632e-9,-0.001611675919713035,8.41338736769802e-6,-6.869352972909047e-9,-0.0016114237381993468,8.169993921702883e-6,-7.06452679210035e-9,-0.001611093177231819,7.974354515474472e-6,-7.220908293079042e-9,-0.0016107187721478148,7.856385780125358e-6,-7.3144902295771e-9,-0.0016103373933631776,7.826230747315016e-6,-7.33726541883732e-9,-0.0016099815773490676,7.877830737849756e-6,-7.294288237410739e-9,-0.0016096761674665666,7.993507370107692e-6,-7.199928950656389e-9,-0.0016094369744081014,8.147984768505116e-6,-7.074608444117655e-9,-0.0016092702451640983,8.311598200694667e-6,-6.942216930039938e-9,-0.00160917228355665,8.453152537768642e-6,-6.827830668858108e-9,-0.001609129179254943,8.543077992903146e-6,-6.755189047281374e-9,-0.0016091171262881026,8.557333011262786e-6,-6.743558851885236e-9,-0.0016091041391435737,8.481979668330493e-6,-6.804049103358642e-9,-0.0016090539129368906,8.317618601666572e-6,-6.9360391917084e-9,-0.0016089320065604345,8.082194724983374e-6,-7.1249350615802805e-9,-0.0016087135318696238,7.810443188597418e-6,-7.342654995567478e-9,-0.0016083904469439763,7.548814847622212e-6,-7.551773316743061e-9,-0.0016079759933311404,7.346151109873746e-6,-7.71307892483668e-9,-0.0016075042761180575,7.242056143792723e-6,-7.794939036152872e-9,-0.00160702430711951,7.255973870729432e-6,-7.782022387653911e-9,-0.0016065893832426634,7.380066935880531e-6,-7.680904798184895e-9,-0.0016062439692449664,7.578337494266571e-6,-7.520654677956422e-9,-0.0016060111996290365,7.793284040925081e-6,-7.347429731587253e-9,-0.001605884722251656,7.959699219668078e-6,-7.2134347447406345e-9,-0.0016058284903456366,8.02276170190471e-6,-7.162490523129645e-9,-0.001605786300256652,7.954794950983538e-6,-7.216659725347376e-9,-0.0016056989183379042,7.763856680531235e-6,-7.3693711382787e-9,-0.0016055223349501092,7.489910937153623e-6,-7.5884774454684e-9,-0.0016052394922760655,7.190282869697641e-6,-7.827929734487749e-9,-0.0016048613732839356,6.9214213509586415e-6,-8.042440056461898e-9,-0.0016044191014809085,6.724717813606781e-6,-8.19887721405118e-9,-0.0016039523942876091,6.620315668122966e-6,-8.281210552001504e-9,-0.0016034994404368291,6.608103489245576e-6,-8.289661775609236e-9,-0.00160309058100955,6.672612775449543e-6,-8.236730302719379e-9,-0.0016027456251598608,6.788717605477168e-6,-8.142605180973005e-9,-0.0016024734564696638,6.92643298585074e-6,-8.031328805630021e-9,-0.001602272562723833,7.054461000471735e-6,-7.927975303945096e-9,-0.0016021316395473646,7.1429733909865235e-6,-7.85643420942448e-9,-0.001602030096147785,7.166416618010949e-6,-7.837159326460504e-9,-0.0016019389325304322,7.106967943498292e-6,-7.884384590805072e-9,-0.001601822909317285,6.958748005321464e-6,-8.002733282683978e-9,-0.001601645025670833,6.732028706082511e-6,-8.183846196126166e-9,-0.0016013737843991493,6.455595568760507e-6,-8.404514185145453e-9,-0.0016009923060795966,6.174736476004758e-6,-8.628343547216521e-9,-0.0016005063926833,5.943025935706647e-6,-8.81240660038963e-9,-0.001599947436018963,5.80863970378304e-6,-8.918249717289788e-9,-0.0015993671346443959,5.799343297164342e-6,-8.923895711975885e-9,-0.001598824450917896,5.912206177088279e-6,-8.831981049727163e-9,-0.0015983691261643967,6.112691262219383e-6,-8.670353040535608e-9,-0.001598027750726865,6.34370842368762e-6,-8.484735141405814e-9,-0.001597796970333321,6.541210365541908e-6,-8.32624668865039e-9,-0.0015976453400901444,6.6511270032490696e-6,-8.237927113772566e-9,-0.0015975225826418882,6.642865882163979e-6,-8.244027233433758e-9,-0.0015973733172837778,6.5160674645092064e-6,-8.344671256899067e-9,-0.0015971514460371861,6.299134854850162e-6,-8.517063826659138e-9,-0.0015968312197721644,6.040236787256278e-6,-8.722695998097968e-9,-0.0015964119337554,5.793741677183589e-6,-8.918192024461737e-9,-0.0015959153524303371,5.606512708157547e-6,-9.066246268690955e-9,-0.0015953776009036073,5.508240931702783e-6,-9.143302312759663e-9,-0.0015948390145066778,5.5079279870896205e-6,-9.142302190616902e-9,-0.0015943353730508711,5.595937570596819e-6,-9.07100224242127E-09,-0.0015938924112206762,5.749295724445448e-6,-8.947734194601513e-9,-0.0015935237022038366,5.937745603497693e-6,-8.796600268425784e-9,-0.0015932308952599915,6.128923308494835e-6,-8.643381449495809e-9,-0.0015930050349990598,6.292138592490837e-6,-8.512542405787741e-9,-0.0015928280496299403,6.401112560124816e-6,-8.425039499555748e-9,-0.001592674118163697,6.436402325511549e-6,-8.396358552439093e-9,-0.001592511242825915,6.388162226916735e-6,-8.434284847973138e-9,-0.0015923038548076277,6.259479463662382e-6,-8.536238644079333e-9,-0.0015920175360308354,6.069704190545227e-6,-8.686647143544019e-9,-0.0015916265581974022,5.855945053772369e-6,-8.855809836079169e-9,-0.0015911234432686942,5.66982094337028e-6,-9.002557749844637e-9,-0.0015905271902137126,5.566980643098267e-6,-9.082660120678599e-9,-0.0015898846649755427,5.5901058549402035e-6,-9.062364074658102e-9,-0.0015892607401442954,5.751420421663427e-6,-8.932240034166934e-9,-0.0015887185141690312,6.0241142294602755e-6,-8.713870498328418e-9,-0.0015882979764191441,6.3490168297115175e-6,-8.454426383873467e-9,-0.0015880035039804617,6.654182728757788e-6,-8.211064945180594e-9,-0.0015878052699886624,6.877775058584288e-6,-8.032786882775957e-9,-0.0015876517590710897,6.984489838970192e-6,-7.947450754328946e-9,-0.0015874863779336544,6.971221701182685e-6,-7.957325293941682e-9,-0.0015872619917445506,6.863185748489404e-6,-8.042215733171648e-9,-0.0015869502414554443,6.704200258300083e-6,-8.167230467721707e-9,-0.0015865450265327885,6.544861833301743e-6,-8.292209810873044e-9,-0.001586060881771174,6.431419708027262e-6,-8.380562643969391e-9,-0.0015855275390838218,6.397223103243651e-6,-8.4060105625722e-9,-0.001584982293378186,6.457920516330214e-6,-8.356321717507075e-9,-0.0015844620349776742,6.61081898948137e-6,-8.233749425801078e-9,-0.0015839966677754043,6.837813403661317e-6,-8.052680242552925e-9,-0.0015836049744388627,7.110512974486875e-6,-7.83558877254055e-9,-0.00158329313272495,7.39599782801762e-6,-7.60852007937778e-9,-0.0015830553572955281,7.661943418484884e-6,-7.397063210929995e-9,-0.0015828757453601038,7.88048537908479e-6,-7.223288825216026e-9,-0.0015827305073950087,8.030921094971425e-6,-7.103576255489422e-9,-0.0015825902239223386,8.10175707948008e-6,-7.046953362750228e-9,-0.0015824222470464458,8.09261347207407e-6,-7.0535751904136625e-9,-0.0015821938020142208,8.016239439311893e-6,-7.1131587433406575e-9,-0.001581876678930113,7.90023529461386e-6,-7.203688583790658e-9,-0.0015814541506088944,7.786937005316729e-6,-7.291589958387156e-9,-0.001580929437716428,7.72886735500687e-6,-7.33539011103742e-9,-0.001580332627237802,7.777305469592599e-6,-7.294769075619663e-9,-0.0015797203731629178,7.964409090283794e-6,-7.144630568893987e-9,-0.0015791630814620142,8.285391603077017e-6,-6.889058321940481e-9,-0.001578720878001717,8.692298812053108e-6,-6.566101724486824e-9,-0.001578419502984907,9.10747486170557e-6,-6.2370916464480965e-9,-0.0015782405062512823,9.452091527792786e-6,-5.9641611304561455e-9,-0.0015781312909732138,9.674079549613374e-6,-5.7882606428250385e-9,-0.001578027360075597,9.761402781761969e-6,-5.718703551331627e-9,-0.0015778737449317608,9.738155742011253e-6,-5.736256424581671e-9,-0.0015776373992268053,9.650582774239132e-6,-5.804222309092312e-9,-0.0015773098917586672,9.551555633876995e-6,-5.88077278945436e-9,-0.0015769037319662415,9.488450878456881e-6,-5.928572703455147e-9,-0.001576445875891479,9.49569390768316e-6,-5.920653078048749e-9,-0.001575970674530697,9.591327497139855e-6,-5.84304192231517e-9,-0.0015755133171369835,9.77658865659438e-6,-5.694997471322311e-9,-0.0015751042615903047,1.003778163139329e-5,-5.487458624638412e-9,-0.001574765041689377,1.0349895109118027e-5,-5.240176643150512e-9,-0.0015745057554236149,1.0681318357532525e-5,-4.978030419643896e-9,-0.001574324361526077,1.0998934195309128e-5,-4.727059345412328e-9,-0.0015742076584801335,1.1272847997949395e-5,-4.510760254880358e-9,-0.0015741334933916324,1.148015300643822e-5,-4.347106597166391e-9,-0.0015740736145208995,1.1607546540740536e-5,-4.2464524410951475e-9,-0.0015739967905234456,1.165297766004052e-5,-4.210215818202505e-9,-0.0015738721019847755,1.1626573124438477e-5,-4.230176567081147e-9,-0.0015736725816667494,1.1550994953670337e-5,-4.288272760115865e-9,-0.0015733796828682138,1.1460984868635478e-5,-4.357060355334619e-9,-0.0015729888863822469,1.1400977627530216e-5,-4.401668546947189e-9,-0.001572515654131937,1.1418948321355508e-5,-4.38465144129614e-9,-0.0015719991378984194,1.155499016771094e-5,-4.27489553861985e-9,-0.0015714991590845522,1.1825387317786e-5,-4.059992614526739e-9,-0.0015710820407434478,1.2207971645261938e-5,-3.757587705347629e-9,-0.00157079647604091,1.2639630181296142e-5,-3.4172617851035963e-9,-0.0015706506457699233,1.3034205729014649e-5,-3.106531606911105e-9,-0.0015706061696304065,1.3315507185698884e-5,-2.885049906609442e-9,-0.0015705947849098492,1.3446774868260129e-5,-2.7815199812259615e-9,-0.0015705471798354855,1.3439686701807493e-5,-2.7865797392088607e-9,-0.0015704165589056223,1.3341690442592115e-5,-2.8627232184856177e-9,-0.0015701872847721412,1.3213818456770147e-5,-2.9617956699222407e-9,-0.0015698706765883304,1.3111683729022345e-5,-3.0400379076245207e-9,-0.0015694951802119525,1.3074916344619818e-5,-3.0664473087197053e-9,-0.0015690965559719964,1.3124045477720016e-5,-3.02518922812497E-09,-0.0015687104237655423,1.3261776187223445e-5,-2.914483963298332e-9,-0.0015683672849147719,1.3476135614623932e-5,-2.744017121960997e-9,-0.001568089331561201,1.3744221248213585e-5,-2.531925583923272e-9,-0.001567888481635352,1.4036199389495978e-5,-2.301652902586154e-9,-0.0015677654444036897,1.431949385617295e-5,-2.0787019259425203e-9,-0.001567709854690696,1.4563082634763757e-5,-1.8873090716874538e-9,-0.0015677016010537767,1.474164561397543e-5,-1.7472081474154697e-9,-0.0015677133377832947,1.4839081201440235e-5,-1.6708576042155112e-9,-0.0015677139033290711,1.4850945784761677e-5,-1.6615071481920558e-9,-0.001567672273456403,1.4785614343760266e-5,-1.712298071717079e-9,-0.001567561728035762,1.4664077909571058e-5,-1.8064872373507266e-9,-0.001567363964362006,1.4518342278869283e-5,-1.9188087740274477e-9,-0.0015670730416101715,1.4388371092908044e-5,-2.017975036911366e-9,-0.001566699009351379,1.4317124795163991e-5,-2.0706086887569183e-9,-0.001566270342050259,1.434288706438812e-5,-2.0471994116831762e-9,-0.0015658331609196012,1.4488670512990482e-5,-1.9302484376469083e-9,-0.0015654445000836176,1.4750408147840926e-5,-1.72331580198987e-9,-0.0015651576376926135,1.5088818242514955e-5,-1.4572399696723894e-9,-0.0015650016611725502,1.543273520838367e-5,-1.1875289074112136e-9,-0.0015649646525930018,1.5699315031914638e-5,-9.786981777112633e-10,-0.0015649932080395524,1.5825615668091956e-5,-8.797288461446118e-10,-0.0015650127561441629,1.5794360168681763e-5,-9.039460652179229e-10,-0.0015649578766231919,1.5637909598140213e-5,-1.0258340424130335e-9,-0.0015647946888691952,1.5419919015121727e-5,-1.1953572908828253e-9,-0.001564525408102832,1.5208671664966406e-5,-1.3589165068917122e-9,-0.0015641786040441487,1.5056893076463547e-5,-1.4752664574075088e-9,-0.00156379486909857,1.4993534545273575e-5,-1.521981552315444e-9,-0.0015634150399108117,1.5024788854757072e-5,-1.4945831313107964e-9,-0.0015630731490801214,1.5139317110787819e-5,-1.4023153307767539e-9,-0.0015627932503844573,1.5314097884522007e-5,-1.2634546568637839e-9,-0.0015625884467632353,1.5519419283943223e-5,-1.1013546330723007e-9,-0.001562460875346721,1.5722949233932406e-5,-9.412785609553453e-10,-0.0015624021479970563,1.5893311969822037e-5,-8.076525173200512e-10,-0.0015623942663999986,1.600355815982286e-5,-7.213957276926135e-10,-0.0015624113087739449,1.603464562664121e-5,-6.972120092446669e-10,-0.0015624222244725121,1.5978599480086515e-5,-7.411073308205331e-10,-0.0015623947894483653,1.5840685366149302e-5,-8.486840929629714e-10,-0.0015623003825704094,1.563995164582476e-5,-1.0047498832725248e-9,-0.00156211896716867,1.5407677934949402e-5,-1.1846143530044873e-9,-0.0015618434715127026,1.5183522199556461e-5,-1.3572122413585078e-9,-0.001561482731818114,1.5009579708722523e-5,-1.4898312300154014e-9,-0.0015610623229379093,1.492287455651844e-5,-1.553978673492256e-9,-0.0015606225925568506,1.4946887881331915e-5,-1.5318866836714567e-9,-0.001560212971251659,1.5083203136375069e-5,-1.422837639342225e-9,-0.0015598818401117295,1.530556706953706e-5,-1.2475983890907835e-9,-0.0015596626235708532,1.5560011265301256e-5,-1.0482226412439358e-9,-0.001559559627593272,1.577486934926789e-5,-8.802955933378288e-10,-0.0015595405570984476,1.5881538273988095e-5,-7.9692043926817e-10,-0.0015595430360532403,1.5839771966023374e-5,-8.291538101517867e-10,-0.0015594959955338393,1.5654660779172335e-5,-9.72801001056983e-10,-0.0015593463001946208,1.5374391353418983e-5,-1.190114515735307e-9,-0.0015590762116928854,1.5069709060576866e-5,-1.4258030022227316e-9,-0.001558703847788798,1.4807611900845037e-5,-1.6276153266680996e-9,-0.0015582703547364113,1.4632787290015397e-5,-1.7608768873779355e-9,-0.00155782354477752,1.4561962806159921e-5,-1.812864234105201e-9,-0.0015574055106049006,1.4587994709651823e-5,-1.7895075593158592e-9,-0.0015570463687551211,1.4687835068240819e-5,-1.7090593224017948e-9,-0.0015567627265973315,1.4830172836249719e-5,-1.5960694700656643e-9,-0.0015565585721585488,1.4981143223910987e-5,-1.4769346528028385e-9,-0.0015564268779924705,1.5108248878273527e-5,-1.3768878228299211e-9,-0.001556351184307716,1.5183283689987646e-5,-1.3177718726983572e-9,-0.0015563071846080817,1.518499355836712e-5,-1.3159931882651027e-9,-0.001556264759061091,1.5101840586844419e-5,-1.3803631127402186e-9,-0.0015561910289953722,1.493467497760959e-5,-1.5099983155967233e-9,-0.001556054769142461,1.4698525876528096e-5,-1.692928407678446e-9,-0.0015558319325716652,1.4422419435365395e-5,-1.9062865699394374e-9,-0.00155551134062967,1.4146276673803998e-5,-2.118820791349384e-9,-0.0015550990200105716,1.3914554215767493e-5,-2.2959501362179986e-9,-0.0015546195256492723,1.376733680242155e-5,-2.406755127218841e-9,-0.001554113115567492,1.3730683214261952e-5,-2.4314473667369036e-9,-0.001553628664032215,1.3808584379673326e-5,-2.367474165297039e-9,-0.0015532132442453931,1.3978822784027847e-5,-2.232532482775318e-9,-0.0015529002123789554,1.4194626461009348e-5,-2.063117347756414e-9,-0.0015526985302697924,1.439325938164884e-5,-1.907804521574992e-9,-0.0015525869004329388,1.4511149461068737e-5,-1.8155962076796212e-9,-0.0015525163561113226,1.4502518791870292e-5,-1.821618126894051e-9,-0.0015524229966605255,1.4355340596169604e-5,-1.934861536785402e-9,-0.0015522480046320417,1.4097085782131253e-5,-2.1337720574238567e-9,-0.0015519570630758844,1.3785964147240603e-5,-2.373056019133126e-9,-0.0015515502090884452,1.3490805690072358e-5,-2.5993134735632945e-9,-0.0015510581583219735,1.3269136012428824e-5,-2.7680732374480753e-9,-0.0015505287216183647,1.3153018247135854e-5,-2.8547493909096727e-9,-0.0015500111337097319,1.3146302784594268e-5,-2.8566824400189927e-9,-0.0015495446374244918,1.3230505435768768e-5,-2.788469542937826e-9,-0.001549153320614908,1.3373991814169866e-5,-2.6747740927702085e-9,-0.0015488458317407083,1.3540368315253085e-5,-2.543818936185515e-9,-0.0015486175736199625,1.3694424215569561e-5,-2.422826603784886e-9,-0.0015484534953238353,1.3805782453544893e-5,-2.335244042665086e-9,-0.0015483305799586244,1.3851194736815257e-5,-2.2989915178837034e-9,-0.0015482199989999771,1.3816427644258473e-5,-2.3249912029369815e-9,-0.001548089463216438,1.369826171317471e-5,-2.41558809311908e-9,-0.0015479064843226234,1.3506495043573231e-5,-2.5629790637511724e-9,-0.0015476430650823826,1.3265142070830212e-5,-2.748308110889761e-9,-0.0015472817047777522,1.3011433188873347e-5,-2.9425170054115522e-9,-0.0015468215378123499,1.2791153939947237e-5,-3.1100615838046316e-9,-0.0015462823008519895,1.264978126784404e-5,-3.2158634430605283e-9,-0.0015457034820694632,1.2620793299373853e-5,-3.23437207800151e-9,-0.0015451371557708795,1.271461979911524e-5,-3.1580199349164043e-9,-0.0015446354809309358,1.2912598720449401e-5,-3.001718234269623e-9,-0.0015442364302565255,1.3169086681883902e-5,-2.801040276875315e-9,-0.0015439524938185769,1.342193894043896e-5,-2.604019123633512e-9,-0.0015437662068975597,1.3608488064402962e-5,-2.4588197532468753e-9,-0.0015436340713854192,1.3682357584886e-5,-2.4008622169249547e-9,-0.001543497962354699,1.3626252232787606e-5,-2.4430807619033354e-9,-0.00154330101649021,1.3456844397511336e-5,-2.572263294225788e-9,-0.0015430034083978895,1.3219882326718478e-5,-2.7529027871083723e-9,-0.0015425929181858147,1.2976711436722279e-5,-2.937645646025132e-9,-0.0015420866882192013,1.278670592403656e-5,-3.080856310691857e-9,-0.00154152398796979,1.2691851204048305e-5,-3.1504613502583297e-9,-0.001540953480044075,1.2708519035282108e-5,-3.1341863973903237e-9,-0.0015404202334010281,1.2827867903263539e-5,-3.039126457904035e-9,-0.0015399566733843208,1.302256759212801e-5,-2.886485245993735e-9,-0.0015395788942260255,1.325586308652444e-5,-2.7045866919813093e-9,-0.0015392872954454852,1.3489692472678766e-5,-2.5226746116671805e-9,-0.0015390695180788213,1.3690362719305401e-5,-2.3666060094382767e-9,-0.0015389039426561332,1.3831829101966165e-5,-2.2563601055744896e-9,-0.0015387628159656927,1.3897428531583792e-5,-2.20469239650718e-9,-0.0015386148936828994,1.388103058929039e-5,-2.2162086122068876e-9,-0.0015384280799308537,1.3788188762037226e-5,-2.28644706084773e-9,-0.0015381727896268602,1.3637252599749298e-5,-2.4010335015984904e-9,-0.00153782662638598,1.3459685165893791e-5,-2.5355047694054314e-9,-0.0015373803606947806,1.3298103454663454e-5,-2.6569224773298658e-9,-0.0015368439449366434,1.3200271754010526e-5,-2.7285944715443808e-9,-0.0015362497069414172,1.3208268582747388e-5,-2.7184455758695063e-9,-0.0015356491281297727,1.3344727868614513e-5,-2.609535624585385e-9,-0.0015351012857119798,1.3601376685119754e-5,-2.4087144532296773e-9,-0.001534655333305587,1.3936432395579682e-5,-2.1484399499017215e-9,-0.0015343338675460306,1.4284442308400234e-5,-1.8790986065537597e-9,-0.001534124900712501,1.4575769360907748e-5,-1.6540268609434805e-9,-0.001533986063403117,1.4757650849527079e-5,-1.5134089313619608e-9,-0.0015338585577077514,1.4808523097929115e-5,-1.4733758294952858e-9,-0.001533684646016743,1.4741520547899112e-5,-1.5234227094639102e-9,-0.001533422629589494,1.4597945041350879e-5,-1.6315309243635806e-9,-0.0015330556633583313,1.4434363097761433e-5,-1.7541719141681908e-9,-0.0015325932941699795,1.43077142414427e-5,-1.8477863331828831e-9,-0.0015320665277323265,1.426230754346835e-5,-1.878725396982042e-9,-0.0015315185461519663,1.4321473573738102e-5,-1.8295328556822685e-9,-0.001530993934766879,1.4485180350014558e-5,-1.7006180859558923e-9,-0.001530529287402824,1.4733246178698408e-5,-1.5076755247691595e-9,-0.0015301472235543963,1.5032273750256648e-5,-1.2763383865137975e-9,-0.001529854434526647,1.5343751423442615e-5,-1.0360201232972493e-9,-0.0015296430494533845,1.5631173065596047e-5,-8.145421075795626e-10,-0.0015294939224596445,1.5865044960165455e-5,-6.343581941131169e-10,-0.0015293804665335667,1.6025681201232713e-5,-5.104211518947967e-10,-0.0015292721800424954,1.6104406698012555e-5,-4.492264661427397e-10,-0.0015291376898846022,1.610398838942385e-5,-4.484456737093128e-10,-0.0015289476443276155,1.6038826092304203e-5,-4.967851368558057e-10,-0.0015286780300962212,1.5934920116292352e-5,-5.7407767303816e-10,-0.0015283144581671828,1.5828995706173513e-5,-6.520649957069123e-10,-0.001527857433495814,1.5765420962771622e-5,-6.968641554284709e-10,-0.0015273273599870595,1.578919190086431e-5,-6.74377333345776e-10,-0.001526766307082904,1.5934197950098757e-5,-5.592021348606761e-10,-0.0015262325434225242,1.6208917896855537e-5,-3.454009983392546e-10,-0.0015257856016340661,1.6585900155219326e-5,-5.434009904032178e-11,-0.001525465322369261,1.7003376453317625e-5,2.6667254099619e-10,-0.0015252747715500247,1.738282006332563e-5,5.577945753003107e-10,-0.0015251774516648478,1.765614484759572e-5,7.673293029466002e-10,-0.0015251111941016761,1.778888314628154e-5,8.693422948032573e-10,-0.0015250108675460873,1.7788373699605145e-5,8.698678813149482e-10,-0.0015248284104435656,1.769597096092772e-5,8.008933904221264e-10,-0.001524543138352943,1.7570342537972436e-5,7.074837082249667e-10,-0.001524161958697962,1.747014596631279e-5,6.344307222398109e-10,-0.00152371290844506,1.7441141511317046e-5,6.163780060845438e-10,-0.001523235851785127,1.7509215448337496e-5,6.72585413499027e-10,-0.0015227730669315363,1.7678694633934106e-5,8.058200670495614e-10,-0.0015223612736943114,1.7934688640477055e-5,1.0043203383510617e-9,-0.0015220259505717274,1.82482101335355e-5,1.2458005545171251e-9,-0.0015217783771147274,1.858278154644696e-5,1.502482588468059e-9,-0.0015216153779278,1.8901176203271382e-5,1.7461563926156706e-9,-0.001521521286606779,1.9171184850908933e-5,1.9524855806838318e-9,-0.0015214713531420381,1.936973086375099e-5,2.1040967574472464e-9,-0.0015214357043695024,1.9485117407839795e-5,2.1923000740043392e-9,-0.001521383137404215,1.9517692447771478e-5,2.217627952739704e-9,-0.0015212844821984616,1.9479511468266107e-5,2.1895835175049778e-9,-0.0015211156742934025,1.939342867657197e-5,2.1258913140746853e-9,-0.0015208608563400331,1.9291673965034527e-5,2.0512979780619082e-9,-0.001520515854495682,1.9213505125941906e-5,1.995657851135691e-9,-0.0015200919884612346,1.9200901897949216e-5,1.9905876211772794e-9,-0.0015196190517206686,1.9290978781291798e-5,2.0637415938522103e-9,-0.001519144803733725,1.9504713196396947e-5,2.2304122471037216e-9,-0.001518727462232059,1.9834280591372538e-5,2.484141135478913e-9,-0.0015184192950395239,2.0235367514319987e-5,2.7910634415758664e-9,-0.0015182452262433325,2.0633099952696904e-5,3.0944338572009063e-9,-0.0015181877354138221,2.094520859440517e-5,3.3320858875781925e-9,-0.0015181899043198905,2.1113683302729238e-5,3.4603240998125803e-9,-0.0015181776587180065,2.1127106051478163e-5,3.4708520228233463e-9,-0.0015180885131474918,2.1021030404410242e-5,3.391091106264991e-9,-0.0015178909438639508,2.0859213783789e-5,3.2698730446144373e-9,-0.0015175877233646422,2.0709171992738493e-5,3.1587082248994756e-9,-0.0015172073558787026,2.0623842481949752e-5,3.0977101310951086e-9,-0.0015167914191089214,2.063317965218757e-5,3.109204821067375e-9,-0.0015163832619076432,2.0743705953134367e-5,3.1975368071754336e-9,-0.0015160200669873704,2.0942485608743105e-5,3.3523023756736195e-9,-0.0015157281682930876,2.1202788343014117e-5,3.5528268410564887e-9,-0.0015155208240000008,2.1490072546112796e-5,3.7727761422749006e-9,-0.0015153978329193042,2.1767775800983042e-5,3.984512020996164e-9,-0.0015153466823297202,2.2002561279956053e-5,4.162975427671088e-9,-0.0015153449752000046,2.2168662578104594e-5,4.2888951154383054e-9,-0.0015153638372301824,2.225102728825126e-5,4.351136659371982e-9,-0.001515371889179471,2.2246993016359994e-5,4.3479874066622305e-9,-0.0015153392563930425,2.216641597337143e-5,4.287271959233951e-9,-0.001515241213541778,2.2030490914074532e-5,4.1854284582402095e-9,-0.0015150613338686283,2.1869574703626888e-5,4.065761994294679e-9,-0.0015147941551076818,2.1720147110229897e-5,3.956004055400928e-9,-0.0015144474064621842,2.1620798118500058e-5,3.885163322724043e-9,-0.0015140436280418352,2.160676344805545e-5,3.879380610579873e-9,-0.0015136202312386242,2.1702388771875214e-5,3.956357484574458e-9,-0.001513226034844196,2.191177437422689e-5,4.1185205826258535e-9,-0.0015129120080209172,2.221001677650227e-5,4.346649078495528e-9,-0.001512715541928629,2.254041791686142e-5,4.597890678761155e-9,-0.001512642323751254,2.282451516198137e-5,4.8132638236435735e-9,-0.001512656112032841,2.2987226657755368e-5,4.936448725917021e-9,-0.0015126871339836351,2.2987814401065566e-5,4.937036368579893e-9,-0.0015126589666124984,2.283832816494508e-5,4.824488181507253e-9,-0.0015125191642603442,2.2596939508072832e-5,4.643164810446097e-9,-0.001512255771697461,2.234135481963672e-5,4.452159952580022e-9,-0.0015118937115124553,2.2139907404171068e-5,4.303255975411923e-9,-0.00151147883232571,2.203443093930126e-5,4.227845582902372e-9,-0.001511060993239207,2.2037202305538674e-5,4.234671953457867e-9,-0.0015106824975225093,2.213657085421608e-5,4.314282868663287e-9,-0.0015103725536317254,2.2305348342064856e-5,4.4455958177446396e-9,-0.001510145935250769,2.2508543748264166e-5,4.601885979825811e-9,-0.0015100037941396729,2.27093975733727e-5,4.75536669510632e-9,-0.0015099353530227085,2.2873996336669858e-5,4.880600371514767e-9,-0.0015099200916151164,2.2974973370313923e-5,4.957188134048892e-9,-0.0015099304637137257,2.2994496007904244e-5,4.971952359005194e-9,-0.0015099352286913673,2.2926461766264454e-5,4.920579998432417e-9,-0.0015099033645110472,2.277759522000927e-5,4.808472749402745e-9,-0.0015098082535331882,2.256704567886276e-5,4.650450638927179e-9,-0.0015096316019525189,2.2324318804894625e-5,4.469136915658275e-9,-0.0015093665766133704,2.208567924099814e-5,4.2921241199986e-9,-0.0015090197629728298,2.1889299652124044e-5,4.148176635499323e-9,-0.0015086116448405531,2.1769507934527783e-5,4.062815296740895e-9,-0.0015081753500045245,2.1750466832938717e-5,4.05360291565382e-9,-0.0015077531763032308,2.183960388547096e-5,4.125383508132904e-9,-0.0015073900399322092,2.202167990402843e-5,4.2660809956394935e-9,-0.0015071232263286609,2.225573764208077e-5,4.44462415416496e-9,-0.0015069693776782423,2.2478572667533146e-5,4.6136193435732875e-9,-0.0015069127900212765,2.261830809440704e-5,4.719430802140069e-9,-0.0015069025568193628,2.2617773461514468e-5,4.719545121206075e-9,-0.0015068654430890603,2.2459193836491986e-5,4.601005606662283e-9,-0.001506732732291867,2.2175454413684737e-5,4.388897633440769e-9,-0.0015064676102254564,2.1838262916960467e-5,4.1374773793336535e-9,-0.0015060770908259737,2.152899176668202e-5,3.9081543995164606e-9,-0.0015056034531821725,2.130964096087466e-5,3.747499605308365e-9,-0.0015051039831142801,2.120817745888039e-5,3.67616765940978e-9,-0.0015046318558587788,2.121994692951462e-5,3.6900798243215312e-9,-0.0015042251268647423,2.1317953608248667e-5,3.768369282876351e-9,-0.0015039036630436163,2.1464388035088392e-5,3.88222893943776e-9,-0.0015036707819547192,2.1619516091843104e-5,4.001665844105285e-9,-0.0015035165886605325,2.1747302655433718e-5,4.099689013291884e-9,-0.00150342132600212,2.1818716266063703e-5,4.154695925069204e-9,-0.001503358325448771,2.1813879500024203e-5,4.1519986156729824e-9,-0.0015032968462424501,2.1723736492507323e-5,4.08503905892022e-9,-0.0015032052341075262,2.155133538091197e-5,3.956368101994074e-9,-0.0015030546872407823,2.1312355770057032e-5,3.778071180337243e-9,-0.0015028235326783174,2.103420332333634e-5,3.5710789610787957e-9,-0.0015025013887804367,2.075307806093682e-5,3.362886440108658e-9,-0.0015020922453497882,2.0508886287330707e-5,3.183598559287639e-9,-0.0015016154742786625,2.0338452391119222e-5,3.0607104114683997e-9,-0.0015011040515861569,2.0268076034948164e-5,3.0134867470089806e-9,-0.001500599804274013,2.030688168146457e-5,3.04807733049152e-9,-0.0015001460726057133,2.044239395900025e-5,3.154424023362247e-9,-0.00149977856352969,2.0639604039527855e-5,3.305819021705255e-9,-0.0014995156172464786,2.0844817059723325e-5,3.461959279396227e-9,-0.0014993500137638414,2.0995399978085027e-5,3.576249789876038e-9,-0.0014992456432738306,2.1035335583678028e-5,3.60729449457631e-9,-0.0014991428844553212,2.0933644184201608e-5,3.532476786791916e-9,-0.0014989745730104767,2.0698804268457708e-5,3.3586078624101303e-9,-0.0014986888360896111,2.0380406021878866e-5,3.1231135922833585e-9,-0.0014982686733544998,2.0053717417477414e-5,2.88245886837212e-9,-0.001497737525690711,1.979300837962255e-5,2.692135997911263e-9,-0.001497148017881539,1.9647196210900128e-5,2.588415637713842e-9,-0.0014965613991866607,1.9629093705834248e-5,2.5803785904338805e-9,-0.0014960289411646245,1.971968706434261e-5,2.653283174951249e-9,-0.0014955820412908304,1.9880736800477454e-5,2.778157555940626e-9,-0.0014952309905867504,2.006787897714019e-5,2.9216817011335566e-9,-0.0014949687552116315,2.0239968863611068e-5,3.053154202397362e-9,-0.001494776174475137,2.0364131096063462e-5,3.1481831138080597e-9,-0.0014946265704327824,2.0417849223123522e-5,3.1901577490234746e-9,-0.0014944892845262566,2.038968095963877e-5,3.170735822070018e-9,-0.001494332545660484,2.0279629489477603e-5,3.090127645122555e-9,-0.0014941263545837618,2.009946410020862e-5,2.957370145196969e-9,-0.0014938459444002585,1.9872625600314708e-5,2.7902699955053625e-9,-0.0014934759328347927,1.9632856641228426e-5,2.614335134584265e-9,-0.0014930145655336932,1.9420569813598002e-5,2.4599538294097267e-9,-0.001492476702076429,1.9276431553751654e-5,2.3574741074222654e-9,-0.001491893815555032,1.923270705234934e-5,2.3306640563010123e-9,-0.0014913096645020614,1.930428755097455e-5,2.3900526656468323e-9,-0.0014907716135890666,1.9482318555866433e-5,2.5283426168944e-9,-0.0014903193643921373,1.973316438958572e-5,2.7198781518158167e-9,-0.0014899741448074898,2.0003956799043533e-5,2.9249937542774248e-9,-0.0014897315523588778,2.023395845028581e-5,3.098573729705269e-9,-0.0014895604078392077,2.036929696434408e-5,3.200967785115278e-9,-0.0014894086578894246,2.0377579597678796e-5,3.2087039570247428e-9,-0.0014892158047863976,2.0258385868426954e-5,3.122098731804692e-9,-0.001488929416536435,2.00457625312811e-5,2.9669485121319134e-9,-0.0014885210657221955,1.9800292408669174e-5,2.7885218058526498e-9,-0.0014879957071757151,1.9591794282292342e-5,2.6386436925550972e-9,-0.0014873899746012964,1.9478359809753334e-5,2.5601312681883347e-9,-0.0014867596618360918,1.949011570768919e-5,2.5748323704033555e-9,-0.0014861620498762876,1.96239922223134e-5,2.6799132147527057e-9,-0.0014856407320978139,1.9849868774778618e-5,2.8525944425785092e-9,-0.0014852179082245765,2.0123138972227992e-5,3.0595746869390322e-9,-0.001484894404555705,2.0397436089605455e-5,3.266468246613373e-9,-0.0014846544662120268,2.063358248057847e-5,3.444366312054756e-9,-0.0014844719149976677,2.080401172999627e-5,3.573026893968126e-9,-0.0014843155256631664,2.089389600951698e-5,3.6416569247405195e-9,-0.0014841529717873015,2.0900677734307805e-5,3.6485643076621275e-9,-0.0014839536957402732,2.083324538196875e-5,3.6005774495059056e-9,-0.0014836914694317035,2.0711220588510544e-5,3.5125354304605184e-9,-0.0014833473561297718,2.0564086382282243e-5,3.406608295349423e-9,-0.0014829133688975399,2.0429297886048457e-5,3.3108019367196984e-9,-0.0014823963710327067,2.0348185310062236e-5,3.25579730356668E-09,-0.0014818207428450856,2.0358734524199104e-5,3.269510016130022e-9,-0.0014812274772494347,2.048563738802864e-5,3.369725367338494e-9,-0.0014806675693328044,2.0730221397913308e-5,3.556767697544755e-9,-0.0014801896123771137,2.106481501301274e-5,3.809538836492915e-9,-0.0014798249253679303,2.143590416769047e-5,4.088059593597637e-9,-0.0014795761455542354,2.177709692752412e-5,4.3431788306475135e-9,-0.0014794146511569793,2.202796158292254e-5,4.530508461441201e-9,-0.0014792883061481331,2.21516328538685e-5,4.623353141774396e-9,-0.0014791364524373138,2.2144870224967428e-5,4.620002061129199e-9,-0.001478906684187595,2.203791530288745e-5,4.543444647931511e-9,-0.0014785683235115793,2.1885258092804413e-5,4.434360357647662e-9,-0.0014781193401062422,2.1750689691606835e-5,4.339933827235743e-9,-0.0014775854795386373,2.169092982823376e-5,4.3017291032046366e-9,-0.001477012299802205,2.1742145708306606e-5,4.345842348530162e-9,-0.0014764526498468376,2.191281179061359e-5,4.477843345187745e-9,-0.0014759534363243591,2.2184454181331846e-5,4.683549499194312e-9,-0.0014755455960484022,2.2519217855883682e-5,4.93475027814799e-9,-0.0014752396898019221,2.2870962823821085e-5,5.1974073013490225e-9,-0.0014750271342094889,2.3195958122338928e-5,5.439457561441334e-9,-0.0014748851544931095,2.3460421517391652e-5,5.636259530417908e-9,-0.0014747829673421675,2.3644120169039524e-5,5.773169265596725e-9,-0.001474687320693333,2.374080291527646e-5,5.845840169919798e-9,-0.0014745666070528286,2.3756880234768512e-5,5.859274017653767e-9,-0.0014743937130802754,2.370958754850038e-5,5.826487086509059e-9,-0.0014741482569230124,2.3625217663658505e-5,5.767179828898929e-9,-0.001473818894785108,2.353730629244631e-5,5.7063097259063755e-9,-0.0014734060778071696,2.3484074946004946e-5,5.672082995091509e-9,-0.001472924981874492,2.3504008874457454e-5,5.692603170476783e-9,-0.0014724072644037177,2.3628534088270373e-5,5.790480507708103e-9,-0.0014718991918354172,2.387197597384268e-5,5.975569281186334e-9,-0.0014714535304005726,2.422153315886059e-5,6.2378093646216116e-9,-0.0014711147480171334,2.463284924493281e-5,6.5441791770475725e-9,-0.0014709018005976526,2.5037149761910478e-5,6.844044438239558e-9,-0.0014707971735682401,2.5361087416693702e-5,7.08371765685339e-9,-0.0014707499231823534,2.5551998946229314e-5,7.224937628064112e-9,-0.0014706928556039132,2.559617122586235e-5,7.2582251778159335e-9,-0.0014705654035565266,2.5521412187611647e-5,7.204692681405604e-9,-0.0014703314954858874,2.5384704814681434e-5,7.106814374546921e-9,-0.001469986538679709,2.5252782134341083e-5,7.013936096625625e-9,-0.0014695540981764408,2.5183955143550453e-5,6.968766442288963e-9,-0.0014690762900327096,2.5215950258180403e-5,6.998456432120111e-9,-0.0014686020708823385,2.5360870206104967e-5,7.1110940673169154e-9,-0.001468176386598783,2.5606318665205407e-5,7.296811789583651e-9,-0.001467831922902369,2.592100301791191e-5,7.532134484148677e-9,-0.0014675843884544473,2.6263002803544234e-5,7.786145194716698e-9,-0.0014674316308986469,2.6588795756606222e-5,8.027060457500164e-9,-0.0014673561469447757,2.6861167542429433e-5,8.22790296065784e-9,-0.001467329858105644,2.7054651629686617e-5,8.370365121482301e-9,-0.0014673197245071011,2.7158013293985568e-5,8.446566196624374e-9,-0.0014672929285562525,2.717410966689769e-5,8.458950180331899e-9,-0.0014672208834997042,2.7118011201820044e-5,8.4189307986924e-9,-0.0014670820001531884,2.7014370775278294e-5,8.34495143072538e-9,-0.0014668636033767842,2.6894642929169563e-5,8.260369284515231e-9,-0.0014665634811135814,2.6794222102966245e-5,8.19123024785904e-9,-0.0014661914098972825,2.674909228562432e-5,8.163696466874626e-9,-0.001465770520724381,2.679114846664634e-5,8.200590836488431e-9,-0.001465337400999473,2.6941364730020337e-5,8.316505230393117e-9,-0.0014649388274165344,2.720105595585084e-5,8.511638713086152e-9,-0.0014646228477321868,2.7543744071366404e-5,8.766111014759959e-9,-0.0014644237187200332,2.791300341092992e-5,9.03854416039646e-9,-0.001464344966501293,2.8232690622237343e-5,9.273507511061049e-9,-0.00146435037296069,2.8431059296295023e-5,9.418980704214775e-9,-0.0014643722903750673,2.8469546292426055e-5,9.447272055057291e-9,-0.0014643365365555757,2.835968319109381e-5,9.367378735882624e-9,-0.0014641906956874835,2.8157374663821298e-5,9.220801767421116e-9,-0.0014639203699168175,2.793907130398366e-5,9.063972153156974e-9,-0.001463547743641747,2.777469392086682e-5,8.94819704622287e-9,-0.0014631181589848093,2.770971394278009e-5,8.906400483072525e-9,-0.0014626840013922983,2.7759615661242276e-5,8.949152904876544e-9,-0.0014622919778576426,2.7913376841285792e-5,9.067487925009645e-9,-0.0014619755187329977,2.8141209895819113e-5,9.238874894232356e-9,-0.0014617515941158011,2.840319839203045e-5,9.43374255358404e-9,-0.0014616206414562979,2.8657228590944903e-5,9.621316724398479e-9,-0.0014615686117483452,2.88656511750599e-5,9.77438646312151e-9,-0.0014615705063021332,2.9000359578134314e-5,9.872855466969257e-9,-0.0014615948598680729,2.9046009835060456e-5,9.905967029354836e-9,-0.001461608579480747,2.900124632155569e-5,9.873148682283592e-9,-0.0014615815016667387,2.8877991973552452e-5,9.783504838835818e-9,-0.001461490094774729,2.86991569091944e-5,9.65415693656674e-9,-0.0014613200429391873,2.8495379357004293e-5,9.507823393054517e-9,-0.0014610677949529376,2.8301325099769305e-5,9.370010304543687e-9,-0.0014607412749224225,2.8151769243240655e-5,9.266016170060544e-9,-0.001460359934266054,2.807741831222614e-5,9.217802419101563e-9,-0.001459954104262802,2.810012125881796e-5,9.240548810429125e-9,-0.0014595629027557774,2.8227079611997363e-5,9.338632920695437e-9,-0.001459229207373408,2.8444570378339046e-5,9.501348366973721e-9,-0.0014589903312328463,2.8713478214577256e-5,9.699906185659169e-9,-0.0014588646330113623,2.8970928160528702e-5,9.888704607981145e-9,-0.0014588380390138703,2.9143000527045176e-5,1.0014441084658272e-8,-0.0014588592510678298,2.916941323267889e-5,1.0033827086917958e-8,-0.0014588523821274818,2.9030953044343186e-5,9.933409035109415e-9,-0.0014587456644553276,2.8762477106263568e-5,9.739062259576716e-9,-0.001458501091057045,2.844024437257861e-5,9.506799999855063e-9,-0.001458127143420008,2.8150315430128008e-5,9.299622484807696e-9,-0.001457669435461303,2.7957472722960843e-5,9.164649386359438e-9,-0.0014571891196582215,2.788982620398424e-5,9.12181556433836e-9,-0.001456742655817562,2.7940470402478702e-5,9.1652351867303225E-09,-0.0014563700347164715,2.807848674258035e-5,9.271524962474886e-9,-0.0014560912588836175,2.826144010513699e-5,9.409190716108027e-9,-0.0014559078903742333,2.8445360201978687e-5,9.546033498517481e-9,-0.0014558067229891146,2.859145029300421e-5,9.65399985693406e-9,-0.0014557639343839687,2.867025540336573e-5,9.712068997365372e-9,-0.0014557492065120391,2.8664138594720785e-5,9.707890097359682e-9,-0.0014557298001960863,2.8568493551007577e-5,9.638560286519974e-9,-0.0014556745936851589,2.839177608483774e-5,9.510625422205857e-9,-0.0014555579370875656,2.815423714782051e-5,9.339183329667601e-9,-0.0014553629537277198,2.788526924195518e-5,9.14595894628804e-9,-0.0014550838573302906,2.7619586166606147e-5,8.95646433151999e-9,-0.0014547270310782067,2.7392671032165182e-5,8.796565507284847e-9,-0.0014543107698863327,2.7235881381529104e-5,8.688803061502544e-9,-0.0014538636547068316,2.7171559156514596e-5,8.648806078255112e-9,-0.0014534215710303232,2.7208440099601352e-5,8.68207399305285e-9,-0.001453023162629078,2.7337595874378007e-5,8.781285876904159e-9,-0.0014527031545351094,2.7529636906441165e-5,8.924571639210088e-9,-0.0014524833008458392,2.7735059993107925e-5,9.075970709988018e-9,-0.0014523621957538728,2.7890571544417234e-5,9.19001842577633e-9,-0.0014523077282724134,2.793379091660291e-5,9.22219677030714e-9,-0.0014522585937687897,2.7825223830983982e-5,9.144582317840528e-9,-0.0014521403795198652,2.7569149189017554e-5,8.960821255109384e-9,-0.001451893505617349,2.7219493141957345e-5,8.71038541518176e-9,-0.0014514989868257015,2.6862149989671336e-5,8.455773632611902e-9,-0.0014509858377754307,2.6581283086955036e-5,8.257991564297597e-9,-0.0014504161415827162,2.642918854125528e-5,8.154588223766253e-9,-0.0014498591074915373,2.6414918608475404e-5,8.151437565096828e-9,-0.0014493694267968629,2.6511849721997745e-5,8.228438049517682e-9,-0.001448977429522189,2.667403387196817e-5,8.351639483937653e-9,-0.0014486894408670674,2.6851542282472955e-5,8.484552463610772e-9,-0.0014484932417684118,2.700055872143433e-5,8.595494996252945e-9,-0.0014483645278005612,2.7088384874182358e-5,8.661115546099852e-9,-0.0014482724252906584,2.709519725146361e-5,8.667505390416874e-9,-0.0014481837922433506,2.7014246607076915e-5,8.610209915657879e-9,-0.0014480667630384213,2.6851367625677863e-5,8.493819386236972e-9,-0.0014478939985973695,2.6623968239600285e-5,8.331252341426477e-9,-0.0014476458307236476,2.635924813759418e-5,8.142498231074953e-9,-0.00144731311061095,2.6091231865376743e-5,7.952456649511876e-9,-0.0014468992107673786,2.5856444834127285e-5,7.787722099695875e-9,-0.0014464205463444633,2.5688537660867144e-5,7.672567457310853e-9,-0.0014459051593164764,2.5612502082256553e-5,7.624669465502379e-9,-0.0014453891705153014,2.5639343311066898e-5,7.651283894303304e-9,-0.0014449112632642608,2.5762226244715e-5,7.746636370364774e-9,-0.0014445057152640856,2.595501245227754e-5,7.891145026699935e-9,-0.0014441946694093064,2.6173960497131583e-5,8.052917461887092e-9,-0.0014439806475695987,2.636349963132186e-5,8.192048807278225e-9,-0.0014438411873451745,2.646690890427581e-5,8.268250609640819e-9,-0.0014437286296687954,2.6441511003512633e-5,8.251567637578792e-9,-0.001443578444853297,2.6275165731848128e-5,8.1339948899965e-9,-0.0014433273202660133,2.5997083928831833e-5,7.937096006765073e-9,-0.001442936409115405,2.567444219779277e-5,7.709508223593939e-9,-0.0014424086701659907,2.5391506100637698e-5,7.511889392046065e-9,-0.0014417892862947695,2.5219227646515815e-5,7.3950023164529674e-9,-0.001441147821285167,2.5191187270965408e-5,7.382424698161206e-9,-0.0014405525671188652,2.5297654232244746e-5,7.46642211059057e-9,-0.0014400506984845914,2.549697136888099e-5,7.616367322101587e-9,-0.0014396609875323325,2.573422047511667e-5,7.792362299919142e-9,-0.0014393770763216152,2.595731091946943e-5,7.956884889193762e-9,-0.0014391755390315833,2.6126299063856226e-5,8.081435414644157e-9,-0.0014390240648945822,2.621661961154909e-5,8.14872862017226e-9,-0.0014388876944924675,2.6218749094750767e-5,8.152319004850451e-9,-0.0014387330155882449,2.6136521805769236e-5,8.095315097039274e-9,-0.0014385310964584244,2.5985249879172986e-5,7.98902323659588e-9,-0.0014382599562942464,2.578984727441783e-5,7.851630723953415e-9,-0.001437907000473791,2.558258430097201e-5,7.706602007982529e-9,-0.0014374713475980292,2.539984818095332e-5,7.580298299298504e-9,-0.0014369654370357835,2.5277430919184726E-05,7.498481675769508e-9,-0.0014364149450387434,2.524445155724815e-5,7.481837634246073e-9,-0.0014358560907401488,2.531680732424275e-5,7.541239382042651e-9,-0.0014353299421923447,2.549174348391302e-5,7.67395063074306e-9,-0.0014348742608147498,2.5745447771436074e-5,7.862124322155557e-9,-0.0014345144552345818,2.6035180886781052e-5,8.074600559849243e-9,-0.0014342558619612528,2.6306381027453562e-5,8.272200047331242e-9,-0.001434079589311781,2.6503932782313694e-5,8.415841468953633e-9,-0.0014339437223416472,2.658569469617018e-5,8.476099349229682e-9,-0.0014337909162949274,2.653533090809111e-5,8.442148816768944e-9,-0.0014335620776601706,2.6370518693983798e-5,8.32738512813637e-9,-0.0014332136074441035,2.614232716045764e-5,8.16878953155742e-9,-0.0014327328436069065,2.592319956427502e-5,8.01823403658462e-9,-0.0014321447131647473,2.5785451237951414e-5,7.927095900408931e-9,-0.0014315049081303302,2.5778022969174607e-5,7.92972291182139e-9,-0.001430881462440153,2.591187567232032e-5,8.0331743458699e-9,-0.0014303331772278684,2.616035797685171e-5,8.217711692267238e-9,-0.0014298944934438224,2.6472481447071226e-5,8.446469961108673e-9,-0.0014295714210435305,2.6790920056085873e-5,8.67839265732808e-9,-0.0014293466416022695,2.706669905365202e-5,8.878682424407924e-9,-0.0014291886521796292,2.726698482237647e-5,9.024249768378522e-9,-0.0014290605250002484,2.7376714200605378e-5,9.104750656058354e-9,-0.0014289262535661926,2.7396668664601868e-5,9.121125674470142e-9,-0.0014287546376585928,2.734037378186705e-5,9.083361209742851e-9,-0.0014285215854872378,2.7231132652078738e-5,9.008387004102195e-9,-0.0014282118094740023,2.7099446056366132e-5,8.91824477219024e-9,-0.0014278205169719102,2.6980369162120895e-5,8.838165817857077e-9,-0.0014273551041353886,2.6910052790540644e-5,8.794014126806641e-9,-0.001426836217410468,2.692081607168585e-5,8.808668492982802e-9,-0.0014262969989791532,2.703467650249471e-5,8.897360695655925e-9,-0.0014257791653392638,2.7256366225002294e-5,9.062761040100194e-9,-0.0014253252294257476,2.7568169951920956e-5,9.291482753990074e-9,-0.0014249678412150235,2.7929586139618507e-5,9.554082763102208e-9,-0.001424719247272349,2.8283922152095817e-5,9.8099633515569e-9,-0.0014245649540888968,2.857138997614607e-5,1.0016784431585915e-8,-0.001424464819701088,2.874523105273305e-5,1.0141889729331605e-8,-0.0014243621807249333,2.8785614912595313e-5,1.0172034668321106e-8,-0.001424198594399113,2.8706550061364885e-5,1.0118076747905602e-8,-0.0014239298298215845,2.855338333973738e-5,1.0012952173362216e-8,-0.0014235384273948743,2.8391359153604704e-5,9.903332600293055e-9,-0.001423039068963574,2.8288237213866135e-5,9.837163726172813e-9,-0.0014224748046457894,2.8295862255426144e-5,9.850620457112531e-9,-0.0014219048911750486,2.8436423102220665e-5,9.95855573897215e-9,-0.0014213881167722824,2.8698019217145672e-5,1.0151643259449534e-8,-0.001420967450066756,2.9040746996965335e-5,1.0400951762124473e-8,-0.0014206611416994707,2.941022918094345e-5,1.066766982712532e-8,-0.001420462210050991,2.9752840746124096e-5,1.0913884054961945e-8,-0.0014203445464611544,3.0027360180390388e-5,1.111072374244291e-8,-0.0014202718523974758,3.0210625033603962e-5,1.1242230035220288e-8,-0.0014202059478694213,3.0297793467362173e-5,1.130543514634517e-8,-0.0014201126851082163,3.0299379741317255e-5,1.1308212546961511e-8,-0.001419965354967399,3.023722740125861e-5,1.126641797154726e-8,-0.0014197463754245395,3.0140745523510838e-5,1.1201222166966375e-8,-0.0014194482287997765,3.004374201377961e-5,1.1136832656018542e-8,-0.0014190743137684472,2.9981438465230445e-5,1.1098298258684281e-8,-0.001418639809555389,2.9986901963587264e-5,1.1108885328964141e-8,-0.001418171968272546,3.008617815680982e-5,1.1186579824169502e-8,-0.0014177085861886171,3.0291942135319834e-5,1.133964646008498e-8,-0.001417293059956346,3.05967206924271e-5,1.1562003200599675e-8,-0.0014169650708668305,3.0968510049347896e-5,1.1830355814926381e-8,-0.0014167481369272308,3.135278601208798e-5,1.210581797947972e-8,-0.0014166384270926171,3.168371673086619e-5,1.2341922339142801e-8,-0.001416601011852032,3.1903068064781095e-5,1.2497950944243014e-8,-0.001416577597530908,3.197990561297152e-5,1.2552765821321245e-8,-0.001416504023895075,3.192205189348772e-5,1.2512782170450044e-8,-0.0014163303334027324,3.177388113563488e-5,1.241023118085146e-8,-0.0014160352058320256,3.160197306166359e-5,1.2292773285630224e-8,-0.00141563020412267,3.147525183817631e-5,1.2209223647116733e-8,-0.001415154182806351,3.144686499940079e-5,1.219665427065755e-8,-0.0014146612944608804,3.1542588220823e-5,1.2272337128455885e-8,-0.0014142068212377667,3.17574992652059e-5,1.2431711044918489e-8,-0.0014138345495532411,3.206030619328251e-5,1.2651790954942593e-8,-0.0014135683760217552,3.240316711893786e-5,1.2898338055852669e-8,-0.0014134095167311366,3.273394154711765e-5,1.3134557510283644e-8,-0.0014133391618895421,3.300757270905415e-5,1.3329020931988017e-8,-0.0014133249690354472,3.31939594183018e-5,1.34610409333419e-8,-0.0014133289896605121,3.328119077205221e-5,1.3522794560786908e-8,-0.001413314822460721,3.3274656159752014e-5,1.3518607273504532e-8,-0.0014132527079583823,3.3193518643689525e-5,1.3462443644765452e-8,-0.0014131223461608018,3.3066195373724894e-5,1.3374722960227905e-8,-0.001412913992766144,3.292604615376844e-5,1.3279258055873786e-8,-0.0014126286522506636,3.2807704536436217e-5,1.3200599557144906e-8,-0.0014122779793304208,3.274378481004234e-5,1.3161617579820244e-8,-0.0014118840527596287,3.276134215889836e-5,1.318093997452497e-8,-0.0014114785988180107,3.287744387268909e-5,1.3269863918137662e-8,-0.0014111005438624472,3.309364278437632e-5,1.3428626290622916e-8,-0.0014107903444190032,3.339035361538781e-5,1.3642698341029341e-8,-0.0014105801213301545,3.372401496582465e-5,1.388102605623399e-8,-0.0014104809172316352,3.403140528598448e-5,1.4099169038639324e-8,-0.0014104721889999377,3.4244418459823575e-5,1.4249623837810556e-8,-0.0014105012730983308,3.431313016865975e-5,1.4297897851110098e-8,-0.0014104976530675871,3.4227232153276674e-5,1.4237483279052317e-8,-0.0014103978203613941,3.4023102917727105e-5,1.409478258989675e-8,-0.0014101683041605874,3.37710788967813e-5,1.3920030577394821e-8,-0.0014098152448564095,3.3549879175073367e-5,1.3769043937615413e-8,-0.0014093780596700428,3.342166325020871e-5,1.3685419104499984e-8,-0.0014089135400348065,3.341756238018929e-5,1.3690309226175862e-8,-0.0014084788334548454,3.3535493238112093e-5,1.37811189010826e-8,-0.0014081186845767038,3.374669781848928e-5,1.3936497322555077e-8,-0.0014078585339577186,3.400633332696204e-5,1.4124144409347155e-8,-0.0014077028508541673,3.42645878758073e-5,1.4308805334751806e-8,-0.0014076373664685578,3.4476340111075574e-5,1.4459025629545484e-8,-0.0014076339312917433,3.4608360343685586e-5,1.4552028310657353e-8,-0.0014076568208633863,3.464345854701809e-5,1.457641017245677e-8,-0.001407669277186434,3.458141606859998e-5,1.4532638817739162e-8,-0.0014076391876356137,3.443714237304597e-5,1.4431695615751243e-8,-0.0014075431589499628,3.42369134134312e-5,1.4292440206539112e-8,-0.0014073687088618709,3.401369363319955e-5,1.4138337135936162e-8,-0.0014071148025871514,3.380247774740365e-5,1.3994150056515684e-8,-0.0014067912957618034,3.363619137526845e-5,1.3882976655598566e-8,-0.001406417785833611,3.3542132876375727e-5,1.3823657520053249e-8,-0.0014060220696082155,3.3538605100390865e-5,1.3828389059174037e-8,-0.0014056380007306819,3.363132267047934e-5,1.3900311168766636e-8,-0.0014053019647113963,3.3809476163547754e-5,1.403098639393186e-8,-0.0014050467952829435,3.404235090138576e-5,1.4198316878603361e-8,-0.0014048925106380783,3.427900969237467e-5,1.4366522015636952e-8,-0.0014048352740607154,3.4454830578689884e-5,1.4490717899879615e-8,-0.0014048394576729162,3.450785686877302e-5,1.452817586539771e-8,-0.0014048405652307403,3.4402642110255266e-5,1.4454790297227312e-8,-0.001404764049178016,3.415061768516878e-5,1.4279243287251102e-8,-0.0014045544794032856,3.381223147440442e-5,1.4044512501709342e-8,-0.001404199019517501,3.34753415760048e-5,1.3812662721467575e-8,-0.0014037308928993113,3.322120032523223e-5,1.3640780805957817e-8,-0.0014032126628860826,3.309751484531842e-5,1.3561886833224022e-8,-0.0014027118105852483,3.311012467826726e-5,1.3579138976547671e-8,-0.0014022815504324637,3.3230920394382554e-5,1.3671690150678322e-8,-0.0014019518800177807,3.341272421638346e-5,1.3805518700988216e-8,-0.0014017290980962978,3.360354473780993e-5,1.3943711301648619e-8,-0.0014016000243125806,3.375694744860536e-5,1.4053807349603574e-8,-0.001401537920759662,3.383830386691697e-5,1.4112051071441454e-8,-0.001401508516602354,3.38278961316903e-5,1.4105333153706423e-8,-0.0014014756088146735,3.372177220527613e-5,1.4031568509718768e-8,-0.0014014060660440912,3.353076489929489e-5,1.3898885331730495e-8,-0.0014012739860668733,3.327793091957308e-5,1.3723815329935129e-8,-0.0014010636973225197,3.2994742987017955e-5,1.3528667448275764e-8,-0.0014007713279077503,3.271646976821572e-5,1.3338315101143095e-8,-0.0014004048383781237,3.247734073521475e-5,1.3176767910392181e-8,-0.001399982720160362,3.230609707347399e-5,1.3063963984102755e-8,-0.0013995317115542282,3.222223618554686e-5,1.3013065431940527e-8,-0.0013990837824146862,3.223298100013896e-5,1.3028362806501945e-8,-0.0013986724408224693,3.2330914871978444e-5,1.310378977963939e-8,-0.0013983280897938944,3.249234472603756e-5,1.3222059543851011e-8,-0.0013980719157413676,3.26771022098923e-5,1.3354806377875613e-8,-0.001397908301055983,3.2831582187595467E-05,1.3464847011626819e-8,-0.001397817347062273,3.289747667782527e-5,1.3512189019105797e-8,-0.001397751512132713,3.28277047548693e-5,1.3464871106866769e-8,-0.0013976423203658295,3.260691801970788e-5,1.3312974762696126e-8,-0.0013974208313565252,3.2266892279175194e-5,1.3079220779759064e-8,-0.0013970462170215551,3.188350281420138e-5,1.2816866134850941e-8,-0.001396526429072313,3.15504266134185e-5,1.2591347003175733e-8,-0.0013959162362914407,3.134208482490942e-5,1.2454319312828303e-8,-0.0013952934212709952,3.12876940613365e-5,1.2425488800691024e-8,-0.0013947290248052181,3.1368994960239776e-5,1.2491155941132685e-8,-0.0013942677926455445,3.153656609401135e-5,1.2615901943459306e-8,-0.001393923604268954,3.173094679442987e-5,1.2757639356311874e-8,-0.0013936850245932673,3.189863660685751e-5,1.287894027262053e-8,-0.0013935243292366379,3.20005016684368e-5,1.295286703830315e-8,-0.0013934059148908537,3.2014351751696166e-5,1.2964583482053157e-8,-0.0013932926868055352,3.193431439306784e-5,1.29106853876459e-8,-0.0013931506171936453,3.176890244780789e-5,1.279767711238989e-8,-0.0013929521622677431,3.153852371658084e-5,1.2640170940633758e-8,-0.0013926789463034916,3.1272453315631026e-5,1.2458806214965603e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_4.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_4.json new file mode 100644 index 000000000..fb9e3f35a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_4.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":4000,"numberOfSamples":1000,"samples":[-0.0013923237156324762,3.10051313115372e-5,1.227772476593132e-8,-0.0013918913030339685,3.0771749723490945e-5,1.2121506307793586e-8,-0.0013913982265213998,3.060338976954708e-5,1.2011722091998317e-8,-0.0013908707040811456,3.052231698115309e-5,1.1963565646016446e-8,-0.001390341194667023,3.053811122326968e-5,1.198311590315129e-8,-0.0013898437960375297,3.064516965374932e-5,1.206567850949141e-8,-0.0013894089283486013,3.0821985171837794e-5,1.219550046257788e-8,-0.0013890577325521491,3.103246124664618e-5,1.234697235237071e-8,-0.001388796542557306,3.12295787680487e-5,1.2487412403812631e-8,-0.0013886120720738905,3.136210718279558e-5,1.2581786671309725e-8,-0.0013884688947041909,3.1385084006792996e-5,1.2599819994917749e-8,-0.0013883119458332274,3.127360474065753e-5,1.2525244839418013e-8,-0.0013880771300425396,3.103666131759266e-5,1.2365079707027838e-8,-0.0013877108551321243,3.072388276790292e-5,1.2154123117817592e-8,-0.0013871929430152989,3.0416606360292832e-5,1.1948741207200948e-8,-0.001386550391714903,3.0201205713724095e-5,1.1808429582903155e-8,-0.0013858506737383077,3.01357997768827e-5,1.1772803776767341e-8,-0.0013851759104291312,3.0229273883448915e-5,1.1847175892297428e-8,-0.001384592881220668,3.0443874540562336e-5,1.2004550146250928e-8,-0.0013841349373795028,3.0716035009628255e-5,1.2200281016361826e-8,-0.0013838008265632472,3.098058540822912e-5,1.2389009867920565e-8,-0.0013835645353088798,3.118712181259742e-5,1.2536034707260684e-8,-0.0013833877106148682,3.130621279611001e-5,1.2621499602221395e-8,-0.0013832296076505604,3.132862793970199e-5,1.2639667607070031e-8,-0.0013830533398082588,3.12615629520694e-5,1.2596119024238894e-8,-0.0013828292717648978,3.1124447793189026e-5,1.2504739208443173e-8,-0.001382536894290198,3.094526718665489e-5,1.238515875044467e-8,-0.001382166093661862,3.0757242436986546e-5,1.2260502826500002e-8,-0.0013817180828804721,3.059536687843876e-5,1.2155030689028627e-8,-0.0013812057662645032,3.0492356610198686e-5,1.2091316281131741e-8,-0.001380652965115511,3.0473944416237442e-5,1.2086924984252354e-8,-0.0013800918794172976,3.055405387965315e-5,1.2151015510603047e-8,-0.0013795585330693598,3.073089776278415e-5,1.2281664264941277e-8,-0.0013790865545975047,3.098519781713838e-5,1.2464780864846123e-8,-0.0013787002512115332,3.128152698517288e-5,1.2675280274755086e-8,-0.0013784083744284533,3.1573186320784075e-5,1.2880703491497357e-8,-0.0013782000273174174,3.181021399913377e-5,1.3046891803617532e-8,-0.0013780438976636682,3.19495350745652e-5,1.3144947940134445E-08,-0.0013778917807731484,3.1965865743675875e-5,1.3158522917130986e-8,-0.0013776871187557247,3.186125601721507e-5,1.3090054814128084e-8,-0.0013773784345414448,3.167005542915762e-5,1.2963872114938864e-8,-0.0013769355296510653,3.145540027821075e-5,1.2823586040322064e-8,-0.0013763632310821636,3.129451925350386e-5,1.2721957602677264e-8,-0.0013757051938257864,3.12548297658547e-5,1.2704580862237566e-8,-0.0013750325167593762,3.136980980661643e-5,1.2793513871866098e-8,-0.0013744200205683455,3.162705495398507e-5,1.297932656913296e-8,-0.001373921486003332,3.197529339541822e-5,1.3226141868971426e-8,-0.0013735559011152846,3.2345581764334165e-5,1.348632479099502e-8,-0.001373308834962327,3.267443076739067e-5,1.371638565723486e-8,-0.0013731440063741707,3.2918760928589506e-5,1.3887174851188765e-8,-0.0013730169969555664,3.306017025212218e-5,1.3986670884338575e-8,-0.001372885707505598,3.310177282032628e-5,1.4017645484980559e-8,-0.0013727161916267327,3.3062157152929236e-5,1.3993385650784678e-8,-0.0013724849650755444,3.2969528124314865e-5,1.3933613214447525e-8,-0.0013721795043743403,3.2857132549704686e-5,1.3861350571725312e-8,-0.001371798199420233,3.275975393211377e-5,1.3800541749182052e-8,-0.001371350267391638,3.2710546394120883e-5,1.3773879566233536e-8,-0.0013708554660210265,3.273748651144435e-5,1.3800332746004124e-8,-0.0013703429392595617,3.285908614832062e-5,1.3892159705457934e-8,-0.0013698482842253537,3.3079732505826116e-5,1.4051723281032588e-8,-0.0013694081789119867,3.33859216188847e-5,1.4269017354682299e-8,-0.0013690527752354515,3.3745292715916165e-5,1.4521206280880815e-8,-0.0013687973523058758,3.411026251376824e-5,1.4775341685527618e-8,-0.001368635864809167,3.442685430142285e-5,1.4994571911094206e-8,-0.001368539190809793,3.464725058126877e-5,1.5146764379461272e-8,-0.0013684596653155585,3.474271507765218e-5,1.5213225547749854e-8,-0.001368341412275528,3.471292842213015e-5,1.519483961915156e-8,-0.0013681340963783179,3.458864103148684e-5,1.5113572919781048e-8,-0.001367806641243441,3.442624486265195e-5,1.50084742827696e-8,-0.0013673571913396174,3.429481060775766e-5,1.492663952720893e-8,-0.0013668159712882611,3.425816744323766e-5,1.4910976651613327e-8,-0.0013662389537410337,3.4356679623137404e-5,1.4987969233571176e-8,-0.0013656929127156684,3.45948313307106e-5,1.5159539607809455e-8,-0.0013652362239514341,3.493996318255312e-5,1.540252269790559e-8,-0.0013649025854399397,3.533339206451559e-5,1.5676457844807535e-8,-0.001364694017006319,3.5709311516460834e-5,1.5936510012581336e-8,-0.0013645848390629765,3.6013317990182196e-5,1.6146000719145376e-8,-0.001364533006244744,3.6213785847992433e-5,1.6284003030435945e-8,-0.0013644928514191061,3.630413358810897e-5,1.6346724249025713e-8,-0.0013644247321696538,3.629841553527456e-5,1.6344369702902035e-8,-0.0013643001276189908,3.622421100892573e-5,1.6296216699097295e-8,-0.0013641030557909385,3.611585301733881e-5,1.6225972675099123e-8,-0.001363829489218644,3.6009284510185593e-5,1.6158272516967093e-8,-0.0013634861732545276,3.59384398039273e-5,1.6116209694143087e-8,-0.0013630895393642458,3.593237657339973e-5,1.6119355456194334e-8,-0.0013626646638417342,3.601230966247092e-5,1.618170797397962e-8,-0.001362243629102119,3.61880268938273e-5,1.6309266089582144e-8,-0.0013618622841067652,3.64538655276576e-5,1.6497393820657673e-8,-0.0013615544772974737,3.6785502430891855e-5,1.6728827194428735e-8,-0.0013613437161679772,3.713991173468955e-5,1.697386187057922e-8,-0.001361234021080087,3.746108911824493e-5,1.719439828116546e-8,-0.0013612037638524796,3.7692536866159856e-5,1.7352457140518053e-8,-0.001361206847971344,3.779396838960132e-5,1.742144636974678e-8,-0.0013611832374142226,3.7756031020244054e-5,1.7396011201743785e-8,-0.001361076191644119,3.7606086154550635e-5,1.7295762883204998e-8,-0.0013608496577971183,3.7401677631123275e-5,1.716059227166306e-8,-0.0013604990488915285,3.721408821670011e-5,1.7039232838343093e-8,-0.0013600520125571307,3.710835900255645e-5,1.697551683056106e-8,-0.0013595600099726545,3.712640498271043e-5,1.699695432191236e-8,-0.0013590841935409244,3.727760024130748e-5,1.71086275657347e-8,-0.001358679890204125,3.7538440708709115e-5,1.7293378278633092e-8,-0.00135838372132039,3.7860514706880266e-5,1.7517577456580113e-8,-0.0013582064390924846,3.818407848658802e-5,1.7740504047095585e-8,-0.0013581329272131877,3.845318903981301e-5,1.7924558906917483e-8,-0.0013581286541984837,3.862806850028087e-5,1.804345582610699e-8,-0.0013581498661130592,3.869159882723496e-5,1.8086397228283904e-8,-0.0013581539476281528,3.8649261142348775e-5,1.8057850041261867e-8,-0.0013581071226586598,3.8524189345567815e-5,1.7974088393725628e-8,-0.0013579883897526658,3.835008509330396e-5,1.7858356144320932e-8,-0.00135779018044884,3.8164384929534315e-5,1.7736239335068338e-8,-0.001357517027048097,3.800295694389865e-5,1.7632074255281237e-8,-0.0013571835099064594,3.789645286761099e-5,1.7566453802397066e-8,-0.0013568122323385436,3.786770844912354e-5,1.7554432313878906e-8,-0.0013564319146861178,3.792940545542113e-5,1.760394100218013e-8,-0.0013560751230173448,3.808144637277682e-5,1.771409396726125e-8,-0.001355774723096159,3.830809315615486e-5,1.7873437098055103e-8,-0.0013555581129589143,3.85759738967685e-5,1.805883775217439e-8,-0.0013554390847187276,3.883530834118127e-5,1.8236503204011578e-8,-0.001355409076240439,3.9027250633763036e-5,1.836699003058032e-8,-0.0013554321238842734,3.909874292882928e-5,1.8415131641263553e-8,-0.0013554490528045462,3.90218298649933e-5,1.836291168093209e-8,-0.0013553934777036426,3.88088274293409e-5,1.8219570358978306e-8,-0.0013552148739573212,3.8513364752411945e-5,1.8022193158569097e-8,-0.0013548976458011926,3.821394753241361e-5,1.7824422483376295e-8,-0.0013544662886432806,3.7987376502045904e-5,1.767824374087245e-8,-0.001353975167144596,3.788495877740173e-5,1.7617747380746665e-8,-0.0013534897169433626,3.792082265498023e-5,1.765132964873523e-8,-0.0013530679623867672,3.807359000944715e-5,1.776318309780284e-8,-0.0013527479846985185,3.82970266342332e-5,1.7920945154219862e-8,-0.0013525427737545379,3.8534126622979775e-5,1.8085549434599747e-8,-0.0013524413684721215,3.8730475725509086e-5,1.8220348872787433e-8,-0.0013524143580498815,3.8844550459139665e-5,1.829793515757917e-8,-0.0013524218120327396,3.885388259987187e-5,1.830403299861606e-8,-0.0013524218425320289,3.8756778190668846e-5,1.8238389323156565e-8,-0.0013523781464381873,3.857000249417001e-5,1.8113029207340084e-8,-0.0013522652859119853,3.832360437107422e-5,1.7948697828581297e-8,-0.0013520711816035556,3.805446144349454e-5,1.7770522740602527e-8,-0.0013517970474576544,3.7800026057570636e-5,1.760383303417335e-8,-0.0013514555502732262,3.759328234789039e-5,1.7470765883749638e-8,-0.0013510681406707162,3.745922197053802e-5,1.7387859156658665e-8,-0.0013506622145259056,3.741251692416933e-5,1.7364450412879974e-8,-0.0013502682953014952,3.7455843878886433e-5,1.7401577299135237e-8,-0.0013499170098815133,3.757843888576176e-5,1.749114206947162e-8,-0.0013496352319221148,3.775487577483726e-5,1.7615323797154796e-8,-0.001349440649488639,3.794495617766193e-5,1.7746750386563e-8,-0.0013493347424008647,3.809671819615431e-5,1.7850659872577422e-8,-0.001349295890582923,3.8155046902679206e-5,1.7890635669466993e-8,-0.0013492766959825838,3.807708327935155e-5,1.783874654599152e-8,-0.0013492110735612106,3.785133903622449e-5,1.768815260529381e-8,-0.001349033855976422,3.751108479626499e-5,1.7461969909133265e-8,-0.0013487069795288752,3.71303580506857e-5,1.7210535401503925e-8,-0.0013482379377772538,3.67993136705882e-5,1.6994726215196717e-8,-0.001347678208637462,3.659042766946213e-5,1.6863046213677397e-8,-0.0013471024913643088,3.6534216931232214e-5,1.6835204236635903e-8,-0.0013465817610538201,3.661531138061667e-5,1.6899639174625656e-8,-0.0013461637307948591,3.67855921967629e-5,1.702274689456107e-8,-0.0013458659040266978,3.698362593147122e-5,1.716236688366139e-8,-0.0013456786096961092,3.715150481672573e-5,1.7279353443021854e-8,-0.0013455729607305563,3.7245547989349e-5,1.7344764650321256e-8,-0.0013455098437546319,3.724113849988471e-5,1.7342896275356996e-8,-0.0013454479816408654,3.713333537401668e-5,1.7271384802952297e-8,-0.0013453504339775678,3.693472237791048e-5,1.7139497446621565e-8,-0.0013451893773290563,3.66714125531848e-5,1.69653115025737e-8,-0.001344949053305138,3.6377906041960216e-5,1.677225728879621e-8,-0.0013446268270830342,3.6091487557028635e-5,1.658542561013439e-8,-0.0013442324429496473,3.584683872566402e-5,1.642801203779135e-8,-0.0013437858000863968,3.567151610583387e-5,1.6318286339007397e-8,-0.0013433138090793446,3.5582718952246464e-5,1.6267381969080993e-8,-0.0013428468552322856,3.5585336135370534e-5,1.6277959343087233e-8,-0.0013424151246411572,3.567102736278635e-5,1.6343650045473796e-8,-0.0013420448217986622,3.581815905326798e-5,1.6449191850671144e-8,-0.0013417540843769415,3.5992621037087415e-5,1.6571231526067074e-8,-0.0013415482762467888,3.6150103914661236e-5,1.6680073457991738e-8,-0.0013414149103668283,3.624123041516313e-5,1.6743183400191018e-8,-0.0013413198868642417,3.622112481074397e-5,1.6731446982117347e-8,-0.00134120845189209,3.606369069563323e-5,1.662842184473864e-8,-0.0013410151654745213,3.577732086480887e-5,1.644054815603201e-8,-0.0013406846000409867,3.5413460407537786e-5,1.6202722853245097e-8,-0.0013401964609990825,3.505743910760731e-5,1.597215167212452e-8,-0.001339580425708274,3.479926151774641e-5,1.5808809507200667e-8,-0.0013389081886428587,3.4697739505285814e-5,1.5751417893888703e-8,-0.0013382653066040724,3.475913717423584e-5,1.5803205836748927e-8,-0.0013377198411129057,3.494136132320177e-5,1.593492656261746e-8,-0.0013373043650111932,3.517656334298736e-5,1.610030358752367e-8,-0.001337015439682562,3.5396327466275055e-5,1.6253166407767607e-8,-0.0013368239990238354,3.5548502293726705e-5,1.6358821610884963e-8,-0.0013366882809558854,3.560374914900627e-5,1.639832805964985e-8,-0.001336564467218173,3.55549452941308e-5,1.636783817572624e-8,-0.001336413776905145,3.541320348266067e-5,1.627564290331889e-8,-0.0013362066349266496,3.520293709170862e-5,1.6138666700184393e-8,-0.0013359249232274644,3.4956909941254224e-5,1.5979096337218204e-8,-0.001335562924155841,3.4711420854670354e-5,1.582122151313896e-8,-0.0013351271377057652,3.4501629448674695e-5,1.568840971408109e-8,-0.0013346349529169633,3.435711455278746e-5,1.5600199028356044e-8,-0.0013341121333342526,3.429797828590833e-5,1.5569686455152157e-8,-0.0013335892705868344,3.433199575848479e-5,1.5601580165570786e-8,-0.0013330975858291425,3.4453164621146024e-5,1.5691228226897585e-8,-0.0013326644706178011,3.464175000353744e-5,1.5824749599259128e-8,-0.0013323090899715643,3.4865868704546576e-5,1.5980301002253026e-8,-0.001332038338966892,3.508467362609938e-5,1.6130447896255385e-8,-0.0013318434113794785,3.525330077002587e-5,1.6245627748951825e-8,-0.0013316975322695253,3.5330051294305984e-5,1.629891139049964e-8,-0.001331556286785722,3.528619312938393e-5,1.6272293810409786e-8,-0.0013313628892067757,3.5117465072944155e-5,1.6163989779264318e-8,-0.0013310606240185723,3.485372509921916e-5,1.5994525193249938e-8,-0.001330612092239529,3.4560074860567006e-5,1.5807325007709106e-8,-0.0013300188819388664,3.432251695865668e-5,1.5659203035008636e-8,-0.0013293294672254824,3.4218415257834896e-5,1.5600856484188996e-8,-0.0013286258106659328,3.4284781738908746e-5,1.565595284409048e-8,-0.0013279927272366466,3.45034557497139e-5,1.5811466092247673e-8,-0.001327487245815521,3.481218305757908e-5,1.6025241776050835e-8,-0.0013271243297834456,3.5132573390047304e-5,1.6244759544611692e-8,-0.0013268819281744182,3.539726971412401e-5,1.6425301589944376e-8,-0.0013267165573191055,3.556482846968116e-5,1.6539830337867083e-8,-0.0013265791200544272,3.5621827657685704e-5,1.65802341767557e-8,-0.0013264257556151145,3.5577571686315266e-5,1.6553560503722946e-8,-0.0013262233226004878,3.5456646993180176e-5,1.6476832678516347e-8,-0.0013259512363842734,3.529220284957108e-5,1.637245418374682e-8,-0.001325601512184336,3.512067149730725e-5,1.626470172512635e-8,-0.0013251780734556981,3.497753493359976e-5,1.6177001160356565e-8,-0.0013246955832461917,3.4893601735033355e-5,1.6129548566876927e-8,-0.0013241776457557696,3.48914999010468e-5,1.6137021291032074e-8,-0.001323654076904617,3.4982458503977466e-5,1.6206426975212878e-8,-0.001323157041794967,3.5163901163299414e-5,1.633548781930137e-8,-0.0013227162371304468,3.5418581049974166e-5,1.651211397605036e-8,-0.001322353687199993,3.571581068946272e-5,1.6715367990939248e-8,-0.0013220789387146789,3.601504810064792e-5,1.6918061706656873e-8,-0.0013218855424575772,3.627176280866538e-5,1.7090842854582353e-8,-0.0013217496703317407,3.644508967537851e-5,1.720733490398808e-8,-0.0013216315923340778,3.65064979819164e-5,1.7249749168249524e-8,-0.0013214807524120568,3.644842841848515e-5,1.7214291107647377e-8,-0.0013212451222116156,3.6291038759722376e-5,1.711523751546295e-8,-0.0013208846495029996,3.60839095678969e-5,1.6985751198887913e-8,-0.0013203863550454039,3.5898854230369885e-5,1.6873006904681262e-8,-0.0013197752519399667,3.581166273538234e-5,1.682623169287687e-8,-0.0013191132255276836,3.587626651540886e-5,1.6879911863534467e-8,-0.0013184815790603076,3.610241659999537e-5,1.7039381967031404e-8,-0.0013179528033887597,3.645020189165614e-5,1.7277474450637978e-8,-0.0013175658344386403,3.684610326885073e-5,1.7545256584706124e-8,-0.0013173174371027003,3.721139594219093e-5,1.7790800848516823e-8,-0.0013171711591591722,3.7487162393554715e-5,1.797564920289059e-8,-0.0013170751083556422,3.764583818573417e-5,1.8082333520008842e-8,-0.0013169783809209286,3.768958704883004e-5,1.8113134460390254e-8,-0.001316841058972772,3.764169488899078e-5,1.8084193168326844e-8,-0.001316637900558923,3.7536910324560003e-5,1.8018963620713753e-8,-0.0013163581227781179,3.74137736701684e-5,1.7943079177386814e-8,-0.0013160036253867771,3.730942928907114e-5,1.7880963442603383e-8,-0.0013155869869080489,3.725613444561233e-5,1.7853614375631473e-8,-0.0013151295414577234,3.7278505354125304e-5,1.787686235519351e-8,-0.0013146592408699255,3.7390914042800114e-5,1.7959684433815758e-8,-0.0013142077768859126,3.759497729467439e-5,1.8102557862085905e-8,-0.0013138065061219567,3.787768395385184e-5,1.829626511989185e-8,-0.0013134811566555547,3.821118959139425e-5,1.852186865762894e-8,-0.0013132460042088404,3.855535190871637e-5,1.8752556581883928e-8,-0.0013130988888896927,3.886358760935178e-5,1.895768052314085e-8,-0.0013130187880983333,3.9091668685304416e-5,1.9108648012779857e-8,-0.0013129673945528086,3.920788927157972e-5,1.9185567048502283e-8,-0.001312895240496861,3.920217618512819e-5,1.918302681873874e-8,-0.001312751730863596,3.9091588709663886e-5,1.911338071545348e-8,-0.0013124973851131767,3.892009752658912e-5,1.9006243630838438e-8,-0.0013121156803837925,3.875132474201483e-5,1.8903462645629538e-8,-0.0013116210944716046,3.865427657691962e-5,1.884969011796569e-8,-0.0013110596023093825,3.868436788208665e-5,1.8880112079492577e-8,-0.0013104989534392041,3.8865074759319735e-5,1.9008779400316116e-8,-0.0013100096397849926,3.917783531577995e-5,1.9222392671536106e-8,-0.001309642829716195,3.9566441267412706e-5,1.9483464693369486e-8,-0.0013094148936341004,3.995569860122959e-5,1.974262974906959e-8,-0.0013093055437344233,4.027611457180882e-5,1.9954738594955732e-8,-0.001309269039156997,4.048329051082387e-5,2.0091415425642147e-8,-0.0013092512762208149,4.0565121305456764e-5,2.0145608286767512e-8,-0.001309204630257768,4.053753924890765e-5,2.012862157893427e-8,-0.0013090962818779034,4.043433842048082e-5,2.0063277178960123e-8,-0.0013089102465701447,4.029664197237238e-5,1.997689758602726e-8,-0.0013086455823332675,4.0164989376255385e-5,1.9896096938048397e-8,-0.0013083132488531785,4.0074480065967925e-5,1.984365052124649e-8,-0.0013079330725531747,4.005204604799757e-5,1.9836785608003348e-8,-0.0013075312073712847,4.011466197911539e-5,1.9886069633644747e-8,-0.001307137746835643,4.026767679567208e-5,1.9994358344677895e-8,-0.0013067837953618638,4.0503094151805196e-5,2.01557240211866e-8,-0.001306497350497541,4.079836018355392e-5,2.0354765247593485e-8,-0.0013062978171497592,4.111688713507512e-5,2.0567103458832157e-8,-0.0013061898867567608,4.141184316071489e-5,2.076202115095573e-8,-0.0013061586859034154,4.163420723263055e-5,2.0907824211338083e-8,-0.001306168888940125,4.174442656977121e-5,2.097944515467198e-8,-0.0013061699709006594,4.1724685296821706e-5,2.0966324787464215e-8,-0.0013061076049721034,4.1587191985985025e-5,2.0877595932876798e-8,-0.0013059383156452651,4.137443165518275e-5,2.0741958445759947e-8,-0.0013056425938951044,4.115010375057371e-5,2.060146632532868e-8,-0.0013052319085176942,4.098302152604378e-5,2.0500810520890916e-8,-0.001304747148248314,4.092874780265062e-5,2.0475326047336553e-8,-0.0013042487662768554,4.101434730128175e-5,2.0541288681716853e-8,-0.0013038012226081626,4.1230688242288156e-5,2.0691321547541416e-8,-0.0013034559571685768,4.153480564579156e-5,2.0896370294196396e-8,-0.0013032379646765557,4.186207205593781e-5,2.111390047210881e-8,-0.0013031404096450596,4.214456168589532e-5,2.1299885763046148e-8,-0.0013031290193728036,4.232935992827865e-5,2.1420571741681682e-8,-0.0013031540596875038,4.23905340975399e-5,2.1460031357444974e-8,-0.0013031647722243158,4.233156537247573e-5,2.1421513055924925e-8,-0.0013031210288061141,4.217942322107834e-5,2.132339132411696e-8,-0.0013029993698451085,4.19743987627646e-5,2.1192421768565933e-8,-0.0013027936105723457,4.175999540557228e-5,2.1057114924379603e-8,-0.0013025120277159838,4.157542941681899e-5,2.094288448231488e-8,-0.0013021733414850117,4.145125605159004e-5,2.0869268627645957e-8,-0.001301802931785606,4.1407329810052036e-5,2.08486684580033e-8,-0.0013014297605223135,4.1451908374797514e-5,2.0885812894513818e-8,-0.001301083724057496,4.158098532303902e-5,2.097737756976615e-8,-0.0013007927456693646,4.177756479690925e-5,2.1111607157953057e-8,-0.0013005788777021498,4.201134797256275e-5,2.126826146359011e-8,-0.0013004531008736547,4.224008178027535e-5,2.1419659516259312e-8,-0.0013004095063849311,4.241435176037529e-5,2.1533904163364884e-8,-0.001300421059288809,4.248719684661846e-5,2.1581120022324038e-8,-0.0013004404355749176,4.2427837091928494e-5,2.154224223145945e-8,-0.0013004089398097013,4.223528221728633e-5,2.1417667998620045e-8,-0.001300273032166463,4.194483810430357e-5,2.1231287584532605e-8,-0.0013000028044365167,4.162178844603964e-5,2.1026176296912758e-8,-0.0012996038559836165,4.13426408192214e-5,2.0852193780685487e-8,-0.0012991166051237216,4.117141562699113e-5,2.075042537733095e-8,-0.0012986036072820868,4.11409724530234e-5,2.0741091404972655e-8,-0.00129813093698426,4.1245817779201306e-5,2.0819172199719124e-8,-0.0012977508063343123,4.144686388868798e-5,2.095795336418839e-8,-0.001297490230837804,4.168441992169005e-5,2.1117875653405696e-8,-0.0012973474395914163,4.1894427134593377e-5,2.1257279803455193e-8,-0.001297295439153459,4.2023506126082147e-5,2.1342116234441085e-8,-0.001297290782074011,4.2039616230905444e-5,2.135260920238544e-8,-0.0012972848326498105,4.193654440887813e-5,2.1285844007437435e-8,-0.0012972345579685953,4.173200901824314e-5,2.1154255926592056e-8,-0.0012971103085002236,4.146082617494708e-5,2.0981029477300475e-8,-0.0012968992859630204,4.116578087591e-5,2.0794135694006106e-8,-0.0012966049398672192,4.0888917956883526e-5,2.062073980233298e-8,-0.0012962436295018886,4.066503581169255e-5,2.048307865442981e-8,-0.0012958401889284622,4.051793533458231e-5,2.039611146731544e-8,-0.0012954236654983476,4.045897416475759e-5,2.036662737785466e-8,-0.001295023782419015,4.0486965044612695e-5,2.039320583348045e-8,-0.0012946679941183582,4.058855472756083e-5,2.04665171281949e-8,-0.001294378612670228,4.0738730472340536e-5,2.056977240662803e-8,-0.0012941693814056939,4.0901748941956324e-5,2.0679500965812705e-8,-0.0012940411451917645,4.1033526442706687e-5,2.0767257575044023e-8,-0.0012939771911233996,4.108715604463087e-5,2.0803239961642293e-8,-0.0012939403977219072,4.102298074380838e-5,2.0762689854466084e-8,-0.0012938758566673656,4.082263405184535e-5,2.0634736809638925e-8,-0.0012937224662835883,4.050242606522025e-5,2.04308134609819e-8,-0.0012934330065076513,4.0117530900919203e-5,2.0187204767311665e-8,-0.00129299496709262,3.974958987689844e-5,1.995693470396842e-8,-0.0012924399284722028,3.947942732467301e-5,1.97920270271869e-8,-0.0012918341252307118,3.935776650460108e-5,1.9724509449887175e-8,-0.0012912547182092019,3.938930857514804e-5,1.97562193674393e-8,-0.001290764690673244,3.9536318616132313E-05,1.9861433777957795e-8,-0.0012903973760540492,3.973598386964465e-5,1.999850762256767e-8,-0.001290153512484858,3.992107605315687e-5,2.0123564778314824e-8,-0.0012900074223779303,4.003630507822636e-5,2.0201177921784495e-8,-0.0012899173653183767,4.0047651738485965e-5,2.0210256251888748e-8,-0.001289836338458807,3.9945200597234635e-5,2.0145554957262593e-8,-0.0012897212998023743,3.9741174964429464E-05,2.0016045030261284e-8,-0.0012895399514628268,3.946480109359224e-5,1.984132894245313e-8,-0.001289274703109967,3.915530609271689e-5,1.9647018285539673e-8,-0.0012889236983102278,3.885435148165427e-5,1.9459904493796818e-8,-0.0012884992067051736,3.8599204907948656e-5,1.9303690980758627e-8,-0.0012880241094008248,3.841760919532316e-5,1.919581678542283e-8,-0.0012875274288492854,3.832480054634275e-5,1.9145604099175267e-8,-0.0012870398381923532,3.8322598965528926e-5,1.9153682307136752e-8,-0.001286589752637628,3.840001624621069e-5,1.921238243257403e-8,-0.001286200095515784,3.853470660398659e-5,1.9306731004946026e-8,-0.0012858854886256378,3.86948874374072e-5,1.9415831342562718e-8,-0.001285649499877651,3.8841815281819475e-5,1.9514646939711093e-8,-0.0012854817125208561,3.893347048250045e-5,1.9576511347082232e-8,-0.0012853550995704204,3.893063802338816e-5,1.957702413451274e-8,-0.0012852255062502298,3.880636244566652e-5,1.9499927026725242e-8,-0.0012850362965845573,3.855807120421911e-5,1.9344575221523857e-8,-0.0012847311762881526,3.821819412132976e-5,1.9132471126811794e-8,-0.0012842747415224602,3.785512960173213e-5,1.8907745295762985e-8,-0.0012836727720354248,3.755682902569352e-5,1.8726620068053298e-8,-0.0012829784848701268,3.739895052372073e-5,1.863702330001396e-8,-0.0012822761530718633,3.7413406126274804e-5,1.86584821716486e-8,-0.0012816490975353263,3.7576622715437714e-5,1.8774747376732938e-8,-0.0012811506382189232,3.782352818577273e-5,1.8943030423325083e-8,-0.001280792436308164,3.8075703038799706e-5,1.9112370169816575e-8,-0.0012805506354879592,3.8266803390174146e-5,1.924016463208864e-8,-0.001280380738437669,3.835616719714332e-5,1.9300925603521577e-8,-0.0012802324630361284,3.833113206068958e-5,1.9287565495948508e-8,-0.0012800605197691444,3.820264194508425e-5,1.920823586964087e-8,-0.0012798308757682997,3.799830026151315e-5,1.9081529959526996e-8,-0.001279523586304221,3.775524645033635e-5,1.8931707405877297e-8,-0.0012791333774328948,3.751366233471992e-5,1.8784512978711527e-8,-0.0012786686262423056,3.731102412992637e-5,1.866362274807214e-8,-0.001278148993439162,3.717726455085912e-5,1.858772206348688e-8,-0.001277601942460214,3.7131143654458575e-5,1.8568311190285357e-8,-0.001277058498171101,3.717813474632904e-5,1.860839408251708e-8,-0.0012765487555219646,3.7310038774287194e-5,1.8702216632045073e-8,-0.0012760977084929888,3.750624505138479e-5,1.8836075192321827e-8,-0.0012757217769639956,3.773626898786361e-5,1.8990020553034313e-8,-0.0012754261510291623,3.796321117292025e-5,1.9140234836138346e-8,-0.0012752029370164196,3.814797161205375e-5,1.92619071682081e-8,-0.0012750300928311285,3.825433491231409e-5,1.9332571089335484e-8,-0.0012748715426223701,3.825537269909844e-5,1.933609650898041e-8,-0.0012746797344262949,3.814138317428424e-5,1.926746861138821e-8,-0.0012744025805871105,3.7928235466975745e-5,1.9137729803848053e-8,-0.0012739963106319753,3.76626292022581e-5,1.897701998328715e-8,-0.0012734431088101711,3.741827327675125e-5,1.8832033009774208e-8,-0.0012727667106644165,3.7277449564075795e-5,1.875439150470419e-8,-0.0012720341118107905,3.730026444876515e-5,1.8781318347441222e-8,-0.0012713356167803904,3.749648014380484e-5,1.8917966913490027e-8,-0.0012707503868975216,3.7818967997163176e-5,1.913345694695096e-8,-0.0012703173742792029,3.818460780063819e-5,1.937431495323869e-8,-0.0012700276843224567,3.850870965846999e-5,1.958648929745315e-8,-0.0012698377681131297,3.873234768920965e-5,1.9732821725893906e-8,-0.0012696906468235986,3.883226562099348e-5,1.9799315570624595e-8,-0.0012695333572401244,3.881646913695297e-5,1.9792123553590806e-8,-0.0012693264687479164,3.8713735516634753e-5,1.9730552119127156e-8,-0.0012690470332673868,3.856312435152506e-5,1.9640099461015192e-8,-0.0012686878191508922,3.840594630060172e-5,1.9547213377593627E-08,-0.0012682550883168057,3.8280251328920796e-5,1.9475836828836382e-8,-0.0012677659821863632,3.8216972883763434e-5,1.9445125675948716e-8,-0.0012672456478990807,3.823702573972687e-5,1.9467782522189376e-8,-0.0012667239315270157,3.834915450270301e-5,1.954879813655444e-8,-0.0012662315252516165,3.8548712365379255e-5,1.9684700622829385e-8,-0.0012657956741872701,3.881779556352557e-5,1.9863631777743846E-08,-0.0012654358895180374,3.9127111421915734e-5,2.0066562567351532e-8,-0.0012651603219259492,3.943960149495701e-5,2.0269701099621573e-8,-0.0012649633922718845,3.97155188282893e-5,2.044787773900412e-8,-0.0012648251191054683,3.991847051986315e-5,2.0578512385264233e-8,-0.0012647124020133814,4.002181530954318e-5,2.0645672703362345e-8,-0.0012645824423290432,4.0014854271467307e-5,2.0643806946391964e-8,-0.001264388687972703,3.99081829052254e-5,2.0580779083148893e-8,-0.001264089784429187,3.973682895821391e-5,2.0479457047750557e-8,-0.0012636612589438738,3.955863316563664e-5,2.0376410433125773e-8,-0.001263107692385635,3.944474943991824e-5,2.031587286383709e-8,-0.0012624700916807313,3.9460627398303827e-5,2.0337965483915675e-8,-0.0012618210646095807,3.9641206055020366e-5,2.0463436185732815e-8,-0.0012612438544760331,3.997186027742948e-5,2.0682014530823786e-8,-0.0012608019231333165,4.03889145758586e-5,2.095293879084057e-8,-0.001260515403514942,4.080331509500292e-5,2.1219900523197546e-8,-0.0012603580066779792,4.1134769690694334e-5,2.143251915066937e-8,-0.0012602736669382706,4.133709908764442e-5,2.156229199212994e-8,-0.0012602001674625438,4.140455790552599e-5,2.1606510199617428e-8,-0.0012600871138250655,4.13627425982667e-5,2.1582334626039323e-8,-0.0012599037723692542,4.125395520943257e-5,2.1517286350261602e-8,-0.001259639059405887,4.112448324373034e-5,2.1440993984703374e-8,-0.0012592978126801822,4.1016374406620794e-5,2.1379934028673295e-8,-0.0012588963729254486,4.096310517242658e-5,2.1354792900167895e-8,-0.0012584587728795547,4.0987516848376617e-5,2.13793433801656e-8,-0.0012580135545439072,4.110070043061135e-5,2.145990419081642e-8,-0.001257590729174874,4.130124851631068e-5,2.1594960240885516e-8,-0.0012572184068382751,4.1574933436424366e-5,2.1774990856265992e-8,-0.0012569188758809874,4.1895365866185666e-5,2.198290829395347e-8,-0.0012567044061644376,4.2226400284913416e-5,2.2195638913385633e-8,-0.0012565736154616957,4.252676325544257e-5,2.2387154231576545e-8,-0.0012565095347204847,4.275674007069808e-5,2.2532803702984725e-8,-0.001256480413149145,4.2886024148070224e-5,2.261430451888185e-8,-0.0012564438185601924,4.290116127527485e-5,2.262433259898739e-8,-0.0012563537977570908,4.2810748157597085e-5,2.256953566001536e-8,-0.0012561701266762151,4.264685474788228e-5,2.2471059965738813e-8,-0.001255868216795208,4.246161786198218e-5,2.2362052663867524e-8,-0.00125544775922725,4.2318356345838705e-5,2.2281882031267264e-8,-0.0012549374800614776,4.22774052795677e-5,2.226731056823057e-8,-0.0012543928884045982,4.237873413357958e-5,2.2341924508824796e-8,-0.0012538846382849707,4.262624486160383e-5,2.2506767656905367e-8,-0.0012534783871114205,4.2981135163356555e-5,2.2736596297391955e-8,-0.0012532126561929605,4.3370682260662835e-5,2.2985558206766268e-8,-0.0012530852538086268,4.3711798272939364e-5,2.3201876301994538e-8,-0.0012530559769681426,4.393918260812166e-5,2.3345305957001018e-8,-0.0012530638749481211,4.4024288239515566e-5,2.3398863033464984e-8,-0.0012530490271740113,4.3977672971138264e-5,2.3370162208987406e-8,-0.0012529684380834512,4.383778762251783e-5,2.3284209882351702e-8,-0.0012528018888721966,4.365500575092296e-5,2.317318439808869e-8,-0.001252549834499636,4.34782797526141e-5,2.3067930135885604e-8,-0.0012522276998212633,4.334721846604825e-5,2.2992993745712078e-8,-0.0012518599576908918,4.3288848879161106e-5,2.2964722563118695e-8,-0.0012514754687159037,4.331706400168195e-5,2.299109201556656e-8,-0.0012511041057524219,4.343305080609753e-5,2.3072114029472213e-8,-0.0012507740089569535,4.362583037811218e-5,2.3200256491004583e-8,-0.001250508740600051,4.387284960062057e-5,2.336086149484763e-8,-0.0012503238892904954,4.414121645053139e-5,2.353297738143989e-8,-0.0012502232383400124,4.439057639247119e-5,2.3691245534858623e-8,-0.0012501953913701654,4.4578519987771495e-5,2.380937649691334e-8,-0.0012502124466062187,4.466862199857083e-5,2.386522426953918e-8,-0.0012502324655709908,4.463985453790723e-5,2.38466230351851e-8,-0.0012502066668911443,4.449465916127025e-5,2.3756267679178933e-8,-0.0012500904907569506,4.4262301368479445e-5,2.3613540810084584e-8,-0.0012498556988007213,4.3995081325114545e-5,2.3451824758728542e-8,-0.0012494996714732477,4.375734202677175e-5,2.3311357072906797e-8,-0.0012490486343557058,4.360978994232384e-5,2.3229326501100328e-8,-0.0012485532799728183,4.359328030608507e-5,2.3229896399582473e-8,-0.001248077323762565,4.3716595091107244e-5,2.331696995481848e-8,-0.0012476814413027032,4.395208150458591e-5,2.3471965518926978e-8,-0.0012474066926813987,4.424143994728845e-5,2.3657815110514976e-8,-0.001247262641945451,4.4511219507711075e-5,2.3828756487483382e-8,-0.0012472248755787513,4.469382181566311e-5,2.3943301525145774e-8,-0.0012472435198697964,4.474664503382738e-5,2.3975912178036033e-8,-0.001247259506344416,4.466205719091103e-5,2.3922954185837815e-8,-0.0012472217473297215,4.446513739596869e-5,2.3801066644975018e-8,-0.0012470987187946957,4.420202198632878e-5,2.3639715221988536e-8,-0.0012468817729012385,4.392519162060175e-5,2.3471897838937096e-8,-0.0012465817445801888,4.368137901444268e-5,2.3326586331146017e-8,-0.0012462224178688196,4.3504603084736476e-5,2.3224476425034505e-8,-0.0012458339394664786,4.3413868956406416e-5,2.317671064191687e-8,-0.0012454477067935401,4.341371210977519e-5,2.318536732956266e-8,-0.001245092875503066,4.349582099726864e-5,2.3244572533892913e-8,-0.001244793861427751,4.364070138997217e-5,2.334159650208275e-8,-0.0012445680145702208,4.381919330597018e-5,2.3457855646996076e-8,-0.0012444228840729505,4.399437802864513e-5,2.35701808197754e-8,-0.0012443530695937283,4.4124913953168016e-5,2.3652983748257247e-8,-0.0012443375127046577,4.4170905959475854e-5,2.36819578137255e-8,-0.001244339050323051,4.410267397222573e-5,2.3639490947179656e-8,-0.0012443085409083597,4.391102098493597e-5,2.352090842966235e-8,-0.0012441949428326805,4.361529559426061e-5,2.3339274923289387e-8,-0.0012439599109511782,4.3264248999509696e-5,2.3125688607710063e-8,-0.0012435919172900148,4.292632418466513e-5,2.2923014333021052e-8,-0.0012431132807987672,4.2670863701421686e-5,2.2774032688701237e-8,-0.0012425758812366372,4.2547004754978845e-5,2.2708303443627026e-8,-0.001242046681417017,4.256875652229016e-5,2.273310098467663e-8,-0.0012415887940260054,4.2711639999148036e-5,2.2831736522023835e-8,-0.0012412448848635037,4.292095325018456e-5,2.2969151481539737e-8,-0.0012410276081992223,4.312771971755229e-5,2.310214052847942e-8,-0.0012409187405165644,4.3266945611404475e-5,2.3190749585606232e-8,-0.001240876179833917,4.329319757536537e-5,2.3207763152117412e-8,-0.0012408462077011405,4.3189822733976015e-5,2.314410023143346e-8,-0.001240777320283415,4.297005585476495e-5,2.3009154427995445e-8,-0.0012406317702474867,4.267059575677806e-5,2.2826536022629307e-8,-0.0012403919863629748,4.234042689642282e-5,2.26269926746929e-8,-0.0012400610415698615,4.2028799199970334e-5,2.2440951581700866e-8,-0.0012396584394359302,4.1775753442481906e-5,2.229275950494211e-8,-0.001239213642370792,4.160681735016447e-5,2.2197568374873713e-8,-0.001238759622997134,4.153164993599383e-5,2.21606545642313e-8,-0.0012383277669794706,4.154532626799311e-5,2.217831390256571e-8,-0.0012379443945620973,4.163077699858882e-5,2.223941511624005e-8,-0.0012376284470835346,4.17613701854737e-5,2.2327028899360917e-8,-0.0012373896362990083,4.190335157601163e-5,2.2420000164546246e-8,-0.001237226498897373,4.201852746249583e-5,2.2494706995441768e-8,-0.0012371242703294284,4.2068080603654364e-5,2.2527507113518604e-8,-0.0012370533291036505,4.201858038815096e-5,2.249845761104157e-8,-0.001236970018387961,4.18506164139745e-5,2.239652980094868e-8,-0.0012368223070618539,4.1568658962976625e-5,2.2225481522563593e-8,-0.0012365619116138991,4.120801712255095e-5,2.2007914498811416e-8,-0.0012361611416612153,4.083280694899721e-5,2.1783828379414836e-8,-0.001235627714205694,4.052073423663693e-5,2.1601104914924004e-8,-0.0012350082702082678,4.0337708897671565e-5,2.149979267276202e-8,-0.0012343757042772982,4.031356310619789e-5,2.1497194944095898e-8,-0.0012338050721628741,4.043155020851939e-5,2.1581628688838263e-8,-0.001233349834870539,4.063630930677973e-5,2.1717708568439122e-8,-0.0012330286624901638,4.0854394434720134e-5,2.1859385815913868e-8,-0.001232825543872876,4.1016780529853954e-5,2.1964061307544442e-8,-0.0012326994687433222,4.1075328421856106e-5,2.20027389188401e-8,-0.001232597984556413,4.1010377237678075e-5,2.196447509602127e-8,-0.0012324701701386766,4.083038763729262e-5,2.1855784862297425e-8,-0.0012322765508626758,4.0566046838917725e-5,2.1696628675659008e-8,-0.0012319949600370919,4.026131873137667e-5,2.151464212796346e-8,-0.0012316222127142264,3.996359807215556e-5,2.1339009160521587e-8,-0.0012311720726316338,3.971485937041825e-5,2.1195127901571155e-8,-0.001230670573013148,3.954524762662862e-5,2.1100877649413684e-8,-0.0012301501032358588,3.946977464651513e-5,2.1064790494578928e-8,-0.0012296436170803153,3.9487963552311815e-5,2.108595595697376e-8,-0.0012291799191749856,3.958568949318732e-5,2.1155185653788322e-8,-0.0012287803742935324,3.973818698101526e-5,2.1256853700710867e-8,-0.001228456809047748,3.991337515449703e-5,2.1370956879184295e-8,-0.0012282101383242943,4.007518264093764e-5,2.1475236423481508e-8,-0.0012280293349605576,4.0187061533075706e-5,2.1547450730279715e-8,-0.0012278906587169442,4.0216265386799466e-5,2.1568075140606426e-8,-0.001227757733952711,4.0139660658889306e-5,2.152381649965794e-8,-0.001227584040852701,3.995131561109933e-5,2.141206714008766e-8,-0.0012273199557392438,3.9670437193476325e-5,2.1245481814044025e-8,-0.0012269256617048919,3.934568255249432e-5,2.1054357934419238e-8,-0.001226387988600605,3.9049849819512705e-5,2.088324803621528e-8,-0.0012257337792927004,3.886073981427376e-5,2.077925099285005e-8,-0.001225029176986983,3.8832259555441034e-5,2.0774438780732722e-8,-0.0012243597146831978,3.897014608672804e-5,2.087118383561181e-8,-0.001223799174185458,3.922790438935534e-5,2.1039910874573118e-8,-0.0012233842237546633,3.952612757691313e-5,2.123118242844517e-8,-0.001223107335217403,3.9782946538246464e-5,2.139456934167179e-8,-0.0012229273220081428,3.993907780657064e-5,2.1494114292522025e-8,-0.001222787747765819,3.996887325239496e-5,2.1515041468992588e-8,-0.0012226337779387417,3.987869845089384e-5,2.1462498186417195e-8,-0.0012224231672501788,3.9698352797038394e-5,2.135591073507243e-8,-0.001222131287192134,3.94706075535104e-5,2.1222223071618265e-8,-0.0012217517999359017,3.924165377627985e-5,2.1089871554669243e-8,-0.0012212945943425393,3.905340977839935e-5,2.0984126176207197e-8,-0.0012207820344604945,3.8937868022761935e-5,2.0923847255017387e-8,-0.0012202442110411317,3.891356765329418e-5,2.0919587003276005e-8,-0.0012197138193019857,3.898419985757117e-5,2.0972925719657997e-8,-0.0012192212575737466,3.913919956043711e-5,2.1076902982625034e-8,-0.0012187904880345962,3.9356035455342134e-5,2.1217396945348294e-8,-0.001218436045934365,3.960367962125383e-5,2.1375213106972125e-8,-0.00121816125440768,3.9846620466140236e-5,2.1528562534707792e-8,-0.0012179574526165029,4.004903399140244e-5,2.165570613461297e-8,-0.0012178040605647724,4.0179078031285165e-5,2.1737684879836926e-8,-0.001217669467291421,4.021348370120589e-5,2.1761144819940345e-8,-0.0012175131332450237,4.014272182328031e-5,2.1721351070588032e-8,-0.001217289990042325,3.997662689165655e-5,2.162532349147562e-8,-0.0012169585457825218,3.9749007528304005e-5,2.1494297600574853e-8,-0.0012164931847068905,3.9517836703297245e-5,2.136358703249228e-8,-0.0012158983378917096,3.9356329110915773e-5,2.1277115324960004e-8,-0.0012152176438466392,3.9332104759699913E-05,2.127493647531436e-8,-0.001214528479586985,3.947928991470707e-5,2.1376600643727462e-8,-0.0012139177363669367,3.9778311663362115e-5,2.1569180758206194e-8,-0.0012134484162272517,4.015900048914238e-5,2.180933946924029e-8,-0.0012131363021741985,4.052837642935356e-5,2.2040280902569133e-8,-0.0012129497831343294,4.080665261167639e-5,2.2213672818770073e-8,-0.0012128291159121656,4.095125233841926e-5,2.230428148992462e-8,-0.001212710628911282,4.096082546243361e-5,2.2312340353820234e-8,-0.0012125440419645064,4.0864936103992574e-5,2.2257017392004202e-8,-0.0012122998065612566,4.070927702557695e-5,2.2167052698862267e-8,-0.001211969092054254,4.054291261138361e-5,2.207270204179144e-8,-0.0012115601294701622,4.04096307802744e-5,2.2000393390250897e-8,-0.0012110935055385707,4.034290695442932e-5,2.1969806882960636e-8,-0.001210597514896922,4.0363263803066746e-5,2.1992540281281542e-8,-0.001210103734529621,4.047720018381726e-5,2.2071717239761007e-8,-0.0012096427900898502,4.0677387217859966e-5,2.22022573473533e-8,-0.0012092403935229314,4.094407090176532e-5,2.237175494917936e-8,-0.0012089138646246408,4.124773087837309e-5,2.2562054742508997e-8,-0.001208669509931094,4.155294488543246e-5,2.2751575294808985e-8,-0.0012085012343950414,4.1823087158483395e-5,2.2918206290301382e-8,-0.0012083905541689021,4.20253509279023e-5,2.304245225579731e-8,-0.0012083080279941285,4.213570362400274e-5,2.3110503419034456e-8,-0.0012082161114372763,4.2143459888724324e-5,2.3116949841108062e-8,-0.0012080735324706796,4.2055159230597596e-5,2.3066900585552403e-8,-0.001207841533426535,4.189723091537656e-5,2.297724001603263e-8,-0.0012074923383279116,4.171613868549196e-5,2.2876363669851336e-8,-0.001207019283053891,4.157362669411139e-5,2.2801120538061767e-8,-0.0012064459189305014,4.1534493783767346e-5,2.2789521758592166e-8,-0.0012058286024298984,4.164656524482071e-5,2.2869009240234377e-8,-0.0012052460554162017,4.19184087749905e-5,2.3043477200400544e-8,-0.0012047743940046401,4.2307229374438395e-5,2.3286316882609802e-8,-0.0012044572585227797,4.272895499439604e-5,2.3546579750409415e-8,-0.001204288381331058,4.308962693418823e-5,2.376779519103741e-8,-0.0012042176630236775,4.332107815521141e-5,2.390938507508682e-8,-0.0012041753802073372,4.340093341660907e-5,2.3958706867713977e-8,-0.00120409843142815,4.335014281596996e-5,2.3929491995290315e-8,-0.0012039461046134032,4.3216266495513626e-5,2.3851510393422998e-8,-0.0012037033879847602,4.305483536435831e-5,2.3758982441867673e-8,-0.001203376539335363,4.291599030590616e-5,2.368228317218689e-8,-0.00120298613557427,4.283755592078561e-5,2.364376268900528e-8,-0.00120256066507784,4.2842730196850536e-5,2.365655954004364e-8,-0.0012021315896690958,4.29401323049733e-5,2.3724918753893763e-8,-0.0012017295357681474,4.3124764351869256e-5,2.384500705422323e-8,-0.0012013810188355309,4.3379445958178134e-5,2.400589014719376e-8,-0.0012011053959982453,4.367684303151363e-5,2.4190760318183176e-8,-0.0012009120711434845,4.3982426851927915e-5,2.4378686124360526e-8,-0.001200798320179096,4.4258666524398955e-5,2.4547135559008024e-8,-0.0012007483813156155,4.447035815567847e-5,2.4675237441635286e-8,-0.0012007344048218429,4.45904789956841e-5,2.4747373111654414e-8,-0.0012007195396916456,4.4605667043112055E-05,2.475647427648304e-8,-0.0012006630679124704,4.4520319606676825e-5,2.4706349244549025e-8,-0.0012005271433299393,4.435834252862902e-5,2.4612444809990292e-8,-0.0012002844344340745,4.416178423355356e-5,2.450065938028214e-8,-0.0011999257549066937,4.39856842762662e-5,2.4403951995426074e-8,-0.0011994662184232547,4.3888471317910234e-5,2.435650342589999e-8,-0.001198947460842372,4.3917923813857226e-5,2.43855173915342e-8,-0.001198432684587654,4.409482178445086e-5,2.4501884310528832e-8,-0.0011979921332492878,4.43998509534339e-5,2.469284335350204e-8,-0.00119768078598594,4.4772044938470945e-5,2.492136091235081e-8,-0.0011975168459692923,4.512476493318901e-5,2.5135693210741254e-8,-0.00119747326559844,4.53756385533257e-5,2.528710231716238e-8,-0.0011974888649364393,4.547604253094459e-5,2.5347319618533324e-8,-0.0011974930862349044,4.542451975687877e-5,2.5316491092253453e-8,-0.0011974302262546881,4.525952548655604e-5,2.5218719541367353e-8,-0.0011972721728209824,4.5039793706352555e-5,2.509006550443868e-8,-0.0011970183063790395,4.48245155389913e-5,2.4966396418741908e-8,-0.001196687932279745,4.4660550904328974e-5,2.487559033145641e-8,-0.0011963111623788396,4.457738285834904e-5,2.4834604037411308e-8,-0.0011959215436754737,4.45871920184613e-5,2.4849769736576936e-8,-0.0011955511692190652,4.468712727908596e-5,2.4918432734679642e-8,-0.0011952275920148667,4.486193679281758e-5,2.5030717037665653e-8,-0.001194971551310585,4.508639373150898e-5,2.5171047327290172e-8,-0.001194794863314542,4.5327777567539424e-5,2.5319623085596163e-8,-0.001194698341899172,4.554901617532855e-5,2.5454274898017947e-8,-0.0011946701458042791,4.5713081220382614e-5,2.555310251854561e-8,-0.0011946854231435274,4.5788787339589856e-5,2.5597980508971714e-8,-0.0011947082714650892,4.575734391539159e-5,2.5578493326096783e-8,-0.0011946966519119835,4.561819225984636e-5,2.5495358009355167e-8,-0.0011946100335258174,4.539218001394653e-5,2.536213072497259e-8,-0.0011944184455051122,4.512031317912244e-5,2.5204163446924352e-8,-0.0011941107653257608,4.485734384224478e-5,2.5054453515492776e-8,-0.0011936999083235803,4.466088478508766e-5,2.4946937452023213e-8,-0.0011932230592092813,4.457796164782929e-5,2.4908499047797812e-8,-0.001192735881163747,4.463180004644925e-5,2.4951402925395812e-8,-0.0011923007264965835,4.481237616870531e-5,2.506816181625162e-8,-0.001191970530689217,4.507461064861558e-5,2.523093820360962e-8,-0.0011917724140860335,4.5347229185161454e-5,2.5397066980609755e-8,-0.0011916972032087528,4.5552150560644986e-5,2.552053976524705e-8,-0.0011917008223672682,4.5628853227269786e-5,2.55662585680403e-8,-0.001191718836140086,4.55536438037028e-5,2.5521241678494558e-8,-0.0011916882079971906,4.534483429463704e-5,2.5397506076360736e-8,-0.0011915661764232738,4.50523352358896e-5,2.52256885925892e-8,-0.0011913387387294007,4.47385355732246e-5,2.504346293478613e-8,-0.0011910180546011024,4.446011631860293e-5,2.4884567965759092e-8,-0.0011906333941084394,4.425692301702829e-5,2.4772196056940904e-8,-0.0011902211184680275,4.414860982271032e-5,2.4717178867113547e-8,-0.0011898169790774708,4.4136455261757274e-5,2.4719329452121577e-8,-0.0011894514485054754,4.420725000515381e-5,2.4769977404092045e-8,-0.0011891472970888017,4.43372203473938e-5,2.4854416724191735e-8,-0.0011889182539292847,4.449528806773453e-5,2.4953861754942293e-8,-0.0011887678749798924,4.464592966057503e-5,2.504712463555681e-8,-0.0011886883030289687,4.4752380198887884e-5,2.5112510632544797e-8,-0.0011886592771498138,4.478098874931083e-5,2.5130424449580425e-8,-0.0011886483992062577,4.4707117457076194e-5,2.5086889829383304e-8,-0.0011886140329250244,4.4522010180780784e-5,2.4977592415005244e-8,-0.0011885119078034235,4.4238713784012066e-5,2.4811273251672534e-8,-0.0011883051844906306,4.3894051675223444e-5,2.461069041472246e-8,-0.0011879756183442926,4.354386275480496e-5,2.4409531085824178e-8,-0.0011875317045031677,4.3250911754683235e-5,2.4244998266980886e-8,-0.001187009814984017,4.306830808202916e-5,2.4147865942933328e-8,-0.0011864667588603476,4.302388062774488e-5,2.4133330210664937e-8,-0.0011859656180111609,4.3111034611001064e-5,2.4195943412766552e-8,-0.0011855592107146609,4.328925296709795e-5,2.4310387221332328e-8,-0.0011852761111206852,4.349413359054941e-5,2.443782423047731e-8,-0.0011851131455521931,4.3654131747047644e-5,2.4535986395746288e-8,-0.0011850365116463047,4.370946428713365e-5,2.4570271546609728e-8,-0.0011849914632903148,4.362784368851426e-5,2.4522773768495008e-8,-0.001184917896100419,4.341215487751708e-5,2.43964861556252e-8,-0.0011847668283073867,4.3097519747167916e-5,2.4213256739576758e-8,-0.001184512183165127,4.273915270154866e-5,2.400637699709233e-8,-0.001184154359433377,4.239606712181469e-5,2.381082880477647e-8,-0.001183715829325232,4.211673537541401e-5,2.3654834718410355e-8,-0.001183232091457753,4.193072848064575e-5,2.355508585492585e-8,-0.001182742076052658,4.184692919527811e-5,2.351593181722576e-8,-0.001182280783554334,4.185637277082278e-5,2.3531280291149167e-8,-0.0011818749650736491,4.193705913158789e-5,2.3587563717348847e-8,-0.0011815412371566454,4.20587459208501e-5,2.3666591547139997e-8,-0.001181285518418681,4.218688550045602e-5,2.374784651401943e-8,-0.0011811028444095974,4.2285853886151184e-5,2.381037385561812e-8,-0.001180977123076948,4.232217251513254e-5,2.3834703066651765e-8,-0.0011808810539391222,4.2268560697046846e-5,2.3805269882627502e-8,-0.0011807771612472478,4.2109361969074505e-5,2.3713602572318883e-8,-0.0011806214602274067,4.1846957049957275e-5,2.356200196449372e-8,-0.0011803711677501327,4.150714518977967e-5,2.3366529209186637e-8,-0.0011799963986054275,4.113978509884284e-5,2.3157162420999488e-8,-0.0011794927933482826,4.08108363408142e-5,2.2972909369344754e-8,-0.0011788890049142986,4.058504354233647e-5,2.2851491515976213e-8,-0.0011782430294203484,4.050438512482597e-5,2.2816671906510717e-8,-0.0011776263052778516,4.0571991173592686e-5,2.2868981508891815e-8,-0.0011771016155169122,4.074982996867079e-5,2.2984703383283737e-8,-0.0011767044632477951,4.097122380197114e-5,2.3123630234264177e-8,-0.0011764349839248737,4.1161829736862925e-5,2.3241707139593455e-8,-0.0011762614801303043,4.1260299791107996e-5,2.330328303434297e-8,-0.0011761320404088328,4.1232336783918625e-5,2.328924297558214e-8,-0.0011759893133244327,4.1075838938516295e-5,2.3199711124094704e-8,-0.0011757842580515552,4.081779203779472e-5,2.3051819147004552e-8,-0.001175486057786376,4.050513963720658e-5,2.2873984543674025e-8,-0.0011750866908770193,4.0192525827399625e-5,2.2698514425147638e-8,-0.0011745998913217442,3.9930000443378806e-5,2.2554401861589946e-8,-0.0011740555181366963,3.975350915748105e-5,2.2461942074838184e-8,-0.0011734914447389271,3.967996159531561e-5,2.2430123462058758e-8,-0.001172945410878914,3.970705295686038e-5,2.245677720924922e-8,-0.0011724486794790487,3.981662159239835e-5,2.2530685939862905e-8,-0.0011720222605774908,3.997974255206267e-5,2.263458529327139e-8,-0.0011716754580197422,4.0161947727554296e-5,2.274816904236688e-8,-0.0011714059108263474,4.032766224367516e-5,2.285064391621753e-8,-0.0011712002787532773,4.044378850159482e-5,2.2922839703133115e-8,-0.001171035100466492,4.048293650443117e-5,2.2949153547451752e-8,-0.0011708778846540614,4.042697766162125e-5,2.2919658210313572e-8,-0.0011706891457959967,4.0271429475899425e-5,2.2832600750891778e-8,-0.001170426728995793,4.0030416719605716e-5,2.269711830719015e-8,-0.0011700538042031948,3.9740414742010276e-5,2.253517245414926e-8,-0.0011695506069301434,3.945916078722506e-5,2.2380689483545792e-8,-0.0011689268944945577,3.9255517922141815e-5,2.227353935744273e-8,-0.001168228173677312,3.918909798715985e-5,2.224769728531718e-8,-0.0011675279781217165,3.9285907063139966e-5,2.2317220439852915e-8,-0.0011669049542857158,3.952322670802093e-5,2.24676871654407e-8,-0.0011664145207980038,3.9834885125080155e-5,2.265953681114611e-8,-0.001166070295452867,4.013563731944959e-5,2.2842517129925196e-8,-0.0011658440641923867,4.035108613749354e-5,2.2973299450432576e-8,-0.0011656808972777184,4.043846993678506e-5,2.302764914878378e-8,-0.0011655191438936243,4.039246802510346e-5,2.300366653105076e-8,-0.0011653067613803536,4.023909875147127e-5,2.291788321046429e-8,-0.001165010689103841,4.002390781978695e-5,2.2797942341975254e-8,-0.0011646197556137458,3.979940906101893e-5,2.2674938420648966e-8,-0.0011641429633779334,3.961443280877213e-5,2.2577103601577477e-8,-0.0011636049134929856,3.950632417993853e-5,2.252541402741315e-8,-0.0011630396411959254,3.9496218494349576e-5,2.253115281543781e-8,-0.001162483900516477,3.95874667786907e-5,2.2595320378682432e-8,-0.0011619709327954436,3.976699600781008e-5,2.2709638135691125e-8,-0.0011615255979191684,4.000893838449559e-5,2.2858712233979922e-8,-0.0011611613858706039,4.0279582776409567e-5,2.3022849008527116e-8,-0.001160879376169587,4.054263299169933e-5,2.3181024514051384e-8,-0.0011606687592218374,4.076394687408465e-5,2.3313608208272293e-8,-0.0011605083240079387,4.09154288041749e-5,2.3404666156265128e-8,-0.00116036847554564,4.097823517679709e-5,2.34438834621506e-8,-0.0011602136824594566,4.0945659648512586e-5,2.3428227761797474e-8,-0.0011600057215318002,4.0826012397539306e-5,2.3363471925632195e-8,-0.0011597086232655231,4.0645264473458956e-5,2.326545539839303e-8,-0.0011592962457193116,4.0447999006798314e-5,2.3160337368834338e-8,-0.00115876229853727,4.0293821820255384e-5,2.3082332980724006e-8,-0.0011581301558147067,4.0245920350732926e-5,2.3067127381392428e-8,-0.0011574563121098651,4.035081622828792e-5,2.3140425634618856e-8,-0.0011568199270357543,4.061526212816023e-5,2.3304961265381497e-8,-0.0011562968471505665,4.099409631845051e-5,2.353376588241085e-8,-0.0011559290458727804,4.140161770840252e-5,2.3776854904296303e-8,-0.0011557078806939019,4.1744238983237644e-5,2.3980097768470524e-8,-0.0011555814912751524,4.195588110422897e-5,2.4105697188319998E-08,-0.001155479481195814,4.201658493401853e-5,2.4142985129680127e-8,-0.00115533863075793,4.194919447273282e-5,2.4106395513946268e-8,-0.0011551182129401877,4.1802901903976074e-5,2.4025610864818883e-8,-0.0011548035981328402,4.163510488935334e-5,2.3934641492285587e-8,-0.0011544024679921467,4.149790402491649e-5,2.3863731188845464e-8,-0.0011539381598193543,4.143037373269924e-5,2.3834886083816383e-8,-0.0011534428504190312,4.145529592249755e-5,2.3860242372633465e-8,-0.0011529515734318722,4.157867605802834e-5,2.3942156152824156e-8,-0.001152497126030711,4.17910018793201e-5,2.407424330087287e-8,-0.00115210581430915,4.2069853360416185e-5,2.4243037050196697e-8,-0.001151794185245135,4.238365328686831e-5,2.4430139497299415e-8,-0.0011515669930675036,4.269628302794372e-5,2.461478437537122e-8,-0.0011514166348674099,4.2972125399724006e-5,2.4776661433350763e-8,-0.0011513241096236361,4.318091082678523e-5,2.4898702175336794e-8,-0.0011512612721551612,4.330181717597658e-5,2.496949457208967e-8,-0.001151194039557355,4.332656629776271e-5,2.4985098203453446e-8,-0.0011510862887999457,4.326145348232724e-5,2.4950132422663092e-8,-0.0011509043845628019,4.312830423117919e-5,2.4878096818187747e-8,-0.0011506225888506414,4.296414251839801e-5,2.4790856099194497e-8,-0.0011502295873348479,4.281860836006933e-5,2.4716871495239724e-8,-0.0011497354598191344,4.27473669523015e-5,2.4687324428481763e-8,-0.0011491767132249047,4.27998987093043e-5,2.4729297172923822e-8,-0.0011486149745644995,4.300208635109734e-5,2.4856210146960896e-8,-0.0011481242788471762,4.333890754543513e-5,2.505836780419132e-8,-0.0011477663805973333,4.37484335258334e-5,2.529978271595454e-8,-0.0011475638693054652,4.413754488074797e-5,2.552713565537854e-8,-0.0011474880690233208,4.441675095791563e-5,2.5689536506059154e-8,-0.0011474716437174161,4.4535329714636256e-5,2.5758576446798924e-8,-0.0011474381423005444,4.4496153607781065e-5,2.573686319342581e-8,-0.0011473298248947472,4.434525522139947e-5,2.5651963688180006e-8,-0.0011471206519927625,4.4148021131686344e-5,2.5542431090685233e-8,-0.0011468143867924144,4.396712744434881e-5,2.5444745012451112e-8,-0.001146435178096694,4.384958556407789e-5,2.538566338712817e-8,-0.0011460173053052653,4.382244135856911e-5,2.537984964690841e-8,-0.0011455972066733823,4.389369052636168e-5,2.543072424927479e-8,-0.001145208205189756,4.4055310810386594e-5,2.553258147049571e-8,-0.0011448771116926027,4.4286732802865605e-5,2.5672846892049696e-8,-0.001144621838537778,4.455834866317327e-5,2.5834176207532318e-8,-0.0011444496596464482,4.483524010238264e-5,2.5996533958276677e-8,-0.0011443561757723407,4.508136367107901e-5,2.6139484084071172e-8,-0.001144325302176957,4.526422796836885e-5,2.624479996609313e-8,-0.0011443306796744088,4.5359678801102835e-5,2.629920696942144e-8,-0.001144338684074093,4.535607232962796e-5,2.6296805202445227e-8,-0.0011443128443530714,4.525711697688811e-5,2.6240674007741413e-8,-0.0011442192204715602,4.5082805045375516e-5,2.6143256225398415e-8,-0.0011440321422607781,4.4868033997148654e-5,2.6025290536327584e-8,-0.0011437397009143968,4.465876200865301e-5,2.5913293776335838e-8,-0.0011433483936894827,4.450556201387472e-5,2.5835666573269417e-8,-0.0011428859132346458,4.4454301330230345e-5,2.5817407374967364e-8,-0.0011424002463549068,4.4534205124580296e-5,2.587362598157788e-8,-0.0011419527122034946,4.474530750720313e-5,2.600289980431649e-8,-0.0011416033368196802,4.505002810376823e-5,2.618294554588382e-8,-0.001141390428908636,4.5375931822066494e-5,2.6372385764556846e-8,-0.0011413123883100827,4.5634818511907473e-5,2.6521473534591453e-8,-0.001141323589395823,4.5754058078499044e-5,2.6589641295518906e-8,-0.0011413505127724332,4.570482861131677e-5,2.65614039044391e-8,-0.0011413207093381398,4.5510745451041515e-5,2.6451239643199213e-8,-0.001141188094617734,4.523323032317512e-5,2.6295158823665544e-8,-0.0011409425267060696,4.494512245552072e-5,2.613539055975473e-8,-0.0011406039242835295,4.470782444666231e-5,2.6007055239340012e-8,-0.001140209199720666,4.455976514490526e-5,2.5931497221064563e-8,-0.0011397998215520568,4.451513360626569e-5,2.591575701768682e-8,-0.001139413450043509,4.456814837601221e-5,2.595536246540539e-8,-0.0011390795966643849,4.469876670368622e-5,2.60379203690528e-8,-0.0011388178217883774,4.487777100093782e-5,2.614620234117578e-8,-0.001138637029323737,4.507087406977781e-5,2.6260499784491232e-8,-0.0011385351171898522,4.524231213375679e-5,2.636058011508952e-8,-0.001138498908997064,4.5358536475447353e-5,2.6427687830903223e-8,-0.001138504742717813,4.539239795883406e-5,2.6446876610957435e-8,-0.0011385203577618363,4.5327686077719404e-5,2.6409596426616204e-8,-0.001138508626476679,4.5163215308385346e-5,2.6316020938140107e-8,-0.001138433164520453,4.491524922861346e-5,2.617635271007851e-8,-0.0011382651611644248,4.461705208805853e-5,2.60103768433134e-8,-0.0011379901212315725,4.431475914112068e-5,2.5844832363761734e-8,-0.0011376128472153897,4.405962607495448e-5,2.5708742448517676e-8,-0.0011371591432191399,4.38977377850055e-5,2.5627459120037902e-8,-0.0011366732292220137,4.385892899825392e-5,2.561652405049774e-8,-0.0011362103950232623,4.394710877414942e-5,2.5676581411835278e-8,-0.0011358251542952108,4.413475261191414e-5,2.5790765942044402e-8,-0.0011355565320898134,4.436471443508226e-5,2.5926126309661128e-8,-0.0011354142388612493,4.456177182242592e-5,2.6040272006294392e-8,-0.0011353715564004837,4.4653360616528623e-5,2.6092925147649926e-8,-0.0011353705510015804,4.459362909579968e-5,2.605922322764486e-8,-0.0011353404038372476,4.4380227560943225e-5,2.5938971302698022e-8,-0.0011352217466509087,4.405454262243014e-5,2.5756616732937143e-8,-0.0011349852948189293,4.368490247039827e-5,2.5551578991552723e-8,-0.0011346366674042077,4.334216194977203e-5,2.5364227495662016e-8,-0.001134208126523297,4.307971922662928e-5,2.5224447033233243e-8,-0.0011337443916172296,4.292448780803408e-5,2.5146609857361533e-8,-0.0011332897864486306,4.287791196077834e-5,2.5130427988720302e-8,-0.0011328801743606684,4.292232941936807e-5,2.5164886702881576e-8,-0.0011325395437544183,4.302832693352377e-5,2.5232645329543546e-8,-0.0011322795036267984,4.316082969546979e-5,2.5313558114926845e-8,-0.0011320999644248192,4.328354167402069e-5,2.538712994851353e-8,-0.0011319900022255828,4.336233306022805e-5,2.5434328063291953e-8,-0.0011319286947636842,4.336840808418778e-5,2.5439298179225213e-8,-0.0011318863330729578,4.328188187579225e-5,2.5391365668682646e-8,-0.001131826798984989,4.309582777844892e-5,2.5287327028303578e-8,-0.0011317119237820342,4.282000536402383e-5,2.513352362103692e-8,-0.0011315081184450266,4.248267021715128e-5,2.4946745756693704e-8,-0.0011311944679122136,4.212855215251888e-5,2.47528810798855e-8,-0.001130770145740669,4.181171313272162e-5,2.458263730132284e-8,-0.0011302581872849279,4.158375073838242e-5,2.446470685820663e-8,-0.0011297031604086858,4.1480108144529596e-5,2.4418045723061402e-8,-0.001129162188693781,4.15087736209508e-5,2.4445738038119535e-8,-0.001128691235841923,4.164541695493883e-5,2.453267453652789e-8,-0.0011283303644603515,4.1837167858544846e-5,2.464812593336712e-8,-0.0011280922029762194,4.201470996660632e-5,2.4752841228200912e-8,-0.0011279572033331556,4.2109977185660934e-5,2.480903447905591e-8,-0.0011278777807429035,4.2074869072542864e-5,2.4790706388729773e-8,-0.0011277911058960631,4.189530837193729e-5,2.4691226160505966e-8,-0.0011276372138476932,4.15954194176583e-5,2.4525357679971217e-8,-0.0011273763094417542,4.1229584247699144e-5,2.4324526909304625e-8,-0.0011269987883137111,4.0865150594873515e-5,2.4126913313744505e-8,-0.0011265246487921932,4.056282496645149e-5,2.396636013648397e-8,-0.0011259939870450367,4.0362229990203176e-5,2.3864352719984643e-8,-0.0011254538280006646,4.027651035222083e-5,2.3827236887481313e-8,-0.0011249466443459084,4.029509964658356e-5,2.3848081936514294e-8,-0.0011245033782163948,4.0390924133027086e-5,2.3910968573532058e-8,-0.0011241409403492657,4.052829514471608e-5,2.3995517170635476e-8,-0.00112386263638038,4.066934213518109e-5,2.4080458369857855e-8,-0.001123659844043524,4.077852227744454e-5,2.4146059818045725e-8,-0.0011235138537491161,4.082575535334954e-5,2.417579891950277e-8,-0.0011233975399612892,4.078906093563617e-5,2.4157813543967808e-8,-0.0011232772130354719,4.065741806846923e-5,2.4086515680471002e-8,-0.0011231154772805123,4.043402590037051e-5,2.3964410167377178e-8,-0.0011228760409062776,4.0139252991621545e-5,2.380366568263808e-8,-0.0011225309508780508,3.9811507466245704e-5,2.362643573893063e-8,-0.0011220694021852218,3.9503593998477884e-5,2.3462607402847364e-8,-0.0011215052868612503,3.927276808058977e-5,2.334405693151438e-8,-0.0011208791815421717,3.916532907922445e-5,2.32959719470691e-8,-0.0011202512996662164,3.9200465609938846e-5,2.332793726446843e-8,-0.001119685750452599,3.936055511280073e-5,2.3428801926640012e-8,-0.0011192313624241938,3.959351310628623e-5,2.3568365483427852e-8,-0.0011189067970222813,3.982728786145331e-5,2.370580293829856e-8,-0.0011186957125675833,3.9990849821071303e-5,2.380156013682102e-8,-0.0011185529359586416,4.003380335406222e-5,2.382827657042045e-8,-0.0011184183604654927,3.9938559297950844e-5,2.3777363910180102e-8,-0.0011182335261142832,3.972257873820071e-5,2.365991178424167e-8,-0.0011179561348970367,3.943138742499119e-5,2.3502406776038373e-8,-0.0011175690250342211,3.9125231705559594e-5,2.333898219278873e-8,-0.0011170818909624026,3.8863484851492184e-5,2.3202592856615218e-8,-0.0011165261146400343,3.869113689297805e-5,2.3117576365828163e-8,-0.0011159450191786187,3.863070018781825e-5,2.309541688994295e-8,-0.001115382950846316,3.8680782729081375e-5,2.3134291481037248e-8,-0.0011148763323054643,3.88202433349568e-5,2.3221657136516122e-8,-0.0011144484116093652,3.9015366788503146e-5,2.333836405534532e-8,-0.0011141077300649053,3.922741200952648e-5,2.3462821981382622e-8,-0.0011138492060015412,3.941880989590515e-5,2.357433208540127e-8,-0.0011136564631223104,3.955748183796071e-5,2.3655382121537695e-8,-0.001113504398766395,3.961966181875024e-5,2.3693174947865333e-8,-0.0011133616119702572,3.9591985478981636e-5,2.3680806672121074e-8,-0.0011131929173312004,3.9473502927766754e-5,2.3618399758240768e-8,-0.001112962646214551,3.927781992830418e-5,2.3514237054040706e-8,-0.0011126396430199091,3.903476453581059e-5,2.338553477815076e-8,-0.0011122044622860591,3.878987372235069e-5,2.325794563447264e-8,-0.0011116579050496058,3.859916050478475e-5,2.3162471082326266e-8,-0.0011110277638066819,3.8517161490373446e-5,2.3128770665243614e-8,-0.0011103686318442126,3.857932217863279e-5,2.317550345585091e-8,-0.0011097504345893342,3.878498007287958e-5,2.3301147042226735e-8,-0.0011092368658773112,3.909083067031221e-5,2.348067606937274e-8,-0.001108862561025627,3.9421677057301995e-5,2.3671766690779e-8,-0.0011086207894536008,3.969541345367182e-5,2.3828789988108746e-8,-0.001108467784835197,3.9850203582443234e-5,2.3917930158623212e-8,-0.0011083400223898265,3.986149013467848e-5,2.3926558339224554e-8,-0.0011081749835332257,3.9744019406875444e-5,2.3864144977322292e-8,-0.0011079272311021648,3.954206227866765e-5,2.3756473773474773e-8,-0.0011075764036130426,3.9314276041815806e-5,2.3636846724881514e-8,-0.0011071276513506274,3.911872082508301e-5,2.353751460723729e-8,-0.001106606712234522,3.9001210256697606e-5,2.3483218868648787e-8,-0.0011060519911277476,3.8988244203939216e-5,2.3487531140898155e-8,-0.001105505670300844,3.908468395961993e-5,2.3551953376769463e-8,-0.001105005565791467,3.927568764132802e-5,2.3667339954019526e-8,-0.0011045790708096976,3.9531788880221474e-5,2.3816896490402398e-8,-0.0011042398847317478,3.9815546406795756e-5,2.397985579796228e-8,-0.0011039874767033147,4.008822786866677e-5,2.413504494817365e-8,-0.0011038086569949937,4.031539899273079e-5,2.4263827315283715e-8,-0.0011036803427045844,4.047087645509333e-5,2.4352204679952328e-8,-0.0011035726966564098,4.053916604625667e-5,2.4392162684179795e-8,-0.0011034522434320714,4.051692930416066e-5,2.438250815301555e-8,-0.0011032850399023103,4.041397991610771e-5,2.4329393420554233e-8,-0.0011030403485004744,4.0253960514007384e-5,2.424655679752155e-8,-0.001102695483905325,4.0074227905403326e-5,2.415503580398189e-8,-0.001102242193580227,3.992352368685253e-5,2.4081660659305638e-8,-0.0011016936673696796,3.985525563697915e-5,2.4055253488353385e-8,-0.0011010891641663526,3.991473667135059e-5,2.409971221190807e-8,-0.0011004912378463276,4.012168328025906e-5,2.422468321626409e-8,-0.0010999711538006204,4.045477360482803e-5,2.4417430252093232e-8,-0.0010995842055226655,4.084938248726866e-5,2.4641830821643385e-8,-0.0010993460929871167,4.121581701041971e-5,2.484844677700392e-8,-0.0010992250658169746,4.1472215284716905e-5,2.4992557013455944e-8,-0.0010991556460179283,4.1574464276116506e-5,2.505058969589844e-8,-0.0010990652089385281,4.1527398961356164e-5,2.5026265284520233e-8,-0.001098898156768374,4.1375312448001e-5,2.4945200752454744e-8,-0.0010986280334354423,4.118167475058328e-5,2.484337320183111e-8,-0.0010982574815838655,4.100937470290851e-5,2.4755843824772127e-8,-0.0010978110406426043,4.090738485072404e-5,2.4709226856153248e-8,-0.0010973257121964122,4.0904499228446404e-5,2.471836767874099e-8,-0.0010968421791160742,4.10083665738254e-5,2.4786177550209052e-8,-0.0010963977347210852,4.120779805968306e-5,2.4905329142025246e-8,-0.0010960210677344888,4.147702335351955e-5,2.506090255556026e-8,-0.0010957289251758702,4.178110279291195e-5,2.5233456325869303e-8,-0.001095524697387541,4.2081778366454555e-5,2.540215364575196e-8,-0.0010953988246681838,4.2343079153780506e-5,2.5547670181248777e-8,-0.0010953307583887954,4.253610901231246e-5,2.5654681311269465e-8,-0.0010952920447938042,4.264254236325311e-5,2.571372890267199e-8,-0.0010952499739452775,4.2656633559821643e-5,2.5722338660353446e-8,-0.0010951713587064734,4.2585944785351156e-5,2.5685421940828945e-8,-0.0010950263137780906,4.245110365085979e-5,2.5615053368196092e-8,-0.001094792159453469,4.2284683294743016e-5,2.5529653777638224e-8,-0.0010944577225138132,4.212890345796607e-5,2.5452477208888395e-8,-0.0010940280855575993,4.2031223829935575e-5,2.5409021613321293e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_5.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_5.json new file mode 100644 index 000000000..3a712547f --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_5.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":5000,"numberOfSamples":1000,"samples":[-0.001093528836966317,4.203642676149489e-5,2.5422725793163846e-8,-0.0010930072646208094,4.217440867148639e-5,2.5508574660559997e-8,-0.0010925265640548522,4.2445448281040656e-5,2.566549440168746e-8,-0.0010921498584701538,4.280927315836898e-5,2.5870776828536737e-8,-0.0010919163003251823,4.318794211770871e-5,2.6081780444674054e-8,-0.001091820523294629,4.348883154959585e-5,2.624831762871915e-8,-0.00109181029138295,4.364045659227296e-5,2.6331989440280285e-8,-0.0010918072934319603,4.362110831307491e-5,2.6321766949888615e-8,-0.0010917391971531742,4.346321105608486e-5,2.6236404835428295e-8,-0.0010915640090047574,4.323393624900339e-5,2.611370862534541e-8,-0.0010912766199280236,4.3007345034387695e-5,2.599493426705449e-8,-0.0010909009016498547,4.284299979150903e-5,2.5912727223068096e-8,-0.001090476431342811,4.277625215835485e-5,2.5885719367964947e-8,-0.0010900465218413144,4.2817753215300766e-5,2.5918503099339365e-8,-0.0010896499951765957,4.2957752709860237e-5,2.6004412180594708e-8,-0.0010893164869373976,4.3171842376795946e-5,2.612906955898042e-8,-0.0010890641035068592,4.34265580743787e-5,2.6273675178051805e-8,-0.0010888984776027527,4.3684563677071033e-5,2.6417842719480934e-8,-0.0010888129019089097,4.3909513777838174e-5,2.65421057988998e-8,-0.0010887895341848287,4.407054827337014e-5,2.663018859077577e-8,-0.0010888016920848876,4.4146217427231046e-5,2.667102788931276e-8,-0.001088817192482838,4.4127450376416946e-5,2.6660363442769395e-8,-0.0010888024752733671,4.401909753500576e-5,2.6601590837686793e-8,-0.0010887270459753056,4.383981898364833e-5,2.65056658451493e-8,-0.0010885677996571497,4.362036647066958e-5,2.639002532249307e-8,-0.0010883129235325867,4.3400346577718806e-5,2.627658759927833e-8,-0.0010879651578661836,4.322346930498476e-5,2.6188934255361087e-8,-0.001087544097987234,4.313109216854214e-5,2.6148709458164907e-8,-0.001087086674855694,4.315374123594729e-5,2.617116796712862e-8,-0.001086644066498112,4.330094126455337e-5,2.6260046435218025e-8,-0.0010862728381159504,4.3551620609182124e-5,2.640284239026193e-8,-0.00108601928226965,4.38502022017017e-5,2.656903579292576e-8,-0.0010859001135970722,4.411523709589743e-5,2.6714781887700585e-8,-0.0010858889754997796,4.426383145393484e-5,2.6795876138844725e-8,-0.0010859203351680025,4.424423453619814e-5,2.6785128110422738e-8,-0.001085913618912209,4.4058578601592776e-5,2.668460538734044e-8,-0.001085805393800295,4.376072785978275e-5,2.6524487039470494e-8,-0.0010855708545136362,4.343117507166159e-5,2.6349304657863846e-8,-0.0010852250584937636,4.314592290426317e-5,2.620071963961655e-8,-0.0010848090868554553,4.295570916633156e-5,2.6105975798650347e-8,-0.001084372654611788,4.2880291469861494e-5,2.6074830737518084e-8,-0.0010839610398885847,4.291308032542563e-5,2.6102403255115617e-8,-0.0010836081790852113,4.302959653013973e-5,2.6174200961517643e-8,-0.0010833344520610171,4.3195574161869046e-5,2.6270850944433867e-8,-0.001083146945167361,4.3373198164366636e-5,2.637160337223827e-8,-0.0010830405767407777,4.352569954505452e-5,2.645674242392391e-8,-0.0010829995124754573,4.3621083270509026e-5,2.6509425138913995e-8,-0.001082998991414148,4.363548696163819e-5,2.6517334874121295e-8,-0.0010830078695757855,4.3556232067080865e-5,2.6474252100274967e-8,-0.0010829921546684827,4.338421730365343e-5,2.638134536379059e-8,-0.0010829195457739626,4.313495597945831e-5,2.6247737743075178e-8,-0.0010827645199852117,4.2837568459182473e-5,2.6089894868217516e-8,-0.0010825131481838203,4.2531405839397756e-5,2.5929625306960433e-8,-0.0010821667257754604,4.2260415291339646e-5,2.5790800121408916e-8,-0.001081743391863589,4.2065789758412284e-5,2.5695202717475755e-8,-0.0010812771260442285,4.197779093233889e-5,2.5658116797976546e-8,-0.00108081368235774,4.2007788209395396e-5,2.5684279138019833e-8,-0.0010804030553122393,4.214188129809646e-5,2.5764875776401685e-8,-0.0010800884167244415,4.2338329128859495e-5,2.5876603076949472e-8,-0.001079892778156456,4.2531881372048156e-5,2.598424858567189e-8,-0.001079807154698478,4.264767562282009e-5,2.6048107274120274e-8,-0.0010797867060579334,4.262394191909685e-5,2.6035904077434437e-8,-0.001079760973783162,4.243610779021697e-5,2.593546226975552e-8,-0.0010796577282035234,4.210950720238184e-5,2.5761387251077892e-8,-0.00107942993302375,4.171117273294466e-5,2.555057096694696e-8,-0.001079071274203828,4.132383281774707e-5,2.5348037433669575e-8,-0.001078613065447523,4.101676275871758e-5,2.5191031444188244e-8,-0.0010781076445001167,4.082789625905243e-5,2.509930154443339e-8,-0.0010776094725232313,4.076147500814069e-5,2.507401361434535e-8,-0.0010771620659250866,4.079616385676292e-5,2.5102488709573008e-8,-0.001076792527426751,4.089624684549766e-5,2.5164595184415124e-8,-0.001076511483357941,4.102115014348993e-5,2.523807558214155e-8,-0.001076315486299618,4.1131846253385905e-5,2.530198861820359e-8,-0.00107618985214185,4.1194730844247526e-5,2.533864785318205e-8,-0.0010761111699562399,4.118418519494565e-5,2.5334821170315685e-8,-0.0010760496321073894,4.1084740905426734e-5,2.5282775112651636e-8,-0.0010759717151872302,4.089317638698599e-5,2.5181368331821842e-8,-0.0010758437806077928,4.062025720268964e-5,2.5037000465379675e-8,-0.001075636874965737,4.029124488214523e-5,2.4863872287821255e-8,-0.001075332344175619,3.994403311673042e-5,2.4682887122784044e-8,-0.0010749270772761371,3.962409533524119e-5,2.4518755050929554e-8,-0.0010744366625150808,3.937631781230898e-5,2.439541151761965e-8,-0.0010738948032005251,3.92350369958662e-5,2.433057466908826e-8,-0.0010733481764564313,3.9214698025557454e-5,2.433083409288902e-8,-0.0010728472503692334,3.930384295442124e-5,2.4388737863373705e-8,-0.0010724347731497891,3.94645175457536e-5,2.44828950313044e-8,-0.0010721343835682733,3.9638151634969455e-5,2.458148402653822e-8,-0.001071942205574794,3.9757775235519326e-5,2.4648932372444277e-8,-0.001071824440490328,3.976485588304506e-5,2.4654800605721794e-8,-0.0010717234455627444,3.962693202706781e-5,2.4582909766611626e-8,-0.0010715727554048086,3.935008138551149e-5,2.4437676459267312e-8,-0.0010713175244551965,3.8979848282591754e-5,2.4244352737564492e-8,-0.0010709326265880106,3.858785169979547e-5,2.4041693976913273e-8,-0.0010704300073954966,3.8248525783302696e-5,2.386941805332488e-8,-0.0010698520086136918,3.801636200014798e-5,2.375603419291011e-8,-0.0010692550526086402,3.791333074165718e-5,2.371227592816189e-8,-0.0010686922574283954,3.792939556885814e-5,2.3731673323543086e-8,-0.0010682017404291997,3.80320722103819e-5,2.379598347049132e-8,-0.0010678024504110503,3.8178531959137147e-5,2.3881867002065674e-8,-0.001067495548138812,3.832556322890049e-5,2.3966240581430207e-8,-0.001067268273277274,3.843582509864842e-5,2.4029501058277472e-8,-0.0010670980487706369,3.848102746680633e-5,2.4057051807740725e-8,-0.0010669558863532884,3.844342728250387e-5,2.4039967070581163e-8,-0.001066809160826231,3.8316803241082525e-5,2.3975457859135465e-8,-0.0010666243579828204,3.810746586828673e-5,2.386741669396789e-8,-0.0010663705574710293,3.7835149903862285e-5,2.3726898442079206e-8,-0.0010660241691441985,3.753288897009294e-5,2.3571997852970833e-8,-0.0010655747063436035,3.724442359481839e-5,2.3426335194630528e-8,-0.0010650302250668731,3.701779702157739e-5,2.331547794071486e-8,-0.0010644199291991467,3.68949742785659e-5,2.3261297539301097e-8,-0.001063791223981958,3.6899545236002384e-5,2.327544760228617e-8,-0.0010632000453968727,3.7026820203446666e-5,2.335429289972638e-8,-0.0010626963599818942,3.7241111127013385e-5,2.3477789197827204e-8,-0.0010623095681190381,3.748268981872828e-5,2.3613519575245354e-8,-0.0010620391726174265,3.768289862153553e-5,2.3724946388273585e-8,-0.0010618540779868658,3.7782581455481364e-5,2.3781234371721873e-8,-0.0010617006609737272,3.7748061352030124e-5,2.3765573920194672e-8,-0.0010615170480434892,3.758012724746697e-5,2.367965267011593e-8,-0.0010612495768359004,3.731371428715724e-5,2.3543130785882002e-8,-0.0010608669746345562,3.700835235428079e-5,2.3388256328231037e-8,-0.001060368182069979,3.6731912216637085e-5,2.325105313533104e-8,-0.0010597813426304625,3.654245594481344e-5,2.316169727120985e-8,-0.0010591544075762823,3.647402066316346e-5,2.313718174627855e-8,-0.0010585410167500333,3.653074230958909e-5,2.317853751683003e-8,-0.001057986920975386,3.669012758790272e-5,2.327290785733631e-8,-0.0010575211579176061,3.691257472653399e-5,2.339881300069309e-8,-0.001057153350837812,3.715260399430297e-5,2.3532138314401993e-8,-0.0010568758374386459,3.736812754225494e-5,2.365093104713143e-8,-0.0010566681914793606,3.752620921432137e-5,2.3738273286109503e-8,-0.0010565020401735535,3.760563844652094e-5,2.378349597906288e-8,-0.0010563451015339039,3.759754719033252e-5,2.3782437194464704e-8,-0.0010561643423562313,3.750528822528541e-5,2.3737377447389552e-8,-0.001055928777775758,3.734426906295574e-5,2.365696343832137e-8,-0.0010556126783150875,3.714173971895337e-5,2.3556054900511646e-8,-0.0010551998123746519,3.693577609363618e-5,2.3455071168099988e-8,-0.0010546886977346502,3.677200754758798e-5,2.3378106802298378e-8,-0.001054097575413405,3.66964742503015e-5,2.33490503669857e-8,-0.001053466266416154,3.674410830929957e-5,2.338552532428398e-8,-0.0010528513171096396,3.6925144473778674e-5,2.3491902560416617e-8,-0.0010523125721679219,3.721530665965493e-5,2.365441113669717e-8,-0.0010518941136466624,3.7556866487537555e-5,2.384196911473466e-8,-0.001051607652331739,3.787365765176419e-5,2.4014260649323585e-8,-0.0010514271013640408,3.809514403546298e-5,2.4134458275138142e-8,-0.001051297410707953,3.8178799703989044e-5,2.4180962088243847e-8,-0.001051153003686843,3.812136015142763e-5,2.415318391268279e-8,-0.00105093733776516,3.795628189484318e-5,2.4069945427589834e-8,-0.001050616809646753,3.7741095264425834e-5,2.396246019827039e-8,-0.0010501863481547247,3.754067586859115e-5,2.3865199592522806e-8,-0.0010496673073456411,3.7411575394765774e-5,2.380750812194908e-8,-0.0010490998191358019,3.739064048823195e-5,2.380774834712807e-8,-0.0010485322021737509,3.748944550858809e-5,2.38707245777141e-8,-0.0010480100257824426,3.769477583367159e-5,2.398835336975793e-8,-0.0010475672083879396,3.797425178348991e-5,2.4142928600404912e-8,-0.0010472208647171518,3.8285082197056416e-5,2.4311824887822292e-8,-0.0010469704046910332,3.858335909600687e-5,2.4472287017073512e-8,-0.0010468001087383734,3.883168894481607e-5,2.4605240478689e-8,-0.0010466836675630368,3.900401645641016e-5,2.469763622155349e-8,-0.0010465891449321784,3.9087623690885925e-5,2.4743396088065535e-8,-0.00104648333056439,3.908308679776768e-5,2.4743374271449885e-8,-0.0010463351903678341,3.900321589613522e-5,2.4704818833201865e-8,-0.0010461187174899236,3.887169112109677e-5,2.4640634398441143e-8,-0.0010458157657489216,3.872153411276594e-5,2.456847676636226e-8,-0.0010454194198092652,3.8592904649491364e-5,2.4509434847279802e-8,-0.0010449379598351336,3.85290470767447e-5,2.4485769249212857e-8,-0.0010443983417922637,3.8568960460999586e-5,2.4517067123617403e-8,-0.0010438466104127784,3.8736263817727636e-5,2.4614598497805885e-8,-0.0010433416549984493,3.902636136480175e-5,2.477493404220497e-8,-0.0010429399987465788,3.9398027050649106e-5,2.4975871277955936e-8,-0.0010426746362297934,3.9777843434769186e-5,2.5178904654138547e-8,-0.0010425380922074639,4.0081503788804406e-5,2.5340291710930592e-8,-0.0010424814444555638,4.0244644241275436e-5,2.5427023133151833e-8,-0.0010424322947735387,4.024690202392131e-5,2.5429321392407133e-8,-0.0010423219582340482,4.01162830340403e-5,2.5362869290134385e-8,-0.0010421073140257824,3.9914219183457514e-5,2.526080398688154e-8,-0.0010417790504298643,3.9712303792083824e-5,2.5161204349048078e-8,-0.001041357514815806,3.957206053756882e-5,2.509620077309175e-8,-0.0010408820867983744,3.953305791576254e-5,2.5085701841939114e-8,-0.0010403994183290342,3.960922925354849e-5,2.5135719972456448e-8,-0.001039953473752625,3.979097235888994e-5,2.5239903766051643e-8,-0.0010395783534878653,4.005056096735985e-5,2.538278306056733e-8,-0.0010392939602767437,4.034918264408066e-5,2.5543680164653243e-8,-0.001039104389012981,4.0644480901831106e-5,2.5700644896490313e-8,-0.0010389988421567525,4.089757785496551e-5,2.5833941072896978e-8,-0.0010389545970551956,4.107865514075927e-5,2.5928726316951552e-8,-0.0010389412824983889,4.11705030871186e-5,2.5976731161695342e-8,-0.001038925600905446,4.116986580467381e-5,2.5976894786312716e-8,-0.0010388757116827172,4.108687415422475e-5,2.5935077860987764e-8,-0.0010387648487817887,4.094320887370908e-5,2.586310945168862e-8,-0.0010385741873378635,4.0769583233729096e-5,2.5777407288912374e-8,-0.0010382952268426782,4.0602784133407614e-5,2.569728649515853e-8,-0.0010379320091739295,4.04820837611387e-5,2.564292327050562e-8,-0.0010375031926033312,4.0444330838904017e-5,2.56327270085341e-8,-0.0010370431136598767,4.0516825192555824e-5,2.5679750881275533e-8,-0.0010365998252919112,4.07078727032145e-5,2.5787103029239512e-8,-0.0010362274507746704,4.0997023108730364e-5,2.59432896351184e-8,-0.0010359711779905647,4.133023718538513e-5,2.6120005918730713e-8,-0.0010358476721283505,4.1627586877103866e-5,2.6276137158887212e-8,-0.0010358308191826967,4.180745449119192e-5,2.6370052259346927e-8,-0.0010358552027499252,4.18193769451226e-5,2.6376375102413223e-8,-0.0010358403135057738,4.166678727036104e-5,2.6297719124715485e-8,-0.0010357228189093813,4.140456572009227e-5,2.6163449539399887e-8,-0.0010354780401623975,4.111391003936417e-5,2.6016503918615263e-8,-0.0010351214402610947,4.0871490524131414e-5,2.5897043112633257e-8,-0.0010346952781462417,4.0728626709958974e-5,2.5831362930703574e-8,-0.0010342513894169626,4.070496768499591e-5,2.582864079884688e-8,-0.0010338376130666347,4.0792468598692156e-5,2.588333975697396e-8,-0.001033489928572441,4.09637112677769e-5,2.5979990127741127e-8,-0.0010332292836012598,4.118057987218832e-5,2.6098059615421084e-8,-0.0010330613284611158,4.140165888760393e-5,2.6215931638488723e-8,-0.0010329777530100068,4.158819846524718e-5,2.631390656871405e-8,-0.0010329586810779521,4.170886241656704e-5,2.6376437158564403e-8,-0.001032975936317296,4.1743274993385874e-5,2.6393736765147437e-8,-0.0010329969885598913,4.168421213030391e-5,2.636277559384442e-8,-0.0010329892783965391,4.153821954893292e-5,2.62875676595281e-8,-0.0010329244588995863,4.132454750884092e-5,2.6178635261370543e-8,-0.001032782060381272,4.10726094101633e-5,2.6051674387741775e-8,-0.0010325522769319654,4.0818357819433007e-5,2.5925576579428118e-8,-0.0010322377709549141,4.0599882712942876e-5,2.5819988038191913e-8,-0.0010318544785740738,4.045240035953763e-5,2.575258468299546e-8,-0.001031431325710975,4.0402610592020545e-5,2.5736166079833738e-8,-0.0010310082903914864,4.04622844238969e-5,2.577556155474702e-8,-0.0010306315696239265,4.062155526853457e-5,2.586455506912295e-8,-0.0010303445107737654,4.084394736602622e-5,2.5983723580936618e-8,-0.00103017415051348,4.106712011714914e-5,2.6101034286724267e-8,-0.00103011645990442,4.121429379152592e-5,2.617762452180817e-8,-0.0010301283373702107,4.1218183604357294e-5,2.617978519094077e-8,-0.0010301360479824519,4.1049891214193474e-5,2.6093535091742128e-8,-0.0010300617418679534,4.073592787552085e-5,2.5933314593629573e-8,-0.0010298552834028627,4.0349707833675383e-5,2.5737635695545288e-8,-0.0010295123624857808,3.9981058901976845e-5,2.555325702866578e-8,-0.0010290699371210256,3.970266737753418e-5,2.541762182017323e-8,-0.0010285862799355606,3.95510226577242e-5,2.5348871652570656e-8,-0.001028119665030133,3.952567217658717e-5,2.5345604153804084e-8,-0.0010277146398166707,3.9599592103778894e-5,2.5392608827923747e-8,-0.0010273969445857086,3.9732019239784237e-5,2.54679029136312e-8,-0.0010271741439923543,3.987889635605635e-5,2.554837330653049e-8,-0.0010270387420002831,3.999979218338487e-5,2.5613362144150908e-8,-0.0010269717730998133,4.006209216467498e-5,2.564665439659544e-8,-0.0010269462335600545,4.004361181148552e-5,2.563758062373979e-8,-0.001026930475247916,3.993429582593155e-5,2.5581696150718296e-8,-0.0010268917955752411,3.9737131056284514e-5,2.54811632465487e-8,-0.0010268003254188763,3.946803547779058e-5,2.5344696049297998e-8,-0.001026633045285693,3.9154302349015926e-5,2.51867793373167e-8,-0.001026377413673644,3.883136780108241e-5,2.502596843310329e-8,-0.0010260339595217747,3.8538067531633994e-5,2.4882331374804033e-8,-0.00102561729797183,3.8310807330376756e-5,2.477430480252826e-8,-0.0010251551932449294,3.8177261675103885e-5,2.471538175976041e-8,-0.001024685487708184,3.8150384280356484e-5,2.4711128828705612e-8,-0.0010242508292970316,3.822352571453758e-5,2.475696413222644e-8,-0.0010238910923221203,3.836763523516221e-5,2.4837113045173785e-8,-0.0010236336767047106,3.853222377882937e-5,2.492543131105467e-8,-0.0010234830537858264,3.865239008611646e-5,2.49891058187856e-8,-0.0010234129983969168,3.8663590948988006e-5,2.4996031285257513e-8,-0.0010233670245726736,3.852273512816904e-5,2.492524814844594e-8,-0.001023271959887443,3.822833359285693e-5,2.4776942964655382e-8,-0.0010230632432314934,3.782769524653137e-5,2.4575998844550145e-8,-0.0010227107525744934,3.740279961889332e-5,2.436473371991324e-8,-0.0010222302402959167,3.703969137491942e-5,2.418716232193019e-8,-0.0010216740030515826,3.6798124988745376e-5,2.4073362152007457e-8,-0.001021108290579188,3.669683896443461e-5,2.4031974626159863e-8,-0.0010205912572348655,3.6717350983459955e-5,2.4052398420585333e-8,-0.0010201604372997207,3.681830406381751e-5,2.411249122180296e-8,-0.0010198303307530497,3.6950727918991715e-5,2.418666800590093e-8,-0.0010195960756659162,3.706898533184759e-5,2.4251597017513103e-8,-0.001019439056359185,3.713670445797552e-5,2.4289132019925126e-8,-0.001019332059571601,3.7129221763336125e-5,2.428734485125245e-8,-0.0010192433493335681,3.70343141516297e-5,2.4240686043212892e-8,-0.0010191400194511332,3.685229866278754e-5,2.4149908608415946e-8,-0.0010189911883879065,3.659580376531763e-5,2.402192783224623e-8,-0.0010187714343872375,3.628895436908966e-5,2.3869435845986977e-8,-0.0010184645132939021,3.596533710163379e-5,2.3709873676371996e-8,-0.001018066855839815,3.566412672527142e-5,2.3563393719128077e-8,-0.0010175898667280023,3.542425031334137e-5,2.3449761052332165e-8,-0.0010170599390659412,3.5277162817117435e-5,2.3384558945173422e-8,-0.001016515394012989,3.523949770501541e-5,2.3375440811865953e-8,-0.0010160002224420199,3.530738001007149e-5,2.3419397704779323e-8,-0.0010155553831384591,3.545419198619564e-5,2.3501928264935122e-8,-0.001015209142874551,3.563302488615149e-5,2.3598624983890202e-8,-0.0010149684067089226,3.5784346527384886e-5,2.3679292211144022e-8,-0.0010148133891465872,3.584860072421633e-5,2.3714344288769612e-8,-0.0010146982630651578,3.5782055660811007E-05,2.3682629377636572e-8,-0.0010145599654888093,3.557207326886522e-5,2.3578848270284908e-8,-0.0010143351722388912,3.5245823371830506e-5,2.3417678410022003e-8,-0.0010139811800521554,3.486632047924191e-5,2.3231576085062046e-8,-0.001013492050599654,3.4513974439642034e-5,2.3061330561170134e-8,-0.0010129013184621315,3.4259974954934804e-5,2.2942555475658693e-8,-0.0010122691652813616,3.4143842428325755e-5,2.289440024171102e-8,-0.001011660964001645,3.416527319904436e-5,2.291564249859294e-8,-0.0010111280235503381,3.429134318278579e-5,2.2988645742694414e-8,-0.0010106976785511353,3.447205752042876e-5,2.3087503664077148e-8,-0.0010103730798261847,3.465571175252602e-5,2.3185940039964153e-8,-0.0010101387428839818,3.479919616418346e-5,2.3262469964226124e-8,-0.0010099675794849883,3.487271276682596e-5,2.3302608900919384e-8,-0.0010098269209837737,3.4860699206272e-5,2.3299134968487392e-8,-0.0010096829020666328,3.476102080226269e-5,2.3251535621906485e-8,-0.0010095036482449427,3.4583741581220033e-5,2.316533851284319e-8,-0.00100926202814437,3.434990375649573e-5,2.3051517011118484e-8,-0.0010089385902406682,3.409004467856952e-5,2.2925769286763956e-8,-0.0010085248696185096,3.384168830235557e-5,2.2807227493595864e-8,-0.0010080265806791115,3.3644931550302674e-5,2.2716140262856692e-8,-0.0010074654828322916,3.353571640167953e-5,2.26703687608163e-8,-0.0010068782778092742,3.353743271134205e-5,2.268110345686206e-8,-0.0010063112194841138,3.36528689313314e-5,2.274888894220196e-8,-0.0010058104572475534,3.3859569732431347e-5,2.286150383963712e-8,-0.0010054101212326877,3.411145176628525e-5,2.2995062591133473e-8,-0.0010051217418514823,3.434769733360527e-5,2.3118734876600543e-8,-0.0010049287823506632,3.450726125747007e-5,2.3202145373587556e-8,-0.0010047886815621875,3.454511779650876e-5,2.3223469127649264e-8,-0.001004642523791172,3.444551550645358e-5,2.317587375654054e-8,-0.0010044301777682276,3.4228082912857005e-5,2.307029016040388e-8,-0.0010041070053985303,3.394428660482434e-5,2.293333606477324e-8,-0.0010036572007801948,3.366424530591849e-5,2.280046957873214e-8,-0.0010030989670374397,3.3457142010512746e-5,2.2706067870780697e-8,-0.001002478977520436,3.3371580578821594e-5,2.2673661179006083e-8,-0.0010018578283530568,3.342312200493025e-5,2.2709939398912565e-8,-0.0010012922882052613,3.359334378293894e-5,2.2804621910948108e-8,-0.0010008212275209021,3.3839363188058443e-5,2.2935524319804295e-8,-0.0010004594328713067,3.410840614322706e-5,2.3076001992787873e-8,-0.0010001992187818722,3.4351274842747164e-5,2.320166356575127e-8,-0.0010000167281470184,3.453101661995363e-5,2.3294552412610813e-8,-9.998793317252265e-4,3.462633409658824e-5,2.3344654270450874e-8,-9.997518470452732e-4,3.4631318428131296e-5,2.3349607127017085e-8,-9.996009199043014e-4,3.455348552109253e-5,2.3313647478180466e-8,-9.9939795849614e-4,3.44114906802232e-5,2.3246470434010358e-8,-9.99121407187035e-4,3.4233040893128126e-5,2.3162210737379513e-8,-9.987590833800812e-4,3.405276743515656e-5,2.3078368950141786e-8,-9.983108679056524e-4,3.390926822320403e-5,2.3014265042933495e-8,-9.97791306534957e-4,3.384032770146051e-5,2.2988554306834156e-8,-9.972307991430098e-4,3.3875718713881964e-5,2.3015580148524872e-8,-9.966733564831009e-4,3.4028221102158114e-5,2.310094837163757e-8,-9.961691020362934e-4,3.428546408696686e-5,2.3237638825588425e-8,-9.957615865134595e-4,3.46069401339788e-5,2.3404762682669036e-8,-9.954733186501152e-4,3.493021100327155e-5,2.357086532821176e-8,-9.952956330342465e-4,3.5186762200118035e-5,2.370192787102682e-8,-9.95188477807128e-4,3.532262383638006e-5,2.377162507367407e-8,-9.950913872963697e-4,3.5315508210565336e-5,2.376975873492727e-8,-9.94941500795456e-4,3.518154860532421e-5,2.3705430116577784e-8,-9.946916452042978e-4,3.496972133573339e-5,2.3603993034892922e-8,-9.943224955306555e-4,3.4747072949003844e-5,2.3499389344168517e-8,-9.938459958236127e-4,3.458033160070616e-5,2.3424766870853507e-8,-9.933002965673123e-4,3.451936283405707e-5,2.3404222600228282e-8,-9.92738532106868e-4,3.4586492210376424e-5,2.34477123751599e-8,-9.922149570488884e-4,3.47737697346077e-5,2.35500702634693e-8,-9.917723365169562e-4,3.504802300243e-5,2.369389615669735e-8,-9.91433801696836e-4,3.536137626092322e-5,2.385500900287136e-8,-9.912006576782077e-4,3.566352992413874e-5,2.4008564476421496e-8,-9.910555099664157e-4,3.591217265700787e-5,2.4134077453991628e-8,-9.909685467225334e-4,3.607935109184319e-5,2.4218367354514807e-8,-9.90904493799253e-4,3.615353059249766e-5,2.4256393376223053e-8,-9.90828480212809e-4,3.613845925610944e-5,2.4250587005171246e-8,-9.90710154736621e-4,3.605041340979941e-5,2.420946428455628e-8,-9.905262925749175e-4,3.5915102415850375e-5,2.4146106990416895e-8,-9.902625674466235e-4,3.576480559520487e-5,2.407673810359449e-8,-9.899151595612757e-4,3.563558997580312e-5,2.4019285840091026e-8,-9.894925239248037e-4,3.556393259086711e-5,2.399161892926978e-8,-9.890169789091286e-4,3.558183032668142e-5,2.400906596769323e-8,-9.885248529442735e-4,3.570977187754583e-5,2.4080982598891237e-8,-9.880631022206629e-4,3.594816942793109e-5,2.4206693186517794e-8,-9.876803749587692e-4,3.6270078383065484e-5,2.4372152484305683e-8,-9.874125517596248e-4,3.662032117452578e-5,2.4549731590826265e-8,-9.872671120179847e-4,3.6926008414473374e-5,2.470348797116585e-8,-9.872146960178598e-4,3.7118461255131244e-5,2.4799926090503432e-8,-9.871951531337715e-4,3.715829143129886e-5,2.482028574407889e-8,-9.871375620403313e-4,3.705077677427379e-5,2.476806781996489e-8,-9.869847448893906e-4,3.684329236067619e-5,2.466765451933042e-8,-9.867105450566658e-4,3.660725536650436e-5,2.4555140657066402e-8,-9.86323904247596e-4,3.641469724773145e-5,2.4466432455541804e-8,-9.858615016007492e-4,3.631928880259697e-5,2.442766534764061e-8,-9.85374633250025e-4,3.634645237112784e-5,2.4450388419430107e-8,-9.849156337300748e-4,3.649235218034662e-5,2.453139904021426e-8,-9.845270231932197e-4,3.672923823051199e-5,2.465582036281864e-8,-9.842346708626541e-4,3.7014300862134964e-5,2.4801822245291615e-8,-9.840451716688692e-4,3.729969081586018e-5,2.4945700886248175e-8,-9.839470708571595e-4,3.754181375466232e-5,2.5066377411016933e-8,-9.839150653915634e-4,3.770836043790428e-5,2.514864253568232e-8,-9.83915845150665e-4,3.778218739727299e-5,2.5184832131647895e-8,-9.839141440703577e-4,3.776204586365129e-5,2.5175023720621267e-8,-9.838778946578378e-4,3.7660825559131726e-5,2.5126110722890017e-8,-9.837819111355383e-4,3.750231363693385e-5,2.5050212268447694e-8,-9.83610120160167e-4,3.731747931219535e-5,2.4962853060990782e-8,-9.833567922937184e-4,3.714089212336408e-5,2.4881163070795294e-8,-9.830272886633775e-4,3.700727412351498e-5,2.4822096717103307e-8,-9.826385911278707e-4,3.69477424015823e-5,2.4800505830703303e-8,-9.82219396284537e-4,3.698509836147771e-5,2.4826830050034716e-8,-9.818087670899545e-4,3.712771767756578e-5,2.4904243886600084e-8,-9.814515702841564e-4,3.7362648046258683e-5,2.5025539421476875e-8,-9.811889802018954e-4,3.7650571338024e-5,2.5170939795615703e-8,-9.810442154511204e-4,3.792755371116602e-5,2.5309102919604293e-8,-9.810080333830023e-4,3.811864493199592e-5,2.5403711739960307e-8,-9.81033207624282e-4,3.8163102204115404e-5,2.5425633123846726e-8,-9.810462359989666e-4,3.804100654306584e-5,2.5365828059548833e-8,-9.809743731534347e-4,3.778505688611488e-5,2.524112956896296e-8,-9.807739041156364e-4,3.746843502401319e-5,2.508825210734586e-8,-9.804438663459916e-4,3.717577379911337e-5,2.4949313572355698e-8,-9.800204118408863e-4,3.697428727925494e-5,2.485733884169189e-8,-9.795593431768212e-4,3.6897909348930136e-5,2.4828320900585492e-8,-9.791176972697106e-4,3.694613487266822e-5,2.4860822858248447e-8,-9.78740821256568e-4,3.709208601691692e-5,2.4940346749398108e-8,-9.784561041063255e-4,3.7293678129001164e-5,2.5045249521682385e-8,-9.782718489133458e-4,3.7504071244625615e-5,2.5152145120602866e-8,-9.781792758595254e-4,3.7679941882763186e-5,2.5239992535436655e-8,-9.781562333794412e-4,3.778745647138105e-5,2.5292850462091087e-8,-9.781718882523143e-4,3.780606999115621e-5,2.530147602469855e-8,-9.781918620216884e-4,3.773013883351006e-5,2.5263886480747403e-8,-9.781832167389938e-4,3.7568458080856365e-5,2.518501010675023e-8,-9.78118742072559e-4,3.7342042791065954e-5,2.507558218052921e-8,-9.779801236071979e-4,3.708061130398327e-5,2.4950452157285786e-8,-9.777597868775496e-4,3.681839353569755e-5,2.4826535622686178e-8,-9.774615375963498e-4,3.6589861622145944e-5,2.47206704952449e-8,-9.771002958644923e-4,3.642562803302159e-5,2.464752335844287e-8,-9.767011177636903e-4,3.6348412775412787e-5,2.461757103592887e-8,-9.762974059618317e-4,3.636884684333104e-5,2.463512177599872e-8,-9.759277035517238e-4,3.648101405343806e-5,2.4696356361916733e-8,-9.75629951246629e-4,3.665840901177218e-5,2.4787660934629145e-8,-9.754322748465593e-4,3.685252659570957e-5,2.4885193908702775e-8,-9.75340987613693e-4,3.699788916582287e-5,2.495739454375517e-8,-9.753299684090048e-4,3.702722840929396e-5,2.4972198717358794e-8,-9.753395265608093e-4,3.689599167738356e-5,2.490869287630752e-8,-9.752920720559031e-4,3.6606102877796636e-5,2.4768523544825133e-8,-9.751219280535475e-4,3.62127126348543e-5,2.457919604533296e-8,-9.748035378869218e-4,3.580501071706199e-5,2.4384716721739845e-8,-9.743604317943561e-4,3.5470563709328834E-05,2.4228018734390125e-8,-9.738510761405169e-4,3.526450154078282e-5,2.4135686744524703e-8,-9.733435765106256e-4,3.519840608946445e-5,2.411249078547065e-8,-9.728943634004211e-4,3.5247780682422384e-5,2.4145284649450995e-8,-9.725377477092212e-4,3.536768335651393e-5,2.4211049479849402e-8,-9.722848444423038e-4,3.550754893515966e-5,2.428448154165182e-8,-9.72127563371285e-4,3.562150854076412e-5,2.4343174928178926e-8,-9.720441769973178e-4,3.567417242302132e-5,2.437035998268252e-8,-9.720046367152485e-4,3.56432887461309e-5,2.4355963585866076e-8,-9.719752390974952e-4,3.552063301357858e-5,2.4296779131561367e-8,-9.719228596586245e-4,3.531171554305102e-5,2.4196141313711178e-8,-9.718188423673552e-4,3.503437202507118e-5,2.406317927089353e-8,-9.716423998941957e-4,3.471621408885309e-5,2.3911605715671775e-8,-9.713832408989576e-4,3.439096166140005e-5,2.3757978780585042e-8,-9.710430366130846e-4,3.409389102193965e-5,2.361948593481193e-8,-9.70635446133547e-4,3.3856923351839665e-5,2.3511491505683215e-8,-9.701846919981149e-4,3.370390574741038e-5,2.3445165212560717e-8,-9.697228228770885e-4,3.364647614797688e-5,2.342546325722505e-8,-9.692857745624962e-4,3.368081166293388e-5,2.3449670440655165e-8,-9.689081926968012e-4,3.378557365972413e-5,2.3506650641077334e-8,-9.686168099705691e-4,3.392170644199995e-5,2.357703705485365e-8,-9.684224658620934e-4,3.4035563171401795e-5,2.3634937383161203e-8,-9.68312113340623e-4,3.406746818840269e-5,2.3652061632635778e-8,-9.682443258694862e-4,3.396706662113197e-5,2.3604922859051918e-8,-9.681538286062369e-4,3.371329935534211e-5,2.348419799835916e-8,-9.679692761326831e-4,3.333058404686902e-5,2.330235800983941e-8,-9.676407409410866e-4,3.2888734991917684e-5,2.3093584924486144e-8,-9.671629996624705e-4,3.2480309923178234e-5,2.2902797651000153e-8,-9.665791080763037e-4,3.2184835146996645e-5,2.276825671546724e-8,-9.659613244934983e-4,3.204046428493923e-5,2.270778086296016e-8,-9.653822640887052e-4,3.203767611505963e-5,2.2715798323767404e-8,-9.648929276683705e-4,3.213287335072607e-5,2.2770213229558723e-8,-9.645149837962753e-4,3.226903530996189e-5,2.2842729866168465e-8,-9.642442355567376e-4,3.239247708087407e-5,2.2907171397624284e-8,-9.640587530216115e-4,3.24620993246358e-5,2.2943963859402317e-8,-9.639270001539048e-4,3.245248074250296e-5,2.2941464499432092e-8,-9.638140578411377e-4,3.235353569481727e-5,2.2895550510650823e-8,-9.6368595444148e-4,3.2168912493880215e-5,2.28086319018673e-8,-9.635128997527551e-4,3.191410788621952e-5,2.2688634455621677e-8,-9.632720633656184e-4,3.161432337084309e-5,2.2547969983926774e-8,-9.629500908473864e-4,3.1301728190777524e-5,2.2402276055104036e-8,-9.625451789726969e-4,3.101176374193039e-5,2.226867575507521e-8,-9.620681774777247e-4,3.077836455776551e-5,2.216345368450055e-8,-9.615420329416084e-4,3.0628500411465295e-5,2.209935540113096e-8,-9.609991467969121e-4,3.057690888665009e-5,2.2082994490797295e-8,-9.604766797714861e-4,3.062205911343596e-5,2.2112942498469528e-8,-9.600102747775835e-4,3.074434601472043e-5,2.2179018433807102e-8,-9.596270214263777e-4,3.090724439259373e-5,2.2263089974248304e-8,-9.593386562986945e-4,3.1061771792007744e-5,2.2341454918293274e-8,-9.591361349101454e-4,3.1154428547892235e-5,2.2388764734143828e-8,-9.589871735461636e-4,3.113854434292479e-5,2.2383389507898628e-8,-9.588390052667267e-4,3.0987899671081076e-5,2.23137088373979e-8,-9.586285812047179e-4,3.0709291166627064e-5,2.2183841699676357e-8,-9.583004549904042e-4,3.034807980718291e-5,2.20160808943815e-8,-9.578277490469907e-4,2.9980170319710332e-5,2.1846942684937246e-8,-9.572262091683876e-4,2.968886340238766e-5,2.1716059377740093e-8,-9.565515092747311e-4,2.953507814969651e-5,2.1651963566920276e-8,-9.558790138711099e-4,2.9536365304518656e-5,2.166217296734255e-8,-9.552767930981623e-4,2.9665583334704913e-5,2.173278583758932e-8,-9.547860467171304e-4,2.9867061406297094e-5,2.1836474927304304e-8,-9.544158266696612e-4,3.0078540975903094e-5,2.1943173400982044e-8,-9.541492278461368e-4,3.024805141205629e-5,2.20281932369835e-8,-9.539540335951516e-4,3.034185193150517e-5,2.2075920768301698e-8,-9.537924048895253e-4,3.0345247140230987e-5,2.208000983233228e-8,-9.536275311546465e-4,3.025982229495277e-5,2.204185499562896e-8,-9.534275077413425e-4,3.0099841725022342e-5,2.1968736705240954e-8,-9.531675967845711e-4,2.9889041402266785e-5,2.187225621318765e-8,-9.528318988517542e-4,2.9657867759765324e-5,2.1767059789256722e-8,-9.524149404686213e-4,2.9440645440285744e-5,2.1669541941369942e-8,-9.519231274636026e-4,2.9272003957849185e-5,2.1596154336982085e-8,-9.513754532627277e-4,2.9182105324352853e-5,2.156109047838405e-8,-9.508024505321581e-4,2.9190878090889825e-5,2.1573483188737836e-8,-9.502424663511357e-4,2.9302351813132366e-5,2.1634700321363326e-8,-9.49735030418587e-4,2.9500882232911995e-5,2.1736638845838566e-8,-9.493122042363756e-4,2.975120128025421e-5,2.1861931766478845e-8,-9.489899450602254e-4,3.0003488125871785e-5,2.19865714491652e-8,-9.487620601966599e-4,3.020311750055373e-5,2.2084695992892515e-8,-9.485988957950232e-4,3.030316317880326e-5,2.2134553407674564e-8,-9.484518091654521e-4,3.0276810472256283e-5,2.2124270364054122e-8,-9.482632222856166e-4,3.0126538386465414e-5,2.205597301242971e-8,-9.479807554179524e-4,2.9887047408005317e-5,2.194689841841948e-8,-9.475724436270446e-4,2.961960692398054e-5,2.1826477535904775e-8,-9.470384606933393e-4,2.9397309036501518e-5,2.1729216202936675e-8,-9.464140919087501e-4,2.9284117233135745e-5,2.168479093152599e-8,-9.457607135250013e-4,2.931474722874649e-5,2.1708699518209903e-8,-9.451468703045619e-4,2.948415363474355e-5,2.179756824154432e-8,-9.446272642077682e-4,2.975166154093429e-5,2.19313942223417e-8,-9.442287741878977e-4,3.005706659105484e-5,2.2081348790756766e-8,-9.439480612138644e-4,3.0340177706433605e-5,2.2219059244211306e-8,-9.437587330039747e-4,3.05555047742844e-5,2.232346391891961e-8,-9.436224123828684e-4,3.0678595514250895e-5,2.2383640253534496e-8,-9.434987028230832e-4,3.0705355294702186e-5,2.2398300631400305e-8,-9.433518093842979e-4,3.0647746413302585e-5,2.2373619930447855e-8,-9.431539596951896e-4,3.052879162175852e-5,2.2320812424416252e-8,-9.42886827941632e-4,3.0378337056025078e-5,2.2254139731918605e-8,-9.425421763466582e-4,3.0229750427711546e-5,2.2189391361884014e-8,-9.421224563862095e-4,3.011700715597695e-5,2.2142531937943215e-8,-9.416414774327706e-4,3.0071346469157127e-5,2.212810620989906e-8,-9.411245660268458e-4,3.0116816661240038e-5,2.215710354642401e-8,-9.406070615964384e-4,3.026467552618603e-5,2.2234316233793085e-8,-9.40129838692488e-4,3.050774422637882e-5,2.2355753528190237e-8,-9.397312194328286e-4,3.0817081031483444e-5,2.2507225708871276e-8,-9.394363651629871e-4,3.1143952690525606e-5,2.266544635054926e-8,-9.39247469629382e-4,3.14289902634384e-5,2.2802467253505157e-8,-9.391392811567771e-4,3.161734154321736e-5,2.28928419535772e-8,-9.390631834203985e-4,3.1675072753920046e-5,2.292128485717643e-8,-9.389595011470184e-4,3.160054917881444e-5,2.2887892684632222e-8,-9.38774017044829e-4,3.142629938669554e-5,2.2808821851867562E-08,-9.384731170441491e-4,3.121073248180759e-5,2.2712144428496986e-8,-9.380529653295315e-4,3.102263562512172e-5,2.2630329259409035e-8,-9.37540421932073e-4,3.0923179639618185e-5,2.2591680785415607e-8,-9.369857583175107e-4,3.095034383443137e-5,2.261312414301245e-8,-9.364492385837592e-4,3.1109898640259824e-5,2.269626110812058e-8,-9.359853619300495e-4,3.137546064701527e-5,2.2827755619925506e-8,-9.356295240548179e-4,3.16974681512932e-5,2.2983821119346855e-8,-9.353911527823038e-4,3.2017802198202046e-5,2.313717510433112e-8,-9.35254811672147e-4,3.228479107023496e-5,2.326399499414142e-8,-9.351875597689146e-4,3.2463820357644084e-5,2.3348709349042408e-8,-9.351488611202442e-4,3.2541398176328435e-5,2.338570291153537e-8,-9.350994833205346e-4,3.25234996917194e-5,2.3378386345866902e-8,-9.350074661012362e-4,3.2430678404906835e-5,2.333682380228043e-8,-9.348510276335349e-4,3.229243028857118e-5,2.3275080016553152e-8,-9.346193314669444e-4,3.214231620297721e-5,2.3208959235950077e-8,-9.34312262797197e-4,3.2014221186669155e-5,2.3154273367792384e-8,-9.339400414025882e-4,3.193933185076618e-5,2.3125418905859264e-8,-9.33522913696338e-4,3.194305448645945e-5,2.3133910756853474e-8,-9.330904862493931e-4,3.204115275895757e-5,2.3186578394138074e-8,-9.326796244283101e-4,3.223492294630654e-5,2.3283386135426127e-8,-9.323295184334296e-4,3.250635238251842e-5,2.3415326287966734e-8,-9.320730236673442e-4,3.281574833663746e-5,2.356349553000111e-8,-9.319252711366798e-4,3.310543782936856e-5,2.3700943505328696e-8,-9.318736216132645e-4,3.331219177128394e-5,2.3798471243414568e-8,-9.318752640651988e-4,3.338676318697942e-5,2.3833655432768257e-8,-9.31866963948998e-4,3.331301147491189e-5,2.3799668733206908e-8,-9.317849968972861e-4,3.311655040946259e-5,2.3709231637614105e-8,-9.315865645433877e-4,3.2857438239323513e-5,2.3591073380549135e-8,-9.312628626536916e-4,3.2610345594110236e-5,2.3480457903216238e-8,-9.308393005661033e-4,3.24417200448329e-5,2.3408301483171562e-8,-9.303651936824847e-4,3.239281090859414e-5,2.339318150193606e-8,-9.298986864069065e-4,3.24725338782039e-5,2.343818307136948e-8,-9.29492219127464e-4,3.265959531263871e-5,2.3532245846076462e-8,-9.291818021359038e-4,3.2911055999915944e-5,2.3654527540462002e-8,-9.289814804693926e-4,3.317408157338681e-5,2.3780107907133812e-8,-9.28883102878134e-4,3.339795710135585e-5,2.3885603751994195e-8,-9.288606081706539e-4,3.3543937048918637e-5,2.3953598676844333e-8,-9.288772589118661e-4,3.3591181371482934e-5,2.3975172255395918e-8,-9.288937419745458e-4,3.353814016920971e-5,2.395033272948154e-8,-9.288751893623011e-4,3.340004673214571e-5,2.3886721538417358e-8,-9.287959268978146e-4,3.320403594462646e-5,2.3797303763589087e-8,-9.286417064222096e-4,3.298355112980294e-5,2.369778683496962e-8,-9.284099392258089e-4,3.277328729013441e-5,2.3604298515993387e-8,-9.281087947963245e-4,3.260518664063019e-5,2.3531530406527254e-8,-9.277558922978596e-4,3.25053020042501e-5,2.3491259018736307e-8,-9.27376881127838e-4,3.2490978444289704E-05,2.349102519309791e-8,-9.270036743482587e-4,3.2567791005183e-5,2.3532761106056747e-8,-9.266715169341242e-4,3.2726055504754945e-5,2.361130945511728e-8,-9.264137151151058e-4,3.293770276831043e-5,2.3713172494102367e-8,-9.262532777753961e-4,3.315574465668824e-5,2.3816439311101114e-8,-9.261924253535585e-4,3.331972423030237e-5,2.389335984974595e-8,-9.262040127993932e-4,3.336992217268715e-5,2.3916815814377182e-8,-9.262317722939682e-4,3.326872605091641e-5,2.3870037451283865e-8,-9.26204733848964e-4,3.3020183443077696e-5,2.3755545743126395e-8,-9.260627882338456e-4,3.267485106444268e-5,2.3597373291928313e-8,-9.257806549268176e-4,3.2313603001887904e-5,2.343349628055146e-8,-9.253766285983505e-4,3.201794497161325e-5,2.3301884783205278e-8,-9.249026226141552e-4,3.1842977355389055e-5,2.3227766419155888e-8,-9.244236141866019e-4,3.1804942562237756e-5,2.321783898637054e-8,-9.239978305283136e-4,3.188429203691447e-5,2.3261932645223352e-8,-9.236643245273065e-4,3.203781785436325e-5,2.3339012154274225e-8,-9.234386977616611e-4,3.221281488408803e-5,2.3424069805742805e-8,-9.233147289125141e-4,3.235906739356297e-5,2.3493825767808208e-8,-9.232692914346888e-4,3.243722377144107e-5,2.3530540271546322e-8,-9.232686902572398e-4,3.242362191865267e-5,2.3524031114582375e-8,-9.232753070314963e-4,3.231198064538372e-5,2.347219924760264e-8,-9.232537561991422e-4,3.211234823824068e-5,2.3380345332508162e-8,-9.231758558037119e-4,3.1847866001873865e-5,2.3259584838009844e-8,-9.230239270817444e-4,3.155012781518374e-5,2.3124710835478002e-8,-9.227922362546493e-4,3.1253999746506684e-5,2.299185234886264e-8,-9.224867387452752e-4,3.0992724464646724e-5,2.2876250708263638e-8,-9.221236055597706e-4,3.079385597163362e-5,2.27903811393233e-8,-9.217270560533948e-4,3.067609570471294e-5,2.2742468990955336e-8,-9.213267796337176e-4,3.064680318714811e-5,2.2735346156833847e-8,-9.20954912564315e-4,3.0699934328855683e-5,2.2765581416612138e-8,-9.206421478418023e-4,3.08143607477365e-5,2.2822873109824424e-8,-9.204122660196305e-4,3.095320827010874e-5,2.2889943688910157e-8,-9.202747886912586e-4,3.106597764009101e-5,2.2943650815208422e-8,-9.20216936947342e-4,3.1095988189358365e-5,2.2958395502173376e-8,-9.201985234595585e-4,3.099497926622176e-5,2.2912665548665453e-8,-9.201557642877907e-4,3.074296687634402e-5,2.2797948208220792e-8,-9.200186966514138e-4,3.0364621739963786e-5,2.2626137511840795e-8,-9.197385636888824e-4,2.9929213138156976e-5,2.242949417390068e-8,-9.193108394574188e-4,2.9527970187913423e-5,2.225019669376877e-8,-9.187785340875029e-4,2.9238845703639758e-5,2.2123997801802605e-8,-9.182134225021054e-4,2.9098989670442113e-5,2.2067447146301895e-8,-9.176879830111815e-4,2.9098589555165532e-5,2.2075132170368005e-8,-9.17253784391652e-4,2.9193712335522423e-5,2.212586268610836e-8,-9.169332050515159e-4,2.932621852597383e-5,2.2192168520093514e-8,-9.167219505579218e-4,2.944065181810668e-5,2.224829932694638e-8,-9.165966656263807e-4,2.949439756587482e-5,2.2274934020959177e-8,-9.165233093736817e-4,2.9461840863147958e-5,2.226094758259148e-8,-9.164642868928159e-4,2.9334685108527463e-5,2.220331133229603e-8,-9.163839913645998e-4,2.9120232422900573e-5,2.2106066579955823e-8,-9.162530317647461e-4,2.883851348103519e-5,2.1978863978225656e-8,-9.160513185398048e-4,2.8518597058158136e-5,2.1835244906513958e-8,-9.15769988624412e-4,2.8194298243653313e-5,2.1690730238489156e-8,-9.154120664548803e-4,2.7899535170271005e-5,2.1560765750180442e-8,-9.149917488095805e-4,2.7663738874698725e-5,2.1458654195702416e-8,-9.145323801553542e-4,2.7507851429598272e-5,2.1393709233720136e-8,-9.140634112563936e-4,2.744128142921948e-5,2.136983448703116e-8,-9.136166435043148e-4,2.745994641856036e-5,2.1384644526880326e-8,-9.13221944692427e-4,2.754549808736449e-5,2.1429208794373388e-8,-9.129024910120398e-4,2.7665888640565562e-5,2.148847949703196e-8,-9.126694819496386e-4,2.7777706431344518e-5,2.154253176218981e-8,-9.125166098566058e-4,2.7831321553144563e-5,2.156899691685832e-8,-9.124157000485842e-4,2.7780165658292776e-5,2.1547232079309533e-8,-9.123165267733067e-4,2.759442992476146e-5,2.1464373542698462e-8,-9.121548623777333e-4,2.7276427140508372e-5,2.1322119221499095e-8,-9.118711019526034e-4,2.6870144591949852e-5,2.114094313683426e-8,-9.114350063079968e-4,2.6455006129514234e-5,2.0957209029743784e-8,-9.108634742462995e-4,2.6120092101343845e-5,2.081139801841706e-8,-9.102178200814272e-4,2.5929424367736944e-5,2.0732255869559906e-8,-9.095797117160946e-4,2.5898353086471822e-5,2.0726067368364644e-8,-9.090202329768966e-4,2.5993933266429337e-5,2.077699539719869e-8,-9.085793014011967e-4,2.615479802733407e-5,2.0856387709915296e-8,-9.082619863653898e-4,2.6315579246745158e-5,2.09341239475786e-8,-9.080467696016204e-4,2.6424152758084614e-5,2.098656643738969e-8,-9.078974977973308e-4,2.6448875948786817e-5,2.0999792057647626e-8,-9.077736775849799e-4,2.6378608518081082e-5,2.0969414117202983e-8,-9.076374388060467e-4,2.621931034153885e-5,2.089880711320176e-8,-9.074576563940846e-4,2.598981028468818e-5,2.0797007293920687e-8,-9.072123555606045e-4,2.5717763310892864e-5,2.067680801973962e-8,-9.068901702931364e-4,2.543581375595846e-5,2.055305287961445e-8,-9.064910919600087e-4,2.51777245706118e-5,2.044096225969404e-8,-9.060264239903059e-4,2.497429600456872e-5,2.0354350101638346e-8,-9.055176396903595e-4,2.4849147035049042e-5,2.0303725663131417e-8,-9.049938331462582e-4,2.48148520431951e-5,2.0294513960783498e-8,-9.044877759473634e-4,2.487013629166907e-5,2.0325761996341625e-8,-9.040309431041147e-4,2.4998716181532725e-5,2.0389648367651206e-8,-9.036480496186143e-4,2.5170219741609872e-5,2.0472012539751645e-8,-9.033517513971097e-4,2.534346091236584e-5,2.0553994872596846e-8,-9.031382345469437e-4,2.5472113323665762e-5,2.0614734900078757e-8,-9.029845516590252e-4,2.5512741628428336e-5,2.0635033273204925e-8,-9.028490149929373e-4,2.5434954827073677e-5,2.0601836238167363e-8,-9.026764902106563e-4,2.5232408447057923e-5,2.0513003051675774e-8,-9.02410173775587e-4,2.4931333305205534e-5,2.03809375747986e-8,-9.020092509206674e-4,2.459113424824214e-5,2.0232703367730958e-8,-9.014671775780341e-4,2.4291763948560345e-5,2.0104263036672917e-8,-9.008206650653747e-4,2.4108119510329703e-5,2.0028949316011377e-8,-9.001407652157997e-4,2.40815816794724e-5,2.002473027343289e-8,-8.995076036470077e-4,2.4204454860463047e-5,2.0087372224985797e-8,-8.989819618378563e-4,2.442640209534498e-5,2.0193550978397385e-8,-8.985886426926948e-4,2.4677367529835956e-5,2.0311351442965695e-8,-8.983168875609791e-4,2.489249041554455e-5,2.0411570672683616e-8,-8.981321994515865e-4,2.5027742305275945e-5,2.0474734817052442e-8,-8.979905680705888e-4,2.506411353886881e-5,2.0492861273368607e-8,-8.978493659111419e-4,2.50042478933684e-5,2.0467761838839778e-8,-8.976735626310779e-4,2.486629512223054e-5,2.040810250953443e-8,-8.974383807300419e-4,2.46779904367794e-5,2.0326637181998767e-8,-8.971300793370073e-4,2.447195277178342e-5,2.0238087853917463e-8,-8.967460299014721e-4,2.4281946492655756e-5,2.0157529321890946e-8,-8.962944874862408e-4,2.41394984040332e-5,2.009894778188007e-8,-8.957939342688571e-4,2.4070383811391924e-5,2.0073707412014148e-8,-8.952715333108823e-4,2.4090842783267837e-5,2.0088849549234874e-8,-8.94760107898572e-4,2.420397021695154e-5,2.014545178891125e-8,-8.942933680114259e-4,2.4397265038716906e-5,2.0237535845060154e-8,-8.938997498069575e-4,2.4642474151023778e-5,2.0352064205131918e-8,-8.935958998883974e-4,2.4898610660257977E-05,2.047041270308535e-8,-8.933813137979958e-4,2.5118392150347438e-5,2.057138082449648e-8,-8.932357382837027e-4,2.525738915614616e-5,2.0635360425476936e-8,-8.931205738507962e-4,2.5284299096435977e-5,2.0648906749984923e-8,-8.929848689198422e-4,2.5190265415252555e-5,2.0608774843090036e-8,-8.927757350545704e-4,2.4994824362930195e-5,2.052437537467493e-8,-8.924519189134882e-4,2.4745797708676503e-5,2.0417514294488545e-8,-8.919975931406865e-4,2.4510848006438183e-5,2.031846414448125e-8,-8.914314961573257e-4,2.436039906856739e-5,2.0258291785338553e-8,-8.908058509117407e-4,2.4345690900774747e-5,2.0259156353576073e-8,-8.901923458736179e-4,2.4480408023514104e-5,2.032632704668696e-8,-8.896591855754514e-4,2.473538117757218e-5,2.0446077286436584e-8,-8.892494467896753e-4,2.505003874490458e-5,2.0590986107984132e-8,-8.889707658958967e-4,2.5354671159387962e-5,2.0729934824061592e-8,-8.887992171195747e-4,2.5592069573353648e-5,2.0837712880844427e-8,-8.886922966930062e-4,2.572983863637043e-5,2.0900398514110002e-8,-8.886031916452067e-4,2.576187327548421e-5,2.0915874009217856e-8,-8.884910916697882e-4,2.5702806387382103e-5,2.0891201501616617e-8,-8.883263469942507e-4,2.5580247122862124e-5,2.0839048300129043e-8,-8.880918126579759e-4,2.5427917810549098e-5,2.0774582188619598e-8,-8.877822930623571e-4,2.528066113611859e-5,2.071327182632323e-8,-8.874034503409459e-4,2.51709375729389e-5,2.0669390176493168e-8,-8.869707261418254e-4,2.5125989723721748e-5,2.0654810035291582e-8,-8.865081500699982e-4,2.5164954314173364e-5,2.067774642510077e-8,-8.86046435520712e-4,2.5295625909005256e-5,2.074132329135633e-8,-8.856195799846079e-4,2.5511276908268373e-5,2.0842176511925037e-8,-8.852594627043434e-4,2.578871501824554e-5,2.0969645761179816e-8,-8.849887434082308e-4,2.6089236359805585e-5,2.1106290594163275e-8,-8.848135668142814e-4,2.6363915683878577e-5,2.12303363316089e-8,-8.847186517320325e-4,2.6563437790964064e-5,2.132009779085571e-8,-8.846674515235134e-4,2.6650601378864086e-5,2.1359523275735847e-8,-8.846087189309281e-4,2.66117823350549e-5,2.1343206192558952e-8,-8.844884826177575e-4,2.6463259603390726e-5,2.1279054822091283e-8,-8.84264302201615e-4,2.6249677950410016e-5,2.1187425909026206e-8,-8.839176546726403e-4,2.6034332006823362e-5,2.109662263366006e-8,-8.83460649868888e-4,2.588342561020468e-5,2.1035784916221402e-8,-8.82934630955511e-4,2.584833167410523e-5,2.102703848956324e-8,-8.824002202963414e-4,2.595091364572211e-5,2.1079174189276926e-8,-8.81920975885244e-4,2.61768927835987e-5,2.1185003004173495e-8,-8.815456299885851e-4,2.648030419312936e-5,2.132360042425762e-8,-8.812952960849518e-4,2.6797977084991984e-5,2.146685384949102e-8,-8.811602994497689e-4,2.7068443874576867e-5,2.1587808754275467e-8,-8.811068251980501e-4,2.7247856141716944e-5,2.1667584069800153e-8,-8.81089260979772e-4,2.7317788146902162e-5,2.169866440830599e-8,-8.810626671495409e-4,2.7284359038585255e-5,2.168436095027221e-8,-8.809914703339173e-4,2.7171697969967655e-5,2.1635803660338795e-8,-8.80853375306616e-4,2.7013728986054004e-5,2.1568241334736312e-8,-8.806396376131523e-4,2.6847076911299085e-5,2.14978976330453e-8,-8.803534902028214e-4,2.670608170906783e-5,2.1439805851815076e-8,-8.800081064751453e-4,2.661959400830792e-5,2.140644761622855e-8,-8.796247407013677e-4,2.6608697363742646e-5,2.1406789555317838e-8,-8.792309875330124e-4,2.668453948521081e-5,2.1445354689839482e-8,-8.788585456571649e-4,2.684586308158884e-5,2.152116684744657e-8,-8.78539601693883e-4,2.7076554888474195e-5,2.162673250547703e-8,-8.783011687268403e-4,2.7344451028370228e-5,2.1747606543339466e-8,-8.781575952511767e-4,2.760340690883203e-5,2.1863392752506867e-8,-8.781030584565838e-4,2.780060405021578e-5,2.1951002414711444e-8,-8.781075985026394e-4,2.7889387640801088e-5,2.1990279643567898e-8,-8.781205807905475e-4,2.7844561840664714e-5,2.197066505165757e-8,-8.780829418086908e-4,2.767387999018061e-5,2.1896173090185512e-8,-8.779448870805086e-4,2.74194206923248e-5,2.178590013371832e-8,-8.776820355245091e-4,2.7146767973214645e-5,2.166911671129024e-8,-8.773032995196551e-4,2.692589193920319e-5,2.157667830482182e-8,-8.768478522267831e-4,2.6811226903755186e-5,2.153215088316852e-8,-8.763733034865937e-4,2.6827771709541934e-5,2.1545755773169187e-8,-8.759398672705631e-4,2.6966612293309254e-5,2.1612637371882027e-8,-8.75595423955086e-4,2.718972268856917e-5,2.171528609991872e-8,-8.753651397527334e-4,2.744156484383133e-5,2.182888124213572e-8,-8.75247681912975e-4,2.766380317219204e-5,2.1927841507686533e-8,-8.752182834583848e-4,2.7809084316441637e-5,2.1991802394858896e-8,-8.752370705991506e-4,2.78503969031841e-5,2.2009553750829985e-8,-8.752596751637627e-4,2.7784140827711733e-5,2.1980196488628183e-8,-8.752468743315799e-4,2.7627256123099378e-5,2.1911727125109708e-8,-8.751709906385506e-4,2.741056684869909e-5,2.181802519722558e-8,-8.750184292407893e-4,2.717106230583093e-5,2.1715442258405405e-8,-8.747891179445456e-4,2.6945211256019782e-5,2.161989799005169e-8,-8.744942264117304e-4,2.6764246324536103e-5,2.1544865267399724e-8,-8.741534012510591e-4,2.6651298588158375e-5,2.1500162537119337e-8,-8.73792188217311e-4,2.6619664630001775e-5,2.1491228293641114e-8,-8.734396730616577e-4,2.6671435073366737e-5,2.1518551762450664e-8,-8.731258580016011e-4,2.679606382670435e-5,2.1577100432093963e-8,-8.7287798682881e-4,2.696908317973565e-5,2.165584590639723e-8,-8.727151324958717e-4,2.7152056798777518e-5,2.1737843898724333e-8,-8.726411876491597e-4,2.7295776371153268e-5,2.180169400597056e-8,-8.72638123277193e-4,2.7348884643569248e-5,2.1825288578833227e-8,-8.726635290724197e-4,2.7272385770363037e-5,2.1792059497611342e-8,-8.726572026318421e-4,2.7056308642078688e-5,2.16981558387545e-8,-8.725583379939474e-4,2.673014546177635e-5,2.1556946339519295e-8,-8.723277672615219e-4,2.6358529275551267e-5,2.1397083391496553e-8,-8.719640776249092e-4,2.6020955368897574e-5,2.1253534423843147e-8,-8.715045501738401e-4,2.5784651947306544e-5,2.1155571953329428e-8,-8.71011034255676e-4,2.5683903518439307e-5,2.1117663450457478e-8,-8.705491307552995e-4,2.5713812934991007e-5,2.113685431521052e-8,-8.701702166525884e-4,2.5837496324388218e-5,2.119617587482424e-8,-8.699014006819977e-4,2.6000426627921144e-5,2.1271201276789622e-8,-8.697436570127698e-4,2.6145631661998167e-5,2.1336868320268546e-8,-8.696759171271625e-4,2.6225891752515828E-05,2.137282593288771e-8,-8.696624900426764e-4,2.621144415050257e-5,2.136666972028361e-8,-8.696616766384265e-4,2.609309797451578e-5,2.1315093592520665e-8,-8.696339802855976e-4,2.58812240139253e-5,2.1223246173929514e-8,-8.695486258957221e-4,2.560145694153938e-5,2.1102720086846007e-8,-8.693875014404906e-4,2.5288439658636282e-5,2.096877998090809e-8,-8.691463110554454e-4,2.4979158898865863e-5,2.083749001199522e-8,-8.688333814216199e-4,2.4707133641329762e-5,2.0723252879501703e-8,-8.684669509396333e-4,2.449818770419122e-5,2.0637035505226535e-8,-8.680718625220174e-4,2.4367943926356345e-5,2.0585317375536392e-8,-8.676763190924599e-4,2.432063005736646e-5,2.0569587886541e-8,-8.673088635246923e-4,2.4348592526606557e-5,2.0586157121313442e-8,-8.669953180759233e-4,2.4432155464044134e-5,2.0626149014017224e-8,-8.667551694766482e-4,2.4539935083866278e-5,2.0675728630559995e-8,-8.665969051568935e-4,2.4630410220170644e-5,2.0716875446414914e-8,-8.665124727648299e-4,2.4656354944466406e-5,2.0729342915038327e-8,-8.664725697134575e-4,2.4573949994687252e-5,2.0694555012387574e-8,-8.664264664054185e-4,2.43569138231536e-5,2.0601608133330403e-8,-8.663110139622543e-4,2.401199304406164e-5,2.0453867175701917e-8,-8.660704693962533e-4,2.3586965902470763e-5,2.0272378725582345e-8,-8.656806366986982e-4,2.316147155005631e-5,2.0091868871878088e-8,-8.651633988921566e-4,2.281978312873848e-5,1.9948869925345905e-8,-8.645805810525198e-4,2.2618527290404762e-5,1.9867633866200034e-8,-8.640097643843145e-4,2.256770525095591e-5,1.9851904328723277e-8,-8.635166675543678e-4,2.2633614094821955e-5,1.9886336038762515e-8,-8.63137948012429e-4,2.2757311910044172e-5,1.9944743482180508e-8,-8.628781813717942e-4,2.2875933655872637e-5,1.9999555353413913e-8,-8.62716501594731e-4,2.2938215554097242e-5,2.0028639520069148e-8,-8.626167844185233e-4,2.291219190087368e-5,2.0018587878018706e-8,-8.625373867297079e-4,2.2786717609544522e-5,1.9965210231098124e-8,-8.624388179572647e-4,2.256927580919071e-5,1.987237287145151e-8,-8.62289189850553e-4,2.2281913356921493e-5,1.975006320331657e-8,-8.620677332013985e-4,2.195621272300181e-5,1.9612130462789248e-8,-8.617664966194991e-4,2.16277997444501e-5,1.9473928068892485e-8,-8.613902656342819e-4,2.1330954467429593e-5,1.935006757875441e-8,-8.609548908336364e-4,2.109389378252815e-5,1.9252475069560743e-8,-8.60484364617139e-4,2.0935189055747062e-5,1.9188905233103563e-8,-8.600071436128826e-4,2.086164348674763e-5,1.91620410767755e-8,-8.595522857630777e-4,2.086763182325774e-5,1.916920143547591e-8,-8.591457649603986e-4,2.0935595960451394e-5,1.9202563113239573e-8,-8.588070106868445e-4,2.103741778004402e-5,1.9249802291736785e-8,-8.585455278490724e-4,2.1136657572340328e-5,1.9295144248855717e-8,-8.583574459539792e-4,2.119206027325631e-5,1.9320951414396224e-8,-8.582223041875423e-4,2.1163256231024873e-5,1.9310193204886934e-8,-8.581015046639913e-4,2.1019633830437e-5,1.9250187621650533e-8,-8.579412331421961e-4,2.0752106826417253e-5,1.913751847356446e-8,-8.576831677947019e-4,2.0384459053393114e-5,1.898276909784322e-8,-8.572838524692297e-4,1.997686961930766e-5,1.8811952221028124e-8,-8.567366035007616e-4,1.9613260947646273e-5,1.8661045623987466e-8,-8.560824766647061e-4,1.9371935268362093e-5,1.8563376708157653e-8,-8.553990379155328e-4,1.9293084341216936e-5,1.8535706064271064e-8,-8.547703530167884e-4,1.936321412352537e-5,1.8571651992880513e-8,-8.542559556665059e-4,1.952555465174852e-5,1.864632532315067e-8,-8.538756727449201e-4,1.970687106733324e-5,1.8727989569739696e-8,-8.536133022643489e-4,1.9843141688829028e-5,1.8789169711081318e-8,-8.534305325201742e-4,1.989357508587466e-5,1.8812667709058706e-8,-8.532814843157356e-4,1.984307509264013e-5,1.879252452479186e-8,-8.531232008002682e-4,1.969807749884717e-5,1.8732068113313398e-8,-8.529215833508998e-4,1.9480194465247334e-5,1.864101205609392e-8,-8.526540395091069e-4,1.9220106769211913e-5,1.8532719999846374e-8,-8.523103008730304e-4,1.8952387630912345e-5,1.8421969114052342e-8,-8.518922166171214e-4,1.8711017815063302e-5,1.83230973754797e-8,-8.514126718644334e-4,1.8525339647629737e-5,1.8248378472723516e-8,-8.508935758492765e-4,1.8416482805648164e-5,1.820658103690855e-8,-8.503628746581636e-4,1.839451037204468e-5,1.8201787199229734e-8,-8.498506739728784e-4,1.8456726342008194e-5,1.823266217066025e-8,-8.493848597949864e-4,1.858755364818312e-5,1.8292382925859e-8,-8.489867877928165e-4,1.8760075533750793e-5,1.8369304773500778e-8,-8.486675197616957e-4,1.8939094885436825e-5,1.8448317961918758e-8,-8.484249414374999e-4,1.908551666785093e-5,1.8512794690847823e-8,-8.482420318448436e-4,1.9161892414962764e-5,1.854700959220887e-8,-8.480866947760388e-4,1.9139120485201888e-5,1.853898427741999e-8,-8.47914089849887e-4,1.9004229019293404e-5,1.8483705191242097e-8,-8.476729841454053e-4,1.8768219337488148e-5,1.8386304668266145e-8,-8.473174336537129e-4,1.847105600233066e-5,1.8264025543393118e-8,-8.46823043761053e-4,1.8178888378359918e-5,1.814493877116609e-8,-8.462024594710862e-4,1.7968779622830955e-5,1.8061442704564362e-8,-8.455100213327113e-4,1.790201857047041e-5,1.8039011781499097e-8,-8.44827387250912e-4,1.7997506299222376e-5,1.8085063263440332e-8,-8.442336473553949e-4,1.82219741246474e-5,1.8184995677384506e-8,-8.437761660142642e-4,1.8504766407932626e-5,1.8308588065556925e-8,-8.434584576481965e-4,1.8767662195956877e-5,1.842267679658266e-8,-8.4324815382798e-4,1.895151458304113e-5,1.8502419193258396e-8,-8.430953104809079e-4,1.9028223922689918e-5,1.853631028756183e-8,-8.429494942284543e-4,1.8998849917980934e-5,1.852528741826402e-8,-8.427701821877676e-4,1.8884905878580218e-5,1.8478909462789927E-08,-8.425307640973115e-4,1.8718917804788393e-5,1.8411232187863652e-8,-8.4221863676526e-4,1.853706175763964e-5,1.8337626368837928e-8,-8.418337179676496e-4,1.837420046907955e-5,1.827269721178165e-8,-8.413866423383756e-4,1.8260484347668602e-5,1.822893007494307e-8,-8.408968704231464e-4,1.8218648925198794e-5,1.821564458019552e-8,-8.403904546985228e-4,1.8261602613572497e-5,1.8238040596675744e-8,-8.398971047784783e-4,1.8390365569227584e-5,1.8296347683661744e-8,-8.394462933471349e-4,1.859286581010708e-5,1.8385307406524103e-8,-8.390625554693548e-4,1.8844349042141637e-5,1.849434016111365e-8,-8.387606740926772e-4,1.9109956838288736e-5,1.86086555425353e-8,-8.38541735765671e-4,1.934955354341349e-5,1.871133966197072e-8,-8.383910411803681e-4,1.9524369896896514e-5,1.8786212347626552e-8,-8.382786396254357e-4,1.9604517498810704e-5,1.882101552190826e-8,-8.381628606157513e-4,1.957613104080785e-5,1.8810378176449664e-8,-8.379968680478822e-4,1.9446885164135782e-5,1.8758024552986323e-8,-8.377380159940519e-4,1.924845999124919e-5,1.8677651607636933e-8,-8.373591718549969e-4,1.9034058927322546e-5,1.8591733411884385e-8,-8.368597531357094e-4,1.886904423475679e-5,1.8527502435010273e-8,-8.362722099438048e-4,1.881422597460021e-5,1.8509963766801086e-8,-8.356585036787218e-4,1.890516421021724e-5,1.8553367099453363e-8,-8.350935969910999e-4,1.913599743885326e-5,1.865465529485676e-8,-8.346403242080155e-4,1.945802313397077e-5,1.8793064946602195e-8,-8.34327545916489e-4,1.979670869488179e-5,1.893732043323308e-8,-8.341432058884843e-4,2.0079064624085877e-5,1.905704488089487e-8,-8.340443957116498e-4,2.0256813697895776e-5,1.9132370964305275e-8,-8.339762461212966e-4,2.0315496394862994e-5,1.915767659009268e-8,-8.338890176634837e-4,2.0269954024688864e-5,1.9139616310843984e-8,-8.337477088005211e-4,2.015310994528189e-5,1.9092327487425826e-8,-8.335344195487556e-4,2.0004740360878148e-5,1.9032641784256222e-8,-8.332464619472108e-4,1.9863456916696745e-5,1.897669433393755e-8,-8.328930721117551e-4,1.9762094713418337e-5,1.8938027533986976e-8,-8.32492297882966e-4,1.9725314418621403e-5,1.8926665101186917e-8,-8.32068415293489e-4,1.97681582273195e-5,1.8948588036477114e-8,-8.316495311428089e-4,1.9894810847537727e-5,1.900526818571205e-8,-8.312647852018803e-4,2.0097427747145573e-5,1.909320121864192e-8,-8.309406311115315e-4,2.0355522535096095e-5,1.9203660731413604e-8,-8.306961138447342e-4,2.0636898921431595e-5,1.9323105247655924e-8,-8.305378232200559e-4,2.0901137965268803e-5,1.9434664802670044e-8,-8.304559556956476e-4,2.1106081507306507e-5,1.9520878928693548e-8,-8.304232734093543e-4,2.121667553013109e-5,1.9567400873830927e-8,-8.303983658234531e-4,2.121422167099143e-5,1.9566836162855173e-8,-8.303333870477527e-4,2.1103220227911646e-5,1.952153119702011e-8,-8.301848490250651e-4,2.0913258553630374e-5,1.9444248405592745e-8,-8.299248979192241e-4,2.069466744819484e-5,1.935621254368111e-8,-8.295501421522738e-4,2.0508232040964325e-5,1.928269583340997e-8,-8.290853574454966e-4,2.0410715377186484e-5,1.9246942812164235e-8,-8.285801055587781e-4,2.0439332177392955e-5,1.9263794111536346e-8,-8.2809766077195e-4,2.059951905236773e-5,1.9334808940806114e-8,-8.276980402284858e-4,2.086083916102179e-5,1.944680759157122e-8,-8.274201421640853e-4,2.1164367562493242e-5,1.957510063623294e-8,-8.272700826664273e-4,2.1440488239337026e-5,1.9690891838981256e-8,-8.272211164209307e-4,2.163042771909038e-5,1.9770119508971764e-8,-8.272248984694739e-4,2.1702369405362463e-5,1.980002378644996e-8,-8.27228099796603e-4,2.1656229173428763e-5,1.9781034701150995e-8,-8.271868289199328e-4,2.151765544352276e-5,1.9724204114230814e-8,-8.270743741962598e-4,2.1326531390819485e-5,1.9646358599563786e-8,-8.26882219952542e-4,2.1125677324855516e-5,1.9565355735798533e-8,-8.266169368517766e-4,2.095292185174144e-5,1.94967870339568e-8,-8.262957480189584e-4,2.0836914464318622e-5,1.9452286083130493e-8,-8.25942474644233e-4,2.0795532754586838e-5,1.9438941053262905e-8,-8.255843718992038e-4,2.083550384946244e-5,1.9459206265133282e-8,-8.252495647333255e-4,2.095228065573517e-5,1.9510899184512012e-8,-8.249644062349847e-4,2.112985311313308e-5,1.958715392852858e-8,-8.247500865889223e-4,2.1340896571258705e-5,1.96765117319045e-8,-8.24618243855376e-4,2.1548299489712724e-5,1.9763583444848516e-8,-8.245661579256653e-4,2.1709369314150928e-5,1.983081139445514e-8,-8.245731982415894e-4,2.1783542272099323e-5,1.9861656355918796e-8,-8.246010337711906e-4,2.174293624505869e-5,1.9844932417100713e-8,-8.24599762693081e-4,2.1582829143363222e-5,1.9779092489063103e-8,-8.245199320168276e-4,2.1327443144663598e-5,1.9674559193285197e-8,-8.243271463267552e-4,2.1027056964939968e-5,1.9552443886955017e-8,-8.240137478913354e-4,2.0745880537874062E-05,1.9439417625111437e-8,-8.236027048837928e-4,2.054443207807126e-5,1.9360323569771445e-8,-8.231420981185931e-4,2.046260583006955e-5,1.9331166390175837e-8,-8.226923062309316e-4,2.050897293837082e-5,1.9354816716611825e-8,-8.223101620532402e-4,2.065914064149752e-5,1.9420558033546697e-8,-8.220346412416486e-4,2.0863033376546166e-5,1.9507310836051278e-8,-8.218778118280972e-4,2.1058697312165184e-5,1.958944171580837e-8,-8.218233231961076e-4,2.1188662210092975e-5,1.964349015093813e-8,-8.218326197553458e-4,2.1214125651217814e-5,1.9653903415513317e-8,-8.21856605729153e-4,2.112285109501725e-5,1.9616154125454246e-8,-8.218486723198633e-4,2.092896166987658e-5,1.9536534435121197e-8,-8.21774900682099e-4,2.0665900016862456e-5,1.9429164058162805e-8,-8.216189955439171e-4,2.0376078120981753e-5,1.9311669317101807e-8,-8.213819939742871e-4,2.010103213726683e-5,1.9201115798957357e-8,-8.210785719648872e-4,1.987447711399243e-5,1.911118281263017e-8,-8.20732153301422e-4,1.9718757169934105e-5,1.905076891931154e-8,-8.203703758138432e-4,1.964388881521585e-5,1.9023668998090353e-8,-8.200215277640999e-4,1.9647991667492965e-5,1.9028805308153496e-8,-8.197118007420141e-4,1.971813517172542e-5,1.906061049159396e-8,-8.194627667111748e-4,1.983118207998987e-5,1.910940136475893e-8,-8.192884188063901e-4,1.99548908795387e-5,1.9161861647232118e-8,-8.191914615513263e-4,2.005020377589606e-5,1.920200887423933e-8,-8.191593400069361e-4,2.0076033762683125e-5,1.92131658914827e-8,-8.191616964490206e-4,1.999753215727303e-5,1.918132541360626e-8,-8.191520734989105e-4,1.9797250015148836e-5,1.909967483876304e-8,-8.190765586708921e-4,1.948575838000759e-5,1.8972896885336155e-8,-8.188893026085382e-4,1.9105659284594878e-5,1.881876618035338e-8,-8.185698549347501e-4,1.8723588649551148e-5,1.8664805935860888e-8,-8.181336800547649e-4,1.8410527065246534e-5,1.8540121068539456e-8,-8.176292682317155e-4,1.8218322499468568e-5,1.8465698823274743e-8,-8.171225750854558e-4,1.816336880244077e-5,1.844774602721915e-8,-8.166763753560664e-4,1.8224017124166648e-5,1.8476781130729858e-8,-8.163333375780404e-4,1.8350561857245017e-5,1.853193523194076e-8,-8.16107745214289e-4,1.8481632209535812e-5,1.8587831243527868e-8,-8.159860616604793e-4,1.8560533642340127e-5,1.8621333711184525e-8,-8.159338548044192e-4,1.8547406867931718e-5,1.8616474714546974e-8,-8.159059685028022e-4,1.8425544094309115e-5,1.856691337547998e-8,-8.158571772717478e-4,1.8201877478809365e-5,1.8475986230218312e-8,-8.157511568267292e-4,1.790263037304738e-5,1.8354797984609146e-8,-8.155662647845826e-4,1.756578402681822e-5,1.8219061692464088e-8,-8.152974777324008e-4,1.7232463817564305e-5,1.80855624276064e-8,-8.149548380423059e-4,1.6939285910434784e-5,1.79690735294896e-8,-8.14559552341495e-4,1.6713010048744217e-5,1.7880250136234366e-8,-8.141391520903434e-4,1.6567887899189816e-5,1.7824625038532265e-8,-8.13722894907782e-4,1.65052911686815e-5,1.7802510165505718e-8,-8.133380240113629e-4,1.6514764792978118e-5,1.7809448528021547e-8,-8.130068823177181e-4,1.6575692411162992e-5,1.7836899066496914e-8,-8.127444898746023e-4,1.6659173301351172e-5,1.787301036505299e-8,-8.12556110967037e-4,1.6730231029844328e-5,1.79035428156178e-8,-8.1243455505061e-4,1.6751012160459823e-5,1.7913194389418595e-8,-8.123576337801389e-4,1.6686038010803166e-5,1.7887740556088877e-8,-8.122873281432063e-4,1.6510317217035855e-5,1.7817300812807638e-8,-8.12173296759821e-4,1.6219656866485414e-5,1.7700472205744483e-8,-8.119633169768517e-4,1.5839706948872637e-5,1.754794502201198e-8,-8.116204935794114e-4,1.5427302108426434e-5,1.7382995748216617e-8,-8.111412381260521e-4,1.5058049525129414e-5,1.723638629723847e-8,-8.105632272728717e-4,1.4801145884299286e-5,1.713607209252042e-8,-8.099554919138893e-4,1.4692744717581516e-5,1.7096374287795603e-8,-8.093939263332287e-4,1.4722847634811913e-5,1.7112747706322244e-8,-8.089353936498745e-4,1.484233801753127e-5,1.7164799969601408e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_6.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_6.json new file mode 100644 index 000000000..36daa4505 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_6.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":6000,"numberOfSamples":1000,"samples":[-8.086030009769924e-4,1.4983810405869992e-5,1.7224897231104907e-8,-8.083859978917138e-4,1.5083891420443416e-5,1.7267300877946733e-8,-8.082495498012613e-4,1.5098334698112563e-5,1.727428602498279e-8,-8.08147627922185e-4,1.5007880436382382e-5,1.72384405012867e-8,-8.080344588306433e-4,1.4817024022017442e-5,1.716203842239244e-8,-8.078727223656254e-4,1.4548770451198794e-5,1.705477562558989e-8,-8.076383715174149e-4,1.4237727414253643e-5,1.6930867623711068e-8,-8.07322519250199e-4,1.3922902257012772e-5,1.6806096847405343e-8,-8.069308512481781e-4,1.3641062334595963e-5,1.6695163186853533e-8,-8.064810674365431e-4,1.3421371907981373e-5,1.6609600165603765e-8,-8.059989962711845e-4,1.3281793410593358e-5,1.65564122262766e-8,-8.055140919096513e-4,1.3227437282497666e-5,1.6537470119423336e-8,-8.050550211507427e-4,1.3250758311506548e-5,1.654960752689265e-8,-8.046459011976815e-4,1.3333167640947059e-5,1.658525704041747e-8,-8.04303377210941e-4,1.3447472960351647e-5,1.6633415280209964e-8,-8.040343930544604e-4,1.3560785131852206e-5,1.6680814883554258e-8,-8.038344371049681e-4,1.3637887698738715e-5,1.6713305884428016e-8,-8.036861808400415e-4,1.3645376246194308e-5,1.6717552173535383e-8,-8.035588881624019e-4,1.355715046434086e-5,1.668324932697258e-8,-8.034098545481887e-4,1.3361633179672876e-5,1.660599824235996e-8,-8.031899161995416e-4,1.3069806636622722e-5,1.6490473396248044e-8,-8.028548171317579e-4,1.2720836118968e-5,1.635260915989386e-8,-8.023817298130074e-4,1.2379672673151174e-5,1.6218567533971117e-8,-8.017848916609258e-4,1.21214866090865e-5,1.6118432225501397e-8,-8.011195394685814e-4,1.2004672862047483e-5,1.6075358566152277e-8,-8.004664161243661e-4,1.2045064498369676e-5,1.6095295025865495e-8,-7.999018683719954e-4,1.2207888551202842e-5,1.6163899894807838e-8,-7.994702224832471e-4,1.242340488168506e-5,1.625294935668257e-8,-7.991732540075557e-4,1.2615665237930678e-5,1.6331930886767175e-8,-7.989782632286061e-4,1.2727385321542004e-5,1.6378010390939176e-8,-7.988353176257354e-4,1.2731278778766297e-5,1.6380533700705246e-8,-7.98693545654588e-4,1.262891363153558e-5,1.6340492793338305e-8,-7.985117563218257e-4,1.2443008649451221e-5,1.6267331548458157e-8,-7.982633092416262e-4,1.2208291416633506e-5,1.617517573988445e-8,-7.97937024226046e-4,1.1963551111059878e-5,1.6079587401967125e-8,-7.975359220318068e-4,1.1745517867734186e-5,1.5995123017000115e-8,-7.970748169146011e-4,1.1584298423249006e-5,1.5933578635139873e-8,-7.96577147084504e-4,1.1500116000004205e-5,1.59027823489698e-8,-7.960712612774264e-4,1.1501312858278244e-5,1.5905873133149612e-8,-7.955863788122124e-4,1.1583659586297626e-5,1.5941057128577827e-8,-7.951485028139105e-4,1.1731083070377464e-5,1.6001886167851592e-8,-7.947767272267163e-4,1.191780985300591e-5,1.607808021319529e-8,-7.944803671342594e-4,1.2111620389700717e-5,1.615680382240154e-8,-7.942570988685387e-4,1.2277833661532118e-5,1.622426162217438e-8,-7.940921495251726e-4,1.2383811890041994e-5,1.6267523534675877e-8,-7.939586304605242e-4,1.2403888228974189e-5,1.627651653757225e-8,-7.938193280601158e-4,1.2324675476991541e-5,1.6246136706354253e-8,-7.936307142675456e-4,1.2150538325271284e-5,1.6178380649204796e-8,-7.933502814410618e-4,1.1908091876990174e-5,1.608405253597014e-8,-7.929477558193591e-4,1.164701184564693e-5,1.5982993948326116e-8,-7.924185834346178e-4,1.1433225812865484e-5,1.5901308272972388e-8,-7.91794201526995e-4,1.1331683271163489e-5,1.5864503448445484e-8,-7.911404620961953e-4,1.1381697803054312e-5,1.5887775959579784e-8,-7.905387505296019e-4,1.1576581858174432e-5,1.5968081661271605e-8,-7.900557579253249e-4,1.1862063556780149e-5,1.6083659449037498e-8,-7.897185238722374e-4,1.2157584885353175e-5,1.6202533533502623e-8,-7.895090488599649e-4,1.238821600505574e-5,1.629512295943271e-8,-7.893784662655317e-4,1.2508703453700893e-5,1.6343711956180873e-8,-7.892687928634058e-4,1.2510154891614356e-5,1.6345059350363414e-8,-7.891303130012338e-4,1.2412762325594466e-5,1.630746636423513e-8,-7.889301607306106e-4,1.22532563576661e-5,1.6245726990312346e-8,-7.886537075923972e-4,1.207350096757021e-5,1.6176528951831164e-8,-7.883021088407754e-4,1.1912612868365128e-5,1.611529698390703e-8,-7.878886554381245e-4,1.1802366938175958e-5,1.6074404646753326e-8,-7.874351827903575e-4,1.1764678405500699e-5,1.606225725212218e-8,-7.869686785579548e-4,1.1810193745663737e-5,1.6082821884922013e-8,-7.865178808041266e-4,1.1937644143326378e-5,1.613543027797478e-8,-7.861097334099989e-4,1.2134002375285157e-5,1.621485643068633e-8,-7.857657050956631e-4,1.2375715139896458e-5,1.631178566628287e-8,-7.854982761710509e-4,1.2631342722271491e-5,1.6413830995212057e-8,-7.853082129742637e-4,1.2865627763957707e-5,1.650712800670973e-8,-7.851832404152557e-4,1.3044611801087987e-5,1.6578365268496393e-8,-7.850984979333072e-4,1.3141234772513003e-5,1.661701655440917e-8,-7.850189859904393e-4,1.314074642924285e-5,1.6617484545055545e-8,-7.849040783473408e-4,1.3045167089176555e-5,1.658083277620777e-8,-7.847140887854131e-4,1.2875989940709468e-5,1.6515781106734278e-8,-7.84418739673568e-4,1.2674020385660439e-5,1.643854403323704e-8,-7.840067264380274e-4,1.2494690124657561e-5,1.637089555624342e-8,-7.834940629310338e-4,1.2397202649814611e-5,1.633586078646625e-8,-7.829269123445694e-4,1.242762480633356e-5,1.6351121218225165e-8,-7.823738580167101e-4,1.2600199243328678e-5,1.6421819173272966e-8,-7.819059640317111e-4,1.2886068491034284e-5,1.6536310251172648e-8,-7.815711190078477e-4,1.3218908359013295e-5,1.6668481029581357e-8,-7.813760467322517e-4,1.3518369457025356e-5,1.678692018769316e-8,-7.812866097556989e-4,1.3719738169680302e-5,1.6866455278038853e-8,-7.81245043675736e-4,1.3793772038801468e-5,1.689586528796916e-8,-7.811924892995569e-4,1.3748855436262393e-5,1.6878708749903426e-8,-7.810853126995724e-4,1.3619700644445478e-5,1.6828864667497608e-8,-7.809012145161698e-4,1.3452099763330615e-5,1.6764485192192976e-8,-7.806376216935296e-4,1.3290653946538645e-5,1.6703112676782687e-8,-7.803066615377375e-4,1.31716120529323e-5,1.6658847878700447e-8,-7.799298430182615e-4,1.311988593603372e-5,1.6641219568441624e-8,-7.795337437080761e-4,1.3148379669826384e-5,1.665500141543589e-8,-7.791466519745774e-4,1.3258192670318894e-5,1.6700371540229692e-8,-7.787956166079658e-4,1.3439123013885566e-5,1.6773161126941902e-8,-7.785034521569552e-4,1.3670540636302536e-5,1.6865211246133127e-8,-7.782855194761558e-4,1.3923070098588027e-5,1.6965022456657025e-8,-7.781465158733033e-4,1.4161671472159447e-5,1.705894395665733e-8,-7.780780274644127e-4,1.4350439747166847e-5,1.713304166764391e-8,-7.780578724819625e-4,1.4458808126371696e-5,1.717552433911576e-8,-7.780520945693767e-4,1.4468165316748068e-5,1.7179332308174036e-8,-7.780199264883032e-4,1.4377381074197417e-5,1.7144283672725583e-8,-7.779212697790456e-4,1.42055818063788e-5,1.707811591367681e-8,-7.777254715128031e-4,1.399092160934568e-5,1.6995928407681764e-8,-7.774196852037493e-4,1.37848241088391e-5,1.691784077706239e-8,-7.770148281025337e-4,1.3641905255902624e-5,1.68649932739021e-8,-7.7654695118254e-4,1.3606723344494496e-5,1.6854386908037733e-8,-7.760719733956719e-4,1.3699981752654324e-5,1.6893614104122298e-8,-7.756528920660803e-4,1.3908611710779359e-5,1.6977171984468366e-8,-7.753414973715193e-4,1.4185135339496087e-5,1.708636928482128e-8,-7.751607783545031e-4,1.4459758828692502e-5,1.7194078255654558e-8,-7.750965022472446e-4,1.4662655192892729e-5,1.7273331572288793e-8,-7.751031768498831e-4,1.4747011345581016e-5,1.730618293517172e-8,-7.751215862559233e-4,1.4701900854900151e-5,1.7288656969080978e-8,-7.750986283316115e-4,1.45502732264208e-5,1.7229950783472687e-8,-7.750005720993924e-4,1.4336090541435382e-5,1.714739884303355e-8,-7.748166257563864e-4,1.4108830030091316e-5,1.7060381671628664e-8,-7.74555246270904e-4,1.3911680743308552e-5,1.6985680755460048e-8,-7.742375216046733e-4,1.3775437312394145e-5,1.6935101840957774e-8,-7.738908672395347e-4,1.3716934985120997e-5,1.691492118059338e-8,-7.735443296708602e-4,1.373987657547806e-5,1.6926288994825302e-8,-7.732253688257358e-4,1.3836379992091725e-5,1.6965903557041073e-8,-7.729574201870145e-4,1.398850143961783e-5,1.702664562074045e-8,-7.727575479089458e-4,1.41697546103367e-5,1.7098179346093112e-8,-7.726338127068317e-4,1.4347167415583573e-5,1.7167741915981117e-8,-7.72582526013079e-4,1.4484672906976143e-5,1.7221441721592798e-8,-7.725862452751478e-4,1.4548420666369706e-5,1.724630156120042e-8,-7.726138958417847e-4,1.4513823225779425e-5,1.723297684502607e-8,-7.726244080267737e-4,1.4372974279860863e-5,1.717861929269323e-8,-7.725743889406402e-4,1.4139927504773041e-5,1.708890500581759e-8,-7.724286327675101e-4,1.3851021527237483e-5,1.6978122122320604e-8,-7.721705055599232e-4,1.3558663671444288e-5,1.6866694872960056e-8,-7.718085762849863e-4,1.3319387181004731e-5,1.6776479385700888e-8,-7.713767987397502e-4,1.3179295367351444e-5,1.6725086614472134e-8,-7.709275714331829e-4,1.3161122848693512e-5,1.6720920077215314e-8,-7.705191844169844e-4,1.3256827859980563e-5,1.6760442718757147e-8,-7.702008063045723e-4,1.3428227793557443e-5,1.6828582942267516e-8,-7.699990644679152e-4,1.361618554202354e-5,1.6902388068197547e-8,-7.699104039245936e-4,1.3756467861176603e-5,1.6957151603506948e-8,-7.699023224946573e-4,1.3797806695198463e-5,1.697331252819716e-8,-7.69923693570122e-4,1.3715970518988264e-5,1.6941802014512077e-8,-7.699204730517889e-4,1.3518607018056203e-5,1.686585566047806e-8,-7.698506029324883e-4,1.3239647040700348e-5,1.675881321149357e-8,-7.696928309426752e-4,1.292679553392078e-5,1.663924458294889e-8,-7.694477547487295e-4,1.2627916951666916e-5,1.6525649634657365e-8,-7.691330174202381e-4,1.2380977939982187e-5,1.6432564147368763e-8,-7.687761526504343e-4,1.2209237379755138e-5,1.6368739832210366e-8,-7.684079653894965e-4,1.2120781661778011e-5,1.633703602331063e-8,-7.680577369530784e-4,1.2110432408898472e-5,1.6335228492463344e-8,-7.677501944254693e-4,1.21623329271923e-5,1.6357054465017322e-8,-7.675035516029946e-4,1.2252353588631538e-5,1.6393155437041988e-8,-7.673278510063229e-4,1.2350244031443248e-5,1.6431898304259127e-8,-7.672231013092557e-4,1.2422047112441263e-5,1.6460286860244704e-8,-7.671772688900853e-4,1.243363156115782e-5,1.6465302548663993e-8,-7.671649640707796e-4,1.2356108383738767e-5,1.6435971563363704e-8,-7.671484101972802e-4,1.2173134658280302e-5,1.6366160768870968e-8,-7.670825263514741e-4,1.188858814480631e-5,1.6257519307403445e-8,-7.669249561884815e-4,1.153125860759139e-5,1.6121270567197454e-8,-7.666492306156377e-4,1.115245465159126e-5,1.5977261511360678e-8,-7.662560978121537e-4,1.0814456656206232e-5,1.5849466079461248e-8,-7.657770512027595e-4,1.05724402594284e-5,1.5758977593618244e-8,-7.65267023298901e-4,1.0456872508954073e-5,1.571723833544501e-8,-7.647885985095952e-4,1.0463873633946137e-5,1.5722417018223885e-8,-7.643941100002343e-4,1.0557097979145212e-5,1.5760262592280024e-8,-7.641121194876584e-4,1.0679365871370066e-5,1.580868049828012e-8,-7.639418824019487e-4,1.0769014504534602e-5,1.5844044262621295e-8,-7.63856040874777e-4,1.0775642632836637e-5,1.5847200884499e-8,-7.638095816807227e-4,1.067134664327151e-5,1.5807708446849496e-8,-7.637520719001363e-4,1.0455341968064698e-5,1.5725533933861105e-8,-7.636398633410946e-4,1.015159717703648e-5,1.5610082730947348e-8,-7.634452271731003e-4,9.80080001717917e-6,1.547706895850993e-8,-7.63160419406769e-4,9.449412193445568e-6,1.5344290126782374e-8,-7.627963935193374e-4,9.13916163473737e-6,1.522760366709052e-8,-7.623775983584871e-4,8.899634906261868e-6,1.5138131787055436e-8,-7.619351862275943e-4,8.745021320744058e-6,1.5081084100568852e-8,-7.615007251523846e-4,8.674467790722235e-6,1.5055961298020598E-08,-7.611015754607918e-4,8.674636046522299e-6,1.5057573206547553e-8,-7.607580727699104e-4,8.723012138457471e-6,1.507730793528806e-8,-7.604819845856674e-4,8.79104729455283e-6,1.5104310215033872e-8,-7.602755220059144e-4,8.84693302571431e-6,1.512651308174354e-8,-7.60130395955743e-4,8.858401879917029e-6,1.5131688225382546e-8,-7.600268787531797e-4,8.796280560370882e-6,1.5108794499177295e-8,-7.599335469922736e-4,8.639531259323042e-6,1.5049899963453894e-8,-0.000759809210702789,8.381910431287344e-6,1.495271925500096e-8,-7.596089689111743e-4,8.038852722231386e-6,1.4823230368913413e-8,-7.592954714676379e-4,7.651012523481406e-6,1.4677004696445236e-8,-7.588534536653339e-4,7.279557888325591e-6,1.4537373653592984e-8,-7.583012167940397e-4,6.990438849818558e-6,1.4429384557414762e-8,-7.576907836367265e-4,6.831496399448591e-6,1.4371061617021388e-8,-7.570930731261787e-4,6.813281142864784e-6,1.4366159181078007e-8,-7.56573893838745e-4,6.904553518906711e-6,1.440256548875904e-8,-7.561728030269616e-4,7.044803405478948e-6,1.445716559337654e-8,-7.55894167206311e-4,7.166043359666975e-6,1.450415417168199e-8,-7.55711412564325e-4,7.212993883249746e-6,1.4522671727194704e-8,-7.555791656848098e-4,7.1549930276133835e-6,1.4501273602714309e-8,-7.554470640511585e-4,6.988776194001312e-6,1.443893097512812e-8,-7.552712370159999e-4,6.734529749762169e-6,1.4343479112262025e-8,-7.550218631592772e-4,6.428246653777687e-6,1.422866437274883e-8,-7.546866678361489e-4,6.112788824185316e-6,1.4110719482184918e-8,-7.542707923333388e-4,5.8292867079302145e-6,1.400510243390426e-8,-7.537936783321645e-4,5.610111184424559e-6,1.392387568318107e-8,-7.532839358400108e-4,5.474383321977379e-6,1.3874075234006555e-8,-7.527734587962739e-4,5.42640635004478e-6,1.3857186797906472e-8,-7.522919859404003e-4,5.45669894844625e-6,1.386957766596827e-8,-7.518629339501932e-4,5.544851652733658e-6,1.3903575419281547e-8,-7.515008253699221e-4,5.66324214311497e-6,1.3948838400251825e-8,-7.51210094786353e-4,5.780767390543559e-6,1.3993723032625362e-8,-7.509847483529711e-4,5.866229168685598e-6,1.4026532943938554e-8,-7.508084438557491e-4,5.891537175053618e-6,1.4036723339664531e-8,-7.506548991499108e-4,5.835186884660035e-6,1.4016225902040902e-8,-7.504890649576297e-4,5.6865153995048614e-6,1.3961069522205696e-8,-7.502702069824309e-4,5.450810519333698e-6,1.3873309470797243e-8,-7.499584705215199e-4,5.154093641144201e-6,1.376281194863296e-8,-7.495258303846799e-4,4.844492327076601e-6,1.3647730610076522e-8,-7.489697010459084e-4,4.585680212391129e-6,1.3551982235163058e-8,-7.483229773845283e-4,4.439424944083938e-6,1.3498642646116442e-8,-7.47651384167147e-4,4.441135789993236e-6,1.3500781498633393e-8,-7.47033630108719e-4,4.5810783550153105e-6,1.3554518828823992e-8,-7.465319640685318e-4,4.8048662841334895e-6,1.3639340521473976e-8,-7.461696806020518e-4,5.035072310667735e-6,1.3726250888424918e-8,-7.45927649234082e-4,5.200984456189078e-6,1.3788876550238137e-8,-7.457581262680648e-4,5.260058265685222e-6,1.3811432021938078e-8,-7.456046602651826e-4,5.203880705388684e-6,1.3790914319102578e-8,-7.454181631269655e-4,5.052110434397819e-6,1.373481274651468e-8,-7.451656280700271e-4,4.841472760620587e-6,1.3656958068869079e-8,-7.448325507537849e-4,4.61494382342504e-6,1.357343640410499e-8,-7.444214445461733e-4,4.413322175715639e-6,1.3499417669267064e-8,-7.439484346229335e-4,4.2694368736615086e-6,1.3447009746671435e-8,-7.434389857049532e-4,4.204518303627032e-6,1.3423957631836567e-8,-7.429232000552066e-4,4.22642353337615e-6,1.3433047936838739e-8,-7.424310713391792e-4,4.3296407656193255e-6,1.3472159698785832e-8,-7.419881612882491e-4,4.496920195240808e-6,1.3534885426142835e-8,-7.416121363128246e-4,4.702242436589464e-6,1.3611614172495427e-8,-7.413105280088105e-4,4.9146848337064315e-6,1.369092983616905e-8,-7.410798564648585e-4,5.102579289552534e-6,1.3761123342581654e-8,-7.409059284613239e-4,5.2374620959614515e-6,1.3811649751762265e-8,-7.40765021747722e-4,5.2976581500819286e-6,1.3834473325427858e-8,-7.406258251361314e-4,5.271569720175211e-6,1.3825313013330133e-8,-7.404522940607082e-4,5.16079816624066e-6,1.3784817350730312e-8,-7.402080188256512e-4,4.982998369865964e-6,1.3719616164717567e-8,-7.398629579022926e-4,4.773502162654375e-6,1.3642888630399176e-8,-7.394027814983437e-4,4.583451075155526e-6,1.3573616754794363e-8,-7.388391120671625e-4,4.471358391383276e-6,1.3533406453527241e-8,-7.382156353710173e-4,4.486293417993243e-6,1.3540246689754017e-8,-7.376025584177996e-4,4.646263952038066e-6,1.360057244394542e-8,-7.370753966750942e-4,4.923220958661702e-6,1.3703844593894654e-8,-7.366853493943496e-4,5.247831278658755e-6,1.3824412277992002e-8,-7.364384127765779e-4,5.535851078356583e-6,1.3931243008841947e-8,-7.362964904189415e-4,5.721421847439438e-6,1.400013251189647e-8,-7.361977969831083e-4,5.777834083495166e-6,1.4021317172913075e-8,-7.360817614101209e-4,5.717840477241389e-6,1.3999596259483795e-8,-7.359055977095308e-4,5.580085272187351e-6,1.3949330970951832e-8,-7.356494891230436e-4,5.412741838724204e-6,1.3888375540751401e-8,-7.353140711726487e-4,5.2611317114854454e-6,1.3833462198014537e-8,-7.349148352444343e-4,5.160747629068616e-6,1.3797605620566516e-8,-7.34476381499244e-4,5.134402307300587e-6,1.378907362699951e-8,-7.340275945238301e-4,5.1916865952263e-6,1.3811240956866352e-8,-7.335976379390709e-4,5.3295409738639065e-6,1.386285790594125e-8,-7.332124264851362e-4,5.533583318487555e-6,1.393857552488052e-8,-7.328914883847182e-4,5.780224195792896e-6,1.4029729175094004e-8,-7.326453464977734e-4,6.039657534633526e-6,1.412541622107681e-8,-7.324737353478441e-4,6.279722160979335e-6,1.4213885118568412e-8,-7.323650721376349e-4,6.470322863277057e-6,1.4284138014656952e-8,-7.322974036581984e-4,6.587844288483066e-6,1.4327549734585913e-8,-7.322407659586676e-4,6.619032470350085e-6,1.4339305787613665e-8,-7.321607813179032e-4,6.563928060747684e-6,1.4319492082724502e-8,-7.320233046863541e-4,6.4374966021072834e-6,1.4273690279829042e-8,-7.317999978283977e-4,6.269641412024475e-6,1.4212954276300681e-8,-7.314747508146167e-4,6.103003158628865e-6,1.415295567438129e-8,-7.310503956340962e-4,5.987372946262786e-6,1.4111888222525968e-8,-7.30553886574779e-4,5.969501086118192e-6,1.4106716472582734e-8,-7.300364338939657e-4,6.078516230287104e-6,1.4147877299553037e-8,-7.295642924788504e-4,6.3107236580662384e-6,1.4233817360402606e-8,-7.29198788762624e-4,6.622175486804494e-6,1.4348383535941494e-8,-7.289720333664855e-4,6.9380135239147e-6,1.4464270004578152e-8,-7.288720132220635e-4,7.178968146684719e-6,1.4552629285696456e-8,-7.288478475491566e-4,7.292033122646066e-6,1.4594189017363577e-8,-7.288324425920637e-4,7.267653302542506e-6,1.4585519239748402e-8,-7.287681356467766e-4,7.1358561174840265e-6,1.4537665753835853e-8,-7.286220514824529e-4,6.9483598487620115e-6,1.4469630977301123e-8,-7.28388085845522e-4,6.7592678922152605e-6,1.4401275496516345e-8,-7.280804913481166e-4,6.612273121504457e-6,1.4348581630811597e-8,-7.277252407959589e-4,6.5354231757555416e-6,1.4321716844225746e-8,-7.273527660572583e-4,6.540950211029966e-6,1.4324997142073501e-8,-7.269930114233965e-4,6.6273182842564705e-6,1.4357691570767854e-8,-7.26672240266485e-4,6.781718300136292e-6,1.4414990002890305e-8,-7.264107154812758e-4,6.982473886382033e-6,1.4488915944389668e-8,-7.262207318281119e-4,7.201524453767113e-6,1.4569238469116222e-8,-7.261048945983162e-4,7.407366857871365e-6,1.464452799757507e-8,-7.260549073749619e-4,7.568797659062485e-6,1.4703494431167381e-8,-7.26051465526772e-4,7.659436861891897e-6,1.4736614332348274e-8,-7.260658689683676e-4,7.662469338693832e-6,1.4737849783051846e-8,-7.260636091525101e-4,7.574690894230019e-6,1.4706123818166879e-8,-7.260097162467727e-4,7.408843381596091e-6,1.4646170303919831e-8,-7.258751869359084e-4,7.193327753172565e-6,1.4568414770672015e-8,-7.256434329193616e-4,6.968816351578809e-6,1.4487705994885722e-8,-7.253155606930208e-4,6.781829885047062e-6,1.4420936000282275e-8,-7.249132562182546e-4,6.6756763505280914e-6,1.4383719471977372e-8,-7.244778292372096e-4,6.679612946037396e-6,1.438647617104953e-8,-7.240638597492315e-4,6.798235959896041e-6,1.443065370266917e-8,-7.237266826504071e-4,7.004766318589259e-6,1.4506391489857573e-8,-7.235054613225411e-4,7.243025516191428e-6,1.4593301323513466e-8,-7.2340765660686e-4,7.441405783647142e-6,1.4665511557876749e-8,-7.234034010785615e-4,7.53631382926181e-6,1.4700082991218885e-8,-7.234351925205399e-4,7.495034347391305e-6,1.468523799630331e-8,-7.234393429224217e-4,7.325932982914151e-6,1.462407472647779e-8,-7.233679091640017e-4,7.071240070168453e-6,1.4531993918580552e-8,-7.2320061796834e-4,6.7884821942071435e-6,1.4429962503804012e-8,-7.229442000740695e-4,6.531515408382787e-6,1.4337580335722595e-8,-7.226237824510028e-4,6.338676971745417e-6,1.4268730878278133e-8,-7.222726609371696e-4,6.229186086844068e-6,1.4230270463511608e-8,-7.219243370456767e-4,6.204979076589403e-6,1.4222735101428858e-8,-7.216077209136364e-4,6.254637305234233e-6,1.424182454315981e-8,-7.213447052154808e-4,6.357313551246988e-6,1.427987548429127e-8,-7.211489353260135e-4,6.485977719230195e-6,1.432706196354135e-8,-7.210249390732579e-4,6.610178726644471e-6,1.4372391800318248e-8,-7.209673047686168e-4,6.69888928465445e-6,1.440471413451235e-8,-7.209601280974389e-4,6.7240278150433335e-6,1.4413965009805703e-8,-7.20977427897608e-4,6.664882671759e-6,1.4392744472576701e-8,-7.209854343714221e-4,6.51295128433434e-6,1.4338056762127022e-8,-7.209473640933031e-4,6.27595967171071e-6,1.4252764848687728e-8,-7.20830498270342e-4,5.979351536502665e-6,1.4146129546232638e-8,-7.206142541252474e-4,5.663667819126294e-6,1.4032848951131945e-8,-7.202969652261338e-4,5.377288241995543e-6,1.3930404038766788e-8,-7.198989165010806e-4,5.1656853148451214e-6,1.3855144520274798e-8,-7.194600346572165e-4,5.059761967389392e-6,1.381807600558674e-8,-7.190320840484526e-4,5.066413372274996e-6,1.3821501796020195e-8,-7.186667008859963e-4,5.164217116728777e-6,1.3857550892980985e-8,-7.184018625214499e-4,5.306290101127747e-6,1.3909277458429183e-8,-7.182503872805278e-4,5.430848543585556e-6,1.3954476928807232e-8,-7.181945402363831e-4,5.477745639924967e-6,1.3971593615188382e-8,-7.181899363308149e-4,5.406401461740874e-6,1.3946114620028615e-8,-7.181787956068019e-4,5.208432912413644e-6,1.3875092760960466e-8,-7.181080232052682e-4,4.909307597908525e-6,1.3767756999698908e-8,-7.179446434546303e-4,4.558250395919083e-6,1.3641890350548404e-8,-7.176825410055812e-4,4.2115104900122955e-6,1.3517783575060329e-8,-7.173394303115774e-4,3.9166207270580965e-6,1.3412530864261023e-8,-7.169476918402883e-4,3.7030604472824477e-6,1.3336657086835069e-8,-7.165441754546074e-4,3.5802790936875876e-6,1.3293434686648582e-8,-7.161624370313028e-4,3.540740334466443e-6,1.3280030267105057e-8,-7.158283342384227e-4,3.5648889198243974e-6,1.3289336702046267e-8,-7.155582446948228e-4,3.6259309695520506e-6,1.3311712356351884e-8,-7.153587035969551e-4,3.6936410852722728e-6,1.3336343509346127e-8,-7.152264834437153e-4,3.7373251672731826e-6,1.3352284086218272e-8,-7.151486443905965e-4,3.7285507918335262e-6,1.3349406474614047e-8,-7.151027106872547e-4,3.6443643170977546e-6,1.3319531867733131e-8,-7.150577088567976e-4,3.471371309569102e-6,1.3257885044742072e-8,-7.149771233861474e-4,3.2102934517910352e-6,1.3164734543938834e-8,-7.148246566289133e-4,2.879607352494538e-6,1.304671174381637e-8,-7.145727155168279e-4,2.5159715205526265e-6,1.2916970172838227e-8,-7.14211741474117e-4,2.1691340011926946e-6,1.2793345447593278e-8,-7.13756704294834e-4,1.8907340958244058e-6,1.2694309938959155e-8,-7.13246867286023e-4,1.7195895090076379e-6,1.263368292154631e-8,-7.127372110269032e-4,1.6687917986243744e-6,1.2616035558109819e-8,-7.122837106314069e-4,1.7200599947476228e-6,1.2634736954970411e-8,-7.11927625851379e-4,1.8279231828251246e-6,1.2673513419775649e-8,-7.116842639270483e-4,1.9322272870562014e-6,1.2710931582090524e-8,-7.115395372739504e-4,1.9745795969288553e-6,1.2726232447310445e-8,-7.114547557725002e-4,1.9136654302389338e-6,1.270474472926178e-8,-7.113777961538001e-4,1.735292690655213e-6,1.2641441637291946e-8,-7.112572859060644e-4,1.4546876493828617e-6,1.2541763992937194e-8,-7.110556761496227e-4,1.1107338000528394e-6,1.2419577806846834e-8,-7.107574398631749e-4,7.542984399074633e-7,1.2293006190122626e-8,-7.103703854584871e-4,4.3467766591549663e-7,1.2179579666103922e-8,-7.099206413352514e-4,1.8848792044254664e-7,1.209227121863942e-8,-7.094440058956009e-4,3.38112439872334e-8,1.2037433652280913e-8,-7.089770272256449e-4,-3.005946575574514e-8,1.2014751159396523e-8,-7.085502677011695e-4,-1.8942666134325098e-8,1.2018584823579895e-8,-7.081845728037587e-4,4.1504324056836106e-8,1.2039859175127503e-8,-7.078898530136206e-4,1.2085396250360532e-7,1.2067846450829226e-8,-7.07665357590904e-4,1.8796389173417595e-7,1.2091574008084617e-8,-7.075005062641622e-4,2.1404627281451953e-7,1.2100880394544461e-8,-7.073757642706145e-4,1.7527949313218791e-7,1.2087321949694448e-8,-7.072636271028598e-4,5.563556618695607e-8,1.2045175593473184e-8,-7.07130371455471e-4,-1.496666377152965e-7,1.1972682276401499e-8,-7.069396260706627e-4,-4.3038263800395507e-7,1.1873415802529695e-8,-7.06658736467273e-4,-7.585342773530107e-7,1.1757266370952408e-8,-7.062679103912365e-4,-1.0893111587869973e-6,1.164011958067034e-8,-7.057699493448573e-4,-1.3683565279279107e-6,1.1541242460665835e-8,-7.051958014848092e-4,-1.546143275736306e-6,1.1478149826314971e-8,-7.046006461074884e-4,-1.5955509000684547e-6,1.1460378253613378e-8,-7.040489785775769e-4,-1.5244730508863847e-6,1.1485082661954835e-8,-7.035938487042454e-4,-1.3758182686775965e-6,1.1537113738876136e-8,-7.032597812034259e-4,-1.2137575651664247e-6,1.1593901613711014e-8,-7.030369079407669e-4,-1.1027795845962554e-6,1.1632801609042198e-8,-7.028872532957906e-4,-1.0889580682558247e-6,1.1637630789638363e-8,-7.027584678100196e-4,-1.1897271998792792e-6,1.1602238033439061e-8,-7.025988796732991e-4,-1.3932883666335377e-6,1.1530725736851102e-8,-7.02369467900341e-4,-1.6652872066721532e-6,1.1435125811886794e-8,-7.020507465969052e-4,-1.959328698109832e-6,1.1331711320640786e-8,-7.016442939978633e-4,-2.2282184952551496e-6,1.1237034626369414e-8,-7.011697035243303e-4,-2.4335618600813347e-6,1.1164544945400339e-8,-7.006583801112918e-4,-2.5521150452073807e-6,1.1122365961218336e-8,-7.001460060304543e-4,-2.5781375982917395e-6,1.1112496075816941e-8,-6.996655112290227e-4,-2.5220161431554106e-6,1.1131319063948755e-8,-6.992418776281199e-4,-2.4062965783673872e-6,1.1171004748331547e-8,-6.988893060139256e-4,-2.260591788360715e-6,1.1221277939326513e-8,-6.986105278643894e-4,-2.1166353920163535e-6,1.1271116834225942e-8,-6.983975667488254e-4,-2.0042272969958953e-6,1.1310137596645092e-8,-6.982331775114807e-4,-1.948167868728002e-6,1.1329646935505253e-8,-6.980924984224593e-4,-1.9658036073505293e-6,1.1323502940205919e-8,-6.979449169280985e-4,-2.064692866216944e-6,1.128895545665963e-8,-6.977566158534427e-4,-2.240091878769088e-6,1.1227562045779688e-8,-6.974946560896657e-4,-2.4725062008836e-6,1.1146078731656455e-8,-6.971334322778307e-4,-2.7265579611108132e-6,1.1056870056968845e-8,-6.966634001809645e-4,-2.9535495920723803e-6,1.0976992639682918e-8,-6.960998225694706e-4,-3.1003923112501523e-6,1.0925024976391107e-8,-6.954864809875409e-4,-3.125514095301827e-6,1.0915470365326537e-8,-6.94888405730523e-4,-3.0171655312078273e-6,1.0952385872816837e-8,-6.943721615170897e-4,-2.8040956720319907e-6,1.1025740558355747e-8,-6.939812476892919e-4,-2.5493950355256136e-6,1.111363121856989e-8,-6.937199582600355e-4,-2.328052856844355e-6,1.119007794880418e-8,-6.935545525919977e-4,-2.199995786806156e-6,1.123431816683279e-8,-6.93429179173718e-4,-2.1924546956316556e-6,1.1236874298485071e-8,-6.932862200777068e-4,-2.2974342328778687e-6,1.1200440938200634e-8,-6.930818299262455e-4,-2.4806963116481874e-6,1.1136809772812793e-8,-6.927932877982263e-4,-2.69515791678022e-6,1.1062250907052743e-8,-6.924193527516066e-4,-2.8932872464684024e-6,1.0993214408490107e-8,-6.919763333906085e-4,-3.036081365862266e-6,1.0943205101581768e-8,-6.91492215226939e-4,-3.098326934476717e-6,1.0920952638432522e-8,-6.910002904512773e-4,-3.070683044984637e-6,1.0929697707612377e-8,-6.905331356871504e-4,-2.959140124946023e-6,1.0967394783237994e-8,-6.90117596465121e-4,-2.7823877442401985e-6,1.1027633804261848e-8,-6.897712626577218e-4,-2.567793687719598e-6,1.1101026790081565e-8,-6.895006358475275e-4,-2.3467550008997916e-6,1.1176795508382824e-8,-6.89300944615274e-4,-2.150115599113473e-6,1.1244329229978124e-8,-6.891573100006782e-4,-2.00424231133623e-6,1.1294520632905088e-8,-6.890467540316551e-4,-1.9280356409594636e-6,1.1320793607430406e-8,-6.889406381638624e-4,-1.930734024848246e-6,1.1319874885504703e-8,-6.888074504279619e-4,-2.0102414136189414e-6,1.1292397488351405e-8,-6.886161724085662e-4,-2.1518695593095066e-6,1.1243363432643985e-8,-6.883407101463712e-4,-2.327739840236361e-6,1.1182368829498123e-8,-6.879658514959947e-4,-2.497813089077346e-6,1.1123245267791766e-8,-6.874944007746656e-4,-2.6143891697839814e-6,1.108247815801189e-8,-6.869533275424424e-4,-2.6320148015926607e-6,1.1075749525894508e-8,-6.863944546199724e-4,-2.522826202578732e-6,1.1112635168862053e-8,-6.858844538666012e-4,-2.2926275030821306e-6,1.1191109583836215e-8,-6.854832279089802e-4,-1.9877298379677976e-6,1.1295269233710088e-8,-6.852191743942243e-4,-1.6834486218362717e-6,1.1399318636952878e-8,-6.850762207670568e-4,-1.4561494259965552e-6,1.1477115718733162e-8,-6.850017506227822e-4,-1.353885669014518e-6,1.1512169978020316e-8,-6.849299395502611e-4,-1.382232489232581e-6,1.1502489363880025e-8,-6.848057305429362e-4,-1.5099055715152289e-6,1.1458706325152704e-8,-6.845983153559325e-4,-1.6859188037799119e-6,1.1398245647313847e-8,-6.843027428170722e-4,-1.8571846721204412e-6,1.1339299333489303e-8,-6.839342878524915e-4,-1.9804742909492373e-6,1.1296704524613013e-8,-6.83520537940993e-4,-2.0280142608472192e-6,1.1280001238857747e-8,-6.830941226507634e-4,-1.9884992920636643e-6,1.1293074773063915e-8,-6.826870433621648e-4,-1.8656132505174621e-6,1.13346680053564e-8,-6.823264387413217e-4,-1.6753696630438363e-6,1.1399305110651174e-8,-6.82031487121087e-4,-1.4427423697938251e-6,1.1478456664893744e-8,-6.818114056550049e-4,-1.1978017957364357e-6,1.1561864398442774e-8,-6.816645845240956e-4,-9.716026242010502e-7,1.1638940368353777e-8,-6.81578901101889e-4,-7.920793248862827e-7,1.1700156773758746e-8,-6.815332503350359e-4,-6.803319074311323e-7,1.173830361103633e-8,-6.815001275355418e-4,-6.477490111422285e-7,1.1749467706559448e-8,-6.814489184104265e-4,-6.941843501332436e-7,1.1733661035226025e-8,-6.813496403718091e-4,-8.071935459534741e-7,1.1695093476635976e-8,-6.81177053403738e-4,-9.623862476189849e-7,1.164206416834527e-8,-6.809151476327394e-4,-1.1251098518570805e-6,1.158639073471916e-8,-6.80561933977751e-4,-1.254012468855875e-6,1.154218474453644e-8,-6.801338767888566e-4,-1.307464024167702e-6,1.1523643336190613e-8,-6.79668066854345e-4,-1.2535982747354408e-6,1.1541612761355467e-8,-6.792188902309273e-4,-1.0830088825351644e-6,1.1599275967291585e-8,-6.78845970446115e-4,-8.196398734036575e-7,1.1688487599342648e-8,-6.785938804680131e-4,-5.21865523976247e-7,1.1789443842818592e-8,-6.784716853381285e-4,-2.670917135713526e-7,1.1875898145539714e-8,-6.784454801674145e-4,-1.229862560247459e-7,1.1924869708763637e-8,-6.78451422731065e-4,-1.2039502744957288e-7,1.1925808501975738e-8,-6.784224136183189e-4,-2.4413852327126643e-7,1.188376744728601e-8,-6.783122474568518e-4,-4.450160638167141e-7,1.1815400961230667e-8,-6.781056774875232e-4,-6.622121589485789e-7,1.1741382274874111e-8,-6.778146379208505e-4,-8.426921141446391e-7,1.1679787181502826e-8,-6.774678679897052e-4,-9.513665380458594e-7,1.1642596348323024e-8,-6.771004646386013e-4,-9.730261227384026e-7,1.163500954750871e-8,-6.767463032638174e-4,-9.096388229470013e-7,1.165635793010542e-8,-6.764335621130428e-4,-7.761178639860844e-7,1.170155308564171e-8,-6.761823408651586e-4,-5.962181208590508e-7,1.1762500661860506e-8,-6.76003339470729e-4,-3.9886548663780184e-7,1.1829366116277767e-8,-6.758971746004418e-4,-2.1465214616865e-7,1.189177429067364e-8,-6.75854349008327e-4,-7.229850977163453e-8,1.1940006997847552e-8,-6.758560464209218e-4,4.947983413017979e-9,1.1966210837941946e-8,-6.75876029123182e-4,2.7488136745964224e-9,1.196554475242547e-8,-6.758837935815457e-4,-8.161918553295126e-8,1.1937085753012027e-8,-6.758487615666738e-4,-2.3790708629766936e-7,1.1884286585775744e-8,-6.757450114730958e-4,-4.432901815565406e-7,1.1814847546413683e-8,-6.75555981832124e-4,-6.647221873892998e-7,1.1739927591423942e-8,-6.752785440219556e-4,-8.632714013106472e-7,1.1672680443195546e-8,-6.749257989924772e-4,-1.0003070529774613e-6,1.1626159710092367e-8,-6.745277736728225e-4,-1.04533785405786e-6,1.1610666373841045e-8,-6.74128768082691e-4,-9.849061499935828e-7,1.1630749295767326e-8,-6.737798662443241e-4,-8.306924641557072e-7,1.1682486866486084e-8,-6.735259935027122e-4,-6.231378273326227e-7,1.1752281613645974e-8,-6.733897881249691e-4,-4.257941722485988e-7,1.1818755484053001e-8,-6.733589931298577e-4,-3.0779861157673254e-7,1.185861347121806e-8,-6.733862647382449e-4,-3.189045445843042e-7,1.1855019353474524e-8,-6.734052719418553e-4,-4.6933352922082787e-7,1.1804407956455615e-8,-6.73356095178138e-4,-7.26669545411652e-7,1.1717608951207223e-8,-6.732058920007578e-4,-1.03135768079192e-6,1.1614681309859787e-8,-6.729549688437168e-4,-1.3203085634674708e-6,1.1516948301661333e-8,-6.726292231984343e-4,-1.5456410863813466e-6,1.1440629950089799e-8,-6.722669138054278e-4,-1.6825813512472906e-6,1.1394139323916218e-8,-6.719069745690607e-4,-1.728292691642922e-6,1.1378462534167964e-8,-6.715817867987357e-4,-1.6963310651301452e-6,1.1389032635968985e-8,-6.713140269531039e-4,-1.6104898771342205e-6,1.1417818254359392e-8,-6.711159576172181e-4,-1.4997911391117643e-6,1.1455027849828653e-8,-6.7098967808978e-4,-1.3947627025395655e-6,1.1490377166722129e-8,-6.709276170943395e-4,-1.3244157649111584e-6,1.1514110299334853e-8,-6.709132260466664e-4,-1.3133527174552276e-6,1.1517964713543777e-8,-6.709221924822578e-4,-1.3787160274900425e-6,1.1496180968261428e-8,-6.709246793383498e-4,-1.5271024239717297e-6,1.144652479963841e-8,-6.708890101922466e-4,-1.7521057789037506e-6,1.1371108056069637e-8,-6.707867329827515e-4,-2.03349427394575e-6,1.1276673671676083e-8,-6.705983390374779e-4,-2.3389296906621046e-6,1.1174033427878806e-8,-6.703183942720542e-4,-2.6286525837106187e-6,1.1076507144233978e-8,-6.699586275639561e-4,-2.862764821608109e-6,1.0997482902064068e-8,-6.695477636789244e-4,-3.009877260332382e-6,1.0947514998244096e-8,-6.691275106414471e-4,-3.0553669347500317e-6,1.093155672567259e-8,-6.687448110835039e-4,-3.0073333148598256e-6,1.0946969098039167e-8,-6.684411914721439e-4,-2.8982694801256994e-6,1.09829603567278e-8,-6.682410506419115e-4,-2.7805932569171573e-6,1.1022061743662119e-8,-6.681420923177971e-4,-2.7151112480580224e-6,1.1043947687668447e-8,-6.681122430425281e-4,-2.7538322953627776e-6,1.103115103055556e-8,-6.680967532338296e-4,-2.922229780866871e-6,1.0975005824736362e-8,-6.680351768836946e-4,-3.208938989025025e-6,1.0879155445024393e-8,-6.678818198079746e-4,-3.569206800689314e-6,1.07584697087957e-8,-6.676199799142348e-4,-3.941264216912157e-6,1.0633592515886972e-8,-6.672637124200508e-4,-4.26723863883779e-6,1.0523919613312888e-8,-6.668484745365341e-4,-4.508722102625259e-6,1.0442353880863865e-8,-6.664173881818245e-4,-4.652194081672177e-6,1.0393476953270497e-8,-6.660096559372878e-4,-4.705856726945458e-6,1.0374609216835914e-8,-6.6565400917304e-4,-4.692450116383464e-6,1.0378215067070535e-8,-6.65366691378365e-4,-4.641992506869934e-6,1.0394325668100645e-8,-6.651520724436302e-4,-4.586289293999795e-6,1.0412367136578511e-8,-6.650041770194664e-4,-4.555288303349263e-6,1.0422370733593156e-8,-6.649082145975189e-4,-4.574557922642622e-6,1.0415807035090087e-8,-6.648419516531094e-4,-4.663098319825658e-6,1.0386306849815094e-8,-6.647772977923628e-4,-4.830967209773467e-6,1.0330446811403125e-8,-6.64682793482468e-4,-5.0767082913095886e-6,1.0248610310513204e-8,-6.645276535009935e-4,-5.385272368662441e-6,1.014569716509483e-8,-6.642874935506787e-4,-5.727739295789978e-6,1.0031241672519338e-8,-6.639508926581502e-4,-6.064303841982294e-6,9.918438764338643e-9,-6.635248175263377e-4,-6.351327713612035e-6,9.821803180388749e-9,-6.630363208422775e-4,-6.551644593751551e-6,9.753736842483382e-9,-6.625286011154107e-4,-6.6453412099685115e-6,9.720943269391243e-9,-6.620515220562129e-4,-6.637210765563028e-6,9.721958663164957e-9,-6.616490030515382e-4,-6.557815458928014e-6,9.746799934408593e-9,-6.613470434299081e-4,-6.457206611119339e-6,9.779019488102298e-9,-6.611460182660693e-4,-6.3927400851426745e-6,9.799687434697574e-9,-6.610196289517972e-4,-6.414181155194645e-6,9.79227361540468e-9,-6.609211623926225e-4,-6.550090663171576e-6,9.747151909141079e-9,-6.607958578615187e-4,-6.799453044112043e-6,9.664428684028409e-9,-6.605961968829965e-4,-7.131600161094896e-6,9.554052462247139e-9,-6.602952658559864e-4,-7.495192731900008e-6,9.432897717263338e-9,-6.59893337291204e-4,-7.833471097170003e-6,9.319721647992294e-9,-6.594154199307799e-4,-8.10003951822256e-6,9.229912967892944e-9,-6.589015974741606e-4,-8.26940720505979e-6,9.171982193286219e-9,-6.583948475325114e-4,-8.339570999084169e-6,9.146702941363071e-9,-6.579310057521284e-4,-8.32782653290947e-6,9.1484953460235e-9,-6.575332522116057e-4,-8.26326332931551e-6,9.167892353553748e-9,-6.572109057110091e-4,-8.179301464685762e-6,9.193979644439203e-9,-6.569608894446945e-4,-8.108097437895046e-6,9.21621770862212e-9,-6.56770170806039e-4,-8.077049399664383e-6,9.225578151807406e-9,-6.566181353193237e-4,-8.106736580969876e-6,9.2152178288862e-9,-6.56478602741209e-4,-8.209430423295186e-6,9.18097422655523e-9,-6.563217982510564e-4,-8.387533414582957e-6,9.121895607077113e-9,-6.561169927829369e-4,-8.631800308226666e-6,9.04085550962115e-9,-6.558365936151278e-4,-8.91992576094595e-6,8.945052981019506e-9,-6.55462020900297e-4,-9.216878126763627e-6,8.845932484547084e-9,-6.549905970801155e-4,-9.47883318251498e-6,8.757896962005024e-9,-6.544410174747893e-4,-9.66200422791736e-6,8.695387849400742e-9,-6.538536905887626e-4,-9.73541782277881e-6,8.668667779698704e-9,-6.532830284212719e-4,-9.693338183562016e-6,8.679746644976681e-9,-6.527824423394355e-4,-9.561069012846983e-6,8.72050444633388e-9,-6.523874598641779e-4,-9.389804754378765e-6,8.77438033627454e-9,-6.521043283306284e-4,-9.24162630277522e-6,8.821227300503736e-9,-6.519088365606864e-4,-9.170835057503315e-6,8.843328210896267e-9,-6.517549256998489e-4,-9.20896440435165e-6,8.83024338053133e-9,-6.515887679402991e-4,-9.35797527614904e-6,8.781065819974303e-9,-6.513631828401716e-4,-9.592194273994584e-6,8.703882366870197e-9,-6.510485784423071e-4,-9.866901365965093e-6,8.613066195460134e-9,-6.506383852720353e-4,-1.0130449155765347e-5,8.525370284901691e-9,-6.501484713535216e-4,-1.0336665778532513e-5,8.455876704000505e-9,-6.496113485493177e-4,-1.0454609877589606e-5,8.414782975243667e-9,-6.490671674646127e-4,-1.0473577830441985e-5,8.405737418544261e-9,-6.485542315122563e-4,-1.0402716045749107e-5,8.42594207718587e-9,-6.48101570190052e-4,-1.0266290315339773e-5,8.467673384414735e-9,-6.477249772667448e-4,-1.0096801161149698e-5,8.520499798179897e-9,-6.474264817325805e-4,-9.928189624151298e-6,8.573469231980985e-9,-6.471962142913522e-4,-9.790591753984345e-6,8.616798727509629e-9,-6.470153398393853e-4,-9.707072173579713e-6,8.642931881769316e-9,-6.4685902944632e-4,-9.691946903899617e-6,8.647090904414083e-9,-6.466990567131604e-4,-9.749935634588221e-6,8.627569008879582e-9,-6.465061945891082e-4,-9.875497327061216e-6,8.585973740369635e-9,-6.462529770962636e-4,-1.005213254042066e-5,8.527489357020453e-9,-6.459175297868126e-4,-1.0252057697941712e-5,8.46101921967877e-9,-6.454888874271263e-4,-1.0437434177263124e-5,8.398808897746156e-9,-6.449732096697071e-4,-1.0564966265109888e-5,8.354946495019238e-9,-6.4439852831923e-4,-1.0595381812212404e-5,8.34225639995346e-9,-6.438138844513587e-4,-1.0507072144502154e-5,8.367854756241516e-9,-6.432790367365826e-4,-1.0308974899831868e-5,8.428993979308454e-9,-6.428454586197086e-4,-1.0044472629606271e-5,8.511840347096126e-9,-6.425364546618369e-4,-9.780404242463435e-6,8.595019151624936e-9,-6.423374992473061e-4,-9.584105091257316e-6,8.656940621566346e-9,-6.422025862017104e-4,-9.499924509528801e-6,8.683268961814048e-9,-6.420723318815535e-4,-9.536788226021915e-6,8.6709032555823e-9,-6.418937058551346e-4,-9.670339340684684e-6,8.62736165406817e-9,-6.416333150807353e-4,-9.854985606826542e-6,8.567021549391805e-9,-6.412819489618678e-4,-1.0038675384978085e-5,8.506456394204669e-9,-6.40852233208935e-4,-1.0175358821881159e-5,8.460459308358457e-9,-6.403723843214741e-4,-1.0233119886925515e-5,8.439407583253215e-9,-6.398785177155639e-4,-1.0197922583846564e-5,8.44800812947473e-9,-6.394070755339369e-4,-1.0073651943128085e-5,8.485229457435074e-9,-6.389883923031362e-4,-9.879211991447938e-6,8.545190825663756e-9,-6.386421940044092e-4,-9.643564938301254e-6,8.61872891621823e-9,-6.383754932638375e-4,-9.399866438278023e-6,8.695270282083074e-9,-6.381828126059341e-4,-9.179868626602678e-6,8.764629424150486e-9,-6.380482197594612e-4,-9.009455497870036e-6,8.818449463555083e-9,-6.379484020972791e-4,-8.905757191846968e-6,8.851137444227476e-9,-6.378559844764216e-4,-8.875794396678722e-6,8.860308373744816e-9,-6.37742611576723e-4,-8.916182840260416e-6,8.846890961194638e-9,-6.375817826161573e-4,-9.013389503892508e-6,8.815063136955268e-9,-6.373517365413405e-4,-9.144324590548281e-6,8.772088767448038e-9,-6.37038822435467e-4,-9.277480646007872e-6,8.727983133697308e-9,-6.366416476230471e-4,-9.375433709051482e-6,8.69473010267958e-9,-6.361755073060954e-4,-9.400076070259292e-6,8.68460137525384e-9,-6.356751215483993e-4,-9.321725715954837e-6,8.70721463674457e-9,-6.351921226563311e-4,-9.131431137281154e-6,8.765577089452952e-9,-6.34783668220924e-4,-8.851983055038034e-6,8.852573074499977e-9,-6.34492590110691e-4,-8.53933103808297e-6,8.950528563696693e-9,-6.343273922649219e-4,-8.26772377613986e-6,9.035920785086607e-9,-6.342551582389573e-4,-8.102013804904856e-6,9.088118007656425e-9,-6.342142013915741e-4,-8.071933386762328e-6,9.097504097485443e-9,-6.341394360266019e-4,-8.163387841999844e-6,9.06827899549311e-9,-6.339853162802021e-4,-8.329403778276332e-6,9.01508325066568e-9,-6.337359214736137e-4,-8.510810762680521e-6,8.956528860220945e-9,-6.334023030696212e-4,-8.65473815155575e-6,8.909374863487501e-9,-6.330132471509208e-4,-8.725202991217194e-6,8.885158614041552e-9,-6.326051717095914e-4,-8.706169178413972e-6,8.889176992237429e-9,-6.32214019748295e-4,-8.599843727994052e-6,8.920959050065301e-9,-6.318697327111989e-4,-8.422780448879686e-6,8.975440229886825e-9,-6.315928418750007e-4,-8.20125617049522e-6,9.044392176943476e-9,-6.313926873838825e-4,-7.966459175451952e-6,9.117945199759327e-9,-6.31267082506243e-4,-7.749777386235528e-6,9.186104282521891e-9,-6.312033160743475e-4,-7.5785372180136775e-6,9.240130028371382e-9,-6.311803126735913e-4,-7.472534294452365e-6,9.273661681811642e-9,-6.311716770969148e-4,-7.441681249593242e-6,9.283469414099118e-9,-6.311491861629334e-4,-7.484987837433047e-6,9.269772409499044e-9,-6.310862639818491e-4,-7.590780571477355e-6,9.236162458649285e-9,-6.309612058273856e-4,-7.737892241529536e-6,9.189230845951367e-9,-6.307601275839634e-4,-7.897660405035442e-6,9.137956611667645e-9,-6.304796987183105e-4,-8.036756534142556e-6,9.09284140190737e-9,-6.301296693209371e-4,-8.121168651637492e-6,9.064674114885852e-9,-6.297347052073675e-4,-8.122014010732786e-6,9.062695008476826e-9,-6.293340333682221e-4,-8.02357893613418e-6,9.092032490280441e-9,-6.289764922907992e-4,-7.832498886235678e-6,9.150771158405365e-9,-6.287088356458074e-4,-7.584313389584958e-6,9.227855564074418e-9,-6.285582300395714e-4,-7.340955663643736e-6,9.303857526237659e-9,-6.285162181702288e-4,-7.173981894358338e-6,9.35622506385365e-9,-6.28535844534191e-4,-7.137050918742098e-6,9.367918818323381e-9,-6.285482266619833e-4,-7.242236086511384e-6,9.334891322630107e-9,-6.284908233474023e-4,-7.4556587282647425e-6,9.267547066221383e-9,-6.28330425274692e-4,-7.714648020679488e-6,9.185435045716488e-9,-6.28069302206002e-4,-7.95377724697567e-6,9.109102634548203e-9,-6.277362671666278e-4,-8.124785819023314e-6,9.053825972438715e-9,-6.273721375619873e-4,-8.204270724462586e-6,9.02715680817319e-9,-6.27017398081553e-4,-8.191793049541557e-6,9.029461806338658e-9,-6.267047725449272e-4,-8.103665827061228e-6,9.055810702686439e-9,-6.26456043916988e-4,-7.966249400547607e-6,9.098033223137005e-9,-6.26281416479543e-4,-7.810389877515416e-6,9.146451274581206e-9,-6.261800463441795e-4,-7.667092566462788e-6,9.191260130576387e-9,-6.261411718711373e-4,-7.564004290537873e-6,9.223675064183579e-9,-6.261457836463466e-4,-7.522438367703082e-6,9.23690378724907e-9,-6.261689058554466e-4,-7.554911651594159e-6,9.226935824039986e-9,-6.26182575765119e-4,-7.663394769762143e-6,9.193084339014298e-9,-6.261594321595429e-4,-7.83867655737204e-6,9.138166390547462e-9,-6.26076519398364e-4,-8.061135092227624e-6,9.068247870454783e-9,-6.259188201018052e-4,-8.302926480673475e-6,8.991964522431026e-9,-6.256821123187454e-4,-8.531474630101965e-6,8.919455933728389e-9,-6.253747887567023e-4,-8.714062415411706e-6,8.860964423618094e-9,-6.250183114255093e-4,-8.823240323023451e-6,8.825167866103795e-9,-6.246458882436894e-4,-8.842823215536685e-6,8.817300503612222e-9,-6.242985755887415e-4,-8.774026346559433e-6,8.837199099376945e-9,-6.240177934968095e-4,-8.640273119230142e-6,8.87774343727035e-9,-6.238340168367981e-4,-8.487734929015043e-6,8.924628410892147e-9,-6.237537835039231e-4,-8.37786762163323e-6,8.958649435262117e-9,-6.237508622334895e-4,-8.370050553809897e-6,8.961109428361436e-9,-6.237694285501078e-4,-8.498608243715725e-6,8.921029687418638e-9,-6.237425116459058e-4,-8.75592709653261e-6,8.840509552635665e-9,-6.236182223750581e-4,-9.0935440897417e-6,8.734482255018053e-9,-6.233789176946422e-4,-9.44210315649724e-6,8.62453087546554e-9,-6.230431618178639e-4,-9.738006393072087e-6,8.530559779025655e-9,-6.226528415322329e-4,-9.942072412796151e-6,8.464944949980187e-9,-6.222558156538971e-4,-1.0044216892862036e-5,8.431044644216811e-9,-6.218928123420268e-4,-1.0057759649626142e-5,8.424931676993069e-9,-6.215911924046659e-4,-1.0010051523072495e-5,8.438260126232764e-9,-6.213639804945358e-4,-9.934048776771606e-6,8.460847692598394e-9,-6.212115296909202e-4,-9.862436775050359e-6,8.482499035264433e-9,-6.211238864357817e-4,-9.823973462843352e-6,8.494171700339035e-9,-6.210830596535341e-4,-9.841115150435778e-6,8.488757155704299e-9,-6.210651942122257e-4,-9.928215073960674e-6,8.461672312188594e-9,-6.210429443543682e-4,-1.0090001829574346e-5,8.411340895070526e-9,-6.209883936927952e-4,-1.032045635967511e-5,8.339532086435201e-9,-6.208766895726924e-4,-1.0602611237518307e-5,8.251410557946112e-9,-6.206901011511374e-4,-1.0909904384581257e-5,8.155117882712867e-9,-6.204217801816662e-4,-1.1209428967393452e-5,8.060785794006027e-9,-6.200783346355796e-4,-1.1467000570356854e-5,7.978999665257574e-9,-6.196803527606607e-4,-1.1653487857353938e-5,7.918867885019981e-9,-6.192602675084233e-4,-1.1751341629004252e-5,7.886009589301413e-9,-6.18857430993645e-4,-1.1760013081941588e-5,7.880853644284182e-9,-6.185107199373036e-4,-1.1698990162283051e-5,7.897639687734814e-9,-6.182494033759342e-4,-1.1607106693188978e-5,7.924550386176266e-9,-6.180837782626559e-4,-1.1536704553317361e-5,7.945441153139379e-9,-6.17998354061986e-4,-1.1541930108901036e-5,7.943422534415343e-9,-6.179514865732182e-4,-1.1662608663681637e-5,7.905878369024749e-9,-6.178847530264709e-4,-1.1908666705688085e-5,7.829382187794986e-9,-6.177413716940561e-4,-1.225291771545529e-5,7.722050838337925e-9,-6.174866683392963e-4,-1.2638281908291842e-5,7.601388082277714e-9,-6.171202061499132e-4,-1.2997807711744528e-5,7.488094639614473e-9,-6.166733164451345e-4,-1.3277552122048224e-5,7.398956214429256e-9,-6.161948260617495e-4,-1.3451111439177265e-5,7.342324255674225e-9,-6.157338992816079e-4,-1.3521276834735159e-5,7.317585667968248e-9,-6.153277910312762e-4,-1.351221220619276e-5,7.3175400954822244e-9,-6.149969832299286e-4,-1.345864223227892e-5,7.331678474457581e-9,-6.147459001310118e-4,-1.3396792379450818e-5,7.3489284361196675e-9,-6.14566195981989e-4,-1.335865891362545e-5,7.3594093806847335e-9,-6.144404163975216e-4,-1.3369061432935648e-5,7.3553652588823905e-9,-6.143451013492217e-4,-1.3444276092296466e-5,7.331624223806665e-9,-6.142533201726146e-4,-1.3591271145411236e-5,7.285864502738724e-9,-6.141370824533147e-4,-1.3807054893883965e-5,7.2188286363125555e-9,-6.139701752177742e-4,-1.4078197634895255e-5,7.134475176715785e-9,-6.137317622253945e-4,-1.4381127354302392e-5,7.03989660873347e-9,-6.13410548401449e-4,-1.4684067691371548e-5,6.944744457685035e-9,-6.130086364730966e-4,-1.4951295234998012e-5,6.8599511266353936e-9,-6.125436581487522e-4,-1.5149749237378634e-5,6.795727421966501e-9,-6.120476639627279e-4,-1.5256983677622905e-5,6.759136642679807e-9,-6.115619176413706e-4,-1.5268340231572266e-5,6.751886205597447e-9,-6.111281095430912e-4,-1.520077746265615e-5,6.769114447606619e-9,-6.107779587857513e-4,-1.5091461683002552e-5,6.799746818271109e-9,-6.10524015294988e-4,-1.4990666324170982e-5,6.828571027830531e-9,-6.103544553284269e-4,-1.4950126437351983e-5,6.839718154874809e-9,-6.10233932630094e-4,-1.5009403395997819e-5,6.820816675408024e-9,-6.101112797303565e-4,-1.5183860384006196e-5,6.7667449207401965e-9,-6.099330136988942e-4,-1.5458296216177136e-5,6.6817180549403645e-9,-6.096591780398321e-4,-1.5789545255279567e-5,6.578625916310926e-9,-6.092759401267423e-4,-1.611861496564348e-5,6.475384794437283e-9,-6.087995316766636e-4,-1.638857118742033e-5,6.389456320634693e-9,-6.082696917744599e-4,-1.656102986792536e-5,6.332762451172584e-9,-6.07735931357823e-4,-1.6624724248411486e-5,6.309028251969762e-9,-6.07243028636269e-4,-1.659408062376702e-5,6.314176973263146e-9,-6.068212130456064e-4,-1.6500688633924005e-5,6.3388763395423195e-9,-6.064828882107512e-4,-1.6382732655089433e-5,6.3716957047222936e-9,-6.062244250029457e-4,-1.6276375396916556e-5,6.401688363734559e-9,-6.060303124501623e-4,-1.6210566121514825e-5,6.41997117246288e-9,-6.058775295989655e-4,-1.6204774019256874e-5,6.420448907864246e-9,-6.057391575612956e-4,-1.6268443228459086e-5,6.400024095330046e-9,-6.055871563899351e-4,-1.640110876257458e-5,6.358597590462493e-9,-6.053947651586242e-4,-1.6592563064539658e-5,6.299040120511544e-9,-6.051391799853258e-4,-1.6823062293831563e-5,6.2271479239230684e-9,-6.04804958969757e-4,-1.7064185629920318e-5,6.15140407656365e-9,-6.043880305658054e-4,-1.7281339145854306e-5,6.082244629251485e-9,-6.038993664978827e-4,-1.743882255386278e-5,6.03054138334135e-9,-6.033664982363028e-4,-1.7507647128342022e-5,6.005236775662678e-9,-6.028306776843586e-4,-1.747471621344875e-5,6.0105545030052955e-9,-6.02338498179153e-4,-1.7350074414647643e-5,6.043785475000533e-9,-6.019293636463869e-4,-1.7168208077473955e-5,6.094852354472843e-9,-6.016229799273229e-4,-1.6981102965108023e-5,6.148328418570691e-9,-6.014120043088848e-4,-1.6844415703121967e-5,6.1875079574704055e-9,-6.012631542790681e-4,-1.6801491798937394e-5,6.199152357907398e-9,-6.011264926259588e-4,-1.687094638850435e-5,6.177250027198649e-9,-6.009494858060641e-4,-1.7041783355707502e-5,6.124605564008008e-9,-6.006912495843881e-4,-1.7277030403387907e-5,6.051910031149934e-9,-6.003329547922971e-4,-1.7524265175610315e-5,5.974701125327572e-9,-5.998817609412311e-4,-1.7729749635034893e-5,5.909152133979997e-9,-5.993674834698096e-4,-1.7852060415235455e-5,5.8679359897686786e-9,-5.98833377167506e-4,-1.7871308208750187e-5,5.857377281089162e-9,-5.983242961249349e-4,-1.7791603804934904e-5,5.876628602108236e-9,-5.978761089750183e-4,-1.763692721889734e-5,5.9188348328191164e-9,-5.97509246371083e-4,-1.744281060909608e-5,5.973566370425565e-9,-5.972272340443155e-4,-1.724717783696112e-5,6.029530158965291e-9,-5.970191412732754e-4,-1.708303930127975e-5,6.076760853223087e-9,-5.968639601907031e-4,-1.6974182393121108e-5,6.107949062772968e-9,-5.967351618909186e-4,-1.6933562355692315e-5,6.1189757620988596e-9,-5.966044914543551e-4,-1.6963408114122988e-5,6.108924653343465e-9,-5.964448552706594e-4,-1.7056054741231575e-5,6.079858424794432e-9,-5.962326779452772e-4,-1.719488339402509e-5,6.036551327657856e-9,-5.959503269411983e-4,-1.7355296242159556e-5,5.9862122504836265e-9,-5.955890709894159e-4,-1.7506243438176608e-5,5.9380510048463094e-9,-5.951525234145372e-4,-1.7613258416163484e-5,5.902393637339857e-9,-5.946596553230791e-4,-1.764400034962936e-5,5.889033529766786e-9,-5.941454005656148e-4,-1.757658081028564e-5,5.9047300999132285e-9,-5.936562505153676e-4,-1.740909145309199e-5,5.9503386560754e-9,-5.932393300043767e-4,-1.7166185049999746e-5,6.018820818675055e-9,-5.929270253618056e-4,-1.6897363809678338e-5,6.095715953083003e-9,-5.927235829331455e-4,-1.6664334583585255e-5,6.162832492505709e-9,-5.926012168281408e-4,-1.6521086061127168e-5,6.204080876826821e-9,-5.925088318791681e-4,-1.6495650783895652e-5,6.2108462578212325e-9,-5.923893296595289e-4,-1.6581983910685432e-5,6.18445634623603e-9,-5.921973240230338e-4,-1.6744373968298434e-5,6.135018198325406e-9,-5.919105305805832e-4,-1.6930486544110382e-5,6.077709827522491e-9,-5.915325837551485e-4,-1.708674963487434e-5,6.028320742756395e-9,-5.910887401414671e-4,-1.7171114333858196e-5,5.999481940305171e-9,-5.906173977802621e-4,-1.7160751663905477e-5,5.998318193545036e-9,-5.901602907269286e-4,-1.7054266849847147e-5,6.025679671747184e-9,-5.897536026274595e-4,-1.6869186278252847e-5,6.076768658723353e-9,-5.894215706944987e-4,-1.6636088071657184e-5,6.142787676934763e-9,-5.891734417193177e-4,-1.639112845867565e-5,6.21311247089221e-9,-5.890037891503861e-4,-1.616881901687457e-5,6.277444531418832e-9,-5.888953870874903e-4,-1.599649526801642e-5,6.32750261058349e-9,-5.888234156540204e-4,-1.5891120266408232e-5,6.358035497480615e-9,-5.887598278097893e-4,-1.585830828911002e-5,6.36716114540014e-9,-5.886770911880141e-4,-1.5892951435849457e-5,6.356201350362242e-9,-5.88551067772663e-4,-1.598065881617845e-5,6.329251478975357e-9,-5.883632730491481e-4,-1.609944079656462e-5,6.292675486505938e-9,-5.881029486085081e-4,-1.622153632414498e-5,6.254574948934901e-9,-5.877692932525501e-4,-1.6315735016464423e-5,6.224131558643309e-9,-5.873738337045345e-4,-1.6350916709415508e-5,6.2105932820424296e-9,-5.869421485315761e-4,-1.630165097021894e-5,6.221632150191717e-9,-5.865131121598357e-4,-1.6156063475258574e-5,6.261002414793579e-9,-5.861331744440621e-4,-1.592434760802166e-5,6.325989749491587e-9,-5.858441940187316e-4,-1.5643598634390996e-5,6.405942312898085e-9,-5.856671951075539e-4,-1.5373106219251778e-5,6.483607719282582e-9,-5.855897763285556e-4,-1.517729276675414e-5,6.540086767802591e-9,-5.855664407766135e-4,-1.5101743305100796e-5,6.561819413722951e-9,-5.855345304499817e-4,-1.5154956209859986e-5,6.545946710766161e-9,-5.854378007236991e-4,-1.5306366023333386e-5,6.500984799091855e-9,-5.852448952227367e-4,-1.550045098503084e-5,6.442830961710452e-9,-5.849551516575722e-4,-1.567734639813534e-5,6.388848412759949e-9,-5.845930082893017e-4,-1.5789777542943528e-5,6.352965558410412e-9,-5.841969678310368e-4,-1.5811729052473348e-5,6.343113417189745e-9,-5.838084552194186e-4,-1.5739511632880423e-5,6.360814546463471e-9,-5.834633032295308e-4,-1.5588003820527e-5,6.402145833924053e-9,-5.831864760835484e-4,-1.538472081382847e-5,6.4593502606737386e-9,-5.829896181558738e-4,-1.5163375096637597e-5,6.5226561160815544e-9,-5.828708999533577e-4,-1.4957769589611858e-5,6.582074977801076e-9,-5.828167555766546e-4,-1.479662672105976e-5,6.628984531476504e-9,-5.828049993600993e-4,-1.46998740108272e-5,6.657304486326205e-9,-5.828086784632086e-4,-1.4676619073704028e-5,6.664156600488167e-9,-5.828000486403008e-4,-1.472477456925716e-5,6.649997471487258e-9,-5.827541399829672e-4,-1.4832100153552331e-5,6.618295601842242e-9,-5.826515746817173e-4,-1.4978198357449995e-5,6.574915976578972e-9,-5.824806499688132e-4,-1.5136975222470618e-5,6.5273858129103555e-9,-0.00058223891266244855,-1.5279382997478107e-5,6.484113573877451e-9,-5.819343932522649e-4,-1.537659130322262e-5,6.453510098108357e-9,-5.815864337643335e-4,-1.540395190071223e-5,6.442875322162274e-9,-5.812255138914551e-4,-1.5346207013270155e-5,6.456887019322757e-9,-5.808906783087563e-4,-1.5203879326331496e-5,6.495696015125998e-9,-5.806227398257667e-4,-1.4999252917115385e-5,6.553106536171523e-9,-5.804523980144355e-4,-1.4778150938693694E-05,6.6159779015583296e-9,-5.803857787226134e-4,-1.460244790593015e-5,6.666344613112382e-9,-5.803949019080188e-4,-1.453107430828226e-5,6.68691651811743e-9,-5.804222577193308e-4,-1.4595598468279076e-5,6.6681996557004115e-9,-5.804015691477434e-4,-1.4784365571006996e-5,6.613182223466211e-9,-5.802844416075218e-4,-1.504659664064087e-5,6.536251455252701e-9,-5.800572407115345e-4,-1.5314205201811868e-5,6.456956105272316e-9,-5.79740462121484e-4,-1.5527257460748158e-5,6.392682319350163e-9,-5.793754455308698e-4,-1.564997575685766e-5,6.354031421288331e-9,-5.79008526869674e-4,-1.5673984575231003E-05,6.3438332685434564e-9,-5.786793595545836e-4,-1.561305703577987e-5,6.358555023821292e-9,-5.78414926698478e-4,-1.5494822966848187e-5,6.390561211013941e-9,-5.782279782895778e-4,-1.535291284406682e-5,6.430282529202295e-9,-5.781179986625985e-4,-1.5220866757312826e-5,6.467953037038186e-9,-5.780733038593612e-4,-1.5127728821522725e-5,6.494942808591026e-9,-5.780737214613339e-4,-1.5094878202343984e-5,6.5047765753731806e-9,-5.780937304323509e-4,-1.5133945325895573e-5,6.493829724860568e-9,-5.781059012122124e-4,-1.5245845768728994e-5,6.461654192249107e-9,-5.780844231366714e-4,-1.5420967008494582E-05,6.410916404303534e-9,-5.780084375089962e-4,-1.5640566187065733e-5,6.346952753693187e-9,-5.778647777628711e-4,-1.5879285361295647e-5,6.277008199105833e-9,-5.776498175490725e-4,-1.6108436934896513e-5,6.209288793870668e-9,-5.773703656839252e-4,-1.6299721111280603e-5,6.151931069035016e-9,-5.770436111533959e-4,-1.6429208290678547e-5,6.111913238799296e-9,-5.766960225533119e-4,-1.6481506020845262e-5,6.093889659946264e-9,-5.763608734161528e-4,-1.6454038016908552e-5,6.098936037071565e-9,-5.760736744361726e-4,-1.6361021724264736e-5,6.123317511020036e-9,-5.758647102549619e-4,-1.6235696451862072e-5,6.157725998483951e-9,-5.757488547335339e-4,-1.612803540234014e-5,6.1878352067051535e-9,-5.757153315080947e-4,-1.609480237938911e-5,6.197125012537102e-9,-5.757234435926061e-4,-1.6181340271018654e-5,6.17217305833007e-9,-5.757111211388329e-4,-1.6400971995423106e-5,6.108703432860775e-9,-5.756170143529824e-4,-1.6724228696811727e-5,6.014819069588441e-9,-5.754058752564376e-4,-1.7087730422599016e-5,5.908527015219574e-9,-5.750819117894468e-4,-1.7419566737748216e-5,5.810457691770534e-9,-5.746829127406637e-4,-1.7665934924859706e-5,5.736209930949652e-9,-5.742617293776332e-4,-1.7804887133825812e-5,5.692403621165638e-9,-5.738676244788915e-4,-1.7844643668928444e-5,5.677123312045796e-9,-5.735352118200017e-4,-1.781324586487339e-5,5.682774688163753e-9,-5.732813705044003e-4,-1.774712544477777e-5,5.699224028512855e-9,-5.731070706253558e-4,-1.7682465513048927e-5,5.716183635261324e-9,-5.730010810481334e-4,-1.7650014543434743e-5,5.7246996299768535e-9,-5.729437243720952e-4,-1.7672436560521165e-5,5.717992329661441e-9,-5.729101327422091e-4,-1.77629912703616e-5,5.691943387538161e-9,-5.728732254490138e-4,-1.7924881686606425e-5,5.645364913125561e-9,-5.728066872098459e-4,-1.8151183111504288e-5,5.580046983978404e-9,-5.726880446715707e-4,-1.8425518479711568e-5,5.500544376149344e-9,-5.725017360320156e-4,-1.8723776519021976e-5,5.4136497171616706e-9,-5.722417478110209e-4,-1.901709758465021e-5,5.327525281669176e-9,-5.719132058612187e-4,-1.9275973453983113e-5,5.250556794951275e-9,-5.715324599224961e-4,-1.9474966424702655e-5,5.190061549896955e-9,-5.711254487065863e-4,-1.9597425970417595e-5,5.150993130292952e-9,-5.707243215314012e-4,-1.963951786184574e-5,5.134796911166756e-9,-5.703624645452386e-4,-1.961289496480425e-5,5.138582384870229e-9,-5.700681701023597e-4,-1.9545349551733103e-5,5.154808129149603e-9,-5.698573617980196e-4,-1.947850234148492e-5,5.171796776237571e-9,-5.697265168248463e-4,-1.946126166119291e-5,5.175504776714801e-9,-5.696483046445741e-4,-1.9538307489946467e-5,5.152814866181088e-9,-5.695737447050487e-4,-1.9735023712205888e-5,5.095954657144991e-9,-5.694440581573207e-4,-2.0044122435153433e-5,5.006492424902162e-9,-5.692107976121244e-4,-2.0422259733411498e-5,4.896447185420986e-9,-5.688556702159739e-4,-2.080239735784011e-5,4.784807248298537e-9,-5.683984430252771e-4,-2.1118146298752406e-5,4.69055903235853e-9,-5.678877874524411e-4,-2.1327200844530532e-5,4.6259837892894646e-9,-5.673813072802742e-4,-2.1421699487486857e-5,4.593705379214873e-9,-5.669266461901139e-4,-2.1423333992840117e-5,4.588040913127525e-9,-5.665515251973581e-4,-2.1370168449335505e-5,4.598631280140418e-9,-5.66262954244887e-4,-2.1303510202976556e-5,4.614029495947506e-9,-5.660516519242294e-4,-2.1259150169743164e-5,4.624106881604416e-9,-5.658977760906469e-4,-2.1263246516499423e-5,4.621241923637268e-9,-5.657758344743934e-4,-2.1331262909287216e-5,4.600715978969188e-9,-5.656582879656547e-4,-2.146824690958318e-5,4.560744399958647e-9,-5.655182799852074e-4,-2.166944979816653e-5,4.502372881234427e-9,-5.653320939464026e-4,-2.19210611198664e-5,4.429288721729575e-9,-5.650817267772786e-4,-2.2201302733604196e-5,4.347494108741701e-9,-5.647576281566446e-4,-2.248238891148829e-5,4.2647329227178e-9,-5.64361175875774e-4,-2.273385814627313e-5,4.1895539317782425e-9,-5.639060211063388e-4,-2.2927360460003696e-5,4.129994037758887e-9,-5.634173669126164e-4,-2.3042324624474837e-5,4.092025805841426e-9,-5.629285951340259e-4,-2.3071330028784256e-5,4.078067292741761e-9,-5.624753358397186e-4,-2.3023652525244365e-5,4.085953126634584e-9,-5.620879235594856e-4,-2.2925599059856908e-5,4.1087412604200885e-9,-5.617838311213657e-4,-2.2816948292584702e-5,4.13556726191145e-9,-5.615618506350042e-4,-2.274366245931516e-5,4.1535543827756625e-9,-5.613996862607292e-4,-2.2747751693369897e-5,4.150602400752755e-9,-5.61256426475516e-4,-2.2855979724977274e-5,4.1186293748158945e-9,-5.61080812039059e-4,-2.307016575944345e-5,4.056477812301431e-9,-5.608247544560862e-4,-2.3362823347901296e-5,3.971353014138016e-9,-5.6045888275338e-4,-2.3681771753724775e-5,3.877666551810311e-9,-5.599840255643514e-4,-2.3964648029816697e-5,3.7929726560466655e-9,-5.594323224548366e-4,-2.4158896301923775e-5,3.732284697554104e-9,-5.588562140180068e-4,-2.4238382403495358e-5,3.7033386543166194e-9,-5.583104935056323e-4,-2.4208922097151482e-5,3.7049913841555217e-9,-5.578362118896362e-4,-2.4101634993633252e-5,3.729013562684922e-9,-5.574526700823866e-4,-2.395959922159319e-5,3.763717738012945e-9,-5.571580150477938e-4,-2.3824918225424018e-5,3.7974724057465164e-9,-5.56934945270612e-4,-2.3730431642789787e-5,3.820986693463586e-9,-5.567575402096818e-4,-2.369650431855389e-5,3.828264474037562e-9,-5.565968561839238e-4,-2.3731175634325677e-5,3.81667238499676e-9,-5.564247258473144e-4,-2.383170766272784e-5,3.786608603817477e-9,-5.562162343773809e-4,-2.3986308687498875e-5,3.741076017959136e-9,-5.559516320965893e-4,-2.41756410521933e-5,3.6852669334650524e-9,-5.556182989939095e-4,-2.4374329729557413e-5,3.626126257835752e-9,-5.552129829469255e-4,-2.455308708972398e-5,3.5717509128408136e-9,-5.547439478003086e-4,-2.4682169708976556e-5,3.5304410056635687e-9,-5.542320441001034e-4,-2.4736519034990855e-5,3.509299202176376e-9,-5.537093394875636e-4,-2.470209240070845e-5,3.5124945121858324e-9,-5.532141884717492e-4,-2.4581739735308707e-5,3.539625413001244e-9,-5.527827987017785e-4,-2.4398065123244182e-5,3.584874043486559e-9,-5.524392207026548e-4,-2.419093064879187e-5,3.6375935558350362E-09,-5.521871673866484e-4,-2.400904254983496e-5,3.6845003460724823e-9,-5.52006996859421e-4,-2.3897600320895216e-5,3.7129769442225496e-9,-5.518594417411545e-4,-2.3885806156130697e-5,3.714505319352247e-9,-5.516952472542898e-4,-2.3978206075858976e-5,3.6871706513466653e-9,-5.514680023266997e-4,-2.415252676916681e-5,3.636467576060659e-9,-5.511466570996784e-4,-2.436472997812125e-5,3.5741160763841065e-9,-5.507243054631822e-4,-2.456016575596165e-5,3.5151030037156743e-9,-5.502204943898792e-4,-2.4688078368491355e-5,3.4736716022299434e-9,-5.49675845316952e-4,-2.4715297420699776e-5,3.4594450841273604e-9,-5.491403496431156e-4,-2.4634524609268043e-5,3.475010754579904e-9,-5.486594079579832e-4,-2.4464309834586896e-5,3.5158016687115214e-9,-5.482626949453814e-4,-2.424130364105868e-5,3.572121989232335e-9,-5.479593003710058e-4,-2.400859263852101e-5,3.6322781071167195e-9,-5.477393924139225e-4,-2.380483572567349e-5,3.685543859039702e-9,-5.475800136344878e-4,-2.365734300350956e-5,3.7241138416981567e-9,-5.47451900115605e-4,-2.3579686113701558e-5,3.743864278401933e-9,-5.473251545092862e-4,-2.3572576485177517e-5,3.744220422532077e-9,-5.471730460260657e-4,-2.3626248739021626e-5,3.727569108803425e-9,-5.469742478632765e-4,-2.3723043848052887e-5,3.6985616396725427e-9,-5.467142469598954e-4,-2.3839630731377964e-5,3.6634824609621807e-9,-5.463866264206015e-4,-2.3948973655604125e-5,3.6296880385067596e-9,-5.4599456793534e-4,-2.4022629138410048e-5,3.604980769764583e-9,-5.455523444943196e-4,-2.4034135649642785e-5,3.5967054365603564e-9,-5.450858818683846e-4,-2.396401744104895e-5,3.6104037986387385e-9,-5.446308564687652e-4,-2.380610222496027e-5,3.648086038965713e-9,-5.442267710418497e-4,-2.3573376044700058e-5,3.7065940327411654e-9,-5.43906780201333e-4,-2.3300037015731352e-5,3.776970362392915e-9,-5.436858585814063e-4,-2.303631065445945e-5,3.8457757017923984e-9,-5.43552613478327e-4,-2.28353475000358e-5,3.898554409891338e-9,-5.434699258623914e-4,-2.2736277504907688e-5,3.924381501274142e-9,-5.433855832143338e-4,-2.275078970747129e-5,3.919540539705527e-9,-5.43248646299094e-4,-2.285936214945721e-5,3.888688548443496e-9,-5.430245801652687e-4,-2.3018194797770242e-5,3.8431759853901846e-9,-5.427037893107168e-4,-2.3172944399802506e-5,3.7974973736510936e-9,-5.423020260258028e-4,-2.3273629234107787e-5,3.765329016282113e-9,-5.418542195221602e-4,-2.328631805513169e-5,3.756319626683319e-9,-5.414045400541133e-4,-2.3199382210688513e-5,3.774257587440266e-9,-5.409955890221134e-4,-2.302384304625818e-5,3.8167930066406206e-9,-5.406592269132189e-4,-2.2788582348018324e-5,3.876564618794517e-9,-5.404109156371855e-4,-2.253214165155441e-5,3.943315026925249e-9,-5.402484736817223e-4,-2.2293496058127136e-5,4.00637464546443e-9,-5.401548723226671e-4,-2.210423231623976e-5,4.056855142789439e-9]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_7.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_7.json new file mode 100644 index 000000000..f56819cf3 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_7.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":7000,"numberOfSamples":1000,"samples":[-5.401035826582183e-4,-2.1983771746004456e-5,4.089071108861903e-9,-5.400645679375473e-4,-2.1937995914044596e-5,4.1010390739496695e-9,-5.400093979365809e-4,-2.1960549237341188e-5,4.094200825458988e-9,-5.399147607226752e-4,-2.203560775605646e-5,4.072680770337793e-9,-5.397644338651072e-4,-2.2140989396072942e-5,4.0424039620270295e-9,-5.395502643031555e-4,-2.2250959079911428e-5,4.010291455194114e-9,-5.392727708698771e-4,-2.233868896010399e-5,3.983582390762636e-9,-5.389417235021638e-4,-2.2378792834005243e-5,3.969178139964558e-9,-5.385766058145648e-4,-2.235055698671764e-5,3.972815745495291e-9,-5.382062428829531e-4,-2.2242365349685453e-5,3.9978965146973945e-9,-5.378662132655593e-4,-2.205712418011711e-5,4.043993326717811e-9,-5.375924932704364e-4,-2.181705877637256e-5,4.105479870305896e-9,-5.374109340395555e-4,-2.1564488189815053e-5,4.171221914461289e-9,-5.373252109046606e-4,-2.13546121672999e-5,4.226432351021938e-9,-5.373095626709229e-4,-2.123923851906108e-5,4.256999417283581e-9,-5.373130817418842e-4,-2.1246850964482913e-5,4.25485673473855e-9,-5.372765380678705e-4,-2.136960735856047e-5,4.221561718856039e-9,-5.371540300970259e-4,-2.156549994879516e-5,4.167859343731849e-9,-5.36928145915775e-4,-2.177449463181616e-5,4.109507993256763e-9,-5.36612298142394e-4,-2.193926959851254e-5,4.061836554881471e-9,-5.362421974391817e-4,-2.202084762893932e-5,4.035594559950374e-9,-5.358628658080441e-4,-2.200502185841941e-5,4.035163172736923e-9,-5.355167351147426e-4,-2.1900830823744038e-5,4.058798324504693e-9,-5.35235449411885e-4,-2.173439788390032e-5,4.100071676730384e-9,-5.350357193602122e-4,-2.15410881740401e-5,4.14980207032798e-9,-5.349185757880749e-4,-2.135782693181579e-5,4.198050291539687e-9,-5.348712290073628e-4,-2.121657442592248e-5,4.2359280087428855e-9,-5.348708000481933e-4,-2.1139615342117445e-5,4.257004944159546e-9,-5.348890826615417e-4,-2.113709309176623e-5,4.258128208977309e-9,-5.348974104172614e-4,-2.1206799246401138e-5,4.239584522007182e-9,-5.348708384321045e-4,-2.1335822917691524e-5,4.204678615706449e-9,-5.347911231697716e-4,-2.1503424398811796e-5,4.158913513206647e-9,-5.346483663470459e-4,-2.1684383203511062e-5,4.109023325019758e-9,-5.344415971986584e-4,-2.185222293312799e-5,4.062070768370815e-9,-5.341787121227865e-4,-2.198213649495927e-5,4.024683100836483e-9,-5.338760303296781e-4,-2.2053786749643512e-5,4.002365575691231e-9,-5.335574557412858e-4,-2.2054309116071213e-5,3.998758028608726e-9,-5.332528017860458e-4,-2.198181627770456e-5,4.014702338546216e-9,-5.32994271803446e-4,-2.1849184863030615e-5,4.047158626760407e-9,-5.328099775273082e-4,-2.1686695872980368E-05,4.088373074123842e-9,-5.327143982259301e-4,-2.1540670747909262e-5,4.1261167888255816e-9,-5.326982547305342e-4,-2.146472539588816e-5,4.145954976805639e-9,-5.327237676269208e-4,-2.150269819024173e-5,4.135827219007261e-9,-5.32732172820136e-4,-2.166880035547954e-5,4.091442962833996e-9,-5.32664363807273e-4,-2.193675634261866e-5,4.019307535221708e-9,-5.324850262715923e-4,-2.2247356034033065e-5,3.93482109123221e-9,-5.321959712692641e-4,-2.253169043764306e-5,3.856170494966331e-9,-5.318318024819819e-4,-2.2736299986202895e-5,3.797697407775919e-9,-5.314434001136979e-4,-2.283727543038531e-5,3.7661716224598815e-9,-5.310801862783224e-4,-2.2840328090950416e-5,3.760701663621395e-9,-5.307784695622606e-4,-2.277209911293882e-5,3.774865010501329e-9,-5.305570300482153e-4,-2.2669296597542187e-5,3.799377675031908e-9,-5.304177923198672e-4,-2.2569563199808032e-5,3.824373068544768e-9,-5.303490345079164e-4,-2.2505211219014473e-5,3.841055895162692e-9,-5.303294436667859e-4,-2.2499458669989806e-5,3.842819986704146e-9,-5.303323047521583e-4,-2.2564506861846283e-5,3.825934653411622e-9,-5.303295770130921e-4,-2.2701095439328812e-5,3.78981094362531e-9,-5.302956400451363e-4,-2.2899349303107257e-5,3.736840685640963e-9,-5.30210473665667e-4,-2.314073527658426e-5,3.6718507329490764e-9,-5.300620142371433e-4,-2.340093393614476e-5,3.601265981895817e-9,-5.298474349228372e-4,-2.3653284469214588e-5,3.532132956929273e-9,-5.29573308984056e-4,-2.3872320401723e-5,3.4711768964710575e-9,-5.292548431176042e-4,-2.403707365259649e-5,3.4239812057610383e-9,-5.289143407918906e-4,-2.4134058857944783e-5,3.3942741989696835e-9,-5.285789266630395e-4,-2.4159906281443744e-5,3.3832709646259577e-9,-5.282773952237134e-4,-2.4123609199085298e-5,3.389033411558258e-9,-5.280357364388392e-4,-2.404808982327215e-5,3.4059246595776906e-9,-5.278708810726782e-4,-2.3969949940549298e-5,3.4245089739342943e-9,-5.277831391864141e-4,-2.3935357712190903e-5,3.4325187746853774e-9,-5.277497546540487e-4,-2.3990053843999665e-5,3.417490568679712e-9,-5.277243373408124e-4,-2.416362760309801e-5,3.371043381811958e-9,-5.276472969010053e-4,-2.4453303594010498e-5,3.2933522318209953e-9,-5.274672038760931e-4,-2.4817592116745615e-5,3.1949762152372857e-9,-5.271634422555336e-4,-2.5188059386224728e-5,3.0937979755767632e-9,-5.267559068389037e-4,-2.549567899523349e-5,3.008057415556971e-9,-5.262952781608044e-4,-2.569664316277229e-5,2.9495561606916857e-9,-5.258412694183832e-4,-2.5783493066863733e-5,2.9207489680924703e-9,-5.254425066389419e-4,-2.5779503885456728e-5,2.9161612247094987e-9,-5.251263833011977e-4,-2.5724489785007588e-5,2.925940256027055e-9,-5.248986095698239e-4,-2.566102959629115e-5,2.9392604634341714e-9,-5.247480432907525e-4,-2.5625368004893986e-5,2.946595015690205e-9,-5.246528338231885e-4,-2.5643091786020372e-5,2.940887498147975e-9,-5.245858121778989e-4,-2.572797628618578e-5,2.918009092055048e-9,-5.245186697908287e-4,-2.5882406676612352e-5,2.8768303754599108e-9,-5.244252403009383e-4,-2.6098529986454154e-5,2.8190430572214277e-9,-5.242842104460674e-4,-2.6359918036558112e-5,2.748752781998075e-9,-5.240813809095547e-4,-2.664376012583758e-5,2.6718566779627634e-9,-5.23811405473642e-4,-2.6923697743507696e-5,2.5952305181850944e-9,-5.234786998958045e-4,-2.7173303690041893e-5,2.5257824612885647e-9,-5.230971720563157e-4,-2.7369871435687406e-5,2.4694878843742183e-9,-5.226886747385083e-4,-2.749801736194075e-5,2.4305157487672832e-9,-5.222802740203602e-4,-2.7552679878417226e-5,2.410501767346455e-9,-5.219004721067165e-4,-2.7541114744677728e-5,2.4080150610133087e-9,-5.215746064004773e-4,-2.748348611429587e-5,2.4182963593044943e-9,-5.213196916609409e-4,-2.741169261001642e-5,2.433387542607336e-9,-5.211390633776294e-4,-2.7365830864708946e-5,2.442883976030173e-9,-5.210177939670833e-4,-2.7387386588784694e-5,2.4356382416405185e-9,-5.2092103264559e-4,-2.7508753633437043e-5,2.4025749182162106e-9,-5.207983793056417e-4,-2.7740648686792387e-5,2.3401865242185253e-9,-5.205966266482828e-4,-2.806223642295004e-5,2.253350576167634e-9,-5.202789824851698e-4,-2.8421269302758358e-5,2.1554312055901617e-9,-5.198423209709797e-4,-2.8748981292602243e-5,2.064380772209385e-9,-5.193213569961983e-4,-2.8985277857182498e-5,1.996093068377223e-9,-5.187754286828383e-4,-2.9100856801229018e-5,1.95860814721846e-9,-5.182654734879904e-4,-2.910408008464851e-5,1.950328402209735e-9,-5.17834468885133e-4,-2.903146570281326e-5,1.9624204795998646e-9,-5.174994717055985e-4,-2.8930642345991606e-5,1.9830589980046977e-9,-5.172543344144145e-4,-2.8845521813800735e-5,2.0010793286060667e-9,-5.170775031307184e-4,-2.8808046397317225e-5,2.0080420772500573e-9,-5.169400421587481e-4,-2.883586587420426e-5,1.998918998843043e-9,-5.168116638617822e-4,-2.8933416322078027e-5,1.9719933681402133e-9,-5.166645952694134e-4,-2.9094191480639365e-5,1.928446821526537e-9,-5.16476024252827e-4,-2.930309443473024e-5,1.8718459878098334e-9,-5.162298604848831e-4,-2.9538674218475745e-5,1.8075644448687839e-9,-5.15918183163581e-4,-2.9775463189840496e-5,1.7421226458261029e-9,-5.155423951219354e-4,-2.9986754143992856e-5,1.682415416929058e-9,-5.151137407302886e-4,-3.0148054298078004e-5,1.6348102041026057e-9,-5.14652612618079e-4,-3.024103796625174e-5,1.6041685250154395e-9,-5.141862173715009e-4,-3.025736743569097e-5,1.5929194416540232e-9,-5.137445594032925e-4,-3.0201544061071227e-5,1.6003442662174793e-9,-5.133551073665073e-4,-3.0091913298744713e-5,1.6222546448333353e-9,-5.130369284461957e-4,-2.9959105712960137e-5,1.651244127376648e-9,-5.127954099507898e-4,-2.9841663506552026e-5,1.6776263789056898e-9,-5.126187743607301e-4,-2.977911818282605e-5,1.6910763709352394e-9,-5.124775920139699e-4,-2.980317215645477e-5,1.6828919402962205e-9,-5.123285291058596e-4,-2.992827896807966e-5,1.6485704768880652e-9,-5.121232184702717e-4,-3.0144080674584436e-5,1.5900146804836555e-9,-5.118216874803194e-4,-3.041333535976552e-5,1.5163090868023582e-9,-5.114069216089788e-4,-3.06788578426189e-5,1.4420450362417905e-9,-5.108941341159282e-4,-3.087997193374652e-5,1.383045829244638e-9,-5.103283884814538e-4,-3.097314754523197e-5,1.350950290890561e-9,-5.097696659935665e-4,-3.0946985077149386e-5,1.3492802047218747e-9,-5.092722871601308e-4,-3.0823751756630565e-5,1.3729826486285837e-9,-5.088689790088103e-4,-3.064783528784369e-5,1.4112787115572115e-9,-5.085657929059659e-4,-3.046880866802487e-5,1.4518356546063253e-9,-5.08346811352875e-4,-3.032757248561428e-5,1.4841879987672864e-9,-5.081833205273989e-4,-3.024951848205968e-5,1.5014927928567059e-9,-5.080425577921641e-4,-3.024389232124672e-5,1.5008319918093534e-9,-5.078937898414977e-4,-3.0306504584070308e-5,1.4827093655212703e-9,-5.077117106050379e-4,-3.042331137863873e-5,1.4502784815439696e-9,-5.074781087294359e-4,-3.0573627604291196e-5,1.4085697181512755e-9,-5.071827632231985e-4,-3.0732762305829554e-5,1.363783212066794e-9,-5.068241386956512e-4,-3.087440447664662e-5,1.322616276444108e-9,-5.064099743494193e-4,-3.097328317084115e-5,1.2915471371343079e-9,-5.059573813360568e-4,-3.100850766576199e-5,1.2759963019804067e-9,-5.054917280931815e-4,-3.09675266499804e-5,1.2793674539120017e-9,-5.050436028710859e-4,-3.085000943630236e-5,1.3021016279347987e-9,-5.046435847782699e-4,-3.067039629349787e-5,1.3410151010863194e-9,-5.043154041700915e-4,-3.0457621016956392e-5,1.3892739397176436e-9,-5.040690924503929e-4,-3.025093383015183e-5,1.4372920683562972e-9,-5.038963498673596e-4,-3.0091976510982597e-5,1.4745708467378526e-9,-5.037701041335682e-4,-3.001474285367648e-5,1.4921523724764496e-9,-5.036491510419384e-4,-3.0036038672483e-5,1.4850891219563646e-9,-5.034873278369172e-4,-3.0149240525066758e-5,1.4542250103523055e-9,-5.032453132593057e-4,-3.032361586041559e-5,1.4066373962624775e-9,-5.029021178492986e-4,-3.0510322165871625e-5,1.3543382658568904e-9,-5.024627404979756e-4,-3.06545113386691e-5,1.3112907864465489e-9,-5.01958677253733e-4,-3.0710749963624354e-5,1.2894420761309303e-9,-5.014397693770699e-4,-3.065674386674007e-5,1.2951067361437504e-9,-5.009594637119274e-4,-3.0499774007028698e-5,1.327181960804589e-9,-5.005591265624038e-4,-3.027289359707675e-5,1.3779593095465411e-9,-5.002577464773517e-4,-3.002286754188913e-5,1.4360302437884732e-9,-5.000502980916162e-4,-2.9795642680252517e-5,1.4898545010720947e-9,-4.999135018056022e-4,-2.96252177016554e-5,1.530564984614016e-9,-4.998148703059288e-4,-2.9528734833433275e-5,1.5533180663703762e-9,-4.997210391324866e-4,-2.9507108813167577e-5,1.557313949211449e-9,-4.996033580441727e-4,-2.95486805281199e-5,1.5450349761472517e-9,-4.994407134467235e-4,-2.963354086042027e-5,1.5212284427432084e-9,-4.99220513807549e-4,-2.9737275227078863e-5,1.4919412361183264e-9,-4.989388300780407e-4,-2.9833867578447486e-5,1.4637165471569636e-9,-4.986003615032496e-4,-2.989808300652266e-5,1.442933990607473e-9,-4.982184149831263e-4,-2.9907927865987277e-5,1.4351810441446417e-9,-4.978145252172193e-4,-2.9847712851288548e-5,1.4445248582206659e-9,-4.974169169914042e-4,-2.971176155615385e-5,1.4726359068551763e-9,-4.970569165391165e-4,-2.9508056286774713e-5,1.517893845763169e-9,-4.967628303390822e-4,-2.926026998042455e-5,1.574829976621728e-9,-4.96551978398408e-4,-2.900608455871382e-5,1.634431128285346e-9,-4.96423302209712e-4,-2.879027553840682e-5,1.6857146709917446e-9,-4.963541060645736e-4,-2.865323310167557e-5,1.7184681499924557e-9,-4.963036761354488e-4,-2.861842652841363e-5,1.7263462753477494e-9,-4.962236841992082e-4,-2.8683800491744274e-5,1.7091218148852898e-9,-4.960720233794146e-4,-2.8820919804120417e-5,1.673117417745899e-9,-4.958250916601518e-4,-2.898244031513813e-5,1.6295915726764063e-9,-4.954843911405692e-4,-2.911516518981793e-5,1.591663143962164e-9,-4.950757567029083e-4,-2.9174289607850693e-5,1.5708062654753593e-9,-4.946419883627445e-4,-2.9134683182893188e-5,1.5739443674704452e-9,-4.942313197632331e-4,-2.899634780038582e-5,1.601897900139963e-9,-4.938850760519116e-4,-2.8782878175581034e-5,1.6495407345080696e-9,-4.936280480341194e-4,-2.8533738897703263e-5,1.707525662802973e-9,-4.934641902772148e-4,-2.8293088750190768e-5,1.7649546067683797e-9,-4.933783032088761e-4,-2.80988640410467e-5,1.8121051613246878e-9,-4.933422254005704e-4,-2.7975289802310766e-5,1.8424210940995162e-9,-4.933227875226166e-4,-2.793022331205908e-5,1.853363241919422e-9,-4.932888738289174e-4,-2.7956735636432285e-5,1.8461872237371115e-9,-4.932160962554518e-4,-2.8037116641906087e-5,1.8250326211687373e-9,-4.930889594766327e-4,-2.8147435486230603e-5,1.7957702854856959e-9,-4.929012427190119e-4,-2.8261502965497104e-5,1.7649326447086253e-9,-4.926554961798312e-4,-2.835390391705434e-5,1.7388763334173934e-9,-4.923623095573031e-4,-2.8402349479687208e-5,1.7231683216680764e-9,-4.920395867133475e-4,-2.8389889647024718e-5,1.722073563894763e-9,-4.917115540492151e-4,-2.8307497965287012e-5,1.7379836944677346e-9,-4.914067695061618e-4,-2.815714883271202e-5,1.7707008124423624e-9,-4.911541935152892e-4,-2.7954758530073625e-5,1.8166878141640076e-9,-4.9097673506944e-4,-2.773135265619518e-5,1.868683014872907e-9,-4.908829819257416e-4,-2.753002578310636e-5,1.9163130986412e-9,-4.908600342594571e-4,-2.7396792960745575e-5,1.9482274136412787e-9,-4.908721173909682e-4,-2.736633164669827e-5,1.9555585722015448e-9,-4.908685218729858e-4,-2.7447945016454782e-5,1.935427847646306e-9,-4.907995565142859e-4,-2.7619289411182313e-5,1.8926347984558103e-9,-4.906336832509187e-4,-2.7832348344015255e-5,1.8383867655335314e-9,-4.903676923646972e-4,-2.802925951189207e-5,1.7865984348223615e-9,-4.900260027571856e-4,-2.81603898676814e-5,1.7495716625922467e-9,-4.89651135545775e-4,-2.8197278587712897e-5,1.7348223698973235e-9,-4.892906052692192e-4,-2.8137212384925217e-5,1.7438257478064728e-9,-4.889850187707911e-4,-2.800028120231637e-5,1.7725003438639047e-9,-4.887600631930353e-4,-2.782169608840279e-5,1.8128296668897378e-9,-4.886231415493295e-4,-2.764229676123075e-5,1.8550063239660704e-9,-4.885642484701803e-4,-2.7499550273375093e-5,1.8896080581632753e-9,-4.88560103003217e-4,-2.7420633789239168e-5,1.9094190965771907e-9,-4.885802098906471e-4,-2.741859369588705e-5,1.9105887095828677e-9,-4.885932963466409e-4,-2.749186494528233e-5,1.892958847920264e-9,-4.885727070221833e-4,-2.7626586385723848e-5,1.8596151082628022e-9,-4.884999125827284e-4,-2.780056601507957e-5,1.815912403162441e-9,-4.883659918181414e-4,-2.7987688626019622e-5,1.7683031663824352e-9,-4.881714965792303e-4,-2.8161857991136438e-5,1.7232621331153711e-9,-4.879253817230721e-4,-2.8300053385778088e-5,1.6864793191295907e-9,-4.876435954604153e-4,-2.838460913858599e-5,1.6623231380987314e-9,-4.87347570898538e-4,-2.8405127125376862e-5,1.6534487206287574e-9,-4.870624676766653e-4,-2.8360400428380635e-5,1.660397458157364e-9,-4.8681464921107224e-4,-2.8260451760282097e-5,1.6810999234867354e-9,-4.8662762504571956e-4,-2.8128194590838857e-5,1.710378936760407e-9,-4.865159493111669e-4,-2.7999259061439134e-5,1.7398402884595435e-9,-4.864778001628795e-4,-2.7917688216241995e-5,1.758782346831438e-9,-4.864891773662556e-4,-2.7925623648319725e-5,1.7566564873211407e-9,-4.8650469881442816e-4,-2.8048055389582203e-5,1.7268436941845679e-9,-4.8646900022718986e-4,-2.8278862045047066e-5,1.6701987909042514e-9,-4.863366661408441e-4,-2.8577505119019685e-5,1.596014686119699e-9,-4.8609095859314307e-4,-2.888149066944309e-5,1.5191180487893385e-9,-4.8575031131327785e-4,-2.9129303897496962e-5,1.4543917377772392e-9,-4.853594628443761e-4,-2.928127077721007e-5,1.4117786999065398e-9,-4.8497195747729835e-4,-2.932864068445588e-5,1.394071849831376e-9,-4.846337505125269e-4,-2.92901557766113e-5,1.397598481510503e-9,-4.8437354423659196e-4,-2.9201624636557654e-5,1.4144787727407432e-9,-4.842002284292061e-4,-2.9104393029698005e-5,1.4351477859261177e-9,-4.841052181270292e-4,-2.903609161431683e-5,1.4504558263885193e-9,-4.84067228217977e-4,-2.9024670479161186e-5,1.4531643834621424e-9,-4.840577748119623e-4,-2.90853939257728e-5,1.438879930124667e-9,-4.8404655015113853e-4,-2.9220176531956694e-5,1.4064663055144139e-9,-4.840061936266715e-4,-2.9418854952069273e-5,1.3579222509944927e-9,-4.839159970403585e-4,-2.9661986241126522e-5,1.2977592972372048e-9,-4.8376421255598803e-4,-2.99245694584744e-5,1.2320364517035848e-9,-4.8354887698368103e-4,-3.0180063885511402e-5,1.1672683012708056e-9,-4.832772700501507e-4,-3.0404142004948953e-5,1.1094257627540442e-9,-4.829643557323166e-4,-3.0577722626730395e-5,1.06319106972272e-9,-4.826306810340864e-4,-3.068915192762852e-5,1.0314937573263063e-9,-4.823000236618913e-4,-3.073572511170575e-5,1.0152261736262526e-9,-4.819967854440488e-4,-3.07247596187981e-5,1.0130129991719876e-9,-4.8174290438235536e-4,-3.067424662353938e-5,1.0209817846856487e-9,-4.8155387647187757e-4,-3.061273027346073e-5,1.032629336411569e-9,-4.814336608023644e-4,-3.057734555154527e-5,1.0391143981355627e-9,-4.813692597631775e-4,-3.060832201910778e-5,1.0304832601707698e-9,-4.813275459614071e-4,-3.073869463472397e-5,9.981998565152625e-10,-4.812585659790297e-4,-3.09804507134622e-5,9.386721541243323e-10,-4.811087866201458e-4,-3.1312961751180574e-5,8.56262021686922e-10,-4.8084200197442165e-4,-3.168291882514008e-5,7.634346976835111e-10,-4.804573453938174e-4,-3.202098523525012e-5,6.767668830172286e-10,-4.799919742448245e-4,-3.226863232885468e-5,6.104833504614054e-10,-4.7950561722214457e-4,-3.239963129412474e-5,5.713324640502453e-10,-4.7905711130771735e-4,-3.2424683834516966e-5,5.57489239643948e-10,-4.7868648919253005e-4,-3.2380572165611614e-5,5.61014998658449e-10,-4.78408756745913e-4,-3.231372536823076e-5,5.715060758294507e-10,-0.00047821695541208484,-3.226672810540936e-5,5.790543339561175e-10,-4.780892929635116e-4,-3.2270696159169436e-5,5.759797425532569e-10,-4.7799654019284706e-4,-3.2342694027153804e-5,5.575709307492149e-10,-4.7790798337904856e-4,-3.2486240286347094e-5,5.222191413059654e-10,-4.7779572256916394e-4,-3.269322339193252e-5,4.712137846897875e-10,-4.776377532430203e-4,-3.294643314889626e-5,4.0828191455557877e-10,-4.7742011900052996e-4,-3.322255415686779e-5,3.3887550315425643e-10,-4.7713813362436103e-4,-3.3495522236272236e-5,2.692723543611399e-10,-4.767966058786844e-4,-3.374005506219493e-5,2.0561845121165476e-10,-4.764089810761079e-4,-3.3935100660724256e-5,1.5304719488686107e-10,-4.759953978571277e-4,-3.4066794130658526e-5,1.150012473363178e-10,-4.75579914293648e-4,-3.4130529894258694e-5,9.281539758685568e-11,-4.7518726401693057e-4,-3.4132012358599385e-5,8.552166664277137e-11,-4.7483937947707337e-4,-3.4087283256587925e-5,8.9808001360197e-11,-4.745518134530909e-4,-3.402168289331611e-5,1.0012352749726892e-10,-4.743301302744044e-4,-3.396758918434555e-5,1.0901384685598315e-10,-4.7416643965561046e-4,-3.3960444197777966e-5,1.0790405985855532e-10,-4.740368979791793e-4,-3.4032281179469596e-5,8.86169595898152e-11,-4.739021227586955e-4,-3.420250408423377e-5,4.5725881072999446e-11,-4.7371326042227083e-4,-3.446757033559661e-5,-2.0710561717845824e-11,-4.734254927457585e-4,-3.479429725681101e-5,-1.0330249928567228e-10,-4.7301639236006836e-4,-3.5123672220509924e-5,-1.881476569178234e-10,-4.725000431178112e-4,-3.5388839961071916e-5,-2.591876480176443e-10,-4.7192604541348076e-4,-3.554105374407855e-5,-3.044707002743182e-10,-4.7136099969806975e-4,-3.556883779945993e-5,-3.206993534357789e-10,-4.7086294225468346e-4,-3.549888047725581e-5,-3.1342792392102554e-10,-4.7046352272326177e-4,-3.538050951555742e-5,-2.935213287305637e-10,-4.7016473226171217e-4,-3.5265590743997314e-5,-2.726806915020762e-10,-4.699464136836216e-4,-3.5194260656001715e-5,-2.6030955535709985e-10,-4.697770469616606e-4,-3.518932915329649e-5,-2.622205939252974e-10,-4.696228012465099e-4,-3.5256920462369833e-5,-2.8060094716625834e-10,-4.6945333703288087e-4,-3.538992906669341e-5,-3.145484253008059e-10,-4.69244867902677e-4,-3.5571919634512485e-5,-3.607624652693146e-10,-4.6898164086817774e-4,-3.5780529452895425e-5,-4.1425452821863957e-10,-4.686566863176195e-4,-3.5990449974228233e-5,-4.690962154934373e-10,-4.6827208786035787e-4,-3.617631589754077e-5,-5.192139267408718e-10,-4.678386863652773e-4,-3.631568320727738e-5,-5.591870571551936e-10,-4.6737497335989225e-4,-3.6392083291211825e-5,-5.849904896303589e-10,-4.6690488301707415e-4,-3.639782201853782e-5,-5.94602599597509e-10,-4.6645445102384944e-4,-3.633592139146378e-5,-5.883906819014525e-10,-4.660476945176547e-4,-3.6220661871468307e-5,-5.692228942796334e-10,-4.657022695838701e-4,-3.6076407131886816e-5,-5.422815071321678e-10,-4.6542554666657507e-4,-3.5934607127357874e-5,-5.145430862929582e-10,-4.6521176990474016e-4,-3.582914597600692e-5,-4.93889587145379e-10,-4.650408921003716e-4,-3.579037660247443e-5,-4.878228226654467e-10,-4.6487973809540686e-4,-3.583822677071e-5,-5.017887049330647e-10,-4.646864289969452e-4,-3.5975183793548686e-5,-5.37296846788472e-10,-4.64418929535433e-4,-3.618107017587765e-5,-5.903807450996709e-10,-4.640473748557744e-4,-3.641280549063968e-5,-6.513004445318026e-10,-4.6356706963375163e-4,-3.6612571972860786e-5,-7.064066461510136e-10,-4.6300573393137634e-4,-3.672503075757567e-5,-7.42296675743031e-10,-4.624182914159778e-4,-3.671797163766815e-5,-7.508047679955584e-10,-4.6186855565977626e-4,-3.659550128472903e-5,-7.321670756526646e-10,-4.614064225580401e-4,-3.6395389241618036e-5,-6.944563282812404e-10,-4.610528332327597e-4,-3.6172385710832e-5,-6.498299076742612e-10,-4.607987283925611e-4,-3.597801715887471e-5,-6.100320374056605e-10,-4.6061468507508637e-4,-3.5846959612404006e-5,-5.833503649471653e-10,-4.6046349004600013e-4,-3.579313229929127e-5,-5.736387227312834e-10,-4.6030994274539054e-4,-3.5812705095171745e-5,-5.807834219497946e-10,-4.601262422144594e-4,-3.588972134772124e-5,-6.017486078129592e-10,-4.5989390505752053e-4,-3.600142119002202e-5,-6.316505581854882e-10,-4.596038614192552e-4,-3.61222398339944e-5,-6.646706362294414e-10,-4.592559568531993e-4,-3.6226694452753686e-5,-6.948193567656552e-10,-4.5885834703375316e-4,-3.629175808199892e-5,-7.166060109300918e-10,-4.584267277797475e-4,-3.629920933167143e-5,-7.25651034334448e-10,-4.5798303120869814e-4,-3.623817319516776e-5,-7.192617233124736e-10,-4.575530806030977e-4,-3.610762730040304e-5,-6.969458465337379e-10,-4.571628892970559e-4,-3.591815255208761e-5,-6.607620683323364e-10,-4.56833823604343e-4,-3.569198142091502e-5,-6.153534493322551e-10,-4.5657747279228704e-4,-3.54605678450924e-5,-5.675121322431022e-10,-4.5639155317605325e-4,-3.525945503013983e-5,-5.251872676244543e-10,-4.562582877399368e-4,-3.5121101489857186e-5,-4.960025021303906e-10,-4.561462404911574e-4,-3.5067166813251846e-5,-4.855281510313871e-10,-4.560157354184803e-4,-3.510209657136758e-5,-4.956760285975314e-10,-4.558271844438492e-4,-3.520973052125918e-5,-5.23642942124648e-10,-4.555509722539143e-4,-3.5354377231198915e-5,-5.618485388203806e-10,-4.551767900011865e-4,-3.5487271728465515e-5,-5.99216862288837e-10,-4.547194931700101e-4,-3.555821241925147e-5,-6.238372524193589e-10,-4.5421824807652514e-4,-3.553016757808225e-5,-6.264728450339745e-10,-4.537270827198009e-4,-3.539206308847836e-5,-6.037125880351339e-10,-4.532987076358123e-4,-3.5163679660655164e-5,-5.592847955933052e-10,-4.5296792741134556e-4,-3.488912728160238e-5,-5.027086388929701e-10,-4.527422313081323e-4,-3.462138798450755e-5,-4.458766460131134e-10,-4.5260323410913533e-4,-3.4405453702598874e-5,-3.9926413768010085e-10,-4.5251644486876176e-4,-3.426740951649623e-5,-3.6938487658784766e-10,-4.5244332300902997e-4,-3.421213627964388e-5,-3.5808595438001316e-10,-4.523505626185003e-4,-3.4227480505678286e-5,-3.632636675315268e-10,-4.5221482312207624e-4,-3.4290899461766846e-5,-3.8020116677613763e-10,-4.5202375557595886e-4,-3.437554371425792e-5,-4.029081427514244e-10,-4.5177505774483904e-4,-3.445460262322402e-5,-4.251869797649234e-10,-4.514749547370295e-4,-3.4504079311446706e-5,-4.4139362238526164e-10,-4.5113679020358777e-4,-3.450468018923218e-5,-4.469651496899405e-10,-4.507797731939009e-4,-3.444350711070474e-5,-4.388225099902334e-10,-4.504274678763231e-4,-3.431595710739258e-5,-4.1574789980056126e-10,-4.501053968208255e-4,-3.412772239306382e-5,-3.7876689398194317e-10,-4.49837245052929e-4,-3.3896171321560205e-5,-3.3143923698792594e-10,-4.4963967883302245e-4,-3.364990241377015e-5,-2.7982500286964254e-10,-4.495167350280108e-4,-3.342519780636138e-5,-2.3182893325347959e-10,-4.494557916595384e-4,-3.32588698365336e-5,-1.9575098987866422e-10,-4.494275238613324e-4,-3.317868246084438e-5,-1.7822526619476317e-10,-4.493912544321645e-4,-3.319433112785999e-5,-1.8215182067943742e-10,-4.4930491559363935e-4,-3.329257874488547e-5,-2.0541584757431906e-10,-4.491366544886963e-4,-3.343893518934762e-5,-2.409915239755049e-10,-4.4887423428689434e-4,-3.358582747083409e-5,-2.785249749837473e-10,-4.4852918924545023e-4,-3.3684857564196356e-5,-3.069592004180854e-10,-4.481345025764483e-4,-3.3699547562141865E-05,-3.174400965017838e-10,-4.477364173205387e-4,-3.36150453685436e-5,-3.056899582009406e-10,-4.473824653024104e-4,-3.3442075559446554e-5,-2.731645840371916e-10,-4.471089794236686e-4,-3.3213746559910004e-5,-2.2659609678642381e-10,-4.4693193476726584e-4,-3.2975892326254515e-5,-1.7600234698550785e-10,-4.4684415933761597e-4,-3.2774072581832724e-5,-1.318180279743324e-10,-4.468195596048631e-4,-3.264180812728822e-5,-1.0215906621877542e-10,-4.468221350963377e-4,-3.259390394722096e-5,-9.111564082088563e-11,-4.468159270102211e-4,-3.262613831507543e-5,-9.843768488394674e-11,-4.4677253154619184e-4,-3.271981887431175e-5,-1.2037327381122013e-10,-4.466747593938944e-4,-3.2848326037323585e-5,-1.5107991793165482e-10,-4.465169535590928e-4,-3.298315215165685e-5,-1.8405170853296948e-10,-4.4630337571044507e-4,-3.309824656748056e-5,-2.1323351666357844e-10,-4.4604597579605345e-4,-3.317263929462189e-5,-2.337308573244723e-10,-4.45762317539977e-4,-3.3191928530204014e-5,-2.421841171496663e-10,-4.454738218877487e-4,-3.314935956184844e-5,-2.369644191333686e-10,-4.4520398080873634e-4,-3.304699535971351e-5,-2.1835135532547503e-10,-4.449759188950929e-4,-3.289697404544757e-5,-1.887628854791514e-10,-4.448087241116615e-4,-3.2722220146874976e-5,-1.529489231537002e-10,-4.4471242614531716e-4,-3.2555363695373645e-5,-1.1787226547448037e-10,-4.446825403539786e-4,-3.2434324371631275e-5,-9.188130706746193e-11,-4.4469655992664646e-4,-3.2393735943472714e-5,-8.291075104452407e-11,-4.4471563063769776e-4,-3.245364245052461e-5,-9.596818943647909e-11,-4.446933654754844e-4,-3.2609831845342675e-5,-1.3086158754423952e-10,-4.445900359888028e-4,-3.2831347836709934e-5,-1.814400172328324e-10,-4.4438642125605143e-4,-3.306811219248421e-5,-2.370680722983898e-10,-4.4409080264432883e-4,-3.326622792760892e-5,-2.858581212801058e-10,-4.437360837083105e-4,-3.33843518504114e-5,-3.1823887552277983e-10,-4.433690949210459e-4,-3.340463330407339e-5,-3.294487374573945e-10,-4.430370755530498e-4,-3.3335321031998855e-5,-3.203184353265311e-10,-4.427759960089928e-4,-3.320596713714179e-5,-2.9650278742528307e-10,-4.4260339341241914e-4,-3.305809413124731e-5,-2.666935334285821e-10,-4.425164934095727e-4,-3.293443729480453e-5,-2.403889490512539e-10,-4.424951037855245e-4,-3.286939195932481e-5,-2.2573681301802528e-10,-4.4250792553513906e-4,-3.2882577323854434e-5,-2.2789539745179735e-10,-4.425203905633074e-4,-3.297653466831185e-5,-2.4823497974085815e-10,-4.425019734590562e-4,-3.313848660280707e-5,-2.8448803781729026e-10,-4.424313311491289e-4,-3.334499881923905e-5,-3.3168004394333305e-10,-4.422985572981347e-4,-3.3567784931305844e-5,-3.834657566606249e-10,-4.4210484891880924e-4,-3.377905354369237e-5,-4.3346022827032136e-10,-4.4186050614891556e-4,-3.3955460677570604e-5,-4.762630706971752e-10,-0.00044158229376506733,-3.408047587119074e-5,-5.080560853142402e-10,-4.4129088951131405e-4,-3.4145537682724034e-5,-5.268328707022444e-10,-4.4100864451780675e-4,-3.415060214756904e-5,-5.324321778308508e-10,-4.4075744431709034e-4,-3.4104538515809105e-5,-5.265509515466792e-10,-4.405562048159596e-4,-3.402543308853396e-5,-5.128193797311413e-10,-4.4041749799388676e-4,-3.394031824044413e-5,-4.968520411437988e-10,-4.4034317371603764e-4,-3.388321666420194e-5,-4.859836819661576e-10,-4.4031985380117906e-4,-3.389003663385937e-5,-4.882781596747447e-10,-4.4031667309458187e-4,-3.398947734201114e-5,-5.105417250572887e-10,-4.40288726603928e-4,-3.419139460117802e-5,-5.556392875995702e-10,-4.4018852720764694e-4,-3.447763007612022e-5,-6.202734840122589e-10,-4.3998312776834925e-4,-3.4802253044518366e-5,-6.948530997978604e-10,-4.396688525708522e-4,-3.510470657110431e-5,-7.662719727894685e-10,-4.3927463938373874e-4,-3.533108692677226e-5,-8.225278615720626e-10,-4.388514849831018e-4,-3.545261924397217e-5,-8.567545923869293e-10,-4.384542114569926e-4,-3.5472467064472854e-5,-8.687704570663886e-10,-4.381250309194333e-4,-3.542007387575285e-5,-8.640367362840351e-10,-4.3788477725332484e-4,-3.533865244353876e-5,-8.512299465652137e-10,-4.377321566231613e-4,-3.52722511840646e-5,-8.396926899517458e-10,-4.3764830456916964e-4,-3.525614476523123e-5,-8.374333127536711e-10,-4.376036478383992e-4,-3.531151963905395e-5,-8.498330044244647e-10,-4.3756499698159503e-4,-3.544392307484552e-5,-8.790159276265403e-10,-4.3750174764789934e-4,-3.56445680225368e-5,-9.238259471745557e-10,-4.3739057794072914e-4,-3.5893675770702265e-5,-9.803621067461992e-10,-4.372182577922428e-4,-3.6165025749781834e-5,-1.042950971201023e-9,-4.369824734841252e-4,-3.6430802734025703e-5,-1.1053246753441703e-9,-4.36690901264442e-4,-3.6665949804834746e-5,-1.1617407465670032e-9,-4.3635900542241446e-4,-3.685147801086402e-5,-1.2078249534317108e-9,-4.360071976804138e-4,-3.697647114841903e-5,-1.2410262063482944e-9,-4.356579555231565e-4,-3.7038915732516285e-5,-1.260728985867218e-9,-4.353331667358742e-4,-3.704575670653252e-5,-1.2681800873321904e-9,-4.350516275750907e-4,-3.701249208677096e-5,-1.2663789075441324e-9,-4.348264748497907e-4,-3.696235632581322e-5,-1.2599873663792249e-9,-4.3466228069439307e-4,-3.692480626009468e-5,-1.2551736513394884e-9,-4.3455177288540366e-4,-3.6932510170417106e-5,-1.25912798564809e-9,-4.3447301468774706e-4,-3.701572674939781e-5,-1.278902275184977e-9,-4.3438916026796164e-4,-3.71935894381788e-5,-1.3194060826546412e-9,-4.3425376802956616e-4,-3.74638561498117e-5,-1.3809346111075104e-9,-4.340236163024067e-4,-3.779593543622154e-5,-1.4574024307369292e-9,-4.3367640876553675e-4,-3.8134118564692025e-5,-1.5369256916288049e-9,-4.332244241737091e-4,-3.8414502041651824e-5,-1.6055222702572017e-9,-4.3271386018431076e-4,-3.858948430017033e-5,-1.652481129483999e-9,-4.3220787923143326e-4,-3.864607462666557e-5,-1.6743270763616353e-9,-4.317629656468537e-4,-3.860761863456337e-5,-1.6752156913577408e-9,-4.3141176547786695e-4,-3.8520414864384305e-5,-1.6642240440609935e-9,-4.3115868222643985e-4,-3.8435327419660585e-5,-1.651702421749401e-9,-4.3098557996193025e-4,-3.8393580822086956e-5,-1.6464759363415677e-9,-4.3086147835504085e-4,-3.841992287116871e-5,-1.65440671246263e-9,-4.307516674336233e-4,-3.8521823132790755e-5,-1.6780078303099869e-9,-4.306243804306794e-4,-3.8692067403099935e-5,-1.716664885505569e-9,-4.3045497513185133e-4,-3.891267180424769e-5,-1.7671843133691706e-9,-4.302282105989142e-4,-3.9159095494623204e-5,-1.824566327370246e-9,-4.299390751286171e-4,-3.940438880534627e-5,-1.8829431790449586e-9,-4.295924025130069e-4,-3.9623034498814555e-5,-1.936562263178734e-9,-4.292014630930585e-4,-3.9794261037469396e-5,-1.9806593157273097e-9,-4.287856876623859e-4,-3.9904630596068394e-5,-2.0120950226613972e-9,-4.28367754503315e-4,-3.994964610903417e-5,-2.0296763544745215e-9,-4.279704452993792e-4,-3.9934237516808346e-5,-2.0341813886434956e-9,-4.276136265667553e-4,-3.987227137249826e-5,-2.0282039753249915e-9,-4.273114688402678e-4,-3.978527077197651e-5,-2.0159259234067885e-9,-4.2706992488113834e-4,-3.9700366198973295e-5,-2.002829069662559e-9,-4.268845197863682e-4,-3.964737840173896e-5,-1.9952647642030475e-9,-4.267386265969893e-4,-3.965471131576109e-5,-1.999700373052887e-9,-4.266029510717304e-4,-3.9743544324180614e-5,-2.0214358793739664e-9,-4.26437834568534e-4,-3.992039295746758e-5,-2.0627867533072652e-9,-4.2620038657907274e-4,-4.016980373449743e-5,-2.1212012265236316e-9,-4.2585728334790284e-4,-4.0451299582123726e-5,-2.1883606719571155e-9,-4.25400265363133e-4,-4.070596598753596e-5,-2.25155109322746e-9,-4.248561337280175e-4,-4.0874859811857436e-5,-2.2977411834001216e-9,-4.242820619720334e-4,-4.092274432793028e-5,-2.3187965446079723e-9,-4.237451316903482e-4,-4.085341822572131e-5,-2.3147791360394584e-9,-4.2329694415442286e-4,-4.070654441064251e-5,-2.2932869092235596e-9,-4.229578411734412e-4,-4.0538947222353454e-5,-2.2656447239000503e-9,-4.2271688421275413e-4,-4.040304127911455e-5,-2.2426165588610284e-9,-4.225427433080427e-4,-4.0333144803596924e-5,-2.231704275563879e-9,-4.223968689264773e-4,-4.0342043136537935e-5,-2.2363639652971267e-9,-4.222434398179648e-4,-4.042433106460874e-5,-2.256430112670042e-9,-4.220548334090586e-4,-4.056222883882198e-5,-2.2890006714688703e-9,-4.218136677594013e-4,-4.073117018433807e-5,-2.3293788637137593e-9,-4.21512946299068e-4,-4.0904258616967875e-5,-2.3719643641673716e-9,-4.2115531676598317e-4,-4.105575217512033e-5,-2.4111025484600863e-9,-4.207517952197999e-4,-4.1163907229954436e-5,-2.441863734119646e-9,-4.203200113401336e-4,-4.121333480514526e-5,-2.460678044086568e-9,-4.198819221794372e-4,-4.119688223171917e-5,-2.4657691210332674e-9,-4.194609188969578e-4,-4.111682572964086e-5,-2.4573520283086842e-9,-4.1907848888926417e-4,-4.0985005162454883e-5,-2.4375869987131062e-9,-4.1875086145044143e-4,-4.082171835588424e-5,-2.4103369791762464e-9,-4.1848604840921634e-4,-4.065342570658751e-5,-2.3807851127628465e-9,-4.182816061708275e-4,-4.050935427302264e-5,-2.3549026071762925e-9,-4.1812347686722286e-4,-4.041715861848515e-5,-2.3387103150409148e-9,-4.1798629068454416e-4,-4.039789505126642e-5,-2.337275945283984e-9,-4.178356307985684e-4,-4.046059638808345e-5,-2.353438615303446e-9,-4.1763304542852736e-4,-4.0597133531294696e-5,-2.3864309135234715e-9,-4.17344485054109e-4,-4.07791348421971e-5,-2.4308988000567276e-9,-4.1695157842682465e-4,-4.095991780817399e-5,-2.477108670627579e-9,-4.16462448119742e-4,-4.108433698392642e-5,-2.5130503328766345e-9,-4.15915771968092e-4,-4.1106404871525956e-5,-2.528346010590168e-9,-4.153721159190534e-4,-4.100833523430551e-5,-2.5184530965389194e-9,-4.1489323356661917e-4,-4.0810007275967356e-5,-2.4867440031700544e-9,-4.1451934265011636e-4,-4.056149998336314e-5,-2.443004015897615e-9,-4.14257057163492e-4,-4.032253315069391e-5,-2.399280027476654e-9,-4.140829643037679e-4,-4.014115402159914e-5,-2.365624213252662e-9,-4.139573594589503e-4,-4.004203540654317e-5,-2.347719850083814e-9,-4.1383883902764264e-4,-4.0026135838993726e-5,-2.346648557292666e-9,-4.1369395521428763e-4,-4.007714518494776e-5,-2.359918634965156e-9,-4.1350116283010187e-4,-4.0169438678037385e-5,-2.3828275358386247e-9,-4.132509204849382e-4,-4.02745458009851e-5,-2.409672202656709e-9,-4.12944098431814e-4,-4.036544899383293e-5,-2.434693727626981e-9,-4.1259003312596384e-4,-4.0419283786942026e-5,-2.4528076757501718e-9,-4.1220463180241106e-4,-4.041920894315126e-5,-2.460165886913844e-9,-4.118084241146482e-4,-4.035589750016881e-5,-2.4545551866637317e-9,-4.114243079808707e-4,-4.0228769440772255e-5,-2.4356339267987566e-9,-4.1107472547243434e-4,-4.004674770704506e-5,-2.4050065497151834e-9,-4.107782411517076e-4,-3.982801465533893e-5,-2.3661110631512318e-9,-4.1054594259781567e-4,-3.959827057314572e-5,-2.3238887851075064e-9,-4.10378395758591e-4,-3.938732383127705e-5,-2.2842171118400988e-9,-4.1026395191599125e-4,-3.922422342717951e-5,-2.2530908614786637e-9,-4.101791123460307e-4,-3.9131562701737556e-5,-2.23557803383868e-9,-4.100913745510124e-4,-3.911997116984464e-5,-2.2346619299068557e-9,-4.099645570075549e-4,-3.9183950507037974e-5,-2.250178149363926e-9,-4.097661972198411e-4,-3.930021397784681e-5,-2.278150153434694e-9,-4.0947612025577423e-4,-3.9429780090729804e-5,-2.310922006873919e-9,-4.090943862753506e-4,-3.952493336780649e-5,-2.338459230035468e-9,-4.086456517799025e-4,-3.954111611657848e-5,-2.3508883014153373e-9,-4.081763984351799e-4,-3.945141594102922e-5,-2.34172318966217e-9,-4.0774310491620253e-4,-3.9258165010706924e-5,-2.3105104000586573e-9,-4.0739410414728915e-4,-3.899487440782558e-5,-2.2634068239480487e-9,-4.071530517716821e-4,-3.8715380711305496e-5,-2.2110648360130516e-9,-4.07012517735472e-4,-3.8474663908117465e-5,-2.1647814676881445e-9,-4.0694031503661626e-4,-3.83111097332982e-5,-2.132885090794267e-9,-4.0689355328915437e-4,-3.823811500140989e-5,-2.118905391336737e-9,-4.0683245131795863e-4,-3.824611552137267e-5,-2.121744169365106e-9,-4.0672875066320724e-4,-3.83106584547127e-5,-2.137053712749919e-9,-4.065681541205749e-4,-3.8401284561318635e-5,-2.1588842425524963e-9,-4.063489170280104e-4,-3.848820200325258e-5,-2.181051087605659e-9,-4.0607899542711783e-4,-3.854620981262006e-5,-2.198080022710527e-9,-4.0577321760118843e-4,-3.855665233157998e-5,-2.2057933114142437e-9,-4.054509336224549e-4,-3.850839314776131e-5,-2.2016348705458945e-9,-4.051339790749997e-4,-3.839848304650612e-5,-2.1848218714545927e-9,-4.0484452728607707e-4,-3.8232763492249975e-5,-2.1563917184551757e-9,-4.046024009615301e-4,-3.8026166396044666e-5,-2.1191704389762e-9,-4.0442170184689123e-4,-3.780206287518215e-5,-2.0776109012345515e-9,-4.043071522932379e-4,-3.7589916539575194e-5,-2.037394588277785e-9,-4.0425112417486777e-4,-3.7420805564781884e-5,-2.0046841607319565e-9,-4.0423270413599097e-4,-3.732108474951415e-5,-1.9850017433876396e-9,-4.042199941499895e-4,-3.7305461211264305e-5,-1.9818909364028005e-9,-4.041759729458141e-4,-3.7371576180890595e-5,-1.995722476799383e-9,-4.040669367934563e-4,-3.749819781395151e-5,-2.023080949156707e-9,-4.038714430168704e-4,-3.764824543910441e-5,-2.0570719150784504e-9,-4.0358723837979936e-4,-3.777652245214125e-5,-2.088652532821821e-9,-4.0323392522940814e-4,-3.784066890271968e-5,-2.108786263221883e-9,-4.028499668827034e-4,-3.7812733764463005e-5,-2.110917795052249e-9,-4.024839213955273e-4,-3.768809159565209e-5,-2.0930452841422504e-9,-4.0218154105103323e-4,-3.748838143603014e-5,-2.0586134771402745e-9,-4.0197245691300375e-4,-3.7256296497542606e-5,-2.0156987881971886e-9,-4.0186148165965595e-4,-3.7042976733979594e-5,-1.974586200188155e-9,-4.018283808339541e-4,-3.6892494178303976e-5,-1.944623987475064e-9,-4.0183608868270894e-4,-3.6829760565161567e-5,-1.9316327261505804e-9,-4.0184323029191903e-4,-3.685629057238657e-5,-1.9367984159228025e-9,-4.0181540972463755e-4,-3.6953941902521246e-5,-1.9571606390107712e-9,-4.0173160962337696e-4,-3.7093205760581396e-5,-1.9871078224997477e-9,-4.015852743493223e-4,-3.724183204408453e-5,-2.0200937211791826e-9,-4.013819118193629e-4,-3.737112093517171e-5,-2.0500268935527753e-9,-4.0113546642722405e-4,-3.745934046666174e-5,-2.072145790532876e-9,-4.008649162475529e-4,-3.749303145455463e-5,-2.0834320591036338e-9,-4.005915876567197e-4,-3.746722429672266e-5,-2.0827005722215756e-9,-4.00337051736825e-4,-3.7385338843855984e-5,-2.0705219071079996e-9,-4.0012112723467486e-4,-3.725911600757237e-5,-2.0491068141487655e-9,-3.9995945006566694e-4,-3.710838880148392e-5,-2.02219878218256e-9,-3.9986036290861937e-4,-3.696000071532959e-5,-1.9948926212214277e-9,-3.9982147601925637e-4,-3.684496081292581e-5,-1.9731958999948373e-9,-3.998270224104261e-4,-3.6793151712941985e-5,-1.9631309255681626e-9,-3.9984782850540707e-4,-3.6825820017548094e-5,-1.9693326621769157e-9,-3.9984567314217234e-4,-3.6947721487253395e-5,-1.9934475370821446e-9,-3.997823060669654e-4,-3.714229558595796e-5,-2.0329994613703186e-9,-3.996308094008664e-4,-3.7373115060623765e-5,-2.0814266273117242e-9,-3.99384988712439e-4,-3.759249203934011e-5,-2.1295566994293455e-9,-3.9906271036433164e-4,-3.775472405457742e-5,-2.1681019565900638e-9,-3.987016202917927e-4,-3.7829193936713294e-5,-2.190272534708571e-9,-3.9834887836798216e-4,-3.780875269054671e-5,-2.193608295241445e-9,-3.980485538263064e-4,-3.7711034648837475e-5,-2.1805271009791155e-9,-3.978305141809676e-4,-3.75729460791574e-5,-2.157555028882998e-9,-3.9770366530245046e-4,-3.744037328616604e-5,-2.1335311050243456e-9,-3.9765504299890545e-4,-3.735613027207092e-5,-2.1172878104897155e-9,-3.976546923721489e-4,-3.7349520461290274e-5,-2.1154458093897077e-9,-3.976645841027215e-4,-3.7430385886824955e-5,-2.1309453027747796e-9,-3.9764857481630915e-4,-3.7588969553787584e-5,-2.16269710822895e-9,-3.975803240688057e-4,-3.78008285196242e-5,-2.206328545718188e-9,-3.9744725472712117e-4,-3.8034406317778884e-5,-2.2556260006985536e-9,-3.972504331599879e-4,-3.825848207709496e-5,-2.304116143937135e-9,-3.970016678082849e-4,-3.8447576129588216e-5,-2.346328968114079e-9,-3.967195597523896e-4,-3.85847761019194e-5,-2.378535140950185e-9,-3.9642580202908984e-4,-3.8662499543895226e-5,-2.3989805580658325e-9,-3.9614227617272086e-4,-3.8682093918056946e-5,-2.407778956750608e-9,-3.9588887819566896e-4,-3.865305185717903e-5,-2.406662527805749e-9,-3.9568165300506234e-4,-3.8592229765188354e-5,-2.3987512411946675e-9,-3.9553072846361295e-4,-3.852295871827556e-5,-2.3883867003944353e-9,-3.9543774790634314e-4,-3.847345808670505e-5,-2.3809297326839213e-9,-3.9539305003282924e-4,-3.847364136251777e-5,-2.382287114028292e-9,-3.9537371824626544e-4,-3.854948972135635e-5,-2.397910865159832e-9,-3.9534454501332527e-4,-3.8715107497318946e-5,-2.4312142198376576e-9,-3.952641095528031e-4,-3.896460770802551e-5,-2.4818178598376683e-9,-3.9509636929992376e-4,-3.9268210077471814e-5,-2.5445577437541576e-9,-3.9482433024793544e-4,-3.957704143478872e-5,-2.6102337078048142e-9,-3.944590437311957e-4,-3.983728465279895e-5,-2.66827632892777e-9,-3.9403811672779804e-4,-4.000826568398732e-5,-2.7102607573795425e-9,-3.936136334447647e-4,-4.007582516475161e-5,-2.732568246881595e-9,-3.932354489171214e-4,-4.005509986930359e-5,-2.7370829288428234e-9,-3.9293735005261444e-4,-3.9983124149450465e-5,-2.730028550413103e-9,-3.927304162113228e-4,-3.990616554842289e-5,-2.7198283129693987e-9,-3.926037104670152e-4,-3.986712394333029e-5,-2.7148744382944538e-9,-3.925300340245018e-4,-3.989630581245046e-5,-2.721726552456415e-9,-3.924740322961887e-4,-4.000673567964125e-5,-2.7439566656949624e-9,-3.9240044960224226e-4,-4.0193797020507027e-5,-2.781711773518208e-9,-3.9228100027058804e-4,-4.043835453992976e-5,-2.8319939335662753e-9,-3.920988397429943e-4,-4.071220949346134e-5,-2.8895632795737313e-9,-3.918501286346216e-4,-4.098447018044798e-5,-2.9482215655903276e-9,-3.915428759247042e-4,-4.1227354423628e-5,-3.002126932202798e-9,-3.911938860598323e-4,-4.142035578932055e-5,-3.0468184632871506e-9,-3.908248865257149e-4,-4.1552391217979064e-5,-3.079773043002786e-9,-3.904587877773441e-4,-4.162213920665322e-5,-3.100490246668063e-9,-3.901166540589265e-4,-4.163716629526032e-5,-3.1102498369570066e-9,-3.898154596295406e-4,-4.1612528206521545e-5,-3.1117545046976984e-9,-3.895663343014008e-4,-4.15692477287104e-5,-3.108816873159751e-9,-3.893729274795302e-4,-4.1532643167673676e-5,-3.106122424164249e-9,-3.8922964958095066e-4,-4.1530120920376783e-5,-3.108959796232942e-9,-3.8911993547672825e-4,-4.158773400879558e-5,-3.1226873440949273e-9,-3.890154780111431e-4,-4.172477613316137e-5,-3.1516937951170783e-9,-3.8887832398421657e-4,-4.1946490302301866e-5,-3.1978260954989524e-9,-3.8866798799491536e-4,-4.2236923527193535e-5,-3.2587392014650204e-9,-3.883541075724722e-4,-4.255643026767475e-5,-3.3271796700881e-9,-3.879309179981178e-4,-4.2848970224092304e-5,-3.3923178303223024e-9,-3.874252936797595e-4,-4.3060086306725585e-5,-3.4432808142227515e-9,-3.8689085406422015e-4,-4.315822428367038e-5,-3.473343383367832e-9,-3.863889877673784e-4,-4.3147231358598694e-5,-3.4823712443678767e-9,-3.859670303418556e-4,-4.306282988945449e-5,-3.476235200012914e-9,-3.856450179732965e-4,-4.29567332020061e-5,-3.4640108169692097e-9,-3.8541502948697586e-4,-4.287851646215824e-5,-3.4548315486565543e-9,-3.852493149355605e-4,-4.2863147399264384e-5,-3.4556957290431317e-9,-3.851111325842977e-4,-4.2926194690833945e-5,-3.4704676625369628e-9,-3.849641750666217e-4,-4.306488479653104e-5,-3.4997555963823663e-9,-3.8477904449105344e-4,-4.326230537360815e-5,-3.541315667419064e-9,-3.845368505256895e-4,-4.349269606106779e-5,-3.5907716079917845e-9,-3.842305470775176e-4,-4.372677264988809e-5,-3.6425556238611925e-9,-3.838644713396162e-4,-4.393662457551494e-5,-3.690971057311515e-9,-3.834524001017426e-4,-4.4099766813166904e-5,-3.731195660582228e-9,-3.8301455462920074e-4,-4.4201952462350065e-5,-3.760022682061001e-9,-3.8257407697839317e-4,-4.42385677285092e-5,-3.776219192075404e-9,-3.821534971407641e-4,-4.42146190699868e-5,-3.78049345493217e-9,-3.8177167811354886e-4,-4.414353188785048e-5,-3.775176115440497e-9,-3.814415037458072e-4,-4.404520966037506e-5,-3.763795599090132e-9,-3.811682438952999e-4,-4.3943745048884684e-5,-3.750686091708826e-9,-3.8094841874788385e-4,-4.3864881721126706e-5,-3.740645067077998e-9,-3.807690606418496e-4,-4.383310219135978e-5,-3.738542478624394e-9,-3.8060747113549404e-4,-4.3868015094879415e-5,-3.7487069852998005e-9,-3.8043212896826716e-4,-4.397964230952124e-5,-3.77392849591353e-9,-3.8020614214202126e-4,-4.416283549922484e-5,-3.814126337469046e-9,-3.7989477348660916e-4,-4.43925934432593e-5,-3.8651369785543476e-9,-3.7947723172862823e-4,-4.462397219530305e-5,-3.918497560033356e-9,-3.789593875598948e-4,-4.4800964639163135e-5,-3.96317158934382e-9,-3.783796554624242e-4,-4.487522211492297e-5,-3.989310173516736e-9,-3.7780028171270733e-4,-4.482731494297352e-5,-3.992457390009027e-9,-3.772848187336151e-4,-4.4677289049787794e-5,-3.975587279866091e-9,-3.768738589342568e-4,-4.4476302813578715e-5,-3.947557776892742e-9,-3.765731596693725e-4,-4.4284647088400656e-5,-3.919157973229763e-9,-3.763583684669076e-4,-4.415011216339383e-5,-3.8993178944763496e-9,-3.7618935482083637e-4,-4.409689236608701e-5,-3.893153730927883e-9,-3.760245905568384e-4,-4.412564418670974e-5,-3.901816527226052e-9,-3.758305281239963e-4,-4.4219737409461237e-5,-3.923290331122069e-9,-3.755856622553639e-4,-4.435289044370741e-5,-3.953443754350989e-9,-3.752809867131644e-4,-4.449563849145108e-5,-3.987032034029203e-9,-3.749186681115099e-4,-4.462002058569582e-5,-4.018598786101294e-9,-3.745100126286204e-4,-4.4702883418774216e-5,-4.043293546650498e-9,-3.740730272909859e-4,-4.472824114947566e-5,-4.057558558959361e-9,-3.736296275242296e-4,-4.4688796131403827e-5,-4.059581153155581e-9,-3.732025909944763e-4,-4.4586579231906474e-5,-4.049448013925343e-9,-3.7281240901532864e-4,-4.4432606619089756e-5,-4.029008414573869e-9,-3.724743361521061e-4,-4.4245446122239154e-5,-4.001513612609417e-9,-3.7219604683176886e-4,-4.404881315412431e-5,-3.971147889469539e-9,-3.719761559946201e-4,-4.386851506422404e-5,-3.942550572712875e-9,-3.718036869016746e-4,-4.3729011292962504e-5,-3.920339561133363e-9,-3.716585476438696e-4,-4.364979112255484e-5,-3.908574248164302e-9,-3.715130942800803e-4,-4.364173138022532e-5,-3.910078188684471e-9,-3.713350457921283e-4,-4.370352841575415e-5,-3.925586069346227e-9,-3.7109238380513845e-4,-4.3818651024463044e-5,-3.9528488394828995e-9,-3.707607845405598e-4,-4.395425389302266e-5,-3.986112633364346e-9,-3.7033298488081413e-4,-4.406449097933762e-5,-4.01659369367896e-9,-3.698271408886742e-4,-4.4100617660546984e-5,-4.034478858226037e-9,-3.6928850300559833e-4,-4.402761136944001e-5,-4.032309510928544e-9,-3.6877886950402043e-4,-4.3841161627626426e-5,-4.008397336623387e-9,-3.68354844176475e-4,-4.3574127073054776e-5,-3.9681227490621515e-9,-3.680456442399449e-4,-4.328536888044946e-5,-3.921896540270247e-9,-3.678438514995482e-4,-4.303605390842075e-5,-3.88088052714649e-9,-3.6771344272492777e-4,-4.286765668321312e-5,-3.853066475373028e-9,-3.6760744211130974e-4,-4.279271827029995e-5,-3.841571155142976e-9,-3.6748400287878505e-4,-4.279868404809011e-5,-3.845110101089603e-9,-3.6731503805980255e-4,-4.2858040425471004e-5,-3.859505188909107e-9,-3.670878782353395e-4,-4.293828963274571e-5,-3.879232548481663e-9,-3.668030259099282e-4,-4.300887457302174e-5,-3.8986149146387406e-9,-3.664707239972699e-4,-4.304497730933188e-5,-3.912649349560868e-9,-3.6610775839668016e-4,-4.302929792015812e-5,-3.917575783781463e-9,-3.657347454762509e-4,-4.295287241734541e-5,-3.911245377621743e-9,-3.653736412651876e-4,-4.2815417391808795e-5,-3.893281236926014e-9,-3.650452228879931e-4,-4.2625259277326516e-5,-3.865029786249455e-9,-3.6476641984123815e-4,-4.239866016669585e-5,-3.8293301914713776e-9,-3.645476115673927e-4,-4.215819173345968e-5,-3.790137077788593e-9,-3.643903517009124e-4,-4.192994909126311e-5,-3.752032661708107e-9,-3.642861036996599e-4,-4.173977362622034e-5,-3.71966635491313e-9,-3.642164327955368e-4,-4.160892942215545e-5,-3.697132215015159e-9,-3.641549093482707e-4,-4.1549858066543754e-5,-3.6872863278909777e-9,-3.6407072313266787e-4,-4.1562773802817286e-5,-3.6910546876715064e-9,-3.639337297548633e-4,-4.1633785245227165e-5,-3.706842402789998e-9,-3.637205402382895e-4,-4.17351263688552e-5,-3.730239026226662e-9,-3.634210733541716e-4,-4.182826882524199e-5,-3.7543125950062615e-9,-3.6304426985984744e-4,-4.187077889867399e-5,-3.770791848359487e-9,-3.626205679360432e-4,-4.1827023967553126e-5,-3.772195287003563e-9,-3.621980590998262e-4,-4.168082324199709e-5,-3.754465893092228e-9,-3.6183040236259707e-4,-4.144515737090433e-5,-3.719051514202747e-9,-3.615588707716338e-4,-4.1162290906568653e-5,-3.6731031521314867e-9,-3.61396538504054e-4,-4.089083947416614e-5,-3.627175685529882e-9,-3.6132387086853867e-4,-4.0684523717909506e-5,-3.5913642442355727e-9,-3.612984871112935e-4,-4.057381858184938e-5,-3.57191628278744e-9,-3.6127263538453984e-4,-4.0559572504084276e-5,-3.5699106570700582e-9,-3.6120844626298833e-4,-4.061897653845609e-5,-3.5820719173724824e-9,-3.610852118619653e-4,-4.0717434213808e-5,-3.6026558942381903e-9,-3.608991626924136e-4,-4.0819528038116416e-5,-3.625305177385425e-9,-3.6065929725962267e-4,-4.0895889554540754e-5,-3.644354040211268e-9,-3.6038248887045136e-4,-4.092611299111932e-5,-3.6555594903413846e-9,-3.6008948797461456e-4,-4.089924983103489e-5,-3.6564197922185135e-9,-3.598020583044798e-4,-4.0813324951301555e-5,-3.6462285238279096e-9,-3.5954081132138837e-4,-4.06746448702424e-5,-3.625955167087689e-9,-3.593232203764928e-4,-4.049706401005377e-5,-3.5980159849031315e-9,-3.591614767911618e-4,-4.030096233320472e-5,-3.5659792059672047e-9,-3.5906017581369425e-4,-4.011143008152642e-5,-3.5342021902016163e-9,-3.590142746293756e-4,-3.9955202075565014e-5,-3.5073577657903728e-9,-3.5900813493897933e-4,-3.9856294031816824e-5,-3.4898049410216977e-9,-3.590165228657977e-4,-3.9830885148132995e-5,-3.484809323888809e-9,-3.5900811619758537e-4,-3.988259608517585e-5,-3.4937187933879266e-9,-3.589513508368191e-4,-3.9999692692636196e-5,-3.515316951993148e-9,-3.588215300116031e-4,-4.015553409221791e-5,-3.5456245459726613e-9,-3.586074994236263e-4,-4.031277515563591e-5,-3.578347724118303e-9,-3.5831611404968134e-4,-4.0430887172238557e-5,-3.6060328154525907e-9,-3.5797300106842354e-4,-4.0475752013014714e-5,-3.621798180660383e-9,-3.5761860209188446e-4,-4.0429328523306393E-05,-3.6212892232579545e-9,-3.572993273213688e-4,-4.029669010026284e-5,-3.604282007806e-9,-3.5705516107877836e-4,-4.01074134564653e-5,-3.575261109336151e-9,-3.56907171864305e-4,-3.990910227757714e-5,-3.542466178765705e-9,-3.5685000952815797e-4,-3.975360446642084e-5,-3.51546370509442e-9,-3.568535768631939e-4,-3.968060851260814e-5,-3.502095452651505e-9,-3.568738387353768e-4,-3.9705767185260144e-5,-3.506123139270059e-9,-3.568676969066613e-4,-3.981847075560239e-5,-3.526548679024781e-9,-3.568050583051709e-4,-3.9988930782059254e-5,-3.558632436406407e-9,-3.56673931076042e-4,-4.017965642244248e-5,-3.595815124716367e-9,-3.564788653472729e-4,-4.035578451744323e-5,-3.631596410599711e-9,-3.562358193015023e-4,-4.049130472750036e-5,-3.6608170038248088e-9,-3.5596655047241536e-4,-4.057119598922274e-5,-3.6802591959901357e-9,-3.556941971200325e-4,-4.059099060777297e-5,-3.688733399766354e-9,-3.554403466676326e-4,-4.055530827745248e-5,-3.6868596918516015e-9,-3.552231502274103e-4,-4.047630480756108e-5,-3.6767210257453985e-9,-3.550558309426621e-4,-4.0372330118324426e-5,-3.6615103358701634e-9,-3.549450842029947e-4,-4.0266541812810685e-5,-3.6452166207126978e-9,-3.5488926874896996e-4,-4.018488717008979e-5,-3.6323023478007748e-9,-3.5487679855453013e-4,-4.0152863925988295e-5,-3.6272565039705226e-9,-3.5488564634128154e-4,-4.019082120417089e-5,-3.6339063053833576e-9,-3.548851821818268e-4,-4.030831790087331e-5,-3.6544836887830023e-9,-3.548412788564619e-4,-4.049915486044093e-5,-3.6886696467672877e-9,-3.547243771613122e-4,-4.073952000048624e-5,-3.733057102710848e-9,-3.5451840841679887e-4,-4.0991294984085655e-5,-3.781467494098887e-9,-3.5422725173712733e-4,-4.121070540757682e-5,-3.826258266543762e-9,-3.538757710829669e-4,-4.136004087638724e-5,-3.8603033376723175e-9,-3.53504443877645e-4,-4.1418554823238366e-5,-3.879000807542093e-9,-3.5315908496719346e-4,-4.1388813578662445e-5,-3.881636157749867e-9,-3.528788443462086e-4,-4.1296476166252965e-5,-3.871679975513234e-9,-3.5268596813342254e-4,-4.118364620333568e-5,-3.855939529728651e-9,-3.525801622010045e-4,-4.109766926615156e-5,-3.84277572321506e-9,-3.5253922633776333e-4,-4.107846753507557e-5,-3.839853266345332e-9,-3.5252589900936437e-4,-4.1148172477191464e-5,-3.852089139473279e-9,-3.5249873593641004e-4,-4.130635182893659e-5,-3.880468677924388e-9,-3.524232758040045e-4,-4.153215835850133e-5,-3.922098707575269e-9,-3.5227977421103506e-4,-4.179200475176239e-5,-3.971370515911904e-9,-3.5206553777650213e-4,-4.2049383308559924e-5,-4.02168889154195e-9,-3.517923456022032e-4,-4.22732706596802e-5,-4.067108127961648e-9,-3.5148116482799436e-4,-4.2443054420599876e-5,-4.103423630040207e-9,-3.5115656427665365e-4,-4.254990072284108e-5,-4.128602719456839e-9,-3.508422977149487e-4,-4.259571927212223e-5,-4.1426852963775e-9,-3.505584283820493e-4,-4.2591075740938084e-5,-4.1473814440995675e-9,-3.503196597354921e-4,-4.2553010117369735e-5,-4.145588069811775e-9,-3.5013425081355416e-4,-4.250315194947812e-5,-4.140977734111264e-9,-3.5000296732766683e-4,-4.246594915992028e-5,-4.1376949637137355e-9,-3.4991789475969336e-4,-4.2466442610266224e-5,-4.140069290235601e-9,-3.4986146693382345e-4,-4.252696515740907e-5,-4.152177172551735e-9,-3.498066307483597e-4,-4.266243723623054e-5,-4.177099698568324e-9,-3.497195305195477e-4,-4.287472041112924e-5,-4.215884841538455e-9,-3.495659175480646e-4,-4.31478811621325e-5,-4.266536865943841e-9,-3.4932096349046604e-4,-4.3447520413318964e-5,-4.323660910585198e-9,-3.4897946134101256e-4,-4.372699512012349e-5,-4.379354851830018e-9,-3.4856132871286715e-4,-4.394038767390347e-5,-4.425380590164783e-9,-3.481082489458901e-4,-4.4057719624662955e-5,-4.455829749739181e-9,-3.4767160295073125e-4,-4.407548988414973e-5,-4.469069235668393e-9,-3.4729671592580966e-4,-4.401761276765464e-5,-4.468122927844235e-9,-3.470101043459885e-4,-4.392694681445468e-5,-4.459514042827404e-9,-3.4681399513372885e-4,-4.3851866775344917e-5,-4.4512484058967996e-9,-3.466884675872167e-4,-4.383320048423082e-5,-4.450711814114548e-9,-3.465989335162038e-4,-4.3895141685846634e-5,-4.463003731704032e-9,-3.4650592936654275e-4,-4.404155435899953e-5,-4.4899789588464385e-9,-3.4637451628011674e-4,-4.425746261242522e-5,-4.53010146035591e-9,-3.46181278482088e-4,-4.451449326164072e-5,-4.579071229769213e-9,-3.459177599712526e-4,-4.477844122387709e-5,-4.631023039653653e-9,-3.4559013570456575e-4,-4.501691233562397e-5,-4.679952084717743e-9,-3.452158716119919e-4,-4.520525913805162e-5,-4.720973867124305e-9,-3.4481879495999203e-4,-4.532981541959789e-5,-4.7511223937350465e-9,-3.4442408015957925e-4,-4.538843813449534e-5,-4.769589480143558e-9,-3.440542089166945e-4,-4.5389084894805184e-5,-4.7774936884748956e-9,-3.437263070319252e-4,-4.534740102436488e-5,-4.77738576894948e-9,-3.4345067735983324e-4,-4.5284143124787143e-5,-4.772713716467364e-9,-3.4323003778487113e-4,-4.5222842054429787e-5,-4.76739691027074e-9,-3.4305901194424496e-4,-4.518761784714889e-5,-4.765524511352927e-9,-3.429236989818069e-4,-4.52007347246193e-5,-4.771068404277782e-9,-3.428015696217947e-4,-4.5279382227483e-5,-4.787430575127021e-9,-3.426625060919474e-4,-4.543136538951815e-5,-4.8166784633623644E-09,-3.424723163020663e-4,-4.565015092623224e-5,-4.858517932523486e-9,-3.4219991287895055e-4,-4.591113849483137e-5,-4.9093917591879784e-9,-3.418278103507178e-4,-4.6172490727433865e-5,-4.962406765475092e-9,-3.413624942079579e-4,-4.6383736833411844e-5,-5.008742784565768e-9,-3.408383536332906e-4,-4.650185695871724e-5,-5.040476506469633e-9,-3.4030994982600497e-4,-4.650853684917004e-5,-5.053640312983224e-9,-3.398339484712107e-4,-4.641889431496161e-5,-5.0498114969366615e-9,-3.394494690556336e-4,-4.627597601679743e-5,-5.03533340901495e-9,-3.3916682212753793e-4,-4.6134299214963423e-5,-5.018789578479401e-9,-3.389684970747851e-4,-4.60416761329767e-5,-5.0082068715226695e-9,-3.388189563580666e-4,-4.602714616208865e-5,-5.009119290870518e-9,-3.386770001401216e-4,-4.609734320211425e-5,-5.023773996416256e-9,-3.385060967047203e-4,-4.623938128036451e-5,-5.051224680335727e-9,-3.382808819877009e-4,-4.642712042057251e-5,-5.0879722483668916e-9,-3.3798991630609986e-4,-4.662831095629719e-5,-5.128915587919849e-9,-3.3763548039858775e-4,-4.6811176467318076e-5,-5.16845422831316e-9,-3.3723121913479214e-4,-4.694969103565298e-5,-5.201576989894772e-9,-3.367983998553216e-4,-4.7027084779648636e-5,-5.224733145745607e-9,-3.3636159656376993e-4,-4.703738149569362e-5,-5.236319126134027e-9,-3.359445418555763e-4,-4.698513068870385e-5,-5.236724866703748e-9,-3.3556670577894265e-4,-4.688372871358966e-5,-5.228009274195705e-9,-3.3524095168534554e-4,-4.675286146676685e-5,-5.213367901026198e-9,-3.3497229454820115e-4,-4.661567260074138e-5,-5.196589566113095e-9,-3.3475746495397114e-4,-4.6496053972731513e-5,-5.181629379466889e-9,-3.3458496403935856e-4,-4.6416067332450106e-5,-5.172290074158099e-9,-3.3443550989848553e-4,-4.639329367171046e-5,-5.171902756508261e-9,-3.3428303229029717e-4,-4.64378573046309e-5,-5.182859497219969e-9,-3.3409679136510515e-4,-4.654895942300463e-5,-5.205901867299847e-9,-3.3384565314112754e-4,-4.671137333713532e-5,-5.2392644177281354e-9,-3.3350538321036714e-4,-4.689360879171389e-5,-5.278078891925973e-9,-3.330683964243518e-4,-4.705068211910057e-5,-5.314688239576653e-9,-3.3255256023083976e-4,-4.713428191609814e-5,-5.340419822664278e-9,-3.320027438393118e-4,-4.71097541805525e-5,-5.3486420687704235e-9,-3.314797357602177e-4,-4.6972927801329136e-5,-5.337761831657595e-9,-3.3103860655846234e-4,-4.67558263411006e-5,-5.312260680512601e-9,-3.307076685003807e-4,-4.651535747158061e-5,-5.28090259224886e-9,-3.30480214378984e-4,-4.6310845214460665e-5,-5.2532057684234896e-9,-3.303220348953695e-4,-4.618357322333606e-5,-5.236272390095169e-9,-3.301874844254908e-4,-4.61477186883596e-5,-5.233313814606197e-9,-3.3003452239918076e-4,-4.619282888887948e-5,-5.243799607308075e-9,-3.2983367667361197e-4,-4.6292393090905275e-5,-5.264447531098321e-9,-3.2957087722242947e-4,-4.6413211027825386e-5,-5.2904004316313725e-9,-3.2924630863698787e-4,-4.652281087401979e-5,-5.316302669134748e-9,-3.288714144932077e-4,-4.659436358753661e-5,-5.337217434375077e-9,-3.284653025069503e-4,-4.6609576179093505e-5,-5.349376028202255e-9,-3.2805103471112654e-4,-4.656006986482792e-5,-5.35069069746132e-9,-3.2765205016821133e-4,-4.6447489372098676E-05,-5.340948027169847e-9,-3.2728894386480116e-4,-4.628254233746377e-5,-5.321669265696422e-9,-3.2697676918230653e-4,-4.608314579988514e-5,-5.295709141439522e-9,-3.2672307735294367e-4,-4.5871826451843845e-5,-5.266715731905392e-9,-3.265269163253492e-4,-4.567268490866273e-5,-5.238595811180517e-9,-3.263787833299249e-4,-4.5508326939279494e-5,-5.2150856928611045e-9,-3.262613612892449e-4,-4.5396953226487785e-5,-5.199410066665686e-9,-3.26150973687626e-4,-4.5349627530952965e-5,-5.193932690177878e-9,-3.2601983786595027e-4,-4.5367769831319596e-5,-5.1997081785981995e-9,-3.2583937029624085e-4,-4.544098475670977e-5,-5.215918457321146e-9,-3.2558503734766617e-4,-4.554569690961154e-5,-5.2393381578890325e-9,-3.252430307869566e-4,-4.5645933134909383e-5,-5.264196058241929e-9,-3.248178384294444e-4,-4.56983335628188e-5,-5.282923877448141e-9,-3.2433764411315686e-4,-4.566298738150629e-5,-5.288101154267343e-9,-3.238524934028116e-4,-4.55187894312056e-5,-5.275271384380036e-9,-3.2342122598822694e-4,-4.527677794176033e-5,-5.245365700942163e-9,-3.230898582700321e-4,-4.498163827286755e-5,-5.205044425823437e-9,-3.228725935037573e-4,-4.469651453348592e-5,-5.164266989512154e-9,-3.2274750094473347e-4,-4.4478159074842894e-5,-5.13235180184745e-9,-3.226689152698676e-4,-4.435700005748701e-5,-5.114830829337623e-9,-3.225871774071815e-4,-4.433186738587753e-5,-5.112508862693316e-9,-3.2246425807672813e-4,-4.437776497525427e-5,-5.1224162241922625e-9,-3.2228031504722966e-4,-4.445858657848031e-5,-5.139485592758135e-9,-3.2203286741891803e-4,-4.4538062588412724E-05,-5.1580709737048375e-9,-3.217324318411406e-4,-4.4586481028774453E-05,-5.173027330322962e-9,-3.213975733128406e-4,-4.458364652752997e-5,-5.180397855754135e-9,-3.210507152123642e-4,-4.451955192695055e-5,-5.177821168001773e-9,-3.20714821071863e-4,-4.43939735421001e-5,-5.164703758157465e-9,-3.2041064399458284e-4,-4.421548906702248e-5,-5.1421458139077516e-9,-3.2015437220027257e-4,-4.400000934734236e-5,-5.112638550353013e-9,-3.199556359923085e-4,-4.3768795235697604e-5,-5.079609309330488e-9,-3.1981598750983545e-4,-4.354585021416585e-5,-5.046904699548832e-9,-3.197281840014739e-4,-4.3354726543107915e-5,-5.018289250760496e-9,-3.196765829420705e-4,-4.321510531744181e-5,-4.997015044656991e-9,-3.1963870183165634e-4,-4.313959806056474e-5,-4.985452141399794e-9,-3.195878597550035e-4,-4.313112514042971e-5,-4.984725308729074e-9,-3.1949679113388595e-4,-4.318123126172128e-5,-4.994338339842217e-9,-3.1934206103072054e-4,-4.326970683766678e-5,-5.0118522340722995e-9,-3.191090769027233e-4,-4.336592775766331e-5,-5.032784985900198e-9,-3.1879727330728615e-4,-4.3432619842126424e-5,-5.0510003085641095e-9,-3.184242585414621e-4,-4.3432905625344e-5,-5.059844813029959e-9,-3.180265341602522e-4,-4.3340679734383175e-5,-5.054050804727019e-9,-3.1765375634226675e-4,-4.315212077889462e-5,-5.031931810784182e-9,-3.173550483018549e-4,-4.289299386726835e-5,-4.996837554368338e-9,-3.1716080997909414e-4,-4.261505262909454e-5,-4.9567039021442e-9,-3.170692069796597e-4,-4.237923706416617e-5,-4.921374850462595e-9,-3.170465026363197e-4,-4.223264659485568e-5,-4.898891858407981e-9,-3.170418960140496e-4,-4.21921256965402e-5,-4.892790866082162e-9,-3.1700761388347835e-4,-4.224278875220216e-5,-4.901672313350512e-9,-3.169131831034806e-4,-4.234911923149743e-5,-4.920678900423363e-9,-3.16749371627084e-4,-4.246978287171236e-5,-4.943593716023741e-9,-3.165243898644444e-4,-4.2568904032282556e-5,-4.964541739482594e-9,-3.1625720934575716e-4,-4.262161789567898e-5,-4.9789925323940574e-9,-3.159714090148497e-4,-4.2615163483100204e-5,-4.984192983307216e-9,-3.1569080936814757e-4,-4.254769010175503e-5,-4.979239205595006e-9,-3.154366980394452e-4,-4.242640923152246e-5,-4.964927408765917e-9,-3.1522594108550356e-4,-4.226576420878259e-5,-4.9434488536958256e-9,-3.150694594909588e-4,-4.2085617046374826e-5,-4.9179780034059015e-9,-3.1497088780468846e-4,-4.190919872197873e-5,-4.892216555795521e-9,-3.1492551795328115e-4,-4.1760510317359374e-5,-4.869937621819285e-9,-3.1491993926755705e-4,-4.166103135750512e-5,-4.85453930904946e-9,-3.1493292291119807e-4,-4.162602317937051e-5,-4.8486082924002386e-9,-3.149378852148921e-4,-4.166109759027768e-5,-4.853496717228234e-9,-3.149068763252208e-4,-4.1759869297922245e-5,-4.8689420569251265e-9,-3.1481563886056355e-4,-4.1903492821241635e-5,-4.892817724760096e-9,-3.146489018901334e-4,-4.206263788736928e-5,-4.921152563389806e-9,-3.1440486675449474e-4,-4.220199291018188e-5,-4.948556753677259e-9,-3.1409782736031844e-4,-4.2286972882281444e-5,-4.969141215356648e-9,-3.1375783301927705e-4,-4.229193221838251e-5,-4.9779020409811375e-9,-3.1342629281164673e-4,-4.2208473219180394e-5,-4.972322659694826e-9,-3.131469410284784e-4,-4.205134100763301e-5,-4.953675901336095e-9,-3.129532228356514e-4,-4.185850783786602e-5,-4.927339367737182e-9,-3.128559402293983e-4,-4.168268583803075e-5,-4.901590331357037e-9,-3.128372712174129e-4,-4.157504774094596e-5,-4.884996661975068e-9,-3.1285591758021213e-4,-4.1567376446027606e-5,-4.883435028626847e-9,-3.1286216261514294e-4,-4.166161325502891e-5,-4.898203035129861e-9,-3.128152510161355e-4,-4.1832011412133305e-5,-4.926093299613993e-9,-3.1269456478840265e-4,-4.2037319835952676e-5,-4.96108661782143e-9,-3.1250114325379443e-4,-4.2235381879465134e-5,-4.996540702951394e-9,-3.1225205877241923e-4,-4.239361488219513e-5,-5.026892948270938e-9,-3.119724750885652e-4,-4.249330688871886e-5,-5.048533140222312e-9,-3.116889276893549e-4,-4.252921835778996e-5,-5.059987008882629e-9,-3.1142503078342897e-4,-4.25069961860904e-5,-5.0616921955618265e-9,-3.111992283429283e-4,-4.244023805497469e-5,-5.055583300773006e-9,-3.1102368764590496e-4,-4.234797844643438e-5,-5.044617784933671e-9,-3.1090358734081304e-4,-4.22526006575234e-5,-5.032321067688745e-9,-3.108364399804756e-4,-4.217778740604939e-5,-5.022387283844178e-9,-3.108115257297438e-4,-4.214600986581236e-5,-5.018313830814128e-9,-3.1080993296466673e-4,-4.2175257475328325e-5,-5.023008475613783e-9,-3.1080593916080375e-4,-4.227521362395652e-5,-5.038322479284464e-9,-3.1077034837130563e-4,-4.244369565068855e-5,-5.06453984568056e-9,-3.1067585579162317e-4,-4.266468404943358e-5,-5.099969884051941e-9,-3.105035849258535e-4,-4.290936505875487e-5,-5.140877929168914e-9,-3.1024899896644803e-4,-4.314094465863473e-5,-5.181956628701638e-9,-3.0992505626402714e-4,-4.332264950955875e-5,-5.217361941575282e-9,-3.095610883380589e-4,-4.342700451466909e-5,-5.2421145403966415e-9,-3.091971222357173e-4,-4.3443817524911114e-5,-5.253502474396329e-9,-3.088746927985775e-4,-4.338445254519018e-5,-5.252067765269822e-9,-3.086262289687441e-4,-4.328075377912741e-5,-5.241813665026146e-9,-3.084657459880443e-4,-4.317815751980895e-5,-5.229427402694319e-9,-3.083838136062314e-4,-4.312402180818095e-5,-5.222569664693657e-9,-3.083492587428513e-4,-4.315408297432371e-5,-5.227650075739371e-9,-3.083181203766566e-4,-4.328165458806027e-5,-5.247856867561176e-9,-3.082471429138195e-4,-4.349411061585933e-5,-5.2822613795529054e-9,-3.081064848257633e-4,-4.375827146070421e-5,-5.3263709887758225e-9,-3.0788661043989416e-4,-4.403198008161343e-5,-5.373792020884821e-9,-3.0759759139367557e-4,-4.4276497491867025e-5,-5.418190385136207e-9,-3.072628362842785e-4,-4.4465056129220834e-5,-5.454790327401472e-9,-3.0691106900856074e-4,-4.458588788817899e-5,-5.481074258715986e-9,-3.0656967318466223e-4,-4.4640878311394534e-5,-5.496772186340735e-9,-3.0626062010192915e-4,-4.464213768265969e-5,-5.5034243148592386e-9,-3.0599865177202766e-4,-4.460833959835805e-5,-5.503787246380918e-9,-3.057908013060658e-4,-4.4561687503291136e-5,-5.501265100167681e-9,-3.0563641143263365e-4,-4.4525580714277986e-5,-5.4994619326435316e-9,-3.0552715792361276e-4,-4.4522582031122806e-5,-5.501861033144501e-9,-3.0544706109613843e-4,-4.457210286773981e-5,-5.511548919490009e-9,-0.00030537297561927964,-4.4687381552856436e-5,-5.5308628299553145e-9]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_8.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_8.json new file mode 100644 index 000000000..2eec9421f --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_8.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":8000,"numberOfSamples":1000,"samples":[-3.0527640252829807e-4,-4.487182696660493e-5,-5.56088448082571e-9,-3.051274863200565e-4,-4.511556230951057e-5,-5.6008437940501195e-9,-3.049014822200931e-4,-4.5393887171247894e-5,-5.647698563779582e-9,-3.045865825423837e-4,-4.566978863347711e-5,-5.696284894052496e-9,-3.041902526794886e-4,-4.590165294193654e-5,-5.7403050551512475e-9,-3.0374053440293064e-4,-4.605480630272924e-5,-5.774008768966934e-9,-3.032803042778928e-4,-4.6112832816305496e-5,-5.793973590280497e-9,-3.028557483245855e-4,-4.608383761616052e-5,-5.800251345674449e-9,-3.025032355259023e-4,-4.599882516164128e-5,-5.796427523208801e-9,-3.022393949447573e-4,-4.5902896545994185e-5,-5.788631331365615e-9,-3.020574267495867e-4,-4.5842714571687194e-5,-5.7838921806700334e-9,-3.019300694661608e-4,-4.585434504667538e-5,-5.7883384069394884e-9,-3.0181769376023336e-4,-4.595468543172006e-5,-5.805682519418446e-9,-3.0167899235319e-4,-4.613834629665025e-5,-5.83635658405951e-9,-3.014813398322303e-4,-4.638044052124705e-5,-5.877534282545917e-9,-3.0120806044062887e-4,-4.664417952898078e-5,-5.924029708374941e-9,-3.008608032921932e-4,-4.689076983299546e-5,-5.969769115749644e-9,-3.004568895018775e-4,-4.70885065576558e-5,-6.009334760264992e-9,-3.000232042040917e-4,-4.7218579979817117e-5,-6.039104695872155e-9,-2.995891071912802e-4,-4.72766796425179e-5,-6.057736521969508e-9,-2.9918053358217385e-4,-4.7271135672653113e-5,-6.066024169441235e-9,-2.9881634126882297e-4,-4.721922325858296e-5,-6.066350982343671e-9,-2.9850682571005375e-4,-4.714317647578276e-5,-6.0620073426491385e-9,-2.982536857147729e-4,-4.706682514849363e-5,-6.056588919504954e-9,-2.9805063249734796e-4,-4.7013055973122464e-5,-6.053577596287479e-9,-2.978841024009395e-4,-4.700177778028711e-5,-6.0560846647952315e-9,-2.97733963612634e-4,-4.7047861809806975e-5,-6.066639640409404e-9,-2.975745746966664e-4,-4.715862391952254e-5,-6.086875521052076e-9,-2.9737697702912646e-4,-4.733079302488828e-5,-6.117026762619431e-9,-2.9711318240313096e-4,-4.754766231303244e-5,-6.1553289826818086e-9,-2.967630328757633e-4,-4.777820603997843e-5,-6.1976547684464505e-9,-2.963225516133362e-4,-4.7980702799556336e-5,-6.237878353608434e-9,-2.9581034269964766e-4,-4.8112531767448336e-5,-6.26929277722192e-9,-2.952671701271256e-4,-4.8144449769795835e-5,-6.286810452998715e-9,-2.9474584957997816e-4,-4.807330163392616e-5,-6.28897999422168e-9,-2.942942146728656e-4,-4.7925741507049555e-5,-6.278697823265868e-9,-2.939390776646052e-4,-4.774982986598883e-5,-6.2621933111198565e-9,-2.9367888471910724e-4,-4.759858957460034e-5,-6.246887112949443e-9,-2.9348722961036977e-4,-4.751366495959348e-5,-6.239195834786848e-9,-2.933236015115482e-4,-4.7515401306169104e-5,-6.243051945843658e-9,-2.9314581436119905e-4,-4.760093779409941e-5,-6.2593279168203955e-9,-2.9292007500896937e-4,-4.774844549298213e-5,-6.286013467788338e-9,-2.926269983387905e-4,-4.792463505513392e-5,-6.318926256564662e-9,-2.9226350769051096e-4,-4.80930810595307e-5,-6.352759512595941e-9,-2.918412941194005e-4,-4.822168516898902e-5,-6.382264012712696e-9,-2.9138274761924426e-4,-4.8288192173938596e-5,-6.4033284884177525e-9,-2.9091546827443674e-4,-4.828307144331461e-5,-6.4137142155758484e-9,-2.904666459630382e-4,-4.820960531850297e-5,-6.413290100567614e-9,-2.9005845372039675e-4,-4.808169188193544e-5,-6.403779607548024e-9,-2.897051121066428e-4,-4.7920298339887756e-5,-6.388175539851937e-9,-2.894117280467004e-4,-4.77495594070045e-5,-6.3700487926475646e-9,-2.891745460224369e-4,-4.7593309240161246e-5,-6.352958916462981e-9,-2.889819981834109e-4,-4.7472392700331755e-5,-6.340071065896678e-9,-2.8881605249833365e-4,-4.740260960082055e-5,-6.333942633116508e-9,-2.886536932128631e-4,-4.739292957383811e-5,-6.336355114475078e-9,-2.884687014832789e-4,-4.7443667570689896e-5,-6.348050662755428e-9,-2.8823427250380447e-4,-4.754452904089668e-5,-6.368308311532382e-9,-2.879272735231633e-4,-4.767303651414079e-5,-6.394467888137689e-9,-2.875345818250315e-4,-4.7794856179294424e-5,-6.4217381728864196e-9,-2.8706055734247936e-4,-4.786832012302628e-5,-6.443756519509059e-9,-2.865324198422822e-4,-4.785486234755549e-5,-6.4542037210419195e-9,-2.859983895327293e-4,-4.773390713864742e-5,-6.449179015088165e-9,-2.8551497623516194e-4,-4.7515537099475336e-5,-6.429222290163076e-9,-2.8512656698742036e-4,-4.724172825041583e-5,-6.399602792241161e-9,-2.8484791237568235e-4,-4.697228518879425e-5,-6.368414825098121e-9,-2.846599731981497e-4,-4.676227057336778e-5,-6.343524830079535e-9,-2.845204990113826e-4,-4.664360730421715e-5,-6.330077698450703e-9,-2.8438137789211793e-4,-4.661903031892221e-5,-6.32954910609419e-9,-2.842033332610527e-4,-4.666740117899054e-5,-6.340163616828402e-9,-2.8396352830062366e-4,-4.6754274987887116e-5,-6.357961127061933e-9,-2.836566692220362e-4,-4.684229725179311e-5,-6.377959739889069e-9,-2.8329216427076527e-4,-4.689886773239183e-5,-6.395189096969708e-9,-2.828896488527907e-4,-4.6900720390375284e-5,-6.405540596281919e-9,-2.824742018907562e-4,-4.6836037546351875e-5,-6.4064023526000905e-9,-2.8207178859335354e-4,-4.670471097933904e-5,-6.397002591025266e-9,-2.817052464373959e-4,-4.6517083949337426e-5,-6.378389721142845e-9,-2.8139115347079264e-4,-4.629149712487325e-5,-6.3530658178796655e-9,-2.811378256204399e-4,-4.605106192105769e-5,-6.324396845660935e-9,-2.8094456582733565e-4,-4.582011369839805e-5,-6.295969795469077e-9,-2.8080213121061873e-4,-4.562084808863251e-5,-6.271061910825657e-9,-2.806941282722342e-4,-4.547056083835451e-5,-6.252305778500468e-9,-2.805989529923734e-4,-4.537959014034061e-5,-6.241511789741509e-9,-2.80492067241958e-4,-4.5349843601162954e-5,-6.239532828776588e-9,-2.803485913613245e-4,-4.5373805665704785e-5,-6.246068068716576e-9,-2.8014639891832464e-4,-4.543399639996473e-5,-6.259380228216586e-9,-2.7987013346108646e-4,-4.550321157816095e-5,-6.276047783203556e-9,-2.795162996405821e-4,-4.5546626057891795e-5,-6.291045688354151e-9,-2.790984739623287e-4,-4.5527321372703615e-5,-6.298505516465384e-9,-2.7865004000894166e-4,-4.541620148794469e-5,-6.2933199008508685e-9,-2.7822043288384707e-4,-4.520484869900707e-5,-6.273276588202333e-9,-2.7786184532760936e-4,-4.4915535087074116e-5,-6.240723143326448e-9,-2.776091852793529e-4,-4.459975553570474e-5,-6.202458787212566e-9,-2.774638632702066e-4,-4.432123225548417e-5,-6.167368360824802e-9,-2.7739275622409024e-4,-4.41307893297388e-5,-6.142942429461774e-9,-2.7734363791847937e-4,-4.404793703195258e-5,-6.132712569902154e-9,-2.772666481119829e-4,-4.405873879426259e-5,-6.135803693451539e-9,-2.7712954630060494e-4,-4.41272344392883e-5,-6.148198003690473e-9,-2.769220926915838e-4,-4.421078330515423e-5,-6.164515668643785e-9,-2.7665243775120893e-4,-4.4271847046803456e-5,-6.179465722684056e-9,-2.7634044414996943e-4,-4.42840858576599e-5,-6.188763867311319e-9,-2.760112787880964e-4,-4.4233969441495255e-5,-6.1896325079837635e-9,-2.7569053678467995e-4,-4.4119908832911274e-5,-6.1810143630256235e-9,-2.7540081443001705e-4,-4.395037973603709e-5,-6.1635500652351195e-9,-2.7515925763830574e-4,-4.374163186724933e-5,-6.13931893200916e-9,-2.7497583229343773e-4,-4.351509382685275e-5,-6.1113765985356755e-9,-2.7485228599034487e-4,-4.3294504323835476e-5,-6.083191373407955e-9,-2.747818899337699e-4,-4.3102814240736015e-5,-6.0580978536060394e-9,-2.7475014030275356e-4,-4.2959058861573174e-5,-6.038863549547172e-9,-2.747364727847155e-4,-4.287561578709453e-5,-6.027414092691353e-9,-2.7471679197166814e-4,-4.2856211898555225e-5,-6.024680664675889e-9,-2.74666552518033e-4,-4.2894856634732136e-5,-6.0304870842090665e-9,-2.745641634544586e-4,-4.297583426922976e-5,-6.043429961128174e-9,-2.7439449831047824e-4,-4.307484329777695e-5,-6.060781782144661e-9,-2.7415239183585174e-4,-4.316139154284506e-5,-6.078538519547611e-9,-2.738458939963984e-4,-4.320289628151456e-5,-6.0918223659286445e-9,-2.7349833665268886e-4,-4.317111271140737e-5,-6.095829254040278e-9,-2.731473286401864e-4,-4.305077016877184e-5,-6.087300751131777e-9,-2.728384066406977e-4,-4.284850797286421e-5,-6.0661306830069746e-9,-2.726122464122091e-4,-4.2597682445614436e-5,-6.036317211131248e-9,-2.724883882208636e-4,-4.2353186226421395e-5,-6.005346149629137e-9,-2.724538993112942e-4,-4.21739660621937e-5,-5.981721324392774e-9,-2.7246601864680027e-4,-4.209994110375406e-5,-5.971667694606237e-9,-2.724694960632973e-4,-4.2136627145050584e-5,-5.976871636177898e-9,-2.724184831524113e-4,-4.225643997788255e-5,-5.9944559253544774e-9,-2.7229051896981396e-4,-4.241362759713718e-5,-6.018773549341146e-9,-2.720878961454436e-4,-4.2562043557314734e-5,-6.043635716054438e-9,-2.718303929497391e-4,-4.266714123706157e-5,-6.063913242192316e-9,-2.715458512132313e-4,-4.271024379125761e-5,-6.076285881259704e-9,-2.712626659453091e-4,-4.268748746246162e-5,-6.07938776767281e-9,-2.710052329722968e-4,-4.260653559518088e-5,-6.073631332430156e-9,-2.707916949070718e-4,-4.248307887576607e-5,-6.060863861100873e-9,-2.7063291676093104e-4,-4.233782096456377e-5,-6.043919283576518e-9,-2.70531999054325e-4,-4.2193858972839276e-5,-6.026112658845783e-9,-2.7048412159524855e-4,-4.207417276834723e-5,-6.010749252660998e-9,-2.704768085276078e-4,-4.199898085891688e-5,-6.0007083249929064e-9,-2.7049091718653486e-4,-4.198292846456885e-5,-5.998122765150181e-9,-2.705026716692996e-4,-4.203245930769175e-5,-6.0041500657964715e-9,-2.704867786001442e-4,-4.2143960157053555e-5,-6.018813110137525e-9,-2.7042033326989443e-4,-4.2303217237346e-5,-6.0408918160634616e-9,-2.702869966792254e-4,-4.248659500899885e-5,-6.067897441023674e-9,-2.7008072908028737e-4,-4.26641123975258e-5,-6.096212887106141e-9,-2.698083301299173e-4,-4.2804202514864496e-5,-6.121495193355481e-9,-2.6949017078992116e-4,-4.287971029548579e-5,-6.139410707238995e-9,-2.6915846953213103e-4,-4.287457712691834e-5,-6.146692366322419e-9,-2.688523188530164e-4,-4.2790136468926805e-5,-6.142330933965789e-9,-2.6860905054935876e-4,-4.2648942394378234e-5,-6.128480097984698e-9,-2.684529386021688e-4,-4.249325511328419e-5,-6.110525799006696e-9,-2.683846561272461e-4,-4.237577162193681e-5,-6.0958916495610374e-9,-2.6837713845480256e-4,-4.2343242447415576e-5,-6.091676533973367e-9,-2.6838259865424467e-4,-4.241897119821026e-5,-6.1020278393601044e-9,-2.6834954243159544e-4,-4.259356052706968e-5,-6.126618946744287e-9,-2.682414538672124e-4,-4.282968580925502e-5,-6.161071746178656e-9,-2.680473788683876e-4,-4.307777590451198e-5,-6.198928228542621e-9,-2.6778068952418554e-4,-4.329323584064263e-5,-6.233932842908828e-9,-2.6746984498891765e-4,-4.3447294758245534e-5,-6.261585257801009e-9,-2.6714767994234935e-4,-4.3529579126087075e-5,-6.279696539448954e-9,-2.6684354540698494e-4,-4.3545106782298875e-5,-6.288235271926127e-9,-2.6657927046700944e-4,-4.3509317188260445e-5,-6.288838671033637e-9,-2.6636794026195363e-4,-4.3443465401146905e-5,-6.284232359286678e-9,-2.662140688653375e-4,-4.33711394559145e-5,-6.277670357631493e-9,-2.661141777281877e-4,-4.331570058397092e-5,-6.272450417208355e-9,-2.660574130223562e-4,-4.329813146063895e-5,-6.271533343649169e-9,-2.6602631028516745e-4,-4.3334832510506525e-5,-6.277259574999488e-9,-2.6599810856047266e-4,-4.3435186752350394e-5,-6.291119283070944e-9,-2.6594709819864e-4,-4.35991710667151e-5,-6.313534449691571e-9,-2.6584826187483416e-4,-4.3815728146144786e-5,-6.3436577175095264e-9,-2.6568197080015167e-4,-4.406282185693006e-5,-6.379260979809167e-9,-2.654388737832523e-4,-4.4309976961368614e-5,-6.416844899921613e-9,-2.651235904796523e-4,-4.452352360454744e-5,-6.45208973946681e-9,-2.6475574490715504e-4,-4.467379291793127e-5,-6.480660100582804e-9,-2.643674413816663e-4,-4.474263772198858e-5,-6.499235785255884e-9,-2.639972203386808e-4,-4.472932230357101e-5,-6.506524425656316e-9,-2.636814333534693e-4,-4.4652981742684745e-5,-6.50394943475184e-9,-2.6344474410546685e-4,-4.455031096217054e-5,-6.4957052750673075e-9,-2.6329215242018296e-4,-4.446797824163044e-5,-6.487971527226249e-9,-2.6320539661309406e-4,-4.445066132419316e-5,-6.487318143828218e-9,-2.63146231141766e-4,-4.452761326611089e-5,-6.498693327228091e-9,-2.630670795117471e-4,-4.4702593314460794e-5,-6.523735117410233e-9,-2.629259962418986e-4,-4.495205403355389e-5,-6.560195481816707e-9,-2.626998326199566e-4,-4.523322969000845e-5,-6.6028055138425835e-9,-2.6238984542081514e-4,-4.5498615964264204e-5,-6.645151128486782e-9,-2.620181139265042e-4,-4.57101034480172e-5,-6.681643636040315e-9,-2.6161796896905014e-4,-4.584720776675456e-5,-6.7088001834994565e-9,-2.6122365300701173e-4,-4.590801043953323e-5,-6.725594759670876e-9,-2.608629732320002e-4,-4.590508421570969e-5,-6.733110680725014e-9,-2.605538971319134e-4,-4.585973386898697e-5,-6.733869753505527e-9,-2.6030410219870376e-4,-4.5796853823059685e-5,-6.731122265893311e-9,-2.601120119629486e-4,-4.574121346938611e-5,-6.728248726724007e-9,-2.5996821459528486e-4,-4.571499884470834e-5,-6.728333811525041e-9,-2.5985675252670267e-4,-4.573601546615178e-5,-6.733900781581118e-9,-2.597563470776258e-4,-4.581593891770877e-5,-6.7467347208660815e-9,-2.596420276961034e-4,-4.5958327928148174e-5,-6.76770494879153e-9,-2.594877524327709e-4,-4.6156630892450285e-5,-6.796534200413236e-9,-2.5927042693107434e-4,-4.6392942692009576e-5,-6.8315565589601714e-9,-2.589751849875842e-4,-4.663871238482509e-5,-6.86962752289666e-9,-2.586008062635789e-4,-4.685864046342157e-5,-6.906416881867135e-9,-2.5816311466290005e-4,-4.7018104873896896e-5,-6.937219567577798e-9,-2.5769402554871504e-4,-4.70926588010539e-5,-6.9581636155644655e-9,-2.5723517884218273e-4,-4.707644773329669e-5,-6.967428938305518e-9,-2.568273908815006e-4,-4.6986025040791123e-5,-6.966001210496018e-9,-2.564992393431867e-4,-4.685748280218821e-5,-6.957630999254399e-9,-2.5625871902160277e-4,-4.6737400412949545e-5,-6.947966529409689e-9,-2.5609074998136574e-4,-4.667043573132832e-5,-6.943105351110571e-9,-2.5596122517727485e-4,-4.6687347367702306e-5,-6.947967062704738e-9,-2.5582634783583117e-4,-4.6796866950713174e-5,-6.964938644351132e-9,-2.5564461158371896e-4,-4.698373076282578e-5,-6.993209196686726e-9,-2.553879109156633e-4,-4.7213518226825917E-05,-7.029044733220987e-9,-2.5504832832596024e-4,-4.744277599023395e-5,-7.066933407213379e-9,-2.5463858429774843e-4,-4.7630969964505535e-5,-7.1011838454172516e-9,-2.541865650862485e-4,-4.775023325017012e-5,-7.127396703046114e-9,-2.537265402404863e-4,-4.7790107831489385e-5,-7.143345909601783e-9,-2.532904918374822e-4,-4.775683549761495e-5,-7.1491178104008635e-9,-2.529021042786563e-4,-4.766889086299671e-5,-7.146663004807935e-9,-2.525741732148423e-4,-4.7551249353078e-5,-7.139062192878236e-9,-2.5230871169483677e-4,-4.743029000875771e-5,-7.129782907503167e-9,-2.5209851175530824e-4,-4.733012368995658e-5,-7.12209759254885e-9,-2.519291245187472e-4,-4.7270279788107355e-5,-7.1187265860613594e-9,-2.517806968882801e-4,-4.726422556842384e-5,-7.12166746585097e-9,-2.5162963986732293e-4,-4.731809415808857e-5,-7.132097650423624e-9,-2.514505510713131e-4,-4.742927313984141e-5,-7.1502341423829864e-9,-2.512190030433243e-4,-4.758501628393123e-5,-7.175103678264232e-9,-2.5091568236328035e-4,-4.7761815907209246e-5,-7.204305121348925e-9,-2.5053181294401e-4,-4.7926849500478765e-5,-7.233991717484305e-9,-2.500746237911642e-4,-4.804301276238442e-5,-7.259360514494356e-9,-2.495701519604955e-4,-4.8078046570921506e-5,-7.275783141609628e-9,-2.490601882212913e-4,-4.8015746621047336e-5,-7.280321967292176e-9,-2.4859206990471175e-4,-4.786450499113676e-5,-7.272987851368456e-9,-2.4820404096295365e-4,-4.7657974491023386e-5,-7.2570490683069305e-9,-2.479123719305355e-4,-4.744593983612639e-5,-7.238137844085153e-9,-2.477062542180496e-4,-4.7278801363755583e-5,-7.2225323219480234e-9,-2.475523859045091e-4,-4.719243023421515e-5,-7.2153509223338515e-9,-2.4740634073176207e-4,-4.7199163254914456e-5,-7.21928276128765e-9,-2.472256149075255e-4,-4.728689651818537e-5,-7.234113502680999e-9,-2.469800996566623e-4,-4.742481447800407e-5,-7.2570090226968695e-9,-2.4665781472638505e-4,-4.757279635380423e-5,-7.283374548153914e-9,-2.462655369996502e-4,-4.769151536169288e-5,-7.308038135183422e-9,-2.458251322065457e-4,-4.775085456159175e-5,-7.326465854721028e-9,-2.4536711100036463e-4,-4.77350886691006e-5,-7.3357152755733405e-9,-2.4492329122390537e-4,-4.764420066221715e-5,-7.334911212083219e-9,-2.4452039783219196e-4,-4.749169496663902e-5,-7.3251748443696005e-9,-2.441758732145271e-4,-4.7300134577938174e-5,-7.309112821670338e-9,-2.4389627170717684e-4,-4.7095968591426874e-5,-7.2900891206745445e-9,-2.4367780651202367e-4,-4.6904922721911e-5,-7.2715143086660904e-9,-2.4350820404063506e-4,-4.674862028056588e-5,-7.2563236900772534e-9,-2.4336901910568495e-4,-4.6642494199979074e-5,-7.246701350541432e-9,-2.4323787902715116e-4,-4.6594604978692496e-5,-7.243991435989502e-9,-2.4309057272598025e-4,-4.6604855006113405e-5,-7.248666445835073e-9,-2.4290326713360635e-4,-4.666429753503088e-5,-7.260234391154556e-9,-2.4265533867043101e-4,-4.67546250155109e-5,-7.2770527231963495e-9,-2.4233328045250883e-4,-4.684845105661854e-5,-7.29615811529741e-9,-2.4193563237893614e-4,-4.6911622727816726e-5,-7.313363425619466e-9,-2.4147769061437337e-4,-4.690904210391057e-5,-7.323911274472526e-9,-2.409931846698145e-4,-4.68145030450435e-5,-7.3237831866979765e-9,-2.405293638181594e-4,-4.6622304985804496e-5,-7.311327256640174e-9,-2.4013397134164407e-4,-4.6354911420302454e-5,-7.288398575368516e-9,-2.3983792521253927e-4,-4.606009583001144e-5,-7.260171753226957e-9,-2.396424964711392e-4,-4.579591722183568e-5,-7.233460507133913e-9,-2.3951876787466002e-4,-4.561007369104896e-5,-7.21434469153871e-9,-2.394196251219914e-4,-4.552433842374012e-5,-7.206304347525716e-9,-2.3929702425245816e-4,-4.553082614515197e-5,-7.209572961363757e-9,-2.3911604156302504e-4,-4.559902693265397e-5,-7.221607636814043e-9,-2.3886148969033618e-4,-4.56878141259867e-5,-7.238141334743658e-9,-2.385376124584638e-4,-4.57569458542221e-5,-7.25434375948497e-9,-2.381635151221613e-4,-4.5775227331894453e-5,-7.265844606590987e-9,-2.3776689984276165e-4,-4.57248113055291e-5,-7.26951760352044e-9,-2.3737775512568452e-4,-4.560224089873021e-5,-7.26396202658587e-9,-2.3702288262502963e-4,-4.541701560695537e-5,-7.249620171308552e-9,-2.3672182048234104e-4,-4.518837706556744e-5,-7.228512886555455e-9,-2.3648451210419064e-4,-4.494110071809932e-5,-7.203679129923876e-9,-2.3631073766417756e-4,-4.470112417759971e-5,-7.1784915077864556e-9,-2.3619104748406788e-4,-4.449166637344944e-5,-7.156032804897266e-9,-2.361087730659606e-4,-4.433028327220373e-5,-7.138674148007875e-9,-2.3604256281260482e-4,-4.422705852302139e-5,-7.1278965459513375e-9,-2.3596896071219697e-4,-4.41837594790764e-5,-7.124282211477298e-9,-2.358648734407393e-4,-4.419359846967748e-5,-7.127541904743606e-9,-2.3571005457793368e-4,-4.424139308519803e-5,-7.136477505700135e-9,-2.3548986076137152e-4,-4.4304182265018096e-5,-7.148875985336727e-9,-2.3519855436410849e-4,-4.435271161882365e-5,-7.16145714276836e-9,-2.348430390860336e-4,-4.4354724701945077e-5,-7.170110582162483e-9,-2.3444587375598763e-4,-4.428117792866847e-5,-7.170657306550671e-9,-2.3404509111068765e-4,-4.411557127942225e-5,-7.1601656476032516e-9,-2.3368771973065835e-4,-4.386412570504797e-5,-7.138447255205115e-9,-2.334157329157928e-4,-4.356117057573164e-5,-7.108920211252188e-9,-2.3324859251575434e-4,-4.326304457334257e-5,-7.077986722810363e-9,-2.3317225159038513e-4,-4.3029164658112595e-5,-7.0528241170588876e-9,-2.3314325821755143e-4,-4.289880884221161e-5,-7.038651316312173e-9,-2.3310674475310233e-4,-4.287707539508815e-5,-7.037006731343113e-9,-2.330173793949718e-4,-4.2937138101060195e-5,-7.045793591462278e-9,-2.3285221519255721e-4,-4.303448249497462e-5,-7.060613085178226e-9,-2.3261221161084732e-4,-4.312326355963217e-5,-7.076380098752534e-9,-2.3231616237874106e-4,-4.3167782922615494e-5,-7.0885642907420745e-9,-2.3199226213489643e-4,-4.3147504709399666e-5,-7.093925360427784e-9,-2.3167066135599025e-4,-4.305722178644823e-5,-7.090854405127532e-9,-2.3137815592412457e-4,-4.290464072813479e-5,-7.079431225173229e-9,-2.3113482317374794e-4,-4.2706990561187926e-5,-7.061239222047379e-9,-2.3095210624270325e-4,-4.248733394858226e-5,-7.0389514644621475e-9,-2.3083209319112942e-4,-4.22708356697799e-5,-7.0157556508521975e-9,-2.3076787058155768e-4,-4.208124244565444e-5,-6.994754152444318e-9,-2.3074481404720975e-4,-4.193779429781794e-5,-6.978475418029599e-9,-2.3074269629111773e-4,-4.185278131262165e-5,-6.9685812919441475e-9,-2.3073838954341724e-4,-4.183002690679065e-5,-6.9657828504140465e-9,-2.307087773182823e-4,-4.1864416184094224e-5,-6.969890191920407e-9,-2.3063358371772487e-4,-4.19423194920427e-5,-6.979881232260712e-9,-2.304980447362638e-4,-4.204276810737836e-5,-6.993919691136392e-9,-2.3029541532778425e-4,-4.2139396145542684e-5,-7.00935383163725e-9,-2.3002929420596648e-4,-4.220331442258605e-5,-7.022821179996584e-9,-2.297155277725766e-4,-4.220735882242904e-5,-7.0306406913778314e-9,-2.2938274641947577e-4,-4.2132214476566026e-5,-7.029632424365228e-9,-2.2906972807424893e-4,-4.197407643695822e-5,-7.018296801761733e-9,-2.2881761972917472e-4,-4.175160042946605e-5,-6.997961873684011e-9,-2.286567093282979e-4,-4.15075256296687e-5,-6.9732029722847966e-9,-2.2859182172845228e-4,-4.129977684881916e-5,-6.9508561159118375e-9,-2.2859518852719337e-4,-4.118158264999498e-5,-6.937623078004585e-9,-2.2861445669427582e-4,-4.1179317366699686e-5,-6.937368890191579e-9,-2.2859373178187907e-4,-4.128165726085842e-5,-6.949709434593278e-9,-2.2849535207625107e-4,-4.144683429672747e-5,-6.970641653126126e-9,-2.283102601143957e-4,-4.162180946726997e-5,-6.994513297007544e-9,-2.280546314648973e-4,-4.1760936140705576e-5,-7.015996457807604e-9,-2.2775905137933017e-4,-4.1836162324814815e-5,-7.0312662464705675e-9,-2.2745750303615093e-4,-4.183854159207291e-5,-7.038384862713035e-9,-2.2717978153226345e-4,-4.1774688473891304e-5,-7.037214328561364e-9,-2.269476550317656e-4,-4.166168283592476e-5,-7.029107904443636e-9,-2.2677360769187676e-4,-4.152239765949198e-5,-7.016489998134974e-9,-2.2666086428735168e-4,-4.13817553708349e-5,-7.002360297324509e-9,-2.2660400530891817e-4,-4.126365474609324e-5,-6.989766583218536e-9,-2.2659004542151717e-4,-4.1188304668478054e-5,-6.981333927974789e-9,-2.266000219235072e-4,-4.116989011754661e-5,-6.978931288333946e-9,-2.266111881676761e-4,-4.12146495166316e-5,-6.9835033237536505e-9,-2.2659985001449061e-4,-4.131967774449151e-5,-6.9950455254666655e-9,-2.2654460748588225e-4,-4.147283960401956e-5,-7.012666563520272e-9,-2.264295628693442e-4,-4.165394006870694e-5,-7.034672741319516e-9,-2.2624709886908756e-4,-4.183709352380845e-5,-7.058654437906543e-9,-2.259998866238783e-4,-4.1994173550205136e-5,-7.081632424729571e-9,-2.2570180047419192e-4,-4.20991362790095e-5,-7.100361989265034e-9,-2.2537742095192945e-4,-4.213298776272619e-5,-7.111886301353217e-9,-2.2505959382885995e-4,-4.208912506154797e-5,-7.114348718520941e-9,-2.2478421898691062e-4,-4.197821401236689e-5,-7.107904138739319e-9,-2.2458174592226204e-4,-4.1830607186345735e-5,-7.0953504217620375e-9,-2.244663606137209e-4,-4.169327376221295e-5,-7.081979987657558e-9,-2.2442665203386655e-4,-4.1618683723854355e-5,-7.074284006802257e-9,-2.2442408061700852e-4,-4.1646821969372816e-5,-7.077692877238242e-9,-2.2440397415766895e-4,-4.178786877968106e-5,-7.0943342038050634e-9,-2.2431615173148974e-4,-4.201628734466668e-5,-7.122132208245681e-9,-2.2413418489370047e-4,-4.2281316841771065e-5,-7.155838491573877e-9,-2.238625036955378e-4,-4.252762716447894e-5,-7.189267752364687e-9,-2.2352958981585374e-4,-4.271389191467571e-5,-7.217364886846549e-9,-2.231742512295794e-4,-4.2821232086966055e-5,-7.2372470959088515e-9,-2.2283320562756947e-4,-4.285179730744506e-5,-7.2482661351785805e-9,-2.2253387205703278e-4,-4.282232746248896e-5,-7.2515555960049095e-9,-2.2229206566917885e-4,-4.275713751688142e-5,-7.2494356512215224e-9,-2.2211260756237194e-4,-4.2682685880708425e-5,-7.244838453971768e-9,-2.2199099538278396e-4,-4.262399641811782e-5,-7.240796077498677e-9,-2.2191514949620428e-4,-4.260230497054901e-5,-7.240011891369483e-9,-2.2186707232957353e-4,-4.26332616889838e-5,-7.244543832697758e-9,-2.2182464125580366e-4,-4.2725338241283515e-5,-7.255615619695993e-9,-2.217638453501513e-4,-4.287842690194515e-5,-7.273534478793906e-9,-2.2166170729793913e-4,-4.308298693357485e-5,-7.2976765517466445e-9,-2.2149980429336165e-4,-4.332033803452491e-5,-7.326522432477613e-9,-2.2126785688274673e-4,-4.3564584276414805e-5,-7.357751075488498e-9,-2.20966584781167e-4,-4.3786290015324124e-5,-7.388436436288333e-9,-2.2060898292754956e-4,-4.395759483340187e-5,-7.415404439706891e-9,-2.202193504707468e-4,-4.405796910551689e-5,-7.435775583366592e-9,-2.1982983813928416e-4,-4.407947682940211e-5,-7.4476444040565705e-9,-2.1947474914701923e-4,-4.403040203489803e-5,-7.450766846569757e-9,-2.1918316392070605e-4,-4.393615767618415e-5,-7.447040423172644e-9,-2.1897091886597989e-4,-4.3836355658260945e-5,-7.440501159279104e-9,-2.188338255077648e-4,-4.3777167322247025e-5,-7.4366017543605706e-9,-2.187450180632313e-4,-4.379926707359548e-5,-7.440747299185002e-9,-2.1865951766138927e-4,-4.3924079338995526e-5,-7.456451577868975e-9,-2.1852701523895825e-4,-4.414394644131482e-5,-7.48388495394003e-9,-2.1830915181893224e-4,-4.442241000664643e-5,-7.51964660486929e-9,-2.1799327092026865e-4,-4.47064341649404e-5,-7.558021886353412e-9,-2.1759542948186208e-4,-4.4945093539923776e-5,-7.593080121112747e-9,-2.1715190572061313e-4,-4.510525927973701e-5,-7.62051102463403e-9,-2.1670511352975532e-4,-4.5177775919498044e-5,-7.63846614779529e-9,-2.1629130702600425e-4,-4.5174263035486545e-5,-7.647414111500688e-9,-2.1593400226015044e-4,-4.511913434864514e-5,-7.649461867526958e-9,-2.1564283671687278e-4,-4.504151932089862e-5,-7.647573809127245e-9,-2.1541555700511315e-4,-4.496945565191675e-5,-7.644907915657562e-9,-2.152409460728591e-4,-4.4926547873120016E-05,-7.644326527091175e-9,-2.1510150205944102e-4,-4.493027145003056e-5,-7.648080390942638e-9,-2.1497560662559327e-4,-4.499101379307958e-5,-7.65764086825275e-9,-2.1483945926710325e-4,-4.511125926355644e-5,-7.673632641449619e-9,-2.1466926637521481e-4,-4.528477274004901e-5,-7.695803268049495e-9,-2.144441173207301e-4,-4.549613641988964e-5,-7.722992976764426e-9,-2.1414962209211983e-4,-4.572138551931352e-5,-7.753133503949428e-9,-2.137817825713578e-4,-4.5930557875204e-5,-7.783365806364265e-9,-2.1334992695909555e-4,-4.609259275443571e-5,-7.810385927253544e-9,-2.1287718132165904e-4,-4.6182138061975344e-5,-7.831058043246478e-9,-2.123972901802133e-4,-4.618667111745394e-5,-7.843194529569795e-9,-2.1194776550871445e-4,-4.611156504767954e-5,-7.846275859882824e-9,-2.1156084382754122e-4,-4.598097245517623e-5,-7.841849026160612e-9,-2.1125475027746477e-4,-4.5833615902049135e-5,-7.833415837621815e-9,-2.1102786191385352e-4,-4.57141563789811e-5,-7.825754714870187e-9,-2.1085766176323766e-4,-4.5662121102797614e-5,-7.823773717687805e-9,-2.1070526783781765e-4,-4.570112440445812e-5,-7.831148800367581e-9,-2.1052503260910168e-4,-4.5831388471697066e-5,-7.84914193292144e-9,-2.1027715631769618e-4,-4.602835716858338e-5,-7.876058836978009e-9,-2.0993957436240816e-4,-4.6248926026246374e-5,-7.90766713758257e-9,-2.095146194759454e-4,-4.644402823389973e-5,-7.938509723459188e-9,-2.0902749841148404e-4,-4.6573103373786205e-5,-7.963593692431587e-9,-2.085173003005473e-4,-4.6614726939852604e-5,-7.979751223426029e-9,-2.080247685004384e-4,-4.656971988276465e-5,-7.986202202748241e-9,-2.0758195037667867e-4,-4.645702153575651e-5,-7.984303236040702e-9,-2.0720680107128868e-4,-4.630568678322192e-5,-7.976805592462343e-9,-2.069027746736158e-4,-4.6146864470554793E-05,-7.967006829227965e-9,-2.0666149949068237e-4,-4.6008053738656595e-5,-7.958051544835984e-9,-2.0646643337144435e-4,-4.591001322147901e-5,-7.952478950941206e-9,-2.0629619473845173e-4,-4.586558575032321e-5,-7.952010523962518e-9,-2.0612715730170046e-4,-4.587946155808738e-5,-7.957511462395227e-9,-2.0593551752786214e-4,-4.594814009737746e-5,-7.969025447952002e-9,-2.0569936999224403e-4,-4.6059814191126656e-5,-7.985789917193825e-9,-2.054013396767555e-4,-4.619444426954505e-5,-8.006201300389058e-9,-2.0503200586908336e-4,-4.632476440606799e-5,-8.027795774410303e-9,-2.0459370977526643e-4,-4.6419232557928356e-5,-8.04739911864323e-9,-2.0410341514187733e-4,-4.644771828424737e-5,-8.061606874456355e-9,-2.0359249297940358e-4,-4.6389591386022976e-5,-8.06761967917358e-9,-2.0310152417526018e-4,-4.6241943470151586e-5,-8.064208675557398e-9,-2.026701314330422e-4,-4.602412220191169e-5,-8.05238930586289e-9,-2.0232482212882342e-4,-4.5775201703916056e-5,-8.035415203185357e-9,-2.0206981769589567e-4,-4.5543952383211005e-5,-8.017995799141722e-9,-2.0188503857131567e-4,-4.5374719563007136e-5,-8.005002937932091e-9,-2.0173208974531864e-4,-4.5294685661682146e-5,-8.000132839061242e-9,-2.0156558865288865e-4,-4.530694102432007e-5,-8.004940251523124e-9,-2.0134563404935994e-4,-4.5390862347908655e-5,-8.018476540387911e-9,-2.010477628284383e-4,-4.5508700213428396e-5,-8.037583629336856e-9,-2.0066816008643582e-4,-4.56159424839469e-5,-8.05775420557668e-9,-2.002233040454102e-4,-4.5672547498502866e-5,-8.074324603901956e-9,-1.9974456130923202e-4,-4.5652156194690424e-5,-8.083656540042794e-9,-1.992695170896543e-4,-4.554701856445397e-5,-8.083957366931921e-9,-1.9883270591920156e-4,-4.5367698049175715e-5,-8.075522287619769e-9,-1.9845841745310465e-4,-4.513832170771045e-5,-8.060398815725766e-9,-1.981572124953109e-4,-4.488951139782889e-5,-8.041672208553757e-9,-1.9792619199168255e-4,-4.46514605035761e-5,-8.022654713173082e-9,-1.97751818665741e-4,-4.444885607769098e-5,-8.006221420156825e-9,-1.9761372928278598e-4,-4.429815409582809e-5,-7.994418534127477e-9,-1.9748834183331958e-4,-4.4206787770554826e-5,-7.988349103172298e-9,-1.9735172150645567e-4,-4.417347840913245e-5,-7.988243219864344e-9,-1.9718177685405577e-4,-4.4188897515318655e-5,-7.993577576316224e-9,-1.969602185929472e-4,-4.423633228093872e-5,-8.003137811219496e-9,-1.96674791367231e-4,-4.429249144944042e-5,-8.01500158984719e-9,-1.9632209229852586e-4,-4.43290434847933e-5,-8.026530943997656e-9,-1.9591072087203853e-4,-4.4315855466975366e-5,-8.03455558004738e-9,-1.9546352222861362e-4,-4.422685189198833e-5,-8.035926730100295e-9,-1.9501665604001342e-4,-4.404835137258371e-5,-8.028456381532183e-9,-1.9461311284592976e-4,-4.3787482447394696e-5,-8.011956426634773e-9,-1.9429036612252486e-4,-4.3475903590539156e-5,-7.988819905738023e-9,-1.9406609579109184e-4,-4.31641133352837e-5,-7.963631507898714e-9,-1.939293801808378e-4,-4.290607476846081e-5,-7.941776010191559e-9,-1.9384326424020214e-4,-4.274050836180446e-5,-7.927647618378034e-9,-1.9375801371840964e-4,-4.267820492195053e-5,-7.923311832665135e-9,-1.9362806935360174e-4,-4.270088509049269e-5,-7.928124868965717e-9,-1.934249241067107e-4,-4.277008015595093e-5,-7.93923136862352e-9,-1.931422172148227e-4,-4.284026359050476e-5,-7.952533831849908e-9,-1.9279378906395382e-4,-4.287086605432226e-5,-7.963753390058145e-9,-1.9240746774724533e-4,-4.283438753175265e-5,-7.96935681810304e-9,-1.9201729184363728e-4,-4.272004332166115e-5,-7.967224995384466e-9,-1.9165604145344355e-4,-4.253352928312996e-5,-7.956980058119363e-9,-1.9134921912310286e-4,-4.229384282667856e-5,-7.939923003820991e-9,-1.9111121492372828e-4,-4.202818834980984e-5,-7.91860535841166e-9,-1.9094402083634387e-4,-4.176615800307559e-5,-7.896162848299419e-9,-1.9083831639714896e-4,-4.1534410208336746e-5,-7.87561120850624e-9,-1.9077625422079947e-4,-4.1352743879738196e-5,-7.859295143438076e-9,-1.9073505303328413e-4,-4.123196142628293e-5,-7.848605195695082e-9,-1.9069054410135802e-4,-4.1173414159399545e-5,-7.843964753064974e-9,-1.906201224278099e-4,-4.116971136664543e-5,-7.844982280018888e-9,-1.905050256123524e-4,-4.1205978856558556e-5,-7.850625899117948e-9,-1.9033218543530693e-4,-4.126132493487268e-5,-7.859318656901609e-9,-1.9009597946679268e-4,-4.131052250053904e-5,-7.868951080561997e-9,-1.8980014139863044e-4,-4.1326260782891054e-5,-7.876912836277283e-9,-1.8945967012305145e-4,-4.128269700216912e-5,-7.880323549005257e-9,-1.8910169760086778e-4,-4.116102678475968e-5,-7.876614821307504e-9,-0.00018876338867391296,-4.0956863108143176e-5,-7.864445949430287e-9,-1.884847853602136e-4,-4.0687258733253435e-5,-7.844654109638144e-9,-1.8829616966925856e-4,-4.039278804799636e-5,-7.820672655457958e-9,-1.88203845813791e-4,-4.012954778719805e-5,-7.797856014628003e-9,-1.8818277508791647e-4,-3.995054240701812e-5,-7.781684520999545e-9,-1.881832875362198e-4,-3.988448188439229e-5,-7.77566376533795e-9,-1.8815018874959586e-4,-3.992443525486756e-5,-7.780096416824334e-9,-1.880434791354815e-4,-4.003285000490112e-5,-7.792321866458137e-9,-1.8784973035415947e-4,-4.015822215563545e-5,-7.808013539986401e-9,-1.8758115050261835e-4,-4.025292234742e-5,-7.822655543413694e-9,-1.872668184883031e-4,-4.02846843903453e-5,-7.832609350063291e-9,-1.869421745375567e-4,-4.024036343886389e-5,-7.835668960723405e-9,-1.866405011096358e-4,-4.012421563344865e-5,-7.831233109466725e-9,-1.8638746606769327e-4,-3.9953517066443375e-5,-7.820209997762073e-9,-1.8619833336478678e-4,-3.9753447846682424E-05,-7.804705559277455e-9,-1.8607713456172942e-4,-3.955211791223761e-5,-7.787528077260694e-9,-1.8601733956143633e-4,-3.937609305312275e-5,-7.771594675631029e-9,-1.8600372362801028e-4,-3.924671808006975e-5,-7.759377516311174e-9,-1.860151033940145e-4,-3.9177490549839045e-5,-7.752521038826082e-9,-1.86027579535179e-4,-3.917265795237302e-5,-7.751697825195558e-9,-1.8601784500762417e-4,-3.922712275877602e-5,-7.756683939980297e-9,-1.859660991240961e-4,-3.932748873083235e-5,-7.76655338904938e-9,-1.858583415306685e-4,-3.945386020008228e-5,-7.779863803220138e-9,-1.856880765199331e-4,-3.9582104032858643e-5,-7.794764745634513e-9,-1.8545751111847034e-4,-3.968648336286518e-5,-7.80905273811186e-9,-1.8517832726768282e-4,-3.974272194646584e-5,-7.820277095975539e-9,-1.8487191715710737e-4,-3.973182286832981e-5,-7.826043324454552e-9,-1.84568326062585e-4,-3.964498003485806e-5,-7.824607063924266e-9,-1.8430252736954805e-4,-3.948909619720772e-5,-7.81567723225054e-9,-1.841068015813026e-4,-3.9290916557531185e-5,-7.801120265142914e-9,-1.8399941650295114e-4,-3.9096168023688346e-5,-7.785080204503404e-9,-1.8397315757144196e-4,-3.8959732030985414e-5,-7.773061430941858e-9,-1.8399121969710352e-4,-3.892667494260442e-5,-7.769999153806498e-9,-1.8399720413110593e-4,-3.9012062532908605e-5,-7.778165646339316e-9,-1.8393709799280938e-4,-3.919247414624714e-5,-7.796192327999907e-9,-1.837809253347292e-4,-3.94159913142451e-5,-7.81983562463752e-9,-1.835314504140859e-4,-3.9624174692404916e-5,-7.843866044999501e-9,-1.832175926465497e-4,-3.9772376929694886e-5,-7.863852973816922e-9,-0.00018288007799367867,-3.983939802399363e-5,-7.877101234873762e-9,-1.825581525567214e-4,-3.9826609012344015e-5,-7.88278698428171e-9,-1.8228153953364634e-4,-3.975151493070294e-5,-7.881673076367993e-9,-1.8206747389102235e-4,-3.96403257759107e-5,-7.87567869457065e-9,-1.8192093438847728e-4,-3.952183195728649e-5,-7.867403264403688e-9,-1.818363144226791e-4,-3.94230088792691e-5,-7.859627774104685e-9,-1.8179960057993597e-4,-3.9365938879669173e-5,-7.854836651382487e-9,-1.817908037429815e-4,-3.9365650403408574e-5,-7.85483970570868e-9,-1.817866154295425e-4,-3.9428705477013426e-5,-7.860566324909944e-9,-1.81763290141203e-4,-3.955254076382139e-5,-7.872043997922005e-9,-1.8169966125836646e-4,-3.9725745338659054e-5,-7.888521312020506e-9,-1.8157997375724025e-4,-3.992943179925509e-5,-7.908654800013727e-9,-1.8139615201193202e-4,-4.01395859443014e-5,-7.930677800847704e-9,-1.8114926843234067e-4,-4.0330149429537525e-5,-7.952524911278175e-9,-1.808500494869329e-4,-4.047662276442048e-5,-7.971962158343955e-9,-1.8051827933978514e-4,-4.055992560857808e-5,-7.986810256067089e-9,-1.8018101316444614e-4,-4.0570277674346596e-5,-7.995336625795394e-9,-1.7986930754112723e-4,-4.0510916503467394e-5,-7.996822725172099e-9,-1.796128754203871e-4,-4.0400967753350356e-5,-7.992167447243349e-9,-1.7943243126465743e-4,-4.027577035424067e-5,-7.984224841668468e-9,-1.793308527151646e-4,-4.0182267013651894e-5,-7.97751603843064e-9,-1.7928650189256697e-4,-4.016762654034507e-5,-7.977085620844553e-9,-1.7925412028238575e-4,-4.026237728195528e-5,-7.986681974367066e-9,-1.791774416147169e-4,-4.046502137035069e-5,-8.007050548514257e-9,-1.79010578141659e-4,-4.07384889308924e-5,-8.03541534862946e-9,-1.7873692411944845e-4,-4.102346717380981e-5,-8.066621496285543e-9,-1.783741420058078e-4,-4.1261830836882335e-5,-8.095249938080533e-9,-1.7796361074475225e-4,-4.1416463164230464e-5,-8.117421582789139e-9,-1.7755290410782594e-4,-4.1478368578888085e-5,-8.131520449449486e-9,-1.7718135033389617e-4,-4.146198733197798e-5,-8.13797055610707e-9,-1.768730990346715e-4,-4.139529321745453e-5,-8.138602365296292e-9,-1.766365818208645e-4,-4.131042648440153e-5,-8.135996394797593e-9,-1.7646729539195152e-4,-4.123728457209718e-5,-8.132931548149722e-9,-1.7635140912427015e-4,-4.119998363428822e-5,-8.131940782911007e-9,-1.7626901592075078e-4,-4.1215139264067615e-5,-8.13497319552361e-9,-1.7619688175239353e-4,-4.129104627639256e-5,-8.143187102834443e-9,-1.7611095329391106e-4,-4.142731358893801e-5,-8.156888519239014e-9,-1.7598889716912629e-4,-4.1614887437690714e-5,-8.17558928584182e-9,-1.7581281192462515e-4,-4.183670829192403e-5,-8.198133122013413e-9,-1.7557194116890116e-4,-4.206939570725801e-5,-8.222846596370708e-9,-1.7526489185315834e-4,-4.2286145337228534e-5,-8.247693685378518e-9,-1.749007892130791e-4,-4.246067239676419e-5,-8.27045287578726e-9,-1.7449889291473196e-4,-4.257177890837406e-5,-8.288966601271894e-9,-1.7408636134491067e-4,-4.260785569445014e-5,-8.301502622549816e-9,-1.7369417612683185e-4,-4.257044116629862e-5,-8.307207425135431e-9,-1.733515749373912e-4,-4.247603925671317e-5,-8.306560538240727e-9,-1.7307951561946385e-4,-4.235546258407321e-5,-8.301660768772593e-9,-1.7288404300892215e-4,-4.224980670333177e-5,-8.296116391034056e-9,-1.7275126742316764e-4,-4.220232082429011e-5,-8.29435675977847e-9,-1.7264662508130276e-4,-4.2246603872407674e-5,-8.300377709365537e-9,-1.7252121501086634e-4,-4.239390927424923e-5,-8.316260399484159e-9,-1.723259194563172e-4,-4.262512746453453e-5,-8.341125038747223e-9,-1.7202921853819408e-4,-4.289359303196469e-5,-8.371205255110296e-9,-1.7163005621497463e-4,-4.314027956941037e-5,-8.401196120311941e-9,-1.7115808212438073e-4,-4.3314891182245837e-5,-8.426208336859534e-9,-1.706611339045414e-4,-4.3391899781138715e-5,-8.4432830383759e-9,-1.701876762651756e-4,-4.3374419715413495e-5,-8.4518562411058e-9,-1.6977323193821857e-4,-4.328714577136297e-5,-8.4533209117178e-9,-1.6943492968409378e-4,-4.316484300779904e-5,-8.450215049832509e-9,-1.691728141266524e-4,-4.304229490465962e-5,-8.445454567334958e-9,-1.689743734967421e-4,-4.294814563749508e-5,-8.441762371783732e-9,-1.6881942342299218e-4,-4.2902261156559144e-5,-8.441296223429344e-9,-1.6868404487941965e-4,-4.291519214458628e-5,-8.445444774098598e-9,-1.6854347563705814e-4,-4.2988495594045744e-5,-8.454766529152133e-9,-1.6837439851704656e-4,-4.3115257163194266e-5,-8.469036389597806e-9,-1.681571293442517e-4,-4.3280710287122344e-5,-8.487346444855007e-9,-1.6787800682957013e-4,-4.3463272785180736e-5,-8.508217625345404e-9,-1.675319055511752e-4,-4.363653952219832e-5,-8.529718093993882e-9,-1.6712433065999726e-4,-4.3772654109465174e-5,-8.549625270960761e-9,-1.6667221550076703e-4,-4.3847053130506195e-5,-8.565688893545171e-9,-1.6620251090174813e-4,-4.384394863589244e-5,-8.576022891083493e-9,-1.6574805161057994e-4,-4.3761243185843136e-5,-8.57958137502147e-9,-1.653410166729793e-4,-4.361321227414499e-5,-8.57659196538238e-9,-1.6500526069332353e-4,-4.3429595920686075e-5,-8.568780938240553e-9,-1.6474941938175833e-4,-4.325061380526027e-5,-8.559242374508827e-9,-1.6456278474184848e-4,-4.311845658282386e-5,-8.551872091484495e-9,-1.6441558827007797e-4,-4.306679435913246e-5,-8.55041163875152e-9,-1.6426459590353389e-4,-4.31107428021797e-5,-8.55731514316368e-9,-1.6406370565747632e-4,-4.324040567689213e-5,-8.572814975918328e-9,-1.6377738091422734e-4,-4.3421136814201817e-5,-8.594619277300757e-9,-1.6339259528422065e-4,-4.360218549923664e-5,-8.618509053213847e-9,-1.6292403742707357e-4,-4.3731933663244515e-5,-8.639692356752142e-9,-1.6240945516230828e-4,-4.3773994492029846e-5,-8.654343911008955e-9,-1.618968607756375e-4,-4.371721460881521e-5,-8.660647603934844e-9,-1.614295836691662e-4,-4.357579691594396e-5,-8.658990171403235e-9,-1.6103554540079272e-4,-4.338116258064244e-5,-8.65143750147207e-9,-1.6072371734170566e-4,-4.317072694826411e-5,-8.640899300411265e-9,-1.60486597377181e-4,-4.2978486922922624e-5,-8.630346264051817e-9,-1.6030553083480994e-4,-4.28295955015562e-5,-8.622255741822829e-9,-1.6015613527411944e-4,-4.2738546072660895e-5,-8.618310231123223e-9,-1.6001252941236853e-4,-4.270953342717434e-5,-8.619310983523769e-9,-1.5985023392522713e-4,-4.27376696865566e-5,-8.62524258194941e-9,-1.5964820616548375e-4,-4.281026269130828e-5,-8.635407427994393e-9,-1.5939063606626693e-4,-4.290797545834162e-5,-8.648555381100611e-9,-1.5906893911632526e-4,-4.300622619989431e-5,-8.662980381924239e-9,-1.586839320425307e-4,-4.307745905419132e-5,-8.6766176574788e-9,-1.5824763893893554e-4,-4.309485149551601e-5,-8.687224944489166e-9,-1.577836553301402e-4,-4.303761508032331e-5,-8.692728743322592e-9,-1.5732473003351639e-4,-4.2897150815443866e-5,-8.691735505534104e-9,-1.5690673041701025e-4,-4.2682099455994495e-5,-8.684069583127032e-9,-1.5655967783061677e-4,-4.241963218334136e-5,-8.671100768675983e-9,-1.5629842252569848e-4,-4.215106331379977e-5,-8.65564776892293e-9,-1.5611654367897435e-4,-4.1922027222526855e-5,-8.641393519477788e-9,-1.5598634365727104e-4,-4.1769990723229766e-5,-8.631943434242865e-9,-1.558655337576891e-4,-4.171332468953909e-5,-8.62980875112357e-9,-1.55708599326998e-4,-4.1745676230751626e-5,-8.635639653747643e-9,-1.5547926756793228e-4,-4.183738871643539e-5,-8.64796410233513e-9,-1.5516040876164026e-4,-4.194344529267842e-5,-8.663544317198107e-9,-1.5475857077794318e-4,-4.2015642345345564e-5,-8.678275332417251e-9,-1.5430178219828054e-4,-4.2015487508945786e-5,-8.688346657903147e-9,-1.538312653883322e-4,-4.1923888974596855e-5,-8.691272266061803e-9,-1.5338985144061818e-4,-4.174464729428951e-5,-8.686443715723425e-9,-1.5301108912570144e-4,-4.150107912857046e-5,-8.675074640975934e-9,-1.5271247020407983e-4,-4.1227745509928506e-5,-8.659650972450587e-9,-1.5249412865362623e-4,-4.096082102643691e-5,-8.643154944543995e-9,-1.5234202142190386e-4,-4.0730361657362306e-5,-8.628341074666747e-9,-1.522332666590427e-4,-4.0556036818412694e-5,-8.617240877586801e-9,-1.5214146355814283e-4,-4.044607832465574e-5,-8.610948820189256e-9,-1.5204082770238207e-4,-4.0398276306418136e-5,-8.609649713449356e-9,-1.5190894966737008e-4,-4.040182404940597e-5,-8.612791693953891e-9,-1.5172855998777816e-4,-4.04392073340307e-5,-8.619289651721801e-9,-1.5148890221367985e-4,-4.048788673301634e-5,-8.627671304566296e-9,-1.511871960678653e-4,-4.052207249406931e-5,-8.636154913727928e-9,-1.5083025434630082e-4,-4.051521495503619e-5,-8.642725787473477e-9,-1.5043574158394175e-4,-4.044383852156764e-5,-8.645327734018624e-9,-1.500319353466808e-4,-4.029297377626192e-5,-8.642261093560134e-9,-1.496544166579292e-4,-4.006242686937451e-5,-8.632759521112276e-9,-1.4933857066749907e-4,-3.9771500609913104e-5,-8.61753525645397e-9,-1.4910878327908136e-4,-3.9458613965874134e-5,-8.598961074703302e-9,-1.4896817540041468e-4,-3.9173255620837376e-5,-8.580634729706417e-9,-1.4889434793359147e-4,-3.896143953895252e-5,-8.566369717397555e-9,-1.488446779231985e-4,-3.885027635490195e-5,-8.558992598500318e-9,-1.4876971971684565e-4,-3.883878985692342e-5,-8.559461170923111e-9,-1.4862882605840358e-4,-3.889897430693147e-5,-8.566637964807312e-9,-1.484015496846831e-4,-3.8985699273179814e-5,-8.577719545041904e-9,-1.4809146958670756e-4,-3.9050500471712874e-5,-8.589075917670951e-9,-1.4772283139077166e-4,-3.90541832810773e-5,-8.597200861671296e-9,-1.4733252302452735e-4,-3.8975093804996464e-5,-8.599531021666814e-9,-1.46960319709348e-4,-3.8811988524448995e-5,-8.594969943036304e-9,-1.4663989849332713e-4,-3.8581911562734315e-5,-8.58402541962936e-9,-1.4639243737691714e-4,-3.831439622032589e-5,-8.568556760394407e-9,-1.4622381432699978e-4,-3.8043832331238845e-5,-8.551221326080342e-9,-1.4612546696149864e-4,-3.780203085357788e-5,-8.534793996272362e-9,-1.4607800835754142e-4,-3.761267871861787e-5,-8.521560570514165e-9,-1.46056126596556e-4,-3.748848840769632e-5,-8.512936995642796e-9,-1.4603336462438332e-4,-3.743087337648366e-5,-8.509368863912567e-9,-1.4598588657925202e-4,-3.743138625583485e-5,-8.510465027645555e-9,-1.4589496353338089e-4,-3.747399290628529e-5,-8.515247763091069e-9,-1.4574843347403674e-4,-3.753744263121957e-5,-8.522385868843517e-9,-1.4554162934537264e-4,-3.759745129656199e-5,-8.530332304446479e-9,-1.4527818133022795e-4,-3.7628889350479104e-5,-8.537375532161534e-9,-1.4497079464529807e-4,-3.76084521534279e-5,-8.541699439939246e-9,-1.446416124057033e-4,-3.751836753687077e-5,-8.541581339326527e-9,-1.4432111704455668e-4,-3.7351398285757994e-5,-8.535812444372269e-9,-1.4404404714688575e-4,-3.711638518574359e-5,-8.524282605408122e-9,-1.438412079624837e-4,-3.684187866182322e-5,-8.508477097627533e-9,-1.4372811461076546e-4,-3.657397293866363e-5,-8.491503673689153e-9,-1.436949746655447e-4,-3.636532952138359e-5,-8.477371791217123e-9,-1.437049148338037e-4,-3.625715011489158e-5,-8.469647157873269e-9,-1.4370460041685984e-4,-3.626225419817731e-5,-8.470096677118393e-9,-1.436435657655829e-4,-3.6359182629031623e-5,-8.478059693349249e-9,-1.4349217679652826e-4,-3.650097828056397e-5,-8.49083875172551e-9,-1.4324944734727836e-4,-3.663301747612782e-5,-8.50476357027434e-9,-1.4293924274250757e-4,-3.6710244446883646e-5,-8.516318183217591e-9,-1.42599606440927e-4,-3.670734481993864e-5,-8.522934387042323e-9,-1.4227107692698355e-4,-3.66208983276144e-5,-8.523380609554418e-9,-1.4198762087161575e-4,-3.646586091026803e-5,-8.517827359725516e-9,-1.4177127123896665e-4,-3.626931158012475e-5,-8.507668428407443e-9,-1.4163010445375599e-4,-3.606360234221836e-5,-8.495144285064709e-9,-1.4155881398565556e-4,-3.588006957388633e-5,-8.482821921176052e-9,-1.4154122929864088e-4,-3.574396664003745e-5,-8.473039059830415e-9,-1.4155410250967632e-4,-3.5671120527783085e-5,-8.467454781925923e-9,-1.4157137341078065e-4,-3.5666522461359366e-5,-8.46681890030178e-9,-1.4156819516112225e-4,-3.572468450852716e-5,-8.4709875707388e-9,-1.4152418460917606e-4,-3.58313730753767e-5,-8.47912807725831e-9,-1.4142558873947818e-4,-3.59661705458511e-5,-8.489992557926502e-9,-1.412664184643966e-4,-3.6105261696455e-5,-8.502137383045136e-9,-1.4104888166358994e-4,-3.6224110895191465e-5,-8.514032189748423e-9,-1.4078340386514088e-4,-3.630008132933925e-5,-8.524097794432883e-9,-1.4048831120426743e-4,-3.6315244359799485e-5,-8.530777751256682e-9,-1.4018893987105985e-4,-3.6259700669489686e-5,-8.532761075544734e-9,-1.399154045802046e-4,-3.613554770648095e-5,-8.529406358796928e-9,-1.396978493880879e-4,-3.5960758369385744e-5,-8.5212719609298e-9,-1.395584274220083e-4,-3.5770777754258144e-5,-8.510484614118273e-9,-1.395010799090941e-4,-3.5614419533547606e-5,-8.500584815712752e-9,-1.3950347955379841e-4,-3.554134224026499e-5,-8.495600252331792e-9,-1.395181326667312e-4,-3.5583057711782186e-5,-8.49852886633527e-9,-1.3948692048425989e-4,-3.573661667274257e-5,-8.509976577861838e-9,-1.3936409233349114e-4,-3.596248146847602e-5,-8.52783178092342e-9,-1.3913464178440764e-4,-3.6200002121230084e-5,-8.548219699136488e-9,-1.3881747770678196e-4,-3.6391341144876804e-5,-8.567072309384218e-9,-1.384540237025143e-4,-3.650005380239695e-5,-8.581375137160207e-9,-1.380914704582618e-4,-3.6517145395985524e-5,-8.589669620504838e-9,-1.3776939627770373e-4,-3.645667302158028e-5,-8.591982763540148e-9,-1.375129529417687e-4,-3.634680402050186e-5,-8.589508759325445e-9,-1.373315794560991e-4,-3.622095854655851e-5,-8.584220023840957e-9,-1.3722091216789167e-4,-3.61110737959683e-5,-8.578448656336925e-9,-1.3716598999432205e-4,-3.6043161150447865e-5,-8.574449379800085e-9,-1.37144819913883e-4,-3.6034601772228566e-5,-8.573995788120039e-9,-1.3713202193536196e-4,-3.60927847497726e-5,-8.578098184526851e-9,-1.3710237308793484e-4,-3.621495858814332e-5,-8.586914569799196e-9,-1.3703402980724396e-4,-3.6389181641333254e-5,-8.5998516774355e-9,-1.36911205202354e-4,-3.65962542961265e-5,-8.615789199981454e-9,-1.3672602214730465e-4,-3.68124573584491e-5,-8.633327431858329e-9,-1.36479349089764e-4,-3.701271677512592e-5,-8.650970819822634e-9,-1.3618068653054776e-4,-3.717379627140313e-5,-8.667222550115315e-9,-1.358472662707308e-4,-3.7277344343605105e-5,-8.680647089426607e-9,-1.3550242612119607e-4,-3.731274903926245e-5,-8.68999424871703e-9,-1.3517320152061808e-4,-3.727978006702851e-5,-8.694459140313209e-9,-1.3488680793789882e-4,-3.719092897384664e-5,-8.694073713436727e-9,-1.3466544021457864e-4,-3.707279073129639e-5,-8.69010051987593e-9,-1.3451925275556113e-4,-3.696481485133304e-5,-8.685177236944263e-9,-1.344388658671642e-4,-3.69131046298267e-5,-8.682934876706395e-9,-1.3439108416693466e-4,-3.695778715724225e-5,-8.68695839392729e-9,-1.3432331140892352e-4,-3.7116200157038535e-5,-8.699334814541392e-9,-1.3417981211901297e-4,-3.737010340084863e-5,-8.71951455375979e-9,-1.339246580951755e-4,-3.7667420214442775e-5,-8.744316749020727e-9,-1.3355816900488716e-4,-3.7941435370631326e-5,-8.769244026211392e-9,-1.3311593340372153e-4,-3.813725721253883e-5,-8.79029609068621e-9,-1.3265197371800877e-4,-3.8229929052285945e-5,-8.80518898519348e-9,-1.3221793913426716e-4,-3.822643977336777e-5,-8.813555366407018e-9,-1.318492290963614e-4,-3.8155740932226004e-5,-8.816480101901048e-9,-1.3156091565529496e-4,-3.8055615871408505e-5,-8.815891247203971e-9,-1.3135036452187486e-4,-3.796239043644523e-5,-8.814051427765528e-9,-1.31202438800492e-4,-3.7905049072083586e-5,-8.813160873514698e-9,-1.3109463784149872e-4,-3.79028210263575e-5,-8.81503385420893e-9,-1.3100122611687848e-4,-3.796469387651649e-5,-8.820852830416448e-9,-1.3089648863076503e-4,-3.80897908046812e-5,-8.83104051118581e-9,-1.3075748536931842e-4,-3.826825886682798e-5,-8.84527997381368e-9,-1.3056648321026467e-4,-3.848267424904795e-5,-8.862659526172724e-9,-1.3031305885508222e-4,-3.871009371470224e-5,-8.881878607082005e-9,-1.2999564462678402e-4,-3.8924886973358905e-5,-8.90144922639146e-9,-1.296221126551315e-4,-3.9102224081252054e-5,-8.919852317394064e-9,-1.292091137554164e-4,-3.9221787764163894e-5,-8.935653170963314e-9,-1.287801342980387e-4,-3.9271231345139034e-5,-8.947626178113364e-9,-1.2836237102655372e-4,-3.924893370147562e-5,-8.954946573809908e-9,-1.2798264289840097e-4,-3.916561004732102e-5,-8.957459750970044e-9,-1.2766262594780724e-4,-3.9044431207776e-5,-8.955969094344736e-9,-1.2741366297480022e-4,-3.891923161696911e-5,-8.952404162384802e-9,-1.2723168997357461e-4,-3.883000967390067e-5,-8.949679509496966e-9,-1.27093748029005e-4,-3.881487829910734e-5,-8.951097831921052e-9,-1.2695870357679422e-4,-3.8898685950468335e-5,-8.959323326278861e-9,-1.267751555869125e-4,-3.908106724078372e-5,-8.975233990146882e-9,-1.2649729890266872e-4,-3.933002315131596e-5,-8.997238422616873e-9,-1.2610380646318407e-4,-3.958793924368254e-5,-9.021623338742478e-9,-1.2560933231630603e-4,-3.979117636916569e-5,-9.043949542052622e-9,-1.250601064281325e-4,-3.989428803618717e-5,-9.060747657363913e-9,-1.2451535807132656e-4,-3.988519479442612e-5,-9.070550347589108e-9,-1.2402584828578883e-4,-3.978414776435241e-5,-9.073886011159246e-9,-1.236205981940215e-4,-3.963065544738354e-5,-9.07260038223968e-9,-1.2330492479386814e-4,-3.946804731107443e-5,-9.06907791995821e-9,-1.2306592379153069e-4,-3.9332584341514184e-5,-9.065663183276685e-9,-1.228800828847495e-4,-3.9248605036294036e-5,-9.064298093394783e-9,-1.2271974809462355e-4,-3.9227959023930204e-5,-9.066308761174449e-9,-1.2255751932836511e-4,-3.9271422800291845e-5,-9.07230522767062e-9,-1.2236902385258616e-4,-3.937056825807537e-5,-9.082190481665708e-9,-1.2213485314795255e-4,-3.950953825587356e-5,-9.0952670217167e-9,-1.2184219766310128e-4,-3.966680598205627e-5,-9.110401741288104e-9,-1.2148636162885278e-4,-3.981726696521993e-5,-9.12619905571748e-9,-1.2107197250418744e-4,-3.9935062083796264e-5,-9.141156188037495e-9,-1.2061333772280514e-4,-3.9997258003077964e-5,-9.153805898123638e-9,-1.2013331124746263e-4,-3.998800386203117e-5,-9.162873756252375e-9,-1.1966030668005657e-4,-3.990236796499482e-5,-9.167476141008514e-9,-1.1922355711720542e-4,-3.9748848224879454e-5,-9.16735668291749e-9,-1.1884727409519039e-4,-3.9549573910041856e-5,-9.163106709226148e-9,-1.1854484500946807e-4,-3.9337626281964046e-5,-9.156273357353645e-9,-1.1831435745928925e-4,-3.9151554868869843e-5,-9.149247534449742e-9,-1.1813661119487769e-4,-3.9027669333984225e-5,-9.144851147026704e-9,-1.1797667960421902e-4,-3.899110483450793e-5,-9.145628060950681e-9,-1.1778991790734548e-4,-3.904737063700308e-5,-9.15299150810211e-9,-1.175325624741728e-4,-3.9177091689939015e-5,-9.166537396277783e-9,-1.1717523308225653e-4,-3.933731131848976e-5,-9.183898816605155e-9,-1.1671489921126038e-4,-3.947171279421601e-5,-9.20137620436505e-9,-1.1617906373001206e-4,-3.952820645458404e-5,-9.215188158288917e-9,-1.1561807446250038e-4,-3.947694802803824e-5,-9.222771080593783e-9,-1.1508795403832579e-4,-3.931977427169145e-5,-9.223487247363517e-9,-1.1463218392673738e-4,-3.9086539305895255e-5,-9.21849929028679e-9,-1.142709592978943e-4,-3.8821745934336895e-5,-9.210076040428456e-9,-1.1400074179654687e-4,-3.856946273893001e-5,-9.20078618611514e-9,-1.1380094799943816e-4,-3.836294492571193e-5,-9.192886631995141e-9,-1.1364261812623197e-4,-3.822069459714716e-5,-9.1879765359956e-9,-1.1349551541127026e-4,-3.814719957123449e-5,-9.186871306246775e-9,-1.1333258761490281e-4,-3.8135736535814055e-5,-9.189633338269424e-9,-1.1313230069867286e-4,-3.817141008984336e-5,-9.195706259883106e-9,-1.1287982382393343e-4,-3.823369291997683e-5,-9.204097657482591e-9,-1.1256786310513337e-4,-3.829851605574717e-5,-9.213553802888529e-9,-1.1219751803139118e-4,-3.8340376762559447e-5,-9.22269414066259e-9,-1.1177904223869293e-4,-3.833503671167999e-5,-9.230116686601745e-9,-1.1133191698447232e-4,-3.826315103578705e-5,-9.234523255112086e-9,-1.1088335748373442e-4,-3.811461096830071e-5,-9.234910233392347e-9,-1.1046449079987319e-4,-3.789262697562118e-5,-9.230826308386785e-9,-1.1010413601670693e-4,-3.7615910350771354e-5,-9.222627139411862e-9,-1.0982130517158393e-4,-3.731722308065027e-5,-9.21160402770721e-9,-1.0961868889767661e-4,-3.703748088216355e-5,-9.199872312326249e-9,-1.0947969429209346e-4,-3.681630820680492e-5,-9.189976537874282e-9,-1.0937067838856088e-4,-3.668157414423921e-5,-9.184272074658242e-9,-1.0924829447019257e-4,-3.664109554625678e-5,-9.18424056176897e-9,-1.0907020550257687e-4,-3.667913877536005e-5,-9.189954915184103e-9,-1.0880642515705916e-4,-3.6759033088402764e-5,-9.199907267392656e-9,-1.0844824947981108e-4,-3.683171835853091e-5,-9.211326762762983e-9,-1.0801195079731945e-4,-3.684853152381634e-5,-9.220949393187014e-9,-1.0753533107081977e-4,-3.6774884340293415e-5,-9.225997564122934e-9,-1.0706735543311275e-4,-3.6600269285523224e-5,-9.22499909034669e-9,-1.0665405844386353e-4,-3.634060345263345e-5,-9.218128116932532e-9,-1.0632599695639417e-4,-3.6031911809698865e-5,-9.206981038369621e-9,-1.0609189824736788e-4,-3.5718319405997615e-5,-9.19395506438557e-9,-1.0593992002165717e-4,-3.543962353913638e-5,-9.181522987160879e-9,-1.0584432970216088e-4,-3.5222894444418944e-5,-9.171654265312317e-9,-1.0577377509585269e-4,-3.5079615353876484e-5,-9.165501882736301e-9,-1.0569811427307857e-4,-3.500714701067259e-5,-9.163352800650679e-9,-1.0559264518508524e-4,-3.499226206662488e-5,-9.164771801813917e-9,-1.0544004786505433e-4,-3.5014920510423576e-5,-9.16883982493074e-9,-1.0523095671395252e-4,-3.5051391464275926e-5,-9.174389778026609e-9,-1.0496405295401565e-4,-3.507665669286638e-5,-9.180172150801203e-9,-1.0464618835727268e-4,-3.506655725701059e-5,-9.184939032839345e-9,-1.0429252092118758e-4,-3.500030193581135e-5,-9.187495988674884e-9,-1.039261276946598e-4,-3.48637823947789e-5,-9.186800523449334e-9,-1.0357615793353864e-4,-3.46536541858101e-5,-9.182170455832e-9,-1.0327350441689744e-4,-3.4381246691956354e-5,-9.173580720955574e-9,-1.0304364939716516e-4,-3.4074253186413085e-5,-9.161923230549191e-9,-1.0289802766204464e-4,-3.3773697803369534e-5,-9.149039646343281e-9,-1.0282725778280255e-4,-3.3524929232600696e-5,-9.137394421723031e-9,-1.0280029662432293e-4,-3.336441855594974e-5,-9.129418606410994e-9,-1.0277162008556858e-4,-3.3307298589755e-5,-9.126750143428798e-9,-1.0269452672034878e-4,-3.334132380659976e-5,-9.129679824022376e-9,-1.0253530901109662e-4,-3.3430128766657056e-5,-9.137028969170211e-9,-1.0228281327026914e-4,-3.352418168582912e-5,-9.146483951023313e-9,-1.0195058478501845e-4,-3.357486167811767e-5,-9.155243273725392e-9,-1.0157200536431759e-4,-3.354696552794696e-5,-9.160762004820197e-9,-1.0119077576295845e-4,-3.3426523116505044e-5,-9.161389983981338e-9,-1.0084972538708518e-4,-3.322258471680729e-5,-9.1567428994038e-9,-1.0058085340582454e-4,-3.296319855077416e-5,-9.1477233287177e-9,-1.0039895151362752e-4,-3.268715204906611e-5,-9.13620386476633e-9,-1.0030009479870362e-4,-3.243403248359135e-5,-9.124482475916777e-9,-1.0026481761500761e-4,-3.2235448634192776e-5,-9.114685797381227e-9,-1.002643617789796e-4,-3.210959204158094e-5,-9.108299298278605e-9,-1.0026767382911762e-4,-3.205986487873324e-5,-9.105941746310106e-9,-1.0024717983614368e-4,-3.207681406252085e-5,-9.107401083971613e-9,-1.0018239318013028e-4,-3.214184576455504e-5,-9.111860642617299e-9,-1.0006142614792553e-4,-3.223125875718116e-5,-9.118191582072067e-9,-9.988108258667136e-5,-3.2319691729833556e-5,-9.1251948611398e-9,-9.964632646321523e-5,-3.238278403756544e-5,-9.131729422340635e-9,-9.936964829441685e-5,-3.239938756272473e-5,-9.136742201877834e-9,-9.907040628933112e-5,-3.2353857807257145e-5,-9.139278262243717e-9,-9.877374852922494e-5,-3.22388541842853e-5,-9.138569270716463e-9,-9.850827687016545e-5,-3.2058685656720396e-5,-9.13425646517205e-9,-9.830143939364078e-5,-3.1832365719454527e-5,-9.126703455871307e-9,-9.817223068137955e-5,-3.159432274657247e-5,-9.117234559865558e-9,-9.812252419680496e-5,-3.138997708142053e-5,-9.108071823699427e-9,-9.813089016549055e-5,-3.126452109365012e-5,-9.10182146027846e-9,-9.815412222958905e-5,-3.124710157480261e-5,-9.100604093125194e-9,-9.813914491830552e-5,-3.1337456387429606e-5,-9.105211374499513e-9,-9.804153498796248e-5,-3.150322611607172e-5,-9.11475449547984e-9,-9.784154686536156e-5,-3.1690737195221436e-5,-9.127000792101932e-9,-9.754967528636868e-5,-3.1843765894223964e-5,-9.139172281973027e-9,-9.720055366819144e-5,-3.192085559051927e-5,-9.148776150107598e-9,-9.684015327249356e-5,-3.1904655488520306e-5,-9.154172659673398e-9,-9.651257696551535e-5,-3.180236177111936e-5,-9.154822358487452e-9,-9.62504127431069e-5,-3.163996841124646e-5,-9.151274976782774e-9,-9.60698168291565e-5,-3.145374077091899e-5,-9.144961054288212e-9,-9.596984265486474e-5,-3.128151423757891e-5,-9.137828523893096e-9,-9.593497386265119e-5,-3.115537334164327e-5,-9.131885483864583e-9,-9.593976606922285e-5,-3.109656681303233e-5,-9.128751308860314e-9,-9.595447136657913e-5,-3.111310201829616e-5,-9.129337933414458e-9,-9.595049936624177e-5,-3.119999178987712e-5,-9.133745810921736e-9,-9.590477548725535e-5,-3.134160856925637e-5,-9.141380171958168e-9,-9.580246226255177e-5,-3.151529116825042e-5,-9.151211708597388e-9,-9.563797539391283e-5,-3.16952830703858e-5,-9.162060481302314e-9,-9.541467373049275e-5,-3.185625961327806e-5,-9.172796825714589e-9,-9.514380915860319e-5,-3.197615493895167e-5,-9.182419310694514e-9,-9.48431552537596e-5,-3.2038443093745316e-5,-9.190051974883061e-9,-9.453543133902659e-5,-3.2034182987011704e-5,-9.194952520053085e-9,-9.424633486772374e-5,-3.1964113362905855e-5,-9.19662086089252e-9,-9.400158823504068e-5,-3.18408340759899e-5,-9.195038235111904e-9,-9.382220633420554e-5,-3.169033305608827e-5,-9.19095818861579e-9,-9.371778135278529e-5,-3.155104568024974e-5,-9.186065400464665e-9,-9.367914980804929e-5,-3.1468046822899884e-5,-9.182785199579648e-9,-9.367412170350315e-5,-3.1480918711509026e-5,-9.183626205872267e-9,-9.365156347345576e-5,-3.160755715402989e-5,-9.19020294586336e-9,-9.355668865963729e-5,-3.183175941432533e-5,-9.202419571888166e-9,-9.335267713728581e-5,-3.210430056471749e-5,-9.218371347956345e-9,-9.303667906521569e-5,-3.236020861117679e-5,-9.235103819495216e-9,-9.264032211325917e-5,-3.2543385860012626e-5,-9.249755228307922e-9,-9.221548591093086e-5,-3.262483810785695e-5,-9.26041652356236e-9,-9.181507378196565e-5,-3.260698117914955e-5,-9.266413523353581e-9,-9.147845491400025e-5,-3.251632942914815e-5,-9.268166415699002e-9,-9.122520847559706e-5,-3.239154168921172e-5,-9.266889513425695e-9,-9.105564635912965e-5,-3.227244723700269e-5,-9.2642646836748e-9,-9.095498913811478e-5,-3.219240887699171e-5,-9.262101784399266e-9,-9.08987318910297e-5,-3.217406213098664e-5,-9.261994204243429e-9,-9.085793054099272e-5,-3.222762121230062e-5,-9.265019829464496e-9,-9.080392835417925e-5,-3.2351052738033134e-5,-9.271567916967034e-9,-9.071228168806134e-5,-3.253168391369461e-5,-9.28134185774094e-9,-9.056569168800201e-5,-3.2748874236925676e-5,-9.293522462109239e-9,-9.035578936575062e-5,-3.297739074658915e-5,-9.307015941925984e-9,-9.008365802729651e-5,-3.319108369388331e-5,-9.32068773621464e-9,-8.975916266917992e-5,-3.336636099032471e-5,-9.33350717957054e-9,-8.939940883763627e-5,-3.348509546284864e-5,-9.344592008056796e-9,-8.902663953210632e-5,-3.353691102753202e-5,-9.353211946825554e-9,-8.866569313938621e-5,-3.352090126483869e-5,-9.35883336145802e-9,-8.834103551839693e-5,-3.3446806313605515e-5,-9.361261938630803e-9,-8.807317448099914e-5,-3.333560303798455e-5,-9.360872293875294e-9,-8.787408489854848e-5,-3.321895898344246e-5,-9.35881896249169e-9,-8.774178162211213e-5,-3.313618048205553e-5,-9.357051719661311e-9,-8.765551941425548e-5,-3.312704407820512e-5,-9.357971217288903e-9,-8.75747733839315e-5,-3.3219976944643985e-5,-9.363691049098633e-9,-8.74461410016907e-5,-3.341812218722618e-5,-9.375114762347986e-9,-8.7220065678816e-5,-3.3690479945789706e-5,-9.391311854138805e-9,-8.687212463896635e-5,-3.397702246395055e-5,-9.409699673510456e-9,-8.641654285989432e-5,-3.420979174434094e-5,-9.427069578077248e-9,-8.590181922728967e-5,-3.433967242416912e-5,-9.440848661633535e-9,-8.539061620032401e-5,-3.435314501297649e-5,-9.44984340985916e-9,-8.493672097339013e-5,-3.4271269582614564e-5,-9.454233252297501e-9,-8.45709727893319e-5,-3.413584988272384e-5,-9.45513539359531e-9,-8.429907159057472e-5,-3.399315338192215e-5,-9.454135610822126e-9,-8.410710066635141e-5,-3.388222278476255e-5,-9.452932691116559e-9,-8.39694300761685e-5,-3.382927951155617e-5,-9.453065287658341e-9,-8.385576288840835e-5,-3.384661045247159e-5,-9.455682021020762e-9,-8.373632656338405e-5,-3.39337961074905e-5,-9.461372860972362e-9,-8.358545827544782e-5,-3.407987563331084e-5,-9.470111676055729e-9,-8.338408132706894e-5,-3.426590539557689e-5,-9.481331913003121e-9,-8.312136430352067e-5,-3.446778153328366e-5,-9.494105686910258e-9,-8.279564587432089e-5,-3.465932720987703e-5,-9.507355644814983e-9,-8.241450667287213e-5,-3.481564090403858e-5,-9.520030613693909e-9,-8.19937854235765e-5,-3.491646452503521e-5,-9.531207314372736e-9,-8.155553782746594e-5,-3.494912799250977e-5,-9.540129776878508e-9,-8.112514759519504e-5,-3.491073158250606e-5,-9.546243568285508e-9,-8.072780222779476e-5,-3.480934834136822e-5,-9.549283156140592e-9,-8.038456389393579e-5,-3.466401475530754e-5,-9.549426224657887e-9,-8.010831362600719e-5,-3.450333338545574e-5,-9.54746360191402e-9,-7.989980971585162e-5,-3.4362440274271346e-5,-9.544875278633311e-9,-7.974437782718713e-5,-3.427773727254322e-5,-9.543676237437192e-9,-7.961061805952735e-5,-3.427884237468908e-5,-9.545950110564333e-9,-7.945341861300056e-5,-3.437837958684637e-5,-9.553132576768602e-9,-7.922353858236074e-5,-3.456254513569184e-5,-9.56529984876067e-9,-7.888371631202135e-5,-3.478810345141471e-5,-9.580865713138687e-9,-7.842594949679023e-5,-3.499174125974583e-5,-9.597013547859506e-9,-7.787972052612896e-5,-3.5111823238104886e-5,-9.61077091176288e-9,-7.730339317992335e-5,-3.5112654366270275e-5,-9.620133730535203e-9,-7.676190727235558e-5,-3.4997103078953485e-5,-9.624598331243174e-9,-7.630368913524509e-5,-3.480106932702219e-5,-9.62496228087358e-9,-7.594864786183333e-5,-3.457584341541249e-5,-9.622755990773589e-9,-7.568955618661085e-5,-3.4369955647098174e-5,-9.619710536672963e-9,-7.550120699012476e-5,-3.4218070735318946e-5,-9.617407235355379e-9,-7.53506844299028e-5,-3.4137703834965904e-5,-9.617061902570326e-9,-7.520512620818642e-5,-3.4130887726558557e-5,-9.619389347609227e-9,-7.503635353608889e-5,-3.4187713250424024e-5,-9.624544759331411e-9,-7.482323554456231e-5,-3.4289930549698735e-5,-9.63216195796353e-9,-7.455284746952063e-5,-3.441408243113663e-5,-9.641484197830746e-9,-7.422104933606681e-5,-3.4534311144901265e-5,-9.651545196785234e-9,-7.383266982034839e-5,-3.4625139821498456e-5,-9.661340808730684e-9,-7.340115252227199e-5,-3.466447763315732e-5,-9.669951148188559e-9,-7.29472860281118e-5,-3.4636811794840895e-5,-9.676610258024069e-9,-7.249670181575391e-5,-3.453612755069931e-5,-9.680751536488109e-9,-7.207617225320659e-5,-3.436789907206864e-5,-9.682071150846721e-9,-7.170907254595313e-5,-3.414954611457939e-5,-9.680633872207702e-9,-7.141062395474628e-5,-3.39088790257861e-5,-9.676997430229804e-9,-7.118375946617258e-5,-3.3680346460547944e-5,-9.672282908069223e-9,-7.101650731517465e-5,-3.349931488623629e-5,-9.668098481187566e-9,-7.088172523947388e-5,-3.33948756399492e-5,-9.666247026220778e-9,-7.074007291564022e-5,-3.3381977619494795e-5,-9.668224096412342e-9,-7.054706001923604e-5,-3.345448175111133e-5,-9.674640120668145e-9,-7.026421186175586e-5,-3.358188659485631e-5,-9.68481262676929e-9,-6.987236648803186e-5,-3.371310919852034e-5,-9.69679586348801e-9,-6.938216497629712e-5,-3.3789366876241454e-5,-9.707962916374584e-9,-6.883511643281062e-5,-3.376368965928737e-5,-9.715940864866819e-9,-6.829161852117123e-5,-3.3618736578177726e-5,-9.719434092883315e-9,-6.781005922500603e-5,-3.337302815858778e-5,-9.718519685799377e-9,-6.742756648217968e-5,-3.307197650765509e-5,-9.714369050431293e-9,-6.715167109481134e-5,-3.276964162612763e-5,-9.70868572509175e-9,-6.696431540140377e-5,-3.251149483555875e-5,-9.703181489926008e-9,-6.683272014943683e-5,-3.23249804831107e-5,-9.699229967536756e-9,-6.672046595425307e-5,-3.221830593712131e-5,-9.69768646622021e-9,-6.659514882482948e-5,-3.218413792480631e-5,-9.69883261424372e-9,-6.643222102070501e-5,-3.2204715407059465e-5,-9.702422223220024e-9,-6.621623206383647e-5,-3.225639014403438e-5,-9.707811412099236e-9,-6.594084229704343e-5,-3.231307689206832e-5,-9.714134303646899e-9,-6.560847130759857e-5,-3.234892257240772e-5,-9.720473000120565e-9,-6.522984548096849e-5,-3.2340745725612146e-5,-9.725978398839142e-9,-6.482324202400488e-5,-3.227068092840828e-5,-9.72993539962299e-9,-6.441292964570893e-5,-3.212909927557402e-5,-9.731798587080863e-9,-6.402628163536215e-5,-3.1917364877182857e-5,-9.731239839313383e-9,-6.368937200887575e-5,-3.164953586182567e-5,-9.728232443086724e-9,-6.342148728367543e-5,-3.135192586641782e-5,-9.723155862069091e-9,-6.3229704409613e-5,-3.105968506127635e-5,-9.716864968224381e-9,-6.310518395759158e-5,-3.081035792541784e-5,-9.710646408580894e-9,-6.302274843342547e-5,-3.0635492967811876e-5,-9.706009068758345e-9,-6.294459210654977e-5,-3.055226083848084e-5,-9.704313675315504e-9,-6.282790628516361e-5,-3.0557342633427204e-5,-9.706329094269245e-9,-6.263513206345579e-5,-3.062513212686725e-5,-9.711875217337033e-9]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_9.json b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_9.json new file mode 100644 index 000000000..76c3a68e8 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/IAU2006_XYS/IAU2006_XYS_9.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":9000,"numberOfSamples":1000,"samples":[-6.23446137633139e-5,-3.071164556992463e-5,-9.719731332151204e-9,-6.19586809157847e-5,-3.076438157665265e-5,-9.727914890125598e-9,-6.150587794551883e-5,-3.073654937098242e-5,-9.734280833128142e-9,-6.1034943329782044e-5,-3.060168191808949e-5,-9.737216476929997e-9,-6.0601038606681665e-5,-3.036287029042388e-5,-9.736134809126074e-9,-6.024888746053323e-5,-3.0051869736974383e-5,-9.731565682588457e-9,-5.999994090928063e-5,-2.971789522758825e-5,-9.724862066857019e-9,-5.9848834314815545e-5,-2.9411354882677176e-5,-9.71770907732456e-9,-5.976923198886019e-5,-2.916989718887004e-5,-9.711648469978378e-9,-5.972462316432335e-5,-2.9011586735457638e-5,-9.707751149758674e-9,-5.967870819510338e-5,-2.8935387308633597e-5,-9.70647628370283e-9,-5.9602228253192676e-5,-2.89259970676844e-5,-9.707695687073557e-9,-5.947591112549622e-5,-2.8959747148304846e-5,-9.710838540242717e-9,-5.929077173354268e-5,-2.9009608654381066e-5,-9.715094525623705e-9,-5.904719567985657e-5,-2.9048773862964067e-5,-9.71960852884578e-9,-5.8753773367436014e-5,-2.9053136374370507e-5,-9.72361187781754e-9,-5.842624685184096e-5,-2.9003338061866847e-5,-9.726475623750488e-9,-5.8086360356536405e-5,-2.8886966009567993e-5,-9.727714468149827e-9,-5.776002754298137e-5,-2.870105742876016e-5,-9.726995392498005e-9,-5.74741651198525e-5,-2.845449366073143e-5,-9.72419549652686e-9,-5.725183467800746e-5,-2.8169256139263426e-5,-9.71951151762819e-9,-5.7106100541113594e-5,-2.7879041181757347e-5,-9.713564114276547e-9,-5.7034227249689176e-5,-2.7623923778951554e-5,-9.707405962417725e-9,-5.7014849044397024e-5,-2.744114170465607e-5,-9.702361282140308e-9,-5.701050918052841e-5,-2.735425399096375e-5,-9.699698830847758e-9,-5.697609718243167e-5,-2.7364576162975244e-5,-9.700232368303819e-9,-5.6871038817050416e-5,-2.7448633497066595e-5,-9.704002376450864e-9,-5.667116781282969e-5,-2.7563221973356075e-5,-9.710182005555758e-9,-5.637617678776307e-5,-2.765667320675218e-5,-9.717264987992663e-9,-5.601027591624169e-5,-2.7682736375781414e-5,-9.723480590272698e-9,-5.561600483675091e-5,-2.7612936285683867e-5,-9.727297528384073e-9,-5.524303937361784e-5,-2.7443956618506687e-5,-9.727850312943274e-9,-5.493513840003189e-5,-2.7197955922928915e-5,-9.725154651913568e-9,-5.471906725691787e-5,-2.6915691607899557e-5,-9.72005407261872e-9,-5.4598911019501836e-5,-2.6644703453075705e-5,-9.713934027115233e-9,-5.455730383150816e-5,-2.64266189741069e-5,-9.708311206523093e-9,-5.4562420129529145e-5,-2.6287768574123053e-5,-9.704433569738843e-9,-5.457752704343605e-5,-2.623553492658023e-5,-9.703008653848694e-9,-5.456957532646678e-5,-2.6260220049275858e-5,-9.704121931504624e-9,-5.451464446828428e-5,-2.6340246599419492e-5,-9.707335422027123e-9,-5.439995050230707e-5,-2.6448131932234545e-5,-9.711898924726039e-9,-5.422339633670513e-5,-2.6555532499365036e-5,-9.716981565914689e-9,-5.399194066121386e-5,-2.663678226094542e-5,-9.721842938139277e-9,-5.37197431734721e-5,-2.667116151947731e-5,-9.725902670942154e-9,-5.342650643560834e-5,-2.6644534881516494e-5,-9.728727486336505e-9,-5.313587618209729e-5,-2.655097739679037e-5,-9.729995225631237e-9,-5.287334596399925e-5,-2.639462790136861e-5,-9.72950469114869e-9,-5.266297173036476e-5,-2.619143036945524e-5,-9.727266597271218e-9,-5.252243553464907e-5,-2.596971389861331e-5,-9.723645863256587e-9,-5.245681707745194e-5,-2.5767877042401753e-5,-9.719459836489783e-9,-5.245295661436816e-5,-2.562748717562385e-5,-9.715914975816248e-9,-5.247784135201871e-5,-2.558182145120203e-5,-9.714321344765071e-9,-5.248433005910525e-5,-2.5643167778965002e-5,-9.71565414605581e-9,-5.242443255043768e-5,-2.5794981125069657e-5,-9.720157774265109e-9,-5.2265507859568556e-5,-2.599424952537427e-5,-9.727205074415084e-9,-5.200192042456586e-5,-2.6184413784918434e-5,-9.735490249337039e-9,-5.165673914621095e-5,-2.6313264574752945e-5,-9.743443035999223e-9,-5.127351919687404e-5,-2.6348054742647138e-5,-9.749667801257827e-9,-5.0902725125982576e-5,-2.6282713166082426e-5,-9.75326720347049e-9,-5.0588284184408174e-5,-2.6136491038281e-5,-9.754009356253531e-9,-5.0357993370069754e-5,-2.5946393683606597e-5,-9.752342082004198e-9,-5.0219232993974796e-5,-2.5756667981670227e-5,-9.749262933352734e-9,-5.015982106504244e-5,-2.5608303159542794e-5,-9.746061951023208e-9,-5.0152906269271166e-5,-2.5530759317958693e-5,-9.743991748123502e-9,-5.016424167598713e-5,-2.5537314473559887e-5,-9.743957229389409e-9,-5.015987799753719e-5,-2.5624510658344092e-5,-9.746324283706057e-9,-5.011244865581866e-5,-2.5775123374663638e-5,-9.750904754883811e-9,-5.000492623338741e-5,-2.596321755352963e-5,-9.757101352467545e-9,-4.9831698223674514e-5,-2.6159651038122543e-5,-9.764134932390347e-9,-4.959756293540752e-5,-2.6336794409959954e-5,-9.77125471218565e-9,-4.9315586018946434e-5,-2.6471880876366733e-5,-9.777857341227311e-9,-4.900467765247903e-5,-2.6549048296052148e-5,-9.78350042703132e-9,-4.868733505302663e-5,-2.6560573645593127e-5,-9.787854781108205e-9,-4.8387507995782974e-5,-2.6507830841147043e-5,-9.790671063781774e-9,-4.812820015775109e-5,-2.640221991296037e-5,-9.791823659827242e-9,-4.792822925558667e-5,-2.626586053182433e-5,-9.791440657019166e-9,-4.7797688235235664e-5,-2.6131146731513124e-5,-9.790058210807481e-9,-4.7732434736905576e-5,-2.603750245204811e-5,-9.788680030956192e-9,-4.770949127982192e-5,-2.602362103765612e-5,-9.788622629016349e-9,-4.768699088683465e-5,-2.6115132800391774e-5,-9.791115783371455e-9,-4.7612514838547504e-5,-2.6311416798164514e-5,-9.796791594098938e-9,-4.744004786748611e-5,-2.6579162837951064e-5,-9.805340798551625e-9,-4.714894275327642e-5,-2.68596183979786e-5,-9.81558384504337e-9,-4.675409408145582e-5,-2.7088789244523173e-5,-9.82593563524379e-9,-4.63007016373858e-5,-2.7220538865820394e-5,-9.834966162719081e-9,-4.584698755933853e-5,-2.7240537539346205e-5,-9.841756608580806e-9,-4.544489497457328e-5,-2.716612358051693e-5,-9.845989371386469e-9,-4.512720869220526e-5,-2.7035870592725035e-5,-9.847894204339548e-9,-4.490350340869352e-5,-2.6895966227287968e-5,-9.848150476851382e-9,-4.4762813526265216e-5,-2.6788619054627426e-5,-9.847749002642056e-9,-4.467974944751262e-5,-2.6744535726717833e-5,-9.847788854326644e-9,-4.4621551529998665e-5,-2.67793858092927e-5,-9.849227199555758e-9,-4.4554711427458415e-5,-2.6893402551401513e-5,-9.852654250504786e-9,-4.445048423814215e-5,-2.7073346152810357e-5,-9.858177344922723e-9,-4.428881976659844e-5,-2.7296183901073322e-5,-9.865455416384905e-9,-4.406041691263042e-5,-2.753370714423536e-5,-9.873857188997167e-9,-4.376691930956634e-5,-2.7757247847319554e-5,-9.882664459772306e-9,-4.3419538053046194e-5,-2.7941805347373132e-5,-9.891234414250543e-9,-4.303660454191013e-5,-2.8069095603610774e-5,-9.899069051818642e-9,-4.264069174434751e-5,-2.8129368229640377e-5,-9.90579879900749e-9,-4.2255769073996823e-5,-2.8122238695490774e-5,-9.911139409555858e-9,-4.1904486407320275e-5,-2.8056896725693683e-5,-9.914892497705433e-9,-4.160543814119917e-5,-2.7951878164291356e-5,-9.9170275201943e-9,-4.137010911506443e-5,-2.783431847991674e-5,-9.917825281106567e-9,-4.119921521788755e-5,-2.7738086497587085e-5,-9.917998408072091e-9,-4.107878264055179e-5,-2.769954625238172e-5,-9.91867215364473e-9,-4.097763615938715e-5,-2.7749689768273665e-5,-9.921139370467895e-9,-4.0849404904229084e-5,-2.7902797854934692e-5,-9.926407792259145e-9,-4.0642441010064514e-5,-2.8145057541786642e-5,-9.934713814169385e-9,-4.031787237599612e-5,-2.8430538779043658e-5,-9.945298702787681e-9,-3.9868810330146976e-5,-2.8691908882654146e-5,-9.9566665170196e-9,-3.932833565054289e-5,-2.8864961803409028e-5,-9.967212572062042e-9,-3.875854394725441e-5,-2.891437192128338e-5,-9.975808367109482e-9,-3.822616913640833e-5,-2.8845330760606945e-5,-9.98201180056612e-9,-3.777943806979286e-5,-2.869613572190929e-5,-9.98594693625295e-9,-3.743725664498184e-5,-2.8519754654329504e-5,-9.98810862349428e-9,-3.719134397363045e-5,-2.8366020937962917e-5,-9.989234069973608e-9,-3.701525587842487e-5,-2.8270836040562245e-5,-9.99020103086058e-9,-3.6874340673262915e-5,-2.8252557552493445E-05,-9.991881928374356e-9,-3.6733633947777075e-5,-2.831302992680173e-5,-9.994958846882884e-9,-3.656313374093195e-5,-2.844073037686516e-5,-9.999766501751608e-9,-3.634100881655143e-5,-2.8614561011922926e-5,-1.000623541918002e-8,-3.605533964519792e-5,-2.8807801587885512e-5,-1.0013957531492734e-8,-3.570465334841229e-5,-2.8992079074828512e-5,-1.0022338457116705e-8,-3.529734816247884e-5,-2.914116709250595e-5,-1.0030762046344616e-8,-3.485006993645185e-5,-2.92343805861204e-5,-1.0038702615702036e-8,-3.4385142229079815e-5,-2.9259238226273796e-5,-1.0045757091094494e-8,-3.3927359255493513e-5,-2.9213049460563632e-5,-1.0051621058011619e-8,-3.350058407226353e-5,-2.9103332940466208e-5,-1.0056066702504657e-8,-3.3124457063630464e-5,-2.8947189972084985e-5,-1.0058976990550987e-8,-3.2811366323358286e-5,-2.8769735723801098e-5,-1.0060445345746964e-8,-3.256375787328263e-5,-2.8601623226662544e-5,-1.0060897143616392e-8,-3.2371816097269846e-5,-2.8475488693954947e-5,-1.0061145174295647e-8,-3.221189052935458e-5,-2.842075314931494e-5,-1.0062287880142022e-8,-3.204694100578321e-5,-2.8456309260332803e-5,-1.0065415316236122e-8,-3.183109485034811e-5,-2.8581804503757855e-5,-1.007118993199182e-8,-3.152026648812525e-5,-2.877048997646703e-5,-1.0079484318373714e-8,-3.108835216793204e-5,-2.8969238348406404e-5,-1.0089312218910324e-8,-3.0542974461299724e-5,-2.911131486583659e-5,-1.0099182540644034e-8,-2.992994780628945e-5,-2.9140766616140142e-5,-1.0107715115987456e-8,-2.9319253695152042e-5,-2.9036541761832005e-5,-1.0114124886146775e-8,-2.877809393386789e-5,-2.8820960229194144e-5,-1.0118307228329601e-8,-2.8346852894650365e-5,-2.8547443251060635e-5,-1.0120625267983092e-8,-2.803055359693186e-5,-2.8277133796314353e-5,-1.0121677071264258e-8,-2.7805852942645365e-5,-2.8058810315545394e-5,-1.0122171969069935e-8,-2.7634885870697304e-5,-2.7919586021142028e-5,-1.0122851241518537e-8,-2.7477784344898564e-5,-2.7865136011979794e-5,-1.0124374041290903e-8,-2.73005681768325e-5,-2.788470342701019e-5,-1.0127178785398857e-8,-2.707876938176712e-5,-2.7957027015369363e-5,-1.0131386580299943e-8,-2.6798428484780897e-5,-2.8055381987984983e-5,-1.0136799525049531e-8,-2.6455880523470634e-5,-2.8151496961065997e-5,-1.0142993650083491e-8,-2.6056989964450905e-5,-2.8218751221123247e-5,-1.0149458252670142e-8,-2.5615936366383297e-5,-2.82350089513246e-5,-1.0155717100330529e-8,-2.5153423477268736e-5,-2.8185218808561722e-5,-1.0161389371918144e-8,-2.469410784372093e-5,-2.80636100261117e-5,-1.0166188348621973e-8,-2.426321414819864e-5,-2.787501653366006e-5,-1.0169893731105325e-8,-2.3882668480529245e-5,-2.763487038497263e-5,-1.01723489245492e-8,-2.3567286234310905e-5,-2.7367666919278267e-5,-1.017351616196784e-8,-2.332156842397692e-5,-2.7103905438103306e-5,-1.017357593949472e-8,-2.3137641969046203e-5,-2.6875705732266855e-5,-1.0173013410180529e-8,-2.299476051584912e-5,-2.6711500845227497E-05,-1.017261329344951e-8,-2.2860705750699917e-5,-2.663018704620786e-5,-1.0173308322342749e-8,-2.2695665047880168e-5,-2.663518611623227e-5,-1.017589092482202e-8,-2.2459337873909423e-5,-2.6709603552242226e-5,-1.0180685150351775e-8,-2.212140867809451e-5,-2.6814846177850375e-5,-1.0187337375833014e-8,-2.1673671732367735e-5,-2.6895869468464378e-5,-1.0194873028803975e-8,-2.1139047774474032e-5,-2.68952440266726e-5,-1.0202044877588625e-8,-2.0570501852735378e-5,-2.6773653165214853e-5,-1.0207808391111026e-8,-2.0035779945461135e-5,-2.6527596262472074e-5,-1.0211650200164242e-8,-1.95929968856085e-5,-2.6192859779762135e-5,-1.0213616507492086e-8,-1.9270119523824262e-5,-2.5830075681245798e-5,-1.021413380368983e-8,-1.905933904298975e-5,-2.5500927912146165e-5,-1.021381348729072e-8,-1.892657043021345e-5,-2.5248592103061754e-5,-1.0213321886218076e-8,-1.8827443033921196e-5,-2.5090146839981592e-5,-1.0213277816654462e-8,-1.8720869387209668e-5,-2.5019585350191788e-5,-1.0214142627298827e-8,-1.8576464284264876e-5,-2.5015668692887527e-5,-1.0216127260583814e-8,-1.8376611843414558e-5,-2.504980617624261e-5,-1.0219166169699748e-8,-1.8115567499788158e-5,-2.5091878000311348e-5,-1.022297593256864e-8,-1.77975879404375e-5,-2.511396168920078e-5,-1.0227169183059294e-8,-1.743505293856026e-5,-2.5092754555130803e-5,-1.0231368833090536e-8,-1.7046707371919865e-5,-2.5011456803880348e-5,-1.0235274298180084e-8,-1.6655740859370975e-5,-2.4861532084328557e-5,-1.023866489114029e-8,-1.6287282974612118e-5,-2.464432330060455e-5,-1.0241365206381334e-8,-1.596501252310151e-5,-2.4372025169081737e-5,-1.024321801882643e-8,-1.570702113141324e-5,-2.406725812436014e-5,-1.0244103967347291e-8,-1.552160951313559e-5,-2.376063009939192e-5,-1.0244017040254267e-8,-1.5404061827608693e-5,-2.3486101581026236e-5,-1.0243161489551215e-8,-1.5335535519959935e-5,-2.327460877469775e-5,-1.0242006517918706e-8,-1.5284891552236783e-5,-2.314712391361825e-5,-1.0241237021644048e-8,-1.5213603604440276e-5,-2.3108728191468194e-5,-1.0241580512137116e-8,-1.5083201808082548e-5,-2.3145172717351075e-5,-1.0243555303704379e-8,-1.4864218209902013e-5,-2.32231622645874e-5,-1.0247243960115732e-8,-1.4545036900022462e-5,-2.3295366098052616e-5,-1.0252208937023976e-8,-1.4138251105215157e-5,-2.3310524416851092e-5,-1.0257614027791928e-8,-1.368146422366092e-5,-2.322748601135849e-5,-1.0262512342819018e-8,-1.322989051622768e-5,-2.3029486169829173e-5,-1.0266164007946504e-8,-1.2840855736179594e-5,-2.2732545405069593e-5,-1.0268236392507776e-8,-1.2555169579427251e-5,-2.238231187733215e-5,-1.0268825150242116e-8,-1.2383914527037539e-5,-2.2038912589209548e-5,-1.0268347802691693e-8,-1.2307249887307113e-5,-2.1756613087809175e-5,-1.0267393640885903e-8,-1.2284812012886326e-5,-2.156813016555327e-5,-1.0266572608916944e-8,-1.2270971936084373e-5,-2.1479552451146128e-5,-1.0266376938115249e-8,-1.2227457536302338e-5,-2.1474911265539056e-5,-1.0267077590847187e-8,-1.2129749205895953e-5,-2.1525263563921737e-5,-1.0268689111523196e-8,-1.1967892292312714e-5,-2.1597450054922837e-5,-1.0271017429226725e-8,-1.174422548889918e-5,-2.166023896731968e-5,-1.0273764819876203e-8,-1.1470257655664928e-5,-2.1687790859828148e-5,-1.0276640831595281e-8,-1.1163872918540682e-5,-2.16613873970703e-5,-1.0279429528370393e-8,-1.0847087574647729e-5,-2.1570437594962387e-5,-1.0281991235380007e-8,-1.0544002989509588e-5,-2.141339145539365e-5,-1.0284216045362617e-8,-1.0278390240021108e-5,-2.1198652865103365e-5,-1.0285974464584003e-8,-1.0070447996162899e-5,-2.0945037086426453e-5,-1.028711043152021e-8,-9.932690801530476e-6,-2.068088652200719e-5,-1.028749799157689e-8,-9.86563644678306e-6,-2.0440844298465255e-5,-1.0287141168707594e-8,-9.854764583517574e-6,-2.0259766952748523e-5,-1.028626273479879e-8,-9.870619619233569e-6,-2.01644508838674e-5,-1.0285319481300823e-8,-9.8733786193769e-6,-2.0165339281957866e-5,-1.0284908068411034e-8,-9.821625784056985e-6,-2.0251252759600633e-5,-1.0285579389915266e-8,-9.683168074476673e-6,-2.0389683901633625e-5,-1.0287635145367275e-8,-9.444561568473699e-6,-2.053338593781372e-5,-1.0290997813059452e-8,-9.116224347150207e-6,-2.063177957102368e-5,-1.0295216467786993e-8,-8.731339354531077e-6,-2.0644132770129046e-5,-1.0299605534523448e-8,-8.338457137712565e-6,-2.055092931652111e-5,-1.030345694288755e-8,-7.98933323349338e-6,-2.0360097137701205e-5,-1.0306242488373733e-8,-7.72506620945875e-6,-2.0105711184980106e-5,-1.0307743277604975e-8,-7.564775484823967e-6,-1.983876173135379e-5,-1.0308080804889762e-8,-7.500921681843046e-6,-1.9612526930376168e-5,-1.0307656350511951e-8,-7.503139782780013e-6,-1.946768074753192e-5,-1.0307019062928134e-8,-7.528820005869814e-6,-1.9422601531502887e-5,-1.0306699910081859e-8,-7.535794278292598e-6,-1.947177763761887e-5,-1.0307063665786794e-8,-7.492269894596984e-6,-1.959128917115925e-5,-1.0308233957531626e-8,-7.381486721375345e-6,-1.974765598713154e-5,-1.0310113143840973e-8,-7.201498312177095e-6,-1.990624677978869e-5,-1.031247670749912e-8,-6.962107167616799e-6,-2.0037161470478344e-5,-1.031508699283958e-8,-6.680993863389137e-6,-2.011834907841151e-5,-1.0317770097194946e-8,-6.380273436048308e-6,-2.0136768138740442e-5,-1.032042648831648e-8,-6.0838277247680745e-6,-2.0088636779103125e-5,-1.0322983928965702e-8,-5.815108860030673e-6,-1.9979521669310532e-5,-1.0325335032912242e-8,-5.594817165694961e-6,-1.9824453315227466e-5,-1.0327309582072665e-8,-5.437930590768389e-6,-1.9647685779100526e-5,-1.0328712972235372e-8,-5.349939383493514e-6,-1.948122710398913e-5,-1.0329423078834094e-8,-5.3228826376455855e-6,-1.936095973346019e-5,-1.0329498903693821e-8,-5.332864110333339e-6,-1.9319532507723174e-5,-1.0329235310495402e-8,-5.341522628441661e-6,-1.9376734531154476e-5,-1.0329117209882681e-8,-5.303353476159965e-6,-1.953039383977173e-5,-1.0329676054612896e-8,-5.17823507516099e-6,-1.9752454282041895e-5,-1.0331308373795825e-8,-4.945019491343102e-6,-1.9993909540435985e-5,-1.0334140752283602e-8,-4.610138350751177e-6,-2.019829297048899e-5,-1.0337995748268947e-8,-4.206914461260477e-6,-2.0318725218684748e-5,-1.0342450652703292e-8,-3.7858145479968068e-6,-2.033162353691172e-5,-1.0346947057188743e-8,-3.3999204340748854e-6,-2.0242322080569558e-5,-1.0350921705190584e-8,-3.090978422107698e-6,-2.0081863583639396e-5,-1.035394277316305e-8,-2.879939472361453e-6,-1.9897267305424163e-5,-1.0355827001534681e-8,-2.7637461044958318e-6,-1.9738805558921248e-5,-1.035669501194934e-8,-2.7182918430026305e-6,-1.9647845328083208e-5,-1.0356930437472887e-8,-2.706078182001334e-6,-1.964815539595743e-5,-1.0357046501868146e-8,-2.6861280184476436e-6,-1.9742416449230415e-5,-1.035751449251452e-8,-2.623356484294166e-6,-1.9914165200530054e-5,-1.0358627867133187e-8,-2.495051690997066e-6,-2.0133848461016657e-5,-1.0360457505484327e-8,-2.2933525948354025e-6,-2.0366613404506264e-5,-1.0362901596694904e-8,-2.024101506874866e-6,-2.057945330065126e-5,-1.036578541391425e-8,-1.703438490176005e-6,-2.0746243231691587e-5,-1.0368950180661795e-8,-1.353670649395772e-6,-2.085034603832491e-5,-1.0372285844231933e-8,-9.995092065925437e-7,-2.0885306200609506e-5,-1.0375703780683756e-8,-6.650892091385618e-7,-2.085449651147433e-5,-1.0379079635308058e-8,-3.715968940342627e-7,-2.0770428531116953e-5,-1.0382217349452199e-8,-1.3503446063713592e-7,-2.065397945826239e-5,-1.0384871607393536e-8,3.635039213145238e-8,-2.053328258334241e-5,-1.0386834569506982e-8,1.451554926153161e-7,-2.0441523455916053e-5,-1.038805057918194e-8,2.0789280435282035e-7,-2.041250688557186e-5,-1.0388697272151172e-8,2.56355366977416e-7,-2.047315309918241e-5,-1.0389176849844525e-8,3.3464806040304173e-7,-2.0633626967615144e-5,-1.039000389350313e-8,4.896682666698106e-7,-2.0878520990299207e-5,-1.0391635630909641e-8,7.558554175414243e-7,-2.1164864508976094e-5,-1.0394332164603972e-8,1.1400137473200676e-6,-2.143168146622313e-5,-1.039811235383832e-8,1.6149011662753742e-6,-2.161972150492724e-5,-1.040278944838272e-8,2.1267889603254867e-6,-2.169252145724684e-5,-1.0408016370122865e-8,2.613791080986166e-6,-2.1648099623553002e-5,-1.0413314414030032e-8,3.0255611796536674e-6,-2.1516600834236966e-5,-1.0418136661790554e-8,3.335896657502066e-6,-2.1347475609993867e-5,-1.0422008383847894e-8,3.5455028334495375e-6,-2.1193595706788387e-5,-1.0424695027343131e-8,3.6771057866818085e-6,-2.1098205117584193e-5,-1.0426297045670991e-8,3.766730983759074e-6,-2.1087212163472165e-5,-1.0427207186394536e-8,3.8543118584060025e-6,-2.116678673670468e-5,-1.0427955059979016e-8,3.97556153049034e-6,-2.1325112935168602e-5,-1.0429021553114722e-8,4.156112148298531e-6,-2.1536968915716497e-5,-1.043071137120023e-8,4.4083884967787636e-6,-2.1769858276116903e-5,-1.0433124870667529e-8,4.731238299426264e-6,-2.199039967092715e-5,-1.0436213182297564e-8,5.111871251593329e-6,-2.216982148981789e-5,-1.0439862617282118e-8,5.5293180610449155e-6,-2.228781360239789e-5,-1.0443951826756803e-8,5.958483105439134e-6,-2.2334471279948907e-5,-1.0448355486385057e-8,6.3739591557127685e-6,-2.2310548005592115e-5,-1.0452908274701619e-8,6.753167656295747e-6,-2.2226596306971968e-5,-1.0457371227043073e-8,7.0788641774440105e-6,-2.2101555638768476e-5,-1.0461442256004719e-8,7.341270437022586e-6,-2.19610250197676e-5,-1.0464828194753588e-8,7.540107011405848e-6,-2.18351220744106e-5,-1.0467357564690674e-8,7.686656069240698e-6,-2.1755428418429816e-5,-1.0469080980364281e-8,7.805377469636384e-6,-2.175014455624397e-5,-1.047029980195859e-8,7.933563002743403e-6,-2.1836872868918745e-5,-1.0471493607166954e-8,8.116719413656968e-6,-2.2013889674084526e-5,-1.0473170238320335e-8,8.397782946960609e-6,-2.2253242470900754e-5,-1.0475713376965965e-8,8.801167458084262e-6,-2.2501424654771112e-5,-1.0479313312473675e-8,9.31809147430383e-6,-2.2692544610459407e-5,-1.0483994091602052e-8,9.903277804372193e-6,-2.2771894060168208e-5,-1.0489651043077342e-8,1.0488693236733184e-5,-2.2718401944810526e-5,-1.0496011071352977e-8,1.1008517592282977e-5,-2.2552507598399298e-5,-1.0502567400688094e-8,1.14214527653244e-5,-2.2325484053898436e-5,-1.0508639692043991e-8,1.1719729539192924e-5,-2.2098427892878435e-5,-1.051360321451119e-8,1.192434757606461e-5,-2.192293983959106e-5,-1.0517149141774825e-8,1.2073148493867486e-5,-2.1830348879371115e-5,-1.0519399549919799e-8,1.2208507379845121e-5,-2.1829582167914723e-5,-1.0520823108331641e-8,1.2368142087573956e-5,-2.1910517424363665e-5,-1.0522026852220468e-8,1.2579647860001937e-5,-2.204963465047748e-5,-1.0523548294514526e-8,1.2858046046948135e-5,-2.2216044306126058e-5,-1.052573427092128e-8,1.3205504635807662e-5,-2.2377097194277054e-5,-1.0528728383253077e-8,1.3612660353343853e-5,-2.2503232700248113e-5,-1.0532528837699294e-8,1.4061128311368573e-5,-2.257179941745656e-5,-1.053705767622001e-8,1.4526835423976653e-5,-2.2569659248670465e-5,-1.0542194374134102e-8,1.4983796312142356e-5,-2.2494425657141477e-5,-1.0547763574333112e-8,1.5407831934948618e-5,-2.2354282969079747e-5,-1.0553504640982075e-8,1.5779770461427512e-5,-2.2166624359187616e-5,-1.0559067684047334e-8,1.608797482690634e-5,-2.195590135189993e-5,-1.0564065337397685e-8,1.6330245854374478e-5,-2.1750905552668204e-5,-1.0568177866410433e-8,1.6515130621988764e-5,-2.1581513602797013e-5,-1.0571271898841906e-8,1.6662595891771928e-5,-2.1474755707688038e-5,-1.0573475716392125e-8,1.680367989659793e-5,-2.144982680559584e-5,-1.0575164031555221e-8,1.6977991855744892e-5,-2.15119081550659e-5,-1.0576851619497795e-8,1.7227451460833117e-5,-2.164590037929872e-5,-1.0579043607594197e-8,1.758528349482335e-5,-2.1813063305720084e-5,-1.0582122319913347e-8,1.8061786594786307e-5,-2.1955189701945334e-5,-1.058632473338257e-8,1.8632948981106676e-5,-2.200995658499017e-5,-1.0591773118012249e-8,1.9241195983456193e-5,-2.193466323120593e-5,-1.0598445172373046e-8,1.981317133003406e-5,-2.1726452282952587e-5,-1.0606040069575834e-8,2.0287448616256157e-5,-2.1425281858291863e-5,-1.061388459734303e-8,2.0636332778655594e-5,-2.109672690297479e-5,-1.0621077002227759e-8,2.087033260256244e-5,-2.0805852875933422e-5,-1.0626847060734854e-8,2.1026869693195923e-5,-2.0597119217422514e-5,-1.0630882019558624e-8,2.115329294074093e-5,-2.0487273010198692e-5,-1.0633405474768798e-8,2.129300028400665e-5,-2.0468775249628576e-5,-1.0635008899056331e-8,2.1477766769687902e-5,-2.0517857674518222e-5,-1.0636384654839218e-8,2.172530639983127e-5,-2.0602735888928814e-5,-1.0638109815842078e-8,2.203989369531137e-5,-2.0690072956350867e-5,-1.0640550610319622e-8,2.2414327228279076e-5,-2.0749586688981025e-5,-1.0643876480653403e-8,2.2832428864176618e-5,-2.075731437602081e-5,-1.0648123545462657e-8,2.327186373709147e-5,-2.06979052512023e-5,-1.065324691100052e-8,2.370725263408254e-5,-2.056607264478361e-5,-1.065912813728469e-8,2.4113571523498897e-5,-2.0367140342581537e-5,-1.0665546197757955e-8,2.4469666599175597e-5,-2.011644324456059e-5,-1.067215081453571e-8,2.4761457155718238e-5,-1.9837455761494462e-5,-1.0678483547801098e-8,2.4984396740016067e-5,-1.9558825643028435e-5,-1.0684064625935296e-8,2.5144939672969598e-5,-1.9310587473940774e-5,-1.0688525639022025e-8,2.5260818881569855e-5,-1.9119802585786575e-5,-1.06917361236997e-8,2.535994562171527e-5,-1.9005914717674657e-5,-1.069386581323808e-8,2.5477696466233576e-5,-1.897609088271257e-5,-1.0695349149176802e-8,2.5652094341733997e-5,-1.902096367210599e-5,-1.0696767956414568e-8,2.5916298087693046e-5,-1.9111975005796678e-5,-1.0698709732170148e-8,2.628859728374691e-5,-1.9202643001807574e-5,-1.0701666562329869e-8,2.6762094197675117e-5,-1.9236556751696734e-5,-1.0705996336353121e-8,2.729911355674748e-5,-1.9163344524585584e-5,-1.0711891767678148e-8,2.783684602254258e-5,-1.895885387153898e-5,-1.0719277613221644e-8,2.8306670586864564e-5,-1.8639334239086277e-5,-1.072766183557865e-8,2.8659855505782475e-5,-1.8258763113995928e-5,-1.073612159190717e-8,2.8885279659063856e-5,-1.7888184927921706e-5,-1.0743575505291491e-8,2.9009231738796605e-5,-1.7588764782654586e-5,-1.0749225136080199e-8,2.908000233439939e-5,-1.7393518711195572e-5,-1.0752864147570606e-8,2.914855079008243e-5,-1.7304111401313012e-5,-1.0754868997586099e-8,2.9254770735155143e-5,-1.7298721919266967e-5,-1.0755947029287413e-8,2.9421960148790195e-5,-1.73433769434448e-5,-1.0756840443938963e-8,2.9657262395368594e-5,-1.7401543433202763e-5,-1.075813349050785e-8,2.9954830790562838e-5,-1.7440335048629465e-5,-1.0760197584755174e-8,3.0299471035757358e-5,-1.7433879737981824e-5,-1.0763229561035464e-8,3.066988743140981e-5,-1.7365039408173015e-5,-1.0767308977273792e-8,3.104156445903691e-5,-1.7226340848682806e-5,-1.0772421289059723e-8,3.138958150404849e-5,-1.7020431608455362e-5,-1.0778433463519163e-8,3.169160978062888e-5,-1.67599800034654e-5,-1.0785050830896731e-8,3.193113385062856e-5,-1.6466649719056538e-5,-1.0791801522036606e-8,3.2100549457274216e-5,-1.6168735086317945e-5,-1.0798090040294278e-8,3.2203473041458363e-5,-1.5897357896149383e-5,-1.080332573716205e-8,3.225558795119785e-5,-1.568153341658853e-5,-1.0807089151843031e-8,3.2283527758016355e-5,-1.5542734995758057e-5,-1.0809272801144117e-8,3.232156973954858e-5,-1.548986537631878e-5,-1.0810136690642487e-8,3.24062788787755e-5,-1.551564386066977e-5,-1.0810253821627843E-08,3.256954672694955e-5,-1.5595319915829232e-5,-1.0810370807169095e-8,3.2830743045217534e-5,-1.5688646392023816e-5,-1.0811243374832355e-8,3.318930936264058e-5,-1.5746136030541182e-5,-1.0813499406816032e-8,3.362016828548337e-5,-1.572010074949781e-5,-1.0817540474292183e-8,3.4075238666891787e-5,-1.5579179787124913e-5,-1.0823450353064908e-8,3.449382518613816e-5,-1.532196370613026e-5,-1.0830892582439516e-8,3.482107455406541e-5,-1.498254328611866e-5,-1.0839063244369992e-8,3.502767239053273e-5,-1.4622079522363778e-5,-1.0846829814097262e-8,3.5120439857015004e-5,-1.4307820231652071e-5,-1.085309302508078e-8,3.51375862864246e-5,-1.4089687106817873e-5,-1.085719959088525e-8,3.513199200269295e-5,-1.3986345854532377e-5,-1.085914650566585e-8,3.51525500412995e-5,-1.3985560988209588e-5,-1.085947705163363e-8,3.523209339490654e-5,-1.4054646803086456e-5,-1.0858988747294016e-8,3.5384088933798624e-5,-1.4153334684894148e-5,-1.0858452300955869e-8,3.560538153213612e-5,-1.4243709791482467e-5,-1.0858457682387729e-8,3.5881218350812025e-5,-1.4295764431560704e-5,-1.0859389106431877e-8,3.619005612992247e-5,-1.4289538747822578e-5,-1.0861464399875234e-8,3.650727263331189e-5,-1.4215445163763979e-5,-1.0864770150441248e-8,3.680795793798622e-5,-1.4073968871802461e-5,-1.0869255064842456e-8,3.7069338849790505e-5,-1.3875233842953704e-5,-1.0874690311021376e-8,3.7273324238066565e-5,-1.3638322204225281e-5,-1.0880636211450608e-8,3.740935211446729e-5,-1.338984019635138e-5,-1.0886460859978193e-8,3.747723555199965e-5,-1.3161108246832657e-5,-1.0891439508632244e-8,3.748918890039127e-5,-1.2983612439641286e-5,-1.0894923864558378e-8,3.746992648426565e-5,-1.2882969889767162e-5,-1.0896531846094513e-8,3.745388166964016e-5,-1.2872486930655807e-5,-1.089628939077259e-8,3.7479301400060466e-5,-1.2948111531254483e-5,-1.089466332568615e-8,3.758006931596514e-5,-1.3086710784613064e-5,-1.0892467653005773e-8,3.7777099336497654e-5,-1.3248905734680901e-5,-1.0890674230236611e-8,3.807156828641263e-5,-1.3386503835473725e-5,-1.0890190192257392e-8,3.844207700891592e-5,-1.3453370708504295e-5,-1.0891659080748418e-8,3.8847217212184006e-5,-1.341755372714709e-5,-1.0895313751720727e-8,3.9234030267991595e-5,-1.3271607631699584e-5,-1.090089279363746e-8,3.955132226947631e-5,-1.3037539781839813e-5,-1.0907643242370493e-8,3.976462669241938e-5,-1.2763223288738137e-5,-1.0914452499003047e-8,3.9867493531828635e-5,-1.250952451713426e-5,-1.0920130006578416e-8,3.988372523989806e-5,-1.2331758085782543e-5,-1.0923768775661982e-8,3.9858740281902724e-5,-1.226291312067013e-5,-1.0925025267279314e-8,3.98438771345933e-5,-1.2305852412647015e-5,-1.0924174807119913e-8,3.988096864166715e-5,-1.2436775734862486e-5,-1.092193559817097e-8,3.9993234799773925e-5,-1.2616327199137168e-5,-1.0919186656117713e-8,4.0184029323987886e-5,-1.2802124998079611e-5,-1.0916728214422174e-8,4.0441034122307655e-5,-1.295806215039957e-5,-1.0915158387722742e-8,4.07423430323965e-5,-1.3059008181614689e-5,-1.0914851840032176e-8,4.106194258997215e-5,-1.309190696252388e-5,-1.0915982377055156e-8,4.137369026554492e-5,-1.305496471159586e-5,-1.0918538217819229e-8,4.165397699143815e-5,-1.295627528662622e-5,-1.0922312589289403e-8,4.188372567499801e-5,-1.281253335343146e-5,-1.0926886273075621e-8,4.205038798547874e-5,-1.2647779157268254e-5,-1.0931637253225023e-8,4.2150263329725885e-5,-1.2491600175957169e-5,-1.0935808929506866e-8,4.219089514943613e-5,-1.2376014975777942e-5,-1.0938645719799141e-8,4.219264556971658e-5,-1.2330443038611213e-5,-1.0939574041035733e-8,4.2187994684927e-5,-1.2374868917154073e-5,-1.0938381011529256e-8,4.221708942536862e-5,-1.251262722220375e-5,-1.0935330563847715e-8,4.2319148750577894e-5,-1.272563608677644e-5,-1.0931164753811414e-8,4.252146931834362e-5,-1.2975210570017808e-5,-1.0926967333923104e-8,4.282981205890698e-5,-1.3209939979367455e-5,-1.0923913734952636e-8,4.3224317253663856e-5,-1.3379021269503886e-5,-1.092296888156952e-8,4.3663191015489984e-5,-1.3446687017306154e-5,-1.0924616375420668e-8,4.40932553261884e-5,-1.3402692615521834e-5,-1.0928699864093918e-8,4.446391154055205e-5,-1.3265486287865059e-5,-1.0934436131087437e-8,4.4740262897078254e-5,-1.3077370375528966e-5,-1.0940609312170373e-8,4.491180449520049e-5,-1.2893262674070154e-5,-1.0945898968800855e-8,4.49944176700801e-5,-1.2766207079580588e-5,-1.0949239480507803e-8,4.502512200115446e-5,-1.273370298418019e-5,-1.0950092267772875e-8,4.505116850684658e-5,-1.2808910095088956e-5,-1.0948539845884595e-8,4.511705275984765e-5,-1.2979305349759284e-5,-1.0945188231944347e-8,4.5253768849291526e-5,-1.3212635289537497e-5,-1.0940942427650663e-8,4.547343858202198e-5,-1.3467274984818715e-5,-1.093675586758881e-8,4.576991139681106e-5,-1.370288962080165e-5,-1.0933437996680767e-8,4.6123562686564354e-5,-1.3888173614010929e-5,-1.0931552459312198e-8,4.6507586318521756e-5,-1.4004532581867268e-5,-1.0931388495325245e-8,4.689364295154041e-5,-1.404638935558007e-5,-1.0932970781736282e-8,4.725592017948633e-5,-1.401955872819049e-5,-1.0936077710211673e-8,4.7573669880768315e-5,-1.3939013934426217e-5,-1.0940262282537435e-8,4.783282623871706e-5,-1.3826794886489019e-5,-1.0944887017204275e-8,4.8027394648472436e-5,-1.3710116999369636e-5,-1.0949190756732851e-8,4.816102679731794e-5,-1.361918978051325e-5,-1.095239527820225e-8,4.824866180786038e-5,-1.3583965343721564e-5,-1.0953844774146032e-8,4.8317389669767263E-05,-1.3629077500997938e-5,-1.0953156144793383e-8,4.8404937665998705e-5,-1.3766894228811147e-5,-1.0950352515756894e-8,4.85539270343216e-5,-1.3990186698127629e-5,-1.094594628661613e-8,4.880120852726276e-5,-1.4267952993854126e-5,-1.0940929580088114e-8,4.9164604434804093e-5,-1.4548760923785778e-5,-1.0936627198037842e-8,4.963284107903462e-5,-1.4773613411439147e-5,-1.0934389782899522e-8,5.016508945338154e-5,-1.4894876338232566e-5,-1.0935178671721424e-8,5.070227547728938e-5,-1.4892932210451892e-5,-1.0939190020118924e-8,5.118560276541905e-5,-1.4782534477633037e-5,-1.0945713139716886e-8,5.157392379064546e-5,-1.4606625431828425e-5,-1.095332893238933e-8,5.185338963389235e-5,-1.4421810233716862e-5,-1.0960371481365232e-8,5.203770610741841e-5,-1.4282157086463557e-5,-1.0965440644733544e-8,5.216122418436789e-5,-1.422646572966351e-5,-1.0967760623641757e-8,5.226841451573015e-5,-1.4271353392898255e-5,-1.0967288706004566e-8,5.2402901302713924e-5,-1.4410350265664105e-5,-1.0964601820102489e-8,5.2598368352539667e-5,-1.4617978010402564e-5,-1.0960658830434025e-8,5.2872840342696726e-5,-1.4857176091440661e-5,-1.0956540629101209e-8,5.322704970841118e-5,-1.5088075305254894e-5,-1.0953236332976238e-8,5.364663492512684e-5,-1.5275993367745722e-5,-1.0951500603035131e-8,5.410696514106418e-5,-1.539698624027727e-5,-1.095178087382418e-8,5.457893133346143e-5,-1.5440298921740233e-5,-1.0954194761142424e-8,5.50342383558213e-5,-1.540806131983914e-5,-1.0958542424790509e-8,5.544932692850507e-5,-1.5313173657149106e-5,-1.096434545062792e-8,5.580777697902618e-5,-1.5176465955951547e-5,-1.0970910845978872e-8,5.610161114139606e-5,-1.502389729946295e-5,-1.0977420875607443e-8,5.633207828382777e-5,-1.4883981469539802e-5,-1.0983045974823884e-8,5.651030827952544e-5,-1.4785143953867945e-5,-1.0987069782932988e-8,5.6657843445042456E-05,-1.475241870537396e-5,-1.098900869828785e-8,5.68064043339674e-5,-1.480281230944594e-5,-1.0988713689162896e-8,5.6995445257911e-5,-1.493919710310919e-5,-1.0986451645489575e-8,5.726569833881333e-5,-1.5144085304198487e-5,-1.0982961665724738e-8,5.7647873217573626e-5,-1.537676462498628e-5,-1.097945336000276e-8,5.8148783022304093e-5,-1.5578618482013747e-5,-1.0977468969124607e-8,5.8741629395056166e-5,-1.5689303712884644e-5,-1.0978518978595156e-8,5.936880170599819e-5,-1.5669452550320848e-5,-1.0983516728908241e-8,5.995982222233368e-5,-1.5518212400740367e-5,-1.0992265385709335e-8,6.045655109961612e-5,-1.5274524989521094e-5,-1.100336461316192e-8,6.083213388443301e-5,-1.500128721893175e-5,-1.1014687824535179e-8,6.109517706905173e-5,-1.476232162248893e-5,-1.1024177858417426e-8,6.128078642644321e-5,-1.4603933293794295e-5,-1.1030515003487311e-8,6.14360565632286e-5,-1.4546623392676997e-5,-1.1033379525122147e-8,6.160676979381152e-5,-1.4585862441534919e-5,-1.1033325129027129e-8,6.182836446050053e-5,-1.4698115916188576e-5,-1.103144492460905e-8,6.212137962144658e-5,-1.4848716247797194e-5,-1.1029016395917635e-8,6.249043218855688e-5,-1.499957486442772e-5,-1.1027231651313366e-8,6.292575713367833e-5,-1.5115848315998846e-5,-1.1027035010884309e-8,6.340659244996193e-5,-1.5171078050374148e-5,-1.1029042575856415e-8,6.39057084276371e-5,-1.5150397168465046e-5,-1.1033511588368882e-8,6.439430170432664e-5,-1.5051632264841132e-5,-1.1040338007405747e-8,6.484651366485014e-5,-1.4884453987230887e-5,-1.1049078955669309e-8,6.524295871579131e-5,-1.4668006957840344e-5,-1.1059009733669053e-8,6.557293822920603e-5,-1.4427696477046931e-5,-1.106922243082436e-8,6.583546021894932e-5,-1.4191801641639522e-5,-1.1078757988711264e-8,6.603942429151922e-5,-1.3988227254888844e-5,-1.1086754263160646e-8,6.620324712438544e-5,-1.3841351539194972e-5,-1.1092584244638724e-8,6.635399675116738e-5,-1.376871069724712e-5,-1.1095960923446284e-8,6.652567539394843e-5,-1.377713360613599e-5,-1.1097002545640146e-8,6.675562941069513e-5,-1.3858317394900903e-5,-1.109626926494747e-8,6.707780774668518e-5,-1.3985038180359028e-5,-1.1094780789983727e-8,6.751241829499467e-5,-1.4110813964274978e-5,-1.1093985695546706e-8,6.805398404589733e-5,-1.4176969697956724e-5,-1.1095592658974113e-8,6.866384590550756e-5,-1.4129570457204582e-5,-1.1101140430408416e-8,6.927548828970987e-5,-1.3942193950697216e-5,-1.1111323602410547e-8,6.981586375490909e-5,-1.3632135932979031e-5,-1.1125409233657399e-8,7.023376113526364e-5,-1.3257268294156674e-5,-1.1141255562749935e-8,7.051856313032443e-5,-1.2893039413830864e-5,-1.1156102060587921e-8,7.06990864524921e-5,-1.2603544775620664e-5,-1.1167680283957444e-8,7.082667807448929e-5,-1.2422764469719474e-5,-1.1174960488599823e-8,7.095499623308146e-5,-1.2351727669469376e-5,-1.1178226969257668e-8,7.112590319904138e-5,-1.2366745927631601e-5,-1.1178667858819269e-8,7.136360199813396e-5,-1.2431038164156497e-5,-1.117783577309838e-8,7.167471562637514e-5,-1.2504825814492575e-5,-1.1177222677717251e-8,7.20513073116622e-5,-1.2552337068439892e-5,-1.1178022183958767e-8,7.247483939519828e-5,-1.2546082636510993e-5,-1.1181041603564716e-8,7.292025057925622e-5,-1.2469246626440453e-5,-1.1186692155499417e-8,7.335996924164086e-5,-1.2316707228409032e-5,-1.1195001134773114e-8,7.376777185043507e-5,-1.2094851223874839e-5,-1.1205627668886617e-8,7.41223204444516e-5,-1.1820215935622424e-5,-1.1217891224875756e-8,7.441008632046292e-5,-1.1516986111407657e-5,-1.1230839822596301e-8,7.462727595584035e-5,-1.121357421653002e-5,-1.1243374292470443e-8,7.478054238337684e-5,-1.0938760084437633e-5,-1.1254418929902535e-8,7.48865297826223e-5,-1.0717820966566956e-5,-1.1263107130437595e-8,7.497036903850236e-5,-1.0568904309436396e-5,-1.1268942299422062e-8,7.506321783824891e-5,-1.0499811842188604e-5,-1.1271900341615984e-8,7.519881869817697e-5,-1.0505257389349248e-5,-1.1272463646632064e-8,7.540869080999105e-5,-1.056479190521469e-5,-1.1271600290428743e-8,7.571546174872404e-5,-1.0642370424357846e-5,-1.1270700670162078e-8,7.61246291272292e-5,-1.0689513165947758e-5,-1.1271446895380041e-8,7.661678435223831e-5,-1.0654320433158899e-5,-1.1275546237460665e-8,7.71448147730922e-5,-1.0497201563490087e-5,-1.1284249952033519e-8,7.764205458950148e-5,-1.0209521680141907e-5,-1.1297711821998253e-8,7.804347387462571e-5,-9.824875614952504e-6,-1.1314530735816466e-8,7.831185681715099e-5,-9.411967862924406e-6,-1.133196933848187e-8,7.84533388443129e-5,-9.048847109690942e-6,-1.134696307423481e-8,7.851205357156255e-5,-8.792740654590127e-6,-1.1357361358067248e-8,7.854866512846068e-5,-8.662856311024963e-6,-1.1362623719687482e-8,7.861729582289454e-5,-8.642245361453145e-6,-1.1363680031735883e-8,7.875197622822127e-5,-8.691794929389404e-6,-1.1362277223349593e-8,7.896418283479847e-5,-8.765841602924702e-6,-1.1360297098831838e-8,7.924709191886245e-5,-8.823284793479496e-6,-1.1359315593534433e-8,7.95818503140842e-5,-8.833269852576455e-6,-1.1360426738010168e-8,7.994322616848324e-5,-8.777041367256928e-6,-1.1364233495034238e-8,8.030394161526125e-5,-8.647855079034407e-6,-1.1370898907447606e-8,8.063800618353983e-5,-8.450099063104403e-6,-1.13801913797548e-8,8.092351739561471e-5,-8.197986994855086e-6,-1.139151507594174e-8,8.114517708580553e-5,-7.913748681025796e-6,-1.1403947928868321e-8,8.129649091610874e-5,-7.625053643838189e-6,-1.1416325803923466e-8,8.13812925714093e-5,-7.361498470228608e-6,-1.1427396960663914e-8,8.141408671042445e-5,-7.150374877007221e-6,-1.143603391639288e-8,8.141887617018724e-5,-7.012246466696308e-6,-1.1441458496670813e-8,8.142639354204631e-5,-6.9569547070524565e-6,-1.1443423882852663e-8,8.146989071188947e-5,-6.980733178277085e-6,-1.1442305223764873e-8,8.157988588747373e-5,-7.0650386142183395e-6,-1.1439079612900346e-8,8.177834068751832e-5,-7.177494714956207e-6,-1.1435206339439226e-8,8.207274310460953e-5,-7.275416748518267e-6,-1.1432431508335396e-8,8.24510452990543e-5,-7.312655501458012e-6,-1.1432513684254343e-8,8.287939415777408e-5,-7.250137973215447e-6,-1.14368513607406e-8,8.330545375814392e-5,-7.068926237825051e-6,-1.1446018896562171e-8,8.366980628525399e-5,-6.781801504635946e-6,-1.1459328098698728e-8,8.392475651610919e-5,-6.436424280153653e-6,-1.147469615909485e-8,8.405365240588183e-5,-6.103856380286995e-6,-1.1489120917511639e-8,8.407948845031888e-5,-5.853970011362507e-6,-1.1499731792143241e-8,8.405583920133282e-5,-5.729599983451548e-6,-1.1504887252346792e-8,8.404479026302159e-5,-5.733734864168806e-6,-1.1504668019600196e-8,8.409487550610288e-5,-5.8348805222652595e-6,-1.1500567610929476e-8,8.422953279231353e-5,-5.983832090974439e-6,-1.1494726575699467e-8,8.44475135877195e-5,-6.130958240035688e-6,-1.1489203384318796e-8,8.473016954110671e-5,-6.237308506807428e-6,-1.1485549198160168e-8,8.504997460131159e-5,-6.278822698858891e-6,-1.1484684339034437e-8,8.537722202659041e-5,-6.24604350020151e-6,-1.1486947837148801e-8,8.56843216611937e-5,-6.141962433049987e-6,-1.149219497561945e-8,8.594839135529726e-5,-5.979584647913548e-6,-1.1499878642207251e-8,8.615303700245352e-5,-5.7797022876110846e-6,-1.1509108282661373e-8,8.628989016331793e-5,-5.568700527437504e-6,-1.1518717192858226e-8,8.636003840534361e-5,-5.3759285752394796e-6,-1.1527377565087991e-8,8.637502793286532e-5,-5.230188533993722e-6,-1.1533784620290696e-8,8.635675385529202e-5,-5.155286769746592e-6,-1.1536897415011626e-8,8.63355224875678e-5,-5.165182714998419e-6,-1.1536184302568082e-8,8.634591892159362e-5,-5.259775561616308e-6,-1.1531803962477889e-8,8.642073115040163e-5,-5.4226586174864975e-6,-1.152465872996433e-8,8.65839351077441e-5,-5.622046886179956e-6,-1.1516287597576716e-8,8.684430755827092e-5,-5.8153923203604484e-6,-1.1508609070013934e-8,8.719130249188195e-5,-5.95728092691672e-6,-1.1503558232602766e-8,8.759455242721197e-5,-6.009491974966764e-6,-1.150267039330855e-8,8.800800850055604e-5,-5.95147211987009e-6,-1.1506668360848453e-8,8.837913286366379e-5,-5.7886627769627485e-6,-1.1515138637633855e-8,8.866225574551908e-5,-5.555373933240397e-6,-1.1526431984484355e-8,8.883301404506053e-5,-5.309063543337344e-6,-1.1537937388838975e-8,8.889840023466499e-5,-5.115164449411993e-6,-1.1546777723907165e-8,8.889656623832367e-5,-5.026383401286591e-6,-1.1550737585091733e-8,8.888441107440784e-5,-5.065123260574208e-6,-1.154900893343037e-8,8.891787950494431e-5,-5.21765631045529e-6,-1.1542374452129857e-8,8.903443511633252e-5,-5.442337151279303e-6,-1.1532775965427147e-8,8.924516874443352e-5,-5.686194762207577e-6,-1.1522563607641413e-8,8.953744138069596e-5,-5.90108623252899e-6,-1.1513813593362013e-8,8.988360538093972e-5,-6.053558073616242e-6,-1.1507938669655695e-8,9.025045498071756e-5,-6.127657333921901e-6,-1.1505594789433005e-8,9.06062942791196e-5,-6.123105910016481e-6,-1.1506768232466762e-8,9.092503624012695e-5,-6.051676523403866e-6,-1.1510921388865986e-8,9.118813404710323e-5,-5.933591903961702e-6,-1.1517128603869335e-8,9.138545565664259e-5,-5.794575433039127e-6,-1.1524189430321015e-8,9.151591271894805e-5,-5.66334449111308e-6,-1.1530742462923101e-8,9.158811085003475e-5,-5.568946066028995e-6,-1.1535410442970295e-8,9.162072310193748e-5,-5.537335450390624e-6,-1.1536995250412474e-8,9.164182458652515e-5,-5.58694690455087e-6,-1.1534711584048976e-8,9.168620213239225e-5,-5.723696108466005e-6,-1.152841879943091e-8,9.178992959661302e-5,-5.936777568263604e-6,-1.1518779345972147e-8,9.198249027190544e-5,-6.197337314678204e-6,-1.1507263760530225e-8,9.227820821065515e-5,-6.461935833751877e-6,-1.1495944136778205e-8,9.266993147833276e-5,-6.6812950165578724e-6,-1.1487076652143873e-8,9.31278874804674e-5,-6.8125918600802576e-6,-1.1482550916430714e-8,9.360510332344588e-5,-6.831677883244499e-6,-1.1483350519634967e-8,9.404841563306238e-5,-6.741163582188049e-6,-1.1489195433374426e-8,9.441208477567966e-5,-6.57151688468949e-6,-1.1498505989231926e-8,9.467017588287623e-5,-6.374429642810231e-6,-1.1508741618074349e-8,9.482411049793587e-5,-6.20983930092064e-6,-1.1517053215341923e-8,9.490280063124226e-5,-6.12986333255191e-6,-1.1521069363394867e-8,9.49546446025167e-5,-6.164351503798526e-6,-1.1519561592846616e-8,9.503343971679581e-5,-6.312991752990002e-6,-1.1512751366586703e-8,9.518296893644879e-5,-6.546957614728857e-6,-1.1502154648514587e-8,9.54258618892581e-5,-6.819249442704191e-6,-1.1490053068776307e-8,9.576033063758811e-5,-7.079181183195936e-6,-1.147882172959562e-8,9.616458460450145e-5,-7.285251177458946e-6,-1.1470361003639736e-8,9.660557779129375e-5,-7.412533789784719e-6,-1.1465779950685564e-8,9.70480253349657e-5,-7.454061673847203e-6,-1.1465342600263835e-8,9.746107955264904e-5,-7.418094434670623e-6,-1.1468592015480105e-8,9.782204348641294e-5,-7.323724614127018e-6,-1.1474549309030842e-8,9.811778004559563e-5,-7.196576837891347e-6,-1.1481914889362466e-8,9.834488254743438e-5,-7.065336659585935e-6,-1.1489242896633806e-8,9.85094970832235e-5,-6.958985648334306e-6,-1.1495095179541215e-8,9.862717385640469e-5,-6.90413645241066e-6,-1.1498196338733799e-8,9.8722513616579e-5,-6.921815594705209e-6,-1.1497607920369037e-8,9.882784972662761e-5,-7.023345607949021e-6,-1.1492923262731212e-8,9.897986411696639e-5,-7.205665995436498e-6,-1.148446098537155e-8,9.921318771121227e-5,-7.447586546246423e-6,-1.1473395307025696e-8,9.955120060763667e-5,-7.709619295232465e-6,-1.146172404791077e-8,9.999642762624879e-5,-7.940035443749168e-6,-1.1451968869426325e-8,1.0052494732063333e-4,-8.087647613726074e-6,-1.1446579632065744e-8,1.0108913471724907e-4,-8.117933472199266e-6,-1.1447169892722494e-8,1.016297505105532e-4,-8.025879558080473e-6,-1.1453875399227287e-8,1.0209339869072522e-4,-7.839290063002508e-6,-1.1465163461608666e-8,1.0244827762320929e-4,-7.610760831100816e-6,-1.1478236898852096e-8,1.0269227243374284e-4,-7.4019405703705335e-6,-1.1489879553959839e-8,1.0285149371859283e-4,-7.266368505272329e-6,-1.1497391887392736e-8,1.0297118136782965e-4,-7.236336161787715e-6,-1.1499280042755185e-8,1.0310270675950262e-4,-7.316726316035047e-6,-1.1495523318503002e-8,1.0329056362595021e-4,-7.486349598341804e-6,-1.148742159707798e-8,1.0356255453322497e-4,-7.705430672579288e-6,-1.1477144225777614e-8,1.0392519544575366e-4,-7.926623660176716e-6,-1.1467147125266295e-8,1.0436481553339658e-4,-8.106347722194308e-6,-1.1459615835618466e-8,1.048532139215313e-4,-8.213492770649762e-6,-1.1456056721422704e-8,1.0535556460250918e-4,-8.23373787288498e-6,-1.1457100913129077e-8,1.0583805546501133e-4,-8.169439622731186e-6,-1.1462518463608636e-8,1.0627352735391126e-4,-8.036400609196678e-6,-1.1471385560392026e-8,1.066445607363988e-4,-7.859266130393587e-6,-1.1482325768957206e-8,1.0694441306334356e-4,-7.666977342055716e-6,-1.1493758257334187e-8,1.0717666268625118e-4,-7.489017281889044e-6,-1.1504111986789331e-8,1.0735435490295485e-4,-7.35244966639261e-6,-1.1511999323604564e-8,1.0749903983642938e-4,-7.2792806829164845e-6,-1.1516363131548234e-8,1.0763957831135115e-4,-7.283580274524651e-6,-1.151661702847303e-8,1.0781007680501017e-4,-7.368012685883945e-6,-1.1512793302970118e-8,1.0804590054700001e-4,-7.520061810504988e-6,-1.1505692043057436e-8,1.0837680611466255e-4,-7.709425069854278e-6,-1.1496977420176755e-8,1.0881740161785823e-4,-7.889347522041987e-6,-1.1489103221812277e-8,1.0935759791410143e-4,-8.004876957400208e-6,-1.1484917776821892e-8,1.099584343313986e-4,-8.008601428695032e-6,-1.1486882532745956e-8,1.1055881062444225e-4,-7.879155597116695e-6,-1.1496092004950944e-8,1.1109371258594231e-4,-7.633039843956237e-6,-1.1511581608136922E-08,1.1151663459051103e-4,-7.321605202687162e-6,-1.1530431309502565e-8,1.1181492903404441e-4,-7.013454241810893e-6,-1.1548741122352925e-8,1.1201106022014476e-4,-6.771340174468865e-6,-1.1562985724005811e-8,1.1215140197415839e-4,-6.634405209780007e-6,-1.1571068149846324e-8,1.1228984212495073e-4,-6.611278102413541e-6,-1.1572697123814852e-8,1.1247315925664164e-4,-6.6831267112462406e-6,-1.1569144942454731e-8,1.127316993096942e-4,-6.812598750203812e-6,-1.156266778319374e-8,1.1307579932787652e-4,-6.954602663343077e-6,-1.1555859496188551e-8,1.1349688400417341e-4,-7.066217820959545e-6,-1.1551101049908461e-8,1.139717903089487e-4,-7.114299397794903e-6,-1.1550167056351804e-8,1.1446891416054345e-4,-7.080077937874377e-6,-1.1554002562827165e-8,1.149548174283551e-4,-6.960537575809596e-6,-1.1562667346861427e-8,1.1540007923220339e-4,-6.766933444370123e-6,-1.1575426285469924e-8,1.1578354861211906e-4,-6.521295786051894e-6,-1.1590947546989276e-8,1.1609463410885247e-4,-6.2519478086589645e-6,-1.160756007562344e-8,1.1633376296363593e-4,-5.989012039941205e-6,-1.1623518348194946e-8,1.1651156393922294e-4,-5.760573051355079e-6,-1.1637234212047214e-8,1.1664740182339614e-4,-5.589622358594828e-6,-1.1647459659802337e-8,1.1676759334021895e-4,-5.4915067272458905e-6,-1.1653428976732367e-8,1.1690326783015823e-4,-5.471531648050538e-6,-1.1654974611229112e-8,1.1708746557034123e-4,-5.5225030012895636e-6,-1.1652632718742514e-8,1.1735068033667883e-4,-5.622479874781477e-6,-1.1647735276380047e-8,1.1771412944112854e-4,-5.734062550996382e-6,-1.1642435438662262e-8,1.1818113725851937e-4,-5.8076621481172495e-6,-1.163954187668793e-8,1.1872926880585935e-4,-5.791344442245663e-6,-1.1642004245374285e-8,1.1930855430309953e-4,-5.647553044674574e-6,-1.1651984086518556e-8,1.1985155215788543e-4,-5.371443175151925e-6,-1.1669760410394222e-8,1.2029547121095116e-4,-4.99995084485974e-6,-1.1693115291372944e-8,1.2060678781026997e-4,-4.6024408688642385e-6,-1.1717833613867049e-8,1.2079400904598451e-4,-4.255199093046226e-6,-1.173926368756903e-8,1.2090126966665237e-4,-4.0137842781003e-6,-1.1754062382778059e-8,1.2098843584166365e-4,-3.897678566972292e-6,-1.176115704922468e-8,1.2111008984554611e-4,-3.891400665164609e-6,-1.1761637208694449e-8,1.213022496940009e-4,-3.95630760713687e-6,-1.1757971241563372e-8,1.2157839399120963e-4,-4.044896229076136e-6,-1.1753097167220337e-8,1.2193195516922581e-4,-4.112420305157807e-6,-1.1749718015863004e-8,1.2234182152848596e-4,-4.124267718560327e-6,-1.174987984666976e-8,1.227785275255919e-4,-4.059624660286843e-6,-1.1754780294877045e-8,1.2321007408265877e-4,-3.9124489345179326e-6,-1.1764728817057517e-8,1.2360698042256985e-4,-3.6904598768444323e-6,-1.1779212189448352e-8,1.2394631226203136e-4,-3.4126109266878824e-6,-1.1797041115608418e-8,1.242144823774108e-4,-3.1055077065965403e-6,-1.1816559520484416e-8,1.2440867826661164e-4,-2.799226073876711e-6,-1.1835897138338729e-8,1.2453685337986063e-4,-2.523031477587932e-6,-1.1853238148010125e-8,1.2461646512564885e-4,-2.301547896694e-6,-1.186706784611472e-8,1.2467235994619418e-4,-2.1516861724259745e-6,-1.1876371614580685e-8,1.2473410454800834e-4,-2.0803083645591164e-6,-1.1880779589050701e-8,1.2483283115915695e-4,-2.0825349597226646e-6,-1.1880660082478308e-8,1.2499748069359724e-4,-2.14069314709482e-6,-1.1877165836353078e-8,1.2525010295091812e-4,-2.2241823656063393e-6,-1.1872226457607199e-8,1.2559995192754653e-4,-2.2912602137460035e-6,-1.1868437590207958e-8,1.2603705811992328e-4,-2.2945068883105327e-6,-1.1868742828901586e-8,1.2652772420829495e-4,-2.191539426597471e-6,-1.1875794007561012e-8,1.2701630641300356e-4,-1.9604423994929207e-6,-1.1890987874401511e-8,1.2743771444703272e-4,-1.6147035257241735e-6,-1.1913481241468902e-8,1.2774003479321577e-4,-1.2075860053489198e-6,-1.1939854087612531e-8,1.2790733523272295e-4,-8.17705683285339e-7,-1.1965019553764724e-8,1.279679628288094e-4,-5.194673008425952e-7,-1.1984174542305361e-8,1.279816584662349e-4,-3.5470155045429583e-7,-1.1994671485721905e-8,1.280138942373341e-4,-3.2155917529888203e-7,-1.1996712018024326e-8,1.2811314916667707e-4,-3.832848611376374e-7,-1.1992721904466058e-8,1.2830082617175774e-4,-4.869902782138533e-7,-1.198611016092719e-8,1.2857305116365837e-4,-5.810461096132203e-7,-1.1980164163535222E-08,1.289084172136336e-4,-6.257202090277428e-7,-1.197740043466469e-8,1.2927653296285668e-4,-5.972525154990381e-7,-1.1979329944634138e-8,1.2964491995966202e-4,-4.877474608997493e-7,-1.1986472365228349e-8,1.2998387075651414e-4,-3.031311612369654e-7,-1.1998477370081351e-8,1.3026979244258862e-4,-6.038288953220458e-8,-1.2014282732417834e-8,1.3048752957989842e-4,2.1562191863560383e-7,-1.2032296857404085e-8,1.3063183983413705e-4,4.956069602951913e-7,-1.2050612633462722e-8,1.3070798712429174e-4,7.49696777087375e-7,-1.2067254493324593e-8,1.3073127127371782e-4,9.513984761652111e-7,-1.2080450782354818e-8,1.3072533232997706e-4,1.0813761032640532e-6,-1.2088898078971734e-8,1.3071932425519906e-4,1.1305045965556356e-6,-1.2091976791290884e-8,1.3074424349902703e-4,1.1018477731859764e-6,-1.2089887050399828e-8,1.3082870101893535e-4,1.0113362985932872e-6,-1.2083690937629776e-8,1.3099441618179766e-4,8.869501908669666e-7,-1.2075251931326807e-8,1.3125168068481923e-4,7.662116754938402e-7,-1.2067066918911372e-8,1.3159510738595574e-4,6.915586905267705e-7,-1.2061965515433264e-8,1.3200056820097142e-4,7.028841658829567e-7,-1.2062624571151364e-8,1.3242528918228636e-4,8.270198550287169e-7,-1.2070869118686841e-8,1.3281385380364976e-4,1.0657937989025924e-6,-1.2086852795495238e-8,1.3311208615874337e-4,1.3873940278361398e-6,-1.2108442324416934e-8,1.3328674475046086e-4,1.728378788589479e-6,-1.2131335420364398e-8,1.333423026531807e-4,2.011359960326922e-6,-1.2150284217646462e-8,1.333230859574093e-4,2.173641367897251e-6,-1.2161076558038903e-8,1.3329628509418603e-4,2.1916886718834704e-6,-1.2162183678561086e-8,1.3332488742110422e-4,2.0869799011873835e-6,-1.2155091872515184e-8,1.3344631607287334e-4,1.9118834458728775e-6,-1.214330168860428e-8,1.3366614959370036e-4,1.7270017762180142e-6,-1.213081977253317e-8,1.339647660819936e-4,1.5827822630531564e-6,-1.2120978054806648e-8,1.3430900171919165e-4,1.5107505188582636e-6,-1.2115885232530696e-8,1.346625507586368e-4,1.5227555156633589e-6,-1.2116379839448163e-8,1.3499278908367805e-4,1.6143357752029857e-6,-1.2122232655650623e-8,1.352743630890875e-4,1.7691319425712106e-6,-1.2132411706736463e-8,1.3549082147805045e-4,1.9628976716705375e-6,-1.214532559179744e-8,1.3563536205606977e-4,2.1669414090184472e-6,-1.2159041601093816e-8,1.3571114539193986e-4,2.3513531864422336e-6,-1.2171504657912729e-8,1.3573115122892719e-4,2.488365757099318e-6,-1.218077928907646e-8,1.3571726302195615e-4,2.555989521491244e-6,-1.2185316078541546e-8,1.3569814446294577e-4,2.5416602671032738e-6,-1.2184217684665625e-8,1.3570568585111713e-4,2.4452206623935392e-6,-1.2177449976565543e-8,1.3577024230789847e-4,2.280427964073108e-6,-1.216594442676682e-8,1.3591527737192273e-4,2.0743135607314645e-6,-1.2151550454018783e-8,1.361522991152803e-4,1.8640121265254014e-6,-1.213681987513195e-8,1.3647708727637718e-4,1.6911483786144465e-6,-1.2124630980449703e-8,1.3686810998498884e-4,1.5943000966245994e-6,-1.211767957644585e-8,1.3728794824521178e-4,1.6002951590033876e-6,-1.2117875538135754e-8,1.376885995265603e-4,1.715563961241601e-6,-1.2125719871977474e-8,1.380212492054774e-4,1.9198116421548985e-6,-1.2139827416802713e-8,1.3824979653251647e-4,2.16545754172393e-6,-1.2156862702966804e-8,1.3836476748777283e-4,2.3863798766054845e-6,-1.2172165361997345e-8,1.3839118089512586e-4,2.516681597723158e-6,-1.2181109204786456e-8,1.383836958661086e-4,2.5139173425388923e-6,-1.2180756018019766e-8,1.3840809682379775e-4,2.3754960365028225e-6,-1.2170971847677191e-8,1.3851731397930713e-4,2.1385549249810985e-6,-1.2154358737266609e-8,1.387345180742526e-4,1.8635150257748393e-6,-1.2135089041809021e-8,0.00013905061657867654,1.6115027181214983e-6,-1.21173713319074e-8,1.3943376606727773e-4,1.4271981388203693e-6,-1.2104305360794658e-8,1.3984300364040437e-4,1.3321511005655048e-6,-1.2097427842395805e-8,1.4023941764179271e-4,1.3266107575433846e-6,-1.2096814698533307e-8,1.4059252722173118e-4,1.3952876797859035e-6,-1.2101447432625885e-8,1.4088264636512158e-4,1.5134604515907064e-6,-1.2109616882522158e-8,1.4110100645417162e-4,1.651840139911393e-6,-1.211925900245617e-8,1.4124909369002032e-4,1.780117071596497e-6,-1.212821380203447e-8,1.41337902381737e-4,1.8698047521882043e-6,-1.2134441476175163e-8,1.413871243968482e-4,1.897057213198281e-6,-1.2136236886680415e-8,1.4142383018431504e-4,1.845841427761066e-6,-1.2132461012287831e-8,1.4147997719204125e-4,1.7113175489430788e-6,-1.2122777537746821e-8,1.4158823504138685e-4,1.502646517645388e-6,-1.2107840476713205e-8,1.4177619737628733e-4,1.2439767012537168e-6,-1.2089354094720186e-8,1.420599003828967e-4,9.723315462248096e-7,-1.206992596215161e-8,1.4243837480090518e-4,7.317359454874271e-7,-1.205266945550483e-8,1.428912639706557e-4,5.641719353741576e-7,-1.2040586686537376e-8,1.4338097885540922e-4,4.993306811954009e-7,-1.2035847099509482e-8,1.4385960277296563e-4,5.458783176763343e-7,-1.2039139663143369e-8,1.4427940471458366e-4,6.868122641353136e-7,-1.2049291370737595e-8,1.4460478846783334e-4,8.807411239238364e-7,-1.2063317321420302e-8,1.4482281559751307e-4,1.069839105541091e-6,-1.2076991054963683e-8,0.00014494904837242869,1.1937309248725323e-6,-1.2085887289049307e-8,1.4502568900064648e-4,1.2064426101944527e-6,-1.208665562177113e-8,1.4511070047506638e-4,1.0911379333922037e-6,-1.2078100163221958e-8,1.4526028585175462e-4,8.663198283372468e-7,-1.2061600256805915e-8,1.4551122674497707e-4,5.797058648325919e-7,-1.204063541031233e-8,1.45870714182893e-4,2.919007977922922e-7,-1.2019605889673682e-8,1.4631756661427476e-4,5.7383281304037876e-8,-1.2002481688680475e-8,1.4681257082234934e-4,-8.908235910099019e-8,-1.199182771411262e-8,1.4731178048653533e-4,-1.3681974382092278e-7,-1.1988462719314775e-8,1.4777718123388823e-4,-9.589928020150776e-8,-1.1991666707489123e-8,1.4818241807458256e-4,9.827970495226143e-9,-1.1999669866292774e-8,1.4851424057603252e-4,1.4975826284681487e-7,-1.2010174857616424e-8,1.4877150780700368e-4,2.9190903564939884e-7,-1.2020776035974408e-8,1.4896338718739874e-4,4.064988238931833e-7,-1.2029249027716422e-8,1.491076446423247e-4,4.6841038637613003e-7,-1.2033745868534184e-8,1.4922916257107874e-4,4.5938546572257956e-7,-1.2032953779941988e-8,1.493582247095228e-4,3.705242197180493e-7,-1.2026262139108474e-8,1.4952777954767635e-4,2.051005400277564e-7,-1.2013946805018194e-8,1.4976894050346446e-4,-1.904479417246828e-8,-1.19973299130609e-8,1.5010454947427974e-4,-2.6906541765304796e-7,-1.1978814248321542e-8,1.5054183504320976e-4,-5.005400438808663e-7,-1.1961656886072548e-8,1.510667193509588e-4,-6.659267765992611e-7,-1.1949384554955782e-8,1.5164312623254563e-4,-7.269820831206918e-7,-1.1944897119523432e-8,1.5221953156980696e-4,-6.673181911368249e-7,-1.1949511382214759e-8,1.5274192731700445e-4,-4.998737686083151e-7,-1.1962335916114308e-8,1.5316902981055573e-4,-2.655106490847173e-7,-1.198030645635063e-8,1.5348421088217352e-4,-2.266891378647792e-8,-1.1998944827432675e-8,1.537000877768807e-4,1.6834438575237464e-7,-1.2013585861232607e-8,1.538547110431581e-4,2.613132906223005e-7,-1.2020649305678164e-8,1.5400096519828458e-4,2.3581112219275996e-7,-1.2018566303697278e-8,1.5419235863208593e-4,1.0173672189554832e-7,-1.2008120314198619e-8,1.5446908544374386e-4,-1.043344103221339e-7,-1.1992147545698048e-8,1.548482390991489e-4,-3.2985719788034745e-7,-1.1974709621771796e-8,1.5532098094650596e-4,-5.207662508907146e-7,-1.1959996690102956e-8,1.5585716932915963e-4,-6.350241871756243e-7,-1.1951293605787887e-8,1.5641522266013897e-4,-6.511187991959759e-7,-1.1950307300835039e-8,1.569532769257661e-4,-5.697016549164902e-7,-1.1957005001839564e-8,1.5743798528095797e-4,-4.09469379855435e-7,-1.1969906863521253e-8,1.5784917981561064e-4,-2.0015710169451744e-7,-1.1986632887038163e-8,1.5818066995231428e-4,2.4528128874972442e-8,-1.2004482272335572e-8,1.584385964221662e-4,2.3238212408654543e-7,-1.2020894960770384e-8,1.5863886107822444e-4,3.9624199560292434e-7,-1.2033748244121223e-8,1.588046247824748e-4,4.961257588820515e-7,-1.2041519855910776e-8,1.5896414577085214e-4,5.208075434900433e-7,-1.2043387212766305e-8,1.5914861628490783e-4,4.6946391491526275e-7,-1.2039325589190074e-8,1.5938926955830503e-4,3.53541008361074e-7,-1.2030232908600866e-8,1.5971294009466412e-4,1.982741610365036e-7,-1.2018050074089633e-8,1.601357000258253e-4,4.2346553631336995e-8,-1.2005764507559371e-8,1.6065547610377416e-4,-6.653262914643824e-8,-1.199711354071502e-8,1.6124655500583345e-4,-8.178371801242496e-8,-1.1995829366236498e-8,1.618604147678731e-4,2.7237558855628032e-8,-1.200446695222325e-8,1.624361983654284e-4,2.6113543526894443e-7,-1.2023214939678597e-8,1.6291924082183584e-4,5.850389636777833e-7,-1.2049358081100115e-8,1.6328002909722807e-4,9.37029053897171e-7,-1.2077889657121621e-8,1.6352419934365228e-4,1.2479123374621913e-6,-1.2103126439366304e-8,1.6368904604779273e-4,1.4631281062483648e-6,-1.2120552485357369e-8,1.6382956183236765e-4,1.557395384432055e-6,-1.2128060940280816e-8,1.6400122926582002e-4,1.5381144862877748e-6,-1.2126239058948575e-8,1.6424588726093894e-4,1.439208355081074e-6,-1.2117853915445577e-8,1.6458370748174056e-4,1.3096328102448778e-6,-1.2106913755361764e-8,1.6501154402339606e-4,1.200644338827852e-6,-1.2097641160415495e-8,1.6550648589063686e-4,1.1547586852730628e-6,-1.2093577694547275e-8,1.6603290776267415e-4,1.198176070928625e-6,-1.209694831318382e-8,1.665511035023388e-4,1.3375614745420673e-6,-1.2108362039271342e-8,1.6702550418416318e-4,1.5612138983333382e-6,-1.2126873437650308e-8,1.674307780932752e-4,1.8436692523999273e-6,-1.2150349328123835e-8,1.677549195800197e-4,2.152050182706575e-6,-1.2176009110305286e-8,1.6799940801179606e-4,2.4524165413076667e-6,-1.2200981766056503e-8,1.6817724583540448e-4,2.7148658232038214e-6,-1.2222754118217347e-8,1.683099873280913e-4,2.9168866968960664e-6,-1.2239454785978735e-8,1.6842467146592558e-4,3.0452180407235236e-6,-1.224999322944638e-8,1.6855102695086848e-4,3.0968539557096263e-6,-1.2254119042353992e-8,1.6871880126855085e-4,3.079744230574199e-6,-1.2252464324778996e-8,1.6895472067160068e-4,3.0133940896606534e-6,-1.2246598903420829e-8,1.6927840464195295e-4,2.9289893043908684e-6,-1.2239070910506032e-8,1.6969685867088022e-4,2.8677904600524987e-6,-1.2233319274918822e-8,1.7019831718506845e-4,2.875824828445984e-6,-1.2233272151029017e-8,1.7074810284391787e-4,2.993272269193482e-6,-1.224246480019927e-8,1.7129098425295404e-4,3.2394101336393448e-6,-1.2262719249205929e-8,1.7176398102373194e-4,3.5987654038797006e-6,-1.2292867630372567e-8,1.7211809981800891e-4,4.018086806079489e-6,-1.2328398800877828e-8,1.723391427347796e-4,4.420818917734477e-6,-1.2362681188303285e-8,1.7245473153053103e-4,4.734662467285292e-6,-1.2389396409868513e-8,1.7252252726735316e-4,4.917578549027333e-6,-1.2404843785782865e-8,1.726071540897258e-4,4.968749604148368e-6,-1.2408893192054333e-8,1.727589046978858e-4,4.9221724964740185e-6,-1.2404411962237101e-8,1.7300260344177033e-4,4.83048076677902e-6,-1.2395876284086118e-8,1.7333699122422784e-4,4.748210739532242e-6,-1.2387966354953343e-8,1.7374060169450008e-4,4.719717242328655e-6,-1.2384556320964524e-8,1.7417998643729247e-4,4.77276442662093e-6,-1.2388155529251713e-8,1.7461775716833916e-4,4.916710446013261e-6,-1.2399710045232228e-8,1.7501937203030822e-4,5.1438468128633355e-6,-1.24186647572412e-8,1.7535828951289732e-4,5.432860035887848e-6,-1.2443225854658522e-8,1.756192629618798e-4,5.753664444472852e-6,-1.247077258016822e-8,1.7579965373443565e-4,6.07283129609336e-6,-1.249834752183416e-8,1.7590884946030766e-4,6.358829228718526e-6,-1.2523139875377372e-8,1.759661130968674e-4,6.586381943570775e-6,-1.2542883039875933e-8,1.759974500115724e-4,6.739459298134962e-6,-1.2556116611078232e-8,1.760321637278397e-4,6.812845618154416e-6,-1.2562313354106072e-8,1.7609950601134763e-4,6.812603660833107e-6,-1.2561914546371991e-8,1.7622548831381987e-4,6.755770295736606e-6,-1.2556315384687489e-8,1.7642970412317874e-4,6.669448359319251e-6,-1.2547819558221092e-8,1.7672181959903853e-4,6.589129298634931e-6,-1.2539538164845853e-8,1.7709754531837021e-4,6.555409184978373e-6,-1.253513882005936e-8,1.7753484841258758e-4,6.6077367992058346e-6,-1.2538298544744623e-8,1.7799261074736457e-4,6.774298835042637e-6,-1.2551762208519981e-8,1.7841520147040621e-4,7.059131678797954e-6,-1.2576102085454612e-8,1.7874610453487877e-4,7.431432411420299e-6,-1.2608660039097732e-8,1.7894917443968755e-4,7.825953175386766e-6,-1.264353962001558e-8,1.7902774380033063e-4,8.161207083206408e-6,-1.2673296174765145e-8,1.790278108183074e-4,8.37057801926549e-6,-1.2691829535203863e-8,1.7902000252517539e-4,8.429111940731165e-6,-1.2696822098010562e-8,1.7907052731275117e-4,8.359865779353108e-6,-1.2690259514578959e-8,1.792184376056174e-4,8.218710920752939e-6,-1.2677033409507345e-8,1.7946899122588982e-4,8.070217272528202e-6,-1.2662824877992331e-8,1.798005516314884e-4,7.968098174834111e-6,-1.2652431102927129e-8,1.8017678902342154e-4,7.945639373964074e-6,-1.2648941656457344e-8,1.8055783018827178e-4,8.014489469180937e-6,-1.2653594995131369e-8,1.809079743025977e-4,8.167991049630246e-6,-1.2666002492302427e-8,1.8120015594670137e-4,8.386055770599257e-6,-1.2684515636010646e-8,1.81418169137406e-4,8.640136272423779e-6,-1.2706635648062213e-8,1.8155745362714864e-4,8.897929471115659e-6,-1.2729437938407207e-8,1.816247890930127e-4,9.127778918254038e-6,-1.2749994232411722e-8,1.8163698371062952e-4,9.302709168045539e-6,-1.2765766433492419e-8,1.8161856182727902e-4,9.403888438419948e-6,-1.2774938041748913e-8,1.815985642893323e-4,9.423138551089404e-6,-1.2776645313126941e-8,1.8160681506560852e-4,9.36415692920561e-6,-1.2771087603012172e-8,1.8167007529985502e-4,9.242389932513445e-6,-1.2759527269267482e-8,1.8180839374719023e-4,9.083630182385395e-6,-1.2744194260900506e-8,1.8203189191582484e-4,8.921407254932055e-6,-1.272809684680252e-8,1.8233811686921964e-4,8.793234923543979e-6,-1.271472568547752e-8,1.8271007573164471e-4,8.735513832696627e-6,-1.2707603433132443e-8,1.831156226205783e-4,8.776587215035303e-6,-1.2709611967731912e-8,1.835098044135818e-4,8.927979072561361e-6,-1.2722097762312471e-8,1.8384221630675696e-4,9.175500192615347e-6,-1.27439367278731e-8,1.840705475552472e-4,9.474371020128938e-6,-1.2771002906062082e-8,1.841780628060236e-4,9.754616948466088e-6,-1.279667951127827e-8,1.8418683651227492e-4,9.940934290960093e-6,-1.281380356682737e-8,1.8415563603335129e-4,9.98187460304554e-6,-1.281747050358581e-8,1.8415861263877017e-4,9.872544364405676e-6,-1.2807136409084753e-8,1.842552921475183e-4,9.65575714304891e-6,-1.278665574601449e-8,1.8446960989311107e-4,9.401323160175794e-6,-1.2762350921109002e-8,1.847878917819339e-4,9.177921705907351e-6,-1.274048999348862e-8,1.851716145817177e-4,9.033077144764868e-6,-1.2725517880425859e-8,1.8557404333119885e-4,8.98674862545095e-6,-1.2719465951244568e-8,1.8595285565285299e-4,9.03489153155634e-6,-1.2722206457539776e-8,1.8627673471227903e-4,9.156961441484826e-6,-1.2732052732514901e-8,1.8652737698281774e-4,9.323291635298407e-6,-1.2746379558568107e-8,1.8669908398996258e-4,9.500851281252383e-6,-1.276214259667023e-8,1.867974540649122e-4,9.657494220093313e-6,-1.2776296198795173e-8,1.868377674238962e-4,9.765290802188679e-6,-1.2786140679959678e-8,1.8684306967336814e-4,9.803397871508996e-6,-1.2789619363565743e-8,1.868417147083351e-4,9.760610094037025e-6,-1.2785567727151342e-8,1.8686412458466885e-4,9.637324414561794e-6,-1.2773894189412115e-8,1.8693880886411663e-4,9.44635537749392e-6,-1.2755655110877828e-8,1.8708806034181723e-4,9.212124471751703e-6,-1.2732996276901077e-8,1.873239407935784e-4,8.968006164774606e-6,-1.2708946706398693e-8,1.8764524855502274e-4,8.751851247504868e-6,-1.2687053344743047e-8,1.8803613506589658e-4,8.600047003777075e-6,-1.267086308882513e-8,1.884668350213392e-4,8.540750156571121e-6,-1.266327943929974e-8,1.8889688401037388e-4,8.586957156317759e-6,-1.2665841049346619e-8,1.892813662336039e-4,8.7303677532984365E-06,-1.2678028004774141e-8,1.8958055151708885e-4,8.937957777496288e-6,-1.269682650981506e-8,1.8977205698003573e-4,9.154221964303619e-6,-1.2716894887330907e-8,1.8986226816951858e-4,9.312023948278568e-6,-1.2731645634466873e-8,1.8989097282145473e-4,9.3523306591095e-6,-1.2735235873700964e-8,1.899229344963519e-4,9.246977657328054e-6,-1.2724818924541804e-8,1.9002600500419477e-4,9.012639158824845e-6,-1.2701873808086355e-8,1.90245267253111e-4,8.705899735453676e-6,-1.267169944090641e-8,1.9058743747324758e-4,8.400731767561984e-6,-1.2641284800066107e-8,1.9102317062649488e-4,8.161375525659737e-6,-1.261678823134974e-8,1.915028135995743e-4,8.024638131175617e-6,-1.2601877107848063e-8]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/Images/bing_maps_credit.png b/public/GV/thirdParty/CesiumManager/Assets/Images/bing_maps_credit.png new file mode 100644 index 000000000..15109db3c Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Images/bing_maps_credit.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Images/cesium_credit.png b/public/GV/thirdParty/CesiumManager/Assets/Images/cesium_credit.png new file mode 100644 index 000000000..4d1722b6b Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Images/cesium_credit.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Images/google_earth_credit.png b/public/GV/thirdParty/CesiumManager/Assets/Images/google_earth_credit.png new file mode 100644 index 000000000..a7622d822 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Images/google_earth_credit.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Images/ion-credit.png b/public/GV/thirdParty/CesiumManager/Assets/Images/ion-credit.png new file mode 100644 index 000000000..71b7bdf1c Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Images/ion-credit.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/LensFlare/DirtMask.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/LensFlare/DirtMask.jpg new file mode 100644 index 000000000..53299020e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/LensFlare/DirtMask.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/LensFlare/StarBurst.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/LensFlare/StarBurst.jpg new file mode 100644 index 000000000..b54ac0910 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/LensFlare/StarBurst.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/0/0/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/0/0/0.jpg new file mode 100644 index 000000000..0cad64662 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/0/0/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/0/1/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/0/1/0.jpg new file mode 100644 index 000000000..7e63bd63e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/0/1/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/0/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/0/0.jpg new file mode 100644 index 000000000..e65f1c78b Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/0/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/0/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/0/1.jpg new file mode 100644 index 000000000..605f63f13 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/0/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/1/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/1/0.jpg new file mode 100644 index 000000000..319458e12 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/1/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/1/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/1/1.jpg new file mode 100644 index 000000000..a6a3859d6 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/1/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/2/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/2/0.jpg new file mode 100644 index 000000000..6913a2b08 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/2/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/2/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/2/1.jpg new file mode 100644 index 000000000..df89ed220 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/2/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/3/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/3/0.jpg new file mode 100644 index 000000000..8f27415e2 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/3/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/3/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/3/1.jpg new file mode 100644 index 000000000..ce2b06ecb Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/1/3/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/0.jpg new file mode 100644 index 000000000..e3c031201 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/1.jpg new file mode 100644 index 000000000..f3ec32150 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/2.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/2.jpg new file mode 100644 index 000000000..b59816c01 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/2.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/3.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/3.jpg new file mode 100644 index 000000000..795f21227 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/0/3.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/0.jpg new file mode 100644 index 000000000..822b06514 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/1.jpg new file mode 100644 index 000000000..4dd18ea4e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/2.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/2.jpg new file mode 100644 index 000000000..4540c7c94 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/2.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/3.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/3.jpg new file mode 100644 index 000000000..32c6e5ae2 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/1/3.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/0.jpg new file mode 100644 index 000000000..7c3909481 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/1.jpg new file mode 100644 index 000000000..3e7abe713 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/2.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/2.jpg new file mode 100644 index 000000000..0e0f1e9b1 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/2.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/3.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/3.jpg new file mode 100644 index 000000000..732c32f95 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/2/3.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/0.jpg new file mode 100644 index 000000000..576ec70e7 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/1.jpg new file mode 100644 index 000000000..6347041f9 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/2.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/2.jpg new file mode 100644 index 000000000..300aa5803 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/2.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/3.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/3.jpg new file mode 100644 index 000000000..cd70fcad1 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/3/3.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/0.jpg new file mode 100644 index 000000000..eabb83c79 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/1.jpg new file mode 100644 index 000000000..54e6b0076 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/2.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/2.jpg new file mode 100644 index 000000000..311241c8d Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/2.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/3.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/3.jpg new file mode 100644 index 000000000..5ba398c58 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/4/3.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/0.jpg new file mode 100644 index 000000000..e03c0c077 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/1.jpg new file mode 100644 index 000000000..01a1caf81 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/2.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/2.jpg new file mode 100644 index 000000000..372e3ef5b Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/2.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/3.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/3.jpg new file mode 100644 index 000000000..fbcfa628f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/5/3.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/0.jpg new file mode 100644 index 000000000..334ab2581 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/1.jpg new file mode 100644 index 000000000..ebbc3a099 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/2.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/2.jpg new file mode 100644 index 000000000..c3a8e97c8 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/2.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/3.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/3.jpg new file mode 100644 index 000000000..8f730f364 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/6/3.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/0.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/0.jpg new file mode 100644 index 000000000..75235d6f8 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/0.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/1.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/1.jpg new file mode 100644 index 000000000..036d682ec Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/1.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/2.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/2.jpg new file mode 100644 index 000000000..dfd214467 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/2.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/3.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/3.jpg new file mode 100644 index 000000000..82c2a34aa Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/2/7/3.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/tilemapresource.xml b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/tilemapresource.xml new file mode 100644 index 000000000..6f502e7cf --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/Textures/NaturalEarthII/tilemapresource.xml @@ -0,0 +1,14 @@ + + + NE2_HR_LC_SR_W_DR_recolored.tif + + EPSG:4326 + + + + + + + + + diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg new file mode 100644 index 000000000..67192282d Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_my.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_my.jpg new file mode 100644 index 000000000..3dfe883b3 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_my.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg new file mode 100644 index 000000000..7ef2363f2 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_px.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_px.jpg new file mode 100644 index 000000000..f5d0d8b1e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_px.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_py.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_py.jpg new file mode 100644 index 000000000..a8421113e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_py.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg new file mode 100644 index 000000000..5efcc76e2 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/airfield.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/airfield.png new file mode 100644 index 000000000..b77468424 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/airfield.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/airport.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/airport.png new file mode 100644 index 000000000..44a8413a7 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/airport.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/alcohol-shop.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/alcohol-shop.png new file mode 100644 index 000000000..b75a5d9ea Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/alcohol-shop.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/america-football.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/america-football.png new file mode 100644 index 000000000..5a2c6ba6f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/america-football.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/art-gallery.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/art-gallery.png new file mode 100644 index 000000000..a663512ef Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/art-gallery.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bakery.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bakery.png new file mode 100644 index 000000000..9735d5e53 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bakery.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bank.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bank.png new file mode 100644 index 000000000..a67cee06e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bank.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bar.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bar.png new file mode 100644 index 000000000..8c2812fba Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bar.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/baseball.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/baseball.png new file mode 100644 index 000000000..23f344bbf Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/baseball.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/basketball.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/basketball.png new file mode 100644 index 000000000..7ed3bfce3 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/basketball.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/beer.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/beer.png new file mode 100644 index 000000000..a15cf9911 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/beer.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bicycle.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bicycle.png new file mode 100644 index 000000000..fb871be48 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bicycle.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/building.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/building.png new file mode 100644 index 000000000..885f1128a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/building.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bus.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bus.png new file mode 100644 index 000000000..783050234 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/bus.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cafe.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cafe.png new file mode 100644 index 000000000..2050cba3c Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cafe.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/camera.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/camera.png new file mode 100644 index 000000000..ec54e12a2 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/camera.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/campsite.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/campsite.png new file mode 100644 index 000000000..36e0a92de Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/campsite.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/car.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/car.png new file mode 100644 index 000000000..2075afa58 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/car.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cemetery.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cemetery.png new file mode 100644 index 000000000..df244fda0 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cemetery.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cesium.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cesium.png new file mode 100644 index 000000000..ce2755ded Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cesium.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/chemist.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/chemist.png new file mode 100644 index 000000000..eb1ea3574 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/chemist.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cinema.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cinema.png new file mode 100644 index 000000000..56b692561 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cinema.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/circle-stroked.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/circle-stroked.png new file mode 100644 index 000000000..88689e47f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/circle-stroked.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/circle.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/circle.png new file mode 100644 index 000000000..fbbd5822f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/circle.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/city.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/city.png new file mode 100644 index 000000000..37d8fad88 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/city.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/clothing-store.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/clothing-store.png new file mode 100644 index 000000000..ff5f8a2b1 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/clothing-store.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/college.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/college.png new file mode 100644 index 000000000..102638704 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/college.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/commercial.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/commercial.png new file mode 100644 index 000000000..fdf3b63c3 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/commercial.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cricket.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cricket.png new file mode 100644 index 000000000..6642a3af2 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cricket.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cross.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cross.png new file mode 100644 index 000000000..8945b3b4f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/cross.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/dam.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/dam.png new file mode 100644 index 000000000..aed88a88f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/dam.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/danger.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/danger.png new file mode 100644 index 000000000..9479572c3 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/danger.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/disability.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/disability.png new file mode 100644 index 000000000..1cc355097 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/disability.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/dog-park.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/dog-park.png new file mode 100644 index 000000000..3483e35b9 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/dog-park.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/embassy.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/embassy.png new file mode 100644 index 000000000..46b7e1e1c Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/embassy.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/emergency-telephone.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/emergency-telephone.png new file mode 100644 index 000000000..fac623968 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/emergency-telephone.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/entrance.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/entrance.png new file mode 100644 index 000000000..b0ba8c5d6 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/entrance.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/farm.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/farm.png new file mode 100644 index 000000000..7b03e825f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/farm.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/fast-food.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/fast-food.png new file mode 100644 index 000000000..9488c263f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/fast-food.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/ferry.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/ferry.png new file mode 100644 index 000000000..58c2f27a8 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/ferry.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/fire-station.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/fire-station.png new file mode 100644 index 000000000..427512f1d Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/fire-station.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/fuel.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/fuel.png new file mode 100644 index 000000000..dc6059b90 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/fuel.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/garden.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/garden.png new file mode 100644 index 000000000..265edb8d6 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/garden.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/gift.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/gift.png new file mode 100644 index 000000000..866263e16 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/gift.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/golf.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/golf.png new file mode 100644 index 000000000..2169d9158 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/golf.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/grocery.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/grocery.png new file mode 100644 index 000000000..05b09d4af Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/grocery.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/hairdresser.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/hairdresser.png new file mode 100644 index 000000000..68fbe1e85 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/hairdresser.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/harbor.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/harbor.png new file mode 100644 index 000000000..2814f3cd5 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/harbor.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/heart.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/heart.png new file mode 100644 index 000000000..82e98082c Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/heart.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/heliport.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/heliport.png new file mode 100644 index 000000000..953828d9e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/heliport.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/hospital.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/hospital.png new file mode 100644 index 000000000..faf294e87 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/hospital.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/ice-cream.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/ice-cream.png new file mode 100644 index 000000000..323c96494 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/ice-cream.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/industrial.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/industrial.png new file mode 100644 index 000000000..9b3b525db Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/industrial.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/land-use.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/land-use.png new file mode 100644 index 000000000..f86b21bcd Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/land-use.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/laundry.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/laundry.png new file mode 100644 index 000000000..53fd20de4 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/laundry.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/library.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/library.png new file mode 100644 index 000000000..8564e84a3 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/library.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/lighthouse.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/lighthouse.png new file mode 100644 index 000000000..a78e21a5b Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/lighthouse.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/lodging.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/lodging.png new file mode 100644 index 000000000..4e41ea6f6 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/lodging.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/logging.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/logging.png new file mode 100644 index 000000000..4aeef0b7a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/logging.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/london-underground.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/london-underground.png new file mode 100644 index 000000000..94972f7dd Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/london-underground.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/marker-stroked.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/marker-stroked.png new file mode 100644 index 000000000..f00d11239 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/marker-stroked.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/marker.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/marker.png new file mode 100644 index 000000000..825eeca69 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/marker.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/minefield.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/minefield.png new file mode 100644 index 000000000..60e174abb Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/minefield.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/mobilephone.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/mobilephone.png new file mode 100644 index 000000000..a40ef9c1f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/mobilephone.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/monument.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/monument.png new file mode 100644 index 000000000..5b8b7debd Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/monument.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/museum.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/museum.png new file mode 100644 index 000000000..23c179003 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/museum.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/music.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/music.png new file mode 100644 index 000000000..dbef56f22 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/music.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/oil-well.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/oil-well.png new file mode 100644 index 000000000..a421f5aae Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/oil-well.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/park.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/park.png new file mode 100644 index 000000000..741110e37 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/park.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/park2.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/park2.png new file mode 100644 index 000000000..5f60dcc4d Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/park2.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/parking-garage.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/parking-garage.png new file mode 100644 index 000000000..b91a811a8 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/parking-garage.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/parking.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/parking.png new file mode 100644 index 000000000..6a843d93e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/parking.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/pharmacy.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/pharmacy.png new file mode 100644 index 000000000..d82e4716f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/pharmacy.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/pitch.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/pitch.png new file mode 100644 index 000000000..a8205e802 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/pitch.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/place-of-worship.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/place-of-worship.png new file mode 100644 index 000000000..29f7c3172 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/place-of-worship.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/playground.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/playground.png new file mode 100644 index 000000000..5270d3c42 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/playground.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/police.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/police.png new file mode 100644 index 000000000..9787a05e9 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/police.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/polling-place.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/polling-place.png new file mode 100644 index 000000000..b2d02a904 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/polling-place.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/post.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/post.png new file mode 100644 index 000000000..ee7aaca7d Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/post.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/prison.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/prison.png new file mode 100644 index 000000000..355cba44a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/prison.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-above.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-above.png new file mode 100644 index 000000000..e48d7eac7 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-above.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-light.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-light.png new file mode 100644 index 000000000..895565e00 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-light.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-metro.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-metro.png new file mode 100644 index 000000000..86078c91f Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-metro.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-underground.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-underground.png new file mode 100644 index 000000000..42cfeb7e1 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail-underground.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail.png new file mode 100644 index 000000000..8af055dde Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rail.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/religious-christian.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/religious-christian.png new file mode 100644 index 000000000..201bc81ca Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/religious-christian.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/religious-jewish.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/religious-jewish.png new file mode 100644 index 000000000..e3c75f6b3 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/religious-jewish.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/religious-muslim.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/religious-muslim.png new file mode 100644 index 000000000..25cbf08aa Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/religious-muslim.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/restaurant.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/restaurant.png new file mode 100644 index 000000000..816282a6e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/restaurant.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/roadblock.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/roadblock.png new file mode 100644 index 000000000..539f0ed84 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/roadblock.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rocket.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rocket.png new file mode 100644 index 000000000..e6ed71877 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/rocket.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/school.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/school.png new file mode 100644 index 000000000..fb20bf4e2 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/school.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/scooter.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/scooter.png new file mode 100644 index 000000000..41f741649 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/scooter.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/shop.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/shop.png new file mode 100644 index 000000000..11a6b755a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/shop.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/skiing.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/skiing.png new file mode 100644 index 000000000..4fc11e2e5 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/skiing.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/slaughterhouse.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/slaughterhouse.png new file mode 100644 index 000000000..9b094cabd Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/slaughterhouse.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/soccer.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/soccer.png new file mode 100644 index 000000000..2385daf91 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/soccer.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/square-stroked.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/square-stroked.png new file mode 100644 index 000000000..fce75b0d8 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/square-stroked.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/square.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/square.png new file mode 100644 index 000000000..babc9c531 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/square.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/star-stroked.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/star-stroked.png new file mode 100644 index 000000000..242e42e20 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/star-stroked.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/star.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/star.png new file mode 100644 index 000000000..447dd384a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/star.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/suitcase.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/suitcase.png new file mode 100644 index 000000000..a94f562e7 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/suitcase.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/swimming.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/swimming.png new file mode 100644 index 000000000..b9fbdcc5d Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/swimming.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/telephone.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/telephone.png new file mode 100644 index 000000000..6d57dc61a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/telephone.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/tennis.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/tennis.png new file mode 100644 index 000000000..6cb632054 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/tennis.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/theatre.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/theatre.png new file mode 100644 index 000000000..772c96e4e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/theatre.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/toilets.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/toilets.png new file mode 100644 index 000000000..e87cf19c0 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/toilets.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/town-hall.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/town-hall.png new file mode 100644 index 000000000..1af5c7ce4 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/town-hall.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/town.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/town.png new file mode 100644 index 000000000..416616951 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/town.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/triangle-stroked.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/triangle-stroked.png new file mode 100644 index 000000000..131c7d94c Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/triangle-stroked.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/triangle.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/triangle.png new file mode 100644 index 000000000..d9c47f421 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/triangle.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/village.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/village.png new file mode 100644 index 000000000..2650af502 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/village.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/warehouse.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/warehouse.png new file mode 100644 index 000000000..910f1e4c9 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/warehouse.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/waste-basket.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/waste-basket.png new file mode 100644 index 000000000..a71f9e4d7 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/waste-basket.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/water.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/water.png new file mode 100644 index 000000000..159a557de Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/water.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/wetland.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/wetland.png new file mode 100644 index 000000000..1e8dec832 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/wetland.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/zoo.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/zoo.png new file mode 100644 index 000000000..480229993 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/maki/zoo.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/moonSmall.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/moonSmall.jpg new file mode 100644 index 000000000..47f52522e Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/moonSmall.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/pin.svg b/public/GV/thirdParty/CesiumManager/Assets/Textures/pin.svg new file mode 100644 index 000000000..7892c3682 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/Textures/pin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/smoke.png b/public/GV/thirdParty/CesiumManager/Assets/Textures/smoke.png new file mode 100644 index 000000000..aff6da750 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/smoke.png differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/waterNormals.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/waterNormals.jpg new file mode 100644 index 000000000..eb1baa2d6 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/waterNormals.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/Textures/waterNormalsSmall.jpg b/public/GV/thirdParty/CesiumManager/Assets/Textures/waterNormalsSmall.jpg new file mode 100644 index 000000000..57b19d8f4 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Assets/Textures/waterNormalsSmall.jpg differ diff --git a/public/GV/thirdParty/CesiumManager/Assets/approximateTerrainHeights.json b/public/GV/thirdParty/CesiumManager/Assets/approximateTerrainHeights.json new file mode 100644 index 000000000..92e52a3b7 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Assets/approximateTerrainHeights.json @@ -0,0 +1 @@ +{"6-0-0":[10.66,26.9],"6-0-1":[6.74,20.61],"6-0-2":[4.04,14.2],"6-0-3":[2.99,8.89],"6-0-4":[0.89,6.8],"6-0-5":[0.83,4.22],"6-0-6":[1.01,996.64],"6-0-7":[1.65,1473.8],"6-0-8":[4.23,1405.42],"6-0-9":[3.78,9.42],"6-0-10":[0.33,10.41],"6-0-11":[0.37,9.42],"6-0-12":[-1.21,10.72],"6-0-13":[-24.75,1797.13],"6-0-14":[-25.53,3.24],"6-0-15":[-12.72,0.06],"6-0-16":[-21.01,-5.62],"6-0-17":[-25.65,-10.79],"6-0-18":[-25.81,-11.56],"6-0-19":[-23.99,-9.29],"6-0-20":[-21.03,-8.01],"6-0-21":[-17.26,28.36],"6-0-22":[-10.44,-0.18],"6-0-23":[-6.09,1.27],"6-0-24":[0.2,8.96],"6-0-25":[4.5,13.87],"6-0-26":[6.42,18.94],"6-0-27":[9.26,23.03],"6-0-28":[10.92,27.13],"6-0-29":[12.68,32.43],"6-0-30":[15.67,36.44],"6-0-31":[17.17,41.7],"6-0-32":[18.65,43.91],"6-0-33":[19.85,48.69],"6-0-34":[21.11,56.5],"6-0-35":[26.26,79],"6-0-36":[33,95.12],"6-0-37":[17.36,1242.86],"6-0-38":[17.56,1197.83],"6-0-39":[46.88,149.88],"6-0-40":[49.39,105.09],"6-0-41":[41.61,101.97],"6-0-42":[20.68,550.11],"6-0-43":[17.2,92.57],"6-0-44":[16.92,77.99],"6-0-45":[18.56,46.63],"6-0-46":[12.38,43.07],"6-0-47":[3.4,29.35],"6-0-48":[-19.81,6.49],"6-0-49":[-39.19,-4.52],"6-0-50":[-57.57,-19.1],"6-0-51":[-76.36,-29.46],"6-0-52":[-88.35,-37.9],"6-0-53":[-97.62,-44.45],"6-0-54":[-101.65,-48.19],"6-0-55":[-119.7,-51.12],"6-0-56":[-126.97,-57.56],"6-0-57":[-126.3,-60.82],"6-0-58":[-126.26,-59.93],"6-0-59":[-119.1,-54.84],"6-0-60":[-110.88,-48.64],"6-0-61":[-96.62,258.8],"6-0-62":[-90.74,2997.38],"6-0-63":[-31.67,3098.17],"6-1-0":[10.71,26.95],"6-1-1":[7.14,20.8],"5-0-0":[6.74,26.95],"6-1-2":[3.89,15.04],"6-1-3":[3.37,8.36],"5-0-1":[2.99,15.04],"6-1-4":[-0.61,6.83],"6-1-5":[-0.55,4.83],"5-0-2":[-0.61,6.83],"6-1-6":[-0.38,343.9],"6-1-7":[0.43,308.3],"5-0-3":[-0.38,1473.8],"6-1-8":[1.88,906.96],"6-1-9":[4.01,286.65],"5-0-4":[1.88,1405.42],"6-1-10":[3.66,14],"6-1-11":[1.5,14.18],"5-0-5":[0.33,14.18],"6-1-12":[2.47,10.46],"6-1-13":[-22.06,1734.24],"5-0-6":[-24.75,1797.13],"6-1-14":[-20.71,6.52],"6-1-15":[-11.23,1.31],"5-0-7":[-25.53,6.52],"6-1-16":[-20.51,-4.75],"6-1-17":[-25.7,-10],"5-0-8":[-25.7,-4.75],"6-1-18":[-26.19,-12.15],"6-1-19":[-25.87,-9.22],"5-0-9":[-26.19,-9.22],"6-1-20":[-22.92,-7.87],"6-1-21":[-16.03,0.26],"5-0-10":[-22.92,28.36],"6-1-22":[-9.59,9.27],"6-1-23":[-2.9,6.54],"5-0-11":[-10.44,9.27],"6-1-24":[0.86,11.17],"6-1-25":[4.31,18.66],"5-0-12":[0.2,18.66],"6-1-26":[6.61,18.19],"6-1-27":[8.7,22.85],"5-0-13":[6.42,23.03],"6-1-28":[9.96,23.64],"6-1-29":[9.97,31.23],"5-0-14":[9.96,32.43],"6-1-30":[13.01,34.4],"6-1-31":[16.28,38.74],"5-0-15":[13.01,41.7],"6-1-32":[16.81,39.97],"6-1-33":[17.68,44.11],"5-0-16":[16.81,48.69],"6-1-34":[18.54,49.53],"6-1-35":[22.64,65.95],"5-0-17":[18.54,79],"6-1-36":[28.21,188.59],"6-1-37":[34.36,262.29],"5-0-18":[17.36,1242.86],"6-1-38":[45.21,1074.21],"6-1-39":[25.48,561.48],"5-0-19":[17.56,1197.83],"6-1-40":[23.5,105.17],"6-1-41":[23.63,99.7],"5-0-20":[23.5,105.17],"6-1-42":[19.32,82.54],"6-1-43":[18.61,61.85],"5-0-21":[17.2,550.11],"6-1-44":[20.07,55.81],"6-1-45":[18.77,46.46],"5-0-22":[16.92,77.99],"6-1-46":[8.68,36.12],"6-1-47":[-36.78,306.25],"5-0-23":[-36.78,306.25],"6-1-48":[-22.66,5.19],"6-1-49":[-42.82,-11.13],"5-0-24":[-42.82,6.49],"6-1-50":[-57.85,-19.1],"6-1-51":[-75.69,-29.65],"5-0-25":[-76.36,-19.1],"6-1-52":[-86.83,-37.51],"6-1-53":[-96.13,-43.07],"5-0-26":[-97.62,-37.51],"6-1-54":[-101.17,-47.18],"6-1-55":[-120.92,-50.74],"5-0-27":[-120.92,-47.18],"6-1-56":[-127.84,-59.08],"6-1-57":[-130.41,-62.14],"5-0-28":[-130.41,-57.56],"6-1-58":[-130.18,-59.59],"6-1-59":[-119.25,-55.12],"5-0-29":[-130.18,-54.84],"6-1-60":[-110.99,-49.4],"6-1-61":[-97.87,-11.15],"5-0-30":[-110.99,258.8],"6-1-62":[-91.52,3443.81],"6-1-63":[-29.54,3102.34],"5-0-31":[-91.52,3443.81],"6-2-0":[10.72,26.98],"6-2-1":[7.83,20.82],"6-2-2":[3.58,15.73],"6-2-3":[2.54,7.2],"6-2-4":[-0.61,5.79],"6-2-5":[-0.51,5.62],"6-2-6":[-0.51,2.52],"6-2-7":[0.49,3.57],"6-2-8":[1.45,1107.58],"6-2-9":[4.33,935.49],"6-2-10":[6.38,447.82],"6-2-11":[2.78,22.33],"6-2-12":[4.36,15.33],"6-2-13":[-21.97,1546.34],"6-2-14":[-15.6,10.11],"6-2-15":[-8.94,3.51],"6-2-16":[-19.28,-3.75],"6-2-17":[-25.1,-8.48],"6-2-18":[-26.22,-11.53],"6-2-19":[-26.62,-11.45],"6-2-20":[-24.22,-7.64],"6-2-21":[-15.31,-2.94],"6-2-22":[-9.58,22.84],"6-2-23":[0.06,13.16],"6-2-24":[3.65,16.58],"6-2-25":[5.95,18.75],"6-2-26":[7.56,18.27],"6-2-27":[8.72,22.69],"6-2-28":[9.83,22.16],"6-2-29":[9.86,26.06],"6-2-30":[12.2,32.28],"6-2-31":[13.89,34.73],"6-2-32":[14.45,36.73],"6-2-33":[14.44,38.35],"6-2-34":[17.75,45.33],"6-2-35":[20.66,56.51],"6-2-36":[14.56,1897.33],"6-2-37":[21.73,602.11],"6-2-38":[6.52,258.3],"6-2-39":[23.9,87.93],"6-2-40":[24.73,68.5],"6-2-41":[28.76,71.42],"6-2-42":[24.12,69.11],"6-2-43":[21.79,60.23],"6-2-44":[16.26,53.69],"6-2-45":[9.6,38.48],"6-2-46":[4.35,25.76],"6-2-47":[-8.34,16.06],"6-2-48":[-23.66,-1.78],"6-2-49":[-43.1,-12.47],"6-2-50":[-57.44,-20.26],"6-2-51":[-75.02,-28.99],"6-2-52":[-85.43,-36.15],"6-2-53":[-94.37,-42.32],"6-2-54":[-100.35,-45.74],"6-2-55":[-118.16,-50.3],"6-2-56":[-127.84,-57.37],"6-2-57":[-132.46,-63.72],"6-2-58":[-131.21,-59.33],"6-2-59":[-117.94,-55.1],"6-2-60":[-110.83,-49.58],"6-2-61":[-98.68,-43.95],"6-2-62":[-90.63,3904.3],"6-2-63":[-29.54,3104.92],"6-3-0":[10.72,27.03],"6-3-1":[7.91,20.82],"5-1-0":[7.83,27.03],"6-3-2":[3.44,16.58],"6-3-3":[2.11,6.48],"5-1-1":[2.11,16.58],"4-0-0":[2.11,27.03],"6-3-4":[-0.03,6.76],"6-3-5":[-0.56,6.63],"5-1-2":[-0.61,6.76],"6-3-6":[-1.04,3.03],"6-3-7":[0.58,2.79],"5-1-3":[-1.04,3.57],"4-0-1":[-1.04,1473.8],"6-3-8":[1.26,912.84],"6-3-9":[4.33,618.8],"5-1-4":[1.26,1107.58],"6-3-10":[6.38,21.82],"6-3-11":[-9.62,311.37],"5-1-5":[-9.62,447.82],"4-0-2":[-9.62,1405.42],"6-3-12":[5.53,24.46],"6-3-13":[-16.08,1745.85],"5-1-6":[-21.97,1745.85],"6-3-14":[-2.94,13.6],"6-3-15":[-7.31,5.28],"5-1-7":[-15.6,13.6],"4-0-3":[-25.53,1797.13],"6-3-16":[-15.66,-3.16],"6-3-17":[-22.96,-8.29],"5-1-8":[-25.1,-3.16],"6-3-18":[-26.21,-10.93],"6-3-19":[-27.23,-12.17],"5-1-9":[-27.23,-10.93],"4-0-4":[-27.23,-3.16],"6-3-20":[-24.81,-7.64],"6-3-21":[-14.34,0.47],"5-1-10":[-24.81,0.47],"6-3-22":[-3.34,23.06],"6-3-23":[2.58,22.37],"5-1-11":[-9.58,23.06],"4-0-5":[-24.81,28.36],"6-3-24":[6.28,19.36],"6-3-25":[8.08,21.32],"5-1-12":[3.65,21.32],"6-3-26":[1.66,34.68],"6-3-27":[8.88,23.51],"5-1-13":[1.66,34.68],"4-0-6":[0.2,34.68],"6-3-28":[10.27,25.7],"6-3-29":[10.85,24.86],"5-1-14":[9.83,26.06],"6-3-30":[11.93,28.27],"6-3-31":[13.63,30.64],"5-1-15":[11.93,34.73],"4-0-7":[9.83,41.7],"6-3-32":[14.74,33.87],"6-3-33":[11.58,35.79],"5-1-16":[11.58,38.35],"6-3-34":[16.56,41.34],"6-3-35":[18.05,51.07],"5-1-17":[16.56,56.51],"4-0-8":[11.58,79],"6-3-36":[19.63,771.39],"6-3-37":[21.73,997.06],"5-1-18":[14.56,1897.33],"6-3-38":[22.85,125.79],"6-3-39":[22.68,58.96],"5-1-19":[6.52,258.3],"4-0-9":[6.52,1897.33],"6-3-40":[21.12,59.21],"6-3-41":[21.12,57.29],"5-1-20":[21.12,71.42],"6-3-42":[19,55.57],"6-3-43":[19,45.14],"5-1-21":[19,69.11],"4-0-10":[17.2,550.11],"6-3-44":[12.68,42.37],"6-3-45":[7.26,30.69],"5-1-22":[7.26,53.69],"6-3-46":[1.07,18.1],"6-3-47":[-14.03,6.67],"5-1-23":[-14.03,25.76],"4-0-11":[-36.78,306.25],"6-3-48":[-25.52,-4.53],"6-3-49":[-40.76,-13.01],"5-1-24":[-43.1,-1.78],"6-3-50":[-55.85,-20.05],"6-3-51":[-71.88,-27.95],"5-1-25":[-75.02,-20.05],"4-0-12":[-76.36,6.49],"6-3-52":[-83.23,-35.08],"6-3-53":[-91.13,-41.07],"5-1-26":[-94.37,-35.08],"6-3-54":[-99.02,-44.5],"6-3-55":[-114.54,-49.53],"5-1-27":[-118.16,-44.5],"4-0-13":[-120.92,-35.08],"6-3-56":[-126.73,-56.74],"6-3-57":[-132.79,-63.72],"5-1-28":[-132.79,-56.74],"6-3-58":[-132.21,-59.46],"6-3-59":[-117.45,-55.06],"5-1-29":[-132.21,-55.06],"4-0-14":[-132.79,-54.84],"6-3-60":[-110.9,-50.05],"6-3-61":[-98.89,-43.58],"5-1-30":[-110.9,-43.58],"6-3-62":[-87.67,3970.41],"6-3-63":[-29.54,3106.07],"5-1-31":[-90.63,3970.41],"4-0-15":[-110.99,3970.41],"6-4-0":[10.72,27.07],"6-4-1":[8.58,20.88],"6-4-2":[3.21,17.11],"6-4-3":[2.1,7.09],"6-4-4":[1.19,8.01],"6-4-5":[-0.22,6.22],"6-4-6":[-1.08,2.41],"6-4-7":[0.39,611.05],"6-4-8":[1.07,1101.35],"6-4-9":[4.69,428.48],"6-4-10":[9.22,653.36],"6-4-11":[10.76,27.57],"6-4-12":[-14.99,1825.97],"6-4-13":[-15.6,2084.32],"6-4-14":[3.47,18.16],"6-4-15":[-5.56,6.15],"6-4-16":[-15.54,-2.51],"6-4-17":[-23.21,-7.81],"6-4-18":[-26.71,-10.93],"6-4-19":[-28,-11.62],"6-4-20":[-24.27,-7.94],"6-4-21":[-14.62,0.97],"6-4-22":[-0.2,17.55],"6-4-23":[2.53,28.15],"6-4-24":[7.62,19.59],"6-4-25":[8.14,21.94],"6-4-26":[9.01,22.24],"6-4-27":[10.38,25.71],"6-4-28":[11.65,27.19],"6-4-29":[12.01,27.84],"6-4-30":[12.52,28.27],"6-4-31":[13.6,29.58],"6-4-32":[14.29,32.89],"6-4-33":[15.45,34.86],"6-4-34":[16.24,35.6],"6-4-35":[15.79,39.9],"6-4-36":[15.18,43.72],"6-4-37":[15.33,45.71],"6-4-38":[15.37,48.56],"6-4-39":[15.29,45.88],"6-4-40":[15.09,44.41],"6-4-41":[14.97,42.29],"6-4-42":[13.73,42.26],"6-4-43":[12.06,37.32],"6-4-44":[10.39,32.28],"6-4-45":[5.84,25.33],"6-4-46":[-0.37,17.65],"6-4-47":[-16.61,1.08],"6-4-48":[-26.32,-7.42],"6-4-49":[-40.76,-13.57],"6-4-50":[-53.73,-20.05],"6-4-51":[-70.17,-26.95],"6-4-52":[-80.79,-33.29],"6-4-53":[-89,-39.39],"6-4-54":[-97.35,-43.1],"6-4-55":[-113.49,-49.01],"6-4-56":[-126.75,-56.1],"6-4-57":[-131.59,-62.78],"6-4-58":[-131.91,-58.9],"6-4-59":[-117.3,-55.06],"6-4-60":[-111.07,-49.97],"6-4-61":[-98.75,-43.61],"6-4-62":[-87.85,3807.76],"6-4-63":[-29.54,3106.13],"6-5-0":[10.78,27.12],"6-5-1":[8.58,21.1],"5-2-0":[8.58,27.12],"6-5-2":[3.17,17.66],"6-5-3":[0.92,7.26],"5-2-1":[0.92,17.66],"6-5-4":[-0.48,8],"6-5-5":[-2.17,1.64],"5-2-2":[-2.17,8.01],"6-5-6":[-0.74,0.57],"6-5-7":[-0.44,977.81],"5-2-3":[-1.08,977.81],"6-5-8":[1.07,1285.63],"6-5-9":[5.92,689.98],"5-2-4":[1.07,1285.63],"6-5-10":[9.22,574.41],"6-5-11":[12.46,29.76],"5-2-5":[9.22,653.36],"6-5-12":[-36.25,2863.96],"6-5-13":[-3.12,25.08],"5-2-6":[-36.25,2863.96],"6-5-14":[3.54,19.59],"6-5-15":[-6.33,5.94],"5-2-7":[-6.33,19.59],"6-5-16":[-17.4,-2.51],"6-5-17":[-24.54,-7.99],"5-2-8":[-24.54,-2.51],"6-5-18":[-27.22,-11.55],"6-5-19":[-27.57,-11.81],"5-2-9":[-28,-10.93],"6-5-20":[-24.98,-7.94],"6-5-21":[-15.88,-0.19],"5-2-10":[-24.98,0.97],"6-5-22":[-3.57,8.23],"6-5-23":[3.2,68.18],"5-2-11":[-3.57,68.18],"6-5-24":[7.47,18.67],"6-5-25":[7.19,18.1],"5-2-12":[7.19,21.94],"6-5-26":[7.38,20.47],"6-5-27":[8.56,27.76],"5-2-13":[7.38,27.76],"6-5-28":[11.8,30.78],"6-5-29":[12.82,30.66],"5-2-14":[11.65,30.78],"6-5-30":[13.61,32.3],"6-5-31":[13.86,32.65],"5-2-15":[12.52,32.65],"6-5-32":[14.35,32.3],"6-5-33":[15.09,34.31],"5-2-16":[14.29,34.86],"6-5-34":[14.43,33.96],"6-5-35":[14.39,37.54],"5-2-17":[14.39,39.9],"6-5-36":[12.64,37.44],"6-5-37":[11.66,31.1],"5-2-18":[11.66,45.71],"6-5-38":[11.75,38.62],"6-5-39":[12.15,31.7],"5-2-19":[11.75,48.56],"6-5-40":[10.41,30.13],"6-5-41":[10.41,29.27],"5-2-20":[10.41,44.41],"6-5-42":[10.26,28.59],"6-5-43":[8.59,25.16],"5-2-21":[8.59,42.26],"6-5-44":[6.7,23.39],"6-5-45":[4.27,19.09],"5-2-22":[4.27,32.28],"6-5-46":[-1.36,10.74],"6-5-47":[-17.27,-0.35],"5-2-23":[-17.27,17.65],"6-5-48":[-26.4,-8.28],"6-5-49":[-40.48,-13.41],"5-2-24":[-40.76,-7.42],"6-5-50":[-51.99,-19.83],"6-5-51":[-66.22,-25.93],"5-2-25":[-70.17,-19.83],"6-5-52":[-77.24,-31.84],"6-5-53":[-85.9,-37.71],"5-2-26":[-89,-31.84],"6-5-54":[-96.28,-42.09],"6-5-55":[-112.03,-48.58],"5-2-27":[-113.49,-42.09],"6-5-56":[-123.43,-55.02],"6-5-57":[-130.93,-62.4],"5-2-28":[-131.59,-55.02],"6-5-58":[-131.32,-59.02],"6-5-59":[-121.42,-54.72],"5-2-29":[-131.91,-54.72],"6-5-60":[-111.23,146.66],"6-5-61":[-98.4,-43.74],"5-2-30":[-111.23,146.66],"6-5-62":[-87.94,3579.75],"6-5-63":[-29.55,3100.28],"5-2-31":[-87.94,3807.76],"6-6-0":[10.89,27.18],"6-6-1":[8.99,21.34],"6-6-2":[3.2,17.98],"6-6-3":[0.5,6.62],"6-6-4":[-2.95,6.62],"6-6-5":[-3.68,0.42],"6-6-6":[-2.02,37.03],"6-6-7":[-1.02,1376.89],"6-6-8":[3.71,982.62],"6-6-9":[7.43,985.82],"6-6-10":[11.94,1234.98],"6-6-11":[13.11,705.14],"6-6-12":[-89.41,2536.32],"6-6-13":[3.4,22.83],"6-6-14":[2.65,19.52],"6-6-15":[-7.99,5.64],"6-6-16":[-18.67,-3.61],"6-6-17":[-26.52,-9.15],"6-6-18":[-29.62,-12.33],"6-6-19":[-29.54,-12.54],"6-6-20":[-27.32,-8.27],"6-6-21":[-18.45,-1.95],"6-6-22":[-6.48,7.14],"6-6-23":[3.01,190.01],"6-6-24":[6.51,138.47],"6-6-25":[5.69,15.96],"6-6-26":[5.4,16.51],"6-6-27":[6.05,22.74],"6-6-28":[9.02,28.21],"6-6-29":[-17.46,51.55],"6-6-30":[13.15,50.16],"6-6-31":[15.34,33.27],"6-6-32":[14.32,31.91],"6-6-33":[13.67,32.66],"6-6-34":[12.2,30.79],"6-6-35":[8.78,41.94],"6-6-36":[9.46,29.88],"6-6-37":[9.15,25.29],"6-6-38":[9.38,32.55],"6-6-39":[9.54,25.04],"6-6-40":[7.99,24.13],"6-6-41":[6.63,21.25],"6-6-42":[6.03,21.21],"6-6-43":[5.82,20.07],"6-6-44":[4.24,16.55],"6-6-45":[2.14,12.64],"6-6-46":[-4.05,7.66],"6-6-47":[-16.62,-0.23],"6-6-48":[-26.47,-8.01],"6-6-49":[-39.59,-13.39],"6-6-50":[-50.27,-19.08],"6-6-51":[-63.69,-24.71],"6-6-52":[-73.99,-30.15],"6-6-53":[-84.19,-35.56],"6-6-54":[-95.47,-40.93],"6-6-55":[-110.06,-48.04],"6-6-56":[-123.5,-54.77],"6-6-57":[-129.75,-61.69],"6-6-58":[-129.75,-62.06],"6-6-59":[-121.74,-53.84],"6-6-60":[-109.45,382.35],"6-6-61":[-98.13,-36.44],"6-6-62":[-87.49,3110.85],"6-6-63":[-29.55,3090.17],"6-7-0":[11.05,27.23],"6-7-1":[8.99,21.62],"5-3-0":[8.99,27.23],"6-7-2":[3.11,18.02],"6-7-3":[-1.88,4.75],"5-3-1":[-1.88,18.02],"4-1-0":[-1.88,27.23],"6-7-4":[-2.23,3.16],"6-7-5":[-10.48,-0.69],"5-3-2":[-10.48,6.62],"6-7-6":[-6.6,40.51],"6-7-7":[4.26,1489.28],"5-3-3":[-6.6,1489.28],"4-1-1":[-10.48,1489.28],"3-0-0":[-10.48,1489.28],"6-7-8":[5.88,1063.92],"6-7-9":[20.7,1104.57],"5-3-4":[3.71,1104.57],"6-7-10":[14.91,1599.96],"6-7-11":[-8.97,1740.57],"5-3-5":[-8.97,1740.57],"4-1-2":[-8.97,1740.57],"6-7-12":[-61.85,2512.65],"6-7-13":[5.57,22.76],"5-3-6":[-89.41,2536.32],"6-7-14":[0.64,18.21],"6-7-15":[-12.27,3.05],"5-3-7":[-12.27,19.52],"4-1-3":[-89.41,2863.96],"3-0-1":[-89.41,2863.96],"6-7-16":[-22.25,-4.09],"6-7-17":[-29.14,-10.07],"5-3-8":[-29.14,-3.61],"6-7-18":[-31.98,-13.47],"6-7-19":[-31.86,-13.83],"5-3-9":[-31.98,-12.33],"4-1-4":[-31.98,-2.51],"6-7-20":[-30.11,-10],"6-7-21":[-23.56,-3.54],"5-3-10":[-30.11,-1.95],"6-7-22":[-13.91,4.69],"6-7-23":[0.99,14.6],"5-3-11":[-13.91,190.01],"4-1-5":[-30.11,190.01],"3-0-2":[-31.98,190.01],"6-7-24":[3.42,1613.09],"6-7-25":[5.02,15.52],"5-3-12":[3.42,1613.09],"6-7-26":[3.25,11],"6-7-27":[3.44,17.46],"5-3-13":[3.25,22.74],"4-1-6":[3.25,1613.09],"6-7-28":[7.09,27.01],"6-7-29":[10.93,32.99],"5-3-14":[-17.46,51.55],"6-7-30":[11.96,44.95],"6-7-31":[15.14,36.64],"5-3-15":[11.96,50.16],"4-1-7":[-17.46,51.55],"3-0-3":[-17.46,1613.09],"6-7-32":[14.44,33.46],"6-7-33":[12.08,29.13],"5-3-16":[12.08,33.46],"6-7-34":[9.43,27.02],"6-7-35":[7.86,36.94],"5-3-17":[7.86,41.94],"4-1-8":[7.86,41.94],"6-7-36":[7.22,22.36],"6-7-37":[6.79,18.93],"5-3-18":[6.79,29.88],"6-7-38":[1.56,124.3],"6-7-39":[2.32,568.37],"5-3-19":[1.56,568.37],"4-1-9":[1.56,568.37],"3-0-4":[1.56,1897.33],"6-7-40":[4.25,19.09],"6-7-41":[3.01,14.77],"5-3-20":[3.01,24.13],"6-7-42":[2.34,12.33],"6-7-43":[2.29,11.63],"5-3-21":[2.29,21.21],"4-1-10":[2.29,44.41],"6-7-44":[1.26,10.73],"6-7-45":[0.76,8.15],"5-3-22":[0.76,16.55],"6-7-46":[-6.78,4.11],"6-7-47":[-16.16,-2.7],"5-3-23":[-16.62,7.66],"4-1-11":[-17.27,32.28],"3-0-5":[-36.78,550.11],"6-7-48":[-26.58,-6.48],"6-7-49":[-40.15,-13.72],"5-3-24":[-40.15,-6.48],"6-7-50":[-47.56,-19.18],"6-7-51":[-60.03,-23.45],"5-3-25":[-63.69,-19.08],"4-1-12":[-70.17,-6.48],"6-7-52":[-69.12,-28.3],"6-7-53":[-81.45,-33.85],"5-3-26":[-84.19,-28.3],"6-7-54":[-93.97,-39.48],"6-7-55":[-109.85,-47.07],"5-3-27":[-110.06,-39.48],"4-1-13":[-113.49,-28.3],"3-0-6":[-120.92,6.49],"6-7-56":[-122.72,-54.61],"6-7-57":[-128.44,-60.84],"5-3-28":[-129.75,-54.61],"6-7-58":[-128.99,-62.74],"6-7-59":[-122.71,340.29],"5-3-29":[-129.75,340.29],"4-1-14":[-131.91,340.29],"6-7-60":[-107.62,329.56],"6-7-61":[-97.3,5.39],"5-3-30":[-109.45,382.35],"6-7-62":[-86.37,3872.33],"6-7-63":[-29.55,3078.77],"5-3-31":[-87.49,3872.33],"4-1-15":[-111.23,3872.33],"3-0-7":[-132.79,3970.41],"6-8-0":[11.25,27.28],"6-8-1":[8.74,21.81],"6-8-2":[2.69,17.9],"6-8-3":[-2.96,4.36],"6-8-4":[-4.02,0.26],"6-8-5":[-11.5,-1.15],"6-8-6":[-10.53,46.22],"6-8-7":[12.55,2230.09],"6-8-8":[36.02,2322.75],"6-8-9":[40.43,1231.31],"6-8-10":[15.75,1286.11],"6-8-11":[-30.38,2365.52],"6-8-12":[7.93,340.69],"6-8-13":[5.51,23.37],"6-8-14":[-1.67,15.39],"6-8-15":[-16.52,0.65],"6-8-16":[-24.69,-6.49],"6-8-17":[-32.29,-11.47],"6-8-18":[-35.39,-14.68],"6-8-19":[-34.56,-15.15],"6-8-20":[-31.71,-12.28],"6-8-21":[-26.05,-7.16],"6-8-22":[-18.78,1],"6-8-23":[-3.52,7.31],"6-8-24":[-3.45,4224.76],"6-8-25":[1,4199.19],"6-8-26":[0.32,10.2],"6-8-27":[0.52,13.28],"6-8-28":[4.26,20.81],"6-8-29":[8.36,29.82],"6-8-30":[12.88,34],"6-8-31":[-1.72,39.3],"6-8-32":[14.17,33.54],"6-8-33":[6.64,33.65],"6-8-34":[6.42,29.43],"6-8-35":[5.61,18.21],"6-8-36":[5.17,15.57],"6-8-37":[5.39,18.43],"6-8-38":[3.83,14.4],"6-8-39":[3.25,45.92],"6-8-40":[1.53,11.5],"6-8-41":[0.06,8],"6-8-42":[-0.02,5.43],"6-8-43":[0.21,5.22],"6-8-44":[-2.28,4.54],"6-8-45":[-2.62,2.59],"6-8-46":[-8.98,1.16],"6-8-47":[-17.03,-3.98],"6-8-48":[-25.84,-6.48],"6-8-49":[-38.78,-13.07],"6-8-50":[-45.69,-18.94],"6-8-51":[-56.6,-22.56],"6-8-52":[-66.31,-26.79],"6-8-53":[-78.98,-32.27],"6-8-54":[-91.83,-38.18],"6-8-55":[-109.23,-46.25],"6-8-56":[-120.92,-53.72],"6-8-57":[-127.6,-60.42],"6-8-58":[-128.14,-62.51],"6-8-59":[-122.71,772.25],"6-8-60":[-106.38,254.93],"6-8-61":[-97.02,77.33],"6-8-62":[-84.41,3797.09],"6-8-63":[-29.55,3066.33],"6-9-0":[11.45,27.35],"6-9-1":[8.74,22.1],"5-4-0":[8.74,27.35],"6-9-2":[2.31,17.45],"6-9-3":[-4.87,3.84],"5-4-1":[-4.87,17.9],"6-9-4":[-6.12,-0.5],"6-9-5":[-15.2,-2.83],"5-4-2":[-15.2,0.26],"6-9-6":[-15.2,52.5],"6-9-7":[4.19,2249.45],"5-4-3":[-15.2,2249.45],"6-9-8":[56.64,1957.92],"6-9-9":[69.73,3549.52],"5-4-4":[36.02,3549.52],"6-9-10":[-8.73,3498.22],"6-9-11":[-44.9,2301.61],"5-4-5":[-44.9,3498.22],"6-9-12":[6.61,28.12],"6-9-13":[5.07,22.28],"5-4-6":[5.07,340.69],"6-9-14":[-6.22,10.49],"6-9-15":[-22.36,-1.66],"5-4-7":[-22.36,15.39],"6-9-16":[-30.48,-8.53],"6-9-17":[-38.55,-13.07],"5-4-8":[-38.55,-6.49],"6-9-18":[-40.53,-16.27],"6-9-19":[-40.96,-16.03],"5-4-9":[-40.96,-14.68],"6-9-20":[-37.32,-13.34],"6-9-21":[-28.36,-9.72],"5-4-10":[-37.32,-7.16],"6-9-22":[-23.57,-3.51],"6-9-23":[-16.83,1.38],"5-4-11":[-23.57,7.31],"6-9-24":[-11.52,8.24],"6-9-25":[-7.91,8.27],"5-4-12":[-11.52,4224.76],"6-9-26":[-7.04,2.76],"6-9-27":[-5.19,7.73],"5-4-13":[-7.04,13.28],"6-9-28":[1.39,14.78],"6-9-29":[5.73,25.09],"5-4-14":[1.39,29.82],"6-9-30":[10.36,28.45],"6-9-31":[12.39,30.86],"5-4-15":[-1.72,39.3],"6-9-32":[13.54,31.34],"6-9-33":[10.49,28.46],"5-4-16":[6.64,33.65],"6-9-34":[7.62,22.63],"6-9-35":[4.58,15.89],"5-4-17":[4.58,29.43],"6-9-36":[2.95,11.11],"6-9-37":[-14.06,364.92],"5-4-18":[-14.06,364.92],"6-9-38":[1.83,11.45],"6-9-39":[-0.79,7.86],"5-4-19":[-0.79,45.92],"6-9-40":[-2.81,87.14],"6-9-41":[-2.9,2.06],"5-4-20":[-2.9,87.14],"6-9-42":[-3.32,0.4],"6-9-43":[-4.29,0.66],"5-4-21":[-4.29,5.43],"6-9-44":[-7.14,0.22],"6-9-45":[-8.9,-1.28],"5-4-22":[-8.9,4.54],"6-9-46":[-12.57,-1.34],"6-9-47":[-20.7,-5.15],"5-4-23":[-20.7,1.16],"6-9-48":[-26.09,-8.73],"6-9-49":[-37.6,-13.13],"5-4-24":[-38.78,-6.48],"6-9-50":[-45.9,-17.8],"6-9-51":[-53.38,-22.53],"5-4-25":[-56.6,-17.8],"6-9-52":[-62.81,-25.9],"6-9-53":[-76.09,-30.77],"5-4-26":[-78.98,-25.9],"6-9-54":[-90.63,-37.36],"6-9-55":[-107.41,-45.63],"5-4-27":[-109.23,-37.36],"6-9-56":[-119.96,-53.04],"6-9-57":[-125.63,-58.67],"5-4-28":[-127.6,-53.04],"6-9-58":[-126.31,-58.13],"6-9-59":[-119.94,1007.23],"5-4-29":[-128.14,1007.23],"6-9-60":[-106.59,462.57],"6-9-61":[-96,462.57],"5-4-30":[-106.59,462.57],"6-9-62":[-84.94,2783.57],"6-9-63":[-29.55,3039.73],"5-4-31":[-84.94,3797.09],"6-10-0":[11.66,27.39],"6-10-1":[8.8,22.47],"6-10-2":[2.11,17.55],"6-10-3":[-5.07,2.92],"6-10-4":[-6.14,-2.32],"6-10-5":[-16.63,-2.83],"6-10-6":[-16.98,31.96],"6-10-7":[-2.48,2250.87],"6-10-8":[75.19,1714.22],"6-10-9":[30.42,6207.28],"6-10-10":[-317.19,2318.12],"6-10-11":[5.09,380.19],"6-10-12":[6.09,24.81],"6-10-13":[0.81,18.21],"6-10-14":[-11.19,6.41],"6-10-15":[-27.78,-4.11],"6-10-16":[-35.96,-11.54],"6-10-17":[-43.9,-15.64],"6-10-18":[-45.01,-19.38],"6-10-19":[-44.42,-18.81],"6-10-20":[-43.08,-14.67],"6-10-21":[-34.29,-11.93],"6-10-22":[-28.41,-8.91],"6-10-23":[-23.59,-5.93],"6-10-24":[-20.03,-3.95],"6-10-25":[-15.21,-3.18],"6-10-26":[-11.97,-2.83],"6-10-27":[-7.59,2.35],"6-10-28":[-2.35,10.55],"6-10-29":[2.75,19.96],"6-10-30":[6.93,24.2],"6-10-31":[9.9,28.1],"6-10-32":[11.26,27.88],"6-10-33":[8.09,27.31],"6-10-34":[4.97,20.7],"6-10-35":[0.28,29.22],"6-10-36":[0.02,34.33],"6-10-37":[-7.05,982.44],"6-10-38":[-47,1738.21],"6-10-39":[-8.61,368.88],"6-10-40":[-9.1,399.3],"6-10-41":[-6.13,-0.9],"6-10-42":[-5.03,-1.07],"6-10-43":[-7.02,-1.37],"6-10-44":[-10.1,-2.29],"6-10-45":[-14.95,-3.92],"6-10-46":[-16.66,-4.4],"6-10-47":[-23.64,-6.94],"6-10-48":[-27.68,-10.44],"6-10-49":[-35.5,-13.58],"6-10-50":[-42.84,-16.97],"6-10-51":[-51.64,-20.99],"6-10-52":[-60.08,-24.38],"6-10-53":[-74.73,-29.94],"6-10-54":[-88.65,-36.56],"6-10-55":[-106.09,-44.4],"6-10-56":[-116.67,-51.74],"6-10-57":[-123.8,-57.34],"6-10-58":[-124.5,-55.65],"6-10-59":[-112.82,883.88],"6-10-60":[-105.11,570.37],"6-10-61":[-5.84,549.47],"6-10-62":[-84.94,2425.34],"6-10-63":[-29.55,3008.67],"6-11-0":[11.74,27.45],"6-11-1":[8.8,23.16],"5-5-0":[8.8,27.45],"6-11-2":[1.89,18.15],"6-11-3":[-6.35,2.66],"5-5-1":[-6.35,18.15],"4-2-0":[-6.35,27.45],"6-11-4":[-8.07,-2.32],"6-11-5":[-16.52,-3.47],"5-5-2":[-16.63,-2.32],"6-11-6":[-17.37,5.59],"6-11-7":[-2.46,2337.17],"5-5-3":[-17.37,2337.17],"4-2-1":[-17.37,2337.17],"6-11-8":[96.66,1624.53],"6-11-9":[111.02,4180.16],"5-5-4":[30.42,6207.28],"6-11-10":[-100.65,4014.2],"6-11-11":[5.56,27.09],"5-5-5":[-317.19,4014.2],"4-2-2":[-317.19,6207.28],"6-11-12":[4.91,20.02],"6-11-13":[-4.06,12.89],"5-5-6":[-4.06,24.81],"6-11-14":[-18.2,1.04],"6-11-15":[-33.3,-7.02],"5-5-7":[-33.3,6.41],"4-2-3":[-33.3,340.69],"6-11-16":[-42.2,-14.25],"6-11-17":[-50.16,-18.62],"5-5-8":[-50.16,-11.54],"6-11-18":[-52.64,-21.88],"6-11-19":[-51.01,-21.95],"5-5-9":[-52.64,-18.81],"4-2-4":[-52.64,-6.49],"6-11-20":[-49.53,-17.94],"6-11-21":[-42.64,-14.48],"5-5-10":[-49.53,-11.93],"6-11-22":[-34.91,-12.52],"6-11-23":[-31.5,-10.6],"5-5-11":[-34.91,-5.93],"4-2-5":[-49.53,7.31],"6-11-24":[-29.55,-8.2],"6-11-25":[-23.86,-6.38],"5-5-12":[-29.55,-3.18],"6-11-26":[-19.87,-4.46],"6-11-27":[-13.37,-1.47],"5-5-13":[-19.87,2.35],"4-2-6":[-29.55,4224.76],"6-11-28":[-8.39,3.39],"6-11-29":[-0.38,13.1],"5-5-14":[-8.39,19.96],"6-11-30":[3.79,18.24],"6-11-31":[7.04,23.18],"5-5-15":[3.79,28.1],"4-2-7":[-8.39,39.3],"6-11-32":[8.41,23.23],"6-11-33":[6.61,21.8],"5-5-16":[6.61,27.88],"6-11-34":[1.94,15.53],"6-11-35":[-0.83,8.74],"5-5-17":[-0.83,29.22],"4-2-8":[-0.83,33.65],"6-11-36":[-5.27,4.25],"6-11-37":[-19.17,108.86],"5-5-18":[-19.17,982.44],"6-11-38":[-10.07,418.12],"6-11-39":[-13.37,-1.41],"5-5-19":[-47,1738.21],"4-2-9":[-47,1738.21],"6-11-40":[-14.02,394.12],"6-11-41":[-9.37,-2.74],"5-5-20":[-14.02,399.3],"6-11-42":[-11.22,-2.09],"6-11-43":[-11.68,-2.6],"5-5-21":[-11.68,-1.07],"4-2-10":[-14.02,399.3],"6-11-44":[-14.51,-3.6],"6-11-45":[-18.66,-5.6],"5-5-22":[-18.66,-2.29],"6-11-46":[-22.45,-7.76],"6-11-47":[-26.05,-8.93],"5-5-23":[-26.05,-4.4],"4-2-11":[-26.05,4.54],"6-11-48":[-29.53,-11.9],"6-11-49":[-34.85,-13.59],"5-5-24":[-35.5,-10.44],"6-11-50":[-40.97,-16.5],"6-11-51":[-48.53,-20.15],"5-5-25":[-51.64,-16.5],"4-2-12":[-56.6,-6.48],"6-11-52":[-58.21,-23.76],"6-11-53":[-72.99,-29.48],"5-5-26":[-74.73,-23.76],"6-11-54":[-86.21,-36.12],"6-11-55":[-103.18,-43.08],"5-5-27":[-106.09,-36.12],"4-2-13":[-109.23,-23.76],"6-11-56":[-113.79,-50.3],"6-11-57":[-120.63,-55.96],"5-5-28":[-123.8,-50.3],"6-11-58":[-122.11,-30.17],"6-11-59":[-109.73,896.34],"5-5-29":[-124.5,896.34],"4-2-14":[-128.14,1007.23],"6-11-60":[-50.89,667.99],"6-11-61":[119.31,564.8],"5-5-30":[-105.11,667.99],"6-11-62":[-24.93,3379.23],"6-11-63":[-29.55,2977.45],"5-5-31":[-84.94,3379.23],"4-2-15":[-106.59,3797.09],"6-12-0":[11.81,27.54],"6-12-1":[9.27,23.85],"6-12-2":[1.81,18.51],"6-12-3":[-7.36,2.56],"6-12-4":[-10.2,-3.36],"6-12-5":[-14.2,-3.64],"6-12-6":[-17.25,-1.46],"6-12-7":[-2.4,2626.58],"6-12-8":[127.44,1971.14],"6-12-9":[267.44,4964.36],"6-12-10":[-3.84,5003.13],"6-12-11":[5.53,17.77],"6-12-12":[1.22,17.44],"6-12-13":[-9.28,8.08],"6-12-14":[-24.33,-2.54],"6-12-15":[-38.37,-10.05],"6-12-16":[-46.59,-16.83],"6-12-17":[-57.08,-21.69],"6-12-18":[-58.76,-25],"6-12-19":[-58.51,-24.8],"6-12-20":[-55.3,-22.36],"6-12-21":[-47.72,-17.53],"6-12-22":[-42.01,-15.94],"6-12-23":[-37.95,-14.94],"6-12-24":[-36.96,-12.18],"6-12-25":[-32.38,-10.05],"6-12-26":[-27.79,-7.26],"6-12-27":[-19.35,-4.41],"6-12-28":[-13.92,-0.37],"6-12-29":[-6.27,6.6],"6-12-30":[-0.21,13.43],"6-12-31":[3.37,18.86],"6-12-32":[5.2,19.08],"6-12-33":[3.85,16.44],"6-12-34":[1,12.4],"6-12-35":[-5.91,3.06],"6-12-36":[-9.39,-0.47],"6-12-37":[-17.5,26.39],"6-12-38":[-14.85,15.85],"6-12-39":[-17.05,13.14],"6-12-40":[-17.31,-5.04],"6-12-41":[-154.99,367.1],"6-12-42":[-15.2,-4.66],"6-12-43":[-16.85,-5.49],"6-12-44":[-17.72,-5.68],"6-12-45":[-20.88,-7.48],"6-12-46":[-23.23,-9.37],"6-12-47":[-28.2,-11.32],"6-12-48":[-31.15,-13.01],"6-12-49":[-35.22,-15.16],"6-12-50":[-39.72,-16.79],"6-12-51":[-47.41,-19.15],"6-12-52":[-57.34,-23.29],"6-12-53":[-72.24,-28.77],"6-12-54":[-84.64,-35.59],"6-12-55":[-100.6,-41.81],"6-12-56":[-110.81,-48.6],"6-12-57":[-116.73,-54.27],"6-12-58":[-118.77,732.21],"6-12-59":[-106.63,1118.71],"6-12-60":[70.79,697.82],"6-12-61":[154.07,547.44],"6-12-62":[132.66,3177.52],"6-12-63":[-29.55,2958.4],"6-13-0":[11.89,27.69],"6-13-1":[9.27,24.72],"5-6-0":[9.27,27.69],"6-13-2":[1.77,18.69],"6-13-3":[-8.12,2.29],"5-6-1":[-8.12,18.69],"6-13-4":[-12.79,-3.7],"6-13-5":[-16.12,-5.11],"5-6-2":[-16.12,-3.36],"6-13-6":[-16.46,-1.51],"6-13-7":[-4.5,2443.65],"5-6-3":[-17.25,2626.58],"6-13-8":[159.96,1955.52],"6-13-9":[264.67,3305.19],"5-6-4":[127.44,4964.36],"6-13-10":[-0.63,5501.18],"6-13-11":[3.4,16.19],"5-6-5":[-3.84,5501.18],"6-13-12":[-4.33,12.53],"6-13-13":[-18.11,1.23],"5-6-6":[-18.11,17.44],"6-13-14":[-32.01,-5.03],"6-13-15":[-45.8,-13.68],"5-6-7":[-45.8,-2.54],"6-13-16":[-52.61,-19.6],"6-13-17":[-65.07,-24.29],"5-6-8":[-65.07,-16.83],"6-13-18":[-66.2,-29.09],"6-13-19":[-65.62,-28.05],"5-6-9":[-66.2,-24.8],"6-13-20":[-61.26,-25.11],"6-13-21":[-55.52,-21.57],"5-6-10":[-61.26,-17.53],"6-13-22":[-51.8,-19.25],"6-13-23":[-47.07,-19.08],"5-6-11":[-51.8,-14.94],"6-13-24":[-46.24,-17.09],"6-13-25":[-43.41,-14.52],"5-6-12":[-46.24,-10.05],"6-13-26":[-38.71,-10.51],"6-13-27":[-27.96,-7.34],"5-6-13":[-38.71,-4.41],"6-13-28":[-23.22,-4.17],"6-13-29":[-16.97,-0.2],"5-6-14":[-23.22,6.6],"6-13-30":[-9.11,5.15],"6-13-31":[-0.62,10.05],"5-6-15":[-9.11,18.86],"6-13-32":[1.62,10.97],"6-13-33":[1.64,9.15],"5-6-16":[1.62,19.08],"6-13-34":[-12.01,574],"6-13-35":[-8.4,3.2],"5-6-17":[-12.01,574],"6-13-36":[-12.41,-2.96],"6-13-37":[-12.61,18.94],"5-6-18":[-17.5,26.39],"6-13-38":[-17.05,15.14],"6-13-39":[-23.08,21.33],"5-6-19":[-23.08,21.33],"6-13-40":[-20.89,-7.97],"6-13-41":[-20.89,-4.36],"5-6-20":[-154.99,367.1],"6-13-42":[-17.41,-4.92],"6-13-43":[-19.71,-8.03],"5-6-21":[-19.71,-4.66],"6-13-44":[-19.71,-8.36],"6-13-45":[-23.09,-9.22],"5-6-22":[-23.09,-5.68],"6-13-46":[-26.22,-10.62],"6-13-47":[-29.93,-11.92],"5-6-23":[-29.93,-9.37],"6-13-48":[-33.2,-14.27],"6-13-49":[-36.69,-15.88],"5-6-24":[-36.69,-13.01],"6-13-50":[-37.72,-16.79],"6-13-51":[-46.58,-18.04],"5-6-25":[-47.41,-16.79],"6-13-52":[-56.13,-21.69],"6-13-53":[-71.1,-28.36],"5-6-26":[-72.24,-21.69],"6-13-54":[-82.17,-35.16],"6-13-55":[-96.84,-41.49],"5-6-27":[-100.6,-35.16],"6-13-56":[-107.17,-47.12],"6-13-57":[-113.4,-52.39],"5-6-28":[-116.73,-47.12],"6-13-58":[-113.8,799.79],"6-13-59":[542.77,1415.24],"5-6-29":[-118.77,1415.24],"6-13-60":[220.94,696.8],"6-13-61":[196.25,578.81],"5-6-30":[70.79,697.82],"6-13-62":[157.82,2807.42],"6-13-63":[-29.55,2933.27],"5-6-31":[-29.55,3177.52],"6-14-0":[11.98,27.81],"6-14-1":[9.31,25.28],"6-14-2":[1.78,18.69],"6-14-3":[-8.42,2.84],"6-14-4":[-14.71,-4.24],"6-14-5":[-17.71,-6.65],"6-14-6":[-16.95,-3.21],"6-14-7":[-6.95,1629.08],"6-14-8":[241.64,2195.84],"6-14-9":[291.07,2352.25],"6-14-10":[-17.81,5990.12],"6-14-11":[-1.23,1250.79],"6-14-12":[-8.91,5.47],"6-14-13":[-24.35,-2.9],"6-14-14":[-37.36,-9.51],"6-14-15":[-50.8,-17],"6-14-16":[-57.16,-23.13],"6-14-17":[-69.06,-26.79],"6-14-18":[-71.13,-32.26],"6-14-19":[-70.57,-30.63],"6-14-20":[-66.49,-28.02],"6-14-21":[-61.06,-25.99],"6-14-22":[-58.98,-23.49],"6-14-23":[-55.47,-22.95],"6-14-24":[-54.23,-21.9],"6-14-25":[-50.55,-19.65],"6-14-26":[-46.21,-14.46],"6-14-27":[-36.47,-11.82],"6-14-28":[-32.84,-8.88],"6-14-29":[-24.98,-4.86],"6-14-30":[-17.66,-0.54],"6-14-31":[-8.29,3.14],"6-14-32":[-4.33,4.38],"6-14-33":[-3.04,4.04],"6-14-34":[-30.12,444.87],"6-14-35":[-45.64,1253.85],"6-14-36":[-15.82,-4.2],"6-14-37":[-18.57,11.81],"6-14-38":[-20.38,12.56],"6-14-39":[-34.53,29.28],"6-14-40":[-23.61,-9.96],"6-14-41":[-23.65,-8.25],"6-14-42":[-22.26,-7.63],"6-14-43":[-21.36,-8.79],"6-14-44":[-21.36,-9.44],"6-14-45":[-23.95,-9.8],"6-14-46":[-26.93,-11.59],"6-14-47":[-30.83,-13.34],"6-14-48":[-34.25,-14.96],"6-14-49":[-36.46,-16.64],"6-14-50":[-38.97,-17.15],"6-14-51":[-43.17,-17.84],"6-14-52":[-55.2,-20.47],"6-14-53":[-70.32,-27.45],"6-14-54":[-81.47,-34.2],"6-14-55":[-94.24,-40.37],"6-14-56":[-103.99,-46.19],"6-14-57":[-110.48,-50.32],"6-14-58":[-111.11,1501.65],"6-14-59":[649.8,1730.64],"6-14-60":[290.61,752.21],"6-14-61":[298.29,587.99],"6-14-62":[230.04,3232.04],"6-14-63":[-29.54,2914.46],"6-15-0":[12.07,27.95],"6-15-1":[9.31,25.8],"5-7-0":[9.31,27.95],"6-15-2":[2,18.62],"6-15-3":[-9.36,3.57],"5-7-1":[-9.36,18.69],"4-3-0":[-9.36,27.95],"6-15-4":[-15.66,-4.24],"6-15-5":[-19.9,-7.76],"5-7-2":[-19.9,-4.24],"6-15-6":[-18.71,-3.02],"6-15-7":[-10.73,1677.33],"5-7-3":[-18.71,1677.33],"4-3-1":[-19.9,2626.58],"3-1-0":[-19.9,2626.58],"6-15-8":[6.28,2201.64],"6-15-9":[372.06,2244.89],"5-7-4":[6.28,2352.25],"6-15-10":[-3.5,3286.53],"6-15-11":[-24.01,4338.49],"5-7-5":[-24.01,5990.12],"4-3-2":[-24.01,5990.12],"6-15-12":[-16,0.26],"6-15-13":[-30.5,-5.77],"5-7-6":[-30.5,5.47],"6-15-14":[-41.91,-12.56],"6-15-15":[-54.89,-19.83],"5-7-7":[-54.89,-9.51],"4-3-3":[-54.89,17.44],"3-1-1":[-317.19,6207.28],"2-0-0":[-317.19,6207.28],"6-15-16":[-61.53,-25.72],"6-15-17":[-71.96,-29.35],"5-7-8":[-71.96,-23.13],"6-15-18":[-74.97,-34.5],"6-15-19":[-75.35,-33.7],"5-7-9":[-75.35,-30.63],"4-3-4":[-75.35,-16.83],"6-15-20":[-73.32,-31.19],"6-15-21":[-69.11,-29.89],"5-7-10":[-73.32,-25.99],"6-15-22":[-67.31,-28.48],"6-15-23":[-66.05,-27.68],"5-7-11":[-67.31,-22.95],"4-3-5":[-73.32,-14.94],"3-1-2":[-75.35,7.31],"6-15-24":[-64.91,-26.11],"6-15-25":[-62.05,-23.7],"5-7-12":[-64.91,-19.65],"6-15-26":[-58.25,-19.12],"6-15-27":[-49.51,-17.07],"5-7-13":[-58.25,-11.82],"4-3-6":[-64.91,-4.41],"6-15-28":[-44.78,-13.51],"6-15-29":[-35.93,-9.36],"5-7-14":[-44.78,-4.86],"6-15-30":[-28.32,-5.14],"6-15-31":[-19.14,-2.71],"5-7-15":[-28.32,3.14],"4-3-7":[-44.78,18.86],"3-1-3":[-64.91,4224.76],"2-0-1":[-75.35,4224.76],"6-15-32":[-13.73,-1.71],"6-15-33":[-10.63,-1.49],"5-7-16":[-13.73,4.38],"6-15-34":[-10.78,-2.12],"6-15-35":[-13.93,-2.93],"5-7-17":[-45.64,1253.85],"4-3-8":[-45.64,1253.85],"6-15-36":[-18.78,-4.46],"6-15-37":[-22.12,-7.9],"5-7-18":[-22.12,11.81],"6-15-38":[-22.48,7.98],"6-15-39":[-23.83,16.82],"5-7-19":[-34.53,29.28],"4-3-9":[-34.53,29.28],"3-1-4":[-47,1738.21],"6-15-40":[-25.6,210.54],"6-15-41":[-26.63,-11.38],"5-7-20":[-26.63,210.54],"6-15-42":[-26.15,-10.1],"6-15-43":[-23.47,-10.22],"5-7-21":[-26.15,-7.63],"4-3-10":[-154.99,367.1],"6-15-44":[-23.37,-10.28],"6-15-45":[-24.8,-10.38],"5-7-22":[-24.8,-9.44],"6-15-46":[-27.57,-12.05],"6-15-47":[-31.68,-13.68],"5-7-23":[-31.68,-11.59],"4-3-11":[-31.68,-5.68],"3-1-5":[-154.99,399.3],"2-0-2":[-154.99,1897.33],"6-15-48":[-33.83,-15.28],"6-15-49":[-36.24,-16.57],"5-7-24":[-36.46,-14.96],"6-15-50":[-40.85,-17.93],"6-15-51":[-40.81,-17.17],"5-7-25":[-43.17,-17.15],"4-3-12":[-47.41,-13.01],"6-15-52":[-53.46,-20.29],"6-15-53":[-68.22,-26.61],"5-7-26":[-70.32,-20.29],"6-15-54":[-79.48,-33.55],"6-15-55":[-91.99,-40.09],"5-7-27":[-94.24,-33.55],"4-3-13":[-100.6,-20.29],"3-1-6":[-109.23,-6.48],"6-15-56":[-99.15,-44.2],"6-15-57":[-105.53,-47.94],"5-7-28":[-110.48,-44.2],"6-15-58":[-105.53,1582.81],"6-15-59":[752.2,3280.76],"5-7-29":[-111.11,3280.76],"4-3-14":[-118.77,3280.76],"6-15-60":[370.12,1055.95],"6-15-61":[342.75,583.66],"5-7-30":[290.61,1055.95],"6-15-62":[359.13,3299.77],"6-15-63":[-29.54,2899.4],"5-7-31":[-29.54,3299.77],"4-3-15":[-29.55,3299.77],"3-1-7":[-128.14,3797.09],"2-0-3":[-132.79,3970.41],"6-16-0":[12.18,28.06],"6-16-1":[9.42,26.44],"6-16-2":[2.35,18.81],"6-16-3":[-9.47,3.62],"6-16-4":[-15.5,-4.65],"6-16-5":[-19.9,-6.14],"6-16-6":[-18.71,-2.92],"6-16-7":[-13.51,358.63],"6-16-8":[4.93,2700.74],"6-16-9":[524.03,2379.96],"6-16-10":[138.16,2349.52],"6-16-11":[-19.04,3089.83],"6-16-12":[-32.37,1191.79],"6-16-13":[-32.78,1099.24],"6-16-14":[-42.73,-15.25],"6-16-15":[-55.78,-21.82],"6-16-16":[-62.13,-27.45],"6-16-17":[-73.82,-31.05],"6-16-18":[-77.86,-35.86],"6-16-19":[-79.19,-36.66],"6-16-20":[-78.8,-34.53],"6-16-21":[-75.08,-33.65],"6-16-22":[-74.19,-33.08],"6-16-23":[-73.6,-32.44],"6-16-24":[-71.56,-31.17],"6-16-25":[-70.97,-29.12],"6-16-26":[-66.99,-25.12],"6-16-27":[-59.8,-22.61],"6-16-28":[-53.63,-18.47],"6-16-29":[-44.99,-14.42],"6-16-30":[-35.2,-9.88],"6-16-31":[-25.62,-7.01],"6-16-32":[-19.94,-5.38],"6-16-33":[-16.2,-5.07],"6-16-34":[-15.92,-4.9],"6-16-35":[-16.42,-5.38],"6-16-36":[-19.23,-6.96],"6-16-37":[-22.12,-9.38],"6-16-38":[-22.83,-10.64],"6-16-39":[-23.64,-10.88],"6-16-40":[-25.6,395.5],"6-16-41":[-27.18,-12.58],"6-16-42":[-27.19,-11.89],"6-16-43":[-25.25,-11.48],"6-16-44":[-23.89,-10.73],"6-16-45":[-25.51,-11.64],"6-16-46":[-27.55,-12.42],"6-16-47":[-30.38,-13.83],"6-16-48":[-32.72,-14.63],"6-16-49":[-36.23,-15.29],"6-16-50":[-40.57,-17.57],"6-16-51":[-40.62,-17.17],"6-16-52":[-52.6,-20.03],"6-16-53":[-67.1,-26.24],"6-16-54":[-78.95,-32.27],"6-16-55":[-88.41,-38.74],"6-16-56":[-94.87,-42.36],"6-16-57":[-102.31,-45.37],"6-16-58":[-102.31,2780.28],"6-16-59":[1055.94,3057.06],"6-16-60":[561.63,1251.61],"6-16-61":[360.22,729.54],"6-16-62":[569.39,3324.73],"6-16-63":[-29.54,2887.59],"6-17-0":[12.28,28.2],"6-17-1":[9.42,27.09],"5-8-0":[9.42,28.2],"6-17-2":[2.44,19.47],"6-17-3":[-9.26,3.4],"5-8-1":[-9.47,19.47],"6-17-4":[-12.46,-4.27],"6-17-5":[-17.6,-3.54],"5-8-2":[-19.9,-3.54],"6-17-6":[-16.97,-3.57],"6-17-7":[-17.03,450.81],"5-8-3":[-18.71,450.81],"6-17-8":[-1,2409.04],"6-17-9":[729.41,2941.77],"5-8-4":[-1,2941.77],"6-17-10":[639.5,2300.19],"6-17-11":[-7.73,3041.41],"5-8-5":[-19.04,3089.83],"6-17-12":[-40.41,2709.89],"6-17-13":[-36.12,1110.77],"5-8-6":[-40.41,2709.89],"6-17-14":[-44.38,-16.38],"6-17-15":[-55.37,-22.03],"5-8-7":[-55.78,-15.25],"6-17-16":[-62.03,-26.24],"6-17-17":[-74.43,-30.62],"5-8-8":[-74.43,-26.24],"6-17-18":[-79.53,-36.84],"6-17-19":[-81.78,-38.94],"5-8-9":[-81.78,-35.86],"6-17-20":[-81.39,-38.14],"6-17-21":[-82.89,-37.3],"5-8-10":[-82.89,-33.65],"6-17-22":[-83.1,-37.32],"6-17-23":[-82.35,-36.18],"5-8-11":[-83.1,-32.44],"6-17-24":[-81.19,-36.06],"6-17-25":[-80.32,-33.99],"5-8-12":[-81.19,-29.12],"6-17-26":[-77.62,-31.19],"6-17-27":[-70.94,-27.45],"5-8-13":[-77.62,-22.61],"6-17-28":[-64.31,-23.68],"6-17-29":[-54,-18.06],"5-8-14":[-64.31,-14.42],"6-17-30":[-43.73,-13.82],"6-17-31":[-34.31,-10.34],"5-8-15":[-43.73,-7.01],"6-17-32":[-28.04,-8.32],"6-17-33":[-22.53,-7.81],"5-8-16":[-28.04,-5.07],"6-17-34":[-20.71,-7.81],"6-17-35":[-20.22,-8],"5-8-17":[-20.71,-4.9],"6-17-36":[-18.91,-8.25],"6-17-37":[-21.69,-9.44],"5-8-18":[-22.12,-6.96],"6-17-38":[-22.79,-10.07],"6-17-39":[-23.64,-11.06],"5-8-19":[-23.64,-10.07],"6-17-40":[-25.6,315.4],"6-17-41":[-27.15,-11.32],"5-8-20":[-27.18,395.5],"6-17-42":[-27.2,-12.55],"6-17-43":[-25.3,-11.22],"5-8-21":[-27.2,-11.22],"6-17-44":[-23.39,-10.83],"6-17-45":[-25.69,-11.63],"5-8-22":[-25.69,-10.73],"6-17-46":[-27.32,-12.29],"6-17-47":[-29.02,-13.43],"5-8-23":[-30.38,-12.29],"6-17-48":[-30.31,-14],"6-17-49":[-34.83,-14.43],"5-8-24":[-36.23,-14],"6-17-50":[-36.28,-15.71],"6-17-51":[-39.91,-16.54],"5-8-25":[-40.62,-15.71],"6-17-52":[-49.95,-19.22],"6-17-53":[-64.39,-24.43],"5-8-26":[-67.1,-19.22],"6-17-54":[-75.83,-31.35],"6-17-55":[-84.15,-37.16],"5-8-27":[-88.41,-31.35],"6-17-56":[-89.73,-39.94],"6-17-57":[-97.13,-43.44],"5-8-28":[-102.31,-39.94],"6-17-58":[-96.35,2730.02],"6-17-59":[1251.6,2341.32],"5-8-29":[-102.31,3057.06],"6-17-60":[646.73,1350.33],"6-17-61":[434.89,803.49],"5-8-30":[360.22,1350.33],"6-17-62":[729.53,3573.17],"6-17-63":[-29.54,2879.05],"5-8-31":[-29.54,3573.17],"6-18-0":[12.4,28.31],"6-18-1":[10.07,27.6],"6-18-2":[2.4,20.08],"6-18-3":[-8.33,2.75],"6-18-4":[-10.4,-2.36],"6-18-5":[-18.83,-3.43],"6-18-6":[-22.53,142.08],"6-18-7":[-18.17,429.97],"6-18-8":[-0.16,2151.79],"6-18-9":[348.42,2614.23],"6-18-10":[9.51,2710.75],"6-18-11":[294.75,2698.9],"6-18-12":[-24.66,2746.59],"6-18-13":[-259.61,2747.57],"6-18-14":[-46.28,1843.49],"6-18-15":[-53.35,-22.18],"6-18-16":[-60.66,-26.44],"6-18-17":[-73.74,-29.66],"6-18-18":[-79.72,-35.92],"6-18-19":[-82.56,-39.87],"6-18-20":[-83.14,-40.29],"6-18-21":[-87.25,-40.68],"6-18-22":[-88.44,-41.38],"6-18-23":[-87.74,-40.45],"6-18-24":[-87.08,-40.24],"6-18-25":[-86.36,-38.8],"6-18-26":[-83.25,-35.89],"6-18-27":[-78.02,-32.16],"6-18-28":[-71.88,-27.65],"6-18-29":[-60.18,-22.1],"6-18-30":[-49.79,-17.75],"6-18-31":[-40.43,-14.23],"6-18-32":[-34.17,-11.43],"6-18-33":[-27.72,-10.12],"6-18-34":[-24.22,-9.98],"6-18-35":[-22.71,-9.16],"6-18-36":[-19.05,-9.09],"6-18-37":[-20.03,-8.96],"6-18-38":[-21.83,-9.07],"6-18-39":[-23.26,-10.05],"6-18-40":[-22.96,30.18],"6-18-41":[-25.64,-10.66],"6-18-42":[-26.07,-11.58],"6-18-43":[-24.63,-10.9],"6-18-44":[-23.29,-10.9],"6-18-45":[-24.95,-11.37],"6-18-46":[-26.58,-12.17],"6-18-47":[-27.96,-12.57],"6-18-48":[-28.66,-12.73],"6-18-49":[-31.29,-12.64],"6-18-50":[-33.1,-13.52],"6-18-51":[-38.3,-14.77],"6-18-52":[-46.75,-18.61],"6-18-53":[-62.71,-23.22],"6-18-54":[-73.11,-30.4],"6-18-55":[-79.89,-35.13],"6-18-56":[-85.72,-38.01],"6-18-57":[-91.81,-40.53],"6-18-58":[-89.38,2750.5],"6-18-59":[1350.32,2817.84],"6-18-60":[749.4,1490.05],"6-18-61":[552.13,901.46],"6-18-62":[803.48,3682.63],"6-18-63":[-29.54,2878.07],"6-19-0":[12.49,28.44],"6-19-1":[10.07,28.63],"5-9-0":[10.07,28.63],"6-19-2":[2.33,20.54],"6-19-3":[-8.14,2.42],"5-9-1":[-8.33,20.54],"4-4-0":[-9.47,28.63],"6-19-4":[-13.58,-2.05],"6-19-5":[-21.21,283.5],"5-9-2":[-21.21,283.5],"6-19-6":[-26.63,317.55],"6-19-7":[-24.44,581.34],"5-9-3":[-26.63,581.34],"4-4-1":[-26.63,581.34],"6-19-8":[-7.43,973.14],"6-19-9":[6.63,2480.85],"5-9-4":[-7.43,2614.23],"6-19-10":[-1.43,2228.73],"6-19-11":[399.03,2929.86],"5-9-5":[-1.43,2929.86],"4-4-2":[-19.04,3089.83],"6-19-12":[587.41,2399.44],"6-19-13":[-30.31,3974.94],"5-9-6":[-259.61,3974.94],"6-19-14":[-46.53,2829.29],"6-19-15":[-55.15,2131.34],"5-9-7":[-55.15,2829.29],"4-4-3":[-259.61,3974.94],"6-19-16":[-60.39,1592.47],"6-19-17":[-71.31,1595.59],"5-9-8":[-73.74,1595.59],"6-19-18":[-78.96,251.63],"6-19-19":[-83.12,-38.05],"5-9-9":[-83.12,251.63],"4-4-4":[-83.12,1595.59],"6-19-20":[-84.9,-41.29],"6-19-21":[-89.63,-42.03],"5-9-10":[-89.63,-40.29],"6-19-22":[-92.74,-43.78],"6-19-23":[-93.19,-43.92],"5-9-11":[-93.19,-40.45],"4-4-5":[-93.19,-32.44],"6-19-24":[-93.06,-43.61],"6-19-25":[-92.29,-42.14],"5-9-12":[-93.06,-38.8],"6-19-26":[-89.24,-39.76],"6-19-27":[-85.23,-36.36],"5-9-13":[-89.24,-32.16],"4-4-6":[-93.06,-22.61],"6-19-28":[-78.96,-31.27],"6-19-29":[-67.42,-25.3],"5-9-14":[-78.96,-22.1],"6-19-30":[-57.07,-21.14],"6-19-31":[-48.07,-17.54],"5-9-15":[-57.07,-14.23],"4-4-7":[-78.96,-7.01],"6-19-32":[-41.41,-14.6],"6-19-33":[-33.3,-12.43],"5-9-16":[-41.41,-10.12],"6-19-34":[-28.55,-11.75],"6-19-35":[-23.48,-9.55],"5-9-17":[-28.55,-9.16],"4-4-8":[-41.41,-4.9],"6-19-36":[-19.4,-8.58],"6-19-37":[-18.07,-7.73],"5-9-18":[-20.03,-7.73],"6-19-38":[-19.41,-7.69],"6-19-39":[-21.4,-8.18],"5-9-19":[-23.26,-7.69],"4-4-9":[-23.64,-6.96],"6-19-40":[-21.19,0.38],"6-19-41":[-23.26,-9.49],"5-9-20":[-25.64,30.18],"6-19-42":[-23.81,-10.86],"6-19-43":[-23.19,-10.71],"5-9-21":[-26.07,-10.71],"4-4-10":[-27.2,395.5],"6-19-44":[-23.63,-10.75],"6-19-45":[-24.65,-11.33],"5-9-22":[-24.95,-10.75],"6-19-46":[-24.92,-11.97],"6-19-47":[-25.67,-11.81],"5-9-23":[-27.96,-11.81],"4-4-11":[-30.38,-10.73],"6-19-48":[-25.62,-11.54],"6-19-49":[-26.6,-11.36],"5-9-24":[-31.29,-11.36],"6-19-50":[-29.05,-11.87],"6-19-51":[-37.03,-13.23],"5-9-25":[-38.3,-11.87],"4-4-12":[-40.62,-11.36],"6-19-52":[-44.46,-17.75],"6-19-53":[-60.61,-22.7],"5-9-26":[-62.71,-17.75],"6-19-54":[-69.03,-29.59],"6-19-55":[-75.62,-33.5],"5-9-27":[-79.89,-29.59],"4-4-13":[-88.41,-17.75],"6-19-56":[-80.8,-36.68],"6-19-57":[-87.74,-39.43],"5-9-28":[-91.81,-36.68],"6-19-58":[-80.06,2986.57],"6-19-59":[1490.04,3530.83],"5-9-29":[-89.38,3530.83],"4-4-14":[-102.31,3530.83],"6-19-60":[865.9,1514.1],"6-19-61":[606.22,956.54],"5-9-30":[552.13,1514.1],"6-19-62":[901.45,3114.64],"6-19-63":[-29.54,2878.57],"5-9-31":[-29.54,3682.63],"4-4-15":[-29.54,3682.63],"6-20-0":[12.6,28.55],"6-20-1":[10.43,29.48],"6-20-2":[2.27,20.82],"6-20-3":[-7.48,2.38],"6-20-4":[-13.58,105.36],"6-20-5":[-22.77,360.51],"6-20-6":[-29.85,693.54],"6-20-7":[-27.48,842.66],"6-20-8":[101.52,662.44],"6-20-9":[38.73,1501.83],"6-20-10":[-7.86,1335.36],"6-20-11":[265.12,2410.7],"6-20-12":[394.15,2580.47],"6-20-13":[176.29,3118.01],"6-20-14":[-26.42,3265.41],"6-20-15":[-24.65,4373.52],"6-20-16":[-14.17,3180.62],"6-20-17":[-27.55,4292.74],"6-20-18":[-76.12,2093.71],"6-20-19":[-82.77,1757.21],"6-20-20":[-84.77,-39.45],"6-20-21":[-90.02,-41.79],"6-20-22":[-93.63,-44.7],"6-20-23":[-95.18,-46.27],"6-20-24":[-95.41,-46.25],"6-20-25":[-94.65,-44.61],"6-20-26":[-91.54,-43],"6-20-27":[-87.87,-39.48],"6-20-28":[-81.88,-34.42],"6-20-29":[-70.45,-28.53],"6-20-30":[-61.33,-24.48],"6-20-31":[-52.2,-20.85],"6-20-32":[-45.21,-17.01],"6-20-33":[-35.82,-14.29],"6-20-34":[-30,-12.23],"6-20-35":[-24.98,-9.38],"6-20-36":[-19.21,-7.52],"6-20-37":[-16.88,-6.21],"6-20-38":[-16.13,-6.04],"6-20-39":[-17.89,-6.16],"6-20-40":[-18.62,-6.82],"6-20-41":[-21.61,-7.83],"6-20-42":[-22.22,-9.86],"6-20-43":[-23.83,-10.66],"6-20-44":[-24.73,-11.26],"6-20-45":[-25.79,-11.42],"6-20-46":[-25.8,-11.97],"6-20-47":[-24.13,-11.21],"6-20-48":[-23.48,-10.65],"6-20-49":[-23.65,-10.31],"6-20-50":[-26.04,-10.7],"6-20-51":[-35.46,-11.92],"6-20-52":[-44.23,-15.93],"6-20-53":[-59.19,-21.91],"6-20-54":[-66.26,-28.4],"6-20-55":[-73.37,-32.29],"6-20-56":[-79.03,-35.55],"6-20-57":[-84.12,-37.56],"6-20-58":[-79.02,1956.61],"6-20-59":[1514.09,2297.87],"6-20-60":[953.69,1535.12],"6-20-61":[812.01,1063],"6-20-62":[956.53,2865.19],"6-20-63":[-29.59,2878.57],"6-21-0":[12.69,28.95],"6-21-1":[10.43,30.37],"5-10-0":[10.43,30.37],"6-21-2":[2.27,21.72],"6-21-3":[-4.05,2.72],"5-10-1":[-7.48,21.72],"6-21-4":[-14.88,306.82],"6-21-5":[-25.82,454.87],"5-10-2":[-25.82,454.87],"6-21-6":[-33.35,413.74],"6-21-7":[-35.21,781.37],"5-10-3":[-35.21,842.66],"6-21-8":[126.37,696.58],"6-21-9":[137.72,880.39],"5-10-4":[38.73,1501.83],"6-21-10":[-10.46,833.93],"6-21-11":[299.05,1099.39],"5-10-5":[-10.46,2410.7],"6-21-12":[314.78,3253.8],"6-21-13":[300.79,3939.1],"5-10-6":[176.29,3939.1],"6-21-14":[196.37,2946.16],"6-21-15":[15.24,2851.96],"5-10-7":[-26.42,4373.52],"6-21-16":[351.22,2953.97],"6-21-17":[661.98,3100.13],"5-10-8":[-27.55,4292.74],"6-21-18":[-17.49,4387.58],"6-21-19":[-41.7,4242],"5-10-9":[-82.77,4387.58],"6-21-20":[-83.6,610.58],"6-21-21":[-89.13,1248.21],"5-10-10":[-90.02,1248.21],"6-21-22":[-93.13,-43.26],"6-21-23":[-95.04,-45.42],"5-10-11":[-95.18,-43.26],"6-21-24":[-95.32,-46.3],"6-21-25":[-94.74,-45.23],"5-10-12":[-95.41,-44.61],"6-21-26":[-91.98,-43.77],"6-21-27":[-87.81,-40.96],"5-10-13":[-91.98,-39.48],"6-21-28":[-82.67,-36.11],"6-21-29":[-71.2,-30.73],"5-10-14":[-82.67,-28.53],"6-21-30":[-63.31,-26.83],"6-21-31":[-54.81,-22.8],"5-10-15":[-63.31,-20.85],"6-21-32":[-47.82,-18.67],"6-21-33":[-38.41,-15.13],"5-10-16":[-47.82,-14.29],"6-21-34":[-32.21,-12.89],"6-21-35":[-25.63,-9.33],"5-10-17":[-32.21,-9.33],"6-21-36":[-19.3,-6.07],"6-21-37":[-14.54,-4.67],"5-10-18":[-19.3,-4.67],"6-21-38":[-12.06,-4.21],"6-21-39":[-13.18,-4.21],"5-10-19":[-17.89,-4.21],"6-21-40":[-15.05,-5.08],"6-21-41":[-19.58,-6.52],"5-10-20":[-21.61,-5.08],"6-21-42":[-21.17,-9.26],"6-21-43":[-22.89,-10.44],"5-10-21":[-23.83,-9.26],"6-21-44":[-24.5,-11.31],"6-21-45":[-26.05,-12.01],"5-10-22":[-26.05,-11.26],"6-21-46":[-26.03,-11.96],"6-21-47":[-24,-10.76],"5-10-23":[-26.03,-10.76],"6-21-48":[-22.24,-10.03],"6-21-49":[-21.6,-9.78],"5-10-24":[-23.65,-9.78],"6-21-50":[-23.2,-10.14],"6-21-51":[-31.43,-11.33],"5-10-25":[-35.46,-10.14],"6-21-52":[-42.02,-14.72],"6-21-53":[-56.28,-21.16],"5-10-26":[-59.19,-14.72],"6-21-54":[-63.59,-26.87],"6-21-55":[-71.43,-31.11],"5-10-27":[-73.37,-26.87],"6-21-56":[-74.31,-34.39],"6-21-57":[-79.17,-34.74],"5-10-28":[-84.12,-34.39],"6-21-58":[-75.47,1699.95],"6-21-59":[1495.5,2538.05],"5-10-29":[-79.02,2538.05],"6-21-60":[1062.99,1626.41],"6-21-61":[869.71,1241.73],"5-10-30":[812.01,1626.41],"6-21-62":[1025.91,2638.67],"6-21-63":[-29.63,2874.63],"5-10-31":[-29.63,2878.57],"6-22-0":[12.8,29.12],"6-22-1":[11.43,30.77],"6-22-2":[2.33,22.89],"6-22-3":[-2.3,5.53],"6-22-4":[-15.36,459.75],"6-22-5":[-28.86,707.55],"6-22-6":[-33.69,562.23],"6-22-7":[-36.83,561.11],"6-22-8":[106.74,731.19],"6-22-9":[124.49,633.28],"6-22-10":[-20.19,980.63],"6-22-11":[221.72,953.84],"6-22-12":[291.67,1945.45],"6-22-13":[407.7,3751.07],"6-22-14":[373.13,3467.23],"6-22-15":[143.66,2981.68],"6-22-16":[498.91,2953.81],"6-22-17":[1005.33,3455.03],"6-22-18":[-109.13,3616.13],"6-22-19":[-115.5,3677.07],"6-22-20":[-106.82,3055.54],"6-22-21":[-87.07,2579.5],"6-22-22":[-90.86,227.36],"6-22-23":[-93.31,-36.74],"6-22-24":[-93.47,-43.31],"6-22-25":[-92.56,-42.61],"6-22-26":[-90.46,-41.08],"6-22-27":[-87.11,-38.63],"6-22-28":[-81.94,-34.92],"6-22-29":[-71.11,-31.11],"6-22-30":[-63.37,-27.03],"6-22-31":[-54.82,-23.61],"6-22-32":[-48,-19.66],"6-22-33":[-38.67,-15.78],"6-22-34":[-32.33,-12.28],"6-22-35":[-25.13,-8],"6-22-36":[-18.53,-4.62],"6-22-37":[-11.89,-3.04],"6-22-38":[-9.24,-2.78],"6-22-39":[-10.03,-2.97],"6-22-40":[-12.55,-3.88],"6-22-41":[-18.46,-5.52],"6-22-42":[-20.42,-8.14],"6-22-43":[-22.66,-9.88],"6-22-44":[-24.44,-11.12],"6-22-45":[-25.51,-11.47],"6-22-46":[-25.48,-11.33],"6-22-47":[-23.5,-10.26],"6-22-48":[-21.38,-9.66],"6-22-49":[-20.27,-9.52],"6-22-50":[-22.59,-10.1],"6-22-51":[-29.7,-11.32],"6-22-52":[-41.54,-14.53],"6-22-53":[-53.67,-21.14],"6-22-54":[-61.27,-25.86],"6-22-55":[-68.78,-29.95],"6-22-56":[-72.33,-32.84],"6-22-57":[-76.5,-32.9],"6-22-58":[-76.53,3383.56],"6-22-59":[1286.48,3626.49],"6-22-60":[1241.72,1694.94],"6-22-61":[987.52,1432.98],"6-22-62":[1168.67,2576.08],"6-22-63":[-29.54,2863.29],"6-23-0":[12.92,29.14],"6-23-1":[11.53,30.89],"5-11-0":[11.43,30.89],"6-23-2":[2.57,24.53],"6-23-3":[-2.86,9.47],"5-11-1":[-2.86,24.53],"4-5-0":[-7.48,30.89],"6-23-4":[-17.92,409.2],"6-23-5":[-35.37,754.53],"5-11-2":[-35.37,754.53],"6-23-6":[-35.77,628.59],"6-23-7":[-51.79,437.77],"5-11-3":[-51.79,628.59],"4-5-1":[-51.79,842.66],"3-2-0":[-51.79,842.66],"6-23-8":[212,620.34],"6-23-9":[126.79,595],"5-11-4":[106.74,731.19],"6-23-10":[-25.96,952.89],"6-23-11":[181.68,969.04],"5-11-5":[-25.96,980.63],"4-5-2":[-25.96,2410.7],"6-23-12":[362.56,1217.71],"6-23-13":[599.34,3152.73],"5-11-6":[291.67,3751.07],"6-23-14":[584.02,3396.83],"6-23-15":[496.5,3385.15],"5-11-7":[143.66,3467.23],"4-5-3":[-26.42,4373.52],"3-2-1":[-259.61,4373.52],"6-23-16":[739.26,3846.98],"6-23-17":[1261.06,3659.45],"5-11-8":[498.91,3846.98],"6-23-18":[342.66,3960.27],"6-23-19":[53.25,2781.72],"5-11-9":[-115.5,3960.27],"4-5-4":[-115.5,4387.58],"6-23-20":[-43.42,2074.25],"6-23-21":[-53.91,2324.4],"5-11-10":[-106.82,3055.54],"6-23-22":[-86.07,1902.28],"6-23-23":[-86.2,-37.16],"5-11-11":[-93.31,1902.28],"4-5-5":[-106.82,3055.54],"3-2-2":[-115.5,4387.58],"6-23-24":[-86.54,-38.53],"6-23-25":[-85.65,238.06],"5-11-12":[-93.47,238.06],"6-23-26":[-84.32,-36.65],"6-23-27":[-80.64,-34.81],"5-11-13":[-90.46,-34.81],"4-5-6":[-95.41,238.06],"6-23-28":[-76.59,-32.08],"6-23-29":[-68.37,-29.04],"5-11-14":[-81.94,-29.04],"6-23-30":[-61.8,-25.29],"6-23-31":[-52.78,-21.98],"5-11-15":[-63.37,-21.98],"4-5-7":[-82.67,-20.85],"3-2-3":[-95.41,238.06],"6-23-32":[-46.8,-18.42],"6-23-33":[-38.04,-15],"5-11-16":[-48,-15],"6-23-34":[-31.41,-10.65],"6-23-35":[-23.03,-6.84],"5-11-17":[-32.33,-6.84],"4-5-8":[-48,-6.84],"6-23-36":[-15.57,-3.94],"6-23-37":[-8.42,-2.35],"5-11-18":[-18.53,-2.35],"6-23-38":[-5.83,-1.99],"6-23-39":[-7.6,-2.19],"5-11-19":[-10.03,-1.99],"4-5-9":[-19.3,-1.99],"3-2-4":[-48,-1.99],"6-23-40":[-10.38,-3.43],"6-23-41":[-16.03,-5],"5-11-20":[-18.46,-3.43],"6-23-42":[-19.19,-6.88],"6-23-43":[-22.06,-9.07],"5-11-21":[-22.66,-6.88],"4-5-10":[-23.83,-3.43],"6-23-44":[-22.86,-10.1],"6-23-45":[-23.63,-10.53],"5-11-22":[-25.51,-10.1],"6-23-46":[-23.44,-10.4],"6-23-47":[-22.17,-9.8],"5-11-23":[-25.48,-9.8],"4-5-11":[-26.05,-9.8],"3-2-5":[-30.38,395.5],"6-23-48":[-20.39,-9.35],"6-23-49":[-21.17,-9.35],"5-11-24":[-21.38,-9.35],"6-23-50":[-23.21,-10.18],"6-23-51":[-30.13,-11.53],"5-11-25":[-30.13,-10.1],"4-5-12":[-35.46,-9.35],"6-23-52":[-43.45,-14.72],"6-23-53":[-51.53,-21.48],"5-11-26":[-53.67,-14.53],"6-23-54":[-58.95,-25.37],"6-23-55":[-65.3,-28.82],"5-11-27":[-68.78,-25.37],"4-5-13":[-73.37,-14.53],"3-2-6":[-88.41,-9.35],"6-23-56":[-69.37,-31.18],"6-23-57":[-72.56,-32.31],"5-11-28":[-76.5,-31.18],"6-23-58":[-73.42,2010.01],"6-23-59":[1105.43,2194.6],"5-11-29":[-76.53,3626.49],"4-5-14":[-84.12,3626.49],"6-23-60":[1418.33,1763.02],"6-23-61":[1252.11,1638.58],"5-11-30":[987.52,1763.02],"6-23-62":[1432.97,2755.16],"6-23-63":[-29.54,2834.96],"5-11-31":[-29.54,2863.29],"4-5-15":[-29.63,2878.57],"3-2-7":[-102.31,3682.63],"6-24-0":[13.08,29.1],"6-24-1":[12.77,30.89],"6-24-2":[3.36,25.8],"6-24-3":[-3.5,11.12],"6-24-4":[-19.26,404.18],"6-24-5":[-38.9,404.18],"6-24-6":[-40.02,637.43],"6-24-7":[-57.55,369.52],"6-24-8":[70.59,618.66],"6-24-9":[123.35,643.83],"6-24-10":[-27.38,442.7],"6-24-11":[174.59,841.05],"6-24-12":[373.57,849.8],"6-24-13":[495.56,1071.09],"6-24-14":[572.57,2114.96],"6-24-15":[720.4,3889.28],"6-24-16":[1325.33,4191.26],"6-24-17":[1258.65,4109.88],"6-24-18":[857.52,3690.6],"6-24-19":[364.31,3824.21],"6-24-20":[-26.57,3235.29],"6-24-21":[-39.57,2589.58],"6-24-22":[-71.54,1702.94],"6-24-23":[-79.57,2045.21],"6-24-24":[-78.3,-33.29],"6-24-25":[-77.08,268.06],"6-24-26":[-75.28,-31.52],"6-24-27":[-72.83,-29.62],"6-24-28":[-69.63,-28.02],"6-24-29":[-63.34,-25.65],"6-24-30":[-58.09,-23.11],"6-24-31":[-49.64,-20.2],"6-24-32":[-43.76,-17.27],"6-24-33":[-35.9,-13.42],"6-24-34":[-29.87,-9.91],"6-24-35":[-20.23,-6.43],"6-24-36":[-13.61,-3.86],"6-24-37":[-7.43,-2.32],"6-24-38":[-4.95,-1.94],"6-24-39":[-7.06,-2.13],"6-24-40":[-9.67,-3.32],"6-24-41":[-13.81,-4.7],"6-24-42":[-17.75,-6.09],"6-24-43":[-20.18,-8.32],"6-24-44":[-21.4,-9.34],"6-24-45":[-21.96,-9.83],"6-24-46":[-21.96,-10],"6-24-47":[-20.69,-9.66],"6-24-48":[-19.53,-9.43],"6-24-49":[-21.86,-9.46],"6-24-50":[-23.63,-10.52],"6-24-51":[-30.13,-11.8],"6-24-52":[-42.54,-14.64],"6-24-53":[-50.73,-20.34],"6-24-54":[-56.68,-24.59],"6-24-55":[-62.37,-27.15],"6-24-56":[-67.75,-29.51],"6-24-57":[-69.33,-30.92],"6-24-58":[-67.75,2438.84],"6-24-59":[821.95,3441.15],"6-24-60":[1593.3,1871.81],"6-24-61":[1391.7,1816.7],"6-24-62":[1638.57,2575.14],"6-24-63":[-29.54,2813.19],"6-25-0":[13.28,29.06],"6-25-1":[12.99,30.67],"5-12-0":[12.77,30.89],"6-25-2":[4.33,27.3],"6-25-3":[-3.6,11.88],"5-12-1":[-3.6,27.3],"6-25-4":[-18.48,293.97],"6-25-5":[-39.75,334.46],"5-12-2":[-39.75,404.18],"6-25-6":[-44.82,387.52],"6-25-7":[-63.28,308.5],"5-12-3":[-63.28,637.43],"6-25-8":[-63.06,598.61],"6-25-9":[119.88,600.19],"5-12-4":[-63.06,643.83],"6-25-10":[-28.15,610.76],"6-25-11":[175.34,613.75],"5-12-5":[-28.15,841.05],"6-25-12":[357,741.32],"6-25-13":[154.24,852.58],"5-12-6":[154.24,1071.09],"6-25-14":[529.75,2093.28],"6-25-15":[667.15,3842.68],"5-12-7":[529.75,3889.28],"6-25-16":[1046.96,4204.45],"6-25-17":[1396.76,3751.43],"5-12-8":[1046.96,4204.45],"6-25-18":[1174.25,4348.39],"6-25-19":[1345.74,3458.34],"5-12-9":[364.31,4348.39],"6-25-20":[852.06,3295.69],"6-25-21":[84.61,3091.23],"5-12-10":[-39.57,3295.69],"6-25-22":[-38.22,3268.31],"6-25-23":[-66.41,2081.23],"5-12-11":[-79.57,3268.31],"6-25-24":[-67.95,-28.52],"6-25-25":[-66.59,-26.44],"5-12-12":[-78.3,268.06],"6-25-26":[-65.05,-25.22],"6-25-27":[-63.06,-24.16],"5-12-13":[-75.28,-24.16],"6-25-28":[-59.26,-15.52],"6-25-29":[-54.35,-22.31],"5-12-14":[-69.63,-15.52],"6-25-30":[-50.44,-20.5],"6-25-31":[-45,-18.74],"5-12-15":[-58.09,-18.74],"6-25-32":[-39.97,-16.22],"6-25-33":[-33.52,-12.95],"5-12-16":[-43.76,-12.95],"6-25-34":[-26.73,-9.78],"6-25-35":[-19.19,-6.51],"5-12-17":[-29.87,-6.43],"6-25-36":[-14.52,-4.01],"6-25-37":[-8.87,-2.5],"5-12-18":[-14.52,-2.32],"6-25-38":[-6.34,-2.18],"6-25-39":[-6.84,-2.3],"5-12-19":[-7.06,-1.94],"6-25-40":[-9.41,-3.32],"6-25-41":[-32.1,501.96],"5-12-20":[-32.1,501.96],"6-25-42":[-16.08,-5.36],"6-25-43":[-18.48,-7.5],"5-12-21":[-20.18,-5.36],"6-25-44":[-19.58,-8.5],"6-25-45":[-20.51,-9.34],"5-12-22":[-21.96,-8.5],"6-25-46":[-20.66,-9.34],"6-25-47":[-19.83,-8.98],"5-12-23":[-21.96,-8.98],"6-25-48":[-19.6,-9.09],"6-25-49":[-22.09,-9.67],"5-12-24":[-22.09,-9.09],"6-25-50":[-24.31,-10.8],"6-25-51":[-29.53,-11.99],"5-12-25":[-30.13,-10.52],"6-25-52":[-38.65,-14.61],"6-25-53":[-48.88,-19.4],"5-12-26":[-50.73,-14.61],"6-25-54":[-53.27,-23.18],"6-25-55":[-58.77,-25.88],"5-12-27":[-62.37,-23.18],"6-25-56":[-65.35,-28.74],"6-25-57":[-65.63,-29.51],"5-12-28":[-69.33,-28.74],"6-25-58":[-63.65,821.96],"6-25-59":[726.87,1676.69],"5-12-29":[-67.75,3441.15],"6-25-60":[1630.88,1996.28],"6-25-61":[1569.89,1996.28],"5-12-30":[1391.7,1996.28],"6-25-62":[1816.69,2606.34],"6-25-63":[-29.54,2795.26],"5-12-31":[-29.54,2813.19],"6-26-0":[13.54,29.14],"6-26-1":[13.94,30.48],"6-26-2":[5.28,27.87],"6-26-3":[-3.32,281.71],"6-26-4":[-18.48,308.77],"6-26-5":[-40.42,381.74],"6-26-6":[-46.86,317.75],"6-26-7":[-64.69,215.89],"6-26-8":[-2.27,571.32],"6-26-9":[116.78,565.77],"6-26-10":[-32.41,599.94],"6-26-11":[208.28,611.84],"6-26-12":[299.93,731.39],"6-26-13":[318.89,749.4],"6-26-14":[470.62,993.24],"6-26-15":[555.47,1446.2],"6-26-16":[932.52,3114.6],"6-26-17":[1209.86,4338.56],"6-26-18":[1296.53,4383.25],"6-26-19":[1070.65,3998.98],"6-26-20":[855.68,3617.02],"6-26-21":[658.3,2970.04],"6-26-22":[417.64,3258.01],"6-26-23":[-28.6,3307.88],"6-26-24":[-62.73,2734.41],"6-26-25":[-59.49,2861.69],"6-26-26":[-52.9,-18.54],"6-26-27":[-50.46,-18.19],"6-26-28":[-48.34,-18.13],"6-26-29":[-46.35,-18.06],"6-26-30":[-44.41,-17.73],"6-26-31":[-40.44,-17.02],"6-26-32":[-37.32,-15.49],"6-26-33":[-31.86,-12.9],"6-26-34":[-26.47,-10],"6-26-35":[-21.25,-7.31],"6-26-36":[-17.78,-4.66],"6-26-37":[-11.76,-3.18],"6-26-38":[-7.87,-2.8],"6-26-39":[-6.79,-2.9],"6-26-40":[-7.79,-2.88],"6-26-41":[-10.71,8.49],"6-26-42":[-14.63,-4.56],"6-26-43":[-16.88,-6.59],"6-26-44":[-18.57,-7.39],"6-26-45":[-19.41,-7.99],"6-26-46":[-19.51,-8.34],"6-26-47":[-18.58,-8.35],"6-26-48":[-19.11,-8.37],"6-26-49":[-22.08,-9.26],"6-26-50":[-24.14,-10.47],"6-26-51":[-29.38,-11.82],"6-26-52":[-38.33,-14.03],"6-26-53":[-46.19,-17.49],"6-26-54":[-51.2,-21.67],"6-26-55":[-57.5,-24.38],"6-26-56":[-63.64,-27.72],"6-26-57":[-62.82,189.45],"6-26-58":[-60.91,881.64],"6-26-59":[740.64,1748.55],"6-26-60":[1676.68,2076.65],"6-26-61":[1756.34,2181.07],"6-26-62":[1948.76,2606.49],"6-26-63":[-29.54,2777.84],"6-27-0":[13.6,29.49],"6-27-1":[13.94,31.09],"5-13-0":[13.54,31.09],"6-27-2":[6.45,27.9],"6-27-3":[-0.42,320.5],"5-13-1":[-3.32,320.5],"4-6-0":[-3.6,320.5],"6-27-4":[-16.49,372.69],"6-27-5":[-40.21,294.13],"5-13-2":[-40.42,381.74],"6-27-6":[-53.85,132.2],"6-27-7":[-71.25,117.7],"5-13-3":[-71.25,317.75],"4-6-1":[-71.25,637.43],"6-27-8":[-10.85,325.53],"6-27-9":[25.92,428.65],"5-13-4":[-10.85,571.32],"6-27-10":[-36.63,567.14],"6-27-11":[275.4,510.84],"5-13-5":[-36.63,611.84],"4-6-2":[-63.06,841.05],"6-27-12":[177.93,779.83],"6-27-13":[230.46,797.9],"5-13-6":[177.93,797.9],"6-27-14":[353.23,843.62],"6-27-15":[486.44,1208.11],"5-13-7":[353.23,1446.2],"4-6-3":[154.24,3889.28],"6-27-16":[469.53,2194.75],"6-27-17":[827.22,1798.51],"5-13-8":[469.53,4338.56],"6-27-18":[821.28,2635.83],"6-27-19":[656.62,2159.53],"5-13-9":[656.62,4383.25],"4-6-4":[364.31,4383.25],"6-27-20":[633.52,1925.95],"6-27-21":[300.28,2697.84],"5-13-10":[300.28,3617.02],"6-27-22":[335.31,2999.92],"6-27-23":[921.89,3424.3],"5-13-11":[-28.6,3424.3],"4-6-5":[-79.57,3617.02],"6-27-24":[401.21,3479.94],"6-27-25":[-46.8,4234.29],"5-13-12":[-62.73,4234.29],"6-27-26":[-39.05,-13],"6-27-27":[-35.28,-12.54],"5-13-13":[-52.9,-12.54],"4-6-6":[-78.3,4234.29],"6-27-28":[-35.2,-12.85],"6-27-29":[-35.34,-13.41],"5-13-14":[-48.34,-12.85],"6-27-30":[-35.17,-14.09],"6-27-31":[-34.89,-14.93],"5-13-15":[-44.41,-14.09],"4-6-7":[-69.63,-12.85],"6-27-32":[-33.67,-14.66],"6-27-33":[-30.24,-13.29],"5-13-16":[-37.32,-12.9],"6-27-34":[-28.13,-11.02],"6-27-35":[-24.66,-9.21],"5-13-17":[-28.13,-7.31],"4-6-8":[-43.76,-6.43],"6-27-36":[-20.45,-6.32],"6-27-37":[-14.71,-4.11],"5-13-18":[-20.45,-3.18],"6-27-38":[-10.7,-3.46],"6-27-39":[-7.82,-2.95],"5-13-19":[-10.7,-2.8],"4-6-9":[-20.45,-1.94],"6-27-40":[-6.36,-2.12],"6-27-41":[-8.91,-2.07],"5-13-20":[-10.71,8.49],"6-27-42":[-12.62,-3.64],"6-27-43":[-14.88,-5.64],"5-13-21":[-16.88,-3.64],"4-6-10":[-32.1,501.96],"6-27-44":[-15.67,-6.12],"6-27-45":[-17.16,-6.68],"5-13-22":[-19.41,-6.12],"6-27-46":[-17.14,-7.46],"6-27-47":[-16.64,-6.9],"5-13-23":[-19.51,-6.9],"4-6-11":[-21.96,-6.12],"6-27-48":[-18.13,-7.16],"6-27-49":[-20.76,-8.23],"5-13-24":[-22.08,-7.16],"6-27-50":[-23.03,-9.75],"6-27-51":[-27.57,-10.56],"5-13-25":[-29.38,-9.75],"4-6-12":[-30.13,-7.16],"6-27-52":[-33.04,-12.47],"6-27-53":[-43.05,-16],"5-13-26":[-46.19,-12.47],"6-27-54":[-47.85,-20.49],"6-27-55":[-55.33,-23.04],"5-13-27":[-57.5,-20.49],"4-6-13":[-62.37,-12.47],"6-27-56":[-59.57,-26.31],"6-27-57":[-57.3,647.09],"5-13-28":[-63.64,647.09],"6-27-58":[-55.25,899.06],"6-27-59":[799.61,1803.34],"5-13-29":[-60.91,1803.34],"4-6-14":[-69.33,3441.15],"6-27-60":[1748.54,2159.56],"6-27-61":[1868.06,2197.16],"5-13-30":[1676.68,2197.16],"6-27-62":[2095.95,2581.41],"6-27-63":[-29.54,2769.5],"5-13-31":[-29.54,2777.84],"4-6-15":[-29.54,2813.19],"6-28-0":[13.6,29.98],"6-28-1":[13.97,31.76],"6-28-2":[7.61,27.9],"6-28-3":[-0.98,311.23],"6-28-4":[-14.04,373.55],"6-28-5":[-35.5,302.69],"6-28-6":[-52.23,269.04],"6-28-7":[-71.46,37.53],"6-28-8":[-13.78,273.39],"6-28-9":[-36.74,404.25],"6-28-10":[-38.45,438.24],"6-28-11":[60.84,436.49],"6-28-12":[151.71,375.47],"6-28-13":[182.44,807.5],"6-28-14":[219.33,785.89],"6-28-15":[355.34,755.87],"6-28-16":[348.26,1090.39],"6-28-17":[415.18,1115.44],"6-28-18":[336.8,1003.31],"6-28-19":[247.09,1013.68],"6-28-20":[245.51,909.81],"6-28-21":[22.35,784.58],"6-28-22":[2.36,3697.19],"6-28-23":[-6.03,3685.36],"6-28-24":[-7.33,3903.97],"6-28-25":[-32.6,5379.65],"6-28-26":[-33.85,1685.03],"6-28-27":[-25.73,-8.02],"6-28-28":[-27.14,-9.26],"6-28-29":[-28.13,-9.53],"6-28-30":[-29.73,-10.39],"6-28-31":[-30.49,-11.78],"6-28-32":[-30.3,-13.08],"6-28-33":[-29.11,-13.91],"6-28-34":[-28.13,-12.68],"6-28-35":[-25.46,-10.25],"6-28-36":[-21.32,-7.52],"6-28-37":[-14.78,-5.33],"6-28-38":[-12.03,-4.05],"6-28-39":[-8.07,-2.41],"6-28-40":[-6.04,-1.06],"6-28-41":[-7.12,-1.06],"6-28-42":[-10.83,-2.79],"6-28-43":[-12.78,-4.7],"6-28-44":[-13.74,-5.3],"6-28-45":[-14.99,-5.28],"6-28-46":[-15.4,-5.56],"6-28-47":[-15.79,-5.29],"6-28-48":[-15.93,-5.65],"6-28-49":[-19.25,-6.88],"6-28-50":[-20.66,-7.71],"6-28-51":[-24.63,-9.26],"6-28-52":[-31.19,-11.53],"6-28-53":[-40.85,-14.84],"6-28-54":[-45.75,-18.97],"6-28-55":[-52.39,-21.7],"6-28-56":[-55.08,-24.38],"6-28-57":[-50.79,721.39],"6-28-58":[-51.45,799.62],"6-28-59":[687.23,1812.13],"6-28-60":[1803.33,2299.62],"6-28-61":[1923.59,2175.98],"6-28-62":[1878.69,2429.87],"6-28-63":[-29.54,2761.57],"6-29-0":[13.6,30.78],"6-29-1":[13.97,32.5],"5-14-0":[13.6,32.5],"6-29-2":[8.58,28.94],"6-29-3":[-0.22,604.78],"5-14-1":[-0.98,604.78],"6-29-4":[-10.79,424.86],"6-29-5":[-29.34,367.02],"5-14-2":[-35.5,424.86],"6-29-6":[-48.96,423.04],"6-29-7":[-71.03,188.06],"5-14-3":[-71.46,423.04],"6-29-8":[-71.03,258.97],"6-29-9":[-40.7,265.48],"5-14-4":[-71.03,404.25],"6-29-10":[-45.67,362.54],"6-29-11":[35.43,333.9],"5-14-5":[-45.67,438.24],"6-29-12":[69.29,353.36],"6-29-13":[176.64,297.08],"5-14-6":[69.29,807.5],"6-29-14":[185.4,507.51],"6-29-15":[216.94,624.77],"5-14-7":[185.4,785.89],"6-29-16":[248.19,602.11],"6-29-17":[227.87,668.28],"5-14-8":[227.87,1115.44],"6-29-18":[151.81,558.27],"6-29-19":[87.66,500.16],"5-14-9":[87.66,1013.68],"6-29-20":[11.41,489.46],"6-29-21":[-74.48,534.68],"5-14-10":[-74.48,909.81],"6-29-22":[-59.51,197.1],"6-29-23":[-60.32,1437.08],"5-14-11":[-60.32,3697.19],"6-29-24":[-52.89,3376.08],"6-29-25":[-16.39,5601.19],"5-14-12":[-52.89,5601.19],"6-29-26":[-23.21,3710.87],"6-29-27":[-17.72,-5.43],"5-14-13":[-33.85,3710.87],"6-29-28":[-18.29,-5.37],"6-29-29":[-20.02,-5.8],"5-14-14":[-28.13,-5.37],"6-29-30":[-22.85,-7.34],"6-29-31":[-25.68,-8.54],"5-14-15":[-30.49,-7.34],"6-29-32":[-27.33,-11.17],"6-29-33":[-28.21,-12.92],"5-14-16":[-30.3,-11.17],"6-29-34":[-27.93,-12.74],"6-29-35":[-25.57,-10.37],"5-14-17":[-28.13,-10.25],"6-29-36":[-21.38,-7.55],"6-29-37":[-14.75,-5.87],"5-14-18":[-21.38,-5.33],"6-29-38":[-12.1,-3.7],"6-29-39":[-7.93,-1.6],"5-14-19":[-12.1,-1.6],"6-29-40":[-4.73,-0.26],"6-29-41":[-5.16,-0.14],"5-14-20":[-7.12,-0.14],"6-29-42":[-8.49,-1.41],"6-29-43":[-11.27,-3.5],"5-14-21":[-12.78,-1.41],"6-29-44":[-11.15,-3.82],"6-29-45":[-11.69,-3.55],"5-14-22":[-14.99,-3.55],"6-29-46":[-12.81,-3.56],"6-29-47":[-11.24,-3.95],"5-14-23":[-15.79,-3.56],"6-29-48":[-12.87,-3.81],"6-29-49":[-15.22,-6.07],"5-14-24":[-19.25,-3.81],"6-29-50":[-18.28,-7.31],"6-29-51":[-22.81,-8.44],"5-14-25":[-24.63,-7.31],"6-29-52":[-28.28,-10.9],"6-29-53":[-37.41,-12.86],"5-14-26":[-40.85,-10.9],"6-29-54":[-42.1,-16.84],"6-29-55":[-48.36,-19.69],"5-14-27":[-52.39,-16.84],"6-29-56":[-54.2,-22.1],"6-29-57":[-47.44,695.16],"5-14-28":[-55.08,721.39],"6-29-58":[-44.62,1067.53],"6-29-59":[697.67,1825.18],"5-14-29":[-51.45,1825.18],"6-29-60":[1812.12,2484.31],"6-29-61":[1887.54,2200.25],"5-14-30":[1803.33,2484.31],"6-29-62":[1867.75,2364.99],"6-29-63":[-29.54,2744.46],"5-14-31":[-29.54,2761.57],"6-30-0":[13.6,31.47],"6-30-1":[14.83,32.77],"6-30-2":[9.25,30.01],"6-30-3":[1.4,1609.72],"6-30-4":[-8.83,717.95],"6-30-5":[-23.57,477.26],"6-30-6":[-38.7,559.29],"6-30-7":[-70.31,433.78],"6-30-8":[-70.31,458.53],"6-30-9":[-96.36,174.74],"6-30-10":[-99.28,106.11],"6-30-11":[-98.53,228.76],"6-30-12":[-14.62,294.27],"6-30-13":[195.65,456.57],"6-30-14":[57.99,564.92],"6-30-15":[181.53,584.49],"6-30-16":[173.46,471.28],"6-30-17":[26.59,446.09],"6-30-18":[123.08,490.81],"6-30-19":[2.26,806.41],"6-30-20":[-9.4,204.36],"6-30-21":[-55.44,125.4],"6-30-22":[-65.74,-25.61],"6-30-23":[-65.69,-25.42],"6-30-24":[-54.87,-14.04],"6-30-25":[-36.51,2490.71],"6-30-26":[-21.02,2540.82],"6-30-27":[-19.24,-2.77],"6-30-28":[-11.27,-1.84],"6-30-29":[-14.57,-2.28],"6-30-30":[-17.25,-4.28],"6-30-31":[-22.13,-5.31],"6-30-32":[-25.32,-8.63],"6-30-33":[-27.51,-11.24],"6-30-34":[-27.51,-12.14],"6-30-35":[-24.98,-9.83],"6-30-36":[-20.94,-7.4],"6-30-37":[-14.81,-5.53],"6-30-38":[-11.87,-2.8],"6-30-39":[-6.86,-0.38],"6-30-40":[-3,1.26],"6-30-41":[-2.62,1.53],"6-30-42":[-6.47,0.16],"6-30-43":[-9.48,-1.41],"6-30-44":[-9.48,-2.83],"6-30-45":[-7.66,-2.16],"6-30-46":[-9.07,-1.93],"6-30-47":[-9.84,-2.8],"6-30-48":[-11.72,-2.88],"6-30-49":[-14.44,-4.07],"6-30-50":[-16.72,-6.13],"6-30-51":[-22.37,-7.94],"6-30-52":[-24.41,-9.85],"6-30-53":[-33.43,-11.71],"6-30-54":[-38.58,-14.81],"6-30-55":[-43.96,-16.85],"6-30-56":[-52.81,-19.97],"6-30-57":[-46.56,310.04],"6-30-58":[-43.55,1562.01],"6-30-59":[790.59,1824.22],"6-30-60":[1816.77,2275.03],"6-30-61":[1789.45,2180.52],"6-30-62":[1867.26,2328.81],"6-30-63":[-29.54,2744.46],"6-31-0":[13.6,32.23],"6-31-1":[15.06,32.84],"5-15-0":[13.6,32.84],"6-31-2":[10.78,881.84],"6-31-3":[4.92,2250.64],"5-15-1":[1.4,2250.64],"4-7-0":[-0.98,2250.64],"6-31-4":[-5.46,1374.08],"6-31-5":[-22.85,583.45],"5-15-2":[-23.57,1374.08],"6-31-6":[-45.86,413.34],"6-31-7":[-57.79,429.71],"5-15-3":[-70.31,559.29],"4-7-1":[-71.46,1374.08],"3-3-0":[-71.46,2250.64],"6-31-8":[-36.15,577.62],"6-31-9":[-96.7,282.12],"5-15-4":[-96.7,577.62],"6-31-10":[-99.12,-46.98],"6-31-11":[-98.49,190.58],"5-15-5":[-99.28,228.76],"4-7-2":[-99.28,577.62],"6-31-12":[-15.94,324],"6-31-13":[204.84,447.15],"5-15-6":[-15.94,456.57],"6-31-14":[150.72,671.12],"6-31-15":[147.71,604.9],"5-15-7":[57.99,671.12],"4-7-3":[-15.94,807.5],"3-3-1":[-99.28,3889.28],"2-1-0":[-259.61,4373.52],"6-31-16":[142.69,422.75],"6-31-17":[82.02,300.32],"5-15-8":[26.59,471.28],"6-31-18":[37.49,509.53],"6-31-19":[3.75,590.45],"5-15-9":[2.26,806.41],"4-7-4":[2.26,1115.44],"6-31-20":[-28.13,146.09],"6-31-21":[-51.46,78.7],"5-15-10":[-55.44,204.36],"6-31-22":[-60.53,-24.95],"6-31-23":[-60.55,-17],"5-15-11":[-65.74,-17],"4-7-5":[-74.48,3697.19],"3-3-2":[-79.57,4383.25],"6-31-24":[-51.3,129.8],"6-31-25":[-28.09,2495.76],"5-15-12":[-54.87,2495.76],"6-31-26":[-31.81,4217.93],"6-31-27":[-39.22,1667.28],"5-15-13":[-39.22,4217.93],"4-7-6":[-54.87,5601.19],"6-31-28":[-3.69,3.56],"6-31-29":[-7.94,1.79],"5-15-14":[-14.57,3.56],"6-31-30":[-10.64,-0.95],"6-31-31":[-23.38,1700.45],"5-15-15":[-23.38,1700.45],"4-7-7":[-30.49,1700.45],"3-3-3":[-78.3,5601.19],"2-1-1":[-115.5,5601.19],"1-0-0":[-317.19,6207.28],"6-31-32":[-321.59,1684.42],"6-31-33":[-25.17,-8.12],"5-15-16":[-321.59,1684.42],"6-31-34":[-25.23,-10.22],"6-31-35":[-23.47,-8.63],"5-15-17":[-27.51,-8.63],"4-7-8":[-321.59,1684.42],"6-31-36":[-19.5,-5.98],"6-31-37":[-14.17,-4.58],"5-15-18":[-20.94,-4.58],"6-31-38":[-10.89,-1.76],"6-31-39":[-4.99,1.04],"5-15-19":[-11.87,1.04],"4-7-9":[-21.38,1.04],"3-3-4":[-321.59,1684.42],"6-31-40":[-0.46,3.59],"6-31-41":[0.15,3.57],"5-15-20":[-3,3.59],"6-31-42":[-1.87,3.33],"6-31-43":[-5.77,-0.19],"5-15-21":[-9.48,3.33],"4-7-10":[-12.78,3.59],"6-31-44":[-6.17,-2.1],"6-31-45":[-5.45,-1.19],"5-15-22":[-9.48,-1.19],"6-31-46":[-4.53,-0.73],"6-31-47":[-5.48,-0.93],"5-15-23":[-9.84,-0.73],"4-7-11":[-15.79,-0.73],"3-3-5":[-32.1,501.96],"2-1-2":[-321.59,1684.42],"6-31-48":[-7.3,-1.03],"6-31-49":[-11.96,-1.38],"5-15-24":[-14.44,-1.03],"6-31-50":[-15.08,-4.16],"6-31-51":[-19.15,-5.73],"5-15-25":[-22.37,-4.16],"4-7-12":[-24.63,-1.03],"6-31-52":[-21.76,-8.28],"6-31-53":[-29.28,-9.98],"5-15-26":[-33.43,-8.28],"6-31-54":[-34.04,-12.93],"6-31-55":[-39.77,-14.37],"5-15-27":[-43.96,-12.93],"4-7-13":[-52.39,-8.28],"3-3-6":[-62.37,-1.03],"6-31-56":[-43.43,1365.62],"6-31-57":[-44.81,282.19],"5-15-28":[-52.81,1365.62],"6-31-58":[-39.76,1267.01],"6-31-59":[957.9,1887.87],"5-15-29":[-43.55,1887.87],"4-7-14":[-55.08,1887.87],"6-31-60":[1730.62,2175.26],"6-31-61":[1639.46,1987.13],"5-15-30":[1639.46,2275.03],"6-31-62":[1752.65,2714.87],"6-31-63":[-29.54,2744.46],"5-15-31":[-29.54,2744.46],"4-7-15":[-29.54,2761.57],"3-3-7":[-69.33,3441.15],"2-1-3":[-102.31,3682.63],"1-0-1":[-321.59,3970.41],"6-32-0":[13.6,32.71],"6-32-1":[15.63,32.84],"6-32-2":[12.53,1148.73],"6-32-3":[3.54,1723.08],"6-32-4":[-3.48,1337.96],"6-32-5":[-22.64,684.11],"6-32-6":[-45.53,367.14],"6-32-7":[-63.11,395.57],"6-32-8":[-72.93,546.23],"6-32-9":[-93.99,248.1],"6-32-10":[-96.39,-44.47],"6-32-11":[-97.86,87.35],"6-32-12":[-57.46,240.44],"6-32-13":[116.07,415.1],"6-32-14":[116.17,599.34],"6-32-15":[138.68,568.7],"6-32-16":[-2.59,551.43],"6-32-17":[75.12,291.63],"6-32-18":[-24.24,294.32],"6-32-19":[4.68,321.49],"6-32-20":[-31.39,211.56],"6-32-21":[-63.34,90.38],"6-32-22":[-63.11,-25.22],"6-32-23":[-57.23,-7.65],"6-32-24":[-31.37,200.24],"6-32-25":[-33.45,1010.31],"6-32-26":[-35.51,3009.32],"6-32-27":[-28.36,2376.93],"6-32-28":[-3.22,10.91],"6-32-29":[-1.77,10.51],"6-32-30":[-4.68,6.74],"6-32-31":[-7.35,73.07],"6-32-32":[-18.67,716.38],"6-32-33":[-20.88,-4.49],"6-32-34":[-21.38,-6.53],"6-32-35":[-20.18,-6.02],"6-32-36":[-17.05,-4.75],"6-32-37":[-11.75,-2.76],"6-32-38":[-9,-0.28],"6-32-39":[-2.87,3.56],"6-32-40":[0.59,5.45],"6-32-41":[1.56,6.31],"6-32-42":[-0.2,5.55],"6-32-43":[-3.93,1.13],"6-32-44":[-5.26,-0.57],"6-32-45":[-4.78,-0.14],"6-32-46":[-2.44,1.43],"6-32-47":[-2.43,2.72],"6-32-48":[-2.64,1.56],"6-32-49":[-7.99,-0.1],"6-32-50":[-11.84,-1.81],"6-32-51":[-16.4,-4.23],"6-32-52":[-18.97,-6.57],"6-32-53":[-25.69,-8.31],"6-32-54":[-28.75,-11.31],"6-32-55":[-35.05,-12.68],"6-32-56":[-41.26,-14.17],"6-32-57":[-36.6,248.01],"6-32-58":[-36.6,1290.61],"6-32-59":[1072.47,2685.38],"6-32-60":[1460.89,2381.84],"6-32-61":[1444.34,1985.53],"6-32-62":[1435.21,2244.93],"6-32-63":[-29.54,2744.46],"6-33-0":[13.6,33.18],"6-33-1":[15.63,33.39],"5-16-0":[13.6,33.39],"6-33-2":[13.83,1617.96],"6-33-3":[3.54,1701.03],"5-16-1":[3.54,1723.08],"6-33-4":[-1.3,1540.67],"6-33-5":[-21.29,1009.47],"5-16-2":[-22.64,1540.67],"6-33-6":[-36.75,819.86],"6-33-7":[-62.77,557.56],"5-16-3":[-63.11,819.86],"6-33-8":[-72.83,444.35],"6-33-9":[-88.51,366.68],"5-16-4":[-93.99,546.23],"6-33-10":[-95.62,-42.25],"6-33-11":[-97.09,-45.96],"5-16-5":[-97.86,87.35],"6-33-12":[-96.12,205.42],"6-33-13":[26.23,323.91],"5-16-6":[-96.12,415.1],"6-33-14":[40.15,604.67],"6-33-15":[99.8,613.05],"5-16-7":[40.15,613.05],"6-33-16":[103.99,486.54],"6-33-17":[42.02,356.67],"5-16-8":[-2.59,551.43],"6-33-18":[73.98,611.43],"6-33-19":[-2.39,1256.4],"5-16-9":[-24.24,1256.4],"6-33-20":[-18.21,703.65],"6-33-21":[-62.86,133.72],"5-16-10":[-63.34,703.65],"6-33-22":[-63.05,-24.55],"6-33-23":[-54.77,-15.6],"5-16-11":[-63.11,-7.65],"6-33-24":[-55.01,38.89],"6-33-25":[-31.18,-5.73],"5-16-12":[-55.01,1010.31],"6-33-26":[-16.7,2458.87],"6-33-27":[-29.38,2108.97],"5-16-13":[-35.51,3009.32],"6-33-28":[-12.99,2165.37],"6-33-29":[3.88,21.34],"5-16-14":[-12.99,2165.37],"6-33-30":[-9.95,580.04],"6-33-31":[-3.66,9.28],"5-16-15":[-9.95,580.04],"6-33-32":[-8.84,4.83],"6-33-33":[-12.48,2.13],"5-16-16":[-20.88,716.38],"6-33-34":[-13.36,-2.74],"6-33-35":[-13.27,-2.88],"5-16-17":[-21.38,-2.74],"6-33-36":[-11.47,-2.69],"6-33-37":[-8.95,-0.74],"5-16-18":[-17.05,-0.74],"6-33-38":[-5.14,2.74],"6-33-39":[-0.29,8.08],"5-16-19":[-9,8.08],"6-33-40":[1.94,9.43],"6-33-41":[2.8,10.75],"5-16-20":[0.59,10.75],"6-33-42":[0.89,8.51],"6-33-43":[-0.58,5.53],"5-16-21":[-3.93,8.51],"6-33-44":[-2.13,3.55],"6-33-45":[-1.46,3.29],"5-16-22":[-5.26,3.55],"6-33-46":[-0.15,6.87],"6-33-47":[1.07,7.73],"5-16-23":[-2.44,7.73],"6-33-48":[-0.11,7.04],"6-33-49":[-2.91,4.01],"5-16-24":[-7.99,7.04],"6-33-50":[-7.73,0.65],"6-33-51":[-12.58,-2.01],"5-16-25":[-16.4,0.65],"6-33-52":[-14.99,-3.66],"6-33-53":[-21.95,-5.75],"5-16-26":[-25.69,-3.66],"6-33-54":[-24.52,-9.25],"6-33-55":[-29.3,-10.49],"5-16-27":[-35.05,-9.25],"6-33-56":[-30.53,-11.38],"6-33-57":[-34.54,-11.65],"5-16-28":[-41.26,248.01],"6-33-58":[-34.69,1304.63],"6-33-59":[163.09,4721.94],"5-16-29":[-36.6,4721.94],"6-33-60":[441.12,2555.4],"6-33-61":[1232.67,1732.44],"5-16-30":[441.12,2555.4],"6-33-62":[1251.83,2245.57],"6-33-63":[-29.54,2744.47],"5-16-31":[-29.54,2744.47],"6-34-0":[13.6,33.57],"6-34-1":[16.2,34.27],"6-34-2":[15.09,1823.83],"6-34-3":[5.88,1627.27],"6-34-4":[0.78,1272.1],"6-34-5":[-16.01,1913.68],"6-34-6":[-22.87,1056.55],"6-34-7":[-53.19,570.75],"6-34-8":[-67.08,613.97],"6-34-9":[-84.49,433.17],"6-34-10":[-91.94,-38.64],"6-34-11":[-96.06,-44.35],"6-34-12":[-95.88,171.79],"6-34-13":[-46,145.12],"6-34-14":[-3.04,594.92],"6-34-15":[117.38,614.36],"6-34-16":[124.05,432.14],"6-34-17":[17.53,436.84],"6-34-18":[94.64,1652.42],"6-34-19":[35.46,2004.7],"6-34-20":[-31.34,358.2],"6-34-21":[-56.91,76.45],"6-34-22":[-52.24,86.32],"6-34-23":[-53.41,678.56],"6-34-24":[-46.91,565.42],"6-34-25":[-34.3,19.57],"6-34-26":[-32.9,735.54],"6-34-27":[-24.67,729.46],"6-34-28":[-18.58,3818.31],"6-34-29":[-17.79,1199.76],"6-34-30":[0.98,213.98],"6-34-31":[2.04,21.13],"6-34-32":[2.12,20.08],"6-34-33":[-5.46,10.12],"6-34-34":[-5.77,0.8],"6-34-35":[-6.05,2.96],"6-34-36":[-5.94,2.96],"6-34-37":[-5.13,6.17],"6-34-38":[-1.3,9.8],"6-34-39":[1.64,14.13],"6-34-40":[4.23,15.17],"6-34-41":[4.47,14.04],"6-34-42":[3.4,12.02],"6-34-43":[3.4,11.01],"6-34-44":[1.55,10.91],"6-34-45":[1.48,9.3],"6-34-46":[1.54,11.81],"6-34-47":[3.72,12.77],"6-34-48":[2.17,11.75],"6-34-49":[0.41,7.88],"6-34-50":[-3.25,5.77],"6-34-51":[-6.93,1.5],"6-34-52":[-11.33,-1.44],"6-34-53":[-18.26,-3.74],"6-34-54":[-20.79,-6.34],"6-34-55":[-25.29,-7.54],"6-34-56":[-27.01,-9.25],"6-34-57":[-33.98,-10.94],"6-34-58":[-34.8,1241.13],"6-34-59":[-52.36,1732.84],"6-34-60":[-52.36,2250.43],"6-34-61":[873,1480.75],"6-34-62":[1247.41,2251.13],"6-34-63":[-29.54,2745.47],"6-35-0":[13.6,34.16],"6-35-1":[16.51,35.76],"5-17-0":[13.6,35.76],"6-35-2":[16.38,1923.59],"6-35-3":[9.49,2313.91],"5-17-1":[5.88,2313.91],"4-8-0":[3.54,2313.91],"6-35-4":[3.3,2252.73],"6-35-5":[-8.04,1712.44],"5-17-2":[-16.01,2252.73],"6-35-6":[-16.63,1559.44],"6-35-7":[-53.78,272.32],"5-17-3":[-53.78,1559.44],"4-8-1":[-63.11,2252.73],"6-35-8":[-65.49,185.61],"6-35-9":[-76.1,184.52],"5-17-4":[-84.49,613.97],"6-35-10":[-88.72,293.27],"6-35-11":[-92.71,81.87],"5-17-5":[-96.06,293.27],"4-8-2":[-97.86,613.97],"6-35-12":[-92.66,123.7],"6-35-13":[-45.82,181.36],"5-17-6":[-95.88,181.36],"6-35-14":[-26.92,536.17],"6-35-15":[122.02,651.7],"5-17-7":[-26.92,651.7],"4-8-3":[-96.12,651.7],"6-35-16":[27.96,701.76],"6-35-17":[-8.6,951.43],"5-17-8":[-8.6,951.43],"6-35-18":[-44.79,1713.99],"6-35-19":[-37.13,1476.72],"5-17-9":[-44.79,2004.7],"4-8-4":[-44.79,2004.7],"6-35-20":[-74.33,139.84],"6-35-21":[-74.18,28.94],"5-17-10":[-74.33,358.2],"6-35-22":[-68.27,63.37],"6-35-23":[-53.75,293.76],"5-17-11":[-68.27,678.56],"4-8-5":[-74.33,703.65],"6-35-24":[-62.66,1104.62],"6-35-25":[-46.42,14.26],"5-17-12":[-62.66,1104.62],"6-35-26":[-24.54,8.26],"6-35-27":[-12.35,357.63],"5-17-13":[-32.9,735.54],"4-8-6":[-62.66,3009.32],"6-35-28":[-9.05,1960.73],"6-35-29":[-38,1563.96],"5-17-14":[-38,3818.31],"6-35-30":[10.56,29.2],"6-35-31":[-34,2816.32],"5-17-15":[-34,2816.32],"4-8-7":[-38,3818.31],"6-35-32":[-39.36,6286.78],"6-35-33":[-56.73,4458.62],"5-17-16":[-56.73,6286.78],"6-35-34":[-63.32,4118.74],"6-35-35":[-8.38,458.91],"5-17-17":[-63.32,4118.74],"4-8-8":[-63.32,6286.78],"6-35-36":[-1.45,18],"6-35-37":[2.19,21.77],"5-17-18":[-5.94,21.77],"6-35-38":[3.78,22.14],"6-35-39":[5.81,20.12],"5-17-19":[-1.3,22.14],"4-8-9":[-17.05,22.14],"6-35-40":[6.54,19.83],"6-35-41":[-22.92,470.08],"5-17-20":[-22.92,470.08],"6-35-42":[5.5,19.63],"6-35-43":[-88.44,1091.31],"5-17-21":[-88.44,1091.31],"4-8-10":[-88.44,1091.31],"6-35-44":[-23.76,1289.29],"6-35-45":[4.72,16.91],"5-17-22":[-23.76,1289.29],"6-35-46":[4.86,18.8],"6-35-47":[6.11,18.78],"5-17-23":[1.54,18.8],"4-8-11":[-23.76,1289.29],"6-35-48":[4.51,19.18],"6-35-49":[3.21,14.36],"5-17-24":[0.41,19.18],"6-35-50":[1.45,11.01],"6-35-51":[-2.17,8.59],"5-17-25":[-6.93,11.01],"4-8-12":[-16.4,19.18],"6-35-52":[-5.6,3.45],"6-35-53":[-12,-1.41],"5-17-26":[-18.26,3.45],"6-35-54":[-13.82,-3.08],"6-35-55":[-20.59,-4.15],"5-17-27":[-25.29,-3.08],"4-8-13":[-35.05,3.45],"6-35-56":[-21.6,-7],"6-35-57":[-30.21,327.46],"5-17-28":[-33.98,327.46],"6-35-58":[-30.73,1088.67],"6-35-59":[-49.4,1067.5],"5-17-29":[-52.36,1732.84],"4-8-14":[-52.36,4721.94],"6-35-60":[-49.4,1223.59],"6-35-61":[548.47,1388.03],"5-17-30":[-52.36,2250.43],"6-35-62":[1139.79,2260.72],"6-35-63":[-29.54,2745.47],"5-17-31":[-29.54,2745.47],"4-8-15":[-52.36,2745.47],"6-36-0":[13.6,34.61],"6-36-1":[16.93,36.8],"6-36-2":[17.48,2230.75],"6-36-3":[8.2,2258.08],"6-36-4":[6.48,1817.36],"6-36-5":[1.34,2118.71],"6-36-6":[-14.9,1862.67],"6-36-7":[-49.69,611.89],"6-36-8":[-62.21,282.83],"6-36-9":[-68.81,575.77],"6-36-10":[-79.91,428.02],"6-36-11":[-45.31,430.05],"6-36-12":[-47.68,408.97],"6-36-13":[-44.52,406.33],"6-36-14":[126.58,610.85],"6-36-15":[16.43,575.3],"6-36-16":[12.09,700.02],"6-36-17":[-45.25,927.51],"6-36-18":[-64.5,1201.61],"6-36-19":[-85.54,191.41],"6-36-20":[-89.06,-36.24],"6-36-21":[-93.16,-34.13],"6-36-22":[-90.89,29.15],"6-36-23":[-82.17,55.76],"6-36-24":[-67.36,1947.58],"6-36-25":[-49.86,2231.33],"6-36-26":[-37.01,0.98],"6-36-27":[-29.93,-2.92],"6-36-28":[-18.96,1449.86],"6-36-29":[-29.88,4212.67],"6-36-30":[-37.47,5414.88],"6-36-31":[-328.06,5809.48],"6-36-32":[167.64,5906.18],"6-36-33":[112.46,4149.93],"6-36-34":[77.11,5607.45],"6-36-35":[-116.39,6754.44],"6-36-36":[-49.49,5914.69],"6-36-37":[-7.04,824.13],"6-36-38":[10.05,32.11],"6-36-39":[9.18,30.01],"6-36-40":[9.06,28.91],"6-36-41":[9.77,29.26],"6-36-42":[8.85,27.55],"6-36-43":[7.85,26.75],"6-36-44":[8.15,25.78],"6-36-45":[8.09,22.48],"6-36-46":[8.44,23.14],"6-36-47":[9.17,22.91],"6-36-48":[7.17,22.45],"6-36-49":[4.69,22.45],"6-36-50":[4.05,19.43],"6-36-51":[1.95,10.14],"6-36-52":[-2.07,8.34],"6-36-53":[-5.89,2.43],"6-36-54":[-7.67,1],"6-36-55":[-16.43,-0.39],"6-36-56":[-17.96,4.83],"6-36-57":[-24.97,322.6],"6-36-58":[-25.5,1069.77],"6-36-59":[-46.79,1055.47],"6-36-60":[-49.8,832.48],"6-36-61":[240.99,1288.62],"6-36-62":[1054.14,2281.25],"6-36-63":[-29.54,2745.47],"6-37-0":[13.6,35.4],"6-37-1":[17.14,38.45],"5-18-0":[13.6,38.45],"6-37-2":[18.24,2437.47],"6-37-3":[7.27,2148.92],"5-18-1":[7.27,2437.47],"6-37-4":[7.89,1260.24],"6-37-5":[4.77,32.77],"5-18-2":[1.34,2118.71],"6-37-6":[-1.92,1808.19],"6-37-7":[-40.5,1101.49],"5-18-3":[-49.69,1862.67],"6-37-8":[-50.59,282.61],"6-37-9":[-60.82,642.27],"5-18-4":[-68.81,642.27],"6-37-10":[-29.59,648.16],"6-37-11":[-23.76,410.19],"5-18-5":[-79.91,648.16],"6-37-12":[-40.73,516.43],"6-37-13":[163.41,654.15],"5-18-6":[-47.68,654.15],"6-37-14":[225.34,700.01],"6-37-15":[-96.6,889.43],"5-18-7":[-96.6,889.43],"6-37-16":[-33.29,1597.57],"6-37-17":[-113.29,1241.62],"5-18-8":[-113.29,1597.57],"6-37-18":[-86.48,7.41],"6-37-19":[-97.81,-12.11],"5-18-9":[-97.81,1201.61],"6-37-20":[-102.6,-42.73],"6-37-21":[-100.62,-43.8],"5-18-10":[-102.6,-34.13],"6-37-22":[-95.92,-41.08],"6-37-23":[-92.86,26.27],"5-18-11":[-95.92,55.76],"6-37-24":[-83.2,1217.95],"6-37-25":[-62.64,2330.69],"5-18-12":[-83.2,2330.69],"6-37-26":[-56.44,-14.96],"6-37-27":[-48.4,871.95],"5-18-13":[-56.44,871.95],"6-37-28":[-49.02,5700.22],"6-37-29":[-23.52,3844.52],"5-18-14":[-49.02,5700.22],"6-37-30":[169,5315.89],"6-37-31":[170.25,3836.77],"5-18-15":[-328.06,5809.48],"6-37-32":[117.06,443.38],"6-37-33":[81.67,324.59],"5-18-16":[81.67,5906.18],"6-37-34":[90.99,2362.22],"6-37-35":[136.3,5683.59],"5-18-17":[-116.39,6754.44],"6-37-36":[213.99,5564.58],"6-37-37":[-123.53,5547.75],"5-18-18":[-123.53,5914.69],"6-37-38":[11.41,41.12],"6-37-39":[13.52,40.44],"5-18-19":[9.18,41.12],"6-37-40":[13.77,39.3],"6-37-41":[13.66,37.5],"5-18-20":[9.06,39.3],"6-37-42":[12.71,34.42],"6-37-43":[9.07,32.14],"5-18-21":[7.85,34.42],"6-37-44":[8.29,34.46],"6-37-45":[-18.71,1376.54],"5-18-22":[-18.71,1376.54],"6-37-46":[-29.59,1061.25],"6-37-47":[-7.31,1414.25],"5-18-23":[-29.59,1414.25],"6-37-48":[-36.85,4026.29],"6-37-49":[-269.44,3587.09],"5-18-24":[-269.44,4026.29],"6-37-50":[-96.77,2789.91],"6-37-51":[-222.29,1172.63],"5-18-25":[-222.29,2789.91],"6-37-52":[1.79,13.51],"6-37-53":[0.72,11.28],"5-18-26":[-5.89,13.51],"6-37-54":[-0.4,8.59],"6-37-55":[-7.66,4.36],"5-18-27":[-16.43,8.59],"6-37-56":[-8.53,510.52],"6-37-57":[-19.03,669.28],"5-18-28":[-24.97,669.28],"6-37-58":[-21.41,1660.76],"6-37-59":[-46.84,796.88],"5-18-29":[-46.84,1660.76],"6-37-60":[-52.31,243.32],"6-37-61":[219.34,1153.83],"5-18-30":[-52.31,1288.62],"6-37-62":[921.3,2321.18],"6-37-63":[-29.54,2745.47],"5-18-31":[-29.54,2745.47],"6-38-0":[13.6,36.29],"6-38-1":[17.42,39.8],"6-38-2":[18.96,2116.63],"6-38-3":[6.6,2052.81],"6-38-4":[10,1115.32],"6-38-5":[12.54,35.55],"6-38-6":[0.83,1713.29],"6-38-7":[-34.12,1625.19],"6-38-8":[-39.93,332.82],"6-38-9":[-52.52,633.8],"6-38-10":[-48.57,658.27],"6-38-11":[-23.61,464.64],"6-38-12":[271.57,704.35],"6-38-13":[334.3,1114.61],"6-38-14":[-30.94,1053.24],"6-38-15":[-69.08,1266.55],"6-38-16":[-76.04,1888.88],"6-38-17":[-77.04,507.57],"6-38-18":[-86.89,-36.02],"6-38-19":[-98.41,-42.87],"6-38-20":[-103.24,-47.88],"6-38-21":[-104.42,-47.93],"6-38-22":[-104.14,-46.84],"6-38-23":[-103.56,-41.22],"6-38-24":[-101.46,1152.74],"6-38-25":[-85.84,3067.99],"6-38-26":[-70.73,-20.78],"6-38-27":[-65.4,833.1],"6-38-28":[-114.23,4925.73],"6-38-29":[10.54,5356.84],"6-38-30":[61.91,3882.23],"6-38-31":[106.5,839.2],"6-38-32":[68.16,474.29],"6-38-33":[63.39,249.13],"6-38-34":[103.34,384.58],"6-38-35":[184.94,644.83],"6-38-36":[252.99,6360.34],"6-38-37":[-22.39,6449.41],"6-38-38":[-1.33,5847.77],"6-38-39":[12.47,42.32],"6-38-40":[-9.89,2677.33],"6-38-41":[-3.78,2243.25],"6-38-42":[5.25,5156.32],"6-38-43":[2.3,5062.63],"6-38-44":[-10.81,5023.3],"6-38-45":[10.45,4724.4],"6-38-46":[-49.62,3766.16],"6-38-47":[-60.04,2585.5],"6-38-48":[-22.3,3553.09],"6-38-49":[7.67,3257.62],"6-38-50":[-72.84,2695.15],"6-38-51":[-106.71,1949.61],"6-38-52":[4.99,21.78],"6-38-53":[5.46,21.13],"6-38-54":[2.62,15.36],"6-38-55":[0.1,12.23],"6-38-56":[-3.35,2784.58],"6-38-57":[-15.5,1731.59],"6-38-58":[-15.5,1790.22],"6-38-59":[-44.23,1401.52],"6-38-60":[-50.33,332.2],"6-38-61":[241.75,1029.44],"6-38-62":[742.55,2346.02],"6-38-63":[-29.54,2745.47],"6-39-0":[13.6,37.58],"6-39-1":[17.68,41.29],"5-19-0":[13.6,41.29],"6-39-2":[16.51,1723.34],"6-39-3":[6.84,1651.25],"5-19-1":[6.6,2116.63],"4-9-0":[6.6,2437.47],"6-39-4":[11.11,1535.69],"6-39-5":[13.7,38.14],"5-19-2":[10,1535.69],"6-39-6":[2.98,1492.45],"6-39-7":[-1.86,1664.51],"5-19-3":[-34.12,1713.29],"4-9-1":[-49.69,2118.71],"3-4-0":[-63.11,2437.47],"6-39-8":[-16.42,932.96],"6-39-9":[-42.68,781.05],"5-19-4":[-52.52,932.96],"6-39-10":[-44.28,360.51],"6-39-11":[-41.88,596.29],"5-19-5":[-48.57,658.27],"4-9-2":[-79.91,932.96],"6-39-12":[51.44,869.29],"6-39-13":[188,1077.82],"5-19-6":[51.44,1114.61],"6-39-14":[-31.13,916.29],"6-39-15":[-25.79,1579.36],"5-19-7":[-69.08,1579.36],"4-9-3":[-96.6,1579.36],"3-4-1":[-97.86,1579.36],"6-39-16":[-56.2,1114.21],"6-39-17":[-75.76,23.87],"5-19-8":[-77.04,1888.88],"6-39-18":[-85.75,-37.02],"6-39-19":[-95.04,-41.17],"5-19-9":[-98.41,-36.02],"4-9-4":[-113.29,1888.88],"6-39-20":[-101.46,-44.35],"6-39-21":[-103.88,-46.85],"5-19-10":[-104.42,-44.35],"6-39-22":[-105.29,-49.02],"6-39-23":[-104.93,-50.05],"5-19-11":[-105.29,-41.22],"4-9-5":[-105.29,55.76],"3-4-2":[-113.29,2004.7],"6-39-24":[-129.9,-42.27],"6-39-25":[-132.42,1440.94],"5-19-12":[-132.42,3067.99],"6-39-26":[-85.88,-29.52],"6-39-27":[-89.53,1217.96],"5-19-13":[-89.53,1217.96],"4-9-6":[-132.42,3067.99],"6-39-28":[-34.01,3550.67],"6-39-29":[-4.7,404.14],"5-19-14":[-114.23,5356.84],"6-39-30":[19.1,759.95],"6-39-31":[49.74,984.95],"5-19-15":[19.1,3882.23],"4-9-7":[-328.06,5809.48],"3-4-3":[-328.06,5809.48],"6-39-32":[-0.58,880.62],"6-39-33":[34.67,244.67],"5-19-16":[-0.58,880.62],"6-39-34":[68,300.39],"6-39-35":[108.3,433.23],"5-19-17":[68,644.83],"4-9-8":[-116.39,6754.44],"6-39-36":[155.88,5347.83],"6-39-37":[202.17,6455.95],"5-19-18":[-22.39,6455.95],"6-39-38":[2.92,6600.28],"6-39-39":[3.78,6222.25],"5-19-19":[-1.33,6600.28],"4-9-9":[-123.53,6600.28],"3-4-4":[-123.53,6754.44],"6-39-40":[25.81,6775.96],"6-39-41":[366.3,6919.9],"5-19-20":[-9.89,6919.9],"6-39-42":[645.96,6300.89],"6-39-43":[493.64,6969.13],"5-19-21":[2.3,6969.13],"4-9-10":[-9.89,6969.13],"6-39-44":[407.92,5888.33],"6-39-45":[231.75,3998.13],"5-19-22":[-10.81,5888.33],"6-39-46":[248.58,2022.28],"6-39-47":[173.83,1957.39],"5-19-23":[-60.04,3766.16],"4-9-11":[-60.04,5888.33],"3-4-5":[-88.44,6969.13],"6-39-48":[-0.14,1353.11],"6-39-49":[-111.83,1097.15],"5-19-24":[-111.83,3553.09],"6-39-50":[-1.5,605.9],"6-39-51":[-63.31,2581.84],"5-19-25":[-106.71,2695.15],"4-9-12":[-269.44,4026.29],"6-39-52":[7.24,30.32],"6-39-53":[8.16,28.42],"5-19-26":[4.99,30.32],"6-39-54":[5.99,24.52],"6-39-55":[4.94,1701.66],"5-19-27":[0.1,1701.66],"4-9-13":[-16.43,1701.66],"3-4-6":[-269.44,4026.29],"6-39-56":[2.04,2876.77],"6-39-57":[-5.16,2323.88],"5-19-28":[-15.5,2876.77],"6-39-58":[-5.16,2011.29],"6-39-59":[-38.71,1401.52],"5-19-29":[-44.23,2011.29],"4-9-14":[-46.84,2876.77],"6-39-60":[-48.69,398.96],"6-39-61":[152.3,947.43],"5-19-30":[-50.33,1029.44],"6-39-62":[609.13,2348.16],"6-39-63":[-29.54,2745.47],"5-19-31":[-29.54,2745.47],"4-9-15":[-52.31,2745.47],"3-4-7":[-52.36,4721.94],"6-40-0":[13.58,38.54],"6-40-1":[18.42,42.48],"6-40-2":[14.03,1837.18],"6-40-3":[9.2,1301.31],"6-40-4":[16.61,1474.89],"6-40-5":[15.16,294.75],"6-40-6":[5.31,35.39],"6-40-7":[0.08,1690.53],"6-40-8":[-12.78,2057.19],"6-40-9":[-31.21,1148.56],"6-40-10":[-39,1032.11],"6-40-11":[-38.87,935.94],"6-40-12":[283.81,898.04],"6-40-13":[24.76,1031.68],"6-40-14":[-26.02,1255.33],"6-40-15":[-50.51,787.13],"6-40-16":[-51.94,269.07],"6-40-17":[-74.05,-24.93],"6-40-18":[-82.04,-34.93],"6-40-19":[-88.7,-36.77],"6-40-20":[-92.93,48.35],"6-40-21":[-98.06,-42.9],"6-40-22":[-101.84,-47.14],"6-40-23":[-104.68,-50.45],"6-40-24":[-138.65,-50.2],"6-40-25":[-141.12,1288.29],"6-40-26":[-90.28,-35.91],"6-40-27":[-82.71,92.4],"6-40-28":[-60.97,2718.19],"6-40-29":[-37.5,2385.74],"6-40-30":[52.53,2826.62],"6-40-31":[41.04,2785.87],"6-40-32":[-10.01,1058.3],"6-40-33":[7.09,158.16],"6-40-34":[23.99,203.5],"6-40-35":[68.74,470.48],"6-40-36":[117.6,267.64],"6-40-37":[126.79,5469.94],"6-40-38":[191.91,5778.21],"6-40-39":[986.52,6050.05],"6-40-40":[396.34,6388.87],"6-40-41":[262.61,6039.42],"6-40-42":[156.73,4549.07],"6-40-43":[232.7,2816.12],"6-40-44":[196.61,812.73],"6-40-45":[94.32,598.59],"6-40-46":[-102.43,1675.56],"6-40-47":[0.8,1125.83],"6-40-48":[-8.45,672.86],"6-40-49":[1.67,282.56],"6-40-50":[9.92,25.99],"6-40-51":[-12.01,1141.97],"6-40-52":[12.59,33.62],"6-40-53":[14.04,33.98],"6-40-54":[10.79,32.1],"6-40-55":[7.94,2110.84],"6-40-56":[7.14,2245.41],"6-40-57":[1.76,2040.57],"6-40-58":[-14.94,2090.43],"6-40-59":[-38.71,870.91],"6-40-60":[-48.69,230.81],"6-40-61":[-53.09,864.87],"6-40-62":[549.51,2344.27],"6-40-63":[-29.59,2745.47],"6-41-0":[13.58,39.48],"6-41-1":[19.11,44.26],"5-20-0":[13.58,44.26],"6-41-2":[13.19,951.78],"6-41-3":[11.37,1019.58],"5-20-1":[9.2,1837.18],"6-41-4":[17.37,1639.31],"6-41-5":[16.47,47.31],"5-20-2":[15.16,1639.31],"6-41-6":[12.24,47.31],"6-41-7":[6.36,1076.43],"5-20-3":[0.08,1690.53],"6-41-8":[-2.21,1785.63],"6-41-9":[-5.15,768.08],"5-20-4":[-31.21,2057.19],"6-41-10":[-18.25,1491.48],"6-41-11":[-32.03,1587.28],"5-20-5":[-39,1587.28],"6-41-12":[-13.09,864.36],"6-41-13":[25.94,1005.83],"5-20-6":[-13.09,1031.68],"6-41-14":[-40.09,588],"6-41-15":[-62.23,347.02],"5-20-7":[-62.23,1255.33],"6-41-16":[-51.62,265.73],"6-41-17":[-68.99,-25.54],"5-20-8":[-74.05,269.07],"6-41-18":[-71.61,-29.96],"6-41-19":[-78.01,-32.58],"5-20-9":[-88.7,-29.96],"6-41-20":[-85.81,18.12],"6-41-21":[-94.07,-39.59],"5-20-10":[-98.06,48.35],"6-41-22":[-102.75,-46.49],"6-41-23":[-105.57,-50.83],"5-20-11":[-105.57,-46.49],"6-41-24":[-129.54,-50.47],"6-41-25":[-129.48,1103.9],"5-20-12":[-141.12,1288.29],"6-41-26":[-90.4,869.54],"6-41-27":[-83.95,203.34],"5-20-13":[-90.4,869.54],"6-41-28":[-92.41,2565.59],"6-41-29":[-92.52,2449.21],"5-20-14":[-92.52,2718.19],"6-41-30":[126.29,2659.72],"6-41-31":[-0.89,2129.57],"5-20-15":[-0.89,2826.62],"6-41-32":[-35.4,103.23],"6-41-33":[-58.32,106.3],"5-20-16":[-58.32,1058.3],"6-41-34":[-8.15,187.29],"6-41-35":[3.69,1127.71],"5-20-17":[-8.15,1127.71],"6-41-36":[121.95,684.67],"6-41-37":[141.32,910.63],"5-20-18":[117.6,5469.94],"6-41-38":[214.18,4327.46],"6-41-39":[236.72,4098.61],"5-20-19":[191.91,6050.05],"6-41-40":[173.14,2622.25],"6-41-41":[94.42,1259.46],"5-20-20":[94.42,6388.87],"6-41-42":[68.09,1956.16],"6-41-43":[84.73,1847.62],"5-20-21":[68.09,4549.07],"6-41-44":[37.81,370.32],"6-41-45":[-42.53,1242.87],"5-20-22":[-42.53,1242.87],"6-41-46":[-22.19,172.48],"6-41-47":[-31.67,129.69],"5-20-23":[-102.43,1675.56],"6-41-48":[11.07,24.28],"6-41-49":[10.94,26.76],"5-20-24":[-8.45,672.86],"6-41-50":[10.24,27.93],"6-41-51":[-32.01,987.97],"5-20-25":[-32.01,1141.97],"6-41-52":[13.89,37.69],"6-41-53":[15.64,37.01],"5-20-26":[12.59,37.69],"6-41-54":[14.31,2255.29],"6-41-55":[8.72,2099.32],"5-20-27":[7.94,2255.29],"6-41-56":[6.99,2890.49],"6-41-57":[-1.96,2528.76],"5-20-28":[-1.96,2890.49],"6-41-58":[-28.3,1987.4],"6-41-59":[-36.07,-12.83],"5-20-29":[-38.71,2090.43],"6-41-60":[-47.6,-17.93],"6-41-61":[-51.95,806.53],"5-20-30":[-53.09,864.87],"6-41-62":[471.29,2332.43],"6-41-63":[-29.59,2745.47],"5-20-31":[-29.59,2745.47],"6-42-0":[13.6,39.87],"6-42-1":[20.07,45.77],"6-42-2":[13.39,636.09],"6-42-3":[13.39,1412.39],"6-42-4":[19.15,1850.85],"6-42-5":[16.99,99.21],"6-42-6":[19.11,50.32],"6-42-7":[14.3,47.47],"6-42-8":[7.19,1284.77],"6-42-9":[7.19,31.28],"6-42-10":[-1.45,19.12],"6-42-11":[-15.72,1027.48],"6-42-12":[-15.45,846.11],"6-42-13":[-12.9,704.1],"6-42-14":[-35.16,560.68],"6-42-15":[-28.74,626.18],"6-42-16":[-51.65,12.82],"6-42-17":[-59.93,-22.72],"6-42-18":[-63.96,-25.31],"6-42-19":[-70.71,-27.67],"6-42-20":[-79.19,-32.63],"6-42-21":[-92.99,-37.86],"6-42-22":[-102.26,-44.04],"6-42-23":[-104.51,-48.01],"6-42-24":[-109.89,-46.13],"6-42-25":[-127.72,350.69],"6-42-26":[-127.8,1415.28],"6-42-27":[-108.65,1174.77],"6-42-28":[-95.38,906.03],"6-42-29":[-54.23,2236.77],"6-42-30":[-7.39,2551.06],"6-42-31":[-5.06,1982.48],"6-42-32":[-47.66,394.84],"6-42-33":[-73.31,139.4],"6-42-34":[-32.27,379.21],"6-42-35":[37.28,586.16],"6-42-36":[152.35,742.16],"6-42-37":[128.07,1176.05],"6-42-38":[126.79,1325.79],"6-42-39":[110.1,644.34],"6-42-40":[97.77,249.8],"6-42-41":[34.67,233.97],"6-42-42":[2.15,142.11],"6-42-43":[-47.95,159.46],"6-42-44":[8.07,171.01],"6-42-45":[-24.24,773.01],"6-42-46":[11.51,27.54],"6-42-47":[5.16,24.63],"6-42-48":[5.16,23.27],"6-42-49":[8.2,25.72],"6-42-50":[-14.47,710.18],"6-42-51":[7.63,36.26],"6-42-52":[18.27,39.83],"6-42-53":[15.15,41.77],"6-42-54":[17.24,2109.78],"6-42-55":[9.82,2069.8],"6-42-56":[4.32,269.27],"6-42-57":[-10.08,1250.11],"6-42-58":[-23.74,1211.47],"6-42-59":[-36.14,-12.1],"6-42-60":[-49.12,-17.94],"6-42-61":[-51.95,889.65],"6-42-62":[706.64,2326.44],"6-42-63":[-29.54,2745.48],"6-43-0":[13.6,39.93],"6-43-1":[20.42,46.12],"5-21-0":[13.6,46.12],"6-43-2":[15.74,633.11],"6-43-3":[17.13,1941.41],"5-21-1":[13.39,1941.41],"4-10-0":[9.2,1941.41],"6-43-4":[99.2,2238.22],"6-43-5":[18.2,1021.33],"5-21-2":[16.99,2238.22],"6-43-6":[19.11,56.07],"6-43-7":[20.15,55.35],"5-21-3":[14.3,56.07],"4-10-1":[0.08,2238.22],"6-43-8":[17.02,49.44],"6-43-9":[9.89,42.39],"5-21-4":[7.19,1284.77],"6-43-10":[5.25,33.28],"6-43-11":[0.68,23.83],"5-21-5":[-15.72,1027.48],"4-10-2":[-39,2057.19],"6-43-12":[-8.86,1193.16],"6-43-13":[-13.28,895.93],"5-21-6":[-15.45,1193.16],"6-43-14":[-20.12,804.73],"6-43-15":[-48.44,566.65],"5-21-7":[-48.44,804.73],"4-10-3":[-62.23,1255.33],"6-43-16":[-45.14,-4.42],"6-43-17":[-49.88,-13.27],"5-21-8":[-59.93,12.82],"6-43-18":[-53.59,-19.77],"6-43-19":[-63.3,-23.07],"5-21-9":[-70.71,-19.77],"4-10-4":[-88.7,269.07],"6-43-20":[-73.49,-28.47],"6-43-21":[-87.06,-33.6],"5-21-10":[-92.99,-28.47],"6-43-22":[-94.59,-38.95],"6-43-23":[-97.23,-43.01],"5-21-11":[-104.51,-38.95],"4-10-5":[-105.57,48.35],"6-43-24":[-97.15,-43.83],"6-43-25":[-102.43,-45.56],"5-21-12":[-127.72,350.69],"6-43-26":[-113.66,-45.85],"6-43-27":[-108.06,-44.72],"5-21-13":[-127.8,1415.28],"4-10-6":[-141.12,1415.28],"6-43-28":[-95.84,-31.87],"6-43-29":[-77.21,502.55],"5-21-14":[-95.84,2236.77],"6-43-30":[-149.21,1207.52],"6-43-31":[87.42,1109.8],"5-21-15":[-149.21,2551.06],"4-10-7":[-149.21,2826.62],"6-43-32":[-59.96,483.8],"6-43-33":[-57.01,412.4],"5-21-16":[-73.31,483.8],"6-43-34":[2.73,657.03],"6-43-35":[87.58,621.44],"5-21-17":[-32.27,657.03],"4-10-8":[-73.31,1127.71],"6-43-36":[215.28,689.04],"6-43-37":[74.01,949.21],"5-21-18":[74.01,1176.05],"6-43-38":[58.91,1245.78],"6-43-39":[66.15,856.34],"5-21-19":[58.91,1325.79],"4-10-9":[58.91,6050.05],"6-43-40":[22.81,738.99],"6-43-41":[-2.88,703.38],"5-21-20":[-2.88,738.99],"6-43-42":[24.1,362.62],"6-43-43":[-5.9,395.29],"5-21-21":[-47.95,395.29],"4-10-10":[-47.95,6388.87],"6-43-44":[-44.85,228.24],"6-43-45":[-41.29,445.18],"5-21-22":[-44.85,773.01],"6-43-46":[2.65,26.5],"6-43-47":[0.53,19.67],"5-21-23":[0.53,27.54],"4-10-11":[-102.43,1675.56],"6-43-48":[0.24,14.06],"6-43-49":[3.69,25.65],"5-21-24":[0.24,25.72],"6-43-50":[3.62,714.59],"6-43-51":[5.69,38.8],"5-21-25":[-14.47,714.59],"4-10-12":[-32.01,1141.97],"6-43-52":[18.27,41.03],"6-43-53":[15.15,44.21],"5-21-26":[15.15,44.21],"6-43-54":[19.28,1728.16],"6-43-55":[9.82,37.01],"5-21-27":[9.82,2109.78],"4-10-13":[7.94,2255.29],"6-43-56":[1.8,22.37],"6-43-57":[-9.86,6.91],"5-21-28":[-10.08,1250.11],"6-43-58":[-23.43,-4.86],"6-43-59":[-35.85,-11.97],"5-21-29":[-36.14,1211.47],"4-10-14":[-38.71,2890.49],"6-43-60":[-50.63,-17.94],"6-43-61":[-51.01,1371.37],"5-21-30":[-51.95,1371.37],"6-43-62":[889.64,2317.26],"6-43-63":[-29.54,2745.48],"5-21-31":[-29.54,2745.48],"4-10-15":[-53.09,2745.48],"6-44-0":[13.6,39.84],"6-44-1":[20.3,45.86],"6-44-2":[17.47,772.13],"6-44-3":[19.23,2089.38],"6-44-4":[1020.94,2319.04],"6-44-5":[23.12,1708.39],"6-44-6":[23.37,1880.96],"6-44-7":[23.02,1854.07],"6-44-8":[21.54,1029.06],"6-44-9":[17.35,54.28],"6-44-10":[12.02,44.62],"6-44-11":[7.84,35.64],"6-44-12":[1.92,148.72],"6-44-13":[-20.3,486.61],"6-44-14":[-16.93,577.05],"6-44-15":[-12.05,408.54],"6-44-16":[-25.93,8.57],"6-44-17":[-39.16,-6.77],"6-44-18":[-44.89,-11.09],"6-44-19":[-56.94,-15.52],"6-44-20":[-66.17,-21.28],"6-44-21":[-77.89,-27.12],"6-44-22":[-85.04,-32.05],"6-44-23":[-89.27,-36.06],"6-44-24":[-91.01,-38.75],"6-44-25":[-96.71,-40.68],"6-44-26":[-98.96,-43.31],"6-44-27":[-95.93,-44.41],"6-44-28":[-95.18,-38.68],"6-44-29":[-81.6,14.37],"6-44-30":[-61.24,1030.82],"6-44-31":[94.48,889.3],"6-44-32":[-68.02,823.15],"6-44-33":[-38.49,487.97],"6-44-34":[67.74,694.41],"6-44-35":[161.68,753.33],"6-44-36":[228.41,612.29],"6-44-37":[103.13,914.71],"6-44-38":[86.09,880.42],"6-44-39":[114.58,752.75],"6-44-40":[106.53,799.57],"6-44-41":[70.48,899.62],"6-44-42":[35.31,584.15],"6-44-43":[1.97,482.27],"6-44-44":[-15.03,526.4],"6-44-45":[1.5,25.03],"6-44-46":[-0.35,22.2],"6-44-47":[-1.19,4.24],"6-44-48":[-2.11,6.22],"6-44-49":[-0.03,20.82],"6-44-50":[4.52,23.4],"6-44-51":[4.37,37.14],"6-44-52":[17.75,41.14],"6-44-53":[20.43,1523.88],"6-44-54":[16.01,578.59],"6-44-55":[7.53,38.03],"6-44-56":[-1.38,22.22],"6-44-57":[-9.33,2.32],"6-44-58":[-22.52,-3.02],"6-44-59":[-35.85,-11.88],"6-44-60":[-51.01,204.79],"6-44-61":[-50.72,1540.95],"6-44-62":[1083.33,2298.91],"6-44-63":[-29.54,2745.48],"6-45-0":[13.6,39.31],"6-45-1":[20,45.87],"5-22-0":[13.6,45.87],"6-45-2":[18.2,829.3],"6-45-3":[45.54,2185.38],"5-22-1":[17.47,2185.38],"6-45-4":[1552.61,2333.41],"6-45-5":[1247.03,2344.97],"5-22-2":[23.12,2344.97],"6-45-6":[26.83,2399.4],"6-45-7":[22.92,1842.92],"5-22-3":[22.92,2399.4],"6-45-8":[27.1,2229.6],"6-45-9":[22.31,1280.25],"5-22-4":[17.35,2229.6],"6-45-10":[19.37,59.8],"6-45-11":[16.17,52.29],"5-22-5":[7.84,59.8],"6-45-12":[14.52,48.25],"6-45-13":[12.67,43.66],"5-22-6":[-20.3,486.61],"6-45-14":[-9.6,301],"6-45-15":[-18.2,337.49],"5-22-7":[-18.2,577.05],"6-45-16":[-9.43,30.39],"6-45-17":[-20.11,6.02],"5-22-8":[-39.16,30.39],"6-45-18":[-27.17,-1.97],"6-45-19":[-40.58,-6.64],"5-22-9":[-56.94,-1.97],"6-45-20":[-50.81,-12.66],"6-45-21":[-62.29,-18.14],"5-22-10":[-77.89,-12.66],"6-45-22":[-68.68,-23.39],"6-45-23":[-75.93,-27.38],"5-22-11":[-89.27,-23.39],"6-45-24":[-80.15,-31.4],"6-45-25":[-85.3,-34.94],"5-22-12":[-96.71,-31.4],"6-45-26":[-89.68,-37.87],"6-45-27":[-90.85,-41.31],"5-22-13":[-98.96,-37.87],"6-45-28":[-90.85,-40.13],"6-45-29":[-87.64,-32.13],"5-22-14":[-95.18,14.37],"6-45-30":[-71.92,795.54],"6-45-31":[-78.81,615.02],"5-22-15":[-78.81,1030.82],"6-45-32":[-60.65,667.42],"6-45-33":[-29.07,524.34],"5-22-16":[-68.02,823.15],"6-45-34":[114.46,806.95],"6-45-35":[140.16,772.15],"5-22-17":[67.74,806.95],"6-45-36":[148.33,508.2],"6-45-37":[188.03,1020.26],"5-22-18":[103.13,1020.26],"6-45-38":[279.54,1043.99],"6-45-39":[226.83,630.24],"5-22-19":[86.09,1043.99],"6-45-40":[218.51,1344.63],"6-45-41":[192.34,1399.29],"5-22-20":[70.48,1399.29],"6-45-42":[-18.16,1093.19],"6-45-43":[-20.19,529.24],"5-22-21":[-20.19,1093.19],"6-45-44":[-0.71,38.77],"6-45-45":[-4.23,9.67],"5-22-22":[-15.03,526.4],"6-45-46":[-4.6,2.28],"6-45-47":[-5.77,-0.34],"5-22-23":[-5.77,22.2],"6-45-48":[-6.99,-0.02],"6-45-49":[-2.71,15],"5-22-24":[-6.99,20.82],"6-45-50":[5.01,17.57],"6-45-51":[6.24,35.37],"5-22-25":[4.37,37.14],"6-45-52":[17.75,40.41],"6-45-53":[20.22,47.29],"5-22-26":[17.75,1523.88],"6-45-54":[13.66,45.08],"6-45-55":[7.53,29.37],"5-22-27":[7.53,578.59],"6-45-56":[-1.7,15.36],"6-45-57":[-5.7,-0.8],"5-22-28":[-9.33,22.22],"6-45-58":[-21.59,-2.49],"6-45-59":[-34.95,-11.26],"5-22-29":[-35.85,-2.49],"6-45-60":[-51.02,354.31],"6-45-61":[-49.77,1979.94],"5-22-30":[-51.02,1979.94],"6-45-62":[1259.39,2275.47],"6-45-63":[-29.54,2745.48],"5-22-31":[-29.54,2745.48],"6-46-0":[13.6,38.72],"6-46-1":[19.71,46.42],"6-46-2":[19.83,660.34],"6-46-3":[405.24,2285.51],"6-46-4":[1894.84,2457.14],"6-46-5":[1860.54,2475.02],"6-46-6":[29.19,2542.84],"6-46-7":[26.42,1831.68],"6-46-8":[29.81,2027.72],"6-46-9":[29.48,2175.1],"6-46-10":[26.25,1494.43],"6-46-11":[24.84,68.28],"6-46-12":[21.59,63.25],"6-46-13":[21.59,55.81],"6-46-14":[17.39,52.22],"6-46-15":[15.17,53.92],"6-46-16":[5.41,41.06],"6-46-17":[-3.66,21.16],"6-46-18":[-11.78,10.12],"6-46-19":[-24.71,1.96],"6-46-20":[-35.15,-2.52],"6-46-21":[-46.25,-7.81],"6-46-22":[-53.6,-12.92],"6-46-23":[-62.78,-17.62],"6-46-24":[-68.86,-22.4],"6-46-25":[-75.75,-26.93],"6-46-26":[-82.25,-30.53],"6-46-27":[-86.6,-34.57],"6-46-28":[-87.21,-38.79],"6-46-29":[-85.59,-35.95],"6-46-30":[-76.08,-28.51],"6-46-31":[-60.98,35.72],"6-46-32":[-80.07,69.74],"6-46-33":[-95.49,521.39],"6-46-34":[51.02,882.74],"6-46-35":[105.36,737.91],"6-46-36":[127.52,1154.07],"6-46-37":[227.19,1475.44],"6-46-38":[312.64,1034.42],"6-46-39":[301.73,1075.16],"6-46-40":[-51.68,1855.39],"6-46-41":[-37.26,1825.17],"6-46-42":[-24.64,1827.75],"6-46-43":[-6.23,13.98],"6-46-44":[-9.69,10.93],"6-46-45":[-8.47,-0.7],"6-46-46":[-8.58,-1.87],"6-46-47":[-7.32,-2.14],"6-46-48":[-8.38,-2.22],"6-46-49":[-4.74,9.5],"6-46-50":[1.02,14.82],"6-46-51":[8.24,36.85],"6-46-52":[18.32,40.45],"6-46-53":[18.15,42.54],"6-46-54":[13.5,40.62],"6-46-55":[8,27.69],"6-46-56":[-0.82,15.99],"6-46-57":[-4.02,0.15],"6-46-58":[-20.54,-1.51],"6-46-59":[-34.25,437.71],"6-46-60":[-50.27,631.96],"6-46-61":[-48.16,1965.25],"6-46-62":[1373.28,2268.09],"6-46-63":[-29.54,2745.48],"6-47-0":[13.6,37.99],"6-47-1":[19.55,47.53],"5-23-0":[13.6,47.53],"6-47-2":[20.29,700.91],"6-47-3":[443.21,2373.94],"5-23-1":[19.83,2373.94],"4-11-0":[13.6,2373.94],"6-47-4":[2285.5,2625.24],"6-47-5":[2286.78,2882.05],"5-23-2":[1860.54,2882.05],"6-47-6":[1707.24,2840.8],"6-47-7":[1101.27,2476.32],"5-23-3":[26.42,2840.8],"4-11-1":[22.92,2882.05],"3-5-0":[0.08,2882.05],"6-47-8":[1301.32,2769.8],"6-47-9":[1356.57,2769.95],"5-23-4":[29.48,2769.95],"6-47-10":[33.06,2452.69],"6-47-11":[31.62,81.26],"5-23-5":[24.84,2452.69],"4-11-2":[7.84,2769.95],"6-47-12":[29.54,78.26],"6-47-13":[24.7,72.82],"5-23-6":[21.59,78.26],"6-47-14":[23.65,69.47],"6-47-15":[21.38,70.1],"5-23-7":[15.17,70.1],"4-11-3":[-20.3,577.05],"3-5-1":[-62.23,2769.95],"2-2-0":[-97.86,2882.05],"6-47-16":[13.6,55.71],"6-47-17":[5.96,40.64],"5-23-8":[-3.66,55.71],"6-47-18":[1.95,29.54],"6-47-19":[-2.64,22.06],"5-23-9":[-24.71,29.54],"4-11-4":[-56.94,55.71],"6-47-20":[-11.83,15.19],"6-47-21":[-23.15,4.78],"5-23-10":[-46.25,15.19],"6-47-22":[-31.32,-2.17],"6-47-23":[-42.51,-7.52],"5-23-11":[-62.78,-2.17],"4-11-5":[-89.27,15.19],"3-5-2":[-105.57,269.07],"6-47-24":[-50.68,-13.69],"6-47-25":[-59.08,-19.14],"5-23-12":[-75.75,-13.69],"6-47-26":[-65.46,-24.58],"6-47-27":[-76.9,-25.66],"5-23-13":[-86.6,-24.58],"4-11-6":[-98.96,-13.69],"6-47-28":[-76.9,-30.33],"6-47-29":[-77.77,-32.04],"5-23-14":[-87.21,-30.33],"6-47-30":[-72.57,-28.65],"6-47-31":[-64.4,-23.15],"5-23-15":[-76.08,35.72],"4-11-7":[-95.18,1030.82],"3-5-3":[-149.21,2826.62],"2-2-1":[-328.06,5809.48],"6-47-32":[-64.98,198.92],"6-47-33":[-52.12,442.32],"5-23-16":[-95.49,521.39],"6-47-34":[64.01,663.07],"6-47-35":[165.38,868.81],"5-23-17":[51.02,882.74],"4-11-8":[-95.49,882.74],"6-47-36":[242.55,1657.87],"6-47-37":[397.4,1576.13],"5-23-18":[127.52,1657.87],"6-47-38":[443.95,1269.93],"6-47-39":[482.05,2353.32],"5-23-19":[301.73,2353.32],"4-11-9":[86.09,2353.32],"3-5-4":[-95.49,6050.05],"6-47-40":[-47.11,2413.32],"6-47-41":[-19.83,2.39],"5-23-20":[-51.68,2413.32],"6-47-42":[-16.52,2.77],"6-47-43":[-15,-2.9],"5-23-21":[-24.64,1827.75],"4-11-10":[-51.68,2413.32],"6-47-44":[-12.7,-3.31],"6-47-45":[-12.43,-4],"5-23-22":[-12.7,10.93],"6-47-46":[-12.93,-3],"6-47-47":[-9.68,-2.76],"5-23-23":[-12.93,-1.87],"4-11-11":[-15.03,526.4],"3-5-5":[-102.43,6388.87],"2-2-2":[-123.53,6969.13],"6-47-48":[-7.97,-2.42],"6-47-49":[-5.09,12.36],"5-23-24":[-8.38,12.36],"6-47-50":[0.94,19.2],"6-47-51":[9.93,36.67],"5-23-25":[0.94,36.85],"4-11-12":[-8.38,37.14],"6-47-52":[18.32,42.39],"6-47-53":[18.15,853.58],"5-23-26":[18.15,853.58],"6-47-54":[14.52,46.03],"6-47-55":[8,29.24],"5-23-27":[8,46.03],"4-11-13":[7.53,1523.88],"3-5-6":[-32.01,2255.29],"6-47-56":[0.14,16.45],"6-47-57":[-4.25,0.82],"5-23-28":[-4.25,16.45],"6-47-58":[-18.57,-1.51],"6-47-59":[-29.56,457.63],"5-23-29":[-34.25,457.63],"4-11-14":[-35.85,457.63],"6-47-60":[-47.37,731.02],"6-47-61":[-47.53,1373.29],"5-23-30":[-50.27,1965.25],"6-47-62":[1353.9,2263.16],"6-47-63":[-29.54,2745.98],"5-23-31":[-29.54,2745.98],"4-11-15":[-51.02,2745.98],"3-5-7":[-53.09,2890.49],"2-2-3":[-269.44,4721.94],"6-48-0":[13.6,37.61],"6-48-1":[19.52,48.06],"6-48-2":[23.04,949.4],"6-48-3":[418.15,2469.75],"6-48-4":[2373.93,2812.59],"6-48-5":[2625.23,3024.06],"6-48-6":[2476.31,3047.68],"6-48-7":[2357.41,2826.07],"6-48-8":[1710.88,2785.17],"6-48-9":[45.47,2833.9],"6-48-10":[-226.59,2803.26],"6-48-11":[39.09,92.57],"6-48-12":[36.79,90.15],"6-48-13":[33.05,85.22],"6-48-14":[32.05,78.86],"6-48-15":[27.85,72.39],"6-48-16":[21.23,65.89],"6-48-17":[15.6,54.55],"6-48-18":[11.42,45.38],"6-48-19":[8.36,39.31],"6-48-20":[2.88,32.2],"6-48-21":[-3.8,23.36],"6-48-22":[-13.7,10.3],"6-48-23":[-26.69,-1.49],"6-48-24":[-36.66,-9.03],"6-48-25":[-48.75,-14.66],"6-48-26":[-52.31,-19.6],"6-48-27":[-60.66,-21.73],"6-48-28":[-65.09,-22.59],"6-48-29":[-65.14,-24.57],"6-48-30":[-64.07,-23.02],"6-48-31":[-58.56,-22.33],"6-48-32":[-70.5,80.25],"6-48-33":[-60.53,366.28],"6-48-34":[46.82,588.21],"6-48-35":[175.94,1298.57],"6-48-36":[374.95,1756.49],"6-48-37":[264.86,1788.77],"6-48-38":[158.3,2047.81],"6-48-39":[-0.94,2789.25],"6-48-40":[-170.49,2060.99],"6-48-41":[-22.35,-6.95],"6-48-42":[-21.25,-7.27],"6-48-43":[-16.43,-5.74],"6-48-44":[-15.08,-5.85],"6-48-45":[-14.74,-5.73],"6-48-46":[-15.44,-5.21],"6-48-47":[-14.07,-3.49],"6-48-48":[-9.34,-1.35],"6-48-49":[-3.65,16.97],"6-48-50":[3.91,17.53],"6-48-51":[9.5,35.69],"6-48-52":[17.4,41.28],"6-48-53":[19.29,277.84],"6-48-54":[14.49,46.03],"6-48-55":[8.34,28.56],"6-48-56":[0.81,16.97],"6-48-57":[-6.67,1.37],"6-48-58":[-16.22,-2.35],"6-48-59":[-31.72,213.73],"6-48-60":[-45.8,701.38],"6-48-61":[-47.53,1548.87],"6-48-62":[1362.57,2265.71],"6-48-63":[-29.54,2746.48],"6-49-0":[13.6,37.46],"6-49-1":[19.53,48.73],"5-24-0":[13.6,48.73],"6-49-2":[24.05,1459.96],"6-49-3":[919.34,2462.17],"5-24-1":[23.04,2469.75],"6-49-4":[2354.99,2812.59],"6-49-5":[2629.11,3141.21],"5-24-2":[2354.99,3141.21],"6-49-6":[2784.52,3182.09],"6-49-7":[2634.56,3042.62],"5-24-3":[2357.41,3182.09],"6-49-8":[44.4,2652.87],"6-49-9":[44.54,2012.55],"5-24-4":[44.4,2833.9],"6-49-10":[46.28,334.77],"6-49-11":[44.97,101.28],"5-24-5":[-226.59,2803.26],"6-49-12":[43.91,102],"6-49-13":[40.13,98.24],"5-24-6":[33.05,102],"6-49-14":[36.75,93.09],"6-49-15":[33.71,86.06],"5-24-7":[27.85,93.09],"6-49-16":[28.95,81.48],"6-49-17":[23.81,73.88],"5-24-8":[15.6,81.48],"6-49-18":[21.4,66.2],"6-49-19":[17.36,60.53],"5-24-9":[8.36,66.2],"6-49-20":[13.7,55.5],"6-49-21":[5.84,39.04],"5-24-10":[-3.8,55.5],"6-49-22":[-1.5,22.35],"6-49-23":[-16.89,4.59],"5-24-11":[-26.69,22.35],"6-49-24":[-26.78,-4.39],"6-49-25":[-37.71,-9.55],"5-24-12":[-48.75,-4.39],"6-49-26":[-42.33,-13.76],"6-49-27":[-43.85,-16.48],"5-24-13":[-60.66,-13.76],"6-49-28":[-45.31,-15.23],"6-49-29":[-49.21,-15.42],"5-24-14":[-65.14,-15.23],"6-49-30":[-47.15,-16.29],"6-49-31":[-46.81,-15.86],"5-24-15":[-64.07,-15.86],"6-49-32":[-46.81,79.72],"6-49-33":[-74.23,1125.05],"5-24-16":[-74.23,1125.05],"6-49-34":[53.15,966.21],"6-49-35":[149.22,1272.47],"5-24-17":[46.82,1298.57],"6-49-36":[99.05,2017.31],"6-49-37":[0.38,1423.16],"5-24-18":[0.38,2017.31],"6-49-38":[-51.4,1567.33],"6-49-39":[-41.56,2863.35],"5-24-19":[-51.4,2863.35],"6-49-40":[-24.02,694.74],"6-49-41":[-23.57,-9.82],"5-24-20":[-170.49,2060.99],"6-49-42":[-21.49,-7.66],"6-49-43":[-17.46,-7.18],"5-24-21":[-21.49,-5.74],"6-49-44":[-15.24,-6.72],"6-49-45":[-14.63,-6.41],"5-24-22":[-15.24,-5.73],"6-49-46":[-15.67,-6.33],"6-49-47":[-14.71,-4.79],"5-24-23":[-15.67,-3.49],"6-49-48":[-10.04,-0.71],"6-49-49":[-1.58,15],"5-24-24":[-10.04,16.97],"6-49-50":[3.4,15.14],"6-49-51":[6.24,37.34],"5-24-25":[3.4,37.34],"6-49-52":[17.4,40.03],"6-49-53":[19.24,44.9],"5-24-26":[17.4,277.84],"6-49-54":[14.63,42.23],"6-49-55":[8.34,28.46],"5-24-27":[8.34,46.03],"6-49-56":[1.36,16.69],"6-49-57":[-9.07,1.88],"5-24-28":[-9.07,16.97],"6-49-58":[-13.8,-3.51],"6-49-59":[-31.95,-7.78],"5-24-29":[-31.95,213.73],"6-49-60":[-42.5,467.1],"6-49-61":[-22.1,1679.35],"5-24-30":[-47.53,1679.35],"6-49-62":[1548.86,2265.71],"6-49-63":[-29.54,2746.48],"5-24-31":[-29.54,2746.48],"6-50-0":[13.6,37.63],"6-50-1":[19.61,49.96],"6-50-2":[24.84,1457.67],"6-50-3":[1097.61,2355],"6-50-4":[2249.23,2629.12],"6-50-5":[2558.1,3200.74],"6-50-6":[3042.61,3253.39],"6-50-7":[2639.66,3209.33],"6-50-8":[45.07,3108.37],"6-50-9":[45.74,106.81],"6-50-10":[49.27,105.78],"6-50-11":[49.5,111.91],"6-50-12":[49.85,112.69],"6-50-13":[46.54,108.32],"6-50-14":[43.24,103.27],"6-50-15":[40.73,96.8],"6-50-16":[37.48,93],"6-50-17":[33.1,87.83],"6-50-18":[30.85,80.4],"6-50-19":[27.75,76.44],"6-50-20":[20.59,68.85],"6-50-21":[12.03,47.85],"6-50-22":[3.31,31.01],"6-50-23":[-8.2,12.45],"6-50-24":[-17.97,2.19],"6-50-25":[-27.35,-2.98],"6-50-26":[-32.47,-5.75],"6-50-27":[-35.27,-10.36],"6-50-28":[-34.69,-9.18],"6-50-29":[-34.54,-8.11],"6-50-30":[-34.03,-8.32],"6-50-31":[-34.84,-8.32],"6-50-32":[-34.84,-10.92],"6-50-33":[-44.76,1106.52],"6-50-34":[4.53,1190.32],"6-50-35":[-49.15,1083.8],"6-50-36":[-42.94,626.82],"6-50-37":[-28.08,986.18],"6-50-38":[-23.73,124.34],"6-50-39":[-23.06,-5.86],"6-50-40":[-23.22,-8.26],"6-50-41":[-22.24,-6.03],"6-50-42":[-20.02,-1.95],"6-50-43":[-15.06,-2.36],"6-50-44":[-14.73,-4.64],"6-50-45":[-13.41,-4.06],"6-50-46":[-13.54,-3.83],"6-50-47":[-13.35,-3.1],"6-50-48":[-9.2,0.55],"6-50-49":[-0.72,12.98],"6-50-50":[2.9,23.35],"6-50-51":[-44.49,2738.7],"6-50-52":[19.49,41.64],"6-50-53":[20.4,44],"6-50-54":[14.13,41.06],"6-50-55":[7.93,28.3],"6-50-56":[1.73,16.49],"6-50-57":[-9.57,2.54],"6-50-58":[-12.44,-2.31],"6-50-59":[-30.93,-7.27],"6-50-60":[-38.74,776.2],"6-50-61":[467.09,1715.15],"6-50-62":[1679.34,2262.46],"6-50-63":[-29.54,2746.48],"6-51-0":[13.6,37.87],"6-51-1":[19.71,51.91],"5-25-0":[13.6,51.91],"6-51-2":[25.09,1225.55],"6-51-3":[563.18,2251.74],"5-25-1":[24.84,2355],"4-12-0":[13.6,2469.75],"6-51-4":[2064.18,2558.11],"6-51-5":[2479.15,3116.18],"5-25-2":[2064.18,3200.74],"6-51-6":[2863.3,3190.72],"6-51-7":[842.84,3318.44],"5-25-3":[842.84,3318.44],"4-12-1":[842.84,3318.44],"6-51-8":[51.79,2952.11],"6-51-9":[51.81,111.55],"5-25-4":[45.07,3108.37],"6-51-10":[52.28,118.01],"6-51-11":[54.03,122.71],"5-25-5":[49.27,122.71],"4-12-2":[-226.59,3108.37],"6-51-12":[56.06,122.31],"6-51-13":[52.06,118.71],"5-25-6":[46.54,122.31],"6-51-14":[49.47,113.3],"6-51-15":[47.29,108.7],"5-25-7":[40.73,113.3],"4-12-3":[27.85,122.31],"6-51-16":[45.13,107.59],"6-51-17":[41.29,102.26],"5-25-8":[33.1,107.59],"6-51-18":[39.59,98.78],"6-51-19":[34.86,94.27],"5-25-9":[27.75,98.78],"4-12-4":[8.36,107.59],"6-51-20":[25.6,77.17],"6-51-21":[16.22,56.25],"5-25-10":[12.03,77.17],"6-51-22":[7.85,41.92],"6-51-23":[2.04,22.97],"5-25-11":[-8.2,41.92],"4-12-5":[-26.69,77.17],"6-51-24":[-2.99,19.11],"6-51-25":[-9.54,11.37],"5-25-12":[-27.35,19.11],"6-51-26":[-18.24,4.22],"6-51-27":[-22.86,-3.86],"5-25-13":[-35.27,4.22],"4-12-6":[-60.66,19.11],"6-51-28":[-21.86,-3.45],"6-51-29":[-16.16,0.32],"5-25-14":[-34.69,0.32],"6-51-30":[-15.02,0.32],"6-51-31":[-23.52,-1.06],"5-25-15":[-34.84,0.32],"4-12-7":[-65.14,0.32],"6-51-32":[-24.99,-5.27],"6-51-33":[-25.2,315.67],"5-25-16":[-44.76,1106.52],"6-51-34":[-43.64,1194.05],"6-51-35":[-34.81,1027.17],"5-25-17":[-49.15,1194.05],"4-12-8":[-74.23,1298.57],"6-51-36":[-25.89,-9.5],"6-51-37":[-26.03,-8.12],"5-25-18":[-42.94,986.18],"6-51-38":[-21.09,-6.58],"6-51-39":[-20.12,-3.54],"5-25-19":[-23.73,124.34],"4-12-9":[-51.4,2863.35],"6-51-40":[-17.91,-6.14],"6-51-41":[-15.72,-2.7],"5-25-20":[-23.22,-2.7],"6-51-42":[-11.25,4.88],"6-51-43":[-8.51,4.82],"5-25-21":[-20.02,4.88],"4-12-10":[-170.49,2060.99],"6-51-44":[-8.8,-0.42],"6-51-45":[-8.93,-0.49],"5-25-22":[-14.73,-0.42],"6-51-46":[-7.5,-0.3],"6-51-47":[-7.21,0.52],"5-25-23":[-13.54,0.52],"4-12-11":[-15.67,0.52],"6-51-48":[-5.84,5.1],"6-51-49":[0.54,16.37],"5-25-24":[-9.2,16.37],"6-51-50":[6.57,28.17],"6-51-51":[0.07,2916.19],"5-25-25":[-44.49,2916.19],"4-12-12":[-44.49,2916.19],"6-51-52":[19.49,44.42],"6-51-53":[20.67,45.57],"5-25-26":[19.49,45.57],"6-51-54":[13.2,41.85],"6-51-55":[7.93,27.24],"5-25-27":[7.93,41.85],"4-12-13":[7.93,277.84],"6-51-56":[1.43,15.82],"6-51-57":[-8.96,2.59],"5-25-28":[-9.57,16.49],"6-51-58":[-10.69,-0.69],"6-51-59":[-26.21,682.83],"5-25-29":[-30.93,682.83],"4-12-14":[-31.95,682.83],"6-51-60":[-38.69,818.98],"6-51-61":[776.19,1785.3],"5-25-30":[-38.74,1785.3],"6-51-62":[1715.14,2257.85],"6-51-63":[-29.54,2746.48],"5-25-31":[-29.54,2746.48],"4-12-15":[-47.53,2746.48],"6-52-0":[13.6,38],"6-52-1":[19.75,52.83],"6-52-2":[26.3,1141.68],"6-52-3":[39.31,2076.74],"6-52-4":[1811.24,2521.51],"6-52-5":[2242.7,2887.36],"6-52-6":[2056.01,3023.83],"6-52-7":[55.87,3002.57],"6-52-8":[54.97,1206.68],"6-52-9":[54.3,120.01],"6-52-10":[55.78,125.87],"6-52-11":[59.31,126.28],"6-52-12":[59.58,122.56],"6-52-13":[56.65,121.98],"6-52-14":[54.49,120.69],"6-52-15":[53.73,118.59],"6-52-16":[51.45,117.92],"6-52-17":[49.39,956.08],"6-52-18":[47.13,292.1],"6-52-19":[38.59,98.45],"6-52-20":[29.29,80.32],"6-52-21":[22.35,62.32],"6-52-22":[12.18,49.65],"6-52-23":[9.78,32.21],"6-52-24":[6.18,30.74],"6-52-25":[2.46,27.03],"6-52-26":[-6.88,18.42],"6-52-27":[-11.61,3.79],"6-52-28":[-11.61,1.81],"6-52-29":[-6.04,9.77],"6-52-30":[-1.63,10.1],"6-52-31":[-11.81,9.72],"6-52-32":[-15.72,1.12],"6-52-33":[-24.61,236.48],"6-52-34":[-22.93,-6.99],"6-52-35":[-23.03,-9.64],"6-52-36":[-21.93,-7.29],"6-52-37":[-18.49,-6.71],"6-52-38":[-16.29,-5.18],"6-52-39":[-15.68,-4.33],"6-52-40":[-15.61,-5.17],"6-52-41":[-11.29,0.3],"6-52-42":[-4.72,5.27],"6-52-43":[-1.14,6.16],"6-52-44":[-1.59,8.81],"6-52-45":[-1.75,7.35],"6-52-46":[-1.79,8.03],"6-52-47":[-1.07,9.11],"6-52-48":[0.32,11.62],"6-52-49":[3.14,20.83],"6-52-50":[10.63,31.49],"6-52-51":[8.47,44.15],"6-52-52":[20.98,48.11],"6-52-53":[20.05,47.57],"6-52-54":[12.4,39.99],"6-52-55":[6.84,24.84],"6-52-56":[1.3,15.07],"6-52-57":[-6.52,2.36],"6-52-58":[-10.53,-0.06],"6-52-59":[-21.87,1124.55],"6-52-60":[-37.76,910.74],"6-52-61":[818.39,1887.29],"6-52-62":[1785.29,2271.2],"6-52-63":[-29.54,2746.48],"6-53-0":[13.6,38.04],"6-53-1":[19.67,53.58],"5-26-0":[13.6,53.58],"6-53-2":[26.45,988.3],"6-53-3":[357.17,1866.38],"5-26-1":[26.3,2076.74],"6-53-4":[1590.54,2511.91],"6-53-5":[1504.88,2633.93],"5-26-2":[1504.88,2887.36],"6-53-6":[50.54,2633.93],"6-53-7":[54.99,3982.86],"5-26-3":[50.54,3982.86],"6-53-8":[57.33,121.21],"6-53-9":[57.33,128.08],"5-26-4":[54.3,1206.68],"6-53-10":[60.52,129.5],"6-53-11":[60.77,127.45],"5-26-5":[55.78,129.5],"6-53-12":[59.99,122.28],"6-53-13":[59.83,127.23],"5-26-6":[56.65,127.23],"6-53-14":[60.04,129.8],"6-53-15":[59.64,129.69],"5-26-7":[53.73,129.8],"6-53-16":[58.28,129.28],"6-53-17":[56.51,123.07],"5-26-8":[49.39,956.08],"6-53-18":[49.22,2346.09],"6-53-19":[40.38,100.63],"5-26-9":[38.59,2346.09],"6-53-20":[31.82,83.95],"6-53-21":[25.24,69.72],"5-26-10":[22.35,83.95],"6-53-22":[17.36,52.25],"6-53-23":[15.16,40.62],"5-26-11":[9.78,52.25],"6-53-24":[15.01,37.08],"6-53-25":[10.17,36.9],"5-26-12":[2.46,37.08],"6-53-26":[3.36,31.78],"6-53-27":[0.38,19.03],"5-26-13":[-11.61,31.78],"6-53-28":[0.23,13.16],"6-53-29":[1.8,18.26],"5-26-14":[-11.61,18.26],"6-53-30":[5.2,18.06],"6-53-31":[0.58,16.65],"5-26-15":[-11.81,18.06],"6-53-32":[-9.18,11.61],"6-53-33":[-14,-1.77],"5-26-16":[-24.61,236.48],"6-53-34":[-21.18,-5.37],"6-53-35":[-21.12,-7.87],"5-26-17":[-23.03,-5.37],"6-53-36":[-19.03,-7.1],"6-53-37":[-14.64,-6.55],"5-26-18":[-21.93,-6.55],"6-53-38":[-14.32,-5.31],"6-53-39":[-22.84,584.18],"5-26-19":[-22.84,584.18],"6-53-40":[-12.77,-3.59],"6-53-41":[-8.93,2.46],"5-26-20":[-15.61,2.46],"6-53-42":[0.26,10.35],"6-53-43":[2.82,13.56],"5-26-21":[-4.72,13.56],"6-53-44":[2.99,18.1],"6-53-45":[3.74,19.28],"5-26-22":[-1.75,19.28],"6-53-46":[4.18,19.28],"6-53-47":[4.92,20.12],"5-26-23":[-1.79,20.12],"6-53-48":[4.93,21.48],"6-53-49":[6.89,25.29],"5-26-24":[0.32,25.29],"6-53-50":[10.63,32.32],"6-53-51":[8.47,44.34],"5-26-25":[8.47,44.34],"6-53-52":[22.07,48.37],"6-53-53":[20.05,48.14],"5-26-26":[20.05,48.37],"6-53-54":[11.81,40.04],"6-53-55":[6.84,22.99],"5-26-27":[6.84,40.04],"6-53-56":[1.22,13.57],"6-53-57":[-4.92,1.98],"5-26-28":[-6.52,15.07],"6-53-58":[-10.25,-0.09],"6-53-59":[-16.53,1294.14],"5-26-29":[-21.87,1294.14],"6-53-60":[-35.54,1634.18],"6-53-61":[910.73,1960.78],"5-26-30":[-37.76,1960.78],"6-53-62":[1887.28,2301.31],"6-53-63":[-29.54,2746.48],"5-26-31":[-29.54,2746.48],"6-54-0":[13.6,38.03],"6-54-1":[19.6,54.55],"6-54-2":[26.58,989.93],"6-54-3":[31.94,1631.63],"6-54-4":[1236.12,2416.2],"6-54-5":[47.32,2217.34],"6-54-6":[48.05,2458.39],"6-54-7":[54.4,2560.61],"6-54-8":[59.36,127.95],"6-54-9":[61.22,130.4],"6-54-10":[62.35,130.18],"6-54-11":[60.84,126.55],"6-54-12":[60.65,122.78],"6-54-13":[60.63,127.15],"6-54-14":[62.98,131.06],"6-54-15":[64.62,132.17],"6-54-16":[60.84,129.76],"6-54-17":[57.33,122.83],"6-54-18":[41.12,1086.32],"6-54-19":[38.34,100.89],"6-54-20":[31.04,82.99],"6-54-21":[26.81,66.49],"6-54-22":[21.12,53.95],"6-54-23":[17.1,42.86],"6-54-24":[18.44,45.39],"6-54-25":[15.88,1434.62],"6-54-26":[10.32,41.69],"6-54-27":[7.13,30.03],"6-54-28":[6.53,22.91],"6-54-29":[6.71,23.82],"6-54-30":[8.3,22.61],"6-54-31":[6.31,20.6],"6-54-32":[-2.33,18.27],"6-54-33":[-10.41,1.49],"6-54-34":[-15.53,-1.98],"6-54-35":[-16.6,-5.32],"6-54-36":[-16.29,-6.18],"6-54-37":[-15.52,-6.1],"6-54-38":[-15.32,-6.3],"6-54-39":[-13.65,-5.14],"6-54-40":[-12.51,-0.74],"6-54-41":[-6.03,5.66],"6-54-42":[1.39,12.5],"6-54-43":[4.87,19.2],"6-54-44":[7.12,24.93],"6-54-45":[8.92,26.98],"6-54-46":[9.52,27.23],"6-54-47":[9.52,28],"6-54-48":[10.95,28.86],"6-54-49":[10.95,32.39],"6-54-50":[15.14,35.56],"6-54-51":[2.7,43.39],"6-54-52":[3.95,1349.09],"6-54-53":[10.78,1035.34],"6-54-54":[10.99,38.39],"6-54-55":[6.04,21.85],"6-54-56":[1.32,12.69],"6-54-57":[-4.19,2.98],"6-54-58":[-8.55,102.38],"6-54-59":[-11.49,1507.45],"6-54-60":[282.95,1787.39],"6-54-61":[1151.7,2012.99],"6-54-62":[1960.77,2336.23],"6-54-63":[-29.54,2746.48],"6-55-0":[13.6,37.95],"6-55-1":[19.57,55.69],"5-27-0":[13.6,55.69],"6-55-2":[26.3,766.89],"6-55-3":[31.3,1410.95],"5-27-1":[26.3,1631.63],"4-13-0":[13.6,2076.74],"6-55-4":[33.45,2030.68],"6-55-5":[42.85,2071.97],"5-27-2":[33.45,2416.2],"6-55-6":[49.24,2327.64],"6-55-7":[55.03,1988.61],"5-27-3":[48.05,2560.61],"4-13-1":[33.45,3982.86],"3-6-0":[13.6,3982.86],"6-55-8":[59.61,1471.32],"6-55-9":[64.12,194.14],"5-27-4":[59.36,1471.32],"6-55-10":[60.83,129.91],"6-55-11":[60.83,126.1],"5-27-5":[60.83,130.18],"4-13-2":[54.3,1471.32],"6-55-12":[59.88,126.1],"6-55-13":[60,126.13],"5-27-6":[59.88,127.15],"6-55-14":[62.57,129.01],"6-55-15":[62.57,131.88],"5-27-7":[62.57,132.17],"4-13-3":[53.73,132.17],"3-6-1":[-226.59,3108.37],"6-55-16":[59.45,129.91],"6-55-17":[53.56,120.26],"5-27-8":[53.56,129.91],"6-55-18":[41.9,1131.62],"6-55-19":[36.6,100.95],"5-27-9":[36.6,1131.62],"4-13-4":[36.6,2346.09],"6-55-20":[30.32,76.17],"6-55-21":[26.98,63.94],"5-27-10":[26.81,82.99],"6-55-22":[22.3,55.85],"6-55-23":[20.15,50.59],"5-27-11":[17.1,55.85],"4-13-5":[9.78,83.95],"3-6-2":[-26.69,2346.09],"6-55-24":[19.98,51.75],"6-55-25":[2.58,2003.8],"5-27-12":[2.58,2003.8],"6-55-26":[-31.78,2815.55],"6-55-27":[12.13,37.39],"5-27-13":[-31.78,2815.55],"4-13-6":[-31.78,2815.55],"6-55-28":[11.03,31.14],"6-55-29":[11.25,32.89],"5-27-14":[6.53,32.89],"6-55-30":[10.59,30.93],"6-55-31":[9.61,23.87],"5-27-15":[6.31,30.93],"4-13-7":[-11.81,32.89],"3-6-3":[-65.14,2815.55],"6-55-32":[1.48,20.71],"6-55-33":[-3.02,8.19],"5-27-16":[-10.41,20.71],"6-55-34":[-9.54,4],"6-55-35":[-12.07,-1.23],"5-27-17":[-16.6,4],"4-13-8":[-24.61,236.48],"6-55-36":[-12.66,-2.77],"6-55-37":[-14.13,-3.24],"5-27-18":[-16.29,-2.77],"6-55-38":[-14.42,-3.25],"6-55-39":[-12.99,-2.51],"5-27-19":[-15.32,-2.51],"4-13-9":[-22.84,584.18],"3-6-4":[-74.23,2863.35],"6-55-40":[-10.22,3.34],"6-55-41":[-0.75,11.75],"5-27-20":[-12.51,11.75],"6-55-42":[3.17,18.07],"6-55-43":[7.05,25.53],"5-27-21":[1.39,25.53],"4-13-10":[-15.61,25.53],"6-55-44":[9.9,32.41],"6-55-45":[13.07,35.35],"5-27-22":[7.12,35.35],"6-55-46":[13.58,36.95],"6-55-47":[13.63,36.98],"5-27-23":[9.52,36.98],"4-13-11":[-1.79,36.98],"3-6-5":[-170.49,2060.99],"6-55-48":[14.16,36.96],"6-55-49":[14.19,37.24],"5-27-24":[10.95,37.24],"6-55-50":[16.34,39.76],"6-55-51":[3.61,42.27],"5-27-25":[2.7,43.39],"4-13-12":[0.32,44.34],"6-55-52":[3.95,37.89],"6-55-53":[9.63,38.97],"5-27-26":[3.95,1349.09],"6-55-54":[10.3,35.96],"6-55-55":[6.04,20.47],"5-27-27":[6.04,38.39],"4-13-13":[3.95,1349.09],"3-6-6":[-44.49,2916.19],"6-55-56":[1.74,12.02],"6-55-57":[-4.2,3.22],"5-27-28":[-4.2,12.69],"6-55-58":[-6.28,557.2],"6-55-59":[102.37,1604.48],"5-27-29":[-11.49,1604.48],"4-13-14":[-21.87,1604.48],"6-55-60":[378.53,1737.31],"6-55-61":[1187.19,2103.65],"5-27-30":[282.95,2103.65],"6-55-62":[2012.98,2360.08],"6-55-63":[-29.54,2746.48],"5-27-31":[-29.54,2746.48],"4-13-15":[-37.76,2746.48],"3-6-7":[-47.53,2746.48],"6-56-0":[13.6,37.87],"6-56-1":[19.57,55.73],"6-56-2":[25.75,654.04],"6-56-3":[28.03,1529.13],"6-56-4":[28.03,995.54],"6-56-5":[38.36,1653.87],"6-56-6":[49.95,1002],"6-56-7":[55.4,671.1],"6-56-8":[61.97,1784.7],"6-56-9":[62.67,1475.57],"6-56-10":[60.06,128.25],"6-56-11":[60.24,126.29],"6-56-12":[59.56,126.29],"6-56-13":[59.86,126.21],"6-56-14":[61.49,126.55],"6-56-15":[60.3,127.18],"6-56-16":[56.77,126.5],"6-56-17":[50.99,117.02],"6-56-18":[43.52,106.96],"6-56-19":[36.6,92.67],"6-56-20":[32.36,81.82],"6-56-21":[27.93,72.03],"6-56-22":[25.77,65.54],"6-56-23":[23.87,64.24],"6-56-24":[23.73,52.11],"6-56-25":[24.85,53.98],"6-56-26":[18.69,52.63],"6-56-27":[15.51,44.22],"6-56-28":[15.28,40.2],"6-56-29":[15.58,37.67],"6-56-30":[12.32,36.23],"6-56-31":[11.02,26.97],"6-56-32":[4.25,25.11],"6-56-33":[2.15,15.56],"6-56-34":[-2.11,11.93],"6-56-35":[-5.35,8.47],"6-56-36":[-7.16,4.11],"6-56-37":[-7.33,0.85],"6-56-38":[-8.48,0.68],"6-56-39":[-8.31,1.89],"6-56-40":[-4.64,8.4],"6-56-41":[2.15,16.04],"6-56-42":[6.23,22.14],"6-56-43":[9.62,30.63],"6-56-44":[15.59,36.65],"6-56-45":[16.37,40.5],"6-56-46":[18.42,43.37],"6-56-47":[18.42,44.13],"6-56-48":[18.16,43.98],"6-56-49":[18.16,41.79],"6-56-50":[20.3,41.65],"6-56-51":[20.3,42.33],"6-56-52":[17.44,40.96],"6-56-53":[15.9,41.96],"6-56-54":[9.77,33.92],"6-56-55":[6.16,19.63],"6-56-56":[1.72,12.29],"6-56-57":[-2.06,3.98],"6-56-58":[-5.82,819.33],"6-56-59":[421.04,1695.38],"6-56-60":[516.59,1629.01],"6-56-61":[1285.43,2172.84],"6-56-62":[2103.64,2379.92],"6-56-63":[-29.54,2746.48],"6-57-0":[13.6,37.8],"6-57-1":[19.62,55.09],"5-28-0":[13.6,55.73],"6-57-2":[25.6,59.23],"6-57-3":[28.3,1436.69],"5-28-1":[25.6,1529.13],"6-57-4":[28.3,681.94],"6-57-5":[38.01,949.92],"5-28-2":[28.03,1653.87],"6-57-6":[51.09,115.49],"6-57-7":[57.7,126.66],"5-28-3":[49.95,1002],"6-57-8":[62.46,1937.43],"6-57-9":[60.84,2123.62],"5-28-4":[60.84,2123.62],"6-57-10":[59.7,124.91],"6-57-11":[58.97,123.99],"5-28-5":[58.97,128.25],"6-57-12":[58.91,123.99],"6-57-13":[57.13,122.5],"5-28-6":[57.13,126.29],"6-57-14":[58.08,124.14],"6-57-15":[58.53,123],"5-28-7":[58.08,127.18],"6-57-16":[54.18,119.6],"6-57-17":[49.49,110.36],"5-28-8":[49.49,126.5],"6-57-18":[43.12,101.63],"6-57-19":[40.71,95.46],"5-28-9":[36.6,106.96],"6-57-20":[36.01,1880.85],"6-57-21":[32.18,2439.69],"5-28-10":[27.93,2439.69],"6-57-22":[30.53,1522.97],"6-57-23":[25.18,68.01],"5-28-11":[23.87,1522.97],"6-57-24":[-14.49,116.51],"6-57-25":[25.65,60.59],"5-28-12":[-14.49,116.51],"6-57-26":[1.56,171.48],"6-57-27":[18.28,57.96],"5-28-13":[1.56,171.48],"6-57-28":[17.32,53.31],"6-57-29":[17.61,43.04],"5-28-14":[15.28,53.31],"6-57-30":[14.23,37.19],"6-57-31":[11.87,33.41],"5-28-15":[11.02,37.19],"6-57-32":[8.76,34.41],"6-57-33":[6.71,26.59],"5-28-16":[2.15,34.41],"6-57-34":[4.93,24.73],"6-57-35":[2.81,19.54],"5-28-17":[-5.35,24.73],"6-57-36":[0.84,14.19],"6-57-37":[0.34,10.34],"5-28-18":[-7.33,14.19],"6-57-38":[-0.06,10.45],"6-57-39":[-0.17,10.33],"5-28-19":[-8.48,10.45],"6-57-40":[1.37,15.84],"6-57-41":[5.03,21.64],"5-28-20":[-4.64,21.64],"6-57-42":[8.34,26.94],"6-57-43":[11.9,34.46],"5-28-21":[6.23,34.46],"6-57-44":[15.59,40.42],"6-57-45":[18.81,45.89],"5-28-22":[15.59,45.89],"6-57-46":[20.61,49.37],"6-57-47":[22.02,50.19],"5-28-23":[18.42,50.19],"6-57-48":[21.38,50.16],"6-57-49":[20.47,48.13],"5-28-24":[18.16,50.16],"6-57-50":[20.4,45.48],"6-57-51":[20.34,44.16],"5-28-25":[20.3,45.48],"6-57-52":[19.71,42.18],"6-57-53":[15.9,42.48],"5-28-26":[15.9,42.48],"6-57-54":[9.16,31.18],"6-57-55":[6.21,18.19],"5-28-27":[6.16,33.92],"6-57-56":[2.3,13.36],"6-57-57":[0.42,11.7],"5-28-28":[-2.06,13.36],"6-57-58":[-1.9,1093.26],"6-57-59":[819.32,1811.71],"5-28-29":[-5.82,1811.71],"6-57-60":[814.02,1663.61],"6-57-61":[1522.35,2225.4],"5-28-30":[516.59,2225.4],"6-57-62":[2172.83,2420.8],"6-57-63":[-29.54,2746.48],"5-28-31":[-29.54,2746.48],"6-58-0":[13.6,37.78],"6-58-1":[19.71,53.62],"6-58-2":[25.56,61.94],"6-58-3":[29.9,345.15],"6-58-4":[30,79.45],"6-58-5":[38.66,105.36],"6-58-6":[50.37,116.37],"6-58-7":[58.46,124.92],"6-58-8":[60.43,1885.38],"6-58-9":[60.01,2140.58],"6-58-10":[58.42,121.69],"6-58-11":[57.73,123.87],"6-58-12":[56.63,123.87],"6-58-13":[57.04,123.14],"6-58-14":[55.87,119.28],"6-58-15":[55.11,118.34],"6-58-16":[50.41,118.05],"6-58-17":[47.21,106.08],"6-58-18":[45.73,104.94],"6-58-19":[42.88,99.37],"6-58-20":[28.43,1402.2],"6-58-21":[13.23,3730.85],"6-58-22":[29.84,1980.83],"6-58-23":[-10.67,745.87],"6-58-24":[-18.64,535.71],"6-58-25":[-14.6,356.34],"6-58-26":[-1.62,135.29],"6-58-27":[-20.7,301.55],"6-58-28":[0.18,458.6],"6-58-29":[18.93,63.46],"6-58-30":[15.77,41.91],"6-58-31":[13.35,38.21],"6-58-32":[13.47,38.21],"6-58-33":[12.71,33.98],"6-58-34":[-2.23,864.67],"6-58-35":[7.45,27.57],"6-58-36":[5.05,20.06],"6-58-37":[4.98,16.73],"6-58-38":[4.46,16.62],"6-58-39":[4.41,17.65],"6-58-40":[5.55,22.04],"6-58-41":[8.28,26.07],"6-58-42":[11.11,30.34],"6-58-43":[13.85,35.77],"6-58-44":[17.65,40.21],"6-58-45":[20.04,47.1],"6-58-46":[23.2,50.18],"6-58-47":[24.78,52.72],"6-58-48":[24.35,54.26],"6-58-49":[24.35,51.82],"6-58-50":[22.38,49.92],"6-58-51":[21.5,46.02],"6-58-52":[18.45,42.72],"6-58-53":[13.3,41.86],"6-58-54":[9.11,28.68],"6-58-55":[6.73,17.29],"6-58-56":[3.08,13.48],"6-58-57":[2.25,357.87],"6-58-58":[2.48,1674.63],"6-58-59":[1093.25,1949.57],"6-58-60":[1289.31,1790.34],"6-58-61":[1663.6,2289.94],"6-58-62":[2225.39,2460.86],"6-58-63":[-29.54,2746.48],"6-59-0":[13.6,37.79],"6-59-1":[19.8,52.18],"5-29-0":[13.6,53.62],"6-59-2":[25.75,63.75],"6-59-3":[30.49,64.24],"5-29-1":[25.56,345.15],"4-14-0":[13.6,1529.13],"6-59-4":[30.51,84.68],"6-59-5":[41.87,100.49],"5-29-2":[30,105.36],"6-59-6":[50.16,115.8],"6-59-7":[56.81,119.95],"5-29-3":[50.16,124.92],"4-14-1":[28.03,1653.87],"6-59-8":[57.71,1189.75],"6-59-9":[59.83,125.87],"5-29-4":[57.71,2140.58],"6-59-10":[55.41,120.74],"6-59-11":[54.59,121.48],"5-29-5":[54.59,123.87],"4-14-2":[54.59,2140.58],"6-59-12":[54.73,121.88],"6-59-13":[57.85,123],"5-29-6":[54.73,123.87],"6-59-14":[52.82,118.25],"6-59-15":[49.92,112.43],"5-29-7":[49.92,119.28],"4-14-3":[49.92,127.18],"6-59-16":[47.92,112.43],"6-59-17":[45.53,102.32],"5-29-8":[45.53,118.05],"6-59-18":[43.5,103.1],"6-59-19":[40.18,98.54],"5-29-9":[40.18,104.94],"4-14-4":[36.6,126.5],"6-59-20":[40.18,88.87],"6-59-21":[34.44,731.97],"5-29-10":[13.23,3730.85],"6-59-22":[-35.01,609.23],"6-59-23":[182.63,951.26],"5-29-11":[-35.01,1980.83],"4-14-5":[-35.01,3730.85],"6-59-24":[63.41,838.62],"6-59-25":[2.52,699.41],"5-29-12":[-18.64,838.62],"6-59-26":[4.84,480.98],"6-59-27":[22.18,1567.34],"5-29-13":[-20.7,1567.34],"4-14-6":[-20.7,1567.34],"6-59-28":[-24.77,1463.87],"6-59-29":[1.22,935.28],"5-29-14":[-24.77,1463.87],"6-59-30":[17.76,49.38],"6-59-31":[15.91,40.51],"5-29-15":[13.35,49.38],"4-14-7":[-24.77,1463.87],"6-59-32":[17.61,40.61],"6-59-33":[15.36,39.26],"5-29-16":[12.71,40.61],"6-59-34":[13.68,36.87],"6-59-35":[10.36,29.33],"5-29-17":[-2.23,864.67],"4-14-8":[-5.35,864.67],"6-59-36":[8.78,22.54],"6-59-37":[8.23,21.11],"5-29-18":[4.98,22.54],"6-59-38":[8.08,23.26],"6-59-39":[8.16,24.61],"5-29-19":[4.41,24.61],"4-14-9":[-8.48,24.61],"6-59-40":[9.22,25.8],"6-59-41":[11.68,28.54],"5-29-20":[5.55,28.54],"6-59-42":[13.34,31.4],"6-59-43":[15.33,35.12],"5-29-21":[11.11,35.77],"4-14-10":[-4.64,35.77],"6-59-44":[17.37,39.98],"6-59-45":[15,2060.11],"5-29-22":[15,2060.11],"6-59-46":[22.8,50.12],"6-59-47":[24.47,52.47],"5-29-23":[22.8,52.72],"4-14-11":[15,2060.11],"6-59-48":[25.92,55.19],"6-59-49":[25.17,55.91],"5-29-24":[24.35,55.91],"6-59-50":[23.47,53.48],"6-59-51":[21.5,49.06],"5-29-25":[21.5,53.48],"4-14-12":[18.16,55.91],"6-59-52":[18.45,44.55],"6-59-53":[13.3,39.12],"5-29-26":[13.3,44.55],"6-59-54":[8.95,26.98],"6-59-55":[6.73,17.28],"5-29-27":[6.73,28.68],"4-14-13":[6.16,44.55],"6-59-56":[4.68,14.62],"6-59-57":[4.84,608.1],"5-29-28":[2.25,608.1],"6-59-58":[10.52,2647.27],"6-59-59":[1580.6,2213.91],"5-29-29":[2.48,2647.27],"4-14-14":[-5.82,2647.27],"6-59-60":[1486.82,1899.59],"6-59-61":[1790.33,2337.34],"5-29-30":[1289.31,2337.34],"6-59-62":[2289.93,2494.91],"6-59-63":[-29.54,2746.48],"5-29-31":[-29.54,2746.48],"4-14-15":[-29.54,2746.48],"6-60-0":[13.6,37.78],"6-60-1":[19.82,52.11],"6-60-2":[26.07,63.8],"6-60-3":[31.53,68.91],"6-60-4":[32.12,88.61],"6-60-5":[43.35,100.59],"6-60-6":[50.16,660.73],"6-60-7":[54.73,115.86],"6-60-8":[55.53,123.35],"6-60-9":[56.93,123.85],"6-60-10":[54.77,119.67],"6-60-11":[36.3,467.08],"6-60-12":[54.66,847.15],"6-60-13":[31.72,1061.19],"6-60-14":[50.82,118.9],"6-60-15":[46.84,106.06],"6-60-16":[46.52,848.03],"6-60-17":[45.68,934.31],"6-60-18":[43.52,948.19],"6-60-19":[36.29,97.22],"6-60-20":[36.5,3428.78],"6-60-21":[36.12,3435.16],"6-60-22":[183.32,753.26],"6-60-23":[203.99,625.45],"6-60-24":[208.98,621.86],"6-60-25":[126.64,616.33],"6-60-26":[54.15,571.22],"6-60-27":[72.56,986.01],"6-60-28":[266.59,1965.58],"6-60-29":[-0.28,1465.14],"6-60-30":[10.1,448.45],"6-60-31":[17.88,41.59],"6-60-32":[19,40.1],"6-60-33":[17.4,38.62],"6-60-34":[14.28,36.87],"6-60-35":[11.08,29.16],"6-60-36":[9.95,23.09],"6-60-37":[10.09,23.78],"6-60-38":[10.53,25.27],"6-60-39":[11.82,25.49],"6-60-40":[12.34,27.11],"6-60-41":[13.01,29.48],"6-60-42":[14.24,30.5],"6-60-43":[15.07,32.66],"6-60-44":[15.81,38.1],"6-60-45":[18.29,45.5],"6-60-46":[6.47,931.45],"6-60-47":[23.42,51.85],"6-60-48":[24.91,56.45],"6-60-49":[26.78,56.31],"6-60-50":[24.85,54.12],"6-60-51":[23.88,51.29],"6-60-52":[18.84,47.16],"6-60-53":[13.07,37.45],"6-60-54":[8.97,27.21],"6-60-55":[7.29,18.18],"6-60-56":[6.69,18.97],"6-60-57":[8.72,1445.48],"6-60-58":[608.09,2647.27],"6-60-59":[1819.4,2378.63],"6-60-60":[1773.2,2084.27],"6-60-61":[1899.58,2371.33],"6-60-62":[2337.33,2524.96],"6-60-63":[-29.54,2746.49],"6-61-0":[13.6,37.76],"6-61-1":[19.78,52.5],"5-30-0":[13.6,52.5],"6-61-2":[26.07,61.81],"6-61-3":[29.91,75.45],"5-30-1":[26.07,75.45],"6-61-4":[34.23,88.45],"6-61-5":[43.49,100.68],"5-30-2":[32.12,100.68],"6-61-6":[49.89,2067.72],"6-61-7":[51.02,110.49],"5-30-3":[49.89,2067.72],"6-61-8":[51.94,113.62],"6-61-9":[52.94,792.85],"5-30-4":[51.94,792.85],"6-61-10":[54.18,472.86],"6-61-11":[40.34,998.82],"5-30-5":[36.3,998.82],"6-61-12":[47.75,911.33],"6-61-13":[45.76,978.67],"5-30-6":[31.72,1061.19],"6-61-14":[51.83,275.17],"6-61-15":[44.76,105.85],"5-30-7":[44.76,275.17],"6-61-16":[42.99,2441.8],"6-61-17":[63.03,2479.29],"5-30-8":[42.99,2479.29],"6-61-18":[21.6,1153.69],"6-61-19":[35.43,1045.54],"5-30-9":[21.6,1153.69],"6-61-20":[43.2,3969.25],"6-61-21":[321.36,3240.15],"5-30-10":[36.12,3969.25],"6-61-22":[327.42,538.03],"6-61-23":[228.84,581.24],"5-30-11":[183.32,753.26],"6-61-24":[207.9,518.07],"6-61-25":[135.48,456.49],"5-30-12":[126.64,621.86],"6-61-26":[189.7,487.98],"6-61-27":[282.45,725.34],"5-30-13":[54.15,986.01],"6-61-28":[245.42,1263.81],"6-61-29":[98.59,1793.46],"5-30-14":[-0.28,1965.58],"6-61-30":[9.64,563.59],"6-61-31":[17.84,40.64],"5-30-15":[9.64,563.59],"6-61-32":[18.11,39.27],"6-61-33":[16.27,37.52],"5-30-16":[16.27,40.1],"6-61-34":[14.28,34.25],"6-61-35":[11.71,28.84],"5-30-17":[11.08,36.87],"6-61-36":[11.3,28.82],"6-61-37":[-99.67,814.4],"5-30-18":[-99.67,814.4],"6-61-38":[11.9,26.07],"6-61-39":[12.45,26.9],"5-30-19":[10.53,26.9],"6-61-40":[12.64,30.04],"6-61-41":[13.85,32.62],"5-30-20":[12.34,32.62],"6-61-42":[14.87,32.51],"6-61-43":[15.14,33.46],"5-30-21":[14.24,33.46],"6-61-44":[15.81,36.25],"6-61-45":[17.74,44.2],"5-30-22":[15.81,45.5],"6-61-46":[21.26,47.29],"6-61-47":[22.24,50.55],"5-30-23":[6.47,931.45],"6-61-48":[24.62,53.23],"6-61-49":[25.06,55.27],"5-30-24":[24.62,56.45],"6-61-50":[26.01,56.2],"6-61-51":[23.88,54.1],"5-30-25":[23.88,56.2],"6-61-52":[17.85,50.82],"6-61-53":[13.07,35.17],"5-30-26":[13.07,50.82],"6-61-54":[9.42,26.81],"6-61-55":[7.57,20.65],"5-30-27":[7.29,27.21],"6-61-56":[7.48,20.76],"6-61-57":[10.04,2119.03],"5-30-28":[6.69,2119.03],"6-61-58":[1445.47,2720.05],"6-61-59":[2045.49,2519.15],"5-30-29":[608.09,2720.05],"6-61-60":[1905.59,2242.55],"6-61-61":[1958.12,2404.88],"5-30-30":[1773.2,2404.88],"6-61-62":[2371.32,2555.1],"6-61-63":[-29.54,2747.47],"5-30-31":[-29.54,2747.47],"6-62-0":[13.6,37.73],"6-62-1":[19.73,53.01],"6-62-2":[26.54,59.25],"6-62-3":[28.63,75.62],"6-62-4":[36.2,85.28],"6-62-5":[42.31,99.8],"6-62-6":[49.28,108.11],"6-62-7":[49.78,103.88],"6-62-8":[50.57,107.83],"6-62-9":[49.7,111.74],"6-62-10":[49.66,298.22],"6-62-11":[49.96,1388.09],"6-62-12":[41.71,1035.94],"6-62-13":[45.89,1109.06],"6-62-14":[20.27,639.9],"6-62-15":[44.39,219.03],"6-62-16":[32.45,2687.22],"6-62-17":[297.06,2577.79],"6-62-18":[44.23,3501.33],"6-62-19":[32.49,2419.81],"6-62-20":[632.45,3718.38],"6-62-21":[368.61,1721.06],"6-62-22":[218.45,696.4],"6-62-23":[131.07,471.46],"6-62-24":[138.86,407.06],"6-62-25":[256.95,487.53],"6-62-26":[239.52,1006.14],"6-62-27":[249.3,631.61],"6-62-28":[194.06,789.75],"6-62-29":[15.13,766.66],"6-62-30":[-46.15,332.62],"6-62-31":[17.31,38.68],"6-62-32":[17.52,38.48],"6-62-33":[15.74,36.14],"6-62-34":[14.55,33.16],"6-62-35":[12.03,28.93],"6-62-36":[12.1,28.82],"6-62-37":[12.83,26.82],"6-62-38":[12.65,28.5],"6-62-39":[13.05,31.28],"6-62-40":[13.65,34.28],"6-62-41":[15.43,36.13],"6-62-42":[16.17,36.67],"6-62-43":[16.17,37.77],"6-62-44":[16.2,37.77],"6-62-45":[16.2,40.32],"6-62-46":[17.78,44.64],"6-62-47":[19.75,49.26],"6-62-48":[22.32,50.13],"6-62-49":[23.73,54.94],"6-62-50":[26.51,56.37],"6-62-51":[24.74,55.65],"6-62-52":[17.74,50.79],"6-62-53":[13.06,33.87],"6-62-54":[10.42,25.96],"6-62-55":[9.91,22.36],"6-62-56":[8.78,20.96],"6-62-57":[10.28,2479.23],"6-62-58":[1813.36,2850.41],"6-62-59":[2242.54,2618.27],"6-62-60":[1991.4,2314.66],"6-62-61":[1993.14,2457.95],"6-62-62":[2404.87,2581.14],"6-62-63":[-29.54,2749.47],"6-63-0":[13.6,37.73],"6-63-1":[19.72,53.59],"5-31-0":[13.6,53.59],"6-63-2":[26.54,62.24],"6-63-3":[28.85,73.73],"5-31-1":[26.54,75.62],"4-15-0":[13.6,75.62],"6-63-4":[35.88,86.28],"6-63-5":[42.26,98.34],"5-31-2":[35.88,99.8],"6-63-6":[48.49,104.24],"6-63-7":[48.27,101.1],"5-31-3":[48.27,108.11],"4-15-1":[32.12,2067.72],"3-7-0":[13.6,2067.72],"6-63-8":[48.82,103.66],"6-63-9":[48.93,103.55],"5-31-4":[48.82,111.74],"6-63-10":[46.96,500.18],"6-63-11":[46.68,821.88],"5-31-5":[46.68,1388.09],"4-15-2":[36.3,1388.09],"6-63-12":[-1.23,942.82],"6-63-13":[5.01,686.85],"5-31-6":[-1.23,1109.06],"6-63-14":[29.66,466.81],"6-63-15":[17.32,332.21],"5-31-7":[17.32,639.9],"4-15-3":[-1.23,1109.06],"3-7-1":[-1.23,2140.58],"2-3-0":[-226.59,3982.86],"6-63-16":[16.62,3299.64],"6-63-17":[40.73,2357.66],"5-31-8":[16.62,3299.64],"6-63-18":[40.99,2423.37],"6-63-19":[45.96,1802.73],"5-31-9":[32.49,3501.33],"4-15-4":[16.62,3501.33],"6-63-20":[585.28,2177.76],"6-63-21":[198.79,856.94],"5-31-10":[198.79,3718.38],"6-63-22":[154.1,519.6],"6-63-23":[95.92,407.48],"5-31-11":[95.92,696.4],"4-15-5":[36.12,3969.25],"3-7-2":[-35.01,3969.25],"6-63-24":[189.24,556.84],"6-63-25":[243.53,577.03],"5-31-12":[138.86,577.03],"6-63-26":[242.09,1303.84],"6-63-27":[216.62,572.26],"5-31-13":[216.62,1303.84],"4-15-6":[54.15,1303.84],"6-63-28":[63.8,555.42],"6-63-29":[21.37,874.92],"5-31-14":[15.13,874.92],"6-63-30":[-6.39,370.77],"6-63-31":[16.48,36.2],"5-31-15":[-46.15,370.77],"4-15-7":[-46.15,1965.58],"3-7-3":[-46.15,1965.58],"2-3-1":[-65.14,3969.25],"1-1-0":[-328.06,5809.48],"6-63-32":[17.15,36.78],"6-63-33":[16.29,37.08],"5-31-16":[15.74,38.48],"6-63-34":[12.34,34.98],"6-63-35":[10.7,28.64],"5-31-17":[10.7,34.98],"4-15-8":[10.7,40.1],"6-63-36":[11.05,26.16],"6-63-37":[12.72,29.22],"5-31-18":[11.05,29.22],"6-63-38":[13.43,32.73],"6-63-39":[14.75,35.32],"5-31-19":[12.65,35.32],"4-15-9":[-99.67,814.4],"3-7-4":[-99.67,864.67],"6-63-40":[15.89,39.67],"6-63-41":[17.66,41.82],"5-31-20":[13.65,41.82],"6-63-42":[18.18,43.48],"6-63-43":[17.22,42.55],"5-31-21":[16.17,43.48],"4-15-10":[12.34,43.48],"6-63-44":[15.94,39.03],"6-63-45":[15.92,35.62],"5-31-22":[15.92,40.32],"6-63-46":[17.78,43.75],"6-63-47":[19.65,46.9],"5-31-23":[17.78,49.26],"4-15-11":[6.47,931.45],"3-7-5":[-4.64,2060.11],"2-3-2":[-170.49,2863.35],"6-63-48":[22.32,46.83],"6-63-49":[23.17,52.87],"5-31-24":[22.32,54.94],"6-63-50":[25.95,55.44],"6-63-51":[24.74,55.59],"5-31-25":[24.74,56.37],"4-15-12":[22.32,56.45],"6-63-52":[17.56,49.36],"6-63-53":[13.06,33.43],"5-31-26":[13.06,50.79],"6-63-54":[11.45,27.14],"6-63-55":[10.4,26.46],"5-31-27":[9.91,27.14],"4-15-13":[7.29,50.82],"3-7-6":[6.16,56.45],"6-63-56":[8.78,27.93],"6-63-57":[10.28,2064.74],"5-31-28":[8.78,2479.23],"6-63-58":[6.29,2924.47],"6-63-59":[-4.17,2804.3],"5-31-29":[-4.17,2924.47],"4-15-14":[-4.17,2924.47],"6-63-60":[-10.23,2430.85],"6-63-61":[-15.15,2498.87],"5-31-30":[-15.15,2498.87],"6-63-62":[-22.79,2597.05],"6-63-63":[-29.54,2749.47],"5-31-31":[-29.54,2749.47],"4-15-15":[-29.54,2749.47],"3-7-7":[-29.54,2924.47],"2-3-3":[-47.53,2924.47],"1-1-1":[-269.44,6969.13],"0-0-0":[-328.06,6969.13],"6-64-0":[13.6,37.78],"6-64-1":[19.72,53.59],"6-64-2":[26.6,62.89],"6-64-3":[31.41,76.27],"6-64-4":[36.86,86.28],"6-64-5":[42.7,96.99],"6-64-6":[47,101.29],"6-64-7":[46.73,97.64],"6-64-8":[45.83,101.59],"6-64-9":[45.04,100.52],"6-64-10":[45.18,100.56],"6-64-11":[44.21,95.58],"6-64-12":[41.57,93.35],"6-64-13":[34.37,320.14],"6-64-14":[39.88,478.36],"6-64-15":[62.72,1880.44],"6-64-16":[53.23,3439.27],"6-64-17":[36.39,2431.2],"6-64-18":[43.43,942.66],"6-64-19":[44.68,1847.74],"6-64-20":[490.98,1993.84],"6-64-21":[201.86,739.39],"6-64-22":[138.19,750.53],"6-64-23":[240.33,1166.19],"6-64-24":[334.09,962.42],"6-64-25":[276.69,863.32],"6-64-26":[184.15,556.46],"6-64-27":[168.62,439.96],"6-64-28":[61.71,880.1],"6-64-29":[-17.91,1022.44],"6-64-30":[14.82,41.3],"6-64-31":[15.22,34.38],"6-64-32":[16.21,36.77],"6-64-33":[11.49,36.62],"6-64-34":[9.51,33.23],"6-64-35":[9.43,23.73],"6-64-36":[10.62,24.95],"6-64-37":[12.53,29.78],"6-64-38":[14.73,33.26],"6-64-39":[16.29,40.92],"6-64-40":[19.97,44.49],"6-64-41":[19.97,48.03],"6-64-42":[20.9,49.27],"6-64-43":[20.23,48.27],"6-64-44":[16.76,40.95],"6-64-45":[16.76,37.18],"6-64-46":[18.63,43.85],"6-64-47":[20.07,44.45],"6-64-48":[21.17,45.85],"6-64-49":[22.33,51.91],"6-64-50":[24.99,54.93],"6-64-51":[23.66,55.36],"6-64-52":[17.25,48.1],"6-64-53":[13.73,33.44],"6-64-54":[13.39,34.01],"6-64-55":[11.02,33.97],"6-64-56":[10.25,28.87],"6-64-57":[11.81,2706.61],"6-64-58":[6.29,2970.03],"6-64-59":[-4.17,2947.12],"6-64-60":[-10.23,2543.75],"6-64-61":[-15.15,2526.16],"6-64-62":[-22.79,2618.03],"6-64-63":[-29.54,2752.45],"6-65-0":[13.6,37.81],"6-65-1":[19.76,53.09],"5-32-0":[13.6,53.59],"6-65-2":[26.31,62.46],"6-65-3":[31.01,77.1],"5-32-1":[26.31,77.1],"6-65-4":[38.18,84.8],"6-65-5":[42.64,95.66],"5-32-2":[36.86,96.99],"6-65-6":[44.99,96.88],"6-65-7":[43.49,94.7],"5-32-3":[43.49,101.29],"6-65-8":[42.8,94.18],"6-65-9":[35.63,935.72],"5-32-4":[35.63,935.72],"6-65-10":[20.82,1428.23],"6-65-11":[40.95,136.3],"5-32-5":[20.82,1428.23],"6-65-12":[36.37,88.77],"6-65-13":[-46.66,286.33],"5-32-6":[-46.66,320.14],"6-65-14":[-132.68,643.32],"6-65-15":[137.99,2274.24],"5-32-7":[-132.68,2274.24],"6-65-16":[38.05,2373.31],"6-65-17":[38.96,1377.73],"5-32-8":[36.39,3439.27],"6-65-18":[41.7,1623.57],"6-65-19":[89.48,2161.99],"5-32-9":[41.7,2161.99],"6-65-20":[100.21,941.46],"6-65-21":[185.69,739.39],"5-32-10":[100.21,1993.84],"6-65-22":[257.46,1758.12],"6-65-23":[380.48,2914.18],"5-32-11":[138.19,2914.18],"6-65-24":[426.07,1308.02],"6-65-25":[280.09,733.03],"5-32-12":[276.69,1308.02],"6-65-26":[222.19,683.02],"6-65-27":[143.28,527.99],"5-32-13":[143.28,683.02],"6-65-28":[62.64,650.86],"6-65-29":[-15.66,1095.61],"5-32-14":[-17.91,1095.61],"6-65-30":[-13.75,66.62],"6-65-31":[14.48,33.9],"5-32-15":[-13.75,66.62],"6-65-32":[-19.14,391.88],"6-65-33":[8.66,29.85],"5-32-16":[-19.14,391.88],"6-65-34":[8.35,21.97],"6-65-35":[8.94,22.61],"5-32-17":[8.35,33.23],"6-65-36":[10.62,25.98],"6-65-37":[12.58,30.79],"5-32-18":[10.62,30.79],"6-65-38":[14.93,37.7],"6-65-39":[17.15,49.91],"5-32-19":[14.73,49.91],"6-65-40":[20.87,54.91],"6-65-41":[22.64,56],"5-32-20":[19.97,56],"6-65-42":[22.51,51.03],"6-65-43":[20.23,46.2],"5-32-21":[20.23,51.03],"6-65-44":[17.99,42.51],"6-65-45":[17.84,41.99],"5-32-22":[16.76,42.51],"6-65-46":[18.63,42.48],"6-65-47":[19.73,46.07],"5-32-23":[18.63,46.07],"6-65-48":[21.17,46.4],"6-65-49":[22.33,50.98],"5-32-24":[21.17,51.91],"6-65-50":[24.64,53.8],"6-65-51":[11.85,778.86],"5-32-25":[11.85,778.86],"6-65-52":[17.24,47.71],"6-65-53":[14.74,34.75],"5-32-26":[13.73,48.1],"6-65-54":[14.81,35.37],"6-65-55":[11.99,34.42],"5-32-27":[11.02,35.37],"6-65-56":[10.65,29.79],"6-65-57":[13.9,3054.91],"5-32-28":[10.25,3054.91],"6-65-58":[2706.6,3100.96],"6-65-59":[2543.75,3103.71],"5-32-29":[-4.17,3103.71],"6-65-60":[2255.43,2692.57],"6-65-61":[2248.98,2548.45],"5-32-30":[-15.15,2692.57],"6-65-62":[2526.15,2639.22],"6-65-63":[-29.54,2753.44],"5-32-31":[-29.54,2753.44],"6-66-0":[13.6,37.83],"6-66-1":[19.78,52.14],"6-66-2":[25.64,63.1],"6-66-3":[31.05,77.42],"6-66-4":[38.55,84.66],"6-66-5":[41.57,92.58],"6-66-6":[43.18,93.1],"6-66-7":[40.62,90.09],"6-66-8":[40.54,87.08],"6-66-9":[20.94,2049.01],"6-66-10":[19.29,2462.53],"6-66-11":[4.23,1233.38],"6-66-12":[30.98,117],"6-66-13":[-180.54,876.36],"6-66-14":[90.73,1537.53],"6-66-15":[147.78,4840.9],"6-66-16":[39.23,4069.35],"6-66-17":[43.9,838.48],"6-66-18":[39.99,1553.78],"6-66-19":[-16.37,2250.36],"6-66-20":[30.28,336.76],"6-66-21":[186.56,611.03],"6-66-22":[377.14,1857.82],"6-66-23":[773.49,2746.4],"6-66-24":[408.81,1769.87],"6-66-25":[324.43,1672.93],"6-66-26":[317.13,774.79],"6-66-27":[281.36,874.43],"6-66-28":[46.87,1294.91],"6-66-29":[5.32,816.36],"6-66-30":[-26.99,431.08],"6-66-31":[-28.03,2007.45],"6-66-32":[7.57,607.86],"6-66-33":[6.06,24.36],"6-66-34":[7.09,17.3],"6-66-35":[8.79,26.37],"6-66-36":[11.61,28.98],"6-66-37":[13.1,31.91],"6-66-38":[15.69,39.68],"6-66-39":[19.55,50.83],"6-66-40":[22.63,56.5],"6-66-41":[24.02,57.13],"6-66-42":[22.8,49.96],"6-66-43":[22.8,49.11],"6-66-44":[20.77,46.17],"6-66-45":[20.77,46.35],"6-66-46":[21.39,48.2],"6-66-47":[21.39,49.68],"6-66-48":[23.35,51.88],"6-66-49":[23.35,52.26],"6-66-50":[25.43,54.25],"6-66-51":[21.38,55.21],"6-66-52":[17.56,44.14],"6-66-53":[17.56,39.22],"6-66-54":[17.07,39.22],"6-66-55":[14.68,33.84],"6-66-56":[12.76,30.48],"6-66-57":[13.3,3138.57],"6-66-58":[3003.04,3267.05],"6-66-59":[2692.56,3207.22],"6-66-60":[2381.28,2800.27],"6-66-61":[2355.2,2565.62],"6-66-62":[2548.44,2666.15],"6-66-63":[-29.54,2755.44],"6-67-0":[13.6,37.79],"6-67-1":[19.71,51.23],"5-33-0":[13.6,52.14],"6-67-2":[25.62,63.16],"6-67-3":[30.33,786.22],"5-33-1":[25.62,786.22],"4-16-0":[13.6,786.22],"6-67-4":[37.26,946.45],"6-67-5":[39.53,88.35],"5-33-2":[37.26,946.45],"6-67-6":[40.82,88.5],"6-67-7":[39.27,85.5],"5-33-3":[39.27,93.1],"4-16-1":[36.86,946.45],"6-67-8":[31.58,197.75],"6-67-9":[20.72,2315.19],"5-33-4":[20.72,2315.19],"6-67-10":[28.83,2472.36],"6-67-11":[32.5,847.8],"5-33-5":[4.23,2472.36],"4-16-2":[4.23,2472.36],"6-67-12":[-50.52,217.69],"6-67-13":[33.14,1186.21],"5-33-6":[-180.54,1186.21],"6-67-14":[128.81,1069.93],"6-67-15":[40.08,4029.26],"5-33-7":[40.08,4840.9],"4-16-3":[-180.54,4840.9],"6-67-16":[38.15,2694.01],"6-67-17":[43.45,2374.38],"5-33-8":[38.15,4069.35],"6-67-18":[34.1,1143.75],"6-67-19":[27.14,1413.3],"5-33-9":[-16.37,2250.36],"4-16-4":[-16.37,4069.35],"6-67-20":[23.52,728.47],"6-67-21":[219.62,762.97],"5-33-10":[23.52,762.97],"6-67-22":[420.92,1483.6],"6-67-23":[607.73,1924.9],"5-33-11":[377.14,2746.4],"4-16-5":[23.52,2914.18],"6-67-24":[396.41,1977.29],"6-67-25":[374.52,2023.83],"5-33-12":[324.43,2023.83],"6-67-26":[327.64,714.89],"6-67-27":[323.67,784.44],"5-33-13":[281.36,874.43],"4-16-6":[143.28,2023.83],"6-67-28":[100.15,1784.96],"6-67-29":[31.38,3028.39],"5-33-14":[5.32,3028.39],"6-67-30":[-10.88,4049.43],"6-67-31":[-22.22,1231.48],"5-33-15":[-28.03,4049.43],"4-16-7":[-28.03,4049.43],"6-67-32":[-63.62,953.44],"6-67-33":[-6.6,932.44],"5-33-16":[-63.62,953.44],"6-67-34":[7.15,22.92],"6-67-35":[9.03,31.46],"5-33-17":[7.09,31.46],"4-16-8":[-63.62,953.44],"6-67-36":[13.46,35.43],"6-67-37":[14.74,42.09],"5-33-18":[11.61,42.09],"6-67-38":[16.09,47],"6-67-39":[20.85,47.74],"5-33-19":[15.69,50.83],"4-16-9":[10.62,50.83],"6-67-40":[22.3,48.5],"6-67-41":[23.96,51.6],"5-33-20":[22.3,57.13],"6-67-42":[24.8,52.66],"6-67-43":[23.02,51.42],"5-33-21":[22.8,52.66],"4-16-10":[19.97,57.13],"6-67-44":[22.69,50.41],"6-67-45":[22.33,50.5],"5-33-22":[20.77,50.5],"6-67-46":[22.35,53.75],"6-67-47":[24.22,55.21],"5-33-23":[21.39,55.21],"4-16-11":[16.76,55.21],"6-67-48":[24.66,54.21],"6-67-49":[23.85,53.66],"5-33-24":[23.35,54.21],"6-67-50":[25.43,58.28],"6-67-51":[21.38,55.28],"5-33-25":[21.38,58.28],"4-16-12":[11.85,778.86],"6-67-52":[18.43,43.35],"6-67-53":[18.43,44.37],"5-33-26":[17.56,44.37],"6-67-54":[17.07,44.32],"6-67-55":[14.72,36.1],"5-33-27":[14.68,44.32],"4-16-13":[11.02,48.1],"6-67-56":[12.67,32.07],"6-67-57":[11.97,3175.51],"5-33-28":[11.97,3175.51],"6-67-58":[3138.56,3414.15],"6-67-59":[2800.26,3300.16],"5-33-29":[2692.56,3414.15],"4-16-14":[-4.17,3414.15],"6-67-60":[2458.67,2920.73],"6-67-61":[2439.79,2579.65],"5-33-30":[2355.2,2920.73],"6-67-62":[2565.61,2681.47],"6-67-63":[-29.54,2759.37],"5-33-31":[-29.54,2759.37],"4-16-15":[-29.54,2920.73],"6-68-0":[13.6,37.69],"6-68-1":[19.57,50.91],"6-68-2":[25.25,62.3],"6-68-3":[29.49,1385.65],"6-68-4":[33.18,1035.73],"6-68-5":[38.99,85.09],"6-68-6":[39.15,85.09],"6-68-7":[15.05,1058.54],"6-68-8":[9.73,1750.98],"6-68-9":[19.45,1810.17],"6-68-10":[36.63,1715.33],"6-68-11":[31.96,400.65],"6-68-12":[-23.11,248.2],"6-68-13":[-7.79,988.47],"6-68-14":[94.57,1845.84],"6-68-15":[33.77,3777.17],"6-68-16":[31.24,2893.68],"6-68-17":[26.5,2503.27],"6-68-18":[-23.32,2005.15],"6-68-19":[31.76,209.56],"6-68-20":[27.57,965.23],"6-68-21":[218.9,1068.73],"6-68-22":[308.04,1178.67],"6-68-23":[533.61,1310.69],"6-68-24":[378.5,1156.09],"6-68-25":[344.83,602.11],"6-68-26":[267.07,715.39],"6-68-27":[261.24,609.87],"6-68-28":[128.64,1857.59],"6-68-29":[216.86,2461.39],"6-68-30":[390.81,1585.63],"6-68-31":[140.91,1076.94],"6-68-32":[52.66,1044.68],"6-68-33":[-17.85,885.8],"6-68-34":[-25.08,923.81],"6-68-35":[-3.35,613.65],"6-68-36":[-2.05,2521.11],"6-68-37":[-19.61,2407.1],"6-68-38":[-21.61,2094.46],"6-68-39":[-59.49,1680.35],"6-68-40":[23.13,60.77],"6-68-41":[24.24,62.61],"6-68-42":[25.75,60.9],"6-68-43":[25.75,56.47],"6-68-44":[24.76,52.16],"6-68-45":[24.76,57.31],"6-68-46":[26.02,57.32],"6-68-47":[26.76,56.45],"6-68-48":[26.26,55.86],"6-68-49":[26.26,59.36],"6-68-50":[26.82,62.99],"6-68-51":[23.62,56.76],"6-68-52":[20.02,46.58],"6-68-53":[20.02,47.69],"6-68-54":[18.37,47.1],"6-68-55":[15.04,38.61],"6-68-56":[12.83,47.95],"6-68-57":[11.4,3169.81],"6-68-58":[3108.39,3460.36],"6-68-59":[2920.72,3384.4],"6-68-60":[2494.45,3077.24],"6-68-61":[2482.53,2588.56],"6-68-62":[2579.64,2693.73],"6-68-63":[-29.54,2763.36],"6-69-0":[13.6,37.44],"6-69-1":[19.4,50.44],"5-34-0":[13.6,50.91],"6-69-2":[25.03,60.03],"6-69-3":[29.14,1634.3],"5-34-1":[25.03,1634.3],"6-69-4":[31.42,1233.17],"6-69-5":[35.11,82.7],"5-34-2":[31.42,1233.17],"6-69-6":[35.26,81.82],"6-69-7":[6.63,1592.64],"5-34-3":[6.63,1592.64],"6-69-8":[4.87,1958.98],"6-69-9":[47.04,1310.43],"5-34-4":[4.87,1958.98],"6-69-10":[25.33,797.68],"6-69-11":[26.18,411.97],"5-34-5":[25.33,1715.33],"6-69-12":[19.39,280.51],"6-69-13":[17.14,1624.81],"5-34-6":[-23.11,1624.81],"6-69-14":[154.38,1918.97],"6-69-15":[39.77,2548.59],"5-34-7":[33.77,3777.17],"6-69-16":[16.47,1992.85],"6-69-17":[37.95,2820.36],"5-34-8":[16.47,2893.68],"6-69-18":[29.13,3340.97],"6-69-19":[28.62,288.67],"5-34-9":[-23.32,3340.97],"6-69-20":[9.01,392.95],"6-69-21":[69.58,877.11],"5-34-10":[9.01,1068.73],"6-69-22":[310.38,889.96],"6-69-23":[406.17,1202.42],"5-34-11":[308.04,1310.69],"6-69-24":[27.24,3331.17],"6-69-25":[184,850],"5-34-12":[27.24,3331.17],"6-69-26":[148.07,439.62],"6-69-27":[260.59,551.37],"5-34-13":[148.07,715.39],"6-69-28":[213.54,1124.79],"6-69-29":[275.12,1747.94],"5-34-14":[128.64,2461.39],"6-69-30":[354.28,1070.44],"6-69-31":[276.49,830.16],"5-34-15":[140.91,1585.63],"6-69-32":[252.96,879.81],"6-69-33":[167.87,929.4],"5-34-16":[-17.85,1044.68],"6-69-34":[256.14,1488.2],"6-69-35":[12.55,2127.16],"5-34-17":[-25.08,2127.16],"6-69-36":[166.21,2639.31],"6-69-37":[859.22,2023.5],"5-34-18":[-19.61,2639.31],"6-69-38":[730.14,1749.24],"6-69-39":[10.84,2585.59],"5-34-19":[-59.49,2585.59],"6-69-40":[-162.31,2386.26],"6-69-41":[-159.88,2015.68],"5-34-20":[-162.31,2386.26],"6-69-42":[18.98,704.83],"6-69-43":[26.09,62.3],"5-34-21":[18.98,704.83],"6-69-44":[25.43,58.48],"6-69-45":[25.82,55.17],"5-34-22":[24.76,58.48],"6-69-46":[26.02,58.49],"6-69-47":[27.55,60.1],"5-34-23":[26.02,60.1],"6-69-48":[27.02,60.61],"6-69-49":[27.99,64.2],"5-34-24":[26.26,64.2],"6-69-50":[29.22,67.45],"6-69-51":[23.62,62.15],"5-34-25":[23.62,67.45],"6-69-52":[21.62,53.1],"6-69-53":[22.44,49.65],"5-34-26":[20.02,53.1],"6-69-54":[19.27,47.76],"6-69-55":[15.24,39.44],"5-34-27":[15.04,47.76],"6-69-56":[14.46,300.15],"6-69-57":[14.89,3108.4],"5-34-28":[11.4,3169.81],"6-69-58":[3052.07,3514.26],"6-69-59":[3077.23,3446.22],"5-34-29":[2920.72,3514.26],"6-69-60":[2544.2,3147.37],"6-69-61":[2511.13,2608.3],"5-34-30":[2482.53,3147.37],"6-69-62":[2588.55,2704.02],"6-69-63":[-29.54,2767.34],"5-34-31":[-29.54,2767.34],"6-70-0":[13.6,37.16],"6-70-1":[19.22,49.87],"6-70-2":[24.52,56.84],"6-70-3":[28.6,1635.74],"6-70-4":[29.16,1193.37],"6-70-5":[30.17,441.82],"6-70-6":[29.72,72.1],"6-70-7":[12.72,2122.75],"6-70-8":[199.39,2096.53],"6-70-9":[20.3,735.36],"6-70-10":[18.93,350.95],"6-70-11":[-25.11,119.82],"6-70-12":[22.14,358.72],"6-70-13":[35.6,462.61],"6-70-14":[142.49,2057.45],"6-70-15":[100,1043.38],"6-70-16":[27.8,2489.77],"6-70-17":[24.67,2049.01],"6-70-18":[22.69,753.24],"6-70-19":[22.41,59.3],"6-70-20":[23.96,142.33],"6-70-21":[-25.04,490.94],"6-70-22":[198.02,1063.16],"6-70-23":[343.56,1540.59],"6-70-24":[27.16,3468.04],"6-70-25":[108.1,1729.27],"6-70-26":[121.91,428.48],"6-70-27":[274.16,1624.07],"6-70-28":[322.1,1063.08],"6-70-29":[354.64,767.3],"6-70-30":[305.29,833.8],"6-70-31":[254.18,533.95],"6-70-32":[223.98,448.91],"6-70-33":[192.31,886.28],"6-70-34":[403.12,1242.7],"6-70-35":[605.84,1757.04],"6-70-36":[1116.78,1831.76],"6-70-37":[1104.79,1687.18],"6-70-38":[1028.6,2162.84],"6-70-39":[1184.99,2171.43],"6-70-40":[1018.03,2505.72],"6-70-41":[47.81,2222.4],"6-70-42":[7.61,1720.53],"6-70-43":[18.25,2268.67],"6-70-44":[2.17,2017.39],"6-70-45":[26.72,58.31],"6-70-46":[27.58,59.46],"6-70-47":[29.09,64.51],"6-70-48":[29.91,64.57],"6-70-49":[29.84,67.11],"6-70-50":[31.81,70.73],"6-70-51":[27.49,66.41],"6-70-52":[24.04,57.39],"6-70-53":[24.04,50.76],"6-70-54":[19.07,48.88],"6-70-55":[15.38,38.05],"6-70-56":[14,268.92],"6-70-57":[15.56,3052.08],"6-70-58":[2944.42,3536.78],"6-70-59":[3147.36,3480.29],"6-70-60":[2608.29,3239.33],"6-70-61":[2539.62,2709.23],"6-70-62":[2602.1,2724.91],"6-70-63":[-29.54,2768.65],"6-71-0":[13.6,36.76],"6-71-1":[19.1,48.94],"5-35-0":[13.6,49.87],"6-71-2":[24.15,54.01],"6-71-3":[27.72,709.89],"5-35-1":[24.15,1635.74],"4-17-0":[13.6,1635.74],"6-71-4":[28.01,684.19],"6-71-5":[27.24,62.75],"5-35-2":[27.24,1193.37],"6-71-6":[19.67,948.29],"6-71-7":[4.84,1854.14],"5-35-3":[4.84,2122.75],"4-17-1":[4.84,2122.75],"3-8-0":[4.84,2122.75],"6-71-8":[19.05,851.76],"6-71-9":[17.77,511.56],"5-35-4":[17.77,2096.53],"6-71-10":[17.31,158.69],"6-71-11":[17.94,214.15],"5-35-5":[-25.11,350.95],"4-17-2":[-25.11,2096.53],"6-71-12":[11.89,342.67],"6-71-13":[80.4,644.43],"5-35-6":[11.89,644.43],"6-71-14":[118.41,2648.45],"6-71-15":[68.74,1842.42],"5-35-7":[68.74,2648.45],"4-17-3":[-23.11,3777.17],"3-8-1":[-180.54,4840.9],"6-71-16":[65.18,2700.03],"6-71-17":[23.06,2930.53],"5-35-8":[23.06,2930.53],"6-71-18":[13.5,2524.92],"6-71-19":[8.99,1090.39],"5-35-9":[8.99,2524.92],"4-17-4":[-23.32,3340.97],"6-71-20":[18.37,903.81],"6-71-21":[-31.98,311.99],"5-35-10":[-31.98,903.81],"6-71-22":[94.19,388.14],"6-71-23":[273.49,1038.12],"5-35-11":[94.19,1540.59],"4-17-5":[-31.98,1540.59],"3-8-2":[-31.98,4069.35],"6-71-24":[452.55,932.86],"6-71-25":[308.29,1368.77],"5-35-12":[27.16,3468.04],"6-71-26":[326.68,1327.69],"6-71-27":[373.83,1212.84],"5-35-13":[121.91,1624.07],"4-17-6":[27.16,3468.04],"6-71-28":[371.4,934.47],"6-71-29":[382.62,935.02],"5-35-14":[322.1,1063.08],"6-71-30":[291.34,761.73],"6-71-31":[282.28,549.06],"5-35-15":[254.18,833.8],"4-17-7":[128.64,2461.39],"3-8-3":[-28.03,4049.43],"6-71-32":[271.34,592.5],"6-71-33":[253.5,758.09],"5-35-16":[192.31,886.28],"6-71-34":[404.13,1099.25],"6-71-35":[753.17,1385.35],"5-35-17":[403.12,1757.04],"4-17-8":[-25.08,2127.16],"6-71-36":[1050.78,1507.74],"6-71-37":[1011.55,1380.25],"5-35-18":[1011.55,1831.76],"6-71-38":[960.55,1371.66],"6-71-39":[940.67,1497.56],"5-35-19":[940.67,2171.43],"4-17-9":[-59.49,2639.31],"3-8-4":[-63.62,2639.31],"6-71-40":[991.87,1399.38],"6-71-41":[722.23,1582.99],"5-35-20":[47.81,2505.72],"6-71-42":[427.66,1667.49],"6-71-43":[142.44,2341.81],"5-35-21":[7.61,2341.81],"4-17-10":[-162.31,2505.72],"6-71-44":[-5.94,1732.68],"6-71-45":[27.22,59.84],"5-35-22":[-5.94,2017.39],"6-71-46":[29.17,63.24],"6-71-47":[30.14,66.91],"5-35-23":[27.58,66.91],"4-17-11":[-5.94,2017.39],"3-8-5":[-162.31,2505.72],"6-71-48":[31.75,66.91],"6-71-49":[32.11,69.56],"5-35-24":[29.84,69.56],"6-71-50":[33.7,73.57],"6-71-51":[28.8,72.3],"5-35-25":[27.49,73.57],"4-17-12":[23.62,73.57],"6-71-52":[25.57,60.85],"6-71-53":[24.42,53.17],"5-35-26":[24.04,60.85],"6-71-54":[19.18,48.85],"6-71-55":[15.38,38.12],"5-35-27":[15.38,48.88],"4-17-13":[15.04,60.85],"3-8-6":[11.02,778.86],"6-71-56":[14.98,187.97],"6-71-57":[15.79,2944.43],"5-35-28":[14,3052.08],"6-71-58":[2840.08,3600.93],"6-71-59":[3239.32,3598.47],"5-35-29":[2840.08,3600.93],"4-17-14":[11.4,3600.93],"6-71-60":[2709.22,3295.33],"6-71-61":[2568.24,2810.96],"5-35-30":[2539.62,3295.33],"6-71-62":[2621.33,2751.92],"6-71-63":[-29.54,2771.32],"5-35-31":[-29.54,2771.32],"4-17-15":[-29.54,3295.33],"3-8-7":[-29.54,3600.93],"6-72-0":[13.6,36.49],"6-72-1":[19.01,48.14],"6-72-2":[23.6,52.85],"6-72-3":[25.14,753.17],"6-72-4":[25.05,528.08],"6-72-5":[22.7,56.98],"6-72-6":[22.55,1086.58],"6-72-7":[21.13,1167.12],"6-72-8":[17.66,435.24],"6-72-9":[17.52,286.65],"6-72-10":[15.17,241.92],"6-72-11":[12.2,275.13],"6-72-12":[29.06,318.56],"6-72-13":[28.38,382.74],"6-72-14":[135.43,1998.12],"6-72-15":[147.15,2540.92],"6-72-16":[49.82,2847.57],"6-72-17":[30.85,2950.99],"6-72-18":[21.06,2427.62],"6-72-19":[7.76,2464.23],"6-72-20":[7.73,425.6],"6-72-21":[-11.66,284.94],"6-72-22":[88.27,639.17],"6-72-23":[289.98,1107.43],"6-72-24":[470.56,1912.86],"6-72-25":[498.02,1340.77],"6-72-26":[593.56,1710.7],"6-72-27":[454.32,3017.52],"6-72-28":[444.14,1371.36],"6-72-29":[477.29,1047.83],"6-72-30":[352.38,768.89],"6-72-31":[319.72,630.52],"6-72-32":[322.07,733.63],"6-72-33":[332.54,807.65],"6-72-34":[430.54,1119.46],"6-72-35":[723.96,1534.31],"6-72-36":[1022.28,1643.41],"6-72-37":[961.73,1249.5],"6-72-38":[916.89,1116.92],"6-72-39":[892.54,1255.26],"6-72-40":[958.51,1498.79],"6-72-41":[975.82,1901.6],"6-72-42":[928.72,1783.15],"6-72-43":[77.74,2501.84],"6-72-44":[12.69,1649.02],"6-72-45":[28,66.27],"6-72-46":[29.82,70.25],"6-72-47":[32.16,68.24],"6-72-48":[32.45,66.93],"6-72-49":[32.5,71.41],"6-72-50":[34.78,76.35],"6-72-51":[30.32,73.61],"6-72-52":[26.6,61.36],"6-72-53":[24.54,54.43],"6-72-54":[19.54,49.25],"6-72-55":[15.45,38.72],"6-72-56":[15.31,41.8],"6-72-57":[21.91,3236.81],"6-72-58":[2872.27,3666.27],"6-72-59":[3295.32,3666.27],"6-72-60":[2810.95,3378.93],"6-72-61":[2625.94,2968.07],"6-72-62":[2649.64,2779.15],"6-72-63":[-29.54,2774.31],"6-73-0":[13.6,36.21],"6-73-1":[18.97,47.61],"5-36-0":[13.6,48.14],"6-73-2":[22.99,49.57],"6-73-3":[23.45,674.04],"5-36-1":[22.99,753.17],"6-73-4":[23.04,204.98],"6-73-5":[22,51.05],"5-36-2":[22,528.08],"6-73-6":[18.61,696.6],"6-73-7":[22.39,1083.56],"5-36-3":[18.61,1167.12],"6-73-8":[17.69,559.12],"6-73-9":[46.96,398.6],"5-36-4":[17.52,559.12],"6-73-10":[10.3,258.06],"6-73-11":[18.42,338.7],"5-36-5":[10.3,338.7],"6-73-12":[21.07,371.65],"6-73-13":[119.02,309.64],"5-36-6":[21.07,382.74],"6-73-14":[82.56,1369.76],"6-73-15":[13.61,2520.59],"5-36-7":[13.61,2540.92],"6-73-16":[28.54,1559.76],"6-73-17":[28.77,1798.35],"5-36-8":[28.54,2950.99],"6-73-18":[23.18,2185.74],"6-73-19":[-52.99,2137.5],"5-36-9":[-52.99,2464.23],"6-73-20":[1.3,266.06],"6-73-21":[-117.56,282.94],"5-36-10":[-117.56,425.6],"6-73-22":[27.75,574.35],"6-73-23":[275.3,1131.98],"5-36-11":[27.75,1131.98],"6-73-24":[280.09,1082.02],"6-73-25":[366.24,841.26],"5-36-12":[280.09,1912.86],"6-73-26":[428.45,2020.89],"6-73-27":[423.73,1156.65],"5-36-13":[423.73,3017.52],"6-73-28":[386.96,960.04],"6-73-29":[394.88,977.62],"5-36-14":[386.96,1371.36],"6-73-30":[497.33,946.04],"6-73-31":[366.87,1103.17],"5-36-15":[319.72,1103.17],"6-73-32":[379.78,1540.39],"6-73-33":[413.29,1685.26],"5-36-16":[322.07,1685.26],"6-73-34":[504.55,1701.66],"6-73-35":[515.18,1902.71],"5-36-17":[430.54,1902.71],"6-73-36":[935.23,1683.01],"6-73-37":[473.44,1546.43],"5-36-18":[473.44,1683.01],"6-73-38":[414.32,1440.16],"6-73-39":[758.78,1496.99],"5-36-19":[414.32,1496.99],"6-73-40":[770.57,2110.34],"6-73-41":[993.88,1898.28],"5-36-20":[770.57,2110.34],"6-73-42":[1210.08,3126.88],"6-73-43":[4.71,2790.11],"5-36-21":[4.71,3126.88],"6-73-44":[11.68,321.06],"6-73-45":[28.82,68.52],"5-36-22":[11.68,1649.02],"6-73-46":[33.04,71.86],"6-73-47":[33.1,68.84],"5-36-23":[29.82,71.86],"6-73-48":[32.88,69.45],"6-73-49":[33.33,74.64],"5-36-24":[32.45,74.64],"6-73-50":[35.38,76.55],"6-73-51":[30.59,74.13],"5-36-25":[30.32,76.55],"6-73-52":[27.68,63.59],"6-73-53":[24.54,58.28],"5-36-26":[24.54,63.59],"6-73-54":[20.07,51.54],"6-73-55":[15.99,40.58],"5-36-27":[15.45,51.54],"6-73-56":[15.99,41.88],"6-73-57":[19.59,3236.81],"5-36-28":[15.31,3236.81],"6-73-58":[2976.86,3671.29],"6-73-59":[3378.92,3685.99],"5-36-29":[2872.27,3685.99],"6-73-60":[2968.06,3441.2],"6-73-61":[2691.68,3024.01],"5-36-30":[2625.94,3441.2],"6-73-62":[2691.68,2818.12],"6-73-63":[-29.54,2780.49],"5-36-31":[-29.54,2818.12],"6-74-0":[13.6,36.07],"6-74-1":[18.96,46.86],"6-74-2":[22.03,47],"6-74-3":[20.96,289.51],"6-74-4":[19.84,46.66],"6-74-5":[17.55,45.75],"6-74-6":[11.97,739.68],"6-74-7":[14.65,736.85],"6-74-8":[-6.7,3219.23],"6-74-9":[-7.7,401.9],"6-74-10":[-74.06,523.35],"6-74-11":[30.86,314.28],"6-74-12":[121.32,307.64],"6-74-13":[94.68,347.09],"6-74-14":[53.31,387.19],"6-74-15":[16.89,488.72],"6-74-16":[26.92,429.54],"6-74-17":[0.6,2570.69],"6-74-18":[-38.2,3075.92],"6-74-19":[2.74,3021.97],"6-74-20":[2.74,110.17],"6-74-21":[-52.61,355.67],"6-74-22":[11.08,602.67],"6-74-23":[11.91,551.02],"6-74-24":[164.06,713.34],"6-74-25":[187.45,639.47],"6-74-26":[300.4,1130.48],"6-74-27":[439.11,1410.14],"6-74-28":[346.35,1323.82],"6-74-29":[356.78,738.69],"6-74-30":[452.9,1580.59],"6-74-31":[534,5024.49],"6-74-32":[645.87,4495.21],"6-74-33":[625.99,3461],"6-74-34":[590.29,2489.57],"6-74-35":[742.27,1708.52],"6-74-36":[432.19,1881.89],"6-74-37":[298.55,1739.34],"6-74-38":[466.8,1752.71],"6-74-39":[255.5,1623.82],"6-74-40":[350.82,2352.72],"6-74-41":[677.23,2369.87],"6-74-42":[12.4,3510.35],"6-74-43":[4.61,2075.35],"6-74-44":[25.51,57.03],"6-74-45":[28.71,66.1],"6-74-46":[31.87,69.33],"6-74-47":[32.66,69.51],"6-74-48":[33.21,80.25],"6-74-49":[35.21,80.16],"6-74-50":[35.5,79.81],"6-74-51":[31.79,73.11],"6-74-52":[29.44,68],"6-74-53":[26.69,59.41],"6-74-54":[20.92,53.21],"6-74-55":[18.14,42.59],"6-74-56":[17.26,359.2],"6-74-57":[18.72,2976.87],"6-74-58":[2510.84,3667.35],"6-74-59":[3441.19,3732.45],"6-74-60":[3024,3510.17],"6-74-61":[2783.25,3119.66],"6-74-62":[2780.48,2893.13],"6-74-63":[-29.54,2805.44],"6-75-0":[13.6,35.99],"6-75-1":[18.94,45.05],"5-37-0":[13.6,46.86],"6-75-2":[21.42,45.15],"6-75-3":[20.74,291.18],"5-37-1":[20.74,291.18],"4-18-0":[13.6,753.17],"6-75-4":[17.8,41.45],"6-75-5":[17.26,39.32],"5-37-2":[17.26,46.66],"6-75-6":[15.55,177.14],"6-75-7":[15.55,1181.22],"5-37-3":[11.97,1181.22],"4-18-1":[11.97,1181.22],"6-75-8":[16.77,712.47],"6-75-9":[-32.14,4110.39],"5-37-4":[-32.14,4110.39],"6-75-10":[-19.3,318.43],"6-75-11":[30.72,357.76],"5-37-5":[-74.06,523.35],"4-18-2":[-74.06,4110.39],"6-75-12":[140.07,313.84],"6-75-13":[123.47,252.12],"5-37-6":[94.68,347.09],"6-75-14":[-181.36,293.98],"6-75-15":[-133.08,195.69],"5-37-7":[-181.36,488.72],"4-18-3":[-181.36,2540.92],"6-75-16":[12.44,673.31],"6-75-17":[25.7,2438.12],"5-37-8":[0.6,2570.69],"6-75-18":[22.51,3012.55],"6-75-19":[6.7,2342.54],"5-37-9":[-38.2,3075.92],"4-18-4":[-52.99,3075.92],"6-75-20":[8.83,223.67],"6-75-21":[-4.5,1970.91],"5-37-10":[-52.61,1970.91],"6-75-22":[11.16,2002.31],"6-75-23":[78.71,726.15],"5-37-11":[11.08,2002.31],"4-18-5":[-117.56,2002.31],"6-75-24":[172.21,1207.85],"6-75-25":[212.55,942.11],"5-37-12":[164.06,1207.85],"6-75-26":[305.98,740.02],"6-75-27":[352.02,1457.61],"5-37-13":[300.4,1457.61],"4-18-6":[164.06,3017.52],"6-75-28":[354.16,988.64],"6-75-29":[356.57,725.3],"5-37-14":[346.35,1323.82],"6-75-30":[389.82,3166.22],"6-75-31":[594.3,2060.9],"5-37-15":[389.82,5024.49],"4-18-7":[319.72,5024.49],"6-75-32":[1072.57,1787.81],"6-75-33":[1016.16,1756.25],"5-37-16":[625.99,4495.21],"6-75-34":[735.53,2443.31],"6-75-35":[493.17,2943.5],"5-37-17":[493.17,2943.5],"4-18-8":[322.07,4495.21],"6-75-36":[446.63,1864.36],"6-75-37":[93.22,1716.39],"5-37-18":[93.22,1881.89],"6-75-38":[74.67,2583.3],"6-75-39":[57.48,2427.44],"5-37-19":[57.48,2583.3],"4-18-9":[57.48,2583.3],"6-75-40":[-242.83,1442.62],"6-75-41":[-31.19,1914.13],"5-37-20":[-242.83,2369.87],"6-75-42":[2.04,1636.59],"6-75-43":[21.63,58.03],"5-37-21":[2.04,3510.35],"4-18-10":[-242.83,3510.35],"6-75-44":[25.62,61.17],"6-75-45":[29.14,66.22],"5-37-22":[25.51,66.22],"6-75-46":[31.94,69.34],"6-75-47":[33.03,82.96],"5-37-23":[31.87,82.96],"4-18-11":[11.68,1649.02],"6-75-48":[35.18,89.62],"6-75-49":[39.2,86.77],"5-37-24":[33.21,89.62],"6-75-50":[36.6,80.48],"6-75-51":[34.25,78.22],"5-37-25":[31.79,80.48],"4-18-12":[30.32,89.62],"6-75-52":[30.27,72.13],"6-75-53":[26.69,63.45],"5-37-26":[26.69,72.13],"6-75-54":[20.79,54.64],"6-75-55":[18.14,45.98],"5-37-27":[18.14,54.64],"4-18-13":[15.45,72.13],"6-75-56":[18.66,861.26],"6-75-57":[359.19,2787.68],"5-37-28":[17.26,2976.87],"6-75-58":[2576.62,3670.33],"6-75-59":[3510.16,3745.57],"5-37-29":[2510.84,3745.57],"4-18-14":[15.31,3745.57],"6-75-60":[3119.65,3590.97],"6-75-61":[2882.5,3236.16],"5-37-30":[2783.25,3590.97],"6-75-62":[2805.43,2971.57],"6-75-63":[-29.54,2839.82],"5-37-31":[-29.54,2971.57],"4-18-15":[-29.54,3590.97],"6-76-0":[13.6,35.96],"6-76-1":[18.88,43.71],"6-76-2":[20.05,43.82],"6-76-3":[17.55,47.61],"6-76-4":[15.48,38.46],"6-76-5":[14.03,35.52],"6-76-6":[13.19,32.09],"6-76-7":[13.64,1139.05],"6-76-8":[15.76,538.64],"6-76-9":[14.86,306.08],"6-76-10":[21.95,316.75],"6-76-11":[80.98,357.69],"6-76-12":[126.53,332.1],"6-76-13":[34.69,291.25],"6-76-14":[4.45,251.97],"6-76-15":[11.09,721.64],"6-76-16":[16.18,1541.99],"6-76-17":[17.64,2603.85],"6-76-18":[19.98,3897.68],"6-76-19":[14.59,3093.99],"6-76-20":[-398.55,2689.12],"6-76-21":[-349.48,2516.84],"6-76-22":[7.34,2262.38],"6-76-23":[-21.6,1972.68],"6-76-24":[-6.69,2173.07],"6-76-25":[324.79,1591.14],"6-76-26":[356.19,1104.11],"6-76-27":[401.98,2729.65],"6-76-28":[392.01,3267.45],"6-76-29":[375.1,3342.07],"6-76-30":[309.01,2770.25],"6-76-31":[236.85,4305.91],"6-76-32":[545.42,3396.04],"6-76-33":[671.25,3634.02],"6-76-34":[206.1,2462.72],"6-76-35":[230.19,2952.42],"6-76-36":[-18.37,1938.4],"6-76-37":[7.99,2969.88],"6-76-38":[-27.14,1841.51],"6-76-39":[-30.93,319.69],"6-76-40":[-13.74,244.16],"6-76-41":[8.65,35.45],"6-76-42":[14.14,44.71],"6-76-43":[19.2,58.81],"6-76-44":[24.23,61.33],"6-76-45":[27.4,65.6],"6-76-46":[32.33,76.23],"6-76-47":[35.63,92.82],"6-76-48":[41.49,92.94],"6-76-49":[40.23,88.72],"6-76-50":[39.23,85.78],"6-76-51":[36.06,83.62],"6-76-52":[32.25,75.93],"6-76-53":[27.56,65.48],"6-76-54":[22.21,58.44],"6-76-55":[22.21,48.62],"6-76-56":[20.39,1400],"6-76-57":[861.25,2930.46],"6-76-58":[2787.67,3670.26],"6-76-59":[3590.96,3781.61],"6-76-60":[2776.72,3628.25],"6-76-61":[2954.99,3346.55],"6-76-62":[2839.81,3092.47],"6-76-63":[-29.54,2876.01],"6-77-0":[13.6,35.87],"6-77-1":[18.74,42.43],"5-38-0":[13.6,43.71],"6-77-2":[19.64,42.43],"6-77-3":[17.24,120.99],"5-38-1":[17.24,120.99],"6-77-4":[12.81,34.8],"6-77-5":[12.61,29.58],"5-38-2":[12.61,38.46],"6-77-6":[10.81,27.52],"6-77-7":[10.81,395.4],"5-38-3":[10.81,1139.05],"6-77-8":[13.48,352.95],"6-77-9":[13.48,366.87],"5-38-4":[13.48,538.64],"6-77-10":[35.39,327.96],"6-77-11":[93.37,306.61],"5-38-5":[21.95,357.69],"6-77-12":[105.39,311.33],"6-77-13":[-117.36,300.03],"5-38-6":[-117.36,332.1],"6-77-14":[44.47,375.52],"6-77-15":[2.57,323.22],"5-38-7":[2.57,721.64],"6-77-16":[12.38,1062.09],"6-77-17":[17.22,3382.16],"5-38-8":[12.38,3382.16],"6-77-18":[227.32,3297.16],"6-77-19":[120.11,2377.57],"5-38-9":[14.59,3897.68],"6-77-20":[501.73,1781.74],"6-77-21":[534.04,1378.43],"5-38-10":[-398.55,2689.12],"6-77-22":[6.85,2032.54],"6-77-23":[-26.43,2355.84],"5-38-11":[-26.43,2355.84],"6-77-24":[-82.73,2168.09],"6-77-25":[-31.31,2735.56],"5-38-12":[-82.73,2735.56],"6-77-26":[-27.84,3016.69],"6-77-27":[581.81,4526.44],"5-38-13":[-27.84,4526.44],"6-77-28":[713.31,4259.18],"6-77-29":[510.69,4177.49],"5-38-14":[375.1,4259.18],"6-77-30":[298.72,2764.05],"6-77-31":[167.98,3442.17],"5-38-15":[167.98,4305.91],"6-77-32":[136.09,5158.31],"6-77-33":[-45.68,5869.55],"5-38-16":[-45.68,5869.55],"6-77-34":[-49.58,2618.18],"6-77-35":[-48.06,1490.1],"5-38-17":[-49.58,2952.42],"6-77-36":[-18.95,1408.41],"6-77-37":[-43.82,2305.1],"5-38-18":[-43.82,2969.88],"6-77-38":[-55.16,506.56],"6-77-39":[-23.77,1.33],"5-38-19":[-55.16,1841.51],"6-77-40":[-2.89,15.32],"6-77-41":[4.2,25.41],"5-38-20":[-13.74,244.16],"6-77-42":[9.2,34.13],"6-77-43":[15.55,46.33],"5-38-21":[9.2,58.81],"6-77-44":[24.23,56.57],"6-77-45":[27.4,71.28],"5-38-22":[24.23,71.28],"6-77-46":[32.88,83.08],"6-77-47":[39.51,93.26],"5-38-23":[32.33,93.26],"6-77-48":[38.04,1277.56],"6-77-49":[42.15,90.89],"5-38-24":[38.04,1277.56],"6-77-50":[42.47,93.63],"6-77-51":[38.18,92.27],"5-38-25":[36.06,93.63],"6-77-52":[33.28,80.44],"6-77-53":[29.46,68.79],"5-38-26":[27.56,80.44],"6-77-54":[25.28,62.82],"6-77-55":[22.68,52.06],"5-38-27":[22.21,62.82],"6-77-56":[18.95,1400],"6-77-57":[751.85,3035.01],"5-38-28":[18.95,3035.01],"6-77-58":[2930.45,3670.15],"6-77-59":[3628.25,3814.29],"5-38-29":[2787.67,3814.29],"6-77-60":[3346.54,3652.21],"6-77-61":[3073.2,3460.18],"5-38-30":[2776.72,3652.21],"6-77-62":[2876,3182.27],"6-77-63":[-29.54,2907.97],"5-38-31":[-29.54,3182.27],"6-78-0":[13.6,35.71],"6-78-1":[18.5,41.37],"6-78-2":[18.62,41.37],"6-78-3":[14.08,41.71],"6-78-4":[10.33,32.25],"6-78-5":[8.69,25.05],"6-78-6":[8.19,22.55],"6-78-7":[9.2,327.91],"6-78-8":[11.6,314.82],"6-78-9":[12.9,268.49],"6-78-10":[44.72,286.2],"6-78-11":[79.76,279.53],"6-78-12":[76.55,258.22],"6-78-13":[77.59,248.68],"6-78-14":[14.28,340.26],"6-78-15":[2.68,680.41],"6-78-16":[13.14,3881.85],"6-78-17":[13.73,3918.41],"6-78-18":[321,3209.2],"6-78-19":[147.38,1446.37],"6-78-20":[267.19,949.71],"6-78-21":[374.43,1047.17],"6-78-22":[737.12,1974.55],"6-78-23":[99.43,2149.19],"6-78-24":[-38.59,2651.93],"6-78-25":[-18.11,2755.96],"6-78-26":[-202.91,3297.68],"6-78-27":[-172.94,3970.6],"6-78-28":[208.62,3839.48],"6-78-29":[250.57,4373.18],"6-78-30":[130.76,1692.99],"6-78-31":[-26.1,881.98],"6-78-32":[-77.85,278.94],"6-78-33":[-77.15,504.42],"6-78-34":[-74.93,56.49],"6-78-35":[-67.51,634.05],"6-78-36":[-58.21,1404.07],"6-78-37":[-82.52,980.89],"6-78-38":[-39.1,-9.7],"6-78-39":[-22.61,25.58],"6-78-40":[-3.87,7.79],"6-78-41":[3.4,20.43],"6-78-42":[8.86,32.47],"6-78-43":[15.8,49.23],"6-78-44":[24.72,59.67],"6-78-45":[29.26,78.45],"6-78-46":[35.64,87.67],"6-78-47":[42.4,92.7],"6-78-48":[42.73,92.7],"6-78-49":[43.34,91.97],"6-78-50":[45.44,100.71],"6-78-51":[40.21,95.44],"6-78-52":[34.91,81.61],"6-78-53":[31.4,70.9],"6-78-54":[26.8,64.39],"6-78-55":[25.07,54.85],"6-78-56":[20.74,1829.25],"6-78-57":[790.9,3049.46],"6-78-58":[3035,3654.4],"6-78-59":[3633.12,3814.29],"6-78-60":[3460.17,3676.48],"6-78-61":[3182.26,3515.55],"6-78-62":[2907.96,3278.24],"6-78-63":[-29.54,2956.72],"6-79-0":[13.6,35.35],"6-79-1":[18.17,40.15],"5-39-0":[13.6,41.37],"6-79-2":[18.31,40.92],"6-79-3":[14.08,38.78],"5-39-1":[14.08,41.71],"4-19-0":[13.6,120.99],"6-79-4":[8.85,27.87],"6-79-5":[7.69,19.46],"5-39-2":[7.69,32.25],"6-79-6":[6.77,17.55],"6-79-7":[7.34,252.89],"5-39-3":[6.77,327.91],"4-19-1":[6.77,1139.05],"3-9-0":[6.77,1181.22],"6-79-8":[10.65,224],"6-79-9":[12.58,273.71],"5-39-4":[10.65,314.82],"6-79-10":[36.18,309.09],"6-79-11":[67.88,297.07],"5-39-5":[36.18,309.09],"4-19-2":[10.65,538.64],"6-79-12":[65.82,294.44],"6-79-13":[86.91,291.7],"5-39-6":[65.82,294.44],"6-79-14":[-19.35,260.4],"6-79-15":[-9.6,476.12],"5-39-7":[-19.35,680.41],"4-19-3":[-117.36,721.64],"3-9-1":[-181.36,4110.39],"2-4-0":[-181.36,4840.9],"6-79-16":[37.86,5616.16],"6-79-17":[25.49,5133.37],"5-39-8":[13.14,5616.16],"6-79-18":[263.18,4058.15],"6-79-19":[31.48,3448.78],"5-39-9":[31.48,4058.15],"4-19-4":[12.38,5616.16],"6-79-20":[2.31,377.37],"6-79-21":[110.72,790.42],"5-39-10":[2.31,1047.17],"6-79-22":[400.54,1407.05],"6-79-23":[692.97,1499.62],"5-39-11":[99.43,2149.19],"4-19-5":[-398.55,2689.12],"3-9-2":[-398.55,5616.16],"6-79-24":[612.19,1721.97],"6-79-25":[-26.78,2990.34],"5-39-12":[-38.59,2990.34],"6-79-26":[-70.23,3647.39],"6-79-27":[-179.38,3223.81],"5-39-13":[-202.91,3970.6],"4-19-6":[-202.91,4526.44],"6-79-28":[-41.82,3002.22],"6-79-29":[152.09,1451.56],"5-39-14":[-41.82,4373.18],"6-79-30":[61.26,913.05],"6-79-31":[-86.74,587.03],"5-39-15":[-86.74,1692.99],"4-19-7":[-86.74,4373.18],"3-9-3":[-202.91,5024.49],"2-4-1":[-398.55,5616.16],"6-79-32":[-87.58,65.61],"6-79-33":[-86.64,-37.76],"5-39-16":[-87.58,504.42],"6-79-34":[-81.84,-34.75],"6-79-35":[-71.3,-26.58],"5-39-17":[-81.84,634.05],"4-19-8":[-87.58,5869.55],"6-79-36":[-59.05,2336.88],"6-79-37":[-52.97,605.98],"5-39-18":[-82.52,2336.88],"6-79-38":[-43.74,926.36],"6-79-39":[-68.11,1064.17],"5-39-19":[-68.11,1064.17],"4-19-9":[-82.52,2969.88],"3-9-4":[-87.58,5869.55],"6-79-40":[-18.99,1347.93],"6-79-41":[-12.01,199.04],"5-39-20":[-18.99,1347.93],"6-79-42":[8.42,42.61],"6-79-43":[17.67,65.21],"5-39-21":[8.42,65.21],"4-19-10":[-18.99,1347.93],"6-79-44":[24.72,70.25],"6-79-45":[31.3,83.27],"5-39-22":[24.72,83.27],"6-79-46":[39.48,87.78],"6-79-47":[43.03,91.28],"5-39-23":[35.64,92.7],"4-19-11":[24.23,93.26],"3-9-5":[-242.83,3510.35],"2-4-2":[-242.83,5869.55],"6-79-48":[42.49,94.03],"6-79-49":[43.22,91.87],"5-39-24":[42.49,94.03],"6-79-50":[45.58,101.84],"6-79-51":[40.61,94.5],"5-39-25":[40.21,101.84],"4-19-12":[36.06,1277.56],"6-79-52":[35.82,81.74],"6-79-53":[31.85,70.92],"5-39-26":[31.4,81.74],"6-79-54":[28.07,64.4],"6-79-55":[25.07,56.23],"5-39-27":[25.07,64.4],"4-19-13":[22.21,81.74],"3-9-6":[15.45,1277.56],"6-79-56":[24.51,2238.4],"6-79-57":[1829.24,3044.79],"5-39-28":[20.74,3049.46],"6-79-58":[3023.55,3633.13],"6-79-59":[3590.92,3703.54],"5-39-29":[3023.55,3814.29],"4-19-14":[18.95,3814.29],"6-79-60":[3515.54,3739.77],"6-79-61":[3278.23,3596.54],"5-39-30":[3182.26,3739.77],"6-79-62":[2956.71,3326.45],"6-79-63":[-29.54,2985.88],"5-39-31":[-29.54,3326.45],"4-19-15":[-29.54,3739.77],"3-9-7":[-29.54,3814.29],"2-4-3":[-29.54,3814.29],"6-80-0":[13.6,34.92],"6-80-1":[17.78,39.27],"6-80-2":[16.68,40.65],"6-80-3":[11.49,517.11],"6-80-4":[7.13,26.45],"6-80-5":[4.68,16.89],"6-80-6":[4.58,15.08],"6-80-7":[4.73,237.51],"6-80-8":[7.54,245.48],"6-80-9":[34.12,285.08],"6-80-10":[9.18,302.02],"6-80-11":[61.24,248.97],"6-80-12":[48.7,347.27],"6-80-13":[6.35,372.83],"6-80-14":[-41.25,355.61],"6-80-15":[-76.27,115.89],"6-80-16":[-56.46,4485.88],"6-80-17":[-15.96,4116.85],"6-80-18":[161.31,4577.24],"6-80-19":[32.18,3588.07],"6-80-20":[-43.59,2783.91],"6-80-21":[-86.23,444.94],"6-80-22":[151.78,925.69],"6-80-23":[340.2,1343.13],"6-80-24":[285.31,1028.07],"6-80-25":[400.89,1455.51],"6-80-26":[79.57,2444.71],"6-80-27":[-65.02,2493.24],"6-80-28":[-50.69,2422.23],"6-80-29":[62.25,1006.97],"6-80-30":[-93.25,501.55],"6-80-31":[-99.6,235.87],"6-80-32":[-97.89,-42.83],"6-80-33":[-90.45,-40.91],"6-80-34":[-87.49,-33.55],"6-80-35":[-79.14,8.71],"6-80-36":[-62.55,621.18],"6-80-37":[-52.79,1207.88],"6-80-38":[-3.35,2631.65],"6-80-39":[-45.58,2635.66],"6-80-40":[-13.4,1977.92],"6-80-41":[3.13,244.27],"6-80-42":[12.3,42.61],"6-80-43":[19.05,65.05],"6-80-44":[27.43,70.26],"6-80-45":[35.59,85.76],"6-80-46":[41.63,87.78],"6-80-47":[42.87,92.37],"6-80-48":[44.13,94.46],"6-80-49":[43.94,91.87],"6-80-50":[45.05,99.84],"6-80-51":[40.48,92.21],"6-80-52":[35.29,81.74],"6-80-53":[31.46,70.92],"6-80-54":[28.44,63.71],"6-80-55":[27.25,572.15],"6-80-56":[26.34,2427.48],"6-80-57":[2238.39,3127.78],"6-80-58":[3023.7,3590.93],"6-80-59":[3513.32,3615.32],"6-80-60":[3595.11,3741.77],"6-80-61":[3326.44,3655.25],"6-80-62":[2985.87,3360.65],"6-80-63":[-29.54,3013.02],"6-81-0":[13.6,34.28],"6-81-1":[17.42,38.06],"5-40-0":[13.6,39.27],"6-81-2":[16.06,37.38],"6-81-3":[11.14,453.1],"5-40-1":[11.14,517.11],"6-81-4":[5.36,22.49],"6-81-5":[2.51,12.86],"5-40-2":[2.51,26.45],"6-81-6":[2.24,9.59],"6-81-7":[2.54,195.71],"5-40-3":[2.24,237.51],"6-81-8":[7.96,467.27],"6-81-9":[65.32,477.07],"5-40-4":[7.54,477.07],"6-81-10":[7.84,275.89],"6-81-11":[59.53,298.46],"5-40-5":[7.84,302.02],"6-81-12":[19.86,367.95],"6-81-13":[0.32,377.5],"5-40-6":[0.32,377.5],"6-81-14":[-51.54,65.52],"6-81-15":[-57.25,5.04],"5-40-7":[-76.27,355.61],"6-81-16":[-43.48,748.23],"6-81-17":[-65.9,4455.71],"5-40-8":[-65.9,4485.88],"6-81-18":[-73,4802.09],"6-81-19":[473.29,3898.23],"5-40-9":[-73,4802.09],"6-81-20":[-93.21,4173.89],"6-81-21":[-121.55,2032.48],"5-40-10":[-121.55,4173.89],"6-81-22":[-85.21,483.61],"6-81-23":[-57.81,539.09],"5-40-11":[-85.21,1343.13],"6-81-24":[77.98,467.81],"6-81-25":[176.55,1015.61],"5-40-12":[77.98,1455.51],"6-81-26":[-51.14,2138.39],"6-81-27":[-58.49,2078.28],"5-40-13":[-65.02,2493.24],"6-81-28":[-83.94,1996.26],"6-81-29":[-102.99,846.67],"5-40-14":[-102.99,2422.23],"6-81-30":[-103.29,410.82],"6-81-31":[-103.34,-46.62],"5-40-15":[-103.34,501.55],"6-81-32":[-99.7,-45.29],"6-81-33":[-91.37,-41.35],"5-40-16":[-99.7,-40.91],"6-81-34":[-87.05,-35.59],"6-81-35":[-80.36,-28.86],"5-40-17":[-87.49,8.71],"6-81-36":[-95.35,2866.35],"6-81-37":[-44.05,2817.4],"5-40-18":[-95.35,2866.35],"6-81-38":[-37.94,1755.56],"6-81-39":[-49.87,1687.3],"5-40-19":[-49.87,2635.66],"6-81-40":[-10.79,75],"6-81-41":[1.07,25.08],"5-40-20":[-13.4,1977.92],"6-81-42":[8.34,34.81],"6-81-43":[16.88,54.43],"5-40-21":[8.34,65.05],"6-81-44":[27.43,70.86],"6-81-45":[35.92,83.88],"5-40-22":[27.43,85.76],"6-81-46":[39.83,85.23],"6-81-47":[42.1,89.88],"5-40-23":[39.83,92.37],"6-81-48":[10.5,895.68],"6-81-49":[44.14,90.78],"5-40-24":[10.5,895.68],"6-81-50":[42.93,94.4],"6-81-51":[38.91,91.87],"5-40-25":[38.91,99.84],"6-81-52":[33.96,80.53],"6-81-53":[30.7,68.94],"5-40-26":[30.7,81.74],"6-81-54":[28.32,62.75],"6-81-55":[29.72,1099.75],"5-40-27":[27.25,1099.75],"6-81-56":[30.45,2482.8],"6-81-57":[2427.47,3161.72],"5-40-28":[26.34,3161.72],"6-81-58":[3127.77,3513.33],"6-81-59":[3362.15,3613.49],"5-40-29":[3023.7,3615.32],"6-81-60":[3596.57,3745.47],"6-81-61":[3360.64,3699.75],"5-40-30":[3326.44,3745.47],"6-81-62":[3013.01,3382.27],"6-81-63":[-29.54,3034.71],"5-40-31":[-29.54,3382.27],"6-82-0":[13.6,33.76],"6-82-1":[17,37.12],"6-82-2":[15.53,35.52],"6-82-3":[8.15,574.46],"6-82-4":[4.35,19.3],"6-82-5":[1.27,79.61],"6-82-6":[0.56,585.93],"6-82-7":[0.54,166.68],"6-82-8":[5.53,263.89],"6-82-9":[23.58,441.34],"6-82-10":[5.37,321.16],"6-82-11":[52.24,337.16],"6-82-12":[32.72,384.64],"6-82-13":[-1.79,320.68],"6-82-14":[-63.46,173.57],"6-82-15":[-85.87,-10.01],"6-82-16":[-173.82,522.27],"6-82-17":[-63.16,294.16],"6-82-18":[-61.41,3417.02],"6-82-19":[-32.51,5595.76],"6-82-20":[768.45,4411.42],"6-82-21":[-91.09,4366.48],"6-82-22":[-64.72,1761.32],"6-82-23":[-110.57,170.47],"6-82-24":[-44.95,274.33],"6-82-25":[68.28,1114.62],"6-82-26":[-145.36,1466.69],"6-82-27":[-88.55,1380.57],"6-82-28":[-104.68,723.52],"6-82-29":[-111.56,-41.96],"6-82-30":[-110.83,-50.61],"6-82-31":[-104.52,-49.03],"6-82-32":[-100.44,-45.11],"6-82-33":[-93.4,-10.81],"6-82-34":[-83.72,5.08],"6-82-35":[-74.96,-0.2],"6-82-36":[-62.66,-19.8],"6-82-37":[-49.14,-15.48],"6-82-38":[-35.86,-11.67],"6-82-39":[-24.06,-4.21],"6-82-40":[-11.33,1.34],"6-82-41":[0.88,15.42],"6-82-42":[7.73,31.56],"6-82-43":[16.23,52.89],"6-82-44":[26.35,70.9],"6-82-45":[33.59,79.74],"6-82-46":[36.43,83.44],"6-82-47":[40.09,89.7],"6-82-48":[31.65,1115.13],"6-82-49":[43.67,90.18],"6-82-50":[42.26,91.9],"6-82-51":[37.84,90.05],"6-82-52":[33.96,77.84],"6-82-53":[30.52,67.42],"6-82-54":[28.32,61.42],"6-82-55":[29.72,1774.62],"6-82-56":[1099.74,2729.04],"6-82-57":[2482.79,3157.08],"6-82-58":[3040.04,3362.16],"6-82-59":[3161.66,3614.29],"6-82-60":[3541.01,3772.23],"6-82-61":[3382.26,3728.18],"6-82-62":[3034.7,3397.85],"6-82-63":[-29.54,3048.46],"6-83-0":[13.6,33.14],"6-83-1":[16.83,36.08],"5-41-0":[13.6,37.12],"6-83-2":[15.31,35.22],"6-83-3":[8.15,497.91],"5-41-1":[8.15,574.46],"4-20-0":[8.15,574.46],"6-83-4":[2.83,16.01],"6-83-5":[1.2,1212.81],"5-41-2":[1.2,1212.81],"6-83-6":[-2.49,1230.82],"6-83-7":[-3.49,212.13],"5-41-3":[-3.49,1230.82],"4-20-1":[-3.49,1230.82],"6-83-8":[21.02,244.39],"6-83-9":[32.38,331.03],"5-41-4":[5.53,441.34],"6-83-10":[0.65,350.47],"6-83-11":[53.02,469.81],"5-41-5":[0.65,469.81],"4-20-2":[0.65,477.07],"6-83-12":[50.86,476.59],"6-83-13":[40.69,627.4],"5-41-6":[-1.79,627.4],"6-83-14":[-46.59,323.7],"6-83-15":[-87.65,232.09],"5-41-7":[-87.65,323.7],"4-20-3":[-87.65,627.4],"6-83-16":[-161.11,321.64],"6-83-17":[-92.99,1858.17],"5-41-8":[-173.82,1858.17],"6-83-18":[-78.58,3878.24],"6-83-19":[299.23,3814.01],"5-41-9":[-78.58,5595.76],"4-20-4":[-173.82,5595.76],"6-83-20":[674.01,4034.31],"6-83-21":[627.23,3448.75],"5-41-10":[-91.09,4411.42],"6-83-22":[-84.08,2931.28],"6-83-23":[-93.5,1395.64],"5-41-11":[-110.57,2931.28],"4-20-5":[-121.55,4411.42],"6-83-24":[-29.8,300.19],"6-83-25":[-71.95,1727.17],"5-41-12":[-71.95,1727.17],"6-83-26":[-76.15,1060.42],"6-83-27":[-94.46,1466.16],"5-41-13":[-145.36,1466.69],"4-20-6":[-145.36,2493.24],"6-83-28":[-107.49,-44.27],"6-83-29":[-112.89,-51.27],"5-41-14":[-112.89,723.52],"6-83-30":[-112.22,-52.38],"6-83-31":[-111.92,-50.21],"5-41-15":[-112.22,-49.03],"4-20-7":[-112.89,2422.23],"6-83-32":[-107.44,-46.38],"6-83-33":[-100.55,862.8],"5-41-16":[-107.44,862.8],"6-83-34":[-86.9,-10.47],"6-83-35":[-74.63,-31.32],"5-41-17":[-86.9,5.08],"4-20-8":[-107.44,862.8],"6-83-36":[-65.81,-24.56],"6-83-37":[-50.21,-9.89],"5-41-18":[-65.81,-9.89],"6-83-38":[-36.27,-11.19],"6-83-39":[-27.02,3059.56],"5-41-19":[-36.27,3059.56],"4-20-9":[-95.35,3059.56],"6-83-40":[-8.14,2.28],"6-83-41":[0.88,16.25],"5-41-20":[-11.33,16.25],"6-83-42":[7.73,33.52],"6-83-43":[16.98,55.76],"5-41-21":[7.73,55.76],"4-20-10":[-13.4,1977.92],"6-83-44":[26.42,65.98],"6-83-45":[28.62,71.78],"5-41-22":[26.35,79.74],"6-83-46":[31.75,77.92],"6-83-47":[36.38,85.71],"5-41-23":[31.75,89.7],"4-20-11":[26.35,92.37],"6-83-48":[41.07,88.96],"6-83-49":[41.42,88.26],"5-41-24":[31.65,1115.13],"6-83-50":[40.86,86.86],"6-83-51":[37.02,83.45],"5-41-25":[37.02,91.9],"4-20-12":[10.5,1115.13],"6-83-52":[33.5,75.38],"6-83-53":[30.59,67.43],"5-41-26":[30.52,77.84],"6-83-54":[28.68,62.32],"6-83-55":[29.58,2242.91],"5-41-27":[28.32,2242.91],"4-20-13":[27.25,2242.91],"6-83-56":[568.49,2841.08],"6-83-57":[2729.03,3100.22],"5-41-28":[568.49,3157.08],"6-83-58":[2651.98,3161.67],"6-83-59":[2944.39,3541.02],"5-41-29":[2651.98,3614.29],"4-20-14":[26.34,3615.32],"6-83-60":[3405.03,3807.22],"6-83-61":[3397.84,3762.75],"5-41-30":[3382.26,3807.22],"6-83-62":[3048.45,3423.55],"6-83-63":[-29.54,3056.25],"5-41-31":[-29.54,3423.55],"4-20-15":[-29.54,3807.22],"6-84-0":[13.6,32.73],"6-84-1":[15.68,35.52],"6-84-2":[14.45,462.92],"6-84-3":[6.06,600.63],"6-84-4":[1.87,99.91],"6-84-5":[-4.13,1436.73],"6-84-6":[-6.38,243.89],"6-84-7":[-6.07,220.04],"6-84-8":[14.07,1250.98],"6-84-9":[44.8,1096.24],"6-84-10":[-0.2,1512.31],"6-84-11":[81.33,975.89],"6-84-12":[69.62,1624.4],"6-84-13":[-109.79,1020.66],"6-84-14":[69.5,630.85],"6-84-15":[-35.73,381.12],"6-84-16":[-25.96,265.27],"6-84-17":[-108.09,292.44],"6-84-18":[2.44,3050.69],"6-84-19":[657.64,3289.8],"6-84-20":[218.2,3513.08],"6-84-21":[84.19,4466.14],"6-84-22":[-257.75,3206.24],"6-84-23":[-71.96,2955.44],"6-84-24":[-79.76,1006.29],"6-84-25":[-89.61,187.1],"6-84-26":[-101.44,-35.61],"6-84-27":[-105.8,-39.16],"6-84-28":[-108.15,-47.23],"6-84-29":[-116.74,-51.27],"6-84-30":[-120.83,-54.73],"6-84-31":[-121.14,-53.64],"6-84-32":[-120.53,-50.27],"6-84-33":[-111.77,-41.47],"6-84-34":[-97.72,-15.91],"6-84-35":[-82.46,-11.7],"6-84-36":[-73.49,-25.08],"6-84-37":[-58.26,-16.99],"6-84-38":[-39.63,-4.4],"6-84-39":[-29.1,810.67],"6-84-40":[-9.76,2.28],"6-84-41":[0.83,15.41],"6-84-42":[7.34,34.61],"6-84-43":[17.48,52.91],"6-84-44":[21.66,56.56],"6-84-45":[24.5,63.5],"6-84-46":[28.48,71.79],"6-84-47":[33.69,82.14],"6-84-48":[37.05,84.5],"6-84-49":[39.19,84.88],"6-84-50":[37.64,82.95],"6-84-51":[36.03,81.01],"6-84-52":[33.47,74.05],"6-84-53":[30.96,66.44],"6-84-54":[28.91,62.37],"6-84-55":[28.43,1169.19],"6-84-56":[306.84,2834.46],"6-84-57":[2494.94,2971.6],"6-84-58":[2350.48,2944.4],"6-84-59":[2693.02,3405.04],"6-84-60":[3368.56,3828.34],"6-84-61":[3423.54,3798.94],"6-84-62":[3056.21,3451.5],"6-84-63":[-29.54,3061.98],"6-85-0":[13.6,32.27],"6-85-1":[15.62,35.54],"5-42-0":[13.6,35.54],"6-85-2":[13.83,255.88],"6-85-3":[6.06,601.05],"5-42-1":[6.06,601.05],"6-85-4":[1.27,851.35],"6-85-5":[-6.92,1078],"5-42-2":[-6.92,1436.73],"6-85-6":[-11.51,152.24],"6-85-7":[-9.86,400.74],"5-42-3":[-11.51,400.74],"6-85-8":[20.67,1773.8],"6-85-9":[-5.63,1487.95],"5-42-4":[-5.63,1773.8],"6-85-10":[-53.11,1559.37],"6-85-11":[-77.24,864.4],"5-42-5":[-77.24,1559.37],"6-85-12":[-233.11,1394.5],"6-85-13":[29.59,600.13],"5-42-6":[-233.11,1624.4],"6-85-14":[24.54,429.21],"6-85-15":[-30.91,315.69],"5-42-7":[-35.73,630.85],"6-85-16":[-30.47,243.14],"6-85-17":[32.63,430.08],"5-42-8":[-108.09,430.08],"6-85-18":[50.89,3092.4],"6-85-19":[225.19,3228.78],"5-42-9":[2.44,3289.8],"6-85-20":[429.56,2831.82],"6-85-21":[250.94,3905.23],"5-42-10":[84.19,4466.14],"6-85-22":[-102.11,3453.88],"6-85-23":[-86,2164.41],"5-42-11":[-257.75,3453.88],"6-85-24":[-99.8,1992.49],"6-85-25":[-110.95,-39.87],"5-42-12":[-110.95,1992.49],"6-85-26":[-117.41,-43.92],"6-85-27":[-127.52,-50.66],"5-42-13":[-127.52,-35.61],"6-85-28":[-132,-54.32],"6-85-29":[-131.84,-55.09],"5-42-14":[-132,-47.23],"6-85-30":[-135.58,-59.06],"6-85-31":[-136.23,-60.26],"5-42-15":[-136.23,-53.64],"6-85-32":[-135.19,-55.88],"6-85-33":[-126.29,-49.83],"5-42-16":[-135.19,-41.47],"6-85-34":[-114.17,-41.73],"6-85-35":[-93.31,-35.72],"5-42-17":[-114.17,-11.7],"6-85-36":[-76.7,-25.51],"6-85-37":[-60.92,12.57],"5-42-18":[-76.7,12.57],"6-85-38":[-42.13,-11.51],"6-85-39":[-26.51,-4.38],"5-42-19":[-42.13,810.67],"6-85-40":[-10.15,1.03],"6-85-41":[0.61,18.41],"5-42-20":[-10.15,18.41],"6-85-42":[7.34,33.4],"6-85-43":[14.16,42.27],"5-42-21":[7.34,52.91],"6-85-44":[20.8,47.97],"6-85-45":[23.87,56.43],"5-42-22":[20.8,63.5],"6-85-46":[27.26,65.1],"6-85-47":[30.36,73.18],"5-42-23":[27.26,82.14],"6-85-48":[33.17,77.75],"6-85-49":[36.61,78.57],"5-42-24":[33.17,84.88],"6-85-50":[36.35,77.83],"6-85-51":[34.92,75.64],"5-42-25":[34.92,82.95],"6-85-52":[32.62,71.77],"6-85-53":[30.3,66.45],"5-42-26":[30.3,74.05],"6-85-54":[27.35,61.96],"6-85-55":[26.88,470.02],"5-42-27":[26.88,1169.19],"6-85-56":[29.8,2724.67],"6-85-57":[1711.99,2726.3],"5-42-28":[29.8,2971.6],"6-85-58":[1711.99,2693.03],"6-85-59":[2435.24,3395.87],"5-42-29":[1711.99,3405.04],"6-85-60":[3366.59,3894.08],"6-85-61":[3451.49,3860.75],"5-42-30":[3366.59,3894.08],"6-85-62":[3061.9,3477.38],"6-85-63":[-29.54,3064.64],"5-42-31":[-29.54,3477.38],"6-86-0":[13.59,31.92],"6-86-1":[14.49,35.54],"6-86-2":[11.81,372.35],"6-86-3":[3.34,515.4],"6-86-4":[1.06,851.78],"6-86-5":[-8.29,891.68],"6-86-6":[-14.79,-3.6],"6-86-7":[-14.04,414.42],"6-86-8":[-7.9,1361.22],"6-86-9":[-6.91,250.25],"6-86-10":[-12.46,219.71],"6-86-11":[30.07,213.66],"6-86-12":[40.86,217.01],"6-86-13":[-251.81,281.46],"6-86-14":[1.35,248.91],"6-86-15":[3.27,244.16],"6-86-16":[-29.82,713.35],"6-86-17":[-65.15,925.05],"6-86-18":[118.27,769.1],"6-86-19":[259.05,3625.13],"6-86-20":[437.51,4120.59],"6-86-21":[417.86,2348.74],"6-86-22":[-70.2,2575.17],"6-86-23":[-95.29,426.39],"6-86-24":[-105.6,-40.84],"6-86-25":[-120.89,-49.19],"6-86-26":[-133.2,-54.84],"6-86-27":[-143.88,-59.25],"6-86-28":[-150.34,-63.76],"6-86-29":[-151.57,-65.77],"6-86-30":[-150.84,-65.78],"6-86-31":[-149.1,-67.58],"6-86-32":[-147.35,-64],"6-86-33":[-138.48,-57.09],"6-86-34":[-126.92,-47.83],"6-86-35":[-107,-36.76],"6-86-36":[-89.42,-30.07],"6-86-37":[-64.88,-21.06],"6-86-38":[-48.23,209.37],"6-86-39":[-26.28,376.48],"6-86-40":[-11.57,0.81],"6-86-41":[0.26,18.37],"6-86-42":[7.71,27.18],"6-86-43":[12.56,39.03],"6-86-44":[18.37,47.62],"6-86-45":[23.48,52.93],"6-86-46":[25.88,59.58],"6-86-47":[28.88,66.34],"6-86-48":[31.73,72.21],"6-86-49":[35.04,79.61],"6-86-50":[34.66,75.08],"6-86-51":[34.42,72.8],"6-86-52":[31.27,70.56],"6-86-53":[28.81,64.55],"6-86-54":[26.88,60.6],"6-86-55":[24.41,59.6],"6-86-56":[27.96,2407.49],"6-86-57":[1004.17,2407.49],"6-86-58":[953.72,2435.25],"6-86-59":[2297.21,3458.7],"6-86-60":[3395.86,3925.85],"6-86-61":[3477.37,3915.12],"6-86-62":[3064.43,3500.58],"6-86-63":[-29.54,3065.4],"6-87-0":[13.59,31.44],"6-87-1":[14.36,35.37],"5-43-0":[13.59,35.54],"6-87-2":[10.38,28.84],"6-87-3":[2.68,330.3],"5-43-1":[2.68,515.4],"4-21-0":[2.68,601.05],"6-87-4":[-2.16,1077],"6-87-5":[-10.36,397.96],"5-43-2":[-10.36,1077],"6-87-6":[-15.86,38],"6-87-7":[-16.5,1223.93],"5-43-3":[-16.5,1223.93],"4-21-1":[-16.5,1436.73],"3-10-0":[-16.5,1436.73],"6-87-8":[-9.11,1275.39],"6-87-9":[-9.42,200.27],"5-43-4":[-9.42,1361.22],"6-87-10":[-16.29,154.26],"6-87-11":[12.98,142.53],"5-43-5":[-16.29,219.71],"4-21-2":[-77.24,1773.8],"6-87-12":[33.77,210.72],"6-87-13":[8.93,447.9],"5-43-6":[-251.81,447.9],"6-87-14":[78.72,1084.54],"6-87-15":[-9.6,566.99],"5-43-7":[-9.6,1084.54],"4-21-3":[-251.81,1624.4],"3-10-1":[-251.81,1773.8],"6-87-16":[64.29,821.12],"6-87-17":[59.56,2139.17],"5-43-8":[-65.15,2139.17],"6-87-18":[168.8,4103.6],"6-87-19":[306.05,4599.84],"5-43-9":[118.27,4599.84],"4-21-4":[-108.09,4599.84],"6-87-20":[773.43,4772.12],"6-87-21":[-3.55,3524.89],"5-43-10":[-3.55,4772.12],"6-87-22":[-79.15,2437.68],"6-87-23":[-101.84,529.04],"5-43-11":[-101.84,2575.17],"4-21-5":[-257.75,4772.12],"3-10-2":[-257.75,5595.76],"6-87-24":[-118.44,-45.37],"6-87-25":[-141.93,-54.11],"5-43-12":[-141.93,-40.84],"6-87-26":[-150.7,-61.38],"6-87-27":[-163.78,-68.36],"5-43-13":[-163.78,-54.84],"4-21-6":[-163.78,1992.49],"6-87-28":[-170.56,-73.16],"6-87-29":[-174.45,-76.65],"5-43-14":[-174.45,-63.76],"6-87-30":[-173.2,-74.88],"6-87-31":[-167.31,-74.44],"5-43-15":[-173.2,-65.78],"4-21-7":[-174.45,-47.23],"3-10-3":[-174.45,2493.24],"6-87-32":[-162.11,-70.63],"6-87-33":[-151.07,-64.32],"5-43-16":[-162.11,-57.09],"6-87-34":[-139.14,-55.61],"6-87-35":[-119.37,-45.34],"5-43-17":[-139.14,-36.76],"4-21-8":[-162.11,-11.7],"6-87-36":[-99.82,-34.09],"6-87-37":[-73.91,-24.11],"5-43-18":[-99.82,-21.06],"6-87-38":[-54.69,-13.14],"6-87-39":[-30.91,-5.98],"5-43-19":[-54.69,376.48],"4-21-9":[-99.82,810.67],"3-10-4":[-162.11,3059.56],"6-87-40":[-16.87,0.27],"6-87-41":[-1.52,14.6],"5-43-20":[-16.87,18.37],"6-87-42":[5.69,23.57],"6-87-43":[10.55,36.11],"5-43-21":[5.69,39.03],"4-21-10":[-16.87,52.91],"6-87-44":[18.37,45.54],"6-87-45":[20.45,51.47],"5-43-22":[18.37,52.93],"6-87-46":[25.88,56.59],"6-87-47":[28.04,63.44],"5-43-23":[25.88,66.34],"4-21-11":[18.37,82.14],"3-10-5":[-16.87,1977.92],"6-87-48":[31.01,78.85],"6-87-49":[35.15,81.15],"5-43-24":[31.01,81.15],"6-87-50":[34.57,74.84],"6-87-51":[33.74,72.48],"5-43-25":[33.74,75.08],"4-21-12":[31.01,84.88],"6-87-52":[30.61,72.75],"6-87-53":[28.03,63.27],"5-43-26":[28.03,72.75],"6-87-54":[25.92,57.16],"6-87-55":[24.41,55.46],"5-43-27":[24.41,60.6],"4-21-13":[24.41,1169.19],"3-10-6":[10.5,2242.91],"6-87-56":[25.66,1925.54],"6-87-57":[136.32,1897.68],"5-43-28":[25.66,2407.49],"6-87-58":[355.79,2297.22],"6-87-59":[2244.47,3491.07],"5-43-29":[355.79,3491.07],"4-21-14":[25.66,3491.07],"6-87-60":[3458.69,3965.2],"6-87-61":[3500.57,3965.2],"5-43-30":[3395.86,3965.2],"6-87-62":[3065.04,3512.38],"6-87-63":[-29.54,3065.32],"5-43-31":[-29.54,3512.38],"4-21-15":[-29.54,3965.2],"3-10-7":[-29.54,3965.2],"6-88-0":[13.58,31.01],"6-88-1":[13.27,34.8],"6-88-2":[9.6,27.7],"6-88-3":[1.29,19.28],"6-88-4":[-5.14,793.47],"6-88-5":[-12.58,3.96],"6-88-6":[-14.53,64.34],"6-88-7":[-18.34,249.41],"6-88-8":[-13.24,223.3],"6-88-9":[3.21,226.52],"6-88-10":[-20.98,136.47],"6-88-11":[2.46,131.78],"6-88-12":[34.5,332.5],"6-88-13":[145.85,893.06],"6-88-14":[222.12,731.79],"6-88-15":[55.49,447.99],"6-88-16":[49.18,2106.12],"6-88-17":[156.79,5451.96],"6-88-18":[244.11,5411.27],"6-88-19":[361.44,5666.76],"6-88-20":[181.3,4714.77],"6-88-21":[-15.14,3432.07],"6-88-22":[-77.27,1024.24],"6-88-23":[-103.33,403.18],"6-88-24":[-126.49,569.02],"6-88-25":[-152.38,-59.6],"6-88-26":[-167.17,-70.97],"6-88-27":[-179.31,-76.12],"6-88-28":[-187.08,-81.89],"6-88-29":[-189.2,-85.59],"6-88-30":[-189.78,-83.95],"6-88-31":[-187.17,-81.05],"6-88-32":[-180.89,-76.23],"6-88-33":[-170.46,-69.57],"6-88-34":[-155.68,-60.53],"6-88-35":[-133.85,-49.91],"6-88-36":[-111.17,-38.44],"6-88-37":[-86,-27.34],"6-88-38":[-66.93,-16.67],"6-88-39":[-40.72,-8.66],"6-88-40":[-24.16,-1.51],"6-88-41":[-5.67,10.45],"6-88-42":[1.91,19.79],"6-88-43":[7.53,31.3],"6-88-44":[12.64,39.85],"6-88-45":[17.05,49.39],"6-88-46":[21.65,55.46],"6-88-47":[26.11,62.12],"6-88-48":[30.67,79.28],"6-88-49":[-55.82,1713.79],"6-88-50":[33.89,78.24],"6-88-51":[33.4,70.95],"6-88-52":[29.73,72.08],"6-88-53":[27.21,63.18],"6-88-54":[24.13,56.07],"6-88-55":[22.3,50.78],"6-88-56":[16.28,1116.82],"6-88-57":[13.9,1564.5],"6-88-58":[355.79,2295.88],"6-88-59":[2244.13,3490.99],"6-88-60":[3476.04,3997.79],"6-88-61":[3512.37,4001.34],"6-88-62":[3064.8,3523.63],"6-88-63":[-29.54,3065.05],"6-89-0":[13.6,30.41],"6-89-1":[13.24,33.54],"5-44-0":[13.24,34.8],"6-89-2":[9.34,26.43],"6-89-3":[1.06,16.79],"5-44-1":[1.06,27.7],"6-89-4":[-9.36,2.28],"6-89-5":[-14.35,7.89],"5-44-2":[-14.35,793.47],"6-89-6":[-19.83,60.3],"6-89-7":[-28.71,104.27],"5-44-3":[-28.71,249.41],"6-89-8":[-30.59,100.53],"6-89-9":[14.74,139.63],"5-44-4":[-30.59,226.52],"6-89-10":[-23.64,118.52],"6-89-11":[12.07,117.67],"5-44-5":[-23.64,136.47],"6-89-12":[-17.42,204.12],"6-89-13":[-52.7,749.66],"5-44-6":[-52.7,893.06],"6-89-14":[235.46,1122.49],"6-89-15":[163.09,1082.6],"5-44-7":[55.49,1122.49],"6-89-16":[148.14,4445.78],"6-89-17":[252.71,5979.55],"5-44-8":[49.18,5979.55],"6-89-18":[784.14,7425.22],"6-89-20":[59.84,2777.08],"6-89-19":[190.61,7670.17],"5-44-9":[190.61,7670.17],"6-89-21":[3.23,1028.73],"5-44-10":[-15.14,4714.77],"6-89-22":[-10.18,913.48],"6-89-23":[-89.16,1654.1],"5-44-11":[-103.33,1654.1],"6-89-24":[-133.04,1010.35],"6-89-25":[-155.77,598.43],"5-44-12":[-155.77,1010.35],"6-89-26":[-173.23,-75.99],"6-89-27":[-184.16,-67.66],"5-44-13":[-184.16,-67.66],"6-89-28":[-193.17,-72.32],"6-89-29":[-194.63,-67.67],"5-44-14":[-194.63,-67.67],"6-89-30":[-195.24,-67.2],"6-89-31":[-194.81,-43.56],"5-44-15":[-195.24,-43.56],"6-89-32":[-191.21,-78.05],"6-89-33":[-180.97,-40.52],"5-44-16":[-191.21,-40.52],"6-89-34":[-165.05,-37.6],"6-89-35":[-149.67,-56.07],"5-44-17":[-165.05,-37.6],"6-89-36":[-128.73,-45.3],"6-89-37":[-102.87,-34.29],"5-44-18":[-128.73,-27.34],"6-89-38":[-81.85,-22.52],"6-89-39":[-54.75,-12.77],"5-44-19":[-81.85,-8.66],"6-89-40":[-37.19,-4.34],"6-89-41":[-16.37,3.13],"5-44-20":[-37.19,10.45],"6-89-42":[-2.98,13.04],"6-89-43":[4.23,24.34],"5-44-21":[-2.98,31.3],"6-89-44":[9.98,32.16],"6-89-45":[13.89,42.42],"5-44-22":[9.98,49.39],"6-89-46":[21.65,50.58],"6-89-47":[23.2,61.35],"5-44-23":[21.65,62.12],"6-89-48":[28.47,76.1],"6-89-49":[32.48,302.78],"5-44-24":[-55.82,1713.79],"6-89-50":[6.34,315.35],"6-89-51":[32.78,72.05],"5-44-25":[6.34,315.35],"6-89-52":[28.91,68.61],"6-89-53":[26.94,58.88],"5-44-26":[26.94,72.08],"6-89-54":[21.2,53.9],"6-89-55":[21.2,49.06],"5-44-27":[21.2,56.07],"6-89-56":[16.07,392.26],"6-89-57":[13.9,1769.28],"5-44-28":[13.9,1769.28],"6-89-58":[1383.42,2436.17],"6-89-59":[2295.87,3484.93],"5-44-29":[355.79,3490.99],"6-89-60":[3476.04,4020.7],"6-89-61":[3523.62,4020.7],"5-44-30":[3476.04,4020.7],"6-89-62":[3063.59,3529.73],"6-89-63":[-29.54,3064.81],"5-44-31":[-29.54,3529.73],"6-90-0":[13.56,29.93],"6-90-1":[12.18,32.39],"6-90-2":[9.21,25.5],"6-90-3":[0.25,16.06],"6-90-4":[-11.93,1.31],"6-90-5":[-15.18,-4.47],"6-90-6":[-19.83,102.14],"6-90-7":[-28.89,97.21],"6-90-8":[-30.59,91.65],"6-90-9":[11.33,169.41],"6-90-10":[-26.48,102.52],"6-90-11":[16.21,130.71],"6-90-12":[-4.57,132.71],"6-90-13":[-44.99,965.27],"6-90-14":[341.61,1507.27],"6-90-15":[71.29,1151.88],"6-90-16":[241.76,4807.35],"6-90-17":[805.57,6513.21],"6-90-18":[1232.72,7543.41],"6-90-20":[101.67,5343.32],"6-90-21":[81.23,447.8],"6-90-22":[129.06,998],"6-90-19":[396.49,8087.96],"6-90-23":[-71.01,1264.93],"6-90-24":[-72.08,1499.22],"6-90-25":[-97.09,1527.78],"6-90-26":[-172.11,969.76],"6-90-27":[-189.5,1943.78],"6-90-28":[-199.61,132.05],"6-90-29":[-204.11,-76.78],"6-90-30":[-205.07,-73.55],"6-90-31":[-204.43,-69.28],"6-90-32":[-200.91,-74.1],"6-90-33":[-190.7,-82.52],"6-90-34":[-178.25,-74.83],"6-90-35":[-156.76,-64.37],"6-90-36":[-137.02,-52.73],"6-90-37":[-110.72,-40.93],"6-90-38":[-90.74,-28.8],"6-90-39":[-64.94,-19.04],"6-90-40":[-47.65,-9.27],"6-90-41":[-26.36,-1.84],"6-90-42":[-11.95,7.04],"6-90-43":[1.09,18.97],"6-90-44":[6.57,26.74],"6-90-45":[11.56,36.44],"6-90-46":[16.22,45.25],"6-90-47":[21.29,56.94],"6-90-48":[26.15,64.98],"6-90-49":[29.48,73.84],"6-90-50":[27.75,2779.41],"6-90-51":[30.57,74.05],"6-90-52":[29.34,65.8],"6-90-53":[23.63,58.34],"6-90-54":[20.44,50.44],"6-90-55":[17.32,44.95],"6-90-56":[15.75,1525.64],"6-90-57":[392.25,2210.25],"6-90-58":[1769.27,2619.19],"6-90-59":[2436.16,3487.6],"6-90-60":[3484.48,4037.87],"6-90-61":[3527.59,4030.9],"6-90-62":[3063.36,3530.31],"6-90-63":[-29.54,3064.82],"6-91-0":[13.58,29.33],"6-91-1":[12.18,31.01],"5-45-0":[12.18,32.39],"6-91-2":[8.56,24.24],"6-91-3":[-0.35,15.89],"5-45-1":[-0.35,25.5],"4-22-0":[-0.35,34.8],"6-91-4":[-13.02,0.37],"6-91-5":[-17.46,-5.58],"5-45-2":[-17.46,1.31],"6-91-6":[-20,102],"6-91-7":[-29.05,103.01],"5-45-3":[-29.05,103.01],"4-22-1":[-29.05,793.47],"6-91-8":[-29.05,81.75],"6-91-9":[-9.54,122.72],"5-45-4":[-30.59,169.41],"6-91-10":[-28.84,110.81],"6-91-11":[16.8,118.68],"5-45-5":[-28.84,130.71],"4-22-2":[-30.59,226.52],"6-91-12":[41.21,133.68],"6-91-13":[17.89,487.76],"5-45-6":[-44.99,965.27],"6-91-14":[131.95,1504.92],"6-91-15":[271.47,1384.81],"5-45-7":[71.29,1507.27],"4-22-3":[-52.7,1507.27],"6-91-16":[329.52,4930.95],"6-91-17":[1039.82,5827.63],"5-45-8":[241.76,6513.21],"6-91-18":[1051.98,6379.76],"6-91-19":[2249.39,8560.58],"5-45-9":[396.49,8560.58],"4-22-4":[49.18,8560.58],"6-91-20":[176.06,6725.08],"6-91-21":[96.74,4563.58],"5-45-10":[81.23,6725.08],"6-91-22":[31.65,732.76],"6-91-23":[133.09,994.23],"5-45-11":[-71.01,1264.93],"4-22-5":[-103.33,6725.08],"6-91-24":[88.59,1273.26],"6-91-25":[133.67,698.38],"5-45-12":[-97.09,1527.78],"6-91-26":[29.03,1069.77],"6-91-27":[-98.98,2543.22],"5-45-13":[-189.5,2543.22],"4-22-6":[-189.5,2543.22],"6-91-28":[-197.25,2590.24],"6-91-29":[-213.05,1544.94],"5-45-14":[-213.05,2590.24],"6-91-30":[-213.9,-102.05],"6-91-31":[-208.09,-100.58],"5-45-15":[-213.9,-69.28],"4-22-7":[-213.9,2590.24],"6-91-32":[-205.64,-96.41],"6-91-33":[-194.02,-89.47],"5-45-16":[-205.64,-74.1],"6-91-34":[-182.42,-79.86],"6-91-35":[-161.36,-69.08],"5-45-17":[-182.42,-64.37],"4-22-8":[-205.64,-37.6],"6-91-36":[-142.2,-57.49],"6-91-37":[-116.73,-45.58],"5-45-18":[-142.2,-40.93],"6-91-38":[-98.13,-34.54],"6-91-39":[-76.39,-24.5],"5-45-19":[-98.13,-19.04],"4-22-9":[-142.2,-8.66],"6-91-40":[-59.57,-14.97],"6-91-41":[-39.69,-6.64],"5-45-20":[-59.57,-1.84],"6-91-42":[-24.55,1.1],"6-91-43":[-6.24,12.33],"5-45-21":[-24.55,18.97],"4-22-10":[-59.57,31.3],"6-91-44":[3.69,23.13],"6-91-45":[-0.46,882.59],"5-45-22":[-0.46,882.59],"6-91-46":[14.12,40.84],"6-91-47":[18.73,51.83],"5-45-23":[14.12,56.94],"4-22-11":[-0.46,882.59],"6-91-48":[26.15,57.63],"6-91-49":[26.58,64.22],"5-45-24":[26.15,73.84],"6-91-50":[28.51,71.32],"6-91-51":[27.46,68.43],"5-45-25":[27.46,2779.41],"4-22-12":[-55.82,2779.41],"6-91-52":[27.54,61.22],"6-91-53":[23.63,57.26],"5-45-26":[23.63,65.8],"6-91-54":[18.37,46.65],"6-91-55":[17.3,38.66],"5-45-27":[17.3,50.44],"4-22-13":[17.3,72.08],"6-91-56":[15.75,1873.55],"6-91-57":[1472.92,2662.65],"5-45-28":[15.75,2662.65],"6-91-58":[2210.24,2841.83],"6-91-59":[2619.18,3506.71],"5-45-29":[1769.27,3506.71],"4-22-14":[13.9,3506.71],"6-91-60":[3487.59,4042.04],"6-91-61":[3516.4,4030.73],"5-45-30":[3484.48,4042.04],"6-91-62":[3063.05,3527.6],"6-91-63":[-29.54,3066.42],"5-45-31":[-29.54,3530.31],"4-22-15":[-29.54,4042.04],"6-92-0":[13.55,28.88],"6-92-1":[11.24,30.24],"6-92-2":[7.88,23.28],"6-92-3":[-1.45,283.89],"6-92-4":[-12.53,-0.34],"6-92-5":[-17.94,255.31],"6-92-6":[-21.31,243.75],"6-92-7":[-24.37,117.76],"6-92-8":[-24.37,64.43],"6-92-9":[-19.87,203.65],"6-92-10":[-30.16,114.52],"6-92-11":[9.32,125.15],"6-92-12":[63.09,235.48],"6-92-13":[48.15,478.3],"6-92-14":[109.62,1419.87],"6-92-15":[276.31,4532.62],"6-92-16":[432.35,6633.62],"6-92-17":[908.55,7087.4],"6-92-18":[1029.39,4976.93],"6-92-19":[1276.56,7022.3],"6-92-20":[2453.79,7194.47],"6-92-21":[35.37,7787.57],"6-92-22":[-15.2,295.99],"6-92-23":[-6.93,1069.67],"6-92-24":[29.9,1095.71],"6-92-25":[-88.56,1197.87],"6-92-26":[-182.75,1006.73],"6-92-27":[-197.07,1132.42],"6-92-28":[-198.18,434.8],"6-92-29":[-212.75,2430.45],"6-92-30":[-213.9,-101.01],"6-92-31":[-207.87,-100.16],"6-92-32":[-205.79,-94.42],"6-92-33":[-195,-88.59],"6-92-34":[-182.48,-79.41],"6-92-35":[-161.34,-70.63],"6-92-36":[-142.37,-59.67],"6-92-37":[-120.53,-49.07],"6-92-38":[-104.92,-39.42],"6-92-39":[-84.27,-29.78],"6-92-40":[-67.56,-20.85],"6-92-41":[-47.53,-12.67],"6-92-42":[-33.56,-4.07],"6-92-43":[-15.92,6.04],"6-92-44":[-3.11,19.27],"6-92-45":[3.14,28.24],"6-92-46":[9.41,36.29],"6-92-47":[15.61,46.42],"6-92-48":[19.59,52.39],"6-92-49":[23.34,58.26],"6-92-50":[24.55,61.51],"6-92-51":[20.83,56.57],"6-92-52":[20.97,56.29],"6-92-53":[20.93,53.7],"6-92-54":[15.67,43.92],"6-92-55":[14.25,36.25],"6-92-56":[15.39,2339.17],"6-92-57":[1873.54,2935.32],"6-92-58":[2662.64,3173.47],"6-92-59":[2841.82,3593.63],"6-92-60":[3506.7,4042.04],"6-92-61":[3499.19,4001.04],"6-92-62":[3062.85,3516.41],"6-92-63":[-29.54,3066.46],"6-93-0":[13.56,28.31],"6-93-1":[11.24,29.45],"5-46-0":[11.24,30.24],"6-93-2":[7.36,22.43],"6-93-3":[-1.93,13.28],"5-46-1":[-1.93,283.89],"6-93-4":[-12.52,9.42],"6-93-5":[-19.04,346.14],"5-46-2":[-19.04,346.14],"6-93-6":[-25.93,405.51],"6-93-7":[-28.7,174.16],"5-46-3":[-28.7,405.51],"6-93-8":[-19.06,149.97],"6-93-9":[-3.71,236.06],"5-46-4":[-24.37,236.06],"6-93-10":[-30.26,155.46],"6-93-11":[10.19,162.81],"5-46-5":[-30.26,162.81],"6-93-12":[-1.52,446.71],"6-93-13":[73.33,2380.4],"5-46-6":[-1.52,2380.4],"6-93-14":[23.35,2712],"6-93-15":[124.82,3961.77],"5-46-7":[23.35,4532.62],"6-93-16":[105.62,5107.74],"6-93-17":[837.93,3794.4],"5-46-8":[105.62,7087.4],"6-93-18":[954.9,6062.91],"6-93-19":[1693.3,6911.73],"5-46-9":[954.9,7022.3],"6-93-20":[4293.12,6600.18],"6-93-21":[81.18,8103.55],"5-46-10":[35.37,8103.55],"6-93-22":[-46.13,2512.35],"6-93-23":[-31.32,1178.46],"5-46-11":[-46.13,2512.35],"6-93-24":[-19.46,1262.43],"6-93-25":[-161.45,1608.79],"5-46-12":[-161.45,1608.79],"6-93-26":[-181.92,-37.98],"6-93-27":[-194.57,-86.28],"5-46-13":[-197.07,1132.42],"6-93-28":[-196.82,-88.67],"6-93-29":[-203.21,351.9],"5-46-14":[-212.75,2430.45],"6-93-30":[-206.92,-92.98],"6-93-31":[-203.79,-91.46],"5-46-15":[-213.9,-91.46],"6-93-32":[-197.97,-88.46],"6-93-33":[-185.94,-84.21],"5-46-16":[-205.79,-84.21],"6-93-34":[-175.59,-76.82],"6-93-35":[-155.42,-69.13],"5-46-17":[-182.48,-69.13],"6-93-36":[-142.66,-61.65],"6-93-37":[-126.46,-53.23],"5-46-18":[-142.66,-49.07],"6-93-38":[-113.57,-44.2],"6-93-39":[-92.35,-34.33],"5-46-19":[-113.57,-29.78],"6-93-40":[-75.45,-25.32],"6-93-41":[-57.43,-17.51],"5-46-20":[-75.45,-12.67],"6-93-42":[-43.87,-9.49],"6-93-43":[-26.53,-2.26],"5-46-21":[-43.87,6.04],"6-93-44":[-14.66,3.69],"6-93-45":[-1.24,17.7],"5-46-22":[-14.66,28.24],"6-93-46":[5.93,28.99],"6-93-47":[11.24,38.3],"5-46-23":[5.93,46.42],"6-93-48":[19.38,44.79],"6-93-49":[19.38,49.77],"5-46-24":[19.38,58.26],"6-93-50":[20.9,50.43],"6-93-51":[20.83,47.65],"5-46-25":[20.83,61.51],"6-93-52":[18.26,48.46],"6-93-53":[18.26,48.79],"5-46-26":[18.26,56.29],"6-93-54":[14.04,41],"6-93-55":[13.54,635.17],"5-46-27":[13.54,635.17],"6-93-56":[15.52,2519.02],"6-93-57":[2339.16,3197.54],"5-46-28":[15.39,3197.54],"6-93-58":[2935.31,3364.13],"6-93-59":[3109.51,3621.13],"5-46-29":[2662.64,3621.13],"6-93-60":[3593.62,4025.51],"6-93-61":[3480.01,3923.74],"5-46-30":[3480.01,4042.04],"6-93-62":[3063.46,3499.2],"6-93-63":[-29.54,3067.15],"5-46-31":[-29.54,3516.41],"6-94-0":[13.47,27.85],"6-94-1":[10.93,28.85],"6-94-2":[6.21,22.12],"6-94-3":[-2.74,11.48],"6-94-4":[-13.52,-1.43],"6-94-5":[-19.79,311.63],"6-94-6":[-11.52,248.42],"6-94-7":[-28.7,355.11],"6-94-8":[-17.9,176.8],"6-94-9":[-7.94,232.96],"6-94-10":[-30.83,204.28],"6-94-11":[21.88,252.1],"6-94-12":[-18.21,544.69],"6-94-13":[103.65,2652.03],"6-94-14":[329.84,4375.85],"6-94-15":[163.35,3786.97],"6-94-16":[217.97,5220.28],"6-94-17":[745.63,3644.02],"6-94-18":[804.64,6686.7],"6-94-19":[4212.17,6437.5],"6-94-20":[4352.91,6733.83],"6-94-21":[458.23,8019.76],"6-94-22":[-62.15,8777.15],"6-94-23":[-49.51,1317.62],"6-94-24":[-131.49,1124.07],"6-94-25":[-161,1331.06],"6-94-26":[-174.06,-73.06],"6-94-27":[-177.34,-76.23],"6-94-28":[-181.5,-77.26],"6-94-29":[-187.4,-77.29],"6-94-30":[-187.32,-78.62],"6-94-31":[-187.52,-78.17],"6-94-32":[-182.92,-76.46],"6-94-33":[-176.4,-74.65],"6-94-34":[-168.43,-71.13],"6-94-35":[-151.14,-67.72],"6-94-36":[-139.6,-60.57],"6-94-37":[-126.46,-54.12],"6-94-38":[-114.22,-45.3],"6-94-39":[-93.08,-37.72],"6-94-40":[-77.95,-29.61],"6-94-41":[-61.78,-22.17],"6-94-42":[-50.7,-14.14],"6-94-43":[-33.49,-7.53],"6-94-44":[-21.33,-1.23],"6-94-45":[-8.99,10.6],"6-94-46":[0.56,21.41],"6-94-47":[7.51,31.9],"6-94-48":[11.75,38.12],"6-94-49":[15.47,42.62],"6-94-50":[16.83,42.88],"6-94-51":[15.6,40.98],"6-94-52":[12.93,36.12],"6-94-53":[11.48,39.7],"6-94-54":[10.61,32.65],"6-94-55":[10.62,1029.1],"6-94-56":[635.16,2637.61],"6-94-57":[2519.01,3300.48],"6-94-58":[3197.53,3450.97],"6-94-59":[3321.28,3672.41],"6-94-60":[3621.12,3954.97],"6-94-61":[3420.25,3850.88],"6-94-62":[3064.94,3480.02],"6-94-63":[-29.54,3067.91],"6-95-0":[13.31,27.3],"6-95-1":[10.93,27.94],"5-47-0":[10.93,28.85],"6-95-2":[6.2,21.84],"6-95-3":[-3.28,10.22],"5-47-1":[-3.28,22.12],"4-23-0":[-3.28,283.89],"6-95-4":[-13.57,46.56],"6-95-5":[-14.69,348.59],"5-47-2":[-19.79,348.59],"6-95-6":[-9.39,401.33],"6-95-7":[-9.94,941.07],"5-47-3":[-28.7,941.07],"4-23-1":[-28.7,941.07],"3-11-0":[-29.05,941.07],"6-95-8":[-21.59,733.23],"6-95-9":[-13.86,628.73],"5-47-4":[-21.59,733.23],"6-95-10":[-32.57,242.85],"6-95-11":[53.1,262.78],"5-47-5":[-32.57,262.78],"4-23-2":[-32.57,733.23],"6-95-12":[74.14,2173.74],"6-95-13":[176.51,3529.7],"5-47-6":[-18.21,3529.7],"6-95-14":[474.07,4279.84],"6-95-15":[301.44,3328.41],"5-47-7":[163.35,4375.85],"4-23-3":[-18.21,4532.62],"3-11-1":[-52.7,4532.62],"2-5-0":[-251.81,4532.62],"6-95-16":[-260.5,4987.09],"6-95-17":[619.6,2654.79],"5-47-8":[-260.5,5220.28],"6-95-18":[731.86,6201.27],"6-95-19":[4444.41,6890.4],"5-47-9":[731.86,6890.4],"4-23-4":[-260.5,7087.4],"6-95-20":[4425.14,6254.63],"6-95-21":[988.33,7070.27],"5-47-10":[458.23,8019.76],"6-95-22":[-69.58,8478.4],"6-95-23":[-139.77,533.63],"5-47-11":[-139.77,8777.15],"4-23-5":[-139.77,8777.15],"3-11-2":[-260.5,8777.15],"6-95-24":[-131.42,26.16],"6-95-25":[-146.13,-61.4],"5-47-12":[-161,1331.06],"6-95-26":[-150.96,-63.4],"6-95-27":[-152.36,-64.19],"5-47-13":[-177.34,-63.4],"4-23-6":[-197.07,1608.79],"6-95-28":[-152.61,-62.12],"6-95-29":[-153.05,-59.77],"5-47-14":[-187.4,-59.77],"6-95-30":[-153.22,-59.81],"6-95-31":[-153.97,-60.33],"5-47-15":[-187.52,-59.81],"4-23-7":[-213.9,2430.45],"3-11-3":[-213.9,2590.24],"2-5-1":[-260.5,8777.15],"1-2-0":[-398.55,8777.15],"6-95-32":[-153.84,-61.96],"6-95-33":[-150.16,-62.76],"5-47-16":[-182.92,-61.96],"6-95-34":[-147.07,-63.18],"6-95-35":[-139.29,-62.21],"5-47-17":[-168.43,-62.21],"4-23-8":[-205.79,-61.96],"6-95-36":[-135.36,-58.3],"6-95-37":[-121.04,-51.25],"5-47-18":[-139.6,-51.25],"6-95-38":[-111.37,-44.8],"6-95-39":[-96.39,-38.31],"5-47-19":[-114.22,-37.72],"4-23-9":[-142.66,-29.78],"3-11-4":[-205.79,-8.66],"6-95-40":[-87.28,-30.97],"6-95-41":[-73.3,-25.9],"5-47-20":[-87.28,-22.17],"6-95-42":[-61.25,-17.39],"6-95-43":[-45.22,-11.38],"5-47-21":[-61.25,-7.53],"4-23-10":[-87.28,6.04],"6-95-44":[-34.87,-6.02],"6-95-45":[-20.9,0.57],"5-47-22":[-34.87,10.6],"6-95-46":[-8.31,12.66],"6-95-47":[2.81,22.59],"5-47-23":[-8.31,31.9],"4-23-11":[-34.87,46.42],"3-11-5":[-87.28,882.59],"2-5-2":[-205.79,3059.56],"6-95-48":[11.13,29.29],"6-95-49":[11.13,33.22],"5-47-24":[11.13,42.62],"6-95-50":[13.37,33.58],"6-95-51":[13.37,32.64],"5-47-25":[13.37,42.88],"4-23-12":[11.13,61.51],"6-95-52":[10.23,30.49],"6-95-53":[10.23,23.8],"5-47-26":[10.23,39.7],"6-95-54":[6.78,21.99],"6-95-55":[6.78,1290.06],"5-47-27":[6.78,1290.06],"4-23-13":[6.78,1290.06],"3-11-6":[-55.82,2779.41],"6-95-56":[1007.52,2688.65],"6-95-57":[2637.6,3479.02],"5-47-28":[635.16,3479.02],"6-95-58":[3300.47,3627.63],"6-95-59":[3450.96,3738.39],"5-47-29":[3197.53,3738.39],"4-23-14":[15.39,3738.39],"6-95-60":[3672.4,3883.62],"6-95-61":[3372.97,3781.94],"5-47-30":[3372.97,3954.97],"6-95-62":[3066.6,3420.26],"6-95-63":[-29.54,3069.78],"5-47-31":[-29.54,3480.02],"4-23-15":[-29.54,4042.04],"3-11-7":[-29.54,4042.04],"2-5-3":[-55.82,4042.04],"1-2-1":[-242.83,5869.55],"6-96-0":[13.05,27.12],"6-96-1":[10.66,27.25],"6-96-2":[6.32,21.6],"6-96-3":[-3.81,327.9],"6-96-4":[-13.97,41.97],"6-96-5":[-14.52,491.93],"6-96-6":[-12.84,766.61],"6-96-7":[15.52,1577.7],"6-96-8":[23.06,974.81],"6-96-9":[0.51,751.03],"6-96-10":[-32.17,917.02],"6-96-11":[22.51,457.27],"6-96-12":[87.23,1266.17],"6-96-13":[216.38,3266],"6-96-14":[707.82,4151.48],"6-96-15":[820.5,4116.23],"6-96-16":[-31.39,3824.31],"6-96-17":[290.2,2504.01],"6-96-18":[1263.81,5909.96],"6-96-19":[3248.18,6767.17],"6-96-20":[4109.93,6522.84],"6-96-21":[2989.51,7463.69],"6-96-22":[-83.69,7512.84],"6-96-23":[-109,1663.78],"6-96-24":[-122.52,1062.24],"6-96-25":[-126.56,-53.86],"6-96-26":[-128.85,-59.44],"6-96-27":[-129.38,407.51],"6-96-28":[-128.18,114.95],"6-96-29":[-123.94,-53.59],"6-96-30":[-121.58,-48.89],"6-96-31":[-126.69,-47.66],"6-96-32":[-127.67,-47.94],"6-96-33":[-128.62,-48.79],"6-96-34":[-129.46,-51.46],"6-96-35":[-129.43,-54.63],"6-96-36":[-128.76,-55.19],"6-96-37":[-118.48,-52.16],"6-96-38":[-109.45,-47.88],"6-96-39":[-96.5,-43.64],"6-96-40":[-90.53,-37.51],"6-96-41":[-79.29,-30.63],"6-96-42":[-69.21,-23.04],"6-96-43":[-55.83,-17.8],"6-96-44":[-44.21,-11.23],"6-96-45":[-29.81,-4.63],"6-96-46":[-17.32,4.18],"6-96-47":[-2.33,15.19],"6-96-48":[3,21.54],"6-96-49":[6.76,26.13],"6-96-50":[9.32,27.61],"6-96-51":[9.2,26.58],"6-96-52":[7.16,26.06],"6-96-53":[2.39,19.5],"6-96-54":[2.39,14.94],"6-96-55":[3.38,1584.77],"6-96-56":[1290.05,2802.12],"6-96-57":[2688.64,3518.93],"6-96-58":[3479.01,3704.38],"6-96-59":[3627.62,3756.39],"6-96-60":[3652.33,3799.9],"6-96-61":[3341.14,3696.84],"6-96-62":[3068.58,3372.98],"6-96-63":[-29.54,3073.17],"6-97-0":[12.85,27.04],"6-97-1":[10.66,26.67],"5-48-0":[10.66,27.25],"6-97-2":[5.88,21.3],"6-97-3":[-5.43,785.33],"5-48-1":[-5.43,785.33],"6-97-4":[-15.46,476.72],"6-97-5":[-7.89,604.4],"5-48-2":[-15.46,604.4],"6-97-6":[-13.92,806.23],"6-97-7":[44.76,1618.98],"5-48-3":[-13.92,1618.98],"6-97-8":[91.31,1177.41],"6-97-9":[10.89,764.98],"5-48-4":[0.51,1177.41],"6-97-10":[-24.59,1092.04],"6-97-11":[-3.1,823.06],"5-48-5":[-32.17,1092.04],"6-97-12":[74.37,2561.56],"6-97-13":[260.85,2677.49],"5-48-6":[74.37,3266],"6-97-14":[697.66,2882.06],"6-97-15":[906.92,4155.27],"5-48-7":[697.66,4155.27],"6-97-16":[219.52,4825.04],"6-97-17":[271.2,4733.64],"5-48-8":[-31.39,4825.04],"6-97-18":[2241.79,5772.12],"6-97-19":[2644.39,6131.65],"5-48-9":[1263.81,6767.17],"6-97-20":[3253.98,6237.58],"6-97-21":[107.58,7221.31],"5-48-10":[107.58,7463.69],"6-97-22":[-53.33,5335.5],"6-97-23":[-92.67,2777.96],"5-48-11":[-109,7512.84],"6-97-24":[-99.38,3021.9],"6-97-25":[-120.76,1489.97],"5-48-12":[-126.56,3021.9],"6-97-26":[-124.46,365.67],"6-97-27":[-120.57,671.16],"5-48-13":[-129.38,671.16],"6-97-28":[-127.91,253.16],"6-97-29":[-120.45,634.69],"5-48-14":[-128.18,634.69],"6-97-30":[-106.53,2140.29],"6-97-31":[-94.44,-30.37],"5-48-15":[-126.69,2140.29],"6-97-32":[-93.37,-30.41],"6-97-33":[-100.58,-33.35],"5-48-16":[-128.62,-30.41],"6-97-34":[-105.96,-38.16],"6-97-35":[-109.16,-42.72],"5-48-17":[-129.46,-38.16],"6-97-36":[-110.94,-44.59],"6-97-37":[-107.55,-47.06],"5-48-18":[-128.76,-44.59],"6-97-38":[-103.96,-48.28],"6-97-39":[-97.49,-45.28],"5-48-19":[-109.45,-43.64],"6-97-40":[-91.36,-40.59],"6-97-41":[-84.52,-34.82],"5-48-20":[-91.36,-30.63],"6-97-42":[-74.46,-27.37],"6-97-43":[-60.54,-22.77],"5-48-21":[-74.46,-17.8],"6-97-44":[-55.82,-16.33],"6-97-45":[-41.68,-9.34],"5-48-22":[-55.82,-4.63],"6-97-46":[-29.34,-2.32],"6-97-47":[-13.57,4.79],"5-48-23":[-29.34,15.19],"6-97-48":[-3.72,11.69],"6-97-49":[2.56,17.71],"5-48-24":[-3.72,26.13],"6-97-50":[5.93,18.3],"6-97-51":[6.01,18.13],"5-48-25":[5.93,27.61],"6-97-52":[3.78,17.87],"6-97-53":[-1.51,12.15],"5-48-26":[-1.51,26.06],"6-97-54":[-2.2,7.25],"6-97-55":[-0.05,1584.77],"5-48-27":[-2.2,1584.77],"6-97-56":[1497.42,2824.51],"6-97-57":[2802.11,3500.23],"5-48-28":[1290.05,3518.93],"6-97-58":[3409.99,3719.54],"6-97-59":[3704.37,3755.97],"5-48-29":[3409.99,3756.39],"6-97-60":[3612.81,3775.22],"6-97-61":[3317.34,3652.34],"5-48-30":[3317.34,3799.9],"6-97-62":[3069.22,3341.15],"6-97-63":[-29.54,3074.67],"5-48-31":[-29.54,3372.98],"6-98-0":[12.57,27.03],"6-98-1":[10.26,26.35],"6-98-2":[4.57,21],"6-98-3":[-6.42,915.41],"6-98-4":[-16.48,237.04],"6-98-5":[-7.98,810.48],"6-98-6":[-11.47,688.57],"6-98-7":[12.53,1569.96],"6-98-8":[124.42,1090.5],"6-98-9":[50.44,887.64],"6-98-10":[-27,775.1],"6-98-11":[69.08,615.55],"6-98-12":[151.22,2887.36],"6-98-13":[660.12,2999.01],"6-98-14":[1179.37,3482.56],"6-98-15":[1006.26,3928.85],"6-98-16":[422.97,2953.75],"6-98-17":[1074.68,5415.08],"6-98-18":[2272.72,5725.81],"6-98-19":[2617.61,5462.57],"6-98-20":[3023.42,5731.48],"6-98-21":[133.36,6535.05],"6-98-22":[23.08,5106.11],"6-98-23":[12.3,3346.34],"6-98-24":[-17.38,2464.8],"6-98-25":[-86.67,2574.03],"6-98-26":[-135.7,1748.97],"6-98-27":[-96.39,1498.37],"6-98-28":[-92.56,1085.71],"6-98-29":[-80.53,550.46],"6-98-30":[-71.73,3433.72],"6-98-31":[-71.07,1843.03],"6-98-32":[-66.71,243],"6-98-33":[-76.31,-20.39],"6-98-34":[-86.19,-23.44],"6-98-35":[-91.28,-29.19],"6-98-36":[-94.14,-13.36],"6-98-37":[-101.07,-41.41],"6-98-38":[-100.77,-44.67],"6-98-39":[-96.25,-45.32],"6-98-40":[-93.34,-42.41],"6-98-41":[-85,-35.94],"6-98-42":[-76.44,-31.6],"6-98-43":[-68.5,-27.91],"6-98-44":[-62.86,-21.68],"6-98-45":[-50.56,-14.99],"6-98-46":[-38.51,-7.65],"6-98-47":[-23.36,-2.19],"6-98-48":[-12.63,4.07],"6-98-49":[-1.83,10.05],"6-98-50":[0.77,11.74],"6-98-51":[1.97,12.17],"6-98-52":[-0.24,11.35],"6-98-53":[-6.56,6.36],"6-98-54":[-6.92,6.59],"6-98-55":[-6.32,1715.72],"6-98-56":[1527.57,2802.84],"6-98-57":[2705.17,3410],"6-98-58":[3387.34,3708.3],"6-98-59":[3611.48,3736.73],"6-98-60":[3543.29,3737.71],"6-98-61":[3284.66,3612.82],"6-98-62":[3070.76,3317.35],"6-98-63":[-29.54,3075.47],"6-99-0":[12.31,27.01],"6-99-1":[10.26,25.84],"5-49-0":[10.26,27.03],"6-99-2":[4.57,20.48],"6-99-3":[-6.18,969.4],"5-49-1":[-6.42,969.4],"4-24-0":[-6.42,969.4],"6-99-4":[-16.18,517.22],"6-99-5":[-8.15,590],"5-49-2":[-16.48,810.48],"6-99-6":[-11.65,855.64],"6-99-7":[102.24,1354.63],"5-49-3":[-11.65,1569.96],"4-24-1":[-16.48,1618.98],"6-99-8":[120.14,1086.98],"6-99-9":[86.63,868.73],"5-49-4":[50.44,1090.5],"6-99-10":[-31.02,599.89],"6-99-11":[80.02,729.83],"5-49-5":[-31.02,775.1],"4-24-2":[-32.17,1177.41],"6-99-12":[187.08,2274.47],"6-99-13":[527.52,3424.72],"5-49-6":[151.22,3424.72],"6-99-14":[1035.39,3181.14],"6-99-15":[1160.58,3821.64],"5-49-7":[1006.26,3928.85],"4-24-3":[74.37,4155.27],"6-99-16":[637.58,3902.64],"6-99-17":[836.31,3828.18],"5-49-8":[422.97,5415.08],"6-99-18":[1288.02,5499.12],"6-99-19":[2175.47,6216.6],"5-49-9":[1288.02,6216.6],"4-24-4":[-31.39,6767.17],"6-99-20":[2779.55,6063.79],"6-99-21":[1586.78,6434.65],"5-49-10":[133.36,6535.05],"6-99-22":[657.1,5432.09],"6-99-23":[300.67,3530.75],"5-49-11":[12.3,5432.09],"4-24-5":[-109,7512.84],"6-99-24":[129.64,2554.75],"6-99-25":[-17.17,2536.99],"5-49-12":[-86.67,2574.03],"6-99-26":[-78.1,2080.04],"6-99-27":[-90.57,2009.72],"5-49-13":[-135.7,2080.04],"4-24-6":[-135.7,3021.9],"6-99-28":[-65.06,1760.05],"6-99-29":[-72.95,1543.06],"5-49-14":[-92.56,1760.05],"6-99-30":[-57.01,2251.47],"6-99-31":[-38.89,2884.86],"5-49-15":[-71.73,3433.72],"4-24-7":[-128.18,3433.72],"6-99-32":[-81.91,3098.13],"6-99-33":[-45.75,302.5],"5-49-16":[-81.91,3098.13],"6-99-34":[-54.35,-15.47],"6-99-35":[-71.17,-18.5],"5-49-17":[-91.28,-15.47],"4-24-8":[-129.46,3098.13],"6-99-36":[-82.83,-25.9],"6-99-37":[-88.25,-33.31],"5-49-18":[-101.07,-13.36],"6-99-38":[-94.27,-41.22],"6-99-39":[-95.18,-42.76],"5-49-19":[-100.77,-41.22],"4-24-9":[-128.76,-13.36],"6-99-40":[-92.2,-40.17],"6-99-41":[-83.68,-35.94],"5-49-20":[-93.34,-35.94],"6-99-42":[-78.69,-34.93],"6-99-43":[-74.99,-31.99],"5-49-21":[-78.69,-27.91],"4-24-10":[-93.34,-17.8],"6-99-44":[-72.56,-26.45],"6-99-45":[-59.76,-19.83],"5-49-22":[-72.56,-14.99],"6-99-46":[-48.96,-13.12],"6-99-47":[-34.76,-6.95],"5-49-23":[-48.96,-2.19],"4-24-11":[-72.56,15.19],"6-99-48":[-22.48,-1.82],"6-99-49":[-11.77,0.78],"5-49-24":[-22.48,10.05],"6-99-50":[-6.68,3.52],"6-99-51":[-3.06,3.63],"5-49-25":[-6.68,12.17],"4-24-12":[-22.48,27.61],"6-99-52":[-6.11,2.94],"6-99-53":[-14.49,-0.23],"5-49-26":[-14.49,11.35],"6-99-54":[-16.12,2.4],"6-99-55":[-5.53,1741.17],"5-49-27":[-16.12,1741.17],"4-24-13":[-16.12,1741.17],"6-99-56":[1318.62,2705.18],"6-99-57":[2640.6,3387.35],"5-49-28":[1318.62,3410],"6-99-58":[3292.46,3611.49],"6-99-59":[3525.75,3694.95],"5-49-29":[3292.46,3736.73],"4-24-14":[1290.05,3756.39],"6-99-60":[3433.71,3696.05],"6-99-61":[3240.36,3543.3],"5-49-30":[3240.36,3737.71],"6-99-62":[3070.72,3284.67],"6-99-63":[-29.54,3075.96],"5-49-31":[-29.54,3317.35],"4-24-15":[-29.54,3799.9],"6-100-0":[12.14,26.99],"6-100-1":[10.27,25.24],"6-100-2":[3.43,20.53],"6-100-3":[-0.76,788.17],"6-100-4":[-13.05,864.96],"6-100-5":[-6.27,624.53],"6-100-6":[-13.4,737.36],"6-100-7":[45.51,676.85],"6-100-8":[147.98,958.88],"6-100-9":[114.45,855.83],"6-100-10":[-24.8,555.66],"6-100-11":[130.97,852.88],"6-100-12":[253.49,918],"6-100-13":[346.44,3194.59],"6-100-14":[732.53,2295.19],"6-100-15":[986.95,3379.04],"6-100-16":[844.64,3558.09],"6-100-17":[745.38,1902.58],"6-100-18":[1168.55,5176.87],"6-100-19":[1398.27,4952.19],"6-100-20":[475.77,6100.38],"6-100-21":[222.1,7111.28],"6-100-22":[347.18,4334.26],"6-100-23":[41.06,3117.27],"6-100-24":[36.19,3084.02],"6-100-25":[52.6,2792.64],"6-100-26":[-35.3,1323.34],"6-100-27":[-72.12,1726.89],"6-100-28":[-49.94,1062.2],"6-100-29":[-35.14,1503.56],"6-100-30":[-117.38,2181.1],"6-100-31":[-68.74,1252.6],"6-100-32":[-20.47,3783.24],"6-100-33":[-69.41,3170.1],"6-100-34":[-37.01,1.6],"6-100-35":[-51.44,-9.86],"6-100-36":[-64.35,-13.79],"6-100-37":[-82.44,-27.14],"6-100-38":[-86.64,-34.46],"6-100-39":[-87.84,-34.63],"6-100-40":[-85.52,-36.5],"6-100-41":[-80.19,-37.62],"6-100-42":[-78.68,-37.25],"6-100-43":[-81.4,-35.65],"6-100-44":[-80.06,-30.59],"6-100-45":[-66.32,-24.76],"6-100-46":[-55.39,-18.12],"6-100-47":[-41.05,-11.56],"6-100-48":[-30.56,-6.29],"6-100-49":[-19.26,-3.51],"6-100-50":[-13.29,-1.45],"6-100-51":[-9.52,-0.85],"6-100-52":[-12.52,-1.6],"6-100-53":[-17.41,-3.38],"6-100-54":[-19.91,-2],"6-100-55":[-15.87,1791.71],"6-100-56":[1558.66,2640.61],"6-100-57":[2600.88,3292.47],"6-100-58":[3117.94,3525.76],"6-100-59":[3441.92,3605.31],"6-100-60":[3363.73,3601.4],"6-100-61":[3196.66,3433.72],"6-100-62":[3070.69,3240.37],"6-100-63":[-29.54,3075.89],"6-101-0":[12.06,26.97],"6-101-1":[10.27,24.01],"5-50-0":[10.27,26.99],"6-101-2":[1.88,20.61],"6-101-3":[-0.04,776.54],"5-50-1":[-0.76,788.17],"6-101-4":[-9.34,841.94],"6-101-5":[-23.59,832.71],"5-50-2":[-23.59,864.96],"6-101-6":[-24.81,718.4],"6-101-7":[121.13,1011.68],"5-50-3":[-24.81,1011.68],"6-101-8":[224.5,929.44],"6-101-9":[162.57,836.04],"5-50-4":[114.45,958.88],"6-101-10":[-27.02,706.58],"6-101-11":[88.71,984.1],"5-50-5":[-27.02,984.1],"6-101-12":[253.55,1472.91],"6-101-13":[369.08,2280.07],"5-50-6":[253.49,3194.59],"6-101-14":[518.21,1985.15],"6-101-15":[932.38,2132.01],"5-50-7":[518.21,3379.04],"6-101-16":[778.87,2678.17],"6-101-17":[651.88,2311.12],"5-50-8":[651.88,3558.09],"6-101-18":[992.38,3502.2],"6-101-19":[629.17,4106.19],"5-50-9":[629.17,5176.87],"6-101-20":[194.36,4524.83],"6-101-21":[96.37,1942.57],"5-50-10":[96.37,7111.28],"6-101-22":[245.14,2858.21],"6-101-23":[21.03,2530.43],"5-50-11":[21.03,4334.26],"6-101-24":[-94.3,2937.63],"6-101-25":[-56.68,2686.47],"5-50-12":[-94.3,3084.02],"6-101-26":[-2.53,1984.96],"6-101-27":[-62.53,1793.02],"5-50-13":[-72.12,1984.96],"6-101-28":[-88.98,988.31],"6-101-29":[-13.69,296.81],"5-50-14":[-88.98,1503.56],"6-101-30":[-7.26,564.09],"6-101-31":[-34.24,1041.7],"5-50-15":[-117.38,2181.1],"6-101-32":[-50.63,1126.85],"6-101-33":[-55.36,2229.43],"5-50-16":[-69.41,3783.24],"6-101-34":[-36.88,2218.28],"6-101-35":[-23.97,362.89],"5-50-17":[-51.44,2218.28],"6-101-36":[-50.01,-8.05],"6-101-37":[-67.22,-17.95],"5-50-18":[-82.44,-8.05],"6-101-38":[-72.92,-27.95],"6-101-39":[-72.68,-32.21],"5-50-19":[-87.84,-27.95],"6-101-40":[-76.24,-33.32],"6-101-41":[-78.06,-36.98],"5-50-20":[-85.52,-33.32],"6-101-42":[-80.1,-38.14],"6-101-43":[-82.02,-39.33],"5-50-21":[-82.02,-35.65],"6-101-44":[-82.43,-34.06],"6-101-45":[-71.27,-28.18],"5-50-22":[-82.43,-24.76],"6-101-46":[-62.71,-21.81],"6-101-47":[-49.64,-15.77],"5-50-23":[-62.71,-11.56],"6-101-48":[-39.39,-10.57],"6-101-49":[-28.16,-7.19],"5-50-24":[-39.39,-3.51],"6-101-50":[-21.77,-4.94],"6-101-51":[-17.14,-4.86],"5-50-25":[-21.77,-0.85],"6-101-52":[-18.23,-5.13],"6-101-53":[-25.73,-6.91],"5-50-26":[-25.73,-1.6],"6-101-54":[-26.47,-8.94],"6-101-55":[-27.05,1793.86],"5-50-27":[-27.05,1793.86],"6-101-56":[1569.31,2600.89],"6-101-57":[2518.51,3117.95],"5-50-28":[1558.66,3292.47],"6-101-58":[2973.88,3441.93],"6-101-59":[3288.11,3528.69],"5-50-29":[2973.88,3605.31],"6-101-60":[3280.25,3498.6],"6-101-61":[3169.63,3363.74],"5-50-30":[3169.63,3601.4],"6-101-62":[3069.83,3196.67],"6-101-63":[-29.54,3075.29],"5-50-31":[-29.54,3240.37],"6-102-0":[12.03,26.96],"6-102-1":[10.02,23.17],"6-102-2":[1.63,20.52],"6-102-3":[-0.71,3.6],"6-102-4":[-9.34,927.44],"6-102-5":[-21.44,1119.08],"6-102-6":[-21.06,734.39],"6-102-7":[132.34,887.81],"6-102-8":[166.72,947.89],"6-102-9":[178.95,743.5],"6-102-10":[-23.46,607.14],"6-102-11":[188.2,1969.85],"6-102-12":[317.03,2509.72],"6-102-13":[401.97,1987.12],"6-102-14":[522.51,2758.43],"6-102-15":[862.62,2221.84],"6-102-16":[705.9,1397.18],"6-102-17":[902.24,2304.17],"6-102-18":[874.91,1918.57],"6-102-19":[285.5,3718.19],"6-102-20":[36.4,3019.64],"6-102-21":[48.41,2199.58],"6-102-22":[81.86,2506.96],"6-102-23":[-4.49,1720.45],"6-102-24":[-110.94,1495.1],"6-102-25":[-45.58,1791.56],"6-102-26":[-43.69,2581.3],"6-102-27":[-24.82,2426.49],"6-102-28":[-33.45,1298.21],"6-102-29":[2.64,41.22],"6-102-30":[-11.18,1014.85],"6-102-31":[-30.38,1601.85],"6-102-32":[-4.18,1034.19],"6-102-33":[5.39,373.32],"6-102-34":[-27.49,3442.9],"6-102-35":[-16.46,32.46],"6-102-36":[-35.92,-0.17],"6-102-37":[-55.89,-9.77],"6-102-38":[-63.68,-20.55],"6-102-39":[-67.07,-25.59],"6-102-40":[-74.45,-31.39],"6-102-41":[-78.87,-34.22],"6-102-42":[-80.62,-38.59],"6-102-43":[-81.5,-37.5],"6-102-44":[-81.55,-36.82],"6-102-45":[-75.32,-31.36],"6-102-46":[-66.17,-25.52],"6-102-47":[-55.15,-19.95],"6-102-48":[-45.84,-14.58],"6-102-49":[-34.14,-11.03],"6-102-50":[-27.4,-8.6],"6-102-51":[-22.98,-8.32],"6-102-52":[-24.4,-8.55],"6-102-53":[-30.23,-9.28],"6-102-54":[-36.54,-12.51],"6-102-55":[-33.13,1569.32],"6-102-56":[1087.42,2518.52],"6-102-57":[2491.99,2973.89],"6-102-58":[2898.38,3288.12],"6-102-59":[3218.55,3458.77],"6-102-60":[3217.24,3410.38],"6-102-61":[3122.29,3280.26],"6-102-62":[3068.02,3169.64],"6-102-63":[-29.54,3074.68],"6-103-0":[11.81,26.94],"6-103-1":[10.02,22.97],"5-51-0":[10.02,26.96],"6-103-2":[1.76,20.03],"6-103-3":[-4.68,2.37],"5-51-1":[-4.68,20.52],"4-25-0":[-4.68,788.17],"6-103-4":[-7.07,732.27],"6-103-5":[-18.39,1038.7],"5-51-2":[-21.44,1119.08],"6-103-6":[-8.22,689.79],"6-103-7":[42.21,820.66],"5-51-3":[-21.06,887.81],"4-25-1":[-24.81,1119.08],"3-12-0":[-24.81,1618.98],"6-103-8":[142.66,871.07],"6-103-9":[190.73,581.35],"5-51-4":[142.66,947.89],"6-103-10":[-22.83,599.15],"6-103-11":[157.28,2526.11],"5-51-5":[-23.46,2526.11],"4-25-2":[-27.02,2526.11],"6-103-12":[409.57,2781.93],"6-103-13":[538.79,2000.38],"5-51-6":[317.03,2781.93],"6-103-14":[796.86,2483.46],"6-103-15":[786,1631.54],"5-51-7":[522.51,2758.43],"4-25-3":[253.49,3379.04],"3-12-1":[-32.17,4155.27],"6-103-16":[657.03,1440.56],"6-103-17":[814.48,2312.81],"5-51-8":[657.03,2312.81],"6-103-18":[461.77,2785.32],"6-103-19":[90.97,2608.85],"5-51-9":[90.97,3718.19],"4-25-4":[90.97,5176.87],"6-103-20":[-14.6,3075.61],"6-103-21":[-41.04,2284.9],"5-51-10":[-41.04,3075.61],"6-103-22":[6.19,2090.39],"6-103-23":[-33.9,1930.57],"5-51-11":[-33.9,2506.96],"4-25-5":[-41.04,7111.28],"3-12-2":[-109,7512.84],"6-103-24":[-68.73,1683.1],"6-103-25":[-50.32,1775.49],"5-51-12":[-110.94,1791.56],"6-103-26":[-15.99,22.84],"6-103-27":[-1.31,35.12],"5-51-13":[-43.69,2581.3],"4-25-6":[-110.94,3084.02],"6-103-28":[7.05,50.12],"6-103-29":[13.68,63.16],"5-51-14":[-33.45,1298.21],"6-103-30":[17.55,93.68],"6-103-31":[-60.48,1707.53],"5-51-15":[-60.48,1707.53],"4-25-7":[-117.38,2181.1],"3-12-3":[-135.7,3433.72],"6-103-32":[-5.21,1767.47],"6-103-33":[16.48,98.63],"5-51-16":[-5.21,1767.47],"6-103-34":[-32.43,3363.43],"6-103-35":[-8.1,36.62],"5-51-17":[-32.43,3442.9],"4-25-8":[-69.41,3783.24],"6-103-36":[-20.48,14.72],"6-103-37":[-39.42,-2.58],"5-51-18":[-55.89,14.72],"6-103-38":[-48.07,-12.98],"6-103-39":[-62.92,-19.51],"5-51-19":[-67.07,-12.98],"4-25-9":[-87.84,14.72],"3-12-4":[-129.46,3783.24],"6-103-40":[-67.31,-22.53],"6-103-41":[-76.31,-23.36],"5-51-20":[-78.87,-22.53],"6-103-42":[-79.55,-31.81],"6-103-43":[-79.53,-36.31],"5-51-21":[-81.5,-31.81],"4-25-10":[-85.52,-22.53],"6-103-44":[-81.64,-36.17],"6-103-45":[-78.43,-33.2],"5-51-22":[-81.64,-31.36],"6-103-46":[-69.24,-28.58],"6-103-47":[-59.94,-23.25],"5-51-23":[-69.24,-19.95],"4-25-11":[-82.43,-11.56],"3-12-5":[-93.34,15.19],"6-103-48":[-51.3,-17.94],"6-103-49":[-40.42,-14.13],"5-51-24":[-51.3,-11.03],"6-103-50":[-34.48,-12.04],"6-103-51":[-30.95,-11.71],"5-51-25":[-34.48,-8.32],"4-25-12":[-51.3,-0.85],"6-103-52":[-31.64,-11.83],"6-103-53":[-39.3,-12.7],"5-51-26":[-39.3,-8.55],"6-103-54":[-43.14,-15.55],"6-103-55":[-38.79,1241.72],"5-51-27":[-43.14,1569.32],"4-25-13":[-43.14,1793.86],"3-12-6":[-51.3,1793.86],"6-103-56":[767.03,2536.98],"6-103-57":[2496.32,2925.63],"5-51-28":[767.03,2973.89],"6-103-58":[2895.28,3218.56],"6-103-59":[3190.5,3373.24],"5-51-29":[2895.28,3458.77],"4-25-14":[767.03,3605.31],"6-103-60":[3144.58,3368.42],"6-103-61":[3056.95,3217.25],"5-51-30":[3056.95,3410.38],"6-103-62":[3059.08,3122.3],"6-103-63":[-29.54,3072.12],"5-51-31":[-29.54,3169.64],"4-25-15":[-29.54,3601.4],"3-12-7":[-29.54,3799.9],"6-104-0":[11.39,26.93],"6-104-1":[9.9,23.02],"6-104-2":[2.36,20.31],"6-104-3":[-6,3.25],"6-104-4":[-6,82.84],"6-104-5":[-17.31,495.96],"6-104-6":[-8.77,399.1],"6-104-7":[13.61,491.06],"6-104-8":[115.43,750.89],"6-104-9":[116.1,561.53],"6-104-10":[-21.96,1677.59],"6-104-11":[150.22,2530.45],"6-104-12":[479.34,2992.37],"6-104-13":[504.85,1634.35],"6-104-14":[575.67,1654.73],"6-104-15":[617.47,1754.54],"6-104-16":[880.33,1742.15],"6-104-17":[128.34,2838.35],"6-104-18":[-3.88,3047.6],"6-104-19":[5.77,1847.96],"6-104-20":[-14.28,1280.51],"6-104-21":[-154.55,1772.77],"6-104-22":[-30.87,2103.76],"6-104-23":[-95.56,1877.29],"6-104-24":[-70.08,953.51],"6-104-25":[-6.17,27.99],"6-104-26":[3.36,44.5],"6-104-27":[10.3,55.83],"6-104-28":[17.56,73.24],"6-104-29":[25.67,79.68],"6-104-30":[10.65,2422.76],"6-104-31":[29.67,2305.23],"6-104-32":[6.49,2345.05],"6-104-33":[23.54,1325.52],"6-104-34":[-20.93,3699.18],"6-104-35":[4.34,1042.4],"6-104-36":[-2.59,22.64],"6-104-37":[-24.91,7.42],"6-104-38":[-38.06,-5.3],"6-104-39":[-58.73,307.87],"6-104-40":[-68.83,370.75],"6-104-41":[-63.64,291.1],"6-104-42":[-75.39,303.79],"6-104-43":[-77.46,189.43],"6-104-44":[-81.92,202.32],"6-104-45":[-78.44,-34.62],"6-104-46":[-69.89,-30.52],"6-104-47":[-61.52,-25.77],"6-104-48":[-54.23,-20.78],"6-104-49":[-44.26,-17.39],"6-104-50":[-39.25,-15.56],"6-104-51":[-36.43,-15.24],"6-104-52":[-37.17,-15.45],"6-104-53":[-45.54,-15.94],"6-104-54":[-46.98,-19.12],"6-104-55":[-44.18,1300.89],"6-104-56":[486.82,2508.46],"6-104-57":[2399.34,2971.73],"6-104-58":[2925.62,3190.51],"6-104-59":[3187.99,3320.02],"6-104-60":[3081.53,3317.03],"6-104-61":[2940.53,3144.59],"6-104-62":[3024.22,3080.43],"6-104-63":[-29.54,3069.68],"6-105-0":[11.09,26.9],"6-105-1":[9.45,22.95],"5-52-0":[9.45,26.93],"6-105-2":[2.76,20.29],"6-105-3":[-5.31,3.8],"5-52-1":[-6,20.31],"6-105-4":[-5.65,-0.65],"6-105-5":[-15.13,237.7],"5-52-2":[-17.31,495.96],"6-105-6":[-2.03,277.08],"6-105-7":[17.85,385.91],"5-52-3":[-8.77,491.06],"6-105-8":[110.65,448.35],"6-105-9":[56.9,380.42],"5-52-4":[56.9,750.89],"6-105-10":[-16.13,1615.07],"6-105-11":[217.51,2962.65],"5-52-5":[-21.96,2962.65],"6-105-12":[454.52,2450.24],"6-105-13":[406.43,1532.32],"5-52-6":[406.43,2992.37],"6-105-14":[432.23,1232.86],"6-105-15":[549.84,1464.19],"5-52-7":[432.23,1754.54],"6-105-16":[730.4,2060.03],"6-105-17":[-64.08,2407.63],"5-52-8":[-64.08,2838.35],"6-105-18":[-63.81,805.59],"6-105-19":[-16.17,1519.8],"5-52-9":[-63.81,3047.6],"6-105-20":[-33.57,1755.88],"6-105-21":[-69.59,1735.53],"5-52-10":[-154.55,1772.77],"6-105-22":[4.65,2160.72],"6-105-23":[-47.98,1800.52],"5-52-11":[-95.56,2160.72],"6-105-24":[1.5,35.14],"6-105-25":[6.58,52.59],"5-52-12":[-70.08,953.51],"6-105-26":[13.99,67.42],"6-105-27":[22.24,82.34],"5-52-13":[3.36,82.34],"6-105-28":[30.08,2125.15],"6-105-29":[13.27,4108.68],"5-52-14":[13.27,4108.68],"6-105-30":[17.77,2687.61],"6-105-31":[15.58,2267.3],"5-52-15":[10.65,2687.61],"6-105-32":[-40.37,1916.44],"6-105-33":[6.53,1738.04],"5-52-16":[-40.37,2345.05],"6-105-34":[14.43,3755.88],"6-105-35":[-28.54,2972.87],"5-52-17":[-28.54,3755.88],"6-105-36":[3.7,35.22],"6-105-37":[-12.09,21.02],"5-52-18":[-24.91,35.22],"6-105-38":[-24.32,2.72],"6-105-39":[-35.25,1205.98],"5-52-19":[-58.73,1205.98],"6-105-40":[29.13,1196.06],"6-105-41":[167.75,715.25],"5-52-20":[-68.83,1196.06],"6-105-42":[-14.21,662],"6-105-43":[-99.76,566.35],"5-52-21":[-99.76,662],"6-105-44":[-78.53,969.34],"6-105-45":[-78.21,-34.74],"5-52-22":[-81.92,969.34],"6-105-46":[-69.94,-30.98],"6-105-47":[-61.91,-27.2],"5-52-23":[-69.94,-25.77],"6-105-48":[-54.84,-22.89],"6-105-49":[-47.73,-19.91],"5-52-24":[-54.84,-17.39],"6-105-50":[-42.44,-18.56],"6-105-51":[-41.44,-18.27],"5-52-25":[-42.44,-15.24],"6-105-52":[-43.24,-18.39],"6-105-53":[-52.02,-19.12],"5-52-26":[-52.02,-15.45],"6-105-54":[-54.04,-21.06],"6-105-55":[-53.1,680.38],"5-52-27":[-54.04,1300.89],"6-105-56":[536.8,2408.3],"6-105-57":[2392.94,3030.32],"5-52-28":[486.82,3030.32],"6-105-58":[2971.72,3188.16],"6-105-59":[3108.98,3235.61],"5-52-29":[2925.62,3320.02],"6-105-60":[3012.27,3197.29],"6-105-61":[2926.36,3081.54],"5-52-30":[2926.36,3317.03],"6-105-62":[2976.46,3060.18],"6-105-63":[-29.54,3063.52],"5-52-31":[-29.54,3080.43],"6-106-0":[10.64,26.89],"6-106-1":[8.53,22.53],"6-106-2":[2.49,19.46],"6-106-3":[-5.7,3.75],"6-106-4":[-6.56,0.13],"6-106-5":[-15.63,39.75],"6-106-6":[-15.63,346.26],"6-106-7":[14.94,411.14],"6-106-8":[91.15,443.53],"6-106-9":[32.4,383.49],"6-106-10":[-14.77,717.41],"6-106-11":[169.48,2548.26],"6-106-12":[315.35,2226.52],"6-106-13":[309.69,1486.61],"6-106-14":[471.52,1598.44],"6-106-15":[383.84,1743.81],"6-106-16":[236.1,1936.12],"6-106-17":[-59.35,1887.25],"6-106-18":[-120.47,785.42],"6-106-19":[-39.04,1101.77],"6-106-20":[-105.16,584.53],"6-106-21":[-78.25,1795.67],"6-106-22":[-35.2,1934.56],"6-106-23":[-36.2,3691.21],"6-106-24":[-4.52,1951.28],"6-106-25":[17.56,2501.63],"6-106-26":[-6.79,2962.21],"6-106-27":[26.54,2343.09],"6-106-28":[24.22,1769.36],"6-106-29":[30.27,536.54],"6-106-30":[32.1,935.33],"6-106-31":[37.62,2935.4],"6-106-32":[39.93,3132.81],"6-106-33":[-11.89,3490.23],"6-106-34":[19.97,1959.49],"6-106-35":[5.42,2405.04],"6-106-36":[10.5,52.7],"6-106-37":[1.57,42.5],"6-106-38":[-1.29,35.06],"6-106-39":[-31.05,1152.3],"6-106-40":[340.66,1241.42],"6-106-41":[303.97,737.39],"6-106-42":[254.05,673.8],"6-106-43":[-1.49,507.31],"6-106-44":[-78.18,1063.1],"6-106-45":[-78.01,-33.81],"6-106-46":[-69.49,-30.79],"6-106-47":[-61.11,-27.35],"6-106-48":[-54.99,-24.24],"6-106-49":[-48.72,-21.27],"6-106-50":[-45.04,-20.59],"6-106-51":[-45.09,-20.39],"6-106-52":[-47.54,-20.76],"6-106-53":[-57.28,-21.9],"6-106-54":[-61.21,-25.94],"6-106-55":[-59.83,845.24],"6-106-56":[519.85,2462.74],"6-106-57":[2401.53,3046.36],"6-106-58":[3030.31,3177.4],"6-106-59":[2994.82,3172.35],"6-106-60":[2931.11,3109.06],"6-106-61":[2879.88,3012.28],"6-106-62":[2930.22,3048.31],"6-106-63":[-29.59,3060.25],"6-107-0":[10.15,26.87],"6-107-1":[8.13,21.47],"5-53-0":[8.13,26.89],"6-107-2":[2.41,16.79],"6-107-3":[-5.35,4.39],"5-53-1":[-5.7,19.46],"4-26-0":[-6,26.93],"6-107-4":[-5.79,0.24],"6-107-5":[-13.91,13.68],"5-53-2":[-15.63,39.75],"6-107-6":[-13.91,479.01],"6-107-7":[3.58,427.06],"5-53-3":[-15.63,479.01],"4-26-1":[-17.31,495.96],"6-107-8":[3.9,342.41],"6-107-9":[56.97,417.22],"5-53-4":[3.9,443.53],"6-107-10":[-10.31,1200.19],"6-107-11":[142.11,2000.95],"5-53-5":[-14.77,2548.26],"4-26-2":[-21.96,2962.65],"6-107-12":[249.54,1644.22],"6-107-13":[260.32,1523.39],"5-53-6":[249.54,2226.52],"6-107-14":[165.96,1600.44],"6-107-15":[117.12,1541.69],"5-53-7":[117.12,1743.81],"4-26-3":[117.12,2992.37],"6-107-16":[42.3,816.14],"6-107-17":[-150.51,1174.47],"5-53-8":[-150.51,1936.12],"6-107-18":[-29.13,918.27],"6-107-19":[3.79,96.9],"5-53-9":[-120.47,1101.77],"4-26-4":[-150.51,3047.6],"6-107-20":[-52.47,121.19],"6-107-21":[-35.84,1218.7],"5-53-10":[-105.16,1795.67],"6-107-22":[0.69,450.06],"6-107-23":[-53.71,3956.01],"5-53-11":[-53.71,3956.01],"4-26-5":[-154.55,3956.01],"6-107-24":[11.3,1042.66],"6-107-25":[-10.65,2731.61],"5-53-12":[-10.65,2731.61],"6-107-26":[-0.27,2712.33],"6-107-27":[-54.19,2627.63],"5-53-13":[-54.19,2962.21],"4-26-6":[-70.08,2962.21],"6-107-28":[-134.19,2528.23],"6-107-29":[21.9,2469.27],"5-53-14":[-134.19,2528.23],"6-107-30":[58.38,136.19],"6-107-31":[24.07,2286.44],"5-53-15":[24.07,2935.4],"4-26-7":[-134.19,4108.68],"6-107-32":[0.84,2955.49],"6-107-33":[28.66,2702.65],"5-53-16":[-11.89,3490.23],"6-107-34":[15.94,1676.82],"6-107-35":[5.35,2244.61],"5-53-17":[5.35,2405.04],"4-26-8":[-40.37,3755.88],"6-107-36":[21.36,72.31],"6-107-37":[-21.63,280.29],"5-53-18":[-21.63,280.29],"6-107-38":[-20.07,284.71],"6-107-39":[-14.22,553.65],"5-53-19":[-31.05,1152.3],"4-26-9":[-58.73,1205.98],"6-107-40":[235.6,710.82],"6-107-41":[292.36,692.66],"5-53-20":[235.6,1241.42],"6-107-42":[104.9,561.35],"6-107-43":[-30.26,610.87],"5-53-21":[-30.26,673.8],"4-26-10":[-99.76,1241.42],"6-107-44":[-76.09,322.34],"6-107-45":[-73.83,-32.37],"5-53-22":[-78.18,1063.1],"6-107-46":[-67.41,-29.79],"6-107-47":[-60.78,-27.09],"5-53-23":[-69.49,-27.09],"4-26-11":[-81.92,1063.1],"6-107-48":[-54.95,-24.93],"6-107-49":[-49.55,-22.67],"5-53-24":[-54.99,-21.27],"6-107-50":[-47.09,-22.05],"6-107-51":[-49,-22.03],"5-53-25":[-49,-20.39],"4-26-12":[-54.99,-15.24],"6-107-52":[-52.14,-22.78],"6-107-53":[-62.69,-24.36],"5-53-26":[-62.69,-20.76],"6-107-54":[-67.4,-28.92],"6-107-55":[-64.36,1172.91],"5-53-27":[-67.4,1172.91],"4-26-13":[-67.4,1300.89],"6-107-56":[845.23,2590.73],"6-107-57":[2462.73,3089.34],"5-53-28":[519.85,3089.34],"6-107-58":[3046.35,3196.31],"6-107-59":[2917.96,3163.37],"5-53-29":[2917.96,3196.31],"4-26-14":[486.82,3320.02],"6-107-60":[2826.82,2994.83],"6-107-61":[2826.82,2932.32],"5-53-30":[2826.82,3109.06],"6-107-62":[2871.64,3035.5],"6-107-63":[-29.58,3058.07],"5-53-31":[-29.59,3060.25],"4-26-15":[-29.59,3317.03],"6-108-0":[10.04,26.86],"6-108-1":[7.6,20.19],"6-108-2":[2.41,15.36],"6-108-3":[-5.02,4.8],"6-108-4":[-5,0.2],"6-108-5":[-10.53,23.3],"6-108-6":[-6.11,487.14],"6-108-7":[-1.85,1127.4],"6-108-8":[-14.61,1401.18],"6-108-9":[9.01,816.9],"6-108-10":[0.99,804.47],"6-108-11":[261.28,1845.92],"6-108-12":[224.24,1706.86],"6-108-13":[169.56,1269.14],"6-108-14":[159.24,878.23],"6-108-15":[100.27,339.07],"6-108-16":[60.86,1264.57],"6-108-17":[-268.7,1987.41],"6-108-18":[-101.36,1234.98],"6-108-19":[-7.79,581.2],"6-108-20":[16.92,1941.55],"6-108-21":[18.57,59.8],"6-108-22":[22.07,60.97],"6-108-23":[8,553.56],"6-108-24":[22.25,69.87],"6-108-25":[31.05,86.5],"6-108-26":[38.77,279.06],"6-108-27":[15.22,1607.31],"6-108-28":[-24.5,2547.07],"6-108-29":[21.53,3011.04],"6-108-30":[36.96,1410.92],"6-108-31":[-6.95,2053.63],"6-108-32":[33.67,1465.3],"6-108-33":[35.26,2752.59],"6-108-34":[-4.86,1869.57],"6-108-35":[7.81,2985.2],"6-108-36":[18.74,169.89],"6-108-37":[-47.89,844.91],"6-108-38":[-13.38,967.01],"6-108-39":[127.51,455.4],"6-108-40":[265.28,557.1],"6-108-41":[312.18,555.5],"6-108-42":[124.91,497.24],"6-108-43":[-59.03,276.5],"6-108-44":[-71.44,115.27],"6-108-45":[-69.83,-30.39],"6-108-46":[-64.74,-28.34],"6-108-47":[-58.68,-26.12],"6-108-48":[-54.09,-24.3],"6-108-49":[-49.45,-23.51],"6-108-50":[-48.53,-23.46],"6-108-51":[-51.56,-23.6],"6-108-52":[-55.45,-24.6],"6-108-53":[-65.39,-26.41],"6-108-54":[-71.76,-31.34],"6-108-55":[-65.99,1359.83],"6-108-56":[1164.44,2630.58],"6-108-57":[2590.72,3151.32],"6-108-58":[3089.33,3203.64],"6-108-59":[2882.88,3159.64],"6-108-60":[2697.34,2917.97],"6-108-61":[2697.34,2871.65],"6-108-62":[2844.51,3023.22],"6-108-63":[-29.54,3057.86],"6-109-0":[10.07,26.84],"6-109-1":[7.6,19.56],"5-54-0":[7.6,26.86],"6-109-2":[1.94,15.3],"6-109-3":[-4.59,4.34],"5-54-1":[-5.02,15.36],"6-109-4":[-4.59,1.33],"6-109-5":[-11.15,-0.27],"5-54-2":[-11.15,23.3],"6-109-6":[-13.23,1068.55],"6-109-7":[49.78,2201.02],"5-54-3":[-13.23,2201.02],"6-109-8":[105.58,2117.99],"6-109-9":[2.06,1848.18],"5-54-4":[-14.61,2117.99],"6-109-10":[2.81,676.85],"6-109-11":[199.21,2240.33],"5-54-5":[0.99,2240.33],"6-109-12":[203.07,2048.94],"6-109-13":[137.94,905.39],"5-54-6":[137.94,2048.94],"6-109-14":[100.62,1057.62],"6-109-15":[12.1,1445.43],"5-54-7":[12.1,1445.43],"6-109-16":[169.25,1718.97],"6-109-17":[-9.27,2763.77],"5-54-8":[-268.7,2763.77],"6-109-18":[-16.31,1727.04],"6-109-19":[-43.56,1925.58],"5-54-9":[-101.36,1925.58],"6-109-20":[-39.24,1453.61],"6-109-21":[16.04,722.76],"5-54-10":[-39.24,1941.55],"6-109-22":[13.17,672.79],"6-109-23":[24.41,69.74],"5-54-11":[8,672.79],"6-109-24":[29.92,74.99],"6-109-25":[35.9,87.33],"5-54-12":[22.25,87.33],"6-109-26":[42.78,100.04],"6-109-27":[47.35,114.52],"5-54-13":[15.22,1607.31],"6-109-28":[47.35,127.22],"6-109-29":[45.25,289.5],"5-54-14":[-24.5,3011.04],"6-109-30":[39.86,726.39],"6-109-31":[-77.81,1820.67],"5-54-15":[-77.81,2053.63],"6-109-32":[-16.98,2152.95],"6-109-33":[17.04,2555.71],"5-54-16":[-16.98,2752.59],"6-109-34":[33.44,1415.76],"6-109-35":[30.37,2395.35],"5-54-17":[-4.86,2985.2],"6-109-36":[4.41,198.32],"6-109-37":[-3.57,755.14],"5-54-18":[-47.89,844.91],"6-109-38":[123.22,1012.77],"6-109-39":[240.33,556.98],"5-54-19":[-13.38,1012.77],"6-109-40":[305.48,1049.45],"6-109-41":[288.49,1051.49],"5-54-20":[265.28,1051.49],"6-109-42":[117.95,457.28],"6-109-43":[-68.16,175.13],"5-54-21":[-68.16,497.24],"6-109-44":[-66.21,-23.79],"6-109-45":[-63.97,-28.21],"5-54-22":[-71.44,115.27],"6-109-46":[-60.3,-26.68],"6-109-47":[-55.65,-25.02],"5-54-23":[-64.74,-25.02],"6-109-48":[-52.05,-23.14],"6-109-49":[-47.99,-22.51],"5-54-24":[-54.09,-22.51],"6-109-50":[-47.82,-22.39],"6-109-51":[-52.39,-23.56],"5-54-25":[-52.39,-22.39],"6-109-52":[-58.59,-25.84],"6-109-53":[-69.44,-28.36],"5-54-26":[-69.44,-24.6],"6-109-54":[-76.93,-32.97],"6-109-55":[-75.43,1185.13],"5-54-27":[-76.93,1359.83],"6-109-56":[945.1,2622.61],"6-109-57":[2578.38,3171.09],"5-54-28":[945.1,3171.09],"6-109-58":[3008.62,3189.23],"6-109-59":[2819.28,3116.04],"5-54-29":[2819.28,3203.64],"6-109-60":[2623.1,2882.89],"6-109-61":[2629.61,2844.52],"5-54-30":[2623.1,2917.97],"6-109-62":[2805.68,3011.97],"6-109-63":[-29.54,3059.53],"5-54-31":[-29.54,3059.53],"6-110-0":[10.54,26.83],"6-110-1":[6.87,20.99],"6-110-2":[1.92,15.13],"6-110-3":[-4.55,2.92],"6-110-4":[-4.02,4.86],"6-110-5":[-10.86,-0.21],"6-110-6":[-13.9,856.13],"6-110-7":[47.14,1828.99],"6-110-8":[120.23,1922.66],"6-110-9":[31.37,2002.65],"6-110-10":[5.26,531.48],"6-110-11":[163.23,2290.58],"6-110-12":[207.26,2374.21],"6-110-13":[182.49,1509.02],"6-110-14":[66.2,1216.44],"6-110-15":[10.1,1386.01],"6-110-16":[4.32,1509.87],"6-110-17":[10.26,1774.19],"6-110-18":[-48.7,999.37],"6-110-19":[-18.69,1373.1],"6-110-20":[-17.54,1801.42],"6-110-21":[-19.03,1948.19],"6-110-22":[24,290.95],"6-110-23":[28.82,74.19],"6-110-24":[34.84,77.85],"6-110-25":[38.27,88.57],"6-110-26":[43.53,99.45],"6-110-27":[49.52,113.8],"6-110-28":[55.44,127.03],"6-110-29":[62.11,137.95],"6-110-30":[67.63,149.08],"6-110-31":[62.22,363.49],"6-110-32":[-56.46,1519.04],"6-110-33":[-10.59,3088.67],"6-110-34":[26.67,862.43],"6-110-35":[40.62,116.33],"6-110-36":[-0.62,359.52],"6-110-37":[-20.35,453.11],"6-110-38":[138.03,558.61],"6-110-39":[237.65,915.42],"6-110-40":[389.72,1429.68],"6-110-41":[289.78,1437.62],"6-110-42":[27.63,482.51],"6-110-43":[-47.6,188.18],"6-110-44":[-60.49,-16.06],"6-110-45":[-58.01,-25.18],"6-110-46":[-56.42,-23.9],"6-110-47":[-52.82,-22.85],"6-110-48":[-49.85,-21.48],"6-110-49":[-46.08,-21.12],"6-110-50":[-46.52,-21.31],"6-110-51":[-52.46,-23.05],"6-110-52":[-59.62,-26.04],"6-110-53":[-71.74,-29.78],"6-110-54":[-80.19,-34.71],"6-110-55":[-74.89,1382.72],"6-110-56":[948.42,2601.74],"6-110-57":[2573.54,3136.57],"6-110-58":[2893.92,3137.89],"6-110-59":[2675.26,3008.63],"6-110-60":[2578.01,2819.29],"6-110-61":[2594.09,2805.69],"6-110-62":[2759.42,2999.73],"6-110-63":[-29.54,3062.38],"6-111-0":[11.53,28.02],"6-111-1":[6.59,23.68],"5-55-0":[6.59,28.02],"6-111-2":[2.12,13.54],"6-111-3":[-4.24,2.58],"5-55-1":[-4.55,15.13],"4-27-0":[-5.02,28.02],"6-111-4":[-1.34,4.98],"6-111-5":[-6.9,-0.37],"5-55-2":[-10.86,4.98],"6-111-6":[-9.76,462.09],"6-111-7":[19.54,1221.31],"5-55-3":[-13.9,1828.99],"4-27-1":[-13.9,2201.02],"3-13-0":[-17.31,2201.02],"6-111-8":[105.45,1652.58],"6-111-9":[35.47,2070.51],"5-55-4":[31.37,2070.51],"6-111-10":[7.84,825.86],"6-111-11":[208.63,1856.83],"5-55-5":[5.26,2290.58],"4-27-2":[-14.61,2290.58],"6-111-12":[30.93,2358.55],"6-111-13":[242.51,2286.52],"5-55-6":[30.93,2374.21],"6-111-14":[42.21,2263.84],"6-111-15":[-27.41,1447.73],"5-55-7":[-27.41,2263.84],"4-27-3":[-27.41,2374.21],"3-13-1":[-27.41,2992.37],"2-6-0":[-32.17,4155.27],"6-111-16":[-79.7,1878.55],"6-111-17":[23.24,62.05],"5-55-8":[-79.7,1878.55],"6-111-18":[25.69,66.77],"6-111-19":[-16.84,1986.11],"5-55-9":[-48.7,1986.11],"4-27-4":[-268.7,2763.77],"6-111-20":[-0.37,1882.11],"6-111-21":[27.45,74.09],"5-55-10":[-19.03,1948.19],"6-111-22":[33.04,75.05],"6-111-23":[33.91,80.5],"5-55-11":[24,290.95],"4-27-5":[-39.24,1948.19],"3-13-2":[-268.7,3956.01],"6-111-24":[37.06,83.13],"6-111-25":[39.61,93.95],"5-55-12":[34.84,93.95],"6-111-26":[44.33,102.28],"6-111-27":[49.63,114.34],"5-55-13":[43.53,114.34],"4-27-6":[15.22,1607.31],"6-111-28":[55.18,125.8],"6-111-29":[59.47,301.73],"5-55-14":[55.18,301.73],"6-111-30":[66.39,148.84],"6-111-31":[69.38,149.75],"5-55-15":[62.22,363.49],"4-27-7":[-77.81,3011.04],"3-13-3":[-134.19,4108.68],"2-6-1":[-268.7,7512.84],"6-111-32":[15.14,3028.24],"6-111-33":[-92.74,2016.59],"5-55-16":[-92.74,3088.67],"6-111-34":[38.32,670.15],"6-111-35":[39.61,131.25],"5-55-17":[26.67,862.43],"4-27-8":[-92.74,3088.67],"6-111-36":[-50.67,610.22],"6-111-37":[37.9,457.36],"5-55-18":[-50.67,610.22],"6-111-38":[212.43,466.21],"6-111-39":[278.13,1152.22],"5-55-19":[138.03,1152.22],"4-27-9":[-50.67,1152.22],"3-13-4":[-92.74,3755.88],"6-111-40":[234.53,1528.53],"6-111-41":[101.81,1002.66],"5-55-20":[101.81,1528.53],"6-111-42":[72.04,400.15],"6-111-43":[-50.51,399.93],"5-55-21":[-50.51,482.51],"4-27-10":[-68.16,1528.53],"6-111-44":[-51.73,212.32],"6-111-45":[-50.87,-20.77],"5-55-22":[-60.49,212.32],"6-111-46":[-49.69,-20.97],"6-111-47":[-47.09,-20.45],"5-55-23":[-56.42,-20.45],"4-27-11":[-71.44,212.32],"3-13-5":[-99.76,1528.53],"2-6-2":[-129.46,3783.24],"6-111-48":[-45.23,-19.5],"6-111-49":[-42.63,-19.5],"5-55-24":[-49.85,-19.5],"6-111-50":[-45.55,-20.17],"6-111-51":[-51.95,-22.67],"5-55-25":[-52.46,-20.17],"4-27-12":[-54.09,-19.5],"6-111-52":[-60.12,-25.88],"6-111-53":[-74.09,-30.6],"5-55-26":[-74.09,-25.88],"6-111-54":[-82.21,-35.97],"6-111-55":[-78.66,1711.28],"5-55-27":[-82.21,1711.28],"4-27-13":[-82.21,1711.28],"3-13-6":[-82.21,1711.28],"6-111-56":[1382.71,2605.54],"6-111-57":[2513.78,2976.73],"5-55-28":[948.42,3136.57],"6-111-58":[2794.54,2992.85],"6-111-59":[2564.77,2893.93],"5-55-29":[2564.77,3137.89],"4-27-14":[945.1,3203.64],"6-111-60":[2500.69,2687.3],"6-111-61":[2526.81,2763.19],"5-55-30":[2500.69,2819.29],"6-111-62":[2709.28,2987.5],"6-111-63":[-29.54,3065.26],"5-55-31":[-29.54,3065.26],"4-27-15":[-29.54,3065.26],"3-13-7":[-29.59,3320.02],"2-6-3":[-82.21,3799.9],"6-112-0":[12.7,28.89],"6-112-1":[6.42,25.49],"6-112-2":[2.23,12.87],"6-112-3":[-4.13,4.1],"6-112-4":[-0.69,55.51],"6-112-5":[-5.99,225.27],"6-112-6":[-8.16,496.12],"6-112-7":[13.72,1767.28],"6-112-8":[107.91,1681.65],"6-112-9":[91.8,1766.67],"6-112-10":[12.16,1755.07],"6-112-11":[24.97,1915.02],"6-112-12":[3.84,2099.48],"6-112-13":[23.28,2155.76],"6-112-14":[6.54,1965.97],"6-112-15":[15.76,2024.26],"6-112-16":[12.72,1410.98],"6-112-17":[25.6,66.52],"6-112-18":[-24.3,3037.73],"6-112-19":[-29.59,3225.44],"6-112-20":[16.39,1148.96],"6-112-21":[35.65,80.83],"6-112-22":[36.81,83.26],"6-112-23":[36.79,87.96],"6-112-24":[39.76,92.17],"6-112-25":[41.96,97.91],"6-112-26":[46.97,104.85],"6-112-27":[51.71,114.88],"6-112-28":[56.92,128.34],"6-112-29":[57.72,134.69],"6-112-30":[65.91,141.57],"6-112-31":[67.63,143.17],"6-112-32":[6.63,1532.53],"6-112-33":[44.6,4900.75],"6-112-34":[45.11,141.56],"6-112-35":[56.19,138.86],"6-112-36":[28.28,417.68],"6-112-37":[-0.95,370.77],"6-112-38":[108.64,478.74],"6-112-39":[201.08,643.8],"6-112-40":[73.33,1103.75],"6-112-41":[-45.74,301.67],"6-112-42":[-38.95,426.73],"6-112-43":[-35.05,487.73],"6-112-44":[-41.29,417.28],"6-112-45":[-43.35,-6.75],"6-112-46":[-43.03,-16.66],"6-112-47":[-41.89,-17.81],"6-112-48":[-40.82,-17.53],"6-112-49":[-40.23,-17.58],"6-112-50":[-44.52,-18.84],"6-112-51":[-52.08,-21.66],"6-112-52":[-60.31,-25.8],"6-112-53":[-75.15,-30.77],"6-112-54":[-83.59,-37.04],"6-112-55":[-84.73,1701.91],"6-112-56":[1598.15,2525.84],"6-112-57":[2453.63,2840.96],"6-112-58":[2629.4,2867.37],"6-112-59":[2498.34,2794.55],"6-112-60":[2390.04,2564.78],"6-112-61":[2390.04,2709.29],"6-112-62":[2666.35,2977.76],"6-112-63":[-29.54,3068.14],"6-113-0":[13.21,29.53],"6-113-1":[6.55,26.2],"5-56-0":[6.42,29.53],"6-113-2":[2.65,15.62],"6-113-3":[-3.24,6.86],"5-56-1":[-4.13,15.62],"6-113-4":[0.26,195.82],"6-113-5":[-4.34,347.8],"5-56-2":[-5.99,347.8],"6-113-6":[-5.98,370.97],"6-113-7":[44.86,2177.91],"5-56-3":[-8.16,2177.91],"6-113-8":[234.82,2476.55],"6-113-9":[401.32,2650.27],"5-56-4":[91.8,2650.27],"6-113-10":[23.8,2153.15],"6-113-11":[-0.3,1760.98],"5-56-5":[-0.3,2153.15],"6-113-12":[-14.43,1103.01],"6-113-13":[1.7,1633.71],"5-56-6":[-14.43,2155.76],"6-113-14":[6.02,2108.2],"6-113-15":[5.38,1700.99],"5-56-7":[5.38,2108.2],"6-113-16":[25.39,1549.63],"6-113-17":[-8.62,1641.19],"5-56-8":[-8.62,1641.19],"6-113-18":[-22.8,2604.93],"6-113-19":[-48.47,3800.26],"5-56-9":[-48.47,3800.26],"6-113-20":[33.11,892.01],"6-113-21":[38.38,417.51],"5-56-10":[16.39,1148.96],"6-113-22":[40.6,91.39],"6-113-23":[42.43,95.06],"5-56-11":[36.79,95.06],"6-113-24":[44.58,97.8],"6-113-25":[46.59,101.92],"5-56-12":[39.76,101.92],"6-113-26":[49.34,105.97],"6-113-27":[48.14,115.83],"5-56-13":[46.97,115.83],"6-113-28":[47.63,237.05],"6-113-29":[57.2,131.84],"5-56-14":[47.63,237.05],"6-113-30":[64.56,137.12],"6-113-31":[68.18,144.76],"5-56-15":[64.56,144.76],"6-113-32":[42.04,2301.21],"6-113-33":[54.12,5227.39],"5-56-16":[6.63,5227.39],"6-113-34":[38.04,203.53],"6-113-35":[58.85,141.09],"5-56-17":[38.04,203.53],"6-113-36":[54.67,131.12],"6-113-37":[-15.46,223.46],"5-56-18":[-15.46,417.68],"6-113-38":[7.1,475.97],"6-113-39":[134.5,657.09],"5-56-19":[7.1,657.09],"6-113-40":[48.52,421.94],"6-113-41":[-34.6,242.02],"5-56-20":[-45.74,1103.75],"6-113-42":[-55.11,1079.1],"6-113-43":[-15.57,1164.85],"5-56-21":[-55.11,1164.85],"6-113-44":[-38.17,716.99],"6-113-45":[-33.33,267.94],"5-56-22":[-43.35,716.99],"6-113-46":[-34.86,-12.78],"6-113-47":[-35.43,-15.73],"5-56-23":[-43.03,-12.78],"6-113-48":[-35.41,-16.8],"6-113-49":[-37.65,-17.05],"5-56-24":[-40.82,-16.8],"6-113-50":[-42.35,-18.33],"6-113-51":[-51.23,-20.46],"5-56-25":[-52.08,-18.33],"6-113-52":[-59.96,-25.01],"6-113-53":[-76.66,-30.45],"5-56-26":[-76.66,-25.01],"6-113-54":[-85.09,-37.69],"6-113-55":[-88.87,1616.15],"5-56-27":[-88.87,1701.91],"6-113-56":[1284.64,2522.11],"6-113-57":[2297.97,2629.41],"5-56-28":[1284.64,2840.96],"6-113-58":[2577.31,2726.71],"6-113-59":[2407.17,2693.87],"5-56-29":[2407.17,2867.37],"6-113-60":[2235.7,2498.35],"6-113-61":[2303.19,2666.36],"5-56-30":[2235.7,2709.29],"6-113-62":[2636.28,2970.03],"6-113-63":[-29.54,3070.04],"5-56-31":[-29.54,3070.04],"6-114-0":[13.2,29.62],"6-114-1":[8.14,26.14],"6-114-2":[3.61,17.19],"6-114-3":[0.69,7.07],"6-114-4":[0.49,25.1],"6-114-5":[-2,264.4],"6-114-6":[-2.41,486.19],"6-114-7":[19.72,1696.85],"6-114-8":[77.22,2512.73],"6-114-9":[497.57,2822.43],"6-114-10":[9.71,2513.43],"6-114-11":[10.97,1227.42],"6-114-12":[11.66,627.07],"6-114-13":[3.09,1624.43],"6-114-14":[7.46,1440.11],"6-114-15":[-16.78,1737.87],"6-114-16":[-15.87,2312.97],"6-114-17":[-84.13,2061.69],"6-114-18":[-17.62,1666.14],"6-114-19":[-16.18,124.82],"6-114-20":[11.53,77.38],"6-114-21":[17.61,96.43],"6-114-22":[9.96,768.11],"6-114-23":[28.86,604.84],"6-114-24":[41.43,100.45],"6-114-25":[48.83,105.19],"6-114-26":[50.73,109.47],"6-114-27":[34.45,109.76],"6-114-28":[34.45,123],"6-114-29":[59.18,129.68],"6-114-30":[63.45,136.26],"6-114-31":[66.37,144.7],"6-114-32":[64.3,1467.8],"6-114-33":[33.02,4032.23],"6-114-34":[24.72,3694.06],"6-114-35":[31.23,439.48],"6-114-36":[-3.39,882.4],"6-114-37":[7.79,520.58],"6-114-38":[-0.72,739.41],"6-114-39":[40.06,660.81],"6-114-40":[66.17,435.75],"6-114-41":[40.88,374.96],"6-114-42":[42.73,458.66],"6-114-43":[12.46,485.33],"6-114-44":[-17.44,336.86],"6-114-45":[-41.04,1170.09],"6-114-46":[-31.63,-2.93],"6-114-47":[-33.62,-14.07],"6-114-48":[-34.78,-15.38],"6-114-49":[-37.5,-16.54],"6-114-50":[-40.37,-17.47],"6-114-51":[-49.64,-19.17],"6-114-52":[-59.34,-23.21],"6-114-53":[-75.38,-29.25],"6-114-54":[-88.58,-36.54],"6-114-55":[-89.56,1284.65],"6-114-56":[522.14,2298.07],"6-114-57":[2001.43,2577.32],"6-114-58":[2428.59,2638.08],"6-114-59":[2355.27,2612.99],"6-114-60":[2205.2,2407.18],"6-114-61":[2221.1,2636.29],"6-114-62":[2602.74,2964.79],"6-114-63":[-29.54,3070.97],"6-115-0":[12.07,29.55],"6-115-1":[8.62,24.47],"5-57-0":[8.14,29.62],"6-115-2":[2.39,17.3],"6-115-3":[1.82,6.24],"5-57-1":[0.69,17.3],"4-28-0":[-4.13,29.62],"6-115-4":[0.8,5.87],"6-115-5":[-0.82,73.43],"5-57-2":[-2,264.4],"6-115-6":[-0.82,115.08],"6-115-7":[1.77,672.76],"5-57-3":[-2.41,1696.85],"4-28-1":[-8.16,2177.91],"6-115-8":[49.51,2830.65],"6-115-9":[503.96,2291.47],"5-57-4":[49.51,2830.65],"6-115-10":[9.12,2265.18],"6-115-11":[12.44,34.94],"5-57-5":[9.12,2513.43],"4-28-2":[-0.3,2830.65],"6-115-12":[15.26,35.92],"6-115-13":[10.83,820.94],"5-57-6":[3.09,1624.43],"6-115-14":[14.24,1183.3],"6-115-15":[9.98,553.47],"5-57-7":[-16.78,1737.87],"4-28-3":[-16.78,2155.76],"6-115-16":[9.03,1740.56],"6-115-17":[8.77,43.6],"5-57-8":[-84.13,2312.97],"6-115-18":[14.8,45.02],"6-115-19":[16.45,54.08],"5-57-9":[-17.62,1666.14],"4-28-4":[-84.13,3800.26],"6-115-20":[24.53,58.31],"6-115-21":[25.92,65.71],"5-57-10":[11.53,96.43],"6-115-22":[27.14,79.03],"6-115-23":[25.23,82.85],"5-57-11":[9.96,768.11],"4-28-5":[9.96,1148.96],"6-115-24":[19.75,904.42],"6-115-25":[34.27,1005.01],"5-57-12":[19.75,1005.01],"6-115-26":[39.75,844.84],"6-115-27":[31.11,457.05],"5-57-13":[31.11,844.84],"4-28-6":[19.75,1005.01],"6-115-28":[39.7,118.49],"6-115-29":[57.52,126.91],"5-57-14":[34.45,129.68],"6-115-30":[61.37,131.2],"6-115-31":[64.24,143.3],"5-57-15":[61.37,144.7],"4-28-7":[34.45,237.05],"6-115-32":[67.54,296.18],"6-115-33":[36.6,3477.99],"5-57-16":[33.02,4032.23],"6-115-34":[32.51,4553.66],"6-115-35":[36.3,265.77],"5-57-17":[24.72,4553.66],"4-28-8":[6.63,5227.39],"6-115-36":[59.75,573.48],"6-115-37":[29.75,1449.42],"5-57-18":[-3.39,1449.42],"6-115-38":[28.52,1670.14],"6-115-39":[244.17,1064.78],"5-57-19":[-0.72,1670.14],"4-28-9":[-15.46,1670.14],"6-115-40":[176.38,727.4],"6-115-41":[119.67,517.69],"5-57-20":[40.88,727.4],"6-115-42":[67.33,518.96],"6-115-43":[59.37,560.11],"5-57-21":[12.46,560.11],"4-28-10":[-55.11,1164.85],"6-115-44":[34.38,521.33],"6-115-45":[-56.77,1522.55],"5-57-22":[-56.77,1522.55],"6-115-46":[-46.81,1610.49],"6-115-47":[-195.28,1424.55],"5-57-23":[-195.28,1610.49],"4-28-11":[-195.28,1610.49],"6-115-48":[-32.35,-13.51],"6-115-49":[-36.1,-15.23],"5-57-24":[-37.5,-13.51],"6-115-50":[-39.15,-17.16],"6-115-51":[-46.49,-18.91],"5-57-25":[-49.64,-17.16],"4-28-12":[-52.08,-13.51],"6-115-52":[-56.64,-22.55],"6-115-53":[-73,-28.38],"5-57-26":[-75.38,-22.55],"6-115-54":[-88.66,-36.23],"6-115-55":[-97.84,759.79],"5-57-27":[-97.84,1284.65],"4-28-13":[-97.84,1701.91],"6-115-56":[-97.84,2001.44],"6-115-57":[1792.1,2428.6],"5-57-28":[-97.84,2577.32],"6-115-58":[2305.92,2560],"6-115-59":[2344.15,2552.69],"5-57-29":[2305.92,2638.08],"4-28-14":[-97.84,2867.37],"6-115-60":[2100.93,2355.28],"6-115-61":[2117.14,2602.75],"5-57-30":[2100.93,2636.29],"6-115-62":[2569.81,2959.59],"6-115-63":[-29.54,3076],"5-57-31":[-29.54,3076],"4-28-15":[-29.54,3076],"6-116-0":[10.66,29.12],"6-116-1":[7.22,22.06],"6-116-2":[2.25,16.65],"6-116-3":[1.8,6.88],"6-116-4":[1.2,361.97],"6-116-5":[-0.57,89.29],"6-116-6":[-0.78,341.42],"6-116-7":[1.77,925.79],"6-116-8":[39.12,2260.37],"6-116-9":[440.9,2390.56],"6-116-10":[-3.36,1856.79],"6-116-11":[13.8,37.51],"6-116-12":[16.01,37.9],"6-116-13":[16.01,37.4],"6-116-14":[18.59,40.87],"6-116-15":[10.25,1590.34],"6-116-16":[-1.61,1786.57],"6-116-17":[8.34,43.6],"6-116-18":[15.48,44.53],"6-116-19":[15.73,47.62],"6-116-20":[16.81,51.48],"6-116-21":[19.43,63.16],"6-116-22":[23.95,70.37],"6-116-23":[29.01,74.37],"6-116-24":[26.61,82.69],"6-116-25":[30.18,93.33],"6-116-26":[30.98,99.51],"6-116-27":[30.96,99.08],"6-116-28":[45.57,117.31],"6-116-29":[55.18,122.74],"6-116-30":[58.42,127.66],"6-116-31":[60.62,135.09],"6-116-32":[62.05,783.66],"6-116-33":[65.85,1907.63],"6-116-34":[31.24,4188.78],"6-116-35":[53.93,4099.51],"6-116-36":[62.28,139.92],"6-116-37":[59.3,129.47],"6-116-38":[36.96,1285.71],"6-116-39":[26.9,1325.23],"6-116-40":[126.78,1296.76],"6-116-41":[189.96,988.43],"6-116-42":[97.05,430.67],"6-116-43":[131.13,1421.13],"6-116-44":[85.41,2241.03],"6-116-45":[-70.56,1999.21],"6-116-46":[-19.93,1568.36],"6-116-47":[-160.77,1420.87],"6-116-48":[-29.69,-12.33],"6-116-49":[-36.45,-13.09],"6-116-50":[-40.73,-17.24],"6-116-51":[-47.3,-19.53],"6-116-52":[-54.93,-22.38],"6-116-53":[-72.48,-27.53],"6-116-54":[-87.53,-35.51],"6-116-55":[-101.33,-44.71],"6-116-56":[-102.54,1792.11],"6-116-57":[1600.89,2338.91],"6-116-58":[2295.63,2481.09],"6-116-59":[2291.17,2481.96],"6-116-60":[1899.8,2344.16],"6-116-61":[1943.7,2569.82],"6-116-62":[2529.66,2955.42],"6-116-63":[-29.54,3081.95],"6-117-0":[9.48,28.14],"6-117-1":[6.76,18.88],"5-58-0":[6.76,29.12],"6-117-2":[2.28,14.99],"6-117-3":[1.62,7.39],"5-58-1":[1.62,16.65],"6-117-4":[1.48,155.99],"6-117-5":[0.48,58.1],"5-58-2":[-0.57,361.97],"6-117-6":[0.39,341.42],"6-117-7":[3.51,692.04],"5-58-3":[-0.78,925.79],"6-117-8":[22.34,2175.65],"6-117-9":[114.09,2203.44],"5-58-4":[22.34,2390.56],"6-117-10":[5.55,2094.72],"6-117-11":[-0.47,1541.51],"5-58-5":[-3.36,2094.72],"6-117-12":[17.95,39.7],"6-117-13":[17.96,40.77],"5-58-6":[16.01,40.77],"6-117-14":[18.87,43.2],"6-117-15":[-7.87,1533.21],"5-58-7":[-7.87,1590.34],"6-117-16":[-7.88,45.41],"6-117-17":[12.99,36.86],"5-58-8":[-7.88,1786.57],"6-117-18":[10.18,34.61],"6-117-19":[10.18,33.01],"5-58-9":[10.18,47.62],"6-117-20":[12.59,37.84],"6-117-21":[14.56,46.1],"5-58-10":[12.59,63.16],"6-117-22":[19.38,56.88],"6-117-23":[25.61,72.87],"5-58-11":[19.38,74.37],"6-117-24":[31.14,82.56],"6-117-25":[36.51,88.5],"5-58-12":[26.61,93.33],"6-117-26":[38.76,89.46],"6-117-27":[39.86,92.44],"5-58-13":[30.96,99.51],"6-117-28":[41.99,110.83],"6-117-29":[35.45,503.73],"5-58-14":[35.45,503.73],"6-117-30":[53.07,118.8],"6-117-31":[54.68,129.03],"5-58-15":[53.07,135.09],"6-117-32":[53.24,964.38],"6-117-33":[57.1,2427.64],"5-58-16":[53.24,2427.64],"6-117-34":[58.87,2022.98],"6-117-35":[-78.97,3071.93],"5-58-17":[-78.97,4188.78],"6-117-36":[62.08,143.56],"6-117-37":[61.21,128.82],"5-58-18":[59.3,143.56],"6-117-38":[57.56,126.23],"6-117-39":[30.2,869.8],"5-58-19":[26.9,1325.23],"6-117-40":[0.01,1008.41],"6-117-41":[75.28,1199.98],"5-58-20":[0.01,1296.76],"6-117-42":[145.68,1550.43],"6-117-43":[-25.52,1629.02],"5-58-21":[-25.52,1629.02],"6-117-44":[-80.43,1622.97],"6-117-45":[-23.03,1262.52],"5-58-22":[-80.43,2241.03],"6-117-46":[-14.62,1.67],"6-117-47":[-24.71,-5.89],"5-58-23":[-160.77,1568.36],"6-117-48":[-29.37,-11.35],"6-117-49":[-35.65,-13.2],"5-58-24":[-36.45,-11.35],"6-117-50":[-40.45,-17.24],"6-117-51":[-48.21,-20.04],"5-58-25":[-48.21,-17.24],"6-117-52":[-53.69,-23.2],"6-117-53":[-71.28,-27.26],"5-58-26":[-72.48,-22.38],"6-117-54":[-86.62,-34.15],"6-117-55":[-101.99,-43.8],"5-58-27":[-101.99,-34.15],"6-117-56":[-106.25,1600.9],"6-117-57":[1442.23,2342.57],"5-58-28":[-106.25,2342.57],"6-117-58":[2216.37,2456.95],"6-117-59":[2218.72,2466.51],"5-58-29":[2216.37,2481.96],"6-117-60":[1411.35,2291.18],"6-117-61":[1690.08,2529.67],"5-58-30":[1411.35,2569.82],"6-117-62":[2447.36,2953.28],"6-117-63":[-29.54,3084.91],"5-58-31":[-29.54,3084.91],"6-118-0":[8.81,27.71],"6-118-1":[6.64,17.18],"6-118-2":[1.82,14.17],"6-118-3":[1.29,7.13],"6-118-4":[1.8,112.12],"6-118-5":[0.82,6.14],"6-118-6":[0.71,75.94],"6-118-7":[3.53,559.13],"6-118-8":[15.46,1102.21],"6-118-9":[92.72,1636.07],"6-118-10":[2.35,1813.48],"6-118-11":[1.21,1062.27],"6-118-12":[17.21,43.51],"6-118-13":[19.63,45.98],"6-118-14":[0.73,1460.13],"6-118-15":[-7.91,1395.62],"6-118-16":[-7.92,30.44],"6-118-17":[6.23,30.2],"6-118-18":[4.7,24.25],"6-118-19":[4.92,23.71],"6-118-20":[6.29,28.34],"6-118-21":[10.46,37.16],"6-118-22":[12.98,50.32],"6-118-23":[19.09,62.28],"6-118-24":[25.96,72.19],"6-118-25":[29.55,81.26],"6-118-26":[33.77,84.41],"6-118-27":[35.3,83.99],"6-118-28":[39.24,102.12],"6-118-29":[44.51,337.7],"6-118-30":[50.71,111.44],"6-118-31":[54.6,118.9],"6-118-32":[58.04,435.72],"6-118-33":[2.74,2388.16],"6-118-34":[53.28,143.46],"6-118-35":[58.58,1094.58],"6-118-36":[60.49,866.24],"6-118-37":[60.7,127.95],"6-118-38":[55.23,126.07],"6-118-39":[48.72,114.91],"6-118-40":[16.01,468.23],"6-118-41":[-7.43,1263.13],"6-118-42":[3.55,1616.85],"6-118-43":[-3.46,1396.93],"6-118-44":[7.57,40.32],"6-118-45":[0.66,22.42],"6-118-46":[-11.28,6.94],"6-118-47":[-22.43,-3.98],"6-118-48":[-29.37,-9.38],"6-118-49":[-35.15,-14.48],"6-118-50":[-40.65,-17.23],"6-118-51":[-48.88,-20.43],"6-118-52":[-56.68,-24.15],"6-118-53":[-69.25,-27.35],"6-118-54":[-85.12,-33.76],"6-118-55":[-101.8,-42.74],"6-118-56":[-107,1522.76],"6-118-57":[1441.77,2294.89],"6-118-58":[1910.74,2319.46],"6-118-59":[1821.95,2399.61],"6-118-60":[803.63,2218.73],"6-118-61":[1627.45,2447.37],"6-118-62":[2363.53,2959.26],"6-118-63":[-29.54,3089.37],"6-119-0":[8.67,27.14],"6-119-1":[6.4,16.74],"5-59-0":[6.4,27.71],"6-119-2":[1.77,13.16],"6-119-3":[1.21,7.08],"5-59-1":[1.21,14.17],"4-29-0":[1.21,29.12],"6-119-4":[2.01,7.08],"6-119-5":[0.49,6.94],"5-59-2":[0.49,112.12],"6-119-6":[1.29,81.65],"6-119-7":[3.24,433.72],"5-59-3":[0.71,559.13],"4-29-1":[-0.78,925.79],"3-14-0":[-8.16,2177.91],"6-119-8":[15.62,1098.37],"6-119-9":[80.42,1766.68],"5-59-4":[15.46,1766.68],"6-119-10":[-12.75,1878.57],"6-119-11":[15.7,935.54],"5-59-5":[-12.75,1878.57],"4-29-2":[-12.75,2390.56],"6-119-12":[13.95,2005.12],"6-119-13":[17.08,2477.12],"5-59-6":[13.95,2477.12],"6-119-14":[1.03,1817.92],"6-119-15":[3.25,33.35],"5-59-7":[-7.91,1817.92],"4-29-3":[-7.91,2477.12],"3-14-1":[-16.78,2830.65],"6-119-16":[4.27,23.39],"6-119-17":[1.7,17.38],"5-59-8":[-7.92,30.44],"6-119-18":[0.23,11.21],"6-119-19":[1.53,11.2],"5-59-9":[0.23,24.25],"4-29-4":[-7.92,1786.57],"6-119-20":[4.13,19.59],"6-119-21":[6.49,25.03],"5-59-10":[4.13,37.16],"6-119-22":[9,34.94],"6-119-23":[13.7,51.55],"5-59-11":[9,62.28],"4-29-5":[4.13,74.37],"3-14-2":[-84.13,3800.26],"6-119-24":[20.27,58.63],"6-119-25":[26.32,64.62],"5-59-12":[20.27,81.26],"6-119-26":[29.21,76.13],"6-119-27":[31.51,78.92],"5-59-13":[29.21,84.41],"4-29-6":[20.27,99.51],"6-119-28":[34.89,91.62],"6-119-29":[42.31,102.14],"5-59-14":[34.89,337.7],"6-119-30":[49.88,110.56],"6-119-31":[51.58,118.67],"5-59-15":[49.88,118.9],"4-29-7":[34.89,503.73],"3-14-3":[19.75,1005.01],"6-119-32":[55.15,126.21],"6-119-33":[55.72,960.88],"5-59-16":[2.74,2388.16],"6-119-34":[6.18,2782.57],"6-119-35":[49.89,1115.42],"5-59-17":[6.18,2782.57],"4-29-8":[-78.97,4188.78],"6-119-36":[63.79,138.91],"6-119-37":[60.58,131.76],"5-59-18":[60.49,866.24],"6-119-38":[55.49,123.47],"6-119-39":[49.44,110.92],"5-59-19":[48.72,126.07],"4-29-9":[26.9,1325.23],"3-14-4":[-78.97,5227.39],"6-119-40":[40.76,99.59],"6-119-41":[33.8,84.71],"5-59-20":[-7.43,1263.13],"6-119-42":[26.01,74.04],"6-119-43":[18.31,59.16],"5-59-21":[-3.46,1616.85],"4-29-10":[-25.52,1629.02],"6-119-44":[11.24,40.96],"6-119-45":[3.47,25.39],"5-59-22":[0.66,40.96],"6-119-46":[-5.63,10.69],"6-119-47":[-18.52,-2.2],"5-59-23":[-22.43,10.69],"4-29-11":[-160.77,2241.03],"3-14-5":[-195.28,2241.03],"6-119-48":[-27.89,-8.1],"6-119-49":[-34.87,-13.33],"5-59-24":[-35.15,-8.1],"6-119-50":[-42.15,-16.71],"6-119-51":[-55.48,-20.53],"5-59-25":[-55.48,-16.71],"4-29-12":[-55.48,-8.1],"6-119-52":[-67.25,-24.47],"6-119-53":[-69.99,-28.77],"5-59-26":[-69.99,-24.15],"6-119-54":[-84.63,-34.47],"6-119-55":[-101.06,-42.64],"5-59-27":[-101.8,-33.76],"4-29-13":[-101.99,-22.38],"3-14-6":[-101.99,1701.91],"6-119-56":[-106.67,1594.21],"6-119-57":[1522.75,2260.16],"5-59-28":[-107,2294.89],"6-119-58":[1520.8,2260.16],"6-119-59":[1378.35,2352.82],"5-59-29":[1378.35,2399.61],"4-29-14":[-107,2481.96],"6-119-60":[115.06,3169.82],"6-119-61":[1392.87,2470.74],"5-59-30":[115.06,3169.82],"6-119-62":[2356.79,2967.24],"6-119-63":[-29.54,3091.37],"5-59-31":[-29.54,3091.37],"4-29-15":[-29.54,3169.82],"3-14-7":[-107,3169.82],"6-120-0":[8.69,26.75],"6-120-1":[5.52,17.4],"6-120-2":[1.82,12.04],"6-120-3":[0.59,7.08],"6-120-4":[2.09,7.08],"6-120-5":[0.74,5.17],"6-120-6":[1.05,56.9],"6-120-7":[2.85,903.95],"6-120-8":[56.39,1454.04],"6-120-9":[12.61,1757.61],"6-120-10":[12.59,947.68],"6-120-11":[15.29,2605.13],"6-120-12":[7.08,3631.59],"6-120-13":[-0.7,3468.03],"6-120-14":[1.4,40.12],"6-120-15":[4.12,24.95],"6-120-16":[-0.27,17.95],"6-120-17":[-4.97,7.43],"6-120-18":[-6.56,3],"6-120-19":[-3.98,7.47],"6-120-20":[-0.58,12.98],"6-120-21":[2.19,17.28],"6-120-22":[4.58,25.53],"6-120-23":[8.89,39.89],"6-120-24":[15.15,49.5],"6-120-25":[21.3,58.42],"6-120-26":[25.24,62.27],"6-120-27":[28.53,69.78],"6-120-28":[32.36,84.63],"6-120-29":[37.3,831.89],"6-120-30":[42.45,102.95],"6-120-31":[46.51,110.31],"6-120-32":[48.73,118.16],"6-120-33":[52.39,128.82],"6-120-34":[36.32,1251.14],"6-120-35":[16.84,2387.59],"6-120-36":[45.89,264.39],"6-120-37":[59.17,130.22],"6-120-38":[55.65,121.69],"6-120-39":[49.17,115.94],"6-120-40":[42.96,105.9],"6-120-41":[35.4,90.52],"6-120-42":[28.58,74.62],"6-120-43":[8.57,495.66],"6-120-44":[12.8,48.16],"6-120-45":[5.96,25.68],"6-120-46":[-2.48,12.37],"6-120-47":[-16.47,-0.49],"6-120-48":[-25.27,-6.4],"6-120-49":[-33.37,-10.64],"6-120-50":[-42.5,-14.52],"6-120-51":[-55.8,383.74],"6-120-52":[-67.98,-26.3],"6-120-53":[-72.63,-30.51],"6-120-54":[-84.73,-34.99],"6-120-55":[-104.1,-43.28],"6-120-56":[-112.02,1627.11],"6-120-57":[475.75,2656.26],"6-120-58":[867.53,2268.9],"6-120-59":[1045.7,2732.99],"6-120-60":[-105.78,3191.81],"6-120-61":[347.55,2726.57],"6-120-62":[2344.78,2977.2],"6-120-63":[-29.54,3090.38],"6-121-0":[8.97,26.75],"6-121-1":[5.52,18.2],"5-60-0":[5.52,26.75],"6-121-2":[1.99,11],"6-121-3":[0.42,4.82],"5-60-1":[0.42,12.04],"6-121-4":[2.25,7.43],"6-121-5":[0.71,4.93],"5-60-2":[0.71,7.43],"6-121-6":[1.29,271.44],"6-121-7":[2.85,1052.69],"5-60-3":[1.05,1052.69],"6-121-8":[37.86,1653.57],"6-121-9":[11.56,1415.31],"5-60-4":[11.56,1757.61],"6-121-10":[10.82,1872.79],"6-121-11":[9.11,3277.23],"5-60-5":[9.11,3277.23],"6-121-12":[-5.06,4774.23],"6-121-13":[-5.97,28.14],"5-60-6":[-5.97,4774.23],"6-121-14":[3.79,18.42],"6-121-15":[-1.09,16.76],"5-60-7":[-1.09,40.12],"6-121-16":[-7.93,7.27],"6-121-17":[-11.57,-0.26],"5-60-8":[-11.57,17.95],"6-121-18":[-11.9,-2.7],"6-121-19":[-13.5,-0.57],"5-60-9":[-13.5,7.47],"6-121-20":[-13.4,2.2],"6-121-21":[-4.89,8.56],"5-60-10":[-13.4,17.28],"6-121-22":[1.31,15.96],"6-121-23":[6.08,30.18],"5-60-11":[1.31,39.89],"6-121-24":[11.75,45.27],"6-121-25":[17.54,49.7],"5-60-12":[11.75,58.42],"6-121-26":[24.65,60.14],"6-121-27":[25.47,66.56],"5-60-13":[24.65,69.78],"6-121-28":[28.73,75.09],"6-121-29":[32.36,84.91],"5-60-14":[28.73,831.89],"6-121-30":[37.91,673.97],"6-121-31":[41.13,96.35],"5-60-15":[37.91,673.97],"6-121-32":[43.4,101.5],"6-121-33":[46.93,118.89],"5-60-16":[43.4,128.82],"6-121-34":[49.6,839.37],"6-121-35":[9.56,1980.07],"5-60-17":[9.56,2387.59],"6-121-36":[44.87,241.22],"6-121-37":[58.56,129.2],"5-60-18":[44.87,264.39],"6-121-38":[56.18,122.21],"6-121-39":[50.7,116.7],"5-60-19":[49.17,122.21],"6-121-40":[45.59,106.12],"6-121-41":[37.73,94.44],"5-60-20":[35.4,106.12],"6-121-42":[32.38,82.35],"6-121-43":[24.79,66.27],"5-60-21":[8.57,495.66],"6-121-44":[14.55,55.75],"6-121-45":[6.51,35.28],"5-60-22":[5.96,55.75],"6-121-46":[-0.5,21.22],"6-121-47":[-12.26,3.98],"5-60-23":[-16.47,21.22],"6-121-48":[-19.81,-3.49],"6-121-49":[-29.02,-8.06],"5-60-24":[-33.37,-3.49],"6-121-50":[-41.05,-10.84],"6-121-51":[-63.16,-19.98],"5-60-25":[-63.16,383.74],"6-121-52":[-72.98,-28.17],"6-121-53":[-77.22,-33.82],"5-60-26":[-77.22,-26.3],"6-121-54":[-88.46,-36.59],"6-121-55":[-106.46,1402.86],"5-60-27":[-106.46,1402.86],"6-121-56":[-114.63,475.76],"6-121-57":[-117.59,2620.78],"5-60-28":[-117.59,2656.26],"6-121-58":[-116.47,3433.82],"6-121-59":[-115.52,3317.92],"5-60-29":[-116.47,3433.82],"6-121-60":[-115.69,2320.2],"6-121-61":[-91.83,4077.78],"5-60-30":[-115.69,4077.78],"6-121-62":[1924.9,2984.14],"6-121-63":[-29.54,3088.17],"5-60-31":[-29.54,3090.38],"6-122-0":[9.42,26.76],"6-122-1":[5.65,18.59],"6-122-2":[2.49,11.4],"6-122-3":[0.26,4.81],"6-122-4":[1.95,7.47],"6-122-5":[0.77,4.8],"6-122-6":[1.14,7.62],"6-122-7":[3.84,1528.57],"6-122-8":[108.15,1757.51],"6-122-9":[10.94,1582.28],"6-122-10":[6.8,1233.67],"6-122-11":[7.89,932.54],"6-122-12":[-3.4,850.98],"6-122-13":[1.64,20.11],"6-122-14":[0.48,16.34],"6-122-15":[-7.21,6.88],"6-122-16":[-12.07,-0.71],"6-122-17":[-17.59,-4.25],"6-122-18":[-18.55,-5.37],"6-122-19":[-18.72,-6.19],"6-122-20":[-17.57,-2.87],"6-122-21":[-10.75,2.46],"6-122-22":[-3.63,10.62],"6-122-23":[1.49,22.49],"6-122-24":[7.72,36.85],"6-122-25":[14.12,46.47],"6-122-26":[19.28,54.72],"6-122-27":[23.59,60.99],"6-122-28":[26.75,65.91],"6-122-29":[28.53,72.29],"6-122-30":[31.65,81.32],"6-122-31":[36.02,86.88],"6-122-32":[39.15,92.44],"6-122-33":[41.65,106.03],"6-122-34":[46.65,119.42],"6-122-35":[48.07,866.32],"6-122-36":[45.55,126.93],"6-122-37":[53.7,127.16],"6-122-38":[52.98,340.77],"6-122-39":[35.29,1689.03],"6-122-40":[46.98,106.61],"6-122-41":[40,96.95],"6-122-42":[33.4,82.62],"6-122-43":[27.67,66.13],"6-122-44":[18.65,57.54],"6-122-45":[14.32,44.27],"6-122-46":[3,29.21],"6-122-47":[-11.15,13.47],"6-122-48":[-19.42,-2.93],"6-122-49":[-27.38,-6.28],"6-122-50":[-46.34,517.88],"6-122-51":[-65.39,-20.43],"6-122-52":[-77.62,-31.58],"6-122-53":[-81.78,-37.06],"6-122-54":[-91.49,-38.57],"6-122-55":[-105.7,-45.16],"6-122-56":[-117.38,-51.89],"6-122-57":[-60.46,3075.8],"6-122-58":[-117.89,3148.6],"6-122-59":[-115.52,2551.83],"6-122-60":[-111.82,209.78],"6-122-61":[-93.22,3800.64],"6-122-62":[1431.84,3358.99],"6-122-63":[-29.54,3084.48],"6-123-0":[9.85,26.78],"6-123-1":[5.73,18.86],"5-61-0":[5.65,26.78],"6-123-2":[2.93,12],"6-123-3":[0.14,5.41],"5-61-1":[0.14,12],"4-30-0":[0.14,26.78],"6-123-4":[0.92,8.02],"6-123-5":[1.11,5.42],"5-61-2":[0.77,8.02],"6-123-6":[1.15,7.19],"6-123-7":[3.59,1680.33],"5-61-3":[1.14,1680.33],"4-30-1":[0.71,1680.33],"6-123-8":[102.27,1646.59],"6-123-9":[12.03,1328.47],"5-61-4":[10.94,1757.51],"6-123-10":[4.75,1210.93],"6-123-11":[5.38,20.59],"5-61-5":[4.75,1233.67],"4-30-2":[4.75,3277.23],"6-123-12":[-6.75,744.81],"6-123-13":[-5.24,18.85],"5-61-6":[-6.75,850.98],"6-123-14":[-6.42,11.45],"6-123-15":[-19.48,0.49],"5-61-7":[-19.48,16.34],"4-30-3":[-19.48,4774.23],"6-123-16":[-20.74,-3.9],"6-123-17":[-25.13,-6.72],"5-61-8":[-25.13,-0.71],"6-123-18":[-25.13,-8.71],"6-123-19":[-20.44,-8.81],"5-61-9":[-25.13,-5.37],"4-30-4":[-25.13,17.95],"6-123-20":[-19,-6.48],"6-123-21":[-14.63,-2.18],"5-61-10":[-19,2.46],"6-123-22":[-8.94,1.5],"6-123-23":[-0.85,14.41],"5-61-11":[-8.94,22.49],"4-30-5":[-19,39.89],"6-123-24":[5.5,29.61],"6-123-25":[10.76,38.58],"5-61-12":[5.5,46.47],"6-123-26":[16.15,50.77],"6-123-27":[19.03,52.37],"5-61-13":[16.15,60.99],"4-30-6":[5.5,69.78],"6-123-28":[20.24,74.26],"6-123-29":[19.92,68.93],"5-61-14":[19.92,74.26],"6-123-30":[27.6,72.06],"6-123-31":[30.84,78.32],"5-61-15":[27.6,86.88],"4-30-7":[19.92,831.89],"6-123-32":[9.9,105.9],"6-123-33":[38.55,93.32],"5-61-16":[9.9,106.03],"6-123-34":[42.04,104.47],"6-123-35":[26.89,608.86],"5-61-17":[26.89,866.32],"4-30-8":[9.56,2387.59],"6-123-36":[44.53,1017.74],"6-123-37":[-166.26,1941.75],"5-61-18":[-166.26,1941.75],"6-123-38":[49.91,717.25],"6-123-39":[18.08,1664.47],"5-61-19":[18.08,1689.03],"4-30-9":[-166.26,1941.75],"6-123-40":[48.47,309.11],"6-123-41":[41.3,105.67],"5-61-20":[40,309.11],"6-123-42":[34.67,357.87],"6-123-43":[28.79,77.86],"5-61-21":[27.67,357.87],"4-30-10":[8.57,495.66],"6-123-44":[23.62,65.38],"6-123-45":[14.32,51.14],"5-61-22":[14.32,65.38],"6-123-46":[6.73,41.96],"6-123-47":[-345.62,2939.6],"5-61-23":[-345.62,2939.6],"4-30-11":[-345.62,2939.6],"6-123-48":[-74.06,2088.42],"6-123-49":[-22.42,566.58],"5-61-24":[-74.06,2088.42],"6-123-50":[-82.31,649.83],"6-123-51":[-70.1,-20.38],"5-61-25":[-82.31,649.83],"4-30-12":[-82.31,2088.42],"6-123-52":[-83.38,-32.37],"6-123-53":[-91.85,-39.81],"5-61-26":[-91.85,-31.58],"6-123-54":[-95.58,-41.02],"6-123-55":[-108.17,-46.75],"5-61-27":[-108.17,-38.57],"4-30-13":[-108.17,1402.86],"6-123-56":[-118.68,-52.76],"6-123-57":[-116.81,3530.38],"5-61-28":[-118.68,3530.38],"6-123-58":[-117.58,2686.35],"6-123-59":[-114.23,3368.3],"5-61-29":[-117.89,3368.3],"4-30-14":[-118.68,3530.38],"6-123-60":[-105.65,-47.93],"6-123-61":[-94.72,4324.92],"5-61-30":[-111.82,4324.92],"6-123-62":[1173.34,3260.29],"6-123-63":[-29.54,3084.24],"5-61-31":[-29.54,3358.99],"4-30-15":[-115.69,4324.92],"6-124-0":[10.16,26.79],"6-124-1":[6.14,19.04],"6-124-2":[3.03,12.26],"6-124-3":[0.14,5.75],"6-124-4":[0.89,8.06],"6-124-5":[1.26,5.67],"6-124-6":[1.39,7.36],"6-124-7":[3.52,1617.82],"6-124-8":[8.51,1409.69],"6-124-9":[10.13,2305.88],"6-124-10":[0.45,2164.88],"6-124-11":[2.56,14.63],"6-124-12":[-3.24,14.32],"6-124-13":[-10.59,10.54],"6-124-14":[-10.36,8.76],"6-124-15":[-21.04,0],"6-124-16":[-24.64,-2.76],"6-124-17":[-31.2,-3.85],"6-124-18":[-30.75,-6.47],"6-124-19":[-26.11,-2.49],"6-124-20":[-24.31,-7.51],"6-124-21":[-15.23,-4.76],"6-124-22":[-13.59,-0.84],"6-124-23":[-4.55,9.7],"6-124-24":[2.35,21.54],"6-124-25":[7.35,32.3],"6-124-26":[12.55,38.19],"6-124-27":[15.94,48.53],"6-124-28":[21.55,62.2],"6-124-29":[18.5,57.21],"6-124-30":[24.34,61.69],"6-124-31":[27.97,68.96],"6-124-32":[29.89,114.26],"6-124-33":[33.15,84.09],"6-124-34":[36.93,96.35],"6-124-35":[42.03,117.27],"6-124-36":[44.94,447.27],"6-124-37":[62.06,132.91],"6-124-38":[41.71,1137.87],"6-124-39":[34.07,895.97],"6-124-40":[47.96,131.97],"6-124-41":[46.43,105.92],"6-124-42":[39.86,96.09],"6-124-43":[32.69,85.75],"6-124-44":[26.31,75.44],"6-124-45":[20.78,56.69],"6-124-46":[8.98,1441.5],"6-124-47":[-4.07,3719.73],"6-124-48":[-31.98,2290.2],"6-124-49":[-23.42,-3.78],"6-124-50":[-84.41,535.73],"6-124-51":[-73.94,-20.62],"6-124-52":[-86.86,-35.05],"6-124-53":[-95.4,-42.17],"6-124-54":[-98.04,-43.58],"6-124-55":[-110.57,-48.45],"6-124-56":[-118.68,-54.08],"6-124-57":[-117.84,3544.4],"6-124-58":[-118.43,1962.19],"6-124-59":[-115.85,2252.06],"6-124-60":[-105.91,-48.57],"6-124-61":[-95.38,3812.59],"6-124-62":[594.22,3705.94],"6-124-63":[-29.54,3085.39],"6-125-0":[10.35,26.81],"6-125-1":[6.14,19.41],"5-62-0":[6.14,26.81],"6-125-2":[3.26,12.44],"6-125-3":[0.9,6.39],"5-62-1":[0.14,12.44],"6-125-4":[1.27,6.49],"6-125-5":[1.13,5.32],"5-62-2":[0.89,8.06],"6-125-6":[1.29,6.47],"6-125-7":[3.14,1111.24],"5-62-3":[1.29,1617.82],"6-125-8":[7.11,1048.77],"6-125-9":[6.89,1518.99],"5-62-4":[6.89,2305.88],"6-125-10":[-2.91,1665.46],"6-125-11":[0,6.86],"5-62-5":[-2.91,2164.88],"6-125-12":[-2.34,8.77],"6-125-13":[-14.46,953.56],"5-62-6":[-14.46,953.56],"6-125-14":[-5.06,5.28],"6-125-15":[-17.98,-2.39],"5-62-7":[-21.04,8.76],"6-125-16":[-24.4,-7.68],"6-125-17":[-28.6,-10.11],"5-62-8":[-31.2,-2.76],"6-125-18":[-28.6,-11],"6-125-19":[-25.62,-2.41],"5-62-9":[-30.75,-2.41],"6-125-20":[-22.75,-4.66],"6-125-21":[-15.81,-6.04],"5-62-10":[-24.31,-4.66],"6-125-22":[-14.02,-3.42],"6-125-23":[-6.77,4.64],"5-62-11":[-14.02,9.7],"6-125-24":[1.21,15.8],"6-125-25":[6.11,24.94],"5-62-12":[1.21,32.3],"6-125-26":[10.22,30.26],"6-125-27":[13.87,41.98],"5-62-13":[10.22,48.53],"6-125-28":[18.08,48.13],"6-125-29":[17.79,54.5],"5-62-14":[17.79,62.2],"6-125-30":[22.38,56.85],"6-125-31":[16.56,59.8],"5-62-15":[16.56,68.96],"6-125-32":[25.85,66.31],"6-125-33":[27.99,72.87],"5-62-16":[25.85,114.26],"6-125-34":[33,81.65],"6-125-35":[38.91,103.05],"5-62-17":[33,117.27],"6-125-36":[47.5,124.13],"6-125-37":[57.22,130.49],"5-62-18":[44.94,447.27],"6-125-38":[61.15,131.46],"6-125-39":[52.54,288.83],"5-62-19":[34.07,1137.87],"6-125-40":[48.88,107.87],"6-125-41":[48.01,104.69],"5-62-20":[46.43,131.97],"6-125-42":[42.87,97.22],"6-125-43":[37.6,89.45],"5-62-21":[32.69,97.22],"6-125-44":[6.97,816.34],"6-125-45":[-0.97,2517.08],"5-62-22":[-0.97,2517.08],"6-125-46":[-17.88,2863.4],"6-125-47":[-35.65,2605.15],"5-62-23":[-35.65,3719.73],"6-125-48":[-10.05,11.03],"6-125-49":[-27.68,-4.71],"5-62-24":[-31.98,2290.2],"6-125-50":[-48.98,-11.91],"6-125-51":[-75.78,-21.91],"5-62-25":[-84.41,535.73],"6-125-52":[-88.21,-37.16],"6-125-53":[-96.9,-44.36],"5-62-26":[-96.9,-35.05],"6-125-54":[-99.71,-46.22],"6-125-55":[-113.95,-50.03],"5-62-27":[-113.95,-43.58],"6-125-56":[-118.23,-55.58],"6-125-57":[-119.6,-57.02],"5-62-28":[-119.6,3544.4],"6-125-58":[-119.13,-57.36],"6-125-59":[-115.13,-52.66],"5-62-29":[-119.13,2252.06],"6-125-60":[-106.04,-48.63],"6-125-61":[-95.54,2586.73],"5-62-30":[-106.04,3812.59],"6-125-62":[617.47,3991.97],"6-125-63":[-29.54,3087.55],"5-62-31":[-29.54,3991.97],"6-126-0":[10.48,26.83],"6-126-1":[6.39,19.79],"6-126-2":[3.59,12.74],"6-126-3":[1.34,7.32],"6-126-4":[1.23,5.6],"6-126-5":[1.15,4.51],"6-126-6":[1.24,5.95],"6-126-7":[2.53,1644.02],"6-126-8":[4.57,1334.46],"6-126-9":[2.53,1348.08],"6-126-10":[-4.55,360.68],"6-126-11":[-0.22,3.75],"6-126-12":[-4.16,11.04],"6-126-13":[-20.67,663.5],"6-126-14":[-17.18,1.9],"6-126-15":[-17.03,-2.13],"6-126-16":[-23.5,-6.98],"6-126-17":[-25.32,-10.8],"6-126-18":[-24.77,-10.53],"6-126-19":[-22.17,-7.92],"6-126-20":[-19.02,-6.36],"6-126-21":[-15.67,-4.68],"6-126-22":[-13.71,-4.14],"6-126-23":[-8.08,4.18],"6-126-24":[0.43,12.94],"6-126-25":[5.52,20.01],"6-126-26":[9,27.01],"6-126-27":[12.09,34.89],"6-126-28":[14.82,40.97],"6-126-29":[17.43,44.78],"6-126-30":[17.98,49.65],"6-126-31":[20.75,52.08],"6-126-32":[19.19,56],"6-126-33":[25.26,66],"6-126-34":[28.98,76.55],"6-126-35":[34.87,95.02],"6-126-36":[41.34,297.72],"6-126-37":[52.33,122.31],"6-126-38":[55.22,587.24],"6-126-39":[52.13,124.15],"6-126-40":[49.8,107.99],"6-126-41":[47.34,102.99],"6-126-42":[43.4,96.7],"6-126-43":[39.32,87],"6-126-44":[-5.9,921.24],"6-126-45":[-23.78,2784.98],"6-126-46":[-12.29,1743.24],"6-126-47":[4.88,29.21],"6-126-48":[-9.96,11.4],"6-126-49":[-34.93,-4.57],"6-126-50":[-54.64,-14.05],"6-126-51":[-75.71,-26.38],"6-126-52":[-89.11,-37.37],"6-126-53":[-98.36,-44.98],"6-126-54":[-101.06,-48.44],"6-126-55":[-115.57,-50.65],"6-126-56":[-120.87,-56.97],"6-126-57":[-122.6,-57.42],"6-126-58":[-120.57,-57.41],"6-126-59":[-115.91,-52.64],"6-126-60":[-106.89,-48.23],"6-126-61":[-95.56,3164.9],"6-126-62":[1096.86,4009.42],"6-126-63":[-29.54,3089.77],"6-127-0":[10.58,26.87],"6-127-1":[6.39,20.25],"5-63-0":[6.39,26.87],"6-127-2":[3.82,13.4],"6-127-3":[2.41,8.63],"5-63-1":[1.34,13.4],"4-31-0":[0.14,26.87],"6-127-4":[1.13,6.79],"6-127-5":[1.13,4.39],"5-63-2":[1.13,6.79],"6-127-6":[1.24,612.64],"6-127-7":[2.31,1712.25],"5-63-3":[1.24,1712.25],"4-31-1":[0.89,1712.25],"3-15-0":[0.14,1712.25],"6-127-8":[4.5,1465.56],"6-127-9":[3.01,918.23],"5-63-4":[2.53,1465.56],"6-127-10":[-3.08,11.47],"6-127-11":[-0.12,3.44],"5-63-5":[-4.55,360.68],"4-31-2":[-4.55,2305.88],"6-127-12":[-1.99,11.61],"6-127-13":[-24.8,1210.91],"5-63-6":[-24.8,1210.91],"6-127-14":[-25.57,1.39],"6-127-15":[-13.94,-1.38],"5-63-7":[-25.57,1.9],"4-31-3":[-25.57,1210.91],"3-15-1":[-25.57,4774.23],"2-7-0":[-25.57,4774.23],"6-127-16":[-21,-6.43],"6-127-17":[-25.9,-10.68],"5-63-8":[-25.9,-6.43],"6-127-18":[-26.05,-10.54],"6-127-19":[-22.59,-7.92],"5-63-9":[-26.05,-7.92],"4-31-4":[-31.2,-2.41],"6-127-20":[-19,-7.92],"6-127-21":[-16.82,-4.7],"5-63-10":[-19.02,-4.68],"6-127-22":[-10.69,-3.04],"6-127-23":[-8.26,1.26],"5-63-11":[-13.71,4.18],"4-31-5":[-24.31,9.7],"3-15-2":[-31.2,39.89],"6-127-24":[0.43,9.72],"6-127-25":[4.5,17.61],"5-63-12":[0.43,20.01],"6-127-26":[6.9,22.78],"6-127-27":[8.89,29.21],"5-63-13":[6.9,34.89],"4-31-6":[0.43,48.53],"6-127-28":[12.01,35],"6-127-29":[14.22,37.73],"5-63-14":[12.01,44.78],"6-127-30":[15.67,40.09],"6-127-31":[19.02,46.55],"5-63-15":[15.67,52.08],"4-31-7":[12.01,68.96],"3-15-3":[0.43,831.89],"2-7-1":[-84.13,3800.26],"1-3-0":[-268.7,7512.84],"6-127-32":[20.92,50.53],"6-127-33":[22.89,57.98],"5-63-16":[19.19,66],"6-127-34":[25.27,69.75],"6-127-35":[27.53,86.05],"5-63-17":[25.27,95.02],"4-31-8":[19.19,117.27],"6-127-36":[39.54,104.68],"6-127-37":[22.06,1069.23],"5-63-18":[22.06,1069.23],"6-127-38":[20.15,1371.15],"6-127-39":[49.74,108.66],"5-63-19":[20.15,1371.15],"4-31-9":[20.15,1371.15],"3-15-4":[-166.26,2387.59],"6-127-40":[48.93,103.15],"6-127-41":[47.07,98.56],"5-63-20":[47.07,107.99],"6-127-42":[43.96,94.48],"6-127-43":[38.98,91.71],"5-63-21":[38.98,96.7],"4-31-10":[32.69,131.97],"6-127-44":[20.8,83.16],"6-127-45":[-12.67,1759.88],"5-63-22":[-23.78,2784.98],"6-127-46":[11.75,42.6],"6-127-47":[3.24,30.55],"5-63-23":[-12.29,1743.24],"4-31-11":[-35.65,3719.73],"3-15-5":[-345.62,3719.73],"2-7-2":[-345.62,5227.39],"6-127-48":[-9.45,37.42],"6-127-49":[-38.82,351.39],"5-63-24":[-38.82,351.39],"6-127-50":[-56.24,-17.74],"6-127-51":[-75.79,-28.67],"5-63-25":[-75.79,-14.05],"4-31-12":[-84.41,2290.2],"6-127-52":[-88.85,-37.45],"6-127-53":[-98.42,-44.71],"5-63-26":[-98.42,-37.37],"6-127-54":[-101.55,-48.81],"6-127-55":[-117.07,-50.94],"5-63-27":[-117.07,-48.44],"4-31-13":[-117.07,-35.05],"3-15-6":[-117.07,2290.2],"6-127-56":[-123.45,-57.63],"6-127-57":[-123.93,-60.36],"5-63-28":[-123.93,-56.97],"6-127-58":[-123.3,-58.62],"6-127-59":[-117.49,-53.65],"5-63-29":[-123.3,-52.64],"4-31-14":[-123.93,3544.4],"6-127-60":[-109.53,-48.22],"6-127-61":[-95.58,1201.67],"5-63-30":[-109.53,3164.9],"6-127-62":[-43.08,3227.47],"6-127-63":[-31.68,3092.98],"5-63-31":[-43.08,4009.42],"4-31-15":[-109.53,4009.42],"3-15-7":[-123.93,4324.92],"2-7-3":[-123.93,4324.92],"1-3-1":[-345.62,5227.39],"0-1-0":[-398.55,8777.15]} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Cesium.d.ts b/public/GV/thirdParty/CesiumManager/Cesium.d.ts new file mode 100644 index 000000000..77ff784f0 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Cesium.d.ts @@ -0,0 +1,42682 @@ +declare module "cesium" { + +/** + * Private interfaces to support PropertyBag being a dictionary-like object. + */ +interface DictionaryLike { + [index: string]: any; +} + +/** + * Enum containing WebGL Constant values by name. + * for use without an active WebGL context, or in cases where certain constants are unavailable using the WebGL context + * (For example, in [Safari 9]{@link https://github.com/CesiumGS/cesium/issues/2989}). + * + * These match the constants from the [WebGL 1.0]{@link https://www.khronos.org/registry/webgl/specs/latest/1.0/} + * and [WebGL 2.0]{@link https://www.khronos.org/registry/webgl/specs/latest/2.0/} + * specifications. + */ +export enum WebGLConstants { + DEPTH_BUFFER_BIT = 256, + STENCIL_BUFFER_BIT = 1024, + COLOR_BUFFER_BIT = 16384, + POINTS = 0, + LINES = 1, + LINE_LOOP = 2, + LINE_STRIP = 3, + TRIANGLES = 4, + TRIANGLE_STRIP = 5, + TRIANGLE_FAN = 6, + ZERO = 0, + ONE = 1, + SRC_COLOR = 768, + ONE_MINUS_SRC_COLOR = 769, + SRC_ALPHA = 770, + ONE_MINUS_SRC_ALPHA = 771, + DST_ALPHA = 772, + ONE_MINUS_DST_ALPHA = 773, + DST_COLOR = 774, + ONE_MINUS_DST_COLOR = 775, + SRC_ALPHA_SATURATE = 776, + FUNC_ADD = 32774, + BLEND_EQUATION = 32777, + BLEND_EQUATION_RGB = 32777, + BLEND_EQUATION_ALPHA = 34877, + FUNC_SUBTRACT = 32778, + FUNC_REVERSE_SUBTRACT = 32779, + BLEND_DST_RGB = 32968, + BLEND_SRC_RGB = 32969, + BLEND_DST_ALPHA = 32970, + BLEND_SRC_ALPHA = 32971, + CONSTANT_COLOR = 32769, + ONE_MINUS_CONSTANT_COLOR = 32770, + CONSTANT_ALPHA = 32771, + ONE_MINUS_CONSTANT_ALPHA = 32772, + BLEND_COLOR = 32773, + ARRAY_BUFFER = 34962, + ELEMENT_ARRAY_BUFFER = 34963, + ARRAY_BUFFER_BINDING = 34964, + ELEMENT_ARRAY_BUFFER_BINDING = 34965, + STREAM_DRAW = 35040, + STATIC_DRAW = 35044, + DYNAMIC_DRAW = 35048, + BUFFER_SIZE = 34660, + BUFFER_USAGE = 34661, + CURRENT_VERTEX_ATTRIB = 34342, + FRONT = 1028, + BACK = 1029, + FRONT_AND_BACK = 1032, + CULL_FACE = 2884, + BLEND = 3042, + DITHER = 3024, + STENCIL_TEST = 2960, + DEPTH_TEST = 2929, + SCISSOR_TEST = 3089, + POLYGON_OFFSET_FILL = 32823, + SAMPLE_ALPHA_TO_COVERAGE = 32926, + SAMPLE_COVERAGE = 32928, + NO_ERROR = 0, + INVALID_ENUM = 1280, + INVALID_VALUE = 1281, + INVALID_OPERATION = 1282, + OUT_OF_MEMORY = 1285, + CW = 2304, + CCW = 2305, + LINE_WIDTH = 2849, + ALIASED_POINT_SIZE_RANGE = 33901, + ALIASED_LINE_WIDTH_RANGE = 33902, + CULL_FACE_MODE = 2885, + FRONT_FACE = 2886, + DEPTH_RANGE = 2928, + DEPTH_WRITEMASK = 2930, + DEPTH_CLEAR_VALUE = 2931, + DEPTH_FUNC = 2932, + STENCIL_CLEAR_VALUE = 2961, + STENCIL_FUNC = 2962, + STENCIL_FAIL = 2964, + STENCIL_PASS_DEPTH_FAIL = 2965, + STENCIL_PASS_DEPTH_PASS = 2966, + STENCIL_REF = 2967, + STENCIL_VALUE_MASK = 2963, + STENCIL_WRITEMASK = 2968, + STENCIL_BACK_FUNC = 34816, + STENCIL_BACK_FAIL = 34817, + STENCIL_BACK_PASS_DEPTH_FAIL = 34818, + STENCIL_BACK_PASS_DEPTH_PASS = 34819, + STENCIL_BACK_REF = 36003, + STENCIL_BACK_VALUE_MASK = 36004, + STENCIL_BACK_WRITEMASK = 36005, + VIEWPORT = 2978, + SCISSOR_BOX = 3088, + COLOR_CLEAR_VALUE = 3106, + COLOR_WRITEMASK = 3107, + UNPACK_ALIGNMENT = 3317, + PACK_ALIGNMENT = 3333, + MAX_TEXTURE_SIZE = 3379, + MAX_VIEWPORT_DIMS = 3386, + SUBPIXEL_BITS = 3408, + RED_BITS = 3410, + GREEN_BITS = 3411, + BLUE_BITS = 3412, + ALPHA_BITS = 3413, + DEPTH_BITS = 3414, + STENCIL_BITS = 3415, + POLYGON_OFFSET_UNITS = 10752, + POLYGON_OFFSET_FACTOR = 32824, + TEXTURE_BINDING_2D = 32873, + SAMPLE_BUFFERS = 32936, + SAMPLES = 32937, + SAMPLE_COVERAGE_VALUE = 32938, + SAMPLE_COVERAGE_INVERT = 32939, + COMPRESSED_TEXTURE_FORMATS = 34467, + DONT_CARE = 4352, + FASTEST = 4353, + NICEST = 4354, + GENERATE_MIPMAP_HINT = 33170, + BYTE = 5120, + UNSIGNED_BYTE = 5121, + SHORT = 5122, + UNSIGNED_SHORT = 5123, + INT = 5124, + UNSIGNED_INT = 5125, + FLOAT = 5126, + DEPTH_COMPONENT = 6402, + ALPHA = 6406, + RGB = 6407, + RGBA = 6408, + LUMINANCE = 6409, + LUMINANCE_ALPHA = 6410, + UNSIGNED_SHORT_4_4_4_4 = 32819, + UNSIGNED_SHORT_5_5_5_1 = 32820, + UNSIGNED_SHORT_5_6_5 = 33635, + FRAGMENT_SHADER = 35632, + VERTEX_SHADER = 35633, + MAX_VERTEX_ATTRIBS = 34921, + MAX_VERTEX_UNIFORM_VECTORS = 36347, + MAX_VARYING_VECTORS = 36348, + MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661, + MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660, + MAX_TEXTURE_IMAGE_UNITS = 34930, + MAX_FRAGMENT_UNIFORM_VECTORS = 36349, + SHADER_TYPE = 35663, + DELETE_STATUS = 35712, + LINK_STATUS = 35714, + VALIDATE_STATUS = 35715, + ATTACHED_SHADERS = 35717, + ACTIVE_UNIFORMS = 35718, + ACTIVE_ATTRIBUTES = 35721, + SHADING_LANGUAGE_VERSION = 35724, + CURRENT_PROGRAM = 35725, + NEVER = 512, + LESS = 513, + EQUAL = 514, + LEQUAL = 515, + GREATER = 516, + NOTEQUAL = 517, + GEQUAL = 518, + ALWAYS = 519, + KEEP = 7680, + REPLACE = 7681, + INCR = 7682, + DECR = 7683, + INVERT = 5386, + INCR_WRAP = 34055, + DECR_WRAP = 34056, + VENDOR = 7936, + RENDERER = 7937, + VERSION = 7938, + NEAREST = 9728, + LINEAR = 9729, + NEAREST_MIPMAP_NEAREST = 9984, + LINEAR_MIPMAP_NEAREST = 9985, + NEAREST_MIPMAP_LINEAR = 9986, + LINEAR_MIPMAP_LINEAR = 9987, + TEXTURE_MAG_FILTER = 10240, + TEXTURE_MIN_FILTER = 10241, + TEXTURE_WRAP_S = 10242, + TEXTURE_WRAP_T = 10243, + TEXTURE_2D = 3553, + TEXTURE = 5890, + TEXTURE_CUBE_MAP = 34067, + TEXTURE_BINDING_CUBE_MAP = 34068, + TEXTURE_CUBE_MAP_POSITIVE_X = 34069, + TEXTURE_CUBE_MAP_NEGATIVE_X = 34070, + TEXTURE_CUBE_MAP_POSITIVE_Y = 34071, + TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072, + TEXTURE_CUBE_MAP_POSITIVE_Z = 34073, + TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074, + MAX_CUBE_MAP_TEXTURE_SIZE = 34076, + TEXTURE0 = 33984, + TEXTURE1 = 33985, + TEXTURE2 = 33986, + TEXTURE3 = 33987, + TEXTURE4 = 33988, + TEXTURE5 = 33989, + TEXTURE6 = 33990, + TEXTURE7 = 33991, + TEXTURE8 = 33992, + TEXTURE9 = 33993, + TEXTURE10 = 33994, + TEXTURE11 = 33995, + TEXTURE12 = 33996, + TEXTURE13 = 33997, + TEXTURE14 = 33998, + TEXTURE15 = 33999, + TEXTURE16 = 34000, + TEXTURE17 = 34001, + TEXTURE18 = 34002, + TEXTURE19 = 34003, + TEXTURE20 = 34004, + TEXTURE21 = 34005, + TEXTURE22 = 34006, + TEXTURE23 = 34007, + TEXTURE24 = 34008, + TEXTURE25 = 34009, + TEXTURE26 = 34010, + TEXTURE27 = 34011, + TEXTURE28 = 34012, + TEXTURE29 = 34013, + TEXTURE30 = 34014, + TEXTURE31 = 34015, + ACTIVE_TEXTURE = 34016, + REPEAT = 10497, + CLAMP_TO_EDGE = 33071, + MIRRORED_REPEAT = 33648, + FLOAT_VEC2 = 35664, + FLOAT_VEC3 = 35665, + FLOAT_VEC4 = 35666, + INT_VEC2 = 35667, + INT_VEC3 = 35668, + INT_VEC4 = 35669, + BOOL = 35670, + BOOL_VEC2 = 35671, + BOOL_VEC3 = 35672, + BOOL_VEC4 = 35673, + FLOAT_MAT2 = 35674, + FLOAT_MAT3 = 35675, + FLOAT_MAT4 = 35676, + SAMPLER_2D = 35678, + SAMPLER_CUBE = 35680, + VERTEX_ATTRIB_ARRAY_ENABLED = 34338, + VERTEX_ATTRIB_ARRAY_SIZE = 34339, + VERTEX_ATTRIB_ARRAY_STRIDE = 34340, + VERTEX_ATTRIB_ARRAY_TYPE = 34341, + VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922, + VERTEX_ATTRIB_ARRAY_POINTER = 34373, + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975, + IMPLEMENTATION_COLOR_READ_TYPE = 35738, + IMPLEMENTATION_COLOR_READ_FORMAT = 35739, + COMPILE_STATUS = 35713, + LOW_FLOAT = 36336, + MEDIUM_FLOAT = 36337, + HIGH_FLOAT = 36338, + LOW_INT = 36339, + MEDIUM_INT = 36340, + HIGH_INT = 36341, + FRAMEBUFFER = 36160, + RENDERBUFFER = 36161, + RGBA4 = 32854, + RGB5_A1 = 32855, + RGB565 = 36194, + DEPTH_COMPONENT16 = 33189, + STENCIL_INDEX = 6401, + STENCIL_INDEX8 = 36168, + DEPTH_STENCIL = 34041, + RENDERBUFFER_WIDTH = 36162, + RENDERBUFFER_HEIGHT = 36163, + RENDERBUFFER_INTERNAL_FORMAT = 36164, + RENDERBUFFER_RED_SIZE = 36176, + RENDERBUFFER_GREEN_SIZE = 36177, + RENDERBUFFER_BLUE_SIZE = 36178, + RENDERBUFFER_ALPHA_SIZE = 36179, + RENDERBUFFER_DEPTH_SIZE = 36180, + RENDERBUFFER_STENCIL_SIZE = 36181, + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048, + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049, + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050, + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051, + COLOR_ATTACHMENT0 = 36064, + DEPTH_ATTACHMENT = 36096, + STENCIL_ATTACHMENT = 36128, + DEPTH_STENCIL_ATTACHMENT = 33306, + NONE = 0, + FRAMEBUFFER_COMPLETE = 36053, + FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054, + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055, + FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057, + FRAMEBUFFER_UNSUPPORTED = 36061, + FRAMEBUFFER_BINDING = 36006, + RENDERBUFFER_BINDING = 36007, + MAX_RENDERBUFFER_SIZE = 34024, + INVALID_FRAMEBUFFER_OPERATION = 1286, + UNPACK_FLIP_Y_WEBGL = 37440, + UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441, + CONTEXT_LOST_WEBGL = 37442, + UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443, + BROWSER_DEFAULT_WEBGL = 37444, + COMPRESSED_RGB_S3TC_DXT1_EXT = 33776, + COMPRESSED_RGBA_S3TC_DXT1_EXT = 33777, + COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778, + COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779, + COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 35840, + COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 35841, + COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 35842, + COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 35843, + COMPRESSED_RGB_ETC1_WEBGL = 36196, + HALF_FLOAT_OES = 36193, + DOUBLE = 5130, + READ_BUFFER = 3074, + UNPACK_ROW_LENGTH = 3314, + UNPACK_SKIP_ROWS = 3315, + UNPACK_SKIP_PIXELS = 3316, + PACK_ROW_LENGTH = 3330, + PACK_SKIP_ROWS = 3331, + PACK_SKIP_PIXELS = 3332, + COLOR = 6144, + DEPTH = 6145, + STENCIL = 6146, + RED = 6403, + RGB8 = 32849, + RGBA8 = 32856, + RGB10_A2 = 32857, + TEXTURE_BINDING_3D = 32874, + UNPACK_SKIP_IMAGES = 32877, + UNPACK_IMAGE_HEIGHT = 32878, + TEXTURE_3D = 32879, + TEXTURE_WRAP_R = 32882, + MAX_3D_TEXTURE_SIZE = 32883, + UNSIGNED_INT_2_10_10_10_REV = 33640, + MAX_ELEMENTS_VERTICES = 33000, + MAX_ELEMENTS_INDICES = 33001, + TEXTURE_MIN_LOD = 33082, + TEXTURE_MAX_LOD = 33083, + TEXTURE_BASE_LEVEL = 33084, + TEXTURE_MAX_LEVEL = 33085, + MIN = 32775, + MAX = 32776, + DEPTH_COMPONENT24 = 33190, + MAX_TEXTURE_LOD_BIAS = 34045, + TEXTURE_COMPARE_MODE = 34892, + TEXTURE_COMPARE_FUNC = 34893, + CURRENT_QUERY = 34917, + QUERY_RESULT = 34918, + QUERY_RESULT_AVAILABLE = 34919, + STREAM_READ = 35041, + STREAM_COPY = 35042, + STATIC_READ = 35045, + STATIC_COPY = 35046, + DYNAMIC_READ = 35049, + DYNAMIC_COPY = 35050, + MAX_DRAW_BUFFERS = 34852, + DRAW_BUFFER0 = 34853, + DRAW_BUFFER1 = 34854, + DRAW_BUFFER2 = 34855, + DRAW_BUFFER3 = 34856, + DRAW_BUFFER4 = 34857, + DRAW_BUFFER5 = 34858, + DRAW_BUFFER6 = 34859, + DRAW_BUFFER7 = 34860, + DRAW_BUFFER8 = 34861, + DRAW_BUFFER9 = 34862, + DRAW_BUFFER10 = 34863, + DRAW_BUFFER11 = 34864, + DRAW_BUFFER12 = 34865, + DRAW_BUFFER13 = 34866, + DRAW_BUFFER14 = 34867, + DRAW_BUFFER15 = 34868, + MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657, + MAX_VERTEX_UNIFORM_COMPONENTS = 35658, + SAMPLER_3D = 35679, + SAMPLER_2D_SHADOW = 35682, + FRAGMENT_SHADER_DERIVATIVE_HINT = 35723, + PIXEL_PACK_BUFFER = 35051, + PIXEL_UNPACK_BUFFER = 35052, + PIXEL_PACK_BUFFER_BINDING = 35053, + PIXEL_UNPACK_BUFFER_BINDING = 35055, + FLOAT_MAT2x3 = 35685, + FLOAT_MAT2x4 = 35686, + FLOAT_MAT3x2 = 35687, + FLOAT_MAT3x4 = 35688, + FLOAT_MAT4x2 = 35689, + FLOAT_MAT4x3 = 35690, + SRGB = 35904, + SRGB8 = 35905, + SRGB8_ALPHA8 = 35907, + COMPARE_REF_TO_TEXTURE = 34894, + RGBA32F = 34836, + RGB32F = 34837, + RGBA16F = 34842, + RGB16F = 34843, + VERTEX_ATTRIB_ARRAY_INTEGER = 35069, + MAX_ARRAY_TEXTURE_LAYERS = 35071, + MIN_PROGRAM_TEXEL_OFFSET = 35076, + MAX_PROGRAM_TEXEL_OFFSET = 35077, + MAX_VARYING_COMPONENTS = 35659, + TEXTURE_2D_ARRAY = 35866, + TEXTURE_BINDING_2D_ARRAY = 35869, + R11F_G11F_B10F = 35898, + UNSIGNED_INT_10F_11F_11F_REV = 35899, + RGB9_E5 = 35901, + UNSIGNED_INT_5_9_9_9_REV = 35902, + TRANSFORM_FEEDBACK_BUFFER_MODE = 35967, + MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968, + TRANSFORM_FEEDBACK_VARYINGS = 35971, + TRANSFORM_FEEDBACK_BUFFER_START = 35972, + TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973, + TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976, + RASTERIZER_DISCARD = 35977, + MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978, + MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979, + INTERLEAVED_ATTRIBS = 35980, + SEPARATE_ATTRIBS = 35981, + TRANSFORM_FEEDBACK_BUFFER = 35982, + TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983, + RGBA32UI = 36208, + RGB32UI = 36209, + RGBA16UI = 36214, + RGB16UI = 36215, + RGBA8UI = 36220, + RGB8UI = 36221, + RGBA32I = 36226, + RGB32I = 36227, + RGBA16I = 36232, + RGB16I = 36233, + RGBA8I = 36238, + RGB8I = 36239, + RED_INTEGER = 36244, + RGB_INTEGER = 36248, + RGBA_INTEGER = 36249, + SAMPLER_2D_ARRAY = 36289, + SAMPLER_2D_ARRAY_SHADOW = 36292, + SAMPLER_CUBE_SHADOW = 36293, + UNSIGNED_INT_VEC2 = 36294, + UNSIGNED_INT_VEC3 = 36295, + UNSIGNED_INT_VEC4 = 36296, + INT_SAMPLER_2D = 36298, + INT_SAMPLER_3D = 36299, + INT_SAMPLER_CUBE = 36300, + INT_SAMPLER_2D_ARRAY = 36303, + UNSIGNED_INT_SAMPLER_2D = 36306, + UNSIGNED_INT_SAMPLER_3D = 36307, + UNSIGNED_INT_SAMPLER_CUBE = 36308, + UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311, + DEPTH_COMPONENT32F = 36012, + DEPTH32F_STENCIL8 = 36013, + FLOAT_32_UNSIGNED_INT_24_8_REV = 36269, + FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296, + FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297, + FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298, + FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299, + FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300, + FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301, + FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302, + FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303, + FRAMEBUFFER_DEFAULT = 33304, + UNSIGNED_INT_24_8 = 34042, + DEPTH24_STENCIL8 = 35056, + UNSIGNED_NORMALIZED = 35863, + DRAW_FRAMEBUFFER_BINDING = 36006, + READ_FRAMEBUFFER = 36008, + DRAW_FRAMEBUFFER = 36009, + READ_FRAMEBUFFER_BINDING = 36010, + RENDERBUFFER_SAMPLES = 36011, + FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052, + MAX_COLOR_ATTACHMENTS = 36063, + COLOR_ATTACHMENT1 = 36065, + COLOR_ATTACHMENT2 = 36066, + COLOR_ATTACHMENT3 = 36067, + COLOR_ATTACHMENT4 = 36068, + COLOR_ATTACHMENT5 = 36069, + COLOR_ATTACHMENT6 = 36070, + COLOR_ATTACHMENT7 = 36071, + COLOR_ATTACHMENT8 = 36072, + COLOR_ATTACHMENT9 = 36073, + COLOR_ATTACHMENT10 = 36074, + COLOR_ATTACHMENT11 = 36075, + COLOR_ATTACHMENT12 = 36076, + COLOR_ATTACHMENT13 = 36077, + COLOR_ATTACHMENT14 = 36078, + COLOR_ATTACHMENT15 = 36079, + FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182, + MAX_SAMPLES = 36183, + HALF_FLOAT = 5131, + RG = 33319, + RG_INTEGER = 33320, + R8 = 33321, + RG8 = 33323, + R16F = 33325, + R32F = 33326, + RG16F = 33327, + RG32F = 33328, + R8I = 33329, + R8UI = 33330, + R16I = 33331, + R16UI = 33332, + R32I = 33333, + R32UI = 33334, + RG8I = 33335, + RG8UI = 33336, + RG16I = 33337, + RG16UI = 33338, + RG32I = 33339, + RG32UI = 33340, + VERTEX_ARRAY_BINDING = 34229, + R8_SNORM = 36756, + RG8_SNORM = 36757, + RGB8_SNORM = 36758, + RGBA8_SNORM = 36759, + SIGNED_NORMALIZED = 36764, + COPY_READ_BUFFER = 36662, + COPY_WRITE_BUFFER = 36663, + COPY_READ_BUFFER_BINDING = 36662, + COPY_WRITE_BUFFER_BINDING = 36663, + UNIFORM_BUFFER = 35345, + UNIFORM_BUFFER_BINDING = 35368, + UNIFORM_BUFFER_START = 35369, + UNIFORM_BUFFER_SIZE = 35370, + MAX_VERTEX_UNIFORM_BLOCKS = 35371, + MAX_FRAGMENT_UNIFORM_BLOCKS = 35373, + MAX_COMBINED_UNIFORM_BLOCKS = 35374, + MAX_UNIFORM_BUFFER_BINDINGS = 35375, + MAX_UNIFORM_BLOCK_SIZE = 35376, + MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377, + MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379, + UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380, + ACTIVE_UNIFORM_BLOCKS = 35382, + UNIFORM_TYPE = 35383, + UNIFORM_SIZE = 35384, + UNIFORM_BLOCK_INDEX = 35386, + UNIFORM_OFFSET = 35387, + UNIFORM_ARRAY_STRIDE = 35388, + UNIFORM_MATRIX_STRIDE = 35389, + UNIFORM_IS_ROW_MAJOR = 35390, + UNIFORM_BLOCK_BINDING = 35391, + UNIFORM_BLOCK_DATA_SIZE = 35392, + UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394, + UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395, + UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396, + UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398, + INVALID_INDEX = 4294967295, + MAX_VERTEX_OUTPUT_COMPONENTS = 37154, + MAX_FRAGMENT_INPUT_COMPONENTS = 37157, + MAX_SERVER_WAIT_TIMEOUT = 37137, + OBJECT_TYPE = 37138, + SYNC_CONDITION = 37139, + SYNC_STATUS = 37140, + SYNC_FLAGS = 37141, + SYNC_FENCE = 37142, + SYNC_GPU_COMMANDS_COMPLETE = 37143, + UNSIGNALED = 37144, + SIGNALED = 37145, + ALREADY_SIGNALED = 37146, + TIMEOUT_EXPIRED = 37147, + CONDITION_SATISFIED = 37148, + WAIT_FAILED = 37149, + SYNC_FLUSH_COMMANDS_BIT = 1, + VERTEX_ATTRIB_ARRAY_DIVISOR = 35070, + ANY_SAMPLES_PASSED = 35887, + ANY_SAMPLES_PASSED_CONSERVATIVE = 36202, + SAMPLER_BINDING = 35097, + RGB10_A2UI = 36975, + INT_2_10_10_10_REV = 36255, + TRANSFORM_FEEDBACK = 36386, + TRANSFORM_FEEDBACK_PAUSED = 36387, + TRANSFORM_FEEDBACK_ACTIVE = 36388, + TRANSFORM_FEEDBACK_BINDING = 36389, + COMPRESSED_R11_EAC = 37488, + COMPRESSED_SIGNED_R11_EAC = 37489, + COMPRESSED_RG11_EAC = 37490, + COMPRESSED_SIGNED_RG11_EAC = 37491, + COMPRESSED_RGB8_ETC2 = 37492, + COMPRESSED_SRGB8_ETC2 = 37493, + COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37494, + COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37495, + COMPRESSED_RGBA8_ETC2_EAC = 37496, + COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37497, + TEXTURE_IMMUTABLE_FORMAT = 37167, + MAX_ELEMENT_INDEX = 36203, + TEXTURE_IMMUTABLE_LEVELS = 33503, + MAX_TEXTURE_MAX_ANISOTROPY_EXT = 34047 +}/** + * A {@link TerrainProvider} that produces terrain geometry by tessellating height maps + * retrieved from Elevation Tiles of an an ArcGIS ImageService. + * @example + * var terrainProvider = new Cesium.ArcGISTiledElevationTerrainProvider({ + * url : 'https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer', + * token : 'KED1aF_I4UzXOHy3BnhwyBHU4l5oY6rO6walkmHoYqGp4XyIWUd5YZUC1ZrLAzvV40pR6gBXQayh0eFA8m6vPg..' + * }); + * viewer.terrainProvider = terrainProvider; + * + * + * @param options - Object with the following properties: + * @param options.url - The URL of the ArcGIS ImageServer service. + * @param [options.token] - The authorization token to use to connect to the service. + * @param [options.ellipsoid] - The ellipsoid. If the tilingScheme is specified, + * this parameter is ignored and the tiling scheme's ellipsoid is used instead. + * If neither parameter is specified, the WGS84 ellipsoid is used. + */ +export class ArcGISTiledElevationTerrainProvider { + constructor(options: { + url: Resource | string | Promise | Promise; + token?: string; + ellipsoid?: Ellipsoid; + }); + /** + * Gets an event that is raised when the terrain provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + errorEvent: Event; + /** + * Gets the credit to display when this terrain provider is active. Typically this is used to credit + * the source of the terrain. This function should not be called before {@link ArcGISTiledElevationTerrainProvider#ready} returns true. + */ + credit: Credit; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link ArcGISTiledElevationTerrainProvider#ready} returns true. + */ + tilingScheme: GeographicTilingScheme; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets a value indicating whether or not the provider includes a water mask. The water mask + * indicates which areas of the globe are water rather than land, so they can be rendered + * as a reflective surface with animated waves. This function should not be + * called before {@link ArcGISTiledElevationTerrainProvider#ready} returns true. + */ + hasWaterMask: boolean; + /** + * Gets a value indicating whether or not the requested tiles include vertex normals. + * This function should not be called before {@link ArcGISTiledElevationTerrainProvider#ready} returns true. + */ + hasVertexNormals: boolean; + /** + * Gets an object that can be used to determine availability of terrain from this provider, such as + * at points and in rectangles. This function should not be called before + * {@link TerrainProvider#ready} returns true. This property may be undefined if availability + * information is not available. + */ + availability: TileAvailability; + /** + * Requests the geometry for a given tile. This function should not be called before + * {@link ArcGISTiledElevationTerrainProvider#ready} returns true. The result includes terrain + * data and indicates that all child tiles are available. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the requested geometry. If this method + * returns undefined instead of a promise, it is an indication that too many requests are already + * pending and the request will be retried later. + */ + requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Gets the maximum geometric error allowed in a tile at a given level. + * @param level - The tile level for which to get the maximum geometric error. + * @returns The maximum geometric error. + */ + getLevelMaximumGeometricError(level: number): number; + /** + * Determines whether data for a tile is available to be loaded. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if not supported, otherwise true or false. + */ + getTileDataAvailable(x: number, y: number, level: number): boolean; + /** + * Makes sure we load availability data for a tile + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded + */ + loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise; +} + +/** + * ArcType defines the path that should be taken connecting vertices. + */ +export enum ArcType { + /** + * Straight line that does not conform to the surface of the ellipsoid. + */ + NONE = 0, + /** + * Follow geodesic path. + */ + GEODESIC = 1, + /** + * Follow rhumb or loxodrome path. + */ + RHUMB = 2 +} + +/** + * A collection of key-value pairs that is stored as a hash for easy + * lookup but also provides an array for fast iteration. + */ +export class AssociativeArray { + constructor(); + /** + * Gets the number of items in the collection. + */ + length: number; + /** + * Gets an unordered array of all values in the collection. + * This is a live array that will automatically reflect the values in the collection, + * it should not be modified directly. + */ + values: any[]; + /** + * Determines if the provided key is in the array. + * @param key - The key to check. + * @returns true if the key is in the array, false otherwise. + */ + contains(key: string | number): boolean; + /** + * Associates the provided key with the provided value. If the key already + * exists, it is overwritten with the new value. + * @param key - A unique identifier. + * @param value - The value to associate with the provided key. + */ + set(key: string | number, value: any): void; + /** + * Retrieves the value associated with the provided key. + * @param key - The key whose value is to be retrieved. + * @returns The associated value, or undefined if the key does not exist in the collection. + */ + get(key: string | number): any; + /** + * Removes a key-value pair from the collection. + * @param key - The key to be removed. + * @returns True if it was removed, false if the key was not in the collection. + */ + remove(key: string | number): boolean; + /** + * Clears the collection. + */ + removeAll(): void; +} + +/** + * Creates an instance of an AxisAlignedBoundingBox from the minimum and maximum points along the x, y, and z axes. + * @param [minimum = Cartesian3.ZERO] - The minimum point along the x, y, and z axes. + * @param [maximum = Cartesian3.ZERO] - The maximum point along the x, y, and z axes. + * @param [center] - The center of the box; automatically computed if not supplied. + */ +export class AxisAlignedBoundingBox { + constructor(minimum?: Cartesian3, maximum?: Cartesian3, center?: Cartesian3); + /** + * The minimum point defining the bounding box. + */ + minimum: Cartesian3; + /** + * The maximum point defining the bounding box. + */ + maximum: Cartesian3; + /** + * The center point of the bounding box. + */ + center: Cartesian3; + /** + * Computes an instance of an AxisAlignedBoundingBox. The box is determined by + * finding the points spaced the farthest apart on the x, y, and z axes. + * @example + * // Compute an axis aligned bounding box enclosing two points. + * var box = Cesium.AxisAlignedBoundingBox.fromPoints([new Cesium.Cartesian3(2, 0, 0), new Cesium.Cartesian3(-2, 0, 0)]); + * @param positions - List of points that the bounding box will enclose. Each point must have a x, y, and z properties. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new AxisAlignedBoundingBox instance if one was not provided. + */ + static fromPoints(positions: Cartesian3[], result?: AxisAlignedBoundingBox): AxisAlignedBoundingBox; + /** + * Duplicates a AxisAlignedBoundingBox instance. + * @param box - The bounding box to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new AxisAlignedBoundingBox instance if none was provided. (Returns undefined if box is undefined) + */ + static clone(box: AxisAlignedBoundingBox, result?: AxisAlignedBoundingBox): AxisAlignedBoundingBox; + /** + * Compares the provided AxisAlignedBoundingBox componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first AxisAlignedBoundingBox. + * @param [right] - The second AxisAlignedBoundingBox. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: AxisAlignedBoundingBox, right?: AxisAlignedBoundingBox): boolean; + /** + * Determines which side of a plane a box is located. + * @param box - The bounding box to test. + * @param plane - The plane to test against. + * @returns {@link Intersect.INSIDE} if the entire box is on the side of the plane + * the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is + * on the opposite side, and {@link Intersect.INTERSECTING} if the box + * intersects the plane. + */ + static intersectPlane(box: AxisAlignedBoundingBox, plane: Plane): Intersect; + /** + * Duplicates this AxisAlignedBoundingBox instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new AxisAlignedBoundingBox instance if one was not provided. + */ + clone(result?: AxisAlignedBoundingBox): AxisAlignedBoundingBox; + /** + * Determines which side of a plane this box is located. + * @param plane - The plane to test against. + * @returns {@link Intersect.INSIDE} if the entire box is on the side of the plane + * the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is + * on the opposite side, and {@link Intersect.INTERSECTING} if the box + * intersects the plane. + */ + intersectPlane(plane: Plane): Intersect; + /** + * Compares this AxisAlignedBoundingBox against the provided AxisAlignedBoundingBox componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side AxisAlignedBoundingBox. + * @returns true if they are equal, false otherwise. + */ + equals(right?: AxisAlignedBoundingBox): boolean; +} + +/** + * Computes the barycentric coordinates for a point with respect to a triangle. + * @example + * // Returns Cartesian3.UNIT_X + * var p = new Cesium.Cartesian3(-1.0, 0.0, 0.0); + * var b = Cesium.barycentricCoordinates(p, + * new Cesium.Cartesian3(-1.0, 0.0, 0.0), + * new Cesium.Cartesian3( 1.0, 0.0, 0.0), + * new Cesium.Cartesian3( 0.0, 1.0, 1.0)); + * @param point - The point to test. + * @param p0 - The first point of the triangle, corresponding to the barycentric x-axis. + * @param p1 - The second point of the triangle, corresponding to the barycentric y-axis. + * @param p2 - The third point of the triangle, corresponding to the barycentric z-axis. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. + */ +export function barycentricCoordinates(point: Cartesian2 | Cartesian3, p0: Cartesian2 | Cartesian3, p1: Cartesian2 | Cartesian3, p2: Cartesian2 | Cartesian3, result?: Cartesian3): Cartesian3; + +/** + * Finds an item in a sorted array. + * @example + * // Create a comparator function to search through an array of numbers. + * function comparator(a, b) { + * return a - b; + * }; + * var numbers = [0, 2, 4, 6, 8]; + * var index = Cesium.binarySearch(numbers, 6, comparator); // 3 + * @param array - The sorted array to search. + * @param itemToFind - The item to find in the array. + * @param comparator - The function to use to compare the item to + * elements in the array. + * @returns The index of itemToFind in the array, if it exists. If itemToFind + * does not exist, the return value is a negative number which is the bitwise complement (~) + * of the index before which the itemToFind should be inserted in order to maintain the + * sorted order of the array. + */ +export function binarySearch(array: any[], itemToFind: any, comparator: binarySearchComparator): number; + +/** + * A function used to compare two items while performing a binary search. + * @example + * function compareNumbers(a, b) { + * return a - b; + * } + * @param a - An item in the array. + * @param b - The item being searched for. + */ +export type binarySearchComparator = (a: any, b: any) => number; + +/** + * Provides geocoding through Bing Maps. + * @param options - Object with the following properties: + * @param options.key - A key to use with the Bing Maps geocoding service + */ +export class BingMapsGeocoderService { + constructor(options: { + key: string; + }); + /** + * The URL endpoint for the Bing geocoder service + */ + readonly url: string; + /** + * The key for the Bing geocoder service + */ + readonly key: string; + /** + * @param query - The query to be sent to the geocoder service + */ + geocode(query: string): Promise; +} + +/** + * A bounding rectangle given by a corner, width and height. + * @param [x = 0.0] - The x coordinate of the rectangle. + * @param [y = 0.0] - The y coordinate of the rectangle. + * @param [width = 0.0] - The width of the rectangle. + * @param [height = 0.0] - The height of the rectangle. + */ +export class BoundingRectangle { + constructor(x?: number, y?: number, width?: number, height?: number); + /** + * The x coordinate of the rectangle. + */ + x: number; + /** + * The y coordinate of the rectangle. + */ + y: number; + /** + * The width of the rectangle. + */ + width: number; + /** + * The height of the rectangle. + */ + height: number; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: BoundingRectangle, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new BoundingRectangle instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: BoundingRectangle): BoundingRectangle; + /** + * Computes a bounding rectangle enclosing the list of 2D points. + * The rectangle is oriented with the corner at the bottom left. + * @param positions - List of points that the bounding rectangle will enclose. Each point must have x and y properties. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingRectangle instance if one was not provided. + */ + static fromPoints(positions: Cartesian2[], result?: BoundingRectangle): BoundingRectangle; + /** + * Computes a bounding rectangle from a rectangle. + * @param rectangle - The valid rectangle used to create a bounding rectangle. + * @param [projection = GeographicProjection] - The projection used to project the rectangle into 2D. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingRectangle instance if one was not provided. + */ + static fromRectangle(rectangle: Rectangle, projection?: any, result?: BoundingRectangle): BoundingRectangle; + /** + * Duplicates a BoundingRectangle instance. + * @param rectangle - The bounding rectangle to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingRectangle instance if one was not provided. (Returns undefined if rectangle is undefined) + */ + static clone(rectangle: BoundingRectangle, result?: BoundingRectangle): BoundingRectangle; + /** + * Computes a bounding rectangle that is the union of the left and right bounding rectangles. + * @param left - A rectangle to enclose in bounding rectangle. + * @param right - A rectangle to enclose in a bounding rectangle. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingRectangle instance if one was not provided. + */ + static union(left: BoundingRectangle, right: BoundingRectangle, result?: BoundingRectangle): BoundingRectangle; + /** + * Computes a bounding rectangle by enlarging the provided rectangle until it contains the provided point. + * @param rectangle - A rectangle to expand. + * @param point - A point to enclose in a bounding rectangle. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingRectangle instance if one was not provided. + */ + static expand(rectangle: BoundingRectangle, point: Cartesian2, result?: BoundingRectangle): BoundingRectangle; + /** + * Determines if two rectangles intersect. + * @param left - A rectangle to check for intersection. + * @param right - The other rectangle to check for intersection. + * @returns Intersect.INTESECTING if the rectangles intersect, Intersect.OUTSIDE otherwise. + */ + static intersect(left: BoundingRectangle, right: BoundingRectangle): Intersect; + /** + * Compares the provided BoundingRectangles componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first BoundingRectangle. + * @param [right] - The second BoundingRectangle. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: BoundingRectangle, right?: BoundingRectangle): boolean; + /** + * Duplicates this BoundingRectangle instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingRectangle instance if one was not provided. + */ + clone(result?: BoundingRectangle): BoundingRectangle; + /** + * Determines if this rectangle intersects with another. + * @param right - A rectangle to check for intersection. + * @returns Intersect.INTESECTING if the rectangles intersect, Intersect.OUTSIDE otherwise. + */ + intersect(right: BoundingRectangle): Intersect; + /** + * Compares this BoundingRectangle against the provided BoundingRectangle componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side BoundingRectangle. + * @returns true if they are equal, false otherwise. + */ + equals(right?: BoundingRectangle): boolean; +} + +/** + * A bounding sphere with a center and a radius. + * @param [center = Cartesian3.ZERO] - The center of the bounding sphere. + * @param [radius = 0.0] - The radius of the bounding sphere. + */ +export class BoundingSphere { + constructor(center?: Cartesian3, radius?: number); + /** + * The center point of the sphere. + */ + center: Cartesian3; + /** + * The radius of the sphere. + */ + radius: number; + /** + * Computes a tight-fitting bounding sphere enclosing a list of 3D Cartesian points. + * The bounding sphere is computed by running two algorithms, a naive algorithm and + * Ritter's algorithm. The smaller of the two spheres is used to ensure a tight fit. + * @param [positions] - An array of points that the bounding sphere will enclose. Each point must have x, y, and z properties. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if one was not provided. + */ + static fromPoints(positions?: Cartesian3[], result?: BoundingSphere): BoundingSphere; + /** + * Computes a bounding sphere from a rectangle projected in 2D. + * @param [rectangle] - The rectangle around which to create a bounding sphere. + * @param [projection = GeographicProjection] - The projection used to project the rectangle into 2D. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static fromRectangle2D(rectangle?: Rectangle, projection?: any, result?: BoundingSphere): BoundingSphere; + /** + * Computes a bounding sphere from a rectangle projected in 2D. The bounding sphere accounts for the + * object's minimum and maximum heights over the rectangle. + * @param [rectangle] - The rectangle around which to create a bounding sphere. + * @param [projection = GeographicProjection] - The projection used to project the rectangle into 2D. + * @param [minimumHeight = 0.0] - The minimum height over the rectangle. + * @param [maximumHeight = 0.0] - The maximum height over the rectangle. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static fromRectangleWithHeights2D(rectangle?: Rectangle, projection?: any, minimumHeight?: number, maximumHeight?: number, result?: BoundingSphere): BoundingSphere; + /** + * Computes a bounding sphere from a rectangle in 3D. The bounding sphere is created using a subsample of points + * on the ellipsoid and contained in the rectangle. It may not be accurate for all rectangles on all types of ellipsoids. + * @param [rectangle] - The valid rectangle used to create a bounding sphere. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid used to determine positions of the rectangle. + * @param [surfaceHeight = 0.0] - The height above the surface of the ellipsoid. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static fromRectangle3D(rectangle?: Rectangle, ellipsoid?: Ellipsoid, surfaceHeight?: number, result?: BoundingSphere): BoundingSphere; + /** + * Computes a tight-fitting bounding sphere enclosing a list of 3D points, where the points are + * stored in a flat array in X, Y, Z, order. The bounding sphere is computed by running two + * algorithms, a naive algorithm and Ritter's algorithm. The smaller of the two spheres is used to + * ensure a tight fit. + * @example + * // Compute the bounding sphere from 3 positions, each specified relative to a center. + * // In addition to the X, Y, and Z coordinates, the points array contains two additional + * // elements per point which are ignored for the purpose of computing the bounding sphere. + * var center = new Cesium.Cartesian3(1.0, 2.0, 3.0); + * var points = [1.0, 2.0, 3.0, 0.1, 0.2, + * 4.0, 5.0, 6.0, 0.1, 0.2, + * 7.0, 8.0, 9.0, 0.1, 0.2]; + * var sphere = Cesium.BoundingSphere.fromVertices(points, center, 5); + * @param [positions] - An array of points that the bounding sphere will enclose. Each point + * is formed from three elements in the array in the order X, Y, Z. + * @param [center = Cartesian3.ZERO] - The position to which the positions are relative, which need not be the + * origin of the coordinate system. This is useful when the positions are to be used for + * relative-to-center (RTC) rendering. + * @param [stride = 3] - The number of array elements per vertex. It must be at least 3, but it may + * be higher. Regardless of the value of this parameter, the X coordinate of the first position + * is at array index 0, the Y coordinate is at array index 1, and the Z coordinate is at array index + * 2. When stride is 3, the X coordinate of the next position then begins at array index 3. If + * the stride is 5, however, two array elements are skipped and the next position begins at array + * index 5. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if one was not provided. + */ + static fromVertices(positions?: number[], center?: Cartesian3, stride?: number, result?: BoundingSphere): BoundingSphere; + /** + * Computes a tight-fitting bounding sphere enclosing a list of EncodedCartesian3s, where the points are + * stored in parallel flat arrays in X, Y, Z, order. The bounding sphere is computed by running two + * algorithms, a naive algorithm and Ritter's algorithm. The smaller of the two spheres is used to + * ensure a tight fit. + * @param [positionsHigh] - An array of high bits of the encoded cartesians that the bounding sphere will enclose. Each point + * is formed from three elements in the array in the order X, Y, Z. + * @param [positionsLow] - An array of low bits of the encoded cartesians that the bounding sphere will enclose. Each point + * is formed from three elements in the array in the order X, Y, Z. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if one was not provided. + */ + static fromEncodedCartesianVertices(positionsHigh?: number[], positionsLow?: number[], result?: BoundingSphere): BoundingSphere; + /** + * Computes a bounding sphere from the corner points of an axis-aligned bounding box. The sphere + * tighly and fully encompases the box. + * @example + * // Create a bounding sphere around the unit cube + * var sphere = Cesium.BoundingSphere.fromCornerPoints(new Cesium.Cartesian3(-0.5, -0.5, -0.5), new Cesium.Cartesian3(0.5, 0.5, 0.5)); + * @param [corner] - The minimum height over the rectangle. + * @param [oppositeCorner] - The maximum height over the rectangle. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static fromCornerPoints(corner?: Cartesian3, oppositeCorner?: Cartesian3, result?: BoundingSphere): BoundingSphere; + /** + * Creates a bounding sphere encompassing an ellipsoid. + * @example + * var boundingSphere = Cesium.BoundingSphere.fromEllipsoid(ellipsoid); + * @param ellipsoid - The ellipsoid around which to create a bounding sphere. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static fromEllipsoid(ellipsoid: Ellipsoid, result?: BoundingSphere): BoundingSphere; + /** + * Computes a tight-fitting bounding sphere enclosing the provided array of bounding spheres. + * @param [boundingSpheres] - The array of bounding spheres. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static fromBoundingSpheres(boundingSpheres?: BoundingSphere[], result?: BoundingSphere): BoundingSphere; + /** + * Computes a tight-fitting bounding sphere enclosing the provided oriented bounding box. + * @param orientedBoundingBox - The oriented bounding box. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static fromOrientedBoundingBox(orientedBoundingBox: OrientedBoundingBox, result?: BoundingSphere): BoundingSphere; + /** + * Duplicates a BoundingSphere instance. + * @param sphere - The bounding sphere to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. (Returns undefined if sphere is undefined) + */ + static clone(sphere: BoundingSphere, result?: BoundingSphere): BoundingSphere; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: BoundingSphere, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: BoundingSphere): BoundingSphere; + /** + * Computes a bounding sphere that contains both the left and right bounding spheres. + * @param left - A sphere to enclose in a bounding sphere. + * @param right - A sphere to enclose in a bounding sphere. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static union(left: BoundingSphere, right: BoundingSphere, result?: BoundingSphere): BoundingSphere; + /** + * Computes a bounding sphere by enlarging the provided sphere to contain the provided point. + * @param sphere - A sphere to expand. + * @param point - A point to enclose in a bounding sphere. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static expand(sphere: BoundingSphere, point: Cartesian3, result?: BoundingSphere): BoundingSphere; + /** + * Determines which side of a plane a sphere is located. + * @param sphere - The bounding sphere to test. + * @param plane - The plane to test against. + * @returns {@link Intersect.INSIDE} if the entire sphere is on the side of the plane + * the normal is pointing, {@link Intersect.OUTSIDE} if the entire sphere is + * on the opposite side, and {@link Intersect.INTERSECTING} if the sphere + * intersects the plane. + */ + static intersectPlane(sphere: BoundingSphere, plane: Plane): Intersect; + /** + * Applies a 4x4 affine transformation matrix to a bounding sphere. + * @param sphere - The bounding sphere to apply the transformation to. + * @param transform - The transformation matrix to apply to the bounding sphere. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static transform(sphere: BoundingSphere, transform: Matrix4, result?: BoundingSphere): BoundingSphere; + /** + * Computes the estimated distance squared from the closest point on a bounding sphere to a point. + * @example + * // Sort bounding spheres from back to front + * spheres.sort(function(a, b) { + * return Cesium.BoundingSphere.distanceSquaredTo(b, camera.positionWC) - Cesium.BoundingSphere.distanceSquaredTo(a, camera.positionWC); + * }); + * @param sphere - The sphere. + * @param cartesian - The point + * @returns The estimated distance squared from the bounding sphere to the point. + */ + static distanceSquaredTo(sphere: BoundingSphere, cartesian: Cartesian3): number; + /** + * Applies a 4x4 affine transformation matrix to a bounding sphere where there is no scale + * The transformation matrix is not verified to have a uniform scale of 1. + * This method is faster than computing the general bounding sphere transform using {@link BoundingSphere.transform}. + * @example + * var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(positionOnEllipsoid); + * var boundingSphere = new Cesium.BoundingSphere(); + * var newBoundingSphere = Cesium.BoundingSphere.transformWithoutScale(boundingSphere, modelMatrix); + * @param sphere - The bounding sphere to apply the transformation to. + * @param transform - The transformation matrix to apply to the bounding sphere. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static transformWithoutScale(sphere: BoundingSphere, transform: Matrix4, result?: BoundingSphere): BoundingSphere; + /** + * The distances calculated by the vector from the center of the bounding sphere to position projected onto direction + * plus/minus the radius of the bounding sphere. + *
+ * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the + * closest and farthest planes from position that intersect the bounding sphere. + * @param sphere - The bounding sphere to calculate the distance to. + * @param position - The position to calculate the distance from. + * @param direction - The direction from position. + * @param [result] - A Interval to store the nearest and farthest distances. + * @returns The nearest and farthest distances on the bounding sphere from position in direction. + */ + static computePlaneDistances(sphere: BoundingSphere, position: Cartesian3, direction: Cartesian3, result?: Interval): Interval; + /** + * Creates a bounding sphere in 2D from a bounding sphere in 3D world coordinates. + * @param sphere - The bounding sphere to transform to 2D. + * @param [projection = GeographicProjection] - The projection to 2D. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + static projectTo2D(sphere: BoundingSphere, projection?: any, result?: BoundingSphere): BoundingSphere; + /** + * Determines whether or not a sphere is hidden from view by the occluder. + * @param sphere - The bounding sphere surrounding the occludee object. + * @param occluder - The occluder. + * @returns true if the sphere is not visible; otherwise false. + */ + static isOccluded(sphere: BoundingSphere, occluder: Occluder): boolean; + /** + * Compares the provided BoundingSphere componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first BoundingSphere. + * @param [right] - The second BoundingSphere. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: BoundingSphere, right?: BoundingSphere): boolean; + /** + * Determines which side of a plane the sphere is located. + * @param plane - The plane to test against. + * @returns {@link Intersect.INSIDE} if the entire sphere is on the side of the plane + * the normal is pointing, {@link Intersect.OUTSIDE} if the entire sphere is + * on the opposite side, and {@link Intersect.INTERSECTING} if the sphere + * intersects the plane. + */ + intersectPlane(plane: Plane): Intersect; + /** + * Computes the estimated distance squared from the closest point on a bounding sphere to a point. + * @example + * // Sort bounding spheres from back to front + * spheres.sort(function(a, b) { + * return b.distanceSquaredTo(camera.positionWC) - a.distanceSquaredTo(camera.positionWC); + * }); + * @param cartesian - The point + * @returns The estimated distance squared from the bounding sphere to the point. + */ + distanceSquaredTo(cartesian: Cartesian3): number; + /** + * The distances calculated by the vector from the center of the bounding sphere to position projected onto direction + * plus/minus the radius of the bounding sphere. + *
+ * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the + * closest and farthest planes from position that intersect the bounding sphere. + * @param position - The position to calculate the distance from. + * @param direction - The direction from position. + * @param [result] - A Interval to store the nearest and farthest distances. + * @returns The nearest and farthest distances on the bounding sphere from position in direction. + */ + computePlaneDistances(position: Cartesian3, direction: Cartesian3, result?: Interval): Interval; + /** + * Determines whether or not a sphere is hidden from view by the occluder. + * @param occluder - The occluder. + * @returns true if the sphere is not visible; otherwise false. + */ + isOccluded(occluder: Occluder): boolean; + /** + * Compares this BoundingSphere against the provided BoundingSphere componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side BoundingSphere. + * @returns true if they are equal, false otherwise. + */ + equals(right?: BoundingSphere): boolean; + /** + * Duplicates this BoundingSphere instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new BoundingSphere instance if none was provided. + */ + clone(result?: BoundingSphere): BoundingSphere; + /** + * Computes the radius of the BoundingSphere. + * @returns The radius of the BoundingSphere. + */ + volume(): number; +} + +/** + * Describes a cube centered at the origin. + * @example + * var box = new Cesium.BoxGeometry({ + * vertexFormat : Cesium.VertexFormat.POSITION_ONLY, + * maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0), + * minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0) + * }); + * var geometry = Cesium.BoxGeometry.createGeometry(box); + * @param options - Object with the following properties: + * @param options.minimum - The minimum x, y, and z coordinates of the box. + * @param options.maximum - The maximum x, y, and z coordinates of the box. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ +export class BoxGeometry { + constructor(options: { + minimum: Cartesian3; + maximum: Cartesian3; + vertexFormat?: VertexFormat; + }); + /** + * Creates a cube centered at the origin given its dimensions. + * @example + * var box = Cesium.BoxGeometry.fromDimensions({ + * vertexFormat : Cesium.VertexFormat.POSITION_ONLY, + * dimensions : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0) + * }); + * var geometry = Cesium.BoxGeometry.createGeometry(box); + * @param options - Object with the following properties: + * @param options.dimensions - The width, depth, and height of the box stored in the x, y, and z coordinates of the Cartesian3, respectively. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ + static fromDimensions(options: { + dimensions: Cartesian3; + vertexFormat?: VertexFormat; + }): BoxGeometry; + /** + * Creates a cube from the dimensions of an AxisAlignedBoundingBox. + * @example + * var aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0, + * -75.0, 30.0, + * -70.0, 30.0, + * -68.0, 40.0 + * ])); + * var box = Cesium.BoxGeometry.fromAxisAlignedBoundingBox(aabb); + * @param boundingBox - A description of the AxisAlignedBoundingBox. + */ + static fromAxisAlignedBoundingBox(boundingBox: AxisAlignedBoundingBox): BoxGeometry; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: BoxGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new BoxGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: BoxGeometry): BoxGeometry; + /** + * Computes the geometric representation of a box, including its vertices, indices, and a bounding sphere. + * @param boxGeometry - A description of the box. + * @returns The computed vertices and indices. + */ + static createGeometry(boxGeometry: BoxGeometry): Geometry | undefined; +} + +/** + * A description of the outline of a cube centered at the origin. + * @example + * var box = new Cesium.BoxOutlineGeometry({ + * maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0), + * minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0) + * }); + * var geometry = Cesium.BoxOutlineGeometry.createGeometry(box); + * @param options - Object with the following properties: + * @param options.minimum - The minimum x, y, and z coordinates of the box. + * @param options.maximum - The maximum x, y, and z coordinates of the box. + */ +export class BoxOutlineGeometry { + constructor(options: { + minimum: Cartesian3; + maximum: Cartesian3; + }); + /** + * Creates an outline of a cube centered at the origin given its dimensions. + * @example + * var box = Cesium.BoxOutlineGeometry.fromDimensions({ + * dimensions : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0) + * }); + * var geometry = Cesium.BoxOutlineGeometry.createGeometry(box); + * @param options - Object with the following properties: + * @param options.dimensions - The width, depth, and height of the box stored in the x, y, and z coordinates of the Cartesian3, respectively. + */ + static fromDimensions(options: { + dimensions: Cartesian3; + }): BoxOutlineGeometry; + /** + * Creates an outline of a cube from the dimensions of an AxisAlignedBoundingBox. + * @example + * var aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0, + * -75.0, 30.0, + * -70.0, 30.0, + * -68.0, 40.0 + * ])); + * var box = Cesium.BoxOutlineGeometry.fromAxisAlignedBoundingBox(aabb); + * + * + * @param boundingBox - A description of the AxisAlignedBoundingBox. + */ + static fromAxisAlignedBoundingBox(boundingBox: AxisAlignedBoundingBox): BoxOutlineGeometry; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: BoxOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new BoxOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: BoxOutlineGeometry): BoxOutlineGeometry; + /** + * Computes the geometric representation of an outline of a box, including its vertices, indices, and a bounding sphere. + * @param boxGeometry - A description of the box outline. + * @returns The computed vertices and indices. + */ + static createGeometry(boxGeometry: BoxOutlineGeometry): Geometry | undefined; +} + +/** + * Given a relative URL under the Cesium base URL, returns an absolute URL. + * @example + * var viewer = new Cesium.Viewer("cesiumContainer", { + * imageryProvider: new Cesium.TileMapServiceImageryProvider({ + * url: Cesium.buildModuleUrl("Assets/Textures/NaturalEarthII"), + * }), + * baseLayerPicker: false, + * }); + * @param relativeUrl - The relative path. + * @returns The absolutely URL representation of the provided path. + */ +export function buildModuleUrl(relativeUrl: string): string; + +/** + * A browser-independent function to cancel an animation frame requested using {@link requestAnimationFrame}. + * @param requestID - The value returned by {@link requestAnimationFrame}. + */ +export function cancelAnimationFrame(requestID: number): void; + +/** + * A 2D Cartesian point. + * @param [x = 0.0] - The X component. + * @param [y = 0.0] - The Y component. + */ +export class Cartesian2 { + constructor(x?: number, y?: number); + /** + * The X component. + */ + x: number; + /** + * The Y component. + */ + y: number; + /** + * Creates a Cartesian2 instance from x and y coordinates. + * @param x - The x coordinate. + * @param y - The y coordinate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. + */ + static fromElements(x: number, y: number, result?: Cartesian2): Cartesian2; + /** + * Duplicates a Cartesian2 instance. + * @param cartesian - The Cartesian to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. (Returns undefined if cartesian is undefined) + */ + static clone(cartesian: Cartesian2, result?: Cartesian2): Cartesian2; + /** + * Creates a Cartesian2 instance from an existing Cartesian3. This simply takes the + * x and y properties of the Cartesian3 and drops z. + * @param cartesian - The Cartesian3 instance to create a Cartesian2 instance from. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. + */ + static fromCartesian3(cartesian: Cartesian3, result?: Cartesian2): Cartesian2; + /** + * Creates a Cartesian2 instance from an existing Cartesian4. This simply takes the + * x and y properties of the Cartesian4 and drops z and w. + * @param cartesian - The Cartesian4 instance to create a Cartesian2 instance from. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. + */ + static fromCartesian4(cartesian: Cartesian4, result?: Cartesian2): Cartesian2; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Cartesian2, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Cartesian2): Cartesian2; + /** + * Flattens an array of Cartesian2s into and array of components. + * @param array - The array of cartesians to pack. + * @param [result] - The array onto which to store the result. If this is a typed array, it must have array.length * 2 components, else a {@link DeveloperError} will be thrown. If it is a regular array, it will be resized to have (array.length * 2) elements. + * @returns The packed array. + */ + static packArray(array: Cartesian2[], result?: number[]): number[]; + /** + * Unpacks an array of cartesian components into and array of Cartesian2s. + * @param array - The array of components to unpack. + * @param [result] - The array onto which to store the result. + * @returns The unpacked array. + */ + static unpackArray(array: number[], result?: Cartesian2[]): Cartesian2[]; + /** + * Creates a Cartesian2 from two consecutive elements in an array. + * @example + * // Create a Cartesian2 with (1.0, 2.0) + * var v = [1.0, 2.0]; + * var p = Cesium.Cartesian2.fromArray(v); + * + * // Create a Cartesian2 with (1.0, 2.0) using an offset into an array + * var v2 = [0.0, 0.0, 1.0, 2.0]; + * var p2 = Cesium.Cartesian2.fromArray(v2, 2); + * @param array - The array whose two consecutive elements correspond to the x and y components, respectively. + * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to the x component. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. + */ + static fromArray(array: number[], startingIndex?: number, result?: Cartesian2): Cartesian2; + /** + * Computes the value of the maximum component for the supplied Cartesian. + * @param cartesian - The cartesian to use. + * @returns The value of the maximum component. + */ + static maximumComponent(cartesian: Cartesian2): number; + /** + * Computes the value of the minimum component for the supplied Cartesian. + * @param cartesian - The cartesian to use. + * @returns The value of the minimum component. + */ + static minimumComponent(cartesian: Cartesian2): number; + /** + * Compares two Cartesians and computes a Cartesian which contains the minimum components of the supplied Cartesians. + * @param first - A cartesian to compare. + * @param second - A cartesian to compare. + * @param result - The object into which to store the result. + * @returns A cartesian with the minimum components. + */ + static minimumByComponent(first: Cartesian2, second: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Compares two Cartesians and computes a Cartesian which contains the maximum components of the supplied Cartesians. + * @param first - A cartesian to compare. + * @param second - A cartesian to compare. + * @param result - The object into which to store the result. + * @returns A cartesian with the maximum components. + */ + static maximumByComponent(first: Cartesian2, second: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Computes the provided Cartesian's squared magnitude. + * @param cartesian - The Cartesian instance whose squared magnitude is to be computed. + * @returns The squared magnitude. + */ + static magnitudeSquared(cartesian: Cartesian2): number; + /** + * Computes the Cartesian's magnitude (length). + * @param cartesian - The Cartesian instance whose magnitude is to be computed. + * @returns The magnitude. + */ + static magnitude(cartesian: Cartesian2): number; + /** + * Computes the distance between two points. + * @example + * // Returns 1.0 + * var d = Cesium.Cartesian2.distance(new Cesium.Cartesian2(1.0, 0.0), new Cesium.Cartesian2(2.0, 0.0)); + * @param left - The first point to compute the distance from. + * @param right - The second point to compute the distance to. + * @returns The distance between two points. + */ + static distance(left: Cartesian2, right: Cartesian2): number; + /** + * Computes the squared distance between two points. Comparing squared distances + * using this function is more efficient than comparing distances using {@link Cartesian2#distance}. + * @example + * // Returns 4.0, not 2.0 + * var d = Cesium.Cartesian2.distance(new Cesium.Cartesian2(1.0, 0.0), new Cesium.Cartesian2(3.0, 0.0)); + * @param left - The first point to compute the distance from. + * @param right - The second point to compute the distance to. + * @returns The distance between two points. + */ + static distanceSquared(left: Cartesian2, right: Cartesian2): number; + /** + * Computes the normalized form of the supplied Cartesian. + * @param cartesian - The Cartesian to be normalized. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static normalize(cartesian: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Computes the dot (scalar) product of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @returns The dot product. + */ + static dot(left: Cartesian2, right: Cartesian2): number; + /** + * Computes the componentwise product of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyComponents(left: Cartesian2, right: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Computes the componentwise quotient of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static divideComponents(left: Cartesian2, right: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Computes the componentwise sum of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static add(left: Cartesian2, right: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Computes the componentwise difference of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static subtract(left: Cartesian2, right: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Multiplies the provided Cartesian componentwise by the provided scalar. + * @param cartesian - The Cartesian to be scaled. + * @param scalar - The scalar to multiply with. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScalar(cartesian: Cartesian2, scalar: number, result: Cartesian2): Cartesian2; + /** + * Divides the provided Cartesian componentwise by the provided scalar. + * @param cartesian - The Cartesian to be divided. + * @param scalar - The scalar to divide by. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static divideByScalar(cartesian: Cartesian2, scalar: number, result: Cartesian2): Cartesian2; + /** + * Negates the provided Cartesian. + * @param cartesian - The Cartesian to be negated. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static negate(cartesian: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Computes the absolute value of the provided Cartesian. + * @param cartesian - The Cartesian whose absolute value is to be computed. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static abs(cartesian: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Computes the linear interpolation or extrapolation at t using the provided cartesians. + * @param start - The value corresponding to t at 0.0. + * @param end - The value corresponding to t at 1.0. + * @param t - The point along t at which to interpolate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static lerp(start: Cartesian2, end: Cartesian2, t: number, result: Cartesian2): Cartesian2; + /** + * Returns the angle, in radians, between the provided Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @returns The angle between the Cartesians. + */ + static angleBetween(left: Cartesian2, right: Cartesian2): number; + /** + * Returns the axis that is most orthogonal to the provided Cartesian. + * @param cartesian - The Cartesian on which to find the most orthogonal axis. + * @param result - The object onto which to store the result. + * @returns The most orthogonal axis. + */ + static mostOrthogonalAxis(cartesian: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Compares the provided Cartesians componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first Cartesian. + * @param [right] - The second Cartesian. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: Cartesian2, right?: Cartesian2): boolean; + /** + * Compares the provided Cartesians componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param [left] - The first Cartesian. + * @param [right] - The second Cartesian. + * @param [relativeEpsilon = 0] - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: Cartesian2, right?: Cartesian2, relativeEpsilon?: number, absoluteEpsilon?: number): boolean; + /** + * An immutable Cartesian2 instance initialized to (0.0, 0.0). + */ + static readonly ZERO: Cartesian2; + /** + * An immutable Cartesian2 instance initialized to (1.0, 0.0). + */ + static readonly UNIT_X: Cartesian2; + /** + * An immutable Cartesian2 instance initialized to (0.0, 1.0). + */ + static readonly UNIT_Y: Cartesian2; + /** + * Duplicates this Cartesian2 instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. + */ + clone(result?: Cartesian2): Cartesian2; + /** + * Compares this Cartesian against the provided Cartesian componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side Cartesian. + * @returns true if they are equal, false otherwise. + */ + equals(right?: Cartesian2): boolean; + /** + * Compares this Cartesian against the provided Cartesian componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param [right] - The right hand side Cartesian. + * @param [relativeEpsilon = 0] - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if they are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: Cartesian2, relativeEpsilon?: number, absoluteEpsilon?: number): boolean; + /** + * Creates a string representing this Cartesian in the format '(x, y)'. + * @returns A string representing the provided Cartesian in the format '(x, y)'. + */ + toString(): string; +} + +/** + * A 3D Cartesian point. + * @param [x = 0.0] - The X component. + * @param [y = 0.0] - The Y component. + * @param [z = 0.0] - The Z component. + */ +export class Cartesian3 { + constructor(x?: number, y?: number, z?: number); + /** + * The X component. + */ + x: number; + /** + * The Y component. + */ + y: number; + /** + * The Z component. + */ + z: number; + /** + * Converts the provided Spherical into Cartesian3 coordinates. + * @param spherical - The Spherical to be converted to Cartesian3. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. + */ + static fromSpherical(spherical: Spherical, result?: Cartesian3): Cartesian3; + /** + * Creates a Cartesian3 instance from x, y and z coordinates. + * @param x - The x coordinate. + * @param y - The y coordinate. + * @param z - The z coordinate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. + */ + static fromElements(x: number, y: number, z: number, result?: Cartesian3): Cartesian3; + /** + * Duplicates a Cartesian3 instance. + * @param cartesian - The Cartesian to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. (Returns undefined if cartesian is undefined) + */ + static clone(cartesian: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Creates a Cartesian3 instance from an existing Cartesian4. This simply takes the + * x, y, and z properties of the Cartesian4 and drops w. + * @param cartesian - The Cartesian4 instance to create a Cartesian3 instance from. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. + */ + static fromCartesian4(cartesian: Cartesian4, result?: Cartesian3): Cartesian3; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Cartesian3, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Cartesian3): Cartesian3; + /** + * Flattens an array of Cartesian3s into an array of components. + * @param array - The array of cartesians to pack. + * @param [result] - The array onto which to store the result. If this is a typed array, it must have array.length * 3 components, else a {@link DeveloperError} will be thrown. If it is a regular array, it will be resized to have (array.length * 3) elements. + * @returns The packed array. + */ + static packArray(array: Cartesian3[], result?: number[]): number[]; + /** + * Unpacks an array of cartesian components into an array of Cartesian3s. + * @param array - The array of components to unpack. + * @param [result] - The array onto which to store the result. + * @returns The unpacked array. + */ + static unpackArray(array: number[], result?: Cartesian3[]): Cartesian3[]; + /** + * Creates a Cartesian3 from three consecutive elements in an array. + * @example + * // Create a Cartesian3 with (1.0, 2.0, 3.0) + * var v = [1.0, 2.0, 3.0]; + * var p = Cesium.Cartesian3.fromArray(v); + * + * // Create a Cartesian3 with (1.0, 2.0, 3.0) using an offset into an array + * var v2 = [0.0, 0.0, 1.0, 2.0, 3.0]; + * var p2 = Cesium.Cartesian3.fromArray(v2, 2); + * @param array - The array whose three consecutive elements correspond to the x, y, and z components, respectively. + * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to the x component. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. + */ + static fromArray(array: number[], startingIndex?: number, result?: Cartesian3): Cartesian3; + /** + * Computes the value of the maximum component for the supplied Cartesian. + * @param cartesian - The cartesian to use. + * @returns The value of the maximum component. + */ + static maximumComponent(cartesian: Cartesian3): number; + /** + * Computes the value of the minimum component for the supplied Cartesian. + * @param cartesian - The cartesian to use. + * @returns The value of the minimum component. + */ + static minimumComponent(cartesian: Cartesian3): number; + /** + * Compares two Cartesians and computes a Cartesian which contains the minimum components of the supplied Cartesians. + * @param first - A cartesian to compare. + * @param second - A cartesian to compare. + * @param result - The object into which to store the result. + * @returns A cartesian with the minimum components. + */ + static minimumByComponent(first: Cartesian3, second: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Compares two Cartesians and computes a Cartesian which contains the maximum components of the supplied Cartesians. + * @param first - A cartesian to compare. + * @param second - A cartesian to compare. + * @param result - The object into which to store the result. + * @returns A cartesian with the maximum components. + */ + static maximumByComponent(first: Cartesian3, second: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the provided Cartesian's squared magnitude. + * @param cartesian - The Cartesian instance whose squared magnitude is to be computed. + * @returns The squared magnitude. + */ + static magnitudeSquared(cartesian: Cartesian3): number; + /** + * Computes the Cartesian's magnitude (length). + * @param cartesian - The Cartesian instance whose magnitude is to be computed. + * @returns The magnitude. + */ + static magnitude(cartesian: Cartesian3): number; + /** + * Computes the distance between two points. + * @example + * // Returns 1.0 + * var d = Cesium.Cartesian3.distance(new Cesium.Cartesian3(1.0, 0.0, 0.0), new Cesium.Cartesian3(2.0, 0.0, 0.0)); + * @param left - The first point to compute the distance from. + * @param right - The second point to compute the distance to. + * @returns The distance between two points. + */ + static distance(left: Cartesian3, right: Cartesian3): number; + /** + * Computes the squared distance between two points. Comparing squared distances + * using this function is more efficient than comparing distances using {@link Cartesian3#distance}. + * @example + * // Returns 4.0, not 2.0 + * var d = Cesium.Cartesian3.distanceSquared(new Cesium.Cartesian3(1.0, 0.0, 0.0), new Cesium.Cartesian3(3.0, 0.0, 0.0)); + * @param left - The first point to compute the distance from. + * @param right - The second point to compute the distance to. + * @returns The distance between two points. + */ + static distanceSquared(left: Cartesian3, right: Cartesian3): number; + /** + * Computes the normalized form of the supplied Cartesian. + * @param cartesian - The Cartesian to be normalized. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static normalize(cartesian: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the dot (scalar) product of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @returns The dot product. + */ + static dot(left: Cartesian3, right: Cartesian3): number; + /** + * Computes the componentwise product of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyComponents(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the componentwise quotient of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static divideComponents(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the componentwise sum of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static add(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the componentwise difference of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static subtract(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Multiplies the provided Cartesian componentwise by the provided scalar. + * @param cartesian - The Cartesian to be scaled. + * @param scalar - The scalar to multiply with. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScalar(cartesian: Cartesian3, scalar: number, result: Cartesian3): Cartesian3; + /** + * Divides the provided Cartesian componentwise by the provided scalar. + * @param cartesian - The Cartesian to be divided. + * @param scalar - The scalar to divide by. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static divideByScalar(cartesian: Cartesian3, scalar: number, result: Cartesian3): Cartesian3; + /** + * Negates the provided Cartesian. + * @param cartesian - The Cartesian to be negated. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static negate(cartesian: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the absolute value of the provided Cartesian. + * @param cartesian - The Cartesian whose absolute value is to be computed. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static abs(cartesian: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the linear interpolation or extrapolation at t using the provided cartesians. + * @param start - The value corresponding to t at 0.0. + * @param end - The value corresponding to t at 1.0. + * @param t - The point along t at which to interpolate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static lerp(start: Cartesian3, end: Cartesian3, t: number, result: Cartesian3): Cartesian3; + /** + * Returns the angle, in radians, between the provided Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @returns The angle between the Cartesians. + */ + static angleBetween(left: Cartesian3, right: Cartesian3): number; + /** + * Returns the axis that is most orthogonal to the provided Cartesian. + * @param cartesian - The Cartesian on which to find the most orthogonal axis. + * @param result - The object onto which to store the result. + * @returns The most orthogonal axis. + */ + static mostOrthogonalAxis(cartesian: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Projects vector a onto vector b + * @param a - The vector that needs projecting + * @param b - The vector to project onto + * @param result - The result cartesian + * @returns The modified result parameter + */ + static projectVector(a: Cartesian3, b: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Compares the provided Cartesians componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first Cartesian. + * @param [right] - The second Cartesian. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: Cartesian3, right?: Cartesian3): boolean; + /** + * Compares the provided Cartesians componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param [left] - The first Cartesian. + * @param [right] - The second Cartesian. + * @param [relativeEpsilon = 0] - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: Cartesian3, right?: Cartesian3, relativeEpsilon?: number, absoluteEpsilon?: number): boolean; + /** + * Computes the cross (outer) product of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The cross product. + */ + static cross(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the midpoint between the right and left Cartesian. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The midpoint. + */ + static midpoint(left: Cartesian3, right: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Returns a Cartesian3 position from longitude and latitude values given in degrees. + * @example + * var position = Cesium.Cartesian3.fromDegrees(-115.0, 37.0); + * @param longitude - The longitude, in degrees + * @param latitude - The latitude, in degrees + * @param [height = 0.0] - The height, in meters, above the ellipsoid. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the position lies. + * @param [result] - The object onto which to store the result. + * @returns The position + */ + static fromDegrees(longitude: number, latitude: number, height?: number, ellipsoid?: Ellipsoid, result?: Cartesian3): Cartesian3; + /** + * Returns a Cartesian3 position from longitude and latitude values given in radians. + * @example + * var position = Cesium.Cartesian3.fromRadians(-2.007, 0.645); + * @param longitude - The longitude, in radians + * @param latitude - The latitude, in radians + * @param [height = 0.0] - The height, in meters, above the ellipsoid. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the position lies. + * @param [result] - The object onto which to store the result. + * @returns The position + */ + static fromRadians(longitude: number, latitude: number, height?: number, ellipsoid?: Ellipsoid, result?: Cartesian3): Cartesian3; + /** + * Returns an array of Cartesian3 positions given an array of longitude and latitude values given in degrees. + * @example + * var positions = Cesium.Cartesian3.fromDegreesArray([-115.0, 37.0, -107.0, 33.0]); + * @param coordinates - A list of longitude and latitude values. Values alternate [longitude, latitude, longitude, latitude...]. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the coordinates lie. + * @param [result] - An array of Cartesian3 objects to store the result. + * @returns The array of positions. + */ + static fromDegreesArray(coordinates: number[], ellipsoid?: Ellipsoid, result?: Cartesian3[]): Cartesian3[]; + /** + * Returns an array of Cartesian3 positions given an array of longitude and latitude values given in radians. + * @example + * var positions = Cesium.Cartesian3.fromRadiansArray([-2.007, 0.645, -1.867, .575]); + * @param coordinates - A list of longitude and latitude values. Values alternate [longitude, latitude, longitude, latitude...]. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the coordinates lie. + * @param [result] - An array of Cartesian3 objects to store the result. + * @returns The array of positions. + */ + static fromRadiansArray(coordinates: number[], ellipsoid?: Ellipsoid, result?: Cartesian3[]): Cartesian3[]; + /** + * Returns an array of Cartesian3 positions given an array of longitude, latitude and height values where longitude and latitude are given in degrees. + * @example + * var positions = Cesium.Cartesian3.fromDegreesArrayHeights([-115.0, 37.0, 100000.0, -107.0, 33.0, 150000.0]); + * @param coordinates - A list of longitude, latitude and height values. Values alternate [longitude, latitude, height, longitude, latitude, height...]. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the position lies. + * @param [result] - An array of Cartesian3 objects to store the result. + * @returns The array of positions. + */ + static fromDegreesArrayHeights(coordinates: number[], ellipsoid?: Ellipsoid, result?: Cartesian3[]): Cartesian3[]; + /** + * Returns an array of Cartesian3 positions given an array of longitude, latitude and height values where longitude and latitude are given in radians. + * @example + * var positions = Cesium.Cartesian3.fromRadiansArrayHeights([-2.007, 0.645, 100000.0, -1.867, .575, 150000.0]); + * @param coordinates - A list of longitude, latitude and height values. Values alternate [longitude, latitude, height, longitude, latitude, height...]. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the position lies. + * @param [result] - An array of Cartesian3 objects to store the result. + * @returns The array of positions. + */ + static fromRadiansArrayHeights(coordinates: number[], ellipsoid?: Ellipsoid, result?: Cartesian3[]): Cartesian3[]; + /** + * An immutable Cartesian3 instance initialized to (0.0, 0.0, 0.0). + */ + static readonly ZERO: Cartesian3; + /** + * An immutable Cartesian3 instance initialized to (1.0, 0.0, 0.0). + */ + static readonly UNIT_X: Cartesian3; + /** + * An immutable Cartesian3 instance initialized to (0.0, 1.0, 0.0). + */ + static readonly UNIT_Y: Cartesian3; + /** + * An immutable Cartesian3 instance initialized to (0.0, 0.0, 1.0). + */ + static readonly UNIT_Z: Cartesian3; + /** + * Duplicates this Cartesian3 instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. + */ + clone(result?: Cartesian3): Cartesian3; + /** + * Compares this Cartesian against the provided Cartesian componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side Cartesian. + * @returns true if they are equal, false otherwise. + */ + equals(right?: Cartesian3): boolean; + /** + * Compares this Cartesian against the provided Cartesian componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param [right] - The right hand side Cartesian. + * @param [relativeEpsilon = 0] - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if they are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: Cartesian3, relativeEpsilon?: number, absoluteEpsilon?: number): boolean; + /** + * Creates a string representing this Cartesian in the format '(x, y, z)'. + * @returns A string representing this Cartesian in the format '(x, y, z)'. + */ + toString(): string; +} + +/** + * A 4D Cartesian point. + * @param [x = 0.0] - The X component. + * @param [y = 0.0] - The Y component. + * @param [z = 0.0] - The Z component. + * @param [w = 0.0] - The W component. + */ +export class Cartesian4 { + constructor(x?: number, y?: number, z?: number, w?: number); + /** + * The X component. + */ + x: number; + /** + * The Y component. + */ + y: number; + /** + * The Z component. + */ + z: number; + /** + * The W component. + */ + w: number; + /** + * Creates a Cartesian4 instance from x, y, z and w coordinates. + * @param x - The x coordinate. + * @param y - The y coordinate. + * @param z - The z coordinate. + * @param w - The w coordinate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian4 instance if one was not provided. + */ + static fromElements(x: number, y: number, z: number, w: number, result?: Cartesian4): Cartesian4; + /** + * Creates a Cartesian4 instance from a {@link Color}. red, green, blue, + * and alpha map to x, y, z, and w, respectively. + * @param color - The source color. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian4 instance if one was not provided. + */ + static fromColor(color: Color, result?: Cartesian4): Cartesian4; + /** + * Duplicates a Cartesian4 instance. + * @param cartesian - The Cartesian to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian4 instance if one was not provided. (Returns undefined if cartesian is undefined) + */ + static clone(cartesian: Cartesian4, result?: Cartesian4): Cartesian4; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Cartesian4, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Cartesian4 instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Cartesian4): Cartesian4; + /** + * Flattens an array of Cartesian4s into and array of components. + * @param array - The array of cartesians to pack. + * @param [result] - The array onto which to store the result. If this is a typed array, it must have array.length * 4 components, else a {@link DeveloperError} will be thrown. If it is a regular array, it will be resized to have (array.length * 4) elements. + * @returns The packed array. + */ + static packArray(array: Cartesian4[], result?: number[]): number[]; + /** + * Unpacks an array of cartesian components into and array of Cartesian4s. + * @param array - The array of components to unpack. + * @param [result] - The array onto which to store the result. + * @returns The unpacked array. + */ + static unpackArray(array: number[], result?: Cartesian4[]): Cartesian4[]; + /** + * Creates a Cartesian4 from four consecutive elements in an array. + * @example + * // Create a Cartesian4 with (1.0, 2.0, 3.0, 4.0) + * var v = [1.0, 2.0, 3.0, 4.0]; + * var p = Cesium.Cartesian4.fromArray(v); + * + * // Create a Cartesian4 with (1.0, 2.0, 3.0, 4.0) using an offset into an array + * var v2 = [0.0, 0.0, 1.0, 2.0, 3.0, 4.0]; + * var p2 = Cesium.Cartesian4.fromArray(v2, 2); + * @param array - The array whose four consecutive elements correspond to the x, y, z, and w components, respectively. + * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to the x component. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian4 instance if one was not provided. + */ + static fromArray(array: number[], startingIndex?: number, result?: Cartesian4): Cartesian4; + /** + * Computes the value of the maximum component for the supplied Cartesian. + * @param cartesian - The cartesian to use. + * @returns The value of the maximum component. + */ + static maximumComponent(cartesian: Cartesian4): number; + /** + * Computes the value of the minimum component for the supplied Cartesian. + * @param cartesian - The cartesian to use. + * @returns The value of the minimum component. + */ + static minimumComponent(cartesian: Cartesian4): number; + /** + * Compares two Cartesians and computes a Cartesian which contains the minimum components of the supplied Cartesians. + * @param first - A cartesian to compare. + * @param second - A cartesian to compare. + * @param result - The object into which to store the result. + * @returns A cartesian with the minimum components. + */ + static minimumByComponent(first: Cartesian4, second: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Compares two Cartesians and computes a Cartesian which contains the maximum components of the supplied Cartesians. + * @param first - A cartesian to compare. + * @param second - A cartesian to compare. + * @param result - The object into which to store the result. + * @returns A cartesian with the maximum components. + */ + static maximumByComponent(first: Cartesian4, second: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Computes the provided Cartesian's squared magnitude. + * @param cartesian - The Cartesian instance whose squared magnitude is to be computed. + * @returns The squared magnitude. + */ + static magnitudeSquared(cartesian: Cartesian4): number; + /** + * Computes the Cartesian's magnitude (length). + * @param cartesian - The Cartesian instance whose magnitude is to be computed. + * @returns The magnitude. + */ + static magnitude(cartesian: Cartesian4): number; + /** + * Computes the 4-space distance between two points. + * @example + * // Returns 1.0 + * var d = Cesium.Cartesian4.distance( + * new Cesium.Cartesian4(1.0, 0.0, 0.0, 0.0), + * new Cesium.Cartesian4(2.0, 0.0, 0.0, 0.0)); + * @param left - The first point to compute the distance from. + * @param right - The second point to compute the distance to. + * @returns The distance between two points. + */ + static distance(left: Cartesian4, right: Cartesian4): number; + /** + * Computes the squared distance between two points. Comparing squared distances + * using this function is more efficient than comparing distances using {@link Cartesian4#distance}. + * @example + * // Returns 4.0, not 2.0 + * var d = Cesium.Cartesian4.distance( + * new Cesium.Cartesian4(1.0, 0.0, 0.0, 0.0), + * new Cesium.Cartesian4(3.0, 0.0, 0.0, 0.0)); + * @param left - The first point to compute the distance from. + * @param right - The second point to compute the distance to. + * @returns The distance between two points. + */ + static distanceSquared(left: Cartesian4, right: Cartesian4): number; + /** + * Computes the normalized form of the supplied Cartesian. + * @param cartesian - The Cartesian to be normalized. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static normalize(cartesian: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Computes the dot (scalar) product of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @returns The dot product. + */ + static dot(left: Cartesian4, right: Cartesian4): number; + /** + * Computes the componentwise product of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyComponents(left: Cartesian4, right: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Computes the componentwise quotient of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static divideComponents(left: Cartesian4, right: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Computes the componentwise sum of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static add(left: Cartesian4, right: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Computes the componentwise difference of two Cartesians. + * @param left - The first Cartesian. + * @param right - The second Cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static subtract(left: Cartesian4, right: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Multiplies the provided Cartesian componentwise by the provided scalar. + * @param cartesian - The Cartesian to be scaled. + * @param scalar - The scalar to multiply with. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScalar(cartesian: Cartesian4, scalar: number, result: Cartesian4): Cartesian4; + /** + * Divides the provided Cartesian componentwise by the provided scalar. + * @param cartesian - The Cartesian to be divided. + * @param scalar - The scalar to divide by. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static divideByScalar(cartesian: Cartesian4, scalar: number, result: Cartesian4): Cartesian4; + /** + * Negates the provided Cartesian. + * @param cartesian - The Cartesian to be negated. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static negate(cartesian: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Computes the absolute value of the provided Cartesian. + * @param cartesian - The Cartesian whose absolute value is to be computed. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static abs(cartesian: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Computes the linear interpolation or extrapolation at t using the provided cartesians. + * @param start - The value corresponding to t at 0.0. + * @param end - The value corresponding to t at 1.0. + * @param t - The point along t at which to interpolate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static lerp(start: Cartesian4, end: Cartesian4, t: number, result: Cartesian4): Cartesian4; + /** + * Returns the axis that is most orthogonal to the provided Cartesian. + * @param cartesian - The Cartesian on which to find the most orthogonal axis. + * @param result - The object onto which to store the result. + * @returns The most orthogonal axis. + */ + static mostOrthogonalAxis(cartesian: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Compares the provided Cartesians componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first Cartesian. + * @param [right] - The second Cartesian. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: Cartesian4, right?: Cartesian4): boolean; + /** + * Compares the provided Cartesians componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param [left] - The first Cartesian. + * @param [right] - The second Cartesian. + * @param [relativeEpsilon = 0] - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: Cartesian4, right?: Cartesian4, relativeEpsilon?: number, absoluteEpsilon?: number): boolean; + /** + * An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 0.0). + */ + static readonly ZERO: Cartesian4; + /** + * An immutable Cartesian4 instance initialized to (1.0, 0.0, 0.0, 0.0). + */ + static readonly UNIT_X: Cartesian4; + /** + * An immutable Cartesian4 instance initialized to (0.0, 1.0, 0.0, 0.0). + */ + static readonly UNIT_Y: Cartesian4; + /** + * An immutable Cartesian4 instance initialized to (0.0, 0.0, 1.0, 0.0). + */ + static readonly UNIT_Z: Cartesian4; + /** + * An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 1.0). + */ + static readonly UNIT_W: Cartesian4; + /** + * Duplicates this Cartesian4 instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian4 instance if one was not provided. + */ + clone(result?: Cartesian4): Cartesian4; + /** + * Compares this Cartesian against the provided Cartesian componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side Cartesian. + * @returns true if they are equal, false otherwise. + */ + equals(right?: Cartesian4): boolean; + /** + * Compares this Cartesian against the provided Cartesian componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param [right] - The right hand side Cartesian. + * @param [relativeEpsilon = 0] - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if they are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: Cartesian4, relativeEpsilon?: number, absoluteEpsilon?: number): boolean; + /** + * Creates a string representing this Cartesian in the format '(x, y, z, w)'. + * @returns A string representing the provided Cartesian in the format '(x, y, z, w)'. + */ + toString(): string; + /** + * Packs an arbitrary floating point value to 4 values representable using uint8. + * @param value - A floating point number + * @param [result] - The Cartesian4 that will contain the packed float. + * @returns A Cartesian4 representing the float packed to values in x, y, z, and w. + */ + static packFloat(value: number, result?: Cartesian4): Cartesian4; +} + +/** + * A position defined by longitude, latitude, and height. + * @param [longitude = 0.0] - The longitude, in radians. + * @param [latitude = 0.0] - The latitude, in radians. + * @param [height = 0.0] - The height, in meters, above the ellipsoid. + */ +export class Cartographic { + constructor(longitude?: number, latitude?: number, height?: number); + /** + * The longitude, in radians. + */ + longitude: number; + /** + * The latitude, in radians. + */ + latitude: number; + /** + * The height, in meters, above the ellipsoid. + */ + height: number; + /** + * Creates a new Cartographic instance from longitude and latitude + * specified in radians. + * @param longitude - The longitude, in radians. + * @param latitude - The latitude, in radians. + * @param [height = 0.0] - The height, in meters, above the ellipsoid. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartographic instance if one was not provided. + */ + static fromRadians(longitude: number, latitude: number, height?: number, result?: Cartographic): Cartographic; + /** + * Creates a new Cartographic instance from longitude and latitude + * specified in degrees. The values in the resulting object will + * be in radians. + * @param longitude - The longitude, in degrees. + * @param latitude - The latitude, in degrees. + * @param [height = 0.0] - The height, in meters, above the ellipsoid. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartographic instance if one was not provided. + */ + static fromDegrees(longitude: number, latitude: number, height?: number, result?: Cartographic): Cartographic; + /** + * Creates a new Cartographic instance from a Cartesian position. The values in the + * resulting object will be in radians. + * @param cartesian - The Cartesian position to convert to cartographic representation. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the position lies. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter, new Cartographic instance if none was provided, or undefined if the cartesian is at the center of the ellipsoid. + */ + static fromCartesian(cartesian: Cartesian3, ellipsoid?: Ellipsoid, result?: Cartographic): Cartographic; + /** + * Creates a new Cartesian3 instance from a Cartographic input. The values in the inputted + * object should be in radians. + * @param cartographic - Input to be converted into a Cartesian3 output. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the position lies. + * @param [result] - The object onto which to store the result. + * @returns The position + */ + static toCartesian(cartographic: Cartographic, ellipsoid?: Ellipsoid, result?: Cartesian3): Cartesian3; + /** + * Duplicates a Cartographic instance. + * @param cartographic - The cartographic to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartographic instance if one was not provided. (Returns undefined if cartographic is undefined) + */ + static clone(cartographic: Cartographic, result?: Cartographic): Cartographic; + /** + * Compares the provided cartographics componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first cartographic. + * @param [right] - The second cartographic. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: Cartographic, right?: Cartographic): boolean; + /** + * Compares the provided cartographics componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [left] - The first cartographic. + * @param [right] - The second cartographic. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: Cartographic, right?: Cartographic, epsilon?: number): boolean; + /** + * An immutable Cartographic instance initialized to (0.0, 0.0, 0.0). + */ + static readonly ZERO: Cartographic; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartographic instance if one was not provided. + */ + clone(result?: Cartographic): Cartographic; + /** + * Compares the provided against this cartographic componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The second cartographic. + * @returns true if left and right are equal, false otherwise. + */ + equals(right?: Cartographic): boolean; + /** + * Compares the provided against this cartographic componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [right] - The second cartographic. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: Cartographic, epsilon?: number): boolean; + /** + * Creates a string representing this cartographic in the format '(longitude, latitude, height)'. + * @returns A string representing the provided cartographic in the format '(longitude, latitude, height)'. + */ + toString(): string; +} + +/** + * Geocodes queries containing longitude and latitude coordinates and an optional height. + * Query format: `longitude latitude (height)` with longitude/latitude in degrees and height in meters. + */ +export class CartographicGeocoderService { + constructor(); + /** + * @param query - The query to be sent to the geocoder service + */ + geocode(query: string): Promise; +} + +/** + * A Catmull-Rom spline is a cubic spline where the tangent at control points, + * except the first and last, are computed using the previous and next control points. + * Catmull-Rom splines are in the class C1. + * @example + * // spline above the earth from Philadelphia to Los Angeles + * var spline = new Cesium.CatmullRomSpline({ + * times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ], + * points : [ + * new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0), + * new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0), + * new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0), + * new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0), + * new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0) + * ] + * }); + * + * var p0 = spline.evaluate(times[i]); // equal to positions[i] + * var p1 = spline.evaluate(times[i] + delta); // interpolated value when delta < times[i + 1] - times[i] + * @param options - Object with the following properties: + * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point. + * The values are in no way connected to the clock time. They are the parameterization for the curve. + * @param options.points - The array of {@link Cartesian3} control points. + * @param [options.firstTangent] - The tangent of the curve at the first control point. + * If the tangent is not given, it will be estimated. + * @param [options.lastTangent] - The tangent of the curve at the last control point. + * If the tangent is not given, it will be estimated. + */ +export class CatmullRomSpline { + constructor(options: { + times: number[]; + points: Cartesian3[]; + firstTangent?: Cartesian3; + lastTangent?: Cartesian3; + }); + /** + * An array of times for the control points. + */ + readonly times: number[]; + /** + * An array of {@link Cartesian3} control points. + */ + readonly points: Cartesian3[]; + /** + * The tangent at the first control point. + */ + readonly firstTangent: Cartesian3; + /** + * The tangent at the last control point. + */ + readonly lastTangent: Cartesian3; + /** + * Finds an index i in times such that the parameter + * time is in the interval [times[i], times[i + 1]]. + * @param time - The time. + * @returns The index for the element at the start of the interval. + */ + findTimeInterval(time: number): number; + /** + * Wraps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, wrapped around to the updated animation. + */ + wrapTime(time: number): number; + /** + * Clamps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, clamped to the animation period. + */ + clampTime(time: number): number; + /** + * Evaluates the curve at a given time. + * @param time - The time at which to evaluate the curve. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance of the point on the curve at the given time. + */ + evaluate(time: number, result?: Cartesian3): Cartesian3; +} + +/** + * A {@link TerrainProvider} that accesses terrain data in a Cesium terrain format. + * @example + * // Create Arctic DEM terrain with normals. + * var viewer = new Cesium.Viewer('cesiumContainer', { + * terrainProvider : new Cesium.CesiumTerrainProvider({ + * url : Cesium.IonResource.fromAssetId(3956), + * requestVertexNormals : true + * }) + * }); + * @param options - Object with the following properties: + * @param options.url - The URL of the Cesium terrain server. + * @param [options.requestVertexNormals = false] - Flag that indicates if the client should request additional lighting information from the server, in the form of per vertex normals if available. + * @param [options.requestWaterMask = false] - Flag that indicates if the client should request per tile water masks from the server, if available. + * @param [options.requestMetadata = true] - Flag that indicates if the client should request per tile metadata from the server, if available. + * @param [options.ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + * @param [options.credit] - A credit for the data source, which is displayed on the canvas. + */ +export class CesiumTerrainProvider { + constructor(options: { + url: Resource | string | Promise | Promise; + requestVertexNormals?: boolean; + requestWaterMask?: boolean; + requestMetadata?: boolean; + ellipsoid?: Ellipsoid; + credit?: Credit | string; + }); + /** + * Requests the geometry for a given tile. This function should not be called before + * {@link CesiumTerrainProvider#ready} returns true. The result must include terrain data and + * may optionally include a water mask and an indication of which child tiles are available. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the requested geometry. If this method + * returns undefined instead of a promise, it is an indication that too many requests are already + * pending and the request will be retried later. + */ + requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Gets an event that is raised when the terrain provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + errorEvent: Event; + /** + * Gets the credit to display when this terrain provider is active. Typically this is used to credit + * the source of the terrain. This function should not be called before {@link CesiumTerrainProvider#ready} returns true. + */ + credit: Credit; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link CesiumTerrainProvider#ready} returns true. + */ + tilingScheme: GeographicTilingScheme; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets a value indicating whether or not the provider includes a water mask. The water mask + * indicates which areas of the globe are water rather than land, so they can be rendered + * as a reflective surface with animated waves. This function should not be + * called before {@link CesiumTerrainProvider#ready} returns true. + */ + hasWaterMask: boolean; + /** + * Gets a value indicating whether or not the requested tiles include vertex normals. + * This function should not be called before {@link CesiumTerrainProvider#ready} returns true. + */ + hasVertexNormals: boolean; + /** + * Gets a value indicating whether or not the requested tiles include metadata. + * This function should not be called before {@link CesiumTerrainProvider#ready} returns true. + */ + hasMetadata: boolean; + /** + * Boolean flag that indicates if the client should request vertex normals from the server. + * Vertex normals data is appended to the standard tile mesh data only if the client requests the vertex normals and + * if the server provides vertex normals. + */ + requestVertexNormals: boolean; + /** + * Boolean flag that indicates if the client should request a watermask from the server. + * Watermask data is appended to the standard tile mesh data only if the client requests the watermask and + * if the server provides a watermask. + */ + requestWaterMask: boolean; + /** + * Boolean flag that indicates if the client should request metadata from the server. + * Metadata is appended to the standard tile mesh data only if the client requests the metadata and + * if the server provides a metadata. + */ + requestMetadata: boolean; + /** + * Gets an object that can be used to determine availability of terrain from this provider, such as + * at points and in rectangles. This function should not be called before + * {@link CesiumTerrainProvider#ready} returns true. This property may be undefined if availability + * information is not available. Note that this reflects tiles that are known to be available currently. + * Additional tiles may be discovered to be available in the future, e.g. if availability information + * exists deeper in the tree rather than it all being discoverable at the root. However, a tile that + * is available now will not become unavailable in the future. + */ + availability: TileAvailability; + /** + * Gets the maximum geometric error allowed in a tile at a given level. + * @param level - The tile level for which to get the maximum geometric error. + * @returns The maximum geometric error. + */ + getLevelMaximumGeometricError(level: number): number; + /** + * Determines whether data for a tile is available to be loaded. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if not supported or availability is unknown, otherwise true or false. + */ + getTileDataAvailable(x: number, y: number, level: number): boolean; + /** + * Makes sure we load availability data for a tile + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded + */ + loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise; +} + +/** + * A description of a circle on the ellipsoid. Circle geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}. + * @example + * // Create a circle. + * var circle = new Cesium.CircleGeometry({ + * center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883), + * radius : 100000.0 + * }); + * var geometry = Cesium.CircleGeometry.createGeometry(circle); + * @param options - Object with the following properties: + * @param options.center - The circle's center point in the fixed frame. + * @param options.radius - The radius in meters. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid the circle will be on. + * @param [options.height = 0.0] - The distance in meters between the circle and the ellipsoid surface. + * @param [options.granularity = 0.02] - The angular distance between points on the circle in radians. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.extrudedHeight = 0.0] - The distance in meters between the circle's extruded face and the ellipsoid surface. + * @param [options.stRotation = 0.0] - The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. + */ +export class CircleGeometry { + constructor(options: { + center: Cartesian3; + radius: number; + ellipsoid?: Ellipsoid; + height?: number; + granularity?: number; + vertexFormat?: VertexFormat; + extrudedHeight?: number; + stRotation?: number; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: CircleGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new CircleGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: CircleGeometry): CircleGeometry; + /** + * Computes the geometric representation of a circle on an ellipsoid, including its vertices, indices, and a bounding sphere. + * @param circleGeometry - A description of the circle. + * @returns The computed vertices and indices. + */ + static createGeometry(circleGeometry: CircleGeometry): Geometry | undefined; +} + +/** + * A description of the outline of a circle on the ellipsoid. + * @example + * // Create a circle. + * var circle = new Cesium.CircleOutlineGeometry({ + * center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883), + * radius : 100000.0 + * }); + * var geometry = Cesium.CircleOutlineGeometry.createGeometry(circle); + * @param options - Object with the following properties: + * @param options.center - The circle's center point in the fixed frame. + * @param options.radius - The radius in meters. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid the circle will be on. + * @param [options.height = 0.0] - The distance in meters between the circle and the ellipsoid surface. + * @param [options.granularity = 0.02] - The angular distance between points on the circle in radians. + * @param [options.extrudedHeight = 0.0] - The distance in meters between the circle's extruded face and the ellipsoid surface. + * @param [options.numberOfVerticalLines = 16] - Number of lines to draw between the top and bottom of an extruded circle. + */ +export class CircleOutlineGeometry { + constructor(options: { + center: Cartesian3; + radius: number; + ellipsoid?: Ellipsoid; + height?: number; + granularity?: number; + extrudedHeight?: number; + numberOfVerticalLines?: number; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: CircleOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new CircleOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: CircleOutlineGeometry): CircleOutlineGeometry; + /** + * Computes the geometric representation of an outline of a circle on an ellipsoid, including its vertices, indices, and a bounding sphere. + * @param circleGeometry - A description of the circle. + * @returns The computed vertices and indices. + */ + static createGeometry(circleGeometry: CircleOutlineGeometry): Geometry | undefined; +} + +/** + * A simple clock for keeping track of simulated time. + * @example + * // Create a clock that loops on Christmas day 2013 and runs in real-time. + * var clock = new Cesium.Clock({ + * startTime : Cesium.JulianDate.fromIso8601("2013-12-25"), + * currentTime : Cesium.JulianDate.fromIso8601("2013-12-25"), + * stopTime : Cesium.JulianDate.fromIso8601("2013-12-26"), + * clockRange : Cesium.ClockRange.LOOP_STOP, + * clockStep : Cesium.ClockStep.SYSTEM_CLOCK_MULTIPLIER + * }); + * @param [options] - Object with the following properties: + * @param [options.startTime] - The start time of the clock. + * @param [options.stopTime] - The stop time of the clock. + * @param [options.currentTime] - The current time. + * @param [options.multiplier = 1.0] - Determines how much time advances when {@link Clock#tick} is called, negative values allow for advancing backwards. + * @param [options.clockStep = ClockStep.SYSTEM_CLOCK_MULTIPLIER] - Determines if calls to {@link Clock#tick} are frame dependent or system clock dependent. + * @param [options.clockRange = ClockRange.UNBOUNDED] - Determines how the clock should behave when {@link Clock#startTime} or {@link Clock#stopTime} is reached. + * @param [options.canAnimate = true] - Indicates whether {@link Clock#tick} can advance time. This could be false if data is being buffered, for example. The clock will only tick when both {@link Clock#canAnimate} and {@link Clock#shouldAnimate} are true. + * @param [options.shouldAnimate = false] - Indicates whether {@link Clock#tick} should attempt to advance time. The clock will only tick when both {@link Clock#canAnimate} and {@link Clock#shouldAnimate} are true. + */ +export class Clock { + constructor(options?: { + startTime?: JulianDate; + stopTime?: JulianDate; + currentTime?: JulianDate; + multiplier?: number; + clockStep?: ClockStep; + clockRange?: ClockRange; + canAnimate?: boolean; + shouldAnimate?: boolean; + }); + /** + * The start time of the clock. + */ + startTime: JulianDate; + /** + * The stop time of the clock. + */ + stopTime: JulianDate; + /** + * Determines how the clock should behave when + * {@link Clock#startTime} or {@link Clock#stopTime} + * is reached. + */ + clockRange: ClockRange; + /** + * Indicates whether {@link Clock#tick} can advance time. This could be false if data is being buffered, + * for example. The clock will only advance time when both + * {@link Clock#canAnimate} and {@link Clock#shouldAnimate} are true. + */ + canAnimate: boolean; + /** + * An {@link Event} that is fired whenever {@link Clock#tick} is called. + */ + onTick: Event; + /** + * An {@link Event} that is fired whenever {@link Clock#stopTime} is reached. + */ + onStop: Event; + /** + * The current time. + * Changing this property will change + * {@link Clock#clockStep} from {@link ClockStep.SYSTEM_CLOCK} to + * {@link ClockStep.SYSTEM_CLOCK_MULTIPLIER}. + */ + currentTime: JulianDate; + /** + * Gets or sets how much time advances when {@link Clock#tick} is called. Negative values allow for advancing backwards. + * If {@link Clock#clockStep} is set to {@link ClockStep.TICK_DEPENDENT}, this is the number of seconds to advance. + * If {@link Clock#clockStep} is set to {@link ClockStep.SYSTEM_CLOCK_MULTIPLIER}, this value is multiplied by the + * elapsed system time since the last call to {@link Clock#tick}. + * Changing this property will change + * {@link Clock#clockStep} from {@link ClockStep.SYSTEM_CLOCK} to + * {@link ClockStep.SYSTEM_CLOCK_MULTIPLIER}. + */ + multiplier: number; + /** + * Determines if calls to {@link Clock#tick} are frame dependent or system clock dependent. + * Changing this property to {@link ClockStep.SYSTEM_CLOCK} will set + * {@link Clock#multiplier} to 1.0, {@link Clock#shouldAnimate} to true, and + * {@link Clock#currentTime} to the current system clock time. + */ + clockStep: ClockStep; + /** + * Indicates whether {@link Clock#tick} should attempt to advance time. + * The clock will only advance time when both + * {@link Clock#canAnimate} and {@link Clock#shouldAnimate} are true. + * Changing this property will change + * {@link Clock#clockStep} from {@link ClockStep.SYSTEM_CLOCK} to + * {@link ClockStep.SYSTEM_CLOCK_MULTIPLIER}. + */ + shouldAnimate: boolean; + /** + * Advances the clock from the current time based on the current configuration options. + * tick should be called every frame, regardless of whether animation is taking place + * or not. To control animation, use the {@link Clock#shouldAnimate} property. + * @returns The new value of the {@link Clock#currentTime} property. + */ + tick(): JulianDate; +} + +/** + * Constants used by {@link Clock#tick} to determine behavior + * when {@link Clock#startTime} or {@link Clock#stopTime} is reached. + */ +export enum ClockRange { + /** + * {@link Clock#tick} will always advances the clock in its current direction. + */ + UNBOUNDED = 0, + /** + * When {@link Clock#startTime} or {@link Clock#stopTime} is reached, + * {@link Clock#tick} will not advance {@link Clock#currentTime} any further. + */ + CLAMPED = 1, + /** + * When {@link Clock#stopTime} is reached, {@link Clock#tick} will advance + * {@link Clock#currentTime} to the opposite end of the interval. When + * time is moving backwards, {@link Clock#tick} will not advance past + * {@link Clock#startTime} + */ + LOOP_STOP = 2 +} + +/** + * Constants to determine how much time advances with each call + * to {@link Clock#tick}. + */ +export enum ClockStep { + /** + * {@link Clock#tick} advances the current time by a fixed step, + * which is the number of seconds specified by {@link Clock#multiplier}. + */ + TICK_DEPENDENT = 0, + /** + * {@link Clock#tick} advances the current time by the amount of system + * time elapsed since the previous call multiplied by {@link Clock#multiplier}. + */ + SYSTEM_CLOCK_MULTIPLIER = 1, + /** + * {@link Clock#tick} sets the clock to the current system time; + * ignoring all other settings. + */ + SYSTEM_CLOCK = 2 +} + +/** + * Clones an object, returning a new object containing the same properties. + * @param object - The object to clone. + * @param [deep = false] - If true, all properties will be deep cloned recursively. + * @returns The cloned object. + */ +export function clone(object: any, deep?: boolean): any; + +/** + * A color, specified using red, green, blue, and alpha values, + * which range from 0 (no intensity) to 1.0 (full intensity). + * @param [red = 1.0] - The red component. + * @param [green = 1.0] - The green component. + * @param [blue = 1.0] - The blue component. + * @param [alpha = 1.0] - The alpha component. + */ +export class Color { + constructor(red?: number, green?: number, blue?: number, alpha?: number); + /** + * The red component. + */ + red: number; + /** + * The green component. + */ + green: number; + /** + * The blue component. + */ + blue: number; + /** + * The alpha component. + */ + alpha: number; + /** + * Creates a Color instance from a {@link Cartesian4}. x, y, z, + * and w map to red, green, blue, and alpha, respectively. + * @param cartesian - The source cartesian. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Color instance if one was not provided. + */ + static fromCartesian4(cartesian: Cartesian4, result?: Color): Color; + /** + * Creates a new Color specified using red, green, blue, and alpha values + * that are in the range of 0 to 255, converting them internally to a range of 0.0 to 1.0. + * @param [red = 255] - The red component. + * @param [green = 255] - The green component. + * @param [blue = 255] - The blue component. + * @param [alpha = 255] - The alpha component. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Color instance if one was not provided. + */ + static fromBytes(red?: number, green?: number, blue?: number, alpha?: number, result?: Color): Color; + /** + * Creates a new Color that has the same red, green, and blue components + * of the specified color, but with the specified alpha value. + * @example + * var translucentRed = Cesium.Color.fromAlpha(Cesium.Color.RED, 0.9); + * @param color - The base color + * @param alpha - The new alpha component. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Color instance if one was not provided. + */ + static fromAlpha(color: Color, alpha: number, result?: Color): Color; + /** + * Creates a new Color from a single numeric unsigned 32-bit RGBA value, using the endianness + * of the system. + * @example + * var color = Cesium.Color.fromRgba(0x67ADDFFF); + * @param rgba - A single numeric unsigned 32-bit RGBA value. + * @param [result] - The object to store the result in, if undefined a new instance will be created. + * @returns The color object. + */ + static fromRgba(rgba: number, result?: Color): Color; + /** + * Creates a Color instance from hue, saturation, and lightness. + * @param [hue = 0] - The hue angle 0...1 + * @param [saturation = 0] - The saturation value 0...1 + * @param [lightness = 0] - The lightness value 0...1 + * @param [alpha = 1.0] - The alpha component 0...1 + * @param [result] - The object to store the result in, if undefined a new instance will be created. + * @returns The color object. + */ + static fromHsl(hue?: number, saturation?: number, lightness?: number, alpha?: number, result?: Color): Color; + /** + * Creates a random color using the provided options. For reproducible random colors, you should + * call {@link Math#setRandomNumberSeed} once at the beginning of your application. + * @example + * //Create a completely random color + * var color = Cesium.Color.fromRandom(); + * + * //Create a random shade of yellow. + * var color = Cesium.Color.fromRandom({ + * red : 1.0, + * green : 1.0, + * alpha : 1.0 + * }); + * + * //Create a random bright color. + * var color = Cesium.Color.fromRandom({ + * minimumRed : 0.75, + * minimumGreen : 0.75, + * minimumBlue : 0.75, + * alpha : 1.0 + * }); + * @param [options] - Object with the following properties: + * @param [options.red] - If specified, the red component to use instead of a randomized value. + * @param [options.minimumRed = 0.0] - The maximum red value to generate if none was specified. + * @param [options.maximumRed = 1.0] - The minimum red value to generate if none was specified. + * @param [options.green] - If specified, the green component to use instead of a randomized value. + * @param [options.minimumGreen = 0.0] - The maximum green value to generate if none was specified. + * @param [options.maximumGreen = 1.0] - The minimum green value to generate if none was specified. + * @param [options.blue] - If specified, the blue component to use instead of a randomized value. + * @param [options.minimumBlue = 0.0] - The maximum blue value to generate if none was specified. + * @param [options.maximumBlue = 1.0] - The minimum blue value to generate if none was specified. + * @param [options.alpha] - If specified, the alpha component to use instead of a randomized value. + * @param [options.minimumAlpha = 0.0] - The maximum alpha value to generate if none was specified. + * @param [options.maximumAlpha = 1.0] - The minimum alpha value to generate if none was specified. + * @param [result] - The object to store the result in, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. + */ + static fromRandom(options?: { + red?: number; + minimumRed?: number; + maximumRed?: number; + green?: number; + minimumGreen?: number; + maximumGreen?: number; + blue?: number; + minimumBlue?: number; + maximumBlue?: number; + alpha?: number; + minimumAlpha?: number; + maximumAlpha?: number; + }, result?: Color): Color; + /** + * Creates a Color instance from a CSS color value. + * @example + * var cesiumBlue = Cesium.Color.fromCssColorString('#67ADDF'); + * var green = Cesium.Color.fromCssColorString('green'); + * @param color - The CSS color value in #rgb, #rgba, #rrggbb, #rrggbbaa, rgb(), rgba(), hsl(), or hsla() format. + * @param [result] - The object to store the result in, if undefined a new instance will be created. + * @returns The color object, or undefined if the string was not a valid CSS color. + */ + static fromCssColorString(color: string, result?: Color): Color; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Color, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Color instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Color): Color; + /** + * Converts a 'byte' color component in the range of 0 to 255 into + * a 'float' color component in the range of 0 to 1.0. + * @param number - The number to be converted. + * @returns The converted number. + */ + static byteToFloat(number: number): number; + /** + * Converts a 'float' color component in the range of 0 to 1.0 into + * a 'byte' color component in the range of 0 to 255. + * @param number - The number to be converted. + * @returns The converted number. + */ + static floatToByte(number: number): number; + /** + * Duplicates a Color. + * @param color - The Color to duplicate. + * @param [result] - The object to store the result in, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. (Returns undefined if color is undefined) + */ + static clone(color: Color, result?: Color): Color; + /** + * Returns true if the first Color equals the second color. + * @param left - The first Color to compare for equality. + * @param right - The second Color to compare for equality. + * @returns true if the Colors are equal; otherwise, false. + */ + static equals(left: Color, right: Color): boolean; + /** + * Returns a duplicate of a Color instance. + * @param [result] - The object to store the result in, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. + */ + clone(result?: Color): Color; + /** + * Returns true if this Color equals other. + * @param other - The Color to compare for equality. + * @returns true if the Colors are equal; otherwise, false. + */ + equals(other: Color): boolean; + /** + * Returns true if this Color equals other componentwise within the specified epsilon. + * @param other - The Color to compare for equality. + * @param [epsilon = 0.0] - The epsilon to use for equality testing. + * @returns true if the Colors are equal within the specified epsilon; otherwise, false. + */ + equalsEpsilon(other: Color, epsilon?: number): boolean; + /** + * Creates a string representing this Color in the format '(red, green, blue, alpha)'. + * @returns A string representing this Color in the format '(red, green, blue, alpha)'. + */ + toString(): string; + /** + * Creates a string containing the CSS color value for this color. + * @returns The CSS equivalent of this color. + */ + toCssColorString(): string; + /** + * Creates a string containing CSS hex string color value for this color. + * @returns The CSS hex string equivalent of this color. + */ + toCssHexString(): string; + /** + * Converts this color to an array of red, green, blue, and alpha values + * that are in the range of 0 to 255. + * @param [result] - The array to store the result in, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. + */ + toBytes(result?: number[]): number[]; + /** + * Converts this color to a single numeric unsigned 32-bit RGBA value, using the endianness + * of the system. + * @example + * var rgba = Cesium.Color.BLUE.toRgba(); + * @returns A single numeric unsigned 32-bit RGBA value. + */ + toRgba(): number; + /** + * Brightens this color by the provided magnitude. + * @example + * var brightBlue = Cesium.Color.BLUE.brighten(0.5, new Cesium.Color()); + * @param magnitude - A positive number indicating the amount to brighten. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + brighten(magnitude: number, result: Color): Color; + /** + * Darkens this color by the provided magnitude. + * @example + * var darkBlue = Cesium.Color.BLUE.darken(0.5, new Cesium.Color()); + * @param magnitude - A positive number indicating the amount to darken. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + darken(magnitude: number, result: Color): Color; + /** + * Creates a new Color that has the same red, green, and blue components + * as this Color, but with the specified alpha value. + * @example + * var translucentRed = Cesium.Color.RED.withAlpha(0.9); + * @param alpha - The new alpha component. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Color instance if one was not provided. + */ + withAlpha(alpha: number, result?: Color): Color; + /** + * Computes the componentwise sum of two Colors. + * @param left - The first Color. + * @param right - The second Color. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static add(left: Color, right: Color, result: Color): Color; + /** + * Computes the componentwise difference of two Colors. + * @param left - The first Color. + * @param right - The second Color. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static subtract(left: Color, right: Color, result: Color): Color; + /** + * Computes the componentwise product of two Colors. + * @param left - The first Color. + * @param right - The second Color. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiply(left: Color, right: Color, result: Color): Color; + /** + * Computes the componentwise quotient of two Colors. + * @param left - The first Color. + * @param right - The second Color. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static divide(left: Color, right: Color, result: Color): Color; + /** + * Computes the componentwise modulus of two Colors. + * @param left - The first Color. + * @param right - The second Color. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static mod(left: Color, right: Color, result: Color): Color; + /** + * Computes the linear interpolation or extrapolation at t between the provided colors. + * @param start - The color corresponding to t at 0.0. + * @param end - The color corresponding to t at 1.0. + * @param t - The point along t at which to interpolate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static lerp(start: Color, end: Color, t: number, result: Color): Color; + /** + * Multiplies the provided Color componentwise by the provided scalar. + * @param color - The Color to be scaled. + * @param scalar - The scalar to multiply with. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScalar(color: Color, scalar: number, result: Color): Color; + /** + * Divides the provided Color componentwise by the provided scalar. + * @param color - The Color to be divided. + * @param scalar - The scalar to divide with. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static divideByScalar(color: Color, scalar: number, result: Color): Color; + /** + * An immutable Color instance initialized to CSS color #F0F8FF + * + */ + static readonly ALICEBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #FAEBD7 + * + */ + static readonly ANTIQUEWHITE: Color; + /** + * An immutable Color instance initialized to CSS color #00FFFF + * + */ + static readonly AQUA: Color; + /** + * An immutable Color instance initialized to CSS color #7FFFD4 + * + */ + static readonly AQUAMARINE: Color; + /** + * An immutable Color instance initialized to CSS color #F0FFFF + * + */ + static readonly AZURE: Color; + /** + * An immutable Color instance initialized to CSS color #F5F5DC + * + */ + static readonly BEIGE: Color; + /** + * An immutable Color instance initialized to CSS color #FFE4C4 + * + */ + static readonly BISQUE: Color; + /** + * An immutable Color instance initialized to CSS color #000000 + * + */ + static readonly BLACK: Color; + /** + * An immutable Color instance initialized to CSS color #FFEBCD + * + */ + static readonly BLANCHEDALMOND: Color; + /** + * An immutable Color instance initialized to CSS color #0000FF + * + */ + static readonly BLUE: Color; + /** + * An immutable Color instance initialized to CSS color #8A2BE2 + * + */ + static readonly BLUEVIOLET: Color; + /** + * An immutable Color instance initialized to CSS color #A52A2A + * + */ + static readonly BROWN: Color; + /** + * An immutable Color instance initialized to CSS color #DEB887 + * + */ + static readonly BURLYWOOD: Color; + /** + * An immutable Color instance initialized to CSS color #5F9EA0 + * + */ + static readonly CADETBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #7FFF00 + * + */ + static readonly CHARTREUSE: Color; + /** + * An immutable Color instance initialized to CSS color #D2691E + * + */ + static readonly CHOCOLATE: Color; + /** + * An immutable Color instance initialized to CSS color #FF7F50 + * + */ + static readonly CORAL: Color; + /** + * An immutable Color instance initialized to CSS color #6495ED + * + */ + static readonly CORNFLOWERBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #FFF8DC + * + */ + static readonly CORNSILK: Color; + /** + * An immutable Color instance initialized to CSS color #DC143C + * + */ + static readonly CRIMSON: Color; + /** + * An immutable Color instance initialized to CSS color #00FFFF + * + */ + static readonly CYAN: Color; + /** + * An immutable Color instance initialized to CSS color #00008B + * + */ + static readonly DARKBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #008B8B + * + */ + static readonly DARKCYAN: Color; + /** + * An immutable Color instance initialized to CSS color #B8860B + * + */ + static readonly DARKGOLDENROD: Color; + /** + * An immutable Color instance initialized to CSS color #A9A9A9 + * + */ + static readonly DARKGRAY: Color; + /** + * An immutable Color instance initialized to CSS color #006400 + * + */ + static readonly DARKGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #A9A9A9 + * + */ + static readonly DARKGREY: Color; + /** + * An immutable Color instance initialized to CSS color #BDB76B + * + */ + static readonly DARKKHAKI: Color; + /** + * An immutable Color instance initialized to CSS color #8B008B + * + */ + static readonly DARKMAGENTA: Color; + /** + * An immutable Color instance initialized to CSS color #556B2F + * + */ + static readonly DARKOLIVEGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #FF8C00 + * + */ + static readonly DARKORANGE: Color; + /** + * An immutable Color instance initialized to CSS color #9932CC + * + */ + static readonly DARKORCHID: Color; + /** + * An immutable Color instance initialized to CSS color #8B0000 + * + */ + static readonly DARKRED: Color; + /** + * An immutable Color instance initialized to CSS color #E9967A + * + */ + static readonly DARKSALMON: Color; + /** + * An immutable Color instance initialized to CSS color #8FBC8F + * + */ + static readonly DARKSEAGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #483D8B + * + */ + static readonly DARKSLATEBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #2F4F4F + * + */ + static readonly DARKSLATEGRAY: Color; + /** + * An immutable Color instance initialized to CSS color #2F4F4F + * + */ + static readonly DARKSLATEGREY: Color; + /** + * An immutable Color instance initialized to CSS color #00CED1 + * + */ + static readonly DARKTURQUOISE: Color; + /** + * An immutable Color instance initialized to CSS color #9400D3 + * + */ + static readonly DARKVIOLET: Color; + /** + * An immutable Color instance initialized to CSS color #FF1493 + * + */ + static readonly DEEPPINK: Color; + /** + * An immutable Color instance initialized to CSS color #00BFFF + * + */ + static readonly DEEPSKYBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #696969 + * + */ + static readonly DIMGRAY: Color; + /** + * An immutable Color instance initialized to CSS color #696969 + * + */ + static readonly DIMGREY: Color; + /** + * An immutable Color instance initialized to CSS color #1E90FF + * + */ + static readonly DODGERBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #B22222 + * + */ + static readonly FIREBRICK: Color; + /** + * An immutable Color instance initialized to CSS color #FFFAF0 + * + */ + static readonly FLORALWHITE: Color; + /** + * An immutable Color instance initialized to CSS color #228B22 + * + */ + static readonly FORESTGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #FF00FF + * + */ + static readonly FUCHSIA: Color; + /** + * An immutable Color instance initialized to CSS color #DCDCDC + * + */ + static readonly GAINSBORO: Color; + /** + * An immutable Color instance initialized to CSS color #F8F8FF + * + */ + static readonly GHOSTWHITE: Color; + /** + * An immutable Color instance initialized to CSS color #FFD700 + * + */ + static readonly GOLD: Color; + /** + * An immutable Color instance initialized to CSS color #DAA520 + * + */ + static readonly GOLDENROD: Color; + /** + * An immutable Color instance initialized to CSS color #808080 + * + */ + static readonly GRAY: Color; + /** + * An immutable Color instance initialized to CSS color #008000 + * + */ + static readonly GREEN: Color; + /** + * An immutable Color instance initialized to CSS color #ADFF2F + * + */ + static readonly GREENYELLOW: Color; + /** + * An immutable Color instance initialized to CSS color #808080 + * + */ + static readonly GREY: Color; + /** + * An immutable Color instance initialized to CSS color #F0FFF0 + * + */ + static readonly HONEYDEW: Color; + /** + * An immutable Color instance initialized to CSS color #FF69B4 + * + */ + static readonly HOTPINK: Color; + /** + * An immutable Color instance initialized to CSS color #CD5C5C + * + */ + static readonly INDIANRED: Color; + /** + * An immutable Color instance initialized to CSS color #4B0082 + * + */ + static readonly INDIGO: Color; + /** + * An immutable Color instance initialized to CSS color #FFFFF0 + * + */ + static readonly IVORY: Color; + /** + * An immutable Color instance initialized to CSS color #F0E68C + * + */ + static readonly KHAKI: Color; + /** + * An immutable Color instance initialized to CSS color #E6E6FA + * + */ + static readonly LAVENDER: Color; + /** + * An immutable Color instance initialized to CSS color #FFF0F5 + * + */ + static readonly LAVENDAR_BLUSH: Color; + /** + * An immutable Color instance initialized to CSS color #7CFC00 + * + */ + static readonly LAWNGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #FFFACD + * + */ + static readonly LEMONCHIFFON: Color; + /** + * An immutable Color instance initialized to CSS color #ADD8E6 + * + */ + static readonly LIGHTBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #F08080 + * + */ + static readonly LIGHTCORAL: Color; + /** + * An immutable Color instance initialized to CSS color #E0FFFF + * + */ + static readonly LIGHTCYAN: Color; + /** + * An immutable Color instance initialized to CSS color #FAFAD2 + * + */ + static readonly LIGHTGOLDENRODYELLOW: Color; + /** + * An immutable Color instance initialized to CSS color #D3D3D3 + * + */ + static readonly LIGHTGRAY: Color; + /** + * An immutable Color instance initialized to CSS color #90EE90 + * + */ + static readonly LIGHTGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #D3D3D3 + * + */ + static readonly LIGHTGREY: Color; + /** + * An immutable Color instance initialized to CSS color #FFB6C1 + * + */ + static readonly LIGHTPINK: Color; + /** + * An immutable Color instance initialized to CSS color #20B2AA + * + */ + static readonly LIGHTSEAGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #87CEFA + * + */ + static readonly LIGHTSKYBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #778899 + * + */ + static readonly LIGHTSLATEGRAY: Color; + /** + * An immutable Color instance initialized to CSS color #778899 + * + */ + static readonly LIGHTSLATEGREY: Color; + /** + * An immutable Color instance initialized to CSS color #B0C4DE + * + */ + static readonly LIGHTSTEELBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #FFFFE0 + * + */ + static readonly LIGHTYELLOW: Color; + /** + * An immutable Color instance initialized to CSS color #00FF00 + * + */ + static readonly LIME: Color; + /** + * An immutable Color instance initialized to CSS color #32CD32 + * + */ + static readonly LIMEGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #FAF0E6 + * + */ + static readonly LINEN: Color; + /** + * An immutable Color instance initialized to CSS color #FF00FF + * + */ + static readonly MAGENTA: Color; + /** + * An immutable Color instance initialized to CSS color #800000 + * + */ + static readonly MAROON: Color; + /** + * An immutable Color instance initialized to CSS color #66CDAA + * + */ + static readonly MEDIUMAQUAMARINE: Color; + /** + * An immutable Color instance initialized to CSS color #0000CD + * + */ + static readonly MEDIUMBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #BA55D3 + * + */ + static readonly MEDIUMORCHID: Color; + /** + * An immutable Color instance initialized to CSS color #9370DB + * + */ + static readonly MEDIUMPURPLE: Color; + /** + * An immutable Color instance initialized to CSS color #3CB371 + * + */ + static readonly MEDIUMSEAGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #7B68EE + * + */ + static readonly MEDIUMSLATEBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #00FA9A + * + */ + static readonly MEDIUMSPRINGGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #48D1CC + * + */ + static readonly MEDIUMTURQUOISE: Color; + /** + * An immutable Color instance initialized to CSS color #C71585 + * + */ + static readonly MEDIUMVIOLETRED: Color; + /** + * An immutable Color instance initialized to CSS color #191970 + * + */ + static readonly MIDNIGHTBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #F5FFFA + * + */ + static readonly MINTCREAM: Color; + /** + * An immutable Color instance initialized to CSS color #FFE4E1 + * + */ + static readonly MISTYROSE: Color; + /** + * An immutable Color instance initialized to CSS color #FFE4B5 + * + */ + static readonly MOCCASIN: Color; + /** + * An immutable Color instance initialized to CSS color #FFDEAD + * + */ + static readonly NAVAJOWHITE: Color; + /** + * An immutable Color instance initialized to CSS color #000080 + * + */ + static readonly NAVY: Color; + /** + * An immutable Color instance initialized to CSS color #FDF5E6 + * + */ + static readonly OLDLACE: Color; + /** + * An immutable Color instance initialized to CSS color #808000 + * + */ + static readonly OLIVE: Color; + /** + * An immutable Color instance initialized to CSS color #6B8E23 + * + */ + static readonly OLIVEDRAB: Color; + /** + * An immutable Color instance initialized to CSS color #FFA500 + * + */ + static readonly ORANGE: Color; + /** + * An immutable Color instance initialized to CSS color #FF4500 + * + */ + static readonly ORANGERED: Color; + /** + * An immutable Color instance initialized to CSS color #DA70D6 + * + */ + static readonly ORCHID: Color; + /** + * An immutable Color instance initialized to CSS color #EEE8AA + * + */ + static readonly PALEGOLDENROD: Color; + /** + * An immutable Color instance initialized to CSS color #98FB98 + * + */ + static readonly PALEGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #AFEEEE + * + */ + static readonly PALETURQUOISE: Color; + /** + * An immutable Color instance initialized to CSS color #DB7093 + * + */ + static readonly PALEVIOLETRED: Color; + /** + * An immutable Color instance initialized to CSS color #FFEFD5 + * + */ + static readonly PAPAYAWHIP: Color; + /** + * An immutable Color instance initialized to CSS color #FFDAB9 + * + */ + static readonly PEACHPUFF: Color; + /** + * An immutable Color instance initialized to CSS color #CD853F + * + */ + static readonly PERU: Color; + /** + * An immutable Color instance initialized to CSS color #FFC0CB + * + */ + static readonly PINK: Color; + /** + * An immutable Color instance initialized to CSS color #DDA0DD + * + */ + static readonly PLUM: Color; + /** + * An immutable Color instance initialized to CSS color #B0E0E6 + * + */ + static readonly POWDERBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #800080 + * + */ + static readonly PURPLE: Color; + /** + * An immutable Color instance initialized to CSS color #FF0000 + * + */ + static readonly RED: Color; + /** + * An immutable Color instance initialized to CSS color #BC8F8F + * + */ + static readonly ROSYBROWN: Color; + /** + * An immutable Color instance initialized to CSS color #4169E1 + * + */ + static readonly ROYALBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #8B4513 + * + */ + static readonly SADDLEBROWN: Color; + /** + * An immutable Color instance initialized to CSS color #FA8072 + * + */ + static readonly SALMON: Color; + /** + * An immutable Color instance initialized to CSS color #F4A460 + * + */ + static readonly SANDYBROWN: Color; + /** + * An immutable Color instance initialized to CSS color #2E8B57 + * + */ + static readonly SEAGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #FFF5EE + * + */ + static readonly SEASHELL: Color; + /** + * An immutable Color instance initialized to CSS color #A0522D + * + */ + static readonly SIENNA: Color; + /** + * An immutable Color instance initialized to CSS color #C0C0C0 + * + */ + static readonly SILVER: Color; + /** + * An immutable Color instance initialized to CSS color #87CEEB + * + */ + static readonly SKYBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #6A5ACD + * + */ + static readonly SLATEBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #708090 + * + */ + static readonly SLATEGRAY: Color; + /** + * An immutable Color instance initialized to CSS color #708090 + * + */ + static readonly SLATEGREY: Color; + /** + * An immutable Color instance initialized to CSS color #FFFAFA + * + */ + static readonly SNOW: Color; + /** + * An immutable Color instance initialized to CSS color #00FF7F + * + */ + static readonly SPRINGGREEN: Color; + /** + * An immutable Color instance initialized to CSS color #4682B4 + * + */ + static readonly STEELBLUE: Color; + /** + * An immutable Color instance initialized to CSS color #D2B48C + * + */ + static readonly TAN: Color; + /** + * An immutable Color instance initialized to CSS color #008080 + * + */ + static readonly TEAL: Color; + /** + * An immutable Color instance initialized to CSS color #D8BFD8 + * + */ + static readonly THISTLE: Color; + /** + * An immutable Color instance initialized to CSS color #FF6347 + * + */ + static readonly TOMATO: Color; + /** + * An immutable Color instance initialized to CSS color #40E0D0 + * + */ + static readonly TURQUOISE: Color; + /** + * An immutable Color instance initialized to CSS color #EE82EE + * + */ + static readonly VIOLET: Color; + /** + * An immutable Color instance initialized to CSS color #F5DEB3 + * + */ + static readonly WHEAT: Color; + /** + * An immutable Color instance initialized to CSS color #FFFFFF + * + */ + static readonly WHITE: Color; + /** + * An immutable Color instance initialized to CSS color #F5F5F5 + * + */ + static readonly WHITESMOKE: Color; + /** + * An immutable Color instance initialized to CSS color #FFFF00 + * + */ + static readonly YELLOW: Color; + /** + * An immutable Color instance initialized to CSS color #9ACD32 + * + */ + static readonly YELLOWGREEN: Color; + /** + * An immutable Color instance initialized to CSS transparent. + * + */ + static readonly TRANSPARENT: Color; +} + +/** + * Value and type information for per-instance geometry color. + * @example + * var instance = new Cesium.GeometryInstance({ + * geometry : Cesium.BoxGeometry.fromDimensions({ + * dimensions : new Cesium.Cartesian3(1000000.0, 1000000.0, 500000.0) + * }), + * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame( + * Cesium.Cartesian3.fromDegrees(0.0, 0.0)), new Cesium.Cartesian3(0.0, 0.0, 1000000.0), new Cesium.Matrix4()), + * id : 'box', + * attributes : { + * color : new Cesium.ColorGeometryInstanceAttribute(red, green, blue, alpha) + * } + * }); + * @param [red = 1.0] - The red component. + * @param [green = 1.0] - The green component. + * @param [blue = 1.0] - The blue component. + * @param [alpha = 1.0] - The alpha component. + */ +export class ColorGeometryInstanceAttribute { + constructor(red?: number, green?: number, blue?: number, alpha?: number); + /** + * The values for the attributes stored in a typed array. + */ + value: Uint8Array; + /** + * The datatype of each component in the attribute, e.g., individual elements in + * {@link ColorGeometryInstanceAttribute#value}. + */ + readonly componentDatatype: ComponentDatatype; + /** + * The number of components in the attributes, i.e., {@link ColorGeometryInstanceAttribute#value}. + */ + readonly componentsPerAttribute: number; + /** + * When true and componentDatatype is an integer format, + * indicate that the components should be mapped to the range [0, 1] (unsigned) + * or [-1, 1] (signed) when they are accessed as floating-point for rendering. + */ + readonly normalize: boolean; + /** + * Creates a new {@link ColorGeometryInstanceAttribute} instance given the provided {@link Color}. + * @example + * var instance = new Cesium.GeometryInstance({ + * geometry : geometry, + * attributes : { + * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.CORNFLOWERBLUE), + * } + * }); + * @param color - The color. + * @returns The new {@link ColorGeometryInstanceAttribute} instance. + */ + static fromColor(color: Color): ColorGeometryInstanceAttribute; + /** + * Converts a color to a typed array that can be used to assign a color attribute. + * @example + * var attributes = primitive.getGeometryInstanceAttributes('an id'); + * attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA, attributes.color); + * @param color - The color. + * @param [result] - The array to store the result in, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. + */ + static toValue(color: Color, result?: Uint8Array): Uint8Array; + /** + * Compares the provided ColorGeometryInstanceAttributes and returns + * true if they are equal, false otherwise. + * @param [left] - The first ColorGeometryInstanceAttribute. + * @param [right] - The second ColorGeometryInstanceAttribute. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: ColorGeometryInstanceAttribute, right?: ColorGeometryInstanceAttribute): boolean; +} + +/** + * Merges two objects, copying their properties onto a new combined object. When two objects have the same + * property, the value of the property on the first object is used. If either object is undefined, + * it will be treated as an empty object. + * @example + * var object1 = { + * propOne : 1, + * propTwo : { + * value1 : 10 + * } + * } + * var object2 = { + * propTwo : 2 + * } + * var final = Cesium.combine(object1, object2); + * + * // final === { + * // propOne : 1, + * // propTwo : { + * // value1 : 10 + * // } + * // } + * @param [object1] - The first object to merge. + * @param [object2] - The second object to merge. + * @param [deep = false] - Perform a recursive merge. + * @returns The combined object containing all properties from both objects. + */ +export function combine(object1?: any, object2?: any, deep?: boolean): any; + +/** + * WebGL component datatypes. Components are intrinsics, + * which form attributes, which form vertices. + */ +export enum ComponentDatatype { + /** + * 8-bit signed byte corresponding to gl.BYTE and the type + * of an element in Int8Array. + */ + BYTE = WebGLConstants.BYTE, + /** + * 8-bit unsigned byte corresponding to UNSIGNED_BYTE and the type + * of an element in Uint8Array. + */ + UNSIGNED_BYTE = WebGLConstants.UNSIGNED_BYTE, + /** + * 16-bit signed short corresponding to SHORT and the type + * of an element in Int16Array. + */ + SHORT = WebGLConstants.SHORT, + /** + * 16-bit unsigned short corresponding to UNSIGNED_SHORT and the type + * of an element in Uint16Array. + */ + UNSIGNED_SHORT = WebGLConstants.UNSIGNED_SHORT, + /** + * 32-bit signed int corresponding to INT and the type + * of an element in Int32Array. + */ + INT = WebGLConstants.INT, + /** + * 32-bit unsigned int corresponding to UNSIGNED_INT and the type + * of an element in Uint32Array. + */ + UNSIGNED_INT = WebGLConstants.UNSIGNED_INT, + /** + * 32-bit floating-point corresponding to FLOAT and the type + * of an element in Float32Array. + */ + FLOAT = WebGLConstants.FLOAT, + /** + * 64-bit floating-point corresponding to gl.DOUBLE (in Desktop OpenGL; + * this is not supported in WebGL, and is emulated in Cesium via {@link GeometryPipeline.encodeAttribute}) + * and the type of an element in Float64Array. + */ + DOUBLE = WebGLConstants.DOUBLE +} + +/** + * Describes a compressed texture and contains a compressed texture buffer. + * @param internalFormat - The pixel format of the compressed texture. + * @param width - The width of the texture. + * @param height - The height of the texture. + * @param buffer - The compressed texture buffer. + */ +export class CompressedTextureBuffer { + constructor(internalFormat: PixelFormat, width: number, height: number, buffer: Uint8Array); + /** + * The format of the compressed texture. + */ + readonly internalFormat: PixelFormat; + /** + * The width of the texture. + */ + readonly width: number; + /** + * The height of the texture. + */ + readonly height: number; + /** + * The compressed texture buffer. + */ + readonly bufferView: Uint8Array; + /** + * Creates a shallow clone of a compressed texture buffer. + * @param object - The compressed texture buffer to be cloned. + * @returns A shallow clone of the compressed texture buffer. + */ + static clone(object: CompressedTextureBuffer): CompressedTextureBuffer; + /** + * Creates a shallow clone of this compressed texture buffer. + * @returns A shallow clone of the compressed texture buffer. + */ + clone(): CompressedTextureBuffer; +} + +/** + * A description of a polygon composed of arbitrary coplanar positions. + * @example + * var polygonGeometry = new Cesium.CoplanarPolygonGeometry({ + * polygonHierarchy: new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArrayHeights([ + * -90.0, 30.0, 0.0, + * -90.0, 30.0, 300000.0, + * -80.0, 30.0, 300000.0, + * -80.0, 30.0, 0.0 + * ])) + * }); + * @param options - Object with the following properties: + * @param options.polygonHierarchy - A polygon hierarchy that can include holes. + * @param [options.stRotation = 0.0] - The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + */ +export class CoplanarPolygonGeometry { + constructor(options: { + polygonHierarchy: PolygonHierarchy; + stRotation?: number; + vertexFormat?: VertexFormat; + ellipsoid?: Ellipsoid; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * A description of a coplanar polygon from an array of positions. + * @example + * // create a polygon from points + * var polygon = Cesium.CoplanarPolygonGeometry.fromPositions({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0, + * -75.0, 30.0, + * -70.0, 30.0, + * -68.0, 40.0 + * ]) + * }); + * var geometry = Cesium.PolygonGeometry.createGeometry(polygon); + * @param options - Object with the following properties: + * @param options.positions - An array of positions that defined the corner points of the polygon. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.stRotation = 0.0] - The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + */ + static fromPositions(options: { + positions: Cartesian3[]; + vertexFormat?: VertexFormat; + stRotation?: number; + ellipsoid?: Ellipsoid; + }): CoplanarPolygonGeometry; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: CoplanarPolygonGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new CoplanarPolygonGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: CoplanarPolygonGeometry): CoplanarPolygonGeometry; + /** + * Computes the geometric representation of an arbitrary coplanar polygon, including its vertices, indices, and a bounding sphere. + * @param polygonGeometry - A description of the polygon. + * @returns The computed vertices and indices. + */ + static createGeometry(polygonGeometry: CoplanarPolygonGeometry): Geometry | undefined; +} + +/** + * A description of the outline of a polygon composed of arbitrary coplanar positions. + * @example + * var polygonOutline = new Cesium.CoplanarPolygonOutlineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArrayHeights([ + * -90.0, 30.0, 0.0, + * -90.0, 30.0, 1000.0, + * -80.0, 30.0, 1000.0, + * -80.0, 30.0, 0.0 + * ]) + * }); + * var geometry = Cesium.CoplanarPolygonOutlineGeometry.createGeometry(polygonOutline); + * @param options - Object with the following properties: + * @param options.polygonHierarchy - A polygon hierarchy that can include holes. + */ +export class CoplanarPolygonOutlineGeometry { + constructor(options: { + polygonHierarchy: PolygonHierarchy; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * A description of a coplanar polygon outline from an array of positions. + * @param options - Object with the following properties: + * @param options.positions - An array of positions that defined the corner points of the polygon. + */ + static fromPositions(options: { + positions: Cartesian3[]; + }): CoplanarPolygonOutlineGeometry; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: CoplanarPolygonOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new CoplanarPolygonOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: CoplanarPolygonOutlineGeometry): CoplanarPolygonOutlineGeometry; + /** + * Computes the geometric representation of an arbitrary coplanar polygon, including its vertices, indices, and a bounding sphere. + * @param polygonGeometry - A description of the polygon. + * @returns The computed vertices and indices. + */ + static createGeometry(polygonGeometry: CoplanarPolygonOutlineGeometry): Geometry | undefined; +} + +/** + * Style options for corners. + */ +export enum CornerType { + /** + * + * + * Corner has a smooth edge. + */ + ROUNDED = 0, + /** + * + * + * Corner point is the intersection of adjacent edges. + */ + MITERED = 1, + /** + * + * + * Corner is clipped. + */ + BEVELED = 2 +} + +/** + * A description of a corridor. Corridor geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}. + * @example + * var corridor = new Cesium.CorridorGeometry({ + * vertexFormat : Cesium.VertexFormat.POSITION_ONLY, + * positions : Cesium.Cartesian3.fromDegreesArray([-72.0, 40.0, -70.0, 35.0]), + * width : 100000 + * }); + * @param options - Object with the following properties: + * @param options.positions - An array of positions that define the center of the corridor. + * @param options.width - The distance between the edges of the corridor in meters. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.height = 0] - The distance in meters between the ellipsoid surface and the positions. + * @param [options.extrudedHeight] - The distance in meters between the ellipsoid surface and the extruded face. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.cornerType = CornerType.ROUNDED] - Determines the style of the corners. + */ +export class CorridorGeometry { + constructor(options: { + positions: Cartesian3[]; + width: number; + ellipsoid?: Ellipsoid; + granularity?: number; + height?: number; + extrudedHeight?: number; + vertexFormat?: VertexFormat; + cornerType?: CornerType; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: CorridorGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new CorridorGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: CorridorGeometry): CorridorGeometry; + /** + * Computes the bounding rectangle given the provided options + * @param options - Object with the following properties: + * @param options.positions - An array of positions that define the center of the corridor. + * @param options.width - The distance between the edges of the corridor in meters. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [options.cornerType = CornerType.ROUNDED] - Determines the style of the corners. + * @param [result] - An object in which to store the result. + * @returns The result rectangle. + */ + static computeRectangle(options: { + positions: Cartesian3[]; + width: number; + ellipsoid?: Ellipsoid; + cornerType?: CornerType; + }, result?: Rectangle): Rectangle; + /** + * Computes the geometric representation of a corridor, including its vertices, indices, and a bounding sphere. + * @param corridorGeometry - A description of the corridor. + * @returns The computed vertices and indices. + */ + static createGeometry(corridorGeometry: CorridorGeometry): Geometry | undefined; +} + +/** + * A description of a corridor outline. + * @example + * var corridor = new Cesium.CorridorOutlineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArray([-72.0, 40.0, -70.0, 35.0]), + * width : 100000 + * }); + * @param options - Object with the following properties: + * @param options.positions - An array of positions that define the center of the corridor outline. + * @param options.width - The distance between the edges of the corridor outline. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.height = 0] - The distance in meters between the positions and the ellipsoid surface. + * @param [options.extrudedHeight] - The distance in meters between the extruded face and the ellipsoid surface. + * @param [options.cornerType = CornerType.ROUNDED] - Determines the style of the corners. + */ +export class CorridorOutlineGeometry { + constructor(options: { + positions: Cartesian3[]; + width: number; + ellipsoid?: Ellipsoid; + granularity?: number; + height?: number; + extrudedHeight?: number; + cornerType?: CornerType; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: CorridorOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new CorridorOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: CorridorOutlineGeometry): CorridorOutlineGeometry; + /** + * Computes the geometric representation of a corridor, including its vertices, indices, and a bounding sphere. + * @param corridorOutlineGeometry - A description of the corridor. + * @returns The computed vertices and indices. + */ + static createGeometry(corridorOutlineGeometry: CorridorOutlineGeometry): Geometry | undefined; +} + +/** + * Creates a Globally unique identifier (GUID) string. A GUID is 128 bits long, and can guarantee uniqueness across space and time. + * @example + * this.guid = Cesium.createGuid(); + */ +export function createGuid(): string; + +/** + * Creates a {@link CesiumTerrainProvider} instance for the {@link https://cesium.com/content/#cesium-world-terrain|Cesium World Terrain}. + * @example + * // Create Cesium World Terrain with default settings + * var viewer = new Cesium.Viewer('cesiumContainer', { + * terrainProvider : Cesium.createWorldTerrain(); + * }); + * @example + * // Create Cesium World Terrain with water and normals. + * var viewer = new Cesium.Viewer('cesiumContainer', { + * terrainProvider : Cesium.createWorldTerrain({ + * requestWaterMask : true, + * requestVertexNormals : true + * }); + * }); + * @param [options] - Object with the following properties: + * @param [options.requestVertexNormals = false] - Flag that indicates if the client should request additional lighting information from the server if available. + * @param [options.requestWaterMask = false] - Flag that indicates if the client should request per tile water masks from the server if available. + */ +export function createWorldTerrain(options?: { + requestVertexNormals?: boolean; + requestWaterMask?: boolean; +}): CesiumTerrainProvider; + +/** + * A credit contains data pertaining to how to display attributions/credits for certain content on the screen. + * @example + * //Create a credit with a tooltip, image and link + * var credit = new Cesium.Credit(''); + * @param html - An string representing an html code snippet + * @param [showOnScreen = false] - If true, the credit will be visible in the main credit container. Otherwise, it will appear in a popover + */ +export class Credit { + constructor(html: string, showOnScreen?: boolean); + /** + * The credit content + */ + readonly html: string; + /** + * Whether the credit should be displayed on screen or in a lightbox + */ + readonly showOnScreen: boolean; + /** + * Gets the credit element + */ + readonly element: HTMLElement; + /** + * Returns true if the credits are equal + * @param left - The first credit + * @param right - The second credit + * @returns true if left and right are equal, false otherwise. + */ + static equals(left: Credit, right: Credit): boolean; + /** + * Returns true if the credits are equal + * @param credit - The credit to compare to. + * @returns true if left and right are equal, false otherwise. + */ + equals(credit: Credit): boolean; + /** + * Duplicates a Credit instance. + * @param [credit] - The Credit to duplicate. + * @returns A new Credit instance that is a duplicate of the one provided. (Returns undefined if the credit is undefined) + */ + static clone(credit?: Credit): Credit; +} + +/** + * Defines functions for 3rd order polynomial functions of one variable with only real coefficients. + */ +export namespace CubicRealPolynomial { + /** + * Provides the discriminant of the cubic equation from the supplied coefficients. + * @param a - The coefficient of the 3rd order monomial. + * @param b - The coefficient of the 2nd order monomial. + * @param c - The coefficient of the 1st order monomial. + * @param d - The coefficient of the 0th order monomial. + * @returns The value of the discriminant. + */ + function computeDiscriminant(a: number, b: number, c: number, d: number): number; + /** + * Provides the real valued roots of the cubic polynomial with the provided coefficients. + * @param a - The coefficient of the 3rd order monomial. + * @param b - The coefficient of the 2nd order monomial. + * @param c - The coefficient of the 1st order monomial. + * @param d - The coefficient of the 0th order monomial. + * @returns The real valued roots. + */ + function computeRealRoots(a: number, b: number, c: number, d: number): number[]; +} + +/** + * The culling volume defined by planes. + * @param [planes] - An array of clipping planes. + */ +export class CullingVolume { + constructor(planes?: Cartesian4[]); + /** + * Each plane is represented by a Cartesian4 object, where the x, y, and z components + * define the unit vector normal to the plane, and the w component is the distance of the + * plane from the origin. + */ + planes: Cartesian4[]; + /** + * Constructs a culling volume from a bounding sphere. Creates six planes that create a box containing the sphere. + * The planes are aligned to the x, y, and z axes in world coordinates. + * @param boundingSphere - The bounding sphere used to create the culling volume. + * @param [result] - The object onto which to store the result. + * @returns The culling volume created from the bounding sphere. + */ + static fromBoundingSphere(boundingSphere: BoundingSphere, result?: CullingVolume): CullingVolume; + /** + * Determines whether a bounding volume intersects the culling volume. + * @param boundingVolume - The bounding volume whose intersection with the culling volume is to be tested. + * @returns Intersect.OUTSIDE, Intersect.INTERSECTING, or Intersect.INSIDE. + */ + computeVisibility(boundingVolume: any): Intersect; +} + +/** + * A description of a cylinder. + * @example + * // create cylinder geometry + * var cylinder = new Cesium.CylinderGeometry({ + * length: 200000, + * topRadius: 80000, + * bottomRadius: 200000, + * }); + * var geometry = Cesium.CylinderGeometry.createGeometry(cylinder); + * @param options - Object with the following properties: + * @param options.length - The length of the cylinder. + * @param options.topRadius - The radius of the top of the cylinder. + * @param options.bottomRadius - The radius of the bottom of the cylinder. + * @param [options.slices = 128] - The number of edges around the perimeter of the cylinder. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ +export class CylinderGeometry { + constructor(options: { + length: number; + topRadius: number; + bottomRadius: number; + slices?: number; + vertexFormat?: VertexFormat; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: CylinderGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new CylinderGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: CylinderGeometry): CylinderGeometry; + /** + * Computes the geometric representation of a cylinder, including its vertices, indices, and a bounding sphere. + * @param cylinderGeometry - A description of the cylinder. + * @returns The computed vertices and indices. + */ + static createGeometry(cylinderGeometry: CylinderGeometry): Geometry | undefined; +} + +/** + * A description of the outline of a cylinder. + * @example + * // create cylinder geometry + * var cylinder = new Cesium.CylinderOutlineGeometry({ + * length: 200000, + * topRadius: 80000, + * bottomRadius: 200000, + * }); + * var geometry = Cesium.CylinderOutlineGeometry.createGeometry(cylinder); + * @param options - Object with the following properties: + * @param options.length - The length of the cylinder. + * @param options.topRadius - The radius of the top of the cylinder. + * @param options.bottomRadius - The radius of the bottom of the cylinder. + * @param [options.slices = 128] - The number of edges around the perimeter of the cylinder. + * @param [options.numberOfVerticalLines = 16] - Number of lines to draw between the top and bottom surfaces of the cylinder. + */ +export class CylinderOutlineGeometry { + constructor(options: { + length: number; + topRadius: number; + bottomRadius: number; + slices?: number; + numberOfVerticalLines?: number; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: CylinderOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new CylinderOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: CylinderOutlineGeometry): CylinderOutlineGeometry; + /** + * Computes the geometric representation of an outline of a cylinder, including its vertices, indices, and a bounding sphere. + * @param cylinderGeometry - A description of the cylinder outline. + * @returns The computed vertices and indices. + */ + static createGeometry(cylinderGeometry: CylinderOutlineGeometry): Geometry | undefined; +} + +/** + * A simple proxy that appends the desired resource as the sole query parameter + * to the given proxy URL. + * @param proxy - The proxy URL that will be used to requests all resources. + */ +export class DefaultProxy extends Proxy { + constructor(proxy: string); + /** + * Get the final URL to use to request a given resource. + * @param resource - The resource to request. + * @returns proxied resource + */ + getURL(resource: string): string; +} + +/** + * Returns the first parameter if not undefined, otherwise the second parameter. + * Useful for setting a default value for a parameter. + * @example + * param = Cesium.defaultValue(param, 'default'); + * @returns Returns the first parameter if not undefined, otherwise the second parameter. + */ +export function defaultValue(a: any, b: any): any; + +/** + * @example + * if (Cesium.defined(positions)) { + * doSomething(); + * } else { + * doSomethingElse(); + * } + * @param value - The object. + * @returns Returns true if the object is defined, returns false otherwise. + */ +export function defined(value: any): boolean; + +/** + * Destroys an object. Each of the object's functions, including functions in its prototype, + * is replaced with a function that throws a {@link DeveloperError}, except for the object's + * isDestroyed function, which is set to a function that returns true. + * The object's properties are removed with delete. + *

+ * This function is used by objects that hold native resources, e.g., WebGL resources, which + * need to be explicitly released. Client code calls an object's destroy function, + * which then releases the native resource and calls destroyObject to put itself + * in a destroyed state. + * @example + * // How a texture would destroy itself. + * this.destroy = function () { + * _gl.deleteTexture(_texture); + * return Cesium.destroyObject(this); + * }; + * @param object - The object to destroy. + * @param [message] - The message to include in the exception that is thrown if + * a destroyed object's function is called. + */ +export function destroyObject(object: any, message?: string): void; + +/** + * Constructs an exception object that is thrown due to a developer error, e.g., invalid argument, + * argument out of range, etc. This exception should only be thrown during development; + * it usually indicates a bug in the calling code. This exception should never be + * caught; instead the calling code should strive not to generate it. + *

+ * On the other hand, a {@link RuntimeError} indicates an exception that may + * be thrown at runtime, e.g., out of memory, that the calling code should be prepared + * to catch. + * @param [message] - The error message for this exception. + */ +export class DeveloperError extends Error { + constructor(message?: string); + /** + * 'DeveloperError' indicating that this exception was thrown due to a developer error. + */ + readonly name: string; + /** + * The explanation for why this exception was thrown. + */ + readonly message: string; + /** + * The stack trace of this exception, if available. + */ + readonly stack: string; +} + +/** + * Determines visibility based on the distance to the camera. + * @example + * // Make a billboard that is only visible when the distance to the camera is between 10 and 20 meters. + * billboard.distanceDisplayCondition = new Cesium.DistanceDisplayCondition(10.0, 20.0); + * @param [near = 0.0] - The smallest distance in the interval where the object is visible. + * @param [far = Number.MAX_VALUE] - The largest distance in the interval where the object is visible. + */ +export class DistanceDisplayCondition { + constructor(near?: number, far?: number); + /** + * The smallest distance in the interval where the object is visible. + */ + near: number; + /** + * The largest distance in the interval where the object is visible. + */ + far: number; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: DistanceDisplayCondition, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new DistanceDisplayCondition instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: DistanceDisplayCondition): DistanceDisplayCondition; + /** + * Determines if two distance display conditions are equal. + * @param left - A distance display condition. + * @param right - Another distance display condition. + * @returns Whether the two distance display conditions are equal. + */ + static equals(left: DistanceDisplayCondition, right: DistanceDisplayCondition): boolean; + /** + * Duplicates a distance display condition instance. + * @param [value] - The distance display condition to duplicate. + * @param [result] - The result onto which to store the result. + * @returns The duplicated instance. + */ + static clone(value?: DistanceDisplayCondition, result?: DistanceDisplayCondition): DistanceDisplayCondition; + /** + * Duplicates this instance. + * @param [result] - The result onto which to store the result. + * @returns The duplicated instance. + */ + clone(result?: DistanceDisplayCondition): DistanceDisplayCondition; + /** + * Determines if this distance display condition is equal to another. + * @param other - Another distance display condition. + * @returns Whether this distance display condition is equal to the other. + */ + equals(other: DistanceDisplayCondition): boolean; +} + +/** + * Value and type information for per-instance geometry attribute that determines if the geometry instance has a distance display condition. + * @example + * var instance = new Cesium.GeometryInstance({ + * geometry : new Cesium.BoxGeometry({ + * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL, + * minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0), + * maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0) + * }), + * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame( + * Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 1000000.0), new Cesium.Matrix4()), + * id : 'box', + * attributes : { + * distanceDisplayCondition : new Cesium.DistanceDisplayConditionGeometryInstanceAttribute(100.0, 10000.0) + * } + * }); + * @param [near = 0.0] - The near distance. + * @param [far = Number.MAX_VALUE] - The far distance. + */ +export class DistanceDisplayConditionGeometryInstanceAttribute { + constructor(near?: number, far?: number); + /** + * The values for the attributes stored in a typed array. + */ + value: Float32Array; + /** + * The datatype of each component in the attribute, e.g., individual elements in + * {@link DistanceDisplayConditionGeometryInstanceAttribute#value}. + */ + readonly componentDatatype: ComponentDatatype; + /** + * The number of components in the attributes, i.e., {@link DistanceDisplayConditionGeometryInstanceAttribute#value}. + */ + readonly componentsPerAttribute: number; + /** + * When true and componentDatatype is an integer format, + * indicate that the components should be mapped to the range [0, 1] (unsigned) + * or [-1, 1] (signed) when they are accessed as floating-point for rendering. + */ + readonly normalize: boolean; + /** + * Creates a new {@link DistanceDisplayConditionGeometryInstanceAttribute} instance given the provided an enabled flag and {@link DistanceDisplayCondition}. + * @example + * var distanceDisplayCondition = new Cesium.DistanceDisplayCondition(100.0, 10000.0); + * var instance = new Cesium.GeometryInstance({ + * geometry : geometry, + * attributes : { + * distanceDisplayCondition : Cesium.DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(distanceDisplayCondition) + * } + * }); + * @param distanceDisplayCondition - The distance display condition. + * @returns The new {@link DistanceDisplayConditionGeometryInstanceAttribute} instance. + */ + static fromDistanceDisplayCondition(distanceDisplayCondition: DistanceDisplayCondition): DistanceDisplayConditionGeometryInstanceAttribute; + /** + * Converts a distance display condition to a typed array that can be used to assign a distance display condition attribute. + * @example + * var attributes = primitive.getGeometryInstanceAttributes('an id'); + * attributes.distanceDisplayCondition = Cesium.DistanceDisplayConditionGeometryInstanceAttribute.toValue(distanceDisplayCondition, attributes.distanceDisplayCondition); + * @param distanceDisplayCondition - The distance display condition value. + * @param [result] - The array to store the result in, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. + */ + static toValue(distanceDisplayCondition: DistanceDisplayCondition, result?: Float32Array): Float32Array; +} + +/** + * Easing functions for use with TweenCollection. These function are from + * {@link https://github.com/sole/tween.js/|Tween.js} and Robert Penner. See the + * {@link http://sole.github.io/tween.js/examples/03_graphs.html|Tween.js graphs for each function}. + */ +export namespace EasingFunction { + /** + * Linear easing. + */ + const LINEAR_NONE: EasingFunction.Callback; + /** + * Quadratic in. + */ + const QUADRACTIC_IN: EasingFunction.Callback; + /** + * Quadratic out. + */ + const QUADRACTIC_OUT: EasingFunction.Callback; + /** + * Quadratic in then out. + */ + const QUADRACTIC_IN_OUT: EasingFunction.Callback; + /** + * Cubic in. + */ + const CUBIC_IN: EasingFunction.Callback; + /** + * Cubic out. + */ + const CUBIC_OUT: EasingFunction.Callback; + /** + * Cubic in then out. + */ + const CUBIC_IN_OUT: EasingFunction.Callback; + /** + * Quartic in. + */ + const QUARTIC_IN: EasingFunction.Callback; + /** + * Quartic out. + */ + const QUARTIC_OUT: EasingFunction.Callback; + /** + * Quartic in then out. + */ + const QUARTIC_IN_OUT: EasingFunction.Callback; + /** + * Quintic in. + */ + const QUINTIC_IN: EasingFunction.Callback; + /** + * Quintic out. + */ + const QUINTIC_OUT: EasingFunction.Callback; + /** + * Quintic in then out. + */ + const QUINTIC_IN_OUT: EasingFunction.Callback; + /** + * Sinusoidal in. + */ + const SINUSOIDAL_IN: EasingFunction.Callback; + /** + * Sinusoidal out. + */ + const SINUSOIDAL_OUT: EasingFunction.Callback; + /** + * Sinusoidal in then out. + */ + const SINUSOIDAL_IN_OUT: EasingFunction.Callback; + /** + * Exponential in. + */ + const EXPONENTIAL_IN: EasingFunction.Callback; + /** + * Exponential out. + */ + const EXPONENTIAL_OUT: EasingFunction.Callback; + /** + * Exponential in then out. + */ + const EXPONENTIAL_IN_OUT: EasingFunction.Callback; + /** + * Circular in. + */ + const CIRCULAR_IN: EasingFunction.Callback; + /** + * Circular out. + */ + const CIRCULAR_OUT: EasingFunction.Callback; + /** + * Circular in then out. + */ + const CIRCULAR_IN_OUT: EasingFunction.Callback; + /** + * Elastic in. + */ + const ELASTIC_IN: EasingFunction.Callback; + /** + * Elastic out. + */ + const ELASTIC_OUT: EasingFunction.Callback; + /** + * Elastic in then out. + */ + const ELASTIC_IN_OUT: EasingFunction.Callback; + /** + * Back in. + */ + const BACK_IN: EasingFunction.Callback; + /** + * Back out. + */ + const BACK_OUT: EasingFunction.Callback; + /** + * Back in then out. + */ + const BACK_IN_OUT: EasingFunction.Callback; + /** + * Bounce in. + */ + const BOUNCE_IN: EasingFunction.Callback; + /** + * Bounce out. + */ + const BOUNCE_OUT: EasingFunction.Callback; + /** + * Bounce in then out. + */ + const BOUNCE_IN_OUT: EasingFunction.Callback; + /** + * Function interface for implementing a custom easing function. + * @example + * function quadraticIn(time) { + * return time * time; + * } + * @example + * function quadraticOut(time) { + * return time * (2.0 - time); + * } + * @param time - The time in the range [0, 1]. + */ + type Callback = (time: number) => number; +} + +/** + * A description of an ellipse on an ellipsoid. Ellipse geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}. + * @example + * // Create an ellipse. + * var ellipse = new Cesium.EllipseGeometry({ + * center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883), + * semiMajorAxis : 500000.0, + * semiMinorAxis : 300000.0, + * rotation : Cesium.Math.toRadians(60.0) + * }); + * var geometry = Cesium.EllipseGeometry.createGeometry(ellipse); + * @param options - Object with the following properties: + * @param options.center - The ellipse's center point in the fixed frame. + * @param options.semiMajorAxis - The length of the ellipse's semi-major axis in meters. + * @param options.semiMinorAxis - The length of the ellipse's semi-minor axis in meters. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid the ellipse will be on. + * @param [options.height = 0.0] - The distance in meters between the ellipse and the ellipsoid surface. + * @param [options.extrudedHeight] - The distance in meters between the ellipse's extruded face and the ellipsoid surface. + * @param [options.rotation = 0.0] - The angle of rotation counter-clockwise from north. + * @param [options.stRotation = 0.0] - The rotation of the texture coordinates counter-clockwise from north. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The angular distance between points on the ellipse in radians. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ +export class EllipseGeometry { + constructor(options: { + center: Cartesian3; + semiMajorAxis: number; + semiMinorAxis: number; + ellipsoid?: Ellipsoid; + height?: number; + extrudedHeight?: number; + rotation?: number; + stRotation?: number; + granularity?: number; + vertexFormat?: VertexFormat; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: EllipseGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new EllipseGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: EllipseGeometry): EllipseGeometry; + /** + * Computes the bounding rectangle based on the provided options + * @param options - Object with the following properties: + * @param options.center - The ellipse's center point in the fixed frame. + * @param options.semiMajorAxis - The length of the ellipse's semi-major axis in meters. + * @param options.semiMinorAxis - The length of the ellipse's semi-minor axis in meters. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid the ellipse will be on. + * @param [options.rotation = 0.0] - The angle of rotation counter-clockwise from north. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The angular distance between points on the ellipse in radians. + * @param [result] - An object in which to store the result + * @returns The result rectangle + */ + static computeRectangle(options: { + center: Cartesian3; + semiMajorAxis: number; + semiMinorAxis: number; + ellipsoid?: Ellipsoid; + rotation?: number; + granularity?: number; + }, result?: Rectangle): Rectangle; + /** + * Computes the geometric representation of a ellipse on an ellipsoid, including its vertices, indices, and a bounding sphere. + * @param ellipseGeometry - A description of the ellipse. + * @returns The computed vertices and indices. + */ + static createGeometry(ellipseGeometry: EllipseGeometry): Geometry | undefined; +} + +/** + * A description of the outline of an ellipse on an ellipsoid. + * @example + * var ellipse = new Cesium.EllipseOutlineGeometry({ + * center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883), + * semiMajorAxis : 500000.0, + * semiMinorAxis : 300000.0, + * rotation : Cesium.Math.toRadians(60.0) + * }); + * var geometry = Cesium.EllipseOutlineGeometry.createGeometry(ellipse); + * @param options - Object with the following properties: + * @param options.center - The ellipse's center point in the fixed frame. + * @param options.semiMajorAxis - The length of the ellipse's semi-major axis in meters. + * @param options.semiMinorAxis - The length of the ellipse's semi-minor axis in meters. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid the ellipse will be on. + * @param [options.height = 0.0] - The distance in meters between the ellipse and the ellipsoid surface. + * @param [options.extrudedHeight] - The distance in meters between the ellipse's extruded face and the ellipsoid surface. + * @param [options.rotation = 0.0] - The angle from north (counter-clockwise) in radians. + * @param [options.granularity = 0.02] - The angular distance between points on the ellipse in radians. + * @param [options.numberOfVerticalLines = 16] - Number of lines to draw between the top and bottom surface of an extruded ellipse. + */ +export class EllipseOutlineGeometry { + constructor(options: { + center: Cartesian3; + semiMajorAxis: number; + semiMinorAxis: number; + ellipsoid?: Ellipsoid; + height?: number; + extrudedHeight?: number; + rotation?: number; + granularity?: number; + numberOfVerticalLines?: number; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: EllipseOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new EllipseOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: EllipseOutlineGeometry): EllipseOutlineGeometry; + /** + * Computes the geometric representation of an outline of an ellipse on an ellipsoid, including its vertices, indices, and a bounding sphere. + * @param ellipseGeometry - A description of the ellipse. + * @returns The computed vertices and indices. + */ + static createGeometry(ellipseGeometry: EllipseOutlineGeometry): Geometry | undefined; +} + +/** + * A quadratic surface defined in Cartesian coordinates by the equation + * (x / a)^2 + (y / b)^2 + (z / c)^2 = 1. Primarily used + * by Cesium to represent the shape of planetary bodies. + * + * Rather than constructing this object directly, one of the provided + * constants is normally used. + * @param [x = 0] - The radius in the x direction. + * @param [y = 0] - The radius in the y direction. + * @param [z = 0] - The radius in the z direction. + */ +export class Ellipsoid { + constructor(x?: number, y?: number, z?: number); + /** + * Gets the radii of the ellipsoid. + */ + readonly radii: Cartesian3; + /** + * Gets the squared radii of the ellipsoid. + */ + readonly radiiSquared: Cartesian3; + /** + * Gets the radii of the ellipsoid raise to the fourth power. + */ + readonly radiiToTheFourth: Cartesian3; + /** + * Gets one over the radii of the ellipsoid. + */ + readonly oneOverRadii: Cartesian3; + /** + * Gets one over the squared radii of the ellipsoid. + */ + readonly oneOverRadiiSquared: Cartesian3; + /** + * Gets the minimum radius of the ellipsoid. + */ + readonly minimumRadius: number; + /** + * Gets the maximum radius of the ellipsoid. + */ + readonly maximumRadius: number; + /** + * Duplicates an Ellipsoid instance. + * @param ellipsoid - The ellipsoid to duplicate. + * @param [result] - The object onto which to store the result, or undefined if a new + * instance should be created. + * @returns The cloned Ellipsoid. (Returns undefined if ellipsoid is undefined) + */ + static clone(ellipsoid: Ellipsoid, result?: Ellipsoid): Ellipsoid; + /** + * Computes an Ellipsoid from a Cartesian specifying the radii in x, y, and z directions. + * @param [cartesian = Cartesian3.ZERO] - The ellipsoid's radius in the x, y, and z directions. + * @param [result] - The object onto which to store the result, or undefined if a new + * instance should be created. + * @returns A new Ellipsoid instance. + */ + static fromCartesian3(cartesian?: Cartesian3, result?: Ellipsoid): Ellipsoid; + /** + * An Ellipsoid instance initialized to the WGS84 standard. + */ + static readonly WGS84: Ellipsoid; + /** + * An Ellipsoid instance initialized to radii of (1.0, 1.0, 1.0). + */ + static readonly UNIT_SPHERE: Ellipsoid; + /** + * An Ellipsoid instance initialized to a sphere with the lunar radius. + */ + static readonly MOON: Ellipsoid; + /** + * Duplicates an Ellipsoid instance. + * @param [result] - The object onto which to store the result, or undefined if a new + * instance should be created. + * @returns The cloned Ellipsoid. + */ + clone(result?: Ellipsoid): Ellipsoid; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Ellipsoid, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Ellipsoid instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Ellipsoid): Ellipsoid; + /** + * Computes the unit vector directed from the center of this ellipsoid toward the provided Cartesian position. + * @param cartesian - The Cartesian for which to to determine the geocentric normal. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if none was provided. + */ + geocentricSurfaceNormal(cartesian: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position. + * @param cartographic - The cartographic position for which to to determine the geodetic normal. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if none was provided. + */ + geodeticSurfaceNormalCartographic(cartographic: Cartographic, result?: Cartesian3): Cartesian3; + /** + * Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position. + * @param cartesian - The Cartesian position for which to to determine the surface normal. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if none was provided. + */ + geodeticSurfaceNormal(cartesian: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Converts the provided cartographic to Cartesian representation. + * @example + * //Create a Cartographic and determine it's Cartesian representation on a WGS84 ellipsoid. + * var position = new Cesium.Cartographic(Cesium.Math.toRadians(21), Cesium.Math.toRadians(78), 5000); + * var cartesianPosition = Cesium.Ellipsoid.WGS84.cartographicToCartesian(position); + * @param cartographic - The cartographic position. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if none was provided. + */ + cartographicToCartesian(cartographic: Cartographic, result?: Cartesian3): Cartesian3; + /** + * Converts the provided array of cartographics to an array of Cartesians. + * @example + * //Convert an array of Cartographics and determine their Cartesian representation on a WGS84 ellipsoid. + * var positions = [new Cesium.Cartographic(Cesium.Math.toRadians(21), Cesium.Math.toRadians(78), 0), + * new Cesium.Cartographic(Cesium.Math.toRadians(21.321), Cesium.Math.toRadians(78.123), 100), + * new Cesium.Cartographic(Cesium.Math.toRadians(21.645), Cesium.Math.toRadians(78.456), 250)]; + * var cartesianPositions = Cesium.Ellipsoid.WGS84.cartographicArrayToCartesianArray(positions); + * @param cartographics - An array of cartographic positions. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Array instance if none was provided. + */ + cartographicArrayToCartesianArray(cartographics: Cartographic[], result?: Cartesian3[]): Cartesian3[]; + /** + * Converts the provided cartesian to cartographic representation. + * The cartesian is undefined at the center of the ellipsoid. + * @example + * //Create a Cartesian and determine it's Cartographic representation on a WGS84 ellipsoid. + * var position = new Cesium.Cartesian3(17832.12, 83234.52, 952313.73); + * var cartographicPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(position); + * @param cartesian - The Cartesian position to convert to cartographic representation. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter, new Cartographic instance if none was provided, or undefined if the cartesian is at the center of the ellipsoid. + */ + cartesianToCartographic(cartesian: Cartesian3, result?: Cartographic): Cartographic; + /** + * Converts the provided array of cartesians to an array of cartographics. + * @example + * //Create an array of Cartesians and determine their Cartographic representation on a WGS84 ellipsoid. + * var positions = [new Cesium.Cartesian3(17832.12, 83234.52, 952313.73), + * new Cesium.Cartesian3(17832.13, 83234.53, 952313.73), + * new Cesium.Cartesian3(17832.14, 83234.54, 952313.73)] + * var cartographicPositions = Cesium.Ellipsoid.WGS84.cartesianArrayToCartographicArray(positions); + * @param cartesians - An array of Cartesian positions. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Array instance if none was provided. + */ + cartesianArrayToCartographicArray(cartesians: Cartesian3[], result?: Cartographic[]): Cartographic[]; + /** + * Scales the provided Cartesian position along the geodetic surface normal + * so that it is on the surface of this ellipsoid. If the position is + * at the center of the ellipsoid, this function returns undefined. + * @param cartesian - The Cartesian position to scale. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter, a new Cartesian3 instance if none was provided, or undefined if the position is at the center. + */ + scaleToGeodeticSurface(cartesian: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Scales the provided Cartesian position along the geocentric surface normal + * so that it is on the surface of this ellipsoid. + * @param cartesian - The Cartesian position to scale. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian3 instance if none was provided. + */ + scaleToGeocentricSurface(cartesian: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Transforms a Cartesian X, Y, Z position to the ellipsoid-scaled space by multiplying + * its components by the result of {@link Ellipsoid#oneOverRadii}. + * @param position - The position to transform. + * @param [result] - The position to which to copy the result, or undefined to create and + * return a new instance. + * @returns The position expressed in the scaled space. The returned instance is the + * one passed as the result parameter if it is not undefined, or a new instance of it is. + */ + transformPositionToScaledSpace(position: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Transforms a Cartesian X, Y, Z position from the ellipsoid-scaled space by multiplying + * its components by the result of {@link Ellipsoid#radii}. + * @param position - The position to transform. + * @param [result] - The position to which to copy the result, or undefined to create and + * return a new instance. + * @returns The position expressed in the unscaled space. The returned instance is the + * one passed as the result parameter if it is not undefined, or a new instance of it is. + */ + transformPositionFromScaledSpace(position: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Compares this Ellipsoid against the provided Ellipsoid componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The other Ellipsoid. + * @returns true if they are equal, false otherwise. + */ + equals(right?: Ellipsoid): boolean; + /** + * Creates a string representing this Ellipsoid in the format '(radii.x, radii.y, radii.z)'. + * @returns A string representing this ellipsoid in the format '(radii.x, radii.y, radii.z)'. + */ + toString(): string; + /** + * Computes a point which is the intersection of the surface normal with the z-axis. + * @param position - the position. must be on the surface of the ellipsoid. + * @param [buffer = 0.0] - A buffer to subtract from the ellipsoid size when checking if the point is inside the ellipsoid. + * In earth case, with common earth datums, there is no need for this buffer since the intersection point is always (relatively) very close to the center. + * In WGS84 datum, intersection point is at max z = +-42841.31151331382 (0.673% of z-axis). + * Intersection point could be outside the ellipsoid if the ratio of MajorAxis / AxisOfRotation is bigger than the square root of 2 + * @param [result] - The cartesian to which to copy the result, or undefined to create and + * return a new instance. + * @returns the intersection point if it's inside the ellipsoid, undefined otherwise + */ + getSurfaceNormalIntersectionWithZAxis(position: Cartesian3, buffer?: number, result?: Cartesian3): Cartesian3 | undefined; + /** + * Computes an approximation of the surface area of a rectangle on the surface of an ellipsoid using + * Gauss-Legendre 10th order quadrature. + * @param rectangle - The rectangle used for computing the surface area. + * @returns The approximate area of the rectangle on the surface of this ellipsoid. + */ + surfaceArea(rectangle: Rectangle): number; +} + +/** + * Initializes a geodesic on the ellipsoid connecting the two provided planetodetic points. + * @param [start] - The initial planetodetic point on the path. + * @param [end] - The final planetodetic point on the path. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the geodesic lies. + */ +export class EllipsoidGeodesic { + constructor(start?: Cartographic, end?: Cartographic, ellipsoid?: Ellipsoid); + /** + * Gets the ellipsoid. + */ + readonly ellipsoid: Ellipsoid; + /** + * Gets the surface distance between the start and end point + */ + readonly surfaceDistance: number; + /** + * Gets the initial planetodetic point on the path. + */ + readonly start: Cartographic; + /** + * Gets the final planetodetic point on the path. + */ + readonly end: Cartographic; + /** + * Gets the heading at the initial point. + */ + readonly startHeading: number; + /** + * Gets the heading at the final point. + */ + readonly endHeading: number; + /** + * Sets the start and end points of the geodesic + * @param start - The initial planetodetic point on the path. + * @param end - The final planetodetic point on the path. + */ + setEndPoints(start: Cartographic, end: Cartographic): void; + /** + * Provides the location of a point at the indicated portion along the geodesic. + * @param fraction - The portion of the distance between the initial and final points. + * @param [result] - The object in which to store the result. + * @returns The location of the point along the geodesic. + */ + interpolateUsingFraction(fraction: number, result?: Cartographic): Cartographic; + /** + * Provides the location of a point at the indicated distance along the geodesic. + * @param distance - The distance from the inital point to the point of interest along the geodesic + * @param [result] - The object in which to store the result. + * @returns The location of the point along the geodesic. + */ + interpolateUsingSurfaceDistance(distance: number, result?: Cartographic): Cartographic; +} + +/** + * A description of an ellipsoid centered at the origin. + * @example + * var ellipsoid = new Cesium.EllipsoidGeometry({ + * vertexFormat : Cesium.VertexFormat.POSITION_ONLY, + * radii : new Cesium.Cartesian3(1000000.0, 500000.0, 500000.0) + * }); + * var geometry = Cesium.EllipsoidGeometry.createGeometry(ellipsoid); + * @param [options] - Object with the following properties: + * @param [options.radii = Cartesian3(1.0, 1.0, 1.0)] - The radii of the ellipsoid in the x, y, and z directions. + * @param [options.innerRadii = options.radii] - The inner radii of the ellipsoid in the x, y, and z directions. + * @param [options.minimumClock = 0.0] - The minimum angle lying in the xy-plane measured from the positive x-axis and toward the positive y-axis. + * @param [options.maximumClock = 2*PI] - The maximum angle lying in the xy-plane measured from the positive x-axis and toward the positive y-axis. + * @param [options.minimumCone = 0.0] - The minimum angle measured from the positive z-axis and toward the negative z-axis. + * @param [options.maximumCone = PI] - The maximum angle measured from the positive z-axis and toward the negative z-axis. + * @param [options.stackPartitions = 64] - The number of times to partition the ellipsoid into stacks. + * @param [options.slicePartitions = 64] - The number of times to partition the ellipsoid into radial slices. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ +export class EllipsoidGeometry { + constructor(options?: { + radii?: Cartesian3; + innerRadii?: Cartesian3; + minimumClock?: number; + maximumClock?: number; + minimumCone?: number; + maximumCone?: number; + stackPartitions?: number; + slicePartitions?: number; + vertexFormat?: VertexFormat; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: EllipsoidGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new EllipsoidGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: EllipsoidGeometry): EllipsoidGeometry; + /** + * Computes the geometric representation of an ellipsoid, including its vertices, indices, and a bounding sphere. + * @param ellipsoidGeometry - A description of the ellipsoid. + * @returns The computed vertices and indices. + */ + static createGeometry(ellipsoidGeometry: EllipsoidGeometry): Geometry | undefined; +} + +/** + * A description of the outline of an ellipsoid centered at the origin. + * @example + * var ellipsoid = new Cesium.EllipsoidOutlineGeometry({ + * radii : new Cesium.Cartesian3(1000000.0, 500000.0, 500000.0), + * stackPartitions: 6, + * slicePartitions: 5 + * }); + * var geometry = Cesium.EllipsoidOutlineGeometry.createGeometry(ellipsoid); + * @param [options] - Object with the following properties: + * @param [options.radii = Cartesian3(1.0, 1.0, 1.0)] - The radii of the ellipsoid in the x, y, and z directions. + * @param [options.innerRadii = options.radii] - The inner radii of the ellipsoid in the x, y, and z directions. + * @param [options.minimumClock = 0.0] - The minimum angle lying in the xy-plane measured from the positive x-axis and toward the positive y-axis. + * @param [options.maximumClock = 2*PI] - The maximum angle lying in the xy-plane measured from the positive x-axis and toward the positive y-axis. + * @param [options.minimumCone = 0.0] - The minimum angle measured from the positive z-axis and toward the negative z-axis. + * @param [options.maximumCone = PI] - The maximum angle measured from the positive z-axis and toward the negative z-axis. + * @param [options.stackPartitions = 10] - The count of stacks for the ellipsoid (1 greater than the number of parallel lines). + * @param [options.slicePartitions = 8] - The count of slices for the ellipsoid (Equal to the number of radial lines). + * @param [options.subdivisions = 128] - The number of points per line, determining the granularity of the curvature. + */ +export class EllipsoidOutlineGeometry { + constructor(options?: { + radii?: Cartesian3; + innerRadii?: Cartesian3; + minimumClock?: number; + maximumClock?: number; + minimumCone?: number; + maximumCone?: number; + stackPartitions?: number; + slicePartitions?: number; + subdivisions?: number; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: EllipsoidOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new EllipsoidOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: EllipsoidOutlineGeometry): EllipsoidOutlineGeometry; + /** + * Computes the geometric representation of an outline of an ellipsoid, including its vertices, indices, and a bounding sphere. + * @param ellipsoidGeometry - A description of the ellipsoid outline. + * @returns The computed vertices and indices. + */ + static createGeometry(ellipsoidGeometry: EllipsoidOutlineGeometry): Geometry | undefined; +} + +/** + * Initializes a rhumb line on the ellipsoid connecting the two provided planetodetic points. + * @param [start] - The initial planetodetic point on the path. + * @param [end] - The final planetodetic point on the path. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the rhumb line lies. + */ +export class EllipsoidRhumbLine { + constructor(start?: Cartographic, end?: Cartographic, ellipsoid?: Ellipsoid); + /** + * Gets the ellipsoid. + */ + readonly ellipsoid: Ellipsoid; + /** + * Gets the surface distance between the start and end point + */ + readonly surfaceDistance: number; + /** + * Gets the initial planetodetic point on the path. + */ + readonly start: Cartographic; + /** + * Gets the final planetodetic point on the path. + */ + readonly end: Cartographic; + /** + * Gets the heading from the start point to the end point. + */ + readonly heading: number; + /** + * Create a rhumb line using an initial position with a heading and distance. + * @param start - The initial planetodetic point on the path. + * @param heading - The heading in radians. + * @param distance - The rhumb line distance between the start and end point. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the rhumb line lies. + * @param [result] - The object in which to store the result. + * @returns The EllipsoidRhumbLine object. + */ + static fromStartHeadingDistance(start: Cartographic, heading: number, distance: number, ellipsoid?: Ellipsoid, result?: EllipsoidRhumbLine): EllipsoidRhumbLine; + /** + * Sets the start and end points of the rhumb line. + * @param start - The initial planetodetic point on the path. + * @param end - The final planetodetic point on the path. + */ + setEndPoints(start: Cartographic, end: Cartographic): void; + /** + * Provides the location of a point at the indicated portion along the rhumb line. + * @param fraction - The portion of the distance between the initial and final points. + * @param [result] - The object in which to store the result. + * @returns The location of the point along the rhumb line. + */ + interpolateUsingFraction(fraction: number, result?: Cartographic): Cartographic; + /** + * Provides the location of a point at the indicated distance along the rhumb line. + * @param distance - The distance from the inital point to the point of interest along the rhumbLine. + * @param [result] - The object in which to store the result. + * @returns The location of the point along the rhumb line. + */ + interpolateUsingSurfaceDistance(distance: number, result?: Cartographic): Cartographic; + /** + * Provides the location of a point at the indicated longitude along the rhumb line. + * If the longitude is outside the range of start and end points, the first intersection with the longitude from the start point in the direction of the heading is returned. This follows the spiral property of a rhumb line. + * @param intersectionLongitude - The longitude, in radians, at which to find the intersection point from the starting point using the heading. + * @param [result] - The object in which to store the result. + * @returns The location of the intersection point along the rhumb line, undefined if there is no intersection or infinite intersections. + */ + findIntersectionWithLongitude(intersectionLongitude: number, result?: Cartographic): Cartographic; + /** + * Provides the location of a point at the indicated latitude along the rhumb line. + * If the latitude is outside the range of start and end points, the first intersection with the latitude from that start point in the direction of the heading is returned. This follows the spiral property of a rhumb line. + * @param intersectionLatitude - The latitude, in radians, at which to find the intersection point from the starting point using the heading. + * @param [result] - The object in which to store the result. + * @returns The location of the intersection point along the rhumb line, undefined if there is no intersection or infinite intersections. + */ + findIntersectionWithLatitude(intersectionLatitude: number, result?: Cartographic): Cartographic; +} + +/** + * A plane tangent to the provided ellipsoid at the provided origin. + * If origin is not on the surface of the ellipsoid, it's surface projection will be used. + * If origin is at the center of the ellipsoid, an exception will be thrown. + * @param origin - The point on the surface of the ellipsoid where the tangent plane touches. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid to use. + */ +export class EllipsoidTangentPlane { + constructor(origin: Cartesian3, ellipsoid?: Ellipsoid); + /** + * Gets the ellipsoid. + */ + ellipsoid: Ellipsoid; + /** + * Gets the origin. + */ + origin: Cartesian3; + /** + * Gets the plane which is tangent to the ellipsoid. + */ + readonly plane: Plane; + /** + * Gets the local X-axis (east) of the tangent plane. + */ + readonly xAxis: Cartesian3; + /** + * Gets the local Y-axis (north) of the tangent plane. + */ + readonly yAxis: Cartesian3; + /** + * Gets the local Z-axis (up) of the tangent plane. + */ + readonly zAxis: Cartesian3; + /** + * Creates a new instance from the provided ellipsoid and the center + * point of the provided Cartesians. + * @param cartesians - The list of positions surrounding the center point. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid to use. + */ + static fromPoints(cartesians: Cartesian3[], ellipsoid?: Ellipsoid): void; + /** + * Computes the projection of the provided 3D position onto the 2D plane, radially outward from the {@link EllipsoidTangentPlane.ellipsoid} coordinate system origin. + * @param cartesian - The point to project. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if none was provided. Undefined if there is no intersection point + */ + projectPointOntoPlane(cartesian: Cartesian3, result?: Cartesian2): Cartesian2; + /** + * Computes the projection of the provided 3D positions onto the 2D plane (where possible), radially outward from the global origin. + * The resulting array may be shorter than the input array - if a single projection is impossible it will not be included. + * @param cartesians - The array of points to project. + * @param [result] - The array of Cartesian2 instances onto which to store results. + * @returns The modified result parameter or a new array of Cartesian2 instances if none was provided. + */ + projectPointsOntoPlane(cartesians: Cartesian3[], result?: Cartesian2[]): Cartesian2[]; + /** + * Computes the projection of the provided 3D position onto the 2D plane, along the plane normal. + * @param cartesian - The point to project. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if none was provided. + */ + projectPointToNearestOnPlane(cartesian: Cartesian3, result?: Cartesian2): Cartesian2; + /** + * Computes the projection of the provided 3D positions onto the 2D plane, along the plane normal. + * @param cartesians - The array of points to project. + * @param [result] - The array of Cartesian2 instances onto which to store results. + * @returns The modified result parameter or a new array of Cartesian2 instances if none was provided. This will have the same length as cartesians. + */ + projectPointsToNearestOnPlane(cartesians: Cartesian3[], result?: Cartesian2[]): Cartesian2[]; + /** + * Computes the projection of the provided 2D position onto the 3D ellipsoid. + * @param cartesian - The points to project. + * @param [result] - The Cartesian3 instance to store result. + * @returns The modified result parameter or a new Cartesian3 instance if none was provided. + */ + projectPointOntoEllipsoid(cartesian: Cartesian2, result?: Cartesian3): Cartesian3; + /** + * Computes the projection of the provided 2D positions onto the 3D ellipsoid. + * @param cartesians - The array of points to project. + * @param [result] - The array of Cartesian3 instances onto which to store results. + * @returns The modified result parameter or a new array of Cartesian3 instances if none was provided. + */ + projectPointsOntoEllipsoid(cartesians: Cartesian2[], result?: Cartesian3[]): Cartesian3[]; +} + +/** + * A very simple {@link TerrainProvider} that produces geometry by tessellating an ellipsoidal + * surface. + * @param [options] - Object with the following properties: + * @param [options.tilingScheme] - The tiling scheme specifying how the ellipsoidal + * surface is broken into tiles. If this parameter is not provided, a {@link GeographicTilingScheme} + * is used. + * @param [options.ellipsoid] - The ellipsoid. If the tilingScheme is specified, + * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither + * parameter is specified, the WGS84 ellipsoid is used. + */ +export class EllipsoidTerrainProvider { + constructor(options?: { + tilingScheme?: TilingScheme; + ellipsoid?: Ellipsoid; + }); + /** + * Gets an event that is raised when the terrain provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + errorEvent: Event; + /** + * Gets the credit to display when this terrain provider is active. Typically this is used to credit + * the source of the terrain. This function should not be called before {@link EllipsoidTerrainProvider#ready} returns true. + */ + credit: Credit; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link EllipsoidTerrainProvider#ready} returns true. + */ + tilingScheme: GeographicTilingScheme; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets a value indicating whether or not the provider includes a water mask. The water mask + * indicates which areas of the globe are water rather than land, so they can be rendered + * as a reflective surface with animated waves. This function should not be + * called before {@link EllipsoidTerrainProvider#ready} returns true. + */ + hasWaterMask: boolean; + /** + * Gets a value indicating whether or not the requested tiles include vertex normals. + * This function should not be called before {@link EllipsoidTerrainProvider#ready} returns true. + */ + hasVertexNormals: boolean; + /** + * Gets an object that can be used to determine availability of terrain from this provider, such as + * at points and in rectangles. This function should not be called before + * {@link TerrainProvider#ready} returns true. This property may be undefined if availability + * information is not available. + */ + availability: TileAvailability; + /** + * Requests the geometry for a given tile. This function should not be called before + * {@link TerrainProvider#ready} returns true. The result includes terrain + * data and indicates that all child tiles are available. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the requested geometry. If this method + * returns undefined instead of a promise, it is an indication that too many requests are already + * pending and the request will be retried later. + */ + requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Gets the maximum geometric error allowed in a tile at a given level. + * @param level - The tile level for which to get the maximum geometric error. + * @returns The maximum geometric error. + */ + getLevelMaximumGeometricError(level: number): number; + /** + * Determines whether data for a tile is available to be loaded. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if not supported, otherwise true or false. + */ + getTileDataAvailable(x: number, y: number, level: number): boolean; + /** + * Makes sure we load availability data for a tile + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded + */ + loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise; +} + +/** + * A generic utility class for managing subscribers for a particular event. + * This class is usually instantiated inside of a container class and + * exposed as a property for others to subscribe to. + * @example + * MyObject.prototype.myListener = function(arg1, arg2) { + * this.myArg1Copy = arg1; + * this.myArg2Copy = arg2; + * } + * + * var myObjectInstance = new MyObject(); + * var evt = new Cesium.Event(); + * evt.addEventListener(MyObject.prototype.myListener, myObjectInstance); + * evt.raiseEvent('1', '2'); + * evt.removeEventListener(MyObject.prototype.myListener); + */ +export class Event { + constructor(); + /** + * The number of listeners currently subscribed to the event. + */ + readonly numberOfListeners: number; + /** + * Registers a callback function to be executed whenever the event is raised. + * An optional scope can be provided to serve as the this pointer + * in which the function will execute. + * @param listener - The function to be executed when the event is raised. + * @param [scope] - An optional object scope to serve as the this + * pointer in which the listener function will execute. + * @returns A function that will remove this event listener when invoked. + */ + addEventListener(listener: (...params: any[]) => any, scope?: any): Event.RemoveCallback; + /** + * Unregisters a previously registered callback. + * @param listener - The function to be unregistered. + * @param [scope] - The scope that was originally passed to addEventListener. + * @returns true if the listener was removed; false if the listener and scope are not registered with the event. + */ + removeEventListener(listener: (...params: any[]) => any, scope?: any): boolean; + /** + * Raises the event by calling each registered listener with all supplied arguments. + * @param arguments - This method takes any number of parameters and passes them through to the listener functions. + */ + raiseEvent(...arguments: any[]): void; +} + +export namespace Event { + /** + * A function that removes a listener. + */ + type RemoveCallback = () => void; +} + +/** + * A convenience object that simplifies the common pattern of attaching event listeners + * to several events, then removing all those listeners at once later, for example, in + * a destroy method. + * @example + * var helper = new Cesium.EventHelper(); + * + * helper.add(someObject.event, listener1, this); + * helper.add(otherObject.event, listener2, this); + * + * // later... + * helper.removeAll(); + */ +export class EventHelper { + constructor(); + /** + * Adds a listener to an event, and records the registration to be cleaned up later. + * @param event - The event to attach to. + * @param listener - The function to be executed when the event is raised. + * @param [scope] - An optional object scope to serve as the this + * pointer in which the listener function will execute. + * @returns A function that will remove this event listener when invoked. + */ + add(event: Event, listener: (...params: any[]) => any, scope?: any): EventHelper.RemoveCallback; + /** + * Unregisters all previously added listeners. + */ + removeAll(): void; +} + +export namespace EventHelper { + /** + * A function that removes a listener. + */ + type RemoveCallback = () => void; +} + +/** + * Constants to determine how an interpolated value is extrapolated + * when querying outside the bounds of available data. + */ +export enum ExtrapolationType { + /** + * No extrapolation occurs. + */ + NONE = 0, + /** + * The first or last value is used when outside the range of sample data. + */ + HOLD = 1, + /** + * The value is extrapolated. + */ + EXTRAPOLATE = 2 +} + +/** + * A set of functions to detect whether the current browser supports + * various features. + */ +export namespace FeatureDetection { + /** + * Detects whether the current browser supports the full screen standard. + * @returns true if the browser supports the full screen standard, false if not. + */ + function supportsFullscreen(): boolean; + /** + * Detects whether the current browser supports typed arrays. + * @returns true if the browser supports typed arrays, false if not. + */ + function supportsTypedArrays(): boolean; + /** + * Detects whether the current browser supports Web Workers. + * @returns true if the browsers supports Web Workers, false if not. + */ + function supportsWebWorkers(): boolean; + /** + * Detects whether the current browser supports Web Assembly. + * @returns true if the browsers supports Web Assembly, false if not. + */ + function supportsWebAssembly(): boolean; +} + +/** + * Formats an error object into a String. If available, uses name, message, and stack + * properties, otherwise, falls back on toString(). + * @param object - The item to find in the array. + * @returns A string containing the formatted error. + */ +export function formatError(object: any): string; + +/** + * Describes a frustum at the given the origin and orientation. + * @param options - Object with the following properties: + * @param options.frustum - The frustum. + * @param options.origin - The origin of the frustum. + * @param options.orientation - The orientation of the frustum. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ +export class FrustumGeometry { + constructor(options: { + frustum: PerspectiveFrustum | OrthographicFrustum; + origin: Cartesian3; + orientation: Quaternion; + vertexFormat?: VertexFormat; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: FrustumGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + */ + static unpack(array: number[], startingIndex?: number, result?: FrustumGeometry): void; + /** + * Computes the geometric representation of a frustum, including its vertices, indices, and a bounding sphere. + * @param frustumGeometry - A description of the frustum. + * @returns The computed vertices and indices. + */ + static createGeometry(frustumGeometry: FrustumGeometry): Geometry | undefined; +} + +/** + * A description of the outline of a frustum with the given the origin and orientation. + * @param options - Object with the following properties: + * @param options.frustum - The frustum. + * @param options.origin - The origin of the frustum. + * @param options.orientation - The orientation of the frustum. + */ +export class FrustumOutlineGeometry { + constructor(options: { + frustum: PerspectiveFrustum | OrthographicFrustum; + origin: Cartesian3; + orientation: Quaternion; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: FrustumOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + */ + static unpack(array: number[], startingIndex?: number, result?: FrustumOutlineGeometry): void; + /** + * Computes the geometric representation of a frustum outline, including its vertices, indices, and a bounding sphere. + * @param frustumGeometry - A description of the frustum. + * @returns The computed vertices and indices. + */ + static createGeometry(frustumGeometry: FrustumOutlineGeometry): Geometry | undefined; +} + +/** + * Browser-independent functions for working with the standard fullscreen API. + */ +export namespace Fullscreen { + /** + * The element that is currently fullscreen, if any. To simply check if the + * browser is in fullscreen mode or not, use {@link Fullscreen#fullscreen}. + */ + const element: any; + /** + * The name of the event on the document that is fired when fullscreen is + * entered or exited. This event name is intended for use with addEventListener. + * In your event handler, to determine if the browser is in fullscreen mode or not, + * use {@link Fullscreen#fullscreen}. + */ + const changeEventName: string; + /** + * The name of the event that is fired when a fullscreen error + * occurs. This event name is intended for use with addEventListener. + */ + const errorEventName: string; + /** + * Determine whether the browser will allow an element to be made fullscreen, or not. + * For example, by default, iframes cannot go fullscreen unless the containing page + * adds an "allowfullscreen" attribute (or prefixed equivalent). + */ + const enabled: boolean; + /** + * Determines if the browser is currently in fullscreen mode. + */ + const fullscreen: boolean; + /** + * Detects whether the browser supports the standard fullscreen API. + * @returns true if the browser supports the standard fullscreen API, + * false otherwise. + */ + function supportsFullscreen(): boolean; + /** + * Asynchronously requests the browser to enter fullscreen mode on the given element. + * If fullscreen mode is not supported by the browser, does nothing. + * @example + * // Put the entire page into fullscreen. + * Cesium.Fullscreen.requestFullscreen(document.body) + * + * // Place only the Cesium canvas into fullscreen. + * Cesium.Fullscreen.requestFullscreen(scene.canvas) + * @param element - The HTML element which will be placed into fullscreen mode. + * @param [vrDevice] - The HMDVRDevice device. + */ + function requestFullscreen(element: any, vrDevice?: any): void; + /** + * Asynchronously exits fullscreen mode. If the browser is not currently + * in fullscreen, or if fullscreen mode is not supported by the browser, does nothing. + */ + function exitFullscreen(): void; +} + +export namespace GeocoderService { + /** + * @property displayName - The display name for a location + * @property destination - The bounding box for a location + */ + type Result = { + displayName: string; + destination: Rectangle | Cartesian3; + }; +} + +/** + * Provides geocoding through an external service. This type describes an interface and + * is not intended to be used. + */ +export class GeocoderService { + constructor(); + /** + * @param query - The query to be sent to the geocoder service + * @param [type = GeocodeType.SEARCH] - The type of geocode to perform. + */ + geocode(query: string, type?: GeocodeType): Promise; +} + +/** + * The type of geocoding to be performed by a {@link GeocoderService}. + */ +export enum GeocodeType { + /** + * Perform a search where the input is considered complete. + */ + SEARCH = 0, + /** + * Perform an auto-complete using partial input, typically + * reserved for providing possible results as a user is typing. + */ + AUTOCOMPLETE = 1 +} + +/** + * A simple map projection where longitude and latitude are linearly mapped to X and Y by multiplying + * them by the {@link Ellipsoid#maximumRadius}. This projection + * is commonly known as geographic, equirectangular, equidistant cylindrical, or plate carrée. It + * is also known as EPSG:4326. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid. + */ +export class GeographicProjection { + constructor(ellipsoid?: Ellipsoid); + /** + * Gets the {@link Ellipsoid}. + */ + readonly ellipsoid: Ellipsoid; + /** + * Projects a set of {@link Cartographic} coordinates, in radians, to map coordinates, in meters. + * X and Y are the longitude and latitude, respectively, multiplied by the maximum radius of the + * ellipsoid. Z is the unmodified height. + * @param cartographic - The coordinates to project. + * @param [result] - An instance into which to copy the result. If this parameter is + * undefined, a new instance is created and returned. + * @returns The projected coordinates. If the result parameter is not undefined, the + * coordinates are copied there and that instance is returned. Otherwise, a new instance is + * created and returned. + */ + project(cartographic: Cartographic, result?: Cartesian3): Cartesian3; + /** + * Unprojects a set of projected {@link Cartesian3} coordinates, in meters, to {@link Cartographic} + * coordinates, in radians. Longitude and Latitude are the X and Y coordinates, respectively, + * divided by the maximum radius of the ellipsoid. Height is the unmodified Z coordinate. + * @param cartesian - The Cartesian position to unproject with height (z) in meters. + * @param [result] - An instance into which to copy the result. If this parameter is + * undefined, a new instance is created and returned. + * @returns The unprojected coordinates. If the result parameter is not undefined, the + * coordinates are copied there and that instance is returned. Otherwise, a new instance is + * created and returned. + */ + unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic; +} + +/** + * A tiling scheme for geometry referenced to a simple {@link GeographicProjection} where + * longitude and latitude are directly mapped to X and Y. This projection is commonly + * known as geographic, equirectangular, equidistant cylindrical, or plate carrée. + * @param [options] - Object with the following properties: + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose surface is being tiled. Defaults to + * the WGS84 ellipsoid. + * @param [options.rectangle = Rectangle.MAX_VALUE] - The rectangle, in radians, covered by the tiling scheme. + * @param [options.numberOfLevelZeroTilesX = 2] - The number of tiles in the X direction at level zero of + * the tile tree. + * @param [options.numberOfLevelZeroTilesY = 1] - The number of tiles in the Y direction at level zero of + * the tile tree. + */ +export class GeographicTilingScheme { + constructor(options?: { + ellipsoid?: Ellipsoid; + rectangle?: Rectangle; + numberOfLevelZeroTilesX?: number; + numberOfLevelZeroTilesY?: number; + }); + /** + * Gets the ellipsoid that is tiled by this tiling scheme. + */ + ellipsoid: Ellipsoid; + /** + * Gets the rectangle, in radians, covered by this tiling scheme. + */ + rectangle: Rectangle; + /** + * Gets the map projection used by this tiling scheme. + */ + projection: MapProjection; + /** + * Gets the total number of tiles in the X direction at a specified level-of-detail. + * @param level - The level-of-detail. + * @returns The number of tiles in the X direction at the given level. + */ + getNumberOfXTilesAtLevel(level: number): number; + /** + * Gets the total number of tiles in the Y direction at a specified level-of-detail. + * @param level - The level-of-detail. + * @returns The number of tiles in the Y direction at the given level. + */ + getNumberOfYTilesAtLevel(level: number): number; + /** + * Transforms a rectangle specified in geodetic radians to the native coordinate system + * of this tiling scheme. + * @param rectangle - The rectangle to transform. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the native rectangle if 'result' + * is undefined. + */ + rectangleToNativeRectangle(rectangle: Rectangle, result?: Rectangle): Rectangle; + /** + * Converts tile x, y coordinates and level to a rectangle expressed in the native coordinates + * of the tiling scheme. + * @param x - The integer x coordinate of the tile. + * @param y - The integer y coordinate of the tile. + * @param level - The tile level-of-detail. Zero is the least detailed. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the rectangle + * if 'result' is undefined. + */ + tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle; + /** + * Converts tile x, y coordinates and level to a cartographic rectangle in radians. + * @param x - The integer x coordinate of the tile. + * @param y - The integer y coordinate of the tile. + * @param level - The tile level-of-detail. Zero is the least detailed. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the rectangle + * if 'result' is undefined. + */ + tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle; + /** + * Calculates the tile x, y coordinates of the tile containing + * a given cartographic position. + * @param position - The position. + * @param level - The tile level-of-detail. Zero is the least detailed. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the tile x, y coordinates + * if 'result' is undefined. + */ + positionToTileXY(position: Cartographic, level: number, result?: Cartesian2): Cartesian2; +} + +/** + * A geometry representation with attributes forming vertices and optional index data + * defining primitives. Geometries and an {@link Appearance}, which describes the shading, + * can be assigned to a {@link Primitive} for visualization. A Primitive can + * be created from many heterogeneous - in many cases - geometries for performance. + *

+ * Geometries can be transformed and optimized using functions in {@link GeometryPipeline}. + *

+ * @example + * // Create geometry with a position attribute and indexed lines. + * var positions = new Float64Array([ + * 0.0, 0.0, 0.0, + * 7500000.0, 0.0, 0.0, + * 0.0, 7500000.0, 0.0 + * ]); + * + * var geometry = new Cesium.Geometry({ + * attributes : { + * position : new Cesium.GeometryAttribute({ + * componentDatatype : Cesium.ComponentDatatype.DOUBLE, + * componentsPerAttribute : 3, + * values : positions + * }) + * }, + * indices : new Uint16Array([0, 1, 1, 2, 2, 0]), + * primitiveType : Cesium.PrimitiveType.LINES, + * boundingSphere : Cesium.BoundingSphere.fromVertices(positions) + * }); + * @param options - Object with the following properties: + * @param options.attributes - Attributes, which make up the geometry's vertices. + * @param [options.primitiveType = PrimitiveType.TRIANGLES] - The type of primitives in the geometry. + * @param [options.indices] - Optional index data that determines the primitives in the geometry. + * @param [options.boundingSphere] - An optional bounding sphere that fully enclosed the geometry. + */ +export class Geometry { + constructor(options: { + attributes: GeometryAttributes; + primitiveType?: PrimitiveType; + indices?: Uint16Array | Uint32Array; + boundingSphere?: BoundingSphere; + }); + /** + * Attributes, which make up the geometry's vertices. Each property in this object corresponds to a + * {@link GeometryAttribute} containing the attribute's data. + *

+ * Attributes are always stored non-interleaved in a Geometry. + *

+ *

+ * There are reserved attribute names with well-known semantics. The following attributes + * are created by a Geometry (depending on the provided {@link VertexFormat}. + *

    + *
  • position - 3D vertex position. 64-bit floating-point (for precision). 3 components per attribute. See {@link VertexFormat#position}.
  • + *
  • normal - Normal (normalized), commonly used for lighting. 32-bit floating-point. 3 components per attribute. See {@link VertexFormat#normal}.
  • + *
  • st - 2D texture coordinate. 32-bit floating-point. 2 components per attribute. See {@link VertexFormat#st}.
  • + *
  • bitangent - Bitangent (normalized), used for tangent-space effects like bump mapping. 32-bit floating-point. 3 components per attribute. See {@link VertexFormat#bitangent}.
  • + *
  • tangent - Tangent (normalized), used for tangent-space effects like bump mapping. 32-bit floating-point. 3 components per attribute. See {@link VertexFormat#tangent}.
  • + *
+ *

+ *

+ * The following attribute names are generally not created by a Geometry, but are added + * to a Geometry by a {@link Primitive} or {@link GeometryPipeline} functions to prepare + * the geometry for rendering. + *

    + *
  • position3DHigh - High 32 bits for encoded 64-bit position computed with {@link GeometryPipeline.encodeAttribute}. 32-bit floating-point. 4 components per attribute.
  • + *
  • position3DLow - Low 32 bits for encoded 64-bit position computed with {@link GeometryPipeline.encodeAttribute}. 32-bit floating-point. 4 components per attribute.
  • + *
  • position3DHigh - High 32 bits for encoded 64-bit 2D (Columbus view) position computed with {@link GeometryPipeline.encodeAttribute}. 32-bit floating-point. 4 components per attribute.
  • + *
  • position2DLow - Low 32 bits for encoded 64-bit 2D (Columbus view) position computed with {@link GeometryPipeline.encodeAttribute}. 32-bit floating-point. 4 components per attribute.
  • + *
  • color - RGBA color (normalized) usually from {@link GeometryInstance#color}. 32-bit floating-point. 4 components per attribute.
  • + *
  • pickColor - RGBA color used for picking. 32-bit floating-point. 4 components per attribute.
  • + *
+ *

+ * @example + * geometry.attributes.position = new Cesium.GeometryAttribute({ + * componentDatatype : Cesium.ComponentDatatype.FLOAT, + * componentsPerAttribute : 3, + * values : new Float32Array(0) + * }); + */ + attributes: GeometryAttributes; + /** + * Optional index data that - along with {@link Geometry#primitiveType} - + * determines the primitives in the geometry. + */ + indices: any[]; + /** + * The type of primitives in the geometry. This is most often {@link PrimitiveType.TRIANGLES}, + * but can varying based on the specific geometry. + */ + primitiveType: PrimitiveType; + /** + * An optional bounding sphere that fully encloses the geometry. This is + * commonly used for culling. + */ + boundingSphere: BoundingSphere; + /** + * Computes the number of vertices in a geometry. The runtime is linear with + * respect to the number of attributes in a vertex, not the number of vertices. + * @example + * var numVertices = Cesium.Geometry.computeNumberOfVertices(geometry); + * @param geometry - The geometry. + * @returns The number of vertices in the geometry. + */ + static computeNumberOfVertices(geometry: Geometry): number; +} + +/** + * Values and type information for geometry attributes. A {@link Geometry} + * generally contains one or more attributes. All attributes together form + * the geometry's vertices. + * @example + * var geometry = new Cesium.Geometry({ + * attributes : { + * position : new Cesium.GeometryAttribute({ + * componentDatatype : Cesium.ComponentDatatype.FLOAT, + * componentsPerAttribute : 3, + * values : new Float32Array([ + * 0.0, 0.0, 0.0, + * 7500000.0, 0.0, 0.0, + * 0.0, 7500000.0, 0.0 + * ]) + * }) + * }, + * primitiveType : Cesium.PrimitiveType.LINE_LOOP + * }); + * @param [options] - Object with the following properties: + * @param [options.componentDatatype] - The datatype of each component in the attribute, e.g., individual elements in values. + * @param [options.componentsPerAttribute] - A number between 1 and 4 that defines the number of components in an attributes. + * @param [options.normalize = false] - When true and componentDatatype is an integer format, indicate that the components should be mapped to the range [0, 1] (unsigned) or [-1, 1] (signed) when they are accessed as floating-point for rendering. + * @param [options.values] - The values for the attributes stored in a typed array. + */ +export class GeometryAttribute { + constructor(options?: { + componentDatatype?: ComponentDatatype; + componentsPerAttribute?: number; + normalize?: boolean; + values?: number[] | Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array; + }); + /** + * The datatype of each component in the attribute, e.g., individual elements in + * {@link GeometryAttribute#values}. + */ + componentDatatype: ComponentDatatype; + /** + * A number between 1 and 4 that defines the number of components in an attributes. + * For example, a position attribute with x, y, and z components would have 3 as + * shown in the code example. + * @example + * attribute.componentDatatype = Cesium.ComponentDatatype.FLOAT; + * attribute.componentsPerAttribute = 3; + * attribute.values = new Float32Array([ + * 0.0, 0.0, 0.0, + * 7500000.0, 0.0, 0.0, + * 0.0, 7500000.0, 0.0 + * ]); + */ + componentsPerAttribute: number; + /** + * When true and componentDatatype is an integer format, + * indicate that the components should be mapped to the range [0, 1] (unsigned) + * or [-1, 1] (signed) when they are accessed as floating-point for rendering. + *

+ * This is commonly used when storing colors using {@link ComponentDatatype.UNSIGNED_BYTE}. + *

+ * @example + * attribute.componentDatatype = Cesium.ComponentDatatype.UNSIGNED_BYTE; + * attribute.componentsPerAttribute = 4; + * attribute.normalize = true; + * attribute.values = new Uint8Array([ + * Cesium.Color.floatToByte(color.red), + * Cesium.Color.floatToByte(color.green), + * Cesium.Color.floatToByte(color.blue), + * Cesium.Color.floatToByte(color.alpha) + * ]); + */ + normalize: boolean; + /** + * The values for the attributes stored in a typed array. In the code example, + * every three elements in values defines one attributes since + * componentsPerAttribute is 3. + * @example + * attribute.componentDatatype = Cesium.ComponentDatatype.FLOAT; + * attribute.componentsPerAttribute = 3; + * attribute.values = new Float32Array([ + * 0.0, 0.0, 0.0, + * 7500000.0, 0.0, 0.0, + * 0.0, 7500000.0, 0.0 + * ]); + */ + values: number[] | Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array; +} + +/** + * Attributes, which make up a geometry's vertices. Each property in this object corresponds to a + * {@link GeometryAttribute} containing the attribute's data. + *

+ * Attributes are always stored non-interleaved in a Geometry. + *

+ */ +export class GeometryAttributes { + constructor(); + /** + * The 3D position attribute. + *

+ * 64-bit floating-point (for precision). 3 components per attribute. + *

+ */ + position: GeometryAttribute; + /** + * The normal attribute (normalized), which is commonly used for lighting. + *

+ * 32-bit floating-point. 3 components per attribute. + *

+ */ + normal: GeometryAttribute; + /** + * The 2D texture coordinate attribute. + *

+ * 32-bit floating-point. 2 components per attribute + *

+ */ + st: GeometryAttribute; + /** + * The bitangent attribute (normalized), which is used for tangent-space effects like bump mapping. + *

+ * 32-bit floating-point. 3 components per attribute. + *

+ */ + bitangent: GeometryAttribute; + /** + * The tangent attribute (normalized), which is used for tangent-space effects like bump mapping. + *

+ * 32-bit floating-point. 3 components per attribute. + *

+ */ + tangent: GeometryAttribute; + /** + * The color attribute. + *

+ * 8-bit unsigned integer. 4 components per attribute. + *

+ */ + color: GeometryAttribute; +} + +/** + * Base class for all geometry creation utility classes that can be passed to {@link GeometryInstance} + * for asynchronous geometry creation. + */ +export class GeometryFactory { + constructor(); + /** + * Returns a geometry. + * @param geometryFactory - A description of the circle. + * @returns The computed vertices and indices. + */ + static createGeometry(geometryFactory: GeometryFactory): Geometry | undefined; +} + +/** + * Geometry instancing allows one {@link Geometry} object to be positions in several + * different locations and colored uniquely. For example, one {@link BoxGeometry} can + * be instanced several times, each with a different modelMatrix to change + * its position, rotation, and scale. + * @example + * // Create geometry for a box, and two instances that refer to it. + * // One instance positions the box on the bottom and colored aqua. + * // The other instance positions the box on the top and color white. + * var geometry = Cesium.BoxGeometry.fromDimensions({ + * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL, + * dimensions : new Cesium.Cartesian3(1000000.0, 1000000.0, 500000.0) + * }); + * var instanceBottom = new Cesium.GeometryInstance({ + * geometry : geometry, + * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame( + * Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 1000000.0), new Cesium.Matrix4()), + * attributes : { + * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA) + * }, + * id : 'bottom' + * }); + * var instanceTop = new Cesium.GeometryInstance({ + * geometry : geometry, + * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame( + * Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 3000000.0), new Cesium.Matrix4()), + * attributes : { + * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA) + * }, + * id : 'top' + * }); + * @param options - Object with the following properties: + * @param options.geometry - The geometry to instance. + * @param [options.modelMatrix = Matrix4.IDENTITY] - The model matrix that transforms to transform the geometry from model to world coordinates. + * @param [options.id] - A user-defined object to return when the instance is picked with {@link Scene#pick} or get/set per-instance attributes with {@link Primitive#getGeometryInstanceAttributes}. + * @param [options.attributes] - Per-instance attributes like a show or color attribute shown in the example below. + */ +export class GeometryInstance { + constructor(options: { + geometry: Geometry | GeometryFactory; + modelMatrix?: Matrix4; + id?: any; + attributes?: any; + }); + /** + * The geometry being instanced. + */ + geometry: Geometry; + /** + * The 4x4 transformation matrix that transforms the geometry from model to world coordinates. + * When this is the identity matrix, the geometry is drawn in world coordinates, i.e., Earth's WGS84 coordinates. + * Local reference frames can be used by providing a different transformation matrix, like that returned + * by {@link Transforms.eastNorthUpToFixedFrame}. + */ + modelMatrix: Matrix4; + /** + * User-defined object returned when the instance is picked or used to get/set per-instance attributes. + */ + id: any; + /** + * Per-instance attributes like {@link ColorGeometryInstanceAttribute} or {@link ShowGeometryInstanceAttribute}. + * {@link Geometry} attributes varying per vertex; these attributes are constant for the entire instance. + */ + attributes: any; +} + +/** + * Values and type information for per-instance geometry attributes. + * @example + * var instance = new Cesium.GeometryInstance({ + * geometry : Cesium.BoxGeometry.fromDimensions({ + * dimensions : new Cesium.Cartesian3(1000000.0, 1000000.0, 500000.0) + * }), + * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame( + * Cesium.Cartesian3.fromDegrees(0.0, 0.0)), new Cesium.Cartesian3(0.0, 0.0, 1000000.0), new Cesium.Matrix4()), + * id : 'box', + * attributes : { + * color : new Cesium.GeometryInstanceAttribute({ + * componentDatatype : Cesium.ComponentDatatype.UNSIGNED_BYTE, + * componentsPerAttribute : 4, + * normalize : true, + * value : [255, 255, 0, 255] + * }) + * } + * }); + * @param options - Object with the following properties: + * @param options.componentDatatype - The datatype of each component in the attribute, e.g., individual elements in values. + * @param options.componentsPerAttribute - A number between 1 and 4 that defines the number of components in an attributes. + * @param [options.normalize = false] - When true and componentDatatype is an integer format, indicate that the components should be mapped to the range [0, 1] (unsigned) or [-1, 1] (signed) when they are accessed as floating-point for rendering. + * @param options.value - The value for the attribute. + */ +export class GeometryInstanceAttribute { + constructor(options: { + componentDatatype: ComponentDatatype; + componentsPerAttribute: number; + normalize?: boolean; + value: number[]; + }); + /** + * The datatype of each component in the attribute, e.g., individual elements in + * {@link GeometryInstanceAttribute#value}. + */ + componentDatatype: ComponentDatatype; + /** + * A number between 1 and 4 that defines the number of components in an attributes. + * For example, a position attribute with x, y, and z components would have 3 as + * shown in the code example. + * @example + * show : new Cesium.GeometryInstanceAttribute({ + * componentDatatype : Cesium.ComponentDatatype.UNSIGNED_BYTE, + * componentsPerAttribute : 1, + * normalize : true, + * value : [1.0] + * }) + */ + componentsPerAttribute: number; + /** + * When true and componentDatatype is an integer format, + * indicate that the components should be mapped to the range [0, 1] (unsigned) + * or [-1, 1] (signed) when they are accessed as floating-point for rendering. + *

+ * This is commonly used when storing colors using {@link ComponentDatatype.UNSIGNED_BYTE}. + *

+ * @example + * attribute.componentDatatype = Cesium.ComponentDatatype.UNSIGNED_BYTE; + * attribute.componentsPerAttribute = 4; + * attribute.normalize = true; + * attribute.value = [ + * Cesium.Color.floatToByte(color.red), + * Cesium.Color.floatToByte(color.green), + * Cesium.Color.floatToByte(color.blue), + * Cesium.Color.floatToByte(color.alpha) + * ]; + */ + normalize: boolean; + /** + * The values for the attributes stored in a typed array. In the code example, + * every three elements in values defines one attributes since + * componentsPerAttribute is 3. + * @example + * show : new Cesium.GeometryInstanceAttribute({ + * componentDatatype : Cesium.ComponentDatatype.UNSIGNED_BYTE, + * componentsPerAttribute : 1, + * normalize : true, + * value : [1.0] + * }) + */ + value: number[]; +} + +/** + * Content pipeline functions for geometries. + */ +export namespace GeometryPipeline { + /** + * Converts a geometry's triangle indices to line indices. If the geometry has an indices + * and its primitiveType is TRIANGLES, TRIANGLE_STRIP, + * TRIANGLE_FAN, it is converted to LINES; otherwise, the geometry is not changed. + *

+ * This is commonly used to create a wireframe geometry for visual debugging. + *

+ * @example + * geometry = Cesium.GeometryPipeline.toWireframe(geometry); + * @param geometry - The geometry to modify. + * @returns The modified geometry argument, with its triangle indices converted to lines. + */ + function toWireframe(geometry: Geometry): Geometry; + /** + * Creates a new {@link Geometry} with LINES representing the provided + * attribute (attributeName) for the provided geometry. This is used to + * visualize vector attributes like normals, tangents, and bitangents. + * @example + * var geometry = Cesium.GeometryPipeline.createLineSegmentsForVectors(instance.geometry, 'bitangent', 100000.0); + * @param geometry - The Geometry instance with the attribute. + * @param [attributeName = 'normal'] - The name of the attribute. + * @param [length = 10000.0] - The length of each line segment in meters. This can be negative to point the vector in the opposite direction. + * @returns A new Geometry instance with line segments for the vector. + */ + function createLineSegmentsForVectors(geometry: Geometry, attributeName?: string, length?: number): Geometry; + /** + * Creates an object that maps attribute names to unique locations (indices) + * for matching vertex attributes and shader programs. + * @example + * var attributeLocations = Cesium.GeometryPipeline.createAttributeLocations(geometry); + * // Example output + * // { + * // 'position' : 0, + * // 'normal' : 1 + * // } + * @param geometry - The geometry, which is not modified, to create the object for. + * @returns An object with attribute name / index pairs. + */ + function createAttributeLocations(geometry: Geometry): any; + /** + * Reorders a geometry's attributes and indices to achieve better performance from the GPU's pre-vertex-shader cache. + * @example + * geometry = Cesium.GeometryPipeline.reorderForPreVertexCache(geometry); + * @param geometry - The geometry to modify. + * @returns The modified geometry argument, with its attributes and indices reordered for the GPU's pre-vertex-shader cache. + */ + function reorderForPreVertexCache(geometry: Geometry): Geometry; + /** + * Reorders a geometry's indices to achieve better performance from the GPU's + * post vertex-shader cache by using the Tipsify algorithm. If the geometry primitiveType + * is not TRIANGLES or the geometry does not have an indices, this function has no effect. + * @example + * geometry = Cesium.GeometryPipeline.reorderForPostVertexCache(geometry); + * @param geometry - The geometry to modify. + * @param [cacheCapacity = 24] - The number of vertices that can be held in the GPU's vertex cache. + * @returns The modified geometry argument, with its indices reordered for the post-vertex-shader cache. + */ + function reorderForPostVertexCache(geometry: Geometry, cacheCapacity?: number): Geometry; + /** + * Splits a geometry into multiple geometries, if necessary, to ensure that indices in the + * indices fit into unsigned shorts. This is used to meet the WebGL requirements + * when unsigned int indices are not supported. + *

+ * If the geometry does not have any indices, this function has no effect. + *

+ * @example + * var geometries = Cesium.GeometryPipeline.fitToUnsignedShortIndices(geometry); + * @param geometry - The geometry to be split into multiple geometries. + * @returns An array of geometries, each with indices that fit into unsigned shorts. + */ + function fitToUnsignedShortIndices(geometry: Geometry): Geometry[]; + /** + * Projects a geometry's 3D position attribute to 2D, replacing the position + * attribute with separate position3D and position2D attributes. + *

+ * If the geometry does not have a position, this function has no effect. + *

+ * @example + * geometry = Cesium.GeometryPipeline.projectTo2D(geometry, 'position', 'position3D', 'position2D'); + * @param geometry - The geometry to modify. + * @param attributeName - The name of the attribute. + * @param attributeName3D - The name of the attribute in 3D. + * @param attributeName2D - The name of the attribute in 2D. + * @param [projection = new GeographicProjection()] - The projection to use. + * @returns The modified geometry argument with position3D and position2D attributes. + */ + function projectTo2D(geometry: Geometry, attributeName: string, attributeName3D: string, attributeName2D: string, projection?: any): Geometry; + /** + * Encodes floating-point geometry attribute values as two separate attributes to improve + * rendering precision. + *

+ * This is commonly used to create high-precision position vertex attributes. + *

+ * @example + * geometry = Cesium.GeometryPipeline.encodeAttribute(geometry, 'position3D', 'position3DHigh', 'position3DLow'); + * @param geometry - The geometry to modify. + * @param attributeName - The name of the attribute. + * @param attributeHighName - The name of the attribute for the encoded high bits. + * @param attributeLowName - The name of the attribute for the encoded low bits. + * @returns The modified geometry argument, with its encoded attribute. + */ + function encodeAttribute(geometry: Geometry, attributeName: string, attributeHighName: string, attributeLowName: string): Geometry; + /** + * Transforms a geometry instance to world coordinates. This changes + * the instance's modelMatrix to {@link Matrix4.IDENTITY} and transforms the + * following attributes if they are present: position, normal, + * tangent, and bitangent. + * @example + * Cesium.GeometryPipeline.transformToWorldCoordinates(instance); + * @param instance - The geometry instance to modify. + * @returns The modified instance argument, with its attributes transforms to world coordinates. + */ + function transformToWorldCoordinates(instance: GeometryInstance): GeometryInstance; + /** + * Computes per-vertex normals for a geometry containing TRIANGLES by averaging the normals of + * all triangles incident to the vertex. The result is a new normal attribute added to the geometry. + * This assumes a counter-clockwise winding order. + * @example + * Cesium.GeometryPipeline.computeNormal(geometry); + * @param geometry - The geometry to modify. + * @returns The modified geometry argument with the computed normal attribute. + */ + function computeNormal(geometry: Geometry): Geometry; + /** + * Computes per-vertex tangents and bitangents for a geometry containing TRIANGLES. + * The result is new tangent and bitangent attributes added to the geometry. + * This assumes a counter-clockwise winding order. + *

+ * Based on Computing Tangent Space Basis Vectors + * for an Arbitrary Mesh by Eric Lengyel. + *

+ * @example + * Cesium.GeometryPipeline.computeTangentAndBiTangent(geometry); + * @param geometry - The geometry to modify. + * @returns The modified geometry argument with the computed tangent and bitangent attributes. + */ + function computeTangentAndBitangent(geometry: Geometry): Geometry; + /** + * Compresses and packs geometry normal attribute values to save memory. + * @example + * geometry = Cesium.GeometryPipeline.compressVertices(geometry); + * @param geometry - The geometry to modify. + * @returns The modified geometry argument, with its normals compressed and packed. + */ + function compressVertices(geometry: Geometry): Geometry; +} + +/** + * Given a relative Uri and a base Uri, returns the absolute Uri of the relative Uri. + * @example + * //absolute Uri will be "https://test.com/awesome.png"; + * var absoluteUri = Cesium.getAbsoluteUri('awesome.png', 'https://test.com'); + * @param relative - The relative Uri. + * @param [base] - The base Uri. + * @returns The absolute Uri of the given relative Uri. + */ +export function getAbsoluteUri(relative: string, base?: string): string; + +/** + * Given a URI, returns the base path of the URI. + * @example + * // basePath will be "/Gallery/"; + * var basePath = Cesium.getBaseUri('/Gallery/simple.czml?value=true&example=false'); + * + * // basePath will be "/Gallery/?value=true&example=false"; + * var basePath = Cesium.getBaseUri('/Gallery/simple.czml?value=true&example=false', true); + * @param uri - The Uri. + * @param [includeQuery = false] - Whether or not to include the query string and fragment form the uri + * @returns The base path of the Uri. + */ +export function getBaseUri(uri: string, includeQuery?: boolean): string; + +/** + * Given a URI, returns the extension of the URI. + * @example + * //extension will be "czml"; + * var extension = Cesium.getExtensionFromUri('/Gallery/simple.czml?value=true&example=false'); + * @param uri - The Uri. + * @returns The extension of the Uri. + */ +export function getExtensionFromUri(uri: string): string; + +/** + * Given a URI, returns the last segment of the URI, removing any path or query information. + * @example + * //fileName will be"simple.czml"; + * var fileName = Cesium.getFilenameFromUri('/Gallery/simple.czml?value=true&example=false'); + * @param uri - The Uri. + * @returns The last segment of the Uri. + */ +export function getFilenameFromUri(uri: string): string; + +/** + * Extract a pixel array from a loaded image. Draws the image + * into a canvas so it can read the pixels back. + * @param image - The image to extract pixels from. + * @param width - The width of the image. If not defined, then image.width is assigned. + * @param height - The height of the image. If not defined, then image.height is assigned. + * @returns The pixels of the image. + */ +export function getImagePixels(image: HTMLImageElement, width: number, height: number): ImageData; + +/** + * Gets a timestamp that can be used in measuring the time between events. Timestamps + * are expressed in milliseconds, but it is not specified what the milliseconds are + * measured from. This function uses performance.now() if it is available, or Date.now() + * otherwise. + * @returns The timestamp in milliseconds since some unspecified reference time. + */ +export function getTimestamp(): number; + +/** + * Provides metadata using the Google Earth Enterprise REST API. This is used by the GoogleEarthEnterpriseImageryProvider + * and GoogleEarthEnterpriseTerrainProvider to share metadata requests. + * @param resourceOrUrl - The url of the Google Earth Enterprise server hosting the imagery + */ +export class GoogleEarthEnterpriseMetadata { + constructor(resourceOrUrl: Resource | string); + /** + * True if imagery is available. + */ + imageryPresent: boolean; + /** + * True if imagery is sent as a protocol buffer, false if sent as plain images. If undefined we will try both. + */ + protoImagery: boolean; + /** + * True if terrain is available. + */ + terrainPresent: boolean; + /** + * Exponent used to compute constant to calculate negative height values. + */ + negativeAltitudeExponentBias: number; + /** + * Threshold where any numbers smaller are actually negative values. They are multiplied by -2^negativeAltitudeExponentBias. + */ + negativeAltitudeThreshold: number; + /** + * Dictionary of provider id to copyright strings. + */ + providers: any; + /** + * Key used to decode packets + */ + key: ArrayBuffer; + /** + * Gets the name of the Google Earth Enterprise server. + */ + readonly url: string; + /** + * Gets the proxy used for metadata requests. + */ + readonly proxy: Proxy; + /** + * Gets the resource used for metadata requests. + */ + readonly resource: Resource; + /** + * Gets a promise that resolves to true when the metadata is ready for use. + */ + readonly readyPromise: Promise; + /** + * Converts a tiles (x, y, level) position into a quadkey used to request an image + * from a Google Earth Enterprise server. + * @param x - The tile's x coordinate. + * @param y - The tile's y coordinate. + * @param level - The tile's zoom level. + */ + static tileXYToQuadKey(x: number, y: number, level: number): void; + /** + * Converts a tile's quadkey used to request an image from a Google Earth Enterprise server into the + * (x, y, level) position. + * @param quadkey - The tile's quad key + */ + static quadKeyToTileXY(quadkey: string): void; +} + +/** + * Terrain data for a single tile from a Google Earth Enterprise server. + * @example + * var buffer = ... + * var childTileMask = ... + * var terrainData = new Cesium.GoogleEarthEnterpriseTerrainData({ + * buffer : heightBuffer, + * childTileMask : childTileMask + * }); + * @param options - Object with the following properties: + * @param options.buffer - The buffer containing terrain data. + * @param options.negativeAltitudeExponentBias - Multiplier for negative terrain heights that are encoded as very small positive values. + * @param options.negativeElevationThreshold - Threshold for negative values + * @param [options.childTileMask = 15] - A bit mask indicating which of this tile's four children exist. + * If a child's bit is set, geometry will be requested for that tile as well when it + * is needed. If the bit is cleared, the child tile is not requested and geometry is + * instead upsampled from the parent. The bit values are as follows: + * + * + * + * + * + * + *
Bit PositionBit ValueChild Tile
01Southwest
12Southeast
24Northeast
38Northwest
+ * @param [options.createdByUpsampling = false] - True if this instance was created by upsampling another instance; + * otherwise, false. + * @param [options.credits] - Array of credits for this tile. + */ +export class GoogleEarthEnterpriseTerrainData { + constructor(options: { + buffer: ArrayBuffer; + negativeAltitudeExponentBias: number; + negativeElevationThreshold: number; + childTileMask?: number; + createdByUpsampling?: boolean; + credits?: Credit[]; + }); + /** + * An array of credits for this tile + */ + credits: Credit[]; + /** + * The water mask included in this terrain data, if any. A water mask is a rectangular + * Uint8Array or image where a value of 255 indicates water and a value of 0 indicates land. + * Values in between 0 and 255 are allowed as well to smoothly blend between land and water. + */ + waterMask: Uint8Array | HTMLImageElement | HTMLCanvasElement; + /** + * Computes the terrain height at a specified longitude and latitude. + * @param rectangle - The rectangle covered by this terrain data. + * @param longitude - The longitude in radians. + * @param latitude - The latitude in radians. + * @returns The terrain height at the specified position. If the position + * is outside the rectangle, this method will extrapolate the height, which is likely to be wildly + * incorrect for positions far outside the rectangle. + */ + interpolateHeight(rectangle: Rectangle, longitude: number, latitude: number): number; + /** + * Upsamples this terrain data for use by a descendant tile. The resulting instance will contain a subset of the + * height samples in this instance, interpolated if necessary. + * @param tilingScheme - The tiling scheme of this terrain data. + * @param thisX - The X coordinate of this tile in the tiling scheme. + * @param thisY - The Y coordinate of this tile in the tiling scheme. + * @param thisLevel - The level of this tile in the tiling scheme. + * @param descendantX - The X coordinate within the tiling scheme of the descendant tile for which we are upsampling. + * @param descendantY - The Y coordinate within the tiling scheme of the descendant tile for which we are upsampling. + * @param descendantLevel - The level within the tiling scheme of the descendant tile for which we are upsampling. + * @returns A promise for upsampled heightmap terrain data for the descendant tile, + * or undefined if too many asynchronous upsample operations are in progress and the request has been + * deferred. + */ + upsample(tilingScheme: TilingScheme, thisX: number, thisY: number, thisLevel: number, descendantX: number, descendantY: number, descendantLevel: number): Promise | undefined; + /** + * Determines if a given child tile is available, based on the + * {@link HeightmapTerrainData.childTileMask}. The given child tile coordinates are assumed + * to be one of the four children of this tile. If non-child tile coordinates are + * given, the availability of the southeast child tile is returned. + * @param thisX - The tile X coordinate of this (the parent) tile. + * @param thisY - The tile Y coordinate of this (the parent) tile. + * @param childX - The tile X coordinate of the child tile to check for availability. + * @param childY - The tile Y coordinate of the child tile to check for availability. + * @returns True if the child tile is available; otherwise, false. + */ + isChildAvailable(thisX: number, thisY: number, childX: number, childY: number): boolean; + /** + * Gets a value indicating whether or not this terrain data was created by upsampling lower resolution + * terrain data. If this value is false, the data was obtained from some other source, such + * as by downloading it from a remote server. This method should return true for instances + * returned from a call to {@link HeightmapTerrainData#upsample}. + * @returns True if this instance was created by upsampling; otherwise, false. + */ + wasCreatedByUpsampling(): boolean; +} + +/** + * Provides tiled terrain using the Google Earth Enterprise REST API. + * @example + * var geeMetadata = new GoogleEarthEnterpriseMetadata('http://www.earthenterprise.org/3d'); + * var gee = new Cesium.GoogleEarthEnterpriseTerrainProvider({ + * metadata : geeMetadata + * }); + * @param options - Object with the following properties: + * @param options.url - The url of the Google Earth Enterprise server hosting the imagery. + * @param options.metadata - A metadata object that can be used to share metadata requests with a GoogleEarthEnterpriseImageryProvider. + * @param [options.ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + * @param [options.credit] - A credit for the data source, which is displayed on the canvas. + */ +export class GoogleEarthEnterpriseTerrainProvider { + constructor(options: { + url: Resource | string; + metadata: GoogleEarthEnterpriseMetadata; + ellipsoid?: Ellipsoid; + credit?: Credit | string; + }); + /** + * Gets the name of the Google Earth Enterprise server url hosting the imagery. + */ + readonly url: string; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link GoogleEarthEnterpriseTerrainProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this terrain provider is active. Typically this is used to credit + * the source of the terrain. This function should not be called before {@link GoogleEarthEnterpriseTerrainProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the provider includes a water mask. The water mask + * indicates which areas of the globe are water rather than land, so they can be rendered + * as a reflective surface with animated waves. This function should not be + * called before {@link GoogleEarthEnterpriseTerrainProvider#ready} returns true. + */ + hasWaterMask: boolean; + /** + * Gets a value indicating whether or not the requested tiles include vertex normals. + * This function should not be called before {@link GoogleEarthEnterpriseTerrainProvider#ready} returns true. + */ + hasVertexNormals: boolean; + /** + * Gets an object that can be used to determine availability of terrain from this provider, such as + * at points and in rectangles. This function should not be called before + * {@link GoogleEarthEnterpriseTerrainProvider#ready} returns true. This property may be undefined if availability + * information is not available. + */ + availability: TileAvailability; + /** + * Requests the geometry for a given tile. This function should not be called before + * {@link GoogleEarthEnterpriseTerrainProvider#ready} returns true. The result must include terrain data and + * may optionally include a water mask and an indication of which child tiles are available. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the requested geometry. If this method + * returns undefined instead of a promise, it is an indication that too many requests are already + * pending and the request will be retried later. + */ + requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Gets the maximum geometric error allowed in a tile at a given level. + * @param level - The tile level for which to get the maximum geometric error. + * @returns The maximum geometric error. + */ + getLevelMaximumGeometricError(level: number): number; + /** + * Determines whether data for a tile is available to be loaded. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if not supported, otherwise true or false. + */ + getTileDataAvailable(x: number, y: number, level: number): boolean; + /** + * Makes sure we load availability data for a tile + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded + */ + loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise; +} + +/** + * Represents a Gregorian date in a more precise format than the JavaScript Date object. + * In addition to submillisecond precision, this object can also represent leap seconds. + * @param [year] - The year as a whole number. + * @param [month] - The month as a whole number with range [1, 12]. + * @param [day] - The day of the month as a whole number starting at 1. + * @param [hour] - The hour as a whole number with range [0, 23]. + * @param [minute] - The minute of the hour as a whole number with range [0, 59]. + * @param [second] - The second of the minute as a whole number with range [0, 60], with 60 representing a leap second. + * @param [millisecond] - The millisecond of the second as a floating point number with range [0.0, 1000.0). + * @param [isLeapSecond] - Whether this time is during a leap second. + */ +export class GregorianDate { + constructor(year?: number, month?: number, day?: number, hour?: number, minute?: number, second?: number, millisecond?: number, isLeapSecond?: boolean); + /** + * Gets or sets the year as a whole number. + */ + year: number; + /** + * Gets or sets the month as a whole number with range [1, 12]. + */ + month: number; + /** + * Gets or sets the day of the month as a whole number starting at 1. + */ + day: number; + /** + * Gets or sets the hour as a whole number with range [0, 23]. + */ + hour: number; + /** + * Gets or sets the minute of the hour as a whole number with range [0, 59]. + */ + minute: number; + /** + * Gets or sets the second of the minute as a whole number with range [0, 60], with 60 representing a leap second. + */ + second: number; + /** + * Gets or sets the millisecond of the second as a floating point number with range [0.0, 1000.0). + */ + millisecond: number; + /** + * Gets or sets whether this time is during a leap second. + */ + isLeapSecond: boolean; +} + +/** + * A description of a polyline on terrain or 3D Tiles. Only to be used with {@link GroundPolylinePrimitive}. + * @example + * var positions = Cesium.Cartesian3.fromDegreesArray([ + * -112.1340164450331, 36.05494287836128, + * -112.08821010582645, 36.097804071380715, + * -112.13296079730024, 36.168769146801104 + * ]); + * + * var geometry = new Cesium.GroundPolylineGeometry({ + * positions : positions + * }); + * @param options - Options with the following properties: + * @param options.positions - An array of {@link Cartesian3} defining the polyline's points. Heights above the ellipsoid will be ignored. + * @param [options.width = 1.0] - The screen space width in pixels. + * @param [options.granularity = 9999.0] - The distance interval in meters used for interpolating options.points. Defaults to 9999.0 meters. Zero indicates no interpolation. + * @param [options.loop = false] - Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop. + * @param [options.arcType = ArcType.GEODESIC] - The type of line the polyline segments must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}. + */ +export class GroundPolylineGeometry { + constructor(options: { + positions: Cartesian3[]; + width?: number; + granularity?: number; + loop?: boolean; + arcType?: ArcType; + }); + /** + * The screen space width in pixels. + */ + width: number; + /** + * The distance interval used for interpolating options.points. Zero indicates no interpolation. + * Default of 9999.0 allows centimeter accuracy with 32 bit floating point. + */ + granularity: boolean; + /** + * Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop. + * If the geometry has two positions this parameter will be ignored. + */ + loop: boolean; + /** + * The type of path the polyline must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}. + */ + arcType: ArcType; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: PolygonGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + */ + static unpack(array: number[], startingIndex?: number, result?: PolygonGeometry): void; +} + +/** + * Defines a heading angle, pitch angle, and range in a local frame. + * Heading is the rotation from the local north direction where a positive angle is increasing eastward. + * Pitch is the rotation from the local xy-plane. Positive pitch angles are above the plane. Negative pitch + * angles are below the plane. Range is the distance from the center of the frame. + * @param [heading = 0.0] - The heading angle in radians. + * @param [pitch = 0.0] - The pitch angle in radians. + * @param [range = 0.0] - The distance from the center in meters. + */ +export class HeadingPitchRange { + constructor(heading?: number, pitch?: number, range?: number); + /** + * Heading is the rotation from the local north direction where a positive angle is increasing eastward. + */ + heading: number; + /** + * Pitch is the rotation from the local xy-plane. Positive pitch angles + * are above the plane. Negative pitch angles are below the plane. + */ + pitch: number; + /** + * Range is the distance from the center of the local frame. + */ + range: number; + /** + * Duplicates a HeadingPitchRange instance. + * @param hpr - The HeadingPitchRange to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new HeadingPitchRange instance if one was not provided. (Returns undefined if hpr is undefined) + */ + static clone(hpr: HeadingPitchRange, result?: HeadingPitchRange): HeadingPitchRange; +} + +/** + * A rotation expressed as a heading, pitch, and roll. Heading is the rotation about the + * negative z axis. Pitch is the rotation about the negative y axis. Roll is the rotation about + * the positive x axis. + * @param [heading = 0.0] - The heading component in radians. + * @param [pitch = 0.0] - The pitch component in radians. + * @param [roll = 0.0] - The roll component in radians. + */ +export class HeadingPitchRoll { + constructor(heading?: number, pitch?: number, roll?: number); + /** + * Gets or sets the heading. + */ + heading: number; + /** + * Gets or sets the pitch. + */ + pitch: number; + /** + * Gets or sets the roll. + */ + roll: number; + /** + * Computes the heading, pitch and roll from a quaternion (see http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles ) + * @param quaternion - The quaternion from which to retrieve heading, pitch, and roll, all expressed in radians. + * @param [result] - The object in which to store the result. If not provided, a new instance is created and returned. + * @returns The modified result parameter or a new HeadingPitchRoll instance if one was not provided. + */ + static fromQuaternion(quaternion: Quaternion, result?: HeadingPitchRoll): HeadingPitchRoll; + /** + * Returns a new HeadingPitchRoll instance from angles given in degrees. + * @param heading - the heading in degrees + * @param pitch - the pitch in degrees + * @param roll - the heading in degrees + * @param [result] - The object in which to store the result. If not provided, a new instance is created and returned. + * @returns A new HeadingPitchRoll instance + */ + static fromDegrees(heading: number, pitch: number, roll: number, result?: HeadingPitchRoll): HeadingPitchRoll; + /** + * Duplicates a HeadingPitchRoll instance. + * @param headingPitchRoll - The HeadingPitchRoll to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new HeadingPitchRoll instance if one was not provided. (Returns undefined if headingPitchRoll is undefined) + */ + static clone(headingPitchRoll: HeadingPitchRoll, result?: HeadingPitchRoll): HeadingPitchRoll; + /** + * Compares the provided HeadingPitchRolls componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first HeadingPitchRoll. + * @param [right] - The second HeadingPitchRoll. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: HeadingPitchRoll, right?: HeadingPitchRoll): boolean; + /** + * Compares the provided HeadingPitchRolls componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param [left] - The first HeadingPitchRoll. + * @param [right] - The second HeadingPitchRoll. + * @param [relativeEpsilon = 0] - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: HeadingPitchRoll, right?: HeadingPitchRoll, relativeEpsilon?: number, absoluteEpsilon?: number): boolean; + /** + * Duplicates this HeadingPitchRoll instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new HeadingPitchRoll instance if one was not provided. + */ + clone(result?: HeadingPitchRoll): HeadingPitchRoll; + /** + * Compares this HeadingPitchRoll against the provided HeadingPitchRoll componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side HeadingPitchRoll. + * @returns true if they are equal, false otherwise. + */ + equals(right?: HeadingPitchRoll): boolean; + /** + * Compares this HeadingPitchRoll against the provided HeadingPitchRoll componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param [right] - The right hand side HeadingPitchRoll. + * @param [relativeEpsilon = 0] - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if they are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: HeadingPitchRoll, relativeEpsilon?: number, absoluteEpsilon?: number): boolean; + /** + * Creates a string representing this HeadingPitchRoll in the format '(heading, pitch, roll)' in radians. + * @returns A string representing the provided HeadingPitchRoll in the format '(heading, pitch, roll)'. + */ + toString(): string; +} + +/** + * The encoding that is used for a heightmap + */ +export enum HeightmapEncoding { + /** + * No encoding + */ + NONE = 0, + /** + * LERC encoding + */ + LERC = 1 +} + +/** + * Terrain data for a single tile where the terrain data is represented as a heightmap. A heightmap + * is a rectangular array of heights in row-major order from north to south and west to east. + * @example + * var buffer = ... + * var heightBuffer = new Uint16Array(buffer, 0, that._heightmapWidth * that._heightmapWidth); + * var childTileMask = new Uint8Array(buffer, heightBuffer.byteLength, 1)[0]; + * var waterMask = new Uint8Array(buffer, heightBuffer.byteLength + 1, buffer.byteLength - heightBuffer.byteLength - 1); + * var terrainData = new Cesium.HeightmapTerrainData({ + * buffer : heightBuffer, + * width : 65, + * height : 65, + * childTileMask : childTileMask, + * waterMask : waterMask + * }); + * @param options - Object with the following properties: + * @param options.buffer - The buffer containing height data. + * @param options.width - The width (longitude direction) of the heightmap, in samples. + * @param options.height - The height (latitude direction) of the heightmap, in samples. + * @param [options.childTileMask = 15] - A bit mask indicating which of this tile's four children exist. + * If a child's bit is set, geometry will be requested for that tile as well when it + * is needed. If the bit is cleared, the child tile is not requested and geometry is + * instead upsampled from the parent. The bit values are as follows: + * + * + * + * + * + * + *
Bit PositionBit ValueChild Tile
01Southwest
12Southeast
24Northwest
38Northeast
+ * @param [options.waterMask] - The water mask included in this terrain data, if any. A water mask is a square + * Uint8Array or image where a value of 255 indicates water and a value of 0 indicates land. + * Values in between 0 and 255 are allowed as well to smoothly blend between land and water. + * @param [options.structure] - An object describing the structure of the height data. + * @param [options.structure.heightScale = 1.0] - The factor by which to multiply height samples in order to obtain + * the height above the heightOffset, in meters. The heightOffset is added to the resulting + * height after multiplying by the scale. + * @param [options.structure.heightOffset = 0.0] - The offset to add to the scaled height to obtain the final + * height in meters. The offset is added after the height sample is multiplied by the + * heightScale. + * @param [options.structure.elementsPerHeight = 1] - The number of elements in the buffer that make up a single height + * sample. This is usually 1, indicating that each element is a separate height sample. If + * it is greater than 1, that number of elements together form the height sample, which is + * computed according to the structure.elementMultiplier and structure.isBigEndian properties. + * @param [options.structure.stride = 1] - The number of elements to skip to get from the first element of + * one height to the first element of the next height. + * @param [options.structure.elementMultiplier = 256.0] - The multiplier used to compute the height value when the + * stride property is greater than 1. For example, if the stride is 4 and the strideMultiplier + * is 256, the height is computed as follows: + * `height = buffer[index] + buffer[index + 1] * 256 + buffer[index + 2] * 256 * 256 + buffer[index + 3] * 256 * 256 * 256` + * This is assuming that the isBigEndian property is false. If it is true, the order of the + * elements is reversed. + * @param [options.structure.isBigEndian = false] - Indicates endianness of the elements in the buffer when the + * stride property is greater than 1. If this property is false, the first element is the + * low-order element. If it is true, the first element is the high-order element. + * @param [options.structure.lowestEncodedHeight] - The lowest value that can be stored in the height buffer. Any heights that are lower + * than this value after encoding with the `heightScale` and `heightOffset` are clamped to this value. For example, if the height + * buffer is a `Uint16Array`, this value should be 0 because a `Uint16Array` cannot store negative numbers. If this parameter is + * not specified, no minimum value is enforced. + * @param [options.structure.highestEncodedHeight] - The highest value that can be stored in the height buffer. Any heights that are higher + * than this value after encoding with the `heightScale` and `heightOffset` are clamped to this value. For example, if the height + * buffer is a `Uint16Array`, this value should be `256 * 256 - 1` or 65535 because a `Uint16Array` cannot store numbers larger + * than 65535. If this parameter is not specified, no maximum value is enforced. + * @param [options.encoding = HeightmapEncoding.NONE] - The encoding that is used on the buffer. + * @param [options.createdByUpsampling = false] - True if this instance was created by upsampling another instance; + * otherwise, false. + */ +export class HeightmapTerrainData { + constructor(options: { + buffer: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array; + width: number; + height: number; + childTileMask?: number; + waterMask?: Uint8Array; + structure?: { + heightScale?: number; + heightOffset?: number; + elementsPerHeight?: number; + stride?: number; + elementMultiplier?: number; + isBigEndian?: boolean; + lowestEncodedHeight?: number; + highestEncodedHeight?: number; + }; + encoding?: HeightmapEncoding; + createdByUpsampling?: boolean; + }); + /** + * An array of credits for this tile. + */ + credits: Credit[]; + /** + * The water mask included in this terrain data, if any. A water mask is a square + * Uint8Array or image where a value of 255 indicates water and a value of 0 indicates land. + * Values in between 0 and 255 are allowed as well to smoothly blend between land and water. + */ + waterMask: Uint8Array | HTMLImageElement | HTMLCanvasElement; + /** + * Computes the terrain height at a specified longitude and latitude. + * @param rectangle - The rectangle covered by this terrain data. + * @param longitude - The longitude in radians. + * @param latitude - The latitude in radians. + * @returns The terrain height at the specified position. If the position + * is outside the rectangle, this method will extrapolate the height, which is likely to be wildly + * incorrect for positions far outside the rectangle. + */ + interpolateHeight(rectangle: Rectangle, longitude: number, latitude: number): number; + /** + * Upsamples this terrain data for use by a descendant tile. The resulting instance will contain a subset of the + * height samples in this instance, interpolated if necessary. + * @param tilingScheme - The tiling scheme of this terrain data. + * @param thisX - The X coordinate of this tile in the tiling scheme. + * @param thisY - The Y coordinate of this tile in the tiling scheme. + * @param thisLevel - The level of this tile in the tiling scheme. + * @param descendantX - The X coordinate within the tiling scheme of the descendant tile for which we are upsampling. + * @param descendantY - The Y coordinate within the tiling scheme of the descendant tile for which we are upsampling. + * @param descendantLevel - The level within the tiling scheme of the descendant tile for which we are upsampling. + * @returns A promise for upsampled heightmap terrain data for the descendant tile, + * or undefined if too many asynchronous upsample operations are in progress and the request has been + * deferred. + */ + upsample(tilingScheme: TilingScheme, thisX: number, thisY: number, thisLevel: number, descendantX: number, descendantY: number, descendantLevel: number): Promise | undefined; + /** + * Determines if a given child tile is available, based on the + * {@link HeightmapTerrainData.childTileMask}. The given child tile coordinates are assumed + * to be one of the four children of this tile. If non-child tile coordinates are + * given, the availability of the southeast child tile is returned. + * @param thisX - The tile X coordinate of this (the parent) tile. + * @param thisY - The tile Y coordinate of this (the parent) tile. + * @param childX - The tile X coordinate of the child tile to check for availability. + * @param childY - The tile Y coordinate of the child tile to check for availability. + * @returns True if the child tile is available; otherwise, false. + */ + isChildAvailable(thisX: number, thisY: number, childX: number, childY: number): boolean; + /** + * Gets a value indicating whether or not this terrain data was created by upsampling lower resolution + * terrain data. If this value is false, the data was obtained from some other source, such + * as by downloading it from a remote server. This method should return true for instances + * returned from a call to {@link HeightmapTerrainData#upsample}. + * @returns True if this instance was created by upsampling; otherwise, false. + */ + wasCreatedByUpsampling(): boolean; +} + +/** + * An {@link InterpolationAlgorithm} for performing Hermite interpolation. + */ +export namespace HermitePolynomialApproximation { + /** + * Given the desired degree, returns the number of data points required for interpolation. + * @param degree - The desired degree of interpolation. + * @param [inputOrder = 0] - The order of the inputs (0 means just the data, 1 means the data and its derivative, etc). + * @returns The number of required data points needed for the desired degree of interpolation. + */ + function getRequiredDataPoints(degree: number, inputOrder?: number): number; + /** + * Interpolates values using Hermite Polynomial Approximation. + * @param x - The independent variable for which the dependent variables will be interpolated. + * @param xTable - The array of independent variables to use to interpolate. The values + * in this array must be in increasing order and the same value must not occur twice in the array. + * @param yTable - The array of dependent variables to use to interpolate. For a set of three + * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}. + * @param yStride - The number of dependent variable values in yTable corresponding to + * each independent variable value in xTable. + * @param [result] - An existing array into which to store the result. + * @returns The array of interpolated values, or the result parameter if one was provided. + */ + function interpolateOrderZero(x: number, xTable: number[], yTable: number[], yStride: number, result?: number[]): number[]; + /** + * Interpolates values using Hermite Polynomial Approximation. + * @param x - The independent variable for which the dependent variables will be interpolated. + * @param xTable - The array of independent variables to use to interpolate. The values + * in this array must be in increasing order and the same value must not occur twice in the array. + * @param yTable - The array of dependent variables to use to interpolate. For a set of three + * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}. + * @param yStride - The number of dependent variable values in yTable corresponding to + * each independent variable value in xTable. + * @param inputOrder - The number of derivatives supplied for input. + * @param outputOrder - The number of derivatives desired for output. + * @param [result] - An existing array into which to store the result. + * @returns The array of interpolated values, or the result parameter if one was provided. + */ + function interpolate(x: number, xTable: number[], yTable: number[], yStride: number, inputOrder: number, outputOrder: number, result?: number[]): number[]; +} + +/** + * A Hermite spline is a cubic interpolating spline. Points, incoming tangents, outgoing tangents, and times + * must be defined for each control point. The outgoing tangents are defined for points [0, n - 2] and the incoming + * tangents are defined for points [1, n - 1]. For example, when interpolating a segment of the curve between points[i] and + * points[i + 1], the tangents at the points will be outTangents[i] and inTangents[i], + * respectively. + * @example + * // Create a G1 continuous Hermite spline + * var times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ]; + * var spline = new Cesium.HermiteSpline({ + * times : times, + * points : [ + * new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0), + * new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0), + * new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0), + * new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0), + * new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0) + * ], + * outTangents : [ + * new Cesium.Cartesian3(1125196, -161816, 270551), + * new Cesium.Cartesian3(-996690.5, -365906.5, 184028.5), + * new Cesium.Cartesian3(-2096917, 48379.5, -292683.5), + * new Cesium.Cartesian3(-890902.5, 408999.5, -447115) + * ], + * inTangents : [ + * new Cesium.Cartesian3(-1993381, -731813, 368057), + * new Cesium.Cartesian3(-4193834, 96759, -585367), + * new Cesium.Cartesian3(-1781805, 817999, -894230), + * new Cesium.Cartesian3(1165345, 112641, 47281) + * ] + * }); + * + * var p0 = spline.evaluate(times[0]); + * @param options - Object with the following properties: + * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point. + * The values are in no way connected to the clock time. They are the parameterization for the curve. + * @param options.points - The array of {@link Cartesian3} control points. + * @param options.inTangents - The array of {@link Cartesian3} incoming tangents at each control point. + * @param options.outTangents - The array of {@link Cartesian3} outgoing tangents at each control point. + */ +export class HermiteSpline { + constructor(options: { + times: number[]; + points: Cartesian3[]; + inTangents: Cartesian3[]; + outTangents: Cartesian3[]; + }); + /** + * An array of times for the control points. + */ + readonly times: number[]; + /** + * An array of {@link Cartesian3} control points. + */ + readonly points: Cartesian3[]; + /** + * An array of {@link Cartesian3} incoming tangents at each control point. + */ + readonly inTangents: Cartesian3[]; + /** + * An array of {@link Cartesian3} outgoing tangents at each control point. + */ + readonly outTangents: Cartesian3[]; + /** + * Creates a spline where the tangents at each control point are the same. + * The curves are guaranteed to be at least in the class C1. + * @example + * var points = [ + * new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0), + * new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0), + * new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0), + * new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0), + * new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0) + * ]; + * + * // Add tangents + * var tangents = new Array(points.length); + * tangents[0] = new Cesium.Cartesian3(1125196, -161816, 270551); + * var temp = new Cesium.Cartesian3(); + * for (var i = 1; i < tangents.length - 1; ++i) { + * tangents[i] = Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.subtract(points[i + 1], points[i - 1], temp), 0.5, new Cesium.Cartesian3()); + * } + * tangents[tangents.length - 1] = new Cesium.Cartesian3(1165345, 112641, 47281); + * + * var spline = Cesium.HermiteSpline.createC1({ + * times : times, + * points : points, + * tangents : tangents + * }); + * @param options - Object with the following properties: + * @param options.times - The array of control point times. + * @param options.points - The array of control points. + * @param options.tangents - The array of tangents at the control points. + * @returns A hermite spline. + */ + static createC1(options: { + times: number[]; + points: Cartesian3[]; + tangents: Cartesian3[]; + }): HermiteSpline; + /** + * Creates a natural cubic spline. The tangents at the control points are generated + * to create a curve in the class C2. + * @example + * // Create a natural cubic spline above the earth from Philadelphia to Los Angeles. + * var spline = Cesium.HermiteSpline.createNaturalCubic({ + * times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ], + * points : [ + * new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0), + * new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0), + * new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0), + * new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0), + * new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0) + * ] + * }); + * @param options - Object with the following properties: + * @param options.times - The array of control point times. + * @param options.points - The array of control points. + * @returns A hermite spline or a linear spline if less than 3 control points were given. + */ + static createNaturalCubic(options: { + times: number[]; + points: Cartesian3[]; + }): HermiteSpline | LinearSpline; + /** + * Creates a clamped cubic spline. The tangents at the interior control points are generated + * to create a curve in the class C2. + * @example + * // Create a clamped cubic spline above the earth from Philadelphia to Los Angeles. + * var spline = Cesium.HermiteSpline.createClampedCubic({ + * times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ], + * points : [ + * new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0), + * new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0), + * new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0), + * new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0), + * new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0) + * ], + * firstTangent : new Cesium.Cartesian3(1125196, -161816, 270551), + * lastTangent : new Cesium.Cartesian3(1165345, 112641, 47281) + * }); + * @param options - Object with the following properties: + * @param options.times - The array of control point times. + * @param options.points - The array of control points. + * @param options.firstTangent - The outgoing tangent of the first control point. + * @param options.lastTangent - The incoming tangent of the last control point. + * @returns A hermite spline or a linear spline if less than 3 control points were given. + */ + static createClampedCubic(options: { + times: number[]; + points: Cartesian3[]; + firstTangent: Cartesian3; + lastTangent: Cartesian3; + }): HermiteSpline | LinearSpline; + /** + * Finds an index i in times such that the parameter + * time is in the interval [times[i], times[i + 1]]. + * @param time - The time. + * @returns The index for the element at the start of the interval. + */ + findTimeInterval(time: number): number; + /** + * Wraps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, wrapped around to the updated animation. + */ + wrapTime(time: number): number; + /** + * Clamps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, clamped to the animation period. + */ + clampTime(time: number): number; + /** + * Evaluates the curve at a given time. + * @param time - The time at which to evaluate the curve. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance of the point on the curve at the given time. + */ + evaluate(time: number, result?: Cartesian3): Cartesian3; +} + +/** + * Constants for WebGL index datatypes. These corresponds to the + * type parameter of {@link http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml|drawElements}. + */ +export enum IndexDatatype { + /** + * 8-bit unsigned byte corresponding to UNSIGNED_BYTE and the type + * of an element in Uint8Array. + */ + UNSIGNED_BYTE = WebGLConstants.UNSIGNED_BYTE, + /** + * 16-bit unsigned short corresponding to UNSIGNED_SHORT and the type + * of an element in Uint16Array. + */ + UNSIGNED_SHORT = WebGLConstants.UNSIGNED_SHORT, + /** + * 32-bit unsigned int corresponding to UNSIGNED_INT and the type + * of an element in Uint32Array. + */ + UNSIGNED_INT = WebGLConstants.UNSIGNED_INT +} + +export namespace InterpolationAlgorithm { + /** + * Gets the name of this interpolation algorithm. + */ + var type: string; + /** + * Given the desired degree, returns the number of data points required for interpolation. + * @param degree - The desired degree of interpolation. + * @returns The number of required data points needed for the desired degree of interpolation. + */ + function getRequiredDataPoints(degree: number): number; + /** + * Performs zero order interpolation. + * @param x - The independent variable for which the dependent variables will be interpolated. + * @param xTable - The array of independent variables to use to interpolate. The values + * in this array must be in increasing order and the same value must not occur twice in the array. + * @param yTable - The array of dependent variables to use to interpolate. For a set of three + * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}. + * @param yStride - The number of dependent variable values in yTable corresponding to + * each independent variable value in xTable. + * @param [result] - An existing array into which to store the result. + * @returns The array of interpolated values, or the result parameter if one was provided. + */ + function interpolateOrderZero(x: number, xTable: number[], yTable: number[], yStride: number, result?: number[]): number[]; + /** + * Performs higher order interpolation. Not all interpolators need to support high-order interpolation, + * if this function remains undefined on implementing objects, interpolateOrderZero will be used instead. + * @param x - The independent variable for which the dependent variables will be interpolated. + * @param xTable - The array of independent variables to use to interpolate. The values + * in this array must be in increasing order and the same value must not occur twice in the array. + * @param yTable - The array of dependent variables to use to interpolate. For a set of three + * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}. + * @param yStride - The number of dependent variable values in yTable corresponding to + * each independent variable value in xTable. + * @param inputOrder - The number of derivatives supplied for input. + * @param outputOrder - The number of derivatives desired for output. + * @param [result] - An existing array into which to store the result. + * @returns The array of interpolated values, or the result parameter if one was provided. + */ + function interpolate(x: number, xTable: number[], yTable: number[], yStride: number, inputOrder: number, outputOrder: number, result?: number[]): number[]; +} + +/** + * The interface for interpolation algorithms. + */ +export interface InterpolationAlgorithm { +} + +/** + * This enumerated type is used in determining where, relative to the frustum, an + * object is located. The object can either be fully contained within the frustum (INSIDE), + * partially inside the frustum and partially outside (INTERSECTING), or somewhere entirely + * outside of the frustum's 6 planes (OUTSIDE). + */ +export enum Intersect { + /** + * Represents that an object is not contained within the frustum. + */ + OUTSIDE = -1, + /** + * Represents that an object intersects one of the frustum's planes. + */ + INTERSECTING = 0, + /** + * Represents that an object is fully within the frustum. + */ + INSIDE = 1 +} + +/** + * Contains functions for operating on 2D triangles. + */ +export namespace Intersections2D { + /** + * Splits a 2D triangle at given axis-aligned threshold value and returns the resulting + * polygon on a given side of the threshold. The resulting polygon may have 0, 1, 2, + * 3, or 4 vertices. + * @example + * var result = Cesium.Intersections2D.clipTriangleAtAxisAlignedThreshold(0.5, false, 0.2, 0.6, 0.4); + * // result === [2, 0, -1, 1, 0, 0.25, -1, 1, 2, 0.5] + * @param threshold - The threshold coordinate value at which to clip the triangle. + * @param keepAbove - true to keep the portion of the triangle above the threshold, or false + * to keep the portion below. + * @param u0 - The coordinate of the first vertex in the triangle, in counter-clockwise order. + * @param u1 - The coordinate of the second vertex in the triangle, in counter-clockwise order. + * @param u2 - The coordinate of the third vertex in the triangle, in counter-clockwise order. + * @param [result] - The array into which to copy the result. If this parameter is not supplied, + * a new array is constructed and returned. + * @returns The polygon that results after the clip, specified as a list of + * vertices. The vertices are specified in counter-clockwise order. + * Each vertex is either an index from the existing list (identified as + * a 0, 1, or 2) or -1 indicating a new vertex not in the original triangle. + * For new vertices, the -1 is followed by three additional numbers: the + * index of each of the two original vertices forming the line segment that + * the new vertex lies on, and the fraction of the distance from the first + * vertex to the second one. + */ + function clipTriangleAtAxisAlignedThreshold(threshold: number, keepAbove: boolean, u0: number, u1: number, u2: number, result?: number[]): number[]; + /** + * Compute the barycentric coordinates of a 2D position within a 2D triangle. + * @example + * var result = Cesium.Intersections2D.computeBarycentricCoordinates(0.0, 0.0, 0.0, 1.0, -1, -0.5, 1, -0.5); + * // result === new Cesium.Cartesian3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0); + * @param x - The x coordinate of the position for which to find the barycentric coordinates. + * @param y - The y coordinate of the position for which to find the barycentric coordinates. + * @param x1 - The x coordinate of the triangle's first vertex. + * @param y1 - The y coordinate of the triangle's first vertex. + * @param x2 - The x coordinate of the triangle's second vertex. + * @param y2 - The y coordinate of the triangle's second vertex. + * @param x3 - The x coordinate of the triangle's third vertex. + * @param y3 - The y coordinate of the triangle's third vertex. + * @param [result] - The instance into to which to copy the result. If this parameter + * is undefined, a new instance is created and returned. + * @returns The barycentric coordinates of the position within the triangle. + */ + function computeBarycentricCoordinates(x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, result?: Cartesian3): Cartesian3; + /** + * Compute the intersection between 2 line segments + * @example + * var result = Cesium.Intersections2D.computeLineSegmentLineSegmentIntersection(0.0, 0.0, 0.0, 2.0, -1, 1, 1, 1); + * // result === new Cesium.Cartesian2(0.0, 1.0); + * @param x00 - The x coordinate of the first line's first vertex. + * @param y00 - The y coordinate of the first line's first vertex. + * @param x01 - The x coordinate of the first line's second vertex. + * @param y01 - The y coordinate of the first line's second vertex. + * @param x10 - The x coordinate of the second line's first vertex. + * @param y10 - The y coordinate of the second line's first vertex. + * @param x11 - The x coordinate of the second line's second vertex. + * @param y11 - The y coordinate of the second line's second vertex. + * @param [result] - The instance into to which to copy the result. If this parameter + * is undefined, a new instance is created and returned. + * @returns The intersection point, undefined if there is no intersection point or lines are coincident. + */ + function computeLineSegmentLineSegmentIntersection(x00: number, y00: number, x01: number, y01: number, x10: number, y10: number, x11: number, y11: number, result?: Cartesian2): Cartesian2; +} + +/** + * Functions for computing the intersection between geometries such as rays, planes, triangles, and ellipsoids. + */ +export namespace IntersectionTests { + /** + * Computes the intersection of a ray and a plane. + * @param ray - The ray. + * @param plane - The plane. + * @param [result] - The object onto which to store the result. + * @returns The intersection point or undefined if there is no intersections. + */ + function rayPlane(ray: Ray, plane: Plane, result?: Cartesian3): Cartesian3; + /** + * Computes the intersection of a ray and a triangle as a parametric distance along the input ray. The result is negative when the triangle is behind the ray. + * + * Implements {@link https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf| + * Fast Minimum Storage Ray/Triangle Intersection} by Tomas Moller and Ben Trumbore. + * @param ray - The ray. + * @param p0 - The first vertex of the triangle. + * @param p1 - The second vertex of the triangle. + * @param p2 - The third vertex of the triangle. + * @param [cullBackFaces = false] - If true, will only compute an intersection with the front face of the triangle + * and return undefined for intersections with the back face. + * @returns The intersection as a parametric distance along the ray, or undefined if there is no intersection. + */ + function rayTriangleParametric(ray: Ray, p0: Cartesian3, p1: Cartesian3, p2: Cartesian3, cullBackFaces?: boolean): number; + /** + * Computes the intersection of a ray and a triangle as a Cartesian3 coordinate. + * + * Implements {@link https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf| + * Fast Minimum Storage Ray/Triangle Intersection} by Tomas Moller and Ben Trumbore. + * @param ray - The ray. + * @param p0 - The first vertex of the triangle. + * @param p1 - The second vertex of the triangle. + * @param p2 - The third vertex of the triangle. + * @param [cullBackFaces = false] - If true, will only compute an intersection with the front face of the triangle + * and return undefined for intersections with the back face. + * @param [result] - The Cartesian3 onto which to store the result. + * @returns The intersection point or undefined if there is no intersections. + */ + function rayTriangle(ray: Ray, p0: Cartesian3, p1: Cartesian3, p2: Cartesian3, cullBackFaces?: boolean, result?: Cartesian3): Cartesian3; + /** + * Computes the intersection of a line segment and a triangle. + * @param v0 - The an end point of the line segment. + * @param v1 - The other end point of the line segment. + * @param p0 - The first vertex of the triangle. + * @param p1 - The second vertex of the triangle. + * @param p2 - The third vertex of the triangle. + * @param [cullBackFaces = false] - If true, will only compute an intersection with the front face of the triangle + * and return undefined for intersections with the back face. + * @param [result] - The Cartesian3 onto which to store the result. + * @returns The intersection point or undefined if there is no intersections. + */ + function lineSegmentTriangle(v0: Cartesian3, v1: Cartesian3, p0: Cartesian3, p1: Cartesian3, p2: Cartesian3, cullBackFaces?: boolean, result?: Cartesian3): Cartesian3; + /** + * Computes the intersection points of a ray with a sphere. + * @param ray - The ray. + * @param sphere - The sphere. + * @param [result] - The result onto which to store the result. + * @returns The interval containing scalar points along the ray or undefined if there are no intersections. + */ + function raySphere(ray: Ray, sphere: BoundingSphere, result?: Interval): Interval; + /** + * Computes the intersection points of a line segment with a sphere. + * @param p0 - An end point of the line segment. + * @param p1 - The other end point of the line segment. + * @param sphere - The sphere. + * @param [result] - The result onto which to store the result. + * @returns The interval containing scalar points along the ray or undefined if there are no intersections. + */ + function lineSegmentSphere(p0: Cartesian3, p1: Cartesian3, sphere: BoundingSphere, result?: Interval): Interval; + /** + * Computes the intersection points of a ray with an ellipsoid. + * @param ray - The ray. + * @param ellipsoid - The ellipsoid. + * @returns The interval containing scalar points along the ray or undefined if there are no intersections. + */ + function rayEllipsoid(ray: Ray, ellipsoid: Ellipsoid): Interval; + /** + * Provides the point along the ray which is nearest to the ellipsoid. + * @param ray - The ray. + * @param ellipsoid - The ellipsoid. + * @returns The nearest planetodetic point on the ray. + */ + function grazingAltitudeLocation(ray: Ray, ellipsoid: Ellipsoid): Cartesian3; + /** + * Computes the intersection of a line segment and a plane. + * @example + * var origin = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883); + * var normal = ellipsoid.geodeticSurfaceNormal(origin); + * var plane = Cesium.Plane.fromPointNormal(origin, normal); + * + * var p0 = new Cesium.Cartesian3(...); + * var p1 = new Cesium.Cartesian3(...); + * + * // find the intersection of the line segment from p0 to p1 and the tangent plane at origin. + * var intersection = Cesium.IntersectionTests.lineSegmentPlane(p0, p1, plane); + * @param endPoint0 - An end point of the line segment. + * @param endPoint1 - The other end point of the line segment. + * @param plane - The plane. + * @param [result] - The object onto which to store the result. + * @returns The intersection point or undefined if there is no intersection. + */ + function lineSegmentPlane(endPoint0: Cartesian3, endPoint1: Cartesian3, plane: Plane, result?: Cartesian3): Cartesian3; + /** + * Computes the intersection of a triangle and a plane + * @example + * var origin = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883); + * var normal = ellipsoid.geodeticSurfaceNormal(origin); + * var plane = Cesium.Plane.fromPointNormal(origin, normal); + * + * var p0 = new Cesium.Cartesian3(...); + * var p1 = new Cesium.Cartesian3(...); + * var p2 = new Cesium.Cartesian3(...); + * + * // convert the triangle composed of points (p0, p1, p2) to three triangles that don't cross the plane + * var triangles = Cesium.IntersectionTests.trianglePlaneIntersection(p0, p1, p2, plane); + * @param p0 - First point of the triangle + * @param p1 - Second point of the triangle + * @param p2 - Third point of the triangle + * @param plane - Intersection plane + * @returns An object with properties positions and indices, which are arrays that represent three triangles that do not cross the plane. (Undefined if no intersection exists) + */ + function trianglePlaneIntersection(p0: Cartesian3, p1: Cartesian3, p2: Cartesian3, plane: Plane): any; +} + +/** + * Represents the closed interval [start, stop]. + * @param [start = 0.0] - The beginning of the interval. + * @param [stop = 0.0] - The end of the interval. + */ +export class Interval { + constructor(start?: number, stop?: number); + /** + * The beginning of the interval. + */ + start: number; + /** + * The end of the interval. + */ + stop: number; +} + +/** + * Default settings for accessing the Cesium ion API. + * + * An ion access token is only required if you are using any ion related APIs. + * A default access token is provided for evaluation purposes only. + * Sign up for a free ion account and get your own access token at {@link https://cesium.com} + */ +export namespace Ion { + /** + * Gets or sets the default Cesium ion access token. + */ + var defaultAccessToken: string; + /** + * Gets or sets the default Cesium ion server. + */ + var defaultServer: string | Resource; +} + +/** + * Provides geocoding through Cesium ion. + * @param options - Object with the following properties: + * @param options.scene - The scene + * @param [options.accessToken = Ion.defaultAccessToken] - The access token to use. + * @param [options.server = Ion.defaultServer] - The resource to the Cesium ion API server. + */ +export class IonGeocoderService { + constructor(options: { + scene: Scene; + accessToken?: string; + server?: string | Resource; + }); + /** + * @param query - The query to be sent to the geocoder service + * @param [type = GeocodeType.SEARCH] - The type of geocode to perform. + */ + geocode(query: string, type?: GeocodeType): Promise; +} + +/** + * A {@link Resource} instance that encapsulates Cesium ion asset access. + * This object is normally not instantiated directly, use {@link IonResource.fromAssetId}. + * @param endpoint - The result of the Cesium ion asset endpoint service. + * @param endpointResource - The resource used to retreive the endpoint. + */ +export class IonResource extends Resource { + constructor(endpoint: any, endpointResource: Resource); + /** + * Asynchronously creates an instance. + * @example + * //Load a Cesium3DTileset with asset ID of 124624234 + * viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ url: Cesium.IonResource.fromAssetId(124624234) })); + * @example + * //Load a CZML file with asset ID of 10890 + * Cesium.IonResource.fromAssetId(10890) + * .then(function (resource) { + * viewer.dataSources.add(Cesium.CzmlDataSource.load(resource)); + * }); + * @param assetId - The Cesium ion asset id. + * @param [options] - An object with the following properties: + * @param [options.accessToken = Ion.defaultAccessToken] - The access token to use. + * @param [options.server = Ion.defaultServer] - The resource to the Cesium ion API server. + * @returns A Promise to am instance representing the Cesium ion Asset. + */ + static fromAssetId(assetId: number, options?: { + accessToken?: string; + server?: string | Resource; + }): Promise; + /** + * Gets the credits required for attribution of the asset. + */ + readonly credits: Credit[]; + /** + * Duplicates a Resource instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Resource instance if one was not provided. + */ + clone(result?: Resource): Resource; + /** + * Asynchronously loads the given image resource. Returns a promise that will resolve to + * an {@link https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap|ImageBitmap} if preferImageBitmap is true and the browser supports createImageBitmap or otherwise an + * {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement|Image} once loaded, or reject if the image failed to load. + * @example + * // load a single image asynchronously + * resource.fetchImage().then(function(image) { + * // use the loaded image + * }).otherwise(function(error) { + * // an error occurred + * }); + * + * // load several images in parallel + * when.all([resource1.fetchImage(), resource2.fetchImage()]).then(function(images) { + * // images is an array containing all the loaded images + * }); + * @param [options] - An object with the following properties. + * @param [options.preferBlob = false] - If true, we will load the image via a blob. + * @param [options.preferImageBitmap = false] - If true, image will be decoded during fetch and an ImageBitmap is returned. + * @param [options.flipY = false] - If true, image will be vertically flipped during decode. Only applies if the browser supports createImageBitmap. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + fetchImage(options?: { + preferBlob?: boolean; + preferImageBitmap?: boolean; + flipY?: boolean; + }): Promise | Promise | undefined; +} + +/** + * Determines if a given date is a leap year. + * @example + * var leapYear = Cesium.isLeapYear(2000); // true + * @param year - The year to be tested. + * @returns True if year is a leap year. + */ +export function isLeapYear(year: number): boolean; + +/** + * Constants related to ISO8601 support. + */ +export namespace Iso8601 { + /** + * A {@link JulianDate} representing the earliest time representable by an ISO8601 date. + * This is equivalent to the date string '0000-01-01T00:00:00Z' + */ + const MINIMUM_VALUE: JulianDate; + /** + * A {@link JulianDate} representing the latest time representable by an ISO8601 date. + * This is equivalent to the date string '9999-12-31T24:00:00Z' + */ + const MAXIMUM_VALUE: JulianDate; + /** + * A {@link TimeInterval} representing the largest interval representable by an ISO8601 interval. + * This is equivalent to the interval string '0000-01-01T00:00:00Z/9999-12-31T24:00:00Z' + */ + const MAXIMUM_INTERVAL: JulianDate; +} + +/** + * Represents an astronomical Julian date, which is the number of days since noon on January 1, -4712 (4713 BC). + * For increased precision, this class stores the whole number part of the date and the seconds + * part of the date in separate components. In order to be safe for arithmetic and represent + * leap seconds, the date is always stored in the International Atomic Time standard + * {@link TimeStandard.TAI}. + * @param [julianDayNumber = 0.0] - The Julian Day Number representing the number of whole days. Fractional days will also be handled correctly. + * @param [secondsOfDay = 0.0] - The number of seconds into the current Julian Day Number. Fractional seconds, negative seconds and seconds greater than a day will be handled correctly. + * @param [timeStandard = TimeStandard.UTC] - The time standard in which the first two parameters are defined. + */ +export class JulianDate { + constructor(julianDayNumber?: number, secondsOfDay?: number, timeStandard?: TimeStandard); + /** + * Gets or sets the number of whole days. + */ + dayNumber: number; + /** + * Gets or sets the number of seconds into the current day. + */ + secondsOfDay: number; + /** + * Creates a new instance from a GregorianDate. + * @param date - A GregorianDate. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static fromGregorianDate(date: GregorianDate, result?: JulianDate): JulianDate; + /** + * Creates a new instance from a JavaScript Date. + * @param date - A JavaScript Date. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static fromDate(date: Date, result?: JulianDate): JulianDate; + /** + * Creates a new instance from a from an {@link http://en.wikipedia.org/wiki/ISO_8601|ISO 8601} date. + * This method is superior to Date.parse because it will handle all valid formats defined by the ISO 8601 + * specification, including leap seconds and sub-millisecond times, which discarded by most JavaScript implementations. + * @param iso8601String - An ISO 8601 date. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static fromIso8601(iso8601String: string, result?: JulianDate): JulianDate; + /** + * Creates a new instance that represents the current system time. + * This is equivalent to calling JulianDate.fromDate(new Date());. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static now(result?: JulianDate): JulianDate; + /** + * Creates a {@link GregorianDate} from the provided instance. + * @param julianDate - The date to be converted. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static toGregorianDate(julianDate: JulianDate, result?: GregorianDate): GregorianDate; + /** + * Creates a JavaScript Date from the provided instance. + * Since JavaScript dates are only accurate to the nearest millisecond and + * cannot represent a leap second, consider using {@link JulianDate.toGregorianDate} instead. + * If the provided JulianDate is during a leap second, the previous second is used. + * @param julianDate - The date to be converted. + * @returns A new instance representing the provided date. + */ + static toDate(julianDate: JulianDate): Date; + /** + * Creates an ISO8601 representation of the provided date. + * @param julianDate - The date to be converted. + * @param [precision] - The number of fractional digits used to represent the seconds component. By default, the most precise representation is used. + * @returns The ISO8601 representation of the provided date. + */ + static toIso8601(julianDate: JulianDate, precision?: number): string; + /** + * Duplicates a JulianDate instance. + * @param julianDate - The date to duplicate. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. Returns undefined if julianDate is undefined. + */ + static clone(julianDate: JulianDate, result?: JulianDate): JulianDate; + /** + * Compares two instances. + * @param left - The first instance. + * @param right - The second instance. + * @returns A negative value if left is less than right, a positive value if left is greater than right, or zero if left and right are equal. + */ + static compare(left: JulianDate, right: JulianDate): number; + /** + * Compares two instances and returns true if they are equal, false otherwise. + * @param [left] - The first instance. + * @param [right] - The second instance. + * @returns true if the dates are equal; otherwise, false. + */ + static equals(left?: JulianDate, right?: JulianDate): boolean; + /** + * Compares two instances and returns true if they are within epsilon seconds of + * each other. That is, in order for the dates to be considered equal (and for + * this function to return true), the absolute value of the difference between them, in + * seconds, must be less than epsilon. + * @param [left] - The first instance. + * @param [right] - The second instance. + * @param [epsilon = 0] - The maximum number of seconds that should separate the two instances. + * @returns true if the two dates are within epsilon seconds of each other; otherwise false. + */ + static equalsEpsilon(left?: JulianDate, right?: JulianDate, epsilon?: number): boolean; + /** + * Computes the total number of whole and fractional days represented by the provided instance. + * @param julianDate - The date. + * @returns The Julian date as single floating point number. + */ + static totalDays(julianDate: JulianDate): number; + /** + * Computes the difference in seconds between the provided instance. + * @param left - The first instance. + * @param right - The second instance. + * @returns The difference, in seconds, when subtracting right from left. + */ + static secondsDifference(left: JulianDate, right: JulianDate): number; + /** + * Computes the difference in days between the provided instance. + * @param left - The first instance. + * @param right - The second instance. + * @returns The difference, in days, when subtracting right from left. + */ + static daysDifference(left: JulianDate, right: JulianDate): number; + /** + * Computes the number of seconds the provided instance is ahead of UTC. + * @param julianDate - The date. + * @returns The number of seconds the provided instance is ahead of UTC + */ + static computeTaiMinusUtc(julianDate: JulianDate): number; + /** + * Adds the provided number of seconds to the provided date instance. + * @param julianDate - The date. + * @param seconds - The number of seconds to add or subtract. + * @param result - An existing instance to use for the result. + * @returns The modified result parameter. + */ + static addSeconds(julianDate: JulianDate, seconds: number, result: JulianDate): JulianDate; + /** + * Adds the provided number of minutes to the provided date instance. + * @param julianDate - The date. + * @param minutes - The number of minutes to add or subtract. + * @param result - An existing instance to use for the result. + * @returns The modified result parameter. + */ + static addMinutes(julianDate: JulianDate, minutes: number, result: JulianDate): JulianDate; + /** + * Adds the provided number of hours to the provided date instance. + * @param julianDate - The date. + * @param hours - The number of hours to add or subtract. + * @param result - An existing instance to use for the result. + * @returns The modified result parameter. + */ + static addHours(julianDate: JulianDate, hours: number, result: JulianDate): JulianDate; + /** + * Adds the provided number of days to the provided date instance. + * @param julianDate - The date. + * @param days - The number of days to add or subtract. + * @param result - An existing instance to use for the result. + * @returns The modified result parameter. + */ + static addDays(julianDate: JulianDate, days: number, result: JulianDate): JulianDate; + /** + * Compares the provided instances and returns true if left is earlier than right, false otherwise. + * @param left - The first instance. + * @param right - The second instance. + * @returns true if left is earlier than right, false otherwise. + */ + static lessThan(left: JulianDate, right: JulianDate): boolean; + /** + * Compares the provided instances and returns true if left is earlier than or equal to right, false otherwise. + * @param left - The first instance. + * @param right - The second instance. + * @returns true if left is earlier than or equal to right, false otherwise. + */ + static lessThanOrEquals(left: JulianDate, right: JulianDate): boolean; + /** + * Compares the provided instances and returns true if left is later than right, false otherwise. + * @param left - The first instance. + * @param right - The second instance. + * @returns true if left is later than right, false otherwise. + */ + static greaterThan(left: JulianDate, right: JulianDate): boolean; + /** + * Compares the provided instances and returns true if left is later than or equal to right, false otherwise. + * @param left - The first instance. + * @param right - The second instance. + * @returns true if left is later than or equal to right, false otherwise. + */ + static greaterThanOrEquals(left: JulianDate, right: JulianDate): boolean; + /** + * Duplicates this instance. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + clone(result?: JulianDate): JulianDate; + /** + * Compares this and the provided instance and returns true if they are equal, false otherwise. + * @param [right] - The second instance. + * @returns true if the dates are equal; otherwise, false. + */ + equals(right?: JulianDate): boolean; + /** + * Compares this and the provided instance and returns true if they are within epsilon seconds of + * each other. That is, in order for the dates to be considered equal (and for + * this function to return true), the absolute value of the difference between them, in + * seconds, must be less than epsilon. + * @param [right] - The second instance. + * @param [epsilon = 0] - The maximum number of seconds that should separate the two instances. + * @returns true if the two dates are within epsilon seconds of each other; otherwise false. + */ + equalsEpsilon(right?: JulianDate, epsilon?: number): boolean; + /** + * Creates a string representing this date in ISO8601 format. + * @returns A string representing this date in ISO8601 format. + */ + toString(): string; + /** + * Gets or sets the list of leap seconds used throughout Cesium. + */ + static leapSeconds: LeapSecond[]; +} + +/** + * This enumerated type is for representing keyboard modifiers. These are keys + * that are held down in addition to other event types. + */ +export enum KeyboardEventModifier { + /** + * Represents the shift key being held down. + */ + SHIFT = 0, + /** + * Represents the control key being held down. + */ + CTRL = 1, + /** + * Represents the alt key being held down. + */ + ALT = 2 +} + +/** + * An {@link InterpolationAlgorithm} for performing Lagrange interpolation. + */ +export namespace LagrangePolynomialApproximation { + /** + * Given the desired degree, returns the number of data points required for interpolation. + * @param degree - The desired degree of interpolation. + * @returns The number of required data points needed for the desired degree of interpolation. + */ + function getRequiredDataPoints(degree: number): number; + /** + * Interpolates values using Lagrange Polynomial Approximation. + * @param x - The independent variable for which the dependent variables will be interpolated. + * @param xTable - The array of independent variables to use to interpolate. The values + * in this array must be in increasing order and the same value must not occur twice in the array. + * @param yTable - The array of dependent variables to use to interpolate. For a set of three + * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}. + * @param yStride - The number of dependent variable values in yTable corresponding to + * each independent variable value in xTable. + * @param [result] - An existing array into which to store the result. + * @returns The array of interpolated values, or the result parameter if one was provided. + */ + function interpolateOrderZero(x: number, xTable: number[], yTable: number[], yStride: number, result?: number[]): number[]; +} + +/** + * Describes a single leap second, which is constructed from a {@link JulianDate} and a + * numerical offset representing the number of seconds TAI is ahead of the UTC time standard. + * @param [date] - A Julian date representing the time of the leap second. + * @param [offset] - The cumulative number of seconds that TAI is ahead of UTC at the provided date. + */ +export class LeapSecond { + constructor(date?: JulianDate, offset?: number); + /** + * Gets or sets the date at which this leap second occurs. + */ + julianDate: JulianDate; + /** + * Gets or sets the cumulative number of seconds between the UTC and TAI time standards at the time + * of this leap second. + */ + offset: number; +} + +/** + * An {@link InterpolationAlgorithm} for performing linear interpolation. + */ +export namespace LinearApproximation { + /** + * Given the desired degree, returns the number of data points required for interpolation. + * Since linear interpolation can only generate a first degree polynomial, this function + * always returns 2. + * @param degree - The desired degree of interpolation. + * @returns This function always returns 2. + */ + function getRequiredDataPoints(degree: number): number; + /** + * Interpolates values using linear approximation. + * @param x - The independent variable for which the dependent variables will be interpolated. + * @param xTable - The array of independent variables to use to interpolate. The values + * in this array must be in increasing order and the same value must not occur twice in the array. + * @param yTable - The array of dependent variables to use to interpolate. For a set of three + * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}. + * @param yStride - The number of dependent variable values in yTable corresponding to + * each independent variable value in xTable. + * @param [result] - An existing array into which to store the result. + * @returns The array of interpolated values, or the result parameter if one was provided. + */ + function interpolateOrderZero(x: number, xTable: number[], yTable: number[], yStride: number, result?: number[]): number[]; +} + +/** + * A spline that uses piecewise linear interpolation to create a curve. + * @example + * var times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ]; + * var spline = new Cesium.LinearSpline({ + * times : times, + * points : [ + * new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0), + * new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0), + * new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0), + * new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0), + * new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0) + * ] + * }); + * + * var p0 = spline.evaluate(times[0]); + * @param options - Object with the following properties: + * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point. + * The values are in no way connected to the clock time. They are the parameterization for the curve. + * @param options.points - The array of {@link Cartesian3} control points. + */ +export class LinearSpline { + constructor(options: { + times: number[]; + points: Cartesian3[]; + }); + /** + * An array of times for the control points. + */ + readonly times: number[]; + /** + * An array of {@link Cartesian3} control points. + */ + readonly points: Cartesian3[]; + /** + * Finds an index i in times such that the parameter + * time is in the interval [times[i], times[i + 1]]. + * @param time - The time. + * @returns The index for the element at the start of the interval. + */ + findTimeInterval(time: number): number; + /** + * Wraps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, wrapped around to the updated animation. + */ + wrapTime(time: number): number; + /** + * Clamps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, clamped to the animation period. + */ + clampTime(time: number): number; + /** + * Evaluates the curve at a given time. + * @param time - The time at which to evaluate the curve. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance of the point on the curve at the given time. + */ + evaluate(time: number, result?: Cartesian3): Cartesian3; +} + +/** + * Asynchronously loads and parses the given URL to a CRN file or parses the raw binary data of a CRN file. + * Returns a promise that will resolve to an object containing the image buffer, width, height and format once loaded, + * or reject if the URL failed to load or failed to parse the data. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * // load a single URL asynchronously + * Cesium.loadCRN('some/url').then(function(textureData) { + * var width = textureData.width; + * var height = textureData.height; + * var format = textureData.internalFormat; + * var arrayBufferView = textureData.bufferView; + * // use the data to create a texture + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param resourceOrUrlOrBuffer - The URL of the binary data or an ArrayBuffer. + * @returns A promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ +export function loadCRN(resourceOrUrlOrBuffer: Resource | string | ArrayBuffer): Promise | undefined; + +/** + * Asynchronously loads and parses the given URL to a KTX file or parses the raw binary data of a KTX file. + * Returns a promise that will resolve to an object containing the image buffer, width, height and format once loaded, + * or reject if the URL failed to load or failed to parse the data. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + *

+ * The following are part of the KTX format specification but are not supported: + *

    + *
  • Big-endian files
  • + *
  • Metadata
  • + *
  • 3D textures
  • + *
  • Texture Arrays
  • + *
  • Cubemaps
  • + *
  • Mipmaps
  • + *
+ *

+ * @example + * // load a single URL asynchronously + * Cesium.loadKTX('some/url').then(function(ktxData) { + * var width = ktxData.width; + * var height = ktxData.height; + * var format = ktxData.internalFormat; + * var arrayBufferView = ktxData.bufferView; + * // use the data to create a texture + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param resourceOrUrlOrBuffer - The URL of the binary data or an ArrayBuffer. + * @returns A promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ +export function loadKTX(resourceOrUrlOrBuffer: Resource | string | ArrayBuffer): Promise | undefined; + +/** + * Defines how geodetic ellipsoid coordinates ({@link Cartographic}) project to a + * flat map like Cesium's 2D and Columbus View modes. + */ +export class MapProjection { + constructor(); + /** + * Gets the {@link Ellipsoid}. + */ + readonly ellipsoid: Ellipsoid; + /** + * Projects {@link Cartographic} coordinates, in radians, to projection-specific map coordinates, in meters. + * @param cartographic - The coordinates to project. + * @param [result] - An instance into which to copy the result. If this parameter is + * undefined, a new instance is created and returned. + * @returns The projected coordinates. If the result parameter is not undefined, the + * coordinates are copied there and that instance is returned. Otherwise, a new instance is + * created and returned. + */ + project(cartographic: Cartographic, result?: Cartesian3): Cartesian3; + /** + * Unprojects projection-specific map {@link Cartesian3} coordinates, in meters, to {@link Cartographic} + * coordinates, in radians. + * @param cartesian - The Cartesian position to unproject with height (z) in meters. + * @param [result] - An instance into which to copy the result. If this parameter is + * undefined, a new instance is created and returned. + * @returns The unprojected coordinates. If the result parameter is not undefined, the + * coordinates are copied there and that instance is returned. Otherwise, a new instance is + * created and returned. + */ + unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic; +} + +/** + * Math functions. + */ +export namespace Math { + /** + * 0.1 + */ + const EPSILON1 = 0.1; + /** + * 0.01 + */ + const EPSILON2 = 0.01; + /** + * 0.001 + */ + const EPSILON3 = 0.001; + /** + * 0.0001 + */ + const EPSILON4 = 0.0001; + /** + * 0.00001 + */ + const EPSILON5 = 0.00001; + /** + * 0.000001 + */ + const EPSILON6 = 0.000001; + /** + * 0.0000001 + */ + const EPSILON7 = 1e-7; + /** + * 0.00000001 + */ + const EPSILON8 = 1e-8; + /** + * 0.000000001 + */ + const EPSILON9 = 1e-9; + /** + * 0.0000000001 + */ + const EPSILON10 = 1e-10; + /** + * 0.00000000001 + */ + const EPSILON11 = 1e-11; + /** + * 0.000000000001 + */ + const EPSILON12 = 1e-12; + /** + * 0.0000000000001 + */ + const EPSILON13 = 1e-13; + /** + * 0.00000000000001 + */ + const EPSILON14 = 1e-14; + /** + * 0.000000000000001 + */ + const EPSILON15 = 1e-15; + /** + * 0.0000000000000001 + */ + const EPSILON16 = 1e-16; + /** + * 0.00000000000000001 + */ + const EPSILON17 = 1e-17; + /** + * 0.000000000000000001 + */ + const EPSILON18 = 1e-18; + /** + * 0.0000000000000000001 + */ + const EPSILON19 = 1e-19; + /** + * 0.00000000000000000001 + */ + const EPSILON20 = 1e-20; + /** + * 0.000000000000000000001 + */ + const EPSILON21 = 1e-21; + /** + * The gravitational parameter of the Earth in meters cubed + * per second squared as defined by the WGS84 model: 3.986004418e14 + */ + const GRAVITATIONALPARAMETER = 398600441800000; + /** + * Radius of the sun in meters: 6.955e8 + */ + const SOLAR_RADIUS = 695500000; + /** + * The mean radius of the moon, according to the "Report of the IAU/IAG Working Group on + * Cartographic Coordinates and Rotational Elements of the Planets and satellites: 2000", + * Celestial Mechanics 82: 83-110, 2002. + */ + const LUNAR_RADIUS = 1737400; + /** + * 64 * 1024 + */ + const SIXTY_FOUR_KILOBYTES: number; + /** + * 4 * 1024 * 1024 * 1024 + */ + const FOUR_GIGABYTES: number; + /** + * Returns the sign of the value; 1 if the value is positive, -1 if the value is + * negative, or 0 if the value is 0. + * @param value - The value to return the sign of. + * @returns The sign of value. + */ + function sign(value: number): number; + /** + * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. + * This is similar to {@link Math#sign} except that returns 1.0 instead of + * 0.0 when the input value is 0.0. + * @param value - The value to return the sign of. + * @returns The sign of value. + */ + function signNotZero(value: number): number; + /** + * Converts a scalar value in the range [-1.0, 1.0] to a SNORM in the range [0, rangeMaximum] + * @param value - The scalar value in the range [-1.0, 1.0] + * @param [rangeMaximum = 255] - The maximum value in the mapped range, 255 by default. + * @returns A SNORM value, where 0 maps to -1.0 and rangeMaximum maps to 1.0. + */ + function toSNorm(value: number, rangeMaximum?: number): number; + /** + * Converts a SNORM value in the range [0, rangeMaximum] to a scalar in the range [-1.0, 1.0]. + * @param value - SNORM value in the range [0, rangeMaximum] + * @param [rangeMaximum = 255] - The maximum value in the SNORM range, 255 by default. + * @returns Scalar in the range [-1.0, 1.0]. + */ + function fromSNorm(value: number, rangeMaximum?: number): number; + /** + * Converts a scalar value in the range [rangeMinimum, rangeMaximum] to a scalar in the range [0.0, 1.0] + * @param value - The scalar value in the range [rangeMinimum, rangeMaximum] + * @param rangeMinimum - The minimum value in the mapped range. + * @param rangeMaximum - The maximum value in the mapped range. + * @returns A scalar value, where rangeMinimum maps to 0.0 and rangeMaximum maps to 1.0. + */ + function normalize(value: number, rangeMinimum: number, rangeMaximum: number): number; + /** + * Returns the hyperbolic sine of a number. + * The hyperbolic sine of value is defined to be + * (ex - e-x)/2.0 + * where e is Euler's number, approximately 2.71828183. + * + *

Special cases: + *

    + *
  • If the argument is NaN, then the result is NaN.
  • + * + *
  • If the argument is infinite, then the result is an infinity + * with the same sign as the argument.
  • + * + *
  • If the argument is zero, then the result is a zero with the + * same sign as the argument.
  • + *
+ *

+ * @param value - The number whose hyperbolic sine is to be returned. + * @returns The hyperbolic sine of value. + */ + function sinh(value: number): number; + /** + * Returns the hyperbolic cosine of a number. + * The hyperbolic cosine of value is defined to be + * (ex + e-x)/2.0 + * where e is Euler's number, approximately 2.71828183. + * + *

Special cases: + *

    + *
  • If the argument is NaN, then the result is NaN.
  • + * + *
  • If the argument is infinite, then the result is positive infinity.
  • + * + *
  • If the argument is zero, then the result is 1.0.
  • + *
+ *

+ * @param value - The number whose hyperbolic cosine is to be returned. + * @returns The hyperbolic cosine of value. + */ + function cosh(value: number): number; + /** + * Computes the linear interpolation of two values. + * @example + * var n = Cesium.Math.lerp(0.0, 2.0, 0.5); // returns 1.0 + * @param p - The start value to interpolate. + * @param q - The end value to interpolate. + * @param time - The time of interpolation generally in the range [0.0, 1.0]. + * @returns The linearly interpolated value. + */ + function lerp(p: number, q: number, time: number): number; + /** + * pi + */ + const PI: number; + /** + * 1/pi + */ + const ONE_OVER_PI: number; + /** + * pi/2 + */ + const PI_OVER_TWO: number; + /** + * pi/3 + */ + const PI_OVER_THREE: number; + /** + * pi/4 + */ + const PI_OVER_FOUR: number; + /** + * pi/6 + */ + const PI_OVER_SIX: number; + /** + * 3pi/2 + */ + const THREE_PI_OVER_TWO: number; + /** + * 2pi + */ + const TWO_PI: number; + /** + * 1/2pi + */ + const ONE_OVER_TWO_PI: number; + /** + * The number of radians in a degree. + */ + const RADIANS_PER_DEGREE: number; + /** + * The number of degrees in a radian. + */ + const DEGREES_PER_RADIAN: number; + /** + * The number of radians in an arc second. + */ + const RADIANS_PER_ARCSECOND: number; + /** + * Converts degrees to radians. + * @param degrees - The angle to convert in degrees. + * @returns The corresponding angle in radians. + */ + function toRadians(degrees: number): number; + /** + * Converts radians to degrees. + * @param radians - The angle to convert in radians. + * @returns The corresponding angle in degrees. + */ + function toDegrees(radians: number): number; + /** + * Converts a longitude value, in radians, to the range [-Math.PI, Math.PI). + * @example + * // Convert 270 degrees to -90 degrees longitude + * var longitude = Cesium.Math.convertLongitudeRange(Cesium.Math.toRadians(270.0)); + * @param angle - The longitude value, in radians, to convert to the range [-Math.PI, Math.PI). + * @returns The equivalent longitude value in the range [-Math.PI, Math.PI). + */ + function convertLongitudeRange(angle: number): number; + /** + * Convenience function that clamps a latitude value, in radians, to the range [-Math.PI/2, Math.PI/2). + * Useful for sanitizing data before use in objects requiring correct range. + * @example + * // Clamp 108 degrees latitude to 90 degrees latitude + * var latitude = Cesium.Math.clampToLatitudeRange(Cesium.Math.toRadians(108.0)); + * @param angle - The latitude value, in radians, to clamp to the range [-Math.PI/2, Math.PI/2). + * @returns The latitude value clamped to the range [-Math.PI/2, Math.PI/2). + */ + function clampToLatitudeRange(angle: number): number; + /** + * Produces an angle in the range -Pi <= angle <= Pi which is equivalent to the provided angle. + * @param angle - in radians + * @returns The angle in the range [-Math.PI, Math.PI]. + */ + function negativePiToPi(angle: number): number; + /** + * Produces an angle in the range 0 <= angle <= 2Pi which is equivalent to the provided angle. + * @param angle - in radians + * @returns The angle in the range [0, Math.TWO_PI]. + */ + function zeroToTwoPi(angle: number): number; + /** + * The modulo operation that also works for negative dividends. + * @param m - The dividend. + * @param n - The divisor. + * @returns The remainder. + */ + function mod(m: number, n: number): number; + /** + * Determines if two values are equal using an absolute or relative tolerance test. This is useful + * to avoid problems due to roundoff error when comparing floating-point values directly. The values are + * first compared using an absolute tolerance test. If that fails, a relative tolerance test is performed. + * Use this test if you are unsure of the magnitudes of left and right. + * @example + * var a = Cesium.Math.equalsEpsilon(0.0, 0.01, Cesium.Math.EPSILON2); // true + * var b = Cesium.Math.equalsEpsilon(0.0, 0.1, Cesium.Math.EPSILON2); // false + * var c = Cesium.Math.equalsEpsilon(3699175.1634344, 3699175.2, Cesium.Math.EPSILON7); // true + * var d = Cesium.Math.equalsEpsilon(3699175.1634344, 3699175.2, Cesium.Math.EPSILON9); // false + * @param left - The first value to compare. + * @param right - The other value to compare. + * @param [relativeEpsilon = 0] - The maximum inclusive delta between left and right for the relative tolerance test. + * @param [absoluteEpsilon = relativeEpsilon] - The maximum inclusive delta between left and right for the absolute tolerance test. + * @returns true if the values are equal within the epsilon; otherwise, false. + */ + function equalsEpsilon(left: number, right: number, relativeEpsilon?: number, absoluteEpsilon?: number): boolean; + /** + * Determines if the left value is less than the right value. If the two values are within + * absoluteEpsilon of each other, they are considered equal and this function returns false. + * @param left - The first number to compare. + * @param right - The second number to compare. + * @param absoluteEpsilon - The absolute epsilon to use in comparison. + * @returns true if left is less than right by more than + * absoluteEpsilon. false if left is greater or if the two + * values are nearly equal. + */ + function lessThan(left: number, right: number, absoluteEpsilon: number): boolean; + /** + * Determines if the left value is less than or equal to the right value. If the two values are within + * absoluteEpsilon of each other, they are considered equal and this function returns true. + * @param left - The first number to compare. + * @param right - The second number to compare. + * @param absoluteEpsilon - The absolute epsilon to use in comparison. + * @returns true if left is less than right or if the + * the values are nearly equal. + */ + function lessThanOrEquals(left: number, right: number, absoluteEpsilon: number): boolean; + /** + * Determines if the left value is greater the right value. If the two values are within + * absoluteEpsilon of each other, they are considered equal and this function returns false. + * @param left - The first number to compare. + * @param right - The second number to compare. + * @param absoluteEpsilon - The absolute epsilon to use in comparison. + * @returns true if left is greater than right by more than + * absoluteEpsilon. false if left is less or if the two + * values are nearly equal. + */ + function greaterThan(left: number, right: number, absoluteEpsilon: number): boolean; + /** + * Determines if the left value is greater than or equal to the right value. If the two values are within + * absoluteEpsilon of each other, they are considered equal and this function returns true. + * @param left - The first number to compare. + * @param right - The second number to compare. + * @param absoluteEpsilon - The absolute epsilon to use in comparison. + * @returns true if left is greater than right or if the + * the values are nearly equal. + */ + function greaterThanOrEquals(left: number, right: number, absoluteEpsilon: number): boolean; + /** + * Computes the factorial of the provided number. + * @example + * //Compute 7!, which is equal to 5040 + * var computedFactorial = Cesium.Math.factorial(7); + * @param n - The number whose factorial is to be computed. + * @returns The factorial of the provided number or undefined if the number is less than 0. + */ + function factorial(n: number): number; + /** + * Increments a number with a wrapping to a minimum value if the number exceeds the maximum value. + * @example + * var n = Cesium.Math.incrementWrap(5, 10, 0); // returns 6 + * var n = Cesium.Math.incrementWrap(10, 10, 0); // returns 0 + * @param [n] - The number to be incremented. + * @param [maximumValue] - The maximum incremented value before rolling over to the minimum value. + * @param [minimumValue = 0.0] - The number reset to after the maximum value has been exceeded. + * @returns The incremented number. + */ + function incrementWrap(n?: number, maximumValue?: number, minimumValue?: number): number; + /** + * Determines if a positive integer is a power of two. + * @example + * var t = Cesium.Math.isPowerOfTwo(16); // true + * var f = Cesium.Math.isPowerOfTwo(20); // false + * @param n - The positive integer to test. + * @returns true if the number if a power of two; otherwise, false. + */ + function isPowerOfTwo(n: number): boolean; + /** + * Computes the next power-of-two integer greater than or equal to the provided positive integer. + * @example + * var n = Cesium.Math.nextPowerOfTwo(29); // 32 + * var m = Cesium.Math.nextPowerOfTwo(32); // 32 + * @param n - The positive integer to test. + * @returns The next power-of-two integer. + */ + function nextPowerOfTwo(n: number): number; + /** + * Constraint a value to lie between two values. + * @param value - The value to constrain. + * @param min - The minimum value. + * @param max - The maximum value. + * @returns The value clamped so that min <= value <= max. + */ + function clamp(value: number, min: number, max: number): number; + /** + * Sets the seed used by the random number generator + * in {@link Math#nextRandomNumber}. + * @param seed - An integer used as the seed. + */ + function setRandomNumberSeed(seed: number): void; + /** + * Generates a random floating point number in the range of [0.0, 1.0) + * using a Mersenne twister. + * @returns A random number in the range of [0.0, 1.0). + */ + function nextRandomNumber(): number; + /** + * Generates a random number between two numbers. + * @param min - The minimum value. + * @param max - The maximum value. + * @returns A random number between the min and max. + */ + function randomBetween(min: number, max: number): number; + /** + * Computes Math.acos(value), but first clamps value to the range [-1.0, 1.0] + * so that the function will never return NaN. + * @param value - The value for which to compute acos. + * @returns The acos of the value if the value is in the range [-1.0, 1.0], or the acos of -1.0 or 1.0, + * whichever is closer, if the value is outside the range. + */ + function acosClamped(value: number): number; + /** + * Computes Math.asin(value), but first clamps value to the range [-1.0, 1.0] + * so that the function will never return NaN. + * @param value - The value for which to compute asin. + * @returns The asin of the value if the value is in the range [-1.0, 1.0], or the asin of -1.0 or 1.0, + * whichever is closer, if the value is outside the range. + */ + function asinClamped(value: number): number; + /** + * Finds the chord length between two points given the circle's radius and the angle between the points. + * @param angle - The angle between the two points. + * @param radius - The radius of the circle. + * @returns The chord length. + */ + function chordLength(angle: number, radius: number): number; + /** + * Finds the logarithm of a number to a base. + * @param number - The number. + * @param base - The base. + * @returns The result. + */ + function logBase(number: number, base: number): number; + /** + * Finds the cube root of a number. + * Returns NaN if number is not provided. + * @param [number] - The number. + * @returns The result. + */ + function cbrt(number?: number): number; + /** + * Finds the base 2 logarithm of a number. + * @param number - The number. + * @returns The result. + */ + function log2(number: number): number; + /** + * Computes a fast approximation of Atan for input in the range [-1, 1]. + * + * Based on Michal Drobot's approximation from ShaderFastLibs, + * which in turn is based on "Efficient approximations for the arctangent function," + * Rajan, S. Sichun Wang Inkol, R. Joyal, A., May 2006. + * Adapted from ShaderFastLibs under MIT License. + * @param x - An input number in the range [-1, 1] + * @returns An approximation of atan(x) + */ + function fastApproximateAtan(x: number): number; + /** + * Computes a fast approximation of Atan2(x, y) for arbitrary input scalars. + * + * Range reduction math based on nvidia's cg reference implementation: http://developer.download.nvidia.com/cg/atan2.html + * @param x - An input number that isn't zero if y is zero. + * @param y - An input number that isn't zero if x is zero. + * @returns An approximation of atan2(x, y) + */ + function fastApproximateAtan2(x: number, y: number): number; +} + +export interface Matrix2 extends ArrayLike { +} + +/** + * A 2x2 matrix, indexable as a column-major order array. + * Constructor parameters are in row-major order for code readability. + * @param [column0Row0 = 0.0] - The value for column 0, row 0. + * @param [column1Row0 = 0.0] - The value for column 1, row 0. + * @param [column0Row1 = 0.0] - The value for column 0, row 1. + * @param [column1Row1 = 0.0] - The value for column 1, row 1. + */ +export class Matrix2 implements ArrayLike { + constructor(column0Row0?: number, column1Row0?: number, column0Row1?: number, column1Row1?: number); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Matrix2, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Matrix2 instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Matrix2): Matrix2; + /** + * Duplicates a Matrix2 instance. + * @param matrix - The matrix to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix2 instance if one was not provided. (Returns undefined if matrix is undefined) + */ + static clone(matrix: Matrix2, result?: Matrix2): Matrix2; + /** + * Creates a Matrix2 from 4 consecutive elements in an array. + * @example + * // Create the Matrix2: + * // [1.0, 2.0] + * // [1.0, 2.0] + * + * var v = [1.0, 1.0, 2.0, 2.0]; + * var m = Cesium.Matrix2.fromArray(v); + * + * // Create same Matrix2 with using an offset into an array + * var v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0]; + * var m2 = Cesium.Matrix2.fromArray(v2, 2); + * @param array - The array whose 4 consecutive elements correspond to the positions of the matrix. Assumes column-major order. + * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix2 instance if one was not provided. + */ + static fromArray(array: number[], startingIndex?: number, result?: Matrix2): Matrix2; + /** + * Creates a Matrix2 instance from a column-major order array. + * @param values - The column-major order array. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix2 instance if one was not provided. + */ + static fromColumnMajorArray(values: number[], result?: Matrix2): Matrix2; + /** + * Creates a Matrix2 instance from a row-major order array. + * The resulting matrix will be in column-major order. + * @param values - The row-major order array. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix2 instance if one was not provided. + */ + static fromRowMajorArray(values: number[], result?: Matrix2): Matrix2; + /** + * Computes a Matrix2 instance representing a non-uniform scale. + * @example + * // Creates + * // [7.0, 0.0] + * // [0.0, 8.0] + * var m = Cesium.Matrix2.fromScale(new Cesium.Cartesian2(7.0, 8.0)); + * @param scale - The x and y scale factors. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix2 instance if one was not provided. + */ + static fromScale(scale: Cartesian2, result?: Matrix2): Matrix2; + /** + * Computes a Matrix2 instance representing a uniform scale. + * @example + * // Creates + * // [2.0, 0.0] + * // [0.0, 2.0] + * var m = Cesium.Matrix2.fromUniformScale(2.0); + * @param scale - The uniform scale factor. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix2 instance if one was not provided. + */ + static fromUniformScale(scale: number, result?: Matrix2): Matrix2; + /** + * Creates a rotation matrix. + * @example + * // Rotate a point 45 degrees counterclockwise. + * var p = new Cesium.Cartesian2(5, 6); + * var m = Cesium.Matrix2.fromRotation(Cesium.Math.toRadians(45.0)); + * var rotated = Cesium.Matrix2.multiplyByVector(m, p, new Cesium.Cartesian2()); + * @param angle - The angle, in radians, of the rotation. Positive angles are counterclockwise. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix2 instance if one was not provided. + */ + static fromRotation(angle: number, result?: Matrix2): Matrix2; + /** + * Creates an Array from the provided Matrix2 instance. + * The array will be in column-major order. + * @param matrix - The matrix to use.. + * @param [result] - The Array onto which to store the result. + * @returns The modified Array parameter or a new Array instance if one was not provided. + */ + static toArray(matrix: Matrix2, result?: number[]): number[]; + /** + * Computes the array index of the element at the provided row and column. + * @example + * var myMatrix = new Cesium.Matrix2(); + * var column1Row0Index = Cesium.Matrix2.getElementIndex(1, 0); + * var column1Row0 = myMatrix[column1Row0Index] + * myMatrix[column1Row0Index] = 10.0; + * @param row - The zero-based index of the row. + * @param column - The zero-based index of the column. + * @returns The index of the element at the provided row and column. + */ + static getElementIndex(row: number, column: number): number; + /** + * Retrieves a copy of the matrix column at the provided index as a Cartesian2 instance. + * @param matrix - The matrix to use. + * @param index - The zero-based index of the column to retrieve. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getColumn(matrix: Matrix2, index: number, result: Cartesian2): Cartesian2; + /** + * Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian2 instance. + * @param matrix - The matrix to use. + * @param index - The zero-based index of the column to set. + * @param cartesian - The Cartesian whose values will be assigned to the specified column. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static setColumn(matrix: Matrix2, index: number, cartesian: Cartesian2, result: Cartesian2): Matrix2; + /** + * Retrieves a copy of the matrix row at the provided index as a Cartesian2 instance. + * @param matrix - The matrix to use. + * @param index - The zero-based index of the row to retrieve. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getRow(matrix: Matrix2, index: number, result: Cartesian2): Cartesian2; + /** + * Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian2 instance. + * @param matrix - The matrix to use. + * @param index - The zero-based index of the row to set. + * @param cartesian - The Cartesian whose values will be assigned to the specified row. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static setRow(matrix: Matrix2, index: number, cartesian: Cartesian2, result: Matrix2): Matrix2; + /** + * Extracts the non-uniform scale assuming the matrix is an affine transformation. + * @param matrix - The matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getScale(matrix: Matrix2, result: Cartesian2): Cartesian2; + /** + * Computes the maximum scale assuming the matrix is an affine transformation. + * The maximum scale is the maximum length of the column vectors. + * @param matrix - The matrix. + * @returns The maximum scale. + */ + static getMaximumScale(matrix: Matrix2): number; + /** + * Computes the product of two matrices. + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiply(left: Matrix2, right: Matrix2, result: Matrix2): Matrix2; + /** + * Computes the sum of two matrices. + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static add(left: Matrix2, right: Matrix2, result: Matrix2): Matrix2; + /** + * Computes the difference of two matrices. + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static subtract(left: Matrix2, right: Matrix2, result: Matrix2): Matrix2; + /** + * Computes the product of a matrix and a column vector. + * @param matrix - The matrix. + * @param cartesian - The column. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByVector(matrix: Matrix2, cartesian: Cartesian2, result: Cartesian2): Cartesian2; + /** + * Computes the product of a matrix and a scalar. + * @param matrix - The matrix. + * @param scalar - The number to multiply by. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScalar(matrix: Matrix2, scalar: number, result: Matrix2): Matrix2; + /** + * Computes the product of a matrix times a (non-uniform) scale, as if the scale were a scale matrix. + * @example + * // Instead of Cesium.Matrix2.multiply(m, Cesium.Matrix2.fromScale(scale), m); + * Cesium.Matrix2.multiplyByScale(m, scale, m); + * @param matrix - The matrix on the left-hand side. + * @param scale - The non-uniform scale on the right-hand side. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScale(matrix: Matrix2, scale: Cartesian2, result: Matrix2): Matrix2; + /** + * Creates a negated copy of the provided matrix. + * @param matrix - The matrix to negate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static negate(matrix: Matrix2, result: Matrix2): Matrix2; + /** + * Computes the transpose of the provided matrix. + * @param matrix - The matrix to transpose. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static transpose(matrix: Matrix2, result: Matrix2): Matrix2; + /** + * Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements. + * @param matrix - The matrix with signed elements. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static abs(matrix: Matrix2, result: Matrix2): Matrix2; + /** + * Compares the provided matrices componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first matrix. + * @param [right] - The second matrix. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: Matrix2, right?: Matrix2): boolean; + /** + * Compares the provided matrices componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [left] - The first matrix. + * @param [right] - The second matrix. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: Matrix2, right?: Matrix2, epsilon?: number): boolean; + /** + * An immutable Matrix2 instance initialized to the identity matrix. + */ + static readonly IDENTITY: Matrix2; + /** + * An immutable Matrix2 instance initialized to the zero matrix. + */ + static readonly ZERO: Matrix2; + /** + * The index into Matrix2 for column 0, row 0. + * @example + * var matrix = new Cesium.Matrix2(); + * matrix[Cesium.Matrix2.COLUMN0ROW0] = 5.0; // set column 0, row 0 to 5.0 + */ + static readonly COLUMN0ROW0: number; + /** + * The index into Matrix2 for column 0, row 1. + * @example + * var matrix = new Cesium.Matrix2(); + * matrix[Cesium.Matrix2.COLUMN0ROW1] = 5.0; // set column 0, row 1 to 5.0 + */ + static readonly COLUMN0ROW1: number; + /** + * The index into Matrix2 for column 1, row 0. + * @example + * var matrix = new Cesium.Matrix2(); + * matrix[Cesium.Matrix2.COLUMN1ROW0] = 5.0; // set column 1, row 0 to 5.0 + */ + static readonly COLUMN1ROW0: number; + /** + * The index into Matrix2 for column 1, row 1. + * @example + * var matrix = new Cesium.Matrix2(); + * matrix[Cesium.Matrix2.COLUMN1ROW1] = 5.0; // set column 1, row 1 to 5.0 + */ + static readonly COLUMN1ROW1: number; + /** + * Gets the number of items in the collection. + */ + length: number; + /** + * Duplicates the provided Matrix2 instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix2 instance if one was not provided. + */ + clone(result?: Matrix2): Matrix2; + /** + * Compares this matrix to the provided matrix componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side matrix. + * @returns true if they are equal, false otherwise. + */ + equals(right?: Matrix2): boolean; + /** + * Compares this matrix to the provided matrix componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [right] - The right hand side matrix. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if they are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: Matrix2, epsilon?: number): boolean; + /** + * Creates a string representing this Matrix with each row being + * on a separate line and in the format '(column0, column1)'. + * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1)'. + */ + toString(): string; +} + +export interface Matrix3 extends ArrayLike { +} + +/** + * A 3x3 matrix, indexable as a column-major order array. + * Constructor parameters are in row-major order for code readability. + * @param [column0Row0 = 0.0] - The value for column 0, row 0. + * @param [column1Row0 = 0.0] - The value for column 1, row 0. + * @param [column2Row0 = 0.0] - The value for column 2, row 0. + * @param [column0Row1 = 0.0] - The value for column 0, row 1. + * @param [column1Row1 = 0.0] - The value for column 1, row 1. + * @param [column2Row1 = 0.0] - The value for column 2, row 1. + * @param [column0Row2 = 0.0] - The value for column 0, row 2. + * @param [column1Row2 = 0.0] - The value for column 1, row 2. + * @param [column2Row2 = 0.0] - The value for column 2, row 2. + */ +export class Matrix3 implements ArrayLike { + constructor(column0Row0?: number, column1Row0?: number, column2Row0?: number, column0Row1?: number, column1Row1?: number, column2Row1?: number, column0Row2?: number, column1Row2?: number, column2Row2?: number); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Matrix3, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Matrix3 instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Matrix3): Matrix3; + /** + * Duplicates a Matrix3 instance. + * @param matrix - The matrix to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix3 instance if one was not provided. (Returns undefined if matrix is undefined) + */ + static clone(matrix: Matrix3, result?: Matrix3): Matrix3; + /** + * Creates a Matrix3 from 9 consecutive elements in an array. + * @example + * // Create the Matrix3: + * // [1.0, 2.0, 3.0] + * // [1.0, 2.0, 3.0] + * // [1.0, 2.0, 3.0] + * + * var v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0]; + * var m = Cesium.Matrix3.fromArray(v); + * + * // Create same Matrix3 with using an offset into an array + * var v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0]; + * var m2 = Cesium.Matrix3.fromArray(v2, 2); + * @param array - The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order. + * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix3 instance if one was not provided. + */ + static fromArray(array: number[], startingIndex?: number, result?: Matrix3): Matrix3; + /** + * Creates a Matrix3 instance from a column-major order array. + * @param values - The column-major order array. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix3 instance if one was not provided. + */ + static fromColumnMajorArray(values: number[], result?: Matrix3): Matrix3; + /** + * Creates a Matrix3 instance from a row-major order array. + * The resulting matrix will be in column-major order. + * @param values - The row-major order array. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix3 instance if one was not provided. + */ + static fromRowMajorArray(values: number[], result?: Matrix3): Matrix3; + /** + * Computes a 3x3 rotation matrix from the provided quaternion. + * @param quaternion - the quaternion to use. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The 3x3 rotation matrix from this quaternion. + */ + static fromQuaternion(quaternion: Quaternion, result?: Matrix3): Matrix3; + /** + * Computes a 3x3 rotation matrix from the provided headingPitchRoll. (see http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles ) + * @param headingPitchRoll - the headingPitchRoll to use. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The 3x3 rotation matrix from this headingPitchRoll. + */ + static fromHeadingPitchRoll(headingPitchRoll: HeadingPitchRoll, result?: Matrix3): Matrix3; + /** + * Computes a Matrix3 instance representing a non-uniform scale. + * @example + * // Creates + * // [7.0, 0.0, 0.0] + * // [0.0, 8.0, 0.0] + * // [0.0, 0.0, 9.0] + * var m = Cesium.Matrix3.fromScale(new Cesium.Cartesian3(7.0, 8.0, 9.0)); + * @param scale - The x, y, and z scale factors. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix3 instance if one was not provided. + */ + static fromScale(scale: Cartesian3, result?: Matrix3): Matrix3; + /** + * Computes a Matrix3 instance representing a uniform scale. + * @example + * // Creates + * // [2.0, 0.0, 0.0] + * // [0.0, 2.0, 0.0] + * // [0.0, 0.0, 2.0] + * var m = Cesium.Matrix3.fromUniformScale(2.0); + * @param scale - The uniform scale factor. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix3 instance if one was not provided. + */ + static fromUniformScale(scale: number, result?: Matrix3): Matrix3; + /** + * Computes a Matrix3 instance representing the cross product equivalent matrix of a Cartesian3 vector. + * @example + * // Creates + * // [0.0, -9.0, 8.0] + * // [9.0, 0.0, -7.0] + * // [-8.0, 7.0, 0.0] + * var m = Cesium.Matrix3.fromCrossProduct(new Cesium.Cartesian3(7.0, 8.0, 9.0)); + * @param vector - the vector on the left hand side of the cross product operation. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix3 instance if one was not provided. + */ + static fromCrossProduct(vector: Cartesian3, result?: Matrix3): Matrix3; + /** + * Creates a rotation matrix around the x-axis. + * @example + * // Rotate a point 45 degrees counterclockwise around the x-axis. + * var p = new Cesium.Cartesian3(5, 6, 7); + * var m = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(45.0)); + * var rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3()); + * @param angle - The angle, in radians, of the rotation. Positive angles are counterclockwise. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix3 instance if one was not provided. + */ + static fromRotationX(angle: number, result?: Matrix3): Matrix3; + /** + * Creates a rotation matrix around the y-axis. + * @example + * // Rotate a point 45 degrees counterclockwise around the y-axis. + * var p = new Cesium.Cartesian3(5, 6, 7); + * var m = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(45.0)); + * var rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3()); + * @param angle - The angle, in radians, of the rotation. Positive angles are counterclockwise. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix3 instance if one was not provided. + */ + static fromRotationY(angle: number, result?: Matrix3): Matrix3; + /** + * Creates a rotation matrix around the z-axis. + * @example + * // Rotate a point 45 degrees counterclockwise around the z-axis. + * var p = new Cesium.Cartesian3(5, 6, 7); + * var m = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(45.0)); + * var rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3()); + * @param angle - The angle, in radians, of the rotation. Positive angles are counterclockwise. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix3 instance if one was not provided. + */ + static fromRotationZ(angle: number, result?: Matrix3): Matrix3; + /** + * Creates an Array from the provided Matrix3 instance. + * The array will be in column-major order. + * @param matrix - The matrix to use.. + * @param [result] - The Array onto which to store the result. + * @returns The modified Array parameter or a new Array instance if one was not provided. + */ + static toArray(matrix: Matrix3, result?: number[]): number[]; + /** + * Computes the array index of the element at the provided row and column. + * @example + * var myMatrix = new Cesium.Matrix3(); + * var column1Row0Index = Cesium.Matrix3.getElementIndex(1, 0); + * var column1Row0 = myMatrix[column1Row0Index] + * myMatrix[column1Row0Index] = 10.0; + * @param row - The zero-based index of the row. + * @param column - The zero-based index of the column. + * @returns The index of the element at the provided row and column. + */ + static getElementIndex(row: number, column: number): number; + /** + * Retrieves a copy of the matrix column at the provided index as a Cartesian3 instance. + * @param matrix - The matrix to use. + * @param index - The zero-based index of the column to retrieve. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getColumn(matrix: Matrix3, index: number, result: Cartesian3): Cartesian3; + /** + * Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian3 instance. + * @param matrix - The matrix to use. + * @param index - The zero-based index of the column to set. + * @param cartesian - The Cartesian whose values will be assigned to the specified column. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static setColumn(matrix: Matrix3, index: number, cartesian: Cartesian3, result: Matrix3): Matrix3; + /** + * Retrieves a copy of the matrix row at the provided index as a Cartesian3 instance. + * @param matrix - The matrix to use. + * @param index - The zero-based index of the row to retrieve. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getRow(matrix: Matrix3, index: number, result: Cartesian3): Cartesian3; + /** + * Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian3 instance. + * @param matrix - The matrix to use. + * @param index - The zero-based index of the row to set. + * @param cartesian - The Cartesian whose values will be assigned to the specified row. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static setRow(matrix: Matrix3, index: number, cartesian: Cartesian3, result: Matrix3): Matrix3; + /** + * Extracts the non-uniform scale assuming the matrix is an affine transformation. + * @param matrix - The matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getScale(matrix: Matrix3, result: Cartesian3): Cartesian3; + /** + * Computes the maximum scale assuming the matrix is an affine transformation. + * The maximum scale is the maximum length of the column vectors. + * @param matrix - The matrix. + * @returns The maximum scale. + */ + static getMaximumScale(matrix: Matrix3): number; + /** + * Computes the product of two matrices. + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiply(left: Matrix3, right: Matrix3, result: Matrix3): Matrix3; + /** + * Computes the sum of two matrices. + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static add(left: Matrix3, right: Matrix3, result: Matrix3): Matrix3; + /** + * Computes the difference of two matrices. + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static subtract(left: Matrix3, right: Matrix3, result: Matrix3): Matrix3; + /** + * Computes the product of a matrix and a column vector. + * @param matrix - The matrix. + * @param cartesian - The column. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByVector(matrix: Matrix3, cartesian: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the product of a matrix and a scalar. + * @param matrix - The matrix. + * @param scalar - The number to multiply by. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScalar(matrix: Matrix3, scalar: number, result: Matrix3): Matrix3; + /** + * Computes the product of a matrix times a (non-uniform) scale, as if the scale were a scale matrix. + * @example + * // Instead of Cesium.Matrix3.multiply(m, Cesium.Matrix3.fromScale(scale), m); + * Cesium.Matrix3.multiplyByScale(m, scale, m); + * @param matrix - The matrix on the left-hand side. + * @param scale - The non-uniform scale on the right-hand side. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScale(matrix: Matrix3, scale: Cartesian3, result: Matrix3): Matrix3; + /** + * Creates a negated copy of the provided matrix. + * @param matrix - The matrix to negate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static negate(matrix: Matrix3, result: Matrix3): Matrix3; + /** + * Computes the transpose of the provided matrix. + * @param matrix - The matrix to transpose. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static transpose(matrix: Matrix3, result: Matrix3): Matrix3; + /** + * Extracts the rotation assuming the matrix is an affine transformation. + * @param matrix - The matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter + */ + static getRotation(matrix: Matrix3, result: Matrix3): Matrix3; + /** + * Computes the eigenvectors and eigenvalues of a symmetric matrix. + *

+ * Returns a diagonal matrix and unitary matrix such that: + * matrix = unitary matrix * diagonal matrix * transpose(unitary matrix) + *

+ *

+ * The values along the diagonal of the diagonal matrix are the eigenvalues. The columns + * of the unitary matrix are the corresponding eigenvectors. + *

+ * @example + * var a = //... symetric matrix + * var result = { + * unitary : new Cesium.Matrix3(), + * diagonal : new Cesium.Matrix3() + * }; + * Cesium.Matrix3.computeEigenDecomposition(a, result); + * + * var unitaryTranspose = Cesium.Matrix3.transpose(result.unitary, new Cesium.Matrix3()); + * var b = Cesium.Matrix3.multiply(result.unitary, result.diagonal, new Cesium.Matrix3()); + * Cesium.Matrix3.multiply(b, unitaryTranspose, b); // b is now equal to a + * + * var lambda = Cesium.Matrix3.getColumn(result.diagonal, 0, new Cesium.Cartesian3()).x; // first eigenvalue + * var v = Cesium.Matrix3.getColumn(result.unitary, 0, new Cesium.Cartesian3()); // first eigenvector + * var c = Cesium.Cartesian3.multiplyByScalar(v, lambda, new Cesium.Cartesian3()); // equal to Cesium.Matrix3.multiplyByVector(a, v) + * @param matrix - The matrix to decompose into diagonal and unitary matrix. Expected to be symmetric. + * @param [result] - An object with unitary and diagonal properties which are matrices onto which to store the result. + * @returns An object with unitary and diagonal properties which are the unitary and diagonal matrices, respectively. + */ + static computeEigenDecomposition(matrix: Matrix3, result?: any): any; + /** + * Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements. + * @param matrix - The matrix with signed elements. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static abs(matrix: Matrix3, result: Matrix3): Matrix3; + /** + * Computes the determinant of the provided matrix. + * @param matrix - The matrix to use. + * @returns The value of the determinant of the matrix. + */ + static determinant(matrix: Matrix3): number; + /** + * Computes the inverse of the provided matrix. + * @param matrix - The matrix to invert. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static inverse(matrix: Matrix3, result: Matrix3): Matrix3; + /** + * Computes the inverse transpose of a matrix. + * @param matrix - The matrix to transpose and invert. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static inverseTranspose(matrix: Matrix3, result: Matrix3): Matrix3; + /** + * Compares the provided matrices componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first matrix. + * @param [right] - The second matrix. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: Matrix3, right?: Matrix3): boolean; + /** + * Compares the provided matrices componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [left] - The first matrix. + * @param [right] - The second matrix. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: Matrix3, right?: Matrix3, epsilon?: number): boolean; + /** + * An immutable Matrix3 instance initialized to the identity matrix. + */ + static readonly IDENTITY: Matrix3; + /** + * An immutable Matrix3 instance initialized to the zero matrix. + */ + static readonly ZERO: Matrix3; + /** + * The index into Matrix3 for column 0, row 0. + */ + static readonly COLUMN0ROW0: number; + /** + * The index into Matrix3 for column 0, row 1. + */ + static readonly COLUMN0ROW1: number; + /** + * The index into Matrix3 for column 0, row 2. + */ + static readonly COLUMN0ROW2: number; + /** + * The index into Matrix3 for column 1, row 0. + */ + static readonly COLUMN1ROW0: number; + /** + * The index into Matrix3 for column 1, row 1. + */ + static readonly COLUMN1ROW1: number; + /** + * The index into Matrix3 for column 1, row 2. + */ + static readonly COLUMN1ROW2: number; + /** + * The index into Matrix3 for column 2, row 0. + */ + static readonly COLUMN2ROW0: number; + /** + * The index into Matrix3 for column 2, row 1. + */ + static readonly COLUMN2ROW1: number; + /** + * The index into Matrix3 for column 2, row 2. + */ + static readonly COLUMN2ROW2: number; + /** + * Gets the number of items in the collection. + */ + length: number; + /** + * Duplicates the provided Matrix3 instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix3 instance if one was not provided. + */ + clone(result?: Matrix3): Matrix3; + /** + * Compares this matrix to the provided matrix componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side matrix. + * @returns true if they are equal, false otherwise. + */ + equals(right?: Matrix3): boolean; + /** + * Compares this matrix to the provided matrix componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [right] - The right hand side matrix. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if they are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: Matrix3, epsilon?: number): boolean; + /** + * Creates a string representing this Matrix with each row being + * on a separate line and in the format '(column0, column1, column2)'. + * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2)'. + */ + toString(): string; +} + +export interface Matrix4 extends ArrayLike { +} + +/** + * A 4x4 matrix, indexable as a column-major order array. + * Constructor parameters are in row-major order for code readability. + * @param [column0Row0 = 0.0] - The value for column 0, row 0. + * @param [column1Row0 = 0.0] - The value for column 1, row 0. + * @param [column2Row0 = 0.0] - The value for column 2, row 0. + * @param [column3Row0 = 0.0] - The value for column 3, row 0. + * @param [column0Row1 = 0.0] - The value for column 0, row 1. + * @param [column1Row1 = 0.0] - The value for column 1, row 1. + * @param [column2Row1 = 0.0] - The value for column 2, row 1. + * @param [column3Row1 = 0.0] - The value for column 3, row 1. + * @param [column0Row2 = 0.0] - The value for column 0, row 2. + * @param [column1Row2 = 0.0] - The value for column 1, row 2. + * @param [column2Row2 = 0.0] - The value for column 2, row 2. + * @param [column3Row2 = 0.0] - The value for column 3, row 2. + * @param [column0Row3 = 0.0] - The value for column 0, row 3. + * @param [column1Row3 = 0.0] - The value for column 1, row 3. + * @param [column2Row3 = 0.0] - The value for column 2, row 3. + * @param [column3Row3 = 0.0] - The value for column 3, row 3. + */ +export class Matrix4 implements ArrayLike { + constructor(column0Row0?: number, column1Row0?: number, column2Row0?: number, column3Row0?: number, column0Row1?: number, column1Row1?: number, column2Row1?: number, column3Row1?: number, column0Row2?: number, column1Row2?: number, column2Row2?: number, column3Row2?: number, column0Row3?: number, column1Row3?: number, column2Row3?: number, column3Row3?: number); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Matrix4, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Matrix4): Matrix4; + /** + * Duplicates a Matrix4 instance. + * @param matrix - The matrix to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if one was not provided. (Returns undefined if matrix is undefined) + */ + static clone(matrix: Matrix4, result?: Matrix4): Matrix4; + /** + * Creates a Matrix4 from 16 consecutive elements in an array. + * @example + * // Create the Matrix4: + * // [1.0, 2.0, 3.0, 4.0] + * // [1.0, 2.0, 3.0, 4.0] + * // [1.0, 2.0, 3.0, 4.0] + * // [1.0, 2.0, 3.0, 4.0] + * + * var v = [1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0]; + * var m = Cesium.Matrix4.fromArray(v); + * + * // Create same Matrix4 with using an offset into an array + * var v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0]; + * var m2 = Cesium.Matrix4.fromArray(v2, 2); + * @param array - The array whose 16 consecutive elements correspond to the positions of the matrix. Assumes column-major order. + * @param [startingIndex = 0] - The offset into the array of the first element, which corresponds to first column first row position in the matrix. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if one was not provided. + */ + static fromArray(array: number[], startingIndex?: number, result?: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance from a column-major order array. + * @param values - The column-major order array. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix4 instance if one was not provided. + */ + static fromColumnMajorArray(values: number[], result?: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance from a row-major order array. + * The resulting matrix will be in column-major order. + * @param values - The row-major order array. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix4 instance if one was not provided. + */ + static fromRowMajorArray(values: number[], result?: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance from a Matrix3 representing the rotation + * and a Cartesian3 representing the translation. + * @param rotation - The upper left portion of the matrix representing the rotation. + * @param [translation = Cartesian3.ZERO] - The upper right portion of the matrix representing the translation. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix4 instance if one was not provided. + */ + static fromRotationTranslation(rotation: Matrix3, translation?: Cartesian3, result?: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance from a translation, rotation, and scale (TRS) + * representation with the rotation represented as a quaternion. + * @example + * var result = Cesium.Matrix4.fromTranslationQuaternionRotationScale( + * new Cesium.Cartesian3(1.0, 2.0, 3.0), // translation + * Cesium.Quaternion.IDENTITY, // rotation + * new Cesium.Cartesian3(7.0, 8.0, 9.0), // scale + * result); + * @param translation - The translation transformation. + * @param rotation - The rotation transformation. + * @param scale - The non-uniform scale transformation. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix4 instance if one was not provided. + */ + static fromTranslationQuaternionRotationScale(translation: Cartesian3, rotation: Quaternion, scale: Cartesian3, result?: Matrix4): Matrix4; + /** + * Creates a Matrix4 instance from a {@link TranslationRotationScale} instance. + * @param translationRotationScale - The instance. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix4 instance if one was not provided. + */ + static fromTranslationRotationScale(translationRotationScale: TranslationRotationScale, result?: Matrix4): Matrix4; + /** + * Creates a Matrix4 instance from a Cartesian3 representing the translation. + * @param translation - The upper right portion of the matrix representing the translation. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix4 instance if one was not provided. + */ + static fromTranslation(translation: Cartesian3, result?: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance representing a non-uniform scale. + * @example + * // Creates + * // [7.0, 0.0, 0.0, 0.0] + * // [0.0, 8.0, 0.0, 0.0] + * // [0.0, 0.0, 9.0, 0.0] + * // [0.0, 0.0, 0.0, 1.0] + * var m = Cesium.Matrix4.fromScale(new Cesium.Cartesian3(7.0, 8.0, 9.0)); + * @param scale - The x, y, and z scale factors. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix4 instance if one was not provided. + */ + static fromScale(scale: Cartesian3, result?: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance representing a uniform scale. + * @example + * // Creates + * // [2.0, 0.0, 0.0, 0.0] + * // [0.0, 2.0, 0.0, 0.0] + * // [0.0, 0.0, 2.0, 0.0] + * // [0.0, 0.0, 0.0, 1.0] + * var m = Cesium.Matrix4.fromUniformScale(2.0); + * @param scale - The uniform scale factor. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix4 instance if one was not provided. + */ + static fromUniformScale(scale: number, result?: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance from a Camera. + * @param camera - The camera to use. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new Matrix4 instance if one was not provided. + */ + static fromCamera(camera: Camera, result?: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance representing a perspective transformation matrix. + * @param fovY - The field of view along the Y axis in radians. + * @param aspectRatio - The aspect ratio. + * @param near - The distance to the near plane in meters. + * @param far - The distance to the far plane in meters. + * @param result - The object in which the result will be stored. + * @returns The modified result parameter. + */ + static computePerspectiveFieldOfView(fovY: number, aspectRatio: number, near: number, far: number, result: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance representing an orthographic transformation matrix. + * @param left - The number of meters to the left of the camera that will be in view. + * @param right - The number of meters to the right of the camera that will be in view. + * @param bottom - The number of meters below of the camera that will be in view. + * @param top - The number of meters above of the camera that will be in view. + * @param near - The distance to the near plane in meters. + * @param far - The distance to the far plane in meters. + * @param result - The object in which the result will be stored. + * @returns The modified result parameter. + */ + static computeOrthographicOffCenter(left: number, right: number, bottom: number, top: number, near: number, far: number, result: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance representing an off center perspective transformation. + * @param left - The number of meters to the left of the camera that will be in view. + * @param right - The number of meters to the right of the camera that will be in view. + * @param bottom - The number of meters below of the camera that will be in view. + * @param top - The number of meters above of the camera that will be in view. + * @param near - The distance to the near plane in meters. + * @param far - The distance to the far plane in meters. + * @param result - The object in which the result will be stored. + * @returns The modified result parameter. + */ + static computePerspectiveOffCenter(left: number, right: number, bottom: number, top: number, near: number, far: number, result: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance representing an infinite off center perspective transformation. + * @param left - The number of meters to the left of the camera that will be in view. + * @param right - The number of meters to the right of the camera that will be in view. + * @param bottom - The number of meters below of the camera that will be in view. + * @param top - The number of meters above of the camera that will be in view. + * @param near - The distance to the near plane in meters. + * @param result - The object in which the result will be stored. + * @returns The modified result parameter. + */ + static computeInfinitePerspectiveOffCenter(left: number, right: number, bottom: number, top: number, near: number, result: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance that transforms from normalized device coordinates to window coordinates. + * @example + * // Create viewport transformation using an explicit viewport and depth range. + * var m = Cesium.Matrix4.computeViewportTransformation({ + * x : 0.0, + * y : 0.0, + * width : 1024.0, + * height : 768.0 + * }, 0.0, 1.0, new Cesium.Matrix4()); + * @param [viewport = { x : 0.0, y : 0.0, width : 0.0, height : 0.0 }] - The viewport's corners as shown in Example 1. + * @param [nearDepthRange = 0.0] - The near plane distance in window coordinates. + * @param [farDepthRange = 1.0] - The far plane distance in window coordinates. + * @param [result] - The object in which the result will be stored. + * @returns The modified result parameter. + */ + static computeViewportTransformation(viewport?: any, nearDepthRange?: number, farDepthRange?: number, result?: Matrix4): Matrix4; + /** + * Computes a Matrix4 instance that transforms from world space to view space. + * @param position - The position of the camera. + * @param direction - The forward direction. + * @param up - The up direction. + * @param right - The right direction. + * @param result - The object in which the result will be stored. + * @returns The modified result parameter. + */ + static computeView(position: Cartesian3, direction: Cartesian3, up: Cartesian3, right: Cartesian3, result: Matrix4): Matrix4; + /** + * Computes an Array from the provided Matrix4 instance. + * The array will be in column-major order. + * @example + * //create an array from an instance of Matrix4 + * // m = [10.0, 14.0, 18.0, 22.0] + * // [11.0, 15.0, 19.0, 23.0] + * // [12.0, 16.0, 20.0, 24.0] + * // [13.0, 17.0, 21.0, 25.0] + * var a = Cesium.Matrix4.toArray(m); + * + * // m remains the same + * //creates a = [10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0] + * @param matrix - The matrix to use.. + * @param [result] - The Array onto which to store the result. + * @returns The modified Array parameter or a new Array instance if one was not provided. + */ + static toArray(matrix: Matrix4, result?: number[]): number[]; + /** + * Computes the array index of the element at the provided row and column. + * @example + * var myMatrix = new Cesium.Matrix4(); + * var column1Row0Index = Cesium.Matrix4.getElementIndex(1, 0); + * var column1Row0 = myMatrix[column1Row0Index]; + * myMatrix[column1Row0Index] = 10.0; + * @param row - The zero-based index of the row. + * @param column - The zero-based index of the column. + * @returns The index of the element at the provided row and column. + */ + static getElementIndex(row: number, column: number): number; + /** + * Retrieves a copy of the matrix column at the provided index as a Cartesian4 instance. + * @example + * //returns a Cartesian4 instance with values from the specified column + * // m = [10.0, 11.0, 12.0, 13.0] + * // [14.0, 15.0, 16.0, 17.0] + * // [18.0, 19.0, 20.0, 21.0] + * // [22.0, 23.0, 24.0, 25.0] + * + * //Example 1: Creates an instance of Cartesian + * var a = Cesium.Matrix4.getColumn(m, 2, new Cesium.Cartesian4()); + * @example + * //Example 2: Sets values for Cartesian instance + * var a = new Cesium.Cartesian4(); + * Cesium.Matrix4.getColumn(m, 2, a); + * + * // a.x = 12.0; a.y = 16.0; a.z = 20.0; a.w = 24.0; + * @param matrix - The matrix to use. + * @param index - The zero-based index of the column to retrieve. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getColumn(matrix: Matrix4, index: number, result: Cartesian4): Cartesian4; + /** + * Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian4 instance. + * @example + * //creates a new Matrix4 instance with new column values from the Cartesian4 instance + * // m = [10.0, 11.0, 12.0, 13.0] + * // [14.0, 15.0, 16.0, 17.0] + * // [18.0, 19.0, 20.0, 21.0] + * // [22.0, 23.0, 24.0, 25.0] + * + * var a = Cesium.Matrix4.setColumn(m, 2, new Cesium.Cartesian4(99.0, 98.0, 97.0, 96.0), new Cesium.Matrix4()); + * + * // m remains the same + * // a = [10.0, 11.0, 99.0, 13.0] + * // [14.0, 15.0, 98.0, 17.0] + * // [18.0, 19.0, 97.0, 21.0] + * // [22.0, 23.0, 96.0, 25.0] + * @param matrix - The matrix to use. + * @param index - The zero-based index of the column to set. + * @param cartesian - The Cartesian whose values will be assigned to the specified column. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static setColumn(matrix: Matrix4, index: number, cartesian: Cartesian4, result: Matrix4): Matrix4; + /** + * Computes a new matrix that replaces the translation in the rightmost column of the provided + * matrix with the provided translation. This assumes the matrix is an affine transformation + * @param matrix - The matrix to use. + * @param translation - The translation that replaces the translation of the provided matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static setTranslation(matrix: Matrix4, translation: Cartesian3, result: Matrix4): Matrix4; + /** + * Computes a new matrix that replaces the scale with the provided scale. This assumes the matrix is an affine transformation + * @param matrix - The matrix to use. + * @param scale - The scale that replaces the scale of the provided matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static setScale(matrix: Matrix4, scale: Cartesian3, result: Matrix4): Matrix4; + /** + * Retrieves a copy of the matrix row at the provided index as a Cartesian4 instance. + * @example + * //returns a Cartesian4 instance with values from the specified column + * // m = [10.0, 11.0, 12.0, 13.0] + * // [14.0, 15.0, 16.0, 17.0] + * // [18.0, 19.0, 20.0, 21.0] + * // [22.0, 23.0, 24.0, 25.0] + * + * //Example 1: Returns an instance of Cartesian + * var a = Cesium.Matrix4.getRow(m, 2, new Cesium.Cartesian4()); + * @example + * //Example 2: Sets values for a Cartesian instance + * var a = new Cesium.Cartesian4(); + * Cesium.Matrix4.getRow(m, 2, a); + * + * // a.x = 18.0; a.y = 19.0; a.z = 20.0; a.w = 21.0; + * @param matrix - The matrix to use. + * @param index - The zero-based index of the row to retrieve. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getRow(matrix: Matrix4, index: number, result: Cartesian4): Cartesian4; + /** + * Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian4 instance. + * @example + * //create a new Matrix4 instance with new row values from the Cartesian4 instance + * // m = [10.0, 11.0, 12.0, 13.0] + * // [14.0, 15.0, 16.0, 17.0] + * // [18.0, 19.0, 20.0, 21.0] + * // [22.0, 23.0, 24.0, 25.0] + * + * var a = Cesium.Matrix4.setRow(m, 2, new Cesium.Cartesian4(99.0, 98.0, 97.0, 96.0), new Cesium.Matrix4()); + * + * // m remains the same + * // a = [10.0, 11.0, 12.0, 13.0] + * // [14.0, 15.0, 16.0, 17.0] + * // [99.0, 98.0, 97.0, 96.0] + * // [22.0, 23.0, 24.0, 25.0] + * @param matrix - The matrix to use. + * @param index - The zero-based index of the row to set. + * @param cartesian - The Cartesian whose values will be assigned to the specified row. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static setRow(matrix: Matrix4, index: number, cartesian: Cartesian4, result: Matrix4): Matrix4; + /** + * Extracts the non-uniform scale assuming the matrix is an affine transformation. + * @param matrix - The matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter + */ + static getScale(matrix: Matrix4, result: Cartesian3): Cartesian3; + /** + * Computes the maximum scale assuming the matrix is an affine transformation. + * The maximum scale is the maximum length of the column vectors in the upper-left + * 3x3 matrix. + * @param matrix - The matrix. + * @returns The maximum scale. + */ + static getMaximumScale(matrix: Matrix4): number; + /** + * Computes the product of two matrices. + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiply(left: Matrix4, right: Matrix4, result: Matrix4): Matrix4; + /** + * Computes the sum of two matrices. + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static add(left: Matrix4, right: Matrix4, result: Matrix4): Matrix4; + /** + * Computes the difference of two matrices. + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static subtract(left: Matrix4, right: Matrix4, result: Matrix4): Matrix4; + /** + * Computes the product of two matrices assuming the matrices are + * affine transformation matrices, where the upper left 3x3 elements + * are a rotation matrix, and the upper three elements in the fourth + * column are the translation. The bottom row is assumed to be [0, 0, 0, 1]. + * The matrix is not verified to be in the proper form. + * This method is faster than computing the product for general 4x4 + * matrices using {@link Matrix4.multiply}. + * @example + * var m1 = new Cesium.Matrix4(1.0, 6.0, 7.0, 0.0, 2.0, 5.0, 8.0, 0.0, 3.0, 4.0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0); + * var m2 = Cesium.Transforms.eastNorthUpToFixedFrame(new Cesium.Cartesian3(1.0, 1.0, 1.0)); + * var m3 = Cesium.Matrix4.multiplyTransformation(m1, m2, new Cesium.Matrix4()); + * @param left - The first matrix. + * @param right - The second matrix. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyTransformation(left: Matrix4, right: Matrix4, result: Matrix4): Matrix4; + /** + * Multiplies a transformation matrix (with a bottom row of [0.0, 0.0, 0.0, 1.0]) + * by a 3x3 rotation matrix. This is an optimization + * for Matrix4.multiply(m, Matrix4.fromRotationTranslation(rotation), m); with less allocations and arithmetic operations. + * @example + * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromRotationTranslation(rotation), m); + * Cesium.Matrix4.multiplyByMatrix3(m, rotation, m); + * @param matrix - The matrix on the left-hand side. + * @param rotation - The 3x3 rotation matrix on the right-hand side. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByMatrix3(matrix: Matrix4, rotation: Matrix3, result: Matrix4): Matrix4; + /** + * Multiplies a transformation matrix (with a bottom row of [0.0, 0.0, 0.0, 1.0]) + * by an implicit translation matrix defined by a {@link Cartesian3}. This is an optimization + * for Matrix4.multiply(m, Matrix4.fromTranslation(position), m); with less allocations and arithmetic operations. + * @example + * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromTranslation(position), m); + * Cesium.Matrix4.multiplyByTranslation(m, position, m); + * @param matrix - The matrix on the left-hand side. + * @param translation - The translation on the right-hand side. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByTranslation(matrix: Matrix4, translation: Cartesian3, result: Matrix4): Matrix4; + /** + * Multiplies an affine transformation matrix (with a bottom row of [0.0, 0.0, 0.0, 1.0]) + * by an implicit uniform scale matrix. This is an optimization + * for Matrix4.multiply(m, Matrix4.fromUniformScale(scale), m);, where + * m must be an affine matrix. + * This function performs fewer allocations and arithmetic operations. + * @example + * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromUniformScale(scale), m); + * Cesium.Matrix4.multiplyByUniformScale(m, scale, m); + * @param matrix - The affine matrix on the left-hand side. + * @param scale - The uniform scale on the right-hand side. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByUniformScale(matrix: Matrix4, scale: number, result: Matrix4): Matrix4; + /** + * Multiplies an affine transformation matrix (with a bottom row of [0.0, 0.0, 0.0, 1.0]) + * by an implicit non-uniform scale matrix. This is an optimization + * for Matrix4.multiply(m, Matrix4.fromUniformScale(scale), m);, where + * m must be an affine matrix. + * This function performs fewer allocations and arithmetic operations. + * @example + * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromScale(scale), m); + * Cesium.Matrix4.multiplyByScale(m, scale, m); + * @param matrix - The affine matrix on the left-hand side. + * @param scale - The non-uniform scale on the right-hand side. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScale(matrix: Matrix4, scale: Cartesian3, result: Matrix4): Matrix4; + /** + * Computes the product of a matrix and a column vector. + * @param matrix - The matrix. + * @param cartesian - The vector. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByVector(matrix: Matrix4, cartesian: Cartesian4, result: Cartesian4): Cartesian4; + /** + * Computes the product of a matrix and a {@link Cartesian3}. This is equivalent to calling {@link Matrix4.multiplyByVector} + * with a {@link Cartesian4} with a w component of zero. + * @example + * var p = new Cesium.Cartesian3(1.0, 2.0, 3.0); + * var result = Cesium.Matrix4.multiplyByPointAsVector(matrix, p, new Cesium.Cartesian3()); + * // A shortcut for + * // Cartesian3 p = ... + * // Cesium.Matrix4.multiplyByVector(matrix, new Cesium.Cartesian4(p.x, p.y, p.z, 0.0), result); + * @param matrix - The matrix. + * @param cartesian - The point. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByPointAsVector(matrix: Matrix4, cartesian: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the product of a matrix and a {@link Cartesian3}. This is equivalent to calling {@link Matrix4.multiplyByVector} + * with a {@link Cartesian4} with a w component of 1, but returns a {@link Cartesian3} instead of a {@link Cartesian4}. + * @example + * var p = new Cesium.Cartesian3(1.0, 2.0, 3.0); + * var result = Cesium.Matrix4.multiplyByPoint(matrix, p, new Cesium.Cartesian3()); + * @param matrix - The matrix. + * @param cartesian - The point. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByPoint(matrix: Matrix4, cartesian: Cartesian3, result: Cartesian3): Cartesian3; + /** + * Computes the product of a matrix and a scalar. + * @example + * //create a Matrix4 instance which is a scaled version of the supplied Matrix4 + * // m = [10.0, 11.0, 12.0, 13.0] + * // [14.0, 15.0, 16.0, 17.0] + * // [18.0, 19.0, 20.0, 21.0] + * // [22.0, 23.0, 24.0, 25.0] + * + * var a = Cesium.Matrix4.multiplyByScalar(m, -2, new Cesium.Matrix4()); + * + * // m remains the same + * // a = [-20.0, -22.0, -24.0, -26.0] + * // [-28.0, -30.0, -32.0, -34.0] + * // [-36.0, -38.0, -40.0, -42.0] + * // [-44.0, -46.0, -48.0, -50.0] + * @param matrix - The matrix. + * @param scalar - The number to multiply by. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScalar(matrix: Matrix4, scalar: number, result: Matrix4): Matrix4; + /** + * Computes a negated copy of the provided matrix. + * @example + * //create a new Matrix4 instance which is a negation of a Matrix4 + * // m = [10.0, 11.0, 12.0, 13.0] + * // [14.0, 15.0, 16.0, 17.0] + * // [18.0, 19.0, 20.0, 21.0] + * // [22.0, 23.0, 24.0, 25.0] + * + * var a = Cesium.Matrix4.negate(m, new Cesium.Matrix4()); + * + * // m remains the same + * // a = [-10.0, -11.0, -12.0, -13.0] + * // [-14.0, -15.0, -16.0, -17.0] + * // [-18.0, -19.0, -20.0, -21.0] + * // [-22.0, -23.0, -24.0, -25.0] + * @param matrix - The matrix to negate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static negate(matrix: Matrix4, result: Matrix4): Matrix4; + /** + * Computes the transpose of the provided matrix. + * @example + * //returns transpose of a Matrix4 + * // m = [10.0, 11.0, 12.0, 13.0] + * // [14.0, 15.0, 16.0, 17.0] + * // [18.0, 19.0, 20.0, 21.0] + * // [22.0, 23.0, 24.0, 25.0] + * + * var a = Cesium.Matrix4.transpose(m, new Cesium.Matrix4()); + * + * // m remains the same + * // a = [10.0, 14.0, 18.0, 22.0] + * // [11.0, 15.0, 19.0, 23.0] + * // [12.0, 16.0, 20.0, 24.0] + * // [13.0, 17.0, 21.0, 25.0] + * @param matrix - The matrix to transpose. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static transpose(matrix: Matrix4, result: Matrix4): Matrix4; + /** + * Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements. + * @param matrix - The matrix with signed elements. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static abs(matrix: Matrix4, result: Matrix4): Matrix4; + /** + * Compares the provided matrices componentwise and returns + * true if they are equal, false otherwise. + * @example + * //compares two Matrix4 instances + * + * // a = [10.0, 14.0, 18.0, 22.0] + * // [11.0, 15.0, 19.0, 23.0] + * // [12.0, 16.0, 20.0, 24.0] + * // [13.0, 17.0, 21.0, 25.0] + * + * // b = [10.0, 14.0, 18.0, 22.0] + * // [11.0, 15.0, 19.0, 23.0] + * // [12.0, 16.0, 20.0, 24.0] + * // [13.0, 17.0, 21.0, 25.0] + * + * if(Cesium.Matrix4.equals(a,b)) { + * console.log("Both matrices are equal"); + * } else { + * console.log("They are not equal"); + * } + * + * //Prints "Both matrices are equal" on the console + * @param [left] - The first matrix. + * @param [right] - The second matrix. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: Matrix4, right?: Matrix4): boolean; + /** + * Compares the provided matrices componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @example + * //compares two Matrix4 instances + * + * // a = [10.5, 14.5, 18.5, 22.5] + * // [11.5, 15.5, 19.5, 23.5] + * // [12.5, 16.5, 20.5, 24.5] + * // [13.5, 17.5, 21.5, 25.5] + * + * // b = [10.0, 14.0, 18.0, 22.0] + * // [11.0, 15.0, 19.0, 23.0] + * // [12.0, 16.0, 20.0, 24.0] + * // [13.0, 17.0, 21.0, 25.0] + * + * if(Cesium.Matrix4.equalsEpsilon(a,b,0.1)){ + * console.log("Difference between both the matrices is less than 0.1"); + * } else { + * console.log("Difference between both the matrices is not less than 0.1"); + * } + * + * //Prints "Difference between both the matrices is not less than 0.1" on the console + * @param [left] - The first matrix. + * @param [right] - The second matrix. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: Matrix4, right?: Matrix4, epsilon?: number): boolean; + /** + * Gets the translation portion of the provided matrix, assuming the matrix is a affine transformation matrix. + * @param matrix - The matrix to use. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getTranslation(matrix: Matrix4, result: Cartesian3): Cartesian3; + /** + * Gets the upper left 3x3 rotation matrix of the provided matrix, assuming the matrix is an affine transformation matrix. + * @example + * // returns a Matrix3 instance from a Matrix4 instance + * + * // m = [10.0, 14.0, 18.0, 22.0] + * // [11.0, 15.0, 19.0, 23.0] + * // [12.0, 16.0, 20.0, 24.0] + * // [13.0, 17.0, 21.0, 25.0] + * + * var b = new Cesium.Matrix3(); + * Cesium.Matrix4.getMatrix3(m,b); + * + * // b = [10.0, 14.0, 18.0] + * // [11.0, 15.0, 19.0] + * // [12.0, 16.0, 20.0] + * @param matrix - The matrix to use. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static getMatrix3(matrix: Matrix4, result: Matrix3): Matrix3; + /** + * Computes the inverse of the provided matrix using Cramers Rule. + * If the determinant is zero, the matrix can not be inverted, and an exception is thrown. + * If the matrix is an affine transformation matrix, it is more efficient + * to invert it with {@link Matrix4.inverseTransformation}. + * @param matrix - The matrix to invert. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static inverse(matrix: Matrix4, result: Matrix4): Matrix4; + /** + * Computes the inverse of the provided matrix assuming it is + * an affine transformation matrix, where the upper left 3x3 elements + * are a rotation matrix, and the upper three elements in the fourth + * column are the translation. The bottom row is assumed to be [0, 0, 0, 1]. + * The matrix is not verified to be in the proper form. + * This method is faster than computing the inverse for a general 4x4 + * matrix using {@link Matrix4.inverse}. + * @param matrix - The matrix to invert. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static inverseTransformation(matrix: Matrix4, result: Matrix4): Matrix4; + /** + * Computes the inverse transpose of a matrix. + * @param matrix - The matrix to transpose and invert. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static inverseTranspose(matrix: Matrix4, result: Matrix4): Matrix4; + /** + * An immutable Matrix4 instance initialized to the identity matrix. + */ + static readonly IDENTITY: Matrix4; + /** + * An immutable Matrix4 instance initialized to the zero matrix. + */ + static readonly ZERO: Matrix4; + /** + * The index into Matrix4 for column 0, row 0. + */ + static readonly COLUMN0ROW0: number; + /** + * The index into Matrix4 for column 0, row 1. + */ + static readonly COLUMN0ROW1: number; + /** + * The index into Matrix4 for column 0, row 2. + */ + static readonly COLUMN0ROW2: number; + /** + * The index into Matrix4 for column 0, row 3. + */ + static readonly COLUMN0ROW3: number; + /** + * The index into Matrix4 for column 1, row 0. + */ + static readonly COLUMN1ROW0: number; + /** + * The index into Matrix4 for column 1, row 1. + */ + static readonly COLUMN1ROW1: number; + /** + * The index into Matrix4 for column 1, row 2. + */ + static readonly COLUMN1ROW2: number; + /** + * The index into Matrix4 for column 1, row 3. + */ + static readonly COLUMN1ROW3: number; + /** + * The index into Matrix4 for column 2, row 0. + */ + static readonly COLUMN2ROW0: number; + /** + * The index into Matrix4 for column 2, row 1. + */ + static readonly COLUMN2ROW1: number; + /** + * The index into Matrix4 for column 2, row 2. + */ + static readonly COLUMN2ROW2: number; + /** + * The index into Matrix4 for column 2, row 3. + */ + static readonly COLUMN2ROW3: number; + /** + * The index into Matrix4 for column 3, row 0. + */ + static readonly COLUMN3ROW0: number; + /** + * The index into Matrix4 for column 3, row 1. + */ + static readonly COLUMN3ROW1: number; + /** + * The index into Matrix4 for column 3, row 2. + */ + static readonly COLUMN3ROW2: number; + /** + * The index into Matrix4 for column 3, row 3. + */ + static readonly COLUMN3ROW3: number; + /** + * Gets the number of items in the collection. + */ + length: number; + /** + * Duplicates the provided Matrix4 instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if one was not provided. + */ + clone(result?: Matrix4): Matrix4; + /** + * Compares this matrix to the provided matrix componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side matrix. + * @returns true if they are equal, false otherwise. + */ + equals(right?: Matrix4): boolean; + /** + * Compares this matrix to the provided matrix componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [right] - The right hand side matrix. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if they are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: Matrix4, epsilon?: number): boolean; + /** + * Computes a string representing this Matrix with each row being + * on a separate line and in the format '(column0, column1, column2, column3)'. + * @returns A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2, column3)'. + */ + toString(): string; +} + +/** + * A stable merge sort. + * @example + * // Assume array contains BoundingSpheres in world coordinates. + * // Sort them in ascending order of distance from the camera. + * var position = camera.positionWC; + * Cesium.mergeSort(array, function(a, b, position) { + * return Cesium.BoundingSphere.distanceSquaredTo(b, position) - Cesium.BoundingSphere.distanceSquaredTo(a, position); + * }, position); + * @param array - The array to sort. + * @param comparator - The function to use to compare elements in the array. + * @param [userDefinedObject] - Any item to pass as the third parameter to comparator. + */ +export function mergeSort(array: any[], comparator: mergeSortComparator, userDefinedObject?: any): void; + +/** + * A function used to compare two items while performing a merge sort. + * @example + * function compareNumbers(a, b, userDefinedObject) { + * return a - b; + * } + * @param a - An item in the array. + * @param b - An item in the array. + * @param [userDefinedObject] - An object that was passed to {@link mergeSort}. + */ +export type mergeSortComparator = (a: any, b: any, userDefinedObject?: any) => number; + +/** + * Represents a scalar value's lower and upper bound at a near distance and far distance in eye space. + * @param [near = 0.0] - The lower bound of the camera range. + * @param [nearValue = 0.0] - The value at the lower bound of the camera range. + * @param [far = 1.0] - The upper bound of the camera range. + * @param [farValue = 0.0] - The value at the upper bound of the camera range. + */ +export class NearFarScalar { + constructor(near?: number, nearValue?: number, far?: number, farValue?: number); + /** + * The lower bound of the camera range. + */ + near: number; + /** + * The value at the lower bound of the camera range. + */ + nearValue: number; + /** + * The upper bound of the camera range. + */ + far: number; + /** + * The value at the upper bound of the camera range. + */ + farValue: number; + /** + * Duplicates a NearFarScalar instance. + * @param nearFarScalar - The NearFarScalar to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new NearFarScalar instance if one was not provided. (Returns undefined if nearFarScalar is undefined) + */ + static clone(nearFarScalar: NearFarScalar, result?: NearFarScalar): NearFarScalar; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: NearFarScalar, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new NearFarScalar instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: NearFarScalar): NearFarScalar; + /** + * Compares the provided NearFarScalar and returns true if they are equal, + * false otherwise. + * @param [left] - The first NearFarScalar. + * @param [right] - The second NearFarScalar. + * @returns true if left and right are equal; otherwise false. + */ + static equals(left?: NearFarScalar, right?: NearFarScalar): boolean; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new NearFarScalar instance if one was not provided. + */ + clone(result?: NearFarScalar): NearFarScalar; + /** + * Compares this instance to the provided NearFarScalar and returns true if they are equal, + * false otherwise. + * @param [right] - The right hand side NearFarScalar. + * @returns true if left and right are equal; otherwise false. + */ + equals(right?: NearFarScalar): boolean; +} + +/** + * Converts an object representing a set of name/value pairs into a query string, + * with names and values encoded properly for use in a URL. Values that are arrays + * will produce multiple values with the same name. + * @example + * var str = Cesium.objectToQuery({ + * key1 : 'some value', + * key2 : 'a/b', + * key3 : ['x', 'y'] + * }); + * @param obj - The object containing data to encode. + * @returns An encoded query string. + */ +export function objectToQuery(obj: any): string; + +/** + * Creates an Occluder derived from an object's position and radius, as well as the camera position. + * The occluder can be used to determine whether or not other objects are visible or hidden behind the + * visible horizon defined by the occluder and camera position. + * @example + * // Construct an occluder one unit away from the origin with a radius of one. + * var cameraPosition = Cesium.Cartesian3.ZERO; + * var occluderBoundingSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -1), 1); + * var occluder = new Cesium.Occluder(occluderBoundingSphere, cameraPosition); + * @param occluderBoundingSphere - The bounding sphere surrounding the occluder. + * @param cameraPosition - The coordinate of the viewer/camera. + */ +export class Occluder { + constructor(occluderBoundingSphere: BoundingSphere, cameraPosition: Cartesian3); + /** + * The position of the occluder. + */ + position: Cartesian3; + /** + * The radius of the occluder. + */ + radius: number; + /** + * The position of the camera. + */ + cameraPosition: Cartesian3; + /** + * Creates an occluder from a bounding sphere and the camera position. + * @param occluderBoundingSphere - The bounding sphere surrounding the occluder. + * @param cameraPosition - The coordinate of the viewer/camera. + * @param [result] - The object onto which to store the result. + * @returns The occluder derived from an object's position and radius, as well as the camera position. + */ + static fromBoundingSphere(occluderBoundingSphere: BoundingSphere, cameraPosition: Cartesian3, result?: Occluder): Occluder; + /** + * Determines whether or not a point, the occludee, is hidden from view by the occluder. + * @example + * var cameraPosition = new Cesium.Cartesian3(0, 0, 0); + * var littleSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -1), 0.25); + * var occluder = new Cesium.Occluder(littleSphere, cameraPosition); + * var point = new Cesium.Cartesian3(0, 0, -3); + * occluder.isPointVisible(point); //returns true + * @param occludee - The point surrounding the occludee object. + * @returns true if the occludee is visible; otherwise false. + */ + isPointVisible(occludee: Cartesian3): boolean; + /** + * Determines whether or not a sphere, the occludee, is hidden from view by the occluder. + * @example + * var cameraPosition = new Cesium.Cartesian3(0, 0, 0); + * var littleSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -1), 0.25); + * var occluder = new Cesium.Occluder(littleSphere, cameraPosition); + * var bigSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -3), 1); + * occluder.isBoundingSphereVisible(bigSphere); //returns true + * @param occludee - The bounding sphere surrounding the occludee object. + * @returns true if the occludee is visible; otherwise false. + */ + isBoundingSphereVisible(occludee: BoundingSphere): boolean; + /** + * Determine to what extent an occludee is visible (not visible, partially visible, or fully visible). + * @example + * var sphere1 = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -1.5), 0.5); + * var sphere2 = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -2.5), 0.5); + * var cameraPosition = new Cesium.Cartesian3(0, 0, 0); + * var occluder = new Cesium.Occluder(sphere1, cameraPosition); + * occluder.computeVisibility(sphere2); //returns Visibility.NONE + * @param occludeeBS - The bounding sphere of the occludee. + * @returns Visibility.NONE if the occludee is not visible, + * Visibility.PARTIAL if the occludee is partially visible, or + * Visibility.FULL if the occludee is fully visible. + */ + computeVisibility(occludeeBS: BoundingSphere): Visibility; + /** + * Computes a point that can be used as the occludee position to the visibility functions. + * Use a radius of zero for the occludee radius. Typically, a user computes a bounding sphere around + * an object that is used for visibility; however it is also possible to compute a point that if + * seen/not seen would also indicate if an object is visible/not visible. This function is better + * called for objects that do not move relative to the occluder and is large, such as a chunk of + * terrain. You are better off not calling this and using the object's bounding sphere for objects + * such as a satellite or ground vehicle. + * @example + * var cameraPosition = new Cesium.Cartesian3(0, 0, 0); + * var occluderBoundingSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -8), 2); + * var occluder = new Cesium.Occluder(occluderBoundingSphere, cameraPosition); + * var positions = [new Cesium.Cartesian3(-0.25, 0, -5.3), new Cesium.Cartesian3(0.25, 0, -5.3)]; + * var tileOccluderSphere = Cesium.BoundingSphere.fromPoints(positions); + * var occludeePosition = tileOccluderSphere.center; + * var occludeePt = Cesium.Occluder.computeOccludeePoint(occluderBoundingSphere, occludeePosition, positions); + * @param occluderBoundingSphere - The bounding sphere surrounding the occluder. + * @param occludeePosition - The point where the occludee (bounding sphere of radius 0) is located. + * @param positions - List of altitude points on the horizon near the surface of the occluder. + * @returns An object containing two attributes: occludeePoint and valid + * which is a boolean value. + */ + static computeOccludeePoint(occluderBoundingSphere: BoundingSphere, occludeePosition: Cartesian3, positions: Cartesian3[]): any; + /** + * Computes a point that can be used as the occludee position to the visibility functions from a rectangle. + * @param rectangle - The rectangle used to create a bounding sphere. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid used to determine positions of the rectangle. + * @returns An object containing two attributes: occludeePoint and valid + * which is a boolean value. + */ + static computeOccludeePointFromRectangle(rectangle: Rectangle, ellipsoid?: Ellipsoid): any; +} + +/** + * Provides geocoding via a {@link https://opencagedata.com/|OpenCage} server. + * @example + * // Configure a Viewer to use the OpenCage Geocoder + * var viewer = new Cesium.Viewer('cesiumContainer', { + * geocoder: new Cesium.OpenCageGeocoderService('https://api.opencagedata.com/geocode/v1/', '') + * }); + * @param url - The endpoint to the OpenCage server. + * @param apiKey - The OpenCage API Key. + * @param [params] - An object with the following properties (See https://opencagedata.com/api#forward-opt): + * @param [params.abbrv] - When set to 1 we attempt to abbreviate and shorten the formatted string we return. + * @param [options.add_request] - When set to 1 the various request parameters are added to the response for ease of debugging. + * @param [options.bounds] - Provides the geocoder with a hint to the region that the query resides in. + * @param [options.countrycode] - Restricts the results to the specified country or countries (as defined by the ISO 3166-1 Alpha 2 standard). + * @param [options.jsonp] - Wraps the returned JSON with a function name. + * @param [options.language] - An IETF format language code. + * @param [options.limit] - The maximum number of results we should return. + * @param [options.min_confidence] - An integer from 1-10. Only results with at least this confidence will be returned. + * @param [options.no_annotations] - When set to 1 results will not contain annotations. + * @param [options.no_dedupe] - When set to 1 results will not be deduplicated. + * @param [options.no_record] - When set to 1 the query contents are not logged. + * @param [options.pretty] - When set to 1 results are 'pretty' printed for easier reading. Useful for debugging. + * @param [options.proximity] - Provides the geocoder with a hint to bias results in favour of those closer to the specified location (For example: 41.40139,2.12870). + */ +export class OpenCageGeocoderService { + constructor(url: Resource | string, apiKey: string, params?: { + abbrv?: number; + }); + /** + * The Resource used to access the OpenCage endpoint. + */ + readonly url: Resource; + /** + * Optional params passed to OpenCage in order to customize geocoding + */ + readonly params: any; + /** + * @param query - The query to be sent to the geocoder service + */ + geocode(query: string): Promise; +} + +/** + * Creates an instance of an OrientedBoundingBox. + * An OrientedBoundingBox of some object is a closed and convex cuboid. It can provide a tighter bounding volume than {@link BoundingSphere} or {@link AxisAlignedBoundingBox} in many cases. + * @example + * // Create an OrientedBoundingBox using a transformation matrix, a position where the box will be translated, and a scale. + * var center = new Cesium.Cartesian3(1.0, 0.0, 0.0); + * var halfAxes = Cesium.Matrix3.fromScale(new Cesium.Cartesian3(1.0, 3.0, 2.0), new Cesium.Matrix3()); + * + * var obb = new Cesium.OrientedBoundingBox(center, halfAxes); + * @param [center = Cartesian3.ZERO] - The center of the box. + * @param [halfAxes = Matrix3.ZERO] - The three orthogonal half-axes of the bounding box. + * Equivalently, the transformation matrix, to rotate and scale a 0x0x0 + * cube centered at the origin. + */ +export class OrientedBoundingBox { + constructor(center?: Cartesian3, halfAxes?: Matrix3); + /** + * The center of the box. + */ + center: Cartesian3; + /** + * The transformation matrix, to rotate the box to the right position. + */ + halfAxes: Matrix3; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: OrientedBoundingBox, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new OrientedBoundingBox instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: OrientedBoundingBox): OrientedBoundingBox; + /** + * Computes an instance of an OrientedBoundingBox of the given positions. + * This is an implementation of Stefan Gottschalk's Collision Queries using Oriented Bounding Boxes solution (PHD thesis). + * Reference: http://gamma.cs.unc.edu/users/gottschalk/main.pdf + * @example + * // Compute an object oriented bounding box enclosing two points. + * var box = Cesium.OrientedBoundingBox.fromPoints([new Cesium.Cartesian3(2, 0, 0), new Cesium.Cartesian3(-2, 0, 0)]); + * @param [positions] - List of {@link Cartesian3} points that the bounding box will enclose. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new OrientedBoundingBox instance if one was not provided. + */ + static fromPoints(positions?: Cartesian3[], result?: OrientedBoundingBox): OrientedBoundingBox; + /** + * Computes an OrientedBoundingBox that bounds a {@link Rectangle} on the surface of an {@link Ellipsoid}. + * There are no guarantees about the orientation of the bounding box. + * @param rectangle - The cartographic rectangle on the surface of the ellipsoid. + * @param [minimumHeight = 0.0] - The minimum height (elevation) within the tile. + * @param [maximumHeight = 0.0] - The maximum height (elevation) within the tile. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the rectangle is defined. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new OrientedBoundingBox instance if none was provided. + */ + static fromRectangle(rectangle: Rectangle, minimumHeight?: number, maximumHeight?: number, ellipsoid?: Ellipsoid, result?: OrientedBoundingBox): OrientedBoundingBox; + /** + * Duplicates a OrientedBoundingBox instance. + * @param box - The bounding box to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new OrientedBoundingBox instance if none was provided. (Returns undefined if box is undefined) + */ + static clone(box: OrientedBoundingBox, result?: OrientedBoundingBox): OrientedBoundingBox; + /** + * Determines which side of a plane the oriented bounding box is located. + * @param box - The oriented bounding box to test. + * @param plane - The plane to test against. + * @returns {@link Intersect.INSIDE} if the entire box is on the side of the plane + * the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is + * on the opposite side, and {@link Intersect.INTERSECTING} if the box + * intersects the plane. + */ + static intersectPlane(box: OrientedBoundingBox, plane: Plane): Intersect; + /** + * Computes the estimated distance squared from the closest point on a bounding box to a point. + * @example + * // Sort bounding boxes from back to front + * boxes.sort(function(a, b) { + * return Cesium.OrientedBoundingBox.distanceSquaredTo(b, camera.positionWC) - Cesium.OrientedBoundingBox.distanceSquaredTo(a, camera.positionWC); + * }); + * @param box - The box. + * @param cartesian - The point + * @returns The estimated distance squared from the bounding sphere to the point. + */ + static distanceSquaredTo(box: OrientedBoundingBox, cartesian: Cartesian3): number; + /** + * The distances calculated by the vector from the center of the bounding box to position projected onto direction. + *
+ * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the + * closest and farthest planes from position that intersect the bounding box. + * @param box - The bounding box to calculate the distance to. + * @param position - The position to calculate the distance from. + * @param direction - The direction from position. + * @param [result] - A Interval to store the nearest and farthest distances. + * @returns The nearest and farthest distances on the bounding box from position in direction. + */ + static computePlaneDistances(box: OrientedBoundingBox, position: Cartesian3, direction: Cartesian3, result?: Interval): Interval; + /** + * Determines whether or not a bounding box is hidden from view by the occluder. + * @param box - The bounding box surrounding the occludee object. + * @param occluder - The occluder. + * @returns true if the box is not visible; otherwise false. + */ + static isOccluded(box: OrientedBoundingBox, occluder: Occluder): boolean; + /** + * Determines which side of a plane the oriented bounding box is located. + * @param plane - The plane to test against. + * @returns {@link Intersect.INSIDE} if the entire box is on the side of the plane + * the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is + * on the opposite side, and {@link Intersect.INTERSECTING} if the box + * intersects the plane. + */ + intersectPlane(plane: Plane): Intersect; + /** + * Computes the estimated distance squared from the closest point on a bounding box to a point. + * @example + * // Sort bounding boxes from back to front + * boxes.sort(function(a, b) { + * return b.distanceSquaredTo(camera.positionWC) - a.distanceSquaredTo(camera.positionWC); + * }); + * @param cartesian - The point + * @returns The estimated distance squared from the bounding sphere to the point. + */ + distanceSquaredTo(cartesian: Cartesian3): number; + /** + * The distances calculated by the vector from the center of the bounding box to position projected onto direction. + *
+ * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the + * closest and farthest planes from position that intersect the bounding box. + * @param position - The position to calculate the distance from. + * @param direction - The direction from position. + * @param [result] - A Interval to store the nearest and farthest distances. + * @returns The nearest and farthest distances on the bounding box from position in direction. + */ + computePlaneDistances(position: Cartesian3, direction: Cartesian3, result?: Interval): Interval; + /** + * Determines whether or not a bounding box is hidden from view by the occluder. + * @param occluder - The occluder. + * @returns true if the sphere is not visible; otherwise false. + */ + isOccluded(occluder: Occluder): boolean; + /** + * Compares the provided OrientedBoundingBox componentwise and returns + * true if they are equal, false otherwise. + * @param left - The first OrientedBoundingBox. + * @param right - The second OrientedBoundingBox. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left: OrientedBoundingBox, right: OrientedBoundingBox): boolean; + /** + * Duplicates this OrientedBoundingBox instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new OrientedBoundingBox instance if one was not provided. + */ + clone(result?: OrientedBoundingBox): OrientedBoundingBox; + /** + * Compares this OrientedBoundingBox against the provided OrientedBoundingBox componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side OrientedBoundingBox. + * @returns true if they are equal, false otherwise. + */ + equals(right?: OrientedBoundingBox): boolean; +} + +/** + * The viewing frustum is defined by 6 planes. + * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components + * define the unit vector normal to the plane, and the w component is the distance of the + * plane from the origin/camera position. + * @example + * var maxRadii = ellipsoid.maximumRadius; + * + * var frustum = new Cesium.OrthographicFrustum(); + * frustum.near = 0.01 * maxRadii; + * frustum.far = 50.0 * maxRadii; + * @param [options] - An object with the following properties: + * @param [options.width] - The width of the frustum in meters. + * @param [options.aspectRatio] - The aspect ratio of the frustum's width to it's height. + * @param [options.near = 1.0] - The distance of the near plane. + * @param [options.far = 500000000.0] - The distance of the far plane. + */ +export class OrthographicFrustum { + constructor(options?: { + width?: number; + aspectRatio?: number; + near?: number; + far?: number; + }); + /** + * The horizontal width of the frustum in meters. + */ + width: number; + /** + * The aspect ratio of the frustum's width to it's height. + */ + aspectRatio: number; + /** + * The distance of the near plane. + */ + near: number; + /** + * The distance of the far plane. + */ + far: number; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: OrthographicFrustum, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new OrthographicFrustum instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: OrthographicFrustum): OrthographicFrustum; + /** + * Gets the orthographic projection matrix computed from the view frustum. + */ + readonly projectionMatrix: Matrix4; + /** + * Creates a culling volume for this frustum. + * @example + * // Check if a bounding volume intersects the frustum. + * var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp); + * var intersect = cullingVolume.computeVisibility(boundingVolume); + * @param position - The eye position. + * @param direction - The view direction. + * @param up - The up direction. + * @returns A culling volume at the given position and orientation. + */ + computeCullingVolume(position: Cartesian3, direction: Cartesian3, up: Cartesian3): CullingVolume; + /** + * Returns the pixel's width and height in meters. + * @example + * // Example 1 + * // Get the width and height of a pixel. + * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, scene.pixelRatio, new Cesium.Cartesian2()); + * @param drawingBufferWidth - The width of the drawing buffer. + * @param drawingBufferHeight - The height of the drawing buffer. + * @param distance - The distance to the near plane in meters. + * @param pixelRatio - The scaling factor from pixel space to coordinate space. + * @param result - The object onto which to store the result. + * @returns The modified result parameter or a new instance of {@link Cartesian2} with the pixel's width and height in the x and y properties, respectively. + */ + getPixelDimensions(drawingBufferWidth: number, drawingBufferHeight: number, distance: number, pixelRatio: number, result: Cartesian2): Cartesian2; + /** + * Returns a duplicate of a OrthographicFrustum instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new OrthographicFrustum instance if one was not provided. + */ + clone(result?: OrthographicFrustum): OrthographicFrustum; + /** + * Compares the provided OrthographicFrustum componentwise and returns + * true if they are equal, false otherwise. + * @param [other] - The right hand side OrthographicFrustum. + * @returns true if they are equal, false otherwise. + */ + equals(other?: OrthographicFrustum): boolean; + /** + * Compares the provided OrthographicFrustum componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param other - The right hand side OrthographicFrustum. + * @param relativeEpsilon - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if this and other are within the provided epsilon, false otherwise. + */ + equalsEpsilon(other: OrthographicFrustum, relativeEpsilon: number, absoluteEpsilon?: number): boolean; +} + +/** + * The viewing frustum is defined by 6 planes. + * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components + * define the unit vector normal to the plane, and the w component is the distance of the + * plane from the origin/camera position. + * @example + * var maxRadii = ellipsoid.maximumRadius; + * + * var frustum = new Cesium.OrthographicOffCenterFrustum(); + * frustum.right = maxRadii * Cesium.Math.PI; + * frustum.left = -c.frustum.right; + * frustum.top = c.frustum.right * (canvas.clientHeight / canvas.clientWidth); + * frustum.bottom = -c.frustum.top; + * frustum.near = 0.01 * maxRadii; + * frustum.far = 50.0 * maxRadii; + * @param [options] - An object with the following properties: + * @param [options.left] - The left clipping plane distance. + * @param [options.right] - The right clipping plane distance. + * @param [options.top] - The top clipping plane distance. + * @param [options.bottom] - The bottom clipping plane distance. + * @param [options.near = 1.0] - The near clipping plane distance. + * @param [options.far = 500000000.0] - The far clipping plane distance. + */ +export class OrthographicOffCenterFrustum { + constructor(options?: { + left?: number; + right?: number; + top?: number; + bottom?: number; + near?: number; + far?: number; + }); + /** + * The left clipping plane. + */ + left: number; + /** + * The right clipping plane. + */ + right: number; + /** + * The top clipping plane. + */ + top: number; + /** + * The bottom clipping plane. + */ + bottom: number; + /** + * The distance of the near plane. + */ + near: number; + /** + * The distance of the far plane. + */ + far: number; + /** + * Gets the orthographic projection matrix computed from the view frustum. + */ + readonly projectionMatrix: Matrix4; + /** + * Creates a culling volume for this frustum. + * @example + * // Check if a bounding volume intersects the frustum. + * var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp); + * var intersect = cullingVolume.computeVisibility(boundingVolume); + * @param position - The eye position. + * @param direction - The view direction. + * @param up - The up direction. + * @returns A culling volume at the given position and orientation. + */ + computeCullingVolume(position: Cartesian3, direction: Cartesian3, up: Cartesian3): CullingVolume; + /** + * Returns the pixel's width and height in meters. + * @example + * // Example 1 + * // Get the width and height of a pixel. + * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, scene.pixelRatio, new Cesium.Cartesian2()); + * @param drawingBufferWidth - The width of the drawing buffer. + * @param drawingBufferHeight - The height of the drawing buffer. + * @param distance - The distance to the near plane in meters. + * @param pixelRatio - The scaling factor from pixel space to coordinate space. + * @param result - The object onto which to store the result. + * @returns The modified result parameter or a new instance of {@link Cartesian2} with the pixel's width and height in the x and y properties, respectively. + */ + getPixelDimensions(drawingBufferWidth: number, drawingBufferHeight: number, distance: number, pixelRatio: number, result: Cartesian2): Cartesian2; + /** + * Returns a duplicate of a OrthographicOffCenterFrustum instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new OrthographicOffCenterFrustum instance if one was not provided. + */ + clone(result?: OrthographicOffCenterFrustum): OrthographicOffCenterFrustum; + /** + * Compares the provided OrthographicOffCenterFrustum componentwise and returns + * true if they are equal, false otherwise. + * @param [other] - The right hand side OrthographicOffCenterFrustum. + * @returns true if they are equal, false otherwise. + */ + equals(other?: OrthographicOffCenterFrustum): boolean; + /** + * Compares the provided OrthographicOffCenterFrustum componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param other - The right hand side OrthographicOffCenterFrustum. + * @param relativeEpsilon - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if this and other are within the provided epsilon, false otherwise. + */ + equalsEpsilon(other: OrthographicOffCenterFrustum, relativeEpsilon: number, absoluteEpsilon?: number): boolean; +} + +export namespace Packable { + /** + * The number of elements used to pack the object into an array. + */ + var packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + */ + function pack(value: any, array: number[], startingIndex?: number): void; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Object instance if one was not provided. + */ + function unpack(array: number[], startingIndex?: number, result?: any): any; +} + +/** + * Static interface for types which can store their values as packed + * elements in an array. These methods and properties are expected to be + * defined on a constructor function. + */ +export interface Packable { +} + +/** + * Static interface for {@link Packable} types which are interpolated in a + * different representation than their packed value. These methods and + * properties are expected to be defined on a constructor function. + */ +export namespace PackableForInterpolation { + /** + * The number of elements used to store the object into an array in its interpolatable form. + */ + var packedInterpolationLength: number; + /** + * Converts a packed array into a form suitable for interpolation. + * @param packedArray - The packed array. + * @param [startingIndex = 0] - The index of the first element to be converted. + * @param [lastIndex = packedArray.length] - The index of the last element to be converted. + * @param [result] - The object into which to store the result. + */ + function convertPackedArrayForInterpolation(packedArray: number[], startingIndex?: number, lastIndex?: number, result?: number[]): void; + /** + * Retrieves an instance from a packed array converted with {@link PackableForInterpolation.convertPackedArrayForInterpolation}. + * @param array - The array previously packed for interpolation. + * @param sourceArray - The original packed array. + * @param [startingIndex = 0] - The startingIndex used to convert the array. + * @param [lastIndex = packedArray.length] - The lastIndex used to convert the array. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Object instance if one was not provided. + */ + function unpackInterpolationResult(array: number[], sourceArray: number[], startingIndex?: number, lastIndex?: number, result?: any): any; +} + +/** + * Provides geocoding via a {@link https://pelias.io/|Pelias} server. + * @example + * // Configure a Viewer to use the Pelias server hosted by https://geocode.earth/ + * var viewer = new Cesium.Viewer('cesiumContainer', { + * geocoder: new Cesium.PeliasGeocoderService(new Cesium.Resource({ + * url: 'https://api.geocode.earth/v1/', + * queryParameters: { + * api_key: '' + * } + * })) + * }); + * @param url - The endpoint to the Pelias server. + */ +export class PeliasGeocoderService { + constructor(url: Resource | string); + /** + * The Resource used to access the Pelias endpoint. + */ + readonly url: Resource; + /** + * @param query - The query to be sent to the geocoder service + * @param [type = GeocodeType.SEARCH] - The type of geocode to perform. + */ + geocode(query: string, type?: GeocodeType): Promise; +} + +/** + * The viewing frustum is defined by 6 planes. + * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components + * define the unit vector normal to the plane, and the w component is the distance of the + * plane from the origin/camera position. + * @example + * var frustum = new Cesium.PerspectiveFrustum({ + * fov : Cesium.Math.PI_OVER_THREE, + * aspectRatio : canvas.clientWidth / canvas.clientHeight + * near : 1.0, + * far : 1000.0 + * }); + * @param [options] - An object with the following properties: + * @param [options.fov] - The angle of the field of view (FOV), in radians. + * @param [options.aspectRatio] - The aspect ratio of the frustum's width to it's height. + * @param [options.near = 1.0] - The distance of the near plane. + * @param [options.far = 500000000.0] - The distance of the far plane. + * @param [options.xOffset = 0.0] - The offset in the x direction. + * @param [options.yOffset = 0.0] - The offset in the y direction. + */ +export class PerspectiveFrustum { + constructor(options?: { + fov?: number; + aspectRatio?: number; + near?: number; + far?: number; + xOffset?: number; + yOffset?: number; + }); + /** + * The angle of the field of view (FOV), in radians. This angle will be used + * as the horizontal FOV if the width is greater than the height, otherwise + * it will be the vertical FOV. + */ + fov: number; + /** + * The aspect ratio of the frustum's width to it's height. + */ + aspectRatio: number; + /** + * The distance of the near plane. + */ + near: number; + /** + * The distance of the far plane. + */ + far: number; + /** + * Offsets the frustum in the x direction. + */ + xOffset: number; + /** + * Offsets the frustum in the y direction. + */ + yOffset: number; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: PerspectiveFrustum, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new PerspectiveFrustum instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: PerspectiveFrustum): PerspectiveFrustum; + /** + * Gets the perspective projection matrix computed from the view frustum. + */ + readonly projectionMatrix: Matrix4; + /** + * The perspective projection matrix computed from the view frustum with an infinite far plane. + */ + readonly infiniteProjectionMatrix: Matrix4; + /** + * Gets the angle of the vertical field of view, in radians. + */ + readonly fovy: number; + /** + * Creates a culling volume for this frustum. + * @example + * // Check if a bounding volume intersects the frustum. + * var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp); + * var intersect = cullingVolume.computeVisibility(boundingVolume); + * @param position - The eye position. + * @param direction - The view direction. + * @param up - The up direction. + * @returns A culling volume at the given position and orientation. + */ + computeCullingVolume(position: Cartesian3, direction: Cartesian3, up: Cartesian3): CullingVolume; + /** + * Returns the pixel's width and height in meters. + * @example + * // Example 1 + * // Get the width and height of a pixel. + * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 1.0, scene.pixelRatio, new Cesium.Cartesian2()); + * @example + * // Example 2 + * // Get the width and height of a pixel if the near plane was set to 'distance'. + * // For example, get the size of a pixel of an image on a billboard. + * var position = camera.position; + * var direction = camera.direction; + * var toCenter = Cesium.Cartesian3.subtract(primitive.boundingVolume.center, position, new Cesium.Cartesian3()); // vector from camera to a primitive + * var toCenterProj = Cesium.Cartesian3.multiplyByScalar(direction, Cesium.Cartesian3.dot(direction, toCenter), new Cesium.Cartesian3()); // project vector onto camera direction vector + * var distance = Cesium.Cartesian3.magnitude(toCenterProj); + * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, distance, scene.pixelRatio, new Cesium.Cartesian2()); + * @param drawingBufferWidth - The width of the drawing buffer. + * @param drawingBufferHeight - The height of the drawing buffer. + * @param distance - The distance to the near plane in meters. + * @param pixelRatio - The scaling factor from pixel space to coordinate space. + * @param result - The object onto which to store the result. + * @returns The modified result parameter or a new instance of {@link Cartesian2} with the pixel's width and height in the x and y properties, respectively. + */ + getPixelDimensions(drawingBufferWidth: number, drawingBufferHeight: number, distance: number, pixelRatio: number, result: Cartesian2): Cartesian2; + /** + * Returns a duplicate of a PerspectiveFrustum instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new PerspectiveFrustum instance if one was not provided. + */ + clone(result?: PerspectiveFrustum): PerspectiveFrustum; + /** + * Compares the provided PerspectiveFrustum componentwise and returns + * true if they are equal, false otherwise. + * @param [other] - The right hand side PerspectiveFrustum. + * @returns true if they are equal, false otherwise. + */ + equals(other?: PerspectiveFrustum): boolean; + /** + * Compares the provided PerspectiveFrustum componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param other - The right hand side PerspectiveFrustum. + * @param relativeEpsilon - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if this and other are within the provided epsilon, false otherwise. + */ + equalsEpsilon(other: PerspectiveFrustum, relativeEpsilon: number, absoluteEpsilon?: number): boolean; +} + +/** + * The viewing frustum is defined by 6 planes. + * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components + * define the unit vector normal to the plane, and the w component is the distance of the + * plane from the origin/camera position. + * @example + * var frustum = new Cesium.PerspectiveOffCenterFrustum({ + * left : -1.0, + * right : 1.0, + * top : 1.0, + * bottom : -1.0, + * near : 1.0, + * far : 100.0 + * }); + * @param [options] - An object with the following properties: + * @param [options.left] - The left clipping plane distance. + * @param [options.right] - The right clipping plane distance. + * @param [options.top] - The top clipping plane distance. + * @param [options.bottom] - The bottom clipping plane distance. + * @param [options.near = 1.0] - The near clipping plane distance. + * @param [options.far = 500000000.0] - The far clipping plane distance. + */ +export class PerspectiveOffCenterFrustum { + constructor(options?: { + left?: number; + right?: number; + top?: number; + bottom?: number; + near?: number; + far?: number; + }); + /** + * Defines the left clipping plane. + */ + left: number; + /** + * Defines the right clipping plane. + */ + right: number; + /** + * Defines the top clipping plane. + */ + top: number; + /** + * Defines the bottom clipping plane. + */ + bottom: number; + /** + * The distance of the near plane. + */ + near: number; + /** + * The distance of the far plane. + */ + far: number; + /** + * Gets the perspective projection matrix computed from the view frustum. + */ + readonly projectionMatrix: Matrix4; + /** + * Gets the perspective projection matrix computed from the view frustum with an infinite far plane. + */ + readonly infiniteProjectionMatrix: Matrix4; + /** + * Creates a culling volume for this frustum. + * @example + * // Check if a bounding volume intersects the frustum. + * var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp); + * var intersect = cullingVolume.computeVisibility(boundingVolume); + * @param position - The eye position. + * @param direction - The view direction. + * @param up - The up direction. + * @returns A culling volume at the given position and orientation. + */ + computeCullingVolume(position: Cartesian3, direction: Cartesian3, up: Cartesian3): CullingVolume; + /** + * Returns the pixel's width and height in meters. + * @example + * // Example 1 + * // Get the width and height of a pixel. + * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 1.0, scene.pixelRatio, new Cesium.Cartesian2()); + * @example + * // Example 2 + * // Get the width and height of a pixel if the near plane was set to 'distance'. + * // For example, get the size of a pixel of an image on a billboard. + * var position = camera.position; + * var direction = camera.direction; + * var toCenter = Cesium.Cartesian3.subtract(primitive.boundingVolume.center, position, new Cesium.Cartesian3()); // vector from camera to a primitive + * var toCenterProj = Cesium.Cartesian3.multiplyByScalar(direction, Cesium.Cartesian3.dot(direction, toCenter), new Cesium.Cartesian3()); // project vector onto camera direction vector + * var distance = Cesium.Cartesian3.magnitude(toCenterProj); + * var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, distance, scene.pixelRatio, new Cesium.Cartesian2()); + * @param drawingBufferWidth - The width of the drawing buffer. + * @param drawingBufferHeight - The height of the drawing buffer. + * @param distance - The distance to the near plane in meters. + * @param pixelRatio - The scaling factor from pixel space to coordinate space. + * @param result - The object onto which to store the result. + * @returns The modified result parameter or a new instance of {@link Cartesian2} with the pixel's width and height in the x and y properties, respectively. + */ + getPixelDimensions(drawingBufferWidth: number, drawingBufferHeight: number, distance: number, pixelRatio: number, result: Cartesian2): Cartesian2; + /** + * Returns a duplicate of a PerspectiveOffCenterFrustum instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new PerspectiveFrustum instance if one was not provided. + */ + clone(result?: PerspectiveOffCenterFrustum): PerspectiveOffCenterFrustum; + /** + * Compares the provided PerspectiveOffCenterFrustum componentwise and returns + * true if they are equal, false otherwise. + * @param [other] - The right hand side PerspectiveOffCenterFrustum. + * @returns true if they are equal, false otherwise. + */ + equals(other?: PerspectiveOffCenterFrustum): boolean; + /** + * Compares the provided PerspectiveOffCenterFrustum componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param other - The right hand side PerspectiveOffCenterFrustum. + * @param relativeEpsilon - The relative epsilon tolerance to use for equality testing. + * @param [absoluteEpsilon = relativeEpsilon] - The absolute epsilon tolerance to use for equality testing. + * @returns true if this and other are within the provided epsilon, false otherwise. + */ + equalsEpsilon(other: PerspectiveOffCenterFrustum, relativeEpsilon: number, absoluteEpsilon?: number): boolean; +} + +/** + * A utility class for generating custom map pins as canvas elements. + *

+ *
+ *
+ * Example pins generated using both the maki icon set, which ships with Cesium, and single character text. + *
+ */ +export class PinBuilder { + constructor(); + /** + * Creates an empty pin of the specified color and size. + * @param color - The color of the pin. + * @param size - The size of the pin, in pixels. + * @returns The canvas element that represents the generated pin. + */ + fromColor(color: Color, size: number): HTMLCanvasElement; + /** + * Creates a pin with the specified icon, color, and size. + * @param url - The url of the image to be stamped onto the pin. + * @param color - The color of the pin. + * @param size - The size of the pin, in pixels. + * @returns The canvas element or a Promise to the canvas element that represents the generated pin. + */ + fromUrl(url: Resource | string, color: Color, size: number): HTMLCanvasElement | Promise; + /** + * Creates a pin with the specified {@link https://www.mapbox.com/maki/|maki} icon identifier, color, and size. + * @param id - The id of the maki icon to be stamped onto the pin. + * @param color - The color of the pin. + * @param size - The size of the pin, in pixels. + * @returns The canvas element or a Promise to the canvas element that represents the generated pin. + */ + fromMakiIconId(id: string, color: Color, size: number): HTMLCanvasElement | Promise; + /** + * Creates a pin with the specified text, color, and size. The text will be sized to be as large as possible + * while still being contained completely within the pin. + * @param text - The text to be stamped onto the pin. + * @param color - The color of the pin. + * @param size - The size of the pin, in pixels. + * @returns The canvas element that represents the generated pin. + */ + fromText(text: string, color: Color, size: number): HTMLCanvasElement; +} + +/** + * The format of a pixel, i.e., the number of components it has and what they represent. + */ +export enum PixelFormat { + /** + * A pixel format containing a depth value. + */ + DEPTH_COMPONENT = WebGLConstants.DEPTH_COMPONENT, + /** + * A pixel format containing a depth and stencil value, most often used with {@link PixelDatatype.UNSIGNED_INT_24_8}. + */ + DEPTH_STENCIL = WebGLConstants.DEPTH_STENCIL, + /** + * A pixel format containing an alpha channel. + */ + ALPHA = WebGLConstants.ALPHA, + /** + * A pixel format containing red, green, and blue channels. + */ + RGB = WebGLConstants.RGB, + /** + * A pixel format containing red, green, blue, and alpha channels. + */ + RGBA = WebGLConstants.RGBA, + /** + * A pixel format containing a luminance (intensity) channel. + */ + LUMINANCE = WebGLConstants.LUMINANCE, + /** + * A pixel format containing luminance (intensity) and alpha channels. + */ + LUMINANCE_ALPHA = WebGLConstants.LUMINANCE_ALPHA, + /** + * A pixel format containing red, green, and blue channels that is DXT1 compressed. + */ + RGB_DXT1 = WebGLConstants.COMPRESSED_RGB_S3TC_DXT1_EXT, + /** + * A pixel format containing red, green, blue, and alpha channels that is DXT1 compressed. + */ + RGBA_DXT1 = WebGLConstants.COMPRESSED_RGBA_S3TC_DXT1_EXT, + /** + * A pixel format containing red, green, blue, and alpha channels that is DXT3 compressed. + */ + RGBA_DXT3 = WebGLConstants.COMPRESSED_RGBA_S3TC_DXT3_EXT, + /** + * A pixel format containing red, green, blue, and alpha channels that is DXT5 compressed. + */ + RGBA_DXT5 = WebGLConstants.COMPRESSED_RGBA_S3TC_DXT5_EXT, + /** + * A pixel format containing red, green, and blue channels that is PVR 4bpp compressed. + */ + RGB_PVRTC_4BPPV1 = WebGLConstants.COMPRESSED_RGB_PVRTC_4BPPV1_IMG, + /** + * A pixel format containing red, green, and blue channels that is PVR 2bpp compressed. + */ + RGB_PVRTC_2BPPV1 = WebGLConstants.COMPRESSED_RGB_PVRTC_2BPPV1_IMG, + /** + * A pixel format containing red, green, blue, and alpha channels that is PVR 4bpp compressed. + */ + RGBA_PVRTC_4BPPV1 = WebGLConstants.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, + /** + * A pixel format containing red, green, blue, and alpha channels that is PVR 2bpp compressed. + */ + RGBA_PVRTC_2BPPV1 = WebGLConstants.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, + /** + * A pixel format containing red, green, and blue channels that is ETC1 compressed. + */ + RGB_ETC1 = WebGLConstants.COMPRESSED_RGB_ETC1_WEBGL +} + +/** + * A plane in Hessian Normal Form defined by + *
+ * ax + by + cz + d = 0
+ * 
+ * where (a, b, c) is the plane's normal, d is the signed + * distance to the plane, and (x, y, z) is any point on + * the plane. + * @example + * // The plane x=0 + * var plane = new Cesium.Plane(Cesium.Cartesian3.UNIT_X, 0.0); + * @param normal - The plane's normal (normalized). + * @param distance - The shortest distance from the origin to the plane. The sign of + * distance determines which side of the plane the origin + * is on. If distance is positive, the origin is in the half-space + * in the direction of the normal; if negative, the origin is in the half-space + * opposite to the normal; if zero, the plane passes through the origin. + */ +export class Plane { + constructor(normal: Cartesian3, distance: number); + /** + * The plane's normal. + */ + normal: Cartesian3; + /** + * The shortest distance from the origin to the plane. The sign of + * distance determines which side of the plane the origin + * is on. If distance is positive, the origin is in the half-space + * in the direction of the normal; if negative, the origin is in the half-space + * opposite to the normal; if zero, the plane passes through the origin. + */ + distance: number; + /** + * Creates a plane from a normal and a point on the plane. + * @example + * var point = Cesium.Cartesian3.fromDegrees(-72.0, 40.0); + * var normal = ellipsoid.geodeticSurfaceNormal(point); + * var tangentPlane = Cesium.Plane.fromPointNormal(point, normal); + * @param point - The point on the plane. + * @param normal - The plane's normal (normalized). + * @param [result] - The object onto which to store the result. + * @returns A new plane instance or the modified result parameter. + */ + static fromPointNormal(point: Cartesian3, normal: Cartesian3, result?: Plane): Plane; + /** + * Creates a plane from the general equation + * @param coefficients - The plane's normal (normalized). + * @param [result] - The object onto which to store the result. + * @returns A new plane instance or the modified result parameter. + */ + static fromCartesian4(coefficients: Cartesian4, result?: Plane): Plane; + /** + * Computes the signed shortest distance of a point to a plane. + * The sign of the distance determines which side of the plane the point + * is on. If the distance is positive, the point is in the half-space + * in the direction of the normal; if negative, the point is in the half-space + * opposite to the normal; if zero, the plane passes through the point. + * @param plane - The plane. + * @param point - The point. + * @returns The signed shortest distance of the point to the plane. + */ + static getPointDistance(plane: Plane, point: Cartesian3): number; + /** + * Projects a point onto the plane. + * @param plane - The plane to project the point onto + * @param point - The point to project onto the plane + * @param [result] - The result point. If undefined, a new Cartesian3 will be created. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. + */ + static projectPointOntoPlane(plane: Plane, point: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Transforms the plane by the given transformation matrix. + * @param plane - The plane. + * @param transform - The transformation matrix. + * @param [result] - The object into which to store the result. + * @returns The plane transformed by the given transformation matrix. + */ + static transform(plane: Plane, transform: Matrix4, result?: Plane): Plane; + /** + * Duplicates a Plane instance. + * @param plane - The plane to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Plane instance if one was not provided. + */ + static clone(plane: Plane, result?: Plane): Plane; + /** + * Compares the provided Planes by normal and distance and returns + * true if they are equal, false otherwise. + * @param left - The first plane. + * @param right - The second plane. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left: Plane, right: Plane): boolean; + /** + * A constant initialized to the XY plane passing through the origin, with normal in positive Z. + */ + static readonly ORIGIN_XY_PLANE: Plane; + /** + * A constant initialized to the YZ plane passing through the origin, with normal in positive X. + */ + static readonly ORIGIN_YZ_PLANE: Plane; + /** + * A constant initialized to the ZX plane passing through the origin, with normal in positive Y. + */ + static readonly ORIGIN_ZX_PLANE: Plane; +} + +/** + * Describes geometry representing a plane centered at the origin, with a unit width and length. + * @example + * var planeGeometry = new Cesium.PlaneGeometry({ + * vertexFormat : Cesium.VertexFormat.POSITION_ONLY + * }); + * @param [options] - Object with the following properties: + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ +export class PlaneGeometry { + constructor(options?: { + vertexFormat?: VertexFormat; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: PlaneGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new PlaneGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: PlaneGeometry): PlaneGeometry; + /** + * Computes the geometric representation of a plane, including its vertices, indices, and a bounding sphere. + * @param planeGeometry - A description of the plane. + * @returns The computed vertices and indices. + */ + static createGeometry(planeGeometry: PlaneGeometry): Geometry | undefined; +} + +/** + * Describes geometry representing the outline of a plane centered at the origin, with a unit width and length. + */ +export class PlaneOutlineGeometry { + constructor(); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @returns The array that was packed into + */ + static pack(value: PlaneOutlineGeometry, array: number[]): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new PlaneOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: PlaneOutlineGeometry): PlaneOutlineGeometry; + /** + * Computes the geometric representation of an outline of a plane, including its vertices, indices, and a bounding sphere. + * @returns The computed vertices and indices. + */ + static createGeometry(): Geometry | undefined; +} + +/** + * Determines if a point is inside a triangle. + * @example + * // Returns true + * var p = new Cesium.Cartesian2(0.25, 0.25); + * var b = Cesium.pointInsideTriangle(p, + * new Cesium.Cartesian2(0.0, 0.0), + * new Cesium.Cartesian2(1.0, 0.0), + * new Cesium.Cartesian2(0.0, 1.0)); + * @param point - The point to test. + * @param p0 - The first point of the triangle. + * @param p1 - The second point of the triangle. + * @param p2 - The third point of the triangle. + * @returns true if the point is inside the triangle; otherwise, false. + */ +export function pointInsideTriangle(point: Cartesian2 | Cartesian3, p0: Cartesian2 | Cartesian3, p1: Cartesian2 | Cartesian3, p2: Cartesian2 | Cartesian3): boolean; + +/** + * A description of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy. Polygon geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}. + * @example + * // 1. create a polygon from points + * var polygon = new Cesium.PolygonGeometry({ + * polygonHierarchy : new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0, + * -75.0, 30.0, + * -70.0, 30.0, + * -68.0, 40.0 + * ]) + * ) + * }); + * var geometry = Cesium.PolygonGeometry.createGeometry(polygon); + * + * // 2. create a nested polygon with holes + * var polygonWithHole = new Cesium.PolygonGeometry({ + * polygonHierarchy : new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -109.0, 30.0, + * -95.0, 30.0, + * -95.0, 40.0, + * -109.0, 40.0 + * ]), + * [new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -107.0, 31.0, + * -107.0, 39.0, + * -97.0, 39.0, + * -97.0, 31.0 + * ]), + * [new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -105.0, 33.0, + * -99.0, 33.0, + * -99.0, 37.0, + * -105.0, 37.0 + * ]), + * [new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -103.0, 34.0, + * -101.0, 34.0, + * -101.0, 36.0, + * -103.0, 36.0 + * ]) + * )] + * )] + * )] + * ) + * }); + * var geometry = Cesium.PolygonGeometry.createGeometry(polygonWithHole); + * + * // 3. create extruded polygon + * var extrudedPolygon = new Cesium.PolygonGeometry({ + * polygonHierarchy : new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0, + * -75.0, 30.0, + * -70.0, 30.0, + * -68.0, 40.0 + * ]) + * ), + * extrudedHeight: 300000 + * }); + * var geometry = Cesium.PolygonGeometry.createGeometry(extrudedPolygon); + * @param options - Object with the following properties: + * @param options.polygonHierarchy - A polygon hierarchy that can include holes. + * @param [options.height = 0.0] - The distance in meters between the polygon and the ellipsoid surface. + * @param [options.extrudedHeight] - The distance in meters between the polygon's extruded face and the ellipsoid surface. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.stRotation = 0.0] - The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.perPositionHeight = false] - Use the height of options.positions for each position instead of using options.height to determine the height. + * @param [options.closeTop = true] - When false, leaves off the top of an extruded polygon open. + * @param [options.closeBottom = true] - When false, leaves off the bottom of an extruded polygon open. + * @param [options.arcType = ArcType.GEODESIC] - The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}. + */ +export class PolygonGeometry { + constructor(options: { + polygonHierarchy: PolygonHierarchy; + height?: number; + extrudedHeight?: number; + vertexFormat?: VertexFormat; + stRotation?: number; + ellipsoid?: Ellipsoid; + granularity?: number; + perPositionHeight?: boolean; + closeTop?: boolean; + closeBottom?: boolean; + arcType?: ArcType; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * A description of a polygon from an array of positions. Polygon geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}. + * @example + * // create a polygon from points + * var polygon = Cesium.PolygonGeometry.fromPositions({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0, + * -75.0, 30.0, + * -70.0, 30.0, + * -68.0, 40.0 + * ]) + * }); + * var geometry = Cesium.PolygonGeometry.createGeometry(polygon); + * @param options - Object with the following properties: + * @param options.positions - An array of positions that defined the corner points of the polygon. + * @param [options.height = 0.0] - The height of the polygon. + * @param [options.extrudedHeight] - The height of the polygon extrusion. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.stRotation = 0.0] - The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.perPositionHeight = false] - Use the height of options.positions for each position instead of using options.height to determine the height. + * @param [options.closeTop = true] - When false, leaves off the top of an extruded polygon open. + * @param [options.closeBottom = true] - When false, leaves off the bottom of an extruded polygon open. + * @param [options.arcType = ArcType.GEODESIC] - The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}. + */ + static fromPositions(options: { + positions: Cartesian3[]; + height?: number; + extrudedHeight?: number; + vertexFormat?: VertexFormat; + stRotation?: number; + ellipsoid?: Ellipsoid; + granularity?: number; + perPositionHeight?: boolean; + closeTop?: boolean; + closeBottom?: boolean; + arcType?: ArcType; + }): PolygonGeometry; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: PolygonGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + */ + static unpack(array: number[], startingIndex?: number, result?: PolygonGeometry): void; + /** + * Returns the bounding rectangle given the provided options + * @param options - Object with the following properties: + * @param options.polygonHierarchy - A polygon hierarchy that can include holes. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions sampled. + * @param [options.arcType = ArcType.GEODESIC] - The type of line the polygon edges must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [result] - An object in which to store the result. + * @returns The result rectangle + */ + static computeRectangle(options: { + polygonHierarchy: PolygonHierarchy; + granularity?: number; + arcType?: ArcType; + ellipsoid?: Ellipsoid; + }, result?: Rectangle): Rectangle; + /** + * Computes the geometric representation of a polygon, including its vertices, indices, and a bounding sphere. + * @param polygonGeometry - A description of the polygon. + * @returns The computed vertices and indices. + */ + static createGeometry(polygonGeometry: PolygonGeometry): Geometry | undefined; +} + +/** + * An hierarchy of linear rings which define a polygon and its holes. + * The holes themselves may also have holes which nest inner polygons. + * @param [positions] - A linear ring defining the outer boundary of the polygon or hole. + * @param [holes] - An array of polygon hierarchies defining holes in the polygon. + */ +export class PolygonHierarchy { + constructor(positions?: Cartesian3[], holes?: PolygonHierarchy[]); + /** + * A linear ring defining the outer boundary of the polygon or hole. + */ + positions: Cartesian3[]; + /** + * An array of polygon hierarchies defining holes in the polygon. + */ + holes: PolygonHierarchy[]; +} + +/** + * A description of the outline of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy. + * @example + * // 1. create a polygon outline from points + * var polygon = new Cesium.PolygonOutlineGeometry({ + * polygonHierarchy : new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0, + * -75.0, 30.0, + * -70.0, 30.0, + * -68.0, 40.0 + * ]) + * ) + * }); + * var geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon); + * + * // 2. create a nested polygon with holes outline + * var polygonWithHole = new Cesium.PolygonOutlineGeometry({ + * polygonHierarchy : new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -109.0, 30.0, + * -95.0, 30.0, + * -95.0, 40.0, + * -109.0, 40.0 + * ]), + * [new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -107.0, 31.0, + * -107.0, 39.0, + * -97.0, 39.0, + * -97.0, 31.0 + * ]), + * [new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -105.0, 33.0, + * -99.0, 33.0, + * -99.0, 37.0, + * -105.0, 37.0 + * ]), + * [new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -103.0, 34.0, + * -101.0, 34.0, + * -101.0, 36.0, + * -103.0, 36.0 + * ]) + * )] + * )] + * )] + * ) + * }); + * var geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygonWithHole); + * + * // 3. create extruded polygon outline + * var extrudedPolygon = new Cesium.PolygonOutlineGeometry({ + * polygonHierarchy : new Cesium.PolygonHierarchy( + * Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0, + * -75.0, 30.0, + * -70.0, 30.0, + * -68.0, 40.0 + * ]) + * ), + * extrudedHeight: 300000 + * }); + * var geometry = Cesium.PolygonOutlineGeometry.createGeometry(extrudedPolygon); + * @param options - Object with the following properties: + * @param options.polygonHierarchy - A polygon hierarchy that can include holes. + * @param [options.height = 0.0] - The distance in meters between the polygon and the ellipsoid surface. + * @param [options.extrudedHeight] - The distance in meters between the polygon's extruded face and the ellipsoid surface. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.perPositionHeight = false] - Use the height of options.positions for each position instead of using options.height to determine the height. + * @param [options.arcType = ArcType.GEODESIC] - The type of path the outline must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}. + */ +export class PolygonOutlineGeometry { + constructor(options: { + polygonHierarchy: PolygonHierarchy; + height?: number; + extrudedHeight?: number; + vertexFormat?: VertexFormat; + ellipsoid?: Ellipsoid; + granularity?: number; + perPositionHeight?: boolean; + arcType?: ArcType; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: PolygonOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new PolygonOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: PolygonOutlineGeometry): PolygonOutlineGeometry; + /** + * A description of a polygon outline from an array of positions. + * @example + * // create a polygon from points + * var polygon = Cesium.PolygonOutlineGeometry.fromPositions({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0, + * -75.0, 30.0, + * -70.0, 30.0, + * -68.0, 40.0 + * ]) + * }); + * var geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon); + * @param options - Object with the following properties: + * @param options.positions - An array of positions that defined the corner points of the polygon. + * @param [options.height = 0.0] - The height of the polygon. + * @param [options.extrudedHeight] - The height of the polygon extrusion. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.perPositionHeight = false] - Use the height of options.positions for each position instead of using options.height to determine the height. + * @param [options.arcType = ArcType.GEODESIC] - The type of path the outline must follow. Valid options are {@link LinkType.GEODESIC} and {@link ArcType.RHUMB}. + */ + static fromPositions(options: { + positions: Cartesian3[]; + height?: number; + extrudedHeight?: number; + ellipsoid?: Ellipsoid; + granularity?: number; + perPositionHeight?: boolean; + arcType?: ArcType; + }): PolygonOutlineGeometry; + /** + * Computes the geometric representation of a polygon outline, including its vertices, indices, and a bounding sphere. + * @param polygonGeometry - A description of the polygon outline. + * @returns The computed vertices and indices. + */ + static createGeometry(polygonGeometry: PolygonOutlineGeometry): Geometry | undefined; +} + +/** + * A description of a polyline modeled as a line strip; the first two positions define a line segment, + * and each additional position defines a line segment from the previous position. The polyline is capable of + * displaying with a material. + * @example + * // A polyline with two connected line segments + * var polyline = new Cesium.PolylineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * 0.0, 0.0, + * 5.0, 0.0, + * 5.0, 5.0 + * ]), + * width : 10.0 + * }); + * var geometry = Cesium.PolylineGeometry.createGeometry(polyline); + * @param options - Object with the following properties: + * @param options.positions - An array of {@link Cartesian3} defining the positions in the polyline as a line strip. + * @param [options.width = 1.0] - The width in pixels. + * @param [options.colors] - An Array of {@link Color} defining the per vertex or per segment colors. + * @param [options.colorsPerVertex = false] - A boolean that determines whether the colors will be flat across each segment of the line or interpolated across the vertices. + * @param [options.arcType = ArcType.GEODESIC] - The type of line the polyline segments must follow. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude if options.arcType is not ArcType.NONE. Determines the number of positions in the buffer. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + */ +export class PolylineGeometry { + constructor(options: { + positions: Cartesian3[]; + width?: number; + colors?: Color[]; + colorsPerVertex?: boolean; + arcType?: ArcType; + granularity?: number; + vertexFormat?: VertexFormat; + ellipsoid?: Ellipsoid; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: PolylineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new PolylineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: PolylineGeometry): PolylineGeometry; + /** + * Computes the geometric representation of a polyline, including its vertices, indices, and a bounding sphere. + * @param polylineGeometry - A description of the polyline. + * @returns The computed vertices and indices. + */ + static createGeometry(polylineGeometry: PolylineGeometry): Geometry | undefined; +} + +/** + * A description of a polyline with a volume (a 2D shape extruded along a polyline). + * @example + * function computeCircle(radius) { + * var positions = []; + * for (var i = 0; i < 360; i++) { + * var radians = Cesium.Math.toRadians(i); + * positions.push(new Cesium.Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians))); + * } + * return positions; + * } + * + * var volume = new Cesium.PolylineVolumeGeometry({ + * vertexFormat : Cesium.VertexFormat.POSITION_ONLY, + * polylinePositions : Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0 + * ]), + * shapePositions : computeCircle(100000.0) + * }); + * @param options - Object with the following properties: + * @param options.polylinePositions - An array of {@link Cartesain3} positions that define the center of the polyline volume. + * @param options.shapePositions - An array of {@link Cartesian2} positions that define the shape to be extruded along the polyline + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.cornerType = CornerType.ROUNDED] - Determines the style of the corners. + */ +export class PolylineVolumeGeometry { + constructor(options: { + polylinePositions: Cartesian3[]; + shapePositions: Cartesian2[]; + ellipsoid?: Ellipsoid; + granularity?: number; + vertexFormat?: VertexFormat; + cornerType?: CornerType; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: PolylineVolumeGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new PolylineVolumeGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: PolylineVolumeGeometry): PolylineVolumeGeometry; + /** + * Computes the geometric representation of a polyline with a volume, including its vertices, indices, and a bounding sphere. + * @param polylineVolumeGeometry - A description of the polyline volume. + * @returns The computed vertices and indices. + */ + static createGeometry(polylineVolumeGeometry: PolylineVolumeGeometry): Geometry | undefined; +} + +/** + * A description of a polyline with a volume (a 2D shape extruded along a polyline). + * @example + * function computeCircle(radius) { + * var positions = []; + * for (var i = 0; i < 360; i++) { + * var radians = Cesium.Math.toRadians(i); + * positions.push(new Cesium.Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians))); + * } + * return positions; + * } + * + * var volumeOutline = new Cesium.PolylineVolumeOutlineGeometry({ + * polylinePositions : Cesium.Cartesian3.fromDegreesArray([ + * -72.0, 40.0, + * -70.0, 35.0 + * ]), + * shapePositions : computeCircle(100000.0) + * }); + * @param options - Object with the following properties: + * @param options.polylinePositions - An array of positions that define the center of the polyline volume. + * @param options.shapePositions - An array of positions that define the shape to be extruded along the polyline + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.cornerType = CornerType.ROUNDED] - Determines the style of the corners. + */ +export class PolylineVolumeOutlineGeometry { + constructor(options: { + polylinePositions: Cartesian3[]; + shapePositions: Cartesian2[]; + ellipsoid?: Ellipsoid; + granularity?: number; + cornerType?: CornerType; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: PolylineVolumeOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new PolylineVolumeOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: PolylineVolumeOutlineGeometry): PolylineVolumeOutlineGeometry; + /** + * Computes the geometric representation of the outline of a polyline with a volume, including its vertices, indices, and a bounding sphere. + * @param polylineVolumeOutlineGeometry - A description of the polyline volume outline. + * @returns The computed vertices and indices. + */ + static createGeometry(polylineVolumeOutlineGeometry: PolylineVolumeOutlineGeometry): Geometry | undefined; +} + +/** + * The type of a geometric primitive, i.e., points, lines, and triangles. + */ +export enum PrimitiveType { + /** + * Points primitive where each vertex (or index) is a separate point. + */ + POINTS = WebGLConstants.POINTS, + /** + * Lines primitive where each two vertices (or indices) is a line segment. Line segments are not necessarily connected. + */ + LINES = WebGLConstants.LINES, + /** + * Line loop primitive where each vertex (or index) after the first connects a line to + * the previous vertex, and the last vertex implicitly connects to the first. + */ + LINE_LOOP = WebGLConstants.LINE_LOOP, + /** + * Line strip primitive where each vertex (or index) after the first connects a line to the previous vertex. + */ + LINE_STRIP = WebGLConstants.LINE_STRIP, + /** + * Triangles primitive where each three vertices (or indices) is a triangle. Triangles do not necessarily share edges. + */ + TRIANGLES = WebGLConstants.TRIANGLES, + /** + * Triangle strip primitive where each vertex (or index) after the first two connect to + * the previous two vertices forming a triangle. For example, this can be used to model a wall. + */ + TRIANGLE_STRIP = WebGLConstants.TRIANGLE_STRIP, + /** + * Triangle fan primitive where each vertex (or index) after the first two connect to + * the previous vertex and the first vertex forming a triangle. For example, this can be used + * to model a cone or circle. + */ + TRIANGLE_FAN = WebGLConstants.TRIANGLE_FAN +} + +/** + * Base class for proxying requested made by {@link Resource}. + */ +export class Proxy { + constructor(); + /** + * Get the final URL to use to request a given resource. + * @param resource - The resource to request. + * @returns proxied resource + */ + getURL(resource: string): string; +} + +/** + * Defines functions for 2nd order polynomial functions of one variable with only real coefficients. + */ +export namespace QuadraticRealPolynomial { + /** + * Provides the discriminant of the quadratic equation from the supplied coefficients. + * @param a - The coefficient of the 2nd order monomial. + * @param b - The coefficient of the 1st order monomial. + * @param c - The coefficient of the 0th order monomial. + * @returns The value of the discriminant. + */ + function computeDiscriminant(a: number, b: number, c: number): number; + /** + * Provides the real valued roots of the quadratic polynomial with the provided coefficients. + * @param a - The coefficient of the 2nd order monomial. + * @param b - The coefficient of the 1st order monomial. + * @param c - The coefficient of the 0th order monomial. + * @returns The real valued roots. + */ + function computeRealRoots(a: number, b: number, c: number): number[]; +} + +/** + * Terrain data for a single tile where the terrain data is represented as a quantized mesh. A quantized + * mesh consists of three vertex attributes, longitude, latitude, and height. All attributes are expressed + * as 16-bit values in the range 0 to 32767. Longitude and latitude are zero at the southwest corner + * of the tile and 32767 at the northeast corner. Height is zero at the minimum height in the tile + * and 32767 at the maximum height in the tile. + * @example + * var data = new Cesium.QuantizedMeshTerrainData({ + * minimumHeight : -100, + * maximumHeight : 2101, + * quantizedVertices : new Uint16Array([// order is SW NW SE NE + * // longitude + * 0, 0, 32767, 32767, + * // latitude + * 0, 32767, 0, 32767, + * // heights + * 16384, 0, 32767, 16384]), + * indices : new Uint16Array([0, 3, 1, + * 0, 2, 3]), + * boundingSphere : new Cesium.BoundingSphere(new Cesium.Cartesian3(1.0, 2.0, 3.0), 10000), + * orientedBoundingBox : new Cesium.OrientedBoundingBox(new Cesium.Cartesian3(1.0, 2.0, 3.0), Cesium.Matrix3.fromRotationX(Cesium.Math.PI, new Cesium.Matrix3())), + * horizonOcclusionPoint : new Cesium.Cartesian3(3.0, 2.0, 1.0), + * westIndices : [0, 1], + * southIndices : [0, 1], + * eastIndices : [2, 3], + * northIndices : [1, 3], + * westSkirtHeight : 1.0, + * southSkirtHeight : 1.0, + * eastSkirtHeight : 1.0, + * northSkirtHeight : 1.0 + * }); + * @param options - Object with the following properties: + * @param options.quantizedVertices - The buffer containing the quantized mesh. + * @param options.indices - The indices specifying how the quantized vertices are linked + * together into triangles. Each three indices specifies one triangle. + * @param options.minimumHeight - The minimum terrain height within the tile, in meters above the ellipsoid. + * @param options.maximumHeight - The maximum terrain height within the tile, in meters above the ellipsoid. + * @param options.boundingSphere - A sphere bounding all of the vertices in the mesh. + * @param [options.orientedBoundingBox] - An OrientedBoundingBox bounding all of the vertices in the mesh. + * @param options.horizonOcclusionPoint - The horizon occlusion point of the mesh. If this point + * is below the horizon, the entire tile is assumed to be below the horizon as well. + * The point is expressed in ellipsoid-scaled coordinates. + * @param options.westIndices - The indices of the vertices on the western edge of the tile. + * @param options.southIndices - The indices of the vertices on the southern edge of the tile. + * @param options.eastIndices - The indices of the vertices on the eastern edge of the tile. + * @param options.northIndices - The indices of the vertices on the northern edge of the tile. + * @param options.westSkirtHeight - The height of the skirt to add on the western edge of the tile. + * @param options.southSkirtHeight - The height of the skirt to add on the southern edge of the tile. + * @param options.eastSkirtHeight - The height of the skirt to add on the eastern edge of the tile. + * @param options.northSkirtHeight - The height of the skirt to add on the northern edge of the tile. + * @param [options.childTileMask = 15] - A bit mask indicating which of this tile's four children exist. + * If a child's bit is set, geometry will be requested for that tile as well when it + * is needed. If the bit is cleared, the child tile is not requested and geometry is + * instead upsampled from the parent. The bit values are as follows: + * + * + * + * + * + * + *
Bit PositionBit ValueChild Tile
01Southwest
12Southeast
24Northwest
38Northeast
+ * @param [options.createdByUpsampling = false] - True if this instance was created by upsampling another instance; + * otherwise, false. + * @param [options.encodedNormals] - The buffer containing per vertex normals, encoded using 'oct' encoding + * @param [options.waterMask] - The buffer containing the watermask. + * @param [options.credits] - Array of credits for this tile. + */ +export class QuantizedMeshTerrainData { + constructor(options: { + quantizedVertices: Uint16Array; + indices: Uint16Array | Uint32Array; + minimumHeight: number; + maximumHeight: number; + boundingSphere: BoundingSphere; + orientedBoundingBox?: OrientedBoundingBox; + horizonOcclusionPoint: Cartesian3; + westIndices: number[]; + southIndices: number[]; + eastIndices: number[]; + northIndices: number[]; + westSkirtHeight: number; + southSkirtHeight: number; + eastSkirtHeight: number; + northSkirtHeight: number; + childTileMask?: number; + createdByUpsampling?: boolean; + encodedNormals?: Uint8Array; + waterMask?: Uint8Array; + credits?: Credit[]; + }); + /** + * An array of credits for this tile. + */ + credits: Credit[]; + /** + * The water mask included in this terrain data, if any. A water mask is a rectangular + * Uint8Array or image where a value of 255 indicates water and a value of 0 indicates land. + * Values in between 0 and 255 are allowed as well to smoothly blend between land and water. + */ + waterMask: Uint8Array | HTMLImageElement | HTMLCanvasElement; + /** + * Upsamples this terrain data for use by a descendant tile. The resulting instance will contain a subset of the + * vertices in this instance, interpolated if necessary. + * @param tilingScheme - The tiling scheme of this terrain data. + * @param thisX - The X coordinate of this tile in the tiling scheme. + * @param thisY - The Y coordinate of this tile in the tiling scheme. + * @param thisLevel - The level of this tile in the tiling scheme. + * @param descendantX - The X coordinate within the tiling scheme of the descendant tile for which we are upsampling. + * @param descendantY - The Y coordinate within the tiling scheme of the descendant tile for which we are upsampling. + * @param descendantLevel - The level within the tiling scheme of the descendant tile for which we are upsampling. + * @returns A promise for upsampled heightmap terrain data for the descendant tile, + * or undefined if too many asynchronous upsample operations are in progress and the request has been + * deferred. + */ + upsample(tilingScheme: TilingScheme, thisX: number, thisY: number, thisLevel: number, descendantX: number, descendantY: number, descendantLevel: number): Promise | undefined; + /** + * Computes the terrain height at a specified longitude and latitude. + * @param rectangle - The rectangle covered by this terrain data. + * @param longitude - The longitude in radians. + * @param latitude - The latitude in radians. + * @returns The terrain height at the specified position. The position is clamped to + * the rectangle, so expect incorrect results for positions far outside the rectangle. + */ + interpolateHeight(rectangle: Rectangle, longitude: number, latitude: number): number; + /** + * Determines if a given child tile is available, based on the + * {@link HeightmapTerrainData.childTileMask}. The given child tile coordinates are assumed + * to be one of the four children of this tile. If non-child tile coordinates are + * given, the availability of the southeast child tile is returned. + * @param thisX - The tile X coordinate of this (the parent) tile. + * @param thisY - The tile Y coordinate of this (the parent) tile. + * @param childX - The tile X coordinate of the child tile to check for availability. + * @param childY - The tile Y coordinate of the child tile to check for availability. + * @returns True if the child tile is available; otherwise, false. + */ + isChildAvailable(thisX: number, thisY: number, childX: number, childY: number): boolean; + /** + * Gets a value indicating whether or not this terrain data was created by upsampling lower resolution + * terrain data. If this value is false, the data was obtained from some other source, such + * as by downloading it from a remote server. This method should return true for instances + * returned from a call to {@link HeightmapTerrainData#upsample}. + * @returns True if this instance was created by upsampling; otherwise, false. + */ + wasCreatedByUpsampling(): boolean; +} + +/** + * Defines functions for 4th order polynomial functions of one variable with only real coefficients. + */ +export namespace QuarticRealPolynomial { + /** + * Provides the discriminant of the quartic equation from the supplied coefficients. + * @param a - The coefficient of the 4th order monomial. + * @param b - The coefficient of the 3rd order monomial. + * @param c - The coefficient of the 2nd order monomial. + * @param d - The coefficient of the 1st order monomial. + * @param e - The coefficient of the 0th order monomial. + * @returns The value of the discriminant. + */ + function computeDiscriminant(a: number, b: number, c: number, d: number, e: number): number; + /** + * Provides the real valued roots of the quartic polynomial with the provided coefficients. + * @param a - The coefficient of the 4th order monomial. + * @param b - The coefficient of the 3rd order monomial. + * @param c - The coefficient of the 2nd order monomial. + * @param d - The coefficient of the 1st order monomial. + * @param e - The coefficient of the 0th order monomial. + * @returns The real valued roots. + */ + function computeRealRoots(a: number, b: number, c: number, d: number, e: number): number[]; +} + +/** + * A set of 4-dimensional coordinates used to represent rotation in 3-dimensional space. + * @param [x = 0.0] - The X component. + * @param [y = 0.0] - The Y component. + * @param [z = 0.0] - The Z component. + * @param [w = 0.0] - The W component. + */ +export class Quaternion { + constructor(x?: number, y?: number, z?: number, w?: number); + /** + * The X component. + */ + x: number; + /** + * The Y component. + */ + y: number; + /** + * The Z component. + */ + z: number; + /** + * The W component. + */ + w: number; + /** + * Computes a quaternion representing a rotation around an axis. + * @param axis - The axis of rotation. + * @param angle - The angle in radians to rotate around the axis. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Quaternion instance if one was not provided. + */ + static fromAxisAngle(axis: Cartesian3, angle: number, result?: Quaternion): Quaternion; + /** + * Computes a Quaternion from the provided Matrix3 instance. + * @param matrix - The rotation matrix. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Quaternion instance if one was not provided. + */ + static fromRotationMatrix(matrix: Matrix3, result?: Quaternion): Quaternion; + /** + * Computes a rotation from the given heading, pitch and roll angles. Heading is the rotation about the + * negative z axis. Pitch is the rotation about the negative y axis. Roll is the rotation about + * the positive x axis. + * @param headingPitchRoll - The rotation expressed as a heading, pitch and roll. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Quaternion instance if none was provided. + */ + static fromHeadingPitchRoll(headingPitchRoll: HeadingPitchRoll, result?: Quaternion): Quaternion; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Quaternion, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Quaternion instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Quaternion): Quaternion; + /** + * The number of elements used to store the object into an array in its interpolatable form. + */ + static packedInterpolationLength: number; + /** + * Converts a packed array into a form suitable for interpolation. + * @param packedArray - The packed array. + * @param [startingIndex = 0] - The index of the first element to be converted. + * @param [lastIndex = packedArray.length] - The index of the last element to be converted. + * @param [result] - The object into which to store the result. + */ + static convertPackedArrayForInterpolation(packedArray: number[], startingIndex?: number, lastIndex?: number, result?: number[]): void; + /** + * Retrieves an instance from a packed array converted with {@link convertPackedArrayForInterpolation}. + * @param array - The array previously packed for interpolation. + * @param sourceArray - The original packed array. + * @param [firstIndex = 0] - The firstIndex used to convert the array. + * @param [lastIndex = packedArray.length] - The lastIndex used to convert the array. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Quaternion instance if one was not provided. + */ + static unpackInterpolationResult(array: number[], sourceArray: number[], firstIndex?: number, lastIndex?: number, result?: Quaternion): Quaternion; + /** + * Duplicates a Quaternion instance. + * @param quaternion - The quaternion to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Quaternion instance if one was not provided. (Returns undefined if quaternion is undefined) + */ + static clone(quaternion: Quaternion, result?: Quaternion): Quaternion; + /** + * Computes the conjugate of the provided quaternion. + * @param quaternion - The quaternion to conjugate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static conjugate(quaternion: Quaternion, result: Quaternion): Quaternion; + /** + * Computes magnitude squared for the provided quaternion. + * @param quaternion - The quaternion to conjugate. + * @returns The magnitude squared. + */ + static magnitudeSquared(quaternion: Quaternion): number; + /** + * Computes magnitude for the provided quaternion. + * @param quaternion - The quaternion to conjugate. + * @returns The magnitude. + */ + static magnitude(quaternion: Quaternion): number; + /** + * Computes the normalized form of the provided quaternion. + * @param quaternion - The quaternion to normalize. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static normalize(quaternion: Quaternion, result: Quaternion): Quaternion; + /** + * Computes the inverse of the provided quaternion. + * @param quaternion - The quaternion to normalize. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static inverse(quaternion: Quaternion, result: Quaternion): Quaternion; + /** + * Computes the componentwise sum of two quaternions. + * @param left - The first quaternion. + * @param right - The second quaternion. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static add(left: Quaternion, right: Quaternion, result: Quaternion): Quaternion; + /** + * Computes the componentwise difference of two quaternions. + * @param left - The first quaternion. + * @param right - The second quaternion. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static subtract(left: Quaternion, right: Quaternion, result: Quaternion): Quaternion; + /** + * Negates the provided quaternion. + * @param quaternion - The quaternion to be negated. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static negate(quaternion: Quaternion, result: Quaternion): Quaternion; + /** + * Computes the dot (scalar) product of two quaternions. + * @param left - The first quaternion. + * @param right - The second quaternion. + * @returns The dot product. + */ + static dot(left: Quaternion, right: Quaternion): number; + /** + * Computes the product of two quaternions. + * @param left - The first quaternion. + * @param right - The second quaternion. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiply(left: Quaternion, right: Quaternion, result: Quaternion): Quaternion; + /** + * Multiplies the provided quaternion componentwise by the provided scalar. + * @param quaternion - The quaternion to be scaled. + * @param scalar - The scalar to multiply with. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static multiplyByScalar(quaternion: Quaternion, scalar: number, result: Quaternion): Quaternion; + /** + * Divides the provided quaternion componentwise by the provided scalar. + * @param quaternion - The quaternion to be divided. + * @param scalar - The scalar to divide by. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static divideByScalar(quaternion: Quaternion, scalar: number, result: Quaternion): Quaternion; + /** + * Computes the axis of rotation of the provided quaternion. + * @param quaternion - The quaternion to use. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static computeAxis(quaternion: Quaternion, result: Cartesian3): Cartesian3; + /** + * Computes the angle of rotation of the provided quaternion. + * @param quaternion - The quaternion to use. + * @returns The angle of rotation. + */ + static computeAngle(quaternion: Quaternion): number; + /** + * Computes the linear interpolation or extrapolation at t using the provided quaternions. + * @param start - The value corresponding to t at 0.0. + * @param end - The value corresponding to t at 1.0. + * @param t - The point along t at which to interpolate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static lerp(start: Quaternion, end: Quaternion, t: number, result: Quaternion): Quaternion; + /** + * Computes the spherical linear interpolation or extrapolation at t using the provided quaternions. + * @param start - The value corresponding to t at 0.0. + * @param end - The value corresponding to t at 1.0. + * @param t - The point along t at which to interpolate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static slerp(start: Quaternion, end: Quaternion, t: number, result: Quaternion): Quaternion; + /** + * The logarithmic quaternion function. + * @param quaternion - The unit quaternion. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static log(quaternion: Quaternion, result: Cartesian3): Cartesian3; + /** + * The exponential quaternion function. + * @param cartesian - The cartesian. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static exp(cartesian: Cartesian3, result: Quaternion): Quaternion; + /** + * Computes an inner quadrangle point. + *

This will compute quaternions that ensure a squad curve is C1.

+ * @param q0 - The first quaternion. + * @param q1 - The second quaternion. + * @param q2 - The third quaternion. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static computeInnerQuadrangle(q0: Quaternion, q1: Quaternion, q2: Quaternion, result: Quaternion): Quaternion; + /** + * Computes the spherical quadrangle interpolation between quaternions. + * @example + * // 1. compute the squad interpolation between two quaternions on a curve + * var s0 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[i - 1], quaternions[i], quaternions[i + 1], new Cesium.Quaternion()); + * var s1 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[i], quaternions[i + 1], quaternions[i + 2], new Cesium.Quaternion()); + * var q = Cesium.Quaternion.squad(quaternions[i], quaternions[i + 1], s0, s1, t, new Cesium.Quaternion()); + * + * // 2. compute the squad interpolation as above but where the first quaternion is a end point. + * var s1 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[0], quaternions[1], quaternions[2], new Cesium.Quaternion()); + * var q = Cesium.Quaternion.squad(quaternions[0], quaternions[1], quaternions[0], s1, t, new Cesium.Quaternion()); + * @param q0 - The first quaternion. + * @param q1 - The second quaternion. + * @param s0 - The first inner quadrangle. + * @param s1 - The second inner quadrangle. + * @param t - The time in [0,1] used to interpolate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static squad(q0: Quaternion, q1: Quaternion, s0: Quaternion, s1: Quaternion, t: number, result: Quaternion): Quaternion; + /** + * Computes the spherical linear interpolation or extrapolation at t using the provided quaternions. + * This implementation is faster than {@link Quaternion#slerp}, but is only accurate up to 10-6. + * @param start - The value corresponding to t at 0.0. + * @param end - The value corresponding to t at 1.0. + * @param t - The point along t at which to interpolate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter. + */ + static fastSlerp(start: Quaternion, end: Quaternion, t: number, result: Quaternion): Quaternion; + /** + * Computes the spherical quadrangle interpolation between quaternions. + * An implementation that is faster than {@link Quaternion#squad}, but less accurate. + * @param q0 - The first quaternion. + * @param q1 - The second quaternion. + * @param s0 - The first inner quadrangle. + * @param s1 - The second inner quadrangle. + * @param t - The time in [0,1] used to interpolate. + * @param result - The object onto which to store the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static fastSquad(q0: Quaternion, q1: Quaternion, s0: Quaternion, s1: Quaternion, t: number, result: Quaternion): Quaternion; + /** + * Compares the provided quaternions componentwise and returns + * true if they are equal, false otherwise. + * @param [left] - The first quaternion. + * @param [right] - The second quaternion. + * @returns true if left and right are equal, false otherwise. + */ + static equals(left?: Quaternion, right?: Quaternion): boolean; + /** + * Compares the provided quaternions componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [left] - The first quaternion. + * @param [right] - The second quaternion. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: Quaternion, right?: Quaternion, epsilon?: number): boolean; + /** + * An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 0.0). + */ + static readonly ZERO: Quaternion; + /** + * An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 1.0). + */ + static readonly IDENTITY: Quaternion; + /** + * Duplicates this Quaternion instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Quaternion instance if one was not provided. + */ + clone(result?: Quaternion): Quaternion; + /** + * Compares this and the provided quaternion componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side quaternion. + * @returns true if left and right are equal, false otherwise. + */ + equals(right?: Quaternion): boolean; + /** + * Compares this and the provided quaternion componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [right] - The right hand side quaternion. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: Quaternion, epsilon?: number): boolean; + /** + * Returns a string representing this quaternion in the format (x, y, z, w). + * @returns A string representing this Quaternion. + */ + toString(): string; +} + +/** + * A spline that uses spherical linear (slerp) interpolation to create a quaternion curve. + * The generated curve is in the class C1. + * @param options - Object with the following properties: + * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point. + * The values are in no way connected to the clock time. They are the parameterization for the curve. + * @param options.points - The array of {@link Quaternion} control points. + */ +export class QuaternionSpline { + constructor(options: { + times: number[]; + points: Quaternion[]; + }); + /** + * An array of times for the control points. + */ + readonly times: number[]; + /** + * An array of {@link Quaternion} control points. + */ + readonly points: Quaternion[]; + /** + * Finds an index i in times such that the parameter + * time is in the interval [times[i], times[i + 1]]. + * @param time - The time. + * @returns The index for the element at the start of the interval. + */ + findTimeInterval(time: number): number; + /** + * Wraps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, wrapped around to the updated animation. + */ + wrapTime(time: number): number; + /** + * Clamps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, clamped to the animation period. + */ + clampTime(time: number): number; + /** + * Evaluates the curve at a given time. + * @param time - The time at which to evaluate the curve. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance of the point on the curve at the given time. + */ + evaluate(time: number, result?: Quaternion): Quaternion; +} + +/** + * Parses a query string into an object, where the keys and values of the object are the + * name/value pairs from the query string, decoded. If a name appears multiple times, + * the value in the object will be an array of values. + * @example + * var obj = Cesium.queryToObject('key1=some%20value&key2=a%2Fb&key3=x&key3=y'); + * // obj will be: + * // { + * // key1 : 'some value', + * // key2 : 'a/b', + * // key3 : ['x', 'y'] + * // } + * @param queryString - The query string. + * @returns An object containing the parameters parsed from the query string. + */ +export function queryToObject(queryString: string): any; + +/** + * A queue that can enqueue items at the end, and dequeue items from the front. + */ +export class Queue { + constructor(); + /** + * The length of the queue. + */ + readonly length: number; + /** + * Enqueues the specified item. + * @param item - The item to enqueue. + */ + enqueue(item: any): void; + /** + * Dequeues an item. Returns undefined if the queue is empty. + * @returns The the dequeued item. + */ + dequeue(): any; + /** + * Returns the item at the front of the queue. Returns undefined if the queue is empty. + * @returns The item at the front of the queue. + */ + peek(): any; + /** + * Check whether this queue contains the specified item. + * @param item - The item to search for. + */ + contains(item: any): void; + /** + * Remove all items from the queue. + */ + clear(): void; + /** + * Sort the items in the queue in-place. + * @param compareFunction - A function that defines the sort order. + */ + sort(compareFunction: Queue.Comparator): void; +} + +export namespace Queue { + /** + * A function used to compare two items while sorting a queue. + * @example + * function compareNumbers(a, b) { + * return a - b; + * } + * @param a - An item in the array. + * @param b - An item in the array. + */ + type Comparator = (a: any, b: any) => number; +} + +/** + * Represents a ray that extends infinitely from the provided origin in the provided direction. + * @param [origin = Cartesian3.ZERO] - The origin of the ray. + * @param [direction = Cartesian3.ZERO] - The direction of the ray. + */ +export class Ray { + constructor(origin?: Cartesian3, direction?: Cartesian3); + /** + * The origin of the ray. + */ + origin: Cartesian3; + /** + * The direction of the ray. + */ + direction: Cartesian3; + /** + * Duplicates a Ray instance. + * @param ray - The ray to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Ray instance if one was not provided. (Returns undefined if ray is undefined) + */ + static clone(ray: Ray, result?: Ray): Ray; + /** + * Computes the point along the ray given by r(t) = o + t*d, + * where o is the origin of the ray and d is the direction. + * @example + * //Get the first intersection point of a ray and an ellipsoid. + * var intersection = Cesium.IntersectionTests.rayEllipsoid(ray, ellipsoid); + * var point = Cesium.Ray.getPoint(ray, intersection.start); + * @param ray - The ray. + * @param t - A scalar value. + * @param [result] - The object in which the result will be stored. + * @returns The modified result parameter, or a new instance if none was provided. + */ + static getPoint(ray: Ray, t: number, result?: Cartesian3): Cartesian3; +} + +/** + * A two dimensional region specified as longitude and latitude coordinates. + * @param [west = 0.0] - The westernmost longitude, in radians, in the range [-Pi, Pi]. + * @param [south = 0.0] - The southernmost latitude, in radians, in the range [-Pi/2, Pi/2]. + * @param [east = 0.0] - The easternmost longitude, in radians, in the range [-Pi, Pi]. + * @param [north = 0.0] - The northernmost latitude, in radians, in the range [-Pi/2, Pi/2]. + */ +export class Rectangle { + constructor(west?: number, south?: number, east?: number, north?: number); + /** + * The westernmost longitude in radians in the range [-Pi, Pi]. + */ + west: number; + /** + * The southernmost latitude in radians in the range [-Pi/2, Pi/2]. + */ + south: number; + /** + * The easternmost longitude in radians in the range [-Pi, Pi]. + */ + east: number; + /** + * The northernmost latitude in radians in the range [-Pi/2, Pi/2]. + */ + north: number; + /** + * Gets the width of the rectangle in radians. + */ + readonly width: number; + /** + * Gets the height of the rectangle in radians. + */ + readonly height: number; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: Rectangle, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Rectangle instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: Rectangle): Rectangle; + /** + * Computes the width of a rectangle in radians. + * @param rectangle - The rectangle to compute the width of. + * @returns The width. + */ + static computeWidth(rectangle: Rectangle): number; + /** + * Computes the height of a rectangle in radians. + * @param rectangle - The rectangle to compute the height of. + * @returns The height. + */ + static computeHeight(rectangle: Rectangle): number; + /** + * Creates a rectangle given the boundary longitude and latitude in degrees. + * @example + * var rectangle = Cesium.Rectangle.fromDegrees(0.0, 20.0, 10.0, 30.0); + * @param [west = 0.0] - The westernmost longitude in degrees in the range [-180.0, 180.0]. + * @param [south = 0.0] - The southernmost latitude in degrees in the range [-90.0, 90.0]. + * @param [east = 0.0] - The easternmost longitude in degrees in the range [-180.0, 180.0]. + * @param [north = 0.0] - The northernmost latitude in degrees in the range [-90.0, 90.0]. + * @param [result] - The object onto which to store the result, or undefined if a new instance should be created. + * @returns The modified result parameter or a new Rectangle instance if none was provided. + */ + static fromDegrees(west?: number, south?: number, east?: number, north?: number, result?: Rectangle): Rectangle; + /** + * Creates a rectangle given the boundary longitude and latitude in radians. + * @example + * var rectangle = Cesium.Rectangle.fromRadians(0.0, Math.PI/4, Math.PI/8, 3*Math.PI/4); + * @param [west = 0.0] - The westernmost longitude in radians in the range [-Math.PI, Math.PI]. + * @param [south = 0.0] - The southernmost latitude in radians in the range [-Math.PI/2, Math.PI/2]. + * @param [east = 0.0] - The easternmost longitude in radians in the range [-Math.PI, Math.PI]. + * @param [north = 0.0] - The northernmost latitude in radians in the range [-Math.PI/2, Math.PI/2]. + * @param [result] - The object onto which to store the result, or undefined if a new instance should be created. + * @returns The modified result parameter or a new Rectangle instance if none was provided. + */ + static fromRadians(west?: number, south?: number, east?: number, north?: number, result?: Rectangle): Rectangle; + /** + * Creates the smallest possible Rectangle that encloses all positions in the provided array. + * @param cartographics - The list of Cartographic instances. + * @param [result] - The object onto which to store the result, or undefined if a new instance should be created. + * @returns The modified result parameter or a new Rectangle instance if none was provided. + */ + static fromCartographicArray(cartographics: Cartographic[], result?: Rectangle): Rectangle; + /** + * Creates the smallest possible Rectangle that encloses all positions in the provided array. + * @param cartesians - The list of Cartesian instances. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid the cartesians are on. + * @param [result] - The object onto which to store the result, or undefined if a new instance should be created. + * @returns The modified result parameter or a new Rectangle instance if none was provided. + */ + static fromCartesianArray(cartesians: Cartesian3[], ellipsoid?: Ellipsoid, result?: Rectangle): Rectangle; + /** + * Duplicates a Rectangle. + * @param rectangle - The rectangle to clone. + * @param [result] - The object onto which to store the result, or undefined if a new instance should be created. + * @returns The modified result parameter or a new Rectangle instance if none was provided. (Returns undefined if rectangle is undefined) + */ + static clone(rectangle: Rectangle, result?: Rectangle): Rectangle; + /** + * Compares the provided Rectangles componentwise and returns + * true if they pass an absolute or relative tolerance test, + * false otherwise. + * @param [left] - The first Rectangle. + * @param [right] - The second Rectangle. + * @param [absoluteEpsilon = 0] - The absolute epsilon tolerance to use for equality testing. + * @returns true if left and right are within the provided epsilon, false otherwise. + */ + static equalsEpsilon(left?: Rectangle, right?: Rectangle, absoluteEpsilon?: number): boolean; + /** + * Duplicates this Rectangle. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Rectangle instance if none was provided. + */ + clone(result?: Rectangle): Rectangle; + /** + * Compares the provided Rectangle with this Rectangle componentwise and returns + * true if they are equal, false otherwise. + * @param [other] - The Rectangle to compare. + * @returns true if the Rectangles are equal, false otherwise. + */ + equals(other?: Rectangle): boolean; + /** + * Compares the provided rectangles and returns true if they are equal, + * false otherwise. + * @param [left] - The first Rectangle. + * @param [right] - The second Rectangle. + * @returns true if left and right are equal; otherwise false. + */ + static equals(left?: Rectangle, right?: Rectangle): boolean; + /** + * Compares the provided Rectangle with this Rectangle componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [other] - The Rectangle to compare. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @returns true if the Rectangles are within the provided epsilon, false otherwise. + */ + equalsEpsilon(other?: Rectangle, epsilon?: number): boolean; + /** + * Checks a Rectangle's properties and throws if they are not in valid ranges. + * @param rectangle - The rectangle to validate + */ + static validate(rectangle: Rectangle): void; + /** + * Computes the southwest corner of a rectangle. + * @param rectangle - The rectangle for which to find the corner + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartographic instance if none was provided. + */ + static southwest(rectangle: Rectangle, result?: Cartographic): Cartographic; + /** + * Computes the northwest corner of a rectangle. + * @param rectangle - The rectangle for which to find the corner + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartographic instance if none was provided. + */ + static northwest(rectangle: Rectangle, result?: Cartographic): Cartographic; + /** + * Computes the northeast corner of a rectangle. + * @param rectangle - The rectangle for which to find the corner + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartographic instance if none was provided. + */ + static northeast(rectangle: Rectangle, result?: Cartographic): Cartographic; + /** + * Computes the southeast corner of a rectangle. + * @param rectangle - The rectangle for which to find the corner + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartographic instance if none was provided. + */ + static southeast(rectangle: Rectangle, result?: Cartographic): Cartographic; + /** + * Computes the center of a rectangle. + * @param rectangle - The rectangle for which to find the center + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartographic instance if none was provided. + */ + static center(rectangle: Rectangle, result?: Cartographic): Cartographic; + /** + * Computes the intersection of two rectangles. This function assumes that the rectangle's coordinates are + * latitude and longitude in radians and produces a correct intersection, taking into account the fact that + * the same angle can be represented with multiple values as well as the wrapping of longitude at the + * anti-meridian. For a simple intersection that ignores these factors and can be used with projected + * coordinates, see {@link Rectangle.simpleIntersection}. + * @param rectangle - On rectangle to find an intersection + * @param otherRectangle - Another rectangle to find an intersection + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter, a new Rectangle instance if none was provided or undefined if there is no intersection. + */ + static intersection(rectangle: Rectangle, otherRectangle: Rectangle, result?: Rectangle): Rectangle | undefined; + /** + * Computes a simple intersection of two rectangles. Unlike {@link Rectangle.intersection}, this function + * does not attempt to put the angular coordinates into a consistent range or to account for crossing the + * anti-meridian. As such, it can be used for rectangles where the coordinates are not simply latitude + * and longitude (i.e. projected coordinates). + * @param rectangle - On rectangle to find an intersection + * @param otherRectangle - Another rectangle to find an intersection + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter, a new Rectangle instance if none was provided or undefined if there is no intersection. + */ + static simpleIntersection(rectangle: Rectangle, otherRectangle: Rectangle, result?: Rectangle): Rectangle | undefined; + /** + * Computes a rectangle that is the union of two rectangles. + * @param rectangle - A rectangle to enclose in rectangle. + * @param otherRectangle - A rectangle to enclose in a rectangle. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Rectangle instance if none was provided. + */ + static union(rectangle: Rectangle, otherRectangle: Rectangle, result?: Rectangle): Rectangle; + /** + * Computes a rectangle by enlarging the provided rectangle until it contains the provided cartographic. + * @param rectangle - A rectangle to expand. + * @param cartographic - A cartographic to enclose in a rectangle. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Rectangle instance if one was not provided. + */ + static expand(rectangle: Rectangle, cartographic: Cartographic, result?: Rectangle): Rectangle; + /** + * Returns true if the cartographic is on or inside the rectangle, false otherwise. + * @param rectangle - The rectangle + * @param cartographic - The cartographic to test. + * @returns true if the provided cartographic is inside the rectangle, false otherwise. + */ + static contains(rectangle: Rectangle, cartographic: Cartographic): boolean; + /** + * Samples a rectangle so that it includes a list of Cartesian points suitable for passing to + * {@link BoundingSphere#fromPoints}. Sampling is necessary to account + * for rectangles that cover the poles or cross the equator. + * @param rectangle - The rectangle to subsample. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid to use. + * @param [surfaceHeight = 0.0] - The height of the rectangle above the ellipsoid. + * @param [result] - The array of Cartesians onto which to store the result. + * @returns The modified result parameter or a new Array of Cartesians instances if none was provided. + */ + static subsample(rectangle: Rectangle, ellipsoid?: Ellipsoid, surfaceHeight?: number, result?: Cartesian3[]): Cartesian3[]; + /** + * The largest possible rectangle. + */ + static readonly MAX_VALUE: Rectangle; +} + +/** + * A description of a cartographic rectangle on an ellipsoid centered at the origin. Rectangle geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}. + * @example + * // 1. create a rectangle + * var rectangle = new Cesium.RectangleGeometry({ + * ellipsoid : Cesium.Ellipsoid.WGS84, + * rectangle : Cesium.Rectangle.fromDegrees(-80.0, 39.0, -74.0, 42.0), + * height : 10000.0 + * }); + * var geometry = Cesium.RectangleGeometry.createGeometry(rectangle); + * + * // 2. create an extruded rectangle without a top + * var rectangle = new Cesium.RectangleGeometry({ + * ellipsoid : Cesium.Ellipsoid.WGS84, + * rectangle : Cesium.Rectangle.fromDegrees(-80.0, 39.0, -74.0, 42.0), + * height : 10000.0, + * extrudedHeight: 300000 + * }); + * var geometry = Cesium.RectangleGeometry.createGeometry(rectangle); + * @param options - Object with the following properties: + * @param options.rectangle - A cartographic rectangle with north, south, east and west properties in radians. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the rectangle lies. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.height = 0.0] - The distance in meters between the rectangle and the ellipsoid surface. + * @param [options.rotation = 0.0] - The rotation of the rectangle, in radians. A positive rotation is counter-clockwise. + * @param [options.stRotation = 0.0] - The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. + * @param [options.extrudedHeight] - The distance in meters between the rectangle's extruded face and the ellipsoid surface. + */ +export class RectangleGeometry { + constructor(options: { + rectangle: Rectangle; + vertexFormat?: VertexFormat; + ellipsoid?: Ellipsoid; + granularity?: number; + height?: number; + rotation?: number; + stRotation?: number; + extrudedHeight?: number; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: RectangleGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new RectangleGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: RectangleGeometry): RectangleGeometry; + /** + * Computes the bounding rectangle based on the provided options + * @param options - Object with the following properties: + * @param options.rectangle - A cartographic rectangle with north, south, east and west properties in radians. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the rectangle lies. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.rotation = 0.0] - The rotation of the rectangle, in radians. A positive rotation is counter-clockwise. + * @param [result] - An object in which to store the result. + * @returns The result rectangle + */ + static computeRectangle(options: { + rectangle: Rectangle; + ellipsoid?: Ellipsoid; + granularity?: number; + rotation?: number; + }, result?: Rectangle): Rectangle; + /** + * Computes the geometric representation of a rectangle, including its vertices, indices, and a bounding sphere. + * @param rectangleGeometry - A description of the rectangle. + * @returns The computed vertices and indices. + */ + static createGeometry(rectangleGeometry: RectangleGeometry): Geometry | undefined; +} + +/** + * A description of the outline of a a cartographic rectangle on an ellipsoid centered at the origin. + * @example + * var rectangle = new Cesium.RectangleOutlineGeometry({ + * ellipsoid : Cesium.Ellipsoid.WGS84, + * rectangle : Cesium.Rectangle.fromDegrees(-80.0, 39.0, -74.0, 42.0), + * height : 10000.0 + * }); + * var geometry = Cesium.RectangleOutlineGeometry.createGeometry(rectangle); + * @param options - Object with the following properties: + * @param options.rectangle - A cartographic rectangle with north, south, east and west properties in radians. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid on which the rectangle lies. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.height = 0.0] - The distance in meters between the rectangle and the ellipsoid surface. + * @param [options.rotation = 0.0] - The rotation of the rectangle, in radians. A positive rotation is counter-clockwise. + * @param [options.extrudedHeight] - The distance in meters between the rectangle's extruded face and the ellipsoid surface. + */ +export class RectangleOutlineGeometry { + constructor(options: { + rectangle: Rectangle; + ellipsoid?: Ellipsoid; + granularity?: number; + height?: number; + rotation?: number; + extrudedHeight?: number; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: RectangleOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Quaternion instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: RectangleOutlineGeometry): RectangleOutlineGeometry; + /** + * Computes the geometric representation of an outline of a rectangle, including its vertices, indices, and a bounding sphere. + * @param rectangleGeometry - A description of the rectangle outline. + * @returns The computed vertices and indices. + */ + static createGeometry(rectangleGeometry: RectangleOutlineGeometry): Geometry | undefined; +} + +/** + * Constants for identifying well-known reference frames. + */ +export enum ReferenceFrame { + /** + * The fixed frame. + */ + FIXED = 0, + /** + * The inertial frame. + */ + INERTIAL = 1 +} + +/** + * Stores information for making a request. In general this does not need to be constructed directly. + * @param [options] - An object with the following properties: + * @param [options.url] - The url to request. + * @param [options.requestFunction] - The function that makes the actual data request. + * @param [options.cancelFunction] - The function that is called when the request is cancelled. + * @param [options.priorityFunction] - The function that is called to update the request's priority, which occurs once per frame. + * @param [options.priority = 0.0] - The initial priority of the request. + * @param [options.throttle = false] - Whether to throttle and prioritize the request. If false, the request will be sent immediately. If true, the request will be throttled and sent based on priority. + * @param [options.throttleByServer = false] - Whether to throttle the request by server. + * @param [options.type = RequestType.OTHER] - The type of request. + */ +export class Request { + constructor(options?: { + url?: string; + requestFunction?: Request.RequestCallback; + cancelFunction?: Request.CancelCallback; + priorityFunction?: Request.PriorityCallback; + priority?: number; + throttle?: boolean; + throttleByServer?: boolean; + type?: RequestType; + }); + /** + * The URL to request. + */ + url: string; + /** + * The function that makes the actual data request. + */ + requestFunction: Request.RequestCallback; + /** + * The function that is called when the request is cancelled. + */ + cancelFunction: Request.CancelCallback; + /** + * The function that is called to update the request's priority, which occurs once per frame. + */ + priorityFunction: Request.PriorityCallback; + /** + * Priority is a unit-less value where lower values represent higher priority. + * For world-based objects, this is usually the distance from the camera. + * A request that does not have a priority function defaults to a priority of 0. + * + * If priorityFunction is defined, this value is updated every frame with the result of that call. + */ + priority: number; + /** + * Whether to throttle and prioritize the request. If false, the request will be sent immediately. If true, the + * request will be throttled and sent based on priority. + */ + readonly throttle: boolean; + /** + * Whether to throttle the request by server. Browsers typically support about 6-8 parallel connections + * for HTTP/1 servers, and an unlimited amount of connections for HTTP/2 servers. Setting this value + * to true is preferable for requests going through HTTP/1 servers. + */ + readonly throttleByServer: boolean; + /** + * Type of request. + */ + readonly type: RequestType; + /** + * The current state of the request. + */ + readonly state: RequestState; + /** + * Duplicates a Request instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Resource instance if one was not provided. + */ + clone(result?: Request): Request; +} + +export namespace Request { + /** + * The function that makes the actual data request. + */ + type RequestCallback = () => Promise; + /** + * The function that is called when the request is cancelled. + */ + type CancelCallback = () => void; + /** + * The function that is called to update the request's priority, which occurs once per frame. + */ + type PriorityCallback = () => number; +} + +/** + * A browser-independent function to request a new animation frame. This is used to create + * an application's draw loop as shown in the example below. + * @example + * // Create a draw loop using requestAnimationFrame. The + * // tick callback function is called for every animation frame. + * function tick() { + * scene.render(); + * Cesium.requestAnimationFrame(tick); + * } + * tick(); + * @param callback - The function to call when the next frame should be drawn. + * @returns An ID that can be passed to {@link cancelAnimationFrame} to cancel the request. + */ +export function requestAnimationFrame(callback: requestAnimationFrameCallback): number; + +/** + * A function that will be called when the next frame should be drawn. + * @param timestamp - A timestamp for the frame, in milliseconds. + */ +export type requestAnimationFrameCallback = (timestamp: number) => void; + +/** + * An event that is raised when a request encounters an error. + * @param [statusCode] - The HTTP error status code, such as 404. + * @param [response] - The response included along with the error. + * @param [responseHeaders] - The response headers, represented either as an object literal or as a + * string in the format returned by XMLHttpRequest's getAllResponseHeaders() function. + */ +export class RequestErrorEvent { + constructor(statusCode?: number, response?: any, responseHeaders?: string | any); + /** + * The HTTP error status code, such as 404. If the error does not have a particular + * HTTP code, this property will be undefined. + */ + statusCode: number; + /** + * The response included along with the error. If the error does not include a response, + * this property will be undefined. + */ + response: any; + /** + * The headers included in the response, represented as an object literal of key/value pairs. + * If the error does not include any headers, this property will be undefined. + */ + responseHeaders: any; + /** + * Creates a string representing this RequestErrorEvent. + * @returns A string representing the provided RequestErrorEvent. + */ + toString(): string; +} + +/** + * The request scheduler is used to track and constrain the number of active requests in order to prioritize incoming requests. The ability + * to retain control over the number of requests in CesiumJS is important because due to events such as changes in the camera position, + * a lot of new requests may be generated and a lot of in-flight requests may become redundant. The request scheduler manually constrains the + * number of requests so that newer requests wait in a shorter queue and don't have to compete for bandwidth with requests that have expired. + */ +export namespace RequestScheduler { + /** + * The maximum number of simultaneous active requests. Un-throttled requests do not observe this limit. + */ + var maximumRequests: number; + /** + * The maximum number of simultaneous active requests per server. Un-throttled requests or servers specifically + * listed in {@link requestsByServer} do not observe this limit. + */ + var maximumRequestsPerServer: number; + /** + * A per server key list of overrides to use for throttling instead of maximumRequestsPerServer + * @example + * RequestScheduler.requestsByServer = { + * 'api.cesium.com:443': 18, + * 'assets.cesium.com:443': 18 + * }; + */ + var requestsByServer: any; + /** + * Specifies if the request scheduler should throttle incoming requests, or let the browser queue requests under its control. + */ + var throttleRequests: boolean; +} + +/** + * State of the request. + */ +export enum RequestState { + /** + * Initial unissued state. + */ + UNISSUED = 0, + /** + * Issued but not yet active. Will become active when open slots are available. + */ + ISSUED = 1, + /** + * Actual http request has been sent. + */ + ACTIVE = 2, + /** + * Request completed successfully. + */ + RECEIVED = 3, + /** + * Request was cancelled, either explicitly or automatically because of low priority. + */ + CANCELLED = 4, + /** + * Request failed. + */ + FAILED = 5 +} + +/** + * An enum identifying the type of request. Used for finer grained logging and priority sorting. + */ +export enum RequestType { + /** + * Terrain request. + */ + TERRAIN = 0, + /** + * Imagery request. + */ + IMAGERY = 1, + /** + * 3D Tiles request. + */ + TILES3D = 2, + /** + * Other request. + */ + OTHER = 3 +} + +/** + * A resource that includes the location and any other parameters we need to retrieve it or create derived resources. It also provides the ability to retry requests. + * @example + * function refreshTokenRetryCallback(resource, error) { + * if (error.statusCode === 403) { + * // 403 status code means a new token should be generated + * return getNewAccessToken() + * .then(function(token) { + * resource.queryParameters.access_token = token; + * return true; + * }) + * .otherwise(function() { + * return false; + * }); + * } + * + * return false; + * } + * + * var resource = new Resource({ + * url: 'http://server.com/path/to/resource.json', + * proxy: new DefaultProxy('/proxy/'), + * headers: { + * 'X-My-Header': 'valueOfHeader' + * }, + * queryParameters: { + * 'access_token': '123-435-456-000' + * }, + * retryCallback: refreshTokenRetryCallback, + * retryAttempts: 1 + * }); + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + */ +export class Resource { + constructor(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + }); + /** + * Additional HTTP headers that will be sent with the request. + */ + headers: any; + /** + * A Request object that will be used. Intended for internal use only. + */ + request: Request; + /** + * A proxy to be used when loading the resource. + */ + proxy: Proxy; + /** + * Function to call when a request for this resource fails. If it returns true or a Promise that resolves to true, the request will be retried. + */ + retryCallback: (...params: any[]) => any; + /** + * The number of times the retryCallback should be called before giving up. + */ + retryAttempts: number; + /** + * Returns true if blobs are supported. + */ + static readonly isBlobSupported: boolean; + /** + * Query parameters appended to the url. + */ + readonly queryParameters: any; + /** + * The key/value pairs used to replace template parameters in the url. + */ + readonly templateValues: any; + /** + * The url to the resource with template values replaced, query string appended and encoded by proxy if one was set. + */ + url: string; + /** + * The file extension of the resource. + */ + readonly extension: string; + /** + * True if the Resource refers to a data URI. + */ + isDataUri: boolean; + /** + * True if the Resource refers to a blob URI. + */ + isBlobUri: boolean; + /** + * True if the Resource refers to a cross origin URL. + */ + isCrossOriginUrl: boolean; + /** + * True if the Resource has request headers. This is equivalent to checking if the headers property has any keys. + */ + hasHeaders: boolean; + /** + * Override Object#toString so that implicit string conversion gives the + * complete URL represented by this Resource. + * @returns The URL represented by this Resource + */ + toString(): string; + /** + * Returns the url, optional with the query string and processed by a proxy. + * @param [query = false] - If true, the query string is included. + * @param [proxy = false] - If true, the url is processed by the proxy object, if defined. + * @returns The url with all the requested components. + */ + getUrlComponent(query?: boolean, proxy?: boolean): string; + /** + * Combines the specified object and the existing query parameters. This allows you to add many parameters at once, + * as opposed to adding them one at a time to the queryParameters property. If a value is already set, it will be replaced with the new value. + * @param params - The query parameters + * @param [useAsDefault = false] - If true the params will be used as the default values, so they will only be set if they are undefined. + */ + setQueryParameters(params: any, useAsDefault?: boolean): void; + /** + * Combines the specified object and the existing query parameters. This allows you to add many parameters at once, + * as opposed to adding them one at a time to the queryParameters property. + * @param params - The query parameters + */ + appendQueryParameters(params: any): void; + /** + * Combines the specified object and the existing template values. This allows you to add many values at once, + * as opposed to adding them one at a time to the templateValues property. If a value is already set, it will become an array and the new value will be appended. + * @param template - The template values + * @param [useAsDefault = false] - If true the values will be used as the default values, so they will only be set if they are undefined. + */ + setTemplateValues(template: any, useAsDefault?: boolean): void; + /** + * Returns a resource relative to the current instance. All properties remain the same as the current instance unless overridden in options. + * @param options - An object with the following properties + * @param [options.url] - The url that will be resolved relative to the url of the current instance. + * @param [options.queryParameters] - An object containing query parameters that will be combined with those of the current instance. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). These will be combined with those of the current instance. + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The function to call when loading the resource fails. + * @param [options.retryAttempts] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.preserveQueryParameters = false] - If true, this will keep all query parameters from the current resource and derived resource. If false, derived parameters will replace those of the current resource. + * @returns The resource derived from the current one. + */ + getDerivedResource(options: { + url?: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + preserveQueryParameters?: boolean; + }): Resource; + /** + * Duplicates a Resource instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Resource instance if one was not provided. + */ + clone(result?: Resource): Resource; + /** + * Returns the base path of the Resource. + * @param [includeQuery = false] - Whether or not to include the query string and fragment form the uri + * @returns The base URI of the resource + */ + getBaseUri(includeQuery?: boolean): string; + /** + * Appends a forward slash to the URL. + */ + appendForwardSlash(): void; + /** + * Asynchronously loads the resource as raw binary data. Returns a promise that will resolve to + * an ArrayBuffer once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * // load a single URL asynchronously + * resource.fetchArrayBuffer().then(function(arrayBuffer) { + * // use the data + * }).otherwise(function(error) { + * // an error occurred + * }); + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + fetchArrayBuffer(): Promise | undefined; + /** + * Creates a Resource and calls fetchArrayBuffer() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static fetchArrayBuffer(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + }): Promise | undefined; + /** + * Asynchronously loads the given resource as a blob. Returns a promise that will resolve to + * a Blob once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * // load a single URL asynchronously + * resource.fetchBlob().then(function(blob) { + * // use the data + * }).otherwise(function(error) { + * // an error occurred + * }); + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + fetchBlob(): Promise | undefined; + /** + * Creates a Resource and calls fetchBlob() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static fetchBlob(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + }): Promise | undefined; + /** + * Asynchronously loads the given image resource. Returns a promise that will resolve to + * an {@link https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap|ImageBitmap} if preferImageBitmap is true and the browser supports createImageBitmap or otherwise an + * {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement|Image} once loaded, or reject if the image failed to load. + * @example + * // load a single image asynchronously + * resource.fetchImage().then(function(image) { + * // use the loaded image + * }).otherwise(function(error) { + * // an error occurred + * }); + * + * // load several images in parallel + * when.all([resource1.fetchImage(), resource2.fetchImage()]).then(function(images) { + * // images is an array containing all the loaded images + * }); + * @param [options] - An object with the following properties. + * @param [options.preferBlob = false] - If true, we will load the image via a blob. + * @param [options.preferImageBitmap = false] - If true, image will be decoded during fetch and an ImageBitmap is returned. + * @param [options.flipY = false] - If true, image will be vertically flipped during decode. Only applies if the browser supports createImageBitmap. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + fetchImage(options?: { + preferBlob?: boolean; + preferImageBitmap?: boolean; + flipY?: boolean; + }): Promise | Promise | undefined; + /** + * Creates a Resource and calls fetchImage() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.flipY = false] - Whether to vertically flip the image during fetch and decode. Only applies when requesting an image and the browser supports createImageBitmap. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.preferBlob = false] - If true, we will load the image via a blob. + * @param [options.preferImageBitmap = false] - If true, image will be decoded during fetch and an ImageBitmap is returned. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static fetchImage(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + flipY?: boolean; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + preferBlob?: boolean; + preferImageBitmap?: boolean; + }): Promise | Promise | undefined; + /** + * Asynchronously loads the given resource as text. Returns a promise that will resolve to + * a String once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * // load text from a URL, setting a custom header + * var resource = new Resource({ + * url: 'http://someUrl.com/someJson.txt', + * headers: { + * 'X-Custom-Header' : 'some value' + * } + * }); + * resource.fetchText().then(function(text) { + * // Do something with the text + * }).otherwise(function(error) { + * // an error occurred + * }); + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + fetchText(): Promise | undefined; + /** + * Creates a Resource and calls fetchText() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static fetchText(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + }): Promise | undefined; + /** + * Asynchronously loads the given resource as JSON. Returns a promise that will resolve to + * a JSON object once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. This function + * adds 'Accept: application/json,*/*;q=0.01' to the request headers, if not + * already specified. + * @example + * resource.fetchJson().then(function(jsonData) { + * // Do something with the JSON object + * }).otherwise(function(error) { + * // an error occurred + * }); + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + fetchJson(): Promise | undefined; + /** + * Creates a Resource and calls fetchJson() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static fetchJson(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + }): Promise | undefined; + /** + * Asynchronously loads the given resource as XML. Returns a promise that will resolve to + * an XML Document once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * // load XML from a URL, setting a custom header + * Cesium.loadXML('http://someUrl.com/someXML.xml', { + * 'X-Custom-Header' : 'some value' + * }).then(function(document) { + * // Do something with the document + * }).otherwise(function(error) { + * // an error occurred + * }); + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + fetchXML(): Promise | undefined; + /** + * Creates a Resource and calls fetchXML() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static fetchXML(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + }): Promise | undefined; + /** + * Requests a resource using JSONP. + * @example + * // load a data asynchronously + * resource.fetchJsonp().then(function(data) { + * // use the loaded data + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param [callbackParameterName = 'callback'] - The callback parameter name that the server expects. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + fetchJsonp(callbackParameterName?: string): Promise | undefined; + /** + * Creates a Resource from a URL and calls fetchJsonp() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.callbackParameterName = 'callback'] - The callback parameter name that the server expects. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static fetchJsonp(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + callbackParameterName?: string; + }): Promise | undefined; + /** + * Asynchronously loads the given resource. Returns a promise that will resolve to + * the result once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. It's recommended that you use + * the more specific functions eg. fetchJson, fetchBlob, etc. + * @example + * resource.fetch() + * .then(function(body) { + * // use the data + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param [options] - Object with the following properties: + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.headers] - Additional HTTP headers to send with the request, if any. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + fetch(options?: { + responseType?: string; + headers?: any; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Creates a Resource from a URL and calls fetch() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static fetch(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + responseType?: string; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Asynchronously deletes the given resource. Returns a promise that will resolve to + * the result once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * resource.delete() + * .then(function(body) { + * // use the data + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param [options] - Object with the following properties: + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.headers] - Additional HTTP headers to send with the request, if any. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + delete(options?: { + responseType?: string; + headers?: any; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Creates a Resource from a URL and calls delete() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.data] - Data that is posted with the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static delete(options: { + url: string; + data?: any; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + responseType?: string; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Asynchronously gets headers the given resource. Returns a promise that will resolve to + * the result once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * resource.head() + * .then(function(headers) { + * // use the data + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param [options] - Object with the following properties: + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.headers] - Additional HTTP headers to send with the request, if any. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + head(options?: { + responseType?: string; + headers?: any; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Creates a Resource from a URL and calls head() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static head(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + responseType?: string; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Asynchronously gets options the given resource. Returns a promise that will resolve to + * the result once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * resource.options() + * .then(function(headers) { + * // use the data + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param [options] - Object with the following properties: + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.headers] - Additional HTTP headers to send with the request, if any. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + options(options?: { + responseType?: string; + headers?: any; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Creates a Resource from a URL and calls options() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static options(options: { + url: string; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + responseType?: string; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Asynchronously posts data to the given resource. Returns a promise that will resolve to + * the result once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * resource.post(data) + * .then(function(result) { + * // use the result + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param data - Data that is posted with the resource. + * @param [options] - Object with the following properties: + * @param [options.data] - Data that is posted with the resource. + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.headers] - Additional HTTP headers to send with the request, if any. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + post(data: any, options?: { + data?: any; + responseType?: string; + headers?: any; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Creates a Resource from a URL and calls post() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param options.data - Data that is posted with the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static post(options: { + url: string; + data: any; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + responseType?: string; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Asynchronously puts data to the given resource. Returns a promise that will resolve to + * the result once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * resource.put(data) + * .then(function(result) { + * // use the result + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param data - Data that is posted with the resource. + * @param [options] - Object with the following properties: + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.headers] - Additional HTTP headers to send with the request, if any. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + put(data: any, options?: { + responseType?: string; + headers?: any; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Creates a Resource from a URL and calls put() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param options.data - Data that is posted with the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static put(options: { + url: string; + data: any; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + responseType?: string; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Asynchronously patches data to the given resource. Returns a promise that will resolve to + * the result once loaded, or reject if the resource failed to load. The data is loaded + * using XMLHttpRequest, which means that in order to make requests to another origin, + * the server must have Cross-Origin Resource Sharing (CORS) headers enabled. + * @example + * resource.patch(data) + * .then(function(result) { + * // use the result + * }).otherwise(function(error) { + * // an error occurred + * }); + * @param data - Data that is posted with the resource. + * @param [options] - Object with the following properties: + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.headers] - Additional HTTP headers to send with the request, if any. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + patch(data: any, options?: { + responseType?: string; + headers?: any; + overrideMimeType?: string; + }): Promise | undefined; + /** + * Creates a Resource from a URL and calls patch() on it. + * @param options - A url or an object with the following properties + * @param options.url - The url of the resource. + * @param options.data - Data that is posted with the resource. + * @param [options.queryParameters] - An object containing query parameters that will be sent when retrieving the resource. + * @param [options.templateValues] - Key/Value pairs that are used to replace template values (eg. {x}). + * @param [options.headers = {}] - Additional HTTP headers that will be sent. + * @param [options.proxy] - A proxy to be used when loading the resource. + * @param [options.retryCallback] - The Function to call when a request for this resource fails. If it returns true, the request will be retried. + * @param [options.retryAttempts = 0] - The number of times the retryCallback should be called before giving up. + * @param [options.request] - A Request object that will be used. Intended for internal use only. + * @param [options.responseType] - The type of response. This controls the type of item returned. + * @param [options.overrideMimeType] - Overrides the MIME type returned by the server. + * @returns a promise that will resolve to the requested data when loaded. Returns undefined if request.throttle is true and the request does not have high enough priority. + */ + static patch(options: { + url: string; + data: any; + queryParameters?: any; + templateValues?: any; + headers?: any; + proxy?: Proxy; + retryCallback?: Resource.RetryCallback; + retryAttempts?: number; + request?: Request; + responseType?: string; + overrideMimeType?: string; + }): Promise | undefined; + /** + * A resource instance initialized to the current browser location + */ + static readonly DEFAULT: Resource; +} + +export namespace Resource { + /** + * A function that returns the value of the property. + * @param [resource] - The resource that failed to load. + * @param [error] - The error that occurred during the loading of the resource. + */ + type RetryCallback = (resource?: Resource, error?: Error) => boolean | Promise; +} + +/** + * Constructs an exception object that is thrown due to an error that can occur at runtime, e.g., + * out of memory, could not compile shader, etc. If a function may throw this + * exception, the calling code should be prepared to catch it. + *

+ * On the other hand, a {@link DeveloperError} indicates an exception due + * to a developer error, e.g., invalid argument, that usually indicates a bug in the + * calling code. + * @param [message] - The error message for this exception. + */ +export class RuntimeError extends Error { + constructor(message?: string); + /** + * 'RuntimeError' indicating that this exception was thrown due to a runtime error. + */ + readonly name: string; + /** + * The explanation for why this exception was thrown. + */ + readonly message: string; + /** + * The stack trace of this exception, if available. + */ + readonly stack: string; +} + +/** + * Initiates a terrain height query for an array of {@link Cartographic} positions by + * requesting tiles from a terrain provider, sampling, and interpolating. The interpolation + * matches the triangles used to render the terrain at the specified level. The query + * happens asynchronously, so this function returns a promise that is resolved when + * the query completes. Each point height is modified in place. If a height can not be + * determined because no terrain data is available for the specified level at that location, + * or another error occurs, the height is set to undefined. As is typical of the + * {@link Cartographic} type, the supplied height is a height above the reference ellipsoid + * (such as {@link Ellipsoid.WGS84}) rather than an altitude above mean sea level. In other + * words, it will not necessarily be 0.0 if sampled in the ocean. This function needs the + * terrain level of detail as input, if you need to get the altitude of the terrain as precisely + * as possible (i.e. with maximum level of detail) use {@link sampleTerrainMostDetailed}. + * @example + * // Query the terrain height of two Cartographic positions + * var terrainProvider = Cesium.createWorldTerrain(); + * var positions = [ + * Cesium.Cartographic.fromDegrees(86.925145, 27.988257), + * Cesium.Cartographic.fromDegrees(87.0, 28.0) + * ]; + * var promise = Cesium.sampleTerrain(terrainProvider, 11, positions); + * Cesium.when(promise, function(updatedPositions) { + * // positions[0].height and positions[1].height have been updated. + * // updatedPositions is just a reference to positions. + * }); + * @param terrainProvider - The terrain provider from which to query heights. + * @param level - The terrain level-of-detail from which to query terrain heights. + * @param positions - The positions to update with terrain heights. + * @returns A promise that resolves to the provided list of positions when terrain the query has completed. + */ +export function sampleTerrain(terrainProvider: TerrainProvider, level: number, positions: Cartographic[]): Promise; + +/** + * Initiates a sampleTerrain() request at the maximum available tile level for a terrain dataset. + * @example + * // Query the terrain height of two Cartographic positions + * var terrainProvider = Cesium.createWorldTerrain(); + * var positions = [ + * Cesium.Cartographic.fromDegrees(86.925145, 27.988257), + * Cesium.Cartographic.fromDegrees(87.0, 28.0) + * ]; + * var promise = Cesium.sampleTerrainMostDetailed(terrainProvider, positions); + * Cesium.when(promise, function(updatedPositions) { + * // positions[0].height and positions[1].height have been updated. + * // updatedPositions is just a reference to positions. + * }); + * @param terrainProvider - The terrain provider from which to query heights. + * @param positions - The positions to update with terrain heights. + * @returns A promise that resolves to the provided list of positions when terrain the query has completed. This + * promise will reject if the terrain provider's `availability` property is undefined. + */ +export function sampleTerrainMostDetailed(terrainProvider: TerrainProvider, positions: Cartographic[]): Promise; + +/** + * Handles user input events. Custom functions can be added to be executed on + * when the user enters input. + * @param [element = document] - The element to add events to. + */ +export class ScreenSpaceEventHandler { + constructor(element?: HTMLCanvasElement); + /** + * Set a function to be executed on an input event. + * @param action - Function to be executed when the input event occurs. + * @param type - The ScreenSpaceEventType of input event. + * @param [modifier] - A KeyboardEventModifier key that is held when a type + * event occurs. + */ + setInputAction(action: (...params: any[]) => any, type: number, modifier?: number): void; + /** + * Returns the function to be executed on an input event. + * @param type - The ScreenSpaceEventType of input event. + * @param [modifier] - A KeyboardEventModifier key that is held when a type + * event occurs. + * @returns The function to be executed on an input event. + */ + getInputAction(type: number, modifier?: number): (...params: any[]) => any; + /** + * Removes the function to be executed on an input event. + * @param type - The ScreenSpaceEventType of input event. + * @param [modifier] - A KeyboardEventModifier key that is held when a type + * event occurs. + */ + removeInputAction(type: number, modifier?: number): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes listeners held by this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * handler = handler && handler.destroy(); + */ + destroy(): void; + /** + * The amount of time, in milliseconds, that mouse events will be disabled after + * receiving any touch events, such that any emulated mouse events will be ignored. + */ + static mouseEmulationIgnoreMilliseconds: number; + /** + * The amount of time, in milliseconds, before a touch on the screen becomes a + * touch and hold. + */ + static touchHoldDelayMilliseconds: number; +} + +/** + * This enumerated type is for classifying mouse events: down, up, click, double click, move and move while a button is held down. + */ +export enum ScreenSpaceEventType { + /** + * Represents a mouse left button down event. + */ + LEFT_DOWN = 0, + /** + * Represents a mouse left button up event. + */ + LEFT_UP = 1, + /** + * Represents a mouse left click event. + */ + LEFT_CLICK = 2, + /** + * Represents a mouse left double click event. + */ + LEFT_DOUBLE_CLICK = 3, + /** + * Represents a mouse left button down event. + */ + RIGHT_DOWN = 5, + /** + * Represents a mouse right button up event. + */ + RIGHT_UP = 6, + /** + * Represents a mouse right click event. + */ + RIGHT_CLICK = 7, + /** + * Represents a mouse middle button down event. + */ + MIDDLE_DOWN = 10, + /** + * Represents a mouse middle button up event. + */ + MIDDLE_UP = 11, + /** + * Represents a mouse middle click event. + */ + MIDDLE_CLICK = 12, + /** + * Represents a mouse move event. + */ + MOUSE_MOVE = 15, + /** + * Represents a mouse wheel event. + */ + WHEEL = 16, + /** + * Represents the start of a two-finger event on a touch surface. + */ + PINCH_START = 17, + /** + * Represents the end of a two-finger event on a touch surface. + */ + PINCH_END = 18, + /** + * Represents a change of a two-finger event on a touch surface. + */ + PINCH_MOVE = 19 +} + +/** + * Value and type information for per-instance geometry attribute that determines if the geometry instance will be shown. + * @example + * var instance = new Cesium.GeometryInstance({ + * geometry : new Cesium.BoxGeometry({ + * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL, + * minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0), + * maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0) + * }), + * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame( + * Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 1000000.0), new Cesium.Matrix4()), + * id : 'box', + * attributes : { + * show : new Cesium.ShowGeometryInstanceAttribute(false) + * } + * }); + * @param [show = true] - Determines if the geometry instance will be shown. + */ +export class ShowGeometryInstanceAttribute { + constructor(show?: boolean); + /** + * The values for the attributes stored in a typed array. + */ + value: Uint8Array; + /** + * The datatype of each component in the attribute, e.g., individual elements in + * {@link ColorGeometryInstanceAttribute#value}. + */ + readonly componentDatatype: ComponentDatatype; + /** + * The number of components in the attributes, i.e., {@link ColorGeometryInstanceAttribute#value}. + */ + readonly componentsPerAttribute: number; + /** + * When true and componentDatatype is an integer format, + * indicate that the components should be mapped to the range [0, 1] (unsigned) + * or [-1, 1] (signed) when they are accessed as floating-point for rendering. + */ + readonly normalize: boolean; + /** + * Converts a boolean show to a typed array that can be used to assign a show attribute. + * @example + * var attributes = primitive.getGeometryInstanceAttributes('an id'); + * attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true, attributes.show); + * @param show - The show value. + * @param [result] - The array to store the result in, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. + */ + static toValue(show: boolean, result?: Uint8Array): Uint8Array; +} + +/** + * Contains functions for finding the Cartesian coordinates of the sun and the moon in the + * Earth-centered inertial frame. + */ +export namespace Simon1994PlanetaryPositions { + /** + * Computes the position of the Sun in the Earth-centered inertial frame + * @param [julianDate] - The time at which to compute the Sun's position, if not provided the current system time is used. + * @param [result] - The object onto which to store the result. + * @returns Calculated sun position + */ + function computeSunPositionInEarthInertialFrame(julianDate?: JulianDate, result?: Cartesian3): Cartesian3; + /** + * Computes the position of the Moon in the Earth-centered inertial frame + * @param [julianDate] - The time at which to compute the Sun's position, if not provided the current system time is used. + * @param [result] - The object onto which to store the result. + * @returns Calculated moon position + */ + function computeMoonPositionInEarthInertialFrame(julianDate?: JulianDate, result?: Cartesian3): Cartesian3; +} + +/** + * A description of a polyline modeled as a line strip; the first two positions define a line segment, + * and each additional position defines a line segment from the previous position. + * @example + * // A polyline with two connected line segments + * var polyline = new Cesium.SimplePolylineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * 0.0, 0.0, + * 5.0, 0.0, + * 5.0, 5.0 + * ]) + * }); + * var geometry = Cesium.SimplePolylineGeometry.createGeometry(polyline); + * @param options - Object with the following properties: + * @param options.positions - An array of {@link Cartesian3} defining the positions in the polyline as a line strip. + * @param [options.colors] - An Array of {@link Color} defining the per vertex or per segment colors. + * @param [options.colorsPerVertex = false] - A boolean that determines whether the colors will be flat across each segment of the line or interpolated across the vertices. + * @param [options.arcType = ArcType.GEODESIC] - The type of line the polyline segments must follow. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude if options.arcType is not ArcType.NONE. Determines the number of positions in the buffer. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid to be used as a reference. + */ +export class SimplePolylineGeometry { + constructor(options: { + positions: Cartesian3[]; + colors?: Color[]; + colorsPerVertex?: boolean; + arcType?: ArcType; + granularity?: number; + ellipsoid?: Ellipsoid; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: SimplePolylineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new SimplePolylineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: SimplePolylineGeometry): SimplePolylineGeometry; + /** + * Computes the geometric representation of a simple polyline, including its vertices, indices, and a bounding sphere. + * @param simplePolylineGeometry - A description of the polyline. + * @returns The computed vertices and indices. + */ + static createGeometry(simplePolylineGeometry: SimplePolylineGeometry): Geometry | undefined; +} + +/** + * A description of a sphere centered at the origin. + * @example + * var sphere = new Cesium.SphereGeometry({ + * radius : 100.0, + * vertexFormat : Cesium.VertexFormat.POSITION_ONLY + * }); + * var geometry = Cesium.SphereGeometry.createGeometry(sphere); + * @param [options] - Object with the following properties: + * @param [options.radius = 1.0] - The radius of the sphere. + * @param [options.stackPartitions = 64] - The number of times to partition the ellipsoid into stacks. + * @param [options.slicePartitions = 64] - The number of times to partition the ellipsoid into radial slices. + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ +export class SphereGeometry { + constructor(options?: { + radius?: number; + stackPartitions?: number; + slicePartitions?: number; + vertexFormat?: VertexFormat; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: SphereGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new SphereGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: SphereGeometry): SphereGeometry; + /** + * Computes the geometric representation of a sphere, including its vertices, indices, and a bounding sphere. + * @param sphereGeometry - A description of the sphere. + * @returns The computed vertices and indices. + */ + static createGeometry(sphereGeometry: SphereGeometry): Geometry | undefined; +} + +/** + * A description of the outline of a sphere. + * @example + * var sphere = new Cesium.SphereOutlineGeometry({ + * radius : 100.0, + * stackPartitions : 6, + * slicePartitions: 5 + * }); + * var geometry = Cesium.SphereOutlineGeometry.createGeometry(sphere); + * @param [options] - Object with the following properties: + * @param [options.radius = 1.0] - The radius of the sphere. + * @param [options.stackPartitions = 10] - The count of stacks for the sphere (1 greater than the number of parallel lines). + * @param [options.slicePartitions = 8] - The count of slices for the sphere (Equal to the number of radial lines). + * @param [options.subdivisions = 200] - The number of points per line, determining the granularity of the curvature . + */ +export class SphereOutlineGeometry { + constructor(options?: { + radius?: number; + stackPartitions?: number; + slicePartitions?: number; + subdivisions?: number; + }); + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: SphereOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new SphereOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: SphereOutlineGeometry): SphereOutlineGeometry; + /** + * Computes the geometric representation of an outline of a sphere, including its vertices, indices, and a bounding sphere. + * @param sphereGeometry - A description of the sphere outline. + * @returns The computed vertices and indices. + */ + static createGeometry(sphereGeometry: SphereOutlineGeometry): Geometry | undefined; +} + +/** + * A set of curvilinear 3-dimensional coordinates. + * @param [clock = 0.0] - The angular coordinate lying in the xy-plane measured from the positive x-axis and toward the positive y-axis. + * @param [cone = 0.0] - The angular coordinate measured from the positive z-axis and toward the negative z-axis. + * @param [magnitude = 1.0] - The linear coordinate measured from the origin. + */ +export class Spherical { + constructor(clock?: number, cone?: number, magnitude?: number); + /** + * The clock component. + */ + clock: number; + /** + * The cone component. + */ + cone: number; + /** + * The magnitude component. + */ + magnitude: number; + /** + * Converts the provided Cartesian3 into Spherical coordinates. + * @param cartesian3 - The Cartesian3 to be converted to Spherical. + * @param [result] - The object in which the result will be stored, if undefined a new instance will be created. + * @returns The modified result parameter, or a new instance if one was not provided. + */ + static fromCartesian3(cartesian3: Cartesian3, result?: Spherical): Spherical; + /** + * Creates a duplicate of a Spherical. + * @param spherical - The spherical to clone. + * @param [result] - The object to store the result into, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. (Returns undefined if spherical is undefined) + */ + static clone(spherical: Spherical, result?: Spherical): Spherical; + /** + * Computes the normalized version of the provided spherical. + * @param spherical - The spherical to be normalized. + * @param [result] - The object to store the result into, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. + */ + static normalize(spherical: Spherical, result?: Spherical): Spherical; + /** + * Returns true if the first spherical is equal to the second spherical, false otherwise. + * @param left - The first Spherical to be compared. + * @param right - The second Spherical to be compared. + * @returns true if the first spherical is equal to the second spherical, false otherwise. + */ + static equals(left: Spherical, right: Spherical): boolean; + /** + * Returns true if the first spherical is within the provided epsilon of the second spherical, false otherwise. + * @param left - The first Spherical to be compared. + * @param right - The second Spherical to be compared. + * @param [epsilon = 0.0] - The epsilon to compare against. + * @returns true if the first spherical is within the provided epsilon of the second spherical, false otherwise. + */ + static equalsEpsilon(left: Spherical, right: Spherical, epsilon?: number): boolean; + /** + * Returns true if this spherical is equal to the provided spherical, false otherwise. + * @param other - The Spherical to be compared. + * @returns true if this spherical is equal to the provided spherical, false otherwise. + */ + equals(other: Spherical): boolean; + /** + * Creates a duplicate of this Spherical. + * @param [result] - The object to store the result into, if undefined a new instance will be created. + * @returns The modified result parameter or a new instance if result was undefined. + */ + clone(result?: Spherical): Spherical; + /** + * Returns true if this spherical is within the provided epsilon of the provided spherical, false otherwise. + * @param other - The Spherical to be compared. + * @param epsilon - The epsilon to compare against. + * @returns true if this spherical is within the provided epsilon of the provided spherical, false otherwise. + */ + equalsEpsilon(other: Spherical, epsilon: number): boolean; + /** + * Returns a string representing this instance in the format (clock, cone, magnitude). + * @returns A string representing this instance. + */ + toString(): string; +} + +/** + * Creates a curve parameterized and evaluated by time. This type describes an interface + * and is not intended to be instantiated directly. + */ +export class Spline { + constructor(); + /** + * An array of times for the control points. + */ + times: number[]; + /** + * An array of control points. + */ + points: Cartesian3[] | Quaternion[]; + /** + * Evaluates the curve at a given time. + * @param time - The time at which to evaluate the curve. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance of the point on the curve at the given time. + */ + evaluate(time: number, result?: Cartesian3 | Quaternion | number[]): Cartesian3 | Quaternion | number[]; + /** + * Finds an index i in times such that the parameter + * time is in the interval [times[i], times[i + 1]]. + * @param time - The time. + * @param startIndex - The index from which to start the search. + * @returns The index for the element at the start of the interval. + */ + findTimeInterval(time: number, startIndex: number): number; + /** + * Wraps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, wrapped around the animation period. + */ + wrapTime(time: number): number; + /** + * Clamps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, clamped to the animation period. + */ + clampTime(time: number): number; +} + +/** + * Subdivides an array into a number of smaller, equal sized arrays. + * @param array - The array to divide. + * @param numberOfArrays - The number of arrays to divide the provided array into. + */ +export function subdivideArray(array: any[], numberOfArrays: number): void; + +/** + * A wrapper around a web worker that allows scheduling tasks for a given worker, + * returning results asynchronously via a promise. + * + * The Worker is not constructed until a task is scheduled. + * @param workerName - The name of the worker. This is expected to be a script + * in the Workers folder. + * @param [maximumActiveTasks = 5] - The maximum number of active tasks. Once exceeded, + * scheduleTask will not queue any more tasks, allowing + * work to be rescheduled in future frames. + */ +export class TaskProcessor { + constructor(workerName: string, maximumActiveTasks?: number); + /** + * Schedule a task to be processed by the web worker asynchronously. If there are currently more + * tasks active than the maximum set by the constructor, will immediately return undefined. + * Otherwise, returns a promise that will resolve to the result posted back by the worker when + * finished. + * @example + * var taskProcessor = new Cesium.TaskProcessor('myWorkerName'); + * var promise = taskProcessor.scheduleTask({ + * someParameter : true, + * another : 'hello' + * }); + * if (!Cesium.defined(promise)) { + * // too many active tasks - try again later + * } else { + * Cesium.when(promise, function(result) { + * // use the result of the task + * }); + * } + * @param parameters - Any input data that will be posted to the worker. + * @param [transferableObjects] - An array of objects contained in parameters that should be + * transferred to the worker instead of copied. + * @returns Either a promise that will resolve to the result when available, or undefined + * if there are too many active tasks, + */ + scheduleTask(parameters: any, transferableObjects?: object[]): Promise | undefined; + /** + * Posts a message to a web worker with configuration to initialize loading + * and compiling a web assembly module asychronously, as well as an optional + * fallback JavaScript module to use if Web Assembly is not supported. + * @param [webAssemblyOptions] - An object with the following properties: + * @param [webAssemblyOptions.modulePath] - The path of the web assembly JavaScript wrapper module. + * @param [webAssemblyOptions.wasmBinaryFile] - The path of the web assembly binary file. + * @param [webAssemblyOptions.fallbackModulePath] - The path of the fallback JavaScript module to use if web assembly is not supported. + * @returns A promise that resolves to the result when the web worker has loaded and compiled the web assembly module and is ready to process tasks. + */ + initWebAssemblyModule(webAssemblyOptions?: { + modulePath?: string; + wasmBinaryFile?: string; + fallbackModulePath?: string; + }): Promise; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys this object. This will immediately terminate the Worker. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + */ + destroy(): void; +} + +/** + * Terrain data for a single tile. This type describes an + * interface and is not intended to be instantiated directly. + */ +export class TerrainData { + constructor(); + /** + * An array of credits for this tile. + */ + credits: Credit[]; + /** + * The water mask included in this terrain data, if any. A water mask is a rectangular + * Uint8Array or image where a value of 255 indicates water and a value of 0 indicates land. + * Values in between 0 and 255 are allowed as well to smoothly blend between land and water. + */ + waterMask: Uint8Array | HTMLImageElement | HTMLCanvasElement; + /** + * Computes the terrain height at a specified longitude and latitude. + * @param rectangle - The rectangle covered by this terrain data. + * @param longitude - The longitude in radians. + * @param latitude - The latitude in radians. + * @returns The terrain height at the specified position. If the position + * is outside the rectangle, this method will extrapolate the height, which is likely to be wildly + * incorrect for positions far outside the rectangle. + */ + interpolateHeight(rectangle: Rectangle, longitude: number, latitude: number): number; + /** + * Determines if a given child tile is available, based on the + * {@link TerrainData#childTileMask}. The given child tile coordinates are assumed + * to be one of the four children of this tile. If non-child tile coordinates are + * given, the availability of the southeast child tile is returned. + * @param thisX - The tile X coordinate of this (the parent) tile. + * @param thisY - The tile Y coordinate of this (the parent) tile. + * @param childX - The tile X coordinate of the child tile to check for availability. + * @param childY - The tile Y coordinate of the child tile to check for availability. + * @returns True if the child tile is available; otherwise, false. + */ + isChildAvailable(thisX: number, thisY: number, childX: number, childY: number): boolean; + /** + * Upsamples this terrain data for use by a descendant tile. + * @param tilingScheme - The tiling scheme of this terrain data. + * @param thisX - The X coordinate of this tile in the tiling scheme. + * @param thisY - The Y coordinate of this tile in the tiling scheme. + * @param thisLevel - The level of this tile in the tiling scheme. + * @param descendantX - The X coordinate within the tiling scheme of the descendant tile for which we are upsampling. + * @param descendantY - The Y coordinate within the tiling scheme of the descendant tile for which we are upsampling. + * @param descendantLevel - The level within the tiling scheme of the descendant tile for which we are upsampling. + * @returns A promise for upsampled terrain data for the descendant tile, + * or undefined if too many asynchronous upsample operations are in progress and the request has been + * deferred. + */ + upsample(tilingScheme: TilingScheme, thisX: number, thisY: number, thisLevel: number, descendantX: number, descendantY: number, descendantLevel: number): Promise | undefined; + /** + * Gets a value indicating whether or not this terrain data was created by upsampling lower resolution + * terrain data. If this value is false, the data was obtained from some other source, such + * as by downloading it from a remote server. This method should return true for instances + * returned from a call to {@link TerrainData#upsample}. + * @returns True if this instance was created by upsampling; otherwise, false. + */ + wasCreatedByUpsampling(): boolean; +} + +/** + * Provides terrain or other geometry for the surface of an ellipsoid. The surface geometry is + * organized into a pyramid of tiles according to a {@link TilingScheme}. This type describes an + * interface and is not intended to be instantiated directly. + */ +export class TerrainProvider { + constructor(); + /** + * Gets an event that is raised when the terrain provider encounters an asynchronous error.. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + errorEvent: Event; + /** + * Gets the credit to display when this terrain provider is active. Typically this is used to credit + * the source of the terrain. This function should + * not be called before {@link TerrainProvider#ready} returns true. + */ + credit: Credit; + /** + * Gets the tiling scheme used by the provider. This function should + * not be called before {@link TerrainProvider#ready} returns true. + */ + tilingScheme: TilingScheme; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets a value indicating whether or not the provider includes a water mask. The water mask + * indicates which areas of the globe are water rather than land, so they can be rendered + * as a reflective surface with animated waves. This function should not be + * called before {@link TerrainProvider#ready} returns true. + */ + hasWaterMask: boolean; + /** + * Gets a value indicating whether or not the requested tiles include vertex normals. + * This function should not be called before {@link TerrainProvider#ready} returns true. + */ + hasVertexNormals: boolean; + /** + * Gets an object that can be used to determine availability of terrain from this provider, such as + * at points and in rectangles. This function should not be called before + * {@link TerrainProvider#ready} returns true. This property may be undefined if availability + * information is not available. + */ + availability: TileAvailability; + /** + * Gets a list of indices for a triangle mesh representing a regular grid. Calling + * this function multiple times with the same grid width and height returns the + * same list of indices. The total number of vertices must be less than or equal + * to 65536. + * @param width - The number of vertices in the regular grid in the horizontal direction. + * @param height - The number of vertices in the regular grid in the vertical direction. + * @returns The list of indices. Uint16Array gets returned for 64KB or less and Uint32Array for 4GB or less. + */ + static getRegularGridIndices(width: number, height: number): Uint16Array | Uint32Array; + /** + * Specifies the quality of terrain created from heightmaps. A value of 1.0 will + * ensure that adjacent heightmap vertices are separated by no more than + * {@link Globe.maximumScreenSpaceError} screen pixels and will probably go very slowly. + * A value of 0.5 will cut the estimated level zero geometric error in half, allowing twice the + * screen pixels between adjacent heightmap vertices and thus rendering more quickly. + */ + static heightmapTerrainQuality: number; + /** + * Determines an appropriate geometric error estimate when the geometry comes from a heightmap. + * @param ellipsoid - The ellipsoid to which the terrain is attached. + * @param tileImageWidth - The width, in pixels, of the heightmap associated with a single tile. + * @param numberOfTilesAtLevelZero - The number of tiles in the horizontal direction at tile level zero. + * @returns An estimated geometric error. + */ + static getEstimatedLevelZeroGeometricErrorForAHeightmap(ellipsoid: Ellipsoid, tileImageWidth: number, numberOfTilesAtLevelZero: number): number; + /** + * Requests the geometry for a given tile. This function should not be called before + * {@link TerrainProvider#ready} returns true. The result must include terrain data and + * may optionally include a water mask and an indication of which child tiles are available. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the requested geometry. If this method + * returns undefined instead of a promise, it is an indication that too many requests are already + * pending and the request will be retried later. + */ + requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Gets the maximum geometric error allowed in a tile at a given level. This function should not be + * called before {@link TerrainProvider#ready} returns true. + * @param level - The tile level for which to get the maximum geometric error. + * @returns The maximum geometric error. + */ + getLevelMaximumGeometricError(level: number): number; + /** + * Determines whether data for a tile is available to be loaded. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if not supported by the terrain provider, otherwise true or false. + */ + getTileDataAvailable(x: number, y: number, level: number): boolean; + /** + * Makes sure we load availability data for a tile + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded + */ + loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise; +} + +/** + * Reports the availability of tiles in a {@link TilingScheme}. + * @param tilingScheme - The tiling scheme in which to report availability. + * @param maximumLevel - The maximum tile level that is potentially available. + */ +export class TileAvailability { + constructor(tilingScheme: TilingScheme, maximumLevel: number); + /** + * Marks a rectangular range of tiles in a particular level as being available. For best performance, + * add your ranges in order of increasing level. + * @param level - The level. + * @param startX - The X coordinate of the first available tiles at the level. + * @param startY - The Y coordinate of the first available tiles at the level. + * @param endX - The X coordinate of the last available tiles at the level. + * @param endY - The Y coordinate of the last available tiles at the level. + */ + addAvailableTileRange(level: number, startX: number, startY: number, endX: number, endY: number): void; + /** + * Determines the level of the most detailed tile covering the position. This function + * usually completes in time logarithmic to the number of rectangles added with + * {@link TileAvailability#addAvailableTileRange}. + * @param position - The position for which to determine the maximum available level. The height component is ignored. + * @returns The level of the most detailed tile covering the position. + */ + computeMaximumLevelAtPosition(position: Cartographic): number; + /** + * Finds the most detailed level that is available _everywhere_ within a given rectangle. More detailed + * tiles may be available in parts of the rectangle, but not the whole thing. The return value of this + * function may be safely passed to {@link sampleTerrain} for any position within the rectangle. This function + * usually completes in time logarithmic to the number of rectangles added with + * {@link TileAvailability#addAvailableTileRange}. + * @param rectangle - The rectangle. + * @returns The best available level for the entire rectangle. + */ + computeBestAvailableLevelOverRectangle(rectangle: Rectangle): number; + /** + * Determines if a particular tile is available. + * @param level - The tile level to check. + * @param x - The X coordinate of the tile to check. + * @param y - The Y coordinate of the tile to check. + * @returns True if the tile is available; otherwise, false. + */ + isTileAvailable(level: number, x: number, y: number): boolean; + /** + * Computes a bit mask indicating which of a tile's four children exist. + * If a child's bit is set, a tile is available for that child. If it is cleared, + * the tile is not available. The bit values are as follows: + * + * + * + * + * + * + *
Bit PositionBit ValueChild Tile
01Southwest
12Southeast
24Northwest
38Northeast
+ * @param level - The level of the parent tile. + * @param x - The X coordinate of the parent tile. + * @param y - The Y coordinate of the parent tile. + * @returns The bit mask indicating child availability. + */ + computeChildMaskForTile(level: number, x: number, y: number): number; +} + +/** + * Provides details about an error that occurred in an {@link ImageryProvider} or a {@link TerrainProvider}. + * @param provider - The imagery or terrain provider that experienced the error. + * @param message - A message describing the error. + * @param [x] - The X coordinate of the tile that experienced the error, or undefined if the error + * is not specific to a particular tile. + * @param [y] - The Y coordinate of the tile that experienced the error, or undefined if the error + * is not specific to a particular tile. + * @param [level] - The level of the tile that experienced the error, or undefined if the error + * is not specific to a particular tile. + * @param [timesRetried = 0] - The number of times this operation has been retried. + * @param [error] - The error or exception that occurred, if any. + */ +export class TileProviderError { + constructor(provider: ImageryProvider | TerrainProvider, message: string, x?: number, y?: number, level?: number, timesRetried?: number, error?: Error); + /** + * The {@link ImageryProvider} or {@link TerrainProvider} that experienced the error. + */ + provider: ImageryProvider | TerrainProvider; + /** + * The message describing the error. + */ + message: string; + /** + * The X coordinate of the tile that experienced the error. If the error is not specific + * to a particular tile, this property will be undefined. + */ + x: number; + /** + * The Y coordinate of the tile that experienced the error. If the error is not specific + * to a particular tile, this property will be undefined. + */ + y: number; + /** + * The level-of-detail of the tile that experienced the error. If the error is not specific + * to a particular tile, this property will be undefined. + */ + level: number; + /** + * The number of times this operation has been retried. + */ + timesRetried: number; + /** + * True if the failed operation should be retried; otherwise, false. The imagery or terrain provider + * will set the initial value of this property before raising the event, but any listeners + * can change it. The value after the last listener is invoked will be acted upon. + */ + retry: boolean; + /** + * The error or exception that occurred, if any. + */ + error: Error; + /** + * Handles an error in an {@link ImageryProvider} or {@link TerrainProvider} by raising an event if it has any listeners, or by + * logging the error to the console if the event has no listeners. This method also tracks the number + * of times the operation has been retried and will automatically retry if requested to do so by the + * event listeners. + * @param previousError - The error instance returned by this function the last + * time it was called for this error, or undefined if this is the first time this error has + * occurred. + * @param provider - The imagery or terrain provider that encountered the error. + * @param event - The event to raise to inform listeners of the error. + * @param message - The message describing the error. + * @param x - The X coordinate of the tile that experienced the error, or undefined if the + * error is not specific to a particular tile. + * @param y - The Y coordinate of the tile that experienced the error, or undefined if the + * error is not specific to a particular tile. + * @param level - The level-of-detail of the tile that experienced the error, or undefined if the + * error is not specific to a particular tile. + * @param retryFunction - The function to call to retry the operation. If undefined, the + * operation will not be retried. + * @param [errorDetails] - The error or exception that occurred, if any. + * @returns The error instance that was passed to the event listeners and that + * should be passed to this function the next time it is called for the same error in order + * to track retry counts. + */ + static handleError(previousError: TileProviderError, provider: ImageryProvider | TerrainProvider, event: Event, message: string, x: number, y: number, level: number, retryFunction: TileProviderError.RetryFunction, errorDetails?: Error): TileProviderError; + /** + * Handles success of an operation by resetting the retry count of a previous error, if any. This way, + * if the error occurs again in the future, the listeners will be informed that it has not yet been retried. + * @param previousError - The previous error, or undefined if this operation has + * not previously resulted in an error. + */ + static handleSuccess(previousError: TileProviderError): void; +} + +export namespace TileProviderError { + /** + * A function that will be called to retry the operation. + */ + type RetryFunction = () => void; +} + +/** + * A tiling scheme for geometry or imagery on the surface of an ellipsoid. At level-of-detail zero, + * the coarsest, least-detailed level, the number of tiles is configurable. + * At level of detail one, each of the level zero tiles has four children, two in each direction. + * At level of detail two, each of the level one tiles has four children, two in each direction. + * This continues for as many levels as are present in the geometry or imagery source. + */ +export class TilingScheme { + constructor(); + /** + * Gets the ellipsoid that is tiled by the tiling scheme. + */ + ellipsoid: Ellipsoid; + /** + * Gets the rectangle, in radians, covered by this tiling scheme. + */ + rectangle: Rectangle; + /** + * Gets the map projection used by the tiling scheme. + */ + projection: MapProjection; + /** + * Gets the total number of tiles in the X direction at a specified level-of-detail. + * @param level - The level-of-detail. + * @returns The number of tiles in the X direction at the given level. + */ + getNumberOfXTilesAtLevel(level: number): number; + /** + * Gets the total number of tiles in the Y direction at a specified level-of-detail. + * @param level - The level-of-detail. + * @returns The number of tiles in the Y direction at the given level. + */ + getNumberOfYTilesAtLevel(level: number): number; + /** + * Transforms a rectangle specified in geodetic radians to the native coordinate system + * of this tiling scheme. + * @param rectangle - The rectangle to transform. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the native rectangle if 'result' + * is undefined. + */ + rectangleToNativeRectangle(rectangle: Rectangle, result?: Rectangle): Rectangle; + /** + * Converts tile x, y coordinates and level to a rectangle expressed in the native coordinates + * of the tiling scheme. + * @param x - The integer x coordinate of the tile. + * @param y - The integer y coordinate of the tile. + * @param level - The tile level-of-detail. Zero is the least detailed. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the rectangle + * if 'result' is undefined. + */ + tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle; + /** + * Converts tile x, y coordinates and level to a cartographic rectangle in radians. + * @param x - The integer x coordinate of the tile. + * @param y - The integer y coordinate of the tile. + * @param level - The tile level-of-detail. Zero is the least detailed. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the rectangle + * if 'result' is undefined. + */ + tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle; + /** + * Calculates the tile x, y coordinates of the tile containing + * a given cartographic position. + * @param position - The position. + * @param level - The tile level-of-detail. Zero is the least detailed. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the tile x, y coordinates + * if 'result' is undefined. + */ + positionToTileXY(position: Cartographic, level: number, result?: Cartesian2): Cartesian2; +} + +/** + * An interval defined by a start and a stop time; optionally including those times as part of the interval. + * Arbitrary data can optionally be associated with each instance for used with {@link TimeIntervalCollection}. + * @example + * // Create an instance that spans August 1st, 1980 and is associated + * // with a Cartesian position. + * var timeInterval = new Cesium.TimeInterval({ + * start : Cesium.JulianDate.fromIso8601('1980-08-01T00:00:00Z'), + * stop : Cesium.JulianDate.fromIso8601('1980-08-02T00:00:00Z'), + * isStartIncluded : true, + * isStopIncluded : false, + * data : Cesium.Cartesian3.fromDegrees(39.921037, -75.170082) + * }); + * @example + * // Create two instances from ISO 8601 intervals with associated numeric data + * // then compute their intersection, summing the data they contain. + * var left = Cesium.TimeInterval.fromIso8601({ + * iso8601 : '2000/2010', + * data : 2 + * }); + * + * var right = Cesium.TimeInterval.fromIso8601({ + * iso8601 : '1995/2005', + * data : 3 + * }); + * + * //The result of the below intersection will be an interval equivalent to + * //var intersection = Cesium.TimeInterval.fromIso8601({ + * // iso8601 : '2000/2005', + * // data : 5 + * //}); + * var intersection = new Cesium.TimeInterval(); + * Cesium.TimeInterval.intersect(left, right, intersection, function(leftData, rightData) { + * return leftData + rightData; + * }); + * @example + * // Check if an interval contains a specific time. + * var dateToCheck = Cesium.JulianDate.fromIso8601('1982-09-08T11:30:00Z'); + * var containsDate = Cesium.TimeInterval.contains(timeInterval, dateToCheck); + * @param [options] - Object with the following properties: + * @param [options.start = new JulianDate()] - The start time of the interval. + * @param [options.stop = new JulianDate()] - The stop time of the interval. + * @param [options.isStartIncluded = true] - true if options.start is included in the interval, false otherwise. + * @param [options.isStopIncluded = true] - true if options.stop is included in the interval, false otherwise. + * @param [options.data] - Arbitrary data associated with this interval. + */ +export class TimeInterval { + constructor(options?: { + start?: JulianDate; + stop?: JulianDate; + isStartIncluded?: boolean; + isStopIncluded?: boolean; + data?: any; + }); + /** + * Gets or sets the start time of this interval. + */ + start: JulianDate; + /** + * Gets or sets the stop time of this interval. + */ + stop: JulianDate; + /** + * Gets or sets the data associated with this interval. + */ + data: any; + /** + * Gets or sets whether or not the start time is included in this interval. + */ + isStartIncluded: boolean; + /** + * Gets or sets whether or not the stop time is included in this interval. + */ + isStopIncluded: boolean; + /** + * Gets whether or not this interval is empty. + */ + readonly isEmpty: boolean; + /** + * Creates a new instance from a {@link http://en.wikipedia.org/wiki/ISO_8601|ISO 8601} interval. + * @param options - Object with the following properties: + * @param options.iso8601 - An ISO 8601 interval. + * @param [options.isStartIncluded = true] - true if options.start is included in the interval, false otherwise. + * @param [options.isStopIncluded = true] - true if options.stop is included in the interval, false otherwise. + * @param [options.data] - Arbitrary data associated with this interval. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static fromIso8601(options: { + iso8601: string; + isStartIncluded?: boolean; + isStopIncluded?: boolean; + data?: any; + }, result?: TimeInterval): TimeInterval; + /** + * Creates an ISO8601 representation of the provided interval. + * @param timeInterval - The interval to be converted. + * @param [precision] - The number of fractional digits used to represent the seconds component. By default, the most precise representation is used. + * @returns The ISO8601 representation of the provided interval. + */ + static toIso8601(timeInterval: TimeInterval, precision?: number): string; + /** + * Duplicates the provided instance. + * @param [timeInterval] - The instance to clone. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static clone(timeInterval?: TimeInterval, result?: TimeInterval): TimeInterval; + /** + * Compares two instances and returns true if they are equal, false otherwise. + * @param [left] - The first instance. + * @param [right] - The second instance. + * @param [dataComparer] - A function which compares the data of the two intervals. If omitted, reference equality is used. + * @returns true if the dates are equal; otherwise, false. + */ + static equals(left?: TimeInterval, right?: TimeInterval, dataComparer?: TimeInterval.DataComparer): boolean; + /** + * Compares two instances and returns true if they are within epsilon seconds of + * each other. That is, in order for the dates to be considered equal (and for + * this function to return true), the absolute value of the difference between them, in + * seconds, must be less than epsilon. + * @param [left] - The first instance. + * @param [right] - The second instance. + * @param [epsilon = 0] - The maximum number of seconds that should separate the two instances. + * @param [dataComparer] - A function which compares the data of the two intervals. If omitted, reference equality is used. + * @returns true if the two dates are within epsilon seconds of each other; otherwise false. + */ + static equalsEpsilon(left?: TimeInterval, right?: TimeInterval, epsilon?: number, dataComparer?: TimeInterval.DataComparer): boolean; + /** + * Computes the intersection of two intervals, optionally merging their data. + * @param left - The first interval. + * @param [right] - The second interval. + * @param [result] - An existing instance to use for the result. + * @param [mergeCallback] - A function which merges the data of the two intervals. If omitted, the data from the left interval will be used. + * @returns The modified result parameter. + */ + static intersect(left: TimeInterval, right?: TimeInterval, result?: TimeInterval, mergeCallback?: TimeInterval.MergeCallback): TimeInterval; + /** + * Checks if the specified date is inside the provided interval. + * @param timeInterval - The interval. + * @param julianDate - The date to check. + * @returns true if the interval contains the specified date, false otherwise. + */ + static contains(timeInterval: TimeInterval, julianDate: JulianDate): boolean; + /** + * Duplicates this instance. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + clone(result?: TimeInterval): TimeInterval; + /** + * Compares this instance against the provided instance componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side interval. + * @param [dataComparer] - A function which compares the data of the two intervals. If omitted, reference equality is used. + * @returns true if they are equal, false otherwise. + */ + equals(right?: TimeInterval, dataComparer?: TimeInterval.DataComparer): boolean; + /** + * Compares this instance against the provided instance componentwise and returns + * true if they are within the provided epsilon, + * false otherwise. + * @param [right] - The right hand side interval. + * @param [epsilon = 0] - The epsilon to use for equality testing. + * @param [dataComparer] - A function which compares the data of the two intervals. If omitted, reference equality is used. + * @returns true if they are within the provided epsilon, false otherwise. + */ + equalsEpsilon(right?: TimeInterval, epsilon?: number, dataComparer?: TimeInterval.DataComparer): boolean; + /** + * Creates a string representing this TimeInterval in ISO8601 format. + * @returns A string representing this TimeInterval in ISO8601 format. + */ + toString(): string; + /** + * An immutable empty interval. + */ + static readonly EMPTY: TimeInterval; +} + +export namespace TimeInterval { + /** + * Function interface for merging interval data. + * @param leftData - The first data instance. + * @param rightData - The second data instance. + */ + type MergeCallback = (leftData: any, rightData: any) => any; + /** + * Function interface for comparing interval data. + * @param leftData - The first data instance. + * @param rightData - The second data instance. + */ + type DataComparer = (leftData: any, rightData: any) => boolean; +} + +/** + * A non-overlapping collection of {@link TimeInterval} instances sorted by start time. + * @param [intervals] - An array of intervals to add to the collection. + */ +export class TimeIntervalCollection { + constructor(intervals?: TimeInterval[]); + /** + * Gets an event that is raised whenever the collection of intervals change. + */ + readonly changedEvent: Event; + /** + * Gets the start time of the collection. + */ + readonly start: JulianDate; + /** + * Gets whether or not the start time is included in the collection. + */ + readonly isStartIncluded: boolean; + /** + * Gets the stop time of the collection. + */ + readonly stop: JulianDate; + /** + * Gets whether or not the stop time is included in the collection. + */ + readonly isStopIncluded: boolean; + /** + * Gets the number of intervals in the collection. + */ + readonly length: number; + /** + * Gets whether or not the collection is empty. + */ + readonly isEmpty: boolean; + /** + * Compares this instance against the provided instance componentwise and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side collection. + * @param [dataComparer] - A function which compares the data of the two intervals. If omitted, reference equality is used. + * @returns true if they are equal, false otherwise. + */ + equals(right?: TimeIntervalCollection, dataComparer?: TimeInterval.DataComparer): boolean; + /** + * Gets the interval at the specified index. + * @param index - The index of the interval to retrieve. + * @returns The interval at the specified index, or undefined if no interval exists as that index. + */ + get(index: number): TimeInterval | undefined; + /** + * Removes all intervals from the collection. + */ + removeAll(): void; + /** + * Finds and returns the interval that contains the specified date. + * @param date - The date to search for. + * @returns The interval containing the specified date, undefined if no such interval exists. + */ + findIntervalContainingDate(date: JulianDate): TimeInterval | undefined; + /** + * Finds and returns the data for the interval that contains the specified date. + * @param date - The date to search for. + * @returns The data for the interval containing the specified date, or undefined if no such interval exists. + */ + findDataForIntervalContainingDate(date: JulianDate): any; + /** + * Checks if the specified date is inside this collection. + * @param julianDate - The date to check. + * @returns true if the collection contains the specified date, false otherwise. + */ + contains(julianDate: JulianDate): boolean; + /** + * Finds and returns the index of the interval in the collection that contains the specified date. + * @param date - The date to search for. + * @returns The index of the interval that contains the specified date, if no such interval exists, + * it returns a negative number which is the bitwise complement of the index of the next interval that + * starts after the date, or if no interval starts after the specified date, the bitwise complement of + * the length of the collection. + */ + indexOf(date: JulianDate): number; + /** + * Returns the first interval in the collection that matches the specified parameters. + * All parameters are optional and undefined parameters are treated as a don't care condition. + * @param [options] - Object with the following properties: + * @param [options.start] - The start time of the interval. + * @param [options.stop] - The stop time of the interval. + * @param [options.isStartIncluded] - true if options.start is included in the interval, false otherwise. + * @param [options.isStopIncluded] - true if options.stop is included in the interval, false otherwise. + * @returns The first interval in the collection that matches the specified parameters. + */ + findInterval(options?: { + start?: JulianDate; + stop?: JulianDate; + isStartIncluded?: boolean; + isStopIncluded?: boolean; + }): TimeInterval | undefined; + /** + * Adds an interval to the collection, merging intervals that contain the same data and + * splitting intervals of different data as needed in order to maintain a non-overlapping collection. + * The data in the new interval takes precedence over any existing intervals in the collection. + * @param interval - The interval to add. + * @param [dataComparer] - A function which compares the data of the two intervals. If omitted, reference equality is used. + */ + addInterval(interval: TimeInterval, dataComparer?: TimeInterval.DataComparer): void; + /** + * Removes the specified interval from this interval collection, creating a hole over the specified interval. + * The data property of the input interval is ignored. + * @param interval - The interval to remove. + * @returns true if the interval was removed, false if no part of the interval was in the collection. + */ + removeInterval(interval: TimeInterval): boolean; + /** + * Creates a new instance that is the intersection of this collection and the provided collection. + * @param other - The collection to intersect with. + * @param [dataComparer] - A function which compares the data of the two intervals. If omitted, reference equality is used. + * @param [mergeCallback] - A function which merges the data of the two intervals. If omitted, the data from the left interval will be used. + * @returns A new TimeIntervalCollection which is the intersection of this collection and the provided collection. + */ + intersect(other: TimeIntervalCollection, dataComparer?: TimeInterval.DataComparer, mergeCallback?: TimeInterval.MergeCallback): TimeIntervalCollection; + /** + * Creates a new instance from a JulianDate array. + * @param options - Object with the following properties: + * @param options.julianDates - An array of ISO 8601 dates. + * @param [options.isStartIncluded = true] - true if start time is included in the interval, false otherwise. + * @param [options.isStopIncluded = true] - true if stop time is included in the interval, false otherwise. + * @param [options.leadingInterval = false] - true if you want to add a interval from Iso8601.MINIMUM_VALUE to start time, false otherwise. + * @param [options.trailingInterval = false] - true if you want to add a interval from stop time to Iso8601.MAXIMUM_VALUE, false otherwise. + * @param [options.dataCallback] - A function that will be return the data that is called with each interval before it is added to the collection. If unspecified, the data will be the index in the collection. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static fromJulianDateArray(options: { + julianDates: JulianDate[]; + isStartIncluded?: boolean; + isStopIncluded?: boolean; + leadingInterval?: boolean; + trailingInterval?: boolean; + dataCallback?: (...params: any[]) => any; + }, result?: TimeIntervalCollection): TimeIntervalCollection; + /** + * Creates a new instance from an {@link http://en.wikipedia.org/wiki/ISO_8601|ISO 8601} time interval (start/end/duration). + * @param options - Object with the following properties: + * @param options.iso8601 - An ISO 8601 interval. + * @param [options.isStartIncluded = true] - true if start time is included in the interval, false otherwise. + * @param [options.isStopIncluded = true] - true if stop time is included in the interval, false otherwise. + * @param [options.leadingInterval = false] - true if you want to add a interval from Iso8601.MINIMUM_VALUE to start time, false otherwise. + * @param [options.trailingInterval = false] - true if you want to add a interval from stop time to Iso8601.MAXIMUM_VALUE, false otherwise. + * @param [options.dataCallback] - A function that will be return the data that is called with each interval before it is added to the collection. If unspecified, the data will be the index in the collection. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static fromIso8601(options: { + iso8601: string; + isStartIncluded?: boolean; + isStopIncluded?: boolean; + leadingInterval?: boolean; + trailingInterval?: boolean; + dataCallback?: (...params: any[]) => any; + }, result?: TimeIntervalCollection): TimeIntervalCollection; + /** + * Creates a new instance from a {@link http://en.wikipedia.org/wiki/ISO_8601|ISO 8601} date array. + * @param options - Object with the following properties: + * @param options.iso8601Dates - An array of ISO 8601 dates. + * @param [options.isStartIncluded = true] - true if start time is included in the interval, false otherwise. + * @param [options.isStopIncluded = true] - true if stop time is included in the interval, false otherwise. + * @param [options.leadingInterval = false] - true if you want to add a interval from Iso8601.MINIMUM_VALUE to start time, false otherwise. + * @param [options.trailingInterval = false] - true if you want to add a interval from stop time to Iso8601.MAXIMUM_VALUE, false otherwise. + * @param [options.dataCallback] - A function that will be return the data that is called with each interval before it is added to the collection. If unspecified, the data will be the index in the collection. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static fromIso8601DateArray(options: { + iso8601Dates: string[]; + isStartIncluded?: boolean; + isStopIncluded?: boolean; + leadingInterval?: boolean; + trailingInterval?: boolean; + dataCallback?: (...params: any[]) => any; + }, result?: TimeIntervalCollection): TimeIntervalCollection; + /** + * Creates a new instance from a {@link http://en.wikipedia.org/wiki/ISO_8601|ISO 8601} duration array. + * @param options - Object with the following properties: + * @param options.epoch - An date that the durations are relative to. + * @param options.iso8601Durations - An array of ISO 8601 durations. + * @param [options.relativeToPrevious = false] - true if durations are relative to previous date, false if always relative to the epoch. + * @param [options.isStartIncluded = true] - true if start time is included in the interval, false otherwise. + * @param [options.isStopIncluded = true] - true if stop time is included in the interval, false otherwise. + * @param [options.leadingInterval = false] - true if you want to add a interval from Iso8601.MINIMUM_VALUE to start time, false otherwise. + * @param [options.trailingInterval = false] - true if you want to add a interval from stop time to Iso8601.MAXIMUM_VALUE, false otherwise. + * @param [options.dataCallback] - A function that will be return the data that is called with each interval before it is added to the collection. If unspecified, the data will be the index in the collection. + * @param [result] - An existing instance to use for the result. + * @returns The modified result parameter or a new instance if none was provided. + */ + static fromIso8601DurationArray(options: { + epoch: JulianDate; + iso8601Durations: string; + relativeToPrevious?: boolean; + isStartIncluded?: boolean; + isStopIncluded?: boolean; + leadingInterval?: boolean; + trailingInterval?: boolean; + dataCallback?: (...params: any[]) => any; + }, result?: TimeIntervalCollection): TimeIntervalCollection; +} + +/** + * Provides the type of time standards which JulianDate can take as input. + */ +export enum TimeStandard { + /** + * Represents the coordinated Universal Time (UTC) time standard. + * + * UTC is related to TAI according to the relationship + * UTC = TAI - deltaT where deltaT is the number of leap + * seconds which have been introduced as of the time in TAI. + */ + UTC = 0, + /** + * Represents the International Atomic Time (TAI) time standard. + * TAI is the principal time standard to which the other time standards are related. + */ + TAI = 1 +} + +/** + * Contains functions for transforming positions to various reference frames. + */ +export namespace Transforms { + /** + * Generates a function that computes a 4x4 transformation matrix from a reference frame + * centered at the provided origin to the provided ellipsoid's fixed reference frame. + * @param firstAxis - name of the first axis of the local reference frame. Must be + * 'east', 'north', 'up', 'west', 'south' or 'down'. + * @param secondAxis - name of the second axis of the local reference frame. Must be + * 'east', 'north', 'up', 'west', 'south' or 'down'. + * @returns The function that will computes a + * 4x4 transformation matrix from a reference frame, with first axis and second axis compliant with the parameters, + */ + function localFrameToFixedFrameGenerator(firstAxis: string, secondAxis: string): Transforms.LocalFrameToFixedFrame; + /** + * Computes a 4x4 transformation matrix from a reference frame + * centered at the provided origin to the provided ellipsoid's fixed reference frame. + * @param origin - The center point of the local reference frame. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose fixed frame is used in the transformation. + * @param [result] - The object onto which to store the result. + */ + type LocalFrameToFixedFrame = (origin: Cartesian3, ellipsoid?: Ellipsoid, result?: Matrix4) => Matrix4; + /** + * Computes a 4x4 transformation matrix from a reference frame with an east-north-up axes + * centered at the provided origin to the provided ellipsoid's fixed reference frame. + * The local axes are defined as: + *
    + *
  • The x axis points in the local east direction.
  • + *
  • The y axis points in the local north direction.
  • + *
  • The z axis points in the direction of the ellipsoid surface normal which passes through the position.
  • + *
+ * @example + * // Get the transform from local east-north-up at cartographic (0.0, 0.0) to Earth's fixed frame. + * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var transform = Cesium.Transforms.eastNorthUpToFixedFrame(center); + * @param origin - The center point of the local reference frame. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose fixed frame is used in the transformation. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if none was provided. + */ + function eastNorthUpToFixedFrame(origin: Cartesian3, ellipsoid?: Ellipsoid, result?: Matrix4): Matrix4; + /** + * Computes a 4x4 transformation matrix from a reference frame with an north-east-down axes + * centered at the provided origin to the provided ellipsoid's fixed reference frame. + * The local axes are defined as: + *
    + *
  • The x axis points in the local north direction.
  • + *
  • The y axis points in the local east direction.
  • + *
  • The z axis points in the opposite direction of the ellipsoid surface normal which passes through the position.
  • + *
+ * @example + * // Get the transform from local north-east-down at cartographic (0.0, 0.0) to Earth's fixed frame. + * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var transform = Cesium.Transforms.northEastDownToFixedFrame(center); + * @param origin - The center point of the local reference frame. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose fixed frame is used in the transformation. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if none was provided. + */ + function northEastDownToFixedFrame(origin: Cartesian3, ellipsoid?: Ellipsoid, result?: Matrix4): Matrix4; + /** + * Computes a 4x4 transformation matrix from a reference frame with an north-up-east axes + * centered at the provided origin to the provided ellipsoid's fixed reference frame. + * The local axes are defined as: + *
    + *
  • The x axis points in the local north direction.
  • + *
  • The y axis points in the direction of the ellipsoid surface normal which passes through the position.
  • + *
  • The z axis points in the local east direction.
  • + *
+ * @example + * // Get the transform from local north-up-east at cartographic (0.0, 0.0) to Earth's fixed frame. + * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var transform = Cesium.Transforms.northUpEastToFixedFrame(center); + * @param origin - The center point of the local reference frame. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose fixed frame is used in the transformation. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if none was provided. + */ + function northUpEastToFixedFrame(origin: Cartesian3, ellipsoid?: Ellipsoid, result?: Matrix4): Matrix4; + /** + * Computes a 4x4 transformation matrix from a reference frame with an north-west-up axes + * centered at the provided origin to the provided ellipsoid's fixed reference frame. + * The local axes are defined as: + *
    + *
  • The x axis points in the local north direction.
  • + *
  • The y axis points in the local west direction.
  • + *
  • The z axis points in the direction of the ellipsoid surface normal which passes through the position.
  • + *
+ * @example + * // Get the transform from local north-West-Up at cartographic (0.0, 0.0) to Earth's fixed frame. + * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var transform = Cesium.Transforms.northWestUpToFixedFrame(center); + * @param origin - The center point of the local reference frame. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose fixed frame is used in the transformation. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if none was provided. + */ + function northWestUpToFixedFrame(origin: Cartesian3, ellipsoid?: Ellipsoid, result?: Matrix4): Matrix4; + /** + * Computes a 4x4 transformation matrix from a reference frame with axes computed from the heading-pitch-roll angles + * centered at the provided origin to the provided ellipsoid's fixed reference frame. Heading is the rotation from the local north + * direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles + * are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis. + * @example + * // Get the transform from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame. + * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var heading = -Cesium.Math.PI_OVER_TWO; + * var pitch = Cesium.Math.PI_OVER_FOUR; + * var roll = 0.0; + * var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll); + * var transform = Cesium.Transforms.headingPitchRollToFixedFrame(center, hpr); + * @param origin - The center point of the local reference frame. + * @param headingPitchRoll - The heading, pitch, and roll. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose fixed frame is used in the transformation. + * @param [fixedFrameTransform = Transforms.eastNorthUpToFixedFrame] - A 4x4 transformation + * matrix from a reference frame to the provided ellipsoid's fixed reference frame + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if none was provided. + */ + function headingPitchRollToFixedFrame(origin: Cartesian3, headingPitchRoll: HeadingPitchRoll, ellipsoid?: Ellipsoid, fixedFrameTransform?: Transforms.LocalFrameToFixedFrame, result?: Matrix4): Matrix4; + /** + * Computes a quaternion from a reference frame with axes computed from the heading-pitch-roll angles + * centered at the provided origin. Heading is the rotation from the local north + * direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles + * are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis. + * @example + * // Get the quaternion from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame. + * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var heading = -Cesium.Math.PI_OVER_TWO; + * var pitch = Cesium.Math.PI_OVER_FOUR; + * var roll = 0.0; + * var hpr = new HeadingPitchRoll(heading, pitch, roll); + * var quaternion = Cesium.Transforms.headingPitchRollQuaternion(center, hpr); + * @param origin - The center point of the local reference frame. + * @param headingPitchRoll - The heading, pitch, and roll. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose fixed frame is used in the transformation. + * @param [fixedFrameTransform = Transforms.eastNorthUpToFixedFrame] - A 4x4 transformation + * matrix from a reference frame to the provided ellipsoid's fixed reference frame + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Quaternion instance if none was provided. + */ + function headingPitchRollQuaternion(origin: Cartesian3, headingPitchRoll: HeadingPitchRoll, ellipsoid?: Ellipsoid, fixedFrameTransform?: Transforms.LocalFrameToFixedFrame, result?: Quaternion): Quaternion; + /** + * Computes heading-pitch-roll angles from a transform in a particular reference frame. Heading is the rotation from the local north + * direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles + * are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis. + * @param transform - The transform + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose fixed frame is used in the transformation. + * @param [fixedFrameTransform = Transforms.eastNorthUpToFixedFrame] - A 4x4 transformation + * matrix from a reference frame to the provided ellipsoid's fixed reference frame + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new HeadingPitchRoll instance if none was provided. + */ + function fixedFrameToHeadingPitchRoll(transform: Matrix4, ellipsoid?: Ellipsoid, fixedFrameTransform?: Transforms.LocalFrameToFixedFrame, result?: HeadingPitchRoll): HeadingPitchRoll; + /** + * Computes a rotation matrix to transform a point or vector from True Equator Mean Equinox (TEME) axes to the + * pseudo-fixed axes at a given time. This method treats the UT1 time standard as equivalent to UTC. + * @example + * //Set the view to the inertial frame. + * scene.postUpdate.addEventListener(function(scene, time) { + * var now = Cesium.JulianDate.now(); + * var offset = Cesium.Matrix4.multiplyByPoint(camera.transform, camera.position, new Cesium.Cartesian3()); + * var transform = Cesium.Matrix4.fromRotationTranslation(Cesium.Transforms.computeTemeToPseudoFixedMatrix(now)); + * var inverseTransform = Cesium.Matrix4.inverseTransformation(transform, new Cesium.Matrix4()); + * Cesium.Matrix4.multiplyByPoint(inverseTransform, offset, offset); + * camera.lookAtTransform(transform, offset); + * }); + * @param date - The time at which to compute the rotation matrix. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix3 instance if none was provided. + */ + function computeTemeToPseudoFixedMatrix(date: JulianDate, result?: Matrix3): Matrix3; + /** + * Preloads the data necessary to transform between the ICRF and Fixed axes, in either + * direction, over a given interval. This function returns a promise that, when resolved, + * indicates that the preload has completed. + * @example + * var interval = new Cesium.TimeInterval(...); + * when(Cesium.Transforms.preloadIcrfFixed(interval), function() { + * // the data is now loaded + * }); + * @param timeInterval - The interval to preload. + * @returns A promise that, when resolved, indicates that the preload has completed + * and evaluation of the transformation between the fixed and ICRF axes will + * no longer return undefined for a time inside the interval. + */ + function preloadIcrfFixed(timeInterval: TimeInterval): Promise; + /** + * Computes a rotation matrix to transform a point or vector from the International Celestial + * Reference Frame (GCRF/ICRF) inertial frame axes to the Earth-Fixed frame axes (ITRF) + * at a given time. This function may return undefined if the data necessary to + * do the transformation is not yet loaded. + * @example + * scene.postUpdate.addEventListener(function(scene, time) { + * // View in ICRF. + * var icrfToFixed = Cesium.Transforms.computeIcrfToFixedMatrix(time); + * if (Cesium.defined(icrfToFixed)) { + * var offset = Cesium.Cartesian3.clone(camera.position); + * var transform = Cesium.Matrix4.fromRotationTranslation(icrfToFixed); + * camera.lookAtTransform(transform, offset); + * } + * }); + * @param date - The time at which to compute the rotation matrix. + * @param [result] - The object onto which to store the result. If this parameter is + * not specified, a new instance is created and returned. + * @returns The rotation matrix, or undefined if the data necessary to do the + * transformation is not yet loaded. + */ + function computeIcrfToFixedMatrix(date: JulianDate, result?: Matrix3): Matrix3; + /** + * Computes a rotation matrix to transform a point or vector from the Earth-Fixed frame axes (ITRF) + * to the International Celestial Reference Frame (GCRF/ICRF) inertial frame axes + * at a given time. This function may return undefined if the data necessary to + * do the transformation is not yet loaded. + * @example + * // Transform a point from the ICRF axes to the Fixed axes. + * var now = Cesium.JulianDate.now(); + * var pointInFixed = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var fixedToIcrf = Cesium.Transforms.computeIcrfToFixedMatrix(now); + * var pointInInertial = new Cesium.Cartesian3(); + * if (Cesium.defined(fixedToIcrf)) { + * pointInInertial = Cesium.Matrix3.multiplyByVector(fixedToIcrf, pointInFixed, pointInInertial); + * } + * @param date - The time at which to compute the rotation matrix. + * @param [result] - The object onto which to store the result. If this parameter is + * not specified, a new instance is created and returned. + * @returns The rotation matrix, or undefined if the data necessary to do the + * transformation is not yet loaded. + */ + function computeFixedToIcrfMatrix(date: JulianDate, result?: Matrix3): Matrix3; + /** + * Transform a point from model coordinates to window coordinates. + * @param modelViewProjectionMatrix - The 4x4 model-view-projection matrix. + * @param viewportTransformation - The 4x4 viewport transformation. + * @param point - The point to transform. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Cartesian2 instance if none was provided. + */ + function pointToWindowCoordinates(modelViewProjectionMatrix: Matrix4, viewportTransformation: Matrix4, point: Cartesian3, result?: Cartesian2): Cartesian2; + /** + * Transform a position and velocity to a rotation matrix. + * @param position - The position to transform. + * @param velocity - The velocity vector to transform. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose fixed frame is used in the transformation. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix3 instance if none was provided. + */ + function rotationMatrixFromPositionVelocity(position: Cartesian3, velocity: Cartesian3, ellipsoid?: Ellipsoid, result?: Matrix3): Matrix3; +} + +/** + * An affine transformation defined by a translation, rotation, and scale. + * @param [translation = Cartesian3.ZERO] - A {@link Cartesian3} specifying the (x, y, z) translation to apply to the node. + * @param [rotation = Quaternion.IDENTITY] - A {@link Quaternion} specifying the (x, y, z, w) rotation to apply to the node. + * @param [scale = new Cartesian3(1.0, 1.0, 1.0)] - A {@link Cartesian3} specifying the (x, y, z) scaling to apply to the node. + */ +export class TranslationRotationScale { + constructor(translation?: Cartesian3, rotation?: Quaternion, scale?: Cartesian3); + /** + * Gets or sets the (x, y, z) translation to apply to the node. + */ + translation: Cartesian3; + /** + * Gets or sets the (x, y, z, w) rotation to apply to the node. + */ + rotation: Quaternion; + /** + * Gets or sets the (x, y, z) scaling to apply to the node. + */ + scale: Cartesian3; + /** + * Compares this instance against the provided instance and returns + * true if they are equal, false otherwise. + * @param [right] - The right hand side TranslationRotationScale. + * @returns true if they are equal, false otherwise. + */ + equals(right?: TranslationRotationScale): boolean; +} + +/** + * Uses the Tridiagonal Matrix Algorithm, also known as the Thomas Algorithm, to solve + * a system of linear equations where the coefficient matrix is a tridiagonal matrix. + */ +export namespace TridiagonalSystemSolver { + /** + * Solves a tridiagonal system of linear equations. + * @example + * var lowerDiagonal = [1.0, 1.0, 1.0, 1.0]; + * var diagonal = [2.0, 4.0, 4.0, 4.0, 2.0]; + * var upperDiagonal = [1.0, 1.0, 1.0, 1.0]; + * var rightHandSide = [ + * new Cesium.Cartesian3(410757.0, -1595711.0, 1375302.0), + * new Cesium.Cartesian3(-5986705.0, -2190640.0, 1099600.0), + * new Cesium.Cartesian3(-12593180.0, 288588.0, -1755549.0), + * new Cesium.Cartesian3(-5349898.0, 2457005.0, -2685438.0), + * new Cesium.Cartesian3(845820.0, 1573488.0, -1205591.0) + * ]; + * + * var solution = Cesium.TridiagonalSystemSolver.solve(lowerDiagonal, diagonal, upperDiagonal, rightHandSide); + * @param diagonal - An array with length n that contains the diagonal of the coefficient matrix. + * @param lower - An array with length n - 1 that contains the lower diagonal of the coefficient matrix. + * @param upper - An array with length n - 1 that contains the upper diagonal of the coefficient matrix. + * @param right - An array of Cartesians with length n that is the right side of the system of equations. + * @returns An array of Cartesians with length n that is the solution to the tridiagonal system of equations. + */ + function solve(diagonal: number[], lower: number[], upper: number[], right: Cartesian3[]): Cartesian3[]; +} + +/** + * A singleton that contains all of the servers that are trusted. Credentials will be sent with + * any requests to these servers. + */ +export namespace TrustedServers { + /** + * Adds a trusted server to the registry + * @example + * // Add a trusted server + * TrustedServers.add('my.server.com', 80); + * @param host - The host to be added. + * @param port - The port used to access the host. + */ + function add(host: string, port: number): void; + /** + * Removes a trusted server from the registry + * @example + * // Remove a trusted server + * TrustedServers.remove('my.server.com', 80); + * @param host - The host to be removed. + * @param port - The port used to access the host. + */ + function remove(host: string, port: number): void; + /** + * Tests whether a server is trusted or not. The server must have been added with the port if it is included in the url. + * @example + * // Add server + * TrustedServers.add('my.server.com', 81); + * + * // Check if server is trusted + * if (TrustedServers.contains('https://my.server.com:81/path/to/file.png')) { + * // my.server.com:81 is trusted + * } + * if (TrustedServers.contains('https://my.server.com/path/to/file.png')) { + * // my.server.com isn't trusted + * } + * @param url - The url to be tested against the trusted list + * @returns Returns true if url is trusted, false otherwise. + */ + function contains(url: string): boolean; + /** + * Clears the registry + * @example + * // Remove a trusted server + * TrustedServers.clear(); + */ + function clear(): void; +} + +/** + * A vertex format defines what attributes make up a vertex. A VertexFormat can be provided + * to a {@link Geometry} to request that certain properties be computed, e.g., just position, + * position and normal, etc. + * @example + * // Create a vertex format with position and 2D texture coordinate attributes. + * var format = new Cesium.VertexFormat({ + * position : true, + * st : true + * }); + * @param [options] - An object with boolean properties corresponding to VertexFormat properties as shown in the code example. + */ +export class VertexFormat { + constructor(options?: any); + /** + * When true, the vertex has a 3D position attribute. + *

+ * 64-bit floating-point (for precision). 3 components per attribute. + *

+ */ + position: boolean; + /** + * When true, the vertex has a normal attribute (normalized), which is commonly used for lighting. + *

+ * 32-bit floating-point. 3 components per attribute. + *

+ */ + normal: boolean; + /** + * When true, the vertex has a 2D texture coordinate attribute. + *

+ * 32-bit floating-point. 2 components per attribute + *

+ */ + st: boolean; + /** + * When true, the vertex has a bitangent attribute (normalized), which is used for tangent-space effects like bump mapping. + *

+ * 32-bit floating-point. 3 components per attribute. + *

+ */ + bitangent: boolean; + /** + * When true, the vertex has a tangent attribute (normalized), which is used for tangent-space effects like bump mapping. + *

+ * 32-bit floating-point. 3 components per attribute. + *

+ */ + tangent: boolean; + /** + * When true, the vertex has an RGB color attribute. + *

+ * 8-bit unsigned byte. 3 components per attribute. + *

+ */ + color: boolean; + /** + * An immutable vertex format with only a position attribute. + */ + static readonly POSITION_ONLY: VertexFormat; + /** + * An immutable vertex format with position and normal attributes. + * This is compatible with per-instance color appearances like {@link PerInstanceColorAppearance}. + */ + static readonly POSITION_AND_NORMAL: VertexFormat; + /** + * An immutable vertex format with position, normal, and st attributes. + * This is compatible with {@link MaterialAppearance} when {@link MaterialAppearance#materialSupport} + * is TEXTURED/code>. + */ + static readonly POSITION_NORMAL_AND_ST: VertexFormat; + /** + * An immutable vertex format with position and st attributes. + * This is compatible with {@link EllipsoidSurfaceAppearance}. + */ + static readonly POSITION_AND_ST: VertexFormat; + /** + * An immutable vertex format with position and color attributes. + */ + static readonly POSITION_AND_COLOR: VertexFormat; + /** + * An immutable vertex format with well-known attributes: position, normal, st, tangent, and bitangent. + */ + static readonly ALL: VertexFormat; + /** + * An immutable vertex format with position, normal, and st attributes. + * This is compatible with most appearances and materials; however + * normal and st attributes are not always required. When this is + * known in advance, another VertexFormat should be used. + */ + static readonly DEFAULT: VertexFormat; + /** + * The number of elements used to pack the object into an array. + */ + static packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: VertexFormat, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new VertexFormat instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: VertexFormat): VertexFormat; + /** + * Duplicates a VertexFormat instance. + * @param vertexFormat - The vertex format to duplicate. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new VertexFormat instance if one was not provided. (Returns undefined if vertexFormat is undefined) + */ + static clone(vertexFormat: VertexFormat, result?: VertexFormat): VertexFormat; +} + +/** + * Synchronizes a video element with a simulation clock. + * @param [options] - Object with the following properties: + * @param [options.clock] - The clock instance used to drive the video. + * @param [options.element] - The video element to be synchronized. + * @param [options.epoch = Iso8601.MINIMUM_VALUE] - The simulation time that marks the start of the video. + * @param [options.tolerance = 1.0] - The maximum amount of time, in seconds, that the clock and video can diverge. + */ +export class VideoSynchronizer { + constructor(options?: { + clock?: Clock; + element?: HTMLVideoElement; + epoch?: JulianDate; + tolerance?: number; + }); + /** + * Gets or sets the simulation time that marks the start of the video. + */ + epoch: JulianDate; + /** + * Gets or sets the amount of time in seconds the video's currentTime + * and the clock's currentTime can diverge before a video seek is performed. + * Lower values make the synchronization more accurate but video + * performance might suffer. Higher values provide better performance + * but at the cost of accuracy. + */ + tolerance: number; + /** + * Gets or sets the clock used to drive the video element. + */ + clock: Clock; + /** + * Gets or sets the video element to synchronize. + */ + element: HTMLVideoElement; + /** + * Destroys and resources used by the object. Once an object is destroyed, it should not be used. + */ + destroy(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; +} + +/** + * This enumerated type is used in determining to what extent an object, the occludee, + * is visible during horizon culling. An occluder may fully block an occludee, in which case + * it has no visibility, may partially block an occludee from view, or may not block it at all, + * leading to full visibility. + */ +export enum Visibility { + /** + * Represents that no part of an object is visible. + */ + NONE = -1, + /** + * Represents that part, but not all, of an object is visible + */ + PARTIAL = 0, + /** + * Represents that an object is visible in its entirety. + */ + FULL = 1 +} + +/** + * A {@link TerrainProvider} that produces terrain geometry by tessellating height maps + * retrieved from a {@link http://vr-theworld.com/|VT MÄK VR-TheWorld server}. + * @example + * var terrainProvider = new Cesium.VRTheWorldTerrainProvider({ + * url : 'https://www.vr-theworld.com/vr-theworld/tiles1.0.0/73/' + * }); + * viewer.terrainProvider = terrainProvider; + * @param options - Object with the following properties: + * @param options.url - The URL of the VR-TheWorld TileMap. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid. If this parameter is not + * specified, the WGS84 ellipsoid is used. + * @param [options.credit] - A credit for the data source, which is displayed on the canvas. + */ +export class VRTheWorldTerrainProvider { + constructor(options: { + url: Resource | string; + ellipsoid?: Ellipsoid; + credit?: Credit | string; + }); + /** + * Gets an event that is raised when the terrain provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + errorEvent: Event; + /** + * Gets the credit to display when this terrain provider is active. Typically this is used to credit + * the source of the terrain. This function should not be called before {@link VRTheWorldTerrainProvider#ready} returns true. + */ + credit: Credit; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link VRTheWorldTerrainProvider#ready} returns true. + */ + tilingScheme: GeographicTilingScheme; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets a value indicating whether or not the provider includes a water mask. The water mask + * indicates which areas of the globe are water rather than land, so they can be rendered + * as a reflective surface with animated waves. This function should not be + * called before {@link VRTheWorldTerrainProvider#ready} returns true. + */ + hasWaterMask: boolean; + /** + * Gets a value indicating whether or not the requested tiles include vertex normals. + * This function should not be called before {@link VRTheWorldTerrainProvider#ready} returns true. + */ + hasVertexNormals: boolean; + /** + * Gets an object that can be used to determine availability of terrain from this provider, such as + * at points and in rectangles. This function should not be called before + * {@link TerrainProvider#ready} returns true. This property may be undefined if availability + * information is not available. + */ + availability: TileAvailability; + /** + * Requests the geometry for a given tile. This function should not be called before + * {@link VRTheWorldTerrainProvider#ready} returns true. The result includes terrain + * data and indicates that all child tiles are available. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the requested geometry. If this method + * returns undefined instead of a promise, it is an indication that too many requests are already + * pending and the request will be retried later. + */ + requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Gets the maximum geometric error allowed in a tile at a given level. + * @param level - The tile level for which to get the maximum geometric error. + * @returns The maximum geometric error. + */ + getLevelMaximumGeometricError(level: number): number; + /** + * Determines whether data for a tile is available to be loaded. + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if not supported, otherwise true or false. + */ + getTileDataAvailable(x: number, y: number, level: number): boolean; + /** + * Makes sure we load availability data for a tile + * @param x - The X coordinate of the tile for which to request geometry. + * @param y - The Y coordinate of the tile for which to request geometry. + * @param level - The level of the tile for which to request geometry. + * @returns Undefined if nothing need to be loaded or a Promise that resolves when all required tiles are loaded + */ + loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise; +} + +/** + * A description of a wall, which is similar to a KML line string. A wall is defined by a series of points, + * which extrude down to the ground. Optionally, they can extrude downwards to a specified height. + * @example + * // create a wall that spans from ground level to 10000 meters + * var wall = new Cesium.WallGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArrayHeights([ + * 19.0, 47.0, 10000.0, + * 19.0, 48.0, 10000.0, + * 20.0, 48.0, 10000.0, + * 20.0, 47.0, 10000.0, + * 19.0, 47.0, 10000.0 + * ]) + * }); + * var geometry = Cesium.WallGeometry.createGeometry(wall); + * @param options - Object with the following properties: + * @param options.positions - An array of Cartesian objects, which are the points of the wall. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.maximumHeights] - An array parallel to positions that give the maximum height of the + * wall at positions. If undefined, the height of each position in used. + * @param [options.minimumHeights] - An array parallel to positions that give the minimum height of the + * wall at positions. If undefined, the height at each position is 0.0. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid for coordinate manipulation + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ +export class WallGeometry { + constructor(options: { + positions: Cartesian3[]; + granularity?: number; + maximumHeights?: number[]; + minimumHeights?: number[]; + ellipsoid?: Ellipsoid; + vertexFormat?: VertexFormat; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: WallGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new WallGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: WallGeometry): WallGeometry; + /** + * A description of a wall, which is similar to a KML line string. A wall is defined by a series of points, + * which extrude down to the ground. Optionally, they can extrude downwards to a specified height. + * @example + * // create a wall that spans from 10000 meters to 20000 meters + * var wall = Cesium.WallGeometry.fromConstantHeights({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * 19.0, 47.0, + * 19.0, 48.0, + * 20.0, 48.0, + * 20.0, 47.0, + * 19.0, 47.0, + * ]), + * minimumHeight : 20000.0, + * maximumHeight : 10000.0 + * }); + * var geometry = Cesium.WallGeometry.createGeometry(wall); + * @param options - Object with the following properties: + * @param options.positions - An array of Cartesian objects, which are the points of the wall. + * @param [options.maximumHeight] - A constant that defines the maximum height of the + * wall at positions. If undefined, the height of each position in used. + * @param [options.minimumHeight] - A constant that defines the minimum height of the + * wall at positions. If undefined, the height at each position is 0.0. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid for coordinate manipulation + * @param [options.vertexFormat = VertexFormat.DEFAULT] - The vertex attributes to be computed. + */ + static fromConstantHeights(options: { + positions: Cartesian3[]; + maximumHeight?: number; + minimumHeight?: number; + ellipsoid?: Ellipsoid; + vertexFormat?: VertexFormat; + }): WallGeometry; + /** + * Computes the geometric representation of a wall, including its vertices, indices, and a bounding sphere. + * @param wallGeometry - A description of the wall. + * @returns The computed vertices and indices. + */ + static createGeometry(wallGeometry: WallGeometry): Geometry | undefined; +} + +/** + * A description of a wall outline. A wall is defined by a series of points, + * which extrude down to the ground. Optionally, they can extrude downwards to a specified height. + * @example + * // create a wall outline that spans from ground level to 10000 meters + * var wall = new Cesium.WallOutlineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArrayHeights([ + * 19.0, 47.0, 10000.0, + * 19.0, 48.0, 10000.0, + * 20.0, 48.0, 10000.0, + * 20.0, 47.0, 10000.0, + * 19.0, 47.0, 10000.0 + * ]) + * }); + * var geometry = Cesium.WallOutlineGeometry.createGeometry(wall); + * @param options - Object with the following properties: + * @param options.positions - An array of Cartesian objects, which are the points of the wall. + * @param [options.granularity = Math.RADIANS_PER_DEGREE] - The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. + * @param [options.maximumHeights] - An array parallel to positions that give the maximum height of the + * wall at positions. If undefined, the height of each position in used. + * @param [options.minimumHeights] - An array parallel to positions that give the minimum height of the + * wall at positions. If undefined, the height at each position is 0.0. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid for coordinate manipulation + */ +export class WallOutlineGeometry { + constructor(options: { + positions: Cartesian3[]; + granularity?: number; + maximumHeights?: number[]; + minimumHeights?: number[]; + ellipsoid?: Ellipsoid; + }); + /** + * The number of elements used to pack the object into an array. + */ + packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + static pack(value: WallOutlineGeometry, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new WallOutlineGeometry instance if one was not provided. + */ + static unpack(array: number[], startingIndex?: number, result?: WallOutlineGeometry): WallOutlineGeometry; + /** + * A description of a walloutline. A wall is defined by a series of points, + * which extrude down to the ground. Optionally, they can extrude downwards to a specified height. + * @example + * // create a wall that spans from 10000 meters to 20000 meters + * var wall = Cesium.WallOutlineGeometry.fromConstantHeights({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * 19.0, 47.0, + * 19.0, 48.0, + * 20.0, 48.0, + * 20.0, 47.0, + * 19.0, 47.0, + * ]), + * minimumHeight : 20000.0, + * maximumHeight : 10000.0 + * }); + * var geometry = Cesium.WallOutlineGeometry.createGeometry(wall); + * @param options - Object with the following properties: + * @param options.positions - An array of Cartesian objects, which are the points of the wall. + * @param [options.maximumHeight] - A constant that defines the maximum height of the + * wall at positions. If undefined, the height of each position in used. + * @param [options.minimumHeight] - A constant that defines the minimum height of the + * wall at positions. If undefined, the height at each position is 0.0. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid for coordinate manipulation + */ + static fromConstantHeights(options: { + positions: Cartesian3[]; + maximumHeight?: number; + minimumHeight?: number; + ellipsoid?: Ellipsoid; + }): WallOutlineGeometry; + /** + * Computes the geometric representation of a wall outline, including its vertices, indices, and a bounding sphere. + * @param wallGeometry - A description of the wall outline. + * @returns The computed vertices and indices. + */ + static createGeometry(wallGeometry: WallOutlineGeometry): Geometry | undefined; +} + +/** + * The map projection used by Google Maps, Bing Maps, and most of ArcGIS Online, EPSG:3857. This + * projection use longitude and latitude expressed with the WGS84 and transforms them to Mercator using + * the spherical (rather than ellipsoidal) equations. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid. + */ +export class WebMercatorProjection { + constructor(ellipsoid?: Ellipsoid); + /** + * Gets the {@link Ellipsoid}. + */ + readonly ellipsoid: Ellipsoid; + /** + * Converts a Mercator angle, in the range -PI to PI, to a geodetic latitude + * in the range -PI/2 to PI/2. + * @param mercatorAngle - The angle to convert. + * @returns The geodetic latitude in radians. + */ + static mercatorAngleToGeodeticLatitude(mercatorAngle: number): number; + /** + * Converts a geodetic latitude in radians, in the range -PI/2 to PI/2, to a Mercator + * angle in the range -PI to PI. + * @param latitude - The geodetic latitude in radians. + * @returns The Mercator angle. + */ + static geodeticLatitudeToMercatorAngle(latitude: number): number; + /** + * The maximum latitude (both North and South) supported by a Web Mercator + * (EPSG:3857) projection. Technically, the Mercator projection is defined + * for any latitude up to (but not including) 90 degrees, but it makes sense + * to cut it off sooner because it grows exponentially with increasing latitude. + * The logic behind this particular cutoff value, which is the one used by + * Google Maps, Bing Maps, and Esri, is that it makes the projection + * square. That is, the rectangle is equal in the X and Y directions. + * + * The constant value is computed by calling: + * WebMercatorProjection.mercatorAngleToGeodeticLatitude(Math.PI) + */ + static MaximumLatitude: number; + /** + * Converts geodetic ellipsoid coordinates, in radians, to the equivalent Web Mercator + * X, Y, Z coordinates expressed in meters and returned in a {@link Cartesian3}. The height + * is copied unmodified to the Z coordinate. + * @param cartographic - The cartographic coordinates in radians. + * @param [result] - The instance to which to copy the result, or undefined if a + * new instance should be created. + * @returns The equivalent web mercator X, Y, Z coordinates, in meters. + */ + project(cartographic: Cartographic, result?: Cartesian3): Cartesian3; + /** + * Converts Web Mercator X, Y coordinates, expressed in meters, to a {@link Cartographic} + * containing geodetic ellipsoid coordinates. The Z coordinate is copied unmodified to the + * height. + * @param cartesian - The web mercator Cartesian position to unrproject with height (z) in meters. + * @param [result] - The instance to which to copy the result, or undefined if a + * new instance should be created. + * @returns The equivalent cartographic coordinates. + */ + unproject(cartesian: Cartesian3, result?: Cartographic): Cartographic; +} + +/** + * A tiling scheme for geometry referenced to a {@link WebMercatorProjection}, EPSG:3857. This is + * the tiling scheme used by Google Maps, Microsoft Bing Maps, and most of ESRI ArcGIS Online. + * @param [options] - Object with the following properties: + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid whose surface is being tiled. Defaults to + * the WGS84 ellipsoid. + * @param [options.numberOfLevelZeroTilesX = 1] - The number of tiles in the X direction at level zero of + * the tile tree. + * @param [options.numberOfLevelZeroTilesY = 1] - The number of tiles in the Y direction at level zero of + * the tile tree. + * @param [options.rectangleSouthwestInMeters] - The southwest corner of the rectangle covered by the + * tiling scheme, in meters. If this parameter or rectangleNortheastInMeters is not specified, the entire + * globe is covered in the longitude direction and an equal distance is covered in the latitude + * direction, resulting in a square projection. + * @param [options.rectangleNortheastInMeters] - The northeast corner of the rectangle covered by the + * tiling scheme, in meters. If this parameter or rectangleSouthwestInMeters is not specified, the entire + * globe is covered in the longitude direction and an equal distance is covered in the latitude + * direction, resulting in a square projection. + */ +export class WebMercatorTilingScheme { + constructor(options?: { + ellipsoid?: Ellipsoid; + numberOfLevelZeroTilesX?: number; + numberOfLevelZeroTilesY?: number; + rectangleSouthwestInMeters?: Cartesian2; + rectangleNortheastInMeters?: Cartesian2; + }); + /** + * Gets the ellipsoid that is tiled by this tiling scheme. + */ + ellipsoid: Ellipsoid; + /** + * Gets the rectangle, in radians, covered by this tiling scheme. + */ + rectangle: Rectangle; + /** + * Gets the map projection used by this tiling scheme. + */ + projection: MapProjection; + /** + * Gets the total number of tiles in the X direction at a specified level-of-detail. + * @param level - The level-of-detail. + * @returns The number of tiles in the X direction at the given level. + */ + getNumberOfXTilesAtLevel(level: number): number; + /** + * Gets the total number of tiles in the Y direction at a specified level-of-detail. + * @param level - The level-of-detail. + * @returns The number of tiles in the Y direction at the given level. + */ + getNumberOfYTilesAtLevel(level: number): number; + /** + * Transforms a rectangle specified in geodetic radians to the native coordinate system + * of this tiling scheme. + * @param rectangle - The rectangle to transform. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the native rectangle if 'result' + * is undefined. + */ + rectangleToNativeRectangle(rectangle: Rectangle, result?: Rectangle): Rectangle; + /** + * Converts tile x, y coordinates and level to a rectangle expressed in the native coordinates + * of the tiling scheme. + * @param x - The integer x coordinate of the tile. + * @param y - The integer y coordinate of the tile. + * @param level - The tile level-of-detail. Zero is the least detailed. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the rectangle + * if 'result' is undefined. + */ + tileXYToNativeRectangle(x: number, y: number, level: number, result?: any): Rectangle; + /** + * Converts tile x, y coordinates and level to a cartographic rectangle in radians. + * @param x - The integer x coordinate of the tile. + * @param y - The integer y coordinate of the tile. + * @param level - The tile level-of-detail. Zero is the least detailed. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the rectangle + * if 'result' is undefined. + */ + tileXYToRectangle(x: number, y: number, level: number, result?: any): Rectangle; + /** + * Calculates the tile x, y coordinates of the tile containing + * a given cartographic position. + * @param position - The position. + * @param level - The tile level-of-detail. Zero is the least detailed. + * @param [result] - The instance to which to copy the result, or undefined if a new instance + * should be created. + * @returns The specified 'result', or a new object containing the tile x, y coordinates + * if 'result' is undefined. + */ + positionToTileXY(position: Cartographic, level: number, result?: Cartesian2): Cartesian2; +} + +/** + * A spline that linearly interpolates over an array of weight values used by morph targets. + * @example + * var times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ]; + * var weights = [0.0, 1.0, 0.25, 0.75, 0.5, 0.5, 0.75, 0.25, 1.0, 0.0]; //Two targets + * var spline = new Cesium.WeightSpline({ + * times : times, + * weights : weights + * }); + * + * var p0 = spline.evaluate(times[0]); + * @param options - Object with the following properties: + * @param options.times - An array of strictly increasing, unit-less, floating-point times at each point. + * The values are in no way connected to the clock time. They are the parameterization for the curve. + * @param options.weights - The array of floating-point control weights given. The weights are ordered such + * that all weights for the targets are given in chronological order and order in which they appear in + * the glTF from which the morph targets come. This means for 2 targets, weights = [w(0,0), w(0,1), w(1,0), w(1,1) ...] + * where i and j in w(i,j) are the time indices and target indices, respectively. + */ +export class WeightSpline { + constructor(options: { + times: number[]; + weights: number[]; + }); + /** + * An array of times for the control weights. + */ + readonly times: number[]; + /** + * An array of floating-point array control weights. + */ + readonly weights: number[]; + /** + * Finds an index i in times such that the parameter + * time is in the interval [times[i], times[i + 1]]. + * @param time - The time. + * @returns The index for the element at the start of the interval. + */ + findTimeInterval(time: number): number; + /** + * Wraps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, wrapped around to the updated animation. + */ + wrapTime(time: number): number; + /** + * Clamps the given time to the period covered by the spline. + * @param time - The time. + * @returns The time, clamped to the animation period. + */ + clampTime(time: number): number; + /** + * Evaluates the curve at a given time. + * @param time - The time at which to evaluate the curve. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance of the point on the curve at the given time. + */ + evaluate(time: number, result?: number[]): number[]; +} + +/** + * Winding order defines the order of vertices for a triangle to be considered front-facing. + */ +export enum WindingOrder { + /** + * Vertices are in clockwise order. + */ + CLOCKWISE = WebGLConstants.CW, + /** + * Vertices are in counter-clockwise order. + */ + COUNTER_CLOCKWISE = WebGLConstants.CCW +} + +/** + * Writes the given text into a new canvas. The canvas will be sized to fit the text. + * If text is blank, returns undefined. + * @param text - The text to write. + * @param [options] - Object with the following properties: + * @param [options.font = '10px sans-serif'] - The CSS font to use. + * @param [options.textBaseline = 'bottom'] - The baseline of the text. + * @param [options.fill = true] - Whether to fill the text. + * @param [options.stroke = false] - Whether to stroke the text. + * @param [options.fillColor = Color.WHITE] - The fill color. + * @param [options.strokeColor = Color.BLACK] - The stroke color. + * @param [options.strokeWidth = 1] - The stroke width. + * @param [options.backgroundColor = Color.TRANSPARENT] - The background color of the canvas. + * @param [options.padding = 0] - The pixel size of the padding to add around the text. + * @returns A new canvas with the given text drawn into it. The dimensions object + * from measureText will also be added to the returned canvas. If text is + * blank, returns undefined. + */ +export function writeTextToCanvas(text: string, options?: { + font?: string; + textBaseline?: string; + fill?: boolean; + stroke?: boolean; + fillColor?: Color; + strokeColor?: Color; + strokeWidth?: number; + backgroundColor?: Color; + padding?: number; +}): HTMLCanvasElement | undefined; + +export namespace BillboardGraphics { + /** + * Initialization options for the BillboardGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the billboard. + * @property [image] - A Property specifying the Image, URI, or Canvas to use for the billboard. + * @property [scale = 1.0] - A numeric Property specifying the scale to apply to the image size. + * @property [pixelOffset = Cartesian2.ZERO] - A {@link Cartesian2} Property specifying the pixel offset. + * @property [eyeOffset = Cartesian3.ZERO] - A {@link Cartesian3} Property specifying the eye offset. + * @property [horizontalOrigin = HorizontalOrigin.CENTER] - A Property specifying the {@link HorizontalOrigin}. + * @property [verticalOrigin = VerticalOrigin.CENTER] - A Property specifying the {@link VerticalOrigin}. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height is relative to. + * @property [color = Color.WHITE] - A Property specifying the tint {@link Color} of the image. + * @property [rotation = 0] - A numeric Property specifying the rotation about the alignedAxis. + * @property [alignedAxis = Cartesian3.ZERO] - A {@link Cartesian3} Property specifying the unit vector axis of rotation. + * @property [sizeInMeters] - A boolean Property specifying whether this billboard's size should be measured in meters. + * @property [width] - A numeric Property specifying the width of the billboard in pixels, overriding the native size. + * @property [height] - A numeric Property specifying the height of the billboard in pixels, overriding the native size. + * @property [scaleByDistance] - A {@link NearFarScalar} Property used to scale the point based on distance from the camera. + * @property [translucencyByDistance] - A {@link NearFarScalar} Property used to set translucency based on distance from the camera. + * @property [pixelOffsetScaleByDistance] - A {@link NearFarScalar} Property used to set pixelOffset based on distance from the camera. + * @property [imageSubRegion] - A Property specifying a {@link BoundingRectangle} that defines a sub-region of the image to use for the billboard, rather than the entire image, measured in pixels from the bottom-left. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this billboard will be displayed. + * @property [disableDepthTestDistance] - A Property specifying the distance from the camera at which to disable the depth test to. + */ + type ConstructorOptions = { + show?: Property | boolean; + image?: Property | string | HTMLCanvasElement; + scale?: Property | number; + pixelOffset?: Property | Cartesian2; + eyeOffset?: Property | Cartesian3; + horizontalOrigin?: Property | HorizontalOrigin; + verticalOrigin?: Property | VerticalOrigin; + heightReference?: Property | HeightReference; + color?: Property | Color; + rotation?: Property | number; + alignedAxis?: Property | Cartesian3; + sizeInMeters?: Property | boolean; + width?: Property | number; + height?: Property | number; + scaleByDistance?: Property | NearFarScalar; + translucencyByDistance?: Property | NearFarScalar; + pixelOffsetScaleByDistance?: Property | NearFarScalar; + imageSubRegion?: Property | BoundingRectangle; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + disableDepthTestDistance?: Property | number; + }; +} + +/** + * Describes a two dimensional icon located at the position of the containing {@link Entity}. + *

+ *

+ *
+ * Example billboards + *
+ *

+ * @param [options] - Object describing initialization options + */ +export class BillboardGraphics { + constructor(options?: BillboardGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the billboard. + */ + show: Property | undefined; + /** + * Gets or sets the Property specifying the Image, URI, or Canvas to use for the billboard. + */ + image: Property | undefined; + /** + * Gets or sets the numeric Property specifying the uniform scale to apply to the image. + * A scale greater than 1.0 enlarges the billboard while a scale less than 1.0 shrinks it. + *

+ *

+ *
+ * From left to right in the above image, the scales are 0.5, 1.0, and 2.0. + *
+ *

+ */ + scale: Property | undefined; + /** + * Gets or sets the {@link Cartesian2} Property specifying the billboard's pixel offset in screen space + * from the origin of this billboard. This is commonly used to align multiple billboards and labels at + * the same position, e.g., an image and text. The screen space origin is the top, left corner of the + * canvas; x increases from left to right, and y increases from top to bottom. + *

+ *

+ * + * + * + *
default
b.pixeloffset = new Cartesian2(50, 25);
+ * The billboard's origin is indicated by the yellow point. + *
+ *

+ */ + pixelOffset: Property | undefined; + /** + * Gets or sets the {@link Cartesian3} Property specifying the billboard's offset in eye coordinates. + * Eye coordinates is a left-handed coordinate system, where x points towards the viewer's + * right, y points up, and z points into the screen. + *

+ * An eye offset is commonly used to arrange multiple billboards or objects at the same position, e.g., to + * arrange a billboard above its corresponding 3D model. + *

+ * Below, the billboard is positioned at the center of the Earth but an eye offset makes it always + * appear on top of the Earth regardless of the viewer's or Earth's orientation. + *

+ *

+ * + * + * + *
+ * b.eyeOffset = new Cartesian3(0.0, 8000000.0, 0.0); + *
+ *

+ */ + eyeOffset: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HorizontalOrigin}. + */ + horizontalOrigin: Property | undefined; + /** + * Gets or sets the Property specifying the {@link VerticalOrigin}. + */ + verticalOrigin: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} that is multiplied with the image. + * This has two common use cases. First, the same white texture may be used by many different billboards, + * each with a different color, to create colored billboards. Second, the color's alpha component can be + * used to make the billboard translucent as shown below. An alpha of 0.0 makes the billboard + * transparent, and 1.0 makes the billboard opaque. + *

+ *

+ * + * + * + *
default
alpha : 0.5
+ *
+ *

+ */ + color: Property | undefined; + /** + * Gets or sets the numeric Property specifying the rotation of the image + * counter clockwise from the alignedAxis. + */ + rotation: Property | undefined; + /** + * Gets or sets the {@link Cartesian3} Property specifying the unit vector axis of rotation + * in the fixed frame. When set to Cartesian3.ZERO the rotation is from the top of the screen. + */ + alignedAxis: Property | undefined; + /** + * Gets or sets the boolean Property specifying if this billboard's size will be measured in meters. + */ + sizeInMeters: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the billboard in pixels. + * When undefined, the native width is used. + */ + width: Property | undefined; + /** + * Gets or sets the numeric Property specifying the height of the billboard in pixels. + * When undefined, the native height is used. + */ + height: Property | undefined; + /** + * Gets or sets {@link NearFarScalar} Property specifying the scale of the billboard based on the distance from the camera. + * A billboard's scale will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the billboard's scale remains clamped to the nearest bound. + */ + scaleByDistance: Property | undefined; + /** + * Gets or sets {@link NearFarScalar} Property specifying the translucency of the billboard based on the distance from the camera. + * A billboard's translucency will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the billboard's translucency remains clamped to the nearest bound. + */ + translucencyByDistance: Property | undefined; + /** + * Gets or sets {@link NearFarScalar} Property specifying the pixel offset of the billboard based on the distance from the camera. + * A billboard's pixel offset will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the billboard's pixel offset remains clamped to the nearest bound. + */ + pixelOffsetScaleByDistance: Property | undefined; + /** + * Gets or sets the Property specifying a {@link BoundingRectangle} that defines a + * sub-region of the image to use for the billboard, rather than the entire image, + * measured in pixels from the bottom-left. + */ + imageSubRegion: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this billboard will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain. + * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied. + */ + disableDepthTestDistance: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: BillboardGraphics): BillboardGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: BillboardGraphics): void; +} + +/** + * A {@link Visualizer} which maps {@link Entity#billboard} to a {@link Billboard}. + * @param entityCluster - The entity cluster to manage the collection of billboards and optionally cluster with other entities. + * @param entityCollection - The entityCollection to visualize. + */ +export class BillboardVisualizer { + constructor(entityCluster: EntityCluster, entityCollection: EntityCollection); + /** + * Updates the primitives created by this visualizer to match their + * Entity counterpart at the given time. + * @param time - The time to update to. + * @returns This function always returns true. + */ + update(time: JulianDate): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes and destroys all primitives created by this instance. + */ + destroy(): void; +} + +/** + * A {@link GeometryUpdater} for boxes. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class BoxGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; +} + +export namespace BoxGraphics { + /** + * Initialization options for the BoxGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the box. + * @property [dimensions] - A {@link Cartesian3} Property specifying the length, width, and height of the box. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height from the entity position is relative to. + * @property [fill = true] - A boolean Property specifying whether the box is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the box. + * @property [outline = false] - A boolean Property specifying whether the box is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the box casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this box will be displayed. + */ + type ConstructorOptions = { + show?: Property | boolean; + dimensions?: Property | Cartesian3; + heightReference?: Property | HeightReference; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + }; +} + +/** + * Describes a box. The center position and orientation are determined by the containing {@link Entity}. + * @param [options] - Object describing initialization options + */ +export class BoxGraphics { + constructor(options?: BoxGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the box. + */ + show: Property | undefined; + /** + * Gets or sets {@link Cartesian3} Property property specifying the length, width, and height of the box. + */ + dimensions: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the box is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the material used to fill the box. + */ + material: MaterialProperty | undefined; + /** + * Gets or sets the Property specifying whether the box is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Get or sets the enum Property specifying whether the box + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this box will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: BoxGraphics): BoxGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: BoxGraphics): void; +} + +/** + * A {@link Property} whose value is lazily evaluated by a callback function. + * @param callback - The function to be called when the property is evaluated. + * @param isConstant - true when the callback function returns the same value every time, false if the value will change. + */ +export class CallbackProperty { + constructor(callback: CallbackProperty.Callback, isConstant: boolean); + /** + * Gets a value indicating if this property is constant. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is changed whenever setCallback is called. + */ + readonly definitionChanged: Event; + /** + * Gets the value of the property. + * @param [time] - The time for which to retrieve the value. This parameter is unused since the value does not change with respect to time. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied or is unsupported. + */ + getValue(time?: JulianDate, result?: any): any; + /** + * Sets the callback to be used. + * @param callback - The function to be called when the property is evaluated. + * @param isConstant - true when the callback function returns the same value every time, false if the value will change. + */ + setCallback(callback: CallbackProperty.Callback, isConstant: boolean): void; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +export namespace CallbackProperty { + /** + * A function that returns the value of the property. + * @param [time] - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + */ + type Callback = (time?: JulianDate, result?: any) => any; +} + +export namespace Cesium3DTilesetGraphics { + /** + * Initialization options for the Cesium3DTilesetGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the tileset. + * @property [uri] - A string or Resource Property specifying the URI of the tileset. + * @property [maximumScreenSpaceError] - A number or Property specifying the maximum screen space error used to drive level of detail refinement. + */ + type ConstructorOptions = { + show?: Property | boolean; + uri?: Property | string | Resource; + maximumScreenSpaceError?: Property | number; + }; +} + +/** + * A 3D Tiles tileset represented by an {@link Entity}. + * The tileset modelMatrix is determined by the containing Entity position and orientation + * or is left unset if position is undefined. + * @param [options] - Object describing initialization options + */ +export class Cesium3DTilesetGraphics { + constructor(options?: Cesium3DTilesetGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the model. + */ + show: Property | undefined; + /** + * Gets or sets the string Property specifying the URI of the glTF asset. + */ + uri: Property | undefined; + /** + * Gets or sets the maximum screen space error used to drive level of detail refinement. + */ + maximumScreenSpaceError: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: Cesium3DTilesetGraphics): Cesium3DTilesetGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: Cesium3DTilesetGraphics): void; +} + +/** + * A {@link Visualizer} which maps {@link Entity#tileset} to a {@link Cesium3DTileset}. + * @param scene - The scene the primitives will be rendered in. + * @param entityCollection - The entityCollection to visualize. + */ +export class Cesium3DTilesetVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection); + /** + * Updates models created this visualizer to match their + * Entity counterpart at the given time. + * @param time - The time to update to. + * @returns This function always returns true. + */ + update(time: JulianDate): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes and destroys all primitives created by this instance. + */ + destroy(): void; +} + +/** + * A {@link MaterialProperty} that maps to checkerboard {@link Material} uniforms. + * @param [options] - Object with the following properties: + * @param [options.evenColor = Color.WHITE] - A Property specifying the first {@link Color}. + * @param [options.oddColor = Color.BLACK] - A Property specifying the second {@link Color}. + * @param [options.repeat = new Cartesian2(2.0, 2.0)] - A {@link Cartesian2} Property specifying how many times the tiles repeat in each direction. + */ +export class CheckerboardMaterialProperty { + constructor(options?: { + evenColor?: Property | Color; + oddColor?: Property | Color; + repeat?: Property | Cartesian2; + }); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the Property specifying the first {@link Color}. + */ + evenColor: Property | undefined; + /** + * Gets or sets the Property specifying the second {@link Color}. + */ + oddColor: Property | undefined; + /** + * Gets or sets the {@link Cartesian2} Property specifying how many times the tiles repeat in each direction. + */ + repeat: Property | undefined; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link MaterialProperty} that maps to solid color {@link Material} uniforms. + * @param [color = Color.WHITE] - The {@link Color} Property to be used. + */ +export class ColorMaterialProperty { + constructor(color?: Property | Color); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the {@link Color} {@link Property}. + */ + color: Property | undefined; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * Non-destructively composites multiple {@link EntityCollection} instances into a single collection. + * If a Entity with the same ID exists in multiple collections, it is non-destructively + * merged into a single new entity instance. If an entity has the same property in multiple + * collections, the property of the Entity in the last collection of the list it + * belongs to is used. CompositeEntityCollection can be used almost anywhere that a + * EntityCollection is used. + * @param [collections] - The initial list of EntityCollection instances to merge. + * @param [owner] - The data source (or composite entity collection) which created this collection. + */ +export class CompositeEntityCollection { + constructor(collections?: EntityCollection[], owner?: DataSource | CompositeEntityCollection); + /** + * Gets the event that is fired when entities are added or removed from the collection. + * The generated event is a {@link EntityCollection.collectionChangedEventCallback}. + */ + readonly collectionChanged: Event; + /** + * Gets a globally unique identifier for this collection. + */ + readonly id: string; + /** + * Gets the array of Entity instances in the collection. + * This array should not be modified directly. + */ + readonly values: Entity[]; + /** + * Gets the owner of this composite entity collection, ie. the data source or composite entity collection which created it. + */ + readonly owner: DataSource | CompositeEntityCollection; + /** + * Adds a collection to the composite. + * @param collection - the collection to add. + * @param [index] - the index to add the collection at. If omitted, the collection will + * added on top of all existing collections. + */ + addCollection(collection: EntityCollection, index?: number): void; + /** + * Removes a collection from this composite, if present. + * @param collection - The collection to remove. + * @returns true if the collection was in the composite and was removed, + * false if the collection was not in the composite. + */ + removeCollection(collection: EntityCollection): boolean; + /** + * Removes all collections from this composite. + */ + removeAllCollections(): void; + /** + * Checks to see if the composite contains a given collection. + * @param collection - the collection to check for. + * @returns true if the composite contains the collection, false otherwise. + */ + containsCollection(collection: EntityCollection): boolean; + /** + * Returns true if the provided entity is in this collection, false otherwise. + * @param entity - The entity. + * @returns true if the provided entity is in this collection, false otherwise. + */ + contains(entity: Entity): boolean; + /** + * Determines the index of a given collection in the composite. + * @param collection - The collection to find the index of. + * @returns The index of the collection in the composite, or -1 if the collection does not exist in the composite. + */ + indexOfCollection(collection: EntityCollection): number; + /** + * Gets a collection by index from the composite. + * @param index - the index to retrieve. + */ + getCollection(index: number): void; + /** + * Gets the number of collections in this composite. + */ + getCollectionsLength(): void; + /** + * Raises a collection up one position in the composite. + * @param collection - the collection to move. + */ + raiseCollection(collection: EntityCollection): void; + /** + * Lowers a collection down one position in the composite. + * @param collection - the collection to move. + */ + lowerCollection(collection: EntityCollection): void; + /** + * Raises a collection to the top of the composite. + * @param collection - the collection to move. + */ + raiseCollectionToTop(collection: EntityCollection): void; + /** + * Lowers a collection to the bottom of the composite. + * @param collection - the collection to move. + */ + lowerCollectionToBottom(collection: EntityCollection): void; + /** + * Prevents {@link EntityCollection#collectionChanged} events from being raised + * until a corresponding call is made to {@link EntityCollection#resumeEvents}, at which + * point a single event will be raised that covers all suspended operations. + * This allows for many items to be added and removed efficiently. + * While events are suspended, recompositing of the collections will + * also be suspended, as this can be a costly operation. + * This function can be safely called multiple times as long as there + * are corresponding calls to {@link EntityCollection#resumeEvents}. + */ + suspendEvents(): void; + /** + * Resumes raising {@link EntityCollection#collectionChanged} events immediately + * when an item is added or removed. Any modifications made while while events were suspended + * will be triggered as a single event when this function is called. This function also ensures + * the collection is recomposited if events are also resumed. + * This function is reference counted and can safely be called multiple times as long as there + * are corresponding calls to {@link EntityCollection#resumeEvents}. + */ + resumeEvents(): void; + /** + * Computes the maximum availability of the entities in the collection. + * If the collection contains a mix of infinitely available data and non-infinite data, + * It will return the interval pertaining to the non-infinite data only. If all + * data is infinite, an infinite interval will be returned. + * @returns The availability of entities in the collection. + */ + computeAvailability(): TimeInterval; + /** + * Gets an entity with the specified id. + * @param id - The id of the entity to retrieve. + * @returns The entity with the provided id or undefined if the id did not exist in the collection. + */ + getById(id: string): Entity | undefined; +} + +/** + * A {@link CompositeProperty} which is also a {@link MaterialProperty}. + */ +export class CompositeMaterialProperty { + constructor(); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is changed whenever setValue is called with data different + * than the current value. + */ + readonly definitionChanged: Event; + /** + * Gets the interval collection. + */ + intervals: TimeIntervalCollection; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link CompositeProperty} which is also a {@link PositionProperty}. + * @param [referenceFrame = ReferenceFrame.FIXED] - The reference frame in which the position is defined. + */ +export class CompositePositionProperty { + constructor(referenceFrame?: ReferenceFrame); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is changed whenever setValue is called with data different + * than the current value. + */ + readonly definitionChanged: Event; + /** + * Gets the interval collection. + */ + intervals: TimeIntervalCollection; + /** + * Gets or sets the reference frame which this position presents itself as. + * Each PositionProperty making up this object has it's own reference frame, + * so this property merely exposes a "preferred" reference frame for clients + * to use. + */ + referenceFrame: ReferenceFrame; + /** + * Gets the value of the property at the provided time in the fixed frame. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Gets the value of the property at the provided time and in the provided reference frame. + * @param time - The time for which to retrieve the value. + * @param referenceFrame - The desired referenceFrame of the result. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link Property} which is defined by a {@link TimeIntervalCollection}, where the + * data property of each {@link TimeInterval} is another Property instance which is + * evaluated at the provided time. + * @example + * var constantProperty = ...; + * var sampledProperty = ...; + * + * //Create a composite property from two previously defined properties + * //where the property is valid on August 1st, 2012 and uses a constant + * //property for the first half of the day and a sampled property for the + * //remaining half. + * var composite = new Cesium.CompositeProperty(); + * composite.intervals.addInterval(Cesium.TimeInterval.fromIso8601({ + * iso8601 : '2012-08-01T00:00:00.00Z/2012-08-01T12:00:00.00Z', + * data : constantProperty + * })); + * composite.intervals.addInterval(Cesium.TimeInterval.fromIso8601({ + * iso8601 : '2012-08-01T12:00:00.00Z/2012-08-02T00:00:00.00Z', + * isStartIncluded : false, + * isStopIncluded : false, + * data : sampledProperty + * })); + */ +export class CompositeProperty { + constructor(); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is changed whenever setValue is called with data different + * than the current value. + */ + readonly definitionChanged: Event; + /** + * Gets the interval collection. + */ + intervals: TimeIntervalCollection; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link PositionProperty} whose value does not change in respect to the + * {@link ReferenceFrame} in which is it defined. + * @param [value] - The property value. + * @param [referenceFrame = ReferenceFrame.FIXED] - The reference frame in which the position is defined. + */ +export class ConstantPositionProperty { + constructor(value?: Cartesian3, referenceFrame?: ReferenceFrame); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets the reference frame in which the position is defined. + */ + referenceFrame: ReferenceFrame; + /** + * Gets the value of the property at the provided time in the fixed frame. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Sets the value of the property. + * @param value - The property value. + * @param [referenceFrame = this.referenceFrame] - The reference frame in which the position is defined. + */ + setValue(value: Cartesian3, referenceFrame?: ReferenceFrame): void; + /** + * Gets the value of the property at the provided time and in the provided reference frame. + * @param time - The time for which to retrieve the value. + * @param referenceFrame - The desired referenceFrame of the result. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link Property} whose value does not change with respect to simulation time. + * @param [value] - The property value. + */ +export class ConstantProperty { + constructor(value?: any); + /** + * Gets a value indicating if this property is constant. + * This property always returns true. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is changed whenever setValue is called with data different + * than the current value. + */ + readonly definitionChanged: Event; + /** + * Gets the value of the property. + * @param [time] - The time for which to retrieve the value. This parameter is unused since the value does not change with respect to time. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time?: JulianDate, result?: any): any; + /** + * Sets the value of the property. + * @param value - The property value. + */ + setValue(value: any): void; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; + /** + * Gets this property's value. + * @returns This property's value. + */ + valueOf(): any; + /** + * Creates a string representing this property's value. + * @returns A string representing the property's value. + */ + toString(): string; +} + +/** + * A {@link GeometryUpdater} for corridors. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class CorridorGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; +} + +export namespace CorridorGraphics { + /** + * Initialization options for the CorridorGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the corridor. + * @property [positions] - A Property specifying the array of {@link Cartesian3} positions that define the centerline of the corridor. + * @property [width] - A numeric Property specifying the distance between the edges of the corridor. + * @property [height = 0] - A numeric Property specifying the altitude of the corridor relative to the ellipsoid surface. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height is relative to. + * @property [extrudedHeight] - A numeric Property specifying the altitude of the corridor's extruded face relative to the ellipsoid surface. + * @property [extrudedHeightReference = HeightReference.NONE] - A Property specifying what the extrudedHeight is relative to. + * @property [cornerType = CornerType.ROUNDED] - A {@link CornerType} Property specifying the style of the corners. + * @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - A numeric Property specifying the distance between each latitude and longitude. + * @property [fill = true] - A boolean Property specifying whether the corridor is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the corridor. + * @property [outline = false] - A boolean Property specifying whether the corridor is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the corridor casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this corridor will be displayed. + * @property [classificationType = ClassificationType.BOTH] - An enum Property specifying whether this corridor will classify terrain, 3D Tiles, or both when on the ground. + * @property [zIndex] - A Property specifying the zIndex of the corridor, used for ordering. Only has an effect if height and extrudedHeight are undefined, and if the corridor is static. + */ + type ConstructorOptions = { + show?: Property | boolean; + positions?: Property | Cartesian3; + width?: Property | number; + height?: Property | number; + heightReference?: Property | HeightReference; + extrudedHeight?: Property | number; + extrudedHeightReference?: Property | HeightReference; + cornerType?: Property | CornerType; + granularity?: Property | number; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + classificationType?: Property | ClassificationType; + zIndex?: ConstantProperty | number; + }; +} + +/** + * Describes a corridor, which is a shape defined by a centerline and width that + * conforms to the curvature of the globe. It can be placed on the surface or at altitude + * and can optionally be extruded into a volume. + * @param [options] - Object describing initialization options + */ +export class CorridorGraphics { + constructor(options?: CorridorGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the corridor. + */ + show: Property | undefined; + /** + * Gets or sets a Property specifying the array of {@link Cartesian3} positions that define the centerline of the corridor. + */ + positions: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the corridor. + */ + width: Property | undefined; + /** + * Gets or sets the numeric Property specifying the altitude of the corridor. + */ + height: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the numeric Property specifying the altitude of the corridor extrusion. + * Setting this property creates a corridor shaped volume starting at height and ending + * at this altitude. + */ + extrudedHeight: Property | undefined; + /** + * Gets or sets the Property specifying the extruded {@link HeightReference}. + */ + extrudedHeightReference: Property | undefined; + /** + * Gets or sets the {@link CornerType} Property specifying how corners are styled. + */ + cornerType: Property | undefined; + /** + * Gets or sets the numeric Property specifying the sampling distance between each latitude and longitude point. + */ + granularity: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the corridor is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the Property specifying the material used to fill the corridor. + */ + material: MaterialProperty | undefined; + /** + * Gets or sets the Property specifying whether the corridor is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Get or sets the enum Property specifying whether the corridor + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this corridor will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Gets or sets the {@link ClassificationType} Property specifying whether this corridor will classify terrain, 3D Tiles, or both when on the ground. + */ + classificationType: Property | undefined; + /** + * Gets or sets the zIndex Property specifying the ordering of the corridor. Only has an effect if the coridor is static and neither height or exturdedHeight are specified. + */ + zIndex: ConstantProperty | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: CorridorGraphics): CorridorGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: CorridorGraphics): void; +} + +/** + * A {@link DataSource} implementation which can be used to manually manage a group of entities. + * @example + * var dataSource = new Cesium.CustomDataSource('myData'); + * + * var entity = dataSource.entities.add({ + * position : Cesium.Cartesian3.fromDegrees(1, 2, 0), + * billboard : { + * image : 'image.png' + * } + * }); + * + * viewer.dataSources.add(dataSource); + * @param [name] - A human-readable name for this instance. + */ +export class CustomDataSource { + constructor(name?: string); + /** + * Gets or sets a human-readable name for this instance. + */ + name: string; + /** + * Gets or sets the clock for this instance. + */ + clock: DataSourceClock; + /** + * Gets the collection of {@link Entity} instances. + */ + entities: EntityCollection; + /** + * Gets or sets whether the data source is currently loading data. + */ + isLoading: boolean; + /** + * Gets an event that will be raised when the underlying data changes. + */ + changedEvent: Event; + /** + * Gets an event that will be raised if an error is encountered during processing. + */ + errorEvent: Event; + /** + * Gets an event that will be raised when the data source either starts or stops loading. + */ + loadingEvent: Event; + /** + * Gets whether or not this data source should be displayed. + */ + show: boolean; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + */ + clustering: EntityCluster; + /** + * Updates the data source to the provided time. This function is optional and + * is not required to be implemented. It is provided for data sources which + * retrieve data based on the current animation time or scene state. + * If implemented, update will be called by {@link DataSourceDisplay} once a frame. + * @param time - The simulation time. + * @returns True if this data source is ready to be displayed at the provided time, false otherwise. + */ + update(time: JulianDate): boolean; +} + +/** + * A {@link GeometryUpdater} for cylinders. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class CylinderGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; +} + +export namespace CylinderGraphics { + /** + * Initialization options for the CylinderGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the cylinder. + * @property [length] - A numeric Property specifying the length of the cylinder. + * @property [topRadius] - A numeric Property specifying the radius of the top of the cylinder. + * @property [bottomRadius] - A numeric Property specifying the radius of the bottom of the cylinder. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height from the entity position is relative to. + * @property [fill = true] - A boolean Property specifying whether the cylinder is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the cylinder. + * @property [outline = false] - A boolean Property specifying whether the cylinder is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [numberOfVerticalLines = 16] - A numeric Property specifying the number of vertical lines to draw along the perimeter for the outline. + * @property [slices = 128] - The number of edges around the perimeter of the cylinder. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the cylinder casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this cylinder will be displayed. + */ + type ConstructorOptions = { + show?: Property | boolean; + length?: Property | number; + topRadius?: Property | number; + bottomRadius?: Property | number; + heightReference?: Property | HeightReference; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + numberOfVerticalLines?: Property | number; + slices?: Property | number; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + }; +} + +/** + * Describes a cylinder, truncated cone, or cone defined by a length, top radius, and bottom radius. + * The center position and orientation are determined by the containing {@link Entity}. + * @param [options] - Object describing initialization options + */ +export class CylinderGraphics { + constructor(options?: CylinderGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the cylinder. + */ + show: Property | undefined; + /** + * Gets or sets the numeric Property specifying the length of the cylinder. + */ + length: Property | undefined; + /** + * Gets or sets the numeric Property specifying the radius of the top of the cylinder. + */ + topRadius: Property | undefined; + /** + * Gets or sets the numeric Property specifying the radius of the bottom of the cylinder. + */ + bottomRadius: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the cylinder is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the Property specifying the material used to fill the cylinder. + */ + material: MaterialProperty | undefined; + /** + * Gets or sets the boolean Property specifying whether the cylinder is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Gets or sets the Property specifying the number of vertical lines to draw along the perimeter for the outline. + */ + numberOfVerticalLines: Property | undefined; + /** + * Gets or sets the Property specifying the number of edges around the perimeter of the cylinder. + */ + slices: Property | undefined; + /** + * Get or sets the enum Property specifying whether the cylinder + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this cylinder will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: CylinderGraphics): CylinderGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: CylinderGraphics): void; +} + +export namespace CzmlDataSource { + /** + * Initialization options for the `load` method. + * @property [sourceUri] - Overrides the url to use for resolving relative links. + * @property [credit] - A credit for the data source, which is displayed on the canvas. + */ + type LoadOptions = { + sourceUri?: Resource | string; + credit?: Credit | string; + }; +} + +/** + * A {@link DataSource} which processes {@link https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/CZML-Guide|CZML}. + * @param [name] - An optional name for the data source. This value will be overwritten if a loaded document contains a name. + */ +export class CzmlDataSource { + constructor(name?: string); + /** + * Creates a Promise to a new instance loaded with the provided CZML data. + * @param czml - A url or CZML object to be processed. + * @param [options] - An object specifying configuration options + * @returns A promise that resolves to the new instance once the data is processed. + */ + static load(czml: Resource | string | any, options?: CzmlDataSource.LoadOptions): Promise; + /** + * Gets a human-readable name for this instance. + */ + name: string; + /** + * Gets the clock settings defined by the loaded CZML. If no clock is explicitly + * defined in the CZML, the combined availability of all objects is returned. If + * only static data exists, this value is undefined. + */ + clock: DataSourceClock; + /** + * Gets the collection of {@link Entity} instances. + */ + entities: EntityCollection; + /** + * Gets a value indicating if the data source is currently loading data. + */ + isLoading: boolean; + /** + * Gets an event that will be raised when the underlying data changes. + */ + changedEvent: Event; + /** + * Gets an event that will be raised if an error is encountered during processing. + */ + errorEvent: Event; + /** + * Gets an event that will be raised when the data source either starts or stops loading. + */ + loadingEvent: Event; + /** + * Gets whether or not this data source should be displayed. + */ + show: boolean; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + */ + clustering: EntityCluster; + /** + * Gets the credit that will be displayed for the data source + */ + credit: Credit; + /** + * Gets the array of CZML processing functions. + */ + static updaters: any[]; + /** + * Processes the provided url or CZML object without clearing any existing data. + * @param czml - A url or CZML object to be processed. + * @param [options] - An object with the following properties: + * @param [options.sourceUri] - Overrides the url to use for resolving relative links. + * @returns A promise that resolves to this instances once the data is processed. + */ + process(czml: Resource | string | any, options?: { + sourceUri?: string; + }): Promise; + /** + * Loads the provided url or CZML object, replacing any existing data. + * @param czml - A url or CZML object to be processed. + * @param [options] - An object specifying configuration options + * @returns A promise that resolves to this instances once the data is processed. + */ + load(czml: Resource | string | any, options?: CzmlDataSource.LoadOptions): Promise; + /** + * Updates the data source to the provided time. This function is optional and + * is not required to be implemented. It is provided for data sources which + * retrieve data based on the current animation time or scene state. + * If implemented, update will be called by {@link DataSourceDisplay} once a frame. + * @param time - The simulation time. + * @returns True if this data source is ready to be displayed at the provided time, false otherwise. + */ + update(time: JulianDate): boolean; + /** + * A helper function used by custom CZML updater functions + * which creates or updates a {@link Property} from a CZML packet. + * @param type - The constructor function for the property being processed. + * @param object - The object on which the property will be added or updated. + * @param propertyName - The name of the property on the object. + * @param packetData - The CZML packet being processed. + * @param interval - A constraining interval for which the data is valid. + * @param sourceUri - The originating uri of the data being processed. + * @param entityCollection - The collection being processsed. + */ + static processPacketData(type: (...params: any[]) => any, object: any, propertyName: string, packetData: any, interval: TimeInterval, sourceUri: string, entityCollection: EntityCollection): void; + /** + * A helper function used by custom CZML updater functions + * which creates or updates a {@link PositionProperty} from a CZML packet. + * @param object - The object on which the property will be added or updated. + * @param propertyName - The name of the property on the object. + * @param packetData - The CZML packet being processed. + * @param interval - A constraining interval for which the data is valid. + * @param sourceUri - The originating uri of the data being processed. + * @param entityCollection - The collection being processsed. + */ + static processPositionPacketData(object: any, propertyName: string, packetData: any, interval: TimeInterval, sourceUri: string, entityCollection: EntityCollection): void; + /** + * A helper function used by custom CZML updater functions + * which creates or updates a {@link MaterialProperty} from a CZML packet. + * @param object - The object on which the property will be added or updated. + * @param propertyName - The name of the property on the object. + * @param packetData - The CZML packet being processed. + * @param interval - A constraining interval for which the data is valid. + * @param sourceUri - The originating uri of the data being processed. + * @param entityCollection - The collection being processsed. + */ + static processMaterialPacketData(object: any, propertyName: string, packetData: any, interval: TimeInterval, sourceUri: string, entityCollection: EntityCollection): void; +} + +/** + * Defines the interface for data sources, which turn arbitrary data into a + * {@link EntityCollection} for generic consumption. This object is an interface + * for documentation purposes and is not intended to be instantiated directly. + */ +export class DataSource { + constructor(); + /** + * Gets a human-readable name for this instance. + */ + name: string; + /** + * Gets the preferred clock settings for this data source. + */ + clock: DataSourceClock; + /** + * Gets the collection of {@link Entity} instances. + */ + entities: EntityCollection; + /** + * Gets a value indicating if the data source is currently loading data. + */ + isLoading: boolean; + /** + * Gets an event that will be raised when the underlying data changes. + */ + changedEvent: Event; + /** + * Gets an event that will be raised if an error is encountered during processing. + */ + errorEvent: Event; + /** + * Gets an event that will be raised when the value of isLoading changes. + */ + loadingEvent: Event; + /** + * Gets whether or not this data source should be displayed. + */ + show: boolean; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + */ + clustering: EntityCluster; + /** + * Updates the data source to the provided time. This function is optional and + * is not required to be implemented. It is provided for data sources which + * retrieve data based on the current animation time or scene state. + * If implemented, update will be called by {@link DataSourceDisplay} once a frame. + * @param time - The simulation time. + * @returns True if this data source is ready to be displayed at the provided time, false otherwise. + */ + update(time: JulianDate): boolean; +} + +/** + * Represents desired clock settings for a particular {@link DataSource}. These settings may be applied + * to the {@link Clock} when the DataSource is loaded. + */ +export class DataSourceClock { + constructor(); + /** + * Gets the event that is raised whenever a new property is assigned. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the desired start time of the clock. + * See {@link Clock#startTime}. + */ + startTime: JulianDate; + /** + * Gets or sets the desired stop time of the clock. + * See {@link Clock#stopTime}. + */ + stopTime: JulianDate; + /** + * Gets or sets the desired current time when this data source is loaded. + * See {@link Clock#currentTime}. + */ + currentTime: JulianDate; + /** + * Gets or sets the desired clock range setting. + * See {@link Clock#clockRange}. + */ + clockRange: ClockRange; + /** + * Gets or sets the desired clock step setting. + * See {@link Clock#clockStep}. + */ + clockStep: ClockStep; + /** + * Gets or sets the desired clock multiplier. + * See {@link Clock#multiplier}. + */ + multiplier: number; + /** + * Duplicates a DataSourceClock instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: DataSourceClock): DataSourceClock; + /** + * Returns true if this DataSourceClock is equivalent to the other + * @param other - The other DataSourceClock to compare to. + * @returns true if the DataSourceClocks are equal; otherwise, false. + */ + equals(other: DataSourceClock): boolean; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: DataSourceClock): void; + /** + * Gets the value of this clock instance as a {@link Clock} object. + * @returns The modified result parameter or a new instance if one was not provided. + */ + getValue(): Clock; +} + +/** + * A collection of {@link DataSource} instances. + */ +export class DataSourceCollection { + constructor(); + /** + * Gets the number of data sources in this collection. + */ + readonly length: number; + /** + * An event that is raised when a data source is added to the collection. + * Event handlers are passed the data source that was added. + */ + readonly dataSourceAdded: Event; + /** + * An event that is raised when a data source is removed from the collection. + * Event handlers are passed the data source that was removed. + */ + readonly dataSourceRemoved: Event; + /** + * An event that is raised when a data source changes position in the collection. Event handlers are passed the data source + * that was moved, its new index after the move, and its old index prior to the move. + */ + readonly dataSourceMoved: Event; + /** + * Adds a data source to the collection. + * @param dataSource - A data source or a promise to a data source to add to the collection. + * When passing a promise, the data source will not actually be added + * to the collection until the promise resolves successfully. + * @returns A Promise that resolves once the data source has been added to the collection. + */ + add(dataSource: DataSource | Promise): Promise; + /** + * Removes a data source from this collection, if present. + * @param dataSource - The data source to remove. + * @param [destroy = false] - Whether to destroy the data source in addition to removing it. + * @returns true if the data source was in the collection and was removed, + * false if the data source was not in the collection. + */ + remove(dataSource: DataSource, destroy?: boolean): boolean; + /** + * Removes all data sources from this collection. + * @param [destroy = false] - whether to destroy the data sources in addition to removing them. + */ + removeAll(destroy?: boolean): void; + /** + * Checks to see if the collection contains a given data source. + * @param dataSource - The data source to check for. + * @returns true if the collection contains the data source, false otherwise. + */ + contains(dataSource: DataSource): boolean; + /** + * Determines the index of a given data source in the collection. + * @param dataSource - The data source to find the index of. + * @returns The index of the data source in the collection, or -1 if the data source does not exist in the collection. + */ + indexOf(dataSource: DataSource): number; + /** + * Gets a data source by index from the collection. + * @param index - the index to retrieve. + * @returns The data source at the specified index. + */ + get(index: number): DataSource; + /** + * Gets a data source by name from the collection. + * @param name - The name to retrieve. + * @returns A list of all data sources matching the provided name. + */ + getByName(name: string): DataSource[]; + /** + * Raises a data source up one position in the collection. + * @param dataSource - The data source to move. + */ + raise(dataSource: DataSource): void; + /** + * Lowers a data source down one position in the collection. + * @param dataSource - The data source to move. + */ + lower(dataSource: DataSource): void; + /** + * Raises a data source to the top of the collection. + * @param dataSource - The data source to move. + */ + raiseToTop(dataSource: DataSource): void; + /** + * Lowers a data source to the bottom of the collection. + * @param dataSource - The data source to move. + */ + lowerToBottom(dataSource: DataSource): void; + /** + * Returns true if this object was destroyed; otherwise, false. + * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the resources held by all data sources in this collection. Explicitly destroying this + * object allows for deterministic release of WebGL resources, instead of relying on the garbage + * collector. Once this object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * dataSourceCollection = dataSourceCollection && dataSourceCollection.destroy(); + */ + destroy(): void; +} + +/** + * Visualizes a collection of {@link DataSource} instances. + * @param options - Object with the following properties: + * @param options.scene - The scene in which to display the data. + * @param options.dataSourceCollection - The data sources to display. + * @param [options.visualizersCallback = DataSourceDisplay.defaultVisualizersCallback] - A function which creates an array of visualizers used for visualization. + * If undefined, all standard visualizers are used. + */ +export class DataSourceDisplay { + constructor(options: { + scene: Scene; + dataSourceCollection: DataSourceCollection; + visualizersCallback?: DataSourceDisplay.VisualizersCallback; + }); + /** + * Gets or sets the default function which creates an array of visualizers used for visualization. + * By default, this function uses all standard visualizers. + */ + static defaultVisualizersCallback(): void; + /** + * Gets the scene associated with this display. + */ + scene: Scene; + /** + * Gets the collection of data sources to display. + */ + dataSources: DataSourceCollection; + /** + * Gets the default data source instance which can be used to + * manually create and visualize entities not tied to + * a specific data source. This instance is always available + * and does not appear in the list dataSources collection. + */ + defaultDataSource: CustomDataSource; + /** + * Gets a value indicating whether or not all entities in the data source are ready + */ + readonly ready: boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * dataSourceDisplay = dataSourceDisplay.destroy(); + */ + destroy(): void; + /** + * Updates the display to the provided time. + * @param time - The simulation time. + * @returns True if all data sources are ready to be displayed, false otherwise. + */ + update(time: JulianDate): boolean; +} + +export namespace DataSourceDisplay { + /** + * A function which creates an array of visualizers used for visualization. + * @example + * function createVisualizers(scene, dataSource) { + * return [new Cesium.BillboardVisualizer(scene, dataSource.entities)]; + * } + * @param scene - The scene to create visualizers for. + * @param dataSource - The data source to create visualizers for. + */ + type VisualizersCallback = (scene: Scene, dataSource: DataSource) => Visualizer[]; +} + +/** + * A {@link GeometryUpdater} for ellipses. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class EllipseGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Gets a value indicating if the geometry should be drawn on terrain. + */ + readonly onTerrain: boolean; +} + +export namespace EllipseGraphics { + /** + * Initialization options for the EllipseGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the ellipse. + * @property [semiMajorAxis] - The numeric Property specifying the semi-major axis. + * @property [semiMinorAxis] - The numeric Property specifying the semi-minor axis. + * @property [height = 0] - A numeric Property specifying the altitude of the ellipse relative to the ellipsoid surface. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height is relative to. + * @property [extrudedHeight] - A numeric Property specifying the altitude of the ellipse's extruded face relative to the ellipsoid surface. + * @property [extrudedHeightReference = HeightReference.NONE] - A Property specifying what the extrudedHeight is relative to. + * @property [rotation = 0.0] - A numeric property specifying the rotation of the ellipse counter-clockwise from north. + * @property [stRotation = 0.0] - A numeric property specifying the rotation of the ellipse texture counter-clockwise from north. + * @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - A numeric Property specifying the angular distance between points on the ellipse. + * @property [fill = true] - A boolean Property specifying whether the ellipse is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the ellipse. + * @property [outline = false] - A boolean Property specifying whether the ellipse is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [numberOfVerticalLines = 16] - A numeric Property specifying the number of vertical lines to draw along the perimeter for the outline. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the ellipse casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this ellipse will be displayed. + * @property [classificationType = ClassificationType.BOTH] - An enum Property specifying whether this ellipse will classify terrain, 3D Tiles, or both when on the ground. + * @property [zIndex = 0] - A property specifying the zIndex of the Ellipse. Used for ordering ground geometry. Only has an effect if the ellipse is constant and neither height or exturdedHeight are specified. + */ + type ConstructorOptions = { + show?: Property | boolean; + semiMajorAxis?: Property | number; + semiMinorAxis?: Property | number; + height?: Property | number; + heightReference?: Property | HeightReference; + extrudedHeight?: Property | number; + extrudedHeightReference?: Property | HeightReference; + rotation?: Property | number; + stRotation?: Property | number; + granularity?: Property | number; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + numberOfVerticalLines?: Property | number; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + classificationType?: Property | ClassificationType; + zIndex?: ConstantProperty | number; + }; +} + +/** + * Describes an ellipse defined by a center point and semi-major and semi-minor axes. + * The ellipse conforms to the curvature of the globe and can be placed on the surface or + * at altitude and can optionally be extruded into a volume. + * The center point is determined by the containing {@link Entity}. + * @param [options] - Object describing initialization options + */ +export class EllipseGraphics { + constructor(options?: EllipseGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the ellipse. + */ + show: Property | undefined; + /** + * Gets or sets the numeric Property specifying the semi-major axis. + */ + semiMajorAxis: Property | undefined; + /** + * Gets or sets the numeric Property specifying the semi-minor axis. + */ + semiMinorAxis: Property | undefined; + /** + * Gets or sets the numeric Property specifying the altitude of the ellipse. + */ + height: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the numeric Property specifying the altitude of the ellipse extrusion. + * Setting this property creates volume starting at height and ending at this altitude. + */ + extrudedHeight: Property | undefined; + /** + * Gets or sets the Property specifying the extruded {@link HeightReference}. + */ + extrudedHeightReference: Property | undefined; + /** + * Gets or sets the numeric property specifying the rotation of the ellipse clockwise from north. + */ + rotation: Property | undefined; + /** + * Gets or sets the numeric property specifying the rotation of the ellipse texture counter-clockwise from north. + */ + stRotation: Property | undefined; + /** + * Gets or sets the numeric Property specifying the angular distance between points on the ellipse. + */ + granularity: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the ellipse is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the Property specifying the material used to fill the ellipse. + */ + material: MaterialProperty | undefined; + /** + * Gets or sets the Property specifying whether the ellipse is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Gets or sets the numeric Property specifying the number of vertical lines to draw along the perimeter for the outline. + */ + numberOfVerticalLines: Property | undefined; + /** + * Get or sets the enum Property specifying whether the ellipse + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this ellipse will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Gets or sets the {@link ClassificationType} Property specifying whether this ellipse will classify terrain, 3D Tiles, or both when on the ground. + */ + classificationType: Property | undefined; + /** + * Gets or sets the zIndex Property specifying the ellipse ordering. Only has an effect if the ellipse is constant and neither height or extrudedHeight are specified + */ + zIndex: ConstantProperty | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: EllipseGraphics): EllipseGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: EllipseGraphics): void; +} + +/** + * A {@link GeometryUpdater} for ellipsoids. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class EllipsoidGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @param [skipModelMatrix = false] - Whether to compute a model matrix for the geometry instance + * @param [modelMatrixResult] - Used to store the result of the model matrix calculation + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate, skipModelMatrix?: boolean, modelMatrixResult?: Matrix4): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @param [skipModelMatrix = false] - Whether to compute a model matrix for the geometry instance + * @param [modelMatrixResult] - Used to store the result of the model matrix calculation + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate, skipModelMatrix?: boolean, modelMatrixResult?: Matrix4): GeometryInstance; +} + +export namespace EllipsoidGraphics { + /** + * Initialization options for the EllipsoidGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the ellipsoid. + * @property [radii] - A {@link Cartesian3} Property specifying the radii of the ellipsoid. + * @property [innerRadii] - A {@link Cartesian3} Property specifying the inner radii of the ellipsoid. + * @property [minimumClock = 0.0] - A Property specifying the minimum clock angle of the ellipsoid. + * @property [maximumClock = 2*PI] - A Property specifying the maximum clock angle of the ellipsoid. + * @property [minimumCone = 0.0] - A Property specifying the minimum cone angle of the ellipsoid. + * @property [maximumCone = PI] - A Property specifying the maximum cone angle of the ellipsoid. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height from the entity position is relative to. + * @property [fill = true] - A boolean Property specifying whether the ellipsoid is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the ellipsoid. + * @property [outline = false] - A boolean Property specifying whether the ellipsoid is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [stackPartitions = 64] - A Property specifying the number of stacks. + * @property [slicePartitions = 64] - A Property specifying the number of radial slices. + * @property [subdivisions = 128] - A Property specifying the number of samples per outline ring, determining the granularity of the curvature. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the ellipsoid casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this ellipsoid will be displayed. + */ + type ConstructorOptions = { + show?: Property | boolean; + radii?: Property | Cartesian3; + innerRadii?: Property | Cartesian3; + minimumClock?: Property | number; + maximumClock?: Property | number; + minimumCone?: Property | number; + maximumCone?: Property | number; + heightReference?: Property | HeightReference; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + stackPartitions?: Property | number; + slicePartitions?: Property | number; + subdivisions?: Property | number; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + }; +} + +/** + * Describe an ellipsoid or sphere. The center position and orientation are determined by the containing {@link Entity}. + * @param [options] - Object describing initialization options + */ +export class EllipsoidGraphics { + constructor(options?: EllipsoidGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the ellipsoid. + */ + show: Property | undefined; + /** + * Gets or sets the {@link Cartesian3} {@link Property} specifying the radii of the ellipsoid. + */ + radii: Property | undefined; + /** + * Gets or sets the {@link Cartesian3} {@link Property} specifying the inner radii of the ellipsoid. + */ + innerRadii: Property | undefined; + /** + * Gets or sets the Property specifying the minimum clock angle of the ellipsoid. + */ + minimumClock: Property | undefined; + /** + * Gets or sets the Property specifying the maximum clock angle of the ellipsoid. + */ + maximumClock: Property | undefined; + /** + * Gets or sets the Property specifying the minimum cone angle of the ellipsoid. + */ + minimumCone: Property | undefined; + /** + * Gets or sets the Property specifying the maximum cone angle of the ellipsoid. + */ + maximumCone: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the ellipsoid is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the Property specifying the material used to fill the ellipsoid. + */ + material: MaterialProperty; + /** + * Gets or sets the Property specifying whether the ellipsoid is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Gets or sets the Property specifying the number of stacks. + */ + stackPartitions: Property | undefined; + /** + * Gets or sets the Property specifying the number of radial slices per 360 degrees. + */ + slicePartitions: Property | undefined; + /** + * Gets or sets the Property specifying the number of samples per outline ring, determining the granularity of the curvature. + */ + subdivisions: Property | undefined; + /** + * Get or sets the enum Property specifying whether the ellipsoid + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this ellipsoid will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: EllipsoidGraphics): EllipsoidGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: EllipsoidGraphics): void; +} + +export namespace Entity { + /** + * Initialization options for the Entity constructor + * @property [id] - A unique identifier for this object. If none is provided, a GUID is generated. + * @property [name] - A human readable name to display to users. It does not have to be unique. + * @property [availability] - The availability, if any, associated with this object. + * @property [show] - A boolean value indicating if the entity and its children are displayed. + * @property [description] - A string Property specifying an HTML description for this entity. + * @property [position] - A Property specifying the entity position. + * @property [orientation] - A Property specifying the entity orientation. + * @property [viewFrom] - A suggested initial offset for viewing this object. + * @property [parent] - A parent entity to associate with this entity. + * @property [billboard] - A billboard to associate with this entity. + * @property [box] - A box to associate with this entity. + * @property [corridor] - A corridor to associate with this entity. + * @property [cylinder] - A cylinder to associate with this entity. + * @property [ellipse] - A ellipse to associate with this entity. + * @property [ellipsoid] - A ellipsoid to associate with this entity. + * @property [label] - A options.label to associate with this entity. + * @property [model] - A model to associate with this entity. + * @property [tileset] - A 3D Tiles tileset to associate with this entity. + * @property [path] - A path to associate with this entity. + * @property [plane] - A plane to associate with this entity. + * @property [point] - A point to associate with this entity. + * @property [polygon] - A polygon to associate with this entity. + * @property [polyline] - A polyline to associate with this entity. + * @property [properties] - Arbitrary properties to associate with this entity. + * @property [polylineVolume] - A polylineVolume to associate with this entity. + * @property [rectangle] - A rectangle to associate with this entity. + * @property [wall] - A wall to associate with this entity. + */ + type ConstructorOptions = { + id?: string; + name?: string; + availability?: TimeIntervalCollection; + show?: boolean; + description?: Property | string; + position?: PositionProperty | Cartesian3; + orientation?: Property; + viewFrom?: Property; + parent?: Entity; + billboard?: BillboardGraphics | BillboardGraphics.ConstructorOptions; + box?: BoxGraphics | BoxGraphics.ConstructorOptions; + corridor?: CorridorGraphics | CorridorGraphics.ConstructorOptions; + cylinder?: CylinderGraphics | CylinderGraphics.ConstructorOptions; + ellipse?: EllipseGraphics | EllipseGraphics.ConstructorOptions; + ellipsoid?: EllipsoidGraphics | EllipsoidGraphics.ConstructorOptions; + label?: LabelGraphics | LabelGraphics.ConstructorOptions; + model?: ModelGraphics | ModelGraphics.ConstructorOptions; + tileset?: Cesium3DTilesetGraphics | Cesium3DTilesetGraphics.ConstructorOptions; + path?: PathGraphics | PathGraphics.ConstructorOptions; + plane?: PlaneGraphics | PlaneGraphics.ConstructorOptions; + point?: PointGraphics | PointGraphics.ConstructorOptions; + polygon?: PolygonGraphics | PolygonGraphics.ConstructorOptions; + polyline?: PolylineGraphics | PolylineGraphics.ConstructorOptions; + properties?: PropertyBag | { + [key: string]: any; + }; + polylineVolume?: PolylineVolumeGraphics | PolylineVolumeGraphics.ConstructorOptions; + rectangle?: RectangleGraphics | RectangleGraphics.ConstructorOptions; + wall?: WallGraphics | WallGraphics.ConstructorOptions; + }; +} + +/** + * Entity instances aggregate multiple forms of visualization into a single high-level object. + * They can be created manually and added to {@link Viewer#entities} or be produced by + * data sources, such as {@link CzmlDataSource} and {@link GeoJsonDataSource}. + * @param [options] - Object describing initialization options + */ +export class Entity { + constructor(options?: Entity.ConstructorOptions); + /** + * Gets or sets the entity collection that this entity belongs to. + */ + entityCollection: EntityCollection; + /** + * The availability, if any, associated with this object. + * If availability is undefined, it is assumed that this object's + * other properties will return valid data for any provided time. + * If availability exists, the objects other properties will only + * provide valid data if queried within the given interval. + */ + availability: TimeIntervalCollection | undefined; + /** + * Gets the unique ID associated with this object. + */ + id: string; + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the name of the object. The name is intended for end-user + * consumption and does not need to be unique. + */ + name: string | undefined; + /** + * Gets or sets whether this entity should be displayed. When set to true, + * the entity is only displayed if the parent entity's show property is also true. + */ + show: boolean; + /** + * Gets whether this entity is being displayed, taking into account + * the visibility of any ancestor entities. + */ + isShowing: boolean; + /** + * Gets or sets the parent object. + */ + parent: Entity | undefined; + /** + * Gets the names of all properties registered on this instance. + */ + propertyNames: string[]; + /** + * Gets or sets the billboard. + */ + billboard: BillboardGraphics | undefined; + /** + * Gets or sets the box. + */ + box: BoxGraphics | undefined; + /** + * Gets or sets the corridor. + */ + corridor: CorridorGraphics | undefined; + /** + * Gets or sets the cylinder. + */ + cylinder: CylinderGraphics | undefined; + /** + * Gets or sets the description. + */ + description: Property | undefined; + /** + * Gets or sets the ellipse. + */ + ellipse: EllipseGraphics | undefined; + /** + * Gets or sets the ellipsoid. + */ + ellipsoid: EllipsoidGraphics | undefined; + /** + * Gets or sets the label. + */ + label: LabelGraphics | undefined; + /** + * Gets or sets the model. + */ + model: ModelGraphics | undefined; + /** + * Gets or sets the tileset. + */ + tileset: Cesium3DTilesetGraphics | undefined; + /** + * Gets or sets the orientation. + */ + orientation: Property | undefined; + /** + * Gets or sets the path. + */ + path: PathGraphics | undefined; + /** + * Gets or sets the plane. + */ + plane: PlaneGraphics | undefined; + /** + * Gets or sets the point graphic. + */ + point: PointGraphics | undefined; + /** + * Gets or sets the polygon. + */ + polygon: PolygonGraphics | undefined; + /** + * Gets or sets the polyline. + */ + polyline: PolylineGraphics | undefined; + /** + * Gets or sets the polyline volume. + */ + polylineVolume: PolylineVolumeGraphics | undefined; + /** + * Gets or sets the bag of arbitrary properties associated with this entity. + */ + properties: PropertyBag | undefined; + /** + * Gets or sets the position. + */ + position: PositionProperty | undefined; + /** + * Gets or sets the rectangle. + */ + rectangle: RectangleGraphics | undefined; + /** + * Gets or sets the suggested initial offset when tracking this object. + * The offset is typically defined in the east-north-up reference frame, + * but may be another frame depending on the object's velocity. + */ + viewFrom: Property | undefined; + /** + * Gets or sets the wall. + */ + wall: WallGraphics | undefined; + /** + * Given a time, returns true if this object should have data during that time. + * @param time - The time to check availability for. + * @returns true if the object should have data during the provided time, false otherwise. + */ + isAvailable(time: JulianDate): boolean; + /** + * Adds a property to this object. Once a property is added, it can be + * observed with {@link Entity#definitionChanged} and composited + * with {@link CompositeEntityCollection} + * @param propertyName - The name of the property to add. + */ + addProperty(propertyName: string): void; + /** + * Removed a property previously added with addProperty. + * @param propertyName - The name of the property to remove. + */ + removeProperty(propertyName: string): void; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: Entity): void; + /** + * Computes the model matrix for the entity's transform at specified time. Returns undefined if orientation or position + * are undefined. + * @param time - The time to retrieve model matrix for. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new Matrix4 instance if one was not provided. Result is undefined if position or orientation are undefined. + */ + computeModelMatrix(time: JulianDate, result?: Matrix4): Matrix4; + /** + * Checks if the given Scene supports materials besides Color on Entities draped on terrain or 3D Tiles. + * If this feature is not supported, Entities with non-color materials but no `height` will + * instead be rendered as if height is 0. + * @param scene - The current scene. + * @returns Whether or not the current scene supports materials for entities on terrain. + */ + static supportsMaterialsforEntitiesOnTerrain(scene: Scene): boolean; + /** + * Checks if the given Scene supports polylines clamped to terrain or 3D Tiles. + * If this feature is not supported, Entities with PolylineGraphics will be rendered with vertices at + * the provided heights and using the `arcType` parameter instead of clamped to the ground. + * @param scene - The current scene. + * @returns Whether or not the current scene supports polylines on terrain or 3D TIles. + */ + static supportsPolylinesOnTerrain(scene: Scene): boolean; +} + +/** + * Defines how screen space objects (billboards, points, labels) are clustered. + * @param [options] - An object with the following properties: + * @param [options.enabled = false] - Whether or not to enable clustering. + * @param [options.pixelRange = 80] - The pixel range to extend the screen space bounding box. + * @param [options.minimumClusterSize = 2] - The minimum number of screen space objects that can be clustered. + * @param [options.clusterBillboards = true] - Whether or not to cluster the billboards of an entity. + * @param [options.clusterLabels = true] - Whether or not to cluster the labels of an entity. + * @param [options.clusterPoints = true] - Whether or not to cluster the points of an entity. + */ +export class EntityCluster { + constructor(options?: { + enabled?: boolean; + pixelRange?: number; + minimumClusterSize?: number; + clusterBillboards?: boolean; + clusterLabels?: boolean; + clusterPoints?: boolean; + }); + /** + * Gets or sets whether clustering is enabled. + */ + enabled: boolean; + /** + * Gets or sets the pixel range to extend the screen space bounding box. + */ + pixelRange: number; + /** + * Gets or sets the minimum number of screen space objects that can be clustered. + */ + minimumClusterSize: number; + /** + * Gets the event that will be raised when a new cluster will be displayed. The signature of the event listener is {@link EntityCluster.newClusterCallback}. + */ + clusterEvent: Event; + /** + * Gets or sets whether clustering billboard entities is enabled. + */ + clusterBillboards: boolean; + /** + * Gets or sets whether clustering labels entities is enabled. + */ + clusterLabels: boolean; + /** + * Gets or sets whether clustering point entities is enabled. + */ + clusterPoints: boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Unlike other objects that use WebGL resources, this object can be reused. For example, if a data source is removed + * from a data source collection and added to another. + *

+ */ + destroy(): void; +} + +export namespace EntityCluster { + /** + * A event listener function used to style clusters. + * @example + * // The default cluster values. + * dataSource.clustering.clusterEvent.addEventListener(function(entities, cluster) { + * cluster.label.show = true; + * cluster.label.text = entities.length.toLocaleString(); + * }); + * @param clusteredEntities - An array of the entities contained in the cluster. + * @param cluster - An object containing billboard, label, and point properties. The values are the same as + * billboard, label and point entities, but must be the values of the ConstantProperty. + */ + type newClusterCallback = (clusteredEntities: Entity[], cluster: any) => void; +} + +/** + * An observable collection of {@link Entity} instances where each entity has a unique id. + * @param [owner] - The data source (or composite entity collection) which created this collection. + */ +export class EntityCollection { + constructor(owner?: DataSource | CompositeEntityCollection); + /** + * Prevents {@link EntityCollection#collectionChanged} events from being raised + * until a corresponding call is made to {@link EntityCollection#resumeEvents}, at which + * point a single event will be raised that covers all suspended operations. + * This allows for many items to be added and removed efficiently. + * This function can be safely called multiple times as long as there + * are corresponding calls to {@link EntityCollection#resumeEvents}. + */ + suspendEvents(): void; + /** + * Resumes raising {@link EntityCollection#collectionChanged} events immediately + * when an item is added or removed. Any modifications made while while events were suspended + * will be triggered as a single event when this function is called. + * This function is reference counted and can safely be called multiple times as long as there + * are corresponding calls to {@link EntityCollection#resumeEvents}. + */ + resumeEvents(): void; + /** + * The signature of the event generated by {@link EntityCollection#collectionChanged}. + * @param collection - The collection that triggered the event. + * @param added - The array of {@link Entity} instances that have been added to the collection. + * @param removed - The array of {@link Entity} instances that have been removed from the collection. + * @param changed - The array of {@link Entity} instances that have been modified. + */ + static collectionChangedEventCallback(collection: EntityCollection, added: Entity[], removed: Entity[], changed: Entity[]): void; + /** + * Gets the event that is fired when entities are added or removed from the collection. + * The generated event is a {@link EntityCollection.collectionChangedEventCallback}. + */ + readonly collectionChanged: Event; + /** + * Gets a globally unique identifier for this collection. + */ + readonly id: string; + /** + * Gets the array of Entity instances in the collection. + * This array should not be modified directly. + */ + readonly values: Entity[]; + /** + * Gets whether or not this entity collection should be + * displayed. When true, each entity is only displayed if + * its own show property is also true. + */ + show: boolean; + /** + * Gets the owner of this entity collection, ie. the data source or composite entity collection which created it. + */ + readonly owner: DataSource | CompositeEntityCollection; + /** + * Computes the maximum availability of the entities in the collection. + * If the collection contains a mix of infinitely available data and non-infinite data, + * it will return the interval pertaining to the non-infinite data only. If all + * data is infinite, an infinite interval will be returned. + * @returns The availability of entities in the collection. + */ + computeAvailability(): TimeInterval; + /** + * Add an entity to the collection. + * @param entity - The entity to be added. + * @returns The entity that was added. + */ + add(entity: Entity | Entity.ConstructorOptions): Entity; + /** + * Removes an entity from the collection. + * @param entity - The entity to be removed. + * @returns true if the item was removed, false if it did not exist in the collection. + */ + remove(entity: Entity): boolean; + /** + * Returns true if the provided entity is in this collection, false otherwise. + * @param entity - The entity. + * @returns true if the provided entity is in this collection, false otherwise. + */ + contains(entity: Entity): boolean; + /** + * Removes an entity with the provided id from the collection. + * @param id - The id of the entity to remove. + * @returns true if the item was removed, false if no item with the provided id existed in the collection. + */ + removeById(id: string): boolean; + /** + * Removes all Entities from the collection. + */ + removeAll(): void; + /** + * Gets an entity with the specified id. + * @param id - The id of the entity to retrieve. + * @returns The entity with the provided id or undefined if the id did not exist in the collection. + */ + getById(id: string): Entity | undefined; + /** + * Gets an entity with the specified id or creates it and adds it to the collection if it does not exist. + * @param id - The id of the entity to retrieve or create. + * @returns The new or existing object. + */ + getOrCreateEntity(id: string): Entity; +} + +/** + * A utility object for tracking an entity with the camera. + * @param entity - The entity to track with the camera. + * @param scene - The scene to use. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid to use for orienting the camera. + */ +export class EntityView { + constructor(entity: Entity, scene: Scene, ellipsoid?: Ellipsoid); + /** + * The entity to track with the camera. + */ + entity: Entity; + /** + * The scene in which to track the object. + */ + scene: Scene; + /** + * The ellipsoid to use for orienting the camera. + */ + ellipsoid: Ellipsoid; + /** + * The bounding sphere of the object. + */ + boundingSphere: BoundingSphere; + /** + * Gets or sets a camera offset that will be used to + * initialize subsequent EntityViews. + */ + static defaultOffset3D: Cartesian3; + /** + * Should be called each animation frame to update the camera + * to the latest settings. + * @param time - The current animation time. + * @param [boundingSphere] - bounding sphere of the object. + */ + update(time: JulianDate, boundingSphere?: BoundingSphere): void; +} + +/** + * @property kml - The generated KML. + * @property externalFiles - An object dictionary of external files + */ +export type exportKmlResultKml = { + kml: string; + externalFiles: { + [key: string]: Blob; + }; +}; + +/** + * @property kmz - The generated kmz file. + */ +export type exportKmlResultKmz = { + kmz: Blob; +}; + +/** + * Exports an EntityCollection as a KML document. Only Point, Billboard, Model, Path, Polygon, Polyline geometries + * will be exported. Note that there is not a 1 to 1 mapping of Entity properties to KML Feature properties. For + * example, entity properties that are time dynamic but cannot be dynamic in KML are exported with their values at + * options.time or the beginning of the EntityCollection's time interval if not specified. For time-dynamic properties + * that are supported in KML, we use the samples if it is a {@link SampledProperty} otherwise we sample the value using + * the options.sampleDuration. Point, Billboard, Model and Path geometries with time-dynamic positions will be exported + * as gx:Track Features. Not all Materials are representable in KML, so for more advanced Materials just the primary + * color is used. Canvas objects are exported as PNG images. + * @example + * Cesium.exportKml({ + * entities: entityCollection + * }) + * .then(function(result) { + * // The XML string is in result.kml + * + * var externalFiles = result.externalFiles + * for(var file in externalFiles) { + * // file is the name of the file used in the KML document as the href + * // externalFiles[file] is a blob with the contents of the file + * } + * }); + * @param options - An object with the following properties: + * @param options.entities - The EntityCollection to export as KML. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid for the output file. + * @param [options.modelCallback] - A callback that will be called with a {@link ModelGraphics} instance and should return the URI to use in the KML. Required if a model exists in the entity collection. + * @param [options.time = entities.computeAvailability().start] - The time value to use to get properties that are not time varying in KML. + * @param [options.defaultAvailability = entities.computeAvailability()] - The interval that will be sampled if an entity doesn't have an availability. + * @param [options.sampleDuration = 60] - The number of seconds to sample properties that are varying in KML. + * @param [options.kmz = false] - If true KML and external files will be compressed into a kmz file. + * @returns A promise that resolved to an object containing the KML string and a dictionary of external file blobs, or a kmz file as a blob if options.kmz is true. + */ +export function exportKml(options: { + entities: EntityCollection; + ellipsoid?: Ellipsoid; + modelCallback?: exportKmlModelCallback; + time?: JulianDate; + defaultAvailability?: TimeInterval; + sampleDuration?: number; + kmz?: boolean; +}): Promise; + +/** + * Since KML does not support glTF models, this callback is required to specify what URL to use for the model in the KML document. + * It can also be used to add additional files to the externalFiles object, which is the list of files embedded in the exported KMZ, + * or otherwise returned with the KML string when exporting. + * @param model - The ModelGraphics instance for an Entity. + * @param time - The time that any properties should use to get the value. + * @param externalFiles - An object that maps a filename to a Blob or a Promise that resolves to a Blob. + */ +export type exportKmlModelCallback = (model: ModelGraphics, time: JulianDate, externalFiles: any) => string; + +export namespace GeoJsonDataSource { + /** + * Initialization options for the `load` method. + * @property [sourceUri] - Overrides the url to use for resolving relative links. + * @property [markerSize = GeoJsonDataSource.markerSize] - The default size of the map pin created for each point, in pixels. + * @property [markerSymbol = GeoJsonDataSource.markerSymbol] - The default symbol of the map pin created for each point. + * @property [markerColor = GeoJsonDataSource.markerColor] - The default color of the map pin created for each point. + * @property [stroke = GeoJsonDataSource.stroke] - The default color of polylines and polygon outlines. + * @property [strokeWidth = GeoJsonDataSource.strokeWidth] - The default width of polylines and polygon outlines. + * @property [fill = GeoJsonDataSource.fill] - The default color for polygon interiors. + * @property [clampToGround = GeoJsonDataSource.clampToGround] - true if we want the geometry features (polygons or linestrings) clamped to the ground. + * @property [credit] - A credit for the data source, which is displayed on the canvas. + */ + type LoadOptions = { + sourceUri?: string; + markerSize?: number; + markerSymbol?: string; + markerColor?: Color; + stroke?: Color; + strokeWidth?: number; + fill?: Color; + clampToGround?: boolean; + credit?: Credit | string; + }; + /** + * This callback is displayed as part of the GeoJsonDataSource class. + * @param properties - The properties of the feature. + * @param nameProperty - The property key that Cesium estimates to have the name of the feature. + */ + type describe = (properties: any, nameProperty: string) => void; +} + +/** + * A {@link DataSource} which processes both + * {@link http://www.geojson.org/|GeoJSON} and {@link https://github.com/mbostock/topojson|TopoJSON} data. + * {@link https://github.com/mapbox/simplestyle-spec|simplestyle-spec} properties will also be used if they + * are present. + * @example + * var viewer = new Cesium.Viewer('cesiumContainer'); + * viewer.dataSources.add(Cesium.GeoJsonDataSource.load('../../SampleData/ne_10m_us_states.topojson', { + * stroke: Cesium.Color.HOTPINK, + * fill: Cesium.Color.PINK, + * strokeWidth: 3, + * markerSymbol: '?' + * })); + * @param [name] - The name of this data source. If undefined, a name will be taken from + * the name of the GeoJSON file. + */ +export class GeoJsonDataSource { + constructor(name?: string); + /** + * Creates a Promise to a new instance loaded with the provided GeoJSON or TopoJSON data. + * @param data - A url, GeoJSON object, or TopoJSON object to be loaded. + * @param [options] - An object specifying configuration options + * @returns A promise that will resolve when the data is loaded. + */ + static load(data: Resource | string | any, options?: GeoJsonDataSource.LoadOptions): Promise; + /** + * Gets or sets the default size of the map pin created for each point, in pixels. + */ + static markerSize: number; + /** + * Gets or sets the default symbol of the map pin created for each point. + * This can be any valid {@link http://mapbox.com/maki/|Maki} identifier, any single character, + * or blank if no symbol is to be used. + */ + static markerSymbol: string; + /** + * Gets or sets the default color of the map pin created for each point. + */ + static markerColor: Color; + /** + * Gets or sets the default color of polylines and polygon outlines. + */ + static stroke: Color; + /** + * Gets or sets the default width of polylines and polygon outlines. + */ + static strokeWidth: number; + /** + * Gets or sets default color for polygon interiors. + */ + static fill: Color; + /** + * Gets or sets default of whether to clamp to the ground. + */ + static clampToGround: boolean; + /** + * Gets an object that maps the name of a crs to a callback function which takes a GeoJSON coordinate + * and transforms it into a WGS84 Earth-fixed Cartesian. Older versions of GeoJSON which + * supported the EPSG type can be added to this list as well, by specifying the complete EPSG name, + * for example 'EPSG:4326'. + */ + static crsNames: any; + /** + * Gets an object that maps the href property of a crs link to a callback function + * which takes the crs properties object and returns a Promise that resolves + * to a function that takes a GeoJSON coordinate and transforms it into a WGS84 Earth-fixed Cartesian. + * Items in this object take precedence over those defined in crsLinkHrefs, assuming + * the link has a type specified. + */ + static crsLinkHrefs: any; + /** + * Gets an object that maps the type property of a crs link to a callback function + * which takes the crs properties object and returns a Promise that resolves + * to a function that takes a GeoJSON coordinate and transforms it into a WGS84 Earth-fixed Cartesian. + * Items in crsLinkHrefs take precedence over this object. + */ + static crsLinkTypes: any; + /** + * Gets or sets a human-readable name for this instance. + */ + name: string; + /** + * This DataSource only defines static data, therefore this property is always undefined. + */ + clock: DataSourceClock; + /** + * Gets the collection of {@link Entity} instances. + */ + entities: EntityCollection; + /** + * Gets a value indicating if the data source is currently loading data. + */ + isLoading: boolean; + /** + * Gets an event that will be raised when the underlying data changes. + */ + changedEvent: Event; + /** + * Gets an event that will be raised if an error is encountered during processing. + */ + errorEvent: Event; + /** + * Gets an event that will be raised when the data source either starts or stops loading. + */ + loadingEvent: Event; + /** + * Gets whether or not this data source should be displayed. + */ + show: boolean; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + */ + clustering: EntityCluster; + /** + * Gets the credit that will be displayed for the data source + */ + credit: Credit; + /** + * Asynchronously loads the provided GeoJSON or TopoJSON data, replacing any existing data. + * @param data - A url, GeoJSON object, or TopoJSON object to be loaded. + * @param [options] - An object with the following properties: + * @param [options.sourceUri] - Overrides the url to use for resolving relative links. + * @param [options.describe = GeoJsonDataSource.defaultDescribeProperty] - A function which returns a Property object (or just a string), + * which converts the properties into an html description. + * @param [options.markerSize = GeoJsonDataSource.markerSize] - The default size of the map pin created for each point, in pixels. + * @param [options.markerSymbol = GeoJsonDataSource.markerSymbol] - The default symbol of the map pin created for each point. + * @param [options.markerColor = GeoJsonDataSource.markerColor] - The default color of the map pin created for each point. + * @param [options.stroke = GeoJsonDataSource.stroke] - The default color of polylines and polygon outlines. + * @param [options.strokeWidth = GeoJsonDataSource.strokeWidth] - The default width of polylines and polygon outlines. + * @param [options.fill = GeoJsonDataSource.fill] - The default color for polygon interiors. + * @param [options.clampToGround = GeoJsonDataSource.clampToGround] - true if we want the features clamped to the ground. + * @param [options.credit] - A credit for the data source, which is displayed on the canvas. + * @returns a promise that will resolve when the GeoJSON is loaded. + */ + load(data: Resource | string | any, options?: { + sourceUri?: string; + describe?: GeoJsonDataSource.describe; + markerSize?: number; + markerSymbol?: string; + markerColor?: Color; + stroke?: Color; + strokeWidth?: number; + fill?: Color; + clampToGround?: boolean; + credit?: Credit | string; + }): Promise; + /** + * Updates the data source to the provided time. This function is optional and + * is not required to be implemented. It is provided for data sources which + * retrieve data based on the current animation time or scene state. + * If implemented, update will be called by {@link DataSourceDisplay} once a frame. + * @param time - The simulation time. + * @returns True if this data source is ready to be displayed at the provided time, false otherwise. + */ + update(time: JulianDate): boolean; +} + +/** + * An abstract class for updating geometry entities. + * @param options - An object with the following properties: + * @param options.entity - The entity containing the geometry to be visualized. + * @param options.scene - The scene where visualization is taking place. + * @param options.geometryOptions - Options for the geometry + * @param options.geometryPropertyName - The geometry property name + * @param options.observedPropertyNames - The entity properties this geometry cares about + */ +export class GeometryUpdater { + constructor(options: { + entity: Entity; + scene: Scene; + geometryOptions: any; + geometryPropertyName: string; + observedPropertyNames: string[]; + }); + /** + * Gets the unique ID associated with this updater + */ + readonly id: string; + /** + * Gets the entity associated with this geometry. + */ + readonly entity: Entity; + /** + * Gets a value indicating if the geometry has a fill component. + */ + readonly fillEnabled: boolean; + /** + * Gets a value indicating if fill visibility varies with simulation time. + */ + readonly hasConstantFill: boolean; + /** + * Gets the material property used to fill the geometry. + */ + readonly fillMaterialProperty: MaterialProperty; + /** + * Gets a value indicating if the geometry has an outline component. + */ + readonly outlineEnabled: boolean; + /** + * Gets a value indicating if the geometry has an outline component. + */ + readonly hasConstantOutline: boolean; + /** + * Gets the {@link Color} property for the geometry outline. + */ + readonly outlineColorProperty: Property; + /** + * Gets the constant with of the geometry outline, in pixels. + * This value is only valid if isDynamic is false. + */ + readonly outlineWidth: number; + /** + * Gets the property specifying whether the geometry + * casts or receives shadows from light sources. + */ + readonly shadowsProperty: Property; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this geometry will be displayed. + */ + readonly distanceDisplayConditionProperty: Property; + /** + * Gets or sets the {@link ClassificationType} Property specifying if this geometry will classify terrain, 3D Tiles, or both when on the ground. + */ + readonly classificationTypeProperty: Property; + /** + * Gets a value indicating if the geometry is time-varying. + * If true, all visualization is delegated to a DynamicGeometryUpdater + * returned by GeometryUpdater#createDynamicUpdater. + */ + readonly isDynamic: boolean; + /** + * Gets a value indicating if the geometry is closed. + * This property is only valid for static geometry. + */ + readonly isClosed: boolean; + /** + * Gets an event that is raised whenever the public properties + * of this updater change. + */ + readonly geometryChanged: boolean; + /** + * Checks if the geometry is outlined at the provided time. + * @param time - The time for which to retrieve visibility. + * @returns true if geometry is outlined at the provided time, false otherwise. + */ + isOutlineVisible(time: JulianDate): boolean; + /** + * Checks if the geometry is filled at the provided time. + * @param time - The time for which to retrieve visibility. + * @returns true if geometry is filled at the provided time, false otherwise. + */ + isFilled(time: JulianDate): boolean; + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys and resources used by the object. Once an object is destroyed, it should not be used. + */ + destroy(): void; +} + +/** + * A general purpose visualizer for geometry represented by {@link Primitive} instances. + * @param scene - The scene the primitives will be rendered in. + * @param entityCollection - The entityCollection to visualize. + * @param [primitives = scene.primitives] - A collection to add primitives related to the entities + * @param [groundPrimitives = scene.groundPrimitives] - A collection to add ground primitives related to the entities + */ +export class GeometryVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection, primitives?: PrimitiveCollection, groundPrimitives?: PrimitiveCollection); + /** + * Updates all of the primitives created by this visualizer to match their + * Entity counterpart at the given time. + * @param time - The time to update to. + * @returns True if the visualizer successfully updated to the provided time, + * false if the visualizer is waiting for asynchronous primitives to be created. + */ + update(time: JulianDate): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes and destroys all primitives created by this instance. + */ + destroy(): void; +} + +/** + * A {@link MaterialProperty} that maps to grid {@link Material} uniforms. + * @param [options] - Object with the following properties: + * @param [options.color = Color.WHITE] - A Property specifying the grid {@link Color}. + * @param [options.cellAlpha = 0.1] - A numeric Property specifying cell alpha values. + * @param [options.lineCount = new Cartesian2(8, 8)] - A {@link Cartesian2} Property specifying the number of grid lines along each axis. + * @param [options.lineThickness = new Cartesian2(1.0, 1.0)] - A {@link Cartesian2} Property specifying the thickness of grid lines along each axis. + * @param [options.lineOffset = new Cartesian2(0.0, 0.0)] - A {@link Cartesian2} Property specifying starting offset of grid lines along each axis. + */ +export class GridMaterialProperty { + constructor(options?: { + color?: Property | Color; + cellAlpha?: Property | number; + lineCount?: Property | Cartesian2; + lineThickness?: Property | Cartesian2; + lineOffset?: Property | Cartesian2; + }); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the Property specifying the grid {@link Color}. + */ + color: Property | undefined; + /** + * Gets or sets the numeric Property specifying cell alpha values. + */ + cellAlpha: Property | undefined; + /** + * Gets or sets the {@link Cartesian2} Property specifying the number of grid lines along each axis. + */ + lineCount: Property | undefined; + /** + * Gets or sets the {@link Cartesian2} Property specifying the thickness of grid lines along each axis. + */ + lineThickness: Property | undefined; + /** + * Gets or sets the {@link Cartesian2} Property specifying the starting offset of grid lines along each axis. + */ + lineOffset: Property | undefined; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * An abstract class for updating ground geometry entities. + * @param options - An object with the following properties: + * @param options.entity - The entity containing the geometry to be visualized. + * @param options.scene - The scene where visualization is taking place. + * @param options.geometryOptions - Options for the geometry + * @param options.geometryPropertyName - The geometry property name + * @param options.observedPropertyNames - The entity properties this geometry cares about + */ +export class GroundGeometryUpdater { + constructor(options: { + entity: Entity; + scene: Scene; + geometryOptions: any; + geometryPropertyName: string; + observedPropertyNames: string[]; + }); + /** + * Gets the zindex + */ + readonly zIndex: number; + /** + * Destroys and resources used by the object. Once an object is destroyed, it should not be used. + */ + destroy(): void; +} + +/** + * A {@link MaterialProperty} that maps to image {@link Material} uniforms. + * @param [options] - Object with the following properties: + * @param [options.image] - A Property specifying the Image, URL, Canvas, or Video. + * @param [options.repeat = new Cartesian2(1.0, 1.0)] - A {@link Cartesian2} Property specifying the number of times the image repeats in each direction. + * @param [options.color = Color.WHITE] - The color applied to the image + * @param [options.transparent = false] - Set to true when the image has transparency (for example, when a png has transparent sections) + */ +export class ImageMaterialProperty { + constructor(options?: { + image?: Property | string | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; + repeat?: Property | Cartesian2; + color?: Property | Color; + transparent?: Property | boolean; + }); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the Property specifying Image, URL, Canvas, or Video to use. + */ + image: Property | undefined; + /** + * Gets or sets the {@link Cartesian2} Property specifying the number of times the image repeats in each direction. + */ + repeat: Property | undefined; + /** + * Gets or sets the Color Property specifying the desired color applied to the image. + */ + color: Property | undefined; + /** + * Gets or sets the Boolean Property specifying whether the image has transparency + */ + transparent: Property | undefined; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * Representation of from KML + * @param position - camera position + * @param headingPitchRoll - camera orientation + */ +export class KmlCamera { + constructor(position: Cartesian3, headingPitchRoll: HeadingPitchRoll); +} + +export namespace KmlDataSource { + /** + * Initialization options for the `load` method. + * @property camera - The camera that is used for viewRefreshModes and sending camera properties to network links. + * @property canvas - The canvas that is used for sending viewer properties to network links. + * @property [sourceUri] - Overrides the url to use for resolving relative links and other KML network features. + * @property [clampToGround = false] - true if we want the geometry features (Polygons, LineStrings and LinearRings) clamped to the ground. + * @property [ellipsoid = Ellipsoid.WGS84] - The global ellipsoid used for geographical calculations. + * @property [credit] - A credit for the data source, which is displayed on the canvas. + */ + type LoadOptions = { + camera: Camera; + canvas: HTMLCanvasElement; + sourceUri?: string; + clampToGround?: boolean; + ellipsoid?: Ellipsoid; + credit?: Credit | string; + }; +} + +/** + * A {@link DataSource} which processes Keyhole Markup Language 2.2 (KML). + *

+ * KML support in Cesium is incomplete, but a large amount of the standard, + * as well as Google's gx extension namespace, is supported. See Github issue + * {@link https://github.com/CesiumGS/cesium/issues/873|#873} for a + * detailed list of what is and isn't support. Cesium will also write information to the + * console when it encounters most unsupported features. + *

+ *

+ * Non visual feature data, such as atom:author and ExtendedData + * is exposed via an instance of {@link KmlFeatureData}, which is added to each {@link Entity} + * under the kml property. + *

+ * @example + * var viewer = new Cesium.Viewer('cesiumContainer'); + * viewer.dataSources.add(Cesium.KmlDataSource.load('../../SampleData/facilities.kmz', + * { + * camera: viewer.scene.camera, + * canvas: viewer.scene.canvas + * }) + * ); + * @param options - An object with the following properties: + * @param options.camera - The camera that is used for viewRefreshModes and sending camera properties to network links. + * @param options.canvas - The canvas that is used for sending viewer properties to network links. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The global ellipsoid used for geographical calculations. + * @param [options.credit] - A credit for the data source, which is displayed on the canvas. + */ +export class KmlDataSource { + constructor(options: { + camera: Camera; + canvas: HTMLCanvasElement; + ellipsoid?: Ellipsoid; + credit?: Credit | string; + }); + /** + * Creates a Promise to a new instance loaded with the provided KML data. + * @param data - A url, parsed KML document, or Blob containing binary KMZ data or a parsed KML document. + * @param [options] - An object specifying configuration options + * @returns A promise that will resolve to a new KmlDataSource instance once the KML is loaded. + */ + static load(data: Resource | string | Document | Blob, options?: KmlDataSource.LoadOptions): Promise; + /** + * Gets or sets a human-readable name for this instance. + * This will be automatically be set to the KML document name on load. + */ + name: string; + /** + * Gets the clock settings defined by the loaded KML. This represents the total + * availability interval for all time-dynamic data. If the KML does not contain + * time-dynamic data, this value is undefined. + */ + clock: DataSourceClock; + /** + * Gets the collection of {@link Entity} instances. + */ + entities: EntityCollection; + /** + * Gets a value indicating if the data source is currently loading data. + */ + isLoading: boolean; + /** + * Gets an event that will be raised when the underlying data changes. + */ + changedEvent: Event; + /** + * Gets an event that will be raised if an error is encountered during processing. + */ + errorEvent: Event; + /** + * Gets an event that will be raised when the data source either starts or stops loading. + */ + loadingEvent: Event; + /** + * Gets an event that will be raised when the data source refreshes a network link. + */ + refreshEvent: Event; + /** + * Gets an event that will be raised when the data source finds an unsupported node type. + */ + unsupportedNodeEvent: Event; + /** + * Gets whether or not this data source should be displayed. + */ + show: boolean; + /** + * Gets or sets the clustering options for this data source. This object can be shared between multiple data sources. + */ + clustering: EntityCluster; + /** + * Gets the credit that will be displayed for the data source + */ + credit: Credit; + /** + * Asynchronously loads the provided KML data, replacing any existing data. + * @param data - A url, parsed KML document, or Blob containing binary KMZ data or a parsed KML document. + * @param [options] - An object with the following properties: + * @param [options.sourceUri] - Overrides the url to use for resolving relative links and other KML network features. + * @param [options.clampToGround = false] - true if we want the geometry features (Polygons, LineStrings and LinearRings) clamped to the ground. If true, lines will use corridors so use Entity.corridor instead of Entity.polyline. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The global ellipsoid used for geographical calculations. + * @returns A promise that will resolve to this instances once the KML is loaded. + */ + load(data: Resource | string | Document | Blob, options?: { + sourceUri?: Resource | string; + clampToGround?: boolean; + ellipsoid?: Ellipsoid; + }): Promise; + /** + * Updates any NetworkLink that require updating. + * @param time - The simulation time. + * @returns True if this data source is ready to be displayed at the provided time, false otherwise. + */ + update(time: JulianDate): boolean; +} + +/** + * Contains KML Feature data loaded into the Entity.kml property by {@link KmlDataSource}. + */ +export class KmlFeatureData { + constructor(); + /** + * Gets the atom syndication format author field. + */ + author: KmlFeatureData.Author; + /** + * Gets the link. + */ + link: KmlFeatureData.Link; + /** + * Gets the unstructured address field. + */ + address: string; + /** + * Gets the phone number. + */ + phoneNumber: string; + /** + * Gets the snippet. + */ + snippet: string; + /** + * Gets the extended data, parsed into a JSON object. + * Currently only the Data property is supported. + * SchemaData and custom data are ignored. + */ + extendedData: string; +} + +export namespace KmlFeatureData { + /** + * @property name - Gets the name. + * @property uri - Gets the URI. + * @property age - Gets the email. + */ + type Author = { + name: string; + uri: string; + age: number; + }; + /** + * @property href - Gets the href. + * @property hreflang - Gets the language of the linked resource. + * @property rel - Gets the link relation. + * @property type - Gets the link type. + * @property title - Gets the link title. + * @property length - Gets the link length. + */ + type Link = { + href: string; + hreflang: string; + rel: string; + type: string; + title: string; + length: string; + }; +} + +/** + * @param position - camera position + * @param headingPitchRange - camera orientation + */ +export class KmlLookAt { + constructor(position: Cartesian3, headingPitchRange: HeadingPitchRange); +} + +/** + * @param name - name parsed from KML + * @param id - id parsed from KML + * @param playlist - array with KMLTourFlyTos, KMLTourWaits and KMLTourSoundCues + */ +export class KmlTour { + constructor(name: string, id: string, playlist: any[]); + /** + * Id of kml gx:Tour entry + */ + id: string; + /** + * Tour name + */ + name: string; + /** + * Index of current entry from playlist + */ + playlistIndex: number; + /** + * Array of playlist entries + */ + playlist: any[]; + /** + * Event will be called when tour starts to play, + * before any playlist entry starts to play. + */ + tourStart: Event; + /** + * Event will be called when all playlist entries are + * played, or tour playback being canceled. + * + * If tour playback was terminated, event callback will + * be called with terminated=true parameter. + */ + tourEnd: Event; + /** + * Event will be called when entry from playlist starts to play. + * + * Event callback will be called with curent entry as first parameter. + */ + entryStart: Event; + /** + * Event will be called when entry from playlist ends to play. + * + * Event callback will be called with following parameters: + * 1. entry - entry + * 2. terminated - true if playback was terminated by calling {@link KmlTour#stop} + */ + entryEnd: Event; + /** + * Add entry to this tour playlist. + * @param entry - an entry to add to the playlist. + */ + addPlaylistEntry(entry: KmlTourFlyTo | KmlTourWait): void; + /** + * Play this tour. + * @param viewer - viewer widget. + * @param [cameraOptions] - these options will be merged with {@link Camera#flyTo} + * options for FlyTo playlist entries. + */ + play(viewer: Viewer, cameraOptions?: any): void; + /** + * Stop curently playing tour. + */ + stop(): void; +} + +/** + * @param duration - entry duration + * @param flyToMode - KML fly to mode: bounce, smooth, etc + * @param view - KmlCamera or KmlLookAt + */ +export class KmlTourFlyTo { + constructor(duration: number, flyToMode: string, view: KmlCamera | KmlLookAt); + /** + * Play this playlist entry + * @param done - function which will be called when playback ends + * @param camera - Cesium camera + * @param [cameraOptions] - which will be merged with camera flyTo options. See {@link Camera#flyTo} + */ + play(done: KmlTourFlyTo.DoneCallback, camera: Camera, cameraOptions?: any): void; + /** + * Stop execution of curent entry. Cancel camera flyTo + */ + stop(): void; + /** + * Returns options for {@link Camera#flyTo} or {@link Camera#flyToBoundingSphere} + * depends on this.view type. + * @param cameraOptions - options to merge with generated. See {@link Camera#flyTo} + * @returns {@link Camera#flyTo} or {@link Camera#flyToBoundingSphere} options + */ + getCameraOptions(cameraOptions: any): any; +} + +export namespace KmlTourFlyTo { + /** + * A function that will be executed when the flight completes. + * @param terminated - true if {@link KmlTourFlyTo#stop} was + * called before entry done playback. + */ + type DoneCallback = (terminated: boolean) => void; +} + +/** + * @param duration - entry duration + */ +export class KmlTourWait { + constructor(duration: number); + /** + * Play this playlist entry + * @param done - function which will be called when playback ends + */ + play(done: KmlTourWait.DoneCallback): void; + /** + * Stop execution of curent entry, cancel curent timeout + */ + stop(): void; +} + +export namespace KmlTourWait { + /** + * A function which will be called when playback ends. + * @param terminated - true if {@link KmlTourWait#stop} was + * called before entry done playback. + */ + type DoneCallback = (terminated: boolean) => void; +} + +export namespace LabelGraphics { + /** + * Initialization options for the LabelGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the label. + * @property [text] - A Property specifying the text. Explicit newlines '\n' are supported. + * @property [font = '30px sans-serif'] - A Property specifying the CSS font. + * @property [style = LabelStyle.FILL] - A Property specifying the {@link LabelStyle}. + * @property [scale = 1.0] - A numeric Property specifying the scale to apply to the text. + * @property [showBackground = false] - A boolean Property specifying the visibility of the background behind the label. + * @property [backgroundColor = new Color(0.165, 0.165, 0.165, 0.8)] - A Property specifying the background {@link Color}. + * @property [backgroundPadding = new Cartesian2(7, 5)] - A {@link Cartesian2} Property specifying the horizontal and vertical background padding in pixels. + * @property [pixelOffset = Cartesian2.ZERO] - A {@link Cartesian2} Property specifying the pixel offset. + * @property [eyeOffset = Cartesian3.ZERO] - A {@link Cartesian3} Property specifying the eye offset. + * @property [horizontalOrigin = HorizontalOrigin.CENTER] - A Property specifying the {@link HorizontalOrigin}. + * @property [verticalOrigin = VerticalOrigin.CENTER] - A Property specifying the {@link VerticalOrigin}. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height is relative to. + * @property [fillColor = Color.WHITE] - A Property specifying the fill {@link Color}. + * @property [outlineColor = Color.BLACK] - A Property specifying the outline {@link Color}. + * @property [outlineWidth = 1.0] - A numeric Property specifying the outline width. + * @property [translucencyByDistance] - A {@link NearFarScalar} Property used to set translucency based on distance from the camera. + * @property [pixelOffsetScaleByDistance] - A {@link NearFarScalar} Property used to set pixelOffset based on distance from the camera. + * @property [scaleByDistance] - A {@link NearFarScalar} Property used to set scale based on distance from the camera. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this label will be displayed. + * @property [disableDepthTestDistance] - A Property specifying the distance from the camera at which to disable the depth test to. + */ + type ConstructorOptions = { + show?: Property | boolean; + text?: Property | string; + font?: Property | string; + style?: Property | LabelStyle; + scale?: Property | number; + showBackground?: Property | boolean; + backgroundColor?: Property | Color; + backgroundPadding?: Property | Cartesian2; + pixelOffset?: Property | Cartesian2; + eyeOffset?: Property | Cartesian3; + horizontalOrigin?: Property | HorizontalOrigin; + verticalOrigin?: Property | VerticalOrigin; + heightReference?: Property | HeightReference; + fillColor?: Property | Color; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + translucencyByDistance?: Property | NearFarScalar; + pixelOffsetScaleByDistance?: Property | NearFarScalar; + scaleByDistance?: Property | NearFarScalar; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + disableDepthTestDistance?: Property | number; + }; +} + +/** + * Describes a two dimensional label located at the position of the containing {@link Entity}. + *

+ *

+ *
+ * Example labels + *
+ *

+ * @param [options] - Object describing initialization options + */ +export class LabelGraphics { + constructor(options?: LabelGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the label. + */ + show: Property | undefined; + /** + * Gets or sets the string Property specifying the text of the label. + * Explicit newlines '\n' are supported. + */ + text: Property | undefined; + /** + * Gets or sets the string Property specifying the font in CSS syntax. + */ + font: Property | undefined; + /** + * Gets or sets the Property specifying the {@link LabelStyle}. + */ + style: Property | undefined; + /** + * Gets or sets the numeric Property specifying the uniform scale to apply to the image. + * A scale greater than 1.0 enlarges the label while a scale less than 1.0 shrinks it. + *

+ *

+ *
+ * From left to right in the above image, the scales are 0.5, 1.0, + * and 2.0. + *
+ *

+ */ + scale: Property | undefined; + /** + * Gets or sets the boolean Property specifying the visibility of the background behind the label. + */ + showBackground: Property | undefined; + /** + * Gets or sets the Property specifying the background {@link Color}. + */ + backgroundColor: Property | undefined; + /** + * Gets or sets the {@link Cartesian2} Property specifying the label's horizontal and vertical + * background padding in pixels. + */ + backgroundPadding: Property | undefined; + /** + * Gets or sets the {@link Cartesian2} Property specifying the label's pixel offset in screen space + * from the origin of this label. This is commonly used to align multiple labels and labels at + * the same position, e.g., an image and text. The screen space origin is the top, left corner of the + * canvas; x increases from left to right, and y increases from top to bottom. + *

+ *

+ * + * + * + *
default
l.pixeloffset = new Cartesian2(25, 75);
+ * The label's origin is indicated by the yellow point. + *
+ *

+ */ + pixelOffset: Property | undefined; + /** + * Gets or sets the {@link Cartesian3} Property specifying the label's offset in eye coordinates. + * Eye coordinates is a left-handed coordinate system, where x points towards the viewer's + * right, y points up, and z points into the screen. + *

+ * An eye offset is commonly used to arrange multiple labels or objects at the same position, e.g., to + * arrange a label above its corresponding 3D model. + *

+ * Below, the label is positioned at the center of the Earth but an eye offset makes it always + * appear on top of the Earth regardless of the viewer's or Earth's orientation. + *

+ *

+ * + * + * + *
+ * l.eyeOffset = new Cartesian3(0.0, 8000000.0, 0.0);

+ *
+ *

+ */ + eyeOffset: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HorizontalOrigin}. + */ + horizontalOrigin: Property | undefined; + /** + * Gets or sets the Property specifying the {@link VerticalOrigin}. + */ + verticalOrigin: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the Property specifying the fill {@link Color}. + */ + fillColor: Property | undefined; + /** + * Gets or sets the Property specifying the outline {@link Color}. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the outline width. + */ + outlineWidth: Property | undefined; + /** + * Gets or sets {@link NearFarScalar} Property specifying the translucency of the label based on the distance from the camera. + * A label's translucency will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the label's translucency remains clamped to the nearest bound. + */ + translucencyByDistance: Property | undefined; + /** + * Gets or sets {@link NearFarScalar} Property specifying the pixel offset of the label based on the distance from the camera. + * A label's pixel offset will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the label's pixel offset remains clamped to the nearest bound. + */ + pixelOffsetScaleByDistance: Property | undefined; + /** + * Gets or sets near and far scaling properties of a Label based on the label's distance from the camera. + * A label's scale will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the label's scale remains clamped to the nearest bound. If undefined, + * scaleByDistance will be disabled. + */ + scaleByDistance: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this label will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain. + * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied. + */ + disableDepthTestDistance: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: LabelGraphics): LabelGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: LabelGraphics): void; +} + +/** + * A {@link Visualizer} which maps the {@link LabelGraphics} instance + * in {@link Entity#label} to a {@link Label}. + * @param entityCluster - The entity cluster to manage the collection of billboards and optionally cluster with other entities. + * @param entityCollection - The entityCollection to visualize. + */ +export class LabelVisualizer { + constructor(entityCluster: EntityCluster, entityCollection: EntityCollection); + /** + * Updates the primitives created by this visualizer to match their + * Entity counterpart at the given time. + * @param time - The time to update to. + * @returns This function always returns true. + */ + update(time: JulianDate): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes and destroys all primitives created by this instance. + */ + destroy(): void; +} + +/** + * The interface for all {@link Property} objects that represent {@link Material} uniforms. + * This type defines an interface and cannot be instantiated directly. + */ +export class MaterialProperty { + constructor(); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +export namespace ModelGraphics { + /** + * Initialization options for the ModelGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the model. + * @property [uri] - A string or Resource Property specifying the URI of the glTF asset. + * @property [scale = 1.0] - A numeric Property specifying a uniform linear scale. + * @property [minimumPixelSize = 0.0] - A numeric Property specifying the approximate minimum pixel size of the model regardless of zoom. + * @property [maximumScale] - The maximum scale size of a model. An upper limit for minimumPixelSize. + * @property [incrementallyLoadTextures = true] - Determine if textures may continue to stream in after the model is loaded. + * @property [runAnimations = true] - A boolean Property specifying if glTF animations specified in the model should be started. + * @property [clampAnimations = true] - A boolean Property specifying if glTF animations should hold the last pose for time durations with no keyframes. + * @property [shadows = ShadowMode.ENABLED] - An enum Property specifying whether the model casts or receives shadows from light sources. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height is relative to. + * @property [silhouetteColor = Color.RED] - A Property specifying the {@link Color} of the silhouette. + * @property [silhouetteSize = 0.0] - A numeric Property specifying the size of the silhouette in pixels. + * @property [color = Color.WHITE] - A Property specifying the {@link Color} that blends with the model's rendered color. + * @property [colorBlendMode = ColorBlendMode.HIGHLIGHT] - An enum Property specifying how the color blends with the model. + * @property [colorBlendAmount = 0.5] - A numeric Property specifying the color strength when the colorBlendMode is MIX. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two. + * @property [imageBasedLightingFactor = new Cartesian2(1.0, 1.0)] - A property specifying the contribution from diffuse and specular image-based lighting. + * @property [lightColor] - A property specifying the light color when shading the model. When undefined the scene's light color is used instead. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this model will be displayed. + * @property [nodeTransformations] - An object, where keys are names of nodes, and values are {@link TranslationRotationScale} Properties describing the transformation to apply to that node. The transformation is applied after the node's existing transformation as specified in the glTF, and does not replace the node's existing transformation. + * @property [articulations] - An object, where keys are composed of an articulation name, a single space, and a stage name, and the values are numeric properties. + * @property [clippingPlanes] - A property specifying the {@link ClippingPlaneCollection} used to selectively disable rendering the model. + */ + type ConstructorOptions = { + show?: Property | boolean; + uri?: Property | string | Resource; + scale?: Property | number; + minimumPixelSize?: Property | number; + maximumScale?: Property | number; + incrementallyLoadTextures?: Property | boolean; + runAnimations?: Property | boolean; + clampAnimations?: Property | boolean; + shadows?: Property | ShadowMode; + heightReference?: Property | HeightReference; + silhouetteColor?: Property | Color; + silhouetteSize?: Property | number; + color?: Property | Color; + colorBlendMode?: Property | ColorBlendMode; + colorBlendAmount?: Property | number; + imageBasedLightingFactor?: Property | Cartesian2; + lightColor?: Property | Color; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + nodeTransformations?: PropertyBag | { + [key: string]: TranslationRotationScale; + }; + articulations?: PropertyBag | { + [key: string]: number; + }; + clippingPlanes?: Property | ClippingPlaneCollection; + }; +} + +/** + * A 3D model based on {@link https://github.com/KhronosGroup/glTF|glTF}, the runtime asset format for WebGL, OpenGL ES, and OpenGL. + * The position and orientation of the model is determined by the containing {@link Entity}. + *

+ * Cesium includes support for glTF geometry, materials, animations, and skinning. + * Cameras and lights are not currently supported. + *

+ * @param [options] - Object describing initialization options + */ +export class ModelGraphics { + constructor(options?: ModelGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the model. + */ + show: Property | undefined; + /** + * Gets or sets the string Property specifying the URI of the glTF asset. + */ + uri: Property | undefined; + /** + * Gets or sets the numeric Property specifying a uniform linear scale + * for this model. Values greater than 1.0 increase the size of the model while + * values less than 1.0 decrease it. + */ + scale: Property | undefined; + /** + * Gets or sets the numeric Property specifying the approximate minimum + * pixel size of the model regardless of zoom. This can be used to ensure that + * a model is visible even when the viewer zooms out. When 0.0, + * no minimum size is enforced. + */ + minimumPixelSize: Property | undefined; + /** + * Gets or sets the numeric Property specifying the maximum scale + * size of a model. This property is used as an upper limit for + * {@link ModelGraphics#minimumPixelSize}. + */ + maximumScale: Property | undefined; + /** + * Get or sets the boolean Property specifying whether textures + * may continue to stream in after the model is loaded. + */ + incrementallyLoadTextures: Property | undefined; + /** + * Gets or sets the boolean Property specifying if glTF animations should be run. + */ + runAnimations: Property | undefined; + /** + * Gets or sets the boolean Property specifying if glTF animations should hold the last pose for time durations with no keyframes. + */ + clampAnimations: Property | undefined; + /** + * Get or sets the enum Property specifying whether the model + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the silhouette. + */ + silhouetteColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the size of the silhouette in pixels. + */ + silhouetteSize: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} that blends with the model's rendered color. + */ + color: Property | undefined; + /** + * Gets or sets the enum Property specifying how the color blends with the model. + */ + colorBlendMode: Property | undefined; + /** + * A numeric Property specifying the color strength when the colorBlendMode is MIX. + * A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with + * any value in-between resulting in a mix of the two. + */ + colorBlendAmount: Property | undefined; + /** + * A property specifying the {@link Cartesian2} used to scale the diffuse and specular image-based lighting contribution to the final color. + */ + imageBasedLightingFactor: Property | undefined; + /** + * A property specifying the {@link Cartesian3} light color when shading the model. When undefined the scene's light color is used instead. + */ + lightColor: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this model will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Gets or sets the set of node transformations to apply to this model. This is represented as an {@link PropertyBag}, where keys are + * names of nodes, and values are {@link TranslationRotationScale} Properties describing the transformation to apply to that node. + * The transformation is applied after the node's existing transformation as specified in the glTF, and does not replace the node's existing transformation. + */ + nodeTransformations: PropertyBag; + /** + * Gets or sets the set of articulation values to apply to this model. This is represented as an {@link PropertyBag}, where keys are + * composed as the name of the articulation, a single space, and the name of the stage. + */ + articulations: PropertyBag; + /** + * A property specifying the {@link ClippingPlaneCollection} used to selectively disable rendering the model. + */ + clippingPlanes: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: ModelGraphics): ModelGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: ModelGraphics): void; +} + +/** + * A {@link Visualizer} which maps {@link Entity#model} to a {@link Model}. + * @param scene - The scene the primitives will be rendered in. + * @param entityCollection - The entityCollection to visualize. + */ +export class ModelVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection); + /** + * Updates models created this visualizer to match their + * Entity counterpart at the given time. + * @param time - The time to update to. + * @returns This function always returns true. + */ + update(time: JulianDate): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes and destroys all primitives created by this instance. + */ + destroy(): void; +} + +/** + * A {@link Property} that produces {@link TranslationRotationScale} data. + * @param [options] - Object with the following properties: + * @param [options.translation = Cartesian3.ZERO] - A {@link Cartesian3} Property specifying the (x, y, z) translation to apply to the node. + * @param [options.rotation = Quaternion.IDENTITY] - A {@link Quaternion} Property specifying the (x, y, z, w) rotation to apply to the node. + * @param [options.scale = new Cartesian3(1.0, 1.0, 1.0)] - A {@link Cartesian3} Property specifying the (x, y, z) scaling to apply to the node. + */ +export class NodeTransformationProperty { + constructor(options?: { + translation?: Property | Cartesian3; + rotation?: Property | Quaternion; + scale?: Property | Cartesian3; + }); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the {@link Cartesian3} Property specifying the (x, y, z) translation to apply to the node. + */ + translation: Property | undefined; + /** + * Gets or sets the {@link Quaternion} Property specifying the (x, y, z, w) rotation to apply to the node. + */ + rotation: Property | undefined; + /** + * Gets or sets the {@link Cartesian3} Property specifying the (x, y, z) scaling to apply to the node. + */ + scale: Property | undefined; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: TranslationRotationScale): TranslationRotationScale; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +export namespace PathGraphics { + /** + * Initialization options for the PathGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the path. + * @property [leadTime] - A Property specifying the number of seconds in front the object to show. + * @property [trailTime] - A Property specifying the number of seconds behind of the object to show. + * @property [width = 1.0] - A numeric Property specifying the width in pixels. + * @property [resolution = 60] - A numeric Property specifying the maximum number of seconds to step when sampling the position. + * @property [material = Color.WHITE] - A Property specifying the material used to draw the path. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this path will be displayed. + */ + type ConstructorOptions = { + show?: Property | boolean; + leadTime?: Property | number; + trailTime?: Property | number; + width?: Property | number; + resolution?: Property | number; + material?: MaterialProperty | Color; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + }; +} + +/** + * Describes a polyline defined as the path made by an {@link Entity} as it moves over time. + * @param [options] - Object describing initialization options + */ +export class PathGraphics { + constructor(options?: PathGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the path. + */ + show: Property | undefined; + /** + * Gets or sets the Property specifying the number of seconds in front of the object to show. + */ + leadTime: Property | undefined; + /** + * Gets or sets the Property specifying the number of seconds behind the object to show. + */ + trailTime: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width in pixels. + */ + width: Property | undefined; + /** + * Gets or sets the Property specifying the maximum number of seconds to step when sampling the position. + */ + resolution: Property | undefined; + /** + * Gets or sets the Property specifying the material used to draw the path. + */ + material: MaterialProperty; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this path will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: PathGraphics): PathGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: PathGraphics): void; +} + +/** + * A {@link Visualizer} which maps {@link Entity#path} to a {@link Polyline}. + * @param scene - The scene the primitives will be rendered in. + * @param entityCollection - The entityCollection to visualize. + */ +export class PathVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection); + /** + * Updates all of the primitives created by this visualizer to match their + * Entity counterpart at the given time. + * @param time - The time to update to. + * @returns This function always returns true. + */ + update(time: JulianDate): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes and destroys all primitives created by this instance. + */ + destroy(): void; +} + +/** + * A {@link GeometryUpdater} for planes. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class PlaneGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; +} + +export namespace PlaneGraphics { + /** + * Initialization options for the PlaneGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the plane. + * @property [plane] - A {@link Plane} Property specifying the normal and distance for the plane. + * @property [dimensions] - A {@link Cartesian2} Property specifying the width and height of the plane. + * @property [fill = true] - A boolean Property specifying whether the plane is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the plane. + * @property [outline = false] - A boolean Property specifying whether the plane is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the plane casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this plane will be displayed. + */ + type ConstructorOptions = { + show?: Property | boolean; + plane?: Property | Plane; + dimensions?: Property | Cartesian2; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + }; +} + +/** + * Describes a plane. The center position and orientation are determined by the containing {@link Entity}. + * @param [options] - Object describing initialization options + */ +export class PlaneGraphics { + constructor(options?: PlaneGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the plane. + */ + show: Property | undefined; + /** + * Gets or sets the {@link Plane} Property specifying the normal and distance of the plane. + */ + plane: Property | undefined; + /** + * Gets or sets the {@link Cartesian2} Property specifying the width and height of the plane. + */ + dimensions: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the plane is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the material used to fill the plane. + */ + material: MaterialProperty; + /** + * Gets or sets the Property specifying whether the plane is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Get or sets the enum Property specifying whether the plane + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this plane will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: PlaneGraphics): PlaneGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: PlaneGraphics): void; +} + +export namespace PointGraphics { + /** + * Initialization options for the PointGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the point. + * @property [pixelSize = 1] - A numeric Property specifying the size in pixels. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height is relative to. + * @property [color = Color.WHITE] - A Property specifying the {@link Color} of the point. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 0] - A numeric Property specifying the the outline width in pixels. + * @property [scaleByDistance] - A {@link NearFarScalar} Property used to scale the point based on distance. + * @property [translucencyByDistance] - A {@link NearFarScalar} Property used to set translucency based on distance from the camera. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this point will be displayed. + * @property [disableDepthTestDistance] - A Property specifying the distance from the camera at which to disable the depth test to. + */ + type ConstructorOptions = { + show?: Property | boolean; + pixelSize?: Property | number; + heightReference?: Property | HeightReference; + color?: Property | Color; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + scaleByDistance?: Property | NearFarScalar; + translucencyByDistance?: Property | NearFarScalar; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + disableDepthTestDistance?: Property | number; + }; +} + +/** + * Describes a graphical point located at the position of the containing {@link Entity}. + * @param [options] - Object describing initialization options + */ +export class PointGraphics { + constructor(options?: PointGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the point. + */ + show: Property | undefined; + /** + * Gets or sets the numeric Property specifying the size in pixels. + */ + pixelSize: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the point. + */ + color: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the the outline width in pixels. + */ + outlineWidth: Property | undefined; + /** + * Gets or sets the {@link NearFarScalar} Property used to scale the point based on distance. + * If undefined, a constant size is used. + */ + scaleByDistance: Property | undefined; + /** + * Gets or sets {@link NearFarScalar} Property specifying the translucency of the point based on the distance from the camera. + * A point's translucency will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the points's translucency remains clamped to the nearest bound. + */ + translucencyByDistance: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this point will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain. + * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied. + */ + disableDepthTestDistance: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: PointGraphics): PointGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: PointGraphics): void; +} + +/** + * A {@link Visualizer} which maps {@link Entity#point} to a {@link PointPrimitive}. + * @param entityCluster - The entity cluster to manage the collection of billboards and optionally cluster with other entities. + * @param entityCollection - The entityCollection to visualize. + */ +export class PointVisualizer { + constructor(entityCluster: EntityCluster, entityCollection: EntityCollection); + /** + * Updates the primitives created by this visualizer to match their + * Entity counterpart at the given time. + * @param time - The time to update to. + * @returns This function always returns true. + */ + update(time: JulianDate): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes and destroys all primitives created by this instance. + */ + destroy(): void; +} + +/** + * A {@link GeometryUpdater} for polygons. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class PolygonGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; +} + +export namespace PolygonGraphics { + /** + * Initialization options for the PolygonGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the polygon. + * @property [hierarchy] - A Property specifying the {@link PolygonHierarchy}. + * @property [height = 0] - A numeric Property specifying the altitude of the polygon relative to the ellipsoid surface. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height is relative to. + * @property [extrudedHeight] - A numeric Property specifying the altitude of the polygon's extruded face relative to the ellipsoid surface. + * @property [extrudedHeightReference = HeightReference.NONE] - A Property specifying what the extrudedHeight is relative to. + * @property [stRotation = 0.0] - A numeric property specifying the rotation of the polygon texture counter-clockwise from north. + * @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - A numeric Property specifying the angular distance between each latitude and longitude point. + * @property [fill = true] - A boolean Property specifying whether the polygon is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the polygon. + * @property [outline = false] - A boolean Property specifying whether the polygon is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [perPositionHeight = false] - A boolean specifying whether or not the height of each position is used. + * @property [closeTop = true] - When false, leaves off the top of an extruded polygon open. + * @property [closeBottom = true] - When false, leaves off the bottom of an extruded polygon open. + * @property [arcType = ArcType.GEODESIC] - The type of line the polygon edges must follow. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the polygon casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this polygon will be displayed. + * @property [classificationType = ClassificationType.BOTH] - An enum Property specifying whether this polygon will classify terrain, 3D Tiles, or both when on the ground. + * @property [zIndex = 0] - A property specifying the zIndex used for ordering ground geometry. Only has an effect if the polygon is constant and neither height or extrudedHeight are specified. + */ + type ConstructorOptions = { + show?: Property | boolean; + hierarchy?: Property | PolygonHierarchy; + height?: Property | number; + heightReference?: Property | HeightReference; + extrudedHeight?: Property | number; + extrudedHeightReference?: Property | HeightReference; + stRotation?: Property | number; + granularity?: Property | number; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + perPositionHeight?: Property | boolean; + closeTop?: boolean | boolean; + closeBottom?: boolean | boolean; + arcType?: Property | ArcType; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + classificationType?: Property | ClassificationType; + zIndex?: ConstantProperty | number; + }; +} + +/** + * Describes a polygon defined by an hierarchy of linear rings which make up the outer shape and any nested holes. + * The polygon conforms to the curvature of the globe and can be placed on the surface or + * at altitude and can optionally be extruded into a volume. + * @param [options] - Object describing initialization options + */ +export class PolygonGraphics { + constructor(options?: PolygonGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the polygon. + */ + show: Property | undefined; + /** + * Gets or sets the Property specifying the {@link PolygonHierarchy}. + */ + hierarchy: Property | undefined; + /** + * Gets or sets the numeric Property specifying the constant altitude of the polygon. + */ + height: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the numeric Property specifying the altitude of the polygon extrusion. + * If {@link PolygonGraphics#perPositionHeight} is false, the volume starts at {@link PolygonGraphics#height} and ends at this altitude. + * If {@link PolygonGraphics#perPositionHeight} is true, the volume starts at the height of each {@link PolygonGraphics#hierarchy} position and ends at this altitude. + */ + extrudedHeight: Property | undefined; + /** + * Gets or sets the Property specifying the extruded {@link HeightReference}. + */ + extrudedHeightReference: Property | undefined; + /** + * Gets or sets the numeric property specifying the rotation of the polygon texture counter-clockwise from north. + */ + stRotation: Property | undefined; + /** + * Gets or sets the numeric Property specifying the angular distance between points on the polygon. + */ + granularity: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the polygon is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the Property specifying the material used to fill the polygon. + */ + material: MaterialProperty; + /** + * Gets or sets the Property specifying whether the polygon is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Gets or sets the boolean specifying whether or not the the height of each position is used. + * If true, the shape will have non-uniform altitude defined by the height of each {@link PolygonGraphics#hierarchy} position. + * If false, the shape will have a constant altitude as specified by {@link PolygonGraphics#height}. + */ + perPositionHeight: Property | undefined; + /** + * Gets or sets a boolean specifying whether or not the top of an extruded polygon is included. + */ + closeTop: Property | undefined; + /** + * Gets or sets a boolean specifying whether or not the bottom of an extruded polygon is included. + */ + closeBottom: Property | undefined; + /** + * Gets or sets the {@link ArcType} Property specifying the type of lines the polygon edges use. + */ + arcType: Property | undefined; + /** + * Get or sets the enum Property specifying whether the polygon + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this polygon will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Gets or sets the {@link ClassificationType} Property specifying whether this polygon will classify terrain, 3D Tiles, or both when on the ground. + */ + classificationType: Property | undefined; + /** + * Gets or sets the zIndex Prperty specifying the ordering of ground geometry. Only has an effect if the polygon is constant and neither height or extrudedHeight are specified. + */ + zIndex: ConstantProperty | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: PolygonGraphics): PolygonGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: PolygonGraphics): void; +} + +/** + * A {@link MaterialProperty} that maps to PolylineArrow {@link Material} uniforms. + * @param [color = Color.WHITE] - The {@link Color} Property to be used. + */ +export class PolylineArrowMaterialProperty { + constructor(color?: Property | Color); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the {@link Color} {@link Property}. + */ + color: Property | undefined; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link MaterialProperty} that maps to polyline dash {@link Material} uniforms. + * @param [options] - Object with the following properties: + * @param [options.color = Color.WHITE] - A Property specifying the {@link Color} of the line. + * @param [options.gapColor = Color.TRANSPARENT] - A Property specifying the {@link Color} of the gaps in the line. + * @param [options.dashLength = 16.0] - A numeric Property specifying the length of the dash pattern in pixels. + * @param [options.dashPattern = 255.0] - A numeric Property specifying a 16 bit pattern for the dash + */ +export class PolylineDashMaterialProperty { + constructor(options?: { + color?: Property | Color; + gapColor?: Property | Color; + dashLength?: Property | number; + dashPattern?: Property | number; + }); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the Property specifying the {@link Color} of the line. + */ + color: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the gaps in the line. + */ + gapColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the length of a dash cycle + */ + dashLength: Property | undefined; + /** + * Gets or sets the numeric Property specifying a dash pattern + */ + dashPattern: Property | undefined; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link GeometryUpdater} for polylines. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class PolylineGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Gets the unique ID associated with this updater + */ + readonly id: string; + /** + * Gets the entity associated with this geometry. + */ + readonly entity: Entity; + /** + * Gets a value indicating if the geometry has a fill component. + */ + readonly fillEnabled: boolean; + /** + * Gets a value indicating if fill visibility varies with simulation time. + */ + readonly hasConstantFill: boolean; + /** + * Gets the material property used to fill the geometry. + */ + readonly fillMaterialProperty: MaterialProperty; + /** + * Gets the material property used to fill the geometry when it fails the depth test. + */ + readonly depthFailMaterialProperty: MaterialProperty; + /** + * Gets a value indicating if the geometry has an outline component. + */ + readonly outlineEnabled: boolean; + /** + * Gets a value indicating if outline visibility varies with simulation time. + */ + readonly hasConstantOutline: boolean; + /** + * Gets the {@link Color} property for the geometry outline. + */ + readonly outlineColorProperty: Property; + /** + * Gets the property specifying whether the geometry + * casts or receives shadows from light sources. + */ + readonly shadowsProperty: Property; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this geometry will be displayed. + */ + readonly distanceDisplayConditionProperty: Property; + /** + * Gets or sets the {@link ClassificationType} Property specifying if this geometry will classify terrain, 3D Tiles, or both when on the ground. + */ + readonly classificationTypeProperty: Property; + /** + * Gets a value indicating if the geometry is time-varying. + * If true, all visualization is delegated to the {@link DynamicGeometryUpdater} + * returned by GeometryUpdater#createDynamicUpdater. + */ + readonly isDynamic: boolean; + /** + * Gets a value indicating if the geometry is closed. + * This property is only valid for static geometry. + */ + readonly isClosed: boolean; + /** + * Gets an event that is raised whenever the public properties + * of this updater change. + */ + readonly geometryChanged: boolean; + /** + * Gets a value indicating if the path of the line. + */ + readonly arcType: ArcType; + /** + * Gets a value indicating if the geometry is clamped to the ground. + * Returns false if polylines on terrain is not supported. + */ + readonly clampToGround: boolean; + /** + * Gets the zindex + */ + readonly zIndex: number; + /** + * Checks if the geometry is outlined at the provided time. + * @param time - The time for which to retrieve visibility. + * @returns true if geometry is outlined at the provided time, false otherwise. + */ + isOutlineVisible(time: JulianDate): boolean; + /** + * Checks if the geometry is filled at the provided time. + * @param time - The time for which to retrieve visibility. + * @returns true if geometry is filled at the provided time, false otherwise. + */ + isFilled(time: JulianDate): boolean; + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys and resources used by the object. Once an object is destroyed, it should not be used. + */ + destroy(): void; +} + +/** + * A {@link MaterialProperty} that maps to polyline glow {@link Material} uniforms. + * @param [options] - Object with the following properties: + * @param [options.color = Color.WHITE] - A Property specifying the {@link Color} of the line. + * @param [options.glowPower = 0.25] - A numeric Property specifying the strength of the glow, as a percentage of the total line width. + * @param [options.taperPower = 1.0] - A numeric Property specifying the strength of the tapering effect, as a percentage of the total line length. If 1.0 or higher, no taper effect is used. + */ +export class PolylineGlowMaterialProperty { + constructor(options?: { + color?: Property | Color; + glowPower?: Property | number; + taperPower?: Property | number; + }); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the Property specifying the {@link Color} of the line. + */ + color: Property | undefined; + /** + * Gets or sets the numeric Property specifying the strength of the glow, as a percentage of the total line width (less than 1.0). + */ + glowPower: Property | undefined; + /** + * Gets or sets the numeric Property specifying the strength of the tapering effect, as a percentage of the total line length. If 1.0 or higher, no taper effect is used. + */ + taperPower: Property | undefined; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +export namespace PolylineGraphics { + /** + * Initialization options for the PolylineGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the polyline. + * @property [positions] - A Property specifying the array of {@link Cartesian3} positions that define the line strip. + * @property [width = 1.0] - A numeric Property specifying the width in pixels. + * @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - A numeric Property specifying the angular distance between each latitude and longitude if arcType is not ArcType.NONE. + * @property [material = Color.WHITE] - A Property specifying the material used to draw the polyline. + * @property [depthFailMaterial] - A property specifying the material used to draw the polyline when it is below the terrain. + * @property [arcType = ArcType.GEODESIC] - The type of line the polyline segments must follow. + * @property [clampToGround = false] - A boolean Property specifying whether the Polyline should be clamped to the ground. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the polyline casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this polyline will be displayed. + * @property [classificationType = ClassificationType.BOTH] - An enum Property specifying whether this polyline will classify terrain, 3D Tiles, or both when on the ground. + * @property [zIndex = 0] - A Property specifying the zIndex used for ordering ground geometry. Only has an effect if `clampToGround` is true and polylines on terrain is supported. + */ + type ConstructorOptions = { + show?: Property | boolean; + positions?: Property | Cartesian3[]; + width?: Property | number; + granularity?: Property | number; + material?: MaterialProperty | Color; + depthFailMaterial?: MaterialProperty | Color; + arcType?: Property | ArcType; + clampToGround?: Property | boolean; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + classificationType?: Property | ClassificationType; + zIndex?: Property | number; + }; +} + +/** + * Describes a polyline. The first two positions define a line segment, + * and each additional position defines a line segment from the previous position. The segments + * can be linear connected points, great arcs, or clamped to terrain. + * @param [options] - Object describing initialization options + */ +export class PolylineGraphics { + constructor(options?: PolylineGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the polyline. + */ + show: Property | undefined; + /** + * Gets or sets the Property specifying the array of {@link Cartesian3} + * positions that define the line strip. + */ + positions: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width in pixels. + */ + width: Property | undefined; + /** + * Gets or sets the numeric Property specifying the angular distance between each latitude and longitude if arcType is not ArcType.NONE and clampToGround is false. + */ + granularity: Property | undefined; + /** + * Gets or sets the Property specifying the material used to draw the polyline. + */ + material: MaterialProperty; + /** + * Gets or sets the Property specifying the material used to draw the polyline when it fails the depth test. + *

+ * Requires the EXT_frag_depth WebGL extension to render properly. If the extension is not supported, + * there may be artifacts. + *

+ */ + depthFailMaterial: MaterialProperty; + /** + * Gets or sets the {@link ArcType} Property specifying whether the line segments should be great arcs, rhumb lines or linearly connected. + */ + arcType: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the polyline + * should be clamped to the ground. + */ + clampToGround: Property | undefined; + /** + * Get or sets the enum Property specifying whether the polyline + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this polyline will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Gets or sets the {@link ClassificationType} Property specifying whether this polyline will classify terrain, 3D Tiles, or both when on the ground. + */ + classificationType: Property | undefined; + /** + * Gets or sets the zIndex Property specifying the ordering of the polyline. Only has an effect if `clampToGround` is true and polylines on terrain is supported. + */ + zIndex: ConstantProperty | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: PolylineGraphics): PolylineGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: PolylineGraphics): void; +} + +/** + * A {@link MaterialProperty} that maps to polyline outline {@link Material} uniforms. + * @param [options] - Object with the following properties: + * @param [options.color = Color.WHITE] - A Property specifying the {@link Color} of the line. + * @param [options.outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @param [options.outlineWidth = 1.0] - A numeric Property specifying the width of the outline, in pixels. + */ +export class PolylineOutlineMaterialProperty { + constructor(options?: { + color?: Property | Color; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + }); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the Property specifying the {@link Color} of the line. + */ + color: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A visualizer for polylines represented by {@link Primitive} instances. + * @param scene - The scene the primitives will be rendered in. + * @param entityCollection - The entityCollection to visualize. + * @param [primitives = scene.primitives] - A collection to add primitives related to the entities + * @param [groundPrimitives = scene.groundPrimitives] - A collection to add ground primitives related to the entities + */ +export class PolylineVisualizer { + constructor(scene: Scene, entityCollection: EntityCollection, primitives?: PrimitiveCollection, groundPrimitives?: PrimitiveCollection); + /** + * Updates all of the primitives created by this visualizer to match their + * Entity counterpart at the given time. + * @param time - The time to update to. + * @returns True if the visualizer successfully updated to the provided time, + * false if the visualizer is waiting for asynchronous primitives to be created. + */ + update(time: JulianDate): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes and destroys all primitives created by this instance. + */ + destroy(): void; +} + +/** + * A {@link GeometryUpdater} for polyline volumes. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class PolylineVolumeGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; +} + +export namespace PolylineVolumeGraphics { + /** + * Initialization options for the PolylineVolumeGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the volume. + * @property [positions] - A Property specifying the array of {@link Cartesian3} positions which define the line strip. + * @property [shape] - A Property specifying the array of {@link Cartesian2} positions which define the shape to be extruded. + * @property [cornerType = CornerType.ROUNDED] - A {@link CornerType} Property specifying the style of the corners. + * @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - A numeric Property specifying the angular distance between each latitude and longitude point. + * @property [fill = true] - A boolean Property specifying whether the volume is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the volume. + * @property [outline = false] - A boolean Property specifying whether the volume is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the volume casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this volume will be displayed. + */ + type ConstructorOptions = { + show?: Property | boolean; + positions?: Property | Cartesian3[]; + shape?: Property | Cartesian2[]; + cornerType?: Property | CornerType; + granularity?: Property | number; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + }; +} + +/** + * Describes a polyline volume defined as a line strip and corresponding two dimensional shape which is extruded along it. + * The resulting volume conforms to the curvature of the globe. + * @param [options] - Object describing initialization options + */ +export class PolylineVolumeGraphics { + constructor(options?: PolylineVolumeGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the volume. + */ + show: Property | undefined; + /** + * Gets or sets the Property specifying the array of {@link Cartesian3} positions which define the line strip. + */ + positions: Property | undefined; + /** + * Gets or sets the Property specifying the array of {@link Cartesian2} positions which define the shape to be extruded. + */ + shape: Property | undefined; + /** + * Gets or sets the {@link CornerType} Property specifying the style of the corners. + */ + cornerType: Property | undefined; + /** + * Gets or sets the numeric Property specifying the angular distance between points on the volume. + */ + granularity: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the volume is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the Property specifying the material used to fill the volume. + */ + material: MaterialProperty; + /** + * Gets or sets the Property specifying whether the volume is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Get or sets the enum Property specifying whether the volume + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this volume will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: PolylineVolumeGraphics): PolylineVolumeGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: PolylineVolumeGraphics): void; +} + +/** + * The interface for all {@link Property} objects that define a world + * location as a {@link Cartesian3} with an associated {@link ReferenceFrame}. + * This type defines an interface and cannot be instantiated directly. + */ +export class PositionProperty { + constructor(); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets the reference frame that the position is defined in. + */ + referenceFrame: ReferenceFrame; + /** + * Gets the value of the property at the provided time in the fixed frame. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: Cartesian3): Cartesian3; + /** + * Gets the value of the property at the provided time and in the provided reference frame. + * @param time - The time for which to retrieve the value. + * @param referenceFrame - The desired referenceFrame of the result. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link Property} whose value is an array whose items are the computed value + * of other PositionProperty instances. + * @param [value] - An array of Property instances. + * @param [referenceFrame = ReferenceFrame.FIXED] - The reference frame in which the position is defined. + */ +export class PositionPropertyArray { + constructor(value?: Property[], referenceFrame?: ReferenceFrame); + /** + * Gets a value indicating if this property is constant. This property + * is considered constant if all property items in the array are constant. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is changed whenever setValue is called with data different + * than the current value or one of the properties in the array also changes. + */ + readonly definitionChanged: Event; + /** + * Gets the reference frame in which the position is defined. + */ + referenceFrame: ReferenceFrame; + /** + * Gets the value of the property. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: Cartesian3[]): Cartesian3[]; + /** + * Gets the value of the property at the provided time and in the provided reference frame. + * @param time - The time for which to retrieve the value. + * @param referenceFrame - The desired referenceFrame of the result. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3[]): Cartesian3[]; + /** + * Sets the value of the property. + * @param value - An array of Property instances. + */ + setValue(value: Property[]): void; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * The interface for all properties, which represent a value that can optionally vary over time. + * This type defines an interface and cannot be instantiated directly. + */ +export class Property { + constructor(); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link Property} whose value is an array whose items are the computed value + * of other property instances. + * @param [value] - An array of Property instances. + */ +export class PropertyArray { + constructor(value?: Property[]); + /** + * Gets a value indicating if this property is constant. This property + * is considered constant if all property items in the array are constant. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is changed whenever setValue is called with data different + * than the current value or one of the properties in the array also changes. + */ + readonly definitionChanged: Event; + /** + * Gets the value of the property. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter, which is an array of values produced by evaluating each of the contained properties at the given time or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: object[]): object[]; + /** + * Sets the value of the property. + * @param value - An array of Property instances. + */ + setValue(value: Property[]): void; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +export interface PropertyBag extends DictionaryLike { +} + +/** + * A {@link Property} whose value is a key-value mapping of property names to the computed value of other properties. + * @param [value] - An object, containing key-value mapping of property names to properties. + * @param [createPropertyCallback] - A function that will be called when the value of any of the properties in value are not a Property. + */ +export class PropertyBag implements DictionaryLike { + constructor(value?: any, createPropertyCallback?: (...params: any[]) => any); + /** + * Gets the names of all properties registered on this instance. + */ + propertyNames: any[]; + /** + * Gets a value indicating if this property is constant. This property + * is considered constant if all property items in this object are constant. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the set of properties contained in this + * object changes, or one of the properties itself changes. + */ + readonly definitionChanged: Event; + /** + * Determines if this object has defined a property with the given name. + * @param propertyName - The name of the property to check for. + * @returns True if this object has defined a property with the given name, false otherwise. + */ + hasProperty(propertyName: string): boolean; + /** + * Adds a property to this object. + * @param propertyName - The name of the property to add. + * @param [value] - The value of the new property, if provided. + * @param [createPropertyCallback] - A function that will be called when the value of this new property is set to a value that is not a Property. + */ + addProperty(propertyName: string, value?: any, createPropertyCallback?: (...params: any[]) => any): void; + /** + * Removed a property previously added with addProperty. + * @param propertyName - The name of the property to remove. + */ + removeProperty(propertyName: string): void; + /** + * Gets the value of this property. Each contained property will be evaluated at the given time, and the overall + * result will be an object, mapping property names to those values. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * Note that any properties in result which are not part of this PropertyBag will be left as-is. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + * @param [createPropertyCallback] - A function that will be called when the value of any of the properties in value are not a Property. + */ + merge(source: any, createPropertyCallback?: (...params: any[]) => any): void; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link GeometryUpdater} for rectangles. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class RectangleGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; +} + +export namespace RectangleGraphics { + /** + * Initialization options for the RectangleGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the rectangle. + * @property [coordinates] - The Property specifying the {@link Rectangle}. + * @property [height = 0] - A numeric Property specifying the altitude of the rectangle relative to the ellipsoid surface. + * @property [heightReference = HeightReference.NONE] - A Property specifying what the height is relative to. + * @property [extrudedHeight] - A numeric Property specifying the altitude of the rectangle's extruded face relative to the ellipsoid surface. + * @property [extrudedHeightReference = HeightReference.NONE] - A Property specifying what the extrudedHeight is relative to. + * @property [rotation = 0.0] - A numeric property specifying the rotation of the rectangle clockwise from north. + * @property [stRotation = 0.0] - A numeric property specifying the rotation of the rectangle texture counter-clockwise from north. + * @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - A numeric Property specifying the angular distance between points on the rectangle. + * @property [fill = true] - A boolean Property specifying whether the rectangle is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the rectangle. + * @property [outline = false] - A boolean Property specifying whether the rectangle is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the rectangle casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this rectangle will be displayed. + * @property [classificationType = ClassificationType.BOTH] - An enum Property specifying whether this rectangle will classify terrain, 3D Tiles, or both when on the ground. + * @property [zIndex = 0] - A Property specifying the zIndex used for ordering ground geometry. Only has an effect if the rectangle is constant and neither height or extrudedHeight are specified. + */ + type ConstructorOptions = { + show?: Property | boolean; + coordinates?: Property | Rectangle; + height?: Property | number; + heightReference?: Property | HeightReference; + extrudedHeight?: Property | number; + extrudedHeightReference?: Property | HeightReference; + rotation?: Property | number; + stRotation?: Property | number; + granularity?: Property | number; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + classificationType?: Property | ClassificationType; + zIndex?: Property | number; + }; +} + +/** + * Describes graphics for a {@link Rectangle}. + * The rectangle conforms to the curvature of the globe and can be placed on the surface or + * at altitude and can optionally be extruded into a volume. + * @param [options] - Object describing initialization options + */ +export class RectangleGraphics { + constructor(options?: RectangleGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the rectangle. + */ + show: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Rectangle}. + */ + coordinates: Property | undefined; + /** + * Gets or sets the numeric Property specifying the altitude of the rectangle. + */ + height: Property | undefined; + /** + * Gets or sets the Property specifying the {@link HeightReference}. + */ + heightReference: Property | undefined; + /** + * Gets or sets the numeric Property specifying the altitude of the rectangle extrusion. + * Setting this property creates volume starting at height and ending at this altitude. + */ + extrudedHeight: Property | undefined; + /** + * Gets or sets the Property specifying the extruded {@link HeightReference}. + */ + extrudedHeightReference: Property | undefined; + /** + * Gets or sets the numeric property specifying the rotation of the rectangle clockwise from north. + */ + rotation: Property | undefined; + /** + * Gets or sets the numeric property specifying the rotation of the rectangle texture counter-clockwise from north. + */ + stRotation: Property | undefined; + /** + * Gets or sets the numeric Property specifying the angular distance between points on the rectangle. + */ + granularity: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the rectangle is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the Property specifying the material used to fill the rectangle. + */ + material: MaterialProperty; + /** + * Gets or sets the Property specifying whether the rectangle is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Get or sets the enum Property specifying whether the rectangle + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this rectangle will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Gets or sets the {@link ClassificationType} Property specifying whether this rectangle will classify terrain, 3D Tiles, or both when on the ground. + */ + classificationType: Property | undefined; + /** + * Gets or sets the zIndex Property specifying the ordering of the rectangle. Only has an effect if the rectangle is constant and neither height or extrudedHeight are specified. + */ + zIndex: ConstantProperty | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: RectangleGraphics): RectangleGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: RectangleGraphics): void; +} + +/** + * A {@link Property} which transparently links to another property on a provided object. + * @example + * var collection = new Cesium.EntityCollection(); + * + * //Create a new entity and assign a billboard scale. + * var object1 = new Cesium.Entity({id:'object1'}); + * object1.billboard = new Cesium.BillboardGraphics(); + * object1.billboard.scale = new Cesium.ConstantProperty(2.0); + * collection.add(object1); + * + * //Create a second entity and reference the scale from the first one. + * var object2 = new Cesium.Entity({id:'object2'}); + * object2.model = new Cesium.ModelGraphics(); + * object2.model.scale = new Cesium.ReferenceProperty(collection, 'object1', ['billboard', 'scale']); + * collection.add(object2); + * + * //Create a third object, but use the fromString helper function. + * var object3 = new Cesium.Entity({id:'object3'}); + * object3.billboard = new Cesium.BillboardGraphics(); + * object3.billboard.scale = Cesium.ReferenceProperty.fromString(collection, 'object1#billboard.scale'); + * collection.add(object3); + * + * //You can refer to an entity with a # or . in id and property names by escaping them. + * var object4 = new Cesium.Entity({id:'#object.4'}); + * object4.billboard = new Cesium.BillboardGraphics(); + * object4.billboard.scale = new Cesium.ConstantProperty(2.0); + * collection.add(object4); + * + * var object5 = new Cesium.Entity({id:'object5'}); + * object5.billboard = new Cesium.BillboardGraphics(); + * object5.billboard.scale = Cesium.ReferenceProperty.fromString(collection, '\\#object\\.4#billboard.scale'); + * collection.add(object5); + * @param targetCollection - The entity collection which will be used to resolve the reference. + * @param targetId - The id of the entity which is being referenced. + * @param targetPropertyNames - The names of the property on the target entity which we will use. + */ +export class ReferenceProperty { + constructor(targetCollection: EntityCollection, targetId: string, targetPropertyNames: string[]); + /** + * Gets a value indicating if this property is constant. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is changed whenever the referenced property's definition is changed. + */ + readonly definitionChanged: Event; + /** + * Gets the reference frame that the position is defined in. + * This property is only valid if the referenced property is a {@link PositionProperty}. + */ + readonly referenceFrame: ReferenceFrame; + /** + * Gets the id of the entity being referenced. + */ + readonly targetId: string; + /** + * Gets the collection containing the entity being referenced. + */ + readonly targetCollection: EntityCollection; + /** + * Gets the array of property names used to retrieve the referenced property. + */ + readonly targetPropertyNames: string[]; + /** + * Gets the resolved instance of the underlying referenced property. + */ + readonly resolvedProperty: Property | undefined; + /** + * Creates a new instance given the entity collection that will + * be used to resolve it and a string indicating the target entity id and property. + * The format of the string is "objectId#foo.bar", where # separates the id from + * property path and . separates sub-properties. If the reference identifier or + * or any sub-properties contains a # . or \ they must be escaped. + * @returns A new instance of ReferenceProperty. + */ + static fromString(targetCollection: EntityCollection, referenceString: string): ReferenceProperty; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Gets the value of the property at the provided time and in the provided reference frame. + * This method is only valid if the property being referenced is a {@link PositionProperty}. + * @param time - The time for which to retrieve the value. + * @param referenceFrame - The desired referenceFrame of the result. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3; + /** + * Gets the {@link Material} type at the provided time. + * This method is only valid if the property being referenced is a {@link MaterialProperty}. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +export namespace Rotation { + /** + * The number of elements used to pack the object into an array. + */ + var packedLength: number; + /** + * Stores the provided instance into the provided array. + * @param value - The value to pack. + * @param array - The array to pack into. + * @param [startingIndex = 0] - The index into the array at which to start packing the elements. + * @returns The array that was packed into + */ + function pack(value: Rotation, array: number[], startingIndex?: number): number[]; + /** + * Retrieves an instance from a packed array. + * @param array - The packed array. + * @param [startingIndex = 0] - The starting index of the element to be unpacked. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Rotation instance if one was not provided. + */ + function unpack(array: number[], startingIndex?: number, result?: Rotation): Rotation; + /** + * Converts a packed array into a form suitable for interpolation. + * @param packedArray - The packed array. + * @param [startingIndex = 0] - The index of the first element to be converted. + * @param [lastIndex = packedArray.length] - The index of the last element to be converted. + * @param [result] - The object into which to store the result. + */ + function convertPackedArrayForInterpolation(packedArray: number[], startingIndex?: number, lastIndex?: number, result?: number[]): void; + /** + * Retrieves an instance from a packed array converted with {@link Rotation.convertPackedArrayForInterpolation}. + * @param array - The array previously packed for interpolation. + * @param sourceArray - The original packed array. + * @param [firstIndex = 0] - The firstIndex used to convert the array. + * @param [lastIndex = packedArray.length] - The lastIndex used to convert the array. + * @param [result] - The object into which to store the result. + * @returns The modified result parameter or a new Rotation instance if one was not provided. + */ + function unpackInterpolationResult(array: number[], sourceArray: number[], firstIndex?: number, lastIndex?: number, result?: Rotation): Rotation; +} + +/** + * Represents a {@link Packable} number that always interpolates values + * towards the shortest angle of rotation. This object is never used directly + * but is instead passed to the constructor of {@link SampledProperty} + * in order to represent a two-dimensional angle of rotation. + * @example + * var time1 = Cesium.JulianDate.fromIso8601('2010-05-07T00:00:00'); + * var time2 = Cesium.JulianDate.fromIso8601('2010-05-07T00:01:00'); + * var time3 = Cesium.JulianDate.fromIso8601('2010-05-07T00:02:00'); + * + * var property = new Cesium.SampledProperty(Cesium.Rotation); + * property.addSample(time1, 0); + * property.addSample(time3, Cesium.Math.toRadians(350)); + * + * //Getting the value at time2 will equal 355 degrees instead + * //of 175 degrees (which is what you get if you construct + * //a SampledProperty(Number) instead. Note, the actual + * //return value is in radians, not degrees. + * property.getValue(time2); + */ +export interface Rotation { +} + +/** + * A {@link SampledProperty} which is also a {@link PositionProperty}. + * @param [referenceFrame = ReferenceFrame.FIXED] - The reference frame in which the position is defined. + * @param [numberOfDerivatives = 0] - The number of derivatives that accompany each position; i.e. velocity, acceleration, etc... + */ +export class SampledPositionProperty { + constructor(referenceFrame?: ReferenceFrame, numberOfDerivatives?: number); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets the reference frame in which the position is defined. + */ + referenceFrame: ReferenceFrame; + /** + * Gets the degree of interpolation to perform when retrieving a value. Call setInterpolationOptions to set this. + */ + readonly interpolationDegree: number; + /** + * Gets the interpolation algorithm to use when retrieving a value. Call setInterpolationOptions to set this. + */ + readonly interpolationAlgorithm: InterpolationAlgorithm; + /** + * The number of derivatives contained by this property; i.e. 0 for just position, 1 for velocity, etc. + */ + numberOfDerivatives: number; + /** + * Gets or sets the type of extrapolation to perform when a value + * is requested at a time after any available samples. + */ + forwardExtrapolationType: ExtrapolationType; + /** + * Gets or sets the amount of time to extrapolate forward before + * the property becomes undefined. A value of 0 will extrapolate forever. + */ + forwardExtrapolationDuration: number; + /** + * Gets or sets the type of extrapolation to perform when a value + * is requested at a time before any available samples. + */ + backwardExtrapolationType: ExtrapolationType; + /** + * Gets or sets the amount of time to extrapolate backward + * before the property becomes undefined. A value of 0 will extrapolate forever. + */ + backwardExtrapolationDuration: number; + /** + * Gets the position at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: Cartesian3): Cartesian3; + /** + * Gets the position at the provided time and in the provided reference frame. + * @param time - The time for which to retrieve the value. + * @param referenceFrame - The desired referenceFrame of the result. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3; + /** + * Sets the algorithm and degree to use when interpolating a position. + * @param [options] - Object with the following properties: + * @param [options.interpolationAlgorithm] - The new interpolation algorithm. If undefined, the existing property will be unchanged. + * @param [options.interpolationDegree] - The new interpolation degree. If undefined, the existing property will be unchanged. + */ + setInterpolationOptions(options?: { + interpolationAlgorithm?: InterpolationAlgorithm; + interpolationDegree?: number; + }): void; + /** + * Adds a new sample. + * @param time - The sample time. + * @param position - The position at the provided time. + * @param [derivatives] - The array of derivative values at the provided time. + */ + addSample(time: JulianDate, position: Cartesian3, derivatives?: Cartesian3[]): void; + /** + * Adds multiple samples via parallel arrays. + * @param times - An array of JulianDate instances where each index is a sample time. + * @param positions - An array of Cartesian3 position instances, where each value corresponds to the provided time index. + * @param [derivatives] - An array where each value is another array containing derivatives for the corresponding time index. + */ + addSamples(times: JulianDate[], positions: Cartesian3[], derivatives?: any[][]): void; + /** + * Adds samples as a single packed array where each new sample is represented as a date, + * followed by the packed representation of the corresponding value and derivatives. + * @param packedSamples - The array of packed samples. + * @param [epoch] - If any of the dates in packedSamples are numbers, they are considered an offset from this epoch, in seconds. + */ + addSamplesPackedArray(packedSamples: number[], epoch?: JulianDate): void; + /** + * Removes a sample at the given time, if present. + * @param time - The sample time. + * @returns true if a sample at time was removed, false otherwise. + */ + removeSample(time: JulianDate): boolean; + /** + * Removes all samples for the given time interval. + * @param time - The time interval for which to remove all samples. + */ + removeSamples(time: TimeInterval): void; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link Property} whose value is interpolated for a given time from the + * provided set of samples and specified interpolation algorithm and degree. + * @example + * //Create a linearly interpolated Cartesian2 + * var property = new Cesium.SampledProperty(Cesium.Cartesian2); + * + * //Populate it with data + * property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), new Cesium.Cartesian2(0, 0)); + * property.addSample(Cesium.JulianDate.fromIso8601('2012-08-02T00:00:00.00Z'), new Cesium.Cartesian2(4, 7)); + * + * //Retrieve an interpolated value + * var result = property.getValue(Cesium.JulianDate.fromIso8601('2012-08-01T12:00:00.00Z')); + * @example + * //Create a simple numeric SampledProperty that uses third degree Hermite Polynomial Approximation + * var property = new Cesium.SampledProperty(Number); + * property.setInterpolationOptions({ + * interpolationDegree : 3, + * interpolationAlgorithm : Cesium.HermitePolynomialApproximation + * }); + * + * //Populate it with data + * property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), 1.0); + * property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:01:00.00Z'), 6.0); + * property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:02:00.00Z'), 12.0); + * property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:03:30.00Z'), 5.0); + * property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:06:30.00Z'), 2.0); + * + * //Samples can be added in any order. + * property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:00:30.00Z'), 6.2); + * + * //Retrieve an interpolated value + * var result = property.getValue(Cesium.JulianDate.fromIso8601('2012-08-01T00:02:34.00Z')); + * @param type - The type of property. + * @param [derivativeTypes] - When supplied, indicates that samples will contain derivative information of the specified types. + */ +export class SampledProperty { + constructor(type: number | Packable, derivativeTypes?: Packable[]); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets the type of property. + */ + type: any; + /** + * Gets the derivative types used by this property. + */ + derivativeTypes: Packable[]; + /** + * Gets the degree of interpolation to perform when retrieving a value. + */ + interpolationDegree: number; + /** + * Gets the interpolation algorithm to use when retrieving a value. + */ + interpolationAlgorithm: InterpolationAlgorithm; + /** + * Gets or sets the type of extrapolation to perform when a value + * is requested at a time after any available samples. + */ + forwardExtrapolationType: ExtrapolationType; + /** + * Gets or sets the amount of time to extrapolate forward before + * the property becomes undefined. A value of 0 will extrapolate forever. + */ + forwardExtrapolationDuration: number; + /** + * Gets or sets the type of extrapolation to perform when a value + * is requested at a time before any available samples. + */ + backwardExtrapolationType: ExtrapolationType; + /** + * Gets or sets the amount of time to extrapolate backward + * before the property becomes undefined. A value of 0 will extrapolate forever. + */ + backwardExtrapolationDuration: number; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Sets the algorithm and degree to use when interpolating a value. + * @param [options] - Object with the following properties: + * @param [options.interpolationAlgorithm] - The new interpolation algorithm. If undefined, the existing property will be unchanged. + * @param [options.interpolationDegree] - The new interpolation degree. If undefined, the existing property will be unchanged. + */ + setInterpolationOptions(options?: { + interpolationAlgorithm?: InterpolationAlgorithm; + interpolationDegree?: number; + }): void; + /** + * Adds a new sample. + * @param time - The sample time. + * @param value - The value at the provided time. + * @param [derivatives] - The array of derivatives at the provided time. + */ + addSample(time: JulianDate, value: Packable, derivatives?: Packable[]): void; + /** + * Adds an array of samples. + * @param times - An array of JulianDate instances where each index is a sample time. + * @param values - The array of values, where each value corresponds to the provided times index. + * @param [derivativeValues] - An array where each item is the array of derivatives at the equivalent time index. + */ + addSamples(times: JulianDate[], values: Packable[], derivativeValues?: any[][]): void; + /** + * Adds samples as a single packed array where each new sample is represented as a date, + * followed by the packed representation of the corresponding value and derivatives. + * @param packedSamples - The array of packed samples. + * @param [epoch] - If any of the dates in packedSamples are numbers, they are considered an offset from this epoch, in seconds. + */ + addSamplesPackedArray(packedSamples: number[], epoch?: JulianDate): void; + /** + * Removes a sample at the given time, if present. + * @param time - The sample time. + * @returns true if a sample at time was removed, false otherwise. + */ + removeSample(time: JulianDate): boolean; + /** + * Removes all samples for the given time interval. + * @param time - The time interval for which to remove all samples. + */ + removeSamples(time: TimeInterval): void; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link MaterialProperty} that maps to stripe {@link Material} uniforms. + * @param [options] - Object with the following properties: + * @param [options.orientation = StripeOrientation.HORIZONTAL] - A Property specifying the {@link StripeOrientation}. + * @param [options.evenColor = Color.WHITE] - A Property specifying the first {@link Color}. + * @param [options.oddColor = Color.BLACK] - A Property specifying the second {@link Color}. + * @param [options.offset = 0] - A numeric Property specifying how far into the pattern to start the material. + * @param [options.repeat = 1] - A numeric Property specifying how many times the stripes repeat. + */ +export class StripeMaterialProperty { + constructor(options?: { + orientation?: Property | StripeOrientation; + evenColor?: Property | Color; + oddColor?: Property | Color; + offset?: Property | number; + repeat?: Property | number; + }); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the Property specifying the {@link StripeOrientation}/ + */ + orientation: Property | undefined; + /** + * Gets or sets the Property specifying the first {@link Color}. + */ + evenColor: Property | undefined; + /** + * Gets or sets the Property specifying the second {@link Color}. + */ + oddColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the point into the pattern + * to begin drawing; with 0.0 being the beginning of the even color, 1.0 the beginning + * of the odd color, 2.0 being the even color again, and any multiple or fractional values + * being in between. + */ + offset: Property | undefined; + /** + * Gets or sets the numeric Property specifying how many times the stripes repeat. + */ + repeat: Property | undefined; + /** + * Gets the {@link Material} type at the provided time. + * @param time - The time for which to retrieve the type. + * @returns The type of material. + */ + getType(time: JulianDate): string; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * Defined the orientation of stripes in {@link StripeMaterialProperty}. + */ +export enum StripeOrientation { + /** + * Horizontal orientation. + */ + HORIZONTAL = 0, + /** + * Vertical orientation. + */ + VERTICAL = 1 +} + +/** + * A {@link TimeIntervalCollectionProperty} which is also a {@link PositionProperty}. + * @param [referenceFrame = ReferenceFrame.FIXED] - The reference frame in which the position is defined. + */ +export class TimeIntervalCollectionPositionProperty { + constructor(referenceFrame?: ReferenceFrame); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is considered to have changed if a call to getValue would return + * a different result for the same time. + */ + readonly definitionChanged: Event; + /** + * Gets the interval collection. + */ + intervals: TimeIntervalCollection; + /** + * Gets the reference frame in which the position is defined. + */ + referenceFrame: ReferenceFrame; + /** + * Gets the value of the property at the provided time in the fixed frame. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Gets the value of the property at the provided time and in the provided reference frame. + * @param time - The time for which to retrieve the value. + * @param referenceFrame - The desired referenceFrame of the result. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValueInReferenceFrame(time: JulianDate, referenceFrame: ReferenceFrame, result?: Cartesian3): Cartesian3; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link Property} which is defined by a {@link TimeIntervalCollection}, where the + * data property of each {@link TimeInterval} represents the value at time. + * @example + * //Create a Cartesian2 interval property which contains data on August 1st, 2012 + * //and uses a different value every 6 hours. + * var composite = new Cesium.TimeIntervalCollectionProperty(); + * composite.intervals.addInterval(Cesium.TimeInterval.fromIso8601({ + * iso8601 : '2012-08-01T00:00:00.00Z/2012-08-01T06:00:00.00Z', + * isStartIncluded : true, + * isStopIncluded : false, + * data : new Cesium.Cartesian2(2.0, 3.4) + * })); + * composite.intervals.addInterval(Cesium.TimeInterval.fromIso8601({ + * iso8601 : '2012-08-01T06:00:00.00Z/2012-08-01T12:00:00.00Z', + * isStartIncluded : true, + * isStopIncluded : false, + * data : new Cesium.Cartesian2(12.0, 2.7) + * })); + * composite.intervals.addInterval(Cesium.TimeInterval.fromIso8601({ + * iso8601 : '2012-08-01T12:00:00.00Z/2012-08-01T18:00:00.00Z', + * isStartIncluded : true, + * isStopIncluded : false, + * data : new Cesium.Cartesian2(5.0, 12.4) + * })); + * composite.intervals.addInterval(Cesium.TimeInterval.fromIso8601({ + * iso8601 : '2012-08-01T18:00:00.00Z/2012-08-02T00:00:00.00Z', + * isStartIncluded : true, + * isStopIncluded : true, + * data : new Cesium.Cartesian2(85.0, 4.1) + * })); + */ +export class TimeIntervalCollectionProperty { + constructor(); + /** + * Gets a value indicating if this property is constant. A property is considered + * constant if getValue always returns the same result for the current definition. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + * The definition is changed whenever setValue is called with data different + * than the current value. + */ + readonly definitionChanged: Event; + /** + * Gets the interval collection. + */ + intervals: TimeIntervalCollection; + /** + * Gets the value of the property at the provided time. + * @param time - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time: JulianDate, result?: any): any; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link Property} which evaluates to a {@link Quaternion} rotation + * based on the velocity of the provided {@link PositionProperty}. + * @example + * //Create an entity with position and orientation. + * var position = new Cesium.SampledProperty(); + * position.addSamples(...); + * var entity = viewer.entities.add({ + * position : position, + * orientation : new Cesium.VelocityOrientationProperty(position) + * })); + * @param [position] - The position property used to compute the orientation. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid used to determine which way is up. + */ +export class VelocityOrientationProperty { + constructor(position?: PositionProperty, ellipsoid?: Ellipsoid); + /** + * Gets a value indicating if this property is constant. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the position property used to compute orientation. + */ + position: Property | undefined; + /** + * Gets or sets the ellipsoid used to determine which way is up. + */ + ellipsoid: Property | undefined; + /** + * Gets the value of the property at the provided time. + * @param [time] - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time?: JulianDate, result?: Quaternion): Quaternion; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * A {@link Property} which evaluates to a {@link Cartesian3} vector + * based on the velocity of the provided {@link PositionProperty}. + * @example + * //Create an entity with a billboard rotated to match its velocity. + * var position = new Cesium.SampledProperty(); + * position.addSamples(...); + * var entity = viewer.entities.add({ + * position : position, + * billboard : { + * image : 'image.png', + * alignedAxis : new Cesium.VelocityVectorProperty(position, true) // alignedAxis must be a unit vector + * } + * })); + * @param [position] - The position property used to compute the velocity. + * @param [normalize = true] - Whether to normalize the computed velocity vector. + */ +export class VelocityVectorProperty { + constructor(position?: PositionProperty, normalize?: boolean); + /** + * Gets a value indicating if this property is constant. + */ + readonly isConstant: boolean; + /** + * Gets the event that is raised whenever the definition of this property changes. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the position property used to compute the velocity vector. + */ + position: Property | undefined; + /** + * Gets or sets whether the vector produced by this property + * will be normalized or not. + */ + normalize: boolean; + /** + * Gets the value of the property at the provided time. + * @param [time] - The time for which to retrieve the value. + * @param [result] - The object to store the value into, if omitted, a new instance is created and returned. + * @returns The modified result parameter or a new instance if the result parameter was not supplied. + */ + getValue(time?: JulianDate, result?: Cartesian3): Cartesian3; + /** + * Compares this property to the provided property and returns + * true if they are equal, false otherwise. + * @param [other] - The other property. + * @returns true if left and right are equal, false otherwise. + */ + equals(other?: Property): boolean; +} + +/** + * Defines the interface for visualizers. Visualizers are plug-ins to + * {@link DataSourceDisplay} that render data associated with + * {@link DataSource} instances. + * This object is an interface for documentation purposes and is not intended + * to be instantiated directly. + */ +export class Visualizer { + constructor(); + /** + * Updates the visualization to the provided time. + * @param time - The time. + * @returns True if the display was updated to the provided time, + * false if the visualizer is waiting for an asynchronous operation to + * complete before data can be updated. + */ + update(time: JulianDate): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes all visualization and cleans up any resources associated with this instance. + */ + destroy(): void; +} + +/** + * A {@link GeometryUpdater} for walls. + * Clients do not normally create this class directly, but instead rely on {@link DataSourceDisplay}. + * @param entity - The entity containing the geometry to be visualized. + * @param scene - The scene where visualization is taking place. + */ +export class WallGeometryUpdater { + constructor(entity: Entity, scene: Scene); + /** + * Creates the geometry instance which represents the fill of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the filled portion of the geometry. + */ + createFillGeometryInstance(time: JulianDate): GeometryInstance; + /** + * Creates the geometry instance which represents the outline of the geometry. + * @param time - The time to use when retrieving initial attribute values. + * @returns The geometry instance representing the outline portion of the geometry. + */ + createOutlineGeometryInstance(time: JulianDate): GeometryInstance; +} + +export namespace WallGraphics { + /** + * Initialization options for the WallGraphics constructor + * @property [show = true] - A boolean Property specifying the visibility of the wall. + * @property [positions] - A Property specifying the array of {@link Cartesian3} positions which define the top of the wall. + * @property [minimumHeights] - A Property specifying an array of heights to be used for the bottom of the wall instead of the globe surface. + * @property [maximumHeights] - A Property specifying an array of heights to be used for the top of the wall instead of the height of each position. + * @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - A numeric Property specifying the angular distance between each latitude and longitude point. + * @property [fill = true] - A boolean Property specifying whether the wall is filled with the provided material. + * @property [material = Color.WHITE] - A Property specifying the material used to fill the wall. + * @property [outline = false] - A boolean Property specifying whether the wall is outlined. + * @property [outlineColor = Color.BLACK] - A Property specifying the {@link Color} of the outline. + * @property [outlineWidth = 1.0] - A numeric Property specifying the width of the outline. + * @property [shadows = ShadowMode.DISABLED] - An enum Property specifying whether the wall casts or receives shadows from light sources. + * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this wall will be displayed. + */ + type ConstructorOptions = { + show?: Property | boolean; + positions?: Property | Cartesian3[]; + minimumHeights?: Property | number[]; + maximumHeights?: Property | number[]; + granularity?: Property | number; + fill?: Property | boolean; + material?: MaterialProperty | Color; + outline?: Property | boolean; + outlineColor?: Property | Color; + outlineWidth?: Property | number; + shadows?: Property | ShadowMode; + distanceDisplayCondition?: Property | DistanceDisplayCondition; + }; +} + +/** + * Describes a two dimensional wall defined as a line strip and optional maximum and minimum heights. + * The wall conforms to the curvature of the globe and can be placed along the surface or at altitude. + * @param [options] - Object describing initialization options + */ +export class WallGraphics { + constructor(options?: WallGraphics.ConstructorOptions); + /** + * Gets the event that is raised whenever a property or sub-property is changed or modified. + */ + readonly definitionChanged: Event; + /** + * Gets or sets the boolean Property specifying the visibility of the wall. + */ + show: Property | undefined; + /** + * Gets or sets the Property specifying the array of {@link Cartesian3} positions which define the top of the wall. + */ + positions: Property | undefined; + /** + * Gets or sets the Property specifying an array of heights to be used for the bottom of the wall instead of the surface of the globe. + * If defined, the array must be the same length as {@link Wall#positions}. + */ + minimumHeights: Property | undefined; + /** + * Gets or sets the Property specifying an array of heights to be used for the top of the wall instead of the height of each position. + * If defined, the array must be the same length as {@link Wall#positions}. + */ + maximumHeights: Property | undefined; + /** + * Gets or sets the numeric Property specifying the angular distance between points on the wall. + */ + granularity: Property | undefined; + /** + * Gets or sets the boolean Property specifying whether the wall is filled with the provided material. + */ + fill: Property | undefined; + /** + * Gets or sets the Property specifying the material used to fill the wall. + */ + material: MaterialProperty; + /** + * Gets or sets the Property specifying whether the wall is outlined. + */ + outline: Property | undefined; + /** + * Gets or sets the Property specifying the {@link Color} of the outline. + */ + outlineColor: Property | undefined; + /** + * Gets or sets the numeric Property specifying the width of the outline. + */ + outlineWidth: Property | undefined; + /** + * Get or sets the enum Property specifying whether the wall + * casts or receives shadows from light sources. + */ + shadows: Property | undefined; + /** + * Gets or sets the {@link DistanceDisplayCondition} Property specifying at what distance from the camera that this wall will be displayed. + */ + distanceDisplayCondition: Property | undefined; + /** + * Duplicates this instance. + * @param [result] - The object onto which to store the result. + * @returns The modified result parameter or a new instance if one was not provided. + */ + clone(result?: WallGraphics): WallGraphics; + /** + * Assigns each unassigned property on this object to the value + * of the same property on the provided source object. + * @param source - The object to be merged into this object. + */ + merge(source: WallGraphics): void; +} + +/** + * The data type of a pixel. + */ +export enum PixelDatatype { + UNSIGNED_BYTE = WebGLConstants.UNSIGNED_BYTE, + UNSIGNED_SHORT = WebGLConstants.UNSIGNED_SHORT, + UNSIGNED_INT = WebGLConstants.UNSIGNED_INT, + FLOAT = WebGLConstants.FLOAT, + HALF_FLOAT = WebGLConstants.HALF_FLOAT_OES, + UNSIGNED_INT_24_8 = WebGLConstants.UNSIGNED_INT_24_8, + UNSIGNED_SHORT_4_4_4_4 = WebGLConstants.UNSIGNED_SHORT_4_4_4_4, + UNSIGNED_SHORT_5_5_5_1 = WebGLConstants.UNSIGNED_SHORT_5_5_5_1, + UNSIGNED_SHORT_5_6_5 = WebGLConstants.UNSIGNED_SHORT_5_6_5 +} + +/** + * Enumerates all possible filters used when magnifying WebGL textures. + */ +export enum TextureMagnificationFilter { + /** + * Samples the texture by returning the closest pixel. + */ + NEAREST = WebGLConstants.NEAREST, + /** + * Samples the texture through bi-linear interpolation of the four nearest pixels. This produces smoother results than NEAREST filtering. + */ + LINEAR = WebGLConstants.LINEAR +} + +/** + * Enumerates all possible filters used when minifying WebGL textures. + */ +export enum TextureMinificationFilter { + /** + * Samples the texture by returning the closest pixel. + */ + NEAREST = WebGLConstants.NEAREST, + /** + * Samples the texture through bi-linear interpolation of the four nearest pixels. This produces smoother results than NEAREST filtering. + */ + LINEAR = WebGLConstants.LINEAR, + /** + * Selects the nearest mip level and applies nearest sampling within that level. + *

+ * Requires that the texture has a mipmap. The mip level is chosen by the view angle and screen-space size of the texture. + *

+ */ + NEAREST_MIPMAP_NEAREST = WebGLConstants.NEAREST_MIPMAP_NEAREST, + /** + * Selects the nearest mip level and applies linear sampling within that level. + *

+ * Requires that the texture has a mipmap. The mip level is chosen by the view angle and screen-space size of the texture. + *

+ */ + LINEAR_MIPMAP_NEAREST = WebGLConstants.LINEAR_MIPMAP_NEAREST, + /** + * Read texture values with nearest sampling from two adjacent mip levels and linearly interpolate the results. + *

+ * This option provides a good balance of visual quality and speed when sampling from a mipmapped texture. + *

+ *

+ * Requires that the texture has a mipmap. The mip level is chosen by the view angle and screen-space size of the texture. + *

+ */ + NEAREST_MIPMAP_LINEAR = WebGLConstants.NEAREST_MIPMAP_LINEAR, + /** + * Read texture values with linear sampling from two adjacent mip levels and linearly interpolate the results. + *

+ * This option provides a good balance of visual quality and speed when sampling from a mipmapped texture. + *

+ *

+ * Requires that the texture has a mipmap. The mip level is chosen by the view angle and screen-space size of the texture. + *

+ */ + LINEAR_MIPMAP_LINEAR = WebGLConstants.LINEAR_MIPMAP_LINEAR +} + +/** + * An appearance defines the full GLSL vertex and fragment shaders and the + * render state used to draw a {@link Primitive}. All appearances implement + * this base Appearance interface. + * @param [options] - Object with the following properties: + * @param [options.translucent = true] - When true, the geometry is expected to appear translucent so {@link Appearance#renderState} has alpha blending enabled. + * @param [options.closed = false] - When true, the geometry is expected to be closed so {@link Appearance#renderState} has backface culling enabled. + * @param [options.material = Material.ColorType] - The material used to determine the fragment color. + * @param [options.vertexShaderSource] - Optional GLSL vertex shader source to override the default vertex shader. + * @param [options.fragmentShaderSource] - Optional GLSL fragment shader source to override the default fragment shader. + * @param [options.renderState] - Optional render state to override the default render state. + */ +export class Appearance { + constructor(options?: { + translucent?: boolean; + closed?: boolean; + material?: Material; + vertexShaderSource?: string; + fragmentShaderSource?: string; + renderState?: any; + }); + /** + * The material used to determine the fragment color. Unlike other {@link Appearance} + * properties, this is not read-only, so an appearance's material can change on the fly. + */ + material: Material; + /** + * When true, the geometry is expected to appear translucent. + */ + translucent: boolean; + /** + * The GLSL source code for the vertex shader. + */ + readonly vertexShaderSource: string; + /** + * The GLSL source code for the fragment shader. The full fragment shader + * source is built procedurally taking into account the {@link Appearance#material}. + * Use {@link Appearance#getFragmentShaderSource} to get the full source. + */ + readonly fragmentShaderSource: string; + /** + * The WebGL fixed-function state to use when rendering the geometry. + */ + readonly renderState: any; + /** + * When true, the geometry is expected to be closed. + */ + readonly closed: boolean; + /** + * Procedurally creates the full GLSL fragment shader source for this appearance + * taking into account {@link Appearance#fragmentShaderSource} and {@link Appearance#material}. + * @returns The full GLSL fragment shader source. + */ + getFragmentShaderSource(): string; + /** + * Determines if the geometry is translucent based on {@link Appearance#translucent} and {@link Material#isTranslucent}. + * @returns true if the appearance is translucent. + */ + isTranslucent(): boolean; + /** + * Creates a render state. This is not the final render state instance; instead, + * it can contain a subset of render state properties identical to the render state + * created in the context. + * @returns The render state. + */ + getRenderState(): any; +} + +export namespace ArcGisMapServerImageryProvider { + /** + * Initialization options for the ArcGisMapServerImageryProvider constructor + * @property url - The URL of the ArcGIS MapServer service. + * @property [token] - The ArcGIS token used to authenticate with the ArcGIS MapServer service. + * @property [tileDiscardPolicy] - The policy that determines if a tile + * is invalid and should be discarded. If this value is not specified, a default + * {@link DiscardMissingTileImagePolicy} is used for tiled map servers, and a + * {@link NeverTileDiscardPolicy} is used for non-tiled map servers. In the former case, + * we request tile 0,0 at the maximum tile level and check pixels (0,0), (200,20), (20,200), + * (80,110), and (160, 130). If all of these pixels are transparent, the discard check is + * disabled and no tiles are discarded. If any of them have a non-transparent color, any + * tile that has the same values in these pixel locations is discarded. The end result of + * these defaults should be correct tile discarding for a standard ArcGIS Server. To ensure + * that no tiles are discarded, construct and pass a {@link NeverTileDiscardPolicy} for this + * parameter. + * @property [usePreCachedTilesIfAvailable = true] - If true, the server's pre-cached + * tiles are used if they are available. If false, any pre-cached tiles are ignored and the + * 'export' service is used. + * @property [layers] - A comma-separated list of the layers to show, or undefined if all layers should be shown. + * @property [enablePickFeatures = true] - If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will invoke + * the Identify service on the MapServer and return the features included in the response. If false, + * {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features) + * without communicating with the server. Set this property to false if you don't want this provider's features to + * be pickable. Can be overridden by setting the {@link ArcGisMapServerImageryProvider#enablePickFeatures} property on the object. + * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle of the layer. This parameter is ignored when accessing + * a tiled layer. + * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme to use to divide the world into tiles. + * This parameter is ignored when accessing a tiled server. + * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified and used, + * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither + * parameter is specified, the WGS84 ellipsoid is used. + * @property [credit] - A credit for the data source, which is displayed on the canvas. This parameter is ignored when accessing a tiled server. + * @property [tileWidth = 256] - The width of each tile in pixels. This parameter is ignored when accessing a tiled server. + * @property [tileHeight = 256] - The height of each tile in pixels. This parameter is ignored when accessing a tiled server. + * @property [maximumLevel] - The maximum tile level to request, or undefined if there is no maximum. This parameter is ignored when accessing + * a tiled server. + */ + type ConstructorOptions = { + url: Resource | string; + token?: string; + tileDiscardPolicy?: TileDiscardPolicy; + usePreCachedTilesIfAvailable?: boolean; + layers?: string; + enablePickFeatures?: boolean; + rectangle?: Rectangle; + tilingScheme?: TilingScheme; + ellipsoid?: Ellipsoid; + credit?: Credit | string; + tileWidth?: number; + tileHeight?: number; + maximumLevel?: number; + }; +} + +/** + * Provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are + * used, if available. + * @example + * var esri = new Cesium.ArcGisMapServerImageryProvider({ + * url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer' + * }); + * @param options - Object describing initialization options + */ +export class ArcGisMapServerImageryProvider { + constructor(options: ArcGisMapServerImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets or sets a value indicating whether feature picking is enabled. If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will + * invoke the "identify" operation on the ArcGIS server and return the features included in the response. If false, + * {@link ArcGisMapServerImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features) + * without communicating with the server. + */ + enablePickFeatures: boolean; + /** + * Gets the URL of the ArcGIS MapServer. + */ + readonly url: string; + /** + * Gets the ArcGIS token used to authenticate with the ArcGis MapServer service. + */ + readonly token: string; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link ArcGisMapServerImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether this imagery provider is using pre-cached tiles from the + * ArcGIS MapServer. If the imagery provider is not yet ready ({@link ArcGisMapServerImageryProvider#ready}), this function + * will return the value of `options.usePreCachedTilesIfAvailable`, even if the MapServer does + * not have pre-cached tiles. + */ + readonly usingPrecachedTiles: boolean; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the comma-separated list of layer IDs to show. + */ + layers: string; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link ArcGisMapServerImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * /** + * Asynchronously determines what features, if any, are located at a given longitude and latitude within + * a tile. This function should not be called before {@link ImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +/** + * An enum describing the x, y, and z axes and helper conversion functions. + */ +export enum Axis { + /** + * Denotes the x-axis. + */ + X = 0, + /** + * Denotes the y-axis. + */ + Y = 1, + /** + * Denotes the z-axis. + */ + Z = 2 +} + +/** + * A viewport-aligned image positioned in the 3D scene, that is created + * and rendered using a {@link BillboardCollection}. A billboard is created and its initial + * properties are set by calling {@link BillboardCollection#add}. + *

+ *
+ *
+ * Example billboards + *
+ */ +export class Billboard { + constructor(); + /** + * Determines if this billboard will be shown. Use this to hide or show a billboard, instead + * of removing it and re-adding it to the collection. + */ + show: boolean; + /** + * Gets or sets the Cartesian position of this billboard. + */ + position: Cartesian3; + /** + * Gets or sets the height reference of this billboard. + */ + heightReference: HeightReference; + /** + * Gets or sets the pixel offset in screen space from the origin of this billboard. This is commonly used + * to align multiple billboards and labels at the same position, e.g., an image and text. The + * screen space origin is the top, left corner of the canvas; x increases from + * left to right, and y increases from top to bottom. + *

+ *
+ * + * + * + *
default
b.pixeloffset = new Cartesian2(50, 25);
+ * The billboard's origin is indicated by the yellow point. + *
+ */ + pixelOffset: Cartesian2; + /** + * Gets or sets near and far scaling properties of a Billboard based on the billboard's distance from the camera. + * A billboard's scale will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the billboard's scale remains clamped to the nearest bound. If undefined, + * scaleByDistance will be disabled. + * @example + * // Example 1. + * // Set a billboard's scaleByDistance to scale by 1.5 when the + * // camera is 1500 meters from the billboard and disappear as + * // the camera distance approaches 8.0e6 meters. + * b.scaleByDistance = new Cesium.NearFarScalar(1.5e2, 1.5, 8.0e6, 0.0); + * @example + * // Example 2. + * // disable scaling by distance + * b.scaleByDistance = undefined; + */ + scaleByDistance: NearFarScalar; + /** + * Gets or sets near and far translucency properties of a Billboard based on the billboard's distance from the camera. + * A billboard's translucency will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the billboard's translucency remains clamped to the nearest bound. If undefined, + * translucencyByDistance will be disabled. + * @example + * // Example 1. + * // Set a billboard's translucency to 1.0 when the + * // camera is 1500 meters from the billboard and disappear as + * // the camera distance approaches 8.0e6 meters. + * b.translucencyByDistance = new Cesium.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0); + * @example + * // Example 2. + * // disable translucency by distance + * b.translucencyByDistance = undefined; + */ + translucencyByDistance: NearFarScalar; + /** + * Gets or sets near and far pixel offset scaling properties of a Billboard based on the billboard's distance from the camera. + * A billboard's pixel offset will be scaled between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the billboard's pixel offset scale remains clamped to the nearest bound. If undefined, + * pixelOffsetScaleByDistance will be disabled. + * @example + * // Example 1. + * // Set a billboard's pixel offset scale to 0.0 when the + * // camera is 1500 meters from the billboard and scale pixel offset to 10.0 pixels + * // in the y direction the camera distance approaches 8.0e6 meters. + * b.pixelOffset = new Cesium.Cartesian2(0.0, 1.0); + * b.pixelOffsetScaleByDistance = new Cesium.NearFarScalar(1.5e2, 0.0, 8.0e6, 10.0); + * @example + * // Example 2. + * // disable pixel offset by distance + * b.pixelOffsetScaleByDistance = undefined; + */ + pixelOffsetScaleByDistance: NearFarScalar; + /** + * Gets or sets the 3D Cartesian offset applied to this billboard in eye coordinates. Eye coordinates is a left-handed + * coordinate system, where x points towards the viewer's right, y points up, and + * z points into the screen. Eye coordinates use the same scale as world and model coordinates, + * which is typically meters. + *

+ * An eye offset is commonly used to arrange multiple billboards or objects at the same position, e.g., to + * arrange a billboard above its corresponding 3D model. + *

+ * Below, the billboard is positioned at the center of the Earth but an eye offset makes it always + * appear on top of the Earth regardless of the viewer's or Earth's orientation. + *

+ *
+ * + * + * + *
+ * b.eyeOffset = new Cartesian3(0.0, 8000000.0, 0.0);

+ *
+ */ + eyeOffset: Cartesian3; + /** + * Gets or sets the horizontal origin of this billboard, which determines if the billboard is + * to the left, center, or right of its anchor position. + *

+ *
+ *
+ *
+ * @example + * // Use a bottom, left origin + * b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT; + * b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM; + */ + horizontalOrigin: HorizontalOrigin; + /** + * Gets or sets the vertical origin of this billboard, which determines if the billboard is + * to the above, below, or at the center of its anchor position. + *

+ *
+ *
+ *
+ * @example + * // Use a bottom, left origin + * b.horizontalOrigin = Cesium.HorizontalOrigin.LEFT; + * b.verticalOrigin = Cesium.VerticalOrigin.BOTTOM; + */ + verticalOrigin: VerticalOrigin; + /** + * Gets or sets the uniform scale that is multiplied with the billboard's image size in pixels. + * A scale of 1.0 does not change the size of the billboard; a scale greater than + * 1.0 enlarges the billboard; a positive scale less than 1.0 shrinks + * the billboard. + *

+ *
+ *
+ * From left to right in the above image, the scales are 0.5, 1.0, + * and 2.0. + *
+ */ + scale: number; + /** + * Gets or sets the color that is multiplied with the billboard's texture. This has two common use cases. First, + * the same white texture may be used by many different billboards, each with a different color, to create + * colored billboards. Second, the color's alpha component can be used to make the billboard translucent as shown below. + * An alpha of 0.0 makes the billboard transparent, and 1.0 makes the billboard opaque. + *

+ *
+ * + * + * + *
default
alpha : 0.5
+ *
+ *
+ * The red, green, blue, and alpha values are indicated by value's red, green, + * blue, and alpha properties as shown in Example 1. These components range from 0.0 + * (no intensity) to 1.0 (full intensity). + * @example + * // Example 1. Assign yellow. + * b.color = Cesium.Color.YELLOW; + * @example + * // Example 2. Make a billboard 50% translucent. + * b.color = new Cesium.Color(1.0, 1.0, 1.0, 0.5); + */ + color: Color; + /** + * Gets or sets the rotation angle in radians. + */ + rotation: number; + /** + * Gets or sets the aligned axis in world space. The aligned axis is the unit vector that the billboard up vector points towards. + * The default is the zero vector, which means the billboard is aligned to the screen up vector. + * @example + * // Example 1. + * // Have the billboard up vector point north + * billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z; + * @example + * // Example 2. + * // Have the billboard point east. + * billboard.alignedAxis = Cesium.Cartesian3.UNIT_Z; + * billboard.rotation = -Cesium.Math.PI_OVER_TWO; + * @example + * // Example 3. + * // Reset the aligned axis + * billboard.alignedAxis = Cesium.Cartesian3.ZERO; + */ + alignedAxis: Cartesian3; + /** + * Gets or sets a width for the billboard. If undefined, the image width will be used. + */ + width: number; + /** + * Gets or sets a height for the billboard. If undefined, the image height will be used. + */ + height: number; + /** + * Gets or sets if the billboard size is in meters or pixels. true to size the billboard in meters; + * otherwise, the size is in pixels. + */ + sizeInMeters: boolean; + /** + * Gets or sets the condition specifying at what distance from the camera that this billboard will be displayed. + */ + distanceDisplayCondition: DistanceDisplayCondition; + /** + * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain. + * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied. + */ + disableDepthTestDistance: number; + /** + * Gets or sets the user-defined object returned when the billboard is picked. + */ + id: any; + /** + *

+ * Gets or sets the image to be used for this billboard. If a texture has already been created for the + * given image, the existing texture is used. + *

+ *

+ * This property can be set to a loaded Image, a URL which will be loaded as an Image automatically, + * a canvas, or another billboard's image property (from the same billboard collection). + *

+ * @example + * // load an image from a URL + * b.image = 'some/image/url.png'; + * + * // assuming b1 and b2 are billboards in the same billboard collection, + * // use the same image for both billboards. + * b2.image = b1.image; + */ + image: string; + /** + * When true, this billboard is ready to render, i.e., the image + * has been downloaded and the WebGL resources are created. + */ + readonly ready: boolean; + /** + *

+ * Sets the image to be used for this billboard. If a texture has already been created for the + * given id, the existing texture is used. + *

+ *

+ * This function is useful for dynamically creating textures that are shared across many billboards. + * Only the first billboard will actually call the function and create the texture, while subsequent + * billboards created with the same id will simply re-use the existing texture. + *

+ *

+ * To load an image from a URL, setting the {@link Billboard#image} property is more convenient. + *

+ * @example + * // create a billboard image dynamically + * function drawImage(id) { + * // create and draw an image using a canvas + * var canvas = document.createElement('canvas'); + * var context2D = canvas.getContext('2d'); + * // ... draw image + * return canvas; + * } + * // drawImage will be called to create the texture + * b.setImage('myImage', drawImage); + * + * // subsequent billboards created in the same collection using the same id will use the existing + * // texture, without the need to create the canvas or draw the image + * b2.setImage('myImage', drawImage); + * @param id - The id of the image. This can be any string that uniquely identifies the image. + * @param image - The image to load. This parameter + * can either be a loaded Image or Canvas, a URL which will be loaded as an Image automatically, + * or a function which will be called to create the image if it hasn't been loaded already. + */ + setImage(id: string, image: HTMLImageElement | HTMLCanvasElement | string | Resource | Billboard.CreateImageCallback): void; + /** + * Uses a sub-region of the image with the given id as the image for this billboard, + * measured in pixels from the bottom-left. + * @param id - The id of the image to use. + * @param subRegion - The sub-region of the image. + */ + setImageSubRegion(id: string, subRegion: BoundingRectangle): void; + /** + * Computes the screen-space position of the billboard's origin, taking into account eye and pixel offsets. + * The screen space origin is the top, left corner of the canvas; x increases from + * left to right, and y increases from top to bottom. + * @example + * console.log(b.computeScreenSpacePosition(scene).toString()); + * @param scene - The scene. + * @param [result] - The object onto which to store the result. + * @returns The screen-space position of the billboard. + */ + computeScreenSpacePosition(scene: Scene, result?: Cartesian2): Cartesian2; + /** + * Determines if this billboard equals another billboard. Billboards are equal if all their properties + * are equal. Billboards in different collections can be equal. + * @param other - The billboard to compare for equality. + * @returns true if the billboards are equal; otherwise, false. + */ + equals(other: Billboard): boolean; +} + +export namespace Billboard { + /** + * A function that creates an image. + * @param id - The identifier of the image to load. + */ + type CreateImageCallback = (id: string) => HTMLImageElement | HTMLCanvasElement | Promise; +} + +/** + * A renderable collection of billboards. Billboards are viewport-aligned + * images positioned in the 3D scene. + *

+ *
+ *
+ * Example billboards + *
+ *

+ * Billboards are added and removed from the collection using {@link BillboardCollection#add} + * and {@link BillboardCollection#remove}. Billboards in a collection automatically share textures + * for images with the same identifier. + * @example + * // Create a billboard collection with two billboards + * var billboards = scene.primitives.add(new Cesium.BillboardCollection()); + * billboards.add({ + * position : new Cesium.Cartesian3(1.0, 2.0, 3.0), + * image : 'url/to/image' + * }); + * billboards.add({ + * position : new Cesium.Cartesian3(4.0, 5.0, 6.0), + * image : 'url/to/another/image' + * }); + * @param [options] - Object with the following properties: + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms each billboard from model to world coordinates. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown. + * @param [options.scene] - Must be passed in for billboards that use the height reference property or will be depth tested against the globe. + * @param [options.blendOption = BlendOption.OPAQUE_AND_TRANSLUCENT] - The billboard blending option. The default + * is used for rendering both opaque and translucent billboards. However, if either all of the billboards are completely opaque or all are completely translucent, + * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve performance by up to 2x. + */ +export class BillboardCollection { + constructor(options?: { + modelMatrix?: Matrix4; + debugShowBoundingVolume?: boolean; + scene?: Scene; + blendOption?: BlendOption; + }); + /** + * The 4x4 transformation matrix that transforms each billboard in this collection from model to world coordinates. + * When this is the identity matrix, the billboards are drawn in world coordinates, i.e., Earth's WGS84 coordinates. + * Local reference frames can be used by providing a different transformation matrix, like that returned + * by {@link Transforms.eastNorthUpToFixedFrame}. + * @example + * var center = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883); + * billboards.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center); + * billboards.add({ + * image : 'url/to/image', + * position : new Cesium.Cartesian3(0.0, 0.0, 0.0) // center + * }); + * billboards.add({ + * image : 'url/to/image', + * position : new Cesium.Cartesian3(1000000.0, 0.0, 0.0) // east + * }); + * billboards.add({ + * image : 'url/to/image', + * position : new Cesium.Cartesian3(0.0, 1000000.0, 0.0) // north + * }); + * billboards.add({ + * image : 'url/to/image', + * position : new Cesium.Cartesian3(0.0, 0.0, 1000000.0) // up + * }); + */ + modelMatrix: Matrix4; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the bounding sphere for each draw command in the primitive. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the texture atlas for this BillboardCollection as a fullscreen quad. + *

+ */ + debugShowTextureAtlas: boolean; + /** + * The billboard blending option. The default is used for rendering both opaque and translucent billboards. + * However, if either all of the billboards are completely opaque or all are completely translucent, + * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve + * performance by up to 2x. + */ + blendOption: BlendOption; + /** + * Returns the number of billboards in this collection. This is commonly used with + * {@link BillboardCollection#get} to iterate over all the billboards + * in the collection. + */ + length: number; + /** + * Creates and adds a billboard with the specified initial properties to the collection. + * The added billboard is returned so it can be modified or removed from the collection later. + * @example + * // Example 1: Add a billboard, specifying all the default values. + * var b = billboards.add({ + * show : true, + * position : Cesium.Cartesian3.ZERO, + * pixelOffset : Cesium.Cartesian2.ZERO, + * eyeOffset : Cesium.Cartesian3.ZERO, + * heightReference : Cesium.HeightReference.NONE, + * horizontalOrigin : Cesium.HorizontalOrigin.CENTER, + * verticalOrigin : Cesium.VerticalOrigin.CENTER, + * scale : 1.0, + * image : 'url/to/image', + * imageSubRegion : undefined, + * color : Cesium.Color.WHITE, + * id : undefined, + * rotation : 0.0, + * alignedAxis : Cesium.Cartesian3.ZERO, + * width : undefined, + * height : undefined, + * scaleByDistance : undefined, + * translucencyByDistance : undefined, + * pixelOffsetScaleByDistance : undefined, + * sizeInMeters : false, + * distanceDisplayCondition : undefined + * }); + * @example + * // Example 2: Specify only the billboard's cartographic position. + * var b = billboards.add({ + * position : Cesium.Cartesian3.fromDegrees(longitude, latitude, height) + * }); + * @param [options] - A template describing the billboard's properties as shown in Example 1. + * @returns The billboard that was added to the collection. + */ + add(options?: any): Billboard; + /** + * Removes a billboard from the collection. + * @example + * var b = billboards.add(...); + * billboards.remove(b); // Returns true + * @param billboard - The billboard to remove. + * @returns true if the billboard was removed; false if the billboard was not found in the collection. + */ + remove(billboard: Billboard): boolean; + /** + * Removes all billboards from the collection. + * @example + * billboards.add(...); + * billboards.add(...); + * billboards.removeAll(); + */ + removeAll(): void; + /** + * Check whether this collection contains a given billboard. + * @param [billboard] - The billboard to check for. + * @returns true if this collection contains the billboard, false otherwise. + */ + contains(billboard?: Billboard): boolean; + /** + * Returns the billboard in the collection at the specified index. Indices are zero-based + * and increase as billboards are added. Removing a billboard shifts all billboards after + * it to the left, changing their indices. This function is commonly used with + * {@link BillboardCollection#length} to iterate over all the billboards + * in the collection. + * @example + * // Toggle the show property of every billboard in the collection + * var len = billboards.length; + * for (var i = 0; i < len; ++i) { + * var b = billboards.get(i); + * b.show = !b.show; + * } + * @param index - The zero-based index of the billboard. + * @returns The billboard at the specified index. + */ + get(index: number): Billboard; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * get the draw commands needed to render this primitive. + *

+ * Do not call this function directly. This is documented just to + * list the exceptions that may be propagated when the scene is rendered: + *

+ */ + update(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * billboards = billboards && billboards.destroy(); + */ + destroy(): void; +} + +export namespace BingMapsImageryProvider { + /** + * Initialization options for the BingMapsImageryProvider constructor + * @property url - The url of the Bing Maps server hosting the imagery. + * @property key - The Bing Maps key for your application, which can be + * created at {@link https://www.bingmapsportal.com/}. + * @property [tileProtocol] - The protocol to use when loading tiles, e.g. 'http' or 'https'. + * By default, tiles are loaded using the same protocol as the page. + * @property [mapStyle = BingMapsStyle.AERIAL] - The type of Bing Maps imagery to load. + * @property [culture = ''] - The culture to use when requesting Bing Maps imagery. Not + * all cultures are supported. See {@link http://msdn.microsoft.com/en-us/library/hh441729.aspx} + * for information on the supported cultures. + * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + * @property [tileDiscardPolicy] - The policy that determines if a tile + * is invalid and should be discarded. By default, a {@link DiscardEmptyTileImagePolicy} + * will be used, with the expectation that the Bing Maps server will send a zero-length response for missing tiles. + * To ensure that no tiles are discarded, construct and pass a {@link NeverTileDiscardPolicy} for this parameter. + */ + type ConstructorOptions = { + url: Resource | string; + key: string; + tileProtocol?: string; + mapStyle?: BingMapsStyle; + culture?: string; + ellipsoid?: Ellipsoid; + tileDiscardPolicy?: TileDiscardPolicy; + }; +} + +/** + * Provides tiled imagery using the Bing Maps Imagery REST API. + * @example + * var bing = new Cesium.BingMapsImageryProvider({ + * url : 'https://dev.virtualearth.net', + * key : 'get-yours-at-https://www.bingmapsportal.com/', + * mapStyle : Cesium.BingMapsStyle.AERIAL + * }); + * @param options - Object describing initialization options + */ +export class BingMapsImageryProvider { + constructor(options: BingMapsImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the name of the BingMaps server url hosting the imagery. + */ + readonly url: string; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the Bing Maps key. + */ + readonly key: string; + /** + * Gets the type of Bing Maps imagery to load. + */ + readonly mapStyle: BingMapsStyle; + /** + * The culture to use when requesting Bing Maps imagery. Not + * all cultures are supported. See {@link http://msdn.microsoft.com/en-us/library/hh441729.aspx} + * for information on the supported cultures. + */ + readonly culture: string; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link BingMapsImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link BingMapsImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link BingMapsImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link BingMapsImageryProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link BingMapsImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link BingMapsImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link BingMapsImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link BingMapsImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage + * and texture upload time. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link BingMapsImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Picking features is not currently supported by this imagery provider, so this function simply returns + * undefined. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; + /** + * Converts a tiles (x, y, level) position into a quadkey used to request an image + * from a Bing Maps server. + * @param x - The tile's x coordinate. + * @param y - The tile's y coordinate. + * @param level - The tile's zoom level. + */ + static tileXYToQuadKey(x: number, y: number, level: number): void; + /** + * Converts a tile's quadkey used to request an image from a Bing Maps server into the + * (x, y, level) position. + * @param quadkey - The tile's quad key + */ + static quadKeyToTileXY(quadkey: string): void; + /** + * Gets or sets the URL to the Bing logo for display in the credit. + */ + static logoUrl: string; +} + +/** + * The types of imagery provided by Bing Maps. + */ +export enum BingMapsStyle { + /** + * Aerial imagery. + */ + AERIAL = "Aerial", + /** + * Aerial imagery with a road overlay. + */ + AERIAL_WITH_LABELS = "AerialWithLabels", + /** + * Aerial imagery with a road overlay. + */ + AERIAL_WITH_LABELS_ON_DEMAND = "AerialWithLabelsOnDemand", + /** + * Roads without additional imagery. + */ + ROAD = "Road", + /** + * Roads without additional imagery. + */ + ROAD_ON_DEMAND = "RoadOnDemand", + /** + * A dark version of the road maps. + */ + CANVAS_DARK = "CanvasDark", + /** + * A lighter version of the road maps. + */ + CANVAS_LIGHT = "CanvasLight", + /** + * A grayscale version of the road maps. + */ + CANVAS_GRAY = "CanvasGray", + /** + * Ordnance Survey imagery. This imagery is visible only for the London, UK area. + */ + ORDNANCE_SURVEY = "OrdnanceSurvey", + /** + * Collins Bart imagery. + */ + COLLINS_BART = "CollinsBart" +} + +/** + * Determines how two pixels' values are combined. + */ +export enum BlendEquation { + /** + * Pixel values are added componentwise. This is used in additive blending for translucency. + */ + ADD = WebGLConstants.FUNC_ADD, + /** + * Pixel values are subtracted componentwise (source - destination). This is used in alpha blending for translucency. + */ + SUBTRACT = WebGLConstants.FUNC_SUBTRACT, + /** + * Pixel values are subtracted componentwise (destination - source). + */ + REVERSE_SUBTRACT = WebGLConstants.FUNC_REVERSE_SUBTRACT, + /** + * Pixel values are given to the minimum function (min(source, destination)). + * + * This equation operates on each pixel color component. + */ + MIN = WebGLConstants.MIN, + /** + * Pixel values are given to the maximum function (max(source, destination)). + * + * This equation operates on each pixel color component. + */ + MAX = WebGLConstants.MAX +} + +/** + * Determines how blending factors are computed. + */ +export enum BlendFunction { + /** + * The blend factor is zero. + */ + ZERO = WebGLConstants.ZERO, + /** + * The blend factor is one. + */ + ONE = WebGLConstants.ONE, + /** + * The blend factor is the source color. + */ + SOURCE_COLOR = WebGLConstants.SRC_COLOR, + /** + * The blend factor is one minus the source color. + */ + ONE_MINUS_SOURCE_COLOR = WebGLConstants.ONE_MINUS_SRC_COLOR, + /** + * The blend factor is the destination color. + */ + DESTINATION_COLOR = WebGLConstants.DST_COLOR, + /** + * The blend factor is one minus the destination color. + */ + ONE_MINUS_DESTINATION_COLOR = WebGLConstants.ONE_MINUS_DST_COLOR, + /** + * The blend factor is the source alpha. + */ + SOURCE_ALPHA = WebGLConstants.SRC_ALPHA, + /** + * The blend factor is one minus the source alpha. + */ + ONE_MINUS_SOURCE_ALPHA = WebGLConstants.ONE_MINUS_SRC_ALPHA, + /** + * The blend factor is the destination alpha. + */ + DESTINATION_ALPHA = WebGLConstants.DST_ALPHA, + /** + * The blend factor is one minus the destination alpha. + */ + ONE_MINUS_DESTINATION_ALPHA = WebGLConstants.ONE_MINUS_DST_ALPHA, + /** + * The blend factor is the constant color. + */ + CONSTANT_COLOR = WebGLConstants.CONSTANT_COLOR, + /** + * The blend factor is one minus the constant color. + */ + ONE_MINUS_CONSTANT_COLOR = WebGLConstants.ONE_MINUS_CONSTANT_COLOR, + /** + * The blend factor is the constant alpha. + */ + CONSTANT_ALPHA = WebGLConstants.CONSTANT_ALPHA, + /** + * The blend factor is one minus the constant alpha. + */ + ONE_MINUS_CONSTANT_ALPHA = WebGLConstants.ONE_MINUS_CONSTANT_ALPHA, + /** + * The blend factor is the saturated source alpha. + */ + SOURCE_ALPHA_SATURATE = WebGLConstants.SRC_ALPHA_SATURATE +} + +/** + * The blending state combines {@link BlendEquation} and {@link BlendFunction} and the + * enabled flag to define the full blending state for combining source and + * destination fragments when rendering. + *

+ * This is a helper when using custom render states with {@link Appearance#renderState}. + *

+ */ +export namespace BlendingState { + /** + * Blending is disabled. + */ + const DISABLED: any; + /** + * Blending is enabled using alpha blending, source(source.alpha) + destination(1 - source.alpha). + */ + const ALPHA_BLEND: any; + /** + * Blending is enabled using alpha blending with premultiplied alpha, source + destination(1 - source.alpha). + */ + const PRE_MULTIPLIED_ALPHA_BLEND: any; + /** + * Blending is enabled using additive blending, source(source.alpha) + destination. + */ + const ADDITIVE_BLEND: any; +} + +/** + * Determines how opaque and translucent parts of billboards, points, and labels are blended with the scene. + */ +export enum BlendOption { + /** + * The billboards, points, or labels in the collection are completely opaque. + */ + OPAQUE = 0, + /** + * The billboards, points, or labels in the collection are completely translucent. + */ + TRANSLUCENT = 1, + /** + * The billboards, points, or labels in the collection are both opaque and translucent. + */ + OPAQUE_AND_TRANSLUCENT = 2 +} + +/** + * A ParticleEmitter that emits particles within a box. + * Particles will be positioned randomly within the box and have initial velocities emanating from the center of the box. + * @param dimensions - The width, height and depth dimensions of the box. + */ +export class BoxEmitter { + constructor(dimensions: Cartesian3); + /** + * The width, height and depth dimensions of the box in meters. + */ + dimensions: Cartesian3; +} + +/** + * The camera is defined by a position, orientation, and view frustum. + *

+ * The orientation forms an orthonormal basis with a view, up and right = view x up unit vectors. + *

+ * The viewing frustum is defined by 6 planes. + * Each plane is represented by a {@link Cartesian4} object, where the x, y, and z components + * define the unit vector normal to the plane, and the w component is the distance of the + * plane from the origin/camera position. + * @example + * // Create a camera looking down the negative z-axis, positioned at the origin, + * // with a field of view of 60 degrees, and 1:1 aspect ratio. + * var camera = new Cesium.Camera(scene); + * camera.position = new Cesium.Cartesian3(); + * camera.direction = Cesium.Cartesian3.negate(Cesium.Cartesian3.UNIT_Z, new Cesium.Cartesian3()); + * camera.up = Cesium.Cartesian3.clone(Cesium.Cartesian3.UNIT_Y); + * camera.frustum.fov = Cesium.Math.PI_OVER_THREE; + * camera.frustum.near = 1.0; + * camera.frustum.far = 2.0; + * @param scene - The scene. + */ +export class Camera { + constructor(scene: Scene); + /** + * The position of the camera. + */ + position: Cartesian3; + /** + * The view direction of the camera. + */ + direction: Cartesian3; + /** + * The up direction of the camera. + */ + up: Cartesian3; + /** + * The right direction of the camera. + */ + right: Cartesian3; + /** + * The region of space in view. + */ + frustum: PerspectiveFrustum | PerspectiveOffCenterFrustum | OrthographicFrustum; + /** + * The default amount to move the camera when an argument is not + * provided to the move methods. + */ + defaultMoveAmount: number; + /** + * The default amount to rotate the camera when an argument is not + * provided to the look methods. + */ + defaultLookAmount: number; + /** + * The default amount to rotate the camera when an argument is not + * provided to the rotate methods. + */ + defaultRotateAmount: number; + /** + * The default amount to move the camera when an argument is not + * provided to the zoom methods. + */ + defaultZoomAmount: number; + /** + * If set, the camera will not be able to rotate past this axis in either direction. + */ + constrainedAxis: Cartesian3; + /** + * The factor multiplied by the the map size used to determine where to clamp the camera position + * when zooming out from the surface. The default is 1.5. Only valid for 2D and the map is rotatable. + */ + maximumZoomFactor: number; + /** + * The amount the camera has to change before the changed event is raised. The value is a percentage in the [0, 1] range. + */ + percentageChanged: number; + /** + * The default rectangle the camera will view on creation. + */ + static DEFAULT_VIEW_RECTANGLE: Rectangle; + /** + * A scalar to multiply to the camera position and add it back after setting the camera to view the rectangle. + * A value of zero means the camera will view the entire {@link Camera#DEFAULT_VIEW_RECTANGLE}, a value greater than zero + * will move it further away from the extent, and a value less than zero will move it close to the extent. + */ + static DEFAULT_VIEW_FACTOR: number; + /** + * The default heading/pitch/range that is used when the camera flies to a location that contains a bounding sphere. + */ + static DEFAULT_OFFSET: HeadingPitchRange; + /** + * Gets the camera's reference frame. The inverse of this transformation is appended to the view matrix. + */ + readonly transform: Matrix4; + /** + * Gets the inverse camera transform. + */ + readonly inverseTransform: Matrix4; + /** + * Gets the view matrix. + */ + readonly viewMatrix: Matrix4; + /** + * Gets the inverse view matrix. + */ + readonly inverseViewMatrix: Matrix4; + /** + * Gets the {@link Cartographic} position of the camera, with longitude and latitude + * expressed in radians and height in meters. In 2D and Columbus View, it is possible + * for the returned longitude and latitude to be outside the range of valid longitudes + * and latitudes when the camera is outside the map. + */ + readonly positionCartographic: Cartographic; + /** + * Gets the position of the camera in world coordinates. + */ + readonly positionWC: Cartesian3; + /** + * Gets the view direction of the camera in world coordinates. + */ + readonly directionWC: Cartesian3; + /** + * Gets the up direction of the camera in world coordinates. + */ + readonly upWC: Cartesian3; + /** + * Gets the right direction of the camera in world coordinates. + */ + readonly rightWC: Cartesian3; + /** + * Gets the camera heading in radians. + */ + readonly heading: number; + /** + * Gets the camera pitch in radians. + */ + readonly pitch: number; + /** + * Gets the camera roll in radians. + */ + readonly roll: number; + /** + * Gets the event that will be raised at when the camera starts to move. + */ + readonly moveStart: Event; + /** + * Gets the event that will be raised when the camera has stopped moving. + */ + readonly moveEnd: Event; + /** + * Gets the event that will be raised when the camera has changed by percentageChanged. + */ + readonly changed: Event; + /** + * Sets the camera position, orientation and transform. + * @example + * // 1. Set position with a top-down view + * viewer.camera.setView({ + * destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0) + * }); + * + * // 2 Set view with heading, pitch and roll + * viewer.camera.setView({ + * destination : cartesianPosition, + * orientation: { + * heading : Cesium.Math.toRadians(90.0), // east, default value is 0.0 (north) + * pitch : Cesium.Math.toRadians(-90), // default value (looking down) + * roll : 0.0 // default value + * } + * }); + * + * // 3. Change heading, pitch and roll with the camera position remaining the same. + * viewer.camera.setView({ + * orientation: { + * heading : Cesium.Math.toRadians(90.0), // east, default value is 0.0 (north) + * pitch : Cesium.Math.toRadians(-90), // default value (looking down) + * roll : 0.0 // default value + * } + * }); + * + * + * // 4. View rectangle with a top-down view + * viewer.camera.setView({ + * destination : Cesium.Rectangle.fromDegrees(west, south, east, north) + * }); + * + * // 5. Set position with an orientation using unit vectors. + * viewer.camera.setView({ + * destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0), + * orientation : { + * direction : new Cesium.Cartesian3(-0.04231243104240401, -0.20123236049443421, -0.97862924300734), + * up : new Cesium.Cartesian3(-0.47934589305293746, -0.8553216253114552, 0.1966022179118339) + * } + * }); + * @param options - Object with the following properties: + * @param [options.destination] - The final position of the camera in WGS84 (world) coordinates or a rectangle that would be visible from a top-down view. + * @param [options.orientation] - An object that contains either direction and up properties or heading, pitch and roll properties. By default, the direction will point + * towards the center of the frame in 3D and in the negative z direction in Columbus view. The up direction will point towards local north in 3D and in the positive + * y direction in Columbus view. Orientation is not used in 2D when in infinite scrolling mode. + * @param [options.endTransform] - Transform matrix representing the reference frame of the camera. + * @param [options.convert] - Whether to convert the destination from world coordinates to scene coordinates (only relevant when not using 3D). Defaults to true. + */ + setView(options: { + destination?: Cartesian3 | Rectangle; + orientation?: any; + endTransform?: Matrix4; + convert?: boolean; + }): void; + /** + * Fly the camera to the home view. Use {@link Camera#.DEFAULT_VIEW_RECTANGLE} to set + * the default view for the 3D scene. The home view for 2D and columbus view shows the + * entire map. + * @param [duration] - The duration of the flight in seconds. If omitted, Cesium attempts to calculate an ideal duration based on the distance to be traveled by the flight. See {@link Camera#flyTo} + */ + flyHome(duration?: number): void; + /** + * Transform a vector or point from world coordinates to the camera's reference frame. + * @param cartesian - The vector or point to transform. + * @param [result] - The object onto which to store the result. + * @returns The transformed vector or point. + */ + worldToCameraCoordinates(cartesian: Cartesian4, result?: Cartesian4): Cartesian4; + /** + * Transform a point from world coordinates to the camera's reference frame. + * @param cartesian - The point to transform. + * @param [result] - The object onto which to store the result. + * @returns The transformed point. + */ + worldToCameraCoordinatesPoint(cartesian: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Transform a vector from world coordinates to the camera's reference frame. + * @param cartesian - The vector to transform. + * @param [result] - The object onto which to store the result. + * @returns The transformed vector. + */ + worldToCameraCoordinatesVector(cartesian: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Transform a vector or point from the camera's reference frame to world coordinates. + * @param cartesian - The vector or point to transform. + * @param [result] - The object onto which to store the result. + * @returns The transformed vector or point. + */ + cameraToWorldCoordinates(cartesian: Cartesian4, result?: Cartesian4): Cartesian4; + /** + * Transform a point from the camera's reference frame to world coordinates. + * @param cartesian - The point to transform. + * @param [result] - The object onto which to store the result. + * @returns The transformed point. + */ + cameraToWorldCoordinatesPoint(cartesian: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Transform a vector from the camera's reference frame to world coordinates. + * @param cartesian - The vector to transform. + * @param [result] - The object onto which to store the result. + * @returns The transformed vector. + */ + cameraToWorldCoordinatesVector(cartesian: Cartesian3, result?: Cartesian3): Cartesian3; + /** + * Translates the camera's position by amount along direction. + * @param direction - The direction to move. + * @param [amount] - The amount, in meters, to move. Defaults to defaultMoveAmount. + */ + move(direction: Cartesian3, amount?: number): void; + /** + * Translates the camera's position by amount along the camera's view vector. + * When in 2D mode, this will zoom in the camera instead of translating the camera's position. + * @param [amount] - The amount, in meters, to move. Defaults to defaultMoveAmount. + */ + moveForward(amount?: number): void; + /** + * Translates the camera's position by amount along the opposite direction + * of the camera's view vector. + * When in 2D mode, this will zoom out the camera instead of translating the camera's position. + * @param [amount] - The amount, in meters, to move. Defaults to defaultMoveAmount. + */ + moveBackward(amount?: number): void; + /** + * Translates the camera's position by amount along the camera's up vector. + * @param [amount] - The amount, in meters, to move. Defaults to defaultMoveAmount. + */ + moveUp(amount?: number): void; + /** + * Translates the camera's position by amount along the opposite direction + * of the camera's up vector. + * @param [amount] - The amount, in meters, to move. Defaults to defaultMoveAmount. + */ + moveDown(amount?: number): void; + /** + * Translates the camera's position by amount along the camera's right vector. + * @param [amount] - The amount, in meters, to move. Defaults to defaultMoveAmount. + */ + moveRight(amount?: number): void; + /** + * Translates the camera's position by amount along the opposite direction + * of the camera's right vector. + * @param [amount] - The amount, in meters, to move. Defaults to defaultMoveAmount. + */ + moveLeft(amount?: number): void; + /** + * Rotates the camera around its up vector by amount, in radians, in the opposite direction + * of its right vector if not in 2D mode. + * @param [amount] - The amount, in radians, to rotate by. Defaults to defaultLookAmount. + */ + lookLeft(amount?: number): void; + /** + * Rotates the camera around its up vector by amount, in radians, in the direction + * of its right vector if not in 2D mode. + * @param [amount] - The amount, in radians, to rotate by. Defaults to defaultLookAmount. + */ + lookRight(amount?: number): void; + /** + * Rotates the camera around its right vector by amount, in radians, in the direction + * of its up vector if not in 2D mode. + * @param [amount] - The amount, in radians, to rotate by. Defaults to defaultLookAmount. + */ + lookUp(amount?: number): void; + /** + * Rotates the camera around its right vector by amount, in radians, in the opposite direction + * of its up vector if not in 2D mode. + * @param [amount] - The amount, in radians, to rotate by. Defaults to defaultLookAmount. + */ + lookDown(amount?: number): void; + /** + * Rotate each of the camera's orientation vectors around axis by angle + * @param axis - The axis to rotate around. + * @param [angle] - The angle, in radians, to rotate by. Defaults to defaultLookAmount. + */ + look(axis: Cartesian3, angle?: number): void; + /** + * Rotate the camera counter-clockwise around its direction vector by amount, in radians. + * @param [amount] - The amount, in radians, to rotate by. Defaults to defaultLookAmount. + */ + twistLeft(amount?: number): void; + /** + * Rotate the camera clockwise around its direction vector by amount, in radians. + * @param [amount] - The amount, in radians, to rotate by. Defaults to defaultLookAmount. + */ + twistRight(amount?: number): void; + /** + * Rotates the camera around axis by angle. The distance + * of the camera's position to the center of the camera's reference frame remains the same. + * @param axis - The axis to rotate around given in world coordinates. + * @param [angle] - The angle, in radians, to rotate by. Defaults to defaultRotateAmount. + */ + rotate(axis: Cartesian3, angle?: number): void; + /** + * Rotates the camera around the center of the camera's reference frame by angle downwards. + * @param [angle] - The angle, in radians, to rotate by. Defaults to defaultRotateAmount. + */ + rotateDown(angle?: number): void; + /** + * Rotates the camera around the center of the camera's reference frame by angle upwards. + * @param [angle] - The angle, in radians, to rotate by. Defaults to defaultRotateAmount. + */ + rotateUp(angle?: number): void; + /** + * Rotates the camera around the center of the camera's reference frame by angle to the right. + * @param [angle] - The angle, in radians, to rotate by. Defaults to defaultRotateAmount. + */ + rotateRight(angle?: number): void; + /** + * Rotates the camera around the center of the camera's reference frame by angle to the left. + * @param [angle] - The angle, in radians, to rotate by. Defaults to defaultRotateAmount. + */ + rotateLeft(angle?: number): void; + /** + * Zooms amount along the camera's view vector. + * @param [amount] - The amount to move. Defaults to defaultZoomAmount. + */ + zoomIn(amount?: number): void; + /** + * Zooms amount along the opposite direction of + * the camera's view vector. + * @param [amount] - The amount to move. Defaults to defaultZoomAmount. + */ + zoomOut(amount?: number): void; + /** + * Gets the magnitude of the camera position. In 3D, this is the vector magnitude. In 2D and + * Columbus view, this is the distance to the map. + * @returns The magnitude of the position. + */ + getMagnitude(): number; + /** + * Sets the camera position and orientation using a target and offset. The target must be given in + * world coordinates. The offset can be either a cartesian or heading/pitch/range in the local east-north-up reference frame centered at the target. + * If the offset is a cartesian, then it is an offset from the center of the reference frame defined by the transformation matrix. If the offset + * is heading/pitch/range, then the heading and the pitch angles are defined in the reference frame defined by the transformation matrix. + * The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch + * angles are below the plane. Negative pitch angles are above the plane. The range is the distance from the center. + * + * In 2D, there must be a top down view. The camera will be placed above the target looking down. The height above the + * target will be the magnitude of the offset. The heading will be determined from the offset. If the heading cannot be + * determined from the offset, the heading will be north. + * @example + * // 1. Using a cartesian offset + * var center = Cesium.Cartesian3.fromDegrees(-98.0, 40.0); + * viewer.camera.lookAt(center, new Cesium.Cartesian3(0.0, -4790000.0, 3930000.0)); + * + * // 2. Using a HeadingPitchRange offset + * var center = Cesium.Cartesian3.fromDegrees(-72.0, 40.0); + * var heading = Cesium.Math.toRadians(50.0); + * var pitch = Cesium.Math.toRadians(-20.0); + * var range = 5000.0; + * viewer.camera.lookAt(center, new Cesium.HeadingPitchRange(heading, pitch, range)); + * @param target - The target position in world coordinates. + * @param offset - The offset from the target in the local east-north-up reference frame centered at the target. + */ + lookAt(target: Cartesian3, offset: Cartesian3 | HeadingPitchRange): void; + /** + * Sets the camera position and orientation using a target and transformation matrix. The offset can be either a cartesian or heading/pitch/range. + * If the offset is a cartesian, then it is an offset from the center of the reference frame defined by the transformation matrix. If the offset + * is heading/pitch/range, then the heading and the pitch angles are defined in the reference frame defined by the transformation matrix. + * The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch + * angles are below the plane. Negative pitch angles are above the plane. The range is the distance from the center. + * + * In 2D, there must be a top down view. The camera will be placed above the center of the reference frame. The height above the + * target will be the magnitude of the offset. The heading will be determined from the offset. If the heading cannot be + * determined from the offset, the heading will be north. + * @example + * // 1. Using a cartesian offset + * var transform = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(-98.0, 40.0)); + * viewer.camera.lookAtTransform(transform, new Cesium.Cartesian3(0.0, -4790000.0, 3930000.0)); + * + * // 2. Using a HeadingPitchRange offset + * var transform = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(-72.0, 40.0)); + * var heading = Cesium.Math.toRadians(50.0); + * var pitch = Cesium.Math.toRadians(-20.0); + * var range = 5000.0; + * viewer.camera.lookAtTransform(transform, new Cesium.HeadingPitchRange(heading, pitch, range)); + * @param transform - The transformation matrix defining the reference frame. + * @param [offset] - The offset from the target in a reference frame centered at the target. + */ + lookAtTransform(transform: Matrix4, offset?: Cartesian3 | HeadingPitchRange): void; + /** + * Get the camera position needed to view a rectangle on an ellipsoid or map + * @param rectangle - The rectangle to view. + * @param [result] - The camera position needed to view the rectangle + * @returns The camera position needed to view the rectangle + */ + getRectangleCameraCoordinates(rectangle: Rectangle, result?: Cartesian3): Cartesian3; + /** + * Pick an ellipsoid or map. + * @example + * var canvas = viewer.scene.canvas; + * var center = new Cesium.Cartesian2(canvas.clientWidth / 2.0, canvas.clientHeight / 2.0); + * var ellipsoid = viewer.scene.globe.ellipsoid; + * var result = viewer.camera.pickEllipsoid(center, ellipsoid); + * @param windowPosition - The x and y coordinates of a pixel. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid to pick. + * @param [result] - The object onto which to store the result. + * @returns If the ellipsoid or map was picked, + * returns the point on the surface of the ellipsoid or map in world + * coordinates. If the ellipsoid or map was not picked, returns undefined. + */ + pickEllipsoid(windowPosition: Cartesian2, ellipsoid?: Ellipsoid, result?: Cartesian3): Cartesian3 | undefined; + /** + * Create a ray from the camera position through the pixel at windowPosition + * in world coordinates. + * @param windowPosition - The x and y coordinates of a pixel. + * @param [result] - The object onto which to store the result. + * @returns Returns the {@link Cartesian3} position and direction of the ray. + */ + getPickRay(windowPosition: Cartesian2, result?: Ray): Ray; + /** + * Return the distance from the camera to the front of the bounding sphere. + * @param boundingSphere - The bounding sphere in world coordinates. + * @returns The distance to the bounding sphere. + */ + distanceToBoundingSphere(boundingSphere: BoundingSphere): number; + /** + * Return the pixel size in meters. + * @param boundingSphere - The bounding sphere in world coordinates. + * @param drawingBufferWidth - The drawing buffer width. + * @param drawingBufferHeight - The drawing buffer height. + * @returns The pixel size in meters. + */ + getPixelSize(boundingSphere: BoundingSphere, drawingBufferWidth: number, drawingBufferHeight: number): number; + /** + * Cancels the current camera flight and leaves the camera at its current location. + * If no flight is in progress, this this function does nothing. + */ + cancelFlight(): void; + /** + * Completes the current camera flight and moves the camera immediately to its final destination. + * If no flight is in progress, this this function does nothing. + */ + completeFlight(): void; + /** + * Flies the camera from its current position to a new position. + * @example + * // 1. Fly to a position with a top-down view + * viewer.camera.flyTo({ + * destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0) + * }); + * + * // 2. Fly to a Rectangle with a top-down view + * viewer.camera.flyTo({ + * destination : Cesium.Rectangle.fromDegrees(west, south, east, north) + * }); + * + * // 3. Fly to a position with an orientation using unit vectors. + * viewer.camera.flyTo({ + * destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0), + * orientation : { + * direction : new Cesium.Cartesian3(-0.04231243104240401, -0.20123236049443421, -0.97862924300734), + * up : new Cesium.Cartesian3(-0.47934589305293746, -0.8553216253114552, 0.1966022179118339) + * } + * }); + * + * // 4. Fly to a position with an orientation using heading, pitch and roll. + * viewer.camera.flyTo({ + * destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0), + * orientation : { + * heading : Cesium.Math.toRadians(175.0), + * pitch : Cesium.Math.toRadians(-35.0), + * roll : 0.0 + * } + * }); + * @param options - Object with the following properties: + * @param options.destination - The final position of the camera in WGS84 (world) coordinates or a rectangle that would be visible from a top-down view. + * @param [options.orientation] - An object that contains either direction and up properties or heading, pitch and roll properties. By default, the direction will point + * towards the center of the frame in 3D and in the negative z direction in Columbus view. The up direction will point towards local north in 3D and in the positive + * y direction in Columbus view. Orientation is not used in 2D when in infinite scrolling mode. + * @param [options.duration] - The duration of the flight in seconds. If omitted, Cesium attempts to calculate an ideal duration based on the distance to be traveled by the flight. + * @param [options.complete] - The function to execute when the flight is complete. + * @param [options.cancel] - The function to execute if the flight is cancelled. + * @param [options.endTransform] - Transform matrix representing the reference frame the camera will be in when the flight is completed. + * @param [options.maximumHeight] - The maximum height at the peak of the flight. + * @param [options.pitchAdjustHeight] - If camera flyes higher than that value, adjust pitch duiring the flight to look down, and keep Earth in viewport. + * @param [options.flyOverLongitude] - There are always two ways between 2 points on globe. This option force camera to choose fight direction to fly over that longitude. + * @param [options.flyOverLongitudeWeight] - Fly over the lon specifyed via flyOverLongitude only if that way is not longer than short way times flyOverLongitudeWeight. + * @param [options.convert] - Whether to convert the destination from world coordinates to scene coordinates (only relevant when not using 3D). Defaults to true. + * @param [options.easingFunction] - Controls how the time is interpolated over the duration of the flight. + */ + flyTo(options: { + destination: Cartesian3 | Rectangle; + orientation?: any; + duration?: number; + complete?: Camera.FlightCompleteCallback; + cancel?: Camera.FlightCancelledCallback; + endTransform?: Matrix4; + maximumHeight?: number; + pitchAdjustHeight?: number; + flyOverLongitude?: number; + flyOverLongitudeWeight?: number; + convert?: boolean; + easingFunction?: EasingFunction.Callback; + }): void; + /** + * Sets the camera so that the current view contains the provided bounding sphere. + * + *

The offset is heading/pitch/range in the local east-north-up reference frame centered at the center of the bounding sphere. + * The heading and the pitch angles are defined in the local east-north-up reference frame. + * The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch + * angles are below the plane. Negative pitch angles are above the plane. The range is the distance from the center. If the range is + * zero, a range will be computed such that the whole bounding sphere is visible.

+ * + *

In 2D, there must be a top down view. The camera will be placed above the target looking down. The height above the + * target will be the range. The heading will be determined from the offset. If the heading cannot be + * determined from the offset, the heading will be north.

+ * @param boundingSphere - The bounding sphere to view, in world coordinates. + * @param [offset] - The offset from the target in the local east-north-up reference frame centered at the target. + */ + viewBoundingSphere(boundingSphere: BoundingSphere, offset?: HeadingPitchRange): void; + /** + * Flies the camera to a location where the current view contains the provided bounding sphere. + * + *

The offset is heading/pitch/range in the local east-north-up reference frame centered at the center of the bounding sphere. + * The heading and the pitch angles are defined in the local east-north-up reference frame. + * The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch + * angles are below the plane. Negative pitch angles are above the plane. The range is the distance from the center. If the range is + * zero, a range will be computed such that the whole bounding sphere is visible.

+ * + *

In 2D and Columbus View, there must be a top down view. The camera will be placed above the target looking down. The height above the + * target will be the range. The heading will be aligned to local north.

+ * @param boundingSphere - The bounding sphere to view, in world coordinates. + * @param [options] - Object with the following properties: + * @param [options.duration] - The duration of the flight in seconds. If omitted, Cesium attempts to calculate an ideal duration based on the distance to be traveled by the flight. + * @param [options.offset] - The offset from the target in the local east-north-up reference frame centered at the target. + * @param [options.complete] - The function to execute when the flight is complete. + * @param [options.cancel] - The function to execute if the flight is cancelled. + * @param [options.endTransform] - Transform matrix representing the reference frame the camera will be in when the flight is completed. + * @param [options.maximumHeight] - The maximum height at the peak of the flight. + * @param [options.pitchAdjustHeight] - If camera flyes higher than that value, adjust pitch duiring the flight to look down, and keep Earth in viewport. + * @param [options.flyOverLongitude] - There are always two ways between 2 points on globe. This option force camera to choose fight direction to fly over that longitude. + * @param [options.flyOverLongitudeWeight] - Fly over the lon specifyed via flyOverLongitude only if that way is not longer than short way times flyOverLongitudeWeight. + * @param [options.easingFunction] - Controls how the time is interpolated over the duration of the flight. + */ + flyToBoundingSphere(boundingSphere: BoundingSphere, options?: { + duration?: number; + offset?: HeadingPitchRange; + complete?: Camera.FlightCompleteCallback; + cancel?: Camera.FlightCancelledCallback; + endTransform?: Matrix4; + maximumHeight?: number; + pitchAdjustHeight?: number; + flyOverLongitude?: number; + flyOverLongitudeWeight?: number; + easingFunction?: EasingFunction.Callback; + }): void; + /** + * Computes the approximate visible rectangle on the ellipsoid. + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid that you want to know the visible region. + * @param [result] - The rectangle in which to store the result + * @returns The visible rectangle or undefined if the ellipsoid isn't visible at all. + */ + computeViewRectangle(ellipsoid?: Ellipsoid, result?: Rectangle): Rectangle | undefined; + /** + * Switches the frustum/projection to perspective. + * + * This function is a no-op in 2D which must always be orthographic. + */ + switchToPerspectiveFrustum(): void; + /** + * Switches the frustum/projection to orthographic. + * + * This function is a no-op in 2D which will always be orthographic. + */ + switchToOrthographicFrustum(): void; +} + +export namespace Camera { + /** + * A function that will execute when a flight completes. + */ + type FlightCompleteCallback = () => void; + /** + * A function that will execute when a flight is cancelled. + */ + type FlightCancelledCallback = () => void; +} + +/** + * Aggregates input events. For example, suppose the following inputs are received between frames: + * left mouse button down, mouse move, mouse move, left mouse button up. These events will be aggregated into + * one event with a start and end position of the mouse. + * @param [canvas = document] - The element to handle events for. + */ +export class CameraEventAggregator { + constructor(canvas?: HTMLCanvasElement); + /** + * Gets the current mouse position. + */ + currentMousePosition: Cartesian2; + /** + * Gets whether any mouse button is down, a touch has started, or the wheel has been moved. + */ + anyButtonDown: boolean; + /** + * Gets if a mouse button down or touch has started and has been moved. + * @param type - The camera event type. + * @param [modifier] - The keyboard modifier. + * @returns Returns true if a mouse button down or touch has started and has been moved; otherwise, false + */ + isMoving(type: CameraEventType, modifier?: KeyboardEventModifier): boolean; + /** + * Gets the aggregated start and end position of the current event. + * @param type - The camera event type. + * @param [modifier] - The keyboard modifier. + * @returns An object with two {@link Cartesian2} properties: startPosition and endPosition. + */ + getMovement(type: CameraEventType, modifier?: KeyboardEventModifier): any; + /** + * Gets the start and end position of the last move event (not the aggregated event). + * @param type - The camera event type. + * @param [modifier] - The keyboard modifier. + * @returns An object with two {@link Cartesian2} properties: startPosition and endPosition or undefined. + */ + getLastMovement(type: CameraEventType, modifier?: KeyboardEventModifier): any | undefined; + /** + * Gets whether the mouse button is down or a touch has started. + * @param type - The camera event type. + * @param [modifier] - The keyboard modifier. + * @returns Whether the mouse button is down or a touch has started. + */ + isButtonDown(type: CameraEventType, modifier?: KeyboardEventModifier): boolean; + /** + * Gets the mouse position that started the aggregation. + * @param type - The camera event type. + * @param [modifier] - The keyboard modifier. + * @returns The mouse position. + */ + getStartMousePosition(type: CameraEventType, modifier?: KeyboardEventModifier): Cartesian2; + /** + * Gets the time the button was pressed or the touch was started. + * @param type - The camera event type. + * @param [modifier] - The keyboard modifier. + * @returns The time the button was pressed or the touch was started. + */ + getButtonPressTime(type: CameraEventType, modifier?: KeyboardEventModifier): Date; + /** + * Gets the time the button was released or the touch was ended. + * @param type - The camera event type. + * @param [modifier] - The keyboard modifier. + * @returns The time the button was released or the touch was ended. + */ + getButtonReleaseTime(type: CameraEventType, modifier?: KeyboardEventModifier): Date; + /** + * Signals that all of the events have been handled and the aggregator should be reset to handle new events. + */ + reset(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes mouse listeners held by this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * handler = handler && handler.destroy(); + */ + destroy(): void; +} + +/** + * Enumerates the available input for interacting with the camera. + */ +export enum CameraEventType { + /** + * A left mouse button press followed by moving the mouse and releasing the button. + */ + LEFT_DRAG = 0, + /** + * A right mouse button press followed by moving the mouse and releasing the button. + */ + RIGHT_DRAG = 1, + /** + * A middle mouse button press followed by moving the mouse and releasing the button. + */ + MIDDLE_DRAG = 2, + /** + * Scrolling the middle mouse button. + */ + WHEEL = 3, + /** + * A two-finger touch on a touch surface. + */ + PINCH = 4 +} + +/** + * A tile in a {@link Cesium3DTileset}. When a tile is first created, its content is not loaded; + * the content is loaded on-demand when needed based on the view. + *

+ * Do not construct this directly, instead access tiles through {@link Cesium3DTileset#tileVisible}. + *

+ */ +export class Cesium3DTile { + constructor(); + /** + * The local transform of this tile. + */ + transform: Matrix4; + /** + * The final computed transform of this tile. + */ + readonly computedTransform: Matrix4; + /** + * The error, in meters, introduced if this tile is rendered and its children are not. + * This is used to compute screen space error, i.e., the error measured in pixels. + */ + readonly geometricError: number; + /** + * Gets the tile's children. + */ + readonly children: Cesium3DTile[]; + /** + * This tile's parent or undefined if this tile is the root. + *

+ * When a tile's content points to an external tileset JSON file, the external tileset's + * root tile's parent is not undefined; instead, the parent references + * the tile (with its content pointing to an external tileset JSON file) as if the two tilesets were merged. + *

+ */ + readonly parent: Cesium3DTile; + /** + * The time in seconds after the tile's content is ready when the content expires and new content is requested. + */ + expireDuration: number; + /** + * The date when the content expires and new content is requested. + */ + expireDate: JulianDate; + /** + * The tileset containing this tile. + */ + readonly tileset: Cesium3DTileset; + /** + * The tile's content. This represents the actual tile's payload, + * not the content's metadata in the tileset JSON file. + */ + readonly content: Cesium3DTileContent; + /** + * Get the bounding sphere derived from the tile's bounding volume. + */ + readonly boundingSphere: BoundingSphere; + /** + * Returns the extras property in the tileset JSON for this tile, which contains application specific metadata. + * Returns undefined if extras does not exist. + */ + readonly extras: any; +} + +/** + * Defines how per-feature colors set from the Cesium API or declarative styling blend with the source colors from + * the original feature, e.g. glTF material or per-point color in the tile. + *

+ * When REPLACE or MIX are used and the source color is a glTF material, the technique must assign the + * _3DTILESDIFFUSE semantic to the diffuse color parameter. Otherwise only HIGHLIGHT is supported. + *

+ *

+ * A feature whose color evaluates to white (1.0, 1.0, 1.0) is always rendered without color blending, regardless of the + * tileset's color blend mode. + *

+ *

+ * "techniques": {
+ *   "technique0": {
+ *     "parameters": {
+ *       "diffuse": {
+ *         "semantic": "_3DTILESDIFFUSE",
+ *         "type": 35666
+ *       }
+ *     }
+ *   }
+ * }
+ * 
+ */ +export enum Cesium3DTileColorBlendMode { + /** + * Multiplies the source color by the feature color. + */ + HIGHLIGHT = 0, + /** + * Replaces the source color with the feature color. + */ + REPLACE = 1, + /** + * Blends the source color and feature color together. + */ + MIX = 2 +} + +/** + * The content of a tile in a {@link Cesium3DTileset}. + *

+ * Derived classes of this interface provide access to individual features in the tile. + * Access derived objects through {@link Cesium3DTile#content}. + *

+ *

+ * This type describes an interface and is not intended to be instantiated directly. + *

+ */ +export class Cesium3DTileContent { + constructor(); + /** + * Gets the number of features in the tile. + */ + readonly featuresLength: number; + /** + * Gets the number of points in the tile. + *

+ * Only applicable for tiles with Point Cloud content. This is different than {@link Cesium3DTileContent#featuresLength} which + * equals the number of groups of points as distinguished by the BATCH_ID feature table semantic. + *

+ */ + readonly pointsLength: number; + /** + * Gets the number of triangles in the tile. + */ + readonly trianglesLength: number; + /** + * Gets the tile's geometry memory in bytes. + */ + readonly geometryByteLength: number; + /** + * Gets the tile's texture memory in bytes. + */ + readonly texturesByteLength: number; + /** + * Gets the amount of memory used by the batch table textures, in bytes. + */ + readonly batchTableByteLength: number; + /** + * Gets the array of {@link Cesium3DTileContent} objects that represent the + * content a composite's inner tiles, which can also be composites. + */ + readonly innerContents: any[]; + /** + * Gets the promise that will be resolved when the tile's content is ready to render. + */ + readonly readyPromise: Promise; + /** + * Gets the tileset for this tile. + */ + readonly tileset: Cesium3DTileset; + /** + * Gets the tile containing this content. + */ + readonly tile: Cesium3DTile; + /** + * Gets the url of the tile's content. + */ + readonly url: string; + /** + * Determines if the tile's batch table has a property. If it does, each feature in + * the tile will have the property. + * @param batchId - The batchId for the feature. + * @param name - The case-sensitive name of the property. + * @returns true if the property exists; otherwise, false. + */ + hasProperty(batchId: number, name: string): boolean; + /** + * Returns the {@link Cesium3DTileFeature} object for the feature with the + * given batchId. This object is used to get and modify the + * feature's properties. + *

+ * Features in a tile are ordered by batchId, an index used to retrieve their metadata from the batch table. + *

+ * @param batchId - The batchId for the feature. + * @returns The corresponding {@link Cesium3DTileFeature} object. + */ + getFeature(batchId: number): Cesium3DTileFeature; +} + +/** + * A feature of a {@link Cesium3DTileset}. + *

+ * Provides access to a feature's properties stored in the tile's batch table, as well + * as the ability to show/hide a feature and change its highlight color via + * {@link Cesium3DTileFeature#show} and {@link Cesium3DTileFeature#color}, respectively. + *

+ *

+ * Modifications to a Cesium3DTileFeature object have the lifetime of the tile's + * content. If the tile's content is unloaded, e.g., due to it going out of view and needing + * to free space in the cache for visible tiles, listen to the {@link Cesium3DTileset#tileUnload} event to save any + * modifications. Also listen to the {@link Cesium3DTileset#tileVisible} event to reapply any modifications. + *

+ *

+ * Do not construct this directly. Access it through {@link Cesium3DTileContent#getFeature} + * or picking using {@link Scene#pick} and {@link Scene#pickPosition}. + *

+ * @example + * // On mouse over, display all the properties for a feature in the console log. + * handler.setInputAction(function(movement) { + * var feature = scene.pick(movement.endPosition); + * if (feature instanceof Cesium.Cesium3DTileFeature) { + * var propertyNames = feature.getPropertyNames(); + * var length = propertyNames.length; + * for (var i = 0; i < length; ++i) { + * var propertyName = propertyNames[i]; + * console.log(propertyName + ': ' + feature.getProperty(propertyName)); + * } + * } + * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); + */ +export class Cesium3DTileFeature { + constructor(); + /** + * Gets or sets if the feature will be shown. This is set for all features + * when a style's show is evaluated. + */ + show: boolean; + /** + * Gets or sets the highlight color multiplied with the feature's color. When + * this is white, the feature's color is not changed. This is set for all features + * when a style's color is evaluated. + */ + color: Color; + /** + * Gets the tileset containing the feature. + */ + readonly tileset: Cesium3DTileset; + /** + * All objects returned by {@link Scene#pick} have a primitive property. This returns + * the tileset containing the feature. + */ + readonly primitive: Cesium3DTileset; + /** + * Returns whether the feature contains this property. This includes properties from this feature's + * class and inherited classes when using a batch table hierarchy. + * @param name - The case-sensitive name of the property. + * @returns Whether the feature contains this property. + */ + hasProperty(name: string): boolean; + /** + * Returns an array of property names for the feature. This includes properties from this feature's + * class and inherited classes when using a batch table hierarchy. + * @param [results] - An array into which to store the results. + * @returns The names of the feature's properties. + */ + getPropertyNames(results?: string[]): string[]; + /** + * Returns a copy of the value of the feature's property with the given name. This includes properties from this feature's + * class and inherited classes when using a batch table hierarchy. + * @example + * // Display all the properties for a feature in the console log. + * var propertyNames = feature.getPropertyNames(); + * var length = propertyNames.length; + * for (var i = 0; i < length; ++i) { + * var propertyName = propertyNames[i]; + * console.log(propertyName + ': ' + feature.getProperty(propertyName)); + * } + * @param name - The case-sensitive name of the property. + * @returns The value of the property or undefined if the property does not exist. + */ + getProperty(name: string): any; + /** + * Sets the value of the feature's property with the given name. + *

+ * If a property with the given name doesn't exist, it is created. + *

+ * @example + * var height = feature.getProperty('Height'); // e.g., the height of a building + * @example + * var name = 'clicked'; + * if (feature.getProperty(name)) { + * console.log('already clicked'); + * } else { + * feature.setProperty(name, true); + * console.log('first click'); + * } + * @param name - The case-sensitive name of the property. + * @param value - The value of the property that will be copied. + */ + setProperty(name: string, value: any): void; +} + +/** + * A point feature of a {@link Cesium3DTileset}. + *

+ * Provides access to a feature's properties stored in the tile's batch table, as well + * as the ability to show/hide a feature and change its point properties + *

+ *

+ * Modifications to a Cesium3DTilePointFeature object have the lifetime of the tile's + * content. If the tile's content is unloaded, e.g., due to it going out of view and needing + * to free space in the cache for visible tiles, listen to the {@link Cesium3DTileset#tileUnload} event to save any + * modifications. Also listen to the {@link Cesium3DTileset#tileVisible} event to reapply any modifications. + *

+ *

+ * Do not construct this directly. Access it through {@link Cesium3DTileContent#getFeature} + * or picking using {@link Scene#pick} and {@link Scene#pickPosition}. + *

+ * @example + * // On mouse over, display all the properties for a feature in the console log. + * handler.setInputAction(function(movement) { + * var feature = scene.pick(movement.endPosition); + * if (feature instanceof Cesium.Cesium3DTilePointFeature) { + * var propertyNames = feature.getPropertyNames(); + * var length = propertyNames.length; + * for (var i = 0; i < length; ++i) { + * var propertyName = propertyNames[i]; + * console.log(propertyName + ': ' + feature.getProperty(propertyName)); + * } + * } + * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); + */ +export class Cesium3DTilePointFeature { + constructor(); + /** + * Gets or sets if the feature will be shown. This is set for all features + * when a style's show is evaluated. + */ + show: boolean; + /** + * Gets or sets the color of the point of this feature. + *

+ * Only applied when image is undefined. + *

+ */ + color: Color; + /** + * Gets or sets the point size of this feature. + *

+ * Only applied when image is undefined. + *

+ */ + pointSize: number; + /** + * Gets or sets the point outline color of this feature. + *

+ * Only applied when image is undefined. + *

+ */ + pointOutlineColor: Color; + /** + * Gets or sets the point outline width in pixels of this feature. + *

+ * Only applied when image is undefined. + *

+ */ + pointOutlineWidth: number; + /** + * Gets or sets the label color of this feature. + *

+ * The color will be applied to the label if labelText is defined. + *

+ */ + labelColor: Color; + /** + * Gets or sets the label outline color of this feature. + *

+ * The outline color will be applied to the label if labelText is defined. + *

+ */ + labelOutlineColor: Color; + /** + * Gets or sets the outline width in pixels of this feature. + *

+ * The outline width will be applied to the point if labelText is defined. + *

+ */ + labelOutlineWidth: number; + /** + * Gets or sets the font of this feature. + *

+ * Only applied when the labelText is defined. + *

+ */ + font: string; + /** + * Gets or sets the fill and outline style of this feature. + *

+ * Only applied when labelText is defined. + *

+ */ + labelStyle: LabelStyle; + /** + * Gets or sets the text for this feature. + */ + labelText: string; + /** + * Gets or sets the background color of the text for this feature. + *

+ * Only applied when labelText is defined. + *

+ */ + backgroundColor: Color; + /** + * Gets or sets the background padding of the text for this feature. + *

+ * Only applied when labelText is defined. + *

+ */ + backgroundPadding: Cartesian2; + /** + * Gets or sets whether to display the background of the text for this feature. + *

+ * Only applied when labelText is defined. + *

+ */ + backgroundEnabled: boolean; + /** + * Gets or sets the near and far scaling properties for this feature. + */ + scaleByDistance: NearFarScalar; + /** + * Gets or sets the near and far translucency properties for this feature. + */ + translucencyByDistance: NearFarScalar; + /** + * Gets or sets the condition specifying at what distance from the camera that this feature will be displayed. + */ + distanceDisplayCondition: DistanceDisplayCondition; + /** + * Gets or sets the height offset in meters of this feature. + */ + heightOffset: number; + /** + * Gets or sets whether the anchor line is displayed. + *

+ * Only applied when heightOffset is defined. + *

+ */ + anchorLineEnabled: boolean; + /** + * Gets or sets the color for the anchor line. + *

+ * Only applied when heightOffset is defined. + *

+ */ + anchorLineColor: Color; + /** + * Gets or sets the image of this feature. + */ + image: string; + /** + * Gets or sets the distance where depth testing will be disabled. + */ + disableDepthTestDistance: number; + /** + * Gets or sets the horizontal origin of this point, which determines if the point is + * to the left, center, or right of its anchor position. + */ + horizontalOrigin: HorizontalOrigin; + /** + * Gets or sets the vertical origin of this point, which determines if the point is + * to the bottom, center, or top of its anchor position. + */ + verticalOrigin: VerticalOrigin; + /** + * Gets or sets the horizontal origin of this point's text, which determines if the point's text is + * to the left, center, or right of its anchor position. + */ + labelHorizontalOrigin: HorizontalOrigin; + /** + * Get or sets the vertical origin of this point's text, which determines if the point's text is + * to the bottom, center, top, or baseline of it's anchor point. + */ + labelVerticalOrigin: VerticalOrigin; + /** + * Gets the tileset containing the feature. + */ + readonly tileset: Cesium3DTileset; + /** + * All objects returned by {@link Scene#pick} have a primitive property. This returns + * the tileset containing the feature. + */ + readonly primitive: Cesium3DTileset; + /** + * Returns whether the feature contains this property. This includes properties from this feature's + * class and inherited classes when using a batch table hierarchy. + * @param name - The case-sensitive name of the property. + * @returns Whether the feature contains this property. + */ + hasProperty(name: string): boolean; + /** + * Returns an array of property names for the feature. This includes properties from this feature's + * class and inherited classes when using a batch table hierarchy. + * @param [results] - An array into which to store the results. + * @returns The names of the feature's properties. + */ + getPropertyNames(results?: string[]): string[]; + /** + * Returns a copy of the value of the feature's property with the given name. This includes properties from this feature's + * class and inherited classes when using a batch table hierarchy. + * @example + * // Display all the properties for a feature in the console log. + * var propertyNames = feature.getPropertyNames(); + * var length = propertyNames.length; + * for (var i = 0; i < length; ++i) { + * var propertyName = propertyNames[i]; + * console.log(propertyName + ': ' + feature.getProperty(propertyName)); + * } + * @param name - The case-sensitive name of the property. + * @returns The value of the property or undefined if the property does not exist. + */ + getProperty(name: string): any; + /** + * Sets the value of the feature's property with the given name. + *

+ * If a property with the given name doesn't exist, it is created. + *

+ * @example + * var height = feature.getProperty('Height'); // e.g., the height of a building + * @example + * var name = 'clicked'; + * if (feature.getProperty(name)) { + * console.log('already clicked'); + * } else { + * feature.setProperty(name, true); + * console.log('first click'); + * } + * @param name - The case-sensitive name of the property. + * @param value - The value of the property that will be copied. + */ + setProperty(name: string, value: any): void; +} + +/** + * A {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification|3D Tiles tileset}, + * used for streaming massive heterogeneous 3D geospatial datasets. + * @example + * var tileset = scene.primitives.add(new Cesium.Cesium3DTileset({ + * url : 'http://localhost:8002/tilesets/Seattle/tileset.json' + * })); + * @example + * // Common setting for the skipLevelOfDetail optimization + * var tileset = scene.primitives.add(new Cesium.Cesium3DTileset({ + * url : 'http://localhost:8002/tilesets/Seattle/tileset.json', + * skipLevelOfDetail : true, + * baseScreenSpaceError : 1024, + * skipScreenSpaceErrorFactor : 16, + * skipLevels : 1, + * immediatelyLoadDesiredLevelOfDetail : false, + * loadSiblings : false, + * cullWithChildrenBounds : true + * })); + * @example + * // Common settings for the dynamicScreenSpaceError optimization + * var tileset = scene.primitives.add(new Cesium.Cesium3DTileset({ + * url : 'http://localhost:8002/tilesets/Seattle/tileset.json', + * dynamicScreenSpaceError : true, + * dynamicScreenSpaceErrorDensity : 0.00278, + * dynamicScreenSpaceErrorFactor : 4.0, + * dynamicScreenSpaceErrorHeightFalloff : 0.25 + * })); + * @param options - Object with the following properties: + * @param options.url - The url to a tileset JSON file. + * @param [options.show = true] - Determines if the tileset will be shown. + * @param [options.modelMatrix = Matrix4.IDENTITY] - A 4x4 transformation matrix that transforms the tileset's root tile. + * @param [options.shadows = ShadowMode.ENABLED] - Determines whether the tileset casts or receives shadows from light sources. + * @param [options.maximumScreenSpaceError = 16] - The maximum screen space error used to drive level of detail refinement. + * @param [options.maximumMemoryUsage = 512] - The maximum amount of memory in MB that can be used by the tileset. + * @param [options.cullWithChildrenBounds = true] - Optimization option. Whether to cull tiles using the union of their children bounding volumes. + * @param [options.cullRequestsWhileMoving = true] - Optimization option. Don't request tiles that will likely be unused when they come back because of the camera's movement. This optimization only applies to stationary tilesets. + * @param [options.cullRequestsWhileMovingMultiplier = 60.0] - Optimization option. Multiplier used in culling requests while moving. Larger is more aggressive culling, smaller less aggressive culling. + * @param [options.preloadWhenHidden = false] - Preload tiles when tileset.show is false. Loads tiles as if the tileset is visible but does not render them. + * @param [options.preloadFlightDestinations = true] - Optimization option. Preload tiles at the camera's flight destination while the camera is in flight. + * @param [options.preferLeaves = false] - Optimization option. Prefer loading of leaves first. + * @param [options.dynamicScreenSpaceError = false] - Optimization option. Reduce the screen space error for tiles that are further away from the camera. + * @param [options.dynamicScreenSpaceErrorDensity = 0.00278] - Density used to adjust the dynamic screen space error, similar to fog density. + * @param [options.dynamicScreenSpaceErrorFactor = 4.0] - A factor used to increase the computed dynamic screen space error. + * @param [options.dynamicScreenSpaceErrorHeightFalloff = 0.25] - A ratio of the tileset's height at which the density starts to falloff. + * @param [options.progressiveResolutionHeightFraction = 0.3] - Optimization option. If between (0.0, 0.5], tiles at or above the screen space error for the reduced screen resolution of progressiveResolutionHeightFraction*screenHeight will be prioritized first. This can help get a quick layer of tiles down while full resolution tiles continue to load. + * @param [options.foveatedScreenSpaceError = true] - Optimization option. Prioritize loading tiles in the center of the screen by temporarily raising the screen space error for tiles around the edge of the screen. Screen space error returns to normal once all the tiles in the center of the screen as determined by the {@link Cesium3DTileset#foveatedConeSize} are loaded. + * @param [options.foveatedConeSize = 0.1] - Optimization option. Used when {@link Cesium3DTileset#foveatedScreenSpaceError} is true to control the cone size that determines which tiles are deferred. Tiles that are inside this cone are loaded immediately. Tiles outside the cone are potentially deferred based on how far outside the cone they are and their screen space error. This is controlled by {@link Cesium3DTileset#foveatedInterpolationCallback} and {@link Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation}. Setting this to 0.0 means the cone will be the line formed by the camera position and its view direction. Setting this to 1.0 means the cone encompasses the entire field of view of the camera, disabling the effect. + * @param [options.foveatedMinimumScreenSpaceErrorRelaxation = 0.0] - Optimization option. Used when {@link Cesium3DTileset#foveatedScreenSpaceError} is true to control the starting screen space error relaxation for tiles outside the foveated cone. The screen space error will be raised starting with tileset value up to {@link Cesium3DTileset#maximumScreenSpaceError} based on the provided {@link Cesium3DTileset#foveatedInterpolationCallback}. + * @param [options.foveatedInterpolationCallback = Math.lerp] - Optimization option. Used when {@link Cesium3DTileset#foveatedScreenSpaceError} is true to control how much to raise the screen space error for tiles outside the foveated cone, interpolating between {@link Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation} and {@link Cesium3DTileset#maximumScreenSpaceError} + * @param [options.foveatedTimeDelay = 0.2] - Optimization option. Used when {@link Cesium3DTileset#foveatedScreenSpaceError} is true to control how long in seconds to wait after the camera stops moving before deferred tiles start loading in. This time delay prevents requesting tiles around the edges of the screen when the camera is moving. Setting this to 0.0 will immediately request all tiles in any given view. + * @param [options.skipLevelOfDetail = false] - Optimization option. Determines if level of detail skipping should be applied during the traversal. + * @param [options.baseScreenSpaceError = 1024] - When skipLevelOfDetail is true, the screen space error that must be reached before skipping levels of detail. + * @param [options.skipScreenSpaceErrorFactor = 16] - When skipLevelOfDetail is true, a multiplier defining the minimum screen space error to skip. Used in conjunction with skipLevels to determine which tiles to load. + * @param [options.skipLevels = 1] - When skipLevelOfDetail is true, a constant defining the minimum number of levels to skip when loading tiles. When it is 0, no levels are skipped. Used in conjunction with skipScreenSpaceErrorFactor to determine which tiles to load. + * @param [options.immediatelyLoadDesiredLevelOfDetail = false] - When skipLevelOfDetail is true, only tiles that meet the maximum screen space error will ever be downloaded. Skipping factors are ignored and just the desired tiles are loaded. + * @param [options.loadSiblings = false] - When skipLevelOfDetail is true, determines whether siblings of visible tiles are always downloaded during traversal. + * @param [options.clippingPlanes] - The {@link ClippingPlaneCollection} used to selectively disable rendering the tileset. + * @param [options.classificationType] - Determines whether terrain, 3D Tiles or both will be classified by this tileset. See {@link Cesium3DTileset#classificationType} for details about restrictions and limitations. + * @param [options.ellipsoid = Ellipsoid.WGS84] - The ellipsoid determining the size and shape of the globe. + * @param [options.pointCloudShading] - Options for constructing a {@link PointCloudShading} object to control point attenuation based on geometric error and lighting. + * @param [options.imageBasedLightingFactor = new Cartesian2(1.0, 1.0)] - Scales the diffuse and specular image-based lighting from the earth, sky, atmosphere and star skybox. + * @param [options.lightColor] - The light color when shading models. When undefined the scene's light color is used instead. + * @param [options.luminanceAtZenith = 0.2] - The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map. + * @param [options.sphericalHarmonicCoefficients] - The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. + * @param [options.specularEnvironmentMaps] - A URL to a KTX file that contains a cube map of the specular lighting and the convoluted specular mipmaps. + * @param [options.backFaceCulling = true] - Whether to cull back-facing geometry. When true, back face culling is determined by the glTF material's doubleSided property; when false, back face culling is disabled. + * @param [options.debugHeatmapTilePropertyName] - The tile variable to colorize as a heatmap. All rendered tiles will be colorized relative to each other's specified variable value. + * @param [options.debugFreezeFrame = false] - For debugging only. Determines if only the tiles from last frame should be used for rendering. + * @param [options.debugColorizeTiles = false] - For debugging only. When true, assigns a random color to each tile. + * @param [options.debugWireframe = false] - For debugging only. When true, render's each tile's content as a wireframe. + * @param [options.debugShowBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile. + * @param [options.debugShowContentBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile's content. + * @param [options.debugShowViewerRequestVolume = false] - For debugging only. When true, renders the viewer request volume for each tile. + * @param [options.debugShowGeometricError = false] - For debugging only. When true, draws labels to indicate the geometric error of each tile. + * @param [options.debugShowRenderingStatistics = false] - For debugging only. When true, draws labels to indicate the number of commands, points, triangles and features for each tile. + * @param [options.debugShowMemoryUsage = false] - For debugging only. When true, draws labels to indicate the texture and geometry memory in megabytes used by each tile. + * @param [options.debugShowUrl = false] - For debugging only. When true, draws labels to indicate the url of each tile. + */ +export class Cesium3DTileset { + constructor(options: { + url: Resource | string | Promise | Promise; + show?: boolean; + modelMatrix?: Matrix4; + shadows?: ShadowMode; + maximumScreenSpaceError?: number; + maximumMemoryUsage?: number; + cullWithChildrenBounds?: boolean; + cullRequestsWhileMoving?: boolean; + cullRequestsWhileMovingMultiplier?: number; + preloadWhenHidden?: boolean; + preloadFlightDestinations?: boolean; + preferLeaves?: boolean; + dynamicScreenSpaceError?: boolean; + dynamicScreenSpaceErrorDensity?: number; + dynamicScreenSpaceErrorFactor?: number; + dynamicScreenSpaceErrorHeightFalloff?: number; + progressiveResolutionHeightFraction?: number; + foveatedScreenSpaceError?: boolean; + foveatedConeSize?: number; + foveatedMinimumScreenSpaceErrorRelaxation?: number; + foveatedInterpolationCallback?: Cesium3DTileset.foveatedInterpolationCallback; + foveatedTimeDelay?: number; + skipLevelOfDetail?: boolean; + baseScreenSpaceError?: number; + skipScreenSpaceErrorFactor?: number; + skipLevels?: number; + immediatelyLoadDesiredLevelOfDetail?: boolean; + loadSiblings?: boolean; + clippingPlanes?: ClippingPlaneCollection; + classificationType?: ClassificationType; + ellipsoid?: Ellipsoid; + pointCloudShading?: any; + imageBasedLightingFactor?: Cartesian2; + lightColor?: Cartesian3; + luminanceAtZenith?: number; + sphericalHarmonicCoefficients?: Cartesian3[]; + specularEnvironmentMaps?: string; + backFaceCulling?: boolean; + debugHeatmapTilePropertyName?: string; + debugFreezeFrame?: boolean; + debugColorizeTiles?: boolean; + debugWireframe?: boolean; + debugShowBoundingVolume?: boolean; + debugShowContentBoundingVolume?: boolean; + debugShowViewerRequestVolume?: boolean; + debugShowGeometricError?: boolean; + debugShowRenderingStatistics?: boolean; + debugShowMemoryUsage?: boolean; + debugShowUrl?: boolean; + }); + /** + * Optimization option. Don't request tiles that will likely be unused when they come back because of the camera's movement. This optimization only applies to stationary tilesets. + */ + cullRequestsWhileMoving: boolean; + /** + * Optimization option. Multiplier used in culling requests while moving. Larger is more aggressive culling, smaller less aggressive culling. + */ + cullRequestsWhileMovingMultiplier: number; + /** + * Optimization option. If between (0.0, 0.5], tiles at or above the screen space error for the reduced screen resolution of progressiveResolutionHeightFraction*screenHeight will be prioritized first. This can help get a quick layer of tiles down while full resolution tiles continue to load. + */ + progressiveResolutionHeightFraction: number; + /** + * Optimization option. Prefer loading of leaves first. + */ + preferLeaves: boolean; + /** + * Preload tiles when tileset.show is false. Loads tiles as if the tileset is visible but does not render them. + */ + preloadWhenHidden: boolean; + /** + * Optimization option. Fetch tiles at the camera's flight destination while the camera is in flight. + */ + preloadFlightDestinations: boolean; + /** + * Optimization option. Whether the tileset should refine based on a dynamic screen space error. Tiles that are further + * away will be rendered with lower detail than closer tiles. This improves performance by rendering fewer + * tiles and making less requests, but may result in a slight drop in visual quality for tiles in the distance. + * The algorithm is biased towards "street views" where the camera is close to the ground plane of the tileset and looking + * at the horizon. In addition results are more accurate for tightly fitting bounding volumes like box and region. + */ + dynamicScreenSpaceError: boolean; + /** + * Optimization option. Prioritize loading tiles in the center of the screen by temporarily raising the + * screen space error for tiles around the edge of the screen. Screen space error returns to normal once all + * the tiles in the center of the screen as determined by the {@link Cesium3DTileset#foveatedConeSize} are loaded. + */ + foveatedScreenSpaceError: boolean; + /** + * Gets or sets a callback to control how much to raise the screen space error for tiles outside the foveated cone, + * interpolating between {@link Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation} and {@link Cesium3DTileset#maximumScreenSpaceError}. + */ + foveatedInterpolationCallback: Cesium3DTileset.foveatedInterpolationCallback; + /** + * Optimization option. Used when {@link Cesium3DTileset#foveatedScreenSpaceError} is true to control + * how long in seconds to wait after the camera stops moving before deferred tiles start loading in. + * This time delay prevents requesting tiles around the edges of the screen when the camera is moving. + * Setting this to 0.0 will immediately request all tiles in any given view. + */ + foveatedTimeDelay: number; + /** + * A scalar that determines the density used to adjust the dynamic screen space error, similar to {@link Fog}. Increasing this + * value has the effect of increasing the maximum screen space error for all tiles, but in a non-linear fashion. + * The error starts at 0.0 and increases exponentially until a midpoint is reached, and then approaches 1.0 asymptotically. + * This has the effect of keeping high detail in the closer tiles and lower detail in the further tiles, with all tiles + * beyond a certain distance all roughly having an error of 1.0. + *

+ * The dynamic error is in the range [0.0, 1.0) and is multiplied by dynamicScreenSpaceErrorFactor to produce the + * final dynamic error. This dynamic error is then subtracted from the tile's actual screen space error. + *

+ *

+ * Increasing dynamicScreenSpaceErrorDensity has the effect of moving the error midpoint closer to the camera. + * It is analogous to moving fog closer to the camera. + *

+ */ + dynamicScreenSpaceErrorDensity: number; + /** + * A factor used to increase the screen space error of tiles for dynamic screen space error. As this value increases less tiles + * are requested for rendering and tiles in the distance will have lower detail. If set to zero, the feature will be disabled. + */ + dynamicScreenSpaceErrorFactor: number; + /** + * A ratio of the tileset's height at which the density starts to falloff. If the camera is below this height the + * full computed density is applied, otherwise the density falls off. This has the effect of higher density at + * street level views. + *

+ * Valid values are between 0.0 and 1.0. + *

+ */ + dynamicScreenSpaceErrorHeightFalloff: number; + /** + * Determines whether the tileset casts or receives shadows from light sources. + *

+ * Enabling shadows has a performance impact. A tileset that casts shadows must be rendered twice, once from the camera and again from the light's point of view. + *

+ *

+ * Shadows are rendered only when {@link Viewer#shadows} is true. + *

+ */ + shadows: ShadowMode; + /** + * Determines if the tileset will be shown. + */ + show: boolean; + /** + * Defines how per-feature colors set from the Cesium API or declarative styling blend with the source colors from + * the original feature, e.g. glTF material or per-point color in the tile. + */ + colorBlendMode: Cesium3DTileColorBlendMode; + /** + * Defines the value used to linearly interpolate between the source color and feature color when the {@link Cesium3DTileset#colorBlendMode} is MIX. + * A value of 0.0 results in the source color while a value of 1.0 results in the feature color, with any value in-between + * resulting in a mix of the source color and feature color. + */ + colorBlendAmount: number; + /** + * Options for controlling point size based on geometric error and eye dome lighting. + */ + pointCloudShading: PointCloudShading; + /** + * The event fired to indicate progress of loading new tiles. This event is fired when a new tile + * is requested, when a requested tile is finished downloading, and when a downloaded tile has been + * processed and is ready to render. + *

+ * The number of pending tile requests, numberOfPendingRequests, and number of tiles + * processing, numberOfTilesProcessing are passed to the event listener. + *

+ *

+ * This event is fired at the end of the frame after the scene is rendered. + *

+ * @example + * tileset.loadProgress.addEventListener(function(numberOfPendingRequests, numberOfTilesProcessing) { + * if ((numberOfPendingRequests === 0) && (numberOfTilesProcessing === 0)) { + * console.log('Stopped loading'); + * return; + * } + * + * console.log('Loading: requests: ' + numberOfPendingRequests + ', processing: ' + numberOfTilesProcessing); + * }); + */ + loadProgress: Event; + /** + * The event fired to indicate that all tiles that meet the screen space error this frame are loaded. The tileset + * is completely loaded for this view. + *

+ * This event is fired at the end of the frame after the scene is rendered. + *

+ * @example + * tileset.allTilesLoaded.addEventListener(function() { + * console.log('All tiles are loaded'); + * }); + */ + allTilesLoaded: Event; + /** + * The event fired to indicate that all tiles that meet the screen space error this frame are loaded. This event + * is fired once when all tiles in the initial view are loaded. + *

+ * This event is fired at the end of the frame after the scene is rendered. + *

+ * @example + * tileset.initialTilesLoaded.addEventListener(function() { + * console.log('Initial tiles are loaded'); + * }); + */ + initialTilesLoaded: Event; + /** + * The event fired to indicate that a tile's content was loaded. + *

+ * The loaded {@link Cesium3DTile} is passed to the event listener. + *

+ *

+ * This event is fired during the tileset traversal while the frame is being rendered + * so that updates to the tile take effect in the same frame. Do not create or modify + * Cesium entities or primitives during the event listener. + *

+ * @example + * tileset.tileLoad.addEventListener(function(tile) { + * console.log('A tile was loaded.'); + * }); + */ + tileLoad: Event; + /** + * The event fired to indicate that a tile's content was unloaded. + *

+ * The unloaded {@link Cesium3DTile} is passed to the event listener. + *

+ *

+ * This event is fired immediately before the tile's content is unloaded while the frame is being + * rendered so that the event listener has access to the tile's content. Do not create + * or modify Cesium entities or primitives during the event listener. + *

+ * @example + * tileset.tileUnload.addEventListener(function(tile) { + * console.log('A tile was unloaded from the cache.'); + * }); + */ + tileUnload: Event; + /** + * The event fired to indicate that a tile's content failed to load. + *

+ * If there are no event listeners, error messages will be logged to the console. + *

+ *

+ * The error object passed to the listener contains two properties: + *

    + *
  • url: the url of the failed tile.
  • + *
  • message: the error message.
  • + *
+ * @example + * tileset.tileFailed.addEventListener(function(error) { + * console.log('An error occurred loading tile: ' + error.url); + * console.log('Error: ' + error.message); + * }); + */ + tileFailed: Event; + /** + * This event fires once for each visible tile in a frame. This can be used to manually + * style a tileset. + *

+ * The visible {@link Cesium3DTile} is passed to the event listener. + *

+ *

+ * This event is fired during the tileset traversal while the frame is being rendered + * so that updates to the tile take effect in the same frame. Do not create or modify + * Cesium entities or primitives during the event listener. + *

+ * @example + * tileset.tileVisible.addEventListener(function(tile) { + * if (tile.content instanceof Cesium.Batched3DModel3DTileContent) { + * console.log('A Batched 3D Model tile is visible.'); + * } + * }); + * @example + * // Apply a red style and then manually set random colors for every other feature when the tile becomes visible. + * tileset.style = new Cesium.Cesium3DTileStyle({ + * color : 'color("red")' + * }); + * tileset.tileVisible.addEventListener(function(tile) { + * var content = tile.content; + * var featuresLength = content.featuresLength; + * for (var i = 0; i < featuresLength; i+=2) { + * content.getFeature(i).color = Cesium.Color.fromRandom(); + * } + * }); + */ + tileVisible: Event; + /** + * Optimization option. Determines if level of detail skipping should be applied during the traversal. + *

+ * The common strategy for replacement-refinement traversal is to store all levels of the tree in memory and require + * all children to be loaded before the parent can refine. With this optimization levels of the tree can be skipped + * entirely and children can be rendered alongside their parents. The tileset requires significantly less memory when + * using this optimization. + *

+ */ + skipLevelOfDetail: boolean; + /** + * The screen space error that must be reached before skipping levels of detail. + *

+ * Only used when {@link Cesium3DTileset#skipLevelOfDetail} is true. + *

+ */ + baseScreenSpaceError: number; + /** + * Multiplier defining the minimum screen space error to skip. + * For example, if a tile has screen space error of 100, no tiles will be loaded unless they + * are leaves or have a screen space error <= 100 / skipScreenSpaceErrorFactor. + *

+ * Only used when {@link Cesium3DTileset#skipLevelOfDetail} is true. + *

+ */ + skipScreenSpaceErrorFactor: number; + /** + * Constant defining the minimum number of levels to skip when loading tiles. When it is 0, no levels are skipped. + * For example, if a tile is level 1, no tiles will be loaded unless they are at level greater than 2. + *

+ * Only used when {@link Cesium3DTileset#skipLevelOfDetail} is true. + *

+ */ + skipLevels: number; + /** + * When true, only tiles that meet the maximum screen space error will ever be downloaded. + * Skipping factors are ignored and just the desired tiles are loaded. + *

+ * Only used when {@link Cesium3DTileset#skipLevelOfDetail} is true. + *

+ */ + immediatelyLoadDesiredLevelOfDetail: boolean; + /** + * Determines whether siblings of visible tiles are always downloaded during traversal. + * This may be useful for ensuring that tiles are already available when the viewer turns left/right. + *

+ * Only used when {@link Cesium3DTileset#skipLevelOfDetail} is true. + *

+ */ + loadSiblings: boolean; + /** + * The light color when shading models. When undefined the scene's light color is used instead. + *

+ * For example, disabling additional light sources by setting model.imageBasedLightingFactor = new Cartesian2(0.0, 0.0) will make the + * model much darker. Here, increasing the intensity of the light source will make the model brighter. + *

+ */ + lightColor: Cartesian3; + /** + * The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map. + * This is used when {@link Cesium3DTileset#specularEnvironmentMaps} and {@link Cesium3DTileset#sphericalHarmonicCoefficients} are not defined. + */ + luminanceAtZenith: number; + /** + * The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. When undefined, a diffuse irradiance + * computed from the atmosphere color is used. + *

+ * There are nine Cartesian3 coefficients. + * The order of the coefficients is: L00, L1-1, L10, L11, L2-2, L2-1, L20, L21, L22 + *

+ * + * These values can be obtained by preprocessing the environment map using the cmgen tool of + * {@link https://github.com/google/filament/releases|Google's Filament project}. This will also generate a KTX file that can be + * supplied to {@link Cesium3DTileset#specularEnvironmentMaps}. + */ + sphericalHarmonicCoefficients: Cartesian3[]; + /** + * A URL to a KTX file that contains a cube map of the specular lighting and the convoluted specular mipmaps. + */ + specularEnvironmentMaps: string; + /** + * Whether to cull back-facing geometry. When true, back face culling is determined + * by the glTF material's doubleSided property; when false, back face culling is disabled. + */ + backFaceCulling: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * Determines if only the tiles from last frame should be used for rendering. This + * effectively "freezes" the tileset to the previous frame so it is possible to zoom + * out and see what was rendered. + *

+ */ + debugFreezeFrame: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * When true, assigns a random color to each tile. This is useful for visualizing + * what features belong to what tiles, especially with additive refinement where features + * from parent tiles may be interleaved with features from child tiles. + *

+ */ + debugColorizeTiles: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * When true, renders each tile's content as a wireframe. + *

+ */ + debugWireframe: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * When true, renders the bounding volume for each visible tile. The bounding volume is + * white if the tile has a content bounding volume or is empty; otherwise, it is red. Tiles that don't meet the + * screen space error and are still refining to their descendants are yellow. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * When true, renders the bounding volume for each visible tile's content. The bounding volume is + * blue if the tile has a content bounding volume; otherwise it is red. + *

+ */ + debugShowContentBoundingVolume: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * When true, renders the viewer request volume for each tile. + *

+ */ + debugShowViewerRequestVolume: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * When true, draws labels to indicate the geometric error of each tile. + *

+ */ + debugShowGeometricError: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * When true, draws labels to indicate the number of commands, points, triangles and features of each tile. + *

+ */ + debugShowRenderingStatistics: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * When true, draws labels to indicate the geometry and texture memory usage of each tile. + *

+ */ + debugShowMemoryUsage: boolean; + /** + * This property is for debugging only; it is not optimized for production use. + *

+ * When true, draws labels to indicate the url of each tile. + *

+ */ + debugShowUrl: boolean; + /** + * Gets the tileset's asset object property, which contains metadata about the tileset. + *

+ * See the {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification#reference-asset|asset schema reference} + * in the 3D Tiles spec for the full set of properties. + *

+ */ + readonly asset: any; + /** + * Gets the tileset's extensions object property. + */ + readonly extensions: any; + /** + * The {@link ClippingPlaneCollection} used to selectively disable rendering the tileset. + */ + clippingPlanes: ClippingPlaneCollection; + /** + * Gets the tileset's properties dictionary object, which contains metadata about per-feature properties. + *

+ * See the {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification#reference-properties|properties schema reference} + * in the 3D Tiles spec for the full set of properties. + *

+ * @example + * console.log('Maximum building height: ' + tileset.properties.height.maximum); + * console.log('Minimum building height: ' + tileset.properties.height.minimum); + */ + readonly properties: any; + /** + * When true, the tileset's root tile is loaded and the tileset is ready to render. + * This is set to true right before {@link Cesium3DTileset#readyPromise} is resolved. + */ + readonly ready: boolean; + /** + * Gets the promise that will be resolved when the tileset's root tile is loaded and the tileset is ready to render. + *

+ * This promise is resolved at the end of the frame before the first frame the tileset is rendered in. + *

+ * @example + * tileset.readyPromise.then(function(tileset) { + * // tile.properties is not defined until readyPromise resolves. + * var properties = tileset.properties; + * if (Cesium.defined(properties)) { + * for (var name in properties) { + * console.log(properties[name]); + * } + * } + * }); + */ + readonly readyPromise: Promise; + /** + * When true, all tiles that meet the screen space error this frame are loaded. The tileset is + * completely loaded for this view. + */ + readonly tilesLoaded: boolean; + /** + * The url to a tileset JSON file. + */ + readonly url: string; + /** + * The base path that non-absolute paths in tileset JSON file are relative to. + */ + readonly basePath: string; + /** + * The style, defined using the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}, + * applied to each feature in the tileset. + *

+ * Assign undefined to remove the style, which will restore the visual + * appearance of the tileset to its default when no style was applied. + *

+ *

+ * The style is applied to a tile before the {@link Cesium3DTileset#tileVisible} + * event is raised, so code in tileVisible can manually set a feature's + * properties (e.g. color and show) after the style is applied. When + * a new style is assigned any manually set properties are overwritten. + *

+ * @example + * tileset.style = new Cesium.Cesium3DTileStyle({ + * color : { + * conditions : [ + * ['${Height} >= 100', 'color("purple", 0.5)'], + * ['${Height} >= 50', 'color("red")'], + * ['true', 'color("blue")'] + * ] + * }, + * show : '${Height} > 0', + * meta : { + * description : '"Building id ${id} has height ${Height}."' + * } + * }); + */ + style: Cesium3DTileStyle | undefined; + /** + * The maximum screen space error used to drive level of detail refinement. This value helps determine when a tile + * refines to its descendants, and therefore plays a major role in balancing performance with visual quality. + *

+ * A tile's screen space error is roughly equivalent to the number of pixels wide that would be drawn if a sphere with a + * radius equal to the tile's geometric error were rendered at the tile's position. If this value exceeds + * maximumScreenSpaceError the tile refines to its descendants. + *

+ *

+ * Depending on the tileset, maximumScreenSpaceError may need to be tweaked to achieve the right balance. + * Higher values provide better performance but lower visual quality. + *

+ */ + maximumScreenSpaceError: number; + /** + * The maximum amount of GPU memory (in MB) that may be used to cache tiles. This value is estimated from + * geometry, textures, and batch table textures of loaded tiles. For point clouds, this value also + * includes per-point metadata. + *

+ * Tiles not in view are unloaded to enforce this. + *

+ *

+ * If decreasing this value results in unloading tiles, the tiles are unloaded the next frame. + *

+ *

+ * If tiles sized more than maximumMemoryUsage are needed + * to meet the desired screen space error, determined by {@link Cesium3DTileset#maximumScreenSpaceError}, + * for the current view, then the memory usage of the tiles loaded will exceed + * maximumMemoryUsage. For example, if the maximum is 256 MB, but + * 300 MB of tiles are needed to meet the screen space error, then 300 MB of tiles may be loaded. When + * these tiles go out of view, they will be unloaded. + *

+ */ + maximumMemoryUsage: number; + /** + * The root tile. + */ + readonly root: Cesium3DTile; + /** + * The tileset's bounding sphere. + * @example + * var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ + * url : 'http://localhost:8002/tilesets/Seattle/tileset.json' + * })); + * + * tileset.readyPromise.then(function(tileset) { + * // Set the camera to view the newly added tileset + * viewer.camera.viewBoundingSphere(tileset.boundingSphere, new Cesium.HeadingPitchRange(0, -0.5, 0)); + * }); + */ + readonly boundingSphere: BoundingSphere; + /** + * A 4x4 transformation matrix that transforms the entire tileset. + * @example + * // Adjust a tileset's height from the globe's surface. + * var heightOffset = 20.0; + * var boundingSphere = tileset.boundingSphere; + * var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center); + * var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0); + * var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset); + * var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3()); + * tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); + */ + modelMatrix: Matrix4; + /** + * Returns the time, in milliseconds, since the tileset was loaded and first updated. + */ + readonly timeSinceLoad: number; + /** + * The total amount of GPU memory in bytes used by the tileset. This value is estimated from + * geometry, texture, and batch table textures of loaded tiles. For point clouds, this value also + * includes per-point metadata. + */ + readonly totalMemoryUsageInBytes: number; + /** + * Determines whether terrain, 3D Tiles or both will be classified by this tileset. + *

+ * This option is only applied to tilesets containing batched 3D models, geometry data, or vector data. Even when undefined, vector data and geometry data + * must render as classifications and will default to rendering on both terrain and other 3D Tiles tilesets. + *

+ *

+ * When enabled for batched 3D model tilesets, there are a few requirements/limitations on the glTF: + *

    + *
  • POSITION and _BATCHID semantics are required.
  • + *
  • All indices with the same batch id must occupy contiguous sections of the index buffer.
  • + *
  • All shaders and techniques are ignored. The generated shader simply multiplies the position by the model-view-projection matrix.
  • + *
  • The only supported extensions are CESIUM_RTC and WEB3D_quantized_attributes.
  • + *
  • Only one node is supported.
  • + *
  • Only one mesh per node is supported.
  • + *
  • Only one primitive per mesh is supported.
  • + *
+ *

+ */ + readonly classificationType: ClassificationType; + /** + * Gets an ellipsoid describing the shape of the globe. + */ + readonly ellipsoid: Ellipsoid; + /** + * Optimization option. Used when {@link Cesium3DTileset#foveatedScreenSpaceError} is true to control the cone size that determines which tiles are deferred. + * Tiles that are inside this cone are loaded immediately. Tiles outside the cone are potentially deferred based on how far outside the cone they are and {@link Cesium3DTileset#foveatedInterpolationCallback} and {@link Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation}. + * Setting this to 0.0 means the cone will be the line formed by the camera position and its view direction. Setting this to 1.0 means the cone encompasses the entire field of view of the camera, essentially disabling the effect. + */ + foveatedConeSize: number; + /** + * Optimization option. Used when {@link Cesium3DTileset#foveatedScreenSpaceError} is true to control the starting screen space error relaxation for tiles outside the foveated cone. + * The screen space error will be raised starting with this value up to {@link Cesium3DTileset#maximumScreenSpaceError} based on the provided {@link Cesium3DTileset#foveatedInterpolationCallback}. + */ + foveatedMinimumScreenSpaceErrorRelaxation: number; + /** + * Returns the extras property at the top-level of the tileset JSON, which contains application specific metadata. + * Returns undefined if extras does not exist. + */ + readonly extras: any; + /** + * Cesium adds lighting from the earth, sky, atmosphere, and star skybox. This cartesian is used to scale the final + * diffuse and specular lighting contribution from those sources to the final color. A value of 0.0 will disable those light sources. + */ + imageBasedLightingFactor: Cartesian2; + /** + * Provides a hook to override the method used to request the tileset json + * useful when fetching tilesets from remote servers + * @param tilesetUrl - The url of the json file to be fetched + * @returns A promise that resolves with the fetched json data + */ + static loadJson(tilesetUrl: Resource | string): Promise; + /** + * Marks the tileset's {@link Cesium3DTileset#style} as dirty, which forces all + * features to re-evaluate the style in the next frame each is visible. + */ + makeStyleDirty(): void; + /** + * Unloads all tiles that weren't selected the previous frame. This can be used to + * explicitly manage the tile cache and reduce the total number of tiles loaded below + * {@link Cesium3DTileset#maximumMemoryUsage}. + *

+ * Tile unloads occur at the next frame to keep all the WebGL delete calls + * within the render loop. + *

+ */ + trimLoadedTiles(): void; + /** + * true if the tileset JSON file lists the extension in extensionsUsed; otherwise, false. + * @param extensionName - The name of the extension to check. + * @returns true if the tileset JSON file lists the extension in extensionsUsed; otherwise, false. + */ + hasExtension(extensionName: string): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * tileset = tileset && tileset.destroy(); + */ + destroy(): void; +} + +export namespace Cesium3DTileset { + /** + * Optimization option. Used as a callback when {@link Cesium3DTileset#foveatedScreenSpaceError} is true to control how much to raise the screen space error for tiles outside the foveated cone, + * interpolating between {@link Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation} and {@link Cesium3DTileset#maximumScreenSpaceError}. + * @param p - The start value to interpolate. + * @param q - The end value to interpolate. + * @param time - The time of interpolation generally in the range [0.0, 1.0]. + */ + type foveatedInterpolationCallback = (p: number, q: number, time: number) => number; +} + +/** + * A style that is applied to a {@link Cesium3DTileset}. + *

+ * Evaluates an expression defined using the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}. + *

+ * @example + * tileset.style = new Cesium.Cesium3DTileStyle({ + * color : { + * conditions : [ + * ['${Height} >= 100', 'color("purple", 0.5)'], + * ['${Height} >= 50', 'color("red")'], + * ['true', 'color("blue")'] + * ] + * }, + * show : '${Height} > 0', + * meta : { + * description : '"Building id ${id} has height ${Height}."' + * } + * }); + * @example + * tileset.style = new Cesium.Cesium3DTileStyle({ + * color : 'vec4(${Temperature})', + * pointSize : '${Temperature} * 2.0' + * }); + * @param [style] - The url of a style or an object defining a style. + */ +export class Cesium3DTileStyle { + constructor(style?: Resource | string | any); + /** + * Gets the object defining the style using the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}. + */ + readonly style: any; + /** + * When true, the style is ready and its expressions can be evaluated. When + * a style is constructed with an object, as opposed to a url, this is true immediately. + */ + readonly ready: boolean; + /** + * Gets the promise that will be resolved when the the style is ready and its expressions can be evaluated. + */ + readonly readyPromise: Promise; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's show property. Alternatively a boolean, string, or object defining a show style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return or convert to a Boolean. + *

+ *

+ * This expression is applicable to all tile formats. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * show : '(regExp("^Chest").test(${County})) && (${YearBuilt} >= 1970)' + * }); + * style.show.evaluate(feature); // returns true or false depending on the feature's properties + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override show expression with a custom function + * style.show = { + * evaluate : function(feature) { + * return true; + * } + * }; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override show expression with a boolean + * style.show = true; + * }; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override show expression with a string + * style.show = '${Height} > 0'; + * }; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override show expression with a condition + * style.show = { + * conditions: [ + * ['${height} > 2', 'false'], + * ['true', 'true'] + * ]; + * }; + */ + show: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's color property. Alternatively a string or object defining a color style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Color. + *

+ *

+ * This expression is applicable to all tile formats. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * color : '(${Temperature} > 90) ? color("red") : color("white")' + * }); + * style.color.evaluateColor(feature, result); // returns a Cesium.Color object + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override color expression with a custom function + * style.color = { + * evaluateColor : function(feature, result) { + * return Cesium.Color.clone(Cesium.Color.WHITE, result); + * } + * }; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override color expression with a string + * style.color = 'color("blue")'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override color expression with a condition + * style.color = { + * conditions : [ + * ['${height} > 2', 'color("cyan")'], + * ['true', 'color("blue")'] + * ] + * }; + */ + color: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's pointSize property. Alternatively a string or object defining a point size style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Number. + *

+ *

+ * This expression is only applicable to point features in a Vector tile or a Point Cloud tile. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * pointSize : '(${Temperature} > 90) ? 2.0 : 1.0' + * }); + * style.pointSize.evaluate(feature); // returns a Number + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override pointSize expression with a custom function + * style.pointSize = { + * evaluate : function(feature) { + * return 1.0; + * } + * }; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override pointSize expression with a number + * style.pointSize = 1.0; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override pointSize expression with a string + * style.pointSize = '${height} / 10'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override pointSize expression with a condition + * style.pointSize = { + * conditions : [ + * ['${height} > 2', '1.0'], + * ['true', '2.0'] + * ] + * }; + */ + pointSize: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's pointOutlineColor property. Alternatively a string or object defining a color style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Color. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override pointOutlineColor expression with a string + * style.pointOutlineColor = 'color("blue")'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override pointOutlineColor expression with a condition + * style.pointOutlineColor = { + * conditions : [ + * ['${height} > 2', 'color("cyan")'], + * ['true', 'color("blue")'] + * ] + * }; + */ + pointOutlineColor: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's pointOutlineWidth property. Alternatively a string or object defining a number style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Number. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override pointOutlineWidth expression with a string + * style.pointOutlineWidth = '5'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override pointOutlineWidth expression with a condition + * style.pointOutlineWidth = { + * conditions : [ + * ['${height} > 2', '5'], + * ['true', '0'] + * ] + * }; + */ + pointOutlineWidth: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's labelColor property. Alternatively a string or object defining a color style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Color. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelColor expression with a string + * style.labelColor = 'color("blue")'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelColor expression with a condition + * style.labelColor = { + * conditions : [ + * ['${height} > 2', 'color("cyan")'], + * ['true', 'color("blue")'] + * ] + * }; + */ + labelColor: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's labelOutlineColor property. Alternatively a string or object defining a color style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Color. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelOutlineColor expression with a string + * style.labelOutlineColor = 'color("blue")'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelOutlineColor expression with a condition + * style.labelOutlineColor = { + * conditions : [ + * ['${height} > 2', 'color("cyan")'], + * ['true', 'color("blue")'] + * ] + * }; + */ + labelOutlineColor: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's labelOutlineWidth property. Alternatively a string or object defining a number style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Number. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelOutlineWidth expression with a string + * style.labelOutlineWidth = '5'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelOutlineWidth expression with a condition + * style.labelOutlineWidth = { + * conditions : [ + * ['${height} > 2', '5'], + * ['true', '0'] + * ] + * }; + */ + labelOutlineWidth: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's font property. Alternatively a string or object defining a string style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a String. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * font : '(${Temperature} > 90) ? "30px Helvetica" : "24px Helvetica"' + * }); + * style.font.evaluate(feature); // returns a String + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override font expression with a custom function + * style.font = { + * evaluate : function(feature) { + * return '24px Helvetica'; + * } + * }; + */ + font: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's label style property. Alternatively a string or object defining a number style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a LabelStyle. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * labelStyle : '(${Temperature} > 90) ? ' + LabelStyle.FILL_AND_OUTLINE + ' : ' + LabelStyle.FILL + * }); + * style.labelStyle.evaluate(feature); // returns a LabelStyle + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelStyle expression with a custom function + * style.labelStyle = { + * evaluate : function(feature) { + * return LabelStyle.FILL; + * } + * }; + */ + labelStyle: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's labelText property. Alternatively a string or object defining a string style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a String. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * labelText : '(${Temperature} > 90) ? ">90" : "<=90"' + * }); + * style.labelText.evaluate(feature); // returns a String + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelText expression with a custom function + * style.labelText = { + * evaluate : function(feature) { + * return 'Example label text'; + * } + * }; + */ + labelText: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's backgroundColor property. Alternatively a string or object defining a color style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Color. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override backgroundColor expression with a string + * style.backgroundColor = 'color("blue")'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override backgroundColor expression with a condition + * style.backgroundColor = { + * conditions : [ + * ['${height} > 2', 'color("cyan")'], + * ['true', 'color("blue")'] + * ] + * }; + */ + backgroundColor: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's backgroundPadding property. Alternatively a string or object defining a vec2 style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Cartesian2. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override backgroundPadding expression with a string + * style.backgroundPadding = 'vec2(5.0, 7.0)'; + * style.backgroundPadding.evaluate(feature); // returns a Cartesian2 + */ + backgroundPadding: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's backgroundEnabled property. Alternatively a string or object defining a boolean style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Boolean. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override backgroundEnabled expression with a string + * style.backgroundEnabled = 'true'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override backgroundEnabled expression with a condition + * style.backgroundEnabled = { + * conditions : [ + * ['${height} > 2', 'true'], + * ['true', 'false'] + * ] + * }; + */ + backgroundEnabled: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's scaleByDistance property. Alternatively a string or object defining a vec4 style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Cartesian4. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override scaleByDistance expression with a string + * style.scaleByDistance = 'vec4(1.5e2, 2.0, 1.5e7, 0.5)'; + * style.scaleByDistance.evaluate(feature); // returns a Cartesian4 + */ + scaleByDistance: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's translucencyByDistance property. Alternatively a string or object defining a vec4 style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Cartesian4. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override translucencyByDistance expression with a string + * style.translucencyByDistance = 'vec4(1.5e2, 1.0, 1.5e7, 0.2)'; + * style.translucencyByDistance.evaluate(feature); // returns a Cartesian4 + */ + translucencyByDistance: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's distanceDisplayCondition property. Alternatively a string or object defining a vec2 style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Cartesian2. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override distanceDisplayCondition expression with a string + * style.distanceDisplayCondition = 'vec2(0.0, 5.5e6)'; + * style.distanceDisplayCondition.evaluate(feature); // returns a Cartesian2 + */ + distanceDisplayCondition: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's heightOffset property. Alternatively a string or object defining a number style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Number. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override heightOffset expression with a string + * style.heightOffset = '2.0'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override heightOffset expression with a condition + * style.heightOffset = { + * conditions : [ + * ['${height} > 2', '4.0'], + * ['true', '2.0'] + * ] + * }; + */ + heightOffset: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's anchorLineEnabled property. Alternatively a string or object defining a boolean style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Boolean. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override anchorLineEnabled expression with a string + * style.anchorLineEnabled = 'true'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override anchorLineEnabled expression with a condition + * style.anchorLineEnabled = { + * conditions : [ + * ['${height} > 2', 'true'], + * ['true', 'false'] + * ] + * }; + */ + anchorLineEnabled: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's anchorLineColor property. Alternatively a string or object defining a color style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Color. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override anchorLineColor expression with a string + * style.anchorLineColor = 'color("blue")'; + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override anchorLineColor expression with a condition + * style.anchorLineColor = { + * conditions : [ + * ['${height} > 2', 'color("cyan")'], + * ['true', 'color("blue")'] + * ] + * }; + */ + anchorLineColor: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's image property. Alternatively a string or object defining a string style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a String. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * image : '(${Temperature} > 90) ? "/url/to/image1" : "/url/to/image2"' + * }); + * style.image.evaluate(feature); // returns a String + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override image expression with a custom function + * style.image = { + * evaluate : function(feature) { + * return '/url/to/image'; + * } + * }; + */ + image: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's disableDepthTestDistance property. Alternatively a string or object defining a number style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a Number. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override disableDepthTestDistance expression with a string + * style.disableDepthTestDistance = '1000.0'; + * style.disableDepthTestDistance.evaluate(feature); // returns a Number + */ + disableDepthTestDistance: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's horizontalOrigin property. Alternatively a string or object defining a number style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a HorizontalOrigin. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * horizontalOrigin : HorizontalOrigin.LEFT + * }); + * style.horizontalOrigin.evaluate(feature); // returns a HorizontalOrigin + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override horizontalOrigin expression with a custom function + * style.horizontalOrigin = { + * evaluate : function(feature) { + * return HorizontalOrigin.CENTER; + * } + * }; + */ + horizontalOrigin: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's verticalOrigin property. Alternatively a string or object defining a number style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a VerticalOrigin. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * verticalOrigin : VerticalOrigin.TOP + * }); + * style.verticalOrigin.evaluate(feature); // returns a VerticalOrigin + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override verticalOrigin expression with a custom function + * style.verticalOrigin = { + * evaluate : function(feature) { + * return VerticalOrigin.CENTER; + * } + * }; + */ + verticalOrigin: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's labelHorizontalOrigin property. Alternatively a string or object defining a number style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a HorizontalOrigin. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * labelHorizontalOrigin : HorizontalOrigin.LEFT + * }); + * style.labelHorizontalOrigin.evaluate(feature); // returns a HorizontalOrigin + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelHorizontalOrigin expression with a custom function + * style.labelHorizontalOrigin = { + * evaluate : function(feature) { + * return HorizontalOrigin.CENTER; + * } + * }; + */ + labelHorizontalOrigin: StyleExpression; + /** + * Gets or sets the {@link StyleExpression} object used to evaluate the style's labelVerticalOrigin property. Alternatively a string or object defining a number style can be used. + * The getter will return the internal {@link Expression} or {@link ConditionsExpression}, which may differ from the value provided to the setter. + *

+ * The expression must return a VerticalOrigin. + *

+ *

+ * This expression is only applicable to point features in a Vector tile. + *

+ * @example + * var style = new Cesium3DTileStyle({ + * labelVerticalOrigin : VerticalOrigin.TOP + * }); + * style.labelVerticalOrigin.evaluate(feature); // returns a VerticalOrigin + * @example + * var style = new Cesium.Cesium3DTileStyle(); + * // Override labelVerticalOrigin expression with a custom function + * style.labelVerticalOrigin = { + * evaluate : function(feature) { + * return VerticalOrigin.CENTER; + * } + * }; + */ + labelVerticalOrigin: StyleExpression; + /** + * Gets or sets the object containing application-specific expression that can be explicitly + * evaluated, e.g., for display in a UI. + * @example + * var style = new Cesium3DTileStyle({ + * meta : { + * description : '"Building id ${id} has height ${Height}."' + * } + * }); + * style.meta.description.evaluate(feature); // returns a String with the substituted variables + */ + meta: StyleExpression; +} + +/** + * A ParticleEmitter that emits particles from a circle. + * Particles will be positioned within a circle and have initial velocities going along the z vector. + * @param [radius = 1.0] - The radius of the circle in meters. + */ +export class CircleEmitter { + constructor(radius?: number); + /** + * The radius of the circle in meters. + */ + radius: number; + /** + * The angle of the cone in radians. + */ + angle: number; +} + +/** + * A classification primitive represents a volume enclosing geometry in the {@link Scene} to be highlighted. + *

+ * A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including + * {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement, + * and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix + * and match most of them and add a new geometry or appearance independently of each other. + * Only {@link PerInstanceColorAppearance} with the same color across all instances is supported at this time when using + * ClassificationPrimitive directly. + * For full {@link Appearance} support when classifying terrain or 3D Tiles use {@link GroundPrimitive} instead. + *

+ *

+ * For correct rendering, this feature requires the EXT_frag_depth WebGL extension. For hardware that do not support this extension, there + * will be rendering artifacts for some viewing angles. + *

+ *

+ * Valid geometries are {@link BoxGeometry}, {@link CylinderGeometry}, {@link EllipsoidGeometry}, {@link PolylineVolumeGeometry}, and {@link SphereGeometry}. + *

+ *

+ * Geometries that follow the surface of the ellipsoid, such as {@link CircleGeometry}, {@link CorridorGeometry}, {@link EllipseGeometry}, {@link PolygonGeometry}, and {@link RectangleGeometry}, + * are also valid if they are extruded volumes; otherwise, they will not be rendered. + *

+ * @param [options] - Object with the following properties: + * @param [options.geometryInstances] - The geometry instances to render. This can either be a single instance or an array of length one. + * @param [options.appearance] - The appearance used to render the primitive. Defaults to PerInstanceColorAppearance when GeometryInstances have a color attribute. + * @param [options.show = true] - Determines if this primitive will be shown. + * @param [options.vertexCacheOptimize = false] - When true, geometry vertices are optimized for the pre and post-vertex-shader caches. + * @param [options.interleave = false] - When true, geometry vertex attributes are interleaved, which can slightly improve rendering performance but increases load time. + * @param [options.compressVertices = true] - When true, the geometry vertices are compressed, which will save memory. + * @param [options.releaseGeometryInstances = true] - When true, the primitive does not keep a reference to the input geometryInstances to save memory. + * @param [options.allowPicking = true] - When true, each geometry instance will only be pickable with {@link Scene#pick}. When false, GPU memory is saved. + * @param [options.asynchronous = true] - Determines if the primitive will be created asynchronously or block until ready. If false initializeTerrainHeights() must be called first. + * @param [options.classificationType = ClassificationType.BOTH] - Determines whether terrain, 3D Tiles or both will be classified. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown. + * @param [options.debugShowShadowVolume = false] - For debugging only. Determines if the shadow volume for each geometry in the primitive is drawn. Must be true on + * creation for the volumes to be created before the geometry is released or options.releaseGeometryInstance must be false. + */ +export class ClassificationPrimitive { + constructor(options?: { + geometryInstances?: any[] | GeometryInstance; + appearance?: Appearance; + show?: boolean; + vertexCacheOptimize?: boolean; + interleave?: boolean; + compressVertices?: boolean; + releaseGeometryInstances?: boolean; + allowPicking?: boolean; + asynchronous?: boolean; + classificationType?: ClassificationType; + debugShowBoundingVolume?: boolean; + debugShowShadowVolume?: boolean; + }); + /** + * The geometry instance rendered with this primitive. This may + * be undefined if options.releaseGeometryInstances + * is true when the primitive is constructed. + *

+ * Changing this property after the primitive is rendered has no effect. + *

+ *

+ * Because of the rendering technique used, all geometry instances must be the same color. + * If there is an instance with a differing color, a DeveloperError will be thrown + * on the first attempt to render. + *

+ */ + readonly geometryInstances: any[] | GeometryInstance; + /** + * Determines if the primitive will be shown. This affects all geometry + * instances in the primitive. + */ + show: boolean; + /** + * Determines whether terrain, 3D Tiles or both will be classified. + */ + classificationType: ClassificationType; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the bounding sphere for each draw command in the primitive. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the shadow volume for each geometry in the primitive. + *

+ */ + debugShowShadowVolume: boolean; + /** + * When true, geometry vertices are optimized for the pre and post-vertex-shader caches. + */ + readonly vertexCacheOptimize: boolean; + /** + * Determines if geometry vertex attributes are interleaved, which can slightly improve rendering performance. + */ + readonly interleave: boolean; + /** + * When true, the primitive does not keep a reference to the input geometryInstances to save memory. + */ + readonly releaseGeometryInstances: boolean; + /** + * When true, each geometry instance will only be pickable with {@link Scene#pick}. When false, GPU memory is saved. + */ + readonly allowPicking: boolean; + /** + * Determines if the geometry instances will be created and batched on a web worker. + */ + readonly asynchronous: boolean; + /** + * When true, geometry vertices are compressed, which will save memory. + */ + readonly compressVertices: boolean; + /** + * Determines if the primitive is complete and ready to render. If this property is + * true, the primitive will be rendered the next time that {@link ClassificationPrimitive#update} + * is called. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves when the primitive is ready to render. + */ + readonly readyPromise: Promise; + /** + * Determines if ClassificationPrimitive rendering is supported. + * @param scene - The scene. + * @returns true if ClassificationPrimitives are supported; otherwise, returns false + */ + static isSupported(scene: Scene): boolean; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * get the draw commands needed to render this primitive. + *

+ * Do not call this function directly. This is documented just to + * list the exceptions that may be propagated when the scene is rendered: + *

+ */ + update(): void; + /** + * Returns the modifiable per-instance attributes for a {@link GeometryInstance}. + * @example + * var attributes = primitive.getGeometryInstanceAttributes('an id'); + * attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA); + * attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true); + * @param id - The id of the {@link GeometryInstance}. + * @returns The typed array in the attribute's format or undefined if the is no instance with id. + */ + getGeometryInstanceAttributes(id: any): any; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + *

+ * @example + * e = e && e.destroy(); + */ + destroy(): void; +} + +/** + * Whether a classification affects terrain, 3D Tiles or both. + */ +export enum ClassificationType { + /** + * Only terrain will be classified. + */ + TERRAIN = 0, + /** + * Only 3D Tiles will be classified. + */ + CESIUM_3D_TILE = 1, + /** + * Both terrain and 3D Tiles will be classified. + */ + BOTH = 2 +} + +/** + * A Plane in Hessian Normal form to be used with {@link ClippingPlaneCollection}. + * Compatible with mathematics functions in {@link Plane} + * @param normal - The plane's normal (normalized). + * @param distance - The shortest distance from the origin to the plane. The sign of + * distance determines which side of the plane the origin + * is on. If distance is positive, the origin is in the half-space + * in the direction of the normal; if negative, the origin is in the half-space + * opposite to the normal; if zero, the plane passes through the origin. + */ +export class ClippingPlane { + constructor(normal: Cartesian3, distance: number); + /** + * The shortest distance from the origin to the plane. The sign of + * distance determines which side of the plane the origin + * is on. If distance is positive, the origin is in the half-space + * in the direction of the normal; if negative, the origin is in the half-space + * opposite to the normal; if zero, the plane passes through the origin. + */ + distance: number; + /** + * The plane's normal. + */ + normal: Cartesian3; + /** + * Create a ClippingPlane from a Plane object. + * @param plane - The plane containing parameters to copy + * @param [result] - The object on which to store the result + * @returns The ClippingPlane generated from the plane's parameters. + */ + static fromPlane(plane: Plane, result?: ClippingPlane): ClippingPlane; + /** + * Clones the ClippingPlane without setting its ownership. + * @param clippingPlane - The ClippingPlane to be cloned + * @param [result] - The object on which to store the cloned parameters. + * @returns a clone of the input ClippingPlane + */ + static clone(clippingPlane: ClippingPlane, result?: ClippingPlane): ClippingPlane; +} + +/** + * Specifies a set of clipping planes. Clipping planes selectively disable rendering in a region on the + * outside of the specified list of {@link ClippingPlane} objects for a single gltf model, 3D Tileset, or the globe. + *

+ * In general the clipping planes' coordinates are relative to the object they're attached to, so a plane with distance set to 0 will clip + * through the center of the object. + *

+ *

+ * For 3D Tiles, the root tile's transform is used to position the clipping planes. If a transform is not defined, the root tile's {@link Cesium3DTile#boundingSphere} is used instead. + *

+ * @example + * // This clipping plane's distance is positive, which means its normal + * // is facing the origin. This will clip everything that is behind + * // the plane, which is anything with y coordinate < -5. + * var clippingPlanes = new Cesium.ClippingPlaneCollection({ + * planes : [ + * new Cesium.ClippingPlane(new Cesium.Cartesian3(0.0, 1.0, 0.0), 5.0) + * ], + * }); + * // Create an entity and attach the ClippingPlaneCollection to the model. + * var entity = viewer.entities.add({ + * position : Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, 10000), + * model : { + * uri : 'model.gltf', + * minimumPixelSize : 128, + * maximumScale : 20000, + * clippingPlanes : clippingPlanes + * } + * }); + * viewer.zoomTo(entity); + * @param [options] - Object with the following properties: + * @param [options.planes = []] - An array of {@link ClippingPlane} objects used to selectively disable rendering on the outside of each plane. + * @param [options.enabled = true] - Determines whether the clipping planes are active. + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix specifying an additional transform relative to the clipping planes original coordinate system. + * @param [options.unionClippingRegions = false] - If true, a region will be clipped if it is on the outside of any plane in the collection. Otherwise, a region will only be clipped if it is on the outside of every plane. + * @param [options.edgeColor = Color.WHITE] - The color applied to highlight the edge along which an object is clipped. + * @param [options.edgeWidth = 0.0] - The width, in pixels, of the highlight applied to the edge along which an object is clipped. + */ +export class ClippingPlaneCollection { + constructor(options?: { + planes?: ClippingPlane[]; + enabled?: boolean; + modelMatrix?: Matrix4; + unionClippingRegions?: boolean; + edgeColor?: Color; + edgeWidth?: number; + }); + /** + * The 4x4 transformation matrix specifying an additional transform relative to the clipping planes + * original coordinate system. + */ + modelMatrix: Matrix4; + /** + * The color applied to highlight the edge along which an object is clipped. + */ + edgeColor: Color; + /** + * The width, in pixels, of the highlight applied to the edge along which an object is clipped. + */ + edgeWidth: number; + /** + * An event triggered when a new clipping plane is added to the collection. Event handlers + * are passed the new plane and the index at which it was added. + */ + planeAdded: Event; + /** + * An event triggered when a new clipping plane is removed from the collection. Event handlers + * are passed the new plane and the index from which it was removed. + */ + planeRemoved: Event; + /** + * Returns the number of planes in this collection. This is commonly used with + * {@link ClippingPlaneCollection#get} to iterate over all the planes + * in the collection. + */ + readonly length: number; + /** + * If true, a region will be clipped if it is on the outside of any plane in the + * collection. Otherwise, a region will only be clipped if it is on the + * outside of every plane. + */ + unionClippingRegions: boolean; + /** + * If true, clipping will be enabled. + */ + enabled: boolean; + /** + * Adds the specified {@link ClippingPlane} to the collection to be used to selectively disable rendering + * on the outside of each plane. Use {@link ClippingPlaneCollection#unionClippingRegions} to modify + * how modify the clipping behavior of multiple planes. + * @param plane - The ClippingPlane to add to the collection. + */ + add(plane: ClippingPlane): void; + /** + * Returns the plane in the collection at the specified index. Indices are zero-based + * and increase as planes are added. Removing a plane shifts all planes after + * it to the left, changing their indices. This function is commonly used with + * {@link ClippingPlaneCollection#length} to iterate over all the planes + * in the collection. + * @param index - The zero-based index of the plane. + * @returns The ClippingPlane at the specified index. + */ + get(index: number): ClippingPlane; + /** + * Checks whether this collection contains a ClippingPlane equal to the given ClippingPlane. + * @param [clippingPlane] - The ClippingPlane to check for. + * @returns true if this collection contains the ClippingPlane, false otherwise. + */ + contains(clippingPlane?: ClippingPlane): boolean; + /** + * Removes the first occurrence of the given ClippingPlane from the collection. + * @returns true if the plane was removed; false if the plane was not found in the collection. + */ + remove(clippingPlane: ClippingPlane): boolean; + /** + * Removes all planes from the collection. + */ + removeAll(): void; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * build the resources for clipping planes. + *

+ * Do not call this function directly. + *

+ */ + update(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * clippingPlanes = clippingPlanes && clippingPlanes.destroy(); + */ + destroy(): void; +} + +/** + * Defines different modes for blending between a target color and a primitive's source color. + * + * HIGHLIGHT multiplies the source color by the target color + * REPLACE replaces the source color with the target color + * MIX blends the source color and target color together + */ +export enum ColorBlendMode { + HIGHLIGHT = 0, + REPLACE = 1, + MIX = 2 +} + +/** + * An expression for a style applied to a {@link Cesium3DTileset}. + *

+ * Evaluates a conditions expression defined using the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}. + *

+ *

+ * Implements the {@link StyleExpression} interface. + *

+ * @example + * var expression = new Cesium.ConditionsExpression({ + * conditions : [ + * ['${Area} > 10, 'color("#FF0000")'], + * ['${id} !== "1"', 'color("#00FF00")'], + * ['true', 'color("#FFFFFF")'] + * ] + * }); + * expression.evaluateColor(feature, result); // returns a Cesium.Color object + * @param [conditionsExpression] - The conditions expression defined using the 3D Tiles Styling language. + * @param [defines] - Defines in the style. + */ +export class ConditionsExpression { + constructor(conditionsExpression?: any, defines?: any); + /** + * Gets the conditions expression defined in the 3D Tiles Styling language. + */ + readonly conditionsExpression: any; + /** + * Evaluates the result of an expression, optionally using the provided feature's properties. If the result of + * the expression in the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language} + * is of type Boolean, Number, or String, the corresponding JavaScript + * primitive type will be returned. If the result is a RegExp, a Javascript RegExp + * object will be returned. If the result is a Cartesian2, Cartesian3, or Cartesian4, + * a {@link Cartesian2}, {@link Cartesian3}, or {@link Cartesian4} object will be returned. If the result argument is + * a {@link Color}, the {@link Cartesian4} value is converted to a {@link Color} and then returned. + * @param feature - The feature whose properties may be used as variables in the expression. + * @param [result] - The object onto which to store the result. + * @returns The result of evaluating the expression. + */ + evaluate(feature: Cesium3DTileFeature, result?: any): boolean | number | string | RegExp | Cartesian2 | Cartesian3 | Cartesian4 | Color; + /** + * Evaluates the result of a Color expression, using the values defined by a feature. + *

+ * This is equivalent to {@link ConditionsExpression#evaluate} but always returns a {@link Color} object. + *

+ * @param feature - The feature whose properties may be used as variables in the expression. + * @param [result] - The object in which to store the result + * @returns The modified result parameter or a new Color instance if one was not provided. + */ + evaluateColor(feature: Cesium3DTileFeature, result?: Color): Color; +} + +/** + * A ParticleEmitter that emits particles within a cone. + * Particles will be positioned at the tip of the cone and have initial velocities going towards the base. + * @param [angle = Cesium.Math.toRadians(30.0)] - The angle of the cone in radians. + */ +export class ConeEmitter { + constructor(angle?: number); +} + +/** + * Creates a {@link Cesium3DTileset} instance for the + * {@link https://cesium.com/content/cesium-osm-buildings/|Cesium OSM Buildings} + * tileset. + * @example + * // Create Cesium OSM Buildings with default styling + * var viewer = new Cesium.Viewer('cesiumContainer'); + * viewer.scene.primitives.add(Cesium.createOsmBuildings()); + * @example + * // Create Cesium OSM Buildings with a custom style highlighting + * // schools and hospitals. + * viewer.scene.primitives.add(Cesium.createOsmBuildings({ + * style: new Cesium.Cesium3DTileStyle({ + * color: { + * conditions: [ + * ["${feature['building']} === 'hospital'", "color('#0000FF')"], + * ["${feature['building']} === 'school'", "color('#00FF00')"], + * [true, "color('#ffffff')"] + * ] + * } + * }) + * })); + * @param [options] - Construction options. Any options allowed by the {@link Cesium3DTileset} constructor + * may be specified here. In addition to those, the following properties are supported: + * @param [options.defaultColor = Color.WHITE] - The default color to use for buildings + * that do not have a color. This parameter is ignored if options.style is specified. + * @param [options.style] - The style to use with the tileset. If not + * specified, a default style is used which gives each building or building part a + * color inferred from its OpenStreetMap tags. If no color can be inferred, + * options.defaultColor is used. + */ +export function createOsmBuildings(options?: { + defaultColor?: Color; + style?: Cesium3DTileStyle; +}): Cesium3DTileset; + +/** + * Creates a {@link Primitive} to visualize well-known vector vertex attributes: + * normal, tangent, and bitangent. Normal + * is red; tangent is green; and bitangent is blue. If an attribute is not + * present, it is not drawn. + * @example + * scene.primitives.add(Cesium.createTangentSpaceDebugPrimitive({ + * geometry : instance.geometry, + * length : 100000.0, + * modelMatrix : instance.modelMatrix + * })); + * @param options - Object with the following properties: + * @param options.geometry - The Geometry instance with the attribute. + * @param [options.length = 10000.0] - The length of each line segment in meters. This can be negative to point the vector in the opposite direction. + * @param [options.modelMatrix = Matrix4.IDENTITY] - The model matrix that transforms to transform the geometry from model to world coordinates. + * @returns A new Primitive instance with geometry for the vectors. + */ +export function createTangentSpaceDebugPrimitive(options: { + geometry: Geometry; + length?: number; + modelMatrix?: Matrix4; +}): Primitive; + +/** + * Creates an {@link IonImageryProvider} instance for ion's default global base imagery layer, currently Bing Maps. + * @example + * // Create Cesium World Terrain with default settings + * var viewer = new Cesium.Viewer('cesiumContainer', { + * imageryProvider : Cesium.createWorldImagery(); + * }); + * @example + * // Create Cesium World Terrain with water and normals. + * var viewer = new Cesium.Viewer('cesiumContainer', { + * imageryProvider : Cesium.createWorldImagery({ + * style: Cesium.IonWorldImageryStyle.AERIAL_WITH_LABELS + * }) + * }); + * @param [options] - Object with the following properties: + * @param [options.style = IonWorldImageryStyle] - The style of base imagery, only AERIAL, AERIAL_WITH_LABELS, and ROAD are currently supported. + */ +export function createWorldImagery(options?: { + style?: IonWorldImageryStyle; +}): IonImageryProvider; + +/** + * The credit display is responsible for displaying credits on screen. + * @example + * var creditDisplay = new Cesium.CreditDisplay(creditContainer); + * @param container - The HTML element where credits will be displayed + * @param [delimiter = ' • '] - The string to separate text credits + * @param [viewport = document.body] - The HTML element that will contain the credits popup + */ +export class CreditDisplay { + constructor(container: HTMLElement, delimiter?: string, viewport?: HTMLElement); + /** + * The HTML element where credits will be displayed. + */ + container: HTMLElement; + /** + * Adds a credit to the list of current credits to be displayed in the credit container + * @param credit - The credit to display + */ + addCredit(credit: Credit): void; + /** + * Adds credits that will persist until they are removed + * @param credit - The credit to added to defaults + */ + addDefaultCredit(credit: Credit): void; + /** + * Removes a default credit + * @param credit - The credit to be removed from defaults + */ + removeDefaultCredit(credit: Credit): void; + /** + * Updates the credit display before a new frame is rendered. + */ + update(): void; + /** + * Resets the credit display to a beginning of frame state, clearing out current credits. + */ + beginFrame(): void; + /** + * Sets the credit display to the end of frame state, displaying credits from the last frame in the credit container. + */ + endFrame(): void; + /** + * Destroys the resources held by this object. Destroying an object allows for deterministic + * release of resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + */ + destroy(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Gets or sets the Cesium logo credit. + */ + static cesiumCredit: Credit; +} + +/** + * Determines which triangles, if any, are culled. + */ +export enum CullFace { + /** + * Front-facing triangles are culled. + */ + FRONT = WebGLConstants.FRONT, + /** + * Back-facing triangles are culled. + */ + BACK = WebGLConstants.BACK, + /** + * Both front-facing and back-facing triangles are culled. + */ + FRONT_AND_BACK = WebGLConstants.FRONT_AND_BACK +} + +/** + * Visualizes a vertex attribute by displaying it as a color for debugging. + *

+ * Components for well-known unit-length vectors, i.e., normal, + * tangent, and bitangent, are scaled and biased + * from [-1.0, 1.0] to (-1.0, 1.0). + *

+ * @example + * var primitive = new Cesium.Primitive({ + * geometryInstances : // ... + * appearance : new Cesium.DebugAppearance({ + * attributeName : 'normal' + * }) + * }); + * @param options - Object with the following properties: + * @param options.attributeName - The name of the attribute to visualize. + * @param [options.perInstanceAttribute = false] - Boolean that determines whether this attribute is a per-instance geometry attribute. + * @param [options.glslDatatype = 'vec3'] - The GLSL datatype of the attribute. Supported datatypes are float, vec2, vec3, and vec4. + * @param [options.vertexShaderSource] - Optional GLSL vertex shader source to override the default vertex shader. + * @param [options.fragmentShaderSource] - Optional GLSL fragment shader source to override the default fragment shader. + * @param [options.renderState] - Optional render state to override the default render state. + */ +export class DebugAppearance { + constructor(options: { + attributeName: string; + perInstanceAttribute?: boolean; + glslDatatype?: string; + vertexShaderSource?: string; + fragmentShaderSource?: string; + renderState?: any; + }); + /** + * This property is part of the {@link Appearance} interface, but is not + * used by {@link DebugAppearance} since a fully custom fragment shader is used. + */ + material: Material; + /** + * When true, the geometry is expected to appear translucent. + */ + translucent: boolean; + /** + * The GLSL source code for the vertex shader. + */ + readonly vertexShaderSource: string; + /** + * The GLSL source code for the fragment shader. The full fragment shader + * source is built procedurally taking into account the {@link DebugAppearance#material}. + * Use {@link DebugAppearance#getFragmentShaderSource} to get the full source. + */ + readonly fragmentShaderSource: string; + /** + * The WebGL fixed-function state to use when rendering the geometry. + */ + readonly renderState: any; + /** + * When true, the geometry is expected to be closed. + */ + readonly closed: boolean; + /** + * The name of the attribute being visualized. + */ + readonly attributeName: string; + /** + * The GLSL datatype of the attribute being visualized. + */ + readonly glslDatatype: string; + /** + * Returns the full GLSL fragment shader source, which for {@link DebugAppearance} is just + * {@link DebugAppearance#fragmentShaderSource}. + * @returns The full GLSL fragment shader source. + */ + getFragmentShaderSource(): string; + /** + * Determines if the geometry is translucent based on {@link DebugAppearance#translucent}. + * @returns true if the appearance is translucent. + */ + isTranslucent(): boolean; + /** + * Creates a render state. This is not the final render state instance; instead, + * it can contain a subset of render state properties identical to the render state + * created in the context. + * @returns The render state. + */ + getRenderState(): any; +} + +/** + * Draws the outline of the camera's view frustum. + * @example + * primitives.add(new Cesium.DebugCameraPrimitive({ + * camera : camera, + * color : Cesium.Color.YELLOW + * })); + * @param options - Object with the following properties: + * @param options.camera - The camera. + * @param [options.frustumSplits] - Distances to the near and far planes of the camera frustums. This overrides the camera's frustum near and far values. + * @param [options.color = Color.CYAN] - The color of the debug outline. + * @param [options.updateOnChange = true] - Whether the primitive updates when the underlying camera changes. + * @param [options.show = true] - Determines if this primitive will be shown. + * @param [options.id] - A user-defined object to return when the instance is picked with {@link Scene#pick}. + */ +export class DebugCameraPrimitive { + constructor(options: { + camera: Camera; + frustumSplits?: number[]; + color?: Color; + updateOnChange?: boolean; + show?: boolean; + id?: any; + }); + /** + * Determines if this primitive will be shown. + */ + show: boolean; + /** + * User-defined value returned when the primitive is picked. + */ + id: any; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + *

+ * @example + * p = p && p.destroy(); + */ + destroy(): void; +} + +/** + * Draws the axes of a reference frame defined by a matrix that transforms to world + * coordinates, i.e., Earth's WGS84 coordinates. The most prominent example is + * a primitives modelMatrix. + *

+ * The X axis is red; Y is green; and Z is blue. + *

+ *

+ * This is for debugging only; it is not optimized for production use. + *

+ * @example + * primitives.add(new Cesium.DebugModelMatrixPrimitive({ + * modelMatrix : primitive.modelMatrix, // primitive to debug + * length : 100000.0, + * width : 10.0 + * })); + * @param [options] - Object with the following properties: + * @param [options.length = 10000000.0] - The length of the axes in meters. + * @param [options.width = 2.0] - The width of the axes in pixels. + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 matrix that defines the reference frame, i.e., origin plus axes, to visualize. + * @param [options.show = true] - Determines if this primitive will be shown. + * @param [options.id] - A user-defined object to return when the instance is picked with {@link Scene#pick} + */ +export class DebugModelMatrixPrimitive { + constructor(options?: { + length?: number; + width?: number; + modelMatrix?: Matrix4; + show?: boolean; + id?: any; + }); + /** + * The length of the axes in meters. + */ + length: number; + /** + * The width of the axes in pixels. + */ + width: number; + /** + * Determines if this primitive will be shown. + */ + show: boolean; + /** + * The 4x4 matrix that defines the reference frame, i.e., origin plus axes, to visualize. + */ + modelMatrix: Matrix4; + /** + * User-defined value returned when the primitive is picked. + */ + id: any; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + *

+ * @example + * p = p && p.destroy(); + */ + destroy(): void; +} + +/** + * Determines the function used to compare two depths for the depth test. + */ +export enum DepthFunction { + /** + * The depth test never passes. + */ + NEVER = WebGLConstants.NEVER, + /** + * The depth test passes if the incoming depth is less than the stored depth. + */ + LESS = WebGLConstants.LESS, + /** + * The depth test passes if the incoming depth is equal to the stored depth. + */ + EQUAL = WebGLConstants.EQUAL, + /** + * The depth test passes if the incoming depth is less than or equal to the stored depth. + */ + LESS_OR_EQUAL = WebGLConstants.LEQUAL, + /** + * The depth test passes if the incoming depth is greater than the stored depth. + */ + GREATER = WebGLConstants.GREATER, + /** + * The depth test passes if the incoming depth is not equal to the stored depth. + */ + NOT_EQUAL = WebGLConstants.NOTEQUAL, + /** + * The depth test passes if the incoming depth is greater than or equal to the stored depth. + */ + GREATER_OR_EQUAL = WebGLConstants.GEQUAL, + /** + * The depth test always passes. + */ + ALWAYS = WebGLConstants.ALWAYS +} + +/** + * A light that gets emitted in a single direction from infinitely far away. + * @param options - Object with the following properties: + * @param options.direction - The direction in which light gets emitted. + * @param [options.color = Color.WHITE] - The color of the light. + * @param [options.intensity = 1.0] - The intensity of the light. + */ +export class DirectionalLight { + constructor(options: { + direction: Cartesian3; + color?: Color; + intensity?: number; + }); + /** + * The direction in which light gets emitted. + */ + direction: Cartesian3; + /** + * The color of the light. + */ + color: Color; + /** + * The intensity of the light. + */ + intensity: number; +} + +/** + * A policy for discarding tile images that contain no data (and so aren't actually images). + * This policy discards {@link DiscardEmptyTileImagePolicy.EMPTY_IMAGE}, which is + * expected to be used in place of any empty tile images by the image loading code. + */ +export class DiscardEmptyTileImagePolicy { + constructor(); + /** + * Determines if the discard policy is ready to process images. + * @returns True if the discard policy is ready to process images; otherwise, false. + */ + isReady(): boolean; + /** + * Given a tile image, decide whether to discard that image. + * @param image - An image to test. + * @returns True if the image should be discarded; otherwise, false. + */ + shouldDiscardImage(image: HTMLImageElement): boolean; + /** + * Default value for representing an empty image. + */ + static readonly EMPTY_IMAGE: HTMLImageElement; +} + +/** + * A policy for discarding tile images that match a known image containing a + * "missing" image. + * @param options - Object with the following properties: + * @param options.missingImageUrl - The URL of the known missing image. + * @param options.pixelsToCheck - An array of {@link Cartesian2} pixel positions to + * compare against the missing image. + * @param [options.disableCheckIfAllPixelsAreTransparent = false] - If true, the discard check will be disabled + * if all of the pixelsToCheck in the missingImageUrl have an alpha value of 0. If false, the + * discard check will proceed no matter the values of the pixelsToCheck. + */ +export class DiscardMissingTileImagePolicy { + constructor(options: { + missingImageUrl: Resource | string; + pixelsToCheck: Cartesian2[]; + disableCheckIfAllPixelsAreTransparent?: boolean; + }); + /** + * Determines if the discard policy is ready to process images. + * @returns True if the discard policy is ready to process images; otherwise, false. + */ + isReady(): boolean; + /** + * Given a tile image, decide whether to discard that image. + * @param image - An image to test. + * @returns True if the image should be discarded; otherwise, false. + */ + shouldDiscardImage(image: HTMLImageElement): boolean; +} + +/** + * An appearance for geometry on the surface of the ellipsoid like {@link PolygonGeometry} + * and {@link RectangleGeometry}, which supports all materials like {@link MaterialAppearance} + * with {@link MaterialAppearance.MaterialSupport.ALL}. However, this appearance requires + * fewer vertex attributes since the fragment shader can procedurally compute normal, + * tangent, and bitangent. + * @example + * var primitive = new Cesium.Primitive({ + * geometryInstances : new Cesium.GeometryInstance({ + * geometry : new Cesium.PolygonGeometry({ + * vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT, + * // ... + * }) + * }), + * appearance : new Cesium.EllipsoidSurfaceAppearance({ + * material : Cesium.Material.fromType('Stripe') + * }) + * }); + * @param [options] - Object with the following properties: + * @param [options.flat = false] - When true, flat shading is used in the fragment shader, which means lighting is not taking into account. + * @param [options.faceForward = options.aboveGround] - When true, the fragment shader flips the surface normal as needed to ensure that the normal faces the viewer to avoid dark spots. This is useful when both sides of a geometry should be shaded like {@link WallGeometry}. + * @param [options.translucent = true] - When true, the geometry is expected to appear translucent so {@link EllipsoidSurfaceAppearance#renderState} has alpha blending enabled. + * @param [options.aboveGround = false] - When true, the geometry is expected to be on the ellipsoid's surface - not at a constant height above it - so {@link EllipsoidSurfaceAppearance#renderState} has backface culling enabled. + * @param [options.material = Material.ColorType] - The material used to determine the fragment color. + * @param [options.vertexShaderSource] - Optional GLSL vertex shader source to override the default vertex shader. + * @param [options.fragmentShaderSource] - Optional GLSL fragment shader source to override the default fragment shader. + * @param [options.renderState] - Optional render state to override the default render state. + */ +export class EllipsoidSurfaceAppearance { + constructor(options?: { + flat?: boolean; + faceForward?: boolean; + translucent?: boolean; + aboveGround?: boolean; + material?: Material; + vertexShaderSource?: string; + fragmentShaderSource?: string; + renderState?: any; + }); + /** + * The material used to determine the fragment color. Unlike other {@link EllipsoidSurfaceAppearance} + * properties, this is not read-only, so an appearance's material can change on the fly. + */ + material: Material; + /** + * When true, the geometry is expected to appear translucent. + */ + translucent: boolean; + /** + * The GLSL source code for the vertex shader. + */ + readonly vertexShaderSource: string; + /** + * The GLSL source code for the fragment shader. The full fragment shader + * source is built procedurally taking into account {@link EllipsoidSurfaceAppearance#material}, + * {@link EllipsoidSurfaceAppearance#flat}, and {@link EllipsoidSurfaceAppearance#faceForward}. + * Use {@link EllipsoidSurfaceAppearance#getFragmentShaderSource} to get the full source. + */ + readonly fragmentShaderSource: string; + /** + * The WebGL fixed-function state to use when rendering the geometry. + *

+ * The render state can be explicitly defined when constructing a {@link EllipsoidSurfaceAppearance} + * instance, or it is set implicitly via {@link EllipsoidSurfaceAppearance#translucent} + * and {@link EllipsoidSurfaceAppearance#aboveGround}. + *

+ */ + readonly renderState: any; + /** + * When true, the geometry is expected to be closed so + * {@link EllipsoidSurfaceAppearance#renderState} has backface culling enabled. + * If the viewer enters the geometry, it will not be visible. + */ + readonly closed: boolean; + /** + * The {@link VertexFormat} that this appearance instance is compatible with. + * A geometry can have more vertex attributes and still be compatible - at a + * potential performance cost - but it can't have less. + */ + readonly vertexFormat: VertexFormat; + /** + * When true, flat shading is used in the fragment shader, + * which means lighting is not taking into account. + */ + readonly flat: boolean; + /** + * When true, the fragment shader flips the surface normal + * as needed to ensure that the normal faces the viewer to avoid + * dark spots. This is useful when both sides of a geometry should be + * shaded like {@link WallGeometry}. + */ + readonly faceForward: boolean; + /** + * When true, the geometry is expected to be on the ellipsoid's + * surface - not at a constant height above it - so {@link EllipsoidSurfaceAppearance#renderState} + * has backface culling enabled. + */ + readonly aboveGround: boolean; + /** + * The {@link VertexFormat} that all {@link EllipsoidSurfaceAppearance} instances + * are compatible with, which requires only position and st + * attributes. Other attributes are procedurally computed in the fragment shader. + */ + static readonly VERTEX_FORMAT: VertexFormat; + /** + * Procedurally creates the full GLSL fragment shader source. For {@link EllipsoidSurfaceAppearance}, + * this is derived from {@link EllipsoidSurfaceAppearance#fragmentShaderSource}, {@link EllipsoidSurfaceAppearance#flat}, + * and {@link EllipsoidSurfaceAppearance#faceForward}. + * @returns The full GLSL fragment shader source. + */ + getFragmentShaderSource(): string; + /** + * Determines if the geometry is translucent based on {@link EllipsoidSurfaceAppearance#translucent} and {@link Material#isTranslucent}. + * @returns true if the appearance is translucent. + */ + isTranslucent(): boolean; + /** + * Creates a render state. This is not the final render state instance; instead, + * it can contain a subset of render state properties identical to the render state + * created in the context. + * @returns The render state. + */ + getRenderState(): any; +} + +/** + * An expression for a style applied to a {@link Cesium3DTileset}. + *

+ * Evaluates an expression defined using the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}. + *

+ *

+ * Implements the {@link StyleExpression} interface. + *

+ * @example + * var expression = new Cesium.Expression('(regExp("^Chest").test(${County})) && (${YearBuilt} >= 1970)'); + * expression.evaluate(feature); // returns true or false depending on the feature's properties + * @example + * var expression = new Cesium.Expression('(${Temperature} > 90) ? color("red") : color("white")'); + * expression.evaluateColor(feature, result); // returns a Cesium.Color object + * @param [expression] - The expression defined using the 3D Tiles Styling language. + * @param [defines] - Defines in the style. + */ +export class Expression { + constructor(expression?: string, defines?: any); + /** + * Gets the expression defined in the 3D Tiles Styling language. + */ + readonly expression: string; + /** + * Evaluates the result of an expression, optionally using the provided feature's properties. If the result of + * the expression in the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language} + * is of type Boolean, Number, or String, the corresponding JavaScript + * primitive type will be returned. If the result is a RegExp, a Javascript RegExp + * object will be returned. If the result is a Cartesian2, Cartesian3, or Cartesian4, + * a {@link Cartesian2}, {@link Cartesian3}, or {@link Cartesian4} object will be returned. If the result argument is + * a {@link Color}, the {@link Cartesian4} value is converted to a {@link Color} and then returned. + * @param feature - The feature whose properties may be used as variables in the expression. + * @param [result] - The object onto which to store the result. + * @returns The result of evaluating the expression. + */ + evaluate(feature: Cesium3DTileFeature, result?: any): boolean | number | string | RegExp | Cartesian2 | Cartesian3 | Cartesian4 | Color; + /** + * Evaluates the result of a Color expression, optionally using the provided feature's properties. + *

+ * This is equivalent to {@link Expression#evaluate} but always returns a {@link Color} object. + *

+ * @param feature - The feature whose properties may be used as variables in the expression. + * @param [result] - The object in which to store the result + * @returns The modified result parameter or a new Color instance if one was not provided. + */ + evaluateColor(feature: Cesium3DTileFeature, result?: Color): Color; +} + +/** + * Blends the atmosphere to geometry far from the camera for horizon views. Allows for additional + * performance improvements by rendering less geometry and dispatching less terrain requests. + */ +export class Fog { + constructor(); + /** + * true if fog is enabled, false otherwise. + */ + enabled: boolean; + /** + * A scalar that determines the density of the fog. Terrain that is in full fog are culled. + * The density of the fog increases as this number approaches 1.0 and becomes less dense as it approaches zero. + * The more dense the fog is, the more aggressively the terrain is culled. For example, if the camera is a height of + * 1000.0m above the ellipsoid, increasing the value to 3.0e-3 will cause many tiles close to the viewer be culled. + * Decreasing the value will push the fog further from the viewer, but decrease performance as more of the terrain is rendered. + */ + density: number; + /** + * A factor used to increase the screen space error of terrain tiles when they are partially in fog. The effect is to reduce + * the number of terrain tiles requested for rendering. If set to zero, the feature will be disabled. If the value is increased + * for mountainous regions, less tiles will need to be requested, but the terrain meshes near the horizon may be a noticeably + * lower resolution. If the value is increased in a relatively flat area, there will be little noticeable change on the horizon. + */ + screenSpaceErrorFactor: number; + /** + * The minimum brightness of the fog color from lighting. A value of 0.0 can cause the fog to be completely black. A value of 1.0 will not affect + * the brightness at all. + */ + minimumBrightness: number; +} + +/** + * Monitors the frame rate (frames per second) in a {@link Scene} and raises an event if the frame rate is + * lower than a threshold. Later, if the frame rate returns to the required level, a separate event is raised. + * To avoid creating multiple FrameRateMonitors for a single {@link Scene}, use {@link FrameRateMonitor.fromScene} + * instead of constructing an instance explicitly. + * @param [options] - Object with the following properties: + * @param options.scene - The Scene instance for which to monitor performance. + * @param [options.samplingWindow = 5.0] - The length of the sliding window over which to compute the average frame rate, in seconds. + * @param [options.quietPeriod = 2.0] - The length of time to wait at startup and each time the page becomes visible (i.e. when the user + * switches back to the tab) before starting to measure performance, in seconds. + * @param [options.warmupPeriod = 5.0] - The length of the warmup period, in seconds. During the warmup period, a separate + * (usually lower) frame rate is required. + * @param [options.minimumFrameRateDuringWarmup = 4] - The minimum frames-per-second that are required for acceptable performance during + * the warmup period. If the frame rate averages less than this during any samplingWindow during the warmupPeriod, the + * lowFrameRate event will be raised and the page will redirect to the redirectOnLowFrameRateUrl, if any. + * @param [options.minimumFrameRateAfterWarmup = 8] - The minimum frames-per-second that are required for acceptable performance after + * the end of the warmup period. If the frame rate averages less than this during any samplingWindow after the warmupPeriod, the + * lowFrameRate event will be raised and the page will redirect to the redirectOnLowFrameRateUrl, if any. + */ +export class FrameRateMonitor { + constructor(options?: { + scene: Scene; + samplingWindow?: number; + quietPeriod?: number; + warmupPeriod?: number; + minimumFrameRateDuringWarmup?: number; + minimumFrameRateAfterWarmup?: number; + }); + /** + * Gets or sets the length of the sliding window over which to compute the average frame rate, in seconds. + */ + samplingWindow: number; + /** + * Gets or sets the length of time to wait at startup and each time the page becomes visible (i.e. when the user + * switches back to the tab) before starting to measure performance, in seconds. + */ + quietPeriod: number; + /** + * Gets or sets the length of the warmup period, in seconds. During the warmup period, a separate + * (usually lower) frame rate is required. + */ + warmupPeriod: number; + /** + * Gets or sets the minimum frames-per-second that are required for acceptable performance during + * the warmup period. If the frame rate averages less than this during any samplingWindow during the warmupPeriod, the + * lowFrameRate event will be raised and the page will redirect to the redirectOnLowFrameRateUrl, if any. + */ + minimumFrameRateDuringWarmup: number; + /** + * Gets or sets the minimum frames-per-second that are required for acceptable performance after + * the end of the warmup period. If the frame rate averages less than this during any samplingWindow after the warmupPeriod, the + * lowFrameRate event will be raised and the page will redirect to the redirectOnLowFrameRateUrl, if any. + */ + minimumFrameRateAfterWarmup: number; + /** + * The default frame rate monitoring settings. These settings are used when {@link FrameRateMonitor.fromScene} + * needs to create a new frame rate monitor, and for any settings that are not passed to the + * {@link FrameRateMonitor} constructor. + */ + static defaultSettings: any; + /** + * Gets the {@link FrameRateMonitor} for a given scene. If the scene does not yet have + * a {@link FrameRateMonitor}, one is created with the {@link FrameRateMonitor.defaultSettings}. + * @param scene - The scene for which to get the {@link FrameRateMonitor}. + * @returns The scene's {@link FrameRateMonitor}. + */ + static fromScene(scene: Scene): FrameRateMonitor; + /** + * Gets the {@link Scene} instance for which to monitor performance. + */ + scene: Scene; + /** + * Gets the event that is raised when a low frame rate is detected. The function will be passed + * the {@link Scene} instance as its first parameter and the average number of frames per second + * over the sampling window as its second parameter. + */ + lowFrameRate: Event; + /** + * Gets the event that is raised when the frame rate returns to a normal level after having been low. + * The function will be passed the {@link Scene} instance as its first parameter and the average + * number of frames per second over the sampling window as its second parameter. + */ + nominalFrameRate: Event; + /** + * Gets the most recently computed average frames-per-second over the last samplingWindow. + * This property may be undefined if the frame rate has not been computed. + */ + lastFramesPerSecond: number; + /** + * Pauses monitoring of the frame rate. To resume monitoring, {@link FrameRateMonitor#unpause} + * must be called once for each time this function is called. + */ + pause(): void; + /** + * Resumes monitoring of the frame rate. If {@link FrameRateMonitor#pause} was called + * multiple times, this function must be called the same number of times in order to + * actually resume monitoring. + */ + unpause(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Unsubscribes this instance from all events it is listening to. + * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + */ + destroy(): void; +} + +/** + * Describes the format in which to request GetFeatureInfo from a Web Map Service (WMS) server. + * @param type - The type of response to expect from a GetFeatureInfo request. Valid + * values are 'json', 'xml', 'html', or 'text'. + * @param [format] - The info format to request from the WMS server. This is usually a + * MIME type such as 'application/json' or text/xml'. If this parameter is not specified, the provider will request 'json' + * using 'application/json', 'xml' using 'text/xml', 'html' using 'text/html', and 'text' using 'text/plain'. + * @param [callback] - A function to invoke with the GetFeatureInfo response from the WMS server + * in order to produce an array of picked {@link ImageryLayerFeatureInfo} instances. If this parameter is not specified, + * a default function for the type of response is used. + */ +export class GetFeatureInfoFormat { + constructor(type: string, format?: string, callback?: (...params: any[]) => any); +} + +/** + * The globe rendered in the scene, including its terrain ({@link Globe#terrainProvider}) + * and imagery layers ({@link Globe#imageryLayers}). Access the globe using {@link Scene#globe}. + * @param [ellipsoid = Ellipsoid.WGS84] - Determines the size and shape of the + * globe. + */ +export class Globe { + constructor(ellipsoid?: Ellipsoid); + /** + * Determines if the globe will be shown. + */ + show: boolean; + /** + * The maximum screen-space error used to drive level-of-detail refinement. Higher + * values will provide better performance but lower visual quality. + */ + maximumScreenSpaceError: number; + /** + * The size of the terrain tile cache, expressed as a number of tiles. Any additional + * tiles beyond this number will be freed, as long as they aren't needed for rendering + * this frame. A larger number will consume more memory but will show detail faster + * when, for example, zooming out and then back in. + */ + tileCacheSize: number; + /** + * Gets or sets the number of loading descendant tiles that is considered "too many". + * If a tile has too many loading descendants, that tile will be loaded and rendered before any of + * its descendants are loaded and rendered. This means more feedback for the user that something + * is happening at the cost of a longer overall load time. Setting this to 0 will cause each + * tile level to be loaded successively, significantly increasing load time. Setting it to a large + * number (e.g. 1000) will minimize the number of tiles that are loaded but tend to make + * detail appear all at once after a long wait. + */ + loadingDescendantLimit: number; + /** + * Gets or sets a value indicating whether the ancestors of rendered tiles should be preloaded. + * Setting this to true optimizes the zoom-out experience and provides more detail in + * newly-exposed areas when panning. The down side is that it requires loading more tiles. + */ + preloadAncestors: boolean; + /** + * Gets or sets a value indicating whether the siblings of rendered tiles should be preloaded. + * Setting this to true causes tiles with the same parent as a rendered tile to be loaded, even + * if they are culled. Setting this to true may provide a better panning experience at the + * cost of loading more tiles. + */ + preloadSiblings: boolean; + /** + * The color to use to highlight terrain fill tiles. If undefined, fill tiles are not + * highlighted at all. The alpha value is used to alpha blend with the tile's + * actual color. Because terrain fill tiles do not represent the actual terrain surface, + * it may be useful in some applications to indicate visually that they are not to be trusted. + */ + fillHighlightColor: Color; + /** + * Enable lighting the globe with the scene's light source. + */ + enableLighting: boolean; + /** + * Enable dynamic lighting effects on atmosphere and fog. This only takes effect + * when enableLighting is true. + */ + dynamicAtmosphereLighting: boolean; + /** + * Whether dynamic atmosphere lighting uses the sun direction instead of the scene's + * light direction. This only takes effect when enableLighting and + * dynamicAtmosphereLighting are true. + */ + dynamicAtmosphereLightingFromSun: boolean; + /** + * Enable the ground atmosphere, which is drawn over the globe when viewed from a distance between lightingFadeInDistance and lightingFadeOutDistance. + */ + showGroundAtmosphere: boolean; + /** + * The distance where everything becomes lit. This only takes effect + * when enableLighting or showGroundAtmosphere is true. + */ + lightingFadeOutDistance: number; + /** + * The distance where lighting resumes. This only takes effect + * when enableLighting or showGroundAtmosphere is true. + */ + lightingFadeInDistance: number; + /** + * The distance where the darkness of night from the ground atmosphere fades out to a lit ground atmosphere. + * This only takes effect when showGroundAtmosphere, enableLighting, and + * dynamicAtmosphereLighting are true. + */ + nightFadeOutDistance: number; + /** + * The distance where the darkness of night from the ground atmosphere fades in to an unlit ground atmosphere. + * This only takes effect when showGroundAtmosphere, enableLighting, and + * dynamicAtmosphereLighting are true. + */ + nightFadeInDistance: number; + /** + * True if an animated wave effect should be shown in areas of the globe + * covered by water; otherwise, false. This property is ignored if the + * terrainProvider does not provide a water mask. + */ + showWaterEffect: boolean; + /** + * True if primitives such as billboards, polylines, labels, etc. should be depth-tested + * against the terrain surface, or false if such primitives should always be drawn on top + * of terrain unless they're on the opposite side of the globe. The disadvantage of depth + * testing primitives against terrain is that slight numerical noise or terrain level-of-detail + * switched can sometimes make a primitive that should be on the surface disappear underneath it. + */ + depthTestAgainstTerrain: boolean; + /** + * Determines whether the globe casts or receives shadows from light sources. Setting the globe + * to cast shadows may impact performance since the terrain is rendered again from the light's perspective. + * Currently only terrain that is in view casts shadows. By default the globe does not cast shadows. + */ + shadows: ShadowMode; + /** + * The hue shift to apply to the atmosphere. Defaults to 0.0 (no shift). + * A hue shift of 1.0 indicates a complete rotation of the hues available. + */ + atmosphereHueShift: number; + /** + * The saturation shift to apply to the atmosphere. Defaults to 0.0 (no shift). + * A saturation shift of -1.0 is monochrome. + */ + atmosphereSaturationShift: number; + /** + * The brightness shift to apply to the atmosphere. Defaults to 0.0 (no shift). + * A brightness shift of -1.0 is complete darkness, which will let space show through. + */ + atmosphereBrightnessShift: number; + /** + * Whether to show terrain skirts. Terrain skirts are geometry extending downwards from a tile's edges used to hide seams between neighboring tiles. + * Skirts are always hidden when the camera is underground or translucency is enabled. + */ + showSkirts: boolean; + /** + * Whether to cull back-facing terrain. Back faces are not culled when the camera is underground or translucency is enabled. + */ + backFaceCulling: boolean; + /** + * Gets an ellipsoid describing the shape of this globe. + */ + ellipsoid: Ellipsoid; + /** + * Gets the collection of image layers that will be rendered on this globe. + */ + imageryLayers: ImageryLayerCollection; + /** + * Gets an event that's raised when an imagery layer is added, shown, hidden, moved, or removed. + */ + readonly imageryLayersUpdatedEvent: Event; + /** + * Returns true when the tile load queue is empty, false otherwise. When the load queue is empty, + * all terrain and imagery for the current view have been loaded. + */ + readonly tilesLoaded: boolean; + /** + * Gets or sets the color of the globe when no imagery is available. + */ + baseColor: Color; + /** + * A property specifying a {@link ClippingPlaneCollection} used to selectively disable rendering on the outside of each plane. + */ + clippingPlanes: ClippingPlaneCollection; + /** + * A property specifying a {@link Rectangle} used to limit globe rendering to a cartographic area. + * Defaults to the maximum extent of cartographic coordinates. + */ + cartographicLimitRectangle: Rectangle; + /** + * The normal map to use for rendering waves in the ocean. Setting this property will + * only have an effect if the configured terrain provider includes a water mask. + */ + oceanNormalMapUrl: string; + /** + * The terrain provider providing surface geometry for this globe. + */ + terrainProvider: TerrainProvider; + /** + * Gets an event that's raised when the terrain provider is changed + */ + readonly terrainProviderChanged: Event; + /** + * Gets an event that's raised when the length of the tile load queue has changed since the last render frame. When the load queue is empty, + * all terrain and imagery for the current view have been loaded. The event passes the new length of the tile load queue. + */ + tileLoadProgressEvent: Event; + /** + * Gets or sets the material appearance of the Globe. This can be one of several built-in {@link Material} objects or a custom material, scripted with + * {@link https://github.com/CesiumGS/cesium/wiki/Fabric|Fabric}. + */ + material: Material; + /** + * The color to render the back side of the globe when the camera is underground or the globe is translucent, + * blended with the globe color based on the camera's distance. + *

+ * To disable underground coloring, set undergroundColor to undefined. + */ + undergroundColor: Color; + /** + * Gets or sets the near and far distance for blending {@link Globe#undergroundColor} with the globe color. + * The alpha will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the alpha remains clamped to the nearest bound. If undefined, + * the underground color will not be blended with the globe color. + *

+ * When the camera is above the ellipsoid the distance is computed from the nearest + * point on the ellipsoid instead of the camera's position. + */ + undergroundColorAlphaByDistance: NearFarScalar; + /** + * Properties for controlling globe translucency. + */ + translucency: GlobeTranslucency; + /** + * Find an intersection between a ray and the globe surface that was rendered. The ray must be given in world coordinates. + * @example + * // find intersection of ray through a pixel and the globe + * var ray = viewer.camera.getPickRay(windowCoordinates); + * var intersection = globe.pick(ray, scene); + * @param ray - The ray to test for intersection. + * @param scene - The scene. + * @param [result] - The object onto which to store the result. + * @returns The intersection or undefined if none was found. + */ + pick(ray: Ray, scene: Scene, result?: Cartesian3): Cartesian3 | undefined; + /** + * Get the height of the surface at a given cartographic. + * @param cartographic - The cartographic for which to find the height. + * @returns The height of the cartographic or undefined if it could not be found. + */ + getHeight(cartographic: Cartographic): number | undefined; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * globe = globe && globe.destroy(); + */ + destroy(): void; +} + +/** + * Properties for controlling globe translucency. + */ +export class GlobeTranslucency { + constructor(); + /** + * When true, the globe is rendered as a translucent surface. + *

+ * The alpha is computed by blending {@link Globe#material}, {@link Globe#imageryLayers}, + * and {@link Globe#baseColor}, all of which may contain translucency, and then multiplying by + * {@link GlobeTranslucency#frontFaceAlpha} and {@link GlobeTranslucency#frontFaceAlphaByDistance} for front faces and + * {@link GlobeTranslucency#backFaceAlpha} and {@link GlobeTranslucency#backFaceAlphaByDistance} for back faces. + * When the camera is underground back faces and front faces are swapped, i.e. back-facing geometry + * is considered front facing. + *

+ * Translucency is disabled by default. + */ + enabled: boolean; + /** + * A constant translucency to apply to front faces of the globe. + *

+ * {@link GlobeTranslucency#enabled} must be set to true for this option to take effect. + * @example + * // Set front face translucency to 0.5. + * globe.translucency.frontFaceAlpha = 0.5; + * globe.translucency.enabled = true; + */ + frontFaceAlpha: number; + /** + * Gets or sets near and far translucency properties of front faces of the globe based on the distance to the camera. + * The translucency will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the translucency remains clamped to the nearest bound. If undefined, + * frontFaceAlphaByDistance will be disabled. + *

+ * {@link GlobeTranslucency#enabled} must be set to true for this option to take effect. + * @example + * // Example 1. + * // Set front face translucency to 0.5 when the + * // camera is 1500 meters from the surface and 1.0 + * // as the camera distance approaches 8.0e6 meters. + * globe.translucency.frontFaceAlphaByDistance = new Cesium.NearFarScalar(1.5e2, 0.5, 8.0e6, 1.0); + * globe.translucency.enabled = true; + * @example + * // Example 2. + * // Disable front face translucency by distance + * globe.translucency.frontFaceAlphaByDistance = undefined; + */ + frontFaceAlphaByDistance: NearFarScalar; + /** + * A constant translucency to apply to back faces of the globe. + *

+ * {@link GlobeTranslucency#enabled} must be set to true for this option to take effect. + * @example + * // Set back face translucency to 0.5. + * globe.translucency.backFaceAlpha = 0.5; + * globe.translucency.enabled = true; + */ + backFaceAlpha: number; + /** + * Gets or sets near and far translucency properties of back faces of the globe based on the distance to the camera. + * The translucency will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the translucency remains clamped to the nearest bound. If undefined, + * backFaceAlphaByDistance will be disabled. + *

+ * {@link GlobeTranslucency#enabled} must be set to true for this option to take effect. + * @example + * // Example 1. + * // Set back face translucency to 0.5 when the + * // camera is 1500 meters from the surface and 1.0 + * // as the camera distance approaches 8.0e6 meters. + * globe.translucency.backFaceAlphaByDistance = new Cesium.NearFarScalar(1.5e2, 0.5, 8.0e6, 1.0); + * globe.translucency.enabled = true; + * @example + * // Example 2. + * // Disable back face translucency by distance + * globe.translucency.backFaceAlphaByDistance = undefined; + */ + backFaceAlphaByDistance: NearFarScalar; + /** + * A property specifying a {@link Rectangle} used to limit translucency to a cartographic area. + * Defaults to the maximum extent of cartographic coordinates. + */ + rectangle: Rectangle; +} + +export namespace GoogleEarthEnterpriseImageryProvider { + /** + * Initialization options for the GoogleEarthEnterpriseImageryProvider constructor + * @property url - The url of the Google Earth Enterprise server hosting the imagery. + * @property metadata - A metadata object that can be used to share metadata requests with a GoogleEarthEnterpriseTerrainProvider. + * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + * @property [tileDiscardPolicy] - The policy that determines if a tile + * is invalid and should be discarded. If this value is not specified, a default + * is to discard tiles that fail to download. + * @property [credit] - A credit for the data source, which is displayed on the canvas. + */ + type ConstructorOptions = { + url: Resource | string; + metadata: GoogleEarthEnterpriseMetadata; + ellipsoid?: Ellipsoid; + tileDiscardPolicy?: TileDiscardPolicy; + credit?: Credit | string; + }; +} + +/** + * Provides tiled imagery using the Google Earth Enterprise REST API. + * + * Notes: This provider is for use with the 3D Earth API of Google Earth Enterprise, + * {@link GoogleEarthEnterpriseMapsProvider} should be used with 2D Maps API. + * @example + * var geeMetadata = new GoogleEarthEnterpriseMetadata('http://www.earthenterprise.org/3d'); + * var gee = new Cesium.GoogleEarthEnterpriseImageryProvider({ + * metadata : geeMetadata + * }); + * @param options - Object describing initialization options + */ +export class GoogleEarthEnterpriseImageryProvider { + constructor(options: GoogleEarthEnterpriseImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the name of the Google Earth Enterprise server url hosting the imagery. + */ + readonly url: string; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage + * and texture upload time. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link GoogleEarthEnterpriseImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Picking features is not currently supported by this imagery provider, so this function simply returns + * undefined. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +export namespace GoogleEarthEnterpriseMapsProvider { + /** + * Initialization options for the GoogleEarthEnterpriseMapsProvider constructor + * @property url - The url of the Google Earth server hosting the imagery. + * @property channel - The channel (id) to be used when requesting data from the server. + * The channel number can be found by looking at the json file located at: + * earth.localdomain/default_map/query?request=Json&vars=geeServerDefs The /default_map path may + * differ depending on your Google Earth Enterprise server configuration. Look for the "id" that + * is associated with a "ImageryMaps" requestType. There may be more than one id available. + * Example: + * { + * layers: [ + * { + * id: 1002, + * requestType: "ImageryMaps" + * }, + * { + * id: 1007, + * requestType: "VectorMapsRaster" + * } + * ] + * } + * @property [path = "/default_map"] - The path of the Google Earth server hosting the imagery. + * @property [maximumLevel] - The maximum level-of-detail supported by the Google Earth + * Enterprise server, or undefined if there is no limit. + * @property [tileDiscardPolicy] - The policy that determines if a tile + * is invalid and should be discarded. To ensure that no tiles are discarded, construct and pass + * a {@link NeverTileDiscardPolicy} for this parameter. + * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + */ + type ConstructorOptions = { + url: Resource | string; + channel: number; + path?: string; + maximumLevel?: number; + tileDiscardPolicy?: TileDiscardPolicy; + ellipsoid?: Ellipsoid; + }; +} + +/** + * Provides tiled imagery using the Google Earth Imagery API. + * + * Notes: This imagery provider does not work with the public Google Earth servers. It works with the + * Google Earth Enterprise Server. + * + * By default the Google Earth Enterprise server does not set the + * {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing} headers. You can either + * use a proxy server which adds these headers, or in the /opt/google/gehttpd/conf/gehttpd.conf + * and add the 'Header set Access-Control-Allow-Origin "*"' option to the '<Directory />' and + * '<Directory "/opt/google/gehttpd/htdocs">' directives. + * + * This provider is for use with 2D Maps API as part of Google Earth Enterprise. For 3D Earth API uses, it + * is necessary to use {@link GoogleEarthEnterpriseImageryProvider} + * @example + * var google = new Cesium.GoogleEarthEnterpriseMapsProvider({ + * url : 'https://earth.localdomain', + * channel : 1008 + * }); + * @param options - Object describing initialization options + */ +export class GoogleEarthEnterpriseMapsProvider { + constructor(options: GoogleEarthEnterpriseMapsProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the URL of the Google Earth MapServer. + */ + readonly url: string; + /** + * Gets the url path of the data on the Google Earth server. + */ + readonly path: string; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the imagery channel (id) currently being used. + */ + readonly channel: number; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the version of the data used by this provider. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly version: number; + /** + * Gets the type of data that is being requested from the provider. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly requestType: string; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link GoogleEarthEnterpriseMapsProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Picking features is not currently supported by this imagery provider, so this function simply returns + * undefined. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; + /** + * Gets or sets the URL to the Google Earth logo for display in the credit. + */ + static logoUrl: string; +} + +export namespace GridImageryProvider { + /** + * Initialization options for the GridImageryProvider constructor + * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme for which to draw tiles. + * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified, + * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither + * parameter is specified, the WGS84 ellipsoid is used. + * @property [cells = 8] - The number of grids cells. + * @property [color = Color(1.0, 1.0, 1.0, 0.4)] - The color to draw grid lines. + * @property [glowColor = Color(0.0, 1.0, 0.0, 0.05)] - The color to draw glow for grid lines. + * @property [glowWidth = 6] - The width of lines used for rendering the line glow effect. + * @property [backgroundColor = Color(0.0, 0.5, 0.0, 0.2)] - Background fill color. + * @property [tileWidth = 256] - The width of the tile for level-of-detail selection purposes. + * @property [tileHeight = 256] - The height of the tile for level-of-detail selection purposes. + * @property [canvasSize = 256] - The size of the canvas used for rendering. + */ + type ConstructorOptions = { + tilingScheme?: TilingScheme; + ellipsoid?: Ellipsoid; + cells?: number; + color?: Color; + glowColor?: Color; + glowWidth?: number; + backgroundColor?: Color; + tileWidth?: number; + tileHeight?: number; + canvasSize?: number; + }; +} + +/** + * An {@link ImageryProvider} that draws a wireframe grid on every tile with controllable background and glow. + * May be useful for custom rendering effects or debugging terrain. + * @param options - Object describing initialization options + */ +export class GridImageryProvider { + constructor(options: GridImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link GridImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link GridImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link GridImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link GridImageryProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link GridImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link GridImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link GridImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link GridImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Draws a grid of lines into a canvas. + */ + _drawGrid(): void; + /** + * Render a grid into a canvas with background and glow + */ + _createGridCanvas(): void; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link GridImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Picking features is not currently supported by this imagery provider, so this function simply returns + * undefined. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +/** + * A GroundPolylinePrimitive represents a polyline draped over the terrain or 3D Tiles in the {@link Scene}. + *

+ * Only to be used with GeometryInstances containing {@link GroundPolylineGeometry}. + *

+ * @example + * // 1. Draw a polyline on terrain with a basic color material + * + * var instance = new Cesium.GeometryInstance({ + * geometry : new Cesium.GroundPolylineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * -112.1340164450331, 36.05494287836128, + * -112.08821010582645, 36.097804071380715 + * ]), + * width : 4.0 + * }), + * id : 'object returned when this instance is picked and to get/set per-instance attributes' + * }); + * + * scene.groundPrimitives.add(new Cesium.GroundPolylinePrimitive({ + * geometryInstances : instance, + * appearance : new Cesium.PolylineMaterialAppearance() + * })); + * + * // 2. Draw a looped polyline on terrain with per-instance color and a distance display condition. + * // Distance display conditions for polylines on terrain are based on an approximate terrain height + * // instead of true terrain height. + * + * var instance = new Cesium.GeometryInstance({ + * geometry : new Cesium.GroundPolylineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * -112.1340164450331, 36.05494287836128, + * -112.08821010582645, 36.097804071380715, + * -112.13296079730024, 36.168769146801104 + * ]), + * loop : true, + * width : 4.0 + * }), + * attributes : { + * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString('green').withAlpha(0.7)), + * distanceDisplayCondition : new Cesium.DistanceDisplayConditionGeometryInstanceAttribute(1000, 30000) + * }, + * id : 'object returned when this instance is picked and to get/set per-instance attributes' + * }); + * + * scene.groundPrimitives.add(new Cesium.GroundPolylinePrimitive({ + * geometryInstances : instance, + * appearance : new Cesium.PolylineColorAppearance() + * })); + * @param [options] - Object with the following properties: + * @param [options.geometryInstances] - GeometryInstances containing GroundPolylineGeometry + * @param [options.appearance] - The Appearance used to render the polyline. Defaults to a white color {@link Material} on a {@link PolylineMaterialAppearance}. + * @param [options.show = true] - Determines if this primitive will be shown. + * @param [options.interleave = false] - When true, geometry vertex attributes are interleaved, which can slightly improve rendering performance but increases load time. + * @param [options.releaseGeometryInstances = true] - When true, the primitive does not keep a reference to the input geometryInstances to save memory. + * @param [options.allowPicking = true] - When true, each geometry instance will only be pickable with {@link Scene#pick}. When false, GPU memory is saved. + * @param [options.asynchronous = true] - Determines if the primitive will be created asynchronously or block until ready. If false initializeTerrainHeights() must be called first. + * @param [options.classificationType = ClassificationType.BOTH] - Determines whether terrain, 3D Tiles or both will be classified. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown. + * @param [options.debugShowShadowVolume = false] - For debugging only. Determines if the shadow volume for each geometry in the primitive is drawn. Must be true on creation to have effect. + */ +export class GroundPolylinePrimitive { + constructor(options?: { + geometryInstances?: any[] | GeometryInstance; + appearance?: Appearance; + show?: boolean; + interleave?: boolean; + releaseGeometryInstances?: boolean; + allowPicking?: boolean; + asynchronous?: boolean; + classificationType?: ClassificationType; + debugShowBoundingVolume?: boolean; + debugShowShadowVolume?: boolean; + }); + /** + * The geometry instances rendered with this primitive. This may + * be undefined if options.releaseGeometryInstances + * is true when the primitive is constructed. + *

+ * Changing this property after the primitive is rendered has no effect. + *

+ */ + readonly geometryInstances: any[] | GeometryInstance; + /** + * The {@link Appearance} used to shade this primitive. Each geometry + * instance is shaded with the same appearance. Some appearances, like + * {@link PolylineColorAppearance} allow giving each instance unique + * properties. + */ + appearance: Appearance; + /** + * Determines if the primitive will be shown. This affects all geometry + * instances in the primitive. + */ + show: boolean; + /** + * Determines whether terrain, 3D Tiles or both will be classified. + */ + classificationType: ClassificationType; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the bounding sphere for each draw command in the primitive. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * Determines if geometry vertex attributes are interleaved, which can slightly improve rendering performance. + */ + readonly interleave: boolean; + /** + * When true, the primitive does not keep a reference to the input geometryInstances to save memory. + */ + readonly releaseGeometryInstances: boolean; + /** + * When true, each geometry instance will only be pickable with {@link Scene#pick}. When false, GPU memory is saved. + */ + readonly allowPicking: boolean; + /** + * Determines if the geometry instances will be created and batched on a web worker. + */ + readonly asynchronous: boolean; + /** + * Determines if the primitive is complete and ready to render. If this property is + * true, the primitive will be rendered the next time that {@link GroundPolylinePrimitive#update} + * is called. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves when the primitive is ready to render. + */ + readonly readyPromise: Promise; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * If true, draws the shadow volume for each geometry in the primitive. + *

+ */ + readonly debugShowShadowVolume: boolean; + /** + * Initializes the minimum and maximum terrain heights. This only needs to be called if you are creating the + * GroundPolylinePrimitive synchronously. + * @returns A promise that will resolve once the terrain heights have been loaded. + */ + static initializeTerrainHeights(): Promise; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * get the draw commands needed to render this primitive. + *

+ * Do not call this function directly. This is documented just to + * list the exceptions that may be propagated when the scene is rendered: + *

+ */ + update(): void; + /** + * Returns the modifiable per-instance attributes for a {@link GeometryInstance}. + * @example + * var attributes = primitive.getGeometryInstanceAttributes('an id'); + * attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA); + * attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true); + * @param id - The id of the {@link GeometryInstance}. + * @returns The typed array in the attribute's format or undefined if the is no instance with id. + */ + getGeometryInstanceAttributes(id: any): any; + /** + * Checks if the given Scene supports GroundPolylinePrimitives. + * GroundPolylinePrimitives require support for the WEBGL_depth_texture extension. + * @param scene - The current scene. + * @returns Whether or not the current scene supports GroundPolylinePrimitives. + */ + static isSupported(scene: Scene): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + *

+ * @example + * e = e && e.destroy(); + */ + destroy(): void; +} + +/** + * A ground primitive represents geometry draped over terrain or 3D Tiles in the {@link Scene}. + *

+ * A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including + * {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement, + * and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix + * and match most of them and add a new geometry or appearance independently of each other. + *

+ *

+ * Support for the WEBGL_depth_texture extension is required to use GeometryInstances with different PerInstanceColors + * or materials besides PerInstanceColorAppearance. + *

+ *

+ * Textured GroundPrimitives were designed for notional patterns and are not meant for precisely mapping + * textures to terrain - for that use case, use {@link SingleTileImageryProvider}. + *

+ *

+ * For correct rendering, this feature requires the EXT_frag_depth WebGL extension. For hardware that do not support this extension, there + * will be rendering artifacts for some viewing angles. + *

+ *

+ * Valid geometries are {@link CircleGeometry}, {@link CorridorGeometry}, {@link EllipseGeometry}, {@link PolygonGeometry}, and {@link RectangleGeometry}. + *

+ * @example + * // Example 1: Create primitive with a single instance + * var rectangleInstance = new Cesium.GeometryInstance({ + * geometry : new Cesium.RectangleGeometry({ + * rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0) + * }), + * id : 'rectangle', + * attributes : { + * color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5) + * } + * }); + * scene.primitives.add(new Cesium.GroundPrimitive({ + * geometryInstances : rectangleInstance + * })); + * + * // Example 2: Batch instances + * var color = new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5); // Both instances must have the same color. + * var rectangleInstance = new Cesium.GeometryInstance({ + * geometry : new Cesium.RectangleGeometry({ + * rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0) + * }), + * id : 'rectangle', + * attributes : { + * color : color + * } + * }); + * var ellipseInstance = new Cesium.GeometryInstance({ + * geometry : new Cesium.EllipseGeometry({ + * center : Cesium.Cartesian3.fromDegrees(-105.0, 40.0), + * semiMinorAxis : 300000.0, + * semiMajorAxis : 400000.0 + * }), + * id : 'ellipse', + * attributes : { + * color : color + * } + * }); + * scene.primitives.add(new Cesium.GroundPrimitive({ + * geometryInstances : [rectangleInstance, ellipseInstance] + * })); + * @param [options] - Object with the following properties: + * @param [options.geometryInstances] - The geometry instances to render. + * @param [options.appearance] - The appearance used to render the primitive. Defaults to a flat PerInstanceColorAppearance when GeometryInstances have a color attribute. + * @param [options.show = true] - Determines if this primitive will be shown. + * @param [options.vertexCacheOptimize = false] - When true, geometry vertices are optimized for the pre and post-vertex-shader caches. + * @param [options.interleave = false] - When true, geometry vertex attributes are interleaved, which can slightly improve rendering performance but increases load time. + * @param [options.compressVertices = true] - When true, the geometry vertices are compressed, which will save memory. + * @param [options.releaseGeometryInstances = true] - When true, the primitive does not keep a reference to the input geometryInstances to save memory. + * @param [options.allowPicking = true] - When true, each geometry instance will only be pickable with {@link Scene#pick}. When false, GPU memory is saved. + * @param [options.asynchronous = true] - Determines if the primitive will be created asynchronously or block until ready. If false initializeTerrainHeights() must be called first. + * @param [options.classificationType = ClassificationType.BOTH] - Determines whether terrain, 3D Tiles or both will be classified. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown. + * @param [options.debugShowShadowVolume = false] - For debugging only. Determines if the shadow volume for each geometry in the primitive is drawn. Must be true on + * creation for the volumes to be created before the geometry is released or options.releaseGeometryInstance must be false. + */ +export class GroundPrimitive { + constructor(options?: { + geometryInstances?: any[] | GeometryInstance; + appearance?: Appearance; + show?: boolean; + vertexCacheOptimize?: boolean; + interleave?: boolean; + compressVertices?: boolean; + releaseGeometryInstances?: boolean; + allowPicking?: boolean; + asynchronous?: boolean; + classificationType?: ClassificationType; + debugShowBoundingVolume?: boolean; + debugShowShadowVolume?: boolean; + }); + /** + * The {@link Appearance} used to shade this primitive. Each geometry + * instance is shaded with the same appearance. Some appearances, like + * {@link PerInstanceColorAppearance} allow giving each instance unique + * properties. + */ + appearance: Appearance; + /** + * The geometry instances rendered with this primitive. This may + * be undefined if options.releaseGeometryInstances + * is true when the primitive is constructed. + *

+ * Changing this property after the primitive is rendered has no effect. + *

+ */ + readonly geometryInstances: any[] | GeometryInstance; + /** + * Determines if the primitive will be shown. This affects all geometry + * instances in the primitive. + */ + show: boolean; + /** + * Determines whether terrain, 3D Tiles or both will be classified. + */ + classificationType: ClassificationType; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the bounding sphere for each draw command in the primitive. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the shadow volume for each geometry in the primitive. + *

+ */ + debugShowShadowVolume: boolean; + /** + * When true, geometry vertices are optimized for the pre and post-vertex-shader caches. + */ + readonly vertexCacheOptimize: boolean; + /** + * Determines if geometry vertex attributes are interleaved, which can slightly improve rendering performance. + */ + readonly interleave: boolean; + /** + * When true, the primitive does not keep a reference to the input geometryInstances to save memory. + */ + readonly releaseGeometryInstances: boolean; + /** + * When true, each geometry instance will only be pickable with {@link Scene#pick}. When false, GPU memory is saved. + */ + readonly allowPicking: boolean; + /** + * Determines if the geometry instances will be created and batched on a web worker. + */ + readonly asynchronous: boolean; + /** + * When true, geometry vertices are compressed, which will save memory. + */ + readonly compressVertices: boolean; + /** + * Determines if the primitive is complete and ready to render. If this property is + * true, the primitive will be rendered the next time that {@link GroundPrimitive#update} + * is called. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves when the primitive is ready to render. + */ + readonly readyPromise: Promise; + /** + * Determines if GroundPrimitive rendering is supported. + * @param scene - The scene. + * @returns true if GroundPrimitives are supported; otherwise, returns false + */ + static isSupported(scene: Scene): boolean; + /** + * Initializes the minimum and maximum terrain heights. This only needs to be called if you are creating the + * GroundPrimitive synchronously. + * @returns A promise that will resolve once the terrain heights have been loaded. + */ + static initializeTerrainHeights(): Promise; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * get the draw commands needed to render this primitive. + *

+ * Do not call this function directly. This is documented just to + * list the exceptions that may be propagated when the scene is rendered: + *

+ */ + update(): void; + /** + * Returns the modifiable per-instance attributes for a {@link GeometryInstance}. + * @example + * var attributes = primitive.getGeometryInstanceAttributes('an id'); + * attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA); + * attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true); + * @param id - The id of the {@link GeometryInstance}. + * @returns The typed array in the attribute's format or undefined if the is no instance with id. + */ + getGeometryInstanceAttributes(id: any): any; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + *

+ * @example + * e = e && e.destroy(); + */ + destroy(): void; + /** + * Checks if the given Scene supports materials on GroundPrimitives. + * Materials on GroundPrimitives require support for the WEBGL_depth_texture extension. + * @param scene - The current scene. + * @returns Whether or not the current scene supports materials on GroundPrimitives. + */ + static supportsMaterials(scene: Scene): boolean; +} + +/** + * Represents the position relative to the terrain. + */ +export enum HeightReference { + /** + * The position is absolute. + */ + NONE = 0, + /** + * The position is clamped to the terrain. + */ + CLAMP_TO_GROUND = 1, + /** + * The position height is the height above the terrain. + */ + RELATIVE_TO_GROUND = 2 +} + +/** + * The horizontal location of an origin relative to an object, e.g., a {@link Billboard} + * or {@link Label}. For example, setting the horizontal origin to LEFT + * or RIGHT will display a billboard to the left or right (in screen space) + * of the anchor position. + *

+ *
+ *
+ *
+ */ +export enum HorizontalOrigin { + /** + * The origin is at the horizontal center of the object. + */ + CENTER = 0, + /** + * The origin is on the left side of the object. + */ + LEFT = 1, + /** + * The origin is on the right side of the object. + */ + RIGHT = -1 +} + +/** + * An imagery layer that displays tiled image data from a single imagery provider + * on a {@link Globe}. + * @param imageryProvider - The imagery provider to use. + * @param [options] - Object with the following properties: + * @param [options.rectangle = imageryProvider.rectangle] - The rectangle of the layer. This rectangle + * can limit the visible portion of the imagery provider. + * @param [options.alpha = 1.0] - The alpha blending value of this layer, from 0.0 to 1.0. + * This can either be a simple number or a function with the signature + * function(frameState, layer, x, y, level). The function is passed the + * current frame state, this layer, and the x, y, and level coordinates of the + * imagery tile for which the alpha is required, and it is expected to return + * the alpha value to use for the tile. + * @param [options.nightAlpha = 1.0] - The alpha blending value of this layer on the night side of the globe, from 0.0 to 1.0. + * This can either be a simple number or a function with the signature + * function(frameState, layer, x, y, level). The function is passed the + * current frame state, this layer, and the x, y, and level coordinates of the + * imagery tile for which the alpha is required, and it is expected to return + * the alpha value to use for the tile. This only takes effect when enableLighting is true. + * @param [options.dayAlpha = 1.0] - The alpha blending value of this layer on the day side of the globe, from 0.0 to 1.0. + * This can either be a simple number or a function with the signature + * function(frameState, layer, x, y, level). The function is passed the + * current frame state, this layer, and the x, y, and level coordinates of the + * imagery tile for which the alpha is required, and it is expected to return + * the alpha value to use for the tile. This only takes effect when enableLighting is true. + * @param [options.brightness = 1.0] - The brightness of this layer. 1.0 uses the unmodified imagery + * color. Less than 1.0 makes the imagery darker while greater than 1.0 makes it brighter. + * This can either be a simple number or a function with the signature + * function(frameState, layer, x, y, level). The function is passed the + * current frame state, this layer, and the x, y, and level coordinates of the + * imagery tile for which the brightness is required, and it is expected to return + * the brightness value to use for the tile. The function is executed for every + * frame and for every tile, so it must be fast. + * @param [options.contrast = 1.0] - The contrast of this layer. 1.0 uses the unmodified imagery color. + * Less than 1.0 reduces the contrast while greater than 1.0 increases it. + * This can either be a simple number or a function with the signature + * function(frameState, layer, x, y, level). The function is passed the + * current frame state, this layer, and the x, y, and level coordinates of the + * imagery tile for which the contrast is required, and it is expected to return + * the contrast value to use for the tile. The function is executed for every + * frame and for every tile, so it must be fast. + * @param [options.hue = 0.0] - The hue of this layer. 0.0 uses the unmodified imagery color. + * This can either be a simple number or a function with the signature + * function(frameState, layer, x, y, level). The function is passed the + * current frame state, this layer, and the x, y, and level coordinates + * of the imagery tile for which the hue is required, and it is expected to return + * the contrast value to use for the tile. The function is executed for every + * frame and for every tile, so it must be fast. + * @param [options.saturation = 1.0] - The saturation of this layer. 1.0 uses the unmodified imagery color. + * Less than 1.0 reduces the saturation while greater than 1.0 increases it. + * This can either be a simple number or a function with the signature + * function(frameState, layer, x, y, level). The function is passed the + * current frame state, this layer, and the x, y, and level coordinates + * of the imagery tile for which the saturation is required, and it is expected to return + * the contrast value to use for the tile. The function is executed for every + * frame and for every tile, so it must be fast. + * @param [options.gamma = 1.0] - The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color. + * This can either be a simple number or a function with the signature + * function(frameState, layer, x, y, level). The function is passed the + * current frame state, this layer, and the x, y, and level coordinates of the + * imagery tile for which the gamma is required, and it is expected to return + * the gamma value to use for the tile. The function is executed for every + * frame and for every tile, so it must be fast. + * @param [options.splitDirection = ImagerySplitDirection.NONE] - The {@link ImagerySplitDirection} split to apply to this layer. + * @param [options.minificationFilter = TextureMinificationFilter.LINEAR] - The + * texture minification filter to apply to this layer. Possible values + * are TextureMinificationFilter.LINEAR and + * TextureMinificationFilter.NEAREST. + * @param [options.magnificationFilter = TextureMagnificationFilter.LINEAR] - The + * texture minification filter to apply to this layer. Possible values + * are TextureMagnificationFilter.LINEAR and + * TextureMagnificationFilter.NEAREST. + * @param [options.show = true] - True if the layer is shown; otherwise, false. + * @param [options.maximumAnisotropy = maximum supported] - The maximum anisotropy level to use + * for texture filtering. If this parameter is not specified, the maximum anisotropy supported + * by the WebGL stack will be used. Larger values make the imagery look better in horizon + * views. + * @param [options.minimumTerrainLevel] - The minimum terrain level-of-detail at which to show this imagery layer, + * or undefined to show it at all levels. Level zero is the least-detailed level. + * @param [options.maximumTerrainLevel] - The maximum terrain level-of-detail at which to show this imagery layer, + * or undefined to show it at all levels. Level zero is the least-detailed level. + * @param [options.cutoutRectangle] - Cartographic rectangle for cutting out a portion of this ImageryLayer. + * @param [options.colorToAlpha] - Color to be used as alpha. + * @param [options.colorToAlphaThreshold = 0.004] - Threshold for color-to-alpha. + */ +export class ImageryLayer { + constructor(imageryProvider: ImageryProvider, options?: { + rectangle?: Rectangle; + alpha?: number | ((...params: any[]) => any); + nightAlpha?: number | ((...params: any[]) => any); + dayAlpha?: number | ((...params: any[]) => any); + brightness?: number | ((...params: any[]) => any); + contrast?: number | ((...params: any[]) => any); + hue?: number | ((...params: any[]) => any); + saturation?: number | ((...params: any[]) => any); + gamma?: number | ((...params: any[]) => any); + splitDirection?: ImagerySplitDirection | ((...params: any[]) => any); + minificationFilter?: TextureMinificationFilter; + magnificationFilter?: TextureMagnificationFilter; + show?: boolean; + maximumAnisotropy?: number; + minimumTerrainLevel?: number; + maximumTerrainLevel?: number; + cutoutRectangle?: Rectangle; + colorToAlpha?: Color; + colorToAlphaThreshold?: number; + }); + /** + * The alpha blending value of this layer, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + alpha: number; + /** + * The alpha blending value of this layer on the night side of the globe, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is true. + */ + nightAlpha: number; + /** + * The alpha blending value of this layer on the day side of the globe, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is true. + */ + dayAlpha: number; + /** + * The brightness of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + brightness: number; + /** + * The contrast of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + contrast: number; + /** + * The hue of this layer in radians. 0.0 uses the unmodified imagery color. + */ + hue: number; + /** + * The saturation of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + saturation: number; + /** + * The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color. + */ + gamma: number; + /** + * The {@link ImagerySplitDirection} to apply to this layer. + */ + splitDirection: ImagerySplitDirection; + /** + * The {@link TextureMinificationFilter} to apply to this layer. + * Possible values are {@link TextureMinificationFilter.LINEAR} (the default) + * and {@link TextureMinificationFilter.NEAREST}. + * + * To take effect, this property must be set immediately after adding the imagery layer. + * Once a texture is loaded it won't be possible to change the texture filter used. + */ + minificationFilter: TextureMinificationFilter; + /** + * The {@link TextureMagnificationFilter} to apply to this layer. + * Possible values are {@link TextureMagnificationFilter.LINEAR} (the default) + * and {@link TextureMagnificationFilter.NEAREST}. + * + * To take effect, this property must be set immediately after adding the imagery layer. + * Once a texture is loaded it won't be possible to change the texture filter used. + */ + magnificationFilter: TextureMagnificationFilter; + /** + * Determines if this layer is shown. + */ + show: boolean; + /** + * Rectangle cutout in this layer of imagery. + */ + cutoutRectangle: Rectangle; + /** + * Color value that should be set to transparent. + */ + colorToAlpha: Color; + /** + * Normalized (0-1) threshold for color-to-alpha. + */ + colorToAlphaThreshold: number; + /** + * Gets the imagery provider for this layer. + */ + readonly imageryProvider: ImageryProvider; + /** + * Gets the rectangle of this layer. If this rectangle is smaller than the rectangle of the + * {@link ImageryProvider}, only a portion of the imagery provider is shown. + */ + readonly rectangle: Rectangle; + /** + * This value is used as the default brightness for the imagery layer if one is not provided during construction + * or by the imagery provider. This value does not modify the brightness of the imagery. + */ + static DEFAULT_BRIGHTNESS: number; + /** + * This value is used as the default contrast for the imagery layer if one is not provided during construction + * or by the imagery provider. This value does not modify the contrast of the imagery. + */ + static DEFAULT_CONTRAST: number; + /** + * This value is used as the default hue for the imagery layer if one is not provided during construction + * or by the imagery provider. This value does not modify the hue of the imagery. + */ + static DEFAULT_HUE: number; + /** + * This value is used as the default saturation for the imagery layer if one is not provided during construction + * or by the imagery provider. This value does not modify the saturation of the imagery. + */ + static DEFAULT_SATURATION: number; + /** + * This value is used as the default gamma for the imagery layer if one is not provided during construction + * or by the imagery provider. This value does not modify the gamma of the imagery. + */ + static DEFAULT_GAMMA: number; + /** + * This value is used as the default split for the imagery layer if one is not provided during construction + * or by the imagery provider. + */ + static DEFAULT_SPLIT: ImagerySplitDirection; + /** + * This value is used as the default texture minification filter for the imagery layer if one is not provided + * during construction or by the imagery provider. + */ + static DEFAULT_MINIFICATION_FILTER: TextureMinificationFilter; + /** + * This value is used as the default texture magnification filter for the imagery layer if one is not provided + * during construction or by the imagery provider. + */ + static DEFAULT_MAGNIFICATION_FILTER: TextureMagnificationFilter; + /** + * This value is used as the default threshold for color-to-alpha if one is not provided + * during construction or by the imagery provider. + */ + static DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD: number; + /** + * Gets a value indicating whether this layer is the base layer in the + * {@link ImageryLayerCollection}. The base layer is the one that underlies all + * others. It is special in that it is treated as if it has global rectangle, even if + * it actually does not, by stretching the texels at the edges over the entire + * globe. + * @returns true if this is the base layer; otherwise, false. + */ + isBaseLayer(): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * imageryLayer = imageryLayer && imageryLayer.destroy(); + */ + destroy(): void; + /** + * Computes the intersection of this layer's rectangle with the imagery provider's availability rectangle, + * producing the overall bounds of imagery that can be produced by this layer. + * @example + * // Zoom to an imagery layer. + * imageryLayer.getViewableRectangle().then(function (rectangle) { + * return camera.flyTo({ + * destination: rectangle + * }); + * }); + * @returns A promise to a rectangle which defines the overall bounds of imagery that can be produced by this layer. + */ + getViewableRectangle(): Promise; +} + +/** + * An ordered collection of imagery layers. + */ +export class ImageryLayerCollection { + constructor(); + /** + * An event that is raised when a layer is added to the collection. Event handlers are passed the layer that + * was added and the index at which it was added. + */ + layerAdded: Event; + /** + * An event that is raised when a layer is removed from the collection. Event handlers are passed the layer that + * was removed and the index from which it was removed. + */ + layerRemoved: Event; + /** + * An event that is raised when a layer changes position in the collection. Event handlers are passed the layer that + * was moved, its new index after the move, and its old index prior to the move. + */ + layerMoved: Event; + /** + * An event that is raised when a layer is shown or hidden by setting the + * {@link ImageryLayer#show} property. Event handlers are passed a reference to this layer, + * the index of the layer in the collection, and a flag that is true if the layer is now + * shown or false if it is now hidden. + */ + layerShownOrHidden: Event; + /** + * Gets the number of layers in this collection. + */ + length: number; + /** + * Adds a layer to the collection. + * @param layer - the layer to add. + * @param [index] - the index to add the layer at. If omitted, the layer will + * be added on top of all existing layers. + */ + add(layer: ImageryLayer, index?: number): void; + /** + * Creates a new layer using the given ImageryProvider and adds it to the collection. + * @param imageryProvider - the imagery provider to create a new layer for. + * @param [index] - the index to add the layer at. If omitted, the layer will + * added on top of all existing layers. + * @returns The newly created layer. + */ + addImageryProvider(imageryProvider: ImageryProvider, index?: number): ImageryLayer; + /** + * Removes a layer from this collection, if present. + * @param layer - The layer to remove. + * @param [destroy = true] - whether to destroy the layers in addition to removing them. + * @returns true if the layer was in the collection and was removed, + * false if the layer was not in the collection. + */ + remove(layer: ImageryLayer, destroy?: boolean): boolean; + /** + * Removes all layers from this collection. + * @param [destroy = true] - whether to destroy the layers in addition to removing them. + */ + removeAll(destroy?: boolean): void; + /** + * Checks to see if the collection contains a given layer. + * @param layer - the layer to check for. + * @returns true if the collection contains the layer, false otherwise. + */ + contains(layer: ImageryLayer): boolean; + /** + * Determines the index of a given layer in the collection. + * @param layer - The layer to find the index of. + * @returns The index of the layer in the collection, or -1 if the layer does not exist in the collection. + */ + indexOf(layer: ImageryLayer): number; + /** + * Gets a layer by index from the collection. + * @param index - the index to retrieve. + * @returns The imagery layer at the given index. + */ + get(index: number): ImageryLayer; + /** + * Raises a layer up one position in the collection. + * @param layer - the layer to move. + */ + raise(layer: ImageryLayer): void; + /** + * Lowers a layer down one position in the collection. + * @param layer - the layer to move. + */ + lower(layer: ImageryLayer): void; + /** + * Raises a layer to the top of the collection. + * @param layer - the layer to move. + */ + raiseToTop(layer: ImageryLayer): void; + /** + * Lowers a layer to the bottom of the collection. + * @param layer - the layer to move. + */ + lowerToBottom(layer: ImageryLayer): void; + /** + * Asynchronously determines the imagery layer features that are intersected by a pick ray. The intersected imagery + * layer features are found by invoking {@link ImageryProvider#pickFeatures} for each imagery layer tile intersected + * by the pick ray. To compute a pick ray from a location on the screen, use {@link Camera.getPickRay}. + * @example + * var pickRay = viewer.camera.getPickRay(windowPosition); + * var featuresPromise = viewer.imageryLayers.pickImageryLayerFeatures(pickRay, viewer.scene); + * if (!Cesium.defined(featuresPromise)) { + * console.log('No features picked.'); + * } else { + * Cesium.when(featuresPromise, function(features) { + * // This function is called asynchronously when the list if picked features is available. + * console.log('Number of features: ' + features.length); + * if (features.length > 0) { + * console.log('First feature name: ' + features[0].name); + * } + * }); + * } + * @param ray - The ray to test for intersection. + * @param scene - The scene. + * @returns A promise that resolves to an array of features intersected by the pick ray. + * If it can be quickly determined that no features are intersected (for example, + * because no active imagery providers support {@link ImageryProvider#pickFeatures} + * or because the pick ray does not intersect the surface), this function will + * return undefined. + */ + pickImageryLayerFeatures(ray: Ray, scene: Scene): Promise | undefined; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by all layers in this collection. Explicitly destroying this + * object allows for deterministic release of WebGL resources, instead of relying on the garbage + * collector. + *

+ * Once this object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * layerCollection = layerCollection && layerCollection.destroy(); + */ + destroy(): void; +} + +/** + * Describes a rasterized feature, such as a point, polygon, polyline, etc., in an imagery layer. + */ +export class ImageryLayerFeatureInfo { + constructor(); + /** + * Gets or sets the name of the feature. + */ + name: string | undefined; + /** + * Gets or sets an HTML description of the feature. The HTML is not trusted and should + * be sanitized before display to the user. + */ + description: string | undefined; + /** + * Gets or sets the position of the feature, or undefined if the position is not known. + */ + position: Cartographic | undefined; + /** + * Gets or sets the raw data describing the feature. The raw data may be in any + * number of formats, such as GeoJSON, KML, etc. + */ + data: any | undefined; + /** + * Gets or sets the image layer of the feature. + */ + imageryLayer: any | undefined; + /** + * Configures the name of this feature by selecting an appropriate property. The name will be obtained from + * one of the following sources, in this order: 1) the property with the name 'name', 2) the property with the name 'title', + * 3) the first property containing the word 'name', 4) the first property containing the word 'title'. If + * the name cannot be obtained from any of these sources, the existing name will be left unchanged. + * @param properties - An object literal containing the properties of the feature. + */ + configureNameFromProperties(properties: any): void; + /** + * Configures the description of this feature by creating an HTML table of properties and their values. + * @param properties - An object literal containing the properties of the feature. + */ + configureDescriptionFromProperties(properties: any): void; +} + +/** + * Provides imagery to be displayed on the surface of an ellipsoid. This type describes an + * interface and is not intended to be instantiated directly. + */ +export class ImageryProvider { + constructor(); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the rectangle, in radians, of the imagery provided by the instance. This function should + * not be called before {@link ImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link ImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link ImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link ImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link ImageryProvider#ready} returns true. Generally, + * a minimum level should only be used when the rectangle of the imagery is small + * enough that the number of tiles at the minimum level is small. An imagery + * provider with more than a few tiles at the minimum level will lead to + * rendering problems. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by the provider. This function should + * not be called before {@link ImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link ImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error.. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should + * not be called before {@link ImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link ImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Asynchronously determines what features, if any, are located at a given longitude and latitude within + * a tile. This function should not be called before {@link ImageryProvider#ready} returns true. + * This function is optional, so it may not exist on all ImageryProviders. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; + /** + * Loads an image from a given URL. If the server referenced by the URL already has + * too many requests pending, this function will instead return undefined, indicating + * that the request should be retried later. + * @param imageryProvider - The imagery provider for the URL. + * @param url - The URL of the image. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + static loadImage(imageryProvider: ImageryProvider, url: Resource | string): Promise | undefined; +} + +/** + * The direction to display an ImageryLayer relative to the {@link Scene#imagerySplitPosition}. + */ +export enum ImagerySplitDirection { + /** + * Display the ImageryLayer to the left of the {@link Scene#imagerySplitPosition}. + */ + LEFT = 1, + /** + * Always display the ImageryLayer. + */ + NONE = 0, + /** + * Display the ImageryLayer to the right of the {@link Scene#imagerySplitPosition}. + */ + RIGHT = 2, + UP = 3, + BOTTOM = 4 +} + +export namespace IonImageryProvider { + /** + * Initialization options for the TileMapServiceImageryProvider constructor + * @property assetId - An ion imagery asset ID + * @property [accessToken = Ion.defaultAccessToken] - The access token to use. + * @property [server = Ion.defaultServer] - The resource to the Cesium ion API server. + */ + type ConstructorOptions = { + assetId: number; + accessToken?: string; + server?: string | Resource; + }; +} + +/** + * Provides tiled imagery using the Cesium ion REST API. + * @example + * viewer.imageryLayers.addImageryProvider(new Cesium.IonImageryProvider({ assetId : 23489024 })); + * @param options - Object describing initialization options + */ +export class IonImageryProvider { + constructor(options: IonImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the rectangle, in radians, of the imagery provided by the instance. This function should + * not be called before {@link IonImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link IonImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link IonImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link IonImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link IonImageryProvider#ready} returns true. Generally, + * a minimum level should only be used when the rectangle of the imagery is small + * enough that the number of tiles at the minimum level is small. An imagery + * provider with more than a few tiles at the minimum level will lead to + * rendering problems. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by the provider. This function should + * not be called before {@link IonImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link IonImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should + * not be called before {@link IonImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link IonImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Asynchronously determines what features, if any, are located at a given longitude and latitude within + * a tile. This function should not be called before {@link IonImageryProvider#ready} returns true. + * This function is optional, so it may not exist on all ImageryProviders. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +/** + * The types of imagery provided by {@link createWorldImagery}. + */ +export enum IonWorldImageryStyle { + /** + * Aerial imagery. + */ + AERIAL = 2, + /** + * Aerial imagery with a road overlay. + */ + AERIAL_WITH_LABELS = 3, + /** + * Roads without additional imagery. + */ + ROAD = 4 +} + +/** + * A Label draws viewport-aligned text positioned in the 3D scene. This constructor + * should not be used directly, instead create labels by calling {@link LabelCollection#add}. + */ +export class Label { + constructor(); + /** + * Determines if this label will be shown. Use this to hide or show a label, instead + * of removing it and re-adding it to the collection. + */ + show: boolean; + /** + * Gets or sets the Cartesian position of this label. + */ + position: Cartesian3; + /** + * Gets or sets the height reference of this billboard. + */ + heightReference: HeightReference; + /** + * Gets or sets the text of this label. + */ + text: string; + /** + * Gets or sets the font used to draw this label. Fonts are specified using the same syntax as the CSS 'font' property. + */ + font: string; + /** + * Gets or sets the fill color of this label. + */ + fillColor: Color; + /** + * Gets or sets the outline color of this label. + */ + outlineColor: Color; + /** + * Gets or sets the outline width of this label. + */ + outlineWidth: number; + /** + * Determines if a background behind this label will be shown. + */ + showBackground: boolean; + /** + * Gets or sets the background color of this label. + */ + backgroundColor: Color; + /** + * Gets or sets the background padding, in pixels, of this label. The x value + * controls horizontal padding, and the y value controls vertical padding. + */ + backgroundPadding: Cartesian2; + /** + * Gets or sets the style of this label. + */ + style: LabelStyle; + /** + * Gets or sets the pixel offset in screen space from the origin of this label. This is commonly used + * to align multiple labels and billboards at the same position, e.g., an image and text. The + * screen space origin is the top, left corner of the canvas; x increases from + * left to right, and y increases from top to bottom. + *

+ *
+ * + * + * + *
default
l.pixeloffset = new Cartesian2(25, 75);
+ * The label's origin is indicated by the yellow point. + *
+ */ + pixelOffset: Cartesian2; + /** + * Gets or sets near and far translucency properties of a Label based on the Label's distance from the camera. + * A label's translucency will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the label's translucency remains clamped to the nearest bound. If undefined, + * translucencyByDistance will be disabled. + * @example + * // Example 1. + * // Set a label's translucencyByDistance to 1.0 when the + * // camera is 1500 meters from the label and disappear as + * // the camera distance approaches 8.0e6 meters. + * text.translucencyByDistance = new Cesium.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0); + * @example + * // Example 2. + * // disable translucency by distance + * text.translucencyByDistance = undefined; + */ + translucencyByDistance: NearFarScalar; + /** + * Gets or sets near and far pixel offset scaling properties of a Label based on the Label's distance from the camera. + * A label's pixel offset will be scaled between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the label's pixel offset scaling remains clamped to the nearest bound. If undefined, + * pixelOffsetScaleByDistance will be disabled. + * @example + * // Example 1. + * // Set a label's pixel offset scale to 0.0 when the + * // camera is 1500 meters from the label and scale pixel offset to 10.0 pixels + * // in the y direction the camera distance approaches 8.0e6 meters. + * text.pixelOffset = new Cesium.Cartesian2(0.0, 1.0); + * text.pixelOffsetScaleByDistance = new Cesium.NearFarScalar(1.5e2, 0.0, 8.0e6, 10.0); + * @example + * // Example 2. + * // disable pixel offset by distance + * text.pixelOffsetScaleByDistance = undefined; + */ + pixelOffsetScaleByDistance: NearFarScalar; + /** + * Gets or sets near and far scaling properties of a Label based on the label's distance from the camera. + * A label's scale will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the label's scale remains clamped to the nearest bound. If undefined, + * scaleByDistance will be disabled. + * @example + * // Example 1. + * // Set a label's scaleByDistance to scale by 1.5 when the + * // camera is 1500 meters from the label and disappear as + * // the camera distance approaches 8.0e6 meters. + * label.scaleByDistance = new Cesium.NearFarScalar(1.5e2, 1.5, 8.0e6, 0.0); + * @example + * // Example 2. + * // disable scaling by distance + * label.scaleByDistance = undefined; + */ + scaleByDistance: NearFarScalar; + /** + * Gets and sets the 3D Cartesian offset applied to this label in eye coordinates. Eye coordinates is a left-handed + * coordinate system, where x points towards the viewer's right, y points up, and + * z points into the screen. Eye coordinates use the same scale as world and model coordinates, + * which is typically meters. + *

+ * An eye offset is commonly used to arrange multiple label or objects at the same position, e.g., to + * arrange a label above its corresponding 3D model. + *

+ * Below, the label is positioned at the center of the Earth but an eye offset makes it always + * appear on top of the Earth regardless of the viewer's or Earth's orientation. + *

+ *
+ * + * + * + *
+ * l.eyeOffset = new Cartesian3(0.0, 8000000.0, 0.0);

+ *
+ */ + eyeOffset: Cartesian3; + /** + * Gets or sets the horizontal origin of this label, which determines if the label is drawn + * to the left, center, or right of its anchor position. + *

+ *
+ *
+ *
+ * @example + * // Use a top, right origin + * l.horizontalOrigin = Cesium.HorizontalOrigin.RIGHT; + * l.verticalOrigin = Cesium.VerticalOrigin.TOP; + */ + horizontalOrigin: HorizontalOrigin; + /** + * Gets or sets the vertical origin of this label, which determines if the label is + * to the above, below, or at the center of its anchor position. + *

+ *
+ *
+ *
+ * @example + * // Use a top, right origin + * l.horizontalOrigin = Cesium.HorizontalOrigin.RIGHT; + * l.verticalOrigin = Cesium.VerticalOrigin.TOP; + */ + verticalOrigin: VerticalOrigin; + /** + * Gets or sets the uniform scale that is multiplied with the label's size in pixels. + * A scale of 1.0 does not change the size of the label; a scale greater than + * 1.0 enlarges the label; a positive scale less than 1.0 shrinks + * the label. + *

+ * Applying a large scale value may pixelate the label. To make text larger without pixelation, + * use a larger font size when calling {@link Label#font} instead. + *

+ *
+ *
+ * From left to right in the above image, the scales are 0.5, 1.0, + * and 2.0. + *
+ */ + scale: number; + /** + * Gets the total scale of the label, which is the label's scale multiplied by the computed relative size + * of the desired font compared to the generated glyph size. + */ + totalScale: number; + /** + * Gets or sets the condition specifying at what distance from the camera that this label will be displayed. + */ + distanceDisplayCondition: DistanceDisplayCondition; + /** + * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain. + * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied. + */ + disableDepthTestDistance: number; + /** + * Gets or sets the user-defined value returned when the label is picked. + */ + id: any; + /** + * Computes the screen-space position of the label's origin, taking into account eye and pixel offsets. + * The screen space origin is the top, left corner of the canvas; x increases from + * left to right, and y increases from top to bottom. + * @example + * console.log(l.computeScreenSpacePosition(scene).toString()); + * @param scene - The scene the label is in. + * @param [result] - The object onto which to store the result. + * @returns The screen-space position of the label. + */ + computeScreenSpacePosition(scene: Scene, result?: Cartesian2): Cartesian2; + /** + * Determines if this label equals another label. Labels are equal if all their properties + * are equal. Labels in different collections can be equal. + * @param other - The label to compare for equality. + * @returns true if the labels are equal; otherwise, false. + */ + equals(other: Label): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Determines whether or not run the algorithm, that match the text of the label to right-to-left languages + * @example + * // Example 1. + * // Set a label's rightToLeft before init + * Cesium.Label.enableRightToLeftDetection = true; + * var myLabelEntity = viewer.entities.add({ + * label: { + * id: 'my label', + * text: 'זה טקסט בעברית \n ועכשיו יורדים שורה', + * } + * }); + * @example + * // Example 2. + * var myLabelEntity = viewer.entities.add({ + * label: { + * id: 'my label', + * text: 'English text' + * } + * }); + * // Set a label's rightToLeft after init + * Cesium.Label.enableRightToLeftDetection = true; + * myLabelEntity.text = 'טקסט חדש'; + */ + static enableRightToLeftDetection: boolean; +} + +/** + * A renderable collection of labels. Labels are viewport-aligned text positioned in the 3D scene. + * Each label can have a different font, color, scale, etc. + *

+ *
+ *
+ * Example labels + *
+ *

+ * Labels are added and removed from the collection using {@link LabelCollection#add} + * and {@link LabelCollection#remove}. + * @example + * // Create a label collection with two labels + * var labels = scene.primitives.add(new Cesium.LabelCollection()); + * labels.add({ + * position : new Cesium.Cartesian3(1.0, 2.0, 3.0), + * text : 'A label' + * }); + * labels.add({ + * position : new Cesium.Cartesian3(4.0, 5.0, 6.0), + * text : 'Another label' + * }); + * @param [options] - Object with the following properties: + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms each label from model to world coordinates. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown. + * @param [options.scene] - Must be passed in for labels that use the height reference property or will be depth tested against the globe. + * @param [options.blendOption = BlendOption.OPAQUE_AND_TRANSLUCENT] - The label blending option. The default + * is used for rendering both opaque and translucent labels. However, if either all of the labels are completely opaque or all are completely translucent, + * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve performance by up to 2x. + */ +export class LabelCollection { + constructor(options?: { + modelMatrix?: Matrix4; + debugShowBoundingVolume?: boolean; + scene?: Scene; + blendOption?: BlendOption; + }); + /** + * The 4x4 transformation matrix that transforms each label in this collection from model to world coordinates. + * When this is the identity matrix, the labels are drawn in world coordinates, i.e., Earth's WGS84 coordinates. + * Local reference frames can be used by providing a different transformation matrix, like that returned + * by {@link Transforms.eastNorthUpToFixedFrame}. + * @example + * var center = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883); + * labels.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center); + * labels.add({ + * position : new Cesium.Cartesian3(0.0, 0.0, 0.0), + * text : 'Center' + * }); + * labels.add({ + * position : new Cesium.Cartesian3(1000000.0, 0.0, 0.0), + * text : 'East' + * }); + * labels.add({ + * position : new Cesium.Cartesian3(0.0, 1000000.0, 0.0), + * text : 'North' + * }); + * labels.add({ + * position : new Cesium.Cartesian3(0.0, 0.0, 1000000.0), + * text : 'Up' + * }); + */ + modelMatrix: Matrix4; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the bounding sphere for each draw command in the primitive. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * The label blending option. The default is used for rendering both opaque and translucent labels. + * However, if either all of the labels are completely opaque or all are completely translucent, + * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve + * performance by up to 2x. + */ + blendOption: BlendOption; + /** + * Returns the number of labels in this collection. This is commonly used with + * {@link LabelCollection#get} to iterate over all the labels + * in the collection. + */ + length: number; + /** + * Creates and adds a label with the specified initial properties to the collection. + * The added label is returned so it can be modified or removed from the collection later. + * @example + * // Example 1: Add a label, specifying all the default values. + * var l = labels.add({ + * show : true, + * position : Cesium.Cartesian3.ZERO, + * text : '', + * font : '30px sans-serif', + * fillColor : Cesium.Color.WHITE, + * outlineColor : Cesium.Color.BLACK, + * outlineWidth : 1.0, + * showBackground : false, + * backgroundColor : new Cesium.Color(0.165, 0.165, 0.165, 0.8), + * backgroundPadding : new Cesium.Cartesian2(7, 5), + * style : Cesium.LabelStyle.FILL, + * pixelOffset : Cesium.Cartesian2.ZERO, + * eyeOffset : Cesium.Cartesian3.ZERO, + * horizontalOrigin : Cesium.HorizontalOrigin.LEFT, + * verticalOrigin : Cesium.VerticalOrigin.BASELINE, + * scale : 1.0, + * translucencyByDistance : undefined, + * pixelOffsetScaleByDistance : undefined, + * heightReference : HeightReference.NONE, + * distanceDisplayCondition : undefined + * }); + * @example + * // Example 2: Specify only the label's cartographic position, + * // text, and font. + * var l = labels.add({ + * position : Cesium.Cartesian3.fromRadians(longitude, latitude, height), + * text : 'Hello World', + * font : '24px Helvetica', + * }); + * @param [options] - A template describing the label's properties as shown in Example 1. + * @returns The label that was added to the collection. + */ + add(options?: any): Label; + /** + * Removes a label from the collection. Once removed, a label is no longer usable. + * @example + * var l = labels.add(...); + * labels.remove(l); // Returns true + * @param label - The label to remove. + * @returns true if the label was removed; false if the label was not found in the collection. + */ + remove(label: Label): boolean; + /** + * Removes all labels from the collection. + * @example + * labels.add(...); + * labels.add(...); + * labels.removeAll(); + */ + removeAll(): void; + /** + * Check whether this collection contains a given label. + * @param label - The label to check for. + * @returns true if this collection contains the label, false otherwise. + */ + contains(label: Label): boolean; + /** + * Returns the label in the collection at the specified index. Indices are zero-based + * and increase as labels are added. Removing a label shifts all labels after + * it to the left, changing their indices. This function is commonly used with + * {@link LabelCollection#length} to iterate over all the labels + * in the collection. + * @example + * // Toggle the show property of every label in the collection + * var len = labels.length; + * for (var i = 0; i < len; ++i) { + * var l = billboards.get(i); + * l.show = !l.show; + * } + * @param index - The zero-based index of the billboard. + * @returns The label at the specified index. + */ + get(index: number): Label; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * labels = labels && labels.destroy(); + */ + destroy(): void; +} + +/** + * Describes how to draw a label. + */ +export enum LabelStyle { + /** + * Fill the text of the label, but do not outline. + */ + FILL = 0, + /** + * Outline the text of the label, but do not fill. + */ + OUTLINE = 1, + /** + * Fill and outline the text of the label. + */ + FILL_AND_OUTLINE = 2 +} + +/** + * A light source. This type describes an interface and is not intended to be instantiated directly. + */ +export class Light { + constructor(); + /** + * The color of the light. + */ + color: Color; + /** + * The intensity of the light. + */ + intensity: number; +} + +export namespace MapboxImageryProvider { + /** + * Initialization options for the MapboxImageryProvider constructor + * @property [url = 'https://api.mapbox.com/v4/'] - The Mapbox server url. + * @property mapId - The Mapbox Map ID. + * @property accessToken - The public access token for the imagery. + * @property [format = 'png'] - The format of the image request. + * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when specifying + * this that the number of tiles at the minimum level is small, such as four or less. A larger number is likely + * to result in rendering problems. + * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit. + * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle, in radians, covered by the image. + * @property [credit] - A credit for the data source, which is displayed on the canvas. + */ + type ConstructorOptions = { + url?: string; + mapId: string; + accessToken: string; + format?: string; + ellipsoid?: Ellipsoid; + minimumLevel?: number; + maximumLevel?: number; + rectangle?: Rectangle; + credit?: Credit | string; + }; +} + +/** + * Provides tiled imagery hosted by Mapbox. + * @example + * // Mapbox tile provider + * var mapbox = new Cesium.MapboxImageryProvider({ + * mapId: 'mapbox.streets', + * accessToken: 'thisIsMyAccessToken' + * }); + * @param options - Object describing initialization options + */ +export class MapboxImageryProvider { + constructor(options: MapboxImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the URL of the Mapbox server. + */ + readonly url: string; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the rectangle, in radians, of the imagery provided by the instance. This function should + * not be called before {@link MapboxImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link MapboxImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link MapboxImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link MapboxImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link MapboxImageryProvider#ready} returns true. Generally, + * a minimum level should only be used when the rectangle of the imagery is small + * enough that the number of tiles at the minimum level is small. An imagery + * provider with more than a few tiles at the minimum level will lead to + * rendering problems. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by the provider. This function should + * not be called before {@link MapboxImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link MapboxImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error.. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should + * not be called before {@link MapboxImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link MapboxImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Asynchronously determines what features, if any, are located at a given longitude and latitude within + * a tile. This function should not be called before {@link MapboxImageryProvider#ready} returns true. + * This function is optional, so it may not exist on all ImageryProviders. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +export namespace MapboxStyleImageryProvider { + /** + * Initialization options for the MapboxStyleImageryProvider constructor + * @property [url = 'https://api.mapbox.com/styles/v1/'] - The Mapbox server url. + * @property [username = 'mapbox'] - The username of the map account. + * @property styleId - The Mapbox Style ID. + * @property accessToken - The public access token for the imagery. + * @property [tilesize = 512] - The size of the image tiles. + * @property [scaleFactor] - Determines if tiles are rendered at a @2x scale factor. + * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when specifying + * this that the number of tiles at the minimum level is small, such as four or less. A larger number is likely + * to result in rendering problems. + * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit. + * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle, in radians, covered by the image. + * @property [credit] - A credit for the data source, which is displayed on the canvas. + */ + type ConstructorOptions = { + url?: Resource | string; + username?: string; + styleId: string; + accessToken: string; + tilesize?: number; + scaleFactor?: boolean; + ellipsoid?: Ellipsoid; + minimumLevel?: number; + maximumLevel?: number; + rectangle?: Rectangle; + credit?: Credit | string; + }; +} + +/** + * Provides tiled imagery hosted by Mapbox. + * @example + * // Mapbox style provider + * var mapbox = new Cesium.MapboxStyleImageryProvider({ + * styleId: 'streets-v11', + * accessToken: 'thisIsMyAccessToken' + * }); + * @param options - Object describing initialization options + */ +export class MapboxStyleImageryProvider { + constructor(options: MapboxStyleImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the URL of the Mapbox server. + */ + readonly url: string; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the rectangle, in radians, of the imagery provided by the instance. This function should + * not be called before {@link MapboxStyleImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link MapboxStyleImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link MapboxStyleImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link MapboxStyleImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link MapboxStyleImageryProvider#ready} returns true. Generally, + * a minimum level should only be used when the rectangle of the imagery is small + * enough that the number of tiles at the minimum level is small. An imagery + * provider with more than a few tiles at the minimum level will lead to + * rendering problems. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by the provider. This function should + * not be called before {@link MapboxStyleImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link MapboxStyleImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error.. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should + * not be called before {@link MapboxStyleImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link MapboxStyleImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Asynchronously determines what features, if any, are located at a given longitude and latitude within + * a tile. This function should not be called before {@link MapboxStyleImageryProvider#ready} returns true. + * This function is optional, so it may not exist on all ImageryProviders. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +/** + * Describes how the map will operate in 2D. + */ +export enum MapMode2D { + /** + * The 2D map can be rotated about the z axis. + */ + ROTATE = 0, + /** + * The 2D map can be scrolled infinitely in the horizontal direction. + */ + INFINITE_SCROLL = 1 +} + +/** + * A Material defines surface appearance through a combination of diffuse, specular, + * normal, emission, and alpha components. These values are specified using a + * JSON schema called Fabric which gets parsed and assembled into glsl shader code + * behind-the-scenes. Check out the {@link https://github.com/CesiumGS/cesium/wiki/Fabric|wiki page} + * for more details on Fabric. + *

+ * + * + * Base material types and their uniforms: + *
+ *
    + *
  • Color
  • + *
      + *
    • color: rgba color object.
    • + *
    + *
  • Image
  • + *
      + *
    • image: path to image.
    • + *
    • repeat: Object with x and y values specifying the number of times to repeat the image.
    • + *
    + *
  • DiffuseMap
  • + *
      + *
    • image: path to image.
    • + *
    • channels: Three character string containing any combination of r, g, b, and a for selecting the desired image channels.
    • + *
    • repeat: Object with x and y values specifying the number of times to repeat the image.
    • + *
    + *
  • AlphaMap
  • + *
      + *
    • image: path to image.
    • + *
    • channel: One character string containing r, g, b, or a for selecting the desired image channel.
    • + *
    • repeat: Object with x and y values specifying the number of times to repeat the image.
    • + *
    + *
  • SpecularMap
  • + *
      + *
    • image: path to image.
    • + *
    • channel: One character string containing r, g, b, or a for selecting the desired image channel.
    • + *
    • repeat: Object with x and y values specifying the number of times to repeat the image.
    • + *
    + *
  • EmissionMap
  • + *
      + *
    • image: path to image.
    • + *
    • channels: Three character string containing any combination of r, g, b, and a for selecting the desired image channels.
    • + *
    • repeat: Object with x and y values specifying the number of times to repeat the image.
    • + *
    + *
  • BumpMap
  • + *
      + *
    • image: path to image.
    • + *
    • channel: One character string containing r, g, b, or a for selecting the desired image channel.
    • + *
    • repeat: Object with x and y values specifying the number of times to repeat the image.
    • + *
    • strength: Bump strength value between 0.0 and 1.0 where 0.0 is small bumps and 1.0 is large bumps.
    • + *
    + *
  • NormalMap
  • + *
      + *
    • image: path to image.
    • + *
    • channels: Three character string containing any combination of r, g, b, and a for selecting the desired image channels.
    • + *
    • repeat: Object with x and y values specifying the number of times to repeat the image.
    • + *
    • strength: Bump strength value between 0.0 and 1.0 where 0.0 is small bumps and 1.0 is large bumps.
    • + *
    + *
  • Grid
  • + *
      + *
    • color: rgba color object for the whole material.
    • + *
    • cellAlpha: Alpha value for the cells between grid lines. This will be combined with color.alpha.
    • + *
    • lineCount: Object with x and y values specifying the number of columns and rows respectively.
    • + *
    • lineThickness: Object with x and y values specifying the thickness of grid lines (in pixels where available).
    • + *
    • lineOffset: Object with x and y values specifying the offset of grid lines (range is 0 to 1).
    • + *
    + *
  • Stripe
  • + *
      + *
    • horizontal: Boolean that determines if the stripes are horizontal or vertical.
    • + *
    • evenColor: rgba color object for the stripe's first color.
    • + *
    • oddColor: rgba color object for the stripe's second color.
    • + *
    • offset: Number that controls at which point into the pattern to begin drawing; with 0.0 being the beginning of the even color, 1.0 the beginning of the odd color, 2.0 being the even color again, and any multiple or fractional values being in between.
    • + *
    • repeat: Number that controls the total number of stripes, half light and half dark.
    • + *
    + *
  • Checkerboard
  • + *
      + *
    • lightColor: rgba color object for the checkerboard's light alternating color.
    • + *
    • darkColor: rgba color object for the checkerboard's dark alternating color.
    • + *
    • repeat: Object with x and y values specifying the number of columns and rows respectively.
    • + *
    + *
  • Dot
  • + *
      + *
    • lightColor: rgba color object for the dot color.
    • + *
    • darkColor: rgba color object for the background color.
    • + *
    • repeat: Object with x and y values specifying the number of columns and rows of dots respectively.
    • + *
    + *
  • Water
  • + *
      + *
    • baseWaterColor: rgba color object base color of the water.
    • + *
    • blendColor: rgba color object used when blending from water to non-water areas.
    • + *
    • specularMap: Single channel texture used to indicate areas of water.
    • + *
    • normalMap: Normal map for water normal perturbation.
    • + *
    • frequency: Number that controls the number of waves.
    • + *
    • normalMap: Normal map for water normal perturbation.
    • + *
    • animationSpeed: Number that controls the animations speed of the water.
    • + *
    • amplitude: Number that controls the amplitude of water waves.
    • + *
    • specularIntensity: Number that controls the intensity of specular reflections.
    • + *
    + *
  • RimLighting
  • + *
      + *
    • color: diffuse color and alpha.
    • + *
    • rimColor: diffuse color and alpha of the rim.
    • + *
    • width: Number that determines the rim's width.
    • + *
    + *
  • Fade
  • + *
      + *
    • fadeInColor: diffuse color and alpha at time
    • + *
    • fadeOutColor: diffuse color and alpha at maximumDistance from time
    • + *
    • maximumDistance: Number between 0.0 and 1.0 where the fadeInColor becomes the fadeOutColor. A value of 0.0 gives the entire material a color of fadeOutColor and a value of 1.0 gives the the entire material a color of fadeInColor
    • + *
    • repeat: true if the fade should wrap around the texture coodinates.
    • + *
    • fadeDirection: Object with x and y values specifying if the fade should be in the x and y directions.
    • + *
    • time: Object with x and y values between 0.0 and 1.0 of the fadeInColor position
    • + *
    + *
  • PolylineArrow
  • + *
      + *
    • color: diffuse color and alpha.
    • + *
    + *
  • PolylineDash
  • + *
      + *
    • color: color for the line.
    • + *
    • gapColor: color for the gaps in the line.
    • + *
    • dashLength: Dash length in pixels.
    • + *
    • dashPattern: The 16 bit stipple pattern for the line..
    • + *
    + *
  • PolylineGlow
  • + *
      + *
    • color: color and maximum alpha for the glow on the line.
    • + *
    • glowPower: strength of the glow, as a percentage of the total line width (less than 1.0).
    • + *
    • taperPower: strength of the tapering effect, as a percentage of the total line length. If 1.0 or higher, no taper effect is used.
    • + *
    + *
  • PolylineOutline
  • + *
      + *
    • color: diffuse color and alpha for the interior of the line.
    • + *
    • outlineColor: diffuse color and alpha for the outline.
    • + *
    • outlineWidth: width of the outline in pixels.
    • + *
    + *
  • ElevationContour
  • + *
      + *
    • color: color and alpha for the contour line.
    • + *
    • spacing: spacing for contour lines in meters.
    • + *
    • width: Number specifying the width of the grid lines in pixels.
    • + *
    + *
  • ElevationRamp
  • + *
      + *
    • image: color ramp image to use for coloring the terrain.
    • + *
    • minimumHeight: minimum height for the ramp.
    • + *
    • maximumHeight: maximum height for the ramp.
    • + *
    + *
  • SlopeRamp
  • + *
      + *
    • image: color ramp image to use for coloring the terrain by slope.
    • + *
    + *
  • AspectRamp
  • + *
      + *
    • image: color ramp image to use for color the terrain by aspect.
    • + *
    + *
+ * + *
+ * @example + * // Create a color material with fromType: + * polygon.material = Cesium.Material.fromType('Color'); + * polygon.material.uniforms.color = new Cesium.Color(1.0, 1.0, 0.0, 1.0); + * + * // Create the default material: + * polygon.material = new Cesium.Material(); + * + * // Create a color material with full Fabric notation: + * polygon.material = new Cesium.Material({ + * fabric : { + * type : 'Color', + * uniforms : { + * color : new Cesium.Color(1.0, 1.0, 0.0, 1.0) + * } + * } + * }); + * @param [options] - Object with the following properties: + * @param [options.strict = false] - Throws errors for issues that would normally be ignored, including unused uniforms or materials. + * @param [options.translucent = true] - When true or a function that returns true, the geometry + * with this material is expected to appear translucent. + * @param [options.minificationFilter = TextureMinificationFilter.LINEAR] - The {@link TextureMinificationFilter} to apply to this material's textures. + * @param [options.magnificationFilter = TextureMagnificationFilter.LINEAR] - The {@link TextureMagnificationFilter} to apply to this material's textures. + * @param options.fabric - The fabric JSON used to generate the material. + */ +export class Material { + constructor(options?: { + strict?: boolean; + translucent?: boolean | ((...params: any[]) => any); + minificationFilter?: TextureMinificationFilter; + magnificationFilter?: TextureMagnificationFilter; + fabric: any; + }); + /** + * The material type. Can be an existing type or a new type. If no type is specified in fabric, type is a GUID. + */ + type: string; + /** + * The glsl shader source for this material. + */ + shaderSource: string; + /** + * Maps sub-material names to Material objects. + */ + materials: any; + /** + * Maps uniform names to their values. + */ + uniforms: any; + /** + * When true or a function that returns true, + * the geometry is expected to appear translucent. + */ + translucent: boolean | ((...params: any[]) => any); + /** + * Creates a new material using an existing material type. + *

+ * Shorthand for: new Material({fabric : {type : type}}); + * @example + * var material = Cesium.Material.fromType('Color', { + * color : new Cesium.Color(1.0, 0.0, 0.0, 1.0) + * }); + * @param type - The base material type. + * @param [uniforms] - Overrides for the default uniforms. + * @returns New material object. + */ + static fromType(type: string, uniforms?: any): Material; + /** + * Gets whether or not this material is translucent. + * @returns true if this material is translucent, false otherwise. + */ + isTranslucent(): boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * material = material && material.destroy(); + */ + destroy(): void; + /** + * Gets or sets the default texture uniform value. + */ + static DefaultImageId: string; + /** + * Gets or sets the default cube map texture uniform value. + */ + static DefaultCubeMapId: string; + /** + * Gets the name of the color material. + */ + static readonly ColorType: string; + /** + * Gets the name of the image material. + */ + static readonly ImageType: string; + /** + * Gets the name of the diffuce map material. + */ + static readonly DiffuseMapType: string; + /** + * Gets the name of the alpha map material. + */ + static readonly AlphaMapType: string; + /** + * Gets the name of the specular map material. + */ + static readonly SpecularMapType: string; + /** + * Gets the name of the emmision map material. + */ + static readonly EmissionMapType: string; + /** + * Gets the name of the bump map material. + */ + static readonly BumpMapType: string; + /** + * Gets the name of the normal map material. + */ + static readonly NormalMapType: string; + /** + * Gets the name of the grid material. + */ + static readonly GridType: string; + /** + * Gets the name of the stripe material. + */ + static readonly StripeType: string; + /** + * Gets the name of the checkerboard material. + */ + static readonly CheckerboardType: string; + /** + * Gets the name of the dot material. + */ + static readonly DotType: string; + /** + * Gets the name of the water material. + */ + static readonly WaterType: string; + /** + * Gets the name of the rim lighting material. + */ + static readonly RimLightingType: string; + /** + * Gets the name of the fade material. + */ + static readonly FadeType: string; + /** + * Gets the name of the polyline arrow material. + */ + static readonly PolylineArrowType: string; + /** + * Gets the name of the polyline glow material. + */ + static readonly PolylineDashType: string; + /** + * Gets the name of the polyline glow material. + */ + static readonly PolylineGlowType: string; + /** + * Gets the name of the polyline outline material. + */ + static readonly PolylineOutlineType: string; + /** + * Gets the name of the elevation contour material. + */ + static readonly ElevationContourType: string; + /** + * Gets the name of the elevation contour material. + */ + static readonly ElevationRampType: string; + /** + * Gets the name of the slope ramp material. + */ + static readonly SlopeRampMaterialType: string; + /** + * Gets the name of the aspect ramp material. + */ + static readonly AspectRampMaterialType: string; +} + +/** + * An appearance for arbitrary geometry (as opposed to {@link EllipsoidSurfaceAppearance}, for example) + * that supports shading with materials. + * @example + * var primitive = new Cesium.Primitive({ + * geometryInstances : new Cesium.GeometryInstance({ + * geometry : new Cesium.WallGeometry({ + * materialSupport : Cesium.MaterialAppearance.MaterialSupport.BASIC.vertexFormat, + * // ... + * }) + * }), + * appearance : new Cesium.MaterialAppearance({ + * material : Cesium.Material.fromType('Color'), + * faceForward : true + * }) + * + * }); + * @param [options] - Object with the following properties: + * @param [options.flat = false] - When true, flat shading is used in the fragment shader, which means lighting is not taking into account. + * @param [options.faceForward = !options.closed] - When true, the fragment shader flips the surface normal as needed to ensure that the normal faces the viewer to avoid dark spots. This is useful when both sides of a geometry should be shaded like {@link WallGeometry}. + * @param [options.translucent = true] - When true, the geometry is expected to appear translucent so {@link MaterialAppearance#renderState} has alpha blending enabled. + * @param [options.closed = false] - When true, the geometry is expected to be closed so {@link MaterialAppearance#renderState} has backface culling enabled. + * @param [options.materialSupport = MaterialAppearance.MaterialSupport.TEXTURED] - The type of materials that will be supported. + * @param [options.material = Material.ColorType] - The material used to determine the fragment color. + * @param [options.vertexShaderSource] - Optional GLSL vertex shader source to override the default vertex shader. + * @param [options.fragmentShaderSource] - Optional GLSL fragment shader source to override the default fragment shader. + * @param [options.renderState] - Optional render state to override the default render state. + */ +export class MaterialAppearance { + constructor(options?: { + flat?: boolean; + faceForward?: boolean; + translucent?: boolean; + closed?: boolean; + materialSupport?: MaterialAppearance.MaterialSupportType; + material?: Material; + vertexShaderSource?: string; + fragmentShaderSource?: string; + renderState?: any; + }); + /** + * The material used to determine the fragment color. Unlike other {@link MaterialAppearance} + * properties, this is not read-only, so an appearance's material can change on the fly. + */ + material: Material; + /** + * When true, the geometry is expected to appear translucent. + */ + translucent: boolean; + /** + * The GLSL source code for the vertex shader. + */ + readonly vertexShaderSource: string; + /** + * The GLSL source code for the fragment shader. The full fragment shader + * source is built procedurally taking into account {@link MaterialAppearance#material}, + * {@link MaterialAppearance#flat}, and {@link MaterialAppearance#faceForward}. + * Use {@link MaterialAppearance#getFragmentShaderSource} to get the full source. + */ + readonly fragmentShaderSource: string; + /** + * The WebGL fixed-function state to use when rendering the geometry. + *

+ * The render state can be explicitly defined when constructing a {@link MaterialAppearance} + * instance, or it is set implicitly via {@link MaterialAppearance#translucent} + * and {@link MaterialAppearance#closed}. + *

+ */ + readonly renderState: any; + /** + * When true, the geometry is expected to be closed so + * {@link MaterialAppearance#renderState} has backface culling enabled. + * If the viewer enters the geometry, it will not be visible. + */ + readonly closed: boolean; + /** + * The type of materials supported by this instance. This impacts the required + * {@link VertexFormat} and the complexity of the vertex and fragment shaders. + */ + readonly materialSupport: MaterialAppearance.MaterialSupportType; + /** + * The {@link VertexFormat} that this appearance instance is compatible with. + * A geometry can have more vertex attributes and still be compatible - at a + * potential performance cost - but it can't have less. + */ + readonly vertexFormat: VertexFormat; + /** + * When true, flat shading is used in the fragment shader, + * which means lighting is not taking into account. + */ + readonly flat: boolean; + /** + * When true, the fragment shader flips the surface normal + * as needed to ensure that the normal faces the viewer to avoid + * dark spots. This is useful when both sides of a geometry should be + * shaded like {@link WallGeometry}. + */ + readonly faceForward: boolean; + /** + * Procedurally creates the full GLSL fragment shader source. For {@link MaterialAppearance}, + * this is derived from {@link MaterialAppearance#fragmentShaderSource}, {@link MaterialAppearance#material}, + * {@link MaterialAppearance#flat}, and {@link MaterialAppearance#faceForward}. + * @returns The full GLSL fragment shader source. + */ + getFragmentShaderSource(): string; + /** + * Determines if the geometry is translucent based on {@link MaterialAppearance#translucent} and {@link Material#isTranslucent}. + * @returns true if the appearance is translucent. + */ + isTranslucent(): boolean; + /** + * Creates a render state. This is not the final render state instance; instead, + * it can contain a subset of render state properties identical to the render state + * created in the context. + * @returns The render state. + */ + getRenderState(): any; +} + +export namespace MaterialAppearance { + type MaterialSupportType = { + vertexFormat: VertexFormat; + vertexShaderSource: string; + fragmentShaderSource: string; + }; + /** + * Determines the type of {@link Material} that is supported by a + * {@link MaterialAppearance} instance. This is a trade-off between + * flexibility (a wide array of materials) and memory/performance + * (required vertex format and GLSL shader complexity. + */ + namespace MaterialSupport { + /** + * Only basic materials, which require just position and + * normal vertex attributes, are supported. + */ + const BASIC: MaterialAppearance.MaterialSupportType; + /** + * Materials with textures, which require position, + * normal, and st vertex attributes, + * are supported. The vast majority of materials fall into this category. + */ + const TEXTURED: MaterialAppearance.MaterialSupportType; + /** + * All materials, including those that work in tangent space, are supported. + * This requires position, normal, st, + * tangent, and bitangent vertex attributes. + */ + const ALL: MaterialAppearance.MaterialSupportType; + } +} + +/** + * A 3D model based on glTF, the runtime asset format for WebGL, OpenGL ES, and OpenGL. + *

+ * Cesium includes support for geometry and materials, glTF animations, and glTF skinning. + * In addition, individual glTF nodes are pickable with {@link Scene#pick} and animatable + * with {@link Model#getNode}. glTF cameras and lights are not currently supported. + *

+ *

+ * An external glTF asset is created with {@link Model.fromGltf}. glTF JSON can also be + * created at runtime and passed to this constructor function. In either case, the + * {@link Model#readyPromise} is resolved when the model is ready to render, i.e., + * when the external binary, image, and shader files are downloaded and the WebGL + * resources are created. + *

+ *

+ * Cesium supports glTF assets with the following extensions: + *

    + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Khronos/KHR_binary_glTF/README.md|KHR_binary_glTF (glTF 1.0)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Khronos/KHR_materials_common/README.md|KHR_materials_common (glTF 1.0)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Vendor/WEB3D_quantized_attributes/README.md|WEB3D_quantized_attributes (glTF 1.0)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/AGI_articulations/README.md|AGI_articulations} + *
  • + * {@link https://github.com/KhronosGroup/glTF/pull/1302|KHR_blend (draft)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md|KHR_draco_mesh_compression} + *
  • + * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness/README.md|KHR_materials_pbrSpecularGlossiness} + *
  • + * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit/README.md|KHR_materials_unlit} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_techniques_webgl/README.md|KHR_techniques_webgl} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_transform/README.md|KHR_texture_transform} + *
  • + *
+ *

+ *

+ * For high-precision rendering, Cesium supports the {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Vendor/CESIUM_RTC/README.md|CESIUM_RTC} extension, which introduces the + * CESIUM_RTC_MODELVIEW parameter semantic that says the node is in WGS84 coordinates translated + * relative to a local origin. + *

+ * @param [options] - Object with the following properties: + * @param [options.gltf] - A glTF JSON object, or a binary glTF buffer. + * @param [options.basePath = ''] - The base path that paths in the glTF JSON are relative to. + * @param [options.show = true] - Determines if the model primitive will be shown. + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the model from model to world coordinates. + * @param [options.scale = 1.0] - A uniform scale applied to this model. + * @param [options.minimumPixelSize = 0.0] - The approximate minimum pixel size of the model regardless of zoom. + * @param [options.maximumScale] - The maximum scale size of a model. An upper limit for minimumPixelSize. + * @param [options.id] - A user-defined object to return when the model is picked with {@link Scene#pick}. + * @param [options.allowPicking = true] - When true, each glTF mesh and primitive is pickable with {@link Scene#pick}. + * @param [options.incrementallyLoadTextures = true] - Determine if textures may continue to stream in after the model is loaded. + * @param [options.asynchronous = true] - Determines if model WebGL resource creation will be spread out over several frames or block until completion once all glTF files are loaded. + * @param [options.clampAnimations = true] - Determines if the model's animations should hold a pose over frames where no keyframes are specified. + * @param [options.shadows = ShadowMode.ENABLED] - Determines whether the model casts or receives shadows from light sources. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model. + * @param [options.debugWireframe = false] - For debugging only. Draws the model in wireframe. + * @param [options.heightReference = HeightReference.NONE] - Determines how the model is drawn relative to terrain. + * @param [options.scene] - Must be passed in for models that use the height reference property. + * @param [options.distanceDisplayCondition] - The condition specifying at what distance from the camera that this model will be displayed. + * @param [options.color = Color.WHITE] - A color that blends with the model's rendered color. + * @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model. + * @param [options.colorBlendAmount = 0.5] - Value used to determine the color strength when the colorBlendMode is MIX. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two. + * @param [options.silhouetteColor = Color.RED] - The silhouette color. If more than 256 models have silhouettes enabled, there is a small chance that overlapping models will have minor artifacts. + * @param [options.silhouetteSize = 0.0] - The size of the silhouette in pixels. + * @param [options.clippingPlanes] - The {@link ClippingPlaneCollection} used to selectively disable rendering the model. + * @param [options.dequantizeInShader = true] - Determines if a {@link https://github.com/google/draco|Draco} encoded model is dequantized on the GPU. This decreases total memory usage for encoded models. + * @param [options.imageBasedLightingFactor = Cartesian2(1.0, 1.0)] - Scales diffuse and specular image-based lighting from the earth, sky, atmosphere and star skybox. + * @param [options.lightColor] - The light color when shading the model. When undefined the scene's light color is used instead. + * @param [options.luminanceAtZenith = 0.2] - The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map. + * @param [options.sphericalHarmonicCoefficients] - The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. + * @param [options.specularEnvironmentMaps] - A URL to a KTX file that contains a cube map of the specular lighting and the convoluted specular mipmaps. + * @param [options.credit] - A credit for the data source, which is displayed on the canvas. + * @param [options.backFaceCulling = true] - Whether to cull back-facing geometry. When true, back face culling is determined by the material's doubleSided property; when false, back face culling is disabled. Back faces are not culled if {@link Model#color} is translucent or {@link Model#silhouetteSize} is greater than 0.0. + */ +export class Model { + constructor(options?: { + gltf?: any | ArrayBuffer | Uint8Array; + basePath?: Resource | string; + show?: boolean; + modelMatrix?: Matrix4; + scale?: number; + minimumPixelSize?: number; + maximumScale?: number; + id?: any; + allowPicking?: boolean; + incrementallyLoadTextures?: boolean; + asynchronous?: boolean; + clampAnimations?: boolean; + shadows?: ShadowMode; + debugShowBoundingVolume?: boolean; + debugWireframe?: boolean; + heightReference?: HeightReference; + scene?: Scene; + distanceDisplayCondition?: DistanceDisplayCondition; + color?: Color; + colorBlendMode?: ColorBlendMode; + colorBlendAmount?: number; + silhouetteColor?: Color; + silhouetteSize?: number; + clippingPlanes?: ClippingPlaneCollection; + dequantizeInShader?: boolean; + imageBasedLightingFactor?: Cartesian2; + lightColor?: Cartesian3; + luminanceAtZenith?: number; + sphericalHarmonicCoefficients?: Cartesian3[]; + specularEnvironmentMaps?: string; + credit?: Credit | string; + backFaceCulling?: boolean; + }); + /** + * Determines if the model primitive will be shown. + */ + show: boolean; + /** + * The silhouette color. + */ + silhouetteColor: Color; + /** + * The size of the silhouette in pixels. + */ + silhouetteSize: number; + /** + * The 4x4 transformation matrix that transforms the model from model to world coordinates. + * When this is the identity matrix, the model is drawn in world coordinates, i.e., Earth's WGS84 coordinates. + * Local reference frames can be used by providing a different transformation matrix, like that returned + * by {@link Transforms.eastNorthUpToFixedFrame}. + * @example + * var origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0); + * m.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin); + */ + modelMatrix: Matrix4; + /** + * A uniform scale applied to this model before the {@link Model#modelMatrix}. + * Values greater than 1.0 increase the size of the model; values + * less than 1.0 decrease. + */ + scale: number; + /** + * The approximate minimum pixel size of the model regardless of zoom. + * This can be used to ensure that a model is visible even when the viewer + * zooms out. When 0.0, no minimum size is enforced. + */ + minimumPixelSize: number; + /** + * The maximum scale size for a model. This can be used to give + * an upper limit to the {@link Model#minimumPixelSize}, ensuring that the model + * is never an unreasonable scale. + */ + maximumScale: number; + /** + * User-defined object returned when the model is picked. + */ + id: any; + /** + * Returns the height reference of the model + */ + heightReference: HeightReference; + /** + * The currently playing glTF animations. + */ + activeAnimations: ModelAnimationCollection; + /** + * Determines if the model's animations should hold a pose over frames where no keyframes are specified. + */ + clampAnimations: boolean; + /** + * Determines whether the model casts or receives shadows from light sources. + */ + shadows: ShadowMode; + /** + * A color that blends with the model's rendered color. + */ + color: Color; + /** + * Defines how the color blends with the model. + */ + colorBlendMode: ColorBlendMode; + /** + * Value used to determine the color strength when the colorBlendMode is MIX. + * A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with + * any value in-between resulting in a mix of the two. + */ + colorBlendAmount: number; + /** + * Whether to cull back-facing geometry. When true, back face culling is + * determined by the material's doubleSided property; when false, back face + * culling is disabled. Back faces are not culled if {@link Model#color} is + * translucent or {@link Model#silhouetteSize} is greater than 0.0. + */ + backFaceCulling: boolean; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the bounding sphere for each draw command in the model. A glTF primitive corresponds + * to one draw command. A glTF mesh has an array of primitives, often of length one. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the model in wireframe. + *

+ */ + debugWireframe: boolean; + /** + * The object for the glTF JSON, including properties with default values omitted + * from the JSON provided to this model. + */ + readonly gltf: any; + /** + * The base path that paths in the glTF JSON are relative to. The base + * path is the same path as the path containing the .gltf file + * minus the .gltf file, when binary, image, and shader files are + * in the same directory as the .gltf. When this is '', + * the app's base path is used. + */ + readonly basePath: string; + /** + * The model's bounding sphere in its local coordinate system. This does not take into + * account glTF animations and skins nor does it take into account {@link Model#minimumPixelSize}. + * @example + * // Center in WGS84 coordinates + * var center = Cesium.Matrix4.multiplyByPoint(model.modelMatrix, model.boundingSphere.center, new Cesium.Cartesian3()); + */ + readonly boundingSphere: BoundingSphere; + /** + * When true, this model is ready to render, i.e., the external binary, image, + * and shader files were downloaded and the WebGL resources were created. This is set to + * true right before {@link Model#readyPromise} is resolved. + */ + readonly ready: boolean; + /** + * Gets the promise that will be resolved when this model is ready to render, i.e., when the external binary, image, + * and shader files were downloaded and the WebGL resources were created. + *

+ * This promise is resolved at the end of the frame before the first frame the model is rendered in. + *

+ * @example + * // Play all animations at half-speed when the model is ready to render + * Cesium.when(model.readyPromise).then(function(model) { + * model.activeAnimations.addAll({ + * multiplier : 0.5 + * }); + * }).otherwise(function(error){ + * window.alert(error); + * }); + */ + readonly readyPromise: Promise; + /** + * Determines if model WebGL resource creation will be spread out over several frames or + * block until completion once all glTF files are loaded. + */ + readonly asynchronous: boolean; + /** + * When true, each glTF mesh and primitive is pickable with {@link Scene#pick}. When false, GPU memory is saved. + */ + readonly allowPicking: boolean; + /** + * Determine if textures may continue to stream in after the model is loaded. + */ + readonly incrementallyLoadTextures: boolean; + /** + * Return the number of pending texture loads. + */ + readonly pendingTextureLoads: number; + /** + * Gets or sets the condition specifying at what distance from the camera that this model will be displayed. + */ + distanceDisplayCondition: DistanceDisplayCondition; + /** + * The {@link ClippingPlaneCollection} used to selectively disable rendering the model. + */ + clippingPlanes: ClippingPlaneCollection; + /** + * Cesium adds lighting from the earth, sky, atmosphere, and star skybox. This cartesian is used to scale the final + * diffuse and specular lighting contribution from those sources to the final color. A value of 0.0 will disable those light sources. + */ + imageBasedLightingFactor: Cartesian2; + /** + * The light color when shading the model. When undefined the scene's light color is used instead. + *

+ * For example, disabling additional light sources by setting model.imageBasedLightingFactor = new Cesium.Cartesian2(0.0, 0.0) will make the + * model much darker. Here, increasing the intensity of the light source will make the model brighter. + *

+ */ + lightColor: Cartesian3; + /** + * The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map. + * This is used when {@link Model#specularEnvironmentMaps} and {@link Model#sphericalHarmonicCoefficients} are not defined. + */ + luminanceAtZenith: number; + /** + * The third order spherical harmonic coefficients used for the diffuse color of image-based lighting. When undefined, a diffuse irradiance + * computed from the atmosphere color is used. + *

+ * There are nine Cartesian3 coefficients. + * The order of the coefficients is: L00, L1-1, L10, L11, L2-2, L2-1, L20, L21, L22 + *

+ * + * These values can be obtained by preprocessing the environment map using the cmgen tool of + * {@link https://github.com/google/filament/releases|Google's Filament project}. This will also generate a KTX file that can be + * supplied to {@link Model#specularEnvironmentMaps}. + */ + sphericalHarmonicCoefficients: Cartesian3[]; + /** + * A URL to a KTX file that contains a cube map of the specular lighting and the convoluted specular mipmaps. + */ + specularEnvironmentMaps: string; + /** + * Gets the credit that will be displayed for the model + */ + credit: Credit; + /** + * Determines if silhouettes are supported. + * @param scene - The scene. + * @returns true if silhouettes are supported; otherwise, returns false + */ + static silhouetteSupported(scene: Scene): boolean; + /** + *

+ * Creates a model from a glTF asset. When the model is ready to render, i.e., when the external binary, image, + * and shader files are downloaded and the WebGL resources are created, the {@link Model#readyPromise} is resolved. + *

+ *

+ * The model can be a traditional glTF asset with a .gltf extension or a Binary glTF using the .glb extension. + *

+ *

+ * Cesium supports glTF assets with the following extensions: + *

    + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Khronos/KHR_binary_glTF/README.md|KHR_binary_glTF (glTF 1.0)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Khronos/KHR_materials_common/README.md|KHR_materials_common (glTF 1.0)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Vendor/WEB3D_quantized_attributes/README.md|WEB3D_quantized_attributes (glTF 1.0)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/AGI_articulations/README.md|AGI_articulations} + *
  • + * {@link https://github.com/KhronosGroup/glTF/pull/1302|KHR_blend (draft)} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md|KHR_draco_mesh_compression} + *
  • + * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness/README.md|KHR_materials_pbrSpecularGlossiness} + *
  • + * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit/README.md|KHR_materials_unlit} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_techniques_webgl/README.md|KHR_techniques_webgl} + *
  • + * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_transform/README.md|KHR_texture_transform} + *
  • + *
+ *

+ *

+ * For high-precision rendering, Cesium supports the {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Vendor/CESIUM_RTC/README.md|CESIUM_RTC} extension, which introduces the + * CESIUM_RTC_MODELVIEW parameter semantic that says the node is in WGS84 coordinates translated + * relative to a local origin. + *

+ * @example + * // Example 1. Create a model from a glTF asset + * var model = scene.primitives.add(Cesium.Model.fromGltf({ + * url : './duck/duck.gltf' + * })); + * @example + * // Example 2. Create model and provide all properties and events + * var origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0); + * var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin); + * + * var model = scene.primitives.add(Cesium.Model.fromGltf({ + * url : './duck/duck.gltf', + * show : true, // default + * modelMatrix : modelMatrix, + * scale : 2.0, // double size + * minimumPixelSize : 128, // never smaller than 128 pixels + * maximumScale: 20000, // never larger than 20000 * model size (overrides minimumPixelSize) + * allowPicking : false, // not pickable + * debugShowBoundingVolume : false, // default + * debugWireframe : false + * })); + * + * model.readyPromise.then(function(model) { + * // Play all animations when the model is ready to render + * model.activeAnimations.addAll(); + * }); + * @param options - Object with the following properties: + * @param options.url - The url to the .gltf file. + * @param [options.basePath] - The base path that paths in the glTF JSON are relative to. + * @param [options.show = true] - Determines if the model primitive will be shown. + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the model from model to world coordinates. + * @param [options.scale = 1.0] - A uniform scale applied to this model. + * @param [options.minimumPixelSize = 0.0] - The approximate minimum pixel size of the model regardless of zoom. + * @param [options.maximumScale] - The maximum scale for the model. + * @param [options.id] - A user-defined object to return when the model is picked with {@link Scene#pick}. + * @param [options.allowPicking = true] - When true, each glTF mesh and primitive is pickable with {@link Scene#pick}. + * @param [options.incrementallyLoadTextures = true] - Determine if textures may continue to stream in after the model is loaded. + * @param [options.asynchronous = true] - Determines if model WebGL resource creation will be spread out over several frames or block until completion once all glTF files are loaded. + * @param [options.clampAnimations = true] - Determines if the model's animations should hold a pose over frames where no keyframes are specified. + * @param [options.shadows = ShadowMode.ENABLED] - Determines whether the model casts or receives shadows from light sources. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model. + * @param [options.debugWireframe = false] - For debugging only. Draws the model in wireframe. + * @param [options.heightReference = HeightReference.NONE] - Determines how the model is drawn relative to terrain. + * @param [options.scene] - Must be passed in for models that use the height reference property. + * @param [options.distanceDisplayCondition] - The condition specifying at what distance from the camera that this model will be displayed. + * @param [options.color = Color.WHITE] - A color that blends with the model's rendered color. + * @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model. + * @param [options.colorBlendAmount = 0.5] - Value used to determine the color strength when the colorBlendMode is MIX. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two. + * @param [options.silhouetteColor = Color.RED] - The silhouette color. If more than 256 models have silhouettes enabled, there is a small chance that overlapping models will have minor artifacts. + * @param [options.silhouetteSize = 0.0] - The size of the silhouette in pixels. + * @param [options.clippingPlanes] - The {@link ClippingPlaneCollection} used to selectively disable rendering the model. + * @param [options.dequantizeInShader = true] - Determines if a {@link https://github.com/google/draco|Draco} encoded model is dequantized on the GPU. This decreases total memory usage for encoded models. + * @param [options.credit] - A credit for the model, which is displayed on the canvas. + * @param [options.backFaceCulling = true] - Whether to cull back-facing geometry. When true, back face culling is determined by the material's doubleSided property; when false, back face culling is disabled. Back faces are not culled if {@link Model#color} is translucent or {@link Model#silhouetteSize} is greater than 0.0. + * @returns The newly created model. + */ + static fromGltf(options: { + url: Resource | string; + basePath?: Resource | string; + show?: boolean; + modelMatrix?: Matrix4; + scale?: number; + minimumPixelSize?: number; + maximumScale?: number; + id?: any; + allowPicking?: boolean; + incrementallyLoadTextures?: boolean; + asynchronous?: boolean; + clampAnimations?: boolean; + shadows?: ShadowMode; + debugShowBoundingVolume?: boolean; + debugWireframe?: boolean; + heightReference?: HeightReference; + scene?: Scene; + distanceDisplayCondition?: DistanceDisplayCondition; + color?: Color; + colorBlendMode?: ColorBlendMode; + colorBlendAmount?: number; + silhouetteColor?: Color; + silhouetteSize?: number; + clippingPlanes?: ClippingPlaneCollection; + dequantizeInShader?: boolean; + credit?: Credit | string; + backFaceCulling?: boolean; + }): Model; + /** + * Returns the glTF node with the given name property. This is used to + * modify a node's transform for animation outside of glTF animations. + * @example + * // Apply non-uniform scale to node LOD3sp + * var node = model.getNode('LOD3sp'); + * node.matrix = Cesium.Matrix4.fromScale(new Cesium.Cartesian3(5.0, 1.0, 1.0), node.matrix); + * @param name - The glTF name of the node. + * @returns The node or undefined if no node with name exists. + */ + getNode(name: string): ModelNode; + /** + * Returns the glTF mesh with the given name property. + * @param name - The glTF name of the mesh. + * @returns The mesh or undefined if no mesh with name exists. + */ + getMesh(name: string): ModelMesh; + /** + * Returns the glTF material with the given name property. + * @param name - The glTF name of the material. + * @returns The material or undefined if no material with name exists. + */ + getMaterial(name: string): ModelMaterial; + /** + * Sets the current value of an articulation stage. After setting one or multiple stage values, call + * Model.applyArticulations() to cause the node matrices to be recalculated. + * @param articulationStageKey - The name of the articulation, a space, and the name of the stage. + * @param value - The numeric value of this stage of the articulation. + */ + setArticulationStage(articulationStageKey: string, value: number): void; + /** + * Applies any modified articulation stages to the matrix of each node that participates + * in any articulation. Note that this will overwrite any nodeTransformations on participating nodes. + */ + applyArticulations(): void; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * get the draw commands needed to render this primitive. + *

+ * Do not call this function directly. This is documented just to + * list the exceptions that may be propagated when the scene is rendered: + *

+ */ + update(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * model = model && model.destroy(); + */ + destroy(): void; +} + +/** + * An active glTF animation. A glTF asset can contain animations. An active animation + * is an animation that is currently playing or scheduled to be played because it was + * added to a model's {@link ModelAnimationCollection}. An active animation is an + * instance of an animation; for example, there can be multiple active animations + * for the same glTF animation, each with a different start time. + *

+ * Create this by calling {@link ModelAnimationCollection#add}. + *

+ */ +export class ModelAnimation { + constructor(); + /** + * When true, the animation is removed after it stops playing. + * This is slightly more efficient that not removing it, but if, for example, + * time is reversed, the animation is not played again. + */ + removeOnStop: boolean; + /** + * The event fired when this animation is started. This can be used, for + * example, to play a sound or start a particle system, when the animation starts. + *

+ * This event is fired at the end of the frame after the scene is rendered. + *

+ * @example + * animation.start.addEventListener(function(model, animation) { + * console.log('Animation started: ' + animation.name); + * }); + */ + start: Event; + /** + * The event fired when on each frame when this animation is updated. The + * current time of the animation, relative to the glTF animation time span, is + * passed to the event, which allows, for example, starting new animations at a + * specific time relative to a playing animation. + *

+ * This event is fired at the end of the frame after the scene is rendered. + *

+ * @example + * animation.update.addEventListener(function(model, animation, time) { + * console.log('Animation updated: ' + animation.name + '. glTF animation time: ' + time); + * }); + */ + update: Event; + /** + * The event fired when this animation is stopped. This can be used, for + * example, to play a sound or start a particle system, when the animation stops. + *

+ * This event is fired at the end of the frame after the scene is rendered. + *

+ * @example + * animation.stop.addEventListener(function(model, animation) { + * console.log('Animation stopped: ' + animation.name); + * }); + */ + stop: Event; + /** + * The glTF animation name that identifies this animation. + */ + readonly name: string; + /** + * The scene time to start playing this animation. When this is undefined, + * the animation starts at the next frame. + */ + readonly startTime: JulianDate; + /** + * The delay, in seconds, from {@link ModelAnimation#startTime} to start playing. + */ + readonly delay: number; + /** + * The scene time to stop playing this animation. When this is undefined, + * the animation is played for its full duration and perhaps repeated depending on + * {@link ModelAnimation#loop}. + */ + readonly stopTime: JulianDate; + /** + * Values greater than 1.0 increase the speed that the animation is played relative + * to the scene clock speed; values less than 1.0 decrease the speed. A value of + * 1.0 plays the animation at the speed in the glTF animation mapped to the scene + * clock speed. For example, if the scene is played at 2x real-time, a two-second glTF animation + * will play in one second even if multiplier is 1.0. + */ + readonly multiplier: number; + /** + * When true, the animation is played in reverse. + */ + readonly reverse: boolean; + /** + * Determines if and how the animation is looped. + */ + readonly loop: ModelAnimationLoop; +} + +/** + * A collection of active model animations. Access this using {@link Model#activeAnimations}. + */ +export class ModelAnimationCollection { + constructor(); + /** + * The event fired when an animation is added to the collection. This can be used, for + * example, to keep a UI in sync. + * @example + * model.activeAnimations.animationAdded.addEventListener(function(model, animation) { + * console.log('Animation added: ' + animation.name); + * }); + */ + animationAdded: Event; + /** + * The event fired when an animation is removed from the collection. This can be used, for + * example, to keep a UI in sync. + * @example + * model.activeAnimations.animationRemoved.addEventListener(function(model, animation) { + * console.log('Animation removed: ' + animation.name); + * }); + */ + animationRemoved: Event; + /** + * The number of animations in the collection. + */ + readonly length: number; + /** + * Creates and adds an animation with the specified initial properties to the collection. + *

+ * This raises the {@link ModelAnimationCollection#animationAdded} event so, for example, a UI can stay in sync. + *

+ * @example + * // Example 1. Add an animation by name + * model.activeAnimations.add({ + * name : 'animation name' + * }); + * + * // Example 2. Add an animation by index + * model.activeAnimations.add({ + * index : 0 + * }); + * @example + * // Example 3. Add an animation and provide all properties and events + * var startTime = Cesium.JulianDate.now(); + * + * var animation = model.activeAnimations.add({ + * name : 'another animation name', + * startTime : startTime, + * delay : 0.0, // Play at startTime (default) + * stopTime : Cesium.JulianDate.addSeconds(startTime, 4.0, new Cesium.JulianDate()), + * removeOnStop : false, // Do not remove when animation stops (default) + * multiplier : 2.0, // Play at double speed + * reverse : true, // Play in reverse + * loop : Cesium.ModelAnimationLoop.REPEAT // Loop the animation + * }); + * + * animation.start.addEventListener(function(model, animation) { + * console.log('Animation started: ' + animation.name); + * }); + * animation.update.addEventListener(function(model, animation, time) { + * console.log('Animation updated: ' + animation.name + '. glTF animation time: ' + time); + * }); + * animation.stop.addEventListener(function(model, animation) { + * console.log('Animation stopped: ' + animation.name); + * }); + * @param options - Object with the following properties: + * @param [options.name] - The glTF animation name that identifies the animation. Must be defined if options.index is undefined. + * @param [options.index] - The glTF animation index that identifies the animation. Must be defined if options.name is undefined. + * @param [options.startTime] - The scene time to start playing the animation. When this is undefined, the animation starts at the next frame. + * @param [options.delay = 0.0] - The delay, in seconds, from startTime to start playing. + * @param [options.stopTime] - The scene time to stop playing the animation. When this is undefined, the animation is played for its full duration. + * @param [options.removeOnStop = false] - When true, the animation is removed after it stops playing. + * @param [options.multiplier = 1.0] - Values greater than 1.0 increase the speed that the animation is played relative to the scene clock speed; values less than 1.0 decrease the speed. + * @param [options.reverse = false] - When true, the animation is played in reverse. + * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animation is looped. + * @returns The animation that was added to the collection. + */ + add(options: { + name?: string; + index?: number; + startTime?: JulianDate; + delay?: number; + stopTime?: JulianDate; + removeOnStop?: boolean; + multiplier?: number; + reverse?: boolean; + loop?: ModelAnimationLoop; + }): ModelAnimation; + /** + * Creates and adds an animation with the specified initial properties to the collection + * for each animation in the model. + *

+ * This raises the {@link ModelAnimationCollection#animationAdded} event for each model so, for example, a UI can stay in sync. + *

+ * @example + * model.activeAnimations.addAll({ + * multiplier : 0.5, // Play at half-speed + * loop : Cesium.ModelAnimationLoop.REPEAT // Loop the animations + * }); + * @param [options] - Object with the following properties: + * @param [options.startTime] - The scene time to start playing the animations. When this is undefined, the animations starts at the next frame. + * @param [options.delay = 0.0] - The delay, in seconds, from startTime to start playing. + * @param [options.stopTime] - The scene time to stop playing the animations. When this is undefined, the animations are played for its full duration. + * @param [options.removeOnStop = false] - When true, the animations are removed after they stop playing. + * @param [options.multiplier = 1.0] - Values greater than 1.0 increase the speed that the animations play relative to the scene clock speed; values less than 1.0 decrease the speed. + * @param [options.reverse = false] - When true, the animations are played in reverse. + * @param [options.loop = ModelAnimationLoop.NONE] - Determines if and how the animations are looped. + * @returns An array of {@link ModelAnimation} objects, one for each animation added to the collection. If there are no glTF animations, the array is empty. + */ + addAll(options?: { + startTime?: JulianDate; + delay?: number; + stopTime?: JulianDate; + removeOnStop?: boolean; + multiplier?: number; + reverse?: boolean; + loop?: ModelAnimationLoop; + }): ModelAnimation[]; + /** + * Removes an animation from the collection. + *

+ * This raises the {@link ModelAnimationCollection#animationRemoved} event so, for example, a UI can stay in sync. + *

+ *

+ * An animation can also be implicitly removed from the collection by setting {@link ModelAnimation#removeOnStop} to + * true. The {@link ModelAnimationCollection#animationRemoved} event is still fired when the animation is removed. + *

+ * @example + * var a = model.activeAnimations.add({ + * name : 'animation name' + * }); + * model.activeAnimations.remove(a); // Returns true + * @param animation - The animation to remove. + * @returns true if the animation was removed; false if the animation was not found in the collection. + */ + remove(animation: ModelAnimation): boolean; + /** + * Removes all animations from the collection. + *

+ * This raises the {@link ModelAnimationCollection#animationRemoved} event for each + * animation so, for example, a UI can stay in sync. + *

+ */ + removeAll(): void; + /** + * Determines whether this collection contains a given animation. + * @param animation - The animation to check for. + * @returns true if this collection contains the animation, false otherwise. + */ + contains(animation: ModelAnimation): boolean; + /** + * Returns the animation in the collection at the specified index. Indices are zero-based + * and increase as animations are added. Removing an animation shifts all animations after + * it to the left, changing their indices. This function is commonly used to iterate over + * all the animations in the collection. + * @example + * // Output the names of all the animations in the collection. + * var animations = model.activeAnimations; + * var length = animations.length; + * for (var i = 0; i < length; ++i) { + * console.log(animations.get(i).name); + * } + * @param index - The zero-based index of the animation. + * @returns The animation at the specified index. + */ + get(index: number): ModelAnimation; +} + +/** + * Determines if and how a glTF animation is looped. + */ +export enum ModelAnimationLoop { + /** + * Play the animation once; do not loop it. + */ + NONE = 0, + /** + * Loop the animation playing it from the start immediately after it stops. + */ + REPEAT = 1, + /** + * Loop the animation. First, playing it forward, then in reverse, then forward, and so on. + */ + MIRRORED_REPEAT = 2 +} + +/** + * A model's material with modifiable parameters. A glTF material + * contains parameters defined by the material's technique with values + * defined by the technique and potentially overridden by the material. + * This class allows changing these values at runtime. + *

+ * Use {@link Model#getMaterial} to create an instance. + *

+ */ +export class ModelMaterial { + constructor(); + /** + * The value of the name property of this material. + */ + readonly name: string; + /** + * The index of the material. + */ + readonly id: string; + /** + * Assigns a value to a material parameter. The type for value + * depends on the glTF type of the parameter. It will be a floating-point + * number, Cartesian, or matrix. + * @example + * material.setValue('diffuse', new Cesium.Cartesian4(1.0, 0.0, 0.0, 1.0)); // vec4 + * material.setValue('shininess', 256.0); // scalar + * @param name - The name of the parameter. + * @param [value] - The value to assign to the parameter. + */ + setValue(name: string, value?: any): void; + /** + * Returns the value of the parameter with the given name. The type of the + * returned object depends on the glTF type of the parameter. It will be a floating-point + * number, Cartesian, or matrix. + * @param name - The name of the parameter. + * @returns The value of the parameter or undefined if the parameter does not exist. + */ + getValue(name: string): any; +} + +/** + * A model's mesh and its materials. + *

+ * Use {@link Model#getMesh} to create an instance. + *

+ */ +export class ModelMesh { + constructor(); + /** + * The value of the name property of this mesh. + */ + readonly name: string; + /** + * The index of the mesh. + */ + readonly id: string; + /** + * An array of {@link ModelMaterial} instances indexed by the mesh's + * primitive indices. + */ + readonly materials: ModelMaterial[]; +} + +/** + * A model node with a transform for user-defined animations. A glTF asset can + * contain animations that target a node's transform. This class allows + * changing a node's transform externally so animation can be driven by another + * source, not just an animation in the glTF asset. + *

+ * Use {@link Model#getNode} to create an instance. + *

+ * @example + * var node = model.getNode('LOD3sp'); + * node.matrix = Cesium.Matrix4.fromScale(new Cesium.Cartesian3(5.0, 1.0, 1.0), node.matrix); + */ +export class ModelNode { + constructor(); + /** + * The value of the name property of this node. + */ + readonly name: string; + /** + * The index of the node. + */ + readonly id: string; + /** + * Determines if this node and its children will be shown. + */ + show: boolean; + /** + * The node's 4x4 matrix transform from its local coordinates to + * its parent's. + *

+ * For changes to take effect, this property must be assigned to; + * setting individual elements of the matrix will not work. + *

+ */ + matrix: Matrix4; + /** + * Gets the node's original 4x4 matrix transform from its local coordinates to + * its parent's, without any node transformations or articulations applied. + */ + originalMatrix: Matrix4; +} + +/** + * Draws the Moon in 3D. + * @example + * scene.moon = new Cesium.Moon(); + * @param [options] - Object with the following properties: + * @param [options.show = true] - Determines whether the moon will be rendered. + * @param [options.textureUrl = buildModuleUrl('Assets/Textures/moonSmall.jpg')] - The moon texture. + * @param [options.ellipsoid = Ellipsoid.MOON] - The moon ellipsoid. + * @param [options.onlySunLighting = true] - Use the sun as the only light source. + */ +export class Moon { + constructor(options?: { + show?: boolean; + textureUrl?: string; + ellipsoid?: Ellipsoid; + onlySunLighting?: boolean; + }); + /** + * Determines if the moon will be shown. + */ + show: boolean; + /** + * The moon texture. + */ + textureUrl: string; + /** + * Use the sun as the only light source. + */ + onlySunLighting: boolean; + /** + * Get the ellipsoid that defines the shape of the moon. + */ + readonly ellipsoid: Ellipsoid; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * moon = moon && moon.destroy(); + */ + destroy(): void; +} + +/** + * A {@link TileDiscardPolicy} specifying that tile images should never be discard. + */ +export class NeverTileDiscardPolicy { + constructor(); + /** + * Determines if the discard policy is ready to process images. + * @returns True if the discard policy is ready to process images; otherwise, false. + */ + isReady(): boolean; + /** + * Given a tile image, decide whether to discard that image. + * @param image - An image to test. + * @returns True if the image should be discarded; otherwise, false. + */ + shouldDiscardImage(image: HTMLImageElement): boolean; +} + +export namespace OpenStreetMapImageryProvider { + /** + * Initialization options for the OpenStreetMapImageryProvider constructor + * @property [url = 'https://a.tile.openstreetmap.org'] - The OpenStreetMap server url. + * @property [fileExtension = 'png'] - The file extension for images on the server. + * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle of the layer. + * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. + * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit. + * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + * @property [credit = 'MapQuest, Open Street Map and contributors, CC-BY-SA'] - A credit for the data source, which is displayed on the canvas. + */ + type ConstructorOptions = { + url?: string; + fileExtension?: string; + rectangle?: Rectangle; + minimumLevel?: number; + maximumLevel?: number; + ellipsoid?: Ellipsoid; + credit?: Credit | string; + }; +} + +/** + * An imagery provider that provides tiled imagery hosted by OpenStreetMap + * or another provider of Slippy tiles. The default url connects to OpenStreetMap's volunteer-run + * servers, so you must conform to their + * {@link http://wiki.openstreetmap.org/wiki/Tile_usage_policy|Tile Usage Policy}. + * @example + * var osm = new Cesium.OpenStreetMapImageryProvider({ + * url : 'https://a.tile.openstreetmap.org/' + * }); + * @param options - Object describing initialization options + */ +export class OpenStreetMapImageryProvider extends UrlTemplateImageryProvider { + constructor(options: OpenStreetMapImageryProvider.ConstructorOptions); +} + +/** + * A particle emitted by a {@link ParticleSystem}. + * @param options - An object with the following properties: + * @param [options.mass = 1.0] - The mass of the particle in kilograms. + * @param [options.position = Cartesian3.ZERO] - The initial position of the particle in world coordinates. + * @param [options.velocity = Cartesian3.ZERO] - The velocity vector of the particle in world coordinates. + * @param [options.life = Number.MAX_VALUE] - The life of the particle in seconds. + * @param [options.image] - The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard. + * @param [options.startColor = Color.WHITE] - The color of a particle when it is born. + * @param [options.endColor = Color.WHITE] - The color of a particle when it dies. + * @param [options.startScale = 1.0] - The scale of the particle when it is born. + * @param [options.endScale = 1.0] - The scale of the particle when it dies. + * @param [options.imageSize = new Cartesian2(1.0, 1.0)] - The dimensions, width by height, to scale the particle image in pixels. + */ +export class Particle { + constructor(options: { + mass?: number; + position?: Cartesian3; + velocity?: Cartesian3; + life?: number; + image?: any; + startColor?: Color; + endColor?: Color; + startScale?: number; + endScale?: number; + imageSize?: Cartesian2; + }); + /** + * The mass of the particle in kilograms. + */ + mass: number; + /** + * The positon of the particle in world coordinates. + */ + position: Cartesian3; + /** + * The velocity of the particle in world coordinates. + */ + velocity: Cartesian3; + /** + * The life of the particle in seconds. + */ + life: number; + /** + * The image to use for the particle. + */ + image: any; + /** + * The color of the particle when it is born. + */ + startColor: Color; + /** + * The color of the particle when it dies. + */ + endColor: Color; + /** + * the scale of the particle when it is born. + */ + startScale: number; + /** + * The scale of the particle when it dies. + */ + endScale: number; + /** + * The dimensions, width by height, to scale the particle image in pixels. + */ + imageSize: Cartesian2; + /** + * Gets the age of the particle in seconds. + */ + age: number; + /** + * Gets the age normalized to a value in the range [0.0, 1.0]. + */ + normalizedAge: number; +} + +/** + * Represents a burst of {@link Particle}s from a {@link ParticleSystem} at a given time in the systems lifetime. + * @param [options] - An object with the following properties: + * @param [options.time = 0.0] - The time in seconds after the beginning of the particle system's lifetime that the burst will occur. + * @param [options.minimum = 0.0] - The minimum number of particles emmitted in the burst. + * @param [options.maximum = 50.0] - The maximum number of particles emitted in the burst. + */ +export class ParticleBurst { + constructor(options?: { + time?: number; + minimum?: number; + maximum?: number; + }); + /** + * The time in seconds after the beginning of the particle system's lifetime that the burst will occur. + */ + time: number; + /** + * The minimum number of particles emitted. + */ + minimum: number; + /** + * The maximum number of particles emitted. + */ + maximum: number; + /** + * true if the burst has been completed; false otherwise. + */ + complete: boolean; +} + +/** + *

+ * An object that initializes a {@link Particle} from a {@link ParticleSystem}. + *

+ *

+ * This type describes an interface and is not intended to be instantiated directly. + *

+ */ +export class ParticleEmitter { + constructor(); +} + +/** + * A ParticleSystem manages the updating and display of a collection of particles. + * @param [options] - Object with the following properties: + * @param [options.show = true] - Whether to display the particle system. + * @param [options.updateCallback] - The callback function to be called each frame to update a particle. + * @param [options.emitter = new CircleEmitter(0.5)] - The particle emitter for this system. + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the particle system from model to world coordinates. + * @param [options.emitterModelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the particle system emitter within the particle systems local coordinate system. + * @param [options.emissionRate = 5] - The number of particles to emit per second. + * @param [options.bursts] - An array of {@link ParticleBurst}, emitting bursts of particles at periodic times. + * @param [options.loop = true] - Whether the particle system should loop its bursts when it is complete. + * @param [options.scale = 1.0] - Sets the scale to apply to the image of the particle for the duration of its particleLife. + * @param [options.startScale] - The initial scale to apply to the image of the particle at the beginning of its life. + * @param [options.endScale] - The final scale to apply to the image of the particle at the end of its life. + * @param [options.color = Color.WHITE] - Sets the color of a particle for the duration of its particleLife. + * @param [options.startColor] - The color of the particle at the beginning of its life. + * @param [options.endColor] - The color of the particle at the end of its life. + * @param [options.image] - The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard. + * @param [options.imageSize = new Cartesian2(1.0, 1.0)] - If set, overrides the minimumImageSize and maximumImageSize inputs that scale the particle image's dimensions in pixels. + * @param [options.minimumImageSize] - Sets the minimum bound, width by height, above which to randomly scale the particle image's dimensions in pixels. + * @param [options.maximumImageSize] - Sets the maximum bound, width by height, below which to randomly scale the particle image's dimensions in pixels. + * @param [options.sizeInMeters] - Sets if the size of particles is in meters or pixels. true to size the particles in meters; otherwise, the size is in pixels. + * @param [options.speed = 1.0] - If set, overrides the minimumSpeed and maximumSpeed inputs with this value. + * @param [options.minimumSpeed] - Sets the minimum bound in meters per second above which a particle's actual speed will be randomly chosen. + * @param [options.maximumSpeed] - Sets the maximum bound in meters per second below which a particle's actual speed will be randomly chosen. + * @param [options.lifetime = Number.MAX_VALUE] - How long the particle system will emit particles, in seconds. + * @param [options.particleLife = 5.0] - If set, overrides the minimumParticleLife and maximumParticleLife inputs with this value. + * @param [options.minimumParticleLife] - Sets the minimum bound in seconds for the possible duration of a particle's life above which a particle's actual life will be randomly chosen. + * @param [options.maximumParticleLife] - Sets the maximum bound in seconds for the possible duration of a particle's life below which a particle's actual life will be randomly chosen. + * @param [options.mass = 1.0] - Sets the minimum and maximum mass of particles in kilograms. + * @param [options.minimumMass] - Sets the minimum bound for the mass of a particle in kilograms. A particle's actual mass will be chosen as a random amount above this value. + * @param [options.maximumMass] - Sets the maximum mass of particles in kilograms. A particle's actual mass will be chosen as a random amount below this value. + */ +export class ParticleSystem { + constructor(options?: { + show?: boolean; + updateCallback?: ParticleSystem.updateCallback; + emitter?: ParticleEmitter; + modelMatrix?: Matrix4; + emitterModelMatrix?: Matrix4; + emissionRate?: number; + bursts?: ParticleBurst[]; + loop?: boolean; + scale?: number; + startScale?: number; + endScale?: number; + color?: Color; + startColor?: Color; + endColor?: Color; + image?: any; + imageSize?: Cartesian2; + minimumImageSize?: Cartesian2; + maximumImageSize?: Cartesian2; + sizeInMeters?: boolean; + speed?: number; + minimumSpeed?: number; + maximumSpeed?: number; + lifetime?: number; + particleLife?: number; + minimumParticleLife?: number; + maximumParticleLife?: number; + mass?: number; + minimumMass?: number; + maximumMass?: number; + }); + /** + * Whether to display the particle system. + */ + show: boolean; + /** + * An array of force callbacks. The callback is passed a {@link Particle} and the difference from the last time + */ + updateCallback: ParticleSystem.updateCallback; + /** + * Whether the particle system should loop it's bursts when it is complete. + */ + loop: boolean; + /** + * The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard. + */ + image: any; + /** + * The particle emitter for this + */ + emitter: ParticleEmitter; + /** + * An array of {@link ParticleBurst}, emitting bursts of particles at periodic times. + */ + bursts: ParticleBurst[]; + /** + * The 4x4 transformation matrix that transforms the particle system from model to world coordinates. + */ + modelMatrix: Matrix4; + /** + * The 4x4 transformation matrix that transforms the particle system emitter within the particle systems local coordinate system. + */ + emitterModelMatrix: Matrix4; + /** + * The color of the particle at the beginning of its life. + */ + startColor: Color; + /** + * The color of the particle at the end of its life. + */ + endColor: Color; + /** + * The initial scale to apply to the image of the particle at the beginning of its life. + */ + startScale: number; + /** + * The final scale to apply to the image of the particle at the end of its life. + */ + endScale: number; + /** + * The number of particles to emit per second. + */ + emissionRate: number; + /** + * Sets the minimum bound in meters per second above which a particle's actual speed will be randomly chosen. + */ + minimumSpeed: number; + /** + * Sets the maximum bound in meters per second below which a particle's actual speed will be randomly chosen. + */ + maximumSpeed: number; + /** + * Sets the minimum bound in seconds for the possible duration of a particle's life above which a particle's actual life will be randomly chosen. + */ + minimumParticleLife: number; + /** + * Sets the maximum bound in seconds for the possible duration of a particle's life below which a particle's actual life will be randomly chosen. + */ + maximumParticleLife: number; + /** + * Sets the minimum mass of particles in kilograms. + */ + minimumMass: number; + /** + * Sets the maximum mass of particles in kilograms. + */ + maximumMass: number; + /** + * Sets the minimum bound, width by height, above which to randomly scale the particle image's dimensions in pixels. + */ + minimumImageSize: Cartesian2; + /** + * Sets the maximum bound, width by height, below which to randomly scale the particle image's dimensions in pixels. + */ + maximumImageSize: Cartesian2; + /** + * Gets or sets if the particle size is in meters or pixels. true to size particles in meters; otherwise, the size is in pixels. + */ + sizeInMeters: boolean; + /** + * How long the particle system will emit particles, in seconds. + */ + lifetime: number; + /** + * Fires an event when the particle system has reached the end of its lifetime. + */ + complete: Event; + /** + * When true, the particle system has reached the end of its lifetime; false otherwise. + */ + isComplete: boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + */ + destroy(): void; +} + +export namespace ParticleSystem { + /** + * A function used to modify attributes of the particle at each time step. This can include force modifications, + * color, sizing, etc. + * @example + * function applyGravity(particle, dt) { + * var position = particle.position; + * var gravityVector = Cesium.Cartesian3.normalize(position, new Cesium.Cartesian3()); + * Cesium.Cartesian3.multiplyByScalar(gravityVector, GRAVITATIONAL_CONSTANT * dt, gravityVector); + * particle.velocity = Cesium.Cartesian3.add(particle.velocity, gravityVector, particle.velocity); + * } + * @param particle - The particle being updated. + * @param dt - The time in seconds since the last update. + */ + type updateCallback = (particle: Particle, dt: number) => void; +} + +/** + * An appearance for {@link GeometryInstance} instances with color attributes. + * This allows several geometry instances, each with a different color, to + * be drawn with the same {@link Primitive} as shown in the second example below. + * @example + * // A solid white line segment + * var primitive = new Cesium.Primitive({ + * geometryInstances : new Cesium.GeometryInstance({ + * geometry : new Cesium.SimplePolylineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * 0.0, 0.0, + * 5.0, 0.0 + * ]) + * }), + * attributes : { + * color : Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color(1.0, 1.0, 1.0, 1.0)) + * } + * }), + * appearance : new Cesium.PerInstanceColorAppearance({ + * flat : true, + * translucent : false + * }) + * }); + * + * // Two rectangles in a primitive, each with a different color + * var instance = new Cesium.GeometryInstance({ + * geometry : new Cesium.RectangleGeometry({ + * rectangle : Cesium.Rectangle.fromDegrees(0.0, 20.0, 10.0, 30.0) + * }), + * attributes : { + * color : new Cesium.ColorGeometryInstanceAttribute(1.0, 0.0, 0.0, 0.5) + * } + * }); + * + * var anotherInstance = new Cesium.GeometryInstance({ + * geometry : new Cesium.RectangleGeometry({ + * rectangle : Cesium.Rectangle.fromDegrees(0.0, 40.0, 10.0, 50.0) + * }), + * attributes : { + * color : new Cesium.ColorGeometryInstanceAttribute(0.0, 0.0, 1.0, 0.5) + * } + * }); + * + * var rectanglePrimitive = new Cesium.Primitive({ + * geometryInstances : [instance, anotherInstance], + * appearance : new Cesium.PerInstanceColorAppearance() + * }); + * @param [options] - Object with the following properties: + * @param [options.flat = false] - When true, flat shading is used in the fragment shader, which means lighting is not taking into account. + * @param [options.faceForward = !options.closed] - When true, the fragment shader flips the surface normal as needed to ensure that the normal faces the viewer to avoid dark spots. This is useful when both sides of a geometry should be shaded like {@link WallGeometry}. + * @param [options.translucent = true] - When true, the geometry is expected to appear translucent so {@link PerInstanceColorAppearance#renderState} has alpha blending enabled. + * @param [options.closed = false] - When true, the geometry is expected to be closed so {@link PerInstanceColorAppearance#renderState} has backface culling enabled. + * @param [options.vertexShaderSource] - Optional GLSL vertex shader source to override the default vertex shader. + * @param [options.fragmentShaderSource] - Optional GLSL fragment shader source to override the default fragment shader. + * @param [options.renderState] - Optional render state to override the default render state. + */ +export class PerInstanceColorAppearance { + constructor(options?: { + flat?: boolean; + faceForward?: boolean; + translucent?: boolean; + closed?: boolean; + vertexShaderSource?: string; + fragmentShaderSource?: string; + renderState?: any; + }); + /** + * This property is part of the {@link Appearance} interface, but is not + * used by {@link PerInstanceColorAppearance} since a fully custom fragment shader is used. + */ + material: Material; + /** + * When true, the geometry is expected to appear translucent so + * {@link PerInstanceColorAppearance#renderState} has alpha blending enabled. + */ + translucent: boolean; + /** + * The GLSL source code for the vertex shader. + */ + readonly vertexShaderSource: string; + /** + * The GLSL source code for the fragment shader. + */ + readonly fragmentShaderSource: string; + /** + * The WebGL fixed-function state to use when rendering the geometry. + *

+ * The render state can be explicitly defined when constructing a {@link PerInstanceColorAppearance} + * instance, or it is set implicitly via {@link PerInstanceColorAppearance#translucent} + * and {@link PerInstanceColorAppearance#closed}. + *

+ */ + readonly renderState: any; + /** + * When true, the geometry is expected to be closed so + * {@link PerInstanceColorAppearance#renderState} has backface culling enabled. + * If the viewer enters the geometry, it will not be visible. + */ + readonly closed: boolean; + /** + * The {@link VertexFormat} that this appearance instance is compatible with. + * A geometry can have more vertex attributes and still be compatible - at a + * potential performance cost - but it can't have less. + */ + readonly vertexFormat: VertexFormat; + /** + * When true, flat shading is used in the fragment shader, + * which means lighting is not taking into account. + */ + readonly flat: boolean; + /** + * When true, the fragment shader flips the surface normal + * as needed to ensure that the normal faces the viewer to avoid + * dark spots. This is useful when both sides of a geometry should be + * shaded like {@link WallGeometry}. + */ + readonly faceForward: boolean; + /** + * The {@link VertexFormat} that all {@link PerInstanceColorAppearance} instances + * are compatible with. This requires only position and normal + * attributes. + */ + static readonly VERTEX_FORMAT: VertexFormat; + /** + * The {@link VertexFormat} that all {@link PerInstanceColorAppearance} instances + * are compatible with when {@link PerInstanceColorAppearance#flat} is true. + * This requires only a position attribute. + */ + static readonly FLAT_VERTEX_FORMAT: VertexFormat; + /** + * Procedurally creates the full GLSL fragment shader source. For {@link PerInstanceColorAppearance}, + * this is derived from {@link PerInstanceColorAppearance#fragmentShaderSource}, {@link PerInstanceColorAppearance#flat}, + * and {@link PerInstanceColorAppearance#faceForward}. + * @returns The full GLSL fragment shader source. + */ + getFragmentShaderSource(): string; + /** + * Determines if the geometry is translucent based on {@link PerInstanceColorAppearance#translucent}. + * @returns true if the appearance is translucent. + */ + isTranslucent(): boolean; + /** + * Creates a render state. This is not the final render state instance; instead, + * it can contain a subset of render state properties identical to the render state + * created in the context. + * @returns The render state. + */ + getRenderState(): any; +} + +/** + * Options for performing point attenuation based on geometric error when rendering + * point clouds using 3D Tiles. + * @param [options] - Object with the following properties: + * @param [options.attenuation = false] - Perform point attenuation based on geometric error. + * @param [options.geometricErrorScale = 1.0] - Scale to be applied to each tile's geometric error. + * @param [options.maximumAttenuation] - Maximum attenuation in pixels. Defaults to the Cesium3DTileset's maximumScreenSpaceError. + * @param [options.baseResolution] - Average base resolution for the dataset in meters. Substitute for Geometric Error when not available. + * @param [options.eyeDomeLighting = true] - When true, use eye dome lighting when drawing with point attenuation. + * @param [options.eyeDomeLightingStrength = 1.0] - Increasing this value increases contrast on slopes and edges. + * @param [options.eyeDomeLightingRadius = 1.0] - Increase the thickness of contours from eye dome lighting. + * @param [options.backFaceCulling = false] - Determines whether back-facing points are hidden. This option works only if data has normals included. + * @param [options.normalShading = true] - Determines whether a point cloud that contains normals is shaded by the scene's light source. + */ +export class PointCloudShading { + constructor(options?: { + attenuation?: boolean; + geometricErrorScale?: number; + maximumAttenuation?: number; + baseResolution?: number; + eyeDomeLighting?: boolean; + eyeDomeLightingStrength?: number; + eyeDomeLightingRadius?: number; + backFaceCulling?: boolean; + normalShading?: boolean; + }); + /** + * Perform point attenuation based on geometric error. + */ + attenuation: boolean; + /** + * Scale to be applied to the geometric error before computing attenuation. + */ + geometricErrorScale: number; + /** + * Maximum point attenuation in pixels. If undefined, the Cesium3DTileset's maximumScreenSpaceError will be used. + */ + maximumAttenuation: number; + /** + * Average base resolution for the dataset in meters. + * Used in place of geometric error when geometric error is 0. + * If undefined, an approximation will be computed for each tile that has geometric error of 0. + */ + baseResolution: number; + /** + * Use eye dome lighting when drawing with point attenuation + * Requires support for EXT_frag_depth, OES_texture_float, and WEBGL_draw_buffers extensions in WebGL 1.0, + * otherwise eye dome lighting is ignored. + */ + eyeDomeLighting: boolean; + /** + * Eye dome lighting strength (apparent contrast) + */ + eyeDomeLightingStrength: number; + /** + * Thickness of contours from eye dome lighting + */ + eyeDomeLightingRadius: number; + /** + * Determines whether back-facing points are hidden. + * This option works only if data has normals included. + */ + backFaceCulling: boolean; + /** + * Determines whether a point cloud that contains normals is shaded by the scene's light source. + */ + normalShading: boolean; + /** + * Determines if point cloud shading is supported. + * @param scene - The scene. + * @returns true if point cloud shading is supported; otherwise, returns false + */ + static isSupported(scene: Scene): boolean; +} + +/** + * A graphical point positioned in the 3D scene, that is created + * and rendered using a {@link PointPrimitiveCollection}. A point is created and its initial + * properties are set by calling {@link PointPrimitiveCollection#add}. + */ +export class PointPrimitive { + constructor(); + /** + * Determines if this point will be shown. Use this to hide or show a point, instead + * of removing it and re-adding it to the collection. + */ + show: boolean; + /** + * Gets or sets the Cartesian position of this point. + */ + position: Cartesian3; + /** + * Gets or sets near and far scaling properties of a point based on the point's distance from the camera. + * A point's scale will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the point's scale remains clamped to the nearest bound. This scale + * multiplies the pixelSize and outlineWidth to affect the total size of the point. If undefined, + * scaleByDistance will be disabled. + * @example + * // Example 1. + * // Set a pointPrimitive's scaleByDistance to scale to 15 when the + * // camera is 1500 meters from the pointPrimitive and disappear as + * // the camera distance approaches 8.0e6 meters. + * p.scaleByDistance = new Cesium.NearFarScalar(1.5e2, 15, 8.0e6, 0.0); + * @example + * // Example 2. + * // disable scaling by distance + * p.scaleByDistance = undefined; + */ + scaleByDistance: NearFarScalar; + /** + * Gets or sets near and far translucency properties of a point based on the point's distance from the camera. + * A point's translucency will interpolate between the {@link NearFarScalar#nearValue} and + * {@link NearFarScalar#farValue} while the camera distance falls within the lower and upper bounds + * of the specified {@link NearFarScalar#near} and {@link NearFarScalar#far}. + * Outside of these ranges the point's translucency remains clamped to the nearest bound. If undefined, + * translucencyByDistance will be disabled. + * @example + * // Example 1. + * // Set a point's translucency to 1.0 when the + * // camera is 1500 meters from the point and disappear as + * // the camera distance approaches 8.0e6 meters. + * p.translucencyByDistance = new Cesium.NearFarScalar(1.5e2, 1.0, 8.0e6, 0.0); + * @example + * // Example 2. + * // disable translucency by distance + * p.translucencyByDistance = undefined; + */ + translucencyByDistance: NearFarScalar; + /** + * Gets or sets the inner size of the point in pixels. + */ + pixelSize: number; + /** + * Gets or sets the inner color of the point. + * The red, green, blue, and alpha values are indicated by value's red, green, + * blue, and alpha properties as shown in Example 1. These components range from 0.0 + * (no intensity) to 1.0 (full intensity). + * @example + * // Example 1. Assign yellow. + * p.color = Cesium.Color.YELLOW; + * @example + * // Example 2. Make a pointPrimitive 50% translucent. + * p.color = new Cesium.Color(1.0, 1.0, 1.0, 0.5); + */ + color: Color; + /** + * Gets or sets the outline color of the point. + */ + outlineColor: Color; + /** + * Gets or sets the outline width in pixels. This width adds to pixelSize, + * increasing the total size of the point. + */ + outlineWidth: number; + /** + * Gets or sets the condition specifying at what distance from the camera that this point will be displayed. + */ + distanceDisplayCondition: DistanceDisplayCondition; + /** + * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain. + * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied. + */ + disableDepthTestDistance: number; + /** + * Gets or sets the user-defined value returned when the point is picked. + */ + id: any; + /** + * Computes the screen-space position of the point's origin. + * The screen space origin is the top, left corner of the canvas; x increases from + * left to right, and y increases from top to bottom. + * @example + * console.log(p.computeScreenSpacePosition(scene).toString()); + * @param scene - The scene. + * @param [result] - The object onto which to store the result. + * @returns The screen-space position of the point. + */ + computeScreenSpacePosition(scene: Scene, result?: Cartesian2): Cartesian2; + /** + * Determines if this point equals another point. Points are equal if all their properties + * are equal. Points in different collections can be equal. + * @param other - The point to compare for equality. + * @returns true if the points are equal; otherwise, false. + */ + equals(other: PointPrimitive): boolean; +} + +/** + * A renderable collection of points. + *

+ * Points are added and removed from the collection using {@link PointPrimitiveCollection#add} + * and {@link PointPrimitiveCollection#remove}. + * @example + * // Create a pointPrimitive collection with two points + * var points = scene.primitives.add(new Cesium.PointPrimitiveCollection()); + * points.add({ + * position : new Cesium.Cartesian3(1.0, 2.0, 3.0), + * color : Cesium.Color.YELLOW + * }); + * points.add({ + * position : new Cesium.Cartesian3(4.0, 5.0, 6.0), + * color : Cesium.Color.CYAN + * }); + * @param [options] - Object with the following properties: + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms each point from model to world coordinates. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown. + * @param [options.blendOption = BlendOption.OPAQUE_AND_TRANSLUCENT] - The point blending option. The default + * is used for rendering both opaque and translucent points. However, if either all of the points are completely opaque or all are completely translucent, + * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve performance by up to 2x. + */ +export class PointPrimitiveCollection { + constructor(options?: { + modelMatrix?: Matrix4; + debugShowBoundingVolume?: boolean; + blendOption?: BlendOption; + }); + /** + * The 4x4 transformation matrix that transforms each point in this collection from model to world coordinates. + * When this is the identity matrix, the pointPrimitives are drawn in world coordinates, i.e., Earth's WGS84 coordinates. + * Local reference frames can be used by providing a different transformation matrix, like that returned + * by {@link Transforms.eastNorthUpToFixedFrame}. + * @example + * var center = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883); + * pointPrimitives.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center); + * pointPrimitives.add({ + * color : Cesium.Color.ORANGE, + * position : new Cesium.Cartesian3(0.0, 0.0, 0.0) // center + * }); + * pointPrimitives.add({ + * color : Cesium.Color.YELLOW, + * position : new Cesium.Cartesian3(1000000.0, 0.0, 0.0) // east + * }); + * pointPrimitives.add({ + * color : Cesium.Color.GREEN, + * position : new Cesium.Cartesian3(0.0, 1000000.0, 0.0) // north + * }); + * pointPrimitives.add({ + * color : Cesium.Color.CYAN, + * position : new Cesium.Cartesian3(0.0, 0.0, 1000000.0) // up + * }); + */ + modelMatrix: Matrix4; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the bounding sphere for each draw command in the primitive. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * The point blending option. The default is used for rendering both opaque and translucent points. + * However, if either all of the points are completely opaque or all are completely translucent, + * setting the technique to BlendOption.OPAQUE or BlendOption.TRANSLUCENT can improve + * performance by up to 2x. + */ + blendOption: BlendOption; + /** + * Returns the number of points in this collection. This is commonly used with + * {@link PointPrimitiveCollection#get} to iterate over all the points + * in the collection. + */ + length: number; + /** + * Creates and adds a point with the specified initial properties to the collection. + * The added point is returned so it can be modified or removed from the collection later. + * @example + * // Example 1: Add a point, specifying all the default values. + * var p = pointPrimitives.add({ + * show : true, + * position : Cesium.Cartesian3.ZERO, + * pixelSize : 10.0, + * color : Cesium.Color.WHITE, + * outlineColor : Cesium.Color.TRANSPARENT, + * outlineWidth : 0.0, + * id : undefined + * }); + * @example + * // Example 2: Specify only the point's cartographic position. + * var p = pointPrimitives.add({ + * position : Cesium.Cartesian3.fromDegrees(longitude, latitude, height) + * }); + * @param [options] - A template describing the point's properties as shown in Example 1. + * @returns The point that was added to the collection. + */ + add(options?: any): PointPrimitive; + /** + * Removes a point from the collection. + * @example + * var p = pointPrimitives.add(...); + * pointPrimitives.remove(p); // Returns true + * @param pointPrimitive - The point to remove. + * @returns true if the point was removed; false if the point was not found in the collection. + */ + remove(pointPrimitive: PointPrimitive): boolean; + /** + * Removes all points from the collection. + * @example + * pointPrimitives.add(...); + * pointPrimitives.add(...); + * pointPrimitives.removeAll(); + */ + removeAll(): void; + /** + * Check whether this collection contains a given point. + * @param [pointPrimitive] - The point to check for. + * @returns true if this collection contains the point, false otherwise. + */ + contains(pointPrimitive?: PointPrimitive): boolean; + /** + * Returns the point in the collection at the specified index. Indices are zero-based + * and increase as points are added. Removing a point shifts all points after + * it to the left, changing their indices. This function is commonly used with + * {@link PointPrimitiveCollection#length} to iterate over all the points + * in the collection. + * @example + * // Toggle the show property of every point in the collection + * var len = pointPrimitives.length; + * for (var i = 0; i < len; ++i) { + * var p = pointPrimitives.get(i); + * p.show = !p.show; + * } + * @param index - The zero-based index of the point. + * @returns The point at the specified index. + */ + get(index: number): PointPrimitive; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * pointPrimitives = pointPrimitives && pointPrimitives.destroy(); + */ + destroy(): void; +} + +/** + * A renderable polyline. Create this by calling {@link PolylineCollection#add} + * @param options - Object with the following properties: + * @param [options.show = true] - true if this polyline will be shown; otherwise, false. + * @param [options.width = 1.0] - The width of the polyline in pixels. + * @param [options.loop = false] - Whether a line segment will be added between the last and first line positions to make this line a loop. + * @param [options.material = Material.ColorType] - The material. + * @param [options.positions] - The positions. + * @param [options.id] - The user-defined object to be returned when this polyline is picked. + * @param [options.distanceDisplayCondition] - The condition specifying at what distance from the camera that this polyline will be displayed. + * @param polylineCollection - The renderable polyline collection. + */ +export class Polyline { + constructor(options: { + show?: boolean; + width?: number; + loop?: boolean; + material?: Material; + positions?: Cartesian3[]; + id?: any; + distanceDisplayCondition?: DistanceDisplayCondition; + }, polylineCollection: PolylineCollection); + /** + * Determines if this polyline will be shown. Use this to hide or show a polyline, instead + * of removing it and re-adding it to the collection. + */ + show: boolean; + /** + * Gets or sets the positions of the polyline. + * @example + * polyline.positions = Cesium.Cartesian3.fromDegreesArray([ + * 0.0, 0.0, + * 10.0, 0.0, + * 0.0, 20.0 + * ]); + */ + positions: Cartesian3[]; + /** + * Gets or sets the surface appearance of the polyline. This can be one of several built-in {@link Material} objects or a custom material, scripted with + * {@link https://github.com/CesiumGS/cesium/wiki/Fabric|Fabric}. + */ + material: Material; + /** + * Gets or sets the width of the polyline. + */ + width: number; + /** + * Gets or sets whether a line segment will be added between the first and last polyline positions. + */ + loop: boolean; + /** + * Gets or sets the user-defined value returned when the polyline is picked. + */ + id: any; + /** + * Gets or sets the condition specifying at what distance from the camera that this polyline will be displayed. + */ + distanceDisplayCondition: DistanceDisplayCondition; +} + +/** + * A renderable collection of polylines. + *

+ *
+ *
+ * Example polylines + *
+ *

+ * Polylines are added and removed from the collection using {@link PolylineCollection#add} + * and {@link PolylineCollection#remove}. + * @example + * // Create a polyline collection with two polylines + * var polylines = new Cesium.PolylineCollection(); + * polylines.add({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * -75.10, 39.57, + * -77.02, 38.53, + * -80.50, 35.14, + * -80.12, 25.46]), + * width : 2 + * }); + * + * polylines.add({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * -73.10, 37.57, + * -75.02, 36.53, + * -78.50, 33.14, + * -78.12, 23.46]), + * width : 4 + * }); + * @param [options] - Object with the following properties: + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms each polyline from model to world coordinates. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown. + */ +export class PolylineCollection { + constructor(options?: { + modelMatrix?: Matrix4; + debugShowBoundingVolume?: boolean; + }); + /** + * The 4x4 transformation matrix that transforms each polyline in this collection from model to world coordinates. + * When this is the identity matrix, the polylines are drawn in world coordinates, i.e., Earth's WGS84 coordinates. + * Local reference frames can be used by providing a different transformation matrix, like that returned + * by {@link Transforms.eastNorthUpToFixedFrame}. + */ + modelMatrix: Matrix4; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the bounding sphere for each draw command in the primitive. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * Returns the number of polylines in this collection. This is commonly used with + * {@link PolylineCollection#get} to iterate over all the polylines + * in the collection. + */ + length: number; + /** + * Creates and adds a polyline with the specified initial properties to the collection. + * The added polyline is returned so it can be modified or removed from the collection later. + * @example + * // Example 1: Add a polyline, specifying all the default values. + * var p = polylines.add({ + * show : true, + * positions : ellipsoid.cartographicArrayToCartesianArray([ + * Cesium.Cartographic.fromDegrees(-75.10, 39.57), + * Cesium.Cartographic.fromDegrees(-77.02, 38.53)]), + * width : 1 + * }); + * @param [options] - A template describing the polyline's properties as shown in Example 1. + * @returns The polyline that was added to the collection. + */ + add(options?: any): Polyline; + /** + * Removes a polyline from the collection. + * @example + * var p = polylines.add(...); + * polylines.remove(p); // Returns true + * @param polyline - The polyline to remove. + * @returns true if the polyline was removed; false if the polyline was not found in the collection. + */ + remove(polyline: Polyline): boolean; + /** + * Removes all polylines from the collection. + * @example + * polylines.add(...); + * polylines.add(...); + * polylines.removeAll(); + */ + removeAll(): void; + /** + * Determines if this collection contains the specified polyline. + * @param polyline - The polyline to check for. + * @returns true if this collection contains the polyline, false otherwise. + */ + contains(polyline: Polyline): boolean; + /** + * Returns the polyline in the collection at the specified index. Indices are zero-based + * and increase as polylines are added. Removing a polyline shifts all polylines after + * it to the left, changing their indices. This function is commonly used with + * {@link PolylineCollection#length} to iterate over all the polylines + * in the collection. + * @example + * // Toggle the show property of every polyline in the collection + * var len = polylines.length; + * for (var i = 0; i < len; ++i) { + * var p = polylines.get(i); + * p.show = !p.show; + * } + * @param index - The zero-based index of the polyline. + * @returns The polyline at the specified index. + */ + get(index: number): Polyline; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * get the draw commands needed to render this primitive. + *

+ * Do not call this function directly. This is documented just to + * list the exceptions that may be propagated when the scene is rendered: + *

+ */ + update(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * polylines = polylines && polylines.destroy(); + */ + destroy(): void; +} + +/** + * An appearance for {@link GeometryInstance} instances with color attributes and + * {@link PolylineGeometry} or {@link GroundPolylineGeometry}. + * This allows several geometry instances, each with a different color, to + * be drawn with the same {@link Primitive}. + * @example + * // A solid white line segment + * var primitive = new Cesium.Primitive({ + * geometryInstances : new Cesium.GeometryInstance({ + * geometry : new Cesium.PolylineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * 0.0, 0.0, + * 5.0, 0.0 + * ]), + * width : 10.0, + * vertexFormat : Cesium.PolylineColorAppearance.VERTEX_FORMAT + * }), + * attributes : { + * color : Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color(1.0, 1.0, 1.0, 1.0)) + * } + * }), + * appearance : new Cesium.PolylineColorAppearance({ + * translucent : false + * }) + * }); + * @param [options] - Object with the following properties: + * @param [options.translucent = true] - When true, the geometry is expected to appear translucent so {@link PolylineColorAppearance#renderState} has alpha blending enabled. + * @param [options.vertexShaderSource] - Optional GLSL vertex shader source to override the default vertex shader. + * @param [options.fragmentShaderSource] - Optional GLSL fragment shader source to override the default fragment shader. + * @param [options.renderState] - Optional render state to override the default render state. + */ +export class PolylineColorAppearance { + constructor(options?: { + translucent?: boolean; + vertexShaderSource?: string; + fragmentShaderSource?: string; + renderState?: any; + }); + /** + * This property is part of the {@link Appearance} interface, but is not + * used by {@link PolylineColorAppearance} since a fully custom fragment shader is used. + */ + material: Material; + /** + * When true, the geometry is expected to appear translucent so + * {@link PolylineColorAppearance#renderState} has alpha blending enabled. + */ + translucent: boolean; + /** + * The GLSL source code for the vertex shader. + */ + readonly vertexShaderSource: string; + /** + * The GLSL source code for the fragment shader. + */ + readonly fragmentShaderSource: string; + /** + * The WebGL fixed-function state to use when rendering the geometry. + *

+ * The render state can be explicitly defined when constructing a {@link PolylineColorAppearance} + * instance, or it is set implicitly via {@link PolylineColorAppearance#translucent}. + *

+ */ + readonly renderState: any; + /** + * When true, the geometry is expected to be closed so + * {@link PolylineColorAppearance#renderState} has backface culling enabled. + * This is always false for PolylineColorAppearance. + */ + readonly closed: boolean; + /** + * The {@link VertexFormat} that this appearance instance is compatible with. + * A geometry can have more vertex attributes and still be compatible - at a + * potential performance cost - but it can't have less. + */ + readonly vertexFormat: VertexFormat; + /** + * The {@link VertexFormat} that all {@link PolylineColorAppearance} instances + * are compatible with. This requires only a position attribute. + */ + static readonly VERTEX_FORMAT: VertexFormat; + /** + * Procedurally creates the full GLSL fragment shader source. + * @returns The full GLSL fragment shader source. + */ + getFragmentShaderSource(): string; + /** + * Determines if the geometry is translucent based on {@link PolylineColorAppearance#translucent}. + * @returns true if the appearance is translucent. + */ + isTranslucent(): boolean; + /** + * Creates a render state. This is not the final render state instance; instead, + * it can contain a subset of render state properties identical to the render state + * created in the context. + * @returns The render state. + */ + getRenderState(): any; +} + +/** + * An appearance for {@link PolylineGeometry} that supports shading with materials. + * @example + * var primitive = new Cesium.Primitive({ + * geometryInstances : new Cesium.GeometryInstance({ + * geometry : new Cesium.PolylineGeometry({ + * positions : Cesium.Cartesian3.fromDegreesArray([ + * 0.0, 0.0, + * 5.0, 0.0 + * ]), + * width : 10.0, + * vertexFormat : Cesium.PolylineMaterialAppearance.VERTEX_FORMAT + * }) + * }), + * appearance : new Cesium.PolylineMaterialAppearance({ + * material : Cesium.Material.fromType('Color') + * }) + * }); + * @param [options] - Object with the following properties: + * @param [options.translucent = true] - When true, the geometry is expected to appear translucent so {@link PolylineMaterialAppearance#renderState} has alpha blending enabled. + * @param [options.material = Material.ColorType] - The material used to determine the fragment color. + * @param [options.vertexShaderSource] - Optional GLSL vertex shader source to override the default vertex shader. + * @param [options.fragmentShaderSource] - Optional GLSL fragment shader source to override the default fragment shader. + * @param [options.renderState] - Optional render state to override the default render state. + */ +export class PolylineMaterialAppearance { + constructor(options?: { + translucent?: boolean; + material?: Material; + vertexShaderSource?: string; + fragmentShaderSource?: string; + renderState?: any; + }); + /** + * The material used to determine the fragment color. Unlike other {@link PolylineMaterialAppearance} + * properties, this is not read-only, so an appearance's material can change on the fly. + */ + material: Material; + /** + * When true, the geometry is expected to appear translucent so + * {@link PolylineMaterialAppearance#renderState} has alpha blending enabled. + */ + translucent: boolean; + /** + * The GLSL source code for the vertex shader. + */ + readonly vertexShaderSource: string; + /** + * The GLSL source code for the fragment shader. + */ + readonly fragmentShaderSource: string; + /** + * The WebGL fixed-function state to use when rendering the geometry. + *

+ * The render state can be explicitly defined when constructing a {@link PolylineMaterialAppearance} + * instance, or it is set implicitly via {@link PolylineMaterialAppearance#translucent} + * and {@link PolylineMaterialAppearance#closed}. + *

+ */ + readonly renderState: any; + /** + * When true, the geometry is expected to be closed so + * {@link PolylineMaterialAppearance#renderState} has backface culling enabled. + * This is always false for PolylineMaterialAppearance. + */ + readonly closed: boolean; + /** + * The {@link VertexFormat} that this appearance instance is compatible with. + * A geometry can have more vertex attributes and still be compatible - at a + * potential performance cost - but it can't have less. + */ + readonly vertexFormat: VertexFormat; + /** + * The {@link VertexFormat} that all {@link PolylineMaterialAppearance} instances + * are compatible with. This requires position and st attributes. + */ + static readonly VERTEX_FORMAT: VertexFormat; + /** + * Procedurally creates the full GLSL fragment shader source. For {@link PolylineMaterialAppearance}, + * this is derived from {@link PolylineMaterialAppearance#fragmentShaderSource} and {@link PolylineMaterialAppearance#material}. + * @returns The full GLSL fragment shader source. + */ + getFragmentShaderSource(): string; + /** + * Determines if the geometry is translucent based on {@link PolylineMaterialAppearance#translucent} and {@link Material#isTranslucent}. + * @returns true if the appearance is translucent. + */ + isTranslucent(): boolean; + /** + * Creates a render state. This is not the final render state instance; instead, + * it can contain a subset of render state properties identical to the render state + * created in the context. + * @returns The render state. + */ + getRenderState(): any; +} + +/** + * Runs a post-process stage on either the texture rendered by the scene or the output of a previous post-process stage. + * @example + * // Simple stage to change the color + * var fs = + * 'uniform sampler2D colorTexture;\n' + + * 'varying vec2 v_textureCoordinates;\n' + + * 'uniform float scale;\n' + + * 'uniform vec3 offset;\n' + + * 'void main() {\n' + + * ' vec4 color = texture2D(colorTexture, v_textureCoordinates);\n' + + * ' gl_FragColor = vec4(color.rgb * scale + offset, 1.0);\n' + + * '}\n'; + * scene.postProcessStages.add(new Cesium.PostProcessStage({ + * fragmentShader : fs, + * uniforms : { + * scale : 1.1, + * offset : function() { + * return new Cesium.Cartesian3(0.1, 0.2, 0.3); + * } + * } + * })); + * @example + * // Simple stage to change the color of what is selected. + * // If czm_selected returns true, the current fragment belongs to geometry in the selected array. + * var fs = + * 'uniform sampler2D colorTexture;\n' + + * 'varying vec2 v_textureCoordinates;\n' + + * 'uniform vec4 highlight;\n' + + * 'void main() {\n' + + * ' vec4 color = texture2D(colorTexture, v_textureCoordinates);\n' + + * ' if (czm_selected()) {\n' + + * ' vec3 highlighted = highlight.a * highlight.rgb + (1.0 - highlight.a) * color.rgb;\n' + + * ' gl_FragColor = vec4(highlighted, 1.0);\n' + + * ' } else { \n' + + * ' gl_FragColor = color;\n' + + * ' }\n' + + * '}\n'; + * var stage = scene.postProcessStages.add(new Cesium.PostProcessStage({ + * fragmentShader : fs, + * uniforms : { + * highlight : function() { + * return new Cesium.Color(1.0, 0.0, 0.0, 0.5); + * } + * } + * })); + * stage.selected = [cesium3DTileFeature]; + * @param options - An object with the following properties: + * @param options.fragmentShader - The fragment shader to use. The default sampler2D uniforms are colorTexture and depthTexture. The color texture is the output of rendering the scene or the previous stage. The depth texture is the output from rendering the scene. The shader should contain one or both uniforms. There is also a vec2 varying named v_textureCoordinates that can be used to sample the textures. + * @param [options.uniforms] - An object whose properties will be used to set the shaders uniforms. The properties can be constant values or a function. A constant value can also be a URI, data URI, or HTML element to use as a texture. + * @param [options.textureScale = 1.0] - A number in the range (0.0, 1.0] used to scale the texture dimensions. A scale of 1.0 will render this post-process stage to a texture the size of the viewport. + * @param [options.forcePowerOfTwo = false] - Whether or not to force the texture dimensions to be both equal powers of two. The power of two will be the next power of two of the minimum of the dimensions. + * @param [options.sampleMode = PostProcessStageSampleMode.NEAREST] - How to sample the input color texture. + * @param [options.pixelFormat = PixelFormat.RGBA] - The color pixel format of the output texture. + * @param [options.pixelDatatype = PixelDatatype.UNSIGNED_BYTE] - The pixel data type of the output texture. + * @param [options.clearColor = Color.BLACK] - The color to clear the output texture to. + * @param [options.scissorRectangle] - The rectangle to use for the scissor test. + * @param [options.name = createGuid()] - The unique name of this post-process stage for reference by other stages in a composite. If a name is not supplied, a GUID will be generated. + */ +export class PostProcessStage { + constructor(options: { + fragmentShader: string; + uniforms?: any; + textureScale?: number; + forcePowerOfTwo?: boolean; + sampleMode?: PostProcessStageSampleMode; + pixelFormat?: PixelFormat; + pixelDatatype?: PixelDatatype; + clearColor?: Color; + scissorRectangle?: BoundingRectangle; + name?: string; + }); + /** + * Whether or not to execute this post-process stage when ready. + */ + enabled: boolean; + /** + * Determines if this post-process stage is ready to be executed. A stage is only executed when both ready + * and {@link PostProcessStage#enabled} are true. A stage will not be ready while it is waiting on textures + * to load. + */ + readonly ready: boolean; + /** + * The unique name of this post-process stage for reference by other stages in a {@link PostProcessStageComposite}. + */ + readonly name: string; + /** + * The fragment shader to use when execute this post-process stage. + *

+ * The shader must contain a sampler uniform declaration for colorTexture, depthTexture, + * or both. + *

+ *

+ * The shader must contain a vec2 varying declaration for v_textureCoordinates for sampling + * the texture uniforms. + *

+ */ + readonly fragmentShader: string; + /** + * An object whose properties are used to set the uniforms of the fragment shader. + *

+ * The object property values can be either a constant or a function. The function will be called + * each frame before the post-process stage is executed. + *

+ *

+ * A constant value can also be a URI to an image, a data URI, or an HTML element that can be used as a texture, such as HTMLImageElement or HTMLCanvasElement. + *

+ *

+ * If this post-process stage is part of a {@link PostProcessStageComposite} that does not execute in series, the constant value can also be + * the name of another stage in a composite. This will set the uniform to the output texture the stage with that name. + *

+ */ + readonly uniforms: any; + /** + * A number in the range (0.0, 1.0] used to scale the output texture dimensions. A scale of 1.0 will render this post-process stage to a texture the size of the viewport. + */ + readonly textureScale: number; + /** + * Whether or not to force the output texture dimensions to be both equal powers of two. The power of two will be the next power of two of the minimum of the dimensions. + */ + readonly forcePowerOfTwo: number; + /** + * How to sample the input color texture. + */ + readonly sampleMode: PostProcessStageSampleMode; + /** + * The color pixel format of the output texture. + */ + readonly pixelFormat: PixelFormat; + /** + * The pixel data type of the output texture. + */ + readonly pixelDatatype: PixelDatatype; + /** + * The color to clear the output texture to. + */ + readonly clearColor: Color; + /** + * The {@link BoundingRectangle} to use for the scissor test. A default bounding rectangle will disable the scissor test. + */ + readonly scissorRectangle: BoundingRectangle; + /** + * The features selected for applying the post-process. + *

+ * In the fragment shader, use czm_selected to determine whether or not to apply the post-process + * stage to that fragment. For example: + * + * if (czm_selected(v_textureCoordinates)) { + * // apply post-process stage + * } else { + * gl_FragColor = texture2D(colorTexture, v_textureCordinates); + * } + * + *

+ */ + selected: any[]; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + *

+ */ + destroy(): void; +} + +/** + * A collection of {@link PostProcessStage}s and/or {@link PostProcessStageComposite}s. + *

+ * The input texture for each post-process stage is the texture rendered to by the scene or the texture rendered + * to by the previous stage in the collection. + *

+ *

+ * If the ambient occlusion or bloom stages are enabled, they will execute before all other stages. + *

+ *

+ * If the FXAA stage is enabled, it will execute after all other stages. + *

+ */ +export class PostProcessStageCollection { + constructor(); + /** + * Determines if all of the post-process stages in the collection are ready to be executed. + */ + readonly ready: boolean; + /** + * A post-process stage for Fast Approximate Anti-aliasing. + *

+ * When enabled, this stage will execute after all others. + *

+ */ + readonly fxaa: PostProcessStage; + /** + * A post-process stage that applies Horizon-based Ambient Occlusion (HBAO) to the input texture. + *

+ * Ambient occlusion simulates shadows from ambient light. These shadows would always be present when the + * surface receives light and regardless of the light's position. + *

+ *

+ * The uniforms have the following properties: intensity, bias, lengthCap, + * stepSize, frustumLength, ambientOcclusionOnly, + * delta, sigma, and blurStepSize. + *

+ *
    + *
  • intensity is a scalar value used to lighten or darken the shadows exponentially. Higher values make the shadows darker. The default value is 3.0.
  • + * + *
  • bias is a scalar value representing an angle in radians. If the dot product between the normal of the sample and the vector to the camera is less than this value, + * sampling stops in the current direction. This is used to remove shadows from near planar edges. The default value is 0.1.
  • + * + *
  • lengthCap is a scalar value representing a length in meters. If the distance from the current sample to first sample is greater than this value, + * sampling stops in the current direction. The default value is 0.26.
  • + * + *
  • stepSize is a scalar value indicating the distance to the next texel sample in the current direction. The default value is 1.95.
  • + * + *
  • frustumLength is a scalar value in meters. If the current fragment has a distance from the camera greater than this value, ambient occlusion is not computed for the fragment. + * The default value is 1000.0.
  • + * + *
  • ambientOcclusionOnly is a boolean value. When true, only the shadows generated are written to the output. When false, the input texture is modulated + * with the ambient occlusion. This is a useful debug option for seeing the effects of changing the uniform values. The default value is false.
  • + *
+ *

+ * delta, sigma, and blurStepSize are the same properties as {@link PostProcessStageLibrary#createBlurStage}. + * The blur is applied to the shadows generated from the image to make them smoother. + *

+ *

+ * When enabled, this stage will execute before all others. + *

+ */ + readonly ambientOcclusion: PostProcessStageComposite; + /** + * A post-process stage for a bloom effect. + *

+ * A bloom effect adds glow effect, makes bright areas brighter, and dark areas darker. + *

+ *

+ * This stage has the following uniforms: contrast, brightness, glowOnly, + * delta, sigma, and stepSize. + *

+ *
    + *
  • contrast is a scalar value in the range [-255.0, 255.0] and affects the contract of the effect. The default value is 128.0.
  • + * + *
  • brightness is a scalar value. The input texture RGB value is converted to hue, saturation, and brightness (HSB) then this value is + * added to the brightness. The default value is -0.3.
  • + * + *
  • glowOnly is a boolean value. When true, only the glow effect will be shown. When false, the glow will be added to the input texture. + * The default value is false. This is a debug option for viewing the effects when changing the other uniform values.
  • + *
+ *

+ * delta, sigma, and stepSize are the same properties as {@link PostProcessStageLibrary#createBlurStage}. + * The blur is applied to the shadows generated from the image to make them smoother. + *

+ *

+ * When enabled, this stage will execute before all others. + *

+ */ + readonly bloom: PostProcessStageComposite; + /** + * The number of post-process stages in this collection. + */ + readonly length: number; + /** + * Adds the post-process stage to the collection. + * @param stage - The post-process stage to add to the collection. + * @returns The post-process stage that was added to the collection. + */ + add(stage: PostProcessStage | PostProcessStageComposite): PostProcessStage | PostProcessStageComposite; + /** + * Removes a post-process stage from the collection and destroys it. + * @param stage - The post-process stage to remove from the collection. + * @returns Whether the post-process stage was removed. + */ + remove(stage: PostProcessStage | PostProcessStageComposite): boolean; + /** + * Returns whether the collection contains a post-process stage. + * @param stage - The post-process stage. + * @returns Whether the collection contains the post-process stage. + */ + contains(stage: PostProcessStage | PostProcessStageComposite): boolean; + /** + * Gets the post-process stage at index. + * @param index - The index of the post-process stage. + * @returns The post-process stage at index. + */ + get(index: number): PostProcessStage | PostProcessStageComposite; + /** + * Removes all post-process stages from the collection and destroys them. + */ + removeAll(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + *

+ */ + destroy(): void; +} + +/** + * A collection of {@link PostProcessStage}s or other post-process composite stages that execute together logically. + *

+ * All stages are executed in the order of the array. The input texture changes based on the value of inputPreviousStageTexture. + * If inputPreviousStageTexture is true, the input to each stage is the output texture rendered to by the scene or of the stage that executed before it. + * If inputPreviousStageTexture is false, the input texture is the same for each stage in the composite. The input texture is the texture rendered to by the scene + * or the output texture of the previous stage. + *

+ * @example + * // Example 1: separable blur filter + * // The input to blurXDirection is the texture rendered to by the scene or the output of the previous stage. + * // The input to blurYDirection is the texture rendered to by blurXDirection. + * scene.postProcessStages.add(new Cesium.PostProcessStageComposite({ + * stages : [blurXDirection, blurYDirection] + * })); + * @example + * // Example 2: referencing the output of another post-process stage + * scene.postProcessStages.add(new Cesium.PostProcessStageComposite({ + * inputPreviousStageTexture : false, + * stages : [ + * // The same as Example 1. + * new Cesium.PostProcessStageComposite({ + * inputPreviousStageTexture : true + * stages : [blurXDirection, blurYDirection], + * name : 'blur' + * }), + * // The input texture for this stage is the same input texture to blurXDirection since inputPreviousStageTexture is false + * new Cesium.PostProcessStage({ + * fragmentShader : compositeShader, + * uniforms : { + * blurTexture : 'blur' // The output of the composite with name 'blur' (the texture that blurYDirection rendered to). + * } + * }) + * ] + * }); + * @example + * // Example 3: create a uniform alias + * var uniforms = {}; + * Cesium.defineProperties(uniforms, { + * filterSize : { + * get : function() { + * return blurXDirection.uniforms.filterSize; + * }, + * set : function(value) { + * blurXDirection.uniforms.filterSize = blurYDirection.uniforms.filterSize = value; + * } + * } + * }); + * scene.postProcessStages.add(new Cesium.PostProcessStageComposite({ + * stages : [blurXDirection, blurYDirection], + * uniforms : uniforms + * })); + * @param options - An object with the following properties: + * @param options.stages - An array of {@link PostProcessStage}s or composites to be executed in order. + * @param [options.inputPreviousStageTexture = true] - Whether to execute each post-process stage where the input to one stage is the output of the previous. Otherwise, the input to each contained stage is the output of the stage that executed before the composite. + * @param [options.name = createGuid()] - The unique name of this post-process stage for reference by other composites. If a name is not supplied, a GUID will be generated. + * @param [options.uniforms] - An alias to the uniforms of post-process stages. + */ +export class PostProcessStageComposite { + constructor(options: { + stages: any[]; + inputPreviousStageTexture?: boolean; + name?: string; + uniforms?: any; + }); + /** + * Determines if this post-process stage is ready to be executed. + */ + readonly ready: boolean; + /** + * The unique name of this post-process stage for reference by other stages in a PostProcessStageComposite. + */ + readonly name: string; + /** + * Whether or not to execute this post-process stage when ready. + */ + enabled: boolean; + /** + * An alias to the uniform values of the post-process stages. May be undefined; in which case, get each stage to set uniform values. + */ + uniforms: any; + /** + * All post-process stages are executed in the order of the array. The input texture changes based on the value of inputPreviousStageTexture. + * If inputPreviousStageTexture is true, the input to each stage is the output texture rendered to by the scene or of the stage that executed before it. + * If inputPreviousStageTexture is false, the input texture is the same for each stage in the composite. The input texture is the texture rendered to by the scene + * or the output texture of the previous stage. + */ + readonly inputPreviousStageTexture: boolean; + /** + * The number of post-process stages in this composite. + */ + readonly length: number; + /** + * The features selected for applying the post-process. + */ + selected: any[]; + /** + * Gets the post-process stage at index + * @param index - The index of the post-process stage or composite. + * @returns The post-process stage or composite at index. + */ + get(index: number): PostProcessStage | PostProcessStageComposite; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + *

+ */ + destroy(): void; +} + +/** + * Contains functions for creating common post-process stages. + */ +export namespace PostProcessStageLibrary { + /** + * Creates a post-process stage that applies a Gaussian blur to the input texture. This stage is usually applied in conjunction with another stage. + *

+ * This stage has the following uniforms: delta, sigma, and stepSize. + *

+ *

+ * delta and sigma are used to compute the weights of a Gaussian filter. The equation is exp((-0.5 * delta * delta) / (sigma * sigma)). + * The default value for delta is 1.0. The default value for sigma is 2.0. + * stepSize is the distance to the next texel. The default is 1.0. + *

+ * @returns A post-process stage that applies a Gaussian blur to the input texture. + */ + function createBlurStage(): PostProcessStageComposite; + /** + * Creates a post-process stage that applies a depth of field effect. + *

+ * Depth of field simulates camera focus. Objects in the scene that are in focus + * will be clear whereas objects not in focus will be blurred. + *

+ *

+ * This stage has the following uniforms: focalDistance, delta, sigma, and stepSize. + *

+ *

+ * focalDistance is the distance in meters from the camera to set the camera focus. + *

+ *

+ * delta, sigma, and stepSize are the same properties as {@link PostProcessStageLibrary#createBlurStage}. + * The blur is applied to the areas out of focus. + *

+ * @returns A post-process stage that applies a depth of field effect. + */ + function createDepthOfFieldStage(): PostProcessStageComposite; + /** + * Whether or not a depth of field stage is supported. + *

+ * This stage requires the WEBGL_depth_texture extension. + *

+ * @param scene - The scene. + * @returns Whether this post process stage is supported. + */ + function isDepthOfFieldSupported(scene: Scene): boolean; + /** + * Creates a post-process stage that detects edges. + *

+ * Writes the color to the output texture with alpha set to 1.0 when it is on an edge. + *

+ *

+ * This stage has the following uniforms: color and length + *

+ *
    + *
  • color is the color of the highlighted edge. The default is {@link Color#BLACK}.
  • + *
  • length is the length of the edges in pixels. The default is 0.5.
  • + *
+ *

+ * This stage is not supported in 2D. + *

+ * @example + * // multiple silhouette effects + * var yellowEdge = Cesium.PostProcessLibrary.createEdgeDetectionStage(); + * yellowEdge.uniforms.color = Cesium.Color.YELLOW; + * yellowEdge.selected = [feature0]; + * + * var greenEdge = Cesium.PostProcessLibrary.createEdgeDetectionStage(); + * greenEdge.uniforms.color = Cesium.Color.LIME; + * greenEdge.selected = [feature1]; + * + * // draw edges around feature0 and feature1 + * postProcessStages.add(Cesium.PostProcessLibrary.createSilhouetteStage([yellowEdge, greenEdge]); + * @returns A post-process stage that applies an edge detection effect. + */ + function createEdgeDetectionStage(): PostProcessStageComposite; + /** + * Whether or not an edge detection stage is supported. + *

+ * This stage requires the WEBGL_depth_texture extension. + *

+ * @param scene - The scene. + * @returns Whether this post process stage is supported. + */ + function isEdgeDetectionSupported(scene: Scene): boolean; + /** + * Creates a post-process stage that applies a silhouette effect. + *

+ * A silhouette effect composites the color from the edge detection pass with input color texture. + *

+ *

+ * This stage has the following uniforms when edgeDetectionStages is undefined: color and length + *

+ *

+ * color is the color of the highlighted edge. The default is {@link Color#BLACK}. + * length is the length of the edges in pixels. The default is 0.5. + *

+ * @param [edgeDetectionStages] - An array of edge detection post process stages. + * @returns A post-process stage that applies a silhouette effect. + */ + function createSilhouetteStage(edgeDetectionStages?: PostProcessStage[]): PostProcessStageComposite; + /** + * Whether or not a silhouette stage is supported. + *

+ * This stage requires the WEBGL_depth_texture extension. + *

+ * @param scene - The scene. + * @returns Whether this post process stage is supported. + */ + function isSilhouetteSupported(scene: Scene): boolean; + /** + * Whether or not an ambient occlusion stage is supported. + *

+ * This stage requires the WEBGL_depth_texture extension. + *

+ * @param scene - The scene. + * @returns Whether this post process stage is supported. + */ + function isAmbientOcclusionSupported(scene: Scene): boolean; + /** + * Creates a post-process stage that renders the input texture with black and white gradations. + *

+ * This stage has one uniform value, gradations, which scales the luminance of each pixel. + *

+ * @returns A post-process stage that renders the input texture with black and white gradations. + */ + function createBlackAndWhiteStage(): PostProcessStage; + /** + * Creates a post-process stage that saturates the input texture. + *

+ * This stage has one uniform value, brightness, which scales the saturation of each pixel. + *

+ * @returns A post-process stage that saturates the input texture. + */ + function createBrightnessStage(): PostProcessStage; + /** + * Creates a post-process stage that adds a night vision effect to the input texture. + * @returns A post-process stage that adds a night vision effect to the input texture. + */ + function createNightVisionStage(): PostProcessStage; + /** + * Creates a post-process stage that applies an effect simulating light flaring a camera lens. + *

+ * This stage has the following uniforms: dirtTexture, starTexture, intensity, distortion, ghostDispersal, + * haloWidth, dirtAmount, and earthRadius. + *

    + *
  • dirtTexture is a texture sampled to simulate dirt on the lens.
  • + *
  • starTexture is the texture sampled for the star pattern of the flare.
  • + *
  • intensity is a scalar multiplied by the result of the lens flare. The default value is 2.0.
  • + *
  • distortion is a scalar value that affects the chromatic effect distortion. The default value is 10.0.
  • + *
  • ghostDispersal is a scalar indicating how far the halo effect is from the center of the texture. The default value is 0.4.
  • + *
  • haloWidth is a scalar representing the width of the halo from the ghost dispersal. The default value is 0.4.
  • + *
  • dirtAmount is a scalar representing the amount of dirt on the lens. The default value is 0.4.
  • + *
  • earthRadius is the maximum radius of the earth. The default value is Ellipsoid.WGS84.maximumRadius.
  • + *
+ *

+ * @returns A post-process stage for applying a lens flare effect. + */ + function createLensFlareStage(): PostProcessStage; +} + +/** + * Determines how input texture to a {@link PostProcessStage} is sampled. + */ +export enum PostProcessStageSampleMode { + /** + * Samples the texture by returning the closest texel. + */ + NEAREST = 0, + /** + * Samples the texture through bi-linear interpolation of the four nearest texels. + */ + LINEAR = 1 +} + +/** + * A primitive represents geometry in the {@link Scene}. The geometry can be from a single {@link GeometryInstance} + * as shown in example 1 below, or from an array of instances, even if the geometry is from different + * geometry types, e.g., an {@link RectangleGeometry} and an {@link EllipsoidGeometry} as shown in Code Example 2. + *

+ * A primitive combines geometry instances with an {@link Appearance} that describes the full shading, including + * {@link Material} and {@link RenderState}. Roughly, the geometry instance defines the structure and placement, + * and the appearance defines the visual characteristics. Decoupling geometry and appearance allows us to mix + * and match most of them and add a new geometry or appearance independently of each other. + *

+ *

+ * Combining multiple instances into one primitive is called batching, and significantly improves performance for static data. + * Instances can be individually picked; {@link Scene#pick} returns their {@link GeometryInstance#id}. Using + * per-instance appearances like {@link PerInstanceColorAppearance}, each instance can also have a unique color. + *

+ *

+ * {@link Geometry} can either be created and batched on a web worker or the main thread. The first two examples + * show geometry that will be created on a web worker by using the descriptions of the geometry. The third example + * shows how to create the geometry on the main thread by explicitly calling the createGeometry method. + *

+ * @example + * // 1. Draw a translucent ellipse on the surface with a checkerboard pattern + * var instance = new Cesium.GeometryInstance({ + * geometry : new Cesium.EllipseGeometry({ + * center : Cesium.Cartesian3.fromDegrees(-100.0, 20.0), + * semiMinorAxis : 500000.0, + * semiMajorAxis : 1000000.0, + * rotation : Cesium.Math.PI_OVER_FOUR, + * vertexFormat : Cesium.VertexFormat.POSITION_AND_ST + * }), + * id : 'object returned when this instance is picked and to get/set per-instance attributes' + * }); + * scene.primitives.add(new Cesium.Primitive({ + * geometryInstances : instance, + * appearance : new Cesium.EllipsoidSurfaceAppearance({ + * material : Cesium.Material.fromType('Checkerboard') + * }) + * })); + * @example + * // 2. Draw different instances each with a unique color + * var rectangleInstance = new Cesium.GeometryInstance({ + * geometry : new Cesium.RectangleGeometry({ + * rectangle : Cesium.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0), + * vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT + * }), + * id : 'rectangle', + * attributes : { + * color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5) + * } + * }); + * var ellipsoidInstance = new Cesium.GeometryInstance({ + * geometry : new Cesium.EllipsoidGeometry({ + * radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0), + * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL + * }), + * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame( + * Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()), + * id : 'ellipsoid', + * attributes : { + * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA) + * } + * }); + * scene.primitives.add(new Cesium.Primitive({ + * geometryInstances : [rectangleInstance, ellipsoidInstance], + * appearance : new Cesium.PerInstanceColorAppearance() + * })); + * @example + * // 3. Create the geometry on the main thread. + * scene.primitives.add(new Cesium.Primitive({ + * geometryInstances : new Cesium.GeometryInstance({ + * geometry : Cesium.EllipsoidGeometry.createGeometry(new Cesium.EllipsoidGeometry({ + * radii : new Cesium.Cartesian3(500000.0, 500000.0, 1000000.0), + * vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL + * })), + * modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame( + * Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 500000.0), new Cesium.Matrix4()), + * id : 'ellipsoid', + * attributes : { + * color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.AQUA) + * } + * }), + * appearance : new Cesium.PerInstanceColorAppearance() + * })); + * @param [options] - Object with the following properties: + * @param [options.geometryInstances] - The geometry instances - or a single geometry instance - to render. + * @param [options.appearance] - The appearance used to render the primitive. + * @param [options.depthFailAppearance] - The appearance used to shade this primitive when it fails the depth test. + * @param [options.show = true] - Determines if this primitive will be shown. + * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the primitive (all geometry instances) from model to world coordinates. + * @param [options.vertexCacheOptimize = false] - When true, geometry vertices are optimized for the pre and post-vertex-shader caches. + * @param [options.interleave = false] - When true, geometry vertex attributes are interleaved, which can slightly improve rendering performance but increases load time. + * @param [options.compressVertices = true] - When true, the geometry vertices are compressed, which will save memory. + * @param [options.releaseGeometryInstances = true] - When true, the primitive does not keep a reference to the input geometryInstances to save memory. + * @param [options.allowPicking = true] - When true, each geometry instance will only be pickable with {@link Scene#pick}. When false, GPU memory is saved. + * @param [options.cull = true] - When true, the renderer frustum culls and horizon culls the primitive's commands based on their bounding volume. Set this to false for a small performance gain if you are manually culling the primitive. + * @param [options.asynchronous = true] - Determines if the primitive will be created asynchronously or block until ready. + * @param [options.debugShowBoundingVolume = false] - For debugging only. Determines if this primitive's commands' bounding spheres are shown. + * @param [options.shadows = ShadowMode.DISABLED] - Determines whether this primitive casts or receives shadows from light sources. + */ +export class Primitive { + constructor(options?: { + geometryInstances?: GeometryInstance[] | GeometryInstance; + appearance?: Appearance; + depthFailAppearance?: Appearance; + show?: boolean; + modelMatrix?: Matrix4; + vertexCacheOptimize?: boolean; + interleave?: boolean; + compressVertices?: boolean; + releaseGeometryInstances?: boolean; + allowPicking?: boolean; + cull?: boolean; + asynchronous?: boolean; + debugShowBoundingVolume?: boolean; + shadows?: ShadowMode; + }); + /** + * The geometry instances rendered with this primitive. This may + * be undefined if options.releaseGeometryInstances + * is true when the primitive is constructed. + *

+ * Changing this property after the primitive is rendered has no effect. + *

+ */ + readonly geometryInstances: GeometryInstance[] | GeometryInstance; + /** + * The {@link Appearance} used to shade this primitive. Each geometry + * instance is shaded with the same appearance. Some appearances, like + * {@link PerInstanceColorAppearance} allow giving each instance unique + * properties. + */ + appearance: Appearance; + /** + * The {@link Appearance} used to shade this primitive when it fails the depth test. Each geometry + * instance is shaded with the same appearance. Some appearances, like + * {@link PerInstanceColorAppearance} allow giving each instance unique + * properties. + * + *

+ * When using an appearance that requires a color attribute, like PerInstanceColorAppearance, + * add a depthFailColor per-instance attribute instead. + *

+ * + *

+ * Requires the EXT_frag_depth WebGL extension to render properly. If the extension is not supported, + * there may be artifacts. + *

+ */ + depthFailAppearance: Appearance; + /** + * The 4x4 transformation matrix that transforms the primitive (all geometry instances) from model to world coordinates. + * When this is the identity matrix, the primitive is drawn in world coordinates, i.e., Earth's WGS84 coordinates. + * Local reference frames can be used by providing a different transformation matrix, like that returned + * by {@link Transforms.eastNorthUpToFixedFrame}. + * + *

+ * This property is only supported in 3D mode. + *

+ * @example + * var origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0); + * p.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin); + */ + modelMatrix: Matrix4; + /** + * Determines if the primitive will be shown. This affects all geometry + * instances in the primitive. + */ + show: boolean; + /** + * When true, the renderer frustum culls and horizon culls the primitive's commands + * based on their bounding volume. Set this to false for a small performance gain + * if you are manually culling the primitive. + */ + cull: boolean; + /** + * This property is for debugging only; it is not for production use nor is it optimized. + *

+ * Draws the bounding sphere for each draw command in the primitive. + *

+ */ + debugShowBoundingVolume: boolean; + /** + * Determines whether this primitive casts or receives shadows from light sources. + */ + shadows: ShadowMode; + /** + * When true, geometry vertices are optimized for the pre and post-vertex-shader caches. + */ + readonly vertexCacheOptimize: boolean; + /** + * Determines if geometry vertex attributes are interleaved, which can slightly improve rendering performance. + */ + readonly interleave: boolean; + /** + * When true, the primitive does not keep a reference to the input geometryInstances to save memory. + */ + readonly releaseGeometryInstances: boolean; + /** + * When true, each geometry instance will only be pickable with {@link Scene#pick}. When false, GPU memory is saved. * + */ + readonly allowPicking: boolean; + /** + * Determines if the geometry instances will be created and batched on a web worker. + */ + readonly asynchronous: boolean; + /** + * When true, geometry vertices are compressed, which will save memory. + */ + readonly compressVertices: boolean; + /** + * Determines if the primitive is complete and ready to render. If this property is + * true, the primitive will be rendered the next time that {@link Primitive#update} + * is called. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves when the primitive is ready to render. + */ + readonly readyPromise: Promise; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * get the draw commands needed to render this primitive. + *

+ * Do not call this function directly. This is documented just to + * list the exceptions that may be propagated when the scene is rendered: + *

+ */ + update(): void; + /** + * Returns the modifiable per-instance attributes for a {@link GeometryInstance}. + * @example + * var attributes = primitive.getGeometryInstanceAttributes('an id'); + * attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA); + * attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true); + * attributes.distanceDisplayCondition = Cesium.DistanceDisplayConditionGeometryInstanceAttribute.toValue(100.0, 10000.0); + * attributes.offset = Cesium.OffsetGeometryInstanceAttribute.toValue(Cartesian3.IDENTITY); + * @param id - The id of the {@link GeometryInstance}. + * @returns The typed array in the attribute's format or undefined if the is no instance with id. + */ + getGeometryInstanceAttributes(id: any): any; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + *

+ * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + *

+ * @example + * e = e && e.destroy(); + */ + destroy(): void; +} + +/** + * A collection of primitives. This is most often used with {@link Scene#primitives}, + * but PrimitiveCollection is also a primitive itself so collections can + * be added to collections forming a hierarchy. + * @example + * var billboards = new Cesium.BillboardCollection(); + * var labels = new Cesium.LabelCollection(); + * + * var collection = new Cesium.PrimitiveCollection(); + * collection.add(billboards); + * + * scene.primitives.add(collection); // Add collection + * scene.primitives.add(labels); // Add regular primitive + * @param [options] - Object with the following properties: + * @param [options.show = true] - Determines if the primitives in the collection will be shown. + * @param [options.destroyPrimitives = true] - Determines if primitives in the collection are destroyed when they are removed. + */ +export class PrimitiveCollection { + constructor(options?: { + show?: boolean; + destroyPrimitives?: boolean; + }); + /** + * Determines if primitives in this collection will be shown. + */ + show: boolean; + /** + * Determines if primitives in the collection are destroyed when they are removed by + * {@link PrimitiveCollection#destroy} or {@link PrimitiveCollection#remove} or implicitly + * by {@link PrimitiveCollection#removeAll}. + * @example + * // Example 1. Primitives are destroyed by default. + * var primitives = new Cesium.PrimitiveCollection(); + * var labels = primitives.add(new Cesium.LabelCollection()); + * primitives = primitives.destroy(); + * var b = labels.isDestroyed(); // true + * @example + * // Example 2. Do not destroy primitives in a collection. + * var primitives = new Cesium.PrimitiveCollection(); + * primitives.destroyPrimitives = false; + * var labels = primitives.add(new Cesium.LabelCollection()); + * primitives = primitives.destroy(); + * var b = labels.isDestroyed(); // false + * labels = labels.destroy(); // explicitly destroy + */ + destroyPrimitives: boolean; + /** + * Gets the number of primitives in the collection. + */ + readonly length: number; + /** + * Adds a primitive to the collection. + * @example + * var billboards = scene.primitives.add(new Cesium.BillboardCollection()); + * @param primitive - The primitive to add. + * @param [index] - The index to add the layer at. If omitted, the primitive will be added at the bottom of all existing primitives. + * @returns The primitive added to the collection. + */ + add(primitive: any, index?: number): any; + /** + * Removes a primitive from the collection. + * @example + * var billboards = scene.primitives.add(new Cesium.BillboardCollection()); + * scene.primitives.remove(billboards); // Returns true + * @param [primitive] - The primitive to remove. + * @returns true if the primitive was removed; false if the primitive is undefined or was not found in the collection. + */ + remove(primitive?: any): boolean; + /** + * Removes all primitives in the collection. + */ + removeAll(): void; + /** + * Determines if this collection contains a primitive. + * @param [primitive] - The primitive to check for. + * @returns true if the primitive is in the collection; false if the primitive is undefined or was not found in the collection. + */ + contains(primitive?: any): boolean; + /** + * Raises a primitive "up one" in the collection. If all primitives in the collection are drawn + * on the globe surface, this visually moves the primitive up one. + * @param [primitive] - The primitive to raise. + */ + raise(primitive?: any): void; + /** + * Raises a primitive to the "top" of the collection. If all primitives in the collection are drawn + * on the globe surface, this visually moves the primitive to the top. + * @param [primitive] - The primitive to raise the top. + */ + raiseToTop(primitive?: any): void; + /** + * Lowers a primitive "down one" in the collection. If all primitives in the collection are drawn + * on the globe surface, this visually moves the primitive down one. + * @param [primitive] - The primitive to lower. + */ + lower(primitive?: any): void; + /** + * Lowers a primitive to the "bottom" of the collection. If all primitives in the collection are drawn + * on the globe surface, this visually moves the primitive to the bottom. + * @param [primitive] - The primitive to lower to the bottom. + */ + lowerToBottom(primitive?: any): void; + /** + * Returns the primitive in the collection at the specified index. + * @example + * // Toggle the show property of every primitive in the collection. + * var primitives = scene.primitives; + * var length = primitives.length; + * for (var i = 0; i < length; ++i) { + * var p = primitives.get(i); + * p.show = !p.show; + * } + * @param index - The zero-based index of the primitive to return. + * @returns The primitive at the index. + */ + get(index: number): any; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by each primitive in this collection. Explicitly destroying this + * collection allows for deterministic release of WebGL resources, instead of relying on the garbage + * collector to destroy this collection. + *

+ * Since destroying a collection destroys all the contained primitives, only destroy a collection + * when you are sure no other code is still using any of the contained primitives. + *

+ * Once this collection is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * primitives = primitives && primitives.destroy(); + */ + destroy(): void; +} + +/** + * The container for all 3D graphical objects and state in a Cesium virtual scene. Generally, + * a scene is not created directly; instead, it is implicitly created by {@link CesiumWidget}. + *

+ * contextOptions parameter details: + *

+ *

+ * The default values are: + * + * { + * webgl : { + * alpha : false, + * depth : true, + * stencil : false, + * antialias : true, + * powerPreference: 'high-performance', + * premultipliedAlpha : true, + * preserveDrawingBuffer : false, + * failIfMajorPerformanceCaveat : false + * }, + * allowTextureFilterAnisotropic : true + * } + * + *

+ *

+ * The webgl property corresponds to the {@link http://www.khronos.org/registry/webgl/specs/latest/#5.2|WebGLContextAttributes} + * object used to create the WebGL context. + *

+ *

+ * webgl.alpha defaults to false, which can improve performance compared to the standard WebGL default + * of true. If an application needs to composite Cesium above other HTML elements using alpha-blending, set + * webgl.alpha to true. + *

+ *

+ * The other webgl properties match the WebGL defaults for {@link http://www.khronos.org/registry/webgl/specs/latest/#5.2|WebGLContextAttributes}. + *

+ *

+ * allowTextureFilterAnisotropic defaults to true, which enables anisotropic texture filtering when the + * WebGL extension is supported. Setting this to false will improve performance, but hurt visual quality, especially for horizon views. + *

+ * @example + * // Create scene without anisotropic texture filtering + * var scene = new Cesium.Scene({ + * canvas : canvas, + * contextOptions : { + * allowTextureFilterAnisotropic : false + * } + * }); + * @param [options] - Object with the following properties: + * @param options.canvas - The HTML canvas element to create the scene for. + * @param [options.contextOptions] - Context and WebGL creation properties. See details above. + * @param [options.creditContainer] - The HTML element in which the credits will be displayed. + * @param [options.creditViewport] - The HTML element in which to display the credit popup. If not specified, the viewport will be a added as a sibling of the canvas. + * @param [options.mapProjection = new GeographicProjection()] - The map projection to use in 2D and Columbus View modes. + * @param [options.orderIndependentTranslucency = true] - If true and the configuration supports it, use order independent translucency. + * @param [options.scene3DOnly = false] - If true, optimizes memory use and performance for 3D mode but disables the ability to use 2D or Columbus View. + * @param [options.terrainExaggeration = 1.0] - A scalar used to exaggerate the terrain. Note that terrain exaggeration will not modify any other primitive as they are positioned relative to the ellipsoid. + * @param [options.shadows = false] - Determines if shadows are cast by light sources. + * @param [options.mapMode2D = MapMode2D.INFINITE_SCROLL] - Determines if the 2D map is rotatable or can be scrolled infinitely in the horizontal direction. + * @param [options.requestRenderMode = false] - If true, rendering a frame will only occur when needed as determined by changes within the scene. Enabling improves performance of the application, but requires using {@link Scene#requestRender} to render a new frame explicitly in this mode. This will be necessary in many cases after making changes to the scene in other parts of the API. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}. + * @param [options.maximumRenderTimeChange = 0.0] - If requestRenderMode is true, this value defines the maximum change in simulation time allowed before a render is requested. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}. + */ +export class Scene { + constructor(options?: { + canvas: HTMLCanvasElement; + contextOptions?: any; + creditContainer?: Element; + creditViewport?: Element; + mapProjection?: MapProjection; + orderIndependentTranslucency?: boolean; + scene3DOnly?: boolean; + terrainExaggeration?: number; + shadows?: boolean; + mapMode2D?: MapMode2D; + requestRenderMode?: boolean; + maximumRenderTimeChange?: number; + }); + /** + * Exceptions occurring in render are always caught in order to raise the + * renderError event. If this property is true, the error is rethrown + * after the event is raised. If this property is false, the render function + * returns normally after raising the event. + */ + rethrowRenderErrors: boolean; + /** + * Determines whether or not to instantly complete the + * scene transition animation on user input. + */ + completeMorphOnUserInput: boolean; + /** + * The event fired at the beginning of a scene transition. + */ + morphStart: Event; + /** + * The event fired at the completion of a scene transition. + */ + morphComplete: Event; + /** + * The {@link SkyBox} used to draw the stars. + */ + skyBox: SkyBox; + /** + * The sky atmosphere drawn around the globe. + */ + skyAtmosphere: SkyAtmosphere; + /** + * The {@link Sun}. + */ + sun: Sun; + /** + * Uses a bloom filter on the sun when enabled. + */ + sunBloom: boolean; + /** + * The {@link Moon} + */ + moon: Moon; + /** + * The background color, which is only visible if there is no sky box, i.e., {@link Scene#skyBox} is undefined. + */ + backgroundColor: Color; + /** + * The current morph transition time between 2D/Columbus View and 3D, + * with 0.0 being 2D or Columbus View and 1.0 being 3D. + */ + morphTime: number; + /** + * The far-to-near ratio of the multi-frustum when using a normal depth buffer. + *

+ * This value is used to create the near and far values for each frustum of the multi-frustum. It is only used + * when {@link Scene#logarithmicDepthBuffer} is false. When logarithmicDepthBuffer is + * true, use {@link Scene#logarithmicDepthFarToNearRatio}. + *

+ */ + farToNearRatio: number; + /** + * The far-to-near ratio of the multi-frustum when using a logarithmic depth buffer. + *

+ * This value is used to create the near and far values for each frustum of the multi-frustum. It is only used + * when {@link Scene#logarithmicDepthBuffer} is true. When logarithmicDepthBuffer is + * false, use {@link Scene#farToNearRatio}. + *

+ */ + logarithmicDepthFarToNearRatio: number; + /** + * Determines the uniform depth size in meters of each frustum of the multifrustum in 2D. If a primitive or model close + * to the surface shows z-fighting, decreasing this will eliminate the artifact, but decrease performance. On the + * other hand, increasing this will increase performance but may cause z-fighting among primitives close to the surface. + */ + nearToFarDistance2D: number; + /** + * This property is for debugging only; it is not for production use. + *

+ * A function that determines what commands are executed. As shown in the examples below, + * the function receives the command's owner as an argument, and returns a boolean indicating if the + * command should be executed. + *

+ *

+ * The default is undefined, indicating that all commands are executed. + *

+ * @example + * // Do not execute any commands. + * scene.debugCommandFilter = function(command) { + * return false; + * }; + * + * // Execute only the billboard's commands. That is, only draw the billboard. + * var billboards = new Cesium.BillboardCollection(); + * scene.debugCommandFilter = function(command) { + * return command.owner === billboards; + * }; + */ + debugCommandFilter: (...params: any[]) => any; + /** + * This property is for debugging only; it is not for production use. + *

+ * When true, commands are randomly shaded. This is useful + * for performance analysis to see what parts of a scene or model are + * command-dense and could benefit from batching. + *

+ */ + debugShowCommands: boolean; + /** + * This property is for debugging only; it is not for production use. + *

+ * When true, commands are shaded based on the frustums they + * overlap. Commands in the closest frustum are tinted red, commands in + * the next closest are green, and commands in the farthest frustum are + * blue. If a command overlaps more than one frustum, the color components + * are combined, e.g., a command overlapping the first two frustums is tinted + * yellow. + *

+ */ + debugShowFrustums: boolean; + /** + * This property is for debugging only; it is not for production use. + *

+ * Displays frames per second and time between frames. + *

+ */ + debugShowFramesPerSecond: boolean; + /** + * This property is for debugging only; it is not for production use. + *

+ * Displays depth information for the indicated frustum. + *

+ */ + debugShowGlobeDepth: boolean; + /** + * This property is for debugging only; it is not for production use. + *

+ * Indicates which frustum will have depth information displayed. + *

+ */ + debugShowDepthFrustum: number; + /** + * This property is for debugging only; it is not for production use. + *

+ * When true, draws outlines to show the boundaries of the camera frustums + *

+ */ + debugShowFrustumPlanes: boolean; + /** + * When true, enables picking using the depth buffer. + */ + useDepthPicking: boolean; + /** + * When true, enables picking translucent geometry using the depth buffer. Note that {@link Scene#useDepthPicking} must also be true for enabling this to work. + * + *

+ * Render must be called between picks. + *
There is a decrease in performance when enabled. There are extra draw calls to write depth for + * translucent geometry. + *

+ * @example + * // picking the position of a translucent primitive + * viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) { + * var pickedFeature = viewer.scene.pick(movement.position); + * if (!Cesium.defined(pickedFeature)) { + * // nothing picked + * return; + * } + * viewer.scene.render(); + * var worldPosition = viewer.scene.pickPosition(movement.position); + * }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + */ + pickTranslucentDepth: boolean; + /** + * Blends the atmosphere to geometry far from the camera for horizon views. Allows for additional + * performance improvements by rendering less geometry and dispatching less terrain requests. + */ + fog: Fog; + /** + * The shadow map for the scene's light source. When enabled, models, primitives, and the globe may cast and receive shadows. + */ + shadowMap: ShadowMap; + /** + * When false, 3D Tiles will render normally. When true, classified 3D Tile geometry will render normally and + * unclassified 3D Tile geometry will render with the color multiplied by {@link Scene#invertClassificationColor}. + */ + invertClassification: boolean; + /** + * The highlight color of unclassified 3D Tile geometry when {@link Scene#invertClassification} is true. + *

When the color's alpha is less than 1.0, the unclassified portions of the 3D Tiles will not blend correctly with the classified positions of the 3D Tiles.

+ *

Also, when the color's alpha is less than 1.0, the WEBGL_depth_texture and EXT_frag_depth WebGL extensions must be supported.

+ */ + invertClassificationColor: Color; + /** + * The focal length for use when with cardboard or WebVR. + */ + focalLength: number; + /** + * The eye separation distance in meters for use with cardboard or WebVR. + */ + eyeSeparation: number; + /** + * Post processing effects applied to the final render. + */ + postProcessStages: PostProcessStageCollection; + /** + * When true, rendering a frame will only occur when needed as determined by changes within the scene. + * Enabling improves performance of the application, but requires using {@link Scene#requestRender} + * to render a new frame explicitly in this mode. This will be necessary in many cases after making changes + * to the scene in other parts of the API. + */ + requestRenderMode: boolean; + /** + * If {@link Scene#requestRenderMode} is true, this value defines the maximum change in + * simulation time allowed before a render is requested. Lower values increase the number of frames rendered + * and higher values decrease the number of frames rendered. If undefined, changes to + * the simulation time will never request a render. + * This value impacts the rate of rendering for changes in the scene like lighting, entity property updates, + * and animations. + */ + maximumRenderTimeChange: number; + /** + * The spherical harmonic coefficients for image-based lighting of PBR models. + */ + sphericalHarmonicCoefficients: Cartesian3[]; + /** + * The url to the KTX file containing the specular environment map and convoluted mipmaps for image-based lighting of PBR models. + */ + specularEnvironmentMaps: string; + /** + * The light source for shading. Defaults to a directional light from the Sun. + */ + light: Light; + /** + * Gets the canvas element to which this scene is bound. + */ + readonly canvas: HTMLCanvasElement; + /** + * The drawingBufferHeight of the underlying GL context. + */ + readonly drawingBufferHeight: number; + /** + * The drawingBufferHeight of the underlying GL context. + */ + readonly drawingBufferWidth: number; + /** + * The maximum aliased line width, in pixels, supported by this WebGL implementation. It will be at least one. + */ + readonly maximumAliasedLineWidth: number; + /** + * The maximum length in pixels of one edge of a cube map, supported by this WebGL implementation. It will be at least 16. + */ + readonly maximumCubeMapSize: number; + /** + * Returns true if the {@link Scene#pickPosition} function is supported. + */ + readonly pickPositionSupported: boolean; + /** + * Returns true if the {@link Scene#sampleHeight} and {@link Scene#sampleHeightMostDetailed} functions are supported. + */ + readonly sampleHeightSupported: boolean; + /** + * Returns true if the {@link Scene#clampToHeight} and {@link Scene#clampToHeightMostDetailed} functions are supported. + */ + readonly clampToHeightSupported: boolean; + /** + * Returns true if the {@link Scene#invertClassification} is supported. + */ + readonly invertClassificationSupported: boolean; + /** + * Returns true if specular environment maps are supported. + */ + readonly specularEnvironmentMapsSupported: boolean; + /** + * Gets or sets the depth-test ellipsoid. + */ + globe: Globe; + /** + * Gets the collection of primitives. + */ + readonly primitives: PrimitiveCollection; + /** + * Gets the collection of ground primitives. + */ + readonly groundPrimitives: PrimitiveCollection; + /** + * Gets or sets the camera. + */ + readonly camera: Camera; + /** + * Gets the controller for camera input handling. + */ + readonly screenSpaceCameraController: ScreenSpaceCameraController; + /** + * Get the map projection to use in 2D and Columbus View modes. + */ + readonly mapProjection: MapProjection; + /** + * Gets the collection of image layers that will be rendered on the globe. + */ + readonly imageryLayers: ImageryLayerCollection; + /** + * The terrain provider providing surface geometry for the globe. + */ + terrainProvider: TerrainProvider; + /** + * Gets an event that's raised when the terrain provider is changed + */ + readonly terrainProviderChanged: Event; + /** + * Gets the event that will be raised before the scene is updated or rendered. Subscribers to the event + * receive the Scene instance as the first parameter and the current time as the second parameter. + */ + readonly preUpdate: Event; + /** + * Gets the event that will be raised immediately after the scene is updated and before the scene is rendered. + * Subscribers to the event receive the Scene instance as the first parameter and the current time as the second + * parameter. + */ + readonly postUpdate: Event; + /** + * Gets the event that will be raised when an error is thrown inside the render function. + * The Scene instance and the thrown error are the only two parameters passed to the event handler. + * By default, errors are not rethrown after this event is raised, but that can be changed by setting + * the rethrowRenderErrors property. + */ + readonly renderError: Event; + /** + * Gets the event that will be raised after the scene is updated and immediately before the scene is rendered. + * Subscribers to the event receive the Scene instance as the first parameter and the current time as the second + * parameter. + */ + readonly preRender: Event; + /** + * Gets the event that will be raised immediately after the scene is rendered. Subscribers to the event + * receive the Scene instance as the first parameter and the current time as the second parameter. + */ + readonly postRender: Event; + /** + * Gets the simulation time when the scene was last rendered. Returns undefined if the scene has not yet been + * rendered. + */ + readonly lastRenderTime: JulianDate; + /** + * This property is for debugging only; it is not for production use. + *

+ * When {@link Scene.debugShowFrustums} is true, this contains + * properties with statistics about the number of command execute per frustum. + * totalCommands is the total number of commands executed, ignoring + * overlap. commandsInFrustums is an array with the number of times + * commands are executed redundantly, e.g., how many commands overlap two or + * three frustums. + *

+ */ + readonly debugFrustumStatistics: any; + /** + * Gets whether or not the scene is optimized for 3D only viewing. + */ + readonly scene3DOnly: boolean; + /** + * Gets whether or not the scene has order independent translucency enabled. + * Note that this only reflects the original construction option, and there are + * other factors that could prevent OIT from functioning on a given system configuration. + */ + readonly orderIndependentTranslucency: boolean; + /** + * Gets the unique identifier for this scene. + */ + readonly id: string; + /** + * Gets or sets the current mode of the scene. + */ + mode: SceneMode; + /** + * Gets the scalar used to exaggerate the terrain. + */ + readonly terrainExaggeration: number; + /** + * When true, splits the scene into two viewports with steroscopic views for the left and right eyes. + * Used for cardboard and WebVR. + */ + useWebVR: boolean; + /** + * Determines if the 2D map is rotatable or can be scrolled infinitely in the horizontal direction. + */ + readonly mapMode2D: MapMode2D; + /** + * Gets or sets the position of the Imagery splitter within the viewport. Valid values are between 0.0 and 1.0. + */ + imagerySplitPosition: number; + /** + * The distance from the camera at which to disable the depth test of billboards, labels and points + * to, for example, prevent clipping against terrain. When set to zero, the depth test should always + * be applied. When less than zero, the depth test should never be applied. Setting the disableDepthTestDistance + * property of a billboard, label or point will override this value. + */ + minimumDisableDepthTestDistance: number; + /** + * Whether or not to use a logarithmic depth buffer. Enabling this option will allow for less frustums in the multi-frustum, + * increasing performance. This property relies on fragmentDepth being supported. + */ + logarithmicDepthBuffer: boolean; + /** + * The value used for gamma correction. This is only used when rendering with high dynamic range. + */ + gamma: number; + /** + * Whether or not to use high dynamic range rendering. + */ + highDynamicRange: boolean; + /** + * Whether or not high dynamic range rendering is supported. + */ + readonly highDynamicRangeSupported: boolean; + /** + * Whether or not the camera is underneath the globe. + */ + readonly cameraUnderground: boolean; + /** + * Determines if a compressed texture format is supported. + * @param format - The texture format. May be the name of the format or the WebGL extension name, e.g. s3tc or WEBGL_compressed_texture_s3tc. + * @returns Whether or not the format is supported. + */ + getCompressedTextureFormatSupported(format: string): boolean; + /** + * Update and render the scene. It is usually not necessary to call this function + * directly because {@link CesiumWidget} or {@link Viewer} do it automatically. + * @param [time] - The simulation time at which to render. + */ + render(time?: JulianDate): void; + /** + * Requests a new rendered frame when {@link Scene#requestRenderMode} is set to true. + * The render rate will not exceed the {@link CesiumWidget#targetFrameRate}. + */ + requestRender(): void; + /** + * Returns an object with a `primitive` property that contains the first (top) primitive in the scene + * at a particular window coordinate or undefined if nothing is at the location. Other properties may + * potentially be set depending on the type of primitive and may be used to further identify the picked object. + *

+ * When a feature of a 3D Tiles tileset is picked, pick returns a {@link Cesium3DTileFeature} object. + *

+ * @example + * // On mouse over, color the feature yellow. + * handler.setInputAction(function(movement) { + * var feature = scene.pick(movement.endPosition); + * if (feature instanceof Cesium.Cesium3DTileFeature) { + * feature.color = Cesium.Color.YELLOW; + * } + * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); + * @param windowPosition - Window coordinates to perform picking on. + * @param [width = 3] - Width of the pick rectangle. + * @param [height = 3] - Height of the pick rectangle. + * @returns Object containing the picked primitive. + */ + pick(windowPosition: Cartesian2, width?: number, height?: number): any; + /** + * Returns the cartesian position reconstructed from the depth buffer and window position. + *

+ * The position reconstructed from the depth buffer in 2D may be slightly different from those + * reconstructed in 3D and Columbus view. This is caused by the difference in the distribution + * of depth values of perspective and orthographic projection. + *

+ *

+ * Set {@link Scene#pickTranslucentDepth} to true to include the depth of + * translucent primitives; otherwise, this essentially picks through translucent primitives. + *

+ * @param windowPosition - Window coordinates to perform picking on. + * @param [result] - The object on which to restore the result. + * @returns The cartesian position. + */ + pickPosition(windowPosition: Cartesian2, result?: Cartesian3): Cartesian3; + /** + * Returns a list of objects, each containing a `primitive` property, for all primitives at + * a particular window coordinate position. Other properties may also be set depending on the + * type of primitive and may be used to further identify the picked object. The primitives in + * the list are ordered by their visual order in the scene (front to back). + * @example + * var pickedObjects = scene.drillPick(new Cesium.Cartesian2(100.0, 200.0)); + * @param windowPosition - Window coordinates to perform picking on. + * @param [limit] - If supplied, stop drilling after collecting this many picks. + * @param [width = 3] - Width of the pick rectangle. + * @param [height = 3] - Height of the pick rectangle. + * @returns Array of objects, each containing 1 picked primitives. + */ + drillPick(windowPosition: Cartesian2, limit?: number, width?: number, height?: number): any[]; + /** + * Returns the height of scene geometry at the given cartographic position or undefined if there was no + * scene geometry to sample height from. The height of the input position is ignored. May be used to clamp objects to + * the globe, 3D Tiles, or primitives in the scene. + *

+ * This function only samples height from globe tiles and 3D Tiles that are rendered in the current view. Samples height + * from all other primitives regardless of their visibility. + *

+ * @example + * var position = new Cesium.Cartographic(-1.31968, 0.698874); + * var height = viewer.scene.sampleHeight(position); + * console.log(height); + * @param position - The cartographic position to sample height from. + * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not sample height from. + * @param [width = 0.1] - Width of the intersection volume in meters. + * @returns The height. This may be undefined if there was no scene geometry to sample height from. + */ + sampleHeight(position: Cartographic, objectsToExclude?: object[], width?: number): number; + /** + * Clamps the given cartesian position to the scene geometry along the geodetic surface normal. Returns the + * clamped position or undefined if there was no scene geometry to clamp to. May be used to clamp + * objects to the globe, 3D Tiles, or primitives in the scene. + *

+ * This function only clamps to globe tiles and 3D Tiles that are rendered in the current view. Clamps to + * all other primitives regardless of their visibility. + *

+ * @example + * // Clamp an entity to the underlying scene geometry + * var position = entity.position.getValue(Cesium.JulianDate.now()); + * entity.position = viewer.scene.clampToHeight(position); + * @param cartesian - The cartesian position. + * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not clamp to. + * @param [width = 0.1] - Width of the intersection volume in meters. + * @param [result] - An optional object to return the clamped position. + * @returns The modified result parameter or a new Cartesian3 instance if one was not provided. This may be undefined if there was no scene geometry to clamp to. + */ + clampToHeight(cartesian: Cartesian3, objectsToExclude?: object[], width?: number, result?: Cartesian3): Cartesian3; + /** + * Initiates an asynchronous {@link Scene#sampleHeight} query for an array of {@link Cartographic} positions + * using the maximum level of detail for 3D Tilesets in the scene. The height of the input positions is ignored. + * Returns a promise that is resolved when the query completes. Each point height is modified in place. + * If a height cannot be determined because no geometry can be sampled at that location, or another error occurs, + * the height is set to undefined. + * @example + * var positions = [ + * new Cesium.Cartographic(-1.31968, 0.69887), + * new Cesium.Cartographic(-1.10489, 0.83923) + * ]; + * var promise = viewer.scene.sampleHeightMostDetailed(positions); + * promise.then(function(updatedPosition) { + * // positions[0].height and positions[1].height have been updated. + * // updatedPositions is just a reference to positions. + * } + * @param positions - The cartographic positions to update with sampled heights. + * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not sample height from. + * @param [width = 0.1] - Width of the intersection volume in meters. + * @returns A promise that resolves to the provided list of positions when the query has completed. + */ + sampleHeightMostDetailed(positions: Cartographic[], objectsToExclude?: object[], width?: number): Promise; + /** + * Initiates an asynchronous {@link Scene#clampToHeight} query for an array of {@link Cartesian3} positions + * using the maximum level of detail for 3D Tilesets in the scene. Returns a promise that is resolved when + * the query completes. Each position is modified in place. If a position cannot be clamped because no geometry + * can be sampled at that location, or another error occurs, the element in the array is set to undefined. + * @example + * var cartesians = [ + * entities[0].position.getValue(Cesium.JulianDate.now()), + * entities[1].position.getValue(Cesium.JulianDate.now()) + * ]; + * var promise = viewer.scene.clampToHeightMostDetailed(cartesians); + * promise.then(function(updatedCartesians) { + * entities[0].position = updatedCartesians[0]; + * entities[1].position = updatedCartesians[1]; + * } + * @param cartesians - The cartesian positions to update with clamped positions. + * @param [objectsToExclude] - A list of primitives, entities, or 3D Tiles features to not clamp to. + * @param [width = 0.1] - Width of the intersection volume in meters. + * @returns A promise that resolves to the provided list of positions when the query has completed. + */ + clampToHeightMostDetailed(cartesians: Cartesian3[], objectsToExclude?: object[], width?: number): Promise; + /** + * Transforms a position in cartesian coordinates to canvas coordinates. This is commonly used to place an + * HTML element at the same screen position as an object in the scene. + * @example + * // Output the canvas position of longitude/latitude (0, 0) every time the mouse moves. + * var scene = widget.scene; + * var ellipsoid = scene.globe.ellipsoid; + * var position = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas); + * handler.setInputAction(function(movement) { + * console.log(scene.cartesianToCanvasCoordinates(position)); + * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); + * @param position - The position in cartesian coordinates. + * @param [result] - An optional object to return the input position transformed to canvas coordinates. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. This may be undefined if the input position is near the center of the ellipsoid. + */ + cartesianToCanvasCoordinates(position: Cartesian3, result?: Cartesian2): Cartesian2; + /** + * Instantly completes an active transition. + */ + completeMorph(): void; + /** + * Asynchronously transitions the scene to 2D. + * @param [duration = 2.0] - The amount of time, in seconds, for transition animations to complete. + */ + morphTo2D(duration?: number): void; + /** + * Asynchronously transitions the scene to Columbus View. + * @param [duration = 2.0] - The amount of time, in seconds, for transition animations to complete. + */ + morphToColumbusView(duration?: number): void; + /** + * Asynchronously transitions the scene to 3D. + * @param [duration = 2.0] - The amount of time, in seconds, for transition animations to complete. + */ + morphTo3D(duration?: number): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * scene = scene && scene.destroy(); + */ + destroy(): void; +} + +/** + * Indicates if the scene is viewed in 3D, 2D, or 2.5D Columbus view. + */ +export enum SceneMode { + /** + * Morphing between mode, e.g., 3D to 2D. + */ + MORPHING = 0, + /** + * Columbus View mode. A 2.5D perspective view where the map is laid out + * flat and objects with non-zero height are drawn above it. + */ + COLUMBUS_VIEW = 1, + /** + * 2D mode. The map is viewed top-down with an orthographic projection. + */ + SCENE2D = 2, + /** + * 3D mode. A traditional 3D perspective view of the globe. + */ + SCENE3D = 3 +} + +/** + * Functions that do scene-dependent transforms between rendering-related coordinate systems. + */ +export namespace SceneTransforms { + /** + * Transforms a position in WGS84 coordinates to window coordinates. This is commonly used to place an + * HTML element at the same screen position as an object in the scene. + * @example + * // Output the window position of longitude/latitude (0, 0) every time the mouse moves. + * var scene = widget.scene; + * var ellipsoid = scene.globe.ellipsoid; + * var position = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas); + * handler.setInputAction(function(movement) { + * console.log(Cesium.SceneTransforms.wgs84ToWindowCoordinates(scene, position)); + * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); + * @param scene - The scene. + * @param position - The position in WGS84 (world) coordinates. + * @param [result] - An optional object to return the input position transformed to window coordinates. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. This may be undefined if the input position is near the center of the ellipsoid. + */ + function wgs84ToWindowCoordinates(scene: Scene, position: Cartesian3, result?: Cartesian2): Cartesian2; + /** + * Transforms a position in WGS84 coordinates to drawing buffer coordinates. This may produce different + * results from SceneTransforms.wgs84ToWindowCoordinates when the browser zoom is not 100%, or on high-DPI displays. + * @example + * // Output the window position of longitude/latitude (0, 0) every time the mouse moves. + * var scene = widget.scene; + * var ellipsoid = scene.globe.ellipsoid; + * var position = Cesium.Cartesian3.fromDegrees(0.0, 0.0); + * var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas); + * handler.setInputAction(function(movement) { + * console.log(Cesium.SceneTransforms.wgs84ToWindowCoordinates(scene, position)); + * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); + * @param scene - The scene. + * @param position - The position in WGS84 (world) coordinates. + * @param [result] - An optional object to return the input position transformed to window coordinates. + * @returns The modified result parameter or a new Cartesian2 instance if one was not provided. This may be undefined if the input position is near the center of the ellipsoid. + */ + function wgs84ToDrawingBufferCoordinates(scene: Scene, position: Cartesian3, result?: Cartesian2): Cartesian2; +} + +/** + * Modifies the camera position and orientation based on mouse input to a canvas. + * @param scene - The scene. + */ +export class ScreenSpaceCameraController { + constructor(scene: Scene); + /** + * If true, inputs are allowed conditionally with the flags enableTranslate, enableZoom, + * enableRotate, enableTilt, and enableLook. If false, all inputs are disabled. + * + * NOTE: This setting is for temporary use cases, such as camera flights and + * drag-selection of regions (see Picking demo). It is typically set to false at the + * start of such events, and set true on completion. To keep inputs disabled + * past the end of camera flights, you must use the other booleans (enableTranslate, + * enableZoom, enableRotate, enableTilt, and enableLook). + */ + enableInputs: boolean; + /** + * If true, allows the user to pan around the map. If false, the camera stays locked at the current position. + * This flag only applies in 2D and Columbus view modes. + */ + enableTranslate: boolean; + /** + * If true, allows the user to zoom in and out. If false, the camera is locked to the current distance from the ellipsoid. + */ + enableZoom: boolean; + /** + * If true, allows the user to rotate the world which translates the user's position. + * This flag only applies in 2D and 3D. + */ + enableRotate: boolean; + /** + * If true, allows the user to tilt the camera. If false, the camera is locked to the current heading. + * This flag only applies in 3D and Columbus view. + */ + enableTilt: boolean; + /** + * If true, allows the user to use free-look. If false, the camera view direction can only be changed through translating + * or rotating. This flag only applies in 3D and Columbus view modes. + */ + enableLook: boolean; + /** + * A parameter in the range [0, 1) used to determine how long + * the camera will continue to spin because of inertia. + * With value of zero, the camera will have no inertia. + */ + inertiaSpin: number; + /** + * A parameter in the range [0, 1) used to determine how long + * the camera will continue to translate because of inertia. + * With value of zero, the camera will have no inertia. + */ + inertiaTranslate: number; + /** + * A parameter in the range [0, 1) used to determine how long + * the camera will continue to zoom because of inertia. + * With value of zero, the camera will have no inertia. + */ + inertiaZoom: number; + /** + * A parameter in the range [0, 1) used to limit the range + * of various user inputs to a percentage of the window width/height per animation frame. + * This helps keep the camera under control in low-frame-rate situations. + */ + maximumMovementRatio: number; + /** + * Sets the duration, in seconds, of the bounce back animations in 2D and Columbus view. + */ + bounceAnimationTime: number; + /** + * The minimum magnitude, in meters, of the camera position when zooming. Defaults to 1.0. + */ + minimumZoomDistance: number; + /** + * The maximum magnitude, in meters, of the camera position when zooming. Defaults to positive infinity. + */ + maximumZoomDistance: number; + /** + * The input that allows the user to pan around the map. This only applies in 2D and Columbus view modes. + *

+ * The type came be a {@link CameraEventType}, undefined, an object with eventType + * and modifier properties with types CameraEventType and {@link KeyboardEventModifier}, + * or an array of any of the preceding. + *

+ */ + translateEventTypes: CameraEventType | any[] | undefined; + /** + * The input that allows the user to zoom in/out. + *

+ * The type came be a {@link CameraEventType}, undefined, an object with eventType + * and modifier properties with types CameraEventType and {@link KeyboardEventModifier}, + * or an array of any of the preceding. + *

+ */ + zoomEventTypes: CameraEventType | any[] | undefined; + /** + * The input that allows the user to rotate around the globe or another object. This only applies in 3D and Columbus view modes. + *

+ * The type came be a {@link CameraEventType}, undefined, an object with eventType + * and modifier properties with types CameraEventType and {@link KeyboardEventModifier}, + * or an array of any of the preceding. + *

+ */ + rotateEventTypes: CameraEventType | any[] | undefined; + /** + * The input that allows the user to tilt in 3D and Columbus view or twist in 2D. + *

+ * The type came be a {@link CameraEventType}, undefined, an object with eventType + * and modifier properties with types CameraEventType and {@link KeyboardEventModifier}, + * or an array of any of the preceding. + *

+ */ + tiltEventTypes: CameraEventType | any[] | undefined; + /** + * The input that allows the user to change the direction the camera is viewing. This only applies in 3D and Columbus view modes. + *

+ * The type came be a {@link CameraEventType}, undefined, an object with eventType + * and modifier properties with types CameraEventType and {@link KeyboardEventModifier}, + * or an array of any of the preceding. + *

+ */ + lookEventTypes: CameraEventType | any[] | undefined; + /** + * The minimum height the camera must be before picking the terrain instead of the ellipsoid. + */ + minimumPickingTerrainHeight: number; + /** + * The minimum height the camera must be before testing for collision with terrain. + */ + minimumCollisionTerrainHeight: number; + /** + * The minimum height the camera must be before switching from rotating a track ball to + * free look when clicks originate on the sky or in space. + */ + minimumTrackBallHeight: number; + /** + * Enables or disables camera collision detection with terrain. + */ + enableCollisionDetection: boolean; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Removes mouse listeners held by this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * controller = controller && controller.destroy(); + */ + destroy(): void; +} + +/** + * Use {@link Viewer#shadowMap} to get the scene's shadow map. Do not construct this directly. + * + *

+ * The normalOffset bias pushes the shadows forward slightly, and may be disabled + * for applications that require ultra precise shadows. + *

+ * @param options - An object containing the following properties: + * @param options.lightCamera - A camera representing the light source. + * @param [options.enabled = true] - Whether the shadow map is enabled. + * @param [options.isPointLight = false] - Whether the light source is a point light. Point light shadows do not use cascades. + * @param [options.pointLightRadius = 100.0] - Radius of the point light. + * @param [options.cascadesEnabled = true] - Use multiple shadow maps to cover different partitions of the view frustum. + * @param [options.numberOfCascades = 4] - The number of cascades to use for the shadow map. Supported values are one and four. + * @param [options.maximumDistance = 5000.0] - The maximum distance used for generating cascaded shadows. Lower values improve shadow quality. + * @param [options.size = 2048] - The width and height, in pixels, of each shadow map. + * @param [options.softShadows = false] - Whether percentage-closer-filtering is enabled for producing softer shadows. + * @param [options.darkness = 0.3] - The shadow darkness. + * @param [options.normalOffset = true] - Whether a normal bias is applied to shadows. + */ +export class ShadowMap { + constructor(options: { + lightCamera: Camera; + enabled?: boolean; + isPointLight?: boolean; + pointLightRadius?: boolean; + cascadesEnabled?: boolean; + numberOfCascades?: number; + maximumDistance?: number; + size?: number; + softShadows?: boolean; + darkness?: number; + normalOffset?: boolean; + }); + /** + * Determines the darkness of the shadows. + */ + darkness: number; + /** + * Determines the maximum distance of the shadow map. Only applicable for cascaded shadows. Larger distances may result in lower quality shadows. + */ + maximumDistance: number; + /** + * Determines if the shadow map will be shown. + */ + enabled: boolean; + /** + * Determines if a normal bias will be applied to shadows. + */ + normalOffset: boolean; + /** + * Determines if soft shadows are enabled. Uses pcf filtering which requires more texture reads and may hurt performance. + */ + softShadows: boolean; + /** + * The width and height, in pixels, of each shadow map. + */ + size: number; +} + +/** + * Specifies whether the object casts or receives shadows from light sources when + * shadows are enabled. + */ +export enum ShadowMode { + /** + * The object does not cast or receive shadows. + */ + DISABLED = 0, + /** + * The object casts and receives shadows. + */ + ENABLED = 1, + /** + * The object casts shadows only. + */ + CAST_ONLY = 2, + /** + * The object receives shadows only. + */ + RECEIVE_ONLY = 3 +} + +export namespace SingleTileImageryProvider { + /** + * Initialization options for the SingleTileImageryProvider constructor + * @property url - The url for the tile. + * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle, in radians, covered by the image. + * @property [credit] - A credit for the data source, which is displayed on the canvas. + * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + */ + type ConstructorOptions = { + url: Resource | string; + rectangle?: Rectangle; + credit?: Credit | string; + ellipsoid?: Ellipsoid; + }; +} + +/** + * Provides a single, top-level imagery tile. The single image is assumed to use a + * {@link GeographicTilingScheme}. + * @param options - Object describing initialization options + */ +export class SingleTileImageryProvider { + constructor(options: SingleTileImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the URL of the single, top-level imagery tile. + */ + readonly url: string; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link SingleTileImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link SingleTileImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link SingleTileImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link SingleTileImageryProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link SingleTileImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link SingleTileImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link SingleTileImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link SingleTileImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link SingleTileImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Picking features is not currently supported by this imagery provider, so this function simply returns + * undefined. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +/** + * An atmosphere drawn around the limb of the provided ellipsoid. Based on + * {@link https://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter16.html|Accurate Atmospheric Scattering} + * in GPU Gems 2. + *

+ * This is only supported in 3D. Atmosphere is faded out when morphing to 2D or Columbus view. + *

+ * @example + * scene.skyAtmosphere = new Cesium.SkyAtmosphere(); + * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid that the atmosphere is drawn around. + */ +export class SkyAtmosphere { + constructor(ellipsoid?: Ellipsoid); + /** + * Determines if the atmosphere is shown. + */ + show: boolean; + /** + * Compute atmosphere per-fragment instead of per-vertex. + * This produces better looking atmosphere with a slight performance penalty. + */ + perFragmentAtmosphere: boolean; + /** + * The hue shift to apply to the atmosphere. Defaults to 0.0 (no shift). + * A hue shift of 1.0 indicates a complete rotation of the hues available. + */ + hueShift: number; + /** + * The saturation shift to apply to the atmosphere. Defaults to 0.0 (no shift). + * A saturation shift of -1.0 is monochrome. + */ + saturationShift: number; + /** + * The brightness shift to apply to the atmosphere. Defaults to 0.0 (no shift). + * A brightness shift of -1.0 is complete darkness, which will let space show through. + */ + brightnessShift: number; + /** + * Gets the ellipsoid the atmosphere is drawn around. + */ + readonly ellipsoid: Ellipsoid; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * skyAtmosphere = skyAtmosphere && skyAtmosphere.destroy(); + */ + destroy(): void; +} + +/** + * A sky box around the scene to draw stars. The sky box is defined using the True Equator Mean Equinox (TEME) axes. + *

+ * This is only supported in 3D. The sky box is faded out when morphing to 2D or Columbus view. The size of + * the sky box must not exceed {@link Scene#maximumCubeMapSize}. + *

+ * @example + * scene.skyBox = new Cesium.SkyBox({ + * sources : { + * positiveX : 'skybox_px.png', + * negativeX : 'skybox_nx.png', + * positiveY : 'skybox_py.png', + * negativeY : 'skybox_ny.png', + * positiveZ : 'skybox_pz.png', + * negativeZ : 'skybox_nz.png' + * } + * }); + * @param options - Object with the following properties: + * @param [options.sources] - The source URL or Image object for each of the six cube map faces. See the example below. + * @param [options.show = true] - Determines if this primitive will be shown. + */ +export class SkyBox { + constructor(options: { + sources?: any; + show?: boolean; + }); + /** + * The sources used to create the cube map faces: an object + * with positiveX, negativeX, positiveY, + * negativeY, positiveZ, and negativeZ properties. + * These can be either URLs or Image objects. + */ + sources: any; + /** + * Determines if the sky box will be shown. + */ + show: boolean; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * get the draw commands needed to render this primitive. + *

+ * Do not call this function directly. This is documented just to + * list the exceptions that may be propagated when the scene is rendered: + *

+ */ + update(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * skyBox = skyBox && skyBox.destroy(); + */ + destroy(): void; +} + +/** + * A ParticleEmitter that emits particles within a sphere. + * Particles will be positioned randomly within the sphere and have initial velocities emanating from the center of the sphere. + * @param [radius = 1.0] - The radius of the sphere in meters. + */ +export class SphereEmitter { + constructor(radius?: number); + /** + * The radius of the sphere in meters. + */ + radius: number; +} + +/** + * Determines the function used to compare stencil values for the stencil test. + */ +export enum StencilFunction { + /** + * The stencil test never passes. + */ + NEVER = WebGLConstants.NEVER, + /** + * The stencil test passes when the masked reference value is less than the masked stencil value. + */ + LESS = WebGLConstants.LESS, + /** + * The stencil test passes when the masked reference value is equal to the masked stencil value. + */ + EQUAL = WebGLConstants.EQUAL, + /** + * The stencil test passes when the masked reference value is less than or equal to the masked stencil value. + */ + LESS_OR_EQUAL = WebGLConstants.LEQUAL, + /** + * The stencil test passes when the masked reference value is greater than the masked stencil value. + */ + GREATER = WebGLConstants.GREATER, + /** + * The stencil test passes when the masked reference value is not equal to the masked stencil value. + */ + NOT_EQUAL = WebGLConstants.NOTEQUAL, + /** + * The stencil test passes when the masked reference value is greater than or equal to the masked stencil value. + */ + GREATER_OR_EQUAL = WebGLConstants.GEQUAL, + /** + * The stencil test always passes. + */ + ALWAYS = WebGLConstants.ALWAYS +} + +/** + * Determines the action taken based on the result of the stencil test. + */ +export enum StencilOperation { + /** + * Sets the stencil buffer value to zero. + */ + ZERO = WebGLConstants.ZERO, + /** + * Does not change the stencil buffer. + */ + KEEP = WebGLConstants.KEEP, + /** + * Replaces the stencil buffer value with the reference value. + */ + REPLACE = WebGLConstants.REPLACE, + /** + * Increments the stencil buffer value, clamping to unsigned byte. + */ + INCREMENT = WebGLConstants.INCR, + /** + * Decrements the stencil buffer value, clamping to zero. + */ + DECREMENT = WebGLConstants.DECR, + /** + * Bitwise inverts the existing stencil buffer value. + */ + INVERT = WebGLConstants.INVERT, + /** + * Increments the stencil buffer value, wrapping to zero when exceeding the unsigned byte range. + */ + INCREMENT_WRAP = WebGLConstants.INCR_WRAP, + /** + * Decrements the stencil buffer value, wrapping to the maximum unsigned byte instead of going below zero. + */ + DECREMENT_WRAP = WebGLConstants.DECR_WRAP +} + +/** + * An expression for a style applied to a {@link Cesium3DTileset}. + *

+ * Derived classes of this interface evaluate expressions in the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}. + *

+ *

+ * This type describes an interface and is not intended to be instantiated directly. + *

+ */ +export class StyleExpression { + constructor(); + /** + * Evaluates the result of an expression, optionally using the provided feature's properties. If the result of + * the expression in the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language} + * is of type Boolean, Number, or String, the corresponding JavaScript + * primitive type will be returned. If the result is a RegExp, a Javascript RegExp + * object will be returned. If the result is a Cartesian2, Cartesian3, or Cartesian4, + * a {@link Cartesian2}, {@link Cartesian3}, or {@link Cartesian4} object will be returned. If the result argument is + * a {@link Color}, the {@link Cartesian4} value is converted to a {@link Color} and then returned. + * @param feature - The feature whose properties may be used as variables in the expression. + * @param [result] - The object onto which to store the result. + * @returns The result of evaluating the expression. + */ + evaluate(feature: Cesium3DTileFeature, result?: any): boolean | number | string | RegExp | Cartesian2 | Cartesian3 | Cartesian4 | Color; + /** + * Evaluates the result of a Color expression, optionally using the provided feature's properties. + *

+ * This is equivalent to {@link StyleExpression#evaluate} but always returns a {@link Color} object. + *

+ * @param feature - The feature whose properties may be used as variables in the expression. + * @param [result] - The object in which to store the result. + * @returns The modified result parameter or a new Color instance if one was not provided. + */ + evaluateColor(feature: Cesium3DTileFeature, result?: Color): Color; +} + +/** + * Draws a sun billboard. + *

This is only supported in 3D and Columbus view.

+ * @example + * scene.sun = new Cesium.Sun(); + */ +export class Sun { + constructor(); + /** + * Determines if the sun will be shown. + */ + show: boolean; + /** + * Gets or sets a number that controls how "bright" the Sun's lens flare appears + * to be. Zero shows just the Sun's disc without any flare. + * Use larger values for a more pronounced flare around the Sun. + */ + glowFactor: number; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * sun = sun && sun.destroy(); + * + * + */ + destroy(): void; +} + +/** + * A directional light source that originates from the Sun. + * @param [options] - Object with the following properties: + * @param [options.color = Color.WHITE] - The light's color. + * @param [options.intensity = 2.0] - The light's intensity. + */ +export class SunLight { + constructor(options?: { + color?: Color; + intensity?: number; + }); + /** + * The color of the light. + */ + color: Color; + /** + * The intensity of the light. + */ + intensity: number; +} + +export namespace TileCoordinatesImageryProvider { + /** + * Initialization options for the TileCoordinatesImageryProvider constructor + * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme for which to draw tiles. + * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified, + * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither + * parameter is specified, the WGS84 ellipsoid is used. + * @property [color = Color.YELLOW] - The color to draw the tile box and label. + * @property [tileWidth = 256] - The width of the tile for level-of-detail selection purposes. + * @property [tileHeight = 256] - The height of the tile for level-of-detail selection purposes. + */ + type ConstructorOptions = { + tilingScheme?: TilingScheme; + ellipsoid?: Ellipsoid; + color?: Color; + tileWidth?: number; + tileHeight?: number; + }; +} + +/** + * An {@link ImageryProvider} that draws a box around every rendered tile in the tiling scheme, and draws + * a label inside it indicating the X, Y, Level coordinates of the tile. This is mostly useful for + * debugging terrain and imagery rendering problems. + * @param [options] - Object describing initialization options + */ +export class TileCoordinatesImageryProvider { + constructor(options?: TileCoordinatesImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link TileCoordinatesImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link TileCoordinatesImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link TileCoordinatesImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link TileCoordinatesImageryProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link TileCoordinatesImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link TileCoordinatesImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link TileCoordinatesImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link TileCoordinatesImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. Setting this property to false reduces memory usage + * and texture upload time. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link TileCoordinatesImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Picking features is not currently supported by this imagery provider, so this function simply returns + * undefined. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +/** + * A policy for discarding tile images according to some criteria. This type describes an + * interface and is not intended to be instantiated directly. + */ +export class TileDiscardPolicy { + constructor(); + /** + * Determines if the discard policy is ready to process images. + * @returns True if the discard policy is ready to process images; otherwise, false. + */ + isReady(): boolean; + /** + * Given a tile image, decide whether to discard that image. + * @param image - An image to test. + * @returns True if the image should be discarded; otherwise, false. + */ + shouldDiscardImage(image: HTMLImageElement): boolean; +} + +export namespace TileMapServiceImageryProvider { + /** + * Initialization options for the TileMapServiceImageryProvider constructor + * @property [url = '.'] - Path to image tiles on server. + * @property [fileExtension = 'png'] - The file extension for images on the server. + * @property [credit = ''] - A credit for the data source, which is displayed on the canvas. + * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when specifying + * this that the number of tiles at the minimum level is small, such as four or less. A larger number is likely + * to result in rendering problems. + * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit. + * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle, in radians, covered by the image. + * @property [tilingScheme] - The tiling scheme specifying how the ellipsoidal + * surface is broken into tiles. If this parameter is not provided, a {@link WebMercatorTilingScheme} + * is used. + * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified, + * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither + * parameter is specified, the WGS84 ellipsoid is used. + * @property [tileWidth = 256] - Pixel width of image tiles. + * @property [tileHeight = 256] - Pixel height of image tiles. + * @property [flipXY] - Older versions of gdal2tiles.py flipped X and Y values in tilemapresource.xml. + * Specifying this option will do the same, allowing for loading of these incorrect tilesets. + */ + type ConstructorOptions = { + url?: Resource | string | Promise | Promise; + fileExtension?: string; + credit?: Credit | string; + minimumLevel?: number; + maximumLevel?: number; + rectangle?: Rectangle; + tilingScheme?: TilingScheme; + ellipsoid?: Ellipsoid; + tileWidth?: number; + tileHeight?: number; + flipXY?: boolean; + }; +} + +/** + * An imagery provider that provides tiled imagery as generated by + * {@link http://www.maptiler.org/|MapTiler}, {@link http://www.klokan.cz/projects/gdal2tiles/|GDAL2Tiles}, etc. + * @example + * var tms = new Cesium.TileMapServiceImageryProvider({ + * url : '../images/cesium_maptiler/Cesium_Logo_Color', + * fileExtension: 'png', + * maximumLevel: 4, + * rectangle: new Cesium.Rectangle( + * Cesium.Math.toRadians(-120.0), + * Cesium.Math.toRadians(20.0), + * Cesium.Math.toRadians(-60.0), + * Cesium.Math.toRadians(40.0)) + * }); + * @param options - Object describing initialization options + */ +export class TileMapServiceImageryProvider extends UrlTemplateImageryProvider { + constructor(options: TileMapServiceImageryProvider.ConstructorOptions); +} + +/** + * Provides functionality for ImageryProviders that have time dynamic imagery + * @param options - Object with the following properties: + * @param options.clock - A Clock instance that is used when determining the value for the time dimension. Required when options.times is specified. + * @param options.times - TimeIntervalCollection with its data property being an object containing time dynamic dimension and their values. + * @param options.requestImageFunction - A function that will request imagery tiles. + * @param options.reloadFunction - A function that will be called when all imagery tiles need to be reloaded. + */ +export class TimeDynamicImagery { + constructor(options: { + clock: Clock; + times: TimeIntervalCollection; + requestImageFunction: (...params: any[]) => any; + reloadFunction: (...params: any[]) => any; + }); + /** + * Gets or sets a clock that is used to get keep the time used for time dynamic parameters. + */ + clock: Clock; + /** + * Gets or sets a time interval collection. + */ + times: TimeIntervalCollection; + /** + * Gets the current interval. + */ + currentInterval: TimeInterval; + /** + * Gets the tile from the cache if its available. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if the tile is not in the cache. + */ + getFromCache(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Checks if the next interval is approaching and will start preload the tile if necessary. Otherwise it will + * just add the tile to a list to preload when we approach the next interval. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + */ + checkApproachingInterval(x: number, y: number, level: number, request?: Request): void; +} + +/** + * Provides playback of time-dynamic point cloud data. + *

+ * Point cloud frames are prefetched in intervals determined by the average frame load time and the current clock speed. + * If intermediate frames cannot be loaded in time to meet playback speed, they will be skipped. If frames are sufficiently + * small or the clock is sufficiently slow then no frames will be skipped. + *

+ * @param options - Object with the following properties: + * @param options.clock - A {@link Clock} instance that is used when determining the value for the time dimension. + * @param options.intervals - A {@link TimeIntervalCollection} with its data property being an object containing a uri to a 3D Tiles Point Cloud tile and an optional transform. + * @param [options.show = true] - Determines if the point cloud will be shown. + * @param [options.modelMatrix = Matrix4.IDENTITY] - A 4x4 transformation matrix that transforms the point cloud. + * @param [options.shadows = ShadowMode.ENABLED] - Determines whether the point cloud casts or receives shadows from light sources. + * @param [options.maximumMemoryUsage = 256] - The maximum amount of memory in MB that can be used by the point cloud. + * @param [options.shading] - Options for constructing a {@link PointCloudShading} object to control point attenuation and eye dome lighting. + * @param [options.style] - The style, defined using the {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}, applied to each point in the point cloud. + * @param [options.clippingPlanes] - The {@link ClippingPlaneCollection} used to selectively disable rendering the point cloud. + */ +export class TimeDynamicPointCloud { + constructor(options: { + clock: Clock; + intervals: TimeIntervalCollection; + show?: boolean; + modelMatrix?: Matrix4; + shadows?: ShadowMode; + maximumMemoryUsage?: number; + shading?: any; + style?: Cesium3DTileStyle; + clippingPlanes?: ClippingPlaneCollection; + }); + /** + * Determines if the point cloud will be shown. + */ + show: boolean; + /** + * A 4x4 transformation matrix that transforms the point cloud. + */ + modelMatrix: Matrix4; + /** + * Determines whether the point cloud casts or receives shadows from light sources. + *

+ * Enabling shadows has a performance impact. A point cloud that casts shadows must be rendered twice, once from the camera and again from the light's point of view. + *

+ *

+ * Shadows are rendered only when {@link Viewer#shadows} is true. + *

+ */ + shadows: ShadowMode; + /** + * The maximum amount of GPU memory (in MB) that may be used to cache point cloud frames. + *

+ * Frames that are not being loaded or rendered are unloaded to enforce this. + *

+ *

+ * If decreasing this value results in unloading tiles, the tiles are unloaded the next frame. + *

+ */ + maximumMemoryUsage: number; + /** + * Options for controlling point size based on geometric error and eye dome lighting. + */ + shading: PointCloudShading; + /** + * The style, defined using the + * {@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}, + * applied to each point in the point cloud. + *

+ * Assign undefined to remove the style, which will restore the visual + * appearance of the point cloud to its default when no style was applied. + *

+ * @example + * pointCloud.style = new Cesium.Cesium3DTileStyle({ + * color : { + * conditions : [ + * ['${Classification} === 0', 'color("purple", 0.5)'], + * ['${Classification} === 1', 'color("red")'], + * ['true', '${COLOR}'] + * ] + * }, + * show : '${Classification} !== 2' + * }); + */ + style: Cesium3DTileStyle; + /** + * The event fired to indicate that a frame failed to load. A frame may fail to load if the + * request for its uri fails or processing fails due to invalid content. + *

+ * If there are no event listeners, error messages will be logged to the console. + *

+ *

+ * The error object passed to the listener contains two properties: + *

    + *
  • uri: the uri of the failed frame.
  • + *
  • message: the error message.
  • + *
+ * @example + * pointCloud.frameFailed.addEventListener(function(error) { + * console.log('An error occurred loading frame: ' + error.uri); + * console.log('Error: ' + error.message); + * }); + */ + frameFailed: Event; + /** + * The event fired to indicate that a new frame was rendered. + *

+ * The time dynamic point cloud {@link TimeDynamicPointCloud} is passed to the event listener. + *

+ * @example + * pointCloud.frameChanged.addEventListener(function(timeDynamicPointCloud) { + * viewer.camera.viewBoundingSphere(timeDynamicPointCloud.boundingSphere); + * }); + */ + frameChanged: Event; + /** + * The {@link ClippingPlaneCollection} used to selectively disable rendering the point cloud. + */ + clippingPlanes: ClippingPlaneCollection; + /** + * The total amount of GPU memory in bytes used by the point cloud. + */ + readonly totalMemoryUsageInBytes: number; + /** + * The bounding sphere of the frame being rendered. Returns undefined if no frame is being rendered. + */ + readonly boundingSphere: BoundingSphere; + /** + * Gets the promise that will be resolved when the point cloud renders a frame for the first time. + */ + readonly readyPromise: Promise; + /** + * Marks the point cloud's {@link TimeDynamicPointCloud#style} as dirty, which forces all + * points to re-evaluate the style in the next frame. + */ + makeStyleDirty(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns true if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * pointCloud = pointCloud && pointCloud.destroy(); + */ + destroy(): void; +} + +export namespace UrlTemplateImageryProvider { + /** + * Initialization options for the UrlTemplateImageryProvider constructor + * @property [options] - Object with the following properties: + * @property url - The URL template to use to request tiles. It has the following keywords: + *
    + *
  • {z}: The level of the tile in the tiling scheme. Level zero is the root of the quadtree pyramid.
  • + *
  • {x}: The tile X coordinate in the tiling scheme, where 0 is the Westernmost tile.
  • + *
  • {y}: The tile Y coordinate in the tiling scheme, where 0 is the Northernmost tile.
  • + *
  • {s}: One of the available subdomains, used to overcome browser limits on the number of simultaneous requests per host.
  • + *
  • {reverseX}: The tile X coordinate in the tiling scheme, where 0 is the Easternmost tile.
  • + *
  • {reverseY}: The tile Y coordinate in the tiling scheme, where 0 is the Southernmost tile.
  • + *
  • {reverseZ}: The level of the tile in the tiling scheme, where level zero is the maximum level of the quadtree pyramid. In order to use reverseZ, maximumLevel must be defined.
  • + *
  • {westDegrees}: The Western edge of the tile in geodetic degrees.
  • + *
  • {southDegrees}: The Southern edge of the tile in geodetic degrees.
  • + *
  • {eastDegrees}: The Eastern edge of the tile in geodetic degrees.
  • + *
  • {northDegrees}: The Northern edge of the tile in geodetic degrees.
  • + *
  • {westProjected}: The Western edge of the tile in projected coordinates of the tiling scheme.
  • + *
  • {southProjected}: The Southern edge of the tile in projected coordinates of the tiling scheme.
  • + *
  • {eastProjected}: The Eastern edge of the tile in projected coordinates of the tiling scheme.
  • + *
  • {northProjected}: The Northern edge of the tile in projected coordinates of the tiling scheme.
  • + *
  • {width}: The width of each tile in pixels.
  • + *
  • {height}: The height of each tile in pixels.
  • + *
+ * @property [pickFeaturesUrl] - The URL template to use to pick features. If this property is not specified, + * {@link UrlTemplateImageryProvider#pickFeatures} will immediately returned undefined, indicating no + * features picked. The URL template supports all of the keywords supported by the url + * parameter, plus the following: + *
    + *
  • {i}: The pixel column (horizontal coordinate) of the picked position, where the Westernmost pixel is 0.
  • + *
  • {j}: The pixel row (vertical coordinate) of the picked position, where the Northernmost pixel is 0.
  • + *
  • {reverseI}: The pixel column (horizontal coordinate) of the picked position, where the Easternmost pixel is 0.
  • + *
  • {reverseJ}: The pixel row (vertical coordinate) of the picked position, where the Southernmost pixel is 0.
  • + *
  • {longitudeDegrees}: The longitude of the picked position in degrees.
  • + *
  • {latitudeDegrees}: The latitude of the picked position in degrees.
  • + *
  • {longitudeProjected}: The longitude of the picked position in the projected coordinates of the tiling scheme.
  • + *
  • {latitudeProjected}: The latitude of the picked position in the projected coordinates of the tiling scheme.
  • + *
  • {format}: The format in which to get feature information, as specified in the {@link GetFeatureInfoFormat}.
  • + *
+ * @property [urlSchemeZeroPadding] - Gets the URL scheme zero padding for each tile coordinate. The format is '000' where + * each coordinate will be padded on the left with zeros to match the width of the passed string of zeros. e.g. Setting: + * urlSchemeZeroPadding : { '{x}' : '0000'} + * will cause an 'x' value of 12 to return the string '0012' for {x} in the generated URL. + * It the passed object has the following keywords: + *
    + *
  • {z}: The zero padding for the level of the tile in the tiling scheme.
  • + *
  • {x}: The zero padding for the tile X coordinate in the tiling scheme.
  • + *
  • {y}: The zero padding for the the tile Y coordinate in the tiling scheme.
  • + *
  • {reverseX}: The zero padding for the tile reverseX coordinate in the tiling scheme.
  • + *
  • {reverseY}: The zero padding for the tile reverseY coordinate in the tiling scheme.
  • + *
  • {reverseZ}: The zero padding for the reverseZ coordinate of the tile in the tiling scheme.
  • + *
+ * @property [subdomains = 'abc'] - The subdomains to use for the {s} placeholder in the URL template. + * If this parameter is a single string, each character in the string is a subdomain. If it is + * an array, each element in the array is a subdomain. + * @property [credit = ''] - A credit for the data source, which is displayed on the canvas. + * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when specifying + * this that the number of tiles at the minimum level is small, such as four or less. A larger number is likely + * to result in rendering problems. + * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit. + * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle, in radians, covered by the image. + * @property [tilingScheme = WebMercatorTilingScheme] - The tiling scheme specifying how the ellipsoidal + * surface is broken into tiles. If this parameter is not provided, a {@link WebMercatorTilingScheme} + * is used. + * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified, + * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither + * parameter is specified, the WGS84 ellipsoid is used. + * @property [tileWidth = 256] - Pixel width of image tiles. + * @property [tileHeight = 256] - Pixel height of image tiles. + * @property [hasAlphaChannel = true] - true if the images provided by this imagery provider + * include an alpha channel; otherwise, false. If this property is false, an alpha channel, if + * present, will be ignored. If this property is true, any images without an alpha channel will + * be treated as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are potentially reduced. + * @property [getFeatureInfoFormats] - The formats in which to get feature information at a + * specific location when {@link UrlTemplateImageryProvider#pickFeatures} is invoked. If this + * parameter is not specified, feature picking is disabled. + * @property [enablePickFeatures = true] - If true, {@link UrlTemplateImageryProvider#pickFeatures} will + * request the pickFeaturesUrl and attempt to interpret the features included in the response. If false, + * {@link UrlTemplateImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable + * features) without communicating with the server. Set this property to false if you know your data + * source does not support picking features or if you don't want this provider's features to be pickable. Note + * that this can be dynamically overridden by modifying the {@link UriTemplateImageryProvider#enablePickFeatures} + * property. + * @property [customTags] - Allow to replace custom keywords in the URL template. The object must have strings as keys and functions as values. + */ + type ConstructorOptions = { + options?: Promise | any; + url: Resource | string; + pickFeaturesUrl?: Resource | string; + urlSchemeZeroPadding?: any; + subdomains?: string | string[]; + credit?: Credit | string; + minimumLevel?: number; + maximumLevel?: number; + rectangle?: Rectangle; + tilingScheme?: TilingScheme; + ellipsoid?: Ellipsoid; + tileWidth?: number; + tileHeight?: number; + hasAlphaChannel?: boolean; + getFeatureInfoFormats?: GetFeatureInfoFormat[]; + enablePickFeatures?: boolean; + customTags?: any; + }; +} + +/** + * Provides imagery by requesting tiles using a specified URL template. + * @example + * // Access Natural Earth II imagery, which uses a TMS tiling scheme and Geographic (EPSG:4326) project + * var tms = new Cesium.UrlTemplateImageryProvider({ + * url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII') + '/{z}/{x}/{reverseY}.jpg', + * credit : '© Analytical Graphics, Inc.', + * tilingScheme : new Cesium.GeographicTilingScheme(), + * maximumLevel : 5 + * }); + * // Access the CartoDB Positron basemap, which uses an OpenStreetMap-like tiling scheme. + * var positron = new Cesium.UrlTemplateImageryProvider({ + * url : 'http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', + * credit : 'Map tiles by CartoDB, under CC BY 3.0. Data by OpenStreetMap, under ODbL.' + * }); + * // Access a Web Map Service (WMS) server. + * var wms = new Cesium.UrlTemplateImageryProvider({ + * url : 'https://programs.communications.gov.au/geoserver/ows?tiled=true&' + + * 'transparent=true&format=image%2Fpng&exceptions=application%2Fvnd.ogc.se_xml&' + + * 'styles=&service=WMS&version=1.1.1&request=GetMap&' + + * 'layers=public%3AMyBroadband_Availability&srs=EPSG%3A3857&' + + * 'bbox={westProjected}%2C{southProjected}%2C{eastProjected}%2C{northProjected}&' + + * 'width=256&height=256', + * rectangle : Cesium.Rectangle.fromDegrees(96.799393, -43.598214999057824, 153.63925700000001, -9.2159219997013) + * }); + * // Using custom tags in your template url. + * var custom = new Cesium.UrlTemplateImageryProvider({ + * url : 'https://yoururl/{Time}/{z}/{y}/{x}.png', + * customTags : { + * Time: function(imageryProvider, x, y, level) { + * return '20171231' + * } + * } + * }); + * @param options - Object describing initialization options + */ +export class UrlTemplateImageryProvider { + constructor(options: UrlTemplateImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets or sets a value indicating whether feature picking is enabled. If true, {@link UrlTemplateImageryProvider#pickFeatures} will + * request the options.pickFeaturesUrl and attempt to interpret the features included in the response. If false, + * {@link UrlTemplateImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable + * features) without communicating with the server. Set this property to false if you know your data + * source does not support picking features or if you don't want this provider's features to be pickable. + */ + enablePickFeatures: boolean; + /** + * Gets the URL template to use to request tiles. It has the following keywords: + *
    + *
  • {z}: The level of the tile in the tiling scheme. Level zero is the root of the quadtree pyramid.
  • + *
  • {x}: The tile X coordinate in the tiling scheme, where 0 is the Westernmost tile.
  • + *
  • {y}: The tile Y coordinate in the tiling scheme, where 0 is the Northernmost tile.
  • + *
  • {s}: One of the available subdomains, used to overcome browser limits on the number of simultaneous requests per host.
  • + *
  • {reverseX}: The tile X coordinate in the tiling scheme, where 0 is the Easternmost tile.
  • + *
  • {reverseY}: The tile Y coordinate in the tiling scheme, where 0 is the Southernmost tile.
  • + *
  • {reverseZ}: The level of the tile in the tiling scheme, where level zero is the maximum level of the quadtree pyramid. In order to use reverseZ, maximumLevel must be defined.
  • + *
  • {westDegrees}: The Western edge of the tile in geodetic degrees.
  • + *
  • {southDegrees}: The Southern edge of the tile in geodetic degrees.
  • + *
  • {eastDegrees}: The Eastern edge of the tile in geodetic degrees.
  • + *
  • {northDegrees}: The Northern edge of the tile in geodetic degrees.
  • + *
  • {westProjected}: The Western edge of the tile in projected coordinates of the tiling scheme.
  • + *
  • {southProjected}: The Southern edge of the tile in projected coordinates of the tiling scheme.
  • + *
  • {eastProjected}: The Eastern edge of the tile in projected coordinates of the tiling scheme.
  • + *
  • {northProjected}: The Northern edge of the tile in projected coordinates of the tiling scheme.
  • + *
  • {width}: The width of each tile in pixels.
  • + *
  • {height}: The height of each tile in pixels.
  • + *
+ */ + readonly url: string; + /** + * Gets the URL scheme zero padding for each tile coordinate. The format is '000' where each coordinate will be padded on + * the left with zeros to match the width of the passed string of zeros. e.g. Setting: + * urlSchemeZeroPadding : { '{x}' : '0000'} + * will cause an 'x' value of 12 to return the string '0012' for {x} in the generated URL. + * It has the following keywords: + *
    + *
  • {z}: The zero padding for the level of the tile in the tiling scheme.
  • + *
  • {x}: The zero padding for the tile X coordinate in the tiling scheme.
  • + *
  • {y}: The zero padding for the the tile Y coordinate in the tiling scheme.
  • + *
  • {reverseX}: The zero padding for the tile reverseX coordinate in the tiling scheme.
  • + *
  • {reverseY}: The zero padding for the tile reverseY coordinate in the tiling scheme.
  • + *
  • {reverseZ}: The zero padding for the reverseZ coordinate of the tile in the tiling scheme.
  • + *
+ */ + readonly urlSchemeZeroPadding: any; + /** + * Gets the URL template to use to use to pick features. If this property is not specified, + * {@link UrlTemplateImageryProvider#pickFeatures} will immediately return undefined, indicating no + * features picked. The URL template supports all of the keywords supported by the + * {@link UrlTemplateImageryProvider#url} property, plus the following: + *
    + *
  • {i}: The pixel column (horizontal coordinate) of the picked position, where the Westernmost pixel is 0.
  • + *
  • {j}: The pixel row (vertical coordinate) of the picked position, where the Northernmost pixel is 0.
  • + *
  • {reverseI}: The pixel column (horizontal coordinate) of the picked position, where the Easternmost pixel is 0.
  • + *
  • {reverseJ}: The pixel row (vertical coordinate) of the picked position, where the Southernmost pixel is 0.
  • + *
  • {longitudeDegrees}: The longitude of the picked position in degrees.
  • + *
  • {latitudeDegrees}: The latitude of the picked position in degrees.
  • + *
  • {longitudeProjected}: The longitude of the picked position in the projected coordinates of the tiling scheme.
  • + *
  • {latitudeProjected}: The latitude of the picked position in the projected coordinates of the tiling scheme.
  • + *
  • {format}: The format in which to get feature information, as specified in the {@link GetFeatureInfoFormat}.
  • + *
+ */ + readonly pickFeaturesUrl: string; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link UrlTemplateImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link UrlTemplateImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested, or undefined if there is no limit. + * This function should not be called before {@link UrlTemplateImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link UrlTemplateImageryProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link UrlTemplateImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link UrlTemplateImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link UrlTemplateImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link UrlTemplateImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. This function should + * not be called before {@link ImageryProvider#ready} returns true. + */ + readonly hasAlphaChannel: boolean; + /** + * Reinitializes this instance. Reinitializing an instance already in use is supported, but it is not + * recommended because existing tiles provided by the imagery provider will not be updated. + * @param options - Any of the options that may be passed to the {@link UrlTemplateImageryProvider} constructor. + */ + reinitialize(options: Promise | any): void; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link UrlTemplateImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Asynchronously determines what features, if any, are located at a given longitude and latitude within + * a tile. This function should not be called before {@link ImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +/** + * The vertical location of an origin relative to an object, e.g., a {@link Billboard} + * or {@link Label}. For example, setting the vertical origin to TOP + * or BOTTOM will display a billboard above or below (in screen space) + * the anchor position. + *

+ *
+ *
+ *
+ */ +export enum VerticalOrigin { + /** + * The origin is at the vertical center between BASELINE and TOP. + */ + CENTER = 0, + /** + * The origin is at the bottom of the object. + */ + BOTTOM = 1, + /** + * If the object contains text, the origin is at the baseline of the text, else the origin is at the bottom of the object. + */ + BASELINE = 2, + /** + * The origin is at the top of the object. + */ + TOP = -1 +} + +/** + * A viewport aligned quad. + * @example + * var viewportQuad = new Cesium.ViewportQuad(new Cesium.BoundingRectangle(0, 0, 80, 40)); + * viewportQuad.material.uniforms.color = new Cesium.Color(1.0, 0.0, 0.0, 1.0); + * @param [rectangle] - The {@link BoundingRectangle} defining the quad's position within the viewport. + * @param [material] - The {@link Material} defining the surface appearance of the viewport quad. + */ +export class ViewportQuad { + constructor(rectangle?: BoundingRectangle, material?: Material); + /** + * Determines if the viewport quad primitive will be shown. + */ + show: boolean; + /** + * The BoundingRectangle defining the quad's position within the viewport. + * @example + * viewportQuad.rectangle = new Cesium.BoundingRectangle(0, 0, 80, 40); + */ + rectangle: BoundingRectangle; + /** + * The surface appearance of the viewport quad. This can be one of several built-in {@link Material} objects or a custom material, scripted with + * {@link https://github.com/CesiumGS/cesium/wiki/Fabric|Fabric}. + *

+ * The default material is Material.ColorType. + *

+ * @example + * // 1. Change the color of the default material to yellow + * viewportQuad.material.uniforms.color = new Cesium.Color(1.0, 1.0, 0.0, 1.0); + * + * // 2. Change material to horizontal stripes + * viewportQuad.material = Cesium.Material.fromType(Cesium.Material.StripeType); + */ + material: Material; + /** + * Called when {@link Viewer} or {@link CesiumWidget} render the scene to + * get the draw commands needed to render this primitive. + *

+ * Do not call this function directly. This is documented just to + * list the exceptions that may be propagated when the scene is rendered: + *

+ */ + update(): void; + /** + * Returns true if this object was destroyed; otherwise, false. + *

+ * If this object was destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. + * @returns True if this object was destroyed; otherwise, false. + */ + isDestroyed(): boolean; + /** + * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic + * release of WebGL resources, instead of relying on the garbage collector to destroy this object. + *

+ * Once an object is destroyed, it should not be used; calling any function other than + * isDestroyed will result in a {@link DeveloperError} exception. Therefore, + * assign the return value (undefined) to the object as done in the example. + * @example + * quad = quad && quad.destroy(); + */ + destroy(): void; +} + +export namespace WebMapServiceImageryProvider { + /** + * Initialization options for the WebMapServiceImageryProvider constructor + * @property url - The URL of the WMS service. The URL supports the same keywords as the {@link UrlTemplateImageryProvider}. + * @property layers - The layers to include, separated by commas. + * @property [parameters = WebMapServiceImageryProvider.DefaultParameters] - Additional parameters to pass to the WMS server in the GetMap URL. + * @property [getFeatureInfoParameters = WebMapServiceImageryProvider.GetFeatureInfoDefaultParameters] - Additional parameters to pass to the WMS server in the GetFeatureInfo URL. + * @property [enablePickFeatures = true] - If true, {@link WebMapServiceImageryProvider#pickFeatures} will invoke + * the GetFeatureInfo operation on the WMS server and return the features included in the response. If false, + * {@link WebMapServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features) + * without communicating with the server. Set this property to false if you know your WMS server does not support + * GetFeatureInfo or if you don't want this provider's features to be pickable. Note that this can be dynamically + * overridden by modifying the WebMapServiceImageryProvider#enablePickFeatures property. + * @property [getFeatureInfoFormats = WebMapServiceImageryProvider.DefaultGetFeatureInfoFormats] - The formats + * in which to try WMS GetFeatureInfo requests. + * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle of the layer. + * @property [tilingScheme = new GeographicTilingScheme()] - The tiling scheme to use to divide the world into tiles. + * @property [ellipsoid] - The ellipsoid. If the tilingScheme is specified, + * this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither + * parameter is specified, the WGS84 ellipsoid is used. + * @property [tileWidth = 256] - The width of each tile in pixels. + * @property [tileHeight = 256] - The height of each tile in pixels. + * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when + * specifying this that the number of tiles at the minimum level is small, such as four or less. A larger number is + * likely to result in rendering problems. + * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit. + * If not specified, there is no limit. + * @property [crs] - CRS specification, for use with WMS specification >= 1.3.0. + * @property [srs] - SRS specification, for use with WMS specification 1.1.0 or 1.1.1 + * @property [credit] - A credit for the data source, which is displayed on the canvas. + * @property [subdomains = 'abc'] - The subdomains to use for the {s} placeholder in the URL template. + * If this parameter is a single string, each character in the string is a subdomain. If it is + * an array, each element in the array is a subdomain. + * @property [clock] - A Clock instance that is used when determining the value for the time dimension. Required when `times` is specified. + * @property [times] - TimeIntervalCollection with its data property being an object containing time dynamic dimension and their values. + */ + type ConstructorOptions = { + url: Resource | string; + layers: string; + parameters?: any; + getFeatureInfoParameters?: any; + enablePickFeatures?: boolean; + getFeatureInfoFormats?: GetFeatureInfoFormat[]; + rectangle?: Rectangle; + tilingScheme?: TilingScheme; + ellipsoid?: Ellipsoid; + tileWidth?: number; + tileHeight?: number; + minimumLevel?: number; + maximumLevel?: number; + crs?: string; + srs?: string; + credit?: Credit | string; + subdomains?: string | string[]; + clock?: Clock; + times?: TimeIntervalCollection; + }; +} + +/** + * Provides tiled imagery hosted by a Web Map Service (WMS) server. + * @example + * var provider = new Cesium.WebMapServiceImageryProvider({ + * url : 'https://sampleserver1.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer', + * layers : '0', + * proxy: new Cesium.DefaultProxy('/proxy/') + * }); + * + * viewer.imageryLayers.addImageryProvider(provider); + * @param options - Object describing initialization options + */ +export class WebMapServiceImageryProvider { + constructor(options: WebMapServiceImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the URL of the WMS server. + */ + readonly url: string; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the names of the WMS layers, separated by commas. + */ + readonly layers: string; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link WebMapServiceImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link WebMapServiceImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link WebMapServiceImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link WebMapServiceImageryProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link WebMapServiceImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link WebMapServiceImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link WebMapServiceImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link WebMapServiceImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets or sets a value indicating whether feature picking is enabled. If true, {@link WebMapServiceImageryProvider#pickFeatures} will + * invoke the GetFeatureInfo service on the WMS server and attempt to interpret the features included in the response. If false, + * {@link WebMapServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable + * features) without communicating with the server. Set this property to false if you know your data + * source does not support picking features or if you don't want this provider's features to be pickable. + */ + enablePickFeatures: boolean; + /** + * Gets or sets a clock that is used to get keep the time used for time dynamic parameters. + */ + clock: Clock; + /** + * Gets or sets a time interval collection that is used to get time dynamic parameters. The data of each + * TimeInterval is an object containing the keys and values of the properties that are used during + * tile requests. + */ + times: TimeIntervalCollection; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link WebMapServiceImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Asynchronously determines what features, if any, are located at a given longitude and latitude within + * a tile. This function should not be called before {@link ImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; + /** + * The default parameters to include in the WMS URL to obtain images. The values are as follows: + * service=WMS + * version=1.1.1 + * request=GetMap + * styles= + * format=image/jpeg + */ + static readonly DefaultParameters: any; + /** + * The default parameters to include in the WMS URL to get feature information. The values are as follows: + * service=WMS + * version=1.1.1 + * request=GetFeatureInfo + */ + static readonly GetFeatureInfoDefaultParameters: any; +} + +export namespace WebMapTileServiceImageryProvider { + /** + * Initialization options for the WebMapTileServiceImageryProvider constructor + * @property url - The base URL for the WMTS GetTile operation (for KVP-encoded requests) or the tile-URL template (for RESTful requests). The tile-URL template should contain the following variables: {style}, {TileMatrixSet}, {TileMatrix}, {TileRow}, {TileCol}. The first two are optional if actual values are hardcoded or not required by the server. The {s} keyword may be used to specify subdomains. + * @property [format = 'image/jpeg'] - The MIME type for images to retrieve from the server. + * @property layer - The layer name for WMTS requests. + * @property style - The style name for WMTS requests. + * @property tileMatrixSetID - The identifier of the TileMatrixSet to use for WMTS requests. + * @property [tileMatrixLabels] - A list of identifiers in the TileMatrix to use for WMTS requests, one per TileMatrix level. + * @property [clock] - A Clock instance that is used when determining the value for the time dimension. Required when `times` is specified. + * @property [times] - TimeIntervalCollection with its data property being an object containing time dynamic dimension and their values. + * @property [dimensions] - A object containing static dimensions and their values. + * @property [tileWidth = 256] - The tile width in pixels. + * @property [tileHeight = 256] - The tile height in pixels. + * @property [tilingScheme] - The tiling scheme corresponding to the organization of the tiles in the TileMatrixSet. + * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle covered by the layer. + * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. + * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit. + * @property [ellipsoid] - The ellipsoid. If not specified, the WGS84 ellipsoid is used. + * @property [credit] - A credit for the data source, which is displayed on the canvas. + * @property [subdomains = 'abc'] - The subdomains to use for the {s} placeholder in the URL template. + * If this parameter is a single string, each character in the string is a subdomain. If it is + * an array, each element in the array is a subdomain. + */ + type ConstructorOptions = { + url: Resource | string; + format?: string; + layer: string; + style: string; + tileMatrixSetID: string; + tileMatrixLabels?: any[]; + clock?: Clock; + times?: TimeIntervalCollection; + dimensions?: any; + tileWidth?: number; + tileHeight?: number; + tilingScheme?: TilingScheme; + rectangle?: Rectangle; + minimumLevel?: number; + maximumLevel?: number; + ellipsoid?: Ellipsoid; + credit?: Credit | string; + subdomains?: string | string[]; + }; +} + +/** + * Provides tiled imagery served by {@link http://www.opengeospatial.org/standards/wmts|WMTS 1.0.0} compliant servers. + * This provider supports HTTP KVP-encoded and RESTful GetTile requests, but does not yet support the SOAP encoding. + * @example + * // Example 1. USGS shaded relief tiles (KVP) + * var shadedRelief1 = new Cesium.WebMapTileServiceImageryProvider({ + * url : 'http://basemap.nationalmap.gov/arcgis/rest/services/USGSShadedReliefOnly/MapServer/WMTS', + * layer : 'USGSShadedReliefOnly', + * style : 'default', + * format : 'image/jpeg', + * tileMatrixSetID : 'default028mm', + * // tileMatrixLabels : ['default028mm:0', 'default028mm:1', 'default028mm:2' ...], + * maximumLevel: 19, + * credit : new Cesium.Credit('U. S. Geological Survey') + * }); + * viewer.imageryLayers.addImageryProvider(shadedRelief1); + * @example + * // Example 2. USGS shaded relief tiles (RESTful) + * var shadedRelief2 = new Cesium.WebMapTileServiceImageryProvider({ + * url : 'http://basemap.nationalmap.gov/arcgis/rest/services/USGSShadedReliefOnly/MapServer/WMTS/tile/1.0.0/USGSShadedReliefOnly/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpg', + * layer : 'USGSShadedReliefOnly', + * style : 'default', + * format : 'image/jpeg', + * tileMatrixSetID : 'default028mm', + * maximumLevel: 19, + * credit : new Cesium.Credit('U. S. Geological Survey') + * }); + * viewer.imageryLayers.addImageryProvider(shadedRelief2); + * @example + * // Example 3. NASA time dynamic weather data (RESTful) + * var times = Cesium.TimeIntervalCollection.fromIso8601({ + * iso8601: '2015-07-30/2017-06-16/P1D', + * dataCallback: function dataCallback(interval, index) { + * return { + * Time: Cesium.JulianDate.toIso8601(interval.start) + * }; + * } + * }); + * var weather = new Cesium.WebMapTileServiceImageryProvider({ + * url : 'https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/AMSR2_Snow_Water_Equivalent/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png', + * layer : 'AMSR2_Snow_Water_Equivalent', + * style : 'default', + * tileMatrixSetID : '2km', + * maximumLevel : 5, + * format : 'image/png', + * clock: clock, + * times: times, + * credit : new Cesium.Credit('NASA Global Imagery Browse Services for EOSDIS') + * }); + * viewer.imageryLayers.addImageryProvider(weather); + * @param options - Object describing initialization options + */ +export class WebMapTileServiceImageryProvider { + constructor(options: WebMapTileServiceImageryProvider.ConstructorOptions); + /** + * The default alpha blending value of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultAlpha: number | undefined; + /** + * The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultNightAlpha: number | undefined; + /** + * The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and + * 1.0 representing fully opaque. + */ + defaultDayAlpha: number | undefined; + /** + * The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 + * makes the imagery darker while greater than 1.0 makes it brighter. + */ + defaultBrightness: number | undefined; + /** + * The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces + * the contrast while greater than 1.0 increases it. + */ + defaultContrast: number | undefined; + /** + * The default hue of this provider in radians. 0.0 uses the unmodified imagery color. + */ + defaultHue: number | undefined; + /** + * The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the + * saturation while greater than 1.0 increases it. + */ + defaultSaturation: number | undefined; + /** + * The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color. + */ + defaultGamma: number | undefined; + /** + * The default texture minification filter to apply to this provider. + */ + defaultMinificationFilter: TextureMinificationFilter; + /** + * The default texture magnification filter to apply to this provider. + */ + defaultMagnificationFilter: TextureMagnificationFilter; + /** + * Gets the URL of the service hosting the imagery. + */ + readonly url: string; + /** + * Gets the proxy used by this provider. + */ + readonly proxy: Proxy; + /** + * Gets the width of each tile, in pixels. This function should + * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true. + */ + readonly tileWidth: number; + /** + * Gets the height of each tile, in pixels. This function should + * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true. + */ + readonly tileHeight: number; + /** + * Gets the maximum level-of-detail that can be requested. This function should + * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true. + */ + readonly maximumLevel: number | undefined; + /** + * Gets the minimum level-of-detail that can be requested. This function should + * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true. + */ + readonly minimumLevel: number; + /** + * Gets the tiling scheme used by this provider. This function should + * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true. + */ + readonly tilingScheme: TilingScheme; + /** + * Gets the rectangle, in radians, of the imagery provided by this instance. This function should + * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true. + */ + readonly rectangle: Rectangle; + /** + * Gets the tile discard policy. If not undefined, the discard policy is responsible + * for filtering out "missing" tiles via its shouldDiscardImage function. If this function + * returns undefined, no tiles are filtered. This function should + * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true. + */ + readonly tileDiscardPolicy: TileDiscardPolicy; + /** + * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing + * to the event, you will be notified of the error and can potentially recover from it. Event listeners + * are passed an instance of {@link TileProviderError}. + */ + readonly errorEvent: Event; + /** + * Gets the mime type of images returned by this imagery provider. + */ + readonly format: string; + /** + * Gets a value indicating whether or not the provider is ready for use. + */ + readonly ready: boolean; + /** + * Gets a promise that resolves to true when the provider is ready for use. + */ + readonly readyPromise: Promise; + /** + * Gets the credit to display when this imagery provider is active. Typically this is used to credit + * the source of the imagery. This function should not be called before {@link WebMapTileServiceImageryProvider#ready} returns true. + */ + readonly credit: Credit; + /** + * Gets a value indicating whether or not the images provided by this imagery provider + * include an alpha channel. If this property is false, an alpha channel, if present, will + * be ignored. If this property is true, any images without an alpha channel will be treated + * as if their alpha is 1.0 everywhere. When this property is false, memory usage + * and texture upload time are reduced. + */ + readonly hasAlphaChannel: boolean; + /** + * Gets or sets a clock that is used to get keep the time used for time dynamic parameters. + */ + clock: Clock; + /** + * Gets or sets a time interval collection that is used to get time dynamic parameters. The data of each + * TimeInterval is an object containing the keys and values of the properties that are used during + * tile requests. + */ + times: TimeIntervalCollection; + /** + * Gets or sets an object that contains static dimensions and their values. + */ + dimensions: any; + /** + * Gets the credits to be displayed when a given tile is displayed. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level; + * @returns The credits to be displayed when the tile is displayed. + */ + getTileCredits(x: number, y: number, level: number): Credit[]; + /** + * Requests the image for a given tile. This function should + * not be called before {@link WebMapTileServiceImageryProvider#ready} returns true. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param [request] - The request object. Intended for internal use only. + * @returns A promise for the image that will resolve when the image is available, or + * undefined if there are too many active requests to the server, and the request + * should be retried later. The resolved image may be either an + * Image or a Canvas DOM object. + */ + requestImage(x: number, y: number, level: number, request?: Request): Promise | undefined; + /** + * Picking features is not currently supported by this imagery provider, so this function simply returns + * undefined. + * @param x - The tile X coordinate. + * @param y - The tile Y coordinate. + * @param level - The tile level. + * @param longitude - The longitude at which to pick features. + * @param latitude - The latitude at which to pick features. + * @returns A promise for the picked features that will resolve when the asynchronous + * picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo} + * instances. The array may be empty if no features are found at the given location. + * It may also be undefined if picking is not supported. + */ + pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): Promise | undefined; +} + +/** + * + * + *
Animation widget + *
+ *

+ * The Animation widget provides buttons for play, pause, and reverse, along with the + * current time and date, surrounded by a "shuttle ring" for controlling the speed of animation. + *

+ * The "shuttle ring" concept is borrowed from video editing, where typically a + * "jog wheel" can be rotated to move past individual animation frames very slowly, and + * a surrounding shuttle ring can be twisted to control direction and speed of fast playback. + * Cesium typically treats time as continuous (not broken into pre-defined animation frames), + * so this widget offers no jog wheel. Instead, the shuttle ring is capable of both fast and + * very slow playback. Click and drag the shuttle ring pointer itself (shown above in green), + * or click in the rest of the ring area to nudge the pointer to the next preset speed in that direction. + *

+ * The Animation widget also provides a "realtime" button (in the upper-left) that keeps + * animation time in sync with the end user's system clock, typically displaying + * "today" or "right now." This mode is not available in {@link ClockRange.CLAMPED} or + * {@link ClockRange.LOOP_STOP} mode if the current time is outside of {@link Clock}'s startTime and endTime. + * @example + * // In HTML head, include a link to Animation.css stylesheet, + * // and in the body, include:
+ * + * var clock = new Cesium.Clock(); + * var clockViewModel = new Cesium.ClockViewModel(clock); + * var viewModel = new Cesium.AnimationViewModel(clockViewModel); + * var widget = new Cesium.Animation('animationContainer', viewModel); + * + * function tick() { + * clock.tick(); + * Cesium.requestAnimationFrame(tick); + * } + * Cesium.requestAnimationFrame(tick); + * @param container - The DOM element or ID that will contain the widget. + * @param viewModel - The view model used by this widget. + */ +export class Animation { + constructor(container: Element | string, viewModel: AnimationViewModel); + /** + * Gets the parent container. + */ + readonly container: Element; + /** + * Gets the view model. + */ + readonly viewModel: AnimationViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the animation widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; + /** + * Resizes the widget to match the container size. + * This function should be called whenever the container size is changed. + */ + resize(): void; + /** + * Updates the widget to reflect any modified CSS rules for theming. + * @example + * //Switch to the cesium-lighter theme. + * document.body.className = 'cesium-lighter'; + * animation.applyThemeChanges(); + */ + applyThemeChanges(): void; +} + +/** + * The view model for the {@link Animation} widget. + * @param clockViewModel - The ClockViewModel instance to use. + */ +export class AnimationViewModel { + constructor(clockViewModel: ClockViewModel); + /** + * Gets or sets whether the shuttle ring is currently being dragged. This property is observable. + */ + shuttleRingDragging: boolean; + /** + * Gets or sets whether dragging the shuttle ring should cause the multiplier + * to snap to the defined tick values rather than interpolating between them. + * This property is observable. + */ + snapToTicks: boolean; + /** + * Gets the string representation of the current time. This property is observable. + */ + timeLabel: string; + /** + * Gets the string representation of the current date. This property is observable. + */ + dateLabel: string; + /** + * Gets the string representation of the current multiplier. This property is observable. + */ + multiplierLabel: string; + /** + * Gets or sets the current shuttle ring angle. This property is observable. + */ + shuttleRingAngle: number; + /** + * Gets or sets the default date formatter used by new instances. + */ + static defaultDateFormatter: AnimationViewModel.DateFormatter; + /** + * Gets or sets the default array of known clock multipliers associated with new instances of the shuttle ring. + */ + static defaultTicks: number[]; + /** + * Gets or sets the default time formatter used by new instances. + */ + static defaultTimeFormatter: AnimationViewModel.TimeFormatter; + /** + * Gets a copy of the array of positive known clock multipliers to associate with the shuttle ring. + * @returns The array of known clock multipliers associated with the shuttle ring. + */ + getShuttleRingTicks(): number[]; + /** + * Sets the array of positive known clock multipliers to associate with the shuttle ring. + * These values will have negative equivalents created for them and sets both the minimum + * and maximum range of values for the shuttle ring as well as the values that are snapped + * to when a single click is made. The values need not be in order, as they will be sorted + * automatically, and duplicate values will be removed. + * @param positiveTicks - The list of known positive clock multipliers to associate with the shuttle ring. + */ + setShuttleRingTicks(positiveTicks: number[]): void; + /** + * Gets a command that decreases the speed of animation. + */ + slower: Command; + /** + * Gets a command that increases the speed of animation. + */ + faster: Command; + /** + * Gets the clock view model. + */ + clockViewModel: ClockViewModel; + /** + * Gets the pause toggle button view model. + */ + pauseViewModel: ToggleButtonViewModel; + /** + * Gets the reverse toggle button view model. + */ + playReverseViewModel: ToggleButtonViewModel; + /** + * Gets the play toggle button view model. + */ + playForwardViewModel: ToggleButtonViewModel; + /** + * Gets the realtime toggle button view model. + */ + playRealtimeViewModel: ToggleButtonViewModel; + /** + * Gets or sets the function which formats a date for display. + */ + dateFormatter: AnimationViewModel.DateFormatter; + /** + * Gets or sets the function which formats a time for display. + */ + timeFormatter: AnimationViewModel.TimeFormatter; +} + +export namespace AnimationViewModel { + /** + * A function that formats a date for display. + * @param date - The date to be formatted + * @param viewModel - The AnimationViewModel instance requesting formatting. + */ + type DateFormatter = (date: JulianDate, viewModel: AnimationViewModel) => string; + /** + * A function that formats a time for display. + * @param date - The date to be formatted + * @param viewModel - The AnimationViewModel instance requesting formatting. + */ + type TimeFormatter = (date: JulianDate, viewModel: AnimationViewModel) => string; +} + +/** + * + * + *
BaseLayerPicker with its drop-panel open. + *
+ *

+ * The BaseLayerPicker is a single button widget that displays a panel of available imagery and + * terrain providers. When imagery is selected, the corresponding imagery layer is created and inserted + * as the base layer of the imagery collection; removing the existing base. When terrain is selected, + * it replaces the current terrain provider. Each item in the available providers list contains a name, + * a representative icon, and a tooltip to display more information when hovered. The list is initially + * empty, and must be configured before use, as illustrated in the below example. + * @example + * // In HTML head, include a link to the BaseLayerPicker.css stylesheet, + * // and in the body, include:
+ * + * //Create the list of available providers we would like the user to select from. + * //This example uses 3, OpenStreetMap, The Black Marble, and a single, non-streaming world image. + * var imageryViewModels = []; + * imageryViewModels.push(new Cesium.ProviderViewModel({ + * name : 'Open\u00adStreet\u00adMap', + * iconUrl : Cesium.buildModuleUrl('Widgets/Images/ImageryProviders/openStreetMap.png'), + * tooltip : 'OpenStreetMap (OSM) is a collaborative project to create a free editable \ + * map of the world.\nhttp://www.openstreetmap.org', + * creationFunction : function() { + * return new Cesium.OpenStreetMapImageryProvider({ + * url : 'https://a.tile.openstreetmap.org/' + * }); + * } + * })); + * + * imageryViewModels.push(new Cesium.ProviderViewModel({ + * name : 'Earth at Night', + * iconUrl : Cesium.buildModuleUrl('Widgets/Images/ImageryProviders/blackMarble.png'), + * tooltip : 'The lights of cities and villages trace the outlines of civilization \ + * in this global view of the Earth at night as seen by NASA/NOAA\'s Suomi NPP satellite.', + * creationFunction : function() { + * return new Cesium.IonImageryProvider({ assetId: 3812 }); + * } + * })); + * + * imageryViewModels.push(new Cesium.ProviderViewModel({ + * name : 'Natural Earth\u00a0II', + * iconUrl : Cesium.buildModuleUrl('Widgets/Images/ImageryProviders/naturalEarthII.png'), + * tooltip : 'Natural Earth II, darkened for contrast.\nhttp://www.naturalearthdata.com/', + * creationFunction : function() { + * return new Cesium.TileMapServiceImageryProvider({ + * url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII') + * }); + * } + * })); + * + * //Create a CesiumWidget without imagery, if you haven't already done so. + * var cesiumWidget = new Cesium.CesiumWidget('cesiumContainer', { imageryProvider: false }); + * + * //Finally, create the baseLayerPicker widget using our view models. + * var layers = cesiumWidget.imageryLayers; + * var baseLayerPicker = new Cesium.BaseLayerPicker('baseLayerPickerContainer', { + * globe : cesiumWidget.scene.globe, + * imageryProviderViewModels : imageryViewModels + * }); + * @param container - The parent HTML container node or ID for this widget. + * @param options - Object with the following properties: + * @param options.globe - The Globe to use. + * @param [options.imageryProviderViewModels = []] - The array of ProviderViewModel instances to use for imagery. + * @param [options.selectedImageryProviderViewModel] - The view model for the current base imagery layer, if not supplied the first available imagery layer is used. + * @param [options.terrainProviderViewModels = []] - The array of ProviderViewModel instances to use for terrain. + * @param [options.selectedTerrainProviderViewModel] - The view model for the current base terrain layer, if not supplied the first available terrain layer is used. + */ +export class BaseLayerPicker { + constructor(container: Element | string, options: { + globe: Globe; + imageryProviderViewModels?: ProviderViewModel[]; + selectedImageryProviderViewModel?: ProviderViewModel; + terrainProviderViewModels?: ProviderViewModel[]; + selectedTerrainProviderViewModel?: ProviderViewModel; + }); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: BaseLayerPickerViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link BaseLayerPicker}. + * @param options - Object with the following properties: + * @param options.globe - The Globe to use. + * @param [options.imageryProviderViewModels = []] - The array of ProviderViewModel instances to use for imagery. + * @param [options.selectedImageryProviderViewModel] - The view model for the current base imagery layer, if not supplied the first available imagery layer is used. + * @param [options.terrainProviderViewModels = []] - The array of ProviderViewModel instances to use for terrain. + * @param [options.selectedTerrainProviderViewModel] - The view model for the current base terrain layer, if not supplied the first available terrain layer is used. + */ +export class BaseLayerPickerViewModel { + constructor(options: { + globe: Globe; + imageryProviderViewModels?: ProviderViewModel[]; + selectedImageryProviderViewModel?: ProviderViewModel; + terrainProviderViewModels?: ProviderViewModel[]; + selectedTerrainProviderViewModel?: ProviderViewModel; + }); + /** + * Gets or sets an array of ProviderViewModel instances available for imagery selection. + * This property is observable. + */ + imageryProviderViewModels: ProviderViewModel[]; + /** + * Gets or sets an array of ProviderViewModel instances available for terrain selection. + * This property is observable. + */ + terrainProviderViewModels: ProviderViewModel[]; + /** + * Gets or sets whether the imagery selection drop-down is currently visible. + */ + dropDownVisible: boolean; + /** + * Gets the button tooltip. This property is observable. + */ + buttonTooltip: string; + /** + * Gets the button background image. This property is observable. + */ + buttonImageUrl: string; + /** + * Gets or sets the currently selected imagery. This property is observable. + */ + selectedImagery: ProviderViewModel; + /** + * Gets or sets the currently selected terrain. This property is observable. + */ + selectedTerrain: ProviderViewModel; + /** + * Gets the command to toggle the visibility of the drop down. + */ + toggleDropDown: Command; + /** + * Gets the globe. + */ + globe: Globe; +} + +/** + * A view model that represents each item in the {@link BaseLayerPicker}. + * @param options - The object containing all parameters. + * @param options.name - The name of the layer. + * @param options.tooltip - The tooltip to show when the item is moused over. + * @param options.iconUrl - An icon representing the layer. + * @param [options.category] - A category for the layer. + * @param options.creationFunction - A function or Command + * that creates one or more providers which will be added to the globe when this item is selected. + */ +export class ProviderViewModel { + constructor(options: { + name: string; + tooltip: string; + iconUrl: string; + category?: string; + creationFunction: ProviderViewModel.CreationFunction | Command; + }); + /** + * Gets the display name. This property is observable. + */ + name: string; + /** + * Gets the tooltip. This property is observable. + */ + tooltip: string; + /** + * Gets the icon. This property is observable. + */ + iconUrl: string; + /** + * Gets the Command that creates one or more providers which will be added to + * the globe when this item is selected. + */ + readonly creationCommand: Command; + /** + * Gets the category + */ + readonly category: string; +} + +export namespace ProviderViewModel { + /** + * A function which creates one or more providers. + */ + type CreationFunction = () => ImageryProvider | TerrainProvider | ImageryProvider[] | TerrainProvider[]; +} + +/** + * Inspector widget to aid in debugging 3D Tiles + * @param container - The DOM element or ID that will contain the widget. + * @param scene - the Scene instance to use. + */ +export class Cesium3DTilesInspector { + constructor(container: Element | string, scene: Scene); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: Cesium3DTilesInspectorViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link Cesium3DTilesInspector}. + * @param scene - The scene instance to use. + * @param performanceContainer - The container for the performance display + */ +export class Cesium3DTilesInspectorViewModel { + constructor(scene: Scene, performanceContainer: HTMLElement); + /** + * Gets or sets the flag to enable performance display. This property is observable. + */ + performance: boolean; + /** + * Gets or sets the flag to show statistics. This property is observable. + */ + showStatistics: boolean; + /** + * Gets or sets the flag to show pick statistics. This property is observable. + */ + showPickStatistics: boolean; + /** + * Gets or sets the flag to show the inspector. This property is observable. + */ + inspectorVisible: boolean; + /** + * Gets or sets the flag to show the tileset section. This property is observable. + */ + tilesetVisible: boolean; + /** + * Gets or sets the flag to show the display section. This property is observable. + */ + displayVisible: boolean; + /** + * Gets or sets the flag to show the update section. This property is observable. + */ + updateVisible: boolean; + /** + * Gets or sets the flag to show the logging section. This property is observable. + */ + loggingVisible: boolean; + /** + * Gets or sets the flag to show the style section. This property is observable. + */ + styleVisible: boolean; + /** + * Gets or sets the flag to show the tile info section. This property is observable. + */ + tileDebugLabelsVisible: boolean; + /** + * Gets or sets the flag to show the optimization info section. This property is observable. + */ + optimizationVisible: boolean; + /** + * Gets or sets the JSON for the tileset style. This property is observable. + */ + styleString: string; + /** + * Gets the names of the properties in the tileset. This property is observable. + */ + readonly properties: string[]; + /** + * Gets or sets the flag to enable dynamic screen space error. This property is observable. + */ + dynamicScreenSpaceError: boolean; + /** + * Gets or sets the color blend mode. This property is observable. + */ + colorBlendMode: Cesium3DTileColorBlendMode; + /** + * Gets or sets the flag to enable picking. This property is observable. + */ + picking: boolean; + /** + * Gets or sets the flag to colorize tiles. This property is observable. + */ + colorize: boolean; + /** + * Gets or sets the flag to draw with wireframe. This property is observable. + */ + wireframe: boolean; + /** + * Gets or sets the flag to show bounding volumes. This property is observable. + */ + showBoundingVolumes: boolean; + /** + * Gets or sets the flag to show content volumes. This property is observable. + */ + showContentBoundingVolumes: boolean; + /** + * Gets or sets the flag to show request volumes. This property is observable. + */ + showRequestVolumes: boolean; + /** + * Gets or sets the flag to suspend updates. This property is observable. + */ + freezeFrame: boolean; + /** + * Gets or sets the flag to show debug labels only for the currently picked tile. This property is observable. + */ + showOnlyPickedTileDebugLabel: boolean; + /** + * Gets or sets the flag to show tile geometric error. This property is observable. + */ + showGeometricError: boolean; + /** + * Displays the number of commands, points, triangles and features used per tile. This property is observable. + */ + showRenderingStatistics: boolean; + /** + * Displays the memory used per tile. This property is observable. + */ + showMemoryUsage: boolean; + /** + * Gets or sets the flag to show the tile url. This property is observable. + */ + showUrl: boolean; + /** + * Gets or sets the maximum screen space error. This property is observable. + */ + maximumScreenSpaceError: number; + /** + * Gets or sets the dynamic screen space error density. This property is observable. + */ + dynamicScreenSpaceErrorDensity: number; + /** + * Gets or sets the dynamic screen space error density slider value. + * This allows the slider to be exponential because values tend to be closer to 0 than 1. + * This property is observable. + */ + dynamicScreenSpaceErrorDensitySliderValue: number; + /** + * Gets or sets the dynamic screen space error factor. This property is observable. + */ + dynamicScreenSpaceErrorFactor: number; + /** + * Gets or sets the flag to enable point cloud shading. This property is observable. + */ + pointCloudShading: boolean; + /** + * Gets or sets the geometric error scale. This property is observable. + */ + geometricErrorScale: number; + /** + * Gets or sets the maximum attenuation. This property is observable. + */ + maximumAttenuation: number; + /** + * Gets or sets the base resolution. This property is observable. + */ + baseResolution: number; + /** + * Gets or sets the flag to enable eye dome lighting. This property is observable. + */ + eyeDomeLighting: boolean; + /** + * Gets or sets the eye dome lighting strength. This property is observable. + */ + eyeDomeLightingStrength: number; + /** + * Gets or sets the eye dome lighting radius. This property is observable. + */ + eyeDomeLightingRadius: number; + /** + * Gets or sets the pick state + */ + pickActive: boolean; + /** + * Gets or sets the flag to determine if level of detail skipping should be applied during the traversal. + * This property is observable. + */ + skipLevelOfDetail: boolean; + /** + * Gets or sets the multiplier defining the minimum screen space error to skip. This property is observable. + */ + skipScreenSpaceErrorFactor: number; + /** + * Gets or sets the screen space error that must be reached before skipping levels of detail. This property is observable. + */ + baseScreenSpaceError: number; + /** + * Gets or sets the constant defining the minimum number of levels to skip when loading tiles. This property is observable. + */ + skipLevels: number; + /** + * Gets or sets the flag which, when true, only tiles that meet the maximum screen space error will ever be downloaded. + * This property is observable. + */ + immediatelyLoadDesiredLevelOfDetail: boolean; + /** + * Gets or sets the flag which determines whether siblings of visible tiles are always downloaded during traversal. + * This property is observable + */ + loadSiblings: boolean; + /** + * Gets the scene + */ + readonly scene: Scene; + /** + * Gets the performance container + */ + readonly performanceContainer: HTMLElement; + /** + * Gets the statistics text. This property is observable. + */ + readonly statisticsText: string; + /** + * Gets the pick statistics text. This property is observable. + */ + readonly pickStatisticsText: string; + /** + * Gets the available blend modes + */ + readonly colorBlendModes: object[]; + /** + * Gets the editor error message + */ + readonly editorError: string; + /** + * Gets or sets the tileset of the view model. + */ + tileset: Cesium3DTileset; + /** + * Gets the current feature of the view model. + */ + feature: Cesium3DTileFeature; + /** + * Gets the current tile of the view model + */ + tile: Cesium3DTile; + /** + * Toggles the pick tileset mode + */ + togglePickTileset(): void; + /** + * Toggles the inspector visibility + */ + toggleInspector(): void; + /** + * Toggles the visibility of the tileset section + */ + toggleTileset(): void; + /** + * Toggles the visibility of the display section + */ + toggleDisplay(): void; + /** + * Toggles the visibility of the update section + */ + toggleUpdate(): void; + /** + * Toggles the visibility of the logging section + */ + toggleLogging(): void; + /** + * Toggles the visibility of the style section + */ + toggleStyle(): void; + /** + * Toggles the visibility of the tile Debug Info section + */ + toggleTileDebugLabels(): void; + /** + * Toggles the visibility of the optimization section + */ + toggleOptimization(): void; + /** + * Trims tile cache + */ + trimTilesCache(): void; + /** + * Compiles the style in the style editor. + */ + compileStyle(): void; + /** + * Handles key press events on the style editor. + */ + styleEditorKeyPress(): void; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; + /** + * Generates an HTML string of the statistics + * @param tileset - The tileset + * @param isPick - Whether this is getting the statistics for the pick pass + * @returns The formatted statistics + */ + static getStatistics(tileset: Cesium3DTileset, isPick: boolean): string; +} + +/** + * Inspector widget to aid in debugging + * @param container - The DOM element or ID that will contain the widget. + * @param scene - The Scene instance to use. + */ +export class CesiumInspector { + constructor(container: Element | string, scene: Scene); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: CesiumInspectorViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link CesiumInspector}. + * @param scene - The scene instance to use. + * @param performanceContainer - The instance to use for performance container. + */ +export class CesiumInspectorViewModel { + constructor(scene: Scene, performanceContainer: Element); + /** + * Gets or sets the show frustums state. This property is observable. + */ + frustums: boolean; + /** + * Gets or sets the show frustum planes state. This property is observable. + */ + frustumPlanes: boolean; + /** + * Gets or sets the show performance display state. This property is observable. + */ + performance: boolean; + /** + * Gets or sets the shader cache text. This property is observable. + */ + shaderCacheText: string; + /** + * Gets or sets the show primitive bounding sphere state. This property is observable. + */ + primitiveBoundingSphere: boolean; + /** + * Gets or sets the show primitive reference frame state. This property is observable. + */ + primitiveReferenceFrame: boolean; + /** + * Gets or sets the filter primitive state. This property is observable. + */ + filterPrimitive: boolean; + /** + * Gets or sets the show tile bounding sphere state. This property is observable. + */ + tileBoundingSphere: boolean; + /** + * Gets or sets the filter tile state. This property is observable. + */ + filterTile: boolean; + /** + * Gets or sets the show wireframe state. This property is observable. + */ + wireframe: boolean; + /** + * Gets or sets the show globe depth state. This property is observable. + */ + globeDepth: boolean; + /** + * Gets or sets the show pick depth state. This property is observable. + */ + pickDepth: boolean; + /** + * Gets or sets the index of the depth frustum to display. This property is observable. + */ + depthFrustum: number; + /** + * Gets or sets the suspend updates state. This property is observable. + */ + suspendUpdates: boolean; + /** + * Gets or sets the show tile coordinates state. This property is observable. + */ + tileCoordinates: boolean; + /** + * Gets or sets the frustum statistic text. This property is observable. + */ + frustumStatisticText: string; + /** + * Gets or sets the selected tile information text. This property is observable. + */ + tileText: string; + /** + * Gets if a primitive has been selected. This property is observable. + */ + hasPickedPrimitive: boolean; + /** + * Gets if a tile has been selected. This property is observable + */ + hasPickedTile: boolean; + /** + * Gets if the picking primitive command is active. This property is observable. + */ + pickPrimitiveActive: boolean; + /** + * Gets if the picking tile command is active. This property is observable. + */ + pickTileActive: boolean; + /** + * Gets or sets if the cesium inspector drop down is visible. This property is observable. + */ + dropDownVisible: boolean; + /** + * Gets or sets if the general section is visible. This property is observable. + */ + generalVisible: boolean; + /** + * Gets or sets if the primitive section is visible. This property is observable. + */ + primitivesVisible: boolean; + /** + * Gets or sets if the terrain section is visible. This property is observable. + */ + terrainVisible: boolean; + /** + * Gets or sets the index of the depth frustum text. This property is observable. + */ + depthFrustumText: string; + /** + * Gets the scene to control. + */ + scene: Scene; + /** + * Gets the container of the PerformanceDisplay + */ + performanceContainer: Element; + /** + * Gets the command to toggle the visibility of the drop down. + */ + toggleDropDown: Command; + /** + * Gets the command to toggle the visibility of a BoundingSphere for a primitive + */ + showPrimitiveBoundingSphere: Command; + /** + * Gets the command to toggle the visibility of a {@link DebugModelMatrixPrimitive} for the model matrix of a primitive + */ + showPrimitiveReferenceFrame: Command; + /** + * Gets the command to toggle a filter that renders only a selected primitive + */ + doFilterPrimitive: Command; + /** + * Gets the command to increment the depth frustum index to be shown + */ + incrementDepthFrustum: Command; + /** + * Gets the command to decrement the depth frustum index to be shown + */ + decrementDepthFrustum: Command; + /** + * Gets the command to toggle the visibility of tile coordinates + */ + showTileCoordinates: Command; + /** + * Gets the command to toggle the visibility of a BoundingSphere for a selected tile + */ + showTileBoundingSphere: Command; + /** + * Gets the command to toggle a filter that renders only a selected tile + */ + doFilterTile: Command; + /** + * Gets the command to expand and collapse the general section + */ + toggleGeneral: Command; + /** + * Gets the command to expand and collapse the primitives section + */ + togglePrimitives: Command; + /** + * Gets the command to expand and collapse the terrain section + */ + toggleTerrain: Command; + /** + * Gets the command to pick a primitive + */ + pickPrimitive: Command; + /** + * Gets the command to pick a tile + */ + pickTile: Command; + /** + * Gets the command to pick a tile + */ + selectParent: Command; + /** + * Gets the command to pick a tile + */ + selectNW: Command; + /** + * Gets the command to pick a tile + */ + selectNE: Command; + /** + * Gets the command to pick a tile + */ + selectSW: Command; + /** + * Gets the command to pick a tile + */ + selectSE: Command; + /** + * Gets or sets the current selected primitive + */ + primitive: Command; + /** + * Gets or sets the current selected tile + */ + tile: Command; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * A widget containing a Cesium scene. + * @example + * // For each example, include a link to CesiumWidget.css stylesheet in HTML head, + * // and in the body, include:
+ * + * //Widget with no terrain and default Bing Maps imagery provider. + * var widget = new Cesium.CesiumWidget('cesiumContainer'); + * + * //Widget with ion imagery and Cesium World Terrain. + * var widget = new Cesium.CesiumWidget('cesiumContainer', { + * imageryProvider : Cesium.createWorldImagery(), + * terrainProvider : Cesium.createWorldTerrain(), + * skyBox : new Cesium.SkyBox({ + * sources : { + * positiveX : 'stars/TychoSkymapII.t3_08192x04096_80_px.jpg', + * negativeX : 'stars/TychoSkymapII.t3_08192x04096_80_mx.jpg', + * positiveY : 'stars/TychoSkymapII.t3_08192x04096_80_py.jpg', + * negativeY : 'stars/TychoSkymapII.t3_08192x04096_80_my.jpg', + * positiveZ : 'stars/TychoSkymapII.t3_08192x04096_80_pz.jpg', + * negativeZ : 'stars/TychoSkymapII.t3_08192x04096_80_mz.jpg' + * } + * }), + * // Show Columbus View map with Web Mercator projection + * sceneMode : Cesium.SceneMode.COLUMBUS_VIEW, + * mapProjection : new Cesium.WebMercatorProjection() + * }); + * @param container - The DOM element or ID that will contain the widget. + * @param [options] - Object with the following properties: + * @param [options.clock = new Clock()] - The clock to use to control current time. + * @param [options.imageryProvider = createWorldImagery()] - The imagery provider to serve as the base layer. If set to false, no imagery provider will be added. + * @param [options.terrainProvider = new EllipsoidTerrainProvider] - The terrain provider. + * @param [options.skyBox] - The skybox used to render the stars. When undefined, the default stars are used. If set to false, no skyBox, Sun, or Moon will be added. + * @param [options.skyAtmosphere] - Blue sky, and the glow around the Earth's limb. Set to false to turn it off. + * @param [options.sceneMode = SceneMode.SCENE3D] - The initial scene mode. + * @param [options.scene3DOnly = false] - When true, each geometry instance will only be rendered in 3D to save GPU memory. + * @param [options.orderIndependentTranslucency = true] - If true and the configuration supports it, use order independent translucency. + * @param [options.mapProjection = new GeographicProjection()] - The map projection to use in 2D and Columbus View modes. + * @param [options.globe = new Globe(mapProjection.ellipsoid)] - The globe to use in the scene. If set to false, no globe will be added. + * @param [options.useDefaultRenderLoop = true] - True if this widget should control the render loop, false otherwise. + * @param [options.useBrowserRecommendedResolution = true] - If true, render at the browser's recommended resolution and ignore window.devicePixelRatio. + * @param [options.targetFrameRate] - The target frame rate when using the default render loop. + * @param [options.showRenderLoopErrors = true] - If true, this widget will automatically display an HTML panel to the user containing the error, if a render loop error occurs. + * @param [options.contextOptions] - Context and WebGL creation properties corresponding to options passed to {@link Scene}. + * @param [options.creditContainer] - The DOM element or ID that will contain the {@link CreditDisplay}. If not specified, the credits are added + * to the bottom of the widget itself. + * @param [options.creditViewport] - The DOM element or ID that will contain the credit pop up created by the {@link CreditDisplay}. If not specified, it will appear over the widget itself. + * @param [options.terrainExaggeration = 1.0] - A scalar used to exaggerate the terrain. Note that terrain exaggeration will not modify any other primitive as they are positioned relative to the ellipsoid. + * @param [options.shadows = false] - Determines if shadows are cast by light sources. + * @param [options.terrainShadows = ShadowMode.RECEIVE_ONLY] - Determines if the terrain casts or receives shadows from light sources. + * @param [options.mapMode2D = MapMode2D.INFINITE_SCROLL] - Determines if the 2D map is rotatable or can be scrolled infinitely in the horizontal direction. + * @param [options.requestRenderMode = false] - If true, rendering a frame will only occur when needed as determined by changes within the scene. Enabling improves performance of the application, but requires using {@link Scene#requestRender} to render a new frame explicitly in this mode. This will be necessary in many cases after making changes to the scene in other parts of the API. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}. + * @param [options.maximumRenderTimeChange = 0.0] - If requestRenderMode is true, this value defines the maximum change in simulation time allowed before a render is requested. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}. + */ +export class CesiumWidget { + constructor(container: Element | string, options?: { + clock?: Clock; + imageryProvider?: ImageryProvider | false; + terrainProvider?: TerrainProvider; + skyBox?: SkyBox | false; + skyAtmosphere?: SkyAtmosphere | false; + sceneMode?: SceneMode; + scene3DOnly?: boolean; + orderIndependentTranslucency?: boolean; + mapProjection?: MapProjection; + globe?: Globe | false; + useDefaultRenderLoop?: boolean; + useBrowserRecommendedResolution?: boolean; + targetFrameRate?: number; + showRenderLoopErrors?: boolean; + contextOptions?: any; + creditContainer?: Element | string; + creditViewport?: Element | string; + terrainExaggeration?: number; + shadows?: boolean; + terrainShadows?: ShadowMode; + mapMode2D?: MapMode2D; + requestRenderMode?: boolean; + maximumRenderTimeChange?: number; + }); + /** + * Gets the parent container. + */ + readonly container: Element; + /** + * Gets the canvas. + */ + readonly canvas: HTMLCanvasElement; + /** + * Gets the credit container. + */ + readonly creditContainer: Element; + /** + * Gets the credit viewport + */ + readonly creditViewport: Element; + /** + * Gets the scene. + */ + readonly scene: Scene; + /** + * Gets the collection of image layers that will be rendered on the globe. + */ + readonly imageryLayers: ImageryLayerCollection; + /** + * The terrain provider providing surface geometry for the globe. + */ + terrainProvider: TerrainProvider; + /** + * Gets the camera. + */ + readonly camera: Camera; + /** + * Gets the clock. + */ + readonly clock: Clock; + /** + * Gets the screen space event handler. + */ + readonly screenSpaceEventHandler: ScreenSpaceEventHandler; + /** + * Gets or sets the target frame rate of the widget when useDefaultRenderLoop + * is true. If undefined, the browser's {@link requestAnimationFrame} implementation + * determines the frame rate. If defined, this value must be greater than 0. A value higher + * than the underlying requestAnimationFrame implementation will have no effect. + */ + targetFrameRate: number; + /** + * Gets or sets whether or not this widget should control the render loop. + * If set to true the widget will use {@link requestAnimationFrame} to + * perform rendering and resizing of the widget, as well as drive the + * simulation clock. If set to false, you must manually call the + * resize, render methods as part of a custom + * render loop. If an error occurs during rendering, {@link Scene}'s + * renderError event will be raised and this property + * will be set to false. It must be set back to true to continue rendering + * after the error. + */ + useDefaultRenderLoop: boolean; + /** + * Gets or sets a scaling factor for rendering resolution. Values less than 1.0 can improve + * performance on less powerful devices while values greater than 1.0 will render at a higher + * resolution and then scale down, resulting in improved visual fidelity. + * For example, if the widget is laid out at a size of 640x480, setting this value to 0.5 + * will cause the scene to be rendered at 320x240 and then scaled up while setting + * it to 2.0 will cause the scene to be rendered at 1280x960 and then scaled down. + */ + resolutionScale: number; + /** + * Boolean flag indicating if the browser's recommended resolution is used. + * If true, the browser's device pixel ratio is ignored and 1.0 is used instead, + * effectively rendering based on CSS pixels instead of device pixels. This can improve + * performance on less powerful devices that have high pixel density. When false, rendering + * will be in device pixels. {@link CesiumWidget#resolutionScale} will still take effect whether + * this flag is true or false. + */ + useBrowserRecommendedResolution: boolean; + /** + * Show an error panel to the user containing a title and a longer error message, + * which can be dismissed using an OK button. This panel is displayed automatically + * when a render loop error occurs, if showRenderLoopErrors was not false when the + * widget was constructed. + * @param title - The title to be displayed on the error panel. This string is interpreted as text. + * @param [message] - A helpful, user-facing message to display prior to the detailed error information. This string is interpreted as HTML. + * @param [error] - The error to be displayed on the error panel. This string is formatted using {@link formatError} and then displayed as text. + */ + showErrorPanel(title: string, message?: string, error?: string): void; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; + /** + * Updates the canvas size, camera aspect ratio, and viewport size. + * This function is called automatically as needed unless + * useDefaultRenderLoop is set to false. + */ + resize(): void; + /** + * Renders the scene. This function is called automatically + * unless useDefaultRenderLoop is set to false; + */ + render(): void; +} + +/** + * A view model which exposes a {@link Clock} for user interfaces. + * @param [clock] - The clock object wrapped by this view model, if undefined a new instance will be created. + */ +export class ClockViewModel { + constructor(clock?: Clock); + /** + * Gets the current system time. + * This property is observable. + */ + systemTime: JulianDate; + /** + * Gets or sets the start time of the clock. + * See {@link Clock#startTime}. + * This property is observable. + */ + startTime: JulianDate; + /** + * Gets or sets the stop time of the clock. + * See {@link Clock#stopTime}. + * This property is observable. + */ + stopTime: JulianDate; + /** + * Gets or sets the current time. + * See {@link Clock#currentTime}. + * This property is observable. + */ + currentTime: JulianDate; + /** + * Gets or sets the clock multiplier. + * See {@link Clock#multiplier}. + * This property is observable. + */ + multiplier: number; + /** + * Gets or sets the clock step setting. + * See {@link Clock#clockStep}. + * This property is observable. + */ + clockStep: ClockStep; + /** + * Gets or sets the clock range setting. + * See {@link Clock#clockRange}. + * This property is observable. + */ + clockRange: ClockRange; + /** + * Gets or sets whether the clock can animate. + * See {@link Clock#canAnimate}. + * This property is observable. + */ + canAnimate: boolean; + /** + * Gets or sets whether the clock should animate. + * See {@link Clock#shouldAnimate}. + * This property is observable. + */ + shouldAnimate: boolean; + /** + * Gets the underlying Clock. + */ + clock: Clock; + /** + * Updates the view model with the contents of the underlying clock. + * Can be called to force an update of the viewModel if the underlying + * clock has changed and Clock.tick has not yet been called. + */ + synchronize(): void; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the view model. Should be called to + * properly clean up the view model when it is no longer needed. + */ + destroy(): void; +} + +/** + * A Command is a function with an extra canExecute observable property to determine + * whether the command can be executed. When executed, a Command function will check the + * value of canExecute and throw if false. + * + * This type describes an interface and is not intended to be instantiated directly. + * See {@link createCommand} to create a command from a function. + */ +export class Command { + constructor(); + /** + * Gets whether this command can currently be executed. This property is observable. + */ + canExecute: boolean; + /** + * Gets an event which is raised before the command executes, the event + * is raised with an object containing two properties: a cancel property, + * which if set to false by the listener will prevent the command from being executed, and + * an args property, which is the array of arguments being passed to the command. + */ + beforeExecute: Event; + /** + * Gets an event which is raised after the command executes, the event + * is raised with the return value of the command as its only parameter. + */ + afterExecute: Event; +} + +/** + * Create a Command from a given function, for use with ViewModels. + * + * A Command is a function with an extra canExecute observable property to determine + * whether the command can be executed. When executed, a Command function will check the + * value of canExecute and throw if false. It also provides events for when + * a command has been or is about to be executed. + * @param func - The function to execute. + * @param [canExecute = true] - A boolean indicating whether the function can currently be executed. + */ +export function createCommand(func: (...params: any[]) => any, canExecute?: boolean): void; + +/** + * A single button widget for toggling fullscreen mode. + * @param container - The DOM element or ID that will contain the widget. + * @param [fullscreenElement = document.body] - The element or id to be placed into fullscreen mode. + */ +export class FullscreenButton { + constructor(container: Element | string, fullscreenElement?: Element | string); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: FullscreenButtonViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link FullscreenButton}. + * @param [fullscreenElement = document.body] - The element or id to be placed into fullscreen mode. + * @param [container] - The DOM element or ID that will contain the widget. + */ +export class FullscreenButtonViewModel { + constructor(fullscreenElement?: Element | string, container?: Element | string); + /** + * Gets whether or not fullscreen mode is active. This property is observable. + */ + isFullscreen: boolean; + /** + * Gets or sets whether or not fullscreen functionality should be enabled. This property is observable. + */ + isFullscreenEnabled: boolean; + /** + * Gets the tooltip. This property is observable. + */ + tooltip: string; + /** + * Gets or sets the HTML element to place into fullscreen mode when the + * corresponding button is pressed. + */ + fullscreenElement: Element; + /** + * Gets the Command to toggle fullscreen mode. + */ + command: Command; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the view model. Should be called to + * properly clean up the view model when it is no longer needed. + */ + destroy(): void; +} + +/** + * A widget for finding addresses and landmarks, and flying the camera to them. Geocoding is + * performed using {@link https://cesium.com/cesium-ion/|Cesium ion}. + * @param options - Object with the following properties: + * @param options.container - The DOM element or ID that will contain the widget. + * @param options.scene - The Scene instance to use. + * @param [options.geocoderServices] - The geocoder services to be used + * @param [options.autoComplete = true] - True if the geocoder should query as the user types to autocomplete + * @param [options.flightDuration = 1.5] - The duration of the camera flight to an entered location, in seconds. + * @param [options.destinationFound = GeocoderViewModel.flyToDestination] - A callback function that is called after a successful geocode. If not supplied, the default behavior is to fly the camera to the result destination. + */ +export class Geocoder { + constructor(options: { + container: Element | string; + scene: Scene; + geocoderServices?: GeocoderService[]; + autoComplete?: boolean; + flightDuration?: number; + destinationFound?: Geocoder.DestinationFoundFunction; + }); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the parent container. + */ + searchSuggestionsContainer: Element; + /** + * Gets the view model. + */ + viewModel: GeocoderViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +export namespace Geocoder { + /** + * A function that handles the result of a successful geocode. + * @param viewModel - The view model. + * @param destination - The destination result of the geocode. + */ + type DestinationFoundFunction = (viewModel: GeocoderViewModel, destination: Cartesian3 | Rectangle) => void; +} + +/** + * The view model for the {@link Geocoder} widget. + * @param options - Object with the following properties: + * @param options.scene - The Scene instance to use. + * @param [options.geocoderServices] - Geocoder services to use for geocoding queries. + * If more than one are supplied, suggestions will be gathered for the geocoders that support it, + * and if no suggestion is selected the result from the first geocoder service wil be used. + * @param [options.flightDuration] - The duration of the camera flight to an entered location, in seconds. + * @param [options.destinationFound = GeocoderViewModel.flyToDestination] - A callback function that is called after a successful geocode. If not supplied, the default behavior is to fly the camera to the result destination. + */ +export class GeocoderViewModel { + constructor(options: { + scene: Scene; + geocoderServices?: GeocoderService[]; + flightDuration?: number; + destinationFound?: Geocoder.DestinationFoundFunction; + }); + /** + * Gets or sets a value indicating if this instance should always show its text input field. + */ + keepExpanded: boolean; + /** + * True if the geocoder should query as the user types to autocomplete + */ + autoComplete: boolean; + /** + * Gets and sets the command called when a geocode destination is found + */ + destinationFound: Geocoder.DestinationFoundFunction; + /** + * Gets a value indicating whether a search is currently in progress. This property is observable. + */ + isSearchInProgress: boolean; + /** + * Gets or sets the text to search for. The text can be an address, or longitude, latitude, + * and optional height, where longitude and latitude are in degrees and height is in meters. + */ + searchText: string; + /** + * Gets or sets the the duration of the camera flight in seconds. + * A value of zero causes the camera to instantly switch to the geocoding location. + * The duration will be computed based on the distance when undefined. + */ + flightDuration: number | undefined; + /** + * Gets the event triggered on flight completion. + */ + complete: Event; + /** + * Gets the scene to control. + */ + scene: Scene; + /** + * Gets the Command that is executed when the button is clicked. + */ + search: Command; + /** + * Gets the currently selected geocoder search suggestion + */ + selectedSuggestion: any; + /** + * Gets the list of geocoder search suggestions + */ + suggestions: object[]; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; + /** + * A function to fly to the destination found by a successful geocode. + */ + static flyToDestination: Geocoder.DestinationFoundFunction; +} + +/** + * A single button widget for returning to the default camera view of the current scene. + * @param container - The DOM element or ID that will contain the widget. + * @param scene - The Scene instance to use. + * @param [duration] - The time, in seconds, it takes to complete the camera flight home. + */ +export class HomeButton { + constructor(container: Element | string, scene: Scene, duration?: number); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: HomeButtonViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link HomeButton}. + * @param scene - The scene instance to use. + * @param [duration] - The duration of the camera flight in seconds. + */ +export class HomeButtonViewModel { + constructor(scene: Scene, duration?: number); + /** + * Gets or sets the tooltip. This property is observable. + */ + tooltip: string; + /** + * Gets the scene to control. + */ + scene: Scene; + /** + * Gets the Command that is executed when the button is clicked. + */ + command: Command; + /** + * Gets or sets the the duration of the camera flight in seconds. + * A value of zero causes the camera to instantly switch to home view. + * The duration will be computed based on the distance when undefined. + */ + duration: number | undefined; +} + +/** + * A widget for displaying information or a description. + * @param container - The DOM element or ID that will contain the widget. + */ +export class InfoBox { + constructor(container: Element | string); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: InfoBoxViewModel; + /** + * Gets the iframe used to display the description. + */ + frame: HTMLIFrameElement; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link InfoBox}. + */ +export class InfoBoxViewModel { + constructor(); + /** + * Gets or sets the maximum height of the info box in pixels. This property is observable. + */ + maxHeight: number; + /** + * Gets or sets whether the camera tracking icon is enabled. + */ + enableCamera: boolean; + /** + * Gets or sets the status of current camera tracking of the selected object. + */ + isCameraTracking: boolean; + /** + * Gets or sets the visibility of the info box. + */ + showInfo: boolean; + /** + * Gets or sets the title text in the info box. + */ + titleText: string; + /** + * Gets or sets the description HTML for the info box. + */ + description: string; + /** + * Gets the SVG path of the camera icon, which can change to be "crossed out" or not. + */ + cameraIconPath: string; + /** + * Gets the maximum height of sections within the info box, minus an offset, in CSS-ready form. + * @param offset - The offset in pixels. + */ + maxHeightOffset(offset: number): string; + /** + * Gets an {@link Event} that is fired when the user clicks the camera icon. + */ + cameraClicked: Event; + /** + * Gets an {@link Event} that is fired when the user closes the info box. + */ + closeClicked: Event; +} + +/** + *

The NavigationHelpButton is a single button widget for displaying instructions for + * navigating the globe with the mouse.


+ * @example + * // In HTML head, include a link to the NavigationHelpButton.css stylesheet, + * // and in the body, include: + * + * var navigationHelpButton = new Cesium.NavigationHelpButton({ + * container : 'navigationHelpButtonContainer' + * }); + * @param options - Object with the following properties: + * @param options.container - The DOM element or ID that will contain the widget. + * @param [options.instructionsInitiallyVisible = false] - True if the navigation instructions should initially be visible; otherwise, false. + */ +export class NavigationHelpButton { + constructor(options: { + container: Element | string; + instructionsInitiallyVisible?: boolean; + }); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: NavigationHelpButtonViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link NavigationHelpButton}. + */ +export class NavigationHelpButtonViewModel { + constructor(); + /** + * Gets or sets whether the instructions are currently shown. This property is observable. + */ + showInstructions: boolean; + /** + * Gets or sets the tooltip. This property is observable. + */ + tooltip: string; + /** + * Gets the Command that is executed when the button is clicked. + */ + command: Command; + /** + * Gets the Command that is executed when the mouse instructions should be shown. + */ + showClick: Command; + /** + * Gets the Command that is executed when the touch instructions should be shown. + */ + showTouch: Command; +} + +/** + * Monitors performance of the application and displays a message if poor performance is detected. + * @param [options] - Object with the following properties: + * @param options.container - The DOM element or ID that will contain the widget. + * @param options.scene - The {@link Scene} for which to monitor performance. + * @param [options.lowFrameRateMessage = 'This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers.'] - The + * message to display when a low frame rate is detected. The message is interpeted as HTML, so make sure + * it comes from a trusted source so that your application is not vulnerable to cross-site scripting attacks. + */ +export class PerformanceWatchdog { + constructor(options?: { + container: Element | string; + scene: Scene; + lowFrameRateMessage?: string; + }); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: PerformanceWatchdogViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link PerformanceWatchdog}. + * @param [options] - Object with the following properties: + * @param options.scene - The Scene instance for which to monitor performance. + * @param [options.lowFrameRateMessage = 'This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers.'] - The + * message to display when a low frame rate is detected. The message is interpeted as HTML, so make sure + * it comes from a trusted source so that your application is not vulnerable to cross-site scripting attacks. + */ +export class PerformanceWatchdogViewModel { + constructor(options?: { + scene: Scene; + lowFrameRateMessage?: string; + }); + /** + * Gets or sets the message to display when a low frame rate is detected. This string will be interpreted as HTML. + */ + lowFrameRateMessage: string; + /** + * Gets or sets a value indicating whether the low frame rate message has previously been dismissed by the user. If it has + * been dismissed, the message will not be redisplayed, no matter the frame rate. + */ + lowFrameRateMessageDismissed: boolean; + /** + * Gets or sets a value indicating whether the low frame rate message is currently being displayed. + */ + showingLowFrameRateMessage: boolean; + /** + * Gets the {@link Scene} instance for which to monitor performance. + */ + scene: Scene; + /** + * Gets a command that dismisses the low frame rate message. Once it is dismissed, the message + * will not be redisplayed. + */ + dismissMessage: Command; +} + +/** + * The ProjectionPicker is a single button widget for switching between perspective and orthographic projections. + * @example + * // In HTML head, include a link to the ProjectionPicker.css stylesheet, + * // and in the body, include:
+ * // Note: This code assumes you already have a Scene instance. + * + * var projectionPicker = new Cesium.ProjectionPicker('projectionPickerContainer', scene); + * @param container - The DOM element or ID that will contain the widget. + * @param scene - The Scene instance to use. + */ +export class ProjectionPicker { + constructor(container: Element | string, scene: Scene); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: ProjectionPickerViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link ProjectionPicker}. + * @param scene - The Scene to switch projections. + */ +export class ProjectionPickerViewModel { + constructor(scene: Scene); + /** + * Gets or sets whether the button drop-down is currently visible. This property is observable. + */ + dropDownVisible: boolean; + /** + * Gets or sets the perspective projection tooltip. This property is observable. + */ + tooltipPerspective: string; + /** + * Gets or sets the orthographic projection tooltip. This property is observable. + */ + tooltipOrthographic: string; + /** + * Gets the currently active tooltip. This property is observable. + */ + selectedTooltip: string; + /** + * Gets or sets the current SceneMode. This property is observable. + */ + sceneMode: SceneMode; + /** + * Gets the scene + */ + scene: Scene; + /** + * Gets the command to toggle the drop down box. + */ + toggleDropDown: Command; + /** + * Gets the command to switch to a perspective projection. + */ + switchToPerspective: Command; + /** + * Gets the command to switch to orthographic projection. + */ + switchToOrthographic: Command; + /** + * Gets whether the scene is currently using an orthographic projection. + */ + isOrthographicProjection: Command; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the view model. + */ + destroy(): void; +} + +/** + * + *

The SceneModePicker is a single button widget for switching between scene modes; + * shown to the left in its expanded state. Programatic switching of scene modes will + * be automatically reflected in the widget as long as the specified Scene + * is used to perform the change.


+ * @example + * // In HTML head, include a link to the SceneModePicker.css stylesheet, + * // and in the body, include:
+ * // Note: This code assumes you already have a Scene instance. + * + * var sceneModePicker = new Cesium.SceneModePicker('sceneModePickerContainer', scene); + * @param container - The DOM element or ID that will contain the widget. + * @param scene - The Scene instance to use. + * @param [duration = 2.0] - The time, in seconds, it takes for the scene to transition. + */ +export class SceneModePicker { + constructor(container: Element | string, scene: Scene, duration?: number); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: SceneModePickerViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link SceneModePicker}. + * @param scene - The Scene to morph + * @param [duration = 2.0] - The duration of scene morph animations, in seconds + */ +export class SceneModePickerViewModel { + constructor(scene: Scene, duration?: number); + /** + * Gets or sets the current SceneMode. This property is observable. + */ + sceneMode: SceneMode; + /** + * Gets or sets whether the button drop-down is currently visible. This property is observable. + */ + dropDownVisible: boolean; + /** + * Gets or sets the 2D tooltip. This property is observable. + */ + tooltip2D: string; + /** + * Gets or sets the 3D tooltip. This property is observable. + */ + tooltip3D: string; + /** + * Gets or sets the Columbus View tooltip. This property is observable. + */ + tooltipColumbusView: string; + /** + * Gets the currently active tooltip. This property is observable. + */ + selectedTooltip: string; + /** + * Gets the scene + */ + scene: Scene; + /** + * Gets or sets the the duration of scene mode transition animations in seconds. + * A value of zero causes the scene to instantly change modes. + */ + duration: number; + /** + * Gets the command to toggle the drop down box. + */ + toggleDropDown: Command; + /** + * Gets the command to morph to 2D. + */ + morphTo2D: Command; + /** + * Gets the command to morph to 3D. + */ + morphTo3D: Command; + /** + * Gets the command to morph to Columbus View. + */ + morphToColumbusView: Command; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the view model. + */ + destroy(): void; +} + +/** + * A widget for displaying an indicator on a selected object. + * @param container - The DOM element or ID that will contain the widget. + * @param scene - The Scene instance to use. + */ +export class SelectionIndicator { + constructor(container: Element | string, scene: Scene); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: SelectionIndicatorViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link SelectionIndicator}. + * @param scene - The scene instance to use for screen-space coordinate conversion. + * @param selectionIndicatorElement - The element containing all elements that make up the selection indicator. + * @param container - The DOM element that contains the widget. + */ +export class SelectionIndicatorViewModel { + constructor(scene: Scene, selectionIndicatorElement: Element, container: Element); + /** + * Gets or sets the world position of the object for which to display the selection indicator. + */ + position: Cartesian3; + /** + * Gets or sets the visibility of the selection indicator. + */ + showSelection: boolean; + /** + * Gets the visibility of the position indicator. This can be false even if an + * object is selected, when the selected object has no position. + */ + isVisible: boolean; + /** + * Gets or sets the function for converting the world position of the object to the screen space position. + * @example + * selectionIndicatorViewModel.computeScreenSpacePosition = function(position, result) { + * return Cesium.SceneTransforms.wgs84ToWindowCoordinates(scene, position, result); + * }; + */ + computeScreenSpacePosition: SelectionIndicatorViewModel.ComputeScreenSpacePosition; + /** + * Updates the view of the selection indicator to match the position and content properties of the view model. + * This function should be called as part of the render loop. + */ + update(): void; + /** + * Animate the indicator to draw attention to the selection. + */ + animateAppear(): void; + /** + * Animate the indicator to release the selection. + */ + animateDepart(): void; + /** + * Gets the HTML element containing the selection indicator. + */ + container: Element; + /** + * Gets the HTML element that holds the selection indicator. + */ + selectionIndicatorElement: Element; + /** + * Gets the scene being used. + */ + scene: Scene; +} + +export namespace SelectionIndicatorViewModel { + /** + * A function that converts the world position of an object to a screen space position. + * @param position - The position in WGS84 (world) coordinates. + * @param result - An object to return the input position transformed to window coordinates. + */ + type ComputeScreenSpacePosition = (position: Cartesian3, result: Cartesian2) => Cartesian2; +} + +/** + * A Knockout binding handler that creates a DOM element for a single SVG path. + * This binding handler will be registered as cesiumSvgPath. + * + *

+ * The parameter to this binding is an object with the following properties: + *

+ * + *
    + *
  • path: The SVG path as a string.
  • + *
  • width: The width of the SVG path with no transformations applied.
  • + *
  • height: The height of the SVG path with no transformations applied.
  • + *
  • css: Optional. A string containing additional CSS classes to apply to the SVG. 'cesium-svgPath-svg' is always applied.
  • + *
+ * @example + * // Create an SVG as a child of a div + *
+ * + * // parameters can be observable from the view model + *
+ * + * // or the whole object can be observable from the view model + *
+ */ +export namespace SvgPathBindingHandler { + function register(): void; +} + +/** + * The Timeline is a widget for displaying and controlling the current scene time. + * @param container - The parent HTML container node for this widget. + * @param clock - The clock to use. + */ +export class Timeline { + constructor(container: Element, clock: Clock); + /** + * Gets the parent container. + */ + container: Element; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; + /** + * Sets the view to the provided times. + * @param startTime - The start time. + * @param stopTime - The stop time. + */ + zoomTo(startTime: JulianDate, stopTime: JulianDate): void; + /** + * Resizes the widget to match the container size. + */ + resize(): void; +} + +/** + * A view model which exposes the properties of a toggle button. + * @param command - The command which will be executed when the button is toggled. + * @param [options] - Object with the following properties: + * @param [options.toggled = false] - A boolean indicating whether the button should be initially toggled. + * @param [options.tooltip = ''] - A string containing the button's tooltip. + */ +export class ToggleButtonViewModel { + constructor(command: Command, options?: { + toggled?: boolean; + tooltip?: string; + }); + /** + * Gets or sets whether the button is currently toggled. This property is observable. + */ + toggled: boolean; + /** + * Gets or sets the button's tooltip. This property is observable. + */ + tooltip: string; + /** + * Gets the command which will be executed when the button is toggled. + */ + command: Command; +} + +export namespace Viewer { + /** + * Initialization options for the Viewer constructor + * @property [animation = true] - If set to false, the Animation widget will not be created. + * @property [baseLayerPicker = true] - If set to false, the BaseLayerPicker widget will not be created. + * @property [fullscreenButton = true] - If set to false, the FullscreenButton widget will not be created. + * @property [vrButton = false] - If set to true, the VRButton widget will be created. + * @property [geocoder = true] - If set to false, the Geocoder widget will not be created. + * @property [homeButton = true] - If set to false, the HomeButton widget will not be created. + * @property [infoBox = true] - If set to false, the InfoBox widget will not be created. + * @property [sceneModePicker = true] - If set to false, the SceneModePicker widget will not be created. + * @property [selectionIndicator = true] - If set to false, the SelectionIndicator widget will not be created. + * @property [timeline = true] - If set to false, the Timeline widget will not be created. + * @property [navigationHelpButton = true] - If set to false, the navigation help button will not be created. + * @property [navigationInstructionsInitiallyVisible = true] - True if the navigation instructions should initially be visible, or false if the should not be shown until the user explicitly clicks the button. + * @property [scene3DOnly = false] - When true, each geometry instance will only be rendered in 3D to save GPU memory. + * @property [shouldAnimate = false] - true if the clock should attempt to advance simulation time by default, false otherwise. This option takes precedence over setting {@link Viewer#clockViewModel}. + * @property [clockViewModel = new ClockViewModel(clock)] - The clock view model to use to control current time. + * @property [selectedImageryProviderViewModel] - The view model for the current base imagery layer, if not supplied the first available base layer is used. This value is only valid if `baseLayerPicker` is set to true. + * @property [imageryProviderViewModels = createDefaultImageryProviderViewModels()] - The array of ProviderViewModels to be selectable from the BaseLayerPicker. This value is only valid if `baseLayerPicker` is set to true. + * @property [selectedTerrainProviderViewModel] - The view model for the current base terrain layer, if not supplied the first available base layer is used. This value is only valid if `baseLayerPicker` is set to true. + * @property [terrainProviderViewModels = createDefaultTerrainProviderViewModels()] - The array of ProviderViewModels to be selectable from the BaseLayerPicker. This value is only valid if `baseLayerPicker` is set to true. + * @property [imageryProvider = createWorldImagery()] - The imagery provider to use. This value is only valid if `baseLayerPicker` is set to false. + * @property [terrainProvider = new EllipsoidTerrainProvider()] - The terrain provider to use + * @property [skyBox] - The skybox used to render the stars. When undefined, the default stars are used. If set to false, no skyBox, Sun, or Moon will be added. + * @property [skyAtmosphere] - Blue sky, and the glow around the Earth's limb. Set to false to turn it off. + * @property [fullscreenElement = document.body] - The element or id to be placed into fullscreen mode when the full screen button is pressed. + * @property [useDefaultRenderLoop = true] - True if this widget should control the render loop, false otherwise. + * @property [targetFrameRate] - The target frame rate when using the default render loop. + * @property [showRenderLoopErrors = true] - If true, this widget will automatically display an HTML panel to the user containing the error, if a render loop error occurs. + * @property [useBrowserRecommendedResolution = true] - If true, render at the browser's recommended resolution and ignore window.devicePixelRatio. + * @property [automaticallyTrackDataSourceClocks = true] - If true, this widget will automatically track the clock settings of newly added DataSources, updating if the DataSource's clock changes. Set this to false if you want to configure the clock independently. + * @property [contextOptions] - Context and WebGL creation properties corresponding to options passed to {@link Scene}. + * @property [sceneMode = SceneMode.SCENE3D] - The initial scene mode. + * @property [mapProjection = new GeographicProjection()] - The map projection to use in 2D and Columbus View modes. + * @property [globe = new Globe(mapProjection.ellipsoid)] - The globe to use in the scene. If set to false, no globe will be added. + * @property [orderIndependentTranslucency = true] - If true and the configuration supports it, use order independent translucency. + * @property [creditContainer] - The DOM element or ID that will contain the {@link CreditDisplay}. If not specified, the credits are added to the bottom of the widget itself. + * @property [creditViewport] - The DOM element or ID that will contain the credit pop up created by the {@link CreditDisplay}. If not specified, it will appear over the widget itself. + * @property [dataSources = new DataSourceCollection()] - The collection of data sources visualized by the widget. If this parameter is provided, + * the instance is assumed to be owned by the caller and will not be destroyed when the viewer is destroyed. + * @property [terrainExaggeration = 1.0] - A scalar used to exaggerate the terrain. Note that terrain exaggeration will not modify any other primitive as they are positioned relative to the ellipsoid. + * @property [shadows = false] - Determines if shadows are cast by light sources. + * @property [terrainShadows = ShadowMode.RECEIVE_ONLY] - Determines if the terrain casts or receives shadows from light sources. + * @property [mapMode2D = MapMode2D.INFINITE_SCROLL] - Determines if the 2D map is rotatable or can be scrolled infinitely in the horizontal direction. + * @property [projectionPicker = false] - If set to true, the ProjectionPicker widget will be created. + * @property [requestRenderMode = false] - If true, rendering a frame will only occur when needed as determined by changes within the scene. Enabling reduces the CPU/GPU usage of your application and uses less battery on mobile, but requires using {@link Scene#requestRender} to render a new frame explicitly in this mode. This will be necessary in many cases after making changes to the scene in other parts of the API. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}. + * @property [maximumRenderTimeChange = 0.0] - If requestRenderMode is true, this value defines the maximum change in simulation time allowed before a render is requested. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}. + */ + type ConstructorOptions = { + animation?: boolean; + baseLayerPicker?: boolean; + fullscreenButton?: boolean; + vrButton?: boolean; + geocoder?: boolean | GeocoderService[]; + homeButton?: boolean; + infoBox?: boolean; + sceneModePicker?: boolean; + selectionIndicator?: boolean; + timeline?: boolean; + navigationHelpButton?: boolean; + navigationInstructionsInitiallyVisible?: boolean; + scene3DOnly?: boolean; + shouldAnimate?: boolean; + clockViewModel?: ClockViewModel; + selectedImageryProviderViewModel?: ProviderViewModel; + imageryProviderViewModels?: ProviderViewModel[]; + selectedTerrainProviderViewModel?: ProviderViewModel; + terrainProviderViewModels?: ProviderViewModel[]; + imageryProvider?: ImageryProvider; + terrainProvider?: TerrainProvider; + skyBox?: SkyBox | false; + skyAtmosphere?: SkyAtmosphere | false; + fullscreenElement?: Element | string; + useDefaultRenderLoop?: boolean; + targetFrameRate?: number; + showRenderLoopErrors?: boolean; + useBrowserRecommendedResolution?: boolean; + automaticallyTrackDataSourceClocks?: boolean; + contextOptions?: any; + sceneMode?: SceneMode; + mapProjection?: MapProjection; + globe?: Globe | false; + orderIndependentTranslucency?: boolean; + creditContainer?: Element | string; + creditViewport?: Element | string; + dataSources?: DataSourceCollection; + terrainExaggeration?: number; + shadows?: boolean; + terrainShadows?: ShadowMode; + mapMode2D?: MapMode2D; + projectionPicker?: boolean; + requestRenderMode?: boolean; + maximumRenderTimeChange?: number; + }; + /** + * A function that augments a Viewer instance with additional functionality. + * @param viewer - The viewer instance. + * @param options - Options object to be passed to the mixin function. + */ + type ViewerMixin = (viewer: Viewer, options: any) => void; +} + +/** + * A base widget for building applications. It composites all of the standard Cesium widgets into one reusable package. + * The widget can always be extended by using mixins, which add functionality useful for a variety of applications. + * @example + * //Initialize the viewer widget with several custom options and mixins. + * var viewer = new Cesium.Viewer('cesiumContainer', { + * //Start in Columbus Viewer + * sceneMode : Cesium.SceneMode.COLUMBUS_VIEW, + * //Use Cesium World Terrain + * terrainProvider : Cesium.createWorldTerrain(), + * //Hide the base layer picker + * baseLayerPicker : false, + * //Use OpenStreetMaps + * imageryProvider : new Cesium.OpenStreetMapImageryProvider({ + * url : 'https://a.tile.openstreetmap.org/' + * }), + * skyBox : new Cesium.SkyBox({ + * sources : { + * positiveX : 'stars/TychoSkymapII.t3_08192x04096_80_px.jpg', + * negativeX : 'stars/TychoSkymapII.t3_08192x04096_80_mx.jpg', + * positiveY : 'stars/TychoSkymapII.t3_08192x04096_80_py.jpg', + * negativeY : 'stars/TychoSkymapII.t3_08192x04096_80_my.jpg', + * positiveZ : 'stars/TychoSkymapII.t3_08192x04096_80_pz.jpg', + * negativeZ : 'stars/TychoSkymapII.t3_08192x04096_80_mz.jpg' + * } + * }), + * // Show Columbus View map with Web Mercator projection + * mapProjection : new Cesium.WebMercatorProjection() + * }); + * + * //Add basic drag and drop functionality + * viewer.extend(Cesium.viewerDragDropMixin); + * + * //Show a pop-up alert if we encounter an error when processing a dropped file + * viewer.dropError.addEventListener(function(dropHandler, name, error) { + * console.log(error); + * window.alert(error); + * }); + * @param container - The DOM element or ID that will contain the widget. + * @param [options] - Object describing initialization options + */ +export class Viewer { + constructor(container: Element | string, options?: Viewer.ConstructorOptions); + /** + * Gets the parent container. + */ + readonly container: Element; + /** + * Gets the DOM element for the area at the bottom of the window containing the + * {@link CreditDisplay} and potentially other things. + */ + readonly bottomContainer: Element; + /** + * Gets the CesiumWidget. + */ + readonly cesiumWidget: CesiumWidget; + /** + * Gets the selection indicator. + */ + readonly selectionIndicator: SelectionIndicator; + /** + * Gets the info box. + */ + readonly infoBox: InfoBox; + /** + * Gets the Geocoder. + */ + readonly geocoder: Geocoder; + /** + * Gets the HomeButton. + */ + readonly homeButton: HomeButton; + /** + * Gets the SceneModePicker. + */ + readonly sceneModePicker: SceneModePicker; + /** + * Gets the ProjectionPicker. + */ + readonly projectionPicker: ProjectionPicker; + /** + * Gets the BaseLayerPicker. + */ + readonly baseLayerPicker: BaseLayerPicker; + /** + * Gets the NavigationHelpButton. + */ + readonly navigationHelpButton: NavigationHelpButton; + /** + * Gets the Animation widget. + */ + readonly animation: Animation; + /** + * Gets the Timeline widget. + */ + readonly timeline: Timeline; + /** + * Gets the FullscreenButton. + */ + readonly fullscreenButton: FullscreenButton; + /** + * Gets the VRButton. + */ + readonly vrButton: VRButton; + /** + * Gets the display used for {@link DataSource} visualization. + */ + readonly dataSourceDisplay: DataSourceDisplay; + /** + * Gets the collection of entities not tied to a particular data source. + * This is a shortcut to [dataSourceDisplay.defaultDataSource.entities]{@link Viewer#dataSourceDisplay}. + */ + readonly entities: EntityCollection; + /** + * Gets the set of {@link DataSource} instances to be visualized. + */ + readonly dataSources: DataSourceCollection; + /** + * Gets the canvas. + */ + readonly canvas: HTMLCanvasElement; + /** + * Gets the scene. + */ + readonly scene: Scene; + /** + * Determines if shadows are cast by light sources. + */ + shadows: boolean; + /** + * Determines if the terrain casts or shadows from light sources. + */ + terrainShadows: ShadowMode; + /** + * Get the scene's shadow map + */ + readonly shadowMap: ShadowMap; + /** + * Gets the collection of image layers that will be rendered on the globe. + */ + readonly imageryLayers: ImageryLayerCollection; + /** + * The terrain provider providing surface geometry for the globe. + */ + terrainProvider: TerrainProvider; + /** + * Gets the camera. + */ + readonly camera: Camera; + /** + * Gets the post-process stages. + */ + readonly postProcessStages: PostProcessStageCollection; + /** + * Gets the clock. + */ + readonly clock: Clock; + /** + * Gets the clock view model. + */ + readonly clockViewModel: ClockViewModel; + /** + * Gets the screen space event handler. + */ + readonly screenSpaceEventHandler: ScreenSpaceEventHandler; + /** + * Gets or sets the target frame rate of the widget when useDefaultRenderLoop + * is true. If undefined, the browser's {@link requestAnimationFrame} implementation + * determines the frame rate. If defined, this value must be greater than 0. A value higher + * than the underlying requestAnimationFrame implementation will have no effect. + */ + targetFrameRate: number; + /** + * Gets or sets whether or not this widget should control the render loop. + * If set to true the widget will use {@link requestAnimationFrame} to + * perform rendering and resizing of the widget, as well as drive the + * simulation clock. If set to false, you must manually call the + * resize, render methods + * as part of a custom render loop. If an error occurs during rendering, {@link Scene}'s + * renderError event will be raised and this property + * will be set to false. It must be set back to true to continue rendering + * after the error. + */ + useDefaultRenderLoop: boolean; + /** + * Gets or sets a scaling factor for rendering resolution. Values less than 1.0 can improve + * performance on less powerful devices while values greater than 1.0 will render at a higher + * resolution and then scale down, resulting in improved visual fidelity. + * For example, if the widget is laid out at a size of 640x480, setting this value to 0.5 + * will cause the scene to be rendered at 320x240 and then scaled up while setting + * it to 2.0 will cause the scene to be rendered at 1280x960 and then scaled down. + */ + resolutionScale: number; + /** + * Boolean flag indicating if the browser's recommended resolution is used. + * If true, the browser's device pixel ratio is ignored and 1.0 is used instead, + * effectively rendering based on CSS pixels instead of device pixels. This can improve + * performance on less powerful devices that have high pixel density. When false, rendering + * will be in device pixels. {@link Viewer#resolutionScale} will still take effect whether + * this flag is true or false. + */ + useBrowserRecommendedResolution: boolean; + /** + * Gets or sets whether or not data sources can temporarily pause + * animation in order to avoid showing an incomplete picture to the user. + * For example, if asynchronous primitives are being processed in the + * background, the clock will not advance until the geometry is ready. + */ + allowDataSourcesToSuspendAnimation: boolean; + /** + * Gets or sets the Entity instance currently being tracked by the camera. + */ + trackedEntity: Entity | undefined; + /** + * Gets or sets the object instance for which to display a selection indicator. + * + * If a user interactively picks a Cesium3DTilesFeature instance, then this property + * will contain a transient Entity instance with a property named "feature" that is + * the instance that was picked. + */ + selectedEntity: Entity | undefined; + /** + * Gets the event that is raised when the selected entity changes. + */ + readonly selectedEntityChanged: Event; + /** + * Gets the event that is raised when the tracked entity changes. + */ + readonly trackedEntityChanged: Event; + /** + * Gets or sets the data source to track with the viewer's clock. + */ + clockTrackedDataSource: DataSource; + /** + * Extends the base viewer functionality with the provided mixin. + * A mixin may add additional properties, functions, or other behavior + * to the provided viewer instance. + * @param mixin - The Viewer mixin to add to this instance. + * @param [options] - The options object to be passed to the mixin function. + */ + extend(mixin: Viewer.ViewerMixin, options?: any): void; + /** + * Resizes the widget to match the container size. + * This function is called automatically as needed unless + * useDefaultRenderLoop is set to false. + */ + resize(): void; + /** + * This forces the widget to re-think its layout, including + * widget sizes and credit placement. + */ + forceResize(): void; + /** + * Renders the scene. This function is called automatically + * unless useDefaultRenderLoop is set to false; + */ + render(): void; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; + /** + * Asynchronously sets the camera to view the provided entity, entities, or data source. + * If the data source is still in the process of loading or the visualization is otherwise still loading, + * this method waits for the data to be ready before performing the zoom. + * + *

The offset is heading/pitch/range in the local east-north-up reference frame centered at the center of the bounding sphere. + * The heading and the pitch angles are defined in the local east-north-up reference frame. + * The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch + * angles are above the plane. Negative pitch angles are below the plane. The range is the distance from the center. If the range is + * zero, a range will be computed such that the whole bounding sphere is visible.

+ * + *

In 2D, there must be a top down view. The camera will be placed above the target looking down. The height above the + * target will be the range. The heading will be determined from the offset. If the heading cannot be + * determined from the offset, the heading will be north.

+ * @param target - The entity, array of entities, entity collection, data source, Cesium3DTileset, point cloud, or imagery layer to view. You can also pass a promise that resolves to one of the previously mentioned types. + * @param [offset] - The offset from the center of the entity in the local east-north-up reference frame. + * @returns A Promise that resolves to true if the zoom was successful or false if the target is not currently visualized in the scene or the zoom was cancelled. + */ + zoomTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise, offset?: HeadingPitchRange): Promise; + /** + * Flies the camera to the provided entity, entities, or data source. + * If the data source is still in the process of loading or the visualization is otherwise still loading, + * this method waits for the data to be ready before performing the flight. + * + *

The offset is heading/pitch/range in the local east-north-up reference frame centered at the center of the bounding sphere. + * The heading and the pitch angles are defined in the local east-north-up reference frame. + * The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch + * angles are above the plane. Negative pitch angles are below the plane. The range is the distance from the center. If the range is + * zero, a range will be computed such that the whole bounding sphere is visible.

+ * + *

In 2D, there must be a top down view. The camera will be placed above the target looking down. The height above the + * target will be the range. The heading will be determined from the offset. If the heading cannot be + * determined from the offset, the heading will be north.

+ * @param target - The entity, array of entities, entity collection, data source, Cesium3DTileset, point cloud, or imagery layer to view. You can also pass a promise that resolves to one of the previously mentioned types. + * @param [options] - Object with the following properties: + * @param [options.duration = 3.0] - The duration of the flight in seconds. + * @param [options.maximumHeight] - The maximum height at the peak of the flight. + * @param [options.offset] - The offset from the target in the local east-north-up reference frame centered at the target. + * @returns A Promise that resolves to true if the flight was successful or false if the target is not currently visualized in the scene or the flight was cancelled. //TODO: Cleanup entity mentions + */ + flyTo(target: Entity | Entity[] | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise, options?: { + duration?: number; + maximumHeight?: number; + offset?: HeadingPitchRange; + }): Promise; +} + +/** + * A mixin which adds the {@link Cesium3DTilesInspector} widget to the {@link Viewer} widget. + * Rather than being called directly, this function is normally passed as + * a parameter to {@link Viewer#extend}, as shown in the example below. + * @example + * var viewer = new Cesium.Viewer('cesiumContainer'); + * viewer.extend(Cesium.viewerCesium3DTilesInspectorMixin); + * @param viewer - The viewer instance. + */ +export function viewerCesium3DTilesInspectorMixin(viewer: Viewer): void; + +/** + * A mixin which adds the CesiumInspector widget to the Viewer widget. + * Rather than being called directly, this function is normally passed as + * a parameter to {@link Viewer#extend}, as shown in the example below. + * @example + * var viewer = new Cesium.Viewer('cesiumContainer'); + * viewer.extend(Cesium.viewerCesiumInspectorMixin); + * @param viewer - The viewer instance. + */ +export function viewerCesiumInspectorMixin(viewer: Viewer): void; + +/** + * A mixin which adds default drag and drop support for CZML files to the Viewer widget. + * Rather than being called directly, this function is normally passed as + * a parameter to {@link Viewer#extend}, as shown in the example below. + * @example + * // Add basic drag and drop support and pop up an alert window on error. + * var viewer = new Cesium.Viewer('cesiumContainer'); + * viewer.extend(Cesium.viewerDragDropMixin); + * viewer.dropError.addEventListener(function(viewerArg, source, error) { + * window.alert('Error processing ' + source + ':' + error); + * }); + * @param viewer - The viewer instance. + * @param [options] - Object with the following properties: + * @param [options.dropTarget = viewer.container] - The DOM element which will serve as the drop target. + * @param [options.clearOnDrop = true] - When true, dropping files will clear all existing data sources first, when false, new data sources will be loaded after the existing ones. + * @param [options.flyToOnDrop = true] - When true, dropping files will fly to the data source once it is loaded. + * @param [options.clampToGround = true] - When true, datasources are clamped to the ground. + * @param [options.proxy] - The proxy to be used for KML network links. + */ +export function viewerDragDropMixin(viewer: Viewer, options?: { + dropTarget?: Element | string; + clearOnDrop?: boolean; + flyToOnDrop?: boolean; + clampToGround?: boolean; + proxy?: Proxy; +}): void; + +/** + * A mixin which adds the {@link PerformanceWatchdog} widget to the {@link Viewer} widget. + * Rather than being called directly, this function is normally passed as + * a parameter to {@link Viewer#extend}, as shown in the example below. + * @example + * var viewer = new Cesium.Viewer('cesiumContainer'); + * viewer.extend(Cesium.viewerPerformanceWatchdogMixin, { + * lowFrameRateMessage : 'Why is this going so slowly?' + * }); + * @param viewer - The viewer instance. + * @param [options] - An object with properties. + * @param [options.lowFrameRateMessage = 'This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers.'] - The + * message to display when a low frame rate is detected. The message is interpeted as HTML, so make sure + * it comes from a trusted source so that your application is not vulnerable to cross-site scripting attacks. + */ +export function viewerPerformanceWatchdogMixin(viewer: Viewer, options?: { + lowFrameRateMessage?: string; +}): void; + +/** + * A single button widget for toggling vr mode. + * @param container - The DOM element or ID that will contain the widget. + * @param scene - The scene. + * @param [vrElement = document.body] - The element or id to be placed into vr mode. + */ +export class VRButton { + constructor(container: Element | string, scene: Scene, vrElement?: Element | string); + /** + * Gets the parent container. + */ + container: Element; + /** + * Gets the view model. + */ + viewModel: VRButtonViewModel; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the widget. Should be called if permanently + * removing the widget from layout. + */ + destroy(): void; +} + +/** + * The view model for {@link VRButton}. + * @param scene - The scene. + * @param [vrElement = document.body] - The element or id to be placed into VR mode. + */ +export class VRButtonViewModel { + constructor(scene: Scene, vrElement?: Element | string); + /** + * Gets whether or not VR mode is active. + */ + isVRMode: boolean; + /** + * Gets or sets whether or not VR functionality should be enabled. + */ + isVREnabled: boolean; + /** + * Gets the tooltip. This property is observable. + */ + tooltip: string; + /** + * Gets or sets the HTML element to place into VR mode when the + * corresponding button is pressed. + */ + vrElement: Element; + /** + * Gets the Command to toggle VR mode. + */ + command: Command; + /** + * @returns true if the object has been destroyed, false otherwise. + */ + isDestroyed(): boolean; + /** + * Destroys the view model. Should be called to + * properly clean up the view model when it is no longer needed. + */ + destroy(): void; +} + + + + +} + +declare module "cesium/Source/Core/ArcGISTiledElevationTerrainProvider" { import { ArcGISTiledElevationTerrainProvider } from 'cesium'; export default ArcGISTiledElevationTerrainProvider; } +declare module "cesium/Source/Core/ArcType" { import { ArcType } from 'cesium'; export default ArcType; } +declare module "cesium/Source/Core/AssociativeArray" { import { AssociativeArray } from 'cesium'; export default AssociativeArray; } +declare module "cesium/Source/Core/AxisAlignedBoundingBox" { import { AxisAlignedBoundingBox } from 'cesium'; export default AxisAlignedBoundingBox; } +declare module "cesium/Source/Core/barycentricCoordinates" { import { barycentricCoordinates } from 'cesium'; export default barycentricCoordinates; } +declare module "cesium/Source/Core/binarySearch" { import { binarySearch } from 'cesium'; export default binarySearch; } +declare module "cesium/Source/Core/BingMapsGeocoderService" { import { BingMapsGeocoderService } from 'cesium'; export default BingMapsGeocoderService; } +declare module "cesium/Source/Core/BoundingRectangle" { import { BoundingRectangle } from 'cesium'; export default BoundingRectangle; } +declare module "cesium/Source/Core/BoundingSphere" { import { BoundingSphere } from 'cesium'; export default BoundingSphere; } +declare module "cesium/Source/Core/BoxGeometry" { import { BoxGeometry } from 'cesium'; export default BoxGeometry; } +declare module "cesium/Source/Core/BoxOutlineGeometry" { import { BoxOutlineGeometry } from 'cesium'; export default BoxOutlineGeometry; } +declare module "cesium/Source/Core/buildModuleUrl" { import { buildModuleUrl } from 'cesium'; export default buildModuleUrl; } +declare module "cesium/Source/Core/cancelAnimationFrame" { import { cancelAnimationFrame } from 'cesium'; export default cancelAnimationFrame; } +declare module "cesium/Source/Core/Cartesian2" { import { Cartesian2 } from 'cesium'; export default Cartesian2; } +declare module "cesium/Source/Core/Cartesian3" { import { Cartesian3 } from 'cesium'; export default Cartesian3; } +declare module "cesium/Source/Core/Cartesian4" { import { Cartesian4 } from 'cesium'; export default Cartesian4; } +declare module "cesium/Source/Core/Cartographic" { import { Cartographic } from 'cesium'; export default Cartographic; } +declare module "cesium/Source/Core/CartographicGeocoderService" { import { CartographicGeocoderService } from 'cesium'; export default CartographicGeocoderService; } +declare module "cesium/Source/Core/CatmullRomSpline" { import { CatmullRomSpline } from 'cesium'; export default CatmullRomSpline; } +declare module "cesium/Source/Core/CesiumTerrainProvider" { import { CesiumTerrainProvider } from 'cesium'; export default CesiumTerrainProvider; } +declare module "cesium/Source/Core/CircleGeometry" { import { CircleGeometry } from 'cesium'; export default CircleGeometry; } +declare module "cesium/Source/Core/CircleOutlineGeometry" { import { CircleOutlineGeometry } from 'cesium'; export default CircleOutlineGeometry; } +declare module "cesium/Source/Core/Clock" { import { Clock } from 'cesium'; export default Clock; } +declare module "cesium/Source/Core/ClockRange" { import { ClockRange } from 'cesium'; export default ClockRange; } +declare module "cesium/Source/Core/ClockStep" { import { ClockStep } from 'cesium'; export default ClockStep; } +declare module "cesium/Source/Core/clone" { import { clone } from 'cesium'; export default clone; } +declare module "cesium/Source/Core/Color" { import { Color } from 'cesium'; export default Color; } +declare module "cesium/Source/Core/ColorGeometryInstanceAttribute" { import { ColorGeometryInstanceAttribute } from 'cesium'; export default ColorGeometryInstanceAttribute; } +declare module "cesium/Source/Core/combine" { import { combine } from 'cesium'; export default combine; } +declare module "cesium/Source/Core/ComponentDatatype" { import { ComponentDatatype } from 'cesium'; export default ComponentDatatype; } +declare module "cesium/Source/Core/CompressedTextureBuffer" { import { CompressedTextureBuffer } from 'cesium'; export default CompressedTextureBuffer; } +declare module "cesium/Source/Core/CoplanarPolygonGeometry" { import { CoplanarPolygonGeometry } from 'cesium'; export default CoplanarPolygonGeometry; } +declare module "cesium/Source/Core/CoplanarPolygonOutlineGeometry" { import { CoplanarPolygonOutlineGeometry } from 'cesium'; export default CoplanarPolygonOutlineGeometry; } +declare module "cesium/Source/Core/CornerType" { import { CornerType } from 'cesium'; export default CornerType; } +declare module "cesium/Source/Core/CorridorGeometry" { import { CorridorGeometry } from 'cesium'; export default CorridorGeometry; } +declare module "cesium/Source/Core/CorridorOutlineGeometry" { import { CorridorOutlineGeometry } from 'cesium'; export default CorridorOutlineGeometry; } +declare module "cesium/Source/Core/createGuid" { import { createGuid } from 'cesium'; export default createGuid; } +declare module "cesium/Source/Core/createWorldTerrain" { import { createWorldTerrain } from 'cesium'; export default createWorldTerrain; } +declare module "cesium/Source/Core/Credit" { import { Credit } from 'cesium'; export default Credit; } +declare module "cesium/Source/Core/CubicRealPolynomial" { import { CubicRealPolynomial } from 'cesium'; export default CubicRealPolynomial; } +declare module "cesium/Source/Core/CullingVolume" { import { CullingVolume } from 'cesium'; export default CullingVolume; } +declare module "cesium/Source/Core/CylinderGeometry" { import { CylinderGeometry } from 'cesium'; export default CylinderGeometry; } +declare module "cesium/Source/Core/CylinderOutlineGeometry" { import { CylinderOutlineGeometry } from 'cesium'; export default CylinderOutlineGeometry; } +declare module "cesium/Source/Core/DefaultProxy" { import { DefaultProxy } from 'cesium'; export default DefaultProxy; } +declare module "cesium/Source/Core/defaultValue" { import { defaultValue } from 'cesium'; export default defaultValue; } +declare module "cesium/Source/Core/defined" { import { defined } from 'cesium'; export default defined; } +declare module "cesium/Source/Core/destroyObject" { import { destroyObject } from 'cesium'; export default destroyObject; } +declare module "cesium/Source/Core/DeveloperError" { import { DeveloperError } from 'cesium'; export default DeveloperError; } +declare module "cesium/Source/Core/DistanceDisplayCondition" { import { DistanceDisplayCondition } from 'cesium'; export default DistanceDisplayCondition; } +declare module "cesium/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute" { import { DistanceDisplayConditionGeometryInstanceAttribute } from 'cesium'; export default DistanceDisplayConditionGeometryInstanceAttribute; } +declare module "cesium/Source/Core/EasingFunction" { import { EasingFunction } from 'cesium'; export default EasingFunction; } +declare module "cesium/Source/Core/EllipseGeometry" { import { EllipseGeometry } from 'cesium'; export default EllipseGeometry; } +declare module "cesium/Source/Core/EllipseOutlineGeometry" { import { EllipseOutlineGeometry } from 'cesium'; export default EllipseOutlineGeometry; } +declare module "cesium/Source/Core/Ellipsoid" { import { Ellipsoid } from 'cesium'; export default Ellipsoid; } +declare module "cesium/Source/Core/EllipsoidGeodesic" { import { EllipsoidGeodesic } from 'cesium'; export default EllipsoidGeodesic; } +declare module "cesium/Source/Core/EllipsoidGeometry" { import { EllipsoidGeometry } from 'cesium'; export default EllipsoidGeometry; } +declare module "cesium/Source/Core/EllipsoidOutlineGeometry" { import { EllipsoidOutlineGeometry } from 'cesium'; export default EllipsoidOutlineGeometry; } +declare module "cesium/Source/Core/EllipsoidRhumbLine" { import { EllipsoidRhumbLine } from 'cesium'; export default EllipsoidRhumbLine; } +declare module "cesium/Source/Core/EllipsoidTangentPlane" { import { EllipsoidTangentPlane } from 'cesium'; export default EllipsoidTangentPlane; } +declare module "cesium/Source/Core/EllipsoidTerrainProvider" { import { EllipsoidTerrainProvider } from 'cesium'; export default EllipsoidTerrainProvider; } +declare module "cesium/Source/Core/Event" { import { Event } from 'cesium'; export default Event; } +declare module "cesium/Source/Core/EventHelper" { import { EventHelper } from 'cesium'; export default EventHelper; } +declare module "cesium/Source/Core/ExtrapolationType" { import { ExtrapolationType } from 'cesium'; export default ExtrapolationType; } +declare module "cesium/Source/Core/FeatureDetection" { import { FeatureDetection } from 'cesium'; export default FeatureDetection; } +declare module "cesium/Source/Core/formatError" { import { formatError } from 'cesium'; export default formatError; } +declare module "cesium/Source/Core/FrustumGeometry" { import { FrustumGeometry } from 'cesium'; export default FrustumGeometry; } +declare module "cesium/Source/Core/FrustumOutlineGeometry" { import { FrustumOutlineGeometry } from 'cesium'; export default FrustumOutlineGeometry; } +declare module "cesium/Source/Core/Fullscreen" { import { Fullscreen } from 'cesium'; export default Fullscreen; } +declare module "cesium/Source/Core/GeocoderService" { import { GeocoderService } from 'cesium'; export default GeocoderService; } +declare module "cesium/Source/Core/GeocodeType" { import { GeocodeType } from 'cesium'; export default GeocodeType; } +declare module "cesium/Source/Core/GeographicProjection" { import { GeographicProjection } from 'cesium'; export default GeographicProjection; } +declare module "cesium/Source/Core/GeographicTilingScheme" { import { GeographicTilingScheme } from 'cesium'; export default GeographicTilingScheme; } +declare module "cesium/Source/Core/Geometry" { import { Geometry } from 'cesium'; export default Geometry; } +declare module "cesium/Source/Core/GeometryAttribute" { import { GeometryAttribute } from 'cesium'; export default GeometryAttribute; } +declare module "cesium/Source/Core/GeometryAttributes" { import { GeometryAttributes } from 'cesium'; export default GeometryAttributes; } +declare module "cesium/Source/Core/GeometryFactory" { import { GeometryFactory } from 'cesium'; export default GeometryFactory; } +declare module "cesium/Source/Core/GeometryInstance" { import { GeometryInstance } from 'cesium'; export default GeometryInstance; } +declare module "cesium/Source/Core/GeometryInstanceAttribute" { import { GeometryInstanceAttribute } from 'cesium'; export default GeometryInstanceAttribute; } +declare module "cesium/Source/Core/GeometryPipeline" { import { GeometryPipeline } from 'cesium'; export default GeometryPipeline; } +declare module "cesium/Source/Core/getAbsoluteUri" { import { getAbsoluteUri } from 'cesium'; export default getAbsoluteUri; } +declare module "cesium/Source/Core/getBaseUri" { import { getBaseUri } from 'cesium'; export default getBaseUri; } +declare module "cesium/Source/Core/getExtensionFromUri" { import { getExtensionFromUri } from 'cesium'; export default getExtensionFromUri; } +declare module "cesium/Source/Core/getFilenameFromUri" { import { getFilenameFromUri } from 'cesium'; export default getFilenameFromUri; } +declare module "cesium/Source/Core/getImagePixels" { import { getImagePixels } from 'cesium'; export default getImagePixels; } +declare module "cesium/Source/Core/getTimestamp" { import { getTimestamp } from 'cesium'; export default getTimestamp; } +declare module "cesium/Source/Core/GoogleEarthEnterpriseMetadata" { import { GoogleEarthEnterpriseMetadata } from 'cesium'; export default GoogleEarthEnterpriseMetadata; } +declare module "cesium/Source/Core/GoogleEarthEnterpriseTerrainData" { import { GoogleEarthEnterpriseTerrainData } from 'cesium'; export default GoogleEarthEnterpriseTerrainData; } +declare module "cesium/Source/Core/GoogleEarthEnterpriseTerrainProvider" { import { GoogleEarthEnterpriseTerrainProvider } from 'cesium'; export default GoogleEarthEnterpriseTerrainProvider; } +declare module "cesium/Source/Core/GregorianDate" { import { GregorianDate } from 'cesium'; export default GregorianDate; } +declare module "cesium/Source/Core/GroundPolylineGeometry" { import { GroundPolylineGeometry } from 'cesium'; export default GroundPolylineGeometry; } +declare module "cesium/Source/Core/HeadingPitchRange" { import { HeadingPitchRange } from 'cesium'; export default HeadingPitchRange; } +declare module "cesium/Source/Core/HeadingPitchRoll" { import { HeadingPitchRoll } from 'cesium'; export default HeadingPitchRoll; } +declare module "cesium/Source/Core/HeightmapEncoding" { import { HeightmapEncoding } from 'cesium'; export default HeightmapEncoding; } +declare module "cesium/Source/Core/HeightmapTerrainData" { import { HeightmapTerrainData } from 'cesium'; export default HeightmapTerrainData; } +declare module "cesium/Source/Core/HermitePolynomialApproximation" { import { HermitePolynomialApproximation } from 'cesium'; export default HermitePolynomialApproximation; } +declare module "cesium/Source/Core/HermiteSpline" { import { HermiteSpline } from 'cesium'; export default HermiteSpline; } +declare module "cesium/Source/Core/IndexDatatype" { import { IndexDatatype } from 'cesium'; export default IndexDatatype; } +declare module "cesium/Source/Core/InterpolationAlgorithm" { import { InterpolationAlgorithm } from 'cesium'; export default InterpolationAlgorithm; } +declare module "cesium/Source/Core/Intersect" { import { Intersect } from 'cesium'; export default Intersect; } +declare module "cesium/Source/Core/Intersections2D" { import { Intersections2D } from 'cesium'; export default Intersections2D; } +declare module "cesium/Source/Core/IntersectionTests" { import { IntersectionTests } from 'cesium'; export default IntersectionTests; } +declare module "cesium/Source/Core/Interval" { import { Interval } from 'cesium'; export default Interval; } +declare module "cesium/Source/Core/Ion" { import { Ion } from 'cesium'; export default Ion; } +declare module "cesium/Source/Core/IonGeocoderService" { import { IonGeocoderService } from 'cesium'; export default IonGeocoderService; } +declare module "cesium/Source/Core/IonResource" { import { IonResource } from 'cesium'; export default IonResource; } +declare module "cesium/Source/Core/isLeapYear" { import { isLeapYear } from 'cesium'; export default isLeapYear; } +declare module "cesium/Source/Core/Iso8601" { import { Iso8601 } from 'cesium'; export default Iso8601; } +declare module "cesium/Source/Core/JulianDate" { import { JulianDate } from 'cesium'; export default JulianDate; } +declare module "cesium/Source/Core/KeyboardEventModifier" { import { KeyboardEventModifier } from 'cesium'; export default KeyboardEventModifier; } +declare module "cesium/Source/Core/LagrangePolynomialApproximation" { import { LagrangePolynomialApproximation } from 'cesium'; export default LagrangePolynomialApproximation; } +declare module "cesium/Source/Core/LeapSecond" { import { LeapSecond } from 'cesium'; export default LeapSecond; } +declare module "cesium/Source/Core/LinearApproximation" { import { LinearApproximation } from 'cesium'; export default LinearApproximation; } +declare module "cesium/Source/Core/LinearSpline" { import { LinearSpline } from 'cesium'; export default LinearSpline; } +declare module "cesium/Source/Core/loadCRN" { import { loadCRN } from 'cesium'; export default loadCRN; } +declare module "cesium/Source/Core/loadKTX" { import { loadKTX } from 'cesium'; export default loadKTX; } +declare module "cesium/Source/Core/MapProjection" { import { MapProjection } from 'cesium'; export default MapProjection; } +declare module "cesium/Source/Core/Math" { import { Math } from 'cesium'; export default Math; } +declare module "cesium/Source/Core/Matrix2" { import { Matrix2 } from 'cesium'; export default Matrix2; } +declare module "cesium/Source/Core/Matrix3" { import { Matrix3 } from 'cesium'; export default Matrix3; } +declare module "cesium/Source/Core/Matrix4" { import { Matrix4 } from 'cesium'; export default Matrix4; } +declare module "cesium/Source/Core/mergeSort" { import { mergeSort } from 'cesium'; export default mergeSort; } +declare module "cesium/Source/Core/NearFarScalar" { import { NearFarScalar } from 'cesium'; export default NearFarScalar; } +declare module "cesium/Source/Core/objectToQuery" { import { objectToQuery } from 'cesium'; export default objectToQuery; } +declare module "cesium/Source/Core/Occluder" { import { Occluder } from 'cesium'; export default Occluder; } +declare module "cesium/Source/Core/OpenCageGeocoderService" { import { OpenCageGeocoderService } from 'cesium'; export default OpenCageGeocoderService; } +declare module "cesium/Source/Core/OrientedBoundingBox" { import { OrientedBoundingBox } from 'cesium'; export default OrientedBoundingBox; } +declare module "cesium/Source/Core/OrthographicFrustum" { import { OrthographicFrustum } from 'cesium'; export default OrthographicFrustum; } +declare module "cesium/Source/Core/OrthographicOffCenterFrustum" { import { OrthographicOffCenterFrustum } from 'cesium'; export default OrthographicOffCenterFrustum; } +declare module "cesium/Source/Core/Packable" { import { Packable } from 'cesium'; export default Packable; } +declare module "cesium/Source/Core/PackableForInterpolation" { import { PackableForInterpolation } from 'cesium'; export default PackableForInterpolation; } +declare module "cesium/Source/Core/PeliasGeocoderService" { import { PeliasGeocoderService } from 'cesium'; export default PeliasGeocoderService; } +declare module "cesium/Source/Core/PerspectiveFrustum" { import { PerspectiveFrustum } from 'cesium'; export default PerspectiveFrustum; } +declare module "cesium/Source/Core/PerspectiveOffCenterFrustum" { import { PerspectiveOffCenterFrustum } from 'cesium'; export default PerspectiveOffCenterFrustum; } +declare module "cesium/Source/Core/PinBuilder" { import { PinBuilder } from 'cesium'; export default PinBuilder; } +declare module "cesium/Source/Core/PixelFormat" { import { PixelFormat } from 'cesium'; export default PixelFormat; } +declare module "cesium/Source/Core/Plane" { import { Plane } from 'cesium'; export default Plane; } +declare module "cesium/Source/Core/PlaneGeometry" { import { PlaneGeometry } from 'cesium'; export default PlaneGeometry; } +declare module "cesium/Source/Core/PlaneOutlineGeometry" { import { PlaneOutlineGeometry } from 'cesium'; export default PlaneOutlineGeometry; } +declare module "cesium/Source/Core/pointInsideTriangle" { import { pointInsideTriangle } from 'cesium'; export default pointInsideTriangle; } +declare module "cesium/Source/Core/PolygonGeometry" { import { PolygonGeometry } from 'cesium'; export default PolygonGeometry; } +declare module "cesium/Source/Core/PolygonHierarchy" { import { PolygonHierarchy } from 'cesium'; export default PolygonHierarchy; } +declare module "cesium/Source/Core/PolygonOutlineGeometry" { import { PolygonOutlineGeometry } from 'cesium'; export default PolygonOutlineGeometry; } +declare module "cesium/Source/Core/PolylineGeometry" { import { PolylineGeometry } from 'cesium'; export default PolylineGeometry; } +declare module "cesium/Source/Core/PolylineVolumeGeometry" { import { PolylineVolumeGeometry } from 'cesium'; export default PolylineVolumeGeometry; } +declare module "cesium/Source/Core/PolylineVolumeOutlineGeometry" { import { PolylineVolumeOutlineGeometry } from 'cesium'; export default PolylineVolumeOutlineGeometry; } +declare module "cesium/Source/Core/PrimitiveType" { import { PrimitiveType } from 'cesium'; export default PrimitiveType; } +declare module "cesium/Source/Core/Proxy" { import { Proxy } from 'cesium'; export default Proxy; } +declare module "cesium/Source/Core/QuadraticRealPolynomial" { import { QuadraticRealPolynomial } from 'cesium'; export default QuadraticRealPolynomial; } +declare module "cesium/Source/Core/QuantizedMeshTerrainData" { import { QuantizedMeshTerrainData } from 'cesium'; export default QuantizedMeshTerrainData; } +declare module "cesium/Source/Core/QuarticRealPolynomial" { import { QuarticRealPolynomial } from 'cesium'; export default QuarticRealPolynomial; } +declare module "cesium/Source/Core/Quaternion" { import { Quaternion } from 'cesium'; export default Quaternion; } +declare module "cesium/Source/Core/QuaternionSpline" { import { QuaternionSpline } from 'cesium'; export default QuaternionSpline; } +declare module "cesium/Source/Core/queryToObject" { import { queryToObject } from 'cesium'; export default queryToObject; } +declare module "cesium/Source/Core/Queue" { import { Queue } from 'cesium'; export default Queue; } +declare module "cesium/Source/Core/Ray" { import { Ray } from 'cesium'; export default Ray; } +declare module "cesium/Source/Core/Rectangle" { import { Rectangle } from 'cesium'; export default Rectangle; } +declare module "cesium/Source/Core/RectangleGeometry" { import { RectangleGeometry } from 'cesium'; export default RectangleGeometry; } +declare module "cesium/Source/Core/RectangleOutlineGeometry" { import { RectangleOutlineGeometry } from 'cesium'; export default RectangleOutlineGeometry; } +declare module "cesium/Source/Core/ReferenceFrame" { import { ReferenceFrame } from 'cesium'; export default ReferenceFrame; } +declare module "cesium/Source/Core/Request" { import { Request } from 'cesium'; export default Request; } +declare module "cesium/Source/Core/requestAnimationFrame" { import { requestAnimationFrame } from 'cesium'; export default requestAnimationFrame; } +declare module "cesium/Source/Core/RequestErrorEvent" { import { RequestErrorEvent } from 'cesium'; export default RequestErrorEvent; } +declare module "cesium/Source/Core/RequestScheduler" { import { RequestScheduler } from 'cesium'; export default RequestScheduler; } +declare module "cesium/Source/Core/RequestState" { import { RequestState } from 'cesium'; export default RequestState; } +declare module "cesium/Source/Core/RequestType" { import { RequestType } from 'cesium'; export default RequestType; } +declare module "cesium/Source/Core/Resource" { import { Resource } from 'cesium'; export default Resource; } +declare module "cesium/Source/Core/RuntimeError" { import { RuntimeError } from 'cesium'; export default RuntimeError; } +declare module "cesium/Source/Core/sampleTerrain" { import { sampleTerrain } from 'cesium'; export default sampleTerrain; } +declare module "cesium/Source/Core/sampleTerrainMostDetailed" { import { sampleTerrainMostDetailed } from 'cesium'; export default sampleTerrainMostDetailed; } +declare module "cesium/Source/Core/ScreenSpaceEventHandler" { import { ScreenSpaceEventHandler } from 'cesium'; export default ScreenSpaceEventHandler; } +declare module "cesium/Source/Core/ScreenSpaceEventType" { import { ScreenSpaceEventType } from 'cesium'; export default ScreenSpaceEventType; } +declare module "cesium/Source/Core/ShowGeometryInstanceAttribute" { import { ShowGeometryInstanceAttribute } from 'cesium'; export default ShowGeometryInstanceAttribute; } +declare module "cesium/Source/Core/Simon1994PlanetaryPositions" { import { Simon1994PlanetaryPositions } from 'cesium'; export default Simon1994PlanetaryPositions; } +declare module "cesium/Source/Core/SimplePolylineGeometry" { import { SimplePolylineGeometry } from 'cesium'; export default SimplePolylineGeometry; } +declare module "cesium/Source/Core/SphereGeometry" { import { SphereGeometry } from 'cesium'; export default SphereGeometry; } +declare module "cesium/Source/Core/SphereOutlineGeometry" { import { SphereOutlineGeometry } from 'cesium'; export default SphereOutlineGeometry; } +declare module "cesium/Source/Core/Spherical" { import { Spherical } from 'cesium'; export default Spherical; } +declare module "cesium/Source/Core/Spline" { import { Spline } from 'cesium'; export default Spline; } +declare module "cesium/Source/Core/subdivideArray" { import { subdivideArray } from 'cesium'; export default subdivideArray; } +declare module "cesium/Source/Core/TaskProcessor" { import { TaskProcessor } from 'cesium'; export default TaskProcessor; } +declare module "cesium/Source/Core/TerrainData" { import { TerrainData } from 'cesium'; export default TerrainData; } +declare module "cesium/Source/Core/TerrainProvider" { import { TerrainProvider } from 'cesium'; export default TerrainProvider; } +declare module "cesium/Source/Core/TileAvailability" { import { TileAvailability } from 'cesium'; export default TileAvailability; } +declare module "cesium/Source/Core/TileProviderError" { import { TileProviderError } from 'cesium'; export default TileProviderError; } +declare module "cesium/Source/Core/TilingScheme" { import { TilingScheme } from 'cesium'; export default TilingScheme; } +declare module "cesium/Source/Core/TimeInterval" { import { TimeInterval } from 'cesium'; export default TimeInterval; } +declare module "cesium/Source/Core/TimeIntervalCollection" { import { TimeIntervalCollection } from 'cesium'; export default TimeIntervalCollection; } +declare module "cesium/Source/Core/TimeStandard" { import { TimeStandard } from 'cesium'; export default TimeStandard; } +declare module "cesium/Source/Core/Transforms" { import { Transforms } from 'cesium'; export default Transforms; } +declare module "cesium/Source/Core/TranslationRotationScale" { import { TranslationRotationScale } from 'cesium'; export default TranslationRotationScale; } +declare module "cesium/Source/Core/TridiagonalSystemSolver" { import { TridiagonalSystemSolver } from 'cesium'; export default TridiagonalSystemSolver; } +declare module "cesium/Source/Core/TrustedServers" { import { TrustedServers } from 'cesium'; export default TrustedServers; } +declare module "cesium/Source/Core/VertexFormat" { import { VertexFormat } from 'cesium'; export default VertexFormat; } +declare module "cesium/Source/Core/VideoSynchronizer" { import { VideoSynchronizer } from 'cesium'; export default VideoSynchronizer; } +declare module "cesium/Source/Core/Visibility" { import { Visibility } from 'cesium'; export default Visibility; } +declare module "cesium/Source/Core/VRTheWorldTerrainProvider" { import { VRTheWorldTerrainProvider } from 'cesium'; export default VRTheWorldTerrainProvider; } +declare module "cesium/Source/Core/WallGeometry" { import { WallGeometry } from 'cesium'; export default WallGeometry; } +declare module "cesium/Source/Core/WallOutlineGeometry" { import { WallOutlineGeometry } from 'cesium'; export default WallOutlineGeometry; } +declare module "cesium/Source/Core/WebGLConstants" { import { WebGLConstants } from 'cesium'; export default WebGLConstants; } +declare module "cesium/Source/Core/WebMercatorProjection" { import { WebMercatorProjection } from 'cesium'; export default WebMercatorProjection; } +declare module "cesium/Source/Core/WebMercatorTilingScheme" { import { WebMercatorTilingScheme } from 'cesium'; export default WebMercatorTilingScheme; } +declare module "cesium/Source/Core/WeightSpline" { import { WeightSpline } from 'cesium'; export default WeightSpline; } +declare module "cesium/Source/Core/WindingOrder" { import { WindingOrder } from 'cesium'; export default WindingOrder; } +declare module "cesium/Source/Core/writeTextToCanvas" { import { writeTextToCanvas } from 'cesium'; export default writeTextToCanvas; } +declare module "cesium/Source/DataSources/BillboardGraphics" { import { BillboardGraphics } from 'cesium'; export default BillboardGraphics; } +declare module "cesium/Source/DataSources/BillboardVisualizer" { import { BillboardVisualizer } from 'cesium'; export default BillboardVisualizer; } +declare module "cesium/Source/DataSources/BoxGeometryUpdater" { import { BoxGeometryUpdater } from 'cesium'; export default BoxGeometryUpdater; } +declare module "cesium/Source/DataSources/BoxGraphics" { import { BoxGraphics } from 'cesium'; export default BoxGraphics; } +declare module "cesium/Source/DataSources/CallbackProperty" { import { CallbackProperty } from 'cesium'; export default CallbackProperty; } +declare module "cesium/Source/DataSources/Cesium3DTilesetGraphics" { import { Cesium3DTilesetGraphics } from 'cesium'; export default Cesium3DTilesetGraphics; } +declare module "cesium/Source/DataSources/Cesium3DTilesetVisualizer" { import { Cesium3DTilesetVisualizer } from 'cesium'; export default Cesium3DTilesetVisualizer; } +declare module "cesium/Source/DataSources/CheckerboardMaterialProperty" { import { CheckerboardMaterialProperty } from 'cesium'; export default CheckerboardMaterialProperty; } +declare module "cesium/Source/DataSources/ColorMaterialProperty" { import { ColorMaterialProperty } from 'cesium'; export default ColorMaterialProperty; } +declare module "cesium/Source/DataSources/CompositeEntityCollection" { import { CompositeEntityCollection } from 'cesium'; export default CompositeEntityCollection; } +declare module "cesium/Source/DataSources/CompositeMaterialProperty" { import { CompositeMaterialProperty } from 'cesium'; export default CompositeMaterialProperty; } +declare module "cesium/Source/DataSources/CompositePositionProperty" { import { CompositePositionProperty } from 'cesium'; export default CompositePositionProperty; } +declare module "cesium/Source/DataSources/CompositeProperty" { import { CompositeProperty } from 'cesium'; export default CompositeProperty; } +declare module "cesium/Source/DataSources/ConstantPositionProperty" { import { ConstantPositionProperty } from 'cesium'; export default ConstantPositionProperty; } +declare module "cesium/Source/DataSources/ConstantProperty" { import { ConstantProperty } from 'cesium'; export default ConstantProperty; } +declare module "cesium/Source/DataSources/CorridorGeometryUpdater" { import { CorridorGeometryUpdater } from 'cesium'; export default CorridorGeometryUpdater; } +declare module "cesium/Source/DataSources/CorridorGraphics" { import { CorridorGraphics } from 'cesium'; export default CorridorGraphics; } +declare module "cesium/Source/DataSources/CustomDataSource" { import { CustomDataSource } from 'cesium'; export default CustomDataSource; } +declare module "cesium/Source/DataSources/CylinderGeometryUpdater" { import { CylinderGeometryUpdater } from 'cesium'; export default CylinderGeometryUpdater; } +declare module "cesium/Source/DataSources/CylinderGraphics" { import { CylinderGraphics } from 'cesium'; export default CylinderGraphics; } +declare module "cesium/Source/DataSources/CzmlDataSource" { import { CzmlDataSource } from 'cesium'; export default CzmlDataSource; } +declare module "cesium/Source/DataSources/DataSource" { import { DataSource } from 'cesium'; export default DataSource; } +declare module "cesium/Source/DataSources/DataSourceClock" { import { DataSourceClock } from 'cesium'; export default DataSourceClock; } +declare module "cesium/Source/DataSources/DataSourceCollection" { import { DataSourceCollection } from 'cesium'; export default DataSourceCollection; } +declare module "cesium/Source/DataSources/DataSourceDisplay" { import { DataSourceDisplay } from 'cesium'; export default DataSourceDisplay; } +declare module "cesium/Source/DataSources/EllipseGeometryUpdater" { import { EllipseGeometryUpdater } from 'cesium'; export default EllipseGeometryUpdater; } +declare module "cesium/Source/DataSources/EllipseGraphics" { import { EllipseGraphics } from 'cesium'; export default EllipseGraphics; } +declare module "cesium/Source/DataSources/EllipsoidGeometryUpdater" { import { EllipsoidGeometryUpdater } from 'cesium'; export default EllipsoidGeometryUpdater; } +declare module "cesium/Source/DataSources/EllipsoidGraphics" { import { EllipsoidGraphics } from 'cesium'; export default EllipsoidGraphics; } +declare module "cesium/Source/DataSources/Entity" { import { Entity } from 'cesium'; export default Entity; } +declare module "cesium/Source/DataSources/EntityCluster" { import { EntityCluster } from 'cesium'; export default EntityCluster; } +declare module "cesium/Source/DataSources/EntityCollection" { import { EntityCollection } from 'cesium'; export default EntityCollection; } +declare module "cesium/Source/DataSources/EntityView" { import { EntityView } from 'cesium'; export default EntityView; } +declare module "cesium/Source/DataSources/exportKml" { import { exportKml } from 'cesium'; export default exportKml; } +declare module "cesium/Source/DataSources/GeoJsonDataSource" { import { GeoJsonDataSource } from 'cesium'; export default GeoJsonDataSource; } +declare module "cesium/Source/DataSources/GeometryUpdater" { import { GeometryUpdater } from 'cesium'; export default GeometryUpdater; } +declare module "cesium/Source/DataSources/GeometryVisualizer" { import { GeometryVisualizer } from 'cesium'; export default GeometryVisualizer; } +declare module "cesium/Source/DataSources/GridMaterialProperty" { import { GridMaterialProperty } from 'cesium'; export default GridMaterialProperty; } +declare module "cesium/Source/DataSources/GroundGeometryUpdater" { import { GroundGeometryUpdater } from 'cesium'; export default GroundGeometryUpdater; } +declare module "cesium/Source/DataSources/ImageMaterialProperty" { import { ImageMaterialProperty } from 'cesium'; export default ImageMaterialProperty; } +declare module "cesium/Source/DataSources/KmlCamera" { import { KmlCamera } from 'cesium'; export default KmlCamera; } +declare module "cesium/Source/DataSources/KmlDataSource" { import { KmlDataSource } from 'cesium'; export default KmlDataSource; } +declare module "cesium/Source/DataSources/KmlLookAt" { import { KmlLookAt } from 'cesium'; export default KmlLookAt; } +declare module "cesium/Source/DataSources/KmlTour" { import { KmlTour } from 'cesium'; export default KmlTour; } +declare module "cesium/Source/DataSources/KmlTourFlyTo" { import { KmlTourFlyTo } from 'cesium'; export default KmlTourFlyTo; } +declare module "cesium/Source/DataSources/KmlTourWait" { import { KmlTourWait } from 'cesium'; export default KmlTourWait; } +declare module "cesium/Source/DataSources/LabelGraphics" { import { LabelGraphics } from 'cesium'; export default LabelGraphics; } +declare module "cesium/Source/DataSources/LabelVisualizer" { import { LabelVisualizer } from 'cesium'; export default LabelVisualizer; } +declare module "cesium/Source/DataSources/MaterialProperty" { import { MaterialProperty } from 'cesium'; export default MaterialProperty; } +declare module "cesium/Source/DataSources/ModelGraphics" { import { ModelGraphics } from 'cesium'; export default ModelGraphics; } +declare module "cesium/Source/DataSources/ModelVisualizer" { import { ModelVisualizer } from 'cesium'; export default ModelVisualizer; } +declare module "cesium/Source/DataSources/NodeTransformationProperty" { import { NodeTransformationProperty } from 'cesium'; export default NodeTransformationProperty; } +declare module "cesium/Source/DataSources/PathGraphics" { import { PathGraphics } from 'cesium'; export default PathGraphics; } +declare module "cesium/Source/DataSources/PathVisualizer" { import { PathVisualizer } from 'cesium'; export default PathVisualizer; } +declare module "cesium/Source/DataSources/PlaneGeometryUpdater" { import { PlaneGeometryUpdater } from 'cesium'; export default PlaneGeometryUpdater; } +declare module "cesium/Source/DataSources/PlaneGraphics" { import { PlaneGraphics } from 'cesium'; export default PlaneGraphics; } +declare module "cesium/Source/DataSources/PointGraphics" { import { PointGraphics } from 'cesium'; export default PointGraphics; } +declare module "cesium/Source/DataSources/PointVisualizer" { import { PointVisualizer } from 'cesium'; export default PointVisualizer; } +declare module "cesium/Source/DataSources/PolygonGeometryUpdater" { import { PolygonGeometryUpdater } from 'cesium'; export default PolygonGeometryUpdater; } +declare module "cesium/Source/DataSources/PolygonGraphics" { import { PolygonGraphics } from 'cesium'; export default PolygonGraphics; } +declare module "cesium/Source/DataSources/PolylineArrowMaterialProperty" { import { PolylineArrowMaterialProperty } from 'cesium'; export default PolylineArrowMaterialProperty; } +declare module "cesium/Source/DataSources/PolylineDashMaterialProperty" { import { PolylineDashMaterialProperty } from 'cesium'; export default PolylineDashMaterialProperty; } +declare module "cesium/Source/DataSources/PolylineGeometryUpdater" { import { PolylineGeometryUpdater } from 'cesium'; export default PolylineGeometryUpdater; } +declare module "cesium/Source/DataSources/PolylineGlowMaterialProperty" { import { PolylineGlowMaterialProperty } from 'cesium'; export default PolylineGlowMaterialProperty; } +declare module "cesium/Source/DataSources/PolylineGraphics" { import { PolylineGraphics } from 'cesium'; export default PolylineGraphics; } +declare module "cesium/Source/DataSources/PolylineOutlineMaterialProperty" { import { PolylineOutlineMaterialProperty } from 'cesium'; export default PolylineOutlineMaterialProperty; } +declare module "cesium/Source/DataSources/PolylineVisualizer" { import { PolylineVisualizer } from 'cesium'; export default PolylineVisualizer; } +declare module "cesium/Source/DataSources/PolylineVolumeGeometryUpdater" { import { PolylineVolumeGeometryUpdater } from 'cesium'; export default PolylineVolumeGeometryUpdater; } +declare module "cesium/Source/DataSources/PolylineVolumeGraphics" { import { PolylineVolumeGraphics } from 'cesium'; export default PolylineVolumeGraphics; } +declare module "cesium/Source/DataSources/PositionProperty" { import { PositionProperty } from 'cesium'; export default PositionProperty; } +declare module "cesium/Source/DataSources/PositionPropertyArray" { import { PositionPropertyArray } from 'cesium'; export default PositionPropertyArray; } +declare module "cesium/Source/DataSources/Property" { import { Property } from 'cesium'; export default Property; } +declare module "cesium/Source/DataSources/PropertyArray" { import { PropertyArray } from 'cesium'; export default PropertyArray; } +declare module "cesium/Source/DataSources/PropertyBag" { import { PropertyBag } from 'cesium'; export default PropertyBag; } +declare module "cesium/Source/DataSources/RectangleGeometryUpdater" { import { RectangleGeometryUpdater } from 'cesium'; export default RectangleGeometryUpdater; } +declare module "cesium/Source/DataSources/RectangleGraphics" { import { RectangleGraphics } from 'cesium'; export default RectangleGraphics; } +declare module "cesium/Source/DataSources/ReferenceProperty" { import { ReferenceProperty } from 'cesium'; export default ReferenceProperty; } +declare module "cesium/Source/DataSources/Rotation" { import { Rotation } from 'cesium'; export default Rotation; } +declare module "cesium/Source/DataSources/SampledPositionProperty" { import { SampledPositionProperty } from 'cesium'; export default SampledPositionProperty; } +declare module "cesium/Source/DataSources/SampledProperty" { import { SampledProperty } from 'cesium'; export default SampledProperty; } +declare module "cesium/Source/DataSources/StripeMaterialProperty" { import { StripeMaterialProperty } from 'cesium'; export default StripeMaterialProperty; } +declare module "cesium/Source/DataSources/StripeOrientation" { import { StripeOrientation } from 'cesium'; export default StripeOrientation; } +declare module "cesium/Source/DataSources/TimeIntervalCollectionPositionProperty" { import { TimeIntervalCollectionPositionProperty } from 'cesium'; export default TimeIntervalCollectionPositionProperty; } +declare module "cesium/Source/DataSources/TimeIntervalCollectionProperty" { import { TimeIntervalCollectionProperty } from 'cesium'; export default TimeIntervalCollectionProperty; } +declare module "cesium/Source/DataSources/VelocityOrientationProperty" { import { VelocityOrientationProperty } from 'cesium'; export default VelocityOrientationProperty; } +declare module "cesium/Source/DataSources/VelocityVectorProperty" { import { VelocityVectorProperty } from 'cesium'; export default VelocityVectorProperty; } +declare module "cesium/Source/DataSources/Visualizer" { import { Visualizer } from 'cesium'; export default Visualizer; } +declare module "cesium/Source/DataSources/WallGeometryUpdater" { import { WallGeometryUpdater } from 'cesium'; export default WallGeometryUpdater; } +declare module "cesium/Source/DataSources/WallGraphics" { import { WallGraphics } from 'cesium'; export default WallGraphics; } +declare module "cesium/Source/Renderer/PixelDatatype" { import { PixelDatatype } from 'cesium'; export default PixelDatatype; } +declare module "cesium/Source/Renderer/TextureMagnificationFilter" { import { TextureMagnificationFilter } from 'cesium'; export default TextureMagnificationFilter; } +declare module "cesium/Source/Renderer/TextureMinificationFilter" { import { TextureMinificationFilter } from 'cesium'; export default TextureMinificationFilter; } +declare module "cesium/Source/Scene/Appearance" { import { Appearance } from 'cesium'; export default Appearance; } +declare module "cesium/Source/Scene/ArcGisMapServerImageryProvider" { import { ArcGisMapServerImageryProvider } from 'cesium'; export default ArcGisMapServerImageryProvider; } +declare module "cesium/Source/Scene/Axis" { import { Axis } from 'cesium'; export default Axis; } +declare module "cesium/Source/Scene/Billboard" { import { Billboard } from 'cesium'; export default Billboard; } +declare module "cesium/Source/Scene/BillboardCollection" { import { BillboardCollection } from 'cesium'; export default BillboardCollection; } +declare module "cesium/Source/Scene/BingMapsImageryProvider" { import { BingMapsImageryProvider } from 'cesium'; export default BingMapsImageryProvider; } +declare module "cesium/Source/Scene/BingMapsStyle" { import { BingMapsStyle } from 'cesium'; export default BingMapsStyle; } +declare module "cesium/Source/Scene/BlendEquation" { import { BlendEquation } from 'cesium'; export default BlendEquation; } +declare module "cesium/Source/Scene/BlendFunction" { import { BlendFunction } from 'cesium'; export default BlendFunction; } +declare module "cesium/Source/Scene/BlendingState" { import { BlendingState } from 'cesium'; export default BlendingState; } +declare module "cesium/Source/Scene/BlendOption" { import { BlendOption } from 'cesium'; export default BlendOption; } +declare module "cesium/Source/Scene/BoxEmitter" { import { BoxEmitter } from 'cesium'; export default BoxEmitter; } +declare module "cesium/Source/Scene/Camera" { import { Camera } from 'cesium'; export default Camera; } +declare module "cesium/Source/Scene/CameraEventAggregator" { import { CameraEventAggregator } from 'cesium'; export default CameraEventAggregator; } +declare module "cesium/Source/Scene/CameraEventType" { import { CameraEventType } from 'cesium'; export default CameraEventType; } +declare module "cesium/Source/Scene/Cesium3DTile" { import { Cesium3DTile } from 'cesium'; export default Cesium3DTile; } +declare module "cesium/Source/Scene/Cesium3DTileColorBlendMode" { import { Cesium3DTileColorBlendMode } from 'cesium'; export default Cesium3DTileColorBlendMode; } +declare module "cesium/Source/Scene/Cesium3DTileContent" { import { Cesium3DTileContent } from 'cesium'; export default Cesium3DTileContent; } +declare module "cesium/Source/Scene/Cesium3DTileFeature" { import { Cesium3DTileFeature } from 'cesium'; export default Cesium3DTileFeature; } +declare module "cesium/Source/Scene/Cesium3DTilePointFeature" { import { Cesium3DTilePointFeature } from 'cesium'; export default Cesium3DTilePointFeature; } +declare module "cesium/Source/Scene/Cesium3DTileset" { import { Cesium3DTileset } from 'cesium'; export default Cesium3DTileset; } +declare module "cesium/Source/Scene/Cesium3DTileStyle" { import { Cesium3DTileStyle } from 'cesium'; export default Cesium3DTileStyle; } +declare module "cesium/Source/Scene/CircleEmitter" { import { CircleEmitter } from 'cesium'; export default CircleEmitter; } +declare module "cesium/Source/Scene/ClassificationPrimitive" { import { ClassificationPrimitive } from 'cesium'; export default ClassificationPrimitive; } +declare module "cesium/Source/Scene/ClassificationType" { import { ClassificationType } from 'cesium'; export default ClassificationType; } +declare module "cesium/Source/Scene/ClippingPlane" { import { ClippingPlane } from 'cesium'; export default ClippingPlane; } +declare module "cesium/Source/Scene/ClippingPlaneCollection" { import { ClippingPlaneCollection } from 'cesium'; export default ClippingPlaneCollection; } +declare module "cesium/Source/Scene/ColorBlendMode" { import { ColorBlendMode } from 'cesium'; export default ColorBlendMode; } +declare module "cesium/Source/Scene/ConditionsExpression" { import { ConditionsExpression } from 'cesium'; export default ConditionsExpression; } +declare module "cesium/Source/Scene/ConeEmitter" { import { ConeEmitter } from 'cesium'; export default ConeEmitter; } +declare module "cesium/Source/Scene/createOsmBuildings" { import { createOsmBuildings } from 'cesium'; export default createOsmBuildings; } +declare module "cesium/Source/Scene/createTangentSpaceDebugPrimitive" { import { createTangentSpaceDebugPrimitive } from 'cesium'; export default createTangentSpaceDebugPrimitive; } +declare module "cesium/Source/Scene/createWorldImagery" { import { createWorldImagery } from 'cesium'; export default createWorldImagery; } +declare module "cesium/Source/Scene/CreditDisplay" { import { CreditDisplay } from 'cesium'; export default CreditDisplay; } +declare module "cesium/Source/Scene/CullFace" { import { CullFace } from 'cesium'; export default CullFace; } +declare module "cesium/Source/Scene/DebugAppearance" { import { DebugAppearance } from 'cesium'; export default DebugAppearance; } +declare module "cesium/Source/Scene/DebugCameraPrimitive" { import { DebugCameraPrimitive } from 'cesium'; export default DebugCameraPrimitive; } +declare module "cesium/Source/Scene/DebugModelMatrixPrimitive" { import { DebugModelMatrixPrimitive } from 'cesium'; export default DebugModelMatrixPrimitive; } +declare module "cesium/Source/Scene/DepthFunction" { import { DepthFunction } from 'cesium'; export default DepthFunction; } +declare module "cesium/Source/Scene/DirectionalLight" { import { DirectionalLight } from 'cesium'; export default DirectionalLight; } +declare module "cesium/Source/Scene/DiscardEmptyTileImagePolicy" { import { DiscardEmptyTileImagePolicy } from 'cesium'; export default DiscardEmptyTileImagePolicy; } +declare module "cesium/Source/Scene/DiscardMissingTileImagePolicy" { import { DiscardMissingTileImagePolicy } from 'cesium'; export default DiscardMissingTileImagePolicy; } +declare module "cesium/Source/Scene/EllipsoidSurfaceAppearance" { import { EllipsoidSurfaceAppearance } from 'cesium'; export default EllipsoidSurfaceAppearance; } +declare module "cesium/Source/Scene/Expression" { import { Expression } from 'cesium'; export default Expression; } +declare module "cesium/Source/Scene/Fog" { import { Fog } from 'cesium'; export default Fog; } +declare module "cesium/Source/Scene/FrameRateMonitor" { import { FrameRateMonitor } from 'cesium'; export default FrameRateMonitor; } +declare module "cesium/Source/Scene/GetFeatureInfoFormat" { import { GetFeatureInfoFormat } from 'cesium'; export default GetFeatureInfoFormat; } +declare module "cesium/Source/Scene/Globe" { import { Globe } from 'cesium'; export default Globe; } +declare module "cesium/Source/Scene/GlobeTranslucency" { import { GlobeTranslucency } from 'cesium'; export default GlobeTranslucency; } +declare module "cesium/Source/Scene/GoogleEarthEnterpriseImageryProvider" { import { GoogleEarthEnterpriseImageryProvider } from 'cesium'; export default GoogleEarthEnterpriseImageryProvider; } +declare module "cesium/Source/Scene/GoogleEarthEnterpriseMapsProvider" { import { GoogleEarthEnterpriseMapsProvider } from 'cesium'; export default GoogleEarthEnterpriseMapsProvider; } +declare module "cesium/Source/Scene/GridImageryProvider" { import { GridImageryProvider } from 'cesium'; export default GridImageryProvider; } +declare module "cesium/Source/Scene/GroundPolylinePrimitive" { import { GroundPolylinePrimitive } from 'cesium'; export default GroundPolylinePrimitive; } +declare module "cesium/Source/Scene/GroundPrimitive" { import { GroundPrimitive } from 'cesium'; export default GroundPrimitive; } +declare module "cesium/Source/Scene/HeightReference" { import { HeightReference } from 'cesium'; export default HeightReference; } +declare module "cesium/Source/Scene/HorizontalOrigin" { import { HorizontalOrigin } from 'cesium'; export default HorizontalOrigin; } +declare module "cesium/Source/Scene/ImageryLayer" { import { ImageryLayer } from 'cesium'; export default ImageryLayer; } +declare module "cesium/Source/Scene/ImageryLayerCollection" { import { ImageryLayerCollection } from 'cesium'; export default ImageryLayerCollection; } +declare module "cesium/Source/Scene/ImageryLayerFeatureInfo" { import { ImageryLayerFeatureInfo } from 'cesium'; export default ImageryLayerFeatureInfo; } +declare module "cesium/Source/Scene/ImageryProvider" { import { ImageryProvider } from 'cesium'; export default ImageryProvider; } +declare module "cesium/Source/Scene/ImagerySplitDirection" { import { ImagerySplitDirection } from 'cesium'; export default ImagerySplitDirection; } +declare module "cesium/Source/Scene/IonImageryProvider" { import { IonImageryProvider } from 'cesium'; export default IonImageryProvider; } +declare module "cesium/Source/Scene/IonWorldImageryStyle" { import { IonWorldImageryStyle } from 'cesium'; export default IonWorldImageryStyle; } +declare module "cesium/Source/Scene/Label" { import { Label } from 'cesium'; export default Label; } +declare module "cesium/Source/Scene/LabelCollection" { import { LabelCollection } from 'cesium'; export default LabelCollection; } +declare module "cesium/Source/Scene/LabelStyle" { import { LabelStyle } from 'cesium'; export default LabelStyle; } +declare module "cesium/Source/Scene/Light" { import { Light } from 'cesium'; export default Light; } +declare module "cesium/Source/Scene/MapboxImageryProvider" { import { MapboxImageryProvider } from 'cesium'; export default MapboxImageryProvider; } +declare module "cesium/Source/Scene/MapboxStyleImageryProvider" { import { MapboxStyleImageryProvider } from 'cesium'; export default MapboxStyleImageryProvider; } +declare module "cesium/Source/Scene/MapMode2D" { import { MapMode2D } from 'cesium'; export default MapMode2D; } +declare module "cesium/Source/Scene/Material" { import { Material } from 'cesium'; export default Material; } +declare module "cesium/Source/Scene/MaterialAppearance" { import { MaterialAppearance } from 'cesium'; export default MaterialAppearance; } +declare module "cesium/Source/Scene/Model" { import { Model } from 'cesium'; export default Model; } +declare module "cesium/Source/Scene/ModelAnimation" { import { ModelAnimation } from 'cesium'; export default ModelAnimation; } +declare module "cesium/Source/Scene/ModelAnimationCollection" { import { ModelAnimationCollection } from 'cesium'; export default ModelAnimationCollection; } +declare module "cesium/Source/Scene/ModelAnimationLoop" { import { ModelAnimationLoop } from 'cesium'; export default ModelAnimationLoop; } +declare module "cesium/Source/Scene/ModelMaterial" { import { ModelMaterial } from 'cesium'; export default ModelMaterial; } +declare module "cesium/Source/Scene/ModelMesh" { import { ModelMesh } from 'cesium'; export default ModelMesh; } +declare module "cesium/Source/Scene/ModelNode" { import { ModelNode } from 'cesium'; export default ModelNode; } +declare module "cesium/Source/Scene/Moon" { import { Moon } from 'cesium'; export default Moon; } +declare module "cesium/Source/Scene/NeverTileDiscardPolicy" { import { NeverTileDiscardPolicy } from 'cesium'; export default NeverTileDiscardPolicy; } +declare module "cesium/Source/Scene/OpenStreetMapImageryProvider" { import { OpenStreetMapImageryProvider } from 'cesium'; export default OpenStreetMapImageryProvider; } +declare module "cesium/Source/Scene/Particle" { import { Particle } from 'cesium'; export default Particle; } +declare module "cesium/Source/Scene/ParticleBurst" { import { ParticleBurst } from 'cesium'; export default ParticleBurst; } +declare module "cesium/Source/Scene/ParticleEmitter" { import { ParticleEmitter } from 'cesium'; export default ParticleEmitter; } +declare module "cesium/Source/Scene/ParticleSystem" { import { ParticleSystem } from 'cesium'; export default ParticleSystem; } +declare module "cesium/Source/Scene/PerInstanceColorAppearance" { import { PerInstanceColorAppearance } from 'cesium'; export default PerInstanceColorAppearance; } +declare module "cesium/Source/Scene/PointCloudShading" { import { PointCloudShading } from 'cesium'; export default PointCloudShading; } +declare module "cesium/Source/Scene/PointPrimitive" { import { PointPrimitive } from 'cesium'; export default PointPrimitive; } +declare module "cesium/Source/Scene/PointPrimitiveCollection" { import { PointPrimitiveCollection } from 'cesium'; export default PointPrimitiveCollection; } +declare module "cesium/Source/Scene/Polyline" { import { Polyline } from 'cesium'; export default Polyline; } +declare module "cesium/Source/Scene/PolylineCollection" { import { PolylineCollection } from 'cesium'; export default PolylineCollection; } +declare module "cesium/Source/Scene/PolylineColorAppearance" { import { PolylineColorAppearance } from 'cesium'; export default PolylineColorAppearance; } +declare module "cesium/Source/Scene/PolylineMaterialAppearance" { import { PolylineMaterialAppearance } from 'cesium'; export default PolylineMaterialAppearance; } +declare module "cesium/Source/Scene/PostProcessStage" { import { PostProcessStage } from 'cesium'; export default PostProcessStage; } +declare module "cesium/Source/Scene/PostProcessStageCollection" { import { PostProcessStageCollection } from 'cesium'; export default PostProcessStageCollection; } +declare module "cesium/Source/Scene/PostProcessStageComposite" { import { PostProcessStageComposite } from 'cesium'; export default PostProcessStageComposite; } +declare module "cesium/Source/Scene/PostProcessStageLibrary" { import { PostProcessStageLibrary } from 'cesium'; export default PostProcessStageLibrary; } +declare module "cesium/Source/Scene/PostProcessStageSampleMode" { import { PostProcessStageSampleMode } from 'cesium'; export default PostProcessStageSampleMode; } +declare module "cesium/Source/Scene/Primitive" { import { Primitive } from 'cesium'; export default Primitive; } +declare module "cesium/Source/Scene/PrimitiveCollection" { import { PrimitiveCollection } from 'cesium'; export default PrimitiveCollection; } +declare module "cesium/Source/Scene/Scene" { import { Scene } from 'cesium'; export default Scene; } +declare module "cesium/Source/Scene/SceneMode" { import { SceneMode } from 'cesium'; export default SceneMode; } +declare module "cesium/Source/Scene/SceneTransforms" { import { SceneTransforms } from 'cesium'; export default SceneTransforms; } +declare module "cesium/Source/Scene/ScreenSpaceCameraController" { import { ScreenSpaceCameraController } from 'cesium'; export default ScreenSpaceCameraController; } +declare module "cesium/Source/Scene/ShadowMap" { import { ShadowMap } from 'cesium'; export default ShadowMap; } +declare module "cesium/Source/Scene/ShadowMode" { import { ShadowMode } from 'cesium'; export default ShadowMode; } +declare module "cesium/Source/Scene/SingleTileImageryProvider" { import { SingleTileImageryProvider } from 'cesium'; export default SingleTileImageryProvider; } +declare module "cesium/Source/Scene/SkyAtmosphere" { import { SkyAtmosphere } from 'cesium'; export default SkyAtmosphere; } +declare module "cesium/Source/Scene/SkyBox" { import { SkyBox } from 'cesium'; export default SkyBox; } +declare module "cesium/Source/Scene/SphereEmitter" { import { SphereEmitter } from 'cesium'; export default SphereEmitter; } +declare module "cesium/Source/Scene/StencilFunction" { import { StencilFunction } from 'cesium'; export default StencilFunction; } +declare module "cesium/Source/Scene/StencilOperation" { import { StencilOperation } from 'cesium'; export default StencilOperation; } +declare module "cesium/Source/Scene/StyleExpression" { import { StyleExpression } from 'cesium'; export default StyleExpression; } +declare module "cesium/Source/Scene/Sun" { import { Sun } from 'cesium'; export default Sun; } +declare module "cesium/Source/Scene/SunLight" { import { SunLight } from 'cesium'; export default SunLight; } +declare module "cesium/Source/Scene/TileCoordinatesImageryProvider" { import { TileCoordinatesImageryProvider } from 'cesium'; export default TileCoordinatesImageryProvider; } +declare module "cesium/Source/Scene/TileDiscardPolicy" { import { TileDiscardPolicy } from 'cesium'; export default TileDiscardPolicy; } +declare module "cesium/Source/Scene/TileMapServiceImageryProvider" { import { TileMapServiceImageryProvider } from 'cesium'; export default TileMapServiceImageryProvider; } +declare module "cesium/Source/Scene/TimeDynamicImagery" { import { TimeDynamicImagery } from 'cesium'; export default TimeDynamicImagery; } +declare module "cesium/Source/Scene/TimeDynamicPointCloud" { import { TimeDynamicPointCloud } from 'cesium'; export default TimeDynamicPointCloud; } +declare module "cesium/Source/Scene/UrlTemplateImageryProvider" { import { UrlTemplateImageryProvider } from 'cesium'; export default UrlTemplateImageryProvider; } +declare module "cesium/Source/Scene/VerticalOrigin" { import { VerticalOrigin } from 'cesium'; export default VerticalOrigin; } +declare module "cesium/Source/Scene/ViewportQuad" { import { ViewportQuad } from 'cesium'; export default ViewportQuad; } +declare module "cesium/Source/Scene/WebMapServiceImageryProvider" { import { WebMapServiceImageryProvider } from 'cesium'; export default WebMapServiceImageryProvider; } +declare module "cesium/Source/Scene/WebMapTileServiceImageryProvider" { import { WebMapTileServiceImageryProvider } from 'cesium'; export default WebMapTileServiceImageryProvider; } +declare module "cesium/Source/Widgets/ClockViewModel" { import { ClockViewModel } from 'cesium'; export default ClockViewModel; } +declare module "cesium/Source/Widgets/Command" { import { Command } from 'cesium'; export default Command; } +declare module "cesium/Source/Widgets/createCommand" { import { createCommand } from 'cesium'; export default createCommand; } +declare module "cesium/Source/Widgets/SvgPathBindingHandler" { import { SvgPathBindingHandler } from 'cesium'; export default SvgPathBindingHandler; } +declare module "cesium/Source/Widgets/ToggleButtonViewModel" { import { ToggleButtonViewModel } from 'cesium'; export default ToggleButtonViewModel; } +declare module "cesium/Source/Widgets/Animation/Animation" { import { Animation } from 'cesium'; export default Animation; } +declare module "cesium/Source/Widgets/Animation/AnimationViewModel" { import { AnimationViewModel } from 'cesium'; export default AnimationViewModel; } +declare module "cesium/Source/Widgets/BaseLayerPicker/BaseLayerPicker" { import { BaseLayerPicker } from 'cesium'; export default BaseLayerPicker; } +declare module "cesium/Source/Widgets/BaseLayerPicker/BaseLayerPickerViewModel" { import { BaseLayerPickerViewModel } from 'cesium'; export default BaseLayerPickerViewModel; } +declare module "cesium/Source/Widgets/BaseLayerPicker/ProviderViewModel" { import { ProviderViewModel } from 'cesium'; export default ProviderViewModel; } +declare module "cesium/Source/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector" { import { Cesium3DTilesInspector } from 'cesium'; export default Cesium3DTilesInspector; } +declare module "cesium/Source/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspectorViewModel" { import { Cesium3DTilesInspectorViewModel } from 'cesium'; export default Cesium3DTilesInspectorViewModel; } +declare module "cesium/Source/Widgets/CesiumInspector/CesiumInspector" { import { CesiumInspector } from 'cesium'; export default CesiumInspector; } +declare module "cesium/Source/Widgets/CesiumInspector/CesiumInspectorViewModel" { import { CesiumInspectorViewModel } from 'cesium'; export default CesiumInspectorViewModel; } +declare module "cesium/Source/Widgets/CesiumWidget/CesiumWidget" { import { CesiumWidget } from 'cesium'; export default CesiumWidget; } +declare module "cesium/Source/Widgets/FullscreenButton/FullscreenButton" { import { FullscreenButton } from 'cesium'; export default FullscreenButton; } +declare module "cesium/Source/Widgets/FullscreenButton/FullscreenButtonViewModel" { import { FullscreenButtonViewModel } from 'cesium'; export default FullscreenButtonViewModel; } +declare module "cesium/Source/Widgets/Geocoder/Geocoder" { import { Geocoder } from 'cesium'; export default Geocoder; } +declare module "cesium/Source/Widgets/Geocoder/GeocoderViewModel" { import { GeocoderViewModel } from 'cesium'; export default GeocoderViewModel; } +declare module "cesium/Source/Widgets/HomeButton/HomeButton" { import { HomeButton } from 'cesium'; export default HomeButton; } +declare module "cesium/Source/Widgets/HomeButton/HomeButtonViewModel" { import { HomeButtonViewModel } from 'cesium'; export default HomeButtonViewModel; } +declare module "cesium/Source/Widgets/InfoBox/InfoBox" { import { InfoBox } from 'cesium'; export default InfoBox; } +declare module "cesium/Source/Widgets/InfoBox/InfoBoxViewModel" { import { InfoBoxViewModel } from 'cesium'; export default InfoBoxViewModel; } +declare module "cesium/Source/Widgets/NavigationHelpButton/NavigationHelpButton" { import { NavigationHelpButton } from 'cesium'; export default NavigationHelpButton; } +declare module "cesium/Source/Widgets/NavigationHelpButton/NavigationHelpButtonViewModel" { import { NavigationHelpButtonViewModel } from 'cesium'; export default NavigationHelpButtonViewModel; } +declare module "cesium/Source/Widgets/PerformanceWatchdog/PerformanceWatchdog" { import { PerformanceWatchdog } from 'cesium'; export default PerformanceWatchdog; } +declare module "cesium/Source/Widgets/PerformanceWatchdog/PerformanceWatchdogViewModel" { import { PerformanceWatchdogViewModel } from 'cesium'; export default PerformanceWatchdogViewModel; } +declare module "cesium/Source/Widgets/ProjectionPicker/ProjectionPicker" { import { ProjectionPicker } from 'cesium'; export default ProjectionPicker; } +declare module "cesium/Source/Widgets/ProjectionPicker/ProjectionPickerViewModel" { import { ProjectionPickerViewModel } from 'cesium'; export default ProjectionPickerViewModel; } +declare module "cesium/Source/Widgets/SceneModePicker/SceneModePicker" { import { SceneModePicker } from 'cesium'; export default SceneModePicker; } +declare module "cesium/Source/Widgets/SceneModePicker/SceneModePickerViewModel" { import { SceneModePickerViewModel } from 'cesium'; export default SceneModePickerViewModel; } +declare module "cesium/Source/Widgets/SelectionIndicator/SelectionIndicator" { import { SelectionIndicator } from 'cesium'; export default SelectionIndicator; } +declare module "cesium/Source/Widgets/SelectionIndicator/SelectionIndicatorViewModel" { import { SelectionIndicatorViewModel } from 'cesium'; export default SelectionIndicatorViewModel; } +declare module "cesium/Source/Widgets/Timeline/Timeline" { import { Timeline } from 'cesium'; export default Timeline; } +declare module "cesium/Source/Widgets/Viewer/Viewer" { import { Viewer } from 'cesium'; export default Viewer; } +declare module "cesium/Source/Widgets/Viewer/viewerCesium3DTilesInspectorMixin" { import { viewerCesium3DTilesInspectorMixin } from 'cesium'; export default viewerCesium3DTilesInspectorMixin; } +declare module "cesium/Source/Widgets/Viewer/viewerCesiumInspectorMixin" { import { viewerCesiumInspectorMixin } from 'cesium'; export default viewerCesiumInspectorMixin; } +declare module "cesium/Source/Widgets/Viewer/viewerDragDropMixin" { import { viewerDragDropMixin } from 'cesium'; export default viewerDragDropMixin; } +declare module "cesium/Source/Widgets/Viewer/viewerPerformanceWatchdogMixin" { import { viewerPerformanceWatchdogMixin } from 'cesium'; export default viewerPerformanceWatchdogMixin; } +declare module "cesium/Source/Widgets/VRButton/VRButton" { import { VRButton } from 'cesium'; export default VRButton; } +declare module "cesium/Source/Widgets/VRButton/VRButtonViewModel" { import { VRButtonViewModel } from 'cesium'; export default VRButtonViewModel; } diff --git a/public/GV/thirdParty/CesiumManager/Cesium.js b/public/GV/thirdParty/CesiumManager/Cesium.js new file mode 100644 index 000000000..be7ebddf0 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Cesium.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Cesium={})}(this,function(exports){"use strict";function appendForwardSlash(e){return 0!==e.length&&"/"===e[e.length-1]||(e+="/"),e}function defined(e){return null!=e}function DeveloperError(e){var t;this.name="DeveloperError",this.message=e;try{throw new Error}catch(e){t=e.stack}this.stack=t}defined(Object.create)&&(DeveloperError.prototype=Object.create(Error.prototype),DeveloperError.prototype.constructor=DeveloperError),DeveloperError.prototype.toString=function(){var e=this.name+": "+this.message;return defined(this.stack)&&(e+="\n"+this.stack.toString()),e},DeveloperError.throwInstantiationError=function(){throw new DeveloperError("This function defines an interface and should not be called directly.")};var Check={};function getUndefinedErrorMessage(e){return e+" is required, actual value was undefined"}function getFailedTypeErrorMessage(e,t,i){return"Expected "+i+" to be typeof "+t+", actual typeof was "+e}function defaultValue(e,t){return null!=e?e:t}function MersenneTwister(e){null==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)}Check.typeOf={},Check.defined=function(e,t){if(!defined(t))throw new DeveloperError(getUndefinedErrorMessage(e))},Check.typeOf.func=function(e,t){if("function"!=typeof t)throw new DeveloperError(getFailedTypeErrorMessage(typeof t,"function",e))},Check.typeOf.string=function(e,t){if("string"!=typeof t)throw new DeveloperError(getFailedTypeErrorMessage(typeof t,"string",e))},Check.typeOf.number=function(e,t){if("number"!=typeof t)throw new DeveloperError(getFailedTypeErrorMessage(typeof t,"number",e))},Check.typeOf.number.lessThan=function(e,t,i){if(Check.typeOf.number(e,t),i<=t)throw new DeveloperError("Expected "+e+" to be less than "+i+", actual value was "+t)},Check.typeOf.number.lessThanOrEquals=function(e,t,i){if(Check.typeOf.number(e,t),i>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},MersenneTwister.prototype.genrand_int32=function(){var e,t,i=new Array(0,this.MATRIX_A);if(this.mti>=this.N){for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^i[1&e];for(;t>>1^i[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^i[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,(e^=e>>>18)>>>0},MersenneTwister.prototype.random=function(){return this.genrand_int32()*(1/4294967296)};var CesiumMath={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,EPSILON21:1e-21,GRAVITATIONALPARAMETER:3986004418e5,SOLAR_RADIUS:6955e5,LUNAR_RADIUS:1737400,SIXTY_FOUR_KILOBYTES:65536,FOUR_GIGABYTES:4294967296};CesiumMath.sign=defaultValue(Math.sign,function(e){return 0===(e=+e)||e!=e?e:0=Math.PI?e-t:e},CesiumMath.clampToLatitudeRange=function(e){return CesiumMath.clamp(e,-1*CesiumMath.PI_OVER_TWO,CesiumMath.PI_OVER_TWO)},CesiumMath.negativePiToPi=function(e){return CesiumMath.zeroToTwoPi(e+CesiumMath.PI)-CesiumMath.PI},CesiumMath.zeroToTwoPi=function(e){var t=CesiumMath.mod(e,CesiumMath.TWO_PI);return Math.abs(t)CesiumMath.EPSILON14?CesiumMath.TWO_PI:t},CesiumMath.mod=function(e,t){return(e%t+t)%t},CesiumMath.equalsEpsilon=function(e,t,i,r){i=defaultValue(i,0),r=defaultValue(r,i);var n=Math.abs(e-t);return n<=r||n<=i*Math.max(Math.abs(e),Math.abs(t))},CesiumMath.lessThan=function(e,t,i){return e-t<-i},CesiumMath.lessThanOrEquals=function(e,t,i){return e-t>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},CesiumMath.clamp=function(e,t,i){return eMath.abs(e)?CesiumMath.PI_OVER_TWO-i:i,i=e<0?CesiumMath.PI-i:i,i=t<0?-i:i},Cartesian3.fromSpherical=function(e,t){defined(t)||(t=new Cartesian3);var i=e.clock,r=e.cone,n=defaultValue(e.magnitude,1),e=n*Math.sin(r);return t.x=e*Math.cos(i),t.y=e*Math.sin(i),t.z=n*Math.cos(r),t},Cartesian3.fromElements=function(e,t,i,r){return defined(r)?(r.x=e,r.y=t,r.z=i,r):new Cartesian3(e,t,i)},Cartesian3.clone=function(e,t){if(defined(e))return defined(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new Cartesian3(e.x,e.y,e.z)},Cartesian3.fromCartesian4=Cartesian3.clone,Cartesian3.packedLength=3,Cartesian3.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.x,t[i++]=e.y,t[i]=e.z,t},Cartesian3.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new Cartesian3),i.x=e[t++],i.y=e[t++],i.z=e[t],i},Cartesian3.packArray=function(e,t){var i=e.length,r=3*i;if(defined(t)){if(!Array.isArray(t)&&t.length!==r)throw new DeveloperError("If result is a typed array, it must have exactly array.length * 3 elements");t.length!==r&&(t.length=r)}else t=new Array(r);for(var n=0;nCesiumMath.EPSILON12);return defined(n)?(n.x=a*_,n.y=o*y,n.z=s*C,n):new Cartesian3(a*_,o*y,s*C)}function Cartographic(e,t,i){this.longitude=defaultValue(e,0),this.latitude=defaultValue(t,0),this.height=defaultValue(i,0)}Cartographic.fromRadians=function(e,t,i,r){return i=defaultValue(i,0),defined(r)?(r.longitude=e,r.latitude=t,r.height=i,r):new Cartographic(e,t,i)},Cartographic.fromDegrees=function(e,t,i,r){return e=CesiumMath.toRadians(e),t=CesiumMath.toRadians(t),Cartographic.fromRadians(e,t,i,r)};var cartesianToCartographicN=new Cartesian3,cartesianToCartographicP=new Cartesian3,cartesianToCartographicH=new Cartesian3,wgs84OneOverRadii=new Cartesian3(1/6378137,1/6378137,1/6356752.314245179),wgs84OneOverRadiiSquared=new Cartesian3(1/40680631590769,1/40680631590769,1/40408299984661.445),wgs84CenterToleranceSquared=CesiumMath.EPSILON1;function initialize(e,t,i,r){t=defaultValue(t,0),i=defaultValue(i,0),r=defaultValue(r,0),e._radii=new Cartesian3(t,i,r),e._radiiSquared=new Cartesian3(t*t,i*i,r*r),e._radiiToTheFourth=new Cartesian3(t*t*t*t,i*i*i*i,r*r*r*r),e._oneOverRadii=new Cartesian3(0===t?0:1/t,0===i?0:1/i,0===r?0:1/r),e._oneOverRadiiSquared=new Cartesian3(0===t?0:1/(t*t),0===i?0:1/(i*i),0===r?0:1/(r*r)),e._minimumRadius=Math.min(t,i,r),e._maximumRadius=Math.max(t,i,r),e._centerToleranceSquared=CesiumMath.EPSILON1,0!==e._radiiSquared.z&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function Ellipsoid(e,t,i){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,initialize(this,e,t,i)}Cartographic.fromCartesian=function(e,t,i){var r=defined(t)?t.oneOverRadii:wgs84OneOverRadii,n=defined(t)?t.oneOverRadiiSquared:wgs84OneOverRadiiSquared,r=scaleToGeodeticSurface(e,r,n,defined(t)?t._centerToleranceSquared:wgs84CenterToleranceSquared,cartesianToCartographicP);if(defined(r)){t=Cartesian3.multiplyComponents(r,n,cartesianToCartographicN),t=Cartesian3.normalize(t,t),n=Cartesian3.subtract(e,r,cartesianToCartographicH),r=Math.atan2(t.y,t.x),t=Math.asin(t.z),n=CesiumMath.sign(Cartesian3.dot(n,e))*Cartesian3.magnitude(n);return defined(i)?(i.longitude=r,i.latitude=t,i.height=n,i):new Cartographic(r,t,n)}},Cartographic.toCartesian=function(e,t,i){return Cartesian3.fromRadians(e.longitude,e.latitude,e.height,t,i)},Cartographic.clone=function(e,t){if(defined(e))return defined(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new Cartographic(e.longitude,e.latitude,e.height)},Cartographic.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},Cartographic.equalsEpsilon=function(e,t,i){return i=defaultValue(i,0),e===t||defined(e)&&defined(t)&&Math.abs(e.longitude-t.longitude)<=i&&Math.abs(e.latitude-t.latitude)<=i&&Math.abs(e.height-t.height)<=i},Cartographic.ZERO=Object.freeze(new Cartographic(0,0,0)),Cartographic.prototype.clone=function(e){return Cartographic.clone(this,e)},Cartographic.prototype.equals=function(e){return Cartographic.equals(this,e)},Cartographic.prototype.equalsEpsilon=function(e,t){return Cartographic.equalsEpsilon(this,e,t)},Cartographic.prototype.toString=function(){return"("+this.longitude+", "+this.latitude+", "+this.height+")"},Object.defineProperties(Ellipsoid.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),Ellipsoid.clone=function(e,t){if(defined(e)){var i=e._radii;return defined(t)?(Cartesian3.clone(i,t._radii),Cartesian3.clone(e._radiiSquared,t._radiiSquared),Cartesian3.clone(e._radiiToTheFourth,t._radiiToTheFourth),Cartesian3.clone(e._oneOverRadii,t._oneOverRadii),Cartesian3.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new Ellipsoid(i.x,i.y,i.z)}},Ellipsoid.fromCartesian3=function(e,t){return defined(t)||(t=new Ellipsoid),defined(e)&&initialize(t,e.x,e.y,e.z),t},Ellipsoid.WGS84=Object.freeze(new Ellipsoid(6378137,6378137,6356752.314245179)),Ellipsoid.UNIT_SPHERE=Object.freeze(new Ellipsoid(1,1,1)),Ellipsoid.MOON=Object.freeze(new Ellipsoid(CesiumMath.LUNAR_RADIUS,CesiumMath.LUNAR_RADIUS,CesiumMath.LUNAR_RADIUS)),Ellipsoid.prototype.clone=function(e){return Ellipsoid.clone(this,e)},Ellipsoid.packedLength=Cartesian3.packedLength,Ellipsoid.pack=function(e,t,i){return i=defaultValue(i,0),Cartesian3.pack(e._radii,t,i),t},Ellipsoid.unpack=function(e,t,i){t=defaultValue(t,0);t=Cartesian3.unpack(e,t);return Ellipsoid.fromCartesian3(t,i)},Ellipsoid.prototype.geocentricSurfaceNormal=Cartesian3.normalize,Ellipsoid.prototype.geodeticSurfaceNormalCartographic=function(e,t){var i=e.longitude,r=e.latitude,n=Math.cos(r),e=n*Math.cos(i),i=n*Math.sin(i),r=Math.sin(r);return defined(t)||(t=new Cartesian3),t.x=e,t.y=i,t.z=r,Cartesian3.normalize(t,t)},Ellipsoid.prototype.geodeticSurfaceNormal=function(e,t){if(!Cartesian3.equalsEpsilon(e,Cartesian3.ZERO,CesiumMath.EPSILON14))return defined(t)||(t=new Cartesian3),t=Cartesian3.multiplyComponents(e,this._oneOverRadiiSquared,t),Cartesian3.normalize(t,t)};var cartographicToCartesianNormal=new Cartesian3,cartographicToCartesianK=new Cartesian3;Ellipsoid.prototype.cartographicToCartesian=function(e,t){var i=cartographicToCartesianNormal,r=cartographicToCartesianK;this.geodeticSurfaceNormalCartographic(e,i),Cartesian3.multiplyComponents(this._radiiSquared,i,r);var n=Math.sqrt(Cartesian3.dot(i,r));return Cartesian3.divideByScalar(r,n,r),Cartesian3.multiplyByScalar(i,e.height,i),defined(t)||(t=new Cartesian3),Cartesian3.add(r,i,t)},Ellipsoid.prototype.cartographicArrayToCartesianArray=function(e,t){var i=e.length;defined(t)?t.length=i:t=new Array(i);for(var r=0;r=this._radii.z-t))return i};var abscissas=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],weights=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function gaussLegendreQuadrature(e,t,i){for(var r=.5*(t+e),n=.5*(t-e),a=0,o=0;o<5;o++){var s=n*abscissas[o];a+=weights[o]*(i(r+s)+i(r-s))}return a*=n}function GeographicProjection(e){this._ellipsoid=defaultValue(e,Ellipsoid.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Ellipsoid.prototype.surfaceArea=function(e){for(var t=e.west,n=e.east,i=e.south,r=e.north;ni&&(l=(i=(i=(e[Matrix3.getElementIndex(u,u)]-e[Matrix3.getElementIndex(c,c)])/2/e[Matrix3.getElementIndex(u,c)])<0?-1/(-i+Math.sqrt(1+i*i)):1/(i+Math.sqrt(1+i*i)))*(s=1/Math.sqrt(1+i*i))),(t=Matrix3.clone(Matrix3.IDENTITY,t))[Matrix3.getElementIndex(c,c)]=t[Matrix3.getElementIndex(u,u)]=s,t[Matrix3.getElementIndex(u,c)]=l,t[Matrix3.getElementIndex(c,u)]=-l,t}var jMatrix=new Matrix3,jMatrixTranspose=new Matrix3;Matrix3.computeEigenDecomposition=function(e,t){var i=CesiumMath.EPSILON20,r=0,n=0;defined(t)||(t={});for(var a=t.unitary=Matrix3.clone(Matrix3.IDENTITY,t.unitary),o=t.diagonal=Matrix3.clone(e,t.diagonal),s=i*computeFrobeniusNorm(o);n<10&&offDiagonalFrobeniusNorm(o)>s;)shurDecomposition(o,jMatrix),Matrix3.transpose(jMatrix,jMatrixTranspose),Matrix3.multiply(o,jMatrix,o),Matrix3.multiply(jMatrixTranspose,o,o),Matrix3.multiply(a,jMatrix,a),2<++r&&(++n,r=0);return t},Matrix3.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t},Matrix3.determinant=function(e){var t=e[0],i=e[3],r=e[6],n=e[1],a=e[4],o=e[7],s=e[2],l=e[5],e=e[8];return t*(a*e-l*o)+n*(l*r-i*e)+s*(i*o-a*r)},Matrix3.inverse=function(e,t){var i=e[0],r=e[1],n=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],e=Matrix3.determinant(e);t[0]=o*u-c*s,t[1]=c*n-r*u,t[2]=r*s-o*n,t[3]=l*s-a*u,t[4]=i*u-l*n,t[5]=a*n-i*s,t[6]=a*c-l*o,t[7]=l*r-i*c,t[8]=i*o-a*r;e=1/e;return Matrix3.multiplyByScalar(t,e,t)};var scratchTransposeMatrix=new Matrix3;function Cartesian4(e,t,i,r){this.x=defaultValue(e,0),this.y=defaultValue(t,0),this.z=defaultValue(i,0),this.w=defaultValue(r,0)}Matrix3.inverseTranspose=function(e,t){return Matrix3.inverse(Matrix3.transpose(e,scratchTransposeMatrix),t)},Matrix3.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},Matrix3.equalsEpsilon=function(e,t,i){return i=defaultValue(i,0),e===t||defined(e)&&defined(t)&&Math.abs(e[0]-t[0])<=i&&Math.abs(e[1]-t[1])<=i&&Math.abs(e[2]-t[2])<=i&&Math.abs(e[3]-t[3])<=i&&Math.abs(e[4]-t[4])<=i&&Math.abs(e[5]-t[5])<=i&&Math.abs(e[6]-t[6])<=i&&Math.abs(e[7]-t[7])<=i&&Math.abs(e[8]-t[8])<=i},Matrix3.IDENTITY=Object.freeze(new Matrix3(1,0,0,0,1,0,0,0,1)),Matrix3.ZERO=Object.freeze(new Matrix3(0,0,0,0,0,0,0,0,0)),Matrix3.COLUMN0ROW0=0,Matrix3.COLUMN0ROW1=1,Matrix3.COLUMN0ROW2=2,Matrix3.COLUMN1ROW0=3,Matrix3.COLUMN1ROW1=4,Matrix3.COLUMN1ROW2=5,Matrix3.COLUMN2ROW0=6,Matrix3.COLUMN2ROW1=7,Matrix3.COLUMN2ROW2=8,Object.defineProperties(Matrix3.prototype,{length:{get:function(){return Matrix3.packedLength}}}),Matrix3.prototype.clone=function(e){return Matrix3.clone(this,e)},Matrix3.prototype.equals=function(e){return Matrix3.equals(this,e)},Matrix3.equalsArray=function(e,t,i){return e[0]===t[i]&&e[1]===t[i+1]&&e[2]===t[i+2]&&e[3]===t[i+3]&&e[4]===t[i+4]&&e[5]===t[i+5]&&e[6]===t[i+6]&&e[7]===t[i+7]&&e[8]===t[i+8]},Matrix3.prototype.equalsEpsilon=function(e,t){return Matrix3.equalsEpsilon(this,e,t)},Matrix3.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n("+this[1]+", "+this[4]+", "+this[7]+")\n("+this[2]+", "+this[5]+", "+this[8]+")"},Cartesian4.fromElements=function(e,t,i,r,n){return defined(n)?(n.x=e,n.y=t,n.z=i,n.w=r,n):new Cartesian4(e,t,i,r)},Cartesian4.fromColor=function(e,t){return defined(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new Cartesian4(e.red,e.green,e.blue,e.alpha)},Cartesian4.clone=function(e,t){if(defined(e))return defined(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new Cartesian4(e.x,e.y,e.z,e.w)},Cartesian4.packedLength=4,Cartesian4.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.x,t[i++]=e.y,t[i++]=e.z,t[i]=e.w,t},Cartesian4.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new Cartesian4),i.x=e[t++],i.y=e[t++],i.z=e[t++],i.w=e[t],i},Cartesian4.packArray=function(e,t){var i=e.length,r=4*i;if(defined(t)){if(!Array.isArray(t)&&t.length!==r)throw new DeveloperError("If result is a typed array, it must have exactly array.length * 4 elements");t.length!==r&&(t.length=r)}else t=new Array(r);for(var n=0;nCesiumMath.PI&&(r-=CesiumMath.TWO_PI),i>CesiumMath.PI&&(i-=CesiumMath.TWO_PI)),defined(t)?(t.west=i,t.south=o,t.east=r,t.north=s,t):new Rectangle(i,o,r,s)},Rectangle.fromCartesianArray=function(e,t,i){t=defaultValue(t,Ellipsoid.WGS84);for(var r=Number.MAX_VALUE,n=-Number.MAX_VALUE,a=Number.MAX_VALUE,o=-Number.MAX_VALUE,s=Number.MAX_VALUE,l=-Number.MAX_VALUE,c=0,u=e.length;cCesiumMath.PI&&(n-=CesiumMath.TWO_PI),r>CesiumMath.PI&&(r-=CesiumMath.TWO_PI)),defined(i)?(i.west=r,i.south=s,i.east=n,i.north=l,i):new Rectangle(r,s,n,l)},Rectangle.clone=function(e,t){if(defined(e))return defined(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new Rectangle(e.west,e.south,e.east,e.north)},Rectangle.equalsEpsilon=function(e,t,i){return i=defaultValue(i,0),e===t||defined(e)&&defined(t)&&Math.abs(e.west-t.west)<=i&&Math.abs(e.south-t.south)<=i&&Math.abs(e.east-t.east)<=i&&Math.abs(e.north-t.north)<=i},Rectangle.prototype.clone=function(e){return Rectangle.clone(this,e)},Rectangle.prototype.equals=function(e){return Rectangle.equals(this,e)},Rectangle.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north},Rectangle.prototype.equalsEpsilon=function(e,t){return Rectangle.equalsEpsilon(this,e,t)},Rectangle.validate=function(e){},Rectangle.southwest=function(e,t){return defined(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new Cartographic(e.west,e.south)},Rectangle.northwest=function(e,t){return defined(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new Cartographic(e.west,e.north)},Rectangle.northeast=function(e,t){return defined(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new Cartographic(e.east,e.north)},Rectangle.southeast=function(e,t){return defined(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new Cartographic(e.east,e.south)},Rectangle.center=function(e,t){var i=e.east,r=e.west;i=e.south&&r<=e.north};var subsampleLlaScratch=new Cartographic;function BoundingSphere(e,t){this.center=Cartesian3.clone(defaultValue(e,Cartesian3.ZERO)),this.radius=defaultValue(t,0)}Rectangle.subsample=function(e,t,i,r){t=defaultValue(t,Ellipsoid.WGS84),i=defaultValue(i,0),defined(r)||(r=[]);var n=0,a=e.north,o=e.south,s=e.east,l=e.west,c=subsampleLlaScratch;c.height=i,c.longitude=l,c.latitude=a,r[n]=t.cartographicToCartesian(c,r[n]),n++,c.longitude=s,r[n]=t.cartographicToCartesian(c,r[n]),n++,c.latitude=o,r[n]=t.cartographicToCartesian(c,r[n]),n++,c.longitude=l,r[n]=t.cartographicToCartesian(c,r[n]),n++,c.latitude=a<0?a:0o.x&&Cartesian3.clone(i,o),hs.y&&Cartesian3.clone(i,s),pl.z&&Cartesian3.clone(i,l)}var m=Cartesian3.magnitudeSquared(Cartesian3.subtract(o,r,fromPointsScratch)),f=Cartesian3.magnitudeSquared(Cartesian3.subtract(s,n,fromPointsScratch)),g=Cartesian3.magnitudeSquared(Cartesian3.subtract(l,a,fromPointsScratch)),_=r,y=o,m=m;ml.x&&Cartesian3.clone(n,l),mc.y&&Cartesian3.clone(n,c),fu.z&&Cartesian3.clone(n,u)}var g=Cartesian3.magnitudeSquared(Cartesian3.subtract(l,a,fromPointsScratch)),_=Cartesian3.magnitudeSquared(Cartesian3.subtract(c,o,fromPointsScratch)),y=Cartesian3.magnitudeSquared(Cartesian3.subtract(u,s,fromPointsScratch)),C=a,v=l,g=g;g<_&&(g=_,C=o,v=c),gs.x&&Cartesian3.clone(r,s),pl.y&&Cartesian3.clone(r,l),mc.z&&Cartesian3.clone(r,c)}var f=Cartesian3.magnitudeSquared(Cartesian3.subtract(s,n,fromPointsScratch)),g=Cartesian3.magnitudeSquared(Cartesian3.subtract(l,a,fromPointsScratch)),_=Cartesian3.magnitudeSquared(Cartesian3.subtract(c,o,fromPointsScratch)),y=n,C=s,f=f;fi.radius&&(i.radius=t),i},BoundingSphere.intersectPlane=function(e,t){var i=e.center,r=e.radius,e=t.normal,t=Cartesian3.dot(e,i)+t.distance;return t<-r?Intersect$1.OUTSIDE:t>>0,o=Math.max(0,Math.min(p,a)),s=[],l=a-o+1,c=[],u=defer();if(o)for(r=u.progress,i=function(e){c.push(e),--l||(t=i=noop,u.reject(c))},t=function(e){s.push(e),--o||(t=i=noop,u.resolve(s))},n=0;n>>0,a=[],o=defer();if(n)for(i=function(e,t){when(e,s).then(function(e){a[t]=e,--n||o.resolve(a)},o.reject)},r=0;r>>0,a=arguments;if(a.length<=1)for(;;){if(i in r){t=r[i++];break}if(++i>=n)throw new TypeError}else t=a[1];for(;in&&(t=i[n],this._length=n),t},Heap.prototype.pop=function(e){if(e=defaultValue(e,0),0!==this._length){var t=this._array,i=t[e];return swap(t,e,--this._length),this.heapify(e),t[this._length]=void 0,i}};var statistics={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},priorityHeapLength=20,requestHeap=new Heap({comparator:sortRequests});requestHeap.maximumLength=priorityHeapLength,requestHeap.reserve(priorityHeapLength);var activeRequests=[],numberOfActiveRequestsByServer={},pageUri="undefined"!=typeof document?new URI(document.location.href):new URI,requestCompletedEvent=new Event;function RequestScheduler(){}function updatePriority(e){defined(e.priorityFunction)&&(e.priority=e.priorityFunction())}function serverHasOpenSlots(e){var t=defaultValue(RequestScheduler.requestsByServer[e],RequestScheduler.maximumRequestsPerServer);return numberOfActiveRequestsByServer[e]e;)cancelRequest(requestHeap.pop());priorityHeapLength=e,requestHeap.maximumLength=e,requestHeap.reserve(e)}}}),RequestScheduler.update=function(){for(var e,t=0,i=activeRequests.length,r=0;r=RequestScheduler.maximumRequests)){updatePriority(e);var t=requestHeap.insert(e);if(defined(t)){if(t===e)return;cancelRequest(t)}return issueRequest(e)}}},RequestScheduler.clearForSpecs=function(){for(;0=this.retryAttempts)return when(!1);var i=this;return when(t(this,e)).then(function(e){return++i._retryCount,e})},Resource.prototype.clone=function(e){return defined(e)||(e=new Resource({url:this._url})),e._url=this._url,e._queryParameters=clone(this._queryParameters),e._templateValues=clone(this._templateValues),e.headers=clone(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e},Resource.prototype.getBaseUri=function(e){return getBaseUri(this.getUrlComponent(e),e)},Resource.prototype.appendForwardSlash=function(){this._url=appendForwardSlash(this._url)},Resource.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})},Resource.fetchArrayBuffer=function(e){return new Resource(e).fetchArrayBuffer()},Resource.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})},Resource.fetchBlob=function(e){return new Resource(e).fetchBlob()},Resource.prototype.fetchImage=function(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.preferImageBitmap,!1),i=defaultValue(e.preferBlob,!1),r=defaultValue(e.flipY,!1);if(checkAndResetRequest(this.request),!xhrBlobSupported||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!i)return fetchImage({resource:this,flipY:r,preferImageBitmap:t});var n,a,o,s=this.fetchBlob();return defined(s)?Resource.supportsImageBitmapOptions().then(function(e){return n=e&&t,s}).then(function(e){if(defined(e)){if(o=e,n)return Resource.createImageBitmapFromBlob(e,{flipY:r,premultiplyAlpha:!1});e=window.URL.createObjectURL(e);return fetchImage({resource:a=new Resource({url:e}),flipY:r,preferImageBitmap:!1})}}).then(function(e){if(defined(e))return e.blob=o,n||window.URL.revokeObjectURL(a.url),e}).otherwise(function(e){return defined(a)&&window.URL.revokeObjectURL(a.url),e.blob=o,when.reject(e)}):void 0},Resource.fetchImage=function(e){return new Resource(e).fetchImage({flipY:e.flipY,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})},Resource.prototype.fetchText=function(){return this.fetch({responseType:"text"})},Resource.fetchText=function(e){return new Resource(e).fetchText()},Resource.prototype.fetchJson=function(){var e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(defined(e))return e.then(function(e){if(defined(e))return JSON.parse(e)})},Resource.fetchJson=function(e){return new Resource(e).fetchJson()},Resource.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})},Resource.fetchXML=function(e){return new Resource(e).fetchXML()},Resource.prototype.fetchJsonp=function(e){var t;for(e=defaultValue(e,"callback"),checkAndResetRequest(this.request);t="loadJsonp"+Math.random().toString().substring(2,8),defined(window[t]););return fetchJsonp(this,e,t)},Resource.fetchJsonp=function(e){return new Resource(e).fetchJsonp(e.callbackParameterName)},Resource.prototype._makeRequest=function(s){var l=this;checkAndResetRequest(l.request);var c=l.request;c.url=l.url,c.requestFunction=function(){var e=s.responseType,t=combine(s.headers,l.headers),i=s.overrideMimeType,r=s.method,n=s.data,a=when.defer(),o=Resource._Implementations.loadWithXhr(l.url,e,r,n,t,a,i);return defined(o)&&defined(o.abort)&&(c.cancelFunction=function(){o.abort()}),a.promise};var e=RequestScheduler.request(c);if(defined(e))return e.then(function(e){return c.cancelFunction=void 0,e}).otherwise(function(t){return c.cancelFunction=void 0,c.state!==RequestState$1.FAILED?when.reject(t):l.retryOnError(t).then(function(e){return e?(c.state=RequestState$1.UNISSUED,c.deferred=void 0,l.fetch(s)):when.reject(t)})})};var dataUriRegex$1=/^data:(.*?)(;base64)?,(.*)$/;function decodeDataUriText(e,t){t=decodeURIComponent(t);return e?atob(t):t}function decodeDataUriArrayBuffer(e,t){for(var i=decodeDataUriText(e,t),t=new ArrayBuffer(i.length),r=new Uint8Array(t),n=0;n/gm,DATA_ATTR=/^data-[\-\w.\u00B7-\uFFFF]/,ARIA_ATTR=/^aria-[\-\w]+$/,IS_ALLOWED_URI=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,IS_SCRIPT_OR_DATA=/^(?:\w+script|data):/i,ATTR_WHITESPACE=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t

').querySelector("svg img")&&(n=!0)}catch(e){}}(),function(){try{x("</title><img>").querySelector("title").textContent.match(/<\/title/)&&(a=!0)}catch(e){}}());function ne(e){return g.call(e.ownerDocument||e,e,t.SHOW_ELEMENT|t.SHOW_COMMENT|t.SHOW_TEXT,function(){return t.FILTER_ACCEPT},!1)}function ae(e){return"object"===(void 0===h?"undefined":_typeof(h))?e instanceof h:e&&"object"===(void 0===e?"undefined":_typeof(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName}function oe(e,t,i){v[e]&&v[e].forEach(function(e){e.call(u,t,i,ie)})}function se(e){var t=void 0;if(oe("beforeSanitizeElements",e,null),!((i=e)instanceof s||i instanceof p)&&!("string"==typeof i.nodeName&&"string"==typeof i.textContent&&"function"==typeof i.removeChild&&i.attributes instanceof r&&"function"==typeof i.removeAttribute&&"function"==typeof i.setAttribute))return T(e),1;var i=e.nodeName.toLowerCase();if(oe("uponSanitizeElement",e,{tagName:i,allowedTags:O}),O[i]&&!B[i])return!$||e.firstElementChild||e.content&&e.content.firstElementChild||!/</g.test(e.textContent)||(u.removed.push({element:e.cloneNode()}),e.innerHTML?e.innerHTML=e.innerHTML.replace(/</g,"<"):e.innerHTML=e.textContent.replace(/</g,"<")),G&&3===e.nodeType&&(t=(t=(t=e.textContent).replace(P," ")).replace(A," "),e.textContent!==t&&(u.removed.push({element:e.cloneNode()}),e.textContent=t)),oe("afterSanitizeElements",e,null),0;if(J&&!K[i]&&"function"==typeof e.insertAdjacentHTML)try{e.insertAdjacentHTML("AfterEnd",e.innerHTML)}catch(e){}return T(e),1}function le(e,t,i){if(Q&&("id"===t||"name"===t)&&(i in o||i in re))return!1;if(G&&(i=(i=i.replace(P," ")).replace(A," ")),!(z&&w.test(t)||k&&D.test(t))){if(!F[t]||V[t])return!1;if(!te[t]&&!R.test(i.replace(I,"")))if("src"!==t&&"xlink:href"!==t||"script"===e||0!==i.indexOf("data:")||!ee[e]){if((!U||M.test(i.replace(I,"")))&&i)return!1}else;}return!0}function ce(e){var t=void 0,i=void 0;oe("beforeSanitizeAttributes",e,null);var r=e.attributes;if(r){for(var n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:F},i=r.length;i--;){var a=(t=r[i]).name,o=t.namespaceURI,s=t.value.trim(),l=a.toLowerCase();if(n.attrName=l,n.attrValue=s,n.keepAttr=!0,oe("uponSanitizeAttribute",e,n),s=n.attrValue,"name"===l&&"IMG"===e.nodeName&&r.id)c=r.id,r=Array.prototype.slice.apply(r),b("id",e),b(a,e),r.indexOf(c)>i&&e.setAttribute("id",c.value);else{if("INPUT"===e.nodeName&&"type"===l&&"file"===s&&(F[l]||!V[l]))continue;"id"===a&&e.setAttribute(a,""),b(a,e)}if(n.keepAttr){var c=e.nodeName.toLowerCase();if(le(c,l,s))try{o?e.setAttributeNS(o,a,s):e.setAttribute(a,s),u.removed.pop()}catch(e){}}}oe("afterSanitizeAttributes",e,null)}}function ue(e){var t,i=ne(e);for(oe("beforeSanitizeShadowDOM",e,null);t=i.nextNode();)oe("uponSanitizeShadowNode",t,null),se(t)||(t.content instanceof d&&ue(t.content),ce(t));oe("afterSanitizeShadowDOM",e,null)}return u.sanitize=function(e,t){var i,r,n=void 0,a=void 0,o=void 0;if("string"!=typeof(e=e||"\x3c!--\x3e")&&!ae(e)){if("function"!=typeof e.toString)throw new TypeError("toString is not a function");if("string"!=typeof(e=e.toString()))throw new TypeError("dirty is not a string, aborting")}if(!u.isSupported){if("object"===_typeof(l.toStaticHTML)||"function"==typeof l.toStaticHTML){if("string"==typeof e)return l.toStaticHTML(e);if(ae(e))return l.toStaticHTML(e.outerHTML)}return e}if(W||S(t),u.removed=[],!Z)if(e instanceof h)1===(i=(n=x("\x3c!--\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===i.nodeName?n=i:n.appendChild(i);else{if(!j&&!H&&-1===e.indexOf("<"))return e;if(!(n=x(e)))return j?null:""}n&&q&&T(n.firstChild);for(var s=ne(Z?e:n);r=s.nextNode();)3===r.nodeType&&r===a||se(r)||(r.content instanceof d&&ue(r.content),ce(r),a=r);if(Z)return e;if(j){if(Y)for(o=y.call(n.ownerDocument);n.firstChild;)o.appendChild(n.firstChild);else o=n;return X&&(o=C.call(c,o,!0)),o}return H?n.outerHTML:n.innerHTML},u.setConfig=function(e){S(e),W=!0},u.clearConfig=function(){ie=null,W=!1},u.isValidAttribute=function(e,t,i){ie||S({});e=e.toLowerCase(),t=t.toLowerCase();return le(e,t,i)},u.addHook=function(e,t){"function"==typeof t&&(v[e]=v[e]||[],v[e].push(t))},u.removeHook=function(e){v[e]&&v[e].pop()},u.removeHooks=function(e){v[e]&&(v[e]=[])},u.removeAllHooks=function(){v={}},u}var purify=createDOMPurify(),nextCreditId=0,creditToId={};function Credit(e,t){var i,r=e;defined(creditToId[r])?i=creditToId[r]:(i=nextCreditId++,creditToId[r]=i),t=defaultValue(t,!1),this._id=i,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(Credit.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen}},element:{get:function(){if(!defined(this._element)){var e=purify.sanitize(this._html),t=document.createElement("div");t._creditId=this._id,t.style.display="inline",t.innerHTML=e;for(var i=t.querySelectorAll("a"),r=0;r<i.length;r++)i[r].setAttribute("target","_blank");this._element=t}return this._element}}}),Credit.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e._id===t._id},Credit.prototype.equals=function(e){return Credit.equals(this,e)},Credit.getIonCredit=function(e){var t=defined(e.collapsible)&&!e.collapsible,t=new Credit(e.html,t);return t._isIon=-1!==t.html.indexOf("ion-credit.png"),t},Credit.clone=function(e){if(defined(e))return new Credit(e.html,e.showOnScreen)};var HeightmapEncoding={NONE:0,LERC:1},HeightmapEncoding$1=Object.freeze(HeightmapEncoding);function AxisAlignedBoundingBox(e,t,i){this.minimum=Cartesian3.clone(defaultValue(e,Cartesian3.ZERO)),this.maximum=Cartesian3.clone(defaultValue(t,Cartesian3.ZERO)),i=defined(i)?Cartesian3.clone(i):Cartesian3.midpoint(this.minimum,this.maximum,new Cartesian3),this.center=i}AxisAlignedBoundingBox.fromPoints=function(e,t){if(defined(t)||(t=new AxisAlignedBoundingBox),!defined(e)||0===e.length)return t.minimum=Cartesian3.clone(Cartesian3.ZERO,t.minimum),t.maximum=Cartesian3.clone(Cartesian3.ZERO,t.maximum),t.center=Cartesian3.clone(Cartesian3.ZERO,t.center),t;for(var i=e[0].x,r=e[0].y,n=e[0].z,a=e[0].x,o=e[0].y,s=e[0].z,l=e.length,c=1;c<l;c++)var u=e[c],d=u.x,h=u.y,u=u.z,i=Math.min(d,i),a=Math.max(d,a),r=Math.min(h,r),o=Math.max(h,o),n=Math.min(u,n),s=Math.max(u,s);var p=t.minimum;p.x=i,p.y=r,p.z=n;var m=t.maximum;return m.x=a,m.y=o,m.z=s,t.center=Cartesian3.midpoint(p,m,t.center),t},AxisAlignedBoundingBox.clone=function(e,t){if(defined(e))return defined(t)?(t.minimum=Cartesian3.clone(e.minimum,t.minimum),t.maximum=Cartesian3.clone(e.maximum,t.maximum),t.center=Cartesian3.clone(e.center,t.center),t):new AxisAlignedBoundingBox(e.minimum,e.maximum,e.center)},AxisAlignedBoundingBox.equals=function(e,t){return e===t||defined(e)&&defined(t)&&Cartesian3.equals(e.center,t.center)&&Cartesian3.equals(e.minimum,t.minimum)&&Cartesian3.equals(e.maximum,t.maximum)};var intersectScratch=new Cartesian3;function EllipsoidalOccluder(e,t){this._ellipsoid=e,this._cameraPosition=new Cartesian3,this._cameraPositionInScaledSpace=new Cartesian3,this._distanceToLimbInScaledSpaceSquared=0,defined(t)&&(this.cameraPosition=t)}AxisAlignedBoundingBox.intersectPlane=function(e,t){intersectScratch=Cartesian3.subtract(e.maximum,e.minimum,intersectScratch);var i=Cartesian3.multiplyByScalar(intersectScratch,.5,intersectScratch),r=t.normal,i=i.x*Math.abs(r.x)+i.y*Math.abs(r.y)+i.z*Math.abs(r.z),t=Cartesian3.dot(e.center,r)+t.distance;return 0<t-i?Intersect$1.INSIDE:t+i<0?Intersect$1.OUTSIDE:Intersect$1.INTERSECTING},AxisAlignedBoundingBox.prototype.clone=function(e){return AxisAlignedBoundingBox.clone(this,e)},AxisAlignedBoundingBox.prototype.intersectPlane=function(e){return AxisAlignedBoundingBox.intersectPlane(this,e)},AxisAlignedBoundingBox.prototype.equals=function(e){return AxisAlignedBoundingBox.equals(this,e)},Object.defineProperties(EllipsoidalOccluder.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){var t=this._ellipsoid.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),i=Cartesian3.magnitudeSquared(t)-1;Cartesian3.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=t,this._distanceToLimbInScaledSpaceSquared=i}}});var scratchCartesian=new Cartesian3;EllipsoidalOccluder.prototype.isPointVisible=function(e){return isScaledSpacePointVisible(this._ellipsoid.transformPositionToScaledSpace(e,scratchCartesian),this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)},EllipsoidalOccluder.prototype.isScaledSpacePointVisible=function(e){return isScaledSpacePointVisible(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var scratchCameraPositionInScaledSpaceShrunk=new Cartesian3;EllipsoidalOccluder.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(e,t){var i,r=this._ellipsoid,t=defined(t)&&t<0&&r.minimumRadius>-t?((i=scratchCameraPositionInScaledSpaceShrunk).x=this._cameraPosition.x/(r.radii.x+t),i.y=this._cameraPosition.y/(r.radii.y+t),i.z=this._cameraPosition.z/(r.radii.z+t),i.x*i.x+i.y*i.y+i.z*i.z-1):(i=this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared);return isScaledSpacePointVisible(e,i,t)},EllipsoidalOccluder.prototype.computeHorizonCullingPoint=function(e,t,i){return computeHorizonCullingPointFromPositions(this._ellipsoid,e,t,i)};var scratchEllipsoidShrunk=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE);EllipsoidalOccluder.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,i,r){return computeHorizonCullingPointFromPositions(getPossiblyShrunkEllipsoid(this._ellipsoid,i,scratchEllipsoidShrunk),e,t,r)},EllipsoidalOccluder.prototype.computeHorizonCullingPointFromVertices=function(e,t,i,r,n){return computeHorizonCullingPointFromVertices(this._ellipsoid,e,t,i,r,n)},EllipsoidalOccluder.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,i,r,n,a){return computeHorizonCullingPointFromVertices(getPossiblyShrunkEllipsoid(this._ellipsoid,n,scratchEllipsoidShrunk),e,t,i,r,a)};var subsampleScratch=[];EllipsoidalOccluder.prototype.computeHorizonCullingPointFromRectangle=function(e,t,i){var r=Rectangle.subsample(e,t,0,subsampleScratch),e=BoundingSphere.fromPoints(r);if(!(Cartesian3.magnitude(e.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(e.center,r,i)};var scratchEllipsoidShrunkRadii=new Cartesian3;function getPossiblyShrunkEllipsoid(e,t,i){return defined(t)&&t<0&&e.minimumRadius>-t&&(t=Cartesian3.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,scratchEllipsoidShrunkRadii),e=Ellipsoid.fromCartesian3(t,i)),e}function computeHorizonCullingPointFromPositions(e,t,i,r){defined(r)||(r=new Cartesian3);for(var n=computeScaledSpaceDirectionToPoint(e,t),a=0,o=0,s=i.length;o<s;++o){var l=computeMagnitude(e,i[o],n);if(l<0)return;a=Math.max(a,l)}return magnitudeToPoint(n,a,r)}var positionScratch=new Cartesian3;function computeHorizonCullingPointFromVertices(e,t,i,r,n,a){defined(a)||(a=new Cartesian3),r=defaultValue(r,3),n=defaultValue(n,Cartesian3.ZERO);for(var o=computeScaledSpaceDirectionToPoint(e,t),s=0,l=0,c=i.length;l<c;l+=r){positionScratch.x=i[l]+n.x,positionScratch.y=i[l+1]+n.y,positionScratch.z=i[l+2]+n.z;var u=computeMagnitude(e,positionScratch,o);if(u<0)return;s=Math.max(s,u)}return magnitudeToPoint(o,s,a)}function isScaledSpacePointVisible(e,t,i){e=Cartesian3.subtract(e,t,scratchCartesian),t=-Cartesian3.dot(e,t);return!(i<0?0<t:i<t&&t*t/Cartesian3.magnitudeSquared(e)>i)}var scaledSpaceScratch=new Cartesian3,directionScratch=new Cartesian3;function computeMagnitude(e,t,i){var r=e.transformPositionToScaledSpace(t,scaledSpaceScratch),e=Cartesian3.magnitudeSquared(r),t=Math.sqrt(e),r=Cartesian3.divideByScalar(r,t,directionScratch),e=Math.max(1,e),t=1/(t=Math.max(1,t));return 1/(Cartesian3.dot(r,i)*t-Cartesian3.magnitude(Cartesian3.cross(r,i,r))*(Math.sqrt(e-1)*t))}function magnitudeToPoint(e,t,i){if(!(t<=0||t===1/0||t!=t))return Cartesian3.multiplyByScalar(e,t,i)}var directionToPointScratch=new Cartesian3;function computeScaledSpaceDirectionToPoint(e,t){return Cartesian3.equals(t,Cartesian3.ZERO)?t:(e.transformPositionToScaledSpace(t,directionToPointScratch),Cartesian3.normalize(directionToPointScratch,directionToPointScratch))}var QuadraticRealPolynomial={};function addWithCancellationCheck(e,t,i){var r=e+t;return CesiumMath.sign(e)!==CesiumMath.sign(t)&&Math.abs(r/Math.max(Math.abs(e),Math.abs(t)))<i?0:r}QuadraticRealPolynomial.computeDiscriminant=function(e,t,i){return t*t-4*e*i},QuadraticRealPolynomial.computeRealRoots=function(e,t,i){if(0===e)return 0===t?[]:[-i/t];if(0===t){if(0===i)return[0,0];var r=Math.abs(i),n=Math.abs(e);if(r<n&&r/n<CesiumMath.EPSILON14)return[0,0];if(n<r&&n/r<CesiumMath.EPSILON14)return[];if((n=-i/e)<0)return[];r=Math.sqrt(n);return[-r,r]}if(0===i)return(n=-t/e)<0?[n,0]:[0,n];n=addWithCancellationCheck(t*t,-(4*e*i),CesiumMath.EPSILON14);if(n<0)return[];n=-.5*addWithCancellationCheck(t,CesiumMath.sign(t)*Math.sqrt(n),CesiumMath.EPSILON14);return 0<t?[n/e,i/n]:[i/n,n/e]};var CubicRealPolynomial={};function computeRealRoots(e,t,i,r){var n=e,a=t/3,o=i/3,s=r,l=n*o,c=a*s,u=a*a,d=o*o,h=n*o-u,e=n*s-a*o,t=a*s-d,i=4*h*t-e*e;if(i<0){var r=l*d<=u*c?-2*a*(f=h)+(m=n)*e:-(m=s)*e+2*o*(f=t),p=-(r<0?-1:1)*Math.abs(m)*Math.sqrt(-i),m=(g=p-r)/2,m=m<0?-Math.pow(-m,1/3):Math.pow(m,1/3),p=g===p?-m:-f/m,p=f<=0?m+p:-r/(m*m+p*p+f);return l*d<=u*c?[(p-a)/n]:[-s/(p+o)]}var f=h,l=-2*a*h+n*e,d=t,u=-s*e+2*o*t,c=Math.sqrt(i),h=Math.sqrt(3)/2,e=Math.abs(Math.atan2(n*c,-l)/3);p=2*Math.sqrt(-f);t=Math.cos(e);g=p*t;var i=p*(-t/2-h*Math.sin(e)),l=2*a<g+i?g-a:i-a,f=n,n=l/f,e=Math.abs(Math.atan2(s*c,-u)/3),s=-s,e=(g=(p=2*Math.sqrt(-d))*(t=Math.cos(e)))+(i=p*(-t/2-h*Math.sin(e)))<2*o?g+o:i+o,g=s/e,i=-l*e-f*s,e=(o*i-a*(l*s))/(-a*i+o*(f*e));return n<=e?n<=g?e<=g?[n,e,g]:[n,g,e]:[g,n,e]:n<=g?[e,n,g]:e<=g?[e,g,n]:[g,e,n]}CubicRealPolynomial.computeDiscriminant=function(e,t,i,r){var n=t*t,a=i*i;return 18*e*t*i*r+n*a-27*(e*e)*(r*r)-4*(e*a*i+n*t*r)},CubicRealPolynomial.computeRealRoots=function(e,t,i,r){var n;if(0===e)return QuadraticRealPolynomial.computeRealRoots(t,i,r);if(0!==t)return 0===i?0===r?(a=-t/e)<0?[a,0,0]:[0,0,a]:computeRealRoots(e,t,0,r):0===r?0===(n=QuadraticRealPolynomial.computeRealRoots(e,t,i)).length?[0]:n[1]<=0?[n[0],n[1],0]:0<=n[0]?[0,n[0],n[1]]:[n[0],0,n[1]]:computeRealRoots(e,t,i,r);if(0!==i)return 0===r?0===(n=QuadraticRealPolynomial.computeRealRoots(e,0,i)).Length?[0]:[n[0],0,n[1]]:computeRealRoots(e,0,i,r);if(0===r)return[0,0,0];var a=(a=-r/e)<0?-Math.pow(-a,1/3):Math.pow(a,1/3);return[a,a,a]};var QuarticRealPolynomial={};function original(e,t,i,r){var n=e*e,a=t-3*n/8,o=i-t*e/2+n*e/8,r=r-i*e/4+t*n/16-3*n*n/256,i=CubicRealPolynomial.computeRealRoots(1,2*a,a*a-4*r,-o*o);if(0<i.length){t=-e/4,n=i[i.length-1];if(Math.abs(n)<CesiumMath.EPSILON14){e=QuadraticRealPolynomial.computeRealRoots(1,a,r);if(2===e.length){var i=e[0],s=e[1];if(0<=i&&0<=s){r=Math.sqrt(i),e=Math.sqrt(s);return[t-e,t-r,t+r,t+e]}if(0<=i&&s<0)return[t-(l=Math.sqrt(i)),t+l];if(i<0&&0<=s)return[t-(l=Math.sqrt(s)),t+l]}return[]}if(0<n){var s=Math.sqrt(n),l=(a+n-o/s)/2,o=(a+n+o/s)/2,l=QuadraticRealPolynomial.computeRealRoots(1,s,l),o=QuadraticRealPolynomial.computeRealRoots(1,-s,o);return 0!==l.length?(l[0]+=t,l[1]+=t,0!==o.length?(o[0]+=t,o[1]+=t,l[1]<=o[0]?[l[0],l[1],o[0],o[1]]:o[1]<=l[0]?[o[0],o[1],l[0],l[1]]:l[0]>=o[0]&&l[1]<=o[1]?[o[0],l[0],l[1],o[1]]:o[0]>=l[0]&&o[1]<=l[1]?[l[0],o[0],o[1],l[1]]:l[0]>o[0]&&l[0]<o[1]?[o[0],l[0],o[1],l[1]]:[l[0],o[0],l[1],o[1]]):l):0!==o.length?(o[0]+=t,o[1]+=t,o):[]}}return[]}function neumark(e,t,i,r){var n=e*e,a=-2*t,o=i*e+t*t-4*r,s=n*r-i*t*e+i*i,l=CubicRealPolynomial.computeRealRoots(1,a,o,s);if(0<l.length){var c,u,d,h,p=l[0],a=t-p,o=a*a,s=e/2,l=a/2,t=o-4*r,a=o+4*Math.abs(r),o=n-4*p,n=n+4*Math.abs(p);u=p<0||t*n<o*a?(c=(o=Math.sqrt(o))/2,0===o?0:(e*l-i)/o):(c=0===(u=Math.sqrt(t))?0:(e*l-i)/u,u/2),0==s&&0===c?h=d=0:CesiumMath.sign(s)===CesiumMath.sign(c)?h=p/(d=s+c):d=p/(h=s-c),0==l&&0===u?f=m=0:CesiumMath.sign(l)===CesiumMath.sign(u)?f=r/(m=l+u):m=r/(f=l-u);var m=QuadraticRealPolynomial.computeRealRoots(1,d,m),f=QuadraticRealPolynomial.computeRealRoots(1,h,f);if(0!==m.length)return 0!==f.length?m[1]<=f[0]?[m[0],m[1],f[0],f[1]]:f[1]<=m[0]?[f[0],f[1],m[0],m[1]]:m[0]>=f[0]&&m[1]<=f[1]?[f[0],m[0],m[1],f[1]]:f[0]>=m[0]&&f[1]<=m[1]?[m[0],f[0],f[1],m[1]]:m[0]>f[0]&&m[0]<f[1]?[f[0],m[0],f[1],m[1]]:[m[0],f[0],m[1],f[1]]:m;if(0!==f.length)return f}return[]}function Ray(e,t){t=Cartesian3.clone(defaultValue(t,Cartesian3.ZERO)),Cartesian3.equals(t,Cartesian3.ZERO)||Cartesian3.normalize(t,t),this.origin=Cartesian3.clone(defaultValue(e,Cartesian3.ZERO)),this.direction=t}QuarticRealPolynomial.computeDiscriminant=function(e,t,i,r,n){var a=e*e,o=t*t,s=o*t,l=i*i,c=l*i,u=r*r,d=u*r,h=n*n;return o*l*u-4*s*d-4*e*c*u+18*e*t*i*d-27*a*u*u+256*(a*e)*(h*n)+n*(18*s*i*r-4*o*c+16*e*l*l-80*e*t*l*r-6*e*o*u+144*a*i*u)+h*(144*e*o*i-27*o*o-128*a*l-192*a*t*r)},QuarticRealPolynomial.computeRealRoots=function(e,t,i,r,n){if(Math.abs(e)<CesiumMath.EPSILON15)return CubicRealPolynomial.computeRealRoots(t,i,r,n);var a=t/e,o=i/e,s=r/e,l=n/e,e=a<0?1:0;switch(e+=o<0?e+1:e,e+=s<0?e+1:e,e+=l<0?e+1:e){case 0:return original(a,o,s,l);case 1:case 2:return neumark(a,o,s,l);case 3:case 4:return original(a,o,s,l);case 5:return neumark(a,o,s,l);case 6:case 7:return original(a,o,s,l);case 8:return neumark(a,o,s,l);case 9:case 10:return original(a,o,s,l);case 11:return neumark(a,o,s,l);case 12:case 13:case 14:case 15:return original(a,o,s,l);default:return}},Ray.clone=function(e,t){if(defined(e))return defined(t)?(t.origin=Cartesian3.clone(e.origin),t.direction=Cartesian3.clone(e.direction),t):new Ray(e.origin,e.direction)},Ray.getPoint=function(e,t,i){return defined(i)||(i=new Cartesian3),i=Cartesian3.multiplyByScalar(e.direction,t,i),Cartesian3.add(e.origin,i,i)};var IntersectionTests={rayPlane:function(e,t,i){defined(i)||(i=new Cartesian3);var r=e.origin,n=e.direction,a=t.normal,e=Cartesian3.dot(a,n);if(!(Math.abs(e)<CesiumMath.EPSILON15)){e=(-t.distance-Cartesian3.dot(a,r))/e;if(!(e<0))return i=Cartesian3.multiplyByScalar(n,e,i),Cartesian3.add(r,i,i)}}},scratchEdge0=new Cartesian3,scratchEdge1=new Cartesian3,scratchPVec=new Cartesian3,scratchTVec=new Cartesian3,scratchQVec=new Cartesian3;IntersectionTests.rayTriangleParametric=function(e,t,i,r,n){n=defaultValue(n,!1);var a,o,s,l=e.origin,c=e.direction,u=Cartesian3.subtract(i,t,scratchEdge0),e=Cartesian3.subtract(r,t,scratchEdge1),i=Cartesian3.cross(c,e,scratchPVec),r=Cartesian3.dot(u,i);if(n){if(r<CesiumMath.EPSILON6)return;if(h=Cartesian3.subtract(l,t,scratchTVec),(d=Cartesian3.dot(h,i))<0||r<d)return;if(a=Cartesian3.cross(h,u,scratchQVec),(o=Cartesian3.dot(c,a))<0||r<d+o)return;s=Cartesian3.dot(e,a)/r}else{if(Math.abs(r)<CesiumMath.EPSILON6)return;var d,r=1/r,h=Cartesian3.subtract(l,t,scratchTVec);if((d=Cartesian3.dot(h,i)*r)<0||1<d)return;if(a=Cartesian3.cross(h,u,scratchQVec),(o=Cartesian3.dot(c,a)*r)<0||1<d+o)return;s=Cartesian3.dot(e,a)*r}return s},IntersectionTests.rayTriangle=function(e,t,i,r,n,a){n=IntersectionTests.rayTriangleParametric(e,t,i,r,n);if(defined(n)&&!(n<0))return defined(a)||(a=new Cartesian3),Cartesian3.multiplyByScalar(e.direction,n,a),Cartesian3.add(e.origin,a,a)};var scratchLineSegmentTriangleRay=new Ray;function solveQuadratic(e,t,i,r){var n=t*t-4*e*i;if(!(n<0)){if(0<n){var a=1/(2*e),i=Math.sqrt(n),n=(-t+i)*a,a=(-t-i)*a;return n<a?(r.root0=n,r.root1=a):(r.root0=a,r.root1=n),r}e=-t/(2*e);if(0!=e)return r.root0=r.root1=e,r}}IntersectionTests.lineSegmentTriangle=function(e,t,i,r,n,a,o){var s=scratchLineSegmentTriangleRay;Cartesian3.clone(e,s.origin),Cartesian3.subtract(t,e,s.direction),Cartesian3.normalize(s.direction,s.direction);a=IntersectionTests.rayTriangleParametric(s,i,r,n,a);if(!(!defined(a)||a<0||a>Cartesian3.distance(e,t)))return defined(o)||(o=new Cartesian3),Cartesian3.multiplyByScalar(s.direction,a,o),Cartesian3.add(s.origin,o,o)};var raySphereRoots={root0:0,root1:0};function raySphere(e,t,i){defined(i)||(i=new Interval);var r=e.origin,n=e.direction,e=t.center,t=t.radius*t.radius,e=Cartesian3.subtract(r,e,scratchPVec),t=solveQuadratic(Cartesian3.dot(n,n),2*Cartesian3.dot(n,e),Cartesian3.magnitudeSquared(e)-t,raySphereRoots);if(defined(t))return i.start=t.root0,i.stop=t.root1,i}IntersectionTests.raySphere=function(e,t,i){if(defined(i=raySphere(e,t,i))&&!(i.stop<0))return i.start=Math.max(i.start,0),i};var scratchLineSegmentRay=new Ray;IntersectionTests.lineSegmentSphere=function(e,t,i,r){var n=scratchLineSegmentRay;Cartesian3.clone(e,n.origin);t=Cartesian3.subtract(t,e,n.direction),e=Cartesian3.magnitude(t);if(Cartesian3.normalize(t,t),!(!defined(r=raySphere(n,i,r))||r.stop<0||r.start>e))return r.start=Math.max(r.start,0),r.stop=Math.min(r.stop,e),r};var scratchQ=new Cartesian3,scratchW=new Cartesian3;function addWithCancellationCheck$1(e,t,i){var r=e+t;return CesiumMath.sign(e)!==CesiumMath.sign(t)&&Math.abs(r/Math.max(Math.abs(e),Math.abs(t)))<i?0:r}function quadraticVectorExpression(e,t,i,r,n){var a,o=r*r,s=n*n,l=(e[Matrix3.COLUMN1ROW1]-e[Matrix3.COLUMN2ROW2])*s,c=n*(r*addWithCancellationCheck$1(e[Matrix3.COLUMN1ROW0],e[Matrix3.COLUMN0ROW1],CesiumMath.EPSILON15)+t.y),u=e[Matrix3.COLUMN0ROW0]*o+e[Matrix3.COLUMN2ROW2]*s+r*t.x+i,d=s*addWithCancellationCheck$1(e[Matrix3.COLUMN2ROW1],e[Matrix3.COLUMN1ROW2],CesiumMath.EPSILON15),h=n*(r*addWithCancellationCheck$1(e[Matrix3.COLUMN2ROW0],e[Matrix3.COLUMN0ROW2])+t.z),p=[];if(0==h&&0==d){if(0===(a=QuadraticRealPolynomial.computeRealRoots(l,c,u)).length)return p;var m=a[0],f=Math.sqrt(Math.max(1-m*m,0));return p.push(new Cartesian3(r,n*m,n*-f)),p.push(new Cartesian3(r,n*m,n*f)),2===a.length&&(g=a[1],_=Math.sqrt(Math.max(1-g*g,0)),p.push(new Cartesian3(r,n*g,n*-_)),p.push(new Cartesian3(r,n*g,n*_))),p}var t=h*h,m=d*d,f=h*d,g=l*l+m,_=2*(c*l+f),m=2*u*l+c*c-m+t,f=2*(u*c-f),t=u*u-t;if(0==g&&0==_&&0==m&&0==f)return p;var y=(a=QuarticRealPolynomial.computeRealRoots(g,_,m,f,t)).length;if(0===y)return p;for(var C=0;C<y;++C){var v=a[C],S=v*v,T=Math.max(1-S,0),T=Math.sqrt(T),S=CesiumMath.sign(l)===CesiumMath.sign(u)?addWithCancellationCheck$1(l*S+u,c*v,CesiumMath.EPSILON12):CesiumMath.sign(u)===CesiumMath.sign(c*v)?addWithCancellationCheck$1(l*S,c*v+u,CesiumMath.EPSILON12):addWithCancellationCheck$1(l*S+c*v,u,CesiumMath.EPSILON12),S=S*addWithCancellationCheck$1(d*v,h,CesiumMath.EPSILON15);S<0?p.push(new Cartesian3(r,n*v,n*T)):0<S?p.push(new Cartesian3(r,n*v,n*-T)):0!==T?(p.push(new Cartesian3(r,n*v,n*-T)),p.push(new Cartesian3(r,n*v,n*T)),++C):p.push(new Cartesian3(r,n*v,n*T))}return p}IntersectionTests.rayEllipsoid=function(e,t){var i,r,n=t.oneOverRadii,a=Cartesian3.multiplyComponents(n,e.origin,scratchQ),t=Cartesian3.multiplyComponents(n,e.direction,scratchW),n=Cartesian3.magnitudeSquared(a),e=Cartesian3.dot(a,t);if(1<n){if(0<=e)return;var o,s,a=e*e,l=n-1;if(a<(s=(o=Cartesian3.magnitudeSquared(t))*l))return;if(s<a){i=e*e-s;var c=(r=-e+Math.sqrt(i))/o,a=l/r;return c<a?new Interval(c,a):{start:a,stop:c}}c=Math.sqrt(l/o);return new Interval(c,c)}return n<1?(l=n-1,i=e*e-(s=(o=Cartesian3.magnitudeSquared(t))*l),new Interval(0,(r=-e+Math.sqrt(i))/o)):e<0?new Interval(0,-e/(o=Cartesian3.magnitudeSquared(t))):void 0};var firstAxisScratch=new Cartesian3,secondAxisScratch=new Cartesian3,thirdAxisScratch=new Cartesian3,referenceScratch=new Cartesian3,bCart=new Cartesian3,bScratch=new Matrix3,btScratch=new Matrix3,diScratch=new Matrix3,dScratch=new Matrix3,cScratch=new Matrix3,tempMatrix=new Matrix3,aScratch=new Matrix3,sScratch=new Cartesian3,closestScratch=new Cartesian3,surfPointScratch=new Cartographic;IntersectionTests.grazingAltitudeLocation=function(e,t){var i=e.origin,r=e.direction;if(!Cartesian3.equals(i,Cartesian3.ZERO)){var n=t.geodeticSurfaceNormal(i,firstAxisScratch);if(0<=Cartesian3.dot(r,n))return i}var a=defined(this.rayEllipsoid(e,t)),o=t.transformPositionToScaledSpace(r,firstAxisScratch),n=Cartesian3.normalize(o,o),e=Cartesian3.mostOrthogonalAxis(o,referenceScratch),o=Cartesian3.normalize(Cartesian3.cross(e,n,secondAxisScratch),secondAxisScratch),e=Cartesian3.normalize(Cartesian3.cross(n,o,thirdAxisScratch),thirdAxisScratch),s=bScratch;s[0]=n.x,s[1]=n.y,s[2]=n.z,s[3]=o.x,s[4]=o.y,s[5]=o.z,s[6]=e.x,s[7]=e.y,s[8]=e.z;var n=Matrix3.transpose(s,btScratch),l=Matrix3.fromScale(t.radii,diScratch),o=Matrix3.fromScale(t.oneOverRadii,dScratch),e=cScratch;e[0]=0,e[1]=-r.z,e[2]=r.y,e[3]=r.z,e[4]=0,e[5]=-r.x,e[6]=-r.y,e[7]=r.x,e[8]=0;var c,o=Matrix3.multiply(Matrix3.multiply(n,o,tempMatrix),e,tempMatrix),e=Matrix3.multiply(Matrix3.multiply(o,l,aScratch),s,aScratch),o=Matrix3.multiplyByVector(o,i,bCart),u=quadraticVectorExpression(e,Cartesian3.negate(o,firstAxisScratch),0,0,1),d=u.length;if(0<d){for(var h=Cartesian3.clone(Cartesian3.ZERO,closestScratch),p=Number.NEGATIVE_INFINITY,m=0;m<d;++m){c=Matrix3.multiplyByVector(l,Matrix3.multiplyByVector(s,u[m],sScratch),sScratch);var f=Cartesian3.normalize(Cartesian3.subtract(c,i,referenceScratch),referenceScratch),f=Cartesian3.dot(f,r);p<f&&(p=f,h=Cartesian3.clone(c,h))}e=t.cartesianToCartographic(h,surfPointScratch),p=CesiumMath.clamp(p,0,1),o=Cartesian3.magnitude(Cartesian3.subtract(h,i,referenceScratch))*Math.sqrt(1-p*p);return o=a?-o:o,e.height=o,t.cartographicToCartesian(e,new Cartesian3)}};var lineSegmentPlaneDifference=new Cartesian3;function Plane(e,t){this.normal=Cartesian3.clone(e),this.distance=t}IntersectionTests.lineSegmentPlane=function(e,t,i,r){defined(r)||(r=new Cartesian3);var n=Cartesian3.subtract(t,e,lineSegmentPlaneDifference),a=i.normal,t=Cartesian3.dot(a,n);if(!(Math.abs(t)<CesiumMath.EPSILON6)){a=Cartesian3.dot(a,e),t=-(i.distance+a)/t;if(!(t<0||1<t))return Cartesian3.multiplyByScalar(n,t,r),Cartesian3.add(e,r,r),r}},IntersectionTests.trianglePlaneIntersection=function(e,t,i,r){var n,a,o=r.normal,s=r.distance,l=Cartesian3.dot(o,e)+s<0,c=Cartesian3.dot(o,t)+s<0,o=Cartesian3.dot(o,i)+s<0,s=0;if(s+=l?1:0,s+=c?1:0,1!=(s+=o?1:0)&&2!=s||(n=new Cartesian3,a=new Cartesian3),1==s){if(l)return IntersectionTests.lineSegmentPlane(e,t,r,n),IntersectionTests.lineSegmentPlane(e,i,r,a),{positions:[e,t,i,n,a],indices:[0,3,4,1,2,4,1,4,3]};if(c)return IntersectionTests.lineSegmentPlane(t,i,r,n),IntersectionTests.lineSegmentPlane(t,e,r,a),{positions:[e,t,i,n,a],indices:[1,3,4,2,0,4,2,4,3]};if(o)return IntersectionTests.lineSegmentPlane(i,e,r,n),IntersectionTests.lineSegmentPlane(i,t,r,a),{positions:[e,t,i,n,a],indices:[2,3,4,0,1,4,0,4,3]}}else if(2==s){if(!l)return IntersectionTests.lineSegmentPlane(t,e,r,n),IntersectionTests.lineSegmentPlane(i,e,r,a),{positions:[e,t,i,n,a],indices:[1,2,4,1,4,3,0,3,4]};if(!c)return IntersectionTests.lineSegmentPlane(i,t,r,n),IntersectionTests.lineSegmentPlane(e,t,r,a),{positions:[e,t,i,n,a],indices:[2,0,4,2,4,3,1,3,4]};if(!o)return IntersectionTests.lineSegmentPlane(e,i,r,n),IntersectionTests.lineSegmentPlane(t,i,r,a),{positions:[e,t,i,n,a],indices:[0,1,4,0,4,3,2,3,4]}}},Plane.fromPointNormal=function(e,t,i){e=-Cartesian3.dot(t,e);return defined(i)?(Cartesian3.clone(t,i.normal),i.distance=e,i):new Plane(t,e)};var scratchNormal=new Cartesian3;Plane.fromCartesian4=function(e,t){var i=Cartesian3.fromCartesian4(e,scratchNormal),e=e.w;return defined(t)?(Cartesian3.clone(i,t.normal),t.distance=e,t):new Plane(i,e)},Plane.getPointDistance=function(e,t){return Cartesian3.dot(e.normal,t)+e.distance};var scratchCartesian$1=new Cartesian3;Plane.projectPointOntoPlane=function(e,t,i){defined(i)||(i=new Cartesian3);var r=Plane.getPointDistance(e,t),r=Cartesian3.multiplyByScalar(e.normal,r,scratchCartesian$1);return Cartesian3.subtract(t,r,i)};var scratchInverseTranspose=new Matrix4,scratchPlaneCartesian4=new Cartesian4,scratchTransformNormal=new Cartesian3;function binarySearch(e,t,i){for(var r,n,a=0,o=e.length-1;a<=o;)if((n=i(e[r=~~((a+o)/2)],t))<0)a=1+r;else{if(!(0<n))return r;o=r-1}return~(o+1)}function EarthOrientationParametersSample(e,t,i,r,n){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=i,this.yPoleOffset=r,this.ut1MinusUtc=n}function sprintf(){function C(e,t,i,r){return i=i||" ",i=e.length>=t?"":Array(1+t-e.length>>>0).join(i),r?e+i:i+e}function v(e,t,i,r,n,a){var o=r-e.length;return 0<o&&(e=i||!n?C(e,r,a,i):e.slice(0,t.length)+C("",o,"0",!0)+e.slice(t.length)),e}function S(e,t,i,r,n,a,o){var s=e>>>0;return e=(i=i&&s&&{2:"0b",8:"0",16:"0x"}[t]||"")+C(s.toString(t),a||0,"0",!1),v(e,i,r,n,o)}function T(e,t,i,r,n,a){return null!=r&&(e=e.slice(0,r)),v(e,"",t,i,n,a)}var b=arguments,x=0,e=b[x++];return e.replace(/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,function(e,t,i,r,n,a,o){var s,l,c,u,d;if("%%"==e)return"%";for(var h=!1,p="",m=!1,f=!1,g=" ",_=i.length,y=0;i&&y<_;y++)switch(i.charAt(y)){case" ":p=" ";break;case"+":p="+";break;case"-":h=!0;break;case"'":g=i.charAt(y+1);break;case"0":m=!0;break;case"#":f=!0}if((r=r?"*"==r?+b[x++]:"*"==r.charAt(0)?+b[r.slice(1,-1)]:+r:0)<0&&(r=-r,h=!0),!isFinite(r))throw new Error("sprintf: (minimum-)width must be finite");switch(a=a?"*"==a?+b[x++]:"*"==a.charAt(0)?+b[a.slice(1,-1)]:+a:-1<"fFeE".indexOf(o)?6:"d"==o?0:void 0,d=t?b[t.slice(0,-1)]:b[x++],o){case"s":return T(String(d),h,r,a,m,g);case"c":return T(String.fromCharCode(+d),h,r,a,m);case"b":return S(d,2,f,h,r,a,m);case"o":return S(d,8,f,h,r,a,m);case"x":return S(d,16,f,h,r,a,m);case"X":return S(d,16,f,h,r,a,m).toUpperCase();case"u":return S(d,10,f,h,r,a,m);case"i":case"d":return s=+d||0,d=(l=(s=Math.round(s-s%1))<0?"-":p)+C(String(Math.abs(s)),a,"0",!1),v(d,l,h,r,m);case"e":case"E":case"f":case"F":case"g":case"G":return l=(s=+d)<0?"-":p,c=["toExponential","toFixed","toPrecision"]["efg".indexOf(o.toLowerCase())],u=["toString","toUpperCase"]["eEfFgG".indexOf(o)%2],d=l+Math.abs(s)[c](a),v(d,l,h,r,m)[u]();default:return e}})}function GregorianDate(e,t,i,r,n,a,o,s){this.year=e,this.month=t,this.day=i,this.hour=r,this.minute=n,this.second=a,this.millisecond=o,this.isLeapSecond=s}function isLeapYear(e){return e%4==0&&e%100!=0||e%400==0}function LeapSecond(e,t){this.julianDate=e,this.offset=t}Plane.transform=function(e,t,i){var r=e.normal,e=e.distance,t=Matrix4.inverseTranspose(t,scratchInverseTranspose),e=Cartesian4.fromElements(r.x,r.y,r.z,e,scratchPlaneCartesian4),e=Matrix4.multiplyByVector(t,e,e),t=Cartesian3.fromCartesian4(e,scratchTransformNormal);return e=Cartesian4.divideByScalar(e,Cartesian3.magnitude(t),e),Plane.fromCartesian4(e,i)},Plane.clone=function(e,t){return defined(t)?(Cartesian3.clone(e.normal,t.normal),t.distance=e.distance,t):new Plane(e.normal,e.distance)},Plane.equals=function(e,t){return e.distance===t.distance&&Cartesian3.equals(e.normal,t.normal)},Plane.ORIGIN_XY_PLANE=Object.freeze(new Plane(Cartesian3.UNIT_Z,0)),Plane.ORIGIN_YZ_PLANE=Object.freeze(new Plane(Cartesian3.UNIT_X,0)),Plane.ORIGIN_ZX_PLANE=Object.freeze(new Plane(Cartesian3.UNIT_Y,0));var TimeConstants={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5},TimeConstants$1=Object.freeze(TimeConstants),TimeStandard={UTC:0,TAI:1},TimeStandard$1=Object.freeze(TimeStandard),gregorianDateScratch=new GregorianDate,daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31],daysInLeapFeburary=29;function compareLeapSecondDates(e,t){return JulianDate.compare(e.julianDate,t.julianDate)}var binarySearchScratchLeapSecond=new LeapSecond;function convertUtcToTai(e){binarySearchScratchLeapSecond.julianDate=e;var t=JulianDate.leapSeconds,i=binarySearch(t,binarySearchScratchLeapSecond,compareLeapSecondDates);i<0&&(i=~i),i>=t.length&&(i=t.length-1);var r=t[i].offset;0<i&&r<JulianDate.secondsDifference(t[i].julianDate,e)&&(r=t[--i].offset),JulianDate.addSeconds(e,r,e)}function convertTaiToUtc(e,t){binarySearchScratchLeapSecond.julianDate=e;var i=JulianDate.leapSeconds,r=binarySearch(i,binarySearchScratchLeapSecond,compareLeapSecondDates);if(r<0&&(r=~r),0===r)return JulianDate.addSeconds(e,-i[0].offset,t);if(r>=i.length)return JulianDate.addSeconds(e,-i[r-1].offset,t);var n=JulianDate.secondsDifference(i[r].julianDate,e);return 0===n?JulianDate.addSeconds(e,-i[r].offset,t):n<=1?void 0:JulianDate.addSeconds(e,-i[--r].offset,t)}function setComponents(e,t,i){var r=t/TimeConstants$1.SECONDS_PER_DAY|0;return e+=r,(t-=TimeConstants$1.SECONDS_PER_DAY*r)<0&&(e--,t+=TimeConstants$1.SECONDS_PER_DAY),i.dayNumber=e,i.secondsOfDay=t,i}function computeJulianDateComponents(e,t,i,r,n,a,o){var s=(t-14)/12|0,e=e+4800+s,i=(1461*e/4|0)+(367*(t-2-12*s)/12|0)-(3*((e+100)/100|0)/4|0)+i-32075;(r-=12)<0&&(r+=24);o=a+(r*TimeConstants$1.SECONDS_PER_HOUR+n*TimeConstants$1.SECONDS_PER_MINUTE+o*TimeConstants$1.SECONDS_PER_MILLISECOND);return 43200<=o&&--i,[i,o]}var matchCalendarYear=/^(\d{4})$/,matchCalendarMonth=/^(\d{4})-(\d{2})$/,matchOrdinalDate=/^(\d{4})-?(\d{3})$/,matchWeekDate=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,matchCalendarDate=/^(\d{4})-?(\d{2})-?(\d{2})$/,utcOffset=/([Z+\-])?(\d{2})?:?(\d{2})?$/,matchHours=/^(\d{2})(\.\d+)?/.source+utcOffset.source,matchHoursMinutes=/^(\d{2}):?(\d{2})(\.\d+)?/.source+utcOffset.source,matchHoursMinutesSeconds=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+utcOffset.source;function JulianDate(e,t,i){this.dayNumber=void 0,this.secondsOfDay=void 0,e=defaultValue(e,0),t=defaultValue(t,0),i=defaultValue(i,TimeStandard$1.UTC);var r=0|e;setComponents(r,t+=(e-r)*TimeConstants$1.SECONDS_PER_DAY,this),i===TimeStandard$1.UTC&&convertUtcToTai(this)}JulianDate.fromGregorianDate=function(e,t){e=computeJulianDateComponents(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return defined(t)?(setComponents(e[0],e[1],t),convertUtcToTai(t),t):new JulianDate(e[0],e[1],TimeStandard$1.UTC)},JulianDate.fromDate=function(e,t){e=computeJulianDateComponents(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return defined(t)?(setComponents(e[0],e[1],t),convertUtcToTai(t),t):new JulianDate(e[0],e[1],TimeStandard$1.UTC)},JulianDate.fromIso8601=function(e,t){var i,r,n,a,o,s=(e=e.replace(",",".")).split("T"),l=1,c=1,u=0,d=0,h=0,p=0,m=s[0],e=s[1];if(null!==(s=m.match(matchCalendarDate))?(i=+s[1],l=+s[2],c=+s[3]):null!==(s=m.match(matchCalendarMonth))?(i=+s[1],l=+s[2]):null!==(s=m.match(matchCalendarYear))?i=+s[1]:(null!==(s=m.match(matchOrdinalDate))?(i=+s[1],a=+s[2],n=isLeapYear(i)):null!==(s=m.match(matchWeekDate))&&(i=+s[1],a=7*+s[2]+(+s[3]||0)-new Date(Date.UTC(i,0,4)).getUTCDay()-3),(r=new Date(Date.UTC(i,0,1))).setUTCDate(a),l=r.getUTCMonth()+1,c=r.getUTCDate()),n=isLeapYear(i),defined(e)){null!==(s=e.match(matchHoursMinutesSeconds))?(u=+s[1],d=+s[2],h=+s[3],p=1e3*+(s[4]||0),o=5):null!==(s=e.match(matchHoursMinutes))?(u=+s[1],d=+s[2],h=60*+(s[3]||0),o=4):null!==(s=e.match(matchHours))&&(u=+s[1],d=60*+(s[2]||0),o=3);var f=s[o],g=+s[o+1],_=+(s[o+2]||0);switch(f){case"+":u-=g,d-=_;break;case"-":u+=g,d+=_;break;case"Z":break;default:d+=new Date(Date.UTC(i,l-1,c,u,d)).getTimezoneOffset()}}f=60===h;for(f&&h--;60<=d;)d-=60,u++;for(;24<=u;)u-=24,c++;for(r=n&&2===l?daysInLeapFeburary:daysInMonth[l-1];r<c;)c-=r,12<++l&&(l-=12,i++),r=n&&2===l?daysInLeapFeburary:daysInMonth[l-1];for(;d<0;)d+=60,u--;for(;u<0;)u+=24,c--;for(;c<1;)--l<1&&(l+=12,i--),c+=r=n&&2===l?daysInLeapFeburary:daysInMonth[l-1];p=computeJulianDateComponents(i,l,c,u,d,h,p);return defined(t)?(setComponents(p[0],p[1],t),convertUtcToTai(t)):t=new JulianDate(p[0],p[1],TimeStandard$1.UTC),f&&JulianDate.addSeconds(t,1,t),t},JulianDate.now=function(e){return JulianDate.fromDate(new Date,e)};var toGregorianDateScratch=new JulianDate(0,0,TimeStandard$1.TAI);function EarthOrientationParameters(e){var t,i;e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=defaultValue(e.addNewLeapSeconds,!0),defined(e.data)?onDataReady(this,e.data):defined(e.url)?(t=Resource.createIfNeeded(e.url),(i=this)._downloadPromise=t.fetchJson().then(function(e){onDataReady(i,e)}).otherwise(function(){i._dataError="An error occurred while retrieving the EOP data from the URL "+t.url+"."})):onDataReady(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}function compareLeapSecondDates$1(e,t){return JulianDate.compare(e.julianDate,t)}function onDataReady(e,t){if(defined(t.columnNames))if(defined(t.samples)){var i=t.columnNames.indexOf("modifiedJulianDateUtc"),r=t.columnNames.indexOf("xPoleWanderRadians"),n=t.columnNames.indexOf("yPoleWanderRadians"),a=t.columnNames.indexOf("ut1MinusUtcSeconds"),o=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),s=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),l=t.columnNames.indexOf("taiMinusUtcSeconds");if(i<0||r<0||n<0||a<0||o<0||s<0||l<0)e._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns";else{var c,u=e._samples=t.samples,d=e._dates=[];e._dateColumn=i,e._xPoleWanderRadiansColumn=r,e._yPoleWanderRadiansColumn=n,e._ut1MinusUtcSecondsColumn=a,e._xCelestialPoleOffsetRadiansColumn=o,e._yCelestialPoleOffsetRadiansColumn=s,e._taiMinusUtcSecondsColumn=l,e._columnCount=t.columnNames.length,e._lastIndex=void 0;for(var h=e._addNewLeapSeconds,p=0,m=u.length;p<m;p+=e._columnCount){var f,g=u[p+i],_=u[p+l],y=new JulianDate(g+TimeConstants$1.MODIFIED_JULIAN_DATE_DIFFERENCE,_,TimeStandard$1.TAI);d.push(y),h&&(_===c||!defined(c)||(g=binarySearch(f=JulianDate.leapSeconds,y,compareLeapSecondDates$1))<0&&(y=new LeapSecond(y,_),f.splice(~g,0,y)),c=_)}}}else e._dataError="Error in loaded EOP data: The samples property is required.";else e._dataError="Error in loaded EOP data: The columnNames property is required."}function fillResultFromIndex(e,t,i,r,n){r*=i;n.xPoleWander=t[r+e._xPoleWanderRadiansColumn],n.yPoleWander=t[r+e._yPoleWanderRadiansColumn],n.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],n.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],n.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function linearInterp(e,t,i){return t+e*(i-t)}function interpolate(e,t,i,r,n,a,o){var s=e._columnCount;if(a>t.length-1)return o.xPoleWander=0,o.yPoleWander=0,o.xPoleOffset=0,o.yPoleOffset=0,o.ut1MinusUtc=0,o;var l=t[n],c=t[a];if(l.equals(c)||r.equals(l))return fillResultFromIndex(e,i,n,s,o),o;if(r.equals(c))return fillResultFromIndex(e,i,a,s,o),o;var u=JulianDate.secondsDifference(r,l)/JulianDate.secondsDifference(c,l),d=n*s,t=a*s,l=i[d+e._ut1MinusUtcSecondsColumn],n=i[t+e._ut1MinusUtcSecondsColumn],a=n-l;return!(.5<a||a<-.5)||(s=i[d+e._taiMinusUtcSecondsColumn])!==(a=i[t+e._taiMinusUtcSecondsColumn])&&(c.equals(r)?l=n:n-=a-s),o.xPoleWander=linearInterp(u,i[d+e._xPoleWanderRadiansColumn],i[t+e._xPoleWanderRadiansColumn]),o.yPoleWander=linearInterp(u,i[d+e._yPoleWanderRadiansColumn],i[t+e._yPoleWanderRadiansColumn]),o.xPoleOffset=linearInterp(u,i[d+e._xCelestialPoleOffsetRadiansColumn],i[t+e._xCelestialPoleOffsetRadiansColumn]),o.yPoleOffset=linearInterp(u,i[d+e._yCelestialPoleOffsetRadiansColumn],i[t+e._yCelestialPoleOffsetRadiansColumn]),o.ut1MinusUtc=linearInterp(u,l,n),o}function HeadingPitchRoll(e,t,i){this.heading=defaultValue(e,0),this.pitch=defaultValue(t,0),this.roll=defaultValue(i,0)}function Iau2006XysSample(e,t,i){this.x=e,this.y=t,this.s=i}function Iau2006XysData(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._xysFileUrlTemplate=Resource.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=defaultValue(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=defaultValue(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new JulianDate(this._sampleZeroJulianEphemerisDate,0,TimeStandard$1.TAI),this._stepSizeDays=defaultValue(e.stepSizeDays,1),this._samplesPerXysFile=defaultValue(e.samplesPerXysFile,1e3),this._totalSamples=defaultValue(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var t=this._interpolationOrder,i=this._denominators=new Array(t+1),r=this._xTable=new Array(t+1),n=Math.pow(this._stepSizeDays,t),a=0;a<=t;++a){i[a]=n,r[a]=a*this._stepSizeDays;for(var o=0;o<=t;++o)o!==a&&(i[a]*=a-o);i[a]=1/i[a]}this._work=new Array(t+1),this._coef=new Array(t+1)}JulianDate.toGregorianDate=function(e,t){var i=!1,r=convertTaiToUtc(e,toGregorianDateScratch);defined(r)||(JulianDate.addSeconds(e,-1,toGregorianDateScratch),r=convertTaiToUtc(toGregorianDateScratch,toGregorianDateScratch),i=!0);var n=r.dayNumber,a=r.secondsOfDay;43200<=a&&(n+=1);var o=n+68569|0,s=4*o/146097|0,l=4e3*(1+(o=o-((146097*s+3)/4|0)|0))/1461001|0,e=80*(o=o-(1461*l/4|0)+31|0)/2447|0,r=o-(2447*e/80|0)|0,n=2+e-12*(o=e/11|0)|0,e=100*(s-49)+l+o|0,s=a/TimeConstants$1.SECONDS_PER_HOUR|0,l=a-s*TimeConstants$1.SECONDS_PER_HOUR,o=l/TimeConstants$1.SECONDS_PER_MINUTE|0,a=0|(l-=o*TimeConstants$1.SECONDS_PER_MINUTE),l=(l-a)/TimeConstants$1.SECONDS_PER_MILLISECOND;return 23<(s+=12)&&(s-=24),i&&(a+=1),defined(t)?(t.year=e,t.month=n,t.day=r,t.hour=s,t.minute=o,t.second=a,t.millisecond=l,t.isLeapSecond=i,t):new GregorianDate(e,n,r,s,o,a,l,i)},JulianDate.toDate=function(e){var t=JulianDate.toGregorianDate(e,gregorianDateScratch),e=t.second;return t.isLeapSecond&&--e,new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,e,t.millisecond))},JulianDate.toIso8601=function(e,t){var i=JulianDate.toGregorianDate(e,gregorianDateScratch),r=i.year,n=i.month,a=i.day,o=i.hour,s=i.minute,e=i.second,i=i.millisecond;return 1e4===r&&1===n&&1===a&&0===o&&0===s&&0===e&&0===i&&(r=9999,n=12,a=31,o=24),defined(t)||0===i?defined(t)&&0!==t?sprintf("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",r,n,a,o,s,e,(.01*i).toFixed(t).replace(".","").slice(0,t)):sprintf("%04d-%02d-%02dT%02d:%02d:%02dZ",r,n,a,o,s,e):sprintf("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",r,n,a,o,s,e,(.01*i).toString().replace(".",""))},JulianDate.clone=function(e,t){if(defined(e))return defined(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new JulianDate(e.dayNumber,e.secondsOfDay,TimeStandard$1.TAI)},JulianDate.compare=function(e,t){var i=e.dayNumber-t.dayNumber;return 0!=i?i:e.secondsOfDay-t.secondsOfDay},JulianDate.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay},JulianDate.equalsEpsilon=function(e,t,i){return i=defaultValue(i,0),e===t||defined(e)&&defined(t)&&Math.abs(JulianDate.secondsDifference(e,t))<=i},JulianDate.totalDays=function(e){return e.dayNumber+e.secondsOfDay/TimeConstants$1.SECONDS_PER_DAY},JulianDate.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*TimeConstants$1.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)},JulianDate.daysDifference=function(e,t){return e.dayNumber-t.dayNumber+(e.secondsOfDay-t.secondsOfDay)/TimeConstants$1.SECONDS_PER_DAY},JulianDate.computeTaiMinusUtc=function(e){binarySearchScratchLeapSecond.julianDate=e;var t=JulianDate.leapSeconds,e=binarySearch(t,binarySearchScratchLeapSecond,compareLeapSecondDates);return e<0&&(e=~e,--e<0&&(e=0)),t[e].offset},JulianDate.addSeconds=function(e,t,i){return setComponents(e.dayNumber,e.secondsOfDay+t,i)},JulianDate.addMinutes=function(e,t,i){t=e.secondsOfDay+t*TimeConstants$1.SECONDS_PER_MINUTE;return setComponents(e.dayNumber,t,i)},JulianDate.addHours=function(e,t,i){t=e.secondsOfDay+t*TimeConstants$1.SECONDS_PER_HOUR;return setComponents(e.dayNumber,t,i)},JulianDate.addDays=function(e,t,i){return setComponents(e.dayNumber+t,e.secondsOfDay,i)},JulianDate.lessThan=function(e,t){return JulianDate.compare(e,t)<0},JulianDate.lessThanOrEquals=function(e,t){return JulianDate.compare(e,t)<=0},JulianDate.greaterThan=function(e,t){return 0<JulianDate.compare(e,t)},JulianDate.greaterThanOrEquals=function(e,t){return 0<=JulianDate.compare(e,t)},JulianDate.prototype.clone=function(e){return JulianDate.clone(this,e)},JulianDate.prototype.equals=function(e){return JulianDate.equals(this,e)},JulianDate.prototype.equalsEpsilon=function(e,t){return JulianDate.equalsEpsilon(this,e,t)},JulianDate.prototype.toString=function(){return JulianDate.toIso8601(this)},JulianDate.leapSeconds=[new LeapSecond(new JulianDate(2441317,43210,TimeStandard$1.TAI),10),new LeapSecond(new JulianDate(2441499,43211,TimeStandard$1.TAI),11),new LeapSecond(new JulianDate(2441683,43212,TimeStandard$1.TAI),12),new LeapSecond(new JulianDate(2442048,43213,TimeStandard$1.TAI),13),new LeapSecond(new JulianDate(2442413,43214,TimeStandard$1.TAI),14),new LeapSecond(new JulianDate(2442778,43215,TimeStandard$1.TAI),15),new LeapSecond(new JulianDate(2443144,43216,TimeStandard$1.TAI),16),new LeapSecond(new JulianDate(2443509,43217,TimeStandard$1.TAI),17),new LeapSecond(new JulianDate(2443874,43218,TimeStandard$1.TAI),18),new LeapSecond(new JulianDate(2444239,43219,TimeStandard$1.TAI),19),new LeapSecond(new JulianDate(2444786,43220,TimeStandard$1.TAI),20),new LeapSecond(new JulianDate(2445151,43221,TimeStandard$1.TAI),21),new LeapSecond(new JulianDate(2445516,43222,TimeStandard$1.TAI),22),new LeapSecond(new JulianDate(2446247,43223,TimeStandard$1.TAI),23),new LeapSecond(new JulianDate(2447161,43224,TimeStandard$1.TAI),24),new LeapSecond(new JulianDate(2447892,43225,TimeStandard$1.TAI),25),new LeapSecond(new JulianDate(2448257,43226,TimeStandard$1.TAI),26),new LeapSecond(new JulianDate(2448804,43227,TimeStandard$1.TAI),27),new LeapSecond(new JulianDate(2449169,43228,TimeStandard$1.TAI),28),new LeapSecond(new JulianDate(2449534,43229,TimeStandard$1.TAI),29),new LeapSecond(new JulianDate(2450083,43230,TimeStandard$1.TAI),30),new LeapSecond(new JulianDate(2450630,43231,TimeStandard$1.TAI),31),new LeapSecond(new JulianDate(2451179,43232,TimeStandard$1.TAI),32),new LeapSecond(new JulianDate(2453736,43233,TimeStandard$1.TAI),33),new LeapSecond(new JulianDate(2454832,43234,TimeStandard$1.TAI),34),new LeapSecond(new JulianDate(2456109,43235,TimeStandard$1.TAI),35),new LeapSecond(new JulianDate(2457204,43236,TimeStandard$1.TAI),36),new LeapSecond(new JulianDate(2457754,43237,TimeStandard$1.TAI),37)],EarthOrientationParameters.NONE=Object.freeze({getPromiseToLoad:function(){return when.resolve()},compute:function(e,t){return defined(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new EarthOrientationParametersSample(0,0,0,0,0),t}}),EarthOrientationParameters.prototype.getPromiseToLoad=function(){return when(this._downloadPromise)},EarthOrientationParameters.prototype.compute=function(e,t){if(defined(this._samples)){if(defined(t)||(t=new EarthOrientationParametersSample(0,0,0,0,0)),0===this._samples.length)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;var i=this._dates,r=this._lastIndex,n=0,a=0;if(defined(r)){var o=i[r],s=i[r+1],l=JulianDate.lessThanOrEquals(o,e),c=!defined(s),o=c||JulianDate.greaterThanOrEquals(s,e);if(l&&o)return n=r,!c&&s.equals(e)&&++n,a=n+1,interpolate(this,i,this._samples,e,n,a,t),t}s=binarySearch(i,e,JulianDate.compare,this._dateColumn);return 0<=s?(s<i.length-1&&i[s+1].equals(e)&&++s,a=n=s):(n=(a=~s)-1)<0&&(n=0),this._lastIndex=n,interpolate(this,i,this._samples,e,n,a,t),t}if(defined(this._dataError))throw new RuntimeError(this._dataError)},HeadingPitchRoll.fromQuaternion=function(e,t){defined(t)||(t=new HeadingPitchRoll);var i=2*(e.w*e.y-e.z*e.x),r=1-2*(e.x*e.x+e.y*e.y),n=2*(e.w*e.x+e.y*e.z),a=1-2*(e.y*e.y+e.z*e.z),e=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(e,a),t.roll=Math.atan2(n,r),t.pitch=-CesiumMath.asinClamped(i),t},HeadingPitchRoll.fromDegrees=function(e,t,i,r){return defined(r)||(r=new HeadingPitchRoll),r.heading=e*CesiumMath.RADIANS_PER_DEGREE,r.pitch=t*CesiumMath.RADIANS_PER_DEGREE,r.roll=i*CesiumMath.RADIANS_PER_DEGREE,r},HeadingPitchRoll.clone=function(e,t){if(defined(e))return defined(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new HeadingPitchRoll(e.heading,e.pitch,e.roll)},HeadingPitchRoll.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll},HeadingPitchRoll.equalsEpsilon=function(e,t,i,r){return e===t||defined(e)&&defined(t)&&CesiumMath.equalsEpsilon(e.heading,t.heading,i,r)&&CesiumMath.equalsEpsilon(e.pitch,t.pitch,i,r)&&CesiumMath.equalsEpsilon(e.roll,t.roll,i,r)},HeadingPitchRoll.prototype.clone=function(e){return HeadingPitchRoll.clone(this,e)},HeadingPitchRoll.prototype.equals=function(e){return HeadingPitchRoll.equals(this,e)},HeadingPitchRoll.prototype.equalsEpsilon=function(e,t,i){return HeadingPitchRoll.equalsEpsilon(this,e,t,i)},HeadingPitchRoll.prototype.toString=function(){return"("+this.heading+", "+this.pitch+", "+this.roll+")"};var julianDateScratch=new JulianDate(0,0,TimeStandard$1.TAI),_supportsFullscreen;function getDaysSinceEpoch(e,t,i){var r=julianDateScratch;return r.dayNumber=t,r.secondsOfDay=i,JulianDate.daysDifference(r,e._sampleZeroDateTT)}function requestXysChunk(o,s){if(o._chunkDownloadsInProgress[s])return o._chunkDownloadsInProgress[s];var l=when.defer();o._chunkDownloadsInProgress[s]=l;var e=o._xysFileUrlTemplate;return when((defined(e)?e.getDerivedResource({templateValues:{0:s}}):new Resource({url:buildModuleUrl("Assets/IAU2006_XYS/IAU2006_XYS_"+s+".json")})).fetchJson(),function(e){o._chunkDownloadsInProgress[s]=!1;for(var t=o._samples,i=e.samples,r=s*o._samplesPerXysFile*3,n=0,a=i.length;n<a;++n)t[r+n]=i[n];l.resolve()}),l.promise}Iau2006XysData.prototype.preload=function(e,t,i,r){t=getDaysSinceEpoch(this,e,t),r=getDaysSinceEpoch(this,i,r),t=t/this._stepSizeDays-this._interpolationOrder/2|0;t<0&&(t=0);r=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;r>=this._totalSamples&&(r=this._totalSamples-1);for(var t=t/this._samplesPerXysFile|0,n=r/this._samplesPerXysFile|0,a=[],o=t;o<=n;++o)a.push(requestXysChunk(this,o));return when.all(a)},Iau2006XysData.prototype.computeXysRadians=function(e,t,i){var r=getDaysSinceEpoch(this,e,t);if(!(r<0)){e=r/this._stepSizeDays|0;if(!(e>=this._totalSamples)){var n=this._interpolationOrder,a=e-(n/2|0);a<0&&(a=0);t=a+n;t>=this._totalSamples&&(a=(t=this._totalSamples-1)-n)<0&&(a=0);var e=!1,o=this._samples;if(defined(o[3*a])||(requestXysChunk(this,a/this._samplesPerXysFile|0),e=!0),defined(o[3*t])||(requestXysChunk(this,t/this._samplesPerXysFile|0),e=!0),!e){defined(i)?(i.x=0,i.y=0,i.s=0):i=new Iau2006XysSample(0,0,0);for(var s,l=r-a*this._stepSizeDays,c=this._work,u=this._denominators,d=this._coef,h=this._xTable,p=0;p<=n;++p)c[p]=l-h[p];for(p=0;p<=n;++p){for(d[p]=1,s=0;s<=n;++s)s!==p&&(d[p]*=c[s]);d[p]*=u[p];var m=3*(a+p);i.x+=d[p]*o[m++],i.y+=d[p]*o[m++],i.s+=d[p]*o[m]}return i}}}};var _names={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},Fullscreen={},theNavigator,isChromeResult,chromeVersionResult,isSafariResult,safariVersionResult,isWebkitResult,webkitVersionResult,isInternetExplorerResult,internetExplorerVersionResult,isEdgeResult,edgeVersionResult,isFirefoxResult,firefoxVersionResult,isWindowsResult,hasPointerEvents,imageRenderingValueResult,supportsImageRenderingPixelatedResult;function extractVersion(e){for(var t=e.split("."),i=0,r=t.length;i<r;++i)t[i]=parseInt(t[i],10);return t}function isChrome(){var e;return defined(isChromeResult)||(isChromeResult=!1,isEdge()||null!==(e=/ Chrome\/([\.0-9]+)/.exec(theNavigator.userAgent))&&(isChromeResult=!0,chromeVersionResult=extractVersion(e[1]))),isChromeResult}function chromeVersion(){return isChrome()&&chromeVersionResult}function isSafari(){var e;return defined(isSafariResult)||(isSafariResult=!1,isChrome()||isEdge()||!/ Safari\/[\.0-9]+/.test(theNavigator.userAgent)||null!==(e=/ Version\/([\.0-9]+)/.exec(theNavigator.userAgent))&&(isSafariResult=!0,safariVersionResult=extractVersion(e[1]))),isSafariResult}function safariVersion(){return isSafari()&&safariVersionResult}function isWebkit(){var e;return defined(isWebkitResult)||(isWebkitResult=!1,null!==(e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(theNavigator.userAgent))&&(isWebkitResult=!0,(webkitVersionResult=extractVersion(e[1])).isNightly=!!e[2])),isWebkitResult}function webkitVersion(){return isWebkit()&&webkitVersionResult}function isInternetExplorer(){var e;return defined(isInternetExplorerResult)||(isInternetExplorerResult=!1,"Microsoft Internet Explorer"===theNavigator.appName?null!==(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(theNavigator.userAgent))&&(isInternetExplorerResult=!0,internetExplorerVersionResult=extractVersion(e[1])):"Netscape"===theNavigator.appName&&null!==(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(theNavigator.userAgent))&&(isInternetExplorerResult=!0,internetExplorerVersionResult=extractVersion(e[1]))),isInternetExplorerResult}function internetExplorerVersion(){return isInternetExplorer()&&internetExplorerVersionResult}function isEdge(){var e;return defined(isEdgeResult)||(isEdgeResult=!1,null!==(e=/ Edge\/([\.0-9]+)/.exec(theNavigator.userAgent))&&(isEdgeResult=!0,edgeVersionResult=extractVersion(e[1]))),isEdgeResult}function edgeVersion(){return isEdge()&&edgeVersionResult}function isFirefox(){var e;return defined(isFirefoxResult)||(isFirefoxResult=!1,null!==(e=/Firefox\/([\.0-9]+)/.exec(theNavigator.userAgent))&&(isFirefoxResult=!0,firefoxVersionResult=extractVersion(e[1]))),isFirefoxResult}function isWindows(){return defined(isWindowsResult)||(isWindowsResult=/Windows/i.test(theNavigator.appVersion)),isWindowsResult}function firefoxVersion(){return isFirefox()&&firefoxVersionResult}function supportsPointerEvents(){return defined(hasPointerEvents)||(hasPointerEvents=!isFirefox()&&"undefined"!=typeof PointerEvent&&(!defined(theNavigator.pointerEnabled)||theNavigator.pointerEnabled)),hasPointerEvents}function supportsImageRenderingPixelated(){var e;return defined(supportsImageRenderingPixelatedResult)||((e=document.createElement("canvas")).setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;"),e=e.style.imageRendering,(supportsImageRenderingPixelatedResult=defined(e)&&""!==e)&&(imageRenderingValueResult=e)),supportsImageRenderingPixelatedResult}function imageRenderingValue(){return supportsImageRenderingPixelated()?imageRenderingValueResult:void 0}function supportsWebP(){return supportsWebP._result}Object.defineProperties(Fullscreen,{element:{get:function(){if(Fullscreen.supportsFullscreen())return document[_names.fullscreenElement]}},changeEventName:{get:function(){if(Fullscreen.supportsFullscreen())return _names.fullscreenchange}},errorEventName:{get:function(){if(Fullscreen.supportsFullscreen())return _names.fullscreenerror}},enabled:{get:function(){if(Fullscreen.supportsFullscreen())return document[_names.fullscreenEnabled]}},fullscreen:{get:function(){if(Fullscreen.supportsFullscreen())return null!==Fullscreen.element}}}),Fullscreen.supportsFullscreen=function(){if(defined(_supportsFullscreen))return _supportsFullscreen;_supportsFullscreen=!1;var e=document.body;if("function"==typeof e.requestFullscreen)return _names.requestFullscreen="requestFullscreen",_names.exitFullscreen="exitFullscreen",_names.fullscreenEnabled="fullscreenEnabled",_names.fullscreenElement="fullscreenElement",_names.fullscreenchange="fullscreenchange",_names.fullscreenerror="fullscreenerror",_supportsFullscreen=!0;for(var t=["webkit","moz","o","ms","khtml"],i=0,r=t.length;i<r;++i){var n,a=t[i];"function"!=typeof e[n=a+"RequestFullscreen"]&&"function"!=typeof e[n=a+"RequestFullScreen"]||(_names.requestFullscreen=n,_supportsFullscreen=!0),n=a+"ExitFullscreen","function"==typeof document[n]?_names.exitFullscreen=n:(n=a+"CancelFullScreen","function"==typeof document[n]&&(_names.exitFullscreen=n)),n=a+"FullscreenEnabled",void 0!==document[n]?_names.fullscreenEnabled=n:(n=a+"FullScreenEnabled",void 0!==document[n]&&(_names.fullscreenEnabled=n)),n=a+"FullscreenElement",void 0!==document[n]?_names.fullscreenElement=n:(n=a+"FullScreenElement",void 0!==document[n]&&(_names.fullscreenElement=n)),n=a+"fullscreenchange",void 0!==document["on"+n]&&("ms"===a&&(n="MSFullscreenChange"),_names.fullscreenchange=n),n=a+"fullscreenerror",void 0!==document["on"+n]&&("ms"===a&&(n="MSFullscreenError"),_names.fullscreenerror=n)}return _supportsFullscreen},Fullscreen.requestFullscreen=function(e,t){Fullscreen.supportsFullscreen()&&e[_names.requestFullscreen]({vrDisplay:t})},Fullscreen.exitFullscreen=function(){Fullscreen.supportsFullscreen()&&document[_names.exitFullscreen]()},Fullscreen._names=_names,theNavigator="undefined"!=typeof navigator?navigator:{},supportsWebP._promise=void 0,supportsWebP._result=void 0,supportsWebP.initialize=function(){if(defined(supportsWebP._promise))return supportsWebP._promise;var e=when.defer();if(supportsWebP._promise=e.promise,isEdge())return supportsWebP._result=!1,e.resolve(supportsWebP._result),e.promise;var t=new Image;return t.onload=function(){supportsWebP._result=0<t.width&&0<t.height,e.resolve(supportsWebP._result)},t.onerror=function(){supportsWebP._result=!1,e.resolve(supportsWebP._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",e.promise},Object.defineProperties(supportsWebP,{initialized:{get:function(){return defined(supportsWebP._result)}}});var typedArrayTypes=[];"undefined"!=typeof ArrayBuffer&&(typedArrayTypes.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),"undefined"!=typeof Uint8ClampedArray&&typedArrayTypes.push(Uint8ClampedArray),"undefined"!=typeof Uint8ClampedArray&&typedArrayTypes.push(Uint8ClampedArray));var FeatureDetection={isChrome:isChrome,chromeVersion:chromeVersion,isSafari:isSafari,safariVersion:safariVersion,isWebkit:isWebkit,webkitVersion:webkitVersion,isInternetExplorer:isInternetExplorer,internetExplorerVersion:internetExplorerVersion,isEdge:isEdge,edgeVersion:edgeVersion,isFirefox:isFirefox,firefoxVersion:firefoxVersion,isWindows:isWindows,hardwareConcurrency:defaultValue(theNavigator.hardwareConcurrency,3),supportsPointerEvents:supportsPointerEvents,supportsImageRenderingPixelated:supportsImageRenderingPixelated,supportsWebP:supportsWebP,imageRenderingValue:imageRenderingValue,typedArrayTypes:typedArrayTypes};function Quaternion(e,t,i,r){this.x=defaultValue(e,0),this.y=defaultValue(t,0),this.z=defaultValue(i,0),this.w=defaultValue(r,0)}FeatureDetection.supportsFullscreen=function(){return Fullscreen.supportsFullscreen()},FeatureDetection.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer},FeatureDetection.supportsWebWorkers=function(){return"undefined"!=typeof Worker},FeatureDetection.supportsWebAssembly=function(){return"undefined"!=typeof WebAssembly&&!FeatureDetection.isEdge()};var fromAxisAngleScratch=new Cartesian3;Quaternion.fromAxisAngle=function(e,t,i){var r=t/2,n=Math.sin(r),t=(fromAxisAngleScratch=Cartesian3.normalize(e,fromAxisAngleScratch)).x*n,e=fromAxisAngleScratch.y*n,n=fromAxisAngleScratch.z*n,r=Math.cos(r);return defined(i)?(i.x=t,i.y=e,i.z=n,i.w=r,i):new Quaternion(t,e,n,r)};var fromRotationMatrixNext=[1,2,0],fromRotationMatrixQuat=new Array(3);Quaternion.fromRotationMatrix=function(e,t){var i,r,n,a,o=e[Matrix3.COLUMN0ROW0],s=e[Matrix3.COLUMN1ROW1],l=e[Matrix3.COLUMN2ROW2],c=o+s+l,u=0<c?(n=.5*(a=Math.sqrt(c+1)),a=.5/a,i=(e[Matrix3.COLUMN1ROW2]-e[Matrix3.COLUMN2ROW1])*a,r=(e[Matrix3.COLUMN2ROW0]-e[Matrix3.COLUMN0ROW2])*a,(e[Matrix3.COLUMN0ROW1]-e[Matrix3.COLUMN1ROW0])*a):(o=fromRotationMatrixNext[l=o<l&&s<l?2:o<s?1:0],s=fromRotationMatrixNext[o],a=Math.sqrt(e[Matrix3.getElementIndex(l,l)]-e[Matrix3.getElementIndex(o,o)]-e[Matrix3.getElementIndex(s,s)]+1),(u=fromRotationMatrixQuat)[l]=.5*a,a=.5/a,n=(e[Matrix3.getElementIndex(s,o)]-e[Matrix3.getElementIndex(o,s)])*a,u[o]=(e[Matrix3.getElementIndex(o,l)]+e[Matrix3.getElementIndex(l,o)])*a,u[s]=(e[Matrix3.getElementIndex(s,l)]+e[Matrix3.getElementIndex(l,s)])*a,i=-u[0],r=-u[1],-u[2]);return defined(t)?(t.x=i,t.y=r,t.z=u,t.w=n,t):new Quaternion(i,r,u,n)};var scratchHPRQuaternion=new Quaternion,scratchHeadingQuaternion=new Quaternion,scratchPitchQuaternion=new Quaternion,scratchRollQuaternion=new Quaternion;Quaternion.fromHeadingPitchRoll=function(e,t){return scratchRollQuaternion=Quaternion.fromAxisAngle(Cartesian3.UNIT_X,e.roll,scratchHPRQuaternion),scratchPitchQuaternion=Quaternion.fromAxisAngle(Cartesian3.UNIT_Y,-e.pitch,t),t=Quaternion.multiply(scratchPitchQuaternion,scratchRollQuaternion,scratchPitchQuaternion),scratchHeadingQuaternion=Quaternion.fromAxisAngle(Cartesian3.UNIT_Z,-e.heading,scratchHPRQuaternion),Quaternion.multiply(scratchHeadingQuaternion,t,t)};var sampledQuaternionAxis=new Cartesian3,sampledQuaternionRotation=new Cartesian3,sampledQuaternionTempQuaternion=new Quaternion,sampledQuaternionQuaternion0=new Quaternion,sampledQuaternionQuaternion0Conjugate=new Quaternion;Quaternion.packedLength=4,Quaternion.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.x,t[i++]=e.y,t[i++]=e.z,t[i]=e.w,t},Quaternion.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new Quaternion),i.x=e[t],i.y=e[t+1],i.z=e[t+2],i.w=e[t+3],i},Quaternion.packedInterpolationLength=3,Quaternion.convertPackedArrayForInterpolation=function(e,t,i,r){Quaternion.unpack(e,4*i,sampledQuaternionQuaternion0Conjugate),Quaternion.conjugate(sampledQuaternionQuaternion0Conjugate,sampledQuaternionQuaternion0Conjugate);for(var n=0,a=i-t+1;n<a;n++){var o=3*n;Quaternion.unpack(e,4*(t+n),sampledQuaternionTempQuaternion),Quaternion.multiply(sampledQuaternionTempQuaternion,sampledQuaternionQuaternion0Conjugate,sampledQuaternionTempQuaternion),sampledQuaternionTempQuaternion.w<0&&Quaternion.negate(sampledQuaternionTempQuaternion,sampledQuaternionTempQuaternion),Quaternion.computeAxis(sampledQuaternionTempQuaternion,sampledQuaternionAxis);var s=Quaternion.computeAngle(sampledQuaternionTempQuaternion);defined(r)||(r=[]),r[o]=sampledQuaternionAxis.x*s,r[1+o]=sampledQuaternionAxis.y*s,r[2+o]=sampledQuaternionAxis.z*s}},Quaternion.unpackInterpolationResult=function(e,t,i,r,n){defined(n)||(n=new Quaternion),Cartesian3.fromArray(e,0,sampledQuaternionRotation);e=Cartesian3.magnitude(sampledQuaternionRotation);return Quaternion.unpack(t,4*r,sampledQuaternionQuaternion0),0===e?Quaternion.clone(Quaternion.IDENTITY,sampledQuaternionTempQuaternion):Quaternion.fromAxisAngle(sampledQuaternionRotation,e,sampledQuaternionTempQuaternion),Quaternion.multiply(sampledQuaternionTempQuaternion,sampledQuaternionQuaternion0,n)},Quaternion.clone=function(e,t){if(defined(e))return defined(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new Quaternion(e.x,e.y,e.z,e.w)},Quaternion.conjugate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},Quaternion.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},Quaternion.magnitude=function(e){return Math.sqrt(Quaternion.magnitudeSquared(e))},Quaternion.normalize=function(e,t){var i=1/Quaternion.magnitude(e),r=e.x*i,n=e.y*i,a=e.z*i,i=e.w*i;return t.x=r,t.y=n,t.z=a,t.w=i,t},Quaternion.inverse=function(e,t){var i=Quaternion.magnitudeSquared(e);return t=Quaternion.conjugate(e,t),Quaternion.multiplyByScalar(t,1/i,t)},Quaternion.add=function(e,t,i){return i.x=e.x+t.x,i.y=e.y+t.y,i.z=e.z+t.z,i.w=e.w+t.w,i},Quaternion.subtract=function(e,t,i){return i.x=e.x-t.x,i.y=e.y-t.y,i.z=e.z-t.z,i.w=e.w-t.w,i},Quaternion.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},Quaternion.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},Quaternion.multiply=function(e,t,i){var r=e.x,n=e.y,a=e.z,o=e.w,s=t.x,l=t.y,c=t.z,u=t.w,d=o*s+r*u+n*c-a*l,e=o*l-r*c+n*u+a*s,t=o*c+r*l-n*s+a*u,c=o*u-r*s-n*l-a*c;return i.x=d,i.y=e,i.z=t,i.w=c,i},Quaternion.multiplyByScalar=function(e,t,i){return i.x=e.x*t,i.y=e.y*t,i.z=e.z*t,i.w=e.w*t,i},Quaternion.divideByScalar=function(e,t,i){return i.x=e.x/t,i.y=e.y/t,i.z=e.z/t,i.w=e.w/t,i},Quaternion.computeAxis=function(e,t){var i=e.w;if(Math.abs(i-1)<CesiumMath.EPSILON6)return t.x=t.y=t.z=0,t;i=1/Math.sqrt(1-i*i);return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t},Quaternion.computeAngle=function(e){return Math.abs(e.w-1)<CesiumMath.EPSILON6?0:2*Math.acos(e.w)};var lerpScratch$3=new Quaternion;Quaternion.lerp=function(e,t,i,r){return lerpScratch$3=Quaternion.multiplyByScalar(t,i,lerpScratch$3),r=Quaternion.multiplyByScalar(e,1-i,r),Quaternion.add(lerpScratch$3,r,r)};var slerpEndNegated=new Quaternion,slerpScaledP=new Quaternion,slerpScaledR=new Quaternion;Quaternion.slerp=function(e,t,i,r){var n=Quaternion.dot(e,t),a=t;if(n<0&&(n=-n,a=slerpEndNegated=Quaternion.negate(t,slerpEndNegated)),1-n<CesiumMath.EPSILON6)return Quaternion.lerp(e,a,i,r);n=Math.acos(n);return slerpScaledP=Quaternion.multiplyByScalar(e,Math.sin((1-i)*n),slerpScaledP),slerpScaledR=Quaternion.multiplyByScalar(a,Math.sin(i*n),slerpScaledR),r=Quaternion.add(slerpScaledP,slerpScaledR,r),Quaternion.multiplyByScalar(r,1/Math.sin(n),r)},Quaternion.log=function(e,t){var i=CesiumMath.acosClamped(e.w),r=0;return 0!==i&&(r=i/Math.sin(i)),Cartesian3.multiplyByScalar(e,r,t)},Quaternion.exp=function(e,t){var i=Cartesian3.magnitude(e),r=0;return 0!==i&&(r=Math.sin(i)/i),t.x=e.x*r,t.y=e.y*r,t.z=e.z*r,t.w=Math.cos(i),t};var squadScratchCartesian0=new Cartesian3,squadScratchCartesian1=new Cartesian3,squadScratchQuaternion0=new Quaternion,squadScratchQuaternion1=new Quaternion;Quaternion.computeInnerQuadrangle=function(e,t,i,r){var n=Quaternion.conjugate(t,squadScratchQuaternion0);Quaternion.multiply(n,i,squadScratchQuaternion1);i=Quaternion.log(squadScratchQuaternion1,squadScratchCartesian0);Quaternion.multiply(n,e,squadScratchQuaternion1);e=Quaternion.log(squadScratchQuaternion1,squadScratchCartesian1);return Cartesian3.add(i,e,i),Cartesian3.multiplyByScalar(i,.25,i),Cartesian3.negate(i,i),Quaternion.exp(i,squadScratchQuaternion0),Quaternion.multiply(t,squadScratchQuaternion0,r)},Quaternion.squad=function(e,t,i,r,n,a){t=Quaternion.slerp(e,t,n,squadScratchQuaternion0),r=Quaternion.slerp(i,r,n,squadScratchQuaternion1);return Quaternion.slerp(t,r,2*n*(1-n),a)};for(var fastSlerpScratchQuaternion=new Quaternion,opmu=1.9011074535173003,u=FeatureDetection.supportsTypedArrays()?new Float32Array(8):[],v=FeatureDetection.supportsTypedArrays()?new Float32Array(8):[],bT=FeatureDetection.supportsTypedArrays()?new Float32Array(8):[],bD=FeatureDetection.supportsTypedArrays()?new Float32Array(8):[],i=0;i<7;++i){var s=i+1,t=2*s+1;u[i]=1/(s*t),v[i]=s/t}u[7]=opmu/136,v[7]=8*opmu/17,Quaternion.fastSlerp=function(e,t,i,r){var n,a=Quaternion.dot(e,t);0<=a?n=1:(n=-1,a=-a);for(var o=a-1,a=1-i,s=i*i,l=a*a,c=7;0<=c;--c)bT[c]=(u[c]*s-v[c])*o,bD[c]=(u[c]*l-v[c])*o;i=n*i*(1+bT[0]*(1+bT[1]*(1+bT[2]*(1+bT[3]*(1+bT[4]*(1+bT[5]*(1+bT[6]*(1+bT[7])))))))),a*=1+bD[0]*(1+bD[1]*(1+bD[2]*(1+bD[3]*(1+bD[4]*(1+bD[5]*(1+bD[6]*(1+bD[7]))))))),a=Quaternion.multiplyByScalar(e,a,fastSlerpScratchQuaternion);return Quaternion.multiplyByScalar(t,i,r),Quaternion.add(a,r,r)},Quaternion.fastSquad=function(e,t,i,r,n,a){t=Quaternion.fastSlerp(e,t,n,squadScratchQuaternion0),r=Quaternion.fastSlerp(i,r,n,squadScratchQuaternion1);return Quaternion.fastSlerp(t,r,2*n*(1-n),a)},Quaternion.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},Quaternion.equalsEpsilon=function(e,t,i){return i=defaultValue(i,0),e===t||defined(e)&&defined(t)&&Math.abs(e.x-t.x)<=i&&Math.abs(e.y-t.y)<=i&&Math.abs(e.z-t.z)<=i&&Math.abs(e.w-t.w)<=i},Quaternion.ZERO=Object.freeze(new Quaternion(0,0,0,0)),Quaternion.IDENTITY=Object.freeze(new Quaternion(0,0,0,1)),Quaternion.prototype.clone=function(e){return Quaternion.clone(this,e)},Quaternion.prototype.equals=function(e){return Quaternion.equals(this,e)},Quaternion.prototype.equalsEpsilon=function(e,t){return Quaternion.equalsEpsilon(this,e,t)},Quaternion.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"};var Transforms={},vectorProductLocalFrame={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},degeneratePositionLocalFrame={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},localFrameToFixedFrameCache={},scratchCalculateCartesian={east:new Cartesian3,north:new Cartesian3,up:new Cartesian3,west:new Cartesian3,south:new Cartesian3,down:new Cartesian3},scratchFirstCartesian=new Cartesian3,scratchSecondCartesian=new Cartesian3,scratchThirdCartesian=new Cartesian3;Transforms.localFrameToFixedFrameGenerator=function(n,a){if(!vectorProductLocalFrame.hasOwnProperty(n)||!vectorProductLocalFrame[n].hasOwnProperty(a))throw new DeveloperError("firstAxis and secondAxis must be east, north, up, west, south or down.");var e,o=vectorProductLocalFrame[n][a],t=n+a;return defined(localFrameToFixedFrameCache[t])?e=localFrameToFixedFrameCache[t]:(e=function(e,t,i){var r;return defined(i)||(i=new Matrix4),Cartesian3.equalsEpsilon(e,Cartesian3.ZERO,CesiumMath.EPSILON14)?(Cartesian3.unpack(degeneratePositionLocalFrame[n],0,scratchFirstCartesian),Cartesian3.unpack(degeneratePositionLocalFrame[a],0,scratchSecondCartesian),Cartesian3.unpack(degeneratePositionLocalFrame[o],0,scratchThirdCartesian)):CesiumMath.equalsEpsilon(e.x,0,CesiumMath.EPSILON14)&&CesiumMath.equalsEpsilon(e.y,0,CesiumMath.EPSILON14)?(r=CesiumMath.sign(e.z),Cartesian3.unpack(degeneratePositionLocalFrame[n],0,scratchFirstCartesian),"east"!==n&&"west"!==n&&Cartesian3.multiplyByScalar(scratchFirstCartesian,r,scratchFirstCartesian),Cartesian3.unpack(degeneratePositionLocalFrame[a],0,scratchSecondCartesian),"east"!==a&&"west"!==a&&Cartesian3.multiplyByScalar(scratchSecondCartesian,r,scratchSecondCartesian),Cartesian3.unpack(degeneratePositionLocalFrame[o],0,scratchThirdCartesian),"east"!==o&&"west"!==o&&Cartesian3.multiplyByScalar(scratchThirdCartesian,r,scratchThirdCartesian)):((t=defaultValue(t,Ellipsoid.WGS84)).geodeticSurfaceNormal(e,scratchCalculateCartesian.up),r=scratchCalculateCartesian.up,(t=scratchCalculateCartesian.east).x=-e.y,t.y=e.x,t.z=0,Cartesian3.normalize(t,scratchCalculateCartesian.east),Cartesian3.cross(r,t,scratchCalculateCartesian.north),Cartesian3.multiplyByScalar(scratchCalculateCartesian.up,-1,scratchCalculateCartesian.down),Cartesian3.multiplyByScalar(scratchCalculateCartesian.east,-1,scratchCalculateCartesian.west),Cartesian3.multiplyByScalar(scratchCalculateCartesian.north,-1,scratchCalculateCartesian.south),scratchFirstCartesian=scratchCalculateCartesian[n],scratchSecondCartesian=scratchCalculateCartesian[a],scratchThirdCartesian=scratchCalculateCartesian[o]),i[0]=scratchFirstCartesian.x,i[1]=scratchFirstCartesian.y,i[2]=scratchFirstCartesian.z,i[3]=0,i[4]=scratchSecondCartesian.x,i[5]=scratchSecondCartesian.y,i[6]=scratchSecondCartesian.z,i[7]=0,i[8]=scratchThirdCartesian.x,i[9]=scratchThirdCartesian.y,i[10]=scratchThirdCartesian.z,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},localFrameToFixedFrameCache[t]=e),e},Transforms.eastNorthUpToFixedFrame=Transforms.localFrameToFixedFrameGenerator("east","north"),Transforms.northEastDownToFixedFrame=Transforms.localFrameToFixedFrameGenerator("north","east"),Transforms.northUpEastToFixedFrame=Transforms.localFrameToFixedFrameGenerator("north","up"),Transforms.northWestUpToFixedFrame=Transforms.localFrameToFixedFrameGenerator("north","west");var scratchHPRQuaternion$1=new Quaternion,scratchScale$2=new Cartesian3(1,1,1),scratchHPRMatrix4=new Matrix4;Transforms.headingPitchRollToFixedFrame=function(e,t,i,r,n){r=defaultValue(r,Transforms.eastNorthUpToFixedFrame);t=Quaternion.fromHeadingPitchRoll(t,scratchHPRQuaternion$1),t=Matrix4.fromTranslationQuaternionRotationScale(Cartesian3.ZERO,t,scratchScale$2,scratchHPRMatrix4);return n=r(e,i,n),Matrix4.multiply(n,t,n)};var scratchENUMatrix4=new Matrix4,scratchHPRMatrix3=new Matrix3;Transforms.headingPitchRollQuaternion=function(e,t,i,r,n){r=Transforms.headingPitchRollToFixedFrame(e,t,i,r,scratchENUMatrix4),r=Matrix4.getMatrix3(r,scratchHPRMatrix3);return Quaternion.fromRotationMatrix(r,n)};var noScale=new Cartesian3(1,1,1),hprCenterScratch=new Cartesian3,ffScratch=new Matrix4,hprTransformScratch=new Matrix4,hprRotationScratch=new Matrix3,hprQuaternionScratch=new Quaternion;Transforms.fixedFrameToHeadingPitchRoll=function(e,t,i,r){t=defaultValue(t,Ellipsoid.WGS84),i=defaultValue(i,Transforms.eastNorthUpToFixedFrame),defined(r)||(r=new HeadingPitchRoll);var n=Matrix4.getTranslation(e,hprCenterScratch);if(Cartesian3.equals(n,Cartesian3.ZERO))return r.heading=0,r.pitch=0,r.roll=0,r;t=Matrix4.inverseTransformation(i(n,t,ffScratch),ffScratch),e=Matrix4.setScale(e,noScale,hprTransformScratch),e=Matrix4.setTranslation(e,Cartesian3.ZERO,e),t=Matrix4.multiply(t,e,t),t=Quaternion.fromRotationMatrix(Matrix4.getMatrix3(t,hprRotationScratch),hprQuaternionScratch),t=Quaternion.normalize(t,t);return HeadingPitchRoll.fromQuaternion(t,r)};var gmstConstant0=24110.54841,gmstConstant1=8640184.812866,gmstConstant2=.093104,gmstConstant3=-62e-7,rateCoef=11772758384668e-32,wgs84WRPrecessing=72921158553e-15,twoPiOverSecondsInDay=CesiumMath.TWO_PI/86400,dateInUtc=new JulianDate;Transforms.computeTemeToPseudoFixedMatrix=function(e,t){var i=(dateInUtc=JulianDate.addSeconds(e,-JulianDate.computeTaiMinusUtc(e),dateInUtc)).dayNumber,r=dateInUtc.secondsOfDay,e=i-2451545,e=43200<=r?(.5+e)/TimeConstants$1.DAYS_PER_JULIAN_CENTURY:(e-.5)/TimeConstants$1.DAYS_PER_JULIAN_CENTURY,i=(gmstConstant0+e*(gmstConstant1+e*(gmstConstant2+e*gmstConstant3)))*twoPiOverSecondsInDay%CesiumMath.TWO_PI+(wgs84WRPrecessing+rateCoef*(i-2451545.5))*((r+.5*TimeConstants$1.SECONDS_PER_DAY)%TimeConstants$1.SECONDS_PER_DAY),r=Math.cos(i),i=Math.sin(i);return defined(t)?(t[0]=r,t[1]=-i,t[2]=0,t[3]=i,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new Matrix3(r,i,0,-i,r,0,0,0,1)},Transforms.iau2006XysData=new Iau2006XysData,Transforms.earthOrientationParameters=EarthOrientationParameters.NONE;var ttMinusTai=32.184,j2000ttDays=2451545;Transforms.preloadIcrfFixed=function(e){var t=e.start.dayNumber,i=e.start.secondsOfDay+ttMinusTai,r=e.stop.dayNumber,e=e.stop.secondsOfDay+ttMinusTai,r=Transforms.iau2006XysData.preload(t,i,r,e),e=Transforms.earthOrientationParameters.getPromiseToLoad();return when.all([r,e])},Transforms.computeIcrfToFixedMatrix=function(e,t){defined(t)||(t=new Matrix3);e=Transforms.computeFixedToIcrfMatrix(e,t);if(defined(e))return Matrix3.transpose(e,t)};var xysScratch=new Iau2006XysSample(0,0,0),eopScratch=new EarthOrientationParametersSample(0,0,0,0,0,0),rotation1Scratch=new Matrix3,rotation2Scratch=new Matrix3;Transforms.computeFixedToIcrfMatrix=function(e,t){defined(t)||(t=new Matrix3);var i=Transforms.earthOrientationParameters.compute(e,eopScratch);if(defined(i)){var r=e.dayNumber,n=e.secondsOfDay+ttMinusTai,a=Transforms.iau2006XysData.computeXysRadians(r,n,xysScratch);if(defined(a)){var o=a.x+i.xPoleOffset,s=a.y+i.yPoleOffset,l=1/(1+Math.sqrt(1-o*o-s*s)),c=rotation1Scratch;c[0]=1-l*o*o,c[3]=-l*o*s,c[6]=o,c[1]=-l*o*s,c[4]=1-l*s*s,c[7]=s,c[2]=-o,c[5]=-s,c[8]=1-l*(o*o+s*s);o=Matrix3.fromRotationZ(-a.s,rotation2Scratch),s=Matrix3.multiply(c,o,rotation1Scratch),a=e.dayNumber-2451545,c=(e.secondsOfDay-JulianDate.computeTaiMinusUtc(e)+i.ut1MinusUtc)/TimeConstants$1.SECONDS_PER_DAY,o=(o=.779057273264+c+.00273781191135448*(a+c))%1*CesiumMath.TWO_PI,e=Matrix3.fromRotationZ(o,rotation2Scratch),a=Matrix3.multiply(s,e,rotation1Scratch),c=Math.cos(i.xPoleWander),o=Math.cos(i.yPoleWander),s=Math.sin(i.xPoleWander),e=Math.sin(i.yPoleWander),i=r-j2000ttDays+n/TimeConstants$1.SECONDS_PER_DAY,r=-47e-6*(i/=36525)*CesiumMath.RADIANS_PER_DEGREE/3600,n=Math.cos(r),i=Math.sin(r),r=rotation2Scratch;return r[0]=c*n,r[1]=c*i,r[2]=s,r[3]=-o*i+e*s*n,r[4]=o*n+e*s*i,r[5]=-e*c,r[6]=-e*i-o*s*n,r[7]=e*n-o*s*i,r[8]=o*c,Matrix3.multiply(a,r,t)}}};var pointToWindowCoordinatesTemp=new Cartesian4;Transforms.pointToWindowCoordinates=function(e,t,i,r){return(r=Transforms.pointToGLWindowCoordinates(e,t,i,r)).y=2*t[5]-r.y,r},Transforms.pointToGLWindowCoordinates=function(e,t,i,r){defined(r)||(r=new Cartesian2);var n=pointToWindowCoordinatesTemp;return Matrix4.multiplyByVector(e,Cartesian4.fromElements(i.x,i.y,i.z,1,n),n),Cartesian4.multiplyByScalar(n,1/n.w,n),Matrix4.multiplyByVector(t,n,n),Cartesian2.fromCartesian4(n,r)};var normalScratch=new Cartesian3,rightScratch=new Cartesian3,upScratch=new Cartesian3;Transforms.rotationMatrixFromPositionVelocity=function(e,t,i,r){i=defaultValue(i,Ellipsoid.WGS84).geodeticSurfaceNormal(e,normalScratch),e=Cartesian3.cross(t,i,rightScratch);Cartesian3.equalsEpsilon(e,Cartesian3.ZERO,CesiumMath.EPSILON6)&&(e=Cartesian3.clone(Cartesian3.UNIT_X,e));i=Cartesian3.cross(e,t,upScratch);return Cartesian3.normalize(i,i),Cartesian3.cross(t,i,e),Cartesian3.negate(e,e),Cartesian3.normalize(e,e),defined(r)||(r=new Matrix3),r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=e.x,r[4]=e.y,r[5]=e.z,r[6]=i.x,r[7]=i.y,r[8]=i.z,r};var swizzleMatrix=new Matrix4(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),scratchCartographic=new Cartographic,scratchCartesian3Projection=new Cartesian3,scratchCenter=new Cartesian3,scratchRotation=new Matrix3,scratchFromENU=new Matrix4,scratchToENU=new Matrix4;Transforms.basisTo2D=function(e,t,i){var r=Matrix4.getTranslation(t,scratchCenter),n=e.ellipsoid,a=n.cartesianToCartographic(r,scratchCartographic),a=e.project(a,scratchCartesian3Projection);Cartesian3.fromElements(a.z,a.x,a.y,a);n=Transforms.eastNorthUpToFixedFrame(r,n,scratchFromENU),n=Matrix4.inverseTransformation(n,scratchToENU),t=Matrix4.getMatrix3(t,scratchRotation),t=Matrix4.multiplyByMatrix3(n,t,i);return Matrix4.multiply(swizzleMatrix,t,i),Matrix4.setTranslation(i,a,i),i},Transforms.wgs84To2DModelMatrix=function(e,t,i){var r=e.ellipsoid,n=Transforms.eastNorthUpToFixedFrame(t,r,scratchFromENU),n=Matrix4.inverseTransformation(n,scratchToENU),t=r.cartesianToCartographic(t,scratchCartographic),t=e.project(t,scratchCartesian3Projection);Cartesian3.fromElements(t.z,t.x,t.y,t);t=Matrix4.fromTranslation(t,scratchFromENU);return Matrix4.multiply(swizzleMatrix,n,i),Matrix4.multiply(t,i,i),i};var scratchCart4=new Cartesian4;function EllipsoidTangentPlane(e,t){e=(t=defaultValue(t,Ellipsoid.WGS84)).scaleToGeodeticSurface(e);var i=Transforms.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=Cartesian3.fromCartesian4(Matrix4.getColumn(i,0,scratchCart4)),this._yAxis=Cartesian3.fromCartesian4(Matrix4.getColumn(i,1,scratchCart4));i=Cartesian3.fromCartesian4(Matrix4.getColumn(i,2,scratchCart4));this._plane=Plane.fromPointNormal(e,i)}Object.defineProperties(EllipsoidTangentPlane.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var tmp=new AxisAlignedBoundingBox;EllipsoidTangentPlane.fromPoints=function(e,t){return new EllipsoidTangentPlane(AxisAlignedBoundingBox.fromPoints(e,tmp).center,t)};var scratchProjectPointOntoPlaneRay=new Ray,scratchProjectPointOntoPlaneCartesian3=new Cartesian3;EllipsoidTangentPlane.prototype.projectPointOntoPlane=function(e,t){var i=scratchProjectPointOntoPlaneRay;i.origin=e,Cartesian3.normalize(e,i.direction);e=IntersectionTests.rayPlane(i,this._plane,scratchProjectPointOntoPlaneCartesian3);if(defined(e)||(Cartesian3.negate(i.direction,i.direction),e=IntersectionTests.rayPlane(i,this._plane,scratchProjectPointOntoPlaneCartesian3)),defined(e)){i=Cartesian3.subtract(e,this._origin,e),e=Cartesian3.dot(this._xAxis,i),i=Cartesian3.dot(this._yAxis,i);return defined(t)?(t.x=e,t.y=i,t):new Cartesian2(e,i)}},EllipsoidTangentPlane.prototype.projectPointsOntoPlane=function(e,t){defined(t)||(t=[]);for(var i=0,r=e.length,n=0;n<r;n++){var a=this.projectPointOntoPlane(e[n],t[i]);defined(a)&&(t[i]=a,i++)}return t.length=i,t},EllipsoidTangentPlane.prototype.projectPointToNearestOnPlane=function(e,t){defined(t)||(t=new Cartesian2);var i=scratchProjectPointOntoPlaneRay;i.origin=e,Cartesian3.clone(this._plane.normal,i.direction);e=IntersectionTests.rayPlane(i,this._plane,scratchProjectPointOntoPlaneCartesian3);defined(e)||(Cartesian3.negate(i.direction,i.direction),e=IntersectionTests.rayPlane(i,this._plane,scratchProjectPointOntoPlaneCartesian3));i=Cartesian3.subtract(e,this._origin,e),e=Cartesian3.dot(this._xAxis,i),i=Cartesian3.dot(this._yAxis,i);return t.x=e,t.y=i,t},EllipsoidTangentPlane.prototype.projectPointsToNearestOnPlane=function(e,t){defined(t)||(t=[]);var i=e.length;t.length=i;for(var r=0;r<i;r++)t[r]=this.projectPointToNearestOnPlane(e[r],t[r]);return t};var projectPointsOntoEllipsoidScratch=new Cartesian3;function OrientedBoundingBox(e,t){this.center=Cartesian3.clone(defaultValue(e,Cartesian3.ZERO)),this.halfAxes=Matrix3.clone(defaultValue(t,Matrix3.ZERO))}EllipsoidTangentPlane.prototype.projectPointOntoEllipsoid=function(e,t){defined(t)||(t=new Cartesian3);var i=this._ellipsoid,r=this._origin,n=this._xAxis,a=this._yAxis,o=projectPointsOntoEllipsoidScratch;return Cartesian3.multiplyByScalar(n,e.x,o),t=Cartesian3.add(r,o,t),Cartesian3.multiplyByScalar(a,e.y,o),Cartesian3.add(t,o,t),i.scaleToGeocentricSurface(t,t),t},EllipsoidTangentPlane.prototype.projectPointsOntoEllipsoid=function(e,t){var i=e.length;defined(t)?t.length=i:t=new Array(i);for(var r=0;r<i;++r)t[r]=this.projectPointOntoEllipsoid(e[r],t[r]);return t},OrientedBoundingBox.packedLength=Cartesian3.packedLength+Matrix3.packedLength,OrientedBoundingBox.pack=function(e,t,i){return i=defaultValue(i,0),Cartesian3.pack(e.center,t,i),Matrix3.pack(e.halfAxes,t,i+Cartesian3.packedLength),t},OrientedBoundingBox.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new OrientedBoundingBox),Cartesian3.unpack(e,t,i.center),Matrix3.unpack(e,t+Cartesian3.packedLength,i.halfAxes),i};var scratchCartesian1=new Cartesian3,scratchCartesian2=new Cartesian3,scratchCartesian3$1=new Cartesian3,scratchCartesian4=new Cartesian3,scratchCartesian5=new Cartesian3,scratchCartesian6=new Cartesian3,scratchCovarianceResult=new Matrix3,scratchEigenResult={unitary:new Matrix3,diagonal:new Matrix3};OrientedBoundingBox.fromPoints=function(e,t){if(defined(t)||(t=new OrientedBoundingBox),!defined(e)||0===e.length)return t.halfAxes=Matrix3.ZERO,t.center=Cartesian3.ZERO,t;for(var i=e.length,r=Cartesian3.clone(e[0],scratchCartesian1),n=1;n<i;n++)Cartesian3.add(r,e[n],r);var a=1/i;Cartesian3.multiplyByScalar(r,a,r);var o,s=0,l=0,c=0,u=0,d=0,h=0;for(n=0;n<i;n++)s+=(o=Cartesian3.subtract(e[n],r,scratchCartesian2)).x*o.x,l+=o.x*o.y,c+=o.x*o.z,u+=o.y*o.y,d+=o.y*o.z,h+=o.z*o.z;s*=a,l*=a,c*=a,u*=a,d*=a,h*=a;a=scratchCovarianceResult;a[0]=s,a[1]=l,a[2]=c,a[3]=l,a[4]=u,a[5]=d,a[6]=c,a[7]=d,a[8]=h;var a=Matrix3.computeEigenDecomposition(a,scratchEigenResult),a=Matrix3.clone(a.unitary,t.halfAxes),p=Matrix3.getColumn(a,0,scratchCartesian4),m=Matrix3.getColumn(a,1,scratchCartesian5),f=Matrix3.getColumn(a,2,scratchCartesian6),g=-Number.MAX_VALUE,_=-Number.MAX_VALUE,y=-Number.MAX_VALUE,C=Number.MAX_VALUE,v=Number.MAX_VALUE,S=Number.MAX_VALUE;for(n=0;n<i;n++)o=e[n],g=Math.max(Cartesian3.dot(p,o),g),_=Math.max(Cartesian3.dot(m,o),_),y=Math.max(Cartesian3.dot(f,o),y),C=Math.min(Cartesian3.dot(p,o),C),v=Math.min(Cartesian3.dot(m,o),v),S=Math.min(Cartesian3.dot(f,o),S);p=Cartesian3.multiplyByScalar(p,.5*(C+g),p),m=Cartesian3.multiplyByScalar(m,.5*(v+_),m),f=Cartesian3.multiplyByScalar(f,.5*(S+y),f);a=Cartesian3.add(p,m,t.center);Cartesian3.add(a,f,a);a=scratchCartesian3$1;return a.x=g-C,a.y=_-v,a.z=y-S,Cartesian3.multiplyByScalar(a,.5,a),Matrix3.multiplyByScale(t.halfAxes,a,t.halfAxes),t};var scratchOffset=new Cartesian3,scratchScale$3=new Cartesian3;function fromPlaneExtents(e,t,i,r,n,a,o,s,l,c,u){defined(u)||(u=new OrientedBoundingBox);var d=u.halfAxes;Matrix3.setColumn(d,0,t,d),Matrix3.setColumn(d,1,i,d),Matrix3.setColumn(d,2,r,d),(i=scratchOffset).x=(n+a)/2,i.y=(o+s)/2,i.z=(l+c)/2;r=scratchScale$3;r.x=(a-n)/2,r.y=(s-o)/2,r.z=(c-l)/2;l=u.center,i=Matrix3.multiplyByVector(d,i,i);return Cartesian3.add(e,i,l),Matrix3.multiplyByScale(d,r,d),u}var scratchRectangleCenterCartographic=new Cartographic,scratchRectangleCenter=new Cartesian3,scratchPerimeterCartographicNC=new Cartographic,scratchPerimeterCartographicNW=new Cartographic,scratchPerimeterCartographicCW=new Cartographic,scratchPerimeterCartographicSW=new Cartographic,scratchPerimeterCartographicSC=new Cartographic,scratchPerimeterCartesianNC=new Cartesian3,scratchPerimeterCartesianNW=new Cartesian3,scratchPerimeterCartesianCW=new Cartesian3,scratchPerimeterCartesianSW=new Cartesian3,scratchPerimeterCartesianSC=new Cartesian3,scratchPerimeterProjectedNC=new Cartesian2,scratchPerimeterProjectedNW=new Cartesian2,scratchPerimeterProjectedCW=new Cartesian2,scratchPerimeterProjectedSW=new Cartesian2,scratchPerimeterProjectedSC=new Cartesian2,scratchPlaneOrigin=new Cartesian3,scratchPlaneNormal=new Cartesian3,scratchPlaneXAxis=new Cartesian3,scratchHorizonCartesian=new Cartesian3,scratchHorizonProjected=new Cartesian2,scratchMaxY=new Cartesian3,scratchMinY=new Cartesian3,scratchZ=new Cartesian3,scratchPlane=new Plane(Cartesian3.UNIT_X,0);OrientedBoundingBox.fromRectangle=function(e,t,i,r,n){if(t=defaultValue(t,0),i=defaultValue(i,0),r=defaultValue(r,Ellipsoid.WGS84),e.width<=CesiumMath.PI){var a=Rectangle.center(e,scratchRectangleCenterCartographic),o=new EllipsoidTangentPlane(r.cartographicToCartesian(a,scratchRectangleCenter),r),s=o.plane,l=a.longitude,c=e.south<0&&0<e.north?0:a.latitude,u=Cartographic.fromRadians(l,e.north,i,scratchPerimeterCartographicNC),d=Cartographic.fromRadians(e.west,e.north,i,scratchPerimeterCartographicNW),h=Cartographic.fromRadians(e.west,c,i,scratchPerimeterCartographicCW),p=Cartographic.fromRadians(e.west,e.south,i,scratchPerimeterCartographicSW),m=Cartographic.fromRadians(l,e.south,i,scratchPerimeterCartographicSC),f=r.cartographicToCartesian(u,scratchPerimeterCartesianNC),g=r.cartographicToCartesian(d,scratchPerimeterCartesianNW),_=r.cartographicToCartesian(h,scratchPerimeterCartesianCW),y=r.cartographicToCartesian(p,scratchPerimeterCartesianSW),C=r.cartographicToCartesian(m,scratchPerimeterCartesianSC),a=o.projectPointToNearestOnPlane(f,scratchPerimeterProjectedNC),c=o.projectPointToNearestOnPlane(g,scratchPerimeterProjectedNW),l=o.projectPointToNearestOnPlane(_,scratchPerimeterProjectedCW),u=o.projectPointToNearestOnPlane(y,scratchPerimeterProjectedSW),h=o.projectPointToNearestOnPlane(C,scratchPerimeterProjectedSC),f=-(m=Math.min(c.x,l.x,u.x)),_=Math.max(c.y,a.y),C=Math.min(u.y,h.y);return d.height=p.height=t,g=r.cartographicToCartesian(d,scratchPerimeterCartesianNW),y=r.cartographicToCartesian(p,scratchPerimeterCartesianSW),l=Math.min(Plane.getPointDistance(s,g),Plane.getPointDistance(s,y)),c=i,fromPlaneExtents(o.origin,o.xAxis,o.yAxis,o.zAxis,m,f,C,_,l,c,n)}a=0<e.south,u=e.north<0,h=a?e.south:u?e.north:0,d=Rectangle.center(e,scratchRectangleCenterCartographic).longitude,p=Cartesian3.fromRadians(d,h,i,r,scratchPlaneOrigin);p.z=0;g=Math.abs(p.x)<CesiumMath.EPSILON10&&Math.abs(p.y)<CesiumMath.EPSILON10?Cartesian3.UNIT_X:Cartesian3.normalize(p,scratchPlaneNormal),y=Cartesian3.UNIT_Z,o=Cartesian3.cross(g,y,scratchPlaneXAxis);s=Plane.fromPointNormal(p,g,scratchPlane);d=Cartesian3.fromRadians(d+CesiumMath.PI_OVER_TWO,h,i,r,scratchHorizonCartesian);m=-(f=Cartesian3.dot(Plane.projectPointOntoPlane(s,d,scratchHorizonProjected),o)),_=Cartesian3.fromRadians(0,e.north,u?t:i,r,scratchMaxY).z,C=Cartesian3.fromRadians(0,e.south,a?t:i,r,scratchMinY).z;r=Cartesian3.fromRadians(e.east,h,i,r,scratchZ);return fromPlaneExtents(p,o,y,g,m,f,C,_,l=Plane.getPointDistance(s,r),c=0,n)},OrientedBoundingBox.clone=function(e,t){if(defined(e))return defined(t)?(Cartesian3.clone(e.center,t.center),Matrix3.clone(e.halfAxes,t.halfAxes),t):new OrientedBoundingBox(e.center,e.halfAxes)},OrientedBoundingBox.intersectPlane=function(e,t){var i=e.center,r=t.normal,n=e.halfAxes,a=r.x,o=r.y,e=r.z,n=Math.abs(a*n[Matrix3.COLUMN0ROW0]+o*n[Matrix3.COLUMN0ROW1]+e*n[Matrix3.COLUMN0ROW2])+Math.abs(a*n[Matrix3.COLUMN1ROW0]+o*n[Matrix3.COLUMN1ROW1]+e*n[Matrix3.COLUMN1ROW2])+Math.abs(a*n[Matrix3.COLUMN2ROW0]+o*n[Matrix3.COLUMN2ROW1]+e*n[Matrix3.COLUMN2ROW2]),t=Cartesian3.dot(r,i)+t.distance;return t<=-n?Intersect$1.OUTSIDE:n<=t?Intersect$1.INSIDE:Intersect$1.INTERSECTING};var scratchCartesianU=new Cartesian3,scratchCartesianV=new Cartesian3,scratchCartesianW=new Cartesian3,scratchPPrime=new Cartesian3;OrientedBoundingBox.distanceSquaredTo=function(e,t){var i=Cartesian3.subtract(t,e.center,scratchOffset),r=e.halfAxes,n=Matrix3.getColumn(r,0,scratchCartesianU),a=Matrix3.getColumn(r,1,scratchCartesianV),o=Matrix3.getColumn(r,2,scratchCartesianW),s=Cartesian3.magnitude(n),t=Cartesian3.magnitude(a),e=Cartesian3.magnitude(o);Cartesian3.normalize(n,n),Cartesian3.normalize(a,a),Cartesian3.normalize(o,o);r=scratchPPrime;r.x=Cartesian3.dot(i,n),r.y=Cartesian3.dot(i,a),r.z=Cartesian3.dot(i,o);var l,o=0;return r.x<-s?o+=(l=r.x+s)*l:r.x>s&&(o+=(l=r.x-s)*l),r.y<-t?o+=(l=r.y+t)*l:r.y>t&&(o+=(l=r.y-t)*l),r.z<-e?o+=(l=r.z+e)*l:r.z>e&&(o+=(l=r.z-e)*l),o};var scratchCorner=new Cartesian3,scratchToCenter=new Cartesian3;OrientedBoundingBox.computePlaneDistances=function(e,t,i,r){defined(r)||(r=new Interval);var n=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=e.center,s=e.halfAxes,l=Matrix3.getColumn(s,0,scratchCartesianU),c=Matrix3.getColumn(s,1,scratchCartesianV),u=Matrix3.getColumn(s,2,scratchCartesianW),d=Cartesian3.add(l,c,scratchCorner);Cartesian3.add(d,u,d),Cartesian3.add(d,o,d);e=Cartesian3.subtract(d,t,scratchToCenter),s=Cartesian3.dot(i,e),n=Math.min(s,n),a=Math.max(s,a);return Cartesian3.add(o,l,d),Cartesian3.add(d,c,d),Cartesian3.subtract(d,u,d),Cartesian3.subtract(d,t,e),s=Cartesian3.dot(i,e),n=Math.min(s,n),a=Math.max(s,a),Cartesian3.add(o,l,d),Cartesian3.subtract(d,c,d),Cartesian3.add(d,u,d),Cartesian3.subtract(d,t,e),s=Cartesian3.dot(i,e),n=Math.min(s,n),a=Math.max(s,a),Cartesian3.add(o,l,d),Cartesian3.subtract(d,c,d),Cartesian3.subtract(d,u,d),Cartesian3.subtract(d,t,e),s=Cartesian3.dot(i,e),n=Math.min(s,n),a=Math.max(s,a),Cartesian3.subtract(o,l,d),Cartesian3.add(d,c,d),Cartesian3.add(d,u,d),Cartesian3.subtract(d,t,e),s=Cartesian3.dot(i,e),n=Math.min(s,n),a=Math.max(s,a),Cartesian3.subtract(o,l,d),Cartesian3.add(d,c,d),Cartesian3.subtract(d,u,d),Cartesian3.subtract(d,t,e),s=Cartesian3.dot(i,e),n=Math.min(s,n),a=Math.max(s,a),Cartesian3.subtract(o,l,d),Cartesian3.subtract(d,c,d),Cartesian3.add(d,u,d),Cartesian3.subtract(d,t,e),s=Cartesian3.dot(i,e),n=Math.min(s,n),a=Math.max(s,a),Cartesian3.subtract(o,l,d),Cartesian3.subtract(d,c,d),Cartesian3.subtract(d,u,d),Cartesian3.subtract(d,t,e),s=Cartesian3.dot(i,e),n=Math.min(s,n),a=Math.max(s,a),r.start=n,r.stop=a,r};var scratchBoundingSphere$1=new BoundingSphere;OrientedBoundingBox.isOccluded=function(e,t){e=BoundingSphere.fromOrientedBoundingBox(e,scratchBoundingSphere$1);return!t.isBoundingSphereVisible(e)},OrientedBoundingBox.prototype.intersectPlane=function(e){return OrientedBoundingBox.intersectPlane(this,e)},OrientedBoundingBox.prototype.distanceSquaredTo=function(e){return OrientedBoundingBox.distanceSquaredTo(this,e)},OrientedBoundingBox.prototype.computePlaneDistances=function(e,t,i){return OrientedBoundingBox.computePlaneDistances(this,e,t,i)},OrientedBoundingBox.prototype.isOccluded=function(e){return OrientedBoundingBox.isOccluded(this,e)},OrientedBoundingBox.equals=function(e,t){return e===t||defined(e)&&defined(t)&&Cartesian3.equals(e.center,t.center)&&Matrix3.equals(e.halfAxes,t.halfAxes)},OrientedBoundingBox.prototype.clone=function(e){return OrientedBoundingBox.clone(this,e)},OrientedBoundingBox.prototype.equals=function(e){return OrientedBoundingBox.equals(this,e)};var RIGHT_SHIFT=1/256,LEFT_SHIFT=256,AttributeCompression={octEncodeInRange:function(e,t,i){var r;return i.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),i.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0&&(r=i.x,e=i.y,i.x=(1-Math.abs(e))*CesiumMath.signNotZero(r),i.y=(1-Math.abs(r))*CesiumMath.signNotZero(e)),i.x=CesiumMath.toSNorm(i.x,t),i.y=CesiumMath.toSNorm(i.y,t),i},octEncode:function(e,t){return AttributeCompression.octEncodeInRange(e,255,t)}},octEncodeScratch=new Cartesian2,uint8ForceArray=new Uint8Array(1);function forceUint8(e){return uint8ForceArray[0]=e,uint8ForceArray[0]}AttributeCompression.octEncodeToCartesian4=function(e,t){return AttributeCompression.octEncodeInRange(e,65535,octEncodeScratch),t.x=forceUint8(octEncodeScratch.x*RIGHT_SHIFT),t.y=forceUint8(octEncodeScratch.x),t.z=forceUint8(octEncodeScratch.y*RIGHT_SHIFT),t.w=forceUint8(octEncodeScratch.y),t},AttributeCompression.octDecodeInRange=function(e,t,i,r){return r.x=CesiumMath.fromSNorm(e,i),r.y=CesiumMath.fromSNorm(t,i),r.z=1-(Math.abs(r.x)+Math.abs(r.y)),r.z<0&&(i=r.x,r.x=(1-Math.abs(r.y))*CesiumMath.signNotZero(i),r.y=(1-Math.abs(i))*CesiumMath.signNotZero(r.y)),Cartesian3.normalize(r,r)},AttributeCompression.octDecode=function(e,t,i){return AttributeCompression.octDecodeInRange(e,t,255,i)},AttributeCompression.octDecodeFromCartesian4=function(e,t){var i=e.x,r=e.y,n=e.z,e=e.w,r=i*LEFT_SHIFT+r,e=n*LEFT_SHIFT+e;return AttributeCompression.octDecodeInRange(r,e,65535,t)},AttributeCompression.octPackFloat=function(e){return 256*e.x+e.y};var scratchEncodeCart2=new Cartesian2;function zigZagDecode(e){return e>>1^-(1&e)}AttributeCompression.octEncodeFloat=function(e){return AttributeCompression.octEncode(e,scratchEncodeCart2),AttributeCompression.octPackFloat(scratchEncodeCart2)},AttributeCompression.octDecodeFloat=function(e,t){var i=e/256,e=Math.floor(i),i=256*(i-e);return AttributeCompression.octDecode(e,i,t)},AttributeCompression.octPack=function(e,t,i,r){e=AttributeCompression.octEncodeFloat(e),t=AttributeCompression.octEncodeFloat(t),i=AttributeCompression.octEncode(i,scratchEncodeCart2);return r.x=65536*i.x+e,r.y=65536*i.y+t,r},AttributeCompression.octUnpack=function(e,t,i,r){var n=e.x/65536,a=Math.floor(n),o=65536*(n-a),n=e.y/65536,e=Math.floor(n),n=65536*(n-e);AttributeCompression.octDecodeFloat(o,t),AttributeCompression.octDecodeFloat(n,i),AttributeCompression.octDecode(a,e,r)},AttributeCompression.compressTextureCoordinates=function(e){return 4096*(4095*e.x|0)+(4095*e.y|0)},AttributeCompression.decompressTextureCoordinates=function(e,t){var i=e/4096,i=Math.floor(i);return t.x=i/4095,t.y=(e-4096*i)/4095,t},AttributeCompression.zigZagDeltaDecode=function(e,t,i){for(var r=e.length,n=0,a=0,o=0,s=0;s<r;++s)n+=zigZagDecode(e[s]),a+=zigZagDecode(t[s]),e[s]=n,t[s]=a,defined(i)&&(o+=zigZagDecode(i[s]),i[s]=o)};var WebGLConstants={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047},WebGLConstants$1=Object.freeze(WebGLConstants),ComponentDatatype={BYTE:WebGLConstants$1.BYTE,UNSIGNED_BYTE:WebGLConstants$1.UNSIGNED_BYTE,SHORT:WebGLConstants$1.SHORT,UNSIGNED_SHORT:WebGLConstants$1.UNSIGNED_SHORT,INT:WebGLConstants$1.INT,UNSIGNED_INT:WebGLConstants$1.UNSIGNED_INT,FLOAT:WebGLConstants$1.FLOAT,DOUBLE:WebGLConstants$1.DOUBLE,getSizeInBytes:function(e){switch(e){case ComponentDatatype.BYTE:return Int8Array.BYTES_PER_ELEMENT;case ComponentDatatype.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case ComponentDatatype.SHORT:return Int16Array.BYTES_PER_ELEMENT;case ComponentDatatype.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case ComponentDatatype.INT:return Int32Array.BYTES_PER_ELEMENT;case ComponentDatatype.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case ComponentDatatype.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case ComponentDatatype.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}},fromTypedArray:function(e){return e instanceof Int8Array?ComponentDatatype.BYTE:e instanceof Uint8Array?ComponentDatatype.UNSIGNED_BYTE:e instanceof Int16Array?ComponentDatatype.SHORT:e instanceof Uint16Array?ComponentDatatype.UNSIGNED_SHORT:e instanceof Int32Array?ComponentDatatype.INT:e instanceof Uint32Array?ComponentDatatype.UNSIGNED_INT:e instanceof Float32Array?ComponentDatatype.FLOAT:e instanceof Float64Array?ComponentDatatype.DOUBLE:void 0},validate:function(e){return defined(e)&&(e===ComponentDatatype.BYTE||e===ComponentDatatype.UNSIGNED_BYTE||e===ComponentDatatype.SHORT||e===ComponentDatatype.UNSIGNED_SHORT||e===ComponentDatatype.INT||e===ComponentDatatype.UNSIGNED_INT||e===ComponentDatatype.FLOAT||e===ComponentDatatype.DOUBLE)},createTypedArray:function(e,t){switch(e){case ComponentDatatype.BYTE:return new Int8Array(t);case ComponentDatatype.UNSIGNED_BYTE:return new Uint8Array(t);case ComponentDatatype.SHORT:return new Int16Array(t);case ComponentDatatype.UNSIGNED_SHORT:return new Uint16Array(t);case ComponentDatatype.INT:return new Int32Array(t);case ComponentDatatype.UNSIGNED_INT:return new Uint32Array(t);case ComponentDatatype.FLOAT:return new Float32Array(t);case ComponentDatatype.DOUBLE:return new Float64Array(t)}},createArrayBufferView:function(e,t,i,r){switch(i=defaultValue(i,0),r=defaultValue(r,(t.byteLength-i)/ComponentDatatype.getSizeInBytes(e)),e){case ComponentDatatype.BYTE:return new Int8Array(t,i,r);case ComponentDatatype.UNSIGNED_BYTE:return new Uint8Array(t,i,r);case ComponentDatatype.SHORT:return new Int16Array(t,i,r);case ComponentDatatype.UNSIGNED_SHORT:return new Uint16Array(t,i,r);case ComponentDatatype.INT:return new Int32Array(t,i,r);case ComponentDatatype.UNSIGNED_INT:return new Uint32Array(t,i,r);case ComponentDatatype.FLOAT:return new Float32Array(t,i,r);case ComponentDatatype.DOUBLE:return new Float64Array(t,i,r)}},fromName:function(e){switch(e){case"BYTE":return ComponentDatatype.BYTE;case"UNSIGNED_BYTE":return ComponentDatatype.UNSIGNED_BYTE;case"SHORT":return ComponentDatatype.SHORT;case"UNSIGNED_SHORT":return ComponentDatatype.UNSIGNED_SHORT;case"INT":return ComponentDatatype.INT;case"UNSIGNED_INT":return ComponentDatatype.UNSIGNED_INT;case"FLOAT":return ComponentDatatype.FLOAT;case"DOUBLE":return ComponentDatatype.DOUBLE}}},ComponentDatatype$1=Object.freeze(ComponentDatatype),TerrainQuantization={NONE:0,BITS12:1},TerrainQuantization$1=Object.freeze(TerrainQuantization),cartesian3Scratch=new Cartesian3,cartesian3DimScratch=new Cartesian3,cartesian2Scratch=new Cartesian2,matrix4Scratch=new Matrix4,matrix4Scratch2=new Matrix4,SHIFT_LEFT_12=Math.pow(2,12);function TerrainEncoding(e,t,i,r,n,a){var o,s,l,c,u,d=TerrainQuantization$1.NONE;defined(e)&&defined(t)&&defined(i)&&defined(r)&&(c=e.minimum,s=e.maximum,u=Cartesian3.subtract(s,c,cartesian3DimScratch),l=i-t,d=Math.max(Cartesian3.maximumComponent(u),l)<SHIFT_LEFT_12-1?TerrainQuantization$1.BITS12:TerrainQuantization$1.NONE,o=e.center,s=Matrix4.inverseTransformation(r,new Matrix4),l=Cartesian3.negate(c,cartesian3Scratch),Matrix4.multiply(Matrix4.fromTranslation(l,matrix4Scratch),s,s),(l=cartesian3Scratch).x=1/u.x,l.y=1/u.y,l.z=1/u.z,Matrix4.multiply(Matrix4.fromScale(l,matrix4Scratch),s,s),l=Matrix4.clone(r),Matrix4.setTranslation(l,Cartesian3.ZERO,l),r=Matrix4.clone(r,new Matrix4),c=Matrix4.fromTranslation(c,matrix4Scratch),u=Matrix4.fromScale(u,matrix4Scratch2),u=Matrix4.multiply(c,u,matrix4Scratch),Matrix4.multiply(r,u,r),Matrix4.multiply(l,u,l)),this.quantization=d,this.minimumHeight=t,this.maximumHeight=i,this.center=o,this.toScaledENU=s,this.fromScaledENU=r,this.matrix=l,this.hasVertexNormals=n,this.hasWebMercatorT=defaultValue(a,!1)}TerrainEncoding.prototype.encode=function(e,t,i,r,n,a,o){var s,l,c=r.x,u=r.y;return this.quantization===TerrainQuantization$1.BITS12?((i=Matrix4.multiplyByPoint(this.toScaledENU,i,cartesian3Scratch)).x=CesiumMath.clamp(i.x,0,1),i.y=CesiumMath.clamp(i.y,0,1),i.z=CesiumMath.clamp(i.z,0,1),s=this.maximumHeight-this.minimumHeight,l=CesiumMath.clamp((n-this.minimumHeight)/s,0,1),Cartesian2.fromElements(i.x,i.y,cartesian2Scratch),r=AttributeCompression.compressTextureCoordinates(cartesian2Scratch),Cartesian2.fromElements(i.z,l,cartesian2Scratch),s=AttributeCompression.compressTextureCoordinates(cartesian2Scratch),Cartesian2.fromElements(c,u,cartesian2Scratch),l=AttributeCompression.compressTextureCoordinates(cartesian2Scratch),e[t++]=r,e[t++]=s,e[t++]=l,this.hasWebMercatorT&&(Cartesian2.fromElements(o,0,cartesian2Scratch),l=AttributeCompression.compressTextureCoordinates(cartesian2Scratch),e[t++]=l)):(Cartesian3.subtract(i,this.center,cartesian3Scratch),e[t++]=cartesian3Scratch.x,e[t++]=cartesian3Scratch.y,e[t++]=cartesian3Scratch.z,e[t++]=n,e[t++]=c,e[t++]=u,this.hasWebMercatorT&&(e[t++]=o)),this.hasVertexNormals&&(e[t++]=AttributeCompression.octPackFloat(a)),t},TerrainEncoding.prototype.decodePosition=function(e,t,i){if(defined(i)||(i=new Cartesian3),t*=this.getStride(),this.quantization!==TerrainQuantization$1.BITS12)return i.x=e[t],i.y=e[t+1],i.z=e[t+2],Cartesian3.add(i,this.center,i);var r=AttributeCompression.decompressTextureCoordinates(e[t],cartesian2Scratch);i.x=r.x,i.y=r.y;t=AttributeCompression.decompressTextureCoordinates(e[t+1],cartesian2Scratch);return i.z=t.x,Matrix4.multiplyByPoint(this.fromScaledENU,i,i)},TerrainEncoding.prototype.decodeTextureCoordinates=function(e,t,i){return defined(i)||(i=new Cartesian2),t*=this.getStride(),this.quantization===TerrainQuantization$1.BITS12?AttributeCompression.decompressTextureCoordinates(e[t+2],i):Cartesian2.fromElements(e[t+4],e[t+5],i)},TerrainEncoding.prototype.decodeHeight=function(e,t){return t*=this.getStride(),this.quantization!==TerrainQuantization$1.BITS12?e[t+3]:AttributeCompression.decompressTextureCoordinates(e[t+1],cartesian2Scratch).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight},TerrainEncoding.prototype.decodeWebMercatorT=function(e,t){return t*=this.getStride(),this.quantization===TerrainQuantization$1.BITS12?AttributeCompression.decompressTextureCoordinates(e[t+3],cartesian2Scratch).x:e[t+6]},TerrainEncoding.prototype.getOctEncodedNormal=function(e,t,i){e=e[t=(t+1)*this.getStride()-1]/256,t=Math.floor(e),e=256*(e-t);return Cartesian2.fromElements(t,e,i)},TerrainEncoding.prototype.getStride=function(){var e=this.quantization===TerrainQuantization$1.BITS12?3:6;return this.hasWebMercatorT&&++e,this.hasVertexNormals&&++e,e};var attributesNone={position3DAndHeight:0,textureCoordAndEncodedNormals:1},attributes={compressed0:0,compressed1:1};function WebMercatorProjection(e){this._ellipsoid=defaultValue(e,Ellipsoid.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}TerrainEncoding.prototype.getAttributes=function(e){var t,i=ComponentDatatype$1.FLOAT,r=ComponentDatatype$1.getSizeInBytes(i);if(this.quantization===TerrainQuantization$1.NONE){var n=2;return this.hasWebMercatorT&&++n,this.hasVertexNormals&&++n,t=(4+n)*r,[{index:attributesNone.position3DAndHeight,vertexBuffer:e,componentDatatype:i,componentsPerAttribute:4,offsetInBytes:0,strideInBytes:t},{index:attributesNone.textureCoordAndEncodedNormals,vertexBuffer:e,componentDatatype:i,componentsPerAttribute:n,offsetInBytes:4*r,strideInBytes:t}]}var a=3,n=0;return(this.hasWebMercatorT||this.hasVertexNormals)&&++a,this.hasWebMercatorT&&this.hasVertexNormals?(++n,t=(a+1)*r,[{index:attributes.compressed0,vertexBuffer:e,componentDatatype:i,componentsPerAttribute:a,offsetInBytes:0,strideInBytes:t},{index:attributes.compressed1,vertexBuffer:e,componentDatatype:i,componentsPerAttribute:1,offsetInBytes:a*r,strideInBytes:t}]):[{index:attributes.compressed0,vertexBuffer:e,componentDatatype:i,componentsPerAttribute:a}]},TerrainEncoding.prototype.getAttributeLocations=function(){return this.quantization===TerrainQuantization$1.NONE?attributesNone:attributes},TerrainEncoding.clone=function(e,t){return defined(t)||(t=new TerrainEncoding),t.quantization=e.quantization,t.minimumHeight=e.minimumHeight,t.maximumHeight=e.maximumHeight,t.center=Cartesian3.clone(e.center),t.toScaledENU=Matrix4.clone(e.toScaledENU),t.fromScaledENU=Matrix4.clone(e.fromScaledENU),t.matrix=Matrix4.clone(e.matrix),t.hasVertexNormals=e.hasVertexNormals,t.hasWebMercatorT=e.hasWebMercatorT,t},Object.defineProperties(WebMercatorProjection.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),WebMercatorProjection.mercatorAngleToGeodeticLatitude=function(e){return CesiumMath.PI_OVER_TWO-2*Math.atan(Math.exp(-e))},WebMercatorProjection.geodeticLatitudeToMercatorAngle=function(e){e>WebMercatorProjection.MaximumLatitude?e=WebMercatorProjection.MaximumLatitude:e<-WebMercatorProjection.MaximumLatitude&&(e=-WebMercatorProjection.MaximumLatitude);e=Math.sin(e);return.5*Math.log((1+e)/(1-e))},WebMercatorProjection.MaximumLatitude=WebMercatorProjection.mercatorAngleToGeodeticLatitude(Math.PI),WebMercatorProjection.prototype.project=function(e,t){var i=this._semimajorAxis,r=e.longitude*i,i=WebMercatorProjection.geodeticLatitudeToMercatorAngle(e.latitude)*i,e=e.height;return defined(t)?(t.x=r,t.y=i,t.z=e,t):new Cartesian3(r,i,e)},WebMercatorProjection.prototype.unproject=function(e,t){var i=this._oneOverSemimajorAxis,r=e.x*i,i=WebMercatorProjection.mercatorAngleToGeodeticLatitude(e.y*i),e=e.z;return defined(t)?(t.longitude=r,t.latitude=i,t.height=e,t):new Cartographic(r,i,e)};var HeightmapTessellator={};HeightmapTessellator.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var cartesian3Scratch$1=new Cartesian3,matrix4Scratch$1=new Matrix4,minimumScratch=new Cartesian3,maximumScratch=new Cartesian3;function returnTrue(){return!0}function destroyObject(e,t){function i(){}for(var r in e)"function"==typeof e[r]&&(e[r]=i);e.isDestroyed=returnTrue}function canTransferArrayBuffer(){if(!defined(TaskProcessor._canTransferArrayBuffer)){var t=new Worker(getWorkerUrl("Workers/transferTypedArrayTest.js"));t.postMessage=defaultValue(t.webkitPostMessage,t.postMessage);var e=new Int8Array([99]);try{t.postMessage({array:e},[e.buffer])}catch(e){return TaskProcessor._canTransferArrayBuffer=!1,TaskProcessor._canTransferArrayBuffer}var i=when.defer();t.onmessage=function(e){e=e.data.array,e=defined(e)&&99===e[0];i.resolve(e),t.terminate(),TaskProcessor._canTransferArrayBuffer=e},TaskProcessor._canTransferArrayBuffer=i.promise}return TaskProcessor._canTransferArrayBuffer}HeightmapTessellator.computeVertices=function(e){var t,i,r,n=Math.cos,a=Math.sin,o=Math.sqrt,s=Math.atan,l=Math.exp,c=CesiumMath.PI_OVER_TWO,u=CesiumMath.toRadians,d=e.heightmap,h=e.width,p=e.height,m=e.skirtHeight,f=defaultValue(e.isGeographic,!0),g=defaultValue(e.ellipsoid,Ellipsoid.WGS84),_=1/g.maximumRadius,y=e.nativeRectangle,C=e.rectangle,v=defined(C)?(t=C.west,i=C.south,r=C.east,C.north):f?(t=u(y.west),i=u(y.south),r=u(y.east),u(y.north)):(t=y.west*_,i=c-2*s(l(-y.south*_)),r=y.east*_,c-2*s(l(-y.north*_))),S=defined(T=e.relativeToCenter),T=S?T:Cartesian3.ZERO,b=defaultValue(e.exaggeration,1),x=defaultValue(e.includeWebMercatorT,!1),E=defaultValue(e.structure,HeightmapTessellator.DEFAULT_STRUCTURE),P=defaultValue(E.heightScale,HeightmapTessellator.DEFAULT_STRUCTURE.heightScale),A=defaultValue(E.heightOffset,HeightmapTessellator.DEFAULT_STRUCTURE.heightOffset),w=defaultValue(E.elementsPerHeight,HeightmapTessellator.DEFAULT_STRUCTURE.elementsPerHeight),D=defaultValue(E.stride,HeightmapTessellator.DEFAULT_STRUCTURE.stride),M=defaultValue(E.elementMultiplier,HeightmapTessellator.DEFAULT_STRUCTURE.elementMultiplier),I=defaultValue(E.isBigEndian,HeightmapTessellator.DEFAULT_STRUCTURE.isBigEndian),R=Rectangle.computeWidth(y),O=Rectangle.computeHeight(y),L=R/(h-1),F=O/(p-1);f||(R*=_,O*=_);var N,B,e=g.radiiSquared,V=e.x,k=e.y,z=e.z,U=65536,$=-65536,E=Transforms.eastNorthUpToFixedFrame(T,g),G=Matrix4.inverseTransformation(E,matrix4Scratch$1);x&&(N=WebMercatorProjection.geodeticLatitudeToMercatorAngle(i),B=1/(WebMercatorProjection.geodeticLatitudeToMercatorAngle(v)-N));var H=minimumScratch;H.x=Number.POSITIVE_INFINITY,H.y=Number.POSITIVE_INFINITY,H.z=Number.POSITIVE_INFINITY;var W=maximumScratch;W.x=Number.NEGATIVE_INFINITY,W.y=Number.NEGATIVE_INFINITY,W.z=Number.NEGATIVE_INFINITY;var q=Number.POSITIVE_INFINITY,j=h*p,Y=j+(0<m?2*h+2*p:0),X=new Array(Y),Q=new Array(Y),J=new Array(Y),Z=x?new Array(Y):[],K=0,ee=p,te=0,ie=h;0<m&&(--K,++ee,--te,++ie);for(var re=K;re<ee;++re){var ne=re;ne<0&&(ne=0),p<=ne&&(ne=p-1);var ae=y.north-F*ne,oe=((ae=f?u(ae):c-2*s(l(-ae*_)))-i)/(v-i),oe=CesiumMath.clamp(oe,0,1),se=re===K,le=re===ee-1;0<m&&(se?ae+=1e-5*O:le&&(ae-=1e-5*O));var ce,ue=n(ae),de=a(ae),he=z*de;x&&(ce=(WebMercatorProjection.geodeticLatitudeToMercatorAngle(ae)-N)*B);for(var pe=te;pe<ie;++pe){var me=pe;me<0&&(me=0),h<=me&&(me=h-1);var fe=ne*(h*D)+me*D;if(1===w)_e=d[fe];else{var ge,_e=0;if(I)for(ge=0;ge<w;++ge)_e=_e*M+d[fe+ge];else for(ge=w-1;0<=ge;--ge)_e=_e*M+d[fe+ge]}_e=(_e*P+A)*b,$=Math.max($,_e),U=Math.min(U,_e);var ye=y.west+L*me;f?ye=u(ye):ye*=_;var Ce=(ye-t)/(r-t),Ce=CesiumMath.clamp(Ce,0,1),ve=ne*h+me;if(0<m){var Se=pe===te,Te=pe===ie-1,be=se||le||Se||Te;if((se||le)&&(Se||Te))continue;be&&(_e-=m,Se?(ve=p-ne-1+j,ye-=1e-5*R):le?ve=j+p+(h-me-1):Te?(ve=j+p+h+ne,ye+=1e-5*R):se&&(ve=j+p+h+p+me))}var xe=ue*n(ye),be=ue*a(ye),Se=V*xe,Te=k*be,me=1/o(Se*xe+Te*be+he*de),ye=Se*me,Se=Te*me,Te=he*me,me=new Cartesian3;me.x=ye+xe*_e,me.y=Se+be*_e,me.z=Te+de*_e,X[ve]=me,Q[ve]=_e,J[ve]=new Cartesian2(Ce,oe),x&&(Z[ve]=ce),Matrix4.multiplyByPoint(G,me,cartesian3Scratch$1),Cartesian3.minimumByComponent(cartesian3Scratch$1,H,H),Cartesian3.maximumByComponent(cartesian3Scratch$1,W,W),q=Math.min(q,_e)}}var Ee,Pe,e=BoundingSphere.fromPoints(X);defined(C)&&(Ee=OrientedBoundingBox.fromRectangle(C,U,$,g)),S&&(Pe=new EllipsoidalOccluder(g).computeHorizonCullingPointPossiblyUnderEllipsoid(T,X,U));for(var Ae=new TerrainEncoding(new AxisAlignedBoundingBox(H,W,T),q,$,E,!1,x),we=new Float32Array(Y*Ae.getStride()),De=0,Me=0;Me<Y;++Me)De=Ae.encode(we,De,X[Me],J[Me],Q[Me],void 0,Z[Me]);return{vertices:we,maximumHeight:$,minimumHeight:U,encoding:Ae,boundingSphere3D:e,orientedBoundingBox:Ee,occludeePointInScaledSpace:Pe}};var taskCompletedEvent=new Event,bootstrapperUrlResult;function completeTask(e,t){--e._activeTasks;var i,r,n=t.id;defined(n)&&(r=(i=e._deferreds)[n],defined(t.error)?("RuntimeError"===(e=t.error).name?(e=new RuntimeError(t.error.message)).stack=t.error.stack:"DeveloperError"===e.name&&((e=new DeveloperError(t.error.message)).stack=t.error.stack),taskCompletedEvent.raiseEvent(e),r.reject(e)):(taskCompletedEvent.raiseEvent(),r.resolve(t.result)),delete i[n])}function getWorkerUrl(t){if(isCrossOriginUrl(e=buildModuleUrl(t))){var i,r='importScripts("'+e+'");';try{i=new Blob([r],{type:"application/javascript"})}catch(e){t=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder);t.append(r),i=t.getBlob("application/javascript")}var e=(window.URL||window.webkitURL).createObjectURL(i)}return e}function getBootstrapperUrl(){return defined(bootstrapperUrlResult)||(bootstrapperUrlResult=getWorkerUrl("Workers/cesiumWorkerBootstrapper.js")),bootstrapperUrlResult}function createWorker(t){var e=new Worker(getBootstrapperUrl());e.postMessage=defaultValue(e.webkitPostMessage,e.postMessage);var i={loaderConfig:{paths:{Workers:buildModuleUrl("Workers")},baseUrl:buildModuleUrl.getCesiumBaseUrl().url},workerModule:TaskProcessor._workerModulePrefix+t._workerName};return e.postMessage(i),e.onmessage=function(e){completeTask(t,e.data)},e}function getWebAssemblyLoaderConfig(e,t){var i={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(FeatureDetection.supportsWebAssembly())return i.modulePath=buildModuleUrl(t.modulePath),i.wasmBinaryFile=buildModuleUrl(t.wasmBinaryFile),Resource.fetchArrayBuffer({url:i.wasmBinaryFile}).then(function(e){return i.wasmBinary=e,i});if(!defined(t.fallbackModulePath))throw new RuntimeError("This browser does not support Web Assembly, and no backup module was provided for "+e._workerName);return i.modulePath=buildModuleUrl(t.fallbackModulePath),when.resolve(i)}function TaskProcessor(e,t){this._workerName=e,this._maximumActiveTasks=defaultValue(t,5),this._activeTasks=0,this._deferreds={},this._nextID=0}var emptyTransferableObjectArray=[];function TerrainMesh(e,t,i,r,n,a,o,s,l,c,u,d,h,p,m,f,g){this.center=e,this.vertices=t,this.stride=defaultValue(c,6),this.indices=i,this.indexCountWithoutSkirts=r,this.vertexCountWithoutSkirts=n,this.minimumHeight=a,this.maximumHeight=o,this.boundingSphere3D=s,this.occludeePointInScaledSpace=l,this.orientedBoundingBox=u,this.encoding=d,this.exaggeration=h,this.westIndicesSouthToNorth=p,this.southIndicesEastToWest=m,this.eastIndicesNorthToSouth=f,this.northIndicesWestToEast=g}TaskProcessor.prototype.scheduleTask=function(r,n){if(defined(this._worker)||(this._worker=createWorker(this)),!(this._activeTasks>=this._maximumActiveTasks)){++this._activeTasks;var a=this;return when(canTransferArrayBuffer(),function(e){defined(n)?e||(n.length=0):n=emptyTransferableObjectArray;var t=a._nextID++,i=when.defer();return a._deferreds[t]=i,a._worker.postMessage({id:t,parameters:r,canTransferArrayBuffer:e},n),i.promise})}},TaskProcessor.prototype.initWebAssemblyModule=function(e){defined(this._worker)||(this._worker=createWorker(this));var n=when.defer(),a=this,o=this._worker;return getWebAssemblyLoaderConfig(this,e).then(function(r){return when(canTransferArrayBuffer(),function(e){var t,i=r.wasmBinary;defined(i)&&e&&(t=[i]),o.onmessage=function(e){o.onmessage=function(e){completeTask(a,e.data)},n.resolve(e.data)},o.postMessage({webAssemblyConfig:r},t)})}),n},TaskProcessor.prototype.isDestroyed=function(){return!1},TaskProcessor.prototype.destroy=function(){return defined(this._worker)&&this._worker.terminate(),destroyObject(this)},TaskProcessor.taskCompletedEvent=taskCompletedEvent,TaskProcessor._defaultWorkerModulePrefix="Workers/",TaskProcessor._workerModulePrefix=TaskProcessor._defaultWorkerModulePrefix,TaskProcessor._canTransferArrayBuffer=void 0;var IndexDatatype={UNSIGNED_BYTE:WebGLConstants$1.UNSIGNED_BYTE,UNSIGNED_SHORT:WebGLConstants$1.UNSIGNED_SHORT,UNSIGNED_INT:WebGLConstants$1.UNSIGNED_INT,getSizeInBytes:function(e){switch(e){case IndexDatatype.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case IndexDatatype.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case IndexDatatype.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},fromSizeInBytes:function(e){switch(e){case 2:return IndexDatatype.UNSIGNED_SHORT;case 4:return IndexDatatype.UNSIGNED_INT;case 1:return IndexDatatype.UNSIGNED_BYTE}},validate:function(e){return defined(e)&&(e===IndexDatatype.UNSIGNED_BYTE||e===IndexDatatype.UNSIGNED_SHORT||e===IndexDatatype.UNSIGNED_INT)},createTypedArray:function(e,t){return new(e>=CesiumMath.SIXTY_FOUR_KILOBYTES?Uint32Array:Uint16Array)(t)},createTypedArrayFromArrayBuffer:function(e,t,i,r){return new(e>=CesiumMath.SIXTY_FOUR_KILOBYTES?Uint32Array:Uint16Array)(t,i,r)}},IndexDatatype$1=Object.freeze(IndexDatatype);function TerrainProvider(){DeveloperError.throwInstantiationError()}Object.defineProperties(TerrainProvider.prototype,{errorEvent:{get:DeveloperError.throwInstantiationError},credit:{get:DeveloperError.throwInstantiationError},tilingScheme:{get:DeveloperError.throwInstantiationError},ready:{get:DeveloperError.throwInstantiationError},readyPromise:{get:DeveloperError.throwInstantiationError},hasWaterMask:{get:DeveloperError.throwInstantiationError},hasVertexNormals:{get:DeveloperError.throwInstantiationError},availability:{get:DeveloperError.throwInstantiationError}});var regularGridIndicesCache=[];TerrainProvider.getRegularGridIndices=function(e,t){var i=regularGridIndicesCache[e];defined(i)||(regularGridIndicesCache[e]=i=[]);var r=i[t];return defined(r)||addRegularGridIndices(e,t,r=e*t<CesiumMath.SIXTY_FOUR_KILOBYTES?i[t]=new Uint16Array((e-1)*(t-1)*6):i[t]=new Uint32Array((e-1)*(t-1)*6),0),r};var regularGridAndEdgeIndicesCache=[];TerrainProvider.getRegularGridIndicesAndEdgeIndices=function(e,t){var i=regularGridAndEdgeIndicesCache[e];defined(i)||(regularGridAndEdgeIndicesCache[e]=i=[]);var r,n,a,o,s=i[t];return defined(s)||(r=TerrainProvider.getRegularGridIndices(e,t),n=(o=getEdgeIndices(e,t)).westIndicesSouthToNorth,a=o.southIndicesEastToWest,e=o.eastIndicesNorthToSouth,o=o.northIndicesWestToEast,s=i[t]={indices:r,westIndicesSouthToNorth:n,southIndicesEastToWest:a,eastIndicesNorthToSouth:e,northIndicesWestToEast:o}),s};var regularGridAndSkirtAndEdgeIndicesCache=[];function getEdgeIndices(e,t){for(var i=new Array(t),r=new Array(e),n=new Array(t),a=new Array(e),o=0;o<e;++o)r[a[o]=o]=e*t-1-o;for(o=0;o<t;++o)n[o]=(o+1)*e-1,i[o]=(t-o-1)*e;return{westIndicesSouthToNorth:i,southIndicesEastToWest:r,eastIndicesNorthToSouth:n,northIndicesWestToEast:a}}function addRegularGridIndices(e,t,i,r){for(var n=0,a=0;a<t-1;++a){for(var o=0;o<e-1;++o){var s=n+e,l=s+1,c=n+1;i[r++]=n,i[r++]=s,i[r++]=c,i[r++]=c,i[r++]=s,i[r++]=l,++n}++n}}function addSkirtIndices(e,t,i,r){for(var n=e[0],a=e.length,o=1;o<a;++o){var s=e[o];i[r++]=n,i[r++]=s,i[r++]=t,i[r++]=t,i[r++]=s,i[r++]=t+1,n=s,++t}return r}function HeightmapTerrainData(e){this._buffer=e.buffer,this._width=e.width,this._height=e.height,this._childTileMask=defaultValue(e.childTileMask,15),this._encoding=defaultValue(e.encoding,HeightmapEncoding$1.NONE);var t=HeightmapTessellator.DEFAULT_STRUCTURE,i=e.structure;defined(i)?i!==t&&(i.heightScale=defaultValue(i.heightScale,t.heightScale),i.heightOffset=defaultValue(i.heightOffset,t.heightOffset),i.elementsPerHeight=defaultValue(i.elementsPerHeight,t.elementsPerHeight),i.stride=defaultValue(i.stride,t.stride),i.elementMultiplier=defaultValue(i.elementMultiplier,t.elementMultiplier),i.isBigEndian=defaultValue(i.isBigEndian,t.isBigEndian)):i=t,this._structure=i,this._createdByUpsampling=defaultValue(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._skirtHeight=void 0,this._bufferType=this._encoding===HeightmapEncoding$1.LERC?Float32Array:this._buffer.constructor,this._mesh=void 0}TerrainProvider.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){var i=regularGridAndSkirtAndEdgeIndicesCache[e];defined(i)||(regularGridAndSkirtAndEdgeIndicesCache[e]=i=[]);var r,n,a,o,s,l,c,u,d=i[t];return defined(d)||(a=(r=e*t)+(l=2*e+2*t),u=(n=(e-1)*(t-1)*6)+6*Math.max(0,l-4),o=(c=getEdgeIndices(e,t)).westIndicesSouthToNorth,s=c.southIndicesEastToWest,l=c.eastIndicesNorthToSouth,c=c.northIndicesWestToEast,addRegularGridIndices(e,t,u=IndexDatatype$1.createTypedArray(a,u),0),TerrainProvider.addSkirtIndices(o,s,l,c,r,u,n),d=i[t]={indices:u,westIndicesSouthToNorth:o,southIndicesEastToWest:s,eastIndicesNorthToSouth:l,northIndicesWestToEast:c,indexCountWithoutSkirts:n}),d},TerrainProvider.addSkirtIndices=function(e,t,i,r,n,a,o){o=addSkirtIndices(e,n,a,o),o=addSkirtIndices(t,n+=e.length,a,o),o=addSkirtIndices(i,n+=t.length,a,o),addSkirtIndices(r,n+=i.length,a,o)},TerrainProvider.heightmapTerrainQuality=.25,TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,i){return 2*e.maximumRadius*Math.PI*TerrainProvider.heightmapTerrainQuality/(t*i)},TerrainProvider.prototype.requestTileGeometry=DeveloperError.throwInstantiationError,TerrainProvider.prototype.getLevelMaximumGeometricError=DeveloperError.throwInstantiationError,TerrainProvider.prototype.getTileDataAvailable=DeveloperError.throwInstantiationError,TerrainProvider.prototype.loadTileDataAvailability=DeveloperError.throwInstantiationError,Object.defineProperties(HeightmapTerrainData.prototype,{credits:{get:function(){}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}}});var taskProcessor=new TaskProcessor("createVerticesFromHeightmap");function interpolateHeight(e,t,i,r,n,a,o,s,l,c){var u=(l-a.west)*(o-1)/(a.east-a.west),d=(c-a.south)*(s-1)/(a.north-a.south),h=0|u,l=h+1;o<=l&&(l=o-1,h=o-2);c=0|d;s<=(a=c+1)&&(a=s-1,c=s-2);a=s-1-a;return triangleInterpolateHeight(u-h,d-c,getHeight(e,t,i,r,n,(c=s-1-c)*o+h),getHeight(e,t,i,r,n,c*o+l),getHeight(e,t,i,r,n,a*o+h),getHeight(e,t,i,r,n,a*o+l))}function interpolateMeshHeight(e,t,i,r,n,a,o,s,l,c){var u=(s-n.west)*(a-1)/(n.east-n.west),d=(l-n.south)*(o-1)/(n.north-n.south),h=0|u,s=h+1;a<=s&&(s=a-1,h=a-2),o<=(n=(l=0|d)+1)&&(n=o-1,l=o-2);d-=l,l=o-1-l,n=o-1-n;return triangleInterpolateHeight(u-h,d,(t.decodeHeight(e,l*a+h)/c-i)/r,(t.decodeHeight(e,l*a+s)/c-i)/r,(t.decodeHeight(e,n*a+h)/c-i)/r,(t.decodeHeight(e,n*a+s)/c-i)/r)}function triangleInterpolateHeight(e,t,i,r,n,a){return t<e?i+e*(r-i)+t*(a-r):i+e*(a-n)+t*(n-i)}function getHeight(e,t,i,r,n,a){a*=r;var o,s=0;if(n)for(o=0;o<t;++o)s=s*i+e[a+o];else for(o=t-1;0<=o;--o)s=s*i+e[a+o];return s}function setHeight(e,t,i,r,n,a,o,s){var l;if(o*=n,a)for(l=0;l<t-1;++l)e[o+l]=s/r|0,s-=e[o+l]*r,r/=i;else for(l=t-1;0<l;--l)e[o+l]=s/r|0,s-=e[o+l]*r,r/=i;e[o+l]=s}function TileAvailability(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}HeightmapTerrainData.prototype.createMesh=function(e,t,i,r,n){var a=e.ellipsoid,o=e.tileXYToNativeRectangle(t,i,r),t=e.tileXYToRectangle(t,i,r);n=defaultValue(n,1);var s=a.cartographicToCartesian(Rectangle.center(t)),i=this._structure,r=TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,e.getNumberOfXTilesAtLevel(0))/(1<<r);this._skirtHeight=Math.min(4*r,1e3);e=taskProcessor.scheduleTask({heightmap:this._buffer,structure:i,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:o,rectangle:t,relativeToCenter:s,ellipsoid:a,skirtHeight:this._skirtHeight,isGeographic:e.projection instanceof GeographicProjection,exaggeration:n,encoding:this._encoding});if(defined(e)){var l=this;return when(e,function(e){var t=0<l._skirtHeight?TerrainProvider.getRegularGridAndSkirtIndicesAndEdgeIndices(e.gridWidth,e.gridHeight):TerrainProvider.getRegularGridIndicesAndEdgeIndices(e.gridWidth,e.gridHeight),i=e.gridWidth*e.gridHeight;return l._mesh=new TerrainMesh(s,new Float32Array(e.vertices),t.indices,t.indexCountWithoutSkirts,i,e.minimumHeight,e.maximumHeight,BoundingSphere.clone(e.boundingSphere3D),Cartesian3.clone(e.occludeePointInScaledSpace),e.numberOfAttributes,OrientedBoundingBox.clone(e.orientedBoundingBox),TerrainEncoding.clone(e.encoding),n,t.westIndicesSouthToNorth,t.southIndicesEastToWest,t.eastIndicesNorthToSouth,t.northIndicesWestToEast),l._buffer=void 0,l._mesh})}},HeightmapTerrainData.prototype._createMeshSync=function(e,t,i,r,n){var a=e.ellipsoid,o=e.tileXYToNativeRectangle(t,i,r),s=e.tileXYToRectangle(t,i,r);n=defaultValue(n,1);t=a.cartographicToCartesian(Rectangle.center(s)),i=this._structure,r=TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,e.getNumberOfXTilesAtLevel(0))/(1<<r);this._skirtHeight=Math.min(4*r,1e3);s=HeightmapTessellator.computeVertices({heightmap:this._buffer,structure:i,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:o,rectangle:s,relativeToCenter:t,ellipsoid:a,skirtHeight:this._skirtHeight,isGeographic:e.projection instanceof GeographicProjection,exaggeration:n});this._buffer=void 0,a=0<this._skirtHeight?TerrainProvider.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):TerrainProvider.getRegularGridIndicesAndEdgeIndices(this._width,this._height);e=s.gridWidth*s.gridHeight;return new TerrainMesh(t,s.vertices,a.indices,a.indexCountWithoutSkirts,e,s.minimumHeight,s.maximumHeight,s.boundingSphere3D,s.occludeePointInScaledSpace,s.encoding.getStride(),s.orientedBoundingBox,s.encoding,n,a.westIndicesSouthToNorth,a.southIndicesEastToWest,a.eastIndicesNorthToSouth,a.northIndicesWestToEast)},HeightmapTerrainData.prototype.interpolateHeight=function(e,t,i){var r=this._width,n=this._height,a=this._structure,o=a.stride,s=a.elementsPerHeight,l=a.elementMultiplier,c=a.isBigEndian,u=a.heightOffset,a=a.heightScale;return defined(this._mesh)?interpolateMeshHeight(this._mesh.vertices,this._mesh.encoding,u,a,e,r,n,t,i,this._mesh.exaggeration):interpolateHeight(this._buffer,s,l,o,c,e,r,n,t,i)*a+u},HeightmapTerrainData.prototype.upsample=function(e,t,i,r,n,a,o){var s=this._mesh;if(defined(s)){for(var l=this._width,c=this._height,u=this._structure,d=u.stride,h=new this._bufferType(l*c*d),p=s.vertices,m=s.encoding,f=e.tileXYToRectangle(t,i,r),g=e.tileXYToRectangle(n,a,o),_=u.heightOffset,y=u.heightScale,C=s.exaggeration,v=u.elementsPerHeight,S=u.elementMultiplier,T=u.isBigEndian,b=Math.pow(S,v-1),x=0;x<c;++x)for(var E=CesiumMath.lerp(g.north,g.south,x/(c-1)),P=0;P<l;++P){var A=interpolateMeshHeight(p,m,_,y,f,l,c,CesiumMath.lerp(g.west,g.east,P/(l-1)),E,C);setHeight(h,v,S,b,d,T,x*l+P,A=(A=A<u.lowestEncodedHeight?u.lowestEncodedHeight:A)>u.highestEncodedHeight?u.highestEncodedHeight:A)}return new HeightmapTerrainData({buffer:h,width:l,height:c,childTileMask:0,structure:this._structure,createdByUpsampling:!0})}},HeightmapTerrainData.prototype.isChildAvailable=function(e,t,i,r){var n=2;return i!==2*e&&++n,r!==2*t&&(n-=2),0!=(this._childTileMask&1<<n)},HeightmapTerrainData.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var rectangleScratch=new Rectangle;function findNode(e,t,i,r){for(var n=r.length,a=0;a<n;++a){var o=r[a];if(o.x===t&&o.y===i&&o.level===e)return 1}}TileAvailability.prototype.addAvailableTileRange=function(e,t,i,r,n){var a=this._tilingScheme,o=this._rootNodes;if(0===e)for(var s=i;s<=n;++s)for(var l=t;l<=r;++l)findNode(e,l,s,o)||o.push(new QuadtreeNode(a,void 0,0,l,s));a.tileXYToRectangle(t,i,e,rectangleScratch);var c=rectangleScratch.west,u=rectangleScratch.north;a.tileXYToRectangle(r,n,e,rectangleScratch);for(var i=rectangleScratch.east,d=new RectangleWithLevel(e,c,rectangleScratch.south,i,u),h=0;h<o.length;++h){var p=o[h];rectanglesOverlap(p.extent,d)&&putRectangleInQuadtree(this._maximumLevel,p,d)}},TileAvailability.prototype.computeMaximumLevelAtPosition=function(e){for(var t,i=0;i<this._rootNodes.length;++i){var r=this._rootNodes[i];if(rectangleContainsPosition(r.extent,e)){t=r;break}}return defined(t)?findMaxLevelFromNode(void 0,t,e):-1};var rectanglesScratch=[],remainingToCoverByLevelScratch=[],westScratch=new Rectangle,eastScratch=new Rectangle;TileAvailability.prototype.computeBestAvailableLevelOverRectangle=function(e){var t=rectanglesScratch;t.length=0,e.east<e.west?(t.push(Rectangle.fromRadians(-Math.PI,e.south,e.east,e.north,westScratch)),t.push(Rectangle.fromRadians(e.west,e.south,Math.PI,e.north,eastScratch))):t.push(e);for(var i=remainingToCoverByLevelScratch,r=i.length=0;r<this._rootNodes.length;++r)updateCoverageWithNode(i,this._rootNodes[r],t);for(r=i.length-1;0<=r;--r)if(defined(i[r])&&0===i[r].length)return r;return 0};var cartographicScratch=new Cartographic;function QuadtreeNode(e,t,i,r,n){this.tilingScheme=e,this.parent=t,this.level=i,this.x=r,this.y=n,this.extent=e.tileXYToRectangle(r,n,i),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}function RectangleWithLevel(e,t,i,r,n){this.level=e,this.west=t,this.south=i,this.east=r,this.north=n}function rectanglesOverlap(e,t){var i=Math.max(e.west,t.west),r=Math.max(e.south,t.south),n=Math.min(e.east,t.east);return r<Math.min(e.north,t.north)&&i<n}function putRectangleInQuadtree(e,t,i){for(;t.level<e;)if(rectangleFullyContainsRectangle(t.nw.extent,i))t=t.nw;else if(rectangleFullyContainsRectangle(t.ne.extent,i))t=t.ne;else if(rectangleFullyContainsRectangle(t.sw.extent,i))t=t.sw;else{if(!rectangleFullyContainsRectangle(t.se.extent,i))break;t=t.se}var r;0===t.rectangles.length||t.rectangles[t.rectangles.length-1].level<=i.level?t.rectangles.push(i):((r=binarySearch(t.rectangles,i.level,rectangleLevelComparator))<0&&(r=~r),t.rectangles.splice(r,0,i))}function rectangleLevelComparator(e,t){return e.level-t}function rectangleFullyContainsRectangle(e,t){return t.west>=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function rectangleContainsPosition(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function findMaxLevelFromNode(e,t,i){for(var r=0,n=!1;!n;){var a=t._nw&&rectangleContainsPosition(t._nw.extent,i),o=t._ne&&rectangleContainsPosition(t._ne.extent,i),s=t._sw&&rectangleContainsPosition(t._sw.extent,i),l=t._se&&rectangleContainsPosition(t._se.extent,i);if(1<a+o+s+l){a&&(r=Math.max(r,findMaxLevelFromNode(t,t._nw,i))),o&&(r=Math.max(r,findMaxLevelFromNode(t,t._ne,i))),s&&(r=Math.max(r,findMaxLevelFromNode(t,t._sw,i))),l&&(r=Math.max(r,findMaxLevelFromNode(t,t._se,i)));break}a?t=t._nw:o?t=t._ne:s?t=t._sw:l?t=t._se:n=!0}for(;t!==e;){for(var c=t.rectangles,u=c.length-1;0<=u&&c[u].level>r;--u){var d=c[u];rectangleContainsPosition(d,i)&&(r=d.level)}t=t.parent}return r}function updateCoverageWithNode(e,t,i){if(t){var r=!1;for(a=0;a<i.length;++a)r=r||rectanglesOverlap(t.extent,i[a]);if(r){for(var n=t.rectangles,a=0;a<n.length;++a){var o=n[a];e[o.level]||(e[o.level]=i),e[o.level]=subtractRectangle(e[o.level],o)}updateCoverageWithNode(e,t._nw,i),updateCoverageWithNode(e,t._ne,i),updateCoverageWithNode(e,t._sw,i),updateCoverageWithNode(e,t._se,i)}}}function subtractRectangle(e,t){for(var i=[],r=0;r<e.length;++r){var n=e[r];rectanglesOverlap(n,t)?(n.west<t.west&&i.push(new Rectangle(n.west,n.south,t.west,n.north)),n.east>t.east&&i.push(new Rectangle(t.east,n.south,n.east,n.north)),n.south<t.south&&i.push(new Rectangle(Math.max(t.west,n.west),n.south,Math.min(t.east,n.east),t.south)),n.north>t.north&&i.push(new Rectangle(Math.max(t.west,n.west),t.north,Math.min(t.east,n.east),n.north))):i.push(n)}return i}function formatError(e){var t=e.name,i=e.message,i=defined(t)&&defined(i)?t+": "+i:e.toString(),e=e.stack;return defined(e)&&(i+="\n"+e),i}function TileProviderError(e,t,i,r,n,a,o){this.provider=e,this.message=t,this.x=i,this.y=r,this.level=n,this.timesRetried=defaultValue(a,0),this.retry=!1,this.error=o}function WebMercatorTilingScheme(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._ellipsoid=defaultValue(e.ellipsoid,Ellipsoid.WGS84),this._numberOfLevelZeroTilesX=defaultValue(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=defaultValue(e.numberOfLevelZeroTilesY,1),this._projection=new WebMercatorProjection(this._ellipsoid),defined(e.rectangleSouthwestInMeters)&&defined(e.rectangleNortheastInMeters)?(this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters):(t=this._ellipsoid.maximumRadius*Math.PI,this._rectangleSouthwestInMeters=new Cartesian2(-t,-t),this._rectangleNortheastInMeters=new Cartesian2(t,t));var e=this._projection.unproject(this._rectangleSouthwestInMeters),t=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new Rectangle(e.longitude,e.latitude,t.longitude,t.latitude)}TileAvailability.prototype.isTileAvailable=function(e,t,i){i=this._tilingScheme.tileXYToRectangle(t,i,e,rectangleScratch);return Rectangle.center(i,cartographicScratch),this.computeMaximumLevelAtPosition(cartographicScratch)>=e},TileAvailability.prototype.computeChildMaskForTile=function(e,t,i){var r=e+1;if(r>=this._maximumLevel)return 0;e=0;return e|=this.isTileAvailable(r,2*t,2*i+1)?1:0,e|=this.isTileAvailable(r,2*t+1,2*i+1)?2:0,e|=this.isTileAvailable(r,2*t,2*i)?4:0,e|=this.isTileAvailable(r,2*t+1,2*i)?8:0},Object.defineProperties(QuadtreeNode.prototype,{nw:{get:function(){return this._nw||(this._nw=new QuadtreeNode(this.tilingScheme,this,this.level+1,2*this.x,2*this.y)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new QuadtreeNode(this.tilingScheme,this,this.level+1,2*this.x+1,2*this.y)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new QuadtreeNode(this.tilingScheme,this,this.level+1,2*this.x,2*this.y+1)),this._sw}},se:{get:function(){return this._se||(this._se=new QuadtreeNode(this.tilingScheme,this,this.level+1,2*this.x+1,2*this.y+1)),this._se}}}),TileProviderError.handleError=function(e,t,i,r,n,a,o,s,l){var c=e;return defined(e)?(c.provider=t,c.message=r,c.x=n,c.y=a,c.level=o,c.retry=!1,c.error=l,++c.timesRetried):c=new TileProviderError(t,r,n,a,o,0,l),0<i.numberOfListeners?i.raiseEvent(c):console.log('An error occurred in "'+t.constructor.name+'": '+formatError(r)),c.retry&&defined(s)&&s(),c},TileProviderError.handleSuccess=function(e){defined(e)&&(e.timesRetried=-1)},Object.defineProperties(WebMercatorTilingScheme.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}}),WebMercatorTilingScheme.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e},WebMercatorTilingScheme.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e},WebMercatorTilingScheme.prototype.rectangleToNativeRectangle=function(e,t){var i=this._projection,r=i.project(Rectangle.southwest(e)),e=i.project(Rectangle.northeast(e));return defined(t)?(t.west=r.x,t.south=r.y,t.east=e.x,t.north=e.y,t):new Rectangle(r.x,r.y,e.x,e.y)},WebMercatorTilingScheme.prototype.tileXYToNativeRectangle=function(e,t,i,r){var n=this.getNumberOfXTilesAtLevel(i),a=this.getNumberOfYTilesAtLevel(i),i=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/n,n=this._rectangleSouthwestInMeters.x+e*i,e=this._rectangleSouthwestInMeters.x+(e+1)*i,i=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/a,a=this._rectangleNortheastInMeters.y-t*i,i=this._rectangleNortheastInMeters.y-(t+1)*i;return defined(r)?(r.west=n,r.south=i,r.east=e,r.north=a,r):new Rectangle(n,i,e,a)},WebMercatorTilingScheme.prototype.tileXYToRectangle=function(e,t,i,r){t=this.tileXYToNativeRectangle(e,t,i,r),i=this._projection,r=i.unproject(new Cartesian2(t.west,t.south)),i=i.unproject(new Cartesian2(t.east,t.north));return t.west=r.longitude,t.south=r.latitude,t.east=i.longitude,t.north=i.latitude,t},WebMercatorTilingScheme.prototype.positionToTileXY=function(e,t,i){var r=this._rectangle;if(Rectangle.contains(r,e)){var n=this.getNumberOfXTilesAtLevel(t),a=this.getNumberOfYTilesAtLevel(t),r=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/n,t=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/a,e=this._projection.project(e),r=(e.x-this._rectangleSouthwestInMeters.x)/r|0;n<=r&&(r=n-1);t=(this._rectangleNortheastInMeters.y-e.y)/t|0;return(a<=t&&(t=a-1),defined(i))?(i.x=r,i.y=t,i):new Cartesian2(r,t)}};var ALL_CHILDREN=15;function ArcGISTiledElevationTerrainProvider(e){this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._ready=!1,this._width=void 0,this._height=void 0,this._encoding=void 0;var t=e.token;this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailablityLoaded=void 0,this._availableCache={};var n=this,a=defaultValue(e.ellipsoid,Ellipsoid.WGS84);this._readyPromise=when(e.url).then(function(e){e=Resource.createIfNeeded(e);return e.appendForwardSlash(),defined(t)&&(e=e.getDerivedResource({queryParameters:{token:t}})),(n._resource=e).getDerivedResource({queryParameters:{f:"pjson"}}).fetchJson()}).then(function(e){var t=e.copyrightText;defined(t)&&(n._credit=new Credit(t));var i=e.spatialReference,r=defaultValue(i.latestWkid,i.wkid),t=e.extent,i={ellipsoid:a};if(4326===r)i.rectangle=Rectangle.fromDegrees(t.xmin,t.ymin,t.xmax,t.ymax),n._tilingScheme=new GeographicTilingScheme(i);else{if(3857!==r)return when.reject(new RuntimeError("Invalid spatial reference"));i.rectangleSouthwestInMeters=new Cartesian2(t.xmin,t.ymin),i.rectangleNortheastInMeters=new Cartesian2(t.xmax,t.ymax),n._tilingScheme=new WebMercatorTilingScheme(i)}i=e.tileInfo;return defined(i)?(n._width=i.rows+1,n._height=i.cols+1,n._encoding="LERC"===i.format?HeightmapEncoding$1.LERC:HeightmapEncoding$1.NONE,n._lodCount=i.lods.length-1,(n._hasAvailability=-1!==e.capabilities.indexOf("Tilemap"))&&(n._tilesAvailable=new TileAvailability(n._tilingScheme,n._lodCount),n._tilesAvailable.addAvailableTileRange(0,0,0,n._tilingScheme.getNumberOfXTilesAtLevel(0),n._tilingScheme.getNumberOfYTilesAtLevel(0)),n._tilesAvailablityLoaded=new TileAvailability(n._tilingScheme,n._lodCount)),n._levelZeroMaximumGeometricError=TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(n._tilingScheme.ellipsoid,n._width,n._tilingScheme.getNumberOfXTilesAtLevel(0)),1<e.bandCount&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),n._terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:e.minValues[0],highestEncodedHeight:e.maxValues[0]},n._ready=!0):when.reject(new RuntimeError("tileInfo is required"))}).otherwise(function(e){var t="An error occurred while accessing "+n._resource.url+".";return TileProviderError.handleError(void 0,n,n._errorEvent,t),when.reject(e)}),this._errorEvent=new Event}function isTileAvailable(e,t,i,r){if(e._hasAvailability){var n=e._tilesAvailablityLoaded,a=e._tilesAvailable;return!(t>e._lodCount)&&(!!a.isTileAvailable(t,i,r)||!n.isTileAvailable(t,i,r)&&void 0)}}function findRange(e,t,i,r){for(var n=t-1,a=i-1,o=r[e.y*t+e.x],s=[],l={startX:e.x,startY:e.y,endX:0,endY:0},c=new Cartesian2(e.x+1,e.y+1),u=!1,d=!1;!u||!d;){var h=c.x,p=d?c.y+1:c.y;if(!u){for(var m=e.y;m<p;++m)if(r[m*t+c.x]!==o){u=!0;break}u?(s.push(new Cartesian2(c.x,e.y)),--c.x,--h,l.endX=c.x):c.x===n?(l.endX=c.x,u=!0):++c.x}if(!d){for(var f=c.y*t,g=e.x;g<=h;++g)if(r[f+g]!==o){d=!0;break}d?(s.push(new Cartesian2(e.x,c.y)),--c.y,l.endY=c.y):c.y===a?(l.endY=c.y,d=!0):++c.y}}return{endingIndices:s,range:l,value:o}}function computeAvailability(e,t,i,r,n){var a=[];if(n.every(function(e){return e===n[0]}))return 1===n[0]&&a.push({startX:e,startY:t,endX:e+i-1,endY:t+r-1}),a;for(var o=[new Cartesian2(0,0)];0<o.length;){var s,l=findRange(o.pop(),i,r,n);1===l.value&&((s=l.range).startX+=e,s.endX+=e,s.startY+=t,s.endY+=t,a.push(s));l=l.endingIndices;0<l.length&&(o=o.concat(l))}return a}function requestAvailability(a,o,s,l){if(!a._hasAvailability)return{};var c=128*Math.floor(s/128),u=128*Math.floor(l/128),d=Math.min(1<<o,128),t="tilemap/"+o+"/"+u+"/"+c+"/"+d+"/"+d,i=a._availableCache;if(defined(i[t]))return i[t];var e=new Request({throttle:!1,throttleByServer:!0,type:RequestType$1.TERRAIN}),r=a._resource.getDerivedResource({url:t,request:e}).fetchJson();return defined(r)?(r=r.then(function(e){var t=computeAvailability(c,u,d,d,e.data);a._tilesAvailablityLoaded.addAvailableTileRange(c,u,c+d,u+d);for(var i=a._tilesAvailable,r=0;r<t.length;++r){var n=t[r];i.addAvailableTileRange(o,n.startX,n.startY,n.endX,n.endY)}return isTileAvailable(a,o,s,l)}),i[t]={promise:r,request:e},{promise:r=r.always(function(e){return delete i[t],e}),request:e}):{}}Object.defineProperties(ArcGISTiledElevationTerrainProvider.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}}),ArcGISTiledElevationTerrainProvider.prototype.requestTileGeometry=function(t,i,r,n){var e,a,o=this._resource.getDerivedResource({url:"tile/"+r+"/"+i+"/"+t,request:n}),s=this._hasAvailability,l=when.resolve(!0);s&&!defined(isTileAvailable(this,r+1,2*t,2*i))&&(l=(e=requestAvailability(this,r+1,2*t,2*i)).promise,a=e.request);o=o.fetchArrayBuffer();if(defined(o)&&defined(l)){var c=this,u=this._tilesAvailable;return when.join(o,l).then(function(e){return new HeightmapTerrainData({buffer:e[0],width:c._width,height:c._height,childTileMask:s?u.computeChildMaskForTile(r,t,i):ALL_CHILDREN,structure:c._terrainDataStructure,encoding:c._encoding})}).otherwise(function(e){return defined(a)&&a.state===RequestState$1.CANCELLED?(n.cancel(),n.deferred.promise.always(function(){return n.state=RequestState$1.CANCELLED,when.reject(e)})):when.reject(e)})}},ArcGISTiledElevationTerrainProvider.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)},ArcGISTiledElevationTerrainProvider.prototype.getTileDataAvailable=function(e,t,i){if(this._hasAvailability){var r=isTileAvailable(this,i,e,t);if(defined(r))return r;requestAvailability(this,i,e,t)}},ArcGISTiledElevationTerrainProvider.prototype.loadTileDataAvailability=function(e,t,i){};var ArcType={NONE:0,GEODESIC:1,RHUMB:2},ArcType$1=Object.freeze(ArcType);function arrayFill(e,t,i,r){if("function"==typeof e.fill)return e.fill(t,i,r);for(var n=e.length>>>0,i=defaultValue(i,0),a=i<0?Math.max(n+i,0):Math.min(i,n),r=defaultValue(r,n),o=r<0?Math.max(n+r,0):Math.min(r,n);a<o;)e[a]=t,a++;return e}var removeDuplicatesEpsilon=CesiumMath.EPSILON10;function arrayRemoveDuplicates(e,t,i){if(defined(e)){i=defaultValue(i,!1);var r,n,a,o=e.length;if(o<2)return e;for(r=1;r<o&&!t(n=e[r-1],a=e[r],removeDuplicatesEpsilon);++r);if(r===o)return i&&t(e[0],e[e.length-1],removeDuplicatesEpsilon)?e.slice(1):e;for(var s=e.slice(0,r);r<o;++r)t(n,a=e[r],removeDuplicatesEpsilon)||(s.push(a),n=a);return i&&1<s.length&&t(s[0],s[s.length-1],removeDuplicatesEpsilon)&&s.shift(),s}}function arraySlice(e,t,i){if("function"==typeof e.slice)return e.slice(t,i);for(var r=Array.prototype.slice.call(e,t,i),n=FeatureDetection.typedArrayTypes,a=n.length,o=0;o<a;++o)if(e instanceof n[o]){r=new n[o](r);break}return r}function AssociativeArray(){this._array=[],this._hash={}}Object.defineProperties(AssociativeArray.prototype,{length:{get:function(){return this._array.length}},values:{get:function(){return this._array}}}),AssociativeArray.prototype.contains=function(e){return defined(this._hash[e])},AssociativeArray.prototype.set=function(e,t){t!==this._hash[e]&&(this.remove(e),this._hash[e]=t,this._array.push(t))},AssociativeArray.prototype.get=function(e){return this._hash[e]},AssociativeArray.prototype.remove=function(e){var t,i=this._hash[e],r=defined(i);return r&&((t=this._array).splice(t.indexOf(i),1),delete this._hash[e]),r},AssociativeArray.prototype.removeAll=function(){var e=this._array;0<e.length&&(this._hash={},e.length=0)};var scratchCartesian1$1=new Cartesian3,scratchCartesian2$1=new Cartesian3,scratchCartesian3$2=new Cartesian3;function barycentricCoordinates(e,t,i,r,n){var a,o,s,l,c,u,d;if(defined(n)||(n=new Cartesian3),defined(t.z)){if(Cartesian3.equalsEpsilon(e,t,CesiumMath.EPSILON14))return Cartesian3.clone(Cartesian3.UNIT_X,n);if(Cartesian3.equalsEpsilon(e,i,CesiumMath.EPSILON14))return Cartesian3.clone(Cartesian3.UNIT_Y,n);if(Cartesian3.equalsEpsilon(e,r,CesiumMath.EPSILON14))return Cartesian3.clone(Cartesian3.UNIT_Z,n);a=Cartesian3.subtract(i,t,scratchCartesian1$1),o=Cartesian3.subtract(r,t,scratchCartesian2$1),s=Cartesian3.subtract(e,t,scratchCartesian3$2),l=Cartesian3.dot(a,a),h=Cartesian3.dot(a,o),c=Cartesian3.dot(a,s),u=Cartesian3.dot(o,o),d=Cartesian3.dot(o,s)}else{if(Cartesian2.equalsEpsilon(e,t,CesiumMath.EPSILON14))return Cartesian3.clone(Cartesian3.UNIT_X,n);if(Cartesian2.equalsEpsilon(e,i,CesiumMath.EPSILON14))return Cartesian3.clone(Cartesian3.UNIT_Y,n);if(Cartesian2.equalsEpsilon(e,r,CesiumMath.EPSILON14))return Cartesian3.clone(Cartesian3.UNIT_Z,n);a=Cartesian2.subtract(i,t,scratchCartesian1$1),o=Cartesian2.subtract(r,t,scratchCartesian2$1),s=Cartesian2.subtract(e,t,scratchCartesian3$2),l=Cartesian2.dot(a,a),h=Cartesian2.dot(a,o),c=Cartesian2.dot(a,s),u=Cartesian2.dot(o,o),d=Cartesian2.dot(o,s)}n.y=u*c-h*d,n.z=l*d-h*c;var h=l*u-h*h;return 0!==n.y&&(n.y/=h),0!==n.z&&(n.z/=h),n.x=1-n.y-n.z,n}var url="https://dev.virtualearth.net/REST/v1/Locations";function BingMapsGeocoderService(e){e=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).key;this._key=e,this._resource=new Resource({url:url,queryParameters:{key:e}})}function BoundingRectangle(e,t,i,r){this.x=defaultValue(e,0),this.y=defaultValue(t,0),this.width=defaultValue(i,0),this.height=defaultValue(r,0)}Object.defineProperties(BingMapsGeocoderService.prototype,{url:{get:function(){return url}},key:{get:function(){return this._key}}}),BingMapsGeocoderService.prototype.geocode=function(e){return this._resource.getDerivedResource({queryParameters:{query:e}}).fetchJsonp("jsonp").then(function(e){return 0===e.resourceSets.length?[]:e.resourceSets[0].resources.map(function(e){var t=e.bbox,i=t[0],r=t[1],n=t[2],t=t[3];return{displayName:e.name,destination:Rectangle.fromDegrees(r,i,t,n)}})})},BoundingRectangle.packedLength=4,BoundingRectangle.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.x,t[i++]=e.y,t[i++]=e.width,t[i]=e.height,t},BoundingRectangle.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new BoundingRectangle),i.x=e[t++],i.y=e[t++],i.width=e[t++],i.height=e[t],i},BoundingRectangle.fromPoints=function(e,t){if(defined(t)||(t=new BoundingRectangle),!defined(e)||0===e.length)return t.x=0,t.y=0,t.width=0,t.height=0,t;for(var i=e.length,r=e[0].x,n=e[0].y,a=e[0].x,o=e[0].y,s=1;s<i;s++)var l=e[s],c=l.x,l=l.y,r=Math.min(c,r),a=Math.max(c,a),n=Math.min(l,n),o=Math.max(l,o);return t.x=r,t.y=n,t.width=a-r,t.height=o-n,t};var defaultProjection$1=new GeographicProjection,fromRectangleLowerLeft=new Cartographic,fromRectangleUpperRight=new Cartographic;BoundingRectangle.fromRectangle=function(e,t,i){if(defined(i)||(i=new BoundingRectangle),!defined(e))return i.x=0,i.y=0,i.width=0,i.height=0,i;var r=(t=defaultValue(t,defaultProjection$1)).project(Rectangle.southwest(e,fromRectangleLowerLeft)),e=t.project(Rectangle.northeast(e,fromRectangleUpperRight));return Cartesian2.subtract(e,r,e),i.x=r.x,i.y=r.y,i.width=e.x,i.height=e.y,i},BoundingRectangle.clone=function(e,t){if(defined(e))return defined(t)?(t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height,t):new BoundingRectangle(e.x,e.y,e.width,e.height)},BoundingRectangle.union=function(e,t,i){defined(i)||(i=new BoundingRectangle);var r=Math.min(e.x,t.x),n=Math.min(e.y,t.y),a=Math.max(e.x+e.width,t.x+t.width),t=Math.max(e.y+e.height,t.y+t.height);return i.x=r,i.y=n,i.width=a-r,i.height=t-n,i},BoundingRectangle.expand=function(e,t,i){i=BoundingRectangle.clone(e,i);var r=t.x-i.x,e=t.y-i.y;return r>i.width?i.width=r:r<0&&(i.width-=r,i.x=t.x),e>i.height?i.height=e:e<0&&(i.height-=e,i.y=t.y),i},BoundingRectangle.intersect=function(e,t){var i=e.x,r=e.y,n=t.x,a=t.y;return i>n+t.width||i+e.width<n||r+e.height<a||r>a+t.height?Intersect$1.OUTSIDE:Intersect$1.INTERSECTING},BoundingRectangle.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height},BoundingRectangle.prototype.clone=function(e){return BoundingRectangle.clone(this,e)},BoundingRectangle.prototype.intersect=function(e){return BoundingRectangle.intersect(this,e)},BoundingRectangle.prototype.equals=function(e){return BoundingRectangle.equals(this,e)};var GeometryType={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},GeometryType$1=Object.freeze(GeometryType);function Matrix2(e,t,i,r){this[0]=defaultValue(e,0),this[1]=defaultValue(i,0),this[2]=defaultValue(t,0),this[3]=defaultValue(r,0)}Matrix2.packedLength=4,Matrix2.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e[0],t[i++]=e[1],t[i++]=e[2],t[i++]=e[3],t},Matrix2.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new Matrix2),i[0]=e[t++],i[1]=e[t++],i[2]=e[t++],i[3]=e[t++],i},Matrix2.clone=function(e,t){if(defined(e))return defined(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new Matrix2(e[0],e[2],e[1],e[3])},Matrix2.fromArray=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new Matrix2),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i},Matrix2.fromColumnMajorArray=function(e,t){return Matrix2.clone(e,t)},Matrix2.fromRowMajorArray=function(e,t){return defined(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new Matrix2(e[0],e[1],e[2],e[3])},Matrix2.fromScale=function(e,t){return defined(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new Matrix2(e.x,0,0,e.y)},Matrix2.fromUniformScale=function(e,t){return defined(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new Matrix2(e,0,0,e)},Matrix2.fromRotation=function(e,t){var i=Math.cos(e),e=Math.sin(e);return defined(t)?(t[0]=i,t[1]=e,t[2]=-e,t[3]=i,t):new Matrix2(i,-e,e,i)},Matrix2.toArray=function(e,t){return defined(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]},Matrix2.getElementIndex=function(e,t){return 2*e+t},Matrix2.getColumn=function(e,t,i){var r=2*t,t=e[r],r=e[1+r];return i.x=t,i.y=r,i},Matrix2.setColumn=function(e,t,i,r){t*=2;return(r=Matrix2.clone(e,r))[t]=i.x,r[1+t]=i.y,r},Matrix2.getRow=function(e,t,i){var r=e[t],t=e[t+2];return i.x=r,i.y=t,i},Matrix2.setRow=function(e,t,i,r){return(r=Matrix2.clone(e,r))[t]=i.x,r[t+2]=i.y,r};var scratchColumn$2=new Cartesian2;Matrix2.getScale=function(e,t){return t.x=Cartesian2.magnitude(Cartesian2.fromElements(e[0],e[1],scratchColumn$2)),t.y=Cartesian2.magnitude(Cartesian2.fromElements(e[2],e[3],scratchColumn$2)),t};var scratchScale$4=new Cartesian2;Matrix2.getMaximumScale=function(e){return Matrix2.getScale(e,scratchScale$4),Cartesian2.maximumComponent(scratchScale$4)},Matrix2.multiply=function(e,t,i){var r=e[0]*t[0]+e[2]*t[1],n=e[0]*t[2]+e[2]*t[3],a=e[1]*t[0]+e[3]*t[1],t=e[1]*t[2]+e[3]*t[3];return i[0]=r,i[1]=a,i[2]=n,i[3]=t,i},Matrix2.add=function(e,t,i){return i[0]=e[0]+t[0],i[1]=e[1]+t[1],i[2]=e[2]+t[2],i[3]=e[3]+t[3],i},Matrix2.subtract=function(e,t,i){return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],i[3]=e[3]-t[3],i},Matrix2.multiplyByVector=function(e,t,i){var r=e[0]*t.x+e[2]*t.y,t=e[1]*t.x+e[3]*t.y;return i.x=r,i.y=t,i},Matrix2.multiplyByScalar=function(e,t,i){return i[0]=e[0]*t,i[1]=e[1]*t,i[2]=e[2]*t,i[3]=e[3]*t,i},Matrix2.multiplyByScale=function(e,t,i){return i[0]=e[0]*t.x,i[1]=e[1]*t.x,i[2]=e[2]*t.y,i[3]=e[3]*t.y,i},Matrix2.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},Matrix2.transpose=function(e,t){var i=e[0],r=e[2],n=e[1],e=e[3];return t[0]=i,t[1]=r,t[2]=n,t[3]=e,t},Matrix2.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t},Matrix2.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},Matrix2.equalsArray=function(e,t,i){return e[0]===t[i]&&e[1]===t[i+1]&&e[2]===t[i+2]&&e[3]===t[i+3]},Matrix2.equalsEpsilon=function(e,t,i){return i=defaultValue(i,0),e===t||defined(e)&&defined(t)&&Math.abs(e[0]-t[0])<=i&&Math.abs(e[1]-t[1])<=i&&Math.abs(e[2]-t[2])<=i&&Math.abs(e[3]-t[3])<=i},Matrix2.IDENTITY=Object.freeze(new Matrix2(1,0,0,1)),Matrix2.ZERO=Object.freeze(new Matrix2(0,0,0,0)),Matrix2.COLUMN0ROW0=0,Matrix2.COLUMN0ROW1=1,Matrix2.COLUMN1ROW0=2,Matrix2.COLUMN1ROW1=3,Object.defineProperties(Matrix2.prototype,{length:{get:function(){return Matrix2.packedLength}}}),Matrix2.prototype.clone=function(e){return Matrix2.clone(this,e)},Matrix2.prototype.equals=function(e){return Matrix2.equals(this,e)},Matrix2.prototype.equalsEpsilon=function(e,t){return Matrix2.equalsEpsilon(this,e,t)},Matrix2.prototype.toString=function(){return"("+this[0]+", "+this[2]+")\n("+this[1]+", "+this[3]+")"};var PrimitiveType={POINTS:WebGLConstants$1.POINTS,LINES:WebGLConstants$1.LINES,LINE_LOOP:WebGLConstants$1.LINE_LOOP,LINE_STRIP:WebGLConstants$1.LINE_STRIP,TRIANGLES:WebGLConstants$1.TRIANGLES,TRIANGLE_STRIP:WebGLConstants$1.TRIANGLE_STRIP,TRIANGLE_FAN:WebGLConstants$1.TRIANGLE_FAN,validate:function(e){return e===PrimitiveType.POINTS||e===PrimitiveType.LINES||e===PrimitiveType.LINE_LOOP||e===PrimitiveType.LINE_STRIP||e===PrimitiveType.TRIANGLES||e===PrimitiveType.TRIANGLE_STRIP||e===PrimitiveType.TRIANGLE_FAN}},PrimitiveType$1=Object.freeze(PrimitiveType);function Geometry(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=defaultValue(e.primitiveType,PrimitiveType$1.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=defaultValue(e.geometryType,GeometryType$1.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}Geometry.computeNumberOfVertices=function(e){var t,i,r=-1;for(t in e.attributes)e.attributes.hasOwnProperty(t)&&defined(e.attributes[t])&&defined(e.attributes[t].values)&&(r=(i=e.attributes[t]).values.length/i.componentsPerAttribute);return r};var rectangleCenterScratch=new Cartographic,enuCenterScratch=new Cartesian3,fixedFrameToEnuScratch=new Matrix4,boundingRectanglePointsCartographicScratch=[new Cartographic,new Cartographic,new Cartographic],boundingRectanglePointsEnuScratch=[new Cartesian2,new Cartesian2,new Cartesian2],points2DScratch=[new Cartesian2,new Cartesian2,new Cartesian2],pointEnuScratch=new Cartesian3,enuRotationScratch=new Quaternion,enuRotationMatrixScratch=new Matrix4,rotation2DScratch=new Matrix2;function GeometryAttribute(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=defaultValue(e.normalize,!1),this.values=e.values}function GeometryAttributes(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.bitangent=e.bitangent,this.tangent=e.tangent,this.color=e.color}Geometry._textureCoordinateRotationPoints=function(e,t,i,r){var n=Rectangle.center(r,rectangleCenterScratch),a=Cartographic.toCartesian(n,i,enuCenterScratch),n=Transforms.eastNorthUpToFixedFrame(a,i,fixedFrameToEnuScratch),o=Matrix4.inverse(n,fixedFrameToEnuScratch),s=boundingRectanglePointsEnuScratch,l=boundingRectanglePointsCartographicScratch;l[0].longitude=r.west,l[0].latitude=r.south,l[1].longitude=r.west,l[1].latitude=r.north,l[2].longitude=r.east,l[2].latitude=r.south;for(var c=pointEnuScratch,u=0;u<3;u++)Cartographic.toCartesian(l[u],i,c),c=Matrix4.multiplyByPointAsVector(o,c,c),s[u].x=c.x,s[u].y=c.y;var a=Quaternion.fromAxisAngle(Cartesian3.UNIT_Z,-t,enuRotationScratch),d=Matrix3.fromQuaternion(a,enuRotationMatrixScratch),h=e.length,p=Number.POSITIVE_INFINITY,m=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,g=Number.NEGATIVE_INFINITY;for(u=0;u<h;u++)c=Matrix4.multiplyByPointAsVector(o,e[u],c),c=Matrix3.multiplyByVector(d,c,c),p=Math.min(p,c.x),m=Math.min(m,c.y),f=Math.max(f,c.x),g=Math.max(g,c.y);var _=Matrix2.fromRotation(t,rotation2DScratch),y=points2DScratch;y[0].x=p,y[0].y=m,y[1].x=p,y[1].y=g,y[2].x=f,y[2].y=m;var C=s[0],v=s[2].x-C.x,S=s[1].y-C.y;for(u=0;u<3;u++){var T=y[u];Matrix2.multiplyByVector(_,T,T),T.x=(T.x-C.x)/v,T.y=(T.y-C.y)/S}n=y[0],r=y[1],a=y[2],t=new Array(6);return Cartesian2.pack(n,t),Cartesian2.pack(r,t,2),Cartesian2.pack(a,t,4),t};var GeometryOffsetAttribute={NONE:0,TOP:1,ALL:2},GeometryOffsetAttribute$1=Object.freeze(GeometryOffsetAttribute);function VertexFormat(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.position=defaultValue(e.position,!1),this.normal=defaultValue(e.normal,!1),this.st=defaultValue(e.st,!1),this.bitangent=defaultValue(e.bitangent,!1),this.tangent=defaultValue(e.tangent,!1),this.color=defaultValue(e.color,!1)}VertexFormat.POSITION_ONLY=Object.freeze(new VertexFormat({position:!0})),VertexFormat.POSITION_AND_NORMAL=Object.freeze(new VertexFormat({position:!0,normal:!0})),VertexFormat.POSITION_NORMAL_AND_ST=Object.freeze(new VertexFormat({position:!0,normal:!0,st:!0})),VertexFormat.POSITION_AND_ST=Object.freeze(new VertexFormat({position:!0,st:!0})),VertexFormat.POSITION_AND_COLOR=Object.freeze(new VertexFormat({position:!0,color:!0})),VertexFormat.ALL=Object.freeze(new VertexFormat({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0})),VertexFormat.DEFAULT=VertexFormat.POSITION_NORMAL_AND_ST,VertexFormat.packedLength=6,VertexFormat.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.position?1:0,t[i++]=e.normal?1:0,t[i++]=e.st?1:0,t[i++]=e.tangent?1:0,t[i++]=e.bitangent?1:0,t[i]=e.color?1:0,t},VertexFormat.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new VertexFormat),i.position=1===e[t++],i.normal=1===e[t++],i.st=1===e[t++],i.tangent=1===e[t++],i.bitangent=1===e[t++],i.color=1===e[t],i},VertexFormat.clone=function(e,t){if(defined(e))return defined(t)||(t=new VertexFormat),t.position=e.position,t.normal=e.normal,t.st=e.st,t.tangent=e.tangent,t.bitangent=e.bitangent,t.color=e.color,t};var diffScratch=new Cartesian3;function BoxGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).minimum,i=e.maximum,r=defaultValue(e.vertexFormat,VertexFormat.DEFAULT);this._minimum=Cartesian3.clone(t),this._maximum=Cartesian3.clone(i),this._vertexFormat=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxGeometry"}BoxGeometry.fromDimensions=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).dimensions,t=Cartesian3.multiplyByScalar(t,.5,new Cartesian3);return new BoxGeometry({minimum:Cartesian3.negate(t,new Cartesian3),maximum:t,vertexFormat:e.vertexFormat,offsetAttribute:e.offsetAttribute})},BoxGeometry.fromAxisAlignedBoundingBox=function(e){return new BoxGeometry({minimum:e.minimum,maximum:e.maximum})},BoxGeometry.packedLength=2*Cartesian3.packedLength+VertexFormat.packedLength+1,BoxGeometry.pack=function(e,t,i){return i=defaultValue(i,0),Cartesian3.pack(e._minimum,t,i),Cartesian3.pack(e._maximum,t,i+Cartesian3.packedLength),VertexFormat.pack(e._vertexFormat,t,i+2*Cartesian3.packedLength),t[i+2*Cartesian3.packedLength+VertexFormat.packedLength]=defaultValue(e._offsetAttribute,-1),t};var scratchMin=new Cartesian3,scratchMax=new Cartesian3,scratchVertexFormat=new VertexFormat,scratchOptions={minimum:scratchMin,maximum:scratchMax,vertexFormat:scratchVertexFormat,offsetAttribute:void 0},unitBoxGeometry;BoxGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=Cartesian3.unpack(e,t,scratchMin),n=Cartesian3.unpack(e,t+Cartesian3.packedLength,scratchMax),a=VertexFormat.unpack(e,t+2*Cartesian3.packedLength,scratchVertexFormat),t=e[t+2*Cartesian3.packedLength+VertexFormat.packedLength];return defined(i)?(i._minimum=Cartesian3.clone(r,i._minimum),i._maximum=Cartesian3.clone(n,i._maximum),i._vertexFormat=VertexFormat.clone(a,i._vertexFormat),i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions.offsetAttribute=-1===t?void 0:t,new BoxGeometry(scratchOptions))},BoxGeometry.createGeometry=function(e){var t=e._minimum,i=e._maximum,r=e._vertexFormat;if(!Cartesian3.equals(t,i)){var n,a,o,s=new GeometryAttributes;r.position&&(r.st||r.normal||r.tangent||r.bitangent)?(r.position&&((l=new Float64Array(72))[0]=t.x,l[1]=t.y,l[2]=i.z,l[3]=i.x,l[4]=t.y,l[5]=i.z,l[6]=i.x,l[7]=i.y,l[8]=i.z,l[9]=t.x,l[10]=i.y,l[11]=i.z,l[12]=t.x,l[13]=t.y,l[14]=t.z,l[15]=i.x,l[16]=t.y,l[17]=t.z,l[18]=i.x,l[19]=i.y,l[20]=t.z,l[21]=t.x,l[22]=i.y,l[23]=t.z,l[24]=i.x,l[25]=t.y,l[26]=t.z,l[27]=i.x,l[28]=i.y,l[29]=t.z,l[30]=i.x,l[31]=i.y,l[32]=i.z,l[33]=i.x,l[34]=t.y,l[35]=i.z,l[36]=t.x,l[37]=t.y,l[38]=t.z,l[39]=t.x,l[40]=i.y,l[41]=t.z,l[42]=t.x,l[43]=i.y,l[44]=i.z,l[45]=t.x,l[46]=t.y,l[47]=i.z,l[48]=t.x,l[49]=i.y,l[50]=t.z,l[51]=i.x,l[52]=i.y,l[53]=t.z,l[54]=i.x,l[55]=i.y,l[56]=i.z,l[57]=t.x,l[58]=i.y,l[59]=i.z,l[60]=t.x,l[61]=t.y,l[62]=t.z,l[63]=i.x,l[64]=t.y,l[65]=t.z,l[66]=i.x,l[67]=t.y,l[68]=i.z,l[69]=t.x,l[70]=t.y,l[71]=i.z,s.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:l})),r.normal&&((n=new Float32Array(72))[0]=0,n[1]=0,n[2]=1,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=1,n[9]=0,n[10]=0,n[11]=1,n[12]=0,n[13]=0,n[14]=-1,n[15]=0,n[16]=0,n[17]=-1,n[18]=0,n[19]=0,n[20]=-1,n[21]=0,n[22]=0,n[23]=-1,n[24]=1,n[25]=0,n[26]=0,n[27]=1,n[28]=0,n[29]=0,n[30]=1,n[31]=0,n[32]=0,n[33]=1,n[34]=0,n[35]=0,n[36]=-1,n[37]=0,n[38]=0,n[39]=-1,n[40]=0,n[41]=0,n[42]=-1,n[43]=0,n[44]=0,n[45]=-1,n[46]=0,n[47]=0,n[48]=0,n[49]=1,n[50]=0,n[51]=0,n[52]=1,n[53]=0,n[54]=0,n[55]=1,n[56]=0,n[57]=0,n[58]=1,n[59]=0,n[60]=0,n[61]=-1,n[62]=0,n[63]=0,n[64]=-1,n[65]=0,n[66]=0,n[67]=-1,n[68]=0,n[69]=0,n[70]=-1,n[71]=0,s.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:n})),r.st&&((a=new Float32Array(48))[0]=0,a[1]=0,a[2]=1,a[3]=0,a[4]=1,a[5]=1,a[6]=0,a[7]=1,a[8]=1,a[9]=0,a[10]=0,a[11]=0,a[12]=0,a[13]=1,a[14]=1,a[15]=1,a[16]=0,a[17]=0,a[18]=1,a[19]=0,a[20]=1,a[21]=1,a[22]=0,a[23]=1,a[24]=1,a[25]=0,a[26]=0,a[27]=0,a[28]=0,a[29]=1,a[30]=1,a[31]=1,a[32]=1,a[33]=0,a[34]=0,a[35]=0,a[36]=0,a[37]=1,a[38]=1,a[39]=1,a[40]=0,a[41]=0,a[42]=1,a[43]=0,a[44]=1,a[45]=1,a[46]=0,a[47]=1,s.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:a})),r.tangent&&((a=new Float32Array(72))[0]=1,a[1]=0,a[2]=0,a[3]=1,a[4]=0,a[5]=0,a[6]=1,a[7]=0,a[8]=0,a[9]=1,a[10]=0,a[11]=0,a[12]=-1,a[13]=0,a[14]=0,a[15]=-1,a[16]=0,a[17]=0,a[18]=-1,a[19]=0,a[20]=0,a[21]=-1,a[22]=0,a[23]=0,a[24]=0,a[25]=1,a[26]=0,a[27]=0,a[28]=1,a[29]=0,a[30]=0,a[31]=1,a[32]=0,a[33]=0,a[34]=1,a[35]=0,a[36]=0,a[37]=-1,a[38]=0,a[39]=0,a[40]=-1,a[41]=0,a[42]=0,a[43]=-1,a[44]=0,a[45]=0,a[46]=-1,a[47]=0,a[48]=-1,a[49]=0,a[50]=0,a[51]=-1,a[52]=0,a[53]=0,a[54]=-1,a[55]=0,a[56]=0,a[57]=-1,a[58]=0,a[59]=0,a[60]=1,a[61]=0,a[62]=0,a[63]=1,a[64]=0,a[65]=0,a[66]=1,a[67]=0,a[68]=0,a[69]=1,a[70]=0,a[71]=0,s.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:a})),r.bitangent&&((o=new Float32Array(72))[0]=0,o[1]=1,o[2]=0,o[3]=0,o[4]=1,o[5]=0,o[6]=0,o[7]=1,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=1,o[14]=0,o[15]=0,o[16]=1,o[17]=0,o[18]=0,o[19]=1,o[20]=0,o[21]=0,o[22]=1,o[23]=0,o[24]=0,o[25]=0,o[26]=1,o[27]=0,o[28]=0,o[29]=1,o[30]=0,o[31]=0,o[32]=1,o[33]=0,o[34]=0,o[35]=1,o[36]=0,o[37]=0,o[38]=1,o[39]=0,o[40]=0,o[41]=1,o[42]=0,o[43]=0,o[44]=1,o[45]=0,o[46]=0,o[47]=1,o[48]=0,o[49]=0,o[50]=1,o[51]=0,o[52]=0,o[53]=1,o[54]=0,o[55]=0,o[56]=1,o[57]=0,o[58]=0,o[59]=1,o[60]=0,o[61]=0,o[62]=1,o[63]=0,o[64]=0,o[65]=1,o[66]=0,o[67]=0,o[68]=1,o[69]=0,o[70]=0,o[71]=1,s.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:o})),(o=new Uint16Array(36))[0]=0,o[1]=1,o[2]=2,o[3]=0,o[4]=2,o[5]=3,o[6]=6,o[7]=5,o[8]=4,o[9]=7,o[10]=6,o[11]=4,o[12]=8,o[13]=9,o[14]=10,o[15]=8,o[16]=10,o[17]=11,o[18]=14,o[19]=13,o[20]=12,o[21]=15,o[22]=14,o[23]=12,o[24]=18,o[25]=17,o[26]=16,o[27]=19,o[28]=18,o[29]=16,o[30]=20,o[31]=21,o[32]=22,o[33]=20,o[34]=22,o[35]=23):((l=new Float64Array(24))[0]=t.x,l[1]=t.y,l[2]=t.z,l[3]=i.x,l[4]=t.y,l[5]=t.z,l[6]=i.x,l[7]=i.y,l[8]=t.z,l[9]=t.x,l[10]=i.y,l[11]=t.z,l[12]=t.x,l[13]=t.y,l[14]=i.z,l[15]=i.x,l[16]=t.y,l[17]=i.z,l[18]=i.x,l[19]=i.y,l[20]=i.z,l[21]=t.x,l[22]=i.y,l[23]=i.z,s.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:l}),(o=new Uint16Array(36))[0]=4,o[1]=5,o[2]=6,o[3]=4,o[4]=6,o[5]=7,o[6]=1,o[7]=0,o[8]=3,o[9]=1,o[10]=3,o[11]=2,o[12]=1,o[13]=6,o[14]=5,o[15]=1,o[16]=2,o[17]=6,o[18]=2,o[19]=3,o[20]=7,o[21]=2,o[22]=7,o[23]=6,o[24]=3,o[25]=0,o[26]=4,o[27]=3,o[28]=4,o[29]=7,o[30]=0,o[31]=1,o[32]=5,o[33]=0,o[34]=5,o[35]=4);var l,t=Cartesian3.subtract(i,t,diffScratch),t=.5*Cartesian3.magnitude(t);return defined(e._offsetAttribute)&&(l=l.length,arrayFill(l=new Uint8Array(l/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),s.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:l})),new Geometry({attributes:s,indices:o,primitiveType:PrimitiveType$1.TRIANGLES,boundingSphere:new BoundingSphere(Cartesian3.ZERO,t),offsetAttribute:e._offsetAttribute})}},BoxGeometry.getUnitBox=function(){return defined(unitBoxGeometry)||(unitBoxGeometry=BoxGeometry.createGeometry(BoxGeometry.fromDimensions({dimensions:new Cartesian3(1,1,1),vertexFormat:VertexFormat.POSITION_ONLY}))),unitBoxGeometry};var diffScratch$1=new Cartesian3;function BoxOutlineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).minimum,i=e.maximum;this._min=Cartesian3.clone(t),this._max=Cartesian3.clone(i),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}BoxOutlineGeometry.fromDimensions=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).dimensions,t=Cartesian3.multiplyByScalar(t,.5,new Cartesian3);return new BoxOutlineGeometry({minimum:Cartesian3.negate(t,new Cartesian3),maximum:t,offsetAttribute:e.offsetAttribute})},BoxOutlineGeometry.fromAxisAlignedBoundingBox=function(e){return new BoxOutlineGeometry({minimum:e.minimum,maximum:e.maximum})},BoxOutlineGeometry.packedLength=2*Cartesian3.packedLength+1,BoxOutlineGeometry.pack=function(e,t,i){return i=defaultValue(i,0),Cartesian3.pack(e._min,t,i),Cartesian3.pack(e._max,t,i+Cartesian3.packedLength),t[i+2*Cartesian3.packedLength]=defaultValue(e._offsetAttribute,-1),t};var scratchMin$1=new Cartesian3,scratchMax$1=new Cartesian3,scratchOptions$1={minimum:scratchMin$1,maximum:scratchMax$1,offsetAttribute:void 0},implementation$1;function cancelAnimationFramePolyfill(e){implementation$1(e)}function CartographicGeocoderService(){}function Spline(){this.times=void 0,this.points=void 0,DeveloperError.throwInstantiationError()}function LinearSpline(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).points,e=e.times;this._times=e,this._points=t,this._lastTimeIndex=0}BoxOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=Cartesian3.unpack(e,t,scratchMin$1),n=Cartesian3.unpack(e,t+Cartesian3.packedLength,scratchMax$1),t=e[t+2*Cartesian3.packedLength];return defined(i)?(i._min=Cartesian3.clone(r,i._min),i._max=Cartesian3.clone(n,i._max),i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions$1.offsetAttribute=-1===t?void 0:t,new BoxOutlineGeometry(scratchOptions$1))},BoxOutlineGeometry.createGeometry=function(e){var t=e._min,i=e._max;if(!Cartesian3.equals(t,i)){var r=new GeometryAttributes,n=new Uint16Array(24),a=new Float64Array(24);a[0]=t.x,a[1]=t.y,a[2]=t.z,a[3]=i.x,a[4]=t.y,a[5]=t.z,a[6]=i.x,a[7]=i.y,a[8]=t.z,a[9]=t.x,a[10]=i.y,a[11]=t.z,a[12]=t.x,a[13]=t.y,a[14]=i.z,a[15]=i.x,a[16]=t.y,a[17]=i.z,a[18]=i.x,a[19]=i.y,a[20]=i.z,a[21]=t.x,a[22]=i.y,a[23]=i.z,r.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:a}),n[0]=4,n[1]=5,n[2]=5,n[3]=6,n[4]=6,n[5]=7,n[6]=7,n[7]=4,n[8]=0,n[9]=1,n[10]=1,n[11]=2,n[12]=2,n[13]=3,n[14]=3,n[15]=0,n[16]=0,n[17]=4,n[18]=1,n[19]=5,n[20]=2,n[21]=6,n[22]=3,n[23]=7;t=Cartesian3.subtract(i,t,diffScratch$1),t=.5*Cartesian3.magnitude(t);return defined(e._offsetAttribute)&&(a=a.length,arrayFill(a=new Uint8Array(a/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),r.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:a})),new Geometry({attributes:r,indices:n,primitiveType:PrimitiveType$1.LINES,boundingSphere:new BoundingSphere(Cartesian3.ZERO,t),offsetAttribute:e._offsetAttribute})}},"undefined"!=typeof cancelAnimationFrame&&(implementation$1=cancelAnimationFrame),function(){if(!defined(implementation$1)&&"undefined"!=typeof window)for(var e=["webkit","moz","ms","o"],t=0,i=e.length;t<i&&!defined(implementation$1);)defined(implementation$1=window[e[t]+"CancelAnimationFrame"])||(implementation$1=window[e[t]+"CancelRequestAnimationFrame"]),++t;defined(implementation$1)||(implementation$1=clearTimeout)}(),CartographicGeocoderService.prototype.geocode=function(e){var t=e.match(/[^\s,\n]+/g);if(2===t.length||3===t.length){var i=+t[0],r=+t[1],n=3===t.length?+t[2]:300;if(isNaN(i)&&isNaN(r))for(var a=/^(\d+.?\d*)([nsew])/i,o=0;o<t.length;++o){var s=t[o].match(a);a.test(t[o])&&3===s.length&&(/^[ns]/i.test(s[2])?r=/^[n]/i.test(s[2])?+s[1]:-s[1]:/^[ew]/i.test(s[2])&&(i=/^[e]/i.test(s[2])?+s[1]:-s[1]))}if(!isNaN(i)&&!isNaN(r)&&!isNaN(n)){n={displayName:e,destination:Cartesian3.fromDegrees(i,r,n)};return when.resolve([n])}}return when.resolve([])},Spline.prototype.evaluate=DeveloperError.throwInstantiationError,Spline.prototype.findTimeInterval=function(e,t){var i,r=this.times,n=r.length;if(e>=r[t=defaultValue(t,0)]){if(t+1<n&&e<r[t+1])return t;if(t+2<n&&e<r[t+2])return t+1}else if(0<=t-1&&e>=r[t-1])return t-1;if(e>r[t])for(i=t;i<n-1&&!(e>=r[i]&&e<r[i+1]);++i);else for(i=t-1;0<=i&&!(e>=r[i]&&e<r[i+1]);--i);return i===n-1&&(i=n-2),i},Spline.prototype.wrapTime=function(e){var t=this.times,i=t[t.length-1],r=t[0],t=i-r;return e<r&&(e+=(Math.floor((r-e)/t)+1)*t),i<e&&(e-=(Math.floor((e-i)/t)+1)*t),e},Spline.prototype.clampTime=function(e){var t=this.times;return CesiumMath.clamp(e,t[0],t[t.length-1])},Object.defineProperties(LinearSpline.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}}),LinearSpline.prototype.findTimeInterval=Spline.prototype.findTimeInterval,LinearSpline.prototype.wrapTime=Spline.prototype.wrapTime,LinearSpline.prototype.clampTime=Spline.prototype.clampTime,LinearSpline.prototype.evaluate=function(e,t){var i=this.points,r=this.times,n=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-r[n])/(r[n+1]-r[n]);return defined(t)||(t=new Cartesian3),Cartesian3.lerp(i[n],i[n+1],r,t)};var TridiagonalSystemSolver={solve:function(e,t,i,r){for(var n,a=new Array(i.length),o=new Array(r.length),s=new Array(r.length),l=0;l<o.length;l++)o[l]=new Cartesian3,s[l]=new Cartesian3;for(a[0]=i[0]/t[0],o[0]=Cartesian3.multiplyByScalar(r[0],1/t[0],o[0]),l=1;l<a.length;++l)n=1/(t[l]-a[l-1]*e[l-1]),a[l]=i[l]*n,o[l]=Cartesian3.subtract(r[l],Cartesian3.multiplyByScalar(o[l-1],e[l-1],o[l]),o[l]),o[l]=Cartesian3.multiplyByScalar(o[l],n,o[l]);for(n=1/(t[l]-a[l-1]*e[l-1]),o[l]=Cartesian3.subtract(r[l],Cartesian3.multiplyByScalar(o[l-1],e[l-1],o[l]),o[l]),o[l]=Cartesian3.multiplyByScalar(o[l],n,o[l]),s[s.length-1]=o[o.length-1],l=s.length-2;0<=l;--l)s[l]=Cartesian3.subtract(o[l],Cartesian3.multiplyByScalar(s[l+1],a[l],s[l]),s[l]);return s}},scratchLower=[],scratchDiagonal=[],scratchUpper=[],scratchRight=[];function generateClamped(e,t,i){var r,n=scratchLower,a=scratchUpper,o=scratchDiagonal,s=scratchRight;n.length=a.length=e.length-1,o.length=s.length=e.length,n[0]=o[0]=1;var l=s[a[0]=0];for(defined(l)||(l=s[0]=new Cartesian3),Cartesian3.clone(t,l),r=1;r<n.length-1;++r)n[r]=a[r]=1,o[r]=4,defined(l=s[r])||(l=s[r]=new Cartesian3),Cartesian3.subtract(e[r+1],e[r-1],l),Cartesian3.multiplyByScalar(l,3,l);return n[r]=0,a[r]=1,o[r]=4,defined(l=s[r])||(l=s[r]=new Cartesian3),Cartesian3.subtract(e[r+1],e[r-1],l),Cartesian3.multiplyByScalar(l,3,l),defined(l=s[r+(o[r+1]=1)])||(l=s[r+1]=new Cartesian3),Cartesian3.clone(i,l),TridiagonalSystemSolver.solve(n,o,a,s)}function generateNatural(e){var t,i=scratchLower,r=scratchUpper,n=scratchDiagonal,a=scratchRight;i.length=r.length=e.length-1,n.length=a.length=e.length,i[0]=r[0]=1,n[0]=2;var o=a[0];for(defined(o)||(o=a[0]=new Cartesian3),Cartesian3.subtract(e[1],e[0],o),Cartesian3.multiplyByScalar(o,3,o),t=1;t<i.length;++t)i[t]=r[t]=1,n[t]=4,defined(o=a[t])||(o=a[t]=new Cartesian3),Cartesian3.subtract(e[t+1],e[t-1],o),Cartesian3.multiplyByScalar(o,3,o);return n[t]=2,defined(o=a[t])||(o=a[t]=new Cartesian3),Cartesian3.subtract(e[t],e[t-1],o),Cartesian3.multiplyByScalar(o,3,o),TridiagonalSystemSolver.solve(i,n,r,a)}function HermiteSpline(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).points,i=e.times,r=e.inTangents,e=e.outTangents;this._times=i,this._points=t,this._inTangents=r,this._outTangents=e,this._lastTimeIndex=0}Object.defineProperties(HermiteSpline.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},inTangents:{get:function(){return this._inTangents}},outTangents:{get:function(){return this._outTangents}}}),HermiteSpline.createC1=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).times,i=e.points,r=e.tangents,e=r.slice(0,r.length-1);return new HermiteSpline({times:t,points:i,inTangents:r.slice(1,r.length),outTangents:e})},HermiteSpline.createNaturalCubic=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).times,i=e.points;if(i.length<3)return new LinearSpline({points:i,times:t});var r=generateNatural(i),e=r.slice(0,r.length-1);return new HermiteSpline({times:t,points:i,inTangents:r.slice(1,r.length),outTangents:e})},HermiteSpline.createClampedCubic=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).times,i=e.points,r=e.firstTangent,e=e.lastTangent;if(i.length<3)return new LinearSpline({points:i,times:t});r=generateClamped(i,r,e),e=r.slice(0,r.length-1);return new HermiteSpline({times:t,points:i,inTangents:r.slice(1,r.length),outTangents:e})},HermiteSpline.hermiteCoefficientMatrix=new Matrix4(2,-3,0,1,-2,3,0,0,1,-2,1,0,1,-1,0,0),HermiteSpline.prototype.findTimeInterval=Spline.prototype.findTimeInterval;var scratchTimeVec=new Cartesian4,scratchTemp=new Cartesian3;HermiteSpline.prototype.wrapTime=Spline.prototype.wrapTime,HermiteSpline.prototype.clampTime=Spline.prototype.clampTime,HermiteSpline.prototype.evaluate=function(e,t){defined(t)||(t=new Cartesian3);var i=this.points,r=this.times,n=this.inTangents,a=this.outTangents,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),e=(e-r[o])/(r[o+1]-r[o]),r=scratchTimeVec;r.z=e,r.y=e*e,r.x=r.y*e,r.w=1;r=Matrix4.multiplyByVector(HermiteSpline.hermiteCoefficientMatrix,r,r);return t=Cartesian3.multiplyByScalar(i[o],r.x,t),Cartesian3.multiplyByScalar(i[o+1],r.y,scratchTemp),Cartesian3.add(t,scratchTemp,t),Cartesian3.multiplyByScalar(a[o],r.z,scratchTemp),Cartesian3.add(t,scratchTemp,t),Cartesian3.multiplyByScalar(n[o],r.w,scratchTemp),Cartesian3.add(t,scratchTemp,t)};var scratchTimeVec$1=new Cartesian4,scratchTemp0=new Cartesian3,scratchTemp1=new Cartesian3;function createEvaluateFunction(l){var c=l.points,u=l.times;if(c.length<3){var i=u[0],r=1/(u[1]-i),n=c[0],a=c[1];return function(e,t){defined(t)||(t=new Cartesian3);e=(e-i)*r;return Cartesian3.lerp(n,a,e,t)}}return function(e,t){defined(t)||(t=new Cartesian3);var i,r,n,a,o=l._lastTimeIndex=l.findTimeInterval(e,l._lastTimeIndex),s=(e-u[o])/(u[o+1]-u[o]),e=scratchTimeVec$1;return e.z=s,e.y=s*s,e.x=e.y*s,e.w=1,e=0===o?(i=c[0],r=c[1],n=l.firstTangent,a=Cartesian3.subtract(c[2],i,scratchTemp0),Cartesian3.multiplyByScalar(a,.5,a),Matrix4.multiplyByVector(HermiteSpline.hermiteCoefficientMatrix,e,e)):o===c.length-2?(i=c[o],r=c[o+1],a=l.lastTangent,n=Cartesian3.subtract(r,c[o-1],scratchTemp0),Cartesian3.multiplyByScalar(n,.5,n),Matrix4.multiplyByVector(HermiteSpline.hermiteCoefficientMatrix,e,e)):(i=c[o-1],r=c[o],n=c[o+1],a=c[o+2],Matrix4.multiplyByVector(CatmullRomSpline.catmullRomCoefficientMatrix,e,e)),t=Cartesian3.multiplyByScalar(i,e.x,t),Cartesian3.multiplyByScalar(r,e.y,scratchTemp1),Cartesian3.add(t,scratchTemp1,t),Cartesian3.multiplyByScalar(n,e.z,scratchTemp1),Cartesian3.add(t,scratchTemp1,t),Cartesian3.multiplyByScalar(a,e.w,scratchTemp1),Cartesian3.add(t,scratchTemp1,t)}}var firstTangentScratch=new Cartesian3,lastTangentScratch=new Cartesian3;function CatmullRomSpline(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).points,i=e.times,r=e.firstTangent,n=e.lastTangent;2<t.length&&(defined(r)||(r=firstTangentScratch,Cartesian3.multiplyByScalar(t[1],2,r),Cartesian3.subtract(r,t[2],r),Cartesian3.subtract(r,t[0],r),Cartesian3.multiplyByScalar(r,.5,r)),defined(n)||(e=t.length-1,n=lastTangentScratch,Cartesian3.multiplyByScalar(t[e-1],2,n),Cartesian3.subtract(t[e],n,n),Cartesian3.add(n,t[e-2],n),Cartesian3.multiplyByScalar(n,.5,n))),this._times=i,this._points=t,this._firstTangent=Cartesian3.clone(r),this._lastTangent=Cartesian3.clone(n),this._evaluateFunction=createEvaluateFunction(this),this._lastTimeIndex=0}function getStringFromTypedArray(e,t,i){return t=defaultValue(t,0),i=defaultValue(i,e.byteLength-t),e=e.subarray(t,t+i),getStringFromTypedArray.decode(e)}function inRange(e,t,i){return t<=e&&e<=i}function utf8Handler(e){for(var t=0,i=0,r=0,n=128,a=191,o=[],s=e.length,l=0;l<s;++l){var c=e[l];if(0===r){if(inRange(c,0,127)){o.push(c);continue}if(inRange(c,194,223)){r=1,t=31&c;continue}if(inRange(c,224,239)){224===c&&(n=160),237===c&&(a=159),r=2,t=15&c;continue}if(inRange(c,240,244)){240===c&&(n=144),244===c&&(a=143),r=3,t=7&c;continue}throw new RuntimeError("String decoding failed.")}inRange(c,n,a)?(n=128,a=191,t=t<<6|63&c,++i===r&&(o.push(t),t=r=i=0)):(t=r=i=0,n=128,a=191,--l)}return o}Object.defineProperties(CatmullRomSpline.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}}),CatmullRomSpline.catmullRomCoefficientMatrix=new Matrix4(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0),CatmullRomSpline.prototype.findTimeInterval=Spline.prototype.findTimeInterval,CatmullRomSpline.prototype.wrapTime=Spline.prototype.wrapTime,CatmullRomSpline.prototype.clampTime=Spline.prototype.clampTime,CatmullRomSpline.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)},getStringFromTypedArray.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)},getStringFromTypedArray.decodeWithFromCharCode=function(e){for(var t="",i=utf8Handler(e),r=i.length,n=0;n<r;++n){var a=i[n];a<=65535?t+=String.fromCharCode(a):(a-=65536,t+=String.fromCharCode(55296+(a>>10),56320+(1023&a)))}return t},"undefined"!=typeof TextDecoder?getStringFromTypedArray.decode=getStringFromTypedArray.decodeWithTextDecoder:getStringFromTypedArray.decode=getStringFromTypedArray.decodeWithFromCharCode;var Intersections2D={};function QuantizedMeshTerrainData(e){this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;var t=this._quantizedVertices.length/3,i=this._uValues=this._quantizedVertices.subarray(0,t),r=this._vValues=this._quantizedVertices.subarray(t,2*t);function n(e,t){return r[e]-r[t]}function a(e,t){return i[e]-i[t]}this._heightValues=this._quantizedVertices.subarray(2*t,3*t),this._westIndices=sortIndicesIfNecessary(e.westIndices,n,t),this._southIndices=sortIndicesIfNecessary(e.southIndices,a,t),this._eastIndices=sortIndicesIfNecessary(e.eastIndices,n,t),this._northIndices=sortIndicesIfNecessary(e.northIndices,a,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=defaultValue(e.childTileMask,15),this._createdByUpsampling=defaultValue(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Intersections2D.clipTriangleAtAxisAlignedThreshold=function(e,t,i,r,n,a){var o,s,l;defined(a)?a.length=0:a=[],l=t?(o=i<e,s=r<e,n<e):(o=e<i,s=e<r,e<n);var c,u,d,h,p,m,t=o+s+l;return 1===t?o?(c=(e-i)/(r-i),u=(e-i)/(n-i),a.push(1),a.push(2),1!==u&&(a.push(-1),a.push(0),a.push(2),a.push(u)),1!==c&&(a.push(-1),a.push(0),a.push(1),a.push(c))):s?(d=(e-r)/(n-r),h=(e-r)/(i-r),a.push(2),a.push(0),1!==h&&(a.push(-1),a.push(1),a.push(0),a.push(h)),1!==d&&(a.push(-1),a.push(1),a.push(2),a.push(d))):l&&(p=(e-n)/(i-n),m=(e-n)/(r-n),a.push(0),a.push(1),1!==m&&(a.push(-1),a.push(2),a.push(1),a.push(m)),1!==p&&(a.push(-1),a.push(2),a.push(0),a.push(p))):2===t?o||i===e?s||r===e?l||n===e||(u=(e-i)/(n-i),d=(e-r)/(n-r),a.push(2),a.push(-1),a.push(0),a.push(2),a.push(u),a.push(-1),a.push(1),a.push(2),a.push(d)):(m=(e-n)/(r-n),c=(e-i)/(r-i),a.push(1),a.push(-1),a.push(2),a.push(1),a.push(m),a.push(-1),a.push(0),a.push(1),a.push(c)):(h=(e-r)/(i-r),p=(e-n)/(i-n),a.push(0),a.push(-1),a.push(1),a.push(0),a.push(h),a.push(-1),a.push(2),a.push(0),a.push(p)):3!==t&&(a.push(0),a.push(1),a.push(2)),a},Intersections2D.computeBarycentricCoordinates=function(e,t,i,r,n,a,o,s,l){var c=i-o,i=o-n,n=a-s,a=r-s,r=1/(n*c+i*a),s=t-s,o=e-o,i=(n*o+i*s)*r,s=(-a*o+c*s)*r,r=1-i-s;return defined(l)?(l.x=i,l.y=s,l.z=r,l):new Cartesian3(i,s,r)},Intersections2D.computeLineSegmentLineSegmentIntersection=function(e,t,i,r,n,a,o,s,l){var c=(o-n)*(t-a)-(s-a)*(e-n),u=(i-e)*(t-a)-(r-t)*(e-n),n=(s-a)*(i-e)-(o-n)*(r-t);if(0!=n){c=c/n,n=u/n;return 0<=c&&c<=1&&0<=n&&n<=1?(defined(l)||(l=new Cartesian2),l.x=e+c*(i-e),l.y=t+c*(r-t),l):void 0}},Object.defineProperties(QuantizedMeshTerrainData.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return defined(this._mesh)}}});var arrayScratch=[];function sortIndicesIfNecessary(e,t,i){arrayScratch.length=e.length;for(var r=!1,n=0,a=e.length;n<a;++n)arrayScratch[n]=e[n],r=r||0<n&&0<t(e[n-1],e[n]);return r?(arrayScratch.sort(t),IndexDatatype$1.createTypedArray(i,arrayScratch)):e}var createMeshTaskProcessor=new TaskProcessor("createVerticesFromQuantizedTerrainMesh");QuantizedMeshTerrainData.prototype.createMesh=function(e,t,i,r,h){var n=e.ellipsoid,r=e.tileXYToRectangle(t,i,r);h=defaultValue(h,1);n=createMeshTaskProcessor.scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:r,relativeToCenter:this._boundingSphere.center,ellipsoid:n,exaggeration:h});if(defined(n)){var p=this;return when(n,function(e){var t=p._quantizedVertices.length/3,i=t+p._westIndices.length+p._southIndices.length+p._eastIndices.length+p._northIndices.length,r=IndexDatatype$1.createTypedArray(i,e.indices),n=new Float32Array(e.vertices),a=e.center,o=e.minimumHeight,s=e.maximumHeight,l=defaultValue(BoundingSphere.clone(e.boundingSphere),p._boundingSphere),c=defaultValue(OrientedBoundingBox.clone(e.orientedBoundingBox),p._orientedBoundingBox),u=defaultValue(Cartesian3.clone(e.occludeePointInScaledSpace),p._horizonOcclusionPoint),d=e.vertexStride,i=TerrainEncoding.clone(e.encoding);return p._mesh=new TerrainMesh(a,n,r,e.indexCountWithoutSkirts,t,o,s,l,u,d,c,i,h,e.westIndicesSouthToNorth,e.southIndicesEastToWest,e.eastIndicesNorthToSouth,e.northIndicesWestToEast),p._quantizedVertices=void 0,p._encodedNormals=void 0,p._indices=void 0,p._uValues=void 0,p._vValues=void 0,p._heightValues=void 0,p._westIndices=void 0,p._southIndices=void 0,p._eastIndices=void 0,p._northIndices=void 0,p._mesh})}};var upsampleTaskProcessor=new TaskProcessor("upsampleQuantizedTerrainMesh");QuantizedMeshTerrainData.prototype.upsample=function(e,t,i,r,n,a,o){var s=this._mesh;if(defined(this._mesh)){var l=2*t!==n,t=2*i===a,i=e.ellipsoid,o=e.tileXYToRectangle(n,a,o),i=upsampleTaskProcessor.scheduleTask({vertices:s.vertices,vertexCountWithoutSkirts:s.vertexCountWithoutSkirts,indices:s.indices,indexCountWithoutSkirts:s.indexCountWithoutSkirts,encoding:s.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:l,isNorthChild:t,childRectangle:o,ellipsoid:i,exaggeration:s.exaggeration});if(defined(i)){s=Math.min(this._westSkirtHeight,this._eastSkirtHeight),s=Math.min(s,this._southSkirtHeight);s=Math.min(s,this._northSkirtHeight);var c=l?.5*s:this._westSkirtHeight,u=t?.5*s:this._southSkirtHeight,d=l?this._eastSkirtHeight:.5*s,h=t?this._northSkirtHeight:.5*s,p=this._credits;return when(i).then(function(e){var t,i=new Uint16Array(e.vertices),r=IndexDatatype$1.createTypedArray(i.length/3,e.indices);return defined(e.encodedNormals)&&(t=new Uint8Array(e.encodedNormals)),new QuantizedMeshTerrainData({quantizedVertices:i,indices:r,encodedNormals:t,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,boundingSphere:BoundingSphere.clone(e.boundingSphere),orientedBoundingBox:OrientedBoundingBox.clone(e.orientedBoundingBox),horizonOcclusionPoint:Cartesian3.clone(e.horizonOcclusionPoint),westIndices:e.westIndices,southIndices:e.southIndices,eastIndices:e.eastIndices,northIndices:e.northIndices,westSkirtHeight:c,southSkirtHeight:u,eastSkirtHeight:d,northSkirtHeight:h,childTileMask:0,credits:p,createdByUpsampling:!0})})}}};var maxShort=32767,barycentricCoordinateScratch=new Cartesian3;function pointInBoundingBox(e,t,i,r,n,a,o,s){var l=Math.min(i,n,o),n=Math.max(i,n,o),o=Math.min(r,a,s),s=Math.max(r,a,s);return l<=e&&e<=n&&o<=t&&t<=s}QuantizedMeshTerrainData.prototype.interpolateHeight=function(e,t,i){t=CesiumMath.clamp((t-e.west)/e.width,0,1);t*=maxShort;e=CesiumMath.clamp((i-e.south)/e.height,0,1);return e*=maxShort,(defined(this._mesh)?interpolateMeshHeight$1:interpolateHeight$1)(this,t,e)};var texCoordScratch0=new Cartesian2,texCoordScratch1=new Cartesian2,texCoordScratch2=new Cartesian2;function interpolateMeshHeight$1(e,t,i){for(var e=e._mesh,r=e.vertices,n=e.encoding,a=e.indices,o=0,s=a.length;o<s;o+=3){var l=a[o],c=a[o+1],u=a[o+2],d=n.decodeTextureCoordinates(r,l,texCoordScratch0),h=n.decodeTextureCoordinates(r,c,texCoordScratch1),p=n.decodeTextureCoordinates(r,u,texCoordScratch2);if(pointInBoundingBox(t,i,d.x,d.y,h.x,h.y,p.x,p.y)){p=Intersections2D.computeBarycentricCoordinates(t,i,d.x,d.y,h.x,h.y,p.x,p.y,barycentricCoordinateScratch);if(-1e-15<=p.x&&-1e-15<=p.y&&-1e-15<=p.z){l=n.decodeHeight(r,l),c=n.decodeHeight(r,c),u=n.decodeHeight(r,u);return p.x*l+p.y*c+p.z*u}}}}function interpolateHeight$1(e,t,i){for(var r=e._uValues,n=e._vValues,a=e._heightValues,o=e._indices,s=0,l=o.length;s<l;s+=3){var c=o[s],u=o[s+1],d=o[s+2],h=r[c],p=r[u],m=r[d],f=n[c],g=n[u],_=n[d];if(pointInBoundingBox(t,i,h,f,p,g,m,_)){_=Intersections2D.computeBarycentricCoordinates(t,i,h,f,p,g,m,_,barycentricCoordinateScratch);if(-1e-15<=_.x&&-1e-15<=_.y&&-1e-15<=_.z){d=_.x*a[c]+_.y*a[u]+_.z*a[d];return CesiumMath.lerp(e._minimumHeight,e._maximumHeight,d/maxShort)}}}}function LayerInformation(e){this.resource=e.resource,this.version=e.version,this.isHeightmap=e.isHeightmap,this.tileUrlTemplates=e.tileUrlTemplates,this.availability=e.availability,this.hasVertexNormals=e.hasVertexNormals,this.hasWaterMask=e.hasWaterMask,this.hasMetadata=e.hasMetadata,this.availabilityLevels=e.availabilityLevels,this.availabilityTilesLoaded=e.availabilityTilesLoaded,this.littleEndianExtensionSize=e.littleEndianExtensionSize,this.availabilityPromiseCache={}}function CesiumTerrainProvider(e){this._heightmapWidth=65,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=defaultValue(e.requestVertexNormals,!1),this._requestWaterMask=defaultValue(e.requestWaterMask,!1),this._requestMetadata=defaultValue(e.requestMetadata,!0),this._errorEvent=new Event;var t=e.credit;"string"==typeof t&&(t=new Credit(t)),this._credit=t,this._availability=void 0;var i=when.defer();this._ready=!1,this._readyPromise=i,this._tileCredits=void 0;var C,v,S,T=this,b=this._layers=[],x="",E=[],P=0;function A(e){if(!e.format)return u="The tile format is not specified in the layer.json file.",void(S=TileProviderError.handleError(S,T,T._errorEvent,u,void 0,void 0,void 0,D));if(!e.tiles||0===e.tiles.length)return u="The layer.json file does not specify any tile URL templates.",void(S=TileProviderError.handleError(S,T,T._errorEvent,u,void 0,void 0,void 0,D));var t=!1,i=!1,r=!1,n=!0,a=!1;if("heightmap-1.0"===e.format)a=!0,defined(T._heightmapStructure)||(T._heightmapStructure={heightScale:.2,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:65535}),i=!0,T._requestWaterMask=!0;else if(0!==e.format.indexOf("quantized-mesh-1."))return u='The tile format "'+e.format+'" is invalid or not supported.',void(S=TileProviderError.handleError(S,T,T._errorEvent,u,void 0,void 0,void 0,D));var o,s=e.tiles,l=e.maxzoom;if(P=Math.max(P,l),e.projection&&"EPSG:4326"!==e.projection){if("EPSG:3857"!==e.projection)return u='The projection "'+e.projection+'" is invalid or not supported.',void(S=TileProviderError.handleError(S,T,T._errorEvent,u,void 0,void 0,void 0,D));T._tilingScheme=new WebMercatorTilingScheme({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:T._ellipsoid})}else T._tilingScheme=new GeographicTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:T._ellipsoid});if(T._levelZeroMaximumGeometricError=TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(T._tilingScheme.ellipsoid,T._heightmapWidth,T._tilingScheme.getNumberOfXTilesAtLevel(0)),e.scheme&&"tms"!==e.scheme&&"slippyMap"!==e.scheme)return u='The scheme "'+e.scheme+'" is invalid or not supported.',void(S=TileProviderError.handleError(S,T,T._errorEvent,u,void 0,void 0,void 0,D));T._scheme=e.scheme,defined(e.extensions)&&-1!==e.extensions.indexOf("octvertexnormals")?t=!0:defined(e.extensions)&&-1!==e.extensions.indexOf("vertexnormals")&&(n=!(t=!0)),defined(e.extensions)&&-1!==e.extensions.indexOf("watermask")&&(i=!0),defined(e.extensions)&&-1!==e.extensions.indexOf("metadata")&&(r=!0);var c,u=e.metadataAvailability,d=e.available;if(defined(d)&&!defined(u)){c=new TileAvailability(T._tilingScheme,d.length);for(var h=0;h<d.length;++h){var p=d[h],m=T._tilingScheme.getNumberOfYTilesAtLevel(h);defined(E[h])||(E[h]=[]);for(var f=0;f<p.length;++f){var g=p[f],_=m-g.endY-1,y=m-g.startY-1;E[h].push([g.startX,_,g.endX,y]),c.addAvailableTileRange(h,g.startX,_,g.endX,y)}}}else defined(u)&&(o=new TileAvailability(T._tilingScheme,l),c=new TileAvailability(T._tilingScheme,l),E[0]=[[0,0,1,0]],c.addAvailableTileRange(0,0,0,1,0));T._hasWaterMask=T._hasWaterMask||i,T._hasVertexNormals=T._hasVertexNormals||t,T._hasMetadata=T._hasMetadata||r,defined(e.attribution)&&(0<x.length&&(x+=" "),x+=e.attribution),b.push(new LayerInformation({resource:C,version:e.version,isHeightmap:a,tileUrlTemplates:s,availability:c,hasVertexNormals:t,hasWaterMask:i,hasMetadata:r,availabilityLevels:u,availabilityTilesLoaded:o,littleEndianExtensionSize:n}));e=e.parentUrl;return defined(e)?defined(c)?((C=C.getDerivedResource({url:e})).appendForwardSlash(),when((v=C.getDerivedResource({url:"layer.json"})).fetchJson(),A,w)):(console.log("A layer.json can't have a parentUrl if it does't have an available array."),when.resolve()):when.resolve()}function w(e){var t="An error occurred while accessing "+v.url+".";S=TileProviderError.handleError(S,T,T._errorEvent,t,void 0,void 0,void 0,D)}function r(e){A(e).then(function(){if(!defined(S)){var e,t=E.length;if(0<t)for(var i=T._availability=new TileAvailability(T._tilingScheme,P),r=0;r<t;++r)for(var n=E[r],a=0;a<n.length;++a){var o=n[a];i.addAvailableTileRange(r,o[0],o[1],o[2],o[3])}0<x.length&&(e=new Credit(x),defined(T._tileCredits)?T._tileCredits.push(e):T._tileCredits=[e]),T._ready=!0,T._readyPromise.resolve(!0)}})}function n(e){defined(e)&&404===e.statusCode?r({tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]}):w()}function D(){when(v.fetchJson()).then(r).otherwise(n)}when(e.url).then(function(e){e=Resource.createIfNeeded(e);e.appendForwardSlash(),v=(C=e).getDerivedResource({url:"layer.json"}),T._tileCredits=e.credits,D()}).otherwise(function(e){i.reject(e)})}QuantizedMeshTerrainData.prototype.isChildAvailable=function(e,t,i,r){var n=2;return i!==2*e&&++n,r!==2*t&&(n-=2),0!=(this._childTileMask&1<<n)},QuantizedMeshTerrainData.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var QuantizedMeshExtensionIds={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function getRequestHeader(e){return defined(e)&&0!==e.length?{Accept:"application/vnd.quantized-mesh;extensions="+e.join("-")+",application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}}function createHeightmapTerrainData(e,t,i,r,n){var a=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new HeightmapTerrainData({buffer:a,childTileMask:new Uint8Array(t,a.byteLength,1)[0],waterMask:new Uint8Array(t,a.byteLength+1,t.byteLength-a.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function createQuantizedMeshTerrainData(e,t,i,r,n,a){var o=a.littleEndianExtensionSize,s=0,l=3*Float64Array.BYTES_PER_ELEMENT,c=4*Float64Array.BYTES_PER_ELEMENT,u=3*Uint16Array.BYTES_PER_ELEMENT,d=Uint16Array.BYTES_PER_ELEMENT,h=3*d,p=new DataView(t),m=new Cartesian3(p.getFloat64(s,!0),p.getFloat64(s+8,!0),p.getFloat64(s+16,!0));s+=l;var f=p.getFloat32(s,!0);s+=Float32Array.BYTES_PER_ELEMENT;var g=p.getFloat32(s,!0);s+=Float32Array.BYTES_PER_ELEMENT;var _=new BoundingSphere(new Cartesian3(p.getFloat64(s,!0),p.getFloat64(s+8,!0),p.getFloat64(s+16,!0)),p.getFloat64(s+l,!0));s+=c;var y=new Cartesian3(p.getFloat64(s,!0),p.getFloat64(s+8,!0),p.getFloat64(s+16,!0));s+=l;var C=p.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;var v=new Uint16Array(t,s,3*C);s+=C*u,65536<C&&(h=3*(d=Uint32Array.BYTES_PER_ELEMENT));var S=v.subarray(0,C),c=v.subarray(C,2*C),l=v.subarray(2*C,3*C);AttributeCompression.zigZagDeltaDecode(S,c,l),s%d!=0&&(s+=d-s%d);u=p.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;var T=IndexDatatype$1.createTypedArrayFromArrayBuffer(C,t,s,3*u);s+=u*h;for(var b=0,x=T.length,E=0;E<x;++E){var P=T[E];T[E]=b-P,0===P&&++b}S=p.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;c=IndexDatatype$1.createTypedArrayFromArrayBuffer(C,t,s,S);s+=S*d;l=p.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;u=IndexDatatype$1.createTypedArrayFromArrayBuffer(C,t,s,l);s+=l*d;h=p.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;S=IndexDatatype$1.createTypedArrayFromArrayBuffer(C,t,s,h);s+=h*d;l=p.getUint32(s,!0);s+=Uint32Array.BYTES_PER_ELEMENT;var A,w,h=IndexDatatype$1.createTypedArrayFromArrayBuffer(C,t,s,l);for(s+=l*d;s<p.byteLength;){var D=p.getUint8(s,!0);s+=Uint8Array.BYTES_PER_ELEMENT;var M=p.getUint32(s,o);if(s+=Uint32Array.BYTES_PER_ELEMENT,D===QuantizedMeshExtensionIds.OCT_VERTEX_NORMALS&&e._requestVertexNormals)A=new Uint8Array(t,s,2*C);else if(D===QuantizedMeshExtensionIds.WATER_MASK&&e._requestWaterMask)w=new Uint8Array(t,s,M);else if(D===QuantizedMeshExtensionIds.METADATA&&e._requestMetadata){D=p.getUint32(s,!0);if(0<D){var D=getStringFromTypedArray(new Uint8Array(t),s+Uint32Array.BYTES_PER_ELEMENT,D),I=JSON.parse(D).available;if(defined(I))for(var R=0;R<I.length;++R)for(var O=i+R+1,L=I[R],F=e._tilingScheme.getNumberOfYTilesAtLevel(O),N=0;N<L.length;++N){var B=L[N],V=F-B.endY-1,k=F-B.startY-1;e.availability.addAvailableTileRange(O,B.startX,V,B.endX,k),a.availability.addAvailableTileRange(O,B.startX,V,B.endX,k)}}a.availabilityTilesLoaded.addAvailableTileRange(i,r,n,r,n)}s+=M}l=5*e.getLevelMaximumGeometricError(i),d=e._tilingScheme.tileXYToRectangle(r,n,i);return new QuantizedMeshTerrainData({center:m,minimumHeight:f,maximumHeight:g,boundingSphere:_,orientedBoundingBox:OrientedBoundingBox.fromRectangle(d,f,g,e._tilingScheme.ellipsoid),horizonOcclusionPoint:y,quantizedVertices:v,encodedNormals:A,indices:T,westIndices:c,southIndices:u,eastIndices:S,northIndices:h,westSkirtHeight:l,southSkirtHeight:l,eastSkirtHeight:l,northSkirtHeight:l,childTileMask:e.availability.computeChildMaskForTile(i,r,n),waterMask:w,credits:e._tileCredits})}function requestTileGeometry(t,i,r,n,a,e){if(!defined(a))return when.reject(new RuntimeError("Terrain tile doesn't exist"));var o,s=a.tileUrlTemplates;if(0!==s.length){o=t._scheme&&"tms"!==t._scheme?r:t._tilingScheme.getNumberOfYTilesAtLevel(n)-r-1;var l,c=[];t._requestVertexNormals&&a.hasVertexNormals&&c.push(a.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),t._requestWaterMask&&a.hasWaterMask&&c.push("watermask"),t._requestMetadata&&a.hasMetadata&&c.push("metadata");var u=s[(i+o+n)%s.length],s=a.resource,c=defined(s._ionEndpoint)&&!defined(s._ionEndpoint.externalType)?(0!==c.length&&(l={extensions:c.join("-")}),getRequestHeader(void 0)):getRequestHeader(c),e=s.getDerivedResource({url:u,templateValues:{version:a.version,z:n,x:i,y:o},queryParameters:l,headers:c,request:e}).fetchArrayBuffer();if(defined(e))return e.then(function(e){return defined(t._heightmapStructure)?createHeightmapTerrainData(t,e):createQuantizedMeshTerrainData(t,e,n,i,r,a)})}}function getAvailabilityTile(e,t,i,r){if(0!==r){e=e.availabilityLevels,e=r%e==0?r-e:(r/e|0)*e,r=1<<r-e;return{level:e,x:t/r|0,y:i/r|0}}}function checkLayer(e,t,i,r,n,a){if(!defined(n.availabilityLevels))return{result:!1};for(var o,s,l,c=function(){delete n.availabilityPromiseCache[l]},u=n.availabilityTilesLoaded,d=n.availability,h=getAvailabilityTile(n,t,i,r);defined(h);){if(d.isTileAvailable(h.level,h.x,h.y)&&!u.isTileAvailable(h.level,h.x,h.y))return a||(l=h.level+"-"+h.x+"-"+h.y,defined(s=n.availabilityPromiseCache[l])||(o=new Request({throttle:!1,throttleByServer:!0,type:RequestType$1.TERRAIN}),defined(s=requestTileGeometry(e,h.x,h.y,h.level,n,o))&&(n.availabilityPromiseCache[l]=s).then(c))),{result:!0,promise:s};h=getAvailabilityTile(n,h.x,h.y,h.level)}return{result:!1}}CesiumTerrainProvider.prototype.requestTileGeometry=function(e,t,i,r){var n,a=this._layers,o=a.length;if(1===o)n=a[0];else for(var s=0;s<o;++s){var l=a[s];if(!defined(l.availability)||l.availability.isTileAvailable(i,e,t)){n=l;break}}return requestTileGeometry(this,e,t,i,n,r)},Object.defineProperties(CesiumTerrainProvider.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}}),CesiumTerrainProvider.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)},CesiumTerrainProvider.prototype.getTileDataAvailable=function(e,t,i){if(defined(this._availability)){if(i>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(i,e,t))return!0;if(!this._hasMetadata)return!1;for(var r=this._layers,n=r.length,a=0;a<n;++a)if(checkLayer(this,e,t,i,r[a],0===a).result)return;return!1}},CesiumTerrainProvider.prototype.loadTileDataAvailability=function(e,t,i){if(!(!defined(this._availability)||i>this._availability._maximumLevel||this._availability.isTileAvailable(i,e,t))&&this._hasMetadata)for(var r=this._layers,n=r.length,a=0;a<n;++a){var o=checkLayer(this,e,t,i,r[a],0===a);if(defined(o.promise))return o.promise}},CesiumTerrainProvider._getAvailabilityTile=getAvailabilityTile;var EllipseGeometryLibrary={},rotAxis=new Cartesian3,tempVec=new Cartesian3,unitQuat=new Quaternion,rotMtx=new Matrix3;function pointOnEllipsoid(e,t,i,r,n,a,o,s,l,c){t=e+t;Cartesian3.multiplyByScalar(r,Math.cos(t),rotAxis),Cartesian3.multiplyByScalar(i,Math.sin(t),tempVec),Cartesian3.add(rotAxis,tempVec,rotAxis);t=Math.cos(e);t*=t;e=Math.sin(e);e*=e;e=a/Math.sqrt(o*t+n*e)/s;return Quaternion.fromAxisAngle(rotAxis,e,unitQuat),Matrix3.fromQuaternion(unitQuat,rotMtx),Matrix3.multiplyByVector(rotMtx,l,c),Cartesian3.normalize(c,c),Cartesian3.multiplyByScalar(c,s,c),c}var scratchCartesian1$2=new Cartesian3,scratchCartesian2$2=new Cartesian3,scratchCartesian3$3=new Cartesian3,scratchNormal$1=new Cartesian3;EllipseGeometryLibrary.raisePositionsToHeight=function(e,t,i){for(var r=t.ellipsoid,n=t.height,a=t.extrudedHeight,t=i?e.length/3*2:e.length/3,o=new Float64Array(3*t),s=e.length,l=i?s:0,c=0;c<s;c+=3){var u=c+1,d=c+2,h=Cartesian3.fromArray(e,c,scratchCartesian1$2);r.scaleToGeodeticSurface(h,h);var p=Cartesian3.clone(h,scratchCartesian2$2),m=r.geodeticSurfaceNormal(h,scratchNormal$1),f=Cartesian3.multiplyByScalar(m,n,scratchCartesian3$3);Cartesian3.add(h,f,h),i&&(Cartesian3.multiplyByScalar(m,a,f),Cartesian3.add(p,f,p),o[c+l]=p.x,o[u+l]=p.y,o[d+l]=p.z),o[c]=h.x,o[u]=h.y,o[d]=h.z}return o};var unitPosScratch=new Cartesian3,eastVecScratch=new Cartesian3,northVecScratch=new Cartesian3;function GeometryInstance(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=defaultValue(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}function EncodedCartesian3(){this.high=Cartesian3.clone(Cartesian3.ZERO),this.low=Cartesian3.clone(Cartesian3.ZERO)}EllipseGeometryLibrary.computeEllipsePositions=function(e,t,i){var r=e.semiMinorAxis,n=e.semiMajorAxis,a=e.rotation,o=e.center,e=8*e.granularity,s=r*r,l=n*n,c=n*r,u=Cartesian3.magnitude(o),d=Cartesian3.normalize(o,unitPosScratch),h=Cartesian3.cross(Cartesian3.UNIT_Z,o,eastVecScratch),h=Cartesian3.normalize(h,h),p=Cartesian3.cross(d,h,northVecScratch),m=1+Math.ceil(CesiumMath.PI_OVER_TWO/e),f=CesiumMath.PI_OVER_TWO/(m-1),g=CesiumMath.PI_OVER_TWO-m*f;g<0&&(m-=Math.ceil(Math.abs(g)/f));var _,y,C,v,S,T=t?new Array(3*(m*(m+2)*2)):void 0,b=0,x=scratchCartesian1$2,E=scratchCartesian2$2,e=4*m*3,P=e-1,A=0,w=i?new Array(e):void 0,x=pointOnEllipsoid(g=CesiumMath.PI_OVER_TWO,a,p,h,s,c,l,u,d,x);for(t&&(T[b++]=x.x,T[b++]=x.y,T[b++]=x.z),i&&(w[P--]=x.z,w[P--]=x.y,w[P--]=x.x),g=CesiumMath.PI_OVER_TWO-f,_=1;_<m+1;++_){if(x=pointOnEllipsoid(g,a,p,h,s,c,l,u,d,x),E=pointOnEllipsoid(Math.PI-g,a,p,h,s,c,l,u,d,E),t){for(T[b++]=x.x,T[b++]=x.y,T[b++]=x.z,C=2*_+2,y=1;y<C-1;++y)v=y/(C-1),S=Cartesian3.lerp(x,E,v,scratchCartesian3$3),T[b++]=S.x,T[b++]=S.y,T[b++]=S.z;T[b++]=E.x,T[b++]=E.y,T[b++]=E.z}i&&(w[P--]=x.z,w[P--]=x.y,w[P--]=x.x,w[A++]=E.x,w[A++]=E.y,w[A++]=E.z),g=CesiumMath.PI_OVER_TWO-(_+1)*f}for(_=m;1<_;--_){if(x=pointOnEllipsoid(-(g=CesiumMath.PI_OVER_TWO-(_-1)*f),a,p,h,s,c,l,u,d,x),E=pointOnEllipsoid(g+Math.PI,a,p,h,s,c,l,u,d,E),t){for(T[b++]=x.x,T[b++]=x.y,T[b++]=x.z,C=2*(_-1)+2,y=1;y<C-1;++y)v=y/(C-1),S=Cartesian3.lerp(x,E,v,scratchCartesian3$3),T[b++]=S.x,T[b++]=S.y,T[b++]=S.z;T[b++]=E.x,T[b++]=E.y,T[b++]=E.z}i&&(w[P--]=x.z,w[P--]=x.y,w[P--]=x.x,w[A++]=E.x,w[A++]=E.y,w[A++]=E.z)}x=pointOnEllipsoid(-(g=CesiumMath.PI_OVER_TWO),a,p,h,s,c,l,u,d,x);e={};return t&&(T[b++]=x.x,T[b++]=x.y,T[b++]=x.z,e.positions=T,e.numPts=m),i&&(w[P--]=x.z,w[P--]=x.y,w[P--]=x.x,e.outerPositions=w),e},EncodedCartesian3.encode=function(e,t){var i;return defined(t)||(t={high:0,low:0}),0<=e?(i=65536*Math.floor(e/65536),t.high=i,t.low=e-i):(i=65536*Math.floor(-e/65536),t.high=-i,t.low=e+i),t};var scratchEncode={high:0,low:0};EncodedCartesian3.fromCartesian=function(e,t){defined(t)||(t=new EncodedCartesian3);var i=t.high,r=t.low;return EncodedCartesian3.encode(e.x,scratchEncode),i.x=scratchEncode.high,r.x=scratchEncode.low,EncodedCartesian3.encode(e.y,scratchEncode),i.y=scratchEncode.high,r.y=scratchEncode.low,EncodedCartesian3.encode(e.z,scratchEncode),i.z=scratchEncode.high,r.z=scratchEncode.low,t};var encodedP=new EncodedCartesian3;EncodedCartesian3.writeElements=function(e,t,i){EncodedCartesian3.fromCartesian(e,encodedP);var r=encodedP.high,e=encodedP.low;t[i]=r.x,t[i+1]=r.y,t[i+2]=r.z,t[i+3]=e.x,t[i+4]=e.y,t[i+5]=e.z};var Tipsify={calculateACMR:function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).indices,i=e.maximumIndex,r=defaultValue(e.cacheSize,24),n=t.length;if(!defined(i))for(var a=i=0,o=t[a];a<n;)i<o&&(i=o),o=t[++a];for(var s=[],l=0;l<i+1;l++)s[l]=0;for(var c=r+1,u=0;u<n;++u)c-s[t[u]]>r&&(s[t[u]]=c,++c);return(c-r+1)/(n/3)}};Tipsify.tipsify=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).indices,i=e.maximumIndex,r=defaultValue(e.cacheSize,24);function n(e,t,i,r,n,a,o){for(var s,l=-1,c=-1,u=0;u<i.length;){var d=i[u];r[d].numLiveTriangles&&(s=0,n-r[d].timeStamp+2*r[d].numLiveTriangles<=t&&(s=n-r[d].timeStamp),(c<s||-1===c)&&(c=s,l=d)),++u}return-1===l?function(e,t,i){for(;1<=t.length;){var r=t[t.length-1];if(t.splice(t.length-1,1),0<e[r].numLiveTriangles)return r}for(;_<i;){if(0<e[_].numLiveTriangles)return++_-1;++_}return-1}(r,a,o):l}var e=t.length,a=0,o=0,s=t[o],l=e;if(defined(i))a=i+1;else{for(;o<l;)a<s&&(a=s),s=t[++o];if(-1===a)return 0;++a}for(var c=[],u=0;u<a;u++)c[u]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};for(var d=o=0;o<l;)c[t[o]].vertexTriangles.push(d),++c[t[o]].numLiveTriangles,c[t[o+1]].vertexTriangles.push(d),++c[t[o+1]].numLiveTriangles,c[t[o+2]].vertexTriangles.push(d),++c[t[o+2]].numLiveTriangles,++d,o+=3;var h,p,m,f=0,g=r+1,_=1,y=[],C=[],v=0,S=[],T=e/3,b=[];for(u=0;u<T;u++)b[u]=!1;for(;-1!==f;){y=[],m=(h=c[f]).vertexTriangles.length;for(var x=0;x<m;++x)if(!b[d=h.vertexTriangles[x]]){b[d]=!0,o=d+d+d;for(var E=0;E<3;++E)p=t[o],y.push(p),C.push(p),S[v]=p,++v,--(p=c[p]).numLiveTriangles,g-p.timeStamp>r&&(p.timeStamp=g,++g),++o}f=n(0,r,y,c,g,C,a)}return S};var GeometryPipeline={};function addTriangle(e,t,i,r,n){e[t++]=i,e[t++]=r,e[t++]=r,e[t++]=n,e[t++]=n,e[t]=i}function trianglesToLines(e){for(var t=e.length,i=t/3*6,r=IndexDatatype$1.createTypedArray(t,i),n=0,a=0;a<t;a+=3,n+=6)addTriangle(r,n,e[a],e[a+1],e[a+2]);return r}function triangleStripToLines(e){var t=e.length;if(3<=t){var i=6*(t-2),r=IndexDatatype$1.createTypedArray(t,i);addTriangle(r,0,e[0],e[1],e[2]);for(var n=6,a=3;a<t;++a,n+=6)addTriangle(r,n,e[a-1],e[a],e[a-2]);return r}return new Uint16Array}function triangleFanToLines(e){if(0<e.length){for(var t=e.length-1,i=6*(t-1),r=IndexDatatype$1.createTypedArray(t,i),n=e[0],a=0,o=1;o<t;++o,a+=6)addTriangle(r,a,n,e[o],e[o+1]);return r}return new Uint16Array}function copyAttributesDescriptions(e){var t,i,r={};for(t in e)e.hasOwnProperty(t)&&defined(e[t])&&defined(e[t].values)&&(i=e[t],r[t]=new GeometryAttribute({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]}));return r}function copyVertex(e,t,i){for(var r in t)if(t.hasOwnProperty(r)&&defined(t[r])&&defined(t[r].values))for(var n=t[r],a=0;a<n.componentsPerAttribute;++a)e[r].values.push(n.values[i*n.componentsPerAttribute+a])}GeometryPipeline.toWireframe=function(e){var t=e.indices;if(defined(t)){switch(e.primitiveType){case PrimitiveType$1.TRIANGLES:e.indices=trianglesToLines(t);break;case PrimitiveType$1.TRIANGLE_STRIP:e.indices=triangleStripToLines(t);break;case PrimitiveType$1.TRIANGLE_FAN:e.indices=triangleFanToLines(t)}e.primitiveType=PrimitiveType$1.LINES}return e},GeometryPipeline.createLineSegmentsForVectors=function(e,t,i){t=defaultValue(t,"normal"),i=defaultValue(i,1e4);for(var r,n=e.attributes.position.values,a=e.attributes[t].values,o=n.length,s=new Float64Array(2*o),l=0,c=0;c<o;c+=3)s[l++]=n[c],s[l++]=n[c+1],s[l++]=n[c+2],s[l++]=n[c]+a[c]*i,s[l++]=n[c+1]+a[c+1]*i,s[l++]=n[c+2]+a[c+2]*i;e=e.boundingSphere;return defined(e)&&(r=new BoundingSphere(e.center,e.radius+i)),new Geometry({attributes:{position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:PrimitiveType$1.LINES,boundingSphere:r})},GeometryPipeline.createAttributeLocations=function(e){for(var t,i=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],r=e.attributes,n={},a=0,o=i.length,s=0;s<o;++s){var l=i[s];defined(r[l])&&(n[l]=a++)}for(t in r)r.hasOwnProperty(t)&&!defined(n[t])&&(n[t]=a++);return n},GeometryPipeline.reorderForPreVertexCache=function(e){var t=Geometry.computeNumberOfVertices(e),i=e.indices;if(defined(i)){for(var r=new Int32Array(t),n=0;n<t;n++)r[n]=-1;for(var a,o=i,s=o.length,l=IndexDatatype$1.createTypedArray(t,s),c=0,u=0,d=0;c<s;)-1!==(a=r[o[c]])?l[u]=a:(r[a=o[c]]=d,l[u]=d,++d),++c,++u;e.indices=l;var h,p=e.attributes;for(h in p)if(p.hasOwnProperty(h)&&defined(p[h])&&defined(p[h].values)){for(var m=p[h],f=m.values,g=0,_=m.componentsPerAttribute,y=ComponentDatatype$1.createTypedArray(m.componentDatatype,d*_);g<t;){var C=r[g];if(-1!==C)for(var v=0;v<_;v++)y[_*C+v]=f[_*g+v];++g}m.values=y}}return e},GeometryPipeline.reorderForPostVertexCache=function(e,t){var i=e.indices;if(e.primitiveType===PrimitiveType$1.TRIANGLES&&defined(i)){for(var r=i.length,n=0,a=0;a<r;a++)i[a]>n&&(n=i[a]);e.indices=Tipsify.tipsify({indices:i,maximumIndex:n,cacheSize:t})}return e},GeometryPipeline.fitToUnsignedShortIndices=function(e){var t=[],i=Geometry.computeNumberOfVertices(e);if(defined(e.indices)&&i>=CesiumMath.SIXTY_FOUR_KILOBYTES){var r,n=[],a=[],o=0,s=copyAttributesDescriptions(e.attributes),l=e.indices,c=l.length;e.primitiveType===PrimitiveType$1.TRIANGLES?r=3:e.primitiveType===PrimitiveType$1.LINES?r=2:e.primitiveType===PrimitiveType$1.POINTS&&(r=1);for(var u=0;u<c;u+=r){for(var d=0;d<r;++d){var h=l[u+d],p=n[h];defined(p)||(p=o++,n[h]=p,copyVertex(s,e.attributes,h)),a.push(p)}o+r>=CesiumMath.SIXTY_FOUR_KILOBYTES&&(t.push(new Geometry({attributes:s,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),n=[],a=[],o=0,s=copyAttributesDescriptions(e.attributes))}0!==a.length&&t.push(new Geometry({attributes:s,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var scratchProjectTo2DCartesian3=new Cartesian3,scratchProjectTo2DCartographic=new Cartographic;GeometryPipeline.projectTo2D=function(e,t,i,r,n){for(var a=e.attributes[t],o=(n=defined(n)?n:new GeographicProjection).ellipsoid,s=a.values,l=new Float64Array(s.length),c=0,u=0;u<s.length;u+=3){var d=Cartesian3.fromArray(s,u,scratchProjectTo2DCartesian3),d=o.cartesianToCartographic(d,scratchProjectTo2DCartographic),d=n.project(d,scratchProjectTo2DCartesian3);l[c++]=d.x,l[c++]=d.y,l[c++]=d.z}return e.attributes[i]=a,e.attributes[r]=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:l}),delete e.attributes[t],e};var encodedResult={high:0,low:0};GeometryPipeline.encodeAttribute=function(e,t,i,r){for(var n=e.attributes[t],a=n.values,o=a.length,s=new Float32Array(o),l=new Float32Array(o),c=0;c<o;++c)EncodedCartesian3.encode(a[c],encodedResult),s[c]=encodedResult.high,l[c]=encodedResult.low;n=n.componentsPerAttribute;return e.attributes[i]=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:n,values:s}),e.attributes[r]=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:n,values:l}),delete e.attributes[t],e};var scratchCartesian3$4=new Cartesian3;function transformPoint(e,t){if(defined(t))for(var i=t.values,r=i.length,n=0;n<r;n+=3)Cartesian3.unpack(i,n,scratchCartesian3$4),Matrix4.multiplyByPoint(e,scratchCartesian3$4,scratchCartesian3$4),Cartesian3.pack(scratchCartesian3$4,i,n)}function transformVector(e,t){if(defined(t))for(var i=t.values,r=i.length,n=0;n<r;n+=3)Cartesian3.unpack(i,n,scratchCartesian3$4),Matrix3.multiplyByVector(e,scratchCartesian3$4,scratchCartesian3$4),scratchCartesian3$4=Cartesian3.normalize(scratchCartesian3$4,scratchCartesian3$4),Cartesian3.pack(scratchCartesian3$4,i,n)}var inverseTranspose=new Matrix4,normalMatrix=new Matrix3;function findAttributesInAllGeometries(e,t){var i,r=e.length,n={},a=e[0][t].attributes;for(i in a)if(a.hasOwnProperty(i)&&defined(a[i])&&defined(a[i].values)){for(var o=a[i],s=o.values.length,l=!0,c=1;c<r;++c){var u=e[c][t].attributes[i];if(!defined(u)||o.componentDatatype!==u.componentDatatype||o.componentsPerAttribute!==u.componentsPerAttribute||o.normalize!==u.normalize){l=!1;break}s+=u.values.length}l&&(n[i]=new GeometryAttribute({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:ComponentDatatype$1.createTypedArray(o.componentDatatype,s)}))}return n}GeometryPipeline.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(Matrix4.equals(t,Matrix4.IDENTITY))return e;var i=e.geometry.attributes;transformPoint(t,i.position),transformPoint(t,i.prevPosition),transformPoint(t,i.nextPosition),(defined(i.normal)||defined(i.tangent)||defined(i.bitangent))&&(Matrix4.inverse(t,inverseTranspose),Matrix4.transpose(inverseTranspose,inverseTranspose),Matrix4.getMatrix3(inverseTranspose,normalMatrix),transformVector(normalMatrix,i.normal),transformVector(normalMatrix,i.tangent),transformVector(normalMatrix,i.bitangent));i=e.geometry.boundingSphere;return defined(i)&&(e.geometry.boundingSphere=BoundingSphere.transform(i,t,i)),e.modelMatrix=Matrix4.clone(Matrix4.IDENTITY),e};var tempScratch=new Cartesian3;function combineGeometries(e,t){var i,r,n,a,o,s=e.length,l=(e[0].modelMatrix,defined(e[0][t].indices)),c=e[0][t].primitiveType,u=findAttributesInAllGeometries(e,t);for(i in u)if(u.hasOwnProperty(i))for(n=u[i].values,h=C=0;h<s;++h)for(o=(a=e[h][t].attributes[i].values).length,r=0;r<o;++r)n[C++]=a[r];if(l){for(var d=0,h=0;h<s;++h)d+=e[h][t].indices.length;var p=Geometry.computeNumberOfVertices(new Geometry({attributes:u,primitiveType:PrimitiveType$1.POINTS})),m=IndexDatatype$1.createTypedArray(p,d),f=0,g=0;for(h=0;h<s;++h){for(var _=e[h][t].indices,y=_.length,C=0;C<y;++C)m[f++]=g+_[C];g+=Geometry.computeNumberOfVertices(e[h][t])}p=m}var v,S=new Cartesian3,T=0;for(h=0;h<s;++h){if(!defined(v=e[h][t].boundingSphere)){S=void 0;break}Cartesian3.add(v.center,S,S)}if(defined(S))for(Cartesian3.divideByScalar(S,s,S),h=0;h<s;++h){v=e[h][t].boundingSphere;var b=Cartesian3.magnitude(Cartesian3.subtract(v.center,S,tempScratch))+v.radius;T<b&&(T=b)}return new Geometry({attributes:u,indices:p,primitiveType:c,boundingSphere:defined(S)?new BoundingSphere(S,T):void 0})}GeometryPipeline.combineInstances=function(e){for(var t=[],i=[],r=e.length,n=0;n<r;++n){var a=e[n];defined(a.geometry)?t.push(a):defined(a.westHemisphereGeometry)&&defined(a.eastHemisphereGeometry)&&i.push(a)}var o=[];return 0<t.length&&o.push(combineGeometries(t,"geometry")),0<i.length&&(o.push(combineGeometries(i,"westHemisphereGeometry")),o.push(combineGeometries(i,"eastHemisphereGeometry"))),o};var normal=new Cartesian3,v0=new Cartesian3,v1=new Cartesian3,v2=new Cartesian3;GeometryPipeline.computeNormal=function(e){for(var t=e.indices,i=e.attributes,r=i.position.values,n=i.position.values.length/3,a=t.length,o=new Array(n),s=new Array(a/3),l=new Array(a),c=0;c<n;c++)o[c]={indexOffset:0,count:0,currentCount:0};var u=0;for(c=0;c<a;c+=3){var d=t[c],h=t[c+1],p=t[c+2],m=3*d,f=3*h,g=3*p;v0.x=r[m],v0.y=r[1+m],v0.z=r[2+m],v1.x=r[f],v1.y=r[1+f],v1.z=r[2+f],v2.x=r[g],v2.y=r[1+g],v2.z=r[2+g],o[d].count++,o[h].count++,o[p].count++,Cartesian3.subtract(v1,v0,v1),Cartesian3.subtract(v2,v0,v2),s[u]=Cartesian3.cross(v1,v2,new Cartesian3),u++}var _=0;for(c=0;c<n;c++)o[c].indexOffset+=_,_+=o[c].count;for(c=u=0;c<a;c+=3){var y=(S=o[t[c]]).indexOffset+S.currentCount;l[y]=u,S.currentCount++,l[(S=o[t[c+1]]).indexOffset+S.currentCount]=u,S.currentCount++,l[(S=o[t[c+2]]).indexOffset+S.currentCount]=u,S.currentCount++,u++}var C=new Float32Array(3*n);for(c=0;c<n;c++){var v=3*c,S=o[c];if(Cartesian3.clone(Cartesian3.ZERO,normal),0<S.count){for(u=0;u<S.count;u++)Cartesian3.add(normal,s[l[S.indexOffset+u]],normal);Cartesian3.equalsEpsilon(Cartesian3.ZERO,normal,CesiumMath.EPSILON10)&&Cartesian3.clone(s[l[S.indexOffset]],normal)}Cartesian3.equalsEpsilon(Cartesian3.ZERO,normal,CesiumMath.EPSILON10)&&(normal.z=1),Cartesian3.normalize(normal,normal),C[v]=normal.x,C[1+v]=normal.y,C[2+v]=normal.z}return e.attributes.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:C}),e};var normalScratch$1=new Cartesian3,normalScale=new Cartesian3,tScratch=new Cartesian3;GeometryPipeline.computeTangentAndBitangent=function(e){e.attributes;for(var t=e.indices,i=e.attributes.position.values,r=e.attributes.normal.values,n=e.attributes.st.values,a=e.attributes.position.values.length/3,o=t.length,s=new Array(3*a),l=0;l<s.length;l++)s[l]=0;for(l=0;l<o;l+=3){var c,u=t[l],d=t[l+1],h=t[l+2],p=3*d,m=3*h,f=2*u,g=2*d,_=2*h,y=i[c=3*u],C=i[c+1],d=i[c+2],h=n[f],u=n[1+f],f=n[1+g]-u,u=n[1+_]-u,h=1/((n[g]-h)*u-(n[_]-h)*f),y=(u*(i[p]-y)-f*(i[m]-y))*h,C=(u*(i[p+1]-C)-f*(i[m+1]-C))*h,h=(u*(i[p+2]-d)-f*(i[m+2]-d))*h;s[c]+=y,s[c+1]+=C,s[c+2]+=h,s[p]+=y,s[p+1]+=C,s[p+2]+=h,s[m]+=y,s[m+1]+=C,s[m+2]+=h}var v=new Float32Array(3*a),S=new Float32Array(3*a);for(l=0;l<a;l++){p=(c=3*l)+1,m=c+2;var T=Cartesian3.fromArray(r,c,normalScratch$1),b=Cartesian3.fromArray(s,c,tScratch),x=Cartesian3.dot(T,b);Cartesian3.multiplyByScalar(T,x,normalScale),Cartesian3.normalize(Cartesian3.subtract(b,normalScale,b),b),v[c]=b.x,v[p]=b.y,v[m]=b.z,Cartesian3.normalize(Cartesian3.cross(T,b,b),b),S[c]=b.x,S[p]=b.y,S[m]=b.z}return e.attributes.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:v}),e.attributes.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:S}),e};var scratchCartesian2$3=new Cartesian2,toEncode1=new Cartesian3,toEncode2=new Cartesian3,toEncode3=new Cartesian3,encodeResult2=new Cartesian2;function indexTriangles(e){if(defined(e.indices))return e;for(var t=Geometry.computeNumberOfVertices(e),i=IndexDatatype$1.createTypedArray(t,t),r=0;r<t;++r)i[r]=r;return e.indices=i,e}function indexTriangleFan(e){var t=Geometry.computeNumberOfVertices(e),i=IndexDatatype$1.createTypedArray(t,3*(t-2));i[0]=1,i[1]=0,i[2]=2;for(var r=3,n=3;n<t;++n)i[r++]=n-1,i[r++]=0,i[r++]=n;return e.indices=i,e.primitiveType=PrimitiveType$1.TRIANGLES,e}function indexTriangleStrip(e){var t=Geometry.computeNumberOfVertices(e),i=IndexDatatype$1.createTypedArray(t,3*(t-2));i[0]=0,i[1]=1,i[2]=2,3<t&&(i[3]=0,i[4]=2,i[5]=3);for(var r=6,n=3;n<t-1;n+=2)i[r++]=n,i[r++]=n-1,i[r++]=n+1,n+2<t&&(i[r++]=n,i[r++]=n+1,i[r++]=n+2);return e.indices=i,e.primitiveType=PrimitiveType$1.TRIANGLES,e}function indexLines(e){if(defined(e.indices))return e;for(var t=Geometry.computeNumberOfVertices(e),i=IndexDatatype$1.createTypedArray(t,t),r=0;r<t;++r)i[r]=r;return e.indices=i,e}function indexLineStrip(e){var t=Geometry.computeNumberOfVertices(e),i=IndexDatatype$1.createTypedArray(t,2*(t-1));i[0]=0,i[1]=1;for(var r=2,n=2;n<t;++n)i[r++]=n-1,i[r++]=n;return e.indices=i,e.primitiveType=PrimitiveType$1.LINES,e}function indexLineLoop(e){var t=Geometry.computeNumberOfVertices(e),i=IndexDatatype$1.createTypedArray(t,2*t);i[0]=0,i[1]=1;for(var r=2,n=2;n<t;++n)i[r++]=n-1,i[r++]=n;return i[r++]=t-1,i[r]=0,e.indices=i,e.primitiveType=PrimitiveType$1.LINES,e}function indexPrimitive(e){switch(e.primitiveType){case PrimitiveType$1.TRIANGLE_FAN:return indexTriangleFan(e);case PrimitiveType$1.TRIANGLE_STRIP:return indexTriangleStrip(e);case PrimitiveType$1.TRIANGLES:return indexTriangles(e);case PrimitiveType$1.LINE_STRIP:return indexLineStrip(e);case PrimitiveType$1.LINE_LOOP:return indexLineLoop(e);case PrimitiveType$1.LINES:return indexLines(e)}return e}function offsetPointFromXZPlane(e,t){Math.abs(e.y)<CesiumMath.EPSILON6&&(e.y=t?-CesiumMath.EPSILON6:CesiumMath.EPSILON6)}function offsetTriangleFromXZPlane(e,t,i){if(0!==e.y&&0!==t.y&&0!==i.y)return offsetPointFromXZPlane(e,e.y<0),offsetPointFromXZPlane(t,t.y<0),void offsetPointFromXZPlane(i,i.y<0);var r=Math.abs(e.y),n=Math.abs(t.y),a=Math.abs(i.y),n=n<r?a<r?CesiumMath.sign(e.y):CesiumMath.sign(i.y):a<n?CesiumMath.sign(t.y):CesiumMath.sign(i.y),n=n<0;offsetPointFromXZPlane(e,n),offsetPointFromXZPlane(t,n),offsetPointFromXZPlane(i,n)}GeometryPipeline.compressVertices=function(e){var t=e.attributes.extrudeDirection;if(defined(t)){for(var i=t.values,r=i.length/3,n=new Float32Array(2*r),a=0,o=0;o<r;++o)Cartesian3.fromArray(i,3*o,toEncode1),Cartesian3.equals(toEncode1,Cartesian3.ZERO)?a+=2:(encodeResult2=AttributeCompression.octEncodeInRange(toEncode1,65535,encodeResult2),n[a++]=encodeResult2.x,n[a++]=encodeResult2.y);return e.attributes.compressedAttributes=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:n}),delete e.attributes.extrudeDirection,e}var s=e.attributes.normal,l=e.attributes.st,c=defined(s),u=defined(l);if(!c&&!u)return e;var d,h,p,m,f=e.attributes.tangent,t=e.attributes.bitangent,g=defined(f),_=defined(t);c&&(d=s.values),u&&(h=l.values),g&&(p=f.values),_&&(m=t.values);f=r=(c?d:h).length/(c?3:2),t=u&&c?2:1;f*=t+=g||_?1:0;var y=new Float32Array(f),C=0;for(o=0;o<r;++o){u&&(Cartesian2.fromArray(h,2*o,scratchCartesian2$3),y[C++]=AttributeCompression.compressTextureCoordinates(scratchCartesian2$3));var v=3*o;c&&defined(p)&&defined(m)?(Cartesian3.fromArray(d,v,toEncode1),Cartesian3.fromArray(p,v,toEncode2),Cartesian3.fromArray(m,v,toEncode3),AttributeCompression.octPack(toEncode1,toEncode2,toEncode3,scratchCartesian2$3),y[C++]=scratchCartesian2$3.x,y[C++]=scratchCartesian2$3.y):(c&&(Cartesian3.fromArray(d,v,toEncode1),y[C++]=AttributeCompression.octEncodeFloat(toEncode1)),g&&(Cartesian3.fromArray(p,v,toEncode1),y[C++]=AttributeCompression.octEncodeFloat(toEncode1)),_&&(Cartesian3.fromArray(m,v,toEncode1),y[C++]=AttributeCompression.octEncodeFloat(toEncode1)))}return e.attributes.compressedAttributes=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:t,values:y}),c&&delete e.attributes.normal,u&&delete e.attributes.st,_&&delete e.attributes.bitangent,g&&delete e.attributes.tangent,e};var c3=new Cartesian3;function getXZIntersectionOffsetPoints(e,t,i,r){Cartesian3.add(e,Cartesian3.multiplyByScalar(Cartesian3.subtract(t,e,c3),e.y/(e.y-t.y),c3),i),Cartesian3.clone(i,r),offsetPointFromXZPlane(i,!0),offsetPointFromXZPlane(r,!1)}var u1=new Cartesian3,u2=new Cartesian3,q1=new Cartesian3,q2=new Cartesian3,splitTriangleResult={positions:new Array(7),indices:new Array(9)};function splitTriangle(e,t,i){if(!(0<=e.x||0<=t.x||0<=i.x)){offsetTriangleFromXZPlane(e,t,i);var r=e.y<0,n=t.y<0,a=i.y<0,o=0;o+=r?1:0,o+=n?1:0,o+=a?1:0;var s=splitTriangleResult.indices;1==o?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,r?(getXZIntersectionOffsetPoints(e,t,u1,q1),getXZIntersectionOffsetPoints(e,i,u2,q2),s[0]=0,s[3]=1,s[4]=2,s[6]=1):n?(getXZIntersectionOffsetPoints(t,i,u1,q1),getXZIntersectionOffsetPoints(t,e,u2,q2),s[0]=1,s[3]=2,s[4]=0,s[6]=2):a&&(getXZIntersectionOffsetPoints(i,e,u1,q1),getXZIntersectionOffsetPoints(i,t,u2,q2),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2==o&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,r?n?a||(getXZIntersectionOffsetPoints(i,e,u1,q1),getXZIntersectionOffsetPoints(i,t,u2,q2),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(getXZIntersectionOffsetPoints(t,i,u1,q1),getXZIntersectionOffsetPoints(t,e,u2,q2),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(getXZIntersectionOffsetPoints(e,t,u1,q1),getXZIntersectionOffsetPoints(e,i,u2,q2),s[0]=1,s[1]=2,s[3]=1,s[6]=0));s=splitTriangleResult.positions;return s[0]=e,s[1]=t,s[2]=i,s.length=3,1!=o&&2!=o||(s[3]=u1,s[4]=u2,s[5]=q1,s[6]=q2,s.length=7),splitTriangleResult}}function updateGeometryAfterSplit(e,t){var i,r=e.attributes;if(0!==r.position.values.length){for(var n in r)r.hasOwnProperty(n)&&defined(r[n])&&defined(r[n].values)&&((i=r[n]).values=ComponentDatatype$1.createTypedArray(i.componentDatatype,i.values));var a=Geometry.computeNumberOfVertices(e);return e.indices=IndexDatatype$1.createTypedArray(a,e.indices),t&&(e.boundingSphere=BoundingSphere.fromVertices(r.position.values)),e}}function copyGeometryForSplit(e){var t,i,r=e.attributes,n={};for(t in r)r.hasOwnProperty(t)&&defined(r[t])&&defined(r[t].values)&&(i=r[t],n[t]=new GeometryAttribute({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]}));return new Geometry({attributes:n,indices:[],primitiveType:e.primitiveType})}function updateInstanceAfterSplit(e,t,i){var r=defined(e.geometry.boundingSphere);t=updateGeometryAfterSplit(t,r),defined(i=updateGeometryAfterSplit(i,r))&&!defined(t)?e.geometry=i:!defined(i)&&defined(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=i,e.geometry=void 0)}function generateBarycentricInterpolateFunction(l,c){var u=new l,d=new l,h=new l;return function(e,t,i,r,n,a,o,s){e=l.fromArray(n,e*c,u),t=l.fromArray(n,t*c,d),i=l.fromArray(n,i*c,h);l.multiplyByScalar(e,r.x,e),l.multiplyByScalar(t,r.y,t),l.multiplyByScalar(i,r.z,i);e=l.add(e,t,e);l.add(e,i,e),s&&l.normalize(e,e),l.pack(e,a,o*c)}}var interpolateAndPackCartesian4=generateBarycentricInterpolateFunction(Cartesian4,4),interpolateAndPackCartesian3=generateBarycentricInterpolateFunction(Cartesian3,3),interpolateAndPackCartesian2=generateBarycentricInterpolateFunction(Cartesian2,2),interpolateAndPackBoolean=function(e,t,i,r,n,a,o){e=n[e]*r.x,t=n[t]*r.y,r=n[i]*r.z;a[o]=e+t+r>CesiumMath.EPSILON6?1:0},p0Scratch=new Cartesian3,p1Scratch=new Cartesian3,p2Scratch=new Cartesian3,barycentricScratch=new Cartesian3;function computeTriangleAttributes(e,t,i,r,n,a,o,s,l,c,u,d,h,p,m,f){if(defined(a)||defined(o)||defined(s)||defined(l)||defined(c)||0!==p){var g,_=barycentricCoordinates(r,Cartesian3.fromArray(n,3*e,p0Scratch),Cartesian3.fromArray(n,3*t,p1Scratch),Cartesian3.fromArray(n,3*i,p2Scratch),barycentricScratch);if(defined(a)&&interpolateAndPackCartesian3(e,t,i,_,a,d.normal.values,f,!0),defined(c)&&(n=Cartesian3.fromArray(c,3*e,p0Scratch),a=Cartesian3.fromArray(c,3*t,p1Scratch),c=Cartesian3.fromArray(c,3*i,p2Scratch),Cartesian3.multiplyByScalar(n,_.x,n),Cartesian3.multiplyByScalar(a,_.y,a),Cartesian3.multiplyByScalar(c,_.z,c),Cartesian3.equals(n,Cartesian3.ZERO)&&Cartesian3.equals(a,Cartesian3.ZERO)&&Cartesian3.equals(c,Cartesian3.ZERO)?((g=p0Scratch).x=0,g.y=0,g.z=0):(g=Cartesian3.add(n,a,n),Cartesian3.add(g,c,g),Cartesian3.normalize(g,g)),Cartesian3.pack(g,d.extrudeDirection.values,3*f)),defined(u)&&interpolateAndPackBoolean(e,t,i,_,u,d.applyOffset.values,f),defined(o)&&interpolateAndPackCartesian3(e,t,i,_,o,d.tangent.values,f,!0),defined(s)&&interpolateAndPackCartesian3(e,t,i,_,s,d.bitangent.values,f,!0),defined(l)&&interpolateAndPackCartesian2(e,t,i,_,l,d.st.values,f),0<p)for(var y=0;y<p;y++){var C=h[y];genericInterpolate(e,t,i,_,f,m[C],d[C])}}}function genericInterpolate(e,t,i,r,n,a,o){var s=a.componentsPerAttribute,l=a.values,c=o.values;switch(s){case 4:interpolateAndPackCartesian4(e,t,i,r,l,c,n,!1);break;case 3:interpolateAndPackCartesian3(e,t,i,r,l,c,n,!1);break;case 2:interpolateAndPackCartesian2(e,t,i,r,l,c,n,!1);break;default:c[n]=l[e]*r.x+l[t]*r.y+l[i]*r.z}}function insertSplitPoint(e,t,i,r,n,a){var o=e.position.values.length/3;if(-1===n)return e.position.values.push(a.x,a.y,a.z),t.push(o),o;r=r[n],n=i[r];return-1===n?(i[r]=o,e.position.values.push(a.x,a.y,a.z),t.push(o),o):(t.push(n),n)}var NAMED_ATTRIBUTES={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function splitLongitudeTriangles(e){var t,i=e.geometry,r=i.attributes,n=r.position.values,a=defined(r.normal)?r.normal.values:void 0,o=defined(r.bitangent)?r.bitangent.values:void 0,s=defined(r.tangent)?r.tangent.values:void 0,l=defined(r.st)?r.st.values:void 0,c=defined(r.extrudeDirection)?r.extrudeDirection.values:void 0,u=defined(r.applyOffset)?r.applyOffset.values:void 0,d=i.indices,h=[];for(t in r)r.hasOwnProperty(t)&&!NAMED_ATTRIBUTES[t]&&defined(r[t])&&h.push(t);var p,m,f=h.length,g=copyGeometryForSplit(i),_=copyGeometryForSplit(i),y=[];y.length=n.length/3;var C=[];for(C.length=n.length/3,S=0;S<y.length;++S)y[S]=-1,C[S]=-1;for(var v=d.length,S=0;S<v;S+=3){var T=d[S],b=d[S+1],x=d[S+2],E=Cartesian3.fromArray(n,3*T),P=Cartesian3.fromArray(n,3*b),A=Cartesian3.fromArray(n,3*x),w=splitTriangle(E,P,A);if(defined(w)&&3<w.positions.length)for(var D=w.positions,M=w.indices,I=M.length,R=0;R<I;++R){var O=M[R],L=D[O],F=L.y<0?(p=_.attributes,m=_.indices,y):(p=g.attributes,m=g.indices,C);computeTriangleAttributes(T,b,x,L,n,a,s,o,l,c,u,p,h,f,r,insertSplitPoint(p,m,F,d,O<3?S+O:-1,L))}else defined(w)&&(E=w.positions[0],P=w.positions[1],A=w.positions[2]),F=E.y<0?(p=_.attributes,m=_.indices,y):(p=g.attributes,m=g.indices,C),computeTriangleAttributes(T,b,x,E,n,a,s,o,l,c,u,p,h,f,r,insertSplitPoint(p,m,F,d,S,E)),computeTriangleAttributes(T,b,x,P,n,a,s,o,l,c,u,p,h,f,r,insertSplitPoint(p,m,F,d,S+1,P)),computeTriangleAttributes(T,b,x,A,n,a,s,o,l,c,u,p,h,f,r,insertSplitPoint(p,m,F,d,S+2,A))}updateInstanceAfterSplit(e,_,g)}var xzPlane=Plane.fromPointNormal(Cartesian3.ZERO,Cartesian3.UNIT_Y),offsetScratch=new Cartesian3,offsetPointScratch=new Cartesian3;function computeLineAttributes(e,t,i,r,n,a,o){defined(o)&&(r=Cartesian3.fromArray(r,3*e,p0Scratch),Cartesian3.equalsEpsilon(r,i,CesiumMath.EPSILON10)?a.applyOffset.values[n]=o[e]:a.applyOffset.values[n]=o[t])}function splitLongitudeLines(e){var t,i=e.geometry,r=i.attributes,n=r.position.values,a=defined(r.applyOffset)?r.applyOffset.values:void 0,o=i.indices,s=copyGeometryForSplit(i),l=copyGeometryForSplit(i),c=o.length,u=[];u.length=n.length/3;var d=[];for(d.length=n.length/3,t=0;t<u.length;++t)u[t]=-1,d[t]=-1;for(t=0;t<c;t+=2){var h=o[t],p=o[t+1],m=Cartesian3.fromArray(n,3*h,p0Scratch),f=Cartesian3.fromArray(n,3*p,p1Scratch);Math.abs(m.y)<CesiumMath.EPSILON6&&(m.y<0?m.y=-CesiumMath.EPSILON6:m.y=CesiumMath.EPSILON6),Math.abs(f.y)<CesiumMath.EPSILON6&&(f.y<0?f.y=-CesiumMath.EPSILON6:f.y=CesiumMath.EPSILON6);var g,_,y,C,v=s.attributes,S=s.indices,T=d,b=l.attributes,x=l.indices,E=u,P=IntersectionTests.lineSegmentPlane(m,f,xzPlane,p2Scratch);defined(P)?(g=Cartesian3.multiplyByScalar(Cartesian3.UNIT_Y,5*CesiumMath.EPSILON9,offsetScratch),m.y<0&&(Cartesian3.negate(g,g),v=l.attributes,S=l.indices,T=u,b=s.attributes,x=s.indices,E=d),_=Cartesian3.add(P,g,offsetPointScratch),computeLineAttributes(h,p,m,n,insertSplitPoint(v,S,T,o,t,m),v,a),computeLineAttributes(h,p,_,n,insertSplitPoint(v,S,T,o,-1,_),v,a),Cartesian3.negate(g,g),Cartesian3.add(P,g,_),computeLineAttributes(h,p,_,n,insertSplitPoint(b,x,E,o,-1,_),b,a),computeLineAttributes(h,p,f,n,insertSplitPoint(b,x,E,o,t+1,f),b,a)):(b=m.y<0?(y=l.attributes,C=l.indices,u):(y=s.attributes,C=s.indices,d),computeLineAttributes(h,p,m,n,insertSplitPoint(y,C,b,o,t,m),y,a),computeLineAttributes(h,p,f,n,insertSplitPoint(y,C,b,o,t+1,f),y,a))}updateInstanceAfterSplit(e,l,s)}var cartesian2Scratch0=new Cartesian2,cartesian2Scratch1=new Cartesian2,cartesian3Scratch0=new Cartesian3,cartesian3Scratch2=new Cartesian3,cartesian3Scratch3=new Cartesian3,cartesian3Scratch4=new Cartesian3,cartesian3Scratch5=new Cartesian3,cartesian3Scratch6=new Cartesian3,cartesian4Scratch0=new Cartesian4;function updateAdjacencyAfterSplit(e){for(var e=e.attributes,t=e.position.values,i=e.prevPosition.values,r=e.nextPosition.values,n=t.length,a=0;a<n;a+=3){var o,s=Cartesian3.unpack(t,a,cartesian3Scratch0);0<s.x||(o=Cartesian3.unpack(i,a,cartesian3Scratch2),(s.y<0&&0<o.y||0<s.y&&o.y<0)&&(0<a-3?(i[a]=t[a-3],i[a+1]=t[a-2],i[a+2]=t[a-1]):Cartesian3.pack(s,i,a)),o=Cartesian3.unpack(r,a,cartesian3Scratch3),(s.y<0&&0<o.y||0<s.y&&o.y<0)&&(a+3<n?(r[a]=t[a+3],r[a+1]=t[a+4],r[a+2]=t[a+5]):Cartesian3.pack(s,r,a)))}}var offsetScalar=5*CesiumMath.EPSILON9,coplanarOffset=CesiumMath.EPSILON6;function splitLongitudePolyline(e){for(var t=e.geometry,i=t.attributes,r=i.position.values,n=i.prevPosition.values,a=i.nextPosition.values,o=i.expandAndWidth.values,s=defined(i.st)?i.st.values:void 0,l=defined(i.color)?i.color.values:void 0,c=copyGeometryForSplit(t),u=copyGeometryForSplit(t),d=!1,h=r.length/3,p=0;p<h;p+=4){var m=p,f=p+2,g=Cartesian3.fromArray(r,3*m,cartesian3Scratch0),_=Cartesian3.fromArray(r,3*f,cartesian3Scratch2);if(Math.abs(g.y)<coplanarOffset)for(g.y=coplanarOffset*(_.y<0?-1:1),r[3*p+1]=g.y,r[3*(p+1)+1]=g.y,w=3*m;w<3*m+12;w+=3)n[w]=r[3*p],n[w+1]=r[3*p+1],n[w+2]=r[3*p+2];if(Math.abs(_.y)<coplanarOffset)for(_.y=coplanarOffset*(g.y<0?-1:1),r[3*(p+2)+1]=_.y,r[3*(p+3)+1]=_.y,w=3*m;w<3*m+12;w+=3)a[w]=r[3*(p+2)],a[w+1]=r[3*(p+2)+1],a[w+2]=r[3*(p+2)+2];var y=c.attributes,C=c.indices,v=u.attributes,S=u.indices,T=IntersectionTests.lineSegmentPlane(g,_,xzPlane,cartesian3Scratch4);if(defined(T)){d=!0;var b=Cartesian3.multiplyByScalar(Cartesian3.UNIT_Y,offsetScalar,cartesian3Scratch5);g.y<0&&(Cartesian3.negate(b,b),y=u.attributes,C=u.indices,v=c.attributes,S=c.indices);var x=Cartesian3.add(T,b,cartesian3Scratch6);y.position.values.push(g.x,g.y,g.z,g.x,g.y,g.z),y.position.values.push(x.x,x.y,x.z),y.position.values.push(x.x,x.y,x.z),y.prevPosition.values.push(n[3*m],n[3*m+1],n[3*m+2]),y.prevPosition.values.push(n[3*m+3],n[3*m+4],n[3*m+5]),y.prevPosition.values.push(g.x,g.y,g.z,g.x,g.y,g.z),y.nextPosition.values.push(x.x,x.y,x.z),y.nextPosition.values.push(x.x,x.y,x.z),y.nextPosition.values.push(x.x,x.y,x.z),y.nextPosition.values.push(x.x,x.y,x.z),Cartesian3.negate(b,b),Cartesian3.add(T,b,x),v.position.values.push(x.x,x.y,x.z),v.position.values.push(x.x,x.y,x.z),v.position.values.push(_.x,_.y,_.z,_.x,_.y,_.z),v.prevPosition.values.push(x.x,x.y,x.z),v.prevPosition.values.push(x.x,x.y,x.z),v.prevPosition.values.push(x.x,x.y,x.z),v.prevPosition.values.push(x.x,x.y,x.z),v.nextPosition.values.push(_.x,_.y,_.z,_.x,_.y,_.z),v.nextPosition.values.push(a[3*f],a[3*f+1],a[3*f+2]),v.nextPosition.values.push(a[3*f+3],a[3*f+4],a[3*f+5]);var E=Cartesian2.fromArray(o,2*m,cartesian2Scratch0),P=Math.abs(E.y);y.expandAndWidth.values.push(-1,P,1,P),y.expandAndWidth.values.push(-1,-P,1,-P),v.expandAndWidth.values.push(-1,P,1,P),v.expandAndWidth.values.push(-1,-P,1,-P);b=Cartesian3.magnitudeSquared(Cartesian3.subtract(T,g,cartesian3Scratch3));if(b/=Cartesian3.magnitudeSquared(Cartesian3.subtract(_,g,cartesian3Scratch3)),defined(l)){for(var x=Cartesian4.fromArray(l,4*m,cartesian4Scratch0),A=Cartesian4.fromArray(l,4*f,cartesian4Scratch0),E=CesiumMath.lerp(x.x,A.x,b),P=CesiumMath.lerp(x.y,A.y,b),T=CesiumMath.lerp(x.z,A.z,b),A=CesiumMath.lerp(x.w,A.w,b),w=4*m;w<4*m+8;++w)y.color.values.push(l[w]);for(y.color.values.push(E,P,T,A),y.color.values.push(E,P,T,A),v.color.values.push(E,P,T,A),v.color.values.push(E,P,T,A),w=4*f;w<4*f+8;++w)v.color.values.push(l[w])}if(defined(s)){var A=Cartesian2.fromArray(s,2*m,cartesian2Scratch0),D=Cartesian2.fromArray(s,2*(p+3),cartesian2Scratch1),b=CesiumMath.lerp(A.x,D.x,b);for(w=2*m;w<2*m+4;++w)y.st.values.push(s[w]);for(y.st.values.push(b,A.y),y.st.values.push(b,D.y),v.st.values.push(b,A.y),v.st.values.push(b,D.y),w=2*f;w<2*f+4;++w)v.st.values.push(s[w])}D=y.position.values.length/3-4,C.push(D,D+2,D+1),C.push(D+1,D+2,D+3),D=v.position.values.length/3-4,S.push(D,D+2,D+1),S.push(D+1,D+2,D+3)}else{var M,S=g.y<0?(M=u.attributes,u.indices):(M=c.attributes,c.indices);for(M.position.values.push(g.x,g.y,g.z),M.position.values.push(g.x,g.y,g.z),M.position.values.push(_.x,_.y,_.z),M.position.values.push(_.x,_.y,_.z),w=3*p;w<3*p+12;++w)M.prevPosition.values.push(n[w]),M.nextPosition.values.push(a[w]);for(w=2*p;w<2*p+8;++w)M.expandAndWidth.values.push(o[w]),defined(s)&&M.st.values.push(s[w]);if(defined(l))for(w=4*p;w<4*p+16;++w)M.color.values.push(l[w]);D=M.position.values.length/3-4,S.push(D,D+2,D+1),S.push(D+1,D+2,D+3)}}d&&(updateAdjacencyAfterSplit(u),updateAdjacencyAfterSplit(c)),updateInstanceAfterSplit(e,u,c)}GeometryPipeline.splitLongitude=function(e){var t=e.geometry,i=t.boundingSphere;if(defined(i)&&(0<i.center.x-i.radius||BoundingSphere.intersectPlane(i,Plane.ORIGIN_ZX_PLANE)!==Intersect$1.INTERSECTING))return e;if(t.geometryType!==GeometryType$1.NONE)switch(t.geometryType){case GeometryType$1.POLYLINES:splitLongitudePolyline(e);break;case GeometryType$1.TRIANGLES:splitLongitudeTriangles(e);break;case GeometryType$1.LINES:splitLongitudeLines(e)}else indexPrimitive(t),t.primitiveType===PrimitiveType$1.TRIANGLES?splitLongitudeTriangles(e):t.primitiveType===PrimitiveType$1.LINES&&splitLongitudeLines(e);return e};var scratchCartesian1$3=new Cartesian3,scratchCartesian2$4=new Cartesian3,scratchCartesian3$5=new Cartesian3,scratchCartesian4$1=new Cartesian3,texCoordScratch=new Cartesian2,textureMatrixScratch=new Matrix3,tangentMatrixScratch=new Matrix3,quaternionScratch=new Quaternion,scratchNormal$2=new Cartesian3,scratchTangent=new Cartesian3,scratchBitangent=new Cartesian3,scratchCartographic$1=new Cartographic,projectedCenterScratch=new Cartesian3,scratchMinTexCoord=new Cartesian2,scratchMaxTexCoord=new Cartesian2;function computeTopBottomAttributes(e,t,i){var r=t.vertexFormat,n=t.center,a=t.semiMajorAxis,o=t.semiMinorAxis,s=t.ellipsoid,l=t.stRotation,c=i?e.length/3*2:e.length/3,u=t.shadowVolume,d=r.st?new Float32Array(2*c):void 0,h=r.normal?new Float32Array(3*c):void 0,p=r.tangent?new Float32Array(3*c):void 0,m=r.bitangent?new Float32Array(3*c):void 0,f=u?new Float32Array(3*c):void 0,g=0,_=scratchNormal$2,y=scratchTangent,C=scratchBitangent,v=new GeographicProjection(s),S=v.project(s.cartesianToCartographic(n,scratchCartographic$1),projectedCenterScratch),n=s.scaleToGeodeticSurface(n,scratchCartesian1$3);s.geodeticSurfaceNormal(n,n);var T=textureMatrixScratch,b=tangentMatrixScratch;b=0!==l?(N=Quaternion.fromAxisAngle(n,l,quaternionScratch),T=Matrix3.fromQuaternion(N,T),N=Quaternion.fromAxisAngle(n,-l,quaternionScratch),Matrix3.fromQuaternion(N,b)):(T=Matrix3.clone(Matrix3.IDENTITY,T),Matrix3.clone(Matrix3.IDENTITY,b));for(var x=Cartesian2.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,scratchMinTexCoord),E=Cartesian2.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,scratchMaxTexCoord),P=e.length,A=i?P:0,w=A/3*2,D=0;D<P;D+=3){var M,I=D+1,R=D+2,O=Cartesian3.fromArray(e,D,scratchCartesian1$3);r.st&&(M=Matrix3.multiplyByVector(T,O,scratchCartesian2$4),M=v.project(s.cartesianToCartographic(M,scratchCartographic$1),scratchCartesian3$5),Cartesian3.subtract(M,S,M),texCoordScratch.x=(M.x+a)/(2*a),texCoordScratch.y=(M.y+o)/(2*o),x.x=Math.min(texCoordScratch.x,x.x),x.y=Math.min(texCoordScratch.y,x.y),E.x=Math.max(texCoordScratch.x,E.x),E.y=Math.max(texCoordScratch.y,E.y),i&&(d[g+w]=texCoordScratch.x,d[g+1+w]=texCoordScratch.y),d[g++]=texCoordScratch.x,d[g++]=texCoordScratch.y),(r.normal||r.tangent||r.bitangent||u)&&(_=s.geodeticSurfaceNormal(O,_),u&&(f[D+A]=-_.x,f[I+A]=-_.y,f[R+A]=-_.z),(r.normal||r.tangent||r.bitangent)&&((r.tangent||r.bitangent)&&(y=Cartesian3.normalize(Cartesian3.cross(Cartesian3.UNIT_Z,_,y),y),Matrix3.multiplyByVector(b,y,y)),r.normal&&(h[D]=_.x,h[I]=_.y,h[R]=_.z,i&&(h[D+A]=-_.x,h[I+A]=-_.y,h[R+A]=-_.z)),r.tangent&&(p[D]=y.x,p[I]=y.y,p[R]=y.z,i&&(p[D+A]=-y.x,p[I+A]=-y.y,p[R+A]=-y.z)),r.bitangent&&(C=Cartesian3.normalize(Cartesian3.cross(_,y,C),C),m[D]=C.x,m[I]=C.y,m[R]=C.z,i&&(m[D+A]=C.x,m[I+A]=C.y,m[R+A]=C.z))))}if(r.st){P=d.length;for(var L=0;L<P;L+=2)d[L]=(d[L]-x.x)/(E.x-x.x),d[L+1]=(d[L+1]-x.y)/(E.y-x.y)}var F,N=new GeometryAttributes;return r.position&&(F=EllipseGeometryLibrary.raisePositionsToHeight(e,t,i),N.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:F})),r.st&&(N.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:d})),r.normal&&(N.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:h})),r.tangent&&(N.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:p})),r.bitangent&&(N.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:m})),u&&(N.extrudeDirection=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:f})),i&&defined(t.offsetAttribute)&&(F=new Uint8Array(c),F=t.offsetAttribute===GeometryOffsetAttribute$1.TOP?arrayFill(F,1,0,c/2):arrayFill(F,t.offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),N.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:F})),N}function topIndices(e){for(var t,i,r=new Array(e*(e+1)*12-6),n=0,a=0,o=1,s=0;s<3;s++)r[n++]=o++,r[n++]=a,r[n++]=o;for(s=2;s<e+1;++s){for(o=s*(s+1)-1,a=(s-1)*s-1,r[n++]=o++,r[n++]=a,r[n++]=o,t=2*s,i=0;i<t-1;++i)r[n++]=o,r[n++]=a++,r[n++]=a,r[n++]=o++,r[n++]=a,r[n++]=o;r[n++]=o++,r[n++]=a,r[n++]=o}for(t=2*e,++o,++a,s=0;s<t-1;++s)r[n++]=o,r[n++]=a++,r[n++]=a,r[n++]=o++,r[n++]=a,r[n++]=o;for(r[n++]=o,r[n++]=a++,r[n++]=a,r[n++]=o++,r[n++]=a++,r[n++]=a,++a,s=e-1;1<s;--s){for(r[n++]=a++,r[n++]=a,r[n++]=o,t=2*s,i=0;i<t-1;++i)r[n++]=o,r[n++]=a++,r[n++]=a,r[n++]=o++,r[n++]=a,r[n++]=o;r[n++]=a++,r[n++]=a++,r[n++]=o++}for(s=0;s<3;s++)r[n++]=a++,r[n++]=a,r[n++]=o;return r}var boundingSphereCenter=new Cartesian3;function computeEllipse(e){var t=e.center;boundingSphereCenter=Cartesian3.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,boundingSphereCenter),e.height,boundingSphereCenter);var i=new BoundingSphere(boundingSphereCenter=Cartesian3.add(t,boundingSphereCenter,boundingSphereCenter),e.semiMajorAxis),r=EllipseGeometryLibrary.computeEllipsePositions(e,!0,!1),t=r.positions,r=r.numPts,e=computeTopBottomAttributes(t,e,!1),r=topIndices(r);return{boundingSphere:i,attributes:e,indices:r=IndexDatatype$1.createTypedArray(t.length/3,r)}}function computeWallAttributes(e,t){var i=t.vertexFormat,r=t.center,n=t.semiMajorAxis,a=t.semiMinorAxis,o=t.ellipsoid,s=t.height,l=t.extrudedHeight,c=t.stRotation,u=e.length/3*2,d=new Float64Array(3*u),h=i.st?new Float32Array(2*u):void 0,p=i.normal?new Float32Array(3*u):void 0,m=i.tangent?new Float32Array(3*u):void 0,f=i.bitangent?new Float32Array(3*u):void 0,g=t.shadowVolume,_=g?new Float32Array(3*u):void 0,y=0,C=scratchNormal$2,v=scratchTangent,S=scratchBitangent,T=new GeographicProjection(o),b=T.project(o.cartesianToCartographic(r,scratchCartographic$1),projectedCenterScratch),r=o.scaleToGeodeticSurface(r,scratchCartesian1$3);o.geodeticSurfaceNormal(r,r);for(var r=Quaternion.fromAxisAngle(r,c,quaternionScratch),x=Matrix3.fromQuaternion(r,textureMatrixScratch),E=Cartesian2.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,scratchMinTexCoord),P=Cartesian2.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,scratchMaxTexCoord),A=e.length,w=A/3*2,D=0;D<A;D+=3){var M=D+1,I=D+2,R=Cartesian3.fromArray(e,D,scratchCartesian1$3);i.st&&(L=Matrix3.multiplyByVector(x,R,scratchCartesian2$4),O=T.project(o.cartesianToCartographic(L,scratchCartographic$1),scratchCartesian3$5),Cartesian3.subtract(O,b,O),texCoordScratch.x=(O.x+n)/(2*n),texCoordScratch.y=(O.y+a)/(2*a),E.x=Math.min(texCoordScratch.x,E.x),E.y=Math.min(texCoordScratch.y,E.y),P.x=Math.max(texCoordScratch.x,P.x),P.y=Math.max(texCoordScratch.y,P.y),h[y+w]=texCoordScratch.x,h[y+1+w]=texCoordScratch.y,h[y++]=texCoordScratch.x,h[y++]=texCoordScratch.y),R=o.scaleToGeodeticSurface(R,R),L=Cartesian3.clone(R,scratchCartesian2$4),C=o.geodeticSurfaceNormal(R,C),g&&(_[D+A]=-C.x,_[M+A]=-C.y,_[I+A]=-C.z);var O=Cartesian3.multiplyByScalar(C,s,scratchCartesian4$1),R=Cartesian3.add(R,O,R),O=Cartesian3.multiplyByScalar(C,l,O),L=Cartesian3.add(L,O,L);i.position&&(d[D+A]=L.x,d[M+A]=L.y,d[I+A]=L.z,d[D]=R.x,d[M]=R.y,d[I]=R.z),(i.normal||i.tangent||i.bitangent)&&(S=Cartesian3.clone(C,S),O=Cartesian3.fromArray(e,(D+3)%A,scratchCartesian4$1),Cartesian3.subtract(O,R,O),R=Cartesian3.subtract(L,R,scratchCartesian3$5),C=Cartesian3.normalize(Cartesian3.cross(R,O,C),C),i.normal&&(p[D]=C.x,p[M]=C.y,p[I]=C.z,p[D+A]=C.x,p[M+A]=C.y,p[I+A]=C.z),i.tangent&&(v=Cartesian3.normalize(Cartesian3.cross(S,C,v),v),m[D]=v.x,m[M]=v.y,m[I]=v.z,m[D+A]=v.x,m[D+1+A]=v.y,m[D+2+A]=v.z),i.bitangent&&(f[D]=S.x,f[M]=S.y,f[I]=S.z,f[D+A]=S.x,f[M+A]=S.y,f[I+A]=S.z))}if(i.st){A=h.length;for(var F=0;F<A;F+=2)h[F]=(h[F]-E.x)/(P.x-E.x),h[F+1]=(h[F+1]-E.y)/(P.y-E.y)}c=new GeometryAttributes;return i.position&&(c.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:d})),i.st&&(c.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:h})),i.normal&&(c.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:p})),i.tangent&&(c.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:m})),i.bitangent&&(c.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:f})),g&&(c.extrudeDirection=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:_})),defined(t.offsetAttribute)&&(r=new Uint8Array(u),r=t.offsetAttribute===GeometryOffsetAttribute$1.TOP?arrayFill(r,1,0,u/2):arrayFill(r,t.offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),c.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:r})),c}function computeWallIndices(e){for(var t=e.length/3,i=IndexDatatype$1.createTypedArray(t,6*t),r=0,n=0;n<t;n++){var a=n+t,o=(n+1)%t,s=o+t;i[r++]=n,i[r++]=a,i[r++]=o,i[r++]=o,i[r++]=a,i[r++]=s}return i}var topBoundingSphere=new BoundingSphere,bottomBoundingSphere=new BoundingSphere;function computeExtrudedEllipse(e){var t=e.center,i=e.ellipsoid,r=e.semiMajorAxis,n=Cartesian3.multiplyByScalar(i.geodeticSurfaceNormal(t,scratchCartesian1$3),e.height,scratchCartesian1$3);topBoundingSphere.center=Cartesian3.add(t,n,topBoundingSphere.center),topBoundingSphere.radius=r,n=Cartesian3.multiplyByScalar(i.geodeticSurfaceNormal(t,n),e.extrudedHeight,n),bottomBoundingSphere.center=Cartesian3.add(t,n,bottomBoundingSphere.center),bottomBoundingSphere.radius=r;var a=EllipseGeometryLibrary.computeEllipsePositions(e,!0,!0),i=a.positions,t=a.numPts,n=a.outerPositions,r=BoundingSphere.union(topBoundingSphere,bottomBoundingSphere),a=computeTopBottomAttributes(i,e,!0),o=(c=topIndices(t)).length;c.length=2*o;for(var s=i.length/3,l=0;l<o;l+=3)c[l+o]=c[l+2]+s,c[l+1+o]=c[l+1]+s,c[l+2+o]=c[l]+s;var a=new Geometry({attributes:a,indices:IndexDatatype$1.createTypedArray(2*s/3,c),primitiveType:PrimitiveType$1.TRIANGLES}),e=computeWallAttributes(n,e),c=computeWallIndices(n),n=new Geometry({attributes:e,indices:IndexDatatype$1.createTypedArray(2*n.length/3,c),primitiveType:PrimitiveType$1.TRIANGLES}),n=GeometryPipeline.combineInstances([new GeometryInstance({geometry:a}),new GeometryInstance({geometry:n})]);return{boundingSphere:r,attributes:n[0].attributes,indices:n[0].indices}}function computeRectangle(e,t,i,r,n,a,o){for(var s=EllipseGeometryLibrary.computeEllipsePositions({center:e,semiMajorAxis:t,semiMinorAxis:i,rotation:r,granularity:n},!1,!0).outerPositions,l=s.length/3,c=new Array(l),u=0;u<l;++u)c[u]=Cartesian3.fromArray(s,3*u);o=Rectangle.fromCartesianArray(c,a,o);return o.width>CesiumMath.PI&&(o.north=0<o.north?CesiumMath.PI_OVER_TWO-CesiumMath.EPSILON7:o.north,o.south=o.south<0?CesiumMath.EPSILON7-CesiumMath.PI_OVER_TWO:o.south,o.east=CesiumMath.PI,o.west=-CesiumMath.PI),o}function EllipseGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).center,i=defaultValue(e.ellipsoid,Ellipsoid.WGS84),r=e.semiMajorAxis,n=e.semiMinorAxis,a=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),o=defaultValue(e.vertexFormat,VertexFormat.DEFAULT),s=defaultValue(e.height,0),l=defaultValue(e.extrudedHeight,s);this._center=Cartesian3.clone(t),this._semiMajorAxis=r,this._semiMinorAxis=n,this._ellipsoid=Ellipsoid.clone(i),this._rotation=defaultValue(e.rotation,0),this._stRotation=defaultValue(e.stRotation,0),this._height=Math.max(l,s),this._granularity=a,this._vertexFormat=VertexFormat.clone(o),this._extrudedHeight=Math.min(l,s),this._shadowVolume=defaultValue(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}EllipseGeometry.packedLength=Cartesian3.packedLength+Ellipsoid.packedLength+VertexFormat.packedLength+9,EllipseGeometry.pack=function(e,t,i){return i=defaultValue(i,0),Cartesian3.pack(e._center,t,i),i+=Cartesian3.packedLength,Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,VertexFormat.pack(e._vertexFormat,t,i),i+=VertexFormat.packedLength,t[i++]=e._semiMajorAxis,t[i++]=e._semiMinorAxis,t[i++]=e._rotation,t[i++]=e._stRotation,t[i++]=e._height,t[i++]=e._granularity,t[i++]=e._extrudedHeight,t[i++]=e._shadowVolume?1:0,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchCenter$1=new Cartesian3,scratchEllipsoid=new Ellipsoid,scratchVertexFormat$1=new VertexFormat,scratchOptions$2={center:scratchCenter$1,ellipsoid:scratchEllipsoid,vertexFormat:scratchVertexFormat$1,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};function textureCoordinateRotationPoints(e){var t=-e._stRotation;if(0==t)return[0,0,0,1,1,0];for(var i=EllipseGeometryLibrary.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0).outerPositions,r=i.length/3,n=new Array(r),a=0;a<r;++a)n[a]=Cartesian3.fromArray(i,3*a);var o=e._ellipsoid,e=e.rectangle;return Geometry._textureCoordinateRotationPoints(n,t,o,e)}function CircleGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).radius,e={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new EllipseGeometry(e),this._workerName="createCircleGeometry"}EllipseGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=Cartesian3.unpack(e,t,scratchCenter$1);t+=Cartesian3.packedLength;var n=Ellipsoid.unpack(e,t,scratchEllipsoid);t+=Ellipsoid.packedLength;var a=VertexFormat.unpack(e,t,scratchVertexFormat$1);t+=VertexFormat.packedLength;var o=e[t++],s=e[t++],l=e[t++],c=e[t++],u=e[t++],d=e[t++],h=e[t++],p=1===e[t++],t=e[t];return defined(i)?(i._center=Cartesian3.clone(r,i._center),i._ellipsoid=Ellipsoid.clone(n,i._ellipsoid),i._vertexFormat=VertexFormat.clone(a,i._vertexFormat),i._semiMajorAxis=o,i._semiMinorAxis=s,i._rotation=l,i._stRotation=c,i._height=u,i._granularity=d,i._extrudedHeight=h,i._shadowVolume=p,i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions$2.height=u,scratchOptions$2.extrudedHeight=h,scratchOptions$2.granularity=d,scratchOptions$2.stRotation=c,scratchOptions$2.rotation=l,scratchOptions$2.semiMajorAxis=o,scratchOptions$2.semiMinorAxis=s,scratchOptions$2.shadowVolume=p,scratchOptions$2.offsetAttribute=-1===t?void 0:t,new EllipseGeometry(scratchOptions$2))},EllipseGeometry.computeRectangle=function(e,t){var i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).center,r=defaultValue(e.ellipsoid,Ellipsoid.WGS84),n=e.semiMajorAxis,a=e.semiMinorAxis,o=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE);return computeRectangle(i,n,a,defaultValue(e.rotation,0),o,r,t)},EllipseGeometry.createGeometry=function(e){if(!(e._semiMajorAxis<=0||e._semiMinorAxis<=0)){var t=e._height,i=e._extrudedHeight,r=!CesiumMath.equalsEpsilon(t,i,0,CesiumMath.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);var n,t={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation};return r?(t.extrudedHeight=i,t.shadowVolume=e._shadowVolume,t.offsetAttribute=e._offsetAttribute,n=computeExtrudedEllipse(t)):(n=computeEllipse(t),defined(e._offsetAttribute)&&(t=n.attributes.position.values.length,arrayFill(t=new Uint8Array(t/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),n.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:t}))),new Geometry({attributes:n.attributes,indices:n.indices,primitiveType:PrimitiveType$1.TRIANGLES,boundingSphere:n.boundingSphere,offsetAttribute:e._offsetAttribute})}},EllipseGeometry.createShadowVolume=function(e,t,i){var r=e._granularity,n=e._ellipsoid,t=t(r,n),i=i(r,n);return new EllipseGeometry({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:n,rotation:e._rotation,stRotation:e._stRotation,granularity:r,extrudedHeight:t,height:i,vertexFormat:VertexFormat.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(EllipseGeometry.prototype,{rectangle:{get:function(){return defined(this._rectangle)||(this._rectangle=computeRectangle(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return defined(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=textureCoordinateRotationPoints(this)),this._textureCoordinateRotationPoints}}}),CircleGeometry.packedLength=EllipseGeometry.packedLength,CircleGeometry.pack=function(e,t,i){return EllipseGeometry.pack(e._ellipseGeometry,t,i)};var scratchEllipseGeometry=new EllipseGeometry({center:new Cartesian3,semiMajorAxis:1,semiMinorAxis:1}),scratchOptions$3={center:new Cartesian3,radius:void 0,ellipsoid:Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new VertexFormat,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};CircleGeometry.unpack=function(e,t,i){t=EllipseGeometry.unpack(e,t,scratchEllipseGeometry);return scratchOptions$3.center=Cartesian3.clone(t._center,scratchOptions$3.center),scratchOptions$3.ellipsoid=Ellipsoid.clone(t._ellipsoid,scratchOptions$3.ellipsoid),scratchOptions$3.height=t._height,scratchOptions$3.extrudedHeight=t._extrudedHeight,scratchOptions$3.granularity=t._granularity,scratchOptions$3.vertexFormat=VertexFormat.clone(t._vertexFormat,scratchOptions$3.vertexFormat),scratchOptions$3.stRotation=t._stRotation,scratchOptions$3.shadowVolume=t._shadowVolume,defined(i)?(scratchOptions$3.semiMajorAxis=t._semiMajorAxis,scratchOptions$3.semiMinorAxis=t._semiMinorAxis,i._ellipseGeometry=new EllipseGeometry(scratchOptions$3),i):(scratchOptions$3.radius=t._semiMajorAxis,new CircleGeometry(scratchOptions$3))},CircleGeometry.createGeometry=function(e){return EllipseGeometry.createGeometry(e._ellipseGeometry)},CircleGeometry.createShadowVolume=function(e,t,i){var r=e._ellipseGeometry._granularity,n=e._ellipseGeometry._ellipsoid,t=t(r,n),i=i(r,n);return new CircleGeometry({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:n,stRotation:e._ellipseGeometry._stRotation,granularity:r,extrudedHeight:t,height:i,vertexFormat:VertexFormat.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(CircleGeometry.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var scratchCartesian1$4=new Cartesian3,boundingSphereCenter$1=new Cartesian3;function computeEllipse$1(e){var t=e.center;boundingSphereCenter$1=Cartesian3.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,boundingSphereCenter$1),e.height,boundingSphereCenter$1);for(var i=new BoundingSphere(boundingSphereCenter$1=Cartesian3.add(t,boundingSphereCenter$1,boundingSphereCenter$1),e.semiMajorAxis),t=EllipseGeometryLibrary.computeEllipsePositions(e,!1,!0).outerPositions,e=new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:EllipseGeometryLibrary.raisePositionsToHeight(t,e,!1)})}),r=t.length/3,n=IndexDatatype$1.createTypedArray(r,2*r),a=0,o=0;o<r;++o)n[a++]=o,n[a++]=(o+1)%r;return{boundingSphere:i,attributes:e,indices:n}}var topBoundingSphere$1=new BoundingSphere,bottomBoundingSphere$1=new BoundingSphere;function computeExtrudedEllipse$1(e){var t=e.center,i=e.ellipsoid,r=e.semiMajorAxis,n=Cartesian3.multiplyByScalar(i.geodeticSurfaceNormal(t,scratchCartesian1$4),e.height,scratchCartesian1$4);topBoundingSphere$1.center=Cartesian3.add(t,n,topBoundingSphere$1.center),topBoundingSphere$1.radius=r,n=Cartesian3.multiplyByScalar(i.geodeticSurfaceNormal(t,n),e.extrudedHeight,n),bottomBoundingSphere$1.center=Cartesian3.add(t,n,bottomBoundingSphere$1.center),bottomBoundingSphere$1.radius=r;var t=EllipseGeometryLibrary.computeEllipsePositions(e,!1,!0).outerPositions,n=new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:EllipseGeometryLibrary.raisePositionsToHeight(t,e,!0)})}),t=n.position.values,r=BoundingSphere.union(topBoundingSphere$1,bottomBoundingSphere$1),a=t.length/3;defined(e.offsetAttribute)&&(o=new Uint8Array(a),o=e.offsetAttribute===GeometryOffsetAttribute$1.TOP?arrayFill(o,1,0,a/2):arrayFill(o,e.offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),n.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:o}));var o=defaultValue(e.numberOfVerticalLines,16),o=CesiumMath.clamp(o,0,a/2),s=IndexDatatype$1.createTypedArray(a,2*a+2*o);a/=2;var l=0;for(d=0;d<a;++d)s[l++]=d,s[l++]=(d+1)%a,s[l++]=d+a,s[l++]=(d+1)%a+a;if(0<o)for(var e=Math.min(o,a),c=Math.round(a/e),u=Math.min(c*o,a),d=0;d<u;d+=c)s[l++]=d,s[l++]=d+a;return{boundingSphere:r,attributes:n,indices:s}}function EllipseOutlineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).center,i=defaultValue(e.ellipsoid,Ellipsoid.WGS84),r=e.semiMajorAxis,n=e.semiMinorAxis,a=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),o=defaultValue(e.height,0),s=defaultValue(e.extrudedHeight,o);this._center=Cartesian3.clone(t),this._semiMajorAxis=r,this._semiMinorAxis=n,this._ellipsoid=Ellipsoid.clone(i),this._rotation=defaultValue(e.rotation,0),this._height=Math.max(s,o),this._granularity=a,this._extrudedHeight=Math.min(s,o),this._numberOfVerticalLines=Math.max(defaultValue(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}EllipseOutlineGeometry.packedLength=Cartesian3.packedLength+Ellipsoid.packedLength+8,EllipseOutlineGeometry.pack=function(e,t,i){return i=defaultValue(i,0),Cartesian3.pack(e._center,t,i),i+=Cartesian3.packedLength,Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,t[i++]=e._semiMajorAxis,t[i++]=e._semiMinorAxis,t[i++]=e._rotation,t[i++]=e._height,t[i++]=e._granularity,t[i++]=e._extrudedHeight,t[i++]=e._numberOfVerticalLines,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchCenter$2=new Cartesian3,scratchEllipsoid$1=new Ellipsoid,scratchOptions$4={center:scratchCenter$2,ellipsoid:scratchEllipsoid$1,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};function CircleOutlineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).radius,e={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new EllipseOutlineGeometry(e),this._workerName="createCircleOutlineGeometry"}EllipseOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=Cartesian3.unpack(e,t,scratchCenter$2);t+=Cartesian3.packedLength;var n=Ellipsoid.unpack(e,t,scratchEllipsoid$1);t+=Ellipsoid.packedLength;var a=e[t++],o=e[t++],s=e[t++],l=e[t++],c=e[t++],u=e[t++],d=e[t++],t=e[t];return defined(i)?(i._center=Cartesian3.clone(r,i._center),i._ellipsoid=Ellipsoid.clone(n,i._ellipsoid),i._semiMajorAxis=a,i._semiMinorAxis=o,i._rotation=s,i._height=l,i._granularity=c,i._extrudedHeight=u,i._numberOfVerticalLines=d,i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions$4.height=l,scratchOptions$4.extrudedHeight=u,scratchOptions$4.granularity=c,scratchOptions$4.rotation=s,scratchOptions$4.semiMajorAxis=a,scratchOptions$4.semiMinorAxis=o,scratchOptions$4.numberOfVerticalLines=d,scratchOptions$4.offsetAttribute=-1===t?void 0:t,new EllipseOutlineGeometry(scratchOptions$4))},EllipseOutlineGeometry.createGeometry=function(e){if(!(e._semiMajorAxis<=0||e._semiMinorAxis<=0)){var t=e._height,i=e._extrudedHeight,r=!CesiumMath.equalsEpsilon(t,i,0,CesiumMath.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);var n,t={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines};return r?(t.extrudedHeight=i,t.offsetAttribute=e._offsetAttribute,n=computeExtrudedEllipse$1(t)):(n=computeEllipse$1(t),defined(e._offsetAttribute)&&(t=n.attributes.position.values.length,arrayFill(t=new Uint8Array(t/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),n.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:t}))),new Geometry({attributes:n.attributes,indices:n.indices,primitiveType:PrimitiveType$1.LINES,boundingSphere:n.boundingSphere,offsetAttribute:e._offsetAttribute})}},CircleOutlineGeometry.packedLength=EllipseOutlineGeometry.packedLength,CircleOutlineGeometry.pack=function(e,t,i){return EllipseOutlineGeometry.pack(e._ellipseGeometry,t,i)};var scratchEllipseGeometry$1=new EllipseOutlineGeometry({center:new Cartesian3,semiMajorAxis:1,semiMinorAxis:1}),scratchOptions$5={center:new Cartesian3,radius:void 0,ellipsoid:Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};CircleOutlineGeometry.unpack=function(e,t,i){t=EllipseOutlineGeometry.unpack(e,t,scratchEllipseGeometry$1);return scratchOptions$5.center=Cartesian3.clone(t._center,scratchOptions$5.center),scratchOptions$5.ellipsoid=Ellipsoid.clone(t._ellipsoid,scratchOptions$5.ellipsoid),scratchOptions$5.height=t._height,scratchOptions$5.extrudedHeight=t._extrudedHeight,scratchOptions$5.granularity=t._granularity,scratchOptions$5.numberOfVerticalLines=t._numberOfVerticalLines,defined(i)?(scratchOptions$5.semiMajorAxis=t._semiMajorAxis,scratchOptions$5.semiMinorAxis=t._semiMinorAxis,i._ellipseGeometry=new EllipseOutlineGeometry(scratchOptions$5),i):(scratchOptions$5.radius=t._semiMajorAxis,new CircleOutlineGeometry(scratchOptions$5))},CircleOutlineGeometry.createGeometry=function(e){return EllipseOutlineGeometry.createGeometry(e._ellipseGeometry)};var ClockRange={UNBOUNDED:0,CLAMPED:1,LOOP_STOP:2},ClockRange$1=Object.freeze(ClockRange),ClockStep={TICK_DEPENDENT:0,SYSTEM_CLOCK_MULTIPLIER:1,SYSTEM_CLOCK:2},ClockStep$1=Object.freeze(ClockStep),getTimestamp,getTimestamp="undefined"!=typeof performance&&"function"==typeof performance.now&&isFinite(performance.now())?function(){return performance.now()}:function(){return Date.now()},getTimestamp$1=getTimestamp,scratchArrayBuffer,scratchUint32Array,scratchUint8Array;function Clock(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).currentTime,i=e.startTime,r=e.stopTime,t=defined(t)?JulianDate.clone(t):defined(i)?JulianDate.clone(i):defined(r)?JulianDate.addDays(r,-1,new JulianDate):JulianDate.now(),i=defined(i)?JulianDate.clone(i):JulianDate.clone(t),r=defined(r)?JulianDate.clone(r):JulianDate.addDays(i,1,new JulianDate);this.startTime=i,this.stopTime=r,this.clockRange=defaultValue(e.clockRange,ClockRange$1.UNBOUNDED),this.canAnimate=defaultValue(e.canAnimate,!0),this.onTick=new Event,this.onStop=new Event,this._currentTime=void 0,this._multiplier=void 0,this._clockStep=void 0,this._shouldAnimate=void 0,this._lastSystemTime=getTimestamp$1(),this.currentTime=t,this.multiplier=defaultValue(e.multiplier,1),this.shouldAnimate=defaultValue(e.shouldAnimate,!1),this.clockStep=defaultValue(e.clockStep,ClockStep$1.SYSTEM_CLOCK_MULTIPLIER)}function hue2rgb(e,t,i){return i<0&&(i+=1),1<i&&--i,6*i<1?e+6*(t-e)*i:2*i<1?t:3*i<2?e+(t-e)*(2/3-i)*6:e}function Color(e,t,i,r){this.red=defaultValue(e,1),this.green=defaultValue(t,1),this.blue=defaultValue(i,1),this.alpha=defaultValue(r,1)}Object.defineProperties(Clock.prototype,{currentTime:{get:function(){return this._currentTime},set:function(e){JulianDate.equals(this._currentTime,e)||(this._clockStep===ClockStep$1.SYSTEM_CLOCK&&(this._clockStep=ClockStep$1.SYSTEM_CLOCK_MULTIPLIER),this._currentTime=e)}},multiplier:{get:function(){return this._multiplier},set:function(e){this._multiplier!==e&&(this._clockStep===ClockStep$1.SYSTEM_CLOCK&&(this._clockStep=ClockStep$1.SYSTEM_CLOCK_MULTIPLIER),this._multiplier=e)}},clockStep:{get:function(){return this._clockStep},set:function(e){e===ClockStep$1.SYSTEM_CLOCK&&(this._multiplier=1,this._shouldAnimate=!0,this._currentTime=JulianDate.now()),this._clockStep=e}},shouldAnimate:{get:function(){return this._shouldAnimate},set:function(e){this._shouldAnimate!==e&&(this._clockStep===ClockStep$1.SYSTEM_CLOCK&&(this._clockStep=ClockStep$1.SYSTEM_CLOCK_MULTIPLIER),this._shouldAnimate=e)}}}),Clock.prototype.tick=function(){var e=getTimestamp$1(),t=JulianDate.clone(this._currentTime);if(this.canAnimate&&this._shouldAnimate){var i=this._clockStep;if(i===ClockStep$1.SYSTEM_CLOCK)t=JulianDate.now(t);else{var r=this._multiplier;t=i===ClockStep$1.TICK_DEPENDENT?JulianDate.addSeconds(t,r,t):(n=e-this._lastSystemTime,JulianDate.addSeconds(t,r*(n/1e3),t));var n=this.clockRange,a=this.startTime,o=this.stopTime;if(n===ClockRange$1.CLAMPED)JulianDate.lessThan(t,a)?t=JulianDate.clone(a,t):JulianDate.greaterThan(t,o)&&(t=JulianDate.clone(o,t),this.onStop.raiseEvent(this));else if(n===ClockRange$1.LOOP_STOP)for(JulianDate.lessThan(t,a)&&(t=JulianDate.clone(a,t));JulianDate.greaterThan(t,o);)t=JulianDate.addSeconds(a,JulianDate.secondsDifference(t,o),t),this.onStop.raiseEvent(this)}}return this._currentTime=t,this._lastSystemTime=e,this.onTick.raiseEvent(this),t},Color.fromCartesian4=function(e,t){return defined(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new Color(e.x,e.y,e.z,e.w)},Color.fromBytes=function(e,t,i,r,n){return e=Color.byteToFloat(defaultValue(e,255)),t=Color.byteToFloat(defaultValue(t,255)),i=Color.byteToFloat(defaultValue(i,255)),r=Color.byteToFloat(defaultValue(r,255)),defined(n)?(n.red=e,n.green=t,n.blue=i,n.alpha=r,n):new Color(e,t,i,r)},Color.fromAlpha=function(e,t,i){return defined(i)?(i.red=e.red,i.green=e.green,i.blue=e.blue,i.alpha=t,i):new Color(e.red,e.green,e.blue,t)},FeatureDetection.supportsTypedArrays()&&(scratchArrayBuffer=new ArrayBuffer(4),scratchUint32Array=new Uint32Array(scratchArrayBuffer),scratchUint8Array=new Uint8Array(scratchArrayBuffer)),Color.fromRgba=function(e,t){return scratchUint32Array[0]=e,Color.fromBytes(scratchUint8Array[0],scratchUint8Array[1],scratchUint8Array[2],scratchUint8Array[3],t)},Color.fromHsl=function(e,t,i,r,n){e=defaultValue(e,0)%1,t=defaultValue(t,0),i=defaultValue(i,0),r=defaultValue(r,1);var a=i,o=i,s=i;return 0!==t&&(a=hue2rgb(t=2*i-(i=i<.5?i*(1+t):i+t-i*t),i,e+1/3),o=hue2rgb(t,i,e),s=hue2rgb(t,i,e-1/3)),defined(n)?(n.red=a,n.green=o,n.blue=s,n.alpha=r,n):new Color(a,o,s,r)},Color.fromRandom=function(e,t){var i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).red;defined(i)||(r=defaultValue(e.minimumRed,0),n=defaultValue(e.maximumRed,1),i=r+CesiumMath.nextRandomNumber()*(n-r));var r,n=e.green;defined(n)||(a=defaultValue(e.minimumGreen,0),r=defaultValue(e.maximumGreen,1),n=a+CesiumMath.nextRandomNumber()*(r-a));var a=e.blue;defined(a)||(o=defaultValue(e.minimumBlue,0),s=defaultValue(e.maximumBlue,1),a=o+CesiumMath.nextRandomNumber()*(s-o));var o,s=e.alpha;return defined(s)||(o=defaultValue(e.minimumAlpha,0),e=defaultValue(e.maximumAlpha,1),s=o+CesiumMath.nextRandomNumber()*(e-o)),defined(t)?(t.red=i,t.green=n,t.blue=a,t.alpha=s,t):new Color(i,n,a,s)};var rgbaMatcher=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,rrggbbaaMatcher=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,rgbParenthesesMatcher=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,hslParenthesesMatcher=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;function ColorGeometryInstanceAttribute(e,t,i,r){e=defaultValue(e,1),t=defaultValue(t,1),i=defaultValue(i,1),r=defaultValue(r,1),this.value=new Uint8Array([Color.floatToByte(e),Color.floatToByte(t),Color.floatToByte(i),Color.floatToByte(r)])}function CompressedTextureBuffer(e,t,i,r){this._format=e,this._width=t,this._height=i,this._buffer=r}Color.fromCssColorString=function(e,t){defined(t)||(t=new Color);var i=Color[(e=e.replace(/\s/g,"")).toUpperCase()];if(defined(i))return Color.clone(i,t),t;i=rgbaMatcher.exec(e);return null!==i?(t.red=parseInt(i[1],16)/15,t.green=parseInt(i[2],16)/15,t.blue=parseInt(i[3],16)/15,t.alpha=parseInt(defaultValue(i[4],"f"),16)/15,t):null!==(i=rrggbbaaMatcher.exec(e))?(t.red=parseInt(i[1],16)/255,t.green=parseInt(i[2],16)/255,t.blue=parseInt(i[3],16)/255,t.alpha=parseInt(defaultValue(i[4],"ff"),16)/255,t):null!==(i=rgbParenthesesMatcher.exec(e))?(t.red=parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),t.green=parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),t.blue=parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),t.alpha=parseFloat(defaultValue(i[4],"1.0")),t):null!==(i=hslParenthesesMatcher.exec(e))?Color.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(defaultValue(i[4],"1.0")),t):t=void 0},Color.packedLength=4,Color.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.red,t[i++]=e.green,t[i++]=e.blue,t[i]=e.alpha,t},Color.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new Color),i.red=e[t++],i.green=e[t++],i.blue=e[t++],i.alpha=e[t],i},Color.byteToFloat=function(e){return e/255},Color.floatToByte=function(e){return 1===e?255:256*e|0},Color.clone=function(e,t){if(defined(e))return defined(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new Color(e.red,e.green,e.blue,e.alpha)},Color.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},Color.equalsArray=function(e,t,i){return e.red===t[i]&&e.green===t[i+1]&&e.blue===t[i+2]&&e.alpha===t[i+3]},Color.prototype.clone=function(e){return Color.clone(this,e)},Color.prototype.equals=function(e){return Color.equals(this,e)},Color.prototype.equalsEpsilon=function(e,t){return this===e||defined(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},Color.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},Color.prototype.toCssColorString=function(){var e=Color.floatToByte(this.red),t=Color.floatToByte(this.green),i=Color.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+i+")":"rgba("+e+","+t+","+i+","+this.alpha+")"},Color.prototype.toCssHexString=function(){var e=Color.floatToByte(this.red).toString(16);e.length<2&&(e="0"+e);var t=Color.floatToByte(this.green).toString(16);t.length<2&&(t="0"+t);var i=Color.floatToByte(this.blue).toString(16);if(i.length<2&&(i="0"+i),this.alpha<1){var r=Color.floatToByte(this.alpha).toString(16);return r.length<2&&(r="0"+r),"#"+e+t+i+r}return"#"+e+t+i},Color.prototype.toBytes=function(e){var t=Color.floatToByte(this.red),i=Color.floatToByte(this.green),r=Color.floatToByte(this.blue),n=Color.floatToByte(this.alpha);return defined(e)?(e[0]=t,e[1]=i,e[2]=r,e[3]=n,e):[t,i,r,n]},Color.prototype.toRgba=function(){return scratchUint8Array[0]=Color.floatToByte(this.red),scratchUint8Array[1]=Color.floatToByte(this.green),scratchUint8Array[2]=Color.floatToByte(this.blue),scratchUint8Array[3]=Color.floatToByte(this.alpha),scratchUint32Array[0]},Color.prototype.brighten=function(e,t){return e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t},Color.prototype.darken=function(e,t){return e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t},Color.prototype.withAlpha=function(e,t){return Color.fromAlpha(this,e,t)},Color.add=function(e,t,i){return i.red=e.red+t.red,i.green=e.green+t.green,i.blue=e.blue+t.blue,i.alpha=e.alpha+t.alpha,i},Color.subtract=function(e,t,i){return i.red=e.red-t.red,i.green=e.green-t.green,i.blue=e.blue-t.blue,i.alpha=e.alpha-t.alpha,i},Color.multiply=function(e,t,i){return i.red=e.red*t.red,i.green=e.green*t.green,i.blue=e.blue*t.blue,i.alpha=e.alpha*t.alpha,i},Color.divide=function(e,t,i){return i.red=e.red/t.red,i.green=e.green/t.green,i.blue=e.blue/t.blue,i.alpha=e.alpha/t.alpha,i},Color.mod=function(e,t,i){return i.red=e.red%t.red,i.green=e.green%t.green,i.blue=e.blue%t.blue,i.alpha=e.alpha%t.alpha,i},Color.lerp=function(e,t,i,r){return r.red=CesiumMath.lerp(e.red,t.red,i),r.green=CesiumMath.lerp(e.green,t.green,i),r.blue=CesiumMath.lerp(e.blue,t.blue,i),r.alpha=CesiumMath.lerp(e.alpha,t.alpha,i),r},Color.multiplyByScalar=function(e,t,i){return i.red=e.red*t,i.green=e.green*t,i.blue=e.blue*t,i.alpha=e.alpha*t,i},Color.divideByScalar=function(e,t,i){return i.red=e.red/t,i.green=e.green/t,i.blue=e.blue/t,i.alpha=e.alpha/t,i},Color.ALICEBLUE=Object.freeze(Color.fromCssColorString("#F0F8FF")),Color.ANTIQUEWHITE=Object.freeze(Color.fromCssColorString("#FAEBD7")),Color.AQUA=Object.freeze(Color.fromCssColorString("#00FFFF")),Color.AQUAMARINE=Object.freeze(Color.fromCssColorString("#7FFFD4")),Color.AZURE=Object.freeze(Color.fromCssColorString("#F0FFFF")),Color.BEIGE=Object.freeze(Color.fromCssColorString("#F5F5DC")),Color.BISQUE=Object.freeze(Color.fromCssColorString("#FFE4C4")),Color.BLACK=Object.freeze(Color.fromCssColorString("#000000")),Color.BLANCHEDALMOND=Object.freeze(Color.fromCssColorString("#FFEBCD")),Color.BLUE=Object.freeze(Color.fromCssColorString("#0000FF")),Color.BLUEVIOLET=Object.freeze(Color.fromCssColorString("#8A2BE2")),Color.BROWN=Object.freeze(Color.fromCssColorString("#A52A2A")),Color.BURLYWOOD=Object.freeze(Color.fromCssColorString("#DEB887")),Color.CADETBLUE=Object.freeze(Color.fromCssColorString("#5F9EA0")),Color.CHARTREUSE=Object.freeze(Color.fromCssColorString("#7FFF00")),Color.CHOCOLATE=Object.freeze(Color.fromCssColorString("#D2691E")),Color.CORAL=Object.freeze(Color.fromCssColorString("#FF7F50")),Color.CORNFLOWERBLUE=Object.freeze(Color.fromCssColorString("#6495ED")),Color.CORNSILK=Object.freeze(Color.fromCssColorString("#FFF8DC")),Color.CRIMSON=Object.freeze(Color.fromCssColorString("#DC143C")),Color.CYAN=Object.freeze(Color.fromCssColorString("#00FFFF")),Color.DARKBLUE=Object.freeze(Color.fromCssColorString("#00008B")),Color.DARKCYAN=Object.freeze(Color.fromCssColorString("#008B8B")),Color.DARKGOLDENROD=Object.freeze(Color.fromCssColorString("#B8860B")),Color.DARKGRAY=Object.freeze(Color.fromCssColorString("#A9A9A9")),Color.DARKGREEN=Object.freeze(Color.fromCssColorString("#006400")),Color.DARKGREY=Color.DARKGRAY,Color.DARKKHAKI=Object.freeze(Color.fromCssColorString("#BDB76B")),Color.DARKMAGENTA=Object.freeze(Color.fromCssColorString("#8B008B")),Color.DARKOLIVEGREEN=Object.freeze(Color.fromCssColorString("#556B2F")),Color.DARKORANGE=Object.freeze(Color.fromCssColorString("#FF8C00")),Color.DARKORCHID=Object.freeze(Color.fromCssColorString("#9932CC")),Color.DARKRED=Object.freeze(Color.fromCssColorString("#8B0000")),Color.DARKSALMON=Object.freeze(Color.fromCssColorString("#E9967A")),Color.DARKSEAGREEN=Object.freeze(Color.fromCssColorString("#8FBC8F")),Color.DARKSLATEBLUE=Object.freeze(Color.fromCssColorString("#483D8B")),Color.DARKSLATEGRAY=Object.freeze(Color.fromCssColorString("#2F4F4F")),Color.DARKSLATEGREY=Color.DARKSLATEGRAY,Color.DARKTURQUOISE=Object.freeze(Color.fromCssColorString("#00CED1")),Color.DARKVIOLET=Object.freeze(Color.fromCssColorString("#9400D3")),Color.DEEPPINK=Object.freeze(Color.fromCssColorString("#FF1493")),Color.DEEPSKYBLUE=Object.freeze(Color.fromCssColorString("#00BFFF")),Color.DIMGRAY=Object.freeze(Color.fromCssColorString("#696969")),Color.DIMGREY=Color.DIMGRAY,Color.DODGERBLUE=Object.freeze(Color.fromCssColorString("#1E90FF")),Color.FIREBRICK=Object.freeze(Color.fromCssColorString("#B22222")),Color.FLORALWHITE=Object.freeze(Color.fromCssColorString("#FFFAF0")),Color.FORESTGREEN=Object.freeze(Color.fromCssColorString("#228B22")),Color.FUCHSIA=Object.freeze(Color.fromCssColorString("#FF00FF")),Color.GAINSBORO=Object.freeze(Color.fromCssColorString("#DCDCDC")),Color.GHOSTWHITE=Object.freeze(Color.fromCssColorString("#F8F8FF")),Color.GOLD=Object.freeze(Color.fromCssColorString("#FFD700")),Color.GOLDENROD=Object.freeze(Color.fromCssColorString("#DAA520")),Color.GRAY=Object.freeze(Color.fromCssColorString("#808080")),Color.GREEN=Object.freeze(Color.fromCssColorString("#008000")),Color.GREENYELLOW=Object.freeze(Color.fromCssColorString("#ADFF2F")),Color.GREY=Color.GRAY,Color.HONEYDEW=Object.freeze(Color.fromCssColorString("#F0FFF0")),Color.HOTPINK=Object.freeze(Color.fromCssColorString("#FF69B4")),Color.INDIANRED=Object.freeze(Color.fromCssColorString("#CD5C5C")),Color.INDIGO=Object.freeze(Color.fromCssColorString("#4B0082")),Color.IVORY=Object.freeze(Color.fromCssColorString("#FFFFF0")),Color.KHAKI=Object.freeze(Color.fromCssColorString("#F0E68C")),Color.LAVENDER=Object.freeze(Color.fromCssColorString("#E6E6FA")),Color.LAVENDAR_BLUSH=Object.freeze(Color.fromCssColorString("#FFF0F5")),Color.LAWNGREEN=Object.freeze(Color.fromCssColorString("#7CFC00")),Color.LEMONCHIFFON=Object.freeze(Color.fromCssColorString("#FFFACD")),Color.LIGHTBLUE=Object.freeze(Color.fromCssColorString("#ADD8E6")),Color.LIGHTCORAL=Object.freeze(Color.fromCssColorString("#F08080")),Color.LIGHTCYAN=Object.freeze(Color.fromCssColorString("#E0FFFF")),Color.LIGHTGOLDENRODYELLOW=Object.freeze(Color.fromCssColorString("#FAFAD2")),Color.LIGHTGRAY=Object.freeze(Color.fromCssColorString("#D3D3D3")),Color.LIGHTGREEN=Object.freeze(Color.fromCssColorString("#90EE90")),Color.LIGHTGREY=Color.LIGHTGRAY,Color.LIGHTPINK=Object.freeze(Color.fromCssColorString("#FFB6C1")),Color.LIGHTSEAGREEN=Object.freeze(Color.fromCssColorString("#20B2AA")),Color.LIGHTSKYBLUE=Object.freeze(Color.fromCssColorString("#87CEFA")),Color.LIGHTSLATEGRAY=Object.freeze(Color.fromCssColorString("#778899")),Color.LIGHTSLATEGREY=Color.LIGHTSLATEGRAY,Color.LIGHTSTEELBLUE=Object.freeze(Color.fromCssColorString("#B0C4DE")),Color.LIGHTYELLOW=Object.freeze(Color.fromCssColorString("#FFFFE0")),Color.LIME=Object.freeze(Color.fromCssColorString("#00FF00")),Color.LIMEGREEN=Object.freeze(Color.fromCssColorString("#32CD32")),Color.LINEN=Object.freeze(Color.fromCssColorString("#FAF0E6")),Color.MAGENTA=Object.freeze(Color.fromCssColorString("#FF00FF")),Color.MAROON=Object.freeze(Color.fromCssColorString("#800000")),Color.MEDIUMAQUAMARINE=Object.freeze(Color.fromCssColorString("#66CDAA")),Color.MEDIUMBLUE=Object.freeze(Color.fromCssColorString("#0000CD")),Color.MEDIUMORCHID=Object.freeze(Color.fromCssColorString("#BA55D3")),Color.MEDIUMPURPLE=Object.freeze(Color.fromCssColorString("#9370DB")),Color.MEDIUMSEAGREEN=Object.freeze(Color.fromCssColorString("#3CB371")),Color.MEDIUMSLATEBLUE=Object.freeze(Color.fromCssColorString("#7B68EE")),Color.MEDIUMSPRINGGREEN=Object.freeze(Color.fromCssColorString("#00FA9A")),Color.MEDIUMTURQUOISE=Object.freeze(Color.fromCssColorString("#48D1CC")),Color.MEDIUMVIOLETRED=Object.freeze(Color.fromCssColorString("#C71585")),Color.MIDNIGHTBLUE=Object.freeze(Color.fromCssColorString("#191970")),Color.MINTCREAM=Object.freeze(Color.fromCssColorString("#F5FFFA")),Color.MISTYROSE=Object.freeze(Color.fromCssColorString("#FFE4E1")),Color.MOCCASIN=Object.freeze(Color.fromCssColorString("#FFE4B5")),Color.NAVAJOWHITE=Object.freeze(Color.fromCssColorString("#FFDEAD")),Color.NAVY=Object.freeze(Color.fromCssColorString("#000080")),Color.OLDLACE=Object.freeze(Color.fromCssColorString("#FDF5E6")),Color.OLIVE=Object.freeze(Color.fromCssColorString("#808000")),Color.OLIVEDRAB=Object.freeze(Color.fromCssColorString("#6B8E23")),Color.ORANGE=Object.freeze(Color.fromCssColorString("#FFA500")),Color.ORANGERED=Object.freeze(Color.fromCssColorString("#FF4500")),Color.ORCHID=Object.freeze(Color.fromCssColorString("#DA70D6")),Color.PALEGOLDENROD=Object.freeze(Color.fromCssColorString("#EEE8AA")),Color.PALEGREEN=Object.freeze(Color.fromCssColorString("#98FB98")),Color.PALETURQUOISE=Object.freeze(Color.fromCssColorString("#AFEEEE")),Color.PALEVIOLETRED=Object.freeze(Color.fromCssColorString("#DB7093")),Color.PAPAYAWHIP=Object.freeze(Color.fromCssColorString("#FFEFD5")),Color.PEACHPUFF=Object.freeze(Color.fromCssColorString("#FFDAB9")),Color.PERU=Object.freeze(Color.fromCssColorString("#CD853F")),Color.PINK=Object.freeze(Color.fromCssColorString("#FFC0CB")),Color.PLUM=Object.freeze(Color.fromCssColorString("#DDA0DD")),Color.POWDERBLUE=Object.freeze(Color.fromCssColorString("#B0E0E6")),Color.PURPLE=Object.freeze(Color.fromCssColorString("#800080")),Color.RED=Object.freeze(Color.fromCssColorString("#FF0000")),Color.ROSYBROWN=Object.freeze(Color.fromCssColorString("#BC8F8F")),Color.ROYALBLUE=Object.freeze(Color.fromCssColorString("#4169E1")),Color.SADDLEBROWN=Object.freeze(Color.fromCssColorString("#8B4513")),Color.SALMON=Object.freeze(Color.fromCssColorString("#FA8072")),Color.SANDYBROWN=Object.freeze(Color.fromCssColorString("#F4A460")),Color.SEAGREEN=Object.freeze(Color.fromCssColorString("#2E8B57")),Color.SEASHELL=Object.freeze(Color.fromCssColorString("#FFF5EE")),Color.SIENNA=Object.freeze(Color.fromCssColorString("#A0522D")),Color.SILVER=Object.freeze(Color.fromCssColorString("#C0C0C0")),Color.SKYBLUE=Object.freeze(Color.fromCssColorString("#87CEEB")),Color.SLATEBLUE=Object.freeze(Color.fromCssColorString("#6A5ACD")),Color.SLATEGRAY=Object.freeze(Color.fromCssColorString("#708090")),Color.SLATEGREY=Color.SLATEGRAY,Color.SNOW=Object.freeze(Color.fromCssColorString("#FFFAFA")),Color.SPRINGGREEN=Object.freeze(Color.fromCssColorString("#00FF7F")),Color.STEELBLUE=Object.freeze(Color.fromCssColorString("#4682B4")),Color.TAN=Object.freeze(Color.fromCssColorString("#D2B48C")),Color.TEAL=Object.freeze(Color.fromCssColorString("#008080")),Color.THISTLE=Object.freeze(Color.fromCssColorString("#D8BFD8")),Color.TOMATO=Object.freeze(Color.fromCssColorString("#FF6347")),Color.TURQUOISE=Object.freeze(Color.fromCssColorString("#40E0D0")),Color.VIOLET=Object.freeze(Color.fromCssColorString("#EE82EE")),Color.WHEAT=Object.freeze(Color.fromCssColorString("#F5DEB3")),Color.WHITE=Object.freeze(Color.fromCssColorString("#FFFFFF")),Color.WHITESMOKE=Object.freeze(Color.fromCssColorString("#F5F5F5")),Color.YELLOW=Object.freeze(Color.fromCssColorString("#FFFF00")),Color.YELLOWGREEN=Object.freeze(Color.fromCssColorString("#9ACD32")),Color.TRANSPARENT=Object.freeze(new Color(0,0,0,0)),Object.defineProperties(ColorGeometryInstanceAttribute.prototype,{componentDatatype:{get:function(){return ComponentDatatype$1.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}}),ColorGeometryInstanceAttribute.fromColor=function(e){return new ColorGeometryInstanceAttribute(e.red,e.green,e.blue,e.alpha)},ColorGeometryInstanceAttribute.toValue=function(e,t){return defined(t)?e.toBytes(t):new Uint8Array(e.toBytes())},ColorGeometryInstanceAttribute.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.value[0]===t.value[0]&&e.value[1]===t.value[1]&&e.value[2]===t.value[2]&&e.value[3]===t.value[3]},Object.defineProperties(CompressedTextureBuffer.prototype,{internalFormat:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}}}),CompressedTextureBuffer.clone=function(e){if(defined(e))return new CompressedTextureBuffer(e._format,e._width,e._height,e._buffer)},CompressedTextureBuffer.prototype.clone=function(){return CompressedTextureBuffer.clone(this)};var CoplanarPolygonGeometryLibrary={},scratchIntersectionPoint=new Cartesian3,scratchXAxis=new Cartesian3,scratchYAxis=new Cartesian3,scratchZAxis=new Cartesian3,obbScratch=new OrientedBoundingBox;function projectTo2D(e,t,i,r,n){t=Cartesian3.subtract(e,t,scratchIntersectionPoint),i=Cartesian3.dot(i,t),t=Cartesian3.dot(r,t);return Cartesian2.fromElements(i,t,n)}function calculateM(e,t,i){if(0===e)return t*i;var r=e*e,n=r*r,a=n*r,o=a*r,s=o*r,e=s*r,i=i;return t*((1-r/4-3*n/64-5*a/256-175*o/16384-441*s/65536-4851*e/1048576)*i-(3*r/8+3*n/32+45*a/1024+105*o/4096+2205*s/131072+6237*e/524288)*Math.sin(2*i)+(15*n/256+45*a/1024+525*o/16384+1575*s/65536+155925*e/8388608)*Math.sin(4*i)-(35*a/3072+175*o/12288+3675*s/262144+13475*e/1048576)*Math.sin(6*i)+(315*o/131072+2205*s/524288+43659*e/8388608)*Math.sin(8*i)-(693*s/1310720+6237*e/5242880)*Math.sin(10*i)+1001*e/8388608*Math.sin(12*i))}function calculateInverseM(e,t,i){var r=e/i;if(0===t)return r;var n=r*r,a=n*r,o=a*r,s=t*t,l=s*s,c=l*s,u=c*s,d=u*s,h=d*s,p=Math.sin(2*r),m=Math.cos(2*r),f=Math.sin(4*r),g=Math.cos(4*r),_=Math.sin(6*r),y=Math.cos(6*r),e=Math.sin(8*r),i=Math.cos(8*r),t=Math.sin(10*r);return r+r*s/4+7*r*l/64+15*r*c/256+579*r*u/16384+1515*r*d/65536+16837*r*h/1048576+(3*r*l/16+45*r*c/256-r*(32*n-561)*u/4096-r*(232*n-1677)*d/16384+r*(399985-90560*n+512*o)*h/5242880)*m+(21*r*c/256+483*r*u/4096-r*(224*n-1969)*d/16384-r*(33152*n-112599)*h/1048576)*g+(151*r*u/4096+4681*r*d/65536+1479*r*h/16384-453*a*h/32768)*y+(1097*r*d/65536+42783*r*h/1048576)*i+8011*r*h/1048576*Math.cos(10*r)+(3*s/8+3*l/16+213*c/2048-3*n*c/64+255*u/4096-33*n*u/512+20861*d/524288-33*n*d/512+o*d/1024+28273*h/1048576-471*n*h/8192+9*o*h/4096)*p+(21*l/256+21*c/256+533*u/8192-21*n*u/512+197*d/4096-315*n*d/4096+584039*h/16777216-12517*n*h/131072+7*o*h/2048)*f+(151*c/6144+151*u/4096+5019*d/131072-453*n*d/16384+26965*h/786432-8607*n*h/131072)*_+(1097*u/131072+1097*d/65536+225797*h/10485760-1097*n*h/65536)*e+(8011*d/2621440+8011*h/1048576)*t+293393*h/251658240*Math.sin(12*r)}function calculateSigma(e,t){if(0===e)return Math.log(Math.tan(.5*(CesiumMath.PI_OVER_TWO+t)));var i=e*Math.sin(t);return Math.log(Math.tan(.5*(CesiumMath.PI_OVER_TWO+t)))-e/2*Math.log((1+i)/(1-i))}function calculateHeading(e,t,i,r,n){i=calculateSigma(e._ellipticity,i),n=calculateSigma(e._ellipticity,n);return Math.atan2(CesiumMath.negativePiToPi(r-t),n-i)}function calculateArcLength(e,t,i,r,n,a,o){var s=e._heading,a=a-r,r=0;return r=CesiumMath.equalsEpsilon(Math.abs(s),CesiumMath.PI_OVER_TWO,CesiumMath.EPSILON8)?t===i?t*Math.cos(n)*CesiumMath.negativePiToPi(a):(i=Math.sin(n),t*Math.cos(n)*CesiumMath.negativePiToPi(a)/Math.sqrt(1-e._ellipticitySquared*i*i)):(n=calculateM(e._ellipticity,t,n),(calculateM(e._ellipticity,t,o)-n)/Math.cos(s)),Math.abs(r)}CoplanarPolygonGeometryLibrary.validOutline=function(e){var t=OrientedBoundingBox.fromPoints(e,obbScratch).halfAxes,i=Matrix3.getColumn(t,0,scratchXAxis),e=Matrix3.getColumn(t,1,scratchYAxis),t=Matrix3.getColumn(t,2,scratchZAxis),i=Cartesian3.magnitude(i),e=Cartesian3.magnitude(e),t=Cartesian3.magnitude(t);return!(0===i&&(0===e||0===t)||0===e&&0===t)},CoplanarPolygonGeometryLibrary.computeProjectTo2DArguments=function(e,t,i,r){var n,a,o=OrientedBoundingBox.fromPoints(e,obbScratch),s=o.halfAxes,l=Matrix3.getColumn(s,0,scratchXAxis),c=Matrix3.getColumn(s,1,scratchYAxis),u=Matrix3.getColumn(s,2,scratchZAxis),d=Cartesian3.magnitude(l),h=Cartesian3.magnitude(c),e=Cartesian3.magnitude(u),s=Math.min(d,h,e);return(0!==d||0!==h&&0!==e)&&(0!==h||0!==e)&&(s!==h&&s!==e||(n=l),s===d?n=c:s===e&&(a=c),s!==d&&s!==h||(a=u),Cartesian3.normalize(n,i),Cartesian3.normalize(a,r),Cartesian3.clone(o.center,t),!0)},CoplanarPolygonGeometryLibrary.createProjectPointsTo2DFunction=function(r,n,a){return function(e){for(var t=new Array(e.length),i=0;i<e.length;i++)t[i]=projectTo2D(e[i],r,n,a);return t}},CoplanarPolygonGeometryLibrary.createProjectPointTo2DFunction=function(i,r,n){return function(e,t){return projectTo2D(e,i,r,n,t)}};var scratchCart1=new Cartesian3,scratchCart2=new Cartesian3;function computeProperties(e,t,i,r){Cartesian3.normalize(r.cartographicToCartesian(t,scratchCart2),scratchCart1),Cartesian3.normalize(r.cartographicToCartesian(i,scratchCart2),scratchCart2);var n=r.maximumRadius,a=r.minimumRadius,n=n*n,a=a*a;e._ellipticitySquared=(n-a)/n,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=Cartographic.clone(t,e._start),e._start.height=0,e._end=Cartographic.clone(i,e._end),e._end.height=0,e._heading=calculateHeading(e,t.longitude,t.latitude,i.longitude,i.latitude),e._distance=calculateArcLength(e,r.maximumRadius,r.minimumRadius,t.longitude,t.latitude,i.longitude,i.latitude)}function interpolateUsingSurfaceDistance(e,t,i,r,n,a){var o,s,l,c=n*n;return l=Math.abs(CesiumMath.PI_OVER_TWO-Math.abs(t))>CesiumMath.EPSILON8?(o=calculateInverseM(calculateM(n,r,e.latitude)+i*Math.cos(t),n,r),l=calculateSigma(n,e.latitude),s=calculateSigma(n,o),l=Math.tan(t)*(s-l),CesiumMath.negativePiToPi(e.longitude+l)):(o=e.latitude,l=i/(0===n?r*Math.cos(e.latitude):(n=Math.sin(e.latitude),r*Math.cos(e.latitude)/Math.sqrt(1-c*n*n))),0<t?CesiumMath.negativePiToPi(e.longitude+l):CesiumMath.negativePiToPi(e.longitude-l)),defined(a)?(a.longitude=l,a.latitude=o,a.height=0,a):new Cartographic(l,o,0)}function EllipsoidRhumbLine(e,t,i){i=defaultValue(i,Ellipsoid.WGS84);this._ellipsoid=i,this._start=new Cartographic,this._end=new Cartographic,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,defined(e)&&defined(t)&&computeProperties(this,e,t,i)}function earcut(e,t,i){i=i||2;var r,n,a,o,s,l,c,u=t&&t.length,d=u?t[0]*i:e.length,h=linkedList(e,0,d,i,!0),p=[];if(!h||h.next===h.prev)return p;if(u&&(h=eliminateHoles(e,t,h,i)),e.length>80*i){r=a=e[0],n=o=e[1];for(var m=i;m<d;m+=i)(s=e[m])<r&&(r=s),(l=e[m+1])<n&&(n=l),a<s&&(a=s),o<l&&(o=l);c=0!==(c=Math.max(a-r,o-n))?1/c:0}return earcutLinked(h,p,i,r,n,c),p}function linkedList(e,t,i,r,n){var a,o;if(n===0<signedArea(e,t,i,r))for(a=t;a<i;a+=r)o=insertNode(a,e[a],e[a+1],o);else for(a=i-r;t<=a;a-=r)o=insertNode(a,e[a],e[a+1],o);return o&&equals(o,o.next)&&(removeNode(o),o=o.next),o}function filterPoints(e,t){if(!e)return e;t=t||e;var i,r=e;do{if(i=!1,r.steiner||!equals(r,r.next)&&0!==area(r.prev,r,r.next))r=r.next;else{if(removeNode(r),(r=t=r.prev)===r.next)break;i=!0}}while(i||r!==t);return t}function earcutLinked(e,t,i,r,n,a,o){if(e){!o&&a&&indexCurve(e,r,n,a);for(var s,l,c=e;e.prev!==e.next;)if(s=e.prev,l=e.next,a?isEarHashed(e,r,n,a):isEar(e))t.push(s.i/i),t.push(e.i/i),t.push(l.i/i),removeNode(e),e=l.next,c=l.next;else if((e=l)===c){o?1===o?earcutLinked(e=cureLocalIntersections(filterPoints(e),t,i),t,i,r,n,a,2):2===o&&splitEarcut(e,t,i,r,n,a):earcutLinked(filterPoints(e),t,i,r,n,a,1);break}}}function isEar(e){var t=e.prev,i=e,r=e.next;if(!(0<=area(t,i,r))){for(var n=e.next.next;n!==e.prev;){if(pointInTriangle(t.x,t.y,i.x,i.y,r.x,r.y,n.x,n.y)&&0<=area(n.prev,n,n.next))return;n=n.next}return 1}}function isEarHashed(e,t,i,r){var n=e.prev,a=e,o=e.next;if(!(0<=area(n,a,o))){for(var s=(n.x<a.x?n.x<o.x?n:o:a.x<o.x?a:o).x,l=(n.y<a.y?n.y<o.y?n:o:a.y<o.y?a:o).y,c=(n.x>a.x?n.x>o.x?n:o:a.x>o.x?a:o).x,u=(n.y>a.y?n.y>o.y?n:o:a.y>o.y?a:o).y,d=zOrder(s,l,t,i,r),h=zOrder(c,u,t,i,r),p=e.prevZ,m=e.nextZ;p&&p.z>=d&&m&&m.z<=h;){if(p!==e.prev&&p!==e.next&&pointInTriangle(n.x,n.y,a.x,a.y,o.x,o.y,p.x,p.y)&&0<=area(p.prev,p,p.next))return;if(p=p.prevZ,m!==e.prev&&m!==e.next&&pointInTriangle(n.x,n.y,a.x,a.y,o.x,o.y,m.x,m.y)&&0<=area(m.prev,m,m.next))return;m=m.nextZ}for(;p&&p.z>=d;){if(p!==e.prev&&p!==e.next&&pointInTriangle(n.x,n.y,a.x,a.y,o.x,o.y,p.x,p.y)&&0<=area(p.prev,p,p.next))return;p=p.prevZ}for(;m&&m.z<=h;){if(m!==e.prev&&m!==e.next&&pointInTriangle(n.x,n.y,a.x,a.y,o.x,o.y,m.x,m.y)&&0<=area(m.prev,m,m.next))return;m=m.nextZ}return 1}}function cureLocalIntersections(e,t,i){var r=e;do{var n=r.prev,a=r.next.next}while(!equals(n,a)&&intersects(n,r,r.next,a)&&locallyInside(n,a)&&locallyInside(a,n)&&(t.push(n.i/i),t.push(r.i/i),t.push(a.i/i),removeNode(r),removeNode(r.next),r=e=a),(r=r.next)!==e);return filterPoints(r)}function splitEarcut(e,t,i,r,n,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&isValidDiagonal(o,s)){var l=splitPolygon(o,s),o=filterPoints(o,o.next),l=filterPoints(l,l.next);return earcutLinked(o,t,i,r,n,a),void earcutLinked(l,t,i,r,n,a)}s=s.next}}while((o=o.next)!==e)}function eliminateHoles(e,t,i,r){for(var n,a=[],o=0,s=t.length;o<s;o++)(n=linkedList(e,t[o]*r,o<s-1?t[o+1]*r:e.length,r,!1))===n.next&&(n.steiner=!0),a.push(getLeftmost(n));for(a.sort(compareX),o=0;o<a.length;o++)eliminateHole(a[o],i),i=filterPoints(i,i.next);return i}function compareX(e,t){return e.x-t.x}function eliminateHole(e,t){(t=findHoleBridge(e,t))&&filterPoints(e=splitPolygon(t,e),e.next)}function findHoleBridge(e,t){var i,r=t,n=e.x,a=e.y,o=-1/0;do{if(a<=r.y&&a>=r.next.y&&r.next.y!==r.y){var s=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&o<s){if((o=s)===n){if(a===r.y)return r;if(a===r.next.y)return r.next}i=r.x<r.next.x?r:r.next}}}while((r=r.next)!==t);if(!i)return null;if(n===o)return i;for(var l,c=i,u=i.x,d=i.y,h=1/0,r=i;n>=r.x&&r.x>=u&&n!==r.x&&pointInTriangle(a<d?n:o,a,u,d,a<d?o:n,a,r.x,r.y)&&(l=Math.abs(a-r.y)/(n-r.x),locallyInside(r,e)&&(l<h||l===h&&(r.x>i.x||r.x===i.x&§orContainsSector(i,r)))&&(i=r,h=l)),r=r.next,r!==c;);return i}function sectorContainsSector(e,t){return area(e.prev,e,t.prev)<0&&area(t.next,e,e.next)<0}function indexCurve(e,t,i,r){for(var n=e;null===n.z&&(n.z=zOrder(n.x,n.y,t,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next,n!==e;);n.prevZ.nextZ=null,n.prevZ=null,sortLinked(n)}function sortLinked(e){var t,i,r,n,a,o,s,l,c=1;do{for(i=e,a=e=null,o=0;i;){for(o++,r=i,t=s=0;t<c&&(s++,r=r.nextZ);t++);for(l=c;0<s||0<l&&r;)0!==s&&(0===l||!r||i.z<=r.z)?(i=(n=i).nextZ,s--):(r=(n=r).nextZ,l--),a?a.nextZ=n:e=n,n.prevZ=a,a=n;i=r}}while(a.nextZ=null,c*=2,1<o);return e}function zOrder(e,t,i,r,n){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*n)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*n)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function getLeftmost(e){for(var t=e,i=e;(t.x<i.x||t.x===i.x&&t.y<i.y)&&(i=t),t=t.next,t!==e;);return i}function pointInTriangle(e,t,i,r,n,a,o,s){return 0<=(n-o)*(t-s)-(e-o)*(a-s)&&0<=(e-o)*(r-s)-(i-o)*(t-s)&&0<=(i-o)*(a-s)-(n-o)*(r-s)}function isValidDiagonal(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!intersectsPolygon(e,t)&&(locallyInside(e,t)&&locallyInside(t,e)&&middleInside(e,t)&&(area(e.prev,e,t.prev)||area(e,t.prev,t))||equals(e,t)&&0<area(e.prev,e,e.next)&&0<area(t.prev,t,t.next))}function area(e,t,i){return(t.y-e.y)*(i.x-t.x)-(t.x-e.x)*(i.y-t.y)}function equals(e,t){return e.x===t.x&&e.y===t.y}function intersects(e,t,i,r){var n=sign(area(e,t,i)),a=sign(area(e,t,r)),o=sign(area(i,r,e)),s=sign(area(i,r,t));return n!==a&&o!==s||(0===n&&onSegment(e,i,t)||(0===a&&onSegment(e,r,t)||(0===o&&onSegment(i,e,r)||!(0!==s||!onSegment(i,t,r)))))}function onSegment(e,t,i){return t.x<=Math.max(e.x,i.x)&&t.x>=Math.min(e.x,i.x)&&t.y<=Math.max(e.y,i.y)&&t.y>=Math.min(e.y,i.y)}function sign(e){return 0<e?1:e<0?-1:0}function intersectsPolygon(e,t){var i=e;do{if(i.i!==e.i&&i.next.i!==e.i&&i.i!==t.i&&i.next.i!==t.i&&intersects(i,i.next,e,t))return 1}while((i=i.next)!==e)}function locallyInside(e,t){return area(e.prev,e,e.next)<0?0<=area(e,t,e.next)&&0<=area(e,e.prev,t):area(e,t,e.prev)<0||area(e,e.next,t)<0}function middleInside(e,t){for(var i=e,r=!1,n=(e.x+t.x)/2,a=(e.y+t.y)/2;i.y>a!=i.next.y>a&&i.next.y!==i.y&&n<(i.next.x-i.x)*(a-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next,i!==e;);return r}function splitPolygon(e,t){var i=new Node$1(e.i,e.x,e.y),r=new Node$1(t.i,t.x,t.y),n=e.next,a=t.prev;return(e.next=t).prev=e,(i.next=n).prev=i,(r.next=i).prev=r,(a.next=r).prev=a,r}function insertNode(e,t,i,r){i=new Node$1(e,t,i);return r?(i.next=r.next,(i.prev=r).next.prev=i,r.next=i):(i.prev=i).next=i,i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node$1(e,t,i){this.i=e,this.x=t,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,t,i,r){for(var n=0,a=t,o=i-r;a<i;a+=r)n+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return n}Object.defineProperties(EllipsoidRhumbLine.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}}),EllipsoidRhumbLine.fromStartHeadingDistance=function(e,t,i,r,n){var a=defaultValue(r,Ellipsoid.WGS84),o=a.maximumRadius,s=a.minimumRadius,o=o*o,s=s*s,o=Math.sqrt((o-s)/o),o=interpolateUsingSurfaceDistance(e,t=CesiumMath.negativePiToPi(t),i,a.maximumRadius,o);return!defined(n)||defined(r)&&!r.equals(n.ellipsoid)?new EllipsoidRhumbLine(e,o,a):(n.setEndPoints(e,o),n)},EllipsoidRhumbLine.prototype.setEndPoints=function(e,t){computeProperties(this,e,t,this._ellipsoid)},EllipsoidRhumbLine.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)},EllipsoidRhumbLine.prototype.interpolateUsingSurfaceDistance=function(e,t){return interpolateUsingSurfaceDistance(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)},EllipsoidRhumbLine.prototype.findIntersectionWithLongitude=function(e,t){var i=this._ellipticity,r=this._heading,n=Math.abs(r),a=this._start;if(e=CesiumMath.negativePiToPi(e),CesiumMath.equalsEpsilon(Math.abs(e),Math.PI,CesiumMath.EPSILON14)&&(e=CesiumMath.sign(a.longitude)*Math.PI),defined(t)||(t=new Cartographic),Math.abs(CesiumMath.PI_OVER_TWO-n)<=CesiumMath.EPSILON8)return t.longitude=e,t.latitude=a.latitude,t.height=0,t;if(CesiumMath.equalsEpsilon(Math.abs(CesiumMath.PI_OVER_TWO-n),CesiumMath.PI_OVER_TWO,CesiumMath.EPSILON8))return CesiumMath.equalsEpsilon(e,a.longitude,CesiumMath.EPSILON12)?void 0:(t.longitude=e,t.latitude=CesiumMath.PI_OVER_TWO*CesiumMath.sign(CesiumMath.PI_OVER_TWO-r),t.height=0,t);var o,s=a.latitude,n=i*Math.sin(s),l=Math.tan(.5*(CesiumMath.PI_OVER_TWO+s))*Math.exp((e-a.longitude)/Math.tan(r)),c=(1+n)/(1-n),u=a.latitude;do{o=u;var d=i*Math.sin(o),d=(1+d)/(1-d),u=2*Math.atan(l*Math.pow(d/c,i/2))-CesiumMath.PI_OVER_TWO}while(!CesiumMath.equalsEpsilon(u,o,CesiumMath.EPSILON12));return t.longitude=e,t.latitude=u,t.height=0,t},EllipsoidRhumbLine.prototype.findIntersectionWithLatitude=function(e,t){var i=this._ellipticity,r=this._heading,n=this._start;if(!CesiumMath.equalsEpsilon(Math.abs(r),CesiumMath.PI_OVER_TWO,CesiumMath.EPSILON8)){var a=calculateSigma(i,n.latitude),i=calculateSigma(i,e),a=Math.tan(r)*(i-a),a=CesiumMath.negativePiToPi(n.longitude+a);return defined(t)?(t.longitude=a,t.latitude=e,t.height=0,t):new Cartographic(a,e,0)}},earcut.deviation=function(e,t,i,r){var n=t&&t.length,a=n?t[0]*i:e.length,o=Math.abs(signedArea(e,0,a,i));if(n)for(var s=0,l=t.length;s<l;s++){var c=t[s]*i,u=s<l-1?t[s+1]*i:e.length;o-=Math.abs(signedArea(e,c,u,i))}for(var d=0,s=0;s<r.length;s+=3){var h=r[s]*i,p=r[s+1]*i,m=r[s+2]*i;d+=Math.abs((e[h]-e[m])*(e[1+p]-e[1+h])-(e[h]-e[p])*(e[1+m]-e[1+h]))}return 0===o&&0===d?0:Math.abs((d-o)/o)},earcut.flatten=function(e){for(var t=e[0][0].length,i={vertices:[],holes:[],dimensions:t},r=0,n=0;n<e.length;n++){for(var a=0;a<e[n].length;a++)for(var o=0;o<t;o++)i.vertices.push(e[n][a][o]);0<n&&(r+=e[n-1].length,i.holes.push(r))}return i};var WindingOrder={CLOCKWISE:WebGLConstants$1.CW,COUNTER_CLOCKWISE:WebGLConstants$1.CCW,validate:function(e){return e===WindingOrder.CLOCKWISE||e===WindingOrder.COUNTER_CLOCKWISE}},WindingOrder$1=Object.freeze(WindingOrder),scaleToGeodeticHeightN=new Cartesian3,scaleToGeodeticHeightP=new Cartesian3,PolygonPipeline={computeArea2D:function(e){for(var t=e.length,i=0,r=t-1,n=0;n<t;r=n++){var a=e[r],o=e[n];i+=a.x*o.y-o.x*a.y}return.5*i},computeWindingOrder2D:function(e){return 0<PolygonPipeline.computeArea2D(e)?WindingOrder$1.COUNTER_CLOCKWISE:WindingOrder$1.CLOCKWISE},triangulate:function(e,t){return earcut(Cartesian2.packArray(e),t,2)}},subdivisionV0Scratch=new Cartesian3,subdivisionV1Scratch=new Cartesian3,subdivisionV2Scratch=new Cartesian3,subdivisionS0Scratch=new Cartesian3,subdivisionS1Scratch=new Cartesian3,subdivisionS2Scratch=new Cartesian3,subdivisionMidScratch=new Cartesian3;PolygonPipeline.computeSubdivision=function(e,t,i,r){r=defaultValue(r,CesiumMath.RADIANS_PER_DEGREE);for(var n=i.slice(0),a=t.length,o=new Array(3*a),s=0,l=0;l<a;l++){var c=t[l];o[s++]=c.x,o[s++]=c.y,o[s++]=c.z}for(var u=[],d={},h=e.maximumRadius,r=CesiumMath.chordLength(r,h),p=r*r;0<n.length;){var m,f,g=n.pop(),_=n.pop(),y=n.pop(),C=Cartesian3.fromArray(o,3*y,subdivisionV0Scratch),v=Cartesian3.fromArray(o,3*_,subdivisionV1Scratch),S=Cartesian3.fromArray(o,3*g,subdivisionV2Scratch),T=Cartesian3.multiplyByScalar(Cartesian3.normalize(C,subdivisionS0Scratch),h,subdivisionS0Scratch),b=Cartesian3.multiplyByScalar(Cartesian3.normalize(v,subdivisionS1Scratch),h,subdivisionS1Scratch),x=Cartesian3.multiplyByScalar(Cartesian3.normalize(S,subdivisionS2Scratch),h,subdivisionS2Scratch),E=Cartesian3.magnitudeSquared(Cartesian3.subtract(T,b,subdivisionMidScratch)),b=Cartesian3.magnitudeSquared(Cartesian3.subtract(b,x,subdivisionMidScratch)),x=Cartesian3.magnitudeSquared(Cartesian3.subtract(x,T,subdivisionMidScratch)),T=Math.max(E,b,x);p<T?E===T?(defined(l=d[m=Math.min(y,_)+" "+Math.max(y,_)])||(f=Cartesian3.add(C,v,subdivisionMidScratch),Cartesian3.multiplyByScalar(f,.5,f),o.push(f.x,f.y,f.z),l=o.length/3-1,d[m]=l),n.push(y,l,g),n.push(l,_,g)):b===T?(defined(l=d[m=Math.min(_,g)+" "+Math.max(_,g)])||(f=Cartesian3.add(v,S,subdivisionMidScratch),Cartesian3.multiplyByScalar(f,.5,f),o.push(f.x,f.y,f.z),l=o.length/3-1,d[m]=l),n.push(_,l,y),n.push(l,g,y)):x===T&&(defined(l=d[m=Math.min(g,y)+" "+Math.max(g,y)])||(f=Cartesian3.add(S,C,subdivisionMidScratch),Cartesian3.multiplyByScalar(f,.5,f),o.push(f.x,f.y,f.z),l=o.length/3-1,d[m]=l),n.push(g,l,_),n.push(l,y,_)):(u.push(y),u.push(_),u.push(g))}return new Geometry({attributes:{position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:o})},indices:u,primitiveType:PrimitiveType$1.TRIANGLES})};var subdivisionC0Scratch=new Cartographic,subdivisionC1Scratch=new Cartographic,subdivisionC2Scratch=new Cartographic,subdivisionCartographicScratch=new Cartographic;function Queue(){this._array=[],this._offset=0,this._length=0}PolygonPipeline.computeRhumbLineSubdivision=function(e,t,i,r){r=defaultValue(r,CesiumMath.RADIANS_PER_DEGREE);for(var n=i.slice(0),a=t.length,o=new Array(3*a),s=0,l=0;l<a;l++){var c=t[l];o[s++]=c.x,o[s++]=c.y,o[s++]=c.z}for(var u=[],d={},i=e.maximumRadius,h=CesiumMath.chordLength(r,i),p=new EllipsoidRhumbLine(void 0,void 0,e),m=new EllipsoidRhumbLine(void 0,void 0,e),f=new EllipsoidRhumbLine(void 0,void 0,e);0<n.length;){var g=n.pop(),_=n.pop(),y=n.pop(),C=Cartesian3.fromArray(o,3*y,subdivisionV0Scratch),v=Cartesian3.fromArray(o,3*_,subdivisionV1Scratch),S=Cartesian3.fromArray(o,3*g,subdivisionV2Scratch),T=e.cartesianToCartographic(C,subdivisionC0Scratch),b=e.cartesianToCartographic(v,subdivisionC1Scratch),x=e.cartesianToCartographic(S,subdivisionC2Scratch);p.setEndPoints(T,b);var E=p.surfaceDistance;m.setEndPoints(b,x);C=m.surfaceDistance;f.setEndPoints(x,T);var P,A,w,D,v=f.surfaceDistance,S=Math.max(E,C,v);h<S?E===S?(defined(l=d[P=Math.min(y,_)+" "+Math.max(y,_)])||(A=p.interpolateUsingFraction(.5,subdivisionCartographicScratch),w=.5*(T.height+b.height),D=Cartesian3.fromRadians(A.longitude,A.latitude,w,e,subdivisionMidScratch),o.push(D.x,D.y,D.z),l=o.length/3-1,d[P]=l),n.push(y,l,g),n.push(l,_,g)):C===S?(defined(l=d[P=Math.min(_,g)+" "+Math.max(_,g)])||(A=m.interpolateUsingFraction(.5,subdivisionCartographicScratch),w=.5*(b.height+x.height),D=Cartesian3.fromRadians(A.longitude,A.latitude,w,e,subdivisionMidScratch),o.push(D.x,D.y,D.z),l=o.length/3-1,d[P]=l),n.push(_,l,y),n.push(l,g,y)):v===S&&(defined(l=d[P=Math.min(g,y)+" "+Math.max(g,y)])||(A=f.interpolateUsingFraction(.5,subdivisionCartographicScratch),w=.5*(x.height+T.height),D=Cartesian3.fromRadians(A.longitude,A.latitude,w,e,subdivisionMidScratch),o.push(D.x,D.y,D.z),l=o.length/3-1,d[P]=l),n.push(g,l,_),n.push(l,y,_)):(u.push(y),u.push(_),u.push(g))}return new Geometry({attributes:{position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:o})},indices:u,primitiveType:PrimitiveType$1.TRIANGLES})},PolygonPipeline.scaleToGeodeticHeight=function(e,t,i,r){i=defaultValue(i,Ellipsoid.WGS84);var n=scaleToGeodeticHeightN,a=scaleToGeodeticHeightP;if(t=defaultValue(t,0),r=defaultValue(r,!0),defined(e))for(var o=e.length,s=0;s<o;s+=3)Cartesian3.fromArray(e,s,a),r&&(a=i.scaleToGeodeticSurface(a,a)),0!==t&&(n=i.geodeticSurfaceNormal(a,n),Cartesian3.multiplyByScalar(n,t,n),Cartesian3.add(a,n,a)),e[s]=a.x,e[s+1]=a.y,e[s+2]=a.z;return e},Object.defineProperties(Queue.prototype,{length:{get:function(){return this._length}}}),Queue.prototype.enqueue=function(e){this._array.push(e),this._length++},Queue.prototype.dequeue=function(){if(0!==this._length){var e=this._array,t=this._offset,i=e[t];return e[t]=void 0,10<++t&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,i}},Queue.prototype.peek=function(){if(0!==this._length)return this._array[this._offset]},Queue.prototype.contains=function(e){return-1!==this._array.indexOf(e)},Queue.prototype.clear=function(){this._array.length=this._offset=this._length=0},Queue.prototype.sort=function(e){0<this._offset&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var PolygonGeometryLibrary={computeHierarchyPackedLength:function(e){for(var t=0,i=[e];0<i.length;){var r=i.pop();if(defined(r)){t+=2;var n=r.positions,a=r.holes;if(defined(n)&&(t+=n.length*Cartesian3.packedLength),defined(a))for(var o=a.length,s=0;s<o;++s)i.push(a[s])}}return t},packPolygonHierarchy:function(e,t,i){for(var r=[e];0<r.length;){var n=r.pop();if(defined(n)){var a=n.positions,o=n.holes;if(t[i++]=defined(a)?a.length:0,t[i++]=defined(o)?o.length:0,defined(a))for(var s=a.length,l=0;l<s;++l,i+=3)Cartesian3.pack(a[l],t,i);if(defined(o))for(var c=o.length,u=0;u<c;++u)r.push(o[u])}}return i},unpackPolygonHierarchy:function(e,t){for(var i=e[t++],r=e[t++],n=new Array(i),a=0<r?new Array(r):void 0,o=0;o<i;++o,t+=Cartesian3.packedLength)n[o]=Cartesian3.unpack(e,t);for(var s=0;s<r;++s)a[s]=PolygonGeometryLibrary.unpackPolygonHierarchy(e,t),t=a[s].startingIndex,delete a[s].startingIndex;return{positions:n,holes:a,startingIndex:t}}},distanceScratch$3=new Cartesian3;function getPointAtDistance(e,t,i,r){return Cartesian3.subtract(t,e,distanceScratch$3),Cartesian3.multiplyByScalar(distanceScratch$3,i/r,distanceScratch$3),Cartesian3.add(e,distanceScratch$3,distanceScratch$3),[distanceScratch$3.x,distanceScratch$3.y,distanceScratch$3.z]}PolygonGeometryLibrary.subdivideLineCount=function(e,t,i){i=Cartesian3.distance(e,t)/i,i=Math.max(0,Math.ceil(CesiumMath.log2(i)));return Math.pow(2,i)};var scratchCartographic0=new Cartographic,scratchCartographic1=new Cartographic,scratchCartographic2=new Cartographic,scratchCartesian0=new Cartesian3;PolygonGeometryLibrary.subdivideRhumbLineCount=function(e,t,i,r){r=new EllipsoidRhumbLine(e.cartesianToCartographic(t,scratchCartographic0),e.cartesianToCartographic(i,scratchCartographic1),e).surfaceDistance/r,r=Math.max(0,Math.ceil(CesiumMath.log2(r)));return Math.pow(2,r)},PolygonGeometryLibrary.subdivideLine=function(e,t,i,r){var n=PolygonGeometryLibrary.subdivideLineCount(e,t,i),a=Cartesian3.distance(e,t),o=a/n;defined(r)||(r=[]);var s=r;s.length=3*n;for(var l=0,c=0;c<n;c++){var u=getPointAtDistance(e,t,c*o,a);s[l++]=u[0],s[l++]=u[1],s[l++]=u[2]}return s},PolygonGeometryLibrary.subdivideRhumbLine=function(e,t,i,r,n){var a=new EllipsoidRhumbLine(e.cartesianToCartographic(t,scratchCartographic0),e.cartesianToCartographic(i,scratchCartographic1),e),r=a.surfaceDistance/r,r=Math.max(0,Math.ceil(CesiumMath.log2(r))),o=Math.pow(2,r),s=a.surfaceDistance/o;defined(n)||(n=[]);var l=n;l.length=3*o;for(var c=0,u=0;u<o;u++){var d=a.interpolateUsingSurfaceDistance(u*s,scratchCartographic2),d=e.cartographicToCartesian(d,scratchCartesian0);l[c++]=d.x,l[c++]=d.y,l[c++]=d.z}return l};var scaleToGeodeticHeightN1=new Cartesian3,scaleToGeodeticHeightN2=new Cartesian3,scaleToGeodeticHeightP1=new Cartesian3,scaleToGeodeticHeightP2=new Cartesian3;PolygonGeometryLibrary.scaleToGeodeticHeightExtruded=function(e,t,i,r,n){r=defaultValue(r,Ellipsoid.WGS84);var a=scaleToGeodeticHeightN1,o=scaleToGeodeticHeightN2,s=scaleToGeodeticHeightP1,l=scaleToGeodeticHeightP2;if(defined(e)&&defined(e.attributes)&&defined(e.attributes.position))for(var c=e.attributes.position.values,u=c.length/2,d=0;d<u;d+=3)Cartesian3.fromArray(c,d,s),r.geodeticSurfaceNormal(s,a),l=r.scaleToGeodeticSurface(s,l),o=Cartesian3.multiplyByScalar(a,i,o),o=Cartesian3.add(l,o,o),c[d+u]=o.x,c[d+1+u]=o.y,c[d+2+u]=o.z,n&&(l=Cartesian3.clone(s,l)),o=Cartesian3.multiplyByScalar(a,t,o),o=Cartesian3.add(l,o,o),c[d]=o.x,c[d+1]=o.y,c[d+2]=o.z;return e},PolygonGeometryLibrary.polygonOutlinesFromHierarchy=function(e,t,i){var r,n,a=[],o=new Queue;for(o.enqueue(e);0!==o.length;){var s=o.dequeue(),l=s.positions;if(t)for(n=l.length,u=0;u<n;u++)i.scaleToGeodeticSurface(l[u],l[u]);if(!((l=arrayRemoveDuplicates(l,Cartesian3.equalsEpsilon,!0)).length<3)){for(var c=s.holes?s.holes.length:0,u=0;u<c;u++){var d=s.holes[u],h=d.positions;if(t)for(n=h.length,r=0;r<n;++r)i.scaleToGeodeticSurface(h[r],h[r]);if(!((h=arrayRemoveDuplicates(h,Cartesian3.equalsEpsilon,!0)).length<3)){a.push(h);var p=0;for(defined(d.holes)&&(p=d.holes.length),r=0;r<p;r++)o.enqueue(d.holes[r])}}a.push(l)}}return a},PolygonGeometryLibrary.polygonsFromHierarchy=function(e,t,i,r){var n=[],a=[],o=new Queue;for(o.enqueue(e);0!==o.length;){var s,l=o.dequeue(),c=l.positions,u=l.holes;if(i)for(s=c.length,y=0;y<s;y++)r.scaleToGeodeticSurface(c[y],c[y]);if(!((c=arrayRemoveDuplicates(c,Cartesian3.equalsEpsilon,!0)).length<3)){var d=t(c);if(defined(d)){var h=[],p=PolygonPipeline.computeWindingOrder2D(d);p===WindingOrder$1.CLOCKWISE&&(d.reverse(),c=c.slice().reverse());for(var m,f=c.slice(),g=defined(u)?u.length:0,_=[],y=0;y<g;y++){var C=u[y],v=C.positions;if(i)for(s=v.length,m=0;m<s;++m)r.scaleToGeodeticSurface(v[m],v[m]);if(!((v=arrayRemoveDuplicates(v,Cartesian3.equalsEpsilon,!0)).length<3)){var S=t(v);if(defined(S)){PolygonPipeline.computeWindingOrder2D(S)===WindingOrder$1.CLOCKWISE&&(S.reverse(),v=v.slice().reverse()),_.push(v),h.push(f.length),f=f.concat(v),d=d.concat(S);var T=0;for(defined(C.holes)&&(T=C.holes.length),m=0;m<T;m++)o.enqueue(C.holes[m])}}}n.push({outerRing:c,holes:_}),a.push({positions:f,positions2D:d,holes:h})}}}return{hierarchy:n,polygons:a}};var computeBoundingRectangleCartesian2=new Cartesian2,computeBoundingRectangleCartesian3=new Cartesian3,computeBoundingRectangleQuaternion=new Quaternion,computeBoundingRectangleMatrix3=new Matrix3;PolygonGeometryLibrary.computeBoundingRectangle=function(e,t,i,r,n){for(var r=Quaternion.fromAxisAngle(e,r,computeBoundingRectangleQuaternion),a=Matrix3.fromQuaternion(r,computeBoundingRectangleMatrix3),o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=i.length,d=0;d<u;++d){var h=Cartesian3.clone(i[d],computeBoundingRectangleCartesian3);Matrix3.multiplyByVector(a,h,h);h=t(h,computeBoundingRectangleCartesian2);defined(h)&&(o=Math.min(o,h.x),s=Math.max(s,h.x),l=Math.min(l,h.y),c=Math.max(c,h.y))}return n.x=o,n.y=l,n.width=s-o,n.height=c-l,n},PolygonGeometryLibrary.createGeometryFromPositions=function(e,t,i,r,n,a){var o=PolygonPipeline.triangulate(t.positions2D,t.holes);o.length<3&&(o=[0,1,2]);var s=t.positions;if(r){for(var l=s.length,c=new Array(3*l),u=0,d=0;d<l;d++){var h=s[d];c[u++]=h.x,c[u++]=h.y,c[u++]=h.z}r=new Geometry({attributes:{position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:c})},indices:o,primitiveType:PrimitiveType$1.TRIANGLES});return n.normal?GeometryPipeline.computeNormal(r):r}return a===ArcType$1.GEODESIC?PolygonPipeline.computeSubdivision(e,s,o,i):a===ArcType$1.RHUMB?PolygonPipeline.computeRhumbLineSubdivision(e,s,o,i):void 0};var computeWallIndicesSubdivided=[],p1Scratch$1=new Cartesian3,p2Scratch$1=new Cartesian3;PolygonGeometryLibrary.computeWallGeometry=function(e,t,i,r,n){var a,o,s,l=e.length,c=0;if(r)for(o=3*l*2,a=new Array(2*o),s=0;s<l;s++)p=e[s],m=e[(s+1)%l],a[c]=a[c+o]=p.x,a[++c]=a[c+o]=p.y,a[++c]=a[c+o]=p.z,a[++c]=a[c+o]=m.x,a[++c]=a[c+o]=m.y,a[++c]=a[c+o]=m.z,++c;else{var u=CesiumMath.chordLength(i,t.maximumRadius),d=0;if(n===ArcType$1.GEODESIC)for(s=0;s<l;s++)d+=PolygonGeometryLibrary.subdivideLineCount(e[s],e[(s+1)%l],u);else if(n===ArcType$1.RHUMB)for(s=0;s<l;s++)d+=PolygonGeometryLibrary.subdivideRhumbLineCount(t,e[s],e[(s+1)%l],u);for(o=3*(d+l),a=new Array(2*o),s=0;s<l;s++){var h,p=e[s],m=e[(s+1)%l];n===ArcType$1.GEODESIC?h=PolygonGeometryLibrary.subdivideLine(p,m,u,computeWallIndicesSubdivided):n===ArcType$1.RHUMB&&(h=PolygonGeometryLibrary.subdivideRhumbLine(t,p,m,u,computeWallIndicesSubdivided));for(var f=h.length,g=0;g<f;++g,++c)a[c]=h[g],a[c+o]=h[g];a[c]=m.x,a[c+o]=m.x,a[++c]=m.y,a[c+o]=m.y,a[++c]=m.z,a[c+o]=m.z,++c}}l=a.length;var _=IndexDatatype$1.createTypedArray(l/3,l-6*e.length),y=0;for(l/=6,s=0;s<l;s++){var C=s,v=C+1,S=C+l,T=S+1;p=Cartesian3.fromArray(a,3*C,p1Scratch$1),m=Cartesian3.fromArray(a,3*v,p2Scratch$1),Cartesian3.equalsEpsilon(p,m,CesiumMath.EPSILON10,CesiumMath.EPSILON10)||(_[y++]=C,_[y++]=S,_[y++]=v,_[y++]=v,_[y++]=S,_[y++]=T)}return new Geometry({attributes:new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:a})}),indices:_,primitiveType:PrimitiveType$1.TRIANGLES})};var scratchPosition=new Cartesian3,scratchBR=new BoundingRectangle,stScratch=new Cartesian2,textureCoordinatesOrigin=new Cartesian2,scratchNormal$3=new Cartesian3,scratchTangent$1=new Cartesian3,scratchBitangent$1=new Cartesian3,centerScratch=new Cartesian3,axis1Scratch=new Cartesian3,axis2Scratch=new Cartesian3,quaternionScratch$1=new Quaternion,textureMatrixScratch$1=new Matrix3,tangentRotationScratch=new Matrix3,surfaceNormalScratch=new Cartesian3;function createGeometryFromPolygon(e,t,i,r,n,a,o,s){var l=e.positions,c=PolygonPipeline.triangulate(e.positions2D,e.holes);c.length<3&&(c=[0,1,2]);e=IndexDatatype$1.createTypedArray(l.length,c.length);e.set(c);var u=textureMatrixScratch$1;0!==r?(c=Quaternion.fromAxisAngle(a,r,quaternionScratch$1),u=Matrix3.fromQuaternion(c,u),(t.tangent||t.bitangent)&&(c=Quaternion.fromAxisAngle(a,-r,quaternionScratch$1),p=Matrix3.fromQuaternion(c,tangentRotationScratch),o=Cartesian3.normalize(Matrix3.multiplyByVector(p,o,o),o),t.bitangent&&(s=Cartesian3.normalize(Cartesian3.cross(a,o,s),s)))):u=Matrix3.clone(Matrix3.IDENTITY,u);var d=textureCoordinatesOrigin;t.st&&(d.x=i.x,d.y=i.y);for(var h=l.length,p=3*h,m=new Float64Array(p),f=t.normal?new Float32Array(p):void 0,g=t.tangent?new Float32Array(p):void 0,_=t.bitangent?new Float32Array(p):void 0,y=t.st?new Float32Array(2*h):void 0,C=0,v=0,S=0,T=0,b=0,x=0;x<h;x++){var E,P=l[x];m[C++]=P.x,m[C++]=P.y,m[C++]=P.z,t.st&&(E=n(Matrix3.multiplyByVector(u,P,scratchPosition),stScratch),Cartesian2.subtract(E,d,E),P=CesiumMath.clamp(E.x/i.width,0,1),E=CesiumMath.clamp(E.y/i.height,0,1),y[b++]=P,y[b++]=E),t.normal&&(f[v++]=a.x,f[v++]=a.y,f[v++]=a.z),t.tangent&&(g[T++]=o.x,g[T++]=o.y,g[T++]=o.z),t.bitangent&&(_[S++]=s.x,_[S++]=s.y,_[S++]=s.z)}p=new GeometryAttributes;return t.position&&(p.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:m})),t.normal&&(p.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:f})),t.tangent&&(p.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:g})),t.bitangent&&(p.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:_})),t.st&&(p.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:y})),new Geometry({attributes:p,indices:e,primitiveType:PrimitiveType$1.TRIANGLES})}function CoplanarPolygonGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).polygonHierarchy,i=defaultValue(e.vertexFormat,VertexFormat.DEFAULT);this._vertexFormat=VertexFormat.clone(i),this._polygonHierarchy=t,this._stRotation=defaultValue(e.stRotation,0),this._ellipsoid=Ellipsoid.clone(defaultValue(e.ellipsoid,Ellipsoid.WGS84)),this._workerName="createCoplanarPolygonGeometry",this.packedLength=PolygonGeometryLibrary.computeHierarchyPackedLength(t)+VertexFormat.packedLength+Ellipsoid.packedLength+2}CoplanarPolygonGeometry.fromPositions=function(e){return new CoplanarPolygonGeometry({polygonHierarchy:{positions:(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid})},CoplanarPolygonGeometry.pack=function(e,t,i){return i=defaultValue(i,0),i=PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,i),Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,VertexFormat.pack(e._vertexFormat,t,i),i+=VertexFormat.packedLength,t[i++]=e._stRotation,t[i]=e.packedLength,t};var scratchEllipsoid$2=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchVertexFormat$2=new VertexFormat,scratchOptions$6={polygonHierarchy:{}};function createGeometryFromPositions(e){for(var t=e.length,i=new Float64Array(3*t),r=IndexDatatype$1.createTypedArray(t,2*t),n=0,a=0,o=0;o<t;o++){var s=e[o];i[n++]=s.x,i[n++]=s.y,i[n++]=s.z,r[a++]=o,r[a++]=(o+1)%t}return new Geometry({attributes:new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:i})}),indices:r,primitiveType:PrimitiveType$1.LINES})}function CoplanarPolygonOutlineGeometry(e){e=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).polygonHierarchy;this._polygonHierarchy=e,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=PolygonGeometryLibrary.computeHierarchyPackedLength(e)+1}CoplanarPolygonGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=r.startingIndex,delete r.startingIndex;var n=Ellipsoid.unpack(e,t,scratchEllipsoid$2);t+=Ellipsoid.packedLength;var a=VertexFormat.unpack(e,t,scratchVertexFormat$2);t+=VertexFormat.packedLength;var o=e[t++],t=e[t];return defined(i)||(i=new CoplanarPolygonGeometry(scratchOptions$6)),i._polygonHierarchy=r,i._ellipsoid=Ellipsoid.clone(n,i._ellipsoid),i._vertexFormat=VertexFormat.clone(a,i._vertexFormat),i._stRotation=o,i.packedLength=t,i},CoplanarPolygonGeometry.createGeometry=function(e){var t=e._vertexFormat,i=e._polygonHierarchy,r=e._stRotation,n=i.positions;if(!((n=arrayRemoveDuplicates(n,Cartesian3.equalsEpsilon,!0)).length<3)){var a=scratchNormal$3,o=scratchTangent$1,s=scratchBitangent$1,l=axis1Scratch,c=axis2Scratch;if(CoplanarPolygonGeometryLibrary.computeProjectTo2DArguments(n,centerScratch,l,c)){a=Cartesian3.cross(l,c,a);a=Cartesian3.normalize(a,a),Cartesian3.equalsEpsilon(centerScratch,Cartesian3.ZERO,CesiumMath.EPSILON6)||(u=e._ellipsoid.geodeticSurfaceNormal(centerScratch,surfaceNormalScratch),Cartesian3.dot(a,u)<0&&(a=Cartesian3.negate(a,a),l=Cartesian3.negate(l,l)));var u=CoplanarPolygonGeometryLibrary.createProjectPointsTo2DFunction(centerScratch,l,c),d=CoplanarPolygonGeometryLibrary.createProjectPointTo2DFunction(centerScratch,l,c);t.tangent&&(o=Cartesian3.clone(l,o)),t.bitangent&&(s=Cartesian3.clone(c,s));var i=PolygonGeometryLibrary.polygonsFromHierarchy(i,u,!1),u=i.hierarchy,h=i.polygons;if(0!==u.length){n=u[0].outerRing;for(var i=BoundingSphere.fromPoints(n),p=PolygonGeometryLibrary.computeBoundingRectangle(a,d,n,r,scratchBR),m=[],f=0;f<h.length;f++){var g=new GeometryInstance({geometry:createGeometryFromPolygon(h[f],t,p,r,d,a,o,s)});m.push(g)}u=GeometryPipeline.combineInstances(m)[0];u.attributes.position.values=new Float64Array(u.attributes.position.values),u.indices=IndexDatatype$1.createTypedArray(u.attributes.position.values.length/3,u.indices);n=u.attributes;return t.position||delete n.position,new Geometry({attributes:n,indices:u.indices,primitiveType:u.primitiveType,boundingSphere:i})}}}},CoplanarPolygonOutlineGeometry.fromPositions=function(e){return new CoplanarPolygonOutlineGeometry({polygonHierarchy:{positions:(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions}})},CoplanarPolygonOutlineGeometry.pack=function(e,t,i){return i=defaultValue(i,0),t[i=PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,i)]=e.packedLength,t};var scratchOptions$7={polygonHierarchy:{}};CoplanarPolygonOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=r.startingIndex,delete r.startingIndex;t=e[t];return defined(i)||(i=new CoplanarPolygonOutlineGeometry(scratchOptions$7)),i._polygonHierarchy=r,i.packedLength=t,i},CoplanarPolygonOutlineGeometry.createGeometry=function(e){var t=e._polygonHierarchy,e=arrayRemoveDuplicates(e=t.positions,Cartesian3.equalsEpsilon,!0);if(!(e.length<3)&&CoplanarPolygonGeometryLibrary.validOutline(e)){var i=PolygonGeometryLibrary.polygonOutlinesFromHierarchy(t,!1);if(0!==i.length){for(var r=[],n=0;n<i.length;n++){var a=new GeometryInstance({geometry:createGeometryFromPositions(i[n])});r.push(a)}e=GeometryPipeline.combineInstances(r)[0],t=BoundingSphere.fromPoints(t.positions);return new Geometry({attributes:e.attributes,indices:e.indices,primitiveType:e.primitiveType,boundingSphere:t})}}};var CornerType={ROUNDED:0,MITERED:1,BEVELED:2},CornerType$1=Object.freeze(CornerType);function setConstants(e){var t=e._uSquared,i=e._ellipsoid.maximumRadius,r=e._ellipsoid.minimumRadius,n=(i-r)/i,a=Math.cos(e._startHeading),o=Math.sin(e._startHeading),s=(1-n)*Math.tan(e._start.latitude),l=1/Math.sqrt(1+s*s),c=l*s,u=Math.atan2(s,a),d=l*o,h=d*d,p=1-h,m=Math.sqrt(p),f=t/4,g=f*f,_=g*f,y=g*g,C=1+f-3*g/4+5*_/4-175*y/64,v=1-f+15*g/8-35*_/8,S=1-3*f+35*g/4,T=1-5*f,t=C*u-v*Math.sin(2*u)*f/2-S*Math.sin(4*u)*g/16-T*Math.sin(6*u)*_/48-5*Math.sin(8*u)*y/512,e=e._constants;e.a=i,e.b=r,e.f=n,e.cosineHeading=a,e.sineHeading=o,e.tanU=s,e.cosineU=l,e.sineU=c,e.sigma=u,e.sineAlpha=d,e.sineSquaredAlpha=h,e.cosineSquaredAlpha=p,e.cosineAlpha=m,e.u2Over4=f,e.u4Over16=g,e.u6Over64=_,e.u8Over256=y,e.a0=C,e.a1=v,e.a2=S,e.a3=T,e.distanceRatio=t}function computeC(e,t){return e*t*(4+e*(4-3*t))/16}function computeDeltaLambda(e,t,i,r,n,a,o){i=computeC(e,i);return(1-i)*e*t*(r+i*n*(o+i*a*(2*o*o-1)))}function vincentyInverseFormula(e,t,i,r,n,a,o){var s=(t-i)/t,l=a-r,r=Math.atan((1-s)*Math.tan(n)),n=Math.atan((1-s)*Math.tan(o)),o=Math.cos(r),r=Math.sin(r),c=Math.cos(n),n=Math.sin(n),u=o*c,d=o*n,h=r*n,p=r*c,m=l,f=CesiumMath.TWO_PI,g=Math.cos(m),_=Math.sin(m);do{g=Math.cos(m),_=Math.sin(m);var y,C,v=d-p*g,S=Math.sqrt(c*c*_*_+v*v),T=h+u*g,b=Math.atan2(S,T),f=m,x=T-2*h/(C=0===S?(y=0,1):1-(y=u*_/S)*y)}while(isNaN(x)&&(x=0),m=l+computeDeltaLambda(s,y,C,b,S,T,x),Math.abs(m-f)>CesiumMath.EPSILON12);n=C*(t*t-i*i)/(i*i),r=n*(256+n*(n*(74-47*n)-128))/1024,t=x*x,r=i*(1+n*(4096+n*(n*(320-175*n)-768))/16384)*(b-r*S*(x+r*(T*(2*t-1)-r*x*(4*S*S-3)*(4*t-3)/6)/4)),t=Math.atan2(c*_,d-p*g),o=Math.atan2(o*_,d*g-p);e._distance=r,e._startHeading=t,e._endHeading=o,e._uSquared=n}var scratchCart1$1=new Cartesian3,scratchCart2$1=new Cartesian3;function computeProperties$1(e,t,i,r){Cartesian3.normalize(r.cartographicToCartesian(t,scratchCart2$1),scratchCart1$1),Cartesian3.normalize(r.cartographicToCartesian(i,scratchCart2$1),scratchCart2$1);vincentyInverseFormula(e,r.maximumRadius,r.minimumRadius,t.longitude,t.latitude,i.longitude,i.latitude),e._start=Cartographic.clone(t,e._start),e._end=Cartographic.clone(i,e._end),e._start.height=0,e._end.height=0,setConstants(e)}function EllipsoidGeodesic(e,t,i){i=defaultValue(i,Ellipsoid.WGS84);this._ellipsoid=i,this._start=new Cartographic,this._end=new Cartographic,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,defined(e)&&defined(t)&&computeProperties$1(this,e,t,i)}Object.defineProperties(EllipsoidGeodesic.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}}),EllipsoidGeodesic.prototype.setEndPoints=function(e,t){computeProperties$1(this,e,t,this._ellipsoid)},EllipsoidGeodesic.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},EllipsoidGeodesic.prototype.interpolateUsingSurfaceDistance=function(e,t){var i=this._constants,r=i.distanceRatio+e/i.b,n=Math.cos(2*r),a=Math.cos(4*r),o=Math.cos(6*r),s=Math.sin(2*r),l=Math.sin(4*r),c=Math.sin(6*r),u=Math.sin(8*r),d=r*r,h=r*d,p=i.u8Over256,m=i.u2Over4,f=i.u6Over64,e=i.u4Over16,d=2*h*p*n/3+r*(1-m+7*e/4-15*f/4+579*p/64-(e-15*f/4+187*p/16)*n-(5*f/4-115*p/16)*a-29*p*o/16)+(m/2-e+71*f/32-85*p/16)*s+(5*e/16-5*f/4+383*p/96)*l-d*((f-11*p/2)*s+5*p*l/2)+(29*f/96-29*p/16)*c+539*p*u/1536,s=Math.asin(Math.sin(d)*i.cosineAlpha),l=Math.atan(i.a/i.b*Math.tan(s));d-=i.sigma;f=Math.cos(2*i.sigma+d),c=Math.sin(d),p=Math.cos(d),u=i.cosineU*p,s=i.sineU*c,f=Math.atan2(c*i.sineHeading,u-s*i.cosineHeading)-computeDeltaLambda(i.f,i.sineAlpha,i.cosineSquaredAlpha,d,c,p,f);return defined(t)?(t.longitude=this._start.longitude+f,t.latitude=l,t.height=0,t):new Cartographic(this._start.longitude+f,l,0)};var PolylinePipeline={numberOfPoints:function(e,t,i){t=Cartesian3.distance(e,t);return Math.ceil(t/i)},numberOfPointsRhumbLine:function(e,t,i){t=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(t/(i*i))))}},cartoScratch=new Cartographic;PolylinePipeline.extractHeights=function(e,t){for(var i=e.length,r=new Array(i),n=0;n<i;n++){var a=e[n];r[n]=t.cartesianToCartographic(a,cartoScratch).height}return r};var wrapLongitudeInversMatrix=new Matrix4,wrapLongitudeOrigin=new Cartesian3,wrapLongitudeXZNormal=new Cartesian3,wrapLongitudeXZPlane=new Plane(Cartesian3.UNIT_X,0),wrapLongitudeYZNormal=new Cartesian3,wrapLongitudeYZPlane=new Plane(Cartesian3.UNIT_X,0),wrapLongitudeIntersection=new Cartesian3,wrapLongitudeOffset=new Cartesian3,subdivideHeightsScratchArray=[];function subdivideHeights(e,t,i){var r=subdivideHeightsScratchArray;if(r.length=e,t===i){for(a=0;a<e;a++)r[a]=t;return r}for(var n=(i-t)/e,a=0;a<e;a++){var o=t+a*n;r[a]=o}return r}var carto1=new Cartographic,carto2=new Cartographic,cartesian=new Cartesian3,scaleFirst=new Cartesian3,scaleLast=new Cartesian3,ellipsoidGeodesic=new EllipsoidGeodesic,ellipsoidRhumb=new EllipsoidRhumbLine;function generateCartesianArc(e,t,i,r,n,a,o,s){var l=r.scaleToGeodeticSurface(e,scaleFirst),c=r.scaleToGeodeticSurface(t,scaleLast),u=PolylinePipeline.numberOfPoints(e,t,i),l=r.cartesianToCartographic(l,carto1),c=r.cartesianToCartographic(c,carto2),d=subdivideHeights(u,n,a);ellipsoidGeodesic.setEndPoints(l,c);var h=ellipsoidGeodesic.surfaceDistance/u,p=s;l.height=n;var m=r.cartographicToCartesian(l,cartesian);Cartesian3.pack(m,o,p),p+=3;for(var f=1;f<u;f++){var g=ellipsoidGeodesic.interpolateUsingSurfaceDistance(f*h,carto2);g.height=d[f],m=r.cartographicToCartesian(g,cartesian),Cartesian3.pack(m,o,p),p+=3}return p}function generateCartesianRhumbArc(e,t,i,r,n,a,o,s){var e=r.cartesianToCartographic(e,carto1),t=r.cartesianToCartographic(t,carto2),l=PolylinePipeline.numberOfPointsRhumbLine(e,t,i);e.height=0,t.height=0;var c=subdivideHeights(l,n,a);ellipsoidRhumb.ellipsoid.equals(r)||(ellipsoidRhumb=new EllipsoidRhumbLine(void 0,void 0,r)),ellipsoidRhumb.setEndPoints(e,t);var u=ellipsoidRhumb.surfaceDistance/l,d=s;e.height=n;var h=r.cartographicToCartesian(e,cartesian);Cartesian3.pack(h,o,d),d+=3;for(var p=1;p<l;p++){var m=ellipsoidRhumb.interpolateUsingSurfaceDistance(p*u,carto2);m.height=c[p],h=r.cartographicToCartesian(m,cartesian),Cartesian3.pack(h,o,d),d+=3}return d}PolylinePipeline.wrapLongitude=function(e,t){var i=[],r=[];if(defined(e)&&0<e.length){t=defaultValue(t,Matrix4.IDENTITY);var n=Matrix4.inverseTransformation(t,wrapLongitudeInversMatrix),t=Matrix4.multiplyByPoint(n,Cartesian3.ZERO,wrapLongitudeOrigin),a=Cartesian3.normalize(Matrix4.multiplyByPointAsVector(n,Cartesian3.UNIT_Y,wrapLongitudeXZNormal),wrapLongitudeXZNormal),o=Plane.fromPointNormal(t,a,wrapLongitudeXZPlane),n=Cartesian3.normalize(Matrix4.multiplyByPointAsVector(n,Cartesian3.UNIT_X,wrapLongitudeYZNormal),wrapLongitudeYZNormal),s=Plane.fromPointNormal(t,n,wrapLongitudeYZPlane),l=1;i.push(Cartesian3.clone(e[0]));for(var c=i[0],u=e.length,d=1;d<u;++d){var h,p,m=e[d];!(Plane.getPointDistance(s,c)<0||Plane.getPointDistance(s,m)<0)||defined(h=IntersectionTests.lineSegmentPlane(c,m,o,wrapLongitudeIntersection))&&(p=Cartesian3.multiplyByScalar(a,5e-9,wrapLongitudeOffset),Plane.getPointDistance(o,c)<0&&Cartesian3.negate(p,p),i.push(Cartesian3.add(h,p,new Cartesian3)),r.push(l+1),Cartesian3.negate(p,p),i.push(Cartesian3.add(h,p,new Cartesian3)),l=1),i.push(Cartesian3.clone(e[d])),l++,c=m}r.push(l)}return{positions:i,lengths:r}},PolylinePipeline.generateArc=function(e){defined(e)||(e={});var t=e.positions,i=t.length,r=defaultValue(e.ellipsoid,Ellipsoid.WGS84),n=defaultValue(e.height,0),a=Array.isArray(n);if(i<1)return[];if(1===i){var o,s=r.scaleToGeodeticSurface(t[0],scaleFirst);return 0!==(n=a?n[0]:n)&&(o=r.geodeticSurfaceNormal(s,cartesian),Cartesian3.multiplyByScalar(o,n,o),Cartesian3.add(s,o,s)),[s.x,s.y,s.z]}var l=e.minDistance;defined(l)||(p=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),l=CesiumMath.chordLength(p,r.maximumRadius));for(var c=0,u=0;u<i-1;u++)c+=PolylinePipeline.numberOfPoints(t[u],t[u+1],l);var e=3*(c+1),d=new Array(e),h=0;for(u=0;u<i-1;u++)h=generateCartesianArc(t[u],t[u+1],l,r,a?n[u]:n,a?n[u+1]:n,d,h);subdivideHeightsScratchArray.length=0;var p=t[i-1],p=r.cartesianToCartographic(p,carto1);p.height=a?n[i-1]:n;p=r.cartographicToCartesian(p,cartesian);return Cartesian3.pack(p,d,e-3),d};var scratchCartographic0$1=new Cartographic,scratchCartographic1$1=new Cartographic;PolylinePipeline.generateRhumbArc=function(e){defined(e)||(e={});var t=e.positions,i=t.length,r=defaultValue(e.ellipsoid,Ellipsoid.WGS84),n=defaultValue(e.height,0),a=Array.isArray(n);if(i<1)return[];if(1===i){var o,s=r.scaleToGeodeticSurface(t[0],scaleFirst);return 0!==(n=a?n[0]:n)&&(o=r.geodeticSurfaceNormal(s,cartesian),Cartesian3.multiplyByScalar(o,n,o),Cartesian3.add(s,o,s)),[s.x,s.y,s.z]}for(var l,c=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),u=0,d=r.cartesianToCartographic(t[0],scratchCartographic0$1),h=0;h<i-1;h++)l=r.cartesianToCartographic(t[h+1],scratchCartographic1$1),u+=PolylinePipeline.numberOfPointsRhumbLine(d,l,c),d=Cartographic.clone(l,scratchCartographic0$1);var s=3*(u+1),p=new Array(s),m=0;for(h=0;h<i-1;h++)m=generateCartesianRhumbArc(t[h],t[h+1],c,r,a?n[h]:n,a?n[h+1]:n,p,m);subdivideHeightsScratchArray.length=0;e=t[i-1],e=r.cartesianToCartographic(e,carto1);e.height=a?n[i-1]:n;e=r.cartographicToCartesian(e,cartesian);return Cartesian3.pack(e,p,s-3),p},PolylinePipeline.generateCartesianArc=function(e){for(var t=PolylinePipeline.generateArc(e),i=t.length/3,r=new Array(i),n=0;n<i;n++)r[n]=Cartesian3.unpack(t,3*n);return r},PolylinePipeline.generateCartesianRhumbArc=function(e){for(var t=PolylinePipeline.generateRhumbArc(e),i=t.length/3,r=new Array(i),n=0;n<i;n++)r[n]=Cartesian3.unpack(t,3*n);return r};var scratch2Array=[new Cartesian3,new Cartesian3],scratchCartesian1$5=new Cartesian3,scratchCartesian2$5=new Cartesian3,scratchCartesian3$6=new Cartesian3,scratchCartesian4$2=new Cartesian3,scratchCartesian5$1=new Cartesian3,scratchCartesian6$1=new Cartesian3,scratchCartesian7=new Cartesian3,scratchCartesian8=new Cartesian3,scratchCartesian9=new Cartesian3,scratch1=new Cartesian3,scratch2=new Cartesian3,PolylineVolumeGeometryLibrary={},cartographic=new Cartographic;function scaleToSurface(e,t){for(var i=new Array(e.length),r=0;r<e.length;r++){var n=e[r];cartographic=t.cartesianToCartographic(n,cartographic),i[r]=cartographic.height,e[r]=t.scaleToGeodeticSurface(n,n)}return i}function subdivideHeights$1(e,t,i,r){var n=e[0],e=e[1],e=Cartesian3.angleBetween(n,e),a=Math.ceil(e/r),o=new Array(a);if(t===i){for(l=0;l<a;l++)o[l]=t;return o.push(i),o}for(var s=(i-t)/a,l=1;l<a;l++){var c=t+l*s;o[l]=c}return o[0]=t,o.push(i),o}var nextScratch=new Cartesian3,prevScratch=new Cartesian3;function computeRotationAngle(e,t,i,r){r=new EllipsoidTangentPlane(i,r),e=r.projectPointOntoPlane(Cartesian3.add(i,e,nextScratch),nextScratch),i=r.projectPointOntoPlane(Cartesian3.add(i,t,prevScratch),prevScratch),t=Cartesian2.angleBetween(e,i);return 0<=i.x*e.y-i.y*e.x?-t:t}var negativeX=new Cartesian3(-1,0,0),transform=new Matrix4,translation=new Matrix4,rotationZ=new Matrix3,scaleMatrix=Matrix3.IDENTITY.clone(),westScratch$1=new Cartesian3,finalPosScratch=new Cartesian4,heightCartesian=new Cartesian3;function addPosition(e,t,i,r,n,a,o,s){var l=westScratch$1,c=finalPosScratch;transform=Transforms.eastNorthUpToFixedFrame(e,n,transform),l=Matrix4.multiplyByPointAsVector(transform,negativeX,l);n=computeRotationAngle(Cartesian3.normalize(l,l),t,e,n);rotationZ=Matrix3.fromRotationZ(n,rotationZ),heightCartesian.z=a,transform=Matrix4.multiplyTransformation(transform,Matrix4.fromRotationTranslation(rotationZ,heightCartesian,translation),transform);var u=scaleMatrix;u[0]=o;for(var d=0;d<s;d++)for(var h=0;h<i.length;h+=3)c=Cartesian3.fromArray(i,h,c),c=Matrix3.multiplyByVector(u,c,c),c=Matrix4.multiplyByPoint(transform,c,c),r.push(c.x,c.y,c.z);return r}var centerScratch$1=new Cartesian3;function addPositions(e,t,i,r,n,a,o){for(var s=0;s<e.length;s+=3)r=addPosition(Cartesian3.fromArray(e,s,centerScratch$1),t,i,r,n,a[s/3],o,1);return r}function convertShapeTo3DDuplicate(e,t){var i=e.length,r=new Array(6*i),n=0,a=t.x+t.width/2,o=t.y+t.height/2,s=e[0];r[n++]=s.x-a,r[n++]=0,r[n++]=s.y-o;for(var l=1;l<i;l++){var c=(s=e[l]).x-a,u=s.y-o;r[n++]=c,r[n++]=0,r[n++]=u,r[n++]=c,r[n++]=0,r[n++]=u}return s=e[0],r[n++]=s.x-a,r[n++]=0,r[n++]=s.y-o,r}function convertShapeTo3D(e,t){for(var i=e.length,r=new Array(3*i),n=0,a=t.x+t.width/2,o=t.y+t.height/2,s=0;s<i;s++)r[n++]=e[s].x-a,r[n++]=0,r[n++]=e[s].y-o;return r}var quaterion=new Quaternion,startPointScratch=new Cartesian3,rotMatrix=new Matrix3;function computeRoundCorner(e,t,i,r,n,a,o,s,l,c){var u,d=Cartesian3.angleBetween(Cartesian3.subtract(t,e,scratch1),Cartesian3.subtract(i,e,scratch2)),h=r===CornerType$1.BEVELED?0:Math.ceil(d/CesiumMath.toRadians(5)),p=n?Matrix3.fromQuaternion(Quaternion.fromAxisAngle(Cartesian3.negate(e,scratch1),d/(h+1),quaterion),rotMatrix):Matrix3.fromQuaternion(Quaternion.fromAxisAngle(e,d/(h+1),quaterion),rotMatrix);if(t=Cartesian3.clone(t,startPointScratch),0<h)for(var m=c?2:1,f=0;f<h;f++)t=Matrix3.multiplyByVector(p,t,t),u=Cartesian3.subtract(t,e,scratch1),u=Cartesian3.normalize(u,u),n||(u=Cartesian3.negate(u,u)),o=addPosition(a.scaleToGeodeticSurface(t,scratch2),u,s,o,a,l,1,m);else u=Cartesian3.subtract(t,e,scratch1),u=Cartesian3.normalize(u,u),n||(u=Cartesian3.negate(u,u)),o=addPosition(a.scaleToGeodeticSurface(t,scratch2),u,s,o,a,l,1,1),i=Cartesian3.clone(i,startPointScratch),u=Cartesian3.subtract(i,e,scratch1),u=Cartesian3.normalize(u,u),n||(u=Cartesian3.negate(u,u)),o=addPosition(a.scaleToGeodeticSurface(i,scratch2),u,s,o,a,l,1,1);return o}PolylineVolumeGeometryLibrary.removeDuplicatesFromShape=function(e){for(var t=e.length,i=[],r=t-1,n=0;n<t;r=n++){var a=e[r],o=e[n];Cartesian2.equals(a,o)||i.push(o)}return i},PolylineVolumeGeometryLibrary.angleIsGreaterThanPi=function(e,t,i,r){r=new EllipsoidTangentPlane(i,r),e=r.projectPointOntoPlane(Cartesian3.add(i,e,nextScratch),nextScratch),t=r.projectPointOntoPlane(Cartesian3.add(i,t,prevScratch),prevScratch);return 0<=t.x*e.y-t.y*e.x};var scratchForwardProjection=new Cartesian3,scratchBackwardProjection=new Cartesian3;PolylineVolumeGeometryLibrary.computePositions=function(e,t,i,r,n){var a=r._ellipsoid,o=scaleToSurface(e,a),s=r._granularity,l=r._cornerType,c=(n?convertShapeTo3DDuplicate:convertShapeTo3D)(t,i),t=n?convertShapeTo3D(t,i):void 0,u=i.height/2,d=i.width/2,h=e.length,p=[],i=n?[]:void 0,m=scratchCartesian1$5,f=scratchCartesian2$5,g=scratchCartesian3$6,_=scratchCartesian4$2,y=scratchCartesian5$1,C=scratchCartesian6$1,v=scratchCartesian7,S=scratchCartesian8,T=scratchCartesian9,b=e[0],x=e[1],_=a.geodeticSurfaceNormal(b,_);m=Cartesian3.subtract(x,b,m),m=Cartesian3.normalize(m,m),S=Cartesian3.cross(_,m,S),S=Cartesian3.normalize(S,S);var E,P=o[0],A=o[1];n&&(i=addPosition(b,S,t,i,a,P+u,1,1)),T=Cartesian3.clone(b,T),b=x,f=Cartesian3.negate(m,f);for(var w=1;w<h-1;w++){var D=n?2:1,x=e[w+1],m=Cartesian3.subtract(x,b,m);m=Cartesian3.normalize(m,m),g=Cartesian3.add(m,f,g),g=Cartesian3.normalize(g,g),_=a.geodeticSurfaceNormal(b,_);var M=Cartesian3.multiplyByScalar(_,Cartesian3.dot(m,_),scratchForwardProjection);Cartesian3.subtract(m,M,M),Cartesian3.normalize(M,M);var I=Cartesian3.multiplyByScalar(_,Cartesian3.dot(f,_),scratchBackwardProjection);Cartesian3.subtract(f,I,I),Cartesian3.normalize(I,I),!CesiumMath.equalsEpsilon(Math.abs(Cartesian3.dot(M,I)),1,CesiumMath.EPSILON7)?(g=Cartesian3.cross(g,_,g),g=Cartesian3.cross(_,g,g),g=Cartesian3.normalize(g,g),M=1/Math.max(.25,Cartesian3.magnitude(Cartesian3.cross(g,f,scratch1))),(I=PolylineVolumeGeometryLibrary.angleIsGreaterThanPi(m,f,b,a))?(y=Cartesian3.add(b,Cartesian3.multiplyByScalar(g,M*d,g),y),C=Cartesian3.add(y,Cartesian3.multiplyByScalar(S,d,C),C),scratch2Array[0]=Cartesian3.clone(T,scratch2Array[0]),scratch2Array[1]=Cartesian3.clone(C,scratch2Array[1]),E=subdivideHeights$1(scratch2Array,P+u,A+u,s),p=addPositions(PolylinePipeline.generateArc({positions:scratch2Array,granularity:s,ellipsoid:a}),S,c,p,a,E,1),S=Cartesian3.cross(_,m,S),S=Cartesian3.normalize(S,S),v=Cartesian3.add(y,Cartesian3.multiplyByScalar(S,d,v),v),l===CornerType$1.ROUNDED||l===CornerType$1.BEVELED?computeRoundCorner(y,C,v,l,I,a,p,c,A+u,n):p=addPosition(b,g=Cartesian3.negate(g,g),c,p,a,A+u,M,D)):(y=Cartesian3.add(b,Cartesian3.multiplyByScalar(g,M*d,g),y),C=Cartesian3.add(y,Cartesian3.multiplyByScalar(S,-d,C),C),scratch2Array[0]=Cartesian3.clone(T,scratch2Array[0]),scratch2Array[1]=Cartesian3.clone(C,scratch2Array[1]),E=subdivideHeights$1(scratch2Array,P+u,A+u,s),p=addPositions(PolylinePipeline.generateArc({positions:scratch2Array,granularity:s,ellipsoid:a}),S,c,p,a,E,1),S=Cartesian3.cross(_,m,S),S=Cartesian3.normalize(S,S),v=Cartesian3.add(y,Cartesian3.multiplyByScalar(S,-d,v),v),l===CornerType$1.ROUNDED||l===CornerType$1.BEVELED?computeRoundCorner(y,C,v,l,I,a,p,c,A+u,n):p=addPosition(b,g,c,p,a,A+u,M,D)),T=Cartesian3.clone(v,T),f=Cartesian3.negate(m,f)):(p=addPosition(T,S,c,p,a,P+u,1,1),T=b),P=A,A=o[w+1],b=x}scratch2Array[0]=Cartesian3.clone(T,scratch2Array[0]),scratch2Array[1]=Cartesian3.clone(b,scratch2Array[1]),E=subdivideHeights$1(scratch2Array,P+u,A+u,s),p=addPositions(PolylinePipeline.generateArc({positions:scratch2Array,granularity:s,ellipsoid:a}),S,c,p,a,E,1),n&&(i=addPosition(b,S,t,i,a,A+u,1,1)),h=p.length;t=n?h+i.length:h,t=new Float64Array(t);return t.set(p),n&&t.set(i,h),t};var CorridorGeometryLibrary={},scratch1$1=new Cartesian3,scratch2$1=new Cartesian3,scratch3=new Cartesian3,scratch4=new Cartesian3,scaleArray2=[new Cartesian3,new Cartesian3],cartesian1=new Cartesian3,cartesian2=new Cartesian3,cartesian3=new Cartesian3,cartesian4=new Cartesian3,cartesian5=new Cartesian3,cartesian6=new Cartesian3,cartesian7=new Cartesian3,cartesian8=new Cartesian3,cartesian9=new Cartesian3,cartesian10=new Cartesian3,quaterion$1=new Quaternion,rotMatrix$1=new Matrix3;function computeRoundCorner$1(e,t,i,r,n){var a,o=Cartesian3.angleBetween(Cartesian3.subtract(t,e,scratch1$1),Cartesian3.subtract(i,e,scratch2$1)),s=r===CornerType$1.BEVELED?1:Math.ceil(o/CesiumMath.toRadians(5))+1,r=3*s,l=new Array(r);l[r-3]=i.x,l[r-2]=i.y,l[r-1]=i.z,a=n?Matrix3.fromQuaternion(Quaternion.fromAxisAngle(Cartesian3.negate(e,scratch1$1),o/s,quaterion$1),rotMatrix$1):Matrix3.fromQuaternion(Quaternion.fromAxisAngle(e,o/s,quaterion$1),rotMatrix$1);var c=0;t=Cartesian3.clone(t,scratch1$1);for(var u=0;u<s;u++)t=Matrix3.multiplyByVector(a,t,t),l[c++]=t.x,l[c++]=t.y,l[c++]=t.z;return l}function addEndCaps(e){var t=cartesian1,i=cartesian2,r=cartesian3,n=e[1],i=Cartesian3.fromArray(e[1],n.length-3,i),r=Cartesian3.fromArray(e[0],0,r),a=computeRoundCorner$1(t=Cartesian3.midpoint(i,r,t),i,r,CornerType$1.ROUNDED,!1),o=e.length-1,s=e[o-1],n=e[o];return i=Cartesian3.fromArray(s,s.length-3,i),r=Cartesian3.fromArray(n,0,r),[a,computeRoundCorner$1(t=Cartesian3.midpoint(i,r,t),i,r,CornerType$1.ROUNDED,!1)]}function computeMiteredCorner(e,t,i,r){var n=scratch1$1;return[(n=(r||(t=Cartesian3.negate(t,t)),Cartesian3.add(e,t,n))).x,n.y,n.z,i.x,i.y,i.z]}function addShiftedPositions(e,t,i,r){for(var n=new Array(e.length),a=new Array(e.length),o=Cartesian3.multiplyByScalar(t,i,scratch1$1),s=Cartesian3.negate(o,scratch2$1),l=0,c=e.length-1,u=0;u<e.length;u+=3){var d=Cartesian3.fromArray(e,u,scratch3),h=Cartesian3.add(d,s,scratch4);n[l++]=h.x,n[l++]=h.y,n[l++]=h.z;d=Cartesian3.add(d,o,scratch4);a[c--]=d.z,a[c--]=d.y,a[c--]=d.x}return r.push(n,a),r}CorridorGeometryLibrary.addAttribute=function(e,t,i,r){var n=t.x,a=t.y,t=t.z;defined(i)&&(e[i]=n,e[i+1]=a,e[i+2]=t),defined(r)&&(e[r]=t,e[r-1]=a,e[r-2]=n)};var scratchForwardProjection$1=new Cartesian3,scratchBackwardProjection$1=new Cartesian3;CorridorGeometryLibrary.computePositions=function(e){var t=e.granularity,i=e.positions,r=e.ellipsoid,n=e.width/2,a=e.cornerType,o=e.saveAttributes,s=cartesian1,l=cartesian2,c=cartesian3,u=cartesian4,d=cartesian5,h=cartesian6,p=cartesian7,m=cartesian8,f=cartesian9,g=cartesian10,_=[],y=o?[]:void 0,C=o?[]:void 0,v=i[0],S=i[1],l=Cartesian3.normalize(Cartesian3.subtract(S,v,l),l),s=r.geodeticSurfaceNormal(v,s),u=Cartesian3.normalize(Cartesian3.cross(s,l,u),u);o&&(y.push(u.x,u.y,u.z),C.push(s.x,s.y,s.z)),p=Cartesian3.clone(v,p),v=S,c=Cartesian3.negate(l,c);for(var T,b=[],x=i.length,E=1;E<x-1;E++){s=r.geodeticSurfaceNormal(v,s),S=i[E+1],l=Cartesian3.normalize(Cartesian3.subtract(S,v,l),l),d=Cartesian3.normalize(Cartesian3.add(l,c,d),d);var P=Cartesian3.multiplyByScalar(s,Cartesian3.dot(l,s),scratchForwardProjection$1);Cartesian3.subtract(l,P,P),Cartesian3.normalize(P,P);var A=Cartesian3.multiplyByScalar(s,Cartesian3.dot(c,s),scratchBackwardProjection$1);Cartesian3.subtract(c,A,A),Cartesian3.normalize(A,A),CesiumMath.equalsEpsilon(Math.abs(Cartesian3.dot(P,A)),1,CesiumMath.EPSILON7)||(d=Cartesian3.cross(d,s,d),d=Cartesian3.cross(s,d,d),d=Cartesian3.normalize(d,d),P=n/Math.max(.25,Cartesian3.magnitude(Cartesian3.cross(d,c,scratch1$1))),A=PolylineVolumeGeometryLibrary.angleIsGreaterThanPi(l,c,v,r),d=Cartesian3.multiplyByScalar(d,P,d),A?(m=Cartesian3.add(v,d,m),g=Cartesian3.add(m,Cartesian3.multiplyByScalar(u,n,g),g),f=Cartesian3.add(m,Cartesian3.multiplyByScalar(u,2*n,f),f),scaleArray2[0]=Cartesian3.clone(p,scaleArray2[0]),scaleArray2[1]=Cartesian3.clone(g,scaleArray2[1]),_=addShiftedPositions(PolylinePipeline.generateArc({positions:scaleArray2,granularity:t,ellipsoid:r}),u,n,_),o&&(y.push(u.x,u.y,u.z),C.push(s.x,s.y,s.z)),h=Cartesian3.clone(f,h),u=Cartesian3.normalize(Cartesian3.cross(s,l,u),u),f=Cartesian3.add(m,Cartesian3.multiplyByScalar(u,2*n,f),f),p=Cartesian3.add(m,Cartesian3.multiplyByScalar(u,n,p),p),a===CornerType$1.ROUNDED||a===CornerType$1.BEVELED?b.push({leftPositions:computeRoundCorner$1(m,h,f,a,A)}):b.push({leftPositions:computeMiteredCorner(v,Cartesian3.negate(d,d),f,A)})):(f=Cartesian3.add(v,d,f),g=Cartesian3.add(f,Cartesian3.negate(Cartesian3.multiplyByScalar(u,n,g),g),g),m=Cartesian3.add(f,Cartesian3.negate(Cartesian3.multiplyByScalar(u,2*n,m),m),m),scaleArray2[0]=Cartesian3.clone(p,scaleArray2[0]),scaleArray2[1]=Cartesian3.clone(g,scaleArray2[1]),_=addShiftedPositions(PolylinePipeline.generateArc({positions:scaleArray2,granularity:t,ellipsoid:r}),u,n,_),o&&(y.push(u.x,u.y,u.z),C.push(s.x,s.y,s.z)),h=Cartesian3.clone(m,h),u=Cartesian3.normalize(Cartesian3.cross(s,l,u),u),m=Cartesian3.add(f,Cartesian3.negate(Cartesian3.multiplyByScalar(u,2*n,m),m),m),p=Cartesian3.add(f,Cartesian3.negate(Cartesian3.multiplyByScalar(u,n,p),p),p),a===CornerType$1.ROUNDED||a===CornerType$1.BEVELED?b.push({rightPositions:computeRoundCorner$1(f,h,m,a,A)}):b.push({rightPositions:computeMiteredCorner(v,d,m,A)})),c=Cartesian3.negate(l,c)),v=S}return s=r.geodeticSurfaceNormal(v,s),scaleArray2[0]=Cartesian3.clone(p,scaleArray2[0]),scaleArray2[1]=Cartesian3.clone(v,scaleArray2[1]),_=addShiftedPositions(PolylinePipeline.generateArc({positions:scaleArray2,granularity:t,ellipsoid:r}),u,n,_),o&&(y.push(u.x,u.y,u.z),C.push(s.x,s.y,s.z)),a===CornerType$1.ROUNDED&&(T=addEndCaps(_)),{positions:_,corners:b,lefts:y,normals:C,endPositions:T}};var cartesian1$1=new Cartesian3,cartesian2$1=new Cartesian3,cartesian3$1=new Cartesian3,cartesian4$1=new Cartesian3,cartesian5$1=new Cartesian3,cartesian6$1=new Cartesian3,scratch1$2=new Cartesian3,scratch2$2=new Cartesian3;function scaleToSurface$1(e,t){for(var i=0;i<e.length;i++)e[i]=t.scaleToGeodeticSurface(e[i],e[i]);return e}function addNormals(e,t,i,r,n,a){var o=e.normals,s=e.tangents,l=e.bitangents,e=Cartesian3.normalize(Cartesian3.cross(i,t,scratch1$2),scratch1$2);a.normal&&CorridorGeometryLibrary.addAttribute(o,t,r,n),a.tangent&&CorridorGeometryLibrary.addAttribute(s,e,r,n),a.bitangent&&CorridorGeometryLibrary.addAttribute(l,i,r,n)}function combine$1(e,t,i){var r,n=e.positions,a=e.corners,o=e.endPositions,s=e.lefts,l=e.normals,c=new GeometryAttributes,u=0,d=0,h=0;for(R=0;R<n.length;R+=2)u+=r=n[R].length-3,h+=2*r,d+=n[R+1].length-3;for(u+=3,d+=3,R=0;R<a.length;R++){z=a[R];var p=a[R].leftPositions;defined(p)?u+=r=p.length:d+=r=a[R].rightPositions.length,h+=r}var m,f=defined(o);f&&(u+=m=o[0].length-3,d+=m,h+=6*(m/=3));var g,_,y,C,v,S,e=u+d,T=new Float64Array(e),b={normals:t.normal?new Float32Array(e):void 0,tangents:t.tangent?new Float32Array(e):void 0,bitangents:t.bitangent?new Float32Array(e):void 0},x=0,E=e-1,P=cartesian1$1,A=cartesian2$1,w=m/2,D=IndexDatatype$1.createTypedArray(e/3,h),M=0;if(f){S=cartesian3$1,v=cartesian4$1;for(var I=o[0],P=Cartesian3.fromArray(l,0,P),A=Cartesian3.fromArray(s,0,A),R=0;R<w;R++)S=Cartesian3.fromArray(I,3*(w-1-R),S),v=Cartesian3.fromArray(I,3*(w+R),v),CorridorGeometryLibrary.addAttribute(T,v,x),CorridorGeometryLibrary.addAttribute(T,S,void 0,E),addNormals(b,P,A,x,E,t),C=(_=x/3)+1,y=(g=(E-2)/3)-1,D[M++]=g,D[M++]=_,D[M++]=y,D[M++]=y,D[M++]=_,D[M++]=C,x+=3,E-=3}var O,L,F=0,N=0,B=n[F++],V=n[F++];for(T.set(B,x),T.set(V,E-V.length+1),A=Cartesian3.fromArray(s,N,A),r=V.length-3,R=0;R<r;R+=3)O=i.geodeticSurfaceNormal(Cartesian3.fromArray(B,R,scratch1$2),scratch1$2),L=i.geodeticSurfaceNormal(Cartesian3.fromArray(V,r-R,scratch2$2),scratch2$2),addNormals(b,P=Cartesian3.normalize(Cartesian3.add(O,L,P),P),A,x,E,t),C=(_=x/3)+1,y=(g=(E-2)/3)-1,D[M++]=g,D[M++]=_,D[M++]=y,D[M++]=y,D[M++]=_,D[M++]=C,x+=3,E-=3;for(O=i.geodeticSurfaceNormal(Cartesian3.fromArray(B,r,scratch1$2),scratch1$2),L=i.geodeticSurfaceNormal(Cartesian3.fromArray(V,r,scratch2$2),scratch2$2),P=Cartesian3.normalize(Cartesian3.add(O,L,P),P),N+=3,R=0;R<a.length;R++){var k,z,U,$,G=(z=a[R]).leftPositions,H=z.rightPositions,W=cartesian6$1,q=cartesian3$1,j=cartesian4$1;if(P=Cartesian3.fromArray(l,N,P),defined(G)){for(addNormals(b,P,A,void 0,E,t),E-=3,U=C,$=y,k=0;k<G.length/3;k++)W=Cartesian3.fromArray(G,3*k,W),D[M++]=U,D[M++]=$-k-1,D[M++]=$-k,CorridorGeometryLibrary.addAttribute(T,W,void 0,E),q=Cartesian3.fromArray(T,3*($-k-1),q),j=Cartesian3.fromArray(T,3*U,j),addNormals(b,P,A=Cartesian3.normalize(Cartesian3.subtract(q,j,A),A),void 0,E,t),E-=3;W=Cartesian3.fromArray(T,3*U,W),q=Cartesian3.subtract(Cartesian3.fromArray(T,3*$,q),W,q),j=Cartesian3.subtract(Cartesian3.fromArray(T,3*($-k),j),W,j),addNormals(b,P,A=Cartesian3.normalize(Cartesian3.add(q,j,A),A),x,void 0,t),x+=3}else{for(addNormals(b,P,A,x,void 0,t),x+=3,U=y,$=C,k=0;k<H.length/3;k++)W=Cartesian3.fromArray(H,3*k,W),D[M++]=U,D[M++]=$+k,D[M++]=$+k+1,CorridorGeometryLibrary.addAttribute(T,W,x),q=Cartesian3.fromArray(T,3*U,q),j=Cartesian3.fromArray(T,3*($+k),j),addNormals(b,P,A=Cartesian3.normalize(Cartesian3.subtract(q,j,A),A),x,void 0,t),x+=3;W=Cartesian3.fromArray(T,3*U,W),q=Cartesian3.subtract(Cartesian3.fromArray(T,3*($+k),q),W,q),j=Cartesian3.subtract(Cartesian3.fromArray(T,3*$,j),W,j),addNormals(b,P,A=Cartesian3.normalize(Cartesian3.negate(Cartesian3.add(j,q,A),A),A),void 0,E,t),E-=3}for(B=n[F++],V=n[F++],B.splice(0,3),V.splice(V.length-3,3),T.set(B,x),T.set(V,E-V.length+1),r=V.length-3,N+=3,A=Cartesian3.fromArray(s,N,A),k=0;k<V.length;k+=3)O=i.geodeticSurfaceNormal(Cartesian3.fromArray(B,k,scratch1$2),scratch1$2),L=i.geodeticSurfaceNormal(Cartesian3.fromArray(V,r-k,scratch2$2),scratch2$2),addNormals(b,P=Cartesian3.normalize(Cartesian3.add(O,L,P),P),A,x,E,t),_=(C=x/3)-1,g=(y=(E-2)/3)+1,D[M++]=g,D[M++]=_,D[M++]=y,D[M++]=y,D[M++]=_,D[M++]=C,x+=3,E-=3;x-=3,E+=3}if(addNormals(b,P=Cartesian3.fromArray(l,l.length-3,P),A,x,E,t),f){x+=3,E-=3,S=cartesian3$1,v=cartesian4$1;var Y=o[1];for(R=0;R<w;R++)S=Cartesian3.fromArray(Y,3*(m-R-1),S),v=Cartesian3.fromArray(Y,3*R,v),CorridorGeometryLibrary.addAttribute(T,S,void 0,E),CorridorGeometryLibrary.addAttribute(T,v,x),addNormals(b,P,A,x,E,t),_=(C=x/3)-1,g=(y=(E-2)/3)+1,D[M++]=g,D[M++]=_,D[M++]=y,D[M++]=y,D[M++]=_,D[M++]=C,x+=3,E-=3}if(c.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:T}),t.st){var X=new Float32Array(e/3*2),Q=0;if(f){u/=3,d/=3;var J,Z=Math.PI/(m+1),K=1/(u-m+1),ee=1/(d-m+1),te=m/2;for(R=1+te;R<m+1;R++)J=CesiumMath.PI_OVER_TWO+Z*R,X[Q++]=ee*(1+Math.cos(J)),X[Q++]=.5*(1+Math.sin(J));for(R=1;R<d-m+1;R++)X[Q++]=R*ee,X[Q++]=0;for(R=m;te<R;R--)J=CesiumMath.PI_OVER_TWO-R*Z,X[Q++]=1-ee*(1+Math.cos(J)),X[Q++]=.5*(1+Math.sin(J));for(R=te;0<R;R--)J=CesiumMath.PI_OVER_TWO-Z*R,X[Q++]=1-K*(1+Math.cos(J)),X[Q++]=.5*(1+Math.sin(J));for(R=u-m;0<R;R--)X[Q++]=R*K,X[Q++]=1;for(R=1;R<1+te;R++)J=CesiumMath.PI_OVER_TWO+Z*R,X[Q++]=K*(1+Math.cos(J)),X[Q++]=.5*(1+Math.sin(J))}else{for(K=1/((u/=3)-1),ee=1/((d/=3)-1),R=0;R<d;R++)X[Q++]=R*ee,X[Q++]=0;for(R=u;0<R;R--)X[Q++]=(R-1)*K,X[Q++]=1}c.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:X})}return t.normal&&(c.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:b.normals})),t.tangent&&(c.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:b.tangents})),t.bitangent&&(c.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:b.bitangents})),{attributes:c,indices:D}}function extrudedAttributes(e,t){if(!(t.normal||t.tangent||t.bitangent||t.st))return e;var i,r=e.position.values;(t.normal||t.bitangent)&&(i=e.normal.values,l=e.bitangent.values);var n=e.position.values.length/18,a=3*n,o=2*n,s=2*a;if(t.normal||t.bitangent||t.tangent){for(var l,c=t.normal?new Float32Array(6*a):void 0,u=t.tangent?new Float32Array(6*a):void 0,d=t.bitangent?new Float32Array(6*a):void 0,h=cartesian1$1,p=cartesian2$1,m=cartesian3$1,f=cartesian4$1,g=cartesian5$1,_=cartesian6$1,y=s,C=0;C<a;C+=3){var v=y+s,h=Cartesian3.fromArray(r,C,h),p=Cartesian3.fromArray(r,C+a,p),m=Cartesian3.fromArray(r,(C+3)%a,m);p=Cartesian3.subtract(p,h,p),m=Cartesian3.subtract(m,h,m),f=Cartesian3.normalize(Cartesian3.cross(p,m,f),f),t.normal&&(CorridorGeometryLibrary.addAttribute(c,f,v),CorridorGeometryLibrary.addAttribute(c,f,v+3),CorridorGeometryLibrary.addAttribute(c,f,y),CorridorGeometryLibrary.addAttribute(c,f,y+3)),(t.tangent||t.bitangent)&&(_=Cartesian3.fromArray(i,C,_),t.bitangent&&(CorridorGeometryLibrary.addAttribute(d,_,v),CorridorGeometryLibrary.addAttribute(d,_,v+3),CorridorGeometryLibrary.addAttribute(d,_,y),CorridorGeometryLibrary.addAttribute(d,_,y+3)),t.tangent&&(g=Cartesian3.normalize(Cartesian3.cross(_,f,g),g),CorridorGeometryLibrary.addAttribute(u,g,v),CorridorGeometryLibrary.addAttribute(u,g,v+3),CorridorGeometryLibrary.addAttribute(u,g,y),CorridorGeometryLibrary.addAttribute(u,g,y+3))),y+=6}if(t.normal){for(c.set(i),C=0;C<a;C+=3)c[C+a]=-i[C],c[C+a+1]=-i[C+1],c[C+a+2]=-i[C+2];e.normal.values=c}else e.normal=void 0;t.bitangent?(d.set(l),d.set(l,a),e.bitangent.values=d):e.bitangent=void 0,t.tangent&&(l=e.tangent.values,u.set(l),u.set(l,a),e.tangent.values=u)}if(t.st){var S=e.st.values,T=new Float32Array(6*o);T.set(S),T.set(S,o);for(var b=2*o,x=0;x<2;x++){for(T[b++]=S[0],T[b++]=S[1],C=2;C<o;C+=2){var E=S[C],P=S[C+1];T[b++]=E,T[b++]=P,T[b++]=E,T[b++]=P}T[b++]=S[0],T[b++]=S[1]}e.st.values=T}return e}function addWallPositions(e,t,i){i[t++]=e[0],i[t++]=e[1],i[t++]=e[2];for(var r=3;r<e.length;r+=3){var n=e[r],a=e[r+1],o=e[r+2];i[t++]=n,i[t++]=a,i[t++]=o,i[t++]=n,i[t++]=a,i[t++]=o}return i[t++]=e[0],i[t++]=e[1],i[t++]=e[2],i}function computePositionsExtruded(e,t){var i=new VertexFormat({position:t.position,normal:t.normal||t.bitangent||e.shadowVolume,tangent:t.tangent,bitangent:t.normal||t.bitangent,st:t.st}),r=e.ellipsoid,n=combine$1(CorridorGeometryLibrary.computePositions(e),i,r),a=e.height,o=e.extrudedHeight,s=n.attributes,l=n.indices,c=s.position.values,u=c.length,d=new Float64Array(6*u),i=new Float64Array(u);i.set(c);n=new Float64Array(4*u),n=addWallPositions(c=PolygonPipeline.scaleToGeodeticHeight(c,a,r),0,n);n=addWallPositions(i=PolygonPipeline.scaleToGeodeticHeight(i,o,r),2*u,n),d.set(c),d.set(i,u),d.set(n,2*u),s.position.values=d,s=extrudedAttributes(s,t);var h=u/3;if(e.shadowVolume){for(var p=s.normal.values,u=p.length,n=new Float32Array(6*u),m=0;m<u;m++)p[m]=-p[m];n.set(p,u),n=addWallPositions(p,4*u,n),s.extrudeDirection=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:n}),t.normal||(s.normal=void 0)}defined(e.offsetAttribute)&&(t=new Uint8Array(6*h),t=e.offsetAttribute===GeometryOffsetAttribute$1.TOP?(t=arrayFill(t,1,0,h),arrayFill(t,1,2*h,4*h)):arrayFill(t,e.offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),s.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:t}));var f=l.length,g=h+h,_=IndexDatatype$1.createTypedArray(d.length/3,2*f+3*g);_.set(l);var y,C,v,S,T=f;for(m=0;m<f;m+=3){var b=l[m],x=l[m+1],E=l[m+2];_[T++]=E+h,_[T++]=x+h,_[T++]=b+h}for(m=0;m<g;m+=2)v=(y=m+g)+1,S=(C=y+g)+1,_[T++]=y,_[T++]=C,_[T++]=v,_[T++]=v,_[T++]=C,_[T++]=S;return{attributes:s,indices:_}}var scratchCartesian1$6=new Cartesian3,scratchCartesian2$6=new Cartesian3,scratchCartographic$2=new Cartographic;function computeOffsetPoints(e,t,i,r,n,a){var o=Cartesian3.subtract(t,e,scratchCartesian1$6);Cartesian3.normalize(o,o);var s=i.geodeticSurfaceNormal(e,scratchCartesian2$6),l=Cartesian3.cross(o,s,scratchCartesian1$6);Cartesian3.multiplyByScalar(l,r,l);var c=n.latitude,u=n.longitude,t=a.latitude,o=a.longitude;Cartesian3.add(e,l,scratchCartesian2$6),i.cartesianToCartographic(scratchCartesian2$6,scratchCartographic$2);s=scratchCartographic$2.latitude,r=scratchCartographic$2.longitude,c=Math.min(c,s),u=Math.min(u,r),t=Math.max(t,s),o=Math.max(o,r);Cartesian3.subtract(e,l,scratchCartesian2$6),i.cartesianToCartographic(scratchCartesian2$6,scratchCartographic$2),s=scratchCartographic$2.latitude,r=scratchCartographic$2.longitude,c=Math.min(c,s),u=Math.min(u,r),t=Math.max(t,s),o=Math.max(o,r),n.latitude=c,n.longitude=u,a.latitude=t,a.longitude=o}var scratchCartesianOffset=new Cartesian3,scratchCartesianEnds=new Cartesian3,scratchCartographicMin=new Cartographic,scratchCartographicMax=new Cartographic;function computeRectangle$1(e,t,i,r,n){var a=arrayRemoveDuplicates(e=scaleToSurface$1(e,t),Cartesian3.equalsEpsilon),o=a.length;if(o<2||i<=0)return new Rectangle;var s,l,c=.5*i;scratchCartographicMin.latitude=Number.POSITIVE_INFINITY,scratchCartographicMin.longitude=Number.POSITIVE_INFINITY,scratchCartographicMax.latitude=Number.NEGATIVE_INFINITY,scratchCartographicMax.longitude=Number.NEGATIVE_INFINITY,r===CornerType$1.ROUNDED&&(d=a[0],Cartesian3.subtract(d,a[1],scratchCartesianOffset),Cartesian3.normalize(scratchCartesianOffset,scratchCartesianOffset),Cartesian3.multiplyByScalar(scratchCartesianOffset,c,scratchCartesianOffset),Cartesian3.add(d,scratchCartesianOffset,scratchCartesianEnds),t.cartesianToCartographic(scratchCartesianEnds,scratchCartographic$2),s=scratchCartographic$2.latitude,l=scratchCartographic$2.longitude,scratchCartographicMin.latitude=Math.min(scratchCartographicMin.latitude,s),scratchCartographicMin.longitude=Math.min(scratchCartographicMin.longitude,l),scratchCartographicMax.latitude=Math.max(scratchCartographicMax.latitude,s),scratchCartographicMax.longitude=Math.max(scratchCartographicMax.longitude,l));for(var u=0;u<o-1;++u)computeOffsetPoints(a[u],a[u+1],t,c,scratchCartographicMin,scratchCartographicMax);var d=a[o-1];Cartesian3.subtract(d,a[o-2],scratchCartesianOffset),Cartesian3.normalize(scratchCartesianOffset,scratchCartesianOffset),Cartesian3.multiplyByScalar(scratchCartesianOffset,c,scratchCartesianOffset),Cartesian3.add(d,scratchCartesianOffset,scratchCartesianEnds),computeOffsetPoints(d,scratchCartesianEnds,t,c,scratchCartographicMin,scratchCartographicMax),r===CornerType$1.ROUNDED&&(t.cartesianToCartographic(scratchCartesianEnds,scratchCartographic$2),s=scratchCartographic$2.latitude,l=scratchCartographic$2.longitude,scratchCartographicMin.latitude=Math.min(scratchCartographicMin.latitude,s),scratchCartographicMin.longitude=Math.min(scratchCartographicMin.longitude,l),scratchCartographicMax.latitude=Math.max(scratchCartographicMax.latitude,s),scratchCartographicMax.longitude=Math.max(scratchCartographicMax.longitude,l));n=defined(n)?n:new Rectangle;return n.north=scratchCartographicMax.latitude,n.south=scratchCartographicMin.latitude,n.east=scratchCartographicMax.longitude,n.west=scratchCartographicMin.longitude,n}function CorridorGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions,i=e.width,r=defaultValue(e.height,0),n=defaultValue(e.extrudedHeight,r);this._positions=t,this._ellipsoid=Ellipsoid.clone(defaultValue(e.ellipsoid,Ellipsoid.WGS84)),this._vertexFormat=VertexFormat.clone(defaultValue(e.vertexFormat,VertexFormat.DEFAULT)),this._width=i,this._height=Math.max(r,n),this._extrudedHeight=Math.min(r,n),this._cornerType=defaultValue(e.cornerType,CornerType$1.ROUNDED),this._granularity=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),this._shadowVolume=defaultValue(e.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this.packedLength=1+t.length*Cartesian3.packedLength+Ellipsoid.packedLength+VertexFormat.packedLength+7}CorridorGeometry.pack=function(e,t,i){i=defaultValue(i,0);var r=e._positions,n=r.length;t[i++]=n;for(var a=0;a<n;++a,i+=Cartesian3.packedLength)Cartesian3.pack(r[a],t,i);return Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,VertexFormat.pack(e._vertexFormat,t,i),i+=VertexFormat.packedLength,t[i++]=e._width,t[i++]=e._height,t[i++]=e._extrudedHeight,t[i++]=e._cornerType,t[i++]=e._granularity,t[i++]=e._shadowVolume?1:0,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchEllipsoid$3=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchVertexFormat$3=new VertexFormat,scratchOptions$8={positions:void 0,ellipsoid:scratchEllipsoid$3,vertexFormat:scratchVertexFormat$3,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};CorridorGeometry.unpack=function(e,t,i){t=defaultValue(t,0);for(var r=e[t++],n=new Array(r),a=0;a<r;++a,t+=Cartesian3.packedLength)n[a]=Cartesian3.unpack(e,t);var o=Ellipsoid.unpack(e,t,scratchEllipsoid$3);t+=Ellipsoid.packedLength;var s=VertexFormat.unpack(e,t,scratchVertexFormat$3);t+=VertexFormat.packedLength;var l=e[t++],c=e[t++],u=e[t++],d=e[t++],h=e[t++],p=1===e[t++],m=e[t];return defined(i)?(i._positions=n,i._ellipsoid=Ellipsoid.clone(o,i._ellipsoid),i._vertexFormat=VertexFormat.clone(s,i._vertexFormat),i._width=l,i._height=c,i._extrudedHeight=u,i._cornerType=d,i._granularity=h,i._shadowVolume=p,i._offsetAttribute=-1===m?void 0:m,i):(scratchOptions$8.positions=n,scratchOptions$8.width=l,scratchOptions$8.height=c,scratchOptions$8.extrudedHeight=u,scratchOptions$8.cornerType=d,scratchOptions$8.granularity=h,scratchOptions$8.shadowVolume=p,scratchOptions$8.offsetAttribute=-1===m?void 0:m,new CorridorGeometry(scratchOptions$8))},CorridorGeometry.computeRectangle=function(e,t){var i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions,r=e.width;return computeRectangle$1(i,defaultValue(e.ellipsoid,Ellipsoid.WGS84),r,defaultValue(e.cornerType,CornerType$1.ROUNDED),t)},CorridorGeometry.createGeometry=function(e){var t=e._positions,i=e._width,r=e._ellipsoid,n=arrayRemoveDuplicates(t=scaleToSurface$1(t,r),Cartesian3.equalsEpsilon);if(!(n.length<2||i<=0)){var a,o=e._height,s=e._extrudedHeight,l=!CesiumMath.equalsEpsilon(o,s,0,CesiumMath.EPSILON2),t=e._vertexFormat,i={ellipsoid:r,positions:n,width:i,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0};l?(i.height=o,i.extrudedHeight=s,i.shadowVolume=e._shadowVolume,i.offsetAttribute=e._offsetAttribute,a=computePositionsExtruded(i,t)):((a=combine$1(CorridorGeometryLibrary.computePositions(i),t,r)).attributes.position.values=PolygonPipeline.scaleToGeodeticHeight(a.attributes.position.values,o,r),defined(e._offsetAttribute)&&(c=e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1,u=a.attributes.position.values.length,arrayFill(u=new Uint8Array(u/3),c),a.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:u})));var c=a.attributes,u=BoundingSphere.fromVertices(c.position.values,void 0,3);return t.position||(a.attributes.position.values=void 0),new Geometry({attributes:c,indices:a.indices,primitiveType:PrimitiveType$1.TRIANGLES,boundingSphere:u,offsetAttribute:e._offsetAttribute})}},CorridorGeometry.createShadowVolume=function(e,t,i){var r=e._granularity,n=e._ellipsoid,t=t(r,n),i=i(r,n);return new CorridorGeometry({positions:e._positions,width:e._width,cornerType:e._cornerType,ellipsoid:n,granularity:r,extrudedHeight:t,height:i,vertexFormat:VertexFormat.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(CorridorGeometry.prototype,{rectangle:{get:function(){return defined(this._rectangle)||(this._rectangle=computeRectangle$1(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var cartesian1$2=new Cartesian3,cartesian2$2=new Cartesian3,cartesian3$2=new Cartesian3;function scaleToSurface$2(e,t){for(var i=0;i<e.length;i++)e[i]=t.scaleToGeodeticSurface(e[i],e[i]);return e}function combine$2(e,t){var i,r=[],n=e.positions,a=e.corners,o=e.endPositions,s=new GeometryAttributes,l=0,c=0,u=0;for(A=0;A<n.length;A+=2)l+=i=n[A].length-3,u+=i/3*4,c+=n[A+1].length-3;for(l+=3,c+=3,A=0;A<a.length;A++){R=a[A];var d=a[A].leftPositions;defined(d)?l+=i=d.length:c+=i=a[A].rightPositions.length,u+=i/3*2}var h,p=defined(o);p&&(l+=h=o[0].length-3,c+=h,u+=4*(h/=3));var m,f,g,_,y,C,e=l+c,v=new Float64Array(e),S=0,T=e-1,b=h/2,x=IndexDatatype$1.createTypedArray(e/3,u+4),E=0;if(x[E++]=S/3,x[E++]=(T-2)/3,p){r.push(S/3),C=cartesian1$2,y=cartesian2$2;for(var P=o[0],A=0;A<b;A++)C=Cartesian3.fromArray(P,3*(b-1-A),C),y=Cartesian3.fromArray(P,3*(b+A),y),CorridorGeometryLibrary.addAttribute(v,y,S),CorridorGeometryLibrary.addAttribute(v,C,void 0,T),_=(f=S/3)+1,g=(m=(T-2)/3)-1,x[E++]=m,x[E++]=g,x[E++]=f,x[E++]=_,S+=3,T-=3}var w=0,D=n[w++],M=n[w++];for(v.set(D,S),v.set(M,T-M.length+1),i=M.length-3,r.push(S/3,(T-2)/3),A=0;A<i;A+=3)_=(f=S/3)+1,g=(m=(T-2)/3)-1,x[E++]=m,x[E++]=g,x[E++]=f,x[E++]=_,S+=3,T-=3;for(A=0;A<a.length;A++){var I,R,O,L=(R=a[A]).leftPositions,F=R.rightPositions,N=cartesian3$2;if(defined(L)){for(T-=3,O=g,r.push(_),I=0;I<L.length/3;I++)N=Cartesian3.fromArray(L,3*I,N),x[E++]=O-I-1,x[E++]=O-I,CorridorGeometryLibrary.addAttribute(v,N,void 0,T),T-=3;r.push(O-Math.floor(L.length/6)),t===CornerType$1.BEVELED&&r.push((T-2)/3+1),S+=3}else{for(S+=3,O=_,r.push(g),I=0;I<F.length/3;I++)N=Cartesian3.fromArray(F,3*I,N),x[E++]=O+I,x[E++]=O+I+1,CorridorGeometryLibrary.addAttribute(v,N,S),S+=3;r.push(O+Math.floor(F.length/6)),t===CornerType$1.BEVELED&&r.push(S/3-1),T-=3}for(D=n[w++],M=n[w++],D.splice(0,3),M.splice(M.length-3,3),v.set(D,S),v.set(M,T-M.length+1),i=M.length-3,I=0;I<M.length;I+=3)f=(_=S/3)-1,m=(g=(T-2)/3)+1,x[E++]=m,x[E++]=g,x[E++]=f,x[E++]=_,S+=3,T-=3;S-=3,T+=3,r.push(S/3,(T-2)/3)}if(p){S+=3,T-=3,C=cartesian1$2,y=cartesian2$2;var B=o[1];for(A=0;A<b;A++)C=Cartesian3.fromArray(B,3*(h-A-1),C),y=Cartesian3.fromArray(B,3*A,y),CorridorGeometryLibrary.addAttribute(v,C,void 0,T),CorridorGeometryLibrary.addAttribute(v,y,S),f=(_=S/3)-1,m=(g=(T-2)/3)+1,x[E++]=m,x[E++]=g,x[E++]=f,x[E++]=_,S+=3,T-=3;r.push(S/3)}else r.push(S/3,(T-2)/3);return x[E++]=S/3,x[E++]=(T-2)/3,s.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:v}),{attributes:s,indices:x,wallIndices:r}}function computePositionsExtruded$1(e){var t=e.ellipsoid,i=combine$2(CorridorGeometryLibrary.computePositions(e),e.cornerType),r=i.wallIndices,n=e.height,a=e.extrudedHeight,o=i.attributes,s=i.indices,l=(c=o.position.values).length;(u=new Float64Array(l)).set(c);var i=new Float64Array(2*l),c=PolygonPipeline.scaleToGeodeticHeight(c,n,t),u=PolygonPipeline.scaleToGeodeticHeight(u,a,t);i.set(c),i.set(u,l),o.position.values=i,l/=3,defined(e.offsetAttribute)&&(u=new Uint8Array(2*l),u=e.offsetAttribute===GeometryOffsetAttribute$1.TOP?arrayFill(u,1,0,l):arrayFill(u,e.offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),o.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:u}));var d=s.length,h=IndexDatatype$1.createTypedArray(i.length/3,2*(d+r.length));h.set(s);for(var p,m,f=d,g=0;g<d;g+=2){var _=s[g],y=s[g+1];h[f++]=_+l,h[f++]=y+l}for(g=0;g<r.length;g++)m=(p=r[g])+l,h[f++]=p,h[f++]=m;return{attributes:o,indices:h}}function CorridorOutlineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions,i=e.width,r=defaultValue(e.height,0),n=defaultValue(e.extrudedHeight,r);this._positions=t,this._ellipsoid=Ellipsoid.clone(defaultValue(e.ellipsoid,Ellipsoid.WGS84)),this._width=i,this._height=Math.max(r,n),this._extrudedHeight=Math.min(r,n),this._cornerType=defaultValue(e.cornerType,CornerType$1.ROUNDED),this._granularity=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),this._offsetAttribute=e.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+t.length*Cartesian3.packedLength+Ellipsoid.packedLength+6}CorridorOutlineGeometry.pack=function(e,t,i){i=defaultValue(i,0);var r=e._positions,n=r.length;t[i++]=n;for(var a=0;a<n;++a,i+=Cartesian3.packedLength)Cartesian3.pack(r[a],t,i);return Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,t[i++]=e._width,t[i++]=e._height,t[i++]=e._extrudedHeight,t[i++]=e._cornerType,t[i++]=e._granularity,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchEllipsoid$4=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchOptions$9={positions:void 0,ellipsoid:scratchEllipsoid$4,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0},defaultTokenCredit;function createGuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}CorridorOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);for(var r=e[t++],n=new Array(r),a=0;a<r;++a,t+=Cartesian3.packedLength)n[a]=Cartesian3.unpack(e,t);var o=Ellipsoid.unpack(e,t,scratchEllipsoid$4);t+=Ellipsoid.packedLength;var s=e[t++],l=e[t++],c=e[t++],u=e[t++],d=e[t++],h=e[t];return defined(i)?(i._positions=n,i._ellipsoid=Ellipsoid.clone(o,i._ellipsoid),i._width=s,i._height=l,i._extrudedHeight=c,i._cornerType=u,i._granularity=d,i._offsetAttribute=-1===h?void 0:h,i):(scratchOptions$9.positions=n,scratchOptions$9.width=s,scratchOptions$9.height=l,scratchOptions$9.extrudedHeight=c,scratchOptions$9.cornerType=u,scratchOptions$9.granularity=d,scratchOptions$9.offsetAttribute=-1===h?void 0:h,new CorridorOutlineGeometry(scratchOptions$9))},CorridorOutlineGeometry.createGeometry=function(e){var t=e._positions,i=e._width,r=e._ellipsoid,n=arrayRemoveDuplicates(t=scaleToSurface$2(t,r),Cartesian3.equalsEpsilon);if(!(n.length<2||i<=0)){var a,o=e._height,s=e._extrudedHeight,t=!CesiumMath.equalsEpsilon(o,s,0,CesiumMath.EPSILON2),i={ellipsoid:r,positions:n,width:i,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!1};t?(i.height=o,i.extrudedHeight=s,i.offsetAttribute=e._offsetAttribute,a=computePositionsExtruded$1(i)):((a=combine$2(CorridorGeometryLibrary.computePositions(i),i.cornerType)).attributes.position.values=PolygonPipeline.scaleToGeodeticHeight(a.attributes.position.values,o,r),defined(e._offsetAttribute)&&(l=a.attributes.position.values.length,arrayFill(c=new Uint8Array(l/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),a.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})));var l=a.attributes,c=BoundingSphere.fromVertices(l.position.values,void 0,3);return new Geometry({attributes:l,indices:a.indices,primitiveType:PrimitiveType$1.LINES,boundingSphere:c,offsetAttribute:e._offsetAttribute})}};var defaultAccessToken="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJmNTZmY2U0Ni1lMmMxLTQ1ZmMtYWIyZC1hZDk2NzE5N2UzMDciLCJpZCI6MjU5LCJpYXQiOjE2MDQzMjY0MjN9.aTMKOaHQKGyesz1A2QXE-Y5FvG19FSO7I6F3NS1T5To",Ion={};function IonResource(e,t){var i,r=e.externalType,n=defined(r);if(n){if("3DTILES"!==r&&"STK_TERRAIN_SERVER"!==r)throw new RuntimeError("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");i={url:e.options.url}}else i={url:e.url,retryAttempts:1,retryCallback:retryCallback};Resource.call(this,i),this._ionEndpoint=e,this._ionEndpointDomain=n?void 0:new URI(e.url).authority,this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=n}function retryCallback(t,e){var i=defaultValue(t._ionRoot,t),r=i._ionEndpointResource;return defined(e)&&(401===e.statusCode||e.target instanceof Image)?(defined(i._pendingPromise)||(i._pendingPromise=r.fetchJson().then(function(e){return i._ionEndpoint=e}).always(function(e){return i._pendingPromise=void 0,e})),i._pendingPromise.then(function(e){return t._ionEndpoint=e,!0})):when.resolve(!1)}function createWorldTerrain(e){return e=defaultValue(e,defaultValue.EMPTY_OBJECT),new CesiumTerrainProvider({url:IonResource.fromAssetId(1),requestVertexNormals:defaultValue(e.requestVertexNormals,!1),requestWaterMask:defaultValue(e.requestWaterMask,!1)})}function CullingVolume(e){this.planes=defaultValue(e,[])}Ion.defaultAccessToken=defaultAccessToken,Ion.defaultServer=new Resource({url:"https://api.cesium.com/"}),Ion.getDefaultTokenCredit=function(e){if(e===defaultAccessToken)return defined(defaultTokenCredit)||(defaultTokenCredit=new Credit('<b> This application is using Cesium\'s default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>',!0)),defaultTokenCredit},defined(Object.create)&&(IonResource.prototype=Object.create(Resource.prototype),IonResource.prototype.constructor=IonResource),IonResource.fromAssetId=function(e,t){var i=IonResource._createEndpointResource(e,t);return i.fetchJson().then(function(e){return new IonResource(e,i)})},Object.defineProperties(IonResource.prototype,{credits:{get:function(){return defined(this._ionRoot)?this._ionRoot.credits:(defined(this._credits)||(this._credits=IonResource.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource)),this._credits)}}}),IonResource.getCreditsFromEndpoint=function(e,t){e=e.attributions.map(Credit.getIonCredit),t=Ion.getDefaultTokenCredit(t.queryParameters.access_token);return defined(t)&&e.push(Credit.clone(t)),e},IonResource.prototype.clone=function(e){var t=defaultValue(this._ionRoot,this);return defined(e)||(e=new IonResource(t._ionEndpoint,t._ionEndpointResource)),(e=Resource.prototype.clone.call(this,e))._ionRoot=t,e._isExternal=this._isExternal,e},IonResource.prototype.fetchImage=function(e){var t;return this._isExternal||(t=e,e={preferBlob:!0},defined(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)),Resource.prototype.fetchImage.call(this,e)},IonResource.prototype._makeRequest=function(e){return this._isExternal||new URI(this.url).authority!==this._ionEndpointDomain||(defined(e.headers)||(e.headers={}),e.headers.Authorization="Bearer "+this._ionEndpoint.accessToken),Resource.prototype._makeRequest.call(this,e)},IonResource._createEndpointResource=function(e,t){t=defaultValue(t,defaultValue.EMPTY_OBJECT);var i=defaultValue(t.server,Ion.defaultServer),t=defaultValue(t.accessToken,Ion.defaultAccessToken),i=Resource.createIfNeeded(i),e={url:"v1/assets/"+e+"/endpoint"};return defined(t)&&(e.queryParameters={access_token:t}),i.getDerivedResource(e)};var faces=[new Cartesian3,new Cartesian3,new Cartesian3];Cartesian3.clone(Cartesian3.UNIT_X,faces[0]),Cartesian3.clone(Cartesian3.UNIT_Y,faces[1]),Cartesian3.clone(Cartesian3.UNIT_Z,faces[2]);var scratchPlaneCenter=new Cartesian3,scratchPlaneNormal$1=new Cartesian3,scratchPlane$1=new Plane(new Cartesian3(1,0,0),0);CullingVolume.fromBoundingSphere=function(e,t){defined(t)||(t=new CullingVolume);var i=faces.length,r=t.planes;r.length=2*i;for(var n=e.center,a=e.radius,o=0,s=0;s<i;++s){var l=faces[s],c=r[o],u=r[o+1];defined(c)||(c=r[o]=new Cartesian4),defined(u)||(u=r[o+1]=new Cartesian4),Cartesian3.multiplyByScalar(l,-a,scratchPlaneCenter),Cartesian3.add(n,scratchPlaneCenter,scratchPlaneCenter),c.x=l.x,c.y=l.y,c.z=l.z,c.w=-Cartesian3.dot(l,scratchPlaneCenter),Cartesian3.multiplyByScalar(l,a,scratchPlaneCenter),Cartesian3.add(n,scratchPlaneCenter,scratchPlaneCenter),u.x=-l.x,u.y=-l.y,u.z=-l.z,u.w=-Cartesian3.dot(Cartesian3.negate(l,scratchPlaneNormal$1),scratchPlaneCenter),o+=2}return t},CullingVolume.prototype.computeVisibility=function(e){for(var t=this.planes,i=!1,r=0,n=t.length;r<n;++r){var a=e.intersectPlane(Plane.fromCartesian4(t[r],scratchPlane$1));if(a===Intersect$1.OUTSIDE)return Intersect$1.OUTSIDE;a===Intersect$1.INTERSECTING&&(i=!0)}return i?Intersect$1.INTERSECTING:Intersect$1.INSIDE},CullingVolume.prototype.computeVisibilityWithPlaneMask=function(e,t){if(t===CullingVolume.MASK_OUTSIDE||t===CullingVolume.MASK_INSIDE)return t;for(var i=CullingVolume.MASK_INSIDE,r=this.planes,n=0,a=r.length;n<a;++n){var o=n<31?1<<n:0;if(!(n<31&&0==(t&o))){var s=e.intersectPlane(Plane.fromCartesian4(r[n],scratchPlane$1));if(s===Intersect$1.OUTSIDE)return CullingVolume.MASK_OUTSIDE;s===Intersect$1.INTERSECTING&&(i|=o)}}return i},CullingVolume.MASK_OUTSIDE=4294967295,CullingVolume.MASK_INSIDE=0,CullingVolume.MASK_INDETERMINATE=2147483647;var CylinderGeometryLibrary={computePositions:function(e,t,i,r,n){for(var a=.5*e,o=-a,e=r+r,s=new Float64Array(3*(n?2*e:e)),l=0,c=0,u=n?3*e:0,d=n?3*(e+r):3*r,h=0;h<r;h++){var p=h/r*CesiumMath.TWO_PI,m=Math.cos(p),f=Math.sin(p),g=m*i,p=f*i,m=m*t,f=f*t;s[c+u]=g,s[c+u+1]=p,s[c+u+2]=o,s[c+d]=m,s[c+d+1]=f,s[c+d+2]=a,c+=3,n&&(s[l++]=g,s[l++]=p,s[l++]=o,s[l++]=m,s[l++]=f,s[l++]=a)}return s}},radiusScratch=new Cartesian2,normalScratch$2=new Cartesian3,bitangentScratch=new Cartesian3,tangentScratch=new Cartesian3,positionScratch$1=new Cartesian3;function CylinderGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).length,i=e.topRadius,r=e.bottomRadius,n=defaultValue(e.vertexFormat,VertexFormat.DEFAULT),a=defaultValue(e.slices,128);this._length=t,this._topRadius=i,this._bottomRadius=r,this._vertexFormat=VertexFormat.clone(n),this._slices=a,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderGeometry"}CylinderGeometry.packedLength=VertexFormat.packedLength+5,CylinderGeometry.pack=function(e,t,i){return i=defaultValue(i,0),VertexFormat.pack(e._vertexFormat,t,i),i+=VertexFormat.packedLength,t[i++]=e._length,t[i++]=e._topRadius,t[i++]=e._bottomRadius,t[i++]=e._slices,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchVertexFormat$4=new VertexFormat,scratchOptions$a={vertexFormat:scratchVertexFormat$4,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0},unitCylinderGeometry;CylinderGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=VertexFormat.unpack(e,t,scratchVertexFormat$4);t+=VertexFormat.packedLength;var n=e[t++],a=e[t++],o=e[t++],s=e[t++],t=e[t];return defined(i)?(i._vertexFormat=VertexFormat.clone(r,i._vertexFormat),i._length=n,i._topRadius=a,i._bottomRadius=o,i._slices=s,i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions$a.length=n,scratchOptions$a.topRadius=a,scratchOptions$a.bottomRadius=o,scratchOptions$a.slices=s,scratchOptions$a.offsetAttribute=-1===t?void 0:t,new CylinderGeometry(scratchOptions$a))},CylinderGeometry.createGeometry=function(e){var t=e._length,i=e._topRadius,r=e._bottomRadius,n=e._vertexFormat,a=e._slices;if(!(t<=0||i<0||r<0||0===i&&0===r)){var o=a+a,s=a+o,l=o+o,c=CylinderGeometryLibrary.computePositions(t,i,r,a,!0),u=n.st?new Float32Array(2*l):void 0,d=n.normal?new Float32Array(3*l):void 0,h=n.tangent?new Float32Array(3*l):void 0,p=n.bitangent?new Float32Array(3*l):void 0,m=n.normal||n.tangent||n.bitangent;if(m){var f=n.tangent||n.bitangent,g=0,_=0,y=0,C=Math.atan2(r-i,t),v=normalScratch$2;v.z=Math.sin(C);for(var S=Math.cos(C),T=tangentScratch,b=bitangentScratch,x=0;x<a;x++){var E=x/a*CesiumMath.TWO_PI,P=S*Math.cos(E),E=S*Math.sin(E);m&&(v.x=P,v.y=E,f&&(T=Cartesian3.normalize(Cartesian3.cross(Cartesian3.UNIT_Z,v,T),T)),n.normal&&(d[g++]=v.x,d[g++]=v.y,d[g++]=v.z,d[g++]=v.x,d[g++]=v.y,d[g++]=v.z),n.tangent&&(h[_++]=T.x,h[_++]=T.y,h[_++]=T.z,h[_++]=T.x,h[_++]=T.y,h[_++]=T.z),n.bitangent&&(b=Cartesian3.normalize(Cartesian3.cross(v,T,b),b),p[y++]=b.x,p[y++]=b.y,p[y++]=b.z,p[y++]=b.x,p[y++]=b.y,p[y++]=b.z))}for(x=0;x<a;x++)n.normal&&(d[g++]=0,d[g++]=0,d[g++]=-1),n.tangent&&(h[_++]=1,h[_++]=0,h[_++]=0),n.bitangent&&(p[y++]=0,p[y++]=-1,p[y++]=0);for(x=0;x<a;x++)n.normal&&(d[g++]=0,d[g++]=0,d[g++]=1),n.tangent&&(h[_++]=1,h[_++]=0,h[_++]=0),n.bitangent&&(p[y++]=0,p[y++]=1,p[y++]=0)}var C=12*a-12,A=IndexDatatype$1.createTypedArray(l,C),w=0,D=0;for(x=0;x<a-1;x++)A[w++]=D,A[w++]=D+2,A[w++]=D+3,A[w++]=D,A[w++]=D+3,A[w++]=D+1,D+=2;for(A[w++]=o-2,A[w++]=0,A[w++]=1,A[w++]=o-2,A[w++]=1,A[w++]=o-1,x=1;x<a-1;x++)A[w++]=o+x+1,A[w++]=o+x,A[w++]=o;for(x=1;x<a-1;x++)A[w++]=s,A[w++]=s+x,A[w++]=s+x+1;var M=0;if(n.st){var I=Math.max(i,r);for(x=0;x<l;x++){var R=Cartesian3.fromArray(c,3*x,positionScratch$1);u[M++]=(R.x+I)/(2*I),u[M++]=(R.y+I)/(2*I)}}C=new GeometryAttributes;n.position&&(C.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:c})),n.normal&&(C.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:d})),n.tangent&&(C.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:h})),n.bitangent&&(C.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:p})),n.st&&(C.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:u})),radiusScratch.x=.5*t,radiusScratch.y=Math.max(r,i);i=new BoundingSphere(Cartesian3.ZERO,Cartesian2.magnitude(radiusScratch));return defined(e._offsetAttribute)&&(t=c.length,arrayFill(t=new Uint8Array(t/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),C.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:t})),new Geometry({attributes:C,indices:A,primitiveType:PrimitiveType$1.TRIANGLES,boundingSphere:i,offsetAttribute:e._offsetAttribute})}},CylinderGeometry.getUnitCylinder=function(){return defined(unitCylinderGeometry)||(unitCylinderGeometry=CylinderGeometry.createGeometry(new CylinderGeometry({topRadius:1,bottomRadius:1,length:1,vertexFormat:VertexFormat.POSITION_ONLY}))),unitCylinderGeometry};var radiusScratch$1=new Cartesian2;function CylinderOutlineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).length,i=e.topRadius,r=e.bottomRadius,n=defaultValue(e.slices,128),a=Math.max(defaultValue(e.numberOfVerticalLines,16),0);this._length=t,this._topRadius=i,this._bottomRadius=r,this._slices=n,this._numberOfVerticalLines=a,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}CylinderOutlineGeometry.packedLength=6,CylinderOutlineGeometry.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e._length,t[i++]=e._topRadius,t[i++]=e._bottomRadius,t[i++]=e._slices,t[i++]=e._numberOfVerticalLines,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchOptions$b={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};CylinderOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=e[t++],n=e[t++],a=e[t++],o=e[t++],s=e[t++],t=e[t];return defined(i)?(i._length=r,i._topRadius=n,i._bottomRadius=a,i._slices=o,i._numberOfVerticalLines=s,i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions$b.length=r,scratchOptions$b.topRadius=n,scratchOptions$b.bottomRadius=a,scratchOptions$b.slices=o,scratchOptions$b.numberOfVerticalLines=s,scratchOptions$b.offsetAttribute=-1===t?void 0:t,new CylinderOutlineGeometry(scratchOptions$b))},CylinderOutlineGeometry.createGeometry=function(e){var t=e._length,i=e._topRadius,r=e._bottomRadius,n=e._slices,a=e._numberOfVerticalLines;if(!(t<=0||i<0||r<0||0===i&&0===r)){var o,s,l=2*n,c=CylinderGeometryLibrary.computePositions(t,i,r,n,!1),u=2*n;0<a&&(o=Math.min(a,n),s=Math.round(n/o),u+=o);for(var d=IndexDatatype$1.createTypedArray(l,2*u),h=0,p=0;p<n-1;p++)d[h++]=p,d[h++]=p+1,d[h++]=p+n,d[h++]=p+1+n;if(d[h++]=n-1,d[h++]=0,d[h++]=n+n-1,d[h++]=n,0<a)for(p=0;p<n;p+=s)d[h++]=p,d[h++]=p+n;a=new GeometryAttributes;a.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:c}),radiusScratch$1.x=.5*t,radiusScratch$1.y=Math.max(r,i);i=new BoundingSphere(Cartesian3.ZERO,Cartesian2.magnitude(radiusScratch$1));return defined(e._offsetAttribute)&&(t=c.length,arrayFill(t=new Uint8Array(t/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),a.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:t})),new Geometry({attributes:a,indices:d,primitiveType:PrimitiveType$1.LINES,boundingSphere:i,offsetAttribute:e._offsetAttribute})}};var compressedMagic=1953029805,compressedMagicSwap=2917034100;function decodeGoogleEarthEnterpriseData(e,t){if(decodeGoogleEarthEnterpriseData.passThroughDataForTesting)return t;var i=e.byteLength;if(0===i||i%4!=0)throw new RuntimeError("The length of key must be greater than 0 and a multiple of 4.");var r=new DataView(t),n=r.getUint32(0,!0);if(n===compressedMagic||n===compressedMagicSwap)return t;for(var a,o=new DataView(e),s=0,l=t.byteLength,c=l-l%8,u=i,d=8;s<c;)for(a=d=(d+8)%24;s<c&&a<u;)r.setUint32(s,r.getUint32(s,!0)^o.getUint32(a,!0),!0),r.setUint32(s+4,r.getUint32(s+4,!0)^o.getUint32(a+4,!0),!0),s+=8,a+=24;if(s<l)for(u<=a&&(a=d=(d+8)%24);s<l;)r.setUint8(s,r.getUint8(s)^o.getUint8(a)),s++,a++}function DefaultProxy(e){this.proxy=e}decodeGoogleEarthEnterpriseData.passThroughDataForTesting=!1,DefaultProxy.prototype.getURL=function(e){var t=-1===this.proxy.indexOf("?")?"?":"";return this.proxy+t+encodeURIComponent(e)};var warnings={};function oneTimeWarning(e,t){defined(warnings[e])||(warnings[e]=!0,console.warn(defaultValue(t,e)))}function deprecationWarning(e,t){oneTimeWarning(e,t)}function DistanceDisplayCondition(e,t){e=defaultValue(e,0),this._near=e,t=defaultValue(t,Number.MAX_VALUE),this._far=t}function DistanceDisplayConditionGeometryInstanceAttribute(e,t){e=defaultValue(e,0),t=defaultValue(t,Number.MAX_VALUE),this.value=new Float32Array([e,t])}function DoublyLinkedList(){this.head=void 0,this.tail=void 0,this._length=0}function DoublyLinkedListNode(e,t,i){this.item=e,this.previous=t,this.next=i}function remove(e,t){defined(t.previous)&&defined(t.next)?(t.previous.next=t.next,t.next.previous=t.previous):defined(t.previous)?(t.previous.next=void 0,e.tail=t.previous):defined(t.next)?(t.next.previous=void 0,e.head=t.next):(e.head=void 0,e.tail=void 0),t.next=void 0,t.previous=void 0}oneTimeWarning.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.",oneTimeWarning.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored",oneTimeWarning.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored",oneTimeWarning.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored",Object.defineProperties(DistanceDisplayCondition.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}}),DistanceDisplayCondition.packedLength=2,DistanceDisplayCondition.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.near,t[i]=e.far,t},DistanceDisplayCondition.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new DistanceDisplayCondition),i.near=e[t++],i.far=e[t],i},DistanceDisplayCondition.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.near===t.near&&e.far===t.far},DistanceDisplayCondition.clone=function(e,t){if(defined(e))return defined(t)||(t=new DistanceDisplayCondition),t.near=e.near,t.far=e.far,t},DistanceDisplayCondition.prototype.clone=function(e){return DistanceDisplayCondition.clone(this,e)},DistanceDisplayCondition.prototype.equals=function(e){return DistanceDisplayCondition.equals(this,e)},Object.defineProperties(DistanceDisplayConditionGeometryInstanceAttribute.prototype,{componentDatatype:{get:function(){return ComponentDatatype$1.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}}),DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition=function(e){return new DistanceDisplayConditionGeometryInstanceAttribute(e.near,e.far)},DistanceDisplayConditionGeometryInstanceAttribute.toValue=function(e,t){return defined(t)?(t[0]=e.near,t[1]=e.far,t):new Float32Array([e.near,e.far])},Object.defineProperties(DoublyLinkedList.prototype,{length:{get:function(){return this._length}}}),DoublyLinkedList.prototype.add=function(e){e=new DoublyLinkedListNode(e,this.tail,void 0);return defined(this.tail)?this.tail.next=e:this.head=e,this.tail=e,++this._length,e},DoublyLinkedList.prototype.remove=function(e){defined(e)&&(remove(this,e),--this._length)},DoublyLinkedList.prototype.splice=function(e,t){var i;e!==t&&(remove(this,t),i=e.next,e.next=t,this.tail===e?this.tail=t:i.previous=t,t.next=i,t.previous=e)},void 0===Date.now&&(Date.now=function(){return(new Date).valueOf()});var TWEEN=TWEEN||(EAb=[],{REVISION:"13",getAll:function(){return EAb},removeAll:function(){EAb=[]},add:function(e){EAb.push(e)},remove:function(e){e=EAb.indexOf(e);-1!==e&&EAb.splice(e,1)},update:function(e){if(0===EAb.length)return!1;var t=0;for(e=void 0!==e?e:("undefined"!=typeof window&&void 0!==window.performance&&void 0!==window.performance.now?window.performance:Date).now();t<EAb.length;)EAb[t].update(e)?t++:EAb.splice(t,1);return!0}}),EAb,OCb;TWEEN.Tween=function(e){var t,c=e,u={},d={},h={},p=1e3,m=0,f=!1,i=!1,g=0,_=null,y=TWEEN.Easing.Linear.None,C=TWEEN.Interpolation.Linear,v=[],S=null,T=!1,b=null,x=null,r=null;for(t in e)u[t]=parseFloat(e[t],10);this.to=function(e,t){return void 0!==t&&(p=t),d=e,this},this.start=function(e){for(var t in TWEEN.add(this),T=!(i=!0),_=void 0!==e?e:("undefined"!=typeof window&&void 0!==window.performance&&void 0!==window.performance.now?window.performance:Date).now(),_+=g,d){if(d[t]instanceof Array){if(0===d[t].length)continue;d[t]=[c[t]].concat(d[t])}u[t]=c[t],u[t]instanceof Array==!1&&(u[t]*=1),h[t]=u[t]||0}return this},this.stop=function(){return i&&(TWEEN.remove(this),i=!1,null!==r&&r.call(c),this.stopChainedTweens()),this},this.stopChainedTweens=function(){for(var e=0,t=v.length;e<t;e++)v[e].stop()},this.delay=function(e){return g=e,this},this.repeat=function(e){return m=e,this},this.yoyo=function(e){return f=e,this},this.easing=function(e){return y=e,this},this.interpolation=function(e){return C=e,this},this.chain=function(){return v=arguments,this},this.onStart=function(e){return S=e,this},this.onUpdate=function(e){return b=e,this},this.onComplete=function(e){return x=e,this},this.onStop=function(e){return r=e,this},this.update=function(e){if(e<_)return!0;!1===T&&(null!==S&&S.call(c),T=!0);var t,i=(e-_)/p,r=y(i=1<i?1:i);for(var n in d){var a=u[n]||0,o=d[n];o instanceof Array?c[n]=C(o,r):("string"==typeof o&&(o=a+parseFloat(o,10)),"number"==typeof o&&(c[n]=a+(o-a)*r))}if(null!==b&&b.call(c,r),1!=i)return!0;if(0<m){for(n in isFinite(m)&&m--,h)"string"==typeof d[n]&&(h[n]=h[n]+parseFloat(d[n],10)),f&&(t=h[n],h[n]=d[n],d[n]=t),u[n]=h[n];return _=e+g,!0}null!==x&&x.call(c);for(var s=0,l=v.length;s<l;s++)v[s].start(e);return!1}},TWEEN.Easing={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){var t,i=.1;return 0===e?0:1===e?1:(t=!i||i<1?(i=1,.1):.4*Math.asin(1/i)/(2*Math.PI),-(i*Math.pow(2,10*--e)*Math.sin((e-t)*(2*Math.PI)/.4)))},Out:function(e){var t,i=.1;return 0===e?0:1===e?1:(t=!i||i<1?(i=1,.1):.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/.4)+1)},InOut:function(e){var t,i=.1;return 0===e?0:1===e?1:(t=!i||i<1?(i=1,.1):.4*Math.asin(1/i)/(2*Math.PI),(e*=2)<1?i*Math.pow(2,10*--e)*Math.sin((e-t)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*--e)*Math.sin((e-t)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(e){return e*e*(2.70158*e-1.70158)},Out:function(e){return--e*e*(2.70158*e+1.70158)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((1+t)*e-t)*.5:.5*((e-=2)*e*((1+t)*e+t)+2)}},Bounce:{In:function(e){return 1-TWEEN.Easing.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*TWEEN.Easing.Bounce.In(2*e):.5*TWEEN.Easing.Bounce.Out(2*e-1)+.5}}},TWEEN.Interpolation={Linear:function(e,t){var i=e.length-1,r=i*t,n=Math.floor(r),a=TWEEN.Interpolation.Utils.Linear;return t<0?a(e[0],e[1],r):1<t?a(e[i],e[i-1],i-r):a(e[n],e[i<n+1?i:n+1],r-n)},Bezier:function(e,t){for(var i=0,r=e.length-1,n=Math.pow,a=TWEEN.Interpolation.Utils.Bernstein,o=0;o<=r;o++)i+=n(1-t,r-o)*n(t,o)*e[o]*a(r,o);return i},CatmullRom:function(e,t){var i=e.length-1,r=i*t,n=Math.floor(r),a=TWEEN.Interpolation.Utils.CatmullRom;return e[0]===e[i]?(t<0&&(n=Math.floor(r=i*(1+t))),a(e[(n-1+i)%i],e[n],e[(n+1)%i],e[(n+2)%i],r-n)):t<0?e[0]-(a(e[0],e[0],e[1],e[1],-r)-e[0]):1<t?e[i]-(a(e[i],e[i],e[i-1],e[i-1],r-i)-e[i]):a(e[n?n-1:0],e[n],e[i<n+1?i:n+1],e[i<n+2?i:n+2],r-n)},Utils:{Linear:function(e,t,i){return(t-e)*i+e},Bernstein:function(e,t){var i=TWEEN.Interpolation.Utils.Factorial;return i(e)/i(t)/i(e-t)},Factorial:(OCb=[1],function(e){var t,i=1;if(OCb[e])return OCb[e];for(t=e;1<t;t--)i*=t;return OCb[e]=i}),CatmullRom:function(e,t,i,r,n){var a=.5*(i-e),e=.5*(r-t),r=n*n;return(2*t-2*i+a+e)*(n*r)+(-3*t+3*i-2*a-e)*r+a*n+t}}};var EasingFunction={LINEAR_NONE:TWEEN.Easing.Linear.None,QUADRACTIC_IN:TWEEN.Easing.Quadratic.In,QUADRACTIC_OUT:TWEEN.Easing.Quadratic.Out,QUADRACTIC_IN_OUT:TWEEN.Easing.Quadratic.InOut,CUBIC_IN:TWEEN.Easing.Cubic.In,CUBIC_OUT:TWEEN.Easing.Cubic.Out,CUBIC_IN_OUT:TWEEN.Easing.Cubic.InOut,QUARTIC_IN:TWEEN.Easing.Quartic.In,QUARTIC_OUT:TWEEN.Easing.Quartic.Out,QUARTIC_IN_OUT:TWEEN.Easing.Quartic.InOut,QUINTIC_IN:TWEEN.Easing.Quintic.In,QUINTIC_OUT:TWEEN.Easing.Quintic.Out,QUINTIC_IN_OUT:TWEEN.Easing.Quintic.InOut,SINUSOIDAL_IN:TWEEN.Easing.Sinusoidal.In,SINUSOIDAL_OUT:TWEEN.Easing.Sinusoidal.Out,SINUSOIDAL_IN_OUT:TWEEN.Easing.Sinusoidal.InOut,EXPONENTIAL_IN:TWEEN.Easing.Exponential.In,EXPONENTIAL_OUT:TWEEN.Easing.Exponential.Out,EXPONENTIAL_IN_OUT:TWEEN.Easing.Exponential.InOut,CIRCULAR_IN:TWEEN.Easing.Circular.In,CIRCULAR_OUT:TWEEN.Easing.Circular.Out,CIRCULAR_IN_OUT:TWEEN.Easing.Circular.InOut,ELASTIC_IN:TWEEN.Easing.Elastic.In,ELASTIC_OUT:TWEEN.Easing.Elastic.Out,ELASTIC_IN_OUT:TWEEN.Easing.Elastic.InOut,BACK_IN:TWEEN.Easing.Back.In,BACK_OUT:TWEEN.Easing.Back.Out,BACK_IN_OUT:TWEEN.Easing.Back.InOut,BOUNCE_IN:TWEEN.Easing.Bounce.In,BOUNCE_OUT:TWEEN.Easing.Bounce.Out,BOUNCE_IN_OUT:TWEEN.Easing.Bounce.InOut},EasingFunction$1=Object.freeze(EasingFunction),scratchPosition$1=new Cartesian3,scratchNormal$4=new Cartesian3,scratchTangent$2=new Cartesian3,scratchBitangent$2=new Cartesian3,scratchNormalST=new Cartesian3,defaultRadii=new Cartesian3(1,1,1),cos=Math.cos,sin=Math.sin;function EllipsoidGeometry(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.radii,defaultRadii),i=defaultValue(e.innerRadii,t),r=defaultValue(e.minimumClock,0),n=defaultValue(e.maximumClock,CesiumMath.TWO_PI),a=defaultValue(e.minimumCone,0),o=defaultValue(e.maximumCone,CesiumMath.PI),s=Math.round(defaultValue(e.stackPartitions,64)),l=Math.round(defaultValue(e.slicePartitions,64)),c=defaultValue(e.vertexFormat,VertexFormat.DEFAULT);this._radii=Cartesian3.clone(t),this._innerRadii=Cartesian3.clone(i),this._minimumClock=r,this._maximumClock=n,this._minimumCone=a,this._maximumCone=o,this._stackPartitions=s,this._slicePartitions=l,this._vertexFormat=VertexFormat.clone(c),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidGeometry"}EllipsoidGeometry.packedLength=2*Cartesian3.packedLength+VertexFormat.packedLength+7,EllipsoidGeometry.pack=function(e,t,i){return i=defaultValue(i,0),Cartesian3.pack(e._radii,t,i),i+=Cartesian3.packedLength,Cartesian3.pack(e._innerRadii,t,i),i+=Cartesian3.packedLength,VertexFormat.pack(e._vertexFormat,t,i),i+=VertexFormat.packedLength,t[i++]=e._minimumClock,t[i++]=e._maximumClock,t[i++]=e._minimumCone,t[i++]=e._maximumCone,t[i++]=e._stackPartitions,t[i++]=e._slicePartitions,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchRadii=new Cartesian3,scratchInnerRadii=new Cartesian3,scratchVertexFormat$5=new VertexFormat,scratchOptions$c={radii:scratchRadii,innerRadii:scratchInnerRadii,vertexFormat:scratchVertexFormat$5,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0},unitEllipsoidGeometry;EllipsoidGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=Cartesian3.unpack(e,t,scratchRadii);t+=Cartesian3.packedLength;var n=Cartesian3.unpack(e,t,scratchInnerRadii);t+=Cartesian3.packedLength;var a=VertexFormat.unpack(e,t,scratchVertexFormat$5);t+=VertexFormat.packedLength;var o=e[t++],s=e[t++],l=e[t++],c=e[t++],u=e[t++],d=e[t++],t=e[t];return defined(i)?(i._radii=Cartesian3.clone(r,i._radii),i._innerRadii=Cartesian3.clone(n,i._innerRadii),i._vertexFormat=VertexFormat.clone(a,i._vertexFormat),i._minimumClock=o,i._maximumClock=s,i._minimumCone=l,i._maximumCone=c,i._stackPartitions=u,i._slicePartitions=d,i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions$c.minimumClock=o,scratchOptions$c.maximumClock=s,scratchOptions$c.minimumCone=l,scratchOptions$c.maximumCone=c,scratchOptions$c.stackPartitions=u,scratchOptions$c.slicePartitions=d,scratchOptions$c.offsetAttribute=-1===t?void 0:t,new EllipsoidGeometry(scratchOptions$c))},EllipsoidGeometry.createGeometry=function(e){var t=e._radii;if(!(t.x<=0||t.y<=0||t.z<=0)){var i=e._innerRadii;if(!(i.x<=0||i.y<=0||i.z<=0)){var r=e._minimumClock,n=e._maximumClock,a=e._minimumCone,o=e._maximumCone,s=e._vertexFormat,l=e._slicePartitions+1,c=e._stackPartitions+1;(l=Math.round(l*Math.abs(n-r)/CesiumMath.TWO_PI))<2&&(l=2),(c=Math.round(c*Math.abs(o-a)/CesiumMath.PI))<2&&(c=2);var u=0,d=[a],h=[r];for($=0;$<c;$++)d.push(a+$*(o-a)/(c-1));for(d.push(o),F=0;F<l;F++)h.push(r+F*(n-r)/(l-1));h.push(n);var p=d.length,m=h.length,f=0,g=1,_=i.x!==t.x||i.y!==t.y||i.z!==t.z,y=!1,C=!1,v=!1;_&&(g=2,0<a&&(y=!0,f+=l-1),o<Math.PI&&(C=!0,f+=l-1),(n-r)%CesiumMath.TWO_PI?(v=!0,f+=2*(c-1)+1):f+=1);var S=m*p*g,T=new Float64Array(3*S),b=arrayFill(new Array(S),!1),x=arrayFill(new Array(S),!1),E=l*c*g,f=6*(E+f+1-(l+c)*g),P=IndexDatatype$1.createTypedArray(E,f),A=s.normal?new Float32Array(3*S):void 0,w=s.tangent?new Float32Array(3*S):void 0,D=s.bitangent?new Float32Array(3*S):void 0,M=s.st?new Float32Array(2*S):void 0,I=new Array(p),R=new Array(p);for($=0;$<p;$++)I[$]=sin(d[$]),R[$]=cos(d[$]);for(var O=new Array(m),L=new Array(m),F=0;F<m;F++)L[F]=cos(h[F]),O[F]=sin(h[F]);for($=0;$<p;$++)for(F=0;F<m;F++)T[u++]=t.x*I[$]*L[F],T[u++]=t.y*I[$]*O[F],T[u++]=t.z*R[$];var N,B,V,k,z=S/2;if(_)for($=0;$<p;$++)for(F=0;F<m;F++)T[u++]=i.x*I[$]*L[F],T[u++]=i.y*I[$]*O[F],T[u++]=i.z*R[$],b[z]=!0,0<$&&$!==p-1&&0!==F&&F!==m-1&&(x[z]=!0),z++;for(u=0,$=1;$<p-2;$++)for(N=$*m,B=($+1)*m,F=1;F<m-2;F++)P[u++]=B+F,P[u++]=B+F+1,P[u++]=N+F+1,P[u++]=B+F,P[u++]=N+F+1,P[u++]=N+F;if(_)for(var U=p*m,$=1;$<p-2;$++)for(N=U+$*m,B=U+($+1)*m,F=1;F<m-2;F++)P[u++]=B+F,P[u++]=N+F,P[u++]=N+F+1,P[u++]=B+F,P[u++]=N+F+1,P[u++]=B+F+1;if(_){if(y)for(k=p*m,$=1;$<m-2;$++)P[u++]=$,P[u++]=$+1,P[u++]=k+$+1,P[u++]=$,P[u++]=k+$+1,P[u++]=k+$;if(C)for(V=p*m-m,k=p*m*g-m,$=1;$<m-2;$++)P[u++]=V+$+1,P[u++]=V+$,P[u++]=k+$,P[u++]=V+$+1,P[u++]=k+$,P[u++]=k+$+1}if(v){for($=1;$<p-2;$++)k=m*p+m*$,V=m*$,P[u++]=k,P[u++]=V+m,P[u++]=V,P[u++]=k,P[u++]=k+m,P[u++]=V+m;for($=1;$<p-2;$++)k=m*p+m*($+1)-1,V=m*($+1)-1,P[u++]=V+m,P[u++]=k,P[u++]=V,P[u++]=V+m,P[u++]=k+m,P[u++]=k}g=new GeometryAttributes;s.position&&(g.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:T}));var G=0,H=0,W=0,q=0,j=S/2,Y=Ellipsoid.fromCartesian3(t),X=Ellipsoid.fromCartesian3(i);if(s.st||s.normal||s.tangent||s.bitangent){for($=0;$<S;$++){Z=b[$]?X:Y;var Q,J=Cartesian3.fromArray(T,3*$,scratchPosition$1),Z=Z.geodeticSurfaceNormal(J,scratchNormal$4);x[$]&&Cartesian3.negate(Z,Z),s.st&&(Q=Cartesian2.negate(Z,scratchNormalST),M[G++]=Math.atan2(Q.y,Q.x)/CesiumMath.TWO_PI+.5,M[G++]=Math.asin(Z.z)/Math.PI+.5),s.normal&&(A[H++]=Z.x,A[H++]=Z.y,A[H++]=Z.z),(s.tangent||s.bitangent)&&(J=scratchTangent$2,Q=0,b[$]&&(Q=j),Q=!y&&Q<=$&&$<Q+2*m?Cartesian3.UNIT_X:Cartesian3.UNIT_Z,Cartesian3.cross(Q,Z,J),Cartesian3.normalize(J,J),s.tangent&&(w[W++]=J.x,w[W++]=J.y,w[W++]=J.z),s.bitangent&&(J=Cartesian3.cross(Z,J,scratchBitangent$2),Cartesian3.normalize(J,J),D[q++]=J.x,D[q++]=J.y,D[q++]=J.z))}s.st&&(g.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:M})),s.normal&&(g.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:A})),s.tangent&&(g.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:w})),s.bitangent&&(g.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:D}))}return defined(e._offsetAttribute)&&(v=T.length,arrayFill(v=new Uint8Array(v/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),g.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:v})),new Geometry({attributes:g,indices:P,primitiveType:PrimitiveType$1.TRIANGLES,boundingSphere:BoundingSphere.fromEllipsoid(Y),offsetAttribute:e._offsetAttribute})}}},EllipsoidGeometry.getUnitEllipsoid=function(){return defined(unitEllipsoidGeometry)||(unitEllipsoidGeometry=EllipsoidGeometry.createGeometry(new EllipsoidGeometry({radii:new Cartesian3(1,1,1),vertexFormat:VertexFormat.POSITION_ONLY}))),unitEllipsoidGeometry};var defaultRadii$1=new Cartesian3(1,1,1),cos$1=Math.cos,sin$1=Math.sin;function EllipsoidOutlineGeometry(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.radii,defaultRadii$1),i=defaultValue(e.innerRadii,t),r=defaultValue(e.minimumClock,0),n=defaultValue(e.maximumClock,CesiumMath.TWO_PI),a=defaultValue(e.minimumCone,0),o=defaultValue(e.maximumCone,CesiumMath.PI),s=Math.round(defaultValue(e.stackPartitions,10)),l=Math.round(defaultValue(e.slicePartitions,8)),c=Math.round(defaultValue(e.subdivisions,128));this._radii=Cartesian3.clone(t),this._innerRadii=Cartesian3.clone(i),this._minimumClock=r,this._maximumClock=n,this._minimumCone=a,this._maximumCone=o,this._stackPartitions=s,this._slicePartitions=l,this._subdivisions=c,this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}EllipsoidOutlineGeometry.packedLength=2*Cartesian3.packedLength+8,EllipsoidOutlineGeometry.pack=function(e,t,i){return i=defaultValue(i,0),Cartesian3.pack(e._radii,t,i),i+=Cartesian3.packedLength,Cartesian3.pack(e._innerRadii,t,i),i+=Cartesian3.packedLength,t[i++]=e._minimumClock,t[i++]=e._maximumClock,t[i++]=e._minimumCone,t[i++]=e._maximumCone,t[i++]=e._stackPartitions,t[i++]=e._slicePartitions,t[i++]=e._subdivisions,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchRadii$1=new Cartesian3,scratchInnerRadii$1=new Cartesian3,scratchOptions$d={radii:scratchRadii$1,innerRadii:scratchInnerRadii$1,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};function EllipsoidTerrainProvider(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._tilingScheme=e.tilingScheme,defined(this._tilingScheme)||(this._tilingScheme=new GeographicTilingScheme({ellipsoid:defaultValue(e.ellipsoid,Ellipsoid.WGS84)})),this._levelZeroMaximumGeometricError=TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new Event,this._readyPromise=when.resolve(!0)}function EventHelper(){this._removalFunctions=[]}EllipsoidOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=Cartesian3.unpack(e,t,scratchRadii$1);t+=Cartesian3.packedLength;var n=Cartesian3.unpack(e,t,scratchInnerRadii$1);t+=Cartesian3.packedLength;var a=e[t++],o=e[t++],s=e[t++],l=e[t++],c=e[t++],u=e[t++],d=e[t++],t=e[t];return defined(i)?(i._radii=Cartesian3.clone(r,i._radii),i._innerRadii=Cartesian3.clone(n,i._innerRadii),i._minimumClock=a,i._maximumClock=o,i._minimumCone=s,i._maximumCone=l,i._stackPartitions=c,i._slicePartitions=u,i._subdivisions=d,i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions$d.minimumClock=a,scratchOptions$d.maximumClock=o,scratchOptions$d.minimumCone=s,scratchOptions$d.maximumCone=l,scratchOptions$d.stackPartitions=c,scratchOptions$d.slicePartitions=u,scratchOptions$d.subdivisions=d,scratchOptions$d.offsetAttribute=-1===t?void 0:t,new EllipsoidOutlineGeometry(scratchOptions$d))},EllipsoidOutlineGeometry.createGeometry=function(e){var t=e._radii;if(!(t.x<=0||t.y<=0||t.z<=0)){var i=e._innerRadii;if(!(i.x<=0||i.y<=0||i.z<=0)){var r=e._minimumClock,n=e._maximumClock,a=e._minimumCone,o=e._maximumCone,s=e._subdivisions,l=Ellipsoid.fromCartesian3(t),c=e._slicePartitions+1,u=e._stackPartitions+1;(c=Math.round(c*Math.abs(n-r)/CesiumMath.TWO_PI))<2&&(c=2),(u=Math.round(u*Math.abs(o-a)/CesiumMath.PI))<2&&(u=2);var d=0,h=1,p=i.x!==t.x||i.y!==t.y||i.z!==t.z,m=!1,f=!1;p&&(h=2,0<a&&(m=!0,d+=c),o<Math.PI&&(f=!0,d+=c));for(var g,_,y=s*h*(u+c),C=new Float64Array(3*y),d=2*(y+d-(c+u)*h),v=IndexDatatype$1.createTypedArray(y,d),S=0,T=new Array(u),b=new Array(u),x=0;x<u;x++)_=a+x*(o-a)/(u-1),T[x]=sin$1(_),b[x]=cos$1(_);var E=new Array(s),P=new Array(s);for(x=0;x<s;x++)g=r+x*(n-r)/(s-1),E[x]=sin$1(g),P[x]=cos$1(g);for(x=0;x<u;x++)for(w=0;w<s;w++)C[S++]=t.x*T[x]*P[w],C[S++]=t.y*T[x]*E[w],C[S++]=t.z*b[x];if(p)for(x=0;x<u;x++)for(w=0;w<s;w++)C[S++]=i.x*T[x]*P[w],C[S++]=i.y*T[x]*E[w],C[S++]=i.z*b[x];for(T.length=s,b.length=s,x=0;x<s;x++)_=a+x*(o-a)/(s-1),T[x]=sin$1(_),b[x]=cos$1(_);for(E.length=c,P.length=c,x=0;x<c;x++)g=r+x*(n-r)/(c-1),E[x]=sin$1(g),P[x]=cos$1(g);for(x=0;x<s;x++)for(w=0;w<c;w++)C[S++]=t.x*T[x]*P[w],C[S++]=t.y*T[x]*E[w],C[S++]=t.z*b[x];if(p)for(x=0;x<s;x++)for(w=0;w<c;w++)C[S++]=i.x*T[x]*P[w],C[S++]=i.y*T[x]*E[w],C[S++]=i.z*b[x];for(x=S=0;x<u*h;x++)for(var A=x*s,w=0;w<s-1;w++)v[S++]=A+w,v[S++]=A+w+1;var D=u*s*h;for(x=0;x<c;x++)for(w=0;w<s-1;w++)v[S++]=D+x+w*c,v[S++]=D+x+(w+1)*c;if(p)for(D=u*s*h+c*s,x=0;x<c;x++)for(w=0;w<s-1;w++)v[S++]=D+x+w*c,v[S++]=D+x+(w+1)*c;if(p){var M=u*s*h,I=M+s*c;if(m)for(x=0;x<c;x++)v[S++]=M+x,v[S++]=I+x;if(f)for(M+=s*c-c,I+=s*c-c,x=0;x<c;x++)v[S++]=M+x,v[S++]=I+x}m=new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:C})});return defined(e._offsetAttribute)&&(f=C.length,arrayFill(f=new Uint8Array(f/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),m.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})),new Geometry({attributes:m,indices:v,primitiveType:PrimitiveType$1.LINES,boundingSphere:BoundingSphere.fromEllipsoid(l),offsetAttribute:e._offsetAttribute})}}},Object.defineProperties(EllipsoidTerrainProvider.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}}),EllipsoidTerrainProvider.prototype.requestTileGeometry=function(e,t,i,r){return when.resolve(new HeightmapTerrainData({buffer:new Uint8Array(256),width:16,height:16}))},EllipsoidTerrainProvider.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)},EllipsoidTerrainProvider.prototype.getTileDataAvailable=function(e,t,i){},EllipsoidTerrainProvider.prototype.loadTileDataAvailability=function(e,t,i){},EventHelper.prototype.add=function(e,t,i){var r=e.addEventListener(t,i);this._removalFunctions.push(r);var n=this;return function(){r();var e=n._removalFunctions;e.splice(e.indexOf(r),1)}},EventHelper.prototype.removeAll=function(){for(var e=this._removalFunctions,t=0,i=e.length;t<i;++t)e[t]();e.length=0};var ExtrapolationType={NONE:0,HOLD:1,EXTRAPOLATE:2},ExtrapolationType$1=Object.freeze(ExtrapolationType);function OrthographicOffCenterFrustum(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=defaultValue(e.near,1),this._near=this.near,this.far=defaultValue(e.far,5e8),this._far=this.far,this._cullingVolume=new CullingVolume,this._orthographicMatrix=new Matrix4}function update(e){e.top===e._top&&e.bottom===e._bottom&&e.left===e._left&&e.right===e._right&&e.near===e._near&&e.far===e._far||(e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=Matrix4.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix))}Object.defineProperties(OrthographicOffCenterFrustum.prototype,{projectionMatrix:{get:function(){return update(this),this._orthographicMatrix}}});var getPlanesRight=new Cartesian3,getPlanesNearCenter=new Cartesian3,getPlanesPoint=new Cartesian3,negateScratch=new Cartesian3;function OrthographicFrustum(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._offCenterFrustum=new OrthographicOffCenterFrustum,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=defaultValue(e.near,1),this._near=this.near,this.far=defaultValue(e.far,5e8),this._far=this.far}function update$1(e){var t,i=e._offCenterFrustum;e.width===e._width&&e.aspectRatio===e._aspectRatio&&e.near===e._near&&e.far===e._far||(e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far,t=1/e.aspectRatio,i.right=.5*e.width,i.left=-i.right,i.top=t*i.right,i.bottom=-i.top,i.near=e.near,i.far=e.far)}function PerspectiveOffCenterFrustum(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=defaultValue(e.near,1),this._near=this.near,this.far=defaultValue(e.far,5e8),this._far=this.far,this._cullingVolume=new CullingVolume,this._perspectiveMatrix=new Matrix4,this._infinitePerspective=new Matrix4}function update$2(e){var t=e.top,i=e.bottom,r=e.right,n=e.left,a=e.near,o=e.far;t===e._top&&i===e._bottom&&n===e._left&&r===e._right&&a===e._near&&o===e._far||(e._left=n,e._right=r,e._top=t,e._bottom=i,e._near=a,e._far=o,e._perspectiveMatrix=Matrix4.computePerspectiveOffCenter(n,r,i,t,a,o,e._perspectiveMatrix),e._infinitePerspective=Matrix4.computeInfinitePerspectiveOffCenter(n,r,i,t,a,e._infinitePerspective))}OrthographicOffCenterFrustum.prototype.computeCullingVolume=function(e,t,i){var r=this._cullingVolume.planes,n=this.top,a=this.bottom,o=this.right,s=this.left,l=this.near,c=this.far,u=Cartesian3.cross(t,i,getPlanesRight);Cartesian3.normalize(u,u);var d=getPlanesNearCenter;Cartesian3.multiplyByScalar(t,l,d),Cartesian3.add(e,d,d);l=getPlanesPoint;Cartesian3.multiplyByScalar(u,s,l),Cartesian3.add(d,l,l);s=r[0];return defined(s)||(s=r[0]=new Cartesian4),s.x=u.x,s.y=u.y,s.z=u.z,s.w=-Cartesian3.dot(u,l),Cartesian3.multiplyByScalar(u,o,l),Cartesian3.add(d,l,l),defined(s=r[1])||(s=r[1]=new Cartesian4),s.x=-u.x,s.y=-u.y,s.z=-u.z,s.w=-Cartesian3.dot(Cartesian3.negate(u,negateScratch),l),Cartesian3.multiplyByScalar(i,a,l),Cartesian3.add(d,l,l),defined(s=r[2])||(s=r[2]=new Cartesian4),s.x=i.x,s.y=i.y,s.z=i.z,s.w=-Cartesian3.dot(i,l),Cartesian3.multiplyByScalar(i,n,l),Cartesian3.add(d,l,l),defined(s=r[3])||(s=r[3]=new Cartesian4),s.x=-i.x,s.y=-i.y,s.z=-i.z,s.w=-Cartesian3.dot(Cartesian3.negate(i,negateScratch),l),defined(s=r[4])||(s=r[4]=new Cartesian4),s.x=t.x,s.y=t.y,s.z=t.z,s.w=-Cartesian3.dot(t,d),Cartesian3.multiplyByScalar(t,c,l),Cartesian3.add(e,l,l),defined(s=r[5])||(s=r[5]=new Cartesian4),s.x=-t.x,s.y=-t.y,s.z=-t.z,s.w=-Cartesian3.dot(Cartesian3.negate(t,negateScratch),l),this._cullingVolume},OrthographicOffCenterFrustum.prototype.getPixelDimensions=function(e,t,i,r,n){update(this);e=r*(this.right-this.left)/e,t=r*(this.top-this.bottom)/t;return n.x=e,n.y=t,n},OrthographicOffCenterFrustum.prototype.clone=function(e){return defined(e)||(e=new OrthographicOffCenterFrustum),e.left=this.left,e.right=this.right,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e},OrthographicOffCenterFrustum.prototype.equals=function(e){return defined(e)&&e instanceof OrthographicOffCenterFrustum&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far},OrthographicOffCenterFrustum.prototype.equalsEpsilon=function(e,t,i){return e===this||defined(e)&&e instanceof OrthographicOffCenterFrustum&&CesiumMath.equalsEpsilon(this.right,e.right,t,i)&&CesiumMath.equalsEpsilon(this.left,e.left,t,i)&&CesiumMath.equalsEpsilon(this.top,e.top,t,i)&&CesiumMath.equalsEpsilon(this.bottom,e.bottom,t,i)&&CesiumMath.equalsEpsilon(this.near,e.near,t,i)&&CesiumMath.equalsEpsilon(this.far,e.far,t,i)},OrthographicFrustum.packedLength=4,OrthographicFrustum.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.width,t[i++]=e.aspectRatio,t[i++]=e.near,t[i]=e.far,t},OrthographicFrustum.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new OrthographicFrustum),i.width=e[t++],i.aspectRatio=e[t++],i.near=e[t++],i.far=e[t],i},Object.defineProperties(OrthographicFrustum.prototype,{projectionMatrix:{get:function(){return update$1(this),this._offCenterFrustum.projectionMatrix}}}),OrthographicFrustum.prototype.computeCullingVolume=function(e,t,i){return update$1(this),this._offCenterFrustum.computeCullingVolume(e,t,i)},OrthographicFrustum.prototype.getPixelDimensions=function(e,t,i,r,n){return update$1(this),this._offCenterFrustum.getPixelDimensions(e,t,i,r,n)},OrthographicFrustum.prototype.clone=function(e){return defined(e)||(e=new OrthographicFrustum),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e},OrthographicFrustum.prototype.equals=function(e){return!!(defined(e)&&e instanceof OrthographicFrustum)&&(update$1(this),update$1(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))},OrthographicFrustum.prototype.equalsEpsilon=function(e,t,i){return!!(defined(e)&&e instanceof OrthographicFrustum)&&(update$1(this),update$1(e),CesiumMath.equalsEpsilon(this.width,e.width,t,i)&&CesiumMath.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,i)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,i))},Object.defineProperties(PerspectiveOffCenterFrustum.prototype,{projectionMatrix:{get:function(){return update$2(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return update$2(this),this._infinitePerspective}}});var getPlanesRight$1=new Cartesian3,getPlanesNearCenter$1=new Cartesian3,getPlanesFarCenter=new Cartesian3,getPlanesNormal=new Cartesian3;function PerspectiveFrustum(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._offCenterFrustum=new PerspectiveOffCenterFrustum,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=defaultValue(e.near,1),this._near=this.near,this.far=defaultValue(e.far,5e8),this._far=this.far,this.xOffset=defaultValue(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=defaultValue(e.yOffset,0),this._yOffset=this.yOffset}function update$3(e){var t=e._offCenterFrustum;e.fov===e._fov&&e.aspectRatio===e._aspectRatio&&e.near===e._near&&e.far===e._far&&e.xOffset===e._xOffset&&e.yOffset===e._yOffset||(e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:2*Math.atan(Math.tan(.5*e.fov)/e.aspectRatio),e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset,t.top=e.near*Math.tan(.5*e._fovy),t.bottom=-t.top,t.right=e.aspectRatio*t.top,t.left=-t.right,t.near=e.near,t.far=e.far,t.right+=e.xOffset,t.left+=e.xOffset,t.top+=e.yOffset,t.bottom+=e.yOffset)}PerspectiveOffCenterFrustum.prototype.computeCullingVolume=function(e,t,i){var r=this._cullingVolume.planes,n=this.top,a=this.bottom,o=this.right,s=this.left,l=this.near,c=this.far,u=Cartesian3.cross(t,i,getPlanesRight$1),d=getPlanesNearCenter$1;Cartesian3.multiplyByScalar(t,l,d),Cartesian3.add(e,d,d);l=getPlanesFarCenter;Cartesian3.multiplyByScalar(t,c,l),Cartesian3.add(e,l,l);c=getPlanesNormal;Cartesian3.multiplyByScalar(u,s,c),Cartesian3.add(d,c,c),Cartesian3.subtract(c,e,c),Cartesian3.normalize(c,c),Cartesian3.cross(c,i,c),Cartesian3.normalize(c,c);s=r[0];return defined(s)||(s=r[0]=new Cartesian4),s.x=c.x,s.y=c.y,s.z=c.z,s.w=-Cartesian3.dot(c,e),Cartesian3.multiplyByScalar(u,o,c),Cartesian3.add(d,c,c),Cartesian3.subtract(c,e,c),Cartesian3.cross(i,c,c),Cartesian3.normalize(c,c),defined(s=r[1])||(s=r[1]=new Cartesian4),s.x=c.x,s.y=c.y,s.z=c.z,s.w=-Cartesian3.dot(c,e),Cartesian3.multiplyByScalar(i,a,c),Cartesian3.add(d,c,c),Cartesian3.subtract(c,e,c),Cartesian3.cross(u,c,c),Cartesian3.normalize(c,c),defined(s=r[2])||(s=r[2]=new Cartesian4),s.x=c.x,s.y=c.y,s.z=c.z,s.w=-Cartesian3.dot(c,e),Cartesian3.multiplyByScalar(i,n,c),Cartesian3.add(d,c,c),Cartesian3.subtract(c,e,c),Cartesian3.cross(c,u,c),Cartesian3.normalize(c,c),defined(s=r[3])||(s=r[3]=new Cartesian4),s.x=c.x,s.y=c.y,s.z=c.z,s.w=-Cartesian3.dot(c,e),defined(s=r[4])||(s=r[4]=new Cartesian4),s.x=t.x,s.y=t.y,s.z=t.z,s.w=-Cartesian3.dot(t,d),Cartesian3.negate(t,c),defined(s=r[5])||(s=r[5]=new Cartesian4),s.x=c.x,s.y=c.y,s.z=c.z,s.w=-Cartesian3.dot(c,l),this._cullingVolume},PerspectiveOffCenterFrustum.prototype.getPixelDimensions=function(e,t,i,r,n){update$2(this);var a=1/this.near,t=2*r*i*(this.top*a)/t,e=2*r*i*(this.right*a)/e;return n.x=e,n.y=t,n},PerspectiveOffCenterFrustum.prototype.clone=function(e){return defined(e)||(e=new PerspectiveOffCenterFrustum),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e},PerspectiveOffCenterFrustum.prototype.equals=function(e){return defined(e)&&e instanceof PerspectiveOffCenterFrustum&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far},PerspectiveOffCenterFrustum.prototype.equalsEpsilon=function(e,t,i){return e===this||defined(e)&&e instanceof PerspectiveOffCenterFrustum&&CesiumMath.equalsEpsilon(this.right,e.right,t,i)&&CesiumMath.equalsEpsilon(this.left,e.left,t,i)&&CesiumMath.equalsEpsilon(this.top,e.top,t,i)&&CesiumMath.equalsEpsilon(this.bottom,e.bottom,t,i)&&CesiumMath.equalsEpsilon(this.near,e.near,t,i)&&CesiumMath.equalsEpsilon(this.far,e.far,t,i)},PerspectiveFrustum.packedLength=6,PerspectiveFrustum.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.fov,t[i++]=e.aspectRatio,t[i++]=e.near,t[i++]=e.far,t[i++]=e.xOffset,t[i]=e.yOffset,t},PerspectiveFrustum.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new PerspectiveFrustum),i.fov=e[t++],i.aspectRatio=e[t++],i.near=e[t++],i.far=e[t++],i.xOffset=e[t++],i.yOffset=e[t],i},Object.defineProperties(PerspectiveFrustum.prototype,{projectionMatrix:{get:function(){return update$3(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return update$3(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return update$3(this),this._fovy}},sseDenominator:{get:function(){return update$3(this),this._sseDenominator}}}),PerspectiveFrustum.prototype.computeCullingVolume=function(e,t,i){return update$3(this),this._offCenterFrustum.computeCullingVolume(e,t,i)},PerspectiveFrustum.prototype.getPixelDimensions=function(e,t,i,r,n){return update$3(this),this._offCenterFrustum.getPixelDimensions(e,t,i,r,n)},PerspectiveFrustum.prototype.clone=function(e){return defined(e)||(e=new PerspectiveFrustum),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e},PerspectiveFrustum.prototype.equals=function(e){return!!(defined(e)&&e instanceof PerspectiveFrustum)&&(update$3(this),update$3(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))},PerspectiveFrustum.prototype.equalsEpsilon=function(e,t,i){return!!(defined(e)&&e instanceof PerspectiveFrustum)&&(update$3(this),update$3(e),CesiumMath.equalsEpsilon(this.fov,e.fov,t,i)&&CesiumMath.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,i)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,i))};var PERSPECTIVE=0,ORTHOGRAPHIC=1;function FrustumGeometry(e){var t,i,r=e.frustum,n=e.orientation,a=e.origin,o=defaultValue(e.vertexFormat,VertexFormat.DEFAULT),e=defaultValue(e._drawNearPlane,!0);r instanceof PerspectiveFrustum?(t=PERSPECTIVE,i=PerspectiveFrustum.packedLength):r instanceof OrthographicFrustum&&(t=ORTHOGRAPHIC,i=OrthographicFrustum.packedLength),this._frustumType=t,this._frustum=r.clone(),this._origin=Cartesian3.clone(a),this._orientation=Quaternion.clone(n),this._drawNearPlane=e,this._vertexFormat=o,this._workerName="createFrustumGeometry",this.packedLength=2+i+Cartesian3.packedLength+Quaternion.packedLength+VertexFormat.packedLength}FrustumGeometry.pack=function(e,t,i){i=defaultValue(i,0);var r=e._frustumType,n=e._frustum;return(t[i++]=r)===PERSPECTIVE?(PerspectiveFrustum.pack(n,t,i),i+=PerspectiveFrustum.packedLength):(OrthographicFrustum.pack(n,t,i),i+=OrthographicFrustum.packedLength),Cartesian3.pack(e._origin,t,i),i+=Cartesian3.packedLength,Quaternion.pack(e._orientation,t,i),i+=Quaternion.packedLength,VertexFormat.pack(e._vertexFormat,t,i),t[i+=VertexFormat.packedLength]=e._drawNearPlane?1:0,t};var scratchPackPerspective=new PerspectiveFrustum,scratchPackOrthographic=new OrthographicFrustum,scratchPackQuaternion=new Quaternion,scratchPackorigin=new Cartesian3,scratchVertexFormat$6=new VertexFormat;function getAttributes(e,t,i,r,n,a,o,s){for(var l=e/3*2,c=0;c<4;++c)defined(t)&&(t[e]=a.x,t[e+1]=a.y,t[e+2]=a.z),defined(i)&&(i[e]=o.x,i[e+1]=o.y,i[e+2]=o.z),defined(r)&&(r[e]=s.x,r[e+1]=s.y,r[e+2]=s.z),e+=3;n[l]=0,n[1+l]=0,n[2+l]=1,n[3+l]=0,n[4+l]=1,n[5+l]=1,n[6+l]=0,n[7+l]=1}FrustumGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r,n=e[t++];n===PERSPECTIVE?(r=PerspectiveFrustum.unpack(e,t,scratchPackPerspective),t+=PerspectiveFrustum.packedLength):(r=OrthographicFrustum.unpack(e,t,scratchPackOrthographic),t+=OrthographicFrustum.packedLength);var a=Cartesian3.unpack(e,t,scratchPackorigin);t+=Cartesian3.packedLength;var o=Quaternion.unpack(e,t,scratchPackQuaternion);t+=Quaternion.packedLength;var s=VertexFormat.unpack(e,t,scratchVertexFormat$6),e=1===e[t+=VertexFormat.packedLength];if(!defined(i))return new FrustumGeometry({frustum:r,origin:a,orientation:o,vertexFormat:s,_drawNearPlane:e});t=n===i._frustumType?i._frustum:void 0;return i._frustum=r.clone(t),i._frustumType=n,i._origin=Cartesian3.clone(a,i._origin),i._orientation=Quaternion.clone(o,i._orientation),i._vertexFormat=VertexFormat.clone(s,i._vertexFormat),i._drawNearPlane=e,i};var scratchRotationMatrix=new Matrix3,scratchViewMatrix=new Matrix4,scratchInverseMatrix=new Matrix4,scratchXDirection=new Cartesian3,scratchYDirection=new Cartesian3,scratchZDirection=new Cartesian3,scratchNegativeX=new Cartesian3,scratchNegativeY=new Cartesian3,scratchNegativeZ=new Cartesian3,frustumSplits=new Array(3),frustumCornersNDC=new Array(4);frustumCornersNDC[0]=new Cartesian4(-1,-1,1,1),frustumCornersNDC[1]=new Cartesian4(1,-1,1,1),frustumCornersNDC[2]=new Cartesian4(1,1,1,1),frustumCornersNDC[3]=new Cartesian4(-1,1,1,1);for(var scratchFrustumCorners=new Array(4),i$1=0;i$1<4;++i$1)scratchFrustumCorners[i$1]=new Cartesian4;FrustumGeometry._computeNearFarPlanes=function(e,t,i,r,n,a,o,s){var t=Matrix3.fromQuaternion(t,scratchRotationMatrix),a=defaultValue(a,scratchXDirection),o=defaultValue(o,scratchYDirection),l=defaultValue(s,scratchZDirection),a=Matrix3.getColumn(t,0,a),o=Matrix3.getColumn(t,1,o),l=Matrix3.getColumn(t,2,l);Cartesian3.normalize(a,a),Cartesian3.normalize(o,o),Cartesian3.normalize(l,l),Cartesian3.negate(a,a);var c,u,a=Matrix4.computeView(e,l,o,a,scratchViewMatrix);i===PERSPECTIVE?(i=r.projectionMatrix,i=Matrix4.multiply(i,a,scratchInverseMatrix),u=Matrix4.inverse(i,scratchInverseMatrix)):c=Matrix4.inverseTransformation(a,scratchInverseMatrix),defined(u)?(frustumSplits[0]=r.near,frustumSplits[1]=r.far):(frustumSplits[0]=0,frustumSplits[1]=r.near,frustumSplits[2]=r.far);for(var d=0;d<2;++d)for(var h=0;h<4;++h){var p,m,f=Cartesian4.clone(frustumCornersNDC[h],scratchFrustumCorners[h]);defined(u)?(p=1/(f=Matrix4.multiplyByVector(u,f,f)).w,Cartesian3.multiplyByScalar(f,p,f),Cartesian3.subtract(f,e,f),Cartesian3.normalize(f,f),m=Cartesian3.dot(l,f),Cartesian3.multiplyByScalar(f,frustumSplits[d]/m,f),Cartesian3.add(f,e,f)):(defined(r._offCenterFrustum)&&(r=r._offCenterFrustum),p=frustumSplits[d],m=frustumSplits[d+1],f.x=.5*(f.x*(r.right-r.left)+r.left+r.right),f.y=.5*(f.y*(r.top-r.bottom)+r.bottom+r.top),f.z=.5*(f.z*(p-m)-p-m),f.w=1,Matrix4.multiplyByVector(c,f,f)),n[12*d+3*h]=f.x,n[12*d+3*h+1]=f.y,n[12*d+3*h+2]=f.z}},FrustumGeometry.createGeometry=function(e){var t=e._frustumType,i=e._frustum,r=e._origin,n=e._orientation,a=e._drawNearPlane,o=e._vertexFormat,s=a?6:5,l=new Float64Array(72);FrustumGeometry._computeNearFarPlanes(r,n,t,i,l);var c=24;l[c]=l[12],l[c+1]=l[13],l[c+2]=l[14],l[c+3]=l[0],l[c+4]=l[1],l[c+5]=l[2],l[c+6]=l[9],l[c+7]=l[10],l[c+8]=l[11],l[c+9]=l[21],l[c+10]=l[22],l[c+11]=l[23],l[c+=12]=l[15],l[c+1]=l[16],l[c+2]=l[17],l[c+3]=l[3],l[c+4]=l[4],l[c+5]=l[5],l[c+6]=l[0],l[c+7]=l[1],l[c+8]=l[2],l[c+9]=l[12],l[c+10]=l[13],l[c+11]=l[14],l[c+=12]=l[3],l[c+1]=l[4],l[c+2]=l[5],l[c+3]=l[15],l[c+4]=l[16],l[c+5]=l[17],l[c+6]=l[18],l[c+7]=l[19],l[c+8]=l[20],l[c+9]=l[6],l[c+10]=l[7],l[c+11]=l[8],l[c+=12]=l[6],l[c+1]=l[7],l[c+2]=l[8],l[c+3]=l[18],l[c+4]=l[19],l[c+5]=l[20],l[c+6]=l[21],l[c+7]=l[22],l[c+8]=l[23],l[c+9]=l[9],l[c+10]=l[10],l[c+11]=l[11],a||(l=l.subarray(12));var u,d,h,p,m=new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:l})});(defined(o.normal)||defined(o.tangent)||defined(o.bitangent)||defined(o.st))&&(u=defined(o.normal)?new Float32Array(12*s):void 0,d=defined(o.tangent)?new Float32Array(12*s):void 0,h=defined(o.bitangent)?new Float32Array(12*s):void 0,p=defined(o.st)?new Float32Array(8*s):void 0,e=scratchXDirection,r=scratchYDirection,n=scratchZDirection,t=Cartesian3.negate(e,scratchNegativeX),i=Cartesian3.negate(r,scratchNegativeY),o=Cartesian3.negate(n,scratchNegativeZ),c=0,a&&(getAttributes(c,u,d,h,p,o,e,r),c+=12),getAttributes(c,u,d,h,p,n,t,r),getAttributes(c+=12,u,d,h,p,t,o,r),getAttributes(c+=12,u,d,h,p,i,o,t),getAttributes(c+=12,u,d,h,p,e,n,r),getAttributes(c+=12,u,d,h,p,r,n,t),defined(u)&&(m.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:u})),defined(d)&&(m.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:d})),defined(h)&&(m.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:h})),defined(p)&&(m.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:p})));for(var f=new Uint16Array(6*s),g=0;g<s;++g){var _=6*g,y=4*g;f[_]=y,f[1+_]=1+y,f[2+_]=2+y,f[3+_]=y,f[4+_]=2+y,f[5+_]=3+y}return new Geometry({attributes:m,indices:f,primitiveType:PrimitiveType$1.TRIANGLES,boundingSphere:BoundingSphere.fromVertices(l)})};var PERSPECTIVE$1=0,ORTHOGRAPHIC$1=1;function FrustumOutlineGeometry(e){var t,i,r=e.frustum,n=e.orientation,a=e.origin,e=defaultValue(e._drawNearPlane,!0);r instanceof PerspectiveFrustum?(t=PERSPECTIVE$1,i=PerspectiveFrustum.packedLength):r instanceof OrthographicFrustum&&(t=ORTHOGRAPHIC$1,i=OrthographicFrustum.packedLength),this._frustumType=t,this._frustum=r.clone(),this._origin=Cartesian3.clone(a),this._orientation=Quaternion.clone(n),this._drawNearPlane=e,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+i+Cartesian3.packedLength+Quaternion.packedLength}FrustumOutlineGeometry.pack=function(e,t,i){i=defaultValue(i,0);var r=e._frustumType,n=e._frustum;return(t[i++]=r)===PERSPECTIVE$1?(PerspectiveFrustum.pack(n,t,i),i+=PerspectiveFrustum.packedLength):(OrthographicFrustum.pack(n,t,i),i+=OrthographicFrustum.packedLength),Cartesian3.pack(e._origin,t,i),i+=Cartesian3.packedLength,Quaternion.pack(e._orientation,t,i),t[i+=Quaternion.packedLength]=e._drawNearPlane?1:0,t};var scratchPackPerspective$1=new PerspectiveFrustum,scratchPackOrthographic$1=new OrthographicFrustum,scratchPackQuaternion$1=new Quaternion,scratchPackorigin$1=new Cartesian3;function GeocoderService(){}FrustumOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r,n=e[t++];n===PERSPECTIVE$1?(r=PerspectiveFrustum.unpack(e,t,scratchPackPerspective$1),t+=PerspectiveFrustum.packedLength):(r=OrthographicFrustum.unpack(e,t,scratchPackOrthographic$1),t+=OrthographicFrustum.packedLength);var a=Cartesian3.unpack(e,t,scratchPackorigin$1);t+=Cartesian3.packedLength;var o=Quaternion.unpack(e,t,scratchPackQuaternion$1),e=1===e[t+=Quaternion.packedLength];if(!defined(i))return new FrustumOutlineGeometry({frustum:r,origin:a,orientation:o,_drawNearPlane:e});t=n===i._frustumType?i._frustum:void 0;return i._frustum=r.clone(t),i._frustumType=n,i._origin=Cartesian3.clone(a,i._origin),i._orientation=Quaternion.clone(o,i._orientation),i._drawNearPlane=e,i},FrustumOutlineGeometry.createGeometry=function(e){var t=e._frustumType,i=e._frustum,r=e._origin,n=e._orientation,a=e._drawNearPlane,e=new Float64Array(24);FrustumGeometry._computeNearFarPlanes(r,n,t,i,e);for(var o,s,i=new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:e})}),l=a?2:1,c=new Uint16Array(8*(1+l)),u=a?0:1;u<2;++u)s=4*u,c[o=a?8*u:0]=s,c[o+1]=s+1,c[o+2]=s+1,c[o+3]=s+2,c[o+4]=s+2,c[o+5]=s+3,c[o+6]=s+3,c[o+7]=s;for(u=0;u<2;++u)s=4*u,c[o=8*(l+u)]=s,c[o+1]=s+4,c[o+2]=s+1,c[o+3]=s+5,c[o+4]=s+2,c[o+5]=s+6,c[o+6]=s+3,c[o+7]=s+7;return new Geometry({attributes:i,indices:c,primitiveType:PrimitiveType$1.LINES,boundingSphere:BoundingSphere.fromVertices(e)})},GeocoderService.prototype.geocode=DeveloperError.throwInstantiationError;var GeocodeType={SEARCH:0,AUTOCOMPLETE:1},GeocodeType$1=Object.freeze(GeocodeType);function GeometryFactory(){DeveloperError.throwInstantiationError()}function GeometryInstanceAttribute(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=defaultValue(e.normalize,!1),this.value=e.value}function getFilenameFromUri(e){var t=new URI(e);t.normalize();e=t.path,t=e.lastIndexOf("/");return-1!==t&&(e=e.substr(t+1)),e}GeometryFactory.createGeometry=function(e){DeveloperError.throwInstantiationError()};var context2DsByWidthAndHeight={};function getImagePixels(e,t,i){defined(t)||(t=e.width),defined(i)||(i=e.height);var r=context2DsByWidthAndHeight[t];defined(r)||(r={},context2DsByWidthAndHeight[t]=r);var n,a=r[i];return defined(a)||((n=document.createElement("canvas")).width=t,n.height=i,(a=n.getContext("2d")).globalCompositeOperation="copy",r[i]=a),a.drawImage(e,0,0,t,i),a.getImageData(0,0,t,i).data}function getMagic(e,t){return getStringFromTypedArray(e,t=defaultValue(t,0),Math.min(4,e.length))}var tmp$1={};!function(global,undefined$1){var NKb,OKb,PKb;NKb={1:[function(e,t,i){t.exports=function(e,t){for(var i=[],r=2;r<arguments.length;)i.push(arguments[r++]);var a=!0;return new Promise(function(r,n){i.push(function(e){if(a)if(a=!1,e)n(e);else{for(var t=[],i=1;i<arguments.length;)t.push(arguments[i++]);r.apply(null,t)}});try{e.apply(t||this,i)}catch(e){a&&(a=!1,n(e))}})}},{}],2:[function(e,t,i){i.length=function(e){var t=e.length;if(!t)return 0;for(var i=0;1<--t%4&&"="===e.charAt(t);)++i;return Math.ceil(3*e.length)/4-i};for(var l=new Array(64),c=new Array(123),r=0;r<64;)c[l[r]=r<26?r+65:r<52?r+71:r<62?r-4:r-59|43]=r++;i.encode=function(e,t,i){for(var r,n=[],a=0,o=0;t<i;){var s=e[t++];switch(o){case 0:n[a++]=l[s>>2],r=(3&s)<<4,o=1;break;case 1:n[a++]=l[r|s>>4],r=(15&s)<<2,o=2;break;case 2:n[a++]=l[r|s>>6],n[a++]=l[63&s],o=0}}return o&&(n[a++]=l[r],n[a]=61,1===o&&(n[a+1]=61)),String.fromCharCode.apply(String,n)};var u="invalid encoding";i.decode=function(e,t,i){for(var r,n=i,a=0,o=0;o<e.length;){var s=e.charCodeAt(o++);if(61===s&&1<a)break;if((s=c[s])===undefined$1)throw Error(u);switch(a){case 0:r=s,a=1;break;case 1:t[i++]=r<<2|(48&s)>>4,r=s,a=2;break;case 2:t[i++]=(15&r)<<4|(60&s)>>2,r=s,a=3;break;case 3:t[i++]=(3&r)<<6|s,a=0}}if(1===a)throw Error(u);return i-n},i.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},{}],3:[function(e,t,i){function r(){this._listeners={}}(t.exports=r).prototype.on=function(e,t,i){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:i||this}),this},r.prototype.off=function(e,t){if(e===undefined$1)this._listeners={};else if(t===undefined$1)this._listeners[e]=[];else for(var i=this._listeners[e],r=0;r<i.length;)i[r].fn===t?i.splice(r,1):++r;return this},r.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var i=[],r=1;r<arguments.length;)i.push(arguments[r++]);for(r=0;r<t.length;)t[r].fn.apply(t[r++].ctx,i)}return this}},{}],4:[function(require,module,exports){function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},{}],5:[function(e,t,i){t.exports=function(t,i,e){var r=e||8192,n=r>>>1,a=null,o=r;return function(e){if(e<1||n<e)return t(e);r<o+e&&(a=t(r),o=0);e=i.call(a,o,o+=e);return 7&o&&(o=1+(7|o)),e}}},{}],6:[function(e,t,i){i.length=function(e){for(var t,i=0,r=0;r<e.length;++r)(t=e.charCodeAt(r))<128?i+=1:t<2048?i+=2:55296==(64512&t)&&56320==(64512&e.charCodeAt(r+1))?(++r,i+=4):i+=3;return i},i.read=function(e,t,i){if(i-t<1)return"";for(var r,n=null,a=[],o=0;t<i;)(r=e[t++])<128?a[o++]=r:191<r&&r<224?a[o++]=(31&r)<<6|63&e[t++]:239<r&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,a[o++]=55296+(r>>10),a[o++]=56320+(1023&r)):a[o++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],8191<o&&((n=n||[]).push(String.fromCharCode.apply(String,a)),o=0);return n?(o&&n.push(String.fromCharCode.apply(String,a.slice(0,o))),n.join("")):String.fromCharCode.apply(String,a.slice(0,o))},i.write=function(e,t,i){for(var r,n,a=i,o=0;o<e.length;++o)(r=e.charCodeAt(o))<128?t[i++]=r:(r<2048?t[i++]=r>>6|192:(55296==(64512&r)&&56320==(64512&(n=e.charCodeAt(o+1)))?(r=65536+((1023&r)<<10)+(1023&n),++o,t[i++]=r>>18|240,t[i++]=r>>12&63|128):t[i++]=r>>12|224,t[i++]=r>>6&63|128),t[i++]=63&r|128);return i-a}},{}],7:[function(e,t,i){var r=i;function n(){r.Reader._configure(r.BufferReader),r.util._configure()}r.build="minimal",r.roots={},r.Writer=e(14),r.BufferWriter=e(15),r.Reader=e(8),r.BufferReader=e(9),r.util=e(13),r.rpc=e(10),r.configure=n,r.Writer._configure(r.BufferWriter),n()},{10:10,13:13,14:14,15:15,8:8,9:9}],8:[function(e,t,i){t.exports=l;var r,n=e(13),a=n.LongBits,o=n.utf8;function s(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function l(e){this.buf=e,this.pos=0,this.len=e.length}var c,u="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new l(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new l(e);throw Error("illegal buffer")};function d(){var e=new a(0,0),t=0;if(!(4<this.len-this.pos)){for(;t<3;++t){if(this.pos>=this.len)throw s(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,4<this.len-this.pos){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw s(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function h(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function p(){if(this.pos+8>this.len)throw s(this,8);return new a(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}l.create=n.Buffer?function(e){return(l.create=function(e){return n.Buffer.isBuffer(e)?new r(e):u(e)})(e)}:u,l.prototype._slice=n.Array.prototype.subarray||n.Array.prototype.slice,l.prototype.uint32=(c=4294967295,function(){if(c=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return c;if((this.pos+=5)>this.len)throw this.pos=this.len,s(this,10);return c}),l.prototype.int32=function(){return 0|this.uint32()},l.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},l.prototype.bool=function(){return 0!==this.uint32()},l.prototype.fixed32=function(){if(this.pos+4>this.len)throw s(this,4);return h(this.buf,this.pos+=4)},l.prototype.sfixed32=function(){if(this.pos+4>this.len)throw s(this,4);return 0|h(this.buf,this.pos+=4)};var m,f,g="undefined"!=typeof Float32Array?(m=new Float32Array(1),f=new Uint8Array(m.buffer),m[0]=-0,f[3]?function(e,t){return f[0]=e[t],f[1]=e[t+1],f[2]=e[t+2],f[3]=e[t+3],m[0]}:function(e,t){return f[0]=e[t+3],f[1]=e[t+2],f[2]=e[t+1],f[3]=e[t],m[0]}):function(e,t){var i=h(e,t+4),e=2*(i>>31)+1,t=i>>>23&255,i=8388607&i;return 255==t?i?NaN:1/0*e:0==t?1401298464324817e-60*e*i:e*Math.pow(2,t-150)*(8388608+i)};l.prototype.float=function(){if(this.pos+4>this.len)throw s(this,4);var e=g(this.buf,this.pos);return this.pos+=4,e};var _,y,C="undefined"!=typeof Float64Array?(_=new Float64Array(1),y=new Uint8Array(_.buffer),_[0]=-0,y[7]?function(e,t){return y[0]=e[t],y[1]=e[t+1],y[2]=e[t+2],y[3]=e[t+3],y[4]=e[t+4],y[5]=e[t+5],y[6]=e[t+6],y[7]=e[t+7],_[0]}:function(e,t){return y[0]=e[t+7],y[1]=e[t+6],y[2]=e[t+5],y[3]=e[t+4],y[4]=e[t+3],y[5]=e[t+2],y[6]=e[t+1],y[7]=e[t],_[0]}):function(e,t){var i=h(e,t+4),r=h(e,t+8),e=2*(r>>31)+1,t=r>>>20&2047,i=4294967296*(1048575&r)+i;return 2047==t?i?NaN:1/0*e:0==t?5e-324*e*i:e*Math.pow(2,t-1075)*(i+4503599627370496)};l.prototype.double=function(){if(this.pos+8>this.len)throw s(this,4);var e=C(this.buf,this.pos);return this.pos+=8,e},l.prototype.bytes=function(){var e=this.uint32(),t=this.pos,i=this.pos+e;if(i>this.len)throw s(this,e);return this.pos+=e,t===i?new this.buf.constructor(0):this._slice.call(this.buf,t,i)},l.prototype.string=function(){var e=this.bytes();return o.read(e,0,e.length)},l.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw s(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw s(this)}while(128&this.buf[this.pos++]);return this},l.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;;){if(4==(e=7&this.uint32()))break;this.skipType(e)}break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},l._configure=function(e){r=e;var t=n.Long?"toLong":"toNumber";n.merge(l.prototype,{int64:function(){return d.call(this)[t](!1)},uint64:function(){return d.call(this)[t](!0)},sint64:function(){return d.call(this).zzDecode()[t](!1)},fixed64:function(){return p.call(this)[t](!0)},sfixed64:function(){return p.call(this)[t](!1)}})}},{13:13}],9:[function(e,t,i){t.exports=n;var r=e(8);(n.prototype=Object.create(r.prototype)).constructor=n;e=e(13);function n(e){r.call(this,e)}e.Buffer&&(n.prototype._slice=e.Buffer.prototype.slice),n.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len))}},{13:13,8:8}],10:[function(e,t,i){i.Service=e(11)},{11:11}],11:[function(e,t,i){t.exports=r;var s=e(13);function r(e,t,i){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");s.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(i)}((r.prototype=Object.create(s.EventEmitter.prototype)).constructor=r).prototype.rpcCall=function e(i,t,r,n,a){if(!n)throw TypeError("request must be specified");var o=this;if(!a)return s.asPromise(e,o,i,t,r,n);if(!o.rpcImpl)return setTimeout(function(){a(Error("already ended"))},0),undefined$1;try{return o.rpcImpl(i,t[o.requestDelimited?"encodeDelimited":"encode"](n).finish(),function(e,t){if(e)return o.emit("error",e,i),a(e);if(null===t)return o.end(!0),undefined$1;if(!(t instanceof r))try{t=r[o.responseDelimited?"decodeDelimited":"decode"](t)}catch(e){return o.emit("error",e,i),a(e)}return o.emit("data",t,i),a(null,t)})}catch(e){return o.emit("error",e,i),setTimeout(function(){a(e)},0),undefined$1}},r.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{13:13}],12:[function(e,t,i){t.exports=n;var r=e(13);function n(e,t){this.lo=e>>>0,this.hi=t>>>0}var a=n.zero=new n(0,0);a.toNumber=function(){return 0},a.zzEncode=a.zzDecode=function(){return this},a.length=function(){return 1};n.zeroHash="\0\0\0\0\0\0\0\0";n.fromNumber=function(e){if(0===e)return a;var t=e<0;t&&(e=-e);var i=e>>>0,e=(e-i)/4294967296>>>0;return t&&(e=~e>>>0,i=~i>>>0,4294967295<++i&&(i=0,4294967295<++e&&(e=0))),new n(i,e)},n.from=function(e){if("number"==typeof e)return n.fromNumber(e);if(r.isString(e)){if(!r.Long)return n.fromNumber(parseInt(e,10));e=r.Long.fromString(e)}return e.low||e.high?new n(e.low>>>0,e.high>>>0):a},n.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,e=~this.hi>>>0;return t||(e=e+1>>>0),-(t+4294967296*e)}return this.lo+4294967296*this.hi},n.prototype.toLong=function(e){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var o=String.prototype.charCodeAt;n.fromHash=function(e){return"\0\0\0\0\0\0\0\0"===e?a:new n((o.call(e,0)|o.call(e,1)<<8|o.call(e,2)<<16|o.call(e,3)<<24)>>>0,(o.call(e,4)|o.call(e,5)<<8|o.call(e,6)<<16|o.call(e,7)<<24)>>>0)},n.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},n.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},n.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},n.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,i=this.hi>>>24;return 0==i?0==t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:i<128?9:10}},{13:13}],13:[function(e,t,i){var r=i;function n(e,t,i){for(var r=Object.keys(t),n=0;n<r.length;++n)e[r[n]]!==undefined$1&&i||(e[r[n]]=t[r[n]]);return e}function a(e){function i(e,t){if(!(this instanceof i))return new i(e,t);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,i):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),t&&n(this,t)}return(i.prototype=Object.create(Error.prototype)).constructor=i,Object.defineProperty(i.prototype,"name",{get:function(){return e}}),i.prototype.toString=function(){return this.name+": "+this.message},i}r.asPromise=e(1),r.base64=e(2),r.EventEmitter=e(3),r.inquire=e(4),r.utf8=e(6),r.pool=e(5),r.LongBits=e(12),r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isNode=Boolean(global.process&&global.process.versions&&global.process.versions.node),r.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},r.isString=function(e){return"string"==typeof e||e instanceof String},r.isObject=function(e){return e&&"object"==typeof e},r.Buffer=function(){try{var e=r.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(e){return"number"==typeof e?r.Buffer?r._Buffer_allocUnsafe(e):new r.Array(e):r.Buffer?r._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=global.dcodeIO&&global.dcodeIO.Long||r.inquire("long"),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(e){return e?r.LongBits.from(e).toHash():r.LongBits.zeroHash},r.longFromHash=function(e,t){e=r.LongBits.fromHash(e);return r.Long?r.Long.fromBits(e.lo,e.hi,t):e.toNumber(Boolean(t))},r.merge=n,r.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},r.newError=a,r.ProtocolError=a("ProtocolError"),r.oneOfGetter=function(e){for(var i={},t=0;t<e.length;++t)i[e[t]]=1;return function(){for(var e=Object.keys(this),t=e.length-1;-1<t;--t)if(1===i[e[t]]&&this[e[t]]!==undefined$1&&null!==this[e[t]])return e[t]}},r.oneOfSetter=function(i){return function(e){for(var t=0;t<i.length;++t)i[t]!==e&&delete this[i[t]]}},r.lazyResolve=function(e,t){for(var i=0;i<t.length;++i)for(var r=Object.keys(t[i]),n=0;n<r.length;++n){for(var a=t[i][r[n]].split("."),o=e;a.length;)o=o[a.shift()];t[i][r[n]]=o}},r.toJSONOptions={longs:String,enums:String,bytes:String},r._configure=function(){var i=r.Buffer;i?(r._Buffer_from=i.from!==Uint8Array.from&&i.from||function(e,t){return new i(e,t)},r._Buffer_allocUnsafe=i.allocUnsafe||function(e){return new i(e)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},{1:1,12:12,2:2,3:3,4:4,5:5,6:6}],14:[function(e,t,i){t.exports=d;var r,n=e(13),a=n.LongBits,o=n.base64,s=n.utf8;function l(e,t,i){this.fn=e,this.len=t,this.next=undefined$1,this.val=i}function c(){}function u(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function d(){this.len=0,this.head=new l(c,0,0),this.tail=this.head,this.states=null}function h(e,t,i){t[i]=255&e}function p(e,t){this.len=e,this.next=undefined$1,this.val=t}function m(e,t,i){for(;e.hi;)t[i++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;127<e.lo;)t[i++]=127&e.lo|128,e.lo=e.lo>>>7;t[i++]=e.lo}function f(e,t,i){t[i++]=255&e,t[i++]=e>>>8&255,t[i++]=e>>>16&255,t[i]=e>>>24}d.create=n.Buffer?function(){return(d.create=function(){return new r})()}:function(){return new d},d.alloc=function(e){return new n.Array(e)},n.Array!==Array&&(d.alloc=n.pool(d.alloc,n.Array.prototype.subarray)),d.prototype.push=function(e,t,i){return this.tail=this.tail.next=new l(e,t,i),this.len+=t,this},(p.prototype=Object.create(l.prototype)).fn=function(e,t,i){for(;127<e;)t[i++]=127&e|128,e>>>=7;t[i]=e},d.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new p((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},d.prototype.int32=function(e){return e<0?this.push(m,10,a.fromNumber(e)):this.uint32(e)},d.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},d.prototype.int64=d.prototype.uint64=function(e){e=a.from(e);return this.push(m,e.length(),e)},d.prototype.sint64=function(e){e=a.from(e).zzEncode();return this.push(m,e.length(),e)},d.prototype.bool=function(e){return this.push(h,1,e?1:0)},d.prototype.sfixed32=d.prototype.fixed32=function(e){return this.push(f,4,e>>>0)},d.prototype.sfixed64=d.prototype.fixed64=function(e){e=a.from(e);return this.push(f,4,e.lo).push(f,4,e.hi)};var g,_,y="undefined"!=typeof Float32Array?(g=new Float32Array(1),_=new Uint8Array(g.buffer),g[0]=-0,_[3]?function(e,t,i){g[0]=e,t[i++]=_[0],t[i++]=_[1],t[i++]=_[2],t[i]=_[3]}:function(e,t,i){g[0]=e,t[i++]=_[3],t[i++]=_[2],t[i++]=_[1],t[i]=_[0]}):function(e,t,i){var r=e<0?1:0;r&&(e=-e),0===e?f(0<1/e?0:2147483648,t,i):isNaN(e)?f(2147483647,t,i):f(34028234663852886e22<e?(r<<31|2139095040)>>>0:e<11754943508222875e-54?(r<<31|Math.round(e/1401298464324817e-60))>>>0:(r<<31|(r=Math.floor(Math.log(e)/Math.LN2))+127<<23|8388607&Math.round(e*Math.pow(2,-r)*8388608))>>>0,t,i)};d.prototype.float=function(e){return this.push(y,4,e)};var C,v,S="undefined"!=typeof Float64Array?(C=new Float64Array(1),v=new Uint8Array(C.buffer),C[0]=-0,v[7]?function(e,t,i){C[0]=e,t[i++]=v[0],t[i++]=v[1],t[i++]=v[2],t[i++]=v[3],t[i++]=v[4],t[i++]=v[5],t[i++]=v[6],t[i]=v[7]}:function(e,t,i){C[0]=e,t[i++]=v[7],t[i++]=v[6],t[i++]=v[5],t[i++]=v[4],t[i++]=v[3],t[i++]=v[2],t[i++]=v[1],t[i]=v[0]}):function(e,t,i){var r,n,a=e<0?1:0;a&&(e=-e),0===e?(f(0,t,i),f(0<1/e?0:2147483648,t,i+4)):isNaN(e)?(f(4294967295,t,i),f(2147483647,t,i+4)):17976931348623157e292<e?(f(0,t,i),f((a<<31|2146435072)>>>0,t,i+4)):e<22250738585072014e-324?(f((r=e/5e-324)>>>0,t,i),f((a<<31|r/4294967296)>>>0,t,i+4)):(1024===(n=Math.floor(Math.log(e)/Math.LN2))&&(n=1023),f(4503599627370496*(r=e*Math.pow(2,-n))>>>0,t,i),f((a<<31|n+1023<<20|1048576*r&1048575)>>>0,t,i+4))};d.prototype.double=function(e){return this.push(S,8,e)};var T=n.Array.prototype.set?function(e,t,i){t.set(e,i)}:function(e,t,i){for(var r=0;r<e.length;++r)t[i+r]=e[r]};d.prototype.bytes=function(e){var t,i=e.length>>>0;return i?(n.isString(e)&&(t=d.alloc(i=o.length(e)),o.decode(e,t,0),e=t),this.uint32(i).push(T,i,e)):this.push(h,1,0)},d.prototype.string=function(e){var t=s.length(e);return t?this.uint32(t).push(s.write,t,e):this.push(h,1,0)},d.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new l(c,0,0),this.len=0,this},d.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new l(c,0,0),this.len=0),this},d.prototype.ldelim=function(){var e=this.head,t=this.tail,i=this.len;return this.reset().uint32(i),i&&(this.tail.next=e.next,this.tail=t,this.len+=i),this},d.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),i=0;e;)e.fn(e.val,t,i),i+=e.len,e=e.next;return t},d._configure=function(e){r=e}},{13:13}],15:[function(e,t,i){t.exports=o;var r=e(14);(o.prototype=Object.create(r.prototype)).constructor=o;var n=e(13),a=n.Buffer;function o(){r.call(this)}o.alloc=function(e){return(o.alloc=n._Buffer_allocUnsafe)(e)};var s=a&&a.prototype instanceof Uint8Array&&"set"===a.prototype.set.name?function(e,t,i){t.set(e,i)}:function(e,t,i){if(e.copy)e.copy(t,i,0,e.length);else for(var r=0;r<e.length;)t[i++]=e[r++]};function l(e,t,i){e.length<40?n.utf8.write(e,t,i):t.utf8Write(e,i)}o.prototype.bytes=function(e){n.isString(e)&&(e=n._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this.push(s,t,e),this},o.prototype.string=function(e){var t=a.byteLength(e);return this.uint32(t),t&&this.push(l,t,e),this}},{13:13,14:14}]},OKb={},PKb=[7],global.protobuf=function e(t){var i=OKb[t];return i||NKb[t][0].call(i=OKb[t]={exports:{}},e,i,i.exports),i.exports}(PKb[0])}(tmp$1);var protobuf=tmp$1.protobuf;function isBitSet(e,t){return 0!=(e&t)}var childrenBitmasks=[1,2,4,8],anyChildBitmask=15,cacheFlagBitmask=16,imageBitmask=64,terrainBitmask=128;function GoogleEarthEnterpriseTileInformation(e,t,i,r,n,a){this._bits=e,this.cnodeVersion=t,this.imageryVersion=i,this.terrainVersion=r,this.imageryProvider=n,this.terrainProvider=a,this.ancestorHasTerrain=!1,this.terrainState=void 0}function stringToBuffer(e){for(var t=e.length,i=new ArrayBuffer(t),r=new Uint8Array(i),n=0;n<t;++n)r[n]=e.charCodeAt(n);return i}GoogleEarthEnterpriseTileInformation.clone=function(e,t){return defined(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new GoogleEarthEnterpriseTileInformation(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t},GoogleEarthEnterpriseTileInformation.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()},GoogleEarthEnterpriseTileInformation.prototype.hasSubtree=function(){return isBitSet(this._bits,cacheFlagBitmask)},GoogleEarthEnterpriseTileInformation.prototype.hasImagery=function(){return isBitSet(this._bits,imageBitmask)},GoogleEarthEnterpriseTileInformation.prototype.hasTerrain=function(){return isBitSet(this._bits,terrainBitmask)},GoogleEarthEnterpriseTileInformation.prototype.hasChildren=function(){return isBitSet(this._bits,anyChildBitmask)},GoogleEarthEnterpriseTileInformation.prototype.hasChild=function(e){return isBitSet(this._bits,childrenBitmasks[e])},GoogleEarthEnterpriseTileInformation.prototype.getChildBitmask=function(){return this._bits&anyChildBitmask};var defaultKey=stringToBuffer('Eô½\vyâjE"’,ÍqøIFgQ\0B%Æèa,f)\bÆ4Üjb%y\nwmiÖðœk“¡½NuàA[ß@V\fÙ»r›|3SîOlÔq°{ÀEVZ­wUe\v3’*¬l5Å0sø3>mF8J´Ýð.ÝuڌDt"úa"\f3"So¯9D\vŒ9Ù9L¹¿«\\ŒP_Ÿ"uxéq‘h;Áěð<VqH‚\'UfYNe˜u£aF}a?A\0Ÿ×´4M·F°Õ¸Š\'{‹Ü+»Mg0ÈÑö\\Pú[/F›n5/\'C.ë\n\f^¥se4ål.jC\'c#U©?q{gC}:¯ÍâTUœýKÆâŸ/(íË\\Æ-fˆ§;/*"N°k.Ý\r•}}GºC²²+>Mª>}æÎI‰Ææx\fa1-¤O¥~q ˆì\r1èN\v\0nPh}=\b\r•¦n£h—$[kó#ó¶s³\r\v@ÀŸØQ]ú".jßI\0¹ wUÆïj¿{GLƒîÜÜF…©­S+S4ÿ”Yä8è1ƒN¹XFkË-#†’p\x005ˆ"Ï1²&/çÃu-6,rt°#G·ÓÑ&…7râ\0ŒDÏÚ3-Þ`†i#i*|ÍKQ\r•T9w.)ê¦P¢joP™\\>TûïP[\vE‰m(w7ێJfJo™ åpâ¹q~\fmI-zþrÇòY0»]såÉ êxì ðŠB|G`°½&·q¶ÇŸÑ3‚=Ó«îc™È+S D\\qÆÌD2O<ÊÀ)=RÓaX©}e´ÜÏ\rô=ñ\b©BÚ#\tØ¿^PIøMÀËGLO÷{+ØÅ1’;µoÜl\r’ˆўÛ?âéÚ_ԄâFaZÞUϤ\0¾ýÎgñJi—æ HØ]~®q N®ÀV©‘<‚rçvì)IÖ]-ƒãÛ6©;f—‡jÕ¶=P^R¹KÇsWxÉô.Y•“oÐKW>\'\'Ç`Û;íšSD>?’mw¢\në?R¨ÆU^1I7…ôÅ&-©¿‹\'TÚÃj å*x°Öprª‹h½ˆ÷_H±~ÀXL?fù>áeÀp§Ï8i¯ðVldIœ\'­xtO‡ÞV9\0Úw\vË-‰û5Oõ\bQ`Á\nZGM&30xÚÀœFGâ[y`In7gS\n>éìF9²ñ4\rƄSuná\fYÙÞ)…{II¥wy¾IV.6ç\v:»Ob{ÒM1•/½8{¨O!áìFpv•})"xˆ\nÝ\\ÚÞQÏðüYRe|3ßóHÚ»*uÛ`²Ôüíì5¨ÿ(1-È܈F|Š["');function GoogleEarthEnterpriseMetadata(e){var t=e;"string"==typeof t||t instanceof Resource||(t=e.url);t=Resource.createIfNeeded(t);t.appendForwardSlash(),this._resource=t,this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=CesiumMath.EPSILON12,this.providers={},this.key=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={};var i=this;this._readyPromise=requestDbRoot(this).then(function(){return i.getQuadTreePacket("",i._quadPacketVersion)}).then(function(){return!0}).otherwise(function(e){var t="An error occurred while accessing "+getMetadataResource(i,"",1).url+".";return when.reject(new RuntimeError(t))})}Object.defineProperties(GoogleEarthEnterpriseMetadata.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}},readyPromise:{get:function(){return this._readyPromise}}}),GoogleEarthEnterpriseMetadata.tileXYToQuadKey=function(e,t,i){for(var r="",n=i;0<=n;--n){var a=1<<n,o=0;isBitSet(t,a)?isBitSet(e,a)&&(o|=1):(o|=2,isBitSet(e,a)||(o|=1)),r+=o}return r},GoogleEarthEnterpriseMetadata.quadKeyToTileXY=function(e){for(var t=0,i=0,r=e.length-1,n=r;0<=n;--n){var a=1<<n,o=+e[r-n];isBitSet(o,2)?isBitSet(o,1)||(t|=a):(i|=a,isBitSet(o,1)&&(t|=a))}return{x:t,y:i,level:r}},GoogleEarthEnterpriseMetadata.prototype.isValid=function(e){var t=this.getTileInformationFromQuadKey(e);if(defined(t))return null!==t;for(var i,r=!0,n=e;1<n.length;){if(i=n.substring(n.length-1),n=n.substring(0,n.length-1),defined(t=this.getTileInformationFromQuadKey(n))){t.hasSubtree()||t.hasChild(parseInt(i))||(r=!1);break}if(null===t){r=!1;break}}return r};var taskProcessor$1=new TaskProcessor("decodeGoogleEarthEnterprisePacket",Number.POSITIVE_INFINITY),dbrootParser,dbrootParserPromise;function populateSubtree(e,t,i){var r,n=e._tileInfo,a=t,o=n[a];if(defined(o)&&(!o.hasSubtree()||o.hasChildren()))return o;for(;void 0===o&&1<a.length;)o=n[a=a.substring(0,a.length-1)];var s=e._subtreePromises,l=s[a];return defined(l)?l.then(function(){return r=new Request({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction}),populateSubtree(e,t,r)}):defined(o)&&o.hasSubtree()?defined(l=e.getQuadTreePacket(a,o.cnodeVersion,i))?(s[a]=l).then(function(){return r=new Request({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction}),populateSubtree(e,t,r)}).always(function(){delete s[a]}):void 0:when.reject(new RuntimeError("Couldn't load metadata for tile "+t))}function getMetadataResource(e,t,i,r){return e._resource.getDerivedResource({url:"flatfile?q2-0"+t+"-q."+i.toString(),request:r})}function requestDbRoot(l){var e,t,i=l._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});return defined(dbrootParserPromise)||(e=buildModuleUrl("ThirdParty/google-earth-dbroot-parser.js"),t=window.cesiumGoogleEarthDbRootParser,dbrootParserPromise=loadAndExecuteScript(e).then(function(){dbrootParser=window.cesiumGoogleEarthDbRootParser(protobuf),defined(t)?window.cesiumGoogleEarthDbRootParser=t:delete window.cesiumGoogleEarthDbRootParser})),dbrootParserPromise.then(function(){return i.fetchArrayBuffer()}).then(function(e){var t=dbrootParser.EncryptedDbRootProto.decode(new Uint8Array(e)),i=t.encryptionData,r=i.byteOffset,n=r+i.byteLength,e=l.key=i.buffer.slice(r,n),n=(r=(i=t.dbrootData).byteOffset)+i.byteLength,n=i.buffer.slice(r,n);return taskProcessor$1.scheduleTask({buffer:n,type:"DbRoot",key:e},[n])}).then(function(e){var t=dbrootParser.DbRootProto.decode(new Uint8Array(e.buffer));l.imageryPresent=defaultValue(t.imageryPresent,l.imageryPresent),l.protoImagery=t.protoImagery,l.terrainPresent=defaultValue(t.terrainPresent,l.terrainPresent),defined(t.endSnippet)&&defined(t.endSnippet.model)&&(e=t.endSnippet.model,l.negativeAltitudeExponentBias=defaultValue(e.negativeAltitudeExponentBias,l.negativeAltitudeExponentBias),l.negativeAltitudeThreshold=defaultValue(e.compressedNegativeAltitudeThreshold,l.negativeAltitudeThreshold)),defined(t.databaseVersion)&&(l._quadPacketVersion=defaultValue(t.databaseVersion.quadtreeVersion,l._quadPacketVersion));for(var i=l.providers,r=defaultValue(t.providerInfo,[]),n=r.length,a=0;a<n;++a){var o=r[a],s=o.copyrightString;defined(s)&&(i[o.providerId]=new Credit(s.value))}}).otherwise(function(){console.log("Failed to retrieve "+i.url+". Using defaults."),l.key=defaultKey})}function GoogleEarthEnterpriseTerrainData(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._buffer=e.buffer,this._credits=e.credits,this._negativeAltitudeExponentBias=e.negativeAltitudeExponentBias,this._negativeElevationThreshold=e.negativeElevationThreshold;var t=defaultValue(e.childTileMask,15),i=3&t;i|=4&t?8:0,i|=8&t?4:0,this._childTileMask=i,this._createdByUpsampling=defaultValue(e.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}GoogleEarthEnterpriseMetadata.prototype.getQuadTreePacket=function(u,e,t){e=defaultValue(e,1);t=getMetadataResource(this,u=defaultValue(u,""),e,t).fetchArrayBuffer();if(defined(t)){var d=this._tileInfo,i=this.key;return t.then(function(e){return taskProcessor$1.scheduleTask({buffer:e,quadKey:u,type:"Metadata",key:i},[e]).then(function(e){var t,i,r=-1;""!==u&&(r=u.length+1,t=e[u],(i=d[u])._bits|=t._bits,delete e[u]);var n=Object.keys(e);n.sort(function(e,t){return e.length-t.length});for(var a=n.length,o=0;o<a;++o){var s,l,c=n[o];null!==e[c]?(s=GoogleEarthEnterpriseTileInformation.clone(e[c]),(l=c.length)===r?s.setParent(i):1<l&&(l=d[c.substring(0,c.length-1)],s.setParent(l)),d[c]=s):d[c]=null}})})}},GoogleEarthEnterpriseMetadata.prototype.populateSubtree=function(e,t,i,r){return populateSubtree(this,GoogleEarthEnterpriseMetadata.tileXYToQuadKey(e,t,i),r)},GoogleEarthEnterpriseMetadata.prototype.getTileInformation=function(e,t,i){i=GoogleEarthEnterpriseMetadata.tileXYToQuadKey(e,t,i);return this._tileInfo[i]},GoogleEarthEnterpriseMetadata.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]},Object.defineProperties(GoogleEarthEnterpriseTerrainData.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var taskProcessor$2=new TaskProcessor("createVerticesFromGoogleEarthEnterpriseBuffer"),nativeRectangleScratch=new Rectangle,rectangleScratch$1=new Rectangle;GoogleEarthEnterpriseTerrainData.prototype.createMesh=function(e,t,i,r,n){var a=e.ellipsoid;e.tileXYToNativeRectangle(t,i,r,nativeRectangleScratch),e.tileXYToRectangle(t,i,r,rectangleScratch$1),n=defaultValue(n,1);var o=a.cartographicToCartesian(Rectangle.center(rectangleScratch$1)),r=40075.16/(1<<r);this._skirtHeight=Math.min(8*r,1e3);a=taskProcessor$2.scheduleTask({buffer:this._buffer,nativeRectangle:nativeRectangleScratch,rectangle:rectangleScratch$1,relativeToCenter:o,ellipsoid:a,skirtHeight:this._skirtHeight,exaggeration:n,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(defined(a)){var s=this;return a.then(function(e){return s._mesh=new TerrainMesh(o,new Float32Array(e.vertices),new Uint16Array(e.indices),e.indexCountWithoutSkirts,e.vertexCountWithoutSkirts,e.minimumHeight,e.maximumHeight,BoundingSphere.clone(e.boundingSphere3D),Cartesian3.clone(e.occludeePointInScaledSpace),e.numberOfAttributes,OrientedBoundingBox.clone(e.orientedBoundingBox),TerrainEncoding.clone(e.encoding),n,e.westIndicesSouthToNorth,e.southIndicesEastToWest,e.eastIndicesNorthToSouth,e.northIndicesWestToEast),s._minimumHeight=e.minimumHeight,s._maximumHeight=e.maximumHeight,s._buffer=void 0,s._mesh})}},GoogleEarthEnterpriseTerrainData.prototype.interpolateHeight=function(e,t,i){t=CesiumMath.clamp((t-e.west)/e.width,0,1),i=CesiumMath.clamp((i-e.south)/e.height,0,1);return defined(this._mesh)?interpolateMeshHeight$2(this,t,i):interpolateHeight$2(this,t,i,e)};var upsampleTaskProcessor$1=new TaskProcessor("upsampleQuantizedTerrainMesh");GoogleEarthEnterpriseTerrainData.prototype.upsample=function(e,t,i,r,n,a,o){var s=this._mesh;if(defined(this._mesh)){var l=2*t!==n,t=2*i===a,i=e.ellipsoid,o=e.tileXYToRectangle(n,a,o),s=upsampleTaskProcessor$1.scheduleTask({vertices:s.vertices,indices:s.indices,indexCountWithoutSkirts:s.indexCountWithoutSkirts,vertexCountWithoutSkirts:s.vertexCountWithoutSkirts,encoding:s.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:l,isNorthChild:t,childRectangle:o,ellipsoid:i,exaggeration:s.exaggeration});if(defined(s)){var c=this;return s.then(function(e){var t=new Uint16Array(e.vertices),i=IndexDatatype$1.createTypedArray(t.length/3,e.indices),r=c._skirtHeight;return new QuantizedMeshTerrainData({quantizedVertices:t,indices:i,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,boundingSphere:BoundingSphere.clone(e.boundingSphere),orientedBoundingBox:OrientedBoundingBox.clone(e.orientedBoundingBox),horizonOcclusionPoint:Cartesian3.clone(e.horizonOcclusionPoint),westIndices:e.westIndices,southIndices:e.southIndices,eastIndices:e.eastIndices,northIndices:e.northIndices,westSkirtHeight:r,southSkirtHeight:r,eastSkirtHeight:r,northSkirtHeight:r,childTileMask:0,createdByUpsampling:!0,credits:c._credits})})}}},GoogleEarthEnterpriseTerrainData.prototype.isChildAvailable=function(e,t,i,r){var n=2;return i!==2*e&&++n,r!==2*t&&(n-=2),0!=(this._childTileMask&1<<n)},GoogleEarthEnterpriseTerrainData.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var texCoordScratch0$1=new Cartesian2,texCoordScratch1$1=new Cartesian2,texCoordScratch2$1=new Cartesian2,barycentricCoordinateScratch$1=new Cartesian3;function interpolateMeshHeight$2(e,t,i){for(var e=e._mesh,r=e.vertices,n=e.encoding,a=e.indices,o=0,s=a.length;o<s;o+=3){var l=a[o],c=a[o+1],u=a[o+2],d=n.decodeTextureCoordinates(r,l,texCoordScratch0$1),h=n.decodeTextureCoordinates(r,c,texCoordScratch1$1),p=n.decodeTextureCoordinates(r,u,texCoordScratch2$1),p=Intersections2D.computeBarycentricCoordinates(t,i,d.x,d.y,h.x,h.y,p.x,p.y,barycentricCoordinateScratch$1);if(-1e-15<=p.x&&-1e-15<=p.y&&-1e-15<=p.z){l=n.decodeHeight(r,l),c=n.decodeHeight(r,c),u=n.decodeHeight(r,u);return p.x*l+p.y*c+p.z*u}}}var sizeOfUint16=Uint16Array.BYTES_PER_ELEMENT,sizeOfUint32=Uint32Array.BYTES_PER_ELEMENT,sizeOfInt32=Int32Array.BYTES_PER_ELEMENT,sizeOfFloat=Float32Array.BYTES_PER_ELEMENT,sizeOfDouble=Float64Array.BYTES_PER_ELEMENT;function interpolateHeight$2(e,t,i,r){var n=e._buffer,a=0,o=0,s=0;.5<i?(.5<t?(a=2,o=.5):a=3,s=.5):.5<t&&(a=1,o=.5);for(var l=new DataView(n),c=0,u=0;u<a;++u)c+=l.getUint32(c,!0),c+=sizeOfUint32;c+=sizeOfUint32,c+=2*sizeOfDouble;e=CesiumMath.toRadians(180*l.getFloat64(c,!0));c+=sizeOfDouble;n=CesiumMath.toRadians(180*l.getFloat64(c,!0));c+=sizeOfDouble;var d=r.width/e/2,h=r.height/n/2,p=l.getInt32(c,!0);c+=sizeOfInt32;var m=3*l.getInt32(c,!0);c+=sizeOfInt32,c+=sizeOfInt32;for(var f=new Array(p),g=new Array(p),_=new Array(p),y=0;y<p;++y)f[y]=o+l.getUint8(c++)*d,g[y]=s+l.getUint8(c++)*h,_[y]=6371010*l.getFloat32(c,!0),c+=sizeOfFloat;var C=new Array(m);for(y=0;y<m;++y)C[y]=l.getUint16(c,!0),c+=sizeOfUint16;for(y=0;y<m;y+=3){var v=C[y],S=C[y+1],T=C[y+2],b=f[v],x=f[S],E=f[T],P=g[v],A=g[S],w=g[T],w=Intersections2D.computeBarycentricCoordinates(t,i,b,P,x,A,E,w,barycentricCoordinateScratch$1);if(-1e-15<=w.x&&-1e-15<=w.y&&-1e-15<=w.z)return w.x*_[v]+w.y*_[S]+w.z*_[T]}}var TerrainState={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},julianDateScratch$1=new JulianDate;function TerrainCache(){this._terrainCache={},this._lastTidy=JulianDate.now()}function GoogleEarthEnterpriseTerrainProvider(e){var t;e=defaultValue(e,defaultValue.EMPTY_OBJECT),t=defined(e.metadata)?e.metadata:new GoogleEarthEnterpriseMetadata(Resource.createIfNeeded(e.url)),this._metadata=t,this._tilingScheme=new GeographicTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new Rectangle(-CesiumMath.PI,-CesiumMath.PI,CesiumMath.PI,CesiumMath.PI),ellipsoid:e.ellipsoid});e=e.credit;"string"==typeof e&&(e=new Credit(e)),this._credit=e,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new TerrainCache,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new Event,this._ready=!1;var i,r=this;this._readyPromise=t.readyPromise.then(function(e){if(t.terrainPresent)return TileProviderError.handleSuccess(i),r._ready=e;e=new RuntimeError("The server "+t.url+" doesn't have terrain");return i=TileProviderError.handleError(i,r,r._errorEvent,e.message,void 0,void 0,void 0,e),when.reject(e)}).otherwise(function(e){return i=TileProviderError.handleError(i,r,r._errorEvent,e.message,void 0,void 0,void 0,e),when.reject(e)})}TerrainCache.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:JulianDate.now()}},TerrainCache.prototype.get=function(e){var t=this._terrainCache[e];if(defined(t))return delete this._terrainCache[e],t.buffer},TerrainCache.prototype.tidy=function(){if(JulianDate.now(julianDateScratch$1),10<JulianDate.secondsDifference(julianDateScratch$1,this._lastTidy)){for(var e=this._terrainCache,t=Object.keys(e),i=t.length,r=0;r<i;++r){var n=t[r],a=e[n];10<JulianDate.secondsDifference(julianDateScratch$1,a.timestamp)&&delete e[n]}JulianDate.clone(julianDateScratch$1,this._lastTidy)}},Object.defineProperties(GoogleEarthEnterpriseTerrainProvider.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});var taskProcessor$3=new TaskProcessor("decodeGoogleEarthEnterprisePacket",Number.POSITIVE_INFINITY);function computeChildMask(e,t,i){var r=t.getChildBitmask();if(t.terrainState===TerrainState.PARENT)for(var n=r=0;n<4;++n){var a=i.getTileInformationFromQuadKey(e+n.toString());defined(a)&&a.hasTerrain()&&(r|=1<<n)}return r}function buildTerrainResource(e,t,i,r){return i=defined(i)&&0<i?i:1,e._metadata.resource.getDerivedResource({url:"flatfile?f1c-0"+t+"-t."+i.toString(),request:r})}GoogleEarthEnterpriseTerrainProvider.prototype.requestTileGeometry=function(e,t,i,r){var n=GoogleEarthEnterpriseMetadata.tileXYToQuadKey(e,t,i),s=this._terrainCache,l=this._metadata,a=l.getTileInformationFromQuadKey(n);if(!defined(a))return when.reject(new RuntimeError("Terrain tile doesn't exist"));e=a.terrainState;defined(e)||(e=a.terrainState=TerrainState.UNKNOWN);var o,t=s.get(n);if(defined(t)){i=l.providers[a.terrainProvider];return when.resolve(new GoogleEarthEnterpriseTerrainData({buffer:t,childTileMask:computeChildMask(n,a,l),credits:defined(i)?[i]:void 0,negativeAltitudeExponentBias:l.negativeAltitudeExponentBias,negativeElevationThreshold:l.negativeAltitudeThreshold}))}if(s.tidy(),!a.ancestorHasTerrain)return when.resolve(new HeightmapTerrainData({buffer:new Uint8Array(256),width:16,height:16}));if(e===TerrainState.NONE)return when.reject(new RuntimeError("Terrain tile doesn't exist"));var c=n,u=-1;switch(e){case TerrainState.SELF:u=a.terrainVersion;break;case TerrainState.PARENT:c=c.substring(0,c.length-1),u=(o=l.getTileInformationFromQuadKey(c)).terrainVersion;break;case TerrainState.UNKNOWN:a.hasTerrain()?u=a.terrainVersion:(c=c.substring(0,c.length-1),defined(o=l.getTileInformationFromQuadKey(c))&&o.hasTerrain()&&(u=o.terrainVersion))}if(u<0)return when.reject(new RuntimeError("Terrain tile doesn't exist"));var d,h,p=this._terrainPromises,m=this._terrainRequests;if(defined(p[c]))d=p[c],h=m[c];else{e=buildTerrainResource(this,c,u,h=r).fetchArrayBuffer();if(!defined(e))return;d=e.then(function(e){return defined(e)?taskProcessor$3.scheduleTask({buffer:e,type:"Terrain",key:l.key},[e]).then(function(e){var t=l.getTileInformationFromQuadKey(c);t.terrainState=TerrainState.SELF,s.add(c,e[0]);for(var i=t.terrainProvider,r=e.length-1,n=0;n<r;++n){var a=c+n.toString(),o=l.getTileInformationFromQuadKey(a);defined(o)&&(s.add(a,e[n+1]),o.terrainState=TerrainState.PARENT,0===o.terrainProvider&&(o.terrainProvider=i))}}):when.reject(new RuntimeError("Failed to load terrain."))}),p[c]=d,m[c]=h,d=d.always(function(){delete p[c],delete m[c]})}return d.then(function(){var e=s.get(n);if(defined(e)){var t=l.providers[a.terrainProvider];return new GoogleEarthEnterpriseTerrainData({buffer:e,childTileMask:computeChildMask(n,a,l),credits:defined(t)?[t]:void 0,negativeAltitudeExponentBias:l.negativeAltitudeExponentBias,negativeElevationThreshold:l.negativeAltitudeThreshold})}return when.reject(new RuntimeError("Failed to load terrain."))}).otherwise(function(e){return h.state===RequestState$1.CANCELLED?r.state=h.state:a.terrainState=TerrainState.NONE,when.reject(e)})},GoogleEarthEnterpriseTerrainProvider.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)},GoogleEarthEnterpriseTerrainProvider.prototype.getTileDataAvailable=function(e,t,i){var r=this._metadata,n=GoogleEarthEnterpriseMetadata.tileXYToQuadKey(e,t,i),a=r.getTileInformation(e,t,i);if(null===a)return!1;if(defined(a)){if(!a.ancestorHasTerrain)return!0;var o=a.terrainState;if(o===TerrainState.NONE)return!1;if(!(defined(o)&&o!==TerrainState.UNKNOWN||(a.terrainState=TerrainState.UNKNOWN,a.hasTerrain()))){n=n.substring(0,n.length-1);a=r.getTileInformationFromQuadKey(n);if(!defined(a)||!a.hasTerrain())return!1}return!0}return r.isValid(n)&&(n=new Request({throttle:!1,throttleByServer:!0,type:RequestType$1.TERRAIN}),r.populateSubtree(e,t,i,n)),!1},GoogleEarthEnterpriseTerrainProvider.prototype.loadTileDataAvailability=function(e,t,i){};var PROJECTIONS=[GeographicProjection,WebMercatorProjection],PROJECTION_COUNT=PROJECTIONS.length,MITER_BREAK_SMALL=Math.cos(CesiumMath.toRadians(30)),MITER_BREAK_LARGE=Math.cos(CesiumMath.toRadians(150)),WALL_INITIAL_MIN_HEIGHT=0,WALL_INITIAL_MAX_HEIGHT=1e3;function GroundPolylineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions;this.width=defaultValue(e.width,1),this._positions=t,this.granularity=defaultValue(e.granularity,9999),this.loop=defaultValue(e.loop,!1),this.arcType=defaultValue(e.arcType,ArcType$1.GEODESIC),this._ellipsoid=Ellipsoid.WGS84,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(GroundPolylineGeometry.prototype,{packedLength:{get:function(){return 1+3*this._positions.length+1+1+1+Ellipsoid.packedLength+1+1}}}),GroundPolylineGeometry.setProjectionAndEllipsoid=function(e,t){for(var i=0,r=0;r<PROJECTION_COUNT;r++)if(t instanceof PROJECTIONS[r]){i=r;break}e._projectionIndex=i,e._ellipsoid=t.ellipsoid};var cart3Scratch1=new Cartesian3,cart3Scratch2=new Cartesian3,cart3Scratch3=new Cartesian3;function computeRightNormal(e,t,i,r,n){var a=getPosition(r,e,0,cart3Scratch1),i=getPosition(r,e,i,cart3Scratch2),t=getPosition(r,t,0,cart3Scratch3),i=direction(i,a,cart3Scratch2),a=direction(t,a,cart3Scratch3);return Cartesian3.cross(a,i,n),Cartesian3.normalize(n,n)}var interpolatedCartographicScratch=new Cartographic,interpolatedBottomScratch=new Cartesian3,interpolatedTopScratch=new Cartesian3,interpolatedNormalScratch=new Cartesian3;function interpolateSegment(e,t,i,r,n,a,o,s,l,c,u){if(0!==n){var d;a===ArcType$1.GEODESIC?d=new EllipsoidGeodesic(e,t,o):a===ArcType$1.RHUMB&&(d=new EllipsoidRhumbLine(e,t,o));a=d.surfaceDistance;if(!(a<n))for(var h=computeRightNormal(e,t,r,o,interpolatedNormalScratch),n=Math.ceil(a/n),p=a/n,m=p,f=n-1,g=s.length,_=0;_<f;_++){var y=d.interpolateUsingSurfaceDistance(m,interpolatedCartographicScratch),C=getPosition(o,y,i,interpolatedBottomScratch),v=getPosition(o,y,r,interpolatedTopScratch);Cartesian3.pack(h,s,g),Cartesian3.pack(C,l,g),Cartesian3.pack(v,c,g),u.push(y.latitude),u.push(y.longitude),g+=3,m+=p}}}var heightlessCartographicScratch=new Cartographic;function getPosition(e,t,i,r){return Cartographic.clone(t,heightlessCartographicScratch),heightlessCartographicScratch.height=i,Cartographic.toCartesian(heightlessCartographicScratch,e,r)}function direction(e,t,i){return Cartesian3.subtract(e,t,i),Cartesian3.normalize(i,i),i}function tangentDirection(e,t,i,r){return r=direction(e,t,r),r=Cartesian3.cross(r,i,r),r=Cartesian3.normalize(r,r),r=Cartesian3.cross(i,r,r)}GroundPolylineGeometry.pack=function(e,t,i){var r=defaultValue(i,0),n=e._positions,a=n.length;t[r++]=a;for(var o=0;o<a;++o){var s=n[o];Cartesian3.pack(s,t,r),r+=3}return t[r++]=e.granularity,t[r++]=e.loop?1:0,t[r++]=e.arcType,Ellipsoid.pack(e._ellipsoid,t,r),r+=Ellipsoid.packedLength,t[r++]=e._projectionIndex,t[r++]=e._scene3DOnly?1:0,t},GroundPolylineGeometry.unpack=function(e,t,i){for(var r=defaultValue(t,0),n=e[r++],a=new Array(n),o=0;o<n;o++)a[o]=Cartesian3.unpack(e,r),r+=3;var s=e[r++],l=1===e[r++],c=e[r++],u=Ellipsoid.unpack(e,r);r+=Ellipsoid.packedLength;var d=e[r++],t=1===e[r++];return defined(i)||(i=new GroundPolylineGeometry({positions:a})),i._positions=a,i.granularity=s,i.loop=l,i.arcType=c,i._ellipsoid=u,i._projectionIndex=d,i._scene3DOnly=t,i};var toPreviousScratch=new Cartesian3,toNextScratch=new Cartesian3,forwardScratch=new Cartesian3,vertexUpScratch=new Cartesian3,cosine90=0,cosine180=-1;function computeVertexMiterNormal(e,t,i,r,n){i=direction(i,t,vertexUpScratch),e=tangentDirection(e,t,i,toPreviousScratch),t=tangentDirection(r,t,i,toNextScratch);if(CesiumMath.equalsEpsilon(Cartesian3.dot(e,t),cosine180,CesiumMath.EPSILON5))return n=Cartesian3.cross(i,e,n),n=Cartesian3.normalize(n,n);n=Cartesian3.add(t,e,n),n=Cartesian3.normalize(n,n);i=Cartesian3.cross(i,n,forwardScratch);return Cartesian3.dot(t,i)<cosine90&&(n=Cartesian3.negate(n,n)),n}var XZ_PLANE=Plane.fromPointNormal(Cartesian3.ZERO,Cartesian3.UNIT_Y),previousBottomScratch=new Cartesian3,vertexBottomScratch=new Cartesian3,vertexTopScratch=new Cartesian3,nextBottomScratch=new Cartesian3,vertexNormalScratch=new Cartesian3,intersectionScratch=new Cartesian3,cartographicScratch0=new Cartographic,cartographicScratch1=new Cartographic,cartographicIntersectionScratch=new Cartographic;GroundPolylineGeometry.createGeometry=function(e){var t,i,r,n,a,o=!e._scene3DOnly,s=e.loop,l=e._ellipsoid,c=e.granularity,u=e.arcType,d=new PROJECTIONS[e._projectionIndex](l),h=WALL_INITIAL_MIN_HEIGHT,p=WALL_INITIAL_MAX_HEIGHT,m=e._positions,f=m.length;2===f&&(s=!1);for(var g,_,y,C=new EllipsoidRhumbLine(void 0,void 0,l),v=[m[0]],S=0;S<f-1;S++)i=m[S],r=m[S+1],!defined(g=IntersectionTests.lineSegmentPlane(i,r,XZ_PLANE,intersectionScratch))||Cartesian3.equalsEpsilon(g,i,CesiumMath.EPSILON7)||Cartesian3.equalsEpsilon(g,r,CesiumMath.EPSILON7)||(e.arcType===ArcType$1.GEODESIC?v.push(Cartesian3.clone(g)):e.arcType===ArcType$1.RHUMB&&(y=l.cartesianToCartographic(g,cartographicScratch0).longitude,n=l.cartesianToCartographic(i,cartographicScratch0),a=l.cartesianToCartographic(r,cartographicScratch1),C.setEndPoints(n,a),_=C.findIntersectionWithLongitude(y,cartographicIntersectionScratch),!defined(g=l.cartographicToCartesian(_,intersectionScratch))||Cartesian3.equalsEpsilon(g,i,CesiumMath.EPSILON7)||Cartesian3.equalsEpsilon(g,r,CesiumMath.EPSILON7)||v.push(Cartesian3.clone(g)))),v.push(r);s&&(i=m[f-1],r=m[0],!defined(g=IntersectionTests.lineSegmentPlane(i,r,XZ_PLANE,intersectionScratch))||Cartesian3.equalsEpsilon(g,i,CesiumMath.EPSILON7)||Cartesian3.equalsEpsilon(g,r,CesiumMath.EPSILON7)||(e.arcType===ArcType$1.GEODESIC?v.push(Cartesian3.clone(g)):e.arcType===ArcType$1.RHUMB&&(y=l.cartesianToCartographic(g,cartographicScratch0).longitude,n=l.cartesianToCartographic(i,cartographicScratch0),a=l.cartesianToCartographic(r,cartographicScratch1),C.setEndPoints(n,a),_=C.findIntersectionWithLongitude(y,cartographicIntersectionScratch),!defined(g=l.cartographicToCartesian(_,intersectionScratch))||Cartesian3.equalsEpsilon(g,i,CesiumMath.EPSILON7)||Cartesian3.equalsEpsilon(g,r,CesiumMath.EPSILON7)||v.push(Cartesian3.clone(g)))));var T=v.length,b=new Array(T);for(S=0;S<T;S++){var x=Cartographic.fromCartesian(v[S],l);x.height=0,b[S]=x}if(!((T=(b=arrayRemoveDuplicates(b,Cartographic.equalsEpsilon)).length)<2)){var E=[],P=[],A=[],w=[],D=previousBottomScratch,M=vertexBottomScratch,I=vertexTopScratch,R=nextBottomScratch,O=vertexNormalScratch,L=b[0],F=b[1];for(D=getPosition(l,b[T-1],h,D),R=getPosition(l,F,h,R),M=getPosition(l,L,h,M),I=getPosition(l,L,p,I),O=s?computeVertexMiterNormal(D,M,I,R,O):computeRightNormal(L,F,p,l,O),Cartesian3.pack(O,P,0),Cartesian3.pack(M,A,0),Cartesian3.pack(I,w,0),E.push(L.latitude),E.push(L.longitude),interpolateSegment(L,F,h,p,c,u,l,P,A,w,E),S=1;S<T-1;++S){D=Cartesian3.clone(M,D),M=Cartesian3.clone(R,M);var N=b[S];getPosition(l,N,p,I),getPosition(l,b[S+1],h,R),computeVertexMiterNormal(D,M,I,R,O),t=P.length,Cartesian3.pack(O,P,t),Cartesian3.pack(M,A,t),Cartesian3.pack(I,w,t),E.push(N.latitude),E.push(N.longitude),interpolateSegment(b[S],b[S+1],h,p,c,u,l,P,A,w,E)}var B=b[T-1],V=b[T-2],M=getPosition(l,B,h,M),I=getPosition(l,B,p,I);if(O=s?(F=b[0],computeVertexMiterNormal(D=getPosition(l,V,h,D),M,I,R=getPosition(l,F,h,R),O)):computeRightNormal(V,B,p,l,O),t=P.length,Cartesian3.pack(O,P,t),Cartesian3.pack(M,A,t),Cartesian3.pack(I,w,t),E.push(B.latitude),E.push(B.longitude),s){for(interpolateSegment(B,L,h,p,c,u,l,P,A,w,E),t=P.length,S=0;S<3;++S)P[t+S]=P[S],A[t+S]=A[S],w[t+S]=w[S];E.push(L.latitude),E.push(L.longitude)}return generateGeometryAttributes(s,d,A,w,P,E,o)}};var lineDirectionScratch=new Cartesian3,matrix3Scratch=new Matrix3,quaternionScratch$2=new Quaternion;function breakMiter(e,t,i,r){t=direction(i,t,lineDirectionScratch),t=Cartesian3.dot(t,e);if(MITER_BREAK_SMALL<t||t<MITER_BREAK_LARGE){i=direction(r,i,vertexUpScratch),t=t<MITER_BREAK_LARGE?CesiumMath.PI_OVER_TWO:-CesiumMath.PI_OVER_TWO,t=Quaternion.fromAxisAngle(i,t,quaternionScratch$2),t=Matrix3.fromQuaternion(t,matrix3Scratch);return Matrix3.multiplyByVector(t,e,e),!0}return!1}var endPosCartographicScratch=new Cartographic,normalStartpointScratch=new Cartesian3,normalEndpointScratch=new Cartesian3;function projectNormal(e,t,i,r,n){var a=Cartographic.toCartesian(t,e._ellipsoid,normalStartpointScratch),o=Cartesian3.add(a,i,normalEndpointScratch),s=!1,l=e._ellipsoid,c=l.cartesianToCartographic(o,endPosCartographicScratch);Math.abs(t.longitude-c.longitude)>CesiumMath.PI_OVER_TWO&&(s=!0,o=Cartesian3.subtract(a,i,normalEndpointScratch),c=l.cartesianToCartographic(o,endPosCartographicScratch)),c.height=0;c=e.project(c,n);return(n=Cartesian3.subtract(c,r,n)).z=0,n=Cartesian3.normalize(n,n),s&&Cartesian3.negate(n,n),n}var adjustHeightNormalScratch=new Cartesian3,adjustHeightOffsetScratch=new Cartesian3;function adjustHeights(e,t,i,r,n,a){var o=Cartesian3.subtract(t,e,adjustHeightNormalScratch);Cartesian3.normalize(o,o);i-=WALL_INITIAL_MIN_HEIGHT,i=Cartesian3.multiplyByScalar(o,i,adjustHeightOffsetScratch);Cartesian3.add(e,i,n);r-=WALL_INITIAL_MAX_HEIGHT,i=Cartesian3.multiplyByScalar(o,r,adjustHeightOffsetScratch);Cartesian3.add(t,i,a)}var nudgeDirectionScratch=new Cartesian3;function nudgeXZ(e,t){var i=Plane.getPointDistance(XZ_PLANE,e),r=Plane.getPointDistance(XZ_PLANE,t),n=nudgeDirectionScratch;CesiumMath.equalsEpsilon(i,0,CesiumMath.EPSILON2)?(n=direction(t,e,n),Cartesian3.multiplyByScalar(n,CesiumMath.EPSILON2,n),Cartesian3.add(e,n,e)):CesiumMath.equalsEpsilon(r,0,CesiumMath.EPSILON2)&&(n=direction(e,t,n),Cartesian3.multiplyByScalar(n,CesiumMath.EPSILON2,n),Cartesian3.add(t,n,t))}function nudgeCartographic(e,t){var i=Math.abs(e.longitude),r=Math.abs(t.longitude);if(CesiumMath.equalsEpsilon(i,CesiumMath.PI,CesiumMath.EPSILON11)){var n=CesiumMath.sign(t.longitude);return e.longitude=n*(i-CesiumMath.EPSILON11),1}if(CesiumMath.equalsEpsilon(r,CesiumMath.PI,CesiumMath.EPSILON11)){e=CesiumMath.sign(e.longitude);return t.longitude=e*(r-CesiumMath.EPSILON11),2}return 0}var startCartographicScratch=new Cartographic,endCartographicScratch=new Cartographic,segmentStartTopScratch=new Cartesian3,segmentEndTopScratch=new Cartesian3,segmentStartBottomScratch=new Cartesian3,segmentEndBottomScratch=new Cartesian3,segmentStartNormalScratch=new Cartesian3,segmentEndNormalScratch=new Cartesian3,getHeightCartographics=[startCartographicScratch,endCartographicScratch],getHeightRectangleScratch=new Rectangle,adjustHeightStartTopScratch=new Cartesian3,adjustHeightEndTopScratch=new Cartesian3,adjustHeightStartBottomScratch=new Cartesian3,adjustHeightEndBottomScratch=new Cartesian3,segmentStart2DScratch=new Cartesian3,segmentEnd2DScratch=new Cartesian3,segmentStartNormal2DScratch=new Cartesian3,segmentEndNormal2DScratch=new Cartesian3,offsetScratch$1=new Cartesian3,startUpScratch=new Cartesian3,endUpScratch=new Cartesian3,rightScratch$1=new Cartesian3,startPlaneNormalScratch=new Cartesian3,endPlaneNormalScratch=new Cartesian3,encodeScratch=new EncodedCartesian3,encodeScratch2D=new EncodedCartesian3,forwardOffset2DScratch=new Cartesian3,right2DScratch=new Cartesian3,normalNudgeScratch=new Cartesian3,scratchBoundingSpheres=[new BoundingSphere,new BoundingSphere],REFERENCE_INDICES=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],REFERENCE_INDICES_LENGTH=REFERENCE_INDICES.length;function generateGeometryAttributes(e,t,i,r,n,a,o){var s,l,c,u,d=t._ellipsoid,h=i.length/3-1,p=8*h,m=4*p,f=36*h,g=new(65535<p?Uint32Array:Uint16Array)(f),_=new Float64Array(3*p),y=new Float32Array(m),C=new Float32Array(m),v=new Float32Array(m),S=new Float32Array(m),T=new Float32Array(m);o&&(s=new Float32Array(m),l=new Float32Array(m),c=new Float32Array(m),u=new Float32Array(2*p));var b=a.length/2,x=0,E=startCartographicScratch;E.height=0;var P=endCartographicScratch;P.height=0;var A=segmentStartTopScratch,w=segmentEndTopScratch;if(o)for(R=0,O=1;O<b;O++)E.latitude=a[R],E.longitude=a[R+1],P.latitude=a[R+2],P.longitude=a[R+3],A=t.project(E,A),w=t.project(P,w),x+=Cartesian3.distance(A,w),R+=2;for(var D,M=r.length/3,w=Cartesian3.unpack(r,0,w),I=0,R=3,O=1;O<M;O++)A=Cartesian3.clone(w,A),w=Cartesian3.unpack(r,R,w),I+=Cartesian3.distance(A,w),R+=3;var L=0,F=0,N=0,B=0,V=!(R=3),k=Cartesian3.unpack(i,0,segmentEndBottomScratch),z=Cartesian3.unpack(r,0,segmentEndTopScratch),U=Cartesian3.unpack(n,0,segmentEndNormalScratch);e&&breakMiter(U,Cartesian3.unpack(i,i.length-6,segmentStartBottomScratch),k,z)&&(U=Cartesian3.negate(U,U));var $=0,G=0,H=0;for(O=0;O<h;O++){var W,q,j,Y,X=Cartesian3.clone(k,segmentStartBottomScratch),Q=Cartesian3.clone(z,segmentStartTopScratch),J=Cartesian3.clone(U,segmentStartNormalScratch);V&&(J=Cartesian3.negate(J,J)),k=Cartesian3.unpack(i,R,segmentEndBottomScratch),z=Cartesian3.unpack(r,R,segmentEndTopScratch),V=breakMiter(U=Cartesian3.unpack(n,R,segmentEndNormalScratch),X,k,z),E.latitude=a[L],E.longitude=a[L+1],P.latitude=a[L+2],P.longitude=a[L+3],o&&(Se=nudgeCartographic(E,P),j=t.project(E,segmentStart2DScratch),(he=direction(Y=t.project(P,segmentEnd2DScratch),j,forwardOffset2DScratch)).y=Math.abs(he.y),W=segmentStartNormal2DScratch,q=segmentEndNormal2DScratch,0===Se||Cartesian3.dot(he,Cartesian3.UNIT_Y)>MITER_BREAK_SMALL?(W=projectNormal(t,E,J,j,segmentStartNormal2DScratch),q=projectNormal(t,P,U,Y,segmentEndNormal2DScratch)):1===Se?(q=projectNormal(t,P,U,Y,segmentEndNormal2DScratch),W.x=0,W.y=CesiumMath.sign(E.longitude-Math.abs(P.longitude)),W.z=0):(W=projectNormal(t,E,J,j,segmentStartNormal2DScratch),q.x=0,q.y=CesiumMath.sign(E.longitude-P.longitude),q.z=0));var Z,K,ee,te=Cartesian3.distance(Q,z),ie=EncodedCartesian3.fromCartesian(X,encodeScratch),re=Cartesian3.subtract(k,X,offsetScratch$1),ne=Cartesian3.normalize(re,rightScratch$1),ae=Cartesian3.subtract(Q,X,startUpScratch),ae=Cartesian3.normalize(ae,ae),oe=Cartesian3.cross(ne,ae,rightScratch$1),oe=Cartesian3.normalize(oe,oe),se=Cartesian3.cross(ae,J,startPlaneNormalScratch),se=Cartesian3.normalize(se,se),le=Cartesian3.subtract(z,k,endUpScratch),le=Cartesian3.normalize(le,le),ce=Cartesian3.cross(U,le,endPlaneNormalScratch),ce=Cartesian3.normalize(ce,ce),ue=te/I,de=$/I,he=0,pe=0,me=0;for(o&&(he=Cartesian3.distance(j,Y),Z=EncodedCartesian3.fromCartesian(j,encodeScratch2D),K=Cartesian3.subtract(Y,j,forwardOffset2DScratch),Te=(ee=Cartesian3.normalize(K,right2DScratch)).x,ee.x=ee.y,ee.y=-Te,pe=he/x,me=G/x),D=0;D<8;D++){var fe=B+4*D,ge=F+2*D,_e=fe+3,ye=D<4?1:-1,Ce=2===D||3===D||6===D||7===D?1:-1;Cartesian3.pack(ie.high,y,fe),y[_e]=re.x,Cartesian3.pack(ie.low,C,fe),C[_e]=re.y,Cartesian3.pack(se,v,fe),v[_e]=re.z,Cartesian3.pack(ce,S,fe),S[_e]=ue*ye,Cartesian3.pack(oe,T,fe);var ve=de*Ce;0===ve&&Ce<0&&(ve=9),T[_e]=ve,o&&(s[fe]=Z.high.x,s[fe+1]=Z.high.y,s[fe+2]=Z.low.x,s[fe+3]=Z.low.y,c[fe]=-W.y,c[fe+1]=W.x,c[fe+2]=q.y,c[fe+3]=-q.x,l[fe]=K.x,l[fe+1]=K.y,l[fe+2]=ee.x,l[fe+3]=ee.y,u[ge]=pe*ye,0===(ve=me*Ce)&&Ce<0&&(ve=9),u[ge+1]=ve)}var Se=adjustHeightStartBottomScratch,ne=adjustHeightEndBottomScratch,ae=adjustHeightStartTopScratch,J=adjustHeightEndTopScratch,le=Rectangle.fromCartographicArray(getHeightCartographics,getHeightRectangleScratch),Te=ApproximateTerrainHeights.getMinimumMaximumHeights(le,d),le=Te.minimumTerrainHeight,Te=Te.maximumTerrainHeight;H+=le,H+=Te,adjustHeights(X,Q,le,Te,Se,ae),adjustHeights(k,z,le,Te,ne,J);Te=Cartesian3.multiplyByScalar(oe,CesiumMath.EPSILON5,normalNudgeScratch);Cartesian3.add(Se,Te,Se),Cartesian3.add(ne,Te,ne),Cartesian3.add(ae,Te,ae),Cartesian3.add(J,Te,J),nudgeXZ(Se,ne),nudgeXZ(ae,J),Cartesian3.pack(Se,_,N),Cartesian3.pack(ne,_,N+3),Cartesian3.pack(J,_,N+6),Cartesian3.pack(ae,_,N+9),Te=Cartesian3.multiplyByScalar(oe,-2*CesiumMath.EPSILON5,normalNudgeScratch),Cartesian3.add(Se,Te,Se),Cartesian3.add(ne,Te,ne),Cartesian3.add(ae,Te,ae),Cartesian3.add(J,Te,J),nudgeXZ(Se,ne),nudgeXZ(ae,J),Cartesian3.pack(Se,_,N+12),Cartesian3.pack(ne,_,N+15),Cartesian3.pack(J,_,N+18),Cartesian3.pack(ae,_,N+21),L+=2,R+=3,F+=16,N+=24,B+=32,$+=te,G+=he}var be=R=0;for(O=0;O<h;O++){for(D=0;D<REFERENCE_INDICES_LENGTH;D++)g[R+D]=REFERENCE_INDICES[D]+be;be+=8,R+=REFERENCE_INDICES_LENGTH}p=scratchBoundingSpheres;BoundingSphere.fromVertices(i,Cartesian3.ZERO,3,p[0]),BoundingSphere.fromVertices(r,Cartesian3.ZERO,3,p[1]);e=BoundingSphere.fromBoundingSpheres(p);e.radius+=H/(2*h);p={position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,normalize:!1,values:_}),startHiAndForwardOffsetX:getVec4GeometryAttribute(y),startLoAndForwardOffsetY:getVec4GeometryAttribute(C),startNormalAndForwardOffsetZ:getVec4GeometryAttribute(v),endNormalAndTextureCoordinateNormalizationX:getVec4GeometryAttribute(S),rightNormalAndTextureCoordinateNormalizationY:getVec4GeometryAttribute(T)};return o&&(p.startHiLo2D=getVec4GeometryAttribute(s),p.offsetAndRight2D=getVec4GeometryAttribute(l),p.startEndNormals2D=getVec4GeometryAttribute(c),p.texcoordNormalization2D=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,normalize:!1,values:u})),new Geometry({attributes:p,indices:g,boundingSphere:e})}function getVec4GeometryAttribute(e){return new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}function HeadingPitchRange(e,t,i){this.heading=defaultValue(e,0),this.pitch=defaultValue(t,0),this.range=defaultValue(i,0)}GroundPolylineGeometry._projectNormal=projectNormal,HeadingPitchRange.clone=function(e,t){if(defined(e))return defined(t)||(t=new HeadingPitchRange),t.heading=e.heading,t.pitch=e.pitch,t.range=e.range,t};var factorial=CesiumMath.factorial;function calculateCoefficientTerm(e,t,i,r,n,a){var o,s,l,c=0;if(0<r){for(s=0;s<n;s++){for(o=!1,l=0;l<a.length&&!o;l++)s===a[l]&&(o=!0);o||(a.push(s),c+=calculateCoefficientTerm(e,t,i,r-1,n,a),a.splice(a.length-1,1))}return c}for(c=1,s=0;s<n;s++){for(o=!1,l=0;l<a.length&&!o;l++)s===a[l]&&(o=!0);o||(c*=e-i[t[s]])}return c}var HermitePolynomialApproximation={type:"Hermite",getRequiredDataPoints:function(e,t){return t=defaultValue(t,0),Math.max(Math.floor((e+1)/(t+1)),2)},interpolateOrderZero:function(e,t,i,r,n){var a,o;defined(n)||(n=new Array(r));for(var s=t.length,l=new Array(r),c=0;c<r;c++){n[c]=0;var u=new Array(s);for(l[c]=u,f=0;f<s;f++)u[f]=[]}var d=s,h=new Array(d);for(c=0;c<d;c++)h[c]=c;var p=s-1;for(v=0;v<r;v++){for(f=0;f<d;f++)o=h[f]*r+v,l[v][0].push(i[o]);for(c=1;c<d;c++){for(var m=!1,f=0;f<d-c;f++){var g,_=t[h[f]],y=t[h[f+c]];y-_<=0?(g=i[o=h[f]*r+r*c+v],l[v][c].push(g/factorial(c))):(g=l[v][c-1][f+1]-l[v][c-1][f],l[v][c].push(g/(y-_))),m=m||0!==g}m||(p=c-1)}}for(a=0;a<=0;a++)for(c=a;c<=p;c++)for(var C=calculateCoefficientTerm(e,h,t,a,c,[]),v=0;v<r;v++){var S=l[v][c][0];n[v+a*r]+=S*C}return n}},arrayScratch$1=[];function fillCoefficientList(e,t,i,r,n,a){for(var o,s=-1,l=t.length,c=l*(l+1)/2,u=0;u<n;u++){var d=Math.floor(u*c);for(g=0;g<l;g++)o=t[g]*n*(a+1)+u,e[d+g]=r[o];for(var h=1;h<l;h++){for(var p=0,m=Math.floor(h*(1-h)/2)+l*h,f=!1,g=0;g<l-h;g++){var _,y,C=i[t[g]],v=i[t[g+h]];C=v-C<=0?(y=r[o=t[g]*n*(a+1)+n*h+u])/CesiumMath.factorial(h):(y=e[d+(_=Math.floor((h-1)*(2-h)/2)+l*(h-1))+g+1]-e[d+_+g])/(v-C),e[d+m+p]=C,p++,f=f||0!==y}f&&(s=Math.max(s,h))}}return s}function IauOrientationParameters(e,t,i,r){this.rightAscension=e,this.declination=t,this.rotation=i,this.rotationRate=r}HermitePolynomialApproximation.interpolate=function(e,t,i,r,n,a,o){var s=r*(a+1);defined(o)||(o=new Array(s));for(var l=0;l<s;l++)o[l]=0;for(var c=t.length,u=new Array(c*(n+1)),d=0;d<c;d++)for(var h=0;h<n+1;h++)u[d*(n+1)+h]=d;for(var p=u.length,m=arrayScratch$1,f=fillCoefficientList(m,u,t,i,r,n),g=[],_=p*(p+1)/2,y=Math.min(f,a),C=0;C<=y;C++)for(d=C;d<=f;d++){g.length=0;for(var v=calculateCoefficientTerm(e,u,t,C,d,g),S=Math.floor(d*(1-d)/2)+p*d,T=0;T<r;T++){var b=m[Math.floor(T*_)+S];o[T+C*r]+=b*v}}return o};var Iau2000Orientation={},TdtMinusTai=32.184,J2000d=2451545,c1=-.0529921,c2=-.1059842,c3$1=13.0120009,c4=13.3407154,c5=.9856003,c6=26.4057084,c7=13.064993,c8=.3287146,c9=1.7484877,c10=-.1589763,c11=.0036096,c12=.1643573,c13=12.9590088,dateTT=new JulianDate;function IauOrientationAxes(e){defined(e)&&"function"==typeof e||(e=Iau2000Orientation.ComputeMoon),this._computeFunction=e}Iau2000Orientation.ComputeMoon=function(e,t){defined(e)||(e=JulianDate.now()),dateTT=JulianDate.addSeconds(e,TdtMinusTai,dateTT);var i=JulianDate.totalDays(dateTT)-J2000d,r=i/TimeConstants$1.DAYS_PER_JULIAN_CENTURY,n=(125.045+c1*i)*CesiumMath.RADIANS_PER_DEGREE,a=(250.089+c2*i)*CesiumMath.RADIANS_PER_DEGREE,o=(260.008+c3$1*i)*CesiumMath.RADIANS_PER_DEGREE,s=(176.625+c4*i)*CesiumMath.RADIANS_PER_DEGREE,l=(357.529+c5*i)*CesiumMath.RADIANS_PER_DEGREE,c=(311.589+c6*i)*CesiumMath.RADIANS_PER_DEGREE,u=(134.963+c7*i)*CesiumMath.RADIANS_PER_DEGREE,d=(276.617+c8*i)*CesiumMath.RADIANS_PER_DEGREE,h=(34.226+c9*i)*CesiumMath.RADIANS_PER_DEGREE,p=(15.134+c10*i)*CesiumMath.RADIANS_PER_DEGREE,m=(119.743+c11*i)*CesiumMath.RADIANS_PER_DEGREE,f=(239.961+c12*i)*CesiumMath.RADIANS_PER_DEGREE,g=(25.053+c13*i)*CesiumMath.RADIANS_PER_DEGREE,_=Math.sin(n),y=Math.sin(a),C=Math.sin(o),v=Math.sin(s),S=Math.sin(l),T=Math.sin(c),b=Math.sin(u),x=Math.sin(d),E=Math.sin(h),P=Math.sin(p),A=Math.sin(m),w=Math.sin(f),D=Math.sin(g),e=Math.cos(n),n=Math.cos(a),a=Math.cos(o),o=Math.cos(s),s=Math.cos(l),l=Math.cos(c),c=Math.cos(u),u=Math.cos(d),d=Math.cos(h),h=Math.cos(p),p=Math.cos(m),m=Math.cos(f),f=Math.cos(g),g=(269.9949+.0031*r-3.8787*_-.1204*y+.07*C-.0172*v+.0072*T-.0052*P+.0043*D)*CesiumMath.RADIANS_PER_DEGREE,r=(66.5392+.013*r+1.5419*e+.0239*n-.0278*a+.0068*o-.0029*l+9e-4*c+8e-4*h-9e-4*f)*CesiumMath.RADIANS_PER_DEGREE,D=(38.3213+13.17635815*i-14e-13*i*i+3.561*_+.1208*y-.0642*C+.0158*v+.0252*S-.0066*T-.0047*b-.0046*x+.0028*E+.0052*P+.004*A+.0019*w-.0044*D)*CesiumMath.RADIANS_PER_DEGREE,f=(13.17635815-2*i*14e-13+3.561*e*c1+.1208*n*c2-.0642*a*c3$1+.0158*o*c4+.0252*s*c5-.0066*l*c6-.0047*c*c7-.0046*u*c8+.0028*d*c9+.0052*h*c10+.004*p*c11+.0019*m*c12-.0044*f*c13)/86400*CesiumMath.RADIANS_PER_DEGREE;return defined(t)||(t=new IauOrientationParameters),t.rightAscension=g,t.declination=r,t.rotation=D,t.rotationRate=f,t};var xAxisScratch=new Cartesian3,yAxisScratch=new Cartesian3,zAxisScratch=new Cartesian3;function computeRotationMatrix(e,t,i){var r=xAxisScratch;r.x=Math.cos(e+CesiumMath.PI_OVER_TWO),r.y=Math.sin(e+CesiumMath.PI_OVER_TWO),r.z=0;var n=Math.cos(t),a=zAxisScratch;a.x=n*Math.cos(e),a.y=n*Math.sin(e),a.z=Math.sin(t);t=Cartesian3.cross(a,r,yAxisScratch);return defined(i)||(i=new Matrix3),i[0]=r.x,i[1]=t.x,i[2]=a.x,i[3]=r.y,i[4]=t.y,i[5]=a.y,i[6]=r.z,i[7]=t.z,i[8]=a.z,i}var rotMtxScratch=new Matrix3,quatScratch=new Quaternion;IauOrientationAxes.prototype.evaluate=function(e,t){defined(e)||(e=JulianDate.now());e=this._computeFunction(e),t=computeRotationMatrix(e.rightAscension,e.declination,t),e=CesiumMath.zeroToTwoPi(e.rotation),e=Quaternion.fromAxisAngle(Cartesian3.UNIT_Z,e,quatScratch),e=Matrix3.fromQuaternion(Quaternion.conjugate(e,e),rotMtxScratch);return Matrix3.multiply(e,t,t)};var InterpolationAlgorithm={};function PeliasGeocoderService(e){this._url=Resource.createIfNeeded(e),this._url.appendForwardSlash()}function IonGeocoderService(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.accessToken,Ion.defaultAccessToken),i=Resource.createIfNeeded(defaultValue(e.server,Ion.defaultServer));i.appendForwardSlash();var r=Ion.getDefaultTokenCredit(t);defined(r)&&e.scene.frameState.creditDisplay.addDefaultCredit(Credit.clone(r));r=i.getDerivedResource({url:"v1/geocode"});defined(t)&&r.appendQueryParameters({access_token:t}),this._accessToken=t,this._server=i,this._pelias=new PeliasGeocoderService(r)}function TimeInterval(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.start=defined(e.start)?JulianDate.clone(e.start):new JulianDate,this.stop=defined(e.stop)?JulianDate.clone(e.stop):new JulianDate,this.data=e.data,this.isStartIncluded=defaultValue(e.isStartIncluded,!0),this.isStopIncluded=defaultValue(e.isStopIncluded,!0)}InterpolationAlgorithm.type=void 0,InterpolationAlgorithm.getRequiredDataPoints=DeveloperError.throwInstantiationError,InterpolationAlgorithm.interpolateOrderZero=DeveloperError.throwInstantiationError,InterpolationAlgorithm.interpolate=DeveloperError.throwInstantiationError,Object.defineProperties(PeliasGeocoderService.prototype,{url:{get:function(){return this._url}}}),PeliasGeocoderService.prototype.geocode=function(e,t){return this._url.getDerivedResource({url:t===GeocodeType$1.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}}).fetchJson().then(function(e){return e.features.map(function(e){var t,i=e.bbox;return t=defined(i)?Rectangle.fromDegrees(i[0],i[1],i[2],i[3]):(i=e.geometry.coordinates[0],t=e.geometry.coordinates[1],Cartesian3.fromDegrees(i,t)),{displayName:e.properties.label,destination:t}})})},IonGeocoderService.prototype.geocode=function(e,t){return this._pelias.geocode(e,t)},Object.defineProperties(TimeInterval.prototype,{isEmpty:{get:function(){var e=JulianDate.compare(this.stop,this.start);return e<0||0===e&&(!this.isStartIncluded||!this.isStopIncluded)}}});var scratchInterval={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};TimeInterval.fromIso8601=function(e,t){var i=e.iso8601.split("/");if(2!==i.length)throw new DeveloperError("options.iso8601 is an invalid ISO 8601 interval.");var r=JulianDate.fromIso8601(i[0]),n=JulianDate.fromIso8601(i[1]),a=defaultValue(e.isStartIncluded,!0),i=defaultValue(e.isStopIncluded,!0),e=e.data;return defined(t)?(t.start=r,t.stop=n,t.isStartIncluded=a,t.isStopIncluded=i,t.data=e,t):(scratchInterval.start=r,scratchInterval.stop=n,scratchInterval.isStartIncluded=a,scratchInterval.isStopIncluded=i,scratchInterval.data=e,new TimeInterval(scratchInterval))},TimeInterval.toIso8601=function(e,t){return JulianDate.toIso8601(e.start,t)+"/"+JulianDate.toIso8601(e.stop,t)},TimeInterval.clone=function(e,t){if(defined(e))return defined(t)?(t.start=e.start,t.stop=e.stop,t.isStartIncluded=e.isStartIncluded,t.isStopIncluded=e.isStopIncluded,t.data=e.data,t):new TimeInterval(e)},TimeInterval.equals=function(e,t,i){return e===t||defined(e)&&defined(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&JulianDate.equals(e.start,t.start)&&JulianDate.equals(e.stop,t.stop)&&(e.data===t.data||defined(i)&&i(e.data,t.data)))},TimeInterval.equalsEpsilon=function(e,t,i,r){return i=defaultValue(i,0),e===t||defined(e)&&defined(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&JulianDate.equalsEpsilon(e.start,t.start,i)&&JulianDate.equalsEpsilon(e.stop,t.stop,i)&&(e.data===t.data||defined(r)&&r(e.data,t.data)))},TimeInterval.intersect=function(e,t,i,r){if(!defined(t))return TimeInterval.clone(TimeInterval.EMPTY,i);var n=e.start,a=e.stop,o=t.start,s=t.stop,l=JulianDate.greaterThanOrEquals(o,n)&&JulianDate.greaterThanOrEquals(a,o),c=!l&&JulianDate.lessThanOrEquals(o,n)&&JulianDate.lessThanOrEquals(n,s);if(!l&&!c)return TimeInterval.clone(TimeInterval.EMPTY,i);var u=e.isStartIncluded,d=e.isStopIncluded,h=t.isStartIncluded,p=t.isStopIncluded,m=JulianDate.lessThan(a,s);return defined(i)||(i=new TimeInterval),i.start=l?o:n,i.isStartIncluded=u&&h||!JulianDate.equals(o,n)&&(l&&h||c&&u),i.stop=m?a:s,i.isStopIncluded=m?d:d&&p||!JulianDate.equals(s,a)&&p,i.data=defined(r)?r(e.data,t.data):e.data,i},TimeInterval.contains=function(e,t){if(e.isEmpty)return!1;var i=JulianDate.compare(e.start,t);if(0===i)return e.isStartIncluded;t=JulianDate.compare(t,e.stop);return 0===t?e.isStopIncluded:i<0&&t<0},TimeInterval.prototype.clone=function(e){return TimeInterval.clone(this,e)},TimeInterval.prototype.equals=function(e,t){return TimeInterval.equals(this,e,t)},TimeInterval.prototype.equalsEpsilon=function(e,t,i){return TimeInterval.equalsEpsilon(this,e,t,i)},TimeInterval.prototype.toString=function(){return TimeInterval.toIso8601(this)},TimeInterval.EMPTY=Object.freeze(new TimeInterval({start:new JulianDate,stop:new JulianDate,isStartIncluded:!1,isStopIncluded:!1}));var MINIMUM_VALUE=Object.freeze(JulianDate.fromIso8601("0000-01-01T00:00:00Z")),MAXIMUM_VALUE=Object.freeze(JulianDate.fromIso8601("9999-12-31T24:00:00Z")),MAXIMUM_INTERVAL=Object.freeze(new TimeInterval({start:MINIMUM_VALUE,stop:MAXIMUM_VALUE})),Iso8601={MINIMUM_VALUE:MINIMUM_VALUE,MAXIMUM_VALUE:MAXIMUM_VALUE,MAXIMUM_INTERVAL:MAXIMUM_INTERVAL},KeyboardEventModifier={SHIFT:0,CTRL:1,ALT:2},KeyboardEventModifier$1=Object.freeze(KeyboardEventModifier),LagrangePolynomialApproximation={type:"Lagrange",getRequiredDataPoints:function(e){return Math.max(e+1,2)},interpolateOrderZero:function(e,t,i,r,n){defined(n)||(n=new Array(r));for(var a=t.length,o=0;o<r;o++)n[o]=0;for(o=0;o<a;o++){for(var s,l=1,c=0;c<a;c++)c!==o&&(s=t[o]-t[c],l*=(e-t[c])/s);for(c=0;c<r;c++)n[c]+=l*i[o*r+c]}return n}},LinearApproximation={type:"Linear",getRequiredDataPoints:function(e){return 2},interpolateOrderZero:function(e,t,i,r,n){var a,o;defined(n)||(n=new Array(r));for(var s=t[0],l=t[1],c=0;c<r;c++)a=i[c],o=i[c+r],n[c]=((o-a)*e+l*a-s*o)/(l-s);return n}},transcodeTaskProcessor=new TaskProcessor("transcodeCRNToDXT",Number.POSITIVE_INFINITY);function loadCRN(e){if(defined(e=e instanceof ArrayBuffer||ArrayBuffer.isView(e)?when.resolve(e):Resource.createIfNeeded(e).fetchArrayBuffer()))return e.then(function(e){if(defined(e)){var t=[];return e instanceof ArrayBuffer?t.push(e):(0===e.byteOffset&&e.byteLength===e.buffer.byteLength||(e=e.slice(0,e.length)),t.push(e.buffer)),transcodeTaskProcessor.scheduleTask(e,t)}}).then(function(e){return CompressedTextureBuffer.clone(e)})}function loadImageFromTypedArray(e){var t,i=e.uint8Array,r=e.format,n=e.request,a=defaultValue(e.flipY,!1),o=new Blob([i],{type:r});return Resource.supportsImageBitmapOptions().then(function(e){return e?when(Resource.createImageBitmapFromBlob(o,{flipY:a,premultiplyAlpha:!1})):new Resource({url:t=window.URL.createObjectURL(o),request:n}).fetchImage({flipY:a})}).then(function(e){return defined(t)&&window.URL.revokeObjectURL(t),e}).otherwise(function(e){return defined(t)&&window.URL.revokeObjectURL(t),when.reject(e)})}var PixelDatatype={UNSIGNED_BYTE:WebGLConstants$1.UNSIGNED_BYTE,UNSIGNED_SHORT:WebGLConstants$1.UNSIGNED_SHORT,UNSIGNED_INT:WebGLConstants$1.UNSIGNED_INT,FLOAT:WebGLConstants$1.FLOAT,HALF_FLOAT:WebGLConstants$1.HALF_FLOAT_OES,UNSIGNED_INT_24_8:WebGLConstants$1.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:WebGLConstants$1.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:WebGLConstants$1.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:WebGLConstants$1.UNSIGNED_SHORT_5_6_5,toWebGLConstant:function(e,t){switch(e){case PixelDatatype.UNSIGNED_BYTE:return WebGLConstants$1.UNSIGNED_BYTE;case PixelDatatype.UNSIGNED_SHORT:return WebGLConstants$1.UNSIGNED_SHORT;case PixelDatatype.UNSIGNED_INT:return WebGLConstants$1.UNSIGNED_INT;case PixelDatatype.FLOAT:return WebGLConstants$1.FLOAT;case PixelDatatype.HALF_FLOAT:return t.webgl2?WebGLConstants$1.HALF_FLOAT:WebGLConstants$1.HALF_FLOAT_OES;case PixelDatatype.UNSIGNED_INT_24_8:return WebGLConstants$1.UNSIGNED_INT_24_8;case PixelDatatype.UNSIGNED_SHORT_4_4_4_4:return WebGLConstants$1.UNSIGNED_SHORT_4_4_4_4;case PixelDatatype.UNSIGNED_SHORT_5_5_5_1:return WebGLConstants$1.UNSIGNED_SHORT_5_5_5_1;case PixelDatatype.UNSIGNED_SHORT_5_6_5:return PixelDatatype.UNSIGNED_SHORT_5_6_5}},isPacked:function(e){return e===PixelDatatype.UNSIGNED_INT_24_8||e===PixelDatatype.UNSIGNED_SHORT_4_4_4_4||e===PixelDatatype.UNSIGNED_SHORT_5_5_5_1||e===PixelDatatype.UNSIGNED_SHORT_5_6_5},sizeInBytes:function(e){switch(e){case PixelDatatype.UNSIGNED_BYTE:return 1;case PixelDatatype.UNSIGNED_SHORT:case PixelDatatype.UNSIGNED_SHORT_4_4_4_4:case PixelDatatype.UNSIGNED_SHORT_5_5_5_1:case PixelDatatype.UNSIGNED_SHORT_5_6_5:case PixelDatatype.HALF_FLOAT:return 2;case PixelDatatype.UNSIGNED_INT:case PixelDatatype.FLOAT:case PixelDatatype.UNSIGNED_INT_24_8:return 4}},validate:function(e){return e===PixelDatatype.UNSIGNED_BYTE||e===PixelDatatype.UNSIGNED_SHORT||e===PixelDatatype.UNSIGNED_INT||e===PixelDatatype.FLOAT||e===PixelDatatype.HALF_FLOAT||e===PixelDatatype.UNSIGNED_INT_24_8||e===PixelDatatype.UNSIGNED_SHORT_4_4_4_4||e===PixelDatatype.UNSIGNED_SHORT_5_5_5_1||e===PixelDatatype.UNSIGNED_SHORT_5_6_5}},PixelDatatype$1=Object.freeze(PixelDatatype),PixelFormat={DEPTH_COMPONENT:WebGLConstants$1.DEPTH_COMPONENT,DEPTH_STENCIL:WebGLConstants$1.DEPTH_STENCIL,ALPHA:WebGLConstants$1.ALPHA,RGB:WebGLConstants$1.RGB,RGBA:WebGLConstants$1.RGBA,LUMINANCE:WebGLConstants$1.LUMINANCE,LUMINANCE_ALPHA:WebGLConstants$1.LUMINANCE_ALPHA,RGB_DXT1:WebGLConstants$1.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:WebGLConstants$1.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:WebGLConstants$1.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:WebGLConstants$1.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:WebGLConstants$1.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:WebGLConstants$1.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:WebGLConstants$1.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:WebGLConstants$1.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGB_ETC1:WebGLConstants$1.COMPRESSED_RGB_ETC1_WEBGL,componentsLength:function(e){switch(e){case PixelFormat.RGB:return 3;case PixelFormat.RGBA:return 4;case PixelFormat.LUMINANCE_ALPHA:return 2;case PixelFormat.ALPHA:case PixelFormat.LUMINANCE:default:return 1}},validate:function(e){return e===PixelFormat.DEPTH_COMPONENT||e===PixelFormat.DEPTH_STENCIL||e===PixelFormat.ALPHA||e===PixelFormat.RGB||e===PixelFormat.RGBA||e===PixelFormat.LUMINANCE||e===PixelFormat.LUMINANCE_ALPHA||e===PixelFormat.RGB_DXT1||e===PixelFormat.RGBA_DXT1||e===PixelFormat.RGBA_DXT3||e===PixelFormat.RGBA_DXT5||e===PixelFormat.RGB_PVRTC_4BPPV1||e===PixelFormat.RGB_PVRTC_2BPPV1||e===PixelFormat.RGBA_PVRTC_4BPPV1||e===PixelFormat.RGBA_PVRTC_2BPPV1||e===PixelFormat.RGB_ETC1},isColorFormat:function(e){return e===PixelFormat.ALPHA||e===PixelFormat.RGB||e===PixelFormat.RGBA||e===PixelFormat.LUMINANCE||e===PixelFormat.LUMINANCE_ALPHA},isDepthFormat:function(e){return e===PixelFormat.DEPTH_COMPONENT||e===PixelFormat.DEPTH_STENCIL},isCompressedFormat:function(e){return e===PixelFormat.RGB_DXT1||e===PixelFormat.RGBA_DXT1||e===PixelFormat.RGBA_DXT3||e===PixelFormat.RGBA_DXT5||e===PixelFormat.RGB_PVRTC_4BPPV1||e===PixelFormat.RGB_PVRTC_2BPPV1||e===PixelFormat.RGBA_PVRTC_4BPPV1||e===PixelFormat.RGBA_PVRTC_2BPPV1||e===PixelFormat.RGB_ETC1},isDXTFormat:function(e){return e===PixelFormat.RGB_DXT1||e===PixelFormat.RGBA_DXT1||e===PixelFormat.RGBA_DXT3||e===PixelFormat.RGBA_DXT5},isPVRTCFormat:function(e){return e===PixelFormat.RGB_PVRTC_4BPPV1||e===PixelFormat.RGB_PVRTC_2BPPV1||e===PixelFormat.RGBA_PVRTC_4BPPV1||e===PixelFormat.RGBA_PVRTC_2BPPV1},isETC1Format:function(e){return e===PixelFormat.RGB_ETC1},compressedTextureSizeInBytes:function(e,t,i){switch(e){case PixelFormat.RGB_DXT1:case PixelFormat.RGBA_DXT1:case PixelFormat.RGB_ETC1:return Math.floor((t+3)/4)*Math.floor((i+3)/4)*8;case PixelFormat.RGBA_DXT3:case PixelFormat.RGBA_DXT5:return Math.floor((t+3)/4)*Math.floor((i+3)/4)*16;case PixelFormat.RGB_PVRTC_4BPPV1:case PixelFormat.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(i,8)*4+7)/8);case PixelFormat.RGB_PVRTC_2BPPV1:case PixelFormat.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(i,8)*2+7)/8);default:return 0}},textureSizeInBytes:function(e,t,i,r){e=PixelFormat.componentsLength(e);return PixelDatatype$1.isPacked(t)&&(e=1),e*PixelDatatype$1.sizeInBytes(t)*i*r},alignmentInBytes:function(e,t,i){i=PixelFormat.textureSizeInBytes(e,t,i,1)%4;return 0==i?4:2==i?2:1},createTypedArray:function(e,t,i,r){var n=PixelDatatype$1.sizeInBytes(t),t=n===Uint8Array.BYTES_PER_ELEMENT?Uint8Array:n===Uint16Array.BYTES_PER_ELEMENT?Uint16Array:n===Float32Array.BYTES_PER_ELEMENT&&t===PixelDatatype$1.FLOAT?Float32Array:Uint32Array;return new t(PixelFormat.componentsLength(e)*i*r)},flipY:function(e,t,i,r,n){if(1===n)return e;for(var a=PixelFormat.createTypedArray(t,i,r,n),o=PixelFormat.componentsLength(t),s=r*o,l=0;l<n;++l)for(var c=l*r*o,u=(n-l-1)*r*o,d=0;d<s;++d)a[u+d]=e[c+d];return a},toInternalFormat:function(e,t,i){if(!i.webgl2)return e;if(e===PixelFormat.DEPTH_STENCIL)return WebGLConstants$1.DEPTH24_STENCIL8;if(e===PixelFormat.DEPTH_COMPONENT){if(t===PixelDatatype$1.UNSIGNED_SHORT)return WebGLConstants$1.DEPTH_COMPONENT16;if(t===PixelDatatype$1.UNSIGNED_INT)return WebGLConstants$1.DEPTH_COMPONENT24}if(t===PixelDatatype$1.FLOAT)switch(e){case PixelFormat.RGBA:return WebGLConstants$1.RGBA32F;case PixelFormat.RGB:return WebGLConstants$1.RGB32F;case PixelFormat.RG:return WebGLConstants$1.RG32F;case PixelFormat.R:return WebGLConstants$1.R32F}if(t===PixelDatatype$1.HALF_FLOAT)switch(e){case PixelFormat.RGBA:return WebGLConstants$1.RGBA16F;case PixelFormat.RGB:return WebGLConstants$1.RGB16F;case PixelFormat.RG:return WebGLConstants$1.RG16F;case PixelFormat.R:return WebGLConstants$1.R16F}return e}},PixelFormat$1=Object.freeze(PixelFormat);function loadKTX(e){if(defined(e=e instanceof ArrayBuffer||ArrayBuffer.isView(e)?when.resolve(e):Resource.createIfNeeded(e).fetchArrayBuffer()))return e.then(function(e){if(defined(e))return parseKTX(e)})}var fileIdentifier=[171,75,84,88,32,49,49,187,13,10,26,10],endiannessTest=67305985,faceOrder=["positiveX","negativeX","positiveY","negativeY","positiveZ","negativeZ"],sizeOfUint32$1=4;function parseKTX(e){for(var t,i=new Uint8Array(e),r=!0,n=0;n<fileIdentifier.length;++n)if(fileIdentifier[n]!==i[n]){r=!1;break}if(!r)throw new RuntimeError("Invalid KTX file.");t=defined(e.buffer)?(y=new DataView(e.buffer),e.byteOffset):(y=new DataView(e),0),t+=12;var a=y.getUint32(t,!0);if(t+=sizeOfUint32$1,a!==endiannessTest)throw new RuntimeError("File is the wrong endianness.");var o=y.getUint32(t,!0);t+=sizeOfUint32$1;var s=y.getUint32(t,!0);t+=sizeOfUint32$1;var l=y.getUint32(t,!0);t+=sizeOfUint32$1;var c=y.getUint32(t,!0);t+=sizeOfUint32$1;var u=y.getUint32(t,!0);t+=sizeOfUint32$1;var d=y.getUint32(t,!0);t+=sizeOfUint32$1;var h=y.getUint32(t,!0);t+=sizeOfUint32$1;var p=y.getUint32(t,!0);t+=sizeOfUint32$1;var m=y.getUint32(t,!0);t+=sizeOfUint32$1;var f=y.getUint32(t,!0);t+=sizeOfUint32$1;var g=y.getUint32(t,!0);t+=sizeOfUint32$1;a=y.getUint32(t,!0);t+=sizeOfUint32$1,t+=a;var _,y=y.getUint32(t,!0);if(t+=sizeOfUint32$1,_=defined(e.buffer)?new Uint8Array(e.buffer,t,y):new Uint8Array(e,t,y),c===WebGLConstants$1.RGB8?c=PixelFormat$1.RGB:c===WebGLConstants$1.RGBA8&&(c=PixelFormat$1.RGBA),!PixelFormat$1.validate(c))throw new RuntimeError("glInternalFormat is not a valid format.");if(PixelFormat$1.isCompressedFormat(c)){if(0!==o)throw new RuntimeError("glType must be zero when the texture is compressed.");if(1!==s)throw new RuntimeError("The type size for compressed textures must be 1.");if(0!==l)throw new RuntimeError("glFormat must be zero when the texture is compressed.")}else{if(o!==WebGLConstants$1.UNSIGNED_BYTE)throw new RuntimeError("Only unsigned byte buffers are supported.");if(u!==l)throw new RuntimeError("The base internal format must be the same as the format for uncompressed textures.")}if(0!==p)throw new RuntimeError("3D textures are unsupported.");if(0!==m)throw new RuntimeError("Texture arrays are unsupported.");var C=_.byteOffset,v=new Array(g);for(n=0;n<g;++n){for(var S=v[n]={},T=0;T<f;++T){var b=d>>n,x=h>>n,E=PixelFormat$1.isCompressedFormat(c)?PixelFormat$1.compressedTextureSizeInBytes(c,b,x):PixelFormat$1.textureSizeInBytes(c,o,b,x),P=new Uint8Array(_.buffer,C,E);S[faceOrder[T]]=new CompressedTextureBuffer(c,b,x,P),C+=E}C+=3-(C+3)%4+4}var A=v;if(1===f)for(n=0;n<g;++n)A[n]=A[n][faceOrder[0]];return 1===g&&(A=A[0]),A}function ManagedArray(e){e=defaultValue(e,0),this._array=new Array(e),this._length=e}function MapProjection(){DeveloperError.throwInstantiationError()}Object.defineProperties(ManagedArray.prototype,{length:{get:function(){return this._length},set:function(e){var t=this._array,i=this._length;if(e<i)for(var r=e;r<i;++r)t[r]=void 0;else e>t.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}}),ManagedArray.prototype.get=function(e){return this._array[e]},ManagedArray.prototype.set=function(e,t){e>=this._length&&(this.length=e+1),this._array[e]=t},ManagedArray.prototype.peek=function(){return this._array[this._length-1]},ManagedArray.prototype.push=function(e){var t=this.length++;this._array[t]=e},ManagedArray.prototype.pop=function(){if(0!==this._length){var e=this._array[this._length-1];return--this.length,e}},ManagedArray.prototype.reserve=function(e){e>this._array.length&&(this._array.length=e)},ManagedArray.prototype.resize=function(e){this.length=e},ManagedArray.prototype.trim=function(e){e=defaultValue(e,this._length),this._array.length=e},Object.defineProperties(MapProjection.prototype,{ellipsoid:{get:DeveloperError.throwInstantiationError}}),MapProjection.prototype.project=DeveloperError.throwInstantiationError,MapProjection.prototype.unproject=DeveloperError.throwInstantiationError;var leftScratchArray=[],rightScratchArray=[];function merge(e,t,i,r,n,a){for(var o,s=n-r+1,l=a-n,c=leftScratchArray,u=rightScratchArray,d=0;d<s;++d)c[d]=e[r+d];for(o=0;o<l;++o)u[o]=e[n+o+1];o=d=0;for(var h=r;h<=a;++h){var p=c[d],m=u[o];d<s&&(l<=o||t(p,m,i)<=0)?(e[h]=p,++d):o<l&&(e[h]=m,++o)}}function sort(e,t,i,r,n){var a;n<=r||(sort(e,t,i,r,a=Math.floor(.5*(r+n))),sort(e,t,i,a+1,n),merge(e,t,i,r,a,n))}function mergeSort(e,t,i){var r=e.length,n=Math.ceil(.5*r);leftScratchArray.length=n,rightScratchArray.length=n,sort(e,t,i,0,r-1),leftScratchArray.length=0,rightScratchArray.length=0}function NearFarScalar(e,t,i,r){this.near=defaultValue(e,0),this.nearValue=defaultValue(t,0),this.far=defaultValue(i,1),this.farValue=defaultValue(r,0)}NearFarScalar.clone=function(e,t){if(defined(e))return defined(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new NearFarScalar(e.near,e.nearValue,e.far,e.farValue)},NearFarScalar.packedLength=4,NearFarScalar.pack=function(e,t,i){return i=defaultValue(i,0),t[i++]=e.near,t[i++]=e.nearValue,t[i++]=e.far,t[i]=e.farValue,t},NearFarScalar.unpack=function(e,t,i){return t=defaultValue(t,0),defined(i)||(i=new NearFarScalar),i.near=e[t++],i.nearValue=e[t++],i.far=e[t++],i.farValue=e[t],i},NearFarScalar.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue},NearFarScalar.prototype.clone=function(e){return NearFarScalar.clone(this,e)},NearFarScalar.prototype.equals=function(e){return NearFarScalar.equals(this,e)};var Visibility={NONE:-1,PARTIAL:0,FULL:1},Visibility$1=Object.freeze(Visibility);function Occluder(e,t){this._occluderPosition=Cartesian3.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=t}var scratchCartesian3$7=new Cartesian3;Object.defineProperties(Occluder.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(e){e=Cartesian3.clone(e,this._cameraPosition);var t,i,r,n=Cartesian3.subtract(this._occluderPosition,e,scratchCartesian3$7),a=Cartesian3.magnitudeSquared(n),o=this._occluderRadius*this._occluderRadius;o<a?(t=Math.sqrt(a-o),a=1/Math.sqrt(a),i=Cartesian3.multiplyByScalar(n,a,scratchCartesian3$7),r=t*t*a,r=Cartesian3.add(e,Cartesian3.multiplyByScalar(i,r,scratchCartesian3$7),scratchCartesian3$7)):t=Number.MAX_VALUE,this._horizonDistance=t,this._horizonPlaneNormal=i,this._horizonPlanePosition=r,this._cameraPosition=e}}}),Occluder.fromBoundingSphere=function(e,t,i){return defined(i)?(Cartesian3.clone(e.center,i._occluderPosition),i._occluderRadius=e.radius,i.cameraPosition=t,i):new Occluder(e,t)};var tempVecScratch=new Cartesian3;Occluder.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){var t=Cartesian3.subtract(e,this._occluderPosition,tempVecScratch),i=this._occluderRadius;if(0<(i=Cartesian3.magnitudeSquared(t)-i*i))return i=Math.sqrt(i)+this._horizonDistance,t=Cartesian3.subtract(e,this._cameraPosition,t),i*i>Cartesian3.magnitudeSquared(t)}return!1};var occludeePositionScratch=new Cartesian3;Occluder.prototype.isBoundingSphereVisible=function(e){var t=Cartesian3.clone(e.center,occludeePositionScratch),i=e.radius;if(this._horizonDistance===Number.MAX_VALUE)return!1;var r=Cartesian3.subtract(t,this._occluderPosition,tempVecScratch),e=this._occluderRadius-i,e=Cartesian3.magnitudeSquared(r)-e*e;if(i<this._occluderRadius)return 0<e&&(e=Math.sqrt(e)+this._horizonDistance,r=Cartesian3.subtract(t,this._cameraPosition,r),e*e+i*i>Cartesian3.magnitudeSquared(r));if(0<e){r=Cartesian3.subtract(t,this._cameraPosition,r);t=Cartesian3.magnitudeSquared(r),r=this._occluderRadius*this._occluderRadius,i=i*i;return(this._horizonDistance*this._horizonDistance+r)*i>t*r?!0:t<(e=Math.sqrt(e)+this._horizonDistance)*e+i}return!0};var tempScratch$1=new Cartesian3;Occluder.prototype.computeVisibility=function(e){var t=Cartesian3.clone(e.center),i=e.radius;if(i>this._occluderRadius)return Visibility$1.FULL;if(this._horizonDistance!==Number.MAX_VALUE){var r=Cartesian3.subtract(t,this._occluderPosition,tempScratch$1),n=this._occluderRadius-i,a=Cartesian3.magnitudeSquared(r);if(0<(n=a-n*n)){n=Math.sqrt(n)+this._horizonDistance,r=Cartesian3.subtract(t,this._cameraPosition,r);e=Cartesian3.magnitudeSquared(r);return n*n+i*i<e?Visibility$1.NONE:0<(n=a-(n=this._occluderRadius+i)*n)?e<(n=Math.sqrt(n)+this._horizonDistance)*n+i*i?Visibility$1.FULL:Visibility$1.PARTIAL:(r=Cartesian3.subtract(t,this._horizonPlanePosition,r),Cartesian3.dot(r,this._horizonPlaneNormal)>-i?Visibility$1.PARTIAL:Visibility$1.FULL)}}return Visibility$1.NONE};var occludeePointScratch=new Cartesian3;Occluder.computeOccludeePoint=function(e,t,i){var r=Cartesian3.clone(t),n=Cartesian3.clone(e.center),t=e.radius,a=i.length,o=Cartesian3.normalize(Cartesian3.subtract(r,n,occludeePointScratch),occludeePointScratch),s=-Cartesian3.dot(o,n),l=Occluder._anyRotationVector(n,o,s),c=Occluder._horizonToPlaneNormalDotProduct(e,o,s,l,i[0]);if(c){for(var u,d=1;d<a;++d){if(!(u=Occluder._horizonToPlaneNormalDotProduct(e,o,s,l,i[d])))return;u<c&&(c=u)}if(!(c<.0017453283658983088)){t=t/c;return Cartesian3.add(n,Cartesian3.multiplyByScalar(o,t,occludeePointScratch),occludeePointScratch)}}};var computeOccludeePointFromRectangleScratch=[];Occluder.computeOccludeePointFromRectangle=function(e,t){t=defaultValue(t,Ellipsoid.WGS84);var i=Rectangle.subsample(e,t,0,computeOccludeePointFromRectangleScratch),r=BoundingSphere.fromPoints(i),e=Cartesian3.ZERO;if(!Cartesian3.equals(e,r.center))return Occluder.computeOccludeePoint(new BoundingSphere(e,t.minimumRadius),r.center,i)};var tempVec0Scratch=new Cartesian3;Occluder._anyRotationVector=function(e,t,i){var r=Cartesian3.abs(t,tempVec0Scratch),n=r.x>r.y?0:1;(0===n&&r.z>r.x||1===n&&r.z>r.y)&&(n=2);var a=new Cartesian3,n=0===n?(r.x=e.x,r.y=e.y+1,r.z=e.z+1,Cartesian3.UNIT_X):1===n?(r.x=e.x+1,r.y=e.y,r.z=e.z+1,Cartesian3.UNIT_Y):(r.x=e.x+1,r.y=e.y+1,r.z=e.z,Cartesian3.UNIT_Z),t=(Cartesian3.dot(t,r)+i)/-Cartesian3.dot(t,n);return Cartesian3.normalize(Cartesian3.subtract(Cartesian3.add(r,Cartesian3.multiplyByScalar(n,t,a),r),e,r),r)};var posDirectionScratch=new Cartesian3;Occluder._rotationVector=function(e,t,i,r,n){e=Cartesian3.subtract(r,e,posDirectionScratch),e=Cartesian3.normalize(e,e);if(Cartesian3.dot(t,e)<.9999999847691291){e=Cartesian3.cross(t,e,e);if(Cartesian3.magnitude(e)>CesiumMath.EPSILON13)return Cartesian3.normalize(e,new Cartesian3)}return n};var posScratch1=new Cartesian3,occluerPosScratch=new Cartesian3,posScratch2=new Cartesian3,horizonPlanePosScratch=new Cartesian3;function OffsetGeometryInstanceAttribute(e,t,i){e=defaultValue(e,0),t=defaultValue(t,0),i=defaultValue(i,0),this.value=new Float32Array([e,t,i])}function OpenCageGeocoderService(e,t,i){(e=Resource.createIfNeeded(e)).appendForwardSlash(),e.setQueryParameters({key:t}),this._url=e,this._params=defaultValue(i,{})}Occluder._horizonToPlaneNormalDotProduct=function(e,t,i,r,n){var a=Cartesian3.clone(n,posScratch1),o=Cartesian3.clone(e.center,occluerPosScratch),s=e.radius,l=Cartesian3.subtract(o,a,posScratch2),n=Cartesian3.magnitudeSquared(l),e=s*s;if(n<e)return!1;s=n-e,e=Math.sqrt(s),n=e*(1/Math.sqrt(n))*e,l=Cartesian3.normalize(l,l),e=Cartesian3.add(a,Cartesian3.multiplyByScalar(l,n,horizonPlanePosScratch),horizonPlanePosScratch),n=Math.sqrt(s-n*n),r=this._rotationVector(o,t,i,a,r),l=Cartesian3.fromElements(r.x*r.x*l.x+(r.x*r.y-r.z)*l.y+(r.x*r.z+r.y)*l.z,(r.x*r.y+r.z)*l.x+r.y*r.y*l.y+(r.y*r.z-r.x)*l.z,(r.x*r.z-r.y)*l.x+(r.y*r.z+r.x)*l.y+r.z*r.z*l.z,posScratch1),l=Cartesian3.normalize(l,l),l=Cartesian3.multiplyByScalar(l,n,posScratch1),r=Cartesian3.normalize(Cartesian3.subtract(Cartesian3.add(e,l,posScratch2),o,posScratch2),posScratch2),n=Cartesian3.dot(t,r);r=Cartesian3.normalize(Cartesian3.subtract(Cartesian3.subtract(e,l,r),o,r),r);r=Cartesian3.dot(t,r);return n<r?n:r},Object.defineProperties(OffsetGeometryInstanceAttribute.prototype,{componentDatatype:{get:function(){return ComponentDatatype$1.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}}),OffsetGeometryInstanceAttribute.fromCartesian3=function(e){return new OffsetGeometryInstanceAttribute(e.x,e.y,e.z)},OffsetGeometryInstanceAttribute.toValue=function(e,t){return defined(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t},Object.defineProperties(OpenCageGeocoderService.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}}}),OpenCageGeocoderService.prototype.geocode=function(e){return this._url.getDerivedResource({url:"json",queryParameters:combine(this._params,{q:e})}).fetchJson().then(function(e){return e.results.map(function(e){var t,i=e.bounds;return t=defined(i)?Rectangle.fromDegrees(i.southwest.lng,i.southwest.lat,i.northeast.lng,i.northeast.lat):(i=e.geometry.lat,t=e.geometry.lng,Cartesian3.fromDegrees(i,t)),{displayName:e.formatted,destination:t}})})};var Packable={packedLength:void 0,pack:DeveloperError.throwInstantiationError,unpack:DeveloperError.throwInstantiationError},PackableForInterpolation={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:DeveloperError.throwInstantiationError,unpackInterpolationResult:DeveloperError.throwInstantiationError},getCSSValue=function(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)},measureText=function(e,t,i,r){var n=e.measureText(t),a=getCSSValue(e.canvas,"font-family"),o=getCSSValue(e.canvas,"font-size").replace("px",""),s=getCSSValue(e.canvas,"font-style"),l=getCSSValue(e.canvas,"font-weight"),c=!/\S/.test(t);n.fontsize=o;var u=document.createElement("div");u.style.position="absolute",u.style.opacity=0,u.style.font=s+" "+l+" "+o+"px "+a,u.innerHTML=t+"<br/>"+t,document.body.appendChild(u),n.leading=1.2*o;var d=getCSSValue(u,"height");if(2*o<=(d=d.replace("px",""))&&(n.leading=d/2|0),document.body.removeChild(u),c)n.ascent=0,n.descent=0,n.bounds={minx:0,maxx:n.width,miny:0,maxy:0},n.height=0;else{u=document.createElement("canvas");u.width=n.width+100,u.height=3*o,u.style.opacity=1,u.style.fontFamily=a,u.style.fontSize=o,u.style.fontStyle=s,u.style.fontWeight=l;c=u.getContext("2d");c.font=s+" "+l+" "+o+"px "+a;o=u.width,a=u.height,u=a/2;c.fillStyle="white",c.fillRect(-1,-1,o+2,a+2),i&&(c.strokeStyle="black",c.lineWidth=e.lineWidth,c.strokeText(t,50,u)),r&&(c.fillStyle="black",c.fillText(t,50,u));for(var h=c.getImageData(0,0,o,a).data,p=0,m=4*o,f=h.length;++p<f&&255===h[p];);for(t=p/m|0,p=f-1;0<--p&&255===h[p];);c=p/m|0;for(p=0;p<f&&255===h[p];)f<=(p+=m)&&(p=p-f+4);var a=p%m/4|0,g=1;for(p=f-3;0<=p&&255===h[p];)(p-=m)<0&&(p=f-3-4*g++);o=p%m/4+1|0;n.ascent=u-t,n.descent=c-u,n.bounds={minx:a-50,maxx:o-50,miny:0,maxy:c-t},n.height=c-t+1}return n},imageSmoothingEnabledName;function writeTextToCanvas(e,t){if(""!==e){t=defaultValue(t,defaultValue.EMPTY_OBJECT);var i=defaultValue(t.font,"10px sans-serif"),r=defaultValue(t.stroke,!1),n=defaultValue(t.fill,!0),a=defaultValue(t.strokeWidth,1),o=defaultValue(t.backgroundColor,Color.TRANSPARENT),s=defaultValue(t.padding,0),l=2*s,c=document.createElement("canvas");c.width=1,c.height=1,c.style.font=i;var u=c.getContext("2d");defined(imageSmoothingEnabledName)||(defined(u.imageSmoothingEnabled)?imageSmoothingEnabledName="imageSmoothingEnabled":defined(u.mozImageSmoothingEnabled)?imageSmoothingEnabledName="mozImageSmoothingEnabled":defined(u.webkitImageSmoothingEnabled)?imageSmoothingEnabledName="webkitImageSmoothingEnabled":defined(u.msImageSmoothingEnabled)&&(imageSmoothingEnabledName="msImageSmoothingEnabled")),u.font=i,u.lineJoin="round",u.lineWidth=a,u[imageSmoothingEnabledName]=!1,u.textBaseline=defaultValue(t.textBaseline,"bottom"),c.style.visibility="hidden",document.body.appendChild(c);var d=measureText(u,e,r,n);c.dimensions=d,document.body.removeChild(c),c.style.visibility="";var h=-d.bounds.minx,p=Math.ceil(d.width)+h+l,m=d.height+l,l=m-(m-d.ascent+s)+l;return c.width=p,c.height=m,u.font=i,u.lineJoin="round",u.lineWidth=a,u[imageSmoothingEnabledName]=!1,o!==Color.TRANSPARENT&&(u.fillStyle=o.toCssColorString(),u.fillRect(0,0,c.width,c.height)),r&&(r=defaultValue(t.strokeColor,Color.BLACK),u.strokeStyle=r.toCssColorString(),u.strokeText(e,h+s,l)),n&&(t=defaultValue(t.fillColor,Color.WHITE),u.fillStyle=t.toCssColorString(),u.fillText(e,h+s,l)),c}}function PinBuilder(){this._cache={}}PinBuilder.prototype.fromColor=function(e,t){return createPin(void 0,void 0,e,t,this._cache)},PinBuilder.prototype.fromUrl=function(e,t,i){return createPin(e,void 0,t,i,this._cache)},PinBuilder.prototype.fromMakiIconId=function(e,t,i){return createPin(buildModuleUrl("Assets/Textures/maki/"+encodeURIComponent(e)+".png"),void 0,t,i,this._cache)},PinBuilder.prototype.fromText=function(e,t,i){return createPin(void 0,e,t,i,this._cache)};var colorScratch=new Color;function drawPin(e,t,i){e.save(),e.scale(i/24,i/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,colorScratch).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function drawIcon(e,t,i){var r=i/2.5,n=r,a=r;t.width>t.height?a=r*(t.height/t.width):t.width<t.height&&(n=r*(t.width/t.height));r=Math.round((i-n)/2),i=Math.round(7/24*i-a/2);e.globalCompositeOperation="destination-out",e.drawImage(t,r-1,i,n,a),e.drawImage(t,r,i-1,n,a),e.drawImage(t,r+1,i,n,a),e.drawImage(t,r,i+1,n,a),e.globalCompositeOperation="destination-over",e.fillStyle=Color.BLACK.toCssColorString(),e.fillRect(r-1,i-1,n+2,a+2),e.globalCompositeOperation="destination-out",e.drawImage(t,r,i,n,a),e.globalCompositeOperation="destination-over",e.fillStyle=Color.WHITE.toCssColorString(),e.fillRect(r-1,i-2,n+2,a+2)}var stringifyScratch=new Array(4);function createPin(e,t,i,r,n){stringifyScratch[0]=e,stringifyScratch[1]=t,stringifyScratch[2]=i,stringifyScratch[3]=r;var a=JSON.stringify(stringifyScratch),o=n[a];if(defined(o))return o;var s=document.createElement("canvas");s.width=r,s.height=r;var l=s.getContext("2d");if(drawPin(l,i,r),defined(e)){e=Resource.createIfNeeded(e).fetchImage().then(function(e){return drawIcon(l,e,r),n[a]=s});return n[a]=e}return defined(t)&&(t=writeTextToCanvas(t,{font:"bold "+r+"px sans-serif"}),drawIcon(l,t,r)),n[a]=s}function PlaneGeometry(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);e=defaultValue(e.vertexFormat,VertexFormat.DEFAULT);this._vertexFormat=e,this._workerName="createPlaneGeometry"}PlaneGeometry.packedLength=VertexFormat.packedLength,PlaneGeometry.pack=function(e,t,i){return i=defaultValue(i,0),VertexFormat.pack(e._vertexFormat,t,i),t};var scratchVertexFormat$7=new VertexFormat,scratchOptions$e={vertexFormat:scratchVertexFormat$7};PlaneGeometry.unpack=function(e,t,i){t=defaultValue(t,0);t=VertexFormat.unpack(e,t,scratchVertexFormat$7);return defined(i)?(i._vertexFormat=VertexFormat.clone(t,i._vertexFormat),i):new PlaneGeometry(scratchOptions$e)};var min=new Cartesian3(-.5,-.5,0),max=new Cartesian3(.5,.5,0);function PlaneOutlineGeometry(){this._workerName="createPlaneOutlineGeometry"}PlaneGeometry.createGeometry=function(e){var t,i,r=e._vertexFormat,n=new GeometryAttributes;return r.position&&((e=new Float64Array(12))[0]=min.x,e[1]=min.y,e[2]=0,e[3]=max.x,e[4]=min.y,e[5]=0,e[6]=max.x,e[7]=max.y,e[8]=0,e[9]=min.x,e[10]=max.y,e[11]=0,n.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:e}),r.normal&&((e=new Float32Array(12))[0]=0,e[1]=0,e[2]=1,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=1,e[9]=0,e[10]=0,e[11]=1,n.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:e})),r.st&&((t=new Float32Array(8))[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=1,t[5]=1,t[6]=0,t[7]=1,n.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:t})),r.tangent&&((t=new Float32Array(12))[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=1,t[7]=0,t[8]=0,t[9]=1,t[10]=0,t[11]=0,n.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:t})),r.bitangent&&((i=new Float32Array(12))[0]=0,i[1]=1,i[2]=0,i[3]=0,i[4]=1,i[5]=0,i[6]=0,i[7]=1,i[8]=0,i[9]=0,i[10]=1,i[11]=0,n.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:i})),(i=new Uint16Array(6))[0]=0,i[1]=1,i[2]=2,i[3]=0,i[4]=2,i[5]=3),new Geometry({attributes:n,indices:i,primitiveType:PrimitiveType$1.TRIANGLES,boundingSphere:new BoundingSphere(Cartesian3.ZERO,Math.sqrt(2))})},PlaneOutlineGeometry.packedLength=0,PlaneOutlineGeometry.pack=function(e,t){return t},PlaneOutlineGeometry.unpack=function(e,t,i){return defined(i)?i:new PlaneOutlineGeometry};var min$1=new Cartesian3(-.5,-.5,0),max$1=new Cartesian3(.5,.5,0);PlaneOutlineGeometry.createGeometry=function(){var e=new GeometryAttributes,t=new Uint16Array(8),i=new Float64Array(12);return i[0]=min$1.x,i[1]=min$1.y,i[2]=min$1.z,i[3]=max$1.x,i[4]=min$1.y,i[5]=min$1.z,i[6]=max$1.x,i[7]=max$1.y,i[8]=min$1.z,i[9]=min$1.x,i[10]=max$1.y,i[11]=min$1.z,e.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:i}),t[0]=0,t[1]=1,t[2]=1,t[3]=2,t[4]=2,t[5]=3,t[6]=3,t[7]=0,new Geometry({attributes:e,indices:t,primitiveType:PrimitiveType$1.LINES,boundingSphere:new BoundingSphere(Cartesian3.ZERO,Math.sqrt(2))})};var coords=new Cartesian3;function pointInsideTriangle(e,t,i,r){return barycentricCoordinates(e,t,i,r,coords),0<coords.x&&0<coords.y&&0<coords.z}var scratchCarto1=new Cartographic,scratchCarto2=new Cartographic;function adjustPosHeightsForNormal(e,t,i,r){var n=r.cartesianToCartographic(e,scratchCarto1).height,e=r.cartesianToCartographic(t,scratchCarto2);e.height=n,r.cartographicToCartesian(e,t);t=r.cartesianToCartographic(i,scratchCarto2);t.height=n-100,r.cartographicToCartesian(t,i)}var scratchBoundingRectangle=new BoundingRectangle,scratchPosition$2=new Cartesian3,scratchNormal$5=new Cartesian3,scratchTangent$3=new Cartesian3,scratchBitangent$3=new Cartesian3,p1Scratch$2=new Cartesian3,p2Scratch$2=new Cartesian3,scratchPerPosNormal=new Cartesian3,scratchPerPosTangent=new Cartesian3,scratchPerPosBitangent=new Cartesian3,appendTextureCoordinatesOrigin=new Cartesian2,appendTextureCoordinatesCartesian2=new Cartesian2,appendTextureCoordinatesCartesian3=new Cartesian3,appendTextureCoordinatesQuaternion=new Quaternion,appendTextureCoordinatesMatrix3=new Matrix3,tangentMatrixScratch$1=new Matrix3;function computeAttributes(e){var t=e.vertexFormat,i=e.geometry,r=e.shadowVolume,n=i.attributes.position.values,a=n.length,o=e.wall,s=e.top||o,l=e.bottom||o;if(t.st||t.normal||t.tangent||t.bitangent||r){var c=e.boundingRectangle,u=e.tangentPlane,d=e.ellipsoid,h=e.stRotation,p=e.perPositionHeight,m=appendTextureCoordinatesOrigin;m.x=c.x,m.y=c.y;var f,g=t.st?new Float32Array(a/3*2):void 0;t.normal&&(f=p&&s&&!o?i.attributes.normal.values:new Float32Array(a));var _,y=t.tangent?new Float32Array(a):void 0,C=t.bitangent?new Float32Array(a):void 0,v=r?new Float32Array(a):void 0,S=0,T=0,b=scratchNormal$5,x=scratchTangent$3,E=scratchBitangent$3,P=!0,A=appendTextureCoordinatesMatrix3,w=tangentMatrixScratch$1;w=0!==h?(_=Quaternion.fromAxisAngle(u._plane.normal,h,appendTextureCoordinatesQuaternion),A=Matrix3.fromQuaternion(_,A),_=Quaternion.fromAxisAngle(u._plane.normal,-h,appendTextureCoordinatesQuaternion),Matrix3.fromQuaternion(_,w)):(A=Matrix3.clone(Matrix3.IDENTITY,A),Matrix3.clone(Matrix3.IDENTITY,w));var D=0,M=0;s&&l&&(D=a/2,M=a/3,a/=2);for(var I=0;I<a;I+=3){var R,O,L,F,N=Cartesian3.fromArray(n,I,appendTextureCoordinatesCartesian3);t.st&&(R=Matrix3.multiplyByVector(A,N,scratchPosition$2),R=d.scaleToGeodeticSurface(R,R),O=u.projectPointOntoPlane(R,appendTextureCoordinatesCartesian2),Cartesian2.subtract(O,m,O),L=CesiumMath.clamp(O.x/c.width,0,1),F=CesiumMath.clamp(O.y/c.height,0,1),l&&(g[S+M]=L,g[S+1+M]=F),s&&(g[S]=L,g[S+1]=F),S+=2),(t.normal||t.tangent||t.bitangent||r)&&(R=T+1,O=T+2,o?(I+3<a&&(L=Cartesian3.fromArray(n,I+3,p1Scratch$2),P&&(F=Cartesian3.fromArray(n,I+a,p2Scratch$2),p&&adjustPosHeightsForNormal(N,L,F,d),Cartesian3.subtract(L,N,L),Cartesian3.subtract(F,N,F),b=Cartesian3.normalize(Cartesian3.cross(F,L,b),b),P=!1),Cartesian3.equalsEpsilon(L,N,CesiumMath.EPSILON10)&&(P=!0)),(t.tangent||t.bitangent)&&(E=d.geodeticSurfaceNormal(N,E),t.tangent&&(x=Cartesian3.normalize(Cartesian3.cross(E,b,x),x)))):(b=d.geodeticSurfaceNormal(N,b),(t.tangent||t.bitangent)&&(p&&(scratchPerPosNormal=Cartesian3.fromArray(f,T,scratchPerPosNormal),scratchPerPosTangent=Cartesian3.cross(Cartesian3.UNIT_Z,scratchPerPosNormal,scratchPerPosTangent),scratchPerPosTangent=Cartesian3.normalize(Matrix3.multiplyByVector(w,scratchPerPosTangent,scratchPerPosTangent),scratchPerPosTangent),t.bitangent&&(scratchPerPosBitangent=Cartesian3.normalize(Cartesian3.cross(scratchPerPosNormal,scratchPerPosTangent,scratchPerPosBitangent),scratchPerPosBitangent))),x=Cartesian3.cross(Cartesian3.UNIT_Z,b,x),x=Cartesian3.normalize(Matrix3.multiplyByVector(w,x,x),x),t.bitangent&&(E=Cartesian3.normalize(Cartesian3.cross(b,x,E),E)))),t.normal&&(e.wall?(f[T+D]=b.x,f[R+D]=b.y,f[O+D]=b.z):l&&(f[T+D]=-b.x,f[R+D]=-b.y,f[O+D]=-b.z),(s&&!p||o)&&(f[T]=b.x,f[R]=b.y,f[O]=b.z)),r&&(o&&(b=d.geodeticSurfaceNormal(N,b)),v[T+D]=-b.x,v[R+D]=-b.y,v[O+D]=-b.z),t.tangent&&(e.wall?(y[T+D]=x.x,y[R+D]=x.y,y[O+D]=x.z):l&&(y[T+D]=-x.x,y[R+D]=-x.y,y[O+D]=-x.z),s&&(p?(y[T]=scratchPerPosTangent.x,y[R]=scratchPerPosTangent.y,y[O]=scratchPerPosTangent.z):(y[T]=x.x,y[R]=x.y,y[O]=x.z))),t.bitangent&&(l&&(C[T+D]=E.x,C[R+D]=E.y,C[O+D]=E.z),s&&(p?(C[T]=scratchPerPosBitangent.x,C[R]=scratchPerPosBitangent.y,C[O]=scratchPerPosBitangent.z):(C[T]=E.x,C[R]=E.y,C[O]=E.z))),T+=3)}t.st&&(i.attributes.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:g})),t.normal&&(i.attributes.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:f})),t.tangent&&(i.attributes.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:y})),t.bitangent&&(i.attributes.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:C})),r&&(i.attributes.extrudeDirection=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:v}))}return e.extrude&&defined(e.offsetAttribute)&&(h=n.length/3,_=new Uint8Array(h),e.offsetAttribute===GeometryOffsetAttribute$1.TOP?s&&l||o?_=arrayFill(_,1,0,h/2):s&&(_=arrayFill(_,1)):_=arrayFill(_,e.offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),i.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:_})),i}var startCartographicScratch$1=new Cartographic,endCartographicScratch$1=new Cartographic,idlCross={westOverIDL:0,eastOverIDL:0},ellipsoidGeodesic$1=new EllipsoidGeodesic;function computeRectangle$2(e,t,i,r,n){if(n=defaultValue(n,new Rectangle),!defined(e)||e.length<3)return n.west=0,n.north=0,n.south=0,n.east=0,n;if(i===ArcType$1.RHUMB)return Rectangle.fromCartesianArray(e,t,n);ellipsoidGeodesic$1.ellipsoid.equals(t)||(ellipsoidGeodesic$1=new EllipsoidGeodesic(void 0,void 0,t)),n.west=Number.POSITIVE_INFINITY,n.east=Number.NEGATIVE_INFINITY,n.south=Number.POSITIVE_INFINITY,n.north=Number.NEGATIVE_INFINITY,idlCross.westOverIDL=Number.POSITIVE_INFINITY,idlCross.eastOverIDL=Number.NEGATIVE_INFINITY;for(var a,o=1/CesiumMath.chordLength(r,t.maximumRadius),s=e.length,l=t.cartesianToCartographic(e[0],endCartographicScratch$1),c=startCartographicScratch$1,u=1;u<s;u++)a=c,c=l,l=t.cartesianToCartographic(e[u],a),ellipsoidGeodesic$1.setEndPoints(c,l),interpolateAndGrowRectangle(ellipsoidGeodesic$1,o,n,idlCross);return a=c,c=l,l=t.cartesianToCartographic(e[0],a),ellipsoidGeodesic$1.setEndPoints(c,l),interpolateAndGrowRectangle(ellipsoidGeodesic$1,o,n,idlCross),n.east-n.west>idlCross.eastOverIDL-idlCross.westOverIDL&&(n.west=idlCross.westOverIDL,n.east=idlCross.eastOverIDL,n.east>CesiumMath.PI&&(n.east=n.east-CesiumMath.TWO_PI),n.west>CesiumMath.PI&&(n.west=n.west-CesiumMath.TWO_PI)),n}var interpolatedCartographicScratch$1=new Cartographic;function interpolateAndGrowRectangle(e,t,i,r){for(var n=e.surfaceDistance,a=Math.ceil(n*t),o=0<a?n/(a-1):Number.POSITIVE_INFINITY,s=0,l=0;l<a;l++){var c=e.interpolateUsingSurfaceDistance(s,interpolatedCartographicScratch$1);s+=o;var u=c.longitude,c=c.latitude;i.west=Math.min(i.west,u),i.east=Math.max(i.east,u),i.south=Math.min(i.south,c),i.north=Math.max(i.north,c);u=0<=u?u:u+CesiumMath.TWO_PI;r.westOverIDL=Math.min(r.westOverIDL,u),r.eastOverIDL=Math.max(r.eastOverIDL,u)}}var createGeometryFromPositionsExtrudedPositions=[];function createGeometryFromPositionsExtruded(e,t,i,r,n,a,o,s,l){var c={walls:[]};if(a||o){var u=PolygonGeometryLibrary.createGeometryFromPositions(e,t,i,n,s,l),t=u.attributes.position.values,d=u.indices;if(a&&o){var h,a=t.concat(t),p=a.length/3;(h=IndexDatatype$1.createTypedArray(p,2*d.length)).set(d);for(var m=d.length,f=p/2,g=0;g<m;g+=3){var _=h[g]+f,y=h[g+1]+f,C=h[g+2]+f;h[g+m]=C,h[g+1+m]=y,h[g+2+m]=_}u.attributes.position.values=a,n&&s.normal&&(s=u.attributes.normal.values,u.attributes.normal.values=new Float32Array(a.length),u.attributes.normal.values.set(s)),u.indices=h}else if(o){for(p=t.length/3,h=IndexDatatype$1.createTypedArray(p,d.length),g=0;g<d.length;g+=3)h[g]=d[g+2],h[g+1]=d[g+1],h[g+2]=d[g];u.indices=h}c.topAndBottom=new GeometryInstance({geometry:u})}var u=r.outerRing,v=EllipsoidTangentPlane.fromPoints(u,e).projectPointsOntoPlane(u,createGeometryFromPositionsExtrudedPositions);PolygonPipeline.computeWindingOrder2D(v)===WindingOrder$1.CLOCKWISE&&(u=u.slice().reverse());var S=PolygonGeometryLibrary.computeWallGeometry(u,e,i,n,l);c.walls.push(new GeometryInstance({geometry:S}));var T=r.holes;for(g=0;g<T.length;g++){var b=T[g],v=EllipsoidTangentPlane.fromPoints(b,e).projectPointsOntoPlane(b,createGeometryFromPositionsExtrudedPositions);PolygonPipeline.computeWindingOrder2D(v)===WindingOrder$1.COUNTER_CLOCKWISE&&(b=b.slice().reverse()),S=PolygonGeometryLibrary.computeWallGeometry(b,e,i,n,l),c.walls.push(new GeometryInstance({geometry:S}))}return c}function PolygonGeometry(e){var t,i=e.polygonHierarchy,r=defaultValue(e.vertexFormat,VertexFormat.DEFAULT),n=defaultValue(e.ellipsoid,Ellipsoid.WGS84),a=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),o=defaultValue(e.stRotation,0),s=defaultValue(e.perPositionHeight,!1),l=s&&defined(e.extrudedHeight),c=defaultValue(e.height,0),u=defaultValue(e.extrudedHeight,c);l||(t=Math.max(c,u),u=Math.min(c,u),c=t),this._vertexFormat=VertexFormat.clone(r),this._ellipsoid=Ellipsoid.clone(n),this._granularity=a,this._stRotation=o,this._height=c,this._extrudedHeight=u,this._closeTop=defaultValue(e.closeTop,!0),this._closeBottom=defaultValue(e.closeBottom,!0),this._polygonHierarchy=i,this._perPositionHeight=s,this._perPositionHeightExtrude=l,this._shadowVolume=defaultValue(e.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=e.offsetAttribute,this._arcType=defaultValue(e.arcType,ArcType$1.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this.packedLength=PolygonGeometryLibrary.computeHierarchyPackedLength(i)+Ellipsoid.packedLength+VertexFormat.packedLength+12}PolygonGeometry.fromPositions=function(e){return new PolygonGeometry({polygonHierarchy:{positions:(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions},height:e.height,extrudedHeight:e.extrudedHeight,vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,closeTop:e.closeTop,closeBottom:e.closeBottom,offsetAttribute:e.offsetAttribute,arcType:e.arcType})},PolygonGeometry.pack=function(e,t,i){return i=defaultValue(i,0),i=PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,i),Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,VertexFormat.pack(e._vertexFormat,t,i),i+=VertexFormat.packedLength,t[i++]=e._height,t[i++]=e._extrudedHeight,t[i++]=e._granularity,t[i++]=e._stRotation,t[i++]=e._perPositionHeightExtrude?1:0,t[i++]=e._perPositionHeight?1:0,t[i++]=e._closeTop?1:0,t[i++]=e._closeBottom?1:0,t[i++]=e._shadowVolume?1:0,t[i++]=defaultValue(e._offsetAttribute,-1),t[i++]=e._arcType,t[i]=e.packedLength,t};var scratchEllipsoid$5=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchVertexFormat$8=new VertexFormat,dummyOptions={polygonHierarchy:{}};function textureCoordinateRotationPoints$1(e){var t=-e._stRotation;if(0==t)return[0,0,0,1,1,0];var i=e._ellipsoid,r=e._polygonHierarchy.positions,e=e.rectangle;return Geometry._textureCoordinateRotationPoints(r,t,i,e)}function PolygonHierarchy(e,t){this.positions=defined(e)?e:[],this.holes=defined(t)?t:[]}PolygonGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=r.startingIndex,delete r.startingIndex;var n=Ellipsoid.unpack(e,t,scratchEllipsoid$5);t+=Ellipsoid.packedLength;var a=VertexFormat.unpack(e,t,scratchVertexFormat$8);t+=VertexFormat.packedLength;var o=e[t++],s=e[t++],l=e[t++],c=e[t++],u=1===e[t++],d=1===e[t++],h=1===e[t++],p=1===e[t++],m=1===e[t++],f=e[t++],g=e[t++],t=e[t];return defined(i)||(i=new PolygonGeometry(dummyOptions)),i._polygonHierarchy=r,i._ellipsoid=Ellipsoid.clone(n,i._ellipsoid),i._vertexFormat=VertexFormat.clone(a,i._vertexFormat),i._height=o,i._extrudedHeight=s,i._granularity=l,i._stRotation=c,i._perPositionHeightExtrude=u,i._perPositionHeight=d,i._closeTop=h,i._closeBottom=p,i._shadowVolume=m,i._offsetAttribute=-1===f?void 0:f,i._arcType=g,i.packedLength=t,i},PolygonGeometry.computeRectangle=function(e,t){var i=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),r=defaultValue(e.arcType,ArcType$1.GEODESIC),n=e.polygonHierarchy,e=defaultValue(e.ellipsoid,Ellipsoid.WGS84);return computeRectangle$2(n.positions,e,r,i,t)},PolygonGeometry.createGeometry=function(e){var t=e._vertexFormat,i=e._ellipsoid,r=e._granularity,n=e._stRotation,a=e._polygonHierarchy,o=e._perPositionHeight,s=e._closeTop,l=e._closeBottom,c=e._arcType,u=a.positions;if(!(u.length<3)){var d=EllipsoidTangentPlane.fromPoints(u,i),a=PolygonGeometryLibrary.polygonsFromHierarchy(a,d.projectPointsOntoPlane.bind(d),!o,i),h=a.hierarchy,p=a.polygons;if(0!==h.length){u=h[0].outerRing;var m,u=PolygonGeometryLibrary.computeBoundingRectangle(d.plane.normal,d.projectPointOntoPlane.bind(d),u,n,scratchBoundingRectangle),f=[],g=e._height,_=e._extrudedHeight,y={perPositionHeight:o,vertexFormat:t,geometry:void 0,tangentPlane:d,boundingRectangle:u,ellipsoid:i,stRotation:n,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:c};if(e._perPositionHeightExtrude||!CesiumMath.equalsEpsilon(g,_,0,CesiumMath.EPSILON2))for(y.extrude=!0,y.top=s,y.bottom=l,y.shadowVolume=e._shadowVolume,y.offsetAttribute=e._offsetAttribute,m=0;m<p.length;m++){var C,v=createGeometryFromPositionsExtruded(i,p[m],r,h[m],o,s,l,t,c);s&&l?(C=v.topAndBottom,y.geometry=PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(C.geometry,g,_,i,o)):s?((C=v.topAndBottom).geometry.attributes.position.values=PolygonPipeline.scaleToGeodeticHeight(C.geometry.attributes.position.values,g,i,!o),y.geometry=C.geometry):l&&((C=v.topAndBottom).geometry.attributes.position.values=PolygonPipeline.scaleToGeodeticHeight(C.geometry.attributes.position.values,_,i,!0),y.geometry=C.geometry),(s||l)&&(y.wall=!1,C.geometry=computeAttributes(y),f.push(C));var S=v.walls;y.wall=!0;for(var T=0;T<S.length;T++){var b=S[T];y.geometry=PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(b.geometry,g,_,i,o),b.geometry=computeAttributes(y),f.push(b)}}else for(m=0;m<p.length;m++){var x,E=new GeometryInstance({geometry:PolygonGeometryLibrary.createGeometryFromPositions(i,p[m],r,o,t,c)});E.geometry.attributes.position.values=PolygonPipeline.scaleToGeodeticHeight(E.geometry.attributes.position.values,g,i,!o),y.geometry=E.geometry,E.geometry=computeAttributes(y),defined(e._offsetAttribute)&&(x=E.geometry.attributes.position.values.length,arrayFill(x=new Uint8Array(x/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),E.geometry.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})),f.push(E)}d=GeometryPipeline.combineInstances(f)[0];d.attributes.position.values=new Float64Array(d.attributes.position.values),d.indices=IndexDatatype$1.createTypedArray(d.attributes.position.values.length/3,d.indices);u=d.attributes,n=BoundingSphere.fromVertices(u.position.values);return t.position||delete u.position,new Geometry({attributes:u,indices:d.indices,primitiveType:d.primitiveType,boundingSphere:n,offsetAttribute:e._offsetAttribute})}}},PolygonGeometry.createShadowVolume=function(e,t,i){var r=e._granularity,n=e._ellipsoid,t=t(r,n),i=i(r,n);return new PolygonGeometry({polygonHierarchy:e._polygonHierarchy,ellipsoid:n,stRotation:e._stRotation,granularity:r,perPositionHeight:!1,extrudedHeight:t,height:i,vertexFormat:VertexFormat.POSITION_ONLY,shadowVolume:!0,arcType:e._arcType})},Object.defineProperties(PolygonGeometry.prototype,{rectangle:{get:function(){var e;return defined(this._rectangle)||(e=this._polygonHierarchy.positions,this._rectangle=computeRectangle$2(e,this._ellipsoid,this._arcType,this._granularity)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return defined(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=textureCoordinateRotationPoints$1(this)),this._textureCoordinateRotationPoints}}});var createGeometryFromPositionsPositions=[],createGeometryFromPositionsSubdivided=[];function createGeometryFromPositions$1(e,t,i,r,n){var a,o=EllipsoidTangentPlane.fromPoints(t,e).projectPointsOntoPlane(t,createGeometryFromPositionsPositions);PolygonPipeline.computeWindingOrder2D(o)===WindingOrder$1.CLOCKWISE&&(o.reverse(),t=t.slice().reverse());var s=t.length,l=0;if(r)for(a=new Float64Array(2*s*3),g=0;g<s;g++){var c=t[g],u=t[(g+1)%s];a[l++]=c.x,a[l++]=c.y,a[l++]=c.z,a[l++]=u.x,a[l++]=u.y,a[l++]=u.z}else{var d,h=0;if(n===ArcType$1.GEODESIC)for(g=0;g<s;g++)h+=PolygonGeometryLibrary.subdivideLineCount(t[g],t[(g+1)%s],i);else if(n===ArcType$1.RHUMB)for(g=0;g<s;g++)h+=PolygonGeometryLibrary.subdivideRhumbLineCount(e,t[g],t[(g+1)%s],i);for(a=new Float64Array(3*h),g=0;g<s;g++){n===ArcType$1.GEODESIC?d=PolygonGeometryLibrary.subdivideLine(t[g],t[(g+1)%s],i,createGeometryFromPositionsSubdivided):n===ArcType$1.RHUMB&&(d=PolygonGeometryLibrary.subdivideRhumbLine(e,t[g],t[(g+1)%s],i,createGeometryFromPositionsSubdivided));for(var p=d.length,m=0;m<p;++m)a[l++]=d[m]}}for(var r=2*(s=a.length/3),f=IndexDatatype$1.createTypedArray(s,r),l=0,g=0;g<s-1;g++)f[l++]=g,f[l++]=g+1;return f[l++]=s-1,f[l++]=0,new GeometryInstance({geometry:new Geometry({attributes:new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:a})}),indices:f,primitiveType:PrimitiveType$1.LINES})})}function createGeometryFromPositionsExtruded$1(e,t,i,r,n){var a,o=EllipsoidTangentPlane.fromPoints(t,e).projectPointsOntoPlane(t,createGeometryFromPositionsPositions);PolygonPipeline.computeWindingOrder2D(o)===WindingOrder$1.CLOCKWISE&&(o.reverse(),t=t.slice().reverse());var s=t.length,l=new Array(s),c=0;if(r)for(a=new Float64Array(2*s*3*2),y=0;y<s;++y){l[y]=c/3;var u=t[y],d=t[(y+1)%s];a[c++]=u.x,a[c++]=u.y,a[c++]=u.z,a[c++]=d.x,a[c++]=d.y,a[c++]=d.z}else{var h,p=0;if(n===ArcType$1.GEODESIC)for(y=0;y<s;y++)p+=PolygonGeometryLibrary.subdivideLineCount(t[y],t[(y+1)%s],i);else if(n===ArcType$1.RHUMB)for(y=0;y<s;y++)p+=PolygonGeometryLibrary.subdivideRhumbLineCount(e,t[y],t[(y+1)%s],i);for(a=new Float64Array(3*p*2),y=0;y<s;++y){l[y]=c/3,n===ArcType$1.GEODESIC?h=PolygonGeometryLibrary.subdivideLine(t[y],t[(y+1)%s],i,createGeometryFromPositionsSubdivided):n===ArcType$1.RHUMB&&(h=PolygonGeometryLibrary.subdivideRhumbLine(e,t[y],t[(y+1)%s],i,createGeometryFromPositionsSubdivided));for(var m=h.length,f=0;f<m;++f)a[c++]=h[f]}}s=a.length/6;for(var g=l.length,r=2*(2*s+g),_=IndexDatatype$1.createTypedArray(s+g,r),c=0,y=0;y<s;++y)_[c++]=y,_[c++]=(y+1)%s,_[c++]=y+s,_[c++]=(y+1)%s+s;for(y=0;y<g;y++){var C=l[y];_[c++]=C,_[c++]=C+s}return new GeometryInstance({geometry:new Geometry({attributes:new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:a})}),indices:_,primitiveType:PrimitiveType$1.LINES})})}function PolygonOutlineGeometry(e){var t,i=e.polygonHierarchy,r=defaultValue(e.ellipsoid,Ellipsoid.WGS84),n=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),a=defaultValue(e.perPositionHeight,!1),o=a&&defined(e.extrudedHeight),s=defaultValue(e.arcType,ArcType$1.GEODESIC),l=defaultValue(e.height,0),c=defaultValue(e.extrudedHeight,l);o||(t=Math.max(l,c),c=Math.min(l,c),l=t),this._ellipsoid=Ellipsoid.clone(r),this._granularity=n,this._height=l,this._extrudedHeight=c,this._arcType=s,this._polygonHierarchy=i,this._perPositionHeight=a,this._perPositionHeightExtrude=o,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=PolygonGeometryLibrary.computeHierarchyPackedLength(i)+Ellipsoid.packedLength+8}PolygonOutlineGeometry.pack=function(e,t,i){return i=defaultValue(i,0),i=PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,i),Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,t[i++]=e._height,t[i++]=e._extrudedHeight,t[i++]=e._granularity,t[i++]=e._perPositionHeightExtrude?1:0,t[i++]=e._perPositionHeight?1:0,t[i++]=e._arcType,t[i++]=defaultValue(e._offsetAttribute,-1),t[i]=e.packedLength,t};var scratchEllipsoid$6=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),dummyOptions$1={polygonHierarchy:{}};PolygonOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=r.startingIndex,delete r.startingIndex;var n=Ellipsoid.unpack(e,t,scratchEllipsoid$6);t+=Ellipsoid.packedLength;var a=e[t++],o=e[t++],s=e[t++],l=1===e[t++],c=1===e[t++],u=e[t++],d=e[t++],t=e[t];return defined(i)||(i=new PolygonOutlineGeometry(dummyOptions$1)),i._polygonHierarchy=r,i._ellipsoid=Ellipsoid.clone(n,i._ellipsoid),i._height=a,i._extrudedHeight=o,i._granularity=s,i._perPositionHeight=c,i._perPositionHeightExtrude=l,i._arcType=u,i._offsetAttribute=-1===d?void 0:d,i.packedLength=t,i},PolygonOutlineGeometry.fromPositions=function(e){return new PolygonOutlineGeometry({polygonHierarchy:{positions:(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute})},PolygonOutlineGeometry.createGeometry=function(e){var t=e._ellipsoid,i=e._granularity,r=e._polygonHierarchy,n=e._perPositionHeight,a=e._arcType,o=PolygonGeometryLibrary.polygonOutlinesFromHierarchy(r,!n,t);if(0!==o.length){var s,l,c,u,d,h=[],p=CesiumMath.chordLength(i,t.maximumRadius),m=e._height,f=e._extrudedHeight;if(e._perPositionHeightExtrude||!CesiumMath.equalsEpsilon(m,f,0,CesiumMath.EPSILON2))for(s=0;s<o.length;s++)(u=createGeometryFromPositionsExtruded$1(t,o[s],p,n,a)).geometry=PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(u.geometry,m,f,t,n),defined(e._offsetAttribute)&&(l=u.geometry.attributes.position.values.length/3,c=new Uint8Array(l),c=e._offsetAttribute===GeometryOffsetAttribute$1.TOP?arrayFill(c,1,0,l/2):arrayFill(c,e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),u.geometry.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})),h.push(u);else for(s=0;s<o.length;s++)(u=createGeometryFromPositions$1(t,o[s],p,n,a)).geometry.attributes.position.values=PolygonPipeline.scaleToGeodeticHeight(u.geometry.attributes.position.values,m,t,!n),defined(e._offsetAttribute)&&(d=u.geometry.attributes.position.values.length,arrayFill(d=new Uint8Array(d/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),u.geometry.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})),h.push(u);r=GeometryPipeline.combineInstances(h)[0],i=BoundingSphere.fromVertices(r.attributes.position.values);return new Geometry({attributes:r.attributes,indices:r.indices,primitiveType:r.primitiveType,boundingSphere:i,offsetAttribute:e._offsetAttribute})}};var scratchInterpolateColorsArray=[];function interpolateColors(e,t,i,r,n){var a=scratchInterpolateColorsArray;a.length=n;var o=i.red,s=i.green,l=i.blue,c=i.alpha,u=r.red,d=r.green,h=r.blue,p=r.alpha;if(Color.equals(i,r)){for(y=0;y<n;y++)a[y]=Color.clone(i);return a}for(var m=(u-o)/n,f=(d-s)/n,g=(h-l)/n,_=(p-c)/n,y=0;y<n;y++)a[y]=new Color(o+y*m,s+y*f,l+y*g,c+y*_);return a}function PolylineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions,i=e.colors,r=defaultValue(e.width,1),n=defaultValue(e.colorsPerVertex,!1);this._positions=t,this._colors=i,this._width=r,this._colorsPerVertex=n,this._vertexFormat=VertexFormat.clone(defaultValue(e.vertexFormat,VertexFormat.DEFAULT)),this._arcType=defaultValue(e.arcType,ArcType$1.GEODESIC),this._granularity=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),this._ellipsoid=Ellipsoid.clone(defaultValue(e.ellipsoid,Ellipsoid.WGS84)),this._workerName="createPolylineGeometry";t=1+t.length*Cartesian3.packedLength;t+=defined(i)?1+i.length*Color.packedLength:1,this.packedLength=t+Ellipsoid.packedLength+VertexFormat.packedLength+4}PolylineGeometry.pack=function(e,t,i){var r;i=defaultValue(i,0);var n=e._positions,a=n.length;for(t[i++]=a,r=0;r<a;++r,i+=Cartesian3.packedLength)Cartesian3.pack(n[r],t,i);var o=e._colors,a=defined(o)?o.length:0;for(t[i++]=a,r=0;r<a;++r,i+=Color.packedLength)Color.pack(o[r],t,i);return Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,VertexFormat.pack(e._vertexFormat,t,i),i+=VertexFormat.packedLength,t[i++]=e._width,t[i++]=e._colorsPerVertex?1:0,t[i++]=e._arcType,t[i]=e._granularity,t};var scratchEllipsoid$7=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchVertexFormat$9=new VertexFormat,scratchOptions$f={positions:void 0,colors:void 0,ellipsoid:scratchEllipsoid$7,vertexFormat:scratchVertexFormat$9,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};PolylineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);for(var r=e[t++],n=new Array(r),a=0;a<r;++a,t+=Cartesian3.packedLength)n[a]=Cartesian3.unpack(e,t);var o=0<(r=e[t++])?new Array(r):void 0;for(a=0;a<r;++a,t+=Color.packedLength)o[a]=Color.unpack(e,t);var s=Ellipsoid.unpack(e,t,scratchEllipsoid$7);t+=Ellipsoid.packedLength;var l=VertexFormat.unpack(e,t,scratchVertexFormat$9);t+=VertexFormat.packedLength;var c=e[t++],u=1===e[t++],d=e[t++],h=e[t];return defined(i)?(i._positions=n,i._colors=o,i._ellipsoid=Ellipsoid.clone(s,i._ellipsoid),i._vertexFormat=VertexFormat.clone(l,i._vertexFormat),i._width=c,i._colorsPerVertex=u,i._arcType=d,i._granularity=h,i):(scratchOptions$f.positions=n,scratchOptions$f.colors=o,scratchOptions$f.width=c,scratchOptions$f.colorsPerVertex=u,scratchOptions$f.arcType=d,scratchOptions$f.granularity=h,new PolylineGeometry(scratchOptions$f))};var scratchCartesian3$8=new Cartesian3,scratchPosition$3=new Cartesian3,scratchPrevPosition=new Cartesian3,scratchNextPosition=new Cartesian3;function computeAttributes$1(e,t,i,r){var n=new GeometryAttributes;r.position&&(n.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:e}));var a,o,s,l,c,u=t.length,d=e.length/3,h=(d-2*u)/(2*u),p=PolygonPipeline.triangulate(t),m=(h-1)*u*6+2*p.length,f=IndexDatatype$1.createTypedArray(d,m),g=2*u,_=0;for(E=0;E<h-1;E++){for(a=0;a<u-1;a++)c=(o=2*a+E*u*2)+g,l=(s=o+1)+g,f[_++]=s,f[_++]=o,f[_++]=l,f[_++]=l,f[_++]=o,f[_++]=c;l=(s=(o=2*u-2+E*u*2)+1)+g,c=o+g,f[_++]=s,f[_++]=o,f[_++]=l,f[_++]=l,f[_++]=o,f[_++]=c}if(r.st||r.tangent||r.bitangent){for(var y,C,v=new Float32Array(2*d),S=1/(h-1),T=1/i.height,b=i.height/2,x=0,E=0;E<h;E++){for(y=E*S,C=T*(t[0].y+b),v[x++]=y,v[x++]=C,a=1;a<u;a++)C=T*(t[a].y+b),v[x++]=y,v[x++]=C,v[x++]=y,v[x++]=C;C=T*(t[0].y+b),v[x++]=y,v[x++]=C}for(a=0;a<u;a++)y=0,C=T*(t[a].y+b),v[x++]=y,v[x++]=C;for(a=0;a<u;a++)y=(h-1)*S,C=T*(t[a].y+b),v[x++]=y,v[x++]=C;n.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:new Float32Array(v)})}var P=d-2*u;for(E=0;E<p.length;E+=3){var A=p[E]+P,w=p[E+1]+P,D=p[E+2]+P;f[_++]=A,f[_++]=w,f[_++]=D,f[_++]=D+u,f[_++]=w+u,f[_++]=A+u}var M=new Geometry({attributes:n,indices:f,boundingSphere:BoundingSphere.fromVertices(e),primitiveType:PrimitiveType$1.TRIANGLES});if(r.normal&&(M=GeometryPipeline.computeNormal(M)),r.tangent||r.bitangent){try{M=GeometryPipeline.computeTangentAndBitangent(M)}catch(e){oneTimeWarning("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}r.tangent||(M.attributes.tangent=void 0),r.bitangent||(M.attributes.bitangent=void 0),r.st||(M.attributes.st=void 0)}return M}function PolylineVolumeGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).polylinePositions,i=e.shapePositions;this._positions=t,this._shape=i,this._ellipsoid=Ellipsoid.clone(defaultValue(e.ellipsoid,Ellipsoid.WGS84)),this._cornerType=defaultValue(e.cornerType,CornerType$1.ROUNDED),this._vertexFormat=VertexFormat.clone(defaultValue(e.vertexFormat,VertexFormat.DEFAULT)),this._granularity=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";t=1+t.length*Cartesian3.packedLength;t+=1+i.length*Cartesian2.packedLength,this.packedLength=t+Ellipsoid.packedLength+VertexFormat.packedLength+2}PolylineGeometry.createGeometry=function(e){var t=e._width,i=e._vertexFormat,r=e._colors,n=e._colorsPerVertex,a=e._arcType,o=e._granularity,s=e._ellipsoid,l=arrayRemoveDuplicates(e._positions,Cartesian3.equalsEpsilon),c=l.length;if(!(c<2||t<=0)){if(a===ArcType$1.GEODESIC||a===ArcType$1.RHUMB){var u,d=a===ArcType$1.GEODESIC?(u=CesiumMath.chordLength(o,s.maximumRadius),PolylinePipeline.numberOfPoints):(u=o,PolylinePipeline.numberOfPointsRhumbLine),h=PolylinePipeline.extractHeights(l,s);if(defined(r)){for(var p=1,m=0;m<c-1;++m)p+=d(l[m],l[m+1],u);var f=new Array(p),g=0;for(m=0;m<c-1;++m){var _=l[m],y=l[m+1],C=r[m],v=d(_,y,u);if(n&&m<p)for(var S=interpolateColors(_,y,C,r[m+1],v),T=S.length,b=0;b<T;++b)f[g++]=S[b];else for(b=0;b<v;++b)f[g++]=Color.clone(C)}f[g]=Color.clone(r[r.length-1]),r=f,scratchInterpolateColorsArray.length=0}l=a===ArcType$1.GEODESIC?PolylinePipeline.generateCartesianArc({positions:l,minDistance:u,ellipsoid:s,height:h}):PolylinePipeline.generateCartesianRhumbArc({positions:l,granularity:u,ellipsoid:s,height:h})}var x,E,P,s=4*(c=l.length)-4,A=new Float64Array(3*s),w=new Float64Array(3*s),D=new Float64Array(3*s),M=new Float32Array(2*s),I=i.st?new Float32Array(2*s):void 0,R=defined(r)?new Uint8Array(4*s):void 0,O=0,L=0,F=0,N=0;for(b=0;b<c;++b){0===b?(x=scratchCartesian3$8,Cartesian3.subtract(l[0],l[1],x),Cartesian3.add(l[0],x,x)):x=l[b-1],Cartesian3.clone(x,scratchPrevPosition),Cartesian3.clone(l[b],scratchPosition$3),b===c-1?(x=scratchCartesian3$8,Cartesian3.subtract(l[c-1],l[c-2],x),Cartesian3.add(l[c-1],x,x)):x=l[b+1],Cartesian3.clone(x,scratchNextPosition),defined(R)&&(E=0===b||n?r[b]:r[b-1],b!==c-1&&(P=r[b]));for(var B=b===c-1?2:4,V=0===b?2:0;V<B;++V){Cartesian3.pack(scratchPosition$3,A,O),Cartesian3.pack(scratchPrevPosition,w,O),Cartesian3.pack(scratchNextPosition,D,O),O+=3;var k=V-2<0?-1:1;M[L++]=V%2*2-1,M[L++]=k*t,i.st&&(I[F++]=b/(c-1),I[F++]=Math.max(M[L-2],0)),defined(R)&&(k=V<2?E:P,R[N++]=Color.floatToByte(k.red),R[N++]=Color.floatToByte(k.green),R[N++]=Color.floatToByte(k.blue),R[N++]=Color.floatToByte(k.alpha))}}h=new GeometryAttributes;h.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:A}),h.prevPosition=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:w}),h.nextPosition=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:D}),h.expandAndWidth=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:M}),i.st&&(h.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:I})),defined(R)&&(h.color=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:4,values:R,normalize:!0}));var z=IndexDatatype$1.createTypedArray(s,6*c-6),U=0,$=0,G=c-1;for(b=0;b<G;++b)z[$++]=U,z[$++]=U+2,z[$++]=U+1,z[$++]=U+1,z[$++]=U+2,z[$++]=U+3,U+=4;return new Geometry({attributes:h,indices:z,primitiveType:PrimitiveType$1.TRIANGLES,boundingSphere:BoundingSphere.fromPoints(l),geometryType:GeometryType$1.POLYLINES})}},PolylineVolumeGeometry.pack=function(e,t,i){var r;i=defaultValue(i,0);var n=e._positions,a=n.length;for(t[i++]=a,r=0;r<a;++r,i+=Cartesian3.packedLength)Cartesian3.pack(n[r],t,i);var o=e._shape,a=o.length;for(t[i++]=a,r=0;r<a;++r,i+=Cartesian2.packedLength)Cartesian2.pack(o[r],t,i);return Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,VertexFormat.pack(e._vertexFormat,t,i),i+=VertexFormat.packedLength,t[i++]=e._cornerType,t[i]=e._granularity,t};var scratchEllipsoid$8=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchVertexFormat$a=new VertexFormat,scratchOptions$g={polylinePositions:void 0,shapePositions:void 0,ellipsoid:scratchEllipsoid$8,vertexFormat:scratchVertexFormat$a,cornerType:void 0,granularity:void 0};PolylineVolumeGeometry.unpack=function(e,t,i){t=defaultValue(t,0);for(var r=e[t++],n=new Array(r),a=0;a<r;++a,t+=Cartesian3.packedLength)n[a]=Cartesian3.unpack(e,t);r=e[t++];var o=new Array(r);for(a=0;a<r;++a,t+=Cartesian2.packedLength)o[a]=Cartesian2.unpack(e,t);var s=Ellipsoid.unpack(e,t,scratchEllipsoid$8);t+=Ellipsoid.packedLength;var l=VertexFormat.unpack(e,t,scratchVertexFormat$a);t+=VertexFormat.packedLength;var c=e[t++],u=e[t];return defined(i)?(i._positions=n,i._shape=o,i._ellipsoid=Ellipsoid.clone(s,i._ellipsoid),i._vertexFormat=VertexFormat.clone(l,i._vertexFormat),i._cornerType=c,i._granularity=u,i):(scratchOptions$g.polylinePositions=n,scratchOptions$g.shapePositions=o,scratchOptions$g.cornerType=c,scratchOptions$g.granularity=u,new PolylineVolumeGeometry(scratchOptions$g))};var brScratch=new BoundingRectangle;function computeAttributes$2(e,t){var i=new GeometryAttributes;i.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:e});var r=t.length,t=i.position.values.length/3,n=e.length/3/r,a=IndexDatatype$1.createTypedArray(t,2*r*(1+n)),o=0,s=0,l=s*r;for(d=0;d<r-1;d++)a[o++]=d+l,a[o++]=d+l+1;for(a[o++]=r-1+l,a[o++]=l,l=(s=n-1)*r,d=0;d<r-1;d++)a[o++]=d+l,a[o++]=d+l+1;for(a[o++]=r-1+l,a[o++]=l,s=0;s<n-1;s++)for(var c=r*s,u=c+r,d=0;d<r;d++)a[o++]=d+c,a[o++]=d+u;return new Geometry({attributes:i,indices:IndexDatatype$1.createTypedArray(t,a),boundingSphere:BoundingSphere.fromVertices(e),primitiveType:PrimitiveType$1.LINES})}function PolylineVolumeOutlineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).polylinePositions,i=e.shapePositions;this._positions=t,this._shape=i,this._ellipsoid=Ellipsoid.clone(defaultValue(e.ellipsoid,Ellipsoid.WGS84)),this._cornerType=defaultValue(e.cornerType,CornerType$1.ROUNDED),this._granularity=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";t=1+t.length*Cartesian3.packedLength;t+=1+i.length*Cartesian2.packedLength,this.packedLength=t+Ellipsoid.packedLength+2}PolylineVolumeGeometry.createGeometry=function(e){var t=arrayRemoveDuplicates(e._positions,Cartesian3.equalsEpsilon),i=e._shape,i=PolylineVolumeGeometryLibrary.removeDuplicatesFromShape(i);if(!(t.length<2||i.length<3)){PolygonPipeline.computeWindingOrder2D(i)===WindingOrder$1.CLOCKWISE&&i.reverse();var r=BoundingRectangle.fromPoints(i,brScratch);return computeAttributes$1(PolylineVolumeGeometryLibrary.computePositions(t,i,r,e,!0),i,r,e._vertexFormat)}},PolylineVolumeOutlineGeometry.pack=function(e,t,i){var r;i=defaultValue(i,0);var n=e._positions,a=n.length;for(t[i++]=a,r=0;r<a;++r,i+=Cartesian3.packedLength)Cartesian3.pack(n[r],t,i);var o=e._shape,a=o.length;for(t[i++]=a,r=0;r<a;++r,i+=Cartesian2.packedLength)Cartesian2.pack(o[r],t,i);return Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,t[i++]=e._cornerType,t[i]=e._granularity,t};var scratchEllipsoid$9=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchOptions$h={polylinePositions:void 0,shapePositions:void 0,ellipsoid:scratchEllipsoid$9,height:void 0,cornerType:void 0,granularity:void 0};PolylineVolumeOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);for(var r=e[t++],n=new Array(r),a=0;a<r;++a,t+=Cartesian3.packedLength)n[a]=Cartesian3.unpack(e,t);r=e[t++];var o=new Array(r);for(a=0;a<r;++a,t+=Cartesian2.packedLength)o[a]=Cartesian2.unpack(e,t);var s=Ellipsoid.unpack(e,t,scratchEllipsoid$9);t+=Ellipsoid.packedLength;var l=e[t++],c=e[t];return defined(i)?(i._positions=n,i._shape=o,i._ellipsoid=Ellipsoid.clone(s,i._ellipsoid),i._cornerType=l,i._granularity=c,i):(scratchOptions$h.polylinePositions=n,scratchOptions$h.shapePositions=o,scratchOptions$h.cornerType=l,scratchOptions$h.granularity=c,new PolylineVolumeOutlineGeometry(scratchOptions$h))};var brScratch$1=new BoundingRectangle;function Proxy(){DeveloperError.throwInstantiationError()}function createEvaluateFunction$1(n){var a=n.points,o=n.times;return function(e,t){defined(t)||(t=new Quaternion);var i=n._lastTimeIndex=n.findTimeInterval(e,n._lastTimeIndex),r=(e-o[i])/(o[i+1]-o[i]),e=a[i],i=a[i+1];return Quaternion.fastSlerp(e,i,r,t)}}function QuaternionSpline(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).points,e=e.times;this._times=e,this._points=t,this._evaluateFunction=createEvaluateFunction$1(this),this._lastTimeIndex=0}function quickselect(e,t,i,r,n){quickselectStep(e,t,i||0,r||e.length-1,n||defaultCompare)}function quickselectStep(e,t,i,r,n){for(;i<r;){var a,o,s,l;600<r-i&&(a=r-i+1,o=t-i+1,l=Math.log(a),s=.5*Math.exp(2*l/3),l=.5*Math.sqrt(l*s*(a-s)/a)*(o-a/2<0?-1:1),quickselectStep(e,t,Math.max(i,Math.floor(t-o*s/a+l)),Math.min(r,Math.floor(t+(a-o)*s/a+l)),n));var c=e[t],u=i,d=r;for(swap$1(e,i,t),0<n(e[r],c)&&swap$1(e,i,r);u<d;){for(swap$1(e,u,d),u++,d--;n(e[u],c)<0;)u++;for(;0<n(e[d],c);)d--}0===n(e[i],c)?swap$1(e,i,d):swap$1(e,++d,r),d<=t&&(i=d+1),t<=d&&(r=d-1)}}function swap$1(e,t,i){var r=e[t];e[t]=e[i],e[i]=r}function defaultCompare(e,t){return e<t?-1:t<e?1:0}function RBush(e){void 0===e&&(e=9),this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}function findItem(e,t,i){if(!i)return t.indexOf(e);for(var r=0;r<t.length;r++)if(i(e,t[r]))return r;return-1}function calcBBox(e,t){distBBox(e,0,e.children.length,t,e)}function distBBox(e,t,i,r,n){(n=n||createNode(null)).minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(var a=t;a<i;a++){var o=e.children[a];extend(n,e.leaf?r(o):o)}return n}function extend(e,t){return e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),e}function compareNodeMinX(e,t){return e.minX-t.minX}function compareNodeMinY(e,t){return e.minY-t.minY}function bboxArea(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function bboxMargin(e){return e.maxX-e.minX+(e.maxY-e.minY)}function enlargedArea(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function intersectionArea(e,t){var i=Math.max(e.minX,t.minX),r=Math.max(e.minY,t.minY),n=Math.min(e.maxX,t.maxX),t=Math.min(e.maxY,t.maxY);return Math.max(0,n-i)*Math.max(0,t-r)}function contains(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function intersects$1(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function createNode(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function multiSelect(e,t,i,r,n){for(var a,o=[t,i];o.length;)(i=o.pop())-(t=o.pop())<=r||(quickselect(e,a=t+Math.ceil((i-t)/r/2)*r,t,i,n),o.push(t,a,a,i))}function RectangleCollisionChecker(){this._tree=new RBush}function RectangleWithId(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.id=""}function idCompare(e,t){return e.id===t.id}PolylineVolumeOutlineGeometry.createGeometry=function(e){var t=arrayRemoveDuplicates(e._positions,Cartesian3.equalsEpsilon),i=e._shape,i=PolylineVolumeGeometryLibrary.removeDuplicatesFromShape(i);if(!(t.length<2||i.length<3)){PolygonPipeline.computeWindingOrder2D(i)===WindingOrder$1.CLOCKWISE&&i.reverse();var r=BoundingRectangle.fromPoints(i,brScratch$1);return computeAttributes$2(PolylineVolumeGeometryLibrary.computePositions(t,i,r,e,!1),i)}},Proxy.prototype.getURL=DeveloperError.throwInstantiationError,Object.defineProperties(QuaternionSpline.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}}),QuaternionSpline.prototype.findTimeInterval=Spline.prototype.findTimeInterval,QuaternionSpline.prototype.wrapTime=Spline.prototype.wrapTime,QuaternionSpline.prototype.clampTime=Spline.prototype.clampTime,QuaternionSpline.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)},RBush.prototype.all=function(){return this._all(this.data,[])},RBush.prototype.search=function(e){var t=this.data,i=[];if(!intersects$1(e,t))return i;for(var r=this.toBBox,n=[];t;){for(var a=0;a<t.children.length;a++){var o=t.children[a],s=t.leaf?r(o):o;intersects$1(e,s)&&(t.leaf?i.push(o):contains(e,s)?this._all(o,i):n.push(o))}t=n.pop()}return i},RBush.prototype.collides=function(e){var t=this.data;if(!intersects$1(e,t))return!1;for(var i=[];t;){for(var r=0;r<t.children.length;r++){var n=t.children[r],a=t.leaf?this.toBBox(n):n;if(intersects$1(e,a)){if(t.leaf||contains(e,a))return!0;i.push(n)}}t=i.pop()}return!1},RBush.prototype.load=function(e){if(!e||!e.length)return this;if(e.length<this._minEntries){for(var t=0;t<e.length;t++)this.insert(e[t]);return this}var i,r=this._build(e.slice(),0,e.length-1,0);return this.data.children.length?this.data.height===r.height?this._splitRoot(this.data,r):(this.data.height<r.height&&(i=this.data,this.data=r,r=i),this._insert(r,this.data.height-r.height-1,!0)):this.data=r,this},RBush.prototype.insert=function(e){return e&&this._insert(e,this.data.height-1),this},RBush.prototype.clear=function(){return this.data=createNode([]),this},RBush.prototype.remove=function(e,t){if(!e)return this;for(var i,r,n,a=this.data,o=this.toBBox(e),s=[],l=[];a||s.length;){if(a||(a=s.pop(),r=s[s.length-1],i=l.pop(),n=!0),a.leaf){var c=findItem(e,a.children,t);if(-1!==c)return a.children.splice(c,1),s.push(a),this._condense(s),this}n||a.leaf||!contains(a,o)?r?(i++,a=r.children[i],n=!1):a=null:(s.push(a),l.push(i),i=0,a=(r=a).children[0])}return this},RBush.prototype.toBBox=function(e){return e},RBush.prototype.compareMinX=function(e,t){return e.minX-t.minX},RBush.prototype.compareMinY=function(e,t){return e.minY-t.minY},RBush.prototype.toJSON=function(){return this.data},RBush.prototype.fromJSON=function(e){return this.data=e,this},RBush.prototype._all=function(e,t){for(var i=[];e;)e.leaf?t.push.apply(t,e.children):i.push.apply(i,e.children),e=i.pop();return t},RBush.prototype._build=function(e,t,i,r){var n,a=i-t+1,o=this._maxEntries;if(a<=o)return calcBBox(n=createNode(e.slice(t,i+1)),this.toBBox),n;r||(r=Math.ceil(Math.log(a)/Math.log(o)),o=Math.ceil(a/Math.pow(o,r-1))),(n=createNode([])).leaf=!1,n.height=r;var s=Math.ceil(a/o),l=s*Math.ceil(Math.sqrt(o));multiSelect(e,t,i,l,this.compareMinX);for(var c=t;c<=i;c+=l){var u=Math.min(c+l-1,i);multiSelect(e,c,u,s,this.compareMinY);for(var d=c;d<=u;d+=s){var h=Math.min(d+s-1,u);n.children.push(this._build(e,d,h,r-1))}}return calcBBox(n,this.toBBox),n},RBush.prototype._chooseSubtree=function(e,t,i,r){for(;r.push(t),!t.leaf&&r.length-1!==i;){for(var n=1/0,a=1/0,o=void 0,s=0;s<t.children.length;s++){var l=t.children[s],c=bboxArea(l),u=enlargedArea(e,l)-c;u<a?(a=u,n=c<n?c:n,o=l):u===a&&c<n&&(n=c,o=l)}t=o||t.children[0]}return t},RBush.prototype._insert=function(e,t,i){var r=i?e:this.toBBox(e),n=[],i=this._chooseSubtree(r,this.data,t,n);for(i.children.push(e),extend(i,r);0<=t&&n[t].children.length>this._maxEntries;)this._split(n,t),t--;this._adjustParentBBoxes(r,n,t)},RBush.prototype._split=function(e,t){var i=e[t],r=i.children.length,n=this._minEntries;this._chooseSplitAxis(i,n,r);r=this._chooseSplitIndex(i,n,r),r=createNode(i.children.splice(r,i.children.length-r));r.height=i.height,r.leaf=i.leaf,calcBBox(i,this.toBBox),calcBBox(r,this.toBBox),t?e[t-1].children.push(r):this._splitRoot(i,r)},RBush.prototype._splitRoot=function(e,t){this.data=createNode([e,t]),this.data.height=e.height+1,this.data.leaf=!1,calcBBox(this.data,this.toBBox)},RBush.prototype._chooseSplitIndex=function(e,t,i){for(var r,n=1/0,a=1/0,o=t;o<=i-t;o++){var s=distBBox(e,0,o,this.toBBox),l=distBBox(e,o,i,this.toBBox),c=intersectionArea(s,l),l=bboxArea(s)+bboxArea(l);c<n?(n=c,r=o,a=l<a?l:a):c===n&&l<a&&(a=l,r=o)}return r||i-t},RBush.prototype._chooseSplitAxis=function(e,t,i){var r=e.leaf?this.compareMinX:compareNodeMinX,n=e.leaf?this.compareMinY:compareNodeMinY;this._allDistMargin(e,t,i,r)<this._allDistMargin(e,t,i,n)&&e.children.sort(r)},RBush.prototype._allDistMargin=function(e,t,i,r){e.children.sort(r);for(var n=this.toBBox,a=distBBox(e,0,t,n),o=distBBox(e,i-t,i,n),s=bboxMargin(a)+bboxMargin(o),l=t;l<i-t;l++){var c=e.children[l];extend(a,e.leaf?n(c):c),s+=bboxMargin(a)}for(var u=i-t-1;t<=u;u--){var d=e.children[u];extend(o,e.leaf?n(d):d),s+=bboxMargin(o)}return s},RBush.prototype._adjustParentBBoxes=function(e,t,i){for(var r=i;0<=r;r--)extend(t[r],e)},RBush.prototype._condense=function(e){for(var t=e.length-1,i=void 0;0<=t;t--)0===e[t].children.length?0<t?(i=e[t-1].children).splice(i.indexOf(e[t]),1):this.clear():calcBBox(e[t],this.toBBox)},RectangleWithId.fromRectangleAndId=function(e,t,i){return i.minX=t.west,i.minY=t.south,i.maxX=t.east,i.maxY=t.north,i.id=e,i},RectangleCollisionChecker.prototype.insert=function(e,t){t=RectangleWithId.fromRectangleAndId(e,t,new RectangleWithId);this._tree.insert(t)};var removalScratch=new RectangleWithId;RectangleCollisionChecker.prototype.remove=function(e,t){t=RectangleWithId.fromRectangleAndId(e,t,removalScratch);this._tree.remove(t,idCompare)};var collisionScratch=new RectangleWithId;RectangleCollisionChecker.prototype.collides=function(e){e=RectangleWithId.fromRectangleAndId("",e,collisionScratch);return this._tree.collides(e)};var cos$2=Math.cos,sin$2=Math.sin,sqrt=Math.sqrt,RectangleGeometryLibrary={computePosition:function(e,t,i,r,n,a,o){var s=t.radiiSquared,l=e.nwCorner,c=e.boundingRectangle,u=l.latitude-e.granYCos*r+n*e.granXSin,d=cos$2(u),h=sin$2(u),p=s.z*h,m=l.longitude+r*e.granYSin+n*e.granXCos,t=d*cos$2(m),l=d*sin$2(m),d=s.x*t,s=s.y*l,h=sqrt(d*t+s*l+p*h);a.x=d/h,a.y=s/h,a.z=p/h,i&&(defined(i=e.stNwCorner)?(u=i.latitude-e.stGranYCos*r+n*e.stGranXSin,m=i.longitude+r*e.stGranYSin+n*e.stGranXCos,o.x=(m-e.stWest)*e.lonScalar,o.y=(u-e.stSouth)*e.latScalar):(o.x=(m-c.west)*e.lonScalar,o.y=(u-c.south)*e.latScalar))}},rotationMatrixScratch=new Matrix2,nwCartesian=new Cartesian3,centerScratch$2=new Cartographic,centerCartesian=new Cartesian3,proj=new GeographicProjection;function getRotationOptions(e,t,i,r,n,a,o){var s=Math.cos(t),l=r*s,c=i*s,u=Math.sin(t),d=r*u,h=i*u;nwCartesian=proj.project(e,nwCartesian),nwCartesian=Cartesian3.subtract(nwCartesian,centerCartesian,nwCartesian);s=Matrix2.fromRotation(t,rotationMatrixScratch);nwCartesian=Matrix2.multiplyByVector(s,nwCartesian,nwCartesian),nwCartesian=Cartesian3.add(nwCartesian,centerCartesian,nwCartesian),--a,--o;r=(e=proj.unproject(nwCartesian,e)).latitude,i=r+a*h,u=r-l*o,t=r-l*o+a*h,s=Math.max(r,i,u,t),r=Math.min(r,i,u,t),i=e.longitude,u=i+a*c,t=i+o*d,a=i+o*d+a*c;return{north:s,south:r,east:Math.max(i,u,t,a),west:Math.min(i,u,t,a),granYCos:l,granYSin:d,granXCos:c,granXSin:h,nwCorner:e}}RectangleGeometryLibrary.computeOptions=function(e,t,i,r,n,a,o){var s=e.east,l=e.west,c=e.north,u=e.south,d=!1,h=!1;c===CesiumMath.PI_OVER_TWO&&(d=!0),u===-CesiumMath.PI_OVER_TWO&&(h=!0);var p,m=c-u,f=(_=s<l?CesiumMath.TWO_PI-l+s:s-l)/((p=Math.ceil(_/t)+1)-1),g=m/((y=Math.ceil(m/t)+1)-1),_=Rectangle.northwest(e,a),m=Rectangle.center(e,centerScratch$2);0===i&&0===r||(m.longitude<_.longitude&&(m.longitude+=CesiumMath.TWO_PI),centerCartesian=proj.project(m,centerCartesian));var y,t=g,a=f,n=Rectangle.clone(e,n),h={granYCos:t,granYSin:0,granXCos:a,granXSin:0,nwCorner:_,boundingRectangle:n,width:p,height:y,northCap:d,southCap:h};return 0!==i&&(c=(_=getRotationOptions(_,i,f,g,m,p,y)).north,u=_.south,s=_.east,l=_.west,h.granYCos=_.granYCos,h.granYSin=_.granYSin,h.granXCos=_.granXCos,h.granXSin=_.granXSin,n.north=c,n.south=u,n.east=s,n.west=l),0!==r&&(i-=r,y=getRotationOptions(o=Rectangle.northwest(n,o),i,f,g,m,p,y),h.stGranYCos=y.granYCos,h.stGranXCos=y.granXCos,h.stGranYSin=y.granYSin,h.stGranXSin=y.granXSin,h.stNwCorner=o,h.stWest=y.west,h.stSouth=y.south),h};var positionScratch$2=new Cartesian3,normalScratch$3=new Cartesian3,tangentScratch$1=new Cartesian3,bitangentScratch$1=new Cartesian3,rectangleScratch$2=new Rectangle,stScratch$1=new Cartesian2,bottomBoundingSphere$2=new BoundingSphere,topBoundingSphere$2=new BoundingSphere;function createAttributes(e,t){var i=new Geometry({attributes:new GeometryAttributes,primitiveType:PrimitiveType$1.TRIANGLES});return i.attributes.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:t.positions}),e.normal&&(i.attributes.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(i.attributes.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.bitangent&&(i.attributes.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:t.bitangents})),i}function calculateAttributes(e,t,i,r){var n=e.length,a=t.normal?new Float32Array(n):void 0,o=t.tangent?new Float32Array(n):void 0,s=t.bitangent?new Float32Array(n):void 0,l=0,c=bitangentScratch$1,u=tangentScratch$1,d=normalScratch$3;if(t.normal||t.tangent||t.bitangent)for(var h=0;h<n;h+=3){var p=Cartesian3.fromArray(e,h,positionScratch$2),m=l+1,f=l+2,d=i.geodeticSurfaceNormal(p,d);(t.tangent||t.bitangent)&&(Cartesian3.cross(Cartesian3.UNIT_Z,d,u),Matrix3.multiplyByVector(r,u,u),Cartesian3.normalize(u,u),t.bitangent&&Cartesian3.normalize(Cartesian3.cross(d,u,c),c)),t.normal&&(a[l]=d.x,a[m]=d.y,a[f]=d.z),t.tangent&&(o[l]=u.x,o[m]=u.y,o[f]=u.z),t.bitangent&&(s[l]=c.x,s[m]=c.y,s[f]=c.z),l+=3}return createAttributes(t,{positions:e,normals:a,tangents:o,bitangents:s})}var v1Scratch=new Cartesian3,v2Scratch=new Cartesian3;function calculateAttributesWall(e,t,i){var r=e.length,n=t.normal?new Float32Array(r):void 0,a=t.tangent?new Float32Array(r):void 0,o=t.bitangent?new Float32Array(r):void 0,s=0,l=0,c=0,u=!0,d=bitangentScratch$1,h=tangentScratch$1,p=normalScratch$3;if(t.normal||t.tangent||t.bitangent)for(var m=0;m<r;m+=6){var f,g=Cartesian3.fromArray(e,m,positionScratch$2),_=Cartesian3.fromArray(e,(m+6)%r,v1Scratch);u&&(f=Cartesian3.fromArray(e,(m+3)%r,v2Scratch),Cartesian3.subtract(_,g,_),Cartesian3.subtract(f,g,f),p=Cartesian3.normalize(Cartesian3.cross(f,_,p),p),u=!1),Cartesian3.equalsEpsilon(_,g,CesiumMath.EPSILON10)&&(u=!0),(t.tangent||t.bitangent)&&(d=i.geodeticSurfaceNormal(g,d),t.tangent&&(h=Cartesian3.normalize(Cartesian3.cross(d,p,h),h))),t.normal&&(n[s++]=p.x,n[s++]=p.y,n[s++]=p.z,n[s++]=p.x,n[s++]=p.y,n[s++]=p.z),t.tangent&&(a[l++]=h.x,a[l++]=h.y,a[l++]=h.z,a[l++]=h.x,a[l++]=h.y,a[l++]=h.z),t.bitangent&&(o[c++]=d.x,o[c++]=d.y,o[c++]=d.z,o[c++]=d.x,o[c++]=d.y,o[c++]=d.z)}return createAttributes(t,{positions:e,normals:n,tangents:a,bitangents:o})}function constructRectangle(e,t){var i=e._vertexFormat,r=e._ellipsoid,n=t.height,a=t.width,o=t.northCap,s=t.southCap,l=0,c=n,u=n,e=0;o&&(--u,e+=l=1),s&&(--c,--u,e+=1),e+=a*u;for(var d=i.position?new Float64Array(3*e):void 0,h=i.st?new Float32Array(2*e):void 0,p=0,m=0,f=positionScratch$2,g=stScratch$1,_=Number.MAX_VALUE,y=Number.MAX_VALUE,C=-Number.MAX_VALUE,v=-Number.MAX_VALUE,S=l;S<c;++S)for(var T=0;T<a;++T)RectangleGeometryLibrary.computePosition(t,r,i.st,S,T,f,g),d[p++]=f.x,d[p++]=f.y,d[p++]=f.z,i.st&&(h[m++]=g.x,h[m++]=g.y,_=Math.min(_,g.x),y=Math.min(y,g.y),C=Math.max(C,g.x),v=Math.max(v,g.y));if(o&&(RectangleGeometryLibrary.computePosition(t,r,i.st,0,0,f,g),d[p++]=f.x,d[p++]=f.y,d[p++]=f.z,i.st&&(h[m++]=g.x,h[m++]=g.y,_=g.x,y=g.y,C=g.x,v=g.y)),s&&(RectangleGeometryLibrary.computePosition(t,r,i.st,n-1,0,f,g),d[p++]=f.x,d[p++]=f.y,d[p]=f.z,i.st&&(h[m++]=g.x,h[m]=g.y,_=Math.min(_,g.x),y=Math.min(y,g.y),C=Math.max(C,g.x),v=Math.max(v,g.y))),i.st&&(_<0||y<0||1<C||1<v))for(var b=0;b<h.length;b+=2)h[b]=(h[b]-_)/(C-_),h[b+1]=(h[b+1]-y)/(v-y);l=calculateAttributes(d,i,r,t.tangentRotationMatrix),n=6*(a-1)*(u-1);o&&(n+=3*(a-1)),s&&(n+=3*(a-1));for(var x=IndexDatatype$1.createTypedArray(e,n),E=0,P=0,A=0;A<u-1;++A){for(var w=0;w<a-1;++w){var D=E+a,M=D+1,I=E+1;x[P++]=E,x[P++]=D,x[P++]=I,x[P++]=I,x[P++]=D,x[P++]=M,++E}++E}if(o||s){var R,O,L=e-1,F=e-1;if(o&&s&&(L=e-2),E=0,o)for(A=0;A<a-1;A++)O=(R=E)+1,x[P++]=L,x[P++]=R,x[P++]=O,++E;if(s)for(E=(u-1)*a,A=0;A<a-1;A++)O=(R=E)+1,x[P++]=R,x[P++]=F,x[P++]=O,++E}return l.indices=x,i.st&&(l.attributes.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:h})),l}function addWallPositions$1(e,t,i,r,n){return e[t++]=r[i],e[t++]=r[i+1],e[t++]=r[i+2],e[t++]=n[i],e[t++]=n[i+1],e[t]=n[i+2],e}function addWallTextureCoordinates(e,t,i,r){return e[t++]=r[i],e[t++]=r[i+1],e[t++]=r[i],e[t]=r[i+1],e}var scratchVertexFormat$b=new VertexFormat;function constructExtrudedRectangle(e,t){var i=e._shadowVolume,r=e._offsetAttribute,n=e._vertexFormat,a=e._extrudedHeight,o=e._surfaceHeight,s=e._ellipsoid,l=t.height,c=t.width;i&&((_=VertexFormat.clone(n,scratchVertexFormat$b)).normal=!0,e._vertexFormat=_);var u=constructRectangle(e,t);i&&(e._vertexFormat=n);var d=PolygonPipeline.scaleToGeodeticHeight(u.attributes.position.values,o,s,!1),h=2*($=(d=new Float64Array(d)).length),p=new Float64Array(h);p.set(d);var m=PolygonPipeline.scaleToGeodeticHeight(u.attributes.position.values,a,s);p.set(m,$),u.attributes.position.values=p;var f,g,_=n.normal?new Float32Array(h):void 0,e=n.tangent?new Float32Array(h):void 0,o=n.bitangent?new Float32Array(h):void 0,a=n.st?new Float32Array(h/3*2):void 0;if(n.normal){for(g=u.attributes.normal.values,_.set(g),C=0;C<$;C++)g[C]=-g[C];_.set(g,$),u.attributes.normal.values=_}if(i){g=u.attributes.normal.values,n.normal||(u.attributes.normal=void 0);for(var y=new Float32Array(h),C=0;C<$;C++)g[C]=-g[C];y.set(g,$),u.attributes.extrudeDirection=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:y})}p=defined(r);if(p&&(_=$/3*2,y=new Uint8Array(_),y=r===GeometryOffsetAttribute$1.TOP?arrayFill(y,1,0,_/2):arrayFill(y,r===GeometryOffsetAttribute$1.NONE?0:1),u.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:y})),n.tangent){var v=u.attributes.tangent.values;for(e.set(v),C=0;C<$;C++)v[C]=-v[C];e.set(v,$),u.attributes.tangent.values=e}n.bitangent&&(E=u.attributes.bitangent.values,o.set(E),o.set(E,$),u.attributes.bitangent.values=o),n.st&&(f=u.attributes.st.values,a.set(f),a.set(f,$/3*2),u.attributes.st.values=a);var S=u.indices,T=S.length,b=$/3,x=IndexDatatype$1.createTypedArray(h/3,2*T);for(x.set(S),C=0;C<T;C+=3)x[C+T]=S[C+2]+b,x[C+1+T]=S[C+1]+b,x[C+2+T]=S[C]+b;u.indices=x;var e=t.northCap,E=t.southCap,o=l,a=2,h=0,t=4,l=4;e&&(--a,--o,h+=1,t-=2,--l),E&&(--a,--o,h+=1,t-=2,--l);var l=2*((h+=a*c+2*o-t)+l),P=new Float64Array(3*l),A=i?new Float32Array(3*l):void 0,w=p?new Uint8Array(l):void 0,D=n.st?new Float32Array(2*l):void 0,M=r===GeometryOffsetAttribute$1.TOP;p&&!M&&(w=arrayFill(w,r===GeometryOffsetAttribute$1.ALL?1:0));var I=0,R=0,O=0,L=0,F=c*o;for(C=0;C<F;C+=c)P=addWallPositions$1(P,I,B=3*C,d,m),I+=6,n.st&&(D=addWallTextureCoordinates(D,R,2*C,f),R+=4),i&&(O+=3,A[O++]=g[B],A[O++]=g[B+1],A[O++]=g[B+2]),M&&(w[L++]=1,L+=1);if(E){var N=e?1+F:F,B=3*N;for(C=0;C<2;C++)P=addWallPositions$1(P,I,B,d,m),I+=6,n.st&&(D=addWallTextureCoordinates(D,R,2*N,f),R+=4),i&&(O+=3,A[O++]=g[B],A[O++]=g[B+1],A[O++]=g[B+2]),M&&(w[L++]=1,L+=1)}else for(C=F-c;C<F;C++)P=addWallPositions$1(P,I,B=3*C,d,m),I+=6,n.st&&(D=addWallTextureCoordinates(D,R,2*C,f),R+=4),i&&(O+=3,A[O++]=g[B],A[O++]=g[B+1],A[O++]=g[B+2]),M&&(w[L++]=1,L+=1);for(C=F-1;0<C;C-=c)P=addWallPositions$1(P,I,B=3*C,d,m),I+=6,n.st&&(D=addWallTextureCoordinates(D,R,2*C,f),R+=4),i&&(O+=3,A[O++]=g[B],A[O++]=g[B+1],A[O++]=g[B+2]),M&&(w[L++]=1,L+=1);if(e){var V=F;for(B=3*V,C=0;C<2;C++)P=addWallPositions$1(P,I,B,d,m),I+=6,n.st&&(D=addWallTextureCoordinates(D,R,2*V,f),R+=4),i&&(O+=3,A[O++]=g[B],A[O++]=g[B+1],A[O++]=g[B+2]),M&&(w[L++]=1,L+=1)}else for(C=c-1;0<=C;C--)P=addWallPositions$1(P,I,B=3*C,d,m),I+=6,n.st&&(D=addWallTextureCoordinates(D,R,2*C,f),R+=4),i&&(O+=3,A[O++]=g[B],A[O++]=g[B+1],A[O++]=g[B+2]),M&&(w[L++]=1,L+=1);s=calculateAttributesWall(P,n,s);n.st&&(s.attributes.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:D})),i&&(s.attributes.extrudeDirection=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:A})),p&&(s.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:w}));var k,z,U=IndexDatatype$1.createTypedArray(l,6*h),$=P.length/3,G=0;for(C=0;C<$-1;C+=2){z=((k=C)+2)%$;var H=Cartesian3.fromArray(P,3*k,v1Scratch),W=Cartesian3.fromArray(P,3*z,v2Scratch);Cartesian3.equalsEpsilon(H,W,CesiumMath.EPSILON10)||(W=(2+(H=(k+1)%$))%$,U[G++]=k,U[G++]=H,U[G++]=z,U[G++]=z,U[G++]=H,U[G++]=W)}return s.indices=U,(s=GeometryPipeline.combineInstances([new GeometryInstance({geometry:u}),new GeometryInstance({geometry:s})]))[0]}var scratchRectanglePoints=[new Cartesian3,new Cartesian3,new Cartesian3,new Cartesian3],nwScratch=new Cartographic,stNwScratch=new Cartographic;function computeRectangle$3(e,t,i,r,n){if(0===i)return Rectangle.clone(e,n);var a=RectangleGeometryLibrary.computeOptions(e,t,i,0,rectangleScratch$2,nwScratch),e=a.height,t=a.width,i=scratchRectanglePoints;return RectangleGeometryLibrary.computePosition(a,r,!1,0,0,i[0]),RectangleGeometryLibrary.computePosition(a,r,!1,0,t-1,i[1]),RectangleGeometryLibrary.computePosition(a,r,!1,e-1,0,i[2]),RectangleGeometryLibrary.computePosition(a,r,!1,e-1,t-1,i[3]),Rectangle.fromCartesianArray(i,r,n)}function RectangleGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).rectangle,i=defaultValue(e.height,0),r=defaultValue(e.extrudedHeight,i);this._rectangle=Rectangle.clone(t),this._granularity=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),this._ellipsoid=Ellipsoid.clone(defaultValue(e.ellipsoid,Ellipsoid.WGS84)),this._surfaceHeight=Math.max(i,r),this._rotation=defaultValue(e.rotation,0),this._stRotation=defaultValue(e.stRotation,0),this._vertexFormat=VertexFormat.clone(defaultValue(e.vertexFormat,VertexFormat.DEFAULT)),this._extrudedHeight=Math.min(i,r),this._shadowVolume=defaultValue(e.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=e.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}RectangleGeometry.packedLength=Rectangle.packedLength+Ellipsoid.packedLength+VertexFormat.packedLength+7,RectangleGeometry.pack=function(e,t,i){return i=defaultValue(i,0),Rectangle.pack(e._rectangle,t,i),i+=Rectangle.packedLength,Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,VertexFormat.pack(e._vertexFormat,t,i),i+=VertexFormat.packedLength,t[i++]=e._granularity,t[i++]=e._surfaceHeight,t[i++]=e._rotation,t[i++]=e._stRotation,t[i++]=e._extrudedHeight,t[i++]=e._shadowVolume?1:0,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchRectangle=new Rectangle,scratchEllipsoid$a=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchOptions$i={rectangle:scratchRectangle,ellipsoid:scratchEllipsoid$a,vertexFormat:scratchVertexFormat$b,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};RectangleGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=Rectangle.unpack(e,t,scratchRectangle);t+=Rectangle.packedLength;var n=Ellipsoid.unpack(e,t,scratchEllipsoid$a);t+=Ellipsoid.packedLength;var a=VertexFormat.unpack(e,t,scratchVertexFormat$b);t+=VertexFormat.packedLength;var o=e[t++],s=e[t++],l=e[t++],c=e[t++],u=e[t++],d=1===e[t++],t=e[t];return defined(i)?(i._rectangle=Rectangle.clone(r,i._rectangle),i._ellipsoid=Ellipsoid.clone(n,i._ellipsoid),i._vertexFormat=VertexFormat.clone(a,i._vertexFormat),i._granularity=o,i._surfaceHeight=s,i._rotation=l,i._stRotation=c,i._extrudedHeight=u,i._shadowVolume=d,i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions$i.granularity=o,scratchOptions$i.height=s,scratchOptions$i.rotation=l,scratchOptions$i.stRotation=c,scratchOptions$i.extrudedHeight=u,scratchOptions$i.shadowVolume=d,scratchOptions$i.offsetAttribute=-1===t?void 0:t,new RectangleGeometry(scratchOptions$i))},RectangleGeometry.computeRectangle=function(e,t){var i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).rectangle,r=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),n=defaultValue(e.ellipsoid,Ellipsoid.WGS84);return computeRectangle$3(i,r,defaultValue(e.rotation,0),n,t)};var tangentRotationMatrixScratch=new Matrix3,quaternionScratch$3=new Quaternion,centerScratch$3=new Cartographic;RectangleGeometry.createGeometry=function(e){if(!CesiumMath.equalsEpsilon(e._rectangle.north,e._rectangle.south,CesiumMath.EPSILON10)&&!CesiumMath.equalsEpsilon(e._rectangle.east,e._rectangle.west,CesiumMath.EPSILON10)){var t=e._rectangle,i=e._ellipsoid,r=e._rotation,n=e._stRotation,a=e._vertexFormat,o=RectangleGeometryLibrary.computeOptions(t,e._granularity,r,n,rectangleScratch$2,nwScratch,stNwScratch),s=tangentRotationMatrixScratch;0!==n||0!==r?(c=Rectangle.center(t,centerScratch$3),u=i.geodeticSurfaceNormalCartographic(c,v1Scratch),Quaternion.fromAxisAngle(u,-n,quaternionScratch$3),Matrix3.fromQuaternion(quaternionScratch$3,s)):Matrix3.clone(Matrix3.IDENTITY,s);var l,c=e._surfaceHeight,u=e._extrudedHeight,n=!CesiumMath.equalsEpsilon(c,u,0,CesiumMath.EPSILON2);return o.lonScalar=1/e._rectangle.width,o.latScalar=1/e._rectangle.height,o.tangentRotationMatrix=s,t=e._rectangle,c=n?(l=constructExtrudedRectangle(e,o),n=BoundingSphere.fromRectangle3D(t,i,c,topBoundingSphere$2),u=BoundingSphere.fromRectangle3D(t,i,u,bottomBoundingSphere$2),BoundingSphere.union(n,u)):((l=constructRectangle(e,o)).attributes.position.values=PolygonPipeline.scaleToGeodeticHeight(l.attributes.position.values,c,i,!1),defined(e._offsetAttribute)&&(o=l.attributes.position.values.length,arrayFill(o=new Uint8Array(o/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),l.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:o})),BoundingSphere.fromRectangle3D(t,i,c)),a.position||delete l.attributes.position,new Geometry({attributes:l.attributes,indices:l.indices,primitiveType:l.primitiveType,boundingSphere:c,offsetAttribute:e._offsetAttribute})}},RectangleGeometry.createShadowVolume=function(e,t,i){var r=e._granularity,n=e._ellipsoid,t=t(r,n),i=i(r,n);return new RectangleGeometry({rectangle:e._rectangle,rotation:e._rotation,ellipsoid:n,stRotation:e._stRotation,granularity:r,extrudedHeight:i,height:t,vertexFormat:VertexFormat.POSITION_ONLY,shadowVolume:!0})};var unrotatedTextureRectangleScratch=new Rectangle,points2DScratch$1=[new Cartesian2,new Cartesian2,new Cartesian2],rotation2DScratch$1=new Matrix2,rectangleCenterScratch$1=new Cartographic;function textureCoordinateRotationPoints$2(e){if(0===e._stRotation)return[0,0,0,1,1,0];var t=Rectangle.clone(e._rectangle,unrotatedTextureRectangleScratch),i=e._granularity,r=e._ellipsoid,t=computeRectangle$3(t,i,e._rotation-e._stRotation,r,unrotatedTextureRectangleScratch),n=points2DScratch$1;n[0].x=t.west,n[0].y=t.south,n[1].x=t.west,n[1].y=t.north,n[2].x=t.east,n[2].y=t.south;for(var a=e.rectangle,o=Matrix2.fromRotation(e._stRotation,rotation2DScratch$1),s=Rectangle.center(a,rectangleCenterScratch$1),l=0;l<3;++l){var c=n[l];c.x-=s.longitude,c.y-=s.latitude,Matrix2.multiplyByVector(o,c,c),c.x+=s.longitude,c.y+=s.latitude,c.x=(c.x-a.west)/a.width,c.y=(c.y-a.south)/a.height}i=n[0],r=n[1],t=n[2],e=new Array(6);return Cartesian2.pack(i,e),Cartesian2.pack(r,e,2),Cartesian2.pack(t,e,4),e}Object.defineProperties(RectangleGeometry.prototype,{rectangle:{get:function(){return defined(this._rotatedRectangle)||(this._rotatedRectangle=computeRectangle$3(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return defined(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=textureCoordinateRotationPoints$2(this)),this._textureCoordinateRotationPoints}}});var bottomBoundingSphere$3=new BoundingSphere,topBoundingSphere$3=new BoundingSphere,positionScratch$3=new Cartesian3,rectangleScratch$3=new Rectangle;function constructRectangle$1(e,t){var i=e._ellipsoid,r=t.height,n=t.width,a=t.northCap,o=t.southCap,s=r,l=2,c=0,e=4;a&&(--l,--s,c+=1,e-=2),o&&(--l,--s,c+=1,e-=2),c+=l*n+2*s-e;var u,d=new Float64Array(3*c),h=0,p=0,m=positionScratch$3;if(a)RectangleGeometryLibrary.computePosition(t,i,!1,p,0,m),d[h++]=m.x,d[h++]=m.y,d[h++]=m.z;else for(u=0;u<n;u++)RectangleGeometryLibrary.computePosition(t,i,!1,p,u,m),d[h++]=m.x,d[h++]=m.y,d[h++]=m.z;for(u=n-1,p=1;p<r;p++)RectangleGeometryLibrary.computePosition(t,i,!1,p,u,m),d[h++]=m.x,d[h++]=m.y,d[h++]=m.z;if(p=r-1,!o)for(u=n-2;0<=u;u--)RectangleGeometryLibrary.computePosition(t,i,!1,p,u,m),d[h++]=m.x,d[h++]=m.y,d[h++]=m.z;for(u=0,p=r-2;0<p;p--)RectangleGeometryLibrary.computePosition(t,i,!1,p,u,m),d[h++]=m.x,d[h++]=m.y,d[h++]=m.z;for(var o=d.length/3*2,f=IndexDatatype$1.createTypedArray(d.length/3,o),g=0,_=0;_<d.length/3-1;_++)f[g++]=_,f[g++]=_+1;f[g++]=d.length/3-1,f[g++]=0;o=new Geometry({attributes:new GeometryAttributes,primitiveType:PrimitiveType$1.LINES});return o.attributes.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:d}),o.indices=f,o}function constructExtrudedRectangle$1(e,t){var i=e._surfaceHeight,r=e._extrudedHeight,n=e._ellipsoid,a=r,o=i,s=constructRectangle$1(e,t),r=t.height,i=t.width,e=PolygonPipeline.scaleToGeodeticHeight(s.attributes.position.values,o,n,!1),l=e.length,o=new Float64Array(2*l);o.set(e);a=PolygonPipeline.scaleToGeodeticHeight(s.attributes.position.values,a,n);o.set(a,l),s.attributes.position.values=o;n=t.northCap,a=t.southCap,t=4;n&&--t,a&&--t;for(var t=2*(o.length/3+t),c=IndexDatatype$1.createTypedArray(o.length/3,t),l=o.length/6,u=0,d=0;d<l-1;d++)c[u++]=d,c[u++]=d+1,c[u++]=d+l,c[u++]=d+l+1;return c[u++]=l-1,c[u++]=0,c[u++]=l+l-1,c[u++]=l,c[u++]=0,c[u++]=l,r=n?r-1:(n=i-1,c[u++]=n,c[u++]=n+l,i+r-2),c[u++]=r,c[u++]=r+l,a||(r=i+r-1,c[u++]=r,c[u]=r+l),s.indices=c,s}function RectangleOutlineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).rectangle,i=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),r=defaultValue(e.ellipsoid,Ellipsoid.WGS84),n=defaultValue(e.rotation,0),a=defaultValue(e.height,0),o=defaultValue(e.extrudedHeight,a);this._rectangle=Rectangle.clone(t),this._granularity=i,this._ellipsoid=r,this._surfaceHeight=Math.max(a,o),this._rotation=n,this._extrudedHeight=Math.min(a,o),this._offsetAttribute=e.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}RectangleOutlineGeometry.packedLength=Rectangle.packedLength+Ellipsoid.packedLength+5,RectangleOutlineGeometry.pack=function(e,t,i){return i=defaultValue(i,0),Rectangle.pack(e._rectangle,t,i),i+=Rectangle.packedLength,Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,t[i++]=e._granularity,t[i++]=e._surfaceHeight,t[i++]=e._rotation,t[i++]=e._extrudedHeight,t[i]=defaultValue(e._offsetAttribute,-1),t};var scratchRectangle$1=new Rectangle,scratchEllipsoid$b=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchOptions$j={rectangle:scratchRectangle$1,ellipsoid:scratchEllipsoid$b,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};RectangleOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);var r=Rectangle.unpack(e,t,scratchRectangle$1);t+=Rectangle.packedLength;var n=Ellipsoid.unpack(e,t,scratchEllipsoid$b);t+=Ellipsoid.packedLength;var a=e[t++],o=e[t++],s=e[t++],l=e[t++],t=e[t];return defined(i)?(i._rectangle=Rectangle.clone(r,i._rectangle),i._ellipsoid=Ellipsoid.clone(n,i._ellipsoid),i._surfaceHeight=o,i._rotation=s,i._extrudedHeight=l,i._offsetAttribute=-1===t?void 0:t,i):(scratchOptions$j.granularity=a,scratchOptions$j.height=o,scratchOptions$j.rotation=s,scratchOptions$j.extrudedHeight=l,scratchOptions$j.offsetAttribute=-1===t?void 0:t,new RectangleOutlineGeometry(scratchOptions$j))};var nwScratch$1=new Cartographic;RectangleOutlineGeometry.createGeometry=function(e){var t=e._rectangle,i=e._ellipsoid,r=RectangleGeometryLibrary.computeOptions(t,e._granularity,e._rotation,0,rectangleScratch$3,nwScratch$1);if(!CesiumMath.equalsEpsilon(t.north,t.south,CesiumMath.EPSILON10)&&!CesiumMath.equalsEpsilon(t.east,t.west,CesiumMath.EPSILON10)){var n,a,o,s=e._surfaceHeight,l=e._extrudedHeight;return s=!CesiumMath.equalsEpsilon(s,l,0,CesiumMath.EPSILON2)?(a=constructExtrudedRectangle$1(e,r),defined(e._offsetAttribute)&&(n=a.attributes.position.values.length/3,o=new Uint8Array(n),o=e._offsetAttribute===GeometryOffsetAttribute$1.TOP?arrayFill(o,1,0,n/2):arrayFill(o,e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),a.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:o})),o=BoundingSphere.fromRectangle3D(t,i,s,topBoundingSphere$3),l=BoundingSphere.fromRectangle3D(t,i,l,bottomBoundingSphere$3),BoundingSphere.union(o,l)):((a=constructRectangle$1(e,r)).attributes.position.values=PolygonPipeline.scaleToGeodeticHeight(a.attributes.position.values,s,i,!1),defined(e._offsetAttribute)&&(r=a.attributes.position.values.length,arrayFill(r=new Uint8Array(r/3),e._offsetAttribute===GeometryOffsetAttribute$1.NONE?0:1),a.attributes.applyOffset=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,values:r})),BoundingSphere.fromRectangle3D(t,i,s)),new Geometry({attributes:a.attributes,indices:a.indices,primitiveType:PrimitiveType$1.LINES,boundingSphere:s,offsetAttribute:e._offsetAttribute})}};var ReferenceFrame={FIXED:0,INERTIAL:1},ReferenceFrame$1=Object.freeze(ReferenceFrame),implementation$2;function requestAnimationFramePolyFill(e){return implementation$2(e)}function sampleTerrain(e,t,i){return e.readyPromise.then(function(){return doSampling(e,t,i)})}function doSampling(e,t,i){for(var r=e.tilingScheme,n=[],a={},o=0;o<i.length;++o){var s=r.positionToTileXY(i[o],t),l=s.toString();a.hasOwnProperty(l)||(s={x:s.x,y:s.y,level:t,tilingScheme:r,terrainProvider:e,positions:[]},a[l]=s,n.push(s)),a[l].positions.push(i[o])}var c=[];for(o=0;o<n.length;++o){var u=n[o],u=u.terrainProvider.requestTileGeometry(u.x,u.y,u.level).then(createInterpolateFunction(u)).otherwise(createMarkFailedFunction(u));c.push(u)}return when.all(c,function(){return i})}function createInterpolateFunction(e){var r=e.positions,n=e.tilingScheme.tileXYToRectangle(e.x,e.y,e.level);return function(e){for(var t=0;t<r.length;++t){var i=r[t];i.height=e.interpolateHeight(n,i.longitude,i.latitude)}}}function createMarkFailedFunction(e){var t=e.positions;return function(){for(var e=0;e<t.length;++e)t[e].height=void 0}}"undefined"!=typeof requestAnimationFrame&&(implementation$2=requestAnimationFrame),function(){if(!defined(implementation$2)&&"undefined"!=typeof window)for(var e=["webkit","moz","ms","o"],t=0,i=e.length;t<i&&!defined(implementation$2);)implementation$2=window[e[t]+"RequestAnimationFrame"],++t;var r;defined(implementation$2)||(r=0,implementation$2=function(e){var t=getTimestamp$1(),i=Math.max(1e3/60-(t-r),0);return r=t+i,setTimeout(function(){e(r)},i)})}();var scratchCartesian2$7=new Cartesian2;function sampleTerrainMostDetailed(l,c){return l.readyPromise.then(function(){for(var e=[],r=[],n=l.availability,t=[],i=0;i<c.length;++i){var a=c[i],o=n.computeMaximumLevelAtPosition(a);0===(r[i]=o)&&(l.tilingScheme.positionToTileXY(a,1,scratchCartesian2$7),defined(s=l.loadTileDataAvailability(scratchCartesian2$7.x,scratchCartesian2$7.y,1))&&t.push(s));var s=e[o];defined(s)||(e[o]=s=[]),s.push(a)}return when.all(t).then(function(){return when.all(e.map(function(e,t){if(defined(e))return sampleTerrain(l,t,e)}))}).then(function(){for(var e=[],t=0;t<c.length;++t){var i=c[t];n.computeMaximumLevelAtPosition(i)!==r[t]&&e.push(i)}if(0<e.length)return sampleTerrainMostDetailed(l,e)}).then(function(){return c})})}var ScreenSpaceEventType={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},ScreenSpaceEventType$1=Object.freeze(ScreenSpaceEventType);function getPosition$1(e,t,i){e=e._element;if(e===document)return i.x=t.clientX,i.y=t.clientY,i;e=e.getBoundingClientRect();return i.x=t.clientX-e.left,i.y=t.clientY-e.top,i}function getInputEventKey(e,t){return defined(t)&&(e+="+"+t),e}function getModifier(e){return e.shiftKey?KeyboardEventModifier$1.SHIFT:e.ctrlKey?KeyboardEventModifier$1.CTRL:e.altKey?KeyboardEventModifier$1.ALT:void 0}var MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};function registerListener(t,e,i,r){function n(e){r(t,e)}FeatureDetection.isInternetExplorer()?i.addEventListener(e,n,!1):i.addEventListener(e,n,{capture:!1,passive:!1}),t._removalFunctions.push(function(){i.removeEventListener(e,n,!1)})}function registerListeners(e){var t=e._element,i=defined(t.disableRootEvents)?t:document;FeatureDetection.supportsPointerEvents()?(registerListener(e,"pointerdown",t,handlePointerDown),registerListener(e,"pointerup",t,handlePointerUp),registerListener(e,"pointermove",t,handlePointerMove),registerListener(e,"pointercancel",t,handlePointerUp)):(registerListener(e,"mousedown",t,handleMouseDown),registerListener(e,"mouseup",i,handleMouseUp),registerListener(e,"mousemove",i,handleMouseMove),registerListener(e,"touchstart",t,handleTouchStart),registerListener(e,"touchend",i,handleTouchEnd),registerListener(e,"touchmove",i,handleTouchMove),registerListener(e,"touchcancel",i,handleTouchEnd)),registerListener(e,"dblclick",t,handleDblClick),registerListener(e,"onwheel"in t?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll",t,handleWheel)}function unregisterListeners(e){for(var t=e._removalFunctions,i=0;i<t.length;++i)t[i]()}var mouseDownEvent={position:new Cartesian2};function gotTouchEvent(e){e._lastSeenTouchEvent=getTimestamp$1()}function canProcessMouseEvent(e){return getTimestamp$1()-e._lastSeenTouchEvent>ScreenSpaceEventHandler.mouseEmulationIgnoreMilliseconds}function checkPixelTolerance(e,t,i){var r=e.x-t.x,t=e.y-t.y;return Math.sqrt(r*r+t*t)<i}function handleMouseDown(e,t){if(canProcessMouseEvent(e)){var i,r=t.button;if(e._buttonDown[r]=!0,r===MouseButton.LEFT)i=ScreenSpaceEventType$1.LEFT_DOWN;else if(r===MouseButton.MIDDLE)i=ScreenSpaceEventType$1.MIDDLE_DOWN;else{if(r!==MouseButton.RIGHT)return;i=ScreenSpaceEventType$1.RIGHT_DOWN}var n=getPosition$1(e,t,e._primaryPosition);Cartesian2.clone(n,e._primaryStartPosition),Cartesian2.clone(n,e._primaryPreviousPosition);r=getModifier(t),r=e.getInputAction(i,r);defined(r)&&(Cartesian2.clone(n,mouseDownEvent.position),r(mouseDownEvent),t.preventDefault())}}var mouseUpEvent={position:new Cartesian2},mouseClickEvent={position:new Cartesian2};function cancelMouseEvent(e,t,i,r){var n=getModifier(r),t=e.getInputAction(t,n),n=e.getInputAction(i,n);(defined(t)||defined(n))&&(r=getPosition$1(e,r,e._primaryPosition),defined(t)&&(Cartesian2.clone(r,mouseUpEvent.position),t(mouseUpEvent)),defined(n)&&checkPixelTolerance(e._primaryStartPosition,r,e._clickPixelTolerance)&&(Cartesian2.clone(r,mouseClickEvent.position),n(mouseClickEvent)))}function handleMouseUp(e,t){var i;canProcessMouseEvent(e)&&((i=t.button)!==MouseButton.LEFT&&i!==MouseButton.MIDDLE&&i!==MouseButton.RIGHT||(e._buttonDown[MouseButton.LEFT]&&(cancelMouseEvent(e,ScreenSpaceEventType$1.LEFT_UP,ScreenSpaceEventType$1.LEFT_CLICK,t),e._buttonDown[MouseButton.LEFT]=!1),e._buttonDown[MouseButton.MIDDLE]&&(cancelMouseEvent(e,ScreenSpaceEventType$1.MIDDLE_UP,ScreenSpaceEventType$1.MIDDLE_CLICK,t),e._buttonDown[MouseButton.MIDDLE]=!1),e._buttonDown[MouseButton.RIGHT]&&(cancelMouseEvent(e,ScreenSpaceEventType$1.RIGHT_UP,ScreenSpaceEventType$1.RIGHT_CLICK,t),e._buttonDown[MouseButton.RIGHT]=!1)))}var mouseMoveEvent={startPosition:new Cartesian2,endPosition:new Cartesian2};function handleMouseMove(e,t){var i,r,n;canProcessMouseEvent(e)&&(n=getModifier(t),i=getPosition$1(e,t,e._primaryPosition),r=e._primaryPreviousPosition,defined(n=e.getInputAction(ScreenSpaceEventType$1.MOUSE_MOVE,n))&&(Cartesian2.clone(r,mouseMoveEvent.startPosition),Cartesian2.clone(i,mouseMoveEvent.endPosition),n(mouseMoveEvent)),Cartesian2.clone(i,r),(e._buttonDown[MouseButton.LEFT]||e._buttonDown[MouseButton.MIDDLE]||e._buttonDown[MouseButton.RIGHT])&&t.preventDefault())}var mouseDblClickEvent={position:new Cartesian2};function handleDblClick(e,t){var i,r;t.button===MouseButton.LEFT&&(i=ScreenSpaceEventType$1.LEFT_DOUBLE_CLICK,r=getModifier(t),defined(r=e.getInputAction(i,r))&&(getPosition$1(e,t,mouseDblClickEvent.position),r(mouseDblClickEvent)))}function handleWheel(e,t){var i,r;i=defined(t.deltaY)?(r=t.deltaMode)===t.DOM_DELTA_PIXEL?-t.deltaY:r===t.DOM_DELTA_LINE?40*-t.deltaY:120*-t.deltaY:0<t.detail?-120*t.detail:t.wheelDelta,defined(i)&&(r=getModifier(t),defined(r=e.getInputAction(ScreenSpaceEventType$1.WHEEL,r))&&(r(i),t.preventDefault()))}function handleTouchStart(e,t){gotTouchEvent(e);for(var i,r,n=t.changedTouches,a=n.length,o=e._positions,s=0;s<a;++s)r=(i=n[s]).identifier,o.set(r,getPosition$1(e,i,new Cartesian2));fireTouchEvents(e,t);var l=e._previousPositions;for(s=0;s<a;++s)r=(i=n[s]).identifier,l.set(r,Cartesian2.clone(o.get(r)))}function handleTouchEnd(e,t){gotTouchEvent(e);for(var i,r=t.changedTouches,n=r.length,a=e._positions,o=0;o<n;++o)i=r[o].identifier,a.remove(i);fireTouchEvents(e,t);var s=e._previousPositions;for(o=0;o<n;++o)i=r[o].identifier,s.remove(i)}var touchStartEvent={position:new Cartesian2},touch2StartEvent={position1:new Cartesian2,position2:new Cartesian2},touchEndEvent={position:new Cartesian2},touchClickEvent={position:new Cartesian2},touchHoldEvent={position:new Cartesian2};function fireTouchEvents(e,t){var i,r,n,a=getModifier(t),o=e._positions,s=o.length,l=e._isPinching;1!==s&&e._buttonDown[MouseButton.LEFT]&&(e._buttonDown[MouseButton.LEFT]=!1,defined(e._touchHoldTimer)&&(clearTimeout(e._touchHoldTimer),e._touchHoldTimer=void 0),defined(i=e.getInputAction(ScreenSpaceEventType$1.LEFT_UP,a))&&(Cartesian2.clone(e._primaryPosition,touchEndEvent.position),i(touchEndEvent)),0!==s||e._isTouchHolding||defined(r=e.getInputAction(ScreenSpaceEventType$1.LEFT_CLICK,a))&&checkPixelTolerance(e._primaryStartPosition,e._previousPositions.values[0],e._clickPixelTolerance)&&(Cartesian2.clone(e._primaryPosition,touchClickEvent.position),r(touchClickEvent)),e._isTouchHolding=!1),0===s&&l&&(e._isPinching=!1,defined(i=e.getInputAction(ScreenSpaceEventType$1.PINCH_END,a))&&i()),1!==s||l||(n=o.values[0],Cartesian2.clone(n,e._primaryPosition),Cartesian2.clone(n,e._primaryStartPosition),Cartesian2.clone(n,e._primaryPreviousPosition),e._buttonDown[MouseButton.LEFT]=!0,defined(i=e.getInputAction(ScreenSpaceEventType$1.LEFT_DOWN,a))&&(Cartesian2.clone(n,touchStartEvent.position),i(touchStartEvent)),e._touchHoldTimer=setTimeout(function(){e.isDestroyed()||(e._touchHoldTimer=void 0,e._isTouchHolding=!0,defined(r=e.getInputAction(ScreenSpaceEventType$1.RIGHT_CLICK,a))&&checkPixelTolerance(e._primaryStartPosition,e._previousPositions.values[0],e._holdPixelTolerance)&&(Cartesian2.clone(e._primaryPosition,touchHoldEvent.position),r(touchHoldEvent)))},ScreenSpaceEventHandler.touchHoldDelayMilliseconds),t.preventDefault()),2!==s||l||(e._isPinching=!0,defined(i=e.getInputAction(ScreenSpaceEventType$1.PINCH_START,a))&&(Cartesian2.clone(o.values[0],touch2StartEvent.position1),Cartesian2.clone(o.values[1],touch2StartEvent.position2),i(touch2StartEvent),t.preventDefault()))}function handleTouchMove(e,t){gotTouchEvent(e);for(var i,r,n=t.changedTouches,a=n.length,o=e._positions,s=0;s<a;++s){r=(i=n[s]).identifier;var l=o.get(r);defined(l)&&getPosition$1(e,i,l)}fireTouchMoveEvents(e,t);var c=e._previousPositions;for(s=0;s<a;++s)r=(i=n[s]).identifier,Cartesian2.clone(o.get(r),c.get(r))}var touchMoveEvent={startPosition:new Cartesian2,endPosition:new Cartesian2},touchPinchMovementEvent={distance:{startPosition:new Cartesian2,endPosition:new Cartesian2},angleAndHeight:{startPosition:new Cartesian2,endPosition:new Cartesian2}};function fireTouchMoveEvents(e,t){var i,r,n,a,o,s=getModifier(t),l=e._positions,c=e._previousPositions,u=l.length;1===u&&e._buttonDown[MouseButton.LEFT]?(o=l.values[0],Cartesian2.clone(o,e._primaryPosition),n=e._primaryPreviousPosition,defined(i=e.getInputAction(ScreenSpaceEventType$1.MOUSE_MOVE,s))&&(Cartesian2.clone(n,touchMoveEvent.startPosition),Cartesian2.clone(o,touchMoveEvent.endPosition),i(touchMoveEvent)),Cartesian2.clone(o,n),t.preventDefault()):2===u&&e._isPinching&&defined(i=e.getInputAction(ScreenSpaceEventType$1.PINCH_MOVE,s))&&(a=l.values[0],r=l.values[1],o=c.values[0],n=c.values[1],t=r.x-a.x,u=r.y-a.y,e=.25*Math.sqrt(t*t+u*u),s=n.x-o.x,l=n.y-o.y,c=.25*Math.sqrt(s*s+l*l),a=.125*(r.y+a.y),o=.125*(n.y+o.y),t=Math.atan2(u,t),s=Math.atan2(l,s),Cartesian2.fromElements(0,c,touchPinchMovementEvent.distance.startPosition),Cartesian2.fromElements(0,e,touchPinchMovementEvent.distance.endPosition),Cartesian2.fromElements(s,o,touchPinchMovementEvent.angleAndHeight.startPosition),Cartesian2.fromElements(t,a,touchPinchMovementEvent.angleAndHeight.endPosition),i(touchPinchMovementEvent))}function handlePointerDown(e,t){var i,r;t.target.setPointerCapture(t.pointerId),"touch"===t.pointerType?(i=e._positions,r=t.pointerId,i.set(r,getPosition$1(e,t,new Cartesian2)),fireTouchEvents(e,t),e._previousPositions.set(r,Cartesian2.clone(i.get(r)))):handleMouseDown(e,t)}function handlePointerUp(e,t){var i,r;"touch"===t.pointerType?(i=e._positions,r=t.pointerId,i.remove(r),fireTouchEvents(e,t),e._previousPositions.remove(r)):handleMouseUp(e,t)}function handlePointerMove(e,t){var i,r,n;"touch"===t.pointerType?(i=e._positions,r=t.pointerId,defined(n=i.get(r))&&(getPosition$1(e,t,n),fireTouchMoveEvents(e,t),n=e._previousPositions,Cartesian2.clone(i.get(r),n.get(r)))):handleMouseMove(e,t)}function ScreenSpaceEventHandler(e){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-ScreenSpaceEventHandler.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new Cartesian2,this._primaryPosition=new Cartesian2,this._primaryPreviousPosition=new Cartesian2,this._positions=new AssociativeArray,this._previousPositions=new AssociativeArray,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=defaultValue(e,document),registerListeners(this)}function ShowGeometryInstanceAttribute(e){e=defaultValue(e,!0),this.value=ShowGeometryInstanceAttribute.toValue(e)}ScreenSpaceEventHandler.prototype.setInputAction=function(e,t,i){i=getInputEventKey(t,i);this._inputEvents[i]=e},ScreenSpaceEventHandler.prototype.getInputAction=function(e,t){t=getInputEventKey(e,t);return this._inputEvents[t]},ScreenSpaceEventHandler.prototype.removeInputAction=function(e,t){t=getInputEventKey(e,t);delete this._inputEvents[t]},ScreenSpaceEventHandler.prototype.isDestroyed=function(){return!1},ScreenSpaceEventHandler.prototype.destroy=function(){return unregisterListeners(this),destroyObject(this)},ScreenSpaceEventHandler.mouseEmulationIgnoreMilliseconds=800,ScreenSpaceEventHandler.touchHoldDelayMilliseconds=1500,Object.defineProperties(ShowGeometryInstanceAttribute.prototype,{componentDatatype:{get:function(){return ComponentDatatype$1.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 1}},normalize:{get:function(){return!1}}}),ShowGeometryInstanceAttribute.toValue=function(e,t){return defined(t)?(t[0]=e,t):new Uint8Array([e])};var Simon1994PlanetaryPositions={};function computeTdbMinusTtSpice(e){e=6.239996+.0172019696544*e;return.001657*Math.sin(e+.01671*Math.sin(e))}var TdtMinusTai$1=32.184,J2000d$1=2451545;function taiToTdb(e,t){t=JulianDate.addSeconds(e,TdtMinusTai$1,t);e=JulianDate.totalDays(t)-J2000d$1;return t=JulianDate.addSeconds(t,computeTdbMinusTtSpice(e),t)}var epoch=new JulianDate(2451545,0,TimeStandard$1.TAI),MetersPerKilometer=1e3,RadiansPerDegree=CesiumMath.RADIANS_PER_DEGREE,RadiansPerArcSecond=CesiumMath.RADIANS_PER_ARCSECOND,MetersPerAstronomicalUnit=14959787e4,perifocalToEquatorial=new Matrix3;function elementsToCartesian(e,t,i,r,n,a,o){i<0&&(i=-i,n+=CesiumMath.PI);var s=e*(1-t),e=r-n,n=n,r=meanAnomalyToTrueAnomaly(a-r,t);perifocalToCartesianMatrix(e,i,n,perifocalToEquatorial);n=s*(1+t),s=Math.cos(r),r=Math.sin(r),t=n/(1+t*s);return defined(o)?(o.x=t*s,o.y=t*r,o.z=0):o=new Cartesian3(t*s,t*r,0),Matrix3.multiplyByVector(perifocalToEquatorial,o,o)}function meanAnomalyToTrueAnomaly(e,t){return eccentricAnomalyToTrueAnomaly(meanAnomalyToEccentricAnomaly(e,t),t)}var maxIterationCount=50,keplerEqConvergence=CesiumMath.EPSILON8;function meanAnomalyToEccentricAnomaly(e,t){for(var i=Math.floor(e/CesiumMath.TWO_PI),r=(e-=i*CesiumMath.TWO_PI)+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),n=Number.MAX_VALUE,a=0;a<maxIterationCount&&Math.abs(n-r)>keplerEqConvergence;++a)r=(n=r)-(n-t*Math.sin(n)-e)/(1-t*Math.cos(n));return n=r+i*CesiumMath.TWO_PI}function eccentricAnomalyToTrueAnomaly(e,t){var i=Math.floor(e/CesiumMath.TWO_PI);e-=i*CesiumMath.TWO_PI;var r=Math.cos(e)-t,t=Math.sin(e)*Math.sqrt(1-t*t),r=Math.atan2(t,r),r=CesiumMath.zeroToTwoPi(r);return e<0&&(r-=CesiumMath.TWO_PI),r+=i*CesiumMath.TWO_PI}function perifocalToCartesianMatrix(e,t,i,r){var n=Math.cos(e),a=Math.sin(e),o=Math.cos(t),e=Math.sin(t),t=Math.cos(i),i=Math.sin(i);return defined(r)?(r[0]=t*n-i*a*o,r[1]=i*n+t*a*o,r[2]=a*e,r[3]=-t*a-i*n*o,r[4]=-i*a+t*n*o,r[5]=n*e,r[6]=i*e,r[7]=-t*e,r[8]=o):r=new Matrix3(t*n-i*a*o,-t*a-i*n*o,i*e,i*n+t*a*o,-i*a+t*n*o,-t*e,a*e,n*e,o),r}var semiMajorAxis0=1.0000010178*MetersPerAstronomicalUnit,meanLongitude0=100.46645683*RadiansPerDegree,meanLongitude1=1295977422.83429*RadiansPerArcSecond,p1u=16002,p2u=21863,p3u=32004,p4u=10931,p5u=14529,p6u=16368,p7u=15318,p8u=32794,Ca1=64e-7*MetersPerAstronomicalUnit,Ca2=-152e-7*MetersPerAstronomicalUnit,Ca3=62e-7*MetersPerAstronomicalUnit,Ca4=-8e-7*MetersPerAstronomicalUnit,Ca5=32e-7*MetersPerAstronomicalUnit,Ca6=-41e-7*MetersPerAstronomicalUnit,Ca7=19e-7*MetersPerAstronomicalUnit,Ca8=-11e-7*MetersPerAstronomicalUnit,Sa1=1e-7*-150*MetersPerAstronomicalUnit,Sa2=-46e-7*MetersPerAstronomicalUnit,Sa3=68*1e-7*MetersPerAstronomicalUnit,Sa4=54e-7*MetersPerAstronomicalUnit,Sa5=14e-7*MetersPerAstronomicalUnit,Sa6=24e-7*MetersPerAstronomicalUnit,Sa7=-28e-7*MetersPerAstronomicalUnit,Sa8=22e-7*MetersPerAstronomicalUnit,q1u=10,q2u=16002,q3u=21863,q4u=10931,q5u=1473,q6u=32004,q7u=4387,q8u=73,Cl1=-325e-7,Cl2=-322e-7,Cl3=1e-7*-79,Cl4=232*1e-7,Cl5=1e-7*-52,Cl6=97e-7,Cl7=55e-7,Cl8=-41e-7,Sl1=-105e-7,Sl2=-137e-7,Sl3=258e-7,Sl4=35e-7,Sl5=1e-7*-116,Sl6=-88e-7,Sl7=-112e-7,Sl8=-8e-6,scratchDate=new JulianDate(0,0,TimeStandard$1.TAI);function computeSimonEarthMoonBarycenter(e,t){taiToTdb(e,scratchDate);var i=(scratchDate.dayNumber-epoch.dayNumber+(scratchDate.secondsOfDay-epoch.secondsOfDay)/TimeConstants$1.SECONDS_PER_DAY)/(10*TimeConstants$1.DAYS_PER_JULIAN_CENTURY),r=.3595362*i,e=semiMajorAxis0+Ca1*Math.cos(p1u*r)+Sa1*Math.sin(p1u*r)+Ca2*Math.cos(p2u*r)+Sa2*Math.sin(p2u*r)+Ca3*Math.cos(p3u*r)+Sa3*Math.sin(p3u*r)+Ca4*Math.cos(p4u*r)+Sa4*Math.sin(p4u*r)+Ca5*Math.cos(p5u*r)+Sa5*Math.sin(p5u*r)+Ca6*Math.cos(p6u*r)+Sa6*Math.sin(p6u*r)+Ca7*Math.cos(p7u*r)+Sa7*Math.sin(p7u*r)+Ca8*Math.cos(p8u*r)+Sa8*Math.sin(p8u*r),r=meanLongitude0+meanLongitude1*i+Cl1*Math.cos(q1u*r)+Sl1*Math.sin(q1u*r)+Cl2*Math.cos(q2u*r)+Sl2*Math.sin(q2u*r)+Cl3*Math.cos(q3u*r)+Sl3*Math.sin(q3u*r)+Cl4*Math.cos(q4u*r)+Sl4*Math.sin(q4u*r)+Cl5*Math.cos(q5u*r)+Sl5*Math.sin(q5u*r)+Cl6*Math.cos(q6u*r)+Sl6*Math.sin(q6u*r)+Cl7*Math.cos(q7u*r)+Sl7*Math.sin(q7u*r)+Cl8*Math.cos(q8u*r)+Sl8*Math.sin(q8u*r);return elementsToCartesian(e,.0167086342-.0004203654*i,469.97289*RadiansPerArcSecond*i,102.93734808*RadiansPerDegree+11612.3529*RadiansPerArcSecond*i,174.87317577*RadiansPerDegree-8679.27034*RadiansPerArcSecond*i,r,t)}function computeSimonMoon(e,t){taiToTdb(e,scratchDate);var i=(scratchDate.dayNumber-epoch.dayNumber+(scratchDate.secondsOfDay-epoch.secondsOfDay)/TimeConstants$1.SECONDS_PER_DAY)/TimeConstants$1.DAYS_PER_JULIAN_CENTURY,r=i*i,n=r*i,a=n*i,o=383397.7725+.004*i,s=.055545526-16e-9*i,l=5.15668983*RadiansPerDegree,c=-8e-5*i+.02966*r-42e-6*n-13e-8*a,u=83.35324312*RadiansPerDegree,d=14643420.2669*i-38.2702*r-.045047*n+21301e-8*a,h=125.04455501*RadiansPerDegree,p=-6967919.3631*i+6.3602*r+.007625*n-3586e-8*a,m=218.31664563*RadiansPerDegree,f=1732559343.4847*i-6.391*r+.006588*n-3169e-8*a,g=297.85019547*RadiansPerDegree+RadiansPerArcSecond*(1602961601.209*i-6.3706*r+.006593*n-3169e-8*a),_=134.96340251*RadiansPerDegree+RadiansPerArcSecond*(1717915923.2178*i+31.8792*r+.051635*n-2447e-7*a),y=357.52910918*RadiansPerDegree+RadiansPerArcSecond*(129596581.0481*i-.5532*r+136e-6*n-1149e-8*a),C=310.17137918*RadiansPerDegree-RadiansPerArcSecond*(6967051.436*i+6.2068*r+.007618*n-3219e-8*a),v=2*g,S=4*g,T=6*g,b=2*_,x=3*_,e=4*_,a=2*(93.27209062*RadiansPerDegree+RadiansPerArcSecond*(1739527262.8478*i-12.7512*r-.001037*n+417e-8*a));o+=3400.4*Math.cos(v)-635.6*Math.cos(v-_)-235.6*Math.cos(_)+218.1*Math.cos(v-y)+181*Math.cos(v+_),s+=.014216*Math.cos(v-_)+.008551*Math.cos(v-b)-.001383*Math.cos(_)+.001356*Math.cos(v+_)-.001147*Math.cos(S-x)-914e-6*Math.cos(S-b)+869e-6*Math.cos(v-y-_)-627e-6*Math.cos(v)-394e-6*Math.cos(S-e)+282e-6*Math.cos(v-y-b)-279e-6*Math.cos(g-_)-236e-6*Math.cos(b)+231e-6*Math.cos(S)+229e-6*Math.cos(T-e)-201e-6*Math.cos(b-a),c+=486.26*Math.cos(v-a)-40.13*Math.cos(v)+37.51*Math.cos(a)+25.73*Math.cos(b-a)+19.97*Math.cos(v-y-a),d+=-55609*Math.sin(v-_)-34711*Math.sin(v-b)-9792*Math.sin(_)+9385*Math.sin(S-x)+7505*Math.sin(S-b)+5318*Math.sin(v+_)+3484*Math.sin(S-e)-3417*Math.sin(v-y-_)-2530*Math.sin(T-e)-2376*Math.sin(v)-2075*Math.sin(v-x)-1883*Math.sin(b)-1736*Math.sin(T-5*_)+1626*Math.sin(y)-1370*Math.sin(T-x),p+=-5392*Math.sin(v-a)-540*Math.sin(y)-441*Math.sin(v)+423*Math.sin(a)-288*Math.sin(b-a),f+=-3332.9*Math.sin(v)+1197.4*Math.sin(v-_)-662.5*Math.sin(y)+396.3*Math.sin(_)-218*Math.sin(v-y);b=2*C,_=3*C;c+=46.997*Math.cos(C)*i-.614*Math.cos(v-a+C)*i+.614*Math.cos(v-a-C)*i-.0297*Math.cos(b)*r-.0335*Math.cos(C)*r+.0012*Math.cos(v-a+b)*r-16e-5*Math.cos(C)*n+4e-5*Math.cos(_)*n+4e-5*Math.cos(b)*n;y=2.116*Math.sin(C)*i-.111*Math.sin(v-a-C)*i-.0015*Math.sin(C)*r;return d+=y,f+=y,p+=-520.77*Math.sin(C)*i+13.66*Math.sin(v-a+C)*i+1.12*Math.sin(v-C)*i-1.06*Math.sin(a-C)*i+.66*Math.sin(b)*r+.371*Math.sin(C)*r-.035*Math.sin(v-a+b)*r-.015*Math.sin(v-a+C)*r+.0014*Math.sin(C)*n-.0011*Math.sin(_)*n-9e-4*Math.sin(b)*n,elementsToCartesian(o*=MetersPerKilometer,s,l+c*RadiansPerArcSecond,u+d*RadiansPerArcSecond,h+p*RadiansPerArcSecond,m+f*RadiansPerArcSecond,t)}var moonEarthMassRatio=.012300034,factor=moonEarthMassRatio/(moonEarthMassRatio+1)*-1;function computeSimonEarth(e,t){return t=computeSimonMoon(e,t),Cartesian3.multiplyByScalar(t,factor,t)}var axesTransformation=new Matrix3(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),translation$1=new Cartesian3;function interpolateColors$1(e,t,i,r,n,a,o){var s=PolylinePipeline.numberOfPoints(e,t,n),l=i.red,c=i.green,u=i.blue,d=i.alpha,h=r.red,e=r.green,t=r.blue,n=r.alpha;if(Color.equals(i,r)){for(y=0;y<s;y++)a[o++]=Color.floatToByte(l),a[o++]=Color.floatToByte(c),a[o++]=Color.floatToByte(u),a[o++]=Color.floatToByte(d);return o}for(var p=(h-l)/s,m=(e-c)/s,f=(t-u)/s,g=(n-d)/s,_=o,y=0;y<s;y++)a[_++]=Color.floatToByte(l+y*p),a[_++]=Color.floatToByte(c+y*m),a[_++]=Color.floatToByte(u+y*f),a[_++]=Color.floatToByte(d+y*g);return _}function SimplePolylineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions,i=e.colors,r=defaultValue(e.colorsPerVertex,!1);this._positions=t,this._colors=i,this._colorsPerVertex=r,this._arcType=defaultValue(e.arcType,ArcType$1.GEODESIC),this._granularity=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),this._ellipsoid=defaultValue(e.ellipsoid,Ellipsoid.WGS84),this._workerName="createSimplePolylineGeometry";t=1+t.length*Cartesian3.packedLength;t+=defined(i)?1+i.length*Color.packedLength:1,this.packedLength=t+Ellipsoid.packedLength+3}Simon1994PlanetaryPositions.computeSunPositionInEarthInertialFrame=function(e,t){return defined(e)||(e=JulianDate.now()),defined(t)||(t=new Cartesian3),translation$1=computeSimonEarthMoonBarycenter(e,translation$1),t=Cartesian3.negate(translation$1,t),computeSimonEarth(e,translation$1),Cartesian3.subtract(t,translation$1,t),Matrix3.multiplyByVector(axesTransformation,t,t),t},Simon1994PlanetaryPositions.computeMoonPositionInEarthInertialFrame=function(e,t){return defined(e)||(e=JulianDate.now()),t=computeSimonMoon(e,t),Matrix3.multiplyByVector(axesTransformation,t,t),t},SimplePolylineGeometry.pack=function(e,t,i){var r;i=defaultValue(i,0);var n=e._positions,a=n.length;for(t[i++]=a,r=0;r<a;++r,i+=Cartesian3.packedLength)Cartesian3.pack(n[r],t,i);var o=e._colors,a=defined(o)?o.length:0;for(t[i++]=a,r=0;r<a;++r,i+=Color.packedLength)Color.pack(o[r],t,i);return Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,t[i++]=e._colorsPerVertex?1:0,t[i++]=e._arcType,t[i]=e._granularity,t},SimplePolylineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);for(var r=e[t++],n=new Array(r),a=0;a<r;++a,t+=Cartesian3.packedLength)n[a]=Cartesian3.unpack(e,t);var o=0<(r=e[t++])?new Array(r):void 0;for(a=0;a<r;++a,t+=Color.packedLength)o[a]=Color.unpack(e,t);var s=Ellipsoid.unpack(e,t);t+=Ellipsoid.packedLength;var l=1===e[t++],c=e[t++],u=e[t];return defined(i)?(i._positions=n,i._colors=o,i._ellipsoid=s,i._colorsPerVertex=l,i._arcType=c,i._granularity=u,i):new SimplePolylineGeometry({positions:n,colors:o,ellipsoid:s,colorsPerVertex:l,arcType:c,granularity:u})};var scratchArray1=new Array(2),scratchArray2=new Array(2),generateArcOptionsScratch={positions:scratchArray1,height:scratchArray2,ellipsoid:void 0,minDistance:void 0,granularity:void 0};function SphereGeometry(e){var t=defaultValue(e.radius,1),e={radii:new Cartesian3(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new EllipsoidGeometry(e),this._workerName="createSphereGeometry"}SimplePolylineGeometry.createGeometry=function(e){var t,i,r,n=e._positions,a=e._colors,o=e._colorsPerVertex,s=e._arcType,l=e._granularity,e=e._ellipsoid,c=CesiumMath.chordLength(l,e.maximumRadius),u=defined(a)&&!o,d=n.length,h=0;if(s===ArcType$1.GEODESIC||s===ArcType$1.RHUMB){var p,m,f=s===ArcType$1.GEODESIC?(p=CesiumMath.chordLength(l,e.maximumRadius),m=PolylinePipeline.numberOfPoints,PolylinePipeline.generateArc):(p=l,m=PolylinePipeline.numberOfPointsRhumbLine,PolylinePipeline.generateRhumbArc),g=PolylinePipeline.extractHeights(n,e),_=generateArcOptionsScratch;if(s===ArcType$1.GEODESIC?_.minDistance=c:_.granularity=l,_.ellipsoid=e,u){for(var y=0,C=0;C<d-1;C++)y+=m(n[C],n[C+1],p)+1;t=new Float64Array(3*y),r=new Uint8Array(4*y),_.positions=scratchArray1,_.height=scratchArray2;var v=0;for(C=0;C<d-1;++C){scratchArray1[0]=n[C],scratchArray1[1]=n[C+1],scratchArray2[0]=g[C],scratchArray2[1]=g[C+1];var S=f(_);if(defined(a))for(var T=S.length/3,b=a[C],x=0;x<T;++x)r[v++]=Color.floatToByte(b.red),r[v++]=Color.floatToByte(b.green),r[v++]=Color.floatToByte(b.blue),r[v++]=Color.floatToByte(b.alpha);t.set(S,h),h+=S.length}}else if(_.positions=n,_.height=g,t=new Float64Array(f(_)),defined(a)){for(r=new Uint8Array(t.length/3*4),C=0;C<d-1;++C)h=interpolateColors$1(n[C],n[C+1],a[C],a[C+1],c,r,h);var E=a[d-1];r[h++]=Color.floatToByte(E.red),r[h++]=Color.floatToByte(E.green),r[h++]=Color.floatToByte(E.blue),r[h++]=Color.floatToByte(E.alpha)}}else{i=u?2*d-2:d,t=new Float64Array(3*i),r=defined(a)?new Uint8Array(4*i):void 0;var P=0,A=0;for(C=0;C<d;++C){var w=n[C];if(u&&0<C&&(Cartesian3.pack(w,t,P),P+=3,b=a[C-1],r[A++]=Color.floatToByte(b.red),r[A++]=Color.floatToByte(b.green),r[A++]=Color.floatToByte(b.blue),r[A++]=Color.floatToByte(b.alpha)),u&&C===d-1)break;Cartesian3.pack(w,t,P),P+=3,defined(a)&&(b=a[C],r[A++]=Color.floatToByte(b.red),r[A++]=Color.floatToByte(b.green),r[A++]=Color.floatToByte(b.blue),r[A++]=Color.floatToByte(b.alpha))}}e=new GeometryAttributes;e.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:t}),defined(a)&&(e.color=new GeometryAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:4,values:r,normalize:!0}));var E=2*((i=t.length/3)-1),D=IndexDatatype$1.createTypedArray(i,E),M=0;for(C=0;C<i-1;++C)D[M++]=C,D[M++]=C+1;return new Geometry({attributes:e,indices:D,primitiveType:PrimitiveType$1.LINES,boundingSphere:BoundingSphere.fromPoints(n)})},SphereGeometry.packedLength=EllipsoidGeometry.packedLength,SphereGeometry.pack=function(e,t,i){return EllipsoidGeometry.pack(e._ellipsoidGeometry,t,i)};var scratchEllipsoidGeometry=new EllipsoidGeometry,scratchOptions$k={radius:void 0,radii:new Cartesian3,vertexFormat:new VertexFormat,stackPartitions:void 0,slicePartitions:void 0};function SphereOutlineGeometry(e){var t=defaultValue(e.radius,1),e={radii:new Cartesian3(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,subdivisions:e.subdivisions};this._ellipsoidGeometry=new EllipsoidOutlineGeometry(e),this._workerName="createSphereOutlineGeometry"}SphereGeometry.unpack=function(e,t,i){t=EllipsoidGeometry.unpack(e,t,scratchEllipsoidGeometry);return scratchOptions$k.vertexFormat=VertexFormat.clone(t._vertexFormat,scratchOptions$k.vertexFormat),scratchOptions$k.stackPartitions=t._stackPartitions,scratchOptions$k.slicePartitions=t._slicePartitions,defined(i)?(Cartesian3.clone(t._radii,scratchOptions$k.radii),i._ellipsoidGeometry=new EllipsoidGeometry(scratchOptions$k),i):(scratchOptions$k.radius=t._radii.x,new SphereGeometry(scratchOptions$k))},SphereGeometry.createGeometry=function(e){return EllipsoidGeometry.createGeometry(e._ellipsoidGeometry)},SphereOutlineGeometry.packedLength=EllipsoidOutlineGeometry.packedLength,SphereOutlineGeometry.pack=function(e,t,i){return EllipsoidOutlineGeometry.pack(e._ellipsoidGeometry,t,i)};var scratchEllipsoidGeometry$1=new EllipsoidOutlineGeometry,scratchOptions$l={radius:void 0,radii:new Cartesian3,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};function Spherical(e,t,i){this.clock=defaultValue(e,0),this.cone=defaultValue(t,0),this.magnitude=defaultValue(i,1)}function subdivideArray(e,t){for(var i=[],r=e.length,n=0;n<r;){var a=Math.ceil((r-n)/t--);i.push(e.slice(n,n+a)),n+=a}return i}function TerrainData(){DeveloperError.throwInstantiationError()}SphereOutlineGeometry.unpack=function(e,t,i){t=EllipsoidOutlineGeometry.unpack(e,t,scratchEllipsoidGeometry$1);return scratchOptions$l.stackPartitions=t._stackPartitions,scratchOptions$l.slicePartitions=t._slicePartitions,scratchOptions$l.subdivisions=t._subdivisions,defined(i)?(Cartesian3.clone(t._radii,scratchOptions$l.radii),i._ellipsoidGeometry=new EllipsoidOutlineGeometry(scratchOptions$l),i):(scratchOptions$l.radius=t._radii.x,new SphereOutlineGeometry(scratchOptions$l))},SphereOutlineGeometry.createGeometry=function(e){return EllipsoidOutlineGeometry.createGeometry(e._ellipsoidGeometry)},Spherical.fromCartesian3=function(e,t){var i=e.x,r=e.y,n=e.z,e=i*i+r*r;return defined(t)||(t=new Spherical),t.clock=Math.atan2(r,i),t.cone=Math.atan2(Math.sqrt(e),n),t.magnitude=Math.sqrt(e+n*n),t},Spherical.clone=function(e,t){if(defined(e))return defined(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new Spherical(e.clock,e.cone,e.magnitude)},Spherical.normalize=function(e,t){return defined(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=1,t):new Spherical(e.clock,e.cone,1)},Spherical.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude},Spherical.equalsEpsilon=function(e,t,i){return i=defaultValue(i,0),e===t||defined(e)&&defined(t)&&Math.abs(e.clock-t.clock)<=i&&Math.abs(e.cone-t.cone)<=i&&Math.abs(e.magnitude-t.magnitude)<=i},Spherical.prototype.equals=function(e){return Spherical.equals(this,e)},Spherical.prototype.clone=function(e){return Spherical.clone(this,e)},Spherical.prototype.equalsEpsilon=function(e,t){return Spherical.equalsEpsilon(this,e,t)},Spherical.prototype.toString=function(){return"("+this.clock+", "+this.cone+", "+this.magnitude+")"},Object.defineProperties(TerrainData.prototype,{credits:{get:DeveloperError.throwInstantiationError},waterMask:{get:DeveloperError.throwInstantiationError}}),TerrainData.prototype.interpolateHeight=DeveloperError.throwInstantiationError,TerrainData.prototype.isChildAvailable=DeveloperError.throwInstantiationError,TerrainData.prototype.createMesh=DeveloperError.throwInstantiationError,TerrainData.prototype.upsample=DeveloperError.throwInstantiationError,TerrainData.prototype.wasCreatedByUpsampling=DeveloperError.throwInstantiationError;var TileEdge={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7};function TilingScheme(e){}function compareIntervalStartTimes(e,t){return JulianDate.compare(e.start,t.start)}function TimeIntervalCollection(e){if(this._intervals=[],this._changedEvent=new Event,defined(e))for(var t=e.length,i=0;i<t;i++)this.addInterval(e[i])}Object.defineProperties(TilingScheme.prototype,{ellipsoid:{get:DeveloperError.throwInstantiationError},rectangle:{get:DeveloperError.throwInstantiationError},projection:{get:DeveloperError.throwInstantiationError}}),TilingScheme.prototype.getNumberOfXTilesAtLevel=DeveloperError.throwInstantiationError,TilingScheme.prototype.getNumberOfYTilesAtLevel=DeveloperError.throwInstantiationError,TilingScheme.prototype.rectangleToNativeRectangle=DeveloperError.throwInstantiationError,TilingScheme.prototype.tileXYToNativeRectangle=DeveloperError.throwInstantiationError,TilingScheme.prototype.tileXYToRectangle=DeveloperError.throwInstantiationError,TilingScheme.prototype.positionToTileXY=DeveloperError.throwInstantiationError,Object.defineProperties(TimeIntervalCollection.prototype,{changedEvent:{get:function(){return this._changedEvent}},start:{get:function(){var e=this._intervals;return 0===e.length?void 0:e[0].start}},isStartIncluded:{get:function(){var e=this._intervals;return 0!==e.length&&e[0].isStartIncluded}},stop:{get:function(){var e=this._intervals,t=e.length;return 0===t?void 0:e[t-1].stop}},isStopIncluded:{get:function(){var e=this._intervals,t=e.length;return 0!==t&&e[t-1].isStopIncluded}},length:{get:function(){return this._intervals.length}},isEmpty:{get:function(){return 0===this._intervals.length}}}),TimeIntervalCollection.prototype.equals=function(e,t){if(this===e)return!0;if(!(e instanceof TimeIntervalCollection))return!1;var i=this._intervals,r=e._intervals,n=i.length;if(n!==r.length)return!1;for(var a=0;a<n;a++)if(!TimeInterval.equals(i[a],r[a],t))return!1;return!0},TimeIntervalCollection.prototype.get=function(e){return this._intervals[e]},TimeIntervalCollection.prototype.removeAll=function(){0<this._intervals.length&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))},TimeIntervalCollection.prototype.findIntervalContainingDate=function(e){e=this.indexOf(e);return 0<=e?this._intervals[e]:void 0},TimeIntervalCollection.prototype.findDataForIntervalContainingDate=function(e){e=this.indexOf(e);return 0<=e?this._intervals[e].data:void 0},TimeIntervalCollection.prototype.contains=function(e){return 0<=this.indexOf(e)};var indexOfScratch=new TimeInterval;TimeIntervalCollection.prototype.indexOf=function(e){var t=this._intervals;indexOfScratch.start=e,indexOfScratch.stop=e;var i=binarySearch(t,indexOfScratch,compareIntervalStartTimes);return 0<=i?t[i].isStartIncluded?i:0<i&&t[i-1].stop.equals(e)&&t[i-1].isStopIncluded?i-1:~i:0<(i=~i)&&i-1<t.length&&TimeInterval.contains(t[i-1],e)?i-1:~i},TimeIntervalCollection.prototype.findInterval=function(e){for(var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).start,i=e.stop,r=e.isStartIncluded,n=e.isStopIncluded,a=this._intervals,o=0,s=a.length;o<s;o++){var l=a[o];if((!defined(t)||l.start.equals(t))&&(!defined(i)||l.stop.equals(i))&&(!defined(r)||l.isStartIncluded===r)&&(!defined(n)||l.isStopIncluded===n))return a[o]}},TimeIntervalCollection.prototype.addInterval=function(e,t){if(!e.isEmpty){var i=this._intervals;if(0===i.length||JulianDate.greaterThan(e.start,i[i.length-1].stop))return i.push(e),void this._changedEvent.raiseEvent(this);var r,n=binarySearch(i,e,compareIntervalStartTimes);for(n<0?n=~n:0<n&&e.isStartIncluded&&i[n-1].isStartIncluded&&i[n-1].start.equals(e.start)?--n:n<i.length&&!e.isStartIncluded&&i[n].isStartIncluded&&i[n].start.equals(e.start)&&++n,0<n&&(0<(r=JulianDate.compare(i[n-1].stop,e.start))||0===r&&(i[n-1].isStopIncluded||e.isStartIncluded))&&((defined(t)?t(i[n-1].data,e.data):i[n-1].data===e.data)?(e=JulianDate.greaterThan(e.stop,i[n-1].stop)?new TimeInterval({start:i[n-1].start,stop:e.stop,isStartIncluded:i[n-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):new TimeInterval({start:i[n-1].start,stop:i[n-1].stop,isStartIncluded:i[n-1].isStartIncluded,isStopIncluded:i[n-1].isStopIncluded||e.stop.equals(i[n-1].stop)&&e.isStopIncluded,data:e.data}),i.splice(n-1,1),--n):((0<(r=JulianDate.compare(i[n-1].stop,e.stop))||0===r&&i[n-1].isStopIncluded&&!e.isStopIncluded)&&i.splice(n,0,new TimeInterval({start:e.stop,stop:i[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:i[n-1].isStopIncluded,data:i[n-1].data})),i[n-1]=new TimeInterval({start:i[n-1].start,stop:e.start,isStartIncluded:i[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:i[n-1].data})));n<i.length&&(0<(r=JulianDate.compare(e.stop,i[n].start))||0===r&&(e.isStopIncluded||i[n].isStartIncluded));)if(defined(t)?t(i[n].data,e.data):i[n].data===e.data)e=new TimeInterval({start:e.start,stop:(JulianDate.greaterThan(i[n].stop,e.stop)?i[n]:e).stop,isStartIncluded:e.isStartIncluded,isStopIncluded:(JulianDate.greaterThan(i[n].stop,e.stop)?i[n]:e).isStopIncluded,data:e.data}),i.splice(n,1);else{if(i[n]=new TimeInterval({start:e.stop,stop:i[n].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:i[n].isStopIncluded,data:i[n].data}),!i[n].isEmpty)break;i.splice(n,1)}i.splice(n,0,e),this._changedEvent.raiseEvent(this)}},TimeIntervalCollection.prototype.removeInterval=function(e){if(e.isEmpty)return!1;var t=this._intervals,i=binarySearch(t,e,compareIntervalStartTimes);i<0&&(i=~i);var r=!1;for(0<i&&(JulianDate.greaterThan(t[i-1].stop,e.start)||t[i-1].stop.equals(e.start)&&t[i-1].isStopIncluded&&e.isStartIncluded)&&(r=!0,(JulianDate.greaterThan(t[i-1].stop,e.stop)||t[i-1].isStopIncluded&&!e.isStopIncluded&&t[i-1].stop.equals(e.stop))&&t.splice(i,0,new TimeInterval({start:e.stop,stop:t[i-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[i-1].isStopIncluded,data:t[i-1].data})),t[i-1]=new TimeInterval({start:t[i-1].start,stop:e.start,isStartIncluded:t[i-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[i-1].data})),i<t.length&&!e.isStartIncluded&&t[i].isStartIncluded&&e.start.equals(t[i].start)&&(r=!0,t.splice(i,0,new TimeInterval({start:t[i].start,stop:t[i].start,isStartIncluded:!0,isStopIncluded:!0,data:t[i].data})),++i);i<t.length&&JulianDate.greaterThan(e.stop,t[i].stop);)r=!0,t.splice(i,1);return i<t.length&&e.stop.equals(t[i].stop)&&(r=!0,!e.isStopIncluded&&t[i].isStopIncluded?i+1<t.length&&t[i+1].start.equals(e.stop)&&t[i].data===t[i+1].data?(t.splice(i,1),t[i]=new TimeInterval({start:t[i].start,stop:t[i].stop,isStartIncluded:!0,isStopIncluded:t[i].isStopIncluded,data:t[i].data})):t[i]=new TimeInterval({start:e.stop,stop:e.stop,isStartIncluded:!0,isStopIncluded:!0,data:t[i].data}):t.splice(i,1)),i<t.length&&(JulianDate.greaterThan(e.stop,t[i].start)||e.stop.equals(t[i].start)&&e.isStopIncluded&&t[i].isStartIncluded)&&(r=!0,t[i]=new TimeInterval({start:e.stop,stop:t[i].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[i].isStopIncluded,data:t[i].data})),r&&this._changedEvent.raiseEvent(this),r},TimeIntervalCollection.prototype.intersect=function(e,t,i){for(var r=new TimeIntervalCollection,n=0,a=0,o=this._intervals,s=e._intervals;n<o.length&&a<s.length;){var l,c=o[n],u=s[a];JulianDate.lessThan(c.stop,u.start)?++n:JulianDate.lessThan(u.stop,c.start)?++a:((defined(i)||defined(t)&&t(c.data,u.data)||!defined(t)&&u.data===c.data)&&((l=TimeInterval.intersect(c,u,new TimeInterval,i)).isEmpty||r.addInterval(l,t)),JulianDate.lessThan(c.stop,u.stop)||c.stop.equals(u.stop)&&!c.isStopIncluded&&u.isStopIncluded?++n:++a)}return r},TimeIntervalCollection.fromJulianDateArray=function(e,t){defined(t)||(t=new TimeIntervalCollection);var i=e.julianDates,r=i.length,n=e.dataCallback,a=defaultValue(e.isStartIncluded,!0),o=defaultValue(e.isStopIncluded,!0),s=defaultValue(e.leadingInterval,!1),e=defaultValue(e.trailingInterval,!1),l=0;s&&(++l,(u=new TimeInterval({start:Iso8601.MINIMUM_VALUE,stop:i[0],isStartIncluded:!0,isStopIncluded:!a})).data=defined(n)?n(u,t.length):t.length,t.addInterval(u));for(var c=0;c<r-1;++c){var u,d=i[c],h=i[c+1];(u=new TimeInterval({start:d,stop:h,isStartIncluded:t.length!==l||a,isStopIncluded:c===r-2&&o})).data=defined(n)?n(u,t.length):t.length,t.addInterval(u),0}return e&&((u=new TimeInterval({start:i[r-1],stop:Iso8601.MAXIMUM_VALUE,isStartIncluded:!o,isStopIncluded:!0})).data=defined(n)?n(u,t.length):t.length,t.addInterval(u)),t};var scratchGregorianDate=new GregorianDate,monthLengths=[0,31,28,31,30,31,30,31,31,30,31,30,31];function addToDate(e,t,i){defined(i)||(i=new JulianDate),JulianDate.toGregorianDate(e,scratchGregorianDate);var r=scratchGregorianDate.millisecond+t.millisecond,n=scratchGregorianDate.second+t.second,a=scratchGregorianDate.minute+t.minute,e=scratchGregorianDate.hour+t.hour,o=scratchGregorianDate.day+t.day,s=scratchGregorianDate.month+t.month,l=scratchGregorianDate.year+t.year;for(1e3<=r&&(n+=Math.floor(r/1e3),r%=1e3),60<=n&&(a+=Math.floor(n/60),n%=60),60<=a&&(e+=Math.floor(a/60),a%=60),24<=e&&(o+=Math.floor(e/24),e%=24),monthLengths[2]=isLeapYear(l)?29:28;o>monthLengths[s]||13<=s;)o>monthLengths[s]&&(o-=monthLengths[s],++s),13<=s&&(--s,l+=Math.floor(s/12),s%=12,++s),monthLengths[2]=isLeapYear(l)?29:28;return scratchGregorianDate.millisecond=r,scratchGregorianDate.second=n,scratchGregorianDate.minute=a,scratchGregorianDate.hour=e,scratchGregorianDate.day=o,scratchGregorianDate.month=s,scratchGregorianDate.year=l,JulianDate.fromGregorianDate(scratchGregorianDate,i)}var scratchJulianDate=new JulianDate,durationRegex=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function parseDuration(e,t){if(defined(e)&&0!==e.length){if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,"P"===e[t.millisecond=0]){var i=e.match(durationRegex);if(!defined(i))return;defined(i[1])&&(t.year=Number(i[1].replace(",","."))),defined(i[2])&&(t.month=Number(i[2].replace(",","."))),defined(i[3])&&(t.day=7*Number(i[3].replace(",","."))),defined(i[4])&&(t.day+=Number(i[4].replace(",","."))),defined(i[5])&&(t.hour=Number(i[5].replace(",","."))),defined(i[6])&&(t.minute=Number(i[6].replace(",","."))),defined(i[7])&&(i=Number(i[7].replace(",",".")),t.second=Math.floor(i),t.millisecond=i%1*1e3)}else"Z"!==e[e.length-1]&&(e+="Z"),JulianDate.toGregorianDate(JulianDate.fromIso8601(e,scratchJulianDate),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}}var scratchDuration=new GregorianDate;TimeIntervalCollection.fromIso8601=function(e,t){var i=e.iso8601.split("/"),r=JulianDate.fromIso8601(i[0]),n=JulianDate.fromIso8601(i[1]),a=[];if(parseDuration(i[2],scratchDuration)){var o=JulianDate.clone(r);for(a.push(o);JulianDate.compare(o,n)<0;){o=addToDate(o,scratchDuration);JulianDate.compare(n,o)<=0&&JulianDate.clone(n,o),a.push(o)}}else a.push(r,n);return TimeIntervalCollection.fromJulianDateArray({julianDates:a,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)},TimeIntervalCollection.fromIso8601DateArray=function(e,t){return TimeIntervalCollection.fromJulianDateArray({julianDates:e.iso8601Dates.map(function(e){return JulianDate.fromIso8601(e)}),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)},TimeIntervalCollection.fromIso8601DurationArray=function(e,t){for(var i,r,n=e.epoch,a=e.iso8601Durations,o=defaultValue(e.relativeToPrevious,!1),s=[],l=a.length,c=0;c<l;++c)!parseDuration(a[c],scratchDuration)&&0!==c||(i=o&&defined(r)?addToDate(r,scratchDuration):addToDate(n,scratchDuration),s.push(i),r=i);return TimeIntervalCollection.fromJulianDateArray({julianDates:s,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};var defaultScale=new Cartesian3(1,1,1),defaultTranslation=Cartesian3.ZERO,defaultRotation=Quaternion.IDENTITY;function TranslationRotationScale(e,t,i){this.translation=Cartesian3.clone(defaultValue(e,defaultTranslation)),this.rotation=Quaternion.clone(defaultValue(t,defaultRotation)),this.scale=Cartesian3.clone(defaultValue(i,defaultScale))}function VideoSynchronizer(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=e.clock,this.element=e.element,this.epoch=defaultValue(e.epoch,Iso8601.MINIMUM_VALUE),this.tolerance=defaultValue(e.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}function createSeekFunction(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}function DataRectangle(e,t){this.rectangle=e,this.maxLevel=t}function VRTheWorldTerrainProvider(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=Resource.createIfNeeded(e.url);this._resource=t,this._errorEvent=new Event,this._ready=!1,this._readyPromise=when.defer(),this._terrainDataStructure={heightScale:.001,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:16777215};t=e.credit;"string"==typeof t&&(t=new Credit(t)),this._credit=t,this._tilingScheme=void 0,this._rectangles=[];var i,u=this,d=defaultValue(e.ellipsoid,Ellipsoid.WGS84);function r(e){var t=e.getElementsByTagName("SRS")[0].textContent;if("EPSG:4326"===t){u._tilingScheme=new GeographicTilingScheme({ellipsoid:d});var i=e.getElementsByTagName("TileFormat")[0];u._heightmapWidth=parseInt(i.getAttribute("width"),10),u._heightmapHeight=parseInt(i.getAttribute("height"),10),u._levelZeroMaximumGeometricError=TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(d,Math.min(u._heightmapWidth,u._heightmapHeight),u._tilingScheme.getNumberOfXTilesAtLevel(0));for(var r=e.getElementsByTagName("DataExtent"),n=0;n<r.length;++n){var a=r[n],o=CesiumMath.toRadians(parseFloat(a.getAttribute("minx"))),s=CesiumMath.toRadians(parseFloat(a.getAttribute("miny"))),l=CesiumMath.toRadians(parseFloat(a.getAttribute("maxx"))),c=CesiumMath.toRadians(parseFloat(a.getAttribute("maxy"))),a=parseInt(a.getAttribute("maxlevel"),10);u._rectangles.push(new DataRectangle(new Rectangle(o,s,l,c),a))}u._ready=!0,u._readyPromise.resolve(!0)}else h("SRS "+t+" is not supported.")}function h(e){e=defaultValue(e,"An error occurred while accessing "+u._resource.url+".");i=TileProviderError.handleError(i,u,u._errorEvent,e,void 0,void 0,void 0,n)}function n(){when(u._resource.fetchXML(),r,h)}n()}TranslationRotationScale.prototype.equals=function(e){return this===e||defined(e)&&Cartesian3.equals(this.translation,e.translation)&&Quaternion.equals(this.rotation,e.rotation)&&Cartesian3.equals(this.scale,e.scale)},Object.defineProperties(VideoSynchronizer.prototype,{clock:{get:function(){return this._clock},set:function(e){var t=this._clock;t!==e&&(defined(t)&&(this._clockSubscription(),this._clockSubscription=void 0),defined(e)&&(this._clockSubscription=e.onTick.addEventListener(VideoSynchronizer.prototype._onTick,this)),this._clock=e)}},element:{get:function(){return this._element},set:function(e){var t=this._element;t!==e&&(defined(t)&&t.removeEventListener("seeked",this._seekFunction,!1),defined(e)&&(this._seeking=!1,this._seekFunction=createSeekFunction(this),e.addEventListener("seeked",this._seekFunction,!1)),this._element=e,this._seeking=!1,this._firstTickAfterSeek=!1)}}}),VideoSynchronizer.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,destroyObject(this)},VideoSynchronizer.prototype.isDestroyed=function(){return!1},VideoSynchronizer.prototype._trySetPlaybackRate=function(e){if(this._lastPlaybackRate!==e.multiplier){var t=this._element;try{t.playbackRate=e.multiplier}catch(e){t.playbackRate=0}this._lastPlaybackRate=e.multiplier}},VideoSynchronizer.prototype._onTick=function(e){var t,i,r,n=this._element;!defined(n)||n.readyState<2||(i=n.paused,(r=e.shouldAnimate)===i&&(r?n.play():n.pause()),this._seeking||this._firstTickAfterSeek?this._firstTickAfterSeek=!1:(this._trySetPlaybackRate(e),t=e.currentTime,i=defaultValue(this.epoch,Iso8601.MINIMUM_VALUE),e=JulianDate.secondsDifference(t,i),t=n.duration,i=n.currentTime,e=n.loop?((e%=t)<0&&(e=t-e),e):t<e?t:e<0?0:e,r=r?defaultValue(this.tolerance,1):.001,Math.abs(e-i)>r&&(this._seeking=!0,n.currentTime=e)))},Object.defineProperties(VRTheWorldTerrainProvider.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}}),VRTheWorldTerrainProvider.prototype.requestTileGeometry=function(t,i,r,e){var n=this._tilingScheme.getNumberOfYTilesAtLevel(r),e=this._resource.getDerivedResource({url:r+"/"+t+"/"+(n-i-1)+".tif",queryParameters:{cesium:!0},request:e}).fetchImage({preferImageBitmap:!0});if(defined(e)){var a=this;return when(e).then(function(e){return new HeightmapTerrainData({buffer:getImagePixels(e),width:a._heightmapWidth,height:a._heightmapHeight,childTileMask:getChildMask(a,t,i,r),structure:a._terrainDataStructure})})}},VRTheWorldTerrainProvider.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};var rectangleScratch$4=new Rectangle;function getChildMask(e,t,i,r){for(var n=e._tilingScheme,a=e._rectangles,o=n.tileXYToRectangle(t,i,r),s=0,l=0;l<a.length&&15!==s;++l){var c=a[l];c.maxLevel<=r||(c=c.rectangle,defined(Rectangle.intersection(c,o,rectangleScratch$4))&&(isTileInRectangle(n,c,2*t,2*i,r+1)&&(s|=4),isTileInRectangle(n,c,2*t+1,2*i,r+1)&&(s|=8),isTileInRectangle(n,c,2*t,2*i+1,r+1)&&(s|=1),isTileInRectangle(n,c,2*t+1,2*i+1,r+1)&&(s|=2)))}return s}function isTileInRectangle(e,t,i,r,n){n=e.tileXYToRectangle(i,r,n);return defined(Rectangle.intersection(n,t,rectangleScratch$4))}VRTheWorldTerrainProvider.prototype.getTileDataAvailable=function(e,t,i){},VRTheWorldTerrainProvider.prototype.loadTileDataAvailability=function(e,t,i){};var WallGeometryLibrary={};function latLonEquals(e,t){return CesiumMath.equalsEpsilon(e.latitude,t.latitude,CesiumMath.EPSILON10)&&CesiumMath.equalsEpsilon(e.longitude,t.longitude,CesiumMath.EPSILON10)}var scratchCartographic1$2=new Cartographic,scratchCartographic2$1=new Cartographic;function removeDuplicates(e,t,i,r){var n=(t=arrayRemoveDuplicates(t,Cartesian3.equalsEpsilon)).length;if(!(n<2)){var a=defined(r),o=defined(i),s=new Array(n),l=new Array(n),c=new Array(n),u=t[0];s[0]=u;var d=e.cartesianToCartographic(u,scratchCartographic1$2);o&&(d.height=i[0]),l[0]=d.height,c[0]=a?r[0]:0;for(var h=l[0]===c[0],p=1,m=1;m<n;++m){var f=t[m],g=e.cartesianToCartographic(f,scratchCartographic2$1);o&&(g.height=i[m]),h=h&&0===g.height,latLonEquals(d,g)?d.height<g.height&&(l[p-1]=g.height):(s[p]=f,l[p]=g.height,c[p]=a?r[m]:0,h=h&&l[p]===c[p],Cartographic.clone(g,d),++p)}if(!(h||p<2))return s.length=p,l.length=p,c.length=p,{positions:s,topHeights:l,bottomHeights:c}}}var positionsArrayScratch=new Array(2),heightsArrayScratch=new Array(2),generateArcOptionsScratch$1={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};WallGeometryLibrary.computePositions=function(e,t,i,r,n,a){var o=removeDuplicates(e,t,i,r);if(defined(o)){t=o.positions,i=o.topHeights,r=o.bottomHeights;var s,l,c=t.length,o=c-2,u=CesiumMath.chordLength(n,e.maximumRadius),d=generateArcOptionsScratch$1;if(d.minDistance=u,d.ellipsoid=e,a){for(var h=0,p=0;p<c-1;p++)h+=PolylinePipeline.numberOfPoints(t[p],t[p+1],u)+1;s=new Float64Array(3*h),l=new Float64Array(3*h);var m=positionsArrayScratch,f=heightsArrayScratch;d.positions=m,d.height=f;var g=0;for(p=0;p<c-1;p++){m[0]=t[p],m[1]=t[p+1],f[0]=i[p],f[1]=i[p+1];var _=PolylinePipeline.generateArc(d);s.set(_,g),f[0]=r[p],f[1]=r[p+1],l.set(PolylinePipeline.generateArc(d),g),g+=_.length}}else d.positions=t,d.height=i,s=new Float64Array(PolylinePipeline.generateArc(d)),d.height=r,l=new Float64Array(PolylinePipeline.generateArc(d));return{bottomPositions:l,topPositions:s,numCorners:o}}};var scratchCartesian3Position1=new Cartesian3,scratchCartesian3Position2=new Cartesian3,scratchCartesian3Position4=new Cartesian3,scratchCartesian3Position5=new Cartesian3,scratchBitangent$4=new Cartesian3,scratchTangent$4=new Cartesian3,scratchNormal$6=new Cartesian3;function WallGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions,i=e.maximumHeights,r=e.minimumHeights,n=defaultValue(e.vertexFormat,VertexFormat.DEFAULT),a=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),e=defaultValue(e.ellipsoid,Ellipsoid.WGS84);this._positions=t,this._minimumHeights=r,this._maximumHeights=i,this._vertexFormat=VertexFormat.clone(n),this._granularity=a,this._ellipsoid=Ellipsoid.clone(e),this._workerName="createWallGeometry";t=1+t.length*Cartesian3.packedLength+2;defined(r)&&(t+=r.length),defined(i)&&(t+=i.length),this.packedLength=t+Ellipsoid.packedLength+VertexFormat.packedLength+1}WallGeometry.pack=function(e,t,i){var r;i=defaultValue(i,0);var n=e._positions,a=n.length;for(t[i++]=a,r=0;r<a;++r,i+=Cartesian3.packedLength)Cartesian3.pack(n[r],t,i);var o=e._minimumHeights,a=defined(o)?o.length:0;if(t[i++]=a,defined(o))for(r=0;r<a;++r)t[i++]=o[r];var s=e._maximumHeights;if(a=defined(s)?s.length:0,t[i++]=a,defined(s))for(r=0;r<a;++r)t[i++]=s[r];return Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,VertexFormat.pack(e._vertexFormat,t,i),t[i+=VertexFormat.packedLength]=e._granularity,t};var scratchEllipsoid$c=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchVertexFormat$c=new VertexFormat,scratchOptions$m={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:scratchEllipsoid$c,vertexFormat:scratchVertexFormat$c,granularity:void 0};WallGeometry.unpack=function(e,t,i){t=defaultValue(t,0);for(var r,n,a=e[t++],o=new Array(a),s=0;s<a;++s,t+=Cartesian3.packedLength)o[s]=Cartesian3.unpack(e,t);if(0<(a=e[t++]))for(r=new Array(a),s=0;s<a;++s)r[s]=e[t++];if(0<(a=e[t++]))for(n=new Array(a),s=0;s<a;++s)n[s]=e[t++];var l=Ellipsoid.unpack(e,t,scratchEllipsoid$c);t+=Ellipsoid.packedLength;var c=VertexFormat.unpack(e,t,scratchVertexFormat$c),u=e[t+=VertexFormat.packedLength];return defined(i)?(i._positions=o,i._minimumHeights=r,i._maximumHeights=n,i._ellipsoid=Ellipsoid.clone(l,i._ellipsoid),i._vertexFormat=VertexFormat.clone(c,i._vertexFormat),i._granularity=u,i):(scratchOptions$m.positions=o,scratchOptions$m.minimumHeights=r,scratchOptions$m.maximumHeights=n,scratchOptions$m.granularity=u,new WallGeometry(scratchOptions$m))},WallGeometry.fromConstantHeights=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions,i=e.minimumHeight,r=e.maximumHeight,n=defined(i),a=defined(r);if(n||a)for(var o=t.length,s=n?new Array(o):void 0,l=a?new Array(o):void 0,c=0;c<o;++c)n&&(s[c]=i),a&&(l[c]=r);return new WallGeometry({positions:t,maximumHeights:l,minimumHeights:s,ellipsoid:e.ellipsoid,vertexFormat:e.vertexFormat})},WallGeometry.createGeometry=function(e){var t=e._positions,i=e._minimumHeights,r=e._maximumHeights,n=e._vertexFormat,a=e._granularity,o=e._ellipsoid,r=WallGeometryLibrary.computePositions(o,t,r,i,a,!0);if(defined(r)){for(var s=r.bottomPositions,l=r.topPositions,i=r.numCorners,c=l.length,a=2*c,u=n.position?new Float64Array(a):void 0,d=n.normal?new Float32Array(a):void 0,h=n.tangent?new Float32Array(a):void 0,p=n.bitangent?new Float32Array(a):void 0,m=n.st?new Float32Array(a/3*2):void 0,f=0,g=0,_=0,y=0,C=0,v=scratchNormal$6,S=scratchTangent$4,T=scratchBitangent$4,b=!0,x=0,E=1/((c/=3)-i-1),P=0;P<c;++P){var A,w=3*P,D=Cartesian3.fromArray(l,w,scratchCartesian3Position1),M=Cartesian3.fromArray(s,w,scratchCartesian3Position2);n.position&&(u[f++]=M.x,u[f++]=M.y,u[f++]=M.z,u[f++]=D.x,u[f++]=D.y,u[f++]=D.z),n.st&&(m[C++]=x,m[C++]=0,m[C++]=x,m[C++]=1),(n.normal||n.tangent||n.bitangent)&&(A=Cartesian3.clone(Cartesian3.ZERO,scratchCartesian3Position5),M=Cartesian3.subtract(D,o.geodeticSurfaceNormal(D,scratchCartesian3Position2),scratchCartesian3Position2),P+1<c&&(A=Cartesian3.fromArray(l,3+w,scratchCartesian3Position5)),b&&(w=Cartesian3.subtract(A,D,scratchCartesian3Position4),M=Cartesian3.subtract(M,D,scratchCartesian3Position1),v=Cartesian3.normalize(Cartesian3.cross(M,w,v),v),b=!1),Cartesian3.equalsEpsilon(D,A,CesiumMath.EPSILON10)?b=!0:(x+=E,n.tangent&&(S=Cartesian3.normalize(Cartesian3.subtract(A,D,S),S)),n.bitangent&&(T=Cartesian3.normalize(Cartesian3.cross(v,S,T),T))),n.normal&&(d[g++]=v.x,d[g++]=v.y,d[g++]=v.z,d[g++]=v.x,d[g++]=v.y,d[g++]=v.z),n.tangent&&(h[y++]=S.x,h[y++]=S.y,h[y++]=S.z,h[y++]=S.x,h[y++]=S.y,h[y++]=S.z),n.bitangent&&(p[_++]=T.x,p[_++]=T.y,p[_++]=T.z,p[_++]=T.x,p[_++]=T.y,p[_++]=T.z))}r=new GeometryAttributes;n.position&&(r.position=new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:u})),n.normal&&(r.normal=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:d})),n.tangent&&(r.tangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:h})),n.bitangent&&(r.bitangent=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:p})),n.st&&(r.st=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:m}));var I=a/3;a-=6*(i+1);var R=IndexDatatype$1.createTypedArray(I,a),O=0;for(P=0;P<I-2;P+=2){var L=P,F=P+2,N=Cartesian3.fromArray(u,3*L,scratchCartesian3Position1),B=Cartesian3.fromArray(u,3*F,scratchCartesian3Position2);Cartesian3.equalsEpsilon(N,B,CesiumMath.EPSILON10)||(N=P+1,B=P+3,R[O++]=N,R[O++]=L,R[O++]=B,R[O++]=B,R[O++]=L,R[O++]=F)}return new Geometry({attributes:r,indices:R,primitiveType:PrimitiveType$1.TRIANGLES,boundingSphere:new BoundingSphere.fromVertices(u)})}};var scratchCartesian3Position1$1=new Cartesian3,scratchCartesian3Position2$1=new Cartesian3;function WallOutlineGeometry(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions,i=e.maximumHeights,r=e.minimumHeights,n=defaultValue(e.granularity,CesiumMath.RADIANS_PER_DEGREE),e=defaultValue(e.ellipsoid,Ellipsoid.WGS84);this._positions=t,this._minimumHeights=r,this._maximumHeights=i,this._granularity=n,this._ellipsoid=Ellipsoid.clone(e),this._workerName="createWallOutlineGeometry";t=1+t.length*Cartesian3.packedLength+2;defined(r)&&(t+=r.length),defined(i)&&(t+=i.length),this.packedLength=t+Ellipsoid.packedLength+1}WallOutlineGeometry.pack=function(e,t,i){var r;i=defaultValue(i,0);var n=e._positions,a=n.length;for(t[i++]=a,r=0;r<a;++r,i+=Cartesian3.packedLength)Cartesian3.pack(n[r],t,i);var o=e._minimumHeights,a=defined(o)?o.length:0;if(t[i++]=a,defined(o))for(r=0;r<a;++r)t[i++]=o[r];var s=e._maximumHeights;if(a=defined(s)?s.length:0,t[i++]=a,defined(s))for(r=0;r<a;++r)t[i++]=s[r];return Ellipsoid.pack(e._ellipsoid,t,i),t[i+=Ellipsoid.packedLength]=e._granularity,t};var scratchEllipsoid$d=Ellipsoid.clone(Ellipsoid.UNIT_SPHERE),scratchOptions$n={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:scratchEllipsoid$d,granularity:void 0};function webGLConstantToGlslType(e){switch(e){case WebGLConstants$1.FLOAT:return"float";case WebGLConstants$1.FLOAT_VEC2:return"vec2";case WebGLConstants$1.FLOAT_VEC3:return"vec3";case WebGLConstants$1.FLOAT_VEC4:return"vec4";case WebGLConstants$1.FLOAT_MAT2:return"mat2";case WebGLConstants$1.FLOAT_MAT3:return"mat3";case WebGLConstants$1.FLOAT_MAT4:return"mat4";case WebGLConstants$1.SAMPLER_2D:return"sampler2D";case WebGLConstants$1.BOOL:return"bool"}}function WeightSpline(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).weights,e=e.times;this._times=e,this._weights=t,this._count=t.length/e.length,this._lastTimeIndex=0}function wrapFunction(e,t,i){return function(){i.apply(e,arguments),t.apply(e,arguments)}}function ConstantProperty(e){this._value=void 0,this._hasClone=!1,this._hasEquals=!1,this._definitionChanged=new Event,this.setValue(e)}function createProperty(r,n,a,e,o){return{configurable:e,get:function(){return this[n]},set:function(e){var t=this[n],i=this[a];defined(i)&&(i(),this[a]=void 0),!(void 0!==e)||defined(e)&&defined(e.getValue)||!defined(o)||(e=o(e)),t!==e&&(this[n]=e,this._definitionChanged.raiseEvent(this,r,e,t)),defined(e)&&defined(e.definitionChanged)&&(this[a]=e.definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this,r,e,e)},this))}}}function createConstantProperty(e){return new ConstantProperty(e)}function createPropertyDescriptor(e,t,i){return createProperty(e,"_"+e.toString(),"_"+e.toString()+"Subscription",defaultValue(t,!1),defaultValue(i,createConstantProperty))}function BillboardGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}WallOutlineGeometry.unpack=function(e,t,i){t=defaultValue(t,0);for(var r,n,a=e[t++],o=new Array(a),s=0;s<a;++s,t+=Cartesian3.packedLength)o[s]=Cartesian3.unpack(e,t);if(0<(a=e[t++]))for(r=new Array(a),s=0;s<a;++s)r[s]=e[t++];if(0<(a=e[t++]))for(n=new Array(a),s=0;s<a;++s)n[s]=e[t++];var l=Ellipsoid.unpack(e,t,scratchEllipsoid$d),c=e[t+=Ellipsoid.packedLength];return defined(i)?(i._positions=o,i._minimumHeights=r,i._maximumHeights=n,i._ellipsoid=Ellipsoid.clone(l,i._ellipsoid),i._granularity=c,i):(scratchOptions$n.positions=o,scratchOptions$n.minimumHeights=r,scratchOptions$n.maximumHeights=n,scratchOptions$n.granularity=c,new WallOutlineGeometry(scratchOptions$n))},WallOutlineGeometry.fromConstantHeights=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).positions,i=e.minimumHeight,r=e.maximumHeight,n=defined(i),a=defined(r);if(n||a)for(var o=t.length,s=n?new Array(o):void 0,l=a?new Array(o):void 0,c=0;c<o;++c)n&&(s[c]=i),a&&(l[c]=r);return new WallOutlineGeometry({positions:t,maximumHeights:l,minimumHeights:s,ellipsoid:e.ellipsoid})},WallOutlineGeometry.createGeometry=function(e){var t=e._positions,i=e._minimumHeights,r=e._maximumHeights,n=e._granularity,e=e._ellipsoid,i=WallGeometryLibrary.computePositions(e,t,r,i,n,!1);if(defined(i)){var a=i.bottomPositions,o=i.topPositions,s=o.length,n=2*s,l=new Float64Array(n),c=0;for(s/=3,f=0;f<s;++f){var u=3*f,d=Cartesian3.fromArray(o,u,scratchCartesian3Position1$1),u=Cartesian3.fromArray(a,u,scratchCartesian3Position2$1);l[c++]=u.x,l[c++]=u.y,l[c++]=u.z,l[c++]=d.x,l[c++]=d.y,l[c++]=d.z}for(var i=new GeometryAttributes({position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.DOUBLE,componentsPerAttribute:3,values:l})}),h=n/3,n=2*h-4+h,p=IndexDatatype$1.createTypedArray(h,n),m=0,f=0;f<h-2;f+=2){var g=f,_=f+2,y=Cartesian3.fromArray(l,3*g,scratchCartesian3Position1$1),C=Cartesian3.fromArray(l,3*_,scratchCartesian3Position2$1);Cartesian3.equalsEpsilon(y,C,CesiumMath.EPSILON10)||(y=f+1,C=f+3,p[m++]=y,p[m++]=g,p[m++]=y,p[m++]=C,p[m++]=g,p[m++]=_)}return p[m++]=h-2,p[m++]=h-1,new Geometry({attributes:i,indices:p,primitiveType:PrimitiveType$1.LINES,boundingSphere:new BoundingSphere.fromVertices(l)})}},Object.defineProperties(WeightSpline.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}}),WeightSpline.prototype.findTimeInterval=Spline.prototype.findTimeInterval,WeightSpline.prototype.wrapTime=Spline.prototype.wrapTime,WeightSpline.prototype.clampTime=Spline.prototype.clampTime,WeightSpline.prototype.evaluate=function(e,t){var i=this.weights,r=this.times,n=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),a=(e-r[n])/(r[n+1]-r[n]);defined(t)||(t=new Array(this._count));for(var o=0;o<this._count;o++){var s=n*this._count+o;t[o]=i[s]*(1-a)+i[s+this._count]*a}return t},Object.defineProperties(ConstantProperty.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}}),ConstantProperty.prototype.getValue=function(e,t){return this._hasClone?this._value.clone(t):this._value},ConstantProperty.prototype.setValue=function(e){var t,i,r=this._value;r!==e&&(t=(i=defined(e))&&"function"==typeof e.clone,(i=i&&"function"==typeof e.equals)&&e.equals(r)||(this._hasClone=t,this._hasEquals=i,this._value=t?e.clone(this._value):e,this._definitionChanged.raiseEvent(this)))},ConstantProperty.prototype.equals=function(e){return this===e||e instanceof ConstantProperty&&(!this._hasEquals&&this._value===e._value||this._hasEquals&&this._value.equals(e._value))},ConstantProperty.prototype.valueOf=function(){return this._value},ConstantProperty.prototype.toString=function(){return String(this._value)},Object.defineProperties(BillboardGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),image:createPropertyDescriptor("image"),scale:createPropertyDescriptor("scale"),pixelOffset:createPropertyDescriptor("pixelOffset"),eyeOffset:createPropertyDescriptor("eyeOffset"),horizontalOrigin:createPropertyDescriptor("horizontalOrigin"),verticalOrigin:createPropertyDescriptor("verticalOrigin"),heightReference:createPropertyDescriptor("heightReference"),color:createPropertyDescriptor("color"),rotation:createPropertyDescriptor("rotation"),alignedAxis:createPropertyDescriptor("alignedAxis"),sizeInMeters:createPropertyDescriptor("sizeInMeters"),width:createPropertyDescriptor("width"),height:createPropertyDescriptor("height"),scaleByDistance:createPropertyDescriptor("scaleByDistance"),translucencyByDistance:createPropertyDescriptor("translucencyByDistance"),pixelOffsetScaleByDistance:createPropertyDescriptor("pixelOffsetScaleByDistance"),imageSubRegion:createPropertyDescriptor("imageSubRegion"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition"),disableDepthTestDistance:createPropertyDescriptor("disableDepthTestDistance")}),BillboardGraphics.prototype.clone=function(e){return defined(e)?(e.show=this._show,e.image=this._image,e.scale=this._scale,e.pixelOffset=this._pixelOffset,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.verticalOrigin=this._verticalOrigin,e.heightReference=this._heightReference,e.color=this._color,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.sizeInMeters=this._sizeInMeters,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e.imageSubRegion=this._imageSubRegion,e.distanceDisplayCondition=this._distanceDisplayCondition,e.disableDepthTestDistance=this._disableDepthTestDistance,e):new BillboardGraphics(this)},BillboardGraphics.prototype.merge=function(e){this.show=defaultValue(this._show,e.show),this.image=defaultValue(this._image,e.image),this.scale=defaultValue(this._scale,e.scale),this.pixelOffset=defaultValue(this._pixelOffset,e.pixelOffset),this.eyeOffset=defaultValue(this._eyeOffset,e.eyeOffset),this.horizontalOrigin=defaultValue(this._horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=defaultValue(this._verticalOrigin,e.verticalOrigin),this.heightReference=defaultValue(this._heightReference,e.heightReference),this.color=defaultValue(this._color,e.color),this.rotation=defaultValue(this._rotation,e.rotation),this.alignedAxis=defaultValue(this._alignedAxis,e.alignedAxis),this.sizeInMeters=defaultValue(this._sizeInMeters,e.sizeInMeters),this.width=defaultValue(this._width,e.width),this.height=defaultValue(this._height,e.height),this.scaleByDistance=defaultValue(this._scaleByDistance,e.scaleByDistance),this.translucencyByDistance=defaultValue(this._translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=defaultValue(this._pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.imageSubRegion=defaultValue(this._imageSubRegion,e.imageSubRegion),this.distanceDisplayCondition=defaultValue(this._distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=defaultValue(this._disableDepthTestDistance,e.disableDepthTestDistance)};var HeightReference={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2},HeightReference$1=Object.freeze(HeightReference),HorizontalOrigin={CENTER:0,LEFT:1,RIGHT:-1},HorizontalOrigin$1=Object.freeze(HorizontalOrigin),VerticalOrigin={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},VerticalOrigin$1=Object.freeze(VerticalOrigin),BoundingSphereState={DONE:0,PENDING:1,FAILED:2},BoundingSphereState$1=Object.freeze(BoundingSphereState);function Property(){DeveloperError.throwInstantiationError()}Object.defineProperties(Property.prototype,{isConstant:{get:DeveloperError.throwInstantiationError},definitionChanged:{get:DeveloperError.throwInstantiationError}}),Property.prototype.getValue=DeveloperError.throwInstantiationError,Property.prototype.equals=DeveloperError.throwInstantiationError,Property.equals=function(e,t){return e===t||defined(e)&&e.equals(t)},Property.arrayEquals=function(e,t){if(e===t)return!0;if(!defined(e)||!defined(t)||e.length!==t.length)return!1;for(var i=e.length,r=0;r<i;r++)if(!Property.equals(e[r],t[r]))return!1;return!0},Property.isConstant=function(e){return!defined(e)||e.isConstant},Property.getValueOrUndefined=function(e,t,i){return defined(e)?e.getValue(t,i):void 0},Property.getValueOrDefault=function(e,t,i,r){return defined(e)?defaultValue(e.getValue(t,r),i):i},Property.getValueOrClonedDefault=function(e,t,i,r){var n;return defined(e)&&(n=e.getValue(t,r)),defined(n)||(n=i.clone(n)),n};var defaultColor=Color.WHITE,defaultEyeOffset=Cartesian3.ZERO,defaultHeightReference=HeightReference$1.NONE,defaultPixelOffset=Cartesian2.ZERO,defaultScale$1=1,defaultRotation$1=0,defaultAlignedAxis=Cartesian3.ZERO,defaultHorizontalOrigin=HorizontalOrigin$1.CENTER,defaultVerticalOrigin=VerticalOrigin$1.CENTER,defaultSizeInMeters=!1,positionScratch$4=new Cartesian3,colorScratch$1=new Color,eyeOffsetScratch=new Cartesian3,pixelOffsetScratch=new Cartesian2,scaleByDistanceScratch=new NearFarScalar,translucencyByDistanceScratch=new NearFarScalar,pixelOffsetScaleByDistanceScratch=new NearFarScalar,boundingRectangleScratch=new BoundingRectangle,distanceDisplayConditionScratch=new DistanceDisplayCondition;function EntityData(e){this.entity=e,this.billboard=void 0,this.textureValue=void 0}function BillboardVisualizer(e,t){t.collectionChanged.addEventListener(BillboardVisualizer.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new AssociativeArray,this._onCollectionChanged(t,t.values,[],[])}function returnPrimitive(e,t,i){defined(e)&&(e.billboard=void 0,i.removeBillboard(t))}BillboardVisualizer.prototype.update=function(e){for(var t=this._items.values,i=this._cluster,r=0,n=t.length;r<n;r++){var a,o,s=t[r],l=s.entity,c=l._billboard,u=s.billboard,d=l.isShowing&&l.isAvailable(e)&&Property.getValueOrDefault(c._show,e,!0);d&&(o=Property.getValueOrUndefined(l._position,e,positionScratch$4),a=Property.getValueOrUndefined(c._image,e),d=defined(o)&&defined(a)),d?(Property.isConstant(l._position)||(i._clusterDirty=!0),defined(u)||((u=i.getBillboard(l)).id=l,u.image=void 0,s.billboard=u),u.show=d,defined(u.image)&&s.textureValue===a||(u.image=a,s.textureValue=a),u.position=o,u.color=Property.getValueOrDefault(c._color,e,defaultColor,colorScratch$1),u.eyeOffset=Property.getValueOrDefault(c._eyeOffset,e,defaultEyeOffset,eyeOffsetScratch),u.heightReference=Property.getValueOrDefault(c._heightReference,e,defaultHeightReference),u.pixelOffset=Property.getValueOrDefault(c._pixelOffset,e,defaultPixelOffset,pixelOffsetScratch),u.scale=Property.getValueOrDefault(c._scale,e,defaultScale$1),u.rotation=Property.getValueOrDefault(c._rotation,e,defaultRotation$1),u.alignedAxis=Property.getValueOrDefault(c._alignedAxis,e,defaultAlignedAxis),u.horizontalOrigin=Property.getValueOrDefault(c._horizontalOrigin,e,defaultHorizontalOrigin),u.verticalOrigin=Property.getValueOrDefault(c._verticalOrigin,e,defaultVerticalOrigin),u.width=Property.getValueOrUndefined(c._width,e),u.height=Property.getValueOrUndefined(c._height,e),u.scaleByDistance=Property.getValueOrUndefined(c._scaleByDistance,e,scaleByDistanceScratch),u.translucencyByDistance=Property.getValueOrUndefined(c._translucencyByDistance,e,translucencyByDistanceScratch),u.pixelOffsetScaleByDistance=Property.getValueOrUndefined(c._pixelOffsetScaleByDistance,e,pixelOffsetScaleByDistanceScratch),u.sizeInMeters=Property.getValueOrDefault(c._sizeInMeters,e,defaultSizeInMeters),u.distanceDisplayCondition=Property.getValueOrUndefined(c._distanceDisplayCondition,e,distanceDisplayConditionScratch),u.disableDepthTestDistance=Property.getValueOrUndefined(c._disableDepthTestDistance,e),defined(c=Property.getValueOrUndefined(c._imageSubRegion,e,boundingRectangleScratch))&&u.setImageSubRegion(u._imageId,c)):returnPrimitive(s,l,i)}return!0},BillboardVisualizer.prototype.getBoundingSphere=function(e,t){e=this._items.get(e.id);if(!defined(e)||!defined(e.billboard))return BoundingSphereState$1.FAILED;e=e.billboard;if(e.heightReference===HeightReference$1.NONE)t.center=Cartesian3.clone(e.position,t.center);else{if(!defined(e._clampedPosition))return BoundingSphereState$1.PENDING;t.center=Cartesian3.clone(e._clampedPosition,t.center)}return t.radius=0,BoundingSphereState$1.DONE},BillboardVisualizer.prototype.isDestroyed=function(){return!1},BillboardVisualizer.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(BillboardVisualizer.prototype._onCollectionChanged,this);for(var e=this._entityCollection.values,t=0;t<e.length;t++)this._cluster.removeBillboard(e[t]);return destroyObject(this)},BillboardVisualizer.prototype._onCollectionChanged=function(e,t,i,r){for(var n,a=this._items,o=this._cluster,s=t.length-1;-1<s;s--)defined((n=t[s])._billboard)&&defined(n._position)&&a.set(n.id,new EntityData(n));for(s=r.length-1;-1<s;s--)defined((n=r[s])._billboard)&&defined(n._position)?a.contains(n.id)||a.set(n.id,new EntityData(n)):(returnPrimitive(a.get(n.id),n,o),a.remove(n.id));for(s=i.length-1;-1<s;s--)n=i[s],returnPrimitive(a.get(n.id),n,o),a.remove(n.id)};var AllMaterialAppearanceFS="varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec3 v_tangentEC;\nvarying vec3 v_bitangentEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec3 positionToEyeEC = -v_positionEC;\nmat3 tangentToEyeMatrix = czm_tangentToEyeSpaceMatrix(v_normalEC, v_tangentEC, v_bitangentEC);\nvec3 normalEC = normalize(v_normalEC);\n#ifdef FACE_FORWARD\nnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.tangentToEyeMatrix = tangentToEyeMatrix;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nmaterialInput.st = v_st;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\n",AllMaterialAppearanceVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec3 tangent;\nattribute vec3 bitangent;\nattribute vec2 st;\nattribute float batchId;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec3 v_tangentEC;\nvarying vec3 v_bitangentEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_normalEC = czm_normal * normal;\nv_tangentEC = czm_normal * tangent;\nv_bitangentEC = czm_normal * bitangent;\nv_st = st;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n",BasicMaterialAppearanceFS="varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvoid main()\n{\nvec3 positionToEyeEC = -v_positionEC;\nvec3 normalEC = normalize(v_normalEC);\n#ifdef FACE_FORWARD\nnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\n",BasicMaterialAppearanceVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute float batchId;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_normalEC = czm_normal * normal;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n",TexturedMaterialAppearanceFS="varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec3 positionToEyeEC = -v_positionEC;\nvec3 normalEC = normalize(v_normalEC);\n#ifdef FACE_FORWARD\nnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nmaterialInput.st = v_st;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\n",TexturedMaterialAppearanceVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec2 st;\nattribute float batchId;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_normalEC = czm_normal * normal;\nv_st = st;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n",BlendEquation={ADD:WebGLConstants$1.FUNC_ADD,SUBTRACT:WebGLConstants$1.FUNC_SUBTRACT,REVERSE_SUBTRACT:WebGLConstants$1.FUNC_REVERSE_SUBTRACT,MIN:WebGLConstants$1.MIN,MAX:WebGLConstants$1.MAX},BlendEquation$1=Object.freeze(BlendEquation),BlendFunction={ZERO:WebGLConstants$1.ZERO,ONE:WebGLConstants$1.ONE,SOURCE_COLOR:WebGLConstants$1.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:WebGLConstants$1.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:WebGLConstants$1.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:WebGLConstants$1.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:WebGLConstants$1.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:WebGLConstants$1.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:WebGLConstants$1.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:WebGLConstants$1.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:WebGLConstants$1.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:WebGLConstants$1.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:WebGLConstants$1.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:WebGLConstants$1.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:WebGLConstants$1.SRC_ALPHA_SATURATE},BlendFunction$1=Object.freeze(BlendFunction),BlendingState={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:BlendEquation$1.ADD,equationAlpha:BlendEquation$1.ADD,functionSourceRgb:BlendFunction$1.SOURCE_ALPHA,functionSourceAlpha:BlendFunction$1.ONE,functionDestinationRgb:BlendFunction$1.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:BlendFunction$1.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:BlendEquation$1.ADD,equationAlpha:BlendEquation$1.ADD,functionSourceRgb:BlendFunction$1.ONE,functionSourceAlpha:BlendFunction$1.ONE,functionDestinationRgb:BlendFunction$1.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:BlendFunction$1.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:BlendEquation$1.ADD,equationAlpha:BlendEquation$1.ADD,functionSourceRgb:BlendFunction$1.SOURCE_ALPHA,functionSourceAlpha:BlendFunction$1.ONE,functionDestinationRgb:BlendFunction$1.ONE,functionDestinationAlpha:BlendFunction$1.ONE})},BlendingState$1=Object.freeze(BlendingState),CullFace={FRONT:WebGLConstants$1.FRONT,BACK:WebGLConstants$1.BACK,FRONT_AND_BACK:WebGLConstants$1.FRONT_AND_BACK},CullFace$1=Object.freeze(CullFace);function Appearance(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.material=e.material,this.translucent=defaultValue(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=defaultValue(e.closed,!1)}Object.defineProperties(Appearance.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}}),Appearance.prototype.getFragmentShaderSource=function(){var e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),defined(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join("\n")},Appearance.prototype.isTranslucent=function(){return defined(this.material)&&this.material.isTranslucent()||!defined(this.material)&&this.translucent},Appearance.prototype.getRenderState=function(){var e=this.isTranslucent(),t=clone(this.renderState,!1);return e?(t.depthMask=!1,t.blending=BlendingState$1.ALPHA_BLEND):t.depthMask=!0,t},Appearance.getDefaultRenderState=function(e,t,i){var r={depthTest:{enabled:!0}};return e&&(r.depthMask=!1,r.blending=BlendingState$1.ALPHA_BLEND),t&&(r.cull={enabled:!0,face:CullFace$1.BACK}),defined(i)&&(r=combine(i,r,!0)),r};var ContextLimits={_maximumCombinedTextureImageUnits:0,_maximumCubeMapSize:0,_maximumFragmentUniformVectors:0,_maximumTextureImageUnits:0,_maximumRenderbufferSize:0,_maximumTextureSize:0,_maximumVaryingVectors:0,_maximumVertexAttributes:0,_maximumVertexTextureImageUnits:0,_maximumVertexUniformVectors:0,_minimumAliasedLineWidth:0,_maximumAliasedLineWidth:0,_minimumAliasedPointSize:0,_maximumAliasedPointSize:0,_maximumViewportWidth:0,_maximumViewportHeight:0,_maximumTextureFilterAnisotropy:0,_maximumDrawBuffers:0,_maximumColorAttachments:0,_highpFloatSupported:!1,_highpIntSupported:!1};function CubeMapFace(e,t,i,r,n,a,o,s,l,c,u){this._context=e,this._texture=t,this._textureTarget=i,this._targetFace=r,this._pixelDatatype=o,this._internalFormat=n,this._pixelFormat=a,this._size=s,this._preMultiplyAlpha=l,this._flipY=c,this._initialized=u}Object.defineProperties(ContextLimits,{maximumCombinedTextureImageUnits:{get:function(){return ContextLimits._maximumCombinedTextureImageUnits}},maximumCubeMapSize:{get:function(){return ContextLimits._maximumCubeMapSize}},maximumFragmentUniformVectors:{get:function(){return ContextLimits._maximumFragmentUniformVectors}},maximumTextureImageUnits:{get:function(){return ContextLimits._maximumTextureImageUnits}},maximumRenderbufferSize:{get:function(){return ContextLimits._maximumRenderbufferSize}},maximumTextureSize:{get:function(){return ContextLimits._maximumTextureSize}},maximumVaryingVectors:{get:function(){return ContextLimits._maximumVaryingVectors}},maximumVertexAttributes:{get:function(){return ContextLimits._maximumVertexAttributes}},maximumVertexTextureImageUnits:{get:function(){return ContextLimits._maximumVertexTextureImageUnits}},maximumVertexUniformVectors:{get:function(){return ContextLimits._maximumVertexUniformVectors}},minimumAliasedLineWidth:{get:function(){return ContextLimits._minimumAliasedLineWidth}},maximumAliasedLineWidth:{get:function(){return ContextLimits._maximumAliasedLineWidth}},minimumAliasedPointSize:{get:function(){return ContextLimits._minimumAliasedPointSize}},maximumAliasedPointSize:{get:function(){return ContextLimits._maximumAliasedPointSize}},maximumViewportWidth:{get:function(){return ContextLimits._maximumViewportWidth}},maximumViewportHeight:{get:function(){return ContextLimits._maximumViewportHeight}},maximumTextureFilterAnisotropy:{get:function(){return ContextLimits._maximumTextureFilterAnisotropy}},maximumDrawBuffers:{get:function(){return ContextLimits._maximumDrawBuffers}},maximumColorAttachments:{get:function(){return ContextLimits._maximumColorAttachments}},highpFloatSupported:{get:function(){return ContextLimits._highpFloatSupported}},highpIntSupported:{get:function(){return ContextLimits._highpIntSupported}}}),Object.defineProperties(CubeMapFace.prototype,{pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},_target:{get:function(){return this._targetFace}}}),CubeMapFace.prototype.copyFrom=function(e,t,i){t=defaultValue(t,0),i=defaultValue(i,0);var r=this._context._gl,n=this._textureTarget,a=this._targetFace;r.activeTexture(r.TEXTURE0),r.bindTexture(n,this._texture);var o=e.width,s=e.height,l=e.arrayBufferView,c=this._size,u=this._pixelFormat,d=this._internalFormat,h=this._pixelDatatype,p=this._preMultiplyAlpha,m=this._flipY,f=4;defined(l)&&(f=PixelFormat$1.alignmentInBytes(u,h,o)),r.pixelStorei(r.UNPACK_ALIGNMENT,f);var g=!1;this._initialized||(0===t&&0===i&&o===c&&s===c?(defined(l)?(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),m&&(l=PixelFormat$1.flipY(l,u,h,c,c)),r.texImage2D(a,0,d,c,c,0,u,PixelDatatype$1.toWebGLConstant(h,this._context),l)):(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,p),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,m),r.texImage2D(a,0,d,u,PixelDatatype$1.toWebGLConstant(h,this._context),e)),g=!0):(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),f=PixelFormat$1.createTypedArray(u,h,c,c),r.texImage2D(a,0,d,c,c,0,u,PixelDatatype$1.toWebGLConstant(h,this._context),f)),this._initialized=!0),g||(defined(l)?(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),m&&(l=PixelFormat$1.flipY(l,u,h,o,s)),r.texSubImage2D(a,0,t,i,o,s,u,PixelDatatype$1.toWebGLConstant(h,this._context),l)):(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,p),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,m),r.texSubImage2D(a,0,t,i,u,PixelDatatype$1.toWebGLConstant(h,this._context),e))),r.bindTexture(n,null)},CubeMapFace.prototype.copyFromFramebuffer=function(e,t,i,r,n,a){e=defaultValue(e,0),t=defaultValue(t,0),i=defaultValue(i,0),r=defaultValue(r,0),n=defaultValue(n,this._size),a=defaultValue(a,this._size);var o=this._context._gl,s=this._textureTarget;o.activeTexture(o.TEXTURE0),o.bindTexture(s,this._texture),o.copyTexSubImage2D(this._targetFace,0,e,t,i,r,n,a),o.bindTexture(s,null),this._initialized=!0};var MipmapHint={DONT_CARE:WebGLConstants$1.DONT_CARE,FASTEST:WebGLConstants$1.FASTEST,NICEST:WebGLConstants$1.NICEST,validate:function(e){return e===MipmapHint.DONT_CARE||e===MipmapHint.FASTEST||e===MipmapHint.NICEST}},MipmapHint$1=Object.freeze(MipmapHint),TextureMagnificationFilter={NEAREST:WebGLConstants$1.NEAREST,LINEAR:WebGLConstants$1.LINEAR,validate:function(e){return e===TextureMagnificationFilter.NEAREST||e===TextureMagnificationFilter.LINEAR}},TextureMagnificationFilter$1=Object.freeze(TextureMagnificationFilter),TextureMinificationFilter={NEAREST:WebGLConstants$1.NEAREST,LINEAR:WebGLConstants$1.LINEAR,NEAREST_MIPMAP_NEAREST:WebGLConstants$1.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:WebGLConstants$1.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:WebGLConstants$1.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:WebGLConstants$1.LINEAR_MIPMAP_LINEAR,validate:function(e){return e===TextureMinificationFilter.NEAREST||e===TextureMinificationFilter.LINEAR||e===TextureMinificationFilter.NEAREST_MIPMAP_NEAREST||e===TextureMinificationFilter.LINEAR_MIPMAP_NEAREST||e===TextureMinificationFilter.NEAREST_MIPMAP_LINEAR||e===TextureMinificationFilter.LINEAR_MIPMAP_LINEAR}},TextureMinificationFilter$1=Object.freeze(TextureMinificationFilter),TextureWrap={CLAMP_TO_EDGE:WebGLConstants$1.CLAMP_TO_EDGE,REPEAT:WebGLConstants$1.REPEAT,MIRRORED_REPEAT:WebGLConstants$1.MIRRORED_REPEAT,validate:function(e){return e===TextureWrap.CLAMP_TO_EDGE||e===TextureWrap.REPEAT||e===TextureWrap.MIRRORED_REPEAT}},TextureWrap$1=Object.freeze(TextureWrap);function Sampler(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.wrapS,TextureWrap$1.CLAMP_TO_EDGE),i=defaultValue(e.wrapT,TextureWrap$1.CLAMP_TO_EDGE),r=defaultValue(e.minificationFilter,TextureMinificationFilter$1.LINEAR),n=defaultValue(e.magnificationFilter,TextureMagnificationFilter$1.LINEAR),e=defined(e.maximumAnisotropy)?e.maximumAnisotropy:1;this._wrapS=t,this._wrapT=i,this._minificationFilter=r,this._magnificationFilter=n,this._maximumAnisotropy=e}function CubeMap(e){var o,s=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context,t=e.source;defined(t)?(p=[t.positiveX,t.negativeX,t.positiveY,t.negativeY,t.positiveZ,t.negativeZ],o=p[0].width,p[0].height):(o=e.width,e.height);var l=o,c=defaultValue(e.pixelDatatype,PixelDatatype$1.UNSIGNED_BYTE),u=defaultValue(e.pixelFormat,PixelFormat$1.RGBA),d=PixelFormat$1.toInternalFormat(u,c,s),i=6*PixelFormat$1.textureSizeInBytes(u,c,l,l),r=e.preMultiplyAlpha||u===PixelFormat$1.RGB||u===PixelFormat$1.LUMINANCE,n=defaultValue(e.flipY,!0),h=s._gl,a=h.TEXTURE_CUBE_MAP,p=h.createTexture();function m(e,t,i,r){var n=t.arrayBufferView;defined(n)||(n=t.bufferView);var a=4;defined(n)&&(a=PixelFormat$1.alignmentInBytes(u,c,o)),h.pixelStorei(h.UNPACK_ALIGNMENT,a),defined(n)?(h.pixelStorei(h.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,!1),r&&(n=PixelFormat$1.flipY(n,u,c,l,l)),h.texImage2D(e,0,d,l,l,0,u,PixelDatatype$1.toWebGLConstant(c,s),n)):(h.pixelStorei(h.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i),h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,r),h.texImage2D(e,0,d,u,PixelDatatype$1.toWebGLConstant(c,s),t))}h.activeTexture(h.TEXTURE0),h.bindTexture(a,p),defined(t)?(m(h.TEXTURE_CUBE_MAP_POSITIVE_X,t.positiveX,r,n),m(h.TEXTURE_CUBE_MAP_NEGATIVE_X,t.negativeX,r,n),m(h.TEXTURE_CUBE_MAP_POSITIVE_Y,t.positiveY,r,n),m(h.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.negativeY,r,n),m(h.TEXTURE_CUBE_MAP_POSITIVE_Z,t.positiveZ,r,n),m(h.TEXTURE_CUBE_MAP_NEGATIVE_Z,t.negativeZ,r,n)):(h.texImage2D(h.TEXTURE_CUBE_MAP_POSITIVE_X,0,d,l,l,0,u,PixelDatatype$1.toWebGLConstant(c,s),null),h.texImage2D(h.TEXTURE_CUBE_MAP_NEGATIVE_X,0,d,l,l,0,u,PixelDatatype$1.toWebGLConstant(c,s),null),h.texImage2D(h.TEXTURE_CUBE_MAP_POSITIVE_Y,0,d,l,l,0,u,PixelDatatype$1.toWebGLConstant(c,s),null),h.texImage2D(h.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,d,l,l,0,u,PixelDatatype$1.toWebGLConstant(c,s),null),h.texImage2D(h.TEXTURE_CUBE_MAP_POSITIVE_Z,0,d,l,l,0,u,PixelDatatype$1.toWebGLConstant(c,s),null),h.texImage2D(h.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,d,l,l,0,u,PixelDatatype$1.toWebGLConstant(c,s),null)),h.bindTexture(a,null),this._context=s,this._textureFilterAnisotropic=s._textureFilterAnisotropic,this._textureTarget=a,this._texture=p,this._pixelFormat=u,this._pixelDatatype=c,this._size=l,this._hasMipmap=!1,this._sizeInBytes=i,this._preMultiplyAlpha=r,this._flipY=n,this._sampler=void 0;t=defined(t);this._positiveX=new CubeMapFace(s,p,a,h.TEXTURE_CUBE_MAP_POSITIVE_X,d,u,c,l,r,n,t),this._negativeX=new CubeMapFace(s,p,a,h.TEXTURE_CUBE_MAP_NEGATIVE_X,d,u,c,l,r,n,t),this._positiveY=new CubeMapFace(s,p,a,h.TEXTURE_CUBE_MAP_POSITIVE_Y,d,u,c,l,r,n,t),this._negativeY=new CubeMapFace(s,p,a,h.TEXTURE_CUBE_MAP_NEGATIVE_Y,d,u,c,l,r,n,t),this._positiveZ=new CubeMapFace(s,p,a,h.TEXTURE_CUBE_MAP_POSITIVE_Z,d,u,c,l,r,n,t),this._negativeZ=new CubeMapFace(s,p,a,h.TEXTURE_CUBE_MAP_NEGATIVE_Z,d,u,c,l,r,n,t),this.sampler=defined(e.sampler)?e.sampler:new Sampler}function Texture(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context,i=e.width,r=e.height,n=e.source;defined(n)&&(defined(i)||(i=defaultValue(n.videoWidth,n.width)),defined(r)||(r=defaultValue(n.videoHeight,n.height)));var a=defaultValue(e.pixelFormat,PixelFormat$1.RGBA),o=defaultValue(e.pixelDatatype,PixelDatatype$1.UNSIGNED_BYTE),s=PixelFormat$1.toInternalFormat(a,o,t),l=PixelFormat$1.isCompressedFormat(s),c=e.preMultiplyAlpha||a===PixelFormat$1.RGB||a===PixelFormat$1.LUMINANCE,u=defaultValue(e.flipY,!0),d=!0,h=t._gl,p=h.TEXTURE_2D,m=h.createTexture();h.activeTexture(h.TEXTURE0),h.bindTexture(p,m);var f=4;if(defined(n)&&defined(n.arrayBufferView)&&!l&&(f=PixelFormat$1.alignmentInBytes(a,o,i)),h.pixelStorei(h.UNPACK_ALIGNMENT,f),defined(n))if(defined(n.arrayBufferView)){h.pixelStorei(h.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,!1);f=n.arrayBufferView;if(l)h.compressedTexImage2D(p,0,s,i,r,0,f);else if(u&&(f=PixelFormat$1.flipY(f,a,o,i,r)),h.texImage2D(p,0,s,i,r,0,a,PixelDatatype$1.toWebGLConstant(o,t),f),defined(n.mipLevels))for(var g=i,_=r,y=0;y<n.mipLevels.length;++y)(g=0|Math.floor(g/2))<1&&(g=1),(_=0|Math.floor(_/2))<1&&(_=1),h.texImage2D(p,y+1,s,g,_,0,a,PixelDatatype$1.toWebGLConstant(o,t),n.mipLevels[y])}else defined(n.framebuffer)?(h.pixelStorei(h.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,!1),n.framebuffer!==t.defaultFramebuffer&&n.framebuffer._bind(),h.copyTexImage2D(p,0,s,n.xOffset,n.yOffset,i,r,0),n.framebuffer!==t.defaultFramebuffer&&n.framebuffer._unBind()):(h.pixelStorei(h.UNPACK_PREMULTIPLY_ALPHA_WEBGL,c),h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,u),h.texImage2D(p,0,s,a,PixelDatatype$1.toWebGLConstant(o,t),n));else h.texImage2D(p,0,s,i,r,0,a,PixelDatatype$1.toWebGLConstant(o,t),null),d=!1;h.bindTexture(p,null),l=l?PixelFormat$1.compressedTextureSizeInBytes(a,i,r):PixelFormat$1.textureSizeInBytes(a,o,i,r),this._id=createGuid(),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=p,this._texture=m,this._internalFormat=s,this._pixelFormat=a,this._pixelDatatype=o,this._width=i,this._height=r,this._dimensions=new Cartesian2(i,r),this._hasMipmap=!1,this._sizeInBytes=l,this._preMultiplyAlpha=c,this._flipY=u,this._initialized=d,this._sampler=void 0,this.sampler=defined(e.sampler)?e.sampler:new Sampler}Object.defineProperties(Sampler.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}}),Sampler.equals=function(e,t){return e===t||defined(e)&&defined(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy},Sampler.NEAREST=Object.freeze(new Sampler({wrapS:TextureWrap$1.CLAMP_TO_EDGE,wrapT:TextureWrap$1.CLAMP_TO_EDGE,minificationFilter:TextureMinificationFilter$1.NEAREST,magnificationFilter:TextureMagnificationFilter$1.NEAREST})),Object.defineProperties(CubeMap.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){var t=e.minificationFilter,i=e.magnificationFilter,r=t===TextureMinificationFilter$1.NEAREST_MIPMAP_NEAREST||t===TextureMinificationFilter$1.NEAREST_MIPMAP_LINEAR||t===TextureMinificationFilter$1.LINEAR_MIPMAP_NEAREST||t===TextureMinificationFilter$1.LINEAR_MIPMAP_LINEAR,n=this._context,a=this._pixelDatatype;(a===PixelDatatype$1.FLOAT&&!n.textureFloatLinear||a===PixelDatatype$1.HALF_FLOAT&&!n.textureHalfFloatLinear)&&(t=r?TextureMinificationFilter$1.NEAREST_MIPMAP_NEAREST:TextureMinificationFilter$1.NEAREST,i=TextureMagnificationFilter$1.NEAREST);r=n._gl,n=this._textureTarget;r.activeTexture(r.TEXTURE0),r.bindTexture(n,this._texture),r.texParameteri(n,r.TEXTURE_MIN_FILTER,t),r.texParameteri(n,r.TEXTURE_MAG_FILTER,i),r.texParameteri(n,r.TEXTURE_WRAP_S,e.wrapS),r.texParameteri(n,r.TEXTURE_WRAP_T,e.wrapT),defined(this._textureFilterAnisotropic)&&r.texParameteri(n,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),r.bindTexture(n,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(4*this._sizeInBytes/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}}),CubeMap.prototype.generateMipmap=function(e){e=defaultValue(e,MipmapHint$1.DONT_CARE),this._hasMipmap=!0;var t=this._context._gl,i=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(i,this._texture),t.generateMipmap(i),t.bindTexture(i,null)},CubeMap.prototype.isDestroyed=function(){return!1},CubeMap.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=destroyObject(this._positiveX),this._negativeX=destroyObject(this._negativeX),this._positiveY=destroyObject(this._positiveY),this._negativeY=destroyObject(this._negativeY),this._positiveZ=destroyObject(this._positiveZ),this._negativeZ=destroyObject(this._negativeZ),destroyObject(this)},Texture.create=function(e){return new Texture(e)},Texture.fromFramebuffer=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context,i=t._gl,r=defaultValue(e.pixelFormat,PixelFormat$1.RGB),n=defaultValue(e.framebufferXOffset,0),a=defaultValue(e.framebufferYOffset,0),o=defaultValue(e.width,i.drawingBufferWidth),i=defaultValue(e.height,i.drawingBufferHeight),e=e.framebuffer;return new Texture({context:t,width:o,height:i,pixelFormat:r,source:{framebuffer:defined(e)?e:t.defaultFramebuffer,xOffset:n,yOffset:a,width:o,height:i}})},Object.defineProperties(Texture.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(e){var t=e.minificationFilter,i=e.magnificationFilter,r=this._context,n=this._pixelFormat,a=this._pixelDatatype,o=t===TextureMinificationFilter$1.NEAREST_MIPMAP_NEAREST||t===TextureMinificationFilter$1.NEAREST_MIPMAP_LINEAR||t===TextureMinificationFilter$1.LINEAR_MIPMAP_NEAREST||t===TextureMinificationFilter$1.LINEAR_MIPMAP_LINEAR;(a===PixelDatatype$1.FLOAT&&!r.textureFloatLinear||a===PixelDatatype$1.HALF_FLOAT&&!r.textureHalfFloatLinear)&&(t=o?TextureMinificationFilter$1.NEAREST_MIPMAP_NEAREST:TextureMinificationFilter$1.NEAREST,i=TextureMagnificationFilter$1.NEAREST),r.webgl2&&PixelFormat$1.isDepthFormat(n)&&(t=TextureMinificationFilter$1.NEAREST,i=TextureMagnificationFilter$1.NEAREST);n=r._gl,r=this._textureTarget;n.activeTexture(n.TEXTURE0),n.bindTexture(r,this._texture),n.texParameteri(r,n.TEXTURE_MIN_FILTER,t),n.texParameteri(r,n.TEXTURE_MAG_FILTER,i),n.texParameteri(r,n.TEXTURE_WRAP_S,e.wrapS),n.texParameteri(r,n.TEXTURE_WRAP_T,e.wrapT),defined(this._textureFilterAnisotropic)&&n.texParameteri(r,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),n.bindTexture(r,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},dimensions:{get:function(){return this._dimensions}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(4*this._sizeInBytes/3):this._sizeInBytes}},_target:{get:function(){return this._textureTarget}}}),Texture.prototype.copyFrom=function(e,t,i){t=defaultValue(t,0),i=defaultValue(i,0);var r=this._context,n=r._gl,a=this._textureTarget;n.activeTexture(n.TEXTURE0),n.bindTexture(a,this._texture);var o=e.width,s=e.height,l=e.arrayBufferView,c=this._width,u=this._height,d=this._internalFormat,h=this._pixelFormat,p=this._pixelDatatype,m=this._preMultiplyAlpha,f=this._flipY,g=4;defined(l)&&(g=PixelFormat$1.alignmentInBytes(h,p,o)),n.pixelStorei(n.UNPACK_ALIGNMENT,g);var _=!1;this._initialized||(0===t&&0===i&&o===c&&s===u?(defined(l)?(n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),f&&(l=PixelFormat$1.flipY(l,h,p,c,u)),n.texImage2D(a,0,d,c,u,0,h,PixelDatatype$1.toWebGLConstant(p,r),l)):(n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,f),n.texImage2D(a,0,d,h,PixelDatatype$1.toWebGLConstant(p,r),e)),_=!0):(n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),g=PixelFormat$1.createTypedArray(h,p,c,u),n.texImage2D(a,0,d,c,u,0,h,PixelDatatype$1.toWebGLConstant(p,r),g)),this._initialized=!0),_||(defined(l)?(n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),f&&(l=PixelFormat$1.flipY(l,h,p,o,s)),n.texSubImage2D(a,0,t,i,o,s,h,PixelDatatype$1.toWebGLConstant(p,r),l)):(n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,f),n.texSubImage2D(a,0,t,i,h,PixelDatatype$1.toWebGLConstant(p,r),e))),n.bindTexture(a,null)},Texture.prototype.copyFromFramebuffer=function(e,t,i,r,n,a){e=defaultValue(e,0),t=defaultValue(t,0),i=defaultValue(i,0),r=defaultValue(r,0),n=defaultValue(n,this._width),a=defaultValue(a,this._height);var o=this._context._gl,s=this._textureTarget;o.activeTexture(o.TEXTURE0),o.bindTexture(s,this._texture),o.copyTexSubImage2D(s,0,e,t,i,r,n,a),o.bindTexture(s,null),this._initialized=!0},Texture.prototype.generateMipmap=function(e){e=defaultValue(e,MipmapHint$1.DONT_CARE),this._hasMipmap=!0;var t=this._context._gl,i=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(i,this._texture),t.generateMipmap(i),t.bindTexture(i,null)},Texture.prototype.isDestroyed=function(){return!1},Texture.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),destroyObject(this)};var AspectRampMaterial="uniform sampler2D image;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec4 rampColor = texture2D(image, vec2(materialInput.aspect / (2.0 * czm_pi), 0.5));\nrampColor = czm_gammaCorrect(rampColor);\nmaterial.diffuse = rampColor.rgb;\nmaterial.alpha = rampColor.a;\nreturn material;\n}\n",BumpMapMaterial="uniform sampler2D image;\nuniform float strength;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nvec2 centerPixel = fract(repeat * st);\nfloat centerBump = texture2D(image, centerPixel).channel;\nfloat imageWidth = float(imageDimensions.x);\nvec2 rightPixel = fract(repeat * (st + vec2(1.0 / imageWidth, 0.0)));\nfloat rightBump = texture2D(image, rightPixel).channel;\nfloat imageHeight = float(imageDimensions.y);\nvec2 leftPixel = fract(repeat * (st + vec2(0.0, 1.0 / imageHeight)));\nfloat topBump = texture2D(image, leftPixel).channel;\nvec3 normalTangentSpace = normalize(vec3(centerBump - rightBump, centerBump - topBump, clamp(1.0 - strength, 0.1, 1.0)));\nvec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;\nmaterial.normal = normalEC;\nmaterial.diffuse = vec3(0.01);\nreturn material;\n}\n",CheckerboardMaterial="uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat b = mod(floor(repeat.s * st.s) + floor(repeat.t * st.t), 2.0);\nfloat scaledWidth = fract(repeat.s * st.s);\nscaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));\nfloat scaledHeight = fract(repeat.t * st.t);\nscaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));\nfloat value = min(scaledWidth, scaledHeight);\nvec4 currentColor = mix(lightColor, darkColor, b);\nvec4 color = czm_antialias(lightColor, darkColor, currentColor, value, 0.03);\ncolor = czm_gammaCorrect(color);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n",DotMaterial="uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat b = smoothstep(0.3, 0.32, length(fract(repeat * materialInput.st) - 0.5));\nvec4 color = mix(lightColor, darkColor, b);\ncolor = czm_gammaCorrect(color);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n",ElevationContourMaterial="#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\nuniform vec4 color;\nuniform float spacing;\nuniform float width;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat distanceToContour = mod(materialInput.height, spacing);\n#ifdef GL_OES_standard_derivatives\nfloat dxc = abs(dFdx(materialInput.height));\nfloat dyc = abs(dFdy(materialInput.height));\nfloat dF = max(dxc, dyc) * czm_pixelRatio * width;\nfloat alpha = (distanceToContour < dF) ? 1.0 : 0.0;\n#else\nfloat alpha = (distanceToContour < (czm_pixelRatio * width)) ? 1.0 : 0.0;\n#endif\nvec4 outColor = czm_gammaCorrect(vec4(color.rgb, alpha * color.a));\nmaterial.diffuse = outColor.rgb;\nmaterial.alpha = outColor.a;\nreturn material;\n}\n",ElevationRampMaterial="uniform sampler2D image;\nuniform float minimumHeight;\nuniform float maximumHeight;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat scaledHeight = clamp((materialInput.height - minimumHeight) / (maximumHeight - minimumHeight), 0.0, 1.0);\nvec4 rampColor = texture2D(image, vec2(scaledHeight, 0.5));\nrampColor = czm_gammaCorrect(rampColor);\nmaterial.diffuse = rampColor.rgb;\nmaterial.alpha = rampColor.a;\nreturn material;\n}\n",FadeMaterial="uniform vec4 fadeInColor;\nuniform vec4 fadeOutColor;\nuniform float maximumDistance;\nuniform bool repeat;\nuniform vec2 fadeDirection;\nuniform vec2 time;\nfloat getTime(float t, float coord)\n{\nfloat scalar = 1.0 / maximumDistance;\nfloat q = distance(t, coord) * scalar;\nif (repeat)\n{\nfloat r = distance(t, coord + 1.0) * scalar;\nfloat s = distance(t, coord - 1.0) * scalar;\nq = min(min(r, s), q);\n}\nreturn clamp(q, 0.0, 1.0);\n}\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat s = getTime(time.x, st.s) * fadeDirection.s;\nfloat t = getTime(time.y, st.t) * fadeDirection.t;\nfloat u = length(vec2(s, t));\nvec4 color = mix(fadeInColor, fadeOutColor, u);\ncolor = czm_gammaCorrect(color);\nmaterial.emission = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n",GridMaterial="#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\nuniform vec4 color;\nuniform float cellAlpha;\nuniform vec2 lineCount;\nuniform vec2 lineThickness;\nuniform vec2 lineOffset;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat scaledWidth = fract(lineCount.s * st.s - lineOffset.s);\nscaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));\nfloat scaledHeight = fract(lineCount.t * st.t - lineOffset.t);\nscaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));\nfloat value;\n#ifdef GL_OES_standard_derivatives\nconst float fuzz = 1.2;\nvec2 thickness = (lineThickness * czm_pixelRatio) - 1.0;\nvec2 dx = abs(dFdx(st));\nvec2 dy = abs(dFdy(st));\nvec2 dF = vec2(max(dx.s, dy.s), max(dx.t, dy.t)) * lineCount;\nvalue = min(\nsmoothstep(dF.s * thickness.s, dF.s * (fuzz + thickness.s), scaledWidth),\nsmoothstep(dF.t * thickness.t, dF.t * (fuzz + thickness.t), scaledHeight));\n#else\nconst float fuzz = 0.05;\nvec2 range = 0.5 - (lineThickness * 0.05);\nvalue = min(\n1.0 - smoothstep(range.s, range.s + fuzz, scaledWidth),\n1.0 - smoothstep(range.t, range.t + fuzz, scaledHeight));\n#endif\nfloat dRim = 1.0 - abs(dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC)));\nfloat sRim = smoothstep(0.8, 1.0, dRim);\nvalue *= (1.0 - sRim);\nvec4 halfColor;\nhalfColor.rgb = color.rgb * 0.5;\nhalfColor.a = color.a * (1.0 - ((1.0 - cellAlpha) * value));\nhalfColor = czm_gammaCorrect(halfColor);\nmaterial.diffuse = halfColor.rgb;\nmaterial.emission = halfColor.rgb;\nmaterial.alpha = halfColor.a;\nreturn material;\n}\n",NormalMapMaterial="uniform sampler2D image;\nuniform float strength;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec4 textureValue = texture2D(image, fract(repeat * materialInput.st));\nvec3 normalTangentSpace = textureValue.channels;\nnormalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0;\nnormalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0);\nnormalTangentSpace = normalize(normalTangentSpace);\nvec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;\nmaterial.normal = normalEC;\nreturn material;\n}\n",PolylineArrowMaterial="#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\nuniform vec4 color;\nfloat getPointOnLine(vec2 p0, vec2 p1, float x)\n{\nfloat slope = (p0.y - p1.y) / (p0.x - p1.x);\nreturn slope * (x - p0.x) + p0.y;\n}\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\n#ifdef GL_OES_standard_derivatives\nfloat base = 1.0 - abs(fwidth(st.s)) * 10.0 * czm_pixelRatio;\n#else\nfloat base = 0.975;\n#endif\nvec2 center = vec2(1.0, 0.5);\nfloat ptOnUpperLine = getPointOnLine(vec2(base, 1.0), center, st.s);\nfloat ptOnLowerLine = getPointOnLine(vec2(base, 0.0), center, st.s);\nfloat halfWidth = 0.15;\nfloat s = step(0.5 - halfWidth, st.t);\ns *= 1.0 - step(0.5 + halfWidth, st.t);\ns *= 1.0 - step(base, st.s);\nfloat t = step(base, materialInput.st.s);\nt *= 1.0 - step(ptOnUpperLine, st.t);\nt *= step(ptOnLowerLine, st.t);\nfloat dist;\nif (st.s < base)\n{\nfloat d1 = abs(st.t - (0.5 - halfWidth));\nfloat d2 = abs(st.t - (0.5 + halfWidth));\ndist = min(d1, d2);\n}\nelse\n{\nfloat d1 = czm_infinity;\nif (st.t < 0.5 - halfWidth && st.t > 0.5 + halfWidth)\n{\nd1 = abs(st.s - base);\n}\nfloat d2 = abs(st.t - ptOnUpperLine);\nfloat d3 = abs(st.t - ptOnLowerLine);\ndist = min(min(d1, d2), d3);\n}\nvec4 outsideColor = vec4(0.0);\nvec4 currentColor = mix(outsideColor, color, clamp(s + t, 0.0, 1.0));\nvec4 outColor = czm_antialias(outsideColor, color, currentColor, dist);\noutColor = czm_gammaCorrect(outColor);\nmaterial.diffuse = outColor.rgb;\nmaterial.alpha = outColor.a;\nreturn material;\n}\n",PolylineDashMaterial="uniform vec4 color;\nuniform vec4 gapColor;\nuniform float dashLength;\nuniform float dashPattern;\nvarying float v_polylineAngle;\nconst float maskLength = 16.0;\nmat2 rotate(float rad) {\nfloat c = cos(rad);\nfloat s = sin(rad);\nreturn mat2(\nc, s,\n-s, c\n);\n}\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 pos = rotate(v_polylineAngle) * gl_FragCoord.xy;\nfloat dashPosition = fract(pos.x / (dashLength * czm_pixelRatio));\nfloat maskIndex = floor(dashPosition * maskLength);\nfloat maskTest = floor(dashPattern / pow(2.0, maskIndex));\nvec4 fragColor = (mod(maskTest, 2.0) < 1.0) ? gapColor : color;\nif (fragColor.a < 0.005) {\ndiscard;\n}\nfragColor = czm_gammaCorrect(fragColor);\nmaterial.emission = fragColor.rgb;\nmaterial.alpha = fragColor.a;\nreturn material;\n}\n",PolylineGlowMaterial="uniform vec4 color;\nuniform float glowPower;\nuniform float taperPower;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat glow = glowPower / abs(st.t - 0.5) - (glowPower / 0.5);\nif (taperPower <= 0.99999) {\nglow *= min(1.0, taperPower / (0.5 - st.s * 0.5) - (taperPower / 0.5));\n}\nvec4 fragColor;\nfragColor.rgb = max(vec3(glow - 1.0 + color.rgb), color.rgb);\nfragColor.a = clamp(0.0, 1.0, glow) * color.a;\nfragColor = czm_gammaCorrect(fragColor);\nmaterial.emission = fragColor.rgb;\nmaterial.alpha = fragColor.a;\nreturn material;\n}\n",PolylineOutlineMaterial="uniform vec4 color;\nuniform vec4 outlineColor;\nuniform float outlineWidth;\nvarying float v_width;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat halfInteriorWidth = 0.5 * (v_width - outlineWidth) / v_width;\nfloat b = step(0.5 - halfInteriorWidth, st.t);\nb *= 1.0 - step(0.5 + halfInteriorWidth, st.t);\nfloat d1 = abs(st.t - (0.5 - halfInteriorWidth));\nfloat d2 = abs(st.t - (0.5 + halfInteriorWidth));\nfloat dist = min(d1, d2);\nvec4 currentColor = mix(outlineColor, color, b);\nvec4 outColor = czm_antialias(outlineColor, color, currentColor, dist);\noutColor = czm_gammaCorrect(outColor);\nmaterial.diffuse = outColor.rgb;\nmaterial.alpha = outColor.a;\nreturn material;\n}\n",RimLightingMaterial="uniform vec4 color;\nuniform vec4 rimColor;\nuniform float width;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat d = 1.0 - dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC));\nfloat s = smoothstep(1.0 - width, 1.0, d);\nvec4 outColor = czm_gammaCorrect(color);\nvec4 outRimColor = czm_gammaCorrect(rimColor);\nmaterial.diffuse = outColor.rgb;\nmaterial.emission = outRimColor.rgb * s;\nmaterial.alpha = mix(outColor.a, outRimColor.a, s);\nreturn material;\n}\n",SlopeRampMaterial="uniform sampler2D image;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec4 rampColor = texture2D(image, vec2(materialInput.slope / (czm_pi / 2.0), 0.5));\nrampColor = czm_gammaCorrect(rampColor);\nmaterial.diffuse = rampColor.rgb;\nmaterial.alpha = rampColor.a;\nreturn material;\n}\n",StripeMaterial="uniform vec4 evenColor;\nuniform vec4 oddColor;\nuniform float offset;\nuniform float repeat;\nuniform bool horizontal;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat coord = mix(materialInput.st.s, materialInput.st.t, float(horizontal));\nfloat value = fract((coord - offset) * (repeat * 0.5));\nfloat dist = min(value, min(abs(value - 0.5), 1.0 - value));\nvec4 currentColor = mix(evenColor, oddColor, step(0.5, value));\nvec4 color = czm_antialias(evenColor, oddColor, currentColor, dist);\ncolor = czm_gammaCorrect(color);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n",WaterMaterial="uniform sampler2D specularMap;\nuniform sampler2D normalMap;\nuniform vec4 baseWaterColor;\nuniform vec4 blendColor;\nuniform float frequency;\nuniform float animationSpeed;\nuniform float amplitude;\nuniform float specularIntensity;\nuniform float fadeFactor;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat time = czm_frameNumber * animationSpeed;\nfloat fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor);\nfloat specularMapValue = texture2D(specularMap, materialInput.st).r;\nvec4 noise = czm_getWaterNoise(normalMap, materialInput.st * frequency, time, 0.0);\nvec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude));\nnormalTangentSpace.xy /= fade;\nnormalTangentSpace = mix(vec3(0.0, 0.0, 50.0), normalTangentSpace, specularMapValue);\nnormalTangentSpace = normalize(normalTangentSpace);\nfloat tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0);\nmaterial.alpha = mix(blendColor.a, baseWaterColor.a, specularMapValue) * specularMapValue;\nmaterial.diffuse = mix(blendColor.rgb, baseWaterColor.rgb, specularMapValue);\nmaterial.diffuse += (0.1 * tsPerturbationRatio);\nmaterial.diffuse = material.diffuse;\nmaterial.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace);\nmaterial.specular = specularIntensity;\nmaterial.shininess = 10.0;\nreturn material;\n}\n";function Material(e){this.type=void 0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=defaultValue(e.minificationFilter,TextureMinificationFilter$1.LINEAR),this._magnificationFilter=defaultValue(e.magnificationFilter,TextureMagnificationFilter$1.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,initializeMaterial(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),defined(Material._uniformList[this.type])||(Material._uniformList[this.type]=Object.keys(this._uniforms))}function initializeMaterial(e,t){e=defaultValue(e,defaultValue.EMPTY_OBJECT),t._strict=defaultValue(e.strict,!1),t._count=defaultValue(e.count,0),t._template=clone(defaultValue(e.fabric,defaultValue.EMPTY_OBJECT)),t._template.uniforms=clone(defaultValue(t._template.uniforms,defaultValue.EMPTY_OBJECT)),t._template.materials=clone(defaultValue(t._template.materials,defaultValue.EMPTY_OBJECT)),t.type=defined(t._template.type)?t._template.type:createGuid(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];var i,r=Material._materialCache.getMaterial(t.type);defined(r)&&(i=clone(r.fabric,!0),t._template=combine(t._template,i,!0),n=r.translucent),checkForTemplateErrors(t),defined(r)||Material._materialCache.addMaterial(t.type,t),createMethodDefinition(t),createUniforms(t),createSubMaterials(t);var r=0===t._translucentFunctions.length||void 0,n=defaultValue(n,r);defined(n=defaultValue(e.translucent,n))&&("function"==typeof n?t._translucentFunctions.push(function(){return n(t)}):t._translucentFunctions.push(n))}function checkForValidProperties(e,t,i,r){if(defined(e))for(var n in e){var a;e.hasOwnProperty(n)&&(a=-1!==t.indexOf(n),(r&&!a||!r&&a)&&i(n,t))}}function invalidNameError(e,t){}function duplicateNameError(e,t){}Material._uniformList={},Material.fromType=function(e,t){var i=new Material({fabric:{type:e}});if(defined(t))for(var r in t)t.hasOwnProperty(r)&&(i.uniforms[r]=t[r]);return i},Material.prototype.isTranslucent=function(){if(defined(this.translucent))return"function"==typeof this.translucent?this.translucent():this.translucent;for(var e=!0,t=this._translucentFunctions,i=t.length,r=0;r<i;++r){var n=t[r];if(!(e="function"==typeof n?e&&n():e&&n))break}return e},Material.prototype.update=function(e){for(var t=this._loadedImages,i=t.length,r=0;r<i;++r){var n=t[r],a=n.id,o=n.image,n=new Sampler({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter}),o=defined(o.internalFormat)?new Texture({context:e,pixelFormat:o.internalFormat,width:o.width,height:o.height,source:{arrayBufferView:o.bufferView},sampler:n}):new Texture({context:e,source:o,sampler:n});this._textures[a]=o;n=a+"Dimensions";this.uniforms.hasOwnProperty(n)&&((n=this.uniforms[n]).x=o._width,n.y=o._height)}t.length=0;var s=this._loadedCubeMaps,i=s.length;for(r=0;r<i;++r){var l=s[r];a=l.id;l=l.images,l=new CubeMap({context:e,source:{positiveX:l[0],negativeX:l[1],positiveY:l[2],negativeY:l[3],positiveZ:l[4],negativeZ:l[5]},sampler:new Sampler({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter})});this._textures[a]=l}s.length=0;var c=this._updateFunctions;for(i=c.length,r=0;r<i;++r)c[r](this,e);var u,d=this.materials;for(u in d)d.hasOwnProperty(u)&&d[u].update(e)},Material.prototype.isDestroyed=function(){return!1},Material.prototype.destroy=function(){var e,t,i=this._textures;for(e in i)!i.hasOwnProperty(e)||(t=i[e])!==this._defaultTexture&&t.destroy();var r,n=this.materials;for(r in n)n.hasOwnProperty(r)&&n[r].destroy();return destroyObject(this)};var templateProperties=["type","materials","uniforms","components","source"],componentProperties=["diffuse","specular","shininess","normal","emission","alpha"];function checkForTemplateErrors(e){var t=e._template,i=t.uniforms,r=t.materials,e=t.components;checkForValidProperties(t,templateProperties,invalidNameError,!0),checkForValidProperties(e,componentProperties,invalidNameError,!0);var n,a=[];for(n in r)r.hasOwnProperty(n)&&a.push(n);checkForValidProperties(i,a,duplicateNameError,!1)}function isMaterialFused(e,t){var i,r=t._template.materials;for(i in r)if(r.hasOwnProperty(i)&&-1<e.indexOf(i))return!0;return!1}function createMethodDefinition(e){var t=e._template.components,i=e._template.source;if(defined(i))e.shaderSource+=i+"\n";else{if(e.shaderSource+="czm_material czm_getMaterial(czm_materialInput materialInput)\n{\n",e.shaderSource+="czm_material material = czm_getDefaultMaterial(materialInput);\n",defined(t)){var r,n,a=0<Object.keys(e._template.materials).length;for(r in t)t.hasOwnProperty(r)&&("diffuse"===r||"emission"===r?(n=a&&isMaterialFused(t[r],e)?t[r]:"czm_gammaCorrect("+t[r]+")",e.shaderSource+="material."+r+" = "+n+"; \n"):e.shaderSource+="alpha"===r?"material.alpha = "+t.alpha+"; \n":"material."+r+" = "+t[r]+";\n")}e.shaderSource+="return material;\n}\n"}}var matrixMap={mat2:Matrix2,mat3:Matrix3,mat4:Matrix4},ktxRegex=/\.ktx$/i,crnRegex=/\.crn$/i;function createTexture2DUpdateFunction(l){var c;return function(t,e){var i=t.uniforms,r=i[l],n=c!==r;c=r;var a,o=t._textures[l];if(r instanceof HTMLVideoElement)if(2<=r.readyState){if(n&&defined(o)&&(o!==e.defaultTexture&&o.destroy(),o=void 0),!defined(o)||o===e.defaultTexture){var o=new Texture({context:e,source:r,sampler:new Sampler({minificationFilter:t._minificationFilter,magnificationFilter:t._magnificationFilter})});return void(t._textures[l]=o)}o.copyFrom(r)}else defined(o)||(t._textures[l]=e.defaultTexture);else{if(r instanceof Texture&&r!==o){t._texturePaths[l]=void 0;var s=t._textures[l];return s!==t._defaultTexture&&s.destroy(),t._textures[l]=r,s=l+"Dimensions",void(i.hasOwnProperty(s)&&((a=i[s]).x=r._width,a.y=r._height))}defined(o)||(t._texturePaths[l]=void 0,defined(t._defaultTexture)||(t._defaultTexture=e.defaultTexture),o=t._textures[l]=t._defaultTexture,s=l+"Dimensions",i.hasOwnProperty(s)&&((a=i[s]).x=o._width,a.y=o._height)),r!==Material.DefaultImageId&&(o=r instanceof Resource,(!defined(t._texturePaths[l])||o&&r.url!==t._texturePaths[l].url||!o&&r!==t._texturePaths[l])&&("string"==typeof r||o?(o=o?r:Resource.createIfNeeded(r),when(ktxRegex.test(o.url)?loadKTX(o):crnRegex.test(o.url)?loadCRN(o):o.fetchImage(),function(e){t._loadedImages.push({id:l,image:e})})):(r instanceof HTMLCanvasElement||r instanceof HTMLImageElement)&&t._loadedImages.push({id:l,image:r}),t._texturePaths[l]=r))}}}function createCubeMapUpdateFunction(n){return function(t,e){var i=t.uniforms[n];if(i instanceof CubeMap){var r=t._textures[n];return r!==t._defaultTexture&&r.destroy(),t._texturePaths[n]=void 0,void(t._textures[n]=i)}defined(t._textures[n])||(t._texturePaths[n]=void 0,t._textures[n]=e.defaultCubeMap),i===Material.DefaultCubeMapId||(e=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ)!==t._texturePaths[n]&&(i=[Resource.createIfNeeded(i.positiveX).fetchImage(),Resource.createIfNeeded(i.negativeX).fetchImage(),Resource.createIfNeeded(i.positiveY).fetchImage(),Resource.createIfNeeded(i.negativeY).fetchImage(),Resource.createIfNeeded(i.positiveZ).fetchImage(),Resource.createIfNeeded(i.negativeZ).fetchImage()],when.all(i).then(function(e){t._loadedCubeMaps.push({id:n,images:e})}),t._texturePaths[n]=e)}}function createUniforms(e){var t,i=e._template.uniforms;for(t in i)i.hasOwnProperty(t)&&createUniform(e,t)}function createUniform(e,t){e._strict;var i,r,n,a=e._template.uniforms,o=a[t],s=getUniformType(o);"channels"===s?replaceToken(e,t,o,!1):("sampler2D"!==s||0<getNumberOfTokens(e,i=t+"Dimensions")&&(a[i]={type:"ivec3",x:1,y:1},createUniform(e,i)),new RegExp("uniform\\s+"+s+"\\s+"+t+"\\s*;").test(e.shaderSource)||(r="uniform "+s+" "+t+";",e.shaderSource=r+e.shaderSource),r=t+"_"+e._count++,replaceToken(e,t,r),e.uniforms[t]=o,"sampler2D"===s?(e._uniforms[r]=function(){return e._textures[t]},e._updateFunctions.push(createTexture2DUpdateFunction(t))):"samplerCube"===s?(e._uniforms[r]=function(){return e._textures[t]},e._updateFunctions.push(createCubeMapUpdateFunction(t))):-1!==s.indexOf("mat")?(n=new matrixMap[s],e._uniforms[r]=function(){return matrixMap[s].fromColumnMajorArray(e.uniforms[t],n)}):e._uniforms[r]=function(){return e.uniforms[t]})}function getUniformType(e){var t=e.type;if(!defined(t)){var i=typeof e;if("number"==i)t="float";else if("boolean"==i)t="bool";else if("string"==i||e instanceof Resource||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement)t=/^([rgba]){1,4}$/i.test(e)?"channels":e===Material.DefaultCubeMapId?"samplerCube":"sampler2D";else if("object"==i)if(Array.isArray(e))4!==e.length&&9!==e.length&&16!==e.length||(t="mat"+Math.sqrt(e.length));else{var r,n=0;for(r in e)e.hasOwnProperty(r)&&(n+=1);2<=n&&n<=4?t="vec"+n:6===n&&(t="samplerCube")}}return t}function createSubMaterials(e){var t,i,r,n=e._strict,a=e._template.materials;for(t in a)a.hasOwnProperty(t)&&(i=new Material({strict:n,fabric:a[t],count:e._count}),e._count=i._count,e._uniforms=combine(e._uniforms,i._uniforms,!0),e.materials[t]=i,e._translucentFunctions=e._translucentFunctions.concat(i._translucentFunctions),replaceToken(i,r="czm_getMaterial",r=r+"_"+e._count++),e.shaderSource=i.shaderSource+e.shaderSource,replaceToken(e,t,r+"(materialInput)"))}function replaceToken(e,t,r,i){i=defaultValue(i,!0);var n=0,t=new RegExp("([\\w"+(i?".":"")+"])?"+t+"([\\w])?","g");return e.shaderSource=e.shaderSource.replace(t,function(e,t,i){return t||i?e:(n+=1,r)}),n}function getNumberOfTokens(e,t,i){return replaceToken(e,t,t,i)}function MaterialAppearance(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.translucent,!0),i=defaultValue(e.closed,!1),r=defaultValue(e.materialSupport,MaterialAppearance.MaterialSupport.TEXTURED);this.material=defined(e.material)?e.material:Material.fromType(Material.ColorType),this.translucent=t,this._vertexShaderSource=defaultValue(e.vertexShaderSource,r.vertexShaderSource),this._fragmentShaderSource=defaultValue(e.fragmentShaderSource,r.fragmentShaderSource),this._renderState=Appearance.getDefaultRenderState(t,i,e.renderState),this._closed=i,this._materialSupport=r,this._vertexFormat=r.vertexFormat,this._flat=defaultValue(e.flat,!1),this._faceForward=defaultValue(e.faceForward,!i)}Material._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}},Material.DefaultImageId="czm_defaultImage",Material.DefaultCubeMapId="czm_defaultCubeMap",Material.ColorType="Color",Material._materialCache.addMaterial(Material.ColorType,{fabric:{type:Material.ColorType,uniforms:{color:new Color(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}}),Material.ImageType="Image",Material._materialCache.addMaterial(Material.ImageType,{fabric:{type:Material.ImageType,uniforms:{image:Material.DefaultImageId,repeat:new Cartesian2(1,1),color:new Color(1,1,1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture2D(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}}),Material.DiffuseMapType="DiffuseMap",Material._materialCache.addMaterial(Material.DiffuseMapType,{fabric:{type:Material.DiffuseMapType,uniforms:{image:Material.DefaultImageId,channels:"rgb",repeat:new Cartesian2(1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1}),Material.AlphaMapType="AlphaMap",Material._materialCache.addMaterial(Material.AlphaMapType,{fabric:{type:Material.AlphaMapType,uniforms:{image:Material.DefaultImageId,channel:"a",repeat:new Cartesian2(1,1)},components:{alpha:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!0}),Material.SpecularMapType="SpecularMap",Material._materialCache.addMaterial(Material.SpecularMapType,{fabric:{type:Material.SpecularMapType,uniforms:{image:Material.DefaultImageId,channel:"r",repeat:new Cartesian2(1,1)},components:{specular:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!1}),Material.EmissionMapType="EmissionMap",Material._materialCache.addMaterial(Material.EmissionMapType,{fabric:{type:Material.EmissionMapType,uniforms:{image:Material.DefaultImageId,channels:"rgb",repeat:new Cartesian2(1,1)},components:{emission:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1}),Material.BumpMapType="BumpMap",Material._materialCache.addMaterial(Material.BumpMapType,{fabric:{type:Material.BumpMapType,uniforms:{image:Material.DefaultImageId,channel:"r",strength:.8,repeat:new Cartesian2(1,1)},source:BumpMapMaterial},translucent:!1}),Material.NormalMapType="NormalMap",Material._materialCache.addMaterial(Material.NormalMapType,{fabric:{type:Material.NormalMapType,uniforms:{image:Material.DefaultImageId,channels:"rgb",strength:.8,repeat:new Cartesian2(1,1)},source:NormalMapMaterial},translucent:!1}),Material.GridType="Grid",Material._materialCache.addMaterial(Material.GridType,{fabric:{type:Material.GridType,uniforms:{color:new Color(0,1,0,1),cellAlpha:.1,lineCount:new Cartesian2(8,8),lineThickness:new Cartesian2(1,1),lineOffset:new Cartesian2(0,0)},source:GridMaterial},translucent:function(e){e=e.uniforms;return e.color.alpha<1||e.cellAlpha<1}}),Material.StripeType="Stripe",Material._materialCache.addMaterial(Material.StripeType,{fabric:{type:Material.StripeType,uniforms:{horizontal:!0,evenColor:new Color(1,1,1,.5),oddColor:new Color(0,0,1,.5),offset:0,repeat:5},source:StripeMaterial},translucent:function(e){e=e.uniforms;return e.evenColor.alpha<1||e.oddColor.alpha<1}}),Material.CheckerboardType="Checkerboard",Material._materialCache.addMaterial(Material.CheckerboardType,{fabric:{type:Material.CheckerboardType,uniforms:{lightColor:new Color(1,1,1,.5),darkColor:new Color(0,0,0,.5),repeat:new Cartesian2(5,5)},source:CheckerboardMaterial},translucent:function(e){e=e.uniforms;return e.lightColor.alpha<1||e.darkColor.alpha<1}}),Material.DotType="Dot",Material._materialCache.addMaterial(Material.DotType,{fabric:{type:Material.DotType,uniforms:{lightColor:new Color(1,1,0,.75),darkColor:new Color(0,1,1,.75),repeat:new Cartesian2(5,5)},source:DotMaterial},translucent:function(e){e=e.uniforms;return e.lightColor.alpha<1||e.darkColor.alpha<1}}),Material.WaterType="Water",Material._materialCache.addMaterial(Material.WaterType,{fabric:{type:Material.WaterType,uniforms:{baseWaterColor:new Color(.2,.3,.6,1),blendColor:new Color(0,1,.699,1),specularMap:Material.DefaultImageId,normalMap:Material.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:WaterMaterial},translucent:function(e){e=e.uniforms;return e.baseWaterColor.alpha<1||e.blendColor.alpha<1}}),Material.RimLightingType="RimLighting",Material._materialCache.addMaterial(Material.RimLightingType,{fabric:{type:Material.RimLightingType,uniforms:{color:new Color(1,0,0,.7),rimColor:new Color(1,1,1,.4),width:.3},source:RimLightingMaterial},translucent:function(e){e=e.uniforms;return e.color.alpha<1||e.rimColor.alpha<1}}),Material.FadeType="Fade",Material._materialCache.addMaterial(Material.FadeType,{fabric:{type:Material.FadeType,uniforms:{fadeInColor:new Color(1,0,0,1),fadeOutColor:new Color(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new Cartesian2(.5,.5)},source:FadeMaterial},translucent:function(e){e=e.uniforms;return e.fadeInColor.alpha<1||e.fadeOutColor.alpha<1}}),Material.PolylineArrowType="PolylineArrow",Material._materialCache.addMaterial(Material.PolylineArrowType,{fabric:{type:Material.PolylineArrowType,uniforms:{color:new Color(1,1,1,1)},source:PolylineArrowMaterial},translucent:!0}),Material.PolylineDashType="PolylineDash",Material._materialCache.addMaterial(Material.PolylineDashType,{fabric:{type:Material.PolylineDashType,uniforms:{color:new Color(1,0,1,1),gapColor:new Color(0,0,0,0),dashLength:16,dashPattern:255},source:PolylineDashMaterial},translucent:!0}),Material.PolylineGlowType="PolylineGlow",Material._materialCache.addMaterial(Material.PolylineGlowType,{fabric:{type:Material.PolylineGlowType,uniforms:{color:new Color(0,.5,1,1),glowPower:.25,taperPower:1},source:PolylineGlowMaterial},translucent:!0}),Material.PolylineOutlineType="PolylineOutline",Material._materialCache.addMaterial(Material.PolylineOutlineType,{fabric:{type:Material.PolylineOutlineType,uniforms:{color:new Color(1,1,1,1),outlineColor:new Color(1,0,0,1),outlineWidth:1},source:PolylineOutlineMaterial},translucent:function(e){e=e.uniforms;return e.color.alpha<1||e.outlineColor.alpha<1}}),Material.ElevationContourType="ElevationContour",Material._materialCache.addMaterial(Material.ElevationContourType,{fabric:{type:Material.ElevationContourType,uniforms:{spacing:100,color:new Color(1,0,0,1),width:1},source:ElevationContourMaterial},translucent:!1}),Material.ElevationRampType="ElevationRamp",Material._materialCache.addMaterial(Material.ElevationRampType,{fabric:{type:Material.ElevationRampType,uniforms:{image:Material.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:ElevationRampMaterial},translucent:!1}),Material.SlopeRampMaterialType="SlopeRamp",Material._materialCache.addMaterial(Material.SlopeRampMaterialType,{fabric:{type:Material.SlopeRampMaterialType,uniforms:{image:Material.DefaultImageId},source:SlopeRampMaterial},translucent:!1}),Material.AspectRampMaterialType="AspectRamp",Material._materialCache.addMaterial(Material.AspectRampMaterialType,{fabric:{type:Material.AspectRampMaterialType,uniforms:{image:Material.DefaultImageId},source:AspectRampMaterial},translucent:!1}),Object.defineProperties(MaterialAppearance.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}}),MaterialAppearance.prototype.getFragmentShaderSource=Appearance.prototype.getFragmentShaderSource,MaterialAppearance.prototype.isTranslucent=Appearance.prototype.isTranslucent,MaterialAppearance.prototype.getRenderState=Appearance.prototype.getRenderState,MaterialAppearance.MaterialSupport={BASIC:Object.freeze({vertexFormat:VertexFormat.POSITION_AND_NORMAL,vertexShaderSource:BasicMaterialAppearanceVS,fragmentShaderSource:BasicMaterialAppearanceFS}),TEXTURED:Object.freeze({vertexFormat:VertexFormat.POSITION_NORMAL_AND_ST,vertexShaderSource:TexturedMaterialAppearanceVS,fragmentShaderSource:TexturedMaterialAppearanceFS}),ALL:Object.freeze({vertexFormat:VertexFormat.ALL,vertexShaderSource:AllMaterialAppearanceVS,fragmentShaderSource:AllMaterialAppearanceFS})};var PerInstanceColorAppearanceFS="varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec4 v_color;\nvoid main()\n{\nvec3 positionToEyeEC = -v_positionEC;\nvec3 normalEC = normalize(v_normalEC);\n#ifdef FACE_FORWARD\nnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\nvec4 color = czm_gammaCorrect(v_color);\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getDefaultMaterial(materialInput);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n}\n",PerInstanceColorAppearanceVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec4 color;\nattribute float batchId;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec4 v_color;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_normalEC = czm_normal * normal;\nv_color = color;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n",PerInstanceFlatColorAppearanceFS="varying vec4 v_color;\nvoid main()\n{\ngl_FragColor = czm_gammaCorrect(v_color);\n}\n",PerInstanceFlatColorAppearanceVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec4 color;\nattribute float batchId;\nvarying vec4 v_color;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_color = color;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n";function PerInstanceColorAppearance(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.translucent,!0),i=defaultValue(e.closed,!1),r=defaultValue(e.flat,!1),n=r?PerInstanceFlatColorAppearanceVS:PerInstanceColorAppearanceVS,a=r?PerInstanceFlatColorAppearanceFS:PerInstanceColorAppearanceFS,o=r?PerInstanceColorAppearance.FLAT_VERTEX_FORMAT:PerInstanceColorAppearance.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=defaultValue(e.vertexShaderSource,n),this._fragmentShaderSource=defaultValue(e.fragmentShaderSource,a),this._renderState=Appearance.getDefaultRenderState(t,i,e.renderState),this._closed=i,this._vertexFormat=o,this._flat=r,this._faceForward=defaultValue(e.faceForward,!i)}function ColorMaterialProperty(e){this._definitionChanged=new Event,this._color=void 0,this._colorSubscription=void 0,this.color=e}function DrawCommand(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._cull=defaultValue(e.cull,!0),this._occlude=defaultValue(e.occlude,!0),this._modelMatrix=e.modelMatrix,this._primitiveType=defaultValue(e.primitiveType,PrimitiveType$1.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=defaultValue(e.offset,0),this._instanceCount=defaultValue(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._executeInClosestFrustum=defaultValue(e.executeInClosestFrustum,!1),this._owner=e.owner,this._debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this._debugOverlappingFrustums=0,this._castShadows=defaultValue(e.castShadows,!1),this._receiveShadows=defaultValue(e.receiveShadows,!1),this._pickId=e.pickId,this._pickOnly=defaultValue(e.pickOnly,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}Object.defineProperties(PerInstanceColorAppearance.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}}),PerInstanceColorAppearance.VERTEX_FORMAT=VertexFormat.POSITION_AND_NORMAL,PerInstanceColorAppearance.FLAT_VERTEX_FORMAT=VertexFormat.POSITION_ONLY,PerInstanceColorAppearance.prototype.getFragmentShaderSource=Appearance.prototype.getFragmentShaderSource,PerInstanceColorAppearance.prototype.isTranslucent=Appearance.prototype.isTranslucent,PerInstanceColorAppearance.prototype.getRenderState=Appearance.prototype.getRenderState,Object.defineProperties(ColorMaterialProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:createPropertyDescriptor("color")}),ColorMaterialProperty.prototype.getType=function(e){return"Color"},ColorMaterialProperty.prototype.getValue=function(e,t){return defined(t)||(t={}),t.color=Property.getValueOrClonedDefault(this._color,e,Color.WHITE,t.color),t},ColorMaterialProperty.prototype.equals=function(e){return this===e||e instanceof ColorMaterialProperty&&Property.equals(this._color,e._color)},Object.defineProperties(DrawCommand.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return this._cull},set:function(e){this._cull!==e&&(this._cull=e,this.dirty=!0)}},occlude:{get:function(){return this._occlude},set:function(e){this._occlude!==e&&(this._occlude=e,this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return this._castShadows},set:function(e){this._castShadows!==e&&(this._castShadows=e,this.dirty=!0)}},receiveShadows:{get:function(){return this._receiveShadows},set:function(e){this._receiveShadows!==e&&(this._receiveShadows=e,this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return this._executeInClosestFrustum},set:function(e){this._executeInClosestFrustum!==e&&(this._executeInClosestFrustum=e,this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolume=e,this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickOnly:{get:function(){return this._pickOnly},set:function(e){this._pickOnly!==e&&(this._pickOnly=e,this.dirty=!0)}}}),DrawCommand.shallowClone=function(e,t){if(defined(e))return defined(t)||(t=new DrawCommand),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._cull=e._cull,t._occlude=e._occlude,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._executeInClosestFrustum=e._executeInClosestFrustum,t._owner=e._owner,t._debugShowBoundingVolume=e._debugShowBoundingVolume,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._castShadows=e._castShadows,t._receiveShadows=e._receiveShadows,t._pickId=e._pickId,t._pickOnly=e._pickOnly,t.dirty=!0,t.lastDirtyTime=0,t},DrawCommand.prototype.execute=function(e,t){e.draw(this,t)};var Pass={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,OVERLAY:9,NUMBER_OF_PASSES:10},Pass$1=Object.freeze(Pass);function freezeRenderState(e){if("object"!=typeof e||null===e)return e;for(var t,i=Object.keys(e),r=0;r<i.length;r++)t=i[r],e.hasOwnProperty(t)&&"_applyFunctions"!==t&&(e[t]=freezeRenderState(e[t]));return Object.freeze(e)}function RenderState(e){var t=defaultValue(e,defaultValue.EMPTY_OBJECT),i=defaultValue(t.cull,defaultValue.EMPTY_OBJECT),r=defaultValue(t.polygonOffset,defaultValue.EMPTY_OBJECT),n=defaultValue(t.scissorTest,defaultValue.EMPTY_OBJECT),a=defaultValue(n.rectangle,defaultValue.EMPTY_OBJECT),o=defaultValue(t.depthRange,defaultValue.EMPTY_OBJECT),s=defaultValue(t.depthTest,defaultValue.EMPTY_OBJECT),l=defaultValue(t.colorMask,defaultValue.EMPTY_OBJECT),c=defaultValue(t.blending,defaultValue.EMPTY_OBJECT),u=defaultValue(c.color,defaultValue.EMPTY_OBJECT),d=defaultValue(t.stencilTest,defaultValue.EMPTY_OBJECT),h=defaultValue(d.frontOperation,defaultValue.EMPTY_OBJECT),p=defaultValue(d.backOperation,defaultValue.EMPTY_OBJECT),m=defaultValue(t.sampleCoverage,defaultValue.EMPTY_OBJECT),e=t.viewport;this.frontFace=defaultValue(t.frontFace,WindingOrder$1.COUNTER_CLOCKWISE),this.cull={enabled:defaultValue(i.enabled,!1),face:defaultValue(i.face,WebGLConstants$1.BACK)},this.lineWidth=defaultValue(t.lineWidth,1),this.polygonOffset={enabled:defaultValue(r.enabled,!1),factor:defaultValue(r.factor,0),units:defaultValue(r.units,0)},this.scissorTest={enabled:defaultValue(n.enabled,!1),rectangle:BoundingRectangle.clone(a)},this.depthRange={near:defaultValue(o.near,0),far:defaultValue(o.far,1)},this.depthTest={enabled:defaultValue(s.enabled,!1),func:defaultValue(s.func,WebGLConstants$1.LESS)},this.colorMask={red:defaultValue(l.red,!0),green:defaultValue(l.green,!0),blue:defaultValue(l.blue,!0),alpha:defaultValue(l.alpha,!0)},this.depthMask=defaultValue(t.depthMask,!0),this.stencilMask=defaultValue(t.stencilMask,-1),this.blending={enabled:defaultValue(c.enabled,!1),color:new Color(defaultValue(u.red,0),defaultValue(u.green,0),defaultValue(u.blue,0),defaultValue(u.alpha,0)),equationRgb:defaultValue(c.equationRgb,WebGLConstants$1.FUNC_ADD),equationAlpha:defaultValue(c.equationAlpha,WebGLConstants$1.FUNC_ADD),functionSourceRgb:defaultValue(c.functionSourceRgb,WebGLConstants$1.ONE),functionSourceAlpha:defaultValue(c.functionSourceAlpha,WebGLConstants$1.ONE),functionDestinationRgb:defaultValue(c.functionDestinationRgb,WebGLConstants$1.ZERO),functionDestinationAlpha:defaultValue(c.functionDestinationAlpha,WebGLConstants$1.ZERO)},this.stencilTest={enabled:defaultValue(d.enabled,!1),frontFunction:defaultValue(d.frontFunction,WebGLConstants$1.ALWAYS),backFunction:defaultValue(d.backFunction,WebGLConstants$1.ALWAYS),reference:defaultValue(d.reference,0),mask:defaultValue(d.mask,-1),frontOperation:{fail:defaultValue(h.fail,WebGLConstants$1.KEEP),zFail:defaultValue(h.zFail,WebGLConstants$1.KEEP),zPass:defaultValue(h.zPass,WebGLConstants$1.KEEP)},backOperation:{fail:defaultValue(p.fail,WebGLConstants$1.KEEP),zFail:defaultValue(p.zFail,WebGLConstants$1.KEEP),zPass:defaultValue(p.zPass,WebGLConstants$1.KEEP)}},this.sampleCoverage={enabled:defaultValue(m.enabled,!1),value:defaultValue(m.value,1),invert:defaultValue(m.invert,!1)},this.viewport=defined(e)?new BoundingRectangle(e.x,e.y,e.width,e.height):void 0,this.id=0,this._applyFunctions=[]}var nextRenderStateId=0,renderStateCache={};function enableOrDisable(e,t,i){i?e.enable(t):e.disable(t)}function applyFrontFace(e,t){e.frontFace(t.frontFace)}function applyCull(e,t){var i=t.cull,t=i.enabled;enableOrDisable(e,e.CULL_FACE,t),t&&e.cullFace(i.face)}function applyLineWidth(e,t){e.lineWidth(t.lineWidth)}function applyPolygonOffset(e,t){var i=t.polygonOffset,t=i.enabled;enableOrDisable(e,e.POLYGON_OFFSET_FILL,t),t&&e.polygonOffset(i.factor,i.units)}function applyScissorTest(e,t,i){var r=t.scissorTest,t=(defined(i.scissorTest)?i.scissorTest:r).enabled;enableOrDisable(e,e.SCISSOR_TEST,t),t&&(r=(defined(i.scissorTest)?i.scissorTest:r).rectangle,e.scissor(r.x,r.y,r.width,r.height))}function applyDepthRange(e,t){t=t.depthRange;e.depthRange(t.near,t.far)}function applyDepthTest(e,t){var i=t.depthTest,t=i.enabled;enableOrDisable(e,e.DEPTH_TEST,t),t&&e.depthFunc(i.func)}function applyColorMask(e,t){t=t.colorMask;e.colorMask(t.red,t.green,t.blue,t.alpha)}function applyDepthMask(e,t){e.depthMask(t.depthMask)}function applyStencilMask(e,t){e.stencilMask(t.stencilMask)}function applyBlendingColor(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function applyBlending(e,t,i){t=t.blending,i=defined(i.blendingEnabled)?i.blendingEnabled:t.enabled;enableOrDisable(e,e.BLEND,i),i&&(applyBlendingColor(e,t.color),e.blendEquationSeparate(t.equationRgb,t.equationAlpha),e.blendFuncSeparate(t.functionSourceRgb,t.functionDestinationRgb,t.functionSourceAlpha,t.functionDestinationAlpha))}function applyStencilTest(e,t){var i,r,n=t.stencilTest,a=n.enabled;enableOrDisable(e,e.STENCIL_TEST,a),a&&(r=n.frontFunction,i=n.backFunction,t=n.reference,a=n.mask,e.stencilFunc(r,t,a),e.stencilFuncSeparate(e.BACK,i,t,a),e.stencilFuncSeparate(e.FRONT,r,t,a),t=(r=n.frontOperation).fail,a=r.zFail,r=r.zPass,e.stencilOpSeparate(e.FRONT,t,a,r),r=(a=n.backOperation).fail,n=a.zFail,a=a.zPass,e.stencilOpSeparate(e.BACK,r,n,a))}function applySampleCoverage(e,t){var i=t.sampleCoverage,t=i.enabled;enableOrDisable(e,e.SAMPLE_COVERAGE,t),t&&e.sampleCoverage(i.value,i.invert)}RenderState.fromCache=function(e){var t=JSON.stringify(e),i=renderStateCache[t];if(defined(i))return++i.referenceCount,i.state;var r=new RenderState(e),e=JSON.stringify(r);return defined(i=renderStateCache[e])||(r.id=nextRenderStateId++,i={referenceCount:0,state:r},renderStateCache[e]=i),++i.referenceCount,renderStateCache[t]={referenceCount:1,state:i.state},i.state},RenderState.removeFromCache=function(e){var t=new RenderState(e),i=JSON.stringify(t),r=renderStateCache[i],t=JSON.stringify(e),e=renderStateCache[t];defined(e)&&(--e.referenceCount,0===e.referenceCount&&(delete renderStateCache[t],defined(r)&&--r.referenceCount)),defined(r)&&0===r.referenceCount&&delete renderStateCache[i]},RenderState.getCache=function(){return renderStateCache},RenderState.clearCache=function(){renderStateCache={}};var scratchViewport=new BoundingRectangle;function applyViewport(e,t,i){t=defaultValue(t.viewport,i.viewport);defined(t)||((t=scratchViewport).width=i.context.drawingBufferWidth,t.height=i.context.drawingBufferHeight),i.context.uniformState.viewport=t,e.viewport(t.x,t.y,t.width,t.height)}function createFuncs(e,t){var i=[];return e.frontFace!==t.frontFace&&i.push(applyFrontFace),e.cull.enabled===t.cull.enabled&&e.cull.face===t.cull.face||i.push(applyCull),e.lineWidth!==t.lineWidth&&i.push(applyLineWidth),e.polygonOffset.enabled===t.polygonOffset.enabled&&e.polygonOffset.factor===t.polygonOffset.factor&&e.polygonOffset.units===t.polygonOffset.units||i.push(applyPolygonOffset),e.depthRange.near===t.depthRange.near&&e.depthRange.far===t.depthRange.far||i.push(applyDepthRange),e.depthTest.enabled===t.depthTest.enabled&&e.depthTest.func===t.depthTest.func||i.push(applyDepthTest),e.colorMask.red===t.colorMask.red&&e.colorMask.green===t.colorMask.green&&e.colorMask.blue===t.colorMask.blue&&e.colorMask.alpha===t.colorMask.alpha||i.push(applyColorMask),e.depthMask!==t.depthMask&&i.push(applyDepthMask),e.stencilMask!==t.stencilMask&&i.push(applyStencilMask),e.stencilTest.enabled===t.stencilTest.enabled&&e.stencilTest.frontFunction===t.stencilTest.frontFunction&&e.stencilTest.backFunction===t.stencilTest.backFunction&&e.stencilTest.reference===t.stencilTest.reference&&e.stencilTest.mask===t.stencilTest.mask&&e.stencilTest.frontOperation.fail===t.stencilTest.frontOperation.fail&&e.stencilTest.frontOperation.zFail===t.stencilTest.frontOperation.zFail&&e.stencilTest.backOperation.fail===t.stencilTest.backOperation.fail&&e.stencilTest.backOperation.zFail===t.stencilTest.backOperation.zFail&&e.stencilTest.backOperation.zPass===t.stencilTest.backOperation.zPass||i.push(applyStencilTest),e.sampleCoverage.enabled===t.sampleCoverage.enabled&&e.sampleCoverage.value===t.sampleCoverage.value&&e.sampleCoverage.invert===t.sampleCoverage.invert||i.push(applySampleCoverage),i}RenderState.apply=function(e,t,i){applyFrontFace(e,t),applyCull(e,t),applyLineWidth(e,t),applyPolygonOffset(e,t),applyDepthRange(e,t),applyDepthTest(e,t),applyColorMask(e,t),applyDepthMask(e,t),applyStencilMask(e,t),applyStencilTest(e,t),applySampleCoverage(e,t),applyScissorTest(e,t,i),applyBlending(e,t,i),applyViewport(e,t,i)},RenderState.partialApply=function(e,t,i,r,n,a){if(t!==i){var o=i._applyFunctions[t.id];defined(o)||(o=createFuncs(t,i),i._applyFunctions[t.id]=o);for(var s=o.length,l=0;l<s;++l)o[l](e,i)}(defined(r.scissorTest)?r:t).scissorTest===(defined(n.scissorTest)?n:i).scissorTest&&!a||applyScissorTest(e,i,n);var c=defined(r.blendingEnabled)?r.blendingEnabled:t.blending.enabled,a=defined(n.blendingEnabled)?n.blendingEnabled:i.blending.enabled;(c!==a||a&&t.blending!==i.blending)&&applyBlending(e,i,n),t===i&&r===n&&r.context===n.context||applyViewport(e,i,n)},RenderState.getState=function(e){return{frontFace:e.frontFace,cull:{enabled:e.cull.enabled,face:e.cull.face},lineWidth:e.lineWidth,polygonOffset:{enabled:e.polygonOffset.enabled,factor:e.polygonOffset.factor,units:e.polygonOffset.units},scissorTest:{enabled:e.scissorTest.enabled,rectangle:BoundingRectangle.clone(e.scissorTest.rectangle)},depthRange:{near:e.depthRange.near,far:e.depthRange.far},depthTest:{enabled:e.depthTest.enabled,func:e.depthTest.func},colorMask:{red:e.colorMask.red,green:e.colorMask.green,blue:e.colorMask.blue,alpha:e.colorMask.alpha},depthMask:e.depthMask,stencilMask:e.stencilMask,blending:{enabled:e.blending.enabled,color:Color.clone(e.blending.color),equationRgb:e.blending.equationRgb,equationAlpha:e.blending.equationAlpha,functionSourceRgb:e.blending.functionSourceRgb,functionSourceAlpha:e.blending.functionSourceAlpha,functionDestinationRgb:e.blending.functionDestinationRgb,functionDestinationAlpha:e.blending.functionDestinationAlpha},stencilTest:{enabled:e.stencilTest.enabled,frontFunction:e.stencilTest.frontFunction,backFunction:e.stencilTest.backFunction,reference:e.stencilTest.reference,mask:e.stencilTest.mask,frontOperation:{fail:e.stencilTest.frontOperation.fail,zFail:e.stencilTest.frontOperation.zFail,zPass:e.stencilTest.frontOperation.zPass},backOperation:{fail:e.stencilTest.backOperation.fail,zFail:e.stencilTest.backOperation.zFail,zPass:e.stencilTest.backOperation.zPass}},sampleCoverage:{enabled:e.sampleCoverage.enabled,value:e.sampleCoverage.value,invert:e.sampleCoverage.invert},viewport:defined(e.viewport)?BoundingRectangle.clone(e.viewport):void 0}};var viewerPositionWCScratch=new Cartesian3;function AutomaticUniform(e){this._size=e.size,this._datatype=e.datatype,this.getValue=e.getValue}var datatypeToGlsl={};datatypeToGlsl[WebGLConstants$1.FLOAT]="float",datatypeToGlsl[WebGLConstants$1.FLOAT_VEC2]="vec2",datatypeToGlsl[WebGLConstants$1.FLOAT_VEC3]="vec3",datatypeToGlsl[WebGLConstants$1.FLOAT_VEC4]="vec4",datatypeToGlsl[WebGLConstants$1.INT]="int",datatypeToGlsl[WebGLConstants$1.INT_VEC2]="ivec2",datatypeToGlsl[WebGLConstants$1.INT_VEC3]="ivec3",datatypeToGlsl[WebGLConstants$1.INT_VEC4]="ivec4",datatypeToGlsl[WebGLConstants$1.BOOL]="bool",datatypeToGlsl[WebGLConstants$1.BOOL_VEC2]="bvec2",datatypeToGlsl[WebGLConstants$1.BOOL_VEC3]="bvec3",datatypeToGlsl[WebGLConstants$1.BOOL_VEC4]="bvec4",datatypeToGlsl[WebGLConstants$1.FLOAT_MAT2]="mat2",datatypeToGlsl[WebGLConstants$1.FLOAT_MAT3]="mat3",datatypeToGlsl[WebGLConstants$1.FLOAT_MAT4]="mat4",datatypeToGlsl[WebGLConstants$1.SAMPLER_2D]="sampler2D",datatypeToGlsl[WebGLConstants$1.SAMPLER_CUBE]="samplerCube",AutomaticUniform.prototype.getDeclaration=function(e){var t="uniform "+datatypeToGlsl[this._datatype]+" "+e,e=this._size;return t+=1===e?";":"["+e.toString()+"];"};var AutomaticUniforms={czm_viewport:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC4,getValue:function(e){return e.viewportCartesian4}}),czm_viewportOrthographic:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.viewportOrthographic}}),czm_viewportTransformation:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.viewportTransformation}}),czm_globeDepthTexture:new AutomaticUniform({size:1,datatype:WebGLConstants$1.SAMPLER_2D,getValue:function(e){return e.globeDepthTexture}}),czm_model:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.model}}),czm_inverseModel:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.inverseModel}}),czm_view:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.view}}),czm_view3D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.view3D}}),czm_viewRotation:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT3,getValue:function(e){return e.viewRotation}}),czm_viewRotation3D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT3,getValue:function(e){return e.viewRotation3D}}),czm_inverseView:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.inverseView}}),czm_inverseView3D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.inverseView3D}}),czm_inverseViewRotation:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation}}),czm_inverseViewRotation3D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation3D}}),czm_projection:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.projection}}),czm_inverseProjection:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.inverseProjection}}),czm_infiniteProjection:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.infiniteProjection}}),czm_modelView:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.modelView}}),czm_modelView3D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.modelView3D}}),czm_modelViewRelativeToEye:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.modelViewRelativeToEye}}),czm_inverseModelView:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.inverseModelView}}),czm_inverseModelView3D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.inverseModelView3D}}),czm_viewProjection:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.viewProjection}}),czm_inverseViewProjection:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.inverseViewProjection}}),czm_modelViewProjection:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.modelViewProjection}}),czm_inverseModelViewProjection:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.inverseModelViewProjection}}),czm_modelViewProjectionRelativeToEye:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.modelViewProjectionRelativeToEye}}),czm_modelViewInfiniteProjection:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT4,getValue:function(e){return e.modelViewInfiniteProjection}}),czm_orthographicIn3D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.orthographicIn3D?1:0}}),czm_normal:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT3,getValue:function(e){return e.normal}}),czm_normal3D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT3,getValue:function(e){return e.normal3D}}),czm_inverseNormal:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT3,getValue:function(e){return e.inverseNormal}}),czm_inverseNormal3D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT3,getValue:function(e){return e.inverseNormal3D}}),czm_eyeHeight:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.eyeHeight}}),czm_eyeHeight2D:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC2,getValue:function(e){return e.eyeHeight2D}}),czm_entireFrustum:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC2,getValue:function(e){return e.entireFrustum}}),czm_currentFrustum:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC2,getValue:function(e){return e.currentFrustum}}),czm_frustumPlanes:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC4,getValue:function(e){return e.frustumPlanes}}),czm_farDepthFromNearPlusOne:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.farDepthFromNearPlusOne}}),czm_log2FarDepthFromNearPlusOne:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.log2FarDepthFromNearPlusOne}}),czm_oneOverLog2FarDepthFromNearPlusOne:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.oneOverLog2FarDepthFromNearPlusOne}}),czm_sunPositionWC:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.sunPositionWC}}),czm_sunPositionColumbusView:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.sunPositionColumbusView}}),czm_sunDirectionEC:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.sunDirectionEC}}),czm_sunDirectionWC:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.sunDirectionWC}}),czm_moonDirectionEC:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.moonDirectionEC}}),czm_lightDirectionEC:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.lightDirectionEC}}),czm_lightDirectionWC:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.lightDirectionWC}}),czm_lightColor:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.lightColor}}),czm_lightColorHdr:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.lightColorHdr}}),czm_encodedCameraPositionMCHigh:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCHigh}}),czm_encodedCameraPositionMCLow:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCLow}}),czm_viewerPositionWC:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return Matrix4.getTranslation(e.inverseView,viewerPositionWCScratch)}}),czm_frameNumber:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.frameState.mode}}),czm_pass:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.pass}}),czm_backgroundColor:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC4,getValue:function(e){return e.backgroundColor}}),czm_brdfLut:new AutomaticUniform({size:1,datatype:WebGLConstants$1.SAMPLER_2D,getValue:function(e){return e.brdfLut}}),czm_environmentMap:new AutomaticUniform({size:1,datatype:WebGLConstants$1.SAMPLER_CUBE,getValue:function(e){return e.environmentMap}}),czm_specularEnvironmentMaps:new AutomaticUniform({size:1,datatype:WebGLConstants$1.SAMPLER_2D,getValue:function(e){return e.specularEnvironmentMaps}}),czm_specularEnvironmentMapSize:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC2,getValue:function(e){return e.specularEnvironmentMapsDimensions}}),czm_specularEnvironmentMapsMaximumLOD:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.specularEnvironmentMapsMaximumLOD}}),czm_sphericalHarmonicCoefficients:new AutomaticUniform({size:9,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.sphericalHarmonicCoefficients}}),czm_temeToPseudoFixed:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_MAT3,getValue:function(e){return e.temeToPseudoFixedMatrix}}),czm_pixelRatio:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.pixelRatio}}),czm_fogDensity:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.fogDensity}}),czm_imagerySplitPosition:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.imagerySplitPosition}}),czm_geometricToleranceOverMeter:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.geometricToleranceOverMeter}}),czm_minimumDisableDepthTestDistance:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.minimumDisableDepthTestDistance}}),czm_invertClassificationColor:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC4,getValue:function(e){return e.invertClassificationColor}}),czm_gamma:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT,getValue:function(e){return e.gamma}}),czm_ellipsoidRadii:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.radii}}),czm_ellipsoidInverseRadii:new AutomaticUniform({size:1,datatype:WebGLConstants$1.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.oneOverRadii}})};function createUniform$1(e,t,i,r){switch(t.type){case e.FLOAT:return new UniformFloat(e,t,i,r);case e.FLOAT_VEC2:return new UniformFloatVec2(e,t,i,r);case e.FLOAT_VEC3:return new UniformFloatVec3(e,t,i,r);case e.FLOAT_VEC4:return new UniformFloatVec4(e,t,i,r);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new UniformSampler(e,t,i,r);case e.INT:case e.BOOL:return new UniformInt(e,t,i,r);case e.INT_VEC2:case e.BOOL_VEC2:return new UniformIntVec2(e,t,i,r);case e.INT_VEC3:case e.BOOL_VEC3:return new UniformIntVec3(e,t,i,r);case e.INT_VEC4:case e.BOOL_VEC4:return new UniformIntVec4(e,t,i,r);case e.FLOAT_MAT2:return new UniformMat2(e,t,i,r);case e.FLOAT_MAT3:return new UniformMat3(e,t,i,r);case e.FLOAT_MAT4:return new UniformMat4(e,t,i,r);default:throw new RuntimeError("Unrecognized uniform type: "+t.type+' for uniform "'+i+'".')}}function UniformFloat(e,t,i,r){this.name=i,this.value=void 0,this._value=0,this._gl=e,this._location=r}function UniformFloatVec2(e,t,i,r){this.name=i,this.value=void 0,this._value=new Cartesian2,this._gl=e,this._location=r}function UniformFloatVec3(e,t,i,r){this.name=i,this.value=void 0,this._value=void 0,this._gl=e,this._location=r}function UniformFloatVec4(e,t,i,r){this.name=i,this.value=void 0,this._value=void 0,this._gl=e,this._location=r}function UniformSampler(e,t,i,r){this.name=i,this.value=void 0,this._gl=e,this._location=r,this.textureUnitIndex=void 0}function UniformInt(e,t,i,r){this.name=i,this.value=void 0,this._value=0,this._gl=e,this._location=r}function UniformIntVec2(e,t,i,r){this.name=i,this.value=void 0,this._value=new Cartesian2,this._gl=e,this._location=r}function UniformIntVec3(e,t,i,r){this.name=i,this.value=void 0,this._value=new Cartesian3,this._gl=e,this._location=r}function UniformIntVec4(e,t,i,r){this.name=i,this.value=void 0,this._value=new Cartesian4,this._gl=e,this._location=r}UniformFloat.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1f(this._location,this.value))},UniformFloatVec2.prototype.set=function(){var e=this.value;Cartesian2.equals(e,this._value)||(Cartesian2.clone(e,this._value),this._gl.uniform2f(this._location,e.x,e.y))},UniformFloatVec3.prototype.set=function(){var e=this.value;defined(e.red)?Color.equals(e,this._value)||(this._value=Color.clone(e,this._value),this._gl.uniform3f(this._location,e.red,e.green,e.blue)):defined(e.x)&&(Cartesian3.equals(e,this._value)||(this._value=Cartesian3.clone(e,this._value),this._gl.uniform3f(this._location,e.x,e.y,e.z)))},UniformFloatVec4.prototype.set=function(){var e=this.value;defined(e.red)?Color.equals(e,this._value)||(this._value=Color.clone(e,this._value),this._gl.uniform4f(this._location,e.red,e.green,e.blue,e.alpha)):defined(e.x)&&(Cartesian4.equals(e,this._value)||(this._value=Cartesian4.clone(e,this._value),this._gl.uniform4f(this._location,e.x,e.y,e.z,e.w)))},UniformSampler.prototype.set=function(){var e=this._gl;e.activeTexture(e.TEXTURE0+this.textureUnitIndex);var t=this.value;e.bindTexture(t._target,t._texture)},UniformSampler.prototype._setSampler=function(e){return this.textureUnitIndex=e,this._gl.uniform1i(this._location,e),e+1},UniformInt.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1i(this._location,this.value))},UniformIntVec2.prototype.set=function(){var e=this.value;Cartesian2.equals(e,this._value)||(Cartesian2.clone(e,this._value),this._gl.uniform2i(this._location,e.x,e.y))},UniformIntVec3.prototype.set=function(){var e=this.value;Cartesian3.equals(e,this._value)||(Cartesian3.clone(e,this._value),this._gl.uniform3i(this._location,e.x,e.y,e.z))},UniformIntVec4.prototype.set=function(){var e=this.value;Cartesian4.equals(e,this._value)||(Cartesian4.clone(e,this._value),this._gl.uniform4i(this._location,e.x,e.y,e.z,e.w))};var scratchUniformArray=new Float32Array(4);function UniformMat2(e,t,i,r){this.name=i,this.value=void 0,this._value=new Matrix2,this._gl=e,this._location=r}UniformMat2.prototype.set=function(){var e;Matrix2.equalsArray(this.value,this._value,0)||(Matrix2.clone(this.value,this._value),e=Matrix2.toArray(this.value,scratchUniformArray),this._gl.uniformMatrix2fv(this._location,!1,e))};var scratchMat3Array=new Float32Array(9);function UniformMat3(e,t,i,r){this.name=i,this.value=void 0,this._value=new Matrix3,this._gl=e,this._location=r}UniformMat3.prototype.set=function(){var e;Matrix3.equalsArray(this.value,this._value,0)||(Matrix3.clone(this.value,this._value),e=Matrix3.toArray(this.value,scratchMat3Array),this._gl.uniformMatrix3fv(this._location,!1,e))};var scratchMat4Array=new Float32Array(16);function UniformMat4(e,t,i,r){this.name=i,this.value=void 0,this._value=new Matrix4,this._gl=e,this._location=r}function createUniformArray(e,t,i,r){switch(t.type){case e.FLOAT:return new UniformArrayFloat(e,t,i,r);case e.FLOAT_VEC2:return new UniformArrayFloatVec2(e,t,i,r);case e.FLOAT_VEC3:return new UniformArrayFloatVec3(e,t,i,r);case e.FLOAT_VEC4:return new UniformArrayFloatVec4(e,t,i,r);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new UniformArraySampler(e,t,i,r);case e.INT:case e.BOOL:return new UniformArrayInt(e,t,i,r);case e.INT_VEC2:case e.BOOL_VEC2:return new UniformArrayIntVec2(e,t,i,r);case e.INT_VEC3:case e.BOOL_VEC3:return new UniformArrayIntVec3(e,t,i,r);case e.INT_VEC4:case e.BOOL_VEC4:return new UniformArrayIntVec4(e,t,i,r);case e.FLOAT_MAT2:return new UniformArrayMat2(e,t,i,r);case e.FLOAT_MAT3:return new UniformArrayMat3(e,t,i,r);case e.FLOAT_MAT4:return new UniformArrayMat4(e,t,i,r);default:throw new RuntimeError("Unrecognized uniform type: "+t.type+' for uniform "'+i+'".')}}function UniformArrayFloat(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Float32Array(n),this._gl=e,this._location=r[0]}function UniformArrayFloatVec2(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Float32Array(2*n),this._gl=e,this._location=r[0]}function UniformArrayFloatVec3(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Float32Array(3*n),this._gl=e,this._location=r[0]}function UniformArrayFloatVec4(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Float32Array(4*n),this._gl=e,this._location=r[0]}function UniformArraySampler(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Float32Array(n),this._gl=e,this._locations=r,this.textureUnitIndex=void 0}function UniformArrayInt(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Int32Array(n),this._gl=e,this._location=r[0]}function UniformArrayIntVec2(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Int32Array(2*n),this._gl=e,this._location=r[0]}function UniformArrayIntVec3(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Int32Array(3*n),this._gl=e,this._location=r[0]}function UniformArrayIntVec4(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Int32Array(4*n),this._gl=e,this._location=r[0]}function UniformArrayMat2(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Float32Array(4*n),this._gl=e,this._location=r[0]}function UniformArrayMat3(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Float32Array(9*n),this._gl=e,this._location=r[0]}function UniformArrayMat4(e,t,i,r){var n=r.length;this.name=i,this.value=new Array(n),this._value=new Float32Array(16*n),this._gl=e,this._location=r[0]}UniformMat4.prototype.set=function(){var e;Matrix4.equalsArray(this.value,this._value,0)||(Matrix4.clone(this.value,this._value),e=Matrix4.toArray(this.value,scratchMat4Array),this._gl.uniformMatrix4fv(this._location,!1,e))},UniformArrayFloat.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0;n<t;++n){var a=e[n];a!==i[n]&&(i[n]=a,r=!0)}r&&this._gl.uniform1fv(this._location,i)},UniformArrayFloatVec2.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0,a=0;a<t;++a){var o=e[a];Cartesian2.equalsArray(o,i,n)||(Cartesian2.pack(o,i,n),r=!0),n+=2}r&&this._gl.uniform2fv(this._location,i)},UniformArrayFloatVec3.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0,a=0;a<t;++a){var o=e[a];defined(o.red)?o.red===i[n]&&o.green===i[n+1]&&o.blue===i[n+2]||(i[n]=o.red,i[n+1]=o.green,i[n+2]=o.blue,r=!0):defined(o.x)&&(Cartesian3.equalsArray(o,i,n)||(Cartesian3.pack(o,i,n),r=!0)),n+=3}r&&this._gl.uniform3fv(this._location,i)},UniformArrayFloatVec4.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0,a=0;a<t;++a){var o=e[a];defined(o.red)?Color.equalsArray(o,i,n)||(Color.pack(o,i,n),r=!0):defined(o.x)&&(Cartesian4.equalsArray(o,i,n)||(Cartesian4.pack(o,i,n),r=!0)),n+=4}r&&this._gl.uniform4fv(this._location,i)},UniformArraySampler.prototype.set=function(){for(var e=this._gl,t=e.TEXTURE0+this.textureUnitIndex,i=this.value,r=i.length,n=0;n<r;++n){var a=i[n];e.activeTexture(t+n),e.bindTexture(a._target,a._texture)}},UniformArraySampler.prototype._setSampler=function(e){this.textureUnitIndex=e;for(var t=this._locations,i=t.length,r=0;r<i;++r){var n=e+r;this._gl.uniform1i(t[r],n)}return e+i},UniformArrayInt.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0;n<t;++n){var a=e[n];a!==i[n]&&(i[n]=a,r=!0)}r&&this._gl.uniform1iv(this._location,i)},UniformArrayIntVec2.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0,a=0;a<t;++a){var o=e[a];Cartesian2.equalsArray(o,i,n)||(Cartesian2.pack(o,i,n),r=!0),n+=2}r&&this._gl.uniform2iv(this._location,i)},UniformArrayIntVec3.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0,a=0;a<t;++a){var o=e[a];Cartesian3.equalsArray(o,i,n)||(Cartesian3.pack(o,i,n),r=!0),n+=3}r&&this._gl.uniform3iv(this._location,i)},UniformArrayIntVec4.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0,a=0;a<t;++a){var o=e[a];Cartesian4.equalsArray(o,i,n)||(Cartesian4.pack(o,i,n),r=!0),n+=4}r&&this._gl.uniform4iv(this._location,i)},UniformArrayMat2.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0,a=0;a<t;++a){var o=e[a];Matrix2.equalsArray(o,i,n)||(Matrix2.pack(o,i,n),r=!0),n+=4}r&&this._gl.uniformMatrix2fv(this._location,!1,i)},UniformArrayMat3.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0,a=0;a<t;++a){var o=e[a];Matrix3.equalsArray(o,i,n)||(Matrix3.pack(o,i,n),r=!0),n+=9}r&&this._gl.uniformMatrix3fv(this._location,!1,i)},UniformArrayMat4.prototype.set=function(){for(var e=this.value,t=e.length,i=this._value,r=!1,n=0,a=0;a<t;++a){var o=e[a];Matrix4.equalsArray(o,i,n)||(Matrix4.pack(o,i,n),r=!0),n+=16}r&&this._gl.uniformMatrix4fv(this._location,!1,i)};var nextShaderProgramId=0;function ShaderProgram(e){var t=e.vertexShaderText,i=e.fragmentShaderText;"undefined"!=typeof spector&&(t=t.replace(/^#line/gm,"//#line"),i=i.replace(/^#line/gm,"//#line"));i=handleUniformPrecisionMismatches(t,i);this._gl=e.gl,this._logShaderCompilation=e.logShaderCompilation,this._debugShaders=e.debugShaders,this._attributeLocations=e.attributeLocations,this._program=void 0,this._numberOfVertexAttributes=void 0,this._vertexAttributes=void 0,this._uniformsByName=void 0,this._uniforms=void 0,this._automaticUniforms=void 0,this._manualUniforms=void 0,this._duplicateUniformNames=i.duplicateUniformNames,this._cachedShader=void 0,this.maximumTextureUnitIndex=void 0,this._vertexShaderSource=e.vertexShaderSource,this._vertexShaderText=e.vertexShaderText,this._fragmentShaderSource=e.fragmentShaderSource,this._fragmentShaderText=i.fragmentShaderText,this.id=nextShaderProgramId++}function extractUniforms(e){var t=[],i=e.match(/uniform.*?(?![^{]*})(?=[=\[;])/g);if(defined(i))for(var r=i.length,n=0;n<r;n++){var a=i[n].trim(),a=a.slice(a.lastIndexOf(" ")+1);t.push(a)}return t}function handleUniformPrecisionMismatches(e,t){var i={};if(!ContextLimits.highpFloatSupported||!ContextLimits.highpIntSupported)for(var r,n,a,o,s=extractUniforms(e),l=extractUniforms(t),c=s.length,u=l.length,d=0;d<c;d++)for(r=0;r<u;r++)s[d]===l[r]&&(a="czm_mediump_"+(n=s[d]),o=new RegExp(n+"\\b","g"),t=t.replace(o,a),i[a]=n);return{fragmentShaderText:t,duplicateUniformNames:i}}ShaderProgram.fromCache=function(e){return(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context.shaderCache.getShaderProgram(e)},ShaderProgram.replaceCache=function(e){return(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context.shaderCache.replaceShaderProgram(e)},Object.defineProperties(ShaderProgram.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},vertexAttributes:{get:function(){return initialize$1(this),this._vertexAttributes}},numberOfVertexAttributes:{get:function(){return initialize$1(this),this._numberOfVertexAttributes}},allUniforms:{get:function(){return initialize$1(this),this._uniformsByName}}});var consolePrefix="[Cesium WebGL] ";function createAndLinkProgram(e,t){var i=t._vertexShaderText,r=t._fragmentShaderText,n=e.createShader(e.VERTEX_SHADER);e.shaderSource(n,i),e.compileShader(n);i=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(i,r),e.compileShader(i);var a=e.createProgram();e.attachShader(a,n),e.attachShader(a,i),e.deleteShader(n),e.deleteShader(i);var o=t._attributeLocations;if(defined(o))for(var s in o)o.hasOwnProperty(s)&&e.bindAttribLocation(a,o[s],s);if(e.linkProgram(a),!e.getProgramParameter(a,e.LINK_STATUS)){r=t._debugShaders;if(!e.getShaderParameter(i,e.COMPILE_STATUS)){var l,c=e.getShaderInfoLog(i);throw console.error(consolePrefix+"Fragment shader compile log: "+c),defined(r)&&(""!==(l=r.getTranslatedShaderSource(i))?console.error(consolePrefix+"Translated fragment shader source:\n"+l):console.error(consolePrefix+"Fragment shader translation failed.")),e.deleteProgram(a),new RuntimeError("Fragment shader failed to compile. Compile log: "+c)}if(!e.getShaderParameter(n,e.COMPILE_STATUS))throw c=e.getShaderInfoLog(n),console.error(consolePrefix+"Vertex shader compile log: "+c),defined(r)&&(""!==(l=r.getTranslatedShaderSource(n))?console.error(consolePrefix+"Translated vertex shader source:\n"+l):console.error(consolePrefix+"Vertex shader translation failed.")),e.deleteProgram(a),new RuntimeError("Vertex shader failed to compile. Compile log: "+c);throw c=e.getProgramInfoLog(a),console.error(consolePrefix+"Shader program link log: "+c),defined(r)&&(console.error(consolePrefix+"Translated vertex shader source:\n"+r.getTranslatedShaderSource(n)),console.error(consolePrefix+"Translated fragment shader source:\n"+r.getTranslatedShaderSource(i))),e.deleteProgram(a),new RuntimeError("Program failed to link. Link log: "+c)}t=t._logShaderCompilation;return t&&defined(c=e.getShaderInfoLog(n))&&0<c.length&&console.log(consolePrefix+"Vertex shader compile log: "+c),t&&defined(c=e.getShaderInfoLog(i))&&0<c.length&&console.log(consolePrefix+"Fragment shader compile log: "+c),t&&defined(c=e.getProgramInfoLog(a))&&0<c.length&&console.log(consolePrefix+"Shader program link log: "+c),a}function findVertexAttributes(e,t,i){for(var r={},n=0;n<i;++n){var a=e.getActiveAttrib(t,n),o=e.getAttribLocation(t,a.name);r[a.name]={name:a.name,type:a.type,index:o}}return r}function findUniforms(e,t){for(var i={},r=[],n=[],a=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),o=0;o<a;++o){var s=e.getActiveUniform(t,o),l=-1!==s.name.indexOf("[0]",s.name.length-"[0]".length)?s.name.slice(0,s.name.length-3):s.name;if(0!==l.indexOf("gl_"))if(s.name.indexOf("[")<0){var c=e.getUniformLocation(t,l);null!==c&&(p=createUniform$1(e,s,l,c),i[l]=p,r.push(p),p._setSampler&&n.push(p))}else{var u,d,h,p=l.indexOf("[");if(0<=p)defined(u=i[l.slice(0,p)])&&(d=u._locations).length<=1&&(p=u.value,null!==(h=e.getUniformLocation(t,l))&&(d.push(h),p.push(e.getUniform(t,h))));else{d=[];for(var m=0;m<s.size;++m)null!==(h=e.getUniformLocation(t,l+"["+m+"]"))&&d.push(h);u=createUniformArray(e,s,l,d),i[l]=u,r.push(u),u._setSampler&&n.push(u)}}}return{uniformsByName:i,uniforms:r,samplerUniforms:n}}function partitionUniforms(e,t){var i,r,n,a,o=[],s=[];for(i in t)t.hasOwnProperty(i)&&(r=t[i],a=i,defined(n=e._duplicateUniformNames[a])&&(a=r.name=n),defined(a=AutomaticUniforms[a])?o.push({uniform:r,automaticUniform:a}):s.push(r));return{automaticUniforms:o,manualUniforms:s}}function setSamplerUniforms(e,t,i){e.useProgram(t);for(var r=0,n=i.length,a=0;a<n;++a)r=i[a]._setSampler(r);return e.useProgram(null),r}function initialize$1(e){defined(e._program)||reinitialize(e)}function reinitialize(s){var e=s._program,t=s._gl,i=createAndLinkProgram(t,s,s._debugShaders),r=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),n=findUniforms(t,i),a=partitionUniforms(s,n.uniformsByName);s._program=i,s._numberOfVertexAttributes=r,s._vertexAttributes=findVertexAttributes(t,i,r),s._uniformsByName=n.uniformsByName,s._uniforms=n.uniforms,s._automaticUniforms=a.automaticUniforms,s._manualUniforms=a.manualUniforms,s.maximumTextureUnitIndex=setSamplerUniforms(t,i,n.samplerUniforms),e&&s._gl.deleteProgram(e),"undefined"!=typeof spector&&(s._program.__SPECTOR_rebuildProgram=function(e,t,i,r){var n=s._vertexShaderText,a=s._fragmentShaderText,o=/ ! = /g;s._vertexShaderText=e.replace(o," != "),s._fragmentShaderText=t.replace(o," != ");try{reinitialize(s),i(s._program)}catch(e){s._vertexShaderText=n,s._fragmentShaderText=a;a=/(?:Compile|Link) error: ([^]*)/.exec(e.message);r(a?a[1]:e.message)}})}function modernizeShader(e,t){var i=/#define OUTPUT_DECLARATION/,r=e.split("\n");if(/#version 300 es/g.test(e))return e;for(var n,a=-1,o=0;o<r.length;++o)if(n=r[o],i.test(n)){a=o;break}if(-1===a)throw new DeveloperError("Could not find a #define OUTPUT_DECLARATION!");var s=[];for(o=0;o<10;o++){var l="gl_FragData\\["+o+"\\]",c="czm_out"+o;new RegExp(l,"g").test(e)&&(setAdd(c,s),replaceInSourceString(l,c,r),r.splice(a,0,"layout(location = "+o+") out vec4 "+c+";"),a+=1)}var u="czm_fragColor";findInSource("gl_FragColor",r)&&(setAdd(u,s),replaceInSourceString("gl_FragColor",u,r),r.splice(a,0,"layout(location = 0) out vec4 czm_fragColor;"),a+=1);var d,h=getVariablePreprocessorBranch(s,r),p={};for(o=0;o<r.length;o++)for(var m in n=r[o],h)h.hasOwnProperty(m)&&new RegExp("(layout)[^]+(out)[^]+("+m+")[^]+","g").test(n)&&(p[n]=m);for(d in p)if(p.hasOwnProperty(d)){for(var f=p[d],g=r.indexOf(d),_=h[f],y=_.length,C=0;C<y;C++)r.splice(g,0,_[C]);for(g+=y+1,C=y-1;0<=C;C--)r.splice(g,0,"#endif //"+_[C])}var u="WEBGL_2",v="#version 300 es",S=!1;for(o=0;o<r.length;o++)if(/#version/.test(r[o])){r[o]=v,S=!0;break}return S||r.splice(0,0,v),r.splice(1,0,"#define WEBGL_2"),removeExtension("EXT_draw_buffers",u,r),removeExtension("EXT_frag_depth",u,r),removeExtension("OES_standard_derivatives",u,r),replaceInSourceString("texture2D","texture",r),replaceInSourceString("texture3D","texture",r),replaceInSourceString("textureCube","texture",r),replaceInSourceString("gl_FragDepthEXT","gl_FragDepth",r),t?replaceInSourceString("varying","in",r):(replaceInSourceString("attribute","in",r),replaceInSourceString("varying","out",r)),compileSource(r)}function replaceInSourceString(e,t,i){for(var r=new RegExp("(^|[^\\w])("+e+")($|[^\\w])","g"),n=i.length,a=0;a<n;++a){var o=i[a];i[a]=o.replace(r,"$1"+t+"$3")}}function replaceInSourceRegex(e,t,i){for(var r=i.length,n=0;n<r;++n){var a=i[n];i[n]=a.replace(e,t)}}function findInSource(e,t){for(var i=new RegExp("(^|[^\\w])("+e+")($|[^\\w])","g"),r=t.length,n=0;n<r;++n){var a=t[n];if(i.test(a))return 1}}function compileSource(e){for(var t="",i=e.length,r=0;r<i;++r)t+=e[r]+"\n";return t}function setAdd(e,t){-1===t.indexOf(e)&&t.push(e)}function getVariablePreprocessorBranch(e,t){for(var i={},r=e.length,n=[],a=0;a<t.length;++a){var o=t[a],s=/(#ifdef|#if)/g.test(o),l=/#else/g.test(o),c=/#endif/g.test(o);if(s)n.push(o);else if(l){l=n[n.length-1].replace("ifdef","ifndef");/if/g.test(l)&&(l=l.replace(/(#if\s+)(\S*)([^]*)/,"$1!($2)$3")),n.pop(),n.push(l)}else if(c)n.pop();else if(!/layout/g.test(o))for(var u=0;u<r;++u){var d=e[u];-1!==o.indexOf(d)&&(defined(i[d])?i[d]=i[d].filter(function(e){return 0<=n.indexOf(e)}):i[d]=n.slice())}}return i}function removeExtension(e,t,i){replaceInSourceRegex(new RegExp("#extension\\s+GL_"+e+"\\s+:\\s+[a-zA-Z0-9]+\\s*$","g"),"",i),replaceInSourceString("GL_"+e,t,i)}ShaderProgram.prototype._bind=function(){initialize$1(this),this._gl.useProgram(this._program)},ShaderProgram.prototype._setUniforms=function(e,t,i){if(defined(e))for(var r=this._manualUniforms,n=r.length,a=0;a<n;++a){var o=r[a];o.value=e[o.name]()}var s=this._automaticUniforms;for(n=s.length,a=0;a<n;++a){var l=s[a];l.uniform.value=l.automaticUniform.getValue(t)}var c,u=this._uniforms;for(n=u.length,a=0;a<n;++a)u[a].set();i&&(c=this._gl,i=this._program,c.validateProgram(i))},ShaderProgram.prototype.isDestroyed=function(){return!1},ShaderProgram.prototype.destroy=function(){this._cachedShader.cache.releaseShaderProgram(this)},ShaderProgram.prototype.finalDestroy=function(){return this._gl.deleteProgram(this._program),destroyObject(this)};var czm_degreesPerRadian="const float czm_degreesPerRadian = 57.29577951308232;\n",czm_depthRange="const czm_depthRangeStruct czm_depthRange = czm_depthRangeStruct(0.0, 1.0);\n",czm_epsilon1="const float czm_epsilon1 = 0.1;\n",czm_epsilon2="const float czm_epsilon2 = 0.01;\n",czm_epsilon3="const float czm_epsilon3 = 0.001;\n",czm_epsilon4="const float czm_epsilon4 = 0.0001;\n",czm_epsilon5="const float czm_epsilon5 = 0.00001;\n",czm_epsilon6="const float czm_epsilon6 = 0.000001;\n",czm_epsilon7="const float czm_epsilon7 = 0.0000001;\n",czm_infinity="const float czm_infinity = 5906376272000.0;\n",czm_oneOverPi="const float czm_oneOverPi = 0.3183098861837907;\n",czm_oneOverTwoPi="const float czm_oneOverTwoPi = 0.15915494309189535;\n",czm_passCesium3DTile="const float czm_passCesium3DTile = 4.0;\n",czm_passCesium3DTileClassification="const float czm_passCesium3DTileClassification = 5.0;\n",czm_passCesium3DTileClassificationIgnoreShow="const float czm_passCesium3DTileClassificationIgnoreShow = 6.0;\n",czm_passClassification="const float czm_passClassification = 7.0;\n",czm_passCompute="const float czm_passCompute = 1.0;\n",czm_passEnvironment="const float czm_passEnvironment = 0.0;\n",czm_passGlobe="const float czm_passGlobe = 2.0;\n",czm_passOpaque="const float czm_passOpaque = 7.0;\n",czm_passOverlay="const float czm_passOverlay = 9.0;\n",czm_passTerrainClassification="const float czm_passTerrainClassification = 3.0;\n",czm_passTranslucent="const float czm_passTranslucent = 8.0;\n",czm_pi="const float czm_pi = 3.141592653589793;\n",czm_piOverFour="const float czm_piOverFour = 0.7853981633974483;\n",czm_piOverSix="const float czm_piOverSix = 0.5235987755982988;\n",czm_piOverThree="const float czm_piOverThree = 1.0471975511965976;\n",czm_piOverTwo="const float czm_piOverTwo = 1.5707963267948966;\n",czm_radiansPerDegree="const float czm_radiansPerDegree = 0.017453292519943295;\n",czm_sceneMode2D="const float czm_sceneMode2D = 2.0;\n",czm_sceneMode3D="const float czm_sceneMode3D = 3.0;\n",czm_sceneModeColumbusView="const float czm_sceneModeColumbusView = 1.0;\n",czm_sceneModeMorphing="const float czm_sceneModeMorphing = 0.0;\n",czm_solarRadius="const float czm_solarRadius = 695500000.0;\n",czm_threePiOver2="const float czm_threePiOver2 = 4.71238898038469;\n",czm_twoPi="const float czm_twoPi = 6.283185307179586;\n",czm_webMercatorMaxLatitude="const float czm_webMercatorMaxLatitude = 1.4844222297453324;\n",czm_depthRangeStruct="struct czm_depthRangeStruct\n{\nfloat near;\nfloat far;\n};\n",czm_ellipsoid="struct czm_ellipsoid\n{\nvec3 center;\nvec3 radii;\nvec3 inverseRadii;\nvec3 inverseRadiiSquared;\n};\n",czm_material="struct czm_material\n{\nvec3 diffuse;\nfloat specular;\nfloat shininess;\nvec3 normal;\nvec3 emission;\nfloat alpha;\n};\n",czm_materialInput="struct czm_materialInput\n{\nfloat s;\nvec2 st;\nvec3 str;\nvec3 normalEC;\nmat3 tangentToEyeMatrix;\nvec3 positionToEyeEC;\nfloat height;\nfloat slope;\nfloat aspect;\n};\n",czm_ray="struct czm_ray\n{\nvec3 origin;\nvec3 direction;\n};\n",czm_raySegment="struct czm_raySegment\n{\nfloat start;\nfloat stop;\n};\nconst czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_infinity);\nconst czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity);\n",czm_shadowParameters="struct czm_shadowParameters\n{\n#ifdef USE_CUBE_MAP_SHADOW\nvec3 texCoords;\n#else\nvec2 texCoords;\n#endif\nfloat depthBias;\nfloat depth;\nfloat nDotL;\nvec2 texelStepSize;\nfloat normalShadingSmooth;\nfloat darkness;\n};\n",czm_acesTonemapping="vec3 czm_acesTonemapping(vec3 color) {\nfloat g = 0.985;\nfloat a = 0.065;\nfloat b = 0.0001;\nfloat c = 0.433;\nfloat d = 0.238;\ncolor = (color * (color + a) - b) / (color * (g * color + c) + d);\ncolor = clamp(color, 0.0, 1.0);\nreturn color;\n}\n",czm_alphaWeight="float czm_alphaWeight(float a)\n{\nfloat z = (gl_FragCoord.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\nreturn pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0))));\n}\n",czm_antialias="vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor)\n{\nfloat val1 = clamp(dist / fuzzFactor, 0.0, 1.0);\nfloat val2 = clamp((dist - 0.5) / fuzzFactor, 0.0, 1.0);\nval1 = val1 * (1.0 - val2);\nval1 = val1 * val1 * (3.0 - (2.0 * val1));\nval1 = pow(val1, 0.5);\nvec4 midColor = (color1 + color2) * 0.5;\nreturn mix(midColor, currentColor, val1);\n}\nvec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist)\n{\nreturn czm_antialias(color1, color2, currentColor, dist, 0.1);\n}\n",czm_approximateSphericalCoordinates="vec2 czm_approximateSphericalCoordinates(vec3 normal) {\nfloat latitudeApproximation = czm_fastApproximateAtan(sqrt(normal.x * normal.x + normal.y * normal.y), normal.z);\nfloat longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y);\nreturn vec2(latitudeApproximation, longitudeApproximation);\n}\n",czm_backFacing="bool czm_backFacing()\n{\nreturn gl_FrontFacing == false;\n}\n",czm_branchFreeTernary="float czm_branchFreeTernary(bool comparison, float a, float b) {\nfloat useA = float(comparison);\nreturn a * useA + b * (1.0 - useA);\n}\nvec2 czm_branchFreeTernary(bool comparison, vec2 a, vec2 b) {\nfloat useA = float(comparison);\nreturn a * useA + b * (1.0 - useA);\n}\nvec3 czm_branchFreeTernary(bool comparison, vec3 a, vec3 b) {\nfloat useA = float(comparison);\nreturn a * useA + b * (1.0 - useA);\n}\nvec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) {\nfloat useA = float(comparison);\nreturn a * useA + b * (1.0 - useA);\n}\n",czm_cascadeColor="vec4 czm_cascadeColor(vec4 weights)\n{\nreturn vec4(1.0, 0.0, 0.0, 1.0) * weights.x +\nvec4(0.0, 1.0, 0.0, 1.0) * weights.y +\nvec4(0.0, 0.0, 1.0, 1.0) * weights.z +\nvec4(1.0, 0.0, 1.0, 1.0) * weights.w;\n}\n",czm_cascadeDistance="uniform vec4 shadowMap_cascadeDistances;\nfloat czm_cascadeDistance(vec4 weights)\n{\nreturn dot(shadowMap_cascadeDistances, weights);\n}\n",czm_cascadeMatrix="uniform mat4 shadowMap_cascadeMatrices[4];\nmat4 czm_cascadeMatrix(vec4 weights)\n{\nreturn shadowMap_cascadeMatrices[0] * weights.x +\nshadowMap_cascadeMatrices[1] * weights.y +\nshadowMap_cascadeMatrices[2] * weights.z +\nshadowMap_cascadeMatrices[3] * weights.w;\n}\n",czm_cascadeWeights="uniform vec4 shadowMap_cascadeSplits[2];\nvec4 czm_cascadeWeights(float depthEye)\n{\nvec4 near = step(shadowMap_cascadeSplits[0], vec4(depthEye));\nvec4 far = step(depthEye, shadowMap_cascadeSplits[1]);\nreturn near * far;\n}\n",czm_columbusViewMorph="vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time)\n{\nvec3 p = mix(position2D.xyz, position3D.xyz, time);\nreturn vec4(p, 1.0);\n}\n",czm_computePosition="vec4 czm_computePosition();\n",czm_cosineAndSine="vec2 cordic(float angle)\n{\nvec2 vector = vec2(6.0725293500888267e-1, 0.0);\nfloat sense = (angle < 0.0) ? -1.0 : 1.0;\nmat2 rotation = mat2(1.0, sense, -sense, 1.0);\nvector = rotation * vector;\nangle -= sense * 7.8539816339744828e-1;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfloat factor = sense * 5.0e-1;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 4.6364760900080609e-1;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 2.5e-1;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 2.4497866312686414e-1;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 1.25e-1;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 1.2435499454676144e-1;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 6.25e-2;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 6.2418809995957350e-2;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 3.125e-2;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 3.1239833430268277e-2;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 1.5625e-2;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 1.5623728620476831e-2;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 7.8125e-3;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 7.8123410601011111e-3;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 3.90625e-3;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 3.9062301319669718e-3;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 1.953125e-3;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 1.9531225164788188e-3;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 9.765625e-4;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 9.7656218955931946e-4;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 4.8828125e-4;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 4.8828121119489829e-4;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 2.44140625e-4;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 2.4414062014936177e-4;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 1.220703125e-4;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 1.2207031189367021e-4;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 6.103515625e-5;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 6.1035156174208773e-5;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 3.0517578125e-5;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 3.0517578115526096e-5;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 1.52587890625e-5;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 1.5258789061315762e-5;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 7.62939453125e-6;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 7.6293945311019700e-6;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 3.814697265625e-6;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 3.8146972656064961e-6;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 1.9073486328125e-6;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 1.9073486328101870e-6;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 9.5367431640625e-7;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 9.5367431640596084e-7;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 4.76837158203125e-7;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 4.7683715820308884e-7;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 2.384185791015625e-7;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nangle -= sense * 2.3841857910155797e-7;\nsense = (angle < 0.0) ? -1.0 : 1.0;\nfactor = sense * 1.1920928955078125e-7;\nrotation[0][1] = factor;\nrotation[1][0] = -factor;\nvector = rotation * vector;\nreturn vector;\n}\nvec2 czm_cosineAndSine(float angle)\n{\nif (angle < -czm_piOverTwo || angle > czm_piOverTwo)\n{\nif (angle < 0.0)\n{\nreturn -cordic(angle + czm_pi);\n}\nelse\n{\nreturn -cordic(angle - czm_pi);\n}\n}\nelse\n{\nreturn cordic(angle);\n}\n}\n",czm_decompressTextureCoordinates="vec2 czm_decompressTextureCoordinates(float encoded)\n{\nfloat temp = encoded / 4096.0;\nfloat xZeroTo4095 = floor(temp);\nfloat stx = xZeroTo4095 / 4095.0;\nfloat sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0;\nreturn vec2(stx, sty);\n}\n",czm_depthClamp="#if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)\nvarying float v_WindowZ;\n#endif\nvec4 czm_depthClamp(vec4 coords)\n{\n#ifndef LOG_DEPTH\n#ifdef GL_EXT_frag_depth\nv_WindowZ = (0.5 * (coords.z / coords.w) + 0.5) * coords.w;\ncoords.z = 0.0;\n#else\ncoords.z = min(coords.z, coords.w);\n#endif\n#endif\nreturn coords;\n}\n",czm_eastNorthUpToEyeCoordinates="mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC)\n{\nvec3 tangentMC = normalize(vec3(-positionMC.y, positionMC.x, 0.0));\nvec3 tangentEC = normalize(czm_normal3D * tangentMC);\nvec3 bitangentEC = normalize(cross(normalEC, tangentEC));\nreturn mat3(\ntangentEC.x, tangentEC.y, tangentEC.z,\nbitangentEC.x, bitangentEC.y, bitangentEC.z,\nnormalEC.x, normalEC.y, normalEC.z);\n}\n",czm_ellipsoidContainsPoint="bool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point)\n{\nvec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz;\nreturn (dot(scaled, scaled) <= 1.0);\n}\n",czm_ellipsoidWgs84TextureCoordinates="vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal)\n{\nreturn vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5);\n}\n",czm_equalsEpsilon="bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) {\nreturn all(lessThanEqual(abs(left - right), vec4(epsilon)));\n}\nbool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) {\nreturn all(lessThanEqual(abs(left - right), vec3(epsilon)));\n}\nbool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) {\nreturn all(lessThanEqual(abs(left - right), vec2(epsilon)));\n}\nbool czm_equalsEpsilon(float left, float right, float epsilon) {\nreturn (abs(left - right) <= epsilon);\n}\n",czm_eyeOffset="vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset)\n{\nvec4 p = positionEC;\nvec4 zEyeOffset = normalize(p) * eyeOffset.z;\np.xy += eyeOffset.xy + zEyeOffset.xy;\np.z += zEyeOffset.z;\nreturn p;\n}\n",czm_eyeToWindowCoordinates="vec4 czm_eyeToWindowCoordinates(vec4 positionEC)\n{\nvec4 q = czm_projection * positionEC;\nq.xyz /= q.w;\nq.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;\nreturn q;\n}\n",czm_fastApproximateAtan="float czm_fastApproximateAtan(float x) {\nreturn x * (-0.1784 * x - 0.0663 * x * x + 1.0301);\n}\nfloat czm_fastApproximateAtan(float x, float y) {\nfloat t = abs(x);\nfloat opposite = abs(y);\nfloat adjacent = max(t, opposite);\nopposite = min(t, opposite);\nt = czm_fastApproximateAtan(opposite / adjacent);\nt = czm_branchFreeTernary(abs(y) > abs(x), czm_piOverTwo - t, t);\nt = czm_branchFreeTernary(x < 0.0, czm_pi - t, t);\nt = czm_branchFreeTernary(y < 0.0, -t, t);\nreturn t;\n}\n",czm_fog="vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor)\n{\nfloat scalar = distanceToCamera * czm_fogDensity;\nfloat fog = 1.0 - exp(-(scalar * scalar));\nreturn mix(color, fogColor, fog);\n}\nvec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifierConstant)\n{\nfloat scalar = distanceToCamera * czm_fogDensity;\nfloat fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant))));\nreturn mix(color, fogColor, fog);\n}\n",czm_gammaCorrect="vec3 czm_gammaCorrect(vec3 color) {\n#ifdef HDR\ncolor = pow(color, vec3(czm_gamma));\n#endif\nreturn color;\n}\nvec4 czm_gammaCorrect(vec4 color) {\n#ifdef HDR\ncolor.rgb = pow(color.rgb, vec3(czm_gamma));\n#endif\nreturn color;\n}\n",czm_geodeticSurfaceNormal="vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, vec3 oneOverEllipsoidRadiiSquared)\n{\nreturn normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared);\n}\n",czm_getDefaultMaterial="czm_material czm_getDefaultMaterial(czm_materialInput materialInput)\n{\nczm_material material;\nmaterial.diffuse = vec3(0.0);\nmaterial.specular = 0.0;\nmaterial.shininess = 1.0;\nmaterial.normal = materialInput.normalEC;\nmaterial.emission = vec3(0.0);\nmaterial.alpha = 1.0;\nreturn material;\n}\n",czm_getLambertDiffuse="float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC)\n{\nreturn max(dot(lightDirectionEC, normalEC), 0.0);\n}\n",czm_getSpecular="float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float shininess)\n{\nvec3 toReflectedLight = reflect(-lightDirectionEC, normalEC);\nfloat specular = max(dot(toReflectedLight, toEyeEC), 0.0);\nreturn pow(specular, max(shininess, czm_epsilon2));\n}\n",czm_getWaterNoise="vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians)\n{\nfloat cosAngle = cos(angleInRadians);\nfloat sinAngle = sin(angleInRadians);\nvec2 s0 = vec2(1.0/17.0, 0.0);\nvec2 s1 = vec2(-1.0/29.0, 0.0);\nvec2 s2 = vec2(1.0/101.0, 1.0/59.0);\nvec2 s3 = vec2(-1.0/109.0, -1.0/57.0);\ns0 = vec2((cosAngle * s0.x) - (sinAngle * s0.y), (sinAngle * s0.x) + (cosAngle * s0.y));\ns1 = vec2((cosAngle * s1.x) - (sinAngle * s1.y), (sinAngle * s1.x) + (cosAngle * s1.y));\ns2 = vec2((cosAngle * s2.x) - (sinAngle * s2.y), (sinAngle * s2.x) + (cosAngle * s2.y));\ns3 = vec2((cosAngle * s3.x) - (sinAngle * s3.y), (sinAngle * s3.x) + (cosAngle * s3.y));\nvec2 uv0 = (uv/103.0) + (time * s0);\nvec2 uv1 = uv/107.0 + (time * s1) + vec2(0.23);\nvec2 uv2 = uv/vec2(897.0, 983.0) + (time * s2) + vec2(0.51);\nvec2 uv3 = uv/vec2(991.0, 877.0) + (time * s3) + vec2(0.71);\nuv0 = fract(uv0);\nuv1 = fract(uv1);\nuv2 = fract(uv2);\nuv3 = fract(uv3);\nvec4 noise = (texture2D(normalMap, uv0)) +\n(texture2D(normalMap, uv1)) +\n(texture2D(normalMap, uv2)) +\n(texture2D(normalMap, uv3));\nreturn ((noise / 4.0) - 0.5) * 2.0;\n}\n",czm_getWgs84EllipsoidEC="czm_ellipsoid czm_getWgs84EllipsoidEC()\n{\nvec3 radii = vec3(6378137.0, 6378137.0, 6356752.314245);\nvec3 inverseRadii = vec3(1.0 / radii.x, 1.0 / radii.y, 1.0 / radii.z);\nvec3 inverseRadiiSquared = inverseRadii * inverseRadii;\nczm_ellipsoid temp = czm_ellipsoid(czm_view[3].xyz, radii, inverseRadii, inverseRadiiSquared);\nreturn temp;\n}\n",czm_HSBToRGB="const vec4 K_HSB2RGB = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\nvec3 czm_HSBToRGB(vec3 hsb)\n{\nvec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www);\nreturn hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y);\n}\n",czm_HSLToRGB="vec3 hueToRGB(float hue)\n{\nfloat r = abs(hue * 6.0 - 3.0) - 1.0;\nfloat g = 2.0 - abs(hue * 6.0 - 2.0);\nfloat b = 2.0 - abs(hue * 6.0 - 4.0);\nreturn clamp(vec3(r, g, b), 0.0, 1.0);\n}\nvec3 czm_HSLToRGB(vec3 hsl)\n{\nvec3 rgb = hueToRGB(hsl.x);\nfloat c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y;\nreturn (rgb - 0.5) * c + hsl.z;\n}\n",czm_hue="vec3 czm_hue(vec3 rgb, float adjustment)\n{\nconst mat3 toYIQ = mat3(0.299, 0.587, 0.114,\n0.595716, -0.274453, -0.321263,\n0.211456, -0.522591, 0.311135);\nconst mat3 toRGB = mat3(1.0, 0.9563, 0.6210,\n1.0, -0.2721, -0.6474,\n1.0, -1.107, 1.7046);\nvec3 yiq = toYIQ * rgb;\nfloat hue = atan(yiq.z, yiq.y) + adjustment;\nfloat chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y);\nvec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue));\nreturn toRGB * color;\n}\n",czm_inverseGamma="vec3 czm_inverseGamma(vec3 color) {\nreturn pow(color, vec3(1.0 / czm_gamma));\n}\n",czm_isEmpty="bool czm_isEmpty(czm_raySegment interval)\n{\nreturn (interval.stop < 0.0);\n}\n",czm_isFull="bool czm_isFull(czm_raySegment interval)\n{\nreturn (interval.start == 0.0 && interval.stop == czm_infinity);\n}\n",czm_latitudeToWebMercatorFraction="float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, float oneOverMercatorHeight)\n{\nfloat sinLatitude = sin(latitude);\nfloat mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude));\nreturn (mercatorY - southMercatorY) * oneOverMercatorHeight;\n}\n",czm_lineDistance="float czm_lineDistance(vec2 point1, vec2 point2, vec2 point) {\nreturn abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1);\n}\n",czm_luminance="float czm_luminance(vec3 rgb)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nreturn dot(rgb, W);\n}\n",czm_metersPerPixel="float czm_metersPerPixel(vec4 positionEC, float pixelRatio)\n{\nfloat width = czm_viewport.z;\nfloat height = czm_viewport.w;\nfloat pixelWidth;\nfloat pixelHeight;\nfloat top = czm_frustumPlanes.x;\nfloat bottom = czm_frustumPlanes.y;\nfloat left = czm_frustumPlanes.z;\nfloat right = czm_frustumPlanes.w;\nif (czm_sceneMode == czm_sceneMode2D || czm_orthographicIn3D == 1.0)\n{\nfloat frustumWidth = right - left;\nfloat frustumHeight = top - bottom;\npixelWidth = frustumWidth / width;\npixelHeight = frustumHeight / height;\n}\nelse\n{\nfloat distanceToPixel = -positionEC.z;\nfloat inverseNear = 1.0 / czm_currentFrustum.x;\nfloat tanTheta = top * inverseNear;\npixelHeight = 2.0 * distanceToPixel * tanTheta / height;\ntanTheta = right * inverseNear;\npixelWidth = 2.0 * distanceToPixel * tanTheta / width;\n}\nreturn max(pixelWidth, pixelHeight) * pixelRatio;\n}\nfloat czm_metersPerPixel(vec4 positionEC)\n{\nreturn czm_metersPerPixel(positionEC, czm_pixelRatio);\n}\n",czm_modelToWindowCoordinates="vec4 czm_modelToWindowCoordinates(vec4 position)\n{\nvec4 q = czm_modelViewProjection * position;\nq.xyz /= q.w;\nq.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;\nreturn q;\n}\n",czm_multiplyWithColorBalance="vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nvec3 target = left * right;\nfloat leftLuminance = dot(left, W);\nfloat rightLuminance = dot(right, W);\nfloat targetLuminance = dot(target, W);\nreturn ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target;\n}\n",czm_nearFarScalar="float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq)\n{\nfloat valueAtMin = nearFarScalar.y;\nfloat valueAtMax = nearFarScalar.w;\nfloat nearDistanceSq = nearFarScalar.x * nearFarScalar.x;\nfloat farDistanceSq = nearFarScalar.z * nearFarScalar.z;\nfloat t = (cameraDistSq - nearDistanceSq) / (farDistanceSq - nearDistanceSq);\nt = pow(clamp(t, 0.0, 1.0), 0.2);\nreturn mix(valueAtMin, valueAtMax, t);\n}\n",czm_octDecode="vec3 czm_octDecode(vec2 encoded, float range)\n{\nif (encoded.x == 0.0 && encoded.y == 0.0) {\nreturn vec3(0.0, 0.0, 0.0);\n}\nencoded = encoded / range * 2.0 - 1.0;\nvec3 v = vec3(encoded.x, encoded.y, 1.0 - abs(encoded.x) - abs(encoded.y));\nif (v.z < 0.0)\n{\nv.xy = (1.0 - abs(v.yx)) * czm_signNotZero(v.xy);\n}\nreturn normalize(v);\n}\nvec3 czm_octDecode(vec2 encoded)\n{\nreturn czm_octDecode(encoded, 255.0);\n}\nvec3 czm_octDecode(float encoded)\n{\nfloat temp = encoded / 256.0;\nfloat x = floor(temp);\nfloat y = (temp - x) * 256.0;\nreturn czm_octDecode(vec2(x, y));\n}\nvoid czm_octDecode(vec2 encoded, out vec3 vector1, out vec3 vector2, out vec3 vector3)\n{\nfloat temp = encoded.x / 65536.0;\nfloat x = floor(temp);\nfloat encodedFloat1 = (temp - x) * 65536.0;\ntemp = encoded.y / 65536.0;\nfloat y = floor(temp);\nfloat encodedFloat2 = (temp - y) * 65536.0;\nvector1 = czm_octDecode(encodedFloat1);\nvector2 = czm_octDecode(encodedFloat2);\nvector3 = czm_octDecode(vec2(x, y));\n}\n",czm_packDepth="vec4 czm_packDepth(float depth)\n{\nvec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * depth;\nenc = fract(enc);\nenc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\nreturn enc;\n}\n",czm_phong="float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material)\n{\nreturn czm_getLambertDiffuse(lightDirectionEC, material.normal);\n}\nfloat czm_private_getSpecularOfMaterial(vec3 lightDirectionEC, vec3 toEyeEC, czm_material material)\n{\nreturn czm_getSpecular(lightDirectionEC, toEyeEC, material.normal, material.shininess);\n}\nvec4 czm_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC)\n{\nfloat diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material);\nif (czm_sceneMode == czm_sceneMode3D) {\ndiffuse += czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material);\n}\nfloat specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material);\nvec3 materialDiffuse = material.diffuse * 0.5;\nvec3 ambient = materialDiffuse;\nvec3 color = ambient + material.emission;\ncolor += materialDiffuse * diffuse * czm_lightColor;\ncolor += material.specular * specular * czm_lightColor;\nreturn vec4(color, material.alpha);\n}\nvec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC)\n{\nfloat diffuse = czm_private_getLambertDiffuseOfMaterial(lightDirectionEC, material);\nfloat specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material);\nvec3 ambient = vec3(0.0);\nvec3 color = ambient + material.emission;\ncolor += material.diffuse * diffuse * czm_lightColor;\ncolor += material.specular * specular * czm_lightColor;\nreturn vec4(color, material.alpha);\n}\n",czm_planeDistance="float czm_planeDistance(vec4 plane, vec3 point) {\nreturn (dot(plane.xyz, point) + plane.w);\n}\nfloat czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) {\nreturn (dot(planeNormal, point) + planeDistance);\n}\n",czm_pointAlongRay="vec3 czm_pointAlongRay(czm_ray ray, float time)\n{\nreturn ray.origin + (time * ray.direction);\n}\n",czm_rayEllipsoidIntersectionInterval="czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_center, vec3 ellipsoid_inverseRadii)\n{\nvec3 q = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.origin, 1.0)).xyz;\nvec3 w = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.direction, 0.0)).xyz;\nq = q - ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ellipsoid_center, 1.0)).xyz;\nfloat q2 = dot(q, q);\nfloat qw = dot(q, w);\nif (q2 > 1.0)\n{\nif (qw >= 0.0)\n{\nreturn czm_emptyRaySegment;\n}\nelse\n{\nfloat qw2 = qw * qw;\nfloat difference = q2 - 1.0;\nfloat w2 = dot(w, w);\nfloat product = w2 * difference;\nif (qw2 < product)\n{\nreturn czm_emptyRaySegment;\n}\nelse if (qw2 > product)\n{\nfloat discriminant = qw * qw - product;\nfloat temp = -qw + sqrt(discriminant);\nfloat root0 = temp / w2;\nfloat root1 = difference / temp;\nif (root0 < root1)\n{\nczm_raySegment i = czm_raySegment(root0, root1);\nreturn i;\n}\nelse\n{\nczm_raySegment i = czm_raySegment(root1, root0);\nreturn i;\n}\n}\nelse\n{\nfloat root = sqrt(difference / w2);\nczm_raySegment i = czm_raySegment(root, root);\nreturn i;\n}\n}\n}\nelse if (q2 < 1.0)\n{\nfloat difference = q2 - 1.0;\nfloat w2 = dot(w, w);\nfloat product = w2 * difference;\nfloat discriminant = qw * qw - product;\nfloat temp = -qw + sqrt(discriminant);\nczm_raySegment i = czm_raySegment(0.0, temp / w2);\nreturn i;\n}\nelse\n{\nif (qw < 0.0)\n{\nfloat w2 = dot(w, w);\nczm_raySegment i = czm_raySegment(0.0, -qw / w2);\nreturn i;\n}\nelse\n{\nreturn czm_emptyRaySegment;\n}\n}\n}\n",czm_readDepth="float czm_readDepth(sampler2D depthTexture, vec2 texCoords)\n{\nreturn czm_reverseLogDepth(texture2D(depthTexture, texCoords).r);\n}\n",czm_readNonPerspective="float czm_readNonPerspective(float value, float oneOverW) {\nreturn value * oneOverW;\n}\nvec2 czm_readNonPerspective(vec2 value, float oneOverW) {\nreturn value * oneOverW;\n}\nvec3 czm_readNonPerspective(vec3 value, float oneOverW) {\nreturn value * oneOverW;\n}\nvec4 czm_readNonPerspective(vec4 value, float oneOverW) {\nreturn value * oneOverW;\n}\n",czm_reverseLogDepth="float czm_reverseLogDepth(float logZ)\n{\n#ifdef LOG_DEPTH\nfloat near = czm_currentFrustum.x;\nfloat far = czm_currentFrustum.y;\nfloat log2Depth = logZ * czm_log2FarDepthFromNearPlusOne;\nfloat depthFromNear = pow(2.0, log2Depth) - 1.0;\nreturn far * (1.0 - near / (depthFromNear + near)) / (far - near);\n#endif\nreturn logZ;\n}\n",czm_RGBToHSB="const vec4 K_RGB2HSB = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\nvec3 czm_RGBToHSB(vec3 rgb)\n{\nvec4 p = mix(vec4(rgb.bg, K_RGB2HSB.wz), vec4(rgb.gb, K_RGB2HSB.xy), step(rgb.b, rgb.g));\nvec4 q = mix(vec4(p.xyw, rgb.r), vec4(rgb.r, p.yzx), step(p.x, rgb.r));\nfloat d = q.x - min(q.w, q.y);\nreturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x);\n}\n",czm_RGBToHSL="vec3 RGBtoHCV(vec3 rgb)\n{\nvec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1.0, 2.0 / 3.0) : vec4(rgb.gb, 0.0, -1.0 / 3.0);\nvec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx);\nfloat c = q.x - min(q.w, q.y);\nfloat h = abs((q.w - q.y) / (6.0 * c + czm_epsilon7) + q.z);\nreturn vec3(h, c, q.x);\n}\nvec3 czm_RGBToHSL(vec3 rgb)\n{\nvec3 hcv = RGBtoHCV(rgb);\nfloat l = hcv.z - hcv.y * 0.5;\nfloat s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7);\nreturn vec3(hcv.x, s, l);\n}\n",czm_RGBToXYZ="vec3 czm_RGBToXYZ(vec3 rgb)\n{\nconst mat3 RGB2XYZ = mat3(0.4124, 0.2126, 0.0193,\n0.3576, 0.7152, 0.1192,\n0.1805, 0.0722, 0.9505);\nvec3 xyz = RGB2XYZ * rgb;\nvec3 Yxy;\nYxy.r = xyz.g;\nfloat temp = dot(vec3(1.0), xyz);\nYxy.gb = xyz.rg / temp;\nreturn Yxy;\n}\n",czm_sampleOctahedralProjection="vec3 czm_sampleOctahedralProjectionWithFiltering(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod)\n{\ndirection /= dot(vec3(1.0), abs(direction));\nvec2 rev = abs(direction.zx) - vec2(1.0);\nvec2 neg = vec2(direction.x < 0.0 ? rev.x : -rev.x,\ndirection.z < 0.0 ? rev.y : -rev.y);\nvec2 uv = direction.y < 0.0 ? neg : direction.xz;\nvec2 coord = 0.5 * uv + vec2(0.5);\nvec2 pixel = 1.0 / textureSize;\nif (lod > 0.0)\n{\nfloat scale = 1.0 / pow(2.0, lod);\nfloat offset = ((textureSize.y + 1.0) / textureSize.x);\ncoord.x *= offset;\ncoord *= scale;\ncoord.x += offset + pixel.x;\ncoord.y += (1.0 - (1.0 / pow(2.0, lod - 1.0))) + pixel.y * (lod - 1.0) * 2.0;\n}\nelse\n{\ncoord.x *= (textureSize.y / textureSize.x);\n}\n#ifndef OES_texture_float_linear\nvec3 color1 = texture2D(projectedMap, coord + vec2(0.0, pixel.y)).rgb;\nvec3 color2 = texture2D(projectedMap, coord + vec2(pixel.x, 0.0)).rgb;\nvec3 color3 = texture2D(projectedMap, coord + pixel).rgb;\nvec3 color4 = texture2D(projectedMap, coord).rgb;\nvec2 texturePosition = coord * textureSize;\nfloat fu = fract(texturePosition.x);\nfloat fv = fract(texturePosition.y);\nvec3 average1 = mix(color4, color2, fu);\nvec3 average2 = mix(color1, color3, fu);\nvec3 color = mix(average1, average2, fv);\n#else\nvec3 color = texture2D(projectedMap, coord).rgb;\n#endif\nreturn color;\n}\nvec3 czm_sampleOctahedralProjection(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod, float maxLod) {\nfloat currentLod = floor(lod + 0.5);\nfloat nextLod = min(currentLod + 1.0, maxLod);\nvec3 colorCurrentLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, currentLod);\nvec3 colorNextLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, nextLod);\nreturn mix(colorNextLod, colorCurrentLod, nextLod - lod);\n}\n",czm_saturation="vec3 czm_saturation(vec3 rgb, float adjustment)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nvec3 intensity = vec3(dot(rgb, W));\nreturn mix(intensity, rgb, adjustment);\n}\n",czm_shadowDepthCompare="float czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d)\n{\nreturn czm_unpackDepth(textureCube(shadowMap, d));\n}\nfloat czm_sampleShadowMap(highp sampler2D shadowMap, vec2 uv)\n{\n#ifdef USE_SHADOW_DEPTH_TEXTURE\nreturn texture2D(shadowMap, uv).r;\n#else\nreturn czm_unpackDepth(texture2D(shadowMap, uv));\n#endif\n}\nfloat czm_shadowDepthCompare(samplerCube shadowMap, vec3 uv, float depth)\n{\nreturn step(depth, czm_sampleShadowMap(shadowMap, uv));\n}\nfloat czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth)\n{\nreturn step(depth, czm_sampleShadowMap(shadowMap, uv));\n}\n",czm_shadowVisibility="float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness)\n{\n#ifdef USE_NORMAL_SHADING\n#ifdef USE_NORMAL_SHADING_SMOOTH\nfloat strength = clamp(nDotL / normalShadingSmooth, 0.0, 1.0);\n#else\nfloat strength = step(0.0, nDotL);\n#endif\nvisibility *= strength;\n#endif\nvisibility = max(visibility, darkness);\nreturn visibility;\n}\n#ifdef USE_CUBE_MAP_SHADOW\nfloat czm_shadowVisibility(samplerCube shadowMap, czm_shadowParameters shadowParameters)\n{\nfloat depthBias = shadowParameters.depthBias;\nfloat depth = shadowParameters.depth;\nfloat nDotL = shadowParameters.nDotL;\nfloat normalShadingSmooth = shadowParameters.normalShadingSmooth;\nfloat darkness = shadowParameters.darkness;\nvec3 uvw = shadowParameters.texCoords;\ndepth -= depthBias;\nfloat visibility = czm_shadowDepthCompare(shadowMap, uvw, depth);\nreturn czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness);\n}\n#else\nfloat czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParameters)\n{\nfloat depthBias = shadowParameters.depthBias;\nfloat depth = shadowParameters.depth;\nfloat nDotL = shadowParameters.nDotL;\nfloat normalShadingSmooth = shadowParameters.normalShadingSmooth;\nfloat darkness = shadowParameters.darkness;\nvec2 uv = shadowParameters.texCoords;\ndepth -= depthBias;\n#ifdef USE_SOFT_SHADOWS\nvec2 texelStepSize = shadowParameters.texelStepSize;\nfloat radius = 1.0;\nfloat dx0 = -texelStepSize.x * radius;\nfloat dy0 = -texelStepSize.y * radius;\nfloat dx1 = texelStepSize.x * radius;\nfloat dy1 = texelStepSize.y * radius;\nfloat visibility = (\nczm_shadowDepthCompare(shadowMap, uv, depth) +\nczm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy0), depth) +\nczm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy0), depth) +\nczm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy0), depth) +\nczm_shadowDepthCompare(shadowMap, uv + vec2(dx0, 0.0), depth) +\nczm_shadowDepthCompare(shadowMap, uv + vec2(dx1, 0.0), depth) +\nczm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy1), depth) +\nczm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy1), depth) +\nczm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy1), depth)\n) * (1.0 / 9.0);\n#else\nfloat visibility = czm_shadowDepthCompare(shadowMap, uv, depth);\n#endif\nreturn czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness);\n}\n#endif\n",czm_signNotZero="float czm_signNotZero(float value)\n{\nreturn value >= 0.0 ? 1.0 : -1.0;\n}\nvec2 czm_signNotZero(vec2 value)\n{\nreturn vec2(czm_signNotZero(value.x), czm_signNotZero(value.y));\n}\nvec3 czm_signNotZero(vec3 value)\n{\nreturn vec3(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z));\n}\nvec4 czm_signNotZero(vec4 value)\n{\nreturn vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w));\n}\n",czm_sphericalHarmonics="vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9])\n{\nconst float c1 = 0.429043;\nconst float c2 = 0.511664;\nconst float c3 = 0.743125;\nconst float c4 = 0.886227;\nconst float c5 = 0.247708;\nvec3 L00 = coefficients[0];\nvec3 L1_1 = coefficients[1];\nvec3 L10 = coefficients[2];\nvec3 L11 = coefficients[3];\nvec3 L2_2 = coefficients[4];\nvec3 L2_1 = coefficients[5];\nvec3 L20 = coefficients[6];\nvec3 L21 = coefficients[7];\nvec3 L22 = coefficients[8];\nfloat x = normal.x;\nfloat y = normal.y;\nfloat z = normal.z;\nreturn c1 * L22 * (x * x - y * y) + c3 * L20 * z * z + c4 * L00 - c5 * L20 +\n2.0 * c1 * (L2_2 * x * y + L21 * x * z + L2_1 * y * z) +\n2.0 * c2 * (L11 * x + L1_1 * y + L10 * z);\n}\n",czm_tangentToEyeSpaceMatrix="mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC)\n{\nvec3 normal = normalize(normalEC);\nvec3 tangent = normalize(tangentEC);\nvec3 bitangent = normalize(bitangentEC);\nreturn mat3(tangent.x , tangent.y , tangent.z,\nbitangent.x, bitangent.y, bitangent.z,\nnormal.x , normal.y , normal.z);\n}\n",czm_transformPlane="vec4 czm_transformPlane(vec4 plane, mat4 transform) {\nvec4 transformedPlane = transform * plane;\nfloat normalMagnitude = length(transformedPlane.xyz);\nreturn transformedPlane / normalMagnitude;\n}\n",czm_translateRelativeToEye="vec4 czm_translateRelativeToEye(vec3 high, vec3 low)\n{\nvec3 highDifference = high - czm_encodedCameraPositionMCHigh;\nvec3 lowDifference = low - czm_encodedCameraPositionMCLow;\nreturn vec4(highDifference + lowDifference, 1.0);\n}\n",czm_translucentPhong="vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC)\n{\nfloat diffuse = czm_getLambertDiffuse(vec3(0.0, 0.0, 1.0), material.normal);\nif (czm_sceneMode == czm_sceneMode3D) {\ndiffuse += czm_getLambertDiffuse(vec3(0.0, 1.0, 0.0), material.normal);\n}\ndiffuse = clamp(diffuse, 0.0, 1.0);\nfloat specular = czm_getSpecular(lightDirectionEC, toEye, material.normal, material.shininess);\nvec3 materialDiffuse = material.diffuse * 0.5;\nvec3 ambient = materialDiffuse;\nvec3 color = ambient + material.emission;\ncolor += materialDiffuse * diffuse * czm_lightColor;\ncolor += material.specular * specular * czm_lightColor;\nreturn vec4(color, material.alpha);\n}\n",czm_transpose="mat2 czm_transpose(mat2 matrix)\n{\nreturn mat2(\nmatrix[0][0], matrix[1][0],\nmatrix[0][1], matrix[1][1]);\n}\nmat3 czm_transpose(mat3 matrix)\n{\nreturn mat3(\nmatrix[0][0], matrix[1][0], matrix[2][0],\nmatrix[0][1], matrix[1][1], matrix[2][1],\nmatrix[0][2], matrix[1][2], matrix[2][2]);\n}\nmat4 czm_transpose(mat4 matrix)\n{\nreturn mat4(\nmatrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0],\nmatrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1],\nmatrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2],\nmatrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]);\n}\n",czm_unpackDepth="float czm_unpackDepth(vec4 packedDepth)\n{\nreturn dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0));\n}\n",czm_unpackFloat="#define SHIFT_RIGHT_8 0.00390625 //1.0 / 256.0\n#define SHIFT_RIGHT_16 0.00001525878 //1.0 / 65536.0\n#define SHIFT_RIGHT_24 5.960464477539063e-8//1.0 / 16777216.0\n#define BIAS 38.0\nfloat czm_unpackFloat(vec4 packedFloat)\n{\npackedFloat *= 255.0;\nfloat temp = packedFloat.w / 2.0;\nfloat exponent = floor(temp);\nfloat sign = (temp - exponent) * 2.0;\nexponent = exponent - float(BIAS);\nsign = sign * 2.0 - 1.0;\nsign = -sign;\nfloat unpacked = sign * packedFloat.x * float(SHIFT_RIGHT_8);\nunpacked += sign * packedFloat.y * float(SHIFT_RIGHT_16);\nunpacked += sign * packedFloat.z * float(SHIFT_RIGHT_24);\nreturn unpacked * pow(10.0, exponent);\n}\n",czm_vertexLogDepth="#ifdef LOG_DEPTH\nvarying float v_depthFromNearPlusOne;\n#ifdef SHADOW_MAP\nvarying vec3 v_logPositionEC;\n#endif\n#endif\nvec4 czm_updatePositionDepth(vec4 coords) {\n#if defined(LOG_DEPTH)\n#ifdef SHADOW_MAP\nvec3 logPositionEC = (czm_inverseProjection * coords).xyz;\nv_logPositionEC = logPositionEC;\n#endif\ncoords.z = clamp(coords.z / coords.w, -1.0, 1.0) * coords.w;\n#endif\nreturn coords;\n}\nvoid czm_vertexLogDepth()\n{\n#ifdef LOG_DEPTH\nv_depthFromNearPlusOne = (gl_Position.w - czm_currentFrustum.x) + 1.0;\ngl_Position = czm_updatePositionDepth(gl_Position);\n#endif\n}\nvoid czm_vertexLogDepth(vec4 clipCoords)\n{\n#ifdef LOG_DEPTH\nv_depthFromNearPlusOne = (clipCoords.w - czm_currentFrustum.x) + 1.0;\nczm_updatePositionDepth(clipCoords);\n#endif\n}\n",czm_windowToEyeCoordinates="vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n{\nfloat x = 2.0 * (fragmentCoordinate.x - czm_viewport.x) / czm_viewport.z - 1.0;\nfloat y = 2.0 * (fragmentCoordinate.y - czm_viewport.y) / czm_viewport.w - 1.0;\nfloat z = (fragmentCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\nvec4 q = vec4(x, y, z, 1.0);\nq /= fragmentCoordinate.w;\nif (!(czm_inverseProjection == mat4(0.0)))\n{\nq = czm_inverseProjection * q;\n}\nelse\n{\nfloat top = czm_frustumPlanes.x;\nfloat bottom = czm_frustumPlanes.y;\nfloat left = czm_frustumPlanes.z;\nfloat right = czm_frustumPlanes.w;\nfloat near = czm_currentFrustum.x;\nfloat far = czm_currentFrustum.y;\nq.x = (q.x * (right - left) + left + right) * 0.5;\nq.y = (q.y * (top - bottom) + bottom + top) * 0.5;\nq.z = (q.z * (near - far) - near - far) * 0.5;\nq.w = 1.0;\n}\nreturn q;\n}\nvec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth)\n{\n#ifdef LOG_DEPTH\nfloat near = czm_currentFrustum.x;\nfloat far = czm_currentFrustum.y;\nfloat log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne;\nfloat depthFromNear = pow(2.0, log2Depth) - 1.0;\nfloat depthFromCamera = depthFromNear + near;\nvec4 windowCoord = vec4(fragmentCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0);\nvec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);\neyeCoordinate.w = 1.0 / depthFromCamera;\nreturn eyeCoordinate;\n#else\nvec4 windowCoord = vec4(fragmentCoordinateXY, depthOrLogDepth, 1.0);\nvec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);\n#endif\nreturn eyeCoordinate;\n}\n",czm_writeDepthClamp="#if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)\nvarying float v_WindowZ;\n#endif\nvoid czm_writeDepthClamp()\n{\n#if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)\ngl_FragDepthEXT = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0);\n#endif\n}\n",czm_writeLogDepth="#ifdef LOG_DEPTH\nvarying float v_depthFromNearPlusOne;\n#ifdef POLYGON_OFFSET\nuniform vec2 u_polygonOffset;\n#endif\n#endif\nvoid czm_writeLogDepth(float depth)\n{\n#if defined(GL_EXT_frag_depth) && defined(LOG_DEPTH)\nif (depth <= 0.9999999 || depth > czm_farDepthFromNearPlusOne) {\ndiscard;\n}\n#ifdef POLYGON_OFFSET\nfloat factor = u_polygonOffset[0];\nfloat units = u_polygonOffset[1];\n#ifdef GL_OES_standard_derivatives\nfloat x = dFdx(depth);\nfloat y = dFdy(depth);\nfloat m = sqrt(x * x + y * y);\ndepth += m * factor;\n#endif\n#endif\ngl_FragDepthEXT = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne;\n#ifdef POLYGON_OFFSET\ngl_FragDepthEXT += czm_epsilon7 * units;\n#endif\n#endif\n}\nvoid czm_writeLogDepth() {\n#ifdef LOG_DEPTH\nczm_writeLogDepth(v_depthFromNearPlusOne);\n#endif\n}\n",czm_writeNonPerspective="float czm_writeNonPerspective(float value, float w) {\nreturn value * w;\n}\nvec2 czm_writeNonPerspective(vec2 value, float w) {\nreturn value * w;\n}\nvec3 czm_writeNonPerspective(vec3 value, float w) {\nreturn value * w;\n}\nvec4 czm_writeNonPerspective(vec4 value, float w) {\nreturn value * w;\n}\n",czm_XYZToRGB="vec3 czm_XYZToRGB(vec3 Yxy)\n{\nconst mat3 XYZ2RGB = mat3( 3.2405, -0.9693, 0.0556,\n-1.5371, 1.8760, -0.2040,\n-0.4985, 0.0416, 1.0572);\nvec3 xyz;\nxyz.r = Yxy.r * Yxy.g / Yxy.b;\nxyz.g = Yxy.r;\nxyz.b = Yxy.r * (1.0 - Yxy.g - Yxy.b) / Yxy.b;\nreturn XYZ2RGB * xyz;\n}\n",CzmBuiltins={czm_degreesPerRadian:czm_degreesPerRadian,czm_depthRange:czm_depthRange,czm_epsilon1:czm_epsilon1,czm_epsilon2:czm_epsilon2,czm_epsilon3:czm_epsilon3,czm_epsilon4:czm_epsilon4,czm_epsilon5:czm_epsilon5,czm_epsilon6:czm_epsilon6,czm_epsilon7:czm_epsilon7,czm_infinity:czm_infinity,czm_oneOverPi:czm_oneOverPi,czm_oneOverTwoPi:czm_oneOverTwoPi,czm_passCesium3DTile:czm_passCesium3DTile,czm_passCesium3DTileClassification:czm_passCesium3DTileClassification,czm_passCesium3DTileClassificationIgnoreShow:czm_passCesium3DTileClassificationIgnoreShow,czm_passClassification:czm_passClassification,czm_passCompute:czm_passCompute,czm_passEnvironment:czm_passEnvironment,czm_passGlobe:czm_passGlobe,czm_passOpaque:czm_passOpaque,czm_passOverlay:czm_passOverlay,czm_passTerrainClassification:czm_passTerrainClassification,czm_passTranslucent:czm_passTranslucent,czm_pi:czm_pi,czm_piOverFour:czm_piOverFour,czm_piOverSix:czm_piOverSix,czm_piOverThree:czm_piOverThree,czm_piOverTwo:czm_piOverTwo,czm_radiansPerDegree:czm_radiansPerDegree,czm_sceneMode2D:czm_sceneMode2D,czm_sceneMode3D:czm_sceneMode3D,czm_sceneModeColumbusView:czm_sceneModeColumbusView,czm_sceneModeMorphing:czm_sceneModeMorphing,czm_solarRadius:czm_solarRadius,czm_threePiOver2:czm_threePiOver2,czm_twoPi:czm_twoPi,czm_webMercatorMaxLatitude:czm_webMercatorMaxLatitude,czm_depthRangeStruct:czm_depthRangeStruct,czm_ellipsoid:czm_ellipsoid,czm_material:czm_material,czm_materialInput:czm_materialInput,czm_ray:czm_ray,czm_raySegment:czm_raySegment,czm_shadowParameters:czm_shadowParameters,czm_acesTonemapping:czm_acesTonemapping,czm_alphaWeight:czm_alphaWeight,czm_antialias:czm_antialias,czm_approximateSphericalCoordinates:czm_approximateSphericalCoordinates,czm_backFacing:czm_backFacing,czm_branchFreeTernary:czm_branchFreeTernary,czm_cascadeColor:czm_cascadeColor,czm_cascadeDistance:czm_cascadeDistance,czm_cascadeMatrix:czm_cascadeMatrix,czm_cascadeWeights:czm_cascadeWeights,czm_columbusViewMorph:czm_columbusViewMorph,czm_computePosition:czm_computePosition,czm_cosineAndSine:czm_cosineAndSine,czm_decompressTextureCoordinates:czm_decompressTextureCoordinates,czm_depthClamp:czm_depthClamp,czm_eastNorthUpToEyeCoordinates:czm_eastNorthUpToEyeCoordinates,czm_ellipsoidContainsPoint:czm_ellipsoidContainsPoint,czm_ellipsoidWgs84TextureCoordinates:czm_ellipsoidWgs84TextureCoordinates,czm_equalsEpsilon:czm_equalsEpsilon,czm_eyeOffset:czm_eyeOffset,czm_eyeToWindowCoordinates:czm_eyeToWindowCoordinates,czm_fastApproximateAtan:czm_fastApproximateAtan,czm_fog:czm_fog,czm_gammaCorrect:czm_gammaCorrect,czm_geodeticSurfaceNormal:czm_geodeticSurfaceNormal,czm_getDefaultMaterial:czm_getDefaultMaterial,czm_getLambertDiffuse:czm_getLambertDiffuse,czm_getSpecular:czm_getSpecular,czm_getWaterNoise:czm_getWaterNoise,czm_getWgs84EllipsoidEC:czm_getWgs84EllipsoidEC,czm_HSBToRGB:czm_HSBToRGB,czm_HSLToRGB:czm_HSLToRGB,czm_hue:czm_hue,czm_inverseGamma:czm_inverseGamma,czm_isEmpty:czm_isEmpty,czm_isFull:czm_isFull,czm_latitudeToWebMercatorFraction:czm_latitudeToWebMercatorFraction,czm_lineDistance:czm_lineDistance,czm_luminance:czm_luminance,czm_metersPerPixel:czm_metersPerPixel,czm_modelToWindowCoordinates:czm_modelToWindowCoordinates,czm_multiplyWithColorBalance:czm_multiplyWithColorBalance,czm_nearFarScalar:czm_nearFarScalar,czm_octDecode:czm_octDecode,czm_packDepth:czm_packDepth,czm_phong:czm_phong,czm_planeDistance:czm_planeDistance,czm_pointAlongRay:czm_pointAlongRay,czm_rayEllipsoidIntersectionInterval:czm_rayEllipsoidIntersectionInterval,czm_readDepth:czm_readDepth,czm_readNonPerspective:czm_readNonPerspective,czm_reverseLogDepth:czm_reverseLogDepth,czm_RGBToHSB:czm_RGBToHSB,czm_RGBToHSL:czm_RGBToHSL,czm_RGBToXYZ:czm_RGBToXYZ,czm_sampleOctahedralProjection:czm_sampleOctahedralProjection,czm_saturation:czm_saturation,czm_shadowDepthCompare:czm_shadowDepthCompare,czm_shadowVisibility:czm_shadowVisibility,czm_signNotZero:czm_signNotZero,czm_sphericalHarmonics:czm_sphericalHarmonics,czm_tangentToEyeSpaceMatrix:czm_tangentToEyeSpaceMatrix,czm_transformPlane:czm_transformPlane,czm_translateRelativeToEye:czm_translateRelativeToEye,czm_translucentPhong:czm_translucentPhong,czm_transpose:czm_transpose,czm_unpackDepth:czm_unpackDepth,czm_unpackFloat:czm_unpackFloat,czm_vertexLogDepth:czm_vertexLogDepth,czm_windowToEyeCoordinates:czm_windowToEyeCoordinates,czm_writeDepthClamp:czm_writeDepthClamp,czm_writeLogDepth:czm_writeLogDepth,czm_writeNonPerspective:czm_writeNonPerspective,czm_XYZToRGB:czm_XYZToRGB},builtinName,uniformName,uniform;function removeComments(e){return(e=e.replace(/\/\/.*/g,"")).replace(/\/\*\*[\s\S]*?\*\//gm,function(e){for(var t=e.match(/\n/gm).length,i="",r=0;r<t;++r)i+="\n";return i})}function getDependencyNode(e,t,i){for(var r,n=0;n<i.length;++n)i[n].name===e&&(r=i[n]);return defined(r)||(r={name:e,glslSource:t=removeComments(t),dependsOn:[],requiredBy:[],evaluated:!1},i.push(r)),r}function generateDependencies(t,i){var r;t.evaluated||(t.evaluated=!0,defined(r=t.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g))&&null!==r&&(r=r.filter(function(e,t){return r.indexOf(e)===t})).forEach(function(e){e!==t.name&&ShaderSource._czmBuiltinsAndUniforms.hasOwnProperty(e)&&(e=getDependencyNode(e,ShaderSource._czmBuiltinsAndUniforms[e],i),t.dependsOn.push(e),e.requiredBy.push(t),generateDependencies(e,i))}))}function sortDependencies(e){for(var t=[],i=[];0<e.length;){var r=e.pop();i.push(r),0===r.requiredBy.length&&t.push(r)}for(;0<t.length;){var n=t.shift();e.push(n);for(var a=0;a<n.dependsOn.length;++a){var o=n.dependsOn[a],s=o.requiredBy.indexOf(n);o.requiredBy.splice(s,1),0===o.requiredBy.length&&t.push(o)}}for(var l=0;l<i.length;++l)i[l].requiredBy.length}function getBuiltinsAndAutomaticUniforms(e){var t=[],e=getDependencyNode("main",e,t);generateDependencies(e,t),sortDependencies(t);for(var i="",r=t.length-1;0<=r;--r)i=i+t[r].glslSource+"\n";return i.replace(e.glslSource,"")}function combineShader(e,t,i){var r,n,a="",o=e.sources;if(defined(o))for(d=0,r=o.length;d<r;++d)a+="\n#line 0\n"+o[d];a=(a=removeComments(a)).replace(/#version\s+(.*?)\n/gm,function(e,t){return n=t,"\n"});var s=[];a=(a=a.replace(/#extension.*\n/gm,function(e){return s.push(e),"\n"})).replace(/precision\s(lowp|mediump|highp)\s(float|int);/,"");var l=e.pickColorQualifier;defined(l)&&(a=ShaderSource.createPickFragmentShaderSource(a,l));var c="";defined(n)&&(c="#version "+n+"\n");for(var u=s.length,d=0;d<u;d++)c+=s[d];t&&(c+="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n#else\n precision mediump float;\n #define highp mediump\n#endif\n\n");var h=e.defines;if(defined(h))for(d=0,r=h.length;d<r;++d){var p=h[d];0!==p.length&&(c+="#define "+p+"\n")}return i.webgl2&&(c+="#define OUTPUT_DECLARATION\n\n"),i.textureFloatLinear&&(c+="#define OES_texture_float_linear\n\n"),e.includeBuiltIns&&(c+=getBuiltinsAndAutomaticUniforms(a)),c+="\n#line 0\n",c+=a,i.webgl2&&(c=modernizeShader(c,t)),c}function ShaderSource(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).pickColorQualifier;this.defines=defined(e.defines)?e.defines.slice(0):[],this.sources=defined(e.sources)?e.sources.slice(0):[],this.pickColorQualifier=t,this.includeBuiltIns=defaultValue(e.includeBuiltIns,!0)}for(builtinName in ShaderSource.prototype.clone=function(){return new ShaderSource({sources:this.sources,defines:this.defines,pickColorQualifier:this.pickColorQualifier,includeBuiltIns:this.includeBuiltIns})},ShaderSource.replaceMain=function(e,t){return t="void "+t+"()",e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,t)},ShaderSource.prototype.createCombinedVertexShader=function(e){return combineShader(this,!1,e)},ShaderSource.prototype.createCombinedFragmentShader=function(e){return combineShader(this,!0,e)},ShaderSource._czmBuiltinsAndUniforms={},CzmBuiltins)CzmBuiltins.hasOwnProperty(builtinName)&&(ShaderSource._czmBuiltinsAndUniforms[builtinName]=CzmBuiltins[builtinName]);for(uniformName in AutomaticUniforms){AutomaticUniforms.hasOwnProperty(uniformName)&&(uniform=AutomaticUniforms[uniformName],"function"==typeof uniform.getDeclaration&&(ShaderSource._czmBuiltinsAndUniforms[uniformName]=uniform.getDeclaration(uniformName)))}ShaderSource.createPickVertexShaderSource=function(e){return ShaderSource.replaceMain(e,"czm_old_main")+"\nattribute vec4 pickColor; \nvarying vec4 czm_pickColor; \nvoid main() \n{ \n czm_old_main(); \n czm_pickColor = pickColor; \n}"},ShaderSource.createPickFragmentShaderSource=function(e,t){return ShaderSource.replaceMain(e,"czm_old_main")+"\n"+(t+" vec4 czm_pickColor; \nvoid main() \n{ \n czm_old_main(); \n if (gl_FragColor.a == 0.0) { \n discard; \n } \n gl_FragColor = czm_pickColor; \n}")},ShaderSource.findVarying=function(e,t){for(var i=e.sources,r=t.length,n=0;n<r;++n)for(var a=t[n],o=i.length,s=0;s<o;++s)if(-1!==i[s].indexOf(a))return a};var normalVaryingNames=["v_normalEC","v_normal"];ShaderSource.findNormalVarying=function(e){return ShaderSource.findVarying(e,normalVaryingNames)};var positionVaryingNames=["v_positionEC"];ShaderSource.findPositionVarying=function(e){return ShaderSource.findVarying(e,positionVaryingNames)};var ShadowVolumeAppearanceVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute float batchId;\n#ifdef EXTRUDED_GEOMETRY\nattribute vec3 extrudeDirection;\nuniform float u_globeMinimumAltitude;\n#endif // EXTRUDED_GEOMETRY\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#endif // PER_INSTANCE_COLOR\n#ifdef TEXTURE_COORDINATES\n#ifdef SPHERICAL\nvarying vec4 v_sphericalExtents;\n#else // SPHERICAL\nvarying vec2 v_inversePlaneExtents;\nvarying vec4 v_westPlane;\nvarying vec4 v_southPlane;\n#endif // SPHERICAL\nvarying vec3 v_uvMinAndSphericalLongitudeRotation;\nvarying vec3 v_uMaxAndInverseDistance;\nvarying vec3 v_vMaxAndInverseDistance;\n#endif // TEXTURE_COORDINATES\nvoid main()\n{\nvec4 position = czm_computePosition();\n#ifdef EXTRUDED_GEOMETRY\nfloat delta = min(u_globeMinimumAltitude, czm_geometricToleranceOverMeter * length(position.xyz));\ndelta *= czm_sceneMode == czm_sceneMode3D ? 1.0 : 0.0;\nposition = position + vec4(extrudeDirection * delta, 0.0);\n#endif\n#ifdef TEXTURE_COORDINATES\n#ifdef SPHERICAL\nv_sphericalExtents = czm_batchTable_sphericalExtents(batchId);\nv_uvMinAndSphericalLongitudeRotation.z = czm_batchTable_longitudeRotation(batchId);\n#else // SPHERICAL\n#ifdef COLUMBUS_VIEW_2D\nvec4 planes2D_high = czm_batchTable_planes2D_HIGH(batchId);\nvec4 planes2D_low = czm_batchTable_planes2D_LOW(batchId);\nvec2 idlSplitNewPlaneHiLow = vec2(EAST_MOST_X_HIGH - (WEST_MOST_X_HIGH - planes2D_high.w), EAST_MOST_X_LOW - (WEST_MOST_X_LOW - planes2D_low.w));\nbool idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y > 0.0;\nplanes2D_high.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.w);\nplanes2D_low.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.w);\nidlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y < 0.0;\nidlSplitNewPlaneHiLow = vec2(WEST_MOST_X_HIGH - (EAST_MOST_X_HIGH - planes2D_high.x), WEST_MOST_X_LOW - (EAST_MOST_X_LOW - planes2D_low.x));\nplanes2D_high.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.x);\nplanes2D_low.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.x);\nvec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.xy), vec3(0.0, planes2D_low.xy))).xyz;\nvec3 northWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.x, planes2D_high.z), vec3(0.0, planes2D_low.x, planes2D_low.z))).xyz;\nvec3 southEastCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.w, planes2D_high.y), vec3(0.0, planes2D_low.w, planes2D_low.y))).xyz;\n#else // COLUMBUS_VIEW_2D\nvec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(czm_batchTable_southWest_HIGH(batchId), czm_batchTable_southWest_LOW(batchId))).xyz;\nvec3 northWestCorner = czm_normal * czm_batchTable_northward(batchId) + southWestCorner;\nvec3 southEastCorner = czm_normal * czm_batchTable_eastward(batchId) + southWestCorner;\n#endif // COLUMBUS_VIEW_2D\nvec3 eastWard = southEastCorner - southWestCorner;\nfloat eastExtent = length(eastWard);\neastWard /= eastExtent;\nvec3 northWard = northWestCorner - southWestCorner;\nfloat northExtent = length(northWard);\nnorthWard /= northExtent;\nv_westPlane = vec4(eastWard, -dot(eastWard, southWestCorner));\nv_southPlane = vec4(northWard, -dot(northWard, southWestCorner));\nv_inversePlaneExtents = vec2(1.0 / eastExtent, 1.0 / northExtent);\n#endif // SPHERICAL\nvec4 uvMinAndExtents = czm_batchTable_uvMinAndExtents(batchId);\nvec4 uMaxVmax = czm_batchTable_uMaxVmax(batchId);\nv_uMaxAndInverseDistance = vec3(uMaxVmax.xy, uvMinAndExtents.z);\nv_vMaxAndInverseDistance = vec3(uMaxVmax.zw, uvMinAndExtents.w);\nv_uvMinAndSphericalLongitudeRotation.xy = uvMinAndExtents.xy;\n#endif // TEXTURE_COORDINATES\n#ifdef PER_INSTANCE_COLOR\nv_color = czm_batchTable_color(batchId);\n#endif\ngl_Position = czm_depthClamp(czm_modelViewProjectionRelativeToEye * position);\n}\n",ShadowVolumeFS="#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n#ifdef VECTOR_TILE\nuniform vec4 u_highlightColor;\n#endif\nvoid main(void)\n{\n#ifdef VECTOR_TILE\ngl_FragColor = czm_gammaCorrect(u_highlightColor);\n#else\ngl_FragColor = vec4(1.0);\n#endif\nczm_writeDepthClamp();\n}\n",ClassificationType={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2,NUMBER_OF_CLASSIFICATION_TYPES:3},ClassificationType$1=Object.freeze(ClassificationType),DepthFunction={NEVER:WebGLConstants$1.NEVER,LESS:WebGLConstants$1.LESS,EQUAL:WebGLConstants$1.EQUAL,LESS_OR_EQUAL:WebGLConstants$1.LEQUAL,GREATER:WebGLConstants$1.GREATER,NOT_EQUAL:WebGLConstants$1.NOTEQUAL,GREATER_OR_EQUAL:WebGLConstants$1.GEQUAL,ALWAYS:WebGLConstants$1.ALWAYS},DepthFunction$1=Object.freeze(DepthFunction),BufferUsage={STREAM_DRAW:WebGLConstants$1.STREAM_DRAW,STATIC_DRAW:WebGLConstants$1.STATIC_DRAW,DYNAMIC_DRAW:WebGLConstants$1.DYNAMIC_DRAW,validate:function(e){return e===BufferUsage.STREAM_DRAW||e===BufferUsage.STATIC_DRAW||e===BufferUsage.DYNAMIC_DRAW}},BufferUsage$1=Object.freeze(BufferUsage);function Buffer$1(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context._gl,i=e.bufferTarget,r=e.typedArray,n=e.sizeInBytes,a=e.usage,o=defined(r);o&&(n=r.byteLength);var s=t.createBuffer();t.bindBuffer(i,s),t.bufferData(i,o?r:n,a),t.bindBuffer(i,null),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=i,this._sizeInBytes=n,this._usage=a,this._buffer=s,this.vertexArrayDestroyable=!0}function addAttribute(e,t,i,r){var n=defined(t.vertexBuffer),a=defined(t.value),o=t.value?t.value.length:t.componentsPerAttribute,s={index:defaultValue(t.index,i),enabled:defaultValue(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:a?t.value.slice(0):void 0,componentsPerAttribute:o,componentDatatype:defaultValue(t.componentDatatype,ComponentDatatype$1.FLOAT),normalize:defaultValue(t.normalize,!1),offsetInBytes:defaultValue(t.offsetInBytes,0),strideInBytes:defaultValue(t.strideInBytes,0),instanceDivisor:defaultValue(t.instanceDivisor,0)};if(n)s.vertexAttrib=function(e){var t=this.index;e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),e.vertexAttribPointer(t,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),e.enableVertexAttribArray(t),0<this.instanceDivisor&&(r.glVertexAttribDivisor(t,this.instanceDivisor),r._vertexAttribDivisors[t]=this.instanceDivisor,r._previousDrawInstanced=!0)},s.disableVertexAttribArray=function(e){e.disableVertexAttribArray(this.index),0<this.instanceDivisor&&r.glVertexAttribDivisor(i,0)};else{switch(s.componentsPerAttribute){case 1:s.vertexAttrib=function(e){e.vertexAttrib1fv(this.index,this.value)};break;case 2:s.vertexAttrib=function(e){e.vertexAttrib2fv(this.index,this.value)};break;case 3:s.vertexAttrib=function(e){e.vertexAttrib3fv(this.index,this.value)};break;case 4:s.vertexAttrib=function(e){e.vertexAttrib4fv(this.index,this.value)}}s.disableVertexAttribArray=function(e){}}e.push(s)}function bind(e,t,i){for(var r=0;r<t.length;++r){var n=t[r];n.enabled&&n.vertexAttrib(e)}defined(i)&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,i._getBuffer())}function VertexArray(e){for(var t,i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context,r=i._gl,n=e.attributes,e=e.indexBuffer,a=[],o=1,s=!1,l=!1,c=n.length,u=0;u<c;++u)addAttribute(a,n[u],u,i);for(c=a.length,u=0;u<c;++u){var d=a[u];if(defined(d.vertexBuffer)&&0===d.instanceDivisor){var h=d.strideInBytes||d.componentsPerAttribute*ComponentDatatype$1.getSizeInBytes(d.componentDatatype),o=d.vertexBuffer.sizeInBytes/h;break}}for(u=0;u<c;++u)0<a[u].instanceDivisor&&(s=!0),defined(a[u].value)&&(l=!0);i.vertexArrayObject&&(t=i.glCreateVertexArray(),i.glBindVertexArray(t),bind(r,a,e),i.glBindVertexArray(null)),this._numberOfVertices=o,this._hasInstancedAttributes=s,this._hasConstantAttributes=l,this._context=i,this._gl=r,this._vao=t,this._attributes=a,this._indexBuffer=e}function computeNumberOfVertices(e){return e.values.length/e.componentsPerAttribute}function computeAttributeSizeInBytes(e){return ComponentDatatype$1.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function interleaveAttributes(i){var e,t,r,n=[];for(e in i)i.hasOwnProperty(e)&&defined(i[e])&&defined(i[e].values)&&(n.push(e),i[e].componentDatatype===ComponentDatatype$1.DOUBLE&&(i[e].componentDatatype=ComponentDatatype$1.FLOAT,i[e].values=ComponentDatatype$1.createTypedArray(ComponentDatatype$1.FLOAT,i[e].values)));var a=n.length;if(0<a)for(r=computeNumberOfVertices(i[n[0]]),p=1;p<a;++p){var o=computeNumberOfVertices(i[n[p]]);if(o!==r)throw new RuntimeError("Each attribute list must have the same number of vertices. Attribute "+n[p]+" has a different number of vertices ("+o.toString()+") than attribute "+n[0]+" ("+r.toString()+").")}n.sort(function(e,t){return ComponentDatatype$1.getSizeInBytes(i[t].componentDatatype)-ComponentDatatype$1.getSizeInBytes(i[e].componentDatatype)});var s=0,l={};for(p=0;p<a;++p)e=n[p],t=i[e],l[e]=s,s+=computeAttributeSizeInBytes(t);if(0<s){var c=ComponentDatatype$1.getSizeInBytes(i[n[0]].componentDatatype),u=s%c;0!=u&&(s+=c-u);for(var d=new ArrayBuffer(r*s),h={},p=0;p<a;++p){e=n[p];var m=ComponentDatatype$1.getSizeInBytes(i[e].componentDatatype);h[e]={pointer:ComponentDatatype$1.createTypedArray(i[e].componentDatatype,d),index:l[e]/m,strideInComponentType:s/m}}for(p=0;p<r;++p)for(var f=0;f<a;++f){e=n[f];for(var g=(t=i[e]).values,_=h[e],y=_.pointer,C=t.componentsPerAttribute,v=0;v<C;++v)y[_.index+v]=g[p*C+v];_.index+=_.strideInComponentType}return{buffer:d,offsetsInBytes:l,vertexSizeInBytes:s}}}function setVertexAttribDivisor(e){var t=e._context,i=e._hasInstancedAttributes;if(i||t._previousDrawInstanced){t._previousDrawInstanced=i;var r=t._vertexAttribDivisors,n=e._attributes,a=ContextLimits.maximumVertexAttributes;if(i)for(var o=n.length,s=0;s<o;++s){var l,c=n[s];!c.enabled||(l=c.instanceDivisor)!==r[c=c.index]&&(t.glVertexAttribDivisor(c,l),r[c]=l)}else for(s=0;s<a;++s)0<r[s]&&(t.glVertexAttribDivisor(s,0),r[s]=0)}}function setConstantAttributes(e,t){for(var i=e._attributes,r=i.length,n=0;n<r;++n){var a=i[n];a.enabled&&defined(a.value)&&a.vertexAttrib(t)}}function BatchTable(e,t,i){var r,n,a,o,s,l,c;this._attributes=t,this._numberOfInstances=i,0!==t.length&&(r=getDatatype(t),s=e.floatingPointTexture,o=getStride(a=createOffsets(t,n=r===PixelDatatype$1.FLOAT&&!s),t,n),c=Math.floor(ContextLimits.maximumTextureSize/o),t=.5*(s=1/(e=o*(l=Math.min(i,c)))),l=.5*(i=1/(c=Math.ceil(i/l))),this._textureDimensions=new Cartesian2(e,c),this._textureStep=new Cartesian4(s,t,i,l),this._pixelDatatype=n?PixelDatatype$1.UNSIGNED_BYTE:r,this._packFloats=n,this._offsets=a,this._stride=o,this._texture=void 0,c=4*e*c,this._batchValues=new(r!==PixelDatatype$1.FLOAT||n?Uint8Array:Float32Array)(c),this._batchValuesDirty=!1)}function getDatatype(e){for(var t=!1,i=e.length,r=0;r<i;++r)if(e[r].componentDatatype!==ComponentDatatype$1.UNSIGNED_BYTE){t=!0;break}return t?PixelDatatype$1.FLOAT:PixelDatatype$1.UNSIGNED_BYTE}function getAttributeType(e,t){t=e[t].componentsPerAttribute;return 2===t?Cartesian2:3===t?Cartesian3:4===t?Cartesian4:Number}function createOffsets(e,t){for(var i=new Array(e.length),r=0,n=e.length,a=0;a<n;++a){var o=e[a].componentDatatype;i[a]=r,o!==ComponentDatatype$1.UNSIGNED_BYTE&&t?r+=4:++r}return i}function getStride(e,t,i){var r=e.length,e=e[r-1];return t[r-1].componentDatatype!==ComponentDatatype$1.UNSIGNED_BYTE&&i?e+4:e+1}Buffer$1.createVertexBuffer=function(e){return new Buffer$1({context:e.context,bufferTarget:WebGLConstants$1.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})},Buffer$1.createIndexBuffer=function(e){var t=e.context,i=e.indexDatatype,r=IndexDatatype$1.getSizeInBytes(i),e=new Buffer$1({context:t,bufferTarget:WebGLConstants$1.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),n=e.sizeInBytes/r;return Object.defineProperties(e,{indexDatatype:{get:function(){return i}},bytesPerIndex:{get:function(){return r}},numberOfIndices:{get:function(){return n}}}),e},Object.defineProperties(Buffer$1.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}}),Buffer$1.prototype._getBuffer=function(){return this._buffer},Buffer$1.prototype.copyFromArrayView=function(e,t){t=defaultValue(t,0);var i=this._gl,r=this._bufferTarget;i.bindBuffer(r,this._buffer),i.bufferSubData(r,t,e),i.bindBuffer(r,null)},Buffer$1.prototype.copyFromBuffer=function(e,t,i,r){var n=WebGLConstants$1.COPY_READ_BUFFER,a=WebGLConstants$1.COPY_WRITE_BUFFER,o=this._gl;o.bindBuffer(a,this._buffer),o.bindBuffer(n,e._buffer),o.copyBufferSubData(n,a,t,i,r),o.bindBuffer(a,null),o.bindBuffer(n,null)},Buffer$1.prototype.getBufferData=function(e,t,i,r){t=defaultValue(t,0),i=defaultValue(i,0);var n=this._gl,a=WebGLConstants$1.COPY_READ_BUFFER;n.bindBuffer(a,this._buffer),n.getBufferSubData(a,t,e,i,r),n.bindBuffer(a,null)},Buffer$1.prototype.isDestroyed=function(){return!1},Buffer$1.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),destroyObject(this)},VertexArray.fromGeometry=function(e){var t,i,r,n,a,o=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context,s=defaultValue(e.geometry,defaultValue.EMPTY_OBJECT),l=defaultValue(e.bufferUsage,BufferUsage$1.DYNAMIC_DRAW),c=defaultValue(e.attributeLocations,defaultValue.EMPTY_OBJECT),u=defaultValue(e.interleave,!1),e=e.vertexArrayAttributes,d=defined(e)?e:[],h=s.attributes;if(u){var p=interleaveAttributes(h);if(defined(p)){r=Buffer$1.createVertexBuffer({context:o,typedArray:p.buffer,usage:l});var m=p.offsetsInBytes,f=p.vertexSizeInBytes;for(t in h)h.hasOwnProperty(t)&&defined(h[t])&&(defined((i=h[t]).values)?d.push({index:c[t],vertexBuffer:r,componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,offsetInBytes:m[t],strideInBytes:f}):d.push({index:c[t],value:i.value,componentDatatype:i.componentDatatype,normalize:i.normalize}))}}else for(t in h)h.hasOwnProperty(t)&&defined(h[t])&&((n=(i=h[t]).componentDatatype)===ComponentDatatype$1.DOUBLE&&(n=ComponentDatatype$1.FLOAT),r=void 0,defined(i.values)&&(r=Buffer$1.createVertexBuffer({context:o,typedArray:ComponentDatatype$1.createTypedArray(n,i.values),usage:l})),d.push({index:c[t],vertexBuffer:r,value:i.value,componentDatatype:n,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize}));p=s.indices;return defined(p)&&(a=Geometry.computeNumberOfVertices(s)>=CesiumMath.SIXTY_FOUR_KILOBYTES&&o.elementIndexUint?Buffer$1.createIndexBuffer({context:o,typedArray:new Uint32Array(p),usage:l,indexDatatype:IndexDatatype$1.UNSIGNED_INT}):Buffer$1.createIndexBuffer({context:o,typedArray:new Uint16Array(p),usage:l,indexDatatype:IndexDatatype$1.UNSIGNED_SHORT})),new VertexArray({context:o,attributes:d,indexBuffer:a})},Object.defineProperties(VertexArray.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}}),VertexArray.prototype.getAttribute=function(e){return this._attributes[e]},VertexArray.prototype._bind=function(){defined(this._vao)?(this._context.glBindVertexArray(this._vao),this._context.instancedArrays&&setVertexAttribDivisor(this),this._hasConstantAttributes&&setConstantAttributes(this,this._gl)):bind(this._gl,this._attributes,this._indexBuffer)},VertexArray.prototype._unBind=function(){if(defined(this._vao))this._context.glBindVertexArray(null);else{for(var e=this._attributes,t=this._gl,i=0;i<e.length;++i){var r=e[i];r.enabled&&r.disableVertexAttribArray(t)}this._indexBuffer&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)}},VertexArray.prototype.isDestroyed=function(){return!1},VertexArray.prototype.destroy=function(){for(var e=this._attributes,t=0;t<e.length;++t){var i=e[t].vertexBuffer;defined(i)&&!i.isDestroyed()&&i.vertexArrayDestroyable&&i.destroy()}var r=this._indexBuffer;return defined(r)&&!r.isDestroyed()&&r.vertexArrayDestroyable&&r.destroy(),defined(this._vao)&&this._context.glDeleteVertexArray(this._vao),destroyObject(this)},Object.defineProperties(BatchTable.prototype,{attributes:{get:function(){return this._attributes}},numberOfInstances:{get:function(){return this._numberOfInstances}}});var scratchPackedFloatCartesian4=new Cartesian4;function getPackedFloat(e,t,i){var r=Cartesian4.unpack(e,t,scratchPackedFloatCartesian4),n=Cartesian4.unpackFloat(r),r=Cartesian4.unpack(e,t+4,scratchPackedFloatCartesian4),a=Cartesian4.unpackFloat(r);r=Cartesian4.unpack(e,t+8,scratchPackedFloatCartesian4);var o=Cartesian4.unpackFloat(r);r=Cartesian4.unpack(e,t+12,scratchPackedFloatCartesian4);r=Cartesian4.unpackFloat(r);return Cartesian4.fromElements(n,a,o,r,i)}function setPackedAttribute(e,t,i){var r=Cartesian4.packFloat(e.x,scratchPackedFloatCartesian4);Cartesian4.pack(r,t,i),r=Cartesian4.packFloat(e.y,r),Cartesian4.pack(r,t,i+4),r=Cartesian4.packFloat(e.z,r),Cartesian4.pack(r,t,i+8),r=Cartesian4.packFloat(e.w,r),Cartesian4.pack(r,t,i+12)}var scratchGetAttributeCartesian4=new Cartesian4;BatchTable.prototype.getBatchedAttribute=function(e,t,i){var r=this._attributes,n=this._offsets[t],n=4*this._stride*e+4*n,n=this._packFloats&&r[t].componentDatatype!==PixelDatatype$1.UNSIGNED_BYTE?getPackedFloat(this._batchValues,n,scratchGetAttributeCartesian4):Cartesian4.unpack(this._batchValues,n,scratchGetAttributeCartesian4),t=getAttributeType(r,t);return defined(t.fromCartesian4)?t.fromCartesian4(n,i):defined(t.clone)?t.clone(n,i):n.x};var setAttributeScratchValues=[void 0,void 0,new Cartesian2,new Cartesian3,new Cartesian4],setAttributeScratchCartesian4=new Cartesian4;function createTexture(e,t){var i=e._textureDimensions;e._texture=new Texture({context:t,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:e._pixelDatatype,width:i.x,height:i.y,sampler:Sampler.NEAREST,flipY:!1})}function updateTexture(e){var t=e._textureDimensions;e._texture.copyFrom({width:t.x,height:t.y,arrayBufferView:e._batchValues})}function getGlslComputeSt(e){var t=e._stride;return 1===e._textureDimensions.y?"uniform vec4 batchTextureStep; \nvec2 computeSt(float batchId) \n{ \n float stepX = batchTextureStep.x; \n float centerX = batchTextureStep.y; \n float numberOfAttributes = float("+t+"); \n return vec2(centerX + (batchId * numberOfAttributes * stepX), 0.5); \n} \n":"uniform vec4 batchTextureStep; \nuniform vec2 batchTextureDimensions; \nvec2 computeSt(float batchId) \n{ \n float stepX = batchTextureStep.x; \n float centerX = batchTextureStep.y; \n float stepY = batchTextureStep.z; \n float centerY = batchTextureStep.w; \n float numberOfAttributes = float("+t+"); \n float xId = mod(batchId * numberOfAttributes, batchTextureDimensions.x); \n float yId = floor(batchId * numberOfAttributes / batchTextureDimensions.x); \n return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); \n} \n"}function getComponentType(e){return 1===e?"float":"vec"+e}function getComponentSwizzle(e){return 1===e?".x":2===e?".xy":3===e?".xyz":""}function getGlslAttributeFunction(e,t){var i=e._attributes[t],r=i.componentsPerAttribute,n=i.functionName,a=getComponentType(r),r=getComponentSwizzle(r),t=a+" "+n+"(float batchId) \n{ \n vec2 st = computeSt(batchId); \n st.x += batchTextureStep.x * float("+e._offsets[t]+"); \n";return e._packFloats&&i.componentDatatype!==PixelDatatype$1.UNSIGNED_BYTE?t+="vec4 textureValue; \ntextureValue.x = czm_unpackFloat(texture2D(batchTexture, st)); \ntextureValue.y = czm_unpackFloat(texture2D(batchTexture, st + vec2(batchTextureStep.x, 0.0))); \ntextureValue.z = czm_unpackFloat(texture2D(batchTexture, st + vec2(batchTextureStep.x * 2.0, 0.0))); \ntextureValue.w = czm_unpackFloat(texture2D(batchTexture, st + vec2(batchTextureStep.x * 3.0, 0.0))); \n":t+=" vec4 textureValue = texture2D(batchTexture, st); \n",t+=" "+a+" value = textureValue"+r+"; \n",e._pixelDatatype!==PixelDatatype$1.UNSIGNED_BYTE||i.componentDatatype!==ComponentDatatype$1.UNSIGNED_BYTE||i.normalize?e._pixelDatatype===PixelDatatype$1.FLOAT&&i.componentDatatype===ComponentDatatype$1.UNSIGNED_BYTE&&i.normalize&&(t+="value /= 255.0; \n"):t+="value *= 255.0; \n",t+=" return value; \n} \n"}function transformToWorldCoordinates(e,t,i){var r=!i,n=e.length;if(!r&&1<n)for(var a=e[0].modelMatrix,o=1;o<n;++o)if(!Matrix4.equals(a,e[o].modelMatrix)){r=!0;break}if(r)for(o=0;o<n;++o)defined(e[o].geometry)&&GeometryPipeline.transformToWorldCoordinates(e[o]);else Matrix4.multiplyTransformation(t,e[0].modelMatrix,t)}function addGeometryBatchId(e,t){var i=e.attributes,e=i.position,r=e.values.length/e.componentsPerAttribute;i.batchId=new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:1,values:new Float32Array(r)});for(var n=i.batchId.values,a=0;a<r;++a)n[a]=t}function addBatchIds(e){for(var t=e.length,i=0;i<t;++i){var r=e[i];defined(r.geometry)?addGeometryBatchId(r.geometry,i):defined(r.westHemisphereGeometry)&&defined(r.eastHemisphereGeometry)&&(addGeometryBatchId(r.westHemisphereGeometry,i),addGeometryBatchId(r.eastHemisphereGeometry,i))}}function geometryPipeline(e){var t,i=e.instances,r=e.projection,n=e.elementIndexUintSupported,a=e.scene3DOnly,o=e.vertexCacheOptimize,s=e.compressVertices,e=e.modelMatrix,l=i.length;for(g=0;g<l;++g)if(defined(i[g].geometry)){i[g].geometry.primitiveType;break}if(transformToWorldCoordinates(i,e,a),!a)for(g=0;g<l;++g)defined(i[g].geometry)&&GeometryPipeline.splitLongitude(i[g]);if(addBatchIds(i),o)for(g=0;g<l;++g){var c=i[g];defined(c.geometry)?(GeometryPipeline.reorderForPostVertexCache(c.geometry),GeometryPipeline.reorderForPreVertexCache(c.geometry)):defined(c.westHemisphereGeometry)&&defined(c.eastHemisphereGeometry)&&(GeometryPipeline.reorderForPostVertexCache(c.westHemisphereGeometry),GeometryPipeline.reorderForPreVertexCache(c.westHemisphereGeometry),GeometryPipeline.reorderForPostVertexCache(c.eastHemisphereGeometry),GeometryPipeline.reorderForPreVertexCache(c.eastHemisphereGeometry))}var u=GeometryPipeline.combineInstances(i);for(l=u.length,g=0;g<l;++g){var d,h,p,m=(t=u[g]).attributes;if(a)for(d in m)m.hasOwnProperty(d)&&m[d].componentDatatype===ComponentDatatype$1.DOUBLE&&GeometryPipeline.encodeAttribute(t,d,d+"3DHigh",d+"3DLow");else for(d in m)m.hasOwnProperty(d)&&m[d].componentDatatype===ComponentDatatype$1.DOUBLE&&(h=d+"3D",p=d+"2D",GeometryPipeline.projectTo2D(t,d,h,p,r),defined(t.boundingSphere)&&"position"===d&&(t.boundingSphereCV=BoundingSphere.fromVertices(t.attributes.position2D.values)),GeometryPipeline.encodeAttribute(t,h,h+"High",h+"Low"),GeometryPipeline.encodeAttribute(t,p,p+"High",p+"Low"));s&&GeometryPipeline.compressVertices(t)}if(!n){for(var f=[],l=u.length,g=0;g<l;++g)t=u[g],f=f.concat(GeometryPipeline.fitToUnsignedShortIndices(t));u=f}return u}function createPickOffsets(e,t,i,r){var n,a,o,s=r.length-1;o=0<=s?(n=(s=r[s]).offset+s.count,i[a=s.index].indices.length):i[a=n=0].indices.length;for(var l=e.length,c=0;c<l;++c){var u=e[c][t];defined(u)&&(o<n+(u=u.indices.length)&&(n=0,o=i[++a].indices.length),r.push({index:a,offset:n,count:u}),n+=u)}}function createInstancePickOffsets(e,t){var i=[];return createPickOffsets(e,"geometry",t,i),createPickOffsets(e,"westHemisphereGeometry",t,i),createPickOffsets(e,"eastHemisphereGeometry",t,i),i}BatchTable.prototype.setBatchedAttribute=function(e,t,i){var r=this._attributes,n=setAttributeScratchValues[r[t].componentsPerAttribute],a=this.getBatchedAttribute(e,t,n),n=getAttributeType(this._attributes,t);(defined(n.equals)?n.equals(a,i):a===i)||((a=setAttributeScratchCartesian4).x=defined(i.x)?i.x:i,a.y=defined(i.y)?i.y:0,a.z=defined(i.z)?i.z:0,a.w=defined(i.w)?i.w:0,i=this._offsets[t],i=4*this._stride*e+4*i,this._packFloats&&r[t].componentDatatype!==PixelDatatype$1.UNSIGNED_BYTE?setPackedAttribute(a,this._batchValues,i):Cartesian4.pack(a,this._batchValues,i),this._batchValuesDirty=!0)},BatchTable.prototype.update=function(e){defined(this._texture)&&!this._batchValuesDirty||0===this._attributes.length||(this._batchValuesDirty=!1,defined(this._texture)||createTexture(this,e.context),updateTexture(this))},BatchTable.prototype.getUniformMapCallback=function(){var t=this;return function(e){return 0===t._attributes.length?e:combine(e,{batchTexture:function(){return t._texture},batchTextureDimensions:function(){return t._textureDimensions},batchTextureStep:function(){return t._textureStep}})}},BatchTable.prototype.getVertexShaderCallback=function(){var e=this._attributes;if(0===e.length)return function(e){return e};var r="uniform highp sampler2D batchTexture; \n";r+=getGlslComputeSt(this)+"\n";for(var t=e.length,i=0;i<t;++i)r+=getGlslAttributeFunction(this,i);return function(e){var t=e.indexOf("void main"),i=e.substring(0,t),t=e.substring(t);return i+"\n"+r+"\n"+t}},BatchTable.prototype.isDestroyed=function(){return!1},BatchTable.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),destroyObject(this)};var PrimitivePipeline={};function transferGeometry(e,t){var i,r,n=e.attributes;for(i in n)!n.hasOwnProperty(i)||defined(r=n[i])&&defined(r.values)&&t.push(r.values.buffer);defined(e.indices)&&t.push(e.indices.buffer)}function transferGeometries(e,t){for(var i=e.length,r=0;r<i;++r)transferGeometry(e[r],t)}function countCreateGeometryResults(e){for(var t=1,i=e.length,r=0;r<i;r++){var n=e[r];if(++t,defined(n)){var a,o=n.attributes;for(a in t+=7+2*BoundingSphere.packedLength+(defined(n.indices)?n.indices.length:0),o)o.hasOwnProperty(a)&&defined(o[a])&&(t+=5+o[a].values.length)}}return t}function packInstancesForCombine(e,t){var i=e.length,r=new Float64Array(1+19*i),n=0;r[n++]=i;for(var a=0;a<i;a++){var o=e[a];Matrix4.pack(o.modelMatrix,r,n),n+=Matrix4.packedLength,defined(o.attributes)&&defined(o.attributes.offset)&&(o=o.attributes.offset.value,r[n]=o[0],r[n+1]=o[1],r[n+2]=o[2]),n+=3}return t.push(r.buffer),r}function unpackInstancesForCombine(e){for(var t=e,i=new Array(t[0]),r=0,n=1;n<t.length;){var a,o=Matrix4.unpack(t,n);defined(t[n+=Matrix4.packedLength])&&(a={offset:new OffsetGeometryInstanceAttribute(t[n],t[n+1],t[n+2])}),n+=3,i[r++]={modelMatrix:o,attributes:a}}return i}function packBoundingSpheres(e){var t=e.length,i=1+(BoundingSphere.packedLength+1)*t,r=new Float32Array(i),n=0;r[n++]=t;for(var a=0;a<t;++a)defined(e[a])?(r[n++]=1,BoundingSphere.pack(e[a],r,n)):r[n++]=0,n+=BoundingSphere.packedLength;return r}function unpackBoundingSpheres(e){for(var t=new Array(e[0]),i=0,r=1;r<e.length;)1===e[r++]&&(t[i]=BoundingSphere.unpack(e,r)),++i,r+=BoundingSphere.packedLength;return t}PrimitivePipeline.combineGeometry=function(e){var t,i,r,n,a=e.instances,o=a.length,s=!1;0<o&&(0<(t=geometryPipeline(e)).length&&(i=GeometryPipeline.createAttributeLocations(t[0]),e.createPickOffsets&&(r=createInstancePickOffsets(a,t))),defined(a[0].attributes)&&defined(a[0].attributes.offset)&&(n=new Array(o),s=!0));for(var l=new Array(o),c=new Array(o),u=0;u<o;++u){var d=a[u],h=d.geometry;defined(h)&&(l[u]=h.boundingSphere,c[u]=h.boundingSphereCV,s&&(n[u]=d.geometry.offsetAttribute));h=d.eastHemisphereGeometry,d=d.westHemisphereGeometry;defined(h)&&defined(d)&&(defined(h.boundingSphere)&&defined(d.boundingSphere)&&(l[u]=BoundingSphere.union(h.boundingSphere,d.boundingSphere)),defined(h.boundingSphereCV)&&defined(d.boundingSphereCV)&&(c[u]=BoundingSphere.union(h.boundingSphereCV,d.boundingSphereCV)))}return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:i,pickOffsets:r,offsetInstanceExtend:n,boundingSpheres:l,boundingSpheresCV:c}},PrimitivePipeline.packCreateGeometryResults=function(e,t){var i=new Float64Array(countCreateGeometryResults(e)),r=[],n={},a=e.length,o=0;i[o++]=a;for(var s=0;s<a;s++){var l=e[s],c=defined(l);if(i[o++]=c?1:0,c){i[o++]=l.primitiveType,i[o++]=l.geometryType,i[o++]=defaultValue(l.offsetAttribute,-1);c=defined(l.boundingSphere)?1:0;(i[o++]=c)&&BoundingSphere.pack(l.boundingSphere,i,o),o+=BoundingSphere.packedLength;c=defined(l.boundingSphereCV)?1:0;(i[o++]=c)&&BoundingSphere.pack(l.boundingSphereCV,i,o),o+=BoundingSphere.packedLength;var u,d=l.attributes,h=[];for(u in d)d.hasOwnProperty(u)&&defined(d[u])&&(h.push(u),defined(n[u])||(n[u]=r.length,r.push(u)));i[o++]=h.length;for(var p=0;p<h.length;p++){var m=h[p],f=d[m];i[o++]=n[m],i[o++]=f.componentDatatype,i[o++]=f.componentsPerAttribute,i[o++]=f.normalize?1:0,i[o++]=f.values.length,i.set(f.values,o),o+=f.values.length}c=defined(l.indices)?l.indices.length:0;0<(i[o++]=c)&&(i.set(l.indices,o),o+=c)}}return t.push(i.buffer),{stringTable:r,packedData:i}},PrimitivePipeline.unpackCreateGeometryResults=function(e){for(var t=e.stringTable,i=e.packedData,r=new Array(i[0]),n=0,a=1;a<i.length;)if(1===i[a++]){var o,s,l=i[a++],c=i[a++],u=i[a++];-1===u&&(u=void 0),1===i[a++]&&(o=BoundingSphere.unpack(i,a)),a+=BoundingSphere.packedLength,1===i[a++]&&(s=BoundingSphere.unpack(i,a)),a+=BoundingSphere.packedLength;var d=new GeometryAttributes,h=i[a++];for(T=0;T<h;T++){for(var p=t[i[a++]],m=i[a++],f=i[a++],g=0!==i[a++],_=i[a++],y=ComponentDatatype$1.createTypedArray(m,_),C=0;C<_;C++)y[C]=i[a++];d[p]=new GeometryAttribute({componentDatatype:m,componentsPerAttribute:f,normalize:g,values:y})}if(0<(_=i[a++]))for(var v=y.length/f,S=IndexDatatype$1.createTypedArray(v,_),T=0;T<_;T++)S[T]=i[a++];r[n++]=new Geometry({primitiveType:l,geometryType:c,boundingSphere:o,boundingSphereCV:s,indices:S,attributes:d,offsetAttribute:u})}else r[n++]=void 0;return r},PrimitivePipeline.packCombineGeometryParameters=function(e,t){for(var i=e.createGeometryResults,r=i.length,n=0;n<r;n++)t.push(i[n].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:packInstancesForCombine(e.instances,t),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof GeographicProjection,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}},PrimitivePipeline.unpackCombineGeometryParameters=function(e){for(var t=unpackInstancesForCombine(e.packedInstances),i=e.createGeometryResults,r=i.length,n=0,a=0;a<r;a++)for(var o=PrimitivePipeline.unpackCreateGeometryResults(i[a]),s=o.length,l=0;l<s;l++){var c=o[l];t[n].geometry=c,++n}var u=Ellipsoid.clone(e.ellipsoid);return{instances:t,ellipsoid:u,projection:new(e.isGeographic?GeographicProjection:WebMercatorProjection)(u),elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:Matrix4.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}},PrimitivePipeline.packCombineGeometryResults=function(e,t){defined(e.geometries)&&transferGeometries(e.geometries,t);var i=packBoundingSpheres(e.boundingSpheres),r=packBoundingSpheres(e.boundingSpheresCV);return t.push(i.buffer,r.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:i,boundingSpheresCV:r}},PrimitivePipeline.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:unpackBoundingSpheres(e.boundingSpheres),boundingSpheresCV:unpackBoundingSpheres(e.boundingSpheresCV)}};var PrimitiveState={READY:0,CREATING:1,CREATED:2,COMBINING:3,COMBINED:4,COMPLETE:5,FAILED:6},PrimitiveState$1=Object.freeze(PrimitiveState),SceneMode={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3,getMorphTime:function(e){return e===SceneMode.SCENE3D?1:e!==SceneMode.MORPHING?0:void 0}},SceneMode$1=Object.freeze(SceneMode),ShadowMode={DISABLED:0,ENABLED:1,CAST_ONLY:2,RECEIVE_ONLY:3,NUMBER_OF_SHADOW_MODES:4,castShadows:function(e){return e===ShadowMode.ENABLED||e===ShadowMode.CAST_ONLY},receiveShadows:function(e){return e===ShadowMode.ENABLED||e===ShadowMode.RECEIVE_ONLY},fromCastReceive:function(e,t){return e&&t?ShadowMode.ENABLED:e?ShadowMode.CAST_ONLY:t?ShadowMode.RECEIVE_ONLY:ShadowMode.DISABLED}},ShadowMode$1=Object.freeze(ShadowMode);function Primitive(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this.appearance=e.appearance,this._appearance=void 0,this._material=void 0,this.depthFailAppearance=e.depthFailAppearance,this._depthFailAppearance=void 0,this._depthFailMaterial=void 0,this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this._modelMatrix=new Matrix4,this.show=defaultValue(e.show,!0),this._vertexCacheOptimize=defaultValue(e.vertexCacheOptimize,!1),this._interleave=defaultValue(e.interleave,!1),this._releaseGeometryInstances=defaultValue(e.releaseGeometryInstances,!0),this._allowPicking=defaultValue(e.allowPicking,!0),this._asynchronous=defaultValue(e.asynchronous,!0),this._compressVertices=defaultValue(e.compressVertices,!0),this.cull=defaultValue(e.cull,!0),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this.rtcCenter=e.rtcCenter,this.shadows=defaultValue(e.shadows,ShadowMode$1.DISABLED),this._translucent=void 0,this._state=PrimitiveState$1.READY,this._geometries=[],this._error=void 0,this._numberOfInstances=0,this._boundingSpheres=[],this._boundingSphereWC=[],this._boundingSphereCV=[],this._boundingSphere2D=[],this._boundingSphereMorph=[],this._perInstanceAttributeCache=[],this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._va=[],this._attributeLocations=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._depthFailAppearance=void 0,this._spDepthFail=void 0,this._frontFaceDepthFailRS=void 0,this._backFaceDepthFailRS=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[],this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._createRenderStatesFunction=e._createRenderStatesFunction,this._createShaderProgramFunction=e._createShaderProgramFunction,this._createCommandsFunction=e._createCommandsFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._createPickOffsets=e._createPickOffsets,this._pickOffsets=void 0,this._createGeometryResults=void 0,this._ready=!1,this._readyPromise=when.defer(),this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0}function getCommonPerInstanceAttributeNames(e){var t,i=e.length,r=[],n=e[0].attributes;for(t in n)if(n.hasOwnProperty(t)&&defined(n[t])){for(var a=n[t],o=!0,s=1;s<i;++s){var l=e[s].attributes[t];if(!defined(l)||a.componentDatatype!==l.componentDatatype||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){o=!1;break}}o&&r.push(t)}return r}Object.defineProperties(Primitive.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}}});var scratchGetAttributeCartesian2=new Cartesian2,scratchGetAttributeCartesian3=new Cartesian3,scratchGetAttributeCartesian4$1=new Cartesian4;function getAttributeValue(e){var t=e.length;return 1===t?e[0]:2===t?Cartesian2.unpack(e,0,scratchGetAttributeCartesian2):3===t?Cartesian3.unpack(e,0,scratchGetAttributeCartesian3):4===t?Cartesian4.unpack(e,0,scratchGetAttributeCartesian4$1):void 0}function createBatchTable(e,t){var i=e.geometryInstances,r=Array.isArray(i)?i:[i],n=r.length;if(0!==n){for(var a,o,s,l=getCommonPerInstanceAttributeNames(r),c=l.length,u=[],d={},i={},h=r[0].attributes,p=0;p<c;++p)s=h[o=l[p]],d[o]=p,u.push({functionName:"czm_batchTable_"+o,componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize});-1!==l.indexOf("distanceDisplayCondition")&&(u.push({functionName:"czm_batchTable_boundingSphereCenter3DHigh",componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter3DLow",componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DHigh",componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DLow",componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereRadius",componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:1}),i.center3DHigh=u.length-5,i.center3DLow=u.length-4,i.center2DHigh=u.length-3,i.center2DLow=u.length-2,i.radius=u.length-1),-1!==l.indexOf("offset")&&(u.push({functionName:"czm_batchTable_offset2D",componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3}),a=u.length-1),u.push({functionName:"czm_batchTable_pickColor",componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});var m=u.length,f=new BatchTable(t,u,n);for(p=0;p<n;++p){for(var g=r[p],h=g.attributes,_=0;_<c;++_){var y=getAttributeValue((s=h[o=l[_]]).value),C=d[o];f.setBatchedAttribute(p,C,y)}var v={primitive:defaultValue(g.pickPrimitive,e)};defined(g.id)&&(v.id=g.id);g=t.createPickId(v);e._pickIds.push(g);v=g.color,g=scratchGetAttributeCartesian4$1;g.x=Color.floatToByte(v.red),g.y=Color.floatToByte(v.green),g.z=Color.floatToByte(v.blue),g.w=Color.floatToByte(v.alpha),f.setBatchedAttribute(p,m-1,g)}e._batchTable=f,e._batchTableAttributeIndices=d,e._batchTableBoundingSphereAttributeIndices=i,e._batchTableOffsetAttribute2DIndex=a}}function cloneAttribute(e){var t=Array.isArray(e.values)?e.values.slice(0):new e.values.constructor(e.values);return new GeometryAttribute({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:t})}function cloneGeometry(e){var t,i,r=e.attributes,n=new GeometryAttributes;for(t in r)r.hasOwnProperty(t)&&defined(r[t])&&(n[t]=cloneAttribute(r[t]));return defined(e.indices)&&(i=e.indices,i=Array.isArray(i)?i.slice(0):new i.constructor(i)),new Geometry({attributes:n,indices:i,primitiveType:e.primitiveType,boundingSphere:BoundingSphere.clone(e.boundingSphere)})}function cloneInstance(e,t){return{geometry:t,attributes:e.attributes,modelMatrix:Matrix4.clone(e.modelMatrix),pickPrimitive:e.pickPrimitive,id:e.id}}var positionRegex=/attribute\s+vec(?:3|4)\s+(.*)3DHigh;/g;function appendPickToVertexShader(e){return ShaderSource.replaceMain(e,"czm_non_pick_main")+"\nvarying vec4 v_pickColor; \nvoid main() \n{ \n czm_non_pick_main(); \n v_pickColor = czm_batchTable_pickColor(batchId); \n}"}function appendPickToFragmentShader(e){return"varying vec4 v_pickColor;\n"+e}function modifyForEncodedNormals(e,t){if(!e.compressVertices)return t;var i=-1!==t.search(/attribute\s+vec3\s+normal;/g),r=-1!==t.search(/attribute\s+vec2\s+st;/g);if(!i&&!r)return t;var n=-1!==t.search(/attribute\s+vec3\s+tangent;/g),a=-1!==t.search(/attribute\s+vec3\s+bitangent;/g),o=r&&i?2:1,s="compressedAttributes",l="attribute "+(1<(o+=n||a?1:0)?"vec"+o:"float")+" "+s+";",c="",e="";r&&(c+="vec2 st;\n",e+=" st = czm_decompressTextureCoordinates("+(1<o?s+".x":s)+");\n"),i&&n&&a?(c+="vec3 normal;\nvec3 tangent;\nvec3 bitangent;\n",e+=" czm_octDecode("+s+"."+(r?"yz":"xy")+", normal, tangent, bitangent);\n"):(i&&(c+="vec3 normal;\n",e+=" normal = czm_octDecode("+s+(1<o?"."+(r?"y":"x"):"")+");\n"),n&&(c+="vec3 tangent;\n",e+=" tangent = czm_octDecode("+s+"."+(r&&i?"z":"y")+");\n"),a&&(c+="vec3 bitangent;\n",e+=" bitangent = czm_octDecode("+s+"."+(r&&i?"z":"y")+");\n"));return t=(t=(t=(t=t.replace(/attribute\s+vec3\s+normal;/g,"")).replace(/attribute\s+vec2\s+st;/g,"")).replace(/attribute\s+vec3\s+tangent;/g,"")).replace(/attribute\s+vec3\s+bitangent;/g,""),[l,c,t=ShaderSource.replaceMain(t,"czm_non_compressed_main"),"void main() \n{ \n"+e+" czm_non_compressed_main(); \n}"].join("\n")}function depthClampVS(e){e=ShaderSource.replaceMain(e,"czm_non_depth_clamp_main");return e+="void main() {\n czm_non_depth_clamp_main();\n gl_Position = czm_depthClamp(gl_Position);}\n"}function depthClampFS(e){e=ShaderSource.replaceMain(e,"czm_non_depth_clamp_main");return e="#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n"+(e+="void main() {\n czm_non_depth_clamp_main();\n#if defined(GL_EXT_frag_depth)\n #if defined(LOG_DEPTH)\n czm_writeLogDepth();\n #else\n czm_writeDepthClamp();\n #endif\n#endif\n}\n")}function validateShaderMatching(e,t){e.vertexAttributes}function getUniformFunction(e,t){return function(){return e[t]}}Primitive._modifyShaderPosition=function(e,t,i){for(var r="",n="",a="";null!==(s=positionRegex.exec(t));){var o=s[1],s="vec4 czm_compute"+o[0].toUpperCase()+o.substr(1)+"()";"vec4 czm_computePosition()"!=s&&(r+=s+";\n"),defined(e.rtcCenter)?(r+="uniform mat4 u_modifiedModelView;\n",n+="attribute vec4 position;\n",a+=s+"\n{\n return u_modifiedModelView * position;\n}\n\n",t=(t=(t=(t=t.replace(/attribute\s+vec(?:3|4)\s+position3DHigh;/g,"")).replace(/attribute\s+vec(?:3|4)\s+position3DLow;/g,"")).replace(/czm_modelViewRelativeToEye\s+\*\s+/g,"")).replace(/czm_modelViewProjectionRelativeToEye/g,"czm_projection")):i?a+=s+"\n{\n return czm_translateRelativeToEye("+o+"3DHigh, "+o+"3DLow);\n}\n\n":(n+="attribute vec3 "+o+"2DHigh;\nattribute vec3 "+o+"2DLow;\n",a+=s+"\n{\n vec4 p;\n if (czm_morphTime == 1.0)\n {\n p = czm_translateRelativeToEye("+o+"3DHigh, "+o+"3DLow);\n }\n else if (czm_morphTime == 0.0)\n {\n p = czm_translateRelativeToEye("+o+"2DHigh.zxy, "+o+"2DLow.zxy);\n }\n else\n {\n p = czm_columbusViewMorph(\n czm_translateRelativeToEye("+o+"2DHigh.zxy, "+o+"2DLow.zxy),\n czm_translateRelativeToEye("+o+"3DHigh, "+o+"3DLow),\n czm_morphTime);\n }\n return p;\n}\n\n")}return[r,n,t,a].join("\n")},Primitive._appendShowToShader=function(e,t){if(!defined(e._batchTableAttributeIndices.show))return t;return ShaderSource.replaceMain(t,"czm_non_show_main")+"\nvoid main() \n{ \n czm_non_show_main(); \n gl_Position *= czm_batchTable_show(batchId); \n}"},Primitive._updateColorAttribute=function(e,t,i){if(!defined(e._batchTableAttributeIndices.color)&&!defined(e._batchTableAttributeIndices.depthFailColor))return t;if(-1===t.search(/attribute\s+vec4\s+color;/g))return t;t=(t=t).replace(/attribute\s+vec4\s+color;/g,"");return t=i?t.replace(/(\b)color(\b)/g,"$1czm_batchTable_depthFailColor(batchId)$2"):t.replace(/(\b)color(\b)/g,"$1czm_batchTable_color(batchId)$2")},Primitive._updatePickColorAttribute=function(e){return e.replace(/attribute\s+vec4\s+pickColor;/g,"").replace(/(\b)pickColor(\b)/g,"$1czm_batchTable_pickColor(batchId)$2")},Primitive._appendOffsetToShader=function(e,t){if(!defined(e._batchTableAttributeIndices.offset))return t;e="attribute float batchId;\n";e+="attribute float applyOffset;";e=t.replace(/attribute\s+float\s+batchId;/g,"attribute float batchId;\nattribute float applyOffset;"),t="vec4 $1 = czm_computePosition();\n";return t+=" if (czm_sceneMode == czm_sceneMode3D)\n",t+=" {\n",t+=" $1 = $1 + vec4(czm_batchTable_offset(batchId) * applyOffset, 0.0);",t+=" }\n",t+=" else\n",t+=" {\n",t+=" $1 = $1 + vec4(czm_batchTable_offset2D(batchId) * applyOffset, 0.0);",t+=" }\n",e=e.replace(/vec4\s+([A-Za-z0-9_]+)\s+=\s+czm_computePosition\(\);/g,"vec4 $1 = czm_computePosition();\n if (czm_sceneMode == czm_sceneMode3D)\n {\n $1 = $1 + vec4(czm_batchTable_offset(batchId) * applyOffset, 0.0); }\n else\n {\n $1 = $1 + vec4(czm_batchTable_offset2D(batchId) * applyOffset, 0.0); }\n")},Primitive._appendDistanceDisplayConditionToShader=function(e,t,i){if(!defined(e._batchTableAttributeIndices.distanceDisplayCondition))return t;e="void main() \n{ \n czm_non_distanceDisplayCondition_main(); \n vec2 distanceDisplayCondition = czm_batchTable_distanceDisplayCondition(batchId);\n vec3 boundingSphereCenter3DHigh = czm_batchTable_boundingSphereCenter3DHigh(batchId);\n vec3 boundingSphereCenter3DLow = czm_batchTable_boundingSphereCenter3DLow(batchId);\n float boundingSphereRadius = czm_batchTable_boundingSphereRadius(batchId);\n";return e+=i?" vec4 centerRTE = czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow);\n":" vec3 boundingSphereCenter2DHigh = czm_batchTable_boundingSphereCenter2DHigh(batchId);\n vec3 boundingSphereCenter2DLow = czm_batchTable_boundingSphereCenter2DLow(batchId);\n vec4 centerRTE;\n if (czm_morphTime == 1.0)\n {\n centerRTE = czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow);\n }\n else if (czm_morphTime == 0.0)\n {\n centerRTE = czm_translateRelativeToEye(boundingSphereCenter2DHigh.zxy, boundingSphereCenter2DLow.zxy);\n }\n else\n {\n centerRTE = czm_columbusViewMorph(\n czm_translateRelativeToEye(boundingSphereCenter2DHigh.zxy, boundingSphereCenter2DLow.zxy),\n czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow),\n czm_morphTime);\n }\n",ShaderSource.replaceMain(t,"czm_non_distanceDisplayCondition_main")+"\n"+(e+=" float radiusSq = boundingSphereRadius * boundingSphereRadius; \n float distanceSq; \n if (czm_sceneMode == czm_sceneMode2D) \n { \n distanceSq = czm_eyeHeight2D.y - radiusSq; \n } \n else \n { \n distanceSq = dot(centerRTE.xyz, centerRTE.xyz) - radiusSq; \n } \n distanceSq = max(distanceSq, 0.0); \n float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x; \n float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y; \n float show = (distanceSq >= nearSq && distanceSq <= farSq) ? 1.0 : 0.0; \n gl_Position *= show; \n}")};var numberOfCreationWorkers=Math.max(FeatureDetection.hardwareConcurrency-1,1),createGeometryTaskProcessors,combineGeometryTaskProcessor=new TaskProcessor("combineGeometry",Number.POSITIVE_INFINITY);function loadAsynchronous(t,i){var e,r,n,a,o,s=t._instanceIds;if(t._state===PrimitiveState$1.READY){r=Array.isArray(t.geometryInstances)?t.geometryInstances:[t.geometryInstances];for(var l,c=t._numberOfInstances=r.length,u=[],d=[],h=0;h<c;++h)e=r[h].geometry,s.push(r[h].id),d.push({moduleName:e._workerName,geometry:e});if(!defined(createGeometryTaskProcessors))for(createGeometryTaskProcessors=new Array(numberOfCreationWorkers),h=0;h<numberOfCreationWorkers;h++)createGeometryTaskProcessors[h]=new TaskProcessor("createGeometry",Number.POSITIVE_INFINITY);for(d=subdivideArray(d,numberOfCreationWorkers),h=0;h<d.length;h++){var p=0,m=d[h],f=m.length;for(y=0;y<f;++y)defined((e=(l=m[y]).geometry).constructor.pack)&&(l.offset=p,p+=defaultValue(e.constructor.packedLength,e.packedLength));if(0<p)for(var g=new Float64Array(p),_=[g.buffer],y=0;y<f;++y)defined((e=(l=m[y]).geometry).constructor.pack)&&(e.constructor.pack(e,g,l.offset),l.geometry=g);u.push(createGeometryTaskProcessors[h].scheduleTask({subTasks:d[h]},_))}t._state=PrimitiveState$1.CREATING,when.all(u,function(e){t._createGeometryResults=e,t._state=PrimitiveState$1.CREATED}).otherwise(function(e){setReady(t,i,PrimitiveState$1.FAILED,e)})}else t._state===PrimitiveState$1.CREATED&&(o=[],r=Array.isArray(t.geometryInstances)?t.geometryInstances:[t.geometryInstances],n=i.scene3DOnly,a=i.mapProjection,o=combineGeometryTaskProcessor.scheduleTask(PrimitivePipeline.packCombineGeometryParameters({createGeometryResults:t._createGeometryResults,instances:r,ellipsoid:a.ellipsoid,projection:a,elementIndexUintSupported:i.context.elementIndexUint,scene3DOnly:n,vertexCacheOptimize:t.vertexCacheOptimize,compressVertices:t.compressVertices,modelMatrix:t.modelMatrix,createPickOffsets:t._createPickOffsets},o),o),t._createGeometryResults=void 0,t._state=PrimitiveState$1.COMBINING,when(o,function(e){e=PrimitivePipeline.unpackCombineGeometryResults(e);t._geometries=e.geometries,t._attributeLocations=e.attributeLocations,t.modelMatrix=Matrix4.clone(e.modelMatrix,t.modelMatrix),t._pickOffsets=e.pickOffsets,t._offsetInstanceExtend=e.offsetInstanceExtend,t._instanceBoundingSpheres=e.boundingSpheres,t._instanceBoundingSpheresCV=e.boundingSpheresCV,defined(t._geometries)&&0<t._geometries.length?(t._recomputeBoundingSpheres=!0,t._state=PrimitiveState$1.COMBINED):setReady(t,i,PrimitiveState$1.FAILED,void 0)}).otherwise(function(e){setReady(t,i,PrimitiveState$1.FAILED,e)}))}function loadSynchronous(e,t){for(var i,r=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],n=e._numberOfInstances=r.length,a=new Array(n),o=e._instanceIds,s=0,l=0;l<n;l++){var c=(i=r[l]).geometry,c=defined(c.attributes)&&defined(c.primitiveType)?cloneGeometry(c):c.constructor.createGeometry(c);a[s++]=cloneInstance(i,c),o.push(i.id)}a.length=s;var u=t.scene3DOnly,d=t.mapProjection,u=PrimitivePipeline.combineGeometry({instances:a,ellipsoid:d.ellipsoid,projection:d,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:u,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets});e._geometries=u.geometries,e._attributeLocations=u.attributeLocations,e.modelMatrix=Matrix4.clone(u.modelMatrix,e.modelMatrix),e._pickOffsets=u.pickOffsets,e._offsetInstanceExtend=u.offsetInstanceExtend,e._instanceBoundingSpheres=u.boundingSpheres,e._instanceBoundingSpheresCV=u.boundingSpheresCV,defined(e._geometries)&&0<e._geometries.length?(e._recomputeBoundingSpheres=!0,e._state=PrimitiveState$1.COMBINED):setReady(e,t,PrimitiveState$1.FAILED,void 0)}function recomputeBoundingSpheres(e,t){var i=e._batchTableAttributeIndices.offset;if(e._recomputeBoundingSpheres&&defined(i)){var r=e._offsetInstanceExtend,n=e._instanceBoundingSpheres,a=n.length,o=e._tempBoundingSpheres;if(!defined(o)){for(o=new Array(a),h=0;h<a;h++)o[h]=new BoundingSphere;e._tempBoundingSpheres=o}for(h=0;h<a;++h){var s=o[h],l=e._batchTable.getBatchedAttribute(h,i,new Cartesian3);transformBoundingSphere(s=n[h].clone(s),l,r[h])}for(var c=[],u=[],d=[],h=0;h<a;++h){var p=o[h];0<p.center.x-p.radius||BoundingSphere.intersectPlane(p,Plane.ORIGIN_ZX_PLANE)!==Intersect$1.INTERSECTING?c.push(p):(u.push(p),d.push(p))}var m=c[0],f=d[0],g=u[0];for(h=1;h<c.length;h++)m=BoundingSphere.union(m,c[h]);for(h=1;h<d.length;h++)f=BoundingSphere.union(f,d[h]);for(h=1;h<u.length;h++)g=BoundingSphere.union(g,u[h]);var _=[];for(defined(m)&&_.push(m),defined(f)&&_.push(f),defined(g)&&_.push(g),h=0;h<_.length;h++){var y=_[h].clone(e._boundingSpheres[h]);e._boundingSpheres[h]=y,e._boundingSphereCV[h]=BoundingSphere.projectTo2D(y,t.mapProjection,e._boundingSphereCV[h])}Primitive._updateBoundingVolumes(e,t,e.modelMatrix,!0),e._recomputeBoundingSpheres=!1}else e._recomputeBoundingSpheres=!1}var scratchBoundingSphereCenterEncoded=new EncodedCartesian3,scratchBoundingSphereCartographic=new Cartographic,scratchBoundingSphereCenter2D=new Cartesian3,scratchBoundingSphere$2=new BoundingSphere;function updateBatchTableBoundingSpheres(e,t){if(defined(e._batchTableAttributeIndices.distanceDisplayCondition)&&!e._batchTableBoundingSpheresUpdated){for(var i=e._batchTableBoundingSphereAttributeIndices,r=i.center3DHigh,n=i.center3DLow,a=i.center2DHigh,o=i.center2DLow,s=i.radius,l=t.mapProjection,c=l.ellipsoid,u=e._batchTable,d=e._instanceBoundingSpheres,h=d.length,p=0;p<h;++p){var m,f,g=d[p];defined(g)&&(defined(m=e.modelMatrix)&&(g=BoundingSphere.transform(g,m,scratchBoundingSphere$2)),f=g.center,m=g.radius,g=EncodedCartesian3.fromCartesian(f,scratchBoundingSphereCenterEncoded),u.setBatchedAttribute(p,r,g.high),u.setBatchedAttribute(p,n,g.low),t.scene3DOnly||(f=c.cartesianToCartographic(f,scratchBoundingSphereCartographic),f=l.project(f,scratchBoundingSphereCenter2D),g=EncodedCartesian3.fromCartesian(f,scratchBoundingSphereCenterEncoded),u.setBatchedAttribute(p,a,g.high),u.setBatchedAttribute(p,o,g.low)),u.setBatchedAttribute(p,s,m))}e._batchTableBoundingSpheresUpdated=!0}}var offsetScratchCartesian=new Cartesian3,offsetCenterScratch=new Cartesian3;function updateBatchTableOffsets(e,t){if(defined(e._batchTableAttributeIndices.offset)&&!e._batchTableOffsetsUpdated&&!t.scene3DOnly){for(var i=e._batchTableOffsetAttribute2DIndex,r=t.mapProjection,n=r.ellipsoid,a=e._batchTable,o=e._instanceBoundingSpheres,s=o.length,l=0;l<s;++l){var c,u,d,h=o[l];defined(h)&&(c=a.getBatchedAttribute(l,e._batchTableAttributeIndices.offset),Cartesian3.equals(c,Cartesian3.ZERO)?a.setBatchedAttribute(l,i,Cartesian3.ZERO):(defined(d=e.modelMatrix)&&(h=BoundingSphere.transform(h,d,scratchBoundingSphere$2)),u=h.center,u=n.scaleToGeodeticSurface(u,offsetCenterScratch),d=n.cartesianToCartographic(u,scratchBoundingSphereCartographic),h=r.project(d,scratchBoundingSphereCenter2D),u=Cartesian3.add(c,u,offsetScratchCartesian),d=n.cartesianToCartographic(u,d),d=r.project(d,offsetScratchCartesian),h=(d=Cartesian3.subtract(d,h,offsetScratchCartesian)).x,d.x=d.z,d.z=d.y,d.y=h,a.setBatchedAttribute(l,i,d)))}e._batchTableOffsetsUpdated=!0}}function createVertexArray(e,t){for(var i=e._attributeLocations,r=e._geometries,n=t.scene3DOnly,a=t.context,o=[],s=r.length,l=0;l<s;++l){var c,u,d,h,p=r[l];o.push(VertexArray.fromGeometry({context:a,geometry:p,attributeLocations:i,bufferUsage:BufferUsage$1.STATIC_DRAW,interleave:e._interleave})),defined(e._createBoundingVolumeFunction)?e._createBoundingVolumeFunction(t,p):(e._boundingSpheres.push(BoundingSphere.clone(p.boundingSphere)),e._boundingSphereWC.push(new BoundingSphere),n||(u=(c=p.boundingSphereCV.center).x,d=c.y,h=c.z,c.x=h,c.y=u,c.z=d,e._boundingSphereCV.push(BoundingSphere.clone(p.boundingSphereCV)),e._boundingSphere2D.push(new BoundingSphere),e._boundingSphereMorph.push(new BoundingSphere)))}e._va=o,e._primitiveType=r[0].primitiveType,e.releaseGeometryInstances&&(e.geometryInstances=void 0),e._geometries=void 0,setReady(e,t,PrimitiveState$1.COMPLETE,void 0)}function createRenderStates(e,t,i,r){var n,i=i.getRenderState();r?((n=clone(i,!1)).cull={enabled:!0,face:CullFace$1.BACK},e._frontFaceRS=RenderState.fromCache(n),n.cull.face=CullFace$1.FRONT,e._backFaceRS=RenderState.fromCache(n)):(e._frontFaceRS=RenderState.fromCache(i),e._backFaceRS=e._frontFaceRS),n=clone(i,!1),defined(e._depthFailAppearance)&&(n.depthTest.enabled=!1),defined(e._depthFailAppearance)&&((n=clone(i=e._depthFailAppearance.getRenderState(),!1)).depthTest.func=DepthFunction$1.GREATER,r?(n.cull={enabled:!0,face:CullFace$1.BACK},e._frontFaceDepthFailRS=RenderState.fromCache(n),n.cull.face=CullFace$1.FRONT,e._backFaceDepthFailRS=RenderState.fromCache(n)):(e._frontFaceDepthFailRS=RenderState.fromCache(n),e._backFaceDepthFailRS=e._frontFaceRS))}function createShaderProgram(e,t,i){var r=t.context,n=e._attributeLocations,a=e._batchTable.getVertexShaderCallback()(i.vertexShaderSource),a=Primitive._appendOffsetToShader(e,a);a=Primitive._appendShowToShader(e,a),a=appendPickToVertexShader(Primitive._appendDistanceDisplayConditionToShader(e,a,t.scene3DOnly)),a=modifyForEncodedNormals(e,Primitive._updateColorAttribute(e,a,!1)),a=Primitive._modifyShaderPosition(e,a,t.scene3DOnly);i=appendPickToFragmentShader(i=i.getFragmentShaderSource());e._sp=ShaderProgram.replaceCache({context:r,shaderProgram:e._sp,vertexShaderSource:a,fragmentShaderSource:i,attributeLocations:n}),validateShaderMatching(e._sp),defined(e._depthFailAppearance)&&(a=e._batchTable.getVertexShaderCallback()(e._depthFailAppearance.vertexShaderSource),a=Primitive._appendShowToShader(e,a),a=appendPickToVertexShader(Primitive._appendDistanceDisplayConditionToShader(e,a,t.scene3DOnly)),a=modifyForEncodedNormals(e,Primitive._updateColorAttribute(e,a,!0)),a=depthClampVS(Primitive._modifyShaderPosition(e,a,t.scene3DOnly)),i=depthClampFS(i=appendPickToFragmentShader(i=e._depthFailAppearance.getFragmentShaderSource())),e._spDepthFail=ShaderProgram.replaceCache({context:r,shaderProgram:e._spDepthFail,vertexShaderSource:a,fragmentShaderSource:i,attributeLocations:n}),validateShaderMatching(e._spDepthFail))}var modifiedModelViewScratch=new Matrix4,rtcScratch=new Cartesian3;function getUniforms(t,e,i,r){var i=defined(i)?i._uniforms:void 0,n={},a=e.uniforms;if(defined(a))for(var o in a)a.hasOwnProperty(o)&&(n[o]=getUniformFunction(a,o));i=combine(n,i),i=t._batchTable.getUniformMapCallback()(i);return defined(t.rtcCenter)&&(i.u_modifiedModelView=function(){var e=r.context.uniformState.view;return Matrix4.multiply(e,t._modelMatrix,modifiedModelViewScratch),Matrix4.multiplyByPoint(modifiedModelViewScratch,t.rtcCenter,rtcScratch),Matrix4.setTranslation(modifiedModelViewScratch,rtcScratch,modifiedModelViewScratch),modifiedModelViewScratch}),i}function createCommands(e,t,i,r,n,a,o,s){var l,c=getUniforms(e,t,i,s);defined(e._depthFailAppearance)&&(l=getUniforms(e,e._depthFailAppearance,e._depthFailAppearance.material,s));var u=r?Pass$1.TRANSLUCENT:Pass$1.OPAQUE,r=n?2:1;r*=defined(e._depthFailAppearance)?2:1,a.length=e._va.length*r;for(var d,h=a.length,p=0,m=0;m<h;++m)n&&(defined(d=a[m])||(d=a[m]=new DrawCommand({owner:e,primitiveType:e._primitiveType})),d.vertexArray=e._va[p],d.renderState=e._backFaceRS,d.shaderProgram=e._sp,d.uniformMap=c,d.pass=u,++m),defined(d=a[m])||(d=a[m]=new DrawCommand({owner:e,primitiveType:e._primitiveType})),d.vertexArray=e._va[p],d.renderState=e._frontFaceRS,d.shaderProgram=e._sp,d.uniformMap=c,d.pass=u,defined(e._depthFailAppearance)&&(n&&(defined(d=a[++m])||(d=a[m]=new DrawCommand({owner:e,primitiveType:e._primitiveType})),d.vertexArray=e._va[p],d.renderState=e._backFaceDepthFailRS,d.shaderProgram=e._spDepthFail,d.uniformMap=l,d.pass=u),defined(d=a[++m])||(d=a[m]=new DrawCommand({owner:e,primitiveType:e._primitiveType})),d.vertexArray=e._va[p],d.renderState=e._frontFaceDepthFailRS,d.shaderProgram=e._spDepthFail,d.uniformMap=l,d.pass=u),++p}function updateAndQueueCommands(e,t,i,r,n,a,o,s){var l;Primitive._updateBoundingVolumes(e,t,n),t.mode===SceneMode$1.SCENE3D?l=e._boundingSphereWC:t.mode===SceneMode$1.COLUMBUS_VIEW?l=e._boundingSphereCV:t.mode===SceneMode$1.SCENE2D&&defined(e._boundingSphere2D)?l=e._boundingSphere2D:defined(e._boundingSphereMorph)&&(l=e._boundingSphereMorph);var c=t.commandList,t=t.passes;if(t.render||t.pick){var u=e.allowPicking,d=ShadowMode$1.castShadows(e.shadows),h=ShadowMode$1.receiveShadows(e.shadows),p=i.length,m=s?2:1;m*=defined(e._depthFailAppearance)?2:1;for(var f=0;f<p;++f){var g=Math.floor(f/m),_=i[f];_.modelMatrix=n,_.boundingVolume=l[g],_.cull=a,_.debugShowBoundingVolume=o,_.castShadows=d,_.receiveShadows=h,_.pickId=u?"v_pickColor":void 0,c.push(_)}}}Primitive._updateBoundingVolumes=function(e,t,i,r){var n,a,o;if(r||!Matrix4.equals(i,e._modelMatrix))for(Matrix4.clone(i,e._modelMatrix),a=e._boundingSpheres.length,n=0;n<a;++n)defined(o=e._boundingSpheres[n])&&(e._boundingSphereWC[n]=BoundingSphere.transform(o,i,e._boundingSphereWC[n]),t.scene3DOnly||(e._boundingSphere2D[n]=BoundingSphere.clone(e._boundingSphereCV[n],e._boundingSphere2D[n]),e._boundingSphere2D[n].center.x=0,e._boundingSphereMorph[n]=BoundingSphere.union(e._boundingSphereWC[n],e._boundingSphereCV[n])));var s=e.appearance.pixelSize;if(defined(s))for(a=e._boundingSpheres.length,n=0;n<a;++n){o=e._boundingSpheres[n];var l=e._boundingSphereWC[n],c=t.camera.getPixelSize(o,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*s;l.radius=o.radius+c}},Primitive.prototype.update=function(e){if(!(!defined(this.geometryInstances)&&0===this._va.length||defined(this.geometryInstances)&&Array.isArray(this.geometryInstances)&&0===this.geometryInstances.length||!defined(this.appearance)||e.mode!==SceneMode$1.SCENE3D&&e.scene3DOnly||!e.passes.render&&!e.passes.pick)){if(defined(this._error))throw this._error;if(this._state!==PrimitiveState$1.FAILED){var t,i,r,n,a,o,s=e.context;if(defined(this._batchTable)||createBatchTable(this,s),0<this._batchTable.attributes.length){if(0===ContextLimits.maximumVertexTextureImageUnits)throw new RuntimeError("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}this._state!==PrimitiveState$1.COMPLETE&&this._state!==PrimitiveState$1.COMBINED&&(this.asynchronous?loadAsynchronous:loadSynchronous)(this,e),this._state===PrimitiveState$1.COMBINED&&(updateBatchTableBoundingSpheres(this,e),updateBatchTableOffsets(this,e),createVertexArray(this,e)),this.show&&this._state===PrimitiveState$1.COMPLETE&&(this._batchTableOffsetsUpdated||updateBatchTableOffsets(this,e),this._recomputeBoundingSpheres&&recomputeBoundingSpheres(this,e),i=(t=this.appearance).material,n=r=!1,this._appearance!==t?(this._appearance=t,this._material=i,n=r=!0):this._material!==i&&(this._material=i,n=!0),o=defined(a=this.depthFailAppearance)?a.material:void 0,this._depthFailAppearance!==a?(this._depthFailAppearance=a,this._depthFailMaterial=o,n=r=!0):this._depthFailMaterial!==o&&(this._depthFailMaterial=o,n=!0),a=this._appearance.isTranslucent(),this._translucent!==a&&(this._translucent=a,r=!0),defined(this._material)&&this._material.update(s),o=t.closed&&a,r&&defaultValue(this._createRenderStatesFunction,createRenderStates)(this,s,t,o),n&&defaultValue(this._createShaderProgramFunction,createShaderProgram)(this,e,t),(r||n)&&defaultValue(this._createCommandsFunction,createCommands)(this,t,i,a,o,this._colorCommands,this._pickCommands,e),defaultValue(this._updateAndQueueCommandsFunction,updateAndQueueCommands)(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,o))}}};var offsetBoundingSphereScratch1=new BoundingSphere,offsetBoundingSphereScratch2=new BoundingSphere;function transformBoundingSphere(e,t,i){var r,n;return i===GeometryOffsetAttribute$1.TOP?(r=BoundingSphere.clone(e,offsetBoundingSphereScratch1),(n=BoundingSphere.clone(e,offsetBoundingSphereScratch2)).center=Cartesian3.add(n.center,t,n.center),e=BoundingSphere.union(r,n,e)):i===GeometryOffsetAttribute$1.ALL&&(e.center=Cartesian3.add(e.center,t,e.center)),e}function createGetFunction(r,n,a){return function(){var e=r.getBatchedAttribute(n,a),t=r.attributes[a],i=t.componentsPerAttribute,i=ComponentDatatype$1.createTypedArray(t.componentDatatype,i);return defined(e.constructor.pack)?e.constructor.pack(e,i,0):i[0]=e,i}}function createSetFunction(t,i,r,n,a){return function(e){e=getAttributeValue(e);t.setBatchedAttribute(i,r,e),"offset"===a&&(n._recomputeBoundingSpheres=!0,n._batchTableOffsetsUpdated=!1)}}var offsetScratch$2=new Cartesian3;function createBoundingSphereProperties(r,n,a){n.boundingSphere={get:function(){var e,t,i=r._instanceBoundingSpheres[a];return defined(i)&&(i=i.clone(),e=r.modelMatrix,defined(t=n.offset)&&transformBoundingSphere(i,Cartesian3.fromArray(t.get(),0,offsetScratch$2),r._offsetInstanceExtend[a]),defined(e)&&(i=BoundingSphere.transform(i,e))),i}},n.boundingSphereCV={get:function(){return r._instanceBoundingSpheresCV[a]}}}function createPickIdProperty(e,t,i){t.pickId={get:function(){return e._pickIds[i]}}}function setReady(e,t,i,r){e._error=r,e._state=i,t.afterRender.push(function(){e._ready=e._state===PrimitiveState$1.COMPLETE||e._state===PrimitiveState$1.FAILED,defined(r)?e._readyPromise.reject(r):e._readyPromise.resolve(e)})}Primitive.prototype.getGeometryInstanceAttributes=function(e){for(var t=-1,i=this._lastPerInstanceAttributeIndex,r=this._instanceIds,n=r.length,a=0;a<n;++a){var o=(i+a)%n;if(e===r[o]){t=o;break}}if(-1!==t){if(defined(d=this._perInstanceAttributeCache[t]))return d;var s,l,c=this._batchTable,u=this._batchTableAttributeIndices,d={},h={};for(s in u)u.hasOwnProperty(s)&&(l=u[s],h[s]={get:createGetFunction(c,t,l),set:createSetFunction(c,t,l,this,s)});return createBoundingSphereProperties(this,h,t),createPickIdProperty(this,h,t),Object.defineProperties(d,h),this._lastPerInstanceAttributeIndex=t,this._perInstanceAttributeCache[t]=d}},Primitive.prototype.isDestroyed=function(){return!1},Primitive.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._spDepthFail=this._spDepthFail&&this._spDepthFail.destroy();for(var e=this._va,t=e.length,i=0;i<t;++i)e[i].destroy();this._va=void 0;var r=this._pickIds;for(t=r.length,i=0;i<t;++i)r[i].destroy();return this._pickIds=void 0,this._batchTable=this._batchTable&&this._batchTable.destroy(),this._instanceIds=void 0,this._perInstanceAttributeCache=void 0,this._attributeLocations=void 0,destroyObject(this)};var ShadowVolumeAppearanceFS="#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n#ifdef TEXTURE_COORDINATES\n#ifdef SPHERICAL\nvarying vec4 v_sphericalExtents;\n#else // SPHERICAL\nvarying vec2 v_inversePlaneExtents;\nvarying vec4 v_westPlane;\nvarying vec4 v_southPlane;\n#endif // SPHERICAL\nvarying vec3 v_uvMinAndSphericalLongitudeRotation;\nvarying vec3 v_uMaxAndInverseDistance;\nvarying vec3 v_vMaxAndInverseDistance;\n#endif // TEXTURE_COORDINATES\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#endif\n#ifdef NORMAL_EC\nvec3 getEyeCoordinate3FromWindowCoordinate(vec2 fragCoord, float logDepthOrDepth) {\nvec4 eyeCoordinate = czm_windowToEyeCoordinates(fragCoord, logDepthOrDepth);\nreturn eyeCoordinate.xyz / eyeCoordinate.w;\n}\nvec3 vectorFromOffset(vec4 eyeCoordinate, vec2 positiveOffset) {\nvec2 glFragCoordXY = gl_FragCoord.xy;\nfloat upOrRightLogDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, (glFragCoordXY + positiveOffset) / czm_viewport.zw));\nfloat downOrLeftLogDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, (glFragCoordXY - positiveOffset) / czm_viewport.zw));\nbvec2 upOrRightInBounds = lessThan(glFragCoordXY + positiveOffset, czm_viewport.zw);\nfloat useUpOrRight = float(upOrRightLogDepth > 0.0 && upOrRightInBounds.x && upOrRightInBounds.y);\nfloat useDownOrLeft = float(useUpOrRight == 0.0);\nvec3 upOrRightEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY + positiveOffset, upOrRightLogDepth);\nvec3 downOrLeftEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY - positiveOffset, downOrLeftLogDepth);\nreturn (upOrRightEC - (eyeCoordinate.xyz / eyeCoordinate.w)) * useUpOrRight + ((eyeCoordinate.xyz / eyeCoordinate.w) - downOrLeftEC) * useDownOrLeft;\n}\n#endif // NORMAL_EC\nvoid main(void)\n{\n#ifdef REQUIRES_EC\nfloat logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw));\nvec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);\n#endif\n#ifdef REQUIRES_WC\nvec4 worldCoordinate4 = czm_inverseView * eyeCoordinate;\nvec3 worldCoordinate = worldCoordinate4.xyz / worldCoordinate4.w;\n#endif\n#ifdef TEXTURE_COORDINATES\nvec2 uv;\n#ifdef SPHERICAL\nvec2 sphericalLatLong = czm_approximateSphericalCoordinates(worldCoordinate);\nsphericalLatLong.y += v_uvMinAndSphericalLongitudeRotation.z;\nsphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi);\nuv.x = (sphericalLatLong.y - v_sphericalExtents.y) * v_sphericalExtents.w;\nuv.y = (sphericalLatLong.x - v_sphericalExtents.x) * v_sphericalExtents.z;\n#else // SPHERICAL\nuv.x = czm_planeDistance(v_westPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.x;\nuv.y = czm_planeDistance(v_southPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.y;\n#endif // SPHERICAL\n#endif // TEXTURE_COORDINATES\n#ifdef PICK\n#ifdef CULL_FRAGMENTS\nif (0.0 <= uv.x && uv.x <= 1.0 && 0.0 <= uv.y && uv.y <= 1.0) {\ngl_FragColor.a = 1.0;\nczm_writeDepthClamp();\n}\n#else // CULL_FRAGMENTS\ngl_FragColor.a = 1.0;\n#endif // CULL_FRAGMENTS\n#else // PICK\n#ifdef CULL_FRAGMENTS\nif (uv.x <= 0.0 || 1.0 <= uv.x || uv.y <= 0.0 || 1.0 <= uv.y) {\ndiscard;\n}\n#endif\n#ifdef NORMAL_EC\nvec3 downUp = vectorFromOffset(eyeCoordinate, vec2(0.0, 1.0));\nvec3 leftRight = vectorFromOffset(eyeCoordinate, vec2(1.0, 0.0));\nvec3 normalEC = normalize(cross(leftRight, downUp));\n#endif\n#ifdef PER_INSTANCE_COLOR\nvec4 color = czm_gammaCorrect(v_color);\n#ifdef FLAT\ngl_FragColor = color;\n#else // FLAT\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.positionToEyeEC = -eyeCoordinate.xyz;\nczm_material material = czm_getDefaultMaterial(materialInput);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\ngl_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC);\n#endif // FLAT\ngl_FragColor.rgb *= gl_FragColor.a;\n#else // PER_INSTANCE_COLOR\nczm_materialInput materialInput;\n#ifdef USES_NORMAL_EC\nmaterialInput.normalEC = normalEC;\n#endif\n#ifdef USES_POSITION_TO_EYE_EC\nmaterialInput.positionToEyeEC = -eyeCoordinate.xyz;\n#endif\n#ifdef USES_TANGENT_TO_EYE\nmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(worldCoordinate, normalEC);\n#endif\n#ifdef USES_ST\nmaterialInput.st.x = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_uMaxAndInverseDistance.xy, uv) * v_uMaxAndInverseDistance.z;\nmaterialInput.st.y = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_vMaxAndInverseDistance.xy, uv) * v_vMaxAndInverseDistance.z;\n#endif\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else // FLAT\ngl_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC);\n#endif // FLAT\ngl_FragColor.rgb *= gl_FragColor.a;\n#endif // PER_INSTANCE_COLOR\nczm_writeDepthClamp();\n#endif // PICK\n}\n";function ShadowVolumeAppearance(e,t,i){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};var r=new ShaderDependencies;r.requiresTextureCoordinates=e,r.requiresEC=!i.flat;var n,a=new ShaderDependencies;a.requiresTextureCoordinates=e,i instanceof PerInstanceColorAppearance?r.requiresNormalEC=!i.flat:(n=i.material.shaderSource+"\n"+i.fragmentShaderSource,r.normalEC=-1!==n.indexOf("materialInput.normalEC")||-1!==n.indexOf("czm_getDefaultMaterial"),r.positionToEyeEC=-1!==n.indexOf("materialInput.positionToEyeEC"),r.tangentToEyeMatrix=-1!==n.indexOf("materialInput.tangentToEyeMatrix"),r.st=-1!==n.indexOf("materialInput.st")),this._colorShaderDependencies=r,this._pickShaderDependencies=a,this._appearance=i,this._extentsCulling=e,this._planarExtents=t}ShadowVolumeAppearance.prototype.createFragmentShader=function(e){var t=this._appearance,i=this._colorShaderDependencies,r=[];e||this._planarExtents||r.push("SPHERICAL"),i.requiresEC&&r.push("REQUIRES_EC"),i.requiresWC&&r.push("REQUIRES_WC"),i.requiresTextureCoordinates&&r.push("TEXTURE_COORDINATES"),this._extentsCulling&&r.push("CULL_FRAGMENTS"),i.requiresNormalEC&&r.push("NORMAL_EC"),t instanceof PerInstanceColorAppearance&&r.push("PER_INSTANCE_COLOR"),i.normalEC&&r.push("USES_NORMAL_EC"),i.positionToEyeEC&&r.push("USES_POSITION_TO_EYE_EC"),i.tangentToEyeMatrix&&r.push("USES_TANGENT_TO_EYE"),i.st&&r.push("USES_ST"),t.flat&&r.push("FLAT");i="";return t instanceof PerInstanceColorAppearance||(i=t.material.shaderSource),new ShaderSource({defines:r,sources:[i,ShadowVolumeAppearanceFS]})},ShadowVolumeAppearance.prototype.createPickFragmentShader=function(e){var t=this._pickShaderDependencies,i=["PICK"];return e||this._planarExtents||i.push("SPHERICAL"),t.requiresEC&&i.push("REQUIRES_EC"),t.requiresWC&&i.push("REQUIRES_WC"),t.requiresTextureCoordinates&&i.push("TEXTURE_COORDINATES"),this._extentsCulling&&i.push("CULL_FRAGMENTS"),new ShaderSource({defines:i,sources:[ShadowVolumeAppearanceFS],pickColorQualifier:"varying"})},ShadowVolumeAppearance.prototype.createVertexShader=function(e,t,i,r){return createShadowVolumeAppearanceVS(this._colorShaderDependencies,this._planarExtents,i,e,t,this._appearance,r,this._projectionExtentDefines)},ShadowVolumeAppearance.prototype.createPickVertexShader=function(e,t,i,r){return createShadowVolumeAppearanceVS(this._pickShaderDependencies,this._planarExtents,i,e,t,void 0,r,this._projectionExtentDefines)};var longitudeExtentsCartesianScratch=new Cartesian3,longitudeExtentsCartographicScratch=new Cartographic,longitudeExtentsEncodeScratch={high:0,low:0};function createShadowVolumeAppearanceVS(e,t,i,r,n,a,o,s){var l,c=r.slice();return""===s.eastMostYhighDefine&&((l=longitudeExtentsCartographicScratch).longitude=CesiumMath.PI,l.latitude=0,l.height=0,r=o.project(l,longitudeExtentsCartesianScratch),l=EncodedCartesian3.encode(r.x,longitudeExtentsEncodeScratch),s.eastMostYhighDefine="EAST_MOST_X_HIGH "+l.high.toFixed((l.high+"").length+1),s.eastMostYlowDefine="EAST_MOST_X_LOW "+l.low.toFixed((l.low+"").length+1),(r=longitudeExtentsCartographicScratch).longitude=-CesiumMath.PI,r.latitude=0,r.height=0,r=o.project(r,longitudeExtentsCartesianScratch),l=EncodedCartesian3.encode(r.x,longitudeExtentsEncodeScratch),s.westMostYhighDefine="WEST_MOST_X_HIGH "+l.high.toFixed((l.high+"").length+1),s.westMostYlowDefine="WEST_MOST_X_LOW "+l.low.toFixed((l.low+"").length+1)),i&&(c.push(s.eastMostYhighDefine),c.push(s.eastMostYlowDefine),c.push(s.westMostYhighDefine),c.push(s.westMostYlowDefine)),defined(a)&&a instanceof PerInstanceColorAppearance&&c.push("PER_INSTANCE_COLOR"),e.requiresTextureCoordinates&&(c.push("TEXTURE_COORDINATES"),t||i||c.push("SPHERICAL"),i&&c.push("COLUMBUS_VIEW_2D")),new ShaderSource({defines:c,sources:[n]})}function ShaderDependencies(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}function pointLineDistance(e,t,i){return Math.abs((t.y-e.y)*i.x-(t.x-e.x)*i.y+t.x*e.y-t.y*e.x)/Cartesian2.distance(t,e)}Object.defineProperties(ShaderDependencies.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(e){this._requiresEC=e||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(e){this._requiresWC=e||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(e){this._requiresNormalEC=e||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(e){this._requiresTextureCoordinates=e||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(e){this.requiresNormalEC=e,this._usesNormalEC=e},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(e){this.requiresWC=e,this.requiresNormalEC=e,this._usesTangentToEyeMat=e},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(e){this.requiresEC=e,this._usesPositionToEyeEC=e},get:function(){return this._usesPositionToEyeEC}},st:{set:function(e){this.requiresTextureCoordinates=e,this._usesSt=e},get:function(){return this._usesSt}}});var points2DScratch$2=[new Cartesian2,new Cartesian2,new Cartesian2,new Cartesian2];function addTextureCoordinateRotationAttributes(e,t){var i=points2DScratch$2,r=Cartesian2.unpack(t,0,i[0]),n=Cartesian2.unpack(t,2,i[1]),t=Cartesian2.unpack(t,4,i[2]);e.uMaxVmax=new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:4,normalize:!1,value:[n.x,n.y,t.x,t.y]});i=1/pointLineDistance(r,n,t),n=1/pointLineDistance(r,t,n);e.uvMinAndExtents=new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:4,normalize:!1,value:[r.x,r.y,i,n]})}var cartographicScratch$1=new Cartographic,cornerScratch=new Cartesian3,northWestScratch=new Cartesian3,southEastScratch=new Cartesian3,highLowScratch={high:0,low:0};function add2DTextureCoordinateAttributes(e,t,i){var r=cartographicScratch$1;r.height=0,r.longitude=e.west,r.latitude=e.south;var n=t.project(r,cornerScratch);r.latitude=e.north;var a=t.project(r,northWestScratch);r.longitude=e.east,r.latitude=e.south;var o=t.project(r,southEastScratch),e=[0,0,0,0],t=[0,0,0,0],r=EncodedCartesian3.encode(n.x,highLowScratch);e[0]=r.high,t[0]=r.low,r=EncodedCartesian3.encode(n.y,highLowScratch),e[1]=r.high,t[1]=r.low,r=EncodedCartesian3.encode(a.y,highLowScratch),e[2]=r.high,t[2]=r.low,r=EncodedCartesian3.encode(o.x,highLowScratch),e[3]=r.high,t[3]=r.low,i.planes2D_HIGH=new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:4,normalize:!1,value:e}),i.planes2D_LOW=new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:4,normalize:!1,value:t})}var enuMatrixScratch=new Matrix4,inverseEnuScratch=new Matrix4,rectanglePointCartesianScratch=new Cartesian3,rectangleCenterScratch$2=new Cartographic,pointsCartographicScratch=[new Cartographic,new Cartographic,new Cartographic,new Cartographic,new Cartographic,new Cartographic,new Cartographic,new Cartographic];function computeRectangleBounds(e,t,i,r,n,a){var o=Rectangle.center(e,rectangleCenterScratch$2);o.height=i;var s=Cartographic.toCartesian(o,t,rectanglePointCartesianScratch),l=Transforms.eastNorthUpToFixedFrame(s,t,enuMatrixScratch),c=Matrix4.inverse(l,inverseEnuScratch),u=e.west,d=e.east,h=e.north,o=e.south,p=pointsCartographicScratch;p[0].latitude=o,p[0].longitude=u,p[1].latitude=h,p[1].longitude=u,p[2].latitude=h,p[2].longitude=d,p[3].latitude=o;s=.5*(u+(p[3].longitude=d)),e=.5*(h+o);p[4].latitude=o,p[4].longitude=s,p[5].latitude=h,p[5].longitude=s,p[6].latitude=e,p[6].longitude=u,p[7].latitude=e,p[7].longitude=d;for(var m=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,g=Number.POSITIVE_INFINITY,_=Number.NEGATIVE_INFINITY,y=0;y<8;y++){p[y].height=i;var C=Cartographic.toCartesian(p[y],t,rectanglePointCartesianScratch);Matrix4.multiplyByPoint(c,C,C),C.z=0,m=Math.min(m,C.x),f=Math.max(f,C.x),g=Math.min(g,C.y),_=Math.max(_,C.y)}d=r;d.x=m,d.y=g,d.z=0,Matrix4.multiplyByPoint(l,d,d);r=n;r.x=f,r.y=g,r.z=0,Matrix4.multiplyByPoint(l,r,r),Cartesian3.subtract(r,d,n);n=a;n.x=m,n.y=_,n.z=0,Matrix4.multiplyByPoint(l,n,n),Cartesian3.subtract(n,d,a)}var eastwardScratch=new Cartesian3,northwardScratch=new Cartesian3,encodeScratch$1=new EncodedCartesian3;ShadowVolumeAppearance.getPlanarTextureCoordinateAttributes=function(e,t,i,r,n){var a=cornerScratch,o=eastwardScratch,s=northwardScratch;computeRectangleBounds(e,i,defaultValue(n,0),a,o,s);n={};addTextureCoordinateRotationAttributes(n,t);a=EncodedCartesian3.fromCartesian(a,encodeScratch$1);return n.southWest_HIGH=new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,normalize:!1,value:Cartesian3.pack(a.high,[0,0,0])}),n.southWest_LOW=new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,normalize:!1,value:Cartesian3.pack(a.low,[0,0,0])}),n.eastward=new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,normalize:!1,value:Cartesian3.pack(o,[0,0,0])}),n.northward=new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,normalize:!1,value:Cartesian3.pack(s,[0,0,0])}),add2DTextureCoordinateAttributes(e,r,n),n};var spherePointScratch=new Cartesian3;function latLongToSpherical(e,t,i,r){var n=cartographicScratch$1;n.latitude=e,n.longitude=t,n.height=0;n=Cartographic.toCartesian(n,i,spherePointScratch),i=Math.sqrt(n.x*n.x+n.y*n.y),i=CesiumMath.fastApproximateAtan2(i,n.z),n=CesiumMath.fastApproximateAtan2(n.x,n.y);return r.x=i,r.y=n,r}var sphericalScratch=new Cartesian2;function shouldUseSpherical(e){return Math.max(e.width,e.height)>ShadowVolumeAppearance.MAX_WIDTH_FOR_PLANAR_EXTENTS}ShadowVolumeAppearance.getSphericalExtentGeometryInstanceAttributes=function(e,t,i,r){var n=latLongToSpherical(e.south,e.west,i,sphericalScratch),a=n.x,o=n.y,s=latLongToSpherical(e.north,e.east,i,sphericalScratch),n=s.x,i=s.y,s=0;i<o&&(s=CesiumMath.PI-o,o=-CesiumMath.PI,i+=s),a-=CesiumMath.EPSILON5,o-=CesiumMath.EPSILON5,n+=CesiumMath.EPSILON5;i=1/((i+=CesiumMath.EPSILON5)-o),n=1/(n-a),s={sphericalExtents:new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:4,normalize:!1,value:[a,o,n,i]}),longitudeRotation:new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:1,normalize:!1,value:[s]})};return addTextureCoordinateRotationAttributes(s,t),add2DTextureCoordinateAttributes(e,r,s),s},ShadowVolumeAppearance.hasAttributesForTextureCoordinatePlanes=function(e){return defined(e.southWest_HIGH)&&defined(e.southWest_LOW)&&defined(e.northward)&&defined(e.eastward)&&defined(e.planes2D_HIGH)&&defined(e.planes2D_LOW)&&defined(e.uMaxVmax)&&defined(e.uvMinAndExtents)},ShadowVolumeAppearance.hasAttributesForSphericalExtents=function(e){return defined(e.sphericalExtents)&&defined(e.longitudeRotation)&&defined(e.planes2D_HIGH)&&defined(e.planes2D_LOW)&&defined(e.uMaxVmax)&&defined(e.uvMinAndExtents)},ShadowVolumeAppearance.shouldUseSphericalCoordinates=function(e){return shouldUseSpherical(e)},ShadowVolumeAppearance.MAX_WIDTH_FOR_PLANAR_EXTENTS=CesiumMath.toRadians(1);var StencilFunction={NEVER:WebGLConstants$1.NEVER,LESS:WebGLConstants$1.LESS,EQUAL:WebGLConstants$1.EQUAL,LESS_OR_EQUAL:WebGLConstants$1.LEQUAL,GREATER:WebGLConstants$1.GREATER,NOT_EQUAL:WebGLConstants$1.NOTEQUAL,GREATER_OR_EQUAL:WebGLConstants$1.GEQUAL,ALWAYS:WebGLConstants$1.ALWAYS},StencilFunction$1=Object.freeze(StencilFunction),StencilOperation={ZERO:WebGLConstants$1.ZERO,KEEP:WebGLConstants$1.KEEP,REPLACE:WebGLConstants$1.REPLACE,INCREMENT:WebGLConstants$1.INCR,DECREMENT:WebGLConstants$1.DECR,INVERT:WebGLConstants$1.INVERT,INCREMENT_WRAP:WebGLConstants$1.INCR_WRAP,DECREMENT_WRAP:WebGLConstants$1.DECR_WRAP},StencilOperation$1=Object.freeze(StencilOperation),StencilConstants={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15,setCesium3DTileBit:function(){return{enabled:!0,frontFunction:StencilFunction$1.ALWAYS,frontOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.KEEP,zPass:StencilOperation$1.REPLACE},backFunction:StencilFunction$1.ALWAYS,backOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.KEEP,zPass:StencilOperation$1.REPLACE},reference:StencilConstants.CESIUM_3D_TILE_MASK,mask:StencilConstants.CESIUM_3D_TILE_MASK}}},StencilConstants$1=Object.freeze(StencilConstants);function ClassificationPrimitive(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).geometryInstances;this.geometryInstances=t,this.show=defaultValue(e.show,!0),this.classificationType=defaultValue(e.classificationType,ClassificationType$1.BOTH),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=defaultValue(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=defaultValue(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1,this._readyPromise=when.defer(),this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:defaultValue(e.vertexCacheOptimize,!1),interleave:defaultValue(e.interleave,!1),releaseGeometryInstances:defaultValue(e.releaseGeometryInstances,!0),allowPicking:defaultValue(e.allowPicking,!0),asynchronous:defaultValue(e.asynchronous,!0),compressVertices:defaultValue(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}function getStencilDepthRenderState(e,t){t=t?StencilFunction$1.EQUAL:StencilFunction$1.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:t,frontOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.DECREMENT_WRAP,zPass:StencilOperation$1.KEEP},backFunction:t,backOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.INCREMENT_WRAP,zPass:StencilOperation$1.KEEP},reference:StencilConstants$1.CESIUM_3D_TILE_MASK,mask:StencilConstants$1.CESIUM_3D_TILE_MASK},stencilMask:StencilConstants$1.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:DepthFunction$1.LESS_OR_EQUAL},depthMask:!1}}function getColorRenderState(e){return{stencilTest:{enabled:e,frontFunction:StencilFunction$1.NOT_EQUAL,frontOperation:{fail:StencilOperation$1.ZERO,zFail:StencilOperation$1.ZERO,zPass:StencilOperation$1.ZERO},backFunction:StencilFunction$1.NOT_EQUAL,backOperation:{fail:StencilOperation$1.ZERO,zFail:StencilOperation$1.ZERO,zPass:StencilOperation$1.ZERO},reference:0,mask:StencilConstants$1.CLASSIFICATION_MASK},stencilMask:StencilConstants$1.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:BlendingState$1.PRE_MULTIPLIED_ALPHA_BLEND}}Object.defineProperties(ClassificationPrimitive.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}}),ClassificationPrimitive.isSupported=function(e){return e.context.stencilBuffer};var pickRenderState={stencilTest:{enabled:!0,frontFunction:StencilFunction$1.NOT_EQUAL,frontOperation:{fail:StencilOperation$1.ZERO,zFail:StencilOperation$1.ZERO,zPass:StencilOperation$1.ZERO},backFunction:StencilFunction$1.NOT_EQUAL,backOperation:{fail:StencilOperation$1.ZERO,zFail:StencilOperation$1.ZERO,zPass:StencilOperation$1.ZERO},reference:0,mask:StencilConstants$1.CLASSIFICATION_MASK},stencilMask:StencilConstants$1.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function createRenderStates$1(e,t,i,r){var n;defined(e._rsStencilDepthPass)||(n=!e.debugShowShadowVolume,e._rsStencilDepthPass=RenderState.fromCache(getStencilDepthRenderState(n,!1)),e._rsStencilDepthPass3DTiles=RenderState.fromCache(getStencilDepthRenderState(n,!0)),e._rsColorPass=RenderState.fromCache(getColorRenderState(n)),e._rsPickPass=RenderState.fromCache(pickRenderState))}function modifyForEncodedNormals$1(e,t){if(!e.compressVertices)return t;if(-1!==t.search(/attribute\s+vec3\s+extrudeDirection;/g)){var i="compressedAttributes",e="attribute vec2 "+i+";",t=(t=t).replace(/attribute\s+vec3\s+extrudeDirection;/g,"");return[e,"vec3 extrudeDirection;\n",t=ShaderSource.replaceMain(t,"czm_non_compressed_main"),"void main() \n{ \n extrudeDirection = czm_octDecode(compressedAttributes, 65535.0);\n czm_non_compressed_main(); \n}"].join("\n")}}function createShaderProgram$1(e,t){var i=t.context,r=e._primitive,n=ShadowVolumeAppearanceVS,n=e._primitive._batchTable.getVertexShaderCallback()(n);n=Primitive._appendDistanceDisplayConditionToShader(r,n),n=Primitive._modifyShaderPosition(e,n,t.scene3DOnly),n=Primitive._updateColorAttribute(r,n);var a=e._hasPlanarExtentsAttributes,o=a||e._hasSphericalExtentsAttribute;e._extruded&&(n=modifyForEncodedNormals$1(r,n));var s,l,c=e._extruded?"EXTRUDED_GEOMETRY":"",u=new ShaderSource({defines:[c],sources:[n]}),d=new ShaderSource({sources:[ShadowVolumeFS]}),h=e._primitive._attributeLocations,p=new ShadowVolumeAppearance(o,a,e.appearance);e._spStencil=ShaderProgram.replaceCache({context:i,shaderProgram:e._spStencil,vertexShaderSource:u,fragmentShaderSource:d,attributeLocations:h}),e._primitive.allowPicking?(l=ShaderSource.createPickVertexShaderSource(n),l=Primitive._appendShowToShader(r,l),l=Primitive._updatePickColorAttribute(l),s=p.createPickFragmentShader(!1),a=p.createPickVertexShader([c],l,!1,t.mapProjection),e._spPick=ShaderProgram.replaceCache({context:i,shaderProgram:e._spPick,vertexShaderSource:a,fragmentShaderSource:s,attributeLocations:h}),o&&(defined(a=i.shaderCache.getDerivedShaderProgram(e._spPick,"2dPick"))||(s=p.createPickFragmentShader(!0),l=p.createPickVertexShader([c],l,!0,t.mapProjection),a=i.shaderCache.createDerivedShaderProgram(e._spPick,"2dPick",{vertexShaderSource:l,fragmentShaderSource:s,attributeLocations:h})),e._spPick2D=a)):e._spPick=ShaderProgram.fromCache({context:i,vertexShaderSource:u,fragmentShaderSource:d,attributeLocations:h}),u=new ShaderSource({defines:[c],sources:[n=Primitive._appendShowToShader(r,n)]}),e._sp=ShaderProgram.replaceCache({context:i,shaderProgram:e._sp,vertexShaderSource:u,fragmentShaderSource:d,attributeLocations:h});u=p.createFragmentShader(!1),d=p.createVertexShader([c],n,!1,t.mapProjection);e._spColor=ShaderProgram.replaceCache({context:i,shaderProgram:e._spColor,vertexShaderSource:d,fragmentShaderSource:u,attributeLocations:h}),o&&(defined(u=i.shaderCache.getDerivedShaderProgram(e._spColor,"2dColor"))||(o=p.createFragmentShader(!0),t=p.createVertexShader([c],n,!0,t.mapProjection),u=i.shaderCache.createDerivedShaderProgram(e._spColor,"2dColor",{vertexShaderSource:t,fragmentShaderSource:o,attributeLocations:h})),e._spColor2D=u)}function createColorCommands(e,t){var i,r=e._primitive,n=2*r._va.length;t.length=n;for(var a=0,o=r._batchTable.getUniformMapCallback()(e._uniformMap),s=e._needs2DShader,l=0;l<n;l+=2){var c,u=r._va[a++];defined(c=t[l])||(c=t[l]=new DrawCommand({owner:e,primitiveType:r._primitiveType})),c.vertexArray=u,c.renderState=e._rsStencilDepthPass,c.shaderProgram=e._sp,c.uniformMap=o,c.pass=Pass$1.TERRAIN_CLASSIFICATION,(i=DrawCommand.shallowClone(c,c.derivedCommands.tileset)).renderState=e._rsStencilDepthPass3DTiles,i.pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,c.derivedCommands.tileset=i,defined(c=t[l+1])||(c=t[l+1]=new DrawCommand({owner:e,primitiveType:r._primitiveType})),c.vertexArray=u,c.renderState=e._rsColorPass,c.shaderProgram=e._spColor,c.pass=Pass$1.TERRAIN_CLASSIFICATION;u=e.appearance.material;defined(u)&&(o=combine(o,u._uniforms)),c.uniformMap=o,(i=DrawCommand.shallowClone(c,c.derivedCommands.tileset)).pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,c.derivedCommands.tileset=i,s&&((u=DrawCommand.shallowClone(c,c.derivedCommands.appearance2D)).shaderProgram=e._spColor2D,c.derivedCommands.appearance2D=u,(u=DrawCommand.shallowClone(i,i.derivedCommands.appearance2D)).shaderProgram=e._spColor2D,i.derivedCommands.appearance2D=u)}for(var d=e._commandsIgnoreShow,h=e._spStencil,p=0,n=d.length=n/2,m=0;m<n;++m){var f=d[m]=DrawCommand.shallowClone(t[p],d[m]);f.shaderProgram=h,f.pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,p+=2}}function createPickCommands(e,t){var i,r,n,a,o=e._usePickOffsets,s=e._primitive,l=2*s._va.length,c=0;o&&(l=2*(i=s._pickOffsets).length),t.length=l;for(var u=0,d=s._batchTable.getUniformMapCallback()(e._uniformMap),h=e._needs2DShader,p=0;p<l;p+=2){var m=s._va[u++];o&&(r=i[c++],m=s._va[r.index]),defined(n=t[p])||(n=t[p]=new DrawCommand({owner:e,primitiveType:s._primitiveType,pickOnly:!0})),n.vertexArray=m,n.renderState=e._rsStencilDepthPass,n.shaderProgram=e._sp,n.uniformMap=d,n.pass=Pass$1.TERRAIN_CLASSIFICATION,o&&(n.offset=r.offset,n.count=r.count),(a=DrawCommand.shallowClone(n,n.derivedCommands.tileset)).renderState=e._rsStencilDepthPass3DTiles,a.pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=a,defined(n=t[p+1])||(n=t[p+1]=new DrawCommand({owner:e,primitiveType:s._primitiveType,pickOnly:!0})),n.vertexArray=m,n.renderState=e._rsPickPass,n.shaderProgram=e._spPick,n.uniformMap=d,n.pass=Pass$1.TERRAIN_CLASSIFICATION,o&&(n.offset=r.offset,n.count=r.count),(a=DrawCommand.shallowClone(n,n.derivedCommands.tileset)).pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=a,h&&((m=DrawCommand.shallowClone(n,n.derivedCommands.pick2D)).shaderProgram=e._spPick2D,n.derivedCommands.pick2D=m,(m=DrawCommand.shallowClone(a,a.derivedCommands.pick2D)).shaderProgram=e._spPick2D,a.derivedCommands.pick2D=m)}}function createCommands$1(e,t,i,r,n,a,o){createColorCommands(e,a),createPickCommands(e,o)}function boundingVolumeIndex(e,t){return Math.floor(e%t/2)}function updateAndQueueRenderCommand(e,t,i,r,n,a){e.modelMatrix=i,e.boundingVolume=n,e.cull=r,e.debugShowBoundingVolume=a,t.commandList.push(e)}function updateAndQueuePickCommand(e,t,i,r,n){e.modelMatrix=i,e.boundingVolume=n,e.cull=r,t.commandList.push(e)}function updateAndQueueCommands$1(e,t,i,r,n,a,o,s){var l,c=e._primitive;Primitive._updateBoundingVolumes(c,t,n),t.mode===SceneMode$1.SCENE3D?l=c._boundingSphereWC:t.mode===SceneMode$1.COLUMBUS_VIEW?l=c._boundingSphereCV:t.mode===SceneMode$1.SCENE2D&&defined(c._boundingSphere2D)?l=c._boundingSphere2D:defined(c._boundingSphereMorph)&&(l=c._boundingSphereMorph);var u=e.classificationType,d=u!==ClassificationType$1.CESIUM_3D_TILE,h=u!==ClassificationType$1.TERRAIN,u=t.passes;if(u.render){var p=i.length;for(g=0;g<p;++g)C=l[boundingVolumeIndex(g,p)],d&&updateAndQueueRenderCommand(i[g],t,n,a,C,o),h&&updateAndQueueRenderCommand(i[g].derivedCommands.tileset,t,n,a,C,o);if(t.invertClassification)for(var m=e._commandsIgnoreShow,f=m.length,g=0;g<f;++g)C=l[g],updateAndQueueRenderCommand(m[g],t,n,a,C,o)}if(u.pick){var _=r.length,y=c._pickOffsets;for(g=0;g<_;++g){var C=l[y[boundingVolumeIndex(g,_)].index];d&&updateAndQueuePickCommand(r[g],t,n,a,C),h&&updateAndQueuePickCommand(r[g].derivedCommands.tileset,t,n,a,C)}}}ClassificationPrimitive.prototype.update=function(e){if(defined(this._primitive)||defined(this.geometryInstances)){var t=this.appearance;defined(t)&&defined(t.material)&&t.material.update(e.context);var l=this,i=this._primitiveOptions;if(!defined(this._primitive)){var r,n,a,o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],s=o.length,c=!1,u=!0,d=!1,h=!1;for(0<s&&(n=o[0].attributes,d=ShadowVolumeAppearance.hasAttributesForSphericalExtents(n),h=ShadowVolumeAppearance.hasAttributesForTextureCoordinatePlanes(n),a=n.color),f=0;f<s;f++){var p=(r=o[f]).attributes.color;defined(p)&&(c=!0),u=u&&defined(p)&&ColorGeometryInstanceAttribute.equals(a,p)}if(!u&&!d&&!h)throw new DeveloperError("All GeometryInstances must have the same color attribute except via GroundPrimitives");c&&!defined(t)&&(t=new PerInstanceColorAppearance({flat:!0}),this.appearance=t),this._usePickOffsets=!d&&!h,this._hasSphericalExtentsAttribute=d,this._hasPlanarExtentsAttributes=h,this._hasPerColorAttribute=c;for(var m=new Array(s),f=0;f<s;++f)r=o[f],m[f]=new GeometryInstance({geometry:r.geometry,attributes:r.attributes,modelMatrix:r.modelMatrix,id:r.id,pickPrimitive:defaultValue(this._pickPrimitive,l)});i.appearance=t,i.geometryInstances=m,defined(this._createBoundingVolumeFunction)&&(i._createBoundingVolumeFunction=function(e,t){l._createBoundingVolumeFunction(e,t)}),i._createRenderStatesFunction=function(e,t,i,r){createRenderStates$1(l)},i._createShaderProgramFunction=function(e,t,i){createShaderProgram$1(l,t)},i._createCommandsFunction=function(e,t,i,r,n,a,o){createCommands$1(l,void 0,void 0,!0,!1,a,o)},defined(this._updateAndQueueCommandsFunction)?i._updateAndQueueCommandsFunction=function(e,t,i,r,n,a,o,s){l._updateAndQueueCommandsFunction(e,t,i,r,n,a,o,s)}:i._updateAndQueueCommandsFunction=function(e,t,i,r,n,a,o,s){updateAndQueueCommands$1(l,t,i,r,n,a,o)},this._primitive=new Primitive(i),this._primitive.readyPromise.then(function(e){l._ready=!0,l.releaseGeometryInstances&&(l.geometryInstances=void 0);e=e._error;defined(e)?l._readyPromise.reject(e):l._readyPromise.resolve(l)})}this.debugShowShadowVolume&&!this._debugShowShadowVolume&&this._ready?(this._debugShowShadowVolume=!0,this._rsStencilDepthPass=RenderState.fromCache(getStencilDepthRenderState(!1,!1)),this._rsStencilDepthPass3DTiles=RenderState.fromCache(getStencilDepthRenderState(!1,!0)),this._rsColorPass=RenderState.fromCache(getColorRenderState(!1))):!this.debugShowShadowVolume&&this._debugShowShadowVolume&&(this._debugShowShadowVolume=!1,this._rsStencilDepthPass=RenderState.fromCache(getStencilDepthRenderState(!0,!1)),this._rsStencilDepthPass3DTiles=RenderState.fromCache(getStencilDepthRenderState(!0,!0)),this._rsColorPass=RenderState.fromCache(getColorRenderState(!0))),this._primitive.appearance!==t&&(this._primitive.appearance=t),this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e)}},ClassificationPrimitive.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)},ClassificationPrimitive.prototype.isDestroyed=function(){return!1},ClassificationPrimitive.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,destroyObject(this)};var GroundPrimitiveUniformMap={u_globeMinimumAltitude:function(){return 55e3}};function GroundPrimitive(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).appearance,i=e.geometryInstances;if(!defined(t)&&defined(i))for(var r=Array.isArray(i)?i:[i],n=r.length,a=0;a<n;a++){var o=r[a].attributes;if(defined(o)&&defined(o.color)){t=new PerInstanceColorAppearance({flat:!0});break}}this.appearance=t,this.geometryInstances=e.geometryInstances,this.show=defaultValue(e.show,!0),this.classificationType=defaultValue(e.classificationType,ClassificationType$1.BOTH),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=defaultValue(e.debugShowShadowVolume,!1),this._boundingVolumes=[],this._boundingVolumes2D=[],this._ready=!1,this._readyPromise=when.defer(),this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=ApproximateTerrainHeights._defaultMaxTerrainHeight,this._minTerrainHeight=ApproximateTerrainHeights._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:defaultValue(e.vertexCacheOptimize,!1),interleave:defaultValue(e.interleave,!1),releaseGeometryInstances:defaultValue(e.releaseGeometryInstances,!0),allowPicking:defaultValue(e.allowPicking,!0),asynchronous:defaultValue(e.asynchronous,!0),compressVertices:defaultValue(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:this,_extruded:!0,_uniformMap:GroundPrimitiveUniformMap}}function getComputeMaximumHeightFunction(i){return function(e,t){t=t.maximumRadius,t=t/Math.cos(.5*e)-t;return i._maxHeight+t}}function getComputeMinimumHeightFunction(i){return function(e,t){return i._minHeight}}Object.defineProperties(GroundPrimitive.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}}}),GroundPrimitive.isSupported=ClassificationPrimitive.isSupported;var scratchBVCartesianHigh=new Cartesian3,scratchBVCartesianLow=new Cartesian3,scratchBVCartesian=new Cartesian3,scratchBVCartographic=new Cartographic,scratchBVRectangle=new Rectangle;function getRectangle(e,t){var i=e.mapProjection.ellipsoid;if(!defined(t.attributes)||!defined(t.attributes.position3DHigh))return defined(t.rectangle)?t.rectangle:void 0;for(var r=t.attributes.position3DHigh.values,n=t.attributes.position3DLow.values,a=r.length,o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=0;u<a;u+=3)var d=Cartesian3.unpack(r,u,scratchBVCartesianHigh),h=Cartesian3.unpack(n,u,scratchBVCartesianLow),d=Cartesian3.add(d,h,scratchBVCartesian),h=i.cartesianToCartographic(d,scratchBVCartographic),d=h.latitude,h=h.longitude,o=Math.min(o,d),s=Math.min(s,h),l=Math.max(l,d),c=Math.max(c,h);t=scratchBVRectangle;return t.north=l,t.south=o,t.east=c,t.west=s,t}function setMinMaxTerrainHeights(e,t,i){i=ApproximateTerrainHeights.getMinimumMaximumHeights(t,i);e._minTerrainHeight=i.minimumTerrainHeight,e._maxTerrainHeight=i.maximumTerrainHeight}function createBoundingVolume(e,t,i){var r=t.mapProjection.ellipsoid,i=getRectangle(t,i),r=OrientedBoundingBox.fromRectangle(i,e._minHeight,e._maxHeight,r);e._boundingVolumes.push(r),t.scene3DOnly||(t=t.mapProjection,t=BoundingSphere.fromRectangleWithHeights2D(i,t,e._maxHeight,e._minHeight),Cartesian3.fromElements(t.center.z,t.center.x,t.center.y,t.center),e._boundingVolumes2D.push(t))}function boundingVolumeIndex$1(e,t){return Math.floor(e%t/2)}function updateAndQueueRenderCommand$1(e,t,i,r,n,a,o){var s=e._primitive;i.mode!==SceneMode$1.SCENE3D&&t.shaderProgram===s._spColor&&s._needs2DShader&&(t=t.derivedCommands.appearance2D),t.owner=e,t.modelMatrix=r,t.boundingVolume=a,t.cull=n,t.debugShowBoundingVolume=o,i.commandList.push(t)}function updateAndQueuePickCommand$1(e,t,i,r,n,a){var o=e._primitive;i.mode!==SceneMode$1.SCENE3D&&t.shaderProgram===o._spPick&&o._needs2DShader&&(t=t.derivedCommands.pick2D),t.owner=e,t.modelMatrix=r,t.boundingVolume=a,t.cull=n,i.commandList.push(t)}function updateAndQueueCommands$2(e,t,i,r,n,a,o,s){var l=t.mode===SceneMode$1.SCENE3D?e._boundingVolumes:e._boundingVolumes2D,c=e.classificationType,u=c!==ClassificationType$1.CESIUM_3D_TILE,d=c!==ClassificationType$1.TERRAIN,h=t.passes,c=e._primitive;if(h.render){var p=i.length;for(g=0;g<p;++g)y=l[boundingVolumeIndex$1(g,p)],u&&updateAndQueueRenderCommand$1(e,i[g],t,n,a,y,o),d&&updateAndQueueRenderCommand$1(e,i[g].derivedCommands.tileset,t,n,a,y,o);if(t.invertClassification)for(var m=c._commandsIgnoreShow,f=m.length,g=0;g<f;++g)y=l[g],updateAndQueueRenderCommand$1(e,m[g],t,n,a,y,o)}if(h.pick){var _,y,C=r.length;for(e._useFragmentCulling||(_=c._primitive._pickOffsets),g=0;g<C;++g)y=l[boundingVolumeIndex$1(g,C)],e._useFragmentCulling||(y=l[_[boundingVolumeIndex$1(g,C)].index]),u&&updateAndQueuePickCommand$1(e,r[g],t,n,a,y),d&&updateAndQueuePickCommand$1(e,r[g].derivedCommands.tileset,t,n,a,y)}}function MaterialProperty(){DeveloperError.throwInstantiationError()}function DynamicGeometryUpdater(e,t,i){this._primitives=t,this._orderedGroundPrimitives=i,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}GroundPrimitive.initializeTerrainHeights=function(){return ApproximateTerrainHeights.initialize()},GroundPrimitive.prototype.update=function(e){if(defined(this._primitive)||defined(this.geometryInstances))if(ApproximateTerrainHeights.initialized){var l=this,t=this._classificationPrimitiveOptions;if(!defined(this._primitive)){var i,r,n,a,o=e.mapProjection.ellipsoid,s=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],c=s.length,u=new Array(c);for(f=0;f<c;++f){var d=getRectangle(e,r=(i=s[f]).geometry);defined(a)?defined(d)&&Rectangle.union(a,d,a):a=Rectangle.clone(d);var h=i.id;defined(h)&&defined(d)&&(d=ApproximateTerrainHeights.getBoundingSphere(d,o),this._boundingSpheresKeys.push(h),this._boundingSpheres.push(d)),defined(n=r.constructor)&&defined(n.createShadowVolume)}setMinMaxTerrainHeights(this,a,o);var p=e.terrainExaggeration;this._minHeight=this._minTerrainHeight*p,this._maxHeight=this._maxTerrainHeight*p;p=GroundPrimitive._supportsMaterials(e.context);if(this._useFragmentCulling=p){for(var m=!0,f=0;f<c;++f)if(a=getRectangle(e,r=(i=s[f]).geometry),ShadowVolumeAppearance.shouldUseSphericalCoordinates(a)){m=!1;break}for(f=0;f<c;++f){n=(r=(i=s[f]).geometry).constructor;var g,_=getRectangle(e,r),y=r.textureCoordinateRotationPoints,C=m?ShadowVolumeAppearance.getPlanarTextureCoordinateAttributes(_,y,o,e.mapProjection,this._maxHeight):ShadowVolumeAppearance.getSphericalExtentGeometryInstanceAttributes(_,y,o,e.mapProjection),v=i.attributes;for(g in v)v.hasOwnProperty(g)&&(C[g]=v[g]);u[f]=new GeometryInstance({geometry:n.createShadowVolume(r,getComputeMinimumHeightFunction(this),getComputeMaximumHeightFunction(this)),attributes:C,id:i.id})}}else for(f=0;f<c;++f)n=(r=(i=s[f]).geometry).constructor,u[f]=new GeometryInstance({geometry:n.createShadowVolume(r,getComputeMinimumHeightFunction(this),getComputeMaximumHeightFunction(this)),attributes:i.attributes,id:i.id});t.geometryInstances=u,t.appearance=this.appearance,t._createBoundingVolumeFunction=function(e,t){createBoundingVolume(l,e,t)},t._updateAndQueueCommandsFunction=function(e,t,i,r,n,a,o,s){updateAndQueueCommands$2(l,t,i,r,n,a,o)},this._primitive=new ClassificationPrimitive(t),this._primitive.readyPromise.then(function(e){l._ready=!0,l.releaseGeometryInstances&&(l.geometryInstances=void 0);e=e._error;defined(e)?l._readyPromise.reject(e):l._readyPromise.resolve(l)})}this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowShadowVolume=this.debugShowShadowVolume,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e)}else GroundPrimitive.initializeTerrainHeights()},GroundPrimitive.prototype.getBoundingSphere=function(e){e=this._boundingSpheresKeys.indexOf(e);if(-1!==e)return this._boundingSpheres[e]},GroundPrimitive.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)},GroundPrimitive.prototype.isDestroyed=function(){return!1},GroundPrimitive.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),destroyObject(this)},GroundPrimitive._supportsMaterials=function(e){return e.depthTexture},GroundPrimitive.supportsMaterials=function(e){return GroundPrimitive._supportsMaterials(e.frameState.context)},Object.defineProperties(MaterialProperty.prototype,{isConstant:{get:DeveloperError.throwInstantiationError},definitionChanged:{get:DeveloperError.throwInstantiationError}}),MaterialProperty.prototype.getType=DeveloperError.throwInstantiationError,MaterialProperty.prototype.getValue=DeveloperError.throwInstantiationError,MaterialProperty.prototype.equals=DeveloperError.throwInstantiationError,MaterialProperty.getValue=function(e,t,i){var r;return defined(t)&&defined(r=t.getType(e))?(defined(i)&&i.type===r||(i=Material.fromType(r)),t.getValue(e,i.uniforms)):(defined(i)&&i.type===Material.ColorType||(i=Material.fromType(Material.ColorType)),Color.clone(Color.WHITE,i.uniforms.color)),i},DynamicGeometryUpdater.prototype._isHidden=function(e,t,i){return!e.isShowing||!e.isAvailable(i)||!Property.getValueOrDefault(t.show,i,!0)},DynamicGeometryUpdater.prototype._setOptions=DeveloperError.throwInstantiationError,DynamicGeometryUpdater.prototype.update=function(e){var t=this._geometryUpdater,i=t._onTerrain,r=this._primitives,n=this._orderedGroundPrimitives;i?n.remove(this._primitive):(r.removeAndDestroy(this._primitive),r.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;var a,o,s,l,c=this._entity,u=c[this._geometryUpdater._geometryPropertyName];this._setOptions(c,u,e),this._isHidden(c,u,e)||(a=this._geometryUpdater.shadowsProperty.getValue(e),l=this._options,defined(u.fill)&&!u.fill.getValue(e)||(o=(s=t.fillMaterialProperty)instanceof ColorMaterialProperty,c=t._getIsClosed(l),c=o?new PerInstanceColorAppearance({closed:c,flat:i&&!t._supportsMaterialsforEntitiesOnTerrain}):(s=MaterialProperty.getValue(e,s,this._material),new MaterialAppearance({material:this._material=s,translucent:s.isTranslucent(),closed:c})),i?(l.vertexFormat=PerInstanceColorAppearance.VERTEX_FORMAT,this._primitive=n.add(new GroundPrimitive({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:c,asynchronous:!1,shadows:a,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),Property.getValueOrUndefined(this._geometryUpdater.zIndex,e))):(l.vertexFormat=c.vertexFormat,l=this._geometryUpdater.createFillGeometryInstance(e),o&&(c.translucent=255!==l.attributes.color.value[3]),this._primitive=r.add(new Primitive({geometryInstances:l,appearance:c,asynchronous:!1,shadows:a})))),!i&&defined(u.outline)&&u.outline.getValue(e)&&(i=this._geometryUpdater.createOutlineGeometryInstance(e),e=Property.getValueOrDefault(u.outlineWidth,e,1),this._outlinePrimitive=r.add(new Primitive({geometryInstances:i,appearance:new PerInstanceColorAppearance({flat:!0,translucent:255!==i.attributes.color.value[3],renderState:{lineWidth:t._scene.clampLineWidth(e)}}),asynchronous:!1,shadows:a}))))},DynamicGeometryUpdater.prototype.getBoundingSphere=function(e){var t,i=this._entity,r=this._primitive,n=this._outlinePrimitive;return defined(r)&&r.show&&r.ready&&defined(t=r.getGeometryInstanceAttributes(i))&&defined(t.boundingSphere)||defined(n)&&n.show&&n.ready&&defined(t=n.getGeometryInstanceAttributes(i))&&defined(t.boundingSphere)?(BoundingSphere.clone(t.boundingSphere,e),BoundingSphereState$1.DONE):defined(r)&&!r.ready||defined(n)&&!n.ready?BoundingSphereState$1.PENDING:BoundingSphereState$1.FAILED},DynamicGeometryUpdater.prototype.isDestroyed=function(){return!1},DynamicGeometryUpdater.prototype.destroy=function(){var e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),destroyObject(this)};var PolylineShadowVolumeFS="#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\nvarying vec4 v_startPlaneNormalEcAndHalfWidth;\nvarying vec4 v_endPlaneNormalEcAndBatchId;\nvarying vec4 v_rightPlaneEC;\nvarying vec4 v_endEcAndStartEcX;\nvarying vec4 v_texcoordNormalizationAndStartEcYZ;\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#endif\nvoid main(void)\n{\nfloat logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)));\nvec3 ecStart = vec3(v_endEcAndStartEcX.w, v_texcoordNormalizationAndStartEcYZ.zw);\nif (logDepthOrDepth == 0.0) {\n#ifdef DEBUG_SHOW_VOLUME\ngl_FragColor = vec4(1.0, 0.0, 0.0, 0.5);\nreturn;\n#else // DEBUG_SHOW_VOLUME\ndiscard;\n#endif // DEBUG_SHOW_VOLUME\n}\nvec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);\neyeCoordinate /= eyeCoordinate.w;\nfloat halfMaxWidth = v_startPlaneNormalEcAndHalfWidth.w * czm_metersPerPixel(eyeCoordinate);\nfloat widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz);\nfloat distanceFromStart = czm_planeDistance(v_startPlaneNormalEcAndHalfWidth.xyz, -dot(ecStart, v_startPlaneNormalEcAndHalfWidth.xyz), eyeCoordinate.xyz);\nfloat distanceFromEnd = czm_planeDistance(v_endPlaneNormalEcAndBatchId.xyz, -dot(v_endEcAndStartEcX.xyz, v_endPlaneNormalEcAndBatchId.xyz), eyeCoordinate.xyz);\nif (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) {\n#ifdef DEBUG_SHOW_VOLUME\ngl_FragColor = vec4(1.0, 0.0, 0.0, 0.5);\nreturn;\n#else // DEBUG_SHOW_VOLUME\ndiscard;\n#endif // DEBUG_SHOW_VOLUME\n}\nvec3 alignedPlaneNormal;\nalignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_startPlaneNormalEcAndHalfWidth.xyz);\nalignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz));\ndistanceFromStart = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, ecStart), eyeCoordinate.xyz);\nalignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_endPlaneNormalEcAndBatchId.xyz);\nalignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz));\ndistanceFromEnd = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, v_endEcAndStartEcX.xyz), eyeCoordinate.xyz);\n#ifdef PER_INSTANCE_COLOR\ngl_FragColor = czm_gammaCorrect(v_color);\n#else // PER_INSTANCE_COLOR\nfloat s = clamp(distanceFromStart / (distanceFromStart + distanceFromEnd), 0.0, 1.0);\ns = (s * v_texcoordNormalizationAndStartEcYZ.x) + v_texcoordNormalizationAndStartEcYZ.y;\nfloat t = (widthwiseDistance + halfMaxWidth) / (2.0 * halfMaxWidth);\nczm_materialInput materialInput;\nmaterialInput.s = s;\nmaterialInput.st = vec2(s, t);\nmaterialInput.str = vec3(s, t, 0.0);\nczm_material material = czm_getMaterial(materialInput);\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#endif // PER_INSTANCE_COLOR\ngl_FragColor.rgb *= gl_FragColor.a;\nczm_writeDepthClamp();\n}\n",PolylineShadowVolumeMorphFS="varying vec3 v_forwardDirectionEC;\nvarying vec3 v_texcoordNormalizationAndHalfWidth;\nvarying float v_batchId;\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#else\nvarying vec2 v_alignedPlaneDistances;\nvarying float v_texcoordT;\n#endif\nfloat rayPlaneDistanceUnsafe(vec3 origin, vec3 direction, vec3 planeNormal, float planeDistance) {\nreturn (-planeDistance - dot(planeNormal, origin)) / dot(planeNormal, direction);\n}\nvoid main(void)\n{\nvec4 eyeCoordinate = gl_FragCoord;\neyeCoordinate /= eyeCoordinate.w;\n#ifdef PER_INSTANCE_COLOR\ngl_FragColor = czm_gammaCorrect(v_color);\n#else // PER_INSTANCE_COLOR\nfloat distanceFromStart = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, -v_forwardDirectionEC, v_forwardDirectionEC.xyz, v_alignedPlaneDistances.x);\nfloat distanceFromEnd = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, v_forwardDirectionEC, -v_forwardDirectionEC.xyz, v_alignedPlaneDistances.y);\ndistanceFromStart = max(0.0, distanceFromStart);\ndistanceFromEnd = max(0.0, distanceFromEnd);\nfloat s = distanceFromStart / (distanceFromStart + distanceFromEnd);\ns = (s * v_texcoordNormalizationAndHalfWidth.x) + v_texcoordNormalizationAndHalfWidth.y;\nczm_materialInput materialInput;\nmaterialInput.s = s;\nmaterialInput.st = vec2(s, v_texcoordT);\nmaterialInput.str = vec3(s, v_texcoordT, 0.0);\nczm_material material = czm_getMaterial(materialInput);\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#endif // PER_INSTANCE_COLOR\n}\n",PolylineShadowVolumeMorphVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec4 startHiAndForwardOffsetX;\nattribute vec4 startLoAndForwardOffsetY;\nattribute vec4 startNormalAndForwardOffsetZ;\nattribute vec4 endNormalAndTextureCoordinateNormalizationX;\nattribute vec4 rightNormalAndTextureCoordinateNormalizationY;\nattribute vec4 startHiLo2D;\nattribute vec4 offsetAndRight2D;\nattribute vec4 startEndNormals2D;\nattribute vec2 texcoordNormalization2D;\nattribute float batchId;\nvarying vec3 v_forwardDirectionEC;\nvarying vec3 v_texcoordNormalizationAndHalfWidth;\nvarying float v_batchId;\n#ifdef WIDTH_VARYING\nvarying float v_width;\n#endif\n#ifdef ANGLE_VARYING\nvarying float v_polylineAngle;\n#endif\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#else\nvarying vec2 v_alignedPlaneDistances;\nvarying float v_texcoordT;\n#endif\nvoid main()\n{\nv_batchId = batchId;\nvec4 posRelativeToEye2D = czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw));\nvec4 posRelativeToEye3D = czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz);\nvec4 posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime);\nvec3 posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz;\nvec3 posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz;\nvec3 startEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz;\nvec4 startPlane2D;\nvec4 startPlane3D;\nstartPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy);\nstartPlane3D.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz;\nstartPlane2D.w = -dot(startPlane2D.xyz, posEc2D);\nstartPlane3D.w = -dot(startPlane3D.xyz, posEc3D);\nvec4 rightPlane2D;\nvec4 rightPlane3D;\nrightPlane2D.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw);\nrightPlane3D.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz;\nrightPlane2D.w = -dot(rightPlane2D.xyz, posEc2D);\nrightPlane3D.w = -dot(rightPlane3D.xyz, posEc3D);\nposRelativeToEye2D = posRelativeToEye2D + vec4(0.0, offsetAndRight2D.xy, 0.0);\nposRelativeToEye3D = posRelativeToEye3D + vec4(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w, 0.0);\nposRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime);\nposEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz;\nposEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz;\nvec3 endEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz;\nvec3 forwardEc3D = czm_normal * normalize(vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w));\nvec3 forwardEc2D = czm_normal * normalize(vec3(0.0, offsetAndRight2D.xy));\nvec4 endPlane2D;\nvec4 endPlane3D;\nendPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw);\nendPlane3D.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz;\nendPlane2D.w = -dot(endPlane2D.xyz, posEc2D);\nendPlane3D.w = -dot(endPlane3D.xyz, posEc3D);\nv_forwardDirectionEC = normalize(endEC - startEC);\nvec2 cleanTexcoordNormalization2D;\ncleanTexcoordNormalization2D.x = abs(texcoordNormalization2D.x);\ncleanTexcoordNormalization2D.y = czm_branchFreeTernary(texcoordNormalization2D.y > 1.0, 0.0, abs(texcoordNormalization2D.y));\nvec2 cleanTexcoordNormalization3D;\ncleanTexcoordNormalization3D.x = abs(endNormalAndTextureCoordinateNormalizationX.w);\ncleanTexcoordNormalization3D.y = rightNormalAndTextureCoordinateNormalizationY.w;\ncleanTexcoordNormalization3D.y = czm_branchFreeTernary(cleanTexcoordNormalization3D.y > 1.0, 0.0, abs(cleanTexcoordNormalization3D.y));\nv_texcoordNormalizationAndHalfWidth.xy = mix(cleanTexcoordNormalization2D, cleanTexcoordNormalization3D, czm_morphTime);\n#ifdef PER_INSTANCE_COLOR\nv_color = czm_batchTable_color(batchId);\n#else // PER_INSTANCE_COLOR\nv_alignedPlaneDistances.x = -dot(v_forwardDirectionEC, startEC);\nv_alignedPlaneDistances.y = -dot(-v_forwardDirectionEC, endEC);\n#endif // PER_INSTANCE_COLOR\n#ifdef WIDTH_VARYING\nfloat width = czm_batchTable_width(batchId);\nfloat halfWidth = width * 0.5;\nv_width = width;\nv_texcoordNormalizationAndHalfWidth.z = halfWidth;\n#else\nfloat halfWidth = 0.5 * czm_batchTable_width(batchId);\nv_texcoordNormalizationAndHalfWidth.z = halfWidth;\n#endif\nvec4 positionEc3D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position3DHigh, position3DLow);\nfloat absStartPlaneDistance = abs(czm_planeDistance(startPlane3D, positionEc3D.xyz));\nfloat absEndPlaneDistance = abs(czm_planeDistance(endPlane3D, positionEc3D.xyz));\nvec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane3D.xyz, endPlane3D.xyz);\nvec3 upOrDown = normalize(cross(rightPlane3D.xyz, planeDirection));\nvec3 normalEC = normalize(cross(planeDirection, upOrDown));\nvec3 geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc3D));\ngeodeticSurfaceNormal *= float(0.0 <= rightNormalAndTextureCoordinateNormalizationY.w && rightNormalAndTextureCoordinateNormalizationY.w <= 1.0);\ngeodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT;\npositionEc3D.xyz += geodeticSurfaceNormal;\nnormalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w);\npositionEc3D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc3D)) * normalEC;\nvec4 positionEc2D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy);\nabsStartPlaneDistance = abs(czm_planeDistance(startPlane2D, positionEc2D.xyz));\nabsEndPlaneDistance = abs(czm_planeDistance(endPlane2D, positionEc2D.xyz));\nplaneDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane2D.xyz, endPlane2D.xyz);\nupOrDown = normalize(cross(rightPlane2D.xyz, planeDirection));\nnormalEC = normalize(cross(planeDirection, upOrDown));\ngeodeticSurfaceNormal = normalize(cross(normalEC, forwardEc2D));\ngeodeticSurfaceNormal *= float(0.0 <= texcoordNormalization2D.y && texcoordNormalization2D.y <= 1.0);\ngeodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT;\npositionEc2D.xyz += geodeticSurfaceNormal;\nnormalEC *= sign(texcoordNormalization2D.x);\n#ifndef PER_INSTANCE_COLOR\nv_texcoordT = clamp(sign(texcoordNormalization2D.x), 0.0, 1.0);\n#endif\npositionEc2D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc2D)) * normalEC;\ngl_Position = czm_projection * mix(positionEc2D, positionEc3D, czm_morphTime);\n#ifdef ANGLE_VARYING\nvec2 approxLineDirection = normalize(vec2(v_forwardDirectionEC.x, -v_forwardDirectionEC.y));\napproxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y);\nv_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y);\n#endif\n}\n",PolylineShadowVolumeVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\n#ifndef COLUMBUS_VIEW_2D\nattribute vec4 startHiAndForwardOffsetX;\nattribute vec4 startLoAndForwardOffsetY;\nattribute vec4 startNormalAndForwardOffsetZ;\nattribute vec4 endNormalAndTextureCoordinateNormalizationX;\nattribute vec4 rightNormalAndTextureCoordinateNormalizationY;\n#else\nattribute vec4 startHiLo2D;\nattribute vec4 offsetAndRight2D;\nattribute vec4 startEndNormals2D;\nattribute vec2 texcoordNormalization2D;\n#endif\nattribute float batchId;\nvarying vec4 v_startPlaneNormalEcAndHalfWidth;\nvarying vec4 v_endPlaneNormalEcAndBatchId;\nvarying vec4 v_rightPlaneEC;\nvarying vec4 v_endEcAndStartEcX;\nvarying vec4 v_texcoordNormalizationAndStartEcYZ;\n#ifdef WIDTH_VARYING\nvarying float v_width;\n#endif\n#ifdef ANGLE_VARYING\nvarying float v_polylineAngle;\n#endif\n#ifdef PER_INSTANCE_COLOR\nvarying vec4 v_color;\n#endif\nvoid main()\n{\n#ifdef COLUMBUS_VIEW_2D\nvec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw))).xyz;\nvec3 forwardDirectionEC = czm_normal * vec3(0.0, offsetAndRight2D.xy);\nvec3 ecEnd = forwardDirectionEC + ecStart;\nforwardDirectionEC = normalize(forwardDirectionEC);\nv_rightPlaneEC.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw);\nv_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart);\nvec4 startPlaneEC;\nstartPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy);\nstartPlaneEC.w = -dot(startPlaneEC.xyz, ecStart);\nvec4 endPlaneEC;\nendPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw);\nendPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd);\nv_texcoordNormalizationAndStartEcYZ.x = abs(texcoordNormalization2D.x);\nv_texcoordNormalizationAndStartEcYZ.y = texcoordNormalization2D.y;\n#else // COLUMBUS_VIEW_2D\nvec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz)).xyz;\nvec3 offset = czm_normal * vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w);\nvec3 ecEnd = ecStart + offset;\nvec3 forwardDirectionEC = normalize(offset);\nvec4 startPlaneEC;\nstartPlaneEC.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz;\nstartPlaneEC.w = -dot(startPlaneEC.xyz, ecStart);\nvec4 endPlaneEC;\nendPlaneEC.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz;\nendPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd);\nv_rightPlaneEC.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz;\nv_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart);\nv_texcoordNormalizationAndStartEcYZ.x = abs(endNormalAndTextureCoordinateNormalizationX.w);\nv_texcoordNormalizationAndStartEcYZ.y = rightNormalAndTextureCoordinateNormalizationY.w;\n#endif // COLUMBUS_VIEW_2D\nv_endEcAndStartEcX.xyz = ecEnd;\nv_endEcAndStartEcX.w = ecStart.x;\nv_texcoordNormalizationAndStartEcYZ.zw = ecStart.yz;\n#ifdef PER_INSTANCE_COLOR\nv_color = czm_batchTable_color(batchId);\n#endif // PER_INSTANCE_COLOR\nvec4 positionRelativeToEye = czm_computePosition();\nvec4 positionEC = czm_modelViewRelativeToEye * positionRelativeToEye;\nfloat absStartPlaneDistance = abs(czm_planeDistance(startPlaneEC, positionEC.xyz));\nfloat absEndPlaneDistance = abs(czm_planeDistance(endPlaneEC, positionEC.xyz));\nvec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlaneEC.xyz, endPlaneEC.xyz);\nvec3 upOrDown = normalize(cross(v_rightPlaneEC.xyz, planeDirection));\nvec3 normalEC = normalize(cross(planeDirection, upOrDown));\nupOrDown = cross(forwardDirectionEC, normalEC);\nupOrDown = float(czm_sceneMode == czm_sceneMode3D) * upOrDown;\nupOrDown = float(v_texcoordNormalizationAndStartEcYZ.y > 1.0 || v_texcoordNormalizationAndStartEcYZ.y < 0.0) * upOrDown;\nupOrDown = min(GLOBE_MINIMUM_ALTITUDE, czm_geometricToleranceOverMeter * length(positionRelativeToEye.xyz)) * upOrDown;\npositionEC.xyz += upOrDown;\nv_texcoordNormalizationAndStartEcYZ.y = czm_branchFreeTernary(v_texcoordNormalizationAndStartEcYZ.y > 1.0, 0.0, abs(v_texcoordNormalizationAndStartEcYZ.y));\nfloat width = czm_batchTable_width(batchId);\n#ifdef WIDTH_VARYING\nv_width = width;\n#endif\nv_startPlaneNormalEcAndHalfWidth.xyz = startPlaneEC.xyz;\nv_startPlaneNormalEcAndHalfWidth.w = width * 0.5;\nv_endPlaneNormalEcAndBatchId.xyz = endPlaneEC.xyz;\nv_endPlaneNormalEcAndBatchId.w = batchId;\nwidth = width * max(0.0, czm_metersPerPixel(positionEC));\nwidth = width / dot(normalEC, v_rightPlaneEC.xyz);\n#ifdef COLUMBUS_VIEW_2D\nnormalEC *= sign(texcoordNormalization2D.x);\n#else\nnormalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w);\n#endif\npositionEC.xyz += width * normalEC;\ngl_Position = czm_depthClamp(czm_projection * positionEC);\n#ifdef ANGLE_VARYING\nvec2 approxLineDirection = normalize(vec2(forwardDirectionEC.x, -forwardDirectionEC.y));\napproxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y);\nv_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y);\n#endif\n}\n",PolylineColorAppearanceVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec2 expandAndWidth;\nattribute vec4 color;\nattribute float batchId;\nvarying vec4 v_color;\nvoid main()\n{\nfloat expandDir = expandAndWidth.x;\nfloat width = abs(expandAndWidth.y) + 0.5;\nbool usePrev = expandAndWidth.y < 0.0;\nvec4 p = czm_computePosition();\nvec4 prev = czm_computePrevPosition();\nvec4 next = czm_computeNextPosition();\nfloat angle;\nvec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle);\ngl_Position = czm_viewportOrthographic * positionWC;\nv_color = color;\n}\n",PolylineCommon="void clipLineSegmentToNearPlane(\nvec3 p0,\nvec3 p1,\nout vec4 positionWC,\nout bool clipped,\nout bool culledByNearPlane,\nout vec4 clippedPositionEC)\n{\nculledByNearPlane = false;\nclipped = false;\nvec3 p0ToP1 = p1 - p0;\nfloat magnitude = length(p0ToP1);\nvec3 direction = normalize(p0ToP1);\nfloat endPoint0Distance = czm_currentFrustum.x + p0.z;\nfloat denominator = -direction.z;\nif (endPoint0Distance > 0.0 && abs(denominator) < czm_epsilon7)\n{\nculledByNearPlane = true;\n}\nelse if (endPoint0Distance > 0.0)\n{\nfloat t = endPoint0Distance / denominator;\nif (t < 0.0 || t > magnitude)\n{\nculledByNearPlane = true;\n}\nelse\n{\np0 = p0 + t * direction;\np0.z = min(p0.z, -czm_currentFrustum.x);\nclipped = true;\n}\n}\nclippedPositionEC = vec4(p0, 1.0);\npositionWC = czm_eyeToWindowCoordinates(clippedPositionEC);\n}\nvec4 getPolylineWindowCoordinatesEC(vec4 positionEC, vec4 prevEC, vec4 nextEC, float expandDirection, float width, bool usePrevious, out float angle)\n{\n#ifdef POLYLINE_DASH\nvec4 positionWindow = czm_eyeToWindowCoordinates(positionEC);\nvec4 previousWindow = czm_eyeToWindowCoordinates(prevEC);\nvec4 nextWindow = czm_eyeToWindowCoordinates(nextEC);\nvec2 lineDir;\nif (usePrevious) {\nlineDir = normalize(positionWindow.xy - previousWindow.xy);\n}\nelse {\nlineDir = normalize(nextWindow.xy - positionWindow.xy);\n}\nangle = atan(lineDir.x, lineDir.y) - 1.570796327;\nangle = floor(angle / czm_piOverFour + 0.5) * czm_piOverFour;\n#endif\nvec4 clippedPrevWC, clippedPrevEC;\nbool prevSegmentClipped, prevSegmentCulled;\nclipLineSegmentToNearPlane(prevEC.xyz, positionEC.xyz, clippedPrevWC, prevSegmentClipped, prevSegmentCulled, clippedPrevEC);\nvec4 clippedNextWC, clippedNextEC;\nbool nextSegmentClipped, nextSegmentCulled;\nclipLineSegmentToNearPlane(nextEC.xyz, positionEC.xyz, clippedNextWC, nextSegmentClipped, nextSegmentCulled, clippedNextEC);\nbool segmentClipped, segmentCulled;\nvec4 clippedPositionWC, clippedPositionEC;\nclipLineSegmentToNearPlane(positionEC.xyz, usePrevious ? prevEC.xyz : nextEC.xyz, clippedPositionWC, segmentClipped, segmentCulled, clippedPositionEC);\nif (segmentCulled)\n{\nreturn vec4(0.0, 0.0, 0.0, 1.0);\n}\nvec2 directionToPrevWC = normalize(clippedPrevWC.xy - clippedPositionWC.xy);\nvec2 directionToNextWC = normalize(clippedNextWC.xy - clippedPositionWC.xy);\nif (prevSegmentCulled)\n{\ndirectionToPrevWC = -directionToNextWC;\n}\nelse if (nextSegmentCulled)\n{\ndirectionToNextWC = -directionToPrevWC;\n}\nvec2 thisSegmentForwardWC, otherSegmentForwardWC;\nif (usePrevious)\n{\nthisSegmentForwardWC = -directionToPrevWC;\notherSegmentForwardWC = directionToNextWC;\n}\nelse\n{\nthisSegmentForwardWC = directionToNextWC;\notherSegmentForwardWC = -directionToPrevWC;\n}\nvec2 thisSegmentLeftWC = vec2(-thisSegmentForwardWC.y, thisSegmentForwardWC.x);\nvec2 leftWC = thisSegmentLeftWC;\nfloat expandWidth = width * 0.5;\nif (!czm_equalsEpsilon(prevEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1) && !czm_equalsEpsilon(nextEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1))\n{\nvec2 otherSegmentLeftWC = vec2(-otherSegmentForwardWC.y, otherSegmentForwardWC.x);\nvec2 leftSumWC = thisSegmentLeftWC + otherSegmentLeftWC;\nfloat leftSumLength = length(leftSumWC);\nleftWC = leftSumLength < czm_epsilon6 ? thisSegmentLeftWC : (leftSumWC / leftSumLength);\nvec2 u = -thisSegmentForwardWC;\nvec2 v = leftWC;\nfloat sinAngle = abs(u.x * v.y - u.y * v.x);\nexpandWidth = clamp(expandWidth / sinAngle, 0.0, width * 2.0);\n}\nvec2 offset = leftWC * expandDirection * expandWidth * czm_pixelRatio;\nreturn vec4(clippedPositionWC.xy + offset, -clippedPositionWC.z, 1.0) * (czm_projection * clippedPositionEC).w;\n}\nvec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float expandDirection, float width, bool usePrevious, out float angle)\n{\nvec4 positionEC = czm_modelViewRelativeToEye * position;\nvec4 prevEC = czm_modelViewRelativeToEye * previous;\nvec4 nextEC = czm_modelViewRelativeToEye * next;\nreturn getPolylineWindowCoordinatesEC(positionEC, prevEC, nextEC, expandDirection, width, usePrevious, angle);\n}\n",defaultVertexShaderSource=PolylineCommon+"\n"+PolylineColorAppearanceVS,defaultFragmentShaderSource=PerInstanceFlatColorAppearanceFS;function PolylineColorAppearance(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.translucent,!0),i=PolylineColorAppearance.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=defaultValue(e.vertexShaderSource,defaultVertexShaderSource),this._fragmentShaderSource=defaultValue(e.fragmentShaderSource,defaultFragmentShaderSource),this._renderState=Appearance.getDefaultRenderState(t,!1,e.renderState),this._closed=!1,this._vertexFormat=i}FeatureDetection.isInternetExplorer()||(defaultVertexShaderSource="#define CLIP_POLYLINE \n"+defaultVertexShaderSource),Object.defineProperties(PolylineColorAppearance.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}}),PolylineColorAppearance.VERTEX_FORMAT=VertexFormat.POSITION_ONLY,PolylineColorAppearance.prototype.getFragmentShaderSource=Appearance.prototype.getFragmentShaderSource,PolylineColorAppearance.prototype.isTranslucent=Appearance.prototype.isTranslucent,PolylineColorAppearance.prototype.getRenderState=Appearance.prototype.getRenderState;var PolylineMaterialAppearanceVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec2 expandAndWidth;\nattribute vec2 st;\nattribute float batchId;\nvarying float v_width;\nvarying vec2 v_st;\nvarying float v_polylineAngle;\nvoid main()\n{\nfloat expandDir = expandAndWidth.x;\nfloat width = abs(expandAndWidth.y) + 0.5;\nbool usePrev = expandAndWidth.y < 0.0;\nvec4 p = czm_computePosition();\nvec4 prev = czm_computePrevPosition();\nvec4 next = czm_computeNextPosition();\nfloat angle;\nvec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle);\ngl_Position = czm_viewportOrthographic * positionWC;\nv_width = width;\nv_st.s = st.s;\nv_st.t = czm_writeNonPerspective(st.t, gl_Position.w);\nv_polylineAngle = angle;\n}\n",PolylineFS="#ifdef VECTOR_TILE\nuniform vec4 u_highlightColor;\n#endif\nvarying vec2 v_st;\nvoid main()\n{\nczm_materialInput materialInput;\nvec2 st = v_st;\nst.t = czm_readNonPerspective(st.t, gl_FragCoord.w);\nmaterialInput.s = st.s;\nmaterialInput.st = st;\nmaterialInput.str = vec3(st, 0.0);\nczm_material material = czm_getMaterial(materialInput);\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#ifdef VECTOR_TILE\ngl_FragColor *= u_highlightColor;\n#endif\nczm_writeLogDepth();\n}\n",defaultVertexShaderSource$1=PolylineCommon+"\n"+PolylineMaterialAppearanceVS,defaultFragmentShaderSource$1=PolylineFS;function PolylineMaterialAppearance(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.translucent,!0),i=PolylineMaterialAppearance.VERTEX_FORMAT;this.material=defined(e.material)?e.material:Material.fromType(Material.ColorType),this.translucent=t,this._vertexShaderSource=defaultValue(e.vertexShaderSource,defaultVertexShaderSource$1),this._fragmentShaderSource=defaultValue(e.fragmentShaderSource,defaultFragmentShaderSource$1),this._renderState=Appearance.getDefaultRenderState(t,!1,e.renderState),this._closed=!1,this._vertexFormat=i}function GroundPolylinePrimitive(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this._hasPerInstanceColors=!0;var t=e.appearance;defined(t)||(t=new PolylineMaterialAppearance),this.appearance=t,this.show=defaultValue(e.show,!0),this.classificationType=defaultValue(e.classificationType,ClassificationType$1.BOTH),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this._debugShowShadowVolume=defaultValue(e.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:defaultValue(e.interleave,!1),releaseGeometryInstances:defaultValue(e.releaseGeometryInstances,!0),allowPicking:defaultValue(e.allowPicking,!0),asynchronous:defaultValue(e.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1,this._readyPromise=when.defer(),this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=getRenderState(!1),this._renderState3DTiles=getRenderState(!0),this._renderStateMorph=RenderState.fromCache({cull:{enabled:!0,face:CullFace$1.FRONT},depthTest:{enabled:!0},blending:BlendingState$1.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}function createShaderProgram$2(e,t,i){var r=t.context,n=e._primitive,a=n._attributeLocations,o=n._batchTable.getVertexShaderCallback()(PolylineShadowVolumeVS),o=Primitive._appendShowToShader(n,o);o=Primitive._appendDistanceDisplayConditionToShader(n,o),o=Primitive._modifyShaderPosition(e,o,t.scene3DOnly);var s=n._batchTable.getVertexShaderCallback()(PolylineShadowVolumeMorphVS),s=Primitive._appendShowToShader(n,s);s=Primitive._appendDistanceDisplayConditionToShader(n,s),s=Primitive._modifyShaderPosition(e,s,t.scene3DOnly);var l=n._batchTable.getVertexShaderCallback()(PolylineShadowVolumeFS),c=["GLOBE_MINIMUM_ALTITUDE "+t.mapProjection.ellipsoid.minimumRadius.toFixed(1)],u="",d="";defined(i.material)?(-1!==(d=defined(i.material)?i.material.shaderSource:"").search(/varying\s+float\s+v_polylineAngle;/g)&&c.push("ANGLE_VARYING"),-1!==d.search(/varying\s+float\s+v_width;/g)&&c.push("WIDTH_VARYING")):u="PER_INSTANCE_COLOR",c.push(u);t=e.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",u]:[u],i=new ShaderSource({defines:c,sources:[o]}),u=new ShaderSource({defines:t,sources:[d,l]});e._sp=ShaderProgram.replaceCache({context:r,shaderProgram:n._sp,vertexShaderSource:i,fragmentShaderSource:u,attributeLocations:a});i=r.shaderCache.getDerivedShaderProgram(e._sp,"2dColor");defined(i)||(o=new ShaderSource({defines:c.concat(["COLUMBUS_VIEW_2D"]),sources:[o]}),i=r.shaderCache.createDerivedShaderProgram(e._sp,"2dColor",{context:r,shaderProgram:e._sp2D,vertexShaderSource:o,fragmentShaderSource:u,attributeLocations:a})),e._sp2D=i;i=r.shaderCache.getDerivedShaderProgram(e._sp,"MorphColor");defined(i)||(s=new ShaderSource({defines:c.concat(["MAX_TERRAIN_HEIGHT "+ApproximateTerrainHeights._defaultMaxTerrainHeight.toFixed(1)]),sources:[s]}),l=new ShaderSource({defines:t,sources:[d,l=n._batchTable.getVertexShaderCallback()(PolylineShadowVolumeMorphFS)]}),i=r.shaderCache.createDerivedShaderProgram(e._sp,"MorphColor",{context:r,shaderProgram:e._spMorph,vertexShaderSource:s,fragmentShaderSource:l,attributeLocations:a})),e._spMorph=i}function getRenderState(e){return RenderState.fromCache({cull:{enabled:!0},blending:BlendingState$1.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:StencilFunction$1.EQUAL,frontOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.KEEP,zPass:StencilOperation$1.KEEP},backFunction:StencilFunction$1.EQUAL,backOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.KEEP,zPass:StencilOperation$1.KEEP},reference:StencilConstants$1.CESIUM_3D_TILE_MASK,mask:StencilConstants$1.CESIUM_3D_TILE_MASK}})}function createCommands$2(e,t,i,r,n,a){var o=e._primitive,s=o._va.length;n.length=s,a.length=s;for(var i=t instanceof PolylineColorAppearance?{}:i._uniforms,l=o._batchTable.getUniformMapCallback()(i),c=0;c<s;c++){var u=o._va[c],d=n[c];defined(d)||(d=n[c]=new DrawCommand({owner:e,primitiveType:o._primitiveType})),d.vertexArray=u,d.renderState=e._renderState,d.shaderProgram=e._sp,d.uniformMap=l,d.pass=Pass$1.TERRAIN_CLASSIFICATION,d.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";var h=DrawCommand.shallowClone(d,d.derivedCommands.tileset);h.renderState=e._renderState3DTiles,h.pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,d.derivedCommands.tileset=h;u=DrawCommand.shallowClone(d,d.derivedCommands.color2D);u.shaderProgram=e._sp2D,d.derivedCommands.color2D=u;u=DrawCommand.shallowClone(h,h.derivedCommands.color2D);u.shaderProgram=e._sp2D,h.derivedCommands.color2D=u;u=DrawCommand.shallowClone(d,d.derivedCommands.colorMorph);u.renderState=e._renderStateMorph,u.shaderProgram=e._spMorph,u.pickId="czm_batchTable_pickColor(v_batchId)",d.derivedCommands.colorMorph=u}}function updateAndQueueCommand(e,t,i,r,n,a,o){i.mode===SceneMode$1.MORPHING?t=t.derivedCommands.colorMorph:i.mode!==SceneMode$1.SCENE3D&&(t=t.derivedCommands.color2D),t.modelMatrix=r,t.boundingVolume=a,t.cull=n,t.debugShowBoundingVolume=o,i.commandList.push(t)}function updateAndQueueCommands$3(e,t,i,r,n,a,o){var s,l=e._primitive;Primitive._updateBoundingVolumes(l,t,n),t.mode===SceneMode$1.SCENE3D?s=l._boundingSphereWC:t.mode===SceneMode$1.COLUMBUS_VIEW?s=l._boundingSphereCV:t.mode===SceneMode$1.SCENE2D&&defined(l._boundingSphere2D)?s=l._boundingSphere2D:defined(l._boundingSphereMorph)&&(s=l._boundingSphereMorph);var c=t.mode===SceneMode$1.MORPHING,u=e.classificationType,d=u!==ClassificationType$1.CESIUM_3D_TILE,h=u!==ClassificationType$1.TERRAIN&&!c,c=t.passes;if(c.render||c.pick&&l.allowPicking)for(var p=i.length,m=0;m<p;++m){var f=s[m];d&&updateAndQueueCommand(e,i[m],t,n,a,f,o),h&&updateAndQueueCommand(e,i[m].derivedCommands.tileset,t,n,a,f,o)}}FeatureDetection.isInternetExplorer()||(defaultVertexShaderSource$1="#define CLIP_POLYLINE \n"+defaultVertexShaderSource$1),Object.defineProperties(PolylineMaterialAppearance.prototype,{vertexShaderSource:{get:function(){var e=this._vertexShaderSource;return-1!==this.material.shaderSource.search(/varying\s+float\s+v_polylineAngle;/g)&&(e="#define POLYLINE_DASH\n"+e),e}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}}),PolylineMaterialAppearance.VERTEX_FORMAT=VertexFormat.POSITION_AND_ST,PolylineMaterialAppearance.prototype.getFragmentShaderSource=Appearance.prototype.getFragmentShaderSource,PolylineMaterialAppearance.prototype.isTranslucent=Appearance.prototype.isTranslucent,PolylineMaterialAppearance.prototype.getRenderState=Appearance.prototype.getRenderState,Object.defineProperties(GroundPolylinePrimitive.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}}),GroundPolylinePrimitive.initializeTerrainHeights=function(){return ApproximateTerrainHeights.initialize()},GroundPolylinePrimitive.prototype.update=function(e){if(defined(this._primitive)||defined(this.geometryInstances))if(ApproximateTerrainHeights.initialized){var l=this,t=this._primitiveOptions;if(!defined(this._primitive)){for(var i=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=i.length,n=new Array(r),a=0;a<r;++a)if(!defined(c=i[a].attributes)||!defined(c.color)){this._hasPerInstanceColors=!1;break}for(a=0;a<r;++a){var o,s=i[a],c={},u=s.attributes;for(o in u)u.hasOwnProperty(o)&&(c[o]=u[o]);defined(c.width)||(c.width=new GeometryInstanceAttribute({componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:1,value:[s.geometry.width]})),s.geometry._scene3DOnly=e.scene3DOnly,GroundPolylineGeometry.setProjectionAndEllipsoid(s.geometry,e.mapProjection),n[a]=new GeometryInstance({geometry:s.geometry,attributes:c,id:s.id,pickPrimitive:l})}t.geometryInstances=n,t.appearance=this.appearance,t._createShaderProgramFunction=function(e,t,i){createShaderProgram$2(l,t,i)},t._createCommandsFunction=function(e,t,i,r,n,a,o){createCommands$2(l,t,i,r,a,o)},t._updateAndQueueCommandsFunction=function(e,t,i,r,n,a,o,s){updateAndQueueCommands$3(l,t,i,r,n,a,o)},this._primitive=new Primitive(t),this._primitive.readyPromise.then(function(e){l._ready=!0,l.releaseGeometryInstances&&(l.geometryInstances=void 0);e=e._error;defined(e)?l._readyPromise.reject(e):l._readyPromise.resolve(l)})}if(this.appearance instanceof PolylineColorAppearance&&!this._hasPerInstanceColors)throw new DeveloperError("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e)}else GroundPolylinePrimitive.initializeTerrainHeights()},GroundPolylinePrimitive.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)},GroundPolylinePrimitive.isSupported=function(e){return e.frameState.context.depthTexture},GroundPolylinePrimitive.prototype.isDestroyed=function(){return!1},GroundPolylinePrimitive.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,destroyObject(this)};var defaultRepeat=new Cartesian2(1,1),defaultTransparent=!1,defaultColor$1=Color.WHITE;function ImageMaterialProperty(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._definitionChanged=new Event,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}function createMaterialProperty(e){if(e instanceof Color)return new ColorMaterialProperty(e);if("string"==typeof e||e instanceof Resource||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){var t=new ImageMaterialProperty;return t.image=e,t}}function createMaterialPropertyDescriptor(e,t){return createPropertyDescriptor(e,t,createMaterialProperty)}function BoxGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function PositionProperty(){DeveloperError.throwInstantiationError()}Object.defineProperties(ImageMaterialProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._image)&&Property.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:createPropertyDescriptor("image"),repeat:createPropertyDescriptor("repeat"),color:createPropertyDescriptor("color"),transparent:createPropertyDescriptor("transparent")}),ImageMaterialProperty.prototype.getType=function(e){return"Image"},ImageMaterialProperty.prototype.getValue=function(e,t){return defined(t)||(t={}),t.image=Property.getValueOrUndefined(this._image,e),t.repeat=Property.getValueOrClonedDefault(this._repeat,e,defaultRepeat,t.repeat),t.color=Property.getValueOrClonedDefault(this._color,e,defaultColor$1,t.color),Property.getValueOrDefault(this._transparent,e,defaultTransparent)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t},ImageMaterialProperty.prototype.equals=function(e){return this===e||e instanceof ImageMaterialProperty&&Property.equals(this._image,e._image)&&Property.equals(this._repeat,e._repeat)&&Property.equals(this._color,e._color)&&Property.equals(this._transparent,e._transparent)},Object.defineProperties(BoxGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),dimensions:createPropertyDescriptor("dimensions"),heightReference:createPropertyDescriptor("heightReference"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition")}),BoxGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new BoxGraphics(this)},BoxGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.dimensions=defaultValue(this.dimensions,e.dimensions),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition)},Object.defineProperties(PositionProperty.prototype,{isConstant:{get:DeveloperError.throwInstantiationError},definitionChanged:{get:DeveloperError.throwInstantiationError},referenceFrame:{get:DeveloperError.throwInstantiationError}}),PositionProperty.prototype.getValue=DeveloperError.throwInstantiationError,PositionProperty.prototype.getValueInReferenceFrame=DeveloperError.throwInstantiationError,PositionProperty.prototype.equals=DeveloperError.throwInstantiationError;var scratchMatrix3=new Matrix3;function ConstantPositionProperty(e,t){this._definitionChanged=new Event,this._value=Cartesian3.clone(e),this._referenceFrame=defaultValue(t,ReferenceFrame$1.FIXED)}function CorridorGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function createRawProperty(e){return e}function createRawPropertyDescriptor(e,t){return createPropertyDescriptor(e,t,createRawProperty)}function CylinderGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function EllipseGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function EllipsoidGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function LabelGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}PositionProperty.convertToReferenceFrame=function(e,t,i,r,n){if(!defined(t))return t;if(defined(n)||(n=new Cartesian3),i===r)return Cartesian3.clone(t,n);r=Transforms.computeIcrfToFixedMatrix(e,scratchMatrix3);return defined(r)||(r=Transforms.computeTemeToPseudoFixedMatrix(e,scratchMatrix3)),i===ReferenceFrame$1.INERTIAL?Matrix3.multiplyByVector(r,t,n):i===ReferenceFrame$1.FIXED?Matrix3.multiplyByVector(Matrix3.transpose(r,scratchMatrix3),t,n):void 0},Object.defineProperties(ConstantPositionProperty.prototype,{isConstant:{get:function(){return!defined(this._value)||this._referenceFrame===ReferenceFrame$1.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}}),ConstantPositionProperty.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,ReferenceFrame$1.FIXED,t)},ConstantPositionProperty.prototype.setValue=function(e,t){var i=!1;Cartesian3.equals(this._value,e)||(i=!0,this._value=Cartesian3.clone(e)),defined(t)&&this._referenceFrame!==t&&(i=!0,this._referenceFrame=t),i&&this._definitionChanged.raiseEvent(this)},ConstantPositionProperty.prototype.getValueInReferenceFrame=function(e,t,i){return PositionProperty.convertToReferenceFrame(e,this._value,this._referenceFrame,t,i)},ConstantPositionProperty.prototype.equals=function(e){return this===e||e instanceof ConstantPositionProperty&&Cartesian3.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame},Object.defineProperties(CorridorGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),positions:createPropertyDescriptor("positions"),width:createPropertyDescriptor("width"),height:createPropertyDescriptor("height"),heightReference:createPropertyDescriptor("heightReference"),extrudedHeight:createPropertyDescriptor("extrudedHeight"),extrudedHeightReference:createPropertyDescriptor("extrudedHeightReference"),cornerType:createPropertyDescriptor("cornerType"),granularity:createPropertyDescriptor("granularity"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition"),classificationType:createPropertyDescriptor("classificationType"),zIndex:createPropertyDescriptor("zIndex")}),CorridorGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new CorridorGraphics(this)},CorridorGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.positions=defaultValue(this.positions,e.positions),this.width=defaultValue(this.width,e.width),this.height=defaultValue(this.height,e.height),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.extrudedHeight=defaultValue(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=defaultValue(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=defaultValue(this.cornerType,e.cornerType),this.granularity=defaultValue(this.granularity,e.granularity),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=defaultValue(this.classificationType,e.classificationType),this.zIndex=defaultValue(this.zIndex,e.zIndex)},Object.defineProperties(CylinderGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),length:createPropertyDescriptor("length"),topRadius:createPropertyDescriptor("topRadius"),bottomRadius:createPropertyDescriptor("bottomRadius"),heightReference:createPropertyDescriptor("heightReference"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),numberOfVerticalLines:createPropertyDescriptor("numberOfVerticalLines"),slices:createPropertyDescriptor("slices"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition")}),CylinderGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new CylinderGraphics(this)},CylinderGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.length=defaultValue(this.length,e.length),this.topRadius=defaultValue(this.topRadius,e.topRadius),this.bottomRadius=defaultValue(this.bottomRadius,e.bottomRadius),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=defaultValue(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=defaultValue(this.slices,e.slices),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition)},Object.defineProperties(EllipseGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),semiMajorAxis:createPropertyDescriptor("semiMajorAxis"),semiMinorAxis:createPropertyDescriptor("semiMinorAxis"),height:createPropertyDescriptor("height"),heightReference:createPropertyDescriptor("heightReference"),extrudedHeight:createPropertyDescriptor("extrudedHeight"),extrudedHeightReference:createPropertyDescriptor("extrudedHeightReference"),rotation:createPropertyDescriptor("rotation"),stRotation:createPropertyDescriptor("stRotation"),granularity:createPropertyDescriptor("granularity"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),numberOfVerticalLines:createPropertyDescriptor("numberOfVerticalLines"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition"),classificationType:createPropertyDescriptor("classificationType"),zIndex:createPropertyDescriptor("zIndex")}),EllipseGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new EllipseGraphics(this)},EllipseGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.semiMajorAxis=defaultValue(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=defaultValue(this.semiMinorAxis,e.semiMinorAxis),this.height=defaultValue(this.height,e.height),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.extrudedHeight=defaultValue(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=defaultValue(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=defaultValue(this.rotation,e.rotation),this.stRotation=defaultValue(this.stRotation,e.stRotation),this.granularity=defaultValue(this.granularity,e.granularity),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=defaultValue(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=defaultValue(this.classificationType,e.classificationType),this.zIndex=defaultValue(this.zIndex,e.zIndex)},Object.defineProperties(EllipsoidGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),radii:createPropertyDescriptor("radii"),innerRadii:createPropertyDescriptor("innerRadii"),minimumClock:createPropertyDescriptor("minimumClock"),maximumClock:createPropertyDescriptor("maximumClock"),minimumCone:createPropertyDescriptor("minimumCone"),maximumCone:createPropertyDescriptor("maximumCone"),heightReference:createPropertyDescriptor("heightReference"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),stackPartitions:createPropertyDescriptor("stackPartitions"),slicePartitions:createPropertyDescriptor("slicePartitions"),subdivisions:createPropertyDescriptor("subdivisions"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition")}),EllipsoidGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new EllipsoidGraphics(this)},EllipsoidGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.radii=defaultValue(this.radii,e.radii),this.innerRadii=defaultValue(this.innerRadii,e.innerRadii),this.minimumClock=defaultValue(this.minimumClock,e.minimumClock),this.maximumClock=defaultValue(this.maximumClock,e.maximumClock),this.minimumCone=defaultValue(this.minimumCone,e.minimumCone),this.maximumCone=defaultValue(this.maximumCone,e.maximumCone),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.stackPartitions=defaultValue(this.stackPartitions,e.stackPartitions),this.slicePartitions=defaultValue(this.slicePartitions,e.slicePartitions),this.subdivisions=defaultValue(this.subdivisions,e.subdivisions),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition)},Object.defineProperties(LabelGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),text:createPropertyDescriptor("text"),font:createPropertyDescriptor("font"),style:createPropertyDescriptor("style"),scale:createPropertyDescriptor("scale"),showBackground:createPropertyDescriptor("showBackground"),backgroundColor:createPropertyDescriptor("backgroundColor"),backgroundPadding:createPropertyDescriptor("backgroundPadding"),pixelOffset:createPropertyDescriptor("pixelOffset"),eyeOffset:createPropertyDescriptor("eyeOffset"),horizontalOrigin:createPropertyDescriptor("horizontalOrigin"),verticalOrigin:createPropertyDescriptor("verticalOrigin"),heightReference:createPropertyDescriptor("heightReference"),fillColor:createPropertyDescriptor("fillColor"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),translucencyByDistance:createPropertyDescriptor("translucencyByDistance"),pixelOffsetScaleByDistance:createPropertyDescriptor("pixelOffsetScaleByDistance"),scaleByDistance:createPropertyDescriptor("scaleByDistance"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition"),disableDepthTestDistance:createPropertyDescriptor("disableDepthTestDistance")}),LabelGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new LabelGraphics(this)},LabelGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.text=defaultValue(this.text,e.text),this.font=defaultValue(this.font,e.font),this.style=defaultValue(this.style,e.style),this.scale=defaultValue(this.scale,e.scale),this.showBackground=defaultValue(this.showBackground,e.showBackground),this.backgroundColor=defaultValue(this.backgroundColor,e.backgroundColor),this.backgroundPadding=defaultValue(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=defaultValue(this.pixelOffset,e.pixelOffset),this.eyeOffset=defaultValue(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=defaultValue(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=defaultValue(this.verticalOrigin,e.verticalOrigin),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.fillColor=defaultValue(this.fillColor,e.fillColor),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=defaultValue(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=defaultValue(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=defaultValue(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=defaultValue(this.disableDepthTestDistance,e.disableDepthTestDistance)};var defaultNodeTransformation=new TranslationRotationScale;function NodeTransformationProperty(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._definitionChanged=new Event,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}function PropertyBag(e,t){this._propertyNames=[],this._definitionChanged=new Event,defined(e)&&this.merge(e,t)}function createConstantProperty$1(e){return new ConstantProperty(e)}function propertiesEqual(e,t){var i=e._propertyNames,r=t._propertyNames,n=i.length;if(n!==r.length)return!1;for(var a=0;a<n;++a){var o=i[a];if(-1===r.indexOf(o))return!1;if(!Property.equals(e[o],t[o]))return!1}return!0}function createNodeTransformationProperty(e){return new NodeTransformationProperty(e)}function createNodeTransformationPropertyBag(e){return new PropertyBag(e,createNodeTransformationProperty)}function createArticulationStagePropertyBag(e){return new PropertyBag(e)}function ModelGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._minimumPixelSize=void 0,this._minimumPixelSizeSubscription=void 0,this._maximumScale=void 0,this._maximumScaleSubscription=void 0,this._incrementallyLoadTextures=void 0,this._incrementallyLoadTexturesSubscription=void 0,this._runAnimations=void 0,this._runAnimationsSubscription=void 0,this._clampAnimations=void 0,this._clampAnimationsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._silhouetteColor=void 0,this._silhouetteColorSubscription=void 0,this._silhouetteSize=void 0,this._silhouetteSizeSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._colorBlendMode=void 0,this._colorBlendModeSubscription=void 0,this._colorBlendAmount=void 0,this._colorBlendAmountSubscription=void 0,this._imageBasedLightingFactor=void 0,this._imageBasedLightingFactorSubscription=void 0,this._lightColor=void 0,this._lightColorSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._nodeTransformations=void 0,this._nodeTransformationsSubscription=void 0,this._articulations=void 0,this._articulationsSubscription=void 0,this._clippingPlanes=void 0,this._clippingPlanesSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function Cesium3DTilesetGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._maximumScreenSpaceError=void 0,this._maximumScreenSpaceErrorSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function PathGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._leadTime=void 0,this._leadTimeSubscription=void 0,this._trailTime=void 0,this._trailTimeSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._resolution=void 0,this._resolutionSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function PlaneGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function PointGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._pixelSize=void 0,this._pixelSizeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function createPolygonHierarchyProperty(e){return Array.isArray(e)&&(e=new PolygonHierarchy(e)),new ConstantProperty(e)}function PolygonGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._hierarchy=void 0,this._hierarchySubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._perPositionHeight=void 0,this._perPositionHeightSubscription=void 0,this._closeTop=void 0,this._closeTopSubscription=void 0,this._closeBottom=void 0,this._closeBottomSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function PolylineGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._depthFailMaterial=void 0,this._depthFailMaterialSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._clampToGround=void 0,this._clampToGroundSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function PolylineVolumeGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._shape=void 0,this._shapeSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubsription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function RectangleGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._coordinates=void 0,this._coordinatesSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distancedisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}function WallGraphics(e){this._definitionChanged=new Event,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._minimumHeights=void 0,this._minimumHeightsSubscription=void 0,this._maximumHeights=void 0,this._maximumHeightsSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(defaultValue(e,defaultValue.EMPTY_OBJECT))}Object.defineProperties(NodeTransformationProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._translation)&&Property.isConstant(this._rotation)&&Property.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:createPropertyDescriptor("translation"),rotation:createPropertyDescriptor("rotation"),scale:createPropertyDescriptor("scale")}),NodeTransformationProperty.prototype.getValue=function(e,t){return defined(t)||(t=new TranslationRotationScale),t.translation=Property.getValueOrClonedDefault(this._translation,e,defaultNodeTransformation.translation,t.translation),t.rotation=Property.getValueOrClonedDefault(this._rotation,e,defaultNodeTransformation.rotation,t.rotation),t.scale=Property.getValueOrClonedDefault(this._scale,e,defaultNodeTransformation.scale,t.scale),t},NodeTransformationProperty.prototype.equals=function(e){return this===e||e instanceof NodeTransformationProperty&&Property.equals(this._translation,e._translation)&&Property.equals(this._rotation,e._rotation)&&Property.equals(this._scale,e._scale)},Object.defineProperties(PropertyBag.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){for(var e=this._propertyNames,t=0,i=e.length;t<i;t++)if(!Property.isConstant(this[e[t]]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}}),PropertyBag.prototype.hasProperty=function(e){return-1!==this._propertyNames.indexOf(e)},PropertyBag.prototype.addProperty=function(e,t,i){this._propertyNames.push(e),Object.defineProperty(this,e,createPropertyDescriptor(e,!0,defaultValue(i,createConstantProperty$1))),defined(t)&&(this[e]=t),this._definitionChanged.raiseEvent(this)},PropertyBag.prototype.removeProperty=function(e){var t=this._propertyNames.indexOf(e);this._propertyNames.splice(t,1),delete this[e],this._definitionChanged.raiseEvent(this)},PropertyBag.prototype.getValue=function(e,t){defined(t)||(t={});for(var i=this._propertyNames,r=0,n=i.length;r<n;r++){var a=i[r];t[a]=Property.getValueOrUndefined(this[a],e,t[a])}return t},PropertyBag.prototype.merge=function(e,t){for(var i=this._propertyNames,r=defined(e._propertyNames)?e._propertyNames:Object.keys(e),n=0,a=r.length;n<a;n++){var o=r[n],s=this[o],l=e[o];void 0===s&&-1===i.indexOf(o)&&this.addProperty(o,void 0,t),void 0!==l&&(void 0!==s?defined(s)&&defined(s.merge)&&s.merge(l):defined(l)&&defined(l.merge)&&defined(l.clone)?this[o]=l.clone():this[o]=l)}},PropertyBag.prototype.equals=function(e){return this===e||e instanceof PropertyBag&&propertiesEqual(this,e)},Object.defineProperties(ModelGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),uri:createPropertyDescriptor("uri"),scale:createPropertyDescriptor("scale"),minimumPixelSize:createPropertyDescriptor("minimumPixelSize"),maximumScale:createPropertyDescriptor("maximumScale"),incrementallyLoadTextures:createPropertyDescriptor("incrementallyLoadTextures"),runAnimations:createPropertyDescriptor("runAnimations"),clampAnimations:createPropertyDescriptor("clampAnimations"),shadows:createPropertyDescriptor("shadows"),heightReference:createPropertyDescriptor("heightReference"),silhouetteColor:createPropertyDescriptor("silhouetteColor"),silhouetteSize:createPropertyDescriptor("silhouetteSize"),color:createPropertyDescriptor("color"),colorBlendMode:createPropertyDescriptor("colorBlendMode"),colorBlendAmount:createPropertyDescriptor("colorBlendAmount"),imageBasedLightingFactor:createPropertyDescriptor("imageBasedLightingFactor"),lightColor:createPropertyDescriptor("lightColor"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition"),nodeTransformations:createPropertyDescriptor("nodeTransformations",void 0,createNodeTransformationPropertyBag),articulations:createPropertyDescriptor("articulations",void 0,createArticulationStagePropertyBag),clippingPlanes:createPropertyDescriptor("clippingPlanes")}),ModelGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.uri=this.uri,e.scale=this.scale,e.minimumPixelSize=this.minimumPixelSize,e.maximumScale=this.maximumScale,e.incrementallyLoadTextures=this.incrementallyLoadTextures,e.runAnimations=this.runAnimations,e.clampAnimations=this.clampAnimations,e.heightReference=this._heightReference,e.silhouetteColor=this.silhouetteColor,e.silhouetteSize=this.silhouetteSize,e.color=this.color,e.colorBlendMode=this.colorBlendMode,e.colorBlendAmount=this.colorBlendAmount,e.imageBasedLightingFactor=this.imageBasedLightingFactor,e.lightColor=this.lightColor,e.distanceDisplayCondition=this.distanceDisplayCondition,e.nodeTransformations=this.nodeTransformations,e.articulations=this.articulations,e.clippingPlanes=this.clippingPlanes,e):new ModelGraphics(this)},ModelGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.uri=defaultValue(this.uri,e.uri),this.scale=defaultValue(this.scale,e.scale),this.minimumPixelSize=defaultValue(this.minimumPixelSize,e.minimumPixelSize),this.maximumScale=defaultValue(this.maximumScale,e.maximumScale),this.incrementallyLoadTextures=defaultValue(this.incrementallyLoadTextures,e.incrementallyLoadTextures),this.runAnimations=defaultValue(this.runAnimations,e.runAnimations),this.clampAnimations=defaultValue(this.clampAnimations,e.clampAnimations),this.shadows=defaultValue(this.shadows,e.shadows),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.silhouetteColor=defaultValue(this.silhouetteColor,e.silhouetteColor),this.silhouetteSize=defaultValue(this.silhouetteSize,e.silhouetteSize),this.color=defaultValue(this.color,e.color),this.colorBlendMode=defaultValue(this.colorBlendMode,e.colorBlendMode),this.colorBlendAmount=defaultValue(this.colorBlendAmount,e.colorBlendAmount),this.imageBasedLightingFactor=defaultValue(this.imageBasedLightingFactor,e.imageBasedLightingFactor),this.lightColor=defaultValue(this.lightColor,e.lightColor),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition),this.clippingPlanes=defaultValue(this.clippingPlanes,e.clippingPlanes);var t,i=e.nodeTransformations;defined(i)&&(defined(t=this.nodeTransformations)?t.merge(i):this.nodeTransformations=new PropertyBag(i,createNodeTransformationProperty));i=e.articulations;defined(i)&&(defined(e=this.articulations)?e.merge(i):this.articulations=new PropertyBag(i))},Object.defineProperties(Cesium3DTilesetGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),uri:createPropertyDescriptor("uri"),maximumScreenSpaceError:createPropertyDescriptor("maximumScreenSpaceError")}),Cesium3DTilesetGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.uri=this.uri,e.maximumScreenSpaceError=this.maximumScreenSpaceError,e):new Cesium3DTilesetGraphics(this)},Cesium3DTilesetGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.uri=defaultValue(this.uri,e.uri),this.maximumScreenSpaceError=defaultValue(this.maximumScreenSpaceError,e.maximumScreenSpaceError)},Object.defineProperties(PathGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),leadTime:createPropertyDescriptor("leadTime"),trailTime:createPropertyDescriptor("trailTime"),width:createPropertyDescriptor("width"),resolution:createPropertyDescriptor("resolution"),material:createMaterialPropertyDescriptor("material"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition")}),PathGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e.width=this.width,e.resolution=this.resolution,e.material=this.material,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new PathGraphics(this)},PathGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.leadTime=defaultValue(this.leadTime,e.leadTime),this.trailTime=defaultValue(this.trailTime,e.trailTime),this.width=defaultValue(this.width,e.width),this.resolution=defaultValue(this.resolution,e.resolution),this.material=defaultValue(this.material,e.material),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition)},Object.defineProperties(PlaneGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),plane:createPropertyDescriptor("plane"),dimensions:createPropertyDescriptor("dimensions"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition")}),PlaneGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.plane=this.plane,e.dimensions=this.dimensions,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new PlaneGraphics(this)},PlaneGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.plane=defaultValue(this.plane,e.plane),this.dimensions=defaultValue(this.dimensions,e.dimensions),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition)},Object.defineProperties(PointGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),pixelSize:createPropertyDescriptor("pixelSize"),heightReference:createPropertyDescriptor("heightReference"),color:createPropertyDescriptor("color"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),scaleByDistance:createPropertyDescriptor("scaleByDistance"),translucencyByDistance:createPropertyDescriptor("translucencyByDistance"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition"),disableDepthTestDistance:createPropertyDescriptor("disableDepthTestDistance")}),PointGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.pixelSize=this.pixelSize,e.heightReference=this.heightReference,e.color=this.color,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scaleByDistance=this.scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new PointGraphics(this)},PointGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.pixelSize=defaultValue(this.pixelSize,e.pixelSize),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.color=defaultValue(this.color,e.color),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.scaleByDistance=defaultValue(this.scaleByDistance,e.scaleByDistance),this.translucencyByDistance=defaultValue(this._translucencyByDistance,e.translucencyByDistance),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=defaultValue(this.disableDepthTestDistance,e.disableDepthTestDistance)},Object.defineProperties(PolygonGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),hierarchy:createPropertyDescriptor("hierarchy",void 0,createPolygonHierarchyProperty),height:createPropertyDescriptor("height"),heightReference:createPropertyDescriptor("heightReference"),extrudedHeight:createPropertyDescriptor("extrudedHeight"),extrudedHeightReference:createPropertyDescriptor("extrudedHeightReference"),stRotation:createPropertyDescriptor("stRotation"),granularity:createPropertyDescriptor("granularity"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),perPositionHeight:createPropertyDescriptor("perPositionHeight"),closeTop:createPropertyDescriptor("closeTop"),closeBottom:createPropertyDescriptor("closeBottom"),arcType:createPropertyDescriptor("arcType"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition"),classificationType:createPropertyDescriptor("classificationType"),zIndex:createPropertyDescriptor("zIndex")}),PolygonGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.hierarchy=this.hierarchy,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.perPositionHeight=this.perPositionHeight,e.closeTop=this.closeTop,e.closeBottom=this.closeBottom,e.arcType=this.arcType,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new PolygonGraphics(this)},PolygonGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.hierarchy=defaultValue(this.hierarchy,e.hierarchy),this.height=defaultValue(this.height,e.height),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.extrudedHeight=defaultValue(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=defaultValue(this.extrudedHeightReference,e.extrudedHeightReference),this.stRotation=defaultValue(this.stRotation,e.stRotation),this.granularity=defaultValue(this.granularity,e.granularity),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.perPositionHeight=defaultValue(this.perPositionHeight,e.perPositionHeight),this.closeTop=defaultValue(this.closeTop,e.closeTop),this.closeBottom=defaultValue(this.closeBottom,e.closeBottom),this.arcType=defaultValue(this.arcType,e.arcType),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=defaultValue(this.classificationType,e.classificationType),this.zIndex=defaultValue(this.zIndex,e.zIndex)},Object.defineProperties(PolylineGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),positions:createPropertyDescriptor("positions"),width:createPropertyDescriptor("width"),granularity:createPropertyDescriptor("granularity"),material:createMaterialPropertyDescriptor("material"),depthFailMaterial:createMaterialPropertyDescriptor("depthFailMaterial"),arcType:createPropertyDescriptor("arcType"),clampToGround:createPropertyDescriptor("clampToGround"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition"),classificationType:createPropertyDescriptor("classificationType"),zIndex:createPropertyDescriptor("zIndex")}),PolylineGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.granularity=this.granularity,e.material=this.material,e.depthFailMaterial=this.depthFailMaterial,e.arcType=this.arcType,e.clampToGround=this.clampToGround,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new PolylineGraphics(this)},PolylineGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.positions=defaultValue(this.positions,e.positions),this.width=defaultValue(this.width,e.width),this.granularity=defaultValue(this.granularity,e.granularity),this.material=defaultValue(this.material,e.material),this.depthFailMaterial=defaultValue(this.depthFailMaterial,e.depthFailMaterial),this.arcType=defaultValue(this.arcType,e.arcType),this.clampToGround=defaultValue(this.clampToGround,e.clampToGround),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=defaultValue(this.classificationType,e.classificationType),this.zIndex=defaultValue(this.zIndex,e.zIndex)},Object.defineProperties(PolylineVolumeGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),positions:createPropertyDescriptor("positions"),shape:createPropertyDescriptor("shape"),cornerType:createPropertyDescriptor("cornerType"),granularity:createPropertyDescriptor("granularity"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition")}),PolylineVolumeGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.positions=this.positions,e.shape=this.shape,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new PolylineVolumeGraphics(this)},PolylineVolumeGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.positions=defaultValue(this.positions,e.positions),this.shape=defaultValue(this.shape,e.shape),this.cornerType=defaultValue(this.cornerType,e.cornerType),this.granularity=defaultValue(this.granularity,e.granularity),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition)},Object.defineProperties(RectangleGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),coordinates:createPropertyDescriptor("coordinates"),height:createPropertyDescriptor("height"),heightReference:createPropertyDescriptor("heightReference"),extrudedHeight:createPropertyDescriptor("extrudedHeight"),extrudedHeightReference:createPropertyDescriptor("extrudedHeightReference"),rotation:createPropertyDescriptor("rotation"),stRotation:createPropertyDescriptor("stRotation"),granularity:createPropertyDescriptor("granularity"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition"),classificationType:createPropertyDescriptor("classificationType"),zIndex:createPropertyDescriptor("zIndex")}),RectangleGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.coordinates=this.coordinates,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new RectangleGraphics(this)},RectangleGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.coordinates=defaultValue(this.coordinates,e.coordinates),this.height=defaultValue(this.height,e.height),this.heightReference=defaultValue(this.heightReference,e.heightReference),this.extrudedHeight=defaultValue(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=defaultValue(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=defaultValue(this.rotation,e.rotation),this.stRotation=defaultValue(this.stRotation,e.stRotation),this.granularity=defaultValue(this.granularity,e.granularity),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=defaultValue(this.classificationType,e.classificationType),this.zIndex=defaultValue(this.zIndex,e.zIndex)},Object.defineProperties(WallGraphics.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:createPropertyDescriptor("show"),positions:createPropertyDescriptor("positions"),minimumHeights:createPropertyDescriptor("minimumHeights"),maximumHeights:createPropertyDescriptor("maximumHeights"),granularity:createPropertyDescriptor("granularity"),fill:createPropertyDescriptor("fill"),material:createMaterialPropertyDescriptor("material"),outline:createPropertyDescriptor("outline"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth"),shadows:createPropertyDescriptor("shadows"),distanceDisplayCondition:createPropertyDescriptor("distanceDisplayCondition")}),WallGraphics.prototype.clone=function(e){return defined(e)?(e.show=this.show,e.positions=this.positions,e.minimumHeights=this.minimumHeights,e.maximumHeights=this.maximumHeights,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new WallGraphics(this)},WallGraphics.prototype.merge=function(e){this.show=defaultValue(this.show,e.show),this.positions=defaultValue(this.positions,e.positions),this.minimumHeights=defaultValue(this.minimumHeights,e.minimumHeights),this.maximumHeights=defaultValue(this.maximumHeights,e.maximumHeights),this.granularity=defaultValue(this.granularity,e.granularity),this.fill=defaultValue(this.fill,e.fill),this.material=defaultValue(this.material,e.material),this.outline=defaultValue(this.outline,e.outline),this.outlineColor=defaultValue(this.outlineColor,e.outlineColor),this.outlineWidth=defaultValue(this.outlineWidth,e.outlineWidth),this.shadows=defaultValue(this.shadows,e.shadows),this.distanceDisplayCondition=defaultValue(this.distanceDisplayCondition,e.distanceDisplayCondition)};var cartoScratch$1=new Cartographic;function createConstantPositionProperty(e){return new ConstantPositionProperty(e)}function createPositionPropertyDescriptor(e){return createPropertyDescriptor(e,void 0,createConstantPositionProperty)}function createPropertyTypeDescriptor(e,t){return createPropertyDescriptor(e,void 0,function(e){return e instanceof t?e:new t(e)})}function Entity(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).id;defined(t)||(t=createGuid()),this._availability=void 0,this._id=t,this._definitionChanged=new Event,this._name=e.name,this._show=defaultValue(e.show,!0),this._parent=void 0,this._propertyNames=["billboard","box","corridor","cylinder","description","ellipse","ellipsoid","label","model","tileset","orientation","path","plane","point","polygon","polyline","polylineVolume","position","properties","rectangle","viewFrom","wall"],this._billboard=void 0,this._billboardSubscription=void 0,this._box=void 0,this._boxSubscription=void 0,this._corridor=void 0,this._corridorSubscription=void 0,this._cylinder=void 0,this._cylinderSubscription=void 0,this._description=void 0,this._descriptionSubscription=void 0,this._ellipse=void 0,this._ellipseSubscription=void 0,this._ellipsoid=void 0,this._ellipsoidSubscription=void 0,this._label=void 0,this._labelSubscription=void 0,this._model=void 0,this._modelSubscription=void 0,this._tileset=void 0,this._tilesetSubscription=void 0,this._orientation=void 0,this._orientationSubscription=void 0,this._path=void 0,this._pathSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._point=void 0,this._pointSubscription=void 0,this._polygon=void 0,this._polygonSubscription=void 0,this._polyline=void 0,this._polylineSubscription=void 0,this._polylineVolume=void 0,this._polylineVolumeSubscription=void 0,this._position=void 0,this._positionSubscription=void 0,this._properties=void 0,this._propertiesSubscription=void 0,this._rectangle=void 0,this._rectangleSubscription=void 0,this._viewFrom=void 0,this._viewFromSubscription=void 0,this._wall=void 0,this._wallSubscription=void 0,this._children=[],this.entityCollection=void 0,this.parent=e.parent,this.merge(e)}function updateShow(e,t,i){for(var r=t.length,n=0;n<r;n++){var a=t[n],o=a._show;(!i&&o)!==(i&&o)&&updateShow(a,a._children,i)}e._definitionChanged.raiseEvent(e,"isShowing",i,!i)}Object.defineProperties(Entity.prototype,{availability:createRawPropertyDescriptor("availability"),id:{get:function(){return this._id}},definitionChanged:{get:function(){return this._definitionChanged}},name:createRawPropertyDescriptor("name"),show:{get:function(){return this._show},set:function(e){var t;e!==this._show&&(t=this.isShowing,this._show=e,t!==(t=this.isShowing)&&updateShow(this,this._children,t),this._definitionChanged.raiseEvent(this,"show",e,!e))}},isShowing:{get:function(){return this._show&&(!defined(this.entityCollection)||this.entityCollection.show)&&(!defined(this._parent)||this._parent.isShowing)}},parent:{get:function(){return this._parent},set:function(e){var t,i,r=this._parent;r!==e&&(i=this.isShowing,defined(r)&&(t=r._children.indexOf(this),r._children.splice(t,1)),defined(this._parent=e)&&e._children.push(this),i!==(i=this.isShowing)&&updateShow(this,this._children,i),this._definitionChanged.raiseEvent(this,"parent",e,r))}},propertyNames:{get:function(){return this._propertyNames}},billboard:createPropertyTypeDescriptor("billboard",BillboardGraphics),box:createPropertyTypeDescriptor("box",BoxGraphics),corridor:createPropertyTypeDescriptor("corridor",CorridorGraphics),cylinder:createPropertyTypeDescriptor("cylinder",CylinderGraphics),description:createPropertyDescriptor("description"),ellipse:createPropertyTypeDescriptor("ellipse",EllipseGraphics),ellipsoid:createPropertyTypeDescriptor("ellipsoid",EllipsoidGraphics),label:createPropertyTypeDescriptor("label",LabelGraphics),model:createPropertyTypeDescriptor("model",ModelGraphics),tileset:createPropertyTypeDescriptor("tileset",Cesium3DTilesetGraphics),orientation:createPropertyDescriptor("orientation"),path:createPropertyTypeDescriptor("path",PathGraphics),plane:createPropertyTypeDescriptor("plane",PlaneGraphics),point:createPropertyTypeDescriptor("point",PointGraphics),polygon:createPropertyTypeDescriptor("polygon",PolygonGraphics),polyline:createPropertyTypeDescriptor("polyline",PolylineGraphics),polylineVolume:createPropertyTypeDescriptor("polylineVolume",PolylineVolumeGraphics),properties:createPropertyTypeDescriptor("properties",PropertyBag),position:createPositionPropertyDescriptor("position"),rectangle:createPropertyTypeDescriptor("rectangle",RectangleGraphics),viewFrom:createPropertyDescriptor("viewFrom"),wall:createPropertyTypeDescriptor("wall",WallGraphics)}),Entity.prototype.isAvailable=function(e){var t=this._availability;return!defined(t)||t.contains(e)},Entity.prototype.addProperty=function(e){this._propertyNames.push(e),Object.defineProperty(this,e,createRawPropertyDescriptor(e,!0))},Entity.prototype.removeProperty=function(e){var t=this._propertyNames.indexOf(e);this._propertyNames.splice(t,1),delete this[e]},Entity.prototype.merge=function(e){this.name=defaultValue(this.name,e.name),this.availability=defaultValue(this.availability,e.availability);for(var t=this._propertyNames,i=defined(e._propertyNames)?e._propertyNames:Object.keys(e),r=i.length,n=0;n<r;n++){var a,o,s=i[n];"parent"!==s&&"name"!==s&&"availability"!==s&&(a=this[s],o=e[s],defined(a)||-1!==t.indexOf(s)||this.addProperty(s),defined(o)&&(defined(a)?defined(a.merge)&&a.merge(o):defined(o.merge)&&defined(o.clone)?this[s]=o.clone():this[s]=o))}};var matrix3Scratch$1=new Matrix3,positionScratch$5=new Cartesian3,orientationScratch=new Quaternion;Entity.prototype.computeModelMatrix=function(e,t){var i=Property.getValueOrUndefined(this._position,e,positionScratch$5);if(defined(i)){e=Property.getValueOrUndefined(this._orientation,e,orientationScratch);return t=defined(e)?Matrix4.fromRotationTranslation(Matrix3.fromQuaternion(e,matrix3Scratch$1),i,t):Transforms.eastNorthUpToFixedFrame(i,void 0,t)}},Entity.prototype.computeModelMatrixForHeightReference=function(e,t,i,r,n){var a=Property.getValueOrDefault(t,e,HeightReference$1.NONE),o=Property.getValueOrUndefined(this._position,e,positionScratch$5);if(a===HeightReference$1.NONE||!defined(o)||Cartesian3.equalsEpsilon(o,Cartesian3.ZERO,CesiumMath.EPSILON8))return this.computeModelMatrix(e,n);t=r.cartesianToCartographic(o,cartoScratch$1);a===HeightReference$1.CLAMP_TO_GROUND?t.height=i:t.height+=i,o=r.cartographicToCartesian(t,o);e=Property.getValueOrUndefined(this._orientation,e,orientationScratch);return n=defined(e)?Matrix4.fromRotationTranslation(Matrix3.fromQuaternion(e,matrix3Scratch$1),o,n):Transforms.eastNorthUpToFixedFrame(o,void 0,n)},Entity.supportsMaterialsforEntitiesOnTerrain=function(e){return GroundPrimitive.supportsMaterials(e)},Entity.supportsPolylinesOnTerrain=function(e){return GroundPolylinePrimitive.isSupported(e)};var defaultMaterial=new ColorMaterialProperty(Color.WHITE),defaultShow=new ConstantProperty(!0),defaultFill=new ConstantProperty(!0),defaultOutline=new ConstantProperty(!1),defaultOutlineColor=new ConstantProperty(Color.BLACK),defaultShadows=new ConstantProperty(ShadowMode$1.DISABLED),defaultDistanceDisplayCondition=new ConstantProperty(new DistanceDisplayCondition),defaultClassificationType=new ConstantProperty(ClassificationType$1.BOTH);function GeometryUpdater(e){var t=e.entity,i=e.geometryPropertyName;this._entity=t,this._scene=e.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new Event,this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=e.geometryOptions,this._geometryPropertyName=i,this._id=i+"-"+t.id,this._observedPropertyNames=e.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=Entity.supportsMaterialsforEntitiesOnTerrain(e.scene)}function CallbackProperty(e,t){this._callback=void 0,this._isConstant=void 0,this._definitionChanged=new Event,this.setCallback(e,t)}Object.defineProperties(GeometryUpdater.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!defined(this._entity.availability)&&Property.isConstant(this._showProperty)&&Property.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!defined(this._entity.availability)&&Property.isConstant(this._showProperty)&&Property.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}}),GeometryUpdater.prototype.isOutlineVisible=function(e){var t=this._entity;return defaultValue(this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e),!1)},GeometryUpdater.prototype.isFilled=function(e){var t=this._entity;return defaultValue(this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e),!1)},GeometryUpdater.prototype.createFillGeometryInstance=DeveloperError.throwInstantiationError,GeometryUpdater.prototype.createOutlineGeometryInstance=DeveloperError.throwInstantiationError,GeometryUpdater.prototype.isDestroyed=function(){return!1},GeometryUpdater.prototype.destroy=function(){destroyObject(this)},GeometryUpdater.prototype._isHidden=function(e,t){t=t.show;return defined(t)&&t.isConstant&&!t.getValue(Iso8601.MINIMUM_VALUE)},GeometryUpdater.prototype._isOnTerrain=function(e,t){return!1},GeometryUpdater.prototype._getIsClosed=function(e){return!0},GeometryUpdater.prototype._isDynamic=DeveloperError.throwInstantiationError,GeometryUpdater.prototype._setStaticOptions=DeveloperError.throwInstantiationError,GeometryUpdater.prototype._onEntityPropertyChanged=function(e,t,i,r){var n,a,o,s;-1!==this._observedPropertyNames.indexOf(t)&&(defined(s=this._entity[this._geometryPropertyName])?(o=!defined(n=s.fill)||!n.isConstant||n.getValue(Iso8601.MINIMUM_VALUE),(t=defined(a=s.outline))&&a.isConstant&&(t=a.getValue(Iso8601.MINIMUM_VALUE)),o||t?(a=s.show,this._isHidden(e,s)?(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)):(this._materialProperty=defaultValue(s.material,defaultMaterial),this._fillProperty=defaultValue(n,defaultFill),this._showProperty=defaultValue(a,defaultShow),this._showOutlineProperty=defaultValue(s.outline,defaultOutline),this._outlineColorProperty=t?defaultValue(s.outlineColor,defaultOutlineColor):void 0,this._shadowsProperty=defaultValue(s.shadows,defaultShadows),this._distanceDisplayConditionProperty=defaultValue(s.distanceDisplayCondition,defaultDistanceDisplayCondition),this._classificationTypeProperty=defaultValue(s.classificationType,defaultClassificationType),this._fillEnabled=o,o=this._isOnTerrain(e,s)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof ColorMaterialProperty),t&&o&&(oneTimeWarning(oneTimeWarning.geometryOutlines),t=!1),this._onTerrain=o,this._outlineEnabled=t,this._isDynamic(e,s)?this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this)):(this._setStaticOptions(e,s),this._isClosed=this._getIsClosed(this._options),s=s.outlineWidth,this._outlineWidth=defined(s)?s.getValue(Iso8601.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)))):(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this))):(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)))},GeometryUpdater.prototype.createDynamicUpdater=function(e,t){return new this.constructor.DynamicGeometryUpdater(this,e,t)},Object.defineProperties(CallbackProperty.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}}}),CallbackProperty.prototype.getValue=function(e,t){return this._callback(e,t)},CallbackProperty.prototype.setCallback=function(e,t){var i=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,i&&this._definitionChanged.raiseEvent(this)},CallbackProperty.prototype.equals=function(e){return this===e||e instanceof CallbackProperty&&this._callback===e._callback&&this._isConstant===e._isConstant};var scratchPosition$4=new Cartesian3,scratchCarto=new Cartographic;function TerrainOffsetProperty(e,t,i,r){this._scene=e,this._heightReference=i,this._extrudedHeightReference=r,this._positionProperty=t,this._position=new Cartesian3,this._cartographicPosition=new Cartographic,this._normal=new Cartesian3,this._definitionChanged=new Event,this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;var n=this;defined(e.globe)&&(this._removeEventListener=e.terrainProviderChanged.addEventListener(function(){n._updateClamping()}),this._removeModeListener=e.morphComplete.addEventListener(function(){n._updateClamping()})),!t.isConstant||defined(t=t.getValue(Iso8601.MINIMUM_VALUE,scratchPosition$4))&&!Cartesian3.equals(t,Cartesian3.ZERO)&&defined(e.globe)&&(this._position=Cartesian3.clone(t,this._position),this._updateClamping(),this._normal=e.globe.ellipsoid.geodeticSurfaceNormal(t,this._normal))}function heightReferenceOnEntityPropertyChanged(e,t,i,r){GeometryUpdater.prototype._onEntityPropertyChanged.call(this,e,t,i,r),-1===this._observedPropertyNames.indexOf(t)||defined(r=this._entity[this._geometryPropertyName])&&(defined(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),defined(t=r.heightReference)&&(r=new CallbackProperty(this._computeCenter.bind(this),!this._dynamic),this._terrainOffsetProperty=new TerrainOffsetProperty(this._scene,r,t)))}Object.defineProperties(TerrainOffsetProperty.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}}),TerrainOffsetProperty.prototype._updateClamping=function(){defined(this._removeCallbackFunc)&&this._removeCallbackFunc();var i,e,r,n=this._scene,t=n.globe,a=this._position;defined(t)&&!Cartesian3.equals(a,Cartesian3.ZERO)?(i=t.ellipsoid,e=t._surface,r=this,a=i.cartesianToCartographic(a,this._cartographicPosition),defined(t=t.getHeight(a))?this._terrainHeight=t:this._terrainHeight=0,this._removeCallbackFunc=e.updateHeight(a,function(e){var t;n.mode===SceneMode$1.SCENE3D?(t=i.cartesianToCartographic(e,scratchCarto),r._terrainHeight=t.height):r._terrainHeight=e.x,r.definitionChanged.raiseEvent()})):this._terrainHeight=0},TerrainOffsetProperty.prototype.getValue=function(e,t){var i=Property.getValueOrDefault(this._heightReference,e,HeightReference$1.NONE),r=Property.getValueOrDefault(this._extrudedHeightReference,e,HeightReference$1.NONE);if(i===HeightReference$1.NONE&&r!==HeightReference$1.RELATIVE_TO_GROUND)return this._position=Cartesian3.clone(Cartesian3.ZERO,this._position),Cartesian3.clone(Cartesian3.ZERO,t);if(this._positionProperty.isConstant)return Cartesian3.multiplyByScalar(this._normal,this._terrainHeight,t);r=this._scene,e=this._positionProperty.getValue(e,scratchPosition$4);if(!defined(e)||Cartesian3.equals(e,Cartesian3.ZERO)||!defined(r.globe))return Cartesian3.clone(Cartesian3.ZERO,t);if(Cartesian3.equalsEpsilon(this._position,e,CesiumMath.EPSILON10))return Cartesian3.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=Cartesian3.clone(e,this._position),this._updateClamping();e=r.globe.ellipsoid.geodeticSurfaceNormal(e,this._normal);return Cartesian3.multiplyByScalar(e,this._terrainHeight,t)},TerrainOffsetProperty.prototype.isDestroyed=function(){return!1},TerrainOffsetProperty.prototype.destroy=function(){return defined(this._removeEventListener)&&this._removeEventListener(),defined(this._removeModeListener)&&this._removeModeListener(),defined(this._removeCallbackFunc)&&this._removeCallbackFunc(),destroyObject(this)};var defaultOffset=Cartesian3.ZERO,offsetScratch$3=new Cartesian3,positionScratch$6=new Cartesian3,scratchColor=new Color;function BoxGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function BoxGeometryUpdater(e,t){GeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new BoxGeometryOptions(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}function DynamicBoxGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i)}function ClearCommand(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}defined(Object.create)&&(BoxGeometryUpdater.prototype=Object.create(GeometryUpdater.prototype),BoxGeometryUpdater.prototype.constructor=BoxGeometryUpdater),Object.defineProperties(BoxGeometryUpdater.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}}),BoxGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t,i=this._entity,r=i.isAvailable(e),n=new ShowGeometryInstanceAttribute(r&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),a={show:n,distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(a),color:void 0,offset:void 0};return this._materialProperty instanceof ColorMaterialProperty&&(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||r)&&(t=this._materialProperty.color.getValue(e,scratchColor)),defined(t)||(t=Color.WHITE),a.color=ColorGeometryInstanceAttribute.fromColor(t)),defined(this._options.offsetAttribute)&&(a.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset,offsetScratch$3))),new GeometryInstance({id:i,geometry:BoxGeometry.fromDimensions(this._options),modelMatrix:i.computeModelMatrixForHeightReference(e,i.box.heightReference,.5*this._options.dimensions.z,this._scene.mapProjection.ellipsoid),attributes:a})},BoxGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor),n=this._distanceDisplayConditionProperty.getValue(e),n={show:new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(r),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(n),offset:void 0};return defined(this._options.offsetAttribute)&&(n.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset,offsetScratch$3))),new GeometryInstance({id:t,geometry:BoxOutlineGeometry.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,.5*this._options.dimensions.z,this._scene.mapProjection.ellipsoid),attributes:n})},BoxGeometryUpdater.prototype._computeCenter=function(e,t){return Property.getValueOrUndefined(this._entity.position,e,t)},BoxGeometryUpdater.prototype._isHidden=function(e,t){return!defined(t.dimensions)||!defined(e.position)||GeometryUpdater.prototype._isHidden.call(this,e,t)},BoxGeometryUpdater.prototype._isDynamic=function(e,t){return!(e.position.isConstant&&Property.isConstant(e.orientation)&&t.dimensions.isConstant&&Property.isConstant(t.outlineWidth))},BoxGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=Property.getValueOrDefault(t.heightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE),r=this._options;r.vertexFormat=this._materialProperty instanceof ColorMaterialProperty?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,r.dimensions=t.dimensions.getValue(Iso8601.MINIMUM_VALUE,r.dimensions),r.offsetAttribute=i!==HeightReference$1.NONE?GeometryOffsetAttribute$1.ALL:void 0},BoxGeometryUpdater.prototype._onEntityPropertyChanged=heightReferenceOnEntityPropertyChanged,BoxGeometryUpdater.DynamicGeometryUpdater=DynamicBoxGeometryUpdater,defined(Object.create)&&(DynamicBoxGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DynamicBoxGeometryUpdater.prototype.constructor=DynamicBoxGeometryUpdater),DynamicBoxGeometryUpdater.prototype._isHidden=function(e,t,i){var r=Property.getValueOrUndefined(e.position,i,positionScratch$6),n=this._options.dimensions;return!defined(r)||!defined(n)||DynamicGeometryUpdater.prototype._isHidden.call(this,e,t,i)},DynamicBoxGeometryUpdater.prototype._setOptions=function(e,t,i){var r=Property.getValueOrDefault(t.heightReference,i,HeightReference$1.NONE),n=this._options;n.dimensions=Property.getValueOrUndefined(t.dimensions,i,n.dimensions),n.offsetAttribute=r!==HeightReference$1.NONE?GeometryOffsetAttribute$1.ALL:void 0},ClearCommand.ALL=Object.freeze(new ClearCommand({color:new Color(0,0,0,0),depth:1,stencil:0})),ClearCommand.prototype.execute=function(e,t){e.clear(this,t)};var Axis={X:0,Y:1,Z:2};Axis.Y_UP_TO_Z_UP=Matrix4.fromRotationTranslation(Matrix3.fromRotationX(CesiumMath.PI_OVER_TWO)),Axis.Z_UP_TO_Y_UP=Matrix4.fromRotationTranslation(Matrix3.fromRotationX(-CesiumMath.PI_OVER_TWO)),Axis.X_UP_TO_Z_UP=Matrix4.fromRotationTranslation(Matrix3.fromRotationY(-CesiumMath.PI_OVER_TWO)),Axis.Z_UP_TO_X_UP=Matrix4.fromRotationTranslation(Matrix3.fromRotationY(CesiumMath.PI_OVER_TWO)),Axis.X_UP_TO_Y_UP=Matrix4.fromRotationTranslation(Matrix3.fromRotationZ(CesiumMath.PI_OVER_TWO)),Axis.Y_UP_TO_X_UP=Matrix4.fromRotationTranslation(Matrix3.fromRotationZ(-CesiumMath.PI_OVER_TWO)),Axis.fromName=function(e){return Axis[e]};var Axis$1=Object.freeze(Axis),AttributeType={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"},AttributeType$1=Object.freeze(AttributeType),Cesium3DTileColorBlendMode={HIGHLIGHT:0,REPLACE:1,MIX:2},Cesium3DTileColorBlendMode$1=Object.freeze(Cesium3DTileColorBlendMode),ComponentsPerAttribute={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ClassPerType={SCALAR:void 0,VEC2:Cartesian2,VEC3:Cartesian3,VEC4:Cartesian4,MAT2:Matrix2,MAT3:Matrix3,MAT4:Matrix4};function getBinaryAccessor(e){var t=e.componentType,r="string"==typeof t?ComponentDatatype$1.fromName(t):t,n=ComponentsPerAttribute[e.type],e=ClassPerType[e.type];return{componentsPerAttribute:n,classType:e,createArrayBufferView:function(e,t,i){return ComponentDatatype$1.createArrayBufferView(r,e,t,n*i)}}}var DEFAULT_COLOR_VALUE=Color.WHITE,DEFAULT_SHOW_VALUE=!0;function Cesium3DTileBatchTable(e,t,i,r,n){this.featuresLength=t,this._translucentFeaturesLength=0,defined(i)&&(s=i.extensions),this._extensions=defaultValue(s,{});var a,o,s=initializeProperties(i);this._properties=s,this._batchTableHierarchy=initializeHierarchy(this,i,r),this._batchTableBinaryProperties=getBinaryProperties(t,s,r),this._showAlphaProperties=void 0,this._batchValues=void 0,this._batchValuesDirty=!1,this._batchTexture=void 0,this._defaultTexture=void 0,this._pickTexture=void 0,this._pickIds=[],this._content=e,this._colorChangedCallback=n,0<t&&(n=.5*(e=1/(r=Math.min(t,ContextLimits.maximumTextureSize))),o=.5*(t=1/(a=Math.ceil(t/ContextLimits.maximumTextureSize))),a=new Cartesian2(r,a),o=new Cartesian4(e,n,t,o)),this._textureDimensions=a,this._textureStep=o}function initializeProperties(e){var t,i={};if(!defined(e))return i;for(t in e)e.hasOwnProperty(t)&&"HIERARCHY"!==t&&"extensions"!==t&&"extras"!==t&&(i[t]=clone(e[t],!0));return i}function initializeHierarchy(e,t,i){if(defined(t)){var r=e._extensions["3DTILES_batch_table_hierarchy"],t=t.HIERARCHY;if(defined(t)&&(Cesium3DTileBatchTable._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),r=e._extensions["3DTILES_batch_table_hierarchy"]=t),defined(r))return initializeHierarchyValues(r,i)}}function initializeHierarchyValues(e,t){var i,r,n=e.instancesLength,a=e.classes,o=e.classIds,s=e.parentCounts,e=e.parentIds,l=n;if(defined(o.byteOffset)&&(o.componentType=defaultValue(o.componentType,ComponentDatatype$1.UNSIGNED_SHORT),o.type=AttributeType$1.SCALAR,o=getBinaryAccessor(o).createArrayBufferView(t.buffer,t.byteOffset+o.byteOffset,n)),defined(s))for(defined(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,ComponentDatatype$1.UNSIGNED_SHORT),s.type=AttributeType$1.SCALAR,s=getBinaryAccessor(s).createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,n)),r=new Uint16Array(n),u=l=0;u<n;++u)r[u]=l,l+=s[u];defined(e)&&defined(e.byteOffset)&&(e.componentType=defaultValue(e.componentType,ComponentDatatype$1.UNSIGNED_SHORT),e.type=AttributeType$1.SCALAR,e=getBinaryAccessor(e).createArrayBufferView(t.buffer,t.byteOffset+e.byteOffset,l));for(var c=a.length,u=0;u<c;++u){var d=a[u].length,h=a[u].instances,d=getBinaryProperties(d,h,t);a[u].instances=combine(d,h)}var p=arrayFill(new Array(c),0),m=new Uint16Array(n);for(u=0;u<n;++u)i=o[u],m[u]=p[i],++p[i];return{classes:a,classIds:o,classIndexes:m,parentCounts:s,parentIndexes:r,parentIds:e}}function getBinaryProperties(e,t,i){var r,n;for(n in t)if(t.hasOwnProperty(n)){var a=t[n],o=a.byteOffset;if(defined(o)){var s=a.componentType,l=a.type;if(!defined(s))throw new RuntimeError("componentType is required.");if(!defined(l))throw new RuntimeError("type is required.");if(!defined(i))throw new RuntimeError("Property "+n+" requires a batch table binary.");s=getBinaryAccessor(a),l=s.componentsPerAttribute,a=s.classType,o=s.createArrayBufferView(i.buffer,i.byteOffset+o,e);defined(r)||(r={}),r[n]={typedArray:o,componentCount:l,type:a}}}return r}function getByteLength(e){e=e._textureDimensions;return e.x*e.y*4}function getBatchValues(e){var t;return defined(e._batchValues)||(t=getByteLength(e),arrayFill(t=new Uint8Array(t),255),e._batchValues=t),e._batchValues}function getShowAlphaProperties(e){var t;return defined(e._showAlphaProperties)||(t=2*e.featuresLength,arrayFill(t=new Uint8Array(t),255),e._showAlphaProperties=t),e._showAlphaProperties}Cesium3DTileBatchTable._deprecationWarning=deprecationWarning,Object.defineProperties(Cesium3DTileBatchTable.prototype,{memorySizeInBytes:{get:function(){var e=0;return defined(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),defined(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}}}),Cesium3DTileBatchTable.getBinaryProperties=function(e,t,i){return getBinaryProperties(e,t,i)},Cesium3DTileBatchTable.prototype.setShow=function(e,t){var i,r,n;t&&!defined(this._showAlphaProperties)||(n=t?255:0,(i=getShowAlphaProperties(this))[r=2*e]!==n&&(i[r]=n,getBatchValues(this)[4*e+3]=t?i[1+r]:0,this._batchValuesDirty=!0))},Cesium3DTileBatchTable.prototype.setAllShow=function(e){for(var t=this.featuresLength,i=0;i<t;++i)this.setShow(i,e)},Cesium3DTileBatchTable.prototype.getShow=function(e){if(!defined(this._showAlphaProperties))return!0;e*=2;return 255===this._showAlphaProperties[e]};var scratchColorBytes=new Array(4);Cesium3DTileBatchTable.prototype.setColor=function(e,t){var i,r,n,a,o,s,l;Color.equals(t,DEFAULT_COLOR_VALUE)&&!defined(this._batchValues)||(l=(s=t.toBytes(scratchColorBytes))[3],i=getBatchValues(this),r=4*e,n=getShowAlphaProperties(this),a=2*e,i[r]===s[0]&&i[1+r]===s[1]&&i[2+r]===s[2]&&n[1+a]===l||(i[r]=s[0],i[1+r]=s[1],i[2+r]=s[2],o=255!==n[1+a],s=0!==n[a],i[3+r]=s?l:0,(l=255!==(n[1+a]=l))&&!o?++this._translucentFeaturesLength:!l&&o&&--this._translucentFeaturesLength,this._batchValuesDirty=!0,defined(this._colorChangedCallback)&&this._colorChangedCallback(e,t)))},Cesium3DTileBatchTable.prototype.setAllColor=function(e){for(var t=this.featuresLength,i=0;i<t;++i)this.setColor(i,e)},Cesium3DTileBatchTable.prototype.getColor=function(e,t){if(!defined(this._batchValues))return Color.clone(DEFAULT_COLOR_VALUE,t);var i=this._batchValues,r=4*e,n=this._showAlphaProperties,e=2*e;return Color.fromBytes(i[r],i[1+r],i[2+r],n[1+e],t)},Cesium3DTileBatchTable.prototype.getPickColor=function(e){return this._pickIds[e]};var scratchColor$1=new Color;function getBinaryProperty(e,t){var i=e.typedArray,r=e.componentCount;return 1===r?i[t]:e.type.unpack(i,t*r)}function setBinaryProperty(e,t,i){var r=e.typedArray,n=e.componentCount;1===n?r[t]=i:e.type.pack(i,r,t*n)}Cesium3DTileBatchTable.prototype.applyStyle=function(e){if(!defined(e))return this.setAllColor(DEFAULT_COLOR_VALUE),void this.setAllShow(DEFAULT_SHOW_VALUE);for(var t=this._content,i=this.featuresLength,r=0;r<i;++r){var n=t.getFeature(r),a=defined(e.color)?e.color.evaluateColor(n,scratchColor$1):DEFAULT_COLOR_VALUE,n=defined(e.show)?e.show.evaluate(n):DEFAULT_SHOW_VALUE;this.setColor(r,a),this.setShow(r,n)}};var scratchVisited=[],scratchStack=[],marker=0;function traverseHierarchyMultipleParents(e,t,i){var r=e.classIds,n=e.parentCounts,a=e.parentIds,o=e.parentIndexes,r=r.length,s=scratchVisited;s.length=Math.max(s.length,r);var l=++marker,c=scratchStack;for(c.length=0,c.push(t);0<c.length;)if(s[t=c.pop()]!==l){s[t]=l;var u=i(e,t);if(defined(u))return u;for(var d=n[t],h=o[t],p=0;p<d;++p){var m=a[h+p];m!==t&&c.push(m)}}}function traverseHierarchySingleParent(e,t,i){for(var r=!0;r;){var n=i(e,t);if(defined(n))return n;n=e.parentIds[t],r=n!==t;t=n}}function traverseHierarchy(e,t,i){var r=e.parentCounts;return defined(e.parentIds)?(defined(r)?traverseHierarchyMultipleParents:traverseHierarchySingleParent)(e,t,i):i(e,t)}function hasPropertyInHierarchy(e,t,i){t=traverseHierarchy(e._batchTableHierarchy,t,function(e,t){t=e.classIds[t];if(defined(e.classes[t].instances[i]))return!0});return defined(t)}function getPropertyNamesInHierarchy(e,t,n){traverseHierarchy(e._batchTableHierarchy,t,function(e,t){var i,t=e.classIds[t],r=e.classes[t].instances;for(i in r)r.hasOwnProperty(i)&&-1===n.indexOf(i)&&n.push(i)})}function getHierarchyProperty(e,t,r){return traverseHierarchy(e._batchTableHierarchy,t,function(e,t){var i=e.classIds[t],i=e.classes[i],t=e.classIndexes[t],i=i.instances[r];if(defined(i))return defined(i.typedArray)?getBinaryProperty(i,t):clone(i[t],!0)})}function setHierarchyProperty(e,t,r,n){t=traverseHierarchy(e._batchTableHierarchy,t,function(e,t){var i=e.classIds[t],i=e.classes[i],t=e.classIndexes[t],i=i.instances[r];if(defined(i))return defined(i.typedArray)?setBinaryProperty(i,t,n):i[t]=clone(n,!0),!0});return defined(t)}function getGlslComputeSt$1(e){return 1===e._textureDimensions.y?"uniform vec4 tile_textureStep; \nvec2 computeSt(float batchId) \n{ \n float stepX = tile_textureStep.x; \n float centerX = tile_textureStep.y; \n return vec2(centerX + (batchId * stepX), 0.5); \n} \n":"uniform vec4 tile_textureStep; \nuniform vec2 tile_textureDimensions; \nvec2 computeSt(float batchId) \n{ \n float stepX = tile_textureStep.x; \n float centerX = tile_textureStep.y; \n float stepY = tile_textureStep.z; \n float centerY = tile_textureStep.w; \n float xId = mod(batchId, tile_textureDimensions.x); \n float yId = floor(batchId / tile_textureDimensions.x); \n return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); \n} \n"}function getDefaultShader(e,t){return e=ShaderSource.replaceMain(e,"tile_main"),t?e+"uniform float tile_colorBlend; \nvoid tile_color(vec4 tile_featureColor) \n{ \n tile_main(); \n tile_featureColor = czm_gammaCorrect(tile_featureColor); \n gl_FragColor.a *= tile_featureColor.a; \n float highlight = ceil(tile_colorBlend); \n gl_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight); \n} \n":e+"void tile_color(vec4 tile_featureColor) \n{ \n tile_main(); \n} \n"}function replaceDiffuseTextureCalls(e,t){for(var i,r,n="texture2D("+t,a=e.indexOf(n,0);-1<a;){for(var o=0,s=a;s<e.length;++s){var l=e.charAt(s);if("("===l)++o;else if(")"===l&&0===--o){r=s+1;break}}var c="tile_diffuse_final("+e.slice(a,r)+", tile_diffuse)";e=e.slice(0,a)+c+e.slice(r),i=a+c.length,a=e.indexOf(n,i)}return e}function modifyDiffuse(e,t,i){if(!defined(t))return getDefaultShader(e,i);var r=new RegExp("(uniform|attribute|in)\\s+(vec[34]|sampler2D)\\s+"+t+";"),n=e.match(r);if(!defined(n))return getDefaultShader(e,i);var a=n[0],o=n[2];e=(e=ShaderSource.replaceMain(e,"tile_main")).replace(a,"");var s;return"vec3"===o||"vec4"===o?(s="vec3"===o?"vec4("+t+", 1.0)":t,n="vec3"===o?"tile_diffuse.xyz":"tile_diffuse",r=new RegExp(t,"g"),e=e.replace(r,n),s=" vec4 source = "+s+"; \n tile_diffuse = tile_diffuse_final(source, tile_featureColor); \n tile_main(); \n"):"sampler2D"===o&&(e=replaceDiffuseTextureCalls(e,t),s=" tile_diffuse = tile_featureColor; \n tile_main(); \n"),e="uniform float tile_colorBlend; \nvec4 tile_diffuse = vec4(1.0); \nbool isWhite(vec3 color) \n{ \n return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); \n} \nvec4 tile_diffuse_final(vec4 sourceDiffuse, vec4 tileDiffuse) \n{ \n vec4 blendDiffuse = mix(sourceDiffuse, tileDiffuse, tile_colorBlend); \n vec4 diffuse = isWhite(tileDiffuse.rgb) ? sourceDiffuse : blendDiffuse; \n return vec4(diffuse.rgb, sourceDiffuse.a); \n} \n"+a+"\n"+e+"\nvoid tile_color(vec4 tile_featureColor) \n{ \n"+s,i&&(e+=" tile_featureColor = czm_gammaCorrect(tile_featureColor); \n gl_FragColor.a *= tile_featureColor.a; \n float highlight = ceil(tile_colorBlend); \n gl_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight); \n"),e+="} \n"}function getColorBlend(e){var t=e._content.tileset,e=t.colorBlendMode,t=t.colorBlendAmount;return e===Cesium3DTileColorBlendMode$1.HIGHLIGHT?0:e===Cesium3DTileColorBlendMode$1.REPLACE?1:e===Cesium3DTileColorBlendMode$1.MIX?CesiumMath.clamp(t,CesiumMath.EPSILON4,1):void 0}Cesium3DTileBatchTable.prototype.isClass=function(e,i){var t=this._batchTableHierarchy;return!!defined(t)&&defined(traverseHierarchy(t,e,function(e,t){t=e.classIds[t];if(e.classes[t].name===i)return!0}))},Cesium3DTileBatchTable.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t},Cesium3DTileBatchTable.prototype.getExactClassName=function(e){var t=this._batchTableHierarchy;if(defined(t)){e=t.classIds[e];return t.classes[e].name}},Cesium3DTileBatchTable.prototype.hasProperty=function(e,t){return defined(this._properties[t])||defined(this._batchTableHierarchy)&&hasPropertyInHierarchy(this,e,t)},Cesium3DTileBatchTable.prototype.getPropertyNames=function(e,t){(t=defined(t)?t:[]).length=0;var i=Object.keys(this._properties);return t.push.apply(t,i),defined(this._batchTableHierarchy)&&getPropertyNamesInHierarchy(this,e,t),t},Cesium3DTileBatchTable.prototype.getProperty=function(e,t){if(defined(this._batchTableBinaryProperties)){var i=this._batchTableBinaryProperties[t];if(defined(i))return getBinaryProperty(i,e)}i=this._properties[t];if(defined(i))return clone(i[e],!0);if(defined(this._batchTableHierarchy)){t=getHierarchyProperty(this,e,t);if(defined(t))return t}},Cesium3DTileBatchTable.prototype.setProperty=function(e,t,i){var r=this.featuresLength;if(defined(this._batchTableBinaryProperties)){var n=this._batchTableBinaryProperties[t];if(defined(n))return void setBinaryProperty(n,e,i)}defined(this._batchTableHierarchy)&&setHierarchyProperty(this,e,t,i)||(defined(n=this._properties[t])||(this._properties[t]=new Array(r),n=this._properties[t]),n[e]=clone(i,!0))},Cesium3DTileBatchTable.prototype.getVertexShaderCallback=function(i,r,n){if(0!==this.featuresLength){var a=this;return function(e){var t,e=modifyDiffuse(e,n,!1);return 0<ContextLimits.maximumVertexTextureImageUnits?(t="",i&&(t+="uniform bool tile_translucentCommand; \n"),t+="uniform sampler2D tile_batchTexture; \nvarying vec4 tile_featureColor; \nvarying vec2 tile_featureSt; \nvoid main() \n{ \n vec2 st = computeSt("+r+"); \n vec4 featureProperties = texture2D(tile_batchTexture, st); \n tile_color(featureProperties); \n float show = ceil(featureProperties.a); \n gl_Position *= show; \n",i&&(t+=" bool isStyleTranslucent = (featureProperties.a != 1.0); \n if (czm_pass == czm_passTranslucent) \n { \n if (!isStyleTranslucent && !tile_translucentCommand) \n { \n gl_Position *= 0.0; \n } \n } \n else \n { \n if (isStyleTranslucent) \n { \n gl_Position *= 0.0; \n } \n } \n"),t+=" tile_featureColor = featureProperties; \n tile_featureSt = st; \n}"):t="varying vec2 tile_featureSt; \nvoid main() \n{ \n tile_color(vec4(1.0)); \n tile_featureSt = computeSt("+r+"); \n}",e+"\n"+getGlslComputeSt$1(a)+t}}},Cesium3DTileBatchTable.prototype.getFragmentShaderCallback=function(t,i){if(0!==this.featuresLength)return function(e){return e=modifyDiffuse(e,i,!0),0<ContextLimits.maximumVertexTextureImageUnits?e+="uniform sampler2D tile_pickTexture; \nvarying vec2 tile_featureSt; \nvarying vec4 tile_featureColor; \nvoid main() \n{ \n tile_color(tile_featureColor); \n}":(t&&(e+="uniform bool tile_translucentCommand; \n"),e+="uniform sampler2D tile_pickTexture; \nuniform sampler2D tile_batchTexture; \nvarying vec2 tile_featureSt; \nvoid main() \n{ \n vec4 featureProperties = texture2D(tile_batchTexture, tile_featureSt); \n if (featureProperties.a == 0.0) { \n discard; \n } \n",t&&(e+=" bool isStyleTranslucent = (featureProperties.a != 1.0); \n if (czm_pass == czm_passTranslucent) \n { \n if (!isStyleTranslucent && !tile_translucentCommand) \n { \n discard; \n } \n } \n else \n { \n if (isStyleTranslucent) \n { \n discard; \n } \n } \n"),e+=" tile_color(featureProperties); \n} \n"),e}},Cesium3DTileBatchTable.prototype.getClassificationFragmentShaderCallback=function(){if(0!==this.featuresLength)return function(e){return e=ShaderSource.replaceMain(e,"tile_main"),0<ContextLimits.maximumVertexTextureImageUnits?e+="uniform sampler2D tile_pickTexture;\nvarying vec2 tile_featureSt; \nvarying vec4 tile_featureColor; \nvoid main() \n{ \n tile_main(); \n gl_FragColor = tile_featureColor; \n}":e+="uniform sampler2D tile_batchTexture; \nuniform sampler2D tile_pickTexture;\nvarying vec2 tile_featureSt; \nvoid main() \n{ \n tile_main(); \n vec4 featureProperties = texture2D(tile_batchTexture, tile_featureSt); \n if (featureProperties.a == 0.0) { \n discard; \n } \n gl_FragColor = featureProperties; \n} \n",e}},Cesium3DTileBatchTable.prototype.getUniformMapCallback=function(){if(0!==this.featuresLength){var t=this;return function(e){return combine(e,{tile_batchTexture:function(){return defaultValue(t._batchTexture,t._defaultTexture)},tile_textureDimensions:function(){return t._textureDimensions},tile_textureStep:function(){return t._textureStep},tile_colorBlend:function(){return getColorBlend(t)},tile_pickTexture:function(){return t._pickTexture}})}}},Cesium3DTileBatchTable.prototype.getPickId=function(){return"texture2D(tile_pickTexture, tile_featureSt)"};var StyleCommandsNeeded={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};function getStyleCommandsNeeded(e){var t=e._translucentFeaturesLength;return 0===t?StyleCommandsNeeded.ALL_OPAQUE:t===e.featuresLength?StyleCommandsNeeded.ALL_TRANSLUCENT:StyleCommandsNeeded.OPAQUE_AND_TRANSLUCENT}function deriveCommand(e){var e=DrawCommand.shallowClone(e),t=e.pass===Pass$1.TRANSLUCENT;return e.uniformMap=defined(e.uniformMap)?e.uniformMap:{},e.uniformMap.tile_translucentCommand=function(){return t},e}function deriveTranslucentCommand(e){var t=DrawCommand.shallowClone(e);return t.pass=Pass$1.TRANSLUCENT,t.renderState=getTranslucentRenderState(e.renderState),t}function deriveOpaqueCommand(e){var t=DrawCommand.shallowClone(e);return t.renderState=getOpaqueRenderState(e.renderState),t}function getLogDepthPolygonOffsetFragmentShaderProgram(e,t){var i,r=e.shaderCache.getDerivedShaderProgram(t,"zBackfaceLogDepth");return defined(r)||((i=t.fragmentShaderSource.clone()).defines=defined(i.defines)?i.defines.slice(0):[],i.defines.push("POLYGON_OFFSET"),i.sources.unshift("#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\n"),r=e.shaderCache.createDerivedShaderProgram(t,"zBackfaceLogDepth",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})),r}function deriveZBackfaceCommand(e,t){var i=DrawCommand.shallowClone(t),r=clone(i.renderState,!0);r.cull.enabled=!0,r.cull.face=CullFace$1.FRONT,r.colorMask={red:!1,green:!1,blue:!1,alpha:!1},r.polygonOffset={enabled:!0,factor:5,units:5},r.stencilTest=StencilConstants$1.setCesium3DTileBit(),r.stencilMask=StencilConstants$1.CESIUM_3D_TILE_MASK,i.renderState=RenderState.fromCache(r),i.castShadows=!1,i.receiveShadows=!1,i.uniformMap=clone(t.uniformMap);var n=new Cartesian2(5,5);return i.uniformMap.u_polygonOffset=function(){return n},i.shaderProgram=getLogDepthPolygonOffsetFragmentShaderProgram(e,t.shaderProgram),i}function deriveStencilCommand(e,t){var i=DrawCommand.shallowClone(e),e=clone(i.renderState,!0);return e.stencilTest.enabled=!0,e.stencilTest.mask=StencilConstants$1.SKIP_LOD_MASK,e.stencilTest.reference=StencilConstants$1.CESIUM_3D_TILE_MASK|t<<StencilConstants$1.SKIP_LOD_BIT_SHIFT,e.stencilTest.frontFunction=StencilFunction$1.GREATER_OR_EQUAL,e.stencilTest.frontOperation.zPass=StencilOperation$1.REPLACE,e.stencilTest.backFunction=StencilFunction$1.GREATER_OR_EQUAL,e.stencilTest.backOperation.zPass=StencilOperation$1.REPLACE,e.stencilMask=StencilConstants$1.CESIUM_3D_TILE_MASK|StencilConstants$1.SKIP_LOD_MASK,i.renderState=RenderState.fromCache(e),i}function getLastSelectionDepth(e){return(e.renderState.stencilTest.reference&StencilConstants$1.SKIP_LOD_MASK)>>>StencilConstants$1.SKIP_LOD_BIT_SHIFT}function getTranslucentRenderState(e){e=clone(e,!0);return e.cull.enabled=!1,e.depthTest.enabled=!0,e.depthMask=!1,e.blending=BlendingState$1.ALPHA_BLEND,RenderState.fromCache(e)}function getOpaqueRenderState(e){e=clone(e,!0);return e.stencilTest=StencilConstants$1.setCesium3DTileBit(),e.stencilMask=StencilConstants$1.CESIUM_3D_TILE_MASK,RenderState.fromCache(e)}function createTexture$1(e,t,i){e=e._textureDimensions;return new Texture({context:t,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,source:{width:e.x,height:e.y,arrayBufferView:i},flipY:!1,sampler:Sampler.NEAREST})}function createPickTexture(e,t){var i=e.featuresLength;if(!defined(e._pickTexture)&&0<i){for(var r=e._pickIds,n=getByteLength(e),a=new Uint8Array(n),o=e._content,s=0;s<i;++s){var l=t.createPickId(o.getFeature(s));r.push(l);var c=l.color,l=4*s;a[l]=Color.floatToByte(c.red),a[1+l]=Color.floatToByte(c.green),a[2+l]=Color.floatToByte(c.blue),a[3+l]=Color.floatToByte(c.alpha)}e._pickTexture=createTexture$1(e,t,a),o.tileset._statistics.batchTableByteLength+=e._pickTexture.sizeInBytes}}function updateBatchTexture(e){var t=e._textureDimensions;e._batchTexture.copyFrom({width:t.x,height:t.y,arrayBufferView:e._batchValues})}function Cesium3DTileFeature(e,t){this._content=e,this._batchId=t,this._color=void 0}function Cesium3DTileFeatureTable(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function getTypedArrayFromBinary(e,t,i,r,n,a){var o=e._cachedTypedArrays,s=o[t];return defined(s)||(s=ComponentDatatype$1.createArrayBufferView(i,e.buffer.buffer,e.buffer.byteOffset+a,n*r),o[t]=s),s}function getTypedArrayFromArray(e,t,i,r){var n=e._cachedTypedArrays,e=n[t];return defined(e)||(e=ComponentDatatype$1.createTypedArray(i,r),n[t]=e),e}function addToArray(e,t,i){if(i=defaultValue(i,!1)){i=e.indexOf(t);if(-1<i)return i}return e.push(t),e.length-1}function hasExtension(e,t){return defined(e.extensionsUsed)&&0<=e.extensionsUsed.indexOf(t)}function ForEach(){}function numberOfComponentsForType(e){switch(e){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}function getAccessorByteStride(e,t){var i=t.bufferView;if(defined(i)){i=e.bufferViews[i];if(defined(i.byteStride)&&0<i.byteStride)return i.byteStride}return ComponentDatatype$1.getSizeInBytes(t.componentType)*numberOfComponentsForType(t.type)}function addDefaults(i){ForEach.accessor(i,function(e){defined(e.bufferView)&&(e.byteOffset=defaultValue(e.byteOffset,0))}),ForEach.bufferView(i,function(e){defined(e.buffer)&&(e.byteOffset=defaultValue(e.byteOffset,0))}),ForEach.mesh(i,function(e){ForEach.meshPrimitive(e,function(e){e.mode=defaultValue(e.mode,WebGLConstants$1.TRIANGLES),defined(e.material)||(defined(i.materials)||(i.materials=[]),e.material=addToArray(i.materials,{name:"default"}))})}),ForEach.accessorContainingVertexAttributeData(i,function(e){var t=i.accessors[e],e=t.bufferView;t.normalized=defaultValue(t.normalized,!1),defined(e)&&((e=i.bufferViews[e]).byteStride=getAccessorByteStride(i,t),e.target=WebGLConstants$1.ARRAY_BUFFER)}),ForEach.accessorContainingIndexData(i,function(e){e=i.accessors[e].bufferView;defined(e)&&(i.bufferViews[e].target=WebGLConstants$1.ELEMENT_ARRAY_BUFFER)}),ForEach.material(i,function(e){var t=defaultValue(e.extensions,defaultValue.EMPTY_OBJECT),i=t.KHR_materials_common;if(defined(i)){var r=i.technique,n=defined(i.values)?i.values:{};return(i.values=n).ambient=defined(n.ambient)?n.ambient:[0,0,0,1],n.emission=defined(n.emission)?n.emission:[0,0,0,1],n.transparency=defaultValue(n.transparency,1),n.transparent=defaultValue(n.transparent,!1),n.doubleSided=defaultValue(n.doubleSided,!1),void("CONSTANT"!==r&&(n.diffuse=defined(n.diffuse)?n.diffuse:[0,0,0,1],"LAMBERT"!==r&&(n.specular=defined(n.specular)?n.specular:[0,0,0,1],n.shininess=defaultValue(n.shininess,0))))}e.emissiveFactor=defaultValue(e.emissiveFactor,[0,0,0]),e.alphaMode=defaultValue(e.alphaMode,"OPAQUE"),e.doubleSided=defaultValue(e.doubleSided,!1),"MASK"===e.alphaMode&&(e.alphaCutoff=defaultValue(e.alphaCutoff,.5)),defined(t.KHR_techniques_webgl)&&ForEach.materialValue(e,function(e){defined(e.index)&&addTextureDefaults(e)}),addTextureDefaults(e.emissiveTexture),addTextureDefaults(e.normalTexture),addTextureDefaults(e.occlusionTexture);e=e.pbrMetallicRoughness;defined(e)&&(e.baseColorFactor=defaultValue(e.baseColorFactor,[1,1,1,1]),e.metallicFactor=defaultValue(e.metallicFactor,1),e.roughnessFactor=defaultValue(e.roughnessFactor,1),addTextureDefaults(e.baseColorTexture),addTextureDefaults(e.metallicRoughnessTexture));t=t.pbrSpecularGlossiness;defined(t)&&(t.diffuseFactor=defaultValue(t.diffuseFactor,[1,1,1,1]),t.specularFactor=defaultValue(t.specularFactor,[1,1,1]),t.glossinessFactor=defaultValue(t.glossinessFactor,1),addTextureDefaults(t.specularGlossinessTexture))}),ForEach.animation(i,function(e){ForEach.animationSampler(e,function(e){e.interpolation=defaultValue(e.interpolation,"LINEAR")})});var r=getAnimatedNodes(i);return ForEach.node(i,function(e,t){defined(r[t])||defined(e.translation)||defined(e.rotation)||defined(e.scale)?(e.translation=defaultValue(e.translation,[0,0,0]),e.rotation=defaultValue(e.rotation,[0,0,0,1]),e.scale=defaultValue(e.scale,[1,1,1])):e.matrix=defaultValue(e.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),ForEach.sampler(i,function(e){e.wrapS=defaultValue(e.wrapS,WebGLConstants$1.REPEAT),e.wrapT=defaultValue(e.wrapT,WebGLConstants$1.REPEAT)}),defined(i.scenes)&&!defined(i.scene)&&(i.scene=0),i}function getAnimatedNodes(e){var i={};return ForEach.animation(e,function(e){ForEach.animationChannel(e,function(e){var t=e.target,e=t.node,t=t.path;"translation"!==t&&"rotation"!==t&&"scale"!==t||(i[e]=!0)})}),i}function addTextureDefaults(e){defined(e)&&(e.texCoord=defaultValue(e.texCoord,0))}function addPipelineExtras(e){return ForEach.shader(e,function(e){addExtras(e)}),ForEach.buffer(e,function(e){addExtras(e)}),ForEach.image(e,function(e){addExtras(e),ForEach.compressedImage(e,function(e){addExtras(e)})}),addExtras(e),e}function addExtras(e){e.extras=defined(e.extras)?e.extras:{},e.extras._pipeline=defined(e.extras._pipeline)?e.extras._pipeline:{}}function removeExtensionsRequired(e,t){var i=e.extensionsRequired;defined(i)&&(0<=(t=i.indexOf(t))&&i.splice(t,1),0===i.length&&delete e.extensionsRequired)}function removeExtensionsUsed(e,t){var i,r=e.extensionsUsed;defined(r)&&(0<=(i=r.indexOf(t))&&r.splice(i,1),removeExtensionsRequired(e,t),0===r.length&&delete e.extensionsUsed)}Cesium3DTileBatchTable.prototype.addDerivedCommands=function(e,t){for(var i=e.commandList,r=i.length,n=this._content._tile,a=n._finalResolution,o=n.tileset,s=o._skipLevelOfDetail&&o._hasMixedContent&&e.context.stencilBuffer,l=getStyleCommandsNeeded(this),c=t;c<r;++c){var u=i[c],d=u.derivedCommands.tileset;defined(d)&&!u.dirty||(d={},(u.derivedCommands.tileset=d).originalCommand=deriveCommand(u),u.dirty=!1);var h=d.originalCommand;l!==StyleCommandsNeeded.ALL_OPAQUE&&u.pass!==Pass$1.TRANSLUCENT&&(defined(d.translucent)||(d.translucent=deriveTranslucentCommand(h))),l!==StyleCommandsNeeded.ALL_TRANSLUCENT&&u.pass!==Pass$1.TRANSLUCENT&&(defined(d.opaque)||(d.opaque=deriveOpaqueCommand(h)),s&&(a||(defined(d.zback)||(d.zback=deriveZBackfaceCommand(e.context,h)),o._backfaceCommands.push(d.zback)),defined(d.stencil)&&n._selectionDepth===getLastSelectionDepth(d.stencil)||(u.renderState.depthMask?d.stencil=deriveStencilCommand(h,n._selectionDepth):d.stencil=d.opaque)));var p=s?d.stencil:d.opaque,d=d.translucent;u.pass!==Pass$1.TRANSLUCENT?(l===StyleCommandsNeeded.ALL_OPAQUE&&(i[c]=p),l===StyleCommandsNeeded.ALL_TRANSLUCENT&&(i[c]=d),l===StyleCommandsNeeded.OPAQUE_AND_TRANSLUCENT&&(i[c]=p,i.push(d))):i[c]=h}},Cesium3DTileBatchTable.prototype.update=function(e,t){var i=t.context;this._defaultTexture=i.defaultTexture;t=t.passes;(t.pick||t.postProcess)&&createPickTexture(this,i),this._batchValuesDirty&&(this._batchValuesDirty=!1,defined(this._batchTexture)||(this._batchTexture=createTexture$1(this,i,this._batchValues),e._statistics.batchTableByteLength+=this._batchTexture.sizeInBytes),updateBatchTexture(this))},Cesium3DTileBatchTable.prototype.isDestroyed=function(){return!1},Cesium3DTileBatchTable.prototype.destroy=function(){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),this._pickTexture=this._pickTexture&&this._pickTexture.destroy();for(var e=this._pickIds,t=e.length,i=0;i<t;++i)e[i].destroy();return destroyObject(this)},Object.defineProperties(Cesium3DTileFeature.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return defined(this._color)||(this._color=new Color),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}}),Cesium3DTileFeature.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)},Cesium3DTileFeature.prototype.getPropertyNames=function(e){return this._content.batchTable.getPropertyNames(this._batchId,e)},Cesium3DTileFeature.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)},Cesium3DTileFeature.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0},Cesium3DTileFeature.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)},Cesium3DTileFeature.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)},Cesium3DTileFeature.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)},Cesium3DTileFeatureTable.prototype.getGlobalProperty=function(e,t,i){var r=this.json[e];if(defined(r))return defined(r.byteOffset)?getTypedArrayFromBinary(this,e,t=defaultValue(t,ComponentDatatype$1.UNSIGNED_INT),i=defaultValue(i,1),1,r.byteOffset):r},Cesium3DTileFeatureTable.prototype.getPropertyArray=function(e,t,i){var r=this.json[e];if(defined(r))return defined(r.byteOffset)?(defined(r.componentType)&&(t=ComponentDatatype$1.fromName(r.componentType)),getTypedArrayFromBinary(this,e,t,i,this.featuresLength,r.byteOffset)):getTypedArrayFromArray(this,e,t,r)},Cesium3DTileFeatureTable.prototype.getProperty=function(e,t,i,r,n){if(defined(this.json[e])){var a=this.getPropertyArray(e,t,i);if(1===i)return a[r];for(var o=0;o<i;++o)n[o]=a[i*r+o];return n}},ForEach.objectLegacy=function(e,t){if(defined(e))for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var r=t(e[i],i);if(defined(r))return r}},ForEach.object=function(e,t){if(defined(e))for(var i=e.length,r=0;r<i;r++){var n=t(e[r],r);if(defined(n))return n}},ForEach.topLevel=function(e,t,i){t=e[t];return defined(t)&&!Array.isArray(t)?ForEach.objectLegacy(t,i):ForEach.object(t,i)},ForEach.accessor=function(e,t){return ForEach.topLevel(e,"accessors",t)},ForEach.accessorWithSemantic=function(e,i,r){var n={};return ForEach.mesh(e,function(e){return ForEach.meshPrimitive(e,function(e){var t=ForEach.meshPrimitiveAttribute(e,function(e,t){if(0===t.indexOf(i)&&!defined(n[e])){n[e]=!0;e=r(e);if(defined(e))return e}});return defined(t)?t:ForEach.meshPrimitiveTarget(e,function(e){return ForEach.meshPrimitiveTargetAttribute(e,function(e,t){if(0===t.indexOf(i)&&!defined(n[e])){n[e]=!0;e=r(e);if(defined(e))return e}})})})})},ForEach.accessorContainingVertexAttributeData=function(e,i){var r={};return ForEach.mesh(e,function(e){return ForEach.meshPrimitive(e,function(e){var t=ForEach.meshPrimitiveAttribute(e,function(e){if(!defined(r[e])){r[e]=!0;e=i(e);if(defined(e))return e}});return defined(t)?t:ForEach.meshPrimitiveTarget(e,function(e){return ForEach.meshPrimitiveTargetAttribute(e,function(e){if(!defined(r[e])){r[e]=!0;e=i(e);if(defined(e))return e}})})})})},ForEach.accessorContainingIndexData=function(e,t){var i={};return ForEach.mesh(e,function(e){return ForEach.meshPrimitive(e,function(e){e=e.indices;if(defined(e)&&!defined(i[e])){i[e]=!0;e=t(e);if(defined(e))return e}})})},ForEach.animation=function(e,t){return ForEach.topLevel(e,"animations",t)},ForEach.animationChannel=function(e,t){e=e.channels;return ForEach.object(e,t)},ForEach.animationSampler=function(e,t){e=e.samplers;return ForEach.object(e,t)},ForEach.buffer=function(e,t){return ForEach.topLevel(e,"buffers",t)},ForEach.bufferView=function(e,t){return ForEach.topLevel(e,"bufferViews",t)},ForEach.camera=function(e,t){return ForEach.topLevel(e,"cameras",t)},ForEach.image=function(e,t){return ForEach.topLevel(e,"images",t)},ForEach.compressedImage=function(e,t){if(defined(e.extras)){var i,r=e.extras.compressedImage3DTiles;for(i in r)if(Object.prototype.hasOwnProperty.call(r,i)){var n=t(r[i],i);if(defined(n))return n}}},ForEach.material=function(e,t){return ForEach.topLevel(e,"materials",t)},ForEach.materialValue=function(e,t){var i,r=e.values;for(i in defined(e.extensions)&&defined(e.extensions.KHR_techniques_webgl)&&(r=e.extensions.KHR_techniques_webgl.values),r)if(Object.prototype.hasOwnProperty.call(r,i)){var n=t(r[i],i);if(defined(n))return n}},ForEach.mesh=function(e,t){return ForEach.topLevel(e,"meshes",t)},ForEach.meshPrimitive=function(e,t){var i=e.primitives;if(defined(i))for(var r=i.length,n=0;n<r;n++){var a=t(i[n],n);if(defined(a))return a}},ForEach.meshPrimitiveAttribute=function(e,t){var i,r=e.attributes;for(i in r)if(Object.prototype.hasOwnProperty.call(r,i)){var n=t(r[i],i);if(defined(n))return n}},ForEach.meshPrimitiveTarget=function(e,t){var i=e.targets;if(defined(i))for(var r=i.length,n=0;n<r;++n){var a=t(i[n],n);if(defined(a))return a}},ForEach.meshPrimitiveTargetAttribute=function(e,t){for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var r=t(e[i],i);if(defined(r))return r}},ForEach.node=function(e,t){return ForEach.topLevel(e,"nodes",t)},ForEach.nodeInTree=function(e,t,i){var r=e.nodes;if(defined(r))for(var n=t.length,a=0;a<n;a++){var o=t[a],s=r[o];if(defined(s)){o=i(s,o);if(defined(o))return o;s=s.children;if(defined(s)&&defined(o=ForEach.nodeInTree(e,s,i)))return o}}},ForEach.nodeInScene=function(e,t,i){t=t.nodes;if(defined(t))return ForEach.nodeInTree(e,t,i)},ForEach.program=function(e,t){return hasExtension(e,"KHR_techniques_webgl")?ForEach.object(e.extensions.KHR_techniques_webgl.programs,t):ForEach.topLevel(e,"programs",t)},ForEach.sampler=function(e,t){return ForEach.topLevel(e,"samplers",t)},ForEach.scene=function(e,t){return ForEach.topLevel(e,"scenes",t)},ForEach.shader=function(e,t){return hasExtension(e,"KHR_techniques_webgl")?ForEach.object(e.extensions.KHR_techniques_webgl.shaders,t):ForEach.topLevel(e,"shaders",t)},ForEach.skin=function(e,t){return ForEach.topLevel(e,"skins",t)},ForEach.skinJoint=function(e,t){var i=e.joints;if(defined(i))for(var r=i.length,n=0;n<r;n++){var a=t(i[n]);if(defined(a))return a}},ForEach.techniqueAttribute=function(e,t){var i,r=e.attributes;for(i in r)if(Object.prototype.hasOwnProperty.call(r,i)){var n=t(r[i],i);if(defined(n))return n}},ForEach.techniqueUniform=function(e,t){var i,r=e.uniforms;for(i in r)if(Object.prototype.hasOwnProperty.call(r,i)){var n=t(r[i],i);if(defined(n))return n}},ForEach.techniqueParameter=function(e,t){var i,r=e.parameters;for(i in r)if(Object.prototype.hasOwnProperty.call(r,i)){var n=t(r[i],i);if(defined(n))return n}},ForEach.technique=function(e,t){return hasExtension(e,"KHR_techniques_webgl")?ForEach.object(e.extensions.KHR_techniques_webgl.techniques,t):ForEach.topLevel(e,"techniques",t)},ForEach.texture=function(e,t){return ForEach.topLevel(e,"textures",t)};var sizeOfUint32$2=4;function parseGlb(e){if("glTF"!==getMagic(e))throw new RuntimeError("File is not valid binary glTF");var t=readHeader(e,0,5),i=t[1];if(1!==i&&2!==i)throw new RuntimeError("Binary glTF version is not 1 or 2");return(1===i?parseGlbVersion1:parseGlbVersion2)(e,t)}function readHeader(e,t,i){for(var r=new DataView(e.buffer),n=new Array(i),a=0;a<i;++a)n[a]=r.getUint32(e.byteOffset+t+a*sizeOfUint32$2,!0);return n}function parseGlbVersion1(e,t){var i=t[2],r=t[3];if(0!==t[4])throw new RuntimeError("Binary glTF scene format is not JSON");t=20+r,r=getStringFromTypedArray(e,20,r),r=JSON.parse(r);addPipelineExtras(r);t=e.subarray(t,i),i=r.buffers;return defined(i)&&0<Object.keys(i).length&&(defined(i=defaultValue(i.binary_glTF,i.KHR_binary_glTF))&&(i.extras._pipeline.source=t)),removeExtensionsUsed(r,"KHR_binary_glTF"),r}function parseGlbVersion2(e,t){for(var i,r=t[2],n=12;n<r;){var a=readHeader(e,n,2),o=a[0],s=a[1];n+=8;var l,a=e.subarray(n,n+o);n+=o,1313821514===s?(o=getStringFromTypedArray(a),addPipelineExtras(l=JSON.parse(o))):5130562===s&&(i=a)}return defined(l)&&defined(i)&&(defined(t=l.buffers)&&0<t.length&&(t[0].extras._pipeline.source=i)),l}function addExtensionsUsed(e,t){var i=e.extensionsUsed;defined(i)||(i=[],e.extensionsUsed=i),addToArray(i,t,!0)}function getComponentReader(e){switch(e){case ComponentDatatype$1.BYTE:return function(e,t,i,r,n){for(var a=0;a<i;++a)n[a]=e.getInt8(t+a*r)};case ComponentDatatype$1.UNSIGNED_BYTE:return function(e,t,i,r,n){for(var a=0;a<i;++a)n[a]=e.getUint8(t+a*r)};case ComponentDatatype$1.SHORT:return function(e,t,i,r,n){for(var a=0;a<i;++a)n[a]=e.getInt16(t+a*r,!0)};case ComponentDatatype$1.UNSIGNED_SHORT:return function(e,t,i,r,n){for(var a=0;a<i;++a)n[a]=e.getUint16(t+a*r,!0)};case ComponentDatatype$1.INT:return function(e,t,i,r,n){for(var a=0;a<i;++a)n[a]=e.getInt32(t+a*r,!0)};case ComponentDatatype$1.UNSIGNED_INT:return function(e,t,i,r,n){for(var a=0;a<i;++a)n[a]=e.getUint32(t+a*r,!0)};case ComponentDatatype$1.FLOAT:return function(e,t,i,r,n){for(var a=0;a<i;++a)n[a]=e.getFloat32(t+a*r,!0)};case ComponentDatatype$1.DOUBLE:return function(e,t,i,r,n){for(var a=0;a<i;++a)n[a]=e.getFloat64(t+a*r,!0)}}}function findAccessorMinMax(e,t){var i=e.bufferViews,r=e.buffers,n=t.bufferView,a=numberOfComponentsForType(t.type);if(!defined(t.bufferView))return{min:arrayFill(new Array(a),0),max:arrayFill(new Array(a),0)};for(var o=arrayFill(new Array(a),Number.POSITIVE_INFINITY),s=arrayFill(new Array(a),Number.NEGATIVE_INFINITY),n=i[n],r=r[n.buffer].extras._pipeline.source,l=t.count,c=getAccessorByteStride(e,t),u=t.byteOffset+n.byteOffset+r.byteOffset,t=t.componentType,d=ComponentDatatype$1.getSizeInBytes(t),h=new DataView(r.buffer),p=new Array(a),m=getComponentReader(t),f=0;f<l;f++){m(h,u,a,d,p);for(var g=0;g<a;g++){var _=p[g];o[g]=Math.min(o[g],_),s[g]=Math.max(s[g],_)}u+=c}return{min:o,max:s}}var defaultBlendEquation=[WebGLConstants$1.FUNC_ADD,WebGLConstants$1.FUNC_ADD],defaultBlendFactors=[WebGLConstants$1.ONE,WebGLConstants$1.ZERO,WebGLConstants$1.ONE,WebGLConstants$1.ZERO];function isStateEnabled(e,t){e=e.enable;return defined(e)&&-1<e.indexOf(t)}var supportedBlendFactors=[WebGLConstants$1.ZERO,WebGLConstants$1.ONE,WebGLConstants$1.SRC_COLOR,WebGLConstants$1.ONE_MINUS_SRC_COLOR,WebGLConstants$1.SRC_ALPHA,WebGLConstants$1.ONE_MINUS_SRC_ALPHA,WebGLConstants$1.DST_ALPHA,WebGLConstants$1.ONE_MINUS_DST_ALPHA,WebGLConstants$1.DST_COLOR,WebGLConstants$1.ONE_MINUS_DST_COLOR];function getSupportedBlendFactors(e,t){if(!defined(e))return t;for(var i=0;i<4;i++)if(-1===supportedBlendFactors.indexOf(e[i]))return t;return e}function moveTechniqueRenderStates(e){var a={},o={};return defined(e.techniques)&&(ForEach.technique(e,function(e,t){var i,r,n=e.states;defined(n)&&(i=o[t]={},isStateEnabled(n,WebGLConstants$1.BLEND)&&(i.alphaMode="BLEND",defined(r=n.functions)&&(defined(r.blendEquationSeparate)||defined(r.blendFuncSeparate))&&(a[t]={blendEquation:defaultValue(r.blendEquationSeparate,defaultBlendEquation),blendFactors:getSupportedBlendFactors(r.blendFuncSeparate,defaultBlendFactors)})),isStateEnabled(n,WebGLConstants$1.CULL_FACE)||(i.doubleSided=!0),delete e.states)}),0<Object.keys(a).length&&(defined(e.extensions)||(e.extensions={}),addExtensionsUsed(e,"KHR_blend")),ForEach.material(e,function(i){var e;defined(i.technique)&&(e=o[i.technique],ForEach.objectLegacy(e,function(e,t){i[t]=e}),defined(e=a[i.technique])&&(defined(i.extensions)||(i.extensions={}),i.extensions.KHR_blend=e))})),e}function addExtensionsRequired(e,t){var i=e.extensionsRequired;defined(i)||(i=[],e.extensionsRequired=i),addToArray(i,t,!0),addExtensionsUsed(e,t)}function moveTechniquesToExtension(s){var l,c,e=s.techniques,u={},d={};return defined(e)&&(l={programs:[],shaders:[],techniques:[]},c=s.glExtensionsUsed,delete s.glExtensionsUsed,ForEach.technique(s,function(i,e){var r,n={name:i.name,program:void 0,attributes:{},uniforms:{}};ForEach.techniqueAttribute(i,function(e,t){r=i.parameters[e],n.attributes[t]={semantic:r.semantic}}),ForEach.techniqueUniform(i,function(e,t){r=i.parameters[e],n.uniforms[t]={count:r.count,node:r.node,type:r.type,semantic:r.semantic,value:r.value},u[e]=t});var t=s.programs[i.program],a={name:t.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:c},o=s.shaders[t.fragmentShader];a.fragmentShader=addToArray(l.shaders,o,!0);t=s.shaders[t.vertexShader];a.vertexShader=addToArray(l.shaders,t,!0),n.program=addToArray(l.programs,a),d[e]=addToArray(l.techniques,n)}),0<l.techniques.length&&(defined(s.extensions)||(s.extensions={}),s.extensions.KHR_techniques_webgl=l,addExtensionsUsed(s,"KHR_techniques_webgl"),addExtensionsRequired(s,"KHR_techniques_webgl"))),ForEach.material(s,function(e){var i;defined(e.technique)&&(i={technique:d[e.technique]},ForEach.objectLegacy(e.values,function(e,t){defined(i.values)||(i.values={});t=u[t];i.values[t]=e}),defined(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=i),delete e.technique,delete e.values}),delete s.techniques,delete s.programs,delete s.shaders,s}var allElementTypes=["mesh","node","material","accessor","bufferView","buffer"];function removeUnusedElements(t,i){return i=defaultValue(i,allElementTypes),allElementTypes.forEach(function(e){-1<i.indexOf(e)&&removeUnusedElementsByType(t,e)}),t}var TypeToGltfElementName={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",node:"nodes",material:"materials",mesh:"meshes"};function removeUnusedElementsByType(e,t){var i=e[TypeToGltfElementName[t]];if(defined(i))for(var r=0,n=getListOfElementsIdsInUse[t](e),a=i.length,o=0;o<a;++o)n[o]||(Remove[t](e,o-r),r++)}function Remove(){}function getListOfElementsIdsInUse(){}function nodeIsEmpty(t,e){return!(defined(e.mesh)||defined(e.camera)||defined(e.skin)||defined(e.weights)||defined(e.extras)||defined(e.extensions)&&0!==e.extensions.length)&&(!defined(e.children)||0===e.children.filter(function(e){return!nodeIsEmpty(t,t.nodes[e])}).length)}function addBuffer(e,t){var i={byteLength:t.length,extras:{_pipeline:{source:t}}},t={buffer:addToArray(e.buffers,i),byteOffset:0,byteLength:t.length};return addToArray(e.bufferViews,t)}function readAccessorPacked(e,t){var i=getAccessorByteStride(e,t),r=ComponentDatatype$1.getSizeInBytes(t.componentType),n=numberOfComponentsForType(t.type),a=t.count,o=new Array(n*a);if(!defined(t.bufferView))return arrayFill(o,0),o;for(var s=e.bufferViews[t.bufferView],e=e.buffers[s.buffer].extras._pipeline.source,l=t.byteOffset+s.byteOffset+e.byteOffset,c=new DataView(e.buffer),u=new Array(n),d=getComponentReader(t.componentType),h=0;h<a;++h){d(c,l,n,r,u);for(var p=0;p<n;++p)o[h*n+p]=u[p];l+=i}return o}function updateAccessorComponentTypes(t){var i;return ForEach.accessorWithSemantic(t,"JOINTS_0",function(e){e=t.accessors[e];(i=e.componentType)===WebGLConstants$1.BYTE?convertType(t,e,ComponentDatatype$1.UNSIGNED_BYTE):i!==WebGLConstants$1.UNSIGNED_BYTE&&i!==WebGLConstants$1.UNSIGNED_SHORT&&convertType(t,e,ComponentDatatype$1.UNSIGNED_SHORT)}),ForEach.accessorWithSemantic(t,"WEIGHTS_0",function(e){e=t.accessors[e];(i=e.componentType)===WebGLConstants$1.BYTE?convertType(t,e,ComponentDatatype$1.UNSIGNED_BYTE):i===WebGLConstants$1.SHORT&&convertType(t,e,ComponentDatatype$1.UNSIGNED_SHORT)}),t}function convertType(e,t,i){var r=ComponentDatatype$1.createTypedArray(i,readAccessorPacked(e,t)),r=new Uint8Array(r.buffer);t.bufferView=addBuffer(e,r),t.componentType=i,t.byteOffset=0}Remove.accessor=function(e,r){e.accessors.splice(r,1),ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(i){ForEach.meshPrimitiveAttribute(i,function(e,t){r<e&&i.attributes[t]--}),ForEach.meshPrimitiveTarget(i,function(i){ForEach.meshPrimitiveTargetAttribute(i,function(e,t){r<e&&i[t]--})});var e=i.indices;defined(e)&&r<e&&i.indices--})}),ForEach.skin(e,function(e){defined(e.inverseBindMatrices)&&e.inverseBindMatrices>r&&e.inverseBindMatrices--}),ForEach.animation(e,function(e){ForEach.animationSampler(e,function(e){defined(e.input)&&e.input>r&&e.input--,defined(e.output)&&e.output>r&&e.output--})})},Remove.buffer=function(e,t){e.buffers.splice(t,1),ForEach.bufferView(e,function(e){defined(e.buffer)&&e.buffer>t&&e.buffer--})},Remove.bufferView=function(e,i){e.bufferViews.splice(i,1),ForEach.accessor(e,function(e){defined(e.bufferView)&&e.bufferView>i&&e.bufferView--}),ForEach.shader(e,function(e){defined(e.bufferView)&&e.bufferView>i&&e.bufferView--}),ForEach.image(e,function(e){defined(e.bufferView)&&e.bufferView>i&&e.bufferView--,ForEach.compressedImage(e,function(e){var t=e.bufferView;defined(t)&&i<t&&e.bufferView--})}),hasExtension(e,"KHR_draco_mesh_compression")&&ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(e){defined(e.extensions)&&defined(e.extensions.KHR_draco_mesh_compression)&&e.extensions.KHR_draco_mesh_compression.bufferView>i&&e.extensions.KHR_draco_mesh_compression.bufferView--})})},Remove.mesh=function(e,t){e.meshes.splice(t,1),ForEach.node(e,function(e){defined(e.mesh)&&(e.mesh>t?e.mesh--:e.mesh===t&&delete e.mesh)})},Remove.node=function(e,t){e.nodes.splice(t,1),ForEach.skin(e,function(e){defined(e.skeleton)&&e.skeleton>t&&e.skeleton--,e.joints=e.joints.map(function(e){return t<e?e-1:e})}),ForEach.animation(e,function(e){ForEach.animationChannel(e,function(e){defined(e.target)&&defined(e.target.node)&&e.target.node>t&&e.target.node--})}),ForEach.technique(e,function(e){ForEach.techniqueUniform(e,function(e){defined(e.node)&&e.node>t&&e.node--})}),ForEach.node(e,function(e){defined(e.children)&&(e.children=e.children.filter(function(e){return e!==t}).map(function(e){return t<e?e-1:e}))}),ForEach.scene(e,function(e){e.nodes=e.nodes.filter(function(e){return e!==t}).map(function(e){return t<e?e-1:e})})},Remove.material=function(e,t){e.materials.splice(t,1),ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(e){defined(e.material)&&e.material>t&&e.material--})})},getListOfElementsIdsInUse.accessor=function(e){var t={};return ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(e){ForEach.meshPrimitiveAttribute(e,function(e){t[e]=!0}),ForEach.meshPrimitiveTarget(e,function(e){ForEach.meshPrimitiveTargetAttribute(e,function(e){t[e]=!0})});e=e.indices;defined(e)&&(t[e]=!0)})}),ForEach.skin(e,function(e){defined(e.inverseBindMatrices)&&(t[e.inverseBindMatrices]=!0)}),ForEach.animation(e,function(e){ForEach.animationSampler(e,function(e){defined(e.input)&&(t[e.input]=!0),defined(e.output)&&(t[e.output]=!0)})}),t},getListOfElementsIdsInUse.buffer=function(e){var t={};return ForEach.bufferView(e,function(e){defined(e.buffer)&&(t[e.buffer]=!0)}),t},getListOfElementsIdsInUse.bufferView=function(e){var t={};return ForEach.accessor(e,function(e){defined(e.bufferView)&&(t[e.bufferView]=!0)}),ForEach.shader(e,function(e){defined(e.bufferView)&&(t[e.bufferView]=!0)}),ForEach.image(e,function(e){defined(e.bufferView)&&(t[e.bufferView]=!0),ForEach.compressedImage(e,function(e){defined(e.bufferView)&&(t[e.bufferView]=!0)})}),hasExtension(e,"KHR_draco_mesh_compression")&&ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(e){defined(e.extensions)&&defined(e.extensions.KHR_draco_mesh_compression)&&(t[e.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),t},getListOfElementsIdsInUse.mesh=function(i){var r={};return ForEach.node(i,function(e){var t;!defined(e.mesh&&defined(i.meshes))||defined(t=i.meshes[e.mesh])&&defined(t.primitives)&&0<t.primitives.length&&(r[e.mesh]=!0)}),r},getListOfElementsIdsInUse.node=function(i){var r={};return ForEach.node(i,function(e,t){nodeIsEmpty(i,e)||(r[t]=!0)}),ForEach.skin(i,function(e){defined(e.skeleton)&&(r[e.skeleton]=!0),ForEach.skinJoint(e,function(e){r[e]=!0})}),ForEach.animation(i,function(e){ForEach.animationChannel(e,function(e){defined(e.target)&&defined(e.target.node)&&(r[e.target.node]=!0)})}),ForEach.technique(i,function(e){ForEach.techniqueUniform(e,function(e){defined(e.node)&&(r[e.node]=!0)})}),r},getListOfElementsIdsInUse.material=function(e){var t={};return ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(e){defined(e.material)&&(t[e.material]=!0)})}),t};var updateFunctions={.8:glTF08to10,"1.0":glTF10to20,"2.0":void 0};function updateVersion(e,t){var i=(t=defaultValue(t,defaultValue.EMPTY_OBJECT)).targetVersion,r=e.version;e.asset=defaultValue(e.asset,{version:"1.0"}),e.asset.version=defaultValue(e.asset.version,"1.0"),r=defaultValue(r,e.asset.version).toString(),Object.prototype.hasOwnProperty.call(updateFunctions,r)||(defined(r)&&(r=r.substring(0,3)),Object.prototype.hasOwnProperty.call(updateFunctions,r)||(r="1.0"));for(var n=updateFunctions[r];defined(n)&&r!==i;)n(e,t),r=e.asset.version,n=updateFunctions[r];return e}function updateInstanceTechniques(e){var t,i,r,n=e.materials;for(t in n)!Object.prototype.hasOwnProperty.call(n,t)||defined(r=(i=n[t]).instanceTechnique)&&(i.technique=r.technique,i.values=r.values,delete i.instanceTechnique)}function setPrimitiveModes(e){var t,i=e.meshes;for(t in i)if(Object.prototype.hasOwnProperty.call(i,t)){var r=i[t].primitives;if(defined(r))for(var n=r.length,a=0;a<n;++a){var o=r[a],s=defaultValue(o.primitive,WebGLConstants$1.TRIANGLES);o.mode=defaultValue(o.mode,s),delete o.primitive}}}function updateNodes(e){var t,i,r,n=e.nodes,a=new Cartesian3,o=new Quaternion;for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(defined((i=n[t]).rotation)&&(r=i.rotation,Cartesian3.fromArray(r,0,a),Quaternion.fromAxisAngle(a,r[3],o),i.rotation=[o.x,o.y,o.z,o.w]),defined(r=i.instanceSkin)&&(i.skeletons=r.skeletons,i.skin=r.skin,i.meshes=r.meshes,delete i.instanceSkin))}function updateAnimations(e){var t,i=e.animations,r=e.accessors,n=e.bufferViews,a=e.buffers,o={},s=new Cartesian3,l=new Quaternion;for(t in i)if(Object.prototype.hasOwnProperty.call(i,t)){var c=i[t],u=c.channels,d=c.parameters,h=c.samplers;if(defined(u))for(var p=u.length,m=0;m<p;++m){var f=u[m];if("rotation"===f.target.path){var g=d[h[f.sampler].output];if(!defined(o[g])){o[g]=!0;for(var _=r[g],y=n[_.bufferView],f=a[y.buffer].extras._pipeline.source,g=f.byteOffset+y.byteOffset+_.byteOffset,y=_.componentType,C=_.count,v=numberOfComponentsForType(_.type),_=_.count*v,S=ComponentDatatype$1.createArrayBufferView(y,f.buffer,g,_),T=0;T<C;T++){var b=T*v;Cartesian3.unpack(S,b,s);var x=S[3+b];Quaternion.fromAxisAngle(s,x,l),Quaternion.pack(l,S,b)}}}}}}function removeTechniquePasses(e){var t,i,r,n,a=e.techniques;for(t in a)!Object.prototype.hasOwnProperty.call(a,t)||defined(r=(i=a[t]).passes)&&(n=defaultValue(i.pass,"defaultPass"),Object.prototype.hasOwnProperty.call(r,n)&&(n=(r=r[n]).instanceProgram,i.attributes=defaultValue(i.attributes,n.attributes),i.program=defaultValue(i.program,n.program),i.uniforms=defaultValue(i.uniforms,n.uniforms),i.states=defaultValue(i.states,r.states)),delete i.passes,delete i.pass)}function glTF08to10(e){defined(e.asset)||(e.asset={});var t,i=e.asset;i.version="1.0","string"==typeof i.profile?(t=i.profile.split(" "),i.profile={api:t[0],version:t[1]}):i.profile={},defined(e.version)&&delete e.version,updateInstanceTechniques(e),setPrimitiveModes(e),updateNodes(e),updateAnimations(e),removeTechniquePasses(e),defined(e.allExtensions)&&(e.extensionsUsed=e.allExtensions,delete e.allExtensions),defined(e.lights)&&(t=defaultValue(e.extensions,{}),i=defaultValue((e.extensions=t).KHR_materials_common,{}),(t.KHR_materials_common=i).lights=e.lights,delete e.lights,addExtensionsUsed(e,"KHR_materials_common"))}function removeAnimationSamplersIndirection(e){var t,i=e.animations;for(t in i)if(Object.prototype.hasOwnProperty.call(i,t)){var r=i[t],n=r.parameters;if(defined(n)){var a,o,s=r.samplers;for(a in s)Object.prototype.hasOwnProperty.call(s,a)&&((o=s[a]).input=n[o.input],o.output=n[o.output]);delete r.parameters}}}function objectToArray(e,t){var i,r,n=[];for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r=e[i],t[i]=n.length,n.push(r),defined(r.name)||(r.name=i));return n}function objectsToArrays(s){var l,e,t,i,r,n,c={accessors:{},animations:{},buffers:{},bufferViews:{},cameras:{},images:{},materials:{},meshes:{},nodes:{},programs:{},samplers:{},scenes:{},shaders:{},skins:{},textures:{},techniques:{}},a={},o=s.nodes;for(t in o)Object.prototype.hasOwnProperty.call(o,t)&&defined(e=o[t].jointName)&&(a[e]=t);for(i in s)Object.prototype.hasOwnProperty.call(s,i)&&defined(c[i])&&(r={},n=s[i],s[i]=objectToArray(n,r),c[i]=r);for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(a[e]=c.nodes[a[e]]);defined(s.scene)&&(s.scene=c.scenes[s.scene]),ForEach.bufferView(s,function(e){defined(e.buffer)&&(e.buffer=c.buffers[e.buffer])}),ForEach.accessor(s,function(e){defined(e.bufferView)&&(e.bufferView=c.bufferViews[e.bufferView])}),ForEach.shader(s,function(e){var t,i=e.extensions;defined(i)&&(defined(t=i.KHR_binary_glTF)&&(e.bufferView=c.bufferViews[t.bufferView],delete i.KHR_binary_glTF),0===Object.keys(i).length&&delete e.extensions)}),ForEach.program(s,function(e){defined(e.vertexShader)&&(e.vertexShader=c.shaders[e.vertexShader]),defined(e.fragmentShader)&&(e.fragmentShader=c.shaders[e.fragmentShader])}),ForEach.technique(s,function(e){defined(e.program)&&(e.program=c.programs[e.program]),ForEach.techniqueParameter(e,function(e){defined(e.node)&&(e.node=c.nodes[e.node]);var t=e.value;"string"==typeof t&&(e.value={index:c.textures[t]})})}),ForEach.mesh(s,function(e){ForEach.meshPrimitive(e,function(i){defined(i.indices)&&(i.indices=c.accessors[i.indices]),ForEach.meshPrimitiveAttribute(i,function(e,t){i.attributes[t]=c.accessors[e]}),defined(i.material)&&(i.material=c.materials[i.material])})}),ForEach.node(s,function(e){var t,i=e.children;if(defined(i)){var r=i.length;for(l=0;l<r;++l)i[l]=c.nodes[i[l]]}if(defined(e.meshes)){var n=e.meshes,a=n.length;if(0<a)for(e.mesh=c.meshes[n[0]],l=1;l<a;++l){var o={mesh:c.meshes[n[l]]},o=addToArray(s.nodes,o);defined(i)||(i=[],e.children=i),i.push(o)}delete e.meshes}defined(e.camera)&&(e.camera=c.cameras[e.camera]),defined(e.skin)&&(e.skin=c.skins[e.skin]),defined(e.skeletons)&&(0<(t=e.skeletons).length&&defined(e.skin)&&(s.skins[e.skin].skeleton=c.nodes[t[0]]),delete e.skeletons),defined(e.jointName)&&delete e.jointName}),ForEach.skin(s,function(e){defined(e.inverseBindMatrices)&&(e.inverseBindMatrices=c.accessors[e.inverseBindMatrices]);var t=e.jointNames;if(defined(t)){var i=[],r=t.length;for(l=0;l<r;++l)i[l]=a[t[l]];e.joints=i,delete e.jointNames}}),ForEach.scene(s,function(e){var t=e.nodes;if(defined(t)){var i=t.length;for(l=0;l<i;++l)t[l]=c.nodes[t[l]]}}),ForEach.animation(s,function(e){var t={};e.samplers=objectToArray(e.samplers,t),ForEach.animationSampler(e,function(e){e.input=c.accessors[e.input],e.output=c.accessors[e.output]}),ForEach.animationChannel(e,function(e){e.sampler=t[e.sampler];e=e.target;defined(e)&&(e.node=c.nodes[e.id],delete e.id)})}),ForEach.material(s,function(i){defined(i.technique)&&(i.technique=c.techniques[i.technique]),ForEach.materialValue(i,function(e,t){"string"==typeof e&&(i.values[t]={index:c.textures[e]})});var r,e=i.extensions;!defined(e)||defined(r=e.KHR_materials_common)&&ForEach.materialValue(r,function(e,t){"string"==typeof e&&(r.values[t]={index:c.textures[e]})})}),ForEach.image(s,function(e){var t,r=e.extensions;defined(r)&&(defined(t=r.KHR_binary_glTF)&&(e.bufferView=c.bufferViews[t.bufferView],e.mimeType=t.mimeType,delete r.KHR_binary_glTF),0===Object.keys(r).length&&delete e.extensions),ForEach.compressedImage(e,function(e){var t,i=e.extensions;defined(i)&&(defined(t=i.KHR_binary_glTF)&&(e.bufferView=c.bufferViews[t.bufferView],e.mimeType=t.mimeType,delete i.KHR_binary_glTF),0===Object.keys(r).length&&delete e.extensions)})}),ForEach.texture(s,function(e){defined(e.sampler)&&(e.sampler=c.samplers[e.sampler]),defined(e.source)&&(e.source=c.images[e.source])})}function removeAnimationSamplerNames(e){ForEach.animation(e,function(e){ForEach.animationSampler(e,function(e){delete e.name})})}function removeEmptyArrays(e){for(var t in e){var i;Object.prototype.hasOwnProperty.call(e,t)&&(i=e[t],Array.isArray(i)&&0===i.length&&delete e[t])}ForEach.node(e,function(e){defined(e.children)&&0===e.children.length&&delete e.children})}function stripAsset(e){e=e.asset;delete e.profile,delete e.premultipliedAlpha}var knownExtensions={CESIUM_RTC:!0,KHR_materials_common:!0,WEB3D_quantized_attributes:!0};function requireKnownExtensions(e){var t=e.extensionsUsed;if(e.extensionsRequired=defaultValue(e.extensionsRequired,[]),defined(t))for(var i=t.length,r=0;r<i;++r){var n=t[r];defined(knownExtensions[n])&&e.extensionsRequired.push(n)}}function removeBufferType(e){ForEach.buffer(e,function(e){delete e.type})}function removeTextureProperties(e){ForEach.texture(e,function(e){delete e.format,delete e.internalFormat,delete e.target,delete e.type})}function requireAttributeSetIndex(e){ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(i){ForEach.meshPrimitiveAttribute(i,function(e,t){"TEXCOORD"===t?i.attributes.TEXCOORD_0=e:"COLOR"===t&&(i.attributes.COLOR_0=e)}),delete i.attributes.TEXCOORD,delete i.attributes.COLOR})}),ForEach.technique(e,function(e){ForEach.techniqueParameter(e,function(e){var t=e.semantic;defined(t)&&("TEXCOORD"===t?e.semantic="TEXCOORD_0":"COLOR"===t&&(e.semantic="COLOR_0"))})})}var knownSemantics={POSITION:!0,NORMAL:!0,TANGENT:!0},indexedSemantics={COLOR:"COLOR",JOINT:"JOINTS",JOINTS:"JOINTS",TEXCOORD:"TEXCOORD",WEIGHT:"WEIGHTS",WEIGHTS:"WEIGHTS"};function underscoreApplicationSpecificSemantics(e){var o={};ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(e){for(var t in ForEach.meshPrimitiveAttribute(e,function(e,t){var i,r,n,a;"_"!==t.charAt(0)&&(a=t.search(/_[0-9]+/g),i=t,r="_0",0<=a&&(i=t.substring(0,a),r=t.substring(a)),defined(a=indexedSemantics[i])?(n=a+r,o[t]=n):defined(knownSemantics[i])||(n="_"+t,o[t]=n))}),o){var i,r;Object.prototype.hasOwnProperty.call(o,t)&&(i=o[t],defined(r=e.attributes[t])&&(delete e.attributes[t],e.attributes[i]=r))}})}),ForEach.technique(e,function(e){ForEach.techniqueParameter(e,function(e){var t=o[e.semantic];defined(t)&&(e.semantic=t)})})}function clampCameraParameters(e){ForEach.camera(e,function(e){var t=e.perspective;defined(t)&&(defined(e=t.aspectRatio)&&0===e&&delete t.aspectRatio,defined(e=t.yfov)&&0===e&&(t.yfov=1))})}function computeAccessorByteStride(e,t){return defined(t.byteStride)&&0!==t.byteStride?t.byteStride:getAccessorByteStride(e,t)}function requireByteLength(r){ForEach.buffer(r,function(e){defined(e.byteLength)||(e.byteLength=e.extras._pipeline.source.length)}),ForEach.accessor(r,function(e){var t,i=e.bufferView;defined(i)&&(t=r.bufferViews[i],i=computeAccessorByteStride(r,e),i=e.byteOffset+e.count*i,t.byteLength=Math.max(defaultValue(t.byteLength,0),i))})}function moveByteStrideToBufferView(t){var e,i=t.bufferViews,r={};ForEach.accessorContainingVertexAttributeData(t,function(e){e=t.accessors[e];defined(e.bufferView)&&(r[e.bufferView]=!0)});var n,a={};for(n in ForEach.accessor(t,function(e){defined(e.bufferView)&&(a[e.bufferView]=defaultValue(a[e.bufferView],[]),a[e.bufferView].push(e))}),a)if(Object.prototype.hasOwnProperty.call(a,n)){e=i[n];var o=a[n];o.sort(function(e,t){return e.byteOffset-t.byteOffset});for(var s=0,l=0,c=o.length,u=0;u<c;++u){var d=o[u],h=computeAccessorByteStride(t,d),p=d.byteOffset,m=d.count*h;delete d.byteStride;var f=u<c-1;if(h!==(f?computeAccessorByteStride(t,o[u+1]):void 0)){var g=clone(e,!0);r[n]&&(g.byteStride=h),g.byteOffset+=s,g.byteLength=p+m-s;for(var _=addToArray(i,g),y=l;y<=u;++y)(d=o[y]).bufferView=_,d.byteOffset=d.byteOffset-s;s=f?o[u+1].byteOffset:void 0,l=u+1}}}removeUnusedElements(t,["accessor","bufferView","buffer"])}function requirePositionAccessorMinMax(i){ForEach.accessorWithSemantic(i,"POSITION",function(e){var t=i.accessors[e];defined(t.min)&&defined(t.max)||(e=findAccessorMinMax(i,t),t.min=e.min,t.max=e.max)})}function isNodeEmpty(e){return(!defined(e.children)||0===e.children.length)&&(!defined(e.meshes)||0===e.meshes.length)&&!defined(e.camera)&&!defined(e.skin)&&!defined(e.skeletons)&&!defined(e.jointName)&&(!defined(e.translation)||Cartesian3.fromArray(e.translation).equals(Cartesian3.ZERO))&&(!defined(e.scale)||Cartesian3.fromArray(e.scale).equals(new Cartesian3(1,1,1)))&&(!defined(e.rotation)||Cartesian4.fromArray(e.rotation).equals(new Cartesian4(0,0,0,1)))&&(!defined(e.matrix)||Matrix4.fromColumnMajorArray(e.matrix).equals(Matrix4.IDENTITY))&&!defined(e.extensions)&&!defined(e.extras)}function deleteNode(r,n){ForEach.scene(r,function(e){var t=e.nodes;if(defined(t))for(var i=t.length;0<=i;--i)if(t[i]===n)return void t.splice(i,1)}),ForEach.node(r,function(e,t){var i;!defined(e.children)||-1<(i=e.children.indexOf(n))&&(e.children.splice(i,1),isNodeEmpty(e)&&deleteNode(r,t))}),delete r.nodes[n]}function removeEmptyNodes(i){return ForEach.node(i,function(e,t){isNodeEmpty(e)&&deleteNode(i,t)}),i}function requireAnimationAccessorMinMax(i){ForEach.animation(i,function(e){ForEach.animationSampler(e,function(e){var t=i.accessors[e.input];defined(t.min)&&defined(t.max)||(e=findAccessorMinMax(i,t),t.min=e.min,t.max=e.max)})})}function glTF10to20(e){e.asset=defaultValue(e.asset,{}),e.asset.version="2.0",updateInstanceTechniques(e),removeAnimationSamplersIndirection(e),removeEmptyNodes(e),objectsToArrays(e),removeAnimationSamplerNames(e),stripAsset(e),requireKnownExtensions(e),requireByteLength(e),moveByteStrideToBufferView(e),requirePositionAccessorMinMax(e),requireAnimationAccessorMinMax(e),removeBufferType(e),removeTextureProperties(e),requireAttributeSetIndex(e),underscoreApplicationSpecificSemantics(e),updateAccessorComponentTypes(e),clampCameraParameters(e),moveTechniqueRenderStates(e),moveTechniquesToExtension(e),removeEmptyArrays(e)}function ModelLoadResources(){this.initialized=!1,this.resourcesParsed=!1,this.vertexBuffersToCreate=new Queue,this.indexBuffersToCreate=new Queue,this.buffers={},this.pendingBufferLoads=0,this.programsToCreate=new Queue,this.shaders={},this.pendingShaderLoads=0,this.texturesToCreate=new Queue,this.pendingTextureLoads=0,this.texturesToCreateFromBufferView=new Queue,this.pendingBufferViewToImage=0,this.createSamplers=!0,this.createSkins=!0,this.createRuntimeAnimations=!0,this.createVertexArrays=!0,this.createRenderStates=!0,this.createUniformMaps=!0,this.createRuntimeNodes=!0,this.createdBufferViews={},this.primitivesToDecode=new Queue,this.activeDecodingTasks=0,this.pendingDecodingCache=!1,this.skinnedNodesIds=[]}function getSubarray(e,t,i){return e.subarray(t,t+i)}ModelLoadResources.prototype.getBuffer=function(e){return getSubarray(this.buffers[e.buffer],e.byteOffset,e.byteLength)},ModelLoadResources.prototype.finishedPendingBufferLoads=function(){return 0===this.pendingBufferLoads},ModelLoadResources.prototype.finishedBuffersCreation=function(){return 0===this.pendingBufferLoads&&0===this.vertexBuffersToCreate.length&&0===this.indexBuffersToCreate.length},ModelLoadResources.prototype.finishedProgramCreation=function(){return 0===this.pendingShaderLoads&&0===this.programsToCreate.length},ModelLoadResources.prototype.finishedTextureCreation=function(){var e=0===this.pendingTextureLoads,t=0===this.texturesToCreate.length&&0===this.texturesToCreateFromBufferView.length;return e&&t},ModelLoadResources.prototype.finishedEverythingButTextureCreation=function(){var e=0===this.pendingBufferLoads&&0===this.pendingShaderLoads,t=0===this.vertexBuffersToCreate.length&&0===this.indexBuffersToCreate.length&&0===this.programsToCreate.length&&0===this.pendingBufferViewToImage;return this.finishedDecoding()&&e&&t},ModelLoadResources.prototype.finishedDecoding=function(){return 0===this.primitivesToDecode.length&&0===this.activeDecodingTasks&&!this.pendingDecodingCache},ModelLoadResources.prototype.finished=function(){return this.finishedDecoding()&&this.finishedTextureCreation()&&this.finishedEverythingButTextureCreation()};var ModelUtility={updateForwardAxis:function(e){var t=e.gltf.extras.sourceVersion;(defined(t)&&"2.0"!==t||"2.0"!==ModelUtility.getAssetVersion(e.gltf))&&(e._gltfForwardAxis=Axis$1.X)},getAssetVersion:function(e){return defined(e.asset)&&defined(e.asset.version)?e.asset.version:"1.0"},splitIncompatibleMaterials:function(e){var p=e.accessors,m=e.materials,f={};return ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(e){var t,i=e.material,r=m[i],n=e.attributes.JOINTS_0;defined(n)&&(t=(d=p[n]).componentType,h=d.type);var a=defined(n)&&"VEC4"===h,o=defined(e.attributes.COLOR_0),s=defined(e.targets),l=defined(e.attributes.NORMAL),c=defined(e.attributes.TANGENT),u=defined(e.attributes.TEXCOORD_0),d=u&&defined(e.attributes.TEXCOORD_1),n=defined(e.extensions)&&defined(e.extensions.CESIUM_primitive_outline),h=f[i];defined(h)?h.skinning.skinned===a&&h.hasVertexColors===o&&h.hasMorphTargets===s&&h.hasNormals===l&&h.hasTangents===c&&h.hasTexCoords===u&&h.hasTexCoord1===d&&h.hasOutline===n||(r=clone(r,!0),i=addToArray(m,r),e.material=i,f[i]={skinning:{skinned:a,componentType:t},hasVertexColors:o,hasMorphTargets:s,hasNormals:l,hasTangents:c,hasTexCoords:u,hasTexCoord1:d,hasOutline:n}):f[i]={skinning:{skinned:a,componentType:t},hasVertexColors:o,hasMorphTargets:s,hasNormals:l,hasTangents:c,hasTexCoords:u,hasTexCoord1:d,hasOutline:n}})}),f},getShaderVariable:function(e){return"SCALAR"===e?"float":e.toLowerCase()},ModelState:{NEEDS_LOAD:0,LOADING:1,LOADED:2,FAILED:3},getFailedLoadFunction:function(i,r,n){return function(e){i._state=ModelUtility.ModelState.FAILED;var t="Failed to load "+r+": "+n;defined(e)&&(t+="\n"+e.message),i._readyPromise.reject(new RuntimeError(t))}},parseBuffers:function(i,r){var n=i._loadResources;ForEach.buffer(i.gltf,function(e,t){defined(e.extras._pipeline.source)?n.buffers[t]=e.extras._pipeline.source:defined(r)&&(e=i._resource.getDerivedResource({url:e.uri}),++n.pendingBufferLoads,e.fetchArrayBuffer().then(r(i,t)).otherwise(ModelUtility.getFailedLoadFunction(i,"buffer",e.url)))})}},aMinScratch=new Cartesian3,aMaxScratch=new Cartesian3;function techniqueAttributeForSemantic(e,i){return ForEach.techniqueAttribute(e,function(e,t){if(e.semantic===i)return t})}function ensureSemanticExistenceForPrimitive(e,t){var i,r=e.accessors,n=e.materials,a=e.extensions.KHR_techniques_webgl,o=a.techniques,e=a.programs,a=a.shaders,s=t.targets,l=t.attributes;for(i in s)if(s.hasOwnProperty(i)){var c,u=s[i];for(c in u)"extras"!==c&&(l[c+"_"+i]=u[c])}var d,h,p,m,f,g=o[n[t.material].extensions.KHR_techniques_webgl.technique],_=a[e[g.program].vertexShader];for(d in l)l.hasOwnProperty(d)&&(defined(techniqueAttributeForSemantic(g,d))||(h=r[l[d]],"_"===(f=d.toLowerCase()).charAt(0)&&(f=f.slice(1)),p="a_"+f,g.attributes[p]={semantic:d,type:h.componentType},f=(m=_.extras._pipeline).source,f="attribute "+ModelUtility.getShaderVariable(h.type)+" "+p+";\n"+f,m.source=f))}function getTechniqueAttributeOrUniformFunction(e,i,r,n){return hasExtension(e,"KHR_techniques_webgl")?function(e,t){if(!(e.semantic!==r||n&&defined(e.node)))return t}:function(e,t){e=i.parameters[e];if(!(e.semantic!==r||n&&defined(e.node)))return t}}ModelUtility.computeBoundingSphere=function(e){for(var t=e.gltf,i=t.nodes,r=t.meshes,n=t.scenes[t.scene].nodes,a=n.length,o=[],s=new Cartesian3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),l=new Cartesian3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),c=0;c<a;++c){var u=i[n[c]];for(u._transformToRoot=ModelUtility.getTransform(u),o.push(u);0<o.length;){var d=(u=o.pop())._transformToRoot,h=u.mesh;if(defined(h))for(var p=r[h].primitives,m=p.length,f=0;f<m;++f){var g,_=p[f].attributes.POSITION;!defined(_)||defined((g=ModelUtility.getAccessorMinMax(t,_)).min)&&defined(g.max)&&(_=Cartesian3.fromArray(g.min,0,aMinScratch),g=Cartesian3.fromArray(g.max,0,aMaxScratch),Matrix4.multiplyByPoint(d,_,_),Matrix4.multiplyByPoint(d,g,g),Cartesian3.minimumByComponent(s,_,s),Cartesian3.maximumByComponent(l,g,l))}var y=u.children;if(defined(y))for(var C=y.length,v=0;v<C;++v){var S=i[y[v]];S._transformToRoot=ModelUtility.getTransform(S),Matrix4.multiplyTransformation(d,S._transformToRoot,S._transformToRoot),o.push(S)}delete u._transformToRoot}}var T=BoundingSphere.fromCornerPoints(s,l);return e._forwardAxis===Axis$1.Z&&BoundingSphere.transformWithoutScale(T,Axis$1.Z_UP_TO_X_UP,T),e._upAxis===Axis$1.Y?BoundingSphere.transformWithoutScale(T,Axis$1.Y_UP_TO_Z_UP,T):e._upAxis===Axis$1.X&&BoundingSphere.transformWithoutScale(T,Axis$1.X_UP_TO_Z_UP,T),T},ModelUtility.ensureSemanticExistence=function(t){return ForEach.mesh(t,function(e){ForEach.meshPrimitive(e,function(e){ensureSemanticExistenceForPrimitive(t,e)})}),t},ModelUtility.createAttributeLocations=function(e,t){var i={},r=!1,n=1;if(ForEach.techniqueAttribute(e,function(e,t){/pos/i.test(t)&&!r?(i[t]=0,r=!0):i[t]=n++}),defined(t))for(var a in t)t.hasOwnProperty(a)&&(i[a]=n++);return i},ModelUtility.getAccessorMinMax=function(e,t){var i=e.accessors[t],e=i.extensions,t=i.min,i=i.max;return!defined(e)||defined(e=e.WEB3D_quantized_attributes)&&(t=e.decodedMin,i=e.decodedMax),{min:t,max:i}},ModelUtility.getAttributeOrUniformBySemantic=function(i,r,n,a){return ForEach.technique(i,function(e){if(!defined(n)||e.program===n){var t=ForEach.techniqueAttribute(e,getTechniqueAttributeOrUniformFunction(i,e,r,a));return defined(t)?t:ForEach.techniqueUniform(e,getTechniqueAttributeOrUniformFunction(i,e,r,a))}})},ModelUtility.getDiffuseAttributeOrUniform=function(e,t){var i=ModelUtility.getAttributeOrUniformBySemantic(e,"COLOR_0",t);return defined(i)||(i=ModelUtility.getAttributeOrUniformBySemantic(e,"_3DTILESDIFFUSE",t)),i};var nodeTranslationScratch=new Cartesian3,nodeQuaternionScratch=new Quaternion,nodeScaleScratch=new Cartesian3;function replaceAllButFirstInString(e,t,i){t+="(?!\\w)",t=new RegExp(t,"g");var r=e.search(t);return e.replace(t,function(e,t){return r===t?e:i})}function getQuantizedAttributes(e,t){t=e.accessors[t].extensions;if(defined(t))return t.WEB3D_quantized_attributes}function getAttributeVariableName(e,t,i){t=t.material,t=e.materials[t];if(hasExtension(e,"KHR_techniques_webgl")&&defined(t.extensions)&&defined(t.extensions.KHR_techniques_webgl)){t=t.extensions.KHR_techniques_webgl.technique,t=e.extensions.KHR_techniques_webgl.techniques[t];return ForEach.techniqueAttribute(t,function(e,t){if(e.semantic===i)return t})}}function getScalarUniformFunction(e){var t={value:e,clone:function(e,t){return e},func:function(){return t.value}};return t}function getVec2UniformFunction(e){var t={value:Cartesian2.fromArray(e),clone:Cartesian2.clone,func:function(){return t.value}};return t}function getVec3UniformFunction(e){var t={value:Cartesian3.fromArray(e),clone:Cartesian3.clone,func:function(){return t.value}};return t}function getVec4UniformFunction(e){var t={value:Cartesian4.fromArray(e),clone:Cartesian4.clone,func:function(){return t.value}};return t}function getMat2UniformFunction(e){var t={value:Matrix2.fromColumnMajorArray(e),clone:Matrix2.clone,func:function(){return t.value}};return t}function getMat3UniformFunction(e){var t={value:Matrix3.fromColumnMajorArray(e),clone:Matrix3.clone,func:function(){return t.value}};return t}function getMat4UniformFunction(e){var t={value:Matrix4.fromColumnMajorArray(e),clone:Matrix4.clone,func:function(){return t.value}};return t}function DelayLoadedTextureUniform(e,t,i){this._value=void 0,this._textureId=e.index,this._textures=t,this._defaultTexture=i}function getTextureUniformFunction(e,t,i){var r=new DelayLoadedTextureUniform(e,t,i);return r.func=function(){return r.value},r}ModelUtility.getTransform=function(e,t){return defined(e.matrix)?Matrix4.fromColumnMajorArray(e.matrix,t):Matrix4.fromTranslationQuaternionRotationScale(Cartesian3.fromArray(e.translation,0,nodeTranslationScratch),Quaternion.unpack(e.rotation,0,nodeQuaternionScratch),Cartesian3.fromArray(e.scale,0,nodeScaleScratch),t)},ModelUtility.getUsedExtensions=function(e){var t=e.extensionsUsed,i={};if(defined(t))for(var r=t.length,n=0;n<r;n++)i[t[n]]=!0;return i},ModelUtility.getRequiredExtensions=function(e){var t=e.extensionsRequired,i={};if(defined(t))for(var r=t.length,n=0;n<r;n++)i[t[n]]=!0;return i},ModelUtility.supportedExtensions={AGI_articulations:!0,CESIUM_RTC:!0,EXT_texture_webp:!0,KHR_blend:!0,KHR_binary_glTF:!0,KHR_draco_mesh_compression:!0,KHR_materials_common:!0,KHR_techniques_webgl:!0,KHR_materials_unlit:!0,KHR_materials_pbrSpecularGlossiness:!0,KHR_texture_transform:!0,WEB3D_quantized_attributes:!0},ModelUtility.checkSupportedExtensions=function(e,t){for(var i in e)if(e.hasOwnProperty(i)){if(!ModelUtility.supportedExtensions[i])throw new RuntimeError("Unsupported glTF Extension: "+i);if("EXT_texture_webp"===i&&!1===t)throw new RuntimeError("Loaded model requires WebP but browser does not support it.")}},ModelUtility.checkSupportedGlExtensions=function(e,t){if(defined(e))for(var i=e.length,r=0;r<i;r++){var n=e[r];if("OES_element_index_uint"!==n)throw new RuntimeError("Unsupported WebGL Extension: "+n);if(!t.elementIndexUint)throw new RuntimeError("OES_element_index_uint WebGL extension is not enabled.")}},ModelUtility.modifyShaderForDracoQuantizedAttributes=function(e,t,i,r){var n,a,o,s,l,c,u,d,h,p,m={};for(n in r)!r.hasOwnProperty(n)||defined(a=(u=r[n]).quantization)&&(o=getAttributeVariableName(e,t,n),"_"===n.charAt(0)&&(n=n.substring(1)),defined(m[h="gltf_u_dec_"+n.toLowerCase()])||(s="gltf_decoded_"+n,l=o.replace("a_","gltf_a_dec_"),p=u.componentsPerAttribute,i=replaceAllButFirstInString(i,o,l),i=(c=a.octEncoded?"vec3":1<p?"vec"+p:"float")+" "+l+";\n"+i,(u=3===p&&"COLOR_0"===n)&&(i=replaceAllButFirstInString(i,l,"vec4("+l+", 1.0)")),p="",p=a.octEncoded?(i="uniform float "+(d=h+"_rangeConstant")+";\n"+i,"\nvoid main() {\n "+l+" = czm_octDecode("+o+".xy, "+d+").zxy;\n "+s+"();\n}\n"):(i="uniform float "+(d=h+"_normConstant")+";\nuniform "+c+" "+(h=h+"_min")+";\n"+i,"\nvoid main() {\n "+l+" = "+h+" + "+o+(u?".xyz":"")+" * "+d+";\n "+s+"();\n}\n"),i=ShaderSource.replaceMain(i,s),i+=p));return{shader:i}},ModelUtility.modifyShaderForQuantizedAttributes=function(e,t,i){var r,n,a,o,s,l,c,u,d,h,p={},m=t.attributes;for(r in m)m.hasOwnProperty(r)&&(n=getAttributeVariableName(e,t,r),u=t.attributes[r],"_"===r.charAt(0)&&(r=r.substring(1)),o=(a="gltf_u_dec_"+r.toLowerCase())+"_scale",s=a+"_translate",defined(p[a])||defined(p[o])||defined(d=getQuantizedAttributes(e,u))&&(h=d.decodeMatrix,l="gltf_decoded_"+r,c=n.replace("a_","gltf_a_dec_"),i=(d=2<(u=Math.floor(Math.sqrt(h.length)))?"vec"+(u-1):"float")+" "+c+";\n"+(i=replaceAllButFirstInString(i,n,c)),h="",5===u?(i="uniform vec4 "+s+";\n"+(i="uniform mat4 "+o+";\n"+i),h="\nvoid main() {\n "+c+" = "+o+" * "+n+" + "+s+";\n "+l+"();\n}\n",p[o]={mat:4},p[s]={vec:4}):(i="uniform mat"+u+" "+a+";\n"+i,h="\nvoid main() {\n "+c+" = "+d+"("+a+" * vec"+u+"("+n+",1.0));\n "+l+"();\n}\n",p[a]={mat:u}),i=ShaderSource.replaceMain(i,l),i+=h));return{shader:i,uniforms:p}},Object.defineProperties(DelayLoadedTextureUniform.prototype,{value:{get:function(){if(!defined(this._value)){var e=this._textures[this._textureId];if(!defined(e))return this._defaultTexture;this._value=e}return this._value},set:function(e){this._value=e}}}),DelayLoadedTextureUniform.prototype.clone=function(e){return e},DelayLoadedTextureUniform.prototype.func=void 0;var gltfUniformFunctions={};function scaleFromMatrix5Array(e){return[e[0],e[1],e[2],e[3],e[5],e[6],e[7],e[8],e[10],e[11],e[12],e[13],e[15],e[16],e[17],e[18]]}function translateFromMatrix5Array(e){return[e[20],e[21],e[22],e[23]]}gltfUniformFunctions[WebGLConstants$1.FLOAT]=getScalarUniformFunction,gltfUniformFunctions[WebGLConstants$1.FLOAT_VEC2]=getVec2UniformFunction,gltfUniformFunctions[WebGLConstants$1.FLOAT_VEC3]=getVec3UniformFunction,gltfUniformFunctions[WebGLConstants$1.FLOAT_VEC4]=getVec4UniformFunction,gltfUniformFunctions[WebGLConstants$1.INT]=getScalarUniformFunction,gltfUniformFunctions[WebGLConstants$1.INT_VEC2]=getVec2UniformFunction,gltfUniformFunctions[WebGLConstants$1.INT_VEC3]=getVec3UniformFunction,gltfUniformFunctions[WebGLConstants$1.INT_VEC4]=getVec4UniformFunction,gltfUniformFunctions[WebGLConstants$1.BOOL]=getScalarUniformFunction,gltfUniformFunctions[WebGLConstants$1.BOOL_VEC2]=getVec2UniformFunction,gltfUniformFunctions[WebGLConstants$1.BOOL_VEC3]=getVec3UniformFunction,gltfUniformFunctions[WebGLConstants$1.BOOL_VEC4]=getVec4UniformFunction,gltfUniformFunctions[WebGLConstants$1.FLOAT_MAT2]=getMat2UniformFunction,gltfUniformFunctions[WebGLConstants$1.FLOAT_MAT3]=getMat3UniformFunction,gltfUniformFunctions[WebGLConstants$1.FLOAT_MAT4]=getMat4UniformFunction,gltfUniformFunctions[WebGLConstants$1.SAMPLER_2D]=getTextureUniformFunction,ModelUtility.createUniformFunction=function(e,t,i,r){return gltfUniformFunctions[e](t,i,r)},ModelUtility.createUniformsForDracoQuantizedAttributes=function(e){var t,i={};for(t in e)if(e.hasOwnProperty(t)){var r=e[t],n=r.quantization;if(defined(n)){"_"===t.charAt(0)&&(t=t.substring(1));var a="gltf_u_dec_"+t.toLowerCase();if(n.octEncoded){var o=a+"_rangeConstant",s=(1<<n.quantizationBits)-1;i[o]=getScalarUniformFunction(s).func}else{o=a+"_normConstant",s=n.range/(1<<n.quantizationBits);i[o]=getScalarUniformFunction(s).func;var l=a+"_min";switch(r.componentsPerAttribute){case 1:i[l]=getScalarUniformFunction(n.minValues).func;break;case 2:i[l]=getVec2UniformFunction(n.minValues).func;break;case 3:i[l]=getVec3UniformFunction(n.minValues).func;break;case 4:i[l]=getVec4UniformFunction(n.minValues).func}}}}return i},ModelUtility.createUniformsForQuantizedAttributes=function(e,t,i){var r,n,a,o=e.accessors,s={},l={},c=t.attributes;for(r in c)if(c.hasOwnProperty(r)){var u=o[c[r]],d=u.extensions;if("_"===r.charAt(0)&&(r=r.substring(1)),defined(d)){d=d.WEB3D_quantized_attributes;if(defined(d)){var h=d.decodeMatrix,p="gltf_u_dec_"+r.toLowerCase();switch(u.type){case AttributeType$1.SCALAR:l[p]=getMat2UniformFunction(h).func,s[p]=!0;break;case AttributeType$1.VEC2:l[p]=getMat3UniformFunction(h).func,s[p]=!0;break;case AttributeType$1.VEC3:l[p]=getMat4UniformFunction(h).func,s[p]=!0;break;case AttributeType$1.VEC4:var m=p+"_scale",f=p+"_translate";l[m]=getMat4UniformFunction(scaleFromMatrix5Array(h)).func,l[f]=getVec4UniformFunction(translateFromMatrix5Array(h)).func,s[m]=!0,s[f]=!0}}}}for(n in i)i.hasOwnProperty(n)&&(s[n]||(defined((a=i[n]).mat)&&(2===a.mat?l[n]=getMat2UniformFunction(Matrix2.IDENTITY).func:3===a.mat?l[n]=getMat3UniformFunction(Matrix3.IDENTITY).func:4===a.mat&&(l[n]=getMat4UniformFunction(Matrix4.IDENTITY).func)),defined(a.vec)&&4===a.vec&&(l[n]=getVec4UniformFunction([0,0,0,0]).func)));return l};var scratchTranslationRtc=new Cartesian3,gltfSemanticUniforms={MODEL:function(e,t){return function(){return e.model}},VIEW:function(e,t){return function(){return e.view}},PROJECTION:function(e,t){return function(){return e.projection}},MODELVIEW:function(e,t){return function(){return e.modelView}},CESIUM_RTC_MODELVIEW:function(e,t){var i=new Matrix4;return function(){return defined(t._rtcCenter)?(Matrix4.getTranslation(e.model,scratchTranslationRtc),Cartesian3.add(scratchTranslationRtc,t._rtcCenter,scratchTranslationRtc),Matrix4.multiplyByPoint(e.view,scratchTranslationRtc,scratchTranslationRtc),Matrix4.setTranslation(e.modelView,scratchTranslationRtc,i)):e.modelView}},MODELVIEWPROJECTION:function(e,t){return function(){return e.modelViewProjection}},MODELINVERSE:function(e,t){return function(){return e.inverseModel}},VIEWINVERSE:function(e,t){return function(){return e.inverseView}},PROJECTIONINVERSE:function(e,t){return function(){return e.inverseProjection}},MODELVIEWINVERSE:function(e,t){return function(){return e.inverseModelView}},MODELVIEWPROJECTIONINVERSE:function(e,t){return function(){return e.inverseModelViewProjection}},MODELINVERSETRANSPOSE:function(e,t){return function(){return e.inverseTransposeModel}},MODELVIEWINVERSETRANSPOSE:function(e,t){return function(){return e.normal}},VIEWPORT:function(e,t){return function(){return e.viewportCartesian4}}};function processModelMaterialsCommon(l,c){if(c=defaultValue(c,defaultValue.EMPTY_OBJECT),defined(l)&&hasExtension(l,"KHR_materials_common")){hasExtension(l,"KHR_techniques_webgl")||(defined(l.extensions)||(l.extensions={}),l.extensions.KHR_techniques_webgl={programs:[],shaders:[],techniques:[]},l.extensionsUsed.push("KHR_techniques_webgl"),l.extensionsRequired.push("KHR_techniques_webgl"));var u=l.extensions.KHR_techniques_webgl;lightDefaults(l);var d=generateLightParameters(l),h=ModelUtility.splitIncompatibleMaterials(l),p={},m=!1;return(ForEach.material(l,function(e,t){if(defined(e.extensions)&&defined(e.extensions.KHR_materials_common)){var i=e.extensions.KHR_materials_common,r=h[t],n=getTechniqueKey(i,r),t=p[n];defined(t)||(t=generateTechnique(l,u,r,i,d,c.addBatchIdToGeneratedShaders),p[n]=t,m=!0);var a,o={},s=i.values;for(a in s)s.hasOwnProperty(a)&&"transparent"!==a&&"doubleSided"!==a&&(o["u_"+a.toLowerCase()]=s[a]);e.extensions.KHR_techniques_webgl={technique:t,values:o},e.alphaMode="OPAQUE",i.transparent&&(e.alphaMode="BLEND"),i.doubleSided&&(e.doubleSided=!0)}}),m)?(ModelUtility.ensureSemanticExistence(l),l):l}}function generateLightParameters(e){var t,i={};if(defined(e.extensions)&&defined(e.extensions.KHR_materials_common)&&(t=e.extensions.KHR_materials_common.lights),defined(t)){var r,n,a,o=e.nodes;for(r in o)!o.hasOwnProperty(r)||defined((n=o[r]).extensions)&&defined(n.extensions.KHR_materials_common)&&(defined(a=n.extensions.KHR_materials_common.light)&&defined(t[a])&&(t[a].node=r),delete n.extensions.KHR_materials_common);var s,l=0;for(s in t)if(t.hasOwnProperty(s)){var c=t[s],u=c.type;if("ambient"===u||defined(c.node)){var d="light"+l.toString();switch(c.baseName=d,u){case"ambient":var h=c.ambient;i[d+"Color"]={type:WebGLConstants$1.FLOAT_VEC3,value:h.color};break;case"directional":h=c.directional;i[d+"Color"]={type:WebGLConstants$1.FLOAT_VEC3,value:h.color},defined(c.node)&&(i[d+"Transform"]={node:c.node,semantic:"MODELVIEW",type:WebGLConstants$1.FLOAT_MAT4});break;case"point":var p=c.point;i[d+"Color"]={type:WebGLConstants$1.FLOAT_VEC3,value:p.color},defined(c.node)&&(i[d+"Transform"]={node:c.node,semantic:"MODELVIEW",type:WebGLConstants$1.FLOAT_MAT4}),i[d+"Attenuation"]={type:WebGLConstants$1.FLOAT_VEC3,value:[p.constantAttenuation,p.linearAttenuation,p.quadraticAttenuation]};break;case"spot":p=c.spot;i[d+"Color"]={type:WebGLConstants$1.FLOAT_VEC3,value:p.color},defined(c.node)&&(i[d+"Transform"]={node:c.node,semantic:"MODELVIEW",type:WebGLConstants$1.FLOAT_MAT4},i[d+"InverseTransform"]={node:c.node,semantic:"MODELVIEWINVERSE",type:WebGLConstants$1.FLOAT_MAT4,useInFragment:!0}),i[d+"Attenuation"]={type:WebGLConstants$1.FLOAT_VEC3,value:[p.constantAttenuation,p.linearAttenuation,p.quadraticAttenuation]},i[d+"FallOff"]={type:WebGLConstants$1.FLOAT_VEC2,value:[p.fallOffAngle,p.fallOffExponent]}}++l}else delete t[s]}}return i}function generateTechnique(e,t,i,r,n,a){defined(r)||(r={}),a=defaultValue(a,!1);var o,s=t.techniques,l=t.shaders,c=t.programs,u=r.technique.toUpperCase();defined(e.extensions)&&defined(e.extensions.KHR_materials_common)&&(o=e.extensions.KHR_materials_common.lights);var d=r.values,h=defaultValue(r.jointCount,0),p=!1,t=!1;defined(i)&&(p=i.skinning.skinned,t=i.hasVertexColors);var m="precision highp float;\n",f="precision highp float;\n",g="CONSTANT"!==u,_={u_modelViewMatrix:{semantic:hasExtension(e,"CESIUM_RTC")?"CESIUM_RTC_MODELVIEW":"MODELVIEW",type:WebGLConstants$1.FLOAT_MAT4},u_projectionMatrix:{semantic:"PROJECTION",type:WebGLConstants$1.FLOAT_MAT4}};g&&(_.u_normalMatrix={semantic:"MODELVIEWINVERSETRANSPOSE",type:WebGLConstants$1.FLOAT_MAT3}),p&&(_.u_jointMatrix={count:h,semantic:"JOINTMATRIX",type:WebGLConstants$1.FLOAT_MAT4});var y,C,v,S,T,b=!1;for(y in d)d.hasOwnProperty(y)&&"transparent"!==y&&"doubleSided"!==y&&(C=getKHRMaterialsCommonValueType(y,d[y]),v="u_"+y.toLowerCase(),b||C!==WebGLConstants$1.SAMPLER_2D||(b=!0),_[v]={type:C});if(defined(_.u_diffuse)&&(_.u_diffuse.semantic="_3DTILESDIFFUSE"),defined(n))for(var x in n)n.hasOwnProperty(x)&&(_[v="u_"+x]=n[x]);for(v in _)_.hasOwnProperty(v)&&(T=defined((S=_[v]).count)?"["+S.count+"]":"",S.type!==WebGLConstants$1.FLOAT_MAT3&&S.type!==WebGLConstants$1.FLOAT_MAT4||S.useInFragment?(f+="uniform "+webGLConstantToGlslType(S.type)+" "+v+T+";\n",delete S.useInFragment):m+="uniform "+webGLConstantToGlslType(S.type)+" "+v+T+";\n");var E="";p&&(E+=" mat4 skinMatrix =\n a_weight.x * u_jointMatrix[int(a_joint.x)] +\n a_weight.y * u_jointMatrix[int(a_joint.y)] +\n a_weight.z * u_jointMatrix[int(a_joint.z)] +\n a_weight.w * u_jointMatrix[int(a_joint.w)];\n");var P,h={a_position:{semantic:"POSITION"}};m+="attribute vec3 a_position;\n",m+="varying vec3 v_positionEC;\n",E+=p?" vec4 pos = u_modelViewMatrix * skinMatrix * vec4(a_position,1.0);\n":" vec4 pos = u_modelViewMatrix * vec4(a_position,1.0);\n",E+=" v_positionEC = pos.xyz;\n",E+=" gl_Position = u_projectionMatrix * pos;\n",f+="varying vec3 v_positionEC;\n",g&&(h.a_normal={semantic:"NORMAL"},m+="attribute vec3 a_normal;\n",m+="varying vec3 v_normal;\n",E+=p?" v_normal = u_normalMatrix * mat3(skinMatrix) * a_normal;\n":" v_normal = u_normalMatrix * a_normal;\n",f+="varying vec3 v_normal;\n"),b&&(h.a_texcoord_0={semantic:"TEXCOORD_0"},m+="attribute vec2 a_texcoord_0;\n",m+="varying vec2 "+(P="v_texcoord_0")+";\n",E+=" "+P+" = a_texcoord_0;\n",f+="varying vec2 "+P+";\n"),p&&(h.a_joint={semantic:"JOINTS_0"},h.a_weight={semantic:"WEIGHTS_0"},m+="attribute vec4 a_joint;\n",m+="attribute vec4 a_weight;\n"),t&&(h.a_vertexColor={semantic:"COLOR_0"},m+="attribute vec4 a_vertexColor;\n",m+="varying vec4 v_vertexColor;\n",E+=" v_vertexColor = a_vertexColor;\n",f+="varying vec4 v_vertexColor;\n"),a&&(h.a_batchId={semantic:"_BATCHID"},m+="attribute float a_batchId;\n");var A,w,D,M,I,R,O=g&&("BLINN"===u||"PHONG"===u)&&defined(_.u_specular)&&defined(_.u_shininess)&&0<_.u_shininess,L=!1,F=!1,N="";for(A in o)o.hasOwnProperty(A)&&(w=(R=o[A]).type.toLowerCase(),N+=" {\n",M="u_"+(D=R.baseName)+"Color","ambient"===w?(F=!0,N+=" ambientLight += "+M+";\n"):g&&(L=!0,I="v_"+D+"Direction",R="v_"+D+"Position","point"!==w&&(m+="varying vec3 "+I+";\n",f+="varying vec3 "+I+";\n",E+=" "+I+" = mat3(u_"+D+"Transform) * vec3(0.,0.,1.);\n","directional"===w&&(N+=" vec3 l = normalize("+I+");\n")),"directional"!==w?(m+="varying vec3 "+R+";\n",f+="varying vec3 "+R+";\n",E+=" "+R+" = u_"+D+"Transform[3].xyz;\n",N+=" vec3 VP = "+R+" - v_positionEC;\n",N+=" vec3 l = normalize(VP);\n",N+=" float range = length(VP);\n",N+=" float attenuation = 1.0 / (u_"+D+"Attenuation.x + ",N+="(u_"+D+"Attenuation.y * range) + ",N+="(u_"+D+"Attenuation.z * range * range));\n"):N+=" float attenuation = 1.0;\n","spot"===w&&(N+=" float spotDot = dot(l, normalize("+I+"));\n",N+=" if (spotDot < cos(u_"+D+"FallOff.x * 0.5))\n",N+=" {\n",N+=" attenuation = 0.0;\n",N+=" }\n",N+=" else\n",N+=" {\n",N+=" attenuation *= max(0.0, pow(spotDot, u_"+D+"FallOff.y));\n",N+=" }\n"),N+=" diffuseLight += "+M+"* max(dot(normal,l), 0.) * attenuation;\n",O&&("BLINN"===u?(N+=" vec3 h = normalize(l + viewDir);\n",N+=" float specularIntensity = max(0., pow(max(dot(normal, h), 0.), u_shininess)) * attenuation;\n"):(N+=" vec3 reflectDir = reflect(-l, normal);\n",N+=" float specularIntensity = max(0., pow(max(dot(reflectDir, viewDir), 0.), u_shininess)) * attenuation;\n"),N+=" specularLight += "+M+" * specularIntensity;\n")),N+=" }\n");F||(N+=" ambientLight += vec3(0.2, 0.2, 0.2);\n"),L||"CONSTANT"===u||(f+="#ifdef USE_CUSTOM_LIGHT_COLOR \n",f+="uniform vec3 gltf_lightColor; \n",f+="#endif \n",N+="#ifndef USE_CUSTOM_LIGHT_COLOR \n",N+=" vec3 lightColor = czm_lightColor;\n",N+="#else \n",N+=" vec3 lightColor = gltf_lightColor;\n",N+="#endif \n",N+=" vec3 l = normalize(czm_lightDirectionEC);\n",N+=" diffuseLight += lightColor * max(dot(normal,l), 0.2);\n",O&&("BLINN"===u?(N+=" vec3 h = normalize(l + viewDir);\n",N+=" float specularIntensity = max(0., pow(max(dot(normal, h), 0.), u_shininess));\n"):(N+=" vec3 reflectDir = reflect(-l, normal);\n",N+=" float specularIntensity = max(0., pow(max(dot(reflectDir, viewDir), 0.), u_shininess));\n"),N+=" specularLight += lightColor * specularIntensity;\n")),m+="void main(void) {\n",m+=E,m+="}\n",f+="void main(void) {\n";a=" vec3 color = vec3(0.0, 0.0, 0.0);\n";g&&(f+=" vec3 normal = normalize(v_normal);\n",r.doubleSided&&(f+=" if (czm_backFacing())\n",f+=" {\n",f+=" normal = -normal;\n",f+=" }\n")),r="CONSTANT"!==u?(defined(_.u_diffuse)&&(_.u_diffuse.type===WebGLConstants$1.SAMPLER_2D?f+=" vec4 diffuse = texture2D(u_diffuse, "+P+");\n":f+=" vec4 diffuse = u_diffuse;\n",f+=" vec3 diffuseLight = vec3(0.0, 0.0, 0.0);\n",a+=" color += diffuse.rgb * diffuseLight;\n"),O&&(_.u_specular.type===WebGLConstants$1.SAMPLER_2D?f+=" vec3 specular = texture2D(u_specular, "+P+").rgb;\n":f+=" vec3 specular = u_specular.rgb;\n",f+=" vec3 specularLight = vec3(0.0, 0.0, 0.0);\n",a+=" color += specular * specularLight;\n"),defined(_.u_transparency)?" gl_FragColor = vec4(color * diffuse.a * u_transparency, diffuse.a * u_transparency);\n":" gl_FragColor = vec4(color * diffuse.a, diffuse.a);\n"):defined(_.u_transparency)?" gl_FragColor = vec4(color * u_transparency, u_transparency);\n":" gl_FragColor = vec4(color, 1.0);\n",t&&(a+=" color *= v_vertexColor.rgb;\n"),defined(_.u_emission)&&(_.u_emission.type===WebGLConstants$1.SAMPLER_2D?f+=" vec3 emission = texture2D(u_emission, "+P+").rgb;\n":f+=" vec3 emission = u_emission.rgb;\n",a+=" color += emission;\n"),!defined(_.u_ambient)&&"CONSTANT"===u||(defined(_.u_ambient)?_.u_ambient.type===WebGLConstants$1.SAMPLER_2D?f+=" vec3 ambient = texture2D(u_ambient, "+P+").rgb;\n":f+=" vec3 ambient = u_ambient.rgb;\n":f+=" vec3 ambient = diffuse.rgb;\n",a+=" color += ambient * ambientLight;\n"),f+=" vec3 viewDir = -normalize(v_positionEC);\n",f+=" vec3 ambientLight = vec3(0.0, 0.0, 0.0);\n",f+=N,f+=a,f+=r,f+="}\n";r=addToArray(l,{type:WebGLConstants$1.VERTEX_SHADER,extras:{_pipeline:{source:m,extension:".glsl"}}}),l=addToArray(l,{type:WebGLConstants$1.FRAGMENT_SHADER,extras:{_pipeline:{source:f,extension:".glsl"}}}),r=addToArray(c,{fragmentShader:l,vertexShader:r});return addToArray(s,{attributes:h,program:r,uniforms:_})}function getKHRMaterialsCommonValueType(e,t){var i=defined(t.value)?t.value:defined(t.index)?[t.index]:t;switch(e){case"ambient":case"diffuse":case"emission":case"specular":return 1===i.length?WebGLConstants$1.SAMPLER_2D:WebGLConstants$1.FLOAT_VEC4;case"shininess":case"transparency":return WebGLConstants$1.FLOAT;case"transparent":case"doubleSided":return WebGLConstants$1.BOOL}}function getTechniqueKey(e,t){var i="";i+="technique:"+e.technique+";";for(var r=e.values,n=Object.keys(r).sort(),a=n.length,o=0;o<a;++o){var s=n[o];r.hasOwnProperty(s)&&(i+=s+":"+getKHRMaterialsCommonValueType(s,r[s]),i+=";")}var l=defaultValue(e.jointCount,0);return i+=l.toString()+";",defined(t)&&(e=t.skinning,0<l&&(i+=e.type+";"),i+=t.hasVertexColors),i}function lightDefaults(e){e=e.extensions.KHR_materials_common;if(defined(e)&&defined(e.lights))for(var t=e.lights,i=t.length,r=0;r<i;r++){var n,a,o=t[r];"ambient"===o.type?(defined(o.ambient)||(o.ambient={}),defined((n=o.ambient).color)||(n.color=[1,1,1])):"directional"===o.type?(defined(o.directional)||(o.directional={}),defined((a=o.directional).color)||(a.color=[1,1,1])):"point"===o.type?(defined(o.point)||(o.point={}),defined((a=o.point).color)||(a.color=[1,1,1]),a.constantAttenuation=defaultValue(a.constantAttenuation,1),a.linearAttenuation=defaultValue(a.linearAttenuation,0),a.quadraticAttenuation=defaultValue(a.quadraticAttenuation,0)):"spot"===o.type&&(defined(o.spot)||(o.spot={}),defined((o=o.spot).color)||(o.color=[1,1,1]),o.constantAttenuation=defaultValue(o.constantAttenuation,1),o.fallOffAngle=defaultValue(o.fallOffAngle,3.14159265),o.fallOffExponent=defaultValue(o.fallOffExponent,0),o.linearAttenuation=defaultValue(o.linearAttenuation,0),o.quadraticAttenuation=defaultValue(o.quadraticAttenuation,0))}}function processPbrMaterials(r,n){if(n=defaultValue(n,defaultValue.EMPTY_OBJECT),hasExtension(r,"KHR_techniques_webgl"))return r;if(!defined(r.materials)||0===r.materials.length)return r;defined(r.extensions)||(r.extensions={}),defined(r.extensionsUsed)||(r.extensionsUsed=[]),defined(r.extensionsRequired)||(r.extensionsRequired=[]),r.extensions.KHR_techniques_webgl={programs:[],shaders:[],techniques:[]},r.extensionsUsed.push("KHR_techniques_webgl"),r.extensionsRequired.push("KHR_techniques_webgl");var a=ModelUtility.splitIncompatibleMaterials(r);return ForEach.material(r,function(e,t){var i={},t=generateTechnique$1(r,e,t,i,a,n);defined(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl={values:i,technique:t}}),ModelUtility.ensureSemanticExistence(r),r}function isSpecularGlossinessMaterial(e){return defined(e.extensions)&&defined(e.extensions.KHR_materials_pbrSpecularGlossiness)}function addTextureCoordinates(e,t,i,r,n){var a,o=i[t];return defined(o)&&defined(o.texCoord)&&1===o.texCoord&&(r=r.replace("0","1")),defined(i[t+"Offset"])?(a=t+"Coord",n.fragmentShaderMain+=" vec2 "+a+" = computeTexCoord("+r+", "+t+"Offset, "+t+"Rotation, "+t+"Scale);\n"):a=r,a}ModelUtility.getGltfSemanticUniforms=function(){return gltfSemanticUniforms};var DEFAULT_TEXTURE_OFFSET=[0,0],DEFAULT_TEXTURE_ROTATION=[0],DEFAULT_TEXTURE_SCALE=[1,1];function handleKHRTextureTransform(e,t,i){var r;-1!==e.indexOf("Texture")&&defined(t.extensions)&&defined(t.extensions.KHR_texture_transform)&&(r="u_"+e,e=t.extensions.KHR_texture_transform,i[r+"Offset"]=defaultValue(e.offset,DEFAULT_TEXTURE_OFFSET),i[r+"Rotation"]=defaultValue(e.rotation,DEFAULT_TEXTURE_ROTATION),i[r+"Scale"]=defaultValue(e.scale,DEFAULT_TEXTURE_SCALE),defined(t.texCoord)&&defined(e.texCoord)&&(i[r].texCoord=e.texCoord))}function generateTechnique$1(e,t,i,r,n,a){var o,s,l,c,u=defaultValue(a.addBatchIdToGeneratedShaders,!1),d=e.extensions.KHR_techniques_webgl,h=d.techniques,p=d.shaders,m=d.programs,f=isSpecularGlossinessMaterial(t),g=t.pbrMetallicRoughness;if(defined(g)&&!f)for(s in g)g.hasOwnProperty(s)&&(l=g[s],handleKHRTextureTransform(s,r[o="u_"+s]=l,r));if(f){var _=t.extensions.KHR_materials_pbrSpecularGlossiness;for(s in _)_.hasOwnProperty(s)&&(l=_[s],handleKHRTextureTransform(s,r[o="u_"+s]=l,r))}for(c in t)t.hasOwnProperty(c)&&(0<=c.indexOf("Texture")||0<=c.indexOf("Factor"))&&(l=t[c],handleKHRTextureTransform(c,r[o="u_"+c]=l,r));var y="precision highp float;\n",C="precision highp float;\n";defined(e.skins)&&(D=e.skins[0]);var v,S=defined(D)?D.joints:[],T=S.length,b=n[i],x=!1,E=!1,P=!1,A=!1,w=!1,a=!1,d=!1,D=!1,n=!1;defined(b)&&(x=b.skinning.skinned&&0<S.length,E=b.hasVertexColors,P=b.hasMorphTargets,A=b.hasNormals,w=b.hasTangents,a=b.hasTexCoords,d=b.hasTexCoord1,D=b.hasOutline),P&&ForEach.mesh(e,function(e){ForEach.meshPrimitive(e,function(e){e.material!==i||defined(e=e.targets)&&(v=e)})});var M={u_modelViewMatrix:{semantic:hasExtension(e,"CESIUM_RTC")?"CESIUM_RTC_MODELVIEW":"MODELVIEW",type:WebGLConstants$1.FLOAT_MAT4},u_projectionMatrix:{semantic:"PROJECTION",type:WebGLConstants$1.FLOAT_MAT4}};defined(t.extensions)&&defined(t.extensions.KHR_materials_unlit)&&(n=!0),A&&(M.u_normalMatrix={semantic:"MODELVIEWINVERSETRANSPOSE",type:WebGLConstants$1.FLOAT_MAT3}),x&&(M.u_jointMatrix={count:T,semantic:"JOINTMATRIX",type:WebGLConstants$1.FLOAT_MAT4}),P&&(M.u_morphWeights={count:v.length,semantic:"MORPHWEIGHTS",type:WebGLConstants$1.FLOAT});b=t.alphaMode;for(o in defined(b)&&"MASK"===b&&(M.u_alphaCutoff={semantic:"ALPHACUTOFF",type:WebGLConstants$1.FLOAT}),r)r.hasOwnProperty(o)&&(M[o]={type:getPBRValueType(o)});var I,R,T=defaultValue(M.u_baseColorTexture,M.u_baseColorFactor);for(o in defined(T)&&(T.semantic="_3DTILESDIFFUSE"),M)M.hasOwnProperty(o)&&(R=defined((I=M[o]).count)?"["+I.count+"]":"",I.type!==WebGLConstants$1.FLOAT_MAT3&&I.type!==WebGLConstants$1.FLOAT_MAT4&&"u_morphWeights"!==o||I.useInFragment?(C+="uniform "+webGLConstantToGlslType(I.type)+" "+o+R+";\n",delete I.useInFragment):y+="uniform "+webGLConstantToGlslType(I.type)+" "+o+R+";\n");D&&(C+="uniform sampler2D u_outlineTexture;\n");var O="";x&&(O+=" mat4 skinMatrix =\n a_weight.x * u_jointMatrix[int(a_joint.x)] +\n a_weight.y * u_jointMatrix[int(a_joint.y)] +\n a_weight.z * u_jointMatrix[int(a_joint.z)] +\n a_weight.w * u_jointMatrix[int(a_joint.w)];\n");var L={a_position:{semantic:"POSITION"}};if(D&&(L.a_outlineCoordinates={semantic:"_OUTLINE_COORDINATES"}),y+="attribute vec3 a_position;\n",A&&(y+="varying vec3 v_positionEC;\n"),D&&(y+="attribute vec3 a_outlineCoordinates;\n",y+="varying vec3 v_outlineCoordinates;\n"),O+=" vec3 weightedPosition = a_position;\n",A&&(O+=" vec3 weightedNormal = a_normal;\n"),w&&(O+=" vec4 weightedTangent = a_tangent;\n"),P)for(var F=0;F<v.length;F++){var N,B,V=v[F];for(N in V)V.hasOwnProperty(N)&&"extras"!==N&&(L[B="a_"+N+"_"+F]={semantic:N+"_"+F},y+="attribute vec3 "+B+";\n","POSITION"===N?O+=" weightedPosition += u_morphWeights["+F+"] * "+B+";\n":"NORMAL"===N?O+=" weightedNormal += u_morphWeights["+F+"] * "+B+";\n":w&&"TANGENT"===N&&(O+=" weightedTangent.xyz += u_morphWeights["+F+"] * "+B+";\n"))}O+=x?" vec4 position = skinMatrix * vec4(weightedPosition, 1.0);\n":" vec4 position = vec4(weightedPosition, 1.0);\n",O+=" position = u_modelViewMatrix * position;\n",A&&(O+=" v_positionEC = position.xyz;\n"),O+=" gl_Position = u_projectionMatrix * position;\n",D&&(O+=" v_outlineCoordinates = a_outlineCoordinates;\n"),A&&(L.a_normal={semantic:"NORMAL"},y+="attribute vec3 a_normal;\n",n||(y+="varying vec3 v_normal;\n",O+=x?" v_normal = u_normalMatrix * mat3(skinMatrix) * weightedNormal;\n":" v_normal = u_normalMatrix * weightedNormal;\n",C+="varying vec3 v_normal;\n"),C+="varying vec3 v_positionEC;\n"),w&&(L.a_tangent={semantic:"TANGENT"},y+="attribute vec4 a_tangent;\n",y+="varying vec4 v_tangent;\n",O+=" v_tangent.xyz = u_normalMatrix * weightedTangent.xyz;\n",O+=" v_tangent.w = weightedTangent.w;\n",C+="varying vec4 v_tangent;\n"),D&&(C+="varying vec3 v_outlineCoordinates;\n");var k,z,U,$,G,H,W,P="";a&&(L.a_texcoord_0={semantic:"TEXCOORD_0"},y+="attribute vec2 a_texcoord_0;\n",y+="varying vec2 "+(W="v_texcoord_0")+";\n",O+=" "+W+" = a_texcoord_0;\n",C+="varying vec2 "+W+";\n",d&&(L.a_texcoord_1={semantic:"TEXCOORD_1"},y+="attribute vec2 a_texcoord_1;\n",y+="varying vec2 "+(H=W.replace("0","1"))+";\n",O+=" "+H+" = a_texcoord_1;\n",C+="varying vec2 "+H+";\n"),k=addTextureCoordinates(e,"u_normalTexture",r,W,d={fragmentShaderMain:P}),z=addTextureCoordinates(e,"u_baseColorTexture",r,W,d),U=addTextureCoordinates(e,"u_specularGlossinessTexture",r,W,d),$=addTextureCoordinates(e,"u_diffuseTexture",r,W,d),G=addTextureCoordinates(e,"u_metallicRoughnessTexture",r,W,d),H=addTextureCoordinates(e,"u_occlusionTexture",r,W,d),W=addTextureCoordinates(e,"u_emissiveTexture",r,W,d),P=d.fragmentShaderMain),x&&(L.a_joint={semantic:"JOINTS_0"},L.a_weight={semantic:"WEIGHTS_0"},y+="attribute vec4 a_joint;\n",y+="attribute vec4 a_weight;\n"),E&&(L.a_vertexColor={semantic:"COLOR_0"},y+="attribute vec4 a_vertexColor;\n",y+="varying vec4 v_vertexColor;\n",O+=" v_vertexColor = a_vertexColor;\n",C+="varying vec4 v_vertexColor;\n"),u&&(L.a_batchId={semantic:"_BATCHID"},y+="attribute float a_batchId;\n"),y+="void main(void) \n{\n",y+=O,y+="}\n",A&&!n&&(C+="const float M_PI = 3.141592653589793;\n",C+="vec3 lambertianDiffuse(vec3 diffuseColor) \n{\n return diffuseColor / M_PI;\n}\n\n",C+="vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n{\n return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0);\n}\n\n",C+="vec3 fresnelSchlick(float metalness, float VdotH) \n{\n return metalness + (vec3(1.0) - metalness) * pow(1.0 - VdotH, 5.0);\n}\n\n",C+="float smithVisibilityG1(float NdotV, float roughness) \n{\n float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n return NdotV / (NdotV * (1.0 - k) + k);\n}\n\n",C+="float smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n{\n return smithVisibilityG1(NdotL, roughness) * smithVisibilityG1(NdotV, roughness);\n}\n\n",C+="float GGX(float roughness, float NdotH) \n{\n float roughnessSquared = roughness * roughness;\n float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0;\n return roughnessSquared / (M_PI * f * f);\n}\n\n"),C+="vec3 SRGBtoLINEAR3(vec3 srgbIn) \n{\n return pow(srgbIn, vec3(2.2));\n}\n\n",C+="vec4 SRGBtoLINEAR4(vec4 srgbIn) \n{\n vec3 linearOut = pow(srgbIn.rgb, vec3(2.2));\n return vec4(linearOut, srgbIn.a);\n}\n\n",C+="vec3 applyTonemapping(vec3 linearIn) \n{\n#ifndef HDR \n return czm_acesTonemapping(linearIn);\n#else \n return linearIn;\n#endif \n}\n\n",C+="vec3 LINEARtoSRGB(vec3 linearIn) \n{\n#ifndef HDR \n return pow(linearIn, vec3(1.0/2.2));\n#else \n return linearIn;\n#endif \n}\n\n",C+="vec2 computeTexCoord(vec2 texCoords, vec2 offset, float rotation, vec2 scale) \n{\n rotation = -rotation; \n mat3 transform = mat3(\n cos(rotation) * scale.x, sin(rotation) * scale.x, 0.0, \n -sin(rotation) * scale.y, cos(rotation) * scale.y, 0.0, \n offset.x, offset.y, 1.0); \n vec2 transformedTexCoords = (transform * vec3(fract(texCoords), 1.0)).xy; \n return transformedTexCoords; \n}\n\n",C+="#ifdef USE_IBL_LIGHTING \n",C+="uniform vec2 gltf_iblFactor; \n",C+="#endif \n",C+="#ifdef USE_CUSTOM_LIGHT_COLOR \n",C+="uniform vec3 gltf_lightColor; \n",C+="#endif \n",C+="void main(void) \n{\n",C+=P,A&&!n&&(C+=" vec3 ng = normalize(v_normal);\n",C+=" vec3 positionWC = vec3(czm_inverseView * vec4(v_positionEC, 1.0));\n",defined(r.u_normalTexture)?w?(C+=" vec3 t = normalize(v_tangent.xyz);\n",C+=" vec3 b = normalize(cross(ng, t) * v_tangent.w);\n",C+=" mat3 tbn = mat3(t, b, ng);\n",C+=" vec3 n = texture2D(u_normalTexture, "+k+").rgb;\n",C+=" n = normalize(tbn * (2.0 * n - 1.0));\n"):(C="#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\n"+C,C+="#ifdef GL_OES_standard_derivatives\n",C+=" vec3 pos_dx = dFdx(v_positionEC);\n",C+=" vec3 pos_dy = dFdy(v_positionEC);\n",C+=" vec3 tex_dx = dFdx(vec3("+k+",0.0));\n",C+=" vec3 tex_dy = dFdy(vec3("+k+",0.0));\n",C+=" vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n",C+=" t = normalize(t - ng * dot(ng, t));\n",C+=" vec3 b = normalize(cross(ng, t));\n",C+=" mat3 tbn = mat3(t, b, ng);\n",C+=" vec3 n = texture2D(u_normalTexture, "+k+").rgb;\n",C+=" n = normalize(tbn * (2.0 * n - 1.0));\n",C+="#else\n",C+=" vec3 n = ng;\n",C+="#endif\n"):C+=" vec3 n = ng;\n",t.doubleSided&&(C+=" if (czm_backFacing())\n",C+=" {\n",C+=" n = -n;\n",C+=" }\n")),defined(r.u_baseColorTexture)?(C+=" vec4 baseColorWithAlpha = SRGBtoLINEAR4(texture2D(u_baseColorTexture, "+z+"));\n",defined(r.u_baseColorFactor)&&(C+=" baseColorWithAlpha *= u_baseColorFactor;\n")):defined(r.u_baseColorFactor)?C+=" vec4 baseColorWithAlpha = u_baseColorFactor;\n":C+=" vec4 baseColorWithAlpha = vec4(1.0);\n",E&&(C+=" baseColorWithAlpha *= v_vertexColor;\n"),C+=" vec3 baseColor = baseColorWithAlpha.rgb;\n",A&&!n?(f?(defined(r.u_specularGlossinessTexture)?(C+=" vec4 specularGlossiness = SRGBtoLINEAR4(texture2D(u_specularGlossinessTexture, "+U+"));\n",C+=" vec3 specular = specularGlossiness.rgb;\n",C+=" float glossiness = specularGlossiness.a;\n",defined(r.u_specularFactor)&&(C+=" specular *= u_specularFactor;\n"),defined(r.u_glossinessFactor)&&(C+=" glossiness *= u_glossinessFactor;\n")):(defined(r.u_specularFactor)?C+=" vec3 specular = clamp(u_specularFactor, vec3(0.0), vec3(1.0));\n":C+=" vec3 specular = vec3(1.0);\n",defined(r.u_glossinessFactor)?C+=" float glossiness = clamp(u_glossinessFactor, 0.0, 1.0);\n":C+=" float glossiness = 1.0;\n"),defined(r.u_diffuseTexture)?(C+=" vec4 diffuse = SRGBtoLINEAR4(texture2D(u_diffuseTexture, "+$+"));\n",defined(r.u_diffuseFactor)&&(C+=" diffuse *= u_diffuseFactor;\n")):defined(r.u_diffuseFactor)?C+=" vec4 diffuse = clamp(u_diffuseFactor, vec4(0.0), vec4(1.0));\n":C+=" vec4 diffuse = vec4(1.0);\n"):defined(r.u_metallicRoughnessTexture)?(C+=" vec3 metallicRoughness = texture2D(u_metallicRoughnessTexture, "+G+").rgb;\n",C+=" float metalness = clamp(metallicRoughness.b, 0.0, 1.0);\n",C+=" float roughness = clamp(metallicRoughness.g, 0.04, 1.0);\n",defined(r.u_metallicFactor)&&(C+=" metalness *= u_metallicFactor;\n"),defined(r.u_roughnessFactor)&&(C+=" roughness *= u_roughnessFactor;\n")):(defined(r.u_metallicFactor)?C+=" float metalness = clamp(u_metallicFactor, 0.0, 1.0);\n":C+=" float metalness = 1.0;\n",defined(r.u_roughnessFactor)?C+=" float roughness = clamp(u_roughnessFactor, 0.04, 1.0);\n":C+=" float roughness = 1.0;\n"),C+=" vec3 v = -normalize(v_positionEC);\n",C+="#ifndef USE_CUSTOM_LIGHT_COLOR \n",C+=" vec3 lightColorHdr = czm_lightColorHdr;\n",C+="#else \n",C+=" vec3 lightColorHdr = gltf_lightColor;\n",C+="#endif \n",C+=" vec3 l = normalize(czm_lightDirectionEC);\n",C+=" vec3 h = normalize(v + l);\n",C+=" float NdotL = clamp(dot(n, l), 0.001, 1.0);\n",C+=" float NdotV = abs(dot(n, v)) + 0.001;\n",C+=" float NdotH = clamp(dot(n, h), 0.0, 1.0);\n",C+=" float LdotH = clamp(dot(l, h), 0.0, 1.0);\n",C+=" float VdotH = clamp(dot(v, h), 0.0, 1.0);\n",C+=" vec3 f0 = vec3(0.04);\n",f?(C+=" float roughness = 1.0 - glossiness;\n",C+=" vec3 diffuseColor = diffuse.rgb * (1.0 - max(max(specular.r, specular.g), specular.b));\n",C+=" vec3 specularColor = specular;\n"):(C+=" vec3 diffuseColor = baseColor * (1.0 - metalness) * (1.0 - f0);\n",C+=" vec3 specularColor = mix(f0, baseColor, metalness);\n"),C+=" float alpha = roughness * roughness;\n",C+=" float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n",C+=" vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n",C+=" vec3 r0 = specularColor.rgb;\n",C+=" vec3 F = fresnelSchlick2(r0, r90, VdotH);\n",C+=" float G = smithVisibilityGGX(alpha, NdotL, NdotV);\n",C+=" float D = GGX(alpha, NdotH);\n",C+=" vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n",C+=" vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n",C+=" vec3 color = NdotL * lightColorHdr * (diffuseContribution + specularContribution);\n",C+="#if defined(USE_IBL_LIGHTING) && !defined(DIFFUSE_IBL) && !defined(SPECULAR_IBL) \n",C+=" vec3 r = normalize(czm_inverseViewRotation * normalize(reflect(v, n)));\n",C+=" float vertexRadius = length(positionWC);\n",C+=" float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / vertexRadius);\n",C+=" float reflectionDotNadir = dot(r, normalize(positionWC));\n",C+=" r.x = -r.x;\n",C+=" r = -normalize(czm_temeToPseudoFixed * r);\n",C+=" r.x = -r.x;\n",C+=" float inverseRoughness = 1.04 - roughness;\n",C+=" inverseRoughness *= inverseRoughness;\n",C+=" vec3 sceneSkyBox = textureCube(czm_environmentMap, r).rgb * inverseRoughness;\n",C+=" float atmosphereHeight = 0.05;\n",C+=" float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - horizonDotNadir);\n",C+=" float blendRegionOffset = roughness * -1.0;\n",C+=" float farAboveHorizon = clamp(horizonDotNadir - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999);\n",C+=" float aroundHorizon = clamp(horizonDotNadir + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999);\n",C+=" float farBelowHorizon = clamp(horizonDotNadir + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999);\n",C+=" float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir);\n",C+=" vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), smoothstepHeight);\n",C+=" vec3 nadirColor = belowHorizonColor * 0.5;\n",C+=" vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5);\n",C+=" vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, reflectionDotNadir * inverseRoughness * 0.5 + 0.75);\n",C+=" vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, smoothstepHeight);\n",C+=" vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9);\n",C+=" float diffuseIrradianceFromEarth = (1.0 - horizonDotNadir) * (reflectionDotNadir * 0.25 + 0.75) * smoothstepHeight;\n",C+=" float diffuseIrradianceFromSky = (1.0 - smoothstepHeight) * (1.0 - (reflectionDotNadir * 0.25 + 0.25));\n",C+=" vec3 diffuseIrradiance = blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0);\n",C+=" float notDistantRough = (1.0 - horizonDotNadir * roughness * 0.8);\n",C+=" vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, reflectionDotNadir) * notDistantRough);\n",C+=" specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, reflectionDotNadir) * inverseRoughness);\n",C+=" specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, reflectionDotNadir) * inverseRoughness);\n",C+="#ifdef USE_SUN_LUMINANCE \n",C+=" float LdotZenith = clamp(dot(normalize(czm_inverseViewRotation * l), normalize(positionWC * -1.0)), 0.001, 1.0);\n",C+=" float S = acos(LdotZenith);\n",C+=" float NdotZenith = clamp(dot(normalize(czm_inverseViewRotation * n), normalize(positionWC * -1.0)), 0.001, 1.0);\n",C+=" float gamma = acos(NdotL);\n",C+=" float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * pow(NdotL, 2.0)) * (1.0 - exp(-0.32 / NdotZenith)));\n",C+=" float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * pow(LdotZenith,2.0)) * (1.0 - exp(-0.32));\n",C+=" float luminance = gltf_luminanceAtZenith * (numerator / denominator);\n",C+="#endif \n",C+=" vec2 brdfLut = texture2D(czm_brdfLut, vec2(NdotV, roughness)).rg;\n",C+=" vec3 IBLColor = (diffuseIrradiance * diffuseColor * gltf_iblFactor.x) + (specularIrradiance * SRGBtoLINEAR3(specularColor * brdfLut.x + brdfLut.y) * gltf_iblFactor.y);\n",C+=" float maximumComponent = max(max(lightColorHdr.x, lightColorHdr.y), lightColorHdr.z);\n",C+=" vec3 lightColor = lightColorHdr / max(maximumComponent, 1.0);\n",C+=" IBLColor *= lightColor;\n",C+="#ifdef USE_SUN_LUMINANCE \n",C+=" color += IBLColor * luminance;\n",C+="#else \n",C+=" color += IBLColor; \n",C+="#endif \n",C+="#elif defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) \n",C+=" const mat3 yUpToZUp = mat3(-1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0); \n",C+=" vec3 cubeDir = normalize(yUpToZUp * gltf_iblReferenceFrameMatrix * normalize(reflect(-v, n))); \n",C+="#ifdef DIFFUSE_IBL \n",C+="#ifdef CUSTOM_SPHERICAL_HARMONICS \n",C+=" vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, gltf_sphericalHarmonicCoefficients); \n",C+="#else \n",C+=" vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); \n",C+="#endif \n",C+="#else \n",C+=" vec3 diffuseIrradiance = vec3(0.0); \n",C+="#endif \n",C+="#ifdef SPECULAR_IBL \n",C+=" vec2 brdfLut = texture2D(czm_brdfLut, vec2(NdotV, roughness)).rg;\n",C+="#ifdef CUSTOM_SPECULAR_IBL \n",C+=" vec3 specularIBL = czm_sampleOctahedralProjection(gltf_specularMap, gltf_specularMapSize, cubeDir, roughness * gltf_maxSpecularLOD, gltf_maxSpecularLOD);\n",C+="#else \n",C+=" vec3 specularIBL = czm_sampleOctahedralProjection(czm_specularEnvironmentMaps, czm_specularEnvironmentMapSize, cubeDir, roughness * czm_specularEnvironmentMapsMaximumLOD, czm_specularEnvironmentMapsMaximumLOD);\n",C+="#endif \n",C+=" specularIBL *= F * brdfLut.x + brdfLut.y;\n",C+="#else \n",C+=" vec3 specularIBL = vec3(0.0); \n",C+="#endif \n",C+=" color += diffuseIrradiance * diffuseColor + specularColor * specularIBL;\n",C+="#endif \n"):C+=" vec3 color = baseColor;\n",n||(defined(r.u_occlusionTexture)&&(C+=" color *= texture2D(u_occlusionTexture, "+H+").r;\n"),defined(r.u_emissiveTexture)?(C+=" vec3 emissive = SRGBtoLINEAR3(texture2D(u_emissiveTexture, "+W+").rgb);\n",defined(r.u_emissiveFactor)&&(C+=" emissive *= u_emissiveFactor;\n"),C+=" color += emissive;\n"):defined(r.u_emissiveFactor)&&(C+=" color += u_emissiveFactor;\n")),n||(C+=" color = applyTonemapping(color);\n"),C+=" color = LINEARtoSRGB(color);\n",D&&(C+=" float outlineness = max(\n",C+=" texture2D(u_outlineTexture, vec2(v_outlineCoordinates.x, 0.5)).r,\n",C+=" max(\n",C+=" texture2D(u_outlineTexture, vec2(v_outlineCoordinates.y, 0.5)).r,\n",C+=" texture2D(u_outlineTexture, vec2(v_outlineCoordinates.z, 0.5)).r));\n",C+=" color = mix(color, vec3(0.0, 0.0, 0.0), outlineness);\n"),defined(b)?"MASK"===b?(C+=" if (baseColorWithAlpha.a < u_alphaCutoff) {\n",C+=" discard;\n",C+=" }\n",C+=" gl_FragColor = vec4(color, 1.0);\n"):C+="BLEND"===b?" gl_FragColor = vec4(color, baseColorWithAlpha.a);\n":" gl_FragColor = vec4(color, 1.0);\n":C+=" gl_FragColor = vec4(color, 1.0);\n",C+="}\n";b=addToArray(p,{type:WebGLConstants$1.VERTEX_SHADER,extras:{_pipeline:{source:y,extension:".glsl"}}}),p=addToArray(p,{type:WebGLConstants$1.FRAGMENT_SHADER,extras:{_pipeline:{source:C,extension:".glsl"}}}),b=addToArray(m,{fragmentShader:p,vertexShader:b});return addToArray(h,{attributes:L,program:b,uniforms:M})}function getPBRValueType(e){if(-1!==e.indexOf("Offset"))return WebGLConstants$1.FLOAT_VEC2;if(-1!==e.indexOf("Rotation"))return WebGLConstants$1.FLOAT;if(-1!==e.indexOf("Scale"))return WebGLConstants$1.FLOAT_VEC2;if(-1!==e.indexOf("Texture"))return WebGLConstants$1.SAMPLER_2D;switch(e){case"u_baseColorFactor":return WebGLConstants$1.FLOAT_VEC4;case"u_metallicFactor":case"u_roughnessFactor":return WebGLConstants$1.FLOAT;case"u_emissiveFactor":return WebGLConstants$1.FLOAT_VEC3;case"u_diffuseFactor":return WebGLConstants$1.FLOAT_VEC4;case"u_specularFactor":return WebGLConstants$1.FLOAT_VEC3;case"u_glossinessFactor":return WebGLConstants$1.FLOAT}}function Vector3DTileBatch(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var VectorTileVS="attribute vec3 position;\nattribute float a_batchId;\nuniform mat4 u_modifiedModelViewProjection;\nvoid main()\n{\ngl_Position = czm_depthClamp(u_modifiedModelViewProjection * vec4(position, 1.0));\n}\n",tmp$2={},b2d,e2d,f2d,A2d,B2d,D2d,E2d,F2d;function y2d(e,t){var i=new Error(e+" at character "+t);throw i.index=t,i.description=e,i}function C2d(e){var t,i,r=0;for(i in e)(t=i.length)>r&&e.hasOwnProperty(i)&&(r=t);return r}function H2d(e){return B2d[e]||0}function I2d(e,t,i){return{type:"||"===e||"&&"===e?"LogicalExpression":"BinaryExpression",operator:e,left:t,right:i}}function J2d(e){return 48<=e&&e<=57}function K2d(e){return 36===e||95===e||65<=e&&e<=90||97<=e&&e<=122||128<=e&&!B2d[String.fromCharCode(e)]}function M2d(r){for(var e,l=0,t=r.charAt,i=r.charCodeAt,n=function(e){return t.call(r,e)},a=function(e){return i.call(r,e)},o=r.length,s=function(){for(var e=a(l);32===e||9===e;)e=a(++l)},c=function(){var e,t,i=d();return s(),63!==a(l)?i:(l++,(e=c())||y2d("Expected expression",l),s(),58===a(l)?(l++,(t=c())||y2d("Expected expression",l),{type:"ConditionalExpression",test:i,consequent:e,alternate:t}):void y2d("Expected :",l))},u=function(){s();for(var e=r.substr(l,E2d),t=e.length;0<t;){if(B2d.hasOwnProperty(e))return l+=t,e;e=e.substr(0,--t)}return!1},d=function(){var e,t,i,r,n,a,o=h(),s=u();if(!s)return o;for(r={value:s,prec:H2d(s)},(n=h())||y2d("Expected expression after "+s,l),i=[o,r,n];(s=u())&&0!==(t=H2d(s));){for(r={value:s,prec:t};2<i.length&&t<=i[i.length-2].prec;)n=i.pop(),s=i.pop().value,o=i.pop(),e=I2d(s,o,n),i.push(e);(e=h())||y2d("Expected expression after "+s,l),i.push(r,e)}for(e=i[a=i.length-1];1<a;)e=I2d(i[a-1].value,i[a-2],e),a-=2;return e},h=function(){var e,t,i;if(s(),e=a(l),J2d(e)||46===e)return p();if(39===e||34===e)return m();if(K2d(e)||40===e)return _();if(91===e)return C();for(i=(t=r.substr(l,D2d)).length;0<i;){if(A2d.hasOwnProperty(t))return l+=i,{type:"UnaryExpression",operator:t,argument:h(),prefix:!0};t=t.substr(0,--i)}return!1},p=function(){for(var e,t="";J2d(a(l));)t+=n(l++);if(46===a(l))for(t+=n(l++);J2d(a(l));)t+=n(l++);if("e"===(e=n(l))||"E"===e){for(t+=n(l++),"+"!==(e=n(l))&&"-"!==e||(t+=n(l++));J2d(a(l));)t+=n(l++);J2d(a(l-1))||y2d("Expected exponent ("+t+n(l)+")",l)}return e=a(l),K2d(e)?y2d("Variable names cannot start with a number ("+t+n(l)+")",l):46===e&&y2d("Unexpected period",l),{type:f2d,value:parseFloat(t),raw:t}},m=function(){for(var e,t="",i=n(l++),r=!1;l<o;){if((e=n(l++))===i){r=!0;break}if("\\"===e)switch(e=n(l++)){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+="\t";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+="\\"+e}else t+=e}return r||y2d('Unclosed quote after "'+t+'"',l),{type:f2d,value:t,raw:i+t+i}},f=function(){var e,t=a(l),i=l;for(K2d(t)?l++:y2d("Unexpected "+n(l),l);l<o&&(t=a(l),36===(e=t)||95===e||65<=e&&e<=90||97<=e&&e<=122||48<=e&&e<=57||128<=e&&!B2d[String.fromCharCode(e)]);)l++;return i=r.slice(i,l),F2d.hasOwnProperty(i)?{type:f2d,value:F2d[i],raw:i}:"this"===i?{type:"ThisExpression"}:{type:"Identifier",name:i}},g=function(e){for(var t,i=[],r=!1;l<o;){if(s(),(t=a(l))===e){r=!0,l++;break}44===t?l++:((t=c())&&"Compound"!==t.type||y2d("Expected comma",l),i.push(t))}return r||y2d("Expected "+String.fromCharCode(e),l),i},_=function(){var e=a(l),t=(40===e?y:f)();for(s(),e=a(l);46===e||91===e||40===e;)l++,46===e?(s(),t={type:e2d,computed:!1,object:t,property:f()}):91===e?(t={type:e2d,computed:!0,object:t,property:c()},s(),93!==(e=a(l))&&y2d("Unclosed [",l),l++):40===e&&(t={type:"CallExpression",arguments:g(41),callee:t}),s(),e=a(l);return t},y=function(){l++;var e=c();if(s(),41===a(l))return l++,e;y2d("Unclosed (",l)},C=function(){return l++,{type:"ArrayExpression",elements:g(93)}},v=[];l<o;)59===(e=a(l))||44===e?l++:(e=c())?v.push(e):l<o&&y2d('Unexpected "'+n(l)+'"',l);return 1===v.length?v[0]:{type:"Compound",body:v}}b2d=tmp$2,e2d="MemberExpression",f2d="Literal",A2d={"-":!0,"!":!0,"~":!0,"+":!0},B2d={"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},D2d=C2d(A2d),E2d=C2d(B2d),F2d={true:!0,false:!1,null:null},M2d.version="0.3.1",M2d.toString=function(){return"JavaScript Expression Parser (JSEP) v"+M2d.version},M2d.addUnaryOp=function(e){return D2d=Math.max(e.length,D2d),A2d[e]=!0,this},M2d.addBinaryOp=function(e,t){return E2d=Math.max(e.length,E2d),B2d[e]=t,this},M2d.addLiteral=function(e,t){return F2d[e]=t,this},M2d.removeUnaryOp=function(e){return delete A2d[e],e.length===D2d&&(D2d=C2d(A2d)),this},M2d.removeAllUnaryOps=function(){return A2d={},D2d=0,this},M2d.removeBinaryOp=function(e){return delete B2d[e],e.length===E2d&&(E2d=C2d(B2d)),this},M2d.removeAllBinaryOps=function(){return B2d={},E2d=0,this},M2d.removeLiteral=function(e){return delete F2d[e],this},M2d.removeAllLiterals=function(){return F2d={},this},b2d.jsep=M2d;var jsep=tmp$2.jsep,ExpressionNodeType={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},ExpressionNodeType$1=Object.freeze(ExpressionNodeType);function Expression(e,t){var i;e=replaceVariables(removeBackslashes(e=replaceDefines(this._expression=e,t))),jsep.addBinaryOp("=~",0),jsep.addBinaryOp("!~",0);try{i=jsep(e)}catch(e){throw new RuntimeError(e)}this._runtimeAst=createRuntimeAst(this,i)}Object.defineProperties(Expression.prototype,{expression:{get:function(){return this._expression}}});var scratchStorage={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new Cartesian2],cartesian3Array:[new Cartesian3],cartesian4Array:[new Cartesian4],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);var e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new Cartesian2),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new Cartesian3),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new Cartesian4),this.cartesian4Array[this.cartesian4Index++]}};Expression.prototype.evaluate=function(e,t){scratchStorage.reset();e=this._runtimeAst.evaluate(e);return t instanceof Color&&e instanceof Cartesian4?Color.fromCartesian4(e,t):e instanceof Cartesian2||e instanceof Cartesian3||e instanceof Cartesian4?e.clone(t):e},Expression.prototype.evaluateColor=function(e,t){scratchStorage.reset();e=this._runtimeAst.evaluate(e);return Color.fromCartesian4(e,t)},Expression.prototype.getShaderFunction=function(e,t,i,r){return r+" "+e+"() \n{ \n return "+this.getShaderExpression(t,i)+"; \n} \n"},Expression.prototype.getShaderExpression=function(e,t){return this._runtimeAst.getShaderExpression(e,t)};var unaryOperators=["!","-","+"],binaryOperators=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],variableRegex=/\${(.*?)}/g,backslashRegex=/\\/g,backslashReplacement="@#%",replacementRegex=/@#%/g,scratchColor$2=new Color,unaryFunctions={abs:getEvaluateUnaryComponentwise(Math.abs),sqrt:getEvaluateUnaryComponentwise(Math.sqrt),cos:getEvaluateUnaryComponentwise(Math.cos),sin:getEvaluateUnaryComponentwise(Math.sin),tan:getEvaluateUnaryComponentwise(Math.tan),acos:getEvaluateUnaryComponentwise(Math.acos),asin:getEvaluateUnaryComponentwise(Math.asin),atan:getEvaluateUnaryComponentwise(Math.atan),radians:getEvaluateUnaryComponentwise(CesiumMath.toRadians),degrees:getEvaluateUnaryComponentwise(CesiumMath.toDegrees),sign:getEvaluateUnaryComponentwise(CesiumMath.sign),floor:getEvaluateUnaryComponentwise(Math.floor),ceil:getEvaluateUnaryComponentwise(Math.ceil),round:getEvaluateUnaryComponentwise(Math.round),exp:getEvaluateUnaryComponentwise(Math.exp),exp2:getEvaluateUnaryComponentwise(exp2),log:getEvaluateUnaryComponentwise(Math.log),log2:getEvaluateUnaryComponentwise(log2),fract:getEvaluateUnaryComponentwise(fract),length:length,normalize:normalize},binaryFunctions={atan2:getEvaluateBinaryComponentwise(Math.atan2,!1),pow:getEvaluateBinaryComponentwise(Math.pow,!1),min:getEvaluateBinaryComponentwise(Math.min,!0),max:getEvaluateBinaryComponentwise(Math.max,!0),distance:distance,dot:dot,cross:cross},ternaryFunctions={clamp:getEvaluateTernaryComponentwise(CesiumMath.clamp,!0),mix:getEvaluateTernaryComponentwise(CesiumMath.lerp,!0)};function fract(e){return e-Math.floor(e)}function exp2(e){return Math.pow(2,e)}function log2(e){return CesiumMath.log2(e)}function getEvaluateUnaryComponentwise(i){return function(e,t){if("number"==typeof t)return i(t);if(t instanceof Cartesian2)return Cartesian2.fromElements(i(t.x),i(t.y),scratchStorage.getCartesian2());if(t instanceof Cartesian3)return Cartesian3.fromElements(i(t.x),i(t.y),i(t.z),scratchStorage.getCartesian3());if(t instanceof Cartesian4)return Cartesian4.fromElements(i(t.x),i(t.y),i(t.z),i(t.w),scratchStorage.getCartesian4());throw new RuntimeError('Function "'+e+'" requires a vector or number argument. Argument is '+t+".")}}function getEvaluateBinaryComponentwise(r,n){return function(e,t,i){if(n&&"number"==typeof i){if("number"==typeof t)return r(t,i);if(t instanceof Cartesian2)return Cartesian2.fromElements(r(t.x,i),r(t.y,i),scratchStorage.getCartesian2());if(t instanceof Cartesian3)return Cartesian3.fromElements(r(t.x,i),r(t.y,i),r(t.z,i),scratchStorage.getCartesian3());if(t instanceof Cartesian4)return Cartesian4.fromElements(r(t.x,i),r(t.y,i),r(t.z,i),r(t.w,i),scratchStorage.getCartesian4())}if("number"==typeof t&&"number"==typeof i)return r(t,i);if(t instanceof Cartesian2&&i instanceof Cartesian2)return Cartesian2.fromElements(r(t.x,i.x),r(t.y,i.y),scratchStorage.getCartesian2());if(t instanceof Cartesian3&&i instanceof Cartesian3)return Cartesian3.fromElements(r(t.x,i.x),r(t.y,i.y),r(t.z,i.z),scratchStorage.getCartesian3());if(t instanceof Cartesian4&&i instanceof Cartesian4)return Cartesian4.fromElements(r(t.x,i.x),r(t.y,i.y),r(t.z,i.z),r(t.w,i.w),scratchStorage.getCartesian4());throw new RuntimeError('Function "'+e+'" requires vector or number arguments of matching types. Arguments are '+t+" and "+i+".")}}function getEvaluateTernaryComponentwise(n,a){return function(e,t,i,r){if(a&&"number"==typeof r){if("number"==typeof t&&"number"==typeof i)return n(t,i,r);if(t instanceof Cartesian2&&i instanceof Cartesian2)return Cartesian2.fromElements(n(t.x,i.x,r),n(t.y,i.y,r),scratchStorage.getCartesian2());if(t instanceof Cartesian3&&i instanceof Cartesian3)return Cartesian3.fromElements(n(t.x,i.x,r),n(t.y,i.y,r),n(t.z,i.z,r),scratchStorage.getCartesian3());if(t instanceof Cartesian4&&i instanceof Cartesian4)return Cartesian4.fromElements(n(t.x,i.x,r),n(t.y,i.y,r),n(t.z,i.z,r),n(t.w,i.w,r),scratchStorage.getCartesian4())}if("number"==typeof t&&"number"==typeof i&&"number"==typeof r)return n(t,i,r);if(t instanceof Cartesian2&&i instanceof Cartesian2&&r instanceof Cartesian2)return Cartesian2.fromElements(n(t.x,i.x,r.x),n(t.y,i.y,r.y),scratchStorage.getCartesian2());if(t instanceof Cartesian3&&i instanceof Cartesian3&&r instanceof Cartesian3)return Cartesian3.fromElements(n(t.x,i.x,r.x),n(t.y,i.y,r.y),n(t.z,i.z,r.z),scratchStorage.getCartesian3());if(t instanceof Cartesian4&&i instanceof Cartesian4&&r instanceof Cartesian4)return Cartesian4.fromElements(n(t.x,i.x,r.x),n(t.y,i.y,r.y),n(t.z,i.z,r.z),n(t.w,i.w,r.w),scratchStorage.getCartesian4());throw new RuntimeError('Function "'+e+'" requires vector or number arguments of matching types. Arguments are '+t+", "+i+", and "+r+".")}}function length(e,t){if("number"==typeof t)return Math.abs(t);if(t instanceof Cartesian2)return Cartesian2.magnitude(t);if(t instanceof Cartesian3)return Cartesian3.magnitude(t);if(t instanceof Cartesian4)return Cartesian4.magnitude(t);throw new RuntimeError('Function "'+e+'" requires a vector or number argument. Argument is '+t+".")}function normalize(e,t){if("number"==typeof t)return 1;if(t instanceof Cartesian2)return Cartesian2.normalize(t,scratchStorage.getCartesian2());if(t instanceof Cartesian3)return Cartesian3.normalize(t,scratchStorage.getCartesian3());if(t instanceof Cartesian4)return Cartesian4.normalize(t,scratchStorage.getCartesian4());throw new RuntimeError('Function "'+e+'" requires a vector or number argument. Argument is '+t+".")}function distance(e,t,i){if("number"==typeof t&&"number"==typeof i)return Math.abs(t-i);if(t instanceof Cartesian2&&i instanceof Cartesian2)return Cartesian2.distance(t,i);if(t instanceof Cartesian3&&i instanceof Cartesian3)return Cartesian3.distance(t,i);if(t instanceof Cartesian4&&i instanceof Cartesian4)return Cartesian4.distance(t,i);throw new RuntimeError('Function "'+e+'" requires vector or number arguments of matching types. Arguments are '+t+" and "+i+".")}function dot(e,t,i){if("number"==typeof t&&"number"==typeof i)return t*i;if(t instanceof Cartesian2&&i instanceof Cartesian2)return Cartesian2.dot(t,i);if(t instanceof Cartesian3&&i instanceof Cartesian3)return Cartesian3.dot(t,i);if(t instanceof Cartesian4&&i instanceof Cartesian4)return Cartesian4.dot(t,i);throw new RuntimeError('Function "'+e+'" requires vector or number arguments of matching types. Arguments are '+t+" and "+i+".")}function cross(e,t,i){if(t instanceof Cartesian3&&i instanceof Cartesian3)return Cartesian3.cross(t,i,scratchStorage.getCartesian3());throw new RuntimeError('Function "'+e+'" requires vec3 arguments. Arguments are '+t+" and "+i+".")}function Node$2(e,t,i,r,n){this._type=e,this._value=t,this._left=i,this._right=r,this._test=n,this.evaluate=void 0,setEvaluateFunction(this)}function replaceDefines(e,t){if(!defined(t))return e;for(var i in t){var r,n;t.hasOwnProperty(i)&&(r=new RegExp("\\$\\{"+i+"\\}","g"),defined(n="("+t[i]+")")&&(e=e.replace(r,n)))}return e}function removeBackslashes(e){return e.replace(backslashRegex,backslashReplacement)}function replaceBackslashes(e){return e.replace(replacementRegex,"\\")}function replaceVariables(e){for(var t=e,i="",r=t.indexOf("${");0<=r;){var n,a=t.indexOf("'"),o=t.indexOf('"');if(0<=a&&a<r)n=t.indexOf("'",a+1),i+=t.substr(0,n+1),r=(t=t.substr(n+1)).indexOf("${");else if(0<=o&&o<r)n=t.indexOf('"',o+1),i+=t.substr(0,n+1),r=(t=t.substr(n+1)).indexOf("${");else{i+=t.substr(0,r);o=t.indexOf("}");if(o<0)throw new RuntimeError("Unmatched {.");i+="czm_"+t.substr(r+2,o-(r+2)),r=(t=t.substr(o+1)).indexOf("${")}}return i+=t}function parseLiteral(e){var t=typeof e.value;return null===e.value?new Node$2(ExpressionNodeType$1.LITERAL_NULL,null):"boolean"==t?new Node$2(ExpressionNodeType$1.LITERAL_BOOLEAN,e.value):"number"==t?new Node$2(ExpressionNodeType$1.LITERAL_NUMBER,e.value):"string"==t?0<=e.value.indexOf("${")?new Node$2(ExpressionNodeType$1.VARIABLE_IN_STRING,e.value):new Node$2(ExpressionNodeType$1.LITERAL_STRING,replaceBackslashes(e.value)):void 0}function parseCall(e,t){var i,r,n,a,o=t.arguments,s=o.length;if("MemberExpression"===t.callee.type){i=t.callee.property.name;var l=t.callee.object;if("test"===i||"exec"===i){if("regExp"!==l.callee.name)throw new RuntimeError(i+" is not a function.");return 0===s?"test"===i?new Node$2(ExpressionNodeType$1.LITERAL_BOOLEAN,!1):new Node$2(ExpressionNodeType$1.LITERAL_NULL,null):(n=createRuntimeAst(e,l),a=createRuntimeAst(e,o[0]),new Node$2(ExpressionNodeType$1.FUNCTION_CALL,i,n,a))}if("toString"===i)return r=createRuntimeAst(e,l),new Node$2(ExpressionNodeType$1.FUNCTION_CALL,i,r);throw new RuntimeError('Unexpected function call "'+i+'".')}if("color"===(i=t.callee.name)){if(0===s)return new Node$2(ExpressionNodeType$1.LITERAL_COLOR,i);if(r=createRuntimeAst(e,o[0]),defined(o[1])){var c=createRuntimeAst(e,o[1]);return new Node$2(ExpressionNodeType$1.LITERAL_COLOR,i,[r,c])}return new Node$2(ExpressionNodeType$1.LITERAL_COLOR,i,[r])}if("rgb"===i||"hsl"===i){if(s<3)throw new RuntimeError(i+" requires three arguments.");return r=[createRuntimeAst(e,o[0]),createRuntimeAst(e,o[1]),createRuntimeAst(e,o[2])],new Node$2(ExpressionNodeType$1.LITERAL_COLOR,i,r)}if("rgba"===i||"hsla"===i){if(s<4)throw new RuntimeError(i+" requires four arguments.");return r=[createRuntimeAst(e,o[0]),createRuntimeAst(e,o[1]),createRuntimeAst(e,o[2]),createRuntimeAst(e,o[3])],new Node$2(ExpressionNodeType$1.LITERAL_COLOR,i,r)}if("vec2"===i||"vec3"===i||"vec4"===i){r=new Array(s);for(var u=0;u<s;++u)r[u]=createRuntimeAst(e,o[u]);return new Node$2(ExpressionNodeType$1.LITERAL_VECTOR,i,r)}if("isNaN"===i||"isFinite"===i)return 0===s?new Node$2(ExpressionNodeType$1.LITERAL_BOOLEAN,"isNaN"===i):(r=createRuntimeAst(e,o[0]),new Node$2(ExpressionNodeType$1.UNARY,i,r));if("isExactClass"===i||"isClass"===i){if(s<1||1<s)throw new RuntimeError(i+" requires exactly one argument.");return r=createRuntimeAst(e,o[0]),new Node$2(ExpressionNodeType$1.UNARY,i,r)}if("getExactClassName"===i){if(0<s)throw new RuntimeError(i+" does not take any argument.");return new Node$2(ExpressionNodeType$1.UNARY,i)}if(defined(unaryFunctions[i])){if(1!==s)throw new RuntimeError(i+" requires exactly one argument.");return r=createRuntimeAst(e,o[0]),new Node$2(ExpressionNodeType$1.UNARY,i,r)}if(defined(binaryFunctions[i])){if(2!==s)throw new RuntimeError(i+" requires exactly two arguments.");return n=createRuntimeAst(e,o[0]),a=createRuntimeAst(e,o[1]),new Node$2(ExpressionNodeType$1.BINARY,i,n,a)}if(defined(ternaryFunctions[i])){if(3!==s)throw new RuntimeError(i+" requires exactly three arguments.");n=createRuntimeAst(e,o[0]),a=createRuntimeAst(e,o[1]);c=createRuntimeAst(e,o[2]);return new Node$2(ExpressionNodeType$1.TERNARY,i,n,a,c)}if("Boolean"===i)return 0===s?new Node$2(ExpressionNodeType$1.LITERAL_BOOLEAN,!1):(r=createRuntimeAst(e,o[0]),new Node$2(ExpressionNodeType$1.UNARY,i,r));if("Number"===i)return 0===s?new Node$2(ExpressionNodeType$1.LITERAL_NUMBER,0):(r=createRuntimeAst(e,o[0]),new Node$2(ExpressionNodeType$1.UNARY,i,r));if("String"===i)return 0===s?new Node$2(ExpressionNodeType$1.LITERAL_STRING,""):(r=createRuntimeAst(e,o[0]),new Node$2(ExpressionNodeType$1.UNARY,i,r));if("regExp"===i)return parseRegex$1(e,t);throw new RuntimeError('Unexpected function call "'+i+'".')}function parseRegex$1(e,t){t=t.arguments;if(0===t.length)return new Node$2(ExpressionNodeType$1.LITERAL_REGEX,new RegExp);var i,r=createRuntimeAst(e,t[0]);if(1<t.length){var n=createRuntimeAst(e,t[1]);if(isLiteralType(r)&&isLiteralType(n)){try{i=new RegExp(replaceBackslashes(String(r._value)),n._value)}catch(e){throw new RuntimeError(e)}return new Node$2(ExpressionNodeType$1.LITERAL_REGEX,i)}return new Node$2(ExpressionNodeType$1.REGEX,r,n)}if(isLiteralType(r)){try{i=new RegExp(replaceBackslashes(String(r._value)))}catch(e){throw new RuntimeError(e)}return new Node$2(ExpressionNodeType$1.LITERAL_REGEX,i)}return new Node$2(ExpressionNodeType$1.REGEX,r)}function parseKeywordsAndVariables(e){if(isVariable(e.name)){var t=getPropertyName(e.name);return"tiles3d_"===t.substr(0,8)?new Node$2(ExpressionNodeType$1.BUILTIN_VARIABLE,t):new Node$2(ExpressionNodeType$1.VARIABLE,t)}if("NaN"===e.name)return new Node$2(ExpressionNodeType$1.LITERAL_NUMBER,NaN);if("Infinity"===e.name)return new Node$2(ExpressionNodeType$1.LITERAL_NUMBER,1/0);if("undefined"===e.name)return new Node$2(ExpressionNodeType$1.LITERAL_UNDEFINED,void 0);throw new RuntimeError(e.name+" is not defined.")}function parseMathConstant(e){e=e.property.name;return"PI"===e?new Node$2(ExpressionNodeType$1.LITERAL_NUMBER,Math.PI):"E"===e?new Node$2(ExpressionNodeType$1.LITERAL_NUMBER,Math.E):void 0}function parseNumberConstant(e){if("POSITIVE_INFINITY"===e.property.name)return new Node$2(ExpressionNodeType$1.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function parseMemberExpression(e,t){if("Math"===t.object.name)return parseMathConstant(t);if("Number"===t.object.name)return parseNumberConstant(t);var i,r=createRuntimeAst(e,t.object);return t.computed?(i=createRuntimeAst(e,t.property),new Node$2(ExpressionNodeType$1.MEMBER,"brackets",r,i)):(i=new Node$2(ExpressionNodeType$1.LITERAL_STRING,t.property.name),new Node$2(ExpressionNodeType$1.MEMBER,"dot",r,i))}function isLiteralType(e){return e._type>=ExpressionNodeType$1.LITERAL_NULL}function isVariable(e){return"czm_"===e.substr(0,4)}function getPropertyName(e){return e.substr(4)}function createRuntimeAst(e,t){if("Literal"===t.type)o=parseLiteral(t);else if("CallExpression"===t.type)o=parseCall(e,t);else if("Identifier"===t.type)o=parseKeywordsAndVariables(t);else if("UnaryExpression"===t.type){r=t.operator;var i=createRuntimeAst(e,t.argument);if(!(-1<unaryOperators.indexOf(r)))throw new RuntimeError('Unexpected operator "'+r+'".');o=new Node$2(ExpressionNodeType$1.UNARY,r,i)}else if("BinaryExpression"===t.type){if(r=t.operator,n=createRuntimeAst(e,t.left),a=createRuntimeAst(e,t.right),!(-1<binaryOperators.indexOf(r)))throw new RuntimeError('Unexpected operator "'+r+'".');o=new Node$2(ExpressionNodeType$1.BINARY,r,n,a)}else if("LogicalExpression"===t.type)r=t.operator,n=createRuntimeAst(e,t.left),a=createRuntimeAst(e,t.right),-1<binaryOperators.indexOf(r)&&(o=new Node$2(ExpressionNodeType$1.BINARY,r,n,a));else if("ConditionalExpression"===t.type)var r=createRuntimeAst(e,t.test),n=createRuntimeAst(e,t.consequent),a=createRuntimeAst(e,t.alternate),o=new Node$2(ExpressionNodeType$1.CONDITIONAL,"?",n,a,r);else if("MemberExpression"===t.type)o=parseMemberExpression(e,t);else{if("ArrayExpression"!==t.type)throw"Compound"===t.type?new RuntimeError("Provide exactly one expression."):new RuntimeError("Cannot parse expression.");for(var s=[],l=0;l<t.elements.length;l++)s[l]=createRuntimeAst(e,t.elements[l]);o=new Node$2(ExpressionNodeType$1.ARRAY,s)}return o}function setEvaluateFunction(e){e._type===ExpressionNodeType$1.CONDITIONAL?e.evaluate=e._evaluateConditional:e._type===ExpressionNodeType$1.FUNCTION_CALL?"test"===e._value?e.evaluate=e._evaluateRegExpTest:"exec"===e._value?e.evaluate=e._evaluateRegExpExec:"toString"===e._value&&(e.evaluate=e._evaluateToString):e._type===ExpressionNodeType$1.UNARY?"!"===e._value?e.evaluate=e._evaluateNot:"-"===e._value?e.evaluate=e._evaluateNegative:"+"===e._value?e.evaluate=e._evaluatePositive:"isNaN"===e._value?e.evaluate=e._evaluateNaN:"isFinite"===e._value?e.evaluate=e._evaluateIsFinite:"isExactClass"===e._value?e.evaluate=e._evaluateIsExactClass:"isClass"===e._value?e.evaluate=e._evaluateIsClass:"getExactClassName"===e._value?e.evaluate=e._evaluateGetExactClassName:"Boolean"===e._value?e.evaluate=e._evaluateBooleanConversion:"Number"===e._value?e.evaluate=e._evaluateNumberConversion:"String"===e._value?e.evaluate=e._evaluateStringConversion:defined(unaryFunctions[e._value])&&(e.evaluate=getEvaluateUnaryFunction(e._value)):e._type===ExpressionNodeType$1.BINARY?"+"===e._value?e.evaluate=e._evaluatePlus:"-"===e._value?e.evaluate=e._evaluateMinus:"*"===e._value?e.evaluate=e._evaluateTimes:"/"===e._value?e.evaluate=e._evaluateDivide:"%"===e._value?e.evaluate=e._evaluateMod:"==="===e._value?e.evaluate=e._evaluateEqualsStrict:"!=="===e._value?e.evaluate=e._evaluateNotEqualsStrict:"<"===e._value?e.evaluate=e._evaluateLessThan:"<="===e._value?e.evaluate=e._evaluateLessThanOrEquals:">"===e._value?e.evaluate=e._evaluateGreaterThan:">="===e._value?e.evaluate=e._evaluateGreaterThanOrEquals:"&&"===e._value?e.evaluate=e._evaluateAnd:"||"===e._value?e.evaluate=e._evaluateOr:"=~"===e._value?e.evaluate=e._evaluateRegExpMatch:"!~"===e._value?e.evaluate=e._evaluateRegExpNotMatch:defined(binaryFunctions[e._value])&&(e.evaluate=getEvaluateBinaryFunction(e._value)):e._type===ExpressionNodeType$1.TERNARY?e.evaluate=getEvaluateTernaryFunction(e._value):e._type===ExpressionNodeType$1.MEMBER?"brackets"===e._value?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===ExpressionNodeType$1.ARRAY?e.evaluate=e._evaluateArray:e._type===ExpressionNodeType$1.VARIABLE?e.evaluate=e._evaluateVariable:e._type===ExpressionNodeType$1.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===ExpressionNodeType$1.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===ExpressionNodeType$1.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===ExpressionNodeType$1.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===ExpressionNodeType$1.REGEX?e.evaluate=e._evaluateRegExp:e._type===ExpressionNodeType$1.BUILTIN_VARIABLE?"tiles3d_tileset_time"===e._value&&(e.evaluate=evaluateTilesetTime):e.evaluate=e._evaluateLiteral}function evaluateTilesetTime(e){return defined(e)?e.content.tileset.timeSinceLoad:0}function getEvaluateUnaryFunction(t){var i=unaryFunctions[t];return function(e){e=this._left.evaluate(e);return i(t,e)}}function getEvaluateBinaryFunction(i){var r=binaryFunctions[i];return function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);return r(i,t,e)}}function getEvaluateTernaryFunction(r){var n=ternaryFunctions[r];return function(e){var t=this._left.evaluate(e),i=this._right.evaluate(e),e=this._test.evaluate(e);return n(r,t,i,e)}}function getFeatureProperty(e,t){if(defined(e))return e.getProperty(t)}function checkFeature(e){return"feature"===e._value}function convertHSLToRGB(e){for(var t=e._left,i=t.length,r=0;r<i;++r)if(t[r]._type!==ExpressionNodeType$1.LITERAL_NUMBER)return;var n=t[0]._value,a=t[1]._value,o=t[2]._value,e=4===i?t[3]._value:1;return Color.fromHsl(n,a,o,e,scratchColor$2)}function convertRGBToColor(e){for(var t=e._left,i=t.length,r=0;r<i;++r)if(t[r]._type!==ExpressionNodeType$1.LITERAL_NUMBER)return;e=scratchColor$2;return e.red=t[0]._value/255,e.green=t[1]._value/255,e.blue=t[2]._value/255,e.alpha=4===i?t[3]._value:1,e}function numberToString(e){return e%1==0?e.toFixed(1):e.toString()}function colorToVec3(e){return"vec3("+numberToString(e.red)+", "+numberToString(e.green)+", "+numberToString(e.blue)+")"}function colorToVec4(e){return"vec4("+numberToString(e.red)+", "+numberToString(e.green)+", "+numberToString(e.blue)+", "+numberToString(e.alpha)+")"}function getExpressionArray(e,t,i,r){for(var n=e.length,a=new Array(n),o=0;o<n;++o)a[o]=e[o].getShaderExpression(t,i,r);return a}function getVariableName(e,t){if(!defined(t[e]))throw new RuntimeError('Style references a property "'+e+'" that does not exist or is not styleable.');return t[e]}Node$2.prototype._evaluateLiteral=function(){return this._value},Node$2.prototype._evaluateLiteralColor=function(e){var t,i=scratchColor$2,r=this._left;return"color"===this._value?defined(r)?1<r.length?(Color.fromCssColorString(r[0].evaluate(e),i),i.alpha=r[1].evaluate(e)):Color.fromCssColorString(r[0].evaluate(e),i):Color.fromBytes(255,255,255,255,i):"rgb"===this._value?Color.fromBytes(r[0].evaluate(e),r[1].evaluate(e),r[2].evaluate(e),255,i):"rgba"===this._value?(t=255*r[3].evaluate(e),Color.fromBytes(r[0].evaluate(e),r[1].evaluate(e),r[2].evaluate(e),t,i)):"hsl"===this._value?Color.fromHsl(r[0].evaluate(e),r[1].evaluate(e),r[2].evaluate(e),1,i):"hsla"===this._value&&Color.fromHsl(r[0].evaluate(e),r[1].evaluate(e),r[2].evaluate(e),r[3].evaluate(e),i),Cartesian4.fromColor(i,scratchStorage.getCartesian4())},Node$2.prototype._evaluateLiteralVector=function(e){for(var t=scratchStorage.getArray(),i=this._value,r=this._left,n=r.length,a=0;a<n;++a){var o=r[a].evaluate(e);if("number"==typeof o)t.push(o);else if(o instanceof Cartesian2)t.push(o.x,o.y);else if(o instanceof Cartesian3)t.push(o.x,o.y,o.z);else{if(!(o instanceof Cartesian4))throw new RuntimeError(i+" argument must be a vector or number. Argument is "+o+".");t.push(o.x,o.y,o.z,o.w)}}var s=t.length,l=parseInt(i.charAt(3));if(0===s)throw new RuntimeError("Invalid "+i+" constructor. No valid arguments.");if(s<l&&1<s)throw new RuntimeError("Invalid "+i+" constructor. Not enough arguments.");if(l<s&&1<n)throw new RuntimeError("Invalid "+i+" constructor. Too many arguments.");return 1===s&&(s=t[0],t.push(s,s,s)),"vec2"===i?Cartesian2.fromArray(t,0,scratchStorage.getCartesian2()):"vec3"===i?Cartesian3.fromArray(t,0,scratchStorage.getCartesian3()):"vec4"===i?Cartesian4.fromArray(t,0,scratchStorage.getCartesian4()):void 0},Node$2.prototype._evaluateLiteralString=function(){return this._value},Node$2.prototype._evaluateVariableString=function(e){for(var t=this._value,i=variableRegex.exec(t);null!==i;){var r=i[0],n=getFeatureProperty(e,i[1]);defined(n)||(n=""),t=t.replace(r,n),i=variableRegex.exec(t)}return t},Node$2.prototype._evaluateVariable=function(e){return getFeatureProperty(e,this._value)},Node$2.prototype._evaluateMemberDot=function(e){if(checkFeature(this._left))return getFeatureProperty(e,this._right.evaluate(e));var t=this._left.evaluate(e);if(defined(t)){e=this._right.evaluate(e);if(t instanceof Cartesian2||t instanceof Cartesian3||t instanceof Cartesian4){if("r"===e)return t.x;if("g"===e)return t.y;if("b"===e)return t.z;if("a"===e)return t.w}return t[e]}},Node$2.prototype._evaluateMemberBrackets=function(e){if(checkFeature(this._left))return getFeatureProperty(e,this._right.evaluate(e));var t=this._left.evaluate(e);if(defined(t)){e=this._right.evaluate(e);if(t instanceof Cartesian2||t instanceof Cartesian3||t instanceof Cartesian4){if(0===e||"r"===e)return t.x;if(1===e||"g"===e)return t.y;if(2===e||"b"===e)return t.z;if(3===e||"a"===e)return t.w}return t[e]}},Node$2.prototype._evaluateArray=function(e){for(var t=[],i=0;i<this._value.length;i++)t[i]=this._value[i].evaluate(e);return t},Node$2.prototype._evaluateNot=function(e){e=this._left.evaluate(e);if("boolean"!=typeof e)throw new RuntimeError('Operator "!" requires a boolean argument. Argument is '+e+".");return!e},Node$2.prototype._evaluateNegative=function(e){e=this._left.evaluate(e);if(e instanceof Cartesian2)return Cartesian2.negate(e,scratchStorage.getCartesian2());if(e instanceof Cartesian3)return Cartesian3.negate(e,scratchStorage.getCartesian3());if(e instanceof Cartesian4)return Cartesian4.negate(e,scratchStorage.getCartesian4());if("number"==typeof e)return-e;throw new RuntimeError('Operator "-" requires a vector or number argument. Argument is '+e+".")},Node$2.prototype._evaluatePositive=function(e){e=this._left.evaluate(e);if(!(e instanceof Cartesian2||e instanceof Cartesian3||e instanceof Cartesian4||"number"==typeof e))throw new RuntimeError('Operator "+" requires a vector or number argument. Argument is '+e+".");return e},Node$2.prototype._evaluateLessThan=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if("number"!=typeof t||"number"!=typeof e)throw new RuntimeError('Operator "<" requires number arguments. Arguments are '+t+" and "+e+".");return t<e},Node$2.prototype._evaluateLessThanOrEquals=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if("number"!=typeof t||"number"!=typeof e)throw new RuntimeError('Operator "<=" requires number arguments. Arguments are '+t+" and "+e+".");return t<=e},Node$2.prototype._evaluateGreaterThan=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if("number"!=typeof t||"number"!=typeof e)throw new RuntimeError('Operator ">" requires number arguments. Arguments are '+t+" and "+e+".");return e<t},Node$2.prototype._evaluateGreaterThanOrEquals=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if("number"!=typeof t||"number"!=typeof e)throw new RuntimeError('Operator ">=" requires number arguments. Arguments are '+t+" and "+e+".");return e<=t},Node$2.prototype._evaluateOr=function(e){var t=this._left.evaluate(e);if("boolean"!=typeof t)throw new RuntimeError('Operator "||" requires boolean arguments. First argument is '+t+".");if(t)return!0;e=this._right.evaluate(e);if("boolean"!=typeof e)throw new RuntimeError('Operator "||" requires boolean arguments. Second argument is '+e+".");return t||e},Node$2.prototype._evaluateAnd=function(e){var t=this._left.evaluate(e);if("boolean"!=typeof t)throw new RuntimeError('Operator "&&" requires boolean arguments. First argument is '+t+".");if(!t)return!1;e=this._right.evaluate(e);if("boolean"!=typeof e)throw new RuntimeError('Operator "&&" requires boolean arguments. Second argument is '+e+".");return t&&e},Node$2.prototype._evaluatePlus=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if(e instanceof Cartesian2&&t instanceof Cartesian2)return Cartesian2.add(t,e,scratchStorage.getCartesian2());if(e instanceof Cartesian3&&t instanceof Cartesian3)return Cartesian3.add(t,e,scratchStorage.getCartesian3());if(e instanceof Cartesian4&&t instanceof Cartesian4)return Cartesian4.add(t,e,scratchStorage.getCartesian4());if("string"==typeof t||"string"==typeof e)return t+e;if("number"==typeof t&&"number"==typeof e)return t+e;throw new RuntimeError('Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are '+t+" and "+e+".")},Node$2.prototype._evaluateMinus=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if(e instanceof Cartesian2&&t instanceof Cartesian2)return Cartesian2.subtract(t,e,scratchStorage.getCartesian2());if(e instanceof Cartesian3&&t instanceof Cartesian3)return Cartesian3.subtract(t,e,scratchStorage.getCartesian3());if(e instanceof Cartesian4&&t instanceof Cartesian4)return Cartesian4.subtract(t,e,scratchStorage.getCartesian4());if("number"==typeof t&&"number"==typeof e)return t-e;throw new RuntimeError('Operator "-" requires vector or number arguments of matching types. Arguments are '+t+" and "+e+".")},Node$2.prototype._evaluateTimes=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if(e instanceof Cartesian2&&t instanceof Cartesian2)return Cartesian2.multiplyComponents(t,e,scratchStorage.getCartesian2());if(e instanceof Cartesian2&&"number"==typeof t)return Cartesian2.multiplyByScalar(e,t,scratchStorage.getCartesian2());if(t instanceof Cartesian2&&"number"==typeof e)return Cartesian2.multiplyByScalar(t,e,scratchStorage.getCartesian2());if(e instanceof Cartesian3&&t instanceof Cartesian3)return Cartesian3.multiplyComponents(t,e,scratchStorage.getCartesian3());if(e instanceof Cartesian3&&"number"==typeof t)return Cartesian3.multiplyByScalar(e,t,scratchStorage.getCartesian3());if(t instanceof Cartesian3&&"number"==typeof e)return Cartesian3.multiplyByScalar(t,e,scratchStorage.getCartesian3());if(e instanceof Cartesian4&&t instanceof Cartesian4)return Cartesian4.multiplyComponents(t,e,scratchStorage.getCartesian4());if(e instanceof Cartesian4&&"number"==typeof t)return Cartesian4.multiplyByScalar(e,t,scratchStorage.getCartesian4());if(t instanceof Cartesian4&&"number"==typeof e)return Cartesian4.multiplyByScalar(t,e,scratchStorage.getCartesian4());if("number"==typeof t&&"number"==typeof e)return t*e;throw new RuntimeError('Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are '+t+" and "+e+".")},Node$2.prototype._evaluateDivide=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if(e instanceof Cartesian2&&t instanceof Cartesian2)return Cartesian2.divideComponents(t,e,scratchStorage.getCartesian2());if(t instanceof Cartesian2&&"number"==typeof e)return Cartesian2.divideByScalar(t,e,scratchStorage.getCartesian2());if(e instanceof Cartesian3&&t instanceof Cartesian3)return Cartesian3.divideComponents(t,e,scratchStorage.getCartesian3());if(t instanceof Cartesian3&&"number"==typeof e)return Cartesian3.divideByScalar(t,e,scratchStorage.getCartesian3());if(e instanceof Cartesian4&&t instanceof Cartesian4)return Cartesian4.divideComponents(t,e,scratchStorage.getCartesian4());if(t instanceof Cartesian4&&"number"==typeof e)return Cartesian4.divideByScalar(t,e,scratchStorage.getCartesian4());if("number"==typeof t&&"number"==typeof e)return t/e;throw new RuntimeError('Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are '+t+" and "+e+".")},Node$2.prototype._evaluateMod=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if(e instanceof Cartesian2&&t instanceof Cartesian2)return Cartesian2.fromElements(t.x%e.x,t.y%e.y,scratchStorage.getCartesian2());if(e instanceof Cartesian3&&t instanceof Cartesian3)return Cartesian3.fromElements(t.x%e.x,t.y%e.y,t.z%e.z,scratchStorage.getCartesian3());if(e instanceof Cartesian4&&t instanceof Cartesian4)return Cartesian4.fromElements(t.x%e.x,t.y%e.y,t.z%e.z,t.w%e.w,scratchStorage.getCartesian4());if("number"==typeof t&&"number"==typeof e)return t%e;throw new RuntimeError('Operator "%" requires vector or number arguments of matching types. Arguments are '+t+" and "+e+".")},Node$2.prototype._evaluateEqualsStrict=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);return e instanceof Cartesian2&&t instanceof Cartesian2||e instanceof Cartesian3&&t instanceof Cartesian3||e instanceof Cartesian4&&t instanceof Cartesian4?t.equals(e):t===e},Node$2.prototype._evaluateNotEqualsStrict=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);return e instanceof Cartesian2&&t instanceof Cartesian2||e instanceof Cartesian3&&t instanceof Cartesian3||e instanceof Cartesian4&&t instanceof Cartesian4?!t.equals(e):t!==e},Node$2.prototype._evaluateConditional=function(e){var t=this._test.evaluate(e);if("boolean"!=typeof t)throw new RuntimeError("Conditional argument of conditional expression must be a boolean. Argument is "+t+".");return(t?this._left:this._right).evaluate(e)},Node$2.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))},Node$2.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))},Node$2.prototype._evaluateIsExactClass=function(e){return!!defined(e)&&e.isExactClass(this._left.evaluate(e))},Node$2.prototype._evaluateIsClass=function(e){return!!defined(e)&&e.isClass(this._left.evaluate(e))},Node$2.prototype._evaluateGetExactClassName=function(e){if(defined(e))return e.getExactClassName()},Node$2.prototype._evaluateBooleanConversion=function(e){return Boolean(this._left.evaluate(e))},Node$2.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))},Node$2.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))},Node$2.prototype._evaluateRegExp=function(e){var t,i=this._value.evaluate(e),r="";defined(this._left)&&(r=this._left.evaluate(e));try{t=new RegExp(i,r)}catch(e){throw new RuntimeError(e)}return t},Node$2.prototype._evaluateRegExpTest=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if(!(t instanceof RegExp&&"string"==typeof e))throw new RuntimeError("RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are "+t+" and "+e+".");return t.test(e)},Node$2.prototype._evaluateRegExpMatch=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if(t instanceof RegExp&&"string"==typeof e)return t.test(e);if(e instanceof RegExp&&"string"==typeof t)return e.test(t);throw new RuntimeError('Operator "=~" requires one RegExp argument and one string argument. Arguments are '+t+" and "+e+".")},Node$2.prototype._evaluateRegExpNotMatch=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if(t instanceof RegExp&&"string"==typeof e)return!t.test(e);if(e instanceof RegExp&&"string"==typeof t)return!e.test(t);throw new RuntimeError('Operator "!~" requires one RegExp argument and one string argument. Arguments are '+t+" and "+e+".")},Node$2.prototype._evaluateRegExpExec=function(e){var t=this._left.evaluate(e),e=this._right.evaluate(e);if(!(t instanceof RegExp&&"string"==typeof e))throw new RuntimeError("RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are "+t+" and "+e+".");e=t.exec(e);return defined(e)?e[1]:null},Node$2.prototype._evaluateToString=function(e){e=this._left.evaluate(e);if(e instanceof RegExp||e instanceof Cartesian2||e instanceof Cartesian3||e instanceof Cartesian4)return String(e);throw new RuntimeError('Unexpected function call "'+this._value+'".')};var nullSentinel="czm_infinity";function Vector3DTilePrimitive(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._vertexBatchIds=e.vertexBatchIds,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=e.indexOffsets,this._batchedIndices=e.batchedIndices,this._boundingVolume=e.boundingVolume,this._boundingVolumes=e.boundingVolumes,this._center=defaultValue(e.center,Cartesian3.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=Color.clone(Color.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=defaultValue(e.classificationType,ClassificationType$1.BOTH),this._vertexShaderSource=e._vertexShaderSource,this._fragmentShaderSource=e._fragmentShaderSource,this._attributeLocations=e._attributeLocations,this._uniformMap=e._uniformMap,this._pickId=e._pickId,this._modelMatrix=e._modelMatrix,this._boundingSphere=e._boundingSphere,this._batchIdLookUp={};for(var t=this._batchIds.length,i=0;i<t;++i){var r=this._batchIds[i];this._batchIdLookUp[r]=i}}Node$2.prototype.getShaderExpression=function(e,t,i){var r,n,a,o,s=this._type,l=this._value;switch(defined(this._left)&&(n=Array.isArray(this._left)?getExpressionArray(this._left,e,t,this):this._left.getShaderExpression(e,t,this)),defined(this._right)&&(a=this._right.getShaderExpression(e,t,this)),defined(this._test)&&(o=this._test.getShaderExpression(e,t,this)),Array.isArray(this._value)&&(l=getExpressionArray(this._value,e,t,this)),s){case ExpressionNodeType$1.VARIABLE:return checkFeature(this)?void 0:getVariableName(l,e);case ExpressionNodeType$1.UNARY:if("Boolean"===l)return"bool("+n+")";if("Number"===l)return"float("+n+")";if("round"===l)return"floor("+n+" + 0.5)";if(defined(unaryFunctions[l]))return l+"("+n+")";if("isNaN"===l)return"("+n+" != "+n+")";if("isFinite"===l)return"(abs("+n+") < czm_infinity)";if("String"===l||"isExactClass"===l||"isClass"===l||"getExactClassName"===l)throw new RuntimeError('Error generating style shader: "'+l+'" is not supported.');return l+n;case ExpressionNodeType$1.BINARY:return"%"===l?"mod("+n+", "+a+")":"==="===l?"("+n+" == "+a+")":"!=="===l?"("+n+" != "+a+")":"atan2"===l?"atan("+n+", "+a+")":defined(binaryFunctions[l])?l+"("+n+", "+a+")":"("+n+" "+l+" "+a+")";case ExpressionNodeType$1.TERNARY:if(defined(ternaryFunctions[l]))return l+"("+n+", "+a+", "+o+")";break;case ExpressionNodeType$1.CONDITIONAL:return"("+o+" ? "+n+" : "+a+")";case ExpressionNodeType$1.MEMBER:return checkFeature(this._left)?getVariableName(a,e):"r"===a||"x"===a||"0.0"===a?n+"[0]":"g"===a||"y"===a||"1.0"===a?n+"[1]":"b"===a||"z"===a||"2.0"===a?n+"[2]":"a"===a||"w"===a||"3.0"===a?n+"[3]":n+"[int("+a+")]";case ExpressionNodeType$1.FUNCTION_CALL:throw new RuntimeError('Error generating style shader: "'+l+'" is not supported.');case ExpressionNodeType$1.ARRAY:if(4===l.length)return"vec4("+l[0]+", "+l[1]+", "+l[2]+", "+l[3]+")";if(3===l.length)return"vec3("+l[0]+", "+l[1]+", "+l[2]+")";if(2===l.length)return"vec2("+l[0]+", "+l[1]+")";throw new RuntimeError("Error generating style shader: Invalid array length. Array length should be 2, 3, or 4.");case ExpressionNodeType$1.REGEX:throw new RuntimeError("Error generating style shader: Regular expressions are not supported.");case ExpressionNodeType$1.VARIABLE_IN_STRING:throw new RuntimeError("Error generating style shader: Converting a variable to a string is not supported.");case ExpressionNodeType$1.LITERAL_NULL:return nullSentinel;case ExpressionNodeType$1.LITERAL_BOOLEAN:return l?"true":"false";case ExpressionNodeType$1.LITERAL_NUMBER:return numberToString(l);case ExpressionNodeType$1.LITERAL_STRING:if(defined(i)&&i._type===ExpressionNodeType$1.MEMBER&&("r"===l||"g"===l||"b"===l||"a"===l||"x"===l||"y"===l||"z"===l||"w"===l||checkFeature(i._left)))return l;if(defined(r=Color.fromCssColorString(l,scratchColor$2)))return colorToVec3(r);throw new RuntimeError("Error generating style shader: String literals are not supported.");case ExpressionNodeType$1.LITERAL_COLOR:var c=n;if("color"===l){if(!defined(c))return"vec4(1.0)";if(1<c.length){var u=c[0],d=c[1];return"1.0"!==d&&(t.translucent=!0),"vec4("+u+", "+d+")"}return"vec4("+c[0]+", 1.0)"}if("rgb"===l)return defined(r=convertRGBToColor(this))?colorToVec4(r):"vec4("+c[0]+" / 255.0, "+c[1]+" / 255.0, "+c[2]+" / 255.0, 1.0)";if("rgba"===l)return"1.0"!==c[3]&&(t.translucent=!0),defined(r=convertRGBToColor(this))?colorToVec4(r):"vec4("+c[0]+" / 255.0, "+c[1]+" / 255.0, "+c[2]+" / 255.0, "+c[3]+")";if("hsl"===l)return defined(r=convertHSLToRGB(this))?colorToVec4(r):"vec4(czm_HSLToRGB(vec3("+c[0]+", "+c[1]+", "+c[2]+")), 1.0)";if("hsla"===l)return defined(r=convertHSLToRGB(this))?(1!==r.alpha&&(t.translucent=!0),colorToVec4(r)):("1.0"!==c[3]&&(t.translucent=!0),"vec4(czm_HSLToRGB(vec3("+c[0]+", "+c[1]+", "+c[2]+")), "+c[3]+")");break;case ExpressionNodeType$1.LITERAL_VECTOR:for(var h=n.length,p=l+"(",m=0;m<h;++m)p+=n[m],m<h-1&&(p+=", ");return p+=")";case ExpressionNodeType$1.LITERAL_REGEX:throw new RuntimeError("Error generating style shader: Regular expressions are not supported.");case ExpressionNodeType$1.LITERAL_UNDEFINED:return nullSentinel;case ExpressionNodeType$1.BUILTIN_VARIABLE:if("tiles3d_tileset_time"===l)return"u_time"}},Object.defineProperties(Vector3DTilePrimitive.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}}});var defaultAttributeLocations={position:0,a_batchId:1};function createVertexArray$1(e,t){var i,r,n;defined(e._va)||(i=Buffer$1.createVertexBuffer({context:t,typedArray:e._positions,usage:BufferUsage$1.STATIC_DRAW}),n=Buffer$1.createVertexBuffer({context:t,typedArray:e._vertexBatchIds,usage:BufferUsage$1.STATIC_DRAW}),r=Buffer$1.createIndexBuffer({context:t,typedArray:e._indices,usage:BufferUsage$1.DYNAMIC_DRAW,indexDatatype:2===e._indices.BYTES_PER_ELEMENT?IndexDatatype$1.UNSIGNED_SHORT:IndexDatatype$1.UNSIGNED_INT}),n=[{index:0,vertexBuffer:i,componentDatatype:ComponentDatatype$1.fromTypedArray(e._positions),componentsPerAttribute:3},{index:1,vertexBuffer:n,componentDatatype:ComponentDatatype$1.fromTypedArray(e._vertexBatchIds),componentsPerAttribute:1}],e._va=new VertexArray({context:t,attributes:n,indexBuffer:r}),t.webgl2&&(e._vaSwap=new VertexArray({context:t,attributes:n,indexBuffer:Buffer$1.createIndexBuffer({context:t,sizeInBytes:r.sizeInBytes,usage:BufferUsage$1.DYNAMIC_DRAW,indexDatatype:r.indexDatatype})})),e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._verticesPromise=void 0)}function createShaders(e,t){if(!defined(e._sp)){var i=e._batchTable,r=defaultValue(e._attributeLocations,defaultAttributeLocations),n=e._pickId,a=e._vertexShaderSource,o=e._fragmentShaderSource;if(defined(a))return e._sp=ShaderProgram.fromCache({context:t,vertexShaderSource:a,fragmentShaderSource:o,attributeLocations:r}),e._spStencil=e._sp,o=ShaderSource.replaceMain(o,"czm_non_pick_main")+"void main() \n{ \n czm_non_pick_main(); \n gl_FragColor = "+n+"; \n} \n",void(e._spPick=ShaderProgram.fromCache({context:t,vertexShaderSource:a,fragmentShaderSource:o,attributeLocations:r}));var s=i.getVertexShaderCallback(!1,"a_batchId",void 0)(VectorTileVS),a=i.getFragmentShaderCallback()(ShadowVolumeFS,!1,void 0),n=i.getPickId(),o=new ShaderSource({sources:[s]}),i=new ShaderSource({defines:["VECTOR_TILE"],sources:[a]});e._sp=ShaderProgram.fromCache({context:t,vertexShaderSource:o,fragmentShaderSource:i,attributeLocations:r}),o=new ShaderSource({sources:[VectorTileVS]}),i=new ShaderSource({defines:["VECTOR_TILE"],sources:[ShadowVolumeFS]}),e._spStencil=ShaderProgram.fromCache({context:t,vertexShaderSource:o,fragmentShaderSource:i,attributeLocations:r}),a=ShaderSource.replaceMain(a,"czm_non_pick_main")+"\nvoid main() \n{ \n czm_non_pick_main(); \n gl_FragColor = "+n+"; \n} \n";s=new ShaderSource({sources:[s]}),a=new ShaderSource({defines:["VECTOR_TILE"],sources:[a]});e._spPick=ShaderProgram.fromCache({context:t,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:r})}}function getStencilDepthRenderState$1(e){e=e?StencilFunction$1.EQUAL:StencilFunction$1.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:e,frontOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.DECREMENT_WRAP,zPass:StencilOperation$1.KEEP},backFunction:e,backOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.INCREMENT_WRAP,zPass:StencilOperation$1.KEEP},reference:StencilConstants$1.CESIUM_3D_TILE_MASK,mask:StencilConstants$1.CESIUM_3D_TILE_MASK},stencilMask:StencilConstants$1.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:DepthFunction$1.LESS_OR_EQUAL},depthMask:!1}}var colorRenderState={stencilTest:{enabled:!0,frontFunction:StencilFunction$1.NOT_EQUAL,frontOperation:{fail:StencilOperation$1.ZERO,zFail:StencilOperation$1.ZERO,zPass:StencilOperation$1.ZERO},backFunction:StencilFunction$1.NOT_EQUAL,backOperation:{fail:StencilOperation$1.ZERO,zFail:StencilOperation$1.ZERO,zPass:StencilOperation$1.ZERO},reference:0,mask:StencilConstants$1.CLASSIFICATION_MASK},stencilMask:StencilConstants$1.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:BlendingState$1.ALPHA_BLEND},pickRenderState$1={stencilTest:{enabled:!0,frontFunction:StencilFunction$1.NOT_EQUAL,frontOperation:{fail:StencilOperation$1.ZERO,zFail:StencilOperation$1.ZERO,zPass:StencilOperation$1.ZERO},backFunction:StencilFunction$1.NOT_EQUAL,backOperation:{fail:StencilOperation$1.ZERO,zFail:StencilOperation$1.ZERO,zPass:StencilOperation$1.ZERO},reference:0,mask:StencilConstants$1.CLASSIFICATION_MASK},stencilMask:StencilConstants$1.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function createRenderStates$2(e){defined(e._rsStencilDepthPass)||(e._rsStencilDepthPass=RenderState.fromCache(getStencilDepthRenderState$1(!1)),e._rsStencilDepthPass3DTiles=RenderState.fromCache(getStencilDepthRenderState$1(!0)),e._rsColorPass=RenderState.fromCache(colorRenderState),e._rsPickPass=RenderState.fromCache(pickRenderState$1))}var modifiedModelViewScratch$1=new Matrix4,rtcScratch$1=new Cartesian3;function createUniformMap(i,r){var e;defined(i._uniformMap)||(e={u_modifiedModelViewProjection:function(){var e=r.uniformState.view,t=r.uniformState.projection;return Matrix4.clone(e,modifiedModelViewScratch$1),Matrix4.multiplyByPoint(modifiedModelViewScratch$1,i._center,rtcScratch$1),Matrix4.setTranslation(modifiedModelViewScratch$1,rtcScratch$1,modifiedModelViewScratch$1),Matrix4.multiply(t,modifiedModelViewScratch$1,modifiedModelViewScratch$1),modifiedModelViewScratch$1},u_highlightColor:function(){return i._highlightColor}},i._uniformMap=i._batchTable.getUniformMapCallback()(e))}function copyIndicesCPU(e,t,i,r,n,a,o){for(var s=e.constructor.BYTES_PER_ELEMENT,l=a.length,c=0;c<l;++c){var u=o[a[c]],d=r[u],h=n[u],d=new e.constructor(e.buffer,s*d,h);t.set(d,i),r[u]=i,i+=h}return i}function rebatchCPU(e,t){var i=e._indices,r=e._indexOffsets,n=e._indexCounts,a=e._batchIdLookUp,o=new i.constructor(i.length),s=t.pop(),l=[s],c=copyIndicesCPU(i,o,0,r,n,s.batchIds,a);for(s.offset=0,s.count=c;0<t.length;){var u,d=t.pop();Color.equals(d.color,s.color)?(c=copyIndicesCPU(i,o,c,r,n,d.batchIds,a),s.batchIds=s.batchIds.concat(d.batchIds),s.count=c-s.offset):(c=copyIndicesCPU(i,o,u=c,r,n,d.batchIds,a),d.offset=u,d.count=c-u,l.push(d),s=d)}e._va.indexBuffer.copyFromArrayView(o),e._indices=o,e._batchedIndices=l}function copyIndicesGPU(e,t,i,r,n,a,o){for(var s=e.bytesPerIndex,l=a.length,c=0;c<l;++c){var u=o[a[c]],d=r[u],h=n[u];t.copyFromBuffer(e,d*s,i*s,h*s),r[u]=i,i+=h}return i}function rebatchGPU(e,t){var i=e._indexOffsets,r=e._indexCounts,n=e._batchIdLookUp,a=t.pop(),o=[a],s=e._va.indexBuffer,l=e._vaSwap.indexBuffer,c=copyIndicesGPU(s,l,0,i,r,a.batchIds,n);for(a.offset=0,a.count=c;0<t.length;){var u,d=t.pop();Color.equals(d.color,a.color)?(c=copyIndicesGPU(s,l,c,i,r,d.batchIds,n),a.batchIds=a.batchIds.concat(d.batchIds),a.count=c-a.offset):(c=copyIndicesGPU(s,l,u=c,i,r,d.batchIds,n),d.offset=u,d.count=c-u,o.push(d),a=d)}var h=e._va;e._va=e._vaSwap,e._vaSwap=h,e._batchedIndices=o}function compareColors(e,t){return t.color.toRgba()-e.color.toRgba()}function rebatchCommands(e,t){if(!e._batchDirty)return!1;for(var i=e._batchedIndices,r=i.length,n=!1,a={},o=0;o<r;++o){var s=i[o].color.toRgba();if(defined(a[s])){n=!0;break}a[s]=!0}return n?n&&!e.forceRebatch&&e._framesSinceLastRebatch<120?void++e._framesSinceLastRebatch:(i.sort(compareColors),(t.webgl2?rebatchGPU:rebatchCPU)(e,i),e._framesSinceLastRebatch=0,e._batchDirty=!1,e._pickCommandsDirty=!0,e._wireframeDirty=!0):e._batchDirty=!1}function createColorCommands$1(e,t){var i=rebatchCommands(e,t),r=e._commands,n=e._batchedIndices,a=n.length,t=2*a;if(!defined(r)||i||r.length!==t){r.length=t;for(var o=e._va,s=e._sp,l=defaultValue(e._modelMatrix,Matrix4.IDENTITY),c=e._uniformMap,u=e._boundingVolume,d=0;d<a;++d){var h=n[d].offset,p=n[d].count,m=r[2*d];defined(m)||(m=r[2*d]=new DrawCommand({owner:e})),m.vertexArray=o,m.modelMatrix=l,m.offset=h,m.count=p,m.renderState=e._rsStencilDepthPass,m.shaderProgram=s,m.uniformMap=c,m.boundingVolume=u,m.cull=!1,m.pass=Pass$1.TERRAIN_CLASSIFICATION;var f=DrawCommand.shallowClone(m,m.derivedCommands.tileset);f.renderState=e._rsStencilDepthPass3DTiles,f.pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,m.derivedCommands.tileset=f;f=r[2*d+1];defined(f)||(f=r[2*d+1]=new DrawCommand({owner:e})),f.vertexArray=o,f.modelMatrix=l,f.offset=h,f.count=p,f.renderState=e._rsColorPass,f.shaderProgram=s,f.uniformMap=c,f.boundingVolume=u,f.cull=!1,f.pass=Pass$1.TERRAIN_CLASSIFICATION;p=DrawCommand.shallowClone(f,f.derivedCommands.tileset);p.pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,f.derivedCommands.tileset=p}e._commandsDirty=!0}}function createColorCommandsIgnoreShow(e,t){if(e.classificationType!==ClassificationType$1.TERRAIN&&t.invertClassification&&(!defined(e._commandsIgnoreShow)||e._commandsDirty)){for(var i=e._commands,r=e._commandsIgnoreShow,n=e._spStencil,t=i.length,a=r.length=t/2,o=0,s=0;s<a;++s){var l=r[s]=DrawCommand.shallowClone(i[o],r[s]);l.shaderProgram=n,l.pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,o+=2}e._commandsDirty=!1}}function createPickCommands$1(e){if(e._pickCommandsDirty){var t=e._indexOffsets.length,i=e._pickCommands;i.length=2*t;for(var r=e._va,n=e._spStencil,a=e._spPick,o=defaultValue(e._modelMatrix,Matrix4.IDENTITY),s=e._uniformMap,l=0;l<t;++l){var c=e._indexOffsets[l],u=e._indexCounts[l],d=defined(e._boundingVolumes)?e._boundingVolumes[l]:e.boundingVolume,h=i[2*l];defined(h)||(h=i[2*l]=new DrawCommand({owner:e,pickOnly:!0})),h.vertexArray=r,h.modelMatrix=o,h.offset=c,h.count=u,h.renderState=e._rsStencilDepthPass,h.shaderProgram=n,h.uniformMap=s,h.boundingVolume=d,h.pass=Pass$1.TERRAIN_CLASSIFICATION;var p=DrawCommand.shallowClone(h,h.derivedCommands.tileset);p.renderState=e._rsStencilDepthPass3DTiles,p.pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,h.derivedCommands.tileset=p;p=i[2*l+1];defined(p)||(p=i[2*l+1]=new DrawCommand({owner:e,pickOnly:!0})),p.vertexArray=r,p.modelMatrix=o,p.offset=c,p.count=u,p.renderState=e._rsPickPass,p.shaderProgram=a,p.uniformMap=s,p.boundingVolume=d,p.pass=Pass$1.TERRAIN_CLASSIFICATION;d=DrawCommand.shallowClone(p,p.derivedCommands.tileset);d.pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,p.derivedCommands.tileset=d}e._pickCommandsDirty=!1}}function clearStyle(e,t){e._updatingAllCommands=!0;for(var i=e._batchIds,r=i.length,n=0;n<r;++n){var a=t[i[n]];a.show=!0,a.color=Color.WHITE}var o=e._batchedIndices,r=o.length;for(n=0;n<r;++n)o[n].color=Color.clone(Color.WHITE);e._updatingAllCommands=!1,e._batchDirty=!0}Vector3DTilePrimitive.prototype.createFeatures=function(e,t){for(var i=this._batchIds,r=i.length,n=0;n<r;++n){var a=i[n];t[a]=new Cesium3DTileFeature(e,a)}},Vector3DTilePrimitive.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};var scratchColor$3=new Color,DEFAULT_COLOR_VALUE$1=Color.WHITE,DEFAULT_SHOW_VALUE$1=!0,complexExpressionReg=/\$/;function queueCommands(e,t,i,r){for(var n,e=e.classificationType,a=e!==ClassificationType$1.CESIUM_3D_TILE,o=e!==ClassificationType$1.TERRAIN,s=t.commandList,l=i.length,c=0;c<l;++c)a&&((n=i[c]).pass=Pass$1.TERRAIN_CLASSIFICATION,s.push(n)),o&&((n=i[c].derivedCommands.tileset).pass=Pass$1.CESIUM_3D_TILE_CLASSIFICATION,s.push(n));if(t.invertClassification&&defined(r))for(l=r.length,c=0;c<l;++c)s.push(r[c])}function queueWireframeCommands(e,t){for(var i=e.commandList,r=t.length,n=0;n<r;n+=2){var a=t[n+1];a.pass=Pass$1.OPAQUE,i.push(a)}}function updateWireframe(e){var t,i;if(!(e.debugWireframe===e._debugWireframe&&!(e.debugWireframe&&e._wireframeDirty))){defined(e._rsWireframe)||(e._rsWireframe=RenderState.fromCache({})),i=e.debugWireframe?(t=e._rsWireframe,PrimitiveType$1.LINES):(t=e._rsColorPass,PrimitiveType$1.TRIANGLES);for(var r=e._commands,n=r.length,a=0;a<n;a+=2){var o=r[a+1];o.renderState=t,o.primitiveType=i}e._debugWireframe=e.debugWireframe,e._wireframeDirty=!1}}Vector3DTilePrimitive.prototype.applyStyle=function(e,t){if(defined(e)){var i=e.color,i=i instanceof Expression&&!complexExpressionReg.test(i.expression);this._updatingAllCommands=i;var r=this._batchIds,n=r.length;for(s=0;s<n;++s){var a=t[r[s]];a.color=defined(e.color)?e.color.evaluateColor(a,scratchColor$3):DEFAULT_COLOR_VALUE$1,a.show=defined(e.show)?e.show.evaluate(a):DEFAULT_SHOW_VALUE$1}if(i){for(var o=this._batchedIndices,n=o.length,s=0;s<n;++s)o[s].color=Color.clone(Color.WHITE);this._updatingAllCommands=!1,this._batchDirty=!0}}else clearStyle(this,t)},Vector3DTilePrimitive.prototype.updateCommands=function(e,t){if(!this._updatingAllCommands){var i=this._batchIdLookUp,r=i[e];if(defined(r)){for(var n=this._indexOffsets,a=this._indexCounts,o=n[r],r=a[r],s=this._batchedIndices,l=s.length,c=0;c<l;++c){var u=s[c].offset,d=s[c].count;if(u<=o&&o<u+d)break}s.push(new Vector3DTileBatch({color:Color.clone(t),offset:o,count:r,batchIds:[e]}));for(var h=[],p=[],m=s[c].batchIds,f=m.length,g=0;g<f;++g){var _=m[g];_!==e&&(n[i[_]]<o?h:p).push(_)}0!==p.length&&s.push(new Vector3DTileBatch({color:Color.clone(s[c].color),offset:o+r,count:s[c].offset+s[c].count-(o+r),batchIds:p})),0!==h.length?(s[c].count=o-s[c].offset,s[c].batchIds=h):s.splice(c,1),this._batchDirty=!0}}},Vector3DTilePrimitive.prototype.update=function(e){var t=e.context;createVertexArray$1(this,t),createShaders(this,t),createRenderStates$2(this),createUniformMap(this,t);var i=e.passes;i.render&&(createColorCommands$1(this,t),createColorCommandsIgnoreShow(this,e),updateWireframe(this),this._debugWireframe?queueWireframeCommands(e,this._commands):queueCommands(this,e,this._commands,this._commandsIgnoreShow)),i.pick&&(createPickCommands$1(this),queueCommands(this,e,this._pickCommands))},Vector3DTilePrimitive.prototype.isDestroyed=function(){return!1},Vector3DTilePrimitive.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaSwap=this._vaSwap&&this._vaSwap.destroy(),destroyObject(this)};var boundingSphereCartesian3Scratch=new Cartesian3,ModelState=ModelUtility.ModelState;function ClassificationModel(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).gltf;if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),!(t instanceof Uint8Array))throw new RuntimeError("Only binary glTF is supported as a classifier.");updateVersion(t=parseGlb(t)),addDefaults(t),processModelMaterialsCommon(t),processPbrMaterials(t),ForEach.buffer(t,function(e){if(!defined(e.extras._pipeline.source))throw new RuntimeError("Buffer data must be embedded in the binary gltf.")});var i=t.nodes,r=t.meshes,n=i[0].mesh;if(1!==i.length||!defined(n))throw new RuntimeError("Only one node is supported for classification and it must have a mesh.");if(1!==r.length)throw new RuntimeError("Only one mesh is supported when using b3dm for classification.");r=r[0].primitives;if(1!==r.length)throw new RuntimeError("Only one primitive per mesh is supported when using b3dm for classification.");if(!defined(r[0].attributes.POSITION))throw new RuntimeError("The mesh must have a position attribute.");if(!defined(r[0].attributes._BATCHID))throw new RuntimeError("The mesh must have a batch id attribute.");this._gltf=t,this.show=defaultValue(e.show,!0),this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this._modelMatrix=Matrix4.clone(this.modelMatrix),this._ready=!1,this._readyPromise=when.defer(),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this._debugShowBoundingVolume=!1,this.debugWireframe=defaultValue(e.debugWireframe,!1),this._debugWireframe=!1,this._classificationType=e.classificationType,this._vertexShaderLoaded=e.vertexShaderLoaded,this._classificationShaderLoaded=e.classificationShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._pickIdLoaded=e.pickIdLoaded,this._ignoreCommands=defaultValue(e.ignoreCommands,!1),this._upAxis=defaultValue(e.upAxis,Axis$1.Y),this._batchTable=e.batchTable,this._computedModelMatrix=new Matrix4,this._initialRadius=void 0,this._boundingSphere=void 0,this._scaledBoundingSphere=new BoundingSphere,this._state=ModelState.NEEDS_LOAD,this._loadResources=void 0,this._mode=void 0,this._dirty=!1,this._nodeMatrix=new Matrix4,this._primitive=void 0,this._extensionsUsed=void 0,this._extensionsRequired=void 0,this._quantizedUniforms=void 0,this._buffers={},this._vertexArray=void 0,this._shaderProgram=void 0,this._uniformMap=void 0,this._geometryByteLength=0,this._trianglesLength=0,this._rtcCenter=void 0,this._rtcCenterEye=void 0,this._rtcCenter3D=void 0,this._rtcCenter2D=void 0}function addBuffersToLoadResources(e){var t=e.gltf,i=e._loadResources;ForEach.buffer(t,function(e,t){i.buffers[t]=e.extras._pipeline.source})}function parseBufferViews(e){var i=e.gltf.bufferViews,r=e._loadResources.vertexBuffersToCreate;ForEach.bufferView(e.gltf,function(e,t){e.target===WebGLConstants$1.ARRAY_BUFFER&&r.enqueue(t)});var n=e._loadResources.indexBuffersToCreate,a={};ForEach.accessor(e.gltf,function(e){var t=e.bufferView;i[t].target!==WebGLConstants$1.ELEMENT_ARRAY_BUFFER||defined(a[t])||(a[t]=!0,n.enqueue({id:t,componentType:e.componentType}))})}function createVertexBuffer(e,t){var i=t._loadResources,r=t.gltf.bufferViews[e],r=i.getBuffer(r);t._buffers[e]=r,t._geometryByteLength+=r.byteLength}function createIndexBuffer(e,t,i){var r=i._loadResources,n=i.gltf.bufferViews[e],t={typedArray:r.getBuffer(n),indexDatatype:t};i._buffers[e]=t,i._geometryByteLength+=t.typedArray.byteLength}function createBuffers(e){var t=e._loadResources;if(0===t.pendingBufferLoads){for(var i=t.vertexBuffersToCreate,r=t.indexBuffersToCreate;0<i.length;)createVertexBuffer(i.dequeue(),e);for(;0<r.length;){var n=r.dequeue();createIndexBuffer(n.id,n.componentType,e)}}}function modifyShaderForQuantizedAttributes(e,t){var i=t.gltf.meshes[0].primitives[0],e=ModelUtility.modifyShaderForQuantizedAttributes(t.gltf,i,e);return t._quantizedUniforms=e.uniforms,e.shader}function modifyShader(e,t){return defined(t)&&(e=t(e)),e}function createProgram(e){var t=e.gltf,i=ModelUtility.getAttributeOrUniformBySemantic(t,"POSITION"),r=ModelUtility.getAttributeOrUniformBySemantic(t,"_BATCHID"),n={};n[i]=0,n[r]=1;var a=ModelUtility.getAttributeOrUniformBySemantic(t,"MODELVIEWPROJECTION"),o=defined(a)?(s="uniform mat4 "+a+";\n",a+" * vec4("+i+", 1.0)"):(a=ModelUtility.getAttributeOrUniformBySemantic(t,"PROJECTION"),defined(o=ModelUtility.getAttributeOrUniformBySemantic(t,"MODELVIEW"))||(o=ModelUtility.getAttributeOrUniformBySemantic(t,"CESIUM_RTC_MODELVIEW")),s="uniform mat4 "+o+";\nuniform mat4 "+a+";\n",a+" * "+o+" * vec4("+i+", 1.0)"),s="attribute vec3 "+i+";\nattribute float "+r+";\n"+s+"void main() {\n"+(" vec4 positionInClipCoords = "+o+";\n")+" gl_Position = czm_depthClamp(positionInClipCoords);\n}\n";e.extensionsUsed.WEB3D_quantized_attributes&&(s=modifyShaderForQuantizedAttributes(s,e));o=modifyShader(s,e._vertexShaderLoaded),s=modifyShader("#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\nvoid main() \n{ \n gl_FragColor = vec4(1.0); \n czm_writeDepthClamp();\n}\n",e._classificationShaderLoaded);e._shaderProgram={vertexShaderSource:o,fragmentShaderSource:s,attributeLocations:n}}function getAttributeLocations(){return{POSITION:0,_BATCHID:1}}function createVertexArray$2(e){var r,n,a,t,o,s,i;e._loadResources.finishedBuffersCreation()&&!defined(e._vertexArray)&&(r=e._buffers,n=e.gltf,a=n.accessors,t=n.meshes[0].primitives[0],o=getAttributeLocations(),s={},ForEach.meshPrimitiveAttribute(t,function(e,t){var i=o[t];defined(i)&&(e=a[e],s[t]={index:i,vertexBuffer:r[e.bufferView],componentsPerAttribute:numberOfComponentsForType(e.type),componentDatatype:e.componentType,offsetInBytes:e.byteOffset,strideInBytes:getAccessorByteStride(n,e)})}),defined(t.indices)&&(i=a[t.indices],i=r[i.bufferView]),e._vertexArray={attributes:s,indexBuffer:i})}Object.defineProperties(ClassificationModel.prototype,{gltf:{get:function(){return this._gltf}},boundingSphere:{get:function(){var e=this.modelMatrix,t=Matrix4.getScale(e,boundingSphereCartesian3Scratch),e=this._scaledBoundingSphere;return e.center=Cartesian3.multiplyComponents(this._boundingSphere.center,t,e.center),e.radius=Cartesian3.maximumComponent(t)*this._initialRadius,defined(this._rtcCenter)&&Cartesian3.add(this._rtcCenter,e.center,e.center),e}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},dirty:{get:function(){return this._dirty}},extensionsUsed:{get:function(){return defined(this._extensionsUsed)||(this._extensionsUsed=ModelUtility.getUsedExtensions(this.gltf)),this._extensionsUsed}},extensionsRequired:{get:function(){return defined(this._extensionsRequired)||(this._extensionsRequired=ModelUtility.getRequiredExtensions(this.gltf)),this._extensionsRequired}},upAxis:{get:function(){return this._upAxis}},trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},texturesByteLength:{get:function(){return 0}},classificationType:{get:function(){return this._classificationType}}});var gltfSemanticUniforms$1={PROJECTION:function(e,t){return ModelUtility.getGltfSemanticUniforms().PROJECTION(e,t)},MODELVIEW:function(e,t){return ModelUtility.getGltfSemanticUniforms().MODELVIEW(e,t)},CESIUM_RTC_MODELVIEW:function(e,t){return ModelUtility.getGltfSemanticUniforms().CESIUM_RTC_MODELVIEW(e,t)},MODELVIEWPROJECTION:function(e,t){return ModelUtility.getGltfSemanticUniforms().MODELVIEWPROJECTION(e,t)}};function createUniformMap$1(i,r){var n;defined(i._uniformMap)||(n={},ForEach.technique(i.gltf,function(e){ForEach.techniqueUniform(e,function(e,t){defined(e.semantic)&&defined(gltfSemanticUniforms$1[e.semantic])&&(n[t]=gltfSemanticUniforms$1[e.semantic](r.uniformState,i))})}),i._uniformMap=n)}function createUniformsForQuantizedAttributes(e,t){return ModelUtility.createUniformsForQuantizedAttributes(e.gltf,t,e._quantizedUniforms)}function triangleCountFromPrimitiveIndices(e,t){switch(e.mode){case PrimitiveType$1.TRIANGLES:return t/3;case PrimitiveType$1.TRIANGLE_STRIP:case PrimitiveType$1.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function createPrimitive(e){var t=e._batchTable,i=e._uniformMap,r=e._vertexArray,n=e.gltf,a=n.accessors,o=n.meshes[0].primitives[0],s=a[o.indices],l=o.attributes.POSITION,c=ModelUtility.getAccessorMinMax(n,l),u=BoundingSphere.fromCornerPoints(Cartesian3.fromArray(c.min),Cartesian3.fromArray(c.max));b=defined(s)?(x=s.count,s.byteOffset/IndexDatatype$1.getSizeInBytes(s.componentType)):(x=a[o.attributes.POSITION].count,0),e._trianglesLength+=triangleCountFromPrimitiveIndices(o,x),defined(e._uniformMapLoaded)&&(i=e._uniformMapLoaded(i)),e.extensionsUsed.WEB3D_quantized_attributes&&(i=combine(i,createUniformsForQuantizedAttributes(e,o)));var d,h,p,n=r.attributes.POSITION,l=n.componentDatatype,c=n.vertexBuffer,s=c.byteOffset,a=c.byteLength/ComponentDatatype$1.getSizeInBytes(l),o=ComponentDatatype$1.createArrayBufferView(l,c.buffer,s,a),l=(n=r.attributes._BATCHID).componentDatatype,s=(c=n.vertexBuffer).byteOffset,a=c.byteLength/ComponentDatatype$1.getSizeInBytes(l),m=ComponentDatatype$1.createArrayBufferView(l,c.buffer,s,a),a=r.indexBuffer.typedArray,f=r.indexBuffer.indexDatatype===IndexDatatype$1.UNSIGNED_SHORT?new Uint16Array(a.buffer,a.byteOffset,a.byteLength/Uint16Array.BYTES_PER_ELEMENT):new Uint32Array(a.buffer,a.byteOffset,a.byteLength/Uint32Array.BYTES_PER_ELEMENT),o=arraySlice(o),g=[],_=[],y=[],C=[],v=(m=arraySlice(m))[(f=arraySlice(f,b,b+x))[0]];g.push(v),y.push(0);for(var S=f.length,T=1;T<S;++T)(d=m[f[T]])!==v&&(p=T-(h=y[y.length-1]),g.push(d),_.push(p),y.push(T),C.push(new Vector3DTileBatch({offset:h,count:p,batchIds:[v],color:Color.WHITE})),v=d);p=S-(h=y[y.length-1]),_.push(p),C.push(new Vector3DTileBatch({offset:h,count:p,batchIds:[v],color:Color.WHITE}));var r=e._shaderProgram,a=r.vertexShaderSource,b=r.fragmentShaderSource,x=r.attributeLocations,r=defined(e._pickIdLoaded)?e._pickIdLoaded():void 0;e._primitive=new Vector3DTilePrimitive({classificationType:e._classificationType,positions:o,indices:f,indexOffsets:y,indexCounts:_,batchIds:g,vertexBatchIds:m,batchedIndices:C,batchTable:t,boundingVolume:new BoundingSphere,_vertexShaderSource:a,_fragmentShaderSource:b,_attributeLocations:x,_uniformMap:i,_pickId:r,_modelMatrix:new Matrix4,_boundingSphere:u}),e._buffers=void 0,e._vertexArray=void 0,e._shaderProgram=void 0,e._uniformMap=void 0}function createRuntimeNodes(e){var t;e._loadResources.finished()&&(defined(e._primitive)||(t=e.gltf.nodes[0],e._nodeMatrix=ModelUtility.getTransform(t,e._nodeMatrix),createPrimitive(e)))}function createResources(e,t){t=t.context;ModelUtility.checkSupportedGlExtensions(e.gltf.glExtensionsUsed,t),createBuffers(e),createProgram(e),createVertexArray$2(e),createUniformMap$1(e,t),createRuntimeNodes(e)}var scratchComputedTranslation=new Cartesian4,scratchComputedMatrixIn2D=new Matrix4;function updateNodeModelMatrix(e,t,i,r){var n,a=e._computedModelMatrix;e._mode===SceneMode$1.SCENE3D||e._ignoreCommands||(n=Matrix4.getColumn(a,3,scratchComputedTranslation),Cartesian4.equals(n,Cartesian4.UNIT_W)?(n=e.boundingSphere.center,n=Transforms.wgs84To2DModelMatrix(r,n,scratchComputedMatrixIn2D),a=Matrix4.multiply(n,a,scratchComputedMatrixIn2D),defined(e._rtcCenter)&&(Matrix4.setTranslation(a,Cartesian4.UNIT_W,a),e._rtcCenter=e._rtcCenter2D)):(a=Transforms.basisTo2D(r,a,scratchComputedMatrixIn2D),e._rtcCenter=e._rtcCenter3D));r=e._primitive;(t||i)&&(Matrix4.multiplyTransformation(a,e._nodeMatrix,r._modelMatrix),BoundingSphere.transform(r._boundingSphere,r._modelMatrix,r._boundingVolume),defined(e._rtcCenter)&&Cartesian3.add(e._rtcCenter,r._boundingVolume.center,r._boundingVolume.center))}function ClippingPlane(e,t){this._distance=t,this._normal=new UpdateChangedCartesian3(e,this),this.onChangeCallback=void 0,this.index=-1}function UpdateChangedCartesian3(e,t){this._clippingPlane=t,this._cartesian3=Cartesian3.clone(e)}function ClippingPlaneCollection(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=defaultValue(e.enabled,!0),this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this.edgeColor=Color.clone(defaultValue(e.edgeColor,Color.WHITE)),this.edgeWidth=defaultValue(e.edgeWidth,0),this.planeAdded=new Event,this.planeRemoved=new Event,this._owner=void 0;var t=defaultValue(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?unionIntersectFunction:defaultIntersectFunction,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;var i=e.planes;if(defined(i))for(var r=i.length,n=0;n<r;++n)this.add(i[n])}function unionIntersectFunction(e){return e===Intersect$1.OUTSIDE}function defaultIntersectFunction(e){return e===Intersect$1.INSIDE}function setIndexDirty(e,t){e._multipleDirtyPlanes=e._multipleDirtyPlanes||-1!==e._dirtyIndex&&e._dirtyIndex!==t,e._dirtyIndex=t}function indexOf(e,t){for(var i=e.length,r=0;r<i;++r)if(Plane.equals(e[r],t))return r;return-1}ClassificationModel.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)},ClassificationModel.prototype.update=function(e){var t,i,r,n,a,o,s;e.mode!==SceneMode$1.MORPHING&&(FeatureDetection.supportsWebP.initialized?(o=FeatureDetection.supportsWebP(),this._state===ModelState.NEEDS_LOAD&&defined(this.gltf)&&(this._state=ModelState.LOADING,this._state!==ModelState.FAILED&&(defined(t=this.gltf.extensions)&&defined(t.CESIUM_RTC)&&(a=Cartesian3.fromArray(t.CESIUM_RTC.center),Cartesian3.equals(a,Cartesian3.ZERO)||(this._rtcCenter3D=a,r=(i=e.mapProjection).ellipsoid.cartesianToCartographic(this._rtcCenter3D),n=i.project(r),Cartesian3.fromElements(n.z,n.x,n.y,n),this._rtcCenter2D=n,this._rtcCenterEye=new Cartesian3,this._rtcCenter=this._rtcCenter3D)),this._loadResources=new ModelLoadResources,ModelUtility.parseBuffers(this))),a=this._loadResources,i=!1,this._state===ModelState.LOADING&&(0===a.pendingBufferLoads&&(ModelUtility.checkSupportedExtensions(this.extensionsRequired,o),addBuffersToLoadResources(this),parseBufferViews(this),this._boundingSphere=ModelUtility.computeBoundingSphere(this),this._initialRadius=this._boundingSphere.radius,createResources(this,e)),a.finished()&&(this._state=ModelState.LOADED,i=!0)),defined(a)&&this._state===ModelState.LOADED&&(i||createResources(this,e),a.finished()&&(this._loadResources=void 0)),((r=this.show)&&this._state===ModelState.LOADED||i)&&(this._dirty=!1,n=this.modelMatrix,o=e.mode!==this._mode,this._mode=e.mode,((a=!Matrix4.equals(this._modelMatrix,n)||o)||i)&&(Matrix4.clone(n,this._modelMatrix),o=this._computedModelMatrix,Matrix4.clone(n,o),this._upAxis===Axis$1.Y?Matrix4.multiplyTransformation(o,Axis$1.Y_UP_TO_Z_UP,o):this._upAxis===Axis$1.X&&Matrix4.multiplyTransformation(o,Axis$1.X_UP_TO_Z_UP,o)),(a||i)&&(updateNodeModelMatrix(this,a,i,e.mapProjection),this._dirty=!0)),i?(s=this,e.afterRender.push(function(){s._ready=!0,s._readyPromise.resolve(s)})):r&&!this._ignoreCommands&&(this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.debugWireframe=this.debugWireframe,this._primitive.update(e))):FeatureDetection.supportsWebP.initialize())},ClassificationModel.prototype.isDestroyed=function(){return!1},ClassificationModel.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),destroyObject(this)},Object.defineProperties(ClippingPlane.prototype,{distance:{get:function(){return this._distance},set:function(e){defined(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){defined(this.onChangeCallback)&&!Cartesian3.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),Cartesian3.clone(e,this._normal._cartesian3)}}}),ClippingPlane.fromPlane=function(e,t){return defined(t)?(t.normal=e.normal,t.distance=e.distance):t=new ClippingPlane(e.normal,e.distance),t},ClippingPlane.clone=function(e,t){return defined(t)?(t.normal=e.normal,t.distance=e.distance,t):new ClippingPlane(e.normal,e.distance)},Object.defineProperties(UpdateChangedCartesian3.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){defined(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){defined(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){defined(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}}),Object.defineProperties(ClippingPlaneCollection.prototype,{length:{get:function(){return this._planes.length}},unionClippingRegions:{get:function(){return this._unionClippingRegions},set:function(e){this._unionClippingRegions!==e&&(this._unionClippingRegions=e,this._testIntersection=e?unionIntersectFunction:defaultIntersectFunction)}},enabled:{get:function(){return this._enabled},set:function(e){this._enabled!==e&&(this._enabled=e)}},texture:{get:function(){return this._clippingPlanesTexture}},owner:{get:function(){return this._owner}},clippingPlanesState:{get:function(){return this._unionClippingRegions?this._planes.length:-this._planes.length}}}),ClippingPlaneCollection.prototype.add=function(e){var t=this._planes.length,i=this;e.onChangeCallback=function(e){setIndexDirty(i,e)},setIndexDirty(this,e.index=t),this._planes.push(e),this.planeAdded.raiseEvent(e,t)},ClippingPlaneCollection.prototype.get=function(e){return this._planes[e]},ClippingPlaneCollection.prototype.contains=function(e){return-1!==indexOf(this._planes,e)},ClippingPlaneCollection.prototype.remove=function(e){var t=this._planes,i=indexOf(t,e);if(-1===i)return!1;e instanceof ClippingPlane&&(e.onChangeCallback=void 0,e.index=-1);for(var r=t.length-1,n=i;n<r;++n){var a=t[n+1];(t[n]=a)instanceof ClippingPlane&&(a.index=n)}return this._multipleDirtyPlanes=!0,t.length=r,this.planeRemoved.raiseEvent(e,i),!0},ClippingPlaneCollection.prototype.removeAll=function(){for(var e=this._planes,t=e.length,i=0;i<t;++i){var r=e[i];r instanceof ClippingPlane&&(r.onChangeCallback=void 0,r.index=-1),this.planeRemoved.raiseEvent(r,i)}this._multipleDirtyPlanes=!0,this._planes=[]};var distanceEncodeScratch=new Cartesian4,oct32EncodeScratch=new Cartesian4;function packPlanesAsUint8(e,t,i){for(var r=e._uint8View,n=e._planes,a=0,o=t;o<i;++o){var s=n[o],l=AttributeCompression.octEncodeToCartesian4(s.normal,oct32EncodeScratch);r[a]=l.x,r[a+1]=l.y,r[a+2]=l.z,r[a+3]=l.w;s=Cartesian4.packFloat(s.distance,distanceEncodeScratch);r[a+4]=s.x,r[a+5]=s.y,r[a+6]=s.z,r[a+7]=s.w,a+=8}}function packPlanesAsFloats(e,t,i){for(var r=e._float32View,n=e._planes,a=0,o=t;o<i;++o){var s=n[o],l=s.normal;r[a]=l.x,r[a+1]=l.y,r[a+2]=l.z,r[a+3]=s.distance,a+=4}}function computeTextureResolution(e,t){var i=ContextLimits.maximumTextureSize;return t.x=Math.min(e,i),t.y=Math.ceil(e/t.x),t}var textureResolutionScratch=new Cartesian2;ClippingPlaneCollection.prototype.update=function(e){var t,i=this._clippingPlanesTexture,r=e.context,n=ClippingPlaneCollection.useFloatTexture(r),a=n?this.length:2*this.length;!defined(i)||((e=i.width*i.height)<a||a<.25*e)&&(i.destroy(),i=void 0,this._clippingPlanesTexture=void 0),0!==this.length&&(defined(i)||((t=computeTextureResolution(a,textureResolutionScratch)).y*=2,n?(i=new Texture({context:r,width:t.x,height:t.y,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.FLOAT,sampler:Sampler.NEAREST,flipY:!1}),this._float32View=new Float32Array(t.x*t.y*4)):(i=new Texture({context:r,width:t.x,height:t.y,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST,flipY:!1}),this._uint8View=new Uint8Array(t.x*t.y*4)),this._clippingPlanesTexture=i,this._multipleDirtyPlanes=!0),a=this._dirtyIndex,!this._multipleDirtyPlanes&&-1===a||(this._multipleDirtyPlanes?n?(packPlanesAsFloats(this,0,this._planes.length),i.copyFrom({width:i.width,height:i.height,arrayBufferView:this._float32View})):(packPlanesAsUint8(this,0,this._planes.length),i.copyFrom({width:i.width,height:i.height,arrayBufferView:this._uint8View})):(t=r=0,n?(t=Math.floor(a/i.width),r=Math.floor(a-t*i.width),packPlanesAsFloats(this,a,a+1),i.copyFrom({width:1,height:1,arrayBufferView:this._float32View},r,t)):(t=Math.floor(2*a/i.width),r=Math.floor(2*a-t*i.width),packPlanesAsUint8(this,a,a+1),i.copyFrom({width:2,height:1,arrayBufferView:this._uint8View},r,t))),this._multipleDirtyPlanes=!1,this._dirtyIndex=-1))};var scratchMatrix=new Matrix4,scratchPlane$2=new Plane(Cartesian3.UNIT_X,0);ClippingPlaneCollection.prototype.computeIntersectionWithBoundingVolume=function(e,t){var i=this._planes,r=i.length,n=this.modelMatrix;defined(t)&&(n=Matrix4.multiply(t,n,scratchMatrix));var a=Intersect$1.INSIDE;!this.unionClippingRegions&&0<r&&(a=Intersect$1.OUTSIDE);for(var o=0;o<r;++o){var s=i[o];Plane.transform(s,n,scratchPlane$2);s=e.intersectPlane(scratchPlane$2);if(s===Intersect$1.INTERSECTING)a=s;else if(this._testIntersection(s))return s}return a},ClippingPlaneCollection.setOwner=function(e,t,i){e!==t[i]&&(t[i]=t[i]&&t[i].destroy(),defined(e)&&((e._owner=t)[i]=e))},ClippingPlaneCollection.useFloatTexture=function(e){return e.floatingPointTexture},ClippingPlaneCollection.getTextureResolution=function(e,t,i){var r=e.texture;if(defined(r))return i.x=r.width,i.y=r.height,i;i=computeTextureResolution(ClippingPlaneCollection.useFloatTexture(t)?e.length:2*e.length,i);return i.y*=2,i},ClippingPlaneCollection.prototype.isDestroyed=function(){return!1},ClippingPlaneCollection.prototype.destroy=function(){return this._clippingPlanesTexture=this._clippingPlanesTexture&&this._clippingPlanesTexture.destroy(),destroyObject(this)};var ColorBlendMode={HIGHLIGHT:0,REPLACE:1,MIX:2,getColorBlend:function(e,t){return e===ColorBlendMode.HIGHLIGHT?0:e===ColorBlendMode.REPLACE?1:e===ColorBlendMode.MIX?CesiumMath.clamp(t,CesiumMath.EPSILON4,1):void 0}},ColorBlendMode$1=Object.freeze(ColorBlendMode);function DracoLoader(){}function addBufferToLoadResources(e,t){var i="runtime."+Object.keys(e.createdBufferViews).length,r=e.buffers,n=Object.keys(r).length;return r[n]=t,e.createdBufferViews[i]={buffer:n,byteOffset:0,byteLength:t.byteLength},i}function addNewVertexBuffer(e,t,i){t=t._loadResources,e=addBufferToLoadResources(t,e);return t.vertexBuffersToCreate.enqueue(e),e}function addNewIndexBuffer(e,t,i){var r=e.typedArray,n=t._loadResources,t=addBufferToLoadResources(n,r);return n.indexBuffersToCreate.enqueue({id:t,componentType:ComponentDatatype$1.fromTypedArray(r)}),{bufferViewId:t,numberOfIndices:e.numberOfIndices}}function scheduleDecodingTask(e,s,l,t){if(DracoLoader._taskProcessorReady){var c=l.primitivesToDecode.peek();if(defined(c)){e=e.scheduleTask(c,[c.array.buffer]);if(defined(e))return l.activeDecodingTasks++,l.primitivesToDecode.dequeue(),e.then(function(e){l.activeDecodingTasks--;var t,i,r,n=addNewIndexBuffer(e.indexArray,s),a={},o=e.attributeData;for(t in o)o.hasOwnProperty(t)&&(i=addNewVertexBuffer((r=o[t]).array,s),(r=r.data).bufferView=i,a[t]=r);s._decodedData[c.mesh+".primitive."+c.primitive]={bufferView:n.bufferViewId,numberOfIndices:n.numberOfIndices,attributes:a}})}}}function getClipAndStyleCode(e,t,i){return" float clipDistance = clip(gl_FragCoord, "+e+", "+t+"); \n vec4 clippingPlanesEdgeColor = vec4(1.0); \n clippingPlanesEdgeColor.rgb = "+i+".rgb; \n float clippingPlanesEdgeWidth = "+i+".a; \n if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) \n { \n gl_FragColor = clippingPlanesEdgeColor;\n } \n"}DracoLoader._maxDecodingConcurrency=Math.max(FeatureDetection.hardwareConcurrency-1,1),DracoLoader._decoderTaskProcessor=void 0,DracoLoader._taskProcessorReady=!1,DracoLoader._getDecoderTaskProcessor=function(){var e;return defined(DracoLoader._decoderTaskProcessor)||((e=new TaskProcessor("decodeDraco",DracoLoader._maxDecodingConcurrency)).initWebAssemblyModule({modulePath:"ThirdParty/Workers/draco_wasm_wrapper.js",wasmBinaryFile:"ThirdParty/draco_decoder.wasm",fallbackModulePath:"ThirdParty/Workers/draco_decoder.js"}).then(function(){DracoLoader._taskProcessorReady=!0}),DracoLoader._decoderTaskProcessor=e),DracoLoader._decoderTaskProcessor},DracoLoader.hasExtension=function(e){return defined(e.extensionsRequired.KHR_draco_mesh_compression)||defined(e.extensionsUsed.KHR_draco_mesh_compression)},DracoLoader._decodedModelResourceCache=void 0,DracoLoader.parse=function(e,t){if(DracoLoader.hasExtension(e)){var a=e._loadResources,i=e.cacheKey;if(defined(i)){defined(DracoLoader._decodedModelResourceCache)||(defined(t.cache.modelDecodingCache)||(t.cache.modelDecodingCache={}),DracoLoader._decodedModelResourceCache=t.cache.modelDecodingCache);i=DracoLoader._decodedModelResourceCache[i];if(defined(i))return i.count++,void(a.pendingDecodingCache=!0)}var o=e._dequantizeInShader,s=e.gltf;ForEach.mesh(s,function(e,n){ForEach.meshPrimitive(e,function(e,t){var i,r;!defined(e.extensions)||defined(i=e.extensions.KHR_draco_mesh_compression)&&(r=s.bufferViews[i.bufferView],e=arraySlice(s.buffers[r.buffer].extras._pipeline.source,r.byteOffset,r.byteOffset+r.byteLength),a.primitivesToDecode.enqueue({mesh:n,primitive:t,array:e,bufferView:r,compressedAttributes:i.attributes,dequantizeInShader:o}))})})}},DracoLoader.decodeModel=function(e,t){if(!DracoLoader.hasExtension(e))return when.resolve();var i=e._loadResources,r=e.cacheKey;if(defined(r)&&defined(DracoLoader._decodedModelResourceCache)){var n=DracoLoader._decodedModelResourceCache[r];if(defined(n)&&i.pendingDecodingCache)return when(n.ready,function(){e._decodedData=n.data,i.pendingDecodingCache=!1});DracoLoader._decodedModelResourceCache[r]={ready:!1,count:1,data:void 0}}if(0===i.primitivesToDecode.length)return when.resolve();for(var a=DracoLoader._getDecoderTaskProcessor(),o=[],s=scheduleDecodingTask(a,e,i);defined(s);)o.push(s),s=scheduleDecodingTask(a,e,i);return when.all(o)},DracoLoader.decodePointCloud=function(e){var t=DracoLoader._getDecoderTaskProcessor();if(DracoLoader._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])},DracoLoader.cacheDataForModel=function(e){var t=e.cacheKey;defined(t)&&defined(DracoLoader._decodedModelResourceCache)&&(defined(t=DracoLoader._decodedModelResourceCache[t])&&(t.ready=!0,t.data=e._decodedData))},DracoLoader.destroyCachedDataForModel=function(e){var t=e.cacheKey;defined(t)&&defined(DracoLoader._decodedModelResourceCache)&&(defined(e=DracoLoader._decodedModelResourceCache[t])&&0==--e.count&&delete DracoLoader._decodedModelResourceCache[t])};var textureResolutionScratch$1=new Cartesian2;function getClippingFunction(e,t){var i=e.unionClippingRegions,r=e.length,n=ClippingPlaneCollection.useFloatTexture(t),e=ClippingPlaneCollection.getTextureResolution(e,t,textureResolutionScratch$1),t=e.x,e=e.y,e=(n?getClippingPlaneFloat:getClippingPlaneUint8)(t,e);return e+="\n",e+=(i?clippingFunctionUnion:clippingFunctionIntersect)(r)}function clippingFunctionUnion(e){return"float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)\n{\n vec4 position = czm_windowToEyeCoordinates(fragCoord);\n vec3 clipNormal = vec3(0.0);\n vec3 clipPosition = vec3(0.0);\n float clipAmount;\n float pixelWidth = czm_metersPerPixel(position);\n bool breakAndDiscard = false;\n for (int i = 0; i < "+e+"; ++i)\n {\n vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix);\n clipNormal = clippingPlane.xyz;\n clipPosition = -clippingPlane.w * clipNormal;\n float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount));\n if (amount <= 0.0)\n {\n breakAndDiscard = true;\n break;\n }\n }\n if (breakAndDiscard) {\n discard;\n }\n return clipAmount;\n}\n"}function clippingFunctionIntersect(e){return"float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)\n{\n bool clipped = true;\n vec4 position = czm_windowToEyeCoordinates(fragCoord);\n vec3 clipNormal = vec3(0.0);\n vec3 clipPosition = vec3(0.0);\n float clipAmount = 0.0;\n float pixelWidth = czm_metersPerPixel(position);\n for (int i = 0; i < "+e+"; ++i)\n {\n vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix);\n clipNormal = clippingPlane.xyz;\n clipPosition = -clippingPlane.w * clipNormal;\n float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n clipAmount = max(amount, clipAmount);\n clipped = clipped && (amount <= 0.0);\n }\n if (clipped)\n {\n discard;\n }\n return clipAmount;\n}\n"}function getClippingPlaneFloat(e,t){var i=1/t,t=1/e+"";-1===t.indexOf(".")&&(t+=".0");i+="";return-1===i.indexOf(".")&&(i+=".0"),"vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform)\n{\n int pixY = clippingPlaneNumber / "+e+";\n int pixX = clippingPlaneNumber - (pixY * "+e+");\n float u = (float(pixX) + 0.5) * "+t+";\n float v = (float(pixY) + 0.5) * "+i+";\n vec4 plane = texture2D(packedClippingPlanes, vec2(u, v));\n return czm_transformPlane(plane, transform);\n}\n"}function getClippingPlaneUint8(e,t){var i=1/t,t=1/e+"";-1===t.indexOf(".")&&(t+=".0");i+="";return-1===i.indexOf(".")&&(i+=".0"),"vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform)\n{\n int clippingPlaneStartIndex = clippingPlaneNumber * 2;\n int pixY = clippingPlaneStartIndex / "+e+";\n int pixX = clippingPlaneStartIndex - (pixY * "+e+");\n float u = (float(pixX) + 0.5) * "+t+";\n float v = (float(pixY) + 0.5) * "+i+";\n vec4 oct32 = texture2D(packedClippingPlanes, vec2(u, v)) * 255.0;\n vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w);\n vec4 plane;\n plane.xyz = czm_octDecode(oct, 65535.0);\n plane.w = czm_unpackFloat(texture2D(packedClippingPlanes, vec2(u + "+t+", v)));\n return czm_transformPlane(plane, transform);\n}\n"}var JobType={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},JobType$1=Object.freeze(JobType);function ModelAnimationCache(){}var dataUriRegex$2=/^data\:/i;function getAccessorKey(e,t){var i=e.gltf,r=i.buffers,i=i.bufferViews[t.bufferView],r=r[i.buffer],i=i.byteOffset+t.byteOffset,t=t.count*numberOfComponentsForType(t.type),r=dataUriRegex$2.test(r.uri)?"":r.uri;return e.cacheKey+"//"+r+"/"+i+"/"+t}var cachedAnimationParameters={};ModelAnimationCache.getAnimationParameterValues=function(e,t){var i=getAccessorKey(e,t);if(!defined(h=cachedAnimationParameters[i])){for(var r=e.gltf,n=r.buffers,a=r.bufferViews[t.bufferView],o=n[a.buffer].extras._pipeline.source,s=t.componentType,l=t.type,c=numberOfComponentsForType(l),u=t.count,d=getAccessorByteStride(r,t),h=new Array(u),t=defaultValue(t.byteOffset,0),p=a.byteOffset+t,m=0;m<u;m++){var f=ComponentDatatype$1.createArrayBufferView(s,o.buffer,o.byteOffset+p,c);"SCALAR"===l?h[m]=f[0]:"VEC3"===l?h[m]=Cartesian3.fromArray(f):"VEC4"===l&&(h[m]=Quaternion.unpack(f)),p+=d}defined(e.cacheKey)&&(cachedAnimationParameters[i]=h)}return h};var cachedAnimationSplines={};function getAnimationSplineKey(e,t,i){return e.cacheKey+"//"+t+"/"+i}function ConstantSpline(e){this._value=e}function SteppedSpline(e){this._spline=e,this._lastTimeIndex=0}ConstantSpline.prototype.evaluate=function(e,t){return this._value},ConstantSpline.prototype.wrapTime=function(e){return 0},ConstantSpline.prototype.clampTime=function(e){return 0},SteppedSpline.prototype.findTimeInterval=Spline.prototype.findTimeInterval,SteppedSpline.prototype.evaluate=function(e,t){var i=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=this._spline.times,i=e>=r[i+1]?r[i+1]:r[i];return this._spline.evaluate(i,t)},Object.defineProperties(SteppedSpline.prototype,{times:{get:function(){return this._spline.times}}}),SteppedSpline.prototype.wrapTime=function(e){return this._spline.wrapTime(e)},SteppedSpline.prototype.clampTime=function(e){return this._spline.clampTime(e)},ModelAnimationCache.getAnimationSpline=function(e,t,i,r,n,a,o,s){t=getAnimationSplineKey(e,t,r),r=cachedAnimationSplines[t];return defined(r)||(s=s,1===(a=a).length&&1===s.length?r=new ConstantSpline(s[0]):"LINEAR"!==n.interpolation&&"STEP"!==n.interpolation||("translation"===o||"scale"===o?r=new LinearSpline({times:a,points:s}):"rotation"===o?r=new QuaternionSpline({times:a,points:s}):"weights"===o&&(r=new WeightSpline({times:a,weights:s})),defined(r)&&"STEP"===n.interpolation&&(r=new SteppedSpline(r))),defined(e.cacheKey)&&(cachedAnimationSplines[t]=r)),r};var cachedSkinInverseBindMatrices={};ModelAnimationCache.getSkinInverseBindMatrices=function(e,t){var i=getAccessorKey(e,t);if(!defined(d=cachedSkinInverseBindMatrices[i])){var r=e.gltf,n=r.buffers,e=r.bufferViews[t.bufferView],a=n[e.buffer].extras._pipeline.source,o=t.componentType,n=t.type,s=t.count,l=getAccessorByteStride(r,t),c=e.byteOffset+t.byteOffset,u=numberOfComponentsForType(n),d=new Array(s);if(o===WebGLConstants$1.FLOAT&&n===AttributeType$1.MAT4)for(var h=0;h<s;++h){var p=ComponentDatatype$1.createArrayBufferView(o,a.buffer,a.byteOffset+c,u);d[h]=Matrix4.fromArray(p),c+=l}cachedSkinInverseBindMatrices[i]=d}return d};var ModelAnimationLoop={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},ModelAnimationLoop$1=Object.freeze(ModelAnimationLoop),ModelAnimationState=Object.freeze({STOPPED:0,ANIMATING:1});function ModelAnimation(e,t,i){this._name=i.name,this._startTime=JulianDate.clone(e.startTime),this._delay=defaultValue(e.delay,0),this._stopTime=e.stopTime,this.removeOnStop=defaultValue(e.removeOnStop,!1),this._multiplier=defaultValue(e.multiplier,1),this._reverse=defaultValue(e.reverse,!1),this._loop=defaultValue(e.loop,ModelAnimationLoop$1.NONE),this.start=new Event,this.update=new Event,this.stop=new Event,this._state=ModelAnimationState.STOPPED,this._runtimeAnimation=i,this._computedStartTime=void 0,this._duration=void 0;var r=this;this._raiseStartEvent=function(){r.start.raiseEvent(t,r)},this._updateEventTime=0,this._raiseUpdateEvent=function(){r.update.raiseEvent(t,r,r._updateEventTime)},this._raiseStopEvent=function(){r.stop.raiseEvent(t,r)}}function ModelAnimationCollection(e){this.animationAdded=new Event,this.animationRemoved=new Event,this._model=e,this._scheduledAnimations=[],this._previousTime=void 0}function add(e,t,i){var r=e._model,t=new ModelAnimation(i,r,r._runtime.animations[t]);return e._scheduledAnimations.push(t),e.animationAdded.raiseEvent(r,t),t}function animateChannels(e,t){for(var i=e.channelEvaluators,r=i.length,n=0;n<r;++n)i[n](t)}Object.defineProperties(ModelAnimation.prototype,{name:{get:function(){return this._name}},startTime:{get:function(){return this._startTime}},delay:{get:function(){return this._delay}},stopTime:{get:function(){return this._stopTime}},multiplier:{get:function(){return this._multiplier}},reverse:{get:function(){return this._reverse}},loop:{get:function(){return this._loop}}}),Object.defineProperties(ModelAnimationCollection.prototype,{length:{get:function(){return this._scheduledAnimations.length}}}),ModelAnimationCollection.prototype.add=function(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t,i=this._model._runtime.animations;if(defined(e.index))return add(this,e.index,e);for(var r=i.length,n=0;n<r;++n)if(i[n].name===e.name){t=n;break}return add(this,t,e)},ModelAnimationCollection.prototype.addAll=function(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);for(var t=[],i=this._model._runtime.animations.length,r=0;r<i;++r)t.push(add(this,r,e));return t},ModelAnimationCollection.prototype.remove=function(e){if(defined(e)){var t=this._scheduledAnimations,i=t.indexOf(e);if(-1!==i)return t.splice(i,1),this.animationRemoved.raiseEvent(this._model,e),!0}return!1},ModelAnimationCollection.prototype.removeAll=function(){var e=this._model,t=this._scheduledAnimations,i=t.length;this._scheduledAnimations=[];for(var r=0;r<i;++r)this.animationRemoved.raiseEvent(e,t[r])},ModelAnimationCollection.prototype.contains=function(e){return!!defined(e)&&-1!==this._scheduledAnimations.indexOf(e)},ModelAnimationCollection.prototype.get=function(e){return this._scheduledAnimations[e]};var animationsToRemove=[];function createAnimationRemovedFunction(e,t,i){return function(){e.animationRemoved.raiseEvent(t,i)}}function ModelMaterial(e,t,i){this._name=t.name,this._id=i,this._uniformMap=e._uniformMaps[i],this._technique=void 0,this._program=void 0,this._values=void 0}function ModelMesh(e,t,i){for(var r=[],n=e.primitives,a=n.length,o=0;o<a;++o){var s=n[o];r[o]=t[s.material]}this._name=e.name,this._materials=r,this._id=i}function ModelNode(e,t,i,r,n){this._model=e,this._runtimeNode=i,this._name=t.name,this._id=r,this.useMatrix=!1,this._show=!0,this._matrix=Matrix4.clone(n),this._originalMatrix=Matrix4.clone(n)}ModelAnimationCollection.prototype.update=function(e){var t=this._scheduledAnimations,i=t.length;if(0===i)return this._previousTime=void 0,!1;if(JulianDate.equals(e.time,this._previousTime))return!1;this._previousTime=JulianDate.clone(e.time,this._previousTime);for(var r=!1,n=e.time,a=this._model,o=0;o<i;++o){var s=t[o],l=s._runtimeAnimation;defined(s._computedStartTime)||(s._computedStartTime=JulianDate.addSeconds(defaultValue(s.startTime,n),s.delay,new JulianDate)),defined(s._duration)||(s._duration=l.stopTime*(1/s.multiplier));var c=s._computedStartTime,u=s._duration,d=s.stopTime,h=0!==u?JulianDate.secondsDifference(n,c)/u:0;0!==u&&defined(d)&&JulianDate.greaterThan(n,d)&&(h=JulianDate.secondsDifference(d,c)/u);var p=0<=h,c=s.loop===ModelAnimationLoop$1.REPEAT||s.loop===ModelAnimationLoop$1.MIRRORED_REPEAT,p=(p||c&&!defined(s.startTime))&&(h<=1||c)&&(!defined(d)||JulianDate.lessThanOrEquals(n,d));!p&&s._state!==ModelAnimationState.ANIMATING||(p&&s._state===ModelAnimationState.STOPPED&&(s._state=ModelAnimationState.ANIMATING,0<s.start.numberOfListeners&&e.afterRender.push(s._raiseStartEvent)),s.loop===ModelAnimationLoop$1.REPEAT?h-=Math.floor(h):s.loop===ModelAnimationLoop$1.MIRRORED_REPEAT&&(d=h-(c=Math.floor(h)),h=c%2==1?1-d:d),s.reverse&&(h=1-h),u=h*u*s.multiplier,animateChannels(l,u=CesiumMath.clamp(u,l.startTime,l.stopTime)),0<s.update.numberOfListeners&&(s._updateEventTime=u,e.afterRender.push(s._raiseUpdateEvent)),r=!0,p||(s._state=ModelAnimationState.STOPPED,0<s.stop.numberOfListeners&&e.afterRender.push(s._raiseStopEvent),s.removeOnStop&&animationsToRemove.push(s)))}i=animationsToRemove.length;for(var m=0;m<i;++m){var f=animationsToRemove[m];t.splice(t.indexOf(f),1),e.afterRender.push(createAnimationRemovedFunction(this,a,f))}return animationsToRemove.length=0,r},Object.defineProperties(ModelMaterial.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}}}),ModelMaterial.prototype.setValue=function(e,t){e="u_"+e,e=this._uniformMap.values[e];e.value=e.clone(t,e.value)},ModelMaterial.prototype.getValue=function(e){e="u_"+e,e=this._uniformMap.values[e];if(defined(e))return e.value},Object.defineProperties(ModelMesh.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},materials:{get:function(){return this._materials}}}),Object.defineProperties(ModelNode.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,this._model._perNodeShowDirty=!0)}},matrix:{get:function(){return this._matrix},set:function(e){this._matrix=Matrix4.clone(e,this._matrix),this.useMatrix=!0;e=this._model;e._cesiumAnimationsDirty=!0,this._runtimeNode.dirtyNumber=e._maxDirtyNumber}},originalMatrix:{get:function(){return this._originalMatrix}}}),ModelNode.prototype.setMatrix=function(e){Matrix4.clone(e,this._matrix)};var MAX_GLTF_UINT16_INDEX=65534;function ModelOutlineLoader(){}function addOutline(e,t,i,r,n){var a,o,s=n.vertexCopies,l=n.extraVertices,c=n.outlineCoordinates,u=e.gltf,d=u.meshes[t].primitives[i],h=u.accessors,t=u.bufferViews;for(o in d.attributes)if(d.attributes.hasOwnProperty(o)){var p=h[d.attributes[o]];if(defined(p)){a=p.count;break}}if(defined(a)){for(var m=h[d.indices],f=t[m.bufferView],i=h[r],r=t[i.bufferView],g=e._loadResources,t=g.getBuffer(f),r=g.getBuffer(r),_=new(5123===m.componentType?Uint16Array:Uint32Array)(t.buffer,t.byteOffset+m.byteOffset,m.count),y=new(5123===i.componentType?Uint16Array:Uint32Array)(r.buffer,r.byteOffset+i.byteOffset,i.count),C=a,v=[C],S=0;S<y.length;S+=2){var T=y[S],b=y[S+1];v[Math.min(T,b)*C+Math.max(T,b)]=1}for(S=0;S<_.length;S+=3)for(var x=_[S],E=_[S+1],P=_[S+2],A=isHighlighted(v,x,E),w=isHighlighted(v,E,P),D=isHighlighted(v,P,x),M=matchAndStoreCoordinates(c,x,E,P,A,w,D);0<=M;){var I=M===x?s[x]:M===E?s[E]:s[P];if(void 0===I){I=a+l.length;for(var R=M;a<=R;)R=l[R-a];l.push(R),s[M]=I}MAX_GLTF_UINT16_INDEX<I&&_ instanceof Uint16Array&&(_=new Uint32Array(_),m.componentType=5125,f.buffer=u.buffers.push({byteLength:_.byteLength,extras:{_pipeline:{source:_.buffer}}})-1,f.byteLength=_.byteLength,f.byteOffset=0,e._loadResources.buffers[f.buffer]=new Uint8Array(_.buffer,0,_.byteLength),g.indexBuffersToCreate._array.forEach(function(e){e.id===m.bufferView&&(e.componentType=m.componentType)})),M===x?(x=I,_[S]=I):M===E?(E=I,_[S+1]=I):(P=I,_[S+2]=I),defined(m.max)&&(m.max[0]=Math.max(m.max[0],I)),M=matchAndStoreCoordinates(c,x,E,P,A,w,D)}}}function computeOrderMask(e,t,i,r,n){var a=3*t,o=e[a],t=e[1+a],a=e[2+a];return void 0===o?63:((o===i&&t===r&&a===n)<<0)+((o===i&&t===n&&a===r)<<1)+((o===r&&t===i&&a===n)<<2)+((o===r&&t===n&&a===i)<<3)+((o===n&&t===i&&a===r)<<4)+((o===n&&t===r&&a===i)<<5)}function popcount0to63(e){return(1&e)+(e>>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}function matchAndStoreCoordinates(e,t,i,r,n,a,o){var s=o?1:0,l=n?1:0,c=computeOrderMask(e,t,s,l,0);if(0===c)return t;var u=n?1:0,d=a?1:0,h=computeOrderMask(e,i,0,u,d);if(0===h)return i;var p=o?1:0,n=a?1:0,o=computeOrderMask(e,r,p,0,n);if(0===o)return r;var m,f,g,a=c&h&o;if(1&a)m=0,f=1,g=2;else if(2&a)m=0,g=1,f=2;else if(4&a)f=0,m=1,g=2;else if(8&a)f=0,g=1,m=2;else if(16&a)g=0,m=1,f=2;else{if(!(32&a)){c=popcount0to63(c),h=popcount0to63(h),o=popcount0to63(o);return c<h&&c<o?t:h<o?i:r}g=0,f=1,m=2}t*=3;e[t+m]=s,e[t+f]=l,e[t+g]=0;i*=3;e[i+m]=0,e[i+f]=u,e[i+g]=d;r*=3;return e[r+m]=p,e[r+f]=0,e[r+g]=n,-1}function isHighlighted(e,t,i){var r=e[0];return 1===e[Math.min(t,i)*r+Math.max(t,i)]}function createTexture$2(e){var t=new Uint8Array(e);return t[e-1]=192,8===e?t[e-1]=96:4===e?t[e-1]=48:2===e?t[e-1]=24:1===e&&(t[e-1]=12),t}function updateBufferViewsWithNewVertices(e,t){for(var i=e.gltf,r=e._loadResources,n=0;n<t.length;++n){var a=t[n],o=a.extras._pipeline.vertexNumberingScope;a.extras._pipeline.vertexNumberingScope=void 0;var s=o.extraVertices,l=r.getBuffer(a),c=a.byteStride||4,u=s.length,d=new Uint8Array(l.byteLength+u*c);for(d.set(l),v=0;v<u;++v)for(var h=s[v]*c,p=l.length+v*c,m=0;m<c;++m)d[p+m]=d[h+m];a.byteOffset=0,a.byteLength=d.byteLength;var f=i.buffers.push({byteLength:d.byteLength,extras:{_pipeline:{source:d.buffer}}})-1;a.buffer=f,r.buffers[f]=d;var g=o.accessors;for(v=0;v<g.length;++v){var _=g[v];i.accessors[_].count+=u}if(!o.createdOutlines){a=o.outlineCoordinates,f=new Float32Array(a),a=e.gltf.buffers.push({byteLength:f.byteLength,extras:{_pipeline:{source:f.buffer}}})-1;r.buffers[a]=new Uint8Array(f.buffer,0,f.byteLength);for(var a=e.gltf.bufferViews.push({buffer:a,byteLength:f.byteLength,byteOffset:0,byteStride:3*Float32Array.BYTES_PER_ELEMENT,target:34962})-1,y=e.gltf.accessors.push({bufferView:a,byteOffset:0,componentType:5126,count:f.length/3,type:"VEC3",min:[0,0,0],max:[1,1,1]})-1,C=o.primitives,v=0;v<C.length;++v)C[v].attributes._OUTLINE_COORDINATES=y;r.vertexBuffersToCreate.enqueue(a),o.createdOutlines=!0}}}function compactBuffers(e){for(var t=e.gltf,i=e._loadResources,r=0;r<t.buffers.length;++r){var n=t.buffers[r],a=t.bufferViews.filter(usesBuffer.bind(void 0,r)),o=a.reduce(function(e,t){return e+t.byteLength},0);if(o!==n.byteLength){for(var s=new Uint8Array(o),l=0,c=0;c<a.length;++c){var u=a[c],d=i.getBuffer(u);s.set(d,l),u.byteOffset=l,l+=d.byteLength}i.buffers[r]=s,n.extras._pipeline.source=s.buffer,n.byteLength=o}}}function usesBuffer(e,t){return t.buffer===e}function getVertexNumberingScope(e,t){var i=t.attributes;if(void 0!==i){var r,n,a=e.gltf;for(n in i)if(i.hasOwnProperty(n)){var o=i[n],s=a.accessors[o].bufferView,s=a.bufferViews[s];if(defined(s.extras)||(s.extras={}),defined(s.extras._pipeline)||(s.extras._pipeline={}),defined(s.extras._pipeline.vertexNumberingScope)){if(void 0!==r&&s.extras._pipeline.vertexNumberingScope!==r)return}else s.extras._pipeline.vertexNumberingScope=r||{vertexCopies:[],extraVertices:[],outlineCoordinates:[],accessors:[],bufferViews:[],primitives:[],createdOutlines:!1};(r=s.extras._pipeline.vertexNumberingScope).bufferViews.indexOf(s)<0&&r.bufferViews.push(s),r.accessors.indexOf(o)<0&&r.accessors.push(o)}return r.primitives.push(t),r}}function ComputeCommand(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=defaultValue(e.persists,!1),this.pass=Pass$1.COMPUTE,this.owner=e.owner}ModelOutlineLoader.hasExtension=function(e){return defined(e.extensionsRequired.CESIUM_primitive_outline)||defined(e.extensionsUsed.CESIUM_primitive_outline)},ModelOutlineLoader.outlinePrimitives=function(n){if(ModelOutlineLoader.hasExtension(n)){var e=n.gltf,a=[];ForEach.mesh(e,function(e,r){ForEach.meshPrimitive(e,function(e,t){var i;defined(e.extensions)&&(!defined(i=e.extensions.CESIUM_primitive_outline)||void 0!==(e=getVertexNumberingScope(n,e))&&(a.indexOf(e)<0&&a.push(e),addOutline(n,r,t,i.indices,e)))})});for(var t=0;t<a.length;++t)updateBufferViewsWithNewVertices(n,a[t].bufferViews);compactBuffers(n)}},ModelOutlineLoader.createTexture=function(e,t){var i=t.cache.modelOutliningCache;if(defined(i)||(i=t.cache.modelOutliningCache={}),defined(i.outlineTexture))return i.outlineTexture;for(var r=Math.min(4096,ContextLimits.maximumTextureSize),n=r,a=createTexture$2(n),o=[];1<n;)n>>=1,o.push(createTexture$2(n));r=new Texture({context:t,source:{arrayBufferView:a,mipLevels:o},width:r,height:1,pixelFormat:PixelFormat$1.LUMINANCE,sampler:new Sampler({wrapS:TextureWrap$1.CLAMP_TO_EDGE,wrapT:TextureWrap$1.CLAMP_TO_EDGE,minificationFilter:TextureMinificationFilter$1.LINEAR_MIPMAP_LINEAR,magnificationFilter:TextureMagnificationFilter$1.LINEAR})});return i.outlineTexture=r},ComputeCommand.prototype.execute=function(e){e.execute(this)};var OctahedralProjectionAtlasFS="varying vec2 v_textureCoordinates;\nuniform float originalSize;\nuniform sampler2D texture0;\nuniform sampler2D texture1;\nuniform sampler2D texture2;\nuniform sampler2D texture3;\nuniform sampler2D texture4;\nuniform sampler2D texture5;\nconst float yMipLevel1 = 1.0 - (1.0 / pow(2.0, 1.0));\nconst float yMipLevel2 = 1.0 - (1.0 / pow(2.0, 2.0));\nconst float yMipLevel3 = 1.0 - (1.0 / pow(2.0, 3.0));\nconst float yMipLevel4 = 1.0 - (1.0 / pow(2.0, 4.0));\nvoid main()\n{\nvec2 uv = v_textureCoordinates;\nvec2 textureSize = vec2(originalSize * 1.5 + 2.0, originalSize);\nvec2 pixel = 1.0 / textureSize;\nfloat mipLevel = 0.0;\nif (uv.x - pixel.x > (textureSize.y / textureSize.x))\n{\nmipLevel = 1.0;\nif (uv.y - pixel.y > yMipLevel1)\n{\nmipLevel = 2.0;\nif (uv.y - pixel.y * 3.0 > yMipLevel2)\n{\nmipLevel = 3.0;\nif (uv.y - pixel.y * 5.0 > yMipLevel3)\n{\nmipLevel = 4.0;\nif (uv.y - pixel.y * 7.0 > yMipLevel4)\n{\nmipLevel = 5.0;\n}\n}\n}\n}\n}\nif (mipLevel > 0.0)\n{\nfloat scale = pow(2.0, mipLevel);\nuv.y -= (pixel.y * (mipLevel - 1.0) * 2.0);\nuv.x *= ((textureSize.x - 2.0) / textureSize.y);\nuv.x -= 1.0 + pixel.x;\nuv.y -= (1.0 - (1.0 / pow(2.0, mipLevel - 1.0)));\nuv *= scale;\n}\nelse\n{\nuv.x *= (textureSize.x / textureSize.y);\n}\nif(mipLevel == 0.0)\n{\ngl_FragColor = texture2D(texture0, uv);\n}\nelse if(mipLevel == 1.0)\n{\ngl_FragColor = texture2D(texture1, uv);\n}\nelse if(mipLevel == 2.0)\n{\ngl_FragColor = texture2D(texture2, uv);\n}\nelse if(mipLevel == 3.0)\n{\ngl_FragColor = texture2D(texture3, uv);\n}\nelse if(mipLevel == 4.0)\n{\ngl_FragColor = texture2D(texture4, uv);\n}\nelse if(mipLevel == 5.0)\n{\ngl_FragColor = texture2D(texture5, uv);\n}\nelse\n{\ngl_FragColor = vec4(0.0);\n}\n}\n",OctahedralProjectionFS="varying vec3 v_cubeMapCoordinates;\nuniform samplerCube cubeMap;\nvoid main()\n{\nvec4 rgbm = textureCube(cubeMap, v_cubeMapCoordinates);\nfloat m = rgbm.a * 16.0;\nvec3 r = rgbm.rgb * m;\ngl_FragColor = vec4(r * r, 1.0);\n}\n",OctahedralProjectionVS="attribute vec4 position;\nattribute vec3 cubeMapCoordinates;\nvarying vec3 v_cubeMapCoordinates;\nvoid main()\n{\ngl_Position = position;\nv_cubeMapCoordinates = cubeMapCoordinates;\n}\n";function OctahedralProjectedCubeMap(e){this._url=e,this._cubeMapBuffers=void 0,this._cubeMaps=void 0,this._texture=void 0,this._mipTextures=void 0,this._va=void 0,this._sp=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1,this._readyPromise=when.defer()}Object.defineProperties(OctahedralProjectedCubeMap.prototype,{url:{get:function(){return this._url}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}}}),OctahedralProjectedCubeMap.isSupported=function(e){return e.colorBufferHalfFloat&&e.halfFloatingPointTexture||e.floatingPointTexture&&e.colorBufferFloat};for(var v1$1=new Cartesian3(1,0,0),v2$1=new Cartesian3(0,0,1),v3=new Cartesian3(-1,0,0),v4=new Cartesian3(0,0,-1),v5=new Cartesian3(0,1,0),v6=new Cartesian3(0,-1,0),cubeMapCoordinates=[v5,v3,v2$1,v6,v1$1,v5,v4,v5,v5],length$1=cubeMapCoordinates.length,flatCubeMapCoordinates=new Float32Array(3*length$1),offset=0,i$2=0;i$2<length$1;++i$2,offset+=3)Cartesian3.pack(cubeMapCoordinates[i$2],flatCubeMapCoordinates,offset);var flatPositions=new Float32Array([-1,1,-1,0,0,1,0,0,1,0,1,1,0,-1,-1,-1,1,-1]),indices=new Uint16Array([0,1,2,2,3,1,7,6,1,3,6,1,2,5,4,3,4,2,4,8,6,3,4,6]);function createVertexArray$3(e){var t=Buffer$1.createVertexBuffer({context:e,typedArray:flatPositions,usage:BufferUsage$1.STATIC_DRAW}),i=Buffer$1.createVertexBuffer({context:e,typedArray:flatCubeMapCoordinates,usage:BufferUsage$1.STATIC_DRAW}),r=Buffer$1.createIndexBuffer({context:e,typedArray:indices,usage:BufferUsage$1.STATIC_DRAW,indexDatatype:IndexDatatype$1.UNSIGNED_SHORT});return new VertexArray({context:e,attributes:[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:ComponentDatatype$1.FLOAT},{index:1,vertexBuffer:i,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT}],indexBuffer:r})}function createUniformTexture(e){return function(){return e}}function cleanupResources(e){var t,i;e._va=e._va&&e._va.destroy(),e._sp=e._sp&&e._sp.destroy();var r=e._cubeMaps;if(defined(r))for(i=r.length,t=0;t<i;++t)r[t].destroy();var n=e._mipTextures;if(defined(n))for(i=n.length,t=0;t<i;++t)n[t].destroy();e._va=void 0,e._sp=void 0,e._cubeMaps=void 0,e._cubeMapBuffers=void 0,e._mipTextures=void 0}OctahedralProjectedCubeMap.prototype.update=function(e){var t=e.context;if(OctahedralProjectedCubeMap.isSupported(t)&&(defined(this._texture)&&defined(this._va)&&cleanupResources(this),!defined(this._texture))){if(!defined(this._texture)&&!this._loading){var i=t.textureCache.getTexture(this._url);if(defined(i))return cleanupResources(this),this._texture=i,this._maximumMipmapLevel=this._texture.maximumMipmapLevel,this._ready=!0,void this._readyPromise.resolve()}var r,n=this._cubeMapBuffers;if(defined(n)||this._loading||(loadKTX((r=this)._url).then(function(e){r._cubeMapBuffers=e,r._loading=!1}).otherwise(this._readyPromise.reject),this._loading=!0),defined(this._cubeMapBuffers)){this._va=createVertexArray$3(t),this._sp=ShaderProgram.fromCache({context:t,vertexShaderSource:OctahedralProjectionVS,fragmentShaderSource:OctahedralProjectionFS,attributeLocations:{position:0,cubeMapCoordinates:1}});var a=Math.min(n.length,6);this._maximumMipmapLevel=a-1;for(var o=this._cubeMaps=new Array(a),s=this._mipTextures=new Array(a),l=2*n[0].positiveX.width,c={originalSize:function(){return l}},u=t.halfFloatingPointTexture?PixelDatatype$1.HALF_FLOAT:PixelDatatype$1.FLOAT,d=PixelFormat$1.RGBA,h=0;h<a;++h){var p=n[h].positiveY;n[h].positiveY=n[h].negativeY,n[h].negativeY=p;var m=o[h]=new CubeMap({context:t,source:n[h]}),p=2*o[h].width,p=s[h]=new Texture({context:t,width:p,height:p,pixelDatatype:u,pixelFormat:d}),m=new ComputeCommand({vertexArray:this._va,shaderProgram:this._sp,uniformMap:{cubeMap:createUniformTexture(m)},outputTexture:p,persists:!0,owner:this});e.commandList.push(m),c["texture"+h]=createUniformTexture(p)}this._texture=new Texture({context:t,width:1.5*l+2,height:l,pixelDatatype:u,pixelFormat:d}),this._texture.maximumMipmapLevel=this._maximumMipmapLevel,t.textureCache.addTexture(this._url,this._texture);i=new ComputeCommand({fragmentShaderSource:OctahedralProjectionAtlasFS,uniformMap:c,outputTexture:this._texture,persists:!1,owner:this});e.commandList.push(i),this._ready=!0,this._readyPromise.resolve()}}},OctahedralProjectedCubeMap.prototype.isDestroyed=function(){return!1},OctahedralProjectedCubeMap.prototype.destroy=function(){return cleanupResources(this),this._texture=this._texture&&this._texture.destroy(),destroyObject(this)};var boundingSphereCartesian3Scratch$1=new Cartesian3,ModelState$1=ModelUtility.ModelState,defaultModelAccept="model/gltf-binary,model/gltf+json;q=0.8,application/json;q=0.2,*/*;q=0.01",articulationEpsilon=CesiumMath.EPSILON16;function setCachedGltf(e,t){e._cachedGltf=t}function CachedGltf(e){this._gltf=e.gltf,this.ready=e.ready,this.modelsToLoad=[],this.count=0}Object.defineProperties(CachedGltf.prototype,{gltf:{set:function(e){this._gltf=e},get:function(){return this._gltf}}}),CachedGltf.prototype.makeReady=function(e){this.gltf=e;for(var t=this.modelsToLoad,i=t.length,r=0;r<i;++r){var n=t[r];n.isDestroyed()||setCachedGltf(n,this)}this.modelsToLoad=void 0,this.ready=!0};var gltfCache={},uriToGuid={};function Model(e){var t,i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).cacheKey;this._cacheKey=i,this._cachedGltf=void 0,this._releaseGltfJson=defaultValue(e.releaseGltfJson,!1),defined(i)&&defined(gltfCache[i])&&gltfCache[i].ready?++(r=gltfCache[i]).count:defined(t=e.gltf)&&(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(r=t instanceof Uint8Array?new CachedGltf({gltf:parseGlb(t),ready:!0}):new CachedGltf({gltf:e.gltf,ready:!0})).count=1,defined(i)&&(gltfCache[i]=r)),setCachedGltf(this,r);var r=defaultValue(e.basePath,"");this._resource=Resource.createIfNeeded(r);r=e.credit;"string"==typeof r&&(r=new Credit(r)),this._credit=r,this._resourceCredits=[],this.show=defaultValue(e.show,!0),this.silhouetteColor=defaultValue(e.silhouetteColor,Color.RED),this._silhouetteColor=new Color,this._silhouetteColorPreviousAlpha=1,this._normalAttributeName=void 0,this.silhouetteSize=defaultValue(e.silhouetteSize,0),this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this._modelMatrix=Matrix4.clone(this.modelMatrix),this._clampedModelMatrix=void 0,this.scale=defaultValue(e.scale,1),this._scale=this.scale,this.minimumPixelSize=defaultValue(e.minimumPixelSize,0),this._minimumPixelSize=this.minimumPixelSize,this.maximumScale=e.maximumScale,this._maximumScale=this.maximumScale,this.id=e.id,this._id=e.id,this.heightReference=defaultValue(e.heightReference,HeightReference$1.NONE),this._heightReference=this.heightReference,this._heightChanged=!1,this._removeUpdateHeightCallback=void 0;r=e.scene;defined(this._scene=r)&&defined(r.terrainProviderChanged)&&(this._terrainProviderChangedCallback=r.terrainProviderChanged.addEventListener(function(){this._heightChanged=!0},this)),this._pickObject=e.pickObject,this._allowPicking=defaultValue(e.allowPicking,!0),this._ready=!1,this._readyPromise=when.defer(),this.activeAnimations=new ModelAnimationCollection(this),this.clampAnimations=defaultValue(e.clampAnimations,!0),this._defaultTexture=void 0,this._incrementallyLoadTextures=defaultValue(e.incrementallyLoadTextures,!0),this._asynchronous=defaultValue(e.asynchronous,!0),this.shadows=defaultValue(e.shadows,ShadowMode$1.ENABLED),this._shadows=this.shadows,this.color=Color.clone(defaultValue(e.color,Color.WHITE)),this._colorPreviousAlpha=1,this.colorBlendMode=defaultValue(e.colorBlendMode,ColorBlendMode$1.HIGHLIGHT),this.colorBlendAmount=defaultValue(e.colorBlendAmount,.5),this._colorShadingEnabled=!1,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._clippingPlanesState=0,this.referenceMatrix=void 0,this.backFaceCulling=defaultValue(e.backFaceCulling,!0),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this._debugShowBoundingVolume=!1,this.debugWireframe=defaultValue(e.debugWireframe,!1),this._debugWireframe=!1,this._distanceDisplayCondition=e.distanceDisplayCondition,this._addBatchIdToGeneratedShaders=e.addBatchIdToGeneratedShaders,this._precreatedAttributes=e.precreatedAttributes,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._pickIdLoaded=e.pickIdLoaded,this._ignoreCommands=defaultValue(e.ignoreCommands,!1),this._requestType=e.requestType,this._upAxis=defaultValue(e.upAxis,Axis$1.Y),this._gltfForwardAxis=Axis$1.Z,this._forwardAxis=e.forwardAxis,this.cull=defaultValue(e.cull,!0),this.opaquePass=defaultValue(e.opaquePass,Pass$1.OPAQUE),this._computedModelMatrix=new Matrix4,this._clippingPlanesMatrix=Matrix4.clone(Matrix4.IDENTITY),this._iblReferenceFrameMatrix=Matrix3.clone(Matrix3.IDENTITY),this._initialRadius=void 0,this._boundingSphere=void 0,this._scaledBoundingSphere=new BoundingSphere,this._state=ModelState$1.NEEDS_LOAD,this._loadResources=void 0,this._mode=void 0,this._perNodeShowDirty=!1,this._cesiumAnimationsDirty=!1,this._dirty=!1,this._maxDirtyNumber=0,this._runtime={animations:void 0,articulationsByName:void 0,articulationsByStageKey:void 0,stagesByKey:void 0,rootNodes:void 0,nodes:void 0,nodesByName:void 0,skinnedNodes:void 0,meshesByName:void 0,materialsByName:void 0,materialsById:void 0},this._uniformMaps={},this._extensionsUsed=void 0,this._extensionsRequired=void 0,this._quantizedUniforms={},this._programPrimitives={},this._rendererResources={buffers:{},vertexArrays:{},programs:{},sourceShaders:{},silhouettePrograms:{},textures:{},samplers:{},renderStates:{}},this._cachedRendererResources=void 0,this._loadRendererResourcesFromCache=!1,this._dequantizeInShader=defaultValue(e.dequantizeInShader,!0),this._decodedData={},this._cachedGeometryByteLength=0,this._cachedTexturesByteLength=0,this._geometryByteLength=0,this._texturesByteLength=0,this._trianglesLength=0,this._sourceTechniques={},this._sourcePrograms={},this._quantizedVertexShaders={},this._nodeCommands=[],this._pickIds=[],this._rtcCenter=void 0,this._rtcCenterEye=void 0,this._rtcCenter3D=void 0,this._rtcCenter2D=void 0,this._sourceVersion=void 0,this._sourceKHRTechniquesWebGL=void 0,this._imageBasedLightingFactor=new Cartesian2(1,1),Cartesian2.clone(e.imageBasedLightingFactor,this._imageBasedLightingFactor),this._lightColor=Cartesian3.clone(e.lightColor),this._luminanceAtZenith=void 0,this.luminanceAtZenith=defaultValue(e.luminanceAtZenith,.2),this._sphericalHarmonicCoefficients=e.sphericalHarmonicCoefficients,this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._shouldUpdateSpecularMapAtlas=!0,this._specularEnvironmentMapAtlas=void 0,this._useDefaultSphericalHarmonics=!1,this._useDefaultSpecularMaps=!1,this._shouldRegenerateShaders=!1}function silhouetteSupported(e){return e.stencilBuffer}function isColorShadingEnabled(e){return!Color.equals(e.color,Color.WHITE)||e.colorBlendMode!==ColorBlendMode$1.HIGHLIGHT}function isClippingEnabled(e){e=e._clippingPlanes;return defined(e)&&e.enabled&&0!==e.length}function containsGltfMagic(e){return"glTF"===getMagic(e)}function getRuntime(e,t,i){return e._runtime[t][i]}Object.defineProperties(Model.prototype,{gltf:{get:function(){return defined(this._cachedGltf)?this._cachedGltf.gltf:void 0}},releaseGltfJson:{get:function(){return this._releaseGltfJson}},cacheKey:{get:function(){return this._cacheKey}},basePath:{get:function(){return this._resource.url}},boundingSphere:{get:function(){var e=this.modelMatrix;this.heightReference!==HeightReference$1.NONE&&this._clampedModelMatrix&&(e=this._clampedModelMatrix);var t=Matrix4.getScale(e,boundingSphereCartesian3Scratch$1),e=defined(this.maximumScale)?Math.min(this.maximumScale,this.scale):this.scale;Cartesian3.multiplyByScalar(t,e,t);e=this._scaledBoundingSphere;return e.center=Cartesian3.multiplyComponents(this._boundingSphere.center,t,e.center),e.radius=Cartesian3.maximumComponent(t)*this._initialRadius,defined(this._rtcCenter)&&Cartesian3.add(this._rtcCenter,e.center,e.center),e}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},asynchronous:{get:function(){return this._asynchronous}},allowPicking:{get:function(){return this._allowPicking}},incrementallyLoadTextures:{get:function(){return this._incrementallyLoadTextures}},pendingTextureLoads:{get:function(){return defined(this._loadResources)?this._loadResources.pendingTextureLoads:0}},dirty:{get:function(){return this._dirty}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=DistanceDisplayCondition.clone(e,this._distanceDisplayCondition)}},extensionsUsed:{get:function(){return defined(this._extensionsUsed)||(this._extensionsUsed=ModelUtility.getUsedExtensions(this.gltf)),this._extensionsUsed}},extensionsRequired:{get:function(){return defined(this._extensionsRequired)||(this._extensionsRequired=ModelUtility.getRequiredExtensions(this.gltf)),this._extensionsRequired}},upAxis:{get:function(){return this._upAxis}},forwardAxis:{get:function(){return defined(this._forwardAxis)?this._forwardAxis:this._gltfForwardAxis}},trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},texturesByteLength:{get:function(){return this._texturesByteLength}},cachedGeometryByteLength:{get:function(){return this._cachedGeometryByteLength}},cachedTexturesByteLength:{get:function(){return this._cachedTexturesByteLength}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&ClippingPlaneCollection.setOwner(e,this,"_clippingPlanes")}},pickIds:{get:function(){return this._pickIds}},imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){var t=this._imageBasedLightingFactor;e===t||Cartesian2.equals(e,t)||(this._shouldRegenerateShaders=this._shouldRegenerateShaders||0<this._imageBasedLightingFactor.x&&0===e.x||0===this._imageBasedLightingFactor.x&&0<e.x,this._shouldRegenerateShaders=this._shouldRegenerateShaders||0<this._imageBasedLightingFactor.y&&0===e.y||0===this._imageBasedLightingFactor.y&&0<e.y,Cartesian2.clone(e,this._imageBasedLightingFactor))}},lightColor:{get:function(){return this._lightColor},set:function(e){var t=this._lightColor;e===t||Cartesian3.equals(e,t)||(this._shouldRegenerateShaders=this._shouldRegenerateShaders||defined(t)&&!defined(e)||defined(e)&&!defined(t),this._lightColor=Cartesian3.clone(e,t))}},luminanceAtZenith:{get:function(){return this._luminanceAtZenith},set:function(e){var t=this._luminanceAtZenith;e!==t&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||defined(t)&&!defined(e)||defined(e)&&!defined(t),this._luminanceAtZenith=e)}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients},set:function(e){e!==this._sphericalHarmonicCoefficients&&(this._sphericalHarmonicCoefficients=e,this._shouldRegenerateShaders=!0)}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps},set:function(e){this._shouldUpdateSpecularMapAtlas=this._shouldUpdateSpecularMapAtlas||e!==this._specularEnvironmentMaps,this._specularEnvironmentMaps=e}},credit:{get:function(){return this._credit}}}),Model.silhouetteSupported=function(e){return silhouetteSupported(e.context)},Model.fromGltf=function(e){var t=e.url;e=clone(e);var o=Resource.createIfNeeded(t),i=defaultValue(e.basePath,o.clone()),t=Resource.createIfNeeded(i),i=defaultValue(e.cacheKey,uriToGuid[getAbsoluteUri(o.url)]);defined(i)||(i=createGuid(),uriToGuid[getAbsoluteUri(o.url)]=i),defined(e.basePath)&&!defined(e.cacheKey)&&(i+=t.url),e.cacheKey=i,e.basePath=t;var s=new Model(e),l=gltfCache[i];return defined(l)?l.ready||(++l.count,l.modelsToLoad.push(s)):((l=new CachedGltf({ready:!1})).count=1,l.modelsToLoad.push(s),setCachedGltf(s,l),gltfCache[i]=l,defined(o.headers.Accept)||(o.headers.Accept=defaultModelAccept),o.fetchArrayBuffer().then(function(e){var t=new Uint8Array(e);containsGltfMagic(t)?(e=parseGlb(t),l.makeReady(e)):(t=getStringFromTypedArray(t),l.makeReady(JSON.parse(t)));var i=s._resourceCredits,r=o.credits;if(defined(r))for(var n=r.length,a=0;a<n;a++)i.push(r[a])}).otherwise(ModelUtility.getFailedLoadFunction(s,"model",o.url))),s},Model._gltfCache=gltfCache,Model.prototype.getNode=function(e){e=getRuntime(this,"nodesByName",e);return defined(e)?e.publicNode:void 0},Model.prototype.getMesh=function(e){return getRuntime(this,"meshesByName",e)},Model.prototype.getMaterial=function(e){return getRuntime(this,"materialsByName",e)},Model.prototype.setArticulationStage=function(e,t){var i=getRuntime(this,"stagesByKey",e),e=getRuntime(this,"articulationsByStageKey",e);defined(i)&&defined(e)&&(t=CesiumMath.clamp(t,i.minimumValue,i.maximumValue),CesiumMath.equalsEpsilon(i.currentValue,t,articulationEpsilon)||(i.currentValue=t,e.isDirty=!0))};var scratchArticulationCartesian=new Cartesian3,scratchArticulationRotation=new Matrix3;function applyArticulationStageMatrix(e,t){var i,r=e.currentValue,n=scratchArticulationCartesian;switch(e.type){case"xRotate":i=Matrix3.fromRotationX(CesiumMath.toRadians(r),scratchArticulationRotation),Matrix4.multiplyByMatrix3(t,i,t);break;case"yRotate":i=Matrix3.fromRotationY(CesiumMath.toRadians(r),scratchArticulationRotation),Matrix4.multiplyByMatrix3(t,i,t);break;case"zRotate":i=Matrix3.fromRotationZ(CesiumMath.toRadians(r),scratchArticulationRotation),Matrix4.multiplyByMatrix3(t,i,t);break;case"xTranslate":n.x=r,n.y=0,n.z=0,Matrix4.multiplyByTranslation(t,n,t);break;case"yTranslate":n.x=0,n.y=r,n.z=0,Matrix4.multiplyByTranslation(t,n,t);break;case"zTranslate":n.x=0,n.y=0,n.z=r,Matrix4.multiplyByTranslation(t,n,t);break;case"xScale":n.x=r,n.y=1,n.z=1,Matrix4.multiplyByScale(t,n,t);break;case"yScale":n.x=1,n.y=r,n.z=1,Matrix4.multiplyByScale(t,n,t);break;case"zScale":n.x=1,n.y=1,n.z=r,Matrix4.multiplyByScale(t,n,t);break;case"uniformScale":Matrix4.multiplyByUniformScale(t,r,t)}return t}var scratchApplyArticulationTransform=new Matrix4;function addBuffersToLoadResources$1(e){var t=e.gltf,i=e._loadResources;ForEach.buffer(t,function(e,t){i.buffers[t]=e.extras._pipeline.source})}function bufferLoad(i,r){return function(e){var t=i._loadResources,e=new Uint8Array(e);--t.pendingBufferLoads,i.gltf.buffers[r].extras._pipeline.source=e}}function parseBufferViews$1(e){var i=e.gltf.bufferViews,r=e._loadResources.vertexBuffersToCreate;ForEach.bufferView(e.gltf,function(e,t){e.target===WebGLConstants$1.ARRAY_BUFFER&&r.enqueue(t)});var n=e._loadResources.indexBuffersToCreate,a={};ForEach.accessor(e.gltf,function(e){var t=e.bufferView;defined(t)&&(i[t].target!==WebGLConstants$1.ELEMENT_ARRAY_BUFFER||defined(a[t])||(a[t]=!0,n.enqueue({id:t,componentType:e.componentType})))})}function parseTechniques(e){var i,r,n,t=e.gltf;hasExtension(t,"KHR_techniques_webgl")&&(i=e._sourcePrograms,r=e._sourceTechniques,n=t.extensions.KHR_techniques_webgl.programs,ForEach.technique(t,function(e,t){r[t]=clone(e);e=e.program;defined(i[e])||(i[e]=clone(n[e]))}))}function shaderLoad(i,r,n){return function(e){var t=i._loadResources;t.shaders[n]={source:e,type:r,bufferView:void 0},--t.pendingShaderLoads,i._rendererResources.sourceShaders[n]=e}}function parseShaders(n){var e=n.gltf,a=e.buffers,o=e.bufferViews,s=n._rendererResources.sourceShaders;ForEach.shader(e,function(e,t){var i,r;defined(e.bufferView)?(i=e.bufferView,i=(r=o[i]).buffer,r=getStringFromTypedArray(a[i].extras._pipeline.source,r.byteOffset,r.byteLength),s[t]=r):defined(e.extras._pipeline.source)?s[t]=e.extras._pipeline.source:(++n._loadResources.pendingShaderLoads,(r=n._resource.getDerivedResource({url:e.uri})).fetchText().then(shaderLoad(n,e.type,t)).otherwise(ModelUtility.getFailedLoadFunction(n,"shader",r.url)))})}function parsePrograms(e){var t,i,r=e._sourceTechniques;for(t in r)r.hasOwnProperty(t)&&(i=r[t],e._loadResources.programsToCreate.enqueue({programId:i.program,techniqueId:t}))}function parseArticulations(e){var t={},i={},r={};e._runtime.articulationsByName=t,e._runtime.articulationsByStageKey=i,e._runtime.stagesByKey=r;e=e.gltf;if(hasExtension(e,"AGI_articulations")&&defined(e.extensions)&&defined(e.extensions.AGI_articulations)){var n=e.extensions.AGI_articulations.articulations;if(defined(n))for(var a=n.length,o=0;o<a;++o){var s=clone(n[o]);s.nodes=[],s.isDirty=!0;for(var l=(t[s.name]=s).stages.length,c=0;c<l;++c){var u=s.stages[c];u.currentValue=u.initialValue;var d=s.name+" "+u.name;i[d]=s,r[d]=u}}}}function imageLoad(i,r){return function(e){var t=i._loadResources;--t.pendingTextureLoads,t.texturesToCreate.enqueue({id:r,image:e,bufferView:e.bufferView,width:e.width,height:e.height,internalFormat:e.internalFormat})}}Model.prototype.applyArticulations=function(){var e,t=this._runtime.articulationsByName;for(e in t)if(t.hasOwnProperty(e)){var i=t[e];if(i.isDirty){i.isDirty=!1;for(var r=i.nodes.length,n=0;n<r;++n){for(var a=i.nodes[n],o=Matrix4.clone(a.originalMatrix,scratchApplyArticulationTransform),s=i.stages.length,l=0;l<s;++l)o=applyArticulationStageMatrix(i.stages[l],o);a.matrix=o}}}};var ktxRegex$1=/(^data:image\/ktx)|(\.ktx$)/i,crnRegex$1=/(^data:image\/crn)|(\.crn$)/i;function parseTextures(s,l,c){var u,e=s.gltf,d=e.images;ForEach.texture(e,function(e,t){var i=e.source;defined(e.extensions)&&defined(e.extensions.EXT_texture_webp)&&c&&(i=e.extensions.EXT_texture_webp.source);var r=d[i],n=r.extras,a=r.bufferView,o=r.mimeType;u=r.uri,defined(n)&&defined(n.compressedImage3DTiles)&&(e=n.compressedImage3DTiles.crunch,i=n.compressedImage3DTiles.s3tc,r=n.compressedImage3DTiles.pvrtc1,n=n.compressedImage3DTiles.etc1,l.s3tc&&defined(e)?(o=e.mimeType,defined(e.bufferView)?a=e.bufferView:u=e.uri):l.s3tc&&defined(i)?(o=i.mimeType,defined(i.bufferView)?a=i.bufferView:u=i.uri):l.pvrtc&&defined(r)?(o=r.mimeType,defined(r.bufferView)?a=r.bufferView:u=r.uri):l.etc1&&defined(n)&&(o=n.mimeType,defined(n.bufferView)?a=n.bufferView:u=n.uri)),defined(a)?s._loadResources.texturesToCreateFromBufferView.enqueue({id:t,image:void 0,bufferView:a,mimeType:o}):(++s._loadResources.pendingTextureLoads,o=s._resource.getDerivedResource({url:u}),(ktxRegex$1.test(u)?loadKTX(o):crnRegex$1.test(u)?loadCRN(o):o.fetchImage()).then(imageLoad(s,t)).otherwise(ModelUtility.getFailedLoadFunction(s,"image",o.url)))})}var scratchArticulationStageInitialTransform=new Matrix4;function parseNodes(s){var l={},c={},u=[],d=s._loadResources.skinnedNodesIds,h=s._runtime.articulationsByName;ForEach.node(s.gltf,function(e,t){var i={matrix:void 0,translation:void 0,rotation:void 0,scale:void 0,computedShow:!0,transformToRoot:new Matrix4,computedMatrix:new Matrix4,dirtyNumber:0,commands:[],inverseBindMatrices:void 0,bindShapeMatrix:void 0,joints:[],computedJointMatrices:[],jointName:e.jointName,weights:[],children:[],parents:[],publicNode:void 0};if(i.publicNode=new ModelNode(s,e,i,t,ModelUtility.getTransform(e)),l[t]=i,c[e.name]=i,defined(e.skin)&&(d.push(t),u.push(i)),defined(e.extensions)&&defined(e.extensions.AGI_articulations)){e=e.extensions.AGI_articulations.articulationName;if(defined(e)){var r=Matrix4.clone(i.publicNode.originalMatrix,scratchArticulationStageInitialTransform),n=h[e];n.nodes.push(i.publicNode);for(var a=n.stages.length,o=0;o<a;++o)r=applyArticulationStageMatrix(n.stages[o],r);i.publicNode.matrix=r}}}),s._runtime.nodes=l,s._runtime.nodesByName=c,s._runtime.skinnedNodes=u}function parseMaterials(n){var e=n.gltf,a=n._sourceTechniques,o={},s={},l=n._uniformMaps;ForEach.material(e,function(e,t){l[t]={uniformMap:void 0,values:void 0,jointMatrixUniformName:void 0,morphWeightsUniformName:void 0};var i,r=new ModelMaterial(n,e,t);defined(e.extensions)&&defined(e.extensions.KHR_techniques_webgl)&&(i=e.extensions.KHR_techniques_webgl.technique,r._technique=i,r._program=a[i].program,ForEach.materialValue(e,function(e,t){defined(r._values)||(r._values={}),r._values[t]=clone(e)})),o[e.name]=r,s[t]=r}),n._runtime.materialsByName=o,n._runtime.materialsById=s}function parseMeshes(a){var t={},i=a._runtime.materialsById;ForEach.mesh(a.gltf,function(e,n){t[e.name]=new ModelMesh(e,i,n),(defined(a.extensionsUsed.WEB3D_quantized_attributes)||a._dequantizeInShader)&&ForEach.meshPrimitive(e,function(e,t){var i=getProgramForPrimitive(a,e),r=a._programPrimitives[i];defined(r)||(r={},a._programPrimitives[i]=r),r[n+".primitive."+t]=e})}),a._runtime.meshesByName=t}var CreateVertexBufferJob=function(){this.id=void 0,this.model=void 0,this.context=void 0};function createVertexBuffer$1(e,t,i){var r=t._loadResources,n=t.gltf.bufferViews[e];defined(n)||(n=r.createdBufferViews[e]);n=Buffer$1.createVertexBuffer({context:i,typedArray:r.getBuffer(n),usage:BufferUsage$1.STATIC_DRAW});n.vertexArrayDestroyable=!1,t._rendererResources.buffers[e]=n,t._geometryByteLength+=n.sizeInBytes}CreateVertexBufferJob.prototype.set=function(e,t,i){this.id=e,this.model=t,this.context=i},CreateVertexBufferJob.prototype.execute=function(){createVertexBuffer$1(this.id,this.model,this.context)};var CreateIndexBufferJob=function(){this.id=void 0,this.componentType=void 0,this.model=void 0,this.context=void 0};function createIndexBuffer$1(e,t,i,r){var n=i._loadResources,a=i.gltf.bufferViews[e];defined(a)||(a=n.createdBufferViews[e]);t=Buffer$1.createIndexBuffer({context:r,typedArray:n.getBuffer(a),usage:BufferUsage$1.STATIC_DRAW,indexDatatype:t});t.vertexArrayDestroyable=!1,i._rendererResources.buffers[e]=t,i._geometryByteLength+=t.sizeInBytes}CreateIndexBufferJob.prototype.set=function(e,t,i,r){this.id=e,this.componentType=t,this.model=i,this.context=r},CreateIndexBufferJob.prototype.execute=function(){createIndexBuffer$1(this.id,this.componentType,this.model,this.context)};var scratchVertexBufferJob=new CreateVertexBufferJob,scratchIndexBufferJob=new CreateIndexBufferJob;function createBuffers$1(e,t){var i=e._loadResources;if(0===i.pendingBufferLoads){var r,n=t.context,a=i.vertexBuffersToCreate,o=i.indexBuffersToCreate;if(e.asynchronous){for(;0<a.length&&(scratchVertexBufferJob.set(a.peek(),e,n),t.jobScheduler.execute(scratchVertexBufferJob,JobType$1.BUFFER));)a.dequeue();for(;0<o.length&&(r=o.peek(),scratchIndexBufferJob.set(r.id,r.componentType,e,n),t.jobScheduler.execute(scratchIndexBufferJob,JobType$1.BUFFER));)o.dequeue()}else{for(;0<a.length;)createVertexBuffer$1(a.dequeue(),e,n);for(;0<o.length;)createIndexBuffer$1((r=o.dequeue()).id,r.componentType,e,n)}}}function getProgramForPrimitive(e,t){t=e._runtime.materialsById[t.material];if(defined(t))return t._program}function modifyShaderForQuantizedAttributes$1(e,t,i){var r,n,a,o=i._programPrimitives[t];if(!defined(o))return e;for(n in o)if(o.hasOwnProperty(n)&&getProgramForPrimitive(i,r=o[n])===t)break;if(i._programPrimitives[t]=void 0,i.extensionsUsed.WEB3D_quantized_attributes)a=ModelUtility.modifyShaderForQuantizedAttributes(i.gltf,r,e),i._quantizedUniforms[t]=a.uniforms;else{var s=i._decodedData[n];if(!defined(s))return e;a=ModelUtility.modifyShaderForDracoQuantizedAttributes(i.gltf,r,e,s.attributes)}return a.shader}function modifyShaderForColor(e){return e=ShaderSource.replaceMain(e,"gltf_blend_main"),e+="uniform vec4 gltf_color; \nuniform float gltf_colorBlend; \nvoid main() \n{ \n gltf_blend_main(); \n gl_FragColor.rgb = mix(gl_FragColor.rgb, gltf_color.rgb, gltf_colorBlend); \n float highlight = ceil(gltf_colorBlend); \n gl_FragColor.rgb *= mix(gltf_color.rgb, vec3(1.0), highlight); \n gl_FragColor.a *= gltf_color.a; \n} \n"}function modifyShader$1(e,t,i){return defined(i)&&(e=i(e,t)),e}var CreateProgramJob=function(){this.programToCreate=void 0,this.model=void 0,this.context=void 0};function createProgram$1(e,t,i){var r=e.programId,n=e.techniqueId,a=t._sourcePrograms[r],o=t._rendererResources.sourceShaders,s=o[a.vertexShader],e=o[a.fragmentShader],o=t._quantizedVertexShaders;(t.extensionsUsed.WEB3D_quantized_attributes||t._dequantizeInShader)&&(defined(l=o[r])||(l=modifyShaderForQuantizedAttributes$1(s,r,t),o[r]=l),s=l);a=modifyShader$1(s,r,t._vertexShaderLoaded),o=modifyShader$1(e,r,t._fragmentShaderLoaded);defined(t._uniformMapLoaded)||(o="uniform vec4 czm_pickColor;\n"+o);var l=0<t._imageBasedLightingFactor.x||0<t._imageBasedLightingFactor.y;l&&(o="#define USE_IBL_LIGHTING \n\n"+o),defined(t._lightColor)&&(o="#define USE_CUSTOM_LIGHT_COLOR \n\n"+o),"2.0"===t._sourceVersion&&!t._sourceKHRTechniquesWebGL||(o=ShaderSource.replaceMain(o,"non_gamma_corrected_main"),o+="\nvoid main() { \n non_gamma_corrected_main(); \n gl_FragColor = czm_gammaCorrect(gl_FragColor); \n} \n"),OctahedralProjectedCubeMap.isSupported(i)&&(s=defined(t._sphericalHarmonicCoefficients)||t._useDefaultSphericalHarmonics,e=defined(t._specularEnvironmentMapAtlas)&&t._specularEnvironmentMapAtlas.ready||t._useDefaultSpecularMaps,(s||e||l)&&(o="uniform mat3 gltf_iblReferenceFrameMatrix; \n"+o),defined(t._sphericalHarmonicCoefficients)?o="#define DIFFUSE_IBL \n#define CUSTOM_SPHERICAL_HARMONICS \nuniform vec3 gltf_sphericalHarmonicCoefficients[9]; \n"+o:t._useDefaultSphericalHarmonics&&(o="#define DIFFUSE_IBL \n"+o),defined(t._specularEnvironmentMapAtlas)&&t._specularEnvironmentMapAtlas.ready?o="#define SPECULAR_IBL \n#define CUSTOM_SPECULAR_IBL \nuniform sampler2D gltf_specularMap; \nuniform vec2 gltf_specularMapSize; \nuniform float gltf_maxSpecularLOD; \n"+o:t._useDefaultSpecularMaps&&(o="#define SPECULAR_IBL \n"+o)),defined(t._luminanceAtZenith)&&(o="#define USE_SUN_LUMINANCE \nuniform float gltf_luminanceAtZenith;\n"+o),createAttributesAndProgram(r,n,o,a,t,i)}function recreateProgram(e,t,i){var r=e.programId,n=e.techniqueId,a=t._sourcePrograms[r],o=t._rendererResources.sourceShaders,s=t._quantizedVertexShaders,l=t.clippingPlanes,c=isClippingEnabled(t),e=o[a.vertexShader],a=o[a.fragmentShader];(t.extensionsUsed.WEB3D_quantized_attributes||t._dequantizeInShader)&&(e=s[r]);s=a;isColorShadingEnabled(t)&&(s=Model._modifyShaderForColor(s)),c&&(s=modifyShaderForClippingPlanes(s,l,i));a=modifyShader$1(e,r,t._vertexShaderLoaded),c=modifyShader$1(s,r,t._fragmentShaderLoaded);defined(t._uniformMapLoaded)||(c="uniform vec4 czm_pickColor;\n"+c);l=0<t._imageBasedLightingFactor.x||0<t._imageBasedLightingFactor.y;l&&(c="#define USE_IBL_LIGHTING \n\n"+c),defined(t._lightColor)&&(c="#define USE_CUSTOM_LIGHT_COLOR \n\n"+c),"2.0"===t._sourceVersion&&!t._sourceKHRTechniquesWebGL||(c=ShaderSource.replaceMain(c,"non_gamma_corrected_main"),c+="\nvoid main() { \n non_gamma_corrected_main(); \n gl_FragColor = czm_gammaCorrect(gl_FragColor); \n} \n"),OctahedralProjectedCubeMap.isSupported(i)&&(e=defined(t._sphericalHarmonicCoefficients)||t._useDefaultSphericalHarmonics,s=defined(t._specularEnvironmentMapAtlas)&&t._specularEnvironmentMapAtlas.ready||t._useDefaultSpecularMaps,(e||s||l)&&(c="uniform mat3 gltf_iblReferenceFrameMatrix; \n"+c),defined(t._sphericalHarmonicCoefficients)?c="#define DIFFUSE_IBL \n#define CUSTOM_SPHERICAL_HARMONICS \nuniform vec3 gltf_sphericalHarmonicCoefficients[9]; \n"+c:t._useDefaultSphericalHarmonics&&(c="#define DIFFUSE_IBL \n"+c),defined(t._specularEnvironmentMapAtlas)&&t._specularEnvironmentMapAtlas.ready?c="#define SPECULAR_IBL \n#define CUSTOM_SPECULAR_IBL \nuniform sampler2D gltf_specularMap; \nuniform vec2 gltf_specularMapSize; \nuniform float gltf_maxSpecularLOD; \n"+c:t._useDefaultSpecularMaps&&(c="#define SPECULAR_IBL \n"+c)),defined(t._luminanceAtZenith)&&(c="#define USE_SUN_LUMINANCE \nuniform float gltf_luminanceAtZenith;\n"+c),createAttributesAndProgram(r,n,c,a,t,i)}function createAttributesAndProgram(e,t,i,r,n,a){t=n._sourceTechniques[t],t=ModelUtility.createAttributeLocations(t,n._precreatedAttributes);n._rendererResources.programs[e]=ShaderProgram.fromCache({context:a,vertexShaderSource:r,fragmentShaderSource:i,attributeLocations:t})}CreateProgramJob.prototype.set=function(e,t,i){this.programToCreate=e,this.model=t,this.context=i},CreateProgramJob.prototype.execute=function(){createProgram$1(this.programToCreate,this.model,this.context)};var scratchCreateProgramJob=new CreateProgramJob;function createPrograms(e,t){var i=e._loadResources,r=i.programsToCreate;if(0===i.pendingShaderLoads&&0===i.pendingBufferLoads){var n=t.context;if(e.asynchronous)for(;0<r.length&&(scratchCreateProgramJob.set(r.peek(),e,n),t.jobScheduler.execute(scratchCreateProgramJob,JobType$1.PROGRAM));)r.dequeue();else for(;0<r.length;)createProgram$1(r.dequeue(),e,n)}}function getOnImageCreatedFromTypedArray(t,i){return function(e){t.texturesToCreate.enqueue({id:i.id,image:e,bufferView:void 0}),--t.pendingBufferViewToImage}}function loadTexturesFromBufferViews(e){var t=e._loadResources;if(0===t.pendingBufferLoads)for(;0<t.texturesToCreateFromBufferView.length;){var i=t.texturesToCreateFromBufferView.dequeue(),r=e.gltf,n=r.bufferViews[i.bufferView],a=(r.textures[i.id].source,ModelUtility.getFailedLoadFunction(e,"image","id: "+i.id+", bufferView: "+i.bufferView));"image/ktx"===i.mimeType?(loadKTX(t.getBuffer(n)).then(imageLoad(e,i.id)).otherwise(a),++e._loadResources.pendingTextureLoads):"image/crn"===i.mimeType?(loadCRN(t.getBuffer(n)).then(imageLoad(e,i.id)).otherwise(a),++e._loadResources.pendingTextureLoads):(r=getOnImageCreatedFromTypedArray(t,i),loadImageFromTypedArray({uint8Array:t.getBuffer(n),format:i.mimeType,flipY:!1}).then(r).otherwise(a),++t.pendingBufferViewToImage)}}function createSamplers(e){var i,t=e._loadResources;t.createSamplers&&(t.createSamplers=!1,i=e._rendererResources.samplers,ForEach.sampler(e.gltf,function(e,t){i[t]=new Sampler({wrapS:e.wrapS,wrapT:e.wrapT,minificationFilter:e.minFilter,magnificationFilter:e.magFilter})}))}var CreateTextureJob=function(){this.gltfTexture=void 0,this.model=void 0,this.context=void 0};function createTexture$3(e,t,i){var r=t.gltf.textures[e.id],n=t._rendererResources.samplers[r.sampler];defined(n)||(n=new Sampler({wrapS:TextureWrap$1.REPEAT,wrapT:TextureWrap$1.REPEAT}));for(var a=!1,o=t.gltf.materials,s=o.length,l=0;l<s;++l){var c=o[l];if(defined(c.extensions)&&defined(c.extensions.KHR_techniques_webgl)){var u,d=c.extensions.KHR_techniques_webgl.values;for(u in d)if(d.hasOwnProperty(u)&&-1!==u.indexOf("Texture")){var h=d[u];if(h.index===e.id&&defined(h.extensions)&&defined(h.extensions.KHR_texture_transform)){a=!0;break}}}if(a)break}var p=n.wrapS,m=n.wrapT,f=n.minificationFilter;a&&f!==TextureMinificationFilter$1.LINEAR&&f!==TextureMinificationFilter$1.NEAREST&&(f=f===TextureMinificationFilter$1.NEAREST_MIPMAP_NEAREST||f===TextureMinificationFilter$1.NEAREST_MIPMAP_LINEAR?TextureMinificationFilter$1.NEAREST:TextureMinificationFilter$1.LINEAR,n=new Sampler({wrapS:n.wrapS,wrapT:n.wrapT,textureMinificationFilter:f,textureMagnificationFilter:n.magnificationFilter}));var g,_=e.internalFormat,f=!(defined(_)&&PixelFormat$1.isCompressedFormat(_)||f!==TextureMinificationFilter$1.NEAREST_MIPMAP_NEAREST&&f!==TextureMinificationFilter$1.NEAREST_MIPMAP_LINEAR&&f!==TextureMinificationFilter$1.LINEAR_MIPMAP_NEAREST&&f!==TextureMinificationFilter$1.LINEAR_MIPMAP_LINEAR),p=f||p===TextureWrap$1.REPEAT||p===TextureWrap$1.MIRRORED_REPEAT||m===TextureWrap$1.REPEAT||m===TextureWrap$1.MIRRORED_REPEAT,m=e.image;defined(_)?g=new Texture({context:i,source:{arrayBufferView:e.bufferView},width:e.width,height:e.height,pixelFormat:_,sampler:n}):defined(m)&&(_=!CesiumMath.isPowerOfTwo(m.width)||!CesiumMath.isPowerOfTwo(m.height),p&&_&&((_=document.createElement("canvas")).width=CesiumMath.nextPowerOfTwo(m.width),_.height=CesiumMath.nextPowerOfTwo(m.height),_.getContext("2d").drawImage(m,0,0,m.width,m.height,0,0,_.width,_.height),m=_),g=new Texture({context:i,source:m,pixelFormat:r.internalFormat,pixelDatatype:r.type,sampler:n,flipY:!1}),f&&g.generateMipmap()),defined(g)&&(t._rendererResources.textures[e.id]=g,t._texturesByteLength+=g.sizeInBytes)}CreateTextureJob.prototype.set=function(e,t,i){this.gltfTexture=e,this.model=t,this.context=i},CreateTextureJob.prototype.execute=function(){createTexture$3(this.gltfTexture,this.model,this.context)};var scratchCreateTextureJob=new CreateTextureJob;function createTextures(e,t){var i=t.context,r=e._loadResources.texturesToCreate;if(e.asynchronous)for(;0<r.length&&(scratchCreateTextureJob.set(r.peek(),e,i),t.jobScheduler.execute(scratchCreateTextureJob,JobType$1.TEXTURE));)r.dequeue();else for(;0<r.length;)createTexture$3(r.dequeue(),e,i)}function getAttributeLocations$1(e,t){var i,r,n=e._sourceTechniques,a={},t=e._runtime.materialsById[t.material];if(!defined(t))return a;t=n[t._technique];if(!defined(t))return a;var o,s=t.attributes,l=e._rendererResources.programs[t.program]._attributeLocations;for(i in l)!l.hasOwnProperty(i)||defined(o=s[i])&&(r=l[i],a[o.semantic]=r);var c=e._precreatedAttributes;if(defined(c))for(i in c)c.hasOwnProperty(i)&&(r=l[i],a[i]=r);return a}function createJoints(e,t){for(var i=e.gltf,r=i.skins,n=i.nodes,a=e._runtime.nodes,o=e._loadResources.skinnedNodesIds,s=o.length,l=0;l<s;++l){var c=o[l],u=a[c],d=n[c],c=t[d.skin];u.inverseBindMatrices=c.inverseBindMatrices,u.bindShapeMatrix=c.bindShapeMatrix;for(var h=r[d.skin].joints,p=h.length,m=0;m<p;++m){var f=a[h[m]];u.joints.push(f)}}}function createSkins(n){var a,o,e=n._loadResources;0===e.pendingBufferLoads&&e.createSkins&&(e.createSkins=!1,e=n.gltf,a=e.accessors,o={},ForEach.skin(e,function(e,t){var i,r=a[e.inverseBindMatrices];Matrix4.equals(e.bindShapeMatrix,Matrix4.IDENTITY)||(i=Matrix4.clone(e.bindShapeMatrix)),o[t]={inverseBindMatrices:ModelAnimationCache.getSkinInverseBindMatrices(n,r),bindShapeMatrix:i}}),createJoints(n,o))}function getChannelEvaluator(t,i,r,n){return function(e){defined(n)&&(e=t.clampAnimations?n.clampTime(e):n.wrapTime(e),i[r]=n.evaluate(e,i[r]),i.dirtyNumber=t._maxDirtyNumber)}}function createRuntimeAnimations(f){var g,_,e=f._loadResources;e.finishedPendingBufferLoads()&&e.createRuntimeAnimations&&(e.createRuntimeAnimations=!1,f._runtime.animations=[],g=f._runtime.nodes,_=f.gltf.accessors,ForEach.animation(f.gltf,function(e,t){for(var i=e.channels,r=e.samplers,n=Number.MAX_VALUE,a=-Number.MAX_VALUE,o=i.length,s=new Array(o),l=0;l<o;++l){var c=i[l],u=c.target,d=u.path,h=r[c.sampler],p=ModelAnimationCache.getAnimationParameterValues(f,_[h.input]),m=ModelAnimationCache.getAnimationParameterValues(f,_[h.output]),n=Math.min(n,p[0]),a=Math.max(a,p[p.length-1]),m=ModelAnimationCache.getAnimationSpline(f,t,e,c.sampler,h,p,d,m);s[l]=getChannelEvaluator(f,g[u.node],u.path,m)}f._runtime.animations[t]={name:e.name,startTime:n,stopTime:a,channelEvaluators:s}}))}function createVertexArrays(d,h){var p,m,f,g,e=d._loadResources;e.finishedBuffersCreation()&&e.finishedProgramCreation()&&e.createVertexArrays&&(e.createVertexArrays=!1,p=d._rendererResources.buffers,m=d._rendererResources.vertexArrays,f=d.gltf,g=f.accessors,ForEach.mesh(f,function(e,u){ForEach.meshPrimitive(e,function(e,t){var n,i,r,a=[],o=getAttributeLocations$1(d,e),s=d._decodedData[u+".primitive."+t];ForEach.meshPrimitiveAttribute(e,function(e,t){if(defined(n=o[t])){if(defined(s)){var i=s.attributes;if(i.hasOwnProperty(t)){var r=i[t];return void a.push({index:n,vertexBuffer:p[r.bufferView],componentsPerAttribute:r.componentsPerAttribute,componentDatatype:r.componentDatatype,normalize:r.normalized,offsetInBytes:r.byteOffset,strideInBytes:r.byteStride})}}r=g[e],e=defined(r.normalized)&&r.normalized;a.push({index:n,vertexBuffer:p[r.bufferView],componentsPerAttribute:numberOfComponentsForType(r.type),componentDatatype:r.componentType,normalize:e,offsetInBytes:r.byteOffset,strideInBytes:getAccessorByteStride(f,r)})}});var l,c=d._precreatedAttributes;if(defined(c))for(r in c)c.hasOwnProperty(r)&&defined(n=o[r])&&((i=c[r]).index=n,a.push(i));defined(e.indices)&&(l=g[e.indices].bufferView,defined(s)&&(l=s.bufferView),l=p[l]),m[u+".primitive."+t]=new VertexArray({context:h,attributes:a,indexBuffer:l})})}))}function createRenderStates$3(i){var e=i._loadResources;e.createRenderStates&&(e.createRenderStates=!1,ForEach.material(i.gltf,function(e,t){createRenderStateForMaterial(i,e,t)}))}function createRenderStateForMaterial(e,t,i){var r=e._rendererResources.renderStates,n=[WebGLConstants$1.FUNC_ADD,WebGLConstants$1.FUNC_ADD],a=[WebGLConstants$1.ONE,WebGLConstants$1.ONE_MINUS_SRC_ALPHA,WebGLConstants$1.ONE,WebGLConstants$1.ONE_MINUS_SRC_ALPHA];defined(t.extensions)&&defined(t.extensions.KHR_blend)&&(n=t.extensions.KHR_blend.blendEquation,a=t.extensions.KHR_blend.blendFactors);e=!t.doubleSided,t="BLEND"===t.alphaMode;r[i]=RenderState.fromCache({cull:{enabled:e},depthTest:{enabled:!0,func:DepthFunction$1.LESS_OR_EQUAL},depthMask:!t,blending:{enabled:t,equationRgb:n[0],equationAlpha:n[1],functionSourceRgb:a[0],functionDestinationRgb:a[1],functionSourceAlpha:a[2],functionDestinationAlpha:a[3]}})}var gltfUniformsFromNode={MODEL:function(e,t,i){return function(){return i.computedMatrix}},VIEW:function(e,t,i){return function(){return e.view}},PROJECTION:function(e,t,i){return function(){return e.projection}},MODELVIEW:function(e,t,i){var r=new Matrix4;return function(){return Matrix4.multiplyTransformation(e.view,i.computedMatrix,r)}},CESIUM_RTC_MODELVIEW:function(e,t,i){var r=new Matrix4;return function(){return Matrix4.multiplyTransformation(e.view,i.computedMatrix,r),Matrix4.setTranslation(r,t._rtcCenterEye,r)}},MODELVIEWPROJECTION:function(e,t,i){var r=new Matrix4;return function(){return Matrix4.multiplyTransformation(e.view,i.computedMatrix,r),Matrix4.multiply(e._projection,r,r)}},MODELINVERSE:function(e,t,i){var r=new Matrix4;return function(){return Matrix4.inverse(i.computedMatrix,r)}},VIEWINVERSE:function(e,t){return function(){return e.inverseView}},PROJECTIONINVERSE:function(e,t,i){return function(){return e.inverseProjection}},MODELVIEWINVERSE:function(e,t,i){var r=new Matrix4,n=new Matrix4;return function(){return Matrix4.multiplyTransformation(e.view,i.computedMatrix,r),Matrix4.inverse(r,n)}},MODELVIEWPROJECTIONINVERSE:function(e,t,i){var r=new Matrix4,n=new Matrix4;return function(){return Matrix4.multiplyTransformation(e.view,i.computedMatrix,r),Matrix4.multiply(e._projection,r,r),Matrix4.inverse(r,n)}},MODELINVERSETRANSPOSE:function(e,t,i){var r=new Matrix4,n=new Matrix3;return function(){return Matrix4.inverse(i.computedMatrix,r),Matrix4.getMatrix3(r,n),Matrix3.transpose(n,n)}},MODELVIEWINVERSETRANSPOSE:function(e,t,i){var r=new Matrix4,n=new Matrix4,a=new Matrix3;return function(){return Matrix4.multiplyTransformation(e.view,i.computedMatrix,r),Matrix4.inverse(r,n),Matrix4.getMatrix3(n,a),Matrix3.transpose(a,a)}},VIEWPORT:function(e,t,i){return function(){return e.viewportCartesian4}}};function getUniformFunctionFromSource(e,t,i,r){e=t._runtime.nodes[e];return gltfUniformsFromNode[i](r,t,e)}function createUniformsForMaterial(n,a,e,o,s,l,c){var u,d,h={},p={};return ForEach.techniqueUniform(e,function(e,t){var i,r;defined(o)&&defined(o[t])?(r=ModelUtility.createUniformFunction(e.type,o[t],l,c),h[t]=r.func,p[t]=r):defined(e.node)?h[t]=getUniformFunctionFromSource(e.node,n,e.semantic,s.uniformState):defined(e.semantic)?"JOINTMATRIX"===e.semantic?u=t:"MORPHWEIGHTS"===e.semantic?d=t:"ALPHACUTOFF"===e.semantic?defined(i=a.alphaMode)&&"MASK"===i&&(i=defaultValue(a.alphaCutoff,.5),r=ModelUtility.createUniformFunction(e.type,i,l,c),h[t]=r.func,p[t]=r):h[t]=ModelUtility.getGltfSemanticUniforms()[e.semantic](s.uniformState,n):defined(e.value)&&(e=ModelUtility.createUniformFunction(e.type,e.value,l,c),h[t]=e.func,p[t]=e)}),{map:h,values:p,jointMatrixUniformName:u,morphWeightsUniformName:d}}function createUniformMaps(a,o){var s,l,c,u,e=a._loadResources;e.finishedProgramCreation()&&e.createUniformMaps&&(e.createUniformMaps=!1,e=a.gltf,s=a._sourceTechniques,l=a._uniformMaps,c=a._rendererResources.textures,u=a._defaultTexture,ForEach.material(e,function(e,t){var i,r=a._runtime.materialsById[t],n=s[r._technique],r=r._values,r=createUniformsForMaterial(a,e,n,r,o,c,u),t=l[t];t.uniformMap=r.map,t.values=r.values,t.jointMatrixUniformName=r.jointMatrixUniformName,t.morphWeightsUniformName=r.morphWeightsUniformName,defined(n.attributes.a_outlineCoordinates)&&(i=ModelOutlineLoader.createTexture(a,o),t.uniformMap.u_outlineTexture=function(){return i})}))}function createUniformsForDracoQuantizedAttributes(e){return ModelUtility.createUniformsForDracoQuantizedAttributes(e.attributes)}function createUniformsForQuantizedAttributes$1(e,t){var i=getProgramForPrimitive(e,t),i=e._quantizedUniforms[i];return ModelUtility.createUniformsForQuantizedAttributes(e.gltf,t,i)}function createPickColorFunction(e){return function(){return e}}function createJointMatricesFunction(e){return function(){return e.computedJointMatrices}}function createMorphWeightsFunction(e){return function(){return e.weights}}function createSilhouetteColorFunction(e){return function(){return e.silhouetteColor}}function createSilhouetteSizeFunction(e){return function(){return e.silhouetteSize}}function createColorFunction(e){return function(){return e.color}}function createClippingPlanesMatrixFunction(e){return function(){return e._clippingPlanesMatrix}}function createIBLReferenceFrameMatrixFunction(e){return function(){return e._iblReferenceFrameMatrix}}function createClippingPlanesFunction(t){return function(){var e=t.clippingPlanes;return defined(e)&&e.enabled?e.texture:t._defaultTexture}}function createClippingPlanesEdgeStyleFunction(i){return function(){var e=i.clippingPlanes;if(!defined(e))return Color.WHITE.withAlpha(0);var t=Color.clone(e.edgeColor);return t.alpha=e.edgeWidth,t}}function createColorBlendFunction(e){return function(){return ColorBlendMode$1.getColorBlend(e.colorBlendMode,e.colorBlendAmount)}}function createIBLFactorFunction(e){return function(){return e._imageBasedLightingFactor}}function createLightColorFunction(e){return function(){return e._lightColor}}function createLuminanceAtZenithFunction(e){return function(){return e.luminanceAtZenith}}function createSphericalHarmonicCoefficientsFunction(e){return function(){return e._sphericalHarmonicCoefficients}}function createSpecularEnvironmentMapFunction(e){return function(){return e._specularEnvironmentMapAtlas.texture}}function createSpecularEnvironmentMapSizeFunction(e){return function(){return e._specularEnvironmentMapAtlas.texture.dimensions}}function createSpecularEnvironmentMapLOD(e){return function(){return e._specularEnvironmentMapAtlas.maximumMipmapLevel}}function triangleCountFromPrimitiveIndices$1(e,t){switch(e.mode){case PrimitiveType$1.TRIANGLES:return t/3;case PrimitiveType$1.TRIANGLE_STRIP:case PrimitiveType$1.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function createCommand(e,t,i,r,n){for(var a=e._nodeCommands,o=e._pickIds,s=e.allowPicking,l=e._runtime.meshesByName,c=e._rendererResources,u=c.vertexArrays,d=c.programs,h=c.renderStates,p=e._uniformMaps,m=e.gltf,f=m.accessors,c=m.meshes,g=t.mesh,_=c[g],y=_.primitives,C=y.length,v=0;v<C;++v){var S,T=y[v],b=f[T.indices],x=e._runtime.materialsById[T.material]._program,E=e._decodedData[g+".primitive."+v],P=T.attributes.POSITION;defined(P)&&(M=ModelUtility.getAccessorMinMax(m,P),S=BoundingSphere.fromCornerPoints(Cartesian3.fromArray(M.min),Cartesian3.fromArray(M.max)));var A,w,D=u[g+".primitive."+v];w=defined(E)?(A=E.numberOfIndices,0):defined(b)?(A=b.count,b.byteOffset/IndexDatatype$1.getSizeInBytes(b.componentType)):(A=f[T.attributes.POSITION].count,0),e._trianglesLength+=triangleCountFromPrimitiveIndices$1(T,A);var P=p[T.material],M=P.uniformMap;defined(P.jointMatrixUniformName)&&((I={})[P.jointMatrixUniformName]=createJointMatricesFunction(i),M=combine(M,I)),defined(P.morphWeightsUniformName)&&((R={})[P.morphWeightsUniformName]=createMorphWeightsFunction(i),M=combine(M,R)),M=combine(M,{gltf_color:createColorFunction(e),gltf_colorBlend:createColorBlendFunction(e),gltf_clippingPlanes:createClippingPlanesFunction(e),gltf_clippingPlanesEdgeStyle:createClippingPlanesEdgeStyleFunction(e),gltf_clippingPlanesMatrix:createClippingPlanesMatrixFunction(e),gltf_iblReferenceFrameMatrix:createIBLReferenceFrameMatrixFunction(e),gltf_iblFactor:createIBLFactorFunction(e),gltf_lightColor:createLightColorFunction(e),gltf_sphericalHarmonicCoefficients:createSphericalHarmonicCoefficientsFunction(e),gltf_specularMap:createSpecularEnvironmentMapFunction(e),gltf_specularMapSize:createSpecularEnvironmentMapSizeFunction(e),gltf_maxSpecularLOD:createSpecularEnvironmentMapLOD(e),gltf_luminanceAtZenith:createLuminanceAtZenithFunction(e)}),defined(e._uniformMapLoaded)&&(M=e._uniformMapLoaded(M,x,i));b={};e.extensionsUsed.WEB3D_quantized_attributes?b=createUniformsForQuantizedAttributes$1(e,T):e._dequantizeInShader&&defined(E)&&(b=createUniformsForDracoQuantizedAttributes(E)),M=combine(M,b);var I=h[T.material],P=I.blending.enabled,R=e._pickObject;defined(R)||(R={primitive:e,id:e.id,node:i.publicNode,mesh:l[_.name]});var O,E=ShadowMode$1.castShadows(e._shadows),b=ShadowMode$1.receiveShadows(e._shadows);s&&!defined(e._uniformMapLoaded)&&(O=r.createPickId(R),o.push(O),M=combine(M,{czm_pickColor:createPickColorFunction(O.color)})),s&&(O=defined(e._pickIdLoaded)&&defined(e._uniformMapLoaded)?e._pickIdLoaded():"czm_pickColor");var L,P=new DrawCommand({boundingVolume:new BoundingSphere,cull:e.cull,modelMatrix:new Matrix4,primitiveType:T.mode,vertexArray:D,count:A,offset:w,shaderProgram:d[x],castShadows:E,receiveShadows:b,uniformMap:M,renderState:I,owner:R,pass:P?Pass$1.TRANSLUCENT:e.opaquePass,pickId:O});n||((L=DrawCommand.shallowClone(P)).boundingVolume=new BoundingSphere,L.modelMatrix=new Matrix4);x={show:!0,boundingSphere:S,command:P,command2D:L,silhouetteModelCommand:void 0,silhouetteModelCommand2D:void 0,silhouetteColorCommand:void 0,silhouetteColorCommand2D:void 0,translucentCommand:void 0,translucentCommand2D:void 0,disableCullingCommand:void 0,disableCullingCommand2D:void 0,programId:x};i.commands.push(x),a.push(x)}}function createRuntimeNodes$1(e,t,i){var r=e._loadResources;if(r.finishedEverythingButTextureCreation()&&r.createRuntimeNodes){r.createRuntimeNodes=!1;for(var n=[],a=e._runtime.nodes,r=e.gltf,o=r.nodes,s=r.scenes[r.scene].nodes,l=s.length,c=[],u={},d=0;d<l;++d)for(c.push({parentRuntimeNode:void 0,gltfNode:o[s[d]],id:s[d]});0<c.length;){var h=c.pop();u[h.id]=!0;var p=h.parentRuntimeNode,m=h.gltfNode,f=a[h.id];0===f.parents.length&&(defined(m.matrix)?f.matrix=Matrix4.fromColumnMajorArray(m.matrix):(h=m.rotation,f.translation=Cartesian3.fromArray(m.translation),f.rotation=Quaternion.unpack(h),f.scale=Cartesian3.fromArray(m.scale))),defined(p)?(p.children.push(f),f.parents.push(p)):n.push(f),defined(m.mesh)&&createCommand(e,m,f,t,i);var g=m.children;if(defined(g))for(var _=g.length,y=0;y<_;y++){var C=g[y];u[C]||c.push({parentRuntimeNode:f,gltfNode:o[C],id:g[y]})}}e._runtime.rootNodes=n,e._runtime.nodes=a}}function getGeometryByteLength(e){var t,i=0;for(t in e)e.hasOwnProperty(t)&&(i+=e[t].sizeInBytes);return i}function getTexturesByteLength(e){var t,i=0;for(t in e)e.hasOwnProperty(t)&&(i+=e[t].sizeInBytes);return i}function createResources$1(e,t){var i,r,n,a,o,s=t.context,l=t.scene3DOnly,c=e._quantizedVertexShaders,u=e._sourceTechniques,d=e._sourcePrograms,h=e._rendererResources,p=h.sourceShaders;for(i in e._loadRendererResourcesFromCache&&(p=h.sourceShaders=e._cachedRendererResources.sourceShaders),u)u.hasOwnProperty(i)&&(n=p[(a=d[r=u[i].program]).vertexShader],ModelUtility.checkSupportedGlExtensions(a.glExtensions,s),(e.extensionsUsed.WEB3D_quantized_attributes||e._dequantizeInShader)&&(defined(a=c[r])||(a=modifyShaderForQuantizedAttributes$1(n,r,e),c[r]=a),n=a),n=modifyShader$1(n,r,e._vertexShaderLoaded));e._loadRendererResourcesFromCache?(o=e._cachedRendererResources,h.buffers=o.buffers,h.vertexArrays=o.vertexArrays,h.programs=o.programs,h.silhouettePrograms=o.silhouettePrograms,h.textures=o.textures,h.samplers=o.samplers,h.renderStates=o.renderStates,defined(e._precreatedAttributes)&&createVertexArrays(e,s),e._cachedGeometryByteLength+=getGeometryByteLength(o.buffers),e._cachedTexturesByteLength+=getTexturesByteLength(o.textures)):(createBuffers$1(e,t),createPrograms(e,t),createSamplers(e),loadTexturesFromBufferViews(e),createTextures(e,t)),createSkins(e),createRuntimeAnimations(e),e._loadRendererResourcesFromCache||(createVertexArrays(e,s),createRenderStates$3(e)),createUniformMaps(e,s),createRuntimeNodes$1(e,s,l)}function getNodeMatrix(e,t){var i=e.publicNode,r=i.matrix;i.useMatrix&&defined(r)?Matrix4.clone(r,t):defined(e.matrix)?Matrix4.clone(e.matrix,t):(Matrix4.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t),i.setMatrix(t))}var scratchNodeStack=[],scratchComputedTranslation$1=new Cartesian4,scratchComputedMatrixIn2D$1=new Matrix4;function updateNodeHierarchyModelMatrix(e,t,i,r){var n,a=e._maxDirtyNumber,o=e._runtime.rootNodes,s=o.length,l=scratchNodeStack,c=e._computedModelMatrix;e._mode===SceneMode$1.SCENE3D||e._ignoreCommands||(n=Matrix4.getColumn(c,3,scratchComputedTranslation$1),Cartesian4.equals(n,Cartesian4.UNIT_W)?(n=e.boundingSphere.center,n=Transforms.wgs84To2DModelMatrix(r,n,scratchComputedMatrixIn2D$1),c=Matrix4.multiply(n,c,scratchComputedMatrixIn2D$1),defined(e._rtcCenter)&&(Matrix4.setTranslation(c,Cartesian4.UNIT_W,c),e._rtcCenter=e._rtcCenter2D)):(c=Transforms.basisTo2D(r,c,scratchComputedMatrixIn2D$1),e._rtcCenter=e._rtcCenter3D));for(var u=0;u<s;++u){var d=o[u];for(getNodeMatrix(d,d.transformToRoot),l.push(d);0<l.length;){var h=(d=l.pop()).transformToRoot,p=d.commands;if(d.dirtyNumber===a||t||i){var m=Matrix4.multiplyTransformation(c,h,d.computedMatrix),f=p.length;if(0<f)for(var g=0;g<f;++g){var _=p[g],y=_.command;Matrix4.clone(m,y.modelMatrix),BoundingSphere.transform(_.boundingSphere,y.modelMatrix,y.boundingVolume),defined(e._rtcCenter)&&Cartesian3.add(e._rtcCenter,y.boundingVolume.center,y.boundingVolume.center),defined(y=_.command2D)&&e._mode===SceneMode$1.SCENE2D&&(Matrix4.clone(m,y.modelMatrix),y.modelMatrix[13]-=2*CesiumMath.sign(y.modelMatrix[13])*CesiumMath.PI*r.ellipsoid.maximumRadius,BoundingSphere.transform(_.boundingSphere,y.modelMatrix,y.boundingVolume))}}var C=d.children;if(defined(C))for(var v=C.length,S=0;S<v;++S){var T=C[S];T.dirtyNumber=Math.max(T.dirtyNumber,d.dirtyNumber),T.dirtyNumber!==a&&!i||(getNodeMatrix(T,T.transformToRoot),Matrix4.multiplyTransformation(h,T.transformToRoot,T.transformToRoot)),l.push(T)}}}++e._maxDirtyNumber}var scratchObjectSpace=new Matrix4;function applySkins(e){for(var t=e._runtime.skinnedNodes,i=t.length,r=0;r<i;++r){var n=t[r];scratchObjectSpace=Matrix4.inverseTransformation(n.transformToRoot,scratchObjectSpace);for(var a=n.computedJointMatrices,o=n.joints,s=n.bindShapeMatrix,l=n.inverseBindMatrices,c=l.length,u=0;u<c;++u)defined(a[u])||(a[u]=new Matrix4),a[u]=Matrix4.multiplyTransformation(scratchObjectSpace,o[u].transformToRoot,a[u]),a[u]=Matrix4.multiplyTransformation(a[u],l[u],a[u]),defined(s)&&(a[u]=Matrix4.multiplyTransformation(a[u],s,a[u]))}}function updatePerNodeShow(e){for(var t=e._runtime.rootNodes,i=t.length,r=scratchNodeStack,n=0;n<i;++n){var a=t[n];for(a.computedShow=a.publicNode.show,r.push(a);0<r.length;){for(var o=(a=r.pop()).computedShow,s=a.commands,l=s.length,c=0;c<l;++c)s[c].show=o;var u=a.children;if(defined(u))for(var d=u.length,h=0;h<d;++h){var p=u[h];p.computedShow=o&&p.publicNode.show,r.push(p)}}}}function updatePickIds(e,t){var i=e.id;if(e._id!==i){e._id=i;for(var r=e._pickIds,n=r.length,a=0;a<n;++a)r[a].object.id=i}}function updateWireframe$1(e){if(e._debugWireframe!==e.debugWireframe){e._debugWireframe=e.debugWireframe;for(var t=e.debugWireframe?PrimitiveType$1.LINES:PrimitiveType$1.TRIANGLES,i=e._nodeCommands,r=i.length,n=0;n<r;++n)i[n].command.primitiveType=t}}function updateShowBoundingVolume(e){if(e.debugShowBoundingVolume!==e._debugShowBoundingVolume){e._debugShowBoundingVolume=e.debugShowBoundingVolume;for(var t=e.debugShowBoundingVolume,i=e._nodeCommands,r=i.length,n=0;n<r;++n)i[n].command.debugShowBoundingVolume=t}}function updateShadows(e){if(e.shadows!==e._shadows){e._shadows=e.shadows;for(var t=ShadowMode$1.castShadows(e.shadows),i=ShadowMode$1.receiveShadows(e.shadows),r=e._nodeCommands,n=r.length,a=0;a<n;a++){var o=r[a];o.command.castShadows=t,o.command.receiveShadows=i}}}function getTranslucentRenderState$1(e){e=clone(e,!0);return e.cull.enabled=!1,e.depthTest.enabled=!0,e.depthMask=!1,e.blending=BlendingState$1.ALPHA_BLEND,RenderState.fromCache(e)}function deriveTranslucentCommand$1(e){var t=DrawCommand.shallowClone(e);return t.pass=Pass$1.TRANSLUCENT,t.renderState=getTranslucentRenderState$1(e.renderState),t}function updateColor(e,t,i){var r=t.scene3DOnly,t=e.color.alpha;if(0<t&&t<1){var n=e._nodeCommands,a=n.length;if(!defined(n[0].translucentCommand)||i)for(var o=0;o<a;++o){var s=n[o],l=s.command;s.translucentCommand=deriveTranslucentCommand$1(l),r||(l=s.command2D,s.translucentCommand2D=deriveTranslucentCommand$1(l))}}}function getDisableCullingRenderState(e){e=clone(e,!0);return e.cull.enabled=!1,RenderState.fromCache(e)}function deriveDisableCullingCommand(e){var t=DrawCommand.shallowClone(e);return t.renderState=getDisableCullingRenderState(e.renderState),t}function updateBackFaceCulling(e,t,i){var r=t.scene3DOnly;if(!e.backFaceCulling){var n=e._nodeCommands,a=n.length;if(!defined(n[0].disableCullingCommand)||i)for(var o=0;o<a;++o){var s=n[o],l=s.command;s.disableCullingCommand=deriveDisableCullingCommand(l),r||(l=s.command2D,s.disableCullingCommand2D=deriveDisableCullingCommand(l))}}}function getProgramId(e,t){var i,r=e._rendererResources.programs;for(i in r)if(r.hasOwnProperty(i)&&r[i]===t)return i}function createSilhouetteProgram(e,t,i){var r=t.vertexShaderSource.sources[0],t=t._attributeLocations,e=e._normalAttributeName,r=ShaderSource.replaceMain(r,"gltf_silhouette_main");r+="uniform float gltf_silhouetteSize; \nvoid main() \n{ \n gltf_silhouette_main(); \n vec3 n = normalize(czm_normal3D * "+e+"); \n n.x *= czm_projection[0][0]; \n n.y *= czm_projection[1][1]; \n vec4 clip = gl_Position; \n clip.xy += n.xy * clip.w * gltf_silhouetteSize * czm_pixelRatio / czm_viewport.z; \n gl_Position = clip; \n}";return ShaderProgram.fromCache({context:i.context,vertexShaderSource:r,fragmentShaderSource:"uniform vec4 gltf_silhouetteColor; \nvoid main() \n{ \n gl_FragColor = czm_gammaCorrect(gltf_silhouetteColor); \n}",attributeLocations:t})}function hasSilhouette(e,t){return silhouetteSupported(t.context)&&0<e.silhouetteSize&&0<e.silhouetteColor.alpha&&defined(e._normalAttributeName)}function hasTranslucentCommands(e){for(var t=e._nodeCommands,i=t.length,r=0;r<i;++r)if(t[r].command.pass===Pass$1.TRANSLUCENT)return!0;return!1}function isTranslucent(e){return 0<e.color.alpha&&e.color.alpha<1}function isInvisible(e){return 0===e.color.alpha}function alphaDirty(e,t){return Math.floor(e)!==Math.floor(t)||Math.ceil(e)!==Math.ceil(t)}var silhouettesLength=0;function createSilhouetteCommands(e,t){for(var i=++silhouettesLength%255,r=hasTranslucentCommands(e)||isTranslucent(e)||e.silhouetteColor.alpha<1,n=e._rendererResources.silhouettePrograms,a=t.scene3DOnly,o=e._nodeCommands,s=o.length,l=0;l<s;++l){var c=o[l],u=c.command,d=isTranslucent(e)?c.translucentCommand:u,h=DrawCommand.shallowClone(d),p=clone(d.renderState);p.stencilTest={enabled:!0,frontFunction:WebGLConstants$1.ALWAYS,backFunction:WebGLConstants$1.ALWAYS,reference:i,mask:-1,frontOperation:{fail:WebGLConstants$1.KEEP,zFail:WebGLConstants$1.KEEP,zPass:WebGLConstants$1.REPLACE},backOperation:{fail:WebGLConstants$1.KEEP,zFail:WebGLConstants$1.KEEP,zPass:WebGLConstants$1.REPLACE}},isInvisible(e)&&(p.colorMask={red:!1,green:!1,blue:!1,alpha:!1},p.depthMask=!1),p=RenderState.fromCache(p),h.renderState=p,c.silhouetteModelCommand=h;var m=DrawCommand.shallowClone(u);(p=clone(u.renderState,!0)).depthTest.enabled=!0,p.cull.enabled=!1,r&&(m.pass=Pass$1.TRANSLUCENT,p.depthMask=!1,p.blending=BlendingState$1.ALPHA_BLEND),p.stencilTest={enabled:!0,frontFunction:WebGLConstants$1.NOTEQUAL,backFunction:WebGLConstants$1.NOTEQUAL,reference:i,mask:-1,frontOperation:{fail:WebGLConstants$1.KEEP,zFail:WebGLConstants$1.KEEP,zPass:WebGLConstants$1.KEEP},backOperation:{fail:WebGLConstants$1.KEEP,zFail:WebGLConstants$1.KEEP,zPass:WebGLConstants$1.KEEP}},p=RenderState.fromCache(p);var f=u.shaderProgram,g=getProgramId(e,f),d=n[g];defined(d)||(d=createSilhouetteProgram(e,f,t),n[g]=d);u=combine(u.uniformMap,{gltf_silhouetteColor:createSilhouetteColorFunction(e),gltf_silhouetteSize:createSilhouetteSizeFunction(e)});m.renderState=p,m.shaderProgram=d,m.uniformMap=u,m.castShadows=!1,m.receiveShadows=!1,c.silhouetteColorCommand=m,a||(u=c.command2D,(h=DrawCommand.shallowClone(h)).boundingVolume=u.boundingVolume,h.modelMatrix=u.modelMatrix,c.silhouetteModelCommand2D=h,m=DrawCommand.shallowClone(m),h.boundingVolume=u.boundingVolume,h.modelMatrix=u.modelMatrix,c.silhouetteColorCommand2D=m)}}function modifyShaderForClippingPlanes(e,t,i){return e=ShaderSource.replaceMain(e,"gltf_clip_main"),e+=Model._getClippingFunction(t,i)+"\n",e+="uniform highp sampler2D gltf_clippingPlanes; \nuniform mat4 gltf_clippingPlanesMatrix; \nuniform vec4 gltf_clippingPlanesEdgeStyle; \nvoid main() \n{ \n gltf_clip_main(); \n"+getClipAndStyleCode("gltf_clippingPlanes","gltf_clippingPlanesMatrix","gltf_clippingPlanesEdgeStyle")+"} \n"}function updateSilhouette(e,t,i){var r;hasSilhouette(e,t)&&(r=e._nodeCommands,r=alphaDirty(e.color.alpha,e._colorPreviousAlpha)||alphaDirty(e.silhouetteColor.alpha,e._silhouetteColorPreviousAlpha)||!defined(r[0].silhouetteModelCommand),e._colorPreviousAlpha=e.color.alpha,e._silhouetteColorPreviousAlpha=e.silhouetteColor.alpha,(r||i)&&createSilhouetteCommands(e,t))}function updateClippingPlanes(e,t){var i=e._clippingPlanes;defined(i)&&i.owner===e&&i.enabled&&i.update(t)}var scratchBoundingSphere$3=new BoundingSphere;function scaleInPixels(e,t,i){return scratchBoundingSphere$3.center=e,scratchBoundingSphere$3.radius=t,i.camera.getPixelSize(scratchBoundingSphere$3,i.context.drawingBufferWidth,i.context.drawingBufferHeight)}var scratchPosition$5=new Cartesian3,scratchCartographic$3=new Cartographic;function getScale(e,t){var i,r,n,a,o=e.scale;return 0!==e.minimumPixelSize&&(r=t.context,i=Math.max(r.drawingBufferWidth,r.drawingBufferHeight),r=defined(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix,scratchPosition$5.x=r[12],scratchPosition$5.y=r[13],scratchPosition$5.z=r[14],defined(e._rtcCenter)&&Cartesian3.add(e._rtcCenter,scratchPosition$5,scratchPosition$5),e._mode!==SceneMode$1.SCENE3D&&(a=(n=t.mapProjection).ellipsoid.cartesianToCartographic(scratchPosition$5,scratchCartographic$3),n.project(a,scratchPosition$5),Cartesian3.fromElements(scratchPosition$5.z,scratchPosition$5.x,scratchPosition$5.y,scratchPosition$5)),n=e.boundingSphere.radius,t=1/(a=scaleInPixels(scratchPosition$5,n,t)),Math.min(2*n*t,i)<e.minimumPixelSize&&(o=e.minimumPixelSize*a/(2*e._initialRadius))),defined(e.maximumScale)?Math.min(e.maximumScale,o):o}function releaseCachedGltf(e){defined(e._cacheKey)&&defined(e._cachedGltf)&&0==--e._cachedGltf.count&&delete gltfCache[e._cacheKey],e._cachedGltf=void 0}function CachedRendererResources(e,t){this.buffers=void 0,this.vertexArrays=void 0,this.programs=void 0,this.sourceShaders=void 0,this.silhouettePrograms=void 0,this.textures=void 0,this.samplers=void 0,this.renderStates=void 0,this.ready=!1,this.context=e,this.cacheKey=t,this.count=0}function destroy(e){for(var t in e)e.hasOwnProperty(t)&&e[t].destroy()}function destroyCachedRendererResources(e){destroy(e.buffers),destroy(e.vertexArrays),destroy(e.programs),destroy(e.silhouettePrograms),destroy(e.textures)}function getUpdateHeightCallback(i,r,n){return function(e){i.heightReference===HeightReference$1.RELATIVE_TO_GROUND&&((t=r.cartesianToCartographic(e,scratchCartographic$3)).height+=n.height,r.cartographicToCartesian(t,e));var t=i._clampedModelMatrix;Matrix4.clone(i.modelMatrix,t),t[12]=e.x,t[13]=e.y,t[14]=e.z,i._heightChanged=!0}}function updateClamping(e){defined(e._removeUpdateHeightCallback)&&(e._removeUpdateHeightCallback(),e._removeUpdateHeightCallback=void 0);var t,i,r,n=e._scene;defined(n)&&defined(n.globe)&&e.heightReference!==HeightReference$1.NONE?(t=(r=n.globe).ellipsoid,i=e.modelMatrix,scratchPosition$5.x=i[12],scratchPosition$5.y=i[13],scratchPosition$5.z=i[14],n=t.cartesianToCartographic(scratchPosition$5),defined(e._clampedModelMatrix)||(e._clampedModelMatrix=Matrix4.clone(i,new Matrix4)),i=r._surface,e._removeUpdateHeightCallback=i.updateHeight(n,getUpdateHeightCallback(e,t,n)),defined(i=r.getHeight(n))&&(r=getUpdateHeightCallback(e,t,n),Cartographic.clone(n,scratchCartographic$3),scratchCartographic$3.height=i,t.cartographicToCartesian(scratchCartographic$3,scratchPosition$5),r(scratchPosition$5))):e._clampedModelMatrix=void 0}CachedRendererResources.prototype.release=function(){if(0==--this.count)return defined(this.cacheKey)&&delete this.context.cache.modelRendererResourceCache[this.cacheKey],destroyCachedRendererResources(this),destroyObject(this)};var scratchDisplayConditionCartesian=new Cartesian3,scratchDistanceDisplayConditionCartographic=new Cartographic;function distanceDisplayConditionVisible(e,t){var i,r,n=e.distanceDisplayCondition,a=n.near*n.near,o=n.far*n.far;return t.mode===SceneMode$1.SCENE2D?(i=.5*(t.camera.frustum.right-t.camera.frustum.left),i*=i):(r=Matrix4.getTranslation(e.modelMatrix,scratchDisplayConditionCartesian),t.mode===SceneMode$1.COLUMBUS_VIEW&&(e=(n=t.mapProjection).ellipsoid.cartesianToCartographic(r,scratchDistanceDisplayConditionCartographic),r=n.project(e,r),Cartesian3.fromElements(r.z,r.x,r.y,r)),i=Cartesian3.distanceSquared(r,t.camera.positionWC)),a<=i&&i<=o}var scratchClippingPlanesMatrix=new Matrix4,scratchIBLReferenceFrameMatrix4=new Matrix4,scratchIBLReferenceFrameMatrix3=new Matrix3;function destroyIfNotCached(e,t){e.programs!==t.programs&&destroy(e.programs),e.silhouettePrograms!==t.silhouettePrograms&&destroy(e.silhouettePrograms)}function regenerateShaders(e,t){var i=e._rendererResources,r=e._cachedRendererResources;if(destroyIfNotCached(i,r),isClippingEnabled(e)||isColorShadingEnabled(e)||e._shouldRegenerateShaders){e._shouldRegenerateShaders=!1,i.programs={},i.silhouettePrograms={};var n,a={},o=e._sourceTechniques;for(n in o)o.hasOwnProperty(n)&&(a[d=o[n].program]||(a[d]=!0,recreateProgram({programId:d,techniqueId:n},e,t.context)))}else i.programs=r.programs,i.silhouettePrograms=r.silhouettePrograms;for(var s=i.programs,l=e._nodeCommands,c=l.length,u=0;u<c;++u){var d,h=l[u],p=s[d=h.programId];h.command.shaderProgram=p,defined(h.command2D)&&(h.command2D.shaderProgram=p)}updateColor(e,t,!0),updateBackFaceCulling(e,t,!0),updateSilhouette(e,t,!0)}function Batched3DModel3DTileContent(e,t,i,r,n){this._tileset=e,this._tile=t,this._resource=i,this._model=void 0,this._batchTable=void 0,this._features=void 0,this._batchIdAttributeName=void 0,this._diffuseAttributeOrUniformName={},this._rtcCenterTransform=void 0,this._contentModelMatrix=void 0,this.featurePropertiesDirty=!1,initialize$2(this,r,n)}Model.prototype.update=function(e){if(e.mode!==SceneMode$1.MORPHING)if(FeatureDetection.supportsWebP.initialized){var t=FeatureDetection.supportsWebP(),i=e.context;if(this._defaultTexture=i.defaultTexture,this._state===ModelState$1.NEEDS_LOAD&&defined(this.gltf)){var r=this.cacheKey;if(defined(r)){i.cache.modelRendererResourceCache=defaultValue(i.cache.modelRendererResourceCache,{});var n,a=i.cache.modelRendererResourceCache;if(defined(n=a[this.cacheKey])){if(!n.ready)return;++n.count,this._loadRendererResourcesFromCache=!0}else(n=new CachedRendererResources(i,r)).count=1,a[this.cacheKey]=n;this._cachedRendererResources=n}else(n=new CachedRendererResources(i)).count=1,this._cachedRendererResources=n;this._state=ModelState$1.LOADING,this._state!==ModelState$1.FAILED&&(defined(l=this.gltf.extensions)&&defined(l.CESIUM_RTC)&&(c=Cartesian3.fromArray(l.CESIUM_RTC.center),Cartesian3.equals(c,Cartesian3.ZERO)||(this._rtcCenter3D=c,o=(u=e.mapProjection).ellipsoid.cartesianToCartographic(this._rtcCenter3D),s=u.project(o),Cartesian3.fromElements(s.z,s.x,s.y,s),this._rtcCenter2D=s,this._rtcCenterEye=new Cartesian3,this._rtcCenter=this._rtcCenter3D)),addPipelineExtras(this.gltf),this._loadResources=new ModelLoadResources,this._loadRendererResourcesFromCache||ModelUtility.parseBuffers(this,bufferLoad))}var o,s,l=this._loadResources,c=this._incrementallyLoadTextures,u=!1;this._state===ModelState$1.LOADING&&(0===l.pendingBufferLoads&&(l.initialized||(e.brdfLutGenerator.update(e),ModelUtility.checkSupportedExtensions(this.extensionsRequired,t),ModelUtility.updateForwardAxis(this),defined(this.gltf.extras.sourceVersion)||((o=this.gltf).extras.sourceVersion=ModelUtility.getAssetVersion(o),o.extras.sourceKHRTechniquesWebGL=defined(ModelUtility.getUsedExtensions(o).KHR_techniques_webgl),this._sourceVersion=o.extras.sourceVersion,this._sourceKHRTechniquesWebGL=o.extras.sourceKHRTechniquesWebGL,updateVersion(o),addDefaults(o),processModelMaterialsCommon(o,s={addBatchIdToGeneratedShaders:this._addBatchIdToGeneratedShaders}),processPbrMaterials(o,s)),this._sourceVersion=this.gltf.extras.sourceVersion,this._sourceKHRTechniquesWebGL=this.gltf.extras.sourceKHRTechniquesWebGL,this._dequantizeInShader=this._dequantizeInShader&&DracoLoader.hasExtension(this),addBuffersToLoadResources$1(this),parseArticulations(this),parseTechniques(this),this._loadRendererResourcesFromCache||(parseBufferViews$1(this),parseShaders(this),parsePrograms(this),parseTextures(this,i,t)),parseMaterials(this),parseMeshes(this),parseNodes(this),DracoLoader.parse(this,i),l.initialized=!0),l.finishedDecoding()||DracoLoader.decodeModel(this,i).otherwise(ModelUtility.getFailedLoadFunction(this,"model",this.basePath)),l.finishedDecoding()&&!l.resourcesParsed&&(this._boundingSphere=ModelUtility.computeBoundingSphere(this),this._initialRadius=this._boundingSphere.radius,DracoLoader.cacheDataForModel(this),l.resourcesParsed=!0),l.resourcesParsed&&0===l.pendingShaderLoads&&(ModelOutlineLoader.outlinePrimitives(this),createResources$1(this,e))),(l.finished()||c&&l.finishedEverythingButTextureCreation())&&(this._state=ModelState$1.LOADED,u=!0)),defined(l)&&this._state===ModelState$1.LOADED&&(c&&!u&&createResources$1(this,e),l.finished()&&(this._loadResources=void 0,h=this._rendererResources,(p=this._cachedRendererResources).buffers=h.buffers,p.vertexArrays=h.vertexArrays,p.programs=h.programs,p.sourceShaders=h.sourceShaders,p.silhouettePrograms=h.silhouettePrograms,p.textures=h.textures,p.samplers=h.samplers,p.renderStates=h.renderStates,p.ready=!0,this._normalAttributeName=ModelUtility.getAttributeOrUniformBySemantic(this.gltf,"NORMAL"),defined(this._precreatedAttributes)&&(p.vertexArrays={}),this.releaseGltfJson&&releaseCachedGltf(this)));var d,t=OctahedralProjectedCubeMap.isSupported(i);this._shouldUpdateSpecularMapAtlas&&t&&(this._shouldUpdateSpecularMapAtlas=!1,this._specularEnvironmentMapAtlas=this._specularEnvironmentMapAtlas&&this._specularEnvironmentMapAtlas.destroy(),this._specularEnvironmentMapAtlas=void 0,defined(this._specularEnvironmentMaps)&&(this._specularEnvironmentMapAtlas=new OctahedralProjectedCubeMap(this._specularEnvironmentMaps),(d=this)._specularEnvironmentMapAtlas.readyPromise.then(function(){d._shouldRegenerateShaders=!0}).otherwise(function(e){console.error("Error loading specularEnvironmentMaps: "+e)})),this._shouldRegenerateShaders=!0),defined(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(e);var c=!defined(this._specularEnvironmentMapAtlas)&&defined(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,l=!defined(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,h=!defined(this._sphericalHarmonicCoefficients)&&defined(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,p=!defined(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||c||l||h||p,this._useDefaultSpecularMaps=!defined(this._specularEnvironmentMapAtlas)&&defined(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!defined(this._sphericalHarmonicCoefficients)&&defined(e.sphericalHarmonicCoefficients);var m,f,g,_=hasSilhouette(this,e),y=isTranslucent(this),t=isInvisible(this),C=this.backFaceCulling,c=!defined(this.distanceDisplayCondition)||distanceDisplayConditionVisible(this,e),l=this.show&&c&&0!==this.scale&&(!t||_);if((l&&this._state===ModelState$1.LOADED||u)&&(h=this.activeAnimations.update(e)||this._cesiumAnimationsDirty,this._cesiumAnimationsDirty=!1,this._dirty=!1,p=this.modelMatrix,c=e.mode!==this._mode,this._mode=e.mode,((t=!Matrix4.equals(this._modelMatrix,p)||this._scale!==this.scale||this._minimumPixelSize!==this.minimumPixelSize||0!==this.minimumPixelSize||this._maximumScale!==this.maximumScale||this._heightReference!==this.heightReference||this._heightChanged||c)||u)&&(Matrix4.clone(p,this._modelMatrix),updateClamping(this),defined(this._clampedModelMatrix)&&(p=this._clampedModelMatrix),this._scale=this.scale,this._minimumPixelSize=this.minimumPixelSize,this._maximumScale=this.maximumScale,this._heightReference=this.heightReference,this._heightChanged=!1,c=getScale(this,e),g=this._computedModelMatrix,Matrix4.multiplyByUniformScale(p,c,g),this._upAxis===Axis$1.Y?Matrix4.multiplyTransformation(g,Axis$1.Y_UP_TO_Z_UP,g):this._upAxis===Axis$1.X&&Matrix4.multiplyTransformation(g,Axis$1.X_UP_TO_Z_UP,g),this.forwardAxis===Axis$1.Z&&Matrix4.multiplyTransformation(g,Axis$1.Z_UP_TO_X_UP,g)),(h||t||u)&&(updateNodeHierarchyModelMatrix(this,t,u,e.mapProjection),this._dirty=!0,(h||u)&&applySkins(this)),this._perNodeShowDirty&&(this._perNodeShowDirty=!1,updatePerNodeShow(this)),updatePickIds(this),updateWireframe$1(this),updateShowBoundingVolume(this),updateShadows(this),updateClippingPlanes(this,e),g=0,h=defined(t=this._clippingPlanes)&&t.enabled&&0<t.length,p=defaultValue(this.referenceMatrix,p),h&&(m=scratchClippingPlanesMatrix,m=Matrix4.multiply(i.uniformState.view3D,p,m),m=Matrix4.multiply(m,t.modelMatrix,m),this._clippingPlanesMatrix=Matrix4.inverseTranspose(m,this._clippingPlanesMatrix),g=t.clippingPlanesState),m=defined(this._sphericalHarmonicCoefficients)||this._useDefaultSphericalHarmonics,t=defined(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready||this._useDefaultSpecularMaps,(m||t)&&(f=scratchIBLReferenceFrameMatrix3,t=scratchIBLReferenceFrameMatrix4,t=Matrix4.multiply(i.uniformState.view3D,p,t),f=Matrix4.getMatrix3(t,f),f=Matrix3.getRotation(f,f),this._iblReferenceFrameMatrix=Matrix3.transpose(f,this._iblReferenceFrameMatrix)),f=(f=this._shouldRegenerateShaders)||this._clippingPlanesState!==g,this._clippingPlanesState=g,(g=isColorShadingEnabled(this))!==this._colorShadingEnabled&&(this._colorShadingEnabled=g,f=!0),f?regenerateShaders(this,e):(updateColor(this,e,!1),updateBackFaceCulling(this,e,!1),updateSilhouette(this,e,!1))),u){var v=this;e.afterRender.push(function(){v._ready=!0,v._readyPromise.resolve(v)})}else{if(l&&!this._ignoreCommands){var S,T,b,x,E=e.commandList,P=e.passes,A=this._nodeCommands,w=A.length,D=e.mapProjection.ellipsoid.maximumRadius*CesiumMath.PI;if(P.render||P.pick&&this.allowPicking){for(S=0;S<w;++S)(x=A[S]).show&&(b=x.command,_?b=x.silhouetteModelCommand:y?b=x.translucentCommand:C||(b=x.disableCullingCommand),E.push(b),T=x.command.boundingVolume,e.mode===SceneMode$1.SCENE2D&&(T.center.y+T.radius>D||T.center.y-T.radius<D)&&(b=x.command2D,_?b=x.silhouetteModelCommand2D:y?b=x.translucentCommand2D:C||(b=x.disableCullingCommand2D),E.push(b)));if(_&&!P.pick)for(S=0;S<w;++S)(x=A[S]).show&&(E.push(x.silhouetteColorCommand),T=x.command.boundingVolume,e.mode===SceneMode$1.SCENE2D&&(T.center.y+T.radius>D||T.center.y-T.radius<D)&&E.push(x.silhouetteColorCommand2D))}}P=this._credit;defined(P)&&e.creditDisplay.addCredit(P);for(var M=this._resourceCredits,I=M.length,R=0;R<I;R++)e.creditDisplay.addCredit(M[R])}}else FeatureDetection.supportsWebP.initialize()},Model.prototype.isDestroyed=function(){return!1},Model.prototype.destroy=function(){defined(this._precreatedAttributes)&&destroy(this._rendererResources.vertexArrays),defined(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),defined(this._terrainProviderChangedCallback)&&(this._terrainProviderChangedCallback(),this._terrainProviderChangedCallback=void 0),defined(this._cachedRendererResources)&&destroyIfNotCached(this._rendererResources,this._cachedRendererResources),this._rendererResources=void 0,this._cachedRendererResources=this._cachedRendererResources&&this._cachedRendererResources.release(),DracoLoader.destroyCachedDataForModel(this);for(var e=this._pickIds,t=e.length,i=0;i<t;++i)e[i].destroy();releaseCachedGltf(this),this._quantizedVertexShaders=void 0;var r=this._clippingPlanes;return defined(r)&&!r.isDestroyed()&&r.owner===this&&r.destroy(),this._clippingPlanes=void 0,this._specularEnvironmentMapAtlas=this._specularEnvironmentMapAtlas&&this._specularEnvironmentMapAtlas.destroy(),destroyObject(this)},Model._getClippingFunction=getClippingFunction,Model._modifyShaderForColor=modifyShaderForColor,Batched3DModel3DTileContent._deprecationWarning=deprecationWarning,Object.defineProperties(Batched3DModel3DTileContent.prototype,{featuresLength:{get:function(){return this._batchTable.featuresLength}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return this._model.trianglesLength}},geometryByteLength:{get:function(){return this._model.geometryByteLength}},texturesByteLength:{get:function(){return this._model.texturesByteLength}},batchTableByteLength:{get:function(){return this._batchTable.memorySizeInBytes}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._model.readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){return this._batchTable}}});var sizeOfUint32$3=Uint32Array.BYTES_PER_ELEMENT;function getBatchIdAttributeName(e){var t=ModelUtility.getAttributeOrUniformBySemantic(e,"_BATCHID");return defined(t)||defined(t=ModelUtility.getAttributeOrUniformBySemantic(e,"BATCHID"))&&Batched3DModel3DTileContent._deprecationWarning("b3dm-legacy-batchid","The glTF in this b3dm uses the semantic `BATCHID`. Application-specific semantics should be prefixed with an underscore: `_BATCHID`."),t}function getVertexShaderCallback(a){return function(e,t){var i=a._batchTable,r=!defined(a._tileset.classificationType),n=a._model.gltf;defined(n)&&(a._batchIdAttributeName=getBatchIdAttributeName(n),a._diffuseAttributeOrUniformName[t]=ModelUtility.getDiffuseAttributeOrUniform(n,t));t=i.getVertexShaderCallback(r,a._batchIdAttributeName,a._diffuseAttributeOrUniformName[t]);return defined(t)?t(e):e}}function getFragmentShaderCallback(a){return function(e,t){var i=a._batchTable,r=!defined(a._tileset.classificationType),n=a._model.gltf;defined(n)&&(a._diffuseAttributeOrUniformName[t]=ModelUtility.getDiffuseAttributeOrUniform(n,t));t=i.getFragmentShaderCallback(r,a._diffuseAttributeOrUniformName[t]);return defined(t)?t(e):e}}function getPickIdCallback(e){return function(){return e._batchTable.getPickId()}}function getClassificationFragmentShaderCallback(i){return function(e){var t=i._batchTable.getClassificationFragmentShaderCallback();return defined(t)?t(e):e}}function createColorChangedCallback(i){return function(e,t){i._model.updateCommands(e,t)}}function initialize$2(e,t,i){var r=e._tileset,n=e._tile,a=e._resource,o=defaultValue(i,0);i=o;var s=new Uint8Array(t),l=new DataView(t);i+=sizeOfUint32$3;var c=l.getUint32(i,!0);if(1!==c)throw new RuntimeError("Only Batched 3D Model version 1 is supported. Version "+c+" is not.");i+=sizeOfUint32$3;var u=l.getUint32(i,!0);i+=sizeOfUint32$3;var d=l.getUint32(i,!0);i+=sizeOfUint32$3;var h=l.getUint32(i,!0);i+=sizeOfUint32$3;var p=l.getUint32(i,!0);i+=sizeOfUint32$3;var m,c=l.getUint32(i,!0);i+=sizeOfUint32$3,570425344<=p?(i-=2*sizeOfUint32$3,_=d,p=h,h=d=c=0,Batched3DModel3DTileContent._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/master/specification/TileFormats/Batched3DModel.")):570425344<=c&&(i-=sizeOfUint32$3,_=p,p=d,c=h,h=d=0,Batched3DModel3DTileContent._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/master/specification/TileFormats/Batched3DModel.")),0===d?m={BATCH_LENGTH:defaultValue(_,0)}:(l=getStringFromTypedArray(s,i,d),m=JSON.parse(l),i+=d);d=new Uint8Array(t,i,h);i+=h;var f,g,d=new Cesium3DTileFeatureTable(m,d),_=d.getGlobalProperty("BATCH_LENGTH");d.featuresLength=_,0<p&&(g=getStringFromTypedArray(s,i,p),g=JSON.parse(g),i+=p,0<c&&(f=new Uint8Array(t,i,c),f=new Uint8Array(f),i+=c)),defined(r.classificationType)&&(y=createColorChangedCallback(e));var y=new Cesium3DTileBatchTable(e,_,g,f,y);e._batchTable=y;u=o+u-i;if(0==u)throw new RuntimeError("glTF byte length must be greater than 0.");i=i%4==0?new Uint8Array(t,i,u):(Batched3DModel3DTileContent._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),new Uint8Array(s.subarray(i,i+u)));u={content:e,primitive:r};e._rtcCenterTransform=Matrix4.IDENTITY;d=d.getGlobalProperty("RTC_CENTER",ComponentDatatype$1.FLOAT,3);defined(d)&&(e._rtcCenterTransform=Matrix4.fromTranslation(Cartesian3.fromArray(d))),e._contentModelMatrix=Matrix4.multiply(n.computedTransform,e._rtcCenterTransform,new Matrix4),defined(r.classificationType)?e._model=new ClassificationModel({gltf:i,cull:!1,basePath:a,requestType:RequestType$1.TILES3D,modelMatrix:e._contentModelMatrix,upAxis:r._gltfUpAxis,forwardAxis:Axis$1.X,debugWireframe:r.debugWireframe,vertexShaderLoaded:getVertexShaderCallback(e),classificationShaderLoaded:getClassificationFragmentShaderCallback(e),uniformMapLoaded:y.getUniformMapCallback(),pickIdLoaded:getPickIdCallback(e),classificationType:r._classificationType,batchTable:y}):(e._model=new Model({gltf:i,cull:!1,releaseGltfJson:!0,opaquePass:Pass$1.CESIUM_3D_TILE,basePath:a,requestType:RequestType$1.TILES3D,modelMatrix:e._contentModelMatrix,upAxis:r._gltfUpAxis,forwardAxis:Axis$1.X,shadows:r.shadows,debugWireframe:r.debugWireframe,incrementallyLoadTextures:!1,vertexShaderLoaded:getVertexShaderCallback(e),fragmentShaderLoaded:getFragmentShaderCallback(e),uniformMapLoaded:y.getUniformMapCallback(),pickIdLoaded:getPickIdCallback(e),addBatchIdToGeneratedShaders:0<_,pickObject:u,imageBasedLightingFactor:r.imageBasedLightingFactor,lightColor:r.lightColor,luminanceAtZenith:r.luminanceAtZenith,sphericalHarmonicCoefficients:r.sphericalHarmonicCoefficients,specularEnvironmentMaps:r.specularEnvironmentMaps,backFaceCulling:r.backFaceCulling}),e._model.readyPromise.then(function(e){e.activeAnimations.addAll({loop:ModelAnimationLoop$1.REPEAT})}))}function createFeatures(e){var t=e.featuresLength;if(!defined(e._features)&&0<t){for(var i=new Array(t),r=0;r<t;++r)i[r]=new Cesium3DTileFeature(e,r);e._features=i}}function Composite3DTileContent(e,t,i,r,n,a){this._tileset=e,this._tile=t,this._resource=i,this._contents=[],this._readyPromise=when.defer(),initialize$3(this,r,n,a)}Batched3DModel3DTileContent.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)},Batched3DModel3DTileContent.prototype.getFeature=function(e){return createFeatures(this),this._features[e]},Batched3DModel3DTileContent.prototype.applyDebugSettings=function(e,t){t=e?t:Color.WHITE,0===this.featuresLength?this._model.color=t:this._batchTable.setAllColor(t)},Batched3DModel3DTileContent.prototype.applyStyle=function(e){var t,i;0===this.featuresLength?(t=defined(e)&&defined(e.color),i=defined(e)&&defined(e.show),this._model.color=t?e.color.evaluateColor(void 0,this._model.color):Color.clone(Color.WHITE,this._model.color),this._model.show=!i||e.show.evaluate(void 0)):this._batchTable.applyStyle(e)},Batched3DModel3DTileContent.prototype.update=function(e,t){var i=t.commandList.length;this._batchTable.update(e,t),this._contentModelMatrix=Matrix4.multiply(this._tile.computedTransform,this._rtcCenterTransform,this._contentModelMatrix),this._model.modelMatrix=this._contentModelMatrix,this._model.shadows=this._tileset.shadows,this._model.imageBasedLightingFactor=this._tileset.imageBasedLightingFactor,this._model.lightColor=this._tileset.lightColor,this._model.luminanceAtZenith=this._tileset.luminanceAtZenith,this._model.sphericalHarmonicCoefficients=this._tileset.sphericalHarmonicCoefficients,this._model.specularEnvironmentMaps=this._tileset.specularEnvironmentMaps,this._model.backFaceCulling=this._tileset.backFaceCulling,this._model.debugWireframe=this._tileset.debugWireframe;var r=this._tileset.clippingPlanes;this._model.referenceMatrix=this._tileset.clippingPlanesOriginMatrix,defined(r)&&this._tile.clippingPlanesDirty&&(this._model._clippingPlanes=r.enabled&&this._tile._isClipped?r:void 0),defined(r)&&defined(this._model._clippingPlanes)&&this._model._clippingPlanes!==r&&(this._model._clippingPlanes=r),this._model.update(t),i<t.commandList.length&&(t.passes.render||t.passes.pick)&&!defined(e.classificationType)&&this._batchTable.addDerivedCommands(t,i)},Batched3DModel3DTileContent.prototype.isDestroyed=function(){return!1},Batched3DModel3DTileContent.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),destroyObject(this)},Object.defineProperties(Composite3DTileContent.prototype,{featurePropertiesDirty:{get:function(){for(var e=this._contents,t=e.length,i=0;i<t;++i)if(e[i].featurePropertiesDirty)return!0;return!1},set:function(e){for(var t=this._contents,i=t.length,r=0;r<i;++r)t[r].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},readyPromise:{get:function(){return this._readyPromise.promise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}}});var sizeOfUint32$4=Uint32Array.BYTES_PER_ELEMENT;function initialize$3(t,e,i,r){i=defaultValue(i,0);var n=new Uint8Array(e),a=new DataView(e);i+=sizeOfUint32$4;var o=a.getUint32(i,!0);if(1!==o)throw new RuntimeError("Only Composite Tile version 1 is supported. Version "+o+" is not.");i+=sizeOfUint32$4,i+=sizeOfUint32$4;var s=a.getUint32(i,!0);i+=sizeOfUint32$4;for(var l=[],c=0;c<s;++c){var u=getMagic(n,i),d=a.getUint32(i+2*sizeOfUint32$4,!0),h=r[u];if(!defined(h))throw new RuntimeError("Unknown tile content type, "+u+", inside Composite tile");h=h(t._tileset,t._tile,t._resource,e,i);t._contents.push(h),l.push(h.readyPromise),i+=d}when.all(l).then(function(){t._readyPromise.resolve(t)}).otherwise(function(e){t._readyPromise.reject(e)})}function Vector3DTileGeometry(e){this._boxes=e.boxes,this._boxBatchIds=e.boxBatchIds,this._cylinders=e.cylinders,this._cylinderBatchIds=e.cylinderBatchIds,this._ellipsoids=e.ellipsoids,this._ellipsoidBatchIds=e.ellipsoidBatchIds,this._spheres=e.spheres,this._sphereBatchIds=e.sphereBatchIds,this._modelMatrix=e.modelMatrix,this._batchTable=e.batchTable,this._boundingVolume=e.boundingVolume,this._center=e.center,defined(this._center)||(defined(this._boundingVolume)?this._center=Cartesian3.clone(this._boundingVolume.center):this._center=Cartesian3.clone(Cartesian3.ZERO)),this._boundingVolumes=void 0,this._batchedIndices=void 0,this._indices=void 0,this._indexOffsets=void 0,this._indexCounts=void 0,this._positions=void 0,this._vertexBatchIds=void 0,this._batchIds=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._ready=!1,this._readyPromise=when.defer(),this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=ClassificationType$1.BOTH}function packBuffer(e){var t=new Float64Array(Matrix4.packedLength+Cartesian3.packedLength),i=0;return Cartesian3.pack(e._center,t,0),i+=Cartesian3.packedLength,Matrix4.pack(e._modelMatrix,t,i),t}function unpackBuffer(e,t){for(var i=0,r=t[i++],n=t[i++],a=e._boundingVolumes=new Array(n),o=0;o<n;++o)a[o]=BoundingSphere.unpack(t,i),i+=BoundingSphere.packedLength;for(var s=t[i++],l=e._batchedIndices=new Array(s),c=0;c<s;++c){var u=Color.unpack(t,i);i+=Color.packedLength;for(var d=t[i++],h=t[i++],p=t[i++],m=new Array(p),f=0;f<p;++f)m[f]=t[i++];l[c]=new Vector3DTileBatch({color:u,offset:d,count:h,batchIds:m})}return r}Composite3DTileContent.prototype.hasProperty=function(e,t){return!1},Composite3DTileContent.prototype.getFeature=function(e){},Composite3DTileContent.prototype.applyDebugSettings=function(e,t){for(var i=this._contents,r=i.length,n=0;n<r;++n)i[n].applyDebugSettings(e,t)},Composite3DTileContent.prototype.applyStyle=function(e){for(var t=this._contents,i=t.length,r=0;r<i;++r)t[r].applyStyle(e)},Composite3DTileContent.prototype.update=function(e,t){for(var i=this._contents,r=i.length,n=0;n<r;++n)i[n].update(e,t)},Composite3DTileContent.prototype.isDestroyed=function(){return!1},Composite3DTileContent.prototype.destroy=function(){for(var e=this._contents,t=e.length,i=0;i<t;++i)e[i].destroy();return destroyObject(this)},Object.defineProperties(Vector3DTileGeometry.prototype,{trianglesLength:{get:function(){return defined(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return defined(this._primitive)?this._primitive.geometryByteLength:0}},readyPromise:{get:function(){return this._readyPromise.promise}}}),Vector3DTileGeometry.packedBoxLength=Matrix4.packedLength+Cartesian3.packedLength,Vector3DTileGeometry.packedCylinderLength=Matrix4.packedLength+2,Vector3DTileGeometry.packedEllipsoidLength=Matrix4.packedLength+Cartesian3.packedLength,Vector3DTileGeometry.packedSphereLength=Cartesian3.packedLength+1;var createVerticesTaskProcessor=new TaskProcessor("createVectorTileGeometries"),scratchColor$4=new Color;function createPrimitive$1(i){if(!defined(i._primitive)){if(!defined(i._verticesPromise)){var e=i._boxes,t=i._boxBatchIds,r=i._cylinders,n=i._cylinderBatchIds,a=i._ellipsoids,o=i._ellipsoidBatchIds,s=i._spheres,l=i._sphereBatchIds,c=i._batchTableColors,u=i._packedBuffer;if(!defined(c)){var d=0;defined(i._boxes)&&(e=i._boxes=arraySlice(e),d+=(t=i._boxBatchIds=arraySlice(t)).length),defined(i._cylinders)&&(r=i._cylinders=arraySlice(r),d+=(n=i._cylinderBatchIds=arraySlice(n)).length),defined(i._ellipsoids)&&(a=i._ellipsoids=arraySlice(a),d+=(o=i._ellipsoidBatchIds=arraySlice(o)).length),defined(i._spheres)&&(s=i._sphere=arraySlice(s),d+=(l=i._sphereBatchIds=arraySlice(l)).length),c=i._batchTableColors=new Uint32Array(d);for(var h=i._batchTable,p=0;p<d;++p){var m=h.getColor(p,scratchColor$4);c[p]=m.toRgba()}u=i._packedBuffer=packBuffer(i)}var f=[];defined(e)&&f.push(e.buffer,t.buffer),defined(r)&&f.push(r.buffer,n.buffer),defined(a)&&f.push(a.buffer,o.buffer),defined(s)&&f.push(s.buffer,l.buffer),f.push(c.buffer,u.buffer);u={boxes:defined(e)?e.buffer:void 0,boxBatchIds:defined(e)?t.buffer:void 0,cylinders:defined(r)?r.buffer:void 0,cylinderBatchIds:defined(r)?n.buffer:void 0,ellipsoids:defined(a)?a.buffer:void 0,ellipsoidBatchIds:defined(a)?o.buffer:void 0,spheres:defined(s)?s.buffer:void 0,sphereBatchIds:defined(s)?l.buffer:void 0,batchTableColors:c.buffer,packedBuffer:u.buffer},f=i._verticesPromise=createVerticesTaskProcessor.scheduleTask(u,f);if(!defined(f))return;f.then(function(e){var t=new Float64Array(e.packedBuffer),t=unpackBuffer(i,t);i._indices=new(2===t?Uint16Array:Uint32Array)(e.indices),i._indexOffsets=new Uint32Array(e.indexOffsets),i._indexCounts=new Uint32Array(e.indexCounts),i._positions=new Float32Array(e.positions),i._vertexBatchIds=new Uint16Array(e.vertexBatchIds),i._batchIds=new Uint16Array(e.batchIds),i._ready=!0})}i._ready&&!defined(i._primitive)&&(i._primitive=new Vector3DTilePrimitive({batchTable:i._batchTable,positions:i._positions,batchIds:i._batchIds,vertexBatchIds:i._vertexBatchIds,indices:i._indices,indexOffsets:i._indexOffsets,indexCounts:i._indexCounts,batchedIndices:i._batchedIndices,boundingVolume:i._boundingVolume,boundingVolumes:i._boundingVolumes,center:i._center,pickObject:defaultValue(i._pickObject,i)}),i._boxes=void 0,i._boxBatchIds=void 0,i._cylinders=void 0,i._cylinderBatchIds=void 0,i._ellipsoids=void 0,i._ellipsoidBatchIds=void 0,i._spheres=void 0,i._sphereBatchIds=void 0,i._center=void 0,i._modelMatrix=void 0,i._batchTable=void 0,i._boundingVolume=void 0,i._boundingVolumes=void 0,i._batchedIndices=void 0,i._indices=void 0,i._indexOffsets=void 0,i._indexCounts=void 0,i._positions=void 0,i._vertexBatchIds=void 0,i._batchIds=void 0,i._batchTableColors=void 0,i._packedBuffer=void 0,i._verticesPromise=void 0,i._readyPromise.resolve())}}function Geometry3DTileContent(e,t,i,r,n){this._tileset=e,this._tile=t,this._resource=i,this._geometries=void 0,this._contentReadyPromise=void 0,this._readyPromise=when.defer(),this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,initialize$4(this,r,n)}function createColorChangedCallback$1(i){return function(e,t){defined(i._geometries)&&i._geometries.updateCommands(e,t)}}function getBatchIds(e,t){var i,r,n,a,o,s,l,c=defaultValue(e.BOXES_LENGTH,0),u=defaultValue(e.CYLINDERS_LENGTH,0),d=defaultValue(e.ELLIPSOIDS_LENGTH,0),h=defaultValue(e.SPHERES_LENGTH,0);0<c&&defined(e.BOX_BATCH_IDS)&&(r=t.byteOffset+e.BOX_BATCH_IDS.byteOffset,n=new Uint16Array(t.buffer,r,c)),0<u&&defined(e.CYLINDER_BATCH_IDS)&&(o=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset,a=new Uint16Array(t.buffer,o,u)),0<d&&defined(e.ELLIPSOID_BATCH_IDS)&&(o=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset,s=new Uint16Array(t.buffer,o,d)),0<h&&defined(e.SPHERE_BATCH_IDS)&&(p=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset,l=new Uint16Array(t.buffer,p,h));var t=defined(n)||defined(a)||defined(s)||defined(l),p=0<c&&!defined(n)||0<u&&!defined(a)||0<d&&!defined(s)||0<h&&!defined(l);if(t&&p)throw new RuntimeError("If one group of batch ids is defined, then all batch ids must be defined.");if(!(defined(n)||defined(a)||defined(s)||defined(l))){var m=0;if(!defined(n)&&0<c)for(n=new Uint16Array(c),i=0;i<c;++i)n[i]=m++;if(!defined(a)&&0<u)for(a=new Uint16Array(u),i=0;i<u;++i)a[i]=m++;if(!defined(s)&&0<d)for(s=new Uint16Array(d),i=0;i<d;++i)s[i]=m++;if(!defined(l)&&0<h)for(l=new Uint16Array(h),i=0;i<h;++i)l[i]=m++}return{boxes:n,cylinders:a,ellipsoids:s,spheres:l}}Vector3DTileGeometry.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)},Vector3DTileGeometry.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)},Vector3DTileGeometry.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)},Vector3DTileGeometry.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)},Vector3DTileGeometry.prototype.update=function(e){createPrimitive$1(this),this._ready&&(this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e))},Vector3DTileGeometry.prototype.isDestroyed=function(){return!1},Vector3DTileGeometry.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),destroyObject(this)},Object.defineProperties(Geometry3DTileContent.prototype,{featuresLength:{get:function(){return defined(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return defined(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return defined(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return defined(this._batchTable)?this._batchTable.memorySizeInBytes:0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise.promise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){return this._batchTable}}});var sizeOfUint32$5=Uint32Array.BYTES_PER_ELEMENT;function initialize$4(e,t,i){i=defaultValue(i,0);var r=new Uint8Array(t),n=new DataView(t);i+=sizeOfUint32$5;var a=n.getUint32(i,!0);if(1!==a)throw new RuntimeError("Only Geometry tile version 1 is supported. Version "+a+" is not.");i+=sizeOfUint32$5;var o=n.getUint32(i,!0);if(i+=sizeOfUint32$5,0!==o){var s=n.getUint32(i,!0);if(i+=sizeOfUint32$5,0===s)throw new RuntimeError("Feature table must have a byte length greater than zero");var l=n.getUint32(i,!0);i+=sizeOfUint32$5;a=n.getUint32(i,!0);i+=sizeOfUint32$5;o=n.getUint32(i,!0),n=getStringFromTypedArray(r,i+=sizeOfUint32$5,s),n=JSON.parse(n);i+=s;s=new Uint8Array(t,i,l);i+=l,0<a&&(f=getStringFromTypedArray(r,i,a),g=JSON.parse(f),i+=a,0<o&&(c=new Uint8Array(t,i,o),c=new Uint8Array(c)));var c,u,d,h,p,m,f=defaultValue(n.BOXES_LENGTH,0),a=defaultValue(n.CYLINDERS_LENGTH,0),t=defaultValue(n.ELLIPSOIDS_LENGTH,0),i=defaultValue(n.SPHERES_LENGTH,0),o=f+a+t+i,g=new Cesium3DTileBatchTable(e,o,g,c,createColorChangedCallback$1(e));e._batchTable=g,0!==o&&(c=e.tile.computedTransform,defined(n.RTC_CENTER)&&(u=Cartesian3.unpack(n.RTC_CENTER),Matrix4.multiplyByPoint(c,u,u)),o=getBatchIds(n,s),(0<f||0<a||0<t||0<i)&&(0<f&&(d=s.byteOffset+n.BOXES.byteOffset,d=new Float32Array(s.buffer,d,Vector3DTileGeometry.packedBoxLength*f)),0<a&&(h=s.byteOffset+n.CYLINDERS.byteOffset,h=new Float32Array(s.buffer,h,Vector3DTileGeometry.packedCylinderLength*a)),0<t&&(p=s.byteOffset+n.ELLIPSOIDS.byteOffset,p=new Float32Array(s.buffer,p,Vector3DTileGeometry.packedEllipsoidLength*t)),0<i&&(m=s.byteOffset+n.SPHERES.byteOffset,m=new Float32Array(s.buffer,m,Vector3DTileGeometry.packedSphereLength*i)),e._geometries=new Vector3DTileGeometry({boxes:d,boxBatchIds:o.boxes,cylinders:h,cylinderBatchIds:o.cylinders,ellipsoids:p,ellipsoidBatchIds:o.ellipsoids,spheres:m,sphereBatchIds:o.spheres,center:u,modelMatrix:c,batchTable:g,boundingVolume:e.tile.boundingVolume.boundingVolume})))}else e._readyPromise.resolve(e)}function createFeatures$1(e){var t=e.featuresLength;!defined(e._features)&&0<t&&(t=new Array(t),defined(e._geometries)&&e._geometries.createFeatures(e,t),e._features=t)}function ModelInstance(e,t,i){this.primitive=e,this._modelMatrix=Matrix4.clone(t),this._instanceId=i}Geometry3DTileContent.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)},Geometry3DTileContent.prototype.getFeature=function(e){return createFeatures$1(this),this._features[e]},Geometry3DTileContent.prototype.applyDebugSettings=function(e,t){defined(this._geometries)&&this._geometries.applyDebugSettings(e,t)},Geometry3DTileContent.prototype.applyStyle=function(e){createFeatures$1(this),defined(this._geometries)&&this._geometries.applyStyle(e,this._features)},Geometry3DTileContent.prototype.update=function(e,t){var i;defined(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),defined(this._batchTable)&&this._geometries._ready&&this._batchTable.update(e,t),defined(this._contentReadyPromise)||((i=this)._contentReadyPromise=this._geometries.readyPromise.then(function(){i._readyPromise.resolve(i)}))},Geometry3DTileContent.prototype.isDestroyed=function(){return!1},Geometry3DTileContent.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),destroyObject(this)},Object.defineProperties(ModelInstance.prototype,{instanceId:{get:function(){return this._instanceId}},model:{get:function(){return this.primitive._model}},modelMatrix:{get:function(){return Matrix4.clone(this._modelMatrix)},set:function(e){Matrix4.clone(e,this._modelMatrix),this.primitive.expandBoundingSphere(this._modelMatrix),this.primitive._dirty=!0}}});var LoadState={NEEDS_LOAD:0,LOADING:1,LOADED:2,FAILED:3};function ModelInstanceCollection(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.show=defaultValue(e.show,!0),this._instancingSupported=!1,this._dynamic=defaultValue(e.dynamic,!1),this._allowPicking=defaultValue(e.allowPicking,!0),this._ready=!1,this._readyPromise=when.defer(),this._state=LoadState.NEEDS_LOAD,this._dirty=!1,this._cull=defaultValue(e.cull,!0),this._opaquePass=defaultValue(e.opaquePass,Pass$1.OPAQUE),this._instances=createInstances(this,e.instances),this._batchTable=e.batchTable,this._model=void 0,this._vertexBufferTypedArray=void 0,this._vertexBuffer=void 0,this._batchIdBuffer=void 0,this._instancedUniformsByProgram=void 0,this._drawCommands=[],this._modelCommands=void 0,this._renderStates=void 0,this._disableCullingRenderStates=void 0,this._boundingSphere=createBoundingSphere(this),this._center=Cartesian3.clone(this._boundingSphere.center),this._rtcTransform=new Matrix4,this._rtcModelView=new Matrix4,this._mode=void 0,this.modelMatrix=Matrix4.clone(Matrix4.IDENTITY),this._modelMatrix=Matrix4.clone(this.modelMatrix),this._url=Resource.createIfNeeded(e.url),this._requestType=e.requestType,this._gltf=e.gltf,this._basePath=Resource.createIfNeeded(e.basePath),this._asynchronous=e.asynchronous,this._incrementallyLoadTextures=e.incrementallyLoadTextures,this._upAxis=e.upAxis,this._forwardAxis=e.forwardAxis,this.shadows=defaultValue(e.shadows,ShadowMode$1.ENABLED),this._shadows=this.shadows,this._pickIdLoaded=e.pickIdLoaded,this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this._debugShowBoundingVolume=!1,this.debugWireframe=defaultValue(e.debugWireframe,!1),this._debugWireframe=!1,this._imageBasedLightingFactor=new Cartesian2(1,1),Cartesian2.clone(e.imageBasedLightingFactor,this._imageBasedLightingFactor),this.lightColor=e.lightColor,this.luminanceAtZenith=e.luminanceAtZenith,this.sphericalHarmonicCoefficients=e.sphericalHarmonicCoefficients,this.specularEnvironmentMaps=e.specularEnvironmentMaps,this.backFaceCulling=defaultValue(e.backFaceCulling,!0),this._backFaceCulling=this.backFaceCulling}function createInstances(e,t){for(var i=(t=defaultValue(t,[])).length,r=new Array(i),n=0;n<i;++n){var a=t[n],o=a.modelMatrix,a=defaultValue(a.batchId,n);r[n]=new ModelInstance(e,o,a)}return r}function createBoundingSphere(e){for(var t=e.length,i=new Array(t),r=0;r<t;++r)i[r]=Matrix4.getTranslation(e._instances[r]._modelMatrix,new Cartesian3);return BoundingSphere.fromPoints(i)}Object.defineProperties(ModelInstanceCollection.prototype,{allowPicking:{get:function(){return this._allowPicking}},length:{get:function(){return this._instances.length}},activeAnimations:{get:function(){return this._model.activeAnimations}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){Cartesian2.clone(e,this._imageBasedLightingFactor)}}});var scratchCartesian$2=new Cartesian3,scratchMatrix$1=new Matrix4;function getCheckUniformSemanticFunction(i,r,n,a){return function(e,t){e=e.semantic;if(defined(e)&&-1<i.indexOf(e)){if(!(-1<r.indexOf(e)))throw new RuntimeError('Shader program cannot be optimized for instancing. Uniform "'+t+'" in program "'+n+'" uses unsupported semantic "'+e+'"');a[t]=e}}}function getInstancedUniforms(e,t){if(defined(e._instancedUniformsByProgram))return e._instancedUniformsByProgram[t];var i={};e._instancedUniformsByProgram=i;var r,n,a,o,s=["MODEL","MODELVIEW","CESIUM_RTC_MODELVIEW","MODELVIEWPROJECTION","MODELINVERSE","MODELVIEWINVERSE","MODELVIEWPROJECTIONINVERSE","MODELINVERSETRANSPOSE","MODELVIEWINVERSETRANSPOSE"],l=["MODELVIEW","CESIUM_RTC_MODELVIEW","MODELVIEWPROJECTION","MODELVIEWINVERSETRANSPOSE"],c=e._model._sourceTechniques;for(r in c)c.hasOwnProperty(r)&&(defined(i[a=(n=c[r]).program])||(o={},i[a]=o,ForEach.techniqueUniform(n,getCheckUniformSemanticFunction(s,l,t,o))));return i[t]}function getVertexShaderCallback$1(h){return function(e,t){var i,r,n,a=getInstancedUniforms(h,t),o=defined(h._batchTable),s=ShaderSource.replaceMain(e,"czm_instancing_main"),l="",c="";for(i in a)a.hasOwnProperty(i)&&("MODELVIEW"===(n=a[i])||"CESIUM_RTC_MODELVIEW"===n?r="czm_instanced_modelView":"MODELVIEWPROJECTION"===n?(r="czm_instanced_modelViewProjection",l+="mat4 czm_instanced_modelViewProjection;\n",c+="czm_instanced_modelViewProjection = czm_projection * czm_instanced_modelView;\n"):"MODELVIEWINVERSETRANSPOSE"===n&&(r="czm_instanced_modelViewInverseTranspose",l+="mat3 czm_instanced_modelViewInverseTranspose;\n",c+="czm_instanced_modelViewInverseTranspose = mat3(czm_instanced_modelView);\n"),n=new RegExp("uniform.*"+i+".*"),s=s.replace(n,""),n=new RegExp(i+"\\b","g"),s=s.replace(n,r));var u,d,e=o?(u="attribute float a_batchId;\n",d=""):(u="",d="attribute vec4 pickColor;\nvarying vec4 v_pickColor;\n"," v_pickColor = pickColor;\n"),e="uniform mat4 czm_instanced_modifiedModelView;\nuniform mat4 czm_instanced_nodeTransform;\n"+l+"mat4 czm_instanced_modelView;\nattribute vec4 czm_modelMatrixRow0;\nattribute vec4 czm_modelMatrixRow1;\nattribute vec4 czm_modelMatrixRow2;\n"+u+d+s+"void main()\n{\n mat4 czm_instanced_model = mat4(czm_modelMatrixRow0.x, czm_modelMatrixRow1.x, czm_modelMatrixRow2.x, 0.0, czm_modelMatrixRow0.y, czm_modelMatrixRow1.y, czm_modelMatrixRow2.y, 0.0, czm_modelMatrixRow0.z, czm_modelMatrixRow1.z, czm_modelMatrixRow2.z, 0.0, czm_modelMatrixRow0.w, czm_modelMatrixRow1.w, czm_modelMatrixRow2.w, 1.0);\n czm_instanced_modelView = czm_instanced_modifiedModelView * czm_instanced_model * czm_instanced_nodeTransform;\n"+c+" czm_instancing_main();\n"+e+"}\n";return o&&(o=h._model.gltf,t=ModelUtility.getDiffuseAttributeOrUniform(o,t),e=h._batchTable.getVertexShaderCallback(!0,"a_batchId",t)(e)),e}}function getFragmentShaderCallback$1(n){return function(e,t){var i,r=n._batchTable;return e=defined(r)?(i=n._model.gltf,t=ModelUtility.getDiffuseAttributeOrUniform(i,t),r.getFragmentShaderCallback(!0,t)(e)):"varying vec4 v_pickColor;\n"+e}}function createModifiedModelView(e,t){return function(){return Matrix4.multiply(t.uniformState.view,e._rtcTransform,e._rtcModelView)}}function createNodeTransformFunction(e){return function(){return e.computedMatrix}}function getUniformMapCallback(a,o){return function(e,t,i){(e=clone(e)).czm_instanced_modifiedModelView=createModifiedModelView(a,o),e.czm_instanced_nodeTransform=createNodeTransformFunction(i);var r,n=getInstancedUniforms(a,t);for(r in n)n.hasOwnProperty(r)&&delete e[r];return defined(a._batchTable)&&(e=a._batchTable.getUniformMapCallback()(e)),e}}function getVertexShaderNonInstancedCallback(r){return function(e,t){var i;return defined(r._batchTable)&&(i=r._model.gltf,t=ModelUtility.getDiffuseAttributeOrUniform(i,t),e="uniform float a_batchId\n;"+(e=r._batchTable.getVertexShaderCallback(!0,"a_batchId",t)(e))),e}}function getFragmentShaderNonInstancedCallback(n){return function(e,t){var i,r=n._batchTable;return e=defined(r)?(i=n._model.gltf,t=ModelUtility.getDiffuseAttributeOrUniform(i,t),r.getFragmentShaderCallback(!0,t)(e)):"uniform vec4 czm_pickColor;\n"+e}}function getUniformMapNonInstancedCallback(t){return function(e){return defined(t._batchTable)&&(e=t._batchTable.getUniformMapCallback()(e)),e}}function getVertexBufferTypedArray(e){var t=e._instances,i=e.length,r=e._center,n=e._vertexBufferTypedArray;defined(n)||(n=new Float32Array(12*i)),e._dynamic&&(e._vertexBufferTypedArray=n);for(var a=0;a<i;++a){var o=t[a]._modelMatrix,s=Matrix4.clone(o,scratchMatrix$1);s[12]-=r.x,s[13]-=r.y,s[14]-=r.z;o=12*a;n[0+o]=s[0],n[1+o]=s[4],n[2+o]=s[8],n[3+o]=s[12],n[4+o]=s[1],n[5+o]=s[5],n[6+o]=s[9],n[7+o]=s[13],n[8+o]=s[2],n[9+o]=s[6],n[10+o]=s[10],n[11+o]=s[14]}return n}function createVertexBuffer$2(e,t){var i=e._instances,r=e.length,n=e._dynamic,a=defined(e._batchTable);if(a){for(var o=new Uint16Array(r),s=0;s<r;++s)o[s]=i[s]._instanceId;e._batchIdBuffer=Buffer$1.createVertexBuffer({context:t,typedArray:o,usage:BufferUsage$1.STATIC_DRAW})}if(!a){var l=new Uint8Array(4*r);for(s=0;s<r;++s){var c=e._pickIds[s].color,u=4*s;l[u]=Color.floatToByte(c.red),l[1+u]=Color.floatToByte(c.green),l[2+u]=Color.floatToByte(c.blue),l[3+u]=Color.floatToByte(c.alpha)}e._pickIdBuffer=Buffer$1.createVertexBuffer({context:t,typedArray:l,usage:BufferUsage$1.STATIC_DRAW})}a=getVertexBufferTypedArray(e);e._vertexBuffer=Buffer$1.createVertexBuffer({context:t,typedArray:a,usage:n?BufferUsage$1.STREAM_DRAW:BufferUsage$1.STATIC_DRAW})}function updateVertexBuffer(e){var t=getVertexBufferTypedArray(e);e._vertexBuffer.copyFromArrayView(t)}function createPickIds(e,t){for(var i=e._instances,r=i.length,n=new Array(r),a=0;a<r;++a)n[a]=t.createPickId(i[a]);return n}function createModel(e,t){var i=e._instancingSupported,r=defined(e._batchTable),n=e._allowPicking,n={url:e._url,requestType:e._requestType,gltf:e._gltf,basePath:e._basePath,shadows:e._shadows,cacheKey:void 0,asynchronous:e._asynchronous,allowPicking:n,incrementallyLoadTextures:e._incrementallyLoadTextures,upAxis:e._upAxis,forwardAxis:e._forwardAxis,precreatedAttributes:void 0,vertexShaderLoaded:void 0,fragmentShaderLoaded:void 0,uniformMapLoaded:void 0,pickIdLoaded:e._pickIdLoaded,ignoreCommands:!0,opaquePass:e._opaquePass,imageBasedLightingFactor:e.imageBasedLightingFactor,lightColor:e.lightColor,luminanceAtZenith:e.luminanceAtZenith,sphericalHarmonicCoefficients:e.sphericalHarmonicCoefficients,specularEnvironmentMaps:e.specularEnvironmentMaps};r||(e._pickIds=createPickIds(e,t)),i?(createVertexBuffer$2(e,t),i=ComponentDatatype$1.getSizeInBytes(ComponentDatatype$1.FLOAT),i={czm_modelMatrixRow0:{index:0,vertexBuffer:e._vertexBuffer,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:12*i,instanceDivisor:1},czm_modelMatrixRow1:{index:0,vertexBuffer:e._vertexBuffer,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,normalize:!1,offsetInBytes:4*i,strideInBytes:12*i,instanceDivisor:1},czm_modelMatrixRow2:{index:0,vertexBuffer:e._vertexBuffer,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,normalize:!1,offsetInBytes:8*i,strideInBytes:12*i,instanceDivisor:1}},r&&(i.a_batchId={index:0,vertexBuffer:e._batchIdBuffer,componentsPerAttribute:1,componentDatatype:ComponentDatatype$1.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0,instanceDivisor:1}),r||(i.pickColor={index:0,vertexBuffer:e._pickIdBuffer,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0,instanceDivisor:1}),n.precreatedAttributes=i,n.vertexShaderLoaded=getVertexShaderCallback$1(e),n.fragmentShaderLoaded=getFragmentShaderCallback$1(e),n.uniformMapLoaded=getUniformMapCallback(e,t),defined(e._url)&&(n.cacheKey=e._url.getUrlComponent()+"#instanced")):(n.vertexShaderLoaded=getVertexShaderNonInstancedCallback(e),n.fragmentShaderLoaded=getFragmentShaderNonInstancedCallback(e),n.uniformMapLoaded=getUniformMapNonInstancedCallback(e)),defined(e._url)?e._model=Model.fromGltf(n):e._model=new Model(n)}function updateWireframe$2(e,t){if(e._debugWireframe!==e.debugWireframe||t){e._debugWireframe=e.debugWireframe;for(var i=e.debugWireframe?PrimitiveType$1.LINES:PrimitiveType$1.TRIANGLES,r=e._drawCommands,n=r.length,a=0;a<n;++a)r[a].primitiveType=i}}function getDisableCullingRenderState$1(e){e=clone(e,!0);return e.cull.enabled=!1,RenderState.fromCache(e)}function updateBackFaceCulling$1(e,t){if(e._backFaceCulling!==e.backFaceCulling||t){e._backFaceCulling=e.backFaceCulling;var i,r=e._drawCommands,n=r.length;if(!defined(e._disableCullingRenderStates))for(e._disableCullingRenderStates=new Array(n),e._renderStates=new Array(n),i=0;i<n;++i){var a=r[i].renderState,o=getDisableCullingRenderState$1(a);e._disableCullingRenderStates[i]=o,e._renderStates[i]=a}for(i=0;i<n;++i)r[i].renderState=(e._backFaceCulling?e._renderStates:e._disableCullingRenderStates)[i]}}function updateShowBoundingVolume$1(e,t){if(e.debugShowBoundingVolume!==e._debugShowBoundingVolume||t){e._debugShowBoundingVolume=e.debugShowBoundingVolume;for(var i=e._drawCommands,r=i.length,n=0;n<r;++n)i[n].debugShowBoundingVolume=e.debugShowBoundingVolume}}function createCommands$3(e,t){for(var i=t.length,r=e.length,n=e._boundingSphere,a=e._cull,o=0;o<i;++o){var s=DrawCommand.shallowClone(t[o]);s.instanceCount=r,s.boundingVolume=n,s.cull=a,defined(e._batchTable)?s.pickId=e._batchTable.getPickId():s.pickId="v_pickColor",e._drawCommands.push(s)}}function createBatchIdFunction(e){return function(){return e}}function createPickColorFunction$1(e){return function(){return e}}function createCommandsNonInstanced(e,t){for(var i=e._instances,r=t.length,n=e.length,a=defined(e._batchTable),o=e._cull,s=0;s<r;++s)for(var l=0;l<n;++l){var c,u=DrawCommand.shallowClone(t[s]);u.modelMatrix=new Matrix4,u.boundingVolume=new BoundingSphere,u.cull=o,u.uniformMap=clone(u.uniformMap),a?u.uniformMap.a_batchId=createBatchIdFunction(i[l]._instanceId):(c=e._pickIds[l],u.uniformMap.czm_pickColor=createPickColorFunction$1(c.color)),e._drawCommands.push(u)}}function updateCommandsNonInstanced(e){for(var t=e._modelCommands,i=t.length,r=e.length,n=e._rtcTransform,a=e._center,o=0;o<i;++o)for(var s=t[o],l=0;l<r;++l){var c=o*r+l,u=e._drawCommands[c],d=Matrix4.clone(e._instances[l]._modelMatrix,scratchMatrix$1);d[12]-=a.x,d[13]-=a.y,d[14]-=a.z,d=Matrix4.multiply(n,d,scratchMatrix$1);var h=s.modelMatrix,c=u.modelMatrix;Matrix4.multiply(d,h,c);c=s.boundingVolume,u=u.boundingVolume;BoundingSphere.transform(c,d,u)}}function getModelCommands(e){for(var t=e._nodeCommands,i=t.length,r=[],n=0;n<i;++n){var a=t[n];a.show&&r.push(a.command)}return r}function commandsDirty(e){for(var t=e._nodeCommands,i=t.length,r=!1,n=0;n<i;n++){var a=t[n];a.command.dirty&&(r=!(a.command.dirty=!1))}return r}function generateModelCommands(e,t){e._drawCommands=[];var i=getModelCommands(e._model);t?createCommands$3(e,i):(createCommandsNonInstanced(e,i),updateCommandsNonInstanced(e))}function updateShadows$1(e,t){if(e.shadows!==e._shadows||t){e._shadows=e.shadows;for(var i=ShadowMode$1.castShadows(e.shadows),r=ShadowMode$1.receiveShadows(e.shadows),n=e._drawCommands,a=n.length,o=0;o<a;++o){var s=n[o];s.castShadows=i,s.receiveShadows=r}}}function Instanced3DModel3DTileContent(e,t,i,r,n){this._tileset=e,this._tile=t,this._resource=i,this._modelInstanceCollection=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,initialize$5(this,r,n)}function getPickIdCallback$1(e){return function(){return e._batchTable.getPickId()}}ModelInstanceCollection.prototype.expandBoundingSphere=function(e){e=Matrix4.getTranslation(e,scratchCartesian$2);BoundingSphere.expand(this._boundingSphere,e,this._boundingSphere)},ModelInstanceCollection.prototype.update=function(e){if(e.mode!==SceneMode$1.MORPHING&&this.show&&0!==this.length){var t,i=e.context;this._state===LoadState.NEEDS_LOAD&&(this._state=LoadState.LOADING,this._instancingSupported=i.instancedArrays,createModel(this,i),(t=this)._model.readyPromise.otherwise(function(e){t._state=LoadState.FAILED,t._readyPromise.reject(e)}));var r=this._instancingSupported,n=this._model;if(n.imageBasedLightingFactor=this.imageBasedLightingFactor,n.lightColor=this.lightColor,n.luminanceAtZenith=this.luminanceAtZenith,n.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,n.specularEnvironmentMaps=this.specularEnvironmentMaps,n.update(e),n.ready&&this._state===LoadState.LOADING){this._state=LoadState.LOADED,this._ready=!0;var a=n.boundingSphere.radius+Cartesian3.magnitude(n.boundingSphere.center);return this._boundingSphere.radius+=a,this._modelCommands=getModelCommands(n),generateModelCommands(this,r),void this._readyPromise.resolve(this)}if(this._state===LoadState.LOADED){var o=e.mode!==this._mode,i=this.modelMatrix,a=!Matrix4.equals(this._modelMatrix,i);(o||a)&&(this._mode=e.mode,Matrix4.clone(i,this._modelMatrix),s=Matrix4.multiplyByTranslation(this._modelMatrix,this._center,this._rtcTransform),this._mode!==SceneMode$1.SCENE3D&&(s=Transforms.basisTo2D(e.mapProjection,s,s)),Matrix4.getTranslation(s,this._boundingSphere.center)),r&&this._dirty&&(this._dynamic=!0,this._dirty=!1,updateVertexBuffer(this));var s=commandsDirty(n);s&&generateModelCommands(this,r),!r&&(n.dirty||this._dirty||o||a)&&updateCommandsNonInstanced(this),updateShadows$1(this,s),updateWireframe$2(this,s),updateBackFaceCulling$1(this,s),updateShowBoundingVolume$1(this,s);s=e.passes;if(s.render||s.pick)for(var l=e.commandList,c=this._drawCommands,u=c.length,d=0;d<u;++d)l.push(c[d])}}},ModelInstanceCollection.prototype.isDestroyed=function(){return!1},ModelInstanceCollection.prototype.destroy=function(){this._model=this._model&&this._model.destroy();var e=this._pickIds;if(defined(e))for(var t=e.length,i=0;i<t;++i)e[i].destroy();return destroyObject(this)},Instanced3DModel3DTileContent._deprecationWarning=deprecationWarning,Object.defineProperties(Instanced3DModel3DTileContent.prototype,{featuresLength:{get:function(){return this._batchTable.featuresLength}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){var e=this._modelInstanceCollection._model;return defined(e)?e.trianglesLength:0}},geometryByteLength:{get:function(){var e=this._modelInstanceCollection._model;return defined(e)?e.geometryByteLength:0}},texturesByteLength:{get:function(){var e=this._modelInstanceCollection._model;return defined(e)?e.texturesByteLength:0}},batchTableByteLength:{get:function(){return this._batchTable.memorySizeInBytes}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._modelInstanceCollection.readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){return this._batchTable}}});var sizeOfUint32$6=Uint32Array.BYTES_PER_ELEMENT,propertyScratch1=new Array(4),propertyScratch2=new Array(4);function initialize$5(e,t,i){var r=defaultValue(i,0);i=r;var n=new Uint8Array(t),a=new DataView(t);i+=sizeOfUint32$6;var o=a.getUint32(i,!0);if(1!==o)throw new RuntimeError("Only Instanced 3D Model version 1 is supported. Version "+o+" is not.");i+=sizeOfUint32$6;var s=a.getUint32(i,!0);i+=sizeOfUint32$6;var l=a.getUint32(i,!0);if(0===l)throw new RuntimeError("featureTableJsonByteLength is zero, the feature table must be defined.");i+=sizeOfUint32$6;var c=a.getUint32(i,!0);i+=sizeOfUint32$6;var u=a.getUint32(i,!0);i+=sizeOfUint32$6;var d=a.getUint32(i,!0);i+=sizeOfUint32$6;o=a.getUint32(i,!0);if(1!==o&&0!==o)throw new RuntimeError("Only glTF format 0 (uri) or 1 (embedded) are supported. Format "+o+" is not.");a=getStringFromTypedArray(n,i+=sizeOfUint32$6,l),a=JSON.parse(a);i+=l;l=new Uint8Array(t,i,c);i+=c;var h,p,m=new Cesium3DTileFeatureTable(a,l),f=m.getGlobalProperty("INSTANCES_LENGTH");if(!defined(m.featuresLength=f))throw new RuntimeError("Feature table global property: INSTANCES_LENGTH must be defined");0<u&&(p=getStringFromTypedArray(n,i,u),p=JSON.parse(p),i+=u,0<d&&(h=new Uint8Array(t,i,d),h=new Uint8Array(h),i+=d)),e._batchTable=new Cesium3DTileBatchTable(e,f,p,h);s=r+s-i;if(0==s)throw new RuntimeError("glTF byte length is zero, i3dm must have a glTF to instance.");i=i%4==0?new Uint8Array(t,i,s):(Instanced3DModel3DTileContent._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),new Uint8Array(n.subarray(i,i+s)));s=e._tileset,s={instances:new Array(f),batchTable:e._batchTable,cull:!1,url:void 0,requestType:RequestType$1.TILES3D,gltf:void 0,basePath:void 0,incrementallyLoadTextures:!1,upAxis:s._gltfUpAxis,forwardAxis:Axis$1.X,opaquePass:Pass$1.CESIUM_3D_TILE,pickIdLoaded:getPickIdCallback$1(e),imageBasedLightingFactor:s.imageBasedLightingFactor,lightColor:s.lightColor,luminanceAtZenith:s.luminanceAtZenith,sphericalHarmonicCoefficients:s.sphericalHarmonicCoefficients,specularEnvironmentMaps:s.specularEnvironmentMaps,backFaceCulling:s.backFaceCulling};0===o?(o=(o=getStringFromTypedArray(i)).replace(/[\s\0]+$/,""),s.url=e._resource.getDerivedResource({url:o})):(s.gltf=i,s.basePath=e._resource.clone());var g,_=m.getGlobalProperty("EAST_NORTH_UP"),i=m.getGlobalProperty("RTC_CENTER",ComponentDatatype$1.FLOAT,3);defined(i)&&(g=Cartesian3.unpack(i));for(var y=s.instances,C=new Cartesian3,v=new Array(3),S=new Cartesian3,T=new Cartesian3,b=new Cartesian3,x=new Matrix3,E=new Quaternion,P=new Cartesian3,A=new TranslationRotationScale,w=new Matrix4,D=0;D<f;D++){var M=m.getProperty("POSITION",ComponentDatatype$1.FLOAT,3,D,propertyScratch1);if(!defined(M)){M=v;var I=m.getProperty("POSITION_QUANTIZED",ComponentDatatype$1.UNSIGNED_SHORT,3,D,propertyScratch1);if(!defined(I))throw new RuntimeError("Either POSITION or POSITION_QUANTIZED must be defined for each instance.");var R=m.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",ComponentDatatype$1.FLOAT,3);if(!defined(R))throw new RuntimeError("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");var O=m.getGlobalProperty("QUANTIZED_VOLUME_SCALE",ComponentDatatype$1.FLOAT,3);if(!defined(O))throw new RuntimeError("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");for(var L=0;L<3;L++)M[L]=I[L]/65535*O[L]+R[L]}Cartesian3.unpack(M,0,C),defined(g)&&Cartesian3.add(C,g,C),A.translation=C;var F=m.getProperty("NORMAL_UP",ComponentDatatype$1.FLOAT,3,D,propertyScratch1),N=m.getProperty("NORMAL_RIGHT",ComponentDatatype$1.FLOAT,3,D,propertyScratch2),B=!1;if(defined(F)){if(!defined(N))throw new RuntimeError("To define a custom orientation, both NORMAL_UP and NORMAL_RIGHT must be defined.");Cartesian3.unpack(F,0,T),Cartesian3.unpack(N,0,S),B=!0}else{var N=m.getProperty("NORMAL_UP_OCT32P",ComponentDatatype$1.UNSIGNED_SHORT,2,D,propertyScratch1),V=m.getProperty("NORMAL_RIGHT_OCT32P",ComponentDatatype$1.UNSIGNED_SHORT,2,D,propertyScratch2);if(defined(N)){if(!defined(V))throw new RuntimeError("To define a custom orientation with oct-encoded vectors, both NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P must be defined.");AttributeCompression.octDecodeInRange(N[0],N[1],65535,T),AttributeCompression.octDecodeInRange(V[0],V[1],65535,S),B=!0}else _?(Transforms.eastNorthUpToFixedFrame(C,Ellipsoid.WGS84,w),Matrix4.getMatrix3(w,x)):Matrix3.clone(Matrix3.IDENTITY,x)}B&&(Cartesian3.cross(S,T,b),Cartesian3.normalize(b,b),Matrix3.setColumn(x,0,S,x),Matrix3.setColumn(x,1,T,x),Matrix3.setColumn(x,2,b,x)),Quaternion.fromRotationMatrix(x,E),A.rotation=E,P=Cartesian3.fromElements(1,1,1,P);V=m.getProperty("SCALE",ComponentDatatype$1.FLOAT,1,D);defined(V)&&Cartesian3.multiplyByScalar(P,V,P);B=m.getProperty("SCALE_NON_UNIFORM",ComponentDatatype$1.FLOAT,3,D,propertyScratch1);defined(B)&&(P.x*=B[0],P.y*=B[1],P.z*=B[2]),A.scale=P;V=m.getProperty("BATCH_ID",ComponentDatatype$1.UNSIGNED_SHORT,1,D);defined(V)||(V=D),Matrix4.fromTranslationRotationScale(A,w);B=w.clone();y[D]={modelMatrix:B,batchId:V}}e._modelInstanceCollection=new ModelInstanceCollection(s),e._modelInstanceCollection.readyPromise.then(function(e){e.activeAnimations.addAll({loop:ModelAnimationLoop$1.REPEAT})})}function createFeatures$2(e){var t=e.featuresLength;if(!defined(e._features)&&0<t){for(var i=new Array(t),r=0;r<t;++r)i[r]=new Cesium3DTileFeature(e,r);e._features=i}}Instanced3DModel3DTileContent.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)},Instanced3DModel3DTileContent.prototype.getFeature=function(e){this.featuresLength;return createFeatures$2(this),this._features[e]},Instanced3DModel3DTileContent.prototype.applyDebugSettings=function(e,t){t=e?t:Color.WHITE,this._batchTable.setAllColor(t)},Instanced3DModel3DTileContent.prototype.applyStyle=function(e){this._batchTable.applyStyle(e)},Instanced3DModel3DTileContent.prototype.update=function(e,t){var i=t.commandList.length;this._batchTable.update(e,t),this._modelInstanceCollection.modelMatrix=this._tile.computedTransform,this._modelInstanceCollection.shadows=this._tileset.shadows,this._modelInstanceCollection.lightColor=this._tileset.lightColor,this._modelInstanceCollection.luminanceAtZenith=this._tileset.luminanceAtZenith,this._modelInstanceCollection.sphericalHarmonicCoefficients=this._tileset.sphericalHarmonicCoefficients,this._modelInstanceCollection.specularEnvironmentMaps=this._tileset.specularEnvironmentMaps,this._modelInstanceCollection.backFaceCulling=this._tileset.backFaceCulling,this._modelInstanceCollection.debugWireframe=this._tileset.debugWireframe;var r=this._modelInstanceCollection._model;defined(r)&&(e=this._tileset.clippingPlanes,r.referenceMatrix=this._tileset.clippingPlanesOriginMatrix,defined(e)&&this._tile.clippingPlanesDirty&&(r._clippingPlanes=e.enabled&&this._tile._isClipped?e:void 0),defined(e)&&defined(r._clippingPlanes)&&r._clippingPlanes!==e&&(r._clippingPlanes=e)),this._modelInstanceCollection.update(t),i<t.commandList.length&&(t.passes.render||t.passes.pick)&&this._batchTable.addDerivedCommands(t,i,!1)},Instanced3DModel3DTileContent.prototype.isDestroyed=function(){return!1},Instanced3DModel3DTileContent.prototype.destroy=function(){return this._modelInstanceCollection=this._modelInstanceCollection&&this._modelInstanceCollection.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),destroyObject(this)};var Cesium3DTileRefine={ADD:0,REPLACE:1},Cesium3DTileRefine$1=Object.freeze(Cesium3DTileRefine),DecodingState={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function PointCloud(e){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=Color.clone(Color.DARKGRAY),this._highlightColor=Color.clone(Color.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=DecodingState.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._readyPromise=when.defer(),this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=defaultValue(e.opaquePass,Pass$1.OPAQUE),this._cull=defaultValue(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=Matrix4.clone(Matrix4.IDENTITY),this._modelMatrix=Matrix4.clone(Matrix4.IDENTITY),this.time=0,this.shadows=ShadowMode$1.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,initialize$6(this,e)}Object.defineProperties(PointCloud.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},color:{get:function(){return Color.clone(this._highlightColor)},set:function(e){this._highlightColor=Color.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(defined(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=BoundingSphere.clone(e,this._boundingSphere)}}});var sizeOfUint32$7=Uint32Array.BYTES_PER_ELEMENT;function initialize$6(e,t){var i=t.arrayBuffer,r=defaultValue(t.byteOffset,0),n=new Uint8Array(i),a=new DataView(i);r+=sizeOfUint32$7;var o=a.getUint32(r,!0);if(1!==o)throw new RuntimeError("Only Point Cloud tile version 1 is supported. Version "+o+" is not.");r+=sizeOfUint32$7,r+=sizeOfUint32$7;var s=a.getUint32(r,!0);if(0===s)throw new RuntimeError("Feature table must have a byte length greater than zero");r+=sizeOfUint32$7;var l=a.getUint32(r,!0);r+=sizeOfUint32$7;var c=a.getUint32(r,!0);r+=sizeOfUint32$7;var u=a.getUint32(r,!0),d=getStringFromTypedArray(n,r+=sizeOfUint32$7,s),h=JSON.parse(d);r+=s;var p,m,f=new Uint8Array(i,r,l);r+=l,0<c&&(b=getStringFromTypedArray(n,r,c),m=JSON.parse(b),r+=c,0<u&&(p=new Uint8Array(i,r,u)));t=new Cesium3DTileFeatureTable(h,f),o=t.getGlobalProperty("POINTS_LENGTH");if(!defined(t.featuresLength=o))throw new RuntimeError("Feature table global property: POINTS_LENGTH must be defined");var g,_,y,C,a=t.getGlobalProperty("RTC_CENTER",ComponentDatatype$1.FLOAT,3);defined(a)&&(e._rtcCenter=Cartesian3.unpack(a));var v,S,T,d=!1,s=!1,l=!1,n=!1,b=!1,c=!1,i=!1,u=!1,r=defined(h.extensions)?h.extensions["3DTILES_draco_point_compression"]:void 0,a=defined(m)&&defined(m.extensions)?m.extensions["3DTILES_draco_point_compression"]:void 0;if(defined(a)&&(E=a.properties),defined(r)){v=r.properties;var a=r.byteOffset,x=r.byteLength;if(!defined(v)||!defined(a)||!defined(x))throw new RuntimeError("Draco properties, byteOffset, and byteLength must be defined");x=arraySlice(f,a,a+x),d=defined(v.POSITION),s=defined(v.RGB)||defined(v.RGBA),l=defined(v.NORMAL),n=defined(v.BATCH_ID),c=defined(v.RGBA),e._decodingState=DecodingState.NEEDS_DECODE}if(defined(x)&&(S={buffer:x,featureTableProperties:v,batchTableProperties:E,properties:combine(v,E),dequantizeInShader:e._dequantizeInShader}),!d)if(defined(h.POSITION))g=t.getPropertyArray("POSITION",ComponentDatatype$1.FLOAT,3),d=!0;else if(defined(h.POSITION_QUANTIZED)){g=t.getPropertyArray("POSITION_QUANTIZED",ComponentDatatype$1.UNSIGNED_SHORT,3),d=b=!0;var E=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",ComponentDatatype$1.FLOAT,3);if(!defined(E))throw new RuntimeError("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");e._quantizedVolumeScale=Cartesian3.unpack(E),e._quantizedRange=65535;E=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",ComponentDatatype$1.FLOAT,3);if(!defined(E))throw new RuntimeError("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e._quantizedVolumeOffset=Cartesian3.unpack(E)}if(s||(defined(h.RGBA)?(_=t.getPropertyArray("RGBA",ComponentDatatype$1.UNSIGNED_BYTE,4),s=c=!0):defined(h.RGB)?(_=t.getPropertyArray("RGB",ComponentDatatype$1.UNSIGNED_BYTE,3),s=!0):defined(h.RGB565)&&(_=t.getPropertyArray("RGB565",ComponentDatatype$1.UNSIGNED_SHORT,1),s=i=!0)),l||(defined(h.NORMAL)?(y=t.getPropertyArray("NORMAL",ComponentDatatype$1.FLOAT,3),l=!0):defined(h.NORMAL_OCT16P)&&(y=t.getPropertyArray("NORMAL_OCT16P",ComponentDatatype$1.UNSIGNED_BYTE,2),l=u=!0)),n||defined(h.BATCH_ID)&&(C=t.getPropertyArray("BATCH_ID",ComponentDatatype$1.UNSIGNED_SHORT,1),n=!0),!d)throw new RuntimeError("Either POSITION or POSITION_QUANTIZED must be defined.");if(defined(h.CONSTANT_RGBA)&&(h=t.getGlobalProperty("CONSTANT_RGBA",ComponentDatatype$1.UNSIGNED_BYTE,4),e._constantColor=Color.fromBytes(h[0],h[1],h[2],h[3],e._constantColor)),n){t=t.getGlobalProperty("BATCH_LENGTH");if(!defined(t))throw new RuntimeError("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");defined(p)&&(p=new Uint8Array(p)),defined(e._batchTableLoaded)&&e._batchTableLoaded(t,m,p)}!n&&defined(p)&&(T=Cesium3DTileBatchTable.getBinaryProperties(o,m,p)),e._parsedContent={positions:g,colors:_,normals:y,batchIds:C,styleableProperties:T,draco:S},e._pointsLength=o,e._isQuantized=b,e._isOctEncoded16P=u,e._isRGB565=i,e._isTranslucent=c,e._hasColors=s,e._hasNormals=l,e._hasBatchIds=n}var scratchMin$2=new Cartesian3,scratchMax$2=new Cartesian3,scratchPosition$6=new Cartesian3,randomValues;function getRandomValues(e){if(!defined(randomValues)){CesiumMath.setRandomNumberSeed(0),randomValues=new Array(e);for(var t=0;t<e;++t)randomValues[t]=CesiumMath.nextRandomNumber()}return randomValues}function computeApproximateBoundingSphereFromPositions(e){for(var t=e.length/3,i=Math.min(t,20),r=getRandomValues(20),n=Number.MAX_VALUE,a=-Number.MAX_VALUE,o=Cartesian3.fromElements(n,n,n,scratchMin$2),s=Cartesian3.fromElements(a,a,a,scratchMax$2),l=0;l<i;++l){var c=Math.floor(r[l]*t),c=Cartesian3.unpack(e,3*c,scratchPosition$6);Cartesian3.minimumByComponent(o,c,o),Cartesian3.maximumByComponent(s,c,s)}a=BoundingSphere.fromCornerPoints(o,s);return a.radius+=CesiumMath.EPSILON2,a}function prepareVertexAttribute(e,t){var i=ComponentDatatype$1.fromTypedArray(e);return i===ComponentDatatype$1.INT||i===ComponentDatatype$1.UNSIGNED_INT||i===ComponentDatatype$1.DOUBLE?(oneTimeWarning("Cast pnts property to floats",'Point cloud property "'+t+'" will be casted to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.'),new Float32Array(e)):e}var scratchPointSizeAndTimeAndGeometricErrorAndDepthMultiplier=new Cartesian4,scratchQuantizedVolumeScaleAndOctEncodedRange=new Cartesian4,scratchColor$5=new Color,positionLocation=0,colorLocation=1,normalLocation=2,batchIdLocation=3,numberOfAttributes=4,scratchClippingPlanesMatrix$1=new Matrix4,scratchInverseTransposeClippingPlanesMatrix=new Matrix4;function createResources$2(e,t){var i=t.context,r=e._parsedContent,n=e._pointsLength,a=r.positions,o=r.colors,s=r.normals,l=r.batchIds,c=r.styleableProperties,u=defined(c),d=e._isQuantized,h=e._isQuantizedDraco,p=e._isOctEncoded16P,m=e._isOctEncodedDraco,f=e._quantizedRange,g=e._octEncodedRange,_=e._isRGB565,y=e._isTranslucent,C=e._hasColors,v=e._hasNormals,t=e._hasBatchIds,S=[],T={};if(e._styleableShaderAttributes=T,u){var b,x,E,P,A,w=numberOfAttributes;for(b in c)c.hasOwnProperty(b)&&(A=prepareVertexAttribute((x=c[b]).typedArray,b),E=x.componentCount,P=ComponentDatatype$1.fromTypedArray(A),A=Buffer$1.createVertexBuffer({context:i,typedArray:A,usage:BufferUsage$1.STATIC_DRAW}),e._geometryByteLength+=A.sizeInBytes,A={index:w,vertexBuffer:A,componentsPerAttribute:E,componentDatatype:P,normalize:!1,offsetInBytes:0,strideInBytes:0},S.push(A),T[b]={location:w,componentCount:E},++w)}var D,M,I,r=Buffer$1.createVertexBuffer({context:i,typedArray:a,usage:BufferUsage$1.STATIC_DRAW});e._geometryByteLength+=r.sizeInBytes,C&&(D=Buffer$1.createVertexBuffer({context:i,typedArray:o,usage:BufferUsage$1.STATIC_DRAW}),e._geometryByteLength+=D.sizeInBytes),v&&(M=Buffer$1.createVertexBuffer({context:i,typedArray:s,usage:BufferUsage$1.STATIC_DRAW}),e._geometryByteLength+=M.sizeInBytes),t&&(l=prepareVertexAttribute(l,"batchIds"),I=Buffer$1.createVertexBuffer({context:i,typedArray:l,usage:BufferUsage$1.STATIC_DRAW}),e._geometryByteLength+=I.sizeInBytes);s=[];P=d?ComponentDatatype$1.UNSIGNED_SHORT:h?f<=255?ComponentDatatype$1.UNSIGNED_BYTE:ComponentDatatype$1.UNSIGNED_SHORT:ComponentDatatype$1.FLOAT,s.push({index:positionLocation,vertexBuffer:r,componentsPerAttribute:3,componentDatatype:P,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(e._boundingSphere=d||h?BoundingSphere.fromCornerPoints(Cartesian3.ZERO,e._quantizedVolumeScale):computeApproximateBoundingSphereFromPositions(a)),C&&(_?s.push({index:colorLocation,vertexBuffer:D,componentsPerAttribute:1,componentDatatype:ComponentDatatype$1.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0}):(_=y?4:3,s.push({index:colorLocation,vertexBuffer:D,componentsPerAttribute:_,componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0}))),v&&(P=p?(E=2,ComponentDatatype$1.UNSIGNED_BYTE):m?(E=2,g<=255?ComponentDatatype$1.UNSIGNED_BYTE:ComponentDatatype$1.UNSIGNED_SHORT):(E=3,ComponentDatatype$1.FLOAT),s.push({index:normalLocation,vertexBuffer:M,componentsPerAttribute:E,componentDatatype:P,normalize:!1,offsetInBytes:0,strideInBytes:0})),t&&s.push({index:batchIdLocation,vertexBuffer:I,componentsPerAttribute:1,componentDatatype:ComponentDatatype$1.fromTypedArray(l),normalize:!1,offsetInBytes:0,strideInBytes:0}),u&&(s=s.concat(S));u=new VertexArray({context:i,attributes:s}),s={depthTest:{enabled:!0}};e._opaquePass===Pass$1.CESIUM_3D_TILE&&(s.stencilTest=StencilConstants$1.setCesium3DTileBit(),s.stencilMask=StencilConstants$1.CESIUM_3D_TILE_MASK),e._opaqueRenderState=RenderState.fromCache(s),e._translucentRenderState=RenderState.fromCache({depthTest:{enabled:!0},depthMask:!1,blending:BlendingState$1.ALPHA_BLEND}),e._drawCommand=new DrawCommand({boundingVolume:new BoundingSphere,cull:e._cull,modelMatrix:new Matrix4,primitiveType:PrimitiveType$1.POINTS,vertexArray:u,count:n,shaderProgram:void 0,uniformMap:void 0,renderState:y?e._translucentRenderState:e._opaqueRenderState,pass:y?Pass$1.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function createUniformMap$2(i,r){var n=r.context,e=i._isQuantized,t=i._isQuantizedDraco,a=i._isOctEncodedDraco,o={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){var e,t=scratchPointSizeAndTimeAndGeometricErrorAndDepthMultiplier;return t.x=i._attenuation?i.maximumAttenuation:i._pointSize,t.x*=r.pixelRatio,t.y=i.time,i._attenuation&&(e=r.camera.frustum,e=r.mode===SceneMode$1.SCENE2D||e instanceof OrthographicFrustum?Number.POSITIVE_INFINITY:n.drawingBufferHeight/r.camera.frustum.sseDenominator,t.z=i.geometricError*i.geometricErrorScale,t.w=e),t},u_highlightColor:function(){return i._highlightColor},u_constantColor:function(){return i._constantColor},u_clippingPlanes:function(){var e=i.clippingPlanes;return i.isClipped?e.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){var e=i.clippingPlanes;if(!defined(e))return Color.TRANSPARENT;var t=Color.clone(e.edgeColor,scratchColor$5);return t.alpha=e.edgeWidth,t},u_clippingPlanesMatrix:function(){var e=i.clippingPlanes;if(!defined(e))return Matrix4.IDENTITY;var t=defaultValue(i.clippingPlanesOriginMatrix,i._modelMatrix);Matrix4.multiply(n.uniformState.view3D,t,scratchClippingPlanesMatrix$1);e=Matrix4.multiply(scratchClippingPlanesMatrix$1,e.modelMatrix,scratchClippingPlanesMatrix$1);return Matrix4.inverseTranspose(e,scratchInverseTransposeClippingPlanesMatrix)}};(e||t||a)&&(o=combine(o,{u_quantizedVolumeScaleAndOctEncodedRange:function(){var e,t=scratchQuantizedVolumeScaleAndOctEncodedRange;return defined(i._quantizedVolumeScale)&&(e=Cartesian3.clone(i._quantizedVolumeScale,t),Cartesian3.divideByScalar(e,i._quantizedRange,t)),t.w=i._octEncodedRange,t}})),defined(i._uniformMapLoaded)&&(o=i._uniformMapLoaded(o)),i._drawCommand.uniformMap=o}function getStyleablePropertyIds(e,t){for(var i=/czm_3dtiles_property_(\d+)/g,r=i.exec(e);null!==r;){var n=parseInt(r[1]);-1===t.indexOf(n)&&t.push(n),r=i.exec(e)}}function getBuiltinPropertyNames(e,t){for(var i=/czm_3dtiles_builtin_property_(\w+)/g,r=i.exec(e);null!==r;){var n=r[1];-1===t.indexOf(n)&&t.push(n),r=i.exec(e)}}function getVertexAttribute(e,t){for(var i=e.numberOfAttributes,r=0;r<i;++r){var n=e.getAttribute(r);if(n.index===t)return n}}var builtinPropertyNameMap={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function modifyStyleFunction(e){return e.replace("()","(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)")}function createShaders$1(e,t,i){var r,n,a,o,s=t.context,l=defined(i),c=e._isQuantized,u=e._isQuantizedDraco,d=e._isOctEncoded16P,h=e._isOctEncodedDraco,p=e._isRGB565,m=e._isTranslucent,f=e._hasColors,g=e._hasNormals,_=e._hasBatchIds,y=e._backFaceCulling,C=e._normalShading,v=e._drawCommand.vertexArray,S=e.clippingPlanes,T=e._attenuation,b=m,x=clone(builtinPropertyNameMap),E={},P=e._styleableShaderAttributes;for(r in P)P.hasOwnProperty(r)&&(N=P[r],x[r]="czm_3dtiles_property_"+N.location,E[N.location]=N);l&&(M={translucent:!1},n=i.getColorShaderFunction("getColorFromStyle",x,M),a=i.getShowShaderFunction("getShowFromStyle",x,M),o=i.getPointSizeShaderFunction("getPointSizeFromStyle",x,M),defined(n)&&M.translucent&&(b=!0)),e._styleTranslucent=b;var A=defined(n),w=defined(a),l=defined(o),i=e.isClipped,D=[],M=[];A&&(getStyleablePropertyIds(n,D),getBuiltinPropertyNames(n,M),n=modifyStyleFunction(n)),w&&(getStyleablePropertyIds(a,D),getBuiltinPropertyNames(a,M),a=modifyStyleFunction(a)),l&&(getStyleablePropertyIds(o,D),getBuiltinPropertyNames(o,M),o=modifyStyleFunction(o));var I,b=0<=M.indexOf("COLOR"),M=0<=M.indexOf("NORMAL");if(M&&!g)throw new RuntimeError("Style references the NORMAL semantic but the point cloud does not have normals");for(r in P)P.hasOwnProperty(r)&&(N=P[r],I=0<=D.indexOf(N.location),getVertexAttribute(v,N.location).enabled=I);b=f&&(!A||b);f&&(getVertexAttribute(v,colorLocation).enabled=b);M=g&&(C||y||M);g&&(getVertexAttribute(v,normalLocation).enabled=M);var R={a_position:positionLocation};b&&(R.a_color=colorLocation),M&&(R.a_normal=normalLocation),_&&(R.a_batchId=batchIdLocation);for(var O="",L=D.length,F=0;F<L;++F){var N,B=D[F],V=(N=E[B]).componentCount,B="czm_3dtiles_property_"+B,V=1===V?"float":"vec"+V;O+="attribute "+V+" "+B+"; \n",R[B]=N.location}createUniformMap$2(e,t);t="attribute vec3 a_position; \nvarying vec4 v_color; \nuniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; \nuniform vec4 u_constantColor; \nuniform vec4 u_highlightColor; \n";t+="float u_pointSize; \nfloat u_time; \n",T&&(t+="float u_geometricError; \nfloat u_depthMultiplier; \n"),t+=O,b&&(t+=m?"attribute vec4 a_color; \n":p?"attribute float a_color; \nconst float SHIFT_RIGHT_11 = 1.0 / 2048.0; \nconst float SHIFT_RIGHT_5 = 1.0 / 32.0; \nconst float SHIFT_LEFT_11 = 2048.0; \nconst float SHIFT_LEFT_5 = 32.0; \nconst float NORMALIZE_6 = 1.0 / 64.0; \nconst float NORMALIZE_5 = 1.0 / 32.0; \n":"attribute vec3 a_color; \n"),M&&(t+=d||h?"attribute vec2 a_normal; \n":"attribute vec3 a_normal; \n"),_&&(t+="attribute float a_batchId; \n"),(c||u||h)&&(t+="uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; \n"),A&&(t+=n),w&&(t+=a),l&&(t+=o),t+="void main() \n{ \n u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; \n u_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; \n",T&&(t+=" u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; \n u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; \n"),t+=b?m?" vec4 color = a_color; \n":p?" float compressed = a_color; \n float r = floor(compressed * SHIFT_RIGHT_11); \n compressed -= r * SHIFT_LEFT_11; \n float g = floor(compressed * SHIFT_RIGHT_5); \n compressed -= g * SHIFT_LEFT_5; \n float b = compressed; \n vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); \n vec4 color = vec4(rgb, 1.0); \n":" vec4 color = vec4(a_color, 1.0); \n":" vec4 color = u_constantColor; \n",t+=c||u?" vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; \n":" vec3 position = a_position; \n",t+=" vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); \n",M?(t+=d?" vec3 normal = czm_octDecode(a_normal); \n":h?" vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; \n":" vec3 normal = a_normal; \n",t+=" vec3 normalEC = czm_normal * normal; \n"):t+=" vec3 normal = vec3(1.0); \n",A&&(t+=" color = getColorFromStyle(position, position_absolute, color, normal); \n"),w&&(t+=" float show = float(getShowFromStyle(position, position_absolute, color, normal)); \n"),t+=l?" gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; \n":T?" vec4 positionEC = czm_modelView * vec4(position, 1.0); \n float depth = -positionEC.z; \n gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); \n":" gl_PointSize = u_pointSize; \n",t+=" color = color * u_highlightColor; \n",M&&C&&(t+=" float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); \n diffuseStrength = max(diffuseStrength, 0.4); \n color.xyz *= diffuseStrength * czm_lightColor; \n"),t+=" v_color = color; \n gl_Position = czm_modelViewProjection * vec4(position, 1.0); \n",M&&y&&(t+=" float visible = step(-normalEC.z, 0.0); \n gl_Position *= visible; \n gl_PointSize *= visible; \n"),w&&(t+=" gl_Position.w *= float(show); \n gl_PointSize *= float(show); \n"),t+="} \n";w="varying vec4 v_color; \n";i&&(w+="uniform highp sampler2D u_clippingPlanes; \nuniform mat4 u_clippingPlanesMatrix; \nuniform vec4 u_clippingPlanesEdgeStyle; \n",w+="\n",w+=getClippingFunction(S,s),w+="\n"),w+="void main() \n{ \n gl_FragColor = czm_gammaCorrect(v_color); \n",i&&(w+=getClipAndStyleCode("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),w+="} \n",defined(e._vertexShaderLoaded)&&(t=e._vertexShaderLoaded(t)),defined(e._fragmentShaderLoaded)&&(w=e._fragmentShaderLoaded(w));var k=e._drawCommand;defined(k.shaderProgram)&&k.shaderProgram.destroy(),k.shaderProgram=ShaderProgram.fromCache({context:s,vertexShaderSource:t,fragmentShaderSource:w,attributeLocations:R});try{k.shaderProgram._bind()}catch(e){throw new RuntimeError("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function decodeDraco(p,e){return p._decodingState!==DecodingState.READY&&(p._decodingState===DecodingState.NEEDS_DECODE&&(m=p._parsedContent,f=m.draco,defined(e=DracoLoader.decodePointCloud(f,e))&&(p._decodingState=DecodingState.DECODING,e.then(function(e){p._decodingState=DecodingState.READY;var t,i=defined(e.POSITION)?e.POSITION.array:void 0,r=defined(e.RGB)?e.RGB.array:void 0,n=defined(e.RGBA)?e.RGBA.array:void 0,a=defined(e.NORMAL)?e.NORMAL.array:void 0,o=defined(e.BATCH_ID)?e.BATCH_ID.array:void 0,s=defined(i)&&defined(e.POSITION.data.quantization),l=defined(a)&&defined(e.NORMAL.data.quantization);s&&(s=(t=e.POSITION.data.quantization).range,p._quantizedVolumeScale=Cartesian3.fromElements(s,s,s),p._quantizedVolumeOffset=Cartesian3.unpack(t.minValues),p._quantizedRange=(1<<t.quantizationBits)-1,p._isQuantizedDraco=!0),l&&(p._octEncodedRange=(1<<e.NORMAL.data.quantization.quantizationBits)-1,p._isOctEncodedDraco=!0);var c,u,d=m.styleableProperties,h=f.batchTableProperties;for(c in h)h.hasOwnProperty(c)&&(u=e[c],defined(d)||(d={}),d[c]={typedArray:u.array,componentCount:u.data.componentsPerAttribute});m.positions=defaultValue(i,m.positions),m.colors=defaultValue(defaultValue(n,r),m.colors),m.normals=defaultValue(a,m.normals),m.batchIds=defaultValue(o,m.batchIds),m.styleableProperties=d}).otherwise(function(e){p._decodingState=DecodingState.FAILED,p._readyPromise.reject(e)}))),!0);var m,f}var scratchComputedTranslation$2=new Cartesian4,scratchScale$5=new Cartesian3;function attachTexture(e,t,i){e=e._gl;e.framebufferTexture2D(e.FRAMEBUFFER,t,i._target,i._texture,0)}function attachRenderbuffer(e,t,i){e=e._gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,t,e.RENDERBUFFER,i._getRenderbuffer())}function Framebuffer(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context._gl;this._gl=t,this._framebuffer=t.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=defaultValue(e.destroyAttachments,!0);var i,r,n;defined(e.depthTexture)||defined(e.depthRenderbuffer),defined(e.depthStencilTexture)||defined(e.depthStencilRenderbuffer);if(this._bind(),defined(e.colorTextures))for(var a=e.colorTextures,o=this._colorTextures.length=this._activeColorAttachments.length=a.length,s=0;s<o;++s)i=a[s],attachTexture(this,n=this._gl.COLOR_ATTACHMENT0+s,i),this._activeColorAttachments[s]=n,this._colorTextures[s]=i;if(defined(e.colorRenderbuffers)){var l=e.colorRenderbuffers;for(o=this._colorRenderbuffers.length=this._activeColorAttachments.length=l.length,s=0;s<o;++s)r=l[s],attachRenderbuffer(this,n=this._gl.COLOR_ATTACHMENT0+s,r),this._activeColorAttachments[s]=n,this._colorRenderbuffers[s]=r}defined(e.depthTexture)&&(i=e.depthTexture,attachTexture(this,this._gl.DEPTH_ATTACHMENT,i),this._depthTexture=i),defined(e.depthRenderbuffer)&&(r=e.depthRenderbuffer,attachRenderbuffer(this,this._gl.DEPTH_ATTACHMENT,r),this._depthRenderbuffer=r),defined(e.stencilRenderbuffer)&&(r=e.stencilRenderbuffer,attachRenderbuffer(this,this._gl.STENCIL_ATTACHMENT,r),this._stencilRenderbuffer=r),defined(e.depthStencilTexture)&&(i=e.depthStencilTexture,attachTexture(this,this._gl.DEPTH_STENCIL_ATTACHMENT,i),this._depthStencilTexture=i),defined(e.depthStencilRenderbuffer)&&(r=e.depthStencilRenderbuffer,attachRenderbuffer(this,this._gl.DEPTH_STENCIL_ATTACHMENT,r),this._depthStencilRenderbuffer=r),this._unBind()}PointCloud.prototype.update=function(e){var t,i,r,n;decodeDraco(this,e.context)||(n=!1,r=!Matrix4.equals(this._modelMatrix,this.modelMatrix),this._mode!==e.mode&&(this._mode=e.mode,r=!0),defined(this._drawCommand)||(createResources$2(this,e),n=r=!0,this._ready=!0,this._readyPromise.resolve(this),this._parsedContent=void 0),r&&(Matrix4.clone(this.modelMatrix,this._modelMatrix),r=this._drawCommand.modelMatrix,Matrix4.clone(this._modelMatrix,r),defined(this._rtcCenter)&&Matrix4.multiplyByTranslation(r,this._rtcCenter,r),defined(this._quantizedVolumeOffset)&&Matrix4.multiplyByTranslation(r,this._quantizedVolumeOffset,r),e.mode!==SceneMode$1.SCENE3D&&(i=e.mapProjection,t=Matrix4.getColumn(r,3,scratchComputedTranslation$2),Cartesian4.equals(t,Cartesian4.UNIT_W)||Transforms.basisTo2D(i,r,r)),t=this._drawCommand.boundingVolume,BoundingSphere.clone(this._boundingSphere,t),this._cull&&(i=t.center,Matrix4.multiplyByPoint(r,i,i),r=Matrix4.getScale(r,scratchScale$5),t.radius*=Cartesian3.maximumComponent(r))),this.clippingPlanesDirty&&(n=!(this.clippingPlanesDirty=!1)),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,n=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,n=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,n=!0),this._style===this.style&&!this.styleDirty||(this._style=this.style,n=!(this.styleDirty=!1)),n&&createShaders$1(this,e,this._style),this._drawCommand.castShadows=ShadowMode$1.castShadows(this.shadows),this._drawCommand.receiveShadows=ShadowMode$1.receiveShadows(this.shadows),n=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent,this._drawCommand.renderState=n?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=n?Pass$1.TRANSLUCENT:this._opaquePass,n=e.commandList,((e=e.passes).render||e.pick)&&n.push(this._drawCommand))},PointCloud.prototype.isDestroyed=function(){return!1},PointCloud.prototype.destroy=function(){var e=this._drawCommand;return defined(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),destroyObject(this)},Object.defineProperties(Framebuffer.prototype,{status:{get:function(){this._bind();var e=this._gl.checkFramebufferStatus(this._gl.FRAMEBUFFER);return this._unBind(),e}},numberOfColorAttachments:{get:function(){return this._activeColorAttachments.length}},depthTexture:{get:function(){return this._depthTexture}},depthRenderbuffer:{get:function(){return this._depthRenderbuffer}},stencilRenderbuffer:{get:function(){return this._stencilRenderbuffer}},depthStencilTexture:{get:function(){return this._depthStencilTexture}},depthStencilRenderbuffer:{get:function(){return this._depthStencilRenderbuffer}},hasDepthAttachment:{get:function(){return!!(this.depthTexture||this.depthRenderbuffer||this.depthStencilTexture||this.depthStencilRenderbuffer)}}}),Framebuffer.prototype._bind=function(){var e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)},Framebuffer.prototype._unBind=function(){var e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)},Framebuffer.prototype._getActiveColorAttachments=function(){return this._activeColorAttachments},Framebuffer.prototype.getColorTexture=function(e){return this._colorTextures[e]},Framebuffer.prototype.getColorRenderbuffer=function(e){return this._colorRenderbuffers[e]},Framebuffer.prototype.isDestroyed=function(){return!1},Framebuffer.prototype.destroy=function(){if(this.destroyAttachments){for(var e=0,t=this._colorTextures,i=t.length;e<i;++e){var r=t[e];defined(r)&&r.destroy()}for(var n=this._colorRenderbuffers,i=n.length,e=0;e<i;++e){var a=n[e];defined(a)&&a.destroy()}this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy(),this._stencilRenderbuffer=this._stencilRenderbuffer&&this._stencilRenderbuffer.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()}return this._gl.deleteFramebuffer(this._framebuffer),destroyObject(this)};var PointCloudEyeDomeLightingShader="#extension GL_EXT_frag_depth : enable\nuniform sampler2D u_pointCloud_colorGBuffer;\nuniform sampler2D u_pointCloud_depthGBuffer;\nuniform vec2 u_distanceAndEdlStrength;\nvarying vec2 v_textureCoordinates;\nvec2 neighborContribution(float log2Depth, vec2 offset)\n{\nfloat dist = u_distanceAndEdlStrength.x;\nvec2 texCoordOrig = v_textureCoordinates + offset * dist;\nvec2 texCoord0 = v_textureCoordinates + offset * floor(dist);\nvec2 texCoord1 = v_textureCoordinates + offset * ceil(dist);\nfloat depthOrLogDepth0 = czm_unpackDepth(texture2D(u_pointCloud_depthGBuffer, texCoord0));\nfloat depthOrLogDepth1 = czm_unpackDepth(texture2D(u_pointCloud_depthGBuffer, texCoord1));\nif (depthOrLogDepth0 == 0.0 || depthOrLogDepth1 == 0.0) {\nreturn vec2(0.0);\n}\nfloat depthMix = mix(depthOrLogDepth0, depthOrLogDepth1, fract(dist));\nvec4 eyeCoordinate = czm_windowToEyeCoordinates(texCoordOrig, depthMix);\nreturn vec2(max(0.0, log2Depth - log2(-eyeCoordinate.z / eyeCoordinate.w)), 1.0);\n}\nvoid main()\n{\nfloat depthOrLogDepth = czm_unpackDepth(texture2D(u_pointCloud_depthGBuffer, v_textureCoordinates));\nvec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depthOrLogDepth);\neyeCoordinate /= eyeCoordinate.w;\nfloat log2Depth = log2(-eyeCoordinate.z);\nif (depthOrLogDepth == 0.0)\n{\ndiscard;\n}\nvec4 color = texture2D(u_pointCloud_colorGBuffer, v_textureCoordinates);\nvec2 texelSize = 1.0 / czm_viewport.zw;\nvec2 responseAndCount = vec2(0.0);\nresponseAndCount += neighborContribution(log2Depth, vec2(-texelSize.x, 0.0));\nresponseAndCount += neighborContribution(log2Depth, vec2(+texelSize.x, 0.0));\nresponseAndCount += neighborContribution(log2Depth, vec2(0.0, -texelSize.y));\nresponseAndCount += neighborContribution(log2Depth, vec2(0.0, +texelSize.y));\nfloat response = responseAndCount.x / responseAndCount.y;\nfloat strength = u_distanceAndEdlStrength.y;\nfloat shade = exp(-response * 300.0 * strength);\ncolor.rgb *= shade;\ngl_FragColor = vec4(color);\ngl_FragDepthEXT = depthOrLogDepth;\n}\n";function PointCloudEyeDomeLighting(){this._framebuffer=void 0,this._colorGBuffer=void 0,this._depthGBuffer=void 0,this._depthTexture=void 0,this._drawCommand=void 0,this._clearCommand=void 0,this._strength=1,this._radius=1}function destroyFramebuffer(e){var t=e._framebuffer;defined(t)&&(e._colorGBuffer.destroy(),e._depthGBuffer.destroy(),e._depthTexture.destroy(),t.destroy(),e._framebuffer=void 0,e._colorGBuffer=void 0,e._depthGBuffer=void 0,e._depthTexture=void 0,e._drawCommand=void 0,e._clearCommand=void 0)}function createFramebuffer(e,t){var i=t.drawingBufferWidth,r=t.drawingBufferHeight,n=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST}),a=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST}),r=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.DEPTH_COMPONENT,pixelDatatype:PixelDatatype$1.UNSIGNED_INT,sampler:Sampler.NEAREST});e._framebuffer=new Framebuffer({context:t,colorTextures:[n,a],depthTexture:r,destroyAttachments:!1}),e._colorGBuffer=n,e._depthGBuffer=a,e._depthTexture=r}var distanceAndEdlStrengthScratch=new Cartesian2;function createCommands$4(e,t){var i=new ShaderSource({defines:["LOG_DEPTH_WRITE"],sources:[PointCloudEyeDomeLightingShader]}),r={u_pointCloud_colorGBuffer:function(){return e._colorGBuffer},u_pointCloud_depthGBuffer:function(){return e._depthGBuffer},u_distanceAndEdlStrength:function(){return distanceAndEdlStrengthScratch.x=e._radius,distanceAndEdlStrengthScratch.y=e._strength,distanceAndEdlStrengthScratch}},n=RenderState.fromCache({blending:BlendingState$1.ALPHA_BLEND,depthMask:!0,depthTest:{enabled:!0},stencilTest:StencilConstants$1.setCesium3DTileBit(),stencilMask:StencilConstants$1.CESIUM_3D_TILE_MASK});e._drawCommand=t.createViewportQuadCommand(i,{uniformMap:r,renderState:n,pass:Pass$1.CESIUM_3D_TILE,owner:e}),e._clearCommand=new ClearCommand({framebuffer:e._framebuffer,color:new Color(0,0,0,0),depth:1,renderState:RenderState.fromCache(),pass:Pass$1.CESIUM_3D_TILE,owner:e})}function createResources$3(e,t){var i=t.drawingBufferWidth,r=t.drawingBufferHeight,n=e._colorGBuffer,a=!1,r=defined(n)&&(n.width!==i||n.height!==r);return defined(n)&&!r||(destroyFramebuffer(e),createFramebuffer(e,t),createCommands$4(e,t),a=!0),a}function isSupported(e){return e.drawBuffers&&e.fragmentDepth}function getECShaderProgram(e,t){var i,r,n=e.shaderCache.getDerivedShaderProgram(t,"EC");return defined(n)||(i=t._attributeLocations,(r=t.fragmentShaderSource.clone()).sources=r.sources.map(function(e){return e=(e=ShaderSource.replaceMain(e,"czm_point_cloud_post_process_main")).replace(/gl_FragColor/g,"gl_FragData[0]")}),r.sources.unshift("#extension GL_EXT_draw_buffers : enable \n"),r.sources.push("void main() \n{ \n czm_point_cloud_post_process_main(); \n#ifdef LOG_DEPTH\n czm_writeLogDepth();\n gl_FragData[1] = czm_packDepth(gl_FragDepthEXT); \n#else\n gl_FragData[1] = czm_packDepth(gl_FragCoord.z);\n#endif\n}"),n=e.shaderCache.createDerivedShaderProgram(t,"EC",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:r,attributeLocations:i})),n}function PointCloudShading(e){e=defaultValue(e,{});this.attenuation=defaultValue(e.attenuation,!1),this.geometricErrorScale=defaultValue(e.geometricErrorScale,1),this.maximumAttenuation=e.maximumAttenuation,this.baseResolution=e.baseResolution,this.eyeDomeLighting=defaultValue(e.eyeDomeLighting,!0),this.eyeDomeLightingStrength=defaultValue(e.eyeDomeLightingStrength,1),this.eyeDomeLightingRadius=defaultValue(e.eyeDomeLightingRadius,1),this.backFaceCulling=defaultValue(e.backFaceCulling,!1),this.normalShading=defaultValue(e.normalShading,!0)}function PointCloud3DTileContent(e,t,i,r,n){this._tileset=e,this._tile=t,this._resource=i,this._pickId=void 0,this._batchTable=void 0,this._styleDirty=!1,this._features=void 0,this.featurePropertiesDirty=!1,this._pointCloud=new PointCloud({arrayBuffer:r,byteOffset:n,cull:!1,opaquePass:Pass$1.CESIUM_3D_TILE,vertexShaderLoaded:getVertexShaderLoaded(this),fragmentShaderLoaded:getFragmentShaderLoaded(this),uniformMapLoaded:getUniformMapLoaded(this),batchTableLoaded:getBatchTableLoaded(this),pickIdLoaded:getPickIdLoaded(this)})}function getVertexShaderLoaded(t){return function(e){return defined(t._batchTable)?t._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(e):e}}function getFragmentShaderLoaded(t){return function(e){return defined(t._batchTable)?t._batchTable.getFragmentShaderCallback(!1,void 0)(e):"uniform vec4 czm_pickColor;\n"+e}}function getUniformMapLoaded(t){return function(e){return defined(t._batchTable)?t._batchTable.getUniformMapCallback()(e):combine(e,{czm_pickColor:function(){return t._pickId.color}})}}function getBatchTableLoaded(r){return function(e,t,i){r._batchTable=new Cesium3DTileBatchTable(r,e,t,i)}}function getPickIdLoaded(e){return function(){return defined(e._batchTable)?e._batchTable.getPickId():"czm_pickColor"}}function getGeometricError(e){var t=e._tileset.pointCloudShading,i=e._tile.contentBoundingVolume.boundingSphere.volume(),i=CesiumMath.cbrt(i/e.pointsLength),e=e._tile.geometricError;return 0===e&&(e=defined(t)&&defined(t.baseResolution)?t.baseResolution:i),e}function createFeatures$3(e){var t=e.featuresLength;if(!defined(e._features)&&0<t){for(var i=new Array(t),r=0;r<t;++r)i[r]=new Cesium3DTileFeature(e,r);e._features=i}}PointCloudEyeDomeLighting.isSupported=isSupported,PointCloudEyeDomeLighting.prototype.update=function(e,t,i,r){if(isSupported(e.context)){this._strength=i.eyeDomeLightingStrength,this._radius=i.eyeDomeLightingRadius*e.pixelRatio;for(var n=createResources$3(this,e.context),a=e.commandList,o=a.length,s=t;s<o;++s){var l,c=a[s];c.primitiveType===PrimitiveType$1.POINTS&&c.pass!==Pass$1.TRANSLUCENT&&(defined(l=c.derivedCommands.pointCloudProcessor)&&!c.dirty&&!n&&l.framebuffer===this._framebuffer||(l=DrawCommand.shallowClone(c),(c.derivedCommands.pointCloudProcessor=l).framebuffer=this._framebuffer,l.shaderProgram=getECShaderProgram(e.context,c.shaderProgram),l.castShadows=!1,l.receiveShadows=!1),a[s]=l)}i=this._clearCommand,t=this._drawCommand;t.boundingVolume=r,a.push(t),a.push(i)}},PointCloudEyeDomeLighting.prototype.isDestroyed=function(){return!1},PointCloudEyeDomeLighting.prototype.destroy=function(){return destroyFramebuffer(this),destroyObject(this)},PointCloudShading.isSupported=function(e){return PointCloudEyeDomeLighting.isSupported(e.context)},Object.defineProperties(PointCloud3DTileContent.prototype,{featuresLength:{get:function(){return defined(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return this._pointCloud.pointsLength}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return this._pointCloud.geometryByteLength}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return defined(this._batchTable)?this._batchTable.memorySizeInBytes:0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._pointCloud.readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){return this._batchTable}}}),PointCloud3DTileContent.prototype.hasProperty=function(e,t){return!!defined(this._batchTable)&&this._batchTable.hasProperty(e,t)},PointCloud3DTileContent.prototype.getFeature=function(e){if(defined(this._batchTable)){this.featuresLength;return createFeatures$3(this),this._features[e]}},PointCloud3DTileContent.prototype.applyDebugSettings=function(e,t){this._pointCloud.color=e?t:Color.WHITE},PointCloud3DTileContent.prototype.applyStyle=function(e){defined(this._batchTable)?this._batchTable.applyStyle(e):this._styleDirty=!0};var defaultShading=new PointCloudShading;function Tileset3DTileContent(e,t,i,r,n){this._tileset=e,this._tile=t,this._resource=i,this._readyPromise=when.defer(),this.featurePropertiesDirty=!1,initialize$7(this,r,n)}function initialize$7(t,e,i){i=defaultValue(i,0);var r,n=getStringFromTypedArray(new Uint8Array(e),i);try{r=JSON.parse(n)}catch(e){return void t._readyPromise.reject(new RuntimeError("Invalid tile content."))}t._tileset.loadTileset(t._resource,r,t._tile),t._readyPromise.resolve(t)}function VertexArrayFacade(e,t,i,r){var n=VertexArrayFacade._verifyAttributes(t);i=defaultValue(i,0);for(var a,o,s,l=[],c={},u=n.length,d=0;d<u;++d){var h=n[d];h.vertexBuffer?l.push(h):(defined(a=c[o=h.usage])||(a=c[o]=[]),a.push(h))}function p(e,t){return ComponentDatatype$1.getSizeInBytes(t.componentDatatype)-ComponentDatatype$1.getSizeInBytes(e.componentDatatype)}for(o in this._allBuffers=[],c)c.hasOwnProperty(o)&&((a=c[o]).sort(p),s={vertexSizeInBytes:s=VertexArrayFacade._vertexSizeInBytes(a),vertexBuffer:void 0,usage:a[0].usage,needsCommit:!1,arrayBuffer:void 0,arrayViews:VertexArrayFacade._createArrayViews(a,s)},this._allBuffers.push(s));this._size=0,this._instanced=defaultValue(r,!1),this._precreated=l,this._context=e,this.writers=void 0,this.va=void 0,this.resize(i)}PointCloud3DTileContent.prototype.update=function(e,t){var i,r=this._pointCloud,n=defaultValue(e.pointCloudShading,defaultShading),a=this._tile,o=this._batchTable,s=t.mode,l=e.clippingPlanes;defined(this._pickId)||defined(o)||(this._pickId=t.context.createPickId({primitive:e,content:this})),defined(o)&&o.update(e,t),i=(defined(a._contentBoundingVolume)?s===SceneMode$1.SCENE3D?a._contentBoundingVolume:a._contentBoundingVolume2D:s===SceneMode$1.SCENE3D?a._boundingVolume:a._boundingVolume2D).boundingSphere;s=this._styleDirty;this._styleDirty=!1,r.clippingPlanesOriginMatrix=e.clippingPlanesOriginMatrix,r.style=defined(o)?void 0:e.style,r.styleDirty=s,r.modelMatrix=a.computedTransform,r.time=e.timeSinceLoad,r.shadows=e.shadows,r.boundingSphere=i,r.clippingPlanes=l,r.isClipped=defined(l)&&l.enabled&&a._isClipped,r.clippingPlanesDirty=a.clippingPlanesDirty,r.attenuation=n.attenuation,r.backFaceCulling=n.backFaceCulling,r.normalShading=n.normalShading,r.geometricError=getGeometricError(this),r.geometricErrorScale=n.geometricErrorScale,defined(n)&&defined(n.maximumAttenuation)?r.maximumAttenuation=n.maximumAttenuation:a.refine===Cesium3DTileRefine$1.ADD?r.maximumAttenuation=5:r.maximumAttenuation=e.maximumScreenSpaceError,r.update(t)},PointCloud3DTileContent.prototype.isDestroyed=function(){return!1},PointCloud3DTileContent.prototype.destroy=function(){return this._pickId=this._pickId&&this._pickId.destroy(),this._pointCloud=this._pointCloud&&this._pointCloud.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),destroyObject(this)},Object.defineProperties(Tileset3DTileContent.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise.promise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}}}),Tileset3DTileContent.prototype.hasProperty=function(e,t){return!1},Tileset3DTileContent.prototype.getFeature=function(e){},Tileset3DTileContent.prototype.applyDebugSettings=function(e,t){},Tileset3DTileContent.prototype.applyStyle=function(e){},Tileset3DTileContent.prototype.update=function(e,t){},Tileset3DTileContent.prototype.isDestroyed=function(){return!1},Tileset3DTileContent.prototype.destroy=function(){return destroyObject(this)},VertexArrayFacade._verifyAttributes=function(e){for(var t=[],i=0;i<e.length;++i){var r=e[i],r={index:defaultValue(r.index,i),enabled:defaultValue(r.enabled,!0),componentsPerAttribute:r.componentsPerAttribute,componentDatatype:defaultValue(r.componentDatatype,ComponentDatatype$1.FLOAT),normalize:defaultValue(r.normalize,!1),vertexBuffer:r.vertexBuffer,usage:defaultValue(r.usage,BufferUsage$1.STATIC_DRAW)};t.push(r)}for(var n=new Array(t.length),a=0;a<t.length;++a)n[t[a].index]=!0;return t},VertexArrayFacade._vertexSizeInBytes=function(e){for(var t=0,i=e.length,r=0;r<i;++r){var n=e[r];t+=n.componentsPerAttribute*ComponentDatatype$1.getSizeInBytes(n.componentDatatype)}var a=0<i?ComponentDatatype$1.getSizeInBytes(e[0].componentDatatype):0,o=0<a?t%a:0;return t+=0==o?0:a-o},VertexArrayFacade._createArrayViews=function(e,t){for(var i=[],r=0,n=e.length,a=0;a<n;++a){var o=e[a],s=o.componentDatatype;i.push({index:o.index,enabled:o.enabled,componentsPerAttribute:o.componentsPerAttribute,componentDatatype:s,normalize:o.normalize,offsetInBytes:r,vertexSizeInComponentType:t/ComponentDatatype$1.getSizeInBytes(s),view:void 0}),r+=o.componentsPerAttribute*ComponentDatatype$1.getSizeInBytes(s)}return i},VertexArrayFacade.prototype.resize=function(e){this._size=e;var t=this._allBuffers;this.writers=[];for(var i=0,r=t.length;i<r;++i){var n=t[i];VertexArrayFacade._resize(n,this._size),VertexArrayFacade._appendWriters(this.writers,n)}destroyVA(this)},VertexArrayFacade._resize=function(e,t){if(0<e.vertexSizeInBytes){var i=new ArrayBuffer(t*e.vertexSizeInBytes);if(defined(e.arrayBuffer))for(var r=new Uint8Array(i),n=new Uint8Array(e.arrayBuffer),a=n.length,o=0;o<a;++o)r[o]=n[o];for(var s=e.arrayViews,l=s.length,c=0;c<l;++c){var u=s[c];u.view=ComponentDatatype$1.createArrayBufferView(u.componentDatatype,i,u.offsetInBytes)}e.arrayBuffer=i}};var createWriters=[function(i,r,n){return function(e,t){r[e*n]=t,i.needsCommit=!0}},function(r,n,a){return function(e,t,i){e*=a;n[e]=t,n[1+e]=i,r.needsCommit=!0}},function(n,a,o){return function(e,t,i,r){e*=o;a[e]=t,a[1+e]=i,a[2+e]=r,n.needsCommit=!0}},function(a,o,s){return function(e,t,i,r,n){e*=s;o[e]=t,o[1+e]=i,o[2+e]=r,o[3+e]=n,a.needsCommit=!0}}];function commit(e,t){if(t.needsCommit&&0<t.vertexSizeInBytes){t.needsCommit=!1;var i=t.vertexBuffer,r=e._size*t.vertexSizeInBytes,n=defined(i);if(!n||i.sizeInBytes<r)return n&&i.destroy(),t.vertexBuffer=Buffer$1.createVertexBuffer({context:e._context,typedArray:t.arrayBuffer,usage:t.usage}),!(t.vertexBuffer.vertexArrayDestroyable=!1);t.vertexBuffer.copyFromArrayView(t.arrayBuffer)}return!1}function subCommit(e,t,i){e.needsCommit&&0<e.vertexSizeInBytes&&(t=e.vertexSizeInBytes*t,i=e.vertexSizeInBytes*i,e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,t,i),t))}function destroyVA(e){var t=e.va;if(defined(t)){for(var i=t.length,r=0;r<i;++r)t[r].va.destroy();e.va=void 0}}VertexArrayFacade._appendWriters=function(e,t){for(var i=t.arrayViews,r=i.length,n=0;n<r;++n){var a=i[n];e[a.index]=createWriters[a.componentsPerAttribute-1](t,a.view,a.vertexSizeInComponentType)}},VertexArrayFacade.prototype.commit=function(e){var t,i=!1,r=this._allBuffers;for(c=0,u=r.length;c<u;++c)i=commit(this,t=r[c])||i;if(i||!defined(this.va)){destroyVA(this);for(var n=this.va=[],a=CesiumMath.SIXTY_FOUR_KILOBYTES-4,o=defined(e)&&!this._instanced?Math.ceil(this._size/a):1,s=0;s<o;++s){for(var l=[],c=0,u=r.length;c<u;++c){var d=s*((t=r[c]).vertexSizeInBytes*a);VertexArrayFacade._appendAttributes(l,t,d,this._instanced)}l=l.concat(this._precreated),n.push({va:new VertexArray({context:this._context,attributes:l,indexBuffer:e}),indicesCount:1.5*(s!==o-1?a:this._size%a)})}}},VertexArrayFacade._appendAttributes=function(e,t,i,r){for(var n=t.arrayViews,a=n.length,o=0;o<a;++o){var s=n[o];e.push({index:s.index,enabled:s.enabled,componentsPerAttribute:s.componentsPerAttribute,componentDatatype:s.componentDatatype,normalize:s.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:i+s.offsetInBytes,strideInBytes:t.vertexSizeInBytes,instanceDivisor:r?1:0})}},VertexArrayFacade.prototype.subCommit=function(e,t){for(var i=this._allBuffers,r=0,n=i.length;r<n;++r)subCommit(i[r],e,t)},VertexArrayFacade.prototype.endSubCommits=function(){for(var e=this._allBuffers,t=0,i=e.length;t<i;++t)e[t].needsCommit=!1},VertexArrayFacade.prototype.isDestroyed=function(){return!1},VertexArrayFacade.prototype.destroy=function(){for(var e=this._allBuffers,t=0,i=e.length;t<i;++t){var r=e[t];r.vertexBuffer=r.vertexBuffer&&r.vertexBuffer.destroy()}return destroyVA(this),destroyObject(this)};var BillboardCollectionFS="#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\nuniform sampler2D u_atlas;\n#ifdef VECTOR_TILE\nuniform vec4 u_highlightColor;\n#endif\nvarying vec2 v_textureCoordinates;\nvarying vec4 v_pickColor;\nvarying vec4 v_color;\n#ifdef SDF\nvarying vec4 v_outlineColor;\nvarying float v_outlineWidth;\n#endif\n#ifdef FRAGMENT_DEPTH_CHECK\nvarying vec4 v_textureCoordinateBounds;\nvarying vec4 v_originTextureCoordinateAndTranslate;\nvarying vec4 v_compressed;\nvarying mat2 v_rotationMatrix;\nconst float SHIFT_LEFT12 = 4096.0;\nconst float SHIFT_LEFT1 = 2.0;\nconst float SHIFT_RIGHT12 = 1.0 / 4096.0;\nconst float SHIFT_RIGHT1 = 1.0 / 2.0;\nfloat getGlobeDepth(vec2 adjustedST, vec2 depthLookupST, bool applyTranslate, vec2 dimensions, vec2 imageSize)\n{\nvec2 lookupVector = imageSize * (depthLookupST - adjustedST);\nlookupVector = v_rotationMatrix * lookupVector;\nvec2 labelOffset = (dimensions - imageSize) * (depthLookupST - vec2(0.0, v_originTextureCoordinateAndTranslate.y));\nvec2 translation = v_originTextureCoordinateAndTranslate.zw;\nif (applyTranslate)\n{\ntranslation += (dimensions * v_originTextureCoordinateAndTranslate.xy * vec2(1.0, 0.0));\n}\nvec2 st = ((lookupVector - translation + labelOffset) + gl_FragCoord.xy) / czm_viewport.zw;\nfloat logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, st));\nif (logDepthOrDepth == 0.0)\n{\nreturn 0.0;\n}\nvec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);\nreturn eyeCoordinate.z / eyeCoordinate.w;\n}\n#endif\n#ifdef SDF\nfloat getDistance(vec2 position)\n{\nreturn texture2D(u_atlas, position).r;\n}\nvec4 getSDFColor(vec2 position, float outlineWidth, vec4 outlineColor, float smoothing)\n{\nfloat distance = getDistance(position);\nif (outlineWidth > 0.0)\n{\nfloat outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE);\nfloat outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance);\nvec4 sdfColor = mix(outlineColor, v_color, outlineFactor);\nfloat alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance);\nreturn vec4(sdfColor.rgb, sdfColor.a * alpha);\n}\nelse\n{\nfloat alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance);\nreturn vec4(v_color.rgb, v_color.a * alpha);\n}\n}\n#endif\nvoid main()\n{\nvec4 color = texture2D(u_atlas, v_textureCoordinates);\n#ifdef SDF\nfloat outlineWidth = v_outlineWidth;\nvec4 outlineColor = v_outlineColor;\nfloat distance = getDistance(v_textureCoordinates);\n#ifdef GL_OES_standard_derivatives\nfloat smoothing = fwidth(distance);\nvec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates));\nvec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing);\nvec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing);\nvec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing);\nvec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing);\nvec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing);\ncolor = (center + color1 + color2 + color3 + color4)/5.0;\n#else\nfloat smoothing = 1.0/32.0;\ncolor = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing);\n#endif\ncolor = czm_gammaCorrect(color);\n#else\ncolor = czm_gammaCorrect(color);\ncolor *= czm_gammaCorrect(v_color);\n#endif\n#if !defined(OPAQUE) && !defined(TRANSLUCENT)\nif (color.a < 0.005)\n{\ndiscard;\n}\n#else\n#ifdef OPAQUE\nif (color.a < 0.995)\n{\ndiscard;\n}\n#else\nif (color.a >= 0.995)\n{\ndiscard;\n}\n#endif\n#endif\n#ifdef VECTOR_TILE\ncolor *= u_highlightColor;\n#endif\ngl_FragColor = color;\n#ifdef LOG_DEPTH\nczm_writeLogDepth();\n#endif\n#ifdef FRAGMENT_DEPTH_CHECK\nfloat temp = v_compressed.y;\ntemp = temp * SHIFT_RIGHT1;\nfloat temp2 = (temp - floor(temp)) * SHIFT_LEFT1;\nbool enableDepthTest = temp2 != 0.0;\nbool applyTranslate = floor(temp) != 0.0;\nif (enableDepthTest) {\ntemp = v_compressed.z;\ntemp = temp * SHIFT_RIGHT12;\nvec2 dimensions;\ndimensions.y = (temp - floor(temp)) * SHIFT_LEFT12;\ndimensions.x = floor(temp);\ntemp = v_compressed.w;\ntemp = temp * SHIFT_RIGHT12;\nvec2 imageSize;\nimageSize.y = (temp - floor(temp)) * SHIFT_LEFT12;\nimageSize.x = floor(temp);\nvec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy;\nadjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y);\nfloat epsilonEyeDepth = v_compressed.x + czm_epsilon1;\nfloat globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize);\nif (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth)\n{\nfloat globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize);\nif (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth)\n{\nfloat globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize);\nif (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth)\n{\ndiscard;\n}\n}\n}\n}\n#endif\n}\n",BillboardCollectionVS="#ifdef INSTANCED\nattribute vec2 direction;\n#endif\nattribute vec4 positionHighAndScale;\nattribute vec4 positionLowAndRotation;\nattribute vec4 compressedAttribute0;\nattribute vec4 compressedAttribute1;\nattribute vec4 compressedAttribute2;\nattribute vec4 eyeOffset;\nattribute vec4 scaleByDistance;\nattribute vec4 pixelOffsetScaleByDistance;\nattribute vec4 compressedAttribute3;\nattribute vec2 sdf;\n#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK)\nattribute vec4 textureCoordinateBoundsOrLabelTranslate;\n#endif\n#ifdef VECTOR_TILE\nattribute float a_batchId;\n#endif\nvarying vec2 v_textureCoordinates;\n#ifdef FRAGMENT_DEPTH_CHECK\nvarying vec4 v_textureCoordinateBounds;\nvarying vec4 v_originTextureCoordinateAndTranslate;\nvarying vec4 v_compressed;\nvarying mat2 v_rotationMatrix;\n#endif\nvarying vec4 v_pickColor;\nvarying vec4 v_color;\n#ifdef SDF\nvarying vec4 v_outlineColor;\nvarying float v_outlineWidth;\n#endif\nconst float UPPER_BOUND = 32768.0;\nconst float SHIFT_LEFT16 = 65536.0;\nconst float SHIFT_LEFT12 = 4096.0;\nconst float SHIFT_LEFT8 = 256.0;\nconst float SHIFT_LEFT7 = 128.0;\nconst float SHIFT_LEFT5 = 32.0;\nconst float SHIFT_LEFT3 = 8.0;\nconst float SHIFT_LEFT2 = 4.0;\nconst float SHIFT_LEFT1 = 2.0;\nconst float SHIFT_RIGHT12 = 1.0 / 4096.0;\nconst float SHIFT_RIGHT8 = 1.0 / 256.0;\nconst float SHIFT_RIGHT7 = 1.0 / 128.0;\nconst float SHIFT_RIGHT5 = 1.0 / 32.0;\nconst float SHIFT_RIGHT3 = 1.0 / 8.0;\nconst float SHIFT_RIGHT2 = 1.0 / 4.0;\nconst float SHIFT_RIGHT1 = 1.0 / 2.0;\nvec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp)\n{\nvec2 halfSize = imageSize * scale * 0.5;\nhalfSize *= ((direction * 2.0) - 1.0);\nvec2 originTranslate = origin * abs(halfSize);\n#if defined(ROTATION) || defined(ALIGNED_AXIS)\nif (validAlignedAxis || rotation != 0.0)\n{\nfloat angle = rotation;\nif (validAlignedAxis)\n{\nvec4 projectedAlignedAxis = czm_modelViewProjection * vec4(alignedAxis, 0.0);\nangle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) /\n(projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y));\n}\nfloat cosTheta = cos(angle);\nfloat sinTheta = sin(angle);\nrotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta);\nhalfSize = rotationMatrix * halfSize;\n}\nelse\n{\nrotationMatrix = mat2(1.0, 0.0, 0.0, 1.0);\n}\n#endif\nmpp = czm_metersPerPixel(positionEC);\npositionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp);\npositionEC.xy += (translate + pixelOffset) * mpp;\nreturn positionEC;\n}\n#ifdef VERTEX_DEPTH_CHECK\nfloat getGlobeDepth(vec4 positionEC)\n{\nvec4 posWC = czm_eyeToWindowCoordinates(positionEC);\nfloat globeDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, posWC.xy / czm_viewport.zw));\nif (globeDepth == 0.0)\n{\nreturn 0.0;\n}\nvec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth);\nreturn eyeCoordinate.z / eyeCoordinate.w;\n}\n#endif\nvoid main()\n{\nvec3 positionHigh = positionHighAndScale.xyz;\nvec3 positionLow = positionLowAndRotation.xyz;\nfloat scale = positionHighAndScale.w;\n#if defined(ROTATION) || defined(ALIGNED_AXIS)\nfloat rotation = positionLowAndRotation.w;\n#else\nfloat rotation = 0.0;\n#endif\nfloat compressed = compressedAttribute0.x;\nvec2 pixelOffset;\npixelOffset.x = floor(compressed * SHIFT_RIGHT7);\ncompressed -= pixelOffset.x * SHIFT_LEFT7;\npixelOffset.x -= UPPER_BOUND;\nvec2 origin;\norigin.x = floor(compressed * SHIFT_RIGHT5);\ncompressed -= origin.x * SHIFT_LEFT5;\norigin.y = floor(compressed * SHIFT_RIGHT3);\ncompressed -= origin.y * SHIFT_LEFT3;\n#ifdef FRAGMENT_DEPTH_CHECK\nvec2 depthOrigin = origin.xy;\n#endif\norigin -= vec2(1.0);\nfloat show = floor(compressed * SHIFT_RIGHT2);\ncompressed -= show * SHIFT_LEFT2;\n#ifdef INSTANCED\nvec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w);\nvec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w);\nvec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange;\n#else\nvec2 direction;\ndirection.x = floor(compressed * SHIFT_RIGHT1);\ndirection.y = compressed - direction.x * SHIFT_LEFT1;\nvec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w);\n#endif\nfloat temp = compressedAttribute0.y * SHIFT_RIGHT8;\npixelOffset.y = -(floor(temp) - UPPER_BOUND);\nvec2 translate;\ntranslate.y = (temp - floor(temp)) * SHIFT_LEFT16;\ntemp = compressedAttribute0.z * SHIFT_RIGHT8;\ntranslate.x = floor(temp) - UPPER_BOUND;\ntranslate.y += (temp - floor(temp)) * SHIFT_LEFT8;\ntranslate.y -= UPPER_BOUND;\ntemp = compressedAttribute1.x * SHIFT_RIGHT8;\nfloat temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2);\nvec2 imageSize = vec2(floor(temp), temp2);\n#ifdef FRAGMENT_DEPTH_CHECK\nfloat labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2));\nfloat applyTranslate = 0.0;\nif (labelHorizontalOrigin != 0.0)\n{\napplyTranslate = 1.0;\nlabelHorizontalOrigin -= 2.0;\ndepthOrigin.x = labelHorizontalOrigin + 1.0;\n}\ndepthOrigin = vec2(1.0) - (depthOrigin * 0.5);\n#endif\n#ifdef EYE_DISTANCE_TRANSLUCENCY\nvec4 translucencyByDistance;\ntranslucencyByDistance.x = compressedAttribute1.z;\ntranslucencyByDistance.z = compressedAttribute1.w;\ntranslucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;\ntemp = compressedAttribute1.y * SHIFT_RIGHT8;\ntranslucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;\n#endif\n#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK)\ntemp = compressedAttribute3.w;\ntemp = temp * SHIFT_RIGHT12;\nvec2 dimensions;\ndimensions.y = (temp - floor(temp)) * SHIFT_LEFT12;\ndimensions.x = floor(temp);\n#endif\n#ifdef ALIGNED_AXIS\nvec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8));\ntemp = compressedAttribute2.z * SHIFT_RIGHT5;\nbool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0;\n#else\nvec3 alignedAxis = vec3(0.0);\nbool validAlignedAxis = false;\n#endif\nvec4 pickColor;\nvec4 color;\ntemp = compressedAttribute2.y;\ntemp = temp * SHIFT_RIGHT8;\npickColor.b = (temp - floor(temp)) * SHIFT_LEFT8;\ntemp = floor(temp) * SHIFT_RIGHT8;\npickColor.g = (temp - floor(temp)) * SHIFT_LEFT8;\npickColor.r = floor(temp);\ntemp = compressedAttribute2.x;\ntemp = temp * SHIFT_RIGHT8;\ncolor.b = (temp - floor(temp)) * SHIFT_LEFT8;\ntemp = floor(temp) * SHIFT_RIGHT8;\ncolor.g = (temp - floor(temp)) * SHIFT_LEFT8;\ncolor.r = floor(temp);\ntemp = compressedAttribute2.z * SHIFT_RIGHT8;\nbool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0;\ntemp = floor(temp) * SHIFT_RIGHT8;\npickColor.a = (temp - floor(temp)) * SHIFT_LEFT8;\npickColor /= 255.0;\ncolor.a = floor(temp);\ncolor /= 255.0;\nvec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\nvec4 positionEC = czm_modelViewRelativeToEye * p;\n#if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK)\nfloat eyeDepth = positionEC.z;\n#endif\npositionEC = czm_eyeOffset(positionEC, eyeOffset.xyz);\npositionEC.xyz *= show;\n#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE)\nfloat lengthSq;\nif (czm_sceneMode == czm_sceneMode2D)\n{\nlengthSq = czm_eyeHeight2D.y;\n}\nelse\n{\nlengthSq = dot(positionEC.xyz, positionEC.xyz);\n}\n#endif\n#ifdef EYE_DISTANCE_SCALING\nfloat distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq);\nscale *= distanceScale;\ntranslate *= distanceScale;\nif (scale == 0.0)\n{\npositionEC.xyz = vec3(0.0);\n}\n#endif\nfloat translucency = 1.0;\n#ifdef EYE_DISTANCE_TRANSLUCENCY\ntranslucency = czm_nearFarScalar(translucencyByDistance, lengthSq);\nif (translucency == 0.0)\n{\npositionEC.xyz = vec3(0.0);\n}\n#endif\n#ifdef EYE_DISTANCE_PIXEL_OFFSET\nfloat pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq);\npixelOffset *= pixelOffsetScale;\n#endif\n#ifdef DISTANCE_DISPLAY_CONDITION\nfloat nearSq = compressedAttribute3.x;\nfloat farSq = compressedAttribute3.y;\nif (lengthSq < nearSq || lengthSq > farSq)\n{\npositionEC.xyz = vec3(0.0);\n}\n#endif\nmat2 rotationMatrix;\nfloat mpp;\n#ifdef DISABLE_DEPTH_DISTANCE\nfloat disableDepthTestDistance = compressedAttribute3.z;\n#endif\n#ifdef VERTEX_DEPTH_CHECK\nif (lengthSq < disableDepthTestDistance) {\nfloat depthsilon = 10.0;\nvec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy;\nvec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);\nfloat globeDepth1 = getGlobeDepth(pEC1);\nif (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1)\n{\nvec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);\nfloat globeDepth2 = getGlobeDepth(pEC2);\nif (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2)\n{\nvec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);\nfloat globeDepth3 = getGlobeDepth(pEC3);\nif (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3)\n{\npositionEC.xyz = vec3(0.0);\n}\n}\n}\n}\n#endif\npositionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);\ngl_Position = czm_projection * positionEC;\nv_textureCoordinates = textureCoordinates;\n#ifdef LOG_DEPTH\nczm_vertexLogDepth();\n#endif\n#ifdef DISABLE_DEPTH_DISTANCE\nif (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0)\n{\ndisableDepthTestDistance = czm_minimumDisableDepthTestDistance;\n}\nif (disableDepthTestDistance != 0.0)\n{\nfloat zclip = gl_Position.z / gl_Position.w;\nbool clipped = (zclip < -1.0 || zclip > 1.0);\nif (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance)))\n{\ngl_Position.z = -gl_Position.w;\n#ifdef LOG_DEPTH\nv_depthFromNearPlusOne = 1.0;\n#endif\n}\n}\n#endif\n#ifdef FRAGMENT_DEPTH_CHECK\nif (sizeInMeters) {\ntranslate /= mpp;\ndimensions /= mpp;\nimageSize /= mpp;\n}\n#if defined(ROTATION) || defined(ALIGNED_AXIS)\nv_rotationMatrix = rotationMatrix;\n#else\nv_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0);\n#endif\nfloat enableDepthCheck = 0.0;\nif (lengthSq < disableDepthTestDistance)\n{\nenableDepthCheck = 1.0;\n}\nfloat dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12));\nfloat dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12));\nfloat iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12));\nfloat ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12));\nv_compressed.x = eyeDepth;\nv_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck;\nv_compressed.z = dw * SHIFT_LEFT12 + dh;\nv_compressed.w = iw * SHIFT_LEFT12 + ih;\nv_originTextureCoordinateAndTranslate.xy = depthOrigin;\nv_originTextureCoordinateAndTranslate.zw = translate;\nv_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate;\n#endif\n#ifdef SDF\nvec4 outlineColor;\nfloat outlineWidth;\ntemp = sdf.x;\ntemp = temp * SHIFT_RIGHT8;\noutlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8;\ntemp = floor(temp) * SHIFT_RIGHT8;\noutlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8;\noutlineColor.r = floor(temp);\ntemp = sdf.y;\ntemp = temp * SHIFT_RIGHT8;\nfloat temp3 = (temp - floor(temp)) * SHIFT_LEFT8;\ntemp = floor(temp) * SHIFT_RIGHT8;\noutlineWidth = (temp - floor(temp)) * SHIFT_LEFT8;\noutlineColor.a = floor(temp);\noutlineColor /= 255.0;\nv_outlineWidth = outlineWidth / 255.0;\nv_outlineColor = outlineColor;\nv_outlineColor.a *= translucency;\n#endif\nv_pickColor = pickColor;\nv_color = color;\nv_color.a *= translucency;\n}\n",SceneTransforms={},actualPositionScratch=new Cartesian4(0,0,0,1),positionCC=new Cartesian4,scratchViewport$1=new BoundingRectangle,scratchWindowCoord0=new Cartesian2,scratchWindowCoord1=new Cartesian2;SceneTransforms.wgs84ToWindowCoordinates=function(e,t,i){return SceneTransforms.wgs84WithEyeOffsetToWindowCoordinates(e,t,Cartesian3.ZERO,i)};var scratchCartesian4$3=new Cartesian4,scratchEyeOffset=new Cartesian3;function worldToClip(e,t,i,r){var n=i.viewMatrix,n=Matrix4.multiplyByVector(n,Cartesian4.fromElements(e.x,e.y,e.z,1,scratchCartesian4$3),scratchCartesian4$3),e=Cartesian3.multiplyComponents(t,Cartesian3.normalize(n,scratchEyeOffset),scratchEyeOffset);return n.x+=t.x+e.x,n.y+=t.y+e.y,n.z+=e.z,Matrix4.multiplyByVector(i.frustum.projectionMatrix,n,r)}var scratchMaxCartographic=new Cartographic(Math.PI,CesiumMath.PI_OVER_TWO),scratchProjectedCartesian=new Cartesian3,scratchCameraPosition=new Cartesian3;SceneTransforms.wgs84WithEyeOffsetToWindowCoordinates=function(e,t,i,r){var n=e.frameState,a=SceneTransforms.computeActualWgs84Position(n,t,actualPositionScratch);if(defined(a)){var o=e.canvas,s=scratchViewport$1;s.x=0,s.y=0,s.width=o.clientWidth,s.height=o.clientHeight;var l,c,u,d,h,p=e.camera,m=!1;if(n.mode===SceneMode$1.SCENE2D&&(l=e.mapProjection.project(scratchMaxCartographic,scratchProjectedCartesian),c=Cartesian3.clone(p.position,scratchCameraPosition),u=p.frustum.clone(),h=Matrix4.computeViewportTransformation(s,0,1,new Matrix4),d=p.frustum.projectionMatrix,t=p.positionWC.y,e=Cartesian3.fromElements(CesiumMath.sign(t)*l.x-t,0,-p.positionWC.x),h=Transforms.pointToGLWindowCoordinates(d,h,e),0===t||h.x<=0||h.x>=o.clientWidth?m=!0:(positionCC=(h.x>.5*o.clientWidth?(s.width=h.x,p.frustum.right=l.x-t,positionCC=worldToClip(a,i,p,positionCC),SceneTransforms.clipToGLWindowCoordinates(s,positionCC,scratchWindowCoord0),s.x+=h.x,p.position.x=-p.position.x,e=p.frustum.right,p.frustum.right=-p.frustum.left,p.frustum.left=-e):(s.x+=h.x,s.width-=h.x,p.frustum.left=-l.x-t,positionCC=worldToClip(a,i,p,positionCC),SceneTransforms.clipToGLWindowCoordinates(s,positionCC,scratchWindowCoord0),s.x=s.x-s.width,p.position.x=-p.position.x,t=p.frustum.left,p.frustum.left=-p.frustum.right,p.frustum.right=-t),worldToClip(a,i,p,positionCC)),SceneTransforms.clipToGLWindowCoordinates(s,positionCC,scratchWindowCoord1),Cartesian3.clone(c,p.position),p.frustum=u.clone(),((r=Cartesian2.clone(scratchWindowCoord0,r)).x<0||r.x>o.clientWidth)&&(r.x=scratchWindowCoord1.x))),n.mode!==SceneMode$1.SCENE2D||m){if((positionCC=worldToClip(a,i,p,positionCC)).z<0&&!(p.frustum instanceof OrthographicFrustum)&&!(p.frustum instanceof OrthographicOffCenterFrustum))return;r=SceneTransforms.clipToGLWindowCoordinates(s,positionCC,r)}return r.y=o.clientHeight-r.y,r}},SceneTransforms.wgs84ToDrawingBufferCoordinates=function(e,t,i){if(defined(i=SceneTransforms.wgs84ToWindowCoordinates(e,t,i)))return SceneTransforms.transformWindowToDrawingBuffer(e,i,i)};var projectedPosition=new Cartesian3,positionInCartographic=new Cartographic;SceneTransforms.computeActualWgs84Position=function(e,t,i){var r=e.mode;if(r===SceneMode$1.SCENE3D)return Cartesian3.clone(t,i);var n=e.mapProjection,a=n.ellipsoid.cartesianToCartographic(t,positionInCartographic);if(defined(a)){if(n.project(a,projectedPosition),r===SceneMode$1.COLUMBUS_VIEW)return Cartesian3.fromElements(projectedPosition.z,projectedPosition.x,projectedPosition.y,i);if(r===SceneMode$1.SCENE2D)return Cartesian3.fromElements(0,projectedPosition.x,projectedPosition.y,i);e=e.morphTime;return Cartesian3.fromElements(CesiumMath.lerp(projectedPosition.z,t.x,e),CesiumMath.lerp(projectedPosition.x,t.y,e),CesiumMath.lerp(projectedPosition.y,t.z,e),i)}};var positionNDC=new Cartesian3,positionWC=new Cartesian3,viewportTransform=new Matrix4;SceneTransforms.clipToGLWindowCoordinates=function(e,t,i){return Cartesian3.divideByScalar(t,t.w,positionNDC),Matrix4.computeViewportTransformation(e,0,1,viewportTransform),Matrix4.multiplyByPoint(viewportTransform,positionNDC,positionWC),Cartesian2.fromCartesian3(positionWC,i)},SceneTransforms.transformWindowToDrawingBuffer=function(e,t,i){var r=e.canvas,n=e.drawingBufferWidth/r.clientWidth,r=e.drawingBufferHeight/r.clientHeight;return Cartesian2.fromElements(t.x*n,t.y*r,i)};var scratchNDC=new Cartesian4,scratchWorldCoords=new Cartesian4;function Billboard(e,t){var i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).translucencyByDistance,r=e.pixelOffsetScaleByDistance,n=e.scaleByDistance,a=e.distanceDisplayCondition;defined(i)&&(i=NearFarScalar.clone(i)),defined(r)&&(r=NearFarScalar.clone(r)),defined(n)&&(n=NearFarScalar.clone(n)),defined(a)&&(a=DistanceDisplayCondition.clone(a)),this._show=defaultValue(e.show,!0),this._position=Cartesian3.clone(defaultValue(e.position,Cartesian3.ZERO)),this._actualPosition=Cartesian3.clone(this._position),this._pixelOffset=Cartesian2.clone(defaultValue(e.pixelOffset,Cartesian2.ZERO)),this._translate=new Cartesian2(0,0),this._eyeOffset=Cartesian3.clone(defaultValue(e.eyeOffset,Cartesian3.ZERO)),this._heightReference=defaultValue(e.heightReference,HeightReference$1.NONE),this._verticalOrigin=defaultValue(e.verticalOrigin,VerticalOrigin$1.CENTER),this._horizontalOrigin=defaultValue(e.horizontalOrigin,HorizontalOrigin$1.CENTER),this._scale=defaultValue(e.scale,1),this._color=Color.clone(defaultValue(e.color,Color.WHITE)),this._rotation=defaultValue(e.rotation,0),this._alignedAxis=Cartesian3.clone(defaultValue(e.alignedAxis,Cartesian3.ZERO)),this._width=e.width,this._height=e.height,this._scaleByDistance=n,this._translucencyByDistance=i,this._pixelOffsetScaleByDistance=r,this._sizeInMeters=defaultValue(e.sizeInMeters,!1),this._distanceDisplayCondition=a,this._disableDepthTestDistance=e.disableDepthTestDistance,this._id=e.id,this._collection=defaultValue(e.collection,t),this._pickId=void 0,this._pickPrimitive=defaultValue(e._pickPrimitive,this),this._billboardCollection=t,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;a=e.image,t=e.imageId;defined(a)&&(defined(t)||(t="string"==typeof a?a:defined(a.src)?a.src:createGuid()),this._imageId=t,this._image=a),defined(e.imageSubRegion)&&(this._imageId=t,this._imageSubRegion=e.imageSubRegion),defined(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=SceneMode$1.SCENE3D,this._clusterShow=!0,this._outlineColor=Color.clone(defaultValue(e.outlineColor,Color.BLACK)),this._outlineWidth=defaultValue(e.outlineWidth,0),this._updateClamping()}SceneTransforms.drawingBufferToWgs84Coordinates=function(e,t,i,r){var n=e.context.uniformState,a=n.currentFrustum,o=a.x,s=a.y;e.frameState.useLogDepth&&(c=i*n.log2FarDepthFromNearPlusOne,i=s*(1-o/(Math.pow(2,c)-1+o))/(s-o));var l,a=e.view.passState.viewport,c=Cartesian4.clone(Cartesian4.UNIT_W,scratchNDC);c.x=(t.x-a.x)/a.width*2-1,c.y=(t.y-a.y)/a.height*2-1,c.z=2*i-1,c.w=1;i=e.camera.frustum;return defined(i.fovy)?(e=1/(l=Matrix4.multiplyByVector(n.inverseViewProjection,c,scratchWorldCoords)).w,Cartesian3.multiplyByScalar(l,e,l)):(defined(i._offCenterFrustum)&&(i=i._offCenterFrustum),(l=scratchWorldCoords).x=.5*(c.x*(i.right-i.left)+i.left+i.right),l.y=.5*(c.y*(i.top-i.bottom)+i.bottom+i.top),l.z=.5*(c.z*(o-s)-o-s),l.w=1,l=Matrix4.multiplyByVector(n.inverseView,l,l)),Cartesian3.fromCartesian4(l,r)};var SHOW_INDEX=Billboard.SHOW_INDEX=0,POSITION_INDEX=Billboard.POSITION_INDEX=1,PIXEL_OFFSET_INDEX=Billboard.PIXEL_OFFSET_INDEX=2,EYE_OFFSET_INDEX=Billboard.EYE_OFFSET_INDEX=3,HORIZONTAL_ORIGIN_INDEX=Billboard.HORIZONTAL_ORIGIN_INDEX=4,VERTICAL_ORIGIN_INDEX=Billboard.VERTICAL_ORIGIN_INDEX=5,SCALE_INDEX=Billboard.SCALE_INDEX=6,IMAGE_INDEX_INDEX=Billboard.IMAGE_INDEX_INDEX=7,COLOR_INDEX=Billboard.COLOR_INDEX=8,ROTATION_INDEX=Billboard.ROTATION_INDEX=9,ALIGNED_AXIS_INDEX=Billboard.ALIGNED_AXIS_INDEX=10,SCALE_BY_DISTANCE_INDEX=Billboard.SCALE_BY_DISTANCE_INDEX=11,TRANSLUCENCY_BY_DISTANCE_INDEX=Billboard.TRANSLUCENCY_BY_DISTANCE_INDEX=12,PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=Billboard.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,DISTANCE_DISPLAY_CONDITION=Billboard.DISTANCE_DISPLAY_CONDITION=14,DISABLE_DEPTH_DISTANCE=Billboard.DISABLE_DEPTH_DISTANCE=15;Billboard.TEXTURE_COORDINATE_BOUNDS=16;var SDF_INDEX=Billboard.SDF_INDEX=17;function makeDirty(e,t){var i=e._billboardCollection;defined(i)&&(i._updateBillboard(e,t),e._dirty=!0)}Billboard.NUMBER_OF_PROPERTIES=18,Object.defineProperties(Billboard.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,makeDirty(this,SHOW_INDEX))}},position:{get:function(){return this._position},set:function(e){var t=this._position;Cartesian3.equals(t,e)||(Cartesian3.clone(e,t),Cartesian3.clone(e,this._actualPosition),this._updateClamping(),makeDirty(this,POSITION_INDEX))}},heightReference:{get:function(){return this._heightReference},set:function(e){e!==this._heightReference&&(this._heightReference=e,this._updateClamping(),makeDirty(this,POSITION_INDEX))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){var t=this._pixelOffset;Cartesian2.equals(t,e)||(Cartesian2.clone(e,t),makeDirty(this,PIXEL_OFFSET_INDEX))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){var t=this._scaleByDistance;NearFarScalar.equals(t,e)||(this._scaleByDistance=NearFarScalar.clone(e,t),makeDirty(this,SCALE_BY_DISTANCE_INDEX))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){var t=this._translucencyByDistance;NearFarScalar.equals(t,e)||(this._translucencyByDistance=NearFarScalar.clone(e,t),makeDirty(this,TRANSLUCENCY_BY_DISTANCE_INDEX))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){var t=this._pixelOffsetScaleByDistance;NearFarScalar.equals(t,e)||(this._pixelOffsetScaleByDistance=NearFarScalar.clone(e,t),makeDirty(this,PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){var t=this._eyeOffset;Cartesian3.equals(t,e)||(Cartesian3.clone(e,t),makeDirty(this,EYE_OFFSET_INDEX))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,makeDirty(this,HORIZONTAL_ORIGIN_INDEX))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,makeDirty(this,VERTICAL_ORIGIN_INDEX))}},scale:{get:function(){return this._scale},set:function(e){this._scale!==e&&(this._scale=e,makeDirty(this,SCALE_INDEX))}},color:{get:function(){return this._color},set:function(e){var t=this._color;Color.equals(t,e)||(Color.clone(e,t),makeDirty(this,COLOR_INDEX))}},rotation:{get:function(){return this._rotation},set:function(e){this._rotation!==e&&(this._rotation=e,makeDirty(this,ROTATION_INDEX))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(e){var t=this._alignedAxis;Cartesian3.equals(t,e)||(Cartesian3.clone(e,t),makeDirty(this,ALIGNED_AXIS_INDEX))}},width:{get:function(){return defaultValue(this._width,this._imageWidth)},set:function(e){this._width!==e&&(this._width=e,makeDirty(this,IMAGE_INDEX_INDEX))}},height:{get:function(){return defaultValue(this._height,this._imageHeight)},set:function(e){this._height!==e&&(this._height=e,makeDirty(this,IMAGE_INDEX_INDEX))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters!==e&&(this._sizeInMeters=e,makeDirty(this,COLOR_INDEX))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){DistanceDisplayCondition.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=DistanceDisplayCondition.clone(e,this._distanceDisplayCondition),makeDirty(this,DISTANCE_DISPLAY_CONDITION))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,makeDirty(this,DISABLE_DEPTH_DISTANCE))}},id:{get:function(){return this._id},set:function(e){this._id=e,defined(this._pickId)&&(this._pickId.object.id=e)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(e){this._pickPrimitive=e,defined(this._pickId)&&(this._pickId.object.primitive=e)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(e){defined(e)?"string"==typeof e?this.setImage(e,e):e instanceof Resource?this.setImage(e.url,e):defined(e.src)?this.setImage(e.src,e):this.setImage(createGuid(),e):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,makeDirty(this,IMAGE_INDEX_INDEX))}},ready:{get:function(){return-1!==this._imageIndex}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=Cartesian3.clone(e,this._actualClampedPosition),makeDirty(this,POSITION_INDEX)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,makeDirty(this,SHOW_INDEX))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){var t=this._outlineColor;Color.equals(t,e)||(Color.clone(e,t),makeDirty(this,SDF_INDEX))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,makeDirty(this,SDF_INDEX))}}}),Billboard.prototype.getPickId=function(e){return defined(this._pickId)||(this._pickId=e.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId},Billboard.prototype._updateClamping=function(){Billboard._updateClamping(this._billboardCollection,this)};var scratchCartographic$4=new Cartographic,scratchPosition$7=new Cartesian3;Billboard._updateClamping=function(e,i){var r,t,n,a,o=e._scene;function s(e){var t;i._heightReference===HeightReference$1.RELATIVE_TO_GROUND&&(i._mode===SceneMode$1.SCENE3D?((t=r.cartesianToCartographic(e,scratchCartographic$4)).height+=n.height,r.cartographicToCartesian(t,e)):e.x+=n.height),i._clampedPosition=Cartesian3.clone(e,i._clampedPosition)}defined(o)&&defined(o.globe)&&(a=o.globe,r=a.ellipsoid,t=a._surface,o=(e=o.frameState.mode)!==i._mode,i._mode=e,(i._heightReference===HeightReference$1.NONE||o)&&defined(i._removeCallbackFunc)&&(i._removeCallbackFunc(),i._removeCallbackFunc=void 0,i._clampedPosition=void 0),i._heightReference!==HeightReference$1.NONE&&defined(i._position)&&(defined(n=r.cartesianToCartographic(i._position))?(defined(i._removeCallbackFunc)&&i._removeCallbackFunc(),i._removeCallbackFunc=t.updateHeight(n,s),Cartographic.clone(n,scratchCartographic$4),defined(a=a.getHeight(n))&&(scratchCartographic$4.height=a),r.cartographicToCartesian(scratchCartographic$4,scratchPosition$7),s(scratchPosition$7)):i._actualClampedPosition=void 0))},Billboard.prototype._loadImage=function(){var e,i,r=this._billboardCollection._textureAtlas,n=this._imageId,a=this._image,o=this._imageSubRegion;defined(a)&&(e=r.addImage(n,a)),defined(o)&&(e=r.addSubRegion(n,o)),defined(this._imageIndexPromise=e)&&(i=this,e.then(function(e){var t;i._imageId===n&&i._image===a&&BoundingRectangle.equals(i._imageSubRegion,o)&&(t=r.textureCoordinates[e],i._imageWidth=r.texture.width*t.width,i._imageHeight=r.texture.height*t.height,i._imageIndex=e,i._ready=!0,i._image=void 0,i._imageIndexPromise=void 0,makeDirty(i,IMAGE_INDEX_INDEX))}).otherwise(function(e){console.error("Error loading image for billboard: "+e),i._imageIndexPromise=void 0}))},Billboard.prototype.setImage=function(e,t){this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,defined(this._billboardCollection._textureAtlas)&&this._loadImage())},Billboard.prototype.setImageSubRegion=function(e,t){this._imageId===e&&BoundingRectangle.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=BoundingRectangle.clone(t),defined(this._billboardCollection._textureAtlas)&&this._loadImage())},Billboard.prototype._setTranslate=function(e){var t=this._translate;Cartesian2.equals(t,e)||(Cartesian2.clone(e,t),makeDirty(this,PIXEL_OFFSET_INDEX))},Billboard.prototype._getActualPosition=function(){return defined(this._clampedPosition)?this._clampedPosition:this._actualPosition},Billboard.prototype._setActualPosition=function(e){defined(this._clampedPosition)||Cartesian3.clone(e,this._actualPosition),makeDirty(this,POSITION_INDEX)};var tempCartesian3=new Cartesian4;Billboard._computeActualPosition=function(e,t,i,r){return defined(e._clampedPosition)?(i.mode!==e._mode&&e._updateClamping(),e._clampedPosition):i.mode===SceneMode$1.SCENE3D?t:(Matrix4.multiplyByPoint(r,t,tempCartesian3),SceneTransforms.computeActualWgs84Position(i,tempCartesian3))};var scratchCartesian3$9=new Cartesian3;Billboard._computeScreenSpacePosition=function(e,t,i,r,n,a){t=Matrix4.multiplyByPoint(e,t,scratchCartesian3$9),a=SceneTransforms.wgs84WithEyeOffsetToWindowCoordinates(n,t,i,a);if(defined(a))return Cartesian2.add(a,r,a),a};var scratchPixelOffset=new Cartesian2(0,0);Billboard.prototype.computeScreenSpacePosition=function(e,t){var i=this._billboardCollection;defined(t)||(t=new Cartesian2),Cartesian2.clone(this._pixelOffset,scratchPixelOffset),Cartesian2.add(scratchPixelOffset,this._translate,scratchPixelOffset);var r,n=i.modelMatrix,a=this._position;return defined(this._clampedPosition)&&(a=this._clampedPosition,e.mode!==SceneMode$1.SCENE3D&&(i=(r=e.mapProjection).ellipsoid,r=r.unproject(a,scratchCartographic$4),a=i.cartographicToCartesian(r,scratchCartesian3$9),n=Matrix4.IDENTITY)),Billboard._computeScreenSpacePosition(n,a,this._eyeOffset,scratchPixelOffset,e,t)},Billboard.getScreenSpaceBoundingBox=function(e,t,i){var r=e.width,n=e.height,a=e.scale;r*=a,n*=a;a=t.x;e.horizontalOrigin===HorizontalOrigin$1.RIGHT?a-=r:e.horizontalOrigin===HorizontalOrigin$1.CENTER&&(a-=.5*r);t=t.y;return e.verticalOrigin===VerticalOrigin$1.BOTTOM||e.verticalOrigin===VerticalOrigin$1.BASELINE?t-=n:e.verticalOrigin===VerticalOrigin$1.CENTER&&(t-=.5*n),defined(i)||(i=new BoundingRectangle),i.x=a,i.y=t,i.width=r,i.height=n,i},Billboard.prototype.equals=function(e){return this===e||defined(e)&&this._id===e._id&&Cartesian3.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&BoundingRectangle.equals(this._imageSubRegion,e._imageSubRegion)&&Color.equals(this._color,e._color)&&Cartesian2.equals(this._pixelOffset,e._pixelOffset)&&Cartesian2.equals(this._translate,e._translate)&&Cartesian3.equals(this._eyeOffset,e._eyeOffset)&&NearFarScalar.equals(this._scaleByDistance,e._scaleByDistance)&&NearFarScalar.equals(this._translucencyByDistance,e._translucencyByDistance)&&NearFarScalar.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&DistanceDisplayCondition.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance},Billboard.prototype._destroy=function(){defined(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),defined(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var BlendOption={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},BlendOption$1=Object.freeze(BlendOption),SDFSettings={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},SDFSettings$1=Object.freeze(SDFSettings);function TextureAtlasNode(e,t,i,r,n){this.bottomLeft=defaultValue(e,Cartesian2.ZERO),this.topRight=defaultValue(t,Cartesian2.ZERO),this.childNode1=i,this.childNode2=r,this.imageIndex=n}var defaultInitialSize=new Cartesian2(16,16);function TextureAtlas(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.borderWidthInPixels,1),i=defaultValue(e.initialSize,defaultInitialSize);this._context=e.context,this._pixelFormat=defaultValue(e.pixelFormat,PixelFormat$1.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=createGuid(),this._idHash={},this._initialSize=i,this._root=void 0}function resizeAtlas(e,t){var i=e._context,r=e.numberOfImages,n=e._borderWidthInPixels;if(0<r){for(var a=e._texture.width,o=e._texture.height,s=2*(a+t.width+n),r=2*(o+t.height+n),l=a/s,c=o/r,a=new TextureAtlasNode(new Cartesian2(a+n,n),new Cartesian2(s,o)),a=new TextureAtlasNode(new Cartesian2,new Cartesian2(s,o),e._root,a),o=new TextureAtlasNode(new Cartesian2(n,o+n),new Cartesian2(s,r)),a=new TextureAtlasNode(new Cartesian2,new Cartesian2(s,r),a,o),u=0;u<e._textureCoordinates.length;u++){var d=e._textureCoordinates[u];defined(d)&&(d.x*=l,d.y*=c,d.width*=l,d.height*=c)}o=new Texture({context:e._context,width:s,height:r,pixelFormat:e._pixelFormat}),i=new Framebuffer({context:i,colorTextures:[e._texture],destroyAttachments:!1});i._bind(),o.copyFromFramebuffer(0,0,0,0,s,r),i._unBind(),i.destroy(),e._texture=e._texture&&e._texture.destroy(),e._texture=o,e._root=a}else{a=2*(t.width+2*n),t=2*(t.height+2*n);a<e._initialSize.x&&(a=e._initialSize.x),t<e._initialSize.y&&(t=e._initialSize.y),e._texture=e._texture&&e._texture.destroy(),e._texture=new Texture({context:e._context,width:a,height:t,pixelFormat:e._pixelFormat}),e._root=new TextureAtlasNode(new Cartesian2(n,n),new Cartesian2(a,t))}}function findNode$1(e,t,i){if(defined(t)){if(defined(t.childNode1)||defined(t.childNode2))return findNode$1(e,t.childNode1,i)||findNode$1(e,t.childNode2,i);if(!defined(t.imageIndex)){var r,n=t.topRight.x-t.bottomLeft.x,a=t.topRight.y-t.bottomLeft.y,n=n-i.width,a=a-i.height;return n<0||a<0?void 0:0==n&&0==a?t:(a<n?(t.childNode1=new TextureAtlasNode(new Cartesian2(t.bottomLeft.x,t.bottomLeft.y),new Cartesian2(t.bottomLeft.x+i.width,t.topRight.y)),(r=t.bottomLeft.x+i.width+e._borderWidthInPixels)<t.topRight.x&&(t.childNode2=new TextureAtlasNode(new Cartesian2(r,t.bottomLeft.y),new Cartesian2(t.topRight.x,t.topRight.y)))):(t.childNode1=new TextureAtlasNode(new Cartesian2(t.bottomLeft.x,t.bottomLeft.y),new Cartesian2(t.topRight.x,t.bottomLeft.y+i.height)),(r=t.bottomLeft.y+i.height+e._borderWidthInPixels)<t.topRight.y&&(t.childNode2=new TextureAtlasNode(new Cartesian2(t.bottomLeft.x,r),new Cartesian2(t.topRight.x,t.topRight.y)))),findNode$1(e,t.childNode1,i))}}}function addImage(e,t,i){var r,n,a,o,s,l,c=findNode$1(e,e._root,t);defined(c)?(c.imageIndex=i,s=e._texture.width,l=e._texture.height,r=c.topRight.x-c.bottomLeft.x,n=c.topRight.y-c.bottomLeft.y,a=c.bottomLeft.x/s,o=c.bottomLeft.y/l,s=r/s,l=n/l,e._textureCoordinates[i]=new BoundingRectangle(a,o,s,l),e._texture.copyFrom(t,c.bottomLeft.x,c.bottomLeft.y)):(resizeAtlas(e,t),addImage(e,t,i)),e._guid=createGuid()}Object.defineProperties(TextureAtlas.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return defined(this._texture)||(this._texture=new Texture({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}}),TextureAtlas.prototype.addImage=function(e,t){if(defined(r=this._idHash[e]))return r;"function"==typeof t?t=t(e):("string"==typeof t||t instanceof Resource)&&(t=Resource.createIfNeeded(t).fetchImage());var i=this,r=when(t,function(e){if(i.isDestroyed())return-1;var t=i.numberOfImages;return addImage(i,e,t),t});return this._idHash[e]=r},TextureAtlas.prototype.addSubRegion=function(e,a){var t=this._idHash[e];if(!defined(t))throw new RuntimeError('image with id "'+e+'" not found in the atlas.');var o=this;return when(t,function(e){if(-1===e)return-1;var t=o._texture.width,i=o._texture.height,r=o.numberOfImages,n=o._textureCoordinates[e],e=n.x+a.x/t,n=n.y+a.y/i,t=a.width/t,i=a.height/i;return o._textureCoordinates.push(new BoundingRectangle(e,n,t,i)),o._guid=createGuid(),r})},TextureAtlas.prototype.isDestroyed=function(){return!1},TextureAtlas.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),destroyObject(this)};var SHOW_INDEX$1=Billboard.SHOW_INDEX,POSITION_INDEX$1=Billboard.POSITION_INDEX,PIXEL_OFFSET_INDEX$1=Billboard.PIXEL_OFFSET_INDEX,EYE_OFFSET_INDEX$1=Billboard.EYE_OFFSET_INDEX,HORIZONTAL_ORIGIN_INDEX$1=Billboard.HORIZONTAL_ORIGIN_INDEX,VERTICAL_ORIGIN_INDEX$1=Billboard.VERTICAL_ORIGIN_INDEX,SCALE_INDEX$1=Billboard.SCALE_INDEX,IMAGE_INDEX_INDEX$1=Billboard.IMAGE_INDEX_INDEX,COLOR_INDEX$1=Billboard.COLOR_INDEX,ROTATION_INDEX$1=Billboard.ROTATION_INDEX,ALIGNED_AXIS_INDEX$1=Billboard.ALIGNED_AXIS_INDEX,SCALE_BY_DISTANCE_INDEX$1=Billboard.SCALE_BY_DISTANCE_INDEX,TRANSLUCENCY_BY_DISTANCE_INDEX$1=Billboard.TRANSLUCENCY_BY_DISTANCE_INDEX,PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX$1=Billboard.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,DISTANCE_DISPLAY_CONDITION_INDEX=Billboard.DISTANCE_DISPLAY_CONDITION,DISABLE_DEPTH_DISTANCE$1=Billboard.DISABLE_DEPTH_DISTANCE,TEXTURE_COORDINATE_BOUNDS=Billboard.TEXTURE_COORDINATE_BOUNDS,SDF_INDEX$1=Billboard.SDF_INDEX,NUMBER_OF_PROPERTIES=Billboard.NUMBER_OF_PROPERTIES,attributeLocations,attributeLocationsBatched={positionHighAndScale:0,positionLowAndRotation:1,compressedAttribute0:2,compressedAttribute1:3,compressedAttribute2:4,eyeOffset:5,scaleByDistance:6,pixelOffsetScaleByDistance:7,compressedAttribute3:8,textureCoordinateBoundsOrLabelTranslate:9,a_batchId:10,sdf:11},attributeLocationsInstanced={direction:0,positionHighAndScale:1,positionLowAndRotation:2,compressedAttribute0:3,compressedAttribute1:4,compressedAttribute2:5,eyeOffset:6,scaleByDistance:7,pixelOffsetScaleByDistance:8,compressedAttribute3:9,textureCoordinateBoundsOrLabelTranslate:10,a_batchId:11,sdf:12},getIndexBuffer;function BillboardCollection(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._shaderAlignedAxis=!1,this._compiledShaderAlignedAxis=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._shaderClampToGround=!1,this._compiledShaderClampToGround=!1,this._propertiesChanged=new Uint32Array(NUMBER_OF_PROPERTIES),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._allVerticalCenter=!0,this._allSizedInMeters=!0,this._baseVolume=new BoundingSphere,this._baseVolumeWC=new BoundingSphere,this._baseVolume2D=new BoundingSphere,this._boundingVolume=new BoundingSphere,this._boundingVolumeDirty=!1,this._colorCommands=[],this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this._modelMatrix=Matrix4.clone(Matrix4.IDENTITY),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this.debugShowTextureAtlas=defaultValue(e.debugShowTextureAtlas,!1),this.blendOption=defaultValue(e.blendOption,BlendOption$1.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=SceneMode$1.SCENE3D,this._buffersUsage=[BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW],this._highlightColor=Color.clone(Color.WHITE);var t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.texture},u_highlightColor:function(){return t._highlightColor}};e=this._scene;defined(e)&&defined(e.terrainProviderChanged)&&(this._removeCallbackFunc=e.terrainProviderChanged.addEventListener(function(){for(var e=this._billboards,t=e.length,i=0;i<t;++i)defined(e[i])&&e[i]._updateClamping()},this))}function destroyBillboards(e){for(var t=e.length,i=0;i<t;++i)e[i]&&e[i]._destroy()}function removeBillboards(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;for(var t=[],i=e._billboards,r=i.length,n=0,a=0;n<r;++n){var o=i[n];o&&(o._index=a++,t.push(o))}e._billboards=t}}function getIndexBufferBatched(e){var t=e.cache.billboardCollection_indexBufferBatched;if(defined(t))return t;for(var i=new Uint16Array(98298),r=0,n=0;r<98298;r+=6,n+=4)i[r]=n,i[r+1]=n+1,i[r+2]=n+2,i[r+3]=n+0,i[r+4]=n+2,i[r+5]=n+3;return(t=Buffer$1.createIndexBuffer({context:e,typedArray:i,usage:BufferUsage$1.STATIC_DRAW,indexDatatype:IndexDatatype$1.UNSIGNED_SHORT})).vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferBatched=t}function getIndexBufferInstanced(e){var t=e.cache.billboardCollection_indexBufferInstanced;return defined(t)?t:((t=Buffer$1.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:BufferUsage$1.STATIC_DRAW,indexDatatype:IndexDatatype$1.UNSIGNED_SHORT})).vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferInstanced=t)}function getVertexBufferInstanced(e){var t=e.cache.billboardCollection_vertexBufferInstanced;return defined(t)?t:((t=Buffer$1.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:BufferUsage$1.STATIC_DRAW})).vertexArrayDestroyable=!1,e.cache.billboardCollection_vertexBufferInstanced=t)}function createVAF(e,t,i,r,n,a){var o=[{index:attributeLocations.positionHighAndScale,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[POSITION_INDEX$1]},{index:attributeLocations.positionLowAndRotation,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[POSITION_INDEX$1]},{index:attributeLocations.compressedAttribute0,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[PIXEL_OFFSET_INDEX$1]},{index:attributeLocations.compressedAttribute1,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[TRANSLUCENCY_BY_DISTANCE_INDEX$1]},{index:attributeLocations.compressedAttribute2,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[COLOR_INDEX$1]},{index:attributeLocations.eyeOffset,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[EYE_OFFSET_INDEX$1]},{index:attributeLocations.scaleByDistance,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[SCALE_BY_DISTANCE_INDEX$1]},{index:attributeLocations.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX$1]},{index:attributeLocations.compressedAttribute3,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[DISTANCE_DISPLAY_CONDITION_INDEX]},{index:attributeLocations.textureCoordinateBoundsOrLabelTranslate,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[TEXTURE_COORDINATE_BOUNDS]}];return r&&o.push({index:attributeLocations.direction,componentsPerAttribute:2,componentDatatype:ComponentDatatype$1.FLOAT,vertexBuffer:getVertexBufferInstanced(e)}),defined(n)&&o.push({index:attributeLocations.a_batchId,componentsPerAttribute:1,componentDatatype:ComponentDatatype$1.FLOAT,bufferUsage:BufferUsage$1.STATIC_DRAW}),a&&o.push({index:attributeLocations.sdf,componentsPerAttribute:2,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[SDF_INDEX$1]}),new VertexArrayFacade(e,o,r?t:4*t,r)}Object.defineProperties(BillboardCollection.prototype,{length:{get:function(){return removeBillboards(this),this._billboards.length}},textureAtlas:{get:function(){return this._textureAtlas},set:function(e){this._textureAtlas!==e&&(this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._textureAtlas=e,this._createVertexArray=!0)}},destroyTextureAtlas:{get:function(){return this._destroyTextureAtlas},set:function(e){this._destroyTextureAtlas=e}}}),BillboardCollection.prototype.add=function(e){e=new Billboard(e,this);return e._index=this._billboards.length,this._billboards.push(e),this._createVertexArray=!0,e},BillboardCollection.prototype.remove=function(e){return!!this.contains(e)&&(this._billboards[e._index]=null,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0)},BillboardCollection.prototype.removeAll=function(){destroyBillboards(this._billboards),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0},BillboardCollection.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]},BillboardCollection.prototype.contains=function(e){return defined(e)&&e._billboardCollection===this},BillboardCollection.prototype.get=function(e){return removeBillboards(this),this._billboards[e]},BillboardCollection.prototype.computeNewBuffersUsage=function(){for(var e=this._buffersUsage,t=!1,i=this._propertiesChanged,r=0;r<NUMBER_OF_PROPERTIES;++r){var n=0===i[r]?BufferUsage$1.STATIC_DRAW:BufferUsage$1.STREAM_DRAW,t=t||e[r]!==n;e[r]=n}return t};var writePositionScratch=new EncodedCartesian3;function writePositionScaleAndRotation(e,t,i,r,n){var a,o=r[attributeLocations.positionHighAndScale],s=r[attributeLocations.positionLowAndRotation],l=n._getActualPosition();e._mode===SceneMode$1.SCENE3D&&(BoundingSphere.expand(e._baseVolume,l,e._baseVolume),e._boundingVolumeDirty=!0),EncodedCartesian3.fromCartesian(l,writePositionScratch);var c=n.scale,u=n.rotation;0!==u&&(e._shaderRotation=!0),e._maxScale=Math.max(e._maxScale,c);r=writePositionScratch.high,l=writePositionScratch.low;e._instanced?(o(a=n._index,r.x,r.y,r.z,c),s(a,l.x,l.y,l.z,u)):(o((a=4*n._index)+0,r.x,r.y,r.z,c),o(a+1,r.x,r.y,r.z,c),o(a+2,r.x,r.y,r.z,c),o(a+3,r.x,r.y,r.z,c),s(a+0,l.x,l.y,l.z,u),s(a+1,l.x,l.y,l.z,u),s(a+2,l.x,l.y,l.z,u),s(a+3,l.x,l.y,l.z,u))}var scratchCartesian2$8=new Cartesian2,UPPER_BOUND=32768,LEFT_SHIFT16=65536,LEFT_SHIFT12=4096,LEFT_SHIFT8=256,LEFT_SHIFT7=128,LEFT_SHIFT5=32,LEFT_SHIFT3=8,LEFT_SHIFT2=4,RIGHT_SHIFT8=1/256,LOWER_LEFT=0,LOWER_RIGHT=2,UPPER_RIGHT=3,UPPER_LEFT=1;function writeCompressedAttrib0(e,t,i,r,n){var a,o=r[attributeLocations.compressedAttribute0],s=n.pixelOffset,l=s.x,c=s.y,u=n._translate,d=u.x,h=u.y;e._maxPixelOffset=Math.max(e._maxPixelOffset,Math.abs(l+d),Math.abs(-c+h));var p=n.horizontalOrigin,m=n._verticalOrigin,f=n.show&&n.clusterShow;0===n.color.alpha&&(f=!1),m===VerticalOrigin$1.BASELINE&&(m=VerticalOrigin$1.BOTTOM),e._allHorizontalCenter=e._allHorizontalCenter&&p===HorizontalOrigin$1.CENTER,e._allVerticalCenter=e._allVerticalCenter&&m===VerticalOrigin$1.CENTER;var g=0,_=0,r=0,s=0,u=n._imageIndex;-1!==u&&(g=(u=i[u]).x,_=u.y,r=u.width,s=u.height);r=g+r,s=_+s,l=Math.floor(CesiumMath.clamp(l,-UPPER_BOUND,UPPER_BOUND)+UPPER_BOUND)*LEFT_SHIFT7;l+=(p+1)*LEFT_SHIFT5,l+=(m+1)*LEFT_SHIFT3,l+=(f?1:0)*LEFT_SHIFT2;f=Math.floor(CesiumMath.clamp(c,-UPPER_BOUND,UPPER_BOUND)+UPPER_BOUND)*LEFT_SHIFT8,c=Math.floor(CesiumMath.clamp(d,-UPPER_BOUND,UPPER_BOUND)+UPPER_BOUND)*LEFT_SHIFT8,d=(CesiumMath.clamp(h,-UPPER_BOUND,UPPER_BOUND)+UPPER_BOUND)*RIGHT_SHIFT8,h=Math.floor(d);f+=h,c+=Math.floor((d-h)*LEFT_SHIFT8),scratchCartesian2$8.x=g,scratchCartesian2$8.y=_;_=AttributeCompression.compressTextureCoordinates(scratchCartesian2$8);scratchCartesian2$8.x=r;r=AttributeCompression.compressTextureCoordinates(scratchCartesian2$8);scratchCartesian2$8.y=s;s=AttributeCompression.compressTextureCoordinates(scratchCartesian2$8);scratchCartesian2$8.x=g;g=AttributeCompression.compressTextureCoordinates(scratchCartesian2$8);e._instanced?o(a=n._index,l,f,c,_):(o((a=4*n._index)+0,l+LOWER_LEFT,f,c,_),o(a+1,l+LOWER_RIGHT,f,c,r),o(a+2,l+UPPER_RIGHT,f,c,s),o(a+3,l+UPPER_LEFT,f,c,g))}function writeCompressedAttrib1(e,t,i,r,n){var a,o=r[attributeLocations.compressedAttribute1],s=n.alignedAxis;Cartesian3.equals(s,Cartesian3.ZERO)||(e._shaderAlignedAxis=!0);var l=0,c=1,u=1,d=1,h=n.translucencyByDistance;defined(h)&&(l=h.near,c=h.nearValue,u=h.far,d=h.farValue,1===c&&1===d||(e._shaderTranslucencyByDistance=!0));r=0,h=n._imageIndex;-1!==h&&(r=i[h].width);h=e._textureAtlas.texture.width,h=Math.round(defaultValue(n.width,h*r));e._maxSize=Math.max(e._maxSize,h);r=CesiumMath.clamp(h,0,LEFT_SHIFT16),h=0;Math.abs(Cartesian3.magnitudeSquared(s)-1)<CesiumMath.EPSILON6&&(h=AttributeCompression.octEncodeFloat(s)),c=CesiumMath.clamp(c,0,1),r=r*LEFT_SHIFT8+(c=1===c?255:255*c|0),d=CesiumMath.clamp(d,0,1),h=h*LEFT_SHIFT8+(d=1===d?255:255*d|0),e._instanced?o(a=n._index,r,h,l,u):(o((a=4*n._index)+0,r,h,l,u),o(a+1,r,h,l,u),o(a+2,r,h,l,u),o(a+3,r,h,l,u))}function writeCompressedAttrib2(e,t,i,r,n){var a,o=r[attributeLocations.compressedAttribute2],s=n.color,l=defined(e._batchTable)?Color.WHITE:n.getPickId(t.context).color,c=n.sizeInMeters?1:0,u=Math.abs(Cartesian3.magnitudeSquared(n.alignedAxis)-1)<CesiumMath.EPSILON6?1:0;e._allSizedInMeters=e._allSizedInMeters&&1==c;var d=0,h=n._imageIndex;-1!==h&&(d=i[h].height);r=e._textureAtlas.texture.dimensions,t=Math.round(defaultValue(n.height,r.y*d));e._maxSize=Math.max(e._maxSize,t);i=defaultValue(n._labelHorizontalOrigin,-2),h=t*LEFT_SHIFT2+(i+=2),r=Color.floatToByte(s.red),d=Color.floatToByte(s.green),t=Color.floatToByte(s.blue),i=r*LEFT_SHIFT16+d*LEFT_SHIFT8+t,r=Color.floatToByte(l.red),d=Color.floatToByte(l.green),t=Color.floatToByte(l.blue),t=r*LEFT_SHIFT16+d*LEFT_SHIFT8+t,l=Color.floatToByte(s.alpha)*LEFT_SHIFT16+Color.floatToByte(l.alpha)*LEFT_SHIFT8;l+=2*c+u,e._instanced?o(a=n._index,i,t,l,h):(o((a=4*n._index)+0,i,t,l,h),o(a+1,i,t,l,h),o(a+2,i,t,l,h),o(a+3,i,t,l,h))}function writeEyeOffset(e,t,i,r,n){var a,o=r[attributeLocations.eyeOffset],s=n.eyeOffset,l=s.z;n._heightReference!==HeightReference$1.NONE&&(l*=1.005),e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(s.x),Math.abs(s.y),Math.abs(l)),e._instanced?(a=r=0,-1!==(e=n._imageIndex)&&(r=(e=i[e]).width,a=e.height),scratchCartesian2$8.x=r,scratchCartesian2$8.y=a,r=AttributeCompression.compressTextureCoordinates(scratchCartesian2$8),o(a=n._index,s.x,s.y,l,r)):(o((a=4*n._index)+0,s.x,s.y,l,0),o(a+1,s.x,s.y,l,0),o(a+2,s.x,s.y,l,0),o(a+3,s.x,s.y,l,0))}function writeScaleByDistance(e,t,i,r,n){var a,o=r[attributeLocations.scaleByDistance],s=0,l=1,c=1,u=1,r=n.scaleByDistance;defined(r)&&(s=r.near,l=r.nearValue,c=r.far,u=r.farValue,1===l&&1===u||(e._shaderScaleByDistance=!0)),e._instanced?o(a=n._index,s,l,c,u):(o((a=4*n._index)+0,s,l,c,u),o(a+1,s,l,c,u),o(a+2,s,l,c,u),o(a+3,s,l,c,u))}function writePixelOffsetScaleByDistance(e,t,i,r,n){var a,o=r[attributeLocations.pixelOffsetScaleByDistance],s=0,l=1,c=1,u=1,r=n.pixelOffsetScaleByDistance;defined(r)&&(s=r.near,l=r.nearValue,c=r.far,u=r.farValue,1===l&&1===u||(e._shaderPixelOffsetScaleByDistance=!0)),e._instanced?o(a=n._index,s,l,c,u):(o((a=4*n._index)+0,s,l,c,u),o(a+1,s,l,c,u),o(a+2,s,l,c,u),o(a+3,s,l,c,u))}function writeCompressedAttribute3(e,t,i,r,n){var a,o=r[attributeLocations.compressedAttribute3],s=0,l=Number.MAX_VALUE,c=n.distanceDisplayCondition;defined(c)&&(s=c.near,l=c.far,s*=s,l*=l,e._shaderDistanceDisplayCondition=!0);var u=n.disableDepthTestDistance,r=n.heightReference===HeightReference$1.CLAMP_TO_GROUND&&t.context.depthTexture;defined(u)||(u=r?5e3:0),u*=u,(r||0<u)&&(e._shaderDisableDepthDistance=!0,u===Number.POSITIVE_INFINITY&&(u=-1)),defined(n._labelDimensions)?(d=n._labelDimensions.x,h=n._labelDimensions.y):(t=c=0,-1!==(r=n._imageIndex)&&(c=(r=i[r]).height,t=r.width),h=Math.round(defaultValue(n.height,e._textureAtlas.texture.dimensions.y*c)),c=e._textureAtlas.texture.width,d=Math.round(defaultValue(n.width,c*t)));var d=Math.floor(CesiumMath.clamp(d,0,LEFT_SHIFT12)),h=Math.floor(CesiumMath.clamp(h,0,LEFT_SHIFT12)),h=d*LEFT_SHIFT12+h;e._instanced?o(a=n._index,s,l,u,h):(o((a=4*n._index)+0,s,l,u,h),o(a+1,s,l,u,h),o(a+2,s,l,u,h),o(a+3,s,l,u,h))}function writeTextureCoordinateBoundsOrLabelTranslate(e,t,i,r,n){var a;n.heightReference===HeightReference$1.CLAMP_TO_GROUND&&(u=e._scene,o=t.context,c=t.globeTranslucencyState.translucent,u=defined(u.globe)&&u.globe.depthTestAgainstTerrain,e._shaderClampToGround=o.depthTexture&&!c&&u);var o=r[attributeLocations.textureCoordinateBoundsOrLabelTranslate];if(0<ContextLimits.maximumVertexTextureImageUnits){var s=0,l=0;return defined(n._labelTranslate)&&(s=n._labelTranslate.x,l=n._labelTranslate.y),void(e._instanced?o(a=n._index,s,l,0,0):(o((a=4*n._index)+0,s,l,0,0),o(a+1,s,l,0,0),o(a+2,s,l,0,0),o(a+3,s,l,0,0)))}var c=0,u=0,r=0,s=0,l=n._imageIndex;-1!==l&&(c=(l=i[l]).x,u=l.y,r=l.width,s=l.height);r=c+r,s=u+s;e._instanced?o(a=n._index,c,u,r,s):(o((a=4*n._index)+0,c,u,r,s),o(a+1,c,u,r,s),o(a+2,c,u,r,s),o(a+3,c,u,r,s))}function writeBatchId(e,t,i,r,n){var a,o;defined(e._batchTable)&&(a=r[attributeLocations.a_batchId],r=n._batchIndex,e._instanced?a(o=n._index,r):(a((o=4*n._index)+0,r),a(o+1,r),a(o+2,r),a(o+3,r)))}function writeSDF(e,t,i,r,n){var a,o,s,l,c,u;e._sdf&&(o=r[attributeLocations.sdf],s=n.outlineColor,u=n.outlineWidth,l=Color.floatToByte(s.red),c=Color.floatToByte(s.green),r=Color.floatToByte(s.blue),r=l*LEFT_SHIFT16+c*LEFT_SHIFT8+r,u=u/SDFSettings$1.RADIUS,u=Color.floatToByte(s.alpha)*LEFT_SHIFT16+Color.floatToByte(u)*LEFT_SHIFT8,e._instanced?o(a=n._index,r,u):(o((a=4*n._index)+0,r+LOWER_LEFT,u),o(a+1,r+LOWER_RIGHT,u),o(a+2,r+UPPER_RIGHT,u),o(a+3,r+UPPER_LEFT,u)))}function writeBillboard(e,t,i,r,n){writePositionScaleAndRotation(e,t,i,r,n),writeCompressedAttrib0(e,t,i,r,n),writeCompressedAttrib1(e,t,i,r,n),writeCompressedAttrib2(e,t,i,r,n),writeEyeOffset(e,t,i,r,n),writeScaleByDistance(e,t,i,r,n),writePixelOffsetScaleByDistance(e,t,i,r,n),writeCompressedAttribute3(e,t,i,r,n),writeTextureCoordinateBoundsOrLabelTranslate(e,t,i,r,n),writeBatchId(e,t,i,r,n),writeSDF(e,t,i,r,n)}function recomputeActualPositions(e,t,i,r,n,a){var o;r.mode===SceneMode$1.SCENE3D?(o=e._baseVolume,e._boundingVolumeDirty=!0):o=e._baseVolume2D;for(var s=[],l=0;l<i;++l){var c=t[l],u=c.position,u=Billboard._computeActualPosition(c,u,r,n);defined(u)&&(c._setActualPosition(u),a?s.push(u):BoundingSphere.expand(o,u,o))}a&&BoundingSphere.fromPoints(s,o)}function updateMode(e,t){var i=t.mode,r=e._billboards,n=e._billboardsToUpdate,a=e._modelMatrix;e._createVertexArray||e._mode!==i||i!==SceneMode$1.SCENE3D&&!Matrix4.equals(a,e.modelMatrix)?(e._mode=i,Matrix4.clone(e.modelMatrix,a),e._createVertexArray=!0,i!==SceneMode$1.SCENE3D&&i!==SceneMode$1.SCENE2D&&i!==SceneMode$1.COLUMBUS_VIEW||recomputeActualPositions(e,r,r.length,t,a,!0)):i===SceneMode$1.MORPHING?recomputeActualPositions(e,r,r.length,t,a,!0):i!==SceneMode$1.SCENE2D&&i!==SceneMode$1.COLUMBUS_VIEW||recomputeActualPositions(e,n,e._billboardsToUpdateIndex,t,a,!1)}function updateBoundingVolume(e,t,i){var r=1;e._allSizedInMeters&&0===e._maxPixelOffset||(r=t.camera.getPixelSize(i,t.context.drawingBufferWidth,t.context.drawingBufferHeight));t=r*e._maxScale*e._maxSize*2;e._allHorizontalCenter&&e._allVerticalCenter&&(t*=.5);e=r*e._maxPixelOffset+e._maxEyeOffset;i.radius+=t+e}function createDebugCommand(e,t){t=t.createViewportQuadCommand("uniform sampler2D billboard_texture; \nvarying vec2 v_textureCoordinates; \nvoid main() \n{ \n gl_FragColor = texture2D(billboard_texture, v_textureCoordinates); \n} \n",{uniformMap:{billboard_texture:function(){return e._textureAtlas.texture}}});return t.pass=Pass$1.OVERLAY,t}var scratchWriterArray=[];function createBillboardPointCallback(r,n,a,o,s){return function(){var e=document.createElement("canvas"),t=s+2*o;e.height=e.width=t;var i=e.getContext("2d");return i.clearRect(0,0,t,t),0!==o&&(i.beginPath(),i.arc(t/2,t/2,t/2,0,2*Math.PI,!0),i.closePath(),i.fillStyle=a,i.fill(),r<1&&(i.save(),i.globalCompositeOperation="destination-out",i.beginPath(),i.arc(t/2,t/2,s/2,0,2*Math.PI,!0),i.closePath(),i.fillStyle="black",i.fill(),i.restore())),i.beginPath(),i.arc(t/2,t/2,s/2,0,2*Math.PI,!0),i.closePath(),i.fillStyle=n,i.fill(),e}}function Cesium3DTilePointFeature(e,t,i,r,n){this._content=e,this._billboard=i,this._label=r,this._polyline=n,this._batchId=t,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),setBillboardImage(this)}BillboardCollection.prototype.update=function(e){removeBillboards(this);var t=this._billboards,i=t.length,r=e.context;this._instanced=r.instancedArrays,attributeLocations=this._instanced?attributeLocationsInstanced:attributeLocationsBatched,getIndexBuffer=this._instanced?getIndexBufferInstanced:getIndexBufferBatched;var n=this._textureAtlas;if(!defined(n)){n=this._textureAtlas=new TextureAtlas({context:r});for(var a=0;a<i;++a)t[a]._loadImage()}var o=n.textureCoordinates;if(0!==o.length){updateMode(this,e),i=(t=this._billboards).length;var s=this._billboardsToUpdate,l=this._billboardsToUpdateIndex,c=this._propertiesChanged,u=n.guid,d=this._createVertexArray||this._textureAtlasGUID!==u;this._textureAtlasGUID=u;var h=e.passes,p=h.pick;if(d||!p&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(var m=0;m<NUMBER_OF_PROPERTIES;++m)c[m]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),0<i){this._vaf=createVAF(r,i,this._buffersUsage,this._instanced,this._batchTable,this._sdf),C=this._vaf.writers;for(var f=0;f<i;++f){var g=this._billboards[f];g._dirty=!1,writeBillboard(this,e,o,C,g)}this._vaf.commit(getIndexBuffer(r))}this._billboardsToUpdateIndex=0}else if(0<l){var _=scratchWriterArray;_.length=0,(c[POSITION_INDEX$1]||c[ROTATION_INDEX$1]||c[SCALE_INDEX$1])&&_.push(writePositionScaleAndRotation),(c[IMAGE_INDEX_INDEX$1]||c[PIXEL_OFFSET_INDEX$1]||c[HORIZONTAL_ORIGIN_INDEX$1]||c[VERTICAL_ORIGIN_INDEX$1]||c[SHOW_INDEX$1])&&(_.push(writeCompressedAttrib0),this._instanced&&_.push(writeEyeOffset)),(c[IMAGE_INDEX_INDEX$1]||c[ALIGNED_AXIS_INDEX$1]||c[TRANSLUCENCY_BY_DISTANCE_INDEX$1])&&(_.push(writeCompressedAttrib1),_.push(writeCompressedAttrib2)),(c[IMAGE_INDEX_INDEX$1]||c[COLOR_INDEX$1])&&_.push(writeCompressedAttrib2),c[EYE_OFFSET_INDEX$1]&&_.push(writeEyeOffset),c[SCALE_BY_DISTANCE_INDEX$1]&&_.push(writeScaleByDistance),c[PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX$1]&&_.push(writePixelOffsetScaleByDistance),(c[DISTANCE_DISPLAY_CONDITION_INDEX]||c[DISABLE_DEPTH_DISTANCE$1]||c[IMAGE_INDEX_INDEX$1]||c[POSITION_INDEX$1])&&_.push(writeCompressedAttribute3),(c[IMAGE_INDEX_INDEX$1]||c[POSITION_INDEX$1])&&_.push(writeTextureCoordinateBoundsOrLabelTranslate),c[SDF_INDEX$1]&&_.push(writeSDF);var y=_.length,C=this._vaf.writers;if(.1<l/i){for(var v=0;v<l;++v){var S=s[v];S._dirty=!1;for(var T=0;T<y;++T)_[T](this,e,o,C,S)}this._vaf.commit(getIndexBuffer(r))}else{for(var b=0;b<l;++b){var x=s[b];x._dirty=!1;for(var E=0;E<y;++E)_[E](this,e,o,C,x);this._instanced?this._vaf.subCommit(x._index,1):this._vaf.subCommit(4*x._index,4)}this._vaf.endSubCommits()}this._billboardsToUpdateIndex=0}if(1.5*i<l&&(s.length=i),defined(this._vaf)&&defined(this._vaf.va)){this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,BoundingSphere.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));var P,A=Matrix4.IDENTITY;updateBoundingVolume(this,e,P=e.mode===SceneMode$1.SCENE3D?(A=this.modelMatrix,BoundingSphere.clone(this._baseVolumeWC,this._boundingVolume)):BoundingSphere.clone(this._baseVolume2D,this._boundingVolume));var w,n=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,n&&(this._blendOption===BlendOption$1.OPAQUE||this._blendOption===BlendOption$1.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=RenderState.fromCache({depthTest:{enabled:!0,func:WebGLConstants$1.LESS},depthMask:!0}):this._rsOpaque=void 0,D=this._blendOption===BlendOption$1.TRANSLUCENT,this._blendOption===BlendOption$1.TRANSLUCENT||this._blendOption===BlendOption$1.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=RenderState.fromCache({depthTest:{enabled:!0,func:D?WebGLConstants$1.LEQUAL:WebGLConstants$1.LESS},depthMask:D,blending:BlendingState$1.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||0!==e.minimumDisableDepthTestDistance;var D,u=0<ContextLimits.maximumVertexTextureImageUnits;!n&&this._shaderRotation===this._compiledShaderRotation&&this._shaderAlignedAxis===this._compiledShaderAlignedAxis&&this._shaderScaleByDistance===this._compiledShaderScaleByDistance&&this._shaderTranslucencyByDistance===this._compiledShaderTranslucencyByDistance&&this._shaderPixelOffsetScaleByDistance===this._compiledShaderPixelOffsetScaleByDistance&&this._shaderDistanceDisplayCondition===this._compiledShaderDistanceDisplayCondition&&this._shaderDisableDepthDistance===this._compiledShaderDisableDepthDistance&&this._shaderClampToGround===this._compiledShaderClampToGround&&this._sdf===this._compiledSDF||(d=BillboardCollectionVS,p=BillboardCollectionFS,D=[],defined(this._batchTable)&&(D.push("VECTOR_TILE"),d=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(d),p=this._batchTable.getFragmentShaderCallback(!1,void 0)(p)),n=new ShaderSource({defines:D,sources:[d]}),this._instanced&&n.defines.push("INSTANCED"),this._shaderRotation&&n.defines.push("ROTATION"),this._shaderAlignedAxis&&n.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&n.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&n.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&n.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&n.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&n.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(u?n.defines.push("VERTEX_DEPTH_CHECK"):n.defines.push("FRAGMENT_DEPTH_CHECK")),D=1-SDFSettings$1.CUTOFF,this._sdf&&n.defines.push("SDF"),d=defined(this._batchTable)?"VECTOR_TILE":"",this._blendOption===BlendOption$1.OPAQUE_AND_TRANSLUCENT&&(w=new ShaderSource({defines:["OPAQUE",d],sources:[p]}),this._shaderClampToGround&&(u?w.defines.push("VERTEX_DEPTH_CHECK"):w.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(w.defines.push("SDF"),w.defines.push("SDF_EDGE "+D)),this._sp=ShaderProgram.replaceCache({context:r,shaderProgram:this._sp,vertexShaderSource:n,fragmentShaderSource:w,attributeLocations:attributeLocations}),w=new ShaderSource({defines:["TRANSLUCENT",d],sources:[p]}),this._shaderClampToGround&&(u?w.defines.push("VERTEX_DEPTH_CHECK"):w.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(w.defines.push("SDF"),w.defines.push("SDF_EDGE "+D)),this._spTranslucent=ShaderProgram.replaceCache({context:r,shaderProgram:this._spTranslucent,vertexShaderSource:n,fragmentShaderSource:w,attributeLocations:attributeLocations})),this._blendOption===BlendOption$1.OPAQUE&&(w=new ShaderSource({defines:[d],sources:[p]}),this._shaderClampToGround&&(u?w.defines.push("VERTEX_DEPTH_CHECK"):w.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(w.defines.push("SDF"),w.defines.push("SDF_EDGE "+D)),this._sp=ShaderProgram.replaceCache({context:r,shaderProgram:this._sp,vertexShaderSource:n,fragmentShaderSource:w,attributeLocations:attributeLocations})),this._blendOption===BlendOption$1.TRANSLUCENT&&(w=new ShaderSource({defines:[d],sources:[p]}),this._shaderClampToGround&&(u?w.defines.push("VERTEX_DEPTH_CHECK"):w.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(w.defines.push("SDF"),w.defines.push("SDF_EDGE "+D)),this._spTranslucent=ShaderProgram.replaceCache({context:r,shaderProgram:this._spTranslucent,vertexShaderSource:n,fragmentShaderSource:w,attributeLocations:attributeLocations})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf);var M=e.commandList;if(h.render||h.pick){var I=this._colorCommands,R=this._blendOption===BlendOption$1.OPAQUE,O=this._blendOption===BlendOption$1.OPAQUE_AND_TRANSLUCENT,L=this._vaf.va,h=L.length,F=this._uniforms,N=defined(this._batchTable)?(F=this._batchTable.getUniformMapCallback()(F),this._batchTable.getPickId()):"v_pickColor";I.length=h;for(var B=O?2*h:h,V=0;V<B;++V){var k=I[V];defined(k)||(k=I[V]=new DrawCommand);var z=R||O&&V%2==0;k.pass=z||!O?Pass$1.OPAQUE:Pass$1.TRANSLUCENT,k.owner=this;var U=O?Math.floor(V/2):V;k.boundingVolume=P,k.modelMatrix=A,k.count=L[U].indicesCount,k.shaderProgram=z?this._sp:this._spTranslucent,k.uniformMap=F,k.vertexArray=L[U].va,k.renderState=z?this._rsOpaque:this._rsTranslucent,k.debugShowBoundingVolume=this.debugShowBoundingVolume,k.pickId=N,this._instanced&&(k.count=6,k.instanceCount=i),M.push(k)}this.debugShowTextureAtlas&&(defined(this.debugCommand)||(this.debugCommand=createDebugCommand(this,e.context)),M.push(this.debugCommand))}}}},BillboardCollection.prototype.isDestroyed=function(){return!1},BillboardCollection.prototype.destroy=function(){return defined(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),destroyBillboards(this._billboards),destroyObject(this)};var scratchCartographic$5=new Cartographic;function setBillboardImage(e){var t,i,r,n,a,o,s,l,c=e._billboard;defined(e._billboardImage)&&e._billboardImage!==c.image?c.image=e._billboardImage:defined(e._billboardImage)||(s=defaultValue(e._color,Cesium3DTilePointFeature.defaultColor),l=defaultValue(e._pointOutlineColor,Cesium3DTilePointFeature.defaultPointOutlineColor),t=defaultValue(e._pointOutlineWidth,Cesium3DTilePointFeature.defaultPointOutlineWidth),i=defaultValue(e._pointSize,Cesium3DTilePointFeature.defaultPointSize),r=e._billboardColor,n=e._billboardOutlineColor,a=e._billboardOutlineWidth,o=e._billboardSize,Color.equals(s,r)&&Color.equals(l,n)&&t===a&&i===o||(e._billboardColor=Color.clone(s,e._billboardColor),e._billboardOutlineColor=Color.clone(l,e._billboardOutlineColor),e._billboardOutlineWidth=t,e._billboardSize=i,o=s.alpha,e=s.toCssColorString(),s=l.toCssColorString(),l=JSON.stringify([e,i,s,t]),c.setImage(l,createBillboardPointCallback(o,e,s,t,i))))}Object.defineProperties(Cesium3DTilePointFeature.prototype,{show:{get:function(){return this._label.show},set:function(e){this._label.show=e,this._billboard.show=e,this._polyline.show=e}},color:{get:function(){return this._color},set:function(e){this._color=Color.clone(e,this._color),setBillboardImage(this)}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=e,setBillboardImage(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=Color.clone(e,this._pointOutlineColor),setBillboardImage(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=e,setBillboardImage(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(e){this._label.fillColor=e,this._polyline.show=this._label.show&&0<e.alpha}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){defined(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){var t=defaultValue(this._heightOffset,0),i=this._content.tileset.ellipsoid,r=i.cartesianToCartographic(this._billboard.position,scratchCartographic$5);r.height=r.height-t+e;r=i.cartographicToCartesian(r);this._billboard.position=r,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],r],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=Color.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){var t=this._billboardImage!==e;this._billboardImage=e,t&&setBillboardImage(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){var e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}}),Cesium3DTilePointFeature.defaultColor=Color.WHITE,Cesium3DTilePointFeature.defaultPointOutlineColor=Color.BLACK,Cesium3DTilePointFeature.defaultPointOutlineWidth=0,Cesium3DTilePointFeature.defaultPointSize=8,Cesium3DTilePointFeature.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)},Cesium3DTilePointFeature.prototype.getPropertyNames=function(e){return this._content.batchTable.getPropertyNames(this._batchId,e)},Cesium3DTilePointFeature.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)},Cesium3DTilePointFeature.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0},Cesium3DTilePointFeature.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)},Cesium3DTilePointFeature.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)},Cesium3DTilePointFeature.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var INF=1e20;function clamp(e,t,i){return t<i?e<t?t:i<e?i:e:e<i?i:t<e?t:e}function calcSDF(e,t){var i,r,n,a,o,s=null==(t=t||{}).cutoff?.25:t.cutoff,l=null==t.radius?8:t.radius,c=t.channel||0;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");i=t.width,r=t.height,n=e,o=t.stride||Math.floor(e.length/i/r)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=(m=e).getContext("2d"),i=m.width,r=m.height,n=(p=h.getImageData(0,0,i,r)).data,o=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(i=(m=(h=e).canvas).width,r=m.height,n=(p=h.getImageData(0,0,i,r)).data,o=4):window.ImageData&&e instanceof window.ImageData&&(i=(p=e).width,r=e.height,n=p.data,o=4);if(m=Math.max(i,r),window.Uint8ClampedArray&&n instanceof window.Uint8ClampedArray||window.Uint8Array&&n instanceof window.Uint8Array)for(a=n,n=Array(i*r),f=0,g=a.length;f<g;f++)n[f]=a[f*o+c]/255;else if(1!==o)throw Error("Raw data can have only 1 value per pixel");for(var u=Array(i*r),d=Array(i*r),h=Array(m),e=Array(m),p=Array(m+1),m=Array(m),f=0,g=i*r;f<g;f++){var _=n[f];u[f]=1===_?0:0===_?INF:Math.pow(Math.max(0,.5-_),2),d[f]=1===_?INF:0===_?0:Math.pow(Math.max(0,_-.5),2)}edt(u,i,r,h,e,m,p),edt(d,i,r,h,e,m,p);var y=new(window.Float32Array?Float32Array:Array)(i*r);for(f=0,g=i*r;f<g;f++)y[f]=clamp(1-((u[f]-d[f])/l+s),0,1);return y}function edt(e,t,i,r,n,a,o){for(var s=0;s<t;s++){for(var l=0;l<i;l++)r[l]=e[l*t+s];for(edt1d(r,n,a,o,i),l=0;l<i;l++)e[l*t+s]=n[l]}for(l=0;l<i;l++){for(s=0;s<t;s++)r[s]=e[l*t+s];for(edt1d(r,n,a,o,t),s=0;s<t;s++)e[l*t+s]=Math.sqrt(n[s])}}function edt1d(e,t,i,r,n){r[i[0]=0]=-INF,r[1]=+INF;for(var a=1,o=0;a<n;a++){for(var s=(e[a]+a*a-(e[i[o]]+i[o]*i[o]))/(2*a-2*i[o]);s<=r[o];)o--,s=(e[a]+a*a-(e[i[o]]+i[o]*i[o]))/(2*a-2*i[o]);i[++o]=a,r[o]=s,r[o+1]=+INF}for(o=a=0;a<n;a++){for(;r[o+1]<a;)o++;t[a]=(a-i[o])*(a-i[o])+e[i[o]]}}var LabelStyle={FILL:0,OUTLINE:1,FILL_AND_OUTLINE:2},LabelStyle$1=Object.freeze(LabelStyle),fontInfoCache={},fontInfoCacheLength=0,fontInfoCacheMaxSize=256,defaultBackgroundColor=new Color(.165,.165,.165,.8),defaultBackgroundPadding=new Cartesian2(7,5),textTypes=Object.freeze({LTR:0,RTL:1,WEAK:2,BRACKETS:3});function rebindAllGlyphs(e){e._rebindAllGlyphs||e._repositionAllGlyphs||e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function repositionAllGlyphs(e){e._rebindAllGlyphs||e._repositionAllGlyphs||e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}function getCSSValue$1(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)}function parseFont(e){var t,i,r=fontInfoCache[e._font];defined(r)||((t=document.createElement("div")).style.position="absolute",t.style.opacity=0,t.style.font=e._font,document.body.appendChild(t),i=Number.parseFloat(getCSSValue$1(t,"line-height")),isNaN(i)&&(i=void 0),r={family:getCSSValue$1(t,"font-family"),size:getCSSValue$1(t,"font-size").replace("px",""),style:getCSSValue$1(t,"font-style"),weight:getCSSValue$1(t,"font-weight"),lineHeight:i},document.body.removeChild(t),fontInfoCacheLength<fontInfoCacheMaxSize&&(fontInfoCache[e._font]=r,fontInfoCacheLength++)),e._fontFamily=r.family,e._fontSize=r.size,e._fontStyle=r.style,e._fontWeight=r.weight,e._lineHeight=r.lineHeight}function Label(e,t){var i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).translucencyByDistance,r=e.pixelOffsetScaleByDistance,n=e.scaleByDistance,a=e.distanceDisplayCondition;defined(i)&&(i=NearFarScalar.clone(i)),defined(r)&&(r=NearFarScalar.clone(r)),defined(n)&&(n=NearFarScalar.clone(n)),defined(a)&&(a=DistanceDisplayCondition.clone(a)),this._renderedText=void 0,this._text=void 0,this._show=defaultValue(e.show,!0),this._font=defaultValue(e.font,"30px sans-serif"),this._fillColor=Color.clone(defaultValue(e.fillColor,Color.WHITE)),this._outlineColor=Color.clone(defaultValue(e.outlineColor,Color.BLACK)),this._outlineWidth=defaultValue(e.outlineWidth,1),this._showBackground=defaultValue(e.showBackground,!1),this._backgroundColor=Color.clone(defaultValue(e.backgroundColor,defaultBackgroundColor)),this._backgroundPadding=Cartesian2.clone(defaultValue(e.backgroundPadding,defaultBackgroundPadding)),this._style=defaultValue(e.style,LabelStyle$1.FILL),this._verticalOrigin=defaultValue(e.verticalOrigin,VerticalOrigin$1.BASELINE),this._horizontalOrigin=defaultValue(e.horizontalOrigin,HorizontalOrigin$1.LEFT),this._pixelOffset=Cartesian2.clone(defaultValue(e.pixelOffset,Cartesian2.ZERO)),this._eyeOffset=Cartesian3.clone(defaultValue(e.eyeOffset,Cartesian3.ZERO)),this._position=Cartesian3.clone(defaultValue(e.position,Cartesian3.ZERO)),this._scale=defaultValue(e.scale,1),this._id=e.id,this._translucencyByDistance=i,this._pixelOffsetScaleByDistance=r,this._scaleByDistance=n,this._heightReference=defaultValue(e.heightReference,HeightReference$1.NONE),this._distanceDisplayCondition=a,this._disableDepthTestDistance=e.disableDepthTestDistance,this._labelCollection=t,this._glyphs=[],this._backgroundBillboard=void 0,this._batchIndex=void 0,this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0,this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=void 0,this._clusterShow=!0,this.text=defaultValue(e.text,""),this._relativeSize=1,parseFont(this),this._updateClamping()}function convertTextToTypes(e,t){for(var i=/[a-zA-Z0-9]/,r=/[()[\]{}<>]/,n=[],a="",o=textTypes.LTR,s="",l=e.length,c=0;c<l;++c){var u=e.charAt(c),s=t.test(u)?textTypes.RTL:i.test(u)?textTypes.LTR:r.test(u)?textTypes.BRACKETS:textTypes.WEAK;0===c&&(o=s),o===s&&s!==textTypes.BRACKETS?a+=u:(""!==a&&n.push({Type:o,Word:a}),o=s,a=u)}return n.push({Type:s,Word:a}),n}function reverseWord(e){return e.split("").reverse().join("")}function spliceWord(e,t,i){return e.slice(0,t)+i+e.slice(t)}function reverseBrackets(e){switch(e){case"(":return")";case")":return"(";case"[":return"]";case"]":return"[";case"{":return"}";case"}":return"{";case"<":return">";case">":return"<"}}Object.defineProperties(Label.prototype,{show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;for(var t=this._glyphs,i=0,r=t.length;i<r;i++){var n=t[i].billboard;defined(n)&&(n.show=e)}var a=this._backgroundBillboard;defined(a)&&(a.show=e)}}},position:{get:function(){return this._position},set:function(e){var t=this._position;if(!Cartesian3.equals(t,e)){Cartesian3.clone(e,t);for(var i=this._glyphs,r=0,n=i.length;r<n;r++){var a=i[r].billboard;defined(a)&&(a.position=e)}t=this._backgroundBillboard;defined(t)&&(t.position=e),this._updateClamping()}}},heightReference:{get:function(){return this._heightReference},set:function(e){if(e!==this._heightReference){this._heightReference=e;for(var t=this._glyphs,i=0,r=t.length;i<r;i++){var n=t[i].billboard;defined(n)&&(n.heightReference=e)}var a=this._backgroundBillboard;defined(a)&&(a.heightReference=e),repositionAllGlyphs(this),this._updateClamping()}}},text:{get:function(){return this._text},set:function(e){this._text!==e&&(this._text=e,this._renderedText=Label.enableRightToLeftDetection?reverseRtl(e):e,rebindAllGlyphs(this))}},font:{get:function(){return this._font},set:function(e){this._font!==e&&(this._font=e,rebindAllGlyphs(this),parseFont(this))}},fillColor:{get:function(){return this._fillColor},set:function(e){var t=this._fillColor;Color.equals(t,e)||(Color.clone(e,t),rebindAllGlyphs(this))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){var t=this._outlineColor;Color.equals(t,e)||(Color.clone(e,t),rebindAllGlyphs(this))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,rebindAllGlyphs(this))}},showBackground:{get:function(){return this._showBackground},set:function(e){this._showBackground!==e&&(this._showBackground=e,rebindAllGlyphs(this))}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){var t=this._backgroundColor;Color.equals(t,e)||(Color.clone(e,t),defined(e=this._backgroundBillboard)&&(e.color=t))}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){var t=this._backgroundPadding;Cartesian2.equals(t,e)||(Cartesian2.clone(e,t),repositionAllGlyphs(this))}},style:{get:function(){return this._style},set:function(e){this._style!==e&&(this._style=e,rebindAllGlyphs(this))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){var t=this._pixelOffset;if(!Cartesian2.equals(t,e)){Cartesian2.clone(e,t);for(var i=this._glyphs,r=0,n=i.length;r<n;r++){var a=i[r];defined(a.billboard)&&(a.billboard.pixelOffset=e)}t=this._backgroundBillboard;defined(t)&&(t.pixelOffset=e)}}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){var t=this._translucencyByDistance;if(!NearFarScalar.equals(t,e)){this._translucencyByDistance=NearFarScalar.clone(e,t);for(var i=this._glyphs,r=0,n=i.length;r<n;r++){var a=i[r];defined(a.billboard)&&(a.billboard.translucencyByDistance=e)}t=this._backgroundBillboard;defined(t)&&(t.translucencyByDistance=e)}}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){var t=this._pixelOffsetScaleByDistance;if(!NearFarScalar.equals(t,e)){this._pixelOffsetScaleByDistance=NearFarScalar.clone(e,t);for(var i=this._glyphs,r=0,n=i.length;r<n;r++){var a=i[r];defined(a.billboard)&&(a.billboard.pixelOffsetScaleByDistance=e)}t=this._backgroundBillboard;defined(t)&&(t.pixelOffsetScaleByDistance=e)}}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){var t=this._scaleByDistance;if(!NearFarScalar.equals(t,e)){this._scaleByDistance=NearFarScalar.clone(e,t);for(var i=this._glyphs,r=0,n=i.length;r<n;r++){var a=i[r];defined(a.billboard)&&(a.billboard.scaleByDistance=e)}t=this._backgroundBillboard;defined(t)&&(t.scaleByDistance=e)}}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){var t=this._eyeOffset;if(!Cartesian3.equals(t,e)){Cartesian3.clone(e,t);for(var i=this._glyphs,r=0,n=i.length;r<n;r++){var a=i[r];defined(a.billboard)&&(a.billboard.eyeOffset=e)}t=this._backgroundBillboard;defined(t)&&(t.eyeOffset=e)}}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,repositionAllGlyphs(this))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){if(this._verticalOrigin!==e){this._verticalOrigin=e;for(var t=this._glyphs,i=0,r=t.length;i<r;i++){var n=t[i];defined(n.billboard)&&(n.billboard.verticalOrigin=e)}var a=this._backgroundBillboard;defined(a)&&(a.verticalOrigin=e),repositionAllGlyphs(this)}}},scale:{get:function(){return this._scale},set:function(e){if(this._scale!==e){this._scale=e;for(var t=this._glyphs,i=0,r=t.length;i<r;i++){var n=t[i];defined(n.billboard)&&(n.billboard.scale=e*this._relativeSize)}var a=this._backgroundBillboard;defined(a)&&(a.scale=e*this._relativeSize),repositionAllGlyphs(this)}}},totalScale:{get:function(){return this._scale*this._relativeSize}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(!DistanceDisplayCondition.equals(e,this._distanceDisplayCondition)){this._distanceDisplayCondition=DistanceDisplayCondition.clone(e,this._distanceDisplayCondition);for(var t=this._glyphs,i=0,r=t.length;i<r;i++){var n=t[i];defined(n.billboard)&&(n.billboard.distanceDisplayCondition=e)}var a=this._backgroundBillboard;defined(a)&&(a.distanceDisplayCondition=e)}}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(this._disableDepthTestDistance!==e){this._disableDepthTestDistance=e;for(var t=this._glyphs,i=0,r=t.length;i<r;i++){var n=t[i];defined(n.billboard)&&(n.billboard.disableDepthTestDistance=e)}var a=this._backgroundBillboard;defined(a)&&(a.disableDepthTestDistance=e)}}},id:{get:function(){return this._id},set:function(e){if(this._id!==e){this._id=e;for(var t=this._glyphs,i=0,r=t.length;i<r;i++){var n=t[i];defined(n.billboard)&&(n.billboard.id=e)}var a=this._backgroundBillboard;defined(a)&&(a.id=e)}}},pickId:{get:function(){if(0!==this._glyphs.length&&defined(this._glyphs[0].billboard))return this._glyphs[0].billboard.pickId}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=Cartesian3.clone(e,this._actualClampedPosition);for(var t=this._glyphs,i=0,r=t.length;i<r;i++){var n=t[i];defined(n.billboard)&&(n.billboard._clampedPosition=e)}var a=this._backgroundBillboard;defined(a)&&(a._clampedPosition=e)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){if(this._clusterShow!==e){this._clusterShow=e;for(var t=this._glyphs,i=0,r=t.length;i<r;i++){var n=t[i];defined(n.billboard)&&(n.billboard.clusterShow=e)}var a=this._backgroundBillboard;defined(a)&&(a.clusterShow=e)}}}}),Label.prototype._updateClamping=function(){Billboard._updateClamping(this._labelCollection,this)},Label.prototype.computeScreenSpacePosition=function(e,t){defined(t)||(t=new Cartesian2);var i=this._labelCollection.modelMatrix,r=defined(this._actualClampedPosition)?this._actualClampedPosition:this._position;return Billboard._computeScreenSpacePosition(i,r,this._eyeOffset,this._pixelOffset,e,t)},Label.getScreenSpaceBoundingBox=function(e,t,i){var r=0,n=0,a=0,o=0,s=e.totalScale,l=e._backgroundBillboard;if(defined(l))r=t.x+l._translate.x,n=t.y-l._translate.y,a=l.width*s,o=l.height*s,e.verticalOrigin===VerticalOrigin$1.BOTTOM||e.verticalOrigin===VerticalOrigin$1.BASELINE?n-=o:e.verticalOrigin===VerticalOrigin$1.CENTER&&(n-=.5*o);else{r=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;for(var c=0,u=0,d=e._glyphs,h=d.length,p=0;p<h;++p){var m,f,g=d[p],_=g.billboard;defined(_)&&(m=t.x+_._translate.x,f=t.y-_._translate.y,_=g.dimensions.width*s,g=g.dimensions.height*s,e.verticalOrigin===VerticalOrigin$1.BOTTOM||e.verticalOrigin===VerticalOrigin$1.BASELINE?f-=g:e.verticalOrigin===VerticalOrigin$1.CENTER&&(f-=.5*g),e._verticalOrigin===VerticalOrigin$1.TOP?f+=SDFSettings$1.PADDING*s:e._verticalOrigin!==VerticalOrigin$1.BOTTOM&&e._verticalOrigin!==VerticalOrigin$1.BASELINE||(f-=SDFSettings$1.PADDING*s),r=Math.min(r,m),n=Math.min(n,f),c=Math.max(c,m+_),u=Math.max(u,f+g))}a=c-r,o=u-n}return defined(i)||(i=new BoundingRectangle),i.x=r,i.y=n,i.width=a,i.height=o,i},Label.prototype.equals=function(e){return this===e||defined(e)&&this._show===e._show&&this._scale===e._scale&&this._outlineWidth===e._outlineWidth&&this._showBackground===e._showBackground&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&this._renderedText===e._renderedText&&this._font===e._font&&Cartesian3.equals(this._position,e._position)&&Color.equals(this._fillColor,e._fillColor)&&Color.equals(this._outlineColor,e._outlineColor)&&Color.equals(this._backgroundColor,e._backgroundColor)&&Cartesian2.equals(this._backgroundPadding,e._backgroundPadding)&&Cartesian2.equals(this._pixelOffset,e._pixelOffset)&&Cartesian3.equals(this._eyeOffset,e._eyeOffset)&&NearFarScalar.equals(this._translucencyByDistance,e._translucencyByDistance)&&NearFarScalar.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&NearFarScalar.equals(this._scaleByDistance,e._scaleByDistance)&&DistanceDisplayCondition.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._id===e._id},Label.prototype.isDestroyed=function(){return!1},Label.enableRightToLeftDetection=!1;var hebrew="א-ת",arabic="؀-ۿݐ-ݿࢠ-ࣿ",rtlChars=new RegExp("["+hebrew+arabic+"]");function reverseRtl(e){for(var t=e.split("\n"),i="",r=0;r<t.length;r++){for(var n=t[r],a=rtlChars.test(n.charAt(0)),o=convertTextToTypes(n,rtlChars),s=0,l="",c=0;c<o.length;++c){var u=o[c],d=(u.Type===textTypes.BRACKETS?reverseBrackets:reverseWord)(u.Word);a?u.Type===textTypes.RTL?(l=d+l,s=0):u.Type===textTypes.LTR?(l=spliceWord(l,s,u.Word),s+=u.Word.length):u.Type!==textTypes.WEAK&&u.Type!==textTypes.BRACKETS||(u.Type===textTypes.WEAK&&o[c-1].Type===textTypes.BRACKETS?l=d+l:o[c-1].Type===textTypes.RTL?(l=d+l,s=0):o.length>c+1?o[c+1].Type===textTypes.RTL?(l=d+l,s=0):(l=spliceWord(l,s,u.Word),s+=u.Word.length):l=spliceWord(l,0,d)):u.Type===textTypes.RTL?l=spliceWord(l,s,d):u.Type===textTypes.LTR?s=(l+=u.Word).length:u.Type!==textTypes.WEAK&&u.Type!==textTypes.BRACKETS||(0<c&&o[c-1].Type===textTypes.RTL?o.length>c+1?o[c+1].Type===textTypes.RTL?l=spliceWord(l,s,d):s=(l+=u.Word).length:l+=u.Word:s=(l+=u.Word).length)}i+=l,r<t.length-1&&(i+="\n")}return i}function GraphemeSplitter(){var h=0,p=1,m=2,f=3,g=4,_=5,y=6,C=7,v=8,S=9,T=10,b=12,x=13,E=14,P=15,A=16,w=17,D=0,M=1,I=2,R=3,O=4;function L(e,t){void 0===t&&(t=0);var i=e.charCodeAt(t);if(55296<=i&&i<=56319&&t<e.length-1){var r=i;return 56320<=(n=e.charCodeAt(t+1))&&n<=57343?1024*(r-55296)+(n-56320)+65536:r}if(56320<=i&&i<=57343&&1<=t){var n=i;return 55296<=(r=e.charCodeAt(t-1))&&r<=56319?1024*(r-55296)+(n-56320)+65536:n}return i}function F(e){return 1536<=e&&e<=1541||1757==e||1807==e||2274==e||3406==e||69821==e||70082<=e&&e<=70083||72250==e||72326<=e&&e<=72329||73030==e?b:13==e?h:10==e?p:0<=e&&e<=9||11<=e&&e<=12||14<=e&&e<=31||127<=e&&e<=159||173==e||1564==e||6158==e||8203==e||8206<=e&&e<=8207||8232==e||8233==e||8234<=e&&e<=8238||8288<=e&&e<=8292||8293==e||8294<=e&&e<=8303||55296<=e&&e<=57343||65279==e||65520<=e&&e<=65528||65529<=e&&e<=65531||113824<=e&&e<=113827||119155<=e&&e<=119162||917504==e||917505==e||917506<=e&&e<=917535||917632<=e&&e<=917759||918e3<=e&&e<=921599?m:768<=e&&e<=879||1155<=e&&e<=1159||1160<=e&&e<=1161||1425<=e&&e<=1469||1471==e||1473<=e&&e<=1474||1476<=e&&e<=1477||1479==e||1552<=e&&e<=1562||1611<=e&&e<=1631||1648==e||1750<=e&&e<=1756||1759<=e&&e<=1764||1767<=e&&e<=1768||1770<=e&&e<=1773||1809==e||1840<=e&&e<=1866||1958<=e&&e<=1968||2027<=e&&e<=2035||2070<=e&&e<=2073||2075<=e&&e<=2083||2085<=e&&e<=2087||2089<=e&&e<=2093||2137<=e&&e<=2139||2260<=e&&e<=2273||2275<=e&&e<=2306||2362==e||2364==e||2369<=e&&e<=2376||2381==e||2385<=e&&e<=2391||2402<=e&&e<=2403||2433==e||2492==e||2494==e||2497<=e&&e<=2500||2509==e||2519==e||2530<=e&&e<=2531||2561<=e&&e<=2562||2620==e||2625<=e&&e<=2626||2631<=e&&e<=2632||2635<=e&&e<=2637||2641==e||2672<=e&&e<=2673||2677==e||2689<=e&&e<=2690||2748==e||2753<=e&&e<=2757||2759<=e&&e<=2760||2765==e||2786<=e&&e<=2787||2810<=e&&e<=2815||2817==e||2876==e||2878==e||2879==e||2881<=e&&e<=2884||2893==e||2902==e||2903==e||2914<=e&&e<=2915||2946==e||3006==e||3008==e||3021==e||3031==e||3072==e||3134<=e&&e<=3136||3142<=e&&e<=3144||3146<=e&&e<=3149||3157<=e&&e<=3158||3170<=e&&e<=3171||3201==e||3260==e||3263==e||3266==e||3270==e||3276<=e&&e<=3277||3285<=e&&e<=3286||3298<=e&&e<=3299||3328<=e&&e<=3329||3387<=e&&e<=3388||3390==e||3393<=e&&e<=3396||3405==e||3415==e||3426<=e&&e<=3427||3530==e||3535==e||3538<=e&&e<=3540||3542==e||3551==e||3633==e||3636<=e&&e<=3642||3655<=e&&e<=3662||3761==e||3764<=e&&e<=3769||3771<=e&&e<=3772||3784<=e&&e<=3789||3864<=e&&e<=3865||3893==e||3895==e||3897==e||3953<=e&&e<=3966||3968<=e&&e<=3972||3974<=e&&e<=3975||3981<=e&&e<=3991||3993<=e&&e<=4028||4038==e||4141<=e&&e<=4144||4146<=e&&e<=4151||4153<=e&&e<=4154||4157<=e&&e<=4158||4184<=e&&e<=4185||4190<=e&&e<=4192||4209<=e&&e<=4212||4226==e||4229<=e&&e<=4230||4237==e||4253==e||4957<=e&&e<=4959||5906<=e&&e<=5908||5938<=e&&e<=5940||5970<=e&&e<=5971||6002<=e&&e<=6003||6068<=e&&e<=6069||6071<=e&&e<=6077||6086==e||6089<=e&&e<=6099||6109==e||6155<=e&&e<=6157||6277<=e&&e<=6278||6313==e||6432<=e&&e<=6434||6439<=e&&e<=6440||6450==e||6457<=e&&e<=6459||6679<=e&&e<=6680||6683==e||6742==e||6744<=e&&e<=6750||6752==e||6754==e||6757<=e&&e<=6764||6771<=e&&e<=6780||6783==e||6832<=e&&e<=6845||6846==e||6912<=e&&e<=6915||6964==e||6966<=e&&e<=6970||6972==e||6978==e||7019<=e&&e<=7027||7040<=e&&e<=7041||7074<=e&&e<=7077||7080<=e&&e<=7081||7083<=e&&e<=7085||7142==e||7144<=e&&e<=7145||7149==e||7151<=e&&e<=7153||7212<=e&&e<=7219||7222<=e&&e<=7223||7376<=e&&e<=7378||7380<=e&&e<=7392||7394<=e&&e<=7400||7405==e||7412==e||7416<=e&&e<=7417||7616<=e&&e<=7673||7675<=e&&e<=7679||8204==e||8400<=e&&e<=8412||8413<=e&&e<=8416||8417==e||8418<=e&&e<=8420||8421<=e&&e<=8432||11503<=e&&e<=11505||11647==e||11744<=e&&e<=11775||12330<=e&&e<=12333||12334<=e&&e<=12335||12441<=e&&e<=12442||42607==e||42608<=e&&e<=42610||42612<=e&&e<=42621||42654<=e&&e<=42655||42736<=e&&e<=42737||43010==e||43014==e||43019==e||43045<=e&&e<=43046||43204<=e&&e<=43205||43232<=e&&e<=43249||43302<=e&&e<=43309||43335<=e&&e<=43345||43392<=e&&e<=43394||43443==e||43446<=e&&e<=43449||43452==e||43493==e||43561<=e&&e<=43566||43569<=e&&e<=43570||43573<=e&&e<=43574||43587==e||43596==e||43644==e||43696==e||43698<=e&&e<=43700||43703<=e&&e<=43704||43710<=e&&e<=43711||43713==e||43756<=e&&e<=43757||43766==e||44005==e||44008==e||44013==e||64286==e||65024<=e&&e<=65039||65056<=e&&e<=65071||65438<=e&&e<=65439||66045==e||66272==e||66422<=e&&e<=66426||68097<=e&&e<=68099||68101<=e&&e<=68102||68108<=e&&e<=68111||68152<=e&&e<=68154||68159==e||68325<=e&&e<=68326||69633==e||69688<=e&&e<=69702||69759<=e&&e<=69761||69811<=e&&e<=69814||69817<=e&&e<=69818||69888<=e&&e<=69890||69927<=e&&e<=69931||69933<=e&&e<=69940||70003==e||70016<=e&&e<=70017||70070<=e&&e<=70078||70090<=e&&e<=70092||70191<=e&&e<=70193||70196==e||70198<=e&&e<=70199||70206==e||70367==e||70371<=e&&e<=70378||70400<=e&&e<=70401||70460==e||70462==e||70464==e||70487==e||70502<=e&&e<=70508||70512<=e&&e<=70516||70712<=e&&e<=70719||70722<=e&&e<=70724||70726==e||70832==e||70835<=e&&e<=70840||70842==e||70845==e||70847<=e&&e<=70848||70850<=e&&e<=70851||71087==e||71090<=e&&e<=71093||71100<=e&&e<=71101||71103<=e&&e<=71104||71132<=e&&e<=71133||71219<=e&&e<=71226||71229==e||71231<=e&&e<=71232||71339==e||71341==e||71344<=e&&e<=71349||71351==e||71453<=e&&e<=71455||71458<=e&&e<=71461||71463<=e&&e<=71467||72193<=e&&e<=72198||72201<=e&&e<=72202||72243<=e&&e<=72248||72251<=e&&e<=72254||72263==e||72273<=e&&e<=72278||72281<=e&&e<=72283||72330<=e&&e<=72342||72344<=e&&e<=72345||72752<=e&&e<=72758||72760<=e&&e<=72765||72767==e||72850<=e&&e<=72871||72874<=e&&e<=72880||72882<=e&&e<=72883||72885<=e&&e<=72886||73009<=e&&e<=73014||73018==e||73020<=e&&e<=73021||73023<=e&&e<=73029||73031==e||92912<=e&&e<=92916||92976<=e&&e<=92982||94095<=e&&e<=94098||113821<=e&&e<=113822||119141==e||119143<=e&&e<=119145||119150<=e&&e<=119154||119163<=e&&e<=119170||119173<=e&&e<=119179||119210<=e&&e<=119213||119362<=e&&e<=119364||121344<=e&&e<=121398||121403<=e&&e<=121452||121461==e||121476==e||121499<=e&&e<=121503||121505<=e&&e<=121519||122880<=e&&e<=122886||122888<=e&&e<=122904||122907<=e&&e<=122913||122915<=e&&e<=122916||122918<=e&&e<=122922||125136<=e&&e<=125142||125252<=e&&e<=125258||917536<=e&&e<=917631||917760<=e&&e<=917999?f:127462<=e&&e<=127487?g:2307==e||2363==e||2366<=e&&e<=2368||2377<=e&&e<=2380||2382<=e&&e<=2383||2434<=e&&e<=2435||2495<=e&&e<=2496||2503<=e&&e<=2504||2507<=e&&e<=2508||2563==e||2622<=e&&e<=2624||2691==e||2750<=e&&e<=2752||2761==e||2763<=e&&e<=2764||2818<=e&&e<=2819||2880==e||2887<=e&&e<=2888||2891<=e&&e<=2892||3007==e||3009<=e&&e<=3010||3014<=e&&e<=3016||3018<=e&&e<=3020||3073<=e&&e<=3075||3137<=e&&e<=3140||3202<=e&&e<=3203||3262==e||3264<=e&&e<=3265||3267<=e&&e<=3268||3271<=e&&e<=3272||3274<=e&&e<=3275||3330<=e&&e<=3331||3391<=e&&e<=3392||3398<=e&&e<=3400||3402<=e&&e<=3404||3458<=e&&e<=3459||3536<=e&&e<=3537||3544<=e&&e<=3550||3570<=e&&e<=3571||3635==e||3763==e||3902<=e&&e<=3903||3967==e||4145==e||4155<=e&&e<=4156||4182<=e&&e<=4183||4228==e||6070==e||6078<=e&&e<=6085||6087<=e&&e<=6088||6435<=e&&e<=6438||6441<=e&&e<=6443||6448<=e&&e<=6449||6451<=e&&e<=6456||6681<=e&&e<=6682||6741==e||6743==e||6765<=e&&e<=6770||6916==e||6965==e||6971==e||6973<=e&&e<=6977||6979<=e&&e<=6980||7042==e||7073==e||7078<=e&&e<=7079||7082==e||7143==e||7146<=e&&e<=7148||7150==e||7154<=e&&e<=7155||7204<=e&&e<=7211||7220<=e&&e<=7221||7393==e||7410<=e&&e<=7411||7415==e||43043<=e&&e<=43044||43047==e||43136<=e&&e<=43137||43188<=e&&e<=43203||43346<=e&&e<=43347||43395==e||43444<=e&&e<=43445||43450<=e&&e<=43451||43453<=e&&e<=43456||43567<=e&&e<=43568||43571<=e&&e<=43572||43597==e||43755==e||43758<=e&&e<=43759||43765==e||44003<=e&&e<=44004||44006<=e&&e<=44007||44009<=e&&e<=44010||44012==e||69632==e||69634==e||69762==e||69808<=e&&e<=69810||69815<=e&&e<=69816||69932==e||70018==e||70067<=e&&e<=70069||70079<=e&&e<=70080||70188<=e&&e<=70190||70194<=e&&e<=70195||70197==e||70368<=e&&e<=70370||70402<=e&&e<=70403||70463==e||70465<=e&&e<=70468||70471<=e&&e<=70472||70475<=e&&e<=70477||70498<=e&&e<=70499||70709<=e&&e<=70711||70720<=e&&e<=70721||70725==e||70833<=e&&e<=70834||70841==e||70843<=e&&e<=70844||70846==e||70849==e||71088<=e&&e<=71089||71096<=e&&e<=71099||71102==e||71216<=e&&e<=71218||71227<=e&&e<=71228||71230==e||71340==e||71342<=e&&e<=71343||71350==e||71456<=e&&e<=71457||71462==e||72199<=e&&e<=72200||72249==e||72279<=e&&e<=72280||72343==e||72751==e||72766==e||72873==e||72881==e||72884==e||94033<=e&&e<=94078||119142==e||119149==e?_:4352<=e&&e<=4447||43360<=e&&e<=43388?y:4448<=e&&e<=4519||55216<=e&&e<=55238?C:4520<=e&&e<=4607||55243<=e&&e<=55291?v:44032==e||44060==e||44088==e||44116==e||44144==e||44172==e||44200==e||44228==e||44256==e||44284==e||44312==e||44340==e||44368==e||44396==e||44424==e||44452==e||44480==e||44508==e||44536==e||44564==e||44592==e||44620==e||44648==e||44676==e||44704==e||44732==e||44760==e||44788==e||44816==e||44844==e||44872==e||44900==e||44928==e||44956==e||44984==e||45012==e||45040==e||45068==e||45096==e||45124==e||45152==e||45180==e||45208==e||45236==e||45264==e||45292==e||45320==e||45348==e||45376==e||45404==e||45432==e||45460==e||45488==e||45516==e||45544==e||45572==e||45600==e||45628==e||45656==e||45684==e||45712==e||45740==e||45768==e||45796==e||45824==e||45852==e||45880==e||45908==e||45936==e||45964==e||45992==e||46020==e||46048==e||46076==e||46104==e||46132==e||46160==e||46188==e||46216==e||46244==e||46272==e||46300==e||46328==e||46356==e||46384==e||46412==e||46440==e||46468==e||46496==e||46524==e||46552==e||46580==e||46608==e||46636==e||46664==e||46692==e||46720==e||46748==e||46776==e||46804==e||46832==e||46860==e||46888==e||46916==e||46944==e||46972==e||47e3==e||47028==e||47056==e||47084==e||47112==e||47140==e||47168==e||47196==e||47224==e||47252==e||47280==e||47308==e||47336==e||47364==e||47392==e||47420==e||47448==e||47476==e||47504==e||47532==e||47560==e||47588==e||47616==e||47644==e||47672==e||47700==e||47728==e||47756==e||47784==e||47812==e||47840==e||47868==e||47896==e||47924==e||47952==e||47980==e||48008==e||48036==e||48064==e||48092==e||48120==e||48148==e||48176==e||48204==e||48232==e||48260==e||48288==e||48316==e||48344==e||48372==e||48400==e||48428==e||48456==e||48484==e||48512==e||48540==e||48568==e||48596==e||48624==e||48652==e||48680==e||48708==e||48736==e||48764==e||48792==e||48820==e||48848==e||48876==e||48904==e||48932==e||48960==e||48988==e||49016==e||49044==e||49072==e||49100==e||49128==e||49156==e||49184==e||49212==e||49240==e||49268==e||49296==e||49324==e||49352==e||49380==e||49408==e||49436==e||49464==e||49492==e||49520==e||49548==e||49576==e||49604==e||49632==e||49660==e||49688==e||49716==e||49744==e||49772==e||49800==e||49828==e||49856==e||49884==e||49912==e||49940==e||49968==e||49996==e||50024==e||50052==e||50080==e||50108==e||50136==e||50164==e||50192==e||50220==e||50248==e||50276==e||50304==e||50332==e||50360==e||50388==e||50416==e||50444==e||50472==e||50500==e||50528==e||50556==e||50584==e||50612==e||50640==e||50668==e||50696==e||50724==e||50752==e||50780==e||50808==e||50836==e||50864==e||50892==e||50920==e||50948==e||50976==e||51004==e||51032==e||51060==e||51088==e||51116==e||51144==e||51172==e||51200==e||51228==e||51256==e||51284==e||51312==e||51340==e||51368==e||51396==e||51424==e||51452==e||51480==e||51508==e||51536==e||51564==e||51592==e||51620==e||51648==e||51676==e||51704==e||51732==e||51760==e||51788==e||51816==e||51844==e||51872==e||51900==e||51928==e||51956==e||51984==e||52012==e||52040==e||52068==e||52096==e||52124==e||52152==e||52180==e||52208==e||52236==e||52264==e||52292==e||52320==e||52348==e||52376==e||52404==e||52432==e||52460==e||52488==e||52516==e||52544==e||52572==e||52600==e||52628==e||52656==e||52684==e||52712==e||52740==e||52768==e||52796==e||52824==e||52852==e||52880==e||52908==e||52936==e||52964==e||52992==e||53020==e||53048==e||53076==e||53104==e||53132==e||53160==e||53188==e||53216==e||53244==e||53272==e||53300==e||53328==e||53356==e||53384==e||53412==e||53440==e||53468==e||53496==e||53524==e||53552==e||53580==e||53608==e||53636==e||53664==e||53692==e||53720==e||53748==e||53776==e||53804==e||53832==e||53860==e||53888==e||53916==e||53944==e||53972==e||54e3==e||54028==e||54056==e||54084==e||54112==e||54140==e||54168==e||54196==e||54224==e||54252==e||54280==e||54308==e||54336==e||54364==e||54392==e||54420==e||54448==e||54476==e||54504==e||54532==e||54560==e||54588==e||54616==e||54644==e||54672==e||54700==e||54728==e||54756==e||54784==e||54812==e||54840==e||54868==e||54896==e||54924==e||54952==e||54980==e||55008==e||55036==e||55064==e||55092==e||55120==e||55148==e||55176==e?S:44033<=e&&e<=44059||44061<=e&&e<=44087||44089<=e&&e<=44115||44117<=e&&e<=44143||44145<=e&&e<=44171||44173<=e&&e<=44199||44201<=e&&e<=44227||44229<=e&&e<=44255||44257<=e&&e<=44283||44285<=e&&e<=44311||44313<=e&&e<=44339||44341<=e&&e<=44367||44369<=e&&e<=44395||44397<=e&&e<=44423||44425<=e&&e<=44451||44453<=e&&e<=44479||44481<=e&&e<=44507||44509<=e&&e<=44535||44537<=e&&e<=44563||44565<=e&&e<=44591||44593<=e&&e<=44619||44621<=e&&e<=44647||44649<=e&&e<=44675||44677<=e&&e<=44703||44705<=e&&e<=44731||44733<=e&&e<=44759||44761<=e&&e<=44787||44789<=e&&e<=44815||44817<=e&&e<=44843||44845<=e&&e<=44871||44873<=e&&e<=44899||44901<=e&&e<=44927||44929<=e&&e<=44955||44957<=e&&e<=44983||44985<=e&&e<=45011||45013<=e&&e<=45039||45041<=e&&e<=45067||45069<=e&&e<=45095||45097<=e&&e<=45123||45125<=e&&e<=45151||45153<=e&&e<=45179||45181<=e&&e<=45207||45209<=e&&e<=45235||45237<=e&&e<=45263||45265<=e&&e<=45291||45293<=e&&e<=45319||45321<=e&&e<=45347||45349<=e&&e<=45375||45377<=e&&e<=45403||45405<=e&&e<=45431||45433<=e&&e<=45459||45461<=e&&e<=45487||45489<=e&&e<=45515||45517<=e&&e<=45543||45545<=e&&e<=45571||45573<=e&&e<=45599||45601<=e&&e<=45627||45629<=e&&e<=45655||45657<=e&&e<=45683||45685<=e&&e<=45711||45713<=e&&e<=45739||45741<=e&&e<=45767||45769<=e&&e<=45795||45797<=e&&e<=45823||45825<=e&&e<=45851||45853<=e&&e<=45879||45881<=e&&e<=45907||45909<=e&&e<=45935||45937<=e&&e<=45963||45965<=e&&e<=45991||45993<=e&&e<=46019||46021<=e&&e<=46047||46049<=e&&e<=46075||46077<=e&&e<=46103||46105<=e&&e<=46131||46133<=e&&e<=46159||46161<=e&&e<=46187||46189<=e&&e<=46215||46217<=e&&e<=46243||46245<=e&&e<=46271||46273<=e&&e<=46299||46301<=e&&e<=46327||46329<=e&&e<=46355||46357<=e&&e<=46383||46385<=e&&e<=46411||46413<=e&&e<=46439||46441<=e&&e<=46467||46469<=e&&e<=46495||46497<=e&&e<=46523||46525<=e&&e<=46551||46553<=e&&e<=46579||46581<=e&&e<=46607||46609<=e&&e<=46635||46637<=e&&e<=46663||46665<=e&&e<=46691||46693<=e&&e<=46719||46721<=e&&e<=46747||46749<=e&&e<=46775||46777<=e&&e<=46803||46805<=e&&e<=46831||46833<=e&&e<=46859||46861<=e&&e<=46887||46889<=e&&e<=46915||46917<=e&&e<=46943||46945<=e&&e<=46971||46973<=e&&e<=46999||47001<=e&&e<=47027||47029<=e&&e<=47055||47057<=e&&e<=47083||47085<=e&&e<=47111||47113<=e&&e<=47139||47141<=e&&e<=47167||47169<=e&&e<=47195||47197<=e&&e<=47223||47225<=e&&e<=47251||47253<=e&&e<=47279||47281<=e&&e<=47307||47309<=e&&e<=47335||47337<=e&&e<=47363||47365<=e&&e<=47391||47393<=e&&e<=47419||47421<=e&&e<=47447||47449<=e&&e<=47475||47477<=e&&e<=47503||47505<=e&&e<=47531||47533<=e&&e<=47559||47561<=e&&e<=47587||47589<=e&&e<=47615||47617<=e&&e<=47643||47645<=e&&e<=47671||47673<=e&&e<=47699||47701<=e&&e<=47727||47729<=e&&e<=47755||47757<=e&&e<=47783||47785<=e&&e<=47811||47813<=e&&e<=47839||47841<=e&&e<=47867||47869<=e&&e<=47895||47897<=e&&e<=47923||47925<=e&&e<=47951||47953<=e&&e<=47979||47981<=e&&e<=48007||48009<=e&&e<=48035||48037<=e&&e<=48063||48065<=e&&e<=48091||48093<=e&&e<=48119||48121<=e&&e<=48147||48149<=e&&e<=48175||48177<=e&&e<=48203||48205<=e&&e<=48231||48233<=e&&e<=48259||48261<=e&&e<=48287||48289<=e&&e<=48315||48317<=e&&e<=48343||48345<=e&&e<=48371||48373<=e&&e<=48399||48401<=e&&e<=48427||48429<=e&&e<=48455||48457<=e&&e<=48483||48485<=e&&e<=48511||48513<=e&&e<=48539||48541<=e&&e<=48567||48569<=e&&e<=48595||48597<=e&&e<=48623||48625<=e&&e<=48651||48653<=e&&e<=48679||48681<=e&&e<=48707||48709<=e&&e<=48735||48737<=e&&e<=48763||48765<=e&&e<=48791||48793<=e&&e<=48819||48821<=e&&e<=48847||48849<=e&&e<=48875||48877<=e&&e<=48903||48905<=e&&e<=48931||48933<=e&&e<=48959||48961<=e&&e<=48987||48989<=e&&e<=49015||49017<=e&&e<=49043||49045<=e&&e<=49071||49073<=e&&e<=49099||49101<=e&&e<=49127||49129<=e&&e<=49155||49157<=e&&e<=49183||49185<=e&&e<=49211||49213<=e&&e<=49239||49241<=e&&e<=49267||49269<=e&&e<=49295||49297<=e&&e<=49323||49325<=e&&e<=49351||49353<=e&&e<=49379||49381<=e&&e<=49407||49409<=e&&e<=49435||49437<=e&&e<=49463||49465<=e&&e<=49491||49493<=e&&e<=49519||49521<=e&&e<=49547||49549<=e&&e<=49575||49577<=e&&e<=49603||49605<=e&&e<=49631||49633<=e&&e<=49659||49661<=e&&e<=49687||49689<=e&&e<=49715||49717<=e&&e<=49743||49745<=e&&e<=49771||49773<=e&&e<=49799||49801<=e&&e<=49827||49829<=e&&e<=49855||49857<=e&&e<=49883||49885<=e&&e<=49911||49913<=e&&e<=49939||49941<=e&&e<=49967||49969<=e&&e<=49995||49997<=e&&e<=50023||50025<=e&&e<=50051||50053<=e&&e<=50079||50081<=e&&e<=50107||50109<=e&&e<=50135||50137<=e&&e<=50163||50165<=e&&e<=50191||50193<=e&&e<=50219||50221<=e&&e<=50247||50249<=e&&e<=50275||50277<=e&&e<=50303||50305<=e&&e<=50331||50333<=e&&e<=50359||50361<=e&&e<=50387||50389<=e&&e<=50415||50417<=e&&e<=50443||50445<=e&&e<=50471||50473<=e&&e<=50499||50501<=e&&e<=50527||50529<=e&&e<=50555||50557<=e&&e<=50583||50585<=e&&e<=50611||50613<=e&&e<=50639||50641<=e&&e<=50667||50669<=e&&e<=50695||50697<=e&&e<=50723||50725<=e&&e<=50751||50753<=e&&e<=50779||50781<=e&&e<=50807||50809<=e&&e<=50835||50837<=e&&e<=50863||50865<=e&&e<=50891||50893<=e&&e<=50919||50921<=e&&e<=50947||50949<=e&&e<=50975||50977<=e&&e<=51003||51005<=e&&e<=51031||51033<=e&&e<=51059||51061<=e&&e<=51087||51089<=e&&e<=51115||51117<=e&&e<=51143||51145<=e&&e<=51171||51173<=e&&e<=51199||51201<=e&&e<=51227||51229<=e&&e<=51255||51257<=e&&e<=51283||51285<=e&&e<=51311||51313<=e&&e<=51339||51341<=e&&e<=51367||51369<=e&&e<=51395||51397<=e&&e<=51423||51425<=e&&e<=51451||51453<=e&&e<=51479||51481<=e&&e<=51507||51509<=e&&e<=51535||51537<=e&&e<=51563||51565<=e&&e<=51591||51593<=e&&e<=51619||51621<=e&&e<=51647||51649<=e&&e<=51675||51677<=e&&e<=51703||51705<=e&&e<=51731||51733<=e&&e<=51759||51761<=e&&e<=51787||51789<=e&&e<=51815||51817<=e&&e<=51843||51845<=e&&e<=51871||51873<=e&&e<=51899||51901<=e&&e<=51927||51929<=e&&e<=51955||51957<=e&&e<=51983||51985<=e&&e<=52011||52013<=e&&e<=52039||52041<=e&&e<=52067||52069<=e&&e<=52095||52097<=e&&e<=52123||52125<=e&&e<=52151||52153<=e&&e<=52179||52181<=e&&e<=52207||52209<=e&&e<=52235||52237<=e&&e<=52263||52265<=e&&e<=52291||52293<=e&&e<=52319||52321<=e&&e<=52347||52349<=e&&e<=52375||52377<=e&&e<=52403||52405<=e&&e<=52431||52433<=e&&e<=52459||52461<=e&&e<=52487||52489<=e&&e<=52515||52517<=e&&e<=52543||52545<=e&&e<=52571||52573<=e&&e<=52599||52601<=e&&e<=52627||52629<=e&&e<=52655||52657<=e&&e<=52683||52685<=e&&e<=52711||52713<=e&&e<=52739||52741<=e&&e<=52767||52769<=e&&e<=52795||52797<=e&&e<=52823||52825<=e&&e<=52851||52853<=e&&e<=52879||52881<=e&&e<=52907||52909<=e&&e<=52935||52937<=e&&e<=52963||52965<=e&&e<=52991||52993<=e&&e<=53019||53021<=e&&e<=53047||53049<=e&&e<=53075||53077<=e&&e<=53103||53105<=e&&e<=53131||53133<=e&&e<=53159||53161<=e&&e<=53187||53189<=e&&e<=53215||53217<=e&&e<=53243||53245<=e&&e<=53271||53273<=e&&e<=53299||53301<=e&&e<=53327||53329<=e&&e<=53355||53357<=e&&e<=53383||53385<=e&&e<=53411||53413<=e&&e<=53439||53441<=e&&e<=53467||53469<=e&&e<=53495||53497<=e&&e<=53523||53525<=e&&e<=53551||53553<=e&&e<=53579||53581<=e&&e<=53607||53609<=e&&e<=53635||53637<=e&&e<=53663||53665<=e&&e<=53691||53693<=e&&e<=53719||53721<=e&&e<=53747||53749<=e&&e<=53775||53777<=e&&e<=53803||53805<=e&&e<=53831||53833<=e&&e<=53859||53861<=e&&e<=53887||53889<=e&&e<=53915||53917<=e&&e<=53943||53945<=e&&e<=53971||53973<=e&&e<=53999||54001<=e&&e<=54027||54029<=e&&e<=54055||54057<=e&&e<=54083||54085<=e&&e<=54111||54113<=e&&e<=54139||54141<=e&&e<=54167||54169<=e&&e<=54195||54197<=e&&e<=54223||54225<=e&&e<=54251||54253<=e&&e<=54279||54281<=e&&e<=54307||54309<=e&&e<=54335||54337<=e&&e<=54363||54365<=e&&e<=54391||54393<=e&&e<=54419||54421<=e&&e<=54447||54449<=e&&e<=54475||54477<=e&&e<=54503||54505<=e&&e<=54531||54533<=e&&e<=54559||54561<=e&&e<=54587||54589<=e&&e<=54615||54617<=e&&e<=54643||54645<=e&&e<=54671||54673<=e&&e<=54699||54701<=e&&e<=54727||54729<=e&&e<=54755||54757<=e&&e<=54783||54785<=e&&e<=54811||54813<=e&&e<=54839||54841<=e&&e<=54867||54869<=e&&e<=54895||54897<=e&&e<=54923||54925<=e&&e<=54951||54953<=e&&e<=54979||54981<=e&&e<=55007||55009<=e&&e<=55035||55037<=e&&e<=55063||55065<=e&&e<=55091||55093<=e&&e<=55119||55121<=e&&e<=55147||55149<=e&&e<=55175||55177<=e&&e<=55203?T:9757==e||9977==e||9994<=e&&e<=9997||127877==e||127938<=e&&e<=127940||127943==e||127946<=e&&e<=127948||128066<=e&&e<=128067||128070<=e&&e<=128080||128110==e||128112<=e&&e<=128120||128124==e||128129<=e&&e<=128131||128133<=e&&e<=128135||128170==e||128372<=e&&e<=128373||128378==e||128400==e||128405<=e&&e<=128406||128581<=e&&e<=128583||128587<=e&&e<=128591||128675==e||128692<=e&&e<=128694||128704==e||128716==e||129304<=e&&e<=129308||129310<=e&&e<=129311||129318==e||129328<=e&&e<=129337||129341<=e&&e<=129342||129489<=e&&e<=129501?x:127995<=e&&e<=127999?E:8205==e?P:9792==e||9794==e||9877<=e&&e<=9878||9992==e||10084==e||127752==e||127806==e||127859==e||127891==e||127908==e||127912==e||127979==e||127981==e||128139==e||128187<=e&&e<=128188||128295==e||128300==e||128488==e||128640==e||128658==e?A:128102<=e&&e<=128105?w:11}return this.nextBreak=function(e,t){if(void 0===t&&(t=0),t<0)return 0;if(t>=e.length-1)return e.length;for(var i,r,n,a,o,s,l=F(L(e,t)),c=[],u=t+1;u<e.length;u++)if(s=u-1,!(55296<=(o=e).charCodeAt(s)&&o.charCodeAt(s)<=56319&&56320<=o.charCodeAt(s+1)&&o.charCodeAt(s+1)<=57343)){var d=F(L(e,u));if(i=d,a=n=r=void 0,r=[o=l].concat(s=c).concat([i]),n=r[r.length-2],a=i,1<(i=r.lastIndexOf(E))&&r.slice(1,i).every(function(e){return e==f})&&-1==[f,x,w].indexOf(o)?I:0<(o=r.lastIndexOf(g))&&r.slice(1,o).every(function(e){return e==g})&&-1==[b,g].indexOf(n)?r.filter(function(e){return e==g}).length%2==1?R:O:n==h&&a==p?D:n==m||n==h||n==p?a==E&&s.every(function(e){return e==f})?I:M:a==m||a==h||a==p?M:n==y&&(a==y||a==C||a==S||a==T)||!(n!=S&&n!=C||a!=C&&a!=v)||(n==T||n==v)&&a==v||a==f||a==P||a==_||n==b?D:(o=-1!=r.indexOf(f)?r.lastIndexOf(f)-1:r.length-2,-1!=[x,w].indexOf(r[o])&&r.slice(1+o,-1).every(function(e){return e==f})&&a==E||n==P&&-1!=[A,w].indexOf(a)?D:-1!=s.indexOf(g)?I:n==g&&a==g?D:M))return u;c.push(d)}return e.length},this.splitGraphemes=function(e){for(var t,i=[],r=0;(t=this.nextBreak(e,r))<e.length;)i.push(e.slice(r,t)),r=t;return r<e.length&&i.push(e.slice(r)),i},this.iterateGraphemes=function(i){var r=0,e={next:function(){var e,t;return(t=this.nextBreak(i,r))<i.length?(e=i.slice(r,t),r=t,{value:e,done:!1}):r<i.length?(e=i.slice(r),r=i.length,{value:e,done:!1}):{value:void 0,done:!0}}.bind(this)};return"undefined"!=typeof Symbol&&Symbol.iterator&&(e[Symbol.iterator]=function(){return e}),e},this.countGraphemes=function(e){for(var t,i=0,r=0;(t=this.nextBreak(e,r))<e.length;)r=t,i++;return r<e.length&&i++,i},this}function Glyph(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function GlyphTextureInfo(e,t,i){this.labelCollection=e,this.index=t,this.dimensions=i}var defaultLineSpacingPercent=1.2,whitePixelCanvasId="ID_WHITE_PIXEL",whitePixelSize=new Cartesian2(4,4),whitePixelBoundingRegion=new BoundingRectangle(1,1,1,1);function addWhitePixelCanvas(e,t){var i=document.createElement("canvas");i.width=whitePixelSize.x,i.height=whitePixelSize.y;var r=i.getContext("2d");r.fillStyle="#fff",r.fillRect(0,0,i.width,i.height),e.addImage(whitePixelCanvasId,i).then(function(e){t._whitePixelIndex=e})}var writeTextToCanvasParameters={};function createGlyphCanvas(e,t,i,r,n,a,o){return writeTextToCanvasParameters.font=t,writeTextToCanvasParameters.fillColor=i,writeTextToCanvasParameters.strokeColor=r,writeTextToCanvasParameters.strokeWidth=n,writeTextToCanvasParameters.padding=SDFSettings$1.PADDING,o===VerticalOrigin$1.CENTER?writeTextToCanvasParameters.textBaseline="middle":o===VerticalOrigin$1.TOP?writeTextToCanvasParameters.textBaseline="top":writeTextToCanvasParameters.textBaseline="bottom",writeTextToCanvasParameters.fill=a===LabelStyle$1.FILL||a===LabelStyle$1.FILL_AND_OUTLINE,writeTextToCanvasParameters.stroke=a===LabelStyle$1.OUTLINE||a===LabelStyle$1.FILL_AND_OUTLINE,writeTextToCanvasParameters.backgroundColor=Color.BLACK,writeTextToCanvas(e,writeTextToCanvasParameters)}function unbindGlyph(e,t){t.textureInfo=void 0,t.dimensions=void 0;var i=t.billboard;defined(i)&&(i.show=!1,i.image=void 0,defined(i._removeCallbackFunc)&&(i._removeCallbackFunc(),i._removeCallbackFunc=void 0),e._spareBillboards.push(i),t.billboard=void 0)}function addGlyphToTextureAtlas(e,t,i,r){e.addImage(t,i).then(function(e){r.index=e})}var splitter=new GraphemeSplitter;function rebindAllGlyphs$1(e,t){var i,r=t._renderedText,n=splitter.splitGraphemes(r),a=n.length,o=t._glyphs,s=o.length;if(t._relativeSize=t._fontSize/SDFSettings$1.FONT_SIZE,a<s)for(i=a;i<s;++i)unbindGlyph(e,o[i]);o.length=a;var l=t._showBackground&&0<r.split("\n").join("").length,c=t._backgroundBillboard,r=e._backgroundBillboardCollection;l?(defined(c)||(c=r.add({collection:e,image:whitePixelCanvasId,imageSubRegion:whitePixelBoundingRegion}),t._backgroundBillboard=c),c.color=t._backgroundColor,c.show=t._show,c.position=t._position,c.eyeOffset=t._eyeOffset,c.pixelOffset=t._pixelOffset,c.horizontalOrigin=HorizontalOrigin$1.LEFT,c.verticalOrigin=t._verticalOrigin,c.heightReference=t._heightReference,c.scale=t.totalScale,c.pickPrimitive=t,c.id=t._id,c.translucencyByDistance=t._translucencyByDistance,c.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,c.scaleByDistance=t._scaleByDistance,c.distanceDisplayCondition=t._distanceDisplayCondition,c.disableDepthTestDistance=t._disableDepthTestDistance):defined(c)&&(r.remove(c),t._backgroundBillboard=c=void 0);for(var u=e._glyphTextureCache,d=0;d<a;++d){var h=n[d],p=t._verticalOrigin,m=JSON.stringify([h,t._fontFamily,t._fontStyle,t._fontWeight,+p]);if(!defined(g=u[m])){var f=createGlyphCanvas(h,t._fontStyle+" "+t._fontWeight+" "+SDFSettings$1.FONT_SIZE+"px "+t._fontFamily,Color.WHITE,Color.WHITE,0,LabelStyle$1.FILL,p),g=new GlyphTextureInfo(e,-1,f.dimensions);if(u[m]=g,0<f.width&&0<f.height){for(var _=calcSDF(f,{cutoff:SDFSettings$1.CUTOFF,radius:SDFSettings$1.RADIUS}),p=f.getContext("2d"),y=f.width,C=f.height,v=p.getImageData(0,0,y,C),S=0;S<y;S++)for(var T=0;T<C;T++){var b=T*y+S,x=255*_[b],b=4*b;v.data[0+b]=x,v.data[1+b]=x,v.data[2+b]=x,v.data[3+b]=x}p.putImageData(v,0,0)," "!==h&&addGlyphToTextureAtlas(e._textureAtlas,m,f,g)}}defined(h=o[d])?-1===g.index?unbindGlyph(e,h):defined(h.textureInfo)&&(h.textureInfo=void 0):(h=new Glyph,o[d]=h),h.textureInfo=g,h.dimensions=g.dimensions,-1!==g.index&&(f=h.billboard,g=e._spareBillboards,defined(f)||(0<g.length?f=g.pop():((f=e._billboardCollection.add({collection:e}))._labelDimensions=new Cartesian2,f._labelTranslate=new Cartesian2),h.billboard=f),f.show=t._show,f.position=t._position,f.eyeOffset=t._eyeOffset,f.pixelOffset=t._pixelOffset,f.horizontalOrigin=HorizontalOrigin$1.LEFT,f.verticalOrigin=t._verticalOrigin,f.heightReference=t._heightReference,f.scale=t.totalScale,f.pickPrimitive=t,f.id=t._id,f.image=m,f.translucencyByDistance=t._translucencyByDistance,f.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,f.scaleByDistance=t._scaleByDistance,f.distanceDisplayCondition=t._distanceDisplayCondition,f.disableDepthTestDistance=t._disableDepthTestDistance,f._batchIndex=t._batchIndex,f.outlineColor=t.outlineColor,t.style===LabelStyle$1.FILL_AND_OUTLINE?(f.color=t._fillColor,f.outlineWidth=t.outlineWidth):t.style===LabelStyle$1.FILL?(f.color=t._fillColor,f.outlineWidth=0):t.style===LabelStyle$1.OUTLINE&&(f.color=Color.TRANSPARENT,f.outlineWidth=t.outlineWidth))}t._repositionAllGlyphs=!0}function calculateWidthOffset(e,t,i){return t===HorizontalOrigin$1.CENTER?-e/2:t===HorizontalOrigin$1.RIGHT?-(e+i.x):i.x}var glyphPixelOffset=new Cartesian2,scratchBackgroundPadding=new Cartesian2;function repositionAllGlyphs$1(e){var t=e._glyphs,i=e._renderedText,r=0,n=0,a=[],o=Number.NEGATIVE_INFINITY,s=0,l=1,c=t.length,u=e._backgroundBillboard,d=Cartesian2.clone(defined(u)?e._backgroundPadding:Cartesian2.ZERO,scratchBackgroundPadding);for(d.x/=e._relativeSize,d.y/=e._relativeSize,w=0;w<c;++w)"\n"===i.charAt(w)?(a.push(r),++l,r=0):(E=(x=t[w]).dimensions,s=Math.max(s,E.height-E.descent),o=Math.max(o,E.descent),r+=E.width-E.bounds.minx,w<c-1&&(r+=t[w+1].dimensions.bounds.minx),n=Math.max(n,r));a.push(r);var h=s+o,p=e.totalScale,m=e._horizontalOrigin,f=e._verticalOrigin,g=0,_=a[g],y=calculateWidthOffset(_,m,d),C=(defined(e._lineHeight)?e._lineHeight:defaultLineSpacingPercent*e._fontSize)/e._relativeSize,v=C*(l-1),S=n,T=h+v;defined(u)&&(S+=2*d.x,T+=2*d.y,u._labelHorizontalOrigin=m),glyphPixelOffset.x=y*p;for(var b,x,E,P=!(glyphPixelOffset.y=0),A=0,w=0;w<c;++w)"\n"===i.charAt(w)?(A+=C,y=calculateWidthOffset(a[++g],m,d),glyphPixelOffset.x=y*p,P=!0):(E=(x=t[w]).dimensions,f===VerticalOrigin$1.TOP?(glyphPixelOffset.y=E.height-s-d.y,glyphPixelOffset.y+=SDFSettings$1.PADDING):f===VerticalOrigin$1.CENTER?glyphPixelOffset.y=(v+E.height-s)/2:(f===VerticalOrigin$1.BASELINE?glyphPixelOffset.y=v:glyphPixelOffset.y=v+o+d.y,glyphPixelOffset.y-=SDFSettings$1.PADDING),glyphPixelOffset.y=(glyphPixelOffset.y-E.descent-A)*p,P&&(glyphPixelOffset.x-=SDFSettings$1.PADDING*p,P=!1),defined(x.billboard)&&(x.billboard._setTranslate(glyphPixelOffset),x.billboard._labelDimensions.x=S,x.billboard._labelDimensions.y=T,x.billboard._labelHorizontalOrigin=m),w<c-1&&(b=t[w+1],glyphPixelOffset.x+=(E.width-E.bounds.minx+b.dimensions.bounds.minx)*p));if(defined(u)&&0<i.split("\n").join("").length&&(y=m===HorizontalOrigin$1.CENTER?-n/2-d.x:m===HorizontalOrigin$1.RIGHT?-(n+2*d.x):0,glyphPixelOffset.x=y*p,f===VerticalOrigin$1.TOP?glyphPixelOffset.y=h-s-o:f===VerticalOrigin$1.CENTER?glyphPixelOffset.y=(h-s)/2-o:f===VerticalOrigin$1.BASELINE?glyphPixelOffset.y=-d.y-o:glyphPixelOffset.y=0,glyphPixelOffset.y=glyphPixelOffset.y*p,u.width=S,u.height=T,u._setTranslate(glyphPixelOffset),u._labelTranslate=Cartesian2.clone(glyphPixelOffset,u._labelTranslate)),e.heightReference===HeightReference$1.CLAMP_TO_GROUND)for(w=0;w<c;++w){var D=(x=t[w]).billboard;defined(D)&&(D._labelTranslate=Cartesian2.clone(glyphPixelOffset,D._labelTranslate))}}function destroyLabel(e,t){for(var i=t._glyphs,r=0,n=i.length;r<n;++r)unbindGlyph(e,i[r]);defined(t._backgroundBillboard)&&(e._backgroundBillboardCollection.remove(t._backgroundBillboard),t._backgroundBillboard=void 0),t._labelCollection=void 0,defined(t._removeCallbackFunc)&&t._removeCallbackFunc(),destroyObject(t)}function LabelCollection(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._backgroundTextureAtlas=void 0,this._whitePixelIndex=void 0,this._backgroundBillboardCollection=new BillboardCollection({scene:this._scene}),this._backgroundBillboardCollection.destroyTextureAtlas=!1,this._billboardCollection=new BillboardCollection({scene:this._scene,batchTable:this._batchTable}),this._billboardCollection.destroyTextureAtlas=!1,this._billboardCollection._sdf=!0,this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this._highlightColor=Color.clone(Color.WHITE),this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this.blendOption=defaultValue(e.blendOption,BlendOption$1.OPAQUE_AND_TRANSLUCENT)}Object.defineProperties(LabelCollection.prototype,{length:{get:function(){return this._labels.length}}}),LabelCollection.prototype.add=function(e){e=new Label(e,this);return this._labels.push(e),this._labelsToUpdate.push(e),e},LabelCollection.prototype.remove=function(e){if(defined(e)&&e._labelCollection===this){var t=this._labels.indexOf(e);if(-1!==t)return this._labels.splice(t,1),destroyLabel(this,e),!0}return!1},LabelCollection.prototype.removeAll=function(){for(var e=this._labels,t=0,i=e.length;t<i;++t)destroyLabel(this,e[t]);e.length=0},LabelCollection.prototype.contains=function(e){return defined(e)&&e._labelCollection===this},LabelCollection.prototype.get=function(e){return this._labels[e]},LabelCollection.prototype.update=function(e){var t=this._billboardCollection,i=this._backgroundBillboardCollection;t.modelMatrix=this.modelMatrix,t.debugShowBoundingVolume=this.debugShowBoundingVolume,i.modelMatrix=this.modelMatrix,i.debugShowBoundingVolume=this.debugShowBoundingVolume;var r=e.context;defined(this._textureAtlas)||(this._textureAtlas=new TextureAtlas({context:r}),t.textureAtlas=this._textureAtlas),defined(this._backgroundTextureAtlas)||(this._backgroundTextureAtlas=new TextureAtlas({context:r,initialSize:whitePixelSize}),i.textureAtlas=this._backgroundTextureAtlas,addWhitePixelCanvas(this._backgroundTextureAtlas,this));for(var n=this._labelsToUpdate.length,a=0;a<n;++a){var o,s=this._labelsToUpdate[a];s.isDestroyed()||(o=s._glyphs.length,s._rebindAllGlyphs&&(rebindAllGlyphs$1(this,s),s._rebindAllGlyphs=!1),s._repositionAllGlyphs&&(repositionAllGlyphs$1(s),s._repositionAllGlyphs=!1),o=s._glyphs.length-o,this._totalGlyphCount+=o)}r=0<i.length?BlendOption$1.TRANSLUCENT:this.blendOption;t.blendOption=r,i.blendOption=r,t._highlightColor=this._highlightColor,i._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,i.update(e),t.update(e)},LabelCollection.prototype.isDestroyed=function(){return!1},LabelCollection.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),destroyObject(this)};var PolylineVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 position2DHigh;\nattribute vec3 position2DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 prevPosition2DHigh;\nattribute vec3 prevPosition2DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec3 nextPosition2DHigh;\nattribute vec3 nextPosition2DLow;\nattribute vec4 texCoordExpandAndBatchIndex;\nvarying vec2 v_st;\nvarying float v_width;\nvarying vec4 v_pickColor;\nvarying float v_polylineAngle;\nvoid main()\n{\nfloat texCoord = texCoordExpandAndBatchIndex.x;\nfloat expandDir = texCoordExpandAndBatchIndex.y;\nbool usePrev = texCoordExpandAndBatchIndex.z < 0.0;\nfloat batchTableIndex = texCoordExpandAndBatchIndex.w;\nvec2 widthAndShow = batchTable_getWidthAndShow(batchTableIndex);\nfloat width = widthAndShow.x + 0.5;\nfloat show = widthAndShow.y;\nif (width < 1.0)\n{\nshow = 0.0;\n}\nvec4 pickColor = batchTable_getPickColor(batchTableIndex);\nvec4 p, prev, next;\nif (czm_morphTime == 1.0)\n{\np = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz);\nprev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz);\nnext = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz);\n}\nelse if (czm_morphTime == 0.0)\n{\np = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy);\nprev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy);\nnext = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy);\n}\nelse\n{\np = czm_columbusViewMorph(\nczm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy),\nczm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz),\nczm_morphTime);\nprev = czm_columbusViewMorph(\nczm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy),\nczm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz),\nczm_morphTime);\nnext = czm_columbusViewMorph(\nczm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy),\nczm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz),\nczm_morphTime);\n}\n#ifdef DISTANCE_DISPLAY_CONDITION\nvec3 centerHigh = batchTable_getCenterHigh(batchTableIndex);\nvec4 centerLowAndRadius = batchTable_getCenterLowAndRadius(batchTableIndex);\nvec3 centerLow = centerLowAndRadius.xyz;\nfloat radius = centerLowAndRadius.w;\nvec2 distanceDisplayCondition = batchTable_getDistanceDisplayCondition(batchTableIndex);\nfloat lengthSq;\nif (czm_sceneMode == czm_sceneMode2D)\n{\nlengthSq = czm_eyeHeight2D.y;\n}\nelse\n{\nvec4 center = czm_translateRelativeToEye(centerHigh.xyz, centerLow.xyz);\nlengthSq = max(0.0, dot(center.xyz, center.xyz) - radius * radius);\n}\nfloat nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x;\nfloat farSq = distanceDisplayCondition.y * distanceDisplayCondition.y;\nif (lengthSq < nearSq || lengthSq > farSq)\n{\nshow = 0.0;\n}\n#endif\nfloat polylineAngle;\nvec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle);\ngl_Position = czm_viewportOrthographic * positionWC * show;\nv_st.s = texCoord;\nv_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w);\nv_width = width;\nv_pickColor = pickColor;\nv_polylineAngle = polylineAngle;\n}\n";function Polyline(e,t){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._show=defaultValue(e.show,!0),this._width=defaultValue(e.width,1),this._loop=defaultValue(e.loop,!1),this._distanceDisplayCondition=e.distanceDisplayCondition,this._material=e.material,defined(this._material)||(this._material=Material.fromType(Material.ColorType,{color:new Color(1,1,1,1)}));var i,r=e.positions;defined(r)||(r=[]),this._positions=r,this._actualPositions=arrayRemoveDuplicates(r,Cartesian3.equalsEpsilon),this._loop&&2<this._actualPositions.length&&(this._actualPositions===this._positions&&(this._actualPositions=r.slice()),this._actualPositions.push(Cartesian3.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id,defined(t)&&(i=Matrix4.clone(t.modelMatrix)),this._modelMatrix=i,this._segments=PolylinePipeline.wrapLongitude(this._actualPositions,i),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(NUMBER_OF_PROPERTIES$1),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=BoundingSphere.fromPoints(this._actualPositions),this._boundingVolumeWC=BoundingSphere.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new BoundingSphere}var POSITION_INDEX$2=Polyline.POSITION_INDEX=0,SHOW_INDEX$2=Polyline.SHOW_INDEX=1,WIDTH_INDEX=Polyline.WIDTH_INDEX=2,MATERIAL_INDEX=Polyline.MATERIAL_INDEX=3,POSITION_SIZE_INDEX=Polyline.POSITION_SIZE_INDEX=4,DISTANCE_DISPLAY_CONDITION$1=Polyline.DISTANCE_DISPLAY_CONDITION=5,NUMBER_OF_PROPERTIES$1=Polyline.NUMBER_OF_PROPERTIES=6;function makeDirty$1(e,t){++e._propertiesChanged[t];var i=e._polylineCollection;defined(i)&&(i._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(Polyline.prototype,{show:{get:function(){return this._show},set:function(e){e!==this._show&&(this._show=e,makeDirty$1(this,SHOW_INDEX$2))}},positions:{get:function(){return this._positions},set:function(e){var t=arrayRemoveDuplicates(e,Cartesian3.equalsEpsilon);this._loop&&2<t.length&&(t===e&&(t=e.slice()),t.push(Cartesian3.clone(t[0]))),this._actualPositions.length===t.length&&this._actualPositions.length===this._length||makeDirty$1(this,POSITION_SIZE_INDEX),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=BoundingSphere.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=BoundingSphere.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),makeDirty$1(this,POSITION_INDEX$2),this.update()}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,makeDirty$1(this,MATERIAL_INDEX))}},width:{get:function(){return this._width},set:function(e){e!==this._width&&(this._width=e,makeDirty$1(this,WIDTH_INDEX))}},loop:{get:function(){return this._loop},set:function(e){var t;e!==this._loop&&(t=this._actualPositions,e?2<t.length&&!Cartesian3.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(Cartesian3.clone(t[0]))):2<t.length&&Cartesian3.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,makeDirty$1(this,POSITION_SIZE_INDEX))}},id:{get:function(){return this._id},set:function(e){this._id=e,defined(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!defined(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){DistanceDisplayCondition.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=DistanceDisplayCondition.clone(e,this._distanceDisplayCondition),makeDirty$1(this,DISTANCE_DISPLAY_CONDITION$1))}}}),Polyline.prototype.update=function(){var e=Matrix4.IDENTITY;defined(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);var t=this._segments.positions.length,i=this._segments.lengths,r=0<this._propertiesChanged[POSITION_INDEX$2]||0<this._propertiesChanged[POSITION_SIZE_INDEX];if(Matrix4.equals(e,this._modelMatrix)&&!r||(this._segments=PolylinePipeline.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=BoundingSphere.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=Matrix4.clone(e,this._modelMatrix),this._segments.positions.length!==t)makeDirty$1(this,POSITION_SIZE_INDEX);else for(var n=i.length,a=0;a<n;++a)if(i[a]!==this._segments.lengths[a]){makeDirty$1(this,POSITION_SIZE_INDEX);break}},Polyline.prototype.getPickId=function(e){return defined(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._polylineCollection,id:this._id})),this._pickId},Polyline.prototype._clean=function(){this._dirty=!1;for(var e=this._propertiesChanged,t=0;t<NUMBER_OF_PROPERTIES$1-1;++t)e[t]=0},Polyline.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0};var SHOW_INDEX$3=Polyline.SHOW_INDEX,WIDTH_INDEX$1=Polyline.WIDTH_INDEX,POSITION_INDEX$3=Polyline.POSITION_INDEX,MATERIAL_INDEX$1=Polyline.MATERIAL_INDEX,POSITION_SIZE_INDEX$1=Polyline.POSITION_SIZE_INDEX,DISTANCE_DISPLAY_CONDITION$2=Polyline.DISTANCE_DISPLAY_CONDITION,NUMBER_OF_PROPERTIES$2=Polyline.NUMBER_OF_PROPERTIES,attributeLocations$1={texCoordExpandAndBatchIndex:0,position3DHigh:1,position3DLow:2,position2DHigh:3,position2DLow:4,prevPosition3DHigh:5,prevPosition3DLow:6,prevPosition2DHigh:7,prevPosition2DLow:8,nextPosition3DHigh:9,nextPosition3DLow:10,nextPosition2DHigh:11,nextPosition2DLow:12};function PolylineCollection(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this._modelMatrix=Matrix4.clone(Matrix4.IDENTITY),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(NUMBER_OF_PROPERTIES$2),this._polylines=[],this._polylineBuckets={},this._positionBufferUsage={bufferUsage:BufferUsage$1.STATIC_DRAW,frameCount:0},this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._texCoordExpandAndBatchIndexBuffer=void 0,this._batchTable=void 0,this._createBatchTable=!1,this._useHighlightColor=!1,this._highlightColor=Color.clone(Color.WHITE);var t=this;this._uniformMap={u_highlightColor:function(){return t._highlightColor}}}function createBatchTable$1(e,t){defined(e._batchTable)&&e._batchTable.destroy();var i=[{functionName:"batchTable_getWidthAndShow",componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:2},{functionName:"batchTable_getPickColor",componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0},{functionName:"batchTable_getCenterHigh",componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3},{functionName:"batchTable_getCenterLowAndRadius",componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:4},{functionName:"batchTable_getDistanceDisplayCondition",componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2}];e._batchTable=new BatchTable(t,i,e._polylines.length)}Object.defineProperties(PolylineCollection.prototype,{length:{get:function(){return removePolylines(this),this._polylines.length}}}),PolylineCollection.prototype.add=function(e){e=new Polyline(e,this);return e._index=this._polylines.length,this._polylines.push(e),this._createVertexArray=!0,this._createBatchTable=!0,e},PolylineCollection.prototype.remove=function(e){var t;return!!this.contains(e)&&(this._polylinesRemoved=!0,this._createVertexArray=!0,this._createBatchTable=!0,defined(e._bucket)&&((t=e._bucket).shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()),e._destroy(),!0)},PolylineCollection.prototype.removeAll=function(){releaseShaders(this),destroyPolylines(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0},PolylineCollection.prototype.contains=function(e){return defined(e)&&e._polylineCollection===this},PolylineCollection.prototype.get=function(e){return removePolylines(this),this._polylines[e]};var scratchUpdatePolylineEncodedCartesian=new EncodedCartesian3,scratchUpdatePolylineCartesian4=new Cartesian4,scratchNearFarCartesian2=new Cartesian2;PolylineCollection.prototype.update=function(e){if(removePolylines(this),0!==this._polylines.length){updateMode$1(this,e);var t,i=e.context,r=e.mapProjection,n=this._propertiesChanged;if(this._createBatchTable){if(0===ContextLimits.maximumVertexTextureImageUnits)throw new RuntimeError("Vertex texture fetch support is required to render polylines. The maximum number of vertex texture image units must be greater than zero.");createBatchTable$1(this,i),this._createBatchTable=!1}if(this._createVertexArray||computeNewBuffersUsage(this))createVertexArrays$1(this,i,r);else if(this._polylinesUpdated){var a=this._polylinesToUpdate;if(this._mode!==SceneMode$1.SCENE3D)for(var o=a.length,s=0;s<o;++s)(t=a[s]).update();if(n[POSITION_SIZE_INDEX$1]||n[MATERIAL_INDEX$1])createVertexArrays$1(this,i,r);else for(var l=a.length,c=this._polylineBuckets,u=0;u<l;++u){n=(t=a[u])._propertiesChanged;var d,h,p,m=t._bucket,f=0;for(d in c)if(c.hasOwnProperty(d)){if(c[d]===m){n[POSITION_INDEX$3]&&m.writeUpdate(f,t,this._positionBuffer,r);break}f+=c[d].lengthOfPositions}(n[SHOW_INDEX$3]||n[WIDTH_INDEX$1])&&this._batchTable.setBatchedAttribute(t._index,0,new Cartesian2(t._width,t._show)),2<this._batchTable.attributes.length&&((n[POSITION_INDEX$3]||n[POSITION_SIZE_INDEX$1])&&(p=e.mode===SceneMode$1.SCENE2D?t._boundingVolume2D:t._boundingVolumeWC,h=EncodedCartesian3.fromCartesian(p.center,scratchUpdatePolylineEncodedCartesian),p=Cartesian4.fromElements(h.low.x,h.low.y,h.low.z,p.radius,scratchUpdatePolylineCartesian4),this._batchTable.setBatchedAttribute(t._index,2,h.high),this._batchTable.setBatchedAttribute(t._index,3,p)),n[DISTANCE_DISPLAY_CONDITION$2]&&((h=scratchNearFarCartesian2).x=0,h.y=Number.MAX_VALUE,defined(p=t.distanceDisplayCondition)&&(h.x=p.near,h.y=p.far),this._batchTable.setBatchedAttribute(t._index,4,h))),t._clean()}a.length=0,this._polylinesUpdated=!1}n=this._propertiesChanged;for(var g=0;g<NUMBER_OF_PROPERTIES$2;++g)n[g]=0;var _=Matrix4.IDENTITY;e.mode===SceneMode$1.SCENE3D&&(_=this.modelMatrix);var y=e.passes,i=0!==e.morphTime;defined(this._opaqueRS)&&this._opaqueRS.depthTest.enabled===i||(this._opaqueRS=RenderState.fromCache({depthMask:i,depthTest:{enabled:i}})),defined(this._translucentRS)&&this._translucentRS.depthTest.enabled===i||(this._translucentRS=RenderState.fromCache({blending:BlendingState$1.ALPHA_BLEND,depthMask:!i,depthTest:{enabled:i}})),this._batchTable.update(e),(y.render||y.pick)&&createCommandLists(this,e,this._colorCommands,_)}};var boundingSphereScratch=new BoundingSphere,boundingSphereScratch2=new BoundingSphere;function createCommandLists(e,t,i,r){for(var n=t.context,a=t.commandList,o=i.length,s=0,l=!0,c=e._vertexArrays,u=e.debugShowBoundingVolume,d=e._batchTable.getUniformMapCallback(),h=c.length,p=0;p<h;++p)for(var m=c[p],f=m.buckets,g=f.length,_=0;_<g;++_){for(var y,C,v,S,T=f[_],b=T.offset,x=T.bucket.shaderProgram,E=T.bucket.polylines,P=E.length,A=0,w=0;w<P;++w){var D,M=E[w],I=createMaterialId(M._material);I!==y&&(defined(y)&&0<A&&(D=C.isTranslucent(),o<=s?(v=new DrawCommand({owner:e}),i.push(v)):v=i[s],++s,S=combine(d(C._uniforms),e._uniformMap),v.boundingVolume=BoundingSphere.clone(boundingSphereScratch,v.boundingVolume),v.modelMatrix=r,v.shaderProgram=x,v.vertexArray=m.va,v.renderState=D?e._translucentRS:e._opaqueRS,v.pass=D?Pass$1.TRANSLUCENT:Pass$1.OPAQUE,v.debugShowBoundingVolume=u,v.pickId="v_pickColor",v.uniformMap=S,v.count=A,v.offset=b,b+=A,l=!(A=0),a.push(v)),(C=M._material).update(n),y=I);for(var R,O=M._locatorBuckets,L=O.length,F=0;F<L;++F){var N=O[F];N.locator===T&&(A+=N.count)}t.mode===SceneMode$1.SCENE3D?R=M._boundingVolumeWC:t.mode===SceneMode$1.COLUMBUS_VIEW?R=M._boundingVolume2D:t.mode===SceneMode$1.SCENE2D?defined(M._boundingVolume2D)&&((R=BoundingSphere.clone(M._boundingVolume2D,boundingSphereScratch2)).center.x=0):defined(M._boundingVolumeWC)&&defined(M._boundingVolume2D)&&(R=BoundingSphere.union(M._boundingVolumeWC,M._boundingVolume2D,boundingSphereScratch2)),l?(l=!1,BoundingSphere.clone(R,boundingSphereScratch)):BoundingSphere.union(R,boundingSphereScratch,boundingSphereScratch)}defined(y)&&0<A&&(o<=s?(v=new DrawCommand({owner:e}),i.push(v)):v=i[s],++s,S=combine(d(C._uniforms),e._uniformMap),v.boundingVolume=BoundingSphere.clone(boundingSphereScratch,v.boundingVolume),v.modelMatrix=r,v.shaderProgram=x,v.vertexArray=m.va,v.renderState=C.isTranslucent()?e._translucentRS:e._opaqueRS,v.pass=C.isTranslucent()?Pass$1.TRANSLUCENT:Pass$1.OPAQUE,v.debugShowBoundingVolume=u,v.pickId="v_pickColor",v.uniformMap=S,v.count=A,v.offset=b,l=!0,a.push(v)),y=void 0}i.length=s}function computeNewBuffersUsage(e){var t=!1,i=e._propertiesChanged,e=e._positionBufferUsage;return i[POSITION_INDEX$3]?(e.bufferUsage!==BufferUsage$1.STREAM_DRAW&&(t=!0,e.bufferUsage=BufferUsage$1.STREAM_DRAW),e.frameCount=100):e.bufferUsage!==BufferUsage$1.STATIC_DRAW&&(0===e.frameCount?(t=!0,e.bufferUsage=BufferUsage$1.STATIC_DRAW):e.frameCount--),t}PolylineCollection.prototype.isDestroyed=function(){return!1},PolylineCollection.prototype.destroy=function(){return destroyVertexArrays(this),releaseShaders(this),destroyPolylines(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),destroyObject(this)};var emptyVertexBuffer=[0,0,0];function createVertexArrays$1(e,t,i){e._createVertexArray=!1,releaseShaders(e),destroyVertexArrays(e),sortPolylinesIntoBuckets(e);var r,n,a=[[]],o=a[0],s=e._batchTable,l=e._useHighlightColor,c=[0],u=0,d=[[]],h=0,p=e._polylineBuckets;for(r in p)p.hasOwnProperty(r)&&((n=p[r]).updateShader(t,s,l),h+=n.lengthOfPositions);if(0<h){var m,f,g=e._mode,_=new Float32Array(6*h*3),y=new Float32Array(4*h),C=0,v=0,S=0;for(r in p)p.hasOwnProperty(r)&&((n=p[r]).write(_,y,C,v,S,s,t,i),g===SceneMode$1.MORPHING&&(defined(m)||(m=new Float32Array(6*h*3)),n.writeForMorph(m,C)),C+=6*(f=n.lengthOfPositions)*3,v+=4*f,S+=4*f,u=n.updateIndices(a,c,d,u));var T,b=e._positionBufferUsage.bufferUsage,x=BufferUsage$1.STATIC_DRAW;e._positionBuffer=Buffer$1.createVertexBuffer({context:t,typedArray:_,usage:b}),defined(m)&&(T=Buffer$1.createVertexBuffer({context:t,typedArray:m,usage:b})),e._texCoordExpandAndBatchIndexBuffer=Buffer$1.createVertexBuffer({context:t,typedArray:y,usage:x});for(var E,P,A,w,D,M,I,R,O,L,F,N=3*Float32Array.BYTES_PER_ELEMENT,B=4*Float32Array.BYTES_PER_ELEMENT,V=0,k=a.length,z=0;z<k;++z)0<(o=a[z]).length&&(L=new Uint16Array(o),F=Buffer$1.createIndexBuffer({context:t,typedArray:L,usage:BufferUsage$1.STATIC_DRAW,indexDatatype:IndexDatatype$1.UNSIGNED_SHORT}),V+=c[z],M=N+(D=N+(w=N+(A=N+(P=N+(E=6*(z*(N*CesiumMath.SIXTY_FOUR_KILOBYTES)-V*N)))))),L=z*(B*CesiumMath.SIXTY_FOUR_KILOBYTES)-V*B,M=[{index:attributeLocations$1.position3DHigh,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:E,strideInBytes:6*N},{index:attributeLocations$1.position3DLow,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:P,strideInBytes:6*N},{index:attributeLocations$1.position2DHigh,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:E,strideInBytes:6*N},{index:attributeLocations$1.position2DLow,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:P,strideInBytes:6*N},{index:attributeLocations$1.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:A,strideInBytes:6*N},{index:attributeLocations$1.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:w,strideInBytes:6*N},{index:attributeLocations$1.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:A,strideInBytes:6*N},{index:attributeLocations$1.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:w,strideInBytes:6*N},{index:attributeLocations$1.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:D,strideInBytes:6*N},{index:attributeLocations$1.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:M,strideInBytes:6*N},{index:attributeLocations$1.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:D,strideInBytes:6*N},{index:attributeLocations$1.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,offsetInBytes:M,strideInBytes:6*N},{index:attributeLocations$1.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:L}],L=g===SceneMode$1.SCENE3D?(I=e._positionBuffer,R="vertexBuffer",O=emptyVertexBuffer,"value"):(O=(R=g===SceneMode$1.SCENE2D||g===SceneMode$1.COLUMBUS_VIEW?(I=emptyVertexBuffer,"value"):(I=T,"vertexBuffer"),e._positionBuffer),"vertexBuffer"),M[0][R]=I,M[1][R]=I,M[2][L]=O,M[3][L]=O,M[4][R]=I,M[5][R]=I,M[6][L]=O,M[7][L]=O,M[8][R]=I,M[9][R]=I,M[10][L]=O,M[11][L]=O,F=new VertexArray({context:t,attributes:M,indexBuffer:F}),e._vertexArrays.push({va:F,buckets:d[z]}))}}function replacer(e,t){return t instanceof Texture?t.id:t}var scratchUniformArray$1=[];function createMaterialId(e){var t=Material._uniformList[e.type],i=t.length;scratchUniformArray$1.length=2*i;for(var r=0,n=0;n<i;++n){var a=t[n];scratchUniformArray$1[r]=a,scratchUniformArray$1[r+1]=e._uniforms[a](),r+=2}return e.type+":"+JSON.stringify(scratchUniformArray$1,replacer)}function sortPolylinesIntoBuckets(e){for(var t=e._mode,i=e._modelMatrix,r=e._polylineBuckets={},n=e._polylines,a=n.length,o=0;o<a;++o){var s,l,c=n[o];1<c._actualPositions.length&&(c.update(),defined(l=r[(s=c.material).type])||(l=r[s.type]=new PolylineBucket(s,t,i)),l.addPolyline(c))}}function updateMode$1(e,t){t=t.mode;e._mode===t&&Matrix4.equals(e._modelMatrix,e.modelMatrix)||(e._mode=t,e._modelMatrix=Matrix4.clone(e.modelMatrix),e._createVertexArray=!0)}function removePolylines(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;for(var t,i=[],r=[],n=0,a=e._polylines.length,o=0;o<a;++o)(t=e._polylines[o]).isDestroyed||(t._index=n++,r.push(t),i.push(t));e._polylines=i,e._polylinesToUpdate=r}}function releaseShaders(e){for(var t,i=e._polylines,r=i.length,n=0;n<r;++n)i[n].isDestroyed||defined(t=i[n]._bucket)&&(t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy())}function destroyVertexArrays(e){for(var t=e._vertexArrays.length,i=0;i<t;++i)e._vertexArrays[i].va.destroy();e._vertexArrays.length=0}function destroyPolylines(e){for(var t=e._polylines,i=t.length,r=0;r<i;++r)t[r].isDestroyed||t[r]._destroy()}function VertexArrayBucketLocator(e,t,i){this.count=e,this.offset=t,this.bucket=i}function PolylineBucket(e,t,i){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.mode=t,this.modelMatrix=i}function intersectsIDL(e){return Cartesian3.dot(Cartesian3.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersectPlane(Plane.ORIGIN_ZX_PLANE)===Intersect$1.INTERSECTING}PolylineCollection.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,e._dirty||this._polylinesToUpdate.push(e),++this._propertiesChanged[t]},PolylineBucket.prototype.addPolyline=function(e){this.polylines.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this},PolylineBucket.prototype.updateShader=function(e,t,i){var r;defined(this.shaderProgram)||(r=["DISTANCE_DISPLAY_CONDITION"],i&&r.push("VECTOR_TILE"),-1!==this.material.shaderSource.search(/varying\s+float\s+v_polylineAngle;/g)&&r.push("POLYLINE_DASH"),FeatureDetection.isInternetExplorer()||r.push("CLIP_POLYLINE"),i=new ShaderSource({defines:r,sources:["varying vec4 v_pickColor;\n",this.material.shaderSource,PolylineFS]}),t=t.getVertexShaderCallback()(PolylineVS),t=new ShaderSource({defines:r,sources:[PolylineCommon,t]}),this.shaderProgram=ShaderProgram.fromCache({context:e,vertexShaderSource:t,fragmentShaderSource:i,attributeLocations:attributeLocations$1}))},PolylineBucket.prototype.getPolylinePositionsLength=function(e){if(this.mode===SceneMode$1.SCENE3D||!intersectsIDL(e))return 4*(r=e._actualPositions.length)-4;for(var t=0,i=e._segments.lengths,r=i.length,n=0;n<r;++n)t+=4*i[n]-4;return t};var scratchWritePosition=new Cartesian3,scratchWritePrevPosition=new Cartesian3,scratchWriteNextPosition=new Cartesian3,scratchWriteVector=new Cartesian3,scratchPickColorCartesian=new Cartesian4,scratchWidthShowCartesian=new Cartesian2;PolylineBucket.prototype.write=function(e,t,i,r,n,a,o,s){for(var l=this.mode,c=s.ellipsoid.maximumRadius*CesiumMath.PI,u=this.polylines,d=u.length,h=0;h<d;++h){for(var p,m=u[h],f=m.width,g=m.show&&0<f,_=m._index,y=this.getSegments(m,s),C=y.positions,v=y.lengths,S=C.length,T=m.getPickId(o).color,b=0,x=0,E=0;E<S;++E){0===E?m._loop?p=C[S-2]:(p=scratchWriteVector,Cartesian3.subtract(C[0],C[1],p),Cartesian3.add(C[0],p,p)):p=C[E-1],Cartesian3.clone(p,scratchWritePrevPosition),Cartesian3.clone(C[E],scratchWritePosition),E===S-1?m._loop?p=C[1]:(p=scratchWriteVector,Cartesian3.subtract(C[S-1],C[S-2],p),Cartesian3.add(C[S-1],p,p)):p=C[E+1],Cartesian3.clone(p,scratchWriteNextPosition);var P=v[b];E===x+P&&(x+=P,++b);var A=E-x==0,P=E===x+v[b]-1;l===SceneMode$1.SCENE2D&&(scratchWritePrevPosition.z=0,scratchWritePosition.z=0,scratchWriteNextPosition.z=0),l!==SceneMode$1.SCENE2D&&l!==SceneMode$1.MORPHING||(A||P)&&c-Math.abs(scratchWritePosition.x)<1&&((scratchWritePosition.x<0&&0<scratchWritePrevPosition.x||0<scratchWritePosition.x&&scratchWritePrevPosition.x<0)&&Cartesian3.clone(scratchWritePosition,scratchWritePrevPosition),(scratchWritePosition.x<0&&0<scratchWriteNextPosition.x||0<scratchWritePosition.x&&scratchWriteNextPosition.x<0)&&Cartesian3.clone(scratchWritePosition,scratchWriteNextPosition));for(var w=P?2:4,D=A?2:0;D<w;++D){EncodedCartesian3.writeElements(scratchWritePosition,e,i),EncodedCartesian3.writeElements(scratchWritePrevPosition,e,i+6),EncodedCartesian3.writeElements(scratchWriteNextPosition,e,i+12);var M=D-2<0?-1:1;t[n]=E/(S-1),t[n+1]=D%2*2-1,t[n+2]=M,t[n+3]=_,i+=18,n+=4}}var I=scratchPickColorCartesian;I.x=Color.floatToByte(T.red),I.y=Color.floatToByte(T.green),I.z=Color.floatToByte(T.blue),I.w=Color.floatToByte(T.alpha);var R=scratchWidthShowCartesian;R.x=f,R.y=g?1:0;y=l===SceneMode$1.SCENE2D?m._boundingVolume2D:m._boundingVolumeWC,T=EncodedCartesian3.fromCartesian(y.center,scratchUpdatePolylineEncodedCartesian),f=T.high,g=Cartesian4.fromElements(T.low.x,T.low.y,T.low.z,y.radius,scratchUpdatePolylineCartesian4),T=scratchNearFarCartesian2;T.x=0,T.y=Number.MAX_VALUE;y=m.distanceDisplayCondition;defined(y)&&(T.x=y.near,T.y=y.far),a.setBatchedAttribute(_,0,R),a.setBatchedAttribute(_,1,I),2<a.attributes.length&&(a.setBatchedAttribute(_,2,f),a.setBatchedAttribute(_,3,g),a.setBatchedAttribute(_,4,T))}};var morphPositionScratch=new Cartesian3,morphPrevPositionScratch=new Cartesian3,morphNextPositionScratch=new Cartesian3,morphVectorScratch=new Cartesian3;PolylineBucket.prototype.writeForMorph=function(e,t){for(var i=this.modelMatrix,r=this.polylines,n=r.length,a=0;a<n;++a)for(var o,s=r[a],l=s._segments.positions,c=s._segments.lengths,u=l.length,d=0,h=0,p=0;p<u;++p){0===p?s._loop?o=l[u-2]:(o=morphVectorScratch,Cartesian3.subtract(l[0],l[1],o),Cartesian3.add(l[0],o,o)):o=l[p-1],o=Matrix4.multiplyByPoint(i,o,morphPrevPositionScratch);var m,f=Matrix4.multiplyByPoint(i,l[p],morphPositionScratch);p===u-1?s._loop?m=l[1]:(m=morphVectorScratch,Cartesian3.subtract(l[u-1],l[u-2],m),Cartesian3.add(l[u-1],m,m)):m=l[p+1],m=Matrix4.multiplyByPoint(i,m,morphNextPositionScratch);var g=c[d];p===h+g&&(h+=g,++d);for(var g=p-h==0,_=p===h+c[d]-1?2:4,y=g?2:0;y<_;++y)EncodedCartesian3.writeElements(f,e,t),EncodedCartesian3.writeElements(o,e,t+6),EncodedCartesian3.writeElements(m,e,t+12),t+=18}};var scratchSegmentLengths=new Array(1);PolylineBucket.prototype.updateIndices=function(e,t,i,r){var n=i.length-1,a=new VertexArrayBucketLocator(0,r,this);i[n].push(a);var o=0,s=e[e.length-1],l=0;0<s.length&&(l=s[s.length-1]+1);for(var c=this.polylines,u=c.length,d=0;d<u;++d){var h,p=c[d];if(p._locatorBuckets=[],this.mode===SceneMode$1.SCENE3D){h=scratchSegmentLengths;var m=p._actualPositions.length;if(!(0<m))continue;h[0]=m}else h=p._segments.lengths;var f=h.length;if(0<f){for(var g=0,_=0;_<f;++_)for(var y=h[_]-1,C=0;C<y;++C)l+4>CesiumMath.SIXTY_FOUR_KILOBYTES&&(p._locatorBuckets.push({locator:a,count:g}),g=0,t.push(4),s=[],e.push(s),l=0,a.count=o,a=new VertexArrayBucketLocator(r=o=0,0,this),i[++n]=[a]),s.push(l,l+2,l+1),s.push(l+1,l+2,l+3),g+=6,o+=6,r+=6,l+=4;p._locatorBuckets.push({locator:a,count:g}),l+4>CesiumMath.SIXTY_FOUR_KILOBYTES&&(t.push(0),s=[],e.push(s),l=0,a.count=o,a=new VertexArrayBucketLocator(o=r=0,0,this),i[++n]=[a])}p._clean()}return a.count=o,r},PolylineBucket.prototype.getPolylineStartIndex=function(e){for(var t=this.polylines,i=0,r=t.length,n=0;n<r;++n){var a=t[n];if(a===e)break;i+=a._actualLength}return i};var scratchSegments={positions:void 0,lengths:void 0},scratchLengths=new Array(1),pscratch=new Cartesian3,scratchCartographic$6=new Cartographic,scratchPositionsArray;function Vector3DTilePoints(e){this._positions=e.positions,this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._rectangle=e.rectangle,this._minHeight=e.minimumHeight,this._maxHeight=e.maximumHeight,this._billboardCollection=void 0,this._labelCollection=void 0,this._polylineCollection=void 0,this._verticesPromise=void 0,this._packedBuffer=void 0,this._ready=!1,this._readyPromise=when.defer(),this._resolvedPromise=!1}function packBuffer$1(e,t){var i=e._rectangle,r=e._minHeight,n=e._maxHeight,a=2+Rectangle.packedLength+Ellipsoid.packedLength,e=new Float64Array(a),a=0;return e[a++]=r,e[a++]=n,Rectangle.pack(i,e,2),a+=Rectangle.packedLength,Ellipsoid.pack(t,e,a),e}PolylineBucket.prototype.getSegments=function(e,t){var i=e._actualPositions;if(this.mode===SceneMode$1.SCENE3D)return scratchLengths[0]=i.length,scratchSegments.positions=i,scratchSegments.lengths=scratchLengths,scratchSegments;intersectsIDL(e)&&(i=e._segments.positions);for(var r,n,a=t.ellipsoid,o=[],s=this.modelMatrix,l=i.length,c=pscratch,u=0;u<l;++u)r=i[u],c=Matrix4.multiplyByPoint(s,r,c),o.push(t.project(a.cartesianToCartographic(c,scratchCartographic$6)));return 0<o.length&&(e._boundingVolume2D=BoundingSphere.fromPoints(o,e._boundingVolume2D),n=e._boundingVolume2D.center,e._boundingVolume2D.center=new Cartesian3(n.z,n.x,n.y)),scratchSegments.positions=o,scratchSegments.lengths=e._segments.lengths,scratchSegments},PolylineBucket.prototype.writeUpdate=function(e,t,i,r){var n=this.mode,a=r.ellipsoid.maximumRadius*CesiumMath.PI;if(m=t._actualLength){e+=this.getPolylineStartIndex(t);var o=scratchPositionsArray,s=6*m*3;!defined(o)||o.length<s?o=scratchPositionsArray=new Float32Array(s):o.length>s&&(o=new Float32Array(o.buffer,0,s));for(var l,r=this.getSegments(t,r),c=r.positions,u=r.lengths,d=0,h=0,p=0,m=c.length,f=0;f<m;++f){0===f?t._loop?l=c[m-2]:(l=scratchWriteVector,Cartesian3.subtract(c[0],c[1],l),Cartesian3.add(c[0],l,l)):l=c[f-1],Cartesian3.clone(l,scratchWritePrevPosition),Cartesian3.clone(c[f],scratchWritePosition),f===m-1?t._loop?l=c[1]:(l=scratchWriteVector,Cartesian3.subtract(c[m-1],c[m-2],l),Cartesian3.add(c[m-1],l,l)):l=c[f+1],Cartesian3.clone(l,scratchWriteNextPosition);var g=u[h];f===p+g&&(p+=g,++h);var _=f-p==0,g=f===p+u[h]-1;n===SceneMode$1.SCENE2D&&(scratchWritePrevPosition.z=0,scratchWritePosition.z=0,scratchWriteNextPosition.z=0),n!==SceneMode$1.SCENE2D&&n!==SceneMode$1.MORPHING||(_||g)&&a-Math.abs(scratchWritePosition.x)<1&&((scratchWritePosition.x<0&&0<scratchWritePrevPosition.x||0<scratchWritePosition.x&&scratchWritePrevPosition.x<0)&&Cartesian3.clone(scratchWritePosition,scratchWritePrevPosition),(scratchWritePosition.x<0&&0<scratchWriteNextPosition.x||0<scratchWritePosition.x&&scratchWriteNextPosition.x<0)&&Cartesian3.clone(scratchWritePosition,scratchWriteNextPosition));for(var y=g?2:4,C=_?2:0;C<y;++C)EncodedCartesian3.writeElements(scratchWritePosition,o,d),EncodedCartesian3.writeElements(scratchWritePrevPosition,o,d+6),EncodedCartesian3.writeElements(scratchWriteNextPosition,o,d+12),d+=18}i.copyFromArrayView(o,18*Float32Array.BYTES_PER_ELEMENT*e)}},Object.defineProperties(Vector3DTilePoints.prototype,{pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){return this._billboardCollection.textureAtlas.texture.sizeInBytes+this._labelCollection._textureAtlas.texture.sizeInBytes}},readyPromise:{get:function(){return this._readyPromise.promise}}});var createVerticesTaskProcessor$1=new TaskProcessor("createVectorTilePoints"),scratchPosition$8=new Cartesian3;function createPoints(t,e){if(!defined(t._billboardCollection)){var i;if(!defined(t._verticesPromise)){i=t._positions;var r=t._packedBuffer;defined(r)||(i=t._positions=arraySlice(i),t._batchIds=arraySlice(t._batchIds),r=t._packedBuffer=packBuffer$1(t,e));var n=[i.buffer,r.buffer],r={positions:i.buffer,packedBuffer:r.buffer},n=t._verticesPromise=createVerticesTaskProcessor$1.scheduleTask(r,n);if(!defined(n))return;n.then(function(e){t._positions=new Float64Array(e.positions),t._ready=!0})}if(t._ready&&!defined(t._billboardCollection)){i=t._positions;var n=t._batchTable,a=t._batchIds,o=t._billboardCollection=new BillboardCollection({batchTable:n}),s=t._labelCollection=new LabelCollection({batchTable:n}),l=t._polylineCollection=new PolylineCollection;l._useHighlightColor=!0;for(var c=i.length/3,u=0;u<c;++u){var d=a[u],h=Cartesian3.unpack(i,3*u,scratchPosition$8),p=o.add();p.position=h,p._batchIndex=d;p=s.add();p.text=" ",p.position=h,p._batchIndex=d,l.add().positions=[Cartesian3.clone(h),Cartesian3.clone(h)]}t._positions=void 0,t._packedBuffer=void 0}}}function clearStyle$1(e,t){for(var i=e._batchIds,r=i.length,n=0;n<r;++n){var a=t[i[n]];a.show=!0,a.pointSize=Cesium3DTilePointFeature.defaultPointSize,a.color=Cesium3DTilePointFeature.defaultColor,a.pointOutlineColor=Cesium3DTilePointFeature.defaultPointOutlineColor,a.pointOutlineWidth=Cesium3DTilePointFeature.defaultPointOutlineWidth,a.labelColor=Color.WHITE,a.labelOutlineColor=Color.WHITE,a.labelOutlineWidth=1,a.font="30px sans-serif",a.labelStyle=LabelStyle$1.FILL,a.labelText=void 0,a.backgroundColor=new Color(.165,.165,.165,.8),a.backgroundPadding=new Cartesian2(7,5),a.backgroundEnabled=!1,a.scaleByDistance=void 0,a.translucencyByDistance=void 0,a.distanceDisplayCondition=void 0,a.heightOffset=0,a.anchorLineEnabled=!1,a.anchorLineColor=Color.WHITE,a.image=void 0,a.disableDepthTestDistance=0,a.horizontalOrigin=HorizontalOrigin$1.CENTER,a.verticalOrigin=VerticalOrigin$1.CENTER,a.labelHorizontalOrigin=HorizontalOrigin$1.RIGHT,a.labelVerticalOrigin=VerticalOrigin$1.BASELINE}}Vector3DTilePoints.prototype.createFeatures=function(e,t){for(var i=this._billboardCollection,r=this._labelCollection,n=this._polylineCollection,a=this._batchIds,o=a.length,s=0;s<o;++s){var l=a[s],c=i.get(s),u=r.get(s),d=n.get(s);t[l]=new Cesium3DTilePointFeature(e,l,c,u,d)}},Vector3DTilePoints.prototype.applyDebugSettings=function(e,t){e?(Color.clone(t,this._billboardCollection._highlightColor),Color.clone(t,this._labelCollection._highlightColor),Color.clone(t,this._polylineCollection._highlightColor)):(Color.clone(Color.WHITE,this._billboardCollection._highlightColor),Color.clone(Color.WHITE,this._labelCollection._highlightColor),Color.clone(Color.WHITE,this._polylineCollection._highlightColor))};var scratchColor$6=new Color,scratchColor2=new Color,scratchColor3=new Color,scratchColor4=new Color,scratchColor5=new Color,scratchColor6=new Color,scratchScaleByDistance=new NearFarScalar,scratchTranslucencyByDistance=new NearFarScalar,scratchDistanceDisplayCondition=new DistanceDisplayCondition;function Vector3DTilePolygons(e){this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._counts=e.counts,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._batchedPositions=void 0,this._transferrableBatchIds=void 0,this._vertexBatchIds=void 0,this._ellipsoid=defaultValue(e.ellipsoid,Ellipsoid.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._polygonMinimumHeights=e.polygonMinimumHeights,this._polygonMaximumHeights=e.polygonMaximumHeights,this._center=defaultValue(e.center,Cartesian3.ZERO),this._rectangle=e.rectangle,this._center=void 0,this._boundingVolume=e.boundingVolume,this._boundingVolumes=void 0,this._batchedIndices=void 0,this._ready=!1,this._readyPromise=when.defer(),this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=ClassificationType$1.BOTH}function packBuffer$2(e){var t=new Float64Array(3+Cartesian3.packedLength+Ellipsoid.packedLength+Rectangle.packedLength),i=0;return t[i++]=e._indices.BYTES_PER_ELEMENT,t[i++]=e._minimumHeight,t[i++]=e._maximumHeight,Cartesian3.pack(e._center,t,3),i+=Cartesian3.packedLength,Ellipsoid.pack(e._ellipsoid,t,i),i+=Ellipsoid.packedLength,Rectangle.pack(e._rectangle,t,i),t}function unpackBuffer$1(e,t){for(var i=1,r=t[i++],n=e._boundingVolumes=new Array(r),a=0;a<r;++a)n[a]=OrientedBoundingBox.unpack(t,i),i+=OrientedBoundingBox.packedLength;for(var o=t[i++],s=e._batchedIndices=new Array(o),l=0;l<o;++l){var c=Color.unpack(t,i);i+=Color.packedLength;for(var u=t[i++],d=t[i++],h=t[i++],p=new Array(h),m=0;m<h;++m)p[m]=t[i++];s[l]=new Vector3DTileBatch({color:c,offset:u,count:d,batchIds:p})}}Vector3DTilePoints.prototype.applyStyle=function(e,t){if(defined(e))for(var i=this._batchIds,r=i.length,n=0;n<r;++n){var a,o,s=t[i[n]];defined(e.show)&&(s.show=e.show.evaluate(s)),defined(e.pointSize)&&(s.pointSize=e.pointSize.evaluate(s)),defined(e.color)&&(s.color=e.color.evaluateColor(s,scratchColor$6)),defined(e.pointOutlineColor)&&(s.pointOutlineColor=e.pointOutlineColor.evaluateColor(s,scratchColor2)),defined(e.pointOutlineWidth)&&(s.pointOutlineWidth=e.pointOutlineWidth.evaluate(s)),defined(e.labelColor)&&(s.labelColor=e.labelColor.evaluateColor(s,scratchColor3)),defined(e.labelOutlineColor)&&(s.labelOutlineColor=e.labelOutlineColor.evaluateColor(s,scratchColor4)),defined(e.labelOutlineWidth)&&(s.labelOutlineWidth=e.labelOutlineWidth.evaluate(s)),defined(e.font)&&(s.font=e.font.evaluate(s)),defined(e.labelStyle)&&(s.labelStyle=e.labelStyle.evaluate(s)),defined(e.labelText)?s.labelText=e.labelText.evaluate(s):s.labelText=void 0,defined(e.backgroundColor)&&(s.backgroundColor=e.backgroundColor.evaluateColor(s,scratchColor5)),defined(e.backgroundPadding)&&(s.backgroundPadding=e.backgroundPadding.evaluate(s)),defined(e.backgroundEnabled)&&(s.backgroundEnabled=e.backgroundEnabled.evaluate(s)),defined(e.scaleByDistance)?(a=e.scaleByDistance.evaluate(s),scratchScaleByDistance.near=a.x,scratchScaleByDistance.nearValue=a.y,scratchScaleByDistance.far=a.z,scratchScaleByDistance.farValue=a.w,s.scaleByDistance=scratchScaleByDistance):s.scaleByDistance=void 0,defined(e.translucencyByDistance)?(o=e.translucencyByDistance.evaluate(s),scratchTranslucencyByDistance.near=o.x,scratchTranslucencyByDistance.nearValue=o.y,scratchTranslucencyByDistance.far=o.z,scratchTranslucencyByDistance.farValue=o.w,s.translucencyByDistance=scratchTranslucencyByDistance):s.translucencyByDistance=void 0,defined(e.distanceDisplayCondition)?(o=e.distanceDisplayCondition.evaluate(s),scratchDistanceDisplayCondition.near=o.x,scratchDistanceDisplayCondition.far=o.y,s.distanceDisplayCondition=scratchDistanceDisplayCondition):s.distanceDisplayCondition=void 0,defined(e.heightOffset)&&(s.heightOffset=e.heightOffset.evaluate(s)),defined(e.anchorLineEnabled)&&(s.anchorLineEnabled=e.anchorLineEnabled.evaluate(s)),defined(e.anchorLineColor)&&(s.anchorLineColor=e.anchorLineColor.evaluateColor(s,scratchColor6)),defined(e.image)?s.image=e.image.evaluate(s):s.image=void 0,defined(e.disableDepthTestDistance)&&(s.disableDepthTestDistance=e.disableDepthTestDistance.evaluate(s)),defined(e.horizontalOrigin)&&(s.horizontalOrigin=e.horizontalOrigin.evaluate(s)),defined(e.verticalOrigin)&&(s.verticalOrigin=e.verticalOrigin.evaluate(s)),defined(e.labelHorizontalOrigin)&&(s.labelHorizontalOrigin=e.labelHorizontalOrigin.evaluate(s)),defined(e.labelVerticalOrigin)&&(s.labelVerticalOrigin=e.labelVerticalOrigin.evaluate(s))}else clearStyle$1(this,t)},Vector3DTilePoints.prototype.update=function(e){createPoints(this,e.mapProjection.ellipsoid),this._ready&&(this._polylineCollection.update(e),this._billboardCollection.update(e),this._labelCollection.update(e),this._resolvedPromise||(this._readyPromise.resolve(),this._resolvedPromise=!0))},Vector3DTilePoints.prototype.isDestroyed=function(){return!1},Vector3DTilePoints.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._polylineCollection=this._polylineCollection&&this._polylineCollection.destroy(),destroyObject(this)},Object.defineProperties(Vector3DTilePolygons.prototype,{trianglesLength:{get:function(){return defined(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return defined(this._primitive)?this._primitive.geometryByteLength:0}},readyPromise:{get:function(){return this._readyPromise.promise}}});var createVerticesTaskProcessor$2=new TaskProcessor("createVectorTilePolygons"),scratchColor$7=new Color;function createPrimitive$2(r){if(!defined(r._primitive)){if(!defined(r._verticesPromise)){var e=r._positions,t=r._counts,i=r._indexCounts,n=r._indices,a=r._transferrableBatchIds,o=r._batchTableColors,s=r._packedBuffer;if(!defined(o)){e=r._positions=arraySlice(r._positions),t=r._counts=arraySlice(r._counts),i=r._indexCounts=arraySlice(r._indexCounts),n=r._indices=arraySlice(r._indices),r._center=r._ellipsoid.cartographicToCartesian(Rectangle.center(r._rectangle)),a=r._transferrableBatchIds=new Uint32Array(r._batchIds),o=r._batchTableColors=new Uint32Array(a.length);for(var l=r._batchTable,c=o.length,u=0;u<c;++u){var d=l.getColor(u,scratchColor$7);o[u]=d.toRgba()}s=r._packedBuffer=packBuffer$2(r)}var h=[e.buffer,t.buffer,i.buffer,n.buffer,a.buffer,o.buffer,s.buffer],i={packedBuffer:s.buffer,positions:e.buffer,counts:t.buffer,indexCounts:i.buffer,indices:n.buffer,batchIds:a.buffer,batchTableColors:o.buffer},n=r._polygonMinimumHeights,a=r._polygonMaximumHeights;defined(n)&&defined(a)&&(n=arraySlice(n),a=arraySlice(a),h.push(n.buffer,a.buffer),i.minimumHeights=n,i.maximumHeights=a);h=r._verticesPromise=createVerticesTaskProcessor$2.scheduleTask(i,h);if(!defined(h))return;when(h,function(e){r._positions=void 0,r._counts=void 0,r._polygonMinimumHeights=void 0,r._polygonMaximumHeights=void 0;var t=new Float64Array(e.packedBuffer),i=t[0];unpackBuffer$1(r,t),r._indices=new(2===IndexDatatype$1.getSizeInBytes(i)?Uint16Array:Uint32Array)(e.indices),r._indexOffsets=new Uint32Array(e.indexOffsets),r._indexCounts=new Uint32Array(e.indexCounts),r._batchedPositions=new Float32Array(e.positions),r._vertexBatchIds=new Uint16Array(e.batchIds),r._ready=!0})}r._ready&&!defined(r._primitive)&&(r._primitive=new Vector3DTilePrimitive({batchTable:r._batchTable,positions:r._batchedPositions,batchIds:r._batchIds,vertexBatchIds:r._vertexBatchIds,indices:r._indices,indexOffsets:r._indexOffsets,indexCounts:r._indexCounts,batchedIndices:r._batchedIndices,boundingVolume:r._boundingVolume,boundingVolumes:r._boundingVolumes,center:r._center}),r._batchTable=void 0,r._batchIds=void 0,r._positions=void 0,r._counts=void 0,r._indices=void 0,r._indexCounts=void 0,r._indexOffsets=void 0,r._batchTableColors=void 0,r._packedBuffer=void 0,r._batchedPositions=void 0,r._transferrableBatchIds=void 0,r._vertexBatchIds=void 0,r._ellipsoid=void 0,r._minimumHeight=void 0,r._maximumHeight=void 0,r._polygonMinimumHeights=void 0,r._polygonMaximumHeights=void 0,r._center=void 0,r._rectangle=void 0,r._boundingVolume=void 0,r._boundingVolumes=void 0,r._batchedIndices=void 0,r._verticesPromise=void 0,r._readyPromise.resolve())}}Vector3DTilePolygons.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)},Vector3DTilePolygons.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)},Vector3DTilePolygons.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)},Vector3DTilePolygons.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)},Vector3DTilePolygons.prototype.update=function(e){createPrimitive$2(this),this._ready&&(this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e))},Vector3DTilePolygons.prototype.isDestroyed=function(){return!1},Vector3DTilePolygons.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),destroyObject(this)};var Vector3DTilePolylinesVS="attribute vec4 currentPosition;\nattribute vec4 previousPosition;\nattribute vec4 nextPosition;\nattribute vec2 expandAndWidth;\nattribute float a_batchId;\nuniform mat4 u_modifiedModelView;\nvoid main()\n{\nfloat expandDir = expandAndWidth.x;\nfloat width = abs(expandAndWidth.y) + 0.5;\nbool usePrev = expandAndWidth.y < 0.0;\nvec4 p = u_modifiedModelView * currentPosition;\nvec4 prev = u_modifiedModelView * previousPosition;\nvec4 next = u_modifiedModelView * nextPosition;\nfloat angle;\nvec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle);\ngl_Position = czm_viewportOrthographic * positionWC;\n}\n";function Vector3DTilePolylines(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=defaultValue(e.ellipsoid,Ellipsoid.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=Color.clone(Color.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._readyPromise=when.defer(),this._verticesPromise=void 0}function packBuffer$3(e){var t=e._rectangle,i=e._minimumHeight,r=e._maximumHeight,n=e._ellipsoid,a=e._center,o=2+Rectangle.packedLength+Ellipsoid.packedLength+Cartesian3.packedLength,e=new Float64Array(o),o=0;return e[o++]=i,e[o++]=r,Rectangle.pack(t,e,2),o+=Rectangle.packedLength,Ellipsoid.pack(n,e,o),o+=Ellipsoid.packedLength,Cartesian3.pack(a,e,o),e}Object.defineProperties(Vector3DTilePolylines.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},readyPromise:{get:function(){return this._readyPromise.promise}}});var createVerticesTaskProcessor$3=new TaskProcessor("createVectorTilePolylines"),attributeLocations$2={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function createVertexArray$4(i,e){if(!defined(i._va)){if(!defined(i._verticesPromise)){var t=i._positions,r=i._widths,n=i._counts,a=i._transferrableBatchIds,o=i._packedBuffer;defined(o)||(t=i._positions=arraySlice(t),r=i._widths=arraySlice(r),n=i._counts=arraySlice(n),a=i._transferrableBatchIds=arraySlice(i._batchIds),o=i._packedBuffer=packBuffer$3(i));var s=[t.buffer,r.buffer,n.buffer,a.buffer,o.buffer],l={positions:t.buffer,widths:r.buffer,counts:n.buffer,batchIds:a.buffer,packedBuffer:o.buffer},t=i._verticesPromise=createVerticesTaskProcessor$3.scheduleTask(l,s);if(!defined(t))return;when(t,function(e){i._currentPositions=new Float32Array(e.currentPositions),i._previousPositions=new Float32Array(e.previousPositions),i._nextPositions=new Float32Array(e.nextPositions),i._expandAndWidth=new Float32Array(e.expandAndWidth),i._vertexBatchIds=new Uint16Array(e.batchIds);var t=e.indexDatatype;i._indices=new(t===IndexDatatype$1.UNSIGNED_SHORT?Uint16Array:Uint32Array)(e.indices),i._ready=!0})}i._ready&&!defined(i._va)&&(r=i._currentPositions,n=i._previousPositions,a=i._nextPositions,o=i._expandAndWidth,l=i._vertexBatchIds,s=i._indices,t=n.byteLength+r.byteLength+a.byteLength,t+=o.byteLength+l.byteLength+s.byteLength,i._trianglesLength=s.length/3,i._geometryByteLength=t,n=Buffer$1.createVertexBuffer({context:e,typedArray:n,usage:BufferUsage$1.STATIC_DRAW}),r=Buffer$1.createVertexBuffer({context:e,typedArray:r,usage:BufferUsage$1.STATIC_DRAW}),a=Buffer$1.createVertexBuffer({context:e,typedArray:a,usage:BufferUsage$1.STATIC_DRAW}),o=Buffer$1.createVertexBuffer({context:e,typedArray:o,usage:BufferUsage$1.STATIC_DRAW}),l=Buffer$1.createVertexBuffer({context:e,typedArray:l,usage:BufferUsage$1.STATIC_DRAW}),s=Buffer$1.createIndexBuffer({context:e,typedArray:s,usage:BufferUsage$1.STATIC_DRAW,indexDatatype:2===s.BYTES_PER_ELEMENT?IndexDatatype$1.UNSIGNED_SHORT:IndexDatatype$1.UNSIGNED_INT}),l=[{index:attributeLocations$2.previousPosition,vertexBuffer:n,componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3},{index:attributeLocations$2.currentPosition,vertexBuffer:r,componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3},{index:attributeLocations$2.nextPosition,vertexBuffer:a,componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3},{index:attributeLocations$2.expandAndWidth,vertexBuffer:o,componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2},{index:attributeLocations$2.a_batchId,vertexBuffer:l,componentDatatype:ComponentDatatype$1.UNSIGNED_SHORT,componentsPerAttribute:1}],i._va=new VertexArray({context:e,attributes:l,indexBuffer:s}),i._positions=void 0,i._widths=void 0,i._counts=void 0,i._ellipsoid=void 0,i._minimumHeight=void 0,i._maximumHeight=void 0,i._rectangle=void 0,i._transferrableBatchIds=void 0,i._packedBuffer=void 0,i._currentPositions=void 0,i._previousPositions=void 0,i._nextPositions=void 0,i._expandAndWidth=void 0,i._vertexBatchIds=void 0,i._indices=void 0,i._readyPromise.resolve())}}var modifiedModelViewScratch$2=new Matrix4,rtcScratch$2=new Cartesian3;function createUniformMap$3(t,i){defined(t._uniformMap)||(t._uniformMap={u_modifiedModelView:function(){var e=i.uniformState.view;return Matrix4.clone(e,modifiedModelViewScratch$2),Matrix4.multiplyByPoint(modifiedModelViewScratch$2,t._center,rtcScratch$2),Matrix4.setTranslation(modifiedModelViewScratch$2,rtcScratch$2,modifiedModelViewScratch$2),modifiedModelViewScratch$2},u_highlightColor:function(){return t._highlightColor}})}function createRenderStates$4(e){defined(e._rs)||(e._rs=RenderState.fromCache({blending:BlendingState$1.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:{enabled:!0,factor:-5,units:-5}}))}var PolylineFS$1="uniform vec4 u_highlightColor; \nvoid main()\n{\n gl_FragColor = u_highlightColor;\n}\n";function createShaders$2(e,t){var i,r;defined(e._sp)||(i=(r=e._batchTable).getVertexShaderCallback(!1,"a_batchId",void 0)(Vector3DTilePolylinesVS),r=r.getFragmentShaderCallback()(PolylineFS$1,!1,void 0),i=new ShaderSource({defines:["VECTOR_TILE",FeatureDetection.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[PolylineCommon,i]}),r=new ShaderSource({defines:["VECTOR_TILE"],sources:[r]}),e._sp=ShaderProgram.fromCache({context:t,vertexShaderSource:i,fragmentShaderSource:r,attributeLocations:attributeLocations$2}))}function queueCommands$1(e,t){var i;defined(e._command)||(i=e._batchTable.getUniformMapCallback()(e._uniformMap),e._command=new DrawCommand({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:i,boundingVolume:e._boundingVolume,pass:Pass$1.TRANSLUCENT,pickId:e._batchTable.getPickId()})),t.commandList.push(e._command)}function clearStyle$2(e,t){for(var i=e._batchIds,r=i.length,n=0;n<r;++n){var a=t[i[n]];a.show=!0,a.color=Color.WHITE}}Vector3DTilePolylines.prototype.createFeatures=function(e,t){for(var i=this._batchIds,r=i.length,n=0;n<r;++n){var a=i[n];t[a]=new Cesium3DTileFeature(e,a)}},Vector3DTilePolylines.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};var scratchColor$8=new Color,DEFAULT_COLOR_VALUE$2=Color.WHITE,DEFAULT_SHOW_VALUE$2=!0;function Vector3DTileContent(e,t,i,r,n){this._tileset=e,this._tile=t,this._resource=i,this._polygons=void 0,this._polylines=void 0,this._points=void 0,this._contentReadyPromise=void 0,this._readyPromise=when.defer(),this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,initialize$8(this,r,n)}function createColorChangedCallback$2(i){return function(e,t){defined(i._polygons)&&i._polygons.updateCommands(e,t)}}function getBatchIds$1(e,t){var i,r,n,a,o,s=defaultValue(e.POLYGONS_LENGTH,0),l=defaultValue(e.POLYLINES_LENGTH,0),c=defaultValue(e.POINTS_LENGTH,0);0<s&&defined(e.POLYGON_BATCH_IDS)&&(n=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset,r=new Uint16Array(t.buffer,n,s)),0<l&&defined(e.POLYLINE_BATCH_IDS)&&(n=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset,a=new Uint16Array(t.buffer,n,l)),0<c&&defined(e.POINT_BATCH_IDS)&&(u=t.byteOffset+e.POINT_BATCH_IDS.byteOffset,o=new Uint16Array(t.buffer,u,c));var t=defined(r)||defined(a)||defined(o),u=0<s&&!defined(r)||0<l&&!defined(a)||0<c&&!defined(o);if(t&&u)throw new RuntimeError("If one group of batch ids is defined, then all batch ids must be defined.");if(!defined(r)&&!defined(a)&&!defined(o)){var d=0;if(!defined(r)&&0<s)for(r=new Uint16Array(s),i=0;i<s;++i)r[i]=d++;if(!defined(a)&&0<l)for(a=new Uint16Array(l),i=0;i<l;++i)a[i]=d++;if(!defined(o)&&0<c)for(o=new Uint16Array(c),i=0;i<c;++i)o[i]=d++}return{polygons:r,polylines:a,points:o}}Vector3DTilePolylines.prototype.applyStyle=function(e,t){if(defined(e))for(var i=this._batchIds,r=i.length,n=0;n<r;++n){var a=t[i[n]];a.color=defined(e.color)?e.color.evaluateColor(a,scratchColor$8):DEFAULT_COLOR_VALUE$2,a.show=defined(e.show)?e.show.evaluate(a):DEFAULT_SHOW_VALUE$2}else clearStyle$2(this,t)},Vector3DTilePolylines.prototype.update=function(e){var t=e.context;createVertexArray$4(this,t),createUniformMap$3(this,t),createShaders$2(this,t),createRenderStates$4(this),!this._ready||((t=e.passes).render||t.pick)&&queueCommands$1(this,e)},Vector3DTilePolylines.prototype.isDestroyed=function(){return!1},Vector3DTilePolylines.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),destroyObject(this)},Object.defineProperties(Vector3DTileContent.prototype,{featuresLength:{get:function(){return defined(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return defined(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){var e=0;return defined(this._polygons)&&(e+=this._polygons.trianglesLength),defined(this._polylines)&&(e+=this._polylines.trianglesLength),e}},geometryByteLength:{get:function(){var e=0;return defined(this._polygons)&&(e+=this._polygons.geometryByteLength),defined(this._polylines)&&(e+=this._polylines.geometryByteLength),e}},texturesByteLength:{get:function(){return defined(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return defined(this._batchTable)?this._batchTable.memorySizeInBytes:0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise.promise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){return this._batchTable}}});var sizeOfUint32$8=Uint32Array.BYTES_PER_ELEMENT;function initialize$8(e,t,i){i=defaultValue(i,0);var r=new Uint8Array(t),n=new DataView(t);i+=sizeOfUint32$8;var a=n.getUint32(i,!0);if(1!==a)throw new RuntimeError("Only Vector tile version 1 is supported. Version "+a+" is not.");i+=sizeOfUint32$8;var o=n.getUint32(i,!0);if(i+=sizeOfUint32$8,0!==o){var s=n.getUint32(i,!0);if(i+=sizeOfUint32$8,0===s)throw new RuntimeError("Feature table must have a byte length greater than zero");var l=n.getUint32(i,!0);i+=sizeOfUint32$8;var c=n.getUint32(i,!0);i+=sizeOfUint32$8;var u=n.getUint32(i,!0);i+=sizeOfUint32$8;var d=n.getUint32(i,!0);i+=sizeOfUint32$8;var h=n.getUint32(i,!0);i+=sizeOfUint32$8;var p=n.getUint32(i,!0);i+=sizeOfUint32$8;var m=n.getUint32(i,!0),f=getStringFromTypedArray(r,i+=sizeOfUint32$8,s),g=JSON.parse(f);i+=s;var _=new Uint8Array(t,i,l);i+=l,0<c&&(C=getStringFromTypedArray(r,i,c),v=JSON.parse(C),i+=c,0<u&&(S=new Uint8Array(t,i,u),S=new Uint8Array(S),i+=u));var a=defaultValue(g.POLYGONS_LENGTH,0),y=defaultValue(g.POLYLINES_LENGTH,0),o=defaultValue(g.POINTS_LENGTH,0),n=a+y+o,f=new Cesium3DTileBatchTable(e,n,v,S,createColorChangedCallback$2(e));if(e._batchTable=f,0!==n){s=new Cesium3DTileFeatureTable(g,_),l=s.getGlobalProperty("REGION");if(!defined(l))throw new RuntimeError("Feature table global property: REGION must be defined");var r=Rectangle.unpack(l),C=l[4],c=l[5],u=e._tile.computedTransform,v=s.getGlobalProperty("RTC_CENTER",ComponentDatatype$1.FLOAT,3);defined(v)?(v=Cartesian3.unpack(v),Matrix4.multiplyByPoint(u,v,v)):((v=Rectangle.center(r)).height=CesiumMath.lerp(C,c,.5),v=Ellipsoid.WGS84.cartographicToCartesian(v));var S=getBatchIds$1(g,_);if(i+=i%4,0<a){s.featuresLength=a;n=defaultValue(s.getPropertyArray("POLYGON_COUNTS",ComponentDatatype$1.UNSIGNED_INT,1),s.getPropertyArray("POLYGON_COUNT",ComponentDatatype$1.UNSIGNED_INT,1));if(!defined(n))throw new RuntimeError("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");l=defaultValue(s.getPropertyArray("POLYGON_INDEX_COUNTS",ComponentDatatype$1.UNSIGNED_INT,1),s.getPropertyArray("POLYGON_INDEX_COUNT",ComponentDatatype$1.UNSIGNED_INT,1));if(!defined(l))throw new RuntimeError("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");_=n.reduce(function(e,t){return e+2*t},0),a=l.reduce(function(e,t){return e+t},0),a=new Uint32Array(t,i,a);i+=d;var T,b,_=new Uint16Array(t,i,_);i+=h,defined(g.POLYGON_MINIMUM_HEIGHTS)&&defined(g.POLYGON_MAXIMUM_HEIGHTS)&&(T=s.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",ComponentDatatype$1.FLOAT,1),b=s.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",ComponentDatatype$1.FLOAT,1)),e._polygons=new Vector3DTilePolygons({positions:_,counts:n,indexCounts:l,indices:a,minimumHeight:C,maximumHeight:c,polygonMinimumHeights:T,polygonMaximumHeights:b,center:v,rectangle:r,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:f,batchIds:S.polygons,modelMatrix:u})}if(0<y){s.featuresLength=y;u=defaultValue(s.getPropertyArray("POLYLINE_COUNTS",ComponentDatatype$1.UNSIGNED_INT,1),s.getPropertyArray("POLYLINE_COUNT",ComponentDatatype$1.UNSIGNED_INT,1));if(!defined(u))throw new RuntimeError("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");var x=s.getPropertyArray("POLYLINE_WIDTHS",ComponentDatatype$1.UNSIGNED_SHORT,1);if(!defined(x)){x=new Uint16Array(y);for(var E=0;E<y;++E)x[E]=2}s=u.reduce(function(e,t){return e+3*t},0),s=new Uint16Array(t,i,s);i+=p,e._polylines=new Vector3DTilePolylines({positions:s,widths:x,counts:u,batchIds:S.polylines,minimumHeight:C,maximumHeight:c,center:v,rectangle:r,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:f})}0<o&&(o=new Uint16Array(t,i,3*o),i+=m,e._points=new Vector3DTilePoints({positions:o,batchIds:S.points,minimumHeight:C,maximumHeight:c,rectangle:r,batchTable:f}))}}else e._readyPromise.resolve(e)}function createFeatures$4(e){var t=e.featuresLength;!defined(e._features)&&0<t&&(t=new Array(t),defined(e._polygons)&&e._polygons.createFeatures(e,t),defined(e._polylines)&&e._polylines.createFeatures(e,t),defined(e._points)&&e._points.createFeatures(e,t),e._features=t)}Vector3DTileContent.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)},Vector3DTileContent.prototype.getFeature=function(e){return createFeatures$4(this),this._features[e]},Vector3DTileContent.prototype.applyDebugSettings=function(e,t){defined(this._polygons)&&this._polygons.applyDebugSettings(e,t),defined(this._polylines)&&this._polylines.applyDebugSettings(e,t),defined(this._points)&&this._points.applyDebugSettings(e,t)},Vector3DTileContent.prototype.applyStyle=function(e){createFeatures$4(this),defined(this._polygons)&&this._polygons.applyStyle(e,this._features),defined(this._polylines)&&this._polylines.applyStyle(e,this._features),defined(this._points)&&this._points.applyStyle(e,this._features)},Vector3DTileContent.prototype.update=function(e,t){var i,r=!0;defined(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),r=r&&this._polygons._ready),defined(this._polylines)&&(this._polylines.update(t),r=r&&this._polylines._ready),defined(this._points)&&(this._points.update(t),r=r&&this._points._ready),defined(this._batchTable)&&r&&this._batchTable.update(e,t),defined(this._contentReadyPromise)||(r=defined(this._points)?this._points.readyPromise:void 0,e=defined(this._polygons)?this._polygons.readyPromise:void 0,t=defined(this._polylines)?this._polylines.readyPromise:void 0,(i=this)._contentReadyPromise=when.all([r,e,t]).then(function(){i._readyPromise.resolve(i)}))},Vector3DTileContent.prototype.isDestroyed=function(){return!1},Vector3DTileContent.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),destroyObject(this)};var Cesium3DTileContentFactory={b3dm:function(e,t,i,r,n){return new Batched3DModel3DTileContent(e,t,i,r,n)},pnts:function(e,t,i,r,n){return new PointCloud3DTileContent(e,t,i,r,n)},i3dm:function(e,t,i,r,n){return new Instanced3DModel3DTileContent(e,t,i,r,n)},cmpt:function(e,t,i,r,n){return new Composite3DTileContent(e,t,i,r,n,Cesium3DTileContentFactory)},json:function(e,t,i,r,n){return new Tileset3DTileContent(e,t,i,r,n)},geom:function(e,t,i,r,n){return new Geometry3DTileContent(e,t,i,r,n)},vctr:function(e,t,i,r,n){return new Vector3DTileContent(e,t,i,r,n)}},Cesium3DTileContentState={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},Cesium3DTileContentState$1=Object.freeze(Cesium3DTileContentState),Cesium3DTileOptimizationHint={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0},Cesium3DTileOptimizationHint$1=Object.freeze(Cesium3DTileOptimizationHint);function Cesium3DTilesetMostDetailedTraversal(){}var traversal={stack:new ManagedArray,stackMaximumLength:0};function isVisible(e){return e._visible&&e._inRequestVolume}function hasEmptyContent(e){return e.hasEmptyContent||e.hasTilesetContent}function hasUnloadedContent(e){return!hasEmptyContent(e)&&e.contentUnloaded}function canTraverse(e,t){return 0!==t.children.length&&(t.hasTilesetContent?!t.contentExpired:(t.hasEmptyContent,!0))}function updateAndPushChildren(e,t,i,r){for(var n=t.children,a=n.length,o=0;o<a;++o){var s=n[o];s.updateVisibility(r),isVisible(s)&&i.push(s)}}function loadTile(e,t){(hasUnloadedContent(t)||t.contentExpired)&&(t._priority=0,e._requestedTiles.push(t))}function touchTile(e,t,i){t._touchedFrame!==i.frameNumber&&(e._cache.touch(t),t._touchedFrame=i.frameNumber)}function visitTile(e){++e.statistics.visited}function selectDesiredTile(e,t,i){t.contentAvailable&&t.contentVisibility(i)!==Intersect$1.OUTSIDE&&e._selectedTiles.push(t)}function Cesium3DTilesetTraversal(){}function isVisible$1(e){return e._visible&&e._inRequestVolume}Cesium3DTilesetMostDetailedTraversal.selectTiles=function(e,t){e._selectedTiles.length=0,e._requestedTiles.length=0;var i=!(e._hasMixedContent=!1),r=e.root;if(r.updateVisibility(t),!isVisible(r))return i;var n=traversal.stack;for(n.push(e.root);0<n.length;){traversal.stackMaximumLength=Math.max(traversal.stackMaximumLength,n.length);var a=n.pop(),o=a.refine===Cesium3DTileRefine$1.ADD,s=a.refine===Cesium3DTileRefine$1.REPLACE,l=canTraverse(e,a);l&&updateAndPushChildren(e,a,n,t),(o||s&&!l)&&(loadTile(e,a),touchTile(e,a,t),selectDesiredTile(e,a,t),hasEmptyContent(a)||a.contentAvailable||(i=!1)),visitTile(e)}return traversal.stack.trim(traversal.stackMaximumLength),i};var traversal$1={stack:new ManagedArray,stackMaximumLength:0},emptyTraversal={stack:new ManagedArray,stackMaximumLength:0},descendantTraversal={stack:new ManagedArray,stackMaximumLength:0},selectionTraversal={stack:new ManagedArray,stackMaximumLength:0,ancestorStack:new ManagedArray,ancestorStackMaximumLength:0},descendantSelectionDepth=2;function executeBaseTraversal(e,t,i){executeTraversal(e,t,e._maximumScreenSpaceError,e._maximumScreenSpaceError,i)}function executeSkipTraversal(e,t,i){executeTraversal(e,t,Number.MAX_VALUE,e._maximumScreenSpaceError,i),traverseAndSelect(e,t,i)}function executeBaseAndSkipTraversal(e,t,i){executeTraversal(e,t,Math.max(e.baseScreenSpaceError,e.maximumScreenSpaceError),e.maximumScreenSpaceError,i),traverseAndSelect(e,t,i)}function skipLevelOfDetail(e){return e._skipLevelOfDetail}function addEmptyTile(e,t){e._emptyTiles.push(t)}function selectTile(e,t,i){var r;t.contentVisibility(i)!==Intersect$1.OUTSIDE&&((r=t.content).featurePropertiesDirty?(r.featurePropertiesDirty=!1,t.lastStyleTime=0,e._selectedTilesToStyle.push(t)):t._selectedFrame<i.frameNumber-1&&e._selectedTilesToStyle.push(t),t._selectedFrame=i.frameNumber,e._selectedTiles.push(t))}function selectDescendants(e,t,i){var r=descendantTraversal.stack;for(r.push(t);0<r.length;){descendantTraversal.stackMaximumLength=Math.max(descendantTraversal.stackMaximumLength,r.length);for(var n=r.pop().children,a=n.length,o=0;o<a;++o){var s=n[o];isVisible$1(s)&&(s.contentAvailable?(updateTile(e,s,i),touchTile$1(e,s,i),selectTile(e,s,i)):s._depth-t._depth<descendantSelectionDepth&&r.push(s))}}}function selectDesiredTile$1(e,t,i){var r;skipLevelOfDetail(e)?defined(r=t.contentAvailable?t:t._ancestorWithContentAvailable)?r._shouldSelect=!0:selectDescendants(e,t,i):t.contentAvailable&&selectTile(e,t,i)}function visitTile$1(e,t,i){++e._statistics.visited,t._visitedFrame=i.frameNumber}function touchTile$1(e,t,i){t._touchedFrame!==i.frameNumber&&(e._cache.touch(t),t._touchedFrame=i.frameNumber)}function updateMinimumMaximumPriority(e,t){e._maximumPriority.distance=Math.max(t._priorityHolder._distanceToCamera,e._maximumPriority.distance),e._minimumPriority.distance=Math.min(t._priorityHolder._distanceToCamera,e._minimumPriority.distance),e._maximumPriority.depth=Math.max(t._depth,e._maximumPriority.depth),e._minimumPriority.depth=Math.min(t._depth,e._minimumPriority.depth),e._maximumPriority.foveatedFactor=Math.max(t._priorityHolder._foveatedFactor,e._maximumPriority.foveatedFactor),e._minimumPriority.foveatedFactor=Math.min(t._priorityHolder._foveatedFactor,e._minimumPriority.foveatedFactor),e._maximumPriority.reverseScreenSpaceError=Math.max(t._priorityReverseScreenSpaceError,e._maximumPriority.reverseScreenSpaceError),e._minimumPriority.reverseScreenSpaceError=Math.min(t._priorityReverseScreenSpaceError,e._minimumPriority.reverseScreenSpaceError)}function isOnScreenLongEnough(e,t,i){if(!e._cullRequestsWhileMoving)return 1;t=t.boundingSphere,t=Math.max(2*t.radius,1),i=i.camera,i=0!==i.positionWCDeltaMagnitude?i.positionWCDeltaMagnitude:i.positionWCDeltaMagnitudeLastFrame;return e.cullRequestsWhileMovingMultiplier*i/t<1}function loadTile$1(e,t,i){var r;t._requestedFrame!==i.frameNumber&&(hasUnloadedContent$1(t)||t.contentExpired)&&isOnScreenLongEnough(e,t,i)&&(r=i.camera.timeSinceMoved<e.foveatedTimeDelay,t.priorityDeferred&&r||(t._requestedFrame=i.frameNumber,e._requestedTiles.push(t)))}function updateVisibility(e,t,i){t._updatedVisibilityFrame!==e._updatedVisibilityFrame&&(t.updateVisibility(i),t._updatedVisibilityFrame=e._updatedVisibilityFrame)}function anyChildrenVisible(e,t,i){for(var r=!1,n=t.children,a=n.length,o=0;o<a;++o){var s=n[o];updateVisibility(e,s,i),r=r||isVisible$1(s)}return r}function meetsScreenSpaceErrorEarly(e,t,i){var r=t.parent;return defined(r)&&!r.hasTilesetContent&&r.refine===Cesium3DTileRefine$1.ADD&&t.getScreenSpaceError(i,!0)<=e._maximumScreenSpaceError}function updateTileVisibility(e,t,i){if(updateVisibility(e,t,i),isVisible$1(t)){var r,n=0<t.children.length;if(t.hasTilesetContent&&n){var a=t.children[0];return updateTileVisibility(e,a,i),void(t._visible=a._visible)}meetsScreenSpaceErrorEarly(e,t,i)?t._visible=!1:(r=t.refine===Cesium3DTileRefine$1.REPLACE,a=t._optimChildrenWithinParent===Cesium3DTileOptimizationHint$1.USE_OPTIMIZATION,r&&a&&n&&(anyChildrenVisible(e,t,i)||(++e._statistics.numberOfTilesCulledWithChildrenUnion,t._visible=!1)))}}function updateTile(e,t,i){updateTileVisibility(e,t,i),t.updateExpiration(),t._wasMinPriorityChild=!1,updateMinimumMaximumPriority(e,t._priorityHolder=t),t._shouldSelect=!1,t._finalResolution=!0}function updateTileAncestorContentLinks(e,t){e._ancestorWithContent=void 0,e._ancestorWithContentAvailable=void 0;var i=e.parent;defined(i)&&(t=!hasUnloadedContent$1(i)||i._requestedFrame===t.frameNumber,e._ancestorWithContent=t?i:i._ancestorWithContent,e._ancestorWithContentAvailable=i.contentAvailable?i:i._ancestorWithContentAvailable)}function hasEmptyContent$1(e){return e.hasEmptyContent||e.hasTilesetContent}function hasUnloadedContent$1(e){return!hasEmptyContent$1(e)&&e.contentUnloaded}function reachedSkippingThreshold(e,t){var i=t._ancestorWithContent;return!e.immediatelyLoadDesiredLevelOfDetail&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf||defined(i)&&t._screenSpaceError<i._screenSpaceError/e.skipScreenSpaceErrorFactor&&t._depth>i._depth+e.skipLevels)}function sortChildrenByDistanceToCamera(e,t){return 0===t._distanceToCamera&&0===e._distanceToCamera?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera}function updateAndPushChildren$1(e,t,i,r){for(var n=t.refine===Cesium3DTileRefine$1.REPLACE,a=t.children,o=a.length,s=0;s<o;++s)updateTile(e,a[s],r);a.sort(sortChildrenByDistanceToCamera);var l,c,u=!skipLevelOfDetail(e)&&n&&!hasEmptyContent$1(t),d=!0,h=!1,p=-1,m=Number.MAX_VALUE;for(s=0;s<o;++s)isVisible$1(c=a[s])?(i.push(c),c._foveatedFactor<m&&(p=s,m=c._foveatedFactor),h=!0):(u||e.loadSiblings)&&(c._foveatedFactor<m&&(p=s,m=c._foveatedFactor),loadTile$1(e,c,r),touchTile$1(e,c,r)),u&&(l=!!c._inRequestVolume&&(hasEmptyContent$1(c)?executeEmptyTraversal(e,c,r):c.contentAvailable),d=d&&l);if(h||(d=!1),-1!==p&&!skipLevelOfDetail(e)&&n){n=a[p];n._wasMinPriorityChild=!0;var f=(t._wasMinPriorityChild||t===e.root)&&m<=t._priorityHolder._foveatedFactor?t._priorityHolder:t;for(f._foveatedFactor=Math.min(n._foveatedFactor,f._foveatedFactor),f._distanceToCamera=Math.min(n._distanceToCamera,f._distanceToCamera),s=0;s<o;++s)(c=a[s])._priorityHolder=f}return d}function inBaseTraversal(e,t,i){return!skipLevelOfDetail(e)||!e.immediatelyLoadDesiredLevelOfDetail&&(!defined(t._ancestorWithContent)||(0===t._screenSpaceError?t.parent._screenSpaceError>i:t._screenSpaceError>i))}function canTraverse$1(e,t){return 0!==t.children.length&&(t.hasTilesetContent?!t.contentExpired:t._screenSpaceError>e._maximumScreenSpaceError)}function executeTraversal(e,t,i,r,n){var a=traversal$1.stack;for(a.push(t);0<a.length;){traversal$1.stackMaximumLength=Math.max(traversal$1.stackMaximumLength,a.length);var o=a.pop();updateTileAncestorContentLinks(o,n);var s=inBaseTraversal(e,o,i),l=o.refine===Cesium3DTileRefine$1.ADD,c=o.refine===Cesium3DTileRefine$1.REPLACE,u=o.parent,d=!defined(u)||u._refines,u=!1;canTraverse$1(e,o)&&(u=updateAndPushChildren$1(e,o,a,n)&&d);d=!u&&d;hasEmptyContent$1(o)?(addEmptyTile(e,o),loadTile$1(e,o,n),d&&selectDesiredTile$1(e,o,n)):l?(selectDesiredTile$1(e,o,n),loadTile$1(e,o,n)):c&&(s?(loadTile$1(e,o,n),d&&selectDesiredTile$1(e,o,n)):d?(selectDesiredTile$1(e,o,n),loadTile$1(e,o,n)):reachedSkippingThreshold(e,o)&&loadTile$1(e,o,n)),visitTile$1(e,o,n),touchTile$1(e,o,n),o._refines=u}}function executeEmptyTraversal(e,t,i){var r=!0,n=emptyTraversal.stack;for(n.push(t);0<n.length;){emptyTraversal.stackMaximumLength=Math.max(emptyTraversal.stackMaximumLength,n.length);var a=n.pop(),o=a.children,s=o.length,l=hasEmptyContent$1(a),c=l&&canTraverse$1(e,a),l=l&&0===a.children.length;if(c||a.contentAvailable||l||(r=!1),updateTile(e,a,i),isVisible$1(a)||(loadTile$1(e,a,i),touchTile$1(e,a,i)),c)for(var u=0;u<s;++u){var d=o[u];n.push(d)}}return r}function traverseAndSelect(e,t,i){var r,n=selectionTraversal.stack,a=selectionTraversal.ancestorStack;for(n.push(t);0<n.length||0<a.length;){if(selectionTraversal.stackMaximumLength=Math.max(selectionTraversal.stackMaximumLength,n.length),selectionTraversal.ancestorStackMaximumLength=Math.max(selectionTraversal.ancestorStackMaximumLength,a.length),0<a.length){var o=a.peek();if(o._stackLength===n.length){a.pop(),o!==r&&(o._finalResolution=!1),selectTile(e,o,i);continue}}var s=n.pop();if(defined(s)){var l=s.refine===Cesium3DTileRefine$1.ADD,c=s._shouldSelect,u=s.children,d=u.length,o=canTraverse$1(e,s);if(c)if(l)selectTile(e,s,i);else{if(s._selectionDepth=a.length,0<s._selectionDepth&&(e._hasMixedContent=!0),r=s,!o){selectTile(e,s,i);continue}a.push(s),s._stackLength=n.length}if(o)for(var h=0;h<d;++h){var p=u[h];isVisible$1(p)&&n.push(p)}}}}Cesium3DTilesetTraversal.selectTiles=function(e,t){if(e._requestedTiles.length=0,!e.debugFreezeFrame){e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e._hasMixedContent=!1;var i=e.root;if(updateTile(e,i,t),isVisible$1(i)&&!(i.getScreenSpaceError(t,!0)<=e._maximumScreenSpaceError)){(skipLevelOfDetail(e)?e.immediatelyLoadDesiredLevelOfDetail?executeSkipTraversal:executeBaseAndSkipTraversal:executeBaseTraversal)(e,i,t),traversal$1.stack.trim(traversal$1.stackMaximumLength),emptyTraversal.stack.trim(emptyTraversal.stackMaximumLength),descendantTraversal.stack.trim(descendantTraversal.stackMaximumLength),selectionTraversal.stack.trim(selectionTraversal.stackMaximumLength),selectionTraversal.ancestorStack.trim(selectionTraversal.ancestorStackMaximumLength);for(var r=e._requestedTiles,n=r.length,a=0;a<n;++a)r[a].updatePriority()}}};var Cesium3DTilePass={RENDER:0,PICK:1,SHADOW:2,PRELOAD:3,PRELOAD_FLIGHT:4,REQUEST_RENDER_MODE_DEFER_CHECK:5,MOST_DETAILED_PRELOAD:6,MOST_DETAILED_PICK:7,NUMBER_OF_PASSES:8},passOptions=new Array(Cesium3DTilePass.NUMBER_OF_PASSES);passOptions[Cesium3DTilePass.RENDER]=Object.freeze({traversal:Cesium3DTilesetTraversal,isRender:!0,requestTiles:!0,ignoreCommands:!1}),passOptions[Cesium3DTilePass.PICK]=Object.freeze({traversal:Cesium3DTilesetTraversal,isRender:!1,requestTiles:!1,ignoreCommands:!1}),passOptions[Cesium3DTilePass.SHADOW]=Object.freeze({traversal:Cesium3DTilesetTraversal,isRender:!1,requestTiles:!0,ignoreCommands:!1}),passOptions[Cesium3DTilePass.PRELOAD]=Object.freeze({traversal:Cesium3DTilesetTraversal,isRender:!1,requestTiles:!0,ignoreCommands:!0}),passOptions[Cesium3DTilePass.PRELOAD_FLIGHT]=Object.freeze({traversal:Cesium3DTilesetTraversal,isRender:!1,requestTiles:!0,ignoreCommands:!0}),passOptions[Cesium3DTilePass.REQUEST_RENDER_MODE_DEFER_CHECK]=Object.freeze({traversal:Cesium3DTilesetTraversal,isRender:!1,requestTiles:!0,ignoreCommands:!0}),passOptions[Cesium3DTilePass.MOST_DETAILED_PRELOAD]=Object.freeze({traversal:Cesium3DTilesetMostDetailedTraversal,isRender:!1,requestTiles:!0,ignoreCommands:!0}),passOptions[Cesium3DTilePass.MOST_DETAILED_PICK]=Object.freeze({traversal:Cesium3DTilesetMostDetailedTraversal,isRender:!1,requestTiles:!1,ignoreCommands:!1}),Cesium3DTilePass.getPassOptions=function(e){return passOptions[e]};var Cesium3DTilePass$1=Object.freeze(Cesium3DTilePass);function Empty3DTileContent(e,t){this._tileset=e,this._tile=t,this.featurePropertiesDirty=!1}function TileBoundingRegion(e){this.rectangle=Rectangle.clone(e.rectangle),this.minimumHeight=defaultValue(e.minimumHeight,0),this.maximumHeight=defaultValue(e.maximumHeight,0),this.southwestCornerCartesian=new Cartesian3,this.northeastCornerCartesian=new Cartesian3,this.westNormal=new Cartesian3,this.southNormal=new Cartesian3,this.eastNormal=new Cartesian3,this.northNormal=new Cartesian3;var t=defaultValue(e.ellipsoid,Ellipsoid.WGS84);computeBox(this,e.rectangle,t),defaultValue(e.computeBoundingVolumes,!0)&&(this._orientedBoundingBox=OrientedBoundingBox.fromRectangle(this.rectangle,this.minimumHeight,this.maximumHeight,t),this._boundingSphere=BoundingSphere.fromOrientedBoundingBox(this._orientedBoundingBox))}Object.defineProperties(Empty3DTileContent.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},batchTable:{get:function(){}}}),Empty3DTileContent.prototype.hasProperty=function(e,t){return!1},Empty3DTileContent.prototype.getFeature=function(e){},Empty3DTileContent.prototype.applyDebugSettings=function(e,t){},Empty3DTileContent.prototype.applyStyle=function(e){},Empty3DTileContent.prototype.update=function(e,t){},Empty3DTileContent.prototype.isDestroyed=function(){return!1},Empty3DTileContent.prototype.destroy=function(){return destroyObject(this)},Object.defineProperties(TileBoundingRegion.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});var cartesian3Scratch$2=new Cartesian3,cartesian3Scratch2$1=new Cartesian3,cartesian3Scratch3$1=new Cartesian3,eastWestNormalScratch=new Cartesian3,westernMidpointScratch=new Cartesian3,easternMidpointScratch=new Cartesian3,cartographicScratch$2=new Cartographic,planeScratch=new Plane(Cartesian3.UNIT_X,0),rayScratch=new Ray;function computeBox(e,t,i){i.cartographicToCartesian(Rectangle.southwest(t),e.southwestCornerCartesian),i.cartographicToCartesian(Rectangle.northeast(t),e.northeastCornerCartesian),cartographicScratch$2.longitude=t.west,cartographicScratch$2.latitude=.5*(t.south+t.north),cartographicScratch$2.height=0;var r=i.cartographicToCartesian(cartographicScratch$2,westernMidpointScratch),n=Cartesian3.cross(r,Cartesian3.UNIT_Z,cartesian3Scratch$2);Cartesian3.normalize(n,e.westNormal),cartographicScratch$2.longitude=t.east;var a=i.cartographicToCartesian(cartographicScratch$2,easternMidpointScratch),n=Cartesian3.cross(Cartesian3.UNIT_Z,a,cartesian3Scratch$2);Cartesian3.normalize(n,e.eastNormal);var n=Cartesian3.subtract(r,a,cartesian3Scratch$2),r=Cartesian3.normalize(n,eastWestNormalScratch),a=t.south,o=0<a?(cartographicScratch$2.longitude=.5*(t.west+t.east),cartographicScratch$2.latitude=a,o=i.cartographicToCartesian(cartographicScratch$2,rayScratch.origin),Cartesian3.clone(r,rayScratch.direction),a=Plane.fromPointNormal(e.southwestCornerCartesian,e.westNormal,planeScratch),IntersectionTests.rayPlane(rayScratch,a,e.southwestCornerCartesian),i.geodeticSurfaceNormal(o,cartesian3Scratch2$1)):i.geodeticSurfaceNormalCartographic(Rectangle.southeast(t),cartesian3Scratch2$1),o=Cartesian3.cross(o,n,cartesian3Scratch3$1);Cartesian3.normalize(o,e.southNormal);o=t.north,t=o<0?(cartographicScratch$2.longitude=.5*(t.west+t.east),cartographicScratch$2.latitude=o,o=i.cartographicToCartesian(cartographicScratch$2,rayScratch.origin),Cartesian3.negate(r,rayScratch.direction),r=Plane.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,planeScratch),IntersectionTests.rayPlane(rayScratch,r,e.northeastCornerCartesian),i.geodeticSurfaceNormal(o,cartesian3Scratch2$1)):i.geodeticSurfaceNormalCartographic(Rectangle.northwest(t),cartesian3Scratch2$1),t=Cartesian3.cross(n,t,cartesian3Scratch3$1);Cartesian3.normalize(t,e.northNormal)}var southwestCornerScratch=new Cartesian3,northeastCornerScratch=new Cartesian3,negativeUnitY=new Cartesian3(0,-1,0),negativeUnitZ=new Cartesian3(0,0,-1),vectorScratch=new Cartesian3;function TileBoundingSphere(e,t){0===t&&(t=CesiumMath.EPSILON7),this._boundingSphere=new BoundingSphere(e,t)}TileBoundingRegion.prototype.distanceToCamera=function(e){var t,i,r,n,a,o,s,l=e.camera,c=l.positionWC,u=l.positionCartographic,d=0;return Rectangle.contains(this.rectangle,u)||(t=this.southwestCornerCartesian,n=this.northeastCornerCartesian,i=this.westNormal,r=this.southNormal,a=this.eastNormal,l=this.northNormal,e.mode!==SceneMode$1.SCENE3D&&((t=e.mapProjection.project(Rectangle.southwest(this.rectangle),southwestCornerScratch)).z=t.y,t.y=t.x,t.x=0,(n=e.mapProjection.project(Rectangle.northeast(this.rectangle),northeastCornerScratch)).z=n.y,n.y=n.x,n.x=0,i=negativeUnitY,a=Cartesian3.UNIT_Y,r=negativeUnitZ,l=Cartesian3.UNIT_Z),t=Cartesian3.subtract(c,t,vectorScratch),i=Cartesian3.dot(t,i),r=Cartesian3.dot(t,r),n=Cartesian3.subtract(c,n,vectorScratch),a=Cartesian3.dot(n,a),l=Cartesian3.dot(n,l),0<i?d+=i*i:0<a&&(d+=a*a),0<r?d+=r*r:0<l&&(d+=l*l)),(c=e.mode===SceneMode$1.SCENE3D?(s=u.height,o=this.minimumHeight,this.maximumHeight):(s=c.x,o=0))<s?d+=(c=s-c)*c:s<o&&(d+=(s=o-s)*s),Math.sqrt(d)},TileBoundingRegion.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)},TileBoundingRegion.prototype.createDebugVolume=function(e){var t=new Matrix4.clone(Matrix4.IDENTITY);return new Primitive({geometryInstances:new GeometryInstance({geometry:new RectangleOutlineGeometry({rectangle:this.rectangle,height:this.minimumHeight,extrudedHeight:this.maximumHeight}),id:"outline",modelMatrix:t,attributes:{color:ColorGeometryInstanceAttribute.fromColor(e)}}),appearance:new PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1})},Object.defineProperties(TileBoundingSphere.prototype,{center:{get:function(){return this._boundingSphere.center}},radius:{get:function(){return this._boundingSphere.radius}},boundingVolume:{get:function(){return this._boundingSphere}},boundingSphere:{get:function(){return this._boundingSphere}}}),TileBoundingSphere.prototype.distanceToCamera=function(e){var t=this._boundingSphere;return Math.max(0,Cartesian3.distance(t.center,e.camera.positionWC)-t.radius)},TileBoundingSphere.prototype.intersectPlane=function(e){return BoundingSphere.intersectPlane(this._boundingSphere,e)},TileBoundingSphere.prototype.update=function(e,t){Cartesian3.clone(e,this._boundingSphere.center),this._boundingSphere.radius=t},TileBoundingSphere.prototype.createDebugVolume=function(e){return new Primitive({geometryInstances:new GeometryInstance({geometry:new SphereOutlineGeometry({radius:this.radius}),id:"outline",modelMatrix:Matrix4.fromTranslation(this.center,new Matrix4.clone(Matrix4.IDENTITY)),attributes:{color:ColorGeometryInstanceAttribute.fromColor(e)}}),appearance:new PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1})};var scratchU=new Cartesian3,scratchV=new Cartesian3,scratchW$1=new Cartesian3,scratchCartesian$3=new Cartesian3;function computeMissingVector(e,t,i){i=Cartesian3.cross(e,t,i);t=Cartesian3.magnitude(i);return Cartesian3.multiplyByScalar(i,CesiumMath.EPSILON7/t,i)}function findOrthogonalVector(e,t){var i=Cartesian3.normalize(e,scratchCartesian$3);return computeMissingVector(e,Cartesian3.equalsEpsilon(i,Cartesian3.UNIT_X,CesiumMath.EPSILON6)?Cartesian3.UNIT_Y:Cartesian3.UNIT_X,t)}function checkHalfAxes(e){var t=Matrix3.getColumn(e,0,scratchU),i=Matrix3.getColumn(e,1,scratchV),r=Matrix3.getColumn(e,2,scratchW$1),n=Cartesian3.equals(t,Cartesian3.ZERO),a=Cartesian3.equals(i,Cartesian3.ZERO),o=Cartesian3.equals(r,Cartesian3.ZERO);return(n||a||o)&&(n&&a&&o?(e[0]=CesiumMath.EPSILON7,e[4]=CesiumMath.EPSILON7,e[8]=CesiumMath.EPSILON7):(!n||a||o?n||!a||o?n||a||!o?n?a?o||(i=computeMissingVector(r,t=findOrthogonalVector(r,t),i)):r=computeMissingVector(i,t=findOrthogonalVector(i,t),r):r=computeMissingVector(i=findOrthogonalVector(t,i),t,r):r=computeMissingVector(i,t,r):i=computeMissingVector(t,r,i):t=computeMissingVector(i,r,t),Matrix3.setColumn(e,0,t,e),Matrix3.setColumn(e,1,i,e),Matrix3.setColumn(e,2,r,e))),e}function TileOrientedBoundingBox(e,t){t=checkHalfAxes(t),this._orientedBoundingBox=new OrientedBoundingBox(e,t),this._boundingSphere=BoundingSphere.fromOrientedBoundingBox(this._orientedBoundingBox)}function Cesium3DTile(e,t,i,r){this._tileset=e;var n=(this._header=i).content;this.transform=defined(i.transform)?Matrix4.unpack(i.transform):Matrix4.clone(Matrix4.IDENTITY);var a,o,s,l,c,u,d,h=defined(r)?r.computedTransform:e.modelMatrix,p=Matrix4.multiply(h,this.transform,new Matrix4),h=defined(r)?r._initialTransform:Matrix4.IDENTITY;this._initialTransform=Matrix4.multiply(h,this.transform,new Matrix4),this.computedTransform=p,this._boundingVolume=this.createBoundingVolume(i.boundingVolume,p),this._boundingVolume2D=void 0,defined(n)&&defined(n.boundingVolume)&&(a=this.createBoundingVolume(n.boundingVolume,p)),this._contentBoundingVolume=a,this._contentBoundingVolume2D=void 0,defined(i.viewerRequestVolume)&&(o=this.createBoundingVolume(i.viewerRequestVolume,p)),this._viewerRequestVolume=o,this.geometricError=i.geometricError,this._geometricError=i.geometricError,defined(this._geometricError)||(this._geometricError=defined(r)?r.geometricError:e._geometricError,Cesium3DTile._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale(),o=defined(i.refine)?("replace"!==i.refine&&"add"!==i.refine||Cesium3DTile._deprecationWarning("lowercase-refine",'This tile uses a lowercase refine "'+i.refine+'". Instead use "'+i.refine.toUpperCase()+'".'),"REPLACE"===i.refine.toUpperCase()?Cesium3DTileRefine$1.REPLACE:Cesium3DTileRefine$1.ADD):defined(r)?r.refine:Cesium3DTileRefine$1.REPLACE,this.refine=o,this.children=[],this.parent=r,t=Resource.createIfNeeded(t),defined(n)?(d=n.uri,defined(n.url)&&(Cesium3DTile._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),d=n.url),l=!1,c=Cesium3DTileContentState$1.UNLOADED,u=t.getDerivedResource({url:d}),d=RequestScheduler.getServerKey(u.getUrlComponent())):(s=new Empty3DTileContent(e,this),l=!0,c=Cesium3DTileContentState$1.READY),this._content=s,this._contentResource=u,this._contentState=c,this._contentReadyToProcessPromise=void 0,this._contentReadyPromise=void 0,this._expiredContent=void 0,this._serverKey=d,this.hasEmptyContent=l,this.hasTilesetContent=!1,this.cacheNode=void 0;var m,f,i=i.expire;defined(i)&&(m=i.duration,defined(i.date)&&(f=JulianDate.fromIso8601(i.date))),this.expireDuration=m,this.expireDate=f,this.lastStyleTime=0,this._optimChildrenWithinParent=Cesium3DTileOptimizationHint$1.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.priorityDeferred=!1,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._clippingPlanesState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=Color.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,(this._priorityHolder=this)._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new JulianDate,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}Object.defineProperties(TileOrientedBoundingBox.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}}),TileOrientedBoundingBox.prototype.distanceToCamera=function(e){return Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC))},TileOrientedBoundingBox.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)},TileOrientedBoundingBox.prototype.update=function(e,t){Cartesian3.clone(e,this._orientedBoundingBox.center),t=checkHalfAxes(t),Matrix3.clone(t,this._orientedBoundingBox.halfAxes),BoundingSphere.fromOrientedBoundingBox(this._orientedBoundingBox,this._boundingSphere)},TileOrientedBoundingBox.prototype.createDebugVolume=function(e){return new Primitive({geometryInstances:new GeometryInstance({geometry:new BoxOutlineGeometry({minimum:new Cartesian3(-1,-1,-1),maximum:new Cartesian3(1,1,1)}),id:"outline",modelMatrix:Matrix4.fromRotationTranslation(this.boundingVolume.halfAxes,this.boundingVolume.center),attributes:{color:ColorGeometryInstanceAttribute.fromColor(e)}}),appearance:new PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1})},Cesium3DTile._deprecationWarning=deprecationWarning,Object.defineProperties(Cesium3DTile.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return defaultValue(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},extras:{get:function(){return this._header.extras}},color:{get:function(){return defined(this._color)||(this._color=new Color),Color.clone(this._color)},set:function(e){this._color=Color.clone(e,this._color),this._colorDirty=!0}},contentAvailable:{get:function(){return this.contentReady&&!this.hasEmptyContent&&!this.hasTilesetContent||defined(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===Cesium3DTileContentState$1.READY}},contentUnloaded:{get:function(){return this._contentState===Cesium3DTileContentState$1.UNLOADED}},contentExpired:{get:function(){return this._contentState===Cesium3DTileContentState$1.EXPIRED}},contentFailed:{get:function(){return this._contentState===Cesium3DTileContentState$1.FAILED}},contentReadyToProcessPromise:{get:function(){if(defined(this._contentReadyToProcessPromise))return this._contentReadyToProcessPromise.promise}},contentReadyPromise:{get:function(){if(defined(this._contentReadyPromise))return this._contentReadyPromise.promise}},commandsLength:{get:function(){return this._commandsLength}}});var scratchCartesian$4=new Cartesian3;function isPriorityDeferred(e,t){var i=e._tileset,r=t.camera,n=e.boundingSphere,a=n.radius,t=Cartesian3.multiplyByScalar(r.directionWC,e._centerZDepth,scratchCartesian$4),t=Cartesian3.add(r.positionWC,t,scratchCartesian$4),t=Cartesian3.subtract(t,n.center,scratchCartesian$4);a<Cartesian3.magnitude(t)?(s=Cartesian3.normalize(t,scratchCartesian$4),o=Cartesian3.multiplyByScalar(s,a,scratchCartesian$4),s=Cartesian3.add(n.center,o,scratchCartesian$4),o=Cartesian3.subtract(s,r.positionWC,scratchCartesian$4),s=Cartesian3.normalize(o,scratchCartesian$4),e._foveatedFactor=1-Math.abs(Cartesian3.dot(r.directionWC,s))):e._foveatedFactor=0;var o=e.refine===Cesium3DTileRefine$1.REPLACE,s=i._skipLevelOfDetail;if(o&&!s||!i.foveatedScreenSpaceError||1===i.foveatedConeSize||e._priorityProgressiveResolution&&o&&s||i._pass===Cesium3DTilePass$1.PRELOAD_FLIGHT||i._pass===Cesium3DTilePass$1.PRELOAD)return!1;s=1-Math.cos(.5*r.frustum.fov),r=i.foveatedConeSize*s;if(e._foveatedFactor<=r)return!1;s-=r,s=CesiumMath.clamp((e._foveatedFactor-r)/s,0,1),s=i.foveatedInterpolationCallback(i.foveatedMinimumScreenSpaceErrorRelaxation,i.maximumScreenSpaceError,s),e=0===e._screenSpaceError&&defined(e.parent)?.5*e.parent._screenSpaceError:e._screenSpaceError;return i.maximumScreenSpaceError-s<=e}var scratchJulianDate$1=new JulianDate;function isPriorityProgressiveResolution(e,t){if(e.progressiveResolutionHeightFraction<=0||.5<e.progressiveResolutionHeightFraction)return!1;var i=t._screenSpaceErrorProgressiveResolution>e._maximumScreenSpaceError;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;var r=t.parent,n=e._maximumScreenSpaceError,e=t._screenSpaceErrorProgressiveResolution<=n,n=defined(r)&&r._screenSpaceErrorProgressiveResolution>n;return e&&n&&(i=t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0),i}function getPriorityReverseScreenSpaceError(e,t){var i=t.parent,t=(defined(i)&&(!e._skipLevelOfDetail||0===t._screenSpaceError||i.hasTilesetContent)?i:t)._screenSpaceError;return e.root._screenSpaceError-t}function updateExpireDate(e){var t;defined(e.expireDuration)&&(t=JulianDate.now(scratchJulianDate$1),JulianDate.addSeconds(t,e.expireDuration,t),defined(e.expireDate)?JulianDate.lessThan(e.expireDate,t)&&JulianDate.clone(t,e.expireDate):e.expireDate=JulianDate.clone(t))}function getContentFailedFunction(t,i){return function(e){t._contentState===Cesium3DTileContentState$1.PROCESSING?--i.statistics.numberOfTilesProcessing:--i.statistics.numberOfPendingRequests,t._contentState=Cesium3DTileContentState$1.FAILED,t._contentReadyPromise.reject(e),t._contentReadyToProcessPromise.reject(e)}}function createPriorityFunction(e){return function(){return e._priority}}Cesium3DTile.prototype.getScreenSpaceError=function(e,t,i){var r=this._tileset,n=defaultValue(i,1),a=defined(this.parent)?this.parent.geometricError:r._geometricError,o=t?a:this.geometricError;if(0===o)return 0;var s,l=e.camera,i=l.frustum,t=e.context,a=t.drawingBufferWidth,n=t.drawingBufferHeight*n;return e.mode===SceneMode$1.SCENE2D||i instanceof OrthographicFrustum?(defined(i._offCenterFrustum)&&(i=i._offCenterFrustum),s=o/(Math.max(i.top-i.bottom,i.right-i.left)/Math.max(a,n))):(s=o*n/((n=Math.max(this._distanceToCamera,CesiumMath.EPSILON7))*l.frustum.sseDenominator),r.dynamicScreenSpaceError&&(l=r._dynamicScreenSpaceErrorComputedDensity,r=r.dynamicScreenSpaceErrorFactor,s-=CesiumMath.fog(n,l)*r)),s/=e.pixelRatio},Cesium3DTile.prototype.updateVisibility=function(e){var t=this.parent,i=this._tileset,r=defined(t)?t.computedTransform:i.modelMatrix,t=defined(t)?t._visibilityPlaneMask:CullingVolume.MASK_INDETERMINATE;this.updateTransform(r),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,i.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,t),this._visible=this._visibilityPlaneMask!==CullingVolume.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=getPriorityReverseScreenSpaceError(i,this),this._priorityProgressiveResolution=isPriorityProgressiveResolution(i,this),this.priorityDeferred=isPriorityDeferred(this,e)},Cesium3DTile.prototype.updateExpiration=function(){var e;defined(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&(e=JulianDate.now(scratchJulianDate$1),JulianDate.lessThan(this.expireDate,e)&&(this._contentState=Cesium3DTileContentState$1.EXPIRED,this._expiredContent=this._content))},Cesium3DTile.prototype.requestContent=function(){var n=this,a=this._tileset;if(this.hasEmptyContent)return!1;var e=this._contentResource.clone(),o=this.contentExpired;o&&e.setQueryParameters({expired:this.expireDate.toString()});var t=new Request({throttle:!0,throttleByServer:!0,type:RequestType$1.TILES3D,priorityFunction:createPriorityFunction(this),serverKey:this._serverKey});this._request=t,e.request=t;e=e.fetchArrayBuffer();if(!defined(e))return!1;var i=this._contentState;this._contentState=Cesium3DTileContentState$1.LOADING,this._contentReadyToProcessPromise=when.defer(),this._contentReadyPromise=when.defer();var s=getContentFailedFunction(this,a);return e.then(function(e){if(!n.isDestroyed()){var t,i=getMagic(new Uint8Array(e)),r=Cesium3DTileContentFactory[i];return a._disableSkipLevelOfDetail=a._disableSkipLevelOfDetail||"vctr"===i||"geom"===i,defined(r)?t=r(a,n,n._contentResource,e,0):(t=Cesium3DTileContentFactory.json(a,n,n._contentResource,e,0),n.hasTilesetContent=!0),o&&(n.expireDate=void 0),n._content=t,n._contentState=Cesium3DTileContentState$1.PROCESSING,n._contentReadyToProcessPromise.resolve(t),t.readyPromise.then(function(e){n.isDestroyed()?s():(updateExpireDate(n),n._selectedFrame=0,n.lastStyleTime=0,JulianDate.now(n._loadTimestamp),n._contentState=Cesium3DTileContentState$1.READY,n._contentReadyPromise.resolve(e))})}s()}).otherwise(function(e){return t.state===RequestState$1.CANCELLED?(n._contentState=i,--a.statistics.numberOfPendingRequests,void++a.statistics.numberOfAttemptedRequests):void s(e)}),!0},Cesium3DTile.prototype.unloadContent=function(){this.hasEmptyContent||this.hasTilesetContent||(this._content=this._content&&this._content.destroy(),this._contentState=Cesium3DTileContentState$1.UNLOADED,this._contentReadyToProcessPromise=void 0,this._contentReadyPromise=void 0,this.lastStyleTime=0,this.clippingPlanesDirty=0===this._clippingPlanesState,this._clippingPlanesState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var scratchProjectedBoundingSphere=new BoundingSphere;function getBoundingVolume(e,t){var i;return t.mode===SceneMode$1.SCENE3D||defined(e._boundingVolume2D)||(i=e._boundingVolume.boundingSphere,i=BoundingSphere.projectTo2D(i,t.mapProjection,scratchProjectedBoundingSphere),e._boundingVolume2D=new TileBoundingSphere(i.center,i.radius)),t.mode!==SceneMode$1.SCENE3D?e._boundingVolume2D:e._boundingVolume}function getContentBoundingVolume(e,t){var i;return t.mode===SceneMode$1.SCENE3D||defined(e._contentBoundingVolume2D)||(i=e._contentBoundingVolume.boundingSphere,i=BoundingSphere.projectTo2D(i,t.mapProjection,scratchProjectedBoundingSphere),e._contentBoundingVolume2D=new TileBoundingSphere(i.center,i.radius)),t.mode!==SceneMode$1.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}Cesium3DTile.prototype.visibility=function(e,t){var i=e.cullingVolume,r=getBoundingVolume(this,e),n=this._tileset,e=n.clippingPlanes;if(defined(e)&&e.enabled){n=e.computeIntersectionWithBoundingVolume(r,n.clippingPlanesOriginMatrix);if(this._isClipped=n!==Intersect$1.INSIDE,n===Intersect$1.OUTSIDE)return CullingVolume.MASK_OUTSIDE}return i.computeVisibilityWithPlaneMask(r,t)},Cesium3DTile.prototype.contentVisibility=function(e){if(!defined(this._contentBoundingVolume))return Intersect$1.INSIDE;if(this._visibilityPlaneMask===CullingVolume.MASK_INSIDE)return Intersect$1.INSIDE;var t=e.cullingVolume,i=getContentBoundingVolume(this,e),r=this._tileset,e=r.clippingPlanes;if(defined(e)&&e.enabled){r=e.computeIntersectionWithBoundingVolume(i,r.clippingPlanesOriginMatrix);if(this._isClipped=r!==Intersect$1.INSIDE,r===Intersect$1.OUTSIDE)return Intersect$1.OUTSIDE}return t.computeVisibility(i)},Cesium3DTile.prototype.distanceToTile=function(e){return getBoundingVolume(this,e).distanceToCamera(e)};var scratchToTileCenter=new Cartesian3;Cesium3DTile.prototype.distanceToTileCenter=function(e){var t=getBoundingVolume(this,e).boundingVolume,t=Cartesian3.subtract(t.center,e.camera.positionWC,scratchToTileCenter);return Cartesian3.dot(e.camera.directionWC,t)},Cesium3DTile.prototype.insideViewerRequestVolume=function(e){var t=this._viewerRequestVolume;return!defined(t)||0===t.distanceToCamera(e)};var scratchMatrix$2=new Matrix3,scratchScale$6=new Cartesian3,scratchHalfAxes=new Matrix3,scratchCenter$3=new Cartesian3,scratchRectangle$2=new Rectangle,scratchOrientedBoundingBox=new OrientedBoundingBox,scratchTransform=new Matrix4;function createBox(e,t,i){var r=Cartesian3.fromElements(e[0],e[1],e[2],scratchCenter$3),e=Matrix3.fromArray(e,3,scratchHalfAxes),r=Matrix4.multiplyByPoint(t,r,r),t=Matrix4.getMatrix3(t,scratchMatrix$2),e=Matrix3.multiply(t,e,e);return defined(i)?(i.update(r,e),i):new TileOrientedBoundingBox(r,e)}function createBoxFromTransformedRegion(e,t,i,r){var n=Rectangle.unpack(e,0,scratchRectangle$2),a=e[4],e=e[5],a=OrientedBoundingBox.fromRectangle(n,a,e,Ellipsoid.WGS84,scratchOrientedBoundingBox),e=a.center,a=a.halfAxes;t=Matrix4.multiplyTransformation(t,Matrix4.inverseTransformation(i,scratchTransform),scratchTransform),e=Matrix4.multiplyByPoint(t,e,e);t=Matrix4.getMatrix3(t,scratchMatrix$2),a=Matrix3.multiply(t,a,a);return defined(r)&&r instanceof TileOrientedBoundingBox?(r.update(e,a),r):new TileOrientedBoundingBox(e,a)}function createRegion(e,t,i,r){return Matrix4.equalsEpsilon(t,i,CesiumMath.EPSILON8)?defined(r)?r:new TileBoundingRegion({rectangle:Rectangle.unpack(e,0,scratchRectangle$2),minimumHeight:e[4],maximumHeight:e[5]}):createBoxFromTransformedRegion(e,t,i,r)}function createSphere(e,t,i){var r=Cartesian3.fromElements(e[0],e[1],e[2],scratchCenter$3),e=e[3],r=Matrix4.multiplyByPoint(t,r,r),t=Matrix4.getScale(t,scratchScale$6);return e*=Cartesian3.maximumComponent(t),defined(i)?(i.update(r,e),i):new TileBoundingSphere(r,e)}function applyDebugSettings(e,t,i,r){var n,a,o;r.isRender&&(o=defined(e._header.content)&&defined(e._header.content.boundingVolume),n=e.hasEmptyContent||e.hasTilesetContent,(a=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o)?(r=e._finalResolution?n?Color.DARKGRAY:Color.WHITE:Color.YELLOW,defined(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(r)),e._debugBoundingVolume.update(i),(n=e._debugBoundingVolume.getGeometryInstanceAttributes("outline")).color=ColorGeometryInstanceAttribute.toValue(r,n.color)):!a&&defined(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy()),t.debugShowContentBoundingVolume&&o?(defined(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(Color.BLUE)),e._debugContentBoundingVolume.update(i)):!t.debugShowContentBoundingVolume&&defined(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&defined(e._viewerRequestVolume)?(defined(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(Color.YELLOW)),e._debugViewerRequestVolume.update(i)):!t.debugShowViewerRequestVolume&&defined(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy()),a=t.debugColorizeTiles&&!e._debugColorizeTiles||defined(t._heatmap.tilePropertyName),o=!t.debugColorizeTiles&&e._debugColorizeTiles,a?(t._heatmap.colorize(e,i),e._debugColorizeTiles=!0,e.color=e._debugColor):o&&(e._debugColorizeTiles=!1,e.color=Color.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),o&&t.makeStyleDirty())}function updateContent(e,t,i){var r=e._content,n=e._expiredContent;if(defined(n)){if(!e.contentReady)return void n.update(t,i);e._expiredContent.destroy(),e._expiredContent=void 0}r.update(t,i)}function updateClippingPlanes$1(e,t){var i=t.clippingPlanes,t=0;defined(i)&&e._isClipped&&i.enabled&&(t=i.clippingPlanesState),t!==e._clippingPlanesState&&(e._clippingPlanesState=t,e.clippingPlanesDirty=!0)}Cesium3DTile.prototype.createBoundingVolume=function(e,t,i){if(!defined(e))throw new RuntimeError("boundingVolume must be defined");if(defined(e.box))return createBox(e.box,t,i);if(defined(e.region))return createRegion(e.region,t,this._initialTransform,i);if(defined(e.sphere))return createSphere(e.sphere,t,i);throw new RuntimeError("boundingVolume must contain a sphere, region, or box")},Cesium3DTile.prototype.updateTransform=function(e){e=defaultValue(e,Matrix4.IDENTITY);var t=Matrix4.multiply(e,this.transform,scratchTransform);Matrix4.equals(t,this.computedTransform)||(Matrix4.clone(t,this.computedTransform),e=this._header,t=this._header.content,this._boundingVolume=this.createBoundingVolume(e.boundingVolume,this.computedTransform,this._boundingVolume),defined(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(t.boundingVolume,this.computedTransform,this._contentBoundingVolume)),defined(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(e.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())},Cesium3DTile.prototype.updateGeometricErrorScale=function(){var e=Matrix4.getScale(this.computedTransform,scratchScale$6),e=Cartesian3.maximumComponent(e);this.geometricError=this._geometricError*e},Cesium3DTile.prototype.update=function(e,t,i){var r=t.commandList.length;updateClippingPlanes$1(this,e),applyDebugSettings(this,e,t,i),updateContent(this,e,t),this._commandsLength=t.commandList.length-r,this.clippingPlanesDirty=!1};var scratchCommandList=[];function isolateDigits(e,t,i){t=e*Math.pow(10,t);return parseInt(t)*Math.pow(10,i)}function priorityNormalizeAndClamp(e,t,i){return Math.max(CesiumMath.normalize(e,t,i)-CesiumMath.EPSILON7,0)}Cesium3DTile.prototype.process=function(e,t){var i=t.commandList;t.commandList=scratchCommandList,this._content.update(e,t),scratchCommandList.length=0,t.commandList=i},Cesium3DTile.prototype.updatePriority=function(){var e=this.tileset,t=e.preferLeaves,i=e._minimumPriority,r=e._maximumPriority,n=Math.pow(10,8),a=Math.pow(10,9),o=Math.pow(10,10),s=priorityNormalizeAndClamp(this._depth,i.depth,r.depth),s=t?1-s:s,t=isolateDigits(!e._skipLevelOfDetail&&this.refine===Cesium3DTileRefine$1.REPLACE?priorityNormalizeAndClamp(this._priorityHolder._distanceToCamera,i.distance,r.distance):priorityNormalizeAndClamp(this._priorityReverseScreenSpaceError,i.reverseScreenSpaceError,r.reverseScreenSpaceError),4,0),n=this._priorityProgressiveResolution?0:n,r=isolateDigits(priorityNormalizeAndClamp(this._priorityHolder._foveatedFactor,i.foveatedFactor,r.foveatedFactor),4,4),a=this.priorityDeferred?a:0,o=e._pass===Cesium3DTilePass$1.PRELOAD_FLIGHT?0:o;this._priority=s+t+n+r+a+o},Cesium3DTile.prototype.isDestroyed=function(){return!1},Cesium3DTile.prototype.destroy=function(){return this._content=this._content&&this._content.destroy(),this._expiredContent=this._expiredContent&&!this._expiredContent.isDestroyed()&&this._expiredContent.destroy(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy(),destroyObject(this)};var Cesium3DTileOptimizations={},scratchAxis=new Cartesian3;function Cesium3DTilesetCache(){this._list=new DoublyLinkedList,this._sentinel=this._list.add(),this._trimTiles=!1}function Cesium3DTilesetHeatmap(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function getHeatmapValue(e,t){e="_loadTimestamp"===t?JulianDate.toDate(e).getTime():e;return e}function getHeatmapValueAndUpdateMinimumMaximum(e,t){var i=e.tilePropertyName;if(defined(i)){i=getHeatmapValue(t[i],i);return defined(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}Cesium3DTileOptimizations.checkChildrenWithinParent=function(e){var t=e.children,i=t.length,r=e.boundingVolume;if(r instanceof TileOrientedBoundingBox||r instanceof TileBoundingRegion){var n=r._orientedBoundingBox;e._optimChildrenWithinParent=Cesium3DTileOptimizationHint$1.USE_OPTIMIZATION;for(var a=0;a<i;++a){var o=t[a].boundingVolume;if(!(o instanceof TileOrientedBoundingBox||o instanceof TileBoundingRegion)){e._optimChildrenWithinParent=Cesium3DTileOptimizationHint$1.SKIP_OPTIMIZATION;break}var s=o._orientedBoundingBox,l=Cartesian3.subtract(s.center,n.center,scratchAxis),o=Cartesian3.magnitude(l);if(Cartesian3.divideByScalar(l,o,l),Math.abs(n.halfAxes[0]*l.x)+Math.abs(n.halfAxes[1]*l.y)+Math.abs(n.halfAxes[2]*l.z)+Math.abs(n.halfAxes[3]*l.x)+Math.abs(n.halfAxes[4]*l.y)+Math.abs(n.halfAxes[5]*l.z)+Math.abs(n.halfAxes[6]*l.x)+Math.abs(n.halfAxes[7]*l.y)+Math.abs(n.halfAxes[8]*l.z)<=Math.abs(s.halfAxes[0]*l.x)+Math.abs(s.halfAxes[1]*l.y)+Math.abs(s.halfAxes[2]*l.z)+Math.abs(s.halfAxes[3]*l.x)+Math.abs(s.halfAxes[4]*l.y)+Math.abs(s.halfAxes[5]*l.z)+Math.abs(s.halfAxes[6]*l.x)+Math.abs(s.halfAxes[7]*l.y)+Math.abs(s.halfAxes[8]*l.z)+o){e._optimChildrenWithinParent=Cesium3DTileOptimizationHint$1.SKIP_OPTIMIZATION;break}}}return e._optimChildrenWithinParent===Cesium3DTileOptimizationHint$1.USE_OPTIMIZATION},Cesium3DTilesetCache.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)},Cesium3DTilesetCache.prototype.touch=function(e){e=e.cacheNode;defined(e)&&this._list.splice(this._sentinel,e)},Cesium3DTilesetCache.prototype.add=function(e){defined(e.cacheNode)||(e.cacheNode=this._list.add(e))},Cesium3DTilesetCache.prototype.unloadTile=function(e,t,i){var r=t.cacheNode;defined(r)&&(this._list.remove(r),t.cacheNode=void 0,i(e,t))},Cesium3DTilesetCache.prototype.unloadTiles=function(e,t){var i=this._trimTiles;this._trimTiles=!1;for(var r=this._list,n=1024*e.maximumMemoryUsage*1024,a=this._sentinel,o=r.head;o!==a&&(e.totalMemoryUsageInBytes>n||i);){var s=o.item,o=o.next;this.unloadTile(e,s,t)}},Cesium3DTilesetCache.prototype.trim=function(){this._trimTiles=!0},Cesium3DTilesetHeatmap.prototype.setReferenceMinimumMaximum=function(e,t,i){this._referenceMinimum[i]=getHeatmapValue(e,i),this._referenceMaximum[i]=getHeatmapValue(t,i)};var heatmapColors=[new Color(.1,.1,.1,1),new Color(.153,.278,.878,1),new Color(.827,.231,.49,1),new Color(.827,.188,.22,1),new Color(1,.592,.259,1),new Color(1,.843,0,1)];function Cesium3DTilesetStatistics(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.batchTableByteLength=0}function updatePointAndFeatureCounts(e,t,i,r){var n=t.innerContents,a=t.pointsLength,o=t.trianglesLength,s=t.featuresLength,l=t.geometryByteLength,c=t.texturesByteLength,t=t.batchTableByteLength;if(r?(e.numberOfFeaturesLoaded+=i?-s:s,e.numberOfPointsLoaded+=i?-a:a,e.geometryByteLength+=i?-l:l,e.texturesByteLength+=i?-c:c,e.batchTableByteLength+=i?-t:t):(e.numberOfFeaturesSelected+=i?-s:s,e.numberOfPointsSelected+=i?-a:a,e.numberOfTrianglesSelected+=i?-o:o),defined(n))for(var u=n.length,d=0;d<u;++d)updatePointAndFeatureCounts(e,n[d],i,r)}function Cesium3DTileStyleEngine(){this._style=void 0,this._styleDirty=!1,this._lastStyleTime=0}function Cesium3DTileset(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._url=void 0,this._basePath=void 0,this._root=void 0,this._asset=void 0,this._properties=void 0,this._geometricError=void 0,this._extensionsUsed=void 0,this._extensions=void 0,this._gltfUpAxis=void 0,this._cache=new Cesium3DTilesetCache,this._processingQueue=[],this._selectedTiles=[],this._emptyTiles=[],this._requestedTiles=[],this._selectedTilesToStyle=[],this._loadTimestamp=void 0,this._timeSinceLoad=0,this._updatedVisibilityFrame=0,this._updatedModelMatrixFrame=0,this._modelMatrixChanged=!1,this._previousModelMatrix=void 0,this._extras=void 0,this._credits=void 0,this._cullWithChildrenBounds=defaultValue(e.cullWithChildrenBounds,!0),this._allTilesAdditive=!0,this._hasMixedContent=!1,this._stencilClearCommand=void 0,this._backfaceCommands=new ManagedArray,this._maximumScreenSpaceError=defaultValue(e.maximumScreenSpaceError,16),this._maximumMemoryUsage=defaultValue(e.maximumMemoryUsage,512),this._styleEngine=new Cesium3DTileStyleEngine,this._modelMatrix=defined(e.modelMatrix)?Matrix4.clone(e.modelMatrix):Matrix4.clone(Matrix4.IDENTITY),this._statistics=new Cesium3DTilesetStatistics,this._statisticsLast=new Cesium3DTilesetStatistics,this._statisticsPerPass=new Array(Cesium3DTilePass$1.NUMBER_OF_PASSES);for(var t=0;t<Cesium3DTilePass$1.NUMBER_OF_PASSES;++t)this._statisticsPerPass[t]=new Cesium3DTilesetStatistics;this._requestedTilesInFlight=[],this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,reverseScreenSpaceError:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,reverseScreenSpaceError:Number.MAX_VALUE},this._heatmap=new Cesium3DTilesetHeatmap(e.debugHeatmapTilePropertyName),this.cullRequestsWhileMoving=defaultValue(e.cullRequestsWhileMoving,!0),this._cullRequestsWhileMoving=!1,this.cullRequestsWhileMovingMultiplier=defaultValue(e.cullRequestsWhileMovingMultiplier,60),this.progressiveResolutionHeightFraction=CesiumMath.clamp(defaultValue(e.progressiveResolutionHeightFraction,.3),0,.5),this.preferLeaves=defaultValue(e.preferLeaves,!1),this._tilesLoaded=!1,this._initialTilesLoaded=!1,this._tileDebugLabels=void 0,this._readyPromise=when.defer(),this._classificationType=e.classificationType,this._ellipsoid=defaultValue(e.ellipsoid,Ellipsoid.WGS84),this._initialClippingPlanesOriginMatrix=Matrix4.IDENTITY,this._clippingPlanesOriginMatrix=void 0,this._clippingPlanesOriginMatrixDirty=!0,this.preloadWhenHidden=defaultValue(e.preloadWhenHidden,!1),this.preloadFlightDestinations=defaultValue(e.preloadFlightDestinations,!0),this._pass=void 0,this.dynamicScreenSpaceError=defaultValue(e.dynamicScreenSpaceError,!1),this.foveatedScreenSpaceError=defaultValue(e.foveatedScreenSpaceError,!0),this._foveatedConeSize=defaultValue(e.foveatedConeSize,.1),this._foveatedMinimumScreenSpaceErrorRelaxation=defaultValue(e.foveatedMinimumScreenSpaceErrorRelaxation,0),this.foveatedInterpolationCallback=defaultValue(e.foveatedInterpolationCallback,CesiumMath.lerp),this.foveatedTimeDelay=defaultValue(e.foveatedTimeDelay,.2),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorFactor=4,this.dynamicScreenSpaceErrorHeightFalloff=.25,this._dynamicScreenSpaceErrorComputedDensity=0,this.shadows=defaultValue(e.shadows,ShadowMode$1.ENABLED),this.show=defaultValue(e.show,!0),this.colorBlendMode=Cesium3DTileColorBlendMode$1.HIGHLIGHT,this.colorBlendAmount=.5,this.pointCloudShading=new PointCloudShading(e.pointCloudShading),this._pointCloudEyeDomeLighting=new PointCloudEyeDomeLighting,this.loadProgress=new Event,this.allTilesLoaded=new Event,this.initialTilesLoaded=new Event,this.tileLoad=new Event,this.tileUnload=new Event,this.tileFailed=new Event,this.tileVisible=new Event,this.skipLevelOfDetail=defaultValue(e.skipLevelOfDetail,!1),this._skipLevelOfDetail=this.skipLevelOfDetail,this._disableSkipLevelOfDetail=!1,this.baseScreenSpaceError=defaultValue(e.baseScreenSpaceError,1024),this.skipScreenSpaceErrorFactor=defaultValue(e.skipScreenSpaceErrorFactor,16),this.skipLevels=defaultValue(e.skipLevels,1),this.immediatelyLoadDesiredLevelOfDetail=defaultValue(e.immediatelyLoadDesiredLevelOfDetail,!1),this.loadSiblings=defaultValue(e.loadSiblings,!1),this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._imageBasedLightingFactor=new Cartesian2(1,1),Cartesian2.clone(e.imageBasedLightingFactor,this._imageBasedLightingFactor),this.lightColor=e.lightColor,this.luminanceAtZenith=defaultValue(e.luminanceAtZenith,.2),this.sphericalHarmonicCoefficients=e.sphericalHarmonicCoefficients,this.specularEnvironmentMaps=e.specularEnvironmentMaps,this.backFaceCulling=defaultValue(e.backFaceCulling,!0),this.debugFreezeFrame=defaultValue(e.debugFreezeFrame,!1),this.debugColorizeTiles=defaultValue(e.debugColorizeTiles,!1),this.debugWireframe=defaultValue(e.debugWireframe,!1),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this.debugShowContentBoundingVolume=defaultValue(e.debugShowContentBoundingVolume,!1),this.debugShowViewerRequestVolume=defaultValue(e.debugShowViewerRequestVolume,!1),this._tileDebugLabels=void 0,this.debugPickedTileLabelOnly=!1,this.debugPickedTile=void 0,this.debugPickPosition=void 0,this.debugShowGeometricError=defaultValue(e.debugShowGeometricError,!1),this.debugShowRenderingStatistics=defaultValue(e.debugShowRenderingStatistics,!1),this.debugShowMemoryUsage=defaultValue(e.debugShowMemoryUsage,!1),this.debugShowUrl=defaultValue(e.debugShowUrl,!1);var s,l=this;when(e.url).then(function(e){var t;return s=Resource.createIfNeeded(e),l._credits=s.credits,"json"===s.extension?t=s.getBaseUri(!0):s.isDataUri&&(t=""),l._url=s.url,l._basePath=t,Cesium3DTileset.loadJson(s)}).then(function(e){l._root=l.loadTileset(s,e);var t=defined(e.asset.gltfUpAxis)?Axis$1.fromName(e.asset.gltfUpAxis):Axis$1.Y,i=e.asset;l._asset=i,l._properties=e.properties,l._geometricError=e.geometricError,l._extensionsUsed=e.extensionsUsed,l._extensions=e.extensions,l._gltfUpAxis=t,l._extras=e.extras;i=i.extras;if(defined(i)&&defined(i.cesium)&&defined(i.cesium.credits)){var r=i.cesium.credits,n=l._credits;defined(n)||(n=[],l._credits=n);for(var a=0;a<r.length;++a){var o=r[a];n.push(new Credit(o.html,o.showOnScreen))}}i=l._root.createBoundingVolume(e.root.boundingVolume,Matrix4.IDENTITY).boundingSphere.center,e=l._ellipsoid.cartesianToCartographic(i);defined(e)&&e.height>ApproximateTerrainHeights._defaultMinTerrainHeight&&(l._initialClippingPlanesOriginMatrix=Transforms.eastNorthUpToFixedFrame(i)),l._clippingPlanesOriginMatrix=Matrix4.clone(l._initialClippingPlanesOriginMatrix),l._readyPromise.resolve(l)}).otherwise(function(e){l._readyPromise.reject(e)})}Cesium3DTilesetHeatmap.prototype.colorize=function(e,t){var i,r,n;defined(this.tilePropertyName)&&e.contentAvailable&&e._selectedFrame===t.frameNumber&&(r=getHeatmapValueAndUpdateMinimumMaximum(this,e),n=this._previousMinimum,i=this._previousMaximum,n!==Number.MAX_VALUE&&i!==-Number.MAX_VALUE&&(t=i-n+CesiumMath.EPSILON7,i=CesiumMath.clamp(r-n,0,t)/t*(heatmapColors.length-1),r=Math.floor(i),n=Math.ceil(i),t=i-r,i=heatmapColors[r],r=heatmapColors[n],(n=Color.clone(Color.WHITE)).red=CesiumMath.lerp(i.red,r.red,t),n.green=CesiumMath.lerp(i.green,r.green,t),n.blue=CesiumMath.lerp(i.blue,r.blue,t),e._debugColor=n))},Cesium3DTilesetHeatmap.prototype.resetMinimumMaximum=function(){var e,t,i=this.tilePropertyName;defined(i)&&(e=this._referenceMinimum[i],t=this._referenceMaximum[i],i=defined(e)&&defined(t),this._previousMinimum=i?e:this._minimum,this._previousMaximum=i?t:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE)},Cesium3DTilesetStatistics.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0},Cesium3DTilesetStatistics.prototype.incrementSelectionCounts=function(e){updatePointAndFeatureCounts(this,e,!1,!1)},Cesium3DTilesetStatistics.prototype.incrementLoadCounts=function(e){updatePointAndFeatureCounts(this,e,!1,!0)},Cesium3DTilesetStatistics.prototype.decrementLoadCounts=function(e){updatePointAndFeatureCounts(this,e,!0,!0)},Cesium3DTilesetStatistics.clone=function(e,t){t.selected=e.selected,t.visited=e.visited,t.numberOfCommands=e.numberOfCommands,t.selected=e.selected,t.numberOfAttemptedRequests=e.numberOfAttemptedRequests,t.numberOfPendingRequests=e.numberOfPendingRequests,t.numberOfTilesProcessing=e.numberOfTilesProcessing,t.numberOfTilesWithContentReady=e.numberOfTilesWithContentReady,t.numberOfTilesTotal=e.numberOfTilesTotal,t.numberOfFeaturesSelected=e.numberOfFeaturesSelected,t.numberOfFeaturesLoaded=e.numberOfFeaturesLoaded,t.numberOfPointsSelected=e.numberOfPointsSelected,t.numberOfPointsLoaded=e.numberOfPointsLoaded,t.numberOfTrianglesSelected=e.numberOfTrianglesSelected,t.numberOfTilesStyled=e.numberOfTilesStyled,t.numberOfFeaturesStyled=e.numberOfFeaturesStyled,t.numberOfTilesCulledWithChildrenUnion=e.numberOfTilesCulledWithChildrenUnion,t.geometryByteLength=e.geometryByteLength,t.texturesByteLength=e.texturesByteLength,t.batchTableByteLength=e.batchTableByteLength},Object.defineProperties(Cesium3DTileStyleEngine.prototype,{style:{get:function(){return this._style},set:function(e){this._style=e,this._styleDirty=!0}}}),Cesium3DTileStyleEngine.prototype.makeDirty=function(){this._styleDirty=!0},Cesium3DTileStyleEngine.prototype.applyStyle=function(e,t){if(e.ready&&(!defined(this._style)||this._style.ready)){var i=this._styleDirty;t.isRender&&(this._styleDirty=!1),i&&++this._lastStyleTime;for(var r=this._lastStyleTime,n=e._statistics,a=i?e._selectedTiles:e._selectedTilesToStyle,o=a.length,s=0;s<o;++s){var l,c=a[s];c.lastStyleTime!==r&&(l=c.content,c.lastStyleTime=r,l.applyStyle(this._style),n.numberOfFeaturesStyled+=l.featuresLength,++n.numberOfTilesStyled)}}},Object.defineProperties(Cesium3DTileset.prototype,{isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){return this._asset}},extensions:{get:function(){return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ClippingPlaneCollection.setOwner(e,this,"_clippingPlanes")}},properties:{get:function(){return this._properties}},ready:{get:function(){return defined(this._root)}},readyPromise:{get:function(){return this._readyPromise.promise}},tilesLoaded:{get:function(){return this._tilesLoaded}},url:{get:function(){return this._url}},basePath:{get:function(){return deprecationWarning("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(e){this._styleEngine.style=e}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(e){this._maximumScreenSpaceError=e}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(e){this._maximumMemoryUsage=e}},root:{get:function(){return this._root}},boundingSphere:{get:function(){return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=Matrix4.clone(e,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){var e=this._statistics;return e.texturesByteLength+e.geometryByteLength+e.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return defined(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(Matrix4.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):Matrix4.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(e){this._foveatedConeSize=e}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(e){this._foveatedMinimumScreenSpaceErrorRelaxation=e}},extras:{get:function(){return this._extras}},imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){Cartesian2.clone(e,this._imageBasedLightingFactor)}}}),Cesium3DTileset.loadJson=function(e){return Resource.createIfNeeded(e).fetchJson()},Cesium3DTileset.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()},Cesium3DTileset.prototype.loadTileset=function(e,t,i){var r=t.asset;if(!defined(r))throw new RuntimeError("Tileset must have an asset property.");if("0.0"!==r.version&&"1.0"!==r.version)throw new RuntimeError("The tileset must be 3D Tiles version 0.0 or 1.0.");var n=this._statistics,r=r.tilesetVersion;defined(r)&&(this._basePath+="?v="+r,e.setQueryParameters({v:r}));t=new Cesium3DTile(this,e,t.root,i);defined(i)&&(i.children.push(t),t._depth=i._depth+1);var a=[];for(a.push(t);0<a.length;){var o=a.pop();++n.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&o.refine===Cesium3DTileRefine$1.ADD;var s=o._header.children;if(defined(s))for(var l=s.length,c=0;c<l;++c){var u=new Cesium3DTile(this,e,s[c],o);o.children.push(u),u._depth=o._depth+1,a.push(u)}this._cullWithChildrenBounds&&Cesium3DTileOptimizations.checkChildrenWithinParent(o)}return t};var scratchPositionNormal=new Cartesian3,scratchCartographic$7=new Cartographic,scratchMatrix$3=new Matrix4,scratchCenter$4=new Cartesian3,scratchPosition$9=new Cartesian3,scratchDirection=new Cartesian3;function updateDynamicScreenSpaceError(e,t){var i,r,n,a,o,s,l,c=t.camera,u=e._root,d=u.contentBoundingVolume;d instanceof TileBoundingRegion?(p=Cartesian3.normalize(c.positionWC,scratchPositionNormal),n=c.directionWC,a=c.positionCartographic.height,h=d.minimumHeight,o=d.maximumHeight):(i=Matrix4.inverseTransformation(u.computedTransform,scratchMatrix$3),r=t.mapProjection.ellipsoid,l=d.boundingVolume,t=Matrix4.multiplyByPoint(i,l.center,scratchCenter$4),Cartesian3.magnitude(t)>r.minimumRadius?(s=Cartographic.fromCartesian(t,r,scratchCartographic$7),p=Cartesian3.normalize(c.positionWC,scratchPositionNormal),n=c.directionWC,a=c.positionCartographic.height,h=0,o=2*s.height):(s=Matrix4.multiplyByPoint(i,c.positionWC,scratchPosition$9),p=Cartesian3.UNIT_Z,n=Matrix4.multiplyByPointAsVector(i,c.directionWC,scratchDirection),n=Cartesian3.normalize(n,n),a=s.z,d instanceof TileOrientedBoundingBox?(u=u._header.boundingVolume.box[11],h=t.z-u,o=t.z+u):d instanceof TileBoundingSphere&&(l=l.radius,h=t.z-l,o=t.z+l)));var h=h+(o-h)*e.dynamicScreenSpaceErrorHeightFalloff,h=CesiumMath.clamp((a-h)/(o-h),0,1),p=1-Math.abs(Cartesian3.dot(n,p));p*=1-h;h=e.dynamicScreenSpaceErrorDensity;h*=p,e._dynamicScreenSpaceErrorComputedDensity=h}function requestContent(e,t){var i,r;t.hasEmptyContent||(i=e._statistics,r=t.contentExpired,t.requestContent()?(r&&(t.hasTilesetContent?destroySubtree(e,t):(i.decrementLoadCounts(t.content),--i.numberOfTilesWithContentReady)),++i.numberOfPendingRequests,e._requestedTilesInFlight.push(t),t.contentReadyToProcessPromise.then(addToProcessingQueue(e,t)),t.contentReadyPromise.then(handleTileSuccess(e,t)).otherwise(handleTileFailure(e,t))):++i.numberOfAttemptedRequests)}function sortRequestByPriority(e,t){return e._priority-t._priority}function cancelOutOfViewRequests(e,t){for(var i=e._requestedTilesInFlight,r=0,n=i.length,a=0;a<n;++a){var o=i[a],s=1<=t.frameNumber-o._touchedFrame;o._contentState===Cesium3DTileContentState$1.LOADING?s?(o._request.cancel(),++r):0<r&&(i[a-r]=o):++r}i.length-=r}function requestTiles(e,t){var i=e._requestedTiles,r=i.length;i.sort(sortRequestByPriority);for(var n=0;n<r;++n)requestContent(e,i[n])}function addToProcessingQueue(e,t){return function(){e._processingQueue.push(t),--e._statistics.numberOfPendingRequests,++e._statistics.numberOfTilesProcessing}}function handleTileFailure(i,r){return function(e){var t=r._contentResource.url,e=defined(e.message)?e.message:e.toString();0<i.tileFailed.numberOfListeners?i.tileFailed.raiseEvent({url:t,message:e}):(console.log("A 3D tile failed to load: "+t),console.log("Error: "+e))}}function handleTileSuccess(e,t){return function(){--e._statistics.numberOfTilesProcessing,t.hasTilesetContent||(e._statistics.incrementLoadCounts(t.content),++e._statistics.numberOfTilesWithContentReady,++e._statistics.numberOfLoadedTilesTotal,e._cache.add(t)),e.tileLoad.raiseEvent(t)}}function filterProcessingQueue(e){for(var t=e._processingQueue,i=t.length,r=0,n=0;n<i;++n){var a=t[n];a._contentState===Cesium3DTileContentState$1.PROCESSING?0<r&&(t[n-r]=a):++r}t.length-=r}function processTiles(e,t){filterProcessingQueue(e);for(var i=e._processingQueue,r=i.length,n=0;n<r;++n)i[n].process(e,t)}Cesium3DTileset.prototype.postPassesUpdate=function(e){this.ready&&(cancelOutOfViewRequests(this,e),raiseLoadProgressEvent(this,e),this._cache.unloadTiles(this,unloadTile))},Cesium3DTileset.prototype.prePassesUpdate=function(e){var t;this.ready&&(processTiles(this,e),t=this._clippingPlanes,this._clippingPlanesOriginMatrixDirty=!0,defined(t)&&t.enabled&&t.update(e),defined(this._loadTimestamp)||(this._loadTimestamp=JulianDate.clone(e.time)),this._timeSinceLoad=Math.max(1e3*JulianDate.secondsDifference(e.time,this._loadTimestamp),0),this._skipLevelOfDetail=this.skipLevelOfDetail&&!defined(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive,this.dynamicScreenSpaceError&&updateDynamicScreenSpaceError(this,e),e.newFrame&&this._cache.reset())};var scratchCartesian$5=new Cartesian3,stringOptions={maximumFractionDigits:3};function formatMemoryString(e){e/=1048576;return e<1?e.toLocaleString(void 0,stringOptions):Math.round(e).toLocaleString()}function computeTileLabelPosition(e){var t=e.boundingVolume.boundingVolume,i=t.halfAxes,r=t.radius,e=Cartesian3.clone(t.center,scratchCartesian$5);return defined(i)?(e.x+=.75*(i[0]+i[3]+i[6]),e.y+=.75*(i[1]+i[4]+i[7]),e.z+=.75*(i[2]+i[5]+i[8])):defined(r)&&(i=Cartesian3.normalize(t.center,scratchCartesian$5),i=Cartesian3.multiplyByScalar(i,.75*r,scratchCartesian$5),e=Cartesian3.add(i,t.center,scratchCartesian$5)),e}function addTileDebugLabel(e,t,i){var r="",n=0;t.debugShowGeometricError&&(r+="\nGeometric error: "+e.geometricError,n++),t.debugShowRenderingStatistics&&(r+="\nCommands: "+e.commandsLength,n++,0<e.content.pointsLength&&(r+="\nPoints: "+e.content.pointsLength,n++),0<e.content.trianglesLength&&(r+="\nTriangles: "+e.content.trianglesLength,n++),r+="\nFeatures: "+e.content.featuresLength,n++),t.debugShowMemoryUsage&&(r+="\nTexture Memory: "+formatMemoryString(e.content.texturesByteLength),r+="\nGeometry Memory: "+formatMemoryString(e.content.geometryByteLength),n+=2),t.debugShowUrl&&(r+="\nUrl: "+e._header.content.uri,n++);n={text:r.substring(1),position:i,font:19-n+"px sans-serif",showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY};return t._tileDebugLabels.add(n)}function updateTileDebugLabels(e,t){var i,r,n,a=e._selectedTiles,o=a.length,s=e._emptyTiles,l=s.length;if(e._tileDebugLabels.removeAll(),e.debugPickedTileLabelOnly)defined(e.debugPickedTile)&&(n=defined(e.debugPickPosition)?e.debugPickPosition:computeTileLabelPosition(e.debugPickedTile),addTileDebugLabel(e.debugPickedTile,e,n).pixelOffset=new Cartesian2(15,-15));else{for(i=0;i<o;++i)addTileDebugLabel(r=a[i],e,computeTileLabelPosition(r));for(i=0;i<l;++i)(r=s[i]).hasTilesetContent&&addTileDebugLabel(r,e,computeTileLabelPosition(r))}e._tileDebugLabels.update(t)}function updateTiles(e,t,i){e._styleEngine.applyStyle(e,i);var r,n=i.isRender,a=e._statistics,o=t.commandList,s=o.length,l=e._selectedTiles,c=l.length,u=e._emptyTiles,d=u.length,h=e.tileVisible,p=e._skipLevelOfDetail&&e._hasMixedContent&&t.context.stencilBuffer&&0<c;e._backfaceCommands.length=0,p&&(defined(e._stencilClearCommand)||(e._stencilClearCommand=new ClearCommand({stencil:0,pass:Pass$1.CESIUM_3D_TILE,renderState:RenderState.fromCache({stencilMask:StencilConstants$1.SKIP_LOD_MASK})})),o.push(e._stencilClearCommand));for(var m=o.length,f=0;f<c;++f)r=l[f],n&&h.raiseEvent(r),r.update(e,t,i),a.incrementSelectionCounts(r.content),++a.selected;for(f=0;f<d;++f)(r=u[f]).update(e,t,i);var g=o.length-m;if(e._backfaceCommands.trim(),p){var _=e._backfaceCommands.values,y=_.length;for(o.length+=y,f=g-1;0<=f;--f)o[m+y+f]=o[m+f];for(f=0;f<y;++f)o[m+f]=_[f]}g=o.length-s,a.numberOfCommands=g,n&&e.pointCloudShading.attenuation&&e.pointCloudShading.eyeDomeLighting&&0<g&&e._pointCloudEyeDomeLighting.update(t,s,e.pointCloudShading,e.boundingSphere),n&&(e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(defined(e._tileDebugLabels)||(e._tileDebugLabels=new LabelCollection),updateTileDebugLabels(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}var scratchStack$1=[];function destroySubtree(e,t){var i=t,r=scratchStack$1;for(r.push(t);0<r.length;){for(var n=(t=r.pop()).children,a=n.length,o=0;o<a;++o)r.push(n[o]);t!==i&&(destroyTile(e,t),--e._statistics.numberOfTilesTotal)}i.children=[]}function unloadTile(e,t){e.tileUnload.raiseEvent(t),e._statistics.decrementLoadCounts(t.content),--e._statistics.numberOfTilesWithContentReady,t.unloadContent()}function destroyTile(e,t){e._cache.unloadTile(e,t,unloadTile),t.destroy()}function raiseLoadProgressEvent(e,t){var i=e._statistics,r=e._statisticsLast,n=i.numberOfPendingRequests,a=i.numberOfTilesProcessing,o=r.numberOfPendingRequests,s=r.numberOfTilesProcessing;Cesium3DTilesetStatistics.clone(i,r);s=n!==o||a!==s;s&&t.afterRender.push(function(){e.loadProgress.raiseEvent(n,a)}),e._tilesLoaded=0===i.numberOfPendingRequests&&0===i.numberOfTilesProcessing&&0===i.numberOfAttemptedRequests,s&&e._tilesLoaded&&(t.afterRender.push(function(){e.allTilesLoaded.raiseEvent()}),e._initialTilesLoaded||(e._initialTilesLoaded=!0,t.afterRender.push(function(){e.initialTilesLoaded.raiseEvent()})))}function resetMinimumMaximum(e){e._heatmap.resetMinimumMaximum(),e._minimumPriority.depth=Number.MAX_VALUE,e._maximumPriority.depth=-Number.MAX_VALUE,e._minimumPriority.foveatedFactor=Number.MAX_VALUE,e._maximumPriority.foveatedFactor=-Number.MAX_VALUE,e._minimumPriority.distance=Number.MAX_VALUE,e._maximumPriority.distance=-Number.MAX_VALUE,e._minimumPriority.reverseScreenSpaceError=Number.MAX_VALUE,e._maximumPriority.reverseScreenSpaceError=-Number.MAX_VALUE}function detectModelMatrixChanged(e,t){t.frameNumber===e._updatedModelMatrixFrame&&defined(e._previousModelMatrix)||(e._updatedModelMatrixFrame=t.frameNumber,e._modelMatrixChanged=!Matrix4.equals(e.modelMatrix,e._previousModelMatrix),e._previousModelMatrix=Matrix4.clone(e.modelMatrix,e._previousModelMatrix))}function update$4(e,t,i,r){if(t.mode===SceneMode$1.MORPHING)return!1;if(!e.ready)return!1;var n=e._statistics;n.clear();var a=r.isRender;++e._updatedVisibilityFrame,resetMinimumMaximum(e),detectModelMatrixChanged(e,t),e._cullRequestsWhileMoving=e.cullRequestsWhileMoving&&!e._modelMatrixChanged;var o=r.traversal.selectTiles(e,t);if(r.requestTiles&&requestTiles(e),updateTiles(e,t,r),Cesium3DTilesetStatistics.clone(n,i),a){var s=e._credits;if(defined(s)&&0!==n.selected)for(var l=s.length,c=0;c<l;++c)t.creditDisplay.addCredit(s[c])}return o}Cesium3DTileset.prototype.trimLoadedTiles=function(){this._cache.trim()},Cesium3DTileset.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)},Cesium3DTileset.prototype.updateForPass=function(e,t){var i,r,n,a,o,s,l,c,u=t.pass;u===Cesium3DTilePass$1.PRELOAD&&(!this.preloadWhenHidden||this.show)||!(u!==Cesium3DTilePass$1.PRELOAD_FLIGHT||this.preloadFlightDestinations&&(this.show||this.preloadWhenHidden))||u===Cesium3DTilePass$1.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show)||(i=e.commandList,r=e.camera,n=e.cullingVolume,t.ready=!1,o=(a=Cesium3DTilePass$1.getPassOptions(u)).ignoreCommands,l=(s=defaultValue(t.commandList,i)).length,e.commandList=s,e.camera=defaultValue(t.camera,r),e.cullingVolume=defaultValue(t.cullingVolume,n),c=this._statisticsPerPass[u],(this.show||o)&&(this._pass=u,t.ready=update$4(this,e,c,a)),o&&(s.length=l),e.commandList=i,e.camera=r,e.cullingVolume=n)},Cesium3DTileset.prototype.hasExtension=function(e){return!!defined(this._extensionsUsed)&&-1<this._extensionsUsed.indexOf(e)},Cesium3DTileset.prototype.isDestroyed=function(){return!1},Cesium3DTileset.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),defined(this._root)){var e=scratchStack$1;for(e.push(this._root);0<e.length;){var t=e.pop();t.destroy();for(var i=t.children,r=i.length,n=0;n<r;++n)e.push(i[n])}}return this._root=void 0,destroyObject(this)};var modelMatrixScratch=new Matrix4;function Cesium3DTilesetVisualizer(e,t){t.collectionChanged.addEventListener(Cesium3DTilesetVisualizer.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._tilesetHash={},this._entitiesToVisualize=new AssociativeArray,this._onCollectionChanged(t,t.values,[],[])}function removeTileset(e,t,i,r){var n=i[t.id];defined(n)&&(r.removeAndDestroy(n.tilesetPrimitive),delete i[t.id])}function checkLoad(e,t,i){e.readyPromise.otherwise(function(e){console.error(e),i[t.id].loadFail=!0})}Cesium3DTilesetVisualizer.prototype.update=function(e){for(var t=this._entitiesToVisualize.values,i=this._tilesetHash,r=this._primitives,n=0,a=t.length;n<a;n++){var o,s,l=t[n],c=l._tileset,u=i[l.id],d=l.isShowing&&l.isAvailable(e)&&Property.getValueOrDefault(c._show,e,!0);d&&(s=l.computeModelMatrix(e,modelMatrixScratch),o=Resource.createIfNeeded(Property.getValueOrUndefined(c._uri,e))),d?(d=defined(u)?u.tilesetPrimitive:void 0,defined(d)&&o.url===u.url||(defined(d)&&(r.removeAndDestroy(d),delete i[l.id]),(d=new Cesium3DTileset({url:o})).id=l,r.add(d),u={tilesetPrimitive:d,url:o.url,loadFail:!1},i[l.id]=u,checkLoad(d,l,i)),d.show=!0,defined(s)&&(d.modelMatrix=s),d.maximumScreenSpaceError=Property.getValueOrDefault(c.maximumScreenSpaceError,e,d.maximumScreenSpaceError)):defined(u)&&(u.tilesetPrimitive.show=!1)}return!0},Cesium3DTilesetVisualizer.prototype.isDestroyed=function(){return!1},Cesium3DTilesetVisualizer.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Cesium3DTilesetVisualizer.prototype._onCollectionChanged,this);for(var e=this._entitiesToVisualize.values,t=this._tilesetHash,i=this._primitives,r=e.length-1;-1<r;r--)removeTileset(this,e[r],t,i);return destroyObject(this)},Cesium3DTilesetVisualizer.prototype.getBoundingSphere=function(e,t){e=this._tilesetHash[e.id];if(!defined(e)||e.loadFail)return BoundingSphereState$1.FAILED;e=e.tilesetPrimitive;return defined(e)&&e.show?e.ready?(BoundingSphere.clone(e.boundingSphere,t),BoundingSphereState$1.DONE):BoundingSphereState$1.PENDING:BoundingSphereState$1.FAILED},Cesium3DTilesetVisualizer.prototype._onCollectionChanged=function(e,t,i,r){for(var n,a=this._entitiesToVisualize,o=this._tilesetHash,s=this._primitives,l=t.length-1;-1<l;l--)defined((n=t[l])._tileset)&&a.set(n.id,n);for(l=r.length-1;-1<l;l--)defined((n=r[l])._tileset)?a.set(n.id,n):(removeTileset(this,n,o,s),a.remove(n.id));for(l=i.length-1;-1<l;l--)removeTileset(this,n=i[l],o,s),a.remove(n.id)};var defaultEvenColor=Color.WHITE,defaultOddColor=Color.BLACK,defaultRepeat$1=new Cartesian2(2,2);function CheckerboardMaterialProperty(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._definitionChanged=new Event,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties(CheckerboardMaterialProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._evenColor)&&Property.isConstant(this._oddColor)&&Property.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:createPropertyDescriptor("evenColor"),oddColor:createPropertyDescriptor("oddColor"),repeat:createPropertyDescriptor("repeat")}),CheckerboardMaterialProperty.prototype.getType=function(e){return"Checkerboard"},CheckerboardMaterialProperty.prototype.getValue=function(e,t){return defined(t)||(t={}),t.lightColor=Property.getValueOrClonedDefault(this._evenColor,e,defaultEvenColor,t.lightColor),t.darkColor=Property.getValueOrClonedDefault(this._oddColor,e,defaultOddColor,t.darkColor),t.repeat=Property.getValueOrDefault(this._repeat,e,defaultRepeat$1),t},CheckerboardMaterialProperty.prototype.equals=function(e){return this===e||e instanceof CheckerboardMaterialProperty&&Property.equals(this._evenColor,e._evenColor)&&Property.equals(this._oddColor,e._oddColor)&&Property.equals(this._repeat,e._repeat)};var entityOptionsScratch={id:void 0};function fireChangedEvent(e){if(e._firing)e._refire=!0;else if(0===e._suspendCount){var t=e._addedEntities,i=e._removedEntities,r=e._changedEntities;if(0!==r.length||0!==t.length||0!==i.length){e._firing=!0;do{e._refire=!1;var n=t.values.slice(0),a=i.values.slice(0),o=r.values.slice(0)}while(t.removeAll(),i.removeAll(),r.removeAll(),e._collectionChanged.raiseEvent(e,n,a,o),e._refire);e._firing=!1}}}function EntityCollection(e){this._owner=e,this._entities=new AssociativeArray,this._addedEntities=new AssociativeArray,this._removedEntities=new AssociativeArray,this._changedEntities=new AssociativeArray,this._suspendCount=0,this._collectionChanged=new Event,this._id=createGuid(),this._show=!0,this._firing=!1,this._refire=!1}EntityCollection.prototype.suspendEvents=function(){this._suspendCount++},EntityCollection.prototype.resumeEvents=function(){this._suspendCount--,fireChangedEvent(this)},EntityCollection.collectionChangedEventCallback=void 0,Object.defineProperties(EntityCollection.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(e!==this._show){this.suspendEvents();for(var t=[],i=this._entities.values,r=i.length,n=0;n<r;n++)t.push(i[n].isShowing);for(this._show=e,n=0;n<r;n++){var a=t[n],o=i[n];a!==o.isShowing&&o.definitionChanged.raiseEvent(o,"isShowing",o.isShowing,a)}this.resumeEvents()}}},owner:{get:function(){return this._owner}}}),EntityCollection.prototype.computeAvailability=function(){for(var e=Iso8601.MAXIMUM_VALUE,t=Iso8601.MINIMUM_VALUE,i=this._entities.values,r=0,n=i.length;r<n;r++){var a,o=i[r].availability;defined(o)&&(a=o.start,o=o.stop,JulianDate.lessThan(a,e)&&!a.equals(Iso8601.MINIMUM_VALUE)&&(e=a),JulianDate.greaterThan(o,t)&&!o.equals(Iso8601.MAXIMUM_VALUE)&&(t=o))}return Iso8601.MAXIMUM_VALUE.equals(e)&&(e=Iso8601.MINIMUM_VALUE),Iso8601.MINIMUM_VALUE.equals(t)&&(t=Iso8601.MAXIMUM_VALUE),new TimeInterval({start:e,stop:t})},EntityCollection.prototype.add=function(e){e instanceof Entity||(e=new Entity(e));var t=e.id,i=this._entities;if(i.contains(t))throw new RuntimeError("An entity with id "+t+" already exists in this collection.");return e.entityCollection=this,i.set(t,e),this._removedEntities.remove(t)||this._addedEntities.set(t,e),e.definitionChanged.addEventListener(EntityCollection.prototype._onEntityDefinitionChanged,this),fireChangedEvent(this),e},EntityCollection.prototype.remove=function(e){return!!defined(e)&&this.removeById(e.id)},EntityCollection.prototype.contains=function(e){return this._entities.get(e.id)===e},EntityCollection.prototype.removeById=function(e){if(!defined(e))return!1;var t=this._entities.get(e);return!!this._entities.remove(e)&&(this._addedEntities.remove(e)||(this._removedEntities.set(e,t),this._changedEntities.remove(e)),this._entities.remove(e),t.definitionChanged.removeEventListener(EntityCollection.prototype._onEntityDefinitionChanged,this),fireChangedEvent(this),!0)},EntityCollection.prototype.removeAll=function(){for(var e=this._entities,t=e.length,i=e.values,r=this._addedEntities,n=this._removedEntities,a=0;a<t;a++){var o=i[a],s=o.id;defined(r.get(s))||(o.definitionChanged.removeEventListener(EntityCollection.prototype._onEntityDefinitionChanged,this),n.set(s,o))}e.removeAll(),r.removeAll(),this._changedEntities.removeAll(),fireChangedEvent(this)},EntityCollection.prototype.getById=function(e){return this._entities.get(e)},EntityCollection.prototype.getOrCreateEntity=function(e){var t=this._entities.get(e);return defined(t)||(entityOptionsScratch.id=e,t=new Entity(entityOptionsScratch),this.add(t)),t},EntityCollection.prototype._onEntityDefinitionChanged=function(e){var t=e.id;this._addedEntities.contains(t)||this._changedEntities.set(t,e),fireChangedEvent(this)};var entityOptionsScratch$1={id:void 0},entityIdScratch=new Array(2);function clean(e){for(var t=e.propertyNames,i=t.length,r=0;r<i;r++)e[t[r]]=void 0;e._name=void 0,e._availability=void 0}function subscribeToEntity(e,t,i,r){entityIdScratch[0]=i,entityIdScratch[1]=r.id,t[JSON.stringify(entityIdScratch)]=r.definitionChanged.addEventListener(CompositeEntityCollection.prototype._onDefinitionChanged,e)}function unsubscribeFromEntity(e,t,i,r){entityIdScratch[0]=i,entityIdScratch[1]=r.id;r=JSON.stringify(entityIdScratch);t[r](),t[r]=void 0}function recomposite(e){if(e._shouldRecomposite=!0,0===e._suspendCount){for(var t,i,r,n,a,o=e._collections,s=o.length,l=e._collectionsCopy,c=l.length,u=e._composite,d=new EntityCollection(e),h=e._eventHash,p=0;p<c;p++)for((n=l[p]).collectionChanged.removeEventListener(CompositeEntityCollection.prototype._onCollectionChanged,e),i=n.values,a=n.id,r=i.length-1;-1<r;r--)unsubscribeFromEntity(e,h,a,t=i[r]);for(p=s-1;0<=p;p--)for((n=o[p]).collectionChanged.addEventListener(CompositeEntityCollection.prototype._onCollectionChanged,e),i=n.values,a=n.id,r=i.length-1;-1<r;r--){subscribeToEntity(e,h,a,t=i[r]);var m=d.getById(t.id);defined(m)||(defined(m=u.getById(t.id))?clean(m):(entityOptionsScratch$1.id=t.id,m=new Entity(entityOptionsScratch$1)),d.add(m)),m.merge(t)}e._collectionsCopy=o.slice(0),u.suspendEvents(),u.removeAll();var f=d.values;for(p=0;p<f.length;p++)u.add(f[p]);u.resumeEvents()}}function CompositeEntityCollection(e,t){this._owner=t,this._composite=new EntityCollection(this),this._suspendCount=0,this._collections=defined(e)?e.slice():[],this._collectionsCopy=[],this._id=createGuid(),this._eventHash={},recomposite(this),this._shouldRecomposite=!1}function getCollectionIndex(e,t){return e.indexOf(t)}function swapCollections(e,t,i){var r,n=e._collections;(t=CesiumMath.clamp(t,0,n.length-1))!==(i=CesiumMath.clamp(i,0,n.length-1))&&(r=n[t],n[t]=n[i],n[i]=r,recomposite(e))}function subscribeAll(e,t,i,r){function n(){i.raiseEvent(e)}var a=[];t.removeAll();for(var o=r.length,s=0;s<o;s++){var l=r.get(s);defined(l.data)&&-1===a.indexOf(l.data)&&t.add(l.data.definitionChanged,n)}}function CompositeProperty(){this._eventHelper=new EventHelper,this._definitionChanged=new Event,this._intervals=new TimeIntervalCollection,this._intervals.changedEvent.addEventListener(CompositeProperty.prototype._intervalsChanged,this)}function CompositeMaterialProperty(){this._definitionChanged=new Event,this._composite=new CompositeProperty,this._composite.definitionChanged.addEventListener(CompositeMaterialProperty.prototype._raiseDefinitionChanged,this)}function CompositePositionProperty(e){this._referenceFrame=defaultValue(e,ReferenceFrame$1.FIXED),this._definitionChanged=new Event,this._composite=new CompositeProperty,this._composite.definitionChanged.addEventListener(CompositePositionProperty.prototype._raiseDefinitionChanged,this)}Object.defineProperties(CompositeEntityCollection.prototype,{collectionChanged:{get:function(){return this._composite._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._composite.values}},owner:{get:function(){return this._owner}}}),CompositeEntityCollection.prototype.addCollection=function(e,t){defined(t)?this._collections.splice(t,0,e):(t=this._collections.length,this._collections.push(e)),recomposite(this)},CompositeEntityCollection.prototype.removeCollection=function(e){e=this._collections.indexOf(e);return-1!==e&&(this._collections.splice(e,1),recomposite(this),!0)},CompositeEntityCollection.prototype.removeAllCollections=function(){this._collections.length=0,recomposite(this)},CompositeEntityCollection.prototype.containsCollection=function(e){return-1!==this._collections.indexOf(e)},CompositeEntityCollection.prototype.contains=function(e){return this._composite.contains(e)},CompositeEntityCollection.prototype.indexOfCollection=function(e){return this._collections.indexOf(e)},CompositeEntityCollection.prototype.getCollection=function(e){return this._collections[e]},CompositeEntityCollection.prototype.getCollectionsLength=function(){return this._collections.length},CompositeEntityCollection.prototype.raiseCollection=function(e){e=getCollectionIndex(this._collections,e);swapCollections(this,e,e+1)},CompositeEntityCollection.prototype.lowerCollection=function(e){e=getCollectionIndex(this._collections,e);swapCollections(this,e,e-1)},CompositeEntityCollection.prototype.raiseCollectionToTop=function(e){var t=getCollectionIndex(this._collections,e);t!==this._collections.length-1&&(this._collections.splice(t,1),this._collections.push(e),recomposite(this))},CompositeEntityCollection.prototype.lowerCollectionToBottom=function(e){var t=getCollectionIndex(this._collections,e);0!==t&&(this._collections.splice(t,1),this._collections.splice(0,0,e),recomposite(this))},CompositeEntityCollection.prototype.suspendEvents=function(){this._suspendCount++,this._composite.suspendEvents()},CompositeEntityCollection.prototype.resumeEvents=function(){this._suspendCount--,this._shouldRecomposite&&0===this._suspendCount&&(recomposite(this),this._shouldRecomposite=!1),this._composite.resumeEvents()},CompositeEntityCollection.prototype.computeAvailability=function(){return this._composite.computeAvailability()},CompositeEntityCollection.prototype.getById=function(e){return this._composite.getById(e)},CompositeEntityCollection.prototype._onCollectionChanged=function(e,t,i){var r,n,a=this._collectionsCopy,o=a.length,s=this._composite;s.suspendEvents();for(var l=i.length,c=this._eventHash,u=e.id,d=0;d<l;d++){var h=i[d];unsubscribeFromEntity(this,c,u,h);for(var p=h.id,m=o-1;0<=m;m--)defined(r=a[m].getById(p))&&(defined(n)||clean(n=s.getById(p)),n.merge(r));defined(n)||s.removeById(p),n=void 0}var f=t.length;for(d=0;d<f;d++){var g=t[d];subscribeToEntity(this,c,u,g);var _=g.id;for(m=o-1;0<=m;m--)defined(r=a[m].getById(_))&&(defined(n)||(defined(n=s.getById(_))?clean(n):(entityOptionsScratch$1.id=_,n=new Entity(entityOptionsScratch$1),s.add(n))),n.merge(r));n=void 0}s.resumeEvents()},CompositeEntityCollection.prototype._onDefinitionChanged=function(e,t,i,r){for(var n=this._collections,a=this._composite,o=n.length,s=e.id,a=a.getById(s),l=a[t],s=!defined(l),c=!0,u=o-1;0<=u;u--){var d=n[u].getById(e.id);if(defined(d)){d=d[t];if(defined(d)){if(c){if(c=!1,!defined(d.merge)||!defined(d.clone)){l=d;break}l=d.clone(l)}l.merge(d)}}}s&&-1===a.propertyNames.indexOf(t)&&a.addProperty(t),a[t]=l},Object.defineProperties(CompositeProperty.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}}),CompositeProperty.prototype.getValue=function(e,t){var i=this._intervals.findDataForIntervalContainingDate(e);if(defined(i))return i.getValue(e,t)},CompositeProperty.prototype.equals=function(e){return this===e||e instanceof CompositeProperty&&this._intervals.equals(e._intervals,Property.equals)},CompositeProperty.prototype._intervalsChanged=function(){subscribeAll(this,this._eventHelper,this._definitionChanged,this._intervals),this._definitionChanged.raiseEvent(this)},Object.defineProperties(CompositeMaterialProperty.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}}),CompositeMaterialProperty.prototype.getType=function(e){var t=this._composite._intervals.findDataForIntervalContainingDate(e);if(defined(t))return t.getType(e)},CompositeMaterialProperty.prototype.getValue=function(e,t){var i=this._composite._intervals.findDataForIntervalContainingDate(e);if(defined(i))return i.getValue(e,t)},CompositeMaterialProperty.prototype.equals=function(e){return this===e||e instanceof CompositeMaterialProperty&&this._composite.equals(e._composite,Property.equals)},CompositeMaterialProperty.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},Object.defineProperties(CompositePositionProperty.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite.intervals}},referenceFrame:{get:function(){return this._referenceFrame},set:function(e){this._referenceFrame=e}}}),CompositePositionProperty.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,ReferenceFrame$1.FIXED,t)},CompositePositionProperty.prototype.getValueInReferenceFrame=function(e,t,i){var r=this._composite._intervals.findDataForIntervalContainingDate(e);if(defined(r))return r.getValueInReferenceFrame(e,t,i)},CompositePositionProperty.prototype.equals=function(e){return this===e||e instanceof CompositePositionProperty&&this._referenceFrame===e._referenceFrame&&this._composite.equals(e._composite,Property.equals)},CompositePositionProperty.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var defaultZIndex=new ConstantProperty(0);function GroundGeometryUpdater(e){GeometryUpdater.call(this,e),this._zIndex=0,this._terrainOffsetProperty=void 0}defined(Object.create)&&(GroundGeometryUpdater.prototype=Object.create(GeometryUpdater.prototype),GroundGeometryUpdater.prototype.constructor=GroundGeometryUpdater),Object.defineProperties(GroundGeometryUpdater.prototype,{zIndex:{get:function(){return this._zIndex}},terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}}),GroundGeometryUpdater.prototype._isOnTerrain=function(e,t){return this._fillEnabled&&!defined(t.height)&&!defined(t.extrudedHeight)&&GroundPrimitive.isSupported(this._scene)},GroundGeometryUpdater.prototype._getIsClosed=function(e){var t=e.height,e=e.extrudedHeight;return 0===t||defined(e)&&e!==t},GroundGeometryUpdater.prototype._computeCenter=DeveloperError.throwInstantiationError,GroundGeometryUpdater.prototype._onEntityPropertyChanged=function(e,t,i,r){GeometryUpdater.prototype._onEntityPropertyChanged.call(this,e,t,i,r),-1===this._observedPropertyNames.indexOf(t)||defined(i=this._entity[this._geometryPropertyName])&&(defined(i.zIndex)&&(defined(i.height)||defined(i.extrudedHeight))&&oneTimeWarning(oneTimeWarning.geometryZIndex),this._zIndex=defaultValue(i.zIndex,defaultZIndex),defined(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),r=i.heightReference,t=i.extrudedHeightReference,(defined(r)||defined(t))&&(i=new CallbackProperty(this._computeCenter.bind(this),!this._dynamic),this._terrainOffsetProperty=new TerrainOffsetProperty(this._scene,i,r,t)))},GroundGeometryUpdater.prototype.destroy=function(){defined(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),GeometryUpdater.prototype.destroy.call(this)},GroundGeometryUpdater.getGeometryHeight=function(e,t){if(defined(e))return t!==HeightReference$1.CLAMP_TO_GROUND?e:0;t!==HeightReference$1.NONE&&oneTimeWarning(oneTimeWarning.geometryHeightReference)},GroundGeometryUpdater.getGeometryExtrudedHeight=function(e,t){if(defined(e))return t!==HeightReference$1.CLAMP_TO_GROUND?e:GroundGeometryUpdater.CLAMP_TO_GROUND;t!==HeightReference$1.NONE&&oneTimeWarning(oneTimeWarning.geometryExtrudedHeightReference)},GroundGeometryUpdater.CLAMP_TO_GROUND="clamp",GroundGeometryUpdater.computeGeometryOffsetAttribute=function(e,t,i,r){defined(e)&&defined(t)||(t=HeightReference$1.NONE),defined(i)&&defined(r)||(r=HeightReference$1.NONE);i=0;return t!==HeightReference$1.NONE&&i++,r===HeightReference$1.RELATIVE_TO_GROUND&&i++,2===i?GeometryOffsetAttribute$1.ALL:1===i?GeometryOffsetAttribute$1.TOP:void 0};var scratchColor$9=new Color,defaultOffset$1=Cartesian3.ZERO,offsetScratch$4=new Cartesian3,scratchRectangle$3=new Rectangle;function CorridorGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.cornerType=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.offsetAttribute=void 0}function CorridorGeometryUpdater(e,t){GroundGeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new CorridorGeometryOptions(e),geometryPropertyName:"corridor",observedPropertyNames:["availability","corridor"]}),this._onEntityPropertyChanged(e,"corridor",e.corridor,void 0)}function DynamicCorridorGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i)}function DataSource(){DeveloperError.throwInstantiationError()}function PointPrimitive(e,t){var i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).translucencyByDistance,r=e.scaleByDistance,n=e.distanceDisplayCondition;defined(i)&&(i=NearFarScalar.clone(i)),defined(r)&&(r=NearFarScalar.clone(r)),defined(n)&&(n=DistanceDisplayCondition.clone(n)),this._show=defaultValue(e.show,!0),this._position=Cartesian3.clone(defaultValue(e.position,Cartesian3.ZERO)),this._actualPosition=Cartesian3.clone(this._position),this._color=Color.clone(defaultValue(e.color,Color.WHITE)),this._outlineColor=Color.clone(defaultValue(e.outlineColor,Color.TRANSPARENT)),this._outlineWidth=defaultValue(e.outlineWidth,0),this._pixelSize=defaultValue(e.pixelSize,10),this._scaleByDistance=r,this._translucencyByDistance=i,this._distanceDisplayCondition=n,this._disableDepthTestDistance=defaultValue(e.disableDepthTestDistance,0),this._id=e.id,this._collection=defaultValue(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1}defined(Object.create)&&(CorridorGeometryUpdater.prototype=Object.create(GroundGeometryUpdater.prototype),CorridorGeometryUpdater.prototype.constructor=CorridorGeometryUpdater),CorridorGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t,i=this._entity,r=i.isAvailable(e),n={show:new ShowGeometryInstanceAttribute(r&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};return this._materialProperty instanceof ColorMaterialProperty&&(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||r)&&(t=this._materialProperty.color.getValue(e,scratchColor$9)),defined(t)||(t=Color.WHITE),n.color=ColorGeometryInstanceAttribute.fromColor(t)),defined(this._options.offsetAttribute)&&(n.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$1,offsetScratch$4))),new GeometryInstance({id:i,geometry:new CorridorGeometry(this._options),attributes:n})},CorridorGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor$9),r={show:new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(r),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0};return defined(this._options.offsetAttribute)&&(r.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$1,offsetScratch$4))),new GeometryInstance({id:t,geometry:new CorridorOutlineGeometry(this._options),attributes:r})},CorridorGeometryUpdater.prototype._computeCenter=function(e,t){e=Property.getValueOrUndefined(this._entity.corridor.positions,e);if(defined(e)&&0!==e.length)return Cartesian3.clone(e[Math.floor(e.length/2)],t)},CorridorGeometryUpdater.prototype._isHidden=function(e,t){return!defined(t.positions)||!defined(t.width)||GeometryUpdater.prototype._isHidden.call(this,e,t)},CorridorGeometryUpdater.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!Property.isConstant(t.height)||!Property.isConstant(t.extrudedHeight)||!Property.isConstant(t.granularity)||!Property.isConstant(t.width)||!Property.isConstant(t.outlineWidth)||!Property.isConstant(t.cornerType)||!Property.isConstant(t.zIndex)||this._onTerrain&&!Property.isConstant(this._materialProperty)&&!(this._materialProperty instanceof ColorMaterialProperty)},CorridorGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=Property.getValueOrUndefined(t.height,Iso8601.MINIMUM_VALUE),r=Property.getValueOrDefault(t.heightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE),n=Property.getValueOrUndefined(t.extrudedHeight,Iso8601.MINIMUM_VALUE),a=Property.getValueOrDefault(t.extrudedHeightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE);defined(n)&&!defined(i)&&(i=0);var o=this._options;o.vertexFormat=this._materialProperty instanceof ColorMaterialProperty?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,o.positions=t.positions.getValue(Iso8601.MINIMUM_VALUE,o.positions),o.width=t.width.getValue(Iso8601.MINIMUM_VALUE),o.granularity=Property.getValueOrUndefined(t.granularity,Iso8601.MINIMUM_VALUE),o.cornerType=Property.getValueOrUndefined(t.cornerType,Iso8601.MINIMUM_VALUE),o.offsetAttribute=GroundGeometryUpdater.computeGeometryOffsetAttribute(i,r,n,a),o.height=GroundGeometryUpdater.getGeometryHeight(i,r),(n=GroundGeometryUpdater.getGeometryExtrudedHeight(n,a))===GroundGeometryUpdater.CLAMP_TO_GROUND&&(n=ApproximateTerrainHeights.getMinimumMaximumHeights(CorridorGeometry.computeRectangle(o,scratchRectangle$3)).minimumTerrainHeight),o.extrudedHeight=n},CorridorGeometryUpdater.DynamicGeometryUpdater=DynamicCorridorGeometryUpdater,defined(Object.create)&&(DynamicCorridorGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DynamicCorridorGeometryUpdater.prototype.constructor=DynamicCorridorGeometryUpdater),DynamicCorridorGeometryUpdater.prototype._isHidden=function(e,t,i){var r=this._options;return!defined(r.positions)||!defined(r.width)||DynamicGeometryUpdater.prototype._isHidden.call(this,e,t,i)},DynamicCorridorGeometryUpdater.prototype._setOptions=function(e,t,i){var r=this._options,n=Property.getValueOrUndefined(t.height,i),a=Property.getValueOrDefault(t.heightReference,i,HeightReference$1.NONE),o=Property.getValueOrUndefined(t.extrudedHeight,i),s=Property.getValueOrDefault(t.extrudedHeightReference,i,HeightReference$1.NONE);defined(o)&&!defined(n)&&(n=0),r.positions=Property.getValueOrUndefined(t.positions,i),r.width=Property.getValueOrUndefined(t.width,i),r.granularity=Property.getValueOrUndefined(t.granularity,i),r.cornerType=Property.getValueOrUndefined(t.cornerType,i),r.offsetAttribute=GroundGeometryUpdater.computeGeometryOffsetAttribute(n,a,o,s),r.height=GroundGeometryUpdater.getGeometryHeight(n,a),(o=GroundGeometryUpdater.getGeometryExtrudedHeight(o,s))===GroundGeometryUpdater.CLAMP_TO_GROUND&&(o=ApproximateTerrainHeights.getMinimumMaximumHeights(CorridorGeometry.computeRectangle(r,scratchRectangle$3)).minimumTerrainHeight),r.extrudedHeight=o},Object.defineProperties(DataSource.prototype,{name:{get:DeveloperError.throwInstantiationError},clock:{get:DeveloperError.throwInstantiationError},entities:{get:DeveloperError.throwInstantiationError},isLoading:{get:DeveloperError.throwInstantiationError},changedEvent:{get:DeveloperError.throwInstantiationError},errorEvent:{get:DeveloperError.throwInstantiationError},loadingEvent:{get:DeveloperError.throwInstantiationError},show:{get:DeveloperError.throwInstantiationError},clustering:{get:DeveloperError.throwInstantiationError}}),DataSource.prototype.update=function(e){DeveloperError.throwInstantiationError()},DataSource.setLoading=function(e,t){e._isLoading!==t&&(t?e._entityCollection.suspendEvents():e._entityCollection.resumeEvents(),e._isLoading=t,e._loading.raiseEvent(e,t))};var SHOW_INDEX$4=PointPrimitive.SHOW_INDEX=0,POSITION_INDEX$4=PointPrimitive.POSITION_INDEX=1,COLOR_INDEX$2=PointPrimitive.COLOR_INDEX=2,OUTLINE_COLOR_INDEX=PointPrimitive.OUTLINE_COLOR_INDEX=3,OUTLINE_WIDTH_INDEX=PointPrimitive.OUTLINE_WIDTH_INDEX=4,PIXEL_SIZE_INDEX=PointPrimitive.PIXEL_SIZE_INDEX=5,SCALE_BY_DISTANCE_INDEX$2=PointPrimitive.SCALE_BY_DISTANCE_INDEX=6,TRANSLUCENCY_BY_DISTANCE_INDEX$2=PointPrimitive.TRANSLUCENCY_BY_DISTANCE_INDEX=7,DISTANCE_DISPLAY_CONDITION_INDEX$1=PointPrimitive.DISTANCE_DISPLAY_CONDITION_INDEX=8,DISABLE_DEPTH_DISTANCE_INDEX=PointPrimitive.DISABLE_DEPTH_DISTANCE_INDEX=9;function makeDirty$2(e,t){var i=e._pointPrimitiveCollection;defined(i)&&(i._updatePointPrimitive(e,t),e._dirty=!0)}PointPrimitive.NUMBER_OF_PROPERTIES=10,Object.defineProperties(PointPrimitive.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,makeDirty$2(this,SHOW_INDEX$4))}},position:{get:function(){return this._position},set:function(e){var t=this._position;Cartesian3.equals(t,e)||(Cartesian3.clone(e,t),Cartesian3.clone(e,this._actualPosition),makeDirty$2(this,POSITION_INDEX$4))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){var t=this._scaleByDistance;NearFarScalar.equals(t,e)||(this._scaleByDistance=NearFarScalar.clone(e,t),makeDirty$2(this,SCALE_BY_DISTANCE_INDEX$2))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){var t=this._translucencyByDistance;NearFarScalar.equals(t,e)||(this._translucencyByDistance=NearFarScalar.clone(e,t),makeDirty$2(this,TRANSLUCENCY_BY_DISTANCE_INDEX$2))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){this._pixelSize!==e&&(this._pixelSize=e,makeDirty$2(this,PIXEL_SIZE_INDEX))}},color:{get:function(){return this._color},set:function(e){var t=this._color;Color.equals(t,e)||(Color.clone(e,t),makeDirty$2(this,COLOR_INDEX$2))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){var t=this._outlineColor;Color.equals(t,e)||(Color.clone(e,t),makeDirty$2(this,OUTLINE_COLOR_INDEX))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,makeDirty$2(this,OUTLINE_WIDTH_INDEX))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){DistanceDisplayCondition.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=DistanceDisplayCondition.clone(e,this._distanceDisplayCondition),makeDirty$2(this,DISTANCE_DISPLAY_CONDITION_INDEX$1))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,makeDirty$2(this,DISABLE_DEPTH_DISTANCE_INDEX))}},id:{get:function(){return this._id},set:function(e){this._id=e,defined(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,makeDirty$2(this,SHOW_INDEX$4))}}}),PointPrimitive.prototype.getPickId=function(e){return defined(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId},PointPrimitive.prototype._getActualPosition=function(){return this._actualPosition},PointPrimitive.prototype._setActualPosition=function(e){Cartesian3.clone(e,this._actualPosition),makeDirty$2(this,POSITION_INDEX$4)};var tempCartesian3$1=new Cartesian4;PointPrimitive._computeActualPosition=function(e,t,i){return t.mode===SceneMode$1.SCENE3D?e:(Matrix4.multiplyByPoint(i,e,tempCartesian3$1),SceneTransforms.computeActualWgs84Position(t,tempCartesian3$1))};var scratchCartesian4$4=new Cartesian4;PointPrimitive._computeScreenSpacePosition=function(e,t,i,r){t=Matrix4.multiplyByVector(e,Cartesian4.fromElements(t.x,t.y,t.z,1,scratchCartesian4$4),scratchCartesian4$4);return SceneTransforms.wgs84ToWindowCoordinates(i,t,r)},PointPrimitive.prototype.computeScreenSpacePosition=function(e,t){var i=this._pointPrimitiveCollection;defined(t)||(t=new Cartesian2);i=i.modelMatrix,t=PointPrimitive._computeScreenSpacePosition(i,this._actualPosition,e,t);if(defined(t))return t.y=e.canvas.clientHeight-t.y,t},PointPrimitive.getScreenSpaceBoundingBox=function(e,t,i){var r=e.pixelSize,n=.5*r,e=t.x-n,t=t.y-n,n=r,r=r;return defined(i)||(i=new BoundingRectangle),i.x=e,i.y=t,i.width=n,i.height=r,i},PointPrimitive.prototype.equals=function(e){return this===e||defined(e)&&this._id===e._id&&Cartesian3.equals(this._position,e._position)&&Color.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&Color.equals(this._outlineColor,e._outlineColor)&&NearFarScalar.equals(this._scaleByDistance,e._scaleByDistance)&&NearFarScalar.equals(this._translucencyByDistance,e._translucencyByDistance)&&DistanceDisplayCondition.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance},PointPrimitive.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var PointPrimitiveCollectionFS="varying vec4 v_color;\nvarying vec4 v_outlineColor;\nvarying float v_innerPercent;\nvarying float v_pixelDistance;\nvarying vec4 v_pickColor;\nvoid main()\n{\nfloat distanceToCenter = length(gl_PointCoord - vec2(0.5));\nfloat maxDistance = max(0.0, 0.5 - v_pixelDistance);\nfloat wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter);\nfloat innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter);\nvec4 color = mix(v_outlineColor, v_color, innerAlpha);\ncolor.a *= wholeAlpha;\n#if !defined(OPAQUE) && !defined(TRANSLUCENT)\nif (color.a < 0.005)\n{\ndiscard;\n}\n#else\n#ifdef OPAQUE\nif (color.a < 0.995)\n{\ndiscard;\n}\n#else\nif (color.a >= 0.995)\n{\ndiscard;\n}\n#endif\n#endif\ngl_FragColor = czm_gammaCorrect(color);\nczm_writeLogDepth();\n}\n",PointPrimitiveCollectionVS="uniform float u_maxTotalPointSize;\nattribute vec4 positionHighAndSize;\nattribute vec4 positionLowAndOutline;\nattribute vec4 compressedAttribute0;\nattribute vec4 compressedAttribute1;\nattribute vec4 scaleByDistance;\nattribute vec3 distanceDisplayConditionAndDisableDepth;\nvarying vec4 v_color;\nvarying vec4 v_outlineColor;\nvarying float v_innerPercent;\nvarying float v_pixelDistance;\nvarying vec4 v_pickColor;\nconst float SHIFT_LEFT8 = 256.0;\nconst float SHIFT_RIGHT8 = 1.0 / 256.0;\nvoid main()\n{\nvec3 positionHigh = positionHighAndSize.xyz;\nvec3 positionLow = positionLowAndOutline.xyz;\nfloat outlineWidthBothSides = 2.0 * positionLowAndOutline.w;\nfloat totalSize = positionHighAndSize.w + outlineWidthBothSides;\nfloat outlinePercent = outlineWidthBothSides / totalSize;\ntotalSize *= czm_pixelRatio;\ntotalSize += 3.0;\nfloat temp = compressedAttribute1.x * SHIFT_RIGHT8;\nfloat show = floor(temp);\n#ifdef EYE_DISTANCE_TRANSLUCENCY\nvec4 translucencyByDistance;\ntranslucencyByDistance.x = compressedAttribute1.z;\ntranslucencyByDistance.z = compressedAttribute1.w;\ntranslucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;\ntemp = compressedAttribute1.y * SHIFT_RIGHT8;\ntranslucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;\n#endif\nvec4 color;\nvec4 outlineColor;\nvec4 pickColor;\ntemp = compressedAttribute0.z * SHIFT_RIGHT8;\npickColor.b = (temp - floor(temp)) * SHIFT_LEFT8;\ntemp = floor(temp) * SHIFT_RIGHT8;\npickColor.g = (temp - floor(temp)) * SHIFT_LEFT8;\npickColor.r = floor(temp);\ntemp = compressedAttribute0.x * SHIFT_RIGHT8;\ncolor.b = (temp - floor(temp)) * SHIFT_LEFT8;\ntemp = floor(temp) * SHIFT_RIGHT8;\ncolor.g = (temp - floor(temp)) * SHIFT_LEFT8;\ncolor.r = floor(temp);\ntemp = compressedAttribute0.y * SHIFT_RIGHT8;\noutlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8;\ntemp = floor(temp) * SHIFT_RIGHT8;\noutlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8;\noutlineColor.r = floor(temp);\ntemp = compressedAttribute0.w * SHIFT_RIGHT8;\npickColor.a = (temp - floor(temp)) * SHIFT_LEFT8;\npickColor = pickColor / 255.0;\ntemp = floor(temp) * SHIFT_RIGHT8;\noutlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8;\noutlineColor /= 255.0;\ncolor.a = floor(temp);\ncolor /= 255.0;\nvec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\nvec4 positionEC = czm_modelViewRelativeToEye * p;\n#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE)\nfloat lengthSq;\nif (czm_sceneMode == czm_sceneMode2D)\n{\nlengthSq = czm_eyeHeight2D.y;\n}\nelse\n{\nlengthSq = dot(positionEC.xyz, positionEC.xyz);\n}\n#endif\n#ifdef EYE_DISTANCE_SCALING\ntotalSize *= czm_nearFarScalar(scaleByDistance, lengthSq);\n#endif\ntotalSize = min(totalSize, u_maxTotalPointSize);\nif (totalSize < 1.0)\n{\npositionEC.xyz = vec3(0.0);\ntotalSize = 1.0;\n}\nfloat translucency = 1.0;\n#ifdef EYE_DISTANCE_TRANSLUCENCY\ntranslucency = czm_nearFarScalar(translucencyByDistance, lengthSq);\nif (translucency < 0.004)\n{\npositionEC.xyz = vec3(0.0);\n}\n#endif\n#ifdef DISTANCE_DISPLAY_CONDITION\nfloat nearSq = distanceDisplayConditionAndDisableDepth.x;\nfloat farSq = distanceDisplayConditionAndDisableDepth.y;\nif (lengthSq < nearSq || lengthSq > farSq) {\npositionEC.xyz = vec3(0.0, 0.0, 1.0);\n}\n#endif\ngl_Position = czm_projection * positionEC;\nczm_vertexLogDepth();\n#ifdef DISABLE_DEPTH_DISTANCE\nfloat disableDepthTestDistance = distanceDisplayConditionAndDisableDepth.z;\nif (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0)\n{\ndisableDepthTestDistance = czm_minimumDisableDepthTestDistance;\n}\nif (disableDepthTestDistance != 0.0)\n{\nfloat zclip = gl_Position.z / gl_Position.w;\nbool clipped = (zclip < -1.0 || zclip > 1.0);\nif (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance)))\n{\ngl_Position.z = -gl_Position.w;\n#ifdef LOG_DEPTH\nczm_vertexLogDepth(vec4(czm_currentFrustum.x));\n#endif\n}\n}\n#endif\nv_color = color;\nv_color.a *= translucency * show;\nv_outlineColor = outlineColor;\nv_outlineColor.a *= translucency * show;\nv_innerPercent = 1.0 - outlinePercent;\nv_pixelDistance = 2.0 / totalSize;\ngl_PointSize = totalSize * show;\ngl_Position *= show;\nv_pickColor = pickColor;\n}\n",SHOW_INDEX$5=PointPrimitive.SHOW_INDEX,POSITION_INDEX$5=PointPrimitive.POSITION_INDEX,COLOR_INDEX$3=PointPrimitive.COLOR_INDEX,OUTLINE_COLOR_INDEX$1=PointPrimitive.OUTLINE_COLOR_INDEX,OUTLINE_WIDTH_INDEX$1=PointPrimitive.OUTLINE_WIDTH_INDEX,PIXEL_SIZE_INDEX$1=PointPrimitive.PIXEL_SIZE_INDEX,SCALE_BY_DISTANCE_INDEX$3=PointPrimitive.SCALE_BY_DISTANCE_INDEX,TRANSLUCENCY_BY_DISTANCE_INDEX$3=PointPrimitive.TRANSLUCENCY_BY_DISTANCE_INDEX,DISTANCE_DISPLAY_CONDITION_INDEX$2=PointPrimitive.DISTANCE_DISPLAY_CONDITION_INDEX,DISABLE_DEPTH_DISTANCE_INDEX$1=PointPrimitive.DISABLE_DEPTH_DISTANCE_INDEX,NUMBER_OF_PROPERTIES$3=PointPrimitive.NUMBER_OF_PROPERTIES,attributeLocations$3={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepth:5};function PointPrimitiveCollection(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(NUMBER_OF_PROPERTIES$3),this._maxPixelSize=1,this._baseVolume=new BoundingSphere,this._baseVolumeWC=new BoundingSphere,this._baseVolume2D=new BoundingSphere,this._boundingVolume=new BoundingSphere,this._boundingVolumeDirty=!1,this._colorCommands=[],this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this._modelMatrix=Matrix4.clone(Matrix4.IDENTITY),this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this.blendOption=defaultValue(e.blendOption,BlendOption$1.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=SceneMode$1.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW,BufferUsage$1.STATIC_DRAW];var t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}function destroyPointPrimitives(e){for(var t=e.length,i=0;i<t;++i)e[i]&&e[i]._destroy()}function removePointPrimitives(e){if(e._pointPrimitivesRemoved){e._pointPrimitivesRemoved=!1;for(var t=[],i=e._pointPrimitives,r=i.length,n=0,a=0;n<r;++n){var o=i[n];o&&(o._index=a++,t.push(o))}e._pointPrimitives=t}}function createVAF$1(e,t,i){return new VertexArrayFacade(e,[{index:attributeLocations$3.positionHighAndSize,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[POSITION_INDEX$5]},{index:attributeLocations$3.positionLowAndShow,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[POSITION_INDEX$5]},{index:attributeLocations$3.compressedAttribute0,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[COLOR_INDEX$3]},{index:attributeLocations$3.compressedAttribute1,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[TRANSLUCENCY_BY_DISTANCE_INDEX$3]},{index:attributeLocations$3.scaleByDistance,componentsPerAttribute:4,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[SCALE_BY_DISTANCE_INDEX$3]},{index:attributeLocations$3.distanceDisplayConditionAndDisableDepth,componentsPerAttribute:3,componentDatatype:ComponentDatatype$1.FLOAT,usage:i[DISTANCE_DISPLAY_CONDITION_INDEX$2]}],t)}Object.defineProperties(PointPrimitiveCollection.prototype,{length:{get:function(){return removePointPrimitives(this),this._pointPrimitives.length}}}),PointPrimitiveCollection.prototype.add=function(e){e=new PointPrimitive(e,this);return e._index=this._pointPrimitives.length,this._pointPrimitives.push(e),this._createVertexArray=!0,e},PointPrimitiveCollection.prototype.remove=function(e){return!!this.contains(e)&&(this._pointPrimitives[e._index]=null,this._pointPrimitivesRemoved=!0,this._createVertexArray=!0,e._destroy(),!0)},PointPrimitiveCollection.prototype.removeAll=function(){destroyPointPrimitives(this._pointPrimitives),this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!0},PointPrimitiveCollection.prototype._updatePointPrimitive=function(e,t){e._dirty||(this._pointPrimitivesToUpdate[this._pointPrimitivesToUpdateIndex++]=e),++this._propertiesChanged[t]},PointPrimitiveCollection.prototype.contains=function(e){return defined(e)&&e._pointPrimitiveCollection===this},PointPrimitiveCollection.prototype.get=function(e){return removePointPrimitives(this),this._pointPrimitives[e]},PointPrimitiveCollection.prototype.computeNewBuffersUsage=function(){for(var e=this._buffersUsage,t=!1,i=this._propertiesChanged,r=0;r<NUMBER_OF_PROPERTIES$3;++r){var n=0===i[r]?BufferUsage$1.STATIC_DRAW:BufferUsage$1.STREAM_DRAW,t=t||e[r]!==n;e[r]=n}return t};var writePositionScratch$1=new EncodedCartesian3;function writePositionSizeAndOutline(e,t,i,r){var n=r._index,a=r._getActualPosition();e._mode===SceneMode$1.SCENE3D&&(BoundingSphere.expand(e._baseVolume,a,e._baseVolume),e._boundingVolumeDirty=!0),EncodedCartesian3.fromCartesian(a,writePositionScratch$1);var o=r.pixelSize,a=r.outlineWidth;e._maxPixelSize=Math.max(e._maxPixelSize,o+a);r=i[attributeLocations$3.positionHighAndSize],e=writePositionScratch$1.high;r(n,e.x,e.y,e.z,o);o=i[attributeLocations$3.positionLowAndOutline],i=writePositionScratch$1.low;o(n,i.x,i.y,i.z,a)}var LEFT_SHIFT16$1=65536,LEFT_SHIFT8$1=256;function writeCompressedAttrib0$1(e,t,i,r){var n=r._index,a=r.color,o=r.getPickId(t).color,s=r.outlineColor,l=Color.floatToByte(a.red),c=Color.floatToByte(a.green),u=Color.floatToByte(a.blue),t=l*LEFT_SHIFT16$1+c*LEFT_SHIFT8$1+u,l=Color.floatToByte(s.red),c=Color.floatToByte(s.green),u=Color.floatToByte(s.blue),r=l*LEFT_SHIFT16$1+c*LEFT_SHIFT8$1+u;l=Color.floatToByte(o.red),c=Color.floatToByte(o.green),u=Color.floatToByte(o.blue);u=l*LEFT_SHIFT16$1+c*LEFT_SHIFT8$1+u,o=Color.floatToByte(a.alpha)*LEFT_SHIFT16$1+Color.floatToByte(s.alpha)*LEFT_SHIFT8$1+Color.floatToByte(o.alpha);(0,i[attributeLocations$3.compressedAttribute0])(n,t,r,u,o)}function writeCompressedAttrib1$1(e,t,i,r){var n=r._index,a=0,o=1,s=1,l=1,c=r.translucencyByDistance;defined(c)&&(a=c.near,o=c.nearValue,s=c.far,l=c.farValue,1===o&&1===l||(e._shaderTranslucencyByDistance=!0));e=r.show&&r.clusterShow;0===r.color.alpha&&0===r.outlineColor.alpha&&(e=!1),o=CesiumMath.clamp(o,0,1);o=(e?1:0)*LEFT_SHIFT8$1+(o=1===o?255:255*o|0);l=1===(l=CesiumMath.clamp(l,0,1))?255:255*l|0,(0,i[attributeLocations$3.compressedAttribute1])(n,o,l,a,s)}function writeScaleByDistance$1(e,t,i,r){var n=r._index,a=i[attributeLocations$3.scaleByDistance],o=0,s=1,l=1,i=1,r=r.scaleByDistance;defined(r)&&(o=r.near,s=r.nearValue,l=r.far,i=r.farValue,1===s&&1===i||(e._shaderScaleByDistance=!0)),a(n,o,s,l,i)}function writeDistanceDisplayConditionAndDepthDisable(e,t,i,r){var n=r._index,a=i[attributeLocations$3.distanceDisplayConditionAndDisableDepth],o=0,s=Number.MAX_VALUE,i=r.distanceDisplayCondition;defined(i)&&(o=i.near,s=i.far,o*=o,s*=s,e._shaderDistanceDisplayCondition=!0);r=r.disableDepthTestDistance;0<(r*=r)&&(e._shaderDisableDepthDistance=!0,r===Number.POSITIVE_INFINITY&&(r=-1)),a(n,o,s,r)}function writePointPrimitive(e,t,i,r){writePositionSizeAndOutline(e,t,i,r),writeCompressedAttrib0$1(e,t,i,r),writeCompressedAttrib1$1(e,t,i,r),writeScaleByDistance$1(e,t,i,r),writeDistanceDisplayConditionAndDepthDisable(e,t,i,r)}function recomputeActualPositions$1(e,t,i,r,n,a){var o;r.mode===SceneMode$1.SCENE3D?(o=e._baseVolume,e._boundingVolumeDirty=!0):o=e._baseVolume2D;for(var s=[],l=0;l<i;++l){var c=t[l],u=c.position,u=PointPrimitive._computeActualPosition(u,r,n);defined(u)&&(c._setActualPosition(u),a?s.push(u):BoundingSphere.expand(o,u,o))}a&&BoundingSphere.fromPoints(s,o)}function updateMode$2(e,t){var i=t.mode,r=e._pointPrimitives,n=e._pointPrimitivesToUpdate,a=e._modelMatrix;e._createVertexArray||e._mode!==i||i!==SceneMode$1.SCENE3D&&!Matrix4.equals(a,e.modelMatrix)?(e._mode=i,Matrix4.clone(e.modelMatrix,a),e._createVertexArray=!0,i!==SceneMode$1.SCENE3D&&i!==SceneMode$1.SCENE2D&&i!==SceneMode$1.COLUMBUS_VIEW||recomputeActualPositions$1(e,r,r.length,t,a,!0)):i===SceneMode$1.MORPHING?recomputeActualPositions$1(e,r,r.length,t,a,!0):i!==SceneMode$1.SCENE2D&&i!==SceneMode$1.COLUMBUS_VIEW||recomputeActualPositions$1(e,n,e._pointPrimitivesToUpdateIndex,t,a,!1)}function updateBoundingVolume$1(e,t,i){e=t.camera.getPixelSize(i,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*e._maxPixelSize;i.radius+=e}var scratchWriterArray$1=[];function kdbush(e,t,i,r,n){return new KDBush(e,t,i,r,n)}function KDBush(e,t,i,r,n){t=t||defaultGetX,i=i||defaultGetY,n=n||Array,this.nodeSize=r||64,this.points=e,this.ids=new n(e.length),this.coords=new n(2*e.length);for(var a=0;a<e.length;a++)this.ids[a]=a,this.coords[2*a]=t(e[a]),this.coords[2*a+1]=i(e[a]);sort$1(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function defaultGetX(e){return e[0]}function defaultGetY(e){return e[1]}function range(e,t,i,r,n,a,o){for(var s=[0,e.length-1,0],l=[];s.length;){var c=s.pop(),u=s.pop(),d=s.pop();if(u-d<=o)for(var h=d;h<=u;h++)m=t[2*h],f=t[2*h+1],i<=m&&m<=n&&r<=f&&f<=a&&l.push(e[h]);else{var p=Math.floor((d+u)/2),m=t[2*p],f=t[2*p+1];i<=m&&m<=n&&r<=f&&f<=a&&l.push(e[p]);var g=(c+1)%2;(0===c?i<=m:r<=f)&&(s.push(d),s.push(p-1),s.push(g)),(0===c?m<=n:f<=a)&&(s.push(p+1),s.push(u),s.push(g))}}return l}function sort$1(e,t,i,r,n,a){var o;n-r<=i||(select(e,t,o=Math.floor((r+n)/2),r,n,a%2),sort$1(e,t,i,r,o-1,a+1),sort$1(e,t,i,o+1,n,a+1))}function select(e,t,i,r,n,a){for(;r<n;){var o,s,l,c;600<n-r&&(o=n-r+1,s=i-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),c=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1),select(e,t,i,Math.max(r,Math.floor(i-s*l/o+c)),Math.min(n,Math.floor(i+(o-s)*l/o+c)),a));var u=t[2*i+a],d=r,h=n;for(swapItem(e,t,r,i),t[2*n+a]>u&&swapItem(e,t,r,n);d<h;){for(swapItem(e,t,d,h),d++,h--;t[2*d+a]<u;)d++;for(;t[2*h+a]>u;)h--}t[2*r+a]===u?swapItem(e,t,r,h):swapItem(e,t,++h,n),h<=i&&(r=h+1),i<=h&&(n=h-1)}}function swapItem(e,t,i,r){swap$2(e,i,r),swap$2(t,2*i,2*r),swap$2(t,2*i+1,2*r+1)}function swap$2(e,t,i){var r=e[t];e[t]=e[i],e[i]=r}function within(e,t,i,r,n,a){for(var o=[0,e.length-1,0],s=[],l=n*n;o.length;){var c=o.pop(),u=o.pop(),d=o.pop();if(u-d<=a)for(var h=d;h<=u;h++)sqDist(t[2*h],t[2*h+1],i,r)<=l&&s.push(e[h]);else{var p=Math.floor((d+u)/2),m=t[2*p],f=t[2*p+1];sqDist(m,f,i,r)<=l&&s.push(e[p]);var g=(c+1)%2;(0===c?i-n<=m:r-n<=f)&&(o.push(d),o.push(p-1),o.push(g)),(0===c?m<=i+n:f<=r+n)&&(o.push(p+1),o.push(u),o.push(g))}}return s}function sqDist(e,t,i,r){i=e-i,r=t-r;return i*i+r*r}function EntityCluster(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._enabled=defaultValue(e.enabled,!1),this._pixelRange=defaultValue(e.pixelRange,80),this._minimumClusterSize=defaultValue(e.minimumClusterSize,2),this._clusterBillboards=defaultValue(e.clusterBillboards,!0),this._clusterLabels=defaultValue(e.clusterLabels,!0),this._clusterPoints=defaultValue(e.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new Event}function getX(e){return e.coord.x}function getY(e){return e.coord.y}function expandBoundingBox(e,t){e.x-=t,e.y-=t,e.width+=2*t,e.height+=2*t}PointPrimitiveCollection.prototype.update=function(e){removePointPrimitives(this),this._maxTotalPointSize=ContextLimits.maximumAliasedPointSize,updateMode$2(this,e);var t=this._pointPrimitives.length,i=this._pointPrimitivesToUpdate,r=this._pointPrimitivesToUpdateIndex,n=this._propertiesChanged,a=this._createVertexArray,o=e.context,s=e.passes,l=s.pick;if(a||!l&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(var c=0;c<NUMBER_OF_PROPERTIES$3;++c)n[c]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),0<t){this._vaf=createVAF$1(o,t,this._buffersUsage),m=this._vaf.writers;for(var u=0;u<t;++u){var d=this._pointPrimitives[u];d._dirty=!1,writePointPrimitive(this,o,m,d)}this._vaf.commit()}this._pointPrimitivesToUpdateIndex=0}else if(0<r){var h=scratchWriterArray$1;h.length=0,(n[POSITION_INDEX$5]||n[OUTLINE_WIDTH_INDEX$1]||n[PIXEL_SIZE_INDEX$1])&&h.push(writePositionSizeAndOutline),(n[COLOR_INDEX$3]||n[OUTLINE_COLOR_INDEX$1])&&h.push(writeCompressedAttrib0$1),(n[SHOW_INDEX$5]||n[TRANSLUCENCY_BY_DISTANCE_INDEX$3])&&h.push(writeCompressedAttrib1$1),n[SCALE_BY_DISTANCE_INDEX$3]&&h.push(writeScaleByDistance$1),(n[DISTANCE_DISPLAY_CONDITION_INDEX$2]||n[DISABLE_DEPTH_DISTANCE_INDEX$1])&&h.push(writeDistanceDisplayConditionAndDepthDisable);var p=h.length,m=this._vaf.writers;if(.1<r/t){for(var f=0;f<r;++f){var g=i[f];g._dirty=!1;for(var _=0;_<p;++_)h[_](this,o,m,g)}this._vaf.commit()}else{for(var y=0;y<r;++y){var C=i[y];C._dirty=!1;for(var v=0;v<p;++v)h[v](this,o,m,C);this._vaf.subCommit(C._index,1)}this._vaf.endSubCommits()}this._pointPrimitivesToUpdateIndex=0}if(1.5*t<r&&(i.length=t),defined(this._vaf)&&defined(this._vaf.va)){this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,BoundingSphere.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));var S,T=Matrix4.IDENTITY;updateBoundingVolume$1(this,e,S=e.mode===SceneMode$1.SCENE3D?(T=this.modelMatrix,BoundingSphere.clone(this._baseVolumeWC,this._boundingVolume)):BoundingSphere.clone(this._baseVolume2D,this._boundingVolume));var b,a=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,a&&(this._blendOption===BlendOption$1.OPAQUE||this._blendOption===BlendOption$1.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=RenderState.fromCache({depthTest:{enabled:!0,func:WebGLConstants$1.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===BlendOption$1.TRANSLUCENT||this._blendOption===BlendOption$1.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=RenderState.fromCache({depthTest:{enabled:!0,func:WebGLConstants$1.LEQUAL},depthMask:!1,blending:BlendingState$1.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||0!==e.minimumDisableDepthTestDistance,(a||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(a=new ShaderSource({sources:[PointPrimitiveCollectionVS]}),this._shaderScaleByDistance&&a.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&a.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&a.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&a.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===BlendOption$1.OPAQUE_AND_TRANSLUCENT&&(b=new ShaderSource({defines:["OPAQUE"],sources:[PointPrimitiveCollectionFS]}),this._sp=ShaderProgram.replaceCache({context:o,shaderProgram:this._sp,vertexShaderSource:a,fragmentShaderSource:b,attributeLocations:attributeLocations$3}),b=new ShaderSource({defines:["TRANSLUCENT"],sources:[PointPrimitiveCollectionFS]}),this._spTranslucent=ShaderProgram.replaceCache({context:o,shaderProgram:this._spTranslucent,vertexShaderSource:a,fragmentShaderSource:b,attributeLocations:attributeLocations$3})),this._blendOption===BlendOption$1.OPAQUE&&(b=new ShaderSource({sources:[PointPrimitiveCollectionFS]}),this._sp=ShaderProgram.replaceCache({context:o,shaderProgram:this._sp,vertexShaderSource:a,fragmentShaderSource:b,attributeLocations:attributeLocations$3})),this._blendOption===BlendOption$1.TRANSLUCENT&&(b=new ShaderSource({sources:[PointPrimitiveCollectionFS]}),this._spTranslucent=ShaderProgram.replaceCache({context:o,shaderProgram:this._spTranslucent,vertexShaderSource:a,fragmentShaderSource:b,attributeLocations:attributeLocations$3})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);var x=e.commandList;if(s.render||l){var E,P=this._colorCommands,A=this._blendOption===BlendOption$1.OPAQUE,w=this._blendOption===BlendOption$1.OPAQUE_AND_TRANSLUCENT,l=(E=this._vaf.va).length;P.length=l;for(var D=w?2*l:l,M=0;M<D;++M){var I,R=A||w&&M%2==0;defined(I=P[M])||(I=P[M]=new DrawCommand),I.primitiveType=PrimitiveType$1.POINTS,I.pass=R||!w?Pass$1.OPAQUE:Pass$1.TRANSLUCENT,I.owner=this;var O=w?Math.floor(M/2):M;I.boundingVolume=S,I.modelMatrix=T,I.shaderProgram=R?this._sp:this._spTranslucent,I.uniformMap=this._uniforms,I.vertexArray=E[O].va,I.renderState=R?this._rsOpaque:this._rsTranslucent,I.debugShowBoundingVolume=this.debugShowBoundingVolume,I.pickId="v_pickColor",x.push(I)}}}},PointPrimitiveCollection.prototype.isDestroyed=function(){return!1},PointPrimitiveCollection.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),destroyPointPrimitives(this._pointPrimitives),destroyObject(this)},KDBush.prototype={range:function(e,t,i,r){return range(this.ids,this.coords,e,t,i,r,this.nodeSize)},within:function(e,t,i){return within(this.ids,this.coords,e,t,i,this.nodeSize)}};var labelBoundingBoxScratch=new BoundingRectangle;function getBoundingBox(e,t,i,r,n){return defined(e._labelCollection)&&r._clusterLabels?n=Label.getScreenSpaceBoundingBox(e,t,n):defined(e._billboardCollection)&&r._clusterBillboards?n=Billboard.getScreenSpaceBoundingBox(e,t,n):defined(e._pointPrimitiveCollection)&&r._clusterPoints&&(n=PointPrimitive.getScreenSpaceBoundingBox(e,t,n)),expandBoundingBox(n,i),r._clusterLabels&&!defined(e._labelCollection)&&defined(e.id)&&hasLabelIndex(r,e.id.id)&&defined(e.id._label)&&(e=r._collectionIndicesByEntity[e.id.id].labelIndex,e=r._labelCollection.get(e),expandBoundingBox(t=Label.getScreenSpaceBoundingBox(e,t,labelBoundingBoxScratch),i),n=BoundingRectangle.union(n,t,n)),n}function addNonClusteredItem(e,t){e.clusterShow=!0,!defined(e._labelCollection)&&defined(e.id)&&hasLabelIndex(t,e.id.id)&&defined(e.id._label)&&(e=t._collectionIndicesByEntity[e.id.id].labelIndex,t._labelCollection.get(e).clusterShow=!0)}function addCluster(e,t,i,r){var n={billboard:r._clusterBillboardCollection.add(),label:r._clusterLabelCollection.add(),point:r._clusterPointCollection.add()};n.billboard.show=!1,n.point.show=!1,n.label.show=!0,n.label.text=t.toLocaleString(),n.label.id=i,n.billboard.position=n.label.position=n.point.position=e,r._clusterEvent.raiseEvent(i,n)}function hasLabelIndex(e,t){return defined(e)&&defined(e._collectionIndicesByEntity[t])&&defined(e._collectionIndicesByEntity[t].labelIndex)}function getScreenSpacePositions(e,t,i,r,n){if(defined(e))for(var a=e.length,o=0;o<a;++o){var s,l,c,u=e.get(o);u.clusterShow=!1,u.show&&(n._scene.mode!==SceneMode$1.SCENE3D||r.isPointVisible(u.position))&&(s=n._clusterLabels&&defined(u._labelCollection),l=n._clusterBillboards&&defined(u.id._billboard),c=n._clusterPoints&&defined(u.id._point),s&&(c||l)||defined(u=u.computeScreenSpacePosition(i))&&t.push({index:o,collection:e,clustered:!1,coord:u}))}}var pointBoundinRectangleScratch=new BoundingRectangle,totalBoundingRectangleScratch=new BoundingRectangle,neighborBoundingRectangleScratch=new BoundingRectangle;function createDeclutterCallback(k){return function(e){if(!(defined(e)&&e<.05)&&k.enabled){var t=k._scene,i=k._labelCollection,r=k._billboardCollection,n=k._pointCollection;if((defined(i)||defined(r)||defined(n))&&(k._clusterBillboards||k._clusterLabels||k._clusterPoints)){var a=k._clusterLabelCollection,o=k._clusterBillboardCollection,e=k._clusterPointCollection;defined(a)?a.removeAll():a=k._clusterLabelCollection=new LabelCollection({scene:t}),defined(o)?o.removeAll():o=k._clusterBillboardCollection=new BillboardCollection({scene:t}),defined(e)?e.removeAll():e=k._clusterPointCollection=new PointPrimitiveCollection;var s,l,c,u,d=k._pixelRange,h=k._minimumClusterSize,p=k._previousClusters,m=[],f=k._previousHeight,g=t.camera.positionCartographic.height,_=new EllipsoidalOccluder(t.mapProjection.ellipsoid,t.camera.positionWC),y=[];k._clusterLabels&&getScreenSpacePositions(i,y,t,_,k),k._clusterBillboards&&getScreenSpacePositions(r,y,t,_,k),k._clusterPoints&&getScreenSpacePositions(n,y,t,_,k);var C=kdbush(y,getX,getY,64,Int32Array);if(g<f)for(l=p.length,s=0;s<l;++s){var v=p[s];if(_.isPointVisible(v.position)){var S=Billboard._computeScreenSpacePosition(Matrix4.IDENTITY,v.position,Cartesian3.ZERO,Cartesian2.ZERO,t);if(defined(S)){for(var T,b=1-g/f,x=v.width=v.width*b,E=v.height=v.height*b,x=Math.max(x,v.minimumWidth),E=Math.max(E,v.minimumHeight),P=S.x-.5*x,b=S.y-.5*E,x=S.x+x,E=S.y+E,A=(T=C.range(P,b,x,E)).length,w=0,D=[],M=0;M<A;++M)(B=y[T[M]]).clustered||(++w,c=B.collection,u=B.index,D.push(c.get(u).id));if(h<=w)for(addCluster(v.position,w,D,k),m.push(v),M=0;M<A;++M)y[T[M]].clustered=!0}}}for(l=y.length,s=0;s<l;++s){var I=y[s];if(!I.clustered){I.clustered=!0,c=I.collection,u=I.index;var R=c.get(u),O=getBoundingBox(R,I.coord,d,k,pointBoundinRectangleScratch),L=BoundingRectangle.clone(O,totalBoundingRectangleScratch);A=(T=C.range(O.x,O.y,O.x+O.width,O.y+O.height)).length;var F,N,B,V=Cartesian3.clone(R.position);for(w=1,D=[R.id],M=0;M<A;++M)(B=y[T[M]]).clustered||(N=getBoundingBox(F=B.collection.get(B.index),B.coord,d,k,neighborBoundingRectangleScratch),Cartesian3.add(F.position,V,V),BoundingRectangle.union(L,N,L),++w,D.push(F.id));if(h<=w){I=Cartesian3.multiplyByScalar(V,1/w,V);for(addCluster(I,w,D,k),m.push({position:I,width:L.width,height:L.height,minimumWidth:O.width,minimumHeight:O.height}),M=0;M<A;++M)y[T[M]].clustered=!0}else addNonClusteredItem(R,k)}}0===a.length&&(a.destroy(),k._clusterLabelCollection=void 0),0===o.length&&(o.destroy(),k._clusterBillboardCollection=void 0),0===e.length&&(e.destroy(),k._clusterPointCollection=void 0),k._previousClusters=m,k._previousHeight=g}}}}function createGetEntity(a,o,s,l){return function(e){var t=this[a];defined(this._collectionIndicesByEntity)||(this._collectionIndicesByEntity={});var i,r,n=this._collectionIndicesByEntity[e.id];if(defined(n)||(n=this._collectionIndicesByEntity[e.id]={billboardIndex:void 0,labelIndex:void 0,pointIndex:void 0}),defined(t)&&defined(n[l]))return t.get(n[l]);defined(t)||(t=this[a]=new o({scene:this._scene}));e=this[s];return 0<e.length?(i=e.pop(),r=t.get(i)):(r=t.add(),i=t.length-1),n[l]=i,this._clusterDirty=!0,r}}function removeEntityIndicesIfUnused(e,t){var i=e._collectionIndicesByEntity[t];defined(i.billboardIndex)||defined(i.labelIndex)||defined(i.pointIndex)||delete e._collectionIndicesByEntity[t]}function disableCollectionClustering(e){if(defined(e))for(var t=e.length,i=0;i<t;++i)e.get(i).clusterShow=!0}function updateEnable(e){e.enabled||(defined(e._clusterLabelCollection)&&e._clusterLabelCollection.destroy(),defined(e._clusterBillboardCollection)&&e._clusterBillboardCollection.destroy(),defined(e._clusterPointCollection)&&e._clusterPointCollection.destroy(),e._clusterLabelCollection=void 0,e._clusterBillboardCollection=void 0,e._clusterPointCollection=void 0,disableCollectionClustering(e._labelCollection),disableCollectionClustering(e._billboardCollection),disableCollectionClustering(e._pointCollection))}function CustomDataSource(e){this._name=e,this._clock=void 0,this._changed=new Event,this._error=new Event,this._isLoading=!1,this._loading=new Event,this._entityCollection=new EntityCollection(this),this._entityCluster=new EntityCluster}EntityCluster.prototype._initialize=function(e){this._scene=e;var t=createDeclutterCallback(this);this._cluster=t,this._removeEventListener=e.camera.changed.addEventListener(t)},Object.defineProperties(EntityCluster.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabledDirty=e!==this._enabled,this._enabled=e}},pixelRange:{get:function(){return this._pixelRange},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._pixelRange,this._pixelRange=e}},minimumClusterSize:{get:function(){return this._minimumClusterSize},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._minimumClusterSize,this._minimumClusterSize=e}},clusterEvent:{get:function(){return this._clusterEvent}},clusterBillboards:{get:function(){return this._clusterBillboards},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterBillboards,this._clusterBillboards=e}},clusterLabels:{get:function(){return this._clusterLabels},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterLabels,this._clusterLabels=e}},clusterPoints:{get:function(){return this._clusterPoints},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterPoints,this._clusterPoints=e}}}),EntityCluster.prototype.getLabel=createGetEntity("_labelCollection",LabelCollection,"_unusedLabelIndices","labelIndex"),EntityCluster.prototype.removeLabel=function(e){var t,i=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];defined(this._labelCollection)&&defined(i)&&defined(i.labelIndex)&&(t=i.labelIndex,i.labelIndex=void 0,removeEntityIndicesIfUnused(this,e.id),(e=this._labelCollection.get(t)).show=!1,e.text="",e.id=void 0,this._unusedLabelIndices.push(t),this._clusterDirty=!0)},EntityCluster.prototype.getBillboard=createGetEntity("_billboardCollection",BillboardCollection,"_unusedBillboardIndices","billboardIndex"),EntityCluster.prototype.removeBillboard=function(e){var t,i=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];defined(this._billboardCollection)&&defined(i)&&defined(i.billboardIndex)&&(t=i.billboardIndex,i.billboardIndex=void 0,removeEntityIndicesIfUnused(this,e.id),(e=this._billboardCollection.get(t)).id=void 0,e.show=!1,e.image=void 0,this._unusedBillboardIndices.push(t),this._clusterDirty=!0)},EntityCluster.prototype.getPoint=createGetEntity("_pointCollection",PointPrimitiveCollection,"_unusedPointIndices","pointIndex"),EntityCluster.prototype.removePoint=function(e){var t,i=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];defined(this._pointCollection)&&defined(i)&&defined(i.pointIndex)&&(t=i.pointIndex,i.pointIndex=void 0,removeEntityIndicesIfUnused(this,e.id),(e=this._pointCollection.get(t)).show=!1,e.id=void 0,this._unusedPointIndices.push(t),this._clusterDirty=!0)},EntityCluster.prototype.update=function(e){var t;defined(this._labelCollection)&&0<this._labelCollection.length&&0===this._labelCollection.get(0)._glyphs.length&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),defined(this._billboardCollection)&&0<this._billboardCollection.length&&!defined(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,updateEnable(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),defined(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),defined(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),defined(this._clusterPointCollection)&&this._clusterPointCollection.update(e),defined(this._labelCollection)&&this._labelCollection.update(e),defined(this._billboardCollection)&&this._billboardCollection.update(e),defined(this._pointCollection)&&this._pointCollection.update(e)},EntityCluster.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),defined(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1},Object.defineProperties(CustomDataSource.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){DataSource.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}}),CustomDataSource.prototype.update=function(e){return!0};var defaultOffset$2=Cartesian3.ZERO,offsetScratch$5=new Cartesian3,positionScratch$7=new Cartesian3,scratchColor$a=new Color;function CylinderGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.length=void 0,this.topRadius=void 0,this.bottomRadius=void 0,this.slices=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function CylinderGeometryUpdater(e,t){GeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new CylinderGeometryOptions(e),geometryPropertyName:"cylinder",observedPropertyNames:["availability","position","orientation","cylinder"]}),this._onEntityPropertyChanged(e,"cylinder",e.cylinder,void 0)}function DynamicCylinderGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i)}function DataSourceClock(){this._definitionChanged=new Event,this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0}defined(Object.create)&&(CylinderGeometryUpdater.prototype=Object.create(GeometryUpdater.prototype),CylinderGeometryUpdater.prototype.constructor=CylinderGeometryUpdater),Object.defineProperties(CylinderGeometryUpdater.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}}),CylinderGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t,i=this._entity,r=i.isAvailable(e),n=new ShowGeometryInstanceAttribute(r&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),a={show:n,distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(a),color:void 0,offset:void 0};return this._materialProperty instanceof ColorMaterialProperty&&(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||r)&&(t=this._materialProperty.color.getValue(e,scratchColor$a)),defined(t)||(t=Color.WHITE),a.color=ColorGeometryInstanceAttribute.fromColor(t)),defined(this._options.offsetAttribute)&&(a.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$2,offsetScratch$5))),new GeometryInstance({id:i,geometry:new CylinderGeometry(this._options),modelMatrix:i.computeModelMatrixForHeightReference(e,i.cylinder.heightReference,.5*this._options.length,this._scene.mapProjection.ellipsoid),attributes:a})},CylinderGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor$a),n=this._distanceDisplayConditionProperty.getValue(e),n={show:new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(r),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(n),offset:void 0};return defined(this._options.offsetAttribute)&&(n.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$2,offsetScratch$5))),new GeometryInstance({id:t,geometry:new CylinderOutlineGeometry(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,.5*this._options.length,this._scene.mapProjection.ellipsoid),attributes:n})},CylinderGeometryUpdater.prototype._computeCenter=function(e,t){return Property.getValueOrUndefined(this._entity.position,e,t)},CylinderGeometryUpdater.prototype._isHidden=function(e,t){return!defined(e.position)||!defined(t.length)||!defined(t.topRadius)||!defined(t.bottomRadius)||GeometryUpdater.prototype._isHidden.call(this,e,t)},CylinderGeometryUpdater.prototype._isDynamic=function(e,t){return!(e.position.isConstant&&Property.isConstant(e.orientation)&&t.length.isConstant&&t.topRadius.isConstant&&t.bottomRadius.isConstant&&Property.isConstant(t.slices)&&Property.isConstant(t.outlineWidth)&&Property.isConstant(t.numberOfVerticalLines))},CylinderGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=Property.getValueOrDefault(t.heightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE),r=this._options;r.vertexFormat=this._materialProperty instanceof ColorMaterialProperty?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,r.length=t.length.getValue(Iso8601.MINIMUM_VALUE),r.topRadius=t.topRadius.getValue(Iso8601.MINIMUM_VALUE),r.bottomRadius=t.bottomRadius.getValue(Iso8601.MINIMUM_VALUE),r.slices=Property.getValueOrUndefined(t.slices,Iso8601.MINIMUM_VALUE),r.numberOfVerticalLines=Property.getValueOrUndefined(t.numberOfVerticalLines,Iso8601.MINIMUM_VALUE),r.offsetAttribute=i!==HeightReference$1.NONE?GeometryOffsetAttribute$1.ALL:void 0},CylinderGeometryUpdater.prototype._onEntityPropertyChanged=heightReferenceOnEntityPropertyChanged,CylinderGeometryUpdater.DynamicGeometryUpdater=DynamicCylinderGeometryUpdater,defined(Object.create)&&(DynamicCylinderGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DynamicCylinderGeometryUpdater.prototype.constructor=DynamicCylinderGeometryUpdater),DynamicCylinderGeometryUpdater.prototype._isHidden=function(e,t,i){var r=this._options;return!defined(Property.getValueOrUndefined(e.position,i,positionScratch$7))||!defined(r.length)||!defined(r.topRadius)||!defined(r.bottomRadius)||DynamicGeometryUpdater.prototype._isHidden.call(this,e,t,i)},DynamicCylinderGeometryUpdater.prototype._setOptions=function(e,t,i){var r=Property.getValueOrDefault(t.heightReference,i,HeightReference$1.NONE),n=this._options;n.length=Property.getValueOrUndefined(t.length,i),n.topRadius=Property.getValueOrUndefined(t.topRadius,i),n.bottomRadius=Property.getValueOrUndefined(t.bottomRadius,i),n.slices=Property.getValueOrUndefined(t.slices,i),n.numberOfVerticalLines=Property.getValueOrUndefined(t.numberOfVerticalLines,i),n.offsetAttribute=r!==HeightReference$1.NONE?GeometryOffsetAttribute$1.ALL:void 0},Object.defineProperties(DataSourceClock.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},startTime:createRawPropertyDescriptor("startTime"),stopTime:createRawPropertyDescriptor("stopTime"),currentTime:createRawPropertyDescriptor("currentTime"),clockRange:createRawPropertyDescriptor("clockRange"),clockStep:createRawPropertyDescriptor("clockStep"),multiplier:createRawPropertyDescriptor("multiplier")}),DataSourceClock.prototype.clone=function(e){return defined(e)||(e=new DataSourceClock),e.startTime=this.startTime,e.stopTime=this.stopTime,e.currentTime=this.currentTime,e.clockRange=this.clockRange,e.clockStep=this.clockStep,e.multiplier=this.multiplier,e},DataSourceClock.prototype.equals=function(e){return this===e||defined(e)&&JulianDate.equals(this.startTime,e.startTime)&&JulianDate.equals(this.stopTime,e.stopTime)&&JulianDate.equals(this.currentTime,e.currentTime)&&this.clockRange===e.clockRange&&this.clockStep===e.clockStep&&this.multiplier===e.multiplier},DataSourceClock.prototype.merge=function(e){this.startTime=defaultValue(this.startTime,e.startTime),this.stopTime=defaultValue(this.stopTime,e.stopTime),this.currentTime=defaultValue(this.currentTime,e.currentTime),this.clockRange=defaultValue(this.clockRange,e.clockRange),this.clockStep=defaultValue(this.clockStep,e.clockStep),this.multiplier=defaultValue(this.multiplier,e.multiplier)},DataSourceClock.prototype.getValue=function(e){return defined(e)||(e=new Clock),e.startTime=defaultValue(this.startTime,e.startTime),e.stopTime=defaultValue(this.stopTime,e.stopTime),e.currentTime=defaultValue(this.currentTime,e.currentTime),e.clockRange=defaultValue(this.clockRange,e.clockRange),e.multiplier=defaultValue(this.multiplier,e.multiplier),e.clockStep=defaultValue(this.clockStep,e.clockStep),e};var defaultColor$2=Color.WHITE,defaultCellAlpha=.1,defaultLineCount=new Cartesian2(8,8),defaultLineOffset=new Cartesian2(0,0),defaultLineThickness=new Cartesian2(1,1);function GridMaterialProperty(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._definitionChanged=new Event,this._color=void 0,this._colorSubscription=void 0,this._cellAlpha=void 0,this._cellAlphaSubscription=void 0,this._lineCount=void 0,this._lineCountSubscription=void 0,this._lineThickness=void 0,this._lineThicknessSubscription=void 0,this._lineOffset=void 0,this._lineOffsetSubscription=void 0,this.color=e.color,this.cellAlpha=e.cellAlpha,this.lineCount=e.lineCount,this.lineThickness=e.lineThickness,this.lineOffset=e.lineOffset}function PolylineArrowMaterialProperty(e){this._definitionChanged=new Event,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(GridMaterialProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._color)&&Property.isConstant(this._cellAlpha)&&Property.isConstant(this._lineCount)&&Property.isConstant(this._lineThickness)&&Property.isConstant(this._lineOffset)}},definitionChanged:{get:function(){return this._definitionChanged}},color:createPropertyDescriptor("color"),cellAlpha:createPropertyDescriptor("cellAlpha"),lineCount:createPropertyDescriptor("lineCount"),lineThickness:createPropertyDescriptor("lineThickness"),lineOffset:createPropertyDescriptor("lineOffset")}),GridMaterialProperty.prototype.getType=function(e){return"Grid"},GridMaterialProperty.prototype.getValue=function(e,t){return defined(t)||(t={}),t.color=Property.getValueOrClonedDefault(this._color,e,defaultColor$2,t.color),t.cellAlpha=Property.getValueOrDefault(this._cellAlpha,e,defaultCellAlpha),t.lineCount=Property.getValueOrClonedDefault(this._lineCount,e,defaultLineCount,t.lineCount),t.lineThickness=Property.getValueOrClonedDefault(this._lineThickness,e,defaultLineThickness,t.lineThickness),t.lineOffset=Property.getValueOrClonedDefault(this._lineOffset,e,defaultLineOffset,t.lineOffset),t},GridMaterialProperty.prototype.equals=function(e){return this===e||e instanceof GridMaterialProperty&&Property.equals(this._color,e._color)&&Property.equals(this._cellAlpha,e._cellAlpha)&&Property.equals(this._lineCount,e._lineCount)&&Property.equals(this._lineThickness,e._lineThickness)&&Property.equals(this._lineOffset,e._lineOffset)},Object.defineProperties(PolylineArrowMaterialProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:createPropertyDescriptor("color")}),PolylineArrowMaterialProperty.prototype.getType=function(e){return"PolylineArrow"},PolylineArrowMaterialProperty.prototype.getValue=function(e,t){return defined(t)||(t={}),t.color=Property.getValueOrClonedDefault(this._color,e,Color.WHITE,t.color),t},PolylineArrowMaterialProperty.prototype.equals=function(e){return this===e||e instanceof PolylineArrowMaterialProperty&&Property.equals(this._color,e._color)};var defaultColor$3=Color.WHITE,defaultGapColor=Color.TRANSPARENT,defaultDashLength=16,defaultDashPattern=255;function PolylineDashMaterialProperty(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._definitionChanged=new Event,this._color=void 0,this._colorSubscription=void 0,this._gapColor=void 0,this._gapColorSubscription=void 0,this._dashLength=void 0,this._dashLengthSubscription=void 0,this._dashPattern=void 0,this._dashPatternSubscription=void 0,this.color=e.color,this.gapColor=e.gapColor,this.dashLength=e.dashLength,this.dashPattern=e.dashPattern}Object.defineProperties(PolylineDashMaterialProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._color)&&Property.isConstant(this._gapColor)&&Property.isConstant(this._dashLength)&&Property.isConstant(this._dashPattern)}},definitionChanged:{get:function(){return this._definitionChanged}},color:createPropertyDescriptor("color"),gapColor:createPropertyDescriptor("gapColor"),dashLength:createPropertyDescriptor("dashLength"),dashPattern:createPropertyDescriptor("dashPattern")}),PolylineDashMaterialProperty.prototype.getType=function(e){return"PolylineDash"},PolylineDashMaterialProperty.prototype.getValue=function(e,t){return defined(t)||(t={}),t.color=Property.getValueOrClonedDefault(this._color,e,defaultColor$3,t.color),t.gapColor=Property.getValueOrClonedDefault(this._gapColor,e,defaultGapColor,t.gapColor),t.dashLength=Property.getValueOrDefault(this._dashLength,e,defaultDashLength,t.dashLength),t.dashPattern=Property.getValueOrDefault(this._dashPattern,e,defaultDashPattern,t.dashPattern),t},PolylineDashMaterialProperty.prototype.equals=function(e){return this===e||e instanceof PolylineDashMaterialProperty&&Property.equals(this._color,e._color)&&Property.equals(this._gapColor,e._gapColor)&&Property.equals(this._dashLength,e._dashLength)&&Property.equals(this._dashPattern,e._dashPattern)};var defaultColor$4=Color.WHITE,defaultGlowPower=.25,defaultTaperPower=1;function PolylineGlowMaterialProperty(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._definitionChanged=new Event,this._color=void 0,this._colorSubscription=void 0,this._glowPower=void 0,this._glowPowerSubscription=void 0,this._taperPower=void 0,this._taperPowerSubscription=void 0,this.color=e.color,this.glowPower=e.glowPower,this.taperPower=e.taperPower}Object.defineProperties(PolylineGlowMaterialProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._color)&&Property.isConstant(this._glow)}},definitionChanged:{get:function(){return this._definitionChanged}},color:createPropertyDescriptor("color"),glowPower:createPropertyDescriptor("glowPower"),taperPower:createPropertyDescriptor("taperPower")}),PolylineGlowMaterialProperty.prototype.getType=function(e){return"PolylineGlow"},PolylineGlowMaterialProperty.prototype.getValue=function(e,t){return defined(t)||(t={}),t.color=Property.getValueOrClonedDefault(this._color,e,defaultColor$4,t.color),t.glowPower=Property.getValueOrDefault(this._glowPower,e,defaultGlowPower,t.glowPower),t.taperPower=Property.getValueOrDefault(this._taperPower,e,defaultTaperPower,t.taperPower),t},PolylineGlowMaterialProperty.prototype.equals=function(e){return this===e||e instanceof PolylineGlowMaterialProperty&&Property.equals(this._color,e._color)&&Property.equals(this._glowPower,e._glowPower)&&Property.equals(this._taperPower,e._taperPower)};var defaultColor$5=Color.WHITE,defaultOutlineColor$1=Color.BLACK,defaultOutlineWidth=1;function PolylineOutlineMaterialProperty(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._definitionChanged=new Event,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=e.color,this.outlineColor=e.outlineColor,this.outlineWidth=e.outlineWidth}function PositionPropertyArray(e,t){this._value=void 0,this._definitionChanged=new Event,this._eventHelper=new EventHelper,this._referenceFrame=defaultValue(t,ReferenceFrame$1.FIXED),this.setValue(e)}function PropertyArray(e){this._value=void 0,this._definitionChanged=new Event,this._eventHelper=new EventHelper,this.setValue(e)}function resolve$1(e){if(!defined(r=e._targetProperty)){var t=e._targetEntity;if(!defined(t)){if(!defined(t=e._targetCollection.getById(e._targetId)))return void(e._targetEntity=e._targetProperty=void 0);t.definitionChanged.addEventListener(ReferenceProperty.prototype._onTargetEntityDefinitionChanged,e),e._targetEntity=t}for(var i=e._targetPropertyNames,r=e._targetEntity,n=0,a=i.length;n<a&&defined(r);++n)r=r[i[n]];e._targetProperty=r}return r}function ReferenceProperty(e,t,i){this._targetCollection=e,this._targetId=t,this._targetPropertyNames=i,this._targetProperty=void 0,this._targetEntity=void 0,this._definitionChanged=new Event,e.collectionChanged.addEventListener(ReferenceProperty.prototype._onCollectionChanged,this)}Object.defineProperties(PolylineOutlineMaterialProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._color)&&Property.isConstant(this._outlineColor)&&Property.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:createPropertyDescriptor("color"),outlineColor:createPropertyDescriptor("outlineColor"),outlineWidth:createPropertyDescriptor("outlineWidth")}),PolylineOutlineMaterialProperty.prototype.getType=function(e){return"PolylineOutline"},PolylineOutlineMaterialProperty.prototype.getValue=function(e,t){return defined(t)||(t={}),t.color=Property.getValueOrClonedDefault(this._color,e,defaultColor$5,t.color),t.outlineColor=Property.getValueOrClonedDefault(this._outlineColor,e,defaultOutlineColor$1,t.outlineColor),t.outlineWidth=Property.getValueOrDefault(this._outlineWidth,e,defaultOutlineWidth),t},PolylineOutlineMaterialProperty.prototype.equals=function(e){return this===e||e instanceof PolylineOutlineMaterialProperty&&Property.equals(this._color,e._color)&&Property.equals(this._outlineColor,e._outlineColor)&&Property.equals(this._outlineWidth,e._outlineWidth)},Object.defineProperties(PositionPropertyArray.prototype,{isConstant:{get:function(){var e=this._value;if(!defined(e))return!0;for(var t=e.length,i=0;i<t;i++)if(!Property.isConstant(e[i]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}}),PositionPropertyArray.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,ReferenceFrame$1.FIXED,t)},PositionPropertyArray.prototype.getValueInReferenceFrame=function(e,t,i){var r=this._value;if(defined(r)){var n=r.length;defined(i)||(i=new Array(n));for(var a=0,o=0;a<n;){var s=r[a].getValueInReferenceFrame(e,t,i[a]);defined(s)&&(i[o]=s,o++),a++}return i.length=o,i}},PositionPropertyArray.prototype.setValue=function(e){var t=this._eventHelper;if(t.removeAll(),defined(e)){this._value=e.slice();for(var i=e.length,r=0;r<i;r++){var n=e[r];defined(n)&&t.add(n.definitionChanged,PositionPropertyArray.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)},PositionPropertyArray.prototype.equals=function(e){return this===e||e instanceof PositionPropertyArray&&this._referenceFrame===e._referenceFrame&&Property.arrayEquals(this._value,e._value)},PositionPropertyArray.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},Object.defineProperties(PropertyArray.prototype,{isConstant:{get:function(){var e=this._value;if(!defined(e))return!0;for(var t=e.length,i=0;i<t;i++)if(!Property.isConstant(e[i]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}}),PropertyArray.prototype.getValue=function(e,t){var i=this._value;if(defined(i)){var r=i.length;defined(t)||(t=new Array(r));for(var n=0,a=0;n<r;){var o=this._value[n].getValue(e,t[n]);defined(o)&&(t[a]=o,a++),n++}return t.length=a,t}},PropertyArray.prototype.setValue=function(e){var t=this._eventHelper;if(t.removeAll(),defined(e)){this._value=e.slice();for(var i=e.length,r=0;r<i;r++){var n=e[r];defined(n)&&t.add(n.definitionChanged,PropertyArray.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)},PropertyArray.prototype.equals=function(e){return this===e||e instanceof PropertyArray&&Property.arrayEquals(this._value,e._value)},PropertyArray.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},Object.defineProperties(ReferenceProperty.prototype,{isConstant:{get:function(){return Property.isConstant(resolve$1(this))}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){var e=resolve$1(this);return defined(e)?e.referenceFrame:void 0}},targetId:{get:function(){return this._targetId}},targetCollection:{get:function(){return this._targetCollection}},targetPropertyNames:{get:function(){return this._targetPropertyNames}},resolvedProperty:{get:function(){return resolve$1(this)}}}),ReferenceProperty.fromString=function(e,t){for(var i,r=[],n=!0,a=!1,o="",s=0;s<t.length;++s){var l=t.charAt(s);a?(o+=l,a=!1):"\\"===l?a=!0:n&&"#"===l?(i=o,n=!1,o=""):n||"."!==l?o+=l:(r.push(o),o="")}return r.push(o),new ReferenceProperty(e,i,r)},ReferenceProperty.prototype.getValue=function(e,t){var i=resolve$1(this);return defined(i)?i.getValue(e,t):void 0},ReferenceProperty.prototype.getValueInReferenceFrame=function(e,t,i){var r=resolve$1(this);return defined(r)?r.getValueInReferenceFrame(e,t,i):void 0},ReferenceProperty.prototype.getType=function(e){var t=resolve$1(this);return defined(t)?t.getType(e):void 0},ReferenceProperty.prototype.equals=function(e){if(this===e)return!0;var t=this._targetPropertyNames,i=e._targetPropertyNames;if(this._targetCollection!==e._targetCollection||this._targetId!==e._targetId||t.length!==i.length)return!1;for(var r=this._targetPropertyNames.length,n=0;n<r;n++)if(t[n]!==i[n])return!1;return!0},ReferenceProperty.prototype._onTargetEntityDefinitionChanged=function(e,t,i,r){defined(this._targetProperty)&&this._targetPropertyNames[0]===t&&(this._targetProperty=void 0,this._definitionChanged.raiseEvent(this))},ReferenceProperty.prototype._onCollectionChanged=function(e,t,i){var r=this._targetEntity;defined(r)&&-1!==i.indexOf(r)?(r.definitionChanged.removeEventListener(ReferenceProperty.prototype._onTargetEntityDefinitionChanged,this),this._targetEntity=this._targetProperty=void 0):defined(r)||defined(r=resolve$1(this))&&this._definitionChanged.raiseEvent(this)};var Rotation={packedLength:1,pack:function(e,t,i){return t[i=defaultValue(i,0)]=e,t},unpack:function(e,t,i){return e[t=defaultValue(t,0)]},convertPackedArrayForInterpolation:function(e,t,i,r){var n;defined(r)||(r=[]),t=defaultValue(t,0);for(var a=0,o=(i=defaultValue(i,e.length))-t+1;a<o;a++){var s=e[t+a];0===a||Math.abs(n-s)<Math.PI?r[a]=s:r[a]=s-CesiumMath.TWO_PI,n=s}},unpackInterpolationResult:function(e,t,i,r,n){return(n=e[0])<0?n+CesiumMath.TWO_PI:n}},PackableNumber={packedLength:1,pack:function(e,t,i){t[i=defaultValue(i,0)]=e},unpack:function(e,t,i){return e[t=defaultValue(t,0)]}};function arrayInsert(e,t,i){var r=e.length,n=i.length,a=r+n;if(e.length=a,r!==t)for(var o=r-1,s=a-1;t<=s;s--)e[s]=e[o--];for(s=0;s<n;s++)e[t++]=i[s]}function convertDate(e,t){return e instanceof JulianDate?e:"string"==typeof e?JulianDate.fromIso8601(e):JulianDate.addSeconds(t,e,new JulianDate)}var timesSpliceArgs=[],valuesSpliceArgs=[];function mergeNewSamples(e,t,i,r,n){for(var a,o,s,l,c,u,d=0;d<r.length;){var h=0,p=0;if((s=binarySearch(t,convertDate(r[d],e),JulianDate.compare))<0){for(l=(s=~s)*n,o=void 0,u=t[s];d<r.length&&(c=convertDate(r[d],e),!(defined(o)&&0<=JulianDate.compare(o,c)||defined(u)&&0<=JulianDate.compare(c,u)));){for(timesSpliceArgs[h++]=c,d+=1,a=0;a<n;a++)valuesSpliceArgs[p++]=r[d],d+=1;o=c}0<h&&(valuesSpliceArgs.length=p,arrayInsert(i,l,valuesSpliceArgs),timesSpliceArgs.length=h,arrayInsert(t,s,timesSpliceArgs))}else{for(a=0;a<n;a++)d++,i[s*n+a]=r[d];d++}}}function SampledProperty(e,t){var i=e;i===Number&&(i=PackableNumber);var r=i.packedLength,n=defaultValue(i.packedInterpolationLength,r),a=0;if(defined(t)){for(var o=t.length,s=new Array(o),l=0;l<o;l++){var c=t[l];c===Number&&(c=PackableNumber);var u=c.packedLength;r+=u,n+=defaultValue(c.packedInterpolationLength,u),s[l]=c}a=o}this._type=e,this._innerType=i,this._interpolationDegree=1,this._interpolationAlgorithm=LinearApproximation,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedLength=r,this._packedInterpolationLength=n,this._updateTableLength=!0,this._interpolationResult=new Array(n),this._definitionChanged=new Event,this._derivativeTypes=t,this._innerDerivativeTypes=s,this._inputOrder=a,this._forwardExtrapolationType=ExtrapolationType$1.NONE,this._forwardExtrapolationDuration=0,this._backwardExtrapolationType=ExtrapolationType$1.NONE,this._backwardExtrapolationDuration=0}function removeSamples(e,t,i){var r=e._packedLength;e._times.splice(t,i),e._values.splice(t*r,i*r),e._updateTableLength=!0,e._definitionChanged.raiseEvent(e)}function SampledPositionProperty(e,t){var i;if(0<(t=defaultValue(t,0))){i=new Array(t);for(var r=0;r<t;r++)i[r]=Cartesian3}this._numberOfDerivatives=t,this._property=new SampledProperty(Cartesian3,i),this._definitionChanged=new Event,this._referenceFrame=defaultValue(e,ReferenceFrame$1.FIXED),this._property._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)}Object.defineProperties(SampledProperty.prototype,{isConstant:{get:function(){return 0===this._values.length}},definitionChanged:{get:function(){return this._definitionChanged}},type:{get:function(){return this._type}},derivativeTypes:{get:function(){return this._derivativeTypes}},interpolationDegree:{get:function(){return this._interpolationDegree}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm}},forwardExtrapolationType:{get:function(){return this._forwardExtrapolationType},set:function(e){this._forwardExtrapolationType!==e&&(this._forwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},forwardExtrapolationDuration:{get:function(){return this._forwardExtrapolationDuration},set:function(e){this._forwardExtrapolationDuration!==e&&(this._forwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationType:{get:function(){return this._backwardExtrapolationType},set:function(e){this._backwardExtrapolationType!==e&&(this._backwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationDuration:{get:function(){return this._backwardExtrapolationDuration},set:function(e){this._backwardExtrapolationDuration!==e&&(this._backwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}}}),SampledProperty.prototype.getValue=function(e,t){var i=this._times,r=i.length;if(0!==r){var n=this._innerType,a=this._values,o=binarySearch(i,e,JulianDate.compare);if(o<0){if(0===(o=~o)){var s=i[o],l=this._backwardExtrapolationDuration;if(this._backwardExtrapolationType===ExtrapolationType$1.NONE||0!==l&&JulianDate.secondsDifference(s,e)>l)return;if(this._backwardExtrapolationType===ExtrapolationType$1.HOLD)return n.unpack(a,0,t)}if(r<=o){var c=i[o=r-1];if(l=this._forwardExtrapolationDuration,this._forwardExtrapolationType===ExtrapolationType$1.NONE||0!==l&&JulianDate.secondsDifference(e,c)>l)return;if(this._forwardExtrapolationType===ExtrapolationType$1.HOLD)return o=r-1,n.unpack(a,o*n.packedLength,t)}var u=this._xTable,d=this._yTable,h=this._interpolationAlgorithm,s=this._packedInterpolationLength,c=this._inputOrder;this._updateTableLength&&(this._updateTableLength=!1,(p=Math.min(h.getRequiredDataPoints(this._interpolationDegree,c),r))!==this._numberOfPoints&&(this._numberOfPoints=p,u.length=p,d.length=p*s));l=this._numberOfPoints-1;if(l<1)return;var p,m=0,f=r-1;1+l<=f-m+1&&((p=o-(l/2|0)-1)<m&&(p=m),f<(r=p+l)&&(p=(r=f)-l)<m&&(p=m),m=p,f=r);for(var g=f-m+1,_=0;_<g;++_)u[_]=JulianDate.secondsDifference(i[m+_],i[f]);if(defined(n.convertPackedArrayForInterpolation))n.convertPackedArrayForInterpolation(a,m,f,d);else for(var y=0,C=this._packedLength,v=m*C,S=(f+1)*C;v<S;)d[y]=a[v],v++,y++;C=JulianDate.secondsDifference(e,i[f]);return s=0!==c&&defined(h.interpolate)?(e=Math.floor(s/(c+1)),h.interpolate(C,u,d,e,c,c,this._interpolationResult)):h.interpolateOrderZero(C,u,d,s,this._interpolationResult),defined(n.unpackInterpolationResult)?n.unpackInterpolationResult(s,a,m,f,t):n.unpack(s,0,t)}return n.unpack(a,o*this._packedLength,t)}},SampledProperty.prototype.setInterpolationOptions=function(e){var t,i;defined(e)&&(t=!1,i=e.interpolationAlgorithm,e=e.interpolationDegree,defined(i)&&this._interpolationAlgorithm!==i&&(this._interpolationAlgorithm=i,t=!0),defined(e)&&this._interpolationDegree!==e&&(this._interpolationDegree=e,t=!0),t&&(this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)))},SampledProperty.prototype.addSample=function(e,t,i){var r=this._innerDerivativeTypes,n=defined(r),a=this._innerType,o=[];if(o.push(e),a.pack(t,o,o.length),n)for(var s=r.length,l=0;l<s;l++)r[l].pack(i[l],o,o.length);mergeNewSamples(void 0,this._times,this._values,o,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)},SampledProperty.prototype.addSamples=function(e,t,i){for(var r=this._innerDerivativeTypes,n=defined(r),a=this._innerType,o=e.length,s=[],l=0;l<o;l++)if(s.push(e[l]),a.pack(t[l],s,s.length),n)for(var c=i[l],u=r.length,d=0;d<u;d++)r[d].pack(c[d],s,s.length);mergeNewSamples(void 0,this._times,this._values,s,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)},SampledProperty.prototype.addSamplesPackedArray=function(e,t){mergeNewSamples(t,this._times,this._values,e,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)},SampledProperty.prototype.removeSample=function(e){e=binarySearch(this._times,e,JulianDate.compare);return!(e<0)&&(removeSamples(this,e,1),!0)},SampledProperty.prototype.removeSamples=function(e){var t=this._times,i=binarySearch(t,e.start,JulianDate.compare);i<0?i=~i:e.isStartIncluded||++i;t=binarySearch(t,e.stop,JulianDate.compare);t<0?t=~t:e.isStopIncluded&&++t,removeSamples(this,i,t-i)},SampledProperty.prototype.equals=function(e){if(this===e)return!0;if(!defined(e))return!1;if(this._type!==e._type||this._interpolationDegree!==e._interpolationDegree||this._interpolationAlgorithm!==e._interpolationAlgorithm)return!1;var t,i=this._derivativeTypes,r=defined(i),n=e._derivativeTypes;if(r!==defined(n))return!1;if(r){if((a=i.length)!==n.length)return!1;for(t=0;t<a;t++)if(i[t]!==n[t])return!1}var a,o=this._times,s=e._times;if((a=o.length)!==s.length)return!1;for(t=0;t<a;t++)if(!JulianDate.equals(o[t],s[t]))return!1;var l=this._values,c=e._values;for(a=l.length,t=0;t<a;t++)if(l[t]!==c[t])return!1;return!0},SampledProperty._mergeNewSamples=mergeNewSamples,Object.defineProperties(SampledPositionProperty.prototype,{isConstant:{get:function(){return this._property.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}},interpolationDegree:{get:function(){return this._property.interpolationDegree}},interpolationAlgorithm:{get:function(){return this._property.interpolationAlgorithm}},numberOfDerivatives:{get:function(){return this._numberOfDerivatives}},forwardExtrapolationType:{get:function(){return this._property.forwardExtrapolationType},set:function(e){this._property.forwardExtrapolationType=e}},forwardExtrapolationDuration:{get:function(){return this._property.forwardExtrapolationDuration},set:function(e){this._property.forwardExtrapolationDuration=e}},backwardExtrapolationType:{get:function(){return this._property.backwardExtrapolationType},set:function(e){this._property.backwardExtrapolationType=e}},backwardExtrapolationDuration:{get:function(){return this._property.backwardExtrapolationDuration},set:function(e){this._property.backwardExtrapolationDuration=e}}}),SampledPositionProperty.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,ReferenceFrame$1.FIXED,t)},SampledPositionProperty.prototype.getValueInReferenceFrame=function(e,t,i){if(defined(i=this._property.getValue(e,i)))return PositionProperty.convertToReferenceFrame(e,i,this._referenceFrame,t,i)},SampledPositionProperty.prototype.setInterpolationOptions=function(e){this._property.setInterpolationOptions(e)},SampledPositionProperty.prototype.addSample=function(e,t,i){this._numberOfDerivatives;this._property.addSample(e,t,i)},SampledPositionProperty.prototype.addSamples=function(e,t,i){this._property.addSamples(e,t,i)},SampledPositionProperty.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)},SampledPositionProperty.prototype.removeSample=function(e){return this._property.removeSample(e)},SampledPositionProperty.prototype.removeSamples=function(e){this._property.removeSamples(e)},SampledPositionProperty.prototype.equals=function(e){return this===e||e instanceof SampledPositionProperty&&Property.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame};var StripeOrientation={HORIZONTAL:0,VERTICAL:1},StripeOrientation$1=Object.freeze(StripeOrientation),defaultOrientation=StripeOrientation$1.HORIZONTAL,defaultEvenColor$1=Color.WHITE,defaultOddColor$1=Color.BLACK,defaultOffset$3=0,defaultRepeat$2=1;function StripeMaterialProperty(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._definitionChanged=new Event,this._orientation=void 0,this._orientationSubscription=void 0,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._offset=void 0,this._offsetSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.orientation=e.orientation,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.offset=e.offset,this.repeat=e.repeat}function TimeIntervalCollectionPositionProperty(e){this._definitionChanged=new Event,this._intervals=new TimeIntervalCollection,this._intervals.changedEvent.addEventListener(TimeIntervalCollectionPositionProperty.prototype._intervalsChanged,this),this._referenceFrame=defaultValue(e,ReferenceFrame$1.FIXED)}function TimeIntervalCollectionProperty(){this._definitionChanged=new Event,this._intervals=new TimeIntervalCollection,this._intervals.changedEvent.addEventListener(TimeIntervalCollectionProperty.prototype._intervalsChanged,this)}function VelocityVectorProperty(e,t){this._position=void 0,this._subscription=void 0,this._definitionChanged=new Event,this._normalize=defaultValue(t,!0),this.position=e}Object.defineProperties(StripeMaterialProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._orientation)&&Property.isConstant(this._evenColor)&&Property.isConstant(this._oddColor)&&Property.isConstant(this._offset)&&Property.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},orientation:createPropertyDescriptor("orientation"),evenColor:createPropertyDescriptor("evenColor"),oddColor:createPropertyDescriptor("oddColor"),offset:createPropertyDescriptor("offset"),repeat:createPropertyDescriptor("repeat")}),StripeMaterialProperty.prototype.getType=function(e){return"Stripe"},StripeMaterialProperty.prototype.getValue=function(e,t){return defined(t)||(t={}),t.horizontal=Property.getValueOrDefault(this._orientation,e,defaultOrientation)===StripeOrientation$1.HORIZONTAL,t.evenColor=Property.getValueOrClonedDefault(this._evenColor,e,defaultEvenColor$1,t.evenColor),t.oddColor=Property.getValueOrClonedDefault(this._oddColor,e,defaultOddColor$1,t.oddColor),t.offset=Property.getValueOrDefault(this._offset,e,defaultOffset$3),t.repeat=Property.getValueOrDefault(this._repeat,e,defaultRepeat$2),t},StripeMaterialProperty.prototype.equals=function(e){return this===e||e instanceof StripeMaterialProperty&&Property.equals(this._orientation,e._orientation)&&Property.equals(this._evenColor,e._evenColor)&&Property.equals(this._oddColor,e._oddColor)&&Property.equals(this._offset,e._offset)&&Property.equals(this._repeat,e._repeat)},Object.defineProperties(TimeIntervalCollectionPositionProperty.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}}),TimeIntervalCollectionPositionProperty.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,ReferenceFrame$1.FIXED,t)},TimeIntervalCollectionPositionProperty.prototype.getValueInReferenceFrame=function(e,t,i){var r=this._intervals.findDataForIntervalContainingDate(e);if(defined(r))return PositionProperty.convertToReferenceFrame(e,r,this._referenceFrame,t,i)},TimeIntervalCollectionPositionProperty.prototype.equals=function(e){return this===e||e instanceof TimeIntervalCollectionPositionProperty&&this._intervals.equals(e._intervals,Property.equals)&&this._referenceFrame===e._referenceFrame},TimeIntervalCollectionPositionProperty.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)},Object.defineProperties(TimeIntervalCollectionProperty.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}}),TimeIntervalCollectionProperty.prototype.getValue=function(e,t){e=this._intervals.findDataForIntervalContainingDate(e);return defined(e)&&"function"==typeof e.clone?e.clone(t):e},TimeIntervalCollectionProperty.prototype.equals=function(e){return this===e||e instanceof TimeIntervalCollectionProperty&&this._intervals.equals(e._intervals,Property.equals)},TimeIntervalCollectionProperty.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)},Object.defineProperties(VelocityVectorProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._position)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._position},set:function(e){var t=this._position;t!==e&&(defined(t)&&this._subscription(),defined(this._position=e)&&(this._subscription=e._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)),this._definitionChanged.raiseEvent(this))}},normalize:{get:function(){return this._normalize},set:function(e){this._normalize!==e&&(this._normalize=e,this._definitionChanged.raiseEvent(this))}}});var position1Scratch=new Cartesian3,position2Scratch=new Cartesian3,timeScratch=new JulianDate,step=1/60;function VelocityOrientationProperty(e,t){this._velocityVectorProperty=new VelocityVectorProperty(e,!0),this._subscription=void 0,this._ellipsoid=void 0,this._definitionChanged=new Event,this.ellipsoid=defaultValue(t,Ellipsoid.WGS84);var i=this;this._velocityVectorProperty.definitionChanged.addEventListener(function(){i._definitionChanged.raiseEvent(i)})}VelocityVectorProperty.prototype.getValue=function(e,t){return this._getValue(e,t)},VelocityVectorProperty.prototype._getValue=function(e,t,i){defined(t)||(t=new Cartesian3);var r=this._position;if(Property.isConstant(r))return this._normalize?void 0:Cartesian3.clone(Cartesian3.ZERO,t);var n=r.getValue(e,position1Scratch),a=r.getValue(JulianDate.addSeconds(e,step,timeScratch),position2Scratch);if(defined(n)&&(defined(a)||(a=n,defined(n=r.getValue(JulianDate.addSeconds(e,-step,timeScratch),position2Scratch))))){if(Cartesian3.equals(n,a))return this._normalize?void 0:Cartesian3.clone(Cartesian3.ZERO,t);defined(i)&&n.clone(i);n=Cartesian3.subtract(a,n,t);return this._normalize?Cartesian3.normalize(n,t):Cartesian3.divideByScalar(n,step,t)}},VelocityVectorProperty.prototype.equals=function(e){return this===e||e instanceof VelocityVectorProperty&&Property.equals(this._position,e._position)},Object.defineProperties(VelocityOrientationProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._velocityVectorProperty)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._velocityVectorProperty.position},set:function(e){this._velocityVectorProperty.position=e}},ellipsoid:{get:function(){return this._ellipsoid},set:function(e){this._ellipsoid!==e&&(this._ellipsoid=e,this._definitionChanged.raiseEvent(this))}}});var positionScratch$8=new Cartesian3,velocityScratch=new Cartesian3,rotationScratch=new Matrix3,currentId;function UnitCartesian3(){}function createReferenceProperty(e,t){return"#"===t[0]&&(t=currentId+t),ReferenceProperty.fromString(e,t)}function createSpecializedProperty(e,t,i){if(defined(i.reference))return createReferenceProperty(t,i.reference);if(defined(i.velocityReference)){var r=createReferenceProperty(t,i.velocityReference);switch(e){case Cartesian3:case UnitCartesian3:return new VelocityVectorProperty(r,e===UnitCartesian3);case Quaternion:return new VelocityOrientationProperty(r)}}throw new RuntimeError(JSON.stringify(i)+" is not valid CZML.")}function createAdapterProperty(i,r){return new CallbackProperty(function(e,t){return r(i.getValue(e,t))},i.isConstant)}VelocityOrientationProperty.prototype.getValue=function(e,t){e=this._velocityVectorProperty._getValue(e,velocityScratch,positionScratch$8);if(defined(e))return Transforms.rotationMatrixFromPositionVelocity(positionScratch$8,e,this._ellipsoid,rotationScratch),Quaternion.fromRotationMatrix(rotationScratch,t)},VelocityOrientationProperty.prototype.equals=function(e){return this===e||e instanceof VelocityOrientationProperty&&Property.equals(this._velocityVectorProperty,e._velocityVectorProperty)&&(this._ellipsoid===e._ellipsoid||this._ellipsoid.equals(e._ellipsoid))},UnitCartesian3.packedLength=Cartesian3.packedLength,UnitCartesian3.unpack=Cartesian3.unpack,UnitCartesian3.pack=Cartesian3.pack;var scratchCartesian$6=new Cartesian3,scratchSpherical=new Spherical,scratchCartographic$8=new Cartographic,scratchTimeInterval=new TimeInterval,scratchQuaternion=new Quaternion;function unwrapColorInterval(e){var t=e.rgbaf;if(defined(t))return t;var i=e.rgba;if(defined(i)){var r=i.length;if(r===Color.packedLength)return[Color.byteToFloat(i[0]),Color.byteToFloat(i[1]),Color.byteToFloat(i[2]),Color.byteToFloat(i[3])];t=new Array(r);for(var n=0;n<r;n+=5)t[n]=i[n],t[n+1]=Color.byteToFloat(i[n+1]),t[n+2]=Color.byteToFloat(i[n+2]),t[n+3]=Color.byteToFloat(i[n+3]),t[n+4]=Color.byteToFloat(i[n+4]);return t}}function unwrapUriInterval(e,t){e=defaultValue(e.uri,e);return defined(t)?t.getDerivedResource({url:e}):Resource.createIfNeeded(e)}function unwrapRectangleInterval(e){var t=e.wsen;if(defined(t))return t;var i=e.wsenDegrees;if(defined(i)){var r=i.length;if(r===Rectangle.packedLength)return[CesiumMath.toRadians(i[0]),CesiumMath.toRadians(i[1]),CesiumMath.toRadians(i[2]),CesiumMath.toRadians(i[3])];t=new Array(r);for(var n=0;n<r;n+=5)t[n]=i[n],t[n+1]=CesiumMath.toRadians(i[n+1]),t[n+2]=CesiumMath.toRadians(i[n+2]),t[n+3]=CesiumMath.toRadians(i[n+3]),t[n+4]=CesiumMath.toRadians(i[n+4]);return t}}function convertUnitSphericalToCartesian(e){var t=e.length;if(scratchSpherical.magnitude=1,2===t)return scratchSpherical.clock=e[0],scratchSpherical.cone=e[1],Cartesian3.fromSpherical(scratchSpherical,scratchCartesian$6),[scratchCartesian$6.x,scratchCartesian$6.y,scratchCartesian$6.z];for(var i=new Array(t/3*4),r=0,n=0;r<t;r+=3,n+=4)i[n]=e[r],scratchSpherical.clock=e[r+1],scratchSpherical.cone=e[r+2],Cartesian3.fromSpherical(scratchSpherical,scratchCartesian$6),i[n+1]=scratchCartesian$6.x,i[n+2]=scratchCartesian$6.y,i[n+3]=scratchCartesian$6.z;return i}function convertSphericalToCartesian(e){var t=e.length;if(3===t)return scratchSpherical.clock=e[0],scratchSpherical.cone=e[1],scratchSpherical.magnitude=e[2],Cartesian3.fromSpherical(scratchSpherical,scratchCartesian$6),[scratchCartesian$6.x,scratchCartesian$6.y,scratchCartesian$6.z];for(var i=new Array(t),r=0;r<t;r+=4)i[r]=e[r],scratchSpherical.clock=e[r+1],scratchSpherical.cone=e[r+2],scratchSpherical.magnitude=e[r+3],Cartesian3.fromSpherical(scratchSpherical,scratchCartesian$6),i[r+1]=scratchCartesian$6.x,i[r+2]=scratchCartesian$6.y,i[r+3]=scratchCartesian$6.z;return i}function convertCartographicRadiansToCartesian(e){var t=e.length;if(3===t)return scratchCartographic$8.longitude=e[0],scratchCartographic$8.latitude=e[1],scratchCartographic$8.height=e[2],Ellipsoid.WGS84.cartographicToCartesian(scratchCartographic$8,scratchCartesian$6),[scratchCartesian$6.x,scratchCartesian$6.y,scratchCartesian$6.z];for(var i=new Array(t),r=0;r<t;r+=4)i[r]=e[r],scratchCartographic$8.longitude=e[r+1],scratchCartographic$8.latitude=e[r+2],scratchCartographic$8.height=e[r+3],Ellipsoid.WGS84.cartographicToCartesian(scratchCartographic$8,scratchCartesian$6),i[r+1]=scratchCartesian$6.x,i[r+2]=scratchCartesian$6.y,i[r+3]=scratchCartesian$6.z;return i}function convertCartographicDegreesToCartesian(e){var t=e.length;if(3===t)return scratchCartographic$8.longitude=CesiumMath.toRadians(e[0]),scratchCartographic$8.latitude=CesiumMath.toRadians(e[1]),scratchCartographic$8.height=e[2],Ellipsoid.WGS84.cartographicToCartesian(scratchCartographic$8,scratchCartesian$6),[scratchCartesian$6.x,scratchCartesian$6.y,scratchCartesian$6.z];for(var i=new Array(t),r=0;r<t;r+=4)i[r]=e[r],scratchCartographic$8.longitude=CesiumMath.toRadians(e[r+1]),scratchCartographic$8.latitude=CesiumMath.toRadians(e[r+2]),scratchCartographic$8.height=e[r+3],Ellipsoid.WGS84.cartographicToCartesian(scratchCartographic$8,scratchCartesian$6),i[r+1]=scratchCartesian$6.x,i[r+2]=scratchCartesian$6.y,i[r+3]=scratchCartesian$6.z;return i}function unwrapCartesianInterval(e){var t=e.cartesian;if(defined(t))return t;t=e.cartesianVelocity;if(defined(t))return t;t=e.unitCartesian;if(defined(t))return t;t=e.unitSpherical;if(defined(t))return convertUnitSphericalToCartesian(t);t=e.spherical;if(defined(t))return convertSphericalToCartesian(t);t=e.cartographicRadians;if(defined(t))return convertCartographicRadiansToCartesian(t);t=e.cartographicDegrees;if(defined(t))return convertCartographicDegreesToCartesian(t);throw new RuntimeError(JSON.stringify(e)+" is not a valid CZML interval.")}function normalizePackedCartesianArray(e,t){Cartesian3.unpack(e,t,scratchCartesian$6),Cartesian3.normalize(scratchCartesian$6,scratchCartesian$6),Cartesian3.pack(scratchCartesian$6,e,t)}function unwrapUnitCartesianInterval(e){var t=unwrapCartesianInterval(e);if(3===t.length)return normalizePackedCartesianArray(t,0),t;for(var i=1;i<t.length;i+=4)normalizePackedCartesianArray(t,i);return t}function normalizePackedQuaternionArray(e,t){Quaternion.unpack(e,t,scratchQuaternion),Quaternion.normalize(scratchQuaternion,scratchQuaternion),Quaternion.pack(scratchQuaternion,e,t)}function unwrapQuaternionInterval(e){var t=e.unitQuaternion;if(defined(t)){if(4===t.length)return normalizePackedQuaternionArray(t,0),t;for(var i=1;i<t.length;i+=5)normalizePackedQuaternionArray(t,i)}return t}function getPropertyType(e){return"boolean"==typeof e?Boolean:"number"==typeof e?Number:"string"==typeof e?String:e.hasOwnProperty("array")?Array:e.hasOwnProperty("boolean")?Boolean:e.hasOwnProperty("boundingRectangle")?BoundingRectangle:e.hasOwnProperty("cartesian2")?Cartesian2:e.hasOwnProperty("cartesian")||e.hasOwnProperty("spherical")||e.hasOwnProperty("cartographicRadians")||e.hasOwnProperty("cartographicDegrees")?Cartesian3:e.hasOwnProperty("unitCartesian")||e.hasOwnProperty("unitSpherical")?UnitCartesian3:e.hasOwnProperty("rgba")||e.hasOwnProperty("rgbaf")?Color:e.hasOwnProperty("arcType")?ArcType$1:e.hasOwnProperty("classificationType")?ClassificationType$1:e.hasOwnProperty("colorBlendMode")?ColorBlendMode$1:e.hasOwnProperty("cornerType")?CornerType$1:e.hasOwnProperty("heightReference")?HeightReference$1:e.hasOwnProperty("horizontalOrigin")?HorizontalOrigin$1:e.hasOwnProperty("date")?JulianDate:e.hasOwnProperty("labelStyle")?LabelStyle$1:e.hasOwnProperty("number")?Number:e.hasOwnProperty("nearFarScalar")?NearFarScalar:e.hasOwnProperty("distanceDisplayCondition")?DistanceDisplayCondition:e.hasOwnProperty("object")||e.hasOwnProperty("value")?Object:e.hasOwnProperty("unitQuaternion")?Quaternion:e.hasOwnProperty("shadowMode")?ShadowMode$1:e.hasOwnProperty("string")?String:e.hasOwnProperty("stripeOrientation")?StripeOrientation$1:e.hasOwnProperty("wsen")||e.hasOwnProperty("wsenDegrees")?Rectangle:e.hasOwnProperty("uri")?URI:e.hasOwnProperty("verticalOrigin")?VerticalOrigin$1:Object}function unwrapInterval(e,t,i){switch(e){case ArcType$1:return ArcType$1[defaultValue(t.arcType,t)];case Array:return t.array;case Boolean:return defaultValue(t.boolean,t);case BoundingRectangle:return t.boundingRectangle;case Cartesian2:return t.cartesian2;case Cartesian3:return unwrapCartesianInterval(t);case UnitCartesian3:return unwrapUnitCartesianInterval(t);case Color:return unwrapColorInterval(t);case ClassificationType$1:return ClassificationType$1[defaultValue(t.classificationType,t)];case ColorBlendMode$1:return ColorBlendMode$1[defaultValue(t.colorBlendMode,t)];case CornerType$1:return CornerType$1[defaultValue(t.cornerType,t)];case HeightReference$1:return HeightReference$1[defaultValue(t.heightReference,t)];case HorizontalOrigin$1:return HorizontalOrigin$1[defaultValue(t.horizontalOrigin,t)];case Image:return unwrapUriInterval(t,i);case JulianDate:return JulianDate.fromIso8601(defaultValue(t.date,t));case LabelStyle$1:return LabelStyle$1[defaultValue(t.labelStyle,t)];case Number:return defaultValue(t.number,t);case NearFarScalar:return t.nearFarScalar;case DistanceDisplayCondition:return t.distanceDisplayCondition;case Object:return defaultValue(defaultValue(t.object,t.value),t);case Quaternion:return unwrapQuaternionInterval(t);case Rotation:return defaultValue(t.number,t);case ShadowMode$1:return ShadowMode$1[defaultValue(defaultValue(t.shadowMode,t.shadows),t)];case String:return defaultValue(t.string,t);case StripeOrientation$1:return StripeOrientation$1[defaultValue(t.stripeOrientation,t)];case Rectangle:return unwrapRectangleInterval(t);case URI:return unwrapUriInterval(t,i);case VerticalOrigin$1:return VerticalOrigin$1[defaultValue(t.verticalOrigin,t)];default:throw new RuntimeError(e)}}var interpolators={HERMITE:HermitePolynomialApproximation,LAGRANGE:LagrangePolynomialApproximation,LINEAR:LinearApproximation};function updateInterpolationSettings(e,t){var i=e.interpolationAlgorithm,r=e.interpolationDegree;(defined(i)||defined(r))&&t.setInterpolationOptions({interpolationAlgorithm:interpolators[i],interpolationDegree:r});r=e.forwardExtrapolationType;defined(r)&&(t.forwardExtrapolationType=ExtrapolationType$1[r]);r=e.forwardExtrapolationDuration;defined(r)&&(t.forwardExtrapolationDuration=r);r=e.backwardExtrapolationType;defined(r)&&(t.backwardExtrapolationType=ExtrapolationType$1[r]);e=e.backwardExtrapolationDuration;defined(e)&&(t.backwardExtrapolationDuration=e)}var iso8601Scratch={iso8601:void 0};function intervalFromString(e){if(defined(e))return iso8601Scratch.iso8601=e,TimeInterval.fromIso8601(iso8601Scratch)}function wrapPropertyInInfiniteInterval(e){var t=Iso8601.MAXIMUM_INTERVAL.clone();return t.data=e,t}function convertPropertyToComposite(e){var t=new CompositeProperty;return t.intervals.addInterval(wrapPropertyInInfiniteInterval(e)),t}function convertPositionPropertyToComposite(e){var t=new CompositePositionProperty(e.referenceFrame);return t.intervals.addInterval(wrapPropertyInInfiniteInterval(e)),t}function processProperty(e,t,i,r,n,a,o){var s,l=intervalFromString(r.interval);defined(n)&&(l=defined(l)?TimeInterval.intersect(l,n,scratchTimeInterval):n);var c=!defined(r.reference)&&!defined(r.velocityReference),u=defined(l)&&!l.equals(Iso8601.MAXIMUM_INTERVAL);if(!0===r.delete)return u?removePropertyData(t[i],l):void(t[i]=void 0);n=!1;if(c){if(!defined(s=unwrapInterval(e,r,a)))return;h=defaultValue(e.packedLength,1),p=defaultValue(s.length,1),n=!defined(r.array)&&"string"!=typeof s&&h<p&&e!==Object}a="function"==typeof e.unpack&&e!==Rotation;if(n||u){var d,h=t[i],p=r.epoch;if(defined(p)&&(d=JulianDate.fromIso8601(p)),n&&!u)return h instanceof SampledProperty||(t[i]=h=new SampledProperty(e)),h.addSamplesPackedArray(s,d),void updateInterpolationSettings(r,h);if(!n&&u)return(l=l.clone()).data=c?a?e.unpack(s,0):s:createSpecializedProperty(e,o,r),defined(h)||(t[i]=h=new(c?TimeIntervalCollectionProperty:CompositeProperty)),c&&h instanceof TimeIntervalCollectionProperty||(h instanceof CompositeProperty||(t[i]=h=convertPropertyToComposite(h)),c&&(l.data=new ConstantProperty(l.data))),void h.intervals.addInterval(l);defined(h)||(t[i]=h=new CompositeProperty),h instanceof CompositeProperty||(t[i]=h=convertPropertyToComposite(h));u=h.intervals;defined(h=u.findInterval(l))&&h.data instanceof SampledProperty||((h=l.clone()).data=new SampledProperty(e),u.addInterval(h)),h.data.addSamplesPackedArray(s,d),updateInterpolationSettings(r,h.data)}else t[i]=c?new ConstantProperty(a?e.unpack(s,0):s):createSpecializedProperty(e,o,r)}function removePropertyData(e,t){if(e instanceof SampledProperty)e.removeSamples(t);else if(e instanceof TimeIntervalCollectionProperty)e.intervals.removeInterval(t);else if(e instanceof CompositeProperty){for(var i=e.intervals,r=0;r<i.length;++r){var n=TimeInterval.intersect(i.get(r),t,scratchTimeInterval);n.isEmpty||removePropertyData(n.data,t)}i.removeInterval(t)}}function processPacketData(e,t,i,r,n,a,o){if(defined(r))if(Array.isArray(r))for(var s=0,l=r.length;s<l;++s)processProperty(e,t,i,r[s],n,a,o);else processProperty(e,t,i,r,n,a,o)}function processPositionProperty(e,t,i,r,n,a){var o=intervalFromString(i.interval);defined(r)&&(o=defined(o)?TimeInterval.intersect(o,r,scratchTimeInterval):r);var s,l,c=defined(i.cartesianVelocity)?1:0,u=Cartesian3.packedLength*(1+c),d=!defined(i.reference),h=defined(o)&&!o.equals(Iso8601.MAXIMUM_INTERVAL);if(!0===i.delete)return h?removePositionPropertyData(e[t],o):void(e[t]=void 0);var p=!1;if(d&&(defined(i.referenceFrame)&&(l=ReferenceFrame$1[i.referenceFrame]),l=defaultValue(l,ReferenceFrame$1.FIXED),p=u<defaultValue((s=unwrapCartesianInterval(i)).length,1)),p||h){var m,r=e[t],u=i.epoch;if(defined(u)&&(m=JulianDate.fromIso8601(u)),p&&!h)return r instanceof SampledPositionProperty&&(!defined(l)||r.referenceFrame===l)||(e[t]=r=new SampledPositionProperty(l,c)),r.addSamplesPackedArray(s,m),void updateInterpolationSettings(i,r);if(!p&&h)return(o=o.clone()).data=d?Cartesian3.unpack(s):createReferenceProperty(a,i.reference),defined(r)||(r=new(d?TimeIntervalCollectionPositionProperty:CompositePositionProperty)(l),e[t]=r),d&&r instanceof TimeIntervalCollectionPositionProperty&&defined(l)&&r.referenceFrame===l||(r instanceof CompositePositionProperty||(e[t]=r=convertPositionPropertyToComposite(r)),d&&(o.data=new ConstantPositionProperty(o.data,l))),void r.intervals.addInterval(o);defined(r)?r instanceof CompositePositionProperty||(e[t]=r=convertPositionPropertyToComposite(r)):e[t]=r=new CompositePositionProperty(l);h=r.intervals;defined(r=h.findInterval(o))&&r.data instanceof SampledPositionProperty&&(!defined(l)||r.data.referenceFrame===l)||((r=o.clone()).data=new SampledPositionProperty(l,c),h.addInterval(r)),r.data.addSamplesPackedArray(s,m),updateInterpolationSettings(i,r.data)}else e[t]=d?new ConstantPositionProperty(Cartesian3.unpack(s),l):createReferenceProperty(a,i.reference)}function removePositionPropertyData(e,t){if(e instanceof SampledPositionProperty)e.removeSamples(t);else if(e instanceof TimeIntervalCollectionPositionProperty)e.intervals.removeInterval(t);else if(e instanceof CompositePositionProperty){for(var i=e.intervals,r=0;r<i.length;++r){var n=TimeInterval.intersect(i.get(r),t,scratchTimeInterval);n.isEmpty||removePositionPropertyData(n.data,t)}i.removeInterval(t)}}function processPositionPacketData(e,t,i,r,n,a){if(defined(i))if(Array.isArray(i))for(var o=0,s=i.length;o<s;++o)processPositionProperty(e,t,i[o],r,n,a);else processPositionProperty(e,t,i,r,n,a)}function processShapePacketData(e,t,i,r){defined(i.references)?processReferencesArrayPacketData(e,t,i.references,i.interval,r,PropertyArray,CompositeProperty):(defined(i.cartesian)&&(i.array=Cartesian2.unpackArray(i.cartesian)),defined(i.array)&&processPacketData(Array,e,t,i,void 0,void 0,r))}function processMaterialProperty(e,t,i,r,n,a){var o=intervalFromString(i.interval);defined(r)&&(o=defined(o)?TimeInterval.intersect(o,r,scratchTimeInterval):r);var s,l,c,u=e[t];defined(o)?(u instanceof CompositeMaterialProperty||(u=new CompositeMaterialProperty,e[t]=u),defined(l=(r=u.intervals).findInterval({start:o.start,stop:o.stop}))?s=l.data:(l=o.clone(),r.addInterval(l))):s=u,defined(i.solidColor)?(s instanceof ColorMaterialProperty||(s=new ColorMaterialProperty),processPacketData(Color,s,"color",(c=i.solidColor).color,void 0,void 0,a)):defined(i.grid)?(s instanceof GridMaterialProperty||(s=new GridMaterialProperty),processPacketData(Color,s,"color",(c=i.grid).color,void 0,n,a),processPacketData(Number,s,"cellAlpha",c.cellAlpha,void 0,n,a),processPacketData(Cartesian2,s,"lineCount",c.lineCount,void 0,n,a),processPacketData(Cartesian2,s,"lineThickness",c.lineThickness,void 0,n,a),processPacketData(Cartesian2,s,"lineOffset",c.lineOffset,void 0,n,a)):defined(i.image)?(s instanceof ImageMaterialProperty||(s=new ImageMaterialProperty),c=i.image,processPacketData(Image,s,"image",c.image,void 0,n,a),processPacketData(Cartesian2,s,"repeat",c.repeat,void 0,n,a),processPacketData(Color,s,"color",c.color,void 0,n,a),processPacketData(Boolean,s,"transparent",c.transparent,void 0,n,a)):defined(i.stripe)?(s instanceof StripeMaterialProperty||(s=new StripeMaterialProperty),c=i.stripe,processPacketData(StripeOrientation$1,s,"orientation",c.orientation,void 0,n,a),processPacketData(Color,s,"evenColor",c.evenColor,void 0,n,a),processPacketData(Color,s,"oddColor",c.oddColor,void 0,n,a),processPacketData(Number,s,"offset",c.offset,void 0,n,a),processPacketData(Number,s,"repeat",c.repeat,void 0,n,a)):defined(i.polylineOutline)?(s instanceof PolylineOutlineMaterialProperty||(s=new PolylineOutlineMaterialProperty),processPacketData(Color,s,"color",(c=i.polylineOutline).color,void 0,n,a),processPacketData(Color,s,"outlineColor",c.outlineColor,void 0,n,a),processPacketData(Number,s,"outlineWidth",c.outlineWidth,void 0,n,a)):defined(i.polylineGlow)?(s instanceof PolylineGlowMaterialProperty||(s=new PolylineGlowMaterialProperty),processPacketData(Color,s,"color",(c=i.polylineGlow).color,void 0,n,a),processPacketData(Number,s,"glowPower",c.glowPower,void 0,n,a),processPacketData(Number,s,"taperPower",c.taperPower,void 0,n,a)):defined(i.polylineArrow)?(s instanceof PolylineArrowMaterialProperty||(s=new PolylineArrowMaterialProperty),processPacketData(Color,s,"color",(c=i.polylineArrow).color,void 0,void 0,a)):defined(i.polylineDash)?(s instanceof PolylineDashMaterialProperty||(s=new PolylineDashMaterialProperty),processPacketData(Color,s,"color",(c=i.polylineDash).color,void 0,void 0,a),processPacketData(Color,s,"gapColor",c.gapColor,void 0,void 0,a),processPacketData(Number,s,"dashLength",c.dashLength,void 0,n,a),processPacketData(Number,s,"dashPattern",c.dashPattern,void 0,n,a)):defined(i.checkerboard)&&(s instanceof CheckerboardMaterialProperty||(s=new CheckerboardMaterialProperty),processPacketData(Color,s,"evenColor",(c=i.checkerboard).evenColor,void 0,n,a),processPacketData(Color,s,"oddColor",c.oddColor,void 0,n,a),processPacketData(Cartesian2,s,"repeat",c.repeat,void 0,n,a)),defined(l)?l.data=s:e[t]=s}function processMaterialPacketData(e,t,i,r,n,a){if(defined(i))if(Array.isArray(i))for(var o=0,s=i.length;o<s;++o)processMaterialProperty(e,t,i[o],r,n,a);else processMaterialProperty(e,t,i,r,n,a)}function processName(e,t,i,r){defined(t.name)&&(e.name=t.name)}function processDescription(e,t,i,r){t=t.description;defined(t)&&processPacketData(String,e,"description",t,void 0,r,i)}function processPosition(e,t,i,r){t=t.position;defined(t)&&processPositionPacketData(e,"position",t,void 0,r,i)}function processViewFrom(e,t,i,r){t=t.viewFrom;defined(t)&&processPacketData(Cartesian3,e,"viewFrom",t,void 0,r,i)}function processOrientation(e,t,i,r){t=t.orientation;defined(t)&&processPacketData(Quaternion,e,"orientation",t,void 0,r,i)}function processProperties(e,t,i,r){var n=t.properties;if(defined(n))for(var a in defined(e.properties)||(e.properties=new PropertyBag),n)if(n.hasOwnProperty(a)){e.properties.hasProperty(a)||e.properties.addProperty(a);var o=n[a];if(Array.isArray(o))for(var s=0,l=o.length;s<l;++s)processProperty(getPropertyType(o[s]),e.properties,a,o[s],void 0,r,i);else processProperty(getPropertyType(o),e.properties,a,o,void 0,r,i)}}function processReferencesArrayPacketData(e,t,i,r,n,a,o){var s=i.map(function(e){return createReferenceProperty(n,e)});defined(r)?(r=intervalFromString(r),(i=e[t])instanceof o||((o=new o).intervals.addInterval(wrapPropertyInInfiniteInterval(i)),e[t]=i=o),r.data=new a(s),i.intervals.addInterval(r)):e[t]=new a(s)}function processArrayPacketData(e,t,i,r){var n=i.references;defined(n)?processReferencesArrayPacketData(e,t,n,i.interval,r,PropertyArray,CompositeProperty):processPacketData(Array,e,t,i,void 0,void 0,r)}function processArray(e,t,i,r){if(defined(i))if(Array.isArray(i))for(var n=0,a=i.length;n<a;++n)processArrayPacketData(e,t,i[n],r);else processArrayPacketData(e,t,i,r)}function processPositionArrayPacketData(e,t,i,r){var n=i.references;defined(n)?processReferencesArrayPacketData(e,t,n,i.interval,r,PositionPropertyArray,CompositePositionProperty):(defined(i.cartesian)?i.array=Cartesian3.unpackArray(i.cartesian):defined(i.cartographicRadians)?i.array=Cartesian3.fromRadiansArrayHeights(i.cartographicRadians):defined(i.cartographicDegrees)&&(i.array=Cartesian3.fromDegreesArrayHeights(i.cartographicDegrees)),defined(i.array)&&processPacketData(Array,e,t,i,void 0,void 0,r))}function processPositionArray(e,t,i,r){if(defined(i))if(Array.isArray(i))for(var n=0,a=i.length;n<a;++n)processPositionArrayPacketData(e,t,i[n],r);else processPositionArrayPacketData(e,t,i,r)}function unpackCartesianArray(e){return Cartesian3.unpackArray(e)}function unpackCartographicRadiansArray(e){return Cartesian3.fromRadiansArrayHeights(e)}function unpackCartographicDegreesArray(e){return Cartesian3.fromDegreesArrayHeights(e)}function processPositionArrayOfArraysPacketData(e,t,i,r){var n=i.references;defined(n)?(n=n.map(function(e){var t={};return processReferencesArrayPacketData(t,"positions",e,i.interval,r,PositionPropertyArray,CompositePositionProperty),t.positions}),e[t]=new PositionPropertyArray(n)):(defined(i.cartesian)?i.array=i.cartesian.map(unpackCartesianArray):defined(i.cartographicRadians)?i.array=i.cartographicRadians.map(unpackCartographicRadiansArray):defined(i.cartographicDegrees)&&(i.array=i.cartographicDegrees.map(unpackCartographicDegreesArray)),defined(i.array)&&processPacketData(Array,e,t,i,void 0,void 0,r))}function processPositionArrayOfArrays(e,t,i,r){if(defined(i))if(Array.isArray(i))for(var n=0,a=i.length;n<a;++n)processPositionArrayOfArraysPacketData(e,t,i[n],r);else processPositionArrayOfArraysPacketData(e,t,i,r)}function processShape(e,t,i,r){if(defined(i))if(Array.isArray(i))for(var n=0,a=i.length;n<a;n++)processShapePacketData(e,t,i[n],r);else processShapePacketData(e,t,i,r)}function processAvailability(e,t,i,r){var n,a=t.availability;if(defined(a)){if(Array.isArray(a))for(var o=0,s=a.length;o<s;++o)defined(n)||(n=new TimeIntervalCollection),n.addInterval(intervalFromString(a[o]));else(n=new TimeIntervalCollection).addInterval(intervalFromString(a));e.availability=n}}function processAlignedAxis(e,t,i,r,n){defined(t)&&processPacketData(UnitCartesian3,e,"alignedAxis",t,i,r,n)}function processBillboard(e,t,i,r){var n,a=t.billboard;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.billboard)||(e.billboard=t=new BillboardGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(Image,t,"image",a.image,n,r,i),processPacketData(Number,t,"scale",a.scale,n,r,i),processPacketData(Cartesian2,t,"pixelOffset",a.pixelOffset,n,r,i),processPacketData(Cartesian3,t,"eyeOffset",a.eyeOffset,n,r,i),processPacketData(HorizontalOrigin$1,t,"horizontalOrigin",a.horizontalOrigin,n,r,i),processPacketData(VerticalOrigin$1,t,"verticalOrigin",a.verticalOrigin,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Color,t,"color",a.color,n,r,i),processPacketData(Rotation,t,"rotation",a.rotation,n,r,i),processAlignedAxis(t,a.alignedAxis,n,r,i),processPacketData(Boolean,t,"sizeInMeters",a.sizeInMeters,n,r,i),processPacketData(Number,t,"width",a.width,n,r,i),processPacketData(Number,t,"height",a.height,n,r,i),processPacketData(NearFarScalar,t,"scaleByDistance",a.scaleByDistance,n,r,i),processPacketData(NearFarScalar,t,"translucencyByDistance",a.translucencyByDistance,n,r,i),processPacketData(NearFarScalar,t,"pixelOffsetScaleByDistance",a.pixelOffsetScaleByDistance,n,r,i),processPacketData(BoundingRectangle,t,"imageSubRegion",a.imageSubRegion,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i),processPacketData(Number,t,"disableDepthTestDistance",a.disableDepthTestDistance,n,r,i))}function processBox(e,t,i,r){var n,a=t.box;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.box)||(e.box=t=new BoxGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(Cartesian3,t,"dimensions",a.dimensions,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Boolean,t,"fill",a.fill,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(Boolean,t,"outline",a.outline,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i))}function processCorridor(e,t,i,r){var n,a=t.corridor;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.corridor)||(e.corridor=t=new CorridorGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPositionArray(t,"positions",a.positions,i),processPacketData(Number,t,"width",a.width,n,r,i),processPacketData(Number,t,"height",a.height,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Number,t,"extrudedHeight",a.extrudedHeight,n,r,i),processPacketData(HeightReference$1,t,"extrudedHeightReference",a.extrudedHeightReference,n,r,i),processPacketData(CornerType$1,t,"cornerType",a.cornerType,n,r,i),processPacketData(Number,t,"granularity",a.granularity,n,r,i),processPacketData(Boolean,t,"fill",a.fill,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(Boolean,t,"outline",a.outline,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i),processPacketData(ClassificationType$1,t,"classificationType",a.classificationType,n,r,i),processPacketData(Number,t,"zIndex",a.zIndex,n,r,i))}function processCylinder(e,t,i,r){var n,a=t.cylinder;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.cylinder)||(e.cylinder=t=new CylinderGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(Number,t,"length",a.length,n,r,i),processPacketData(Number,t,"topRadius",a.topRadius,n,r,i),processPacketData(Number,t,"bottomRadius",a.bottomRadius,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Boolean,t,"fill",a.fill,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(Boolean,t,"outline",a.outline,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(Number,t,"numberOfVerticalLines",a.numberOfVerticalLines,n,r,i),processPacketData(Number,t,"slices",a.slices,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i))}function processDocument(e,t){var i=e.version;if(defined(i)&&"string"==typeof i){var r=i.split(".");if(2===r.length){if("1"!==r[0])throw new RuntimeError("Cesium only supports CZML version 1.");t._version=i}}if(!defined(t._version))throw new RuntimeError("CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.");i=t._documentPacket;defined(e.name)&&(i.name=e.name);t=e.clock;defined(t)&&(defined(e=i.clock)?(e.interval=defaultValue(t.interval,e.interval),e.currentTime=defaultValue(t.currentTime,e.currentTime),e.range=defaultValue(t.range,e.range),e.step=defaultValue(t.step,e.step),e.multiplier=defaultValue(t.multiplier,e.multiplier)):i.clock={interval:t.interval,currentTime:t.currentTime,range:t.range,step:t.step,multiplier:t.multiplier})}function processEllipse(e,t,i,r){var n,a=t.ellipse;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.ellipse)||(e.ellipse=t=new EllipseGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(Number,t,"semiMajorAxis",a.semiMajorAxis,n,r,i),processPacketData(Number,t,"semiMinorAxis",a.semiMinorAxis,n,r,i),processPacketData(Number,t,"height",a.height,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Number,t,"extrudedHeight",a.extrudedHeight,n,r,i),processPacketData(HeightReference$1,t,"extrudedHeightReference",a.extrudedHeightReference,n,r,i),processPacketData(Rotation,t,"rotation",a.rotation,n,r,i),processPacketData(Rotation,t,"stRotation",a.stRotation,n,r,i),processPacketData(Number,t,"granularity",a.granularity,n,r,i),processPacketData(Boolean,t,"fill",a.fill,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(Boolean,t,"outline",a.outline,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(Number,t,"numberOfVerticalLines",a.numberOfVerticalLines,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i),processPacketData(ClassificationType$1,t,"classificationType",a.classificationType,n,r,i),processPacketData(Number,t,"zIndex",a.zIndex,n,r,i))}function processEllipsoid(e,t,i,r){var n,a=t.ellipsoid;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.ellipsoid)||(e.ellipsoid=t=new EllipsoidGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(Cartesian3,t,"radii",a.radii,n,r,i),processPacketData(Cartesian3,t,"innerRadii",a.innerRadii,n,r,i),processPacketData(Number,t,"minimumClock",a.minimumClock,n,r,i),processPacketData(Number,t,"maximumClock",a.maximumClock,n,r,i),processPacketData(Number,t,"minimumCone",a.minimumCone,n,r,i),processPacketData(Number,t,"maximumCone",a.maximumCone,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Boolean,t,"fill",a.fill,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(Boolean,t,"outline",a.outline,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(Number,t,"stackPartitions",a.stackPartitions,n,r,i),processPacketData(Number,t,"slicePartitions",a.slicePartitions,n,r,i),processPacketData(Number,t,"subdivisions",a.subdivisions,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i))}function processLabel(e,t,i,r){var n,a=t.label;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.label)||(e.label=t=new LabelGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(String,t,"text",a.text,n,r,i),processPacketData(String,t,"font",a.font,n,r,i),processPacketData(LabelStyle$1,t,"style",a.style,n,r,i),processPacketData(Number,t,"scale",a.scale,n,r,i),processPacketData(Boolean,t,"showBackground",a.showBackground,n,r,i),processPacketData(Color,t,"backgroundColor",a.backgroundColor,n,r,i),processPacketData(Cartesian2,t,"backgroundPadding",a.backgroundPadding,n,r,i),processPacketData(Cartesian2,t,"pixelOffset",a.pixelOffset,n,r,i),processPacketData(Cartesian3,t,"eyeOffset",a.eyeOffset,n,r,i),processPacketData(HorizontalOrigin$1,t,"horizontalOrigin",a.horizontalOrigin,n,r,i),processPacketData(VerticalOrigin$1,t,"verticalOrigin",a.verticalOrigin,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Color,t,"fillColor",a.fillColor,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(NearFarScalar,t,"translucencyByDistance",a.translucencyByDistance,n,r,i),processPacketData(NearFarScalar,t,"pixelOffsetScaleByDistance",a.pixelOffsetScaleByDistance,n,r,i),processPacketData(NearFarScalar,t,"scaleByDistance",a.scaleByDistance,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i),processPacketData(Number,t,"disableDepthTestDistance",a.disableDepthTestDistance,n,r,i))}function processModel(e,t,i,r){t=t.model;if(defined(t)){var n,a,o=intervalFromString(t.interval),s=e.model;defined(s)||(e.model=s=new ModelGraphics),processPacketData(Boolean,s,"show",t.show,o,r,i),processPacketData(URI,s,"uri",t.gltf,o,r,i),processPacketData(Number,s,"scale",t.scale,o,r,i),processPacketData(Number,s,"minimumPixelSize",t.minimumPixelSize,o,r,i),processPacketData(Number,s,"maximumScale",t.maximumScale,o,r,i),processPacketData(Boolean,s,"incrementallyLoadTextures",t.incrementallyLoadTextures,o,r,i),processPacketData(Boolean,s,"runAnimations",t.runAnimations,o,r,i),processPacketData(Boolean,s,"clampAnimations",t.clampAnimations,o,r,i),processPacketData(ShadowMode$1,s,"shadows",t.shadows,o,r,i),processPacketData(HeightReference$1,s,"heightReference",t.heightReference,o,r,i),processPacketData(Color,s,"silhouetteColor",t.silhouetteColor,o,r,i),processPacketData(Number,s,"silhouetteSize",t.silhouetteSize,o,r,i),processPacketData(Color,s,"color",t.color,o,r,i),processPacketData(ColorBlendMode$1,s,"colorBlendMode",t.colorBlendMode,o,r,i),processPacketData(Number,s,"colorBlendAmount",t.colorBlendAmount,o,r,i),processPacketData(DistanceDisplayCondition,s,"distanceDisplayCondition",t.distanceDisplayCondition,o,r,i);var l=t.nodeTransformations;if(defined(l))if(Array.isArray(l))for(n=0,a=l.length;n<a;++n)processNodeTransformations(s,l[n],o,r,i);else processNodeTransformations(s,l,o,r,i);var c=t.articulations;if(defined(c))if(Array.isArray(c))for(n=0,a=c.length;n<a;++n)processArticulations(s,c[n],o,r,i);else processArticulations(s,c,o,r,i)}}function processNodeTransformations(e,t,i,r,n){var a=intervalFromString(t.interval);defined(i)&&(a=defined(a)?TimeInterval.intersect(a,i,scratchTimeInterval):i);for(var o=e.nodeTransformations,s=Object.keys(t),l=0,c=s.length;l<c;++l){var u,d,h=s[l];"interval"!==h&&(defined(u=t[h])&&(defined(o)||(e.nodeTransformations=o=new PropertyBag),o.hasProperty(h)||o.addProperty(h),defined(d=o[h])||(o[h]=d=new NodeTransformationProperty),processPacketData(Cartesian3,d,"translation",u.translation,a,r,n),processPacketData(Quaternion,d,"rotation",u.rotation,a,r,n),processPacketData(Cartesian3,d,"scale",u.scale,a,r,n)))}}function processArticulations(e,t,i,r,n){var a=intervalFromString(t.interval);defined(i)&&(a=defined(a)?TimeInterval.intersect(a,i,scratchTimeInterval):i);for(var o=e.articulations,s=Object.keys(t),l=0,c=s.length;l<c;++l){var u,d=s[l];"interval"!==d&&(defined(u=t[d])&&(defined(o)||(e.articulations=o=new PropertyBag),o.hasProperty(d)||o.addProperty(d),processPacketData(Number,o,d,u,a,r,n)))}}function processPath(e,t,i,r){var n,a=t.path;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.path)||(e.path=t=new PathGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(Number,t,"leadTime",a.leadTime,n,r,i),processPacketData(Number,t,"trailTime",a.trailTime,n,r,i),processPacketData(Number,t,"width",a.width,n,r,i),processPacketData(Number,t,"resolution",a.resolution,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i))}function processPoint(e,t,i,r){var n,a=t.point;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.point)||(e.point=t=new PointGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(Number,t,"pixelSize",a.pixelSize,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Color,t,"color",a.color,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(NearFarScalar,t,"scaleByDistance",a.scaleByDistance,n,r,i),processPacketData(NearFarScalar,t,"translucencyByDistance",a.translucencyByDistance,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i),processPacketData(Number,t,"disableDepthTestDistance",a.disableDepthTestDistance,n,r,i))}function PolygonHierarchyProperty(e){this.polygon=e,this._definitionChanged=new Event}function processPolygon(e,t,i,r){var n,a=t.polygon;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.polygon)||(e.polygon=t=new PolygonGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPositionArray(t,"_positions",a.positions,i),processPositionArrayOfArrays(t,"_holes",a.holes,i),(defined(t._positions)||defined(t._holes))&&(t.hierarchy=new PolygonHierarchyProperty(t)),processPacketData(Number,t,"height",a.height,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Number,t,"extrudedHeight",a.extrudedHeight,n,r,i),processPacketData(HeightReference$1,t,"extrudedHeightReference",a.extrudedHeightReference,n,r,i),processPacketData(Rotation,t,"stRotation",a.stRotation,n,r,i),processPacketData(Number,t,"granularity",a.granularity,n,r,i),processPacketData(Boolean,t,"fill",a.fill,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(Boolean,t,"outline",a.outline,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(Boolean,t,"perPositionHeight",a.perPositionHeight,n,r,i),processPacketData(Boolean,t,"closeTop",a.closeTop,n,r,i),processPacketData(Boolean,t,"closeBottom",a.closeBottom,n,r,i),processPacketData(ArcType$1,t,"arcType",a.arcType,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i),processPacketData(ClassificationType$1,t,"classificationType",a.classificationType,n,r,i),processPacketData(Number,t,"zIndex",a.zIndex,n,r,i))}function adaptFollowSurfaceToArcType(e){return e?ArcType$1.GEODESIC:ArcType$1.NONE}function processPolyline(e,t,i,r){var n,a=t.polyline;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.polyline)||(e.polyline=t=new PolylineGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPositionArray(t,"positions",a.positions,i),processPacketData(Number,t,"width",a.width,n,r,i),processPacketData(Number,t,"granularity",a.granularity,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processMaterialPacketData(t,"depthFailMaterial",a.depthFailMaterial,n,r,i),processPacketData(ArcType$1,t,"arcType",a.arcType,n,r,i),processPacketData(Boolean,t,"clampToGround",a.clampToGround,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i),processPacketData(ClassificationType$1,t,"classificationType",a.classificationType,n,r,i),processPacketData(Number,t,"zIndex",a.zIndex,n,r,i),defined(a.followSurface)&&!defined(a.arcType)&&(e={},processPacketData(Boolean,e,"followSurface",a.followSurface,n,r,i),t.arcType=createAdapterProperty(e.followSurface,adaptFollowSurfaceToArcType)))}function processPolylineVolume(e,t,i,r){var n,a=t.polylineVolume;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.polylineVolume)||(e.polylineVolume=t=new PolylineVolumeGraphics),processPositionArray(t,"positions",a.positions,i),processShape(t,"shape",a.shape,i),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(CornerType$1,t,"cornerType",a.cornerType,n,r,i),processPacketData(Boolean,t,"fill",a.fill,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(Boolean,t,"outline",a.outline,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(Number,t,"granularity",a.granularity,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i))}function processRectangle(e,t,i,r){var n,a=t.rectangle;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.rectangle)||(e.rectangle=t=new RectangleGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(Rectangle,t,"coordinates",a.coordinates,n,r,i),processPacketData(Number,t,"height",a.height,n,r,i),processPacketData(HeightReference$1,t,"heightReference",a.heightReference,n,r,i),processPacketData(Number,t,"extrudedHeight",a.extrudedHeight,n,r,i),processPacketData(HeightReference$1,t,"extrudedHeightReference",a.extrudedHeightReference,n,r,i),processPacketData(Rotation,t,"rotation",a.rotation,n,r,i),processPacketData(Rotation,t,"stRotation",a.stRotation,n,r,i),processPacketData(Number,t,"granularity",a.granularity,n,r,i),processPacketData(Boolean,t,"fill",a.fill,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(Boolean,t,"outline",a.outline,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i),processPacketData(ClassificationType$1,t,"classificationType",a.classificationType,n,r,i),processPacketData(Number,t,"zIndex",a.zIndex,n,r,i))}function processTileset(e,t,i,r){var n,a=t.tileset;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.tileset)||(e.tileset=t=new Cesium3DTilesetGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPacketData(URI,t,"uri",a.uri,n,r,i),processPacketData(Number,t,"maximumScreenSpaceError",a.maximumScreenSpaceError,n,r,i))}function processWall(e,t,i,r){var n,a=t.wall;defined(a)&&(n=intervalFromString(a.interval),defined(t=e.wall)||(e.wall=t=new WallGraphics),processPacketData(Boolean,t,"show",a.show,n,r,i),processPositionArray(t,"positions",a.positions,i),processArray(t,"minimumHeights",a.minimumHeights,i),processArray(t,"maximumHeights",a.maximumHeights,i),processPacketData(Number,t,"granularity",a.granularity,n,r,i),processPacketData(Boolean,t,"fill",a.fill,n,r,i),processMaterialPacketData(t,"material",a.material,n,r,i),processPacketData(Boolean,t,"outline",a.outline,n,r,i),processPacketData(Color,t,"outlineColor",a.outlineColor,n,r,i),processPacketData(Number,t,"outlineWidth",a.outlineWidth,n,r,i),processPacketData(ShadowMode$1,t,"shadows",a.shadows,n,r,i),processPacketData(DistanceDisplayCondition,t,"distanceDisplayCondition",a.distanceDisplayCondition,n,r,i))}function processCzmlPacket(e,t,i,r,n){var a=e.id;if(defined(a)||(a=createGuid()),currentId=a,!defined(n._version)&&"document"!==a)throw new RuntimeError("The first CZML packet is required to be the document object.");if(!0===e.delete)t.removeById(a);else if("document"===a)processDocument(e,n);else{var o=t.getOrCreateEntity(a),a=e.parent;defined(a)&&(o.parent=t.getOrCreateEntity(a));for(var s=i.length-1;-1<s;s--)i[s](o,e,t,r)}currentId=void 0}function updateClock(e){var t=e._documentPacket.clock;if(!defined(t)){if(!defined(e._clock)){var i=e._entityCollection.computeAvailability();if(!i.start.equals(Iso8601.MINIMUM_VALUE)){var r=i.start,n=i.stop,a=JulianDate.secondsDifference(n,r),i=Math.round(a/120);return(a=new DataSourceClock).startTime=JulianDate.clone(r),a.stopTime=JulianDate.clone(n),a.clockRange=ClockRange$1.LOOP_STOP,a.multiplier=i,a.currentTime=JulianDate.clone(r),a.clockStep=ClockStep$1.SYSTEM_CLOCK_MULTIPLIER,e._clock=a,!0}}return!1}defined(e._clock)?a=e._clock.clone():((a=new DataSourceClock).startTime=Iso8601.MINIMUM_VALUE.clone(),a.stopTime=Iso8601.MAXIMUM_VALUE.clone(),a.currentTime=Iso8601.MINIMUM_VALUE.clone(),a.clockRange=ClockRange$1.LOOP_STOP,a.clockStep=ClockStep$1.SYSTEM_CLOCK_MULTIPLIER,a.multiplier=1);r=intervalFromString(t.interval);return defined(r)&&(a.startTime=r.start,a.stopTime=r.stop),defined(t.currentTime)&&(a.currentTime=JulianDate.fromIso8601(t.currentTime)),defined(t.range)&&(a.clockRange=defaultValue(ClockRange$1[t.range],ClockRange$1.LOOP_STOP)),defined(t.step)&&(a.clockStep=defaultValue(ClockStep$1[t.step],ClockStep$1.SYSTEM_CLOCK_MULTIPLIER)),defined(t.multiplier)&&(a.multiplier=t.multiplier),!a.equals(e._clock)&&(e._clock=a.clone(e._clock),!0)}function load(t,e,i,r){var n=e,a=(i=defaultValue(i,defaultValue.EMPTY_OBJECT)).sourceUri,i=i.credit;if("string"==typeof i&&(i=new Credit(i)),t._credit=i,"string"==typeof e||e instanceof Resource){n=(e=Resource.createIfNeeded(e)).fetchJson(),a=defaultValue(a,e.clone());var o=t._resourceCredits,s=e.credits;if(defined(s))for(var l=s.length,c=0;c<l;c++)o.push(s[c])}return a=Resource.createIfNeeded(a),DataSource.setLoading(t,!0),when(n,function(e){return loadCzml(t,e,a,r)}).otherwise(function(e){return DataSource.setLoading(t,!1),t._error.raiseEvent(t,e),console.log(e),when.reject(e)})}function loadCzml(e,t,i,r){DataSource.setLoading(e,!0);var n=e._entityCollection;r&&(e._version=void 0,e._documentPacket=new DocumentPacket,n.removeAll()),CzmlDataSource._processCzml(t,n,i,void 0,e);t=updateClock(e),n=e._documentPacket;return defined(n.name)&&e._name!==n.name?(e._name=n.name,t=!0):!defined(e._name)&&defined(i)&&(e._name=getFilenameFromUri(i.getUrlComponent()),t=!0),DataSource.setLoading(e,!1),t&&e._changed.raiseEvent(e),e}function DocumentPacket(){this.name=void 0,this.clock=void 0}function CzmlDataSource(e){this._name=e,this._changed=new Event,this._error=new Event,this._isLoading=!1,this._loading=new Event,this._clock=void 0,this._documentPacket=new DocumentPacket,this._version=void 0,this._entityCollection=new EntityCollection(this),this._entityCluster=new EntityCluster,this._credit=void 0,this._resourceCredits=[]}function DataSourceCollection(){this._dataSources=[],this._dataSourceAdded=new Event,this._dataSourceRemoved=new Event,this._dataSourceMoved=new Event}function getIndex(e,t){return e.indexOf(t)}function swapDataSources(e,t,i){var r=e._dataSources,n=r.length-1;(t=CesiumMath.clamp(t,0,n))!==(i=CesiumMath.clamp(i,0,n))&&(n=r[t],r[t]=r[i],r[i]=n,e.dataSourceMoved.raiseEvent(n,i,t))}function PrimitiveCollection(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._primitives=[],this._guid=createGuid(),this._zIndex=void 0,this.show=defaultValue(e.show,!0),this.destroyPrimitives=defaultValue(e.destroyPrimitives,!0)}function getPrimitiveIndex(e,t){return e._primitives.indexOf(t)}function OrderedGroundPrimitiveCollection(){this._length=0,this._collections={},this._collectionsArray=[],this.show=!0}function DynamicGeometryBatch(e,t){this._primitives=e,this._orderedGroundPrimitives=t,this._dynamicUpdaters=new AssociativeArray}Object.defineProperties(PolygonHierarchyProperty.prototype,{isConstant:{get:function(){var e=this.polygon._positions,t=this.polygon._holes;return(!defined(e)||e.isConstant)&&(!defined(t)||t.isConstant)}},definitionChanged:{get:function(){return this._definitionChanged}}}),PolygonHierarchyProperty.prototype.getValue=function(e,t){var i,r;return defined(this.polygon._positions)&&(i=this.polygon._positions.getValue(e)),defined(this.polygon._holes)&&defined(r=this.polygon._holes.getValue(e))&&(r=r.map(function(e){return new PolygonHierarchy(e)})),defined(t)?(t.positions=i,t.holes=r,t):new PolygonHierarchy(i,r)},PolygonHierarchyProperty.prototype.equals=function(e){return this===e||e instanceof PolygonHierarchyProperty&&Property.equals(this.polygon._positions,e.polygon._positions)&&Property.equals(this.polygon._holes,e.polygon._holes)},CzmlDataSource.load=function(e,t){return(new CzmlDataSource).load(e,t)},Object.defineProperties(CzmlDataSource.prototype,{name:{get:function(){return this._name}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}}),CzmlDataSource.updaters=[processBillboard,processBox,processCorridor,processCylinder,processEllipse,processEllipsoid,processLabel,processModel,processName,processDescription,processPath,processPoint,processPolygon,processPolyline,processPolylineVolume,processProperties,processRectangle,processPosition,processTileset,processViewFrom,processWall,processOrientation,processAvailability],CzmlDataSource.prototype.process=function(e,t){return load(this,e,t,!1)},CzmlDataSource.prototype.load=function(e,t){return load(this,e,t,!0)},CzmlDataSource.prototype.update=function(e){return!0},CzmlDataSource.processPacketData=processPacketData,CzmlDataSource.processPositionPacketData=processPositionPacketData,CzmlDataSource.processMaterialPacketData=processMaterialPacketData,CzmlDataSource._processCzml=function(e,t,i,r,n){if(r=defaultValue(r,CzmlDataSource.updaters),Array.isArray(e))for(var a=0,o=e.length;a<o;++a)processCzmlPacket(e[a],t,r,i,n);else processCzmlPacket(e,t,r,i,n)},Object.defineProperties(DataSourceCollection.prototype,{length:{get:function(){return this._dataSources.length}},dataSourceAdded:{get:function(){return this._dataSourceAdded}},dataSourceRemoved:{get:function(){return this._dataSourceRemoved}},dataSourceMoved:{get:function(){return this._dataSourceMoved}}}),DataSourceCollection.prototype.add=function(e){var t=this,i=this._dataSources;return when(e,function(e){return i===t._dataSources&&(t._dataSources.push(e),t._dataSourceAdded.raiseEvent(t,e)),e})},DataSourceCollection.prototype.remove=function(e,t){t=defaultValue(t,!1);var i=this._dataSources.indexOf(e);return-1!==i&&(this._dataSources.splice(i,1),this._dataSourceRemoved.raiseEvent(this,e),t&&"function"==typeof e.destroy&&e.destroy(),!0)},DataSourceCollection.prototype.removeAll=function(e){e=defaultValue(e,!1);for(var t=this._dataSources,i=0,r=t.length;i<r;++i){var n=t[i];this._dataSourceRemoved.raiseEvent(this,n),e&&"function"==typeof n.destroy&&n.destroy()}this._dataSources=[]},DataSourceCollection.prototype.contains=function(e){return-1!==this.indexOf(e)},DataSourceCollection.prototype.indexOf=function(e){return this._dataSources.indexOf(e)},DataSourceCollection.prototype.get=function(e){return this._dataSources[e]},DataSourceCollection.prototype.getByName=function(t){return this._dataSources.filter(function(e){return e.name===t})},DataSourceCollection.prototype.raise=function(e){e=getIndex(this._dataSources,e);swapDataSources(this,e,e+1)},DataSourceCollection.prototype.lower=function(e){e=getIndex(this._dataSources,e);swapDataSources(this,e,e-1)},DataSourceCollection.prototype.raiseToTop=function(e){var t=getIndex(this._dataSources,e);t!==this._dataSources.length-1&&(this._dataSources.splice(t,1),this._dataSources.push(e),this.dataSourceMoved.raiseEvent(e,this._dataSources.length-1,t))},DataSourceCollection.prototype.lowerToBottom=function(e){var t=getIndex(this._dataSources,e);0!==t&&(this._dataSources.splice(t,1),this._dataSources.splice(0,0,e),this.dataSourceMoved.raiseEvent(e,0,t))},DataSourceCollection.prototype.isDestroyed=function(){return!1},DataSourceCollection.prototype.destroy=function(){return this.removeAll(!0),destroyObject(this)},Object.defineProperties(PrimitiveCollection.prototype,{length:{get:function(){return this._primitives.length}}}),PrimitiveCollection.prototype.add=function(e,t){var i=defined(t),r=e._external=e._external||{};return(r._composites=r._composites||{})[this._guid]={collection:this},i?this._primitives.splice(t,0,e):this._primitives.push(e),e},PrimitiveCollection.prototype.remove=function(e){if(this.contains(e)){var t=this._primitives.indexOf(e);if(-1!==t)return this._primitives.splice(t,1),delete e._external._composites[this._guid],this.destroyPrimitives&&e.destroy(),!0}return!1},PrimitiveCollection.prototype.removeAndDestroy=function(e){var t=this.remove(e);return t&&!this.destroyPrimitives&&e.destroy(),t},PrimitiveCollection.prototype.removeAll=function(){for(var e=this._primitives,t=e.length,i=0;i<t;++i)delete e[i]._external._composites[this._guid],this.destroyPrimitives&&e[i].destroy();this._primitives=[]},PrimitiveCollection.prototype.contains=function(e){return!!(defined(e)&&e._external&&e._external._composites&&e._external._composites[this._guid])},PrimitiveCollection.prototype.raise=function(e){var t,i;!defined(e)||(t=getPrimitiveIndex(this,e))!==(i=this._primitives).length-1&&(e=i[t],i[t]=i[t+1],i[t+1]=e)},PrimitiveCollection.prototype.raiseToTop=function(e){var t,i;!defined(e)||(t=getPrimitiveIndex(this,e))!==(i=this._primitives).length-1&&(i.splice(t,1),i.push(e))},PrimitiveCollection.prototype.lower=function(e){var t,i;defined(e)&&(t=getPrimitiveIndex(this,e),i=this._primitives,0!==t&&(e=i[t],i[t]=i[t-1],i[t-1]=e))},PrimitiveCollection.prototype.lowerToBottom=function(e){var t,i;defined(e)&&(t=getPrimitiveIndex(this,e),i=this._primitives,0!==t&&(i.splice(t,1),i.unshift(e)))},PrimitiveCollection.prototype.get=function(e){return this._primitives[e]},PrimitiveCollection.prototype.update=function(e){if(this.show)for(var t=this._primitives,i=0;i<t.length;++i)t[i].update(e)},PrimitiveCollection.prototype.prePassesUpdate=function(e){for(var t=this._primitives,i=0;i<t.length;++i){var r=t[i];defined(r.prePassesUpdate)&&r.prePassesUpdate(e)}},PrimitiveCollection.prototype.updateForPass=function(e,t){for(var i=this._primitives,r=0;r<i.length;++r){var n=i[r];defined(n.updateForPass)&&n.updateForPass(e,t)}},PrimitiveCollection.prototype.postPassesUpdate=function(e){for(var t=this._primitives,i=0;i<t.length;++i){var r=t[i];defined(r.postPassesUpdate)&&r.postPassesUpdate(e)}},PrimitiveCollection.prototype.isDestroyed=function(){return!1},PrimitiveCollection.prototype.destroy=function(){return this.removeAll(),destroyObject(this)},Object.defineProperties(OrderedGroundPrimitiveCollection.prototype,{length:{get:function(){return this._length}}}),OrderedGroundPrimitiveCollection.prototype.add=function(e,t){t=defaultValue(t,0);var i=this._collections[t];if(!defined(i)){(i=new PrimitiveCollection({destroyPrimitives:!1}))._zIndex=t,this._collections[t]=i;for(var r=this._collectionsArray,n=0;n<r.length&&r[n]._zIndex<t;)n++;r.splice(n,0,i)}return i.add(e),this._length++,e._zIndex=t,e},OrderedGroundPrimitiveCollection.prototype.set=function(e,t){return t===e._zIndex||(this.remove(e,!0),this.add(e,t)),e},OrderedGroundPrimitiveCollection.prototype.remove=function(e,t){if(this.contains(e)){var i=e._zIndex,r=this._collections[i],e=t?r.remove(e):r.removeAndDestroy(e);return e&&this._length--,0===r.length&&(this._collectionsArray.splice(this._collectionsArray.indexOf(r),1),this._collections[i]=void 0,r.destroy()),e}return!1},OrderedGroundPrimitiveCollection.prototype.removeAll=function(){for(var e=this._collectionsArray,t=0;t<e.length;t++){var i=e[t];i.destroyPrimitives=!0,i.destroy()}this._collections={},this._collectionsArray=[],this._length=0},OrderedGroundPrimitiveCollection.prototype.contains=function(e){if(!defined(e))return!1;var t=this._collections[e._zIndex];return defined(t)&&t.contains(e)},OrderedGroundPrimitiveCollection.prototype.update=function(e){if(this.show)for(var t=this._collectionsArray,i=0;i<t.length;i++)t[i].update(e)},OrderedGroundPrimitiveCollection.prototype.isDestroyed=function(){return!1},OrderedGroundPrimitiveCollection.prototype.destroy=function(){return this.removeAll(),destroyObject(this)},DynamicGeometryBatch.prototype.add=function(e,t){this._dynamicUpdaters.set(t.id,t.createDynamicUpdater(this._primitives,this._orderedGroundPrimitives))},DynamicGeometryBatch.prototype.remove=function(e){var t=e.id,e=this._dynamicUpdaters.get(t);defined(e)&&(this._dynamicUpdaters.remove(t),e.destroy())},DynamicGeometryBatch.prototype.update=function(e){for(var t=this._dynamicUpdaters.values,i=0,r=t.length;i<r;i++)t[i].update(e);return!0},DynamicGeometryBatch.prototype.removeAllPrimitives=function(){for(var e=this._dynamicUpdaters.values,t=0,i=e.length;t<i;t++)e[t].destroy();this._dynamicUpdaters.removeAll()},DynamicGeometryBatch.prototype.getBoundingSphere=function(e,t){return defined(e=this._dynamicUpdaters.get(e.id))&&defined(e.getBoundingSphere)?e.getBoundingSphere(t):BoundingSphereState$1.FAILED};var scratchColor$b=new Color,defaultOffset$4=Cartesian3.ZERO,offsetScratch$6=new Cartesian3,scratchRectangle$4=new Rectangle;function EllipseGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.center=void 0,this.semiMajorAxis=void 0,this.semiMinorAxis=void 0,this.rotation=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function EllipseGeometryUpdater(e,t){GroundGeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new EllipseGeometryOptions(e),geometryPropertyName:"ellipse",observedPropertyNames:["availability","position","ellipse"]}),this._onEntityPropertyChanged(e,"ellipse",e.ellipse,void 0)}function DynamicEllipseGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i)}defined(Object.create)&&(EllipseGeometryUpdater.prototype=Object.create(GroundGeometryUpdater.prototype),EllipseGeometryUpdater.prototype.constructor=EllipseGeometryUpdater),EllipseGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t,i=this._entity,r=i.isAvailable(e),n={show:new ShowGeometryInstanceAttribute(r&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};return this._materialProperty instanceof ColorMaterialProperty&&(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||r)&&(t=this._materialProperty.color.getValue(e,scratchColor$b)),defined(t)||(t=Color.WHITE),n.color=ColorGeometryInstanceAttribute.fromColor(t)),defined(this._options.offsetAttribute)&&(n.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$4,offsetScratch$6))),new GeometryInstance({id:i,geometry:new EllipseGeometry(this._options),attributes:n})},EllipseGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor$b),n=this._distanceDisplayConditionProperty.getValue(e),n={show:new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(r),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(n),offset:void 0};return defined(this._options.offsetAttribute)&&(n.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$4,offsetScratch$6))),new GeometryInstance({id:t,geometry:new EllipseOutlineGeometry(this._options),attributes:n})},EllipseGeometryUpdater.prototype._computeCenter=function(e,t){return Property.getValueOrUndefined(this._entity.position,e,t)},EllipseGeometryUpdater.prototype._isHidden=function(e,t){return!defined(e.position)||!defined(t.semiMajorAxis)||!defined(t.semiMinorAxis)||GeometryUpdater.prototype._isHidden.call(this,e,t)},EllipseGeometryUpdater.prototype._isDynamic=function(e,t){return!e.position.isConstant||!t.semiMajorAxis.isConstant||!t.semiMinorAxis.isConstant||!Property.isConstant(t.rotation)||!Property.isConstant(t.height)||!Property.isConstant(t.extrudedHeight)||!Property.isConstant(t.granularity)||!Property.isConstant(t.stRotation)||!Property.isConstant(t.outlineWidth)||!Property.isConstant(t.numberOfVerticalLines)||!Property.isConstant(t.zIndex)||this._onTerrain&&!Property.isConstant(this._materialProperty)&&!(this._materialProperty instanceof ColorMaterialProperty)},EllipseGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=Property.getValueOrUndefined(t.height,Iso8601.MINIMUM_VALUE),r=Property.getValueOrDefault(t.heightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE),n=Property.getValueOrUndefined(t.extrudedHeight,Iso8601.MINIMUM_VALUE),a=Property.getValueOrDefault(t.extrudedHeightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE);defined(n)&&!defined(i)&&(i=0);var o=this._options;o.vertexFormat=this._materialProperty instanceof ColorMaterialProperty?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,o.center=e.position.getValue(Iso8601.MINIMUM_VALUE,o.center),o.semiMajorAxis=t.semiMajorAxis.getValue(Iso8601.MINIMUM_VALUE,o.semiMajorAxis),o.semiMinorAxis=t.semiMinorAxis.getValue(Iso8601.MINIMUM_VALUE,o.semiMinorAxis),o.rotation=Property.getValueOrUndefined(t.rotation,Iso8601.MINIMUM_VALUE),o.granularity=Property.getValueOrUndefined(t.granularity,Iso8601.MINIMUM_VALUE),o.stRotation=Property.getValueOrUndefined(t.stRotation,Iso8601.MINIMUM_VALUE),o.numberOfVerticalLines=Property.getValueOrUndefined(t.numberOfVerticalLines,Iso8601.MINIMUM_VALUE),o.offsetAttribute=GroundGeometryUpdater.computeGeometryOffsetAttribute(i,r,n,a),o.height=GroundGeometryUpdater.getGeometryHeight(i,r),(n=GroundGeometryUpdater.getGeometryExtrudedHeight(n,a))===GroundGeometryUpdater.CLAMP_TO_GROUND&&(n=ApproximateTerrainHeights.getMinimumMaximumHeights(EllipseGeometry.computeRectangle(o,scratchRectangle$4)).minimumTerrainHeight),o.extrudedHeight=n},EllipseGeometryUpdater.DynamicGeometryUpdater=DynamicEllipseGeometryUpdater,defined(Object.create)&&(DynamicEllipseGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DynamicEllipseGeometryUpdater.prototype.constructor=DynamicEllipseGeometryUpdater),DynamicEllipseGeometryUpdater.prototype._isHidden=function(e,t,i){var r=this._options;return!defined(r.center)||!defined(r.semiMajorAxis)||!defined(r.semiMinorAxis)||DynamicGeometryUpdater.prototype._isHidden.call(this,e,t,i)},DynamicEllipseGeometryUpdater.prototype._setOptions=function(e,t,i){var r=this._options,n=Property.getValueOrUndefined(t.height,i),a=Property.getValueOrDefault(t.heightReference,i,HeightReference$1.NONE),o=Property.getValueOrUndefined(t.extrudedHeight,i),s=Property.getValueOrDefault(t.extrudedHeightReference,i,HeightReference$1.NONE);defined(o)&&!defined(n)&&(n=0),r.center=Property.getValueOrUndefined(e.position,i,r.center),r.semiMajorAxis=Property.getValueOrUndefined(t.semiMajorAxis,i),r.semiMinorAxis=Property.getValueOrUndefined(t.semiMinorAxis,i),r.rotation=Property.getValueOrUndefined(t.rotation,i),r.granularity=Property.getValueOrUndefined(t.granularity,i),r.stRotation=Property.getValueOrUndefined(t.stRotation,i),r.numberOfVerticalLines=Property.getValueOrUndefined(t.numberOfVerticalLines,i),r.offsetAttribute=GroundGeometryUpdater.computeGeometryOffsetAttribute(n,a,o,s),r.height=GroundGeometryUpdater.getGeometryHeight(n,a),(o=GroundGeometryUpdater.getGeometryExtrudedHeight(o,s))===GroundGeometryUpdater.CLAMP_TO_GROUND&&(o=ApproximateTerrainHeights.getMinimumMaximumHeights(EllipseGeometry.computeRectangle(r,scratchRectangle$4)).minimumTerrainHeight),r.extrudedHeight=o};var defaultMaterial$1=new ColorMaterialProperty(Color.WHITE),defaultOffset$5=Cartesian3.ZERO,offsetScratch$7=new Cartesian3,radiiScratch=new Cartesian3,innerRadiiScratch=new Cartesian3,scratchColor$c=new Color,unitSphere=new Cartesian3(1,1,1);function EllipsoidGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.radii=void 0,this.innerRadii=void 0,this.minimumClock=void 0,this.maximumClock=void 0,this.minimumCone=void 0,this.maximumCone=void 0,this.stackPartitions=void 0,this.slicePartitions=void 0,this.subdivisions=void 0,this.offsetAttribute=void 0}function EllipsoidGeometryUpdater(e,t){GeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new EllipsoidGeometryOptions(e),geometryPropertyName:"ellipsoid",observedPropertyNames:["availability","position","orientation","ellipsoid"]}),this._onEntityPropertyChanged(e,"ellipsoid",e.ellipsoid,void 0)}function DynamicEllipsoidGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i),this._scene=e._scene,this._modelMatrix=new Matrix4,this._attributes=void 0,this._outlineAttributes=void 0,this._lastSceneMode=void 0,this._lastShow=void 0,this._lastOutlineShow=void 0,this._lastOutlineWidth=void 0,this._lastOutlineColor=void 0,this._lastOffset=new Cartesian3,this._material={}}defined(Object.create)&&(EllipsoidGeometryUpdater.prototype=Object.create(GeometryUpdater.prototype),EllipsoidGeometryUpdater.prototype.constructor=EllipsoidGeometryUpdater),Object.defineProperties(EllipsoidGeometryUpdater.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}}),EllipsoidGeometryUpdater.prototype.createFillGeometryInstance=function(e,t,i){var r,n=this._entity,a=n.isAvailable(e),o=new ShowGeometryInstanceAttribute(a&&n.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),s={show:o,distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(s),color:void 0,offset:void 0};return this._materialProperty instanceof ColorMaterialProperty&&(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||a)&&(r=this._materialProperty.color.getValue(e,scratchColor$c)),defined(r)||(r=Color.WHITE),r=ColorGeometryInstanceAttribute.fromColor(r),s.color=r),defined(this._options.offsetAttribute)&&(s.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$5,offsetScratch$7))),new GeometryInstance({id:n,geometry:new EllipsoidGeometry(this._options),modelMatrix:t?void 0:n.computeModelMatrixForHeightReference(e,n.ellipsoid.heightReference,.5*this._options.radii.z,this._scene.mapProjection.ellipsoid,i),attributes:s})},EllipsoidGeometryUpdater.prototype.createOutlineGeometryInstance=function(e,t,i){var r=this._entity,n=r.isAvailable(e),a=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor$c),o=this._distanceDisplayConditionProperty.getValue(e),o={show:new ShowGeometryInstanceAttribute(n&&r.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(a),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(o),offset:void 0};return defined(this._options.offsetAttribute)&&(o.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$5,offsetScratch$7))),new GeometryInstance({id:r,geometry:new EllipsoidOutlineGeometry(this._options),modelMatrix:t?void 0:r.computeModelMatrixForHeightReference(e,r.ellipsoid.heightReference,.5*this._options.radii.z,this._scene.mapProjection.ellipsoid,i),attributes:o})},EllipsoidGeometryUpdater.prototype._computeCenter=function(e,t){return Property.getValueOrUndefined(this._entity.position,e,t)},EllipsoidGeometryUpdater.prototype._isHidden=function(e,t){return!defined(e.position)||!defined(t.radii)||GeometryUpdater.prototype._isHidden.call(this,e,t)},EllipsoidGeometryUpdater.prototype._isDynamic=function(e,t){return!(e.position.isConstant&&Property.isConstant(e.orientation)&&t.radii.isConstant&&Property.isConstant(t.innerRadii)&&Property.isConstant(t.stackPartitions)&&Property.isConstant(t.slicePartitions)&&Property.isConstant(t.outlineWidth)&&Property.isConstant(t.minimumClock)&&Property.isConstant(t.maximumClock)&&Property.isConstant(t.minimumCone)&&Property.isConstant(t.maximumCone)&&Property.isConstant(t.subdivisions))},EllipsoidGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=Property.getValueOrDefault(t.heightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE),r=this._options;r.vertexFormat=this._materialProperty instanceof ColorMaterialProperty?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,r.radii=t.radii.getValue(Iso8601.MINIMUM_VALUE,r.radii),r.innerRadii=Property.getValueOrUndefined(t.innerRadii,r.radii),r.minimumClock=Property.getValueOrUndefined(t.minimumClock,Iso8601.MINIMUM_VALUE),r.maximumClock=Property.getValueOrUndefined(t.maximumClock,Iso8601.MINIMUM_VALUE),r.minimumCone=Property.getValueOrUndefined(t.minimumCone,Iso8601.MINIMUM_VALUE),r.maximumCone=Property.getValueOrUndefined(t.maximumCone,Iso8601.MINIMUM_VALUE),r.stackPartitions=Property.getValueOrUndefined(t.stackPartitions,Iso8601.MINIMUM_VALUE),r.slicePartitions=Property.getValueOrUndefined(t.slicePartitions,Iso8601.MINIMUM_VALUE),r.subdivisions=Property.getValueOrUndefined(t.subdivisions,Iso8601.MINIMUM_VALUE),r.offsetAttribute=i!==HeightReference$1.NONE?GeometryOffsetAttribute$1.ALL:void 0},EllipsoidGeometryUpdater.prototype._onEntityPropertyChanged=heightReferenceOnEntityPropertyChanged,EllipsoidGeometryUpdater.DynamicGeometryUpdater=DynamicEllipsoidGeometryUpdater,defined(Object.create)&&(DynamicEllipsoidGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DynamicEllipsoidGeometryUpdater.prototype.constructor=DynamicEllipsoidGeometryUpdater),DynamicEllipsoidGeometryUpdater.prototype.update=function(e){var t=this._entity,i=t.ellipsoid;if(!t.isShowing||!t.isAvailable(e)||!Property.getValueOrDefault(i.show,e,!0))return defined(this._primitive)&&(this._primitive.show=!1),void(defined(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1));var r=Property.getValueOrUndefined(i.radii,e,radiiScratch),n=defined(r)?t.computeModelMatrixForHeightReference(e,i.heightReference,.5*r.z,this._scene.mapProjection.ellipsoid,this._modelMatrix):void 0;if(!defined(n)||!defined(r))return defined(this._primitive)&&(this._primitive.show=!1),void(defined(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1));var a=Property.getValueOrDefault(i.fill,e,!0),o=Property.getValueOrDefault(i.outline,e,!1),s=Property.getValueOrClonedDefault(i.outlineColor,e,Color.BLACK,scratchColor$c),l=MaterialProperty.getValue(e,defaultValue(i.material,defaultMaterial$1),this._material),c=Property.getValueOrUndefined(i.innerRadii,e,innerRadiiScratch),u=Property.getValueOrUndefined(i.minimumClock,e),d=Property.getValueOrUndefined(i.maximumClock,e),h=Property.getValueOrUndefined(i.minimumCone,e),p=Property.getValueOrUndefined(i.maximumCone,e),m=Property.getValueOrUndefined(i.stackPartitions,e),f=Property.getValueOrUndefined(i.slicePartitions,e),g=Property.getValueOrUndefined(i.subdivisions,e),_=Property.getValueOrDefault(i.outlineWidth,e,1),y=Property.getValueOrDefault(i.heightReference,e,HeightReference$1.NONE),C=y!==HeightReference$1.NONE?GeometryOffsetAttribute$1.ALL:void 0,v=this._scene.mode,S=v===SceneMode$1.SCENE3D&&y===HeightReference$1.NONE,T=this._options,b=this._geometryUpdater.shadowsProperty.getValue(e),x=this._geometryUpdater.distanceDisplayConditionProperty.getValue(e),i=Property.getValueOrDefault(this._geometryUpdater.terrainOffsetProperty,e,defaultOffset$5,offsetScratch$7);!S||this._lastSceneMode!==v||!defined(this._primitive)||T.stackPartitions!==m||T.slicePartitions!==f||defined(c)&&!Cartesian3.equals(T.innerRadii!==c)||T.minimumClock!==u||T.maximumClock!==d||T.minimumCone!==h||T.maximumCone!==p||T.subdivisions!==g||this._lastOutlineWidth!==_||T.offsetAttribute!==C?((y=this._primitives).removeAndDestroy(this._primitive),y.removeAndDestroy(this._outlinePrimitive),this._primitive=void 0,this._outlinePrimitive=void 0,this._lastSceneMode=v,this._lastOutlineWidth=_,T.stackPartitions=m,T.slicePartitions=f,T.subdivisions=g,T.offsetAttribute=C,T.radii=Cartesian3.clone(S?unitSphere:r,T.radii),defined(c)?S?(C=Cartesian3.magnitude(r),T.innerRadii=Cartesian3.fromElements(c.x/C,c.y/C,c.z/C,T.innerRadii)):T.innerRadii=Cartesian3.clone(c,T.innerRadii):T.innerRadii=void 0,T.minimumClock=u,T.maximumClock=d,T.minimumCone=h,T.maximumCone=p,p=new MaterialAppearance({material:l,translucent:l.isTranslucent(),closed:!0}),T.vertexFormat=p.vertexFormat,T=this._geometryUpdater.createFillGeometryInstance(e,S,this._modelMatrix),this._primitive=y.add(new Primitive({geometryInstances:T,appearance:p,asynchronous:!1,shadows:b})),e=this._geometryUpdater.createOutlineGeometryInstance(e,S,this._modelMatrix),this._outlinePrimitive=y.add(new Primitive({geometryInstances:e,appearance:new PerInstanceColorAppearance({flat:!0,translucent:255!==e.attributes.color.value[3],renderState:{lineWidth:this._geometryUpdater._scene.clampLineWidth(_)}}),asynchronous:!1,shadows:b})),this._lastShow=a,this._lastOutlineShow=o,this._lastOutlineColor=Color.clone(s,this._lastOutlineColor),this._lastDistanceDisplayCondition=x,this._lastOffset=Cartesian3.clone(i,this._lastOffset)):this._primitive.ready&&(_=this._primitive,b=this._outlinePrimitive,_.show=!0,b.show=!0,_.appearance.material=l,defined(l=this._attributes)||(l=_.getGeometryInstanceAttributes(t),this._attributes=l),a!==this._lastShow&&(l.show=ShowGeometryInstanceAttribute.toValue(a,l.show),this._lastShow=a),defined(a=this._outlineAttributes)||(a=b.getGeometryInstanceAttributes(t),this._outlineAttributes=a),o!==this._lastOutlineShow&&(a.show=ShowGeometryInstanceAttribute.toValue(o,a.show),this._lastOutlineShow=o),Color.equals(s,this._lastOutlineColor)||(a.color=ColorGeometryInstanceAttribute.toValue(s,a.color),Color.clone(s,this._lastOutlineColor)),DistanceDisplayCondition.equals(x,this._lastDistanceDisplayCondition)||(l.distanceDisplayCondition=DistanceDisplayConditionGeometryInstanceAttribute.toValue(x,l.distanceDisplayCondition),a.distanceDisplayCondition=DistanceDisplayConditionGeometryInstanceAttribute.toValue(x,a.distanceDisplayCondition),DistanceDisplayCondition.clone(x,this._lastDistanceDisplayCondition)),Cartesian3.equals(i,this._lastOffset)||(l.offset=OffsetGeometryInstanceAttribute.toValue(i,l.offset),a.offset=OffsetGeometryInstanceAttribute.toValue(i,l.offset),Cartesian3.clone(i,this._lastOffset))),S&&(r.x=Math.max(r.x,.001),r.y=Math.max(r.y,.001),r.z=Math.max(r.z,.001),n=Matrix4.multiplyByScale(n,r,n),this._primitive.modelMatrix=n,this._outlinePrimitive.modelMatrix=n)};var positionScratch$9=new Cartesian3,scratchColor$d=new Color;function PlaneGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.plane=void 0,this.dimensions=void 0}function PlaneGeometryUpdater(e,t){GeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new PlaneGeometryOptions(e),geometryPropertyName:"plane",observedPropertyNames:["availability","position","orientation","plane"]}),this._onEntityPropertyChanged(e,"plane",e.plane,void 0)}function DynamicPlaneGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i)}defined(Object.create)&&(PlaneGeometryUpdater.prototype=Object.create(GeometryUpdater.prototype),PlaneGeometryUpdater.prototype.constructor=PlaneGeometryUpdater),PlaneGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),n=this._distanceDisplayConditionProperty.getValue(e),a=DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(n),n=this._materialProperty instanceof ColorMaterialProperty?(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||i)&&(o=this._materialProperty.color.getValue(e,scratchColor$d)),defined(o)||(o=Color.WHITE),{show:r,distanceDisplayCondition:a,color:ColorGeometryInstanceAttribute.fromColor(o)}):{show:r,distanceDisplayCondition:a},i=t.plane,o=this._options,r=t.computeModelMatrix(e),a=Property.getValueOrDefault(i.plane,e,o.plane),e=Property.getValueOrUndefined(i.dimensions,e,o.dimensions),r=createPrimitiveMatrix(o.plane=a,o.dimensions=e,r,r);return new GeometryInstance({id:t,geometry:new PlaneGeometry(this._options),modelMatrix:r,attributes:n})},PlaneGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor$d),n=this._distanceDisplayConditionProperty.getValue(e),a=t.plane,o=this._options,s=t.computeModelMatrix(e),l=Property.getValueOrDefault(a.plane,e,o.plane),a=Property.getValueOrUndefined(a.dimensions,e,o.dimensions),s=createPrimitiveMatrix(o.plane=l,o.dimensions=a,s,s);return new GeometryInstance({id:t,geometry:new PlaneOutlineGeometry,modelMatrix:s,attributes:{show:new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(r),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(n)}})},PlaneGeometryUpdater.prototype._isHidden=function(e,t){return!defined(t.plane)||!defined(t.dimensions)||!defined(e.position)||GeometryUpdater.prototype._isHidden.call(this,e,t)},PlaneGeometryUpdater.prototype._getIsClosed=function(e){return!1},PlaneGeometryUpdater.prototype._isDynamic=function(e,t){return!(e.position.isConstant&&Property.isConstant(e.orientation)&&t.plane.isConstant&&t.dimensions.isConstant&&Property.isConstant(t.outlineWidth))},PlaneGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=this._materialProperty instanceof ColorMaterialProperty,r=this._options;r.vertexFormat=i?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,r.plane=t.plane.getValue(Iso8601.MINIMUM_VALUE,r.plane),r.dimensions=t.dimensions.getValue(Iso8601.MINIMUM_VALUE,r.dimensions)},PlaneGeometryUpdater.DynamicGeometryUpdater=DynamicPlaneGeometryUpdater,defined(Object.create)&&(DynamicPlaneGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DynamicPlaneGeometryUpdater.prototype.constructor=DynamicPlaneGeometryUpdater),DynamicPlaneGeometryUpdater.prototype._isHidden=function(e,t,i){var r=this._options;return!defined(Property.getValueOrUndefined(e.position,i,positionScratch$9))||!defined(r.plane)||!defined(r.dimensions)||DynamicGeometryUpdater.prototype._isHidden.call(this,e,t,i)},DynamicPlaneGeometryUpdater.prototype._setOptions=function(e,t,i){var r=this._options;r.plane=Property.getValueOrDefault(t.plane,i,r.plane),r.dimensions=Property.getValueOrUndefined(t.dimensions,i,r.dimensions)};var scratchAxis$1=new Cartesian3,scratchUp=new Cartesian3,scratchTranslation=new Cartesian3,scratchScale$7=new Cartesian3,scratchRotation$1=new Matrix3,scratchRotationScale=new Matrix3,scratchLocalTransform=new Matrix4;function createPrimitiveMatrix(e,t,i,r){var n=e.normal,a=e.distance,o=Cartesian3.multiplyByScalar(n,-a,scratchTranslation),s=Cartesian3.clone(Cartesian3.UNIT_Z,scratchUp);CesiumMath.equalsEpsilon(Math.abs(Cartesian3.dot(s,n)),1,CesiumMath.EPSILON8)&&(s=Cartesian3.clone(Cartesian3.UNIT_Y,s));e=Cartesian3.cross(s,n,scratchAxis$1),s=Cartesian3.cross(n,e,s);Cartesian3.normalize(e,e),Cartesian3.normalize(s,s);a=scratchRotation$1;Matrix3.setColumn(a,0,e,a),Matrix3.setColumn(a,1,s,a),Matrix3.setColumn(a,2,n,a);t=Cartesian3.fromElements(t.x,t.y,1,scratchScale$7),t=Matrix3.multiplyByScale(a,t,scratchRotationScale),o=Matrix4.fromRotationTranslation(t,o,scratchLocalTransform);return Matrix4.multiplyTransformation(i,o,r)}PlaneGeometryUpdater.createPrimitiveMatrix=createPrimitiveMatrix;var heightAndPerPositionHeightWarning="Entity polygons cannot have both height and perPositionHeight. height will be ignored",heightReferenceAndPerPositionHeightWarning="heightReference is not supported for entity polygons with perPositionHeight. heightReference will be ignored",scratchColor$e=new Color,defaultOffset$6=Cartesian3.ZERO,offsetScratch$8=new Cartesian3,scratchRectangle$5=new Rectangle,scratch2DPositions=[],cart2Scratch=new Cartesian2;function PolygonGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.polygonHierarchy=void 0,this.perPositionHeight=void 0,this.closeTop=void 0,this.closeBottom=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.offsetAttribute=void 0,this.arcType=void 0}function PolygonGeometryUpdater(e,t){GroundGeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new PolygonGeometryOptions(e),geometryPropertyName:"polygon",observedPropertyNames:["availability","polygon"]}),this._onEntityPropertyChanged(e,"polygon",e.polygon,void 0)}function DyanmicPolygonGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i)}defined(Object.create)&&(PolygonGeometryUpdater.prototype=Object.create(GroundGeometryUpdater.prototype),PolygonGeometryUpdater.prototype.constructor=PolygonGeometryUpdater),PolygonGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t,i=this._entity,r=i.isAvailable(e),n=this._options,a={show:new ShowGeometryInstanceAttribute(r&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};return this._materialProperty instanceof ColorMaterialProperty&&(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||r)&&(t=this._materialProperty.color.getValue(e,scratchColor$e)),defined(t)||(t=Color.WHITE),a.color=ColorGeometryInstanceAttribute.fromColor(t)),defined(n.offsetAttribute)&&(a.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$6,offsetScratch$8))),new GeometryInstance({id:i,geometry:new(n.perPositionHeight&&!defined(n.extrudedHeight)?CoplanarPolygonGeometry:PolygonGeometry)(n),attributes:a})},PolygonGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=this._options,n=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor$e),a=this._distanceDisplayConditionProperty.getValue(e),a={show:new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(n),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(a),offset:void 0};return defined(r.offsetAttribute)&&(a.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$6,offsetScratch$8))),new GeometryInstance({id:t,geometry:new(r.perPositionHeight&&!defined(r.extrudedHeight)?CoplanarPolygonOutlineGeometry:PolygonOutlineGeometry)(r),attributes:a})},PolygonGeometryUpdater.prototype._computeCenter=function(e,t){var i=Property.getValueOrUndefined(this._entity.polygon.hierarchy,e);if(defined(i)){e=i.positions;if(0!==e.length){for(var i=this._scene.mapProjection.ellipsoid,i=EllipsoidTangentPlane.fromPoints(e,i),r=i.projectPointsOntoPlane(e,scratch2DPositions),n=r.length,a=0,o=n-1,s=new Cartesian2,l=0;l<n;o=l++){var c=r[l],u=r[o],d=c.x*u.y-u.x*c.y,u=Cartesian2.add(c,u,cart2Scratch),u=Cartesian2.multiplyByScalar(u,d,u),s=Cartesian2.add(s,u,s);a+=d}e=1/(3*a);return s=Cartesian2.multiplyByScalar(s,e,s),i.projectPointOntoEllipsoid(s,t)}}},PolygonGeometryUpdater.prototype._isHidden=function(e,t){return!defined(t.hierarchy)||GeometryUpdater.prototype._isHidden.call(this,e,t)},PolygonGeometryUpdater.prototype._isOnTerrain=function(e,t){e=GroundGeometryUpdater.prototype._isOnTerrain.call(this,e,t),t=t.perPositionHeight,t=defined(t)&&(!t.isConstant||t.getValue(Iso8601.MINIMUM_VALUE));return e&&!t},PolygonGeometryUpdater.prototype._isDynamic=function(e,t){return!t.hierarchy.isConstant||!Property.isConstant(t.height)||!Property.isConstant(t.extrudedHeight)||!Property.isConstant(t.granularity)||!Property.isConstant(t.stRotation)||!Property.isConstant(t.outlineWidth)||!Property.isConstant(t.perPositionHeight)||!Property.isConstant(t.closeTop)||!Property.isConstant(t.closeBottom)||!Property.isConstant(t.zIndex)||!Property.isConstant(t.arcType)||this._onTerrain&&!Property.isConstant(this._materialProperty)&&!(this._materialProperty instanceof ColorMaterialProperty)},PolygonGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=this._materialProperty instanceof ColorMaterialProperty,r=this._options;r.vertexFormat=i?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat;var n,a=t.hierarchy.getValue(Iso8601.MINIMUM_VALUE),o=Property.getValueOrUndefined(t.height,Iso8601.MINIMUM_VALUE),s=Property.getValueOrDefault(t.heightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE),l=Property.getValueOrUndefined(t.extrudedHeight,Iso8601.MINIMUM_VALUE),c=Property.getValueOrDefault(t.extrudedHeightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE),i=Property.getValueOrDefault(t.perPositionHeight,Iso8601.MINIMUM_VALUE,!1),o=GroundGeometryUpdater.getGeometryHeight(o,s);i?(defined(o)&&(o=void 0,oneTimeWarning(heightAndPerPositionHeightWarning)),s!==HeightReference$1.NONE&&i&&(o=void 0,oneTimeWarning(heightReferenceAndPerPositionHeightWarning))):(defined(l)&&!defined(o)&&(o=0),n=GroundGeometryUpdater.computeGeometryOffsetAttribute(o,s,l,c)),r.polygonHierarchy=a,r.granularity=Property.getValueOrUndefined(t.granularity,Iso8601.MINIMUM_VALUE),r.stRotation=Property.getValueOrUndefined(t.stRotation,Iso8601.MINIMUM_VALUE),r.perPositionHeight=i,r.closeTop=Property.getValueOrDefault(t.closeTop,Iso8601.MINIMUM_VALUE,!0),r.closeBottom=Property.getValueOrDefault(t.closeBottom,Iso8601.MINIMUM_VALUE,!0),r.offsetAttribute=n,r.height=o,r.arcType=Property.getValueOrDefault(t.arcType,Iso8601.MINIMUM_VALUE,ArcType$1.GEODESIC),(l=GroundGeometryUpdater.getGeometryExtrudedHeight(l,c))===GroundGeometryUpdater.CLAMP_TO_GROUND&&(l=ApproximateTerrainHeights.getMinimumMaximumHeights(PolygonGeometry.computeRectangle(r,scratchRectangle$5)).minimumTerrainHeight),r.extrudedHeight=l},PolygonGeometryUpdater.prototype._getIsClosed=function(e){var t=e.height,i=e.extrudedHeight,i=defined(i)&&i!==t;return!e.perPositionHeight&&(!i&&0===t||i&&e.closeTop&&e.closeBottom)},PolygonGeometryUpdater.DynamicGeometryUpdater=DyanmicPolygonGeometryUpdater,defined(Object.create)&&(DyanmicPolygonGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DyanmicPolygonGeometryUpdater.prototype.constructor=DyanmicPolygonGeometryUpdater),DyanmicPolygonGeometryUpdater.prototype._isHidden=function(e,t,i){return!defined(this._options.polygonHierarchy)||DynamicGeometryUpdater.prototype._isHidden.call(this,e,t,i)},DyanmicPolygonGeometryUpdater.prototype._setOptions=function(e,t,i){var r=this._options;r.polygonHierarchy=Property.getValueOrUndefined(t.hierarchy,i);var n,a=Property.getValueOrUndefined(t.height,i),o=Property.getValueOrDefault(t.heightReference,i,HeightReference$1.NONE),s=Property.getValueOrDefault(t.extrudedHeightReference,i,HeightReference$1.NONE),l=Property.getValueOrUndefined(t.extrudedHeight,i),c=Property.getValueOrUndefined(t.perPositionHeight,i),a=GroundGeometryUpdater.getGeometryHeight(a,s);c?(defined(a)&&(a=void 0,oneTimeWarning(heightAndPerPositionHeightWarning)),o!==HeightReference$1.NONE&&c&&(a=void 0,oneTimeWarning(heightReferenceAndPerPositionHeightWarning))):(defined(l)&&!defined(a)&&(a=0),n=GroundGeometryUpdater.computeGeometryOffsetAttribute(a,o,l,s)),r.granularity=Property.getValueOrUndefined(t.granularity,i),r.stRotation=Property.getValueOrUndefined(t.stRotation,i),r.perPositionHeight=Property.getValueOrUndefined(t.perPositionHeight,i),r.closeTop=Property.getValueOrDefault(t.closeTop,i,!0),r.closeBottom=Property.getValueOrDefault(t.closeBottom,i,!0),r.offsetAttribute=n,r.height=a,r.arcType=Property.getValueOrDefault(t.arcType,i,ArcType$1.GEODESIC),(l=GroundGeometryUpdater.getGeometryExtrudedHeight(l,s))===GroundGeometryUpdater.CLAMP_TO_GROUND&&(l=ApproximateTerrainHeights.getMinimumMaximumHeights(PolygonGeometry.computeRectangle(r,scratchRectangle$5)).minimumTerrainHeight),r.extrudedHeight=l};var scratchColor$f=new Color;function PolylineVolumeGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.polylinePositions=void 0,this.shapePositions=void 0,this.cornerType=void 0,this.granularity=void 0}function PolylineVolumeGeometryUpdater(e,t){GeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new PolylineVolumeGeometryOptions(e),geometryPropertyName:"polylineVolume",observedPropertyNames:["availability","polylineVolume"]}),this._onEntityPropertyChanged(e,"polylineVolume",e.polylineVolume,void 0)}function DynamicPolylineVolumeGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i)}defined(Object.create)&&(PolylineVolumeGeometryUpdater.prototype=Object.create(GeometryUpdater.prototype),PolylineVolumeGeometryUpdater.prototype.constructor=PolylineVolumeGeometryUpdater),PolylineVolumeGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t,i=this._entity,r=i.isAvailable(e),n=new ShowGeometryInstanceAttribute(r&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),a=DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(a),a=this._materialProperty instanceof ColorMaterialProperty?(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||r)&&(t=this._materialProperty.color.getValue(e,scratchColor$f)),defined(t)||(t=Color.WHITE),{show:n,distanceDisplayCondition:a,color:ColorGeometryInstanceAttribute.fromColor(t)}):{show:n,distanceDisplayCondition:a};return new GeometryInstance({id:i,geometry:new PolylineVolumeGeometry(this._options),attributes:a})},PolylineVolumeGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor$f),n=this._distanceDisplayConditionProperty.getValue(e);return new GeometryInstance({id:t,geometry:new PolylineVolumeOutlineGeometry(this._options),attributes:{show:new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(r),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(n)}})},PolylineVolumeGeometryUpdater.prototype._isHidden=function(e,t){return!defined(t.positions)||!defined(t.shape)||GeometryUpdater.prototype._isHidden.call(this,e,t)},PolylineVolumeGeometryUpdater.prototype._isDynamic=function(e,t){return!(t.positions.isConstant&&t.shape.isConstant&&Property.isConstant(t.granularity)&&Property.isConstant(t.outlineWidth)&&Property.isConstant(t.cornerType))},PolylineVolumeGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=t.granularity,r=t.cornerType,n=this._options,a=this._materialProperty instanceof ColorMaterialProperty;n.vertexFormat=a?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,n.polylinePositions=t.positions.getValue(Iso8601.MINIMUM_VALUE,n.polylinePositions),n.shapePositions=t.shape.getValue(Iso8601.MINIMUM_VALUE,n.shape),n.granularity=defined(i)?i.getValue(Iso8601.MINIMUM_VALUE):void 0,n.cornerType=defined(r)?r.getValue(Iso8601.MINIMUM_VALUE):void 0},PolylineVolumeGeometryUpdater.DynamicGeometryUpdater=DynamicPolylineVolumeGeometryUpdater,defined(Object.create)&&(DynamicPolylineVolumeGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DynamicPolylineVolumeGeometryUpdater.prototype.constructor=DynamicPolylineVolumeGeometryUpdater),DynamicPolylineVolumeGeometryUpdater.prototype._isHidden=function(e,t,i){var r=this._options;return!defined(r.polylinePositions)||!defined(r.shapePositions)||DynamicGeometryUpdater.prototype._isHidden.call(this,e,t,i)},DynamicPolylineVolumeGeometryUpdater.prototype._setOptions=function(e,t,i){var r=this._options;r.polylinePositions=Property.getValueOrUndefined(t.positions,i,r.polylinePositions),r.shapePositions=Property.getValueOrUndefined(t.shape,i),r.granularity=Property.getValueOrUndefined(t.granularity,i),r.cornerType=Property.getValueOrUndefined(t.cornerType,i)};var scratchColor$g=new Color,defaultOffset$7=Cartesian3.ZERO,offsetScratch$9=new Cartesian3,scratchRectangle$6=new Rectangle,scratchCenterRect=new Rectangle,scratchCarto$1=new Cartographic;function RectangleGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.rectangle=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.rotation=void 0,this.offsetAttribute=void 0}function RectangleGeometryUpdater(e,t){GroundGeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new RectangleGeometryOptions(e),geometryPropertyName:"rectangle",observedPropertyNames:["availability","rectangle"]}),this._onEntityPropertyChanged(e,"rectangle",e.rectangle,void 0)}function DynamicRectangleGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i)}defined(Object.create)&&(RectangleGeometryUpdater.prototype=Object.create(GroundGeometryUpdater.prototype),RectangleGeometryUpdater.prototype.constructor=RectangleGeometryUpdater),RectangleGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t,i=this._entity,r=i.isAvailable(e),n={show:new ShowGeometryInstanceAttribute(r&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};return this._materialProperty instanceof ColorMaterialProperty&&(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||r)&&(t=this._materialProperty.color.getValue(e,scratchColor$g)),defined(t)||(t=Color.WHITE),n.color=ColorGeometryInstanceAttribute.fromColor(t)),defined(this._options.offsetAttribute)&&(n.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$7,offsetScratch$9))),new GeometryInstance({id:i,geometry:new RectangleGeometry(this._options),attributes:n})},RectangleGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor$g),n=this._distanceDisplayConditionProperty.getValue(e),n={show:new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(r),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(n),offset:void 0};return defined(this._options.offsetAttribute)&&(n.offset=OffsetGeometryInstanceAttribute.fromCartesian3(Property.getValueOrDefault(this._terrainOffsetProperty,e,defaultOffset$7,offsetScratch$9))),new GeometryInstance({id:t,geometry:new RectangleOutlineGeometry(this._options),attributes:n})},RectangleGeometryUpdater.prototype._computeCenter=function(e,t){e=Property.getValueOrUndefined(this._entity.rectangle.coordinates,e,scratchCenterRect);if(defined(e)){e=Rectangle.center(e,scratchCarto$1);return Cartographic.toCartesian(e,Ellipsoid.WGS84,t)}},RectangleGeometryUpdater.prototype._isHidden=function(e,t){return!defined(t.coordinates)||GeometryUpdater.prototype._isHidden.call(this,e,t)},RectangleGeometryUpdater.prototype._isDynamic=function(e,t){return!t.coordinates.isConstant||!Property.isConstant(t.height)||!Property.isConstant(t.extrudedHeight)||!Property.isConstant(t.granularity)||!Property.isConstant(t.stRotation)||!Property.isConstant(t.rotation)||!Property.isConstant(t.outlineWidth)||!Property.isConstant(t.zIndex)||this._onTerrain&&!Property.isConstant(this._materialProperty)&&!(this._materialProperty instanceof ColorMaterialProperty)},RectangleGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=this._materialProperty instanceof ColorMaterialProperty,r=Property.getValueOrUndefined(t.height,Iso8601.MINIMUM_VALUE),n=Property.getValueOrDefault(t.heightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE),a=Property.getValueOrUndefined(t.extrudedHeight,Iso8601.MINIMUM_VALUE),o=Property.getValueOrDefault(t.extrudedHeightReference,Iso8601.MINIMUM_VALUE,HeightReference$1.NONE);defined(a)&&!defined(r)&&(r=0);var s=this._options;s.vertexFormat=i?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,s.rectangle=t.coordinates.getValue(Iso8601.MINIMUM_VALUE,s.rectangle),s.granularity=Property.getValueOrUndefined(t.granularity,Iso8601.MINIMUM_VALUE),s.stRotation=Property.getValueOrUndefined(t.stRotation,Iso8601.MINIMUM_VALUE),s.rotation=Property.getValueOrUndefined(t.rotation,Iso8601.MINIMUM_VALUE),s.offsetAttribute=GroundGeometryUpdater.computeGeometryOffsetAttribute(r,n,a,o),s.height=GroundGeometryUpdater.getGeometryHeight(r,n),(a=GroundGeometryUpdater.getGeometryExtrudedHeight(a,o))===GroundGeometryUpdater.CLAMP_TO_GROUND&&(a=ApproximateTerrainHeights.getMinimumMaximumHeights(RectangleGeometry.computeRectangle(s,scratchRectangle$6)).minimumTerrainHeight),s.extrudedHeight=a},RectangleGeometryUpdater.DynamicGeometryUpdater=DynamicRectangleGeometryUpdater,defined(Object.create)&&(DynamicRectangleGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DynamicRectangleGeometryUpdater.prototype.constructor=DynamicRectangleGeometryUpdater),DynamicRectangleGeometryUpdater.prototype._isHidden=function(e,t,i){return!defined(this._options.rectangle)||DynamicGeometryUpdater.prototype._isHidden.call(this,e,t,i)},DynamicRectangleGeometryUpdater.prototype._setOptions=function(e,t,i){var r=this._options,n=Property.getValueOrUndefined(t.height,i),a=Property.getValueOrDefault(t.heightReference,i,HeightReference$1.NONE),o=Property.getValueOrUndefined(t.extrudedHeight,i),s=Property.getValueOrDefault(t.extrudedHeightReference,i,HeightReference$1.NONE);defined(o)&&!defined(n)&&(n=0),r.rectangle=Property.getValueOrUndefined(t.coordinates,i,r.rectangle),r.granularity=Property.getValueOrUndefined(t.granularity,i),r.stRotation=Property.getValueOrUndefined(t.stRotation,i),r.rotation=Property.getValueOrUndefined(t.rotation,i),r.offsetAttribute=GroundGeometryUpdater.computeGeometryOffsetAttribute(n,a,o,s),r.height=GroundGeometryUpdater.getGeometryHeight(n,a),(o=GroundGeometryUpdater.getGeometryExtrudedHeight(o,s))===GroundGeometryUpdater.CLAMP_TO_GROUND&&(o=ApproximateTerrainHeights.getMinimumMaximumHeights(RectangleGeometry.computeRectangle(r,scratchRectangle$6)).minimumTerrainHeight),r.extrudedHeight=o};var colorScratch$2=new Color,distanceDisplayConditionScratch$1=new DistanceDisplayCondition,defaultDistanceDisplayCondition$1=new DistanceDisplayCondition,defaultOffset$8=Cartesian3.ZERO,offsetScratch$a=new Cartesian3;function Batch(e,t,i,r,n,a,o){var s;this.translucent=t,this.appearanceType=i,this.depthFailAppearanceType=r,this.depthFailMaterialProperty=n,this.depthFailMaterial=void 0,this.closed=a,this.shadows=o,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new AssociativeArray,this.updaters=new AssociativeArray,this.updatersWithAttributes=new AssociativeArray,this.attributes=new AssociativeArray,this.subscriptions=new AssociativeArray,this.showsUpdated=new AssociativeArray,this.itemsToRemove=[],this.invalidated=!1,defined(n)&&(s=n.definitionChanged.addEventListener(Batch.prototype.onMaterialChanged,this)),this.removeMaterialSubscription=s}function StaticGeometryColorBatch(e,t,i,r,n){this._solidItems=[],this._translucentItems=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=i,this._closed=r,this._shadows=n}function removeItem(e,t){for(var i=e.length-1;0<=i;i--){var r=e[i];if(r.remove(t))return 0===r.updaters.length&&(e.splice(i,1),r.destroy()),1}}function moveItems(e,t,i){for(var r=!1,n=t.length,a=0;a<n;++a){var o=t[a],s=o.itemsToRemove,l=s.length;if(0<l)for(a=0;a<l;a++){var c=s[a];o.remove(c),e.add(i,c),r=!0}}return r}function updateItems(e,t,i,r){for(var n=t.length,a=n-1;0<=a;a--){var o=t[a];if(o.invalidated){t.splice(a,1);for(var s=o.updaters.values,l=s.length,c=0;c<l;c++)e.add(i,s[c]);o.destroy()}}for(n=t.length,a=0;a<n;++a)r=t[a].update(i)&&r;return r}function getBoundingSphere(e,t,i){for(var r=e.length,n=0;n<r;n++){var a=e[n];if(a.contains(t))return a.getBoundingSphere(t,i)}return BoundingSphereState$1.FAILED}function removeAllPrimitives(e){for(var t=e.length,i=0;i<t;i++)e[i].destroy();e.length=0}Batch.prototype.onMaterialChanged=function(){this.invalidated=!0},Batch.prototype.isMaterial=function(e){var t=this.depthFailMaterialProperty,e=e.depthFailMaterialProperty;return e===t||!!defined(t)&&t.equals(e)},Batch.prototype.add=function(n,e){var a,t=n.id;this.createPrimitive=!0,this.geometry.set(t,e),this.updaters.set(t,n),n.hasConstantFill&&n.fillMaterialProperty.isConstant&&Property.isConstant(n.distanceDisplayConditionProperty)&&Property.isConstant(n.terrainOffsetProperty)?(a=this).subscriptions.set(t,n.entity.definitionChanged.addEventListener(function(e,t,i,r){"isShowing"===t&&a.showsUpdated.set(n.id,n)})):this.updatersWithAttributes.set(t,n)},Batch.prototype.remove=function(e){var t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);e=this.subscriptions.get(t);return defined(e)&&(e(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1},Batch.prototype.update=function(e){var t=!0,i=0,r=this.primitive,n=this.primitives;if(this.createPrimitive){var a,o=this.geometry.values;0<o.length?(defined(r)&&(defined(this.oldPrimitive)?n.remove(r):this.oldPrimitive=r),defined(this.depthFailAppearanceType)&&(defined(this.depthFailMaterialProperty)&&(this.depthFailMaterial=MaterialProperty.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),r=new Primitive({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),n.add(r),t=!1):(defined(r)&&(n.remove(r),r=void 0),defined(a=this.oldPrimitive)&&(n.remove(a),this.oldPrimitive=void 0)),this.attributes.removeAll(),this.primitive=r,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(defined(r)&&r.ready){r.show=!0,defined(this.oldPrimitive)&&(n.remove(this.oldPrimitive),this.oldPrimitive=void 0),!defined(this.depthFailAppearanceType)||this.depthFailMaterialProperty instanceof ColorMaterialProperty||(this.depthFailMaterial=MaterialProperty.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);for(var s=this.updatersWithAttributes.values,l=s.length,c=this.waitingOnCreate,u=0;u<l;u++){var d=s[u],h=this.geometry.get(d.id),p=this.attributes.get(h.id.id);defined(p)||(p=r.getGeometryInstanceAttributes(h.id),this.attributes.set(h.id.id,p)),d.fillMaterialProperty.isConstant&&!c||(h=d.fillMaterialProperty.color,h=Property.getValueOrDefault(h,e,Color.WHITE,colorScratch$2),Color.equals(p._lastColor,h)||(p._lastColor=Color.clone(h,p._lastColor),p.color=ColorGeometryInstanceAttribute.toValue(h,p.color),(this.translucent&&255===p.color[3]||!this.translucent&&255!==p.color[3])&&(this.itemsToRemove[i++]=d))),defined(this.depthFailAppearanceType)&&d.depthFailMaterialProperty instanceof ColorMaterialProperty&&(!d.depthFailMaterialProperty.isConstant||c)&&(m=d.depthFailMaterialProperty.color,m=Property.getValueOrDefault(m,e,Color.WHITE,colorScratch$2),Color.equals(p._lastDepthFailColor,m)||(p._lastDepthFailColor=Color.clone(m,p._lastDepthFailColor),p.depthFailColor=ColorGeometryInstanceAttribute.toValue(m,p.depthFailColor)));var m=d.entity.isShowing&&(d.hasConstantFill||d.isFilled(e));m!==(1===p.show[0])&&(p.show=ShowGeometryInstanceAttribute.toValue(m,p.show));m=d.distanceDisplayConditionProperty;Property.isConstant(m)||(m=Property.getValueOrDefault(m,e,defaultDistanceDisplayCondition$1,distanceDisplayConditionScratch$1),DistanceDisplayCondition.equals(m,p._lastDistanceDisplayCondition)||(p._lastDistanceDisplayCondition=DistanceDisplayCondition.clone(m,p._lastDistanceDisplayCondition),p.distanceDisplayCondition=DistanceDisplayConditionGeometryInstanceAttribute.toValue(m,p.distanceDisplayCondition)));d=d.terrainOffsetProperty;Property.isConstant(d)||(d=Property.getValueOrDefault(d,e,defaultOffset$8,offsetScratch$a),Cartesian3.equals(d,p._lastOffset)||(p._lastOffset=Cartesian3.clone(d,p._lastOffset),p.offset=OffsetGeometryInstanceAttribute.toValue(d,p.offset)))}this.updateShows(r),this.waitingOnCreate=!1}else defined(r)&&!r.ready&&(t=!1);return this.itemsToRemove.length=i,t},Batch.prototype.updateShows=function(e){for(var t=this.showsUpdated.values,i=t.length,r=0;r<i;r++){var n=t[r],a=this.geometry.get(n.id),o=this.attributes.get(a.id.id);defined(o)||(o=e.getGeometryInstanceAttributes(a.id),this.attributes.set(a.id.id,o));n=n.entity.isShowing;n!==(1===o.show[0])&&(o.show=ShowGeometryInstanceAttribute.toValue(n,o.show),a.attributes.show.value[0]=o.show[0])}this.showsUpdated.removeAll()},Batch.prototype.contains=function(e){return this.updaters.contains(e.id)},Batch.prototype.getBoundingSphere=function(e,t){var i=this.primitive;if(!i.ready)return BoundingSphereState$1.PENDING;e=i.getGeometryInstanceAttributes(e.entity);return!defined(e)||!defined(e.boundingSphere)||defined(e.show)&&0===e.show[0]?BoundingSphereState$1.FAILED:(e.boundingSphere.clone(t),BoundingSphereState$1.DONE)},Batch.prototype.destroy=function(){var e=this.primitive,t=this.primitives;defined(e)&&t.remove(e);e=this.oldPrimitive;defined(e)&&t.remove(e),defined(this.removeMaterialSubscription)&&this.removeMaterialSubscription()},StaticGeometryColorBatch.prototype.add=function(e,t){for(var i,r=t.createFillGeometryInstance(e),e=255===r.attributes.color.value[3]?(i=this._solidItems,!1):(i=this._translucentItems,!0),n=i.length,a=0;a<n;a++){var o=i[a];if(o.isMaterial(t))return void o.add(t,r)}e=new Batch(this._primitives,e,this._appearanceType,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);e.add(t,r),i.push(e)},StaticGeometryColorBatch.prototype.remove=function(e){removeItem(this._solidItems,e)||removeItem(this._translucentItems,e)},StaticGeometryColorBatch.prototype.update=function(e){var t=updateItems(this,this._solidItems,e,!0),t=updateItems(this,this._translucentItems,e,t)&&t,i=moveItems(this,this._solidItems,e),r=moveItems(this,this._translucentItems,e);return(i||r)&&(t=updateItems(this,this._solidItems,e,t)&&t,t=updateItems(this,this._translucentItems,e,t)&&t),t},StaticGeometryColorBatch.prototype.getBoundingSphere=function(e,t){var i=getBoundingSphere(this._solidItems,e,t);return i===BoundingSphereState$1.FAILED?getBoundingSphere(this._translucentItems,e,t):i},StaticGeometryColorBatch.prototype.removeAllPrimitives=function(){removeAllPrimitives(this._solidItems),removeAllPrimitives(this._translucentItems)};var distanceDisplayConditionScratch$2=new DistanceDisplayCondition,defaultDistanceDisplayCondition$2=new DistanceDisplayCondition,defaultOffset$9=Cartesian3.ZERO,offsetScratch$b=new Cartesian3;function Batch$1(e,t,i,r,n,a,o){this.primitives=e,this.appearanceType=t,this.materialProperty=i,this.depthFailAppearanceType=r,this.depthFailMaterialProperty=n,this.closed=a,this.shadows=o,this.updaters=new AssociativeArray,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new AssociativeArray,this.material=void 0,this.depthFailMaterial=void 0,this.updatersWithAttributes=new AssociativeArray,this.attributes=new AssociativeArray,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(Batch$1.prototype.onMaterialChanged,this),this.subscriptions=new AssociativeArray,this.showsUpdated=new AssociativeArray}Batch$1.prototype.onMaterialChanged=function(){this.invalidated=!0},Batch$1.prototype.isMaterial=function(e){var t=this.materialProperty,i=e.fillMaterialProperty,r=this.depthFailMaterialProperty,e=e.depthFailMaterialProperty;if(i===t&&e===r)return!0;i=defined(t)&&t.equals(i);return i=(!defined(r)&&!defined(e)||defined(r)&&r.equals(e))&&i},Batch$1.prototype.add=function(e,n){var a,t=n.id;this.updaters.set(t,n),this.geometry.set(t,n.createFillGeometryInstance(e)),n.hasConstantFill&&n.fillMaterialProperty.isConstant&&Property.isConstant(n.distanceDisplayConditionProperty)&&Property.isConstant(n.terrainOffsetProperty)?(a=this).subscriptions.set(t,n.entity.definitionChanged.addEventListener(function(e,t,i,r){"isShowing"===t&&a.showsUpdated.set(n.id,n)})):this.updatersWithAttributes.set(t,n),this.createPrimitive=!0},Batch$1.prototype.remove=function(e){var t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);e=this.subscriptions.get(t);return defined(e)&&(e(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};var colorScratch$3=new Color;function StaticGeometryPerMaterialBatch(e,t,i,r,n){this._items=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=i,this._closed=r,this._shadows=n}Batch$1.prototype.update=function(e){var t,i=!0,r=this.primitive,n=this.primitives,a=this.geometry.values;if(this.createPrimitive)0<a.length?(defined(r)&&(defined(this.oldPrimitive)?n.remove(r):this.oldPrimitive=r),this.material=MaterialProperty.getValue(e,this.materialProperty,this.material),defined(this.depthFailMaterialProperty)&&(this.depthFailMaterial=MaterialProperty.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),t=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),r=new Primitive({show:!1,asynchronous:!0,geometryInstances:a.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:t,shadows:this.shadows}),n.add(r),i=!1):(defined(r)&&(n.remove(r),r=void 0),defined(t=this.oldPrimitive)&&(n.remove(t),this.oldPrimitive=void 0)),this.attributes.removeAll(),this.primitive=r,this.createPrimitive=!1;else if(defined(r)&&r.ready){r.show=!0,defined(this.oldPrimitive)&&(n.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=MaterialProperty.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,!defined(this.depthFailAppearanceType)||this.depthFailMaterialProperty instanceof ColorMaterialProperty||(this.depthFailMaterial=MaterialProperty.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);for(var o=this.updatersWithAttributes.values,s=o.length,l=0;l<s;l++){var c=o[l],u=c.entity,d=this.geometry.get(c.id),h=this.attributes.get(d.id.id);defined(h)||(h=r.getGeometryInstanceAttributes(d.id),this.attributes.set(d.id.id,h)),defined(this.depthFailAppearanceType)&&this.depthFailMaterialProperty instanceof ColorMaterialProperty&&!c.depthFailMaterialProperty.isConstant&&(d=c.depthFailMaterialProperty.color,d=Property.getValueOrDefault(d,e,Color.WHITE,colorScratch$3),Color.equals(h._lastDepthFailColor,d)||(h._lastDepthFailColor=Color.clone(d,h._lastDepthFailColor),h.depthFailColor=ColorGeometryInstanceAttribute.toValue(d,h.depthFailColor)));u=u.isShowing&&(c.hasConstantFill||c.isFilled(e));u!==(1===h.show[0])&&(h.show=ShowGeometryInstanceAttribute.toValue(u,h.show));u=c.distanceDisplayConditionProperty;Property.isConstant(u)||(u=Property.getValueOrDefault(u,e,defaultDistanceDisplayCondition$2,distanceDisplayConditionScratch$2),DistanceDisplayCondition.equals(u,h._lastDistanceDisplayCondition)||(h._lastDistanceDisplayCondition=DistanceDisplayCondition.clone(u,h._lastDistanceDisplayCondition),h.distanceDisplayCondition=DistanceDisplayConditionGeometryInstanceAttribute.toValue(u,h.distanceDisplayCondition)));c=c.terrainOffsetProperty;Property.isConstant(c)||(c=Property.getValueOrDefault(c,e,defaultOffset$9,offsetScratch$b),Cartesian3.equals(c,h._lastOffset)||(h._lastOffset=Cartesian3.clone(c,h._lastOffset),h.offset=OffsetGeometryInstanceAttribute.toValue(c,h.offset)))}this.updateShows(r)}else defined(r)&&!r.ready&&(i=!1);return i},Batch$1.prototype.updateShows=function(e){for(var t=this.showsUpdated.values,i=t.length,r=0;r<i;r++){var n=t[r],a=n.entity,o=this.geometry.get(n.id),n=this.attributes.get(o.id.id);defined(n)||(n=e.getGeometryInstanceAttributes(o.id),this.attributes.set(o.id.id,n));a=a.isShowing;a!==(1===n.show[0])&&(n.show=ShowGeometryInstanceAttribute.toValue(a,n.show),o.attributes.show.value[0]=n.show[0])}this.showsUpdated.removeAll()},Batch$1.prototype.contains=function(e){return this.updaters.contains(e.id)},Batch$1.prototype.getBoundingSphere=function(e,t){var i=this.primitive;if(!i.ready)return BoundingSphereState$1.PENDING;e=i.getGeometryInstanceAttributes(e.entity);return!defined(e)||!defined(e.boundingSphere)||defined(e.show)&&0===e.show[0]?BoundingSphereState$1.FAILED:(e.boundingSphere.clone(t),BoundingSphereState$1.DONE)},Batch$1.prototype.destroy=function(){var e=this.primitive,t=this.primitives;defined(e)&&t.remove(e);e=this.oldPrimitive;defined(e)&&t.remove(e),this.removeMaterialSubscription()},StaticGeometryPerMaterialBatch.prototype.add=function(e,t){for(var i=this._items,r=i.length,n=0;n<r;n++){var a=i[n];if(a.isMaterial(t))return void a.add(e,t)}var o=new Batch$1(this._primitives,this._appearanceType,t.fillMaterialProperty,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);o.add(e,t),i.push(o)},StaticGeometryPerMaterialBatch.prototype.remove=function(e){for(var t=this._items,i=t.length-1;0<=i;i--){var r=t[i];if(r.remove(e)){0===r.updaters.length&&(t.splice(i,1),r.destroy());break}}},StaticGeometryPerMaterialBatch.prototype.update=function(e){for(var t=this._items,i=t.length-1;0<=i;i--){var r=t[i];if(r.invalidated){t.splice(i,1);for(var n=r.updaters.values,a=n.length,o=0;o<a;o++)this.add(e,n[o]);r.destroy()}}var s=!0;for(i=0;i<t.length;i++)s=t[i].update(e)&&s;return s},StaticGeometryPerMaterialBatch.prototype.getBoundingSphere=function(e,t){for(var i=this._items,r=i.length,n=0;n<r;n++){var a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return BoundingSphereState$1.FAILED},StaticGeometryPerMaterialBatch.prototype.removeAllPrimitives=function(){for(var e=this._items,t=e.length,i=0;i<t;i++)e[i].destroy();this._items.length=0};var colorScratch$4=new Color,distanceDisplayConditionScratch$3=new DistanceDisplayCondition,defaultDistanceDisplayCondition$3=new DistanceDisplayCondition;function Batch$2(e,t,i,r){this.primitives=e,this.zIndex=r,this.classificationType=t,this.color=i,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new AssociativeArray,this.updaters=new AssociativeArray,this.updatersWithAttributes=new AssociativeArray,this.attributes=new AssociativeArray,this.subscriptions=new AssociativeArray,this.showsUpdated=new AssociativeArray,this.itemsToRemove=[],this.isDirty=!1,this.rectangleCollisionCheck=new RectangleCollisionChecker}function StaticGroundGeometryColorBatch(e,t){this._batches=[],this._primitives=e,this._classificationType=t}Batch$2.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)},Batch$2.prototype.add=function(n,e){var a,t=n.id;this.createPrimitive=!0,this.geometry.set(t,e),this.updaters.set(t,n),this.rectangleCollisionCheck.insert(t,e.geometry.rectangle),n.hasConstantFill&&n.fillMaterialProperty.isConstant&&Property.isConstant(n.distanceDisplayConditionProperty)?(a=this).subscriptions.set(t,n.entity.definitionChanged.addEventListener(function(e,t,i,r){"isShowing"===t&&a.showsUpdated.set(n.id,n)})):this.updatersWithAttributes.set(t,n)},Batch$2.prototype.remove=function(e){var t=e.id,e=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,e.geometry.rectangle),this.updatersWithAttributes.remove(t);e=this.subscriptions.get(t);return defined(e)&&(e(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1},Batch$2.prototype.update=function(e){var t=!0,i=this.primitive,r=this.primitives;if(this.createPrimitive){var n=this.geometry.values;0<n.length?(defined(i)&&(defined(this.oldPrimitive)?r.remove(i):this.oldPrimitive=i),i=new GroundPrimitive({show:!1,asynchronous:!0,geometryInstances:n.slice(),classificationType:this.classificationType}),r.add(i,this.zIndex),t=!1):(defined(i)&&(r.remove(i),i=void 0),defined(n=this.oldPrimitive)&&(r.remove(n),this.oldPrimitive=void 0)),this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(defined(i)&&i.ready){i.show=!0,defined(this.oldPrimitive)&&(r.remove(this.oldPrimitive),this.oldPrimitive=void 0);for(var a=this.updatersWithAttributes.values,o=a.length,s=this.waitingOnCreate,l=0;l<o;l++){var c=a[l],u=this.geometry.get(c.id),d=this.attributes.get(u.id.id);defined(d)||(d=i.getGeometryInstanceAttributes(u.id),this.attributes.set(u.id.id,d)),c.fillMaterialProperty.isConstant&&!s||(h=c.fillMaterialProperty.color,h=Property.getValueOrDefault(h,e,Color.WHITE,colorScratch$4),Color.equals(d._lastColor,h)||(d._lastColor=Color.clone(h,d._lastColor),d.color=ColorGeometryInstanceAttribute.toValue(h,d.color)));var h=c.entity.isShowing&&(c.hasConstantFill||c.isFilled(e));h!==(1===d.show[0])&&(d.show=ShowGeometryInstanceAttribute.toValue(h,d.show));c=c.distanceDisplayConditionProperty;Property.isConstant(c)||(c=Property.getValueOrDefault(c,e,defaultDistanceDisplayCondition$3,distanceDisplayConditionScratch$3),DistanceDisplayCondition.equals(c,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=DistanceDisplayCondition.clone(c,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=DistanceDisplayConditionGeometryInstanceAttribute.toValue(c,d.distanceDisplayCondition)))}this.updateShows(i),this.waitingOnCreate=!1}else defined(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=0,t},Batch$2.prototype.updateShows=function(e){for(var t=this.showsUpdated.values,i=t.length,r=0;r<i;r++){var n=t[r],a=this.geometry.get(n.id),o=this.attributes.get(a.id.id);defined(o)||(o=e.getGeometryInstanceAttributes(a.id),this.attributes.set(a.id.id,o));n=n.entity.isShowing;n!==(1===o.show[0])&&(o.show=ShowGeometryInstanceAttribute.toValue(n,o.show),a.attributes.show.value[0]=o.show[0])}this.showsUpdated.removeAll()},Batch$2.prototype.contains=function(e){return this.updaters.contains(e.id)},Batch$2.prototype.getBoundingSphere=function(e,t){var i=this.primitive;if(!i.ready)return BoundingSphereState$1.PENDING;e=i.getBoundingSphere(e.entity);return defined(e)?(e.clone(t),BoundingSphereState$1.DONE):BoundingSphereState$1.FAILED},Batch$2.prototype.removeAllPrimitives=function(){var e=this.primitives,t=this.primitive;defined(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());t=this.oldPrimitive;defined(t)&&(e.remove(t),this.oldPrimitive=void 0)},StaticGroundGeometryColorBatch.prototype.add=function(e,t){for(var i,r=t.createFillGeometryInstance(e),n=this._batches,a=Property.getValueOrDefault(t.zIndex,0),o=n.length,s=0;s<o;++s){var l=n[s];if(l.zIndex===a&&!l.overlapping(r.geometry.rectangle)){i=l;break}}return defined(i)||(i=new Batch$2(this._primitives,this._classificationType,r.attributes.color.value,a),n.push(i)),i.add(t,r),i},StaticGroundGeometryColorBatch.prototype.remove=function(e){for(var t=this._batches,i=t.length,r=0;r<i;++r)if(t[r].remove(e))return},StaticGroundGeometryColorBatch.prototype.update=function(e){for(var t=!0,i=this._batches,r=i.length,n=0;n<r;++n)t=i[n].update(e)&&t;for(n=0;n<r;++n)for(var a=i[n],o=a.itemsToRemove,s=o.length,l=0;l<s;l++){c=o[l],a.remove(c);var c=this.add(e,c);a.isDirty=!0,c.isDirty=!0}for(n=r-1;0<=n;--n){var u=i[n];u.isDirty&&(t=i[n].update(e)&&t,u.isDirty=!1),0===u.geometry.length&&i.splice(n,1)}return t},StaticGroundGeometryColorBatch.prototype.getBoundingSphere=function(e,t){for(var i=this._batches,r=i.length,n=0;n<r;++n){var a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return BoundingSphereState$1.FAILED},StaticGroundGeometryColorBatch.prototype.removeAllPrimitives=function(){for(var e=this._batches,t=e.length,i=0;i<t;++i)e[i].removeAllPrimitives()};var distanceDisplayConditionScratch$4=new DistanceDisplayCondition,defaultDistanceDisplayCondition$4=new DistanceDisplayCondition;function Batch$3(e,t,i,r,n,a){this.primitives=e,this.classificationType=t,this.appearanceType=i,this.materialProperty=r,this.updaters=new AssociativeArray,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new AssociativeArray,this.material=void 0,this.updatersWithAttributes=new AssociativeArray,this.attributes=new AssociativeArray,this.invalidated=!1,this.removeMaterialSubscription=r.definitionChanged.addEventListener(Batch$3.prototype.onMaterialChanged,this),this.subscriptions=new AssociativeArray,this.showsUpdated=new AssociativeArray,this.usingSphericalTextureCoordinates=n,this.zIndex=a,this.rectangleCollisionCheck=new RectangleCollisionChecker}function StaticGroundGeometryPerMaterialBatch(e,t,i){this._items=[],this._primitives=e,this._classificationType=t,this._appearanceType=i}Batch$3.prototype.onMaterialChanged=function(){this.invalidated=!0},Batch$3.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)},Batch$3.prototype.isMaterial=function(e){var t=this.materialProperty,e=e.fillMaterialProperty;return e===t||e instanceof ColorMaterialProperty&&t instanceof ColorMaterialProperty||defined(t)&&t.equals(e)},Batch$3.prototype.add=function(e,n,t){var a,i=n.id;this.updaters.set(i,n),this.geometry.set(i,t),this.rectangleCollisionCheck.insert(i,t.geometry.rectangle),n.hasConstantFill&&n.fillMaterialProperty.isConstant&&Property.isConstant(n.distanceDisplayConditionProperty)?(a=this).subscriptions.set(i,n.entity.definitionChanged.addEventListener(function(e,t,i,r){"isShowing"===t&&a.showsUpdated.set(n.id,n)})):this.updatersWithAttributes.set(i,n),this.createPrimitive=!0},Batch$3.prototype.remove=function(e){var t=e.id,e=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,e.geometry.rectangle),this.updatersWithAttributes.remove(t);e=this.subscriptions.get(t);return defined(e)&&(e(),this.subscriptions.remove(t)),!0}return!1},Batch$3.prototype.update=function(e){var t=!0,i=this.primitive,r=this.primitives,n=this.geometry.values;if(this.createPrimitive)0<n.length?(defined(i)&&(defined(this.oldPrimitive)?r.remove(i):this.oldPrimitive=i),this.material=MaterialProperty.getValue(e,this.materialProperty,this.material),i=new GroundPrimitive({show:!1,asynchronous:!0,geometryInstances:n.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),r.add(i,this.zIndex),t=!1):(defined(i)&&(r.remove(i),i=void 0),defined(n=this.oldPrimitive)&&(r.remove(n),this.oldPrimitive=void 0)),this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1;else if(defined(i)&&i.ready){i.show=!0,defined(this.oldPrimitive)&&(r.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=MaterialProperty.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;for(var a=this.updatersWithAttributes.values,o=a.length,s=0;s<o;s++){var l=a[s],c=l.entity,u=this.geometry.get(l.id),d=this.attributes.get(u.id.id);defined(d)||(d=i.getGeometryInstanceAttributes(u.id),this.attributes.set(u.id.id,d));c=c.isShowing&&(l.hasConstantFill||l.isFilled(e));c!==(1===d.show[0])&&(d.show=ShowGeometryInstanceAttribute.toValue(c,d.show));l=l.distanceDisplayConditionProperty;Property.isConstant(l)||(l=Property.getValueOrDefault(l,e,defaultDistanceDisplayCondition$4,distanceDisplayConditionScratch$4),DistanceDisplayCondition.equals(l,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=DistanceDisplayCondition.clone(l,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=DistanceDisplayConditionGeometryInstanceAttribute.toValue(l,d.distanceDisplayCondition)))}this.updateShows(i)}else defined(i)&&!i.ready&&(t=!1);return t},Batch$3.prototype.updateShows=function(e){for(var t=this.showsUpdated.values,i=t.length,r=0;r<i;r++){var n=t[r],a=n.entity,o=this.geometry.get(n.id),n=this.attributes.get(o.id.id);defined(n)||(n=e.getGeometryInstanceAttributes(o.id),this.attributes.set(o.id.id,n));a=a.isShowing;a!==(1===n.show[0])&&(n.show=ShowGeometryInstanceAttribute.toValue(a,n.show),o.attributes.show.value[0]=n.show[0])}this.showsUpdated.removeAll()},Batch$3.prototype.contains=function(e){return this.updaters.contains(e.id)},Batch$3.prototype.getBoundingSphere=function(e,t){var i=this.primitive;if(!i.ready)return BoundingSphereState$1.PENDING;e=i.getGeometryInstanceAttributes(e.entity);return!defined(e)||!defined(e.boundingSphere)||defined(e.show)&&0===e.show[0]?BoundingSphereState$1.FAILED:(e.boundingSphere.clone(t),BoundingSphereState$1.DONE)},Batch$3.prototype.destroy=function(){var e=this.primitive,t=this.primitives;defined(e)&&t.remove(e);e=this.oldPrimitive;defined(e)&&t.remove(e),this.removeMaterialSubscription()},StaticGroundGeometryPerMaterialBatch.prototype.add=function(e,t){for(var i=this._items,r=i.length,n=t.createFillGeometryInstance(e),a=ShadowVolumeAppearance.shouldUseSphericalCoordinates(n.geometry.rectangle),o=Property.getValueOrDefault(t.zIndex,0),s=0;s<r;++s){var l=i[s];if(l.isMaterial(t)&&l.usingSphericalTextureCoordinates===a&&l.zIndex===o&&!l.overlapping(n.geometry.rectangle))return void l.add(e,t,n)}var c=new Batch$3(this._primitives,this._classificationType,this._appearanceType,t.fillMaterialProperty,a,o);c.add(e,t,n),i.push(c)},StaticGroundGeometryPerMaterialBatch.prototype.remove=function(e){for(var t=this._items,i=t.length-1;0<=i;i--){var r=t[i];if(r.remove(e)){0===r.updaters.length&&(t.splice(i,1),r.destroy());break}}},StaticGroundGeometryPerMaterialBatch.prototype.update=function(e){for(var t=this._items,i=t.length-1;0<=i;i--){var r=t[i];if(r.invalidated){t.splice(i,1);for(var n=r.updaters.values,a=n.length,o=0;o<a;o++)this.add(e,n[o]);r.destroy()}}var s=!0;for(i=0;i<t.length;i++)s=t[i].update(e)&&s;return s},StaticGroundGeometryPerMaterialBatch.prototype.getBoundingSphere=function(e,t){for(var i=this._items,r=i.length,n=0;n<r;n++){var a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return BoundingSphereState$1.FAILED},StaticGroundGeometryPerMaterialBatch.prototype.removeAllPrimitives=function(){for(var e=this._items,t=e.length,i=0;i<t;i++)e[i].destroy();this._items.length=0};var colorScratch$5=new Color,distanceDisplayConditionScratch$5=new DistanceDisplayCondition,defaultDistanceDisplayCondition$5=new DistanceDisplayCondition,defaultOffset$a=Cartesian3.ZERO,offsetScratch$c=new Cartesian3;function Batch$4(e,t,i,r){this.translucent=t,this.width=i,this.shadows=r,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new AssociativeArray,this.updaters=new AssociativeArray,this.updatersWithAttributes=new AssociativeArray,this.attributes=new AssociativeArray,this.itemsToRemove=[],this.subscriptions=new AssociativeArray,this.showsUpdated=new AssociativeArray}function StaticOutlineGeometryBatch(e,t,i){this._primitives=e,this._scene=t,this._shadows=i,this._solidBatches=new AssociativeArray,this._translucentBatches=new AssociativeArray}Batch$4.prototype.add=function(n,e){var a,t=n.id;this.createPrimitive=!0,this.geometry.set(t,e),this.updaters.set(t,n),n.hasConstantOutline&&n.outlineColorProperty.isConstant&&Property.isConstant(n.distanceDisplayConditionProperty)&&Property.isConstant(n.terrainOffsetProperty)?(a=this).subscriptions.set(t,n.entity.definitionChanged.addEventListener(function(e,t,i,r){"isShowing"===t&&a.showsUpdated.set(n.id,n)})):this.updatersWithAttributes.set(t,n)},Batch$4.prototype.remove=function(e){var t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);e=this.subscriptions.get(t);return defined(e)&&(e(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1},Batch$4.prototype.update=function(e){var t=!0,i=0,r=this.primitive,n=this.primitives;if(this.createPrimitive){var a=this.geometry.values;0<a.length?(defined(r)&&(defined(this.oldPrimitive)?n.remove(r):this.oldPrimitive=r),r=new Primitive({show:!1,asynchronous:!0,geometryInstances:a.slice(),appearance:new PerInstanceColorAppearance({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),n.add(r),t=!1):(defined(r)&&(n.remove(r),r=void 0),defined(a=this.oldPrimitive)&&(n.remove(a),this.oldPrimitive=void 0)),this.attributes.removeAll(),this.primitive=r,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(defined(r)&&r.ready){r.show=!0,defined(this.oldPrimitive)&&(n.remove(this.oldPrimitive),this.oldPrimitive=void 0);for(var o=this.updatersWithAttributes.values,s=o.length,l=this.waitingOnCreate,c=0;c<s;c++){var u=o[c],d=this.geometry.get(u.id),h=this.attributes.get(d.id.id);defined(h)||(h=r.getGeometryInstanceAttributes(d.id),this.attributes.set(d.id.id,h)),u.outlineColorProperty.isConstant&&!l||(p=u.outlineColorProperty,p=Property.getValueOrDefault(p,e,Color.WHITE,colorScratch$5),Color.equals(h._lastColor,p)||(h._lastColor=Color.clone(p,h._lastColor),h.color=ColorGeometryInstanceAttribute.toValue(p,h.color),(this.translucent&&255===h.color[3]||!this.translucent&&255!==h.color[3])&&(this.itemsToRemove[i++]=u)));var p=u.entity.isShowing&&(u.hasConstantOutline||u.isOutlineVisible(e));p!==(1===h.show[0])&&(h.show=ShowGeometryInstanceAttribute.toValue(p,h.show));p=u.distanceDisplayConditionProperty;Property.isConstant(p)||(p=Property.getValueOrDefault(p,e,defaultDistanceDisplayCondition$5,distanceDisplayConditionScratch$5),DistanceDisplayCondition.equals(p,h._lastDistanceDisplayCondition)||(h._lastDistanceDisplayCondition=DistanceDisplayCondition.clone(p,h._lastDistanceDisplayCondition),h.distanceDisplayCondition=DistanceDisplayConditionGeometryInstanceAttribute.toValue(p,h.distanceDisplayCondition)));u=u.terrainOffsetProperty;Property.isConstant(u)||(u=Property.getValueOrDefault(u,e,defaultOffset$a,offsetScratch$c),Cartesian3.equals(u,h._lastOffset)||(h._lastOffset=Cartesian3.clone(u,h._lastOffset),h.offset=OffsetGeometryInstanceAttribute.toValue(u,h.offset)))}this.updateShows(r),this.waitingOnCreate=!1}else defined(r)&&!r.ready&&(t=!1);return this.itemsToRemove.length=i,t},Batch$4.prototype.updateShows=function(e){for(var t=this.showsUpdated.values,i=t.length,r=0;r<i;r++){var n=t[r],a=this.geometry.get(n.id),o=this.attributes.get(a.id.id);defined(o)||(o=e.getGeometryInstanceAttributes(a.id),this.attributes.set(a.id.id,o));n=n.entity.isShowing;n!==(1===o.show[0])&&(o.show=ShowGeometryInstanceAttribute.toValue(n,o.show),a.attributes.show.value[0]=o.show[0])}this.showsUpdated.removeAll()},Batch$4.prototype.contains=function(e){return this.updaters.contains(e.id)},Batch$4.prototype.getBoundingSphere=function(e,t){var i=this.primitive;if(!i.ready)return BoundingSphereState$1.PENDING;e=i.getGeometryInstanceAttributes(e.entity);return!defined(e)||!defined(e.boundingSphere)||defined(e.show)&&0===e.show[0]?BoundingSphereState$1.FAILED:(e.boundingSphere.clone(t),BoundingSphereState$1.DONE)},Batch$4.prototype.removeAllPrimitives=function(){var e=this.primitives,t=this.primitive;defined(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());t=this.oldPrimitive;defined(t)&&(e.remove(t),this.oldPrimitive=void 0)},StaticOutlineGeometryBatch.prototype.add=function(e,t){var i,r,n=t.createOutlineGeometryInstance(e),e=this._scene.clampLineWidth(t.outlineWidth);255===n.attributes.color.value[3]?defined(r=(i=this._solidBatches).get(e))||(r=new Batch$4(this._primitives,!1,e,this._shadows),i.set(e,r)):defined(r=(i=this._translucentBatches).get(e))||(r=new Batch$4(this._primitives,!0,e,this._shadows),i.set(e,r)),r.add(t,n)},StaticOutlineGeometryBatch.prototype.remove=function(e){for(var t=this._solidBatches.values,i=t.length,r=0;r<i;r++)if(t[r].remove(e))return;var n=this._translucentBatches.values,a=n.length;for(r=0;r<a;r++)if(n[r].remove(e))return},StaticOutlineGeometryBatch.prototype.update=function(e){var t,i,r,n,a,o=this._solidBatches.values,s=o.length,l=this._translucentBatches.values,c=l.length,u=!0,d=!1;do{for(d=!1,i=0;i<s;i++){u=(n=o[i]).update(e);var h=(a=n.itemsToRemove).length;if(0<h)for(d=!0,t=0;t<h;t++)r=a[t],n.remove(r),this.add(e,r)}for(i=0;i<c;i++){u=(n=l[i]).update(e);var p=(a=n.itemsToRemove).length;if(0<p)for(d=!0,t=0;t<p;t++)r=a[t],n.remove(r),this.add(e,r)}}while(d);return u},StaticOutlineGeometryBatch.prototype.getBoundingSphere=function(e,t){for(var i=this._solidBatches.values,r=i.length,n=0;n<r;n++){var a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}var o=this._translucentBatches.values,s=o.length;for(n=0;n<s;n++){var l=o[n];if(l.contains(e))return l.getBoundingSphere(e,t)}return BoundingSphereState$1.FAILED},StaticOutlineGeometryBatch.prototype.removeAllPrimitives=function(){for(var e=this._solidBatches.values,t=e.length,i=0;i<t;i++)e[i].removeAllPrimitives();var r=this._translucentBatches.values,n=r.length;for(i=0;i<n;i++)r[i].removeAllPrimitives()};var scratchColor$h=new Color;function WallGeometryOptions(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.minimumHeights=void 0,this.maximumHeights=void 0,this.granularity=void 0}function WallGeometryUpdater(e,t){GeometryUpdater.call(this,{entity:e,scene:t,geometryOptions:new WallGeometryOptions(e),geometryPropertyName:"wall",observedPropertyNames:["availability","wall"]}),this._onEntityPropertyChanged(e,"wall",e.wall,void 0)}function DynamicWallGeometryUpdater(e,t,i){DynamicGeometryUpdater.call(this,e,t,i)}defined(Object.create)&&(WallGeometryUpdater.prototype=Object.create(GeometryUpdater.prototype),WallGeometryUpdater.prototype.constructor=WallGeometryUpdater),WallGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t,i=this._entity,r=i.isAvailable(e),n=new ShowGeometryInstanceAttribute(r&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),a=DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(a),a=this._materialProperty instanceof ColorMaterialProperty?(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||r)&&(t=this._materialProperty.color.getValue(e,scratchColor$h)),defined(t)||(t=Color.WHITE),{show:n,distanceDisplayCondition:a,color:ColorGeometryInstanceAttribute.fromColor(t)}):{show:n,distanceDisplayCondition:a};return new GeometryInstance({id:i,geometry:new WallGeometry(this._options),attributes:a})},WallGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){var t=this._entity,i=t.isAvailable(e),r=Property.getValueOrDefault(this._outlineColorProperty,e,Color.BLACK,scratchColor$h),n=this._distanceDisplayConditionProperty.getValue(e);return new GeometryInstance({id:t,geometry:new WallOutlineGeometry(this._options),attributes:{show:new ShowGeometryInstanceAttribute(i&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:ColorGeometryInstanceAttribute.fromColor(r),distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(n)}})},WallGeometryUpdater.prototype._isHidden=function(e,t){return!defined(t.positions)||GeometryUpdater.prototype._isHidden.call(this,e,t)},WallGeometryUpdater.prototype._getIsClosed=function(e){return!1},WallGeometryUpdater.prototype._isDynamic=function(e,t){return!(t.positions.isConstant&&Property.isConstant(t.minimumHeights)&&Property.isConstant(t.maximumHeights)&&Property.isConstant(t.outlineWidth)&&Property.isConstant(t.granularity))},WallGeometryUpdater.prototype._setStaticOptions=function(e,t){var i=t.minimumHeights,r=t.maximumHeights,n=t.granularity,a=this._materialProperty instanceof ColorMaterialProperty,o=this._options;o.vertexFormat=a?PerInstanceColorAppearance.VERTEX_FORMAT:MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,o.positions=t.positions.getValue(Iso8601.MINIMUM_VALUE,o.positions),o.minimumHeights=defined(i)?i.getValue(Iso8601.MINIMUM_VALUE,o.minimumHeights):void 0,o.maximumHeights=defined(r)?r.getValue(Iso8601.MINIMUM_VALUE,o.maximumHeights):void 0,o.granularity=defined(n)?n.getValue(Iso8601.MINIMUM_VALUE):void 0},WallGeometryUpdater.DynamicGeometryUpdater=DynamicWallGeometryUpdater,defined(Object.create)&&(DynamicWallGeometryUpdater.prototype=Object.create(DynamicGeometryUpdater.prototype),DynamicWallGeometryUpdater.prototype.constructor=DynamicWallGeometryUpdater),DynamicWallGeometryUpdater.prototype._isHidden=function(e,t,i){return!defined(this._options.positions)||DynamicGeometryUpdater.prototype._isHidden.call(this,e,t,i)},DynamicWallGeometryUpdater.prototype._setOptions=function(e,t,i){var r=this._options;r.positions=Property.getValueOrUndefined(t.positions,i,r.positions),r.minimumHeights=Property.getValueOrUndefined(t.minimumHeights,i,r.minimumHeights),r.maximumHeights=Property.getValueOrUndefined(t.maximumHeights,i,r.maximumHeights),r.granularity=Property.getValueOrUndefined(t.granularity,i)};var emptyArray=[],geometryUpdaters=[BoxGeometryUpdater,CylinderGeometryUpdater,CorridorGeometryUpdater,EllipseGeometryUpdater,EllipsoidGeometryUpdater,PlaneGeometryUpdater,PolygonGeometryUpdater,PolylineVolumeGeometryUpdater,RectangleGeometryUpdater,WallGeometryUpdater];function GeometryUpdaterSet(e,t){this.entity=e,this.scene=t;var i=new Array(geometryUpdaters.length),r=new Event;function n(e){r.raiseEvent(e)}for(var a=new EventHelper,o=0;o<i.length;o++){var s=new geometryUpdaters[o](e,t);a.add(s.geometryChanged,n),i[o]=s}this.updaters=i,this.geometryChanged=r,this.eventHelper=a,this._removeEntitySubscription=e.definitionChanged.addEventListener(GeometryUpdaterSet.prototype._onEntityPropertyChanged,this)}function GeometryVisualizer(e,t,i,r){i=defaultValue(i,e.primitives),r=defaultValue(r,e.groundPrimitives),this._scene=e,this._primitives=i,this._groundPrimitives=r,this._entityCollection=void 0,this._addedObjects=new AssociativeArray,this._removedObjects=new AssociativeArray,this._changedObjects=new AssociativeArray;var n=ShadowMode$1.NUMBER_OF_SHADOW_MODES;this._outlineBatches=new Array(2*n),this._closedColorBatches=new Array(2*n),this._closedMaterialBatches=new Array(2*n),this._openColorBatches=new Array(2*n),this._openMaterialBatches=new Array(2*n);var a,o=Entity.supportsMaterialsforEntitiesOnTerrain(e);for(this._supportsMaterialsforEntitiesOnTerrain=o,a=0;a<n;++a)this._outlineBatches[a]=new StaticOutlineGeometryBatch(i,e,a,!1),this._outlineBatches[n+a]=new StaticOutlineGeometryBatch(i,e,a,!0),this._closedColorBatches[a]=new StaticGeometryColorBatch(i,PerInstanceColorAppearance,void 0,!0,a,!0),this._closedColorBatches[n+a]=new StaticGeometryColorBatch(i,PerInstanceColorAppearance,void 0,!0,a,!1),this._closedMaterialBatches[a]=new StaticGeometryPerMaterialBatch(i,MaterialAppearance,void 0,!0,a,!0),this._closedMaterialBatches[n+a]=new StaticGeometryPerMaterialBatch(i,MaterialAppearance,void 0,!0,a,!1),this._openColorBatches[a]=new StaticGeometryColorBatch(i,PerInstanceColorAppearance,void 0,!1,a,!0),this._openColorBatches[n+a]=new StaticGeometryColorBatch(i,PerInstanceColorAppearance,void 0,!1,a,!1),this._openMaterialBatches[a]=new StaticGeometryPerMaterialBatch(i,MaterialAppearance,void 0,!1,a,!0),this._openMaterialBatches[n+a]=new StaticGeometryPerMaterialBatch(i,MaterialAppearance,void 0,!1,a,!1);var s=ClassificationType$1.NUMBER_OF_CLASSIFICATION_TYPES,l=new Array(s),c=[];if(o)for(a=0;a<s;++a)c.push(new StaticGroundGeometryPerMaterialBatch(r,a,MaterialAppearance)),l[a]=new StaticGroundGeometryColorBatch(r,a);else for(a=0;a<s;++a)l[a]=new StaticGroundGeometryColorBatch(r,a);this._groundColorBatches=l,this._groundMaterialBatches=c,this._dynamicBatch=new DynamicGeometryBatch(i,r),this._batches=this._outlineBatches.concat(this._closedColorBatches,this._closedMaterialBatches,this._openColorBatches,this._openMaterialBatches,this._groundColorBatches,this._groundMaterialBatches,this._dynamicBatch),this._subscriptions=new AssociativeArray,this._updaterSets=new AssociativeArray,(this._entityCollection=t).collectionChanged.addEventListener(GeometryVisualizer.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,emptyArray)}GeometryUpdaterSet.prototype._onEntityPropertyChanged=function(e,t,i,r){for(var n=this.updaters,a=0;a<n.length;a++)n[a]._onEntityPropertyChanged(e,t,i,r)},GeometryUpdaterSet.prototype.forEach=function(e){for(var t=this.updaters,i=0;i<t.length;i++)e(t[i])},GeometryUpdaterSet.prototype.destroy=function(){this.eventHelper.removeAll();for(var e=this.updaters,t=0;t<e.length;t++)e[t].destroy();this._removeEntitySubscription(),destroyObject(this)},GeometryVisualizer.prototype.update=function(t){for(var e,i,r,n=this._addedObjects,a=n.values,o=this._removedObjects,s=o.values,l=this._changedObjects,c=l.values,u=this,d=c.length-1;-1<d;d--)i=(e=c[d]).id,(r=this._updaterSets.get(i)).entity===e?r.forEach(function(e){u._removeUpdater(e),u._insertUpdaterIntoBatch(t,e)}):(s.push(e),a.push(e));for(d=s.length-1;-1<d;d--)i=(e=s[d]).id,(r=this._updaterSets.get(i)).forEach(this._removeUpdater.bind(this)),r.destroy(),this._updaterSets.remove(i),this._subscriptions.get(i)(),this._subscriptions.remove(i);for(d=a.length-1;-1<d;d--)i=(e=a[d]).id,r=new GeometryUpdaterSet(e,this._scene),this._updaterSets.set(i,r),r.forEach(function(e){u._insertUpdaterIntoBatch(t,e)}),this._subscriptions.set(i,r.geometryChanged.addEventListener(GeometryVisualizer._onGeometryChanged,this));n.removeAll(),o.removeAll(),l.removeAll();var h=!0,p=this._batches,m=p.length;for(d=0;d<m;d++)h=p[d].update(t)&&h;return h};var getBoundingSphereArrayScratch=[],getBoundingSphereBoundingSphereScratch=new BoundingSphere;GeometryVisualizer.prototype.getBoundingSphere=function(e,t){for(var i=getBoundingSphereArrayScratch,r=getBoundingSphereBoundingSphereScratch,n=0,a=BoundingSphereState$1.DONE,o=this._batches,s=o.length,e=e.id,l=this._updaterSets.get(e).updaters,c=0;c<l.length;c++)for(var u=l[c],d=0;d<s;d++){if((a=o[d].getBoundingSphere(u,r))===BoundingSphereState$1.PENDING)return BoundingSphereState$1.PENDING;a===BoundingSphereState$1.DONE&&(i[n]=BoundingSphere.clone(r,i[n]),n++)}return 0===n?BoundingSphereState$1.FAILED:(i.length=n,BoundingSphere.fromBoundingSpheres(i,t),BoundingSphereState$1.DONE)},GeometryVisualizer.prototype.isDestroyed=function(){return!1},GeometryVisualizer.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(GeometryVisualizer.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();for(var e=this._batches,t=e.length,i=0;i<t;i++)e[i].removeAllPrimitives();var r=this._subscriptions.values,t=r.length;for(i=0;i<t;i++)r[i]();this._subscriptions.removeAll();var n=this._updaterSets.values;for(t=n.length,i=0;i<t;i++)n[i].destroy();return this._updaterSets.removeAll(),destroyObject(this)},GeometryVisualizer.prototype._removeUpdater=function(e){for(var t=this._batches,i=t.length,r=0;r<i;r++)t[r].remove(e)},GeometryVisualizer.prototype._insertUpdaterIntoBatch=function(e,t){var i,r,n;t.isDynamic?this._dynamicBatch.add(e,t):((t.outlineEnabled||t.fillEnabled)&&(i=t.shadowsProperty.getValue(e)),r=ShadowMode$1.NUMBER_OF_SHADOW_MODES,t.outlineEnabled&&(defined(t.terrainOffsetProperty)?this._outlineBatches[r+i]:this._outlineBatches[i]).add(e,t),t.fillEnabled&&(t.onTerrain?(n=t.classificationTypeProperty.getValue(e),(t.fillMaterialProperty instanceof ColorMaterialProperty?this._groundColorBatches:this._groundMaterialBatches)[n].add(e,t)):(t.isClosed?t.fillMaterialProperty instanceof ColorMaterialProperty?defined(t.terrainOffsetProperty)?this._closedColorBatches[r+i]:this._closedColorBatches[i]:defined(t.terrainOffsetProperty)?this._closedMaterialBatches[r+i]:this._closedMaterialBatches[i]:t.fillMaterialProperty instanceof ColorMaterialProperty?defined(t.terrainOffsetProperty)?this._openColorBatches[r+i]:this._openColorBatches[i]:defined(t.terrainOffsetProperty)?this._openMaterialBatches[r+i]:this._openMaterialBatches[i]).add(e,t)))},GeometryVisualizer._onGeometryChanged=function(e){var t=this._removedObjects,i=this._changedObjects,r=e.entity,e=r.id;defined(t.get(e))||defined(i.get(e))||i.set(e,r)},GeometryVisualizer.prototype._onCollectionChanged=function(e,t,i){for(var r,n,a=this._addedObjects,o=this._removedObjects,s=this._changedObjects,l=i.length-1;-1<l;l--)r=(n=i[l]).id,a.remove(r)||(o.set(r,n),s.remove(r));for(l=t.length-1;-1<l;l--)r=(n=t[l]).id,(o.remove(r)?s:a).set(r,n)};var defaultScale$2=1,defaultFont="30px sans-serif",defaultStyle=LabelStyle$1.FILL,defaultFillColor=Color.WHITE,defaultOutlineColor$2=Color.BLACK,defaultOutlineWidth$1=1,defaultShowBackground=!1,defaultBackgroundColor$1=new Color(.165,.165,.165,.8),defaultBackgroundPadding$1=new Cartesian2(7,5),defaultPixelOffset$1=Cartesian2.ZERO,defaultEyeOffset$1=Cartesian3.ZERO,defaultHeightReference$1=HeightReference$1.NONE,defaultHorizontalOrigin$1=HorizontalOrigin$1.CENTER,defaultVerticalOrigin$1=VerticalOrigin$1.CENTER,positionScratch$a=new Cartesian3,fillColorScratch=new Color,outlineColorScratch=new Color,backgroundColorScratch=new Color,backgroundPaddingScratch=new Cartesian2,eyeOffsetScratch$1=new Cartesian3,pixelOffsetScratch$1=new Cartesian2,translucencyByDistanceScratch$1=new NearFarScalar,pixelOffsetScaleByDistanceScratch$1=new NearFarScalar,scaleByDistanceScratch$1=new NearFarScalar,distanceDisplayConditionScratch$6=new DistanceDisplayCondition;function EntityData$1(e){this.entity=e,this.label=void 0,this.index=void 0}function LabelVisualizer(e,t){t.collectionChanged.addEventListener(LabelVisualizer.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new AssociativeArray,this._onCollectionChanged(t,t.values,[],[])}function returnPrimitive$1(e,t,i){defined(e)&&(e.label=void 0,i.removeLabel(t))}LabelVisualizer.prototype.update=function(e){for(var t=this._items.values,i=this._cluster,r=0,n=t.length;r<n;r++){var a,o,s,l=t[r],c=l.entity,u=c._label,d=l.label,h=c.isShowing&&c.isAvailable(e)&&Property.getValueOrDefault(u._show,e,!0);h&&(o=Property.getValueOrUndefined(c._position,e,positionScratch$a),a=Property.getValueOrUndefined(u._text,e),h=defined(o)&&defined(a)),h?(Property.isConstant(c._position)||(i._clusterDirty=!0),s=!1,h=Property.getValueOrDefault(u._heightReference,e,defaultHeightReference$1),defined(d)||((d=i.getLabel(c)).id=c,l.label=d,s=Cartesian3.equals(d.position,o)&&d.heightReference===h),d.show=!0,d.position=o,d.text=a,d.scale=Property.getValueOrDefault(u._scale,e,defaultScale$2),d.font=Property.getValueOrDefault(u._font,e,defaultFont),d.style=Property.getValueOrDefault(u._style,e,defaultStyle),d.fillColor=Property.getValueOrDefault(u._fillColor,e,defaultFillColor,fillColorScratch),d.outlineColor=Property.getValueOrDefault(u._outlineColor,e,defaultOutlineColor$2,outlineColorScratch),d.outlineWidth=Property.getValueOrDefault(u._outlineWidth,e,defaultOutlineWidth$1),d.showBackground=Property.getValueOrDefault(u._showBackground,e,defaultShowBackground),d.backgroundColor=Property.getValueOrDefault(u._backgroundColor,e,defaultBackgroundColor$1,backgroundColorScratch),d.backgroundPadding=Property.getValueOrDefault(u._backgroundPadding,e,defaultBackgroundPadding$1,backgroundPaddingScratch),d.pixelOffset=Property.getValueOrDefault(u._pixelOffset,e,defaultPixelOffset$1,pixelOffsetScratch$1),d.eyeOffset=Property.getValueOrDefault(u._eyeOffset,e,defaultEyeOffset$1,eyeOffsetScratch$1),d.heightReference=h,d.horizontalOrigin=Property.getValueOrDefault(u._horizontalOrigin,e,defaultHorizontalOrigin$1),d.verticalOrigin=Property.getValueOrDefault(u._verticalOrigin,e,defaultVerticalOrigin$1),d.translucencyByDistance=Property.getValueOrUndefined(u._translucencyByDistance,e,translucencyByDistanceScratch$1),d.pixelOffsetScaleByDistance=Property.getValueOrUndefined(u._pixelOffsetScaleByDistance,e,pixelOffsetScaleByDistanceScratch$1),d.scaleByDistance=Property.getValueOrUndefined(u._scaleByDistance,e,scaleByDistanceScratch$1),d.distanceDisplayCondition=Property.getValueOrUndefined(u._distanceDisplayCondition,e,distanceDisplayConditionScratch$6),d.disableDepthTestDistance=Property.getValueOrUndefined(u._disableDepthTestDistance,e),s&&d._updateClamping()):returnPrimitive$1(l,c,i)}return!0},LabelVisualizer.prototype.getBoundingSphere=function(e,t){e=this._items.get(e.id);if(!defined(e)||!defined(e.label))return BoundingSphereState$1.FAILED;e=e.label;return t.center=Cartesian3.clone(defaultValue(e._clampedPosition,e.position),t.center),t.radius=0,BoundingSphereState$1.DONE},LabelVisualizer.prototype.isDestroyed=function(){return!1},LabelVisualizer.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(LabelVisualizer.prototype._onCollectionChanged,this);for(var e=this._entityCollection.values,t=0;t<e.length;t++)this._cluster.removeLabel(e[t]);return destroyObject(this)},LabelVisualizer.prototype._onCollectionChanged=function(e,t,i,r){for(var n,a=this._items,o=this._cluster,s=t.length-1;-1<s;s--)defined((n=t[s])._label)&&defined(n._position)&&a.set(n.id,new EntityData$1(n));for(s=r.length-1;-1<s;s--)defined((n=r[s])._label)&&defined(n._position)?a.contains(n.id)||a.set(n.id,new EntityData$1(n)):(returnPrimitive$1(a.get(n.id),n,o),a.remove(n.id));for(s=i.length-1;-1<s;s--)n=i[s],returnPrimitive$1(a.get(n.id),n,o),a.remove(n.id)};var defaultScale$3=1,defaultMinimumPixelSize=0,defaultIncrementallyLoadTextures=!0,defaultClampAnimations=!0,defaultShadows$1=ShadowMode$1.ENABLED,defaultHeightReference$2=HeightReference$1.NONE,defaultSilhouetteColor=Color.RED,defaultSilhouetteSize=0,defaultColor$6=Color.WHITE,defaultColorBlendMode=ColorBlendMode$1.HIGHLIGHT,defaultColorBlendAmount=.5,defaultImageBasedLightingFactor=new Cartesian2(1,1),modelMatrixScratch$1=new Matrix4,nodeMatrixScratch=new Matrix4;function ModelVisualizer(e,t){t.collectionChanged.addEventListener(ModelVisualizer.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new AssociativeArray,this._onCollectionChanged(t,t.values,[],[])}function removeModel(e,t,i,r){var n=i[t.id];defined(n)&&(r.removeAndDestroy(n.modelPrimitive),delete i[t.id])}function clearNodeTransformationsArticulationsScratch(e,t){e=t[e.id];defined(e)&&(e.nodeTransformationsScratch={},e.articulationsScratch={})}function checkModelLoad(e,t,i){e.readyPromise.otherwise(function(e){console.error(e),i[t.id].loadFail=!0})}function ScaledPositionProperty(e){this._definitionChanged=new Event,this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}ModelVisualizer.prototype.update=function(e){for(var t=this._entitiesToVisualize.values,i=this._modelHash,r=this._primitives,n=0,a=t.length;n<a;n++){var o,s,l=t[n],c=l._model,u=i[l.id],d=l.isShowing&&l.isAvailable(e)&&Property.getValueOrDefault(c._show,e,!0);if(d&&(s=l.computeModelMatrix(e,modelMatrixScratch$1),o=Resource.createIfNeeded(Property.getValueOrUndefined(c._uri,e)),d=defined(s)&&defined(o)),d){var h=defined(u)?u.modelPrimitive:void 0;if(defined(h)&&o.url===u.url||(defined(h)&&(r.removeAndDestroy(h),delete i[l.id]),(h=Model.fromGltf({url:o,incrementallyLoadTextures:Property.getValueOrDefault(c._incrementallyLoadTextures,e,defaultIncrementallyLoadTextures),scene:this._scene})).id=l,r.add(h),u={modelPrimitive:h,url:o.url,animationsRunning:!1,nodeTransformationsScratch:{},articulationsScratch:{},loadFail:!1},i[l.id]=u,checkModelLoad(h,l,i)),h.show=!0,h.scale=Property.getValueOrDefault(c._scale,e,defaultScale$3),h.minimumPixelSize=Property.getValueOrDefault(c._minimumPixelSize,e,defaultMinimumPixelSize),h.maximumScale=Property.getValueOrUndefined(c._maximumScale,e),h.modelMatrix=Matrix4.clone(s,h.modelMatrix),h.shadows=Property.getValueOrDefault(c._shadows,e,defaultShadows$1),h.heightReference=Property.getValueOrDefault(c._heightReference,e,defaultHeightReference$2),h.distanceDisplayCondition=Property.getValueOrUndefined(c._distanceDisplayCondition,e),h.silhouetteColor=Property.getValueOrDefault(c._silhouetteColor,e,defaultSilhouetteColor,h._silhouetteColor),h.silhouetteSize=Property.getValueOrDefault(c._silhouetteSize,e,defaultSilhouetteSize),h.color=Property.getValueOrDefault(c._color,e,defaultColor$6,h._color),h.colorBlendMode=Property.getValueOrDefault(c._colorBlendMode,e,defaultColorBlendMode),h.colorBlendAmount=Property.getValueOrDefault(c._colorBlendAmount,e,defaultColorBlendAmount),h.clippingPlanes=Property.getValueOrUndefined(c._clippingPlanes,e),h.clampAnimations=Property.getValueOrDefault(c._clampAnimations,e,defaultClampAnimations),h.imageBasedLightingFactor=Property.getValueOrDefault(c._imageBasedLightingFactor,e,defaultImageBasedLightingFactor),h.lightColor=Property.getValueOrUndefined(c._lightColor,e),h.ready){l=Property.getValueOrDefault(c._runAnimations,e,!0);u.animationsRunning!==l&&(l?h.activeAnimations.addAll({loop:ModelAnimationLoop$1.REPEAT}):h.activeAnimations.removeAll(),u.animationsRunning=l);var p=Property.getValueOrUndefined(c._nodeTransformations,e,u.nodeTransformationsScratch);if(defined(p))for(var m=Object.keys(p),f=0,g=m.length;f<g;++f){var _=m[f],y=p[_];defined(y)&&(defined(_=h.getNode(_))&&(y=Matrix4.fromTranslationRotationScale(y,nodeMatrixScratch),_.matrix=Matrix4.multiply(_.originalMatrix,y,y)))}var C=!1,v=Property.getValueOrUndefined(c._articulations,e,u.articulationsScratch);if(defined(v))for(var S=Object.keys(v),T=0,b=S.length;T<b;++T){var x=S[T],E=v[x];defined(E)&&(C=!0,h.setArticulationStage(x,E))}C&&h.applyArticulations()}}else defined(u)&&(u.modelPrimitive.show=!1)}return!0},ModelVisualizer.prototype.isDestroyed=function(){return!1},ModelVisualizer.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(ModelVisualizer.prototype._onCollectionChanged,this);for(var e=this._entitiesToVisualize.values,t=this._modelHash,i=this._primitives,r=e.length-1;-1<r;r--)removeModel(this,e[r],t,i);return destroyObject(this)},ModelVisualizer.prototype.getBoundingSphere=function(e,t){e=this._modelHash[e.id];if(!defined(e)||e.loadFail)return BoundingSphereState$1.FAILED;e=e.modelPrimitive;if(!defined(e)||!e.show)return BoundingSphereState$1.FAILED;if(!e.ready)return BoundingSphereState$1.PENDING;if(e.heightReference===HeightReference$1.NONE)BoundingSphere.transform(e.boundingSphere,e.modelMatrix,t);else{if(!defined(e._clampedModelMatrix))return BoundingSphereState$1.PENDING;BoundingSphere.transform(e.boundingSphere,e._clampedModelMatrix,t)}return BoundingSphereState$1.DONE},ModelVisualizer.prototype._onCollectionChanged=function(e,t,i,r){for(var n,a=this._entitiesToVisualize,o=this._modelHash,s=this._primitives,l=t.length-1;-1<l;l--)defined((n=t[l])._model)&&defined(n._position)&&a.set(n.id,n);for(l=r.length-1;-1<l;l--)defined((n=r[l])._model)&&defined(n._position)?(clearNodeTransformationsArticulationsScratch(n,o),a.set(n.id,n)):(removeModel(this,n,o,s),a.remove(n.id));for(l=i.length-1;-1<l;l--)removeModel(this,n=i[l],o,s),a.remove(n.id)},Object.defineProperties(ScaledPositionProperty.prototype,{isConstant:{get:function(){return Property.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return defined(this._value)?this._value.referenceFrame:ReferenceFrame$1.FIXED}}}),ScaledPositionProperty.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,ReferenceFrame$1.FIXED,t)},ScaledPositionProperty.prototype.setValue=function(e){this._value!==e&&(this._value=e,defined(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),defined(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))},ScaledPositionProperty.prototype.getValueInReferenceFrame=function(e,t,i){if(defined(this._value))return defined(i=this._value.getValueInReferenceFrame(e,t,i))?Ellipsoid.WGS84.scaleToGeodeticSurface(i,i):void 0},ScaledPositionProperty.prototype.equals=function(e){return this===e||e instanceof ScaledPositionProperty&&this._value===e._value},ScaledPositionProperty.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var defaultResolution=60,defaultWidth=1,scratchTimeInterval$1=new TimeInterval,subSampleCompositePropertyScratch=new TimeInterval,subSampleIntervalPropertyScratch=new TimeInterval;function EntityData$2(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function subSampleSampledProperty(e,t,i,r,n,a,o,s,l){var c=s,u=e.getValueInReferenceFrame(t,a,l[c]);defined(u)&&(l[c++]=u);for(var d,h,p,m,f=!defined(n)||JulianDate.lessThanOrEquals(n,t)||JulianDate.greaterThanOrEquals(n,i),g=0,_=r.length,y=r[g],C=i,v=!1;g<_;){if(!f&&JulianDate.greaterThanOrEquals(y,n)&&(defined(u=e.getValueInReferenceFrame(n,a,l[c]))&&(l[c++]=u),f=!0),JulianDate.greaterThan(y,t)&&JulianDate.lessThan(y,C)&&!y.equals(n)&&defined(u=e.getValueInReferenceFrame(y,a,l[c]))&&(l[c++]=u),g<_-1)if(0<o&&!v&&(m=r[g+1],(v=o<(m=JulianDate.secondsDifference(m,y)))&&(d=Math.ceil(m/o),h=0,p=m/Math.max(d,2),d=Math.max(d-1,1))),v&&h<d){y=JulianDate.addSeconds(y,p,new JulianDate),h++;continue}v=!1,y=r[++g]}return defined(u=e.getValueInReferenceFrame(i,a,l[c]))&&(l[c++]=u),c}function subSampleGenericProperty(e,t,i,r,n,a,o,s){for(var l,c=0,u=o,d=t,h=Math.max(a,60),p=!defined(r)||JulianDate.lessThanOrEquals(r,t)||JulianDate.greaterThanOrEquals(r,i);JulianDate.lessThan(d,i);)!p&&JulianDate.greaterThanOrEquals(d,r)&&(p=!0,defined(l=e.getValueInReferenceFrame(r,n,s[u]))&&(s[u]=l,u++)),defined(l=e.getValueInReferenceFrame(d,n,s[u]))&&(s[u]=l,u++),c++,d=JulianDate.addSeconds(t,h*c,new JulianDate);return defined(l=e.getValueInReferenceFrame(i,n,s[u]))&&(s[u]=l,u++),u}function subSampleIntervalProperty(e,t,i,r,n,a,o,s){subSampleIntervalPropertyScratch.start=t,subSampleIntervalPropertyScratch.stop=i;for(var l=o,c=e.intervals,u=0;u<c.length;u++){var d,h=c.get(u);TimeInterval.intersect(h,subSampleIntervalPropertyScratch,scratchTimeInterval$1).isEmpty||(d=h.start,h.isStartIncluded||(d=h.isStopIncluded?h.stop:JulianDate.addSeconds(h.start,JulianDate.secondsDifference(h.stop,h.start)/2,new JulianDate)),defined(d=e.getValueInReferenceFrame(d,n,s[l]))&&(s[l]=d,l++))}return l}function subSampleConstantProperty(e,t,i,r,n,a,o,s){n=e.getValueInReferenceFrame(t,n,s[o]);return defined(n)&&(s[o++]=n),o}function subSampleCompositeProperty(e,t,i,r,n,a,o,s){subSampleCompositePropertyScratch.start=t,subSampleCompositePropertyScratch.stop=i;for(var l=o,c=e.intervals,u=0;u<c.length;u++){var d,h,p,m=c.get(u);TimeInterval.intersect(m,subSampleCompositePropertyScratch,scratchTimeInterval$1).isEmpty||(p=m.start,d=m.stop,h=t,JulianDate.greaterThan(p,h)&&(h=p),p=i,JulianDate.lessThan(d,p)&&(p=d),l=reallySubSample(m.data,h,p,r,n,a,l,s))}return l}function reallySubSample(e,t,i,r,n,a,o,s){for(;e instanceof ReferenceProperty;)e=e.resolvedProperty;return o=e instanceof SampledPositionProperty?subSampleSampledProperty(e,t,i,e._property._times,r,n,a,o,s):(e instanceof CompositePositionProperty?subSampleCompositeProperty:e instanceof TimeIntervalCollectionPositionProperty?subSampleIntervalProperty:e instanceof ConstantPositionProperty||e instanceof ScaledPositionProperty&&Property.isConstant(e)?subSampleConstantProperty:subSampleGenericProperty)(e,t,i,r,n,a,o,s)}function subSample(e,t,i,r,n,a,o){defined(o)||(o=[]);a=reallySubSample(e,t,i,r,n,a,0,o);return o.length=a,o}var toFixedScratch=new Matrix3;function PolylineUpdater(e,t){this._unusedIndexes=[],this._polylineCollection=new PolylineCollection,this._scene=e,this._referenceFrame=t,e.primitives.add(this._polylineCollection)}function PathVisualizer(e,t){t.collectionChanged.addEventListener(PathVisualizer.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new AssociativeArray,this._onCollectionChanged(t,t.values,[],[])}PolylineUpdater.prototype.update=function(e){var t;this._referenceFrame===ReferenceFrame$1.INERTIAL&&(defined(t=Transforms.computeIcrfToFixedMatrix(e,toFixedScratch))||(t=Transforms.computeTemeToPseudoFixedMatrix(e,toFixedScratch)),Matrix4.fromRotationTranslation(t,Cartesian3.ZERO,this._polylineCollection.modelMatrix))},PolylineUpdater.prototype.updateObject=function(e,t){var i,r,n,a,o,s,l,c=t.entity,u=c._path,d=c._position,h=u._show,p=t.polyline,m=c.isShowing&&(!defined(h)||h.getValue(e));m&&(n=Property.getValueOrUndefined(u._leadTime,e),a=Property.getValueOrUndefined(u._trailTime,e),s=defined(l=c._availability),o=defined(n),h=defined(a),(m=s||o&&h)&&(h&&(i=JulianDate.addSeconds(e,-a,new JulianDate)),o&&(r=JulianDate.addSeconds(e,n,new JulianDate)),s&&(s=l.start,l=l.stop,h&&!JulianDate.greaterThan(s,i)||(i=s),o&&!JulianDate.lessThan(l,r)||(r=l)),m=JulianDate.lessThan(i,r))),m?(defined(p)||(0<(m=this._unusedIndexes).length?(m=m.pop(),p=this._polylineCollection.get(m),t.index=m):(t.index=this._polylineCollection.length,p=this._polylineCollection.add()),p.id=c,t.polyline=p),c=Property.getValueOrDefault(u._resolution,e,defaultResolution),p.show=!0,p.positions=subSample(d,i,r,e,this._referenceFrame,c,p.positions.slice()),p.material=MaterialProperty.getValue(e,u._material,p.material),p.width=Property.getValueOrDefault(u._width,e,defaultWidth),p.distanceDisplayCondition=Property.getValueOrUndefined(u._distanceDisplayCondition,e,p.distanceDisplayCondition)):defined(p)&&(this._unusedIndexes.push(t.index),t.polyline=void 0,p.show=!1,t.index=void 0)},PolylineUpdater.prototype.removeObject=function(e){var t=e.polyline;defined(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)},PolylineUpdater.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),destroyObject(this)},PathVisualizer.prototype.update=function(e){var t,i=this._updaters;for(t in i)i.hasOwnProperty(t)&&i[t].update(e);var r=this._items.values;if(0===r.length&&defined(this._updaters)&&0<Object.keys(this._updaters).length){for(var n in i)i.hasOwnProperty(n)&&i[n].destroy();this._updaters={}}for(var a=0,o=r.length;a<o;a++){var s=r[a],l=s.entity._position,c=s.updater,u=ReferenceFrame$1.FIXED;this._scene.mode===SceneMode$1.SCENE3D&&(u=l.referenceFrame);l=this._updaters[u];c===l&&defined(l)?l.updateObject(e,s):(defined(c)&&c.removeObject(s),defined(l)||((l=new PolylineUpdater(this._scene,u)).update(e),this._updaters[u]=l),defined(s.updater=l)&&l.updateObject(e,s))}return!0},PathVisualizer.prototype.isDestroyed=function(){return!1},PathVisualizer.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(PathVisualizer.prototype._onCollectionChanged,this);var e,t=this._updaters;for(e in t)t.hasOwnProperty(e)&&t[e].destroy();return destroyObject(this)},PathVisualizer.prototype._onCollectionChanged=function(e,t,i,r){for(var n,a,o=this._items,s=t.length-1;-1<s;s--)defined((n=t[s])._path)&&defined(n._position)&&o.set(n.id,new EntityData$2(n));for(s=r.length-1;-1<s;s--)defined((n=r[s])._path)&&defined(n._position)?o.contains(n.id)||o.set(n.id,new EntityData$2(n)):defined(a=o.get(n.id))&&(defined(a.updater)&&a.updater.removeObject(a),o.remove(n.id));for(s=i.length-1;-1<s;s--)n=i[s],defined(a=o.get(n.id))&&(defined(a.updater)&&a.updater.removeObject(a),o.remove(n.id))},PathVisualizer._subSample=subSample;var defaultColor$7=Color.WHITE,defaultOutlineColor$3=Color.BLACK,defaultOutlineWidth$2=0,defaultPixelSize=1,defaultDisableDepthTestDistance=0,colorScratch$6=new Color,positionScratch$b=new Cartesian3,outlineColorScratch$1=new Color,scaleByDistanceScratch$2=new NearFarScalar,translucencyByDistanceScratch$2=new NearFarScalar,distanceDisplayConditionScratch$7=new DistanceDisplayCondition;function EntityData$3(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function PointVisualizer(e,t){t.collectionChanged.addEventListener(PointVisualizer.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new AssociativeArray,this._onCollectionChanged(t,t.values,[],[])}function returnPrimitive$2(e,t,i){if(defined(e)){if(defined(e.pointPrimitive))return e.pointPrimitive=void 0,void i.removePoint(t);defined(e.billboard)&&(e.billboard=void 0,i.removeBillboard(t))}}PointVisualizer.prototype.update=function(e){for(var t=this._items.values,i=this._cluster,r=0,n=t.length;r<n;r++){var a,o,s,l,c,u=t[r],d=u.entity,h=d._point,p=u.pointPrimitive,m=u.billboard,f=Property.getValueOrDefault(h._heightReference,e,HeightReference$1.NONE);d.isShowing&&d.isAvailable(e)&&Property.getValueOrDefault(h._show,e,!0)&&defined(a=Property.getValueOrUndefined(d._position,e,positionScratch$b))?(Property.isConstant(d._position)||(i._clusterDirty=!0),o=c=!1,f===HeightReference$1.NONE||defined(m)?f!==HeightReference$1.NONE||defined(p)||(defined(m)&&(returnPrimitive$2(u,d,i),m=void 0),(p=i.getPoint(d)).id=d,u.pointPrimitive=p):(defined(p)&&(returnPrimitive$2(u,d,i),p=void 0),(m=i.getBillboard(d)).id=d,m.image=void 0,u.billboard=m,c=!0,o=Cartesian3.equals(m.position,a)&&m.heightReference===f),defined(p)?(p.show=!0,p.position=a,p.scaleByDistance=Property.getValueOrUndefined(h._scaleByDistance,e,scaleByDistanceScratch$2),p.translucencyByDistance=Property.getValueOrUndefined(h._translucencyByDistance,e,translucencyByDistanceScratch$2),p.color=Property.getValueOrDefault(h._color,e,defaultColor$7,colorScratch$6),p.outlineColor=Property.getValueOrDefault(h._outlineColor,e,defaultOutlineColor$3,outlineColorScratch$1),p.outlineWidth=Property.getValueOrDefault(h._outlineWidth,e,defaultOutlineWidth$2),p.pixelSize=Property.getValueOrDefault(h._pixelSize,e,defaultPixelSize),p.distanceDisplayCondition=Property.getValueOrUndefined(h._distanceDisplayCondition,e,distanceDisplayConditionScratch$7),p.disableDepthTestDistance=Property.getValueOrDefault(h._disableDepthTestDistance,e,defaultDisableDepthTestDistance)):defined(m)&&(m.show=!0,m.position=a,m.scaleByDistance=Property.getValueOrUndefined(h._scaleByDistance,e,scaleByDistanceScratch$2),m.translucencyByDistance=Property.getValueOrUndefined(h._translucencyByDistance,e,translucencyByDistanceScratch$2),m.distanceDisplayCondition=Property.getValueOrUndefined(h._distanceDisplayCondition,e,distanceDisplayConditionScratch$7),m.disableDepthTestDistance=Property.getValueOrDefault(h._disableDepthTestDistance,e,defaultDisableDepthTestDistance),m.heightReference=f,s=Property.getValueOrDefault(h._color,e,defaultColor$7,colorScratch$6),l=Property.getValueOrDefault(h._outlineColor,e,defaultOutlineColor$3,outlineColorScratch$1),p=Math.round(Property.getValueOrDefault(h._outlineWidth,e,defaultOutlineWidth$2)),f=Math.max(1,Math.round(Property.getValueOrDefault(h._pixelSize,e,defaultPixelSize))),(c=0<p?(m.scale=1,c||p!==u.outlineWidth||f!==u.pixelSize||!Color.equals(s,u.color)||!Color.equals(l,u.outlineColor)):(m.scale=f/50,f=50,c||p!==u.outlineWidth||!Color.equals(s,u.color)||!Color.equals(l,u.outlineColor)))&&(u.color=Color.clone(s,u.color),u.outlineColor=Color.clone(l,u.outlineColor),u.pixelSize=f,u.outlineWidth=p,h=s.alpha,c=s.toCssColorString(),s=l.toCssColorString(),l=JSON.stringify([c,f,s,p]),m.setImage(l,createBillboardPointCallback(h,c,s,p,f))),o&&m._updateClamping())):returnPrimitive$2(u,d,i)}return!0},PointVisualizer.prototype.getBoundingSphere=function(e,t){e=this._items.get(e.id);if(!defined(e)||!defined(e.pointPrimitive)&&!defined(e.billboard))return BoundingSphereState$1.FAILED;if(defined(e.pointPrimitive))t.center=Cartesian3.clone(e.pointPrimitive.position,t.center);else{e=e.billboard;if(!defined(e._clampedPosition))return BoundingSphereState$1.PENDING;t.center=Cartesian3.clone(e._clampedPosition,t.center)}return t.radius=0,BoundingSphereState$1.DONE},PointVisualizer.prototype.isDestroyed=function(){return!1},PointVisualizer.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(PointVisualizer.prototype._onCollectionChanged,this);for(var e=this._entityCollection.values,t=0;t<e.length;t++)this._cluster.removePoint(e[t]);return destroyObject(this)},PointVisualizer.prototype._onCollectionChanged=function(e,t,i,r){for(var n,a=this._items,o=this._cluster,s=t.length-1;-1<s;s--)defined((n=t[s])._point)&&defined(n._position)&&a.set(n.id,new EntityData$3(n));for(s=r.length-1;-1<s;s--)defined((n=r[s])._point)&&defined(n._position)?a.contains(n.id)||a.set(n.id,new EntityData$3(n)):(returnPrimitive$2(a.get(n.id),n,o),a.remove(n.id));for(s=i.length-1;-1<s;s--)n=i[s],returnPrimitive$2(a.get(n.id),n,o),a.remove(n.id)};var defaultZIndex$1=new ConstantProperty(0),polylineCollections={},scratchColor$i=new Color,defaultMaterial$2=new ColorMaterialProperty(Color.WHITE),defaultShow$1=new ConstantProperty(!0),defaultShadows$2=new ConstantProperty(ShadowMode$1.DISABLED),defaultDistanceDisplayCondition$6=new ConstantProperty(new DistanceDisplayCondition),defaultClassificationType$1=new ConstantProperty(ClassificationType$1.BOTH);function GeometryOptions(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function GroundGeometryOptions(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function PolylineGeometryUpdater(e,t){this._entity=e,this._scene=t,this._entitySubscription=e.definitionChanged.addEventListener(PolylineGeometryUpdater.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new Event,this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new GeometryOptions,this._groundGeometryOptions=new GroundGeometryOptions,this._id="polyline-"+e.id,this._clampToGround=!1,this._supportsPolylinesOnTerrain=Entity.supportsPolylinesOnTerrain(t),this._zIndex=0,this._onEntityPropertyChanged(e,"polyline",e.polyline,void 0)}Object.defineProperties(PolylineGeometryUpdater.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!defined(this._entity.availability)&&Property.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}}),PolylineGeometryUpdater.prototype.isOutlineVisible=function(e){return!1},PolylineGeometryUpdater.prototype.isFilled=function(e){var t=this._entity;return defaultValue(this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e),!1)},PolylineGeometryUpdater.prototype.createFillGeometryInstance=function(e){var t,i=this._entity,r=i.isAvailable(e),n=new ShowGeometryInstanceAttribute(r&&i.isShowing&&this._showProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),a={show:n,distanceDisplayCondition:DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(a)};return this._materialProperty instanceof ColorMaterialProperty&&(defined(this._materialProperty.color)&&(this._materialProperty.color.isConstant||r)&&(t=this._materialProperty.color.getValue(e,scratchColor$i)),defined(t)||(t=Color.WHITE),a.color=ColorGeometryInstanceAttribute.fromColor(t)),this.clampToGround?new GeometryInstance({id:i,geometry:new GroundPolylineGeometry(this._groundGeometryOptions),attributes:a}):(defined(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof ColorMaterialProperty&&(defined(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||r)&&(t=this._depthFailMaterialProperty.color.getValue(e,scratchColor$i)),defined(t)||(t=Color.WHITE),a.depthFailColor=ColorGeometryInstanceAttribute.fromColor(t)),new GeometryInstance({id:i,geometry:new PolylineGeometry(this._geometryOptions),attributes:a}))},PolylineGeometryUpdater.prototype.createOutlineGeometryInstance=function(e){},PolylineGeometryUpdater.prototype.isDestroyed=function(){return!1},PolylineGeometryUpdater.prototype.destroy=function(){this._entitySubscription(),destroyObject(this)},PolylineGeometryUpdater.prototype._onEntityPropertyChanged=function(e,t,i,r){var n,a,o,s,l,c,u;"availability"!==t&&"polyline"!==t||(defined(s=this._entity.polyline)?(l=s.positions,defined(u=s.show)&&u.isConstant&&!u.getValue(Iso8601.MINIMUM_VALUE)||!defined(l)?this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this)):(n=s.zIndex,c=(o=defaultValue(s.material,defaultMaterial$2))instanceof ColorMaterialProperty,this._materialProperty=o,this._depthFailMaterialProperty=s.depthFailMaterial,this._showProperty=defaultValue(u,defaultShow$1),this._shadowsProperty=defaultValue(s.shadows,defaultShadows$2),this._distanceDisplayConditionProperty=defaultValue(s.distanceDisplayCondition,defaultDistanceDisplayCondition$6),this._classificationTypeProperty=defaultValue(s.classificationType,defaultClassificationType$1),this._fillEnabled=!0,this._zIndex=defaultValue(n,defaultZIndex$1),a=s.width,t=s.arcType,o=s.clampToGround,u=s.granularity,l.isConstant&&Property.isConstant(a)&&Property.isConstant(t)&&Property.isConstant(u)&&Property.isConstant(o)&&Property.isConstant(n)?(s=this._geometryOptions,!defined(l=l.getValue(Iso8601.MINIMUM_VALUE,s.positions))||l.length<2?this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this)):(c=(c&&(!defined(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof ColorMaterialProperty)?PolylineColorAppearance:PolylineMaterialAppearance).VERTEX_FORMAT,s.vertexFormat=c,s.positions=l,s.width=defined(a)?a.getValue(Iso8601.MINIMUM_VALUE):void 0,s.arcType=defined(t)?t.getValue(Iso8601.MINIMUM_VALUE):void 0,s.granularity=defined(u)?u.getValue(Iso8601.MINIMUM_VALUE):void 0,(u=this._groundGeometryOptions).positions=l,u.width=s.width,u.arcType=s.arcType,u.granularity=s.granularity,this._clampToGround=!!defined(o)&&o.getValue(Iso8601.MINIMUM_VALUE),!this._clampToGround&&defined(n)&&oneTimeWarning("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this))):this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this)))):this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this)))},PolylineGeometryUpdater.prototype.createDynamicUpdater=function(e,t){return new DynamicGeometryUpdater$1(e,t,this)};var generateCartesianArcOptions={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function DynamicGeometryUpdater$1(e,t,i){this._line=void 0,this._primitives=e,this._groundPrimitives=t,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=i,this._positions=[]}function getLine(e){if(defined(e._line))return e._line;var t=e._geometryUpdater._scene.id,i=polylineCollections[t],r=e._primitives;!defined(i)||i.isDestroyed()?(i=new PolylineCollection,polylineCollections[t]=i,r.add(i)):r.contains(i)||r.add(i);i=i.add();return i.id=e._geometryUpdater._entity,e._line=i}DynamicGeometryUpdater$1.prototype.update=function(e){var t=this._geometryUpdater,i=t._entity,r=i.polyline,n=r.positions,a=Property.getValueOrUndefined(n,e,this._positions);t._clampToGround=Property.getValueOrDefault(r._clampToGround,e,!1),t._groundGeometryOptions.positions=a,t._groundGeometryOptions.width=Property.getValueOrDefault(r._width,e,1),t._groundGeometryOptions.arcType=Property.getValueOrDefault(r._arcType,e,ArcType$1.GEODESIC),t._groundGeometryOptions.granularity=Property.getValueOrDefault(r._granularity,e,9999);var o=this._groundPrimitives;if(defined(this._groundPolylinePrimitive)&&(o.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),t.clampToGround){if(!i.isShowing||!i.isAvailable(e)||!Property.getValueOrDefault(r._show,e,!0))return;if(!defined(a)||a.length<2)return;n=t.fillMaterialProperty;return n instanceof ColorMaterialProperty?s=new PolylineColorAppearance:(s=new PolylineMaterialAppearance({material:n=MaterialProperty.getValue(e,n,this._material),translucent:n.isTranslucent()}),this._material=n),this._groundPolylinePrimitive=o.add(new GroundPolylinePrimitive({geometryInstances:t.createFillGeometryInstance(e),appearance:s,classificationType:t.classificationTypeProperty.getValue(e),asynchronous:!1}),Property.getValueOrUndefined(t.zIndex,e)),void(defined(this._line)&&(this._line.show=!1))}var s,o=getLine(this);!(i.isShowing&&i.isAvailable(e)&&Property.getValueOrDefault(r._show,e,!0))||!defined(a)||a.length<2?o.show=!1:(s=ArcType$1.GEODESIC,s=Property.getValueOrDefault(r._arcType,e,s),i=t._scene.globe,s!==ArcType$1.NONE&&defined(i)&&(generateCartesianArcOptions.ellipsoid=i.ellipsoid,generateCartesianArcOptions.positions=a,generateCartesianArcOptions.granularity=Property.getValueOrUndefined(r._granularity,e),generateCartesianArcOptions.height=PolylinePipeline.extractHeights(a,i.ellipsoid),a=s===ArcType$1.GEODESIC?PolylinePipeline.generateCartesianArc(generateCartesianArcOptions):PolylinePipeline.generateCartesianRhumbArc(generateCartesianArcOptions)),o.show=!0,o.positions=a.slice(),o.material=MaterialProperty.getValue(e,t.fillMaterialProperty,o.material),o.width=Property.getValueOrDefault(r._width,e,1),o.distanceDisplayCondition=Property.getValueOrUndefined(r._distanceDisplayCondition,e,o.distanceDisplayCondition))},DynamicGeometryUpdater$1.prototype.getBoundingSphere=function(e){if(this._geometryUpdater.clampToGround){var t=this._groundPolylinePrimitive;if(defined(t)&&t.show&&t.ready){var i=t.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(defined(i)&&defined(i.boundingSphere))return BoundingSphere.clone(i.boundingSphere,e),BoundingSphereState$1.DONE}return defined(t)&&!t.ready?BoundingSphereState$1.PENDING:BoundingSphereState$1.DONE}t=getLine(this);return t.show&&0<t.positions.length?(BoundingSphere.fromPoints(t.positions,e),BoundingSphereState$1.DONE):BoundingSphereState$1.FAILED},DynamicGeometryUpdater$1.prototype.isDestroyed=function(){return!1},DynamicGeometryUpdater$1.prototype.destroy=function(){var e=this._geometryUpdater._scene.id,t=polylineCollections[e];defined(t)&&(t.remove(this._line),0===t.length&&(this._primitives.removeAndDestroy(t),delete polylineCollections[e])),defined(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),destroyObject(this)};var scratchColor$j=new Color,distanceDisplayConditionScratch$8=new DistanceDisplayCondition,defaultDistanceDisplayCondition$7=new DistanceDisplayCondition;function Batch$5(e,t,i,r,n){var a=i instanceof ColorMaterialProperty?PolylineColorAppearance:PolylineMaterialAppearance;this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=a,this.materialProperty=i,this.updaters=new AssociativeArray,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new AssociativeArray,this.material=void 0,this.updatersWithAttributes=new AssociativeArray,this.attributes=new AssociativeArray,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(Batch$5.prototype.onMaterialChanged,this),this.subscriptions=new AssociativeArray,this.showsUpdated=new AssociativeArray,this.zIndex=r,this._asynchronous=n}function StaticGroundPolylinePerMaterialBatch(e,t,i){this._items=[],this._orderedGroundPrimitives=e,this._classificationType=t,this._asynchronous=defaultValue(i,!0)}Batch$5.prototype.onMaterialChanged=function(){this.invalidated=!0},Batch$5.prototype.isMaterial=function(e){var t=this.materialProperty,e=e.fillMaterialProperty;return e===t||e instanceof ColorMaterialProperty&&t instanceof ColorMaterialProperty||defined(t)&&t.equals(e)},Batch$5.prototype.add=function(e,n,t){var a,i=n.id;this.updaters.set(i,n),this.geometry.set(i,t),n.hasConstantFill&&n.fillMaterialProperty.isConstant&&Property.isConstant(n.distanceDisplayConditionProperty)?(a=this).subscriptions.set(i,n.entity.definitionChanged.addEventListener(function(e,t,i,r){"isShowing"===t&&a.showsUpdated.set(n.id,n)})):this.updatersWithAttributes.set(i,n),this.createPrimitive=!0},Batch$5.prototype.remove=function(e){var t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);e=this.subscriptions.get(t);return defined(e)&&(e(),this.subscriptions.remove(t)),!0}return!1},Batch$5.prototype.update=function(e){var t=!0,i=this.primitive,r=this.orderedGroundPrimitives,n=this.geometry.values;if(this.createPrimitive)0<n.length?(defined(i)&&(defined(this.oldPrimitive)?r.remove(i):this.oldPrimitive=i),i=new GroundPolylinePrimitive({show:!1,asynchronous:this._asynchronous,geometryInstances:n.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===PolylineMaterialAppearance&&(this.material=MaterialProperty.getValue(e,this.materialProperty,this.material),i.appearance.material=this.material),r.add(i,this.zIndex),t=!1):(defined(i)&&(r.remove(i),i=void 0),defined(n=this.oldPrimitive)&&(r.remove(n),this.oldPrimitive=void 0)),this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1;else if(defined(i)&&i.ready){i.show=!0,defined(this.oldPrimitive)&&(r.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===PolylineMaterialAppearance&&(this.material=MaterialProperty.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);for(var a=this.updatersWithAttributes.values,o=a.length,s=0;s<o;s++){var l=a[s],c=l.entity,u=this.geometry.get(l.id),d=this.attributes.get(u.id.id);defined(d)||(d=i.getGeometryInstanceAttributes(u.id),this.attributes.set(u.id.id,d)),l.fillMaterialProperty.isConstant||(u=l.fillMaterialProperty.color,u=Property.getValueOrDefault(u,e,Color.WHITE,scratchColor$j),Color.equals(d._lastColor,u)||(d._lastColor=Color.clone(u,d._lastColor),d.color=ColorGeometryInstanceAttribute.toValue(u,d.color)));c=c.isShowing&&(l.hasConstantFill||l.isFilled(e));c!==(1===d.show[0])&&(d.show=ShowGeometryInstanceAttribute.toValue(c,d.show));l=l.distanceDisplayConditionProperty;Property.isConstant(l)||(l=Property.getValueOrDefault(l,e,defaultDistanceDisplayCondition$7,distanceDisplayConditionScratch$8),DistanceDisplayCondition.equals(l,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=DistanceDisplayCondition.clone(l,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=DistanceDisplayConditionGeometryInstanceAttribute.toValue(l,d.distanceDisplayCondition)))}this.updateShows(i)}else defined(i)&&!i.ready&&(t=!1);return t},Batch$5.prototype.updateShows=function(e){for(var t=this.showsUpdated.values,i=t.length,r=0;r<i;r++){var n=t[r],a=n.entity,o=this.geometry.get(n.id),n=this.attributes.get(o.id.id);defined(n)||(n=e.getGeometryInstanceAttributes(o.id),this.attributes.set(o.id.id,n));a=a.isShowing;a!==(1===n.show[0])&&(n.show=ShowGeometryInstanceAttribute.toValue(a,n.show),o.attributes.show.value[0]=n.show[0])}this.showsUpdated.removeAll()},Batch$5.prototype.contains=function(e){return this.updaters.contains(e.id)},Batch$5.prototype.getBoundingSphere=function(e,t){var i=this.primitive;if(!i.ready)return BoundingSphereState$1.PENDING;e=i.getGeometryInstanceAttributes(e.entity);return!defined(e)||!defined(e.boundingSphere)||defined(e.show)&&0===e.show[0]?BoundingSphereState$1.FAILED:(e.boundingSphere.clone(t),BoundingSphereState$1.DONE)},Batch$5.prototype.destroy=function(){var e=this.primitive,t=this.orderedGroundPrimitives;defined(e)&&t.remove(e);e=this.oldPrimitive;defined(e)&&t.remove(e),this.removeMaterialSubscription()},StaticGroundPolylinePerMaterialBatch.prototype.add=function(e,t){for(var i=this._items,r=i.length,n=t.createFillGeometryInstance(e),a=Property.getValueOrDefault(t.zIndex,0),o=0;o<r;++o){var s=i[o];if(s.isMaterial(t)&&s.zIndex===a)return void s.add(e,t,n)}var l=new Batch$5(this._orderedGroundPrimitives,this._classificationType,t.fillMaterialProperty,a,this._asynchronous);l.add(e,t,n),i.push(l)},StaticGroundPolylinePerMaterialBatch.prototype.remove=function(e){for(var t=this._items,i=t.length-1;0<=i;i--){var r=t[i];if(r.remove(e)){0===r.updaters.length&&(t.splice(i,1),r.destroy());break}}},StaticGroundPolylinePerMaterialBatch.prototype.update=function(e){for(var t=this._items,i=t.length-1;0<=i;i--){var r=t[i];if(r.invalidated){t.splice(i,1);for(var n=r.updaters.values,a=n.length,o=0;o<a;o++)this.add(e,n[o]);r.destroy()}}var s=!0;for(i=0;i<t.length;i++)s=t[i].update(e)&&s;return s},StaticGroundPolylinePerMaterialBatch.prototype.getBoundingSphere=function(e,t){for(var i=this._items,r=i.length,n=0;n<r;n++){var a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return BoundingSphereState$1.FAILED},StaticGroundPolylinePerMaterialBatch.prototype.removeAllPrimitives=function(){for(var e=this._items,t=e.length,i=0;i<t;i++)e[i].destroy();this._items.length=0};var emptyArray$1=[];function removeUpdater(e,t){for(var i=e._batches,r=i.length,n=0;n<r;n++)i[n].remove(t)}function insertUpdaterIntoBatch(e,t,i){var r,n,a;i.isDynamic?e._dynamicBatch.add(t,i):i.clampToGround&&i.fillEnabled?(n=i.classificationTypeProperty.getValue(t),e._groundBatches[n].add(t,i)):(i.fillEnabled&&(r=i.shadowsProperty.getValue(t)),n=0,defined(i.depthFailMaterialProperty)&&(n=i.depthFailMaterialProperty instanceof ColorMaterialProperty?1:2),defined(r)&&(a=r+n*ShadowMode$1.NUMBER_OF_SHADOW_MODES),i.fillEnabled&&(i.fillMaterialProperty instanceof ColorMaterialProperty?e._colorBatches:e._materialBatches)[a].add(t,i))}function PolylineVisualizer(e,t,i,r){var n;r=defaultValue(r,e.groundPrimitives),i=defaultValue(i,e.primitives),this._scene=e,this._primitives=i,this._entityCollection=void 0,this._addedObjects=new AssociativeArray,this._removedObjects=new AssociativeArray,this._changedObjects=new AssociativeArray;var a=ShadowMode$1.NUMBER_OF_SHADOW_MODES;for(this._colorBatches=new Array(3*a),this._materialBatches=new Array(3*a),n=0;n<a;++n)this._colorBatches[n]=new StaticGeometryColorBatch(i,PolylineColorAppearance,void 0,!1,n),this._materialBatches[n]=new StaticGeometryPerMaterialBatch(i,PolylineMaterialAppearance,void 0,!1,n),this._colorBatches[n+a]=new StaticGeometryColorBatch(i,PolylineColorAppearance,PolylineColorAppearance,!1,n),this._materialBatches[n+a]=new StaticGeometryPerMaterialBatch(i,PolylineMaterialAppearance,PolylineColorAppearance,!1,n),this._colorBatches[n+2*a]=new StaticGeometryColorBatch(i,PolylineColorAppearance,PolylineMaterialAppearance,!1,n),this._materialBatches[n+2*a]=new StaticGeometryPerMaterialBatch(i,PolylineMaterialAppearance,PolylineMaterialAppearance,!1,n);this._dynamicBatch=new DynamicGeometryBatch(i,r);var o=ClassificationType$1.NUMBER_OF_CLASSIFICATION_TYPES;for(this._groundBatches=new Array(o),n=0;n<o;++n)this._groundBatches[n]=new StaticGroundPolylinePerMaterialBatch(r,n);this._batches=this._colorBatches.concat(this._materialBatches,this._dynamicBatch,this._groundBatches),this._subscriptions=new AssociativeArray,this._updaters=new AssociativeArray,(this._entityCollection=t).collectionChanged.addEventListener(PolylineVisualizer.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,emptyArray$1)}PolylineVisualizer.prototype.update=function(e){for(var t,i,r,n=this._addedObjects,a=n.values,o=this._removedObjects,s=o.values,l=this._changedObjects,c=l.values,u=c.length-1;-1<u;u--)i=(t=c[u]).id,(r=this._updaters.get(i)).entity===t?(removeUpdater(this,r),insertUpdaterIntoBatch(this,e,r)):(s.push(t),a.push(t));for(u=s.length-1;-1<u;u--)i=(t=s[u]).id,r=this._updaters.get(i),removeUpdater(this,r),r.destroy(),this._updaters.remove(i),this._subscriptions.get(i)(),this._subscriptions.remove(i);for(u=a.length-1;-1<u;u--)i=(t=a[u]).id,r=new PolylineGeometryUpdater(t,this._scene),this._updaters.set(i,r),insertUpdaterIntoBatch(this,e,r),this._subscriptions.set(i,r.geometryChanged.addEventListener(PolylineVisualizer._onGeometryChanged,this));n.removeAll(),o.removeAll(),l.removeAll();var d=!0,h=this._batches,p=h.length;for(u=0;u<p;u++)d=h[u].update(e)&&d;return d};var getBoundingSphereArrayScratch$1=[],getBoundingSphereBoundingSphereScratch$1=new BoundingSphere;function DataSourceDisplay(e){GroundPrimitive.initializeTerrainHeights(),GroundPolylinePrimitive.initializeTerrainHeights();var t=e.scene,i=e.dataSourceCollection;this._eventHelper=new EventHelper,this._eventHelper.add(i.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(i.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(i.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=i,this._scene=t,this._visualizersCallback=defaultValue(e.visualizersCallback,DataSourceDisplay.defaultVisualizersCallback);var r=!1,n=new PrimitiveCollection,a=new PrimitiveCollection;0<i.length&&(t.primitives.add(n),t.groundPrimitives.add(a),r=!0),this._primitives=n,this._groundPrimitives=a;for(var o=0,s=i.length;o<s;o++)this._onDataSourceAdded(i,i.get(o));var l,c,u,e=new CustomDataSource;this._onDataSourceAdded(void 0,e),this._defaultDataSource=e,r||(l=this,r=function(){t.primitives.add(n),t.groundPrimitives.add(a),c(),u(),l._removeDefaultDataSourceListener=void 0,l._removeDataSourceCollectionListener=void 0},c=e.entities.collectionChanged.addEventListener(r),u=i.dataSourceAdded.addEventListener(r)),this._removeDefaultDataSourceListener=c,this._removeDataSourceCollectionListener=u,this._ready=!1}PolylineVisualizer.prototype.getBoundingSphere=function(e,t){for(var i=getBoundingSphereArrayScratch$1,r=getBoundingSphereBoundingSphereScratch$1,n=0,a=BoundingSphereState$1.DONE,o=this._batches,s=o.length,l=this._updaters.get(e.id),c=0;c<s;c++){if((a=o[c].getBoundingSphere(l,r))===BoundingSphereState$1.PENDING)return BoundingSphereState$1.PENDING;a===BoundingSphereState$1.DONE&&(i[n]=BoundingSphere.clone(r,i[n]),n++)}return 0===n?BoundingSphereState$1.FAILED:(i.length=n,BoundingSphere.fromBoundingSpheres(i,t),BoundingSphereState$1.DONE)},PolylineVisualizer.prototype.isDestroyed=function(){return!1},PolylineVisualizer.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(PolylineVisualizer.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();for(var e=this._batches,t=e.length,i=0;i<t;i++)e[i].removeAllPrimitives();var r=this._subscriptions.values,t=r.length;for(i=0;i<t;i++)r[i]();return this._subscriptions.removeAll(),destroyObject(this)},PolylineVisualizer._onGeometryChanged=function(e){var t=this._removedObjects,i=this._changedObjects,r=e.entity,e=r.id;defined(t.get(e))||defined(i.get(e))||i.set(e,r)},PolylineVisualizer.prototype._onCollectionChanged=function(e,t,i){for(var r,n,a=this._addedObjects,o=this._removedObjects,s=this._changedObjects,l=i.length-1;-1<l;l--)r=(n=i[l]).id,a.remove(r)||(o.set(r,n),s.remove(r));for(l=t.length-1;-1<l;l--)r=(n=t[l]).id,(o.remove(r)?s:a).set(r,n)},DataSourceDisplay.defaultVisualizersCallback=function(e,t,i){var r=i.entities;return[new BillboardVisualizer(t,r),new GeometryVisualizer(e,r,i._primitives,i._groundPrimitives),new LabelVisualizer(t,r),new ModelVisualizer(e,r),new Cesium3DTilesetVisualizer(e,r),new PointVisualizer(t,r),new PathVisualizer(e,r),new PolylineVisualizer(e,r,i._primitives,i._groundPrimitives)]},Object.defineProperties(DataSourceDisplay.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}}),DataSourceDisplay.prototype.isDestroyed=function(){return!1},DataSourceDisplay.prototype.destroy=function(){this._eventHelper.removeAll();for(var e=this._dataSourceCollection,t=0,i=e.length;t<i;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return this._onDataSourceRemoved(void 0,this._defaultDataSource),defined(this._removeDefaultDataSourceListener)?(this._removeDefaultDataSourceListener(),this._removeDataSourceCollectionListener()):(this._scene.primitives.remove(this._primitives),this._scene.groundPrimitives.remove(this._groundPrimitives)),destroyObject(this)},DataSourceDisplay.prototype.update=function(e){if(!ApproximateTerrainHeights.initialized)return this._ready=!1;for(var t,i,r,n=!0,a=this._dataSourceCollection,o=a.length,s=0;s<o;s++){var l=a.get(s);for(defined(l.update)&&(n=l.update(e)&&n),r=(i=l._visualizers).length,t=0;t<r;t++)n=i[t].update(e)&&n}for(r=(i=this._defaultDataSource._visualizers).length,t=0;t<r;t++)n=i[t].update(e)&&n;return this._ready=n},DataSourceDisplay.prototype._postRender=function(){for(var e=this._scene.frameState,t=this._dataSourceCollection,i=t.length,r=0;r<i;r++){var n=t.get(r),a=n.credit;defined(a)&&e.creditDisplay.addCredit(a);var o=n._resourceCredits;if(defined(o))for(var s=o.length,l=0;l<s;l++)e.creditDisplay.addCredit(o[l])}};var getBoundingSphereArrayScratch$2=[],getBoundingSphereBoundingSphereScratch$2=new BoundingSphere;DataSourceDisplay.prototype.getBoundingSphere=function(e,t,i){if(!this._ready)return BoundingSphereState$1.PENDING;var r=this._defaultDataSource;if(!r.entities.contains(e)){r=void 0;for(var n=this._dataSourceCollection,a=n.length,o=0;o<a;o++){var s=n.get(o);if(s.entities.contains(e)){r=s;break}}}if(!defined(r))return BoundingSphereState$1.FAILED;var l=getBoundingSphereArrayScratch$2,c=getBoundingSphereBoundingSphereScratch$2,u=0,d=BoundingSphereState$1.DONE,h=r._visualizers,p=h.length;for(o=0;o<p;o++)if(defined(h[o].getBoundingSphere)){if(d=h[o].getBoundingSphere(e,c),!t&&d===BoundingSphereState$1.PENDING)return BoundingSphereState$1.PENDING;d===BoundingSphereState$1.DONE&&(l[u]=BoundingSphere.clone(c,l[u]),u++)}return 0===u?BoundingSphereState$1.FAILED:(l.length=u,BoundingSphere.fromBoundingSpheres(l,i),BoundingSphereState$1.DONE)},DataSourceDisplay.prototype._onDataSourceAdded=function(e,t){var i=this._scene,r=this._primitives,n=this._groundPrimitives,r=r.add(new PrimitiveCollection),n=n.add(new OrderedGroundPrimitiveCollection);t._primitives=r,t._groundPrimitives=n;n=t.clustering;n._initialize(i),r.add(n),t._visualizers=this._visualizersCallback(i,n,t)},DataSourceDisplay.prototype._onDataSourceRemoved=function(e,t){var i=this._primitives,r=this._groundPrimitives,n=t._primitives,a=t._groundPrimitives,o=t.clustering;n.remove(o);for(var s=t._visualizers,l=s.length,c=0;c<l;c++)s[c].destroy();i.remove(n),r.remove(a),t._visualizers=void 0},DataSourceDisplay.prototype._onDataSourceMoved=function(e,t,i){var r=this._primitives,n=this._groundPrimitives,a=e._primitives,e=e._groundPrimitives;t===i+1?(r.raise(a),n.raise(e)):t===i-1?(r.lower(a),n.lower(e)):0===t?(r.lowerToBottom(a),n.lowerToBottom(e),r.raise(a),n.raise(e)):(r.raiseToTop(a),n.raiseToTop(e))};var updateTransformMatrix3Scratch1=new Matrix3,updateTransformMatrix3Scratch2=new Matrix3,updateTransformMatrix3Scratch3=new Matrix3,updateTransformMatrix4Scratch=new Matrix4,updateTransformCartesian3Scratch1=new Cartesian3,updateTransformCartesian3Scratch2=new Cartesian3,updateTransformCartesian3Scratch3=new Cartesian3,updateTransformCartesian3Scratch4=new Cartesian3,updateTransformCartesian3Scratch5=new Cartesian3,updateTransformCartesian3Scratch6=new Cartesian3,deltaTime=new JulianDate,northUpAxisFactor=1.25;function updateTransform(e,t,i,r,n,a,o){var s,l,c,u,d,h,p,m,f,g,_,y,C=e.scene.mode,v=n.getValue(a,e._lastCartesian);defined(v)&&(l=s=!1,C===SceneMode$1.SCENE3D&&(JulianDate.addSeconds(a,.001,deltaTime),defined(h=n.getValue(deltaTime,updateTransformCartesian3Scratch1))||(JulianDate.addSeconds(a,-.001,deltaTime),h=n.getValue(deltaTime,updateTransformCartesian3Scratch1),l=!0),defined(h)&&(p=Transforms.computeFixedToIcrfMatrix(a,updateTransformMatrix3Scratch1),m=Transforms.computeFixedToIcrfMatrix(deltaTime,updateTransformMatrix3Scratch2),defined(p)&&defined(m)?y=Matrix3.transpose(p,updateTransformMatrix3Scratch3):(y=Transforms.computeTemeToPseudoFixedMatrix(a,updateTransformMatrix3Scratch3),p=Matrix3.transpose(y,updateTransformMatrix3Scratch1),m=Transforms.computeTemeToPseudoFixedMatrix(deltaTime,updateTransformMatrix3Scratch2),Matrix3.transpose(m,m)),n=Matrix3.multiplyByVector(p,v,updateTransformCartesian3Scratch5),a=Matrix3.multiplyByVector(m,h,updateTransformCartesian3Scratch6),Cartesian3.subtract(n,a,updateTransformCartesian3Scratch4),p=1e3*Cartesian3.magnitude(updateTransformCartesian3Scratch4),(m=-(m=CesiumMath.GRAVITATIONALPARAMETER)/(p*p-2*m/Cartesian3.magnitude(n)))<0||m>northUpAxisFactor*o.maximumRadius?(c=updateTransformCartesian3Scratch2,Cartesian3.normalize(v,c),Cartesian3.negate(c,c),d=Cartesian3.clone(Cartesian3.UNIT_Z,updateTransformCartesian3Scratch3),u=Cartesian3.cross(d,c,updateTransformCartesian3Scratch1),Cartesian3.magnitude(u)>CesiumMath.EPSILON7&&(Cartesian3.normalize(c,c),Cartesian3.normalize(u,u),d=Cartesian3.cross(c,u,updateTransformCartesian3Scratch3),Cartesian3.normalize(d,d),s=!0)):Cartesian3.equalsEpsilon(v,h,CesiumMath.EPSILON7)||(d=updateTransformCartesian3Scratch2,Cartesian3.normalize(n,d),Cartesian3.normalize(a,a),u=Cartesian3.cross(d,a,updateTransformCartesian3Scratch3),l&&(u=Cartesian3.multiplyByScalar(u,-1,u)),Cartesian3.equalsEpsilon(u,Cartesian3.ZERO,CesiumMath.EPSILON7)||(c=Cartesian3.cross(u,d,updateTransformCartesian3Scratch1),Matrix3.multiplyByVector(y,c,c),Matrix3.multiplyByVector(y,u,u),Matrix3.multiplyByVector(y,d,d),Cartesian3.normalize(c,c),Cartesian3.normalize(u,u),Cartesian3.normalize(d,d),s=!0)))),defined(e.boundingSphere)&&(v=e.boundingSphere.center),r&&(f=Cartesian3.clone(t.position,updateTransformCartesian3Scratch4),g=Cartesian3.clone(t.direction,updateTransformCartesian3Scratch5),_=Cartesian3.clone(t.up,updateTransformCartesian3Scratch6)),y=updateTransformMatrix4Scratch,s?(y[0]=c.x,y[1]=c.y,y[2]=c.z,y[3]=0,y[4]=u.x,y[5]=u.y,y[6]=u.z,y[7]=0,y[8]=d.x,y[9]=d.y,y[10]=d.z,y[11]=0,y[12]=v.x,y[13]=v.y,y[14]=v.z,y[15]=0):Transforms.eastNorthUpToFixedFrame(v,o,y),t._setTransform(y),r&&(Cartesian3.clone(f,t.position),Cartesian3.clone(g,t.direction),Cartesian3.clone(_,t.up),Cartesian3.cross(g,_,t.right))),i&&(e=C===SceneMode$1.SCENE2D||Cartesian3.equals(e._offset3D,Cartesian3.ZERO)?void 0:e._offset3D,t.lookAtTransform(t.transform,e))}function EntityView(e,t,i){this.entity=e,this.scene=t,this.ellipsoid=defaultValue(i,Ellipsoid.WGS84),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new Cartesian3,this._defaultOffset3D=void 0,this._offset3D=new Cartesian3}Object.defineProperties(EntityView,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=Cartesian3.clone(e,new Cartesian3)}}}),EntityView.defaultOffset3D=new Cartesian3(-14e3,3500,3500);var scratchHeadingPitchRange=new HeadingPitchRange,scratchCartesian$7=new Cartesian3;EntityView.prototype.update=function(e,t){var i,r,n,a,o,s,l,c,u=this.scene,d=this.ellipsoid,h=u.mode;h===SceneMode$1.MORPHING||defined(r=(i=this.entity).position)&&(c=i!==this._lastEntity,n=h!==this._mode,a=u.camera,o=c||n,s=!0,c?!(u=defined(l=i.viewFrom))&&defined(t)?(scratchHeadingPitchRange.pitch=-CesiumMath.PI_OVER_FOUR,scratchHeadingPitchRange.range=0,defined(c=r.getValue(e,scratchCartesian$7))&&(c=2-1/Math.max(1,Cartesian3.magnitude(c)/d.maximumRadius),scratchHeadingPitchRange.pitch*=c),a.viewBoundingSphere(t,scratchHeadingPitchRange),this.boundingSphere=t,s=o=!1):u&&defined(l.getValue(e,this._offset3D))||Cartesian3.clone(EntityView._defaultOffset3D,this._offset3D):n||this._mode===SceneMode$1.SCENE2D||Cartesian3.clone(a.position,this._offset3D),this._lastEntity=i,this._mode=h,updateTransform(this,a,o,s,r,e,d))};var tmp$3={};!function(b){var a,e,d="File format is not recognized.",o="File contains encrypted entry.",s="File is using Zip64 (4gb+ file size).",n="Error while reading zip file.",t="Error while reading file data.",g=524288,x="inflate.js",S="deflate.js",l="text/plain",T="message";try{a=0===new Blob([new DataView(new ArrayBuffer(0))]).size}catch(e){}function E(){var r=-1,n=this;n.append=function(e){for(var t=n.table,i=0;i<e.length;i++)r=r>>>8^t[255&(r^e[i])]},n.get=function(){return~r}}function P(e,t){var i=new ArrayBuffer(e),e=new Uint8Array(i);return t&&e.set(t,0),{buffer:i,array:e,view:new DataView(i)}}function i(){}function r(r){var n,a=this;a.size=0,a.init=function(e,t){var i=new Blob([r],{type:l});(n=new u(i)).init(function(){a.size=n.size,e()},t)},a.readUint8Array=function(e,t,i,r){n.readUint8Array(e,t,i,r)}}function c(c){var u,i=this;i.size=0,i.init=function(e){for(var t=c.length;"="==c.charAt(t-1);)t--;u=c.indexOf(",")+1,i.size=Math.floor(.75*(t-u)),e()},i.readUint8Array=function(e,t,i){for(var r=P(t),n=4*Math.floor(e/3),a=4*Math.ceil((e+t)/3),o=window.atob(c.substring(n+u,a+u)),s=e-3*Math.floor(n/4),l=s;l<s+t;l++)r.array[l-s]=o.charCodeAt(l);i(r.array)}}function u(a){this.size=0,this.init=function(e){this.size=a.size,e()},this.readUint8Array=function(e,t,i,r){var n;(n=new FileReader).onload=function(e){i(new Uint8Array(e.target.result))},n.onerror=r,n.readAsArrayBuffer((n=e,e=t,(t=a).slice?t.slice(n,n+e):t.webkitSlice?t.webkitSlice(n,n+e):t.mozSlice?t.mozSlice(n,n+e):t.msSlice?t.msSlice(n,n+e):void 0))}}function h(){}function p(r){var n;this.init=function(e){n=new Blob([],{type:l}),e()},this.writeUint8Array=function(e,t){n=new Blob([n,a?e:e.buffer],{type:l}),t()},this.getData=function(t,e){var i=new FileReader;i.onload=function(e){t(e.target.result)},i.onerror=e,i.readAsText(n,r)}}function m(t){var a="",o="";this.init=function(e){a+="data:"+(t||"")+";base64,",e()},this.writeUint8Array=function(e,t){var i,r=o.length,n=o;for(o="",i=0;i<3*Math.floor((r+e.length)/3)-r;i++)n+=String.fromCharCode(e[i]);for(;i<e.length;i++)o+=String.fromCharCode(e[i]);2<n.length?a+=window.btoa(n):o=n,t()},this.getData=function(e){e(a+window.btoa(o))}}function f(i){var r;this.init=function(e){r=new Blob([],{type:i}),e()},this.writeUint8Array=function(e,t){r=new Blob([r,a?e:e.buffer],{type:i}),t()},this.getData=function(e){e(r)}}function A(t,e,i,r,n,a,o,s,l,c){var u,d,h=0;function p(){t.removeEventListener(T,m,!1),s(d)}function m(e){var e=e.data,t=e.data;e.onappend&&(d+=t.length,i.writeUint8Array(t,function(){a(!1,t),f()},c)),e.onflush&&(t?(d+=t.length,i.writeUint8Array(t,function(){a(!1,t),p()},c)):p()),e.progress&&o&&o(u+e.current,n)}function f(){(u=h*g)<n?e.readUint8Array(r+u,Math.min(g,n-u),function(e){t.postMessage({append:!0,data:e}),h++,o&&o(u,n),a(!0,e)},l):t.postMessage({flush:!0})}d=0,t.addEventListener(T,m,!1),f()}function w(r,t,n,a,o,s,l,c,u,d){var h,p=0,m=0;!function i(){var e;(h=p*g)<o?t.readUint8Array(a+h,Math.min(g,o-h),function(e){var t=r.append(e,function(){l&&l(a+h,o)});m+=t.length,s(!0,e),n.writeUint8Array(t,function(){s(!1,t),p++,setTimeout(i,1)},d),l&&l(h,o)},u):(e=r.flush())?(m+=e.length,n.writeUint8Array(e,function(){s(!1,e),c(m)},d)):c(m)}()}function D(e,r,n,a,o,s,l,c,u){var d=0,h=new E;!function t(){var i=d*g;i<a?e.readUint8Array(n+i,Math.min(g,a-i),function(e){o&&h.append(e),l&&l(i,a,e),r.writeUint8Array(e,function(){d++,t()},u)},c):s(a,h.get())}()}function _(e){for(var t,i="",r=["Ç","ü","é","â","ä","à","å","ç","ê","ë","è","ï","î","ì","Ä","Å","É","æ","Æ","ô","ö","ò","û","ù","ÿ","Ö","Ü","ø","£","Ø","×","ƒ","á","í","ó","ú","ñ","Ñ","ª","º","¿","®","¬","½","¼","¡","«","»","_","_","_","¦","¦","Á","Â","À","©","¦","¦","+","+","¢","¥","+","+","-","-","+","-","+","ã","Ã","+","+","-","-","¦","-","+","¤","ð","Ð","Ê","Ë","È","i","Í","Î","Ï","+","+","_","_","¦","Ì","_","Ó","ß","Ô","Ò","õ","Õ","µ","þ","Þ","Ú","Û","Ù","ý","Ý","¯","´","­","±","_","¾","¶","§","÷","¸","°","¨","·","¹","³","²","_"," "],n=0;n<e.length;n++)i+=127<(t=255&e.charCodeAt(n))?r[t-128]:String.fromCharCode(t);return i}function y(e){return decodeURIComponent(escape(e))}function C(e){for(var t="",i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t}function M(e,t,i,r,n){e.version=t.view.getUint16(i,!0),e.bitFlag=t.view.getUint16(i+2,!0),e.compressionMethod=t.view.getUint16(i+4,!0),e.lastModDateRaw=t.view.getUint32(i+6,!0),e.lastModDate=function(e){var t=(4294901760&e)>>16,i=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&i)>>11,(2016&i)>>5,2*(31&i),0)}catch(e){}}(e.lastModDateRaw),1!=(1&e.bitFlag)?(!r&&8==(8&e.bitFlag)||(e.crc32=t.view.getUint32(i+10,!0),e.compressedSize=t.view.getUint32(i+14,!0),e.uncompressedSize=t.view.getUint32(i+18,!0)),4294967295!==e.compressedSize&&4294967295!==e.uncompressedSize?(e.filenameLength=t.view.getUint16(i+22,!0),e.extraFieldLength=t.view.getUint16(i+24,!0)):n(s)):n(o)}function v(T,c){function u(){}return u.prototype.getData=function(m,r,f,g){var _,y=this;function n(e,t){_&&_.terminate(),_=null,e&&e(t)}function C(e,t){var i;g&&(i=t,(t=P(4)).view.setUint32(0,i),y.crc32!=t.view.getUint32(0))?v():m.getData(function(e){n(r,e)})}function v(){n(c,t)}function S(){n(c,"Error while writing file data.")}T.readUint8Array(y.offset,30,function(e){var p,e=P(e.length,e);1347093252==e.view.getUint32(0)?(M(y,e,4,!1,c),p=y.offset+30+y.filenameLength+y.extraFieldLength,m.init(function(){function e(e,t){o&&!e&&h.append(t)}function t(e){s(e,h.get())}var i,r,n,a,o,s,l,c,u,d,h;0===y.compressionMethod?D(T,m,p,y.compressedSize,g,C,f,v,S):(i=T,r=m,n=p,a=y.compressedSize,o=g,s=C,l=f,c=v,u=S,h=new E,b.zip.useWebWorkers?A(d=new Worker(b.zip.workerScriptsPath+x),i,r,n,a,e,l,t,c,u):w(new b.zip.Inflater,i,r,n,a,e,l,t,c,u),_=d)},S)):c(d)},v)},{getEntries:function(l){T.size<22?c(d):function t(i,r){T.readUint8Array(T.size-i,i,function(e){1347093766!=(e=P(e.length,e).view).getUint32(0)?t(i+1,r):r(e)},function(){c(n)})}(22,function(e){var t=e.getUint32(16,!0),s=e.getUint16(8,!0);T.readUint8Array(t,T.size-t,function(e){for(var t,i,r=0,n=[],a=P(e.length,e),o=0;o<s;o++){if(t=new u,1347092738!=a.view.getUint32(r))return void c(d);M(t,a,r+6,!0,c),t.commentLength=a.view.getUint16(r+32,!0),t.directory=16==(16&a.view.getUint8(r+38)),t.offset=a.view.getUint32(r+42,!0),i=C(a.array.subarray(r+46,r+46+t.filenameLength)),t.filename=(2048==(2048&t.bitFlag)?y:_)(i),t.directory||"/"!=t.filename.charAt(t.filename.length-1)||(t.directory=!0),i=C(a.array.subarray(r+46+t.filenameLength+t.extraFieldLength,r+46+t.filenameLength+t.extraFieldLength+t.commentLength)),t.comment=(2048==(2048&t.bitFlag)?y:_)(i),n.push(t),r+=46+t.filenameLength+t.extraFieldLength+t.commentLength}l(n)},function(){c(n)})})},close:function(e){e&&e()}}}function I(e){return unescape(encodeURIComponent(e))}function R(e){for(var t=[],i=0;i<e.length;i++)t.push(e.charCodeAt(i));return t}function O(f,s,g){var _,l={},c=[],u=0;function y(e,t){_&&_.terminate(),_=null,e&&e(t)}function C(){y(s,"Error while writing zip file.")}function v(){y(s,t)}return{add:function(i,d,r,h,p){var n,a,o;function m(e,t){var i=P(16);u+=e||0,i.view.setUint32(0,1347094280),void 0!==t&&(n.view.setUint32(10,t,!0),i.view.setUint32(4,t,!0)),d&&(i.view.setUint32(8,e,!0),n.view.setUint32(14,e,!0),i.view.setUint32(12,d.size,!0),n.view.setUint32(18,d.size,!0)),f.writeUint8Array(i.array,function(){u+=16,y(r)},C)}function e(){var e,t;p=p||{},i=i.trim(),p.directory&&"/"!=i.charAt(i.length-1)&&(i+="/"),l.hasOwnProperty(i)?s("File already exists."):(a=R(I(i)),c.push(i),e=function(){function t(e,t){e&&u.append(t)}function i(e){a(e,u.get())}var r,n,e,a,o,s,l,c,u;d?g||0===p.level?D(d,f,0,d.size,!0,m,h,v,C):(r=d,n=f,e=p.level,a=m,o=h,s=v,l=C,u=new E,b.zip.useWebWorkers?((c=new Worker(b.zip.workerScriptsPath+S)).addEventListener(T,function e(){c.removeEventListener(T,e,!1),A(c,r,n,0,r.size,t,o,i,s,l)},!1),c.postMessage({init:!0,level:e})):w(new b.zip.Deflater,r,n,0,r.size,t,o,i,s,l),_=c):m()},o=p.lastModDate||new Date,n=P(26),l[i]={headerArray:n.array,directory:p.directory,filename:a,offset:u,comment:R(I(p.comment||""))},n.view.setUint32(0,335546376),p.version&&n.view.setUint8(0,p.version),g||0===p.level||p.directory||n.view.setUint16(4,2048),n.view.setUint16(6,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2,!0),n.view.setUint16(8,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate(),!0),n.view.setUint16(22,a.length,!0),(t=P(30+a.length)).view.setUint32(0,1347093252),t.array.set(n.array,4),t.array.set(a,30),u+=t.array.length,f.writeUint8Array(t.array,e,C))}d?d.init(e,v):e()},close:function(e){for(var t,i,r=0,n=0,a=0;a<c.length;a++)r+=46+(i=l[c[a]]).filename.length+i.comment.length;for(t=P(r+22),a=0;a<c.length;a++)i=l[c[a]],t.view.setUint32(n,1347092738),t.view.setUint16(n+4,5120),t.array.set(i.headerArray,n+6),t.view.setUint16(n+32,i.comment.length,!0),i.directory&&t.view.setUint8(n+38,16),t.view.setUint32(n+42,i.offset,!0),t.array.set(i.filename,n+46),t.array.set(i.comment,n+46+i.filename.length),n+=46+i.filename.length+i.comment.length;t.view.setUint32(n,1347093766),t.view.setUint16(n+8,c.length,!0),t.view.setUint16(n+10,c.length,!0),t.view.setUint32(n+12,r,!0),t.view.setUint32(n+16,u,!0),f.writeUint8Array(t.array,function(){y(function(){f.getData(e)})},C)}}}E.prototype.table=function(){for(var e,t,i=[],r=0;r<256;r++){for(t=r,e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;i[r]=t}return i}(),(r.prototype=new i).constructor=r,(c.prototype=new i).constructor=c,(u.prototype=new i).constructor=u,h.prototype.getData=function(e){e(this.data)},(p.prototype=new h).constructor=p,(m.prototype=new h).constructor=m,(f.prototype=new h).constructor=f,b.zip={Reader:i,Writer:h,BlobReader:u,Data64URIReader:c,TextReader:r,BlobWriter:f,Data64URIWriter:m,TextWriter:p,createReader:function(e,t,i){e.init(function(){t(v(e,i))},i)},createWriter:function(e,t,i,r){e.init(function(){t(O(e,i,r))},i)},useWebWorkers:!0},Object.defineProperties(b.zip,{workerScriptsPath:{get:function(){return void 0===e&&(e=buildModuleUrl("ThirdParty/Workers/")),e}}})}(tmp$3);var zip=tmp$3.zip,BILLBOARD_SIZE=32,kmlNamespace="http://www.opengis.net/kml/2.2",gxNamespace="http://www.google.com/kml/ext/2.2",xmlnsNamespace="http://www.w3.org/2000/xmlns/";function ExternalFileHandler(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}var imageTypeRegex=/^data:image\/([^,;]+)/;function getModelBlobHander(t,i){return function(e){t._files[i]=e}}function ValueGetter(e){this._time=e}function StyleCache(){this._ids={},this._styles={},this._count=0}function IdManager(){this._ids={}}function exportKml(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).entities,i=defaultValue(e.kmz,!1),r=exportKml._createState(e),n=t.values.filter(function(e){return!defined(e.parent)}),e=r.kmlDoc,t=e.documentElement;t.setAttributeNS(xmlnsNamespace,"xmlns:gx",gxNamespace);e=e.createElement("Document");t.appendChild(e),recurseEntities(r,e,n),r.styleCache.save(e);var a=r.externalFileHandler;return a.promise.then(function(){var e=(new XMLSerializer).serializeToString(r.kmlDoc);return i?createKmz(e,a.files):{kml:e,externalFiles:a.files}})}function createKmz(e,i){var r=when.defer();return zip.createWriter(new zip.BlobWriter,function(t){addKmlToZip(t,e).then(function(){var e=Object.keys(i);return addExternalFilesToZip(t,e,i,0)}).then(function(){t.close(function(e){r.resolve({kmz:e})})})}),r.promise}function addKmlToZip(e,t){var i=when.defer();return e.add("doc.kml",new zip.TextReader(t),function(){i.resolve()}),i.promise}function addExternalFilesToZip(e,t,i,r){if(t.length!==r){var n=t[r],a=when.defer();return e.add(n,new zip.BlobReader(i[n]),function(){a.resolve()}),a.promise.then(function(){return addExternalFilesToZip(e,t,i,r+1)})}}function recurseEntities(e,t,i){for(var r=e.kmlDoc,n=e.styleCache,a=e.valueGetter,o=e.idManager,s=i.length,l=0;l<s;++l){var c,u,d,h=i[l],p=[];createPoint(e,h,u=[],d=[]),createLineString(e,h.polyline,u,d),createPolygon(e,h.rectangle,u,d,p),createPolygon(e,h.polygon,u,d,p),createModel$1(e,h,h.model,u,d);var m=h.availability;defined(m)&&(c=r.createElement("TimeSpan"),JulianDate.equals(m.start,Iso8601.MINIMUM_VALUE)||c.appendChild(createBasicElementWithText(r,"begin",JulianDate.toIso8601(m.start))),JulianDate.equals(m.stop,Iso8601.MAXIMUM_VALUE)||c.appendChild(createBasicElementWithText(r,"end",JulianDate.toIso8601(m.stop))));for(var f=0;f<p.length;++f){var g=p[f];g.setAttribute("id",o.get(h.id)),g.appendChild(createBasicElementWithText(r,"name",h.name)),g.appendChild(createBasicElementWithText(r,"visibility",h.show)),g.appendChild(createBasicElementWithText(r,"description",h.description)),defined(c)&&g.appendChild(c),t.appendChild(g)}var _=u.length;if(0<_){var y=r.createElement("Placemark");y.setAttribute("id",o.get(h.id));var C,v=h.name,S=h.label;defined(S)&&(C=r.createElement("LabelStyle"),v=defined(m=a.get(S.text))&&0<m.length?m:v,defined(m=a.getColor(S.fillColor))&&(C.appendChild(createBasicElementWithText(r,"color",m)),C.appendChild(createBasicElementWithText(r,"colorMode","normal"))),defined(S=a.get(S.scale))&&C.appendChild(createBasicElementWithText(r,"scale",S)),d.push(C)),y.appendChild(createBasicElementWithText(r,"name",v)),y.appendChild(createBasicElementWithText(r,"visibility",h.show)),y.appendChild(createBasicElementWithText(r,"description",h.description)),defined(c)&&y.appendChild(c),t.appendChild(y);var T=d.length;if(0<T){for(var b=r.createElement("Style"),x=0;x<T;++x)b.appendChild(d[x]);y.appendChild(createBasicElementWithText(r,"styleUrl",n.get(b)))}if(1===u.length)y.appendChild(u[0]);else if(1<u.length){for(var E=r.createElement("MultiGeometry"),P=0;P<_;++P)E.appendChild(u[P]);y.appendChild(E)}}v=h._children;0<v.length&&((y=r.createElement("Folder")).setAttribute("id",o.get(h.id)),y.appendChild(createBasicElementWithText(r,"name",h.name)),y.appendChild(createBasicElementWithText(r,"visibility",h.show)),y.appendChild(createBasicElementWithText(r,"description",h.description)),t.appendChild(y),recurseEntities(e,y,v))}}ExternalFileHandler.prototype.texture=function(e){var t=this;if("string"==typeof e||e instanceof Resource){if(!(e=Resource.createIfNeeded(e)).isDataUri)return e.url;var i=e.url.match(imageTypeRegex),r="texture_"+ ++this._count;defined(i)&&(r+="."+i[1]);i=e.fetchBlob().then(function(e){t._files[r]=e});return this._promises.push(i),r}if(e instanceof HTMLCanvasElement){var n=when.defer();return this._promises.push(n.promise),r="texture_"+ ++this._count+".png",e.toBlob(function(e){t._files[r]=e,n.resolve()}),r}return""},ExternalFileHandler.prototype.model=function(e,t){var i=this._modelCallback;if(!defined(i))throw new RuntimeError("Encountered a model entity while exporting to KML, but no model callback was supplied.");var r,n,a={},t=i(e,t,a);for(r in a)a.hasOwnProperty(r)&&(n=when(a[r]),this._promises.push(n),n.then(getModelBlobHander(this,r)));return t},Object.defineProperties(ExternalFileHandler.prototype,{promise:{get:function(){return when.all(this._promises)}},files:{get:function(){return this._files}}}),ValueGetter.prototype.get=function(e,t,i){var r;return defined(e)&&(r=defined(e.getValue)?e.getValue(this._time,i):e),defaultValue(r,t)},ValueGetter.prototype.getColor=function(e,t){t=this.get(e,t);if(defined(t))return colorToString(t)},ValueGetter.prototype.getMaterialType=function(e){if(defined(e))return e.getType(this._time)},StyleCache.prototype.get=function(e){var t=this._ids,i=e.innerHTML;if(defined(t[i]))return t[i];var r="style-"+ ++this._count;return e.setAttribute("id",r),r="#"+r,t[i]=r,this._styles[i]=e,r},StyleCache.prototype.save=function(e){var t,i=this._styles,r=e.childNodes[0];for(t in i)i.hasOwnProperty(t)&&e.insertBefore(i[t],r)},IdManager.prototype.get=function(e){if(!defined(e))return this.get(createGuid());var t=this._ids;return defined(t[e])?e.toString()+"-"+ ++t[e]:(t[e]=0,e)},exportKml._createState=function(e){var t=e.entities,i=new StyleCache,r=t.computeAvailability(),n=defined(e.time)?e.time:r.start,a=defaultValue(e.defaultAvailability,r),t=defaultValue(e.sampleDuration,60);a.start===Iso8601.MINIMUM_VALUE?a.stop===Iso8601.MAXIMUM_VALUE?a=new TimeInterval:JulianDate.addSeconds(a.stop,-10*t,a.start):a.stop===Iso8601.MAXIMUM_VALUE&&JulianDate.addSeconds(a.start,10*t,a.stop);r=new ExternalFileHandler(e.modelCallback);return{kmlDoc:document.implementation.createDocument(kmlNamespace,"kml"),ellipsoid:defaultValue(e.ellipsoid,Ellipsoid.WGS84),idManager:new IdManager,styleCache:i,externalFileHandler:r,time:n,valueGetter:new ValueGetter(n),sampleDuration:t,defaultAvailability:new TimeIntervalCollection([a])}};var scratchCartesian3$a=new Cartesian3,scratchCartographic$9=new Cartographic,scratchJulianDate$2=new JulianDate;function createPoint(e,t,i,r){var n,a=e.kmlDoc,o=e.ellipsoid,s=e.valueGetter,l=defaultValue(t.billboard,t.point);(defined(l)||defined(t.path))&&((n=t.position).isConstant?(s.get(n,void 0,scratchCartesian3$a),n=createBasicElementWithText(a,"coordinates",getCoordinates(scratchCartesian3$a,o)),o=a.createElement("Point"),(a=a.createElement("altitudeMode")).appendChild(getAltitudeMode(e,l.heightReference)),o.appendChild(a),o.appendChild(n),i.push(o),o=(l instanceof BillboardGraphics?createIconStyleFromBillboard:createIconStyleFromPoint)(e,l),r.push(o)):createTracks(e,t,l,i,r))}function createTracks(e,t,i,r,n){var a,o=e.kmlDoc,s=e.ellipsoid,l=e.valueGetter,c=t.position,u=!0;c instanceof CompositePositionProperty?(a=c.intervals,u=!1):a=defaultValue(t.availability,e.defaultAvailability);var d,h=i instanceof ModelGraphics,p=[];for(D=0;D<a.length;++D){var m=a.get(D),f=u?c:m.data,g=o.createElement("altitudeMode");f instanceof ScaledPositionProperty?(f=f._value,g.appendChild(getAltitudeMode(e,HeightReference$1.CLAMP_TO_GROUND))):defined(i)?g.appendChild(getAltitudeMode(e,i.heightReference)):g.appendChild(getAltitudeMode(e,HeightReference$1.NONE));var _=[],y=[];if(f.isConstant){l.get(f,void 0,scratchCartesian3$a);var C=createBasicElementWithText(o,"coordinates",getCoordinates(scratchCartesian3$a,s));_.push(JulianDate.toIso8601(m.start)),y.push(C),_.push(JulianDate.toIso8601(m.stop)),y.push(C)}else if(f instanceof SampledPositionProperty)for(d=f._property._times,S=0;S<d.length;++S)_.push(JulianDate.toIso8601(d[S])),f.getValueInReferenceFrame(d[S],ReferenceFrame$1.FIXED,scratchCartesian3$a),y.push(getCoordinates(scratchCartesian3$a,s));else if(f instanceof SampledProperty){d=f._times;for(var v=f._values,S=0;S<d.length;++S)_.push(JulianDate.toIso8601(d[S])),Cartesian3.fromArray(v,3*S,scratchCartesian3$a),y.push(getCoordinates(scratchCartesian3$a,s))}else{var T=e.sampleDuration;m.start.clone(scratchJulianDate$2),m.isStartIncluded||JulianDate.addSeconds(scratchJulianDate$2,T,scratchJulianDate$2);for(var b=m.stop;JulianDate.lessThan(scratchJulianDate$2,b);)f.getValue(scratchJulianDate$2,scratchCartesian3$a),_.push(JulianDate.toIso8601(scratchJulianDate$2)),y.push(getCoordinates(scratchCartesian3$a,s)),JulianDate.addSeconds(scratchJulianDate$2,T,scratchJulianDate$2);m.isStopIncluded&&JulianDate.equals(scratchJulianDate$2,b)&&(f.getValue(scratchJulianDate$2,scratchCartesian3$a),_.push(JulianDate.toIso8601(scratchJulianDate$2)),y.push(getCoordinates(scratchCartesian3$a,s)))}var x=o.createElementNS(gxNamespace,"Track");x.appendChild(g);for(var E=0;E<_.length;++E){var P=createBasicElementWithText(o,"when",_[E]),A=createBasicElementWithText(o,"coord",y[E],gxNamespace);x.appendChild(P),x.appendChild(A)}h&&x.appendChild(createModelGeometry(e,i)),p.push(x)}if(1===p.length)r.push(p[0]);else if(1<p.length){for(var w=o.createElementNS(gxNamespace,"MultiTrack"),D=0;D<p.length;++D)w.appendChild(p[D]);r.push(w)}defined(i)&&!h&&(M=(i instanceof BillboardGraphics?createIconStyleFromBillboard:createIconStyleFromPoint)(e,i),n.push(M));var M,r=t.path;defined(r)&&(M=l.get(r.width),(defined(t=r.material)||defined(M))&&(r=o.createElement("LineStyle"),defined(M)&&r.appendChild(createBasicElementWithText(o,"width",M)),processMaterial(e,t,r),n.push(r)))}function createIconStyleFromPoint(e,t){var i=e.kmlDoc,r=e.valueGetter,n=i.createElement("IconStyle"),e=r.getColor(t.color);defined(e)&&(n.appendChild(createBasicElementWithText(i,"color",e)),n.appendChild(createBasicElementWithText(i,"colorMode","normal")));t=r.get(t.pixelSize);return defined(t)&&n.appendChild(createBasicElementWithText(i,"scale",t/BILLBOARD_SIZE)),n}function createIconStyleFromBillboard(e,t){var i=e.kmlDoc,r=e.valueGetter,n=e.externalFileHandler,a=i.createElement("IconStyle"),e=r.get(t.image);defined(e)&&(e=n.texture(e),(s=i.createElement("Icon")).appendChild(createBasicElementWithText(i,"href",e)),defined(o=r.get(t.imageSubRegion))&&(s.appendChild(createBasicElementWithText(i,"x",o.x,gxNamespace)),s.appendChild(createBasicElementWithText(i,"y",o.y,gxNamespace)),s.appendChild(createBasicElementWithText(i,"w",o.width,gxNamespace)),s.appendChild(createBasicElementWithText(i,"h",o.height,gxNamespace))),a.appendChild(s));e=r.getColor(t.color);defined(e)&&(a.appendChild(createBasicElementWithText(i,"color",e)),a.appendChild(createBasicElementWithText(i,"colorMode","normal")));var o=r.get(t.scale);defined(o)&&a.appendChild(createBasicElementWithText(i,"scale",o));var s=r.get(t.pixelOffset);defined(s)&&(o=defaultValue(o,1),Cartesian2.divideByScalar(s,o,s),e=r.get(t.width,BILLBOARD_SIZE),l=r.get(t.height,BILLBOARD_SIZE),(o=r.get(t.horizontalOrigin,HorizontalOrigin$1.CENTER))===HorizontalOrigin$1.CENTER?s.x-=.5*e:o===HorizontalOrigin$1.RIGHT&&(s.x-=e),(e=r.get(t.verticalOrigin,VerticalOrigin$1.CENTER))===VerticalOrigin$1.TOP?s.y+=l:e===VerticalOrigin$1.CENTER&&(s.y+=.5*l),(l=i.createElement("hotSpot")).setAttribute("x",-s.x),l.setAttribute("y",s.y),l.setAttribute("xunits","pixels"),l.setAttribute("yunits","pixels"),a.appendChild(l));var l=r.get(t.rotation),t=r.get(t.alignedAxis);return defined(l)&&Cartesian3.equals(Cartesian3.UNIT_Z,t)&&(0===(l=CesiumMath.toDegrees(-l))&&(l=360),a.appendChild(createBasicElementWithText(i,"heading",l))),a}function createLineString(e,t,i,r){var n,a,o,s,l=e.kmlDoc,c=e.ellipsoid,u=e.valueGetter;defined(t)&&(s=l.createElement("LineString"),o=l.createElement("altitudeMode"),a=(n=u.get(t.clampToGround,!1))?(s.appendChild(createBasicElementWithText(l,"tessellate",!0)),l.createTextNode("clampToGround")):l.createTextNode("absolute"),o.appendChild(a),s.appendChild(o),o=t.positions,c=createBasicElementWithText(l,"coordinates",getCoordinates(u.get(o),c)),s.appendChild(c),c=u.get(t.zIndex),n&&defined(c)&&s.appendChild(createBasicElementWithText(l,"drawOrder",c,gxNamespace)),i.push(s),s=l.createElement("LineStyle"),defined(u=u.get(t.width))&&s.appendChild(createBasicElementWithText(l,"width",u)),processMaterial(e,t.material,s),r.push(s))}function getRectangleBoundaries(e,t,i){var r=e.kmlDoc,e=e.valueGetter,n=e.get(t.height,0);0<i&&(n=i);for(var t=t.coordinates,a=e.get(t),o=[],s=[Rectangle.northeast,Rectangle.southeast,Rectangle.southwest,Rectangle.northwest],l=0;l<4;++l)s[l](a,scratchCartographic$9),o.push(CesiumMath.toDegrees(scratchCartographic$9.longitude)+","+CesiumMath.toDegrees(scratchCartographic$9.latitude)+","+n);e=createBasicElementWithText(r,"coordinates",o.join(" "));t=r.createElement("outerBoundaryIs"),r=r.createElement("LinearRing");return r.appendChild(e),t.appendChild(r),[t]}function getLinearRing(e,t,i,r){for(var n=e.kmlDoc,a=e.ellipsoid,o=[],s=t.length,l=0;l<s;++l)Cartographic.fromCartesian(t[l],a,scratchCartographic$9),o.push(CesiumMath.toDegrees(scratchCartographic$9.longitude)+","+CesiumMath.toDegrees(scratchCartographic$9.latitude)+","+(r?scratchCartographic$9.height:i));e=createBasicElementWithText(n,"coordinates",o.join(" ")),n=n.createElement("LinearRing");return n.appendChild(e),n}function getPolygonBoundaries(e,t,i){var r=e.kmlDoc,n=e.valueGetter,a=n.get(t.height,0),o=n.get(t.perPositionHeight,!1);!o&&0<i&&(a=i);var s=[],i=t.hierarchy,t=n.get(i),n=Array.isArray(t)?t:t.positions,i=r.createElement("outerBoundaryIs");i.appendChild(getLinearRing(e,n,a,o)),s.push(i);var l=t.holes;if(defined(l))for(var c=l.length,u=0;u<c;++u){var d=r.createElement("innerBoundaryIs");d.appendChild(getLinearRing(e,l[u].positions,a,o)),s.push(d)}return s}function createPolygon(e,t,i,r,n){var a=e.kmlDoc,o=e.valueGetter;if(defined(t)){var s=t instanceof RectangleGraphics;if(s&&"Image"===o.getMaterialType(t.material))createGroundOverlay(e,t,n);else{var l=a.createElement("Polygon"),n=o.get(t.extrudedHeight,0);0<n&&l.appendChild(createBasicElementWithText(a,"extrude",!0));for(var c=(s?getRectangleBoundaries:getPolygonBoundaries)(e,t,n),u=c.length,d=0;d<u;++d)l.appendChild(c[d]);n=a.createElement("altitudeMode");n.appendChild(getAltitudeMode(e,t.heightReference)),l.appendChild(n),i.push(l);n=a.createElement("PolyStyle"),i=o.get(t.fill,!1);i&&n.appendChild(createBasicElementWithText(a,"fill",i)),processMaterial(e,t.material,n);i=o.get(t.outline,!1);i&&(n.appendChild(createBasicElementWithText(a,"outline",i)),e=a.createElement("LineStyle"),i=o.get(t.outlineWidth,1),e.appendChild(createBasicElementWithText(a,"width",i)),t=o.getColor(t.outlineColor,Color.BLACK),e.appendChild(createBasicElementWithText(a,"color",t)),e.appendChild(createBasicElementWithText(a,"colorMode","normal")),r.push(e)),r.push(n)}}}function createGroundOverlay(e,t,i){var r=e.kmlDoc,n=e.valueGetter,a=e.externalFileHandler,o=r.createElement("GroundOverlay"),s=r.createElement("altitudeMode");s.appendChild(getAltitudeMode(e,t.heightReference)),o.appendChild(s);e=n.get(t.height);defined(e)&&o.appendChild(createBasicElementWithText(r,"altitude",e));s=n.get(t.coordinates),e=r.createElement("LatLonBox");e.appendChild(createBasicElementWithText(r,"north",CesiumMath.toDegrees(s.north))),e.appendChild(createBasicElementWithText(r,"south",CesiumMath.toDegrees(s.south))),e.appendChild(createBasicElementWithText(r,"east",CesiumMath.toDegrees(s.east))),e.appendChild(createBasicElementWithText(r,"west",CesiumMath.toDegrees(s.west))),o.appendChild(e);n=n.get(t.material),t=a.texture(n.image),a=r.createElement("Icon");a.appendChild(createBasicElementWithText(r,"href",t)),o.appendChild(a),defined(n.color)&&o.appendChild(createBasicElementWithText(r,"color",colorToString(n.color))),i.push(o)}function createModelGeometry(e,t){var i=e.kmlDoc,r=e.valueGetter,n=e.externalFileHandler,a=i.createElement("Model"),r=r.get(t.scale);defined(r)&&((o=i.createElement("scale")).appendChild(createBasicElementWithText(i,"x",r)),o.appendChild(createBasicElementWithText(i,"y",r)),o.appendChild(createBasicElementWithText(i,"z",r)),a.appendChild(o));var o=i.createElement("Link"),e=n.model(t,e.time);return o.appendChild(createBasicElementWithText(i,"href",e)),a.appendChild(o),a}function createModel$1(e,t,i,r,n){var a,o,s,l=e.kmlDoc,c=e.ellipsoid,u=e.valueGetter;defined(i)&&((a=t.position).isConstant?(o=createModelGeometry(e,i),(s=l.createElement("altitudeMode")).appendChild(getAltitudeMode(e,i.heightReference)),o.appendChild(s),u.get(a,void 0,scratchCartesian3$a),Cartographic.fromCartesian(scratchCartesian3$a,c,scratchCartographic$9),(c=l.createElement("Location")).appendChild(createBasicElementWithText(l,"longitude",CesiumMath.toDegrees(scratchCartographic$9.longitude))),c.appendChild(createBasicElementWithText(l,"latitude",CesiumMath.toDegrees(scratchCartographic$9.latitude))),c.appendChild(createBasicElementWithText(l,"altitude",scratchCartographic$9.height)),o.appendChild(c),r.push(o)):createTracks(e,t,i,r,n))}function processMaterial(e,t,i){var r=e.kmlDoc,e=e.valueGetter;if(defined(t)){var n,a=e.get(t);if(defined(a)){switch(e.getMaterialType(t)){case"Image":n=colorToString(Color.WHITE);break;case"Color":case"Grid":case"PolylineGlow":case"PolylineArrow":case"PolylineDash":n=colorToString(a.color);break;case"PolylineOutline":n=colorToString(a.color);var o=colorToString(a.outlineColor),s=a.outlineWidth;i.appendChild(createBasicElementWithText(r,"outerColor",o,gxNamespace)),i.appendChild(createBasicElementWithText(r,"outerWidth",s,gxNamespace));break;case"Stripe":n=colorToString(a.oddColor)}defined(n)&&(i.appendChild(createBasicElementWithText(r,"color",n)),i.appendChild(createBasicElementWithText(r,"colorMode","normal")))}}}function getAltitudeMode(e,t){var i,r=e.kmlDoc;switch(e.valueGetter.get(t,HeightReference$1.NONE)){case HeightReference$1.NONE:i=r.createTextNode("absolute");break;case HeightReference$1.CLAMP_TO_GROUND:i=r.createTextNode("clampToGround");break;case HeightReference$1.RELATIVE_TO_GROUND:i=r.createTextNode("relativeToGround")}return i}function getCoordinates(e,t){Array.isArray(e)||(e=[e]);for(var i=e.length,r=[],n=0;n<i;++n)Cartographic.fromCartesian(e[n],t,scratchCartographic$9),r.push(CesiumMath.toDegrees(scratchCartographic$9.longitude)+","+CesiumMath.toDegrees(scratchCartographic$9.latitude)+","+scratchCartographic$9.height);return r.join(" ")}function createBasicElementWithText(e,t,i,r){"boolean"==typeof(i=defaultValue(i,""))&&(i=i?"1":"0");t=defined(r)?e.createElementNS(r,t):e.createElement(t),i="string"===i&&-1!==i.indexOf("<")?e.createCDATASection(i):e.createTextNode(i);return t.appendChild(i),t}function colorToString(e){for(var t="",i=e.toBytes(),r=3;0<=r;--r)t+=i[r]<16?"0"+i[r].toString(16):i[r].toString(16);return t}var tmp$4={},FTg,GTg;FTg=tmp$4,GTg=function(e){function t(e){return e}function m(e){var t,n=h(e.transform),a=1/0,o=a,s=-a,l=-a;function i(e){(e=n(e))[0]<a&&(a=e[0]),e[0]>s&&(s=e[0]),e[1]<o&&(o=e[1]),e[1]>l&&(l=e[1])}function r(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(r);break;case"Point":i(e.coordinates);break;case"MultiPoint":e.coordinates.forEach(i)}}for(t in e.arcs.forEach(function(e){for(var t,i=-1,r=e.length;++i<r;)(t=n(e[i],i))[0]<a&&(a=t[0]),t[0]>s&&(s=t[0]),t[1]<o&&(o=t[1]),t[1]>l&&(l=t[1])}),e.objects)r(e.objects[t]);return[a,o,s,l]}function a(t,e){return"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map(function(e){return i(t,e)})}:i(t,e)}var h=function(e){if(null==e)return t;var a,o,s=e.scale[0],l=e.scale[1],c=e.translate[0],u=e.translate[1];return function(e,t){t||(a=o=0);var i=2,r=e.length,n=new Array(r);for(n[0]=(a+=e[0])*s+c,n[1]=(o+=e[1])*l+u;i<r;)n[i]=e[i],++i;return n}},c=function(e,t){for(var i,r=e.length,n=r-t;n<--r;)i=e[n],e[n++]=e[r],e[r]=i};function i(e,t){var i=t.id,r=t.bbox,n=null==t.properties?{}:t.properties,t=o(e,t);return null==i&&null==r?{type:"Feature",properties:n,geometry:t}:null==r?{type:"Feature",id:i,properties:n,geometry:t}:{type:"Feature",id:i,bbox:r,properties:n,geometry:t}}function o(e,t){var a=h(e.transform),o=e.arcs;function n(e){return a(e)}function s(e){for(var t=[],i=0,r=e.length;i<r;++i)!function(e,t){t.length&&t.pop();for(var i=o[e<0?~e:e],r=0,n=i.length;r<n;++r)t.push(a(i[r],r));e<0&&c(t,n)}(e[i],t);return t.length<2&&t.push(t[0]),t}function i(e){for(var t=s(e);t.length<4;)t.push(t[0]);return t}function l(e){return e.map(i)}return function e(t){var i,r=t.type;switch(r){case"GeometryCollection":return{type:r,geometries:t.geometries.map(e)};case"Point":i=n(t.coordinates);break;case"MultiPoint":i=t.coordinates.map(n);break;case"LineString":i=s(t.arcs);break;case"MultiLineString":i=t.arcs.map(s);break;case"Polygon":i=l(t.arcs);break;case"MultiPolygon":i=t.arcs.map(l);break;default:return null}return{type:r,coordinates:i}}(t)}function f(o,r){var n={},s={},l={},a=[],c=-1;function e(e,t){for(var i in e){var r=e[i];delete t[r.start],delete r.start,delete r.end,r.forEach(function(e){n[e<0?~e:e]=1}),a.push(r)}}return r.forEach(function(e,t){var i=o.arcs[e<0?~e:e];i.length<3&&!i[1][0]&&!i[1][1]&&(i=r[++c],r[c]=e,r[t]=i)}),r.forEach(function(e){var t,i,r=function(e){var t,i=o.arcs[e<0?~e:e],r=i[0];o.transform?(t=[0,0],i.forEach(function(e){t[0]+=e[0],t[1]+=e[1]})):t=i[i.length-1];return e<0?[t,r]:[r,t]}(e),n=r[0],a=r[1];(r=l[n])?(delete l[r.end],r.push(e),r.end=a,(t=s[a])?(delete s[t.start],i=t===r?r:r.concat(t),s[i.start=r.start]=l[i.end=t.end]=i):s[r.start]=l[r.end]=r):(r=s[a])?(delete s[r.start],r.unshift(e),r.start=n,(t=l[n])?(delete l[t.end],i=t===r?r:t.concat(r),s[i.start=t.start]=l[i.end=r.end]=i):s[r.start]=l[r.end]=r):s[(r=[e]).start=n]=l[r.end=a]=r}),e(l,s),e(s,l),r.forEach(function(e){n[e<0?~e:e]||a.push([e])}),a}function r(e,t,i){var r,n,a,o,s,l,c;if(1<arguments.length)o=i,l=[],c=[],function e(t){switch(s=t,t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"LineString":d(t.arcs);break;case"MultiLineString":case"Polygon":h(t.arcs);break;case"MultiPolygon":p(t.arcs)}}(t),c.forEach(null==o?function(e){l.push(e[0].i)}:function(e){o(e[0].g,e[e.length-1].g)&&l.push(e[0].i)}),r=l;else for(n=0,r=new Array(a=e.arcs.length);n<a;++n)r[n]=n;function u(e){var t=e<0?~e:e;(c[t]||(c[t]=[])).push({i:e,g:s})}function d(e){e.forEach(u)}function h(e){e.forEach(d)}function p(e){e.forEach(h)}return{type:"MultiLineString",arcs:f(e,r)}}function n(s,e){var l={},i=[],r=[];function n(t){t.forEach(function(e){e.forEach(function(e){(l[e=e<0?~e:e]||(l[e]=[])).push(t)})}),i.push(t)}function c(e){return function(e){for(var t,i=-1,r=e.length,n=e[r-1],a=0;++i<r;)t=n,n=e[i],a+=t[0]*n[1]-t[1]*n[0];return Math.abs(a)}(o(s,{type:"Polygon",arcs:[e]}).coordinates[0])}return e.forEach(function e(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"Polygon":n(t.arcs);break;case"MultiPolygon":t.arcs.forEach(n)}}),i.forEach(function(e){if(!e._){var t=[],i=[e];for(e._=1,r.push(t);e=i.pop();)t.push(e),e.forEach(function(e){e.forEach(function(e){l[e<0?~e:e].forEach(function(e){e._||(e._=1,i.push(e))})})})}}),i.forEach(function(e){delete e._}),{type:"MultiPolygon",arcs:r.map(function(e){var t,i=[];if(e.forEach(function(e){e.forEach(function(e){e.forEach(function(e){l[e<0?~e:e].length<2&&i.push(e)})})}),1<(t=(i=f(s,i)).length))for(var r,n,a=1,o=c(i[0]);a<t;++a)(r=c(i[a]))>o&&(n=i[0],i[0]=i[a],i[a]=n,o=r);return i})}}function g(e,t){for(var i=0,r=e.length;i<r;){var n=i+r>>>1;e[n]<t?i=1+n:r=n}return i}function _(e){if(null==e)return t;var o,s,l=e.scale[0],c=e.scale[1],u=e.translate[0],d=e.translate[1];return function(e,t){t||(o=s=0);var i=2,r=e.length,n=new Array(r),a=Math.round((e[0]-u)/l),t=Math.round((e[1]-d)/c);for(n[0]=a-o,o=a,n[1]=t-s,s=t;i<r;)n[i]=e[i],++i;return n}}function E(n,a,o,e,s){3===arguments.length&&(e=Array,s=null);for(var l=new e(n=1<<Math.max(4,Math.ceil(Math.log(n)/Math.LN2))),c=n-1,t=0;t<n;++t)l[t]=s;return{add:function(e){for(var t=a(e)&c,i=l[t],r=0;i!=s;){if(o(i,e))return!0;if(++r>=n)throw new Error("full hashset");i=l[t=t+1&c]}return l[t]=e,!0},has:function(e){for(var t=a(e)&c,i=l[t],r=0;i!=s;){if(o(i,e))return!0;if(++r>=n)break;i=l[t=t+1&c]}return!1},values:function(){for(var e=[],t=0,i=l.length;t<i;++t){var r=l[t];r!=s&&e.push(r)}return e}}}function P(a,o,s,e,l,t){3===arguments.length&&(e=t=Array,l=null);for(var c=new e(a=1<<Math.max(4,Math.ceil(Math.log(a)/Math.LN2))),u=new t(a),d=a-1,i=0;i<a;++i)c[i]=l;return{set:function(e,t){for(var i=o(e)&d,r=c[i],n=0;r!=l;){if(s(r,e))return u[i]=t;if(++n>=a)throw new Error("full hashmap");r=c[i=i+1&d]}return c[i]=e,u[i]=t},maybeSet:function(e,t){for(var i=o(e)&d,r=c[i],n=0;r!=l;){if(s(r,e))return u[i];if(++n>=a)throw new Error("full hashmap");r=c[i=i+1&d]}return c[i]=e,u[i]=t},get:function(e,t){for(var i=o(e)&d,r=c[i],n=0;r!=l;){if(s(r,e))return u[i];if(++n>=a)break;r=c[i=i+1&d]}return t},keys:function(){for(var e=[],t=0,i=c.length;t<i;++t){var r=c[t];r!=l&&e.push(r)}return e}}}function A(e,t){return e[0]===t[0]&&e[1]===t[1]}function w(e){var t=l[0]^l[1];return 2147483647&(t=t<<5^t>>7^l[2]^l[3])}function v(e){for(var n=e.coordinates,t=e.lines,i=e.rings,r=function(){for(var e=P(1.4*n.length,S,T,Int32Array,-1,Int32Array),t=new Int32Array(n.length),i=0,r=n.length;i<r;++i)t[i]=e.maybeSet(i,i);return t}(),a=new Int32Array(n.length),o=new Int32Array(n.length),s=new Int32Array(n.length),l=new Int8Array(n.length),c=0,u=0,d=n.length;u<d;++u)a[u]=o[u]=s[u]=-1;for(u=0,d=t.length;u<d;++u){var h=t[u],p=h[0],m=h[1],f=r[p],g=r[++p];for(++c,l[f]=1;++p<=m;)v(u,f,f=g,g=r[p]);++c,l[g]=1}for(u=0,d=n.length;u<d;++u)a[u]=-1;for(u=0,d=i.length;u<d;++u){var _=i[u],y=_[0]+1,C=_[1];for(v(u,r[C-1],f=r[y-1],g=r[y]);++y<=C;)v(u,f,f=g,g=r[y])}function v(e,t,i,r){var n;a[i]!==e&&(a[i]=e,0<=(n=o[i])?(e=s[i],n===t&&e===r||n===r&&e===t||(++c,l[i]=1)):(o[i]=t,s[i]=r))}function S(e){return w(n[e])}function T(e,t){return A(n[e],n[t])}a=o=s=null;var b,x=E(1.4*c,w,A);for(u=0,d=n.length;u<d;++u)l[b=r[u]]&&x.add(n[b]);return x}function d(e){for(var t,i,r,n,a,o=v(e),s=e.coordinates,l=e.lines,c=e.rings,u=0,d=l.length;u<d;++u)for(var h=l[u],p=h[0],m=h[1];++p<m;)o.has(s[p])&&(t={0:p,1:h[1]},h[1]=p,h=h.next=t);for(u=0,d=c.length;u<d;++u)for(var f=c[u],g=f[0],_=g,y=f[1],C=o.has(s[g]);++_<y;)o.has(s[_])&&(C?(t={0:_,1:f[1]},f[1]=_,f=f.next=t):(a=(n=y)-_,S(i=s,r=g,n),S(i,r,r+a),S(i,r+a,n),s[y]=s[g],C=!0,_=g));return e}var s=new ArrayBuffer(16),l=new Uint32Array(s);function S(e,t,i){for(var r,n=t+(i---t>>1);t<n;++t,--i)r=e[t],e[t]=e[i],e[i]=r}function p(e){var t,i,u=e.coordinates,r=e.lines,n=e.rings,a=r.length+n.length;for(delete e.lines,delete e.rings,o=0,s=r.length;o<s;++o)for(t=r[o];t=t.next;)++a;for(o=0,s=n.length;o<s;++o)for(i=n[o];i=i.next;)++a;for(var c=P(2*a*1.4,w,A),d=e.arcs=[],o=0,s=r.length;o<s;++o)for(t=r[o];l(t),t=t.next;);for(o=0,s=n.length;o<s;++o)if((i=n[o]).next)for(;l(i),i=i.next;);else!function(e){var t,i,r,n,a;if(i=c.get(t=u[e[0]]))for(n=0,a=i.length;n<a;++n){if(h(r=i[n],e))return e[0]=r[0],e[1]=r[1];if(p(r,e))return e[0]=r[1],e[1]=r[0]}if(i=c.get(t=u[e[0]+m(e)]))for(n=0,a=i.length;n<a;++n){if(h(r=i[n],e))return e[0]=r[0],e[1]=r[1];if(p(r,e))return e[0]=r[1],e[1]=r[0]}i?i.push(e):c.set(t,[e]),d.push(e)}(i);function l(e){var t,i,r,n,a,o,s,l;if(r=c.get(t=u[e[0]]))for(s=0,l=r.length;s<l;++s)if(function(e,t){var i=e[0],r=t[0],n=e[1],t=t[1];if(i-n!=r-t)return!1;for(;i<=n;++i,++r)if(!A(u[i],u[r]))return!1;return!0}(n=r[s],e))return e[0]=n[0],void(e[1]=n[1]);if(a=c.get(i=u[e[1]]))for(s=0,l=a.length;s<l;++s)if(function(e,t){var i=e[0],r=t[0],n=e[1],a=t[1];if(i-n!=r-a)return!1;for(;i<=n;++i,--a)if(!A(u[i],u[a]))return!1;return!0}(o=a[s],e))return e[1]=o[0],void(e[0]=o[1]);r?r.push(e):c.set(t,[e]),a?a.push(e):c.set(i,[e]),d.push(e)}function h(e,t){var i=e[0],r=t[0],n=e[1]-i;if(n==t[1]-r){for(var a=m(e),o=m(t),s=0;s<n;++s)if(!A(u[i+(s+a)%n],u[r+(s+o)%n]))return;return 1}}function p(e,t){var i=e[0],r=t[0],n=e[1],a=t[1],o=n-i;if(o==a-r){for(var s=m(e),l=o-m(t),c=0;c<o;++c)if(!A(u[i+(c+s)%o],u[a-(c+l)%o]))return;return 1}}function m(e){for(var t=e[0],i=e[1],r=t,n=r,a=u[r];++r<i;){var o=u[r];(o[0]<a[0]||o[0]===a[0]&&o[1]<a[1])&&(n=r,a=o)}return n-t}return e}function y(e){var t,i,r={};for(t in e)r[t]=(i=e[t],null==i?{type:null}:("FeatureCollection"===i.type?function(e){var t={type:"GeometryCollection",geometries:e.features.map(u)};null!=e.bbox&&(t.bbox=e.bbox);return t}:"Feature"===i.type?u:C)(i));return r}function u(e){var t,i=C(e.geometry);for(t in null!=e.id&&(i.id=e.id),null!=e.bbox&&(i.bbox=e.bbox),e.properties){i.properties=e.properties;break}return i}function C(e){if(null==e)return{type:null};var t="GeometryCollection"===e.type?{type:"GeometryCollection",geometries:e.geometries.map(C)}:"Point"===e.type||"MultiPoint"===e.type?{type:e.type,coordinates:e.coordinates}:{type:e.type,arcs:e.coordinates};return null!=e.bbox&&(t.bbox=e.bbox),t}function T(e){var t=e[0],i=e[1];return i<t&&(e=t,t=i,i=e),t+31*i}function b(e,t){var i,r=e[0],n=e[1],e=t[0],t=t[1];return n<r&&(i=r,r=n,n=i),t<e&&(i=e,e=t,t=i),r===e&&n===t}function x(){return!0}function D(e){return e}function M(e){return null!=e.type}function I(e){var t,l=new Array(e.arcs.length),c=0;function i(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(i);break;case"Polygon":r(e.arcs);break;case"MultiPolygon":e.arcs.forEach(r)}}function r(e){for(var t=0,i=e.length;t<i;++t,++c)for(var r=e[t],n=0,a=r.length;n<a;++n){var o=r[n];o<0&&(o=~o);var s=l[o];null==s?l[o]=c:s!==c&&(l[o]=-1)}}for(t in e.objects)i(e.objects[t]);return function(e){for(var t,i=0,r=e.length;i<r;++i)if(-1===l[(t=e[i])<0?~t:t])return!0;return!1}}function R(e){var t=e[0],i=e[1],e=e[2];return Math.abs((t[0]-e[0])*(i[1]-t[1])-(t[0]-i[0])*(e[1]-t[1]))/2}function O(e){for(var t,i=-1,r=e.length,n=e[r-1],a=0;++i<r;)t=n,n=e[i],a+=t[0]*n[1]-t[1]*n[0];return Math.abs(a)/2}function L(i,r,n){return r=null==r?Number.MIN_VALUE:+r,null==n&&(n=O),function(e,t){return n(a(i,{type:"Polygon",arcs:[e]}).geometry.coordinates[0],t)>=r}}function F(e,t){return e[1][2]-t[1][2]}function N(e){return[e[0],e[1],0]}function B(e,t){return t-e}var s=Math.PI,V=2*s,k=s/4,z=s/180,U=Math.abs,$=Math.atan2,G=Math.cos,H=Math.sin;function W(e,t){for(var i=0,r=e.length,n=0,a=e[t?i++:r-1],o=a[0]*z,s=a[1]*z/2+k,l=G(s),c=H(s);i<r;++i){h=o,o=(a=e[i])[0]*z,s=a[1]*z/2+k,p=l,l=G(s),c;var u=o-h,d=0<=u?1:-1,h=d*u,u=c*(c=H(s)),p=p*l+u*G(h),h=u*d*H(h);n+=$(h,p)}return n}e.bbox=m,e.feature=a,e.mesh=function(e){return o(e,r.apply(this,arguments))},e.meshArcs=r,e.merge=function(e){return o(e,n.apply(this,arguments))},e.mergeArcs=n,e.neighbors=function(e){var r={},t=e.map(function(){return[]});function i(e,i){e.forEach(function(e){e<0&&(e=~e);var t=r[e];t?t.push(i):r[e]=[i]})}function n(e,t){e.forEach(function(e){i(e,t)})}var a,o={LineString:i,MultiLineString:n,Polygon:n,MultiPolygon:function(e,t){e.forEach(function(e){n(e,t)})}};for(a in e.forEach(function t(e,i){"GeometryCollection"===e.type?e.geometries.forEach(function(e){t(e,i)}):e.type in o&&o[e.type](e.arcs,i)}),r)for(var s=r[a],l=s.length,c=0;c<l;++c)for(var u=c+1;u<l;++u){var d,h=s[c],p=s[u];(d=t[h])[a=g(d,p)]!==p&&d.splice(a,0,p),(d=t[p])[a=g(d,h)]!==h&&d.splice(a,0,h)}return t},e.quantize=function(e,t){if(e.transform)throw new Error("already quantized");if(t&&t.scale)s=e.bbox;else{if(!(2<=(i=Math.floor(t))))throw new Error("n must be ≥2");var i,r=(s=e.bbox||m(e))[0],n=s[1],a=s[2],o=s[3];t={scale:[a-r?(a-r)/(i-1):1,o-n?(o-n)/(i-1):1],translate:[r,n]}}var s,l,c=_(t),u=e.objects,d={};function h(e){return c(e)}function p(e){var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(p)};break;case"Point":t={type:"Point",coordinates:h(e.coordinates)};break;case"MultiPoint":t={type:"MultiPoint",coordinates:e.coordinates.map(h)};break;default:return e}return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),null!=e.properties&&(t.properties=e.properties),t}for(l in u)d[l]=p(u[l]);return{type:"Topology",bbox:s,transform:t,objects:d,arcs:e.arcs.map(function(e){var t,i=0,r=1,n=e.length,a=new Array(n);for(a[0]=c(e[0],0);++i<n;)((t=c(e[i],i))[0]||t[1])&&(a[r++]=t);return 1===r&&(a[r++]=[0,0]),a.length=r,a})}},e.transform=h,e.untransform=_,e.topology=function(e,t){var i=function(e){var i=1/0,r=1/0,n=-1/0,a=-1/0;function t(e){null!=e&&s.hasOwnProperty(e.type)&&s[e.type](e)}var o,s={GeometryCollection:function(e){e.geometries.forEach(t)},Point:function(e){l(e.coordinates)},MultiPoint:function(e){e.coordinates.forEach(l)},LineString:function(e){c(e.arcs)},MultiLineString:function(e){e.arcs.forEach(c)},Polygon:function(e){e.arcs.forEach(c)},MultiPolygon:function(e){e.arcs.forEach(u)}};function l(e){var t=e[0],e=e[1];t<i&&(i=t),n<t&&(n=t),e<r&&(r=e),a<e&&(a=e)}function c(e){e.forEach(l)}function u(e){e.forEach(c)}for(o in e)t(e[o]);return i<=n&&r<=a?[i,r,n,a]:void 0}(e=y(e)),r=0<t&&i&&function(e,t,i){var u=t[0],d=t[1],r=t[2],t=t[3],h=r-u?(i-1)/(r-u):1,p=t-d?(i-1)/(t-d):1;function n(e){return[Math.round((e[0]-u)*h),Math.round((e[1]-d)*p)]}function a(e,t){for(var i,r,n,a,o=-1,s=0,l=e.length,c=new Array(l);++o<l;)a=e[o],n=Math.round((a[0]-u)*h),a=Math.round((a[1]-d)*p),n===i&&a===r||(c[s++]=[i=n,r=a]);for(c.length=s;s<t;)s=c.push([c[0][0],c[0][1]]);return c}function o(e){return a(e,2)}function s(e){return a(e,4)}function l(e){return e.map(s)}function c(e){null!=e&&f.hasOwnProperty(e.type)&&f[e.type](e)}var m,f={GeometryCollection:function(e){e.geometries.forEach(c)},Point:function(e){e.coordinates=n(e.coordinates)},MultiPoint:function(e){e.coordinates=e.coordinates.map(n)},LineString:function(e){e.arcs=o(e.arcs)},MultiLineString:function(e){e.arcs=e.arcs.map(o)},Polygon:function(e){e.arcs=l(e.arcs)},MultiPolygon:function(e){e.arcs=e.arcs.map(l)}};for(m in e)c(e[m]);return{scale:[1/h,1/p],translate:[u,d]}}(e,i,t),t=p(d(function(e){var n=-1,a=[],o=[],s=[];function t(e){e&&r.hasOwnProperty(e.type)&&r[e.type](e)}var i,r={GeometryCollection:function(e){e.geometries.forEach(t)},LineString:function(e){e.arcs=l(e.arcs)},MultiLineString:function(e){e.arcs=e.arcs.map(l)},Polygon:function(e){e.arcs=e.arcs.map(c)},MultiPolygon:function(e){e.arcs=e.arcs.map(u)}};function l(e){for(var t=0,i=e.length;t<i;++t)s[++n]=e[t];var r={0:n-i+1,1:n};return a.push(r),r}function c(e){for(var t=0,i=e.length;t<i;++t)s[++n]=e[t];var r={0:n-i+1,1:n};return o.push(r),r}function u(e){return e.map(c)}for(i in e)t(e[i]);return{type:"Topology",coordinates:s,lines:a,rings:o,objects:e}}(e))),n=t.coordinates,a=P(1.4*t.arcs.length,T,b);function o(e){e&&l.hasOwnProperty(e.type)&&l[e.type](e)}e=t.objects,t.bbox=i,t.arcs=t.arcs.map(function(e,t){return a.set(e,t),n.slice(e[0],e[1]+1)}),delete t.coordinates,n=null;var s,l={GeometryCollection:function(e){e.geometries.forEach(o)},LineString:function(e){e.arcs=c(e.arcs)},MultiLineString:function(e){e.arcs=e.arcs.map(c)},Polygon:function(e){e.arcs=e.arcs.map(c)},MultiPolygon:function(e){e.arcs=e.arcs.map(u)}};function c(e){var t=[];do{var i=a.get(e)}while(t.push(e[0]<e[1]?i:~i),e=e.next);return t}function u(e){return e.map(c)}for(s in e)o(e[s]);return r&&(t.transform=r,t.arcs=function(e){for(var t=-1,i=e.length;++t<i;){for(var r,n,a=e[t],o=0,s=1,l=a.length,c=a[0],u=c[0],d=c[1];++o<l;)r=(c=a[o])[0],n=c[1],r===u&&n===d||(a[s++]=[r-u,n-d],u=r,d=n);1===s&&(a[s++]=[0,0]),a.length=s}return e}(t.arcs)),t},e.filter=function(e,i){var t,r=e.objects,n={};function a(e){var t,i;switch(e.type){case"Polygon":t=(i=o(e.arcs))?{type:"Polygon",arcs:i}:{type:null};break;case"MultiPolygon":t=(i=e.arcs.map(o).filter(D)).length?{type:"MultiPolygon",arcs:i}:{type:null};break;case"GeometryCollection":t=(i=e.geometries.map(a).filter(M)).length?{type:"GeometryCollection",geometries:i}:{type:null};break;default:return e}return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),null!=e.properties&&(t.properties=e.properties),t}function o(e){return e.length&&(t=e[0],i(t,!1))?[e[0]].concat(e.slice(1).filter(s)):null;var t}function s(e){return i(e,!0)}for(t in null==i&&(i=x),r)n[t]=a(r[t]);return function(e){var t,i,r=e.objects,n={},a=e.arcs,o=a.length,s=-1,l=new Array(o),c=0,u=-1;function d(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(d);break;case"LineString":p(e.arcs);break;case"MultiLineString":case"Polygon":e.arcs.forEach(p);break;case"MultiPolygon":e.arcs.forEach(m)}}function h(e){e<0&&(e=~e),l[e]||(l[e]=1,++c)}function p(e){e.forEach(h)}function m(e){e.forEach(p)}function f(e){var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(f)};break;case"LineString":t={type:"LineString",arcs:_(e.arcs)};break;case"MultiLineString":t={type:"MultiLineString",arcs:e.arcs.map(_)};break;case"Polygon":t={type:"Polygon",arcs:e.arcs.map(_)};break;case"MultiPolygon":t={type:"MultiPolygon",arcs:e.arcs.map(y)};break;default:return e}return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),null!=e.properties&&(t.properties=e.properties),t}function g(e){return e<0?~l[~e]:l[e]}function _(e){return e.map(g)}function y(e){return e.map(_)}for(i in r)d(r[i]);for(t=new Array(c);++s<o;)l[s]&&(l[s]=++u,t[u]=a[s]);for(i in r)n[i]=f(r[i]);return{type:"Topology",bbox:e.bbox,transform:e.transform,objects:n,arcs:t}}({type:"Topology",bbox:e.bbox,transform:e.transform,objects:n,arcs:e.arcs})},e.filterAttached=I,e.filterAttachedWeight=function(e,t,i){var r=I(e),n=L(e,t,i);return function(e,t){return r(e,t)||n(e,t)}},e.filterWeight=L,e.planarRingArea=O,e.planarTriangleArea=R,e.presimplify=function(e,l){var o,s,c=e.transform?h(e.transform):N,u=(o=[],s=0,(t={}).push=function(e){return r(o[e._=s]=e,s++),s},t.pop=function(){if(!(s<=0)){var e,t=o[0];return 0<--s&&(e=o[s],n(o[e._=0]=e,0)),t}},t.remove=function(e){var t,i=e._;if(o[i]===e)return i!==--s&&(F(t=o[s],e)<0?r:n)(o[t._=i]=t,i),i},t);function r(e,t){for(;0<t;){var i=(t+1>>1)-1,r=o[i];if(0<=F(e,r))break;o[r._=t]=r,o[e._=t=i]=e}}function n(e,t){for(;;){var i=t+1<<1,r=i-1,n=t,a=o[n];if(r<s&&F(o[r],a)<0&&(a=o[n=r]),i<s&&F(o[i],a)<0&&(a=o[n=i]),n===t)break;o[a._=t]=a,o[e._=t=n]=e}}null==l&&(l=R);var t=e.arcs.map(function(e){for(var t,i=[],r=0,n=1,a=(e=e.map(c)).length-1;n<a;++n)(t=[e[n-1],e[n],e[n+1]])[1][2]=l(t),i.push(t),u.push(t);for(e[0][2]=e[a][2]=1/0,n=0,a=i.length;n<a;++n)(t=i[n]).previous=i[n-1],t.next=i[n+1];for(;t=u.pop();){var o=t.previous,s=t.next;t[1][2]<r?t[1][2]=r:r=t[1][2],o&&(o.next=s,o[2]=t[2],d(o)),s&&(s.previous=o,s[0]=t[0],d(s))}return e});function d(e){u.remove(e),e[1][2]=l(e),u.push(e)}return{type:"Topology",bbox:e.bbox,objects:e.objects,arcs:t}},e.quantile=function(e,t){var i=[];return e.arcs.forEach(function(e){e.forEach(function(e){isFinite(e[2])&&i.push(e[2])})}),i.length&&function(e,t){if(!(r=e.length))return;if((t=+t)<=0||r<2)return e[0];if(1<=t)return e[r-1];var i=(r-1)*t,r=Math.floor(i),t=e[r],e=e[r+1];return t+(e-t)*(i-r)}(i.sort(B),t)},e.simplify=function(e,o){o=null==o?Number.MIN_VALUE:+o;var t=e.arcs.map(function(e){for(var t,i=-1,r=0,n=e.length,a=new Array(n);++i<n;)(t=e[i])[2]>=o&&(a[r++]=[t[0],t[1]]);return a.length=r,a});return{type:"Topology",transform:e.transform,bbox:e.bbox,objects:e.objects,arcs:t}},e.sphericalRingArea=function(e,t){return e=W(e,!0),t&&(e*=-1),2*(e<0?V+e:e)},e.sphericalTriangleArea=function(e){return 2*U(W(e,!1))},Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?GTg(exports):GTg(FTg.topojson=FTg.topojson||{});var topojson=tmp$4.topojson;function defaultCrsFunction(e){return Cartesian3.fromDegrees(e[0],e[1],e[2])}var crsNames={"urn:ogc:def:crs:OGC:1.3:CRS84":defaultCrsFunction,"EPSG:4326":defaultCrsFunction,"urn:ogc:def:crs:EPSG::4326":defaultCrsFunction},crsLinkHrefs={},crsLinkTypes={},defaultMarkerSize=48,defaultMarkerSymbol,defaultMarkerColor=Color.ROYALBLUE,defaultStroke=Color.YELLOW,defaultStrokeWidth=2,defaultFill$1=Color.fromBytes(255,255,0,100),defaultClampToGround=!1,sizes={small:24,medium:48,large:64},simpleStyleIdentifiers=["title","description","marker-size","marker-symbol","marker-color","stroke","stroke-opacity","stroke-width","fill","fill-opacity"];function defaultDescribe(e,t){var i,r,n="";for(i in e)!e.hasOwnProperty(i)||i===t||-1!==simpleStyleIdentifiers.indexOf(i)||defined(r=e[i])&&(n+="object"==typeof r?"<tr><th>"+i+"</th><td>"+defaultDescribe(r)+"</td></tr>":"<tr><th>"+i+"</th><td>"+r+"</td></tr>");return 0<n.length&&(n='<table class="cesium-infoBox-defaultTable"><tbody>'+n+"</tbody></table>"),n}function createDescriptionCallback(i,r,n){var a;return function(e,t){return defined(a)||(a=i(r,n)),a}}function defaultDescribeProperty(e,t){return new CallbackProperty(createDescriptionCallback(defaultDescribe,e,t),!0)}function createObject(e,t,i){var r=e.id;if(defined(r)&&"Feature"===e.type){for(var n=2,a=r;defined(t.getById(a));)a=r+"_"+n,n++;r=a}else r=createGuid();var o=t.getOrCreateEntity(r),s=e.properties;if(defined(s)){var l,e=(o.properties=s).title;if(defined(e))o.name=e,l="title";else{var c,u=Number.MAX_VALUE;for(c in s)if(s.hasOwnProperty(c)&&s[c]){var d=c.toLowerCase();if(1<u&&"title"===d){u=1,l=c;break}2<u&&"name"===d?(u=2,l=c):3<u&&/title/i.test(c)?(u=3,l=c):4<u&&/name/i.test(c)&&(u=4,l=c)}defined(l)&&(o.name=s[l])}e=s.description;null!==e&&(o.description=defined(e)?new ConstantProperty(e):i(s,l))}return o}function coordinatesArrayToCartesianArray(e,t){for(var i=new Array(e.length),r=0;r<e.length;r++)i[r]=t(e[r]);return i}var geoJsonObjectTypes={Feature:processFeature,FeatureCollection:processFeatureCollection,GeometryCollection:processGeometryCollection,LineString:processLineString,MultiLineString:processMultiLineString,MultiPoint:processMultiPoint,MultiPolygon:processMultiPolygon,Point:processPoint$1,Polygon:processPolygon$1,Topology:processTopology},geometryTypes={GeometryCollection:processGeometryCollection,LineString:processLineString,MultiLineString:processMultiLineString,MultiPoint:processMultiPoint,MultiPolygon:processMultiPolygon,Point:processPoint$1,Polygon:processPolygon$1,Topology:processTopology};function processFeature(e,t,i,r,n){if(null!==t.geometry){if(!defined(t.geometry))throw new RuntimeError("feature.geometry is required.");var a=t.geometry.type,o=geometryTypes[a];if(!defined(o))throw new RuntimeError("Unknown geometry type: "+a);o(e,t,t.geometry,r,n)}else createObject(t,e._entityCollection,n.describe)}function processFeatureCollection(e,t,i,r,n){for(var a=t.features,o=0,s=a.length;o<s;o++)processFeature(e,a[o],void 0,r,n)}function processGeometryCollection(e,t,i,r,n){for(var a=i.geometries,o=0,s=a.length;o<s;o++){var l=a[o],c=l.type,u=geometryTypes[c];if(!defined(u))throw new RuntimeError("Unknown geometry type: "+c);u(e,t,l,r,n)}}function createPoint$1(e,t,i,r,n){var a,o=n.markerSymbol,s=n.markerColor,l=n.markerSize,c=t.properties;defined(c)&&(defined(a=c["marker-color"])&&(s=Color.fromCssColorString(a)),l=defaultValue(sizes[c["marker-size"]],l),defined(c=c["marker-symbol"])&&(o=c)),o=defined(o)?1===o.length?e._pinBuilder.fromText(o.toUpperCase(),s,l):e._pinBuilder.fromMakiIconId(o,s,l):e._pinBuilder.fromColor(s,l);var u=new BillboardGraphics;u.verticalOrigin=new ConstantProperty(VerticalOrigin$1.BOTTOM),2===r.length&&n.clampToGround&&(u.heightReference=HeightReference$1.CLAMP_TO_GROUND);n=createObject(t,e._entityCollection,n.describe);n.billboard=u,n.position=new ConstantPositionProperty(i(r));o=when(o).then(function(e){u.image=new ConstantProperty(e)}).otherwise(function(){u.image=new ConstantProperty(e._pinBuilder.fromColor(s,l))});e._promises.push(o)}function processPoint$1(e,t,i,r,n){createPoint$1(e,t,r,i.coordinates,n)}function processMultiPoint(e,t,i,r,n){for(var a=i.coordinates,o=0;o<a.length;o++)createPoint$1(e,t,r,a[o],n)}function createLineString$1(e,t,i,r,n){var a,o,s=n.strokeMaterialProperty,l=n.strokeWidthProperty,c=t.properties;defined(c)&&(defined(o=c["stroke-width"])&&(l=new ConstantProperty(o)),defined(o=c.stroke)&&(a=Color.fromCssColorString(o)),defined(c=c["stroke-opacity"])&&1!==c&&(defined(a)||(a=s.color.clone()),a.alpha=c),defined(a)&&(s=new ColorMaterialProperty(a)));t=createObject(t,e._entityCollection,n.describe),e=new PolylineGraphics;(t.polyline=e).clampToGround=n.clampToGround,e.material=s,e.width=l,e.positions=new ConstantProperty(coordinatesArrayToCartesianArray(r,i)),e.arcType=ArcType$1.RHUMB}function processLineString(e,t,i,r,n){createLineString$1(e,t,r,i.coordinates,n)}function processMultiLineString(e,t,i,r,n){for(var a=i.coordinates,o=0;o<a.length;o++)createLineString$1(e,t,r,a[o],n)}function createPolygon$1(e,t,i,r,n){if(0!==r.length&&0!==r[0].length){var a,o,s=n.strokeMaterialProperty.color,l=n.fillMaterialProperty,c=n.strokeWidthProperty,u=t.properties;defined(u)&&(defined(a=u["stroke-width"])&&(c=new ConstantProperty(a)),defined(a=u.stroke)&&(o=Color.fromCssColorString(a)),defined(a=u["stroke-opacity"])&&1!==a&&(defined(o)||(o=n.strokeMaterialProperty.color.clone()),o.alpha=a),defined(o)&&(s=new ConstantProperty(o)),defined(o=u.fill)&&((d=Color.fromCssColorString(o)).alpha=l.color.alpha),defined(a=u["fill-opacity"])&&a!==l.color.alpha&&(defined(d)||(d=l.color.clone()),d.alpha=a),defined(d)&&(l=new ColorMaterialProperty(d)));var d=new PolygonGraphics;d.outline=new ConstantProperty(!0),d.outlineColor=s,d.outlineWidth=c,d.material=l,d.arcType=ArcType$1.RHUMB;for(var h=[],p=1,m=r.length;p<m;p++)h.push(new PolygonHierarchy(coordinatesArrayToCartesianArray(r[p],i)));l=r[0];d.hierarchy=new ConstantProperty(new PolygonHierarchy(coordinatesArrayToCartesianArray(l,i),h)),2<l[0].length?d.perPositionHeight=new ConstantProperty(!0):n.clampToGround||(d.height=0),createObject(t,e._entityCollection,n.describe).polygon=d}}function processPolygon$1(e,t,i,r,n){createPolygon$1(e,t,r,i.coordinates,n)}function processMultiPolygon(e,t,i,r,n){for(var a=i.coordinates,o=0;o<a.length;o++)createPolygon$1(e,t,r,a[o],n)}function processTopology(e,t,i,r,n){for(var a in i.objects){var o;i.objects.hasOwnProperty(a)&&(o=topojson.feature(i,i.objects[a]),(0,geoJsonObjectTypes[o.type])(e,o,o,r,n))}}function GeoJsonDataSource(e){this._name=e,this._changed=new Event,this._error=new Event,this._isLoading=!1,this._loading=new Event,this._entityCollection=new EntityCollection(this),this._promises=[],this._pinBuilder=new PinBuilder,this._entityCluster=new EntityCluster,this._credit=void 0,this._resourceCredits=[]}function load$1(t,i,r,e){defined(e)&&(s=getFilenameFromUri(e)),defined(s)&&t._name!==s&&(t._name=s,t._changed.raiseEvent(t));var n=geoJsonObjectTypes[i.type];if(!defined(n))throw new RuntimeError("Unsupported GeoJSON object type: "+i.type);var a=i.crs,o=null!==a?defaultCrsFunction:null;if(defined(a)){if(!defined(a.properties))throw new RuntimeError("crs.properties is undefined.");e=a.properties;if("name"===a.type){if(!defined(o=crsNames[e.name]))throw new RuntimeError("Unknown crs name: "+e.name)}else if("link"===a.type){var s=crsLinkHrefs[e.href];if(defined(s)||(s=crsLinkTypes[e.type]),!defined(s))throw new RuntimeError("Unable to resolve crs link: "+JSON.stringify(e));o=s(e)}else{if("EPSG"!==a.type)throw new RuntimeError("Unknown crs type: "+a.type);if(!defined(o=crsNames["EPSG:"+e.code]))throw new RuntimeError("Unknown crs EPSG code: "+e.code)}}return when(o,function(e){return t._entityCollection.removeAll(),null!==e&&n(t,i,i,e,r),when.all(t._promises,function(){return t._promises.length=0,DataSource.setLoading(t,!1),t})})}function KmlCamera(e,t){this.position=e,this.headingPitchRoll=t}GeoJsonDataSource.load=function(e,t){return(new GeoJsonDataSource).load(e,t)},Object.defineProperties(GeoJsonDataSource,{markerSize:{get:function(){return defaultMarkerSize},set:function(e){defaultMarkerSize=e}},markerSymbol:{get:function(){return defaultMarkerSymbol},set:function(e){defaultMarkerSymbol=e}},markerColor:{get:function(){return defaultMarkerColor},set:function(e){defaultMarkerColor=e}},stroke:{get:function(){return defaultStroke},set:function(e){defaultStroke=e}},strokeWidth:{get:function(){return defaultStrokeWidth},set:function(e){defaultStrokeWidth=e}},fill:{get:function(){return defaultFill$1},set:function(e){defaultFill$1=e}},clampToGround:{get:function(){return defaultClampToGround},set:function(e){defaultClampToGround=e}},crsNames:{get:function(){return crsNames}},crsLinkHrefs:{get:function(){return crsLinkHrefs}},crsLinkTypes:{get:function(){return crsLinkTypes}}}),Object.defineProperties(GeoJsonDataSource.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{value:void 0,writable:!1},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}}),GeoJsonDataSource.prototype.load=function(e,t){DataSource.setLoading(this,!0);var i=(t=defaultValue(t,defaultValue.EMPTY_OBJECT)).credit;"string"==typeof i&&(i=new Credit(i)),this._credit=i;var i=e,r=t.sourceUri;if("string"==typeof e||e instanceof Resource){i=(e=Resource.createIfNeeded(e)).fetchJson(),r=defaultValue(r,e.getUrlComponent());var n=this._resourceCredits,a=e.credits;if(defined(a))for(var o=a.length,s=0;s<o;s++)n.push(a[s])}t={describe:defaultValue(t.describe,defaultDescribeProperty),markerSize:defaultValue(t.markerSize,defaultMarkerSize),markerSymbol:defaultValue(t.markerSymbol,defaultMarkerSymbol),markerColor:defaultValue(t.markerColor,defaultMarkerColor),strokeWidthProperty:new ConstantProperty(defaultValue(t.strokeWidth,defaultStrokeWidth)),strokeMaterialProperty:new ColorMaterialProperty(defaultValue(t.stroke,defaultStroke)),fillMaterialProperty:new ColorMaterialProperty(defaultValue(t.fill,defaultFill$1)),clampToGround:defaultValue(t.clampToGround,defaultClampToGround)};var l=this;return when(i,function(e){return load$1(l,e,t,r)}).otherwise(function(e){return DataSource.setLoading(l,!1),l._error.raiseEvent(l,e),console.log(e),when.reject(e)})},GeoJsonDataSource.prototype.update=function(e){return!0};var tmp$5={},Cah,Gah,Hah,Iah,Kah,Lah,Mah,Nah,Oah,Pah,Qah,Rah,Sah,Tah,Uah,Vah,Wah,$ah,_ah,abh,bbh,cbh,dbh,ebh,fbh,gbh,hbh,ibh,jbh,kbh,lbh,mbh,nbh,pbh;function xah(e,t,i){var r;return e.length>t&&(r=null==i?(i="…",3):i.length,e=e.substring(0,t-r)+i),e}function yah(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var i=0,r=e.length;i<r;i++)if(e[i]===t)return i;return-1}function zah(e,t){for(var i=e.length-1;0<=i;i--)!0===t(e[i])&&e.splice(i,1)}function Bah(e){throw new Error("Unhandled case for value: '"+e+"'")}function Jah(e,t){function i(){this.constructor=e}Iah(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}tmp$5.Autolinker=(Cah=function(){function e(e){void 0===e&&(e={}),this.tagName="",this.attrs={},this.innerHTML="",this.whitespaceRegex=/\s+/,this.tagName=e.tagName||"",this.attrs=e.attrs||{},this.innerHTML=e.innerHtml||e.innerHTML||""}return e.prototype.setTagName=function(e){return this.tagName=e,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(e,t){return this.getAttrs()[e]=t,this},e.prototype.getAttr=function(e){return this.getAttrs()[e]},e.prototype.setAttrs=function(e){return Object.assign(this.getAttrs(),e),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(e){return this.setAttr("class",e)},e.prototype.addClass=function(e){for(var t,i=this.getClass(),r=this.whitespaceRegex,n=i?i.split(r):[],a=e.split(r);t=a.shift();)-1===yah(n,t)&&n.push(t);return this.getAttrs().class=n.join(" "),this},e.prototype.removeClass=function(e){for(var t,i=this.getClass(),r=this.whitespaceRegex,n=i?i.split(r):[],a=e.split(r);n.length&&(t=a.shift());){var o=yah(n,t);-1!==o&&n.splice(o,1)}return this.getAttrs().class=n.join(" "),this},e.prototype.getClass=function(){return this.getAttrs().class||""},e.prototype.hasClass=function(e){return-1!==(" "+this.getClass()+" ").indexOf(" "+e+" ")},e.prototype.setInnerHTML=function(e){return this.innerHTML=e,this},e.prototype.setInnerHtml=function(e){return this.setInnerHTML(e)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var e=this.getTagName(),t=this.buildAttrsStr();return["<",e,t=t?" "+t:"",">",this.getInnerHtml(),"</",e,">"].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var e,t=this.getAttrs(),i=[];for(e in t)t.hasOwnProperty(e)&&i.push(e+'="'+t[e]+'"');return i.join(" ")},e}(),Gah=function(){function e(e){void 0===e&&(e={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=e.newWindow||!1,this.truncate=e.truncate||{},this.className=e.className||""}return e.prototype.build=function(e){return new Cah({tagName:"a",attrs:this.createAttrs(e),innerHtml:this.processAnchorText(e.getAnchorText())})},e.prototype.createAttrs=function(e){var t={href:e.getAnchorHref()},i=this.createCssClass(e);return i&&(t.class=i),this.newWindow&&(t.target="_blank",t.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<e.getAnchorText().length&&(t.title=e.getAnchorHref()),t},e.prototype.createCssClass=function(e){var t=this.className;if(t){for(var i=[t],r=e.getCssClassSuffixes(),n=0,a=r.length;n<a;n++)i.push(t+"-"+r[n]);return i.join(" ")}return""},e.prototype.processAnchorText=function(e){return e=this.doTruncate(e)},e.prototype.doTruncate=function(e){var t=this.truncate;if(!t||!t.length)return e;var i=t.length,t=t.location;return("smart"===t?function(e,t,n){var i;i=null==n?(n="…",c=3,8):(c=n.length,n.length);function r(e){var t="";return e.scheme&&e.host&&(t+=e.scheme+"://"),e.host&&(t+=e.host),e.path&&(t+="/"+e.path),e.query&&(t+="?"+e.query),e.fragment&&(t+="#"+e.fragment),t}function a(e,t){var i=t/2,r=Math.ceil(i),t=-1*Math.floor(i),i="";return t<0&&(i=e.substr(t)),e.substr(0,r)+n+i}if(e.length<=t)return e;var o=t-c,s=function(e){var t={},i=e,e=i.match(/^([a-z]+):\/\//i);return e&&(t.scheme=e[1],i=i.substr(e[0].length)),(e=i.match(/^(.*?)(?=(\?|#|\/|$))/i))&&(t.host=e[1],i=i.substr(e[0].length)),(e=i.match(/^\/(.*?)(?=(\?|#|$))/i))&&(t.path=e[1],i=i.substr(e[0].length)),(e=i.match(/^\?(.*?)(?=(#|$))/i))&&(t.query=e[1],i=i.substr(e[0].length)),(e=i.match(/^#(.*?)$/i))&&(t.fragment=e[1]),t}(e);{var l;!s.query||(l=s.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i))&&(s.query=s.query.substr(0,l[1].length),e=r(s))}if(e.length<=t)return e;s.host&&(s.host=s.host.replace(/^www\./,""),e=r(s));if(e.length<=t)return e;e="";s.host&&(e+=s.host);if(e.length>=o)return(s.host.length==t?s.host.substr(0,t-c)+n:a(e,o)).substr(0,o+i);var c="";s.path&&(c+="/"+s.path);s.query&&(c+="?"+s.query);if(c){if(o<=(e+c).length){if((e+c).length==t)return(e+c).substr(0,t);var u=o-e.length;return(e+a(c,u)).substr(0,o+i)}e+=c}if(s.fragment){u="#"+s.fragment;if(o<=(e+u).length){if((e+u).length==t)return(e+u).substr(0,t);c=o-e.length;return(e+a(u,c)).substr(0,o+i)}e+=u}if(s.scheme&&s.host){s=s.scheme+"://";if((e+s).length<o)return(s+e).substr(0,t)}if(e.length<=t)return e;t="";0<o&&(t=e.substr(-1*Math.floor(o/2)));return(e.substr(0,Math.ceil(o/2))+n+t).substr(0,o+i)}:"middle"===t?function(e,t,i){if(e.length<=t)return e;var r;n=null==i?(i="…",r=8,3):(r=i.length,i.length);var t=t-n,n="";0<t&&(n=e.substr(-1*Math.floor(t/2)));return(e.substr(0,Math.ceil(t/2))+i+n).substr(0,t+r)}:xah)(e,i)},e}(),Hah=function(){function e(e){this.__jsduckDummyDocProp=null,this.matchedText="",this.offset=0,this.tagBuilder=e.tagBuilder,this.matchedText=e.matchedText,this.offset=e.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(e){this.offset=e},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.getType()]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}(),Iah=function(e,t){return(Iah=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},Kah=function(){return(Kah=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},Lah=function(i){function e(e){var t=i.call(this,e)||this;return t.email="",t.email=e.email,t}return Jah(e,i),e.prototype.getType=function(){return"email"},e.prototype.getEmail=function(){return this.email},e.prototype.getAnchorHref=function(){return"mailto:"+this.email},e.prototype.getAnchorText=function(){return this.email},e}(Hah),Mah=function(i){function e(e){var t=i.call(this,e)||this;return t.serviceName="",t.hashtag="",t.serviceName=e.serviceName,t.hashtag=e.hashtag,t}return Jah(e,i),e.prototype.getType=function(){return"hashtag"},e.prototype.getServiceName=function(){return this.serviceName},e.prototype.getHashtag=function(){return this.hashtag},e.prototype.getAnchorHref=function(){var e=this.serviceName,t=this.hashtag;switch(e){case"twitter":return"https://twitter.com/hashtag/"+t;case"facebook":return"https://www.facebook.com/hashtag/"+t;case"instagram":return"https://instagram.com/explore/tags/"+t;default:throw new Error("Unknown service name to point hashtag to: "+e)}},e.prototype.getAnchorText=function(){return"#"+this.hashtag},e}(Hah),Nah=function(i){function e(e){var t=i.call(this,e)||this;return t.serviceName="twitter",t.mention="",t.mention=e.mention,t.serviceName=e.serviceName,t}return Jah(e,i),e.prototype.getType=function(){return"mention"},e.prototype.getMention=function(){return this.mention},e.prototype.getServiceName=function(){return this.serviceName},e.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},e.prototype.getAnchorText=function(){return"@"+this.mention},e.prototype.getCssClassSuffixes=function(){var e=i.prototype.getCssClassSuffixes.call(this),t=this.getServiceName();return t&&e.push(t),e},e}(Hah),Oah=function(i){function e(e){var t=i.call(this,e)||this;return t.number="",t.plusSign=!1,t.number=e.number,t.plusSign=e.plusSign,t}return Jah(e,i),e.prototype.getType=function(){return"phone"},e.prototype.getPhoneNumber=function(){return this.number},e.prototype.getNumber=function(){return this.getPhoneNumber()},e.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},e.prototype.getAnchorText=function(){return this.matchedText},e}(Hah),Pah=function(i){function e(e){var t=i.call(this,e)||this;return t.url="",t.urlMatchType="scheme",t.protocolUrlMatch=!1,t.protocolRelativeMatch=!1,t.stripPrefix={scheme:!0,www:!0},t.stripTrailingSlash=!0,t.decodePercentEncoding=!0,t.schemePrefixRegex=/^(https?:\/\/)?/i,t.wwwPrefixRegex=/^(https?:\/\/)?(www\.)?/i,t.protocolRelativeRegex=/^\/\//,t.protocolPrepended=!1,t.urlMatchType=e.urlMatchType,t.url=e.url,t.protocolUrlMatch=e.protocolUrlMatch,t.protocolRelativeMatch=e.protocolRelativeMatch,t.stripPrefix=e.stripPrefix,t.stripTrailingSlash=e.stripTrailingSlash,t.decodePercentEncoding=e.decodePercentEncoding,t}return Jah(e,i),e.prototype.getType=function(){return"url"},e.prototype.getUrlMatchType=function(){return this.urlMatchType},e.prototype.getUrl=function(){var e=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(e=this.url="http://"+e,this.protocolPrepended=!0),e},e.prototype.getAnchorHref=function(){return this.getUrl().replace(/&/g,"&")},e.prototype.getAnchorText=function(){var e=this.getMatchedText();return this.protocolRelativeMatch&&(e=this.stripProtocolRelativePrefix(e)),this.stripPrefix.scheme&&(e=this.stripSchemePrefix(e)),this.stripPrefix.www&&(e=this.stripWwwPrefix(e)),this.stripTrailingSlash&&(e=this.removeTrailingSlash(e)),this.decodePercentEncoding&&(e=this.removePercentEncoding(e)),e},e.prototype.stripSchemePrefix=function(e){return e.replace(this.schemePrefixRegex,"")},e.prototype.stripWwwPrefix=function(e){return e.replace(this.wwwPrefixRegex,"$1")},e.prototype.stripProtocolRelativePrefix=function(e){return e.replace(this.protocolRelativeRegex,"")},e.prototype.removeTrailingSlash=function(e){return"/"===e.charAt(e.length-1)&&(e=e.slice(0,-1)),e},e.prototype.removePercentEncoding=function(e){var t=e.replace(/%22/gi,""").replace(/%26/gi,"&").replace(/%27/gi,"'").replace(/%3C/gi,"<").replace(/%3E/gi,">");try{return decodeURIComponent(t)}catch(e){return t}},e}(Hah),Qah=function(e){this.__jsduckDummyDocProp=null,this.tagBuilder=e.tagBuilder},Rah=/[A-Za-z]/,Sah=/[0-9]/,Tah=/\s/,Uah=/['"]/,Vah=/[\x00-\x1F\x7F]/,bbh="(?:["+($ah=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source)+"]{1,3}\\.){3}["+$ah+"]{1,3}",cbh="["+(abh=_ah=(Wah=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source)+/\u00a9\u00ae\u2000-\u3300\ud83c\ud000-\udfff\ud83d\ud000-\udfff\ud83e\ud000-\udfff/.source+/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source+$ah)+"](?:["+abh+"\\-]{0,61}["+abh+"])?",dbh=function(e){return"(?=("+cbh+"))\\"+e},ebh=function(e){return"(?:"+dbh(e)+"(?:\\."+dbh(e+1)+"){0,126}|"+bbh+")"},fbh=new RegExp("["+abh+"]"),gbh=/(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|vermögensberatung|xn--3oq18vl8pn36a|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|afamilycompany|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|spreadbetting|travelchannel|wolterskluwer|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|rightathome|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pbt977c|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nationwide|newholland|nextdirect|onyourside|properties|protection|prudential|realestate|republican|restaurant|schaeffler|swiftcover|tatamotors|technology|telefonica|university|vistaprint|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|fujixerox|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|honeywell|institute|insurance|kuokgroup|ladbrokes|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|scjohnson|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--tckwe|xn--vhquv|yodobashi|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|budapest|builders|business|capetown|catering|catholic|chrysler|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|esurance|etisalat|everbank|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|movistar|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|symantec|training|uconnect|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|cartier|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|iselect|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lancome|lanxess|lasalle|latrobe|leclerc|liaison|limited|lincoln|markets|metlife|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|shriram|singles|staples|starhub|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|католик|اتصالات|الجزائر|العليان|پاکستان|كاثوليك|موبايلي|இந்தியா|abarth|abbott|abbvie|active|africa|agency|airbus|airtel|alipay|alsace|alstom|anquan|aramco|author|bayern|beauty|berlin|bharti|blanco|bostik|boston|broker|camera|career|caseih|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|mobily|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|piaget|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|warman|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|dodge|drive|dubai|earth|edeka|email|epost|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glade|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|intel|irish|iveco|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|lixil|loans|locus|lotte|lotto|lupin|macys|mango|media|miami|money|mopar|movie|nadex|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|zippo|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|adac|aero|aigo|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|doha|duck|duns|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|raid|read|reit|rent|rest|rich|rmit|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scor|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|グーグル|クラウド|ポイント|大众汽车|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bnl|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceb|ceo|cfa|cfd|com|crs|csc|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jcp|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|off|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|qvc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|srl|srt|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ストア|セール|みんな|中文网|天主教|我爱你|新加坡|淡马锡|诺基亚|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|工行|广东|微博|慈善|手机|手表|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|珠宝|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)/,hbh=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.localPartCharRegex=new RegExp("["+abh+"!#$%&'*+/=?^_`{|}~-]"),e.strictTldRegex=new RegExp("^"+gbh.source+"$"),e}return Jah(e,t),e.prototype.parseMatches=function(i){for(var e,t,r,n,a,o,s,l,c,u=this.tagBuilder,d=this.localPartCharRegex,h=this.strictTldRegex,p=[],m=i.length,f=new ibh,g={m:"a",a:"i",i:"l",l:"t",t:"o",o:":"},_=0,y=0,C=f;_<m;){var v=i.charAt(_);switch(y){case 0:"m"===(c=v)?S(1):d.test(c)&&S();break;case 1:s=i.charAt(_-1),l=v,":"===s?d.test(l)?(y=2,C=new ibh(Kah({},C,{hasMailtoPrefix:!0}))):T():g[s]===l||(d.test(l)?y=2:"."===l?y=3:"@"===l?y=4:T());break;case 2:"."===(o=v)?y=3:"@"===o?y=4:d.test(o)||T();break;case 3:"."!==(a=v)&&"@"!==a&&d.test(a)?y=2:T();break;case 4:n=v,fbh.test(n)?y=5:T();break;case 5:"."===(r=v)?y=7:"-"===r?y=6:fbh.test(r)||b();break;case 6:"-"!==(t=v)&&"."!==t&&fbh.test(t)?y=5:b();break;case 7:"."!==(e=v)&&"-"!==e&&fbh.test(e)?(y=5,C=new ibh(Kah({},C,{hasDomainDot:!0}))):b();break;default:Bah(y)}_++}return b(),p;function S(e){void 0===e&&(e=2),y=e,C=new ibh({idx:_})}function T(){y=0,C=f}function b(){var e,t;C.hasDomainDot&&(e=i.slice(C.idx,_),/[-.]$/.test(e)&&(e=e.slice(0,-1)),function(e){e=(e.split(".").pop()||"").toLowerCase();return h.test(e)}(t=C.hasMailtoPrefix?e.slice("mailto:".length):e)&&p.push(new Lah({tagBuilder:u,matchedText:e,offset:C.idx,email:t}))),T()}},e}(Qah),ibh=function(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.hasMailtoPrefix=!!e.hasMailtoPrefix,this.hasDomainDot=!!e.hasDomainDot},jbh=function(){function e(){}return e.isValid=function(e,t){return!(t&&!this.isValidUriScheme(t)||this.urlMatchDoesNotHaveProtocolOrDot(e,t)||this.urlMatchDoesNotHaveAtLeastOneWordChar(e,t)&&!this.isValidIpAddress(e)||this.containsMultipleDots(e))},e.isValidIpAddress=function(e){var t=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source);return null!==e.match(t)},e.containsMultipleDots=function(e){var t=e;return this.hasFullProtocolRegex.test(e)&&(t=e.split("://")[1]),-1<t.split("/")[0].indexOf("..")},e.isValidUriScheme=function(e){e=e.match(this.uriSchemeRegex),e=e&&e[0].toLowerCase();return"javascript:"!==e&&"vbscript:"!==e},e.urlMatchDoesNotHaveProtocolOrDot=function(e,t){return!(!e||t&&this.hasFullProtocolRegex.test(t)||-1!==e.indexOf("."))},e.urlMatchDoesNotHaveAtLeastOneWordChar=function(e,t){return!(!e||!t)&&!this.hasWordCharAfterProtocolRegex.test(e)},e.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,e.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,e.hasWordCharAfterProtocolRegex=new RegExp(":[^\\s]*?["+Wah+"]"),e.ipRegex=/[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?(:[0-9]*)?\/?$/,e}(),kbh=function(r){function e(e){var t,i=r.call(this,e)||this;return i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.matcherRegex=(t=new RegExp("[/?#](?:["+abh+"\\-+&@#/%=~_()|'$*\\[\\]?!:,.;✓]*["+abh+"\\-+&@#/%=~_()|'$*\\[\\]✓])?"),new RegExp(["(?:","(",/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\/\/)(?!\d+\/?)(?:\/\/)?)/.source,ebh(2),")","|","(","(//)?",/(?:www\.)/.source,ebh(6),")","|","(","(//)?",ebh(10)+"\\.",gbh.source,"(?![-"+_ah+"])",")",")","(?::[0-9]+)?","(?:"+t.source+")?"].join(""),"gi")),i.wordCharRegExp=new RegExp("["+abh+"]"),i.stripPrefix=e.stripPrefix,i.stripTrailingSlash=e.stripTrailingSlash,i.decodePercentEncoding=e.decodePercentEncoding,i}return Jah(e,r),e.prototype.parseMatches=function(l){for(var c,e=this.matcherRegex,u=this.stripPrefix,d=this.stripTrailingSlash,h=this.decodePercentEncoding,p=this.tagBuilder,m=[],f=this;null!==(c=e.exec(l));)!function(){var e,t,i=c[0],r=c[1],n=c[4],a=c[5],o=c[9],s=c.index,a=a||o,o=l.charAt(s-1);jbh.isValid(i,r)&&(0<s&&"@"===o||0<s&&a&&f.wordCharRegExp.test(o)||(/\?$/.test(i)&&(i=i.substr(0,i.length-1)),f.matchHasUnbalancedClosingParen(i)?i=i.substr(0,i.length-1):-1<(e=f.matchHasInvalidCharAfterTld(i,r))&&(i=i.substr(0,e)),(e=["http://","https://"].find(function(e){return!!r&&-1!==r.indexOf(e)}))&&(t=i.indexOf(e),i=i.substr(t),r=r.substr(t),s+=t),t=r?"scheme":n?"www":"tld",n=!!r,m.push(new Pah({tagBuilder:p,matchedText:i,offset:s,urlMatchType:t,url:i,protocolUrlMatch:n,protocolRelativeMatch:!!a,stripPrefix:u,stripTrailingSlash:d,decodePercentEncoding:h}))))}();return m},e.prototype.matchHasUnbalancedClosingParen=function(e){var t,i=e.charAt(e.length-1);if(")"===i)t="(";else{if("]"!==i)return!1;t="["}for(var r=0,n=0,a=e.length-1;n<a;n++){var o=e.charAt(n);o===t?r++:o===i&&(r=Math.max(r-1,0))}return 0===r},e.prototype.matchHasInvalidCharAfterTld=function(e,t){if(!e)return-1;var i=0;t&&(i=e.indexOf(":"),e=e.slice(i));t=new RegExp("^((.?//)?[-."+abh+"]*[-"+abh+"]\\.[-"+abh+"]+)").exec(e);return null===t?-1:(i+=t[1].length,e=e.slice(t[1].length),/^[^-.A-Za-z0-9:\/?#]/.test(e)?i:-1)},e}(Qah),lbh=function(i){function e(e){var t=i.call(this,e)||this;return t.serviceName="twitter",t.matcherRegex=new RegExp("#[_"+abh+"]{1,139}(?![_"+abh+"])","g"),t.nonWordCharRegex=new RegExp("[^"+abh+"]"),t.serviceName=e.serviceName,t}return Jah(e,i),e.prototype.parseMatches=function(e){for(var t=this.matcherRegex,i=this.nonWordCharRegex,r=this.serviceName,n=this.tagBuilder,a=[];null!==(o=t.exec(e));){var o,s=o.index,l=e.charAt(s-1);0!==s&&!i.test(l)||(l=o[0],o=o[0].slice(1),a.push(new Mah({tagBuilder:n,matchedText:l,offset:s,serviceName:r,hashtag:o})))}return a},e}(Qah),mbh=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.matcherRegex=/(?:(?:(?:(\+)?\d{1,3}[-\040.]?)?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\040.]?(?:\d[-\040.]?){6,12}\d+))([,;]+[0-9]+#?)*/g,e}return Jah(e,t),e.prototype.parseMatches=function(e){for(var t,i=this.matcherRegex,r=this.tagBuilder,n=[];null!==(t=i.exec(e));){var a=t[0],o=a.replace(/[^0-9,;#]/g,""),s=!(!t[1]&&!t[2]),l=0==t.index?"":e.substr(t.index-1,1),c=e.substr(t.index+a.length,1),c=!l.match(/\d/)&&!c.match(/\d/);this.testMatch(t[3])&&this.testMatch(a)&&c&&n.push(new Oah({tagBuilder:r,matchedText:a,offset:t.index,number:o,plusSign:s}))}return n},e.prototype.testMatch=function(e){return/\D/.test(e)},e}(Qah),nbh=function(i){function e(e){var t=i.call(this,e)||this;return t.serviceName="twitter",t.matcherRegexes={twitter:new RegExp("@[_"+abh+"]{1,50}(?![_"+abh+"])","g"),instagram:new RegExp("@[_."+abh+"]{1,30}(?![_"+abh+"])","g"),soundcloud:new RegExp("@[-_."+abh+"]{1,50}(?![-_"+abh+"])","g")},t.nonWordCharRegex=new RegExp("[^"+abh+"]"),t.serviceName=e.serviceName,t}return Jah(e,i),e.prototype.parseMatches=function(e){var t=this.serviceName,i=this.matcherRegexes[this.serviceName],r=this.nonWordCharRegex,n=this.tagBuilder,a=[];if(!i)return a;for(;null!==(o=i.exec(e));){var o,s=o.index,l=e.charAt(s-1);0!==s&&!r.test(l)||(o=(l=o[0].replace(/\.+$/g,"")).slice(1),a.push(new Nah({tagBuilder:n,matchedText:l,offset:s,serviceName:t,mention:o})))}return a},e}(Qah),pbh=function(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.type=e.type||"tag",this.name=e.name||"",this.isOpening=!!e.isOpening,this.isClosing=!!e.isClosing},function(){function i(e){void 0===e&&(e={}),this.version=i.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.matchers=null,this.tagBuilder=null,this.urls=this.normalizeUrlsCfg(e.urls),this.email=("boolean"==typeof e.email?e:this).email,this.phone=("boolean"==typeof e.phone?e:this).phone,this.hashtag=e.hashtag||this.hashtag,this.mention=e.mention||this.mention,this.newWindow=("boolean"==typeof e.newWindow?e:this).newWindow,this.stripPrefix=this.normalizeStripPrefixCfg(e.stripPrefix),this.stripTrailingSlash=("boolean"==typeof e.stripTrailingSlash?e:this).stripTrailingSlash,this.decodePercentEncoding=("boolean"==typeof e.decodePercentEncoding?e:this).decodePercentEncoding;var t=this.mention;if(!1!==t&&"twitter"!==t&&"instagram"!==t&&"soundcloud"!==t)throw new Error("invalid `mention` cfg - see docs");t=this.hashtag;if(!1!==t&&"twitter"!==t&&"facebook"!==t&&"instagram"!==t)throw new Error("invalid `hashtag` cfg - see docs");this.truncate=this.normalizeTruncateCfg(e.truncate),this.className=e.className||this.className,this.replaceFn=e.replaceFn||this.replaceFn,this.context=e.context||this}return i.link=function(e,t){return new i(t).link(e)},i.parse=function(e,t){return new i(t).parse(e)},i.prototype.normalizeUrlsCfg=function(e){return null==e&&(e=!0),"boolean"==typeof e?{schemeMatches:e,wwwMatches:e,tldMatches:e}:{schemeMatches:"boolean"!=typeof e.schemeMatches||e.schemeMatches,wwwMatches:"boolean"!=typeof e.wwwMatches||e.wwwMatches,tldMatches:"boolean"!=typeof e.tldMatches||e.tldMatches}},i.prototype.normalizeStripPrefixCfg=function(e){return null==e&&(e=!0),"boolean"==typeof e?{scheme:e,www:e}:{scheme:"boolean"!=typeof e.scheme||e.scheme,www:"boolean"!=typeof e.www||e.www}},i.prototype.normalizeTruncateCfg=function(e){return"number"==typeof e?{length:e,location:"end"}:function(e,t){for(var i in t)t.hasOwnProperty(i)&&void 0===e[i]&&(e[i]=t[i]);return e}(e||{},{length:Number.POSITIVE_INFINITY,location:"end"})},i.prototype.parse=function(e){var r=this,t=["a","style","script"],n=0,a=[];return function(t,e){for(var i=e.onOpenTag,r=e.onCloseTag,n=e.onText,a=e.onComment,o=e.onDoctype,s=new pbh,l=0,c=t.length,u=0,d=0,h=s;l<c;){var p=t.charAt(l);switch(u){case 0:!void("<"===p&&f());break;case 1:!function(e){"!"===e?u=13:"/"===e?(u=2,h=new pbh(Kah({},h,{isClosing:!0}))):"<"===e?f():h=Rah.test(e)?(u=3,new pbh(Kah({},h,{isOpening:!0}))):(u=0,s)}(p);break;case 2:!function(e){">"!==e&&Rah.test(e)?u=3:m()}(p);break;case 3:!function(e){Tah.test(e)?(h=new pbh(Kah({},h,{name:_()})),u=4):"<"===e?f():"/"===e?(h=new pbh(Kah({},h,{name:_()})),u=12):">"===e?(h=new pbh(Kah({},h,{name:_()})),g()):Rah.test(e)||Sah.test(e)||":"===e||m()}(p);break;case 4:!function(e){Tah.test(e)||("/"===e?u=12:">"===e?g():"<"===e?f():"="===e||Uah.test(e)||Vah.test(e)?m():u=5)}(p);break;case 5:!function(e){Tah.test(e)?u=6:"/"===e?u=12:"="===e?u=7:">"===e?g():"<"===e?f():Uah.test(e)&&m()}(p);break;case 6:!function(e){Tah.test(e)||("/"===e?u=12:"="===e?u=7:">"===e?g():"<"===e?f():Uah.test(e)?m():u=5)}(p);break;case 7:!function(e){Tah.test(e)||('"'===e?u=8:"'"===e?u=9:/[>=`]/.test(e)?m():"<"===e?f():u=10)}(p);break;case 8:!void('"'===p&&(u=11));break;case 9:!void("'"===p&&(u=11));break;case 10:!function(e){Tah.test(e)?u=4:">"===e?g():"<"===e&&f()}(p);break;case 11:!function(e){Tah.test(e)?u=4:"/"===e?u=12:">"===e?g():"<"===e?f():(u=4,l--)}(p);break;case 12:!void(">"===p?(h=new pbh(Kah({},h,{isClosing:!0})),g()):u=4);break;case 13:"--"===t.substr(l,2)?(l+=2,h=new pbh(Kah({},h,{type:"comment"})),u=14):"DOCTYPE"===t.substr(l,7).toUpperCase()?(l+=7,h=new pbh(Kah({},h,{type:"doctype"})),u=20):m();break;case 14:!function(e){"-"===e?u=15:">"===e?m():u=16}(p);break;case 15:!function(e){"-"===e?u=18:">"===e?m():u=16}(p);break;case 16:!void("-"===p&&(u=17));break;case 17:!void(u="-"===p?18:16);break;case 18:!function(e){">"===e?g():"!"===e?u=19:"-"===e||(u=16)}(p);break;case 19:!function(e){"-"===e?u=17:">"===e?g():u=16}(p);break;case 20:!function(e){">"===e?g():"<"===e&&f()}(p);break;default:Bah(u)}l++}function m(){u=0,h=s}function f(){u=1,h=new pbh({idx:l})}function g(){var e=t.slice(d,h.idx);e&&n(e,d),"comment"===h.type?a(h.idx):"doctype"===h.type?o(h.idx):(h.isOpening&&i(h.name,h.idx),h.isClosing&&r(h.name,h.idx)),m(),d=l+1}function _(){var e=h.idx+(h.isClosing?2:1);return t.slice(e,l).toLowerCase()}d<l&&function(){var e=t.slice(d,l);n(e,d),d=l+1}()}(e,{onOpenTag:function(e){0<=t.indexOf(e)&&n++},onText:function(e,t){var i;0===n&&(e=function(e,t){if(!t.global)throw new Error("`splitRegex` must have the 'g' flag set");var i,r=[],n=0;for(;i=t.exec(e);)r.push(e.substring(n,i.index)),r.push(i[0]),n=i.index+i[0].length;return r.push(e.substring(n)),r}(e,/( | |<|<|>|>|"|"|')/gi),i=t,e.forEach(function(e,t){t%2==0&&(t=r.parseText(e,i),a.push.apply(a,t)),i+=e.length}))},onCloseTag:function(e){0<=t.indexOf(e)&&(n=Math.max(n-1,0))},onComment:function(e){},onDoctype:function(e){}}),a=this.compactMatches(a),a=this.removeUnwantedMatches(a)},i.prototype.compactMatches=function(e){e.sort(function(e,t){return e.getOffset()-t.getOffset()});for(var t=0;t<e.length-1;t++){var i=e[t],r=i.getOffset(),n=i.getMatchedText().length,i=r+n;t+1<e.length&&(e[t+1].getOffset()!==r?e[t+1].getOffset()<i&&e.splice(t+1,1):(n=e[t+1].getMatchedText().length>n?t:t+1,e.splice(n,1)))}return e},i.prototype.removeUnwantedMatches=function(e){return this.hashtag||zah(e,function(e){return"hashtag"===e.getType()}),this.email||zah(e,function(e){return"email"===e.getType()}),this.phone||zah(e,function(e){return"phone"===e.getType()}),this.mention||zah(e,function(e){return"mention"===e.getType()}),this.urls.schemeMatches||zah(e,function(e){return"url"===e.getType()&&"scheme"===e.getUrlMatchType()}),this.urls.wwwMatches||zah(e,function(e){return"url"===e.getType()&&"www"===e.getUrlMatchType()}),this.urls.tldMatches||zah(e,function(e){return"url"===e.getType()&&"tld"===e.getUrlMatchType()}),e},i.prototype.parseText=function(e,t){void 0===t&&(t=0),t=t||0;for(var i=this.getMatchers(),r=[],n=0,a=i.length;n<a;n++){for(var o=i[n].parseMatches(e),s=0,l=o.length;s<l;s++)o[s].setOffset(t+o[s].getOffset());r.push.apply(r,o)}return r},i.prototype.link=function(e){if(!e)return"";for(var t=this.parse(e),i=[],r=0,n=0,a=t.length;n<a;n++){var o=t[n];i.push(e.substring(r,o.getOffset())),i.push(this.createMatchReturnVal(o)),r=o.getOffset()+o.getMatchedText().length}return i.push(e.substring(r)),i.join("")},i.prototype.createMatchReturnVal=function(e){var t;return this.replaceFn&&(t=this.replaceFn.call(this.context,e)),"string"==typeof t?t:!1===t?e.getMatchedText():(t instanceof Cah?t:e.buildTag()).toAnchorString()},i.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var e=this.getTagBuilder(),e=[new lbh({tagBuilder:e,serviceName:this.hashtag}),new hbh({tagBuilder:e}),new mbh({tagBuilder:e}),new nbh({tagBuilder:e,serviceName:this.mention}),new kbh({tagBuilder:e,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=e},i.prototype.getTagBuilder=function(){return this.tagBuilder||(this.tagBuilder=new Gah({newWindow:this.newWindow,truncate:this.truncate,className:this.className}))},i.version="3.11.0",i.AnchorTagBuilder=Gah,i.HtmlTag=Cah,i.matcher={Email:hbh,Hashtag:lbh,Matcher:Qah,Mention:nbh,Phone:mbh,Url:kbh},i.match={Email:Lah,Hashtag:Mah,Match:Hah,Mention:Nah,Phone:Oah,Url:Pah},i}());var Autolinker=tmp$5.Autolinker;function KmlLookAt(e,t){this.position=e,this.headingPitchRange=t}function KmlTour(e,t){this.id=t,this.name=e,this.playlistIndex=0,this.playlist=[],this.tourStart=new Event,this.tourEnd=new Event,this.entryStart=new Event,this.entryEnd=new Event,this._activeEntries=[]}function cancelAllEntries(e){for(var t=e.pop();void 0!==t;t=e.pop())t.stop()}function playEntry(e,t,i){var r,n,a=this.playlist[this.playlistIndex];a?(r=playNext.bind(this,e,t,i),this._activeEntries.push(a),this.entryStart.raiseEvent(a),a.blocking?a.play(r,e.scene.camera,t):(n=this,a.play(function(){n.entryEnd.raiseEvent(a);var e=n._activeEntries.indexOf(a);0<=e&&n._activeEntries.splice(e,1)}),r(e,t,i))):defined(i)&&i(!1)}function playNext(e,t,i,r){var n=this.playlist[this.playlistIndex];this.entryEnd.raiseEvent(n,r),r?i(r):(0<=(n=this._activeEntries.indexOf(n))&&this._activeEntries.splice(n,1),this.playlistIndex++,playEntry.call(this,e,t,i))}function KmlTourFlyTo(e,t,i){this.type="KmlTourFlyTo",this.blocking=!0,this.activeCamera=null,this.activeCallback=null,this.duration=e,this.view=i,this.flyToMode=t}function KmlTourWait(e){this.type="KmlTourWait",this.blocking=!0,this.duration=e,this.timeout=null}KmlTour.prototype.addPlaylistEntry=function(e){this.playlist.push(e)},KmlTour.prototype.play=function(e,t){this.tourStart.raiseEvent();var i=this;playEntry.call(this,e,t,function(e){i.playlistIndex=0,e||cancelAllEntries(i._activeEntries),i.tourEnd.raiseEvent(e)})},KmlTour.prototype.stop=function(){cancelAllEntries(this._activeEntries)},KmlTourFlyTo.prototype.play=function(t,e,i){var r;this.activeCamera=e,defined(t)&&null!==t&&((r=this).activeCallback=function(e){delete r.activeCallback,delete r.activeCamera,t(!defined(e)&&e)});var n=this.getCameraOptions(i);this.view.headingPitchRoll?e.flyTo(n):this.view.headingPitchRange&&(i=new BoundingSphere(this.view.position),e.flyToBoundingSphere(i,n))},KmlTourFlyTo.prototype.stop=function(){defined(this.activeCamera)&&this.activeCamera.cancelFlight(),defined(this.activeCallback)&&this.activeCallback(!0)},KmlTourFlyTo.prototype.getCameraOptions=function(e){var t={duration:this.duration};return defined(this.activeCallback)&&(t.complete=this.activeCallback),"smooth"===this.flyToMode&&(t.easingFunction=EasingFunction$1.LINEAR_NONE),this.view.headingPitchRoll?(t.destination=this.view.position,t.orientation=this.view.headingPitchRoll):this.view.headingPitchRange&&(t.offset=this.view.headingPitchRange),defined(e)&&(t=combine(t,e)),t},KmlTourWait.prototype.play=function(e){var t=this;this.activeCallback=e,this.timeout=setTimeout(function(){delete t.activeCallback,e(!1)},1e3*this.duration)},KmlTourWait.prototype.stop=function(){clearTimeout(this.timeout),defined(this.activeCallback)&&this.activeCallback(!0)};var MimeTypes={avi:"video/x-msvideo",bmp:"image/bmp",bz2:"application/x-bzip2",chm:"application/vnd.ms-htmlhelp",css:"text/css",csv:"text/csv",doc:"application/msword",dvi:"application/x-dvi",eps:"application/postscript",flv:"video/x-flv",gif:"image/gif",gz:"application/x-gzip",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",jnlp:"application/x-java-jnlp-file",jpeg:"image/jpeg",jpg:"image/jpeg",m3u:"audio/x-mpegurl",m4v:"video/mp4",mathml:"application/mathml+xml",mid:"audio/midi",midi:"audio/midi",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mp4v:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",ogg:"application/ogg",pdf:"application/pdf",png:"image/png",pps:"application/vnd.ms-powerpoint",ppt:"application/vnd.ms-powerpoint",ps:"application/postscript",qt:"video/quicktime",rdf:"application/rdf+xml",rss:"application/rss+xml",rtf:"application/rtf",svg:"image/svg+xml",swf:"application/x-shockwave-flash",text:"text/plain",tif:"image/tiff",tiff:"image/tiff",txt:"text/plain",wav:"audio/x-wav",wma:"audio/x-ms-wma",wmv:"video/x-ms-wmv",xml:"application/xml",zip:"application/zip",detectFromFilename:function(e){e=getExtensionFromUri(e=e.toLowerCase());return MimeTypes[e]}},parser;"undefined"!=typeof DOMParser&&(parser=new DOMParser);var autolinker=new Autolinker({stripPrefix:!1,email:!1,replaceFn:function(e){if(!e.protocolUrlMatch)return!1}}),BILLBOARD_SIZE$1=32,BILLBOARD_NEAR_DISTANCE=2414016,BILLBOARD_NEAR_RATIO=1,BILLBOARD_FAR_DISTANCE=16093e3,BILLBOARD_FAR_RATIO=.1,kmlNamespaces=[null,void 0,"http://www.opengis.net/kml/2.2","http://earth.google.com/kml/2.2","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.0"],gxNamespaces=["http://www.google.com/kml/ext/2.2"],atomNamespaces=["http://www.w3.org/2005/Atom"],namespaces={kml:kmlNamespaces,gx:gxNamespaces,atom:atomNamespaces,kmlgx:kmlNamespaces.concat(gxNamespaces)},featureTypes={Document:processDocument$1,Folder:processFolder,Placemark:processPlacemark,NetworkLink:processNetworkLink,GroundOverlay:processGroundOverlay,PhotoOverlay:processUnsupportedFeature,ScreenOverlay:processUnsupportedFeature,Tour:processTour};function DeferredLoading(e){this._dataSource=e,this._deferred=when.defer(),this._stack=[],this._promises=[],this._timeoutSet=!1,this._used=!1,this._started=0,this._timeThreshold=1e3}function isZipFile(e){var e=e.slice(0,Math.min(4,e.size)),t=when.defer(),i=new FileReader;return i.addEventListener("load",function(){t.resolve(1347093252===new DataView(i.result).getUint32(0,!1))}),i.addEventListener("error",function(){t.reject(i.error)}),i.readAsArrayBuffer(e),t.promise}function readBlobAsText(e){var t=when.defer(),i=new FileReader;return i.addEventListener("load",function(){t.resolve(i.result)}),i.addEventListener("error",function(){t.reject(i.error)}),i.readAsText(e),t.promise}function insertNamespaces(e){var t,i,r,n,a={xsi:"http://www.w3.org/2001/XMLSchema-instance"};for(n in a)a.hasOwnProperty(n)&&(r="xmlns:"+n+"=",RegExp("[< ]"+n+":").test(e)&&-1===e.indexOf(r)&&(defined(t)||(t=e.substr(0,e.indexOf("<kml")+4),i=e.substr(t.length)),t+=" "+r+'"'+a[n]+'"'));return defined(t)&&(e=t+i),e}function removeDuplicateNamespaces(e){for(var t,i,r=e.indexOf("xmlns:"),n=e.indexOf(">",r);-1!==r&&r<n;)i=e.slice(r,e.indexOf('"',r)),t=r,r=-1!==(r=e.indexOf(i,r+1))?(i=e.indexOf('"',e.indexOf('"',r)+1),(e=e.slice(0,r-1)+e.slice(i+1,e.length)).indexOf("xmlns:",t-1)):e.indexOf("xmlns:",t+1);return e}function loadXmlFromZip(e,t,i){e.getData(new zip.TextWriter,function(e){e=removeDuplicateNamespaces(e=insertNamespaces(e)),t.kml=parser.parseFromString(e,"application/xml"),i.resolve()})}function loadDataUriFromZip(t,i,r){var e=defaultValue(MimeTypes.detectFromFilename(t.filename),"application/octet-stream");t.getData(new zip.Data64URIWriter(e),function(e){i[t.filename]=e,r.resolve()})}function embedDataUris(e,t,i,r){for(var n=r.keys,a=new URI("."),o=e.querySelectorAll(t),s=0;s<o.length;s++){var l=o[s],c=new URI(l.getAttribute(i)).resolve(a).toString(),c=n.indexOf(c);-1!==c&&(c=n[c],l.setAttribute(i,r[c]),"a"===t&&null===l.getAttribute("download")&&l.setAttribute("download",c))}}function applyBasePath(e,t,i,r){for(var n=e.querySelectorAll(t),a=0;a<n.length;a++){var o=n[a],s=resolveHref(o.getAttribute(i),r);o.setAttribute(i,s.url)}}function createEntity(e,t,i){var r=defined(r=queryStringAttribute(e,"id"))&&0!==r.length?r:createGuid();defined(i)&&(r=i+r);e=t.getById(r);return defined(e)&&(r=createGuid(),defined(i)&&(r=i+r)),defined((e=t.add(new Entity({id:r}))).kml)||(e.addProperty("kml"),e.kml=new KmlFeatureData),e}function isExtrudable(e,t){return"absolute"===e||"relativeToGround"===e||"relativeToSeaFloor"===t}function readCoordinate(e,t){if(!defined(e))return Cartesian3.fromDegrees(0,0,0,t);var i=e.match(/[^\s,\n]+/g);if(!defined(i))return Cartesian3.fromDegrees(0,0,0,t);var r=parseFloat(i[0]),e=parseFloat(i[1]),i=parseFloat(i[2]),r=isNaN(r)?0:r,e=isNaN(e)?0:e,i=isNaN(i)?0:i;return Cartesian3.fromDegrees(r,e,i,t)}function readCoordinates(e,t){if(defined(e)){var i=e.textContent.match(/[^\s\n]+/g);if(defined(i)){for(var r=i.length,n=new Array(r),a=0,o=0;o<r;o++)n[a++]=readCoordinate(i[o],t);return n}}}function queryNumericAttribute(e,t){if(defined(e)){t=e.getAttribute(t);if(null!==t){t=parseFloat(t);return isNaN(t)?void 0:t}}}function queryStringAttribute(e,t){if(defined(e)){t=e.getAttribute(t);return null!==t?t:void 0}}function queryFirstNode(e,t,i){if(defined(e))for(var r=e.childNodes,n=r.length,a=0;a<n;a++){var o=r[a];if(o.localName===t&&-1!==i.indexOf(o.namespaceURI))return o}}function queryNodes(e,t,i){if(defined(e)){for(var r=[],n=e.getElementsByTagNameNS("*",t),a=n.length,o=0;o<a;o++){var s=n[o];s.localName===t&&-1!==i.indexOf(s.namespaceURI)&&r.push(s)}return r}}function queryChildNodes(e,t,i){if(!defined(e))return[];for(var r=[],n=e.childNodes,a=n.length,o=0;o<a;o++){var s=n[o];s.localName===t&&-1!==i.indexOf(s.namespaceURI)&&r.push(s)}return r}function queryNumericValue(e,t,i){i=queryFirstNode(e,t,i);if(defined(i)){i=parseFloat(i.textContent);return isNaN(i)?void 0:i}}function queryStringValue(e,t,i){i=queryFirstNode(e,t,i);if(defined(i))return i.textContent.trim()}function queryBooleanValue(e,t,i){i=queryFirstNode(e,t,i);if(defined(i)){i=i.textContent.trim();return"1"===i||/^true$/i.test(i)}}function resolveHref(e,t,i){var r,n,a;if(defined(e))return defined(i)&&(defined(a=i[e=e.replace(/\\/g,"/")])?r=new Resource({url:a}):(n=new URI(t.getUrlComponent()),defined(a=i[new URI(e).resolve(n)])&&(r=new Resource({url:a})))),defined(r)||(r=t.getDerivedResource({url:e})),r}Object.defineProperties(DeferredLoading.prototype,{dataSource:{get:function(){return this._dataSource}}}),DeferredLoading.prototype.addNodes=function(e,t){this._stack.push({nodes:e,index:0,processingData:t}),this._used=!0},DeferredLoading.prototype.addPromise=function(e){this._promises.push(e)},DeferredLoading.prototype.wait=function(){var e=this._deferred;return this._used||e.resolve(),when.join(e.promise,when.all(this._promises))},DeferredLoading.prototype.process=function(){var e=1===this._stack.length;return e&&(this._started=KmlDataSource._getTimestamp()),this._process(e)},DeferredLoading.prototype._giveUpTime=function(){var e;this._timeoutSet||(this._timeoutSet=!0,this._timeThreshold=50,e=this,setTimeout(function(){e._timeoutSet=!1,e._started=KmlDataSource._getTimestamp(),e._process(!0)},0))},DeferredLoading.prototype._nextNode=function(){var e=this._stack,t=e[e.length-1],i=t.index,e=t.nodes;if(i!==e.length)return++t.index,e[i]},DeferredLoading.prototype._pop=function(){var e=this._stack;return e.pop(),0!==e.length||(this._deferred.resolve(),!1)},DeferredLoading.prototype._process=function(e){for(var t=this.dataSource,i=this._stack[this._stack.length-1].processingData,r=this._nextNode();defined(r);){var n=featureTypes[r.localName];if(defined(n)&&(-1!==namespaces.kml.indexOf(r.namespaceURI)||-1!==namespaces.gx.indexOf(r.namespaceURI))&&(n(t,r,i,this),this._timeoutSet||KmlDataSource._getTimestamp()>this._started+this._timeThreshold))return void this._giveUpTime();r=this._nextNode()}this._pop()&&e&&this._process(!0)};var colorOptions={maximumRed:void 0,red:void 0,maximumGreen:void 0,green:void 0,maximumBlue:void 0,blue:void 0};function parseColorString(e,t){if(defined(e)&&!/^\s*$/gm.test(e)){"#"===e[0]&&(e=e.substring(1));var i=parseInt(e.substring(0,2),16)/255,r=parseInt(e.substring(2,4),16)/255,n=parseInt(e.substring(4,6),16)/255,e=parseInt(e.substring(6,8),16)/255;return t?(0<e?(colorOptions.maximumRed=e,colorOptions.red=void 0):(colorOptions.maximumRed=void 0,colorOptions.red=0),0<n?(colorOptions.maximumGreen=n,colorOptions.green=void 0):(colorOptions.maximumGreen=void 0,colorOptions.green=0),0<r?(colorOptions.maximumBlue=r,colorOptions.blue=void 0):(colorOptions.maximumBlue=void 0,colorOptions.blue=0),colorOptions.alpha=i,Color.fromRandom(colorOptions)):new Color(e,n,r,i)}}function queryColorValue(e,t,i){t=queryStringValue(e,t,i);if(defined(t))return parseColorString(t,"random"===queryStringValue(e,"colorMode",i))}function processTimeStamp(e){var t=queryFirstNode(e,"TimeStamp",namespaces.kmlgx),e=queryStringValue(t,"when",namespaces.kmlgx);if(defined(t)&&defined(e)&&0!==e.length){t=JulianDate.fromIso8601(e),e=new TimeIntervalCollection;return e.addInterval(new TimeInterval({start:t,stop:Iso8601.MAXIMUM_VALUE})),e}}function processTimeSpan(e){var t=queryFirstNode(e,"TimeSpan",namespaces.kmlgx);if(defined(t)){var i,e=queryFirstNode(t,"begin",namespaces.kmlgx),e=defined(e)?JulianDate.fromIso8601(e.textContent):void 0,t=queryFirstNode(t,"end",namespaces.kmlgx),t=defined(t)?JulianDate.fromIso8601(t.textContent):void 0;return defined(e)&&defined(t)?(JulianDate.lessThan(t,e)&&(i=e,e=t,t=i),(i=new TimeIntervalCollection).addInterval(new TimeInterval({start:e,stop:t}))):defined(e)?(i=new TimeIntervalCollection).addInterval(new TimeInterval({start:e,stop:Iso8601.MAXIMUM_VALUE})):defined(t)&&(i=new TimeIntervalCollection).addInterval(new TimeInterval({start:Iso8601.MINIMUM_VALUE,stop:t})),i}}function createDefaultBillboard(){var e=new BillboardGraphics;return e.width=BILLBOARD_SIZE$1,e.height=BILLBOARD_SIZE$1,e.scaleByDistance=new NearFarScalar(BILLBOARD_NEAR_DISTANCE,BILLBOARD_NEAR_RATIO,BILLBOARD_FAR_DISTANCE,BILLBOARD_FAR_RATIO),e.pixelOffsetScaleByDistance=new NearFarScalar(BILLBOARD_NEAR_DISTANCE,BILLBOARD_NEAR_RATIO,BILLBOARD_FAR_DISTANCE,BILLBOARD_FAR_RATIO),e}function createDefaultPolygon(){var e=new PolygonGraphics;return e.outline=!0,e.outlineColor=Color.WHITE,e}function createDefaultLabel(){var e=new LabelGraphics;return e.translucencyByDistance=new NearFarScalar(3e6,1,5e6,0),e.pixelOffset=new Cartesian2(17,0),e.horizontalOrigin=HorizontalOrigin$1.LEFT,e.font="16px sans-serif",e.style=LabelStyle$1.FILL_AND_OUTLINE,e}function getIconHref(e,t,i,r,n){var a,o,s,l=queryStringValue(e,"href",namespaces.kml);if(defined(l)&&0!==l.length){0===l.indexOf("root://icons/palette-")&&(a=l.charAt(21),o=defaultValue(queryNumericValue(e,"x",namespaces.gx),0),s=defaultValue(queryNumericValue(e,"y",namespaces.gx),0),o=Math.min(o/32,7),l="https://maps.google.com/mapfiles/kml/pal"+a+"/icon"+(8*(s=7-Math.min(s/32,7))+o)+".png");i=resolveHref(l,i,r);if(n){r=queryStringValue(e,"refreshMode",namespaces.kml),n=queryStringValue(e,"viewRefreshMode",namespaces.kml);"onInterval"===r||"onExpire"===r?oneTimeWarning("kml-refreshMode-"+r,"KML - Unsupported Icon refreshMode: "+r):"onStop"!==n&&"onRegion"!==n||oneTimeWarning("kml-refreshMode-"+n,"KML - Unsupported Icon viewRefreshMode: "+n);r=defaultValue(queryStringValue(e,"viewBoundScale",namespaces.kml),1),n="onStop"===n?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",n=defaultValue(queryStringValue(e,"viewFormat",namespaces.kml),n),e=queryStringValue(e,"httpQuery",namespaces.kml);defined(n)&&i.setQueryParameters(queryToObject(cleanupString(n))),defined(e)&&i.setQueryParameters(queryToObject(cleanupString(e)));e=t._ellipsoid;return processNetworkLinkQueryString(i,t._camera,t._canvas,r,t._lastCameraView.bbox,e),i}return i}}function processBillboardIcon(e,t,i,r,n){var a=queryNumericValue(t,"scale",namespaces.kml),o=queryNumericValue(t,"heading",namespaces.kml),s=queryColorValue(t,"color",namespaces.kml),l=queryFirstNode(t,"Icon",namespaces.kml),c=getIconHref(l,e,r,n,!1);defined(l)&&!defined(c)&&(c=!1);var u,d,h=queryNumericValue(l,"x",namespaces.gx),p=queryNumericValue(l,"y",namespaces.gx),m=queryNumericValue(l,"w",namespaces.gx),f=queryNumericValue(l,"h",namespaces.gx),e=queryFirstNode(t,"hotSpot",namespaces.kml),r=queryNumericAttribute(e,"x"),n=queryNumericAttribute(e,"y"),l=queryStringAttribute(e,"xunits"),t=queryStringAttribute(e,"yunits"),e=i.billboard;defined(e)||(e=createDefaultBillboard(),i.billboard=e),e.image=c,e.scale=a,e.color=s,(defined(h)||defined(p)||defined(m)||defined(f))&&(e.imageSubRegion=new BoundingRectangle(h,p,m,f)),defined(o)&&0!==o&&(e.rotation=CesiumMath.toRadians(-o),e.alignedAxis=Cartesian3.UNIT_Z),a=defaultValue(a,1),defined(r)&&("pixels"===l?u=-r*a:"insetPixels"===l?u=(r-BILLBOARD_SIZE$1)*a:"fraction"===l&&(u=-r*BILLBOARD_SIZE$1*a),u+=.5*BILLBOARD_SIZE$1*a),defined(n)&&("pixels"===t?d=n*a:"insetPixels"===t?d=(-n+BILLBOARD_SIZE$1)*a:"fraction"===t&&(d=n*BILLBOARD_SIZE$1*a),d-=.5*BILLBOARD_SIZE$1*a),(defined(u)||defined(d))&&(e.pixelOffset=new Cartesian2(u,d))}function applyStyle(e,t,i,r,n){for(var a=0,o=t.childNodes.length;a<o;a++){var s,l,c,u=t.childNodes.item(a);"IconStyle"===u.localName?processBillboardIcon(e,u,i,r,n):"LabelStyle"===u.localName?(defined(s=i.label)||(s=createDefaultLabel(),i.label=s),s.scale=defaultValue(queryNumericValue(u,"scale",namespaces.kml),s.scale),s.fillColor=defaultValue(queryColorValue(u,"color",namespaces.kml),s.fillColor),s.text=i.name):"LineStyle"===u.localName?(defined(l=i.polyline)||(l=new PolylineGraphics,i.polyline=l),l.width=queryNumericValue(u,"width",namespaces.kml),l.material=queryColorValue(u,"color",namespaces.kml),defined(queryColorValue(u,"outerColor",namespaces.gx))&&oneTimeWarning("kml-gx:outerColor","KML - gx:outerColor is not supported in a LineStyle"),defined(queryNumericValue(u,"outerWidth",namespaces.gx))&&oneTimeWarning("kml-gx:outerWidth","KML - gx:outerWidth is not supported in a LineStyle"),defined(queryNumericValue(u,"physicalWidth",namespaces.gx))&&oneTimeWarning("kml-gx:physicalWidth","KML - gx:physicalWidth is not supported in a LineStyle"),defined(queryBooleanValue(u,"labelVisibility",namespaces.gx))&&oneTimeWarning("kml-gx:labelVisibility","KML - gx:labelVisibility is not supported in a LineStyle")):"PolyStyle"===u.localName?(defined(c=i.polygon)||(c=createDefaultPolygon(),i.polygon=c),c.material=defaultValue(queryColorValue(u,"color",namespaces.kml),c.material),c.fill=defaultValue(queryBooleanValue(u,"fill",namespaces.kml),c.fill),c.outline=defaultValue(queryBooleanValue(u,"outline",namespaces.kml),c.outline)):"BalloonStyle"===u.localName?(s=defaultValue(parseColorString(queryStringValue(u,"bgColor",namespaces.kml)),Color.WHITE),l=defaultValue(parseColorString(queryStringValue(u,"textColor",namespaces.kml)),Color.BLACK),c=queryStringValue(u,"text",namespaces.kml),i.addProperty("balloonStyle"),i.balloonStyle={bgColor:s,textColor:l,text:c}):"ListStyle"===u.localName&&("radioFolder"!==(u=queryStringValue(u,"listItemType",namespaces.kml))&&"checkOffOnly"!==u||oneTimeWarning("kml-listStyle-"+u,"KML - Unsupported ListStyle with listItemType: "+u))}}function computeFinalStyle(e,t,i,r,n){for(var a,o=new Entity,s=-1,l=t.childNodes,c=l.length,u=0;u<c;u++){var d=l[u];"Style"!==d.localName&&"StyleMap"!==d.localName||(s=u)}if(-1!==s){var h=l[s];if("Style"===h.localName)applyStyle(e,h,o,r,n);else for(var p=queryChildNodes(h,"Pair",namespaces.kml),m=0;m<p.length;m++){var f,g=p[m],_=queryStringValue(g,"key",namespaces.kml);"normal"===_?defined(f=queryStringValue(g,"styleUrl",namespaces.kml))?(defined(a=i.getById(f))||(a=i.getById("#"+f)),defined(a)&&o.merge(a)):applyStyle(e,queryFirstNode(g,"Style",namespaces.kml),o,r,n):oneTimeWarning("kml-styleMap-"+_,"KML - Unsupported StyleMap key: "+_)}}var y=queryStringValue(t,"styleUrl",namespaces.kml);return defined(y)&&("#"!==(h=y)[0]&&-1!==y.indexOf("#")&&(y=(t=y.split("#"))[0],h=r.getDerivedResource({url:y}).getUrlComponent()+"#"+t[1]),defined(a=i.getById(h))||(a=i.getById("#"+h)),defined(a)&&o.merge(a)),o}function processExternalStyles(t,i,r){return i.fetchXML().then(function(e){return processStyles(t,e,r,i,!0)})}function processStyles(e,t,i,r,n,a){var o,s,l=queryNodes(t,"Style",namespaces.kml);if(defined(l))for(var c=l.length,u=0;u<c;u++)defined(_=queryStringAttribute(s=l[u],"id"))&&(_="#"+_,n&&defined(r)&&(_=r.getUrlComponent()+_),defined(i.getById(_))||(o=new Entity({id:_}),i.add(o),applyStyle(e,s,o,r,a)));var d=queryNodes(t,"StyleMap",namespaces.kml);if(defined(d)){var h=d.length;for(u=0;u<h;u++){var p=d[u];if(defined(_=queryStringAttribute(p,"id")))for(var m=queryChildNodes(p,"Pair",namespaces.kml),f=0;f<m.length;f++){var g,_,y=m[f],C=queryStringValue(y,"key",namespaces.kml);"normal"===C?(_="#"+_,n&&defined(r)&&(_=r.getUrlComponent()+_),defined(i.getById(_))||(o=i.getOrCreateEntity(_),defined(g=queryStringValue(y,"styleUrl",namespaces.kml))?("#"!==g[0]&&(g="#"+g),n&&defined(r)&&(g=r.getUrlComponent()+g),defined(g=i.getById(g))&&o.merge(g)):applyStyle(e,s=queryFirstNode(y,"Style",namespaces.kml),o,r,a))):oneTimeWarning("kml-styleMap-"+C,"KML - Unsupported StyleMap key: "+C)}}}var v=[],S=t.getElementsByTagName("styleUrl"),T=S.length;for(u=0;u<T;u++){var b=S[u].textContent;"#"===b[0]||2===(b=b.split("#")).length&&(b=b[0],b=r.getDerivedResource({url:b}),v.push(processExternalStyles(e,b,i)))}return v}function createDropLine(e,t,i){var r=new ReferenceProperty(e,t.id,["position"]),e=new ScaledPositionProperty(t.position);t.polyline=defined(i.polyline)?i.polyline.clone():new PolylineGraphics,t.polyline.positions=new PositionPropertyArray([r,e])}function heightReferenceFromAltitudeMode(e,t){return!defined(e)&&!defined(t)||"clampToGround"===e?HeightReference$1.CLAMP_TO_GROUND:"relativeToGround"===e?HeightReference$1.RELATIVE_TO_GROUND:"absolute"===e?HeightReference$1.NONE:"clampToSeaFloor"===t?(oneTimeWarning("kml-gx:altitudeMode-clampToSeaFloor","KML - <gx:altitudeMode>:clampToSeaFloor is currently not supported, using <kml:altitudeMode>:clampToGround."),HeightReference$1.CLAMP_TO_GROUND):"relativeToSeaFloor"===t?(oneTimeWarning("kml-gx:altitudeMode-relativeToSeaFloor","KML - <gx:altitudeMode>:relativeToSeaFloor is currently not supported, using <kml:altitudeMode>:relativeToGround."),HeightReference$1.RELATIVE_TO_GROUND):(defined(e)?oneTimeWarning("kml-altitudeMode-unknown","KML - Unknown <kml:altitudeMode>:"+e+", using <kml:altitudeMode>:CLAMP_TO_GROUND."):oneTimeWarning("kml-gx:altitudeMode-unknown","KML - Unknown <gx:altitudeMode>:"+t+", using <kml:altitudeMode>:CLAMP_TO_GROUND."),HeightReference$1.CLAMP_TO_GROUND)}function createPositionPropertyFromAltitudeMode(e,t,i){return"relativeToSeaFloor"===i||"absolute"===t||"relativeToGround"===t?e:((defined(t)&&"clampToGround"!==t||defined(i)&&"clampToSeaFloor"!==i)&&oneTimeWarning("kml-altitudeMode-unknown","KML - Unknown altitudeMode: "+defaultValue(t,i)),new ScaledPositionProperty(e))}function createPositionPropertyArrayFromAltitudeMode(e,t,i,r){if(defined(e)){if("relativeToSeaFloor"===i||"absolute"===t||"relativeToGround"===t)return e;(defined(t)&&"clampToGround"!==t||defined(i)&&"clampToSeaFloor"!==i)&&oneTimeWarning("kml-altitudeMode-unknown","KML - Unknown altitudeMode: "+defaultValue(t,i));for(var n=e.length,a=0;a<n;a++){var o=e[a];r.scaleToGeodeticSurface(o,o)}return e}}function processPositionGraphics(e,t,i,r){var n=t.label;defined(n)||(n=defined(i.label)?i.label.clone():createDefaultLabel(),t.label=n),n.text=t.name;var a=t.billboard;defined(a)||(a=defined(i.billboard)?i.billboard.clone():createDefaultBillboard(),t.billboard=a),defined(a.image)?a.image.getValue()||(a.image=void 0):a.image=e._pinBuilder.fromColor(Color.YELLOW,64);t=1;defined(a.scale)&&(0!==(t=a.scale.getValue())?n.pixelOffset=new Cartesian2(16*t+1,0):(n.pixelOffset=void 0,n.horizontalOrigin=void 0)),defined(r)&&e._clampToGround&&(a.heightReference=r,n.heightReference=r)}function processPathGraphics(e,t){var i=e.path;defined(i)||((i=new PathGraphics).leadTime=0,e.path=i);t=t.polyline;defined(t)&&(i.material=t.material,i.width=t.width)}function processPoint$2(e,t,i,r,n){var a=queryStringValue(i,"coordinates",namespaces.kml),o=queryStringValue(i,"altitudeMode",namespaces.kml),s=queryStringValue(i,"altitudeMode",namespaces.gx),i=queryBooleanValue(i,"extrude",namespaces.kml),a=readCoordinate(a,e._ellipsoid);return r.position=a,processPositionGraphics(e,r,n,heightReferenceFromAltitudeMode(o,s)),i&&isExtrudable(o,s)&&createDropLine(t,r,n),!0}function processLineStringOrLinearRing(e,t,i,r,n){var a,o=queryFirstNode(i,"coordinates",namespaces.kml),s=queryStringValue(i,"altitudeMode",namespaces.kml),l=queryStringValue(i,"altitudeMode",namespaces.gx),c=queryBooleanValue(i,"extrude",namespaces.kml),u=queryBooleanValue(i,"tessellate",namespaces.kml),d=isExtrudable(s,l),h=queryNumericValue(i,"drawOrder",namespaces.gx),p=e._ellipsoid,i=readCoordinates(o,p),o=n.polyline;return d&&c?(c=new WallGraphics,(r.wall=c).positions=i,defined(a=n.polygon)&&(c.fill=a.fill,c.material=a.material),c.outline=!0,defined(o)?(c.outlineColor=defined(o.material)?o.material.color:Color.WHITE,c.outlineWidth=o.width):defined(a)&&(c.outlineColor=defined(a.material)?a.material.color:Color.WHITE)):e._clampToGround&&!d&&u?((a=new PolylineGraphics).clampToGround=!0,(r.polyline=a).positions=i,defined(o)?(a.material=defined(o.material)?o.material.color.getValue(Iso8601.MINIMUM_VALUE):Color.WHITE,a.width=defaultValue(o.width,1)):(a.material=Color.WHITE,a.width=1),a.zIndex=h):(defined(h)&&oneTimeWarning("kml-gx:drawOrder","KML - gx:drawOrder is not supported in LineStrings when clampToGround is false"),e._clampToGround&&!u&&oneTimeWarning("kml-line-tesselate","Ignoring clampToGround for KML lines without the tessellate flag."),o=defined(o)?o.clone():new PolylineGraphics,(r.polyline=o).positions=createPositionPropertyArrayFromAltitudeMode(i,s,l,p),u&&!d||(o.arcType=ArcType$1.NONE)),!0}function processPolygon$2(e,t,i,r,n){var a=queryFirstNode(i,"outerBoundaryIs",namespaces.kml),o=queryFirstNode(a,"LinearRing",namespaces.kml),s=queryFirstNode(o,"coordinates",namespaces.kml),l=e._ellipsoid,c=readCoordinates(s,l),u=queryBooleanValue(i,"extrude",namespaces.kml),d=isExtrudable(queryStringValue(i,"altitudeMode",namespaces.kml),queryStringValue(i,"altitudeMode",namespaces.gx)),a=defined(n.polygon)?n.polygon.clone():createDefaultPolygon(),n=n.polyline;if(defined(n)&&(a.outlineColor=defined(n.material)?n.material.color:Color.WHITE,a.outlineWidth=n.width),r.polygon=a,d?(a.perPositionHeight=!0,a.extrudedHeight=u?0:void 0):e._clampToGround||(a.height=0),defined(c)){for(var h=new PolygonHierarchy(c),p=queryChildNodes(i,"innerBoundaryIs",namespaces.kml),m=0;m<p.length;m++){o=queryChildNodes(p[m],"LinearRing",namespaces.kml);for(var f=0;f<o.length;f++)defined(c=readCoordinates(queryFirstNode(o[f],"coordinates",namespaces.kml),l))&&h.holes.push(new PolygonHierarchy(c))}a.hierarchy=h}return!0}function processTrack(e,t,i,r,n){var a=queryStringValue(i,"altitudeMode",namespaces.kml),o=queryStringValue(i,"altitudeMode",namespaces.gx),s=queryChildNodes(i,"coord",namespaces.gx),l=queryChildNodes(i,"angles",namespaces.gx),c=queryChildNodes(i,"when",namespaces.kml),u=queryBooleanValue(i,"extrude",namespaces.kml),i=isExtrudable(a,o),d=e._ellipsoid;0<l.length&&oneTimeWarning("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");for(var h=Math.min(s.length,c.length),p=[],m=[],f=0;f<h;f++){var g=readCoordinate(s[f].textContent,d);p.push(g),m.push(JulianDate.fromIso8601(c[f].textContent))}l=new SampledPositionProperty;return l.addSamples(m,p),r.position=l,processPositionGraphics(e,r,n,heightReferenceFromAltitudeMode(a,o)),processPathGraphics(r,n),r.availability=new TimeIntervalCollection,0<c.length&&r.availability.addInterval(new TimeInterval({start:m[0],stop:m[m.length-1]})),i&&u&&createDropLine(t,r,n),!0}function addToMultiTrack(e,t,i,r,n,a,o,s,l){var c=e[0],u=e[e.length-1],d=new SampledPositionProperty;d.addSamples(e,t),i.intervals.addInterval(new TimeInterval({start:c,stop:u,isStartIncluded:l,isStopIncluded:l,data:createPositionPropertyFromAltitudeMode(d,o,s)})),r.addInterval(new TimeInterval({start:c,stop:u,isStartIncluded:l,isStopIncluded:l})),n.intervals.addInterval(new TimeInterval({start:c,stop:u,isStartIncluded:l,isStopIncluded:l,data:a}))}function processMultiTrack(e,t,i,r,n){for(var a,o,s=queryBooleanValue(i,"interpolate",namespaces.gx),l=queryChildNodes(i,"Track",namespaces.gx),c=!1,u=new TimeIntervalCollectionProperty,d=new TimeIntervalCollection,h=new CompositePositionProperty,p=e._ellipsoid,m=0,f=l.length;m<f;m++){for(var g=l[m],_=queryChildNodes(g,"when",namespaces.kml),y=queryChildNodes(g,"coord",namespaces.gx),C=queryStringValue(g,"altitudeMode",namespaces.kml),v=queryStringValue(g,"altitudeMode",namespaces.gx),S=isExtrudable(C,v),g=queryBooleanValue(g,"extrude",namespaces.kml),T=Math.min(y.length,_.length),b=[],x=[],E=0;E<T;E++){var P=readCoordinate(y[E].textContent,p);b.push(P),x.push(JulianDate.fromIso8601(_[E].textContent))}s&&(defined(a)&&addToMultiTrack([a,x[0]],[o,b[0]],h,d,u,!1,"absolute",void 0,!1),a=x[T-1],o=b[b.length-1]),addToMultiTrack(x,b,h,d,u,S&&g,C,v,!0),c=c||S&&g}return r.availability=d,r.position=h,processPositionGraphics(e,r,n),processPathGraphics(r,n),c&&(createDropLine(t,r,n),r.polyline.show=u),!0}var geometryTypes$1={Point:processPoint$2,LineString:processLineStringOrLinearRing,LinearRing:processLineStringOrLinearRing,Polygon:processPolygon$2,Track:processTrack,MultiTrack:processMultiTrack,MultiGeometry:processMultiGeometry,Model:processUnsupportedGeometry},scratchDiv;function processMultiGeometry(e,t,i,r,n,a){for(var o=i.childNodes,s=!1,l=0,c=o.length;l<c;l++){var u,d=o.item(l),h=geometryTypes$1[d.localName];defined(h)&&((u=createEntity(d,t,a)).parent=r,u.name=r.name,u.availability=r.availability,u.description=r.description,u.kml=r.kml,h(e,t,d,u,n)&&(s=!0))}return s}function processUnsupportedGeometry(e,t,i,r,n){return oneTimeWarning("kml-unsupportedGeometry","KML - Unsupported geometry: "+i.localName),!1}function processExtendedData(e,t){e=queryFirstNode(e,"ExtendedData",namespaces.kml);if(defined(e)){defined(queryFirstNode(e,"SchemaData",namespaces.kml))&&oneTimeWarning("kml-schemaData","KML - SchemaData is unsupported"),defined(queryStringAttribute(e,"xmlns:prefix"))&&oneTimeWarning("kml-extendedData","KML - ExtendedData with xmlns:prefix is unsupported");var i={},r=queryChildNodes(e,"Data",namespaces.kml);if(defined(r))for(var n=r.length,a=0;a<n;a++){var o=r[a],s=queryStringAttribute(o,"name");defined(s)&&(i[s]={displayName:queryStringValue(o,"displayName",namespaces.kml),value:queryStringValue(o,"value",namespaces.kml)})}t.kml.extendedData=i}}function processDescription$1(e,t,i,r,n){var a,o,s=t.kml,l=s.extendedData,c=queryStringValue(e,"description",namespaces.kml),u=defaultValue(t.balloonStyle,i.balloonStyle),e=Color.WHITE,i=Color.BLACK,d=c;if(defined(u)&&(e=defaultValue(u.bgColor,Color.WHITE),i=defaultValue(u.textColor,Color.BLACK),d=defaultValue(u.text,c)),defined(d)){if(d=(d=(d=(d=(d=(d=d.replace("$[name]",defaultValue(t.name,""))).replace("$[description]",defaultValue(c,""))).replace("$[address]",defaultValue(s.address,""))).replace("$[Snippet]",defaultValue(s.snippet,""))).replace("$[id]",t.id)).replace("$[geDirections]",""),defined(l)){var h=d.match(/\$\[.+?\]/g);if(null!==h)for(y=0;y<h.length;y++){var p,m=h[y],f=m.substr(2,m.length-3),g=/\/displayName$/.test(f);defined(p=l[f=f.replace(/\/displayName$/,"")])&&(p=g?p.displayName:p.value),defined(p)&&(d=d.replace(m,defaultValue(p,"")))}}}else if(defined(l)&&0<(o=Object.keys(l)).length){for(d='<table class="cesium-infoBox-defaultTable cesium-infoBox-defaultTable-lighter"><tbody>',y=0;y<o.length;y++)d+="<tr><th>"+defaultValue((p=l[a=o[y]]).displayName,a)+"</th><td>"+defaultValue(p.value,"")+"</td></tr>";d+="</tbody></table>"}if(defined(d)){d=autolinker.link(d),scratchDiv.innerHTML=d;for(var _=scratchDiv.querySelectorAll("a"),y=0;y<_.length;y++)_[y].setAttribute("target","_blank");defined(r)&&1<r.keys.length&&(embedDataUris(scratchDiv,"a","href",r),embedDataUris(scratchDiv,"img","src",r)),applyBasePath(scratchDiv,"a","href",n),applyBasePath(scratchDiv,"img","src",n);n='<div class="cesium-infoBox-description-lighter" style="';n+="overflow:auto;",n+="word-wrap:break-word;",n+="background-color:"+e.toCssColorString()+";",n+="color:"+i.toCssColorString()+";",n+='">',n+=scratchDiv.innerHTML+"</div>",scratchDiv.innerHTML="",t.description=n}}function processFeature$1(e,t,i){var r=i.entityCollection,n=i.parentEntity,a=i.sourceResource,o=i.uriResolver,s=createEntity(t,r,i.context),l=s.kml,r=computeFinalStyle(e,t,i.styleCollection,a,o),i=queryStringValue(t,"name",namespaces.kml);s.name=i,s.parent=n;i=processTimeSpan(t);defined(i)||(i=processTimeStamp(t)),s.availability=i,mergeAvailabilityWithParent(s);i=queryBooleanValue(t,"visibility",namespaces.kml);s.show=function e(t){return!t||t.show&&e(t.parent)}(n)&&defaultValue(i,!0);n=queryFirstNode(t,"author",namespaces.atom),i=l.author;i.name=queryStringValue(n,"name",namespaces.atom),i.uri=queryStringValue(n,"uri",namespaces.atom),i.email=queryStringValue(n,"email",namespaces.atom);i=queryFirstNode(t,"link",namespaces.atom),n=l.link;n.href=queryStringAttribute(i,"href"),n.hreflang=queryStringAttribute(i,"hreflang"),n.rel=queryStringAttribute(i,"rel"),n.type=queryStringAttribute(i,"type"),n.title=queryStringAttribute(i,"title"),n.length=queryStringAttribute(i,"length"),l.address=queryStringValue(t,"address",namespaces.kml),l.phoneNumber=queryStringValue(t,"phoneNumber",namespaces.kml),l.snippet=queryStringValue(t,"Snippet",namespaces.kml),processExtendedData(t,s),processDescription$1(t,s,r,o,a);e=e._ellipsoid;return processLookAt(t,s,e),processCamera(t,s,e),defined(queryFirstNode(t,"Region",namespaces.kml))&&oneTimeWarning("kml-region","KML - Placemark Regions are unsupported"),{entity:s,styleEntity:r}}function processDocument$1(e,t,i,r){r.addNodes(t.childNodes,i),r.process()}function processFolder(e,t,i,r){var n=processFeature$1(e,t,i),i=clone(i);i.parentEntity=n.entity,processDocument$1(e,t,i,r)}function processPlacemark(e,t,i,r){for(var n=processFeature$1(e,t,i),a=n.entity,o=n.styleEntity,s=!1,l=t.childNodes,c=0,u=l.length;c<u&&!s;c++){var d=l.item(c),h=geometryTypes$1[d.localName];defined(h)&&(h(e,i.entityCollection,d,a,o,a.id),s=!0)}s||(a.merge(o),processPositionGraphics(e,a,o))}"undefined"!=typeof document&&(scratchDiv=document.createElement("div"));var playlistNodeProcessors={FlyTo:processTourFlyTo,Wait:processTourWait,SoundCue:processTourUnsupportedNode,AnimatedUpdate:processTourUnsupportedNode,TourControl:processTourUnsupportedNode};function processTour(e,t,i,r){var n=new KmlTour(queryStringValue(t,"name",namespaces.kml),queryStringAttribute(t,"id")),t=queryFirstNode(t,"Playlist",namespaces.gx);if(t)for(var a=e._ellipsoid,o=t.childNodes,s=0;s<o.length;s++){var l,c=o[s];c.localName&&((l=playlistNodeProcessors[c.localName])?l(n,c,a):console.log("Unknown KML Tour playlist entry type "+c.localName))}defined(e.kmlTours)||(e.kmlTours=[]),e.kmlTours.push(n)}function processTourUnsupportedNode(e,t){oneTimeWarning("KML Tour unsupported node "+t.localName)}function processTourWait(e,t){t=queryNumericValue(t,"duration",namespaces.gx);e.addPlaylistEntry(new KmlTourWait(t))}function processTourFlyTo(e,t,i){var r=queryNumericValue(t,"duration",namespaces.gx),n=queryStringValue(t,"flyToMode",namespaces.gx),a={kml:{}};processLookAt(t,a,i),processCamera(t,a,i);a=new KmlTourFlyTo(r,n,a.kml.lookAt||a.kml.camera);e.addPlaylistEntry(a)}function processCamera(e,t,i){var r,n,a,o,s=queryFirstNode(e,"Camera",namespaces.kml);defined(s)&&(r=defaultValue(queryNumericValue(s,"longitude",namespaces.kml),0),n=defaultValue(queryNumericValue(s,"latitude",namespaces.kml),0),a=defaultValue(queryNumericValue(s,"altitude",namespaces.kml),0),o=defaultValue(queryNumericValue(s,"heading",namespaces.kml),0),e=defaultValue(queryNumericValue(s,"tilt",namespaces.kml),0),s=defaultValue(queryNumericValue(s,"roll",namespaces.kml),0),i=Cartesian3.fromDegrees(r,n,a,i),s=HeadingPitchRoll.fromDegrees(o,e-90,s),t.kml.camera=new KmlCamera(i,s))}function processLookAt(e,t,i){var r,n,a,o,s=queryFirstNode(e,"LookAt",namespaces.kml);defined(s)&&(r=defaultValue(queryNumericValue(s,"longitude",namespaces.kml),0),n=defaultValue(queryNumericValue(s,"latitude",namespaces.kml),0),a=defaultValue(queryNumericValue(s,"altitude",namespaces.kml),0),o=queryNumericValue(s,"heading",namespaces.kml),e=queryNumericValue(s,"tilt",namespaces.kml),s=defaultValue(queryNumericValue(s,"range",namespaces.kml),0),e=CesiumMath.toRadians(defaultValue(e,0)),s=new HeadingPitchRange(o=CesiumMath.toRadians(defaultValue(o,0)),e-CesiumMath.PI_OVER_TWO,s),i=Cartesian3.fromDegrees(r,n,a,i),t.kml.lookAt=new KmlLookAt(i,s))}function processGroundOverlay(e,t,i,r){var n,a=processFeature$1(e,t,i).entity,o=!1,s=e._ellipsoid,l=readCoordinates(queryFirstNode(t,"LatLonQuad",namespaces.gx),s),c=queryNumericValue(t,"drawOrder",namespaces.kml);defined(l)?((n=createDefaultPolygon()).hierarchy=new PolygonHierarchy(l),n.zIndex=c,a.polygon=n,o=!0):((n=new RectangleGraphics).zIndex=c,a.rectangle=n,defined(s=queryFirstNode(t,"LatLonBox",namespaces.kml))&&(l=queryNumericValue(s,"west",namespaces.kml),c=queryNumericValue(s,"south",namespaces.kml),a=queryNumericValue(s,"east",namespaces.kml),u=queryNumericValue(s,"north",namespaces.kml),defined(l)&&(l=CesiumMath.negativePiToPi(CesiumMath.toRadians(l))),defined(c)&&(c=CesiumMath.clampToLatitudeRange(CesiumMath.toRadians(c))),defined(a)&&(a=CesiumMath.negativePiToPi(CesiumMath.toRadians(a))),defined(u)&&(u=CesiumMath.clampToLatitudeRange(CesiumMath.toRadians(u))),n.coordinates=new Rectangle(l,c,a,u),defined(u=queryNumericValue(s,"rotation",namespaces.kml))&&(d=CesiumMath.toRadians(u),n.rotation=d,n.stRotation=d)));var u=queryFirstNode(t,"Icon",namespaces.kml),d=getIconHref(u,e,i.sourceResource,i.uriResolver,!0);defined(d)?(o&&oneTimeWarning("kml-gx:LatLonQuad","KML - gx:LatLonQuad Icon does not support texture projection."),e=queryNumericValue(u,"x",namespaces.gx),i=queryNumericValue(u,"y",namespaces.gx),o=queryNumericValue(u,"w",namespaces.gx),u=queryNumericValue(u,"h",namespaces.gx),(defined(e)||defined(i)||defined(o)||defined(u))&&oneTimeWarning("kml-groundOverlay-xywh","KML - gx:x, gx:y, gx:w, gx:h aren't supported for GroundOverlays"),n.material=d,n.material.color=queryColorValue(t,"color",namespaces.kml),n.material.transparent=!0):n.material=queryColorValue(t,"color",namespaces.kml);d=queryStringValue(t,"altitudeMode",namespaces.kml);defined(d)?"absolute"===d?(n.height=queryNumericValue(t,"altitude",namespaces.kml),n.zIndex=void 0):"clampToGround"!==d&&oneTimeWarning("kml-altitudeMode-unknown","KML - Unknown altitudeMode: "+d):"relativeToSeaFloor"===(d=queryStringValue(t,"altitudeMode",namespaces.gx))?(oneTimeWarning("kml-altitudeMode-relativeToSeaFloor","KML - altitudeMode relativeToSeaFloor is currently not supported, treating as absolute."),n.height=queryNumericValue(t,"altitude",namespaces.kml),n.zIndex=void 0):"clampToSeaFloor"===d?oneTimeWarning("kml-altitudeMode-clampToSeaFloor","KML - altitudeMode clampToSeaFloor is currently not supported, treating as clampToGround."):defined(d)&&oneTimeWarning("kml-altitudeMode-unknown","KML - Unknown altitudeMode: "+d)}function processUnsupportedFeature(e,t,i,r){e._unsupportedNode.raiseEvent(e,i.parentEntity,t,i.entityCollection,i.styleCollection,i.sourceResource,i.uriResolver),oneTimeWarning("kml-unsupportedFeature-"+t.nodeName,"KML - Unsupported feature: "+t.nodeName)}var RefreshMode={INTERVAL:0,EXPIRE:1,STOP:2};function cleanupString(e){if(!defined(e)||0===e.length)return"";var t=e[0];return"&"!==t&&"?"!==t||(e=e.substring(1)),e}var zeroRectangle=new Rectangle,scratchCartographic$a=new Cartographic,scratchCartesian2$9=new Cartesian2,scratchCartesian3$b=new Cartesian3;function processNetworkLinkQueryString(e,t,i,r,n,a){function o(e){return e<-CesiumMath.PI_OVER_TWO?-CesiumMath.PI_OVER_TWO:e>CesiumMath.PI_OVER_TWO?CesiumMath.PI_OVER_TWO:e}function s(e){return e>CesiumMath.PI?e-CesiumMath.TWO_PI:e<-CesiumMath.PI?e+CesiumMath.TWO_PI:e}var l,c,u,d,h=objectToQuery(e.queryParameters);h=h.replace(/%5B/g,"[").replace(/%5D/g,"]"),h=defined(t)&&t._mode!==SceneMode$1.MORPHING?(n=defaultValue(n,zeroRectangle),defined(i)&&(scratchCartesian2$9.x=.5*i.clientWidth,scratchCartesian2$9.y=.5*i.clientHeight,l=t.pickEllipsoid(scratchCartesian2$9,a,scratchCartesian3$b)),defined(l)?d=a.cartesianToCartographic(l,scratchCartographic$a):(d=Rectangle.center(n,scratchCartographic$a),l=a.cartographicToCartesian(d)),defined(r)&&!CesiumMath.equalsEpsilon(r,1,CesiumMath.EPSILON9)&&(c=n.width*r*.5,u=n.height*r*.5,n=new Rectangle(s(d.longitude-c),o(d.latitude-u),s(d.longitude+c),o(d.latitude+u))),h=(h=(h=(h=h.replace("[bboxWest]",CesiumMath.toDegrees(n.west).toString())).replace("[bboxSouth]",CesiumMath.toDegrees(n.south).toString())).replace("[bboxEast]",CesiumMath.toDegrees(n.east).toString())).replace("[bboxNorth]",CesiumMath.toDegrees(n.north).toString()),u=CesiumMath.toDegrees(d.longitude).toString(),n=CesiumMath.toDegrees(d.latitude).toString(),h=(h=(h=(h=(h=(h=(h=(h=h.replace("[lookatLon]",u)).replace("[lookatLat]",n)).replace("[lookatTilt]",CesiumMath.toDegrees(t.pitch).toString())).replace("[lookatHeading]",CesiumMath.toDegrees(t.heading).toString())).replace("[lookatRange]",Cartesian3.distance(t.positionWC,l))).replace("[lookatTerrainLon]",u)).replace("[lookatTerrainLat]",n)).replace("[lookatTerrainAlt]",d.height.toString()),a.cartesianToCartographic(t.positionWC,scratchCartographic$a),h=(h=(h=h.replace("[cameraLon]",CesiumMath.toDegrees(scratchCartographic$a.longitude).toString())).replace("[cameraLat]",CesiumMath.toDegrees(scratchCartographic$a.latitude).toString())).replace("[cameraAlt]",CesiumMath.toDegrees(scratchCartographic$a.height).toString()),d=n="",defined(t=(a=t.frustum).aspectRatio)&&(a=CesiumMath.toDegrees(a.fov),1<t?d=(n=a)/t:n=(d=a)*t),(h=h.replace("[horizFov]",n.toString())).replace("[vertFov]",d.toString())):(h=(h=(h=(h=(h=(h=(h=(h=(h=(h=(h=(h=(h=(h=(h=(h=h.replace("[bboxWest]","-180")).replace("[bboxSouth]","-90")).replace("[bboxEast]","180")).replace("[bboxNorth]","90")).replace("[lookatLon]","")).replace("[lookatLat]","")).replace("[lookatRange]","")).replace("[lookatTilt]","")).replace("[lookatHeading]","")).replace("[lookatTerrainLon]","")).replace("[lookatTerrainLat]","")).replace("[lookatTerrainAlt]","")).replace("[cameraLon]","")).replace("[cameraLat]","")).replace("[cameraAlt]","")).replace("[horizFov]","")).replace("[vertFov]",""),h=(h=(h=(h=(h=(h=defined(i)?(h=h.replace("[horizPixels]",i.clientWidth)).replace("[vertPixels]",i.clientHeight):(h=h.replace("[horizPixels]","")).replace("[vertPixels]","")).replace("[terrainEnabled]","1")).replace("[clientVersion]","1")).replace("[kmlVersion]","2.2")).replace("[clientName]","Cesium")).replace("[language]","English"),e.setQueryParameters(queryToObject(h))}function processNetworkLink(m,e,t,i){var f,g,_,y,C=processFeature$1(m,e,t).entity,r=t.sourceResource,n=t.uriResolver,v=queryFirstNode(e,"Link",namespaces.kml);defined(v)||(v=queryFirstNode(e,"Url",namespaces.kml)),!defined(v)||defined(_=queryStringValue(v,"href",namespaces.kml))&&(_=resolveHref(e=_,r,t.uriResolver),/^data:/.test(_.getUrlComponent())?/\.kmz/i.test(r.getUrlComponent())||(e=r.getDerivedResource({url:e})):(e=_.clone(),f=queryStringValue(v,"viewRefreshMode",namespaces.kml),g=defaultValue(queryStringValue(v,"viewBoundScale",namespaces.kml),1),t="onStop"===f?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",r=defaultValue(queryStringValue(v,"viewFormat",namespaces.kml),t),t=queryStringValue(v,"httpQuery",namespaces.kml),defined(r)&&_.setQueryParameters(queryToObject(cleanupString(r))),defined(t)&&_.setQueryParameters(queryToObject(cleanupString(t))),t=m._ellipsoid,processNetworkLinkQueryString(_,m._camera,m._canvas,g,m._lastCameraView.bbox,t)),n={sourceUri:e,uriResolver:n,context:C.id},y=new EntityCollection,n=load$2(m,y,_,n).then(function(e){var t=m._entityCollection,i=y.values;t.suspendEvents();for(var r=0;r<i.length;r++){var n=i[r];defined(n.parent)||(n.parent=C,mergeAvailabilityWithParent(n)),t.add(n)}t.resumeEvents();var a=queryStringValue(v,"refreshMode",namespaces.kml),o=defaultValue(queryNumericValue(v,"refreshInterval",namespaces.kml),0);if("onInterval"===a&&0<o||"onExpire"===a||"onStop"===f){var s,l=queryFirstNode(e,"NetworkLinkControl",namespaces.kml),e=defined(l),c=JulianDate.now(),u={id:createGuid(),href:_,cookie:{},lastUpdated:c,updating:!1,entity:C,viewBoundScale:g,needsUpdate:!1,cameraUpdateTime:c},d=0;if(e&&(u.cookie=queryToObject(defaultValue(queryStringValue(l,"cookie",namespaces.kml),"")),d=defaultValue(queryNumericValue(l,"minRefreshPeriod",namespaces.kml),0)),"onInterval"===a)e&&(o=Math.max(d,o)),u.refreshMode=RefreshMode.INTERVAL,u.time=o;else if("onExpire"===a)if(e&&(s=queryStringValue(l,"expires",namespaces.kml)),defined(s))try{var h=JulianDate.fromIso8601(s),p=JulianDate.secondsDifference(h,c);0<p&&p<d&&JulianDate.addSeconds(c,d,h),u.refreshMode=RefreshMode.EXPIRE,u.time=h}catch(e){oneTimeWarning("kml-refreshMode-onInterval-onExpire","KML - NetworkLinkControl expires is not a valid date")}else oneTimeWarning("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element");else m._camera?(u.refreshMode=RefreshMode.STOP,u.time=defaultValue(queryNumericValue(v,"viewRefreshTime",namespaces.kml),0)):oneTimeWarning("kml-refrehMode-onStop-noCamera","A NetworkLink with viewRefreshMode=onStop requires a camera be passed in when creating the KmlDataSource");defined(u.refreshMode)&&m._networkLinks.set(u.id,u)}else"onRegion"===f&&oneTimeWarning("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion")}).otherwise(function(e){oneTimeWarning("An error occured during loading "+_.url),m._error.raiseEvent(m,e)}),i.addPromise(n))}function processFeatureNode(e,t,i,r){var n=featureTypes[t.localName];return defined(n)?n(e,t,i,r):processUnsupportedFeature(e,t,i)}function loadKml(a,o,s,l,c,u){o.removeAll();var e=s.documentElement,e=queryStringValue("Document"===e.localName?e:queryFirstNode(e,"Document",namespaces.kml),"name",namespaces.kml);defined(e)||(e=getFilenameFromUri(l.getUrlComponent())),defined(a._name)||(a._name=e);var d=new KmlDataSource._DeferredLoading(a),h=new EntityCollection(a);return when.all(processStyles(a,s,h,l,!1,c)).then(function(){var e=s.documentElement;if("kml"===e.localName)for(var t=e.childNodes,i=0;i<t.length;i++){var r=t[i];if(defined(featureTypes[r.localName])){e=r;break}}var n={parentEntity:void 0,entityCollection:o,styleCollection:h,sourceResource:l,uriResolver:c,context:u};return o.suspendEvents(),processFeatureNode(a,e,n,d),o.resumeEvents(),d.wait().then(function(){return s.documentElement})})}function loadKmz(c,u,e,d){var h=when.defer();return zip.createReader(new zip.BlobReader(e),function(l){l.getEntries(function(e){for(var t,i,r=[],n={},a=0;a<e.length;a++){var o,s=e[a];s.directory||(o=when.defer(),r.push(o.promise),!/\.kml$/i.test(s.filename)||defined(t)&&/\//i.test(s.filename)?loadDataUriFromZip(s,n,o):(defined(t)&&loadDataUriFromZip(t,n,i),t=s,i=o))}defined(t)&&loadXmlFromZip(t,n,i),when.all(r).then(function(){return l.close(),defined(n.kml)?(n.keys=Object.keys(n),loadKml(c,u,n.kml,d,n)):void h.reject(new RuntimeError("KMZ file does not contain a KML document."))}).then(h.resolve).otherwise(h.reject)})},function(e){h.reject(e)}),h.promise}function load$2(r,n,e,t){var a=(t=defaultValue(t,defaultValue.EMPTY_OBJECT)).sourceUri,o=t.uriResolver,s=t.context,t=e;if("string"==typeof e||e instanceof Resource){t=(e=Resource.createIfNeeded(e)).fetchBlob(),a=defaultValue(a,e.clone());var i=r._resourceCredits,l=e.credits;if(defined(l))for(var c=l.length,u=0;u<c;u++)i.push(l[u])}else a=defaultValue(a,Resource.DEFAULT.clone());return a=Resource.createIfNeeded(a),when(t).then(function(t){return t instanceof Blob?isZipFile(t).then(function(e){return e?loadKmz(r,n,t,a):readBlobAsText(t).then(function(e){var t,i;e=removeDuplicateNamespaces(e=insertNamespaces(e));try{t=parser.parseFromString(e,"application/xml")}catch(e){i=e.toString()}if(defined(i)||t.body||"parsererror"===t.documentElement.tagName)throw new RuntimeError((defined(i)?i:t.documentElement.firstChild.nodeValue)||t.body.innerText);return loadKml(r,n,t,a,o,s)})}):loadKml(r,n,t,a,o,s)}).otherwise(function(e){return r._error.raiseEvent(r,e),console.log(e),when.reject(e)})}function KmlDataSource(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).camera,i=e.canvas;this._changed=new Event,this._error=new Event,this._loading=new Event,this._refresh=new Event,this._unsupportedNode=new Event,this._clock=void 0,this._entityCollection=new EntityCollection(this),this._name=void 0,this._isLoading=!1,this._pinBuilder=new PinBuilder,this._networkLinks=new AssociativeArray,this._entityCluster=new EntityCluster,this._canvas=i,this._camera=t,this._lastCameraView={position:defined(t)?Cartesian3.clone(t.positionWC):void 0,direction:defined(t)?Cartesian3.clone(t.directionWC):void 0,up:defined(t)?Cartesian3.clone(t.upWC):void 0,bbox:defined(t)?t.computeViewRectangle():Rectangle.clone(Rectangle.MAX_VALUE)},this._ellipsoid=defaultValue(e.ellipsoid,Ellipsoid.WGS84);e=e.credit;"string"==typeof e&&(e=new Credit(e)),this._credit=e,this._resourceCredits=[]}function mergeAvailabilityWithParent(e){var t,i=e.parent;!defined(i)||defined(t=i.availability)&&(defined(i=e.availability)?i.intersect(t):e.availability=t)}function getNetworkLinkUpdateCallback(g,_,y,C,v){return function(e){if(C.contains(_.id)){var t=!1,i=queryFirstNode(e,"NetworkLinkControl",namespaces.kml),r=0;if(defined(i)){if(defined(queryFirstNode(i,"Update",namespaces.kml)))return oneTimeWarning("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),_.updating=!1,void C.remove(_.id);_.cookie=queryToObject(defaultValue(queryStringValue(i,"cookie",namespaces.kml),"")),r=defaultValue(queryNumericValue(i,"minRefreshPeriod",namespaces.kml),0)}var n,a=JulianDate.now(),o=_.refreshMode;if(o===RefreshMode.INTERVAL)defined(i)&&(_.time=Math.max(r,_.time));else if(o===RefreshMode.EXPIRE)if(defined(i)&&(n=queryStringValue(i,"expires",namespaces.kml)),defined(n))try{var s=JulianDate.fromIso8601(n),l=JulianDate.secondsDifference(s,a);0<l&&l<r&&JulianDate.addSeconds(a,r,s),_.time=s}catch(e){oneTimeWarning("kml-networkLinkControl-expires","KML - NetworkLinkControl expires is not a valid date"),t=!0}else oneTimeWarning("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element"),t=!0;var c=_.entity,u=g._entityCollection,d=y.values;u.suspendEvents();for(var h=u.values.slice(),p=0;p<h.length;++p){var m=h[p];m.parent===c&&(m.parent=void 0,function e(t){u.remove(t);for(var i=t._children,r=i.length,n=0;n<r;++n)e(i[n])}(m))}for(u.resumeEvents(),u.suspendEvents(),p=0;p<d.length;p++){var f=d[p];defined(f.parent)||(f.parent=c,mergeAvailabilityWithParent(f)),u.add(f)}u.resumeEvents(),t?C.remove(_.id):_.lastUpdated=a;e=u.computeAvailability(),o=e.start,i=e.stop,t=JulianDate.equals(o,Iso8601.MINIMUM_VALUE),e=JulianDate.equals(i,Iso8601.MAXIMUM_VALUE);t&&e||((e=g._clock).startTime===o&&e.stopTime===i||(e.startTime=o,e.stopTime=i,g._changed.raiseEvent(g))),_.updating=!1,_.needsUpdate=!1,g._refresh.raiseEvent(g,v.getUrlComponent(!0))}}}KmlDataSource.load=function(e,t){return new KmlDataSource(t=defaultValue(t,defaultValue.EMPTY_OBJECT)).load(e,t)},Object.defineProperties(KmlDataSource.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},refreshEvent:{get:function(){return this._refresh}},unsupportedNodeEvent:{get:function(){return this._unsupportedNode}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}}),KmlDataSource.prototype.load=function(e,t){t=defaultValue(t,defaultValue.EMPTY_OBJECT),DataSource.setLoading(this,!0);var a=this._name;this._name=void 0,this._clampToGround=defaultValue(t.clampToGround,!1);var o=this;return load$2(this,this._entityCollection,e,t).then(function(){var e,t=o._entityCollection.computeAvailability(),i=t.start,r=t.stop,n=JulianDate.equals(i,Iso8601.MINIMUM_VALUE),t=JulianDate.equals(r,Iso8601.MAXIMUM_VALUE);n&&t||(n&&((e=new Date).setHours(0,0,0,0),i=JulianDate.fromDate(e)),t&&((e=new Date).setHours(24,0,0,0),r=JulianDate.fromDate(e)),(e=new DataSourceClock).startTime=i,e.stopTime=r,e.currentTime=JulianDate.clone(i),e.clockRange=ClockRange$1.LOOP_STOP,e.clockStep=ClockStep$1.SYSTEM_CLOCK_MULTIPLIER,e.multiplier=Math.round(Math.min(Math.max(JulianDate.secondsDifference(r,i)/60,1),31556900)));i=!1;return e!==o._clock&&(o._clock=e,i=!0),a!==o._name&&(i=!0),i&&o._changed.raiseEvent(o),DataSource.setLoading(o,!1),o}).otherwise(function(e){return DataSource.setLoading(o,!1),o._error.raiseEvent(o,e),console.log(e),when.reject(e)})};var entitiesToIgnore=new AssociativeArray;function KmlFeatureData(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}function Visualizer(){DeveloperError.throwInstantiationError()}KmlDataSource.prototype.update=function(e){var t=this._networkLinks;if(0===t.length)return!0;var a=JulianDate.now(),o=this;entitiesToIgnore.removeAll();var s=!1,l=this._lastCameraView,i=this._camera;!defined(i)||i.positionWC.equalsEpsilon(l.position,CesiumMath.EPSILON7)&&i.directionWC.equalsEpsilon(l.direction,CesiumMath.EPSILON7)&&i.upWC.equalsEpsilon(l.up,CesiumMath.EPSILON7)||(l.position=Cartesian3.clone(i.positionWC),l.direction=Cartesian3.clone(i.directionWC),l.up=Cartesian3.clone(i.upWC),l.bbox=i.computeViewRectangle(),s=!0);var c=new AssociativeArray,u=!1;return t.values.forEach(function(t){var e,i,r,n=t.entity;entitiesToIgnore.contains(n.id)||(t.updating||(r=!1,t.refreshMode===RefreshMode.INTERVAL?JulianDate.secondsDifference(a,t.lastUpdated)>t.time&&(r=!0):t.refreshMode===RefreshMode.EXPIRE?JulianDate.greaterThan(a,t.time)&&(r=!0):t.refreshMode===RefreshMode.STOP&&(s&&(t.needsUpdate=!0,t.cameraUpdateTime=a),t.needsUpdate&&JulianDate.secondsDifference(a,t.cameraUpdateTime)>=t.time&&(r=!0)),r&&(function e(t){for(var i=t._children,r=i.length,n=0;n<r;++n){var a=i[n];entitiesToIgnore.set(a.id,a),e(a)}}(n),t.updating=!0,e=new EntityCollection,(i=t.href.clone()).setQueryParameters(t.cookie),r=defaultValue(o._ellipsoid,Ellipsoid.WGS84),processNetworkLinkQueryString(i,o._camera,o._canvas,t.viewBoundScale,l.bbox,r),load$2(o,e,i,{context:n.id}).then(getNetworkLinkUpdateCallback(o,t,e,c,i)).otherwise(function(e){e="NetworkLink "+t.href+" refresh failed: "+e;console.log(e),o._error.raiseEvent(o,e)}),u=!0)),c.set(t.id,t))}),u&&(this._networkLinks=c,this._changed.raiseEvent(this)),!0},KmlDataSource._DeferredLoading=DeferredLoading,KmlDataSource._getTimestamp=getTimestamp$1,Visualizer.prototype.update=DeveloperError.throwInstantiationError,Visualizer.prototype.getBoundingSphere=DeveloperError.throwInstantiationError,Visualizer.prototype.isDestroyed=DeveloperError.throwInstantiationError,Visualizer.prototype.destroy=DeveloperError.throwInstantiationError;var ViewportQuadVS="attribute vec4 position;\nattribute vec2 textureCoordinates;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_Position = position;\nv_textureCoordinates = textureCoordinates;\n}\n",renderStateScratch;function ComputeEngine(e){this._context=e}var drawCommandScratch=new DrawCommand({primitiveType:PrimitiveType$1.TRIANGLES}),clearCommandScratch=new ClearCommand({color:new Color(0,0,0,0)});function createFramebuffer$1(e,t){return new Framebuffer({context:e,colorTextures:[t],destroyAttachments:!1})}function createViewportQuadShader(e,t){return ShaderProgram.fromCache({context:e,vertexShaderSource:ViewportQuadVS,fragmentShaderSource:t,attributeLocations:{position:0,textureCoordinates:1}})}function createRenderState(e,t){return defined(renderStateScratch)&&renderStateScratch.viewport.width===e&&renderStateScratch.viewport.height===t||(renderStateScratch=RenderState.fromCache({viewport:new BoundingRectangle(0,0,e,t)})),renderStateScratch}function PassState(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}function ShaderCache(e){this._context=e,this._shaders={},this._numberOfShaders=0,this._shadersToRelease={}}function destroyShader(e,t){for(var i=t.derivedKeywords,r=i.length,n=0;n<r;++n){var a=i[n]+t.keyword;destroyShader(e,e._shaders[a])}delete e._shaders[t.keyword],t.shaderProgram.finalDestroy()}function TextureCache(){this._textures={},this._numberOfTextures=0,this._texturesToRelease={}}function SunLight(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.color=Color.clone(defaultValue(e.color,Color.WHITE)),this.intensity=defaultValue(e.intensity,2)}function UniformState(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new BoundingRectangle,this._viewportCartesian4=new Cartesian4,this._viewportDirty=!1,this._viewportOrthographicMatrix=Matrix4.clone(Matrix4.IDENTITY),this._viewportTransformation=Matrix4.clone(Matrix4.IDENTITY),this._model=Matrix4.clone(Matrix4.IDENTITY),this._view=Matrix4.clone(Matrix4.IDENTITY),this._inverseView=Matrix4.clone(Matrix4.IDENTITY),this._projection=Matrix4.clone(Matrix4.IDENTITY),this._infiniteProjection=Matrix4.clone(Matrix4.IDENTITY),this._entireFrustum=new Cartesian2,this._currentFrustum=new Cartesian2,this._frustumPlanes=new Cartesian4,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=Matrix3.clone(Matrix4.IDENTITY),this._view3DDirty=!0,this._view3D=new Matrix4,this._inverseView3DDirty=!0,this._inverseView3D=new Matrix4,this._inverseModelDirty=!0,this._inverseModel=new Matrix4,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new Matrix3,this._viewRotation=new Matrix3,this._inverseViewRotation=new Matrix3,this._viewRotation3D=new Matrix3,this._inverseViewRotation3D=new Matrix3,this._inverseProjectionDirty=!0,this._inverseProjection=new Matrix4,this._modelViewDirty=!0,this._modelView=new Matrix4,this._modelView3DDirty=!0,this._modelView3D=new Matrix4,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new Matrix4,this._inverseModelViewDirty=!0,this._inverseModelView=new Matrix4,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new Matrix4,this._viewProjectionDirty=!0,this._viewProjection=new Matrix4,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new Matrix4,this._modelViewProjectionDirty=!0,this._modelViewProjection=new Matrix4,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new Matrix4,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new Matrix4,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new Matrix4,this._normalDirty=!0,this._normal=new Matrix3,this._normal3DDirty=!0,this._normal3D=new Matrix3,this._inverseNormalDirty=!0,this._inverseNormal=new Matrix3,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new Matrix3,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new EncodedCartesian3,this._cameraPosition=new Cartesian3,this._sunPositionWC=new Cartesian3,this._sunPositionColumbusView=new Cartesian3,this._sunDirectionWC=new Cartesian3,this._sunDirectionEC=new Cartesian3,this._moonDirectionEC=new Cartesian3,this._lightDirectionWC=new Cartesian3,this._lightDirectionEC=new Cartesian3,this._lightColor=new Cartesian3,this._lightColorHdr=new Cartesian3,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new Cartesian3,this._cameraRight=new Cartesian3,this._cameraUp=new Cartesian3,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new Cartesian2,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new Color,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsDimensions=new Cartesian2,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._invertClassificationColor=void 0,this._imagerySplitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}function setView(e,t){Matrix4.clone(t,e._view),Matrix4.getMatrix3(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function setInverseView(e,t){Matrix4.clone(t,e._inverseView),Matrix4.getMatrix3(t,e._inverseViewRotation)}function setProjection(e,t){Matrix4.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function setInfiniteProjection(e,t){Matrix4.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}function setCamera(e,t){Cartesian3.clone(t.positionWC,e._cameraPosition),Cartesian3.clone(t.directionWC,e._cameraDirection),Cartesian3.clone(t.rightWC,e._cameraRight),Cartesian3.clone(t.upWC,e._cameraUp);t=t.positionCartographic;defined(t)?e._eyeHeight=t.height:e._eyeHeight=-e._ellipsoid.maximumRadius,e._encodedCameraPositionMCDirty=!0}ComputeEngine.prototype.execute=function(e){defined(e.preExecute)&&e.preExecute(e);var t=e.outputTexture,i=t.width,r=t.height,n=this._context,a=defined(e.vertexArray)?e.vertexArray:n.getViewportQuadVertexArray(),o=defined(e.shaderProgram)?e.shaderProgram:createViewportQuadShader(n,e.fragmentShaderSource),s=createFramebuffer$1(n,t),l=createRenderState(i,r),i=e.uniformMap,r=clearCommandScratch;r.framebuffer=s,r.renderState=l,r.execute(n);r=drawCommandScratch;r.vertexArray=a,r.renderState=l,r.shaderProgram=o,r.uniformMap=i,r.framebuffer=s,r.execute(n),s.destroy(),e.persists||(o.destroy(),defined(e.vertexArray)&&a.destroy()),defined(e.postExecute)&&e.postExecute(t)},ComputeEngine.prototype.isDestroyed=function(){return!1},ComputeEngine.prototype.destroy=function(){return destroyObject(this)},Object.defineProperties(ShaderCache.prototype,{numberOfShaders:{get:function(){return this._numberOfShaders}}}),ShaderCache.prototype.replaceShaderProgram=function(e){return defined(e.shaderProgram)&&e.shaderProgram.destroy(),this.getShaderProgram(e)},ShaderCache.prototype.getShaderProgram=function(e){var t=e.vertexShaderSource,i=e.fragmentShaderSource,r=e.attributeLocations;"string"==typeof t&&(t=new ShaderSource({sources:[t]})),"string"==typeof i&&(i=new ShaderSource({sources:[i]}));var n,a=t.createCombinedVertexShader(this._context),o=i.createCombinedFragmentShader(this._context),s=a+o+JSON.stringify(r);return defined(this._shaders[s])?(n=this._shaders[s],delete this._shadersToRelease[s]):(n={cache:this,shaderProgram:r=new ShaderProgram({gl:(e=this._context)._gl,logShaderCompilation:e.logShaderCompilation,debugShaders:e.debugShaders,vertexShaderSource:t,vertexShaderText:a,fragmentShaderSource:i,fragmentShaderText:o,attributeLocations:r}),keyword:s,derivedKeywords:[],count:0},r._cachedShader=n,this._shaders[s]=n,++this._numberOfShaders),++n.count,n.shaderProgram},ShaderCache.prototype.replaceDerivedShaderProgram=function(e,t,i){var r=e._cachedShader,n=t+r.keyword,n=this._shaders[n];return defined(n)&&(destroyShader(this,n),-1<(n=r.derivedKeywords.indexOf(t))&&r.derivedKeywords.splice(n,1)),this.createDerivedShaderProgram(e,t,i)},ShaderCache.prototype.getDerivedShaderProgram=function(e,t){e=t+e._cachedShader.keyword,e=this._shaders[e];if(defined(e))return e.shaderProgram},ShaderCache.prototype.createDerivedShaderProgram=function(e,t,i){var r=e._cachedShader,n=t+r.keyword,a=i.vertexShaderSource,o=i.fragmentShaderSource,s=i.attributeLocations;"string"==typeof a&&(a=new ShaderSource({sources:[a]})),"string"==typeof o&&(o=new ShaderSource({sources:[o]}));var l=this._context,e=a.createCombinedVertexShader(l),i=o.createCombinedFragmentShader(l),i=new ShaderProgram({gl:l._gl,logShaderCompilation:l.logShaderCompilation,debugShaders:l.debugShaders,vertexShaderSource:a,vertexShaderText:e,fragmentShaderSource:o,fragmentShaderText:i,attributeLocations:s}),s={cache:this,shaderProgram:i,keyword:n,derivedKeywords:[],count:0};return r.derivedKeywords.push(t),i._cachedShader=s,this._shaders[n]=s,i},ShaderCache.prototype.destroyReleasedShaderPrograms=function(){var e,t=this._shadersToRelease;for(e in t)t.hasOwnProperty(e)&&(destroyShader(this,t[e]),--this._numberOfShaders);this._shadersToRelease={}},ShaderCache.prototype.releaseShaderProgram=function(e){!defined(e)||(e=e._cachedShader)&&0==--e.count&&(this._shadersToRelease[e.keyword]=e)},ShaderCache.prototype.isDestroyed=function(){return!1},ShaderCache.prototype.destroy=function(){var e,t=this._shaders;for(e in t)t.hasOwnProperty(e)&&t[e].shaderProgram.finalDestroy();return destroyObject(this)},Object.defineProperties(TextureCache.prototype,{numberOfTextures:{get:function(){return this._numberOfTextures}}}),TextureCache.prototype.getTexture=function(e){var t=this._textures[e];if(defined(t))return delete this._texturesToRelease[e],++t.count,t.texture},TextureCache.prototype.addTexture=function(e,t){var i={texture:t,count:1};t.finalDestroy=t.destroy;var r=this;t.destroy=function(){0==--i.count&&(r._texturesToRelease[e]=i)},this._textures[e]=i,++this._numberOfTextures},TextureCache.prototype.destroyReleasedTextures=function(){var e,t,i=this._texturesToRelease;for(e in i)i.hasOwnProperty(e)&&(t=i[e],delete this._textures[e],t.texture.finalDestroy(),--this._numberOfTextures);this._texturesToRelease={}},TextureCache.prototype.isDestroyed=function(){return!1},TextureCache.prototype.destroy=function(){var e,t=this._textures;for(e in t)t.hasOwnProperty(e)&&t[e].texture.finalDestroy();return destroyObject(this)},Object.defineProperties(UniformState.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){var t;BoundingRectangle.equals(e,this._viewport)||(BoundingRectangle.clone(e,this._viewport),t=this._viewport,(e=this._viewportCartesian4).x=t.x,e.y=t.y,e.z=t.width,e.w=t.height,this._viewportDirty=!0)}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return cleanViewport(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return cleanViewport(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){Matrix4.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,Matrix4.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){var e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,Matrix4.getMatrix3(this.inverseModel,e),Matrix3.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return updateView3D(this),this._view3D}},viewRotation:{get:function(){return updateView3D(this),this._viewRotation}},viewRotation3D:{get:function(){return updateView3D(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return updateInverseView3D(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return updateInverseView3D(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return cleanInverseProjection(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return cleanModelView(this),this._modelView}},modelView3D:{get:function(){return cleanModelView3D(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return cleanModelViewRelativeToEye(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return cleanInverseModelView(this),this._inverseModelView}},inverseModelView3D:{get:function(){return cleanInverseModelView3D(this),this._inverseModelView3D}},viewProjection:{get:function(){return cleanViewProjection(this),this._viewProjection}},inverseViewProjection:{get:function(){return cleanInverseViewProjection(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return cleanModelViewProjection(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return cleanInverseModelViewProjection(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return cleanModelViewProjectionRelativeToEye(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return cleanModelViewInfiniteProjection(this),this._modelViewInfiniteProjection}},normal:{get:function(){return cleanNormal(this),this._normal}},normal3D:{get:function(){return cleanNormal3D(this),this._normal3D}},inverseNormal:{get:function(){return cleanInverseNormal(this),this._inverseNormal}},inverseNormal3D:{get:function(){return cleanInverseNormal3D(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return cleanEncodedCameraPositionMC(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return cleanEncodedCameraPositionMC(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsDimensions:{get:function(){return this._specularEnvironmentMapsDimensions}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},imagerySplitPosition:{get:function(){return this._imagerySplitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return defaultValue(this._ellipsoid,Ellipsoid.WGS84)}}});var transformMatrix=new Matrix3,sunCartographicScratch=new Cartographic;function setSunAndMoonDirections(e,t){defined(Transforms.computeIcrfToFixedMatrix(t.time,transformMatrix))||(transformMatrix=Transforms.computeTemeToPseudoFixedMatrix(t.time,transformMatrix));var i=Simon1994PlanetaryPositions.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);Matrix3.multiplyByVector(transformMatrix,i,i),Cartesian3.normalize(i,e._sunDirectionWC),i=Matrix3.multiplyByVector(e.viewRotation3D,i,e._sunDirectionEC),Cartesian3.normalize(i,i),i=Simon1994PlanetaryPositions.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),Matrix3.multiplyByVector(transformMatrix,i,i),Matrix3.multiplyByVector(e.viewRotation3D,i,i),Cartesian3.normalize(i,i);i=t.mapProjection,t=i.ellipsoid.cartesianToCartographic(e._sunPositionWC,sunCartographicScratch);i.project(t,e._sunPositionColumbusView)}UniformState.prototype.updateCamera=function(e){setView(this,e.viewMatrix),setInverseView(this,e.inverseViewMatrix),setCamera(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==SceneMode$1.SCENE2D&&e.frustum instanceof OrthographicFrustum},UniformState.prototype.updateFrustum=function(e){setProjection(this,e.projectionMatrix),defined(e.infiniteProjectionMatrix)&&setInfiniteProjection(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=CesiumMath.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne,defined(e._offCenterFrustum)&&(e=e._offCenterFrustum),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right},UniformState.prototype.updatePass=function(e){this._pass=e};var EMPTY_ARRAY=[],defaultLight=new SunLight;function cleanViewport(e){var t;e._viewportDirty&&(t=e._viewport,Matrix4.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),Matrix4.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1)}function cleanInverseProjection(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode===SceneMode$1.SCENE2D||e._mode===SceneMode$1.MORPHING||e._orthographicIn3D?Matrix4.clone(Matrix4.ZERO,e._inverseProjection):Matrix4.inverse(e._projection,e._inverseProjection))}function cleanModelView(e){e._modelViewDirty&&(e._modelViewDirty=!1,Matrix4.multiplyTransformation(e._view,e._model,e._modelView))}function cleanModelView3D(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,Matrix4.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function cleanInverseModelView(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,Matrix4.inverse(e.modelView,e._inverseModelView))}function cleanInverseModelView3D(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,Matrix4.inverse(e.modelView3D,e._inverseModelView3D))}function cleanViewProjection(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,Matrix4.multiply(e._projection,e._view,e._viewProjection))}function cleanInverseViewProjection(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,Matrix4.inverse(e.viewProjection,e._inverseViewProjection))}function cleanModelViewProjection(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,Matrix4.multiply(e._projection,e.modelView,e._modelViewProjection))}function cleanModelViewRelativeToEye(e){var t;e._modelViewRelativeToEyeDirty&&(e._modelViewRelativeToEyeDirty=!1,t=e.modelView,(e=e._modelViewRelativeToEye)[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=0,e[13]=0,e[14]=0,e[15]=t[15])}function cleanInverseModelViewProjection(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,Matrix4.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function cleanModelViewProjectionRelativeToEye(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,Matrix4.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function cleanModelViewInfiniteProjection(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,Matrix4.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function cleanNormal(e){var t;e._normalDirty&&(e._normalDirty=!1,t=e._normal,Matrix4.getMatrix3(e.inverseModelView,t),Matrix3.getRotation(t,t),Matrix3.transpose(t,t))}function cleanNormal3D(e){var t;e._normal3DDirty&&(e._normal3DDirty=!1,t=e._normal3D,Matrix4.getMatrix3(e.inverseModelView3D,t),Matrix3.getRotation(t,t),Matrix3.transpose(t,t))}function cleanInverseNormal(e){e._inverseNormalDirty&&(e._inverseNormalDirty=!1,Matrix4.getMatrix3(e.inverseModelView,e._inverseNormal),Matrix3.getRotation(e._inverseNormal,e._inverseNormal))}function cleanInverseNormal3D(e){e._inverseNormal3DDirty&&(e._inverseNormal3DDirty=!1,Matrix4.getMatrix3(e.inverseModelView3D,e._inverseNormal3D),Matrix3.getRotation(e._inverseNormal3D,e._inverseNormal3D))}UniformState.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;var t=e.camera;this.updateCamera(t),e.mode===SceneMode$1.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=.5*this._frustum2DWidth,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),setSunAndMoonDirections(this,e);var i=defaultValue(e.light,defaultLight);i instanceof SunLight?(this._lightDirectionWC=Cartesian3.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=Cartesian3.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=Cartesian3.normalize(Cartesian3.negate(i.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=Matrix3.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));var r=i.color,r=Cartesian3.fromElements(r.red,r.green,r.blue,this._lightColorHdr),r=Cartesian3.multiplyByScalar(r,i.intensity,r),i=Cartesian3.maximumComponent(r);1<i?Cartesian3.divideByScalar(r,i,this._lightColor):Cartesian3.clone(r,this._lightColor);r=e.brdfLutGenerator,r=defined(r)?r.colorTexture:void 0;this._brdfLut=r,this._environmentMap=defaultValue(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=defaultValue(e.sphericalHarmonicCoefficients,EMPTY_ARRAY),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,defined(this._specularEnvironmentMaps)&&Cartesian2.clone(this._specularEnvironmentMaps.dimensions,this._specularEnvironmentMapsDimensions),this._fogDensity=e.fog.density,this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=Transforms.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),e.scene&&e.scene.ImagerySplitDirection&&(3==e.scene.ImagerySplitDirection||4==e.scene.ImagerySplitDirection)?this._imagerySplitPosition=e.imagerySplitPosition*e.context.drawingBufferHeight:this._imagerySplitPosition=e.imagerySplitPosition*e.context.drawingBufferWidth;r=t.frustum.fov,t=this._viewport,t=defined(r)?t.height>t.width?2*Math.tan(.5*r)/t.height:2*Math.tan(.5*r)/t.width:1/Math.max(t.width,t.height);this._geometricToleranceOverMeter=t*e.maximumScreenSpaceError,Color.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};var cameraPositionMC=new Cartesian3;function cleanEncodedCameraPositionMC(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,Matrix4.multiplyByPoint(e.inverseModel,e._cameraPosition,cameraPositionMC),EncodedCartesian3.fromCartesian(cameraPositionMC,e._encodedCameraPositionMC))}var view2Dto3DPScratch=new Cartesian3,view2Dto3DRScratch=new Cartesian3,view2Dto3DUScratch=new Cartesian3,view2Dto3DDScratch=new Cartesian3,view2Dto3DCartographicScratch=new Cartographic,view2Dto3DCartesian3Scratch=new Cartesian3,view2Dto3DMatrix4Scratch=new Matrix4;function view2Dto3D(e,t,i,r,n,a,o,s){var l=view2Dto3DPScratch;l.x=e.y,l.y=e.z,l.z=e.x;e=view2Dto3DRScratch;e.x=i.y,e.y=i.z,e.z=i.x;i=view2Dto3DUScratch;i.x=r.y,i.y=r.z,i.z=r.x;r=view2Dto3DDScratch;r.x=t.y,r.y=t.z,r.z=t.x,a===SceneMode$1.SCENE2D&&(l.z=.5*n);l=o.unproject(l,view2Dto3DCartographicScratch);l.longitude=CesiumMath.clamp(l.longitude,-Math.PI,Math.PI),l.latitude=CesiumMath.clamp(l.latitude,-CesiumMath.PI_OVER_TWO,CesiumMath.PI_OVER_TWO);o=o.ellipsoid,l=o.cartographicToCartesian(l,view2Dto3DCartesian3Scratch),o=Transforms.eastNorthUpToFixedFrame(l,o,view2Dto3DMatrix4Scratch);return Matrix4.multiplyByPointAsVector(o,e,e),Matrix4.multiplyByPointAsVector(o,i,i),Matrix4.multiplyByPointAsVector(o,r,r),defined(s)||(s=new Matrix4),s[0]=e.x,s[1]=i.x,s[2]=-r.x,s[3]=0,s[4]=e.y,s[5]=i.y,s[6]=-r.y,s[7]=0,s[8]=e.z,s[9]=i.z,s[10]=-r.z,s[11]=0,s[12]=-Cartesian3.dot(e,l),s[13]=-Cartesian3.dot(i,l),s[14]=Cartesian3.dot(r,l),s[15]=1,s}function updateView3D(e){e._view3DDirty&&(e._mode===SceneMode$1.SCENE3D?Matrix4.clone(e._view,e._view3D):view2Dto3D(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),Matrix4.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function updateInverseView3D(e){e._inverseView3DDirty&&(Matrix4.inverseTransformation(e.view3D,e._inverseView3D),Matrix4.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}function errorToString(e,t){var i="WebGL Error: ";switch(t){case e.INVALID_ENUM:i+="INVALID_ENUM";break;case e.INVALID_VALUE:i+="INVALID_VALUE";break;case e.INVALID_OPERATION:i+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:i+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:i+="CONTEXT_LOST_WEBGL lost";break;default:i+="Unknown ("+t+")"}return i}function createErrorMessage(e,t,i,r){for(var n=errorToString(e,r)+": "+t.name+"(",a=0;a<i.length;++a)0!==a&&(n+=", "),n+=i[a];return n+=");"}function throwOnError(e,t,i){var r=e.getError();if(r!==e.NO_ERROR)throw new RuntimeError(createErrorMessage(e,t,i,r))}function makeGetterSetter(t,i,r){return{get:function(){var e=t[i];return r(t,"get: "+i,e),t[i]},set:function(e){t[i]=e,r(t,"set: "+i,e)}}}function wrapGL(i,r){if(!defined(r))return i;var e,t={};for(e in i){var n=i[e];n instanceof Function?t[e]=function(t){return function(){var e=t.apply(i,arguments);return r(i,t,arguments),e}}(n):Object.defineProperty(t,e,makeGetterSetter(i,e,r))}return t}function getExtension(e,t){for(var i=t.length,r=0;r<i;++r){var n=e.getExtension(t[r]);if(n)return n}}function Context(e,t){if("undefined"==typeof WebGLRenderingContext)throw new RuntimeError("The browser does not support WebGL. Visit http://get.webgl.org.");this._canvas=e,(t=defaultValue(t=clone(t,!0),{})).allowTextureFilterAnisotropic=defaultValue(t.allowTextureFilterAnisotropic,!0);var i=defaultValue(t.webgl,{});i.alpha=defaultValue(i.alpha,!1),i.stencil=defaultValue(i.stencil,!0);var r=defaultValue(t.requestWebgl2,!1)&&"undefined"!=typeof WebGL2RenderingContext,n=!1,a=t.getWebGLStub;if(defined(a))s=a(e,i);else if(r&&defined(s=e.getContext("webgl2",i)||e.getContext("experimental-webgl2",i)||void 0)&&(n=!0),defined(s)||(s=e.getContext("webgl",i)||e.getContext("experimental-webgl",i)||void 0),!defined(s))throw new RuntimeError("The browser supports WebGL, but initialization failed.");this._originalGLContext=s,this._gl=s,this._webgl2=n,this._id=createGuid(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new ShaderCache(this),this._textureCache=new TextureCache;var o=s;this._stencilBits=o.getParameter(o.STENCIL_BITS),ContextLimits._maximumCombinedTextureImageUnits=o.getParameter(o.MAX_COMBINED_TEXTURE_IMAGE_UNITS),ContextLimits._maximumCubeMapSize=o.getParameter(o.MAX_CUBE_MAP_TEXTURE_SIZE),ContextLimits._maximumFragmentUniformVectors=o.getParameter(o.MAX_FRAGMENT_UNIFORM_VECTORS),ContextLimits._maximumTextureImageUnits=o.getParameter(o.MAX_TEXTURE_IMAGE_UNITS),ContextLimits._maximumRenderbufferSize=o.getParameter(o.MAX_RENDERBUFFER_SIZE),ContextLimits._maximumTextureSize=o.getParameter(o.MAX_TEXTURE_SIZE),ContextLimits._maximumVaryingVectors=o.getParameter(o.MAX_VARYING_VECTORS),ContextLimits._maximumVertexAttributes=o.getParameter(o.MAX_VERTEX_ATTRIBS),ContextLimits._maximumVertexTextureImageUnits=o.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS),ContextLimits._maximumVertexUniformVectors=o.getParameter(o.MAX_VERTEX_UNIFORM_VECTORS);var s=o.getParameter(o.ALIASED_LINE_WIDTH_RANGE);ContextLimits._minimumAliasedLineWidth=s[0],ContextLimits._maximumAliasedLineWidth=s[1];s=o.getParameter(o.ALIASED_POINT_SIZE_RANGE);ContextLimits._minimumAliasedPointSize=s[0],ContextLimits._maximumAliasedPointSize=s[1];s=o.getParameter(o.MAX_VIEWPORT_DIMS);ContextLimits._maximumViewportWidth=s[0],ContextLimits._maximumViewportHeight=s[1];s=o.getShaderPrecisionFormat(o.FRAGMENT_SHADER,o.HIGH_FLOAT);ContextLimits._highpFloatSupported=0!==s.precision;s=o.getShaderPrecisionFormat(o.FRAGMENT_SHADER,o.HIGH_INT);ContextLimits._highpIntSupported=0!==s.rangeMax,this._antialias=o.getContextAttributes().antialias,this._standardDerivatives=!!getExtension(o,["OES_standard_derivatives"]),this._blendMinmax=!!getExtension(o,["EXT_blend_minmax"]),this._elementIndexUint=!!getExtension(o,["OES_element_index_uint"]),this._depthTexture=!!getExtension(o,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!getExtension(o,["EXT_frag_depth"]),this._debugShaders=getExtension(o,["WEBGL_debug_shaders"]),this._textureFloat=!!getExtension(o,["OES_texture_float"]),this._textureHalfFloat=!!getExtension(o,["OES_texture_half_float"]),this._textureFloatLinear=!!getExtension(o,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!getExtension(o,["OES_texture_half_float_linear"]),this._colorBufferFloat=!!getExtension(o,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!getExtension(o,["EXT_float_blend"]),this._colorBufferHalfFloat=!!getExtension(o,["EXT_color_buffer_half_float"]),this._s3tc=!!getExtension(o,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!getExtension(o,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._etc1=!!getExtension(o,["WEBGL_compressed_texture_etc1"]);var l,c,u,d,h,p,m,f,s=t.allowTextureFilterAnisotropic?getExtension(o,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=s,ContextLimits._maximumTextureFilterAnisotropy=defined(s)?o.getParameter(s.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1,n?(d=this,h=function(){return d._gl.createVertexArray()},p=function(e){d._gl.bindVertexArray(e)},m=function(e){d._gl.deleteVertexArray(e)},f=function(e,t,i,r,n){o.drawElementsInstanced(e,t,i,r,n)},g=function(e,t,i,r){o.drawArraysInstanced(e,t,i,r)},_=function(e,t){o.vertexAttribDivisor(e,t)},y=function(e){o.drawBuffers(e)}):(defined(l=getExtension(o,["OES_vertex_array_object"]))&&(h=function(){return l.createVertexArrayOES()},p=function(e){l.bindVertexArrayOES(e)},m=function(e){l.deleteVertexArrayOES(e)}),defined(c=getExtension(o,["ANGLE_instanced_arrays"]))&&(f=function(e,t,i,r,n){c.drawElementsInstancedANGLE(e,t,i,r,n)},g=function(e,t,i,r){c.drawArraysInstancedANGLE(e,t,i,r)},_=function(e,t){c.vertexAttribDivisorANGLE(e,t)}),defined(u=getExtension(o,["WEBGL_draw_buffers"]))&&(y=function(e){u.drawBuffersWEBGL(e)})),this.glCreateVertexArray=h,this.glBindVertexArray=p,this.glDeleteVertexArray=m,this.glDrawElementsInstanced=f,this.glDrawArraysInstanced=g,this.glVertexAttribDivisor=_,this.glDrawBuffers=y,this._vertexArrayObject=!!l,this._instancedArrays=!!c,this._drawBuffers=!!u,ContextLimits._maximumDrawBuffers=this.drawBuffers?o.getParameter(WebGLConstants$1.MAX_DRAW_BUFFERS):1,ContextLimits._maximumColorAttachments=this.drawBuffers?o.getParameter(WebGLConstants$1.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new Color(0,0,0,0),this._clearDepth=1,this._clearStencil=0;var g=new UniformState,_=new PassState(this),y=RenderState.fromCache();this._defaultPassState=_,this._defaultRenderState=y,this._defaultTexture=void 0,this._defaultCubeMap=void 0,this._us=g,this._currentRenderState=y,this._currentPassState=_,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(var C=0;C<ContextLimits._maximumVertexAttributes;C++)this._vertexAttribDivisors.push(0);this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options=t,this.cache={},RenderState.apply(o,y,_)}var defaultFramebufferMarker={},scratchBackBufferArray;function applyRenderState(e,t,i,r){var n=e._currentRenderState,a=e._currentPassState;e._currentRenderState=t,e._currentPassState=i,RenderState.partialApply(e._gl,n,t,a,i,r)}function bindFramebuffer(e,t){var i;t!==e._currentFramebuffer&&(e._currentFramebuffer=t,i=scratchBackBufferArray,defined(t)?(t._bind(),i=t._getActiveColorAttachments()):(t=e._gl).bindFramebuffer(t.FRAMEBUFFER,null),e.drawBuffers&&e.glDrawBuffers(i))}Object.defineProperties(Context.prototype,{id:{get:function(){return this._id}},webgl2:{get:function(){return this._webgl2}},canvas:{get:function(){return this._canvas}},shaderCache:{get:function(){return this._shaderCache}},textureCache:{get:function(){return this._textureCache}},uniformState:{get:function(){return this._us}},stencilBits:{get:function(){return this._stencilBits}},stencilBuffer:{get:function(){return 8<=this._stencilBits}},antialias:{get:function(){return this._antialias}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},etc1:{get:function(){return this._etc1}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=wrapGL(this._originalGLContext,e?throwOnError:void 0)}},defaultTexture:{get:function(){return void 0===this._defaultTexture&&(this._defaultTexture=new Texture({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultCubeMap:{get:function(){var e;return void 0===this._defaultCubeMap&&(e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},this._defaultCubeMap=new CubeMap({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})),this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return defaultFramebufferMarker}}}),"undefined"!=typeof WebGLRenderingContext&&(scratchBackBufferArray=[WebGLConstants$1.BACK]);var defaultClearCommand=new ClearCommand;function beginDraw(e,t,i,r,n){bindFramebuffer(e,t),applyRenderState(e,n,i,!1),r._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,r.maximumTextureUnitIndex)}function continueDraw(e,t,i,r){var n=t._primitiveType,a=t._vertexArray,o=t._offset,s=t._count,l=t.instanceCount;e._us.model=defaultValue(t._modelMatrix,Matrix4.IDENTITY),i._setUniforms(r,e._us,e.validateShaderProgram),a._bind();r=a.indexBuffer;defined(r)?(o*=r.bytesPerIndex,s=defaultValue(s,r.numberOfIndices),0===l?e._gl.drawElements(n,s,r.indexDatatype,o):e.glDrawElementsInstanced(n,s,r.indexDatatype,o,l)):(s=defaultValue(s,a.numberOfVertices),0===l?e._gl.drawArrays(n,o,s):e.glDrawArraysInstanced(n,o,s,l)),a._unBind()}Context.prototype.clear=function(e,t){e=defaultValue(e,defaultClearCommand),t=defaultValue(t,this._defaultPassState);var i=this._gl,r=0,n=e.color,a=e.depth,o=e.stencil;defined(n)&&(Color.equals(this._clearColor,n)||(Color.clone(n,this._clearColor),i.clearColor(n.red,n.green,n.blue,n.alpha)),r|=i.COLOR_BUFFER_BIT),defined(a)&&(a!==this._clearDepth&&(this._clearDepth=a,i.clearDepth(a)),r|=i.DEPTH_BUFFER_BIT),defined(o)&&(o!==this._clearStencil&&(this._clearStencil=o,i.clearStencil(o)),r|=i.STENCIL_BUFFER_BIT),applyRenderState(this,defaultValue(e.renderState,this._defaultRenderState),t,!0),bindFramebuffer(this,defaultValue(e.framebuffer,t.framebuffer)),i.clear(r)},Context.prototype.draw=function(e,t,i,r){t=defaultValue(t,this._defaultPassState);var n=defaultValue(e._framebuffer,t.framebuffer),a=defaultValue(e._renderState,this._defaultRenderState);i=defaultValue(i,e._shaderProgram),r=defaultValue(r,e._uniformMap),beginDraw(this,n,t,i,a),continueDraw(this,e,i,r)},Context.prototype.endFrame=function(){var e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null),this.drawBuffers&&this.glDrawBuffers(scratchBackBufferArray);for(var t=this._maxFrameTextureUnitIndex,i=this._maxFrameTextureUnitIndex=0;i<t;++i)e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)},Context.prototype.readPixels=function(e){var t=this._gl;e=defaultValue(e,defaultValue.EMPTY_OBJECT);var i=Math.max(defaultValue(e.x,0),0),r=Math.max(defaultValue(e.y,0),0),n=defaultValue(e.width,t.drawingBufferWidth),a=defaultValue(e.height,t.drawingBufferHeight),o=e.framebuffer,s=PixelDatatype$1.UNSIGNED_BYTE;defined(o)&&0<o.numberOfColorAttachments&&(s=o.getColorTexture(0).pixelDatatype);e=PixelFormat$1.createTypedArray(PixelFormat$1.RGBA,s,n,a);return bindFramebuffer(this,o),t.readPixels(i,r,n,a,PixelFormat$1.RGBA,PixelDatatype$1.toWebGLConstant(s,this),e),e};var viewportQuadAttributeLocations={position:0,textureCoordinates:1};function PickId(e,t,i){this._pickObjects=e,this.key=t,this.color=i}function loadCubeMap(t,e){var i={flipY:!0,preferImageBitmap:!0},i=[Resource.createIfNeeded(e.positiveX).fetchImage(i),Resource.createIfNeeded(e.negativeX).fetchImage(i),Resource.createIfNeeded(e.positiveY).fetchImage(i),Resource.createIfNeeded(e.negativeY).fetchImage(i),Resource.createIfNeeded(e.positiveZ).fetchImage(i),Resource.createIfNeeded(e.negativeZ).fetchImage(i)];return when.all(i,function(e){return new CubeMap({context:t,source:{positiveX:e[0],negativeX:e[1],positiveY:e[2],negativeY:e[3],positiveZ:e[4],negativeZ:e[5]}})})}Context.prototype.getViewportQuadVertexArray=function(){var e,t=this.cache.viewportQuad_vertexArray;return defined(t)||(e=new Geometry({attributes:{position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:PrimitiveType$1.TRIANGLES}),t=VertexArray.fromGeometry({context:this,geometry:e,attributeLocations:viewportQuadAttributeLocations,bufferUsage:BufferUsage$1.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=t),t},Context.prototype.createViewportQuadCommand=function(e,t){return t=defaultValue(t,defaultValue.EMPTY_OBJECT),new DrawCommand({vertexArray:this.getViewportQuadVertexArray(),primitiveType:PrimitiveType$1.TRIANGLES,renderState:t.renderState,shaderProgram:ShaderProgram.fromCache({context:this,vertexShaderSource:ViewportQuadVS,fragmentShaderSource:e,attributeLocations:viewportQuadAttributeLocations}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})},Context.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]},Object.defineProperties(PickId.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}}),PickId.prototype.destroy=function(){delete this._pickObjects[this.key]},Context.prototype.createPickId=function(e){++this._nextPickColor[0];var t=this._nextPickColor[0];if(0===t)throw new RuntimeError("Out of unique Pick IDs.");return this._pickObjects[t]=e,new PickId(this._pickObjects,t,Color.fromRgba(t))},Context.prototype.isDestroyed=function(){return!1},Context.prototype.destroy=function(){var e,t,i=this.cache;for(e in i)!i.hasOwnProperty(e)||defined((t=i[e]).destroy)&&t.destroy();return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),destroyObject(this)};var RenderbufferFormat={RGBA4:WebGLConstants$1.RGBA4,RGB5_A1:WebGLConstants$1.RGB5_A1,RGB565:WebGLConstants$1.RGB565,DEPTH_COMPONENT16:WebGLConstants$1.DEPTH_COMPONENT16,STENCIL_INDEX8:WebGLConstants$1.STENCIL_INDEX8,DEPTH_STENCIL:WebGLConstants$1.DEPTH_STENCIL,validate:function(e){return e===RenderbufferFormat.RGBA4||e===RenderbufferFormat.RGB5_A1||e===RenderbufferFormat.RGB565||e===RenderbufferFormat.DEPTH_COMPONENT16||e===RenderbufferFormat.STENCIL_INDEX8||e===RenderbufferFormat.DEPTH_STENCIL}},RenderbufferFormat$1=Object.freeze(RenderbufferFormat);function Renderbuffer(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context._gl,i=defaultValue(e.format,RenderbufferFormat$1.RGBA4),r=defined(e.width)?e.width:t.drawingBufferWidth,e=defined(e.height)?e.height:t.drawingBufferHeight;this._gl=t,this._format=i,this._width=r,this._height=e,this._renderbuffer=this._gl.createRenderbuffer(),t.bindRenderbuffer(t.RENDERBUFFER,this._renderbuffer),t.renderbufferStorage(t.RENDERBUFFER,i,r,e),t.bindRenderbuffer(t.RENDERBUFFER,null)}function DiscardMissingTileImagePolicy(l){l=defaultValue(l,defaultValue.EMPTY_OBJECT),this._pixelsToCheck=l.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;var e=Resource.createIfNeeded(l.missingImageUrl),c=this;e.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(function(e){defined(e.blob)&&(c._missingImageByteLength=e.blob.size);var t=getImagePixels(e);if(l.disableCheckIfAllPixelsAreTransparent){for(var i=!0,r=e.width,n=l.pixelsToCheck,a=0,o=n.length;i&&a<o;++a){var s=n[a];0<t[3+(4*s.x+s.y*r)]&&(i=!1)}i&&(t=void 0)}c._missingImagePixels=t,c._isReady=!0}).otherwise(function(){c._missingImagePixels=void 0,c._isReady=!0})}function ImageryLayerFeatureInfo(){this.name=void 0,this.description=void 0,this.position=void 0,this.data=void 0,this.imageryLayer=void 0}function ImageryProvider(){this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,DeveloperError.throwInstantiationError()}Object.defineProperties(Renderbuffer.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}}),Renderbuffer.prototype._getRenderbuffer=function(){return this._renderbuffer},Renderbuffer.prototype.isDestroyed=function(){return!1},Renderbuffer.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),destroyObject(this)},DiscardMissingTileImagePolicy.prototype.isReady=function(){return this._isReady},DiscardMissingTileImagePolicy.prototype.shouldDiscardImage=function(e){var t=this._pixelsToCheck,i=this._missingImagePixels;if(!defined(i))return!1;if(defined(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;for(var r=getImagePixels(e),n=e.width,a=0,o=t.length;a<o;++a)for(var s=t[a],l=4*s.x+s.y*n,c=0;c<4;++c){var u=l+c;if(r[u]!==i[u])return!1}return!0},ImageryLayerFeatureInfo.prototype.configureNameFromProperties=function(e){var t,i,r,n=10;for(i in e)e.hasOwnProperty(i)&&e[i]&&(r=i.toLowerCase(),1<n&&"name"===r?(n=1,t=i):2<n&&"title"===r?(n=2,t=i):3<n&&/name/i.test(i)?(n=3,t=i):4<n&&/title/i.test(i)&&(n=4,t=i));defined(t)&&(this.name=e[t])},ImageryLayerFeatureInfo.prototype.configureDescriptionFromProperties=function(e){this.description=function e(t){var i,r,n='<table class="cesium-infoBox-defaultTable">';for(i in t)!t.hasOwnProperty(i)||defined(r=t[i])&&(n+="object"==typeof r?"<tr><td>"+i+"</td><td>"+e(r)+"</td></tr>":"<tr><td>"+i+"</td><td>"+r+"</td></tr>");return n+="</table>"}(e)},Object.defineProperties(ImageryProvider.prototype,{ready:{get:DeveloperError.throwInstantiationError},readyPromise:{get:DeveloperError.throwInstantiationError},rectangle:{get:DeveloperError.throwInstantiationError},tileWidth:{get:DeveloperError.throwInstantiationError},tileHeight:{get:DeveloperError.throwInstantiationError},maximumLevel:{get:DeveloperError.throwInstantiationError},minimumLevel:{get:DeveloperError.throwInstantiationError},tilingScheme:{get:DeveloperError.throwInstantiationError},tileDiscardPolicy:{get:DeveloperError.throwInstantiationError},errorEvent:{get:DeveloperError.throwInstantiationError},credit:{get:DeveloperError.throwInstantiationError},proxy:{get:DeveloperError.throwInstantiationError},hasAlphaChannel:{get:DeveloperError.throwInstantiationError}}),ImageryProvider.prototype.getTileCredits=function(e,t,i){DeveloperError.throwInstantiationError()},ImageryProvider.prototype.requestImage=function(e,t,i,r){DeveloperError.throwInstantiationError()},ImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){DeveloperError.throwInstantiationError()};var ktxRegex$2=/\.ktx$/i,crnRegex$2=/\.crn$/i;function ArcGisMapServerImageryProvider(n){n=defaultValue(n,defaultValue.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;var e=Resource.createIfNeeded(n.url);e.appendForwardSlash(),defined(n.token)&&e.setQueryParameters({token:n.token}),this._resource=e,this._tileDiscardPolicy=n.tileDiscardPolicy,this._tileWidth=defaultValue(n.tileWidth,256),this._tileHeight=defaultValue(n.tileHeight,256),this._maximumLevel=n.maximumLevel,this._tilingScheme=defaultValue(n.tilingScheme,new GeographicTilingScheme({ellipsoid:n.ellipsoid})),this._useTiles=defaultValue(n.usePreCachedTilesIfAvailable,!0),this._rectangle=defaultValue(n.rectangle,this._tilingScheme.rectangle),this._layers=n.layers;e=n.credit;"string"==typeof e&&(e=new Credit(e)),this._credit=e,this.enablePickFeatures=defaultValue(n.enablePickFeatures,!0),this._errorEvent=new Event,this._ready=!1,this._readyPromise=when.defer();var a,o=this;function t(e){var t=e.tileInfo;if(defined(t)){if(o._tileWidth=t.rows,o._tileHeight=t.cols,102100===t.spatialReference.wkid||102113===t.spatialReference.wkid)o._tilingScheme=new WebMercatorTilingScheme({ellipsoid:n.ellipsoid});else{if(4326!==e.tileInfo.spatialReference.wkid){var i="Tile spatial reference WKID "+e.tileInfo.spatialReference.wkid+" is not supported.";return void(a=TileProviderError.handleError(a,o,o._errorEvent,i,void 0,void 0,void 0,s))}o._tilingScheme=new GeographicTilingScheme({ellipsoid:n.ellipsoid})}if(o._maximumLevel=e.tileInfo.lods.length-1,defined(e.fullExtent)){if(defined(e.fullExtent.spatialReference)&&defined(e.fullExtent.spatialReference.wkid))if(102100===e.fullExtent.spatialReference.wkid||102113===e.fullExtent.spatialReference.wkid){var t=new WebMercatorProjection,r=e.fullExtent,i=t.unproject(new Cartesian3(Math.max(r.xmin,-o._tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(r.ymin,-o._tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),r=t.unproject(new Cartesian3(Math.min(r.xmax,o._tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(r.ymax,o._tilingScheme.ellipsoid.maximumRadius*Math.PI),0));o._rectangle=new Rectangle(i.longitude,i.latitude,r.longitude,r.latitude)}else{if(4326!==e.fullExtent.spatialReference.wkid){r="fullExtent.spatialReference WKID "+e.fullExtent.spatialReference.wkid+" is not supported.";return void(a=TileProviderError.handleError(a,o,o._errorEvent,r,void 0,void 0,void 0,s))}o._rectangle=Rectangle.fromDegrees(e.fullExtent.xmin,e.fullExtent.ymin,e.fullExtent.xmax,e.fullExtent.ymax)}}else o._rectangle=o._tilingScheme.rectangle;defined(o._tileDiscardPolicy)||(o._tileDiscardPolicy=new DiscardMissingTileImagePolicy({missingImageUrl:buildImageResource(o,0,0,o._maximumLevel).url,pixelsToCheck:[new Cartesian2(0,0),new Cartesian2(200,20),new Cartesian2(20,200),new Cartesian2(80,110),new Cartesian2(160,130)],disableCheckIfAllPixelsAreTransparent:!0})),o._useTiles=!0}else o._useTiles=!1;defined(e.copyrightText)&&0<e.copyrightText.length&&(o._credit=new Credit(e.copyrightText)),o._ready=!0,o._readyPromise.resolve(!0),TileProviderError.handleSuccess(a)}function i(e){var t="An error occurred while accessing "+o._resource.url+".";a=TileProviderError.handleError(a,o,o._errorEvent,t,void 0,void 0,void 0,s),o._readyPromise.reject(new RuntimeError(t))}function s(){when(o._resource.getDerivedResource({queryParameters:{f:"json"}}).fetchJsonp(),t,i)}this._useTiles?s():(this._ready=!0,this._readyPromise.resolve(!0))}function buildImageResource(e,t,i,r,n){var a=e._useTiles?e._resource.getDerivedResource({url:"tile/"+r+"/"+i+"/"+t,request:n}):(a={bbox:(a=e._tilingScheme.tileXYToNativeRectangle(t,i,r)).west+","+a.south+","+a.east+","+a.north,size:e._tileWidth+","+e._tileHeight,format:"png32",transparent:!0,f:"image"},e._tilingScheme.projection instanceof GeographicProjection?(a.bboxSR=4326,a.imageSR=4326):(a.bboxSR=3857,a.imageSR=3857),e.layers&&(a.layers="show:"+e.layers),e._resource.getDerivedResource({url:"export",request:n,queryParameters:a}));return a}function AutoExposure(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=void 0,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new Cartesian2,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}function destroyFramebuffers(e){var t=e._framebuffers;if(defined(t)){for(var i=t.length,r=0;r<i;++r)t[r].destroy();e._framebuffers=void 0,e._previousLuminance.destroy(),e._previousLuminance=void 0}}function createFramebuffers(e,t){destroyFramebuffers(e);for(var i=e._width,r=e._height,n=PixelFormat$1.RGBA,a=t.halfFloatingPointTexture?PixelDatatype$1.HALF_FLOAT:PixelDatatype$1.FLOAT,o=Math.ceil(Math.log(Math.max(i,r))/Math.log(3)),s=new Array(o),l=0;l<o;++l)i=Math.max(Math.ceil(i/3),1),r=Math.max(Math.ceil(r/3),1),s[l]=new Framebuffer({context:t,colorTextures:[new Texture({context:t,width:i,height:r,pixelFormat:n,pixelDatatype:a,sampler:Sampler.NEAREST})]});var c=s[o-1].getColorTexture(0);e._previousLuminance=new Framebuffer({context:t,colorTextures:[new Texture({context:t,width:c.width,height:c.height,pixelFormat:n,pixelDatatype:a,sampler:Sampler.NEAREST})]}),e._framebuffers=s}function destroyCommands(e){var t=e._commands;if(defined(t)){for(var i=t.length,r=0;r<i;++r)t[r].shaderProgram.destroy();e._commands=void 0}}function createUniformMap$4(e,t){var i;return(t=0===t?{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions}}:(i=e._framebuffers[t-1].getColorTexture(0),{colorTexture:function(){return i},colorTextureDimensions:function(){return i.dimensions}})).minMaxLuminance=function(){return e._minMaxLuminance},t.previousLuminance=function(){return e._previousLuminance.getColorTexture(0)},t}function getShaderSource(e,t){var i="uniform sampler2D colorTexture; \nvarying vec2 v_textureCoordinates; \nfloat sampleTexture(vec2 offset) { \n";return i+=0===e?" vec4 color = texture2D(colorTexture, v_textureCoordinates + offset); \n return czm_luminance(color.rgb); \n":" return texture2D(colorTexture, v_textureCoordinates + offset).r; \n",i+="}\n\n",i+="uniform vec2 colorTextureDimensions; \nuniform vec2 minMaxLuminance; \nuniform sampler2D previousLuminance; \nvoid main() { \n float color = 0.0; \n float xStep = 1.0 / colorTextureDimensions.x; \n float yStep = 1.0 / colorTextureDimensions.y; \n int count = 0; \n for (int i = 0; i < 3; ++i) { \n for (int j = 0; j < 3; ++j) { \n vec2 offset; \n offset.x = -xStep + float(i) * xStep; \n offset.y = -yStep + float(j) * yStep; \n if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { \n continue; \n } \n color += sampleTexture(offset); \n ++count; \n } \n } \n if (count > 0) { \n color /= float(count); \n } \n",e===t-1&&(i+=" float previous = texture2D(previousLuminance, vec2(0.5)).r; \n color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); \n color = previous + (color - previous) / (60.0 * 1.5); \n color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); \n"),i+=" gl_FragColor = vec4(color); \n} \n"}function createCommands$5(e,t){destroyCommands(e);for(var i=e._framebuffers,r=i.length,n=new Array(r),a=0;a<r;++a)n[a]=t.createViewportQuadCommand(getShaderSource(a,r),{framebuffer:i[a],uniformMap:createUniformMap$4(e,a)});e._commands=n}ImageryProvider.loadImage=function(e,t){t=Resource.createIfNeeded(t);return ktxRegex$2.test(t.url)?loadKTX(t):crnRegex$2.test(t.url)?loadCRN(t):defined(e)&&defined(e.tileDiscardPolicy)?t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):t.fetchImage({preferImageBitmap:!0,flipY:!0})},Object.defineProperties(ArcGisMapServerImageryProvider.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}}),ArcGisMapServerImageryProvider.prototype.getTileCredits=function(e,t,i){},ArcGisMapServerImageryProvider.prototype.requestImage=function(e,t,i,r){return ImageryProvider.loadImage(this,buildImageResource(this,e,t,i,r))},ArcGisMapServerImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){if(this.enablePickFeatures){var a,o,i=this._tilingScheme.tileXYToNativeRectangle(e,t,i);n=this._tilingScheme.projection instanceof GeographicProjection?(a=CesiumMath.toDegrees(r),o=CesiumMath.toDegrees(n),"4326"):(a=(s=this._tilingScheme.projection.project(new Cartographic(r,n,0))).x,o=s.y,"3857");var s="visible";defined(this._layers)&&(s+=":"+this._layers);s={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:a+","+o,mapExtent:i.west+","+i.south+","+i.east+","+i.north,imageDisplay:this._tileWidth+","+this._tileHeight+",96",sr:n,layers:s};return this._resource.getDerivedResource({url:"identify",queryParameters:s}).fetchJson().then(function(e){var t=[],i=e.results;if(!defined(i))return t;for(var r=0;r<i.length;++r){var n,a=i[r],o=new ImageryLayerFeatureInfo;o.data=a,o.name=a.value,o.properties=a.attributes,o.configureDescriptionFromProperties(a.attributes),"esriGeometryPoint"===a.geometryType&&a.geometry&&(4326===(n=a.geometry.spatialReference&&a.geometry.spatialReference.wkid?a.geometry.spatialReference.wkid:4326)||4283===n?o.position=Cartographic.fromDegrees(a.geometry.x,a.geometry.y,a.geometry.z):102100!==n&&900913!==n&&3857!==n||(n=new WebMercatorProjection,o.position=n.unproject(new Cartesian3(a.geometry.x,a.geometry.y,a.geometry.z)))),t.push(o)}return t})}},Object.defineProperties(AutoExposure.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){var e=this._framebuffers;if(defined(e))return e[e.length-1].getColorTexture(0)}}}),AutoExposure.prototype.clear=function(e){var t=this._framebuffers;if(defined(t)){var i=this._clearCommand;defined(i)||(i=this._clearCommand=new ClearCommand({color:new Color(0,0,0,0),framebuffer:void 0}));for(var r=t.length,n=0;n<r;++n)i.framebuffer=t[n],i.execute(e)}},AutoExposure.prototype.update=function(e){var t=e.drawingBufferWidth,i=e.drawingBufferHeight;t===this._width&&i===this._height||(this._width=t,this._height=i,createFramebuffers(this,e),createCommands$5(this,e),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;i=this._framebuffers,e=i[i.length-1];i[i.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance,this._previousLuminance=e},AutoExposure.prototype.execute=function(e,t){this._colorTexture=t;var i=this._commands;if(defined(i))for(var r=i.length,n=0;n<r;++n)i[n].execute(e)},AutoExposure.prototype.isDestroyed=function(){return!1},AutoExposure.prototype.destroy=function(){return destroyFramebuffers(this),destroyCommands(this),destroyObject(this)};var BingMapsStyle={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"},BingMapsStyle$1=Object.freeze(BingMapsStyle),emptyImage;function DiscardEmptyTileImagePolicy(e){}function BingMapsImageryProvider(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).key;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=1,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._key=t,this._resource=Resource.createIfNeeded(e.url),this._resource.appendForwardSlash(),this._tileProtocol=e.tileProtocol,this._mapStyle=defaultValue(e.mapStyle,BingMapsStyle$1.AERIAL),this._culture=defaultValue(e.culture,""),this._tileDiscardPolicy=e.tileDiscardPolicy,defined(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new DiscardEmptyTileImagePolicy),this._proxy=e.proxy,this._credit=new Credit('<a href="http://www.bing.com"><img src="'+BingMapsImageryProvider.logoUrl+'" title="Bing Imagery"/></a>'),this._tilingScheme=new WebMercatorTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._errorEvent=new Event,this._ready=!1,this._readyPromise=when.defer();e=this._tileProtocol;defined(e)?0<e.length&&":"===e[e.length-1]&&(e=e.substr(0,e.length-1)):e="http:"===document.location.protocol?"http":"https";var u,i=this._resource.getDerivedResource({url:"REST/v1/Imagery/Metadata/"+this._mapStyle,queryParameters:{incl:"ImageryProviders",key:this._key,uriScheme:e}}),d=this;function r(e){if(1===e.resourceSets.length){e=e.resourceSets[0].resources[0];d._tileWidth=e.imageWidth,d._tileHeight=e.imageHeight,d._maximumLevel=e.zoomMax-1,d._imageUrlSubdomains=e.imageUrlSubdomains,d._imageUrlTemplate=e.imageUrl;for(var t=d._attributionList=e.imageryProviders,i=0,r=(t=t||(d._attributionList=[])).length;i<r;++i){var n=t[i];if(n.credit instanceof Credit)break;n.credit=new Credit(n.attribution);for(var a=n.coverageAreas,o=0,s=n.coverageAreas.length;o<s;++o){var l=a[o],c=l.bbox;l.bbox=new Rectangle(CesiumMath.toRadians(c[1]),CesiumMath.toRadians(c[0]),CesiumMath.toRadians(c[3]),CesiumMath.toRadians(c[2]))}}d._ready=!0,d._readyPromise.resolve(!0),TileProviderError.handleSuccess(u)}else h()}function h(e){var t="An error occurred while accessing "+i.url+".";u=TileProviderError.handleError(u,d,d._errorEvent,t,void 0,void 0,void 0,a),d._readyPromise.reject(new RuntimeError(t))}var n=i.url;function a(){var e=i.fetchJsonp("jsonp");(BingMapsImageryProvider._metadataCache[n]=e).then(r).otherwise(h)}e=BingMapsImageryProvider._metadataCache[n];defined(e)?e.then(r).otherwise(h):a()}DiscardEmptyTileImagePolicy.prototype.isReady=function(){return!0},DiscardEmptyTileImagePolicy.prototype.shouldDiscardImage=function(e){return DiscardEmptyTileImagePolicy.EMPTY_IMAGE===e},Object.defineProperties(DiscardEmptyTileImagePolicy,{EMPTY_IMAGE:{get:function(){return defined(emptyImage)||((emptyImage=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),emptyImage}}}),Object.defineProperties(BingMapsImageryProvider.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});var rectangleScratch$5=new Rectangle;function buildImageResource$1(e,t,i,r,n){var a=e._imageUrlTemplate,o=e._imageUrlSubdomains,s=(t+i+r)%o.length;return e._resource.getDerivedResource({url:a,request:n,templateValues:{quadkey:BingMapsImageryProvider.tileXYToQuadKey(t,i,r),subdomain:o[s],culture:e._culture},queryParameters:{n:"z"}})}BingMapsImageryProvider.prototype.getTileCredits=function(e,t,i){t=this._tilingScheme.tileXYToRectangle(e,t,i,rectangleScratch$5);return getRectangleAttribution(this._attributionList,i,t)},BingMapsImageryProvider.prototype.requestImage=function(e,t,i,r){r=ImageryProvider.loadImage(this,buildImageResource$1(this,e,t,i,r));if(defined(r))return r.otherwise(function(e){return defined(e.blob)&&0===e.blob.size?DiscardEmptyTileImagePolicy.EMPTY_IMAGE:when.reject(e)})},BingMapsImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){},BingMapsImageryProvider.tileXYToQuadKey=function(e,t,i){for(var r="",n=i;0<=n;--n){var a=1<<n,o=0;0!=(e&a)&&(o|=1),0!=(t&a)&&(o|=2),r+=o}return r},BingMapsImageryProvider.quadKeyToTileXY=function(e){for(var t=0,i=0,r=e.length-1,n=r;0<=n;--n){var a=1<<n,o=+e[r-n];0!=(1&o)&&(t|=a),0!=(2&o)&&(i|=a)}return{x:t,y:i,level:r}},BingMapsImageryProvider._logoUrl=void 0,Object.defineProperties(BingMapsImageryProvider,{logoUrl:{get:function(){return defined(BingMapsImageryProvider._logoUrl)||(BingMapsImageryProvider._logoUrl=buildModuleUrl("Assets/Images/bing_maps_credit.png")),BingMapsImageryProvider._logoUrl},set:function(e){BingMapsImageryProvider._logoUrl=e}}});var intersectionScratch$1=new Rectangle;function getRectangleAttribution(e,t,i){++t;for(var r=[],n=0,a=e.length;n<a;++n){for(var o=e[n],s=o.coverageAreas,l=!1,c=0,u=o.coverageAreas.length;!l&&c<u;++c){var d=s[c];t>=d.zoomMin&&t<=d.zoomMax&&defined(Rectangle.intersection(i,d.bbox,intersectionScratch$1))&&(l=!0)}l&&r.push(o.credit)}return r}BingMapsImageryProvider._metadataCache={};var defaultDimensions=new Cartesian3(1,1,1);function BoxEmitter(e){e=defaultValue(e,defaultDimensions),this._dimensions=Cartesian3.clone(e)}Object.defineProperties(BoxEmitter.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){Cartesian3.clone(e,this._dimensions)}}});var scratchHalfDim=new Cartesian3;BoxEmitter.prototype.emit=function(e){var t=this._dimensions,i=Cartesian3.multiplyByScalar(t,.5,scratchHalfDim),r=CesiumMath.randomBetween(-i.x,i.x),t=CesiumMath.randomBetween(-i.y,i.y),i=CesiumMath.randomBetween(-i.z,i.z);e.position=Cartesian3.fromElements(r,t,i,e.position),e.velocity=Cartesian3.normalize(e.position,e.velocity)};var BrdfLutGeneratorFS="varying vec2 v_textureCoordinates;\nconst float M_PI = 3.141592653589793;\nfloat vdcRadicalInverse(int i)\n{\nfloat r;\nfloat base = 2.0;\nfloat value = 0.0;\nfloat invBase = 1.0 / base;\nfloat invBi = invBase;\nfor (int x = 0; x < 100; x++)\n{\nif (i <= 0)\n{\nbreak;\n}\nr = mod(float(i), base);\nvalue += r * invBi;\ninvBi *= invBase;\ni = int(float(i) * invBase);\n}\nreturn value;\n}\nvec2 hammersley2D(int i, int N)\n{\nreturn vec2(float(i) / float(N), vdcRadicalInverse(i));\n}\nvec3 importanceSampleGGX(vec2 xi, float roughness, vec3 N)\n{\nfloat a = roughness * roughness;\nfloat phi = 2.0 * M_PI * xi.x;\nfloat cosTheta = sqrt((1.0 - xi.y) / (1.0 + (a * a - 1.0) * xi.y));\nfloat sinTheta = sqrt(1.0 - cosTheta * cosTheta);\nvec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta);\nvec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);\nvec3 tangentX = normalize(cross(upVector, N));\nvec3 tangentY = cross(N, tangentX);\nreturn tangentX * H.x + tangentY * H.y + N * H.z;\n}\nfloat G1_Smith(float NdotV, float k)\n{\nreturn NdotV / (NdotV * (1.0 - k) + k);\n}\nfloat G_Smith(float roughness, float NdotV, float NdotL)\n{\nfloat k = roughness * roughness / 2.0;\nreturn G1_Smith(NdotV, k) * G1_Smith(NdotL, k);\n}\nvec2 integrateBrdf(float roughness, float NdotV)\n{\nvec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV);\nfloat A = 0.0;\nfloat B = 0.0;\nconst int NumSamples = 1024;\nfor (int i = 0; i < NumSamples; i++)\n{\nvec2 xi = hammersley2D(i, NumSamples);\nvec3 H = importanceSampleGGX(xi, roughness, vec3(0.0, 0.0, 1.0));\nvec3 L = 2.0 * dot(V, H) * H - V;\nfloat NdotL = clamp(L.z, 0.0, 1.0);\nfloat NdotH = clamp(H.z, 0.0, 1.0);\nfloat VdotH = clamp(dot(V, H), 0.0, 1.0);\nif (NdotL > 0.0)\n{\nfloat G = G_Smith(roughness, NdotV, NdotL);\nfloat G_Vis = G * VdotH / (NdotH * NdotV);\nfloat Fc = pow(1.0 - VdotH, 5.0);\nA += (1.0 - Fc) * G_Vis;\nB += Fc * G_Vis;\n}\n}\nreturn vec2(A, B) / float(NumSamples);\n}\nvoid main()\n{\ngl_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0);\n}\n";function BrdfLutGenerator(){this._framebuffer=void 0,this._colorTexture=void 0,this._drawCommand=void 0}function createCommand$1(e,t){var i=e._framebuffer,i=t.createViewportQuadCommand(BrdfLutGeneratorFS,{framebuffer:i,renderState:RenderState.fromCache({viewport:new BoundingRectangle(0,0,256,256)})});e._drawCommand=i}function createFramebuffer$2(e,t){var i=new Texture({context:t,width:256,height:256,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST}),i=new Framebuffer({context:t,colorTextures:[e._colorTexture=i],destroyAttachments:!1});e._framebuffer=i}Object.defineProperties(BrdfLutGenerator.prototype,{colorTexture:{get:function(){return this._colorTexture}}}),BrdfLutGenerator.prototype.update=function(e){defined(this._colorTexture)||(createFramebuffer$2(this,e=e.context),createCommand$1(this,e),this._drawCommand.execute(e),this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy())},BrdfLutGenerator.prototype.isDestroyed=function(){return!1},BrdfLutGenerator.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),destroyObject(this)};var CameraFlightPath={};function getAltitude(e,t,i){if(e instanceof PerspectiveFrustum){var r=Math.tan(.5*e.fovy),n=e.near,a=e.near*r,r=e.aspectRatio*a;return Math.max(t*n/r,i*n/a)}return e instanceof PerspectiveOffCenterFrustum?(n=e.near,a=e.top,r=e.right,Math.max(t*n/r,i*n/a)):Math.max(t,i)}var scratchCart=new Cartesian3,scratchCart2$2=new Cartesian3;function createPitchFunction(i,r,n,e){if(defined(e)&&n(.5)>e){var a=n(0),o=n(1),e=n(.5),s=e-a,l=e-o;return function(e){var t=n(e);if(e<=.5){e=(t-a)/s;return CesiumMath.lerp(i,-CesiumMath.PI_OVER_TWO,e)}t=(t-o)/l;return CesiumMath.lerp(-CesiumMath.PI_OVER_TWO,r,1-t)}}return function(e){return CesiumMath.lerp(i,r,e)}}function createHeightFunction(e,t,i,r,n){var a,o,s=n,l=Math.max(i,r);if(defined(s)||(a=e.position,o=e.up,n=e.right,e=e.frustum,t=Cartesian3.subtract(a,t,scratchCart),o=Cartesian3.magnitude(Cartesian3.multiplyByScalar(o,Cartesian3.dot(t,o),scratchCart2$2)),n=Cartesian3.magnitude(Cartesian3.multiplyByScalar(n,Cartesian3.dot(t,n),scratchCart2$2)),s=Math.min(.2*getAltitude(e,o,n),1e9)),l<s){var c=-Math.pow(1e6*(s-i),1/8),u=Math.pow(1e6*(s-r),1/8);return function(e){e=e*(u-c)+c;return-Math.pow(e,8)/1e6+s}}return function(e){return CesiumMath.lerp(i,r,e)}}function adjustAngleForLERP(e,t){return CesiumMath.equalsEpsilon(e,CesiumMath.TWO_PI,CesiumMath.EPSILON11)&&(e=0),t>e+Math.PI?e+=CesiumMath.TWO_PI:t<e-Math.PI&&(e-=CesiumMath.TWO_PI),e}var scratchStart=new Cartesian3;function createUpdateCV(e,t,i,r,n,a,o){var s=e.camera,l=Cartesian3.clone(s.position,scratchStart),c=s.pitch,u=adjustAngleForLERP(s.heading,r),d=adjustAngleForLERP(s.roll,a),h=createHeightFunction(s,i,l.z,i.z,o);return function(e){e=e.time/t,s.setView({orientation:{heading:CesiumMath.lerp(u,r,e),pitch:CesiumMath.lerp(c,n,e),roll:CesiumMath.lerp(d,a,e)}}),Cartesian2.lerp(l,i,e,s.position),s.position.z=h(e)}}function useLongestFlight(e,t){e.longitude<t.longitude?e.longitude+=CesiumMath.TWO_PI:t.longitude+=CesiumMath.TWO_PI}function useShortestFlight(e,t){var i=e.longitude-t.longitude;i<-CesiumMath.PI?e.longitude+=CesiumMath.TWO_PI:i>CesiumMath.PI&&(t.longitude+=CesiumMath.TWO_PI)}var scratchStartCart=new Cartographic,scratchEndCart=new Cartographic;function createUpdate3D(e,i,t,r,n,a,o,s,l,c){var u=e.camera,d=e.mapProjection.ellipsoid,h=Cartographic.clone(u.positionCartographic,scratchStartCart),p=u.pitch,m=adjustAngleForLERP(u.heading,r),f=adjustAngleForLERP(u.roll,a),g=d.cartesianToCartographic(t,scratchEndCart);h.longitude=CesiumMath.zeroToTwoPi(h.longitude),g.longitude=CesiumMath.zeroToTwoPi(g.longitude);var _=!1;defined(s)&&(e=CesiumMath.zeroToTwoPi(s),d=Math.min(h.longitude,g.longitude),s=Math.max(h.longitude,g.longitude),d=d<=e&&e<=s,defined(l)?(e=Math.abs(h.longitude-g.longitude),s=CesiumMath.TWO_PI-e,(d?e:s)<(d?s:e)*l&&!d&&(_=!0)):d||(_=!0)),(_?useLongestFlight:useShortestFlight)(h,g);var y,C,v,S,T=createHeightFunction(u,t,h.height,g.height,o),b=createPitchFunction(p,n,T,c);return y=h.longitude,C=g.longitude,v=h.latitude,S=g.latitude,function(e){var t=e.time/i,e=Cartesian3.fromRadians(CesiumMath.lerp(y,C,t),CesiumMath.lerp(v,S,t),T(t));u.setView({destination:e,orientation:{heading:CesiumMath.lerp(m,r,t),pitch:b(t),roll:CesiumMath.lerp(f,a,t)}})}}function createUpdate2D(e,r,n,a,t,i,o){var s=e.camera,l=Cartesian3.clone(s.position,scratchStart),c=adjustAngleForLERP(s.heading,a),e=s.frustum.right-s.frustum.left,u=createHeightFunction(s,n,e,n.z,o);return function(e){var t=e.time/r;s.setView({orientation:{heading:CesiumMath.lerp(c,a,t)}}),Cartesian2.lerp(l,n,t,s.position);var i=u(t),t=(e=s.frustum).top/e.right,i=.5*(i-(e.right-e.left));e.right+=i,e.left-=i,e.top=t*e.right,e.bottom=-e.top}}var scratchCartographic$b=new Cartographic,scratchDestination=new Cartesian3;function emptyFlight(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function wrapCallback(e,t){return function(){"function"==typeof t&&t(),e.enableInputs=!0}}CameraFlightPath.createTween=function(e,t){var i=(t=defaultValue(t,defaultValue.EMPTY_OBJECT)).destination,r=e.mode;if(r===SceneMode$1.MORPHING)return emptyFlight();var n=defaultValue(t.convert,!0),a=e.mapProjection,o=a.ellipsoid,s=t.maximumHeight,l=t.flyOverLongitude,c=t.flyOverLongitudeWeight,u=t.pitchAdjustHeight,d=t.easingFunction;n&&r!==SceneMode$1.SCENE3D&&(o.cartesianToCartographic(i,scratchCartographic$b),i=a.project(scratchCartographic$b,scratchDestination));var h=e.camera,p=t.endTransform;defined(p)&&h._setTransform(p);n=t.duration;defined(n)||(n=Math.ceil(Cartesian3.distance(h.position,i)/1e6)+2,n=Math.min(n,3));var m=defaultValue(t.heading,0),f=defaultValue(t.pitch,-CesiumMath.PI_OVER_TWO),g=defaultValue(t.roll,0),a=e.screenSpaceCameraController;a.enableInputs=!1;var _=wrapCallback(a,t.complete),p=wrapCallback(a,t.cancel),a=h.frustum,t=e.mode===SceneMode$1.SCENE2D;if(t=(t=(t=(t=t&&Cartesian2.equalsEpsilon(h.position,i,CesiumMath.EPSILON6))&&CesiumMath.equalsEpsilon(Math.max(a.right-a.left,a.top-a.bottom),i.z,CesiumMath.EPSILON6))||e.mode!==SceneMode$1.SCENE2D&&Cartesian3.equalsEpsilon(i,h.position,CesiumMath.EPSILON10))&&CesiumMath.equalsEpsilon(CesiumMath.negativePiToPi(m),CesiumMath.negativePiToPi(h.heading),CesiumMath.EPSILON10)&&CesiumMath.equalsEpsilon(CesiumMath.negativePiToPi(f),CesiumMath.negativePiToPi(h.pitch),CesiumMath.EPSILON10)&&CesiumMath.equalsEpsilon(CesiumMath.negativePiToPi(g),CesiumMath.negativePiToPi(h.roll),CesiumMath.EPSILON10))return emptyFlight(_,p);var y=new Array(4);if(y[SceneMode$1.SCENE2D]=createUpdate2D,y[SceneMode$1.SCENE3D]=createUpdate3D,y[SceneMode$1.COLUMBUS_VIEW]=createUpdateCV,n<=0)return emptyFlight(function(){y[r](e,1,i,m,f,g,s,l,c,u)({time:1}),"function"==typeof _&&_()},p);t=y[r](e,n,i,m,f,g,s,l,c,u);return defined(d)||(h=h.positionCartographic.height,d=(r===SceneMode$1.SCENE3D?o.cartesianToCartographic(i).height:i.z)<h&&11500<h?EasingFunction$1.CUBIC_OUT:EasingFunction$1.QUINTIC_IN_OUT),{duration:n,easingFunction:d,startObject:{time:0},stopObject:{time:n},update:t,complete:_,cancel:p}};var MapMode2D={ROTATE:0,INFINITE_SCROLL:1},MapMode2D$1=Object.freeze(MapMode2D);function Camera(e){this._scene=e,this._transform=Matrix4.clone(Matrix4.IDENTITY),this._invTransform=Matrix4.clone(Matrix4.IDENTITY),this._actualTransform=Matrix4.clone(Matrix4.IDENTITY),this._actualInvTransform=Matrix4.clone(Matrix4.IDENTITY),this._transformChanged=!1,this.position=new Cartesian3,this._position=new Cartesian3,this._positionWC=new Cartesian3,this._positionCartographic=new Cartographic,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new Cartesian3,this._direction=new Cartesian3,this._directionWC=new Cartesian3,this.up=new Cartesian3,this._up=new Cartesian3,this._upWC=new Cartesian3,this.right=new Cartesian3,this._right=new Cartesian3,this._rightWC=new Cartesian3,this.frustum=new PerspectiveFrustum,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=CesiumMath.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new Event,this._moveEnd=new Event,this._changed=new Event,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this.percentageChanged=.5,this._viewMatrix=new Matrix4,this._invViewMatrix=new Matrix4,updateViewMatrix(this),this._mode=SceneMode$1.SCENE3D,this._modeChanged=!0;e=e.mapProjection;this._projection=e,this._maxCoord=e.project(new Cartographic(Math.PI,CesiumMath.PI_OVER_TWO)),this._max2Dfrustum=void 0,rectangleCameraPosition3D(this,Camera.DEFAULT_VIEW_RECTANGLE,this.position,!0);e=Cartesian3.magnitude(this.position);e+=e*Camera.DEFAULT_VIEW_FACTOR,Cartesian3.normalize(this.position,this.position),Cartesian3.multiplyByScalar(this.position,e,this.position)}function updateViewMatrix(e){Matrix4.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),Matrix4.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),Matrix4.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function updateCameraDeltas(e){var t;defined(e._oldPositionWC)?(e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude,t=Cartesian3.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC),e.positionWCDeltaMagnitude=Cartesian3.magnitude(t),e._oldPositionWC=Cartesian3.clone(e.positionWC,e._oldPositionWC),0<e.positionWCDeltaMagnitude?(e.timeSinceMoved=0,e._lastMovedTimestamp=getTimestamp$1()):e.timeSinceMoved=Math.max(getTimestamp$1()-e._lastMovedTimestamp,0)/1e3):e._oldPositionWC=Cartesian3.clone(e.positionWC,e._oldPositionWC)}function convertTransformForColumbusView(e){Transforms.basisTo2D(e._projection,e._transform,e._actualTransform)}Camera.TRANSFORM_2D=new Matrix4(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),Camera.TRANSFORM_2D_INVERSE=Matrix4.inverseTransformation(Camera.TRANSFORM_2D,new Matrix4),Camera.DEFAULT_VIEW_RECTANGLE=Rectangle.fromDegrees(-95,-20,-70,90),Camera.DEFAULT_VIEW_FACTOR=.5,Camera.DEFAULT_OFFSET=new HeadingPitchRange(0,-CesiumMath.PI_OVER_FOUR,0),Camera.prototype.canPreloadFlight=function(){return defined(this._currentFlight)&&this._mode!==SceneMode$1.SCENE2D},Camera.prototype._updateCameraChanged=function(){var e=this;if(updateCameraDeltas(e),0!==e._changed.numberOfListeners){var t=e.percentageChanged;if(e._mode!==SceneMode$1.SCENE2D){if(!defined(e._changedDirection))return e._changedPosition=Cartesian3.clone(e.positionWC,e._changedPosition),void(e._changedDirection=Cartesian3.clone(e.directionWC,e._changedDirection));var i=CesiumMath.acosClamped(Cartesian3.dot(e.directionWC,e._changedDirection)),r=defined(e.frustum.fovy)?i/(.5*e.frustum.fovy):i,n=Cartesian3.distance(e.positionWC,e._changedPosition)/e.positionCartographic.height;(t<r||t<n)&&(e._changed.raiseEvent(Math.max(r,n)),e._changedPosition=Cartesian3.clone(e.positionWC,e._changedPosition),e._changedDirection=Cartesian3.clone(e.directionWC,e._changedDirection))}else{if(!defined(e._changedFrustum))return e._changedPosition=Cartesian3.clone(e.position,e._changedPosition),void(e._changedFrustum=e.frustum.clone());var a,o=e.position,s=e._changedPosition,l=e.frustum,c=e._changedFrustum,u=o.x+l.left,d=o.x+l.right,h=s.x+c.left,p=s.x+c.right,m=o.y+l.bottom,f=o.y+l.top,g=s.y+c.bottom,i=s.y+c.top,r=Math.max(u,h),n=Math.min(d,p),o=Math.max(m,g),s=Math.min(f,i);t<(a=n<=r||f<=o?1:1-(n-r)*(s-o)/(((a=u<h&&p<d&&m<g&&i<f?l:c).right-a.left)*(a.top-a.bottom)))&&(e._changed.raiseEvent(a),e._changedPosition=Cartesian3.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum))}}};var scratchCartographic$c=new Cartographic,scratchCartesian3Projection$1=new Cartesian3,scratchCartesian3$c=new Cartesian3,scratchCartesian4Origin=new Cartesian4,scratchCartesian4NewOrigin=new Cartesian4,scratchCartesian4NewXAxis=new Cartesian4,scratchCartesian4NewYAxis=new Cartesian4,scratchCartesian4NewZAxis=new Cartesian4;function convertTransformFor2D(e){var t=e._projection,i=t.ellipsoid,r=Matrix4.getColumn(e._transform,3,scratchCartesian4Origin),n=i.cartesianToCartographic(r,scratchCartographic$c),a=t.project(n,scratchCartesian3Projection$1),o=scratchCartesian4NewOrigin;o.x=a.z,o.y=a.x,o.z=a.y,o.w=1;var s=Cartesian4.clone(Cartesian4.UNIT_X,scratchCartesian4NewZAxis),l=Cartesian4.add(Matrix4.getColumn(e._transform,0,scratchCartesian3$c),r,scratchCartesian3$c);i.cartesianToCartographic(l,n),t.project(n,a);var c=scratchCartesian4NewXAxis;c.x=a.z,c.y=a.x,c.z=a.y,c.w=0,Cartesian3.subtract(c,o,c),c.x=0;l=scratchCartesian4NewYAxis;Cartesian3.magnitudeSquared(c)>CesiumMath.EPSILON10?Cartesian3.cross(s,c,l):(r=Cartesian4.add(Matrix4.getColumn(e._transform,1,scratchCartesian3$c),r,scratchCartesian3$c),i.cartesianToCartographic(r,n),t.project(n,a),l.x=a.z,l.y=a.x,l.z=a.y,l.w=0,Cartesian3.subtract(l,o,l),l.x=0,Cartesian3.magnitudeSquared(l)<CesiumMath.EPSILON10&&(Cartesian4.clone(Cartesian4.UNIT_Y,c),Cartesian4.clone(Cartesian4.UNIT_Z,l))),Cartesian3.cross(l,s,c),Cartesian3.normalize(c,c),Cartesian3.cross(s,c,l),Cartesian3.normalize(l,l),Matrix4.setColumn(e._actualTransform,0,c,e._actualTransform),Matrix4.setColumn(e._actualTransform,1,l,e._actualTransform),Matrix4.setColumn(e._actualTransform,2,s,e._actualTransform),Matrix4.setColumn(e._actualTransform,3,o,e._actualTransform)}var scratchCartesian$8=new Cartesian3;function updateMembers(e){var t=e._mode,i=!1,r=0;t===SceneMode$1.SCENE2D&&(i=(r=e.frustum.right-e.frustum.left)!==e._positionCartographic.height);var n=e._position,a=!Cartesian3.equals(n,e.position)||i;a&&(n=Cartesian3.clone(e.position,e._position));var o=e._direction,s=!Cartesian3.equals(o,e.direction);s&&(Cartesian3.normalize(e.direction,e.direction),o=Cartesian3.clone(e.direction,e._direction));var l=e._up,c=!Cartesian3.equals(l,e.up);c&&(Cartesian3.normalize(e.up,e.up),l=Cartesian3.clone(e.up,e._up));var u=e._right,d=!Cartesian3.equals(u,e.right);d&&(Cartesian3.normalize(e.right,e.right),u=Cartesian3.clone(e.right,e._right));var h=e._transformChanged||e._modeChanged;e._transformChanged=!1,h&&(Matrix4.inverseTransformation(e._transform,e._invTransform),e._mode===SceneMode$1.COLUMBUS_VIEW||e._mode===SceneMode$1.SCENE2D?Matrix4.equals(Matrix4.IDENTITY,e._transform)?Matrix4.clone(Camera.TRANSFORM_2D,e._actualTransform):(e._mode===SceneMode$1.COLUMBUS_VIEW?convertTransformForColumbusView:convertTransformFor2D)(e):Matrix4.clone(e._transform,e._actualTransform),Matrix4.inverseTransformation(e._actualTransform,e._actualInvTransform),e._modeChanged=!1);var p,i=e._actualTransform;(a||h)&&(e._positionWC=Matrix4.multiplyByPoint(i,n,e._positionWC),t===SceneMode$1.SCENE3D||t===SceneMode$1.MORPHING?e._positionCartographic=e._projection.ellipsoid.cartesianToCartographic(e._positionWC,e._positionCartographic):((p=scratchCartesian$8).x=e._positionWC.y,p.y=e._positionWC.z,p.z=e._positionWC.x,t===SceneMode$1.SCENE2D&&(p.z=r),e._projection.unproject(p,e._positionCartographic))),(s||c||d)&&(p=Cartesian3.dot(o,Cartesian3.cross(l,u,scratchCartesian$8)),Math.abs(1-p)>CesiumMath.EPSILON2&&(p=1/Cartesian3.magnitudeSquared(l),p=Cartesian3.dot(l,o)*p,p=Cartesian3.multiplyByScalar(o,p,scratchCartesian$8),l=Cartesian3.normalize(Cartesian3.subtract(l,p,e._up),e._up),Cartesian3.clone(l,e.up),u=Cartesian3.cross(o,l,e._right),Cartesian3.clone(u,e.right))),(s||h)&&(e._directionWC=Matrix4.multiplyByPointAsVector(i,o,e._directionWC),Cartesian3.normalize(e._directionWC,e._directionWC)),(c||h)&&(e._upWC=Matrix4.multiplyByPointAsVector(i,l,e._upWC),Cartesian3.normalize(e._upWC,e._upWC)),(d||h)&&(e._rightWC=Matrix4.multiplyByPointAsVector(i,u,e._rightWC),Cartesian3.normalize(e._rightWC,e._rightWC)),(a||s||c||d||h)&&updateViewMatrix(e)}function getHeading(e,t){e=CesiumMath.equalsEpsilon(Math.abs(e.z),1,CesiumMath.EPSILON3)?Math.atan2(t.y,t.x)-CesiumMath.PI_OVER_TWO:Math.atan2(e.y,e.x)-CesiumMath.PI_OVER_TWO;return CesiumMath.TWO_PI-CesiumMath.zeroToTwoPi(e)}function getPitch(e){return CesiumMath.PI_OVER_TWO-CesiumMath.acosClamped(e.z)}function getRoll(e,t,i){var r=0;return CesiumMath.equalsEpsilon(Math.abs(e.z),1,CesiumMath.EPSILON3)||(r=Math.atan2(-i.z,t.z),r=CesiumMath.zeroToTwoPi(r+CesiumMath.TWO_PI)),r}var scratchHPRMatrix1=new Matrix4,scratchHPRMatrix2=new Matrix4;Object.defineProperties(Camera.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return updateMembers(this),this._invTransform}},viewMatrix:{get:function(){return updateMembers(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return updateMembers(this),this._invViewMatrix}},positionCartographic:{get:function(){return updateMembers(this),this._positionCartographic}},positionWC:{get:function(){return updateMembers(this),this._positionWC}},directionWC:{get:function(){return updateMembers(this),this._directionWC}},upWC:{get:function(){return updateMembers(this),this._upWC}},rightWC:{get:function(){return updateMembers(this),this._rightWC}},heading:{get:function(){if(this._mode!==SceneMode$1.MORPHING){var e=this._projection.ellipsoid,t=Matrix4.clone(this._transform,scratchHPRMatrix1),e=Transforms.eastNorthUpToFixedFrame(this.positionWC,e,scratchHPRMatrix2);this._setTransform(e);e=getHeading(this.direction,this.up);return this._setTransform(t),e}}},pitch:{get:function(){if(this._mode!==SceneMode$1.MORPHING){var e=this._projection.ellipsoid,t=Matrix4.clone(this._transform,scratchHPRMatrix1),e=Transforms.eastNorthUpToFixedFrame(this.positionWC,e,scratchHPRMatrix2);this._setTransform(e);e=getPitch(this.direction);return this._setTransform(t),e}}},roll:{get:function(){if(this._mode!==SceneMode$1.MORPHING){var e=this._projection.ellipsoid,t=Matrix4.clone(this._transform,scratchHPRMatrix1),e=Transforms.eastNorthUpToFixedFrame(this.positionWC,e,scratchHPRMatrix2);this._setTransform(e);e=getRoll(this.direction,this.up,this.right);return this._setTransform(t),e}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}}),Camera.prototype.update=function(e){var t=!1;e!==this._mode&&(this._mode=e,this._modeChanged=e!==SceneMode$1.MORPHING,t=this._mode===SceneMode$1.SCENE2D),t&&(t=(e=this._max2Dfrustum=this.frustum.clone()).top/e.right,e.right=2*this._maxCoord.x,e.left=-e.right,e.top=t*e.right,e.bottom=-e.top),this._mode===SceneMode$1.SCENE2D&&clampMove2D(this,this.position)};var setTransformPosition=new Cartesian3,setTransformUp=new Cartesian3,setTransformDirection=new Cartesian3;Camera.prototype._setTransform=function(e){var t=Cartesian3.clone(this.positionWC,setTransformPosition),i=Cartesian3.clone(this.upWC,setTransformUp),r=Cartesian3.clone(this.directionWC,setTransformDirection);Matrix4.clone(e,this._transform),this._transformChanged=!0,updateMembers(this);e=this._actualInvTransform;Matrix4.multiplyByPoint(e,t,this.position),Matrix4.multiplyByPointAsVector(e,r,this.direction),Matrix4.multiplyByPointAsVector(e,i,this.up),Cartesian3.cross(this.direction,this.up,this.right),updateMembers(this)};var scratchAdjustOrthographicFrustumMousePosition=new Cartesian2,scratchPickRay=new Ray,scratchRayIntersection=new Cartesian3,scratchDepthIntersection=new Cartesian3;function calculateOrthographicFrustumWidth(e){if(!Matrix4.equals(Matrix4.IDENTITY,e.transform))return Cartesian3.magnitude(e.position);var t,i,r=e._scene,n=r.globe,a=scratchAdjustOrthographicFrustumMousePosition;return a.x=r.drawingBufferWidth/2,a.y=r.drawingBufferHeight/2,defined(n)&&(i=e.getPickRay(a,scratchPickRay),i=n.pickWorldCoordinates(i,r,!0,scratchRayIntersection)),r.pickPositionSupported&&(t=r.pickPositionWorldCoordinates(a,scratchDepthIntersection)),defined(i)||defined(t)?(t=defined(t)?Cartesian3.distance(t,e.positionWC):Number.POSITIVE_INFINITY,i=defined(i)?Cartesian3.distance(i,e.positionWC):Number.POSITIVE_INFINITY,Math.min(t,i)):Math.max(e.positionCartographic.height,0)}Camera.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof OrthographicFrustum&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=calculateOrthographicFrustumWidth(this)))};var scratchSetViewCartesian=new Cartesian3,scratchSetViewTransform1=new Matrix4,scratchSetViewTransform2=new Matrix4,scratchSetViewQuaternion=new Quaternion,scratchSetViewMatrix3=new Matrix3,scratchSetViewCartographic=new Cartographic;function setView3D(e,t,i){var r=Matrix4.clone(e.transform,scratchSetViewTransform1),t=Transforms.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,scratchSetViewTransform2);e._setTransform(t),Cartesian3.clone(Cartesian3.ZERO,e.position),i.heading=i.heading-CesiumMath.PI_OVER_TWO;i=Quaternion.fromHeadingPitchRoll(i,scratchSetViewQuaternion),i=Matrix3.fromQuaternion(i,scratchSetViewMatrix3);Matrix3.getColumn(i,0,e.direction),Matrix3.getColumn(i,2,e.up),Cartesian3.cross(e.direction,e.up,e.right),e._setTransform(r),e._adjustOrthographicFrustum(!0)}function setViewCV(e,t,i,r){var n,a=Matrix4.clone(e.transform,scratchSetViewTransform1);e._setTransform(Matrix4.IDENTITY),Cartesian3.equals(t,e.positionWC)||(r&&(r=(n=e._projection).ellipsoid.cartesianToCartographic(t,scratchSetViewCartographic),t=n.project(r,scratchSetViewCartesian)),Cartesian3.clone(t,e.position)),i.heading=i.heading-CesiumMath.PI_OVER_TWO;i=Quaternion.fromHeadingPitchRoll(i,scratchSetViewQuaternion),i=Matrix3.fromQuaternion(i,scratchSetViewMatrix3);Matrix3.getColumn(i,0,e.direction),Matrix3.getColumn(i,2,e.up),Cartesian3.cross(e.direction,e.up,e.right),e._setTransform(a),e._adjustOrthographicFrustum(!0)}function setView2D(e,t,i,r){var n,a,o=Matrix4.clone(e.transform,scratchSetViewTransform1);e._setTransform(Matrix4.IDENTITY),Cartesian3.equals(t,e.positionWC)||(r&&(a=(n=e._projection).ellipsoid.cartesianToCartographic(t,scratchSetViewCartographic),t=n.project(a,scratchSetViewCartesian)),Cartesian2.clone(t,e.position),n=-(r=.5*-t.z),a=e.frustum,r<n&&(t=a.top/a.right,a.right=n,a.left=r,a.top=a.right*t,a.bottom=-a.top)),e._scene.mapMode2D===MapMode2D$1.ROTATE&&(i.heading=i.heading-CesiumMath.PI_OVER_TWO,i.pitch=-CesiumMath.PI_OVER_TWO,i.roll=0,i=Quaternion.fromHeadingPitchRoll(i,scratchSetViewQuaternion),i=Matrix3.fromQuaternion(i,scratchSetViewMatrix3),Matrix3.getColumn(i,2,e.up),Cartesian3.cross(e.direction,e.up,e.right)),e._setTransform(o)}var scratchToHPRDirection=new Cartesian3,scratchToHPRUp=new Cartesian3,scratchToHPRRight=new Cartesian3;function directionUpToHeadingPitchRoll(e,t,i,r){var n=Cartesian3.clone(i.direction,scratchToHPRDirection),i=Cartesian3.clone(i.up,scratchToHPRUp);e._scene.mode===SceneMode$1.SCENE3D&&(a=e._projection.ellipsoid,a=Transforms.eastNorthUpToFixedFrame(t,a,scratchHPRMatrix1),a=Matrix4.inverseTransformation(a,scratchHPRMatrix2),Matrix4.multiplyByPointAsVector(a,n,n),Matrix4.multiplyByPointAsVector(a,i,i));var a=Cartesian3.cross(n,i,scratchToHPRRight);return r.heading=getHeading(n,i),r.pitch=getPitch(n),r.roll=getRoll(n,i,a),r}var scratchSetViewOptions={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},scratchHpr=new HeadingPitchRoll;Camera.prototype.setView=function(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t,i=defaultValue(e.orientation,defaultValue.EMPTY_OBJECT),r=this._mode;r!==SceneMode$1.MORPHING&&(defined(e.endTransform)&&this._setTransform(e.endTransform),t=defaultValue(e.convert,!0),defined(e=defaultValue(e.destination,Cartesian3.clone(this.positionWC,scratchSetViewCartesian)))&&defined(e.west)&&(e=this.getRectangleCameraCoordinates(e,scratchSetViewCartesian),t=!1),defined(i.direction)&&(i=directionUpToHeadingPitchRoll(this,e,i,scratchSetViewOptions.orientation)),scratchHpr.heading=defaultValue(i.heading,0),scratchHpr.pitch=defaultValue(i.pitch,-CesiumMath.PI_OVER_TWO),scratchHpr.roll=defaultValue(i.roll,0),r===SceneMode$1.SCENE3D?setView3D(this,e,scratchHpr):(r===SceneMode$1.SCENE2D?setView2D:setViewCV)(this,e,scratchHpr,t))};var pitchScratch=new Cartesian3;function clampMove2D(e,t){var i,r=e._scene.mapMode2D===MapMode2D$1.ROTATE,n=e._maxCoord.x,e=e._maxCoord.y,r=r?-(i=n):(i=t.x-2*n,t.x+2*n);t.x>n&&(t.x=i),t.x<-n&&(t.x=r),t.y>e&&(t.y=e),t.y<-e&&(t.y=-e)}Camera.prototype.flyHome=function(e){var t,i,r=this._mode;r===SceneMode$1.MORPHING&&this._scene.completeMorph(),r===SceneMode$1.SCENE2D?this.flyTo({destination:Camera.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:Matrix4.IDENTITY}):r===SceneMode$1.SCENE3D?(i=this.getRectangleCameraCoordinates(Camera.DEFAULT_VIEW_RECTANGLE),t=Cartesian3.magnitude(i),t+=t*Camera.DEFAULT_VIEW_FACTOR,Cartesian3.normalize(i,i),Cartesian3.multiplyByScalar(i,t,i),this.flyTo({destination:i,duration:e,endTransform:Matrix4.IDENTITY})):r===SceneMode$1.COLUMBUS_VIEW&&(i=this._projection.ellipsoid.maximumRadius,r=new Cartesian3(0,-1,1),r=Cartesian3.multiplyByScalar(Cartesian3.normalize(r,r),5*i,r),this.flyTo({destination:r,duration:e,orientation:{heading:0,pitch:-Math.acos(Cartesian3.normalize(r,pitchScratch).z),roll:0},endTransform:Matrix4.IDENTITY,convert:!1}))},Camera.prototype.worldToCameraCoordinates=function(e,t){return defined(t)||(t=new Cartesian4),updateMembers(this),Matrix4.multiplyByVector(this._actualInvTransform,e,t)},Camera.prototype.worldToCameraCoordinatesPoint=function(e,t){return defined(t)||(t=new Cartesian3),updateMembers(this),Matrix4.multiplyByPoint(this._actualInvTransform,e,t)},Camera.prototype.worldToCameraCoordinatesVector=function(e,t){return defined(t)||(t=new Cartesian3),updateMembers(this),Matrix4.multiplyByPointAsVector(this._actualInvTransform,e,t)},Camera.prototype.cameraToWorldCoordinates=function(e,t){return defined(t)||(t=new Cartesian4),updateMembers(this),Matrix4.multiplyByVector(this._actualTransform,e,t)},Camera.prototype.cameraToWorldCoordinatesPoint=function(e,t){return defined(t)||(t=new Cartesian3),updateMembers(this),Matrix4.multiplyByPoint(this._actualTransform,e,t)},Camera.prototype.cameraToWorldCoordinatesVector=function(e,t){return defined(t)||(t=new Cartesian3),updateMembers(this),Matrix4.multiplyByPointAsVector(this._actualTransform,e,t)};var moveScratch=new Cartesian3;Camera.prototype.move=function(e,t){var i=this.position;Cartesian3.multiplyByScalar(e,t,moveScratch),Cartesian3.add(i,moveScratch,i),this._mode===SceneMode$1.SCENE2D&&clampMove2D(this,i),this._adjustOrthographicFrustum(!0)},Camera.prototype.moveForward=function(e){e=defaultValue(e,this.defaultMoveAmount),this._mode===SceneMode$1.SCENE2D?zoom2D(this,e):this.move(this.direction,e)},Camera.prototype.moveBackward=function(e){e=defaultValue(e,this.defaultMoveAmount),this._mode===SceneMode$1.SCENE2D?zoom2D(this,-e):this.move(this.direction,-e)},Camera.prototype.moveUp=function(e){e=defaultValue(e,this.defaultMoveAmount),this.move(this.up,e)},Camera.prototype.moveDown=function(e){e=defaultValue(e,this.defaultMoveAmount),this.move(this.up,-e)},Camera.prototype.moveRight=function(e){e=defaultValue(e,this.defaultMoveAmount),this.move(this.right,e)},Camera.prototype.moveLeft=function(e){e=defaultValue(e,this.defaultMoveAmount),this.move(this.right,-e)},Camera.prototype.lookLeft=function(e){e=defaultValue(e,this.defaultLookAmount),this._mode!==SceneMode$1.SCENE2D&&this.look(this.up,-e)},Camera.prototype.lookRight=function(e){e=defaultValue(e,this.defaultLookAmount),this._mode!==SceneMode$1.SCENE2D&&this.look(this.up,e)},Camera.prototype.lookUp=function(e){e=defaultValue(e,this.defaultLookAmount),this._mode!==SceneMode$1.SCENE2D&&this.look(this.right,-e)},Camera.prototype.lookDown=function(e){e=defaultValue(e,this.defaultLookAmount),this._mode!==SceneMode$1.SCENE2D&&this.look(this.right,e)};var lookScratchQuaternion=new Quaternion,lookScratchMatrix=new Matrix3;Camera.prototype.look=function(e,t){var i=defaultValue(t,this.defaultLookAmount),r=Quaternion.fromAxisAngle(e,-i,lookScratchQuaternion),t=Matrix3.fromQuaternion(r,lookScratchMatrix),e=this.direction,i=this.up,r=this.right;Matrix3.multiplyByVector(t,e,e),Matrix3.multiplyByVector(t,i,i),Matrix3.multiplyByVector(t,r,r)},Camera.prototype.twistLeft=function(e){e=defaultValue(e,this.defaultLookAmount),this.look(this.direction,e)},Camera.prototype.twistRight=function(e){e=defaultValue(e,this.defaultLookAmount),this.look(this.direction,-e)};var rotateScratchQuaternion=new Quaternion,rotateScratchMatrix=new Matrix3;Camera.prototype.rotate=function(e,t){t=defaultValue(t,this.defaultRotateAmount),t=Quaternion.fromAxisAngle(e,-t,rotateScratchQuaternion),t=Matrix3.fromQuaternion(t,rotateScratchMatrix);Matrix3.multiplyByVector(t,this.position,this.position),Matrix3.multiplyByVector(t,this.direction,this.direction),Matrix3.multiplyByVector(t,this.up,this.up),Cartesian3.cross(this.direction,this.up,this.right),Cartesian3.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)},Camera.prototype.rotateDown=function(e){rotateVertical(this,e=defaultValue(e,this.defaultRotateAmount))},Camera.prototype.rotateUp=function(e){rotateVertical(this,-(e=defaultValue(e,this.defaultRotateAmount)))};var rotateVertScratchP=new Cartesian3,rotateVertScratchA=new Cartesian3,rotateVertScratchTan=new Cartesian3,rotateVertScratchNegate=new Cartesian3;function rotateVertical(e,t){var i,r,n,a=e.position;defined(e.constrainedAxis)&&!Cartesian3.equalsEpsilon(e.position,Cartesian3.ZERO,CesiumMath.EPSILON2)?(n=Cartesian3.normalize(a,rotateVertScratchP),i=Cartesian3.equalsEpsilon(n,e.constrainedAxis,CesiumMath.EPSILON2),r=Cartesian3.equalsEpsilon(n,Cartesian3.negate(e.constrainedAxis,rotateVertScratchNegate),CesiumMath.EPSILON2),i||r?(i&&t<0||r&&0<t)&&e.rotate(e.right,t):(a=Cartesian3.normalize(e.constrainedAxis,rotateVertScratchA),i=Cartesian3.dot(n,a),r=CesiumMath.acosClamped(i),0<t&&r<t&&(t=r-CesiumMath.EPSILON4),i=Cartesian3.dot(n,Cartesian3.negate(a,rotateVertScratchNegate)),r=CesiumMath.acosClamped(i),t<0&&r<-t&&(t=-r+CesiumMath.EPSILON4),n=Cartesian3.cross(a,n,rotateVertScratchTan),e.rotate(n,t))):e.rotate(e.right,t)}function rotateHorizontal(e,t){defined(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function zoom2D(e,t){var i,r,n,a=e.frustum;t*=.5,Math.abs(a.top)+Math.abs(a.bottom)>Math.abs(a.left)+Math.abs(a.right)?(r=a.top-t,n=a.bottom+t,i=e._maxCoord.y,e._scene.mapMode2D===MapMode2D$1.ROTATE&&(i*=e.maximumZoomFactor),i<n&&(r=-(n=i)),r<=n&&(n=-(r=1)),i=a.right/a.top,a.top=r,a.bottom=n,a.right=a.top*i,a.left=-a.right):(r=a.right-t,n=a.left+t,t=e._maxCoord.x,e._scene.mapMode2D===MapMode2D$1.ROTATE&&(t*=e.maximumZoomFactor),t<r&&(n=-(r=t)),r<=n&&(n=-(r=1)),i=a.top/a.right,a.right=r,a.left=n,a.top=a.right*i,a.bottom=-a.top)}function zoom3D(e,t){e.move(e.direction,t)}Camera.prototype.rotateRight=function(e){rotateHorizontal(this,-(e=defaultValue(e,this.defaultRotateAmount)))},Camera.prototype.rotateLeft=function(e){rotateHorizontal(this,e=defaultValue(e,this.defaultRotateAmount))},Camera.prototype.zoomIn=function(e){e=defaultValue(e,this.defaultZoomAmount),(this._mode===SceneMode$1.SCENE2D?zoom2D:zoom3D)(this,e)},Camera.prototype.zoomOut=function(e){e=defaultValue(e,this.defaultZoomAmount),(this._mode===SceneMode$1.SCENE2D?zoom2D:zoom3D)(this,-e)},Camera.prototype.getMagnitude=function(){return this._mode===SceneMode$1.SCENE3D?Cartesian3.magnitude(this.position):this._mode===SceneMode$1.COLUMBUS_VIEW?Math.abs(this.position.z):this._mode===SceneMode$1.SCENE2D?Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom):void 0};var scratchLookAtMatrix4=new Matrix4;Camera.prototype.lookAt=function(e,t){e=Transforms.eastNorthUpToFixedFrame(e,Ellipsoid.WGS84,scratchLookAtMatrix4);this.lookAtTransform(e,t)};var scratchLookAtHeadingPitchRangeOffset=new Cartesian3,scratchLookAtHeadingPitchRangeQuaternion1=new Quaternion,scratchLookAtHeadingPitchRangeQuaternion2=new Quaternion,scratchHeadingPitchRangeMatrix3=new Matrix3;function offsetFromHeadingPitchRange(e,t,i){t=CesiumMath.clamp(t,-CesiumMath.PI_OVER_TWO,CesiumMath.PI_OVER_TWO),e=CesiumMath.zeroToTwoPi(e)-CesiumMath.PI_OVER_TWO;t=Quaternion.fromAxisAngle(Cartesian3.UNIT_Y,-t,scratchLookAtHeadingPitchRangeQuaternion1),e=Quaternion.fromAxisAngle(Cartesian3.UNIT_Z,-e,scratchLookAtHeadingPitchRangeQuaternion2),t=Quaternion.multiply(e,t,e),e=Matrix3.fromQuaternion(t,scratchHeadingPitchRangeMatrix3),t=Cartesian3.clone(Cartesian3.UNIT_X,scratchLookAtHeadingPitchRangeOffset);return Matrix3.multiplyByVector(e,t,t),Cartesian3.negate(t,t),Cartesian3.multiplyByScalar(t,i,t),t}Camera.prototype.lookAtTransform=function(e,t){if(this._setTransform(e),defined(t)){var i=defined(t.heading)?offsetFromHeadingPitchRange(t.heading,t.pitch,t.range):t;if(this._mode===SceneMode$1.SCENE2D){Cartesian2.clone(Cartesian2.ZERO,this.position),Cartesian3.negate(i,this.up),this.up.z=0,Cartesian3.magnitudeSquared(this.up)<CesiumMath.EPSILON10&&Cartesian3.clone(Cartesian3.UNIT_Y,this.up),Cartesian3.normalize(this.up,this.up),this._setTransform(Matrix4.IDENTITY),Cartesian3.negate(Cartesian3.UNIT_Z,this.direction),Cartesian3.cross(this.direction,this.up,this.right),Cartesian3.normalize(this.right,this.right);var r=this.frustum,t=r.top/r.right;return r.right=.5*Cartesian3.magnitude(i),r.left=-r.right,r.top=t*r.right,r.bottom=-r.top,void this._setTransform(e)}Cartesian3.clone(i,this.position),Cartesian3.negate(this.position,this.direction),Cartesian3.normalize(this.direction,this.direction),Cartesian3.cross(this.direction,Cartesian3.UNIT_Z,this.right),Cartesian3.magnitudeSquared(this.right)<CesiumMath.EPSILON10&&Cartesian3.clone(Cartesian3.UNIT_X,this.right),Cartesian3.normalize(this.right,this.right),Cartesian3.cross(this.right,this.direction,this.up),Cartesian3.normalize(this.up,this.up),this._adjustOrthographicFrustum(!0)}};var viewRectangle3DCartographic1=new Cartographic,viewRectangle3DCartographic2=new Cartographic,viewRectangle3DNorthEast=new Cartesian3,viewRectangle3DSouthWest=new Cartesian3,viewRectangle3DNorthWest=new Cartesian3,viewRectangle3DSouthEast=new Cartesian3,viewRectangle3DNorthCenter=new Cartesian3,viewRectangle3DSouthCenter=new Cartesian3,viewRectangle3DCenter=new Cartesian3,viewRectangle3DEquator=new Cartesian3,defaultRF={direction:new Cartesian3,right:new Cartesian3,up:new Cartesian3},viewRectangle3DEllipsoidGeodesic;function computeD(e,t,i,r){return Math.abs(Cartesian3.dot(t,i))/r-Cartesian3.dot(e,i)}function rectangleCameraPosition3D(e,t,i,r){var n=e._projection.ellipsoid,a=r?e:defaultRF,o=t.north,s=t.south,l=t.east,c=t.west;l<c&&(l+=CesiumMath.TWO_PI);var u=.5*(c+l),d=s<-CesiumMath.PI_OVER_TWO+CesiumMath.RADIANS_PER_DEGREE&&o>CesiumMath.PI_OVER_TWO-CesiumMath.RADIANS_PER_DEGREE?0:((y=viewRectangle3DCartographic1).longitude=u,y.latitude=o,y.height=0,(C=viewRectangle3DCartographic2).longitude=u,C.latitude=s,C.height=0,defined(v=viewRectangle3DEllipsoidGeodesic)&&v.ellipsoid===n||(viewRectangle3DEllipsoidGeodesic=v=new EllipsoidGeodesic(void 0,void 0,n)),v.setEndPoints(y,C),v.interpolateUsingFraction(.5,viewRectangle3DCartographic1).latitude),h=viewRectangle3DCartographic1;h.longitude=u,h.latitude=d,h.height=0;var p=n.cartographicToCartesian(h,viewRectangle3DCenter),m=viewRectangle3DCartographic1;m.longitude=l,m.latitude=o;var f=n.cartographicToCartesian(m,viewRectangle3DNorthEast);m.longitude=c;var g=n.cartographicToCartesian(m,viewRectangle3DNorthWest);m.longitude=u;var _=n.cartographicToCartesian(m,viewRectangle3DNorthCenter);m.latitude=s;r=n.cartographicToCartesian(m,viewRectangle3DSouthCenter);m.longitude=l;t=n.cartographicToCartesian(m,viewRectangle3DSouthEast);m.longitude=c;var y=n.cartographicToCartesian(m,viewRectangle3DSouthWest);Cartesian3.subtract(g,p,g),Cartesian3.subtract(t,p,t),Cartesian3.subtract(f,p,f),Cartesian3.subtract(y,p,y),Cartesian3.subtract(_,p,_),Cartesian3.subtract(r,p,r);var C=n.geodeticSurfaceNormal(p,a.direction);Cartesian3.negate(C,C);var v=Cartesian3.cross(C,Cartesian3.UNIT_Z,a.right);Cartesian3.normalize(v,v);var S,T,d=Cartesian3.cross(v,C,a.up);return e.frustum instanceof OrthographicFrustum?(h=Math.max(Cartesian3.distance(f,g),Cartesian3.distance(t,y)),(a=(u=Math.max(Cartesian3.distance(f,t),Cartesian3.distance(g,y)))*(m=e.frustum._offCenterFrustum.right/e.frustum._offCenterFrustum.top))<h?S=(T=h)/m:(S=u,T=a),T=Math.max(T,S)):(S=Math.tan(.5*e.frustum.fovy),e=e.frustum.aspectRatio*S,T=Math.max(computeD(C,d,g,S),computeD(C,d,t,S),computeD(C,d,f,S),computeD(C,d,y,S),computeD(C,d,_,S),computeD(C,d,r,S),computeD(C,v,g,e),computeD(C,v,t,e),computeD(C,v,f,e),computeD(C,v,y,e),computeD(C,v,_,e),computeD(C,v,r,e)),s<0&&0<o&&((o=viewRectangle3DCartographic1).longitude=c,o.latitude=0,o.height=0,c=n.cartographicToCartesian(o,viewRectangle3DEquator),Cartesian3.subtract(c,p,c),T=Math.max(T,computeD(C,d,c,S),computeD(C,v,c,e)),o.longitude=l,c=n.cartographicToCartesian(o,viewRectangle3DEquator),Cartesian3.subtract(c,p,c),T=Math.max(T,computeD(C,d,c,S),computeD(C,v,c,e)))),Cartesian3.add(p,Cartesian3.multiplyByScalar(C,-T,viewRectangle3DEquator),i)}var viewRectangleCVCartographic=new Cartographic,viewRectangleCVNorthEast=new Cartesian3,viewRectangleCVSouthWest=new Cartesian3;function rectangleCameraPositionColumbusView(e,t,i){var r=e._projection;t.west>t.east&&(t=Rectangle.MAX_VALUE);var n=e._actualTransform,a=e._actualInvTransform,o=viewRectangleCVCartographic;o.longitude=t.east,o.latitude=t.north;var s=r.project(o,viewRectangleCVNorthEast);Matrix4.multiplyByPoint(n,s,s),Matrix4.multiplyByPoint(a,s,s),o.longitude=t.west,o.latitude=t.south;var l,o=r.project(o,viewRectangleCVSouthWest);return Matrix4.multiplyByPoint(n,o,o),Matrix4.multiplyByPoint(a,o,o),i.x=.5*(s.x-o.x)+o.x,i.y=.5*(s.y-o.y)+o.y,defined(e.frustum.fovy)?(l=Math.tan(.5*e.frustum.fovy),e=e.frustum.aspectRatio*l,i.z=.5*Math.max((s.x-o.x)/e,(s.y-o.y)/l)):(l=s.x-o.x,o=s.y-o.y,i.z=Math.max(l,o)),i}var viewRectangle2DCartographic=new Cartographic,viewRectangle2DNorthEast=new Cartesian3,viewRectangle2DSouthWest=new Cartesian3;function rectangleCameraPosition2D(e,t,i){var r=e._projection,n=t.east;t.west>t.east&&(e._scene.mapMode2D===MapMode2D$1.INFINITE_SCROLL?n+=CesiumMath.TWO_PI:n=(t=Rectangle.MAX_VALUE).east);var a=viewRectangle2DCartographic;a.longitude=n,a.latitude=t.north;var o=r.project(a,viewRectangle2DNorthEast);a.longitude=t.west,a.latitude=t.south;var s,l,c=r.project(a,viewRectangle2DSouthWest),u=.5*Math.abs(o.x-c.x),n=.5*Math.abs(o.y-c.y),t=e.frustum.right/e.frustum.top,e=n*t;return e<u?l=(s=u)/t:(l=n,s=e),n=Math.max(2*s,2*l),i.x=.5*(o.x-c.x)+c.x,i.y=.5*(o.y-c.y)+c.y,(a=r.unproject(i,a)).height=n,i=r.project(a,i)}Camera.prototype.getRectangleCameraCoordinates=function(e,t){var i=this._mode;return defined(t)||(t=new Cartesian3),i===SceneMode$1.SCENE3D?rectangleCameraPosition3D(this,e,t):i===SceneMode$1.COLUMBUS_VIEW?rectangleCameraPositionColumbusView(this,e,t):i===SceneMode$1.SCENE2D?rectangleCameraPosition2D(this,e,t):void 0};var pickEllipsoid3DRay=new Ray;function pickEllipsoid3D(e,t,i,r){i=defaultValue(i,Ellipsoid.WGS84);t=e.getPickRay(t,pickEllipsoid3DRay),i=IntersectionTests.rayEllipsoid(t,i);if(i){i=0<i.start?i.start:i.stop;return Ray.getPoint(t,i,r)}}var pickEllipsoid2DRay=new Ray;function pickMap2D(e,t,i,r){t=e.getPickRay(t,pickEllipsoid2DRay).origin,t=Cartesian3.fromElements(t.y,t.z,0,t),t=i.unproject(t);if(!(t.latitude<-CesiumMath.PI_OVER_TWO||t.latitude>CesiumMath.PI_OVER_TWO))return i.ellipsoid.cartographicToCartesian(t,r)}var pickEllipsoidCVRay=new Ray;function pickMapColumbusView(e,t,i,r){e=e.getPickRay(t,pickEllipsoidCVRay),t=-e.origin.x/e.direction.x;Ray.getPoint(e,t,r);t=i.unproject(new Cartesian3(r.y,r.z,0));if(!(t.latitude<-CesiumMath.PI_OVER_TWO||t.latitude>CesiumMath.PI_OVER_TWO||t.longitude<-Math.PI||t.longitude>Math.PI))return i.ellipsoid.cartographicToCartesian(t,r)}Camera.prototype.pickEllipsoid=function(e,t,i){var r=this._scene.canvas;if(0!==r.clientWidth&&0!==r.clientHeight){if(defined(i)||(i=new Cartesian3),t=defaultValue(t,Ellipsoid.WGS84),this._mode===SceneMode$1.SCENE3D)i=pickEllipsoid3D(this,e,t,i);else if(this._mode===SceneMode$1.SCENE2D)i=pickMap2D(this,e,this._projection,i);else{if(this._mode!==SceneMode$1.COLUMBUS_VIEW)return;i=pickMapColumbusView(this,e,this._projection,i)}return i}};var pickPerspCenter=new Cartesian3,pickPerspXDir=new Cartesian3,pickPerspYDir=new Cartesian3;function getPickRayPerspective(e,t,i){var r=e._scene.canvas,n=r.clientWidth,a=r.clientHeight,o=Math.tan(.5*e.frustum.fovy),s=e.frustum.aspectRatio*o,l=e.frustum.near,r=2/n*t.x-1,n=2/a*(a-t.y)-1,a=e.positionWC;Cartesian3.clone(a,i.origin);t=Cartesian3.multiplyByScalar(e.directionWC,l,pickPerspCenter);Cartesian3.add(a,t,t);s=Cartesian3.multiplyByScalar(e.rightWC,r*l*s,pickPerspXDir),o=Cartesian3.multiplyByScalar(e.upWC,n*l*o,pickPerspYDir),s=Cartesian3.add(t,s,i.direction);return Cartesian3.add(s,o,s),Cartesian3.subtract(s,a,s),Cartesian3.normalize(s,s),i}var scratchDirection$1=new Cartesian3;function getPickRayOrthographic(e,t,i){var r=e._scene.canvas,n=r.clientWidth,a=r.clientHeight,r=e.frustum;defined(r._offCenterFrustum)&&(r=r._offCenterFrustum);n=2/n*t.x-1;n*=.5*(r.right-r.left);t=2/a*(a-t.y)-1;t*=.5*(r.top-r.bottom);r=i.origin;return Cartesian3.clone(e.position,r),Cartesian3.multiplyByScalar(e.right,n,scratchDirection$1),Cartesian3.add(scratchDirection$1,r,r),Cartesian3.multiplyByScalar(e.up,t,scratchDirection$1),Cartesian3.add(scratchDirection$1,r,r),Cartesian3.clone(e.directionWC,i.direction),e._mode!==SceneMode$1.COLUMBUS_VIEW&&e._mode!==SceneMode$1.SCENE2D||Cartesian3.fromElements(i.origin.z,i.origin.x,i.origin.y,i.origin),i}Camera.prototype.getPickRay=function(e,t){defined(t)||(t=new Ray);var i=this.frustum;return(defined(i.aspectRatio)&&defined(i.fov)&&defined(i.near)?getPickRayPerspective:getPickRayOrthographic)(this,e,t)};var scratchToCenter$1=new Cartesian3,scratchProj=new Cartesian3;Camera.prototype.distanceToBoundingSphere=function(e){var t=Cartesian3.subtract(this.positionWC,e.center,scratchToCenter$1),t=Cartesian3.multiplyByScalar(this.directionWC,Cartesian3.dot(t,this.directionWC),scratchProj);return Math.max(0,Cartesian3.magnitude(t)-e.radius)};var scratchPixelSize=new Cartesian2;function createAnimationTemplateCV(t,i,e,r,n,a){var o=Cartesian3.clone(i);return e.y>r?o.y-=e.y-r:e.y<-r&&(o.y+=-r-e.y),e.z>n?o.z-=e.z-n:e.z<-n&&(o.z+=-n-e.z),{easingFunction:EasingFunction$1.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:a,update:function(e){e=Cartesian3.lerp(i,o,e.time,new Cartesian3),t.worldToCameraCoordinatesPoint(e,t.position)}}}Camera.prototype.getPixelSize=function(e,t,i){e=this.distanceToBoundingSphere(e),e=this.frustum.getPixelDimensions(t,i,e,this._scene.pixelRatio,scratchPixelSize);return Math.max(e.x,e.y)};var normalScratch$4=new Cartesian3,centerScratch$4=new Cartesian3,posScratch=new Cartesian3,scratchCartesian3Subtract=new Cartesian3;function createAnimationCV(e,t){var i=e.position,r=e.direction,n=e.worldToCameraCoordinatesVector(Cartesian3.UNIT_X,normalScratch$4),a=-Cartesian3.dot(n,i)/Cartesian3.dot(n,r),o=Cartesian3.add(i,Cartesian3.multiplyByScalar(r,a,centerScratch$4),centerScratch$4);e.cameraToWorldCoordinatesPoint(o,o),i=e.cameraToWorldCoordinatesPoint(e.position,posScratch);var s=Math.tan(.5*e.frustum.fovy),n=e.frustum.aspectRatio*s,r=Cartesian3.magnitude(Cartesian3.subtract(i,o,scratchCartesian3Subtract)),a=n*r,n=s*r,s=e._maxCoord.x,r=e._maxCoord.y,a=Math.max(a-s,s),s=Math.max(n-r,r);if(i.z<-a||i.z>a||i.y<-s||i.y>s){n=o.y<-a||o.y>a,r=o.z<-s||o.z>s;if(n||r)return createAnimationTemplateCV(e,i,o,a,s,t)}}Camera.prototype.createCorrectPositionTween=function(e){if(this._mode===SceneMode$1.COLUMBUS_VIEW)return createAnimationCV(this,e)};var scratchFlyToDestination=new Cartesian3,newOptions={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};function distanceToBoundingSphere3D(e,t){var i=e.frustum,e=Math.tan(.5*i.fovy),i=i.aspectRatio*e;return Math.max(t/i,t/e)}function distanceToBoundingSphere2D(e,t){var i,r,n=e.frustum;defined(n._offCenterFrustum)&&(n=n._offCenterFrustum);e=n.right/n.top,n=t*e;return n<t?r=(i=t)/e:(r=t,i=n),1.5*Math.max(i,r)}Camera.prototype.cancelFlight=function(){defined(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)},Camera.prototype.completeFlight=function(){var e;defined(this._currentFlight)&&(this._currentFlight.cancelTween(),(e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}}).destination=newOptions.destination,e.orientation.heading=newOptions.heading,e.orientation.pitch=newOptions.pitch,e.orientation.roll=newOptions.roll,this.setView(e),defined(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0)},Camera.prototype.flyTo=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).destination;if(this._mode!==SceneMode$1.MORPHING){this.cancelFlight();var i=defaultValue(e.orientation,defaultValue.EMPTY_OBJECT);if(defined(i.direction)&&(i=directionUpToHeadingPitchRoll(this,t,i,scratchSetViewOptions.orientation)),defined(e.duration)&&e.duration<=0){var r=scratchSetViewOptions;return r.destination=e.destination,r.orientation.heading=i.heading,r.orientation.pitch=i.pitch,r.orientation.roll=i.roll,r.convert=e.convert,r.endTransform=e.endTransform,this.setView(r),void("function"==typeof e.complete&&e.complete())}var n=defined(t.west);n&&(t=this.getRectangleCameraCoordinates(t,scratchFlyToDestination));var a,o=this;newOptions.destination=t,newOptions.heading=i.heading,newOptions.pitch=i.pitch,newOptions.roll=i.roll,newOptions.duration=e.duration,newOptions.complete=function(){a===o._currentFlight&&(o._currentFlight=void 0),defined(e.complete)&&e.complete()},newOptions.cancel=e.cancel,newOptions.endTransform=e.endTransform,newOptions.convert=!n&&e.convert,newOptions.maximumHeight=e.maximumHeight,newOptions.pitchAdjustHeight=e.pitchAdjustHeight,newOptions.flyOverLongitude=e.flyOverLongitude,newOptions.flyOverLongitudeWeight=e.flyOverLongitudeWeight,newOptions.easingFunction=e.easingFunction;r=this._scene,n=CameraFlightPath.createTween(r,newOptions);0!==n.duration?(a=r.tweens.add(n),this._currentFlight=a,r=this._scene.preloadFlightCamera,this._mode!==SceneMode$1.SCENE2D&&(defined(r)||(r=Camera.clone(this)),r.setView({destination:t,orientation:i}),this._scene.preloadFlightCullingVolume=r.frustum.computeCullingVolume(r.positionWC,r.directionWC,r.upWC))):"function"==typeof n.complete&&n.complete()}};var MINIMUM_ZOOM=100;function adjustBoundingSphereOffset(e,t,i){i=HeadingPitchRange.clone(defined(i)?i:Camera.DEFAULT_OFFSET);var r=e._scene.screenSpaceCameraController.minimumZoomDistance,n=e._scene.screenSpaceCameraController.maximumZoomDistance,a=i.range;return defined(a)&&0!==a||(0===(t=t.radius)?i.range=MINIMUM_ZOOM:e.frustum instanceof OrthographicFrustum||e._mode===SceneMode$1.SCENE2D?i.range=distanceToBoundingSphere2D(e,t):i.range=distanceToBoundingSphere3D(e,t),i.range=CesiumMath.clamp(i.range,r,n)),i}Camera.prototype.viewBoundingSphere=function(e,t){t=adjustBoundingSphereOffset(this,e,t),this.lookAt(e.center,t)};var scratchflyToBoundingSphereTransform=new Matrix4,scratchflyToBoundingSphereDestination=new Cartesian3,scratchflyToBoundingSphereDirection=new Cartesian3,scratchflyToBoundingSphereUp=new Cartesian3,scratchflyToBoundingSphereRight=new Cartesian3,scratchFlyToBoundingSphereCart4=new Cartesian4,scratchFlyToBoundingSphereQuaternion=new Quaternion,scratchFlyToBoundingSphereMatrix3=new Matrix3;Camera.prototype.flyToBoundingSphere=function(e,t){t=defaultValue(t,defaultValue.EMPTY_OBJECT);var i=this._mode===SceneMode$1.SCENE2D||this._mode===SceneMode$1.COLUMBUS_VIEW;this._setTransform(Matrix4.IDENTITY);var r,n,a,o=adjustBoundingSphereOffset(this,e,t.offset),s=i?Cartesian3.multiplyByScalar(Cartesian3.UNIT_Z,o.range,scratchflyToBoundingSphereDestination):offsetFromHeadingPitchRange(o.heading,o.pitch,o.range),l=Transforms.eastNorthUpToFixedFrame(e.center,Ellipsoid.WGS84,scratchflyToBoundingSphereTransform);Matrix4.multiplyByPoint(l,s,s),i||(n=Cartesian3.subtract(e.center,s,scratchflyToBoundingSphereDirection),Cartesian3.normalize(n,n),r=Matrix4.multiplyByPointAsVector(l,Cartesian3.UNIT_Z,scratchflyToBoundingSphereUp),1-Math.abs(Cartesian3.dot(n,r))<CesiumMath.EPSILON6&&(a=Quaternion.fromAxisAngle(n,o.heading,scratchFlyToBoundingSphereQuaternion),a=Matrix3.fromQuaternion(a,scratchFlyToBoundingSphereMatrix3),Cartesian3.fromCartesian4(Matrix4.getColumn(l,1,scratchFlyToBoundingSphereCart4),r),Matrix3.multiplyByVector(a,r,r)),a=Cartesian3.cross(n,r,scratchflyToBoundingSphereRight),Cartesian3.cross(a,n,r),Cartesian3.normalize(r,r)),this.flyTo({destination:s,orientation:{direction:n,up:r},duration:t.duration,complete:t.complete,cancel:t.cancel,endTransform:t.endTransform,maximumHeight:t.maximumHeight,easingFunction:t.easingFunction,flyOverLongitude:t.flyOverLongitude,flyOverLongitudeWeight:t.flyOverLongitudeWeight,pitchAdjustHeight:t.pitchAdjustHeight})};var scratchCartesian3_1=new Cartesian3,scratchCartesian3_2=new Cartesian3,scratchCartesian3_3=new Cartesian3,scratchCartesian3_4=new Cartesian3,horizonPoints=[new Cartesian3,new Cartesian3,new Cartesian3,new Cartesian3];function computeHorizonQuad(e,t){var i=t.radii,r=e.positionWC,n=Cartesian3.multiplyComponents(t.oneOverRadii,r,scratchCartesian3_1),e=Cartesian3.magnitude(n),t=Cartesian3.normalize(n,scratchCartesian3_2),r=Cartesian3.equalsEpsilon(t,Cartesian3.UNIT_Z,CesiumMath.EPSILON10)?(a=new Cartesian3(0,1,0),new Cartesian3(0,0,1)):(a=Cartesian3.normalize(Cartesian3.cross(Cartesian3.UNIT_Z,t,scratchCartesian3_3),scratchCartesian3_3),Cartesian3.normalize(Cartesian3.cross(t,a,scratchCartesian3_4),scratchCartesian3_4)),n=Math.sqrt(Cartesian3.magnitudeSquared(n)-1),t=Cartesian3.multiplyByScalar(t,1/e,scratchCartesian3_1),e=n/e,a=Cartesian3.multiplyByScalar(a,e,scratchCartesian3_2),r=Cartesian3.multiplyByScalar(r,e,scratchCartesian3_3),e=Cartesian3.add(t,r,horizonPoints[0]);Cartesian3.subtract(e,a,e),Cartesian3.multiplyComponents(i,e,e);e=Cartesian3.subtract(t,r,horizonPoints[1]);Cartesian3.subtract(e,a,e),Cartesian3.multiplyComponents(i,e,e);e=Cartesian3.subtract(t,r,horizonPoints[2]);Cartesian3.add(e,a,e),Cartesian3.multiplyComponents(i,e,e);r=Cartesian3.add(t,r,horizonPoints[3]);return Cartesian3.add(r,a,r),Cartesian3.multiplyComponents(i,r,r),horizonPoints}var scratchPickCartesian2=new Cartesian2,scratchRectCartesian=new Cartesian3,cartoArray=[new Cartographic,new Cartographic,new Cartographic,new Cartographic];function addToResult(e,t,i,r,n,a){scratchPickCartesian2.x=e,scratchPickCartesian2.y=t;r=r.pickEllipsoid(scratchPickCartesian2,n,scratchRectCartesian);return defined(r)?(cartoArray[i]=n.cartesianToCartographic(r,cartoArray[i]),1):(cartoArray[i]=n.cartesianToCartographic(a[i],cartoArray[i]),0)}Camera.prototype.computeViewRectangle=function(e,t){e=defaultValue(e,Ellipsoid.WGS84);var i=this.frustum.computeCullingVolume(this.positionWC,this.directionWC,this.upWC),r=new BoundingSphere(Cartesian3.ZERO,e.maximumRadius);if(i.computeVisibility(r)!==Intersect$1.OUTSIDE){var n=this._scene.canvas,a=n.clientWidth,i=n.clientHeight,r=0,n=computeHorizonQuad(this,e);if(r+=addToResult(0,0,0,this,e,n),r+=addToResult(0,i,1,this,e,n),r+=addToResult(a,i,2,this,e,n),(r+=addToResult(a,0,3,this,e,n))<2)return Rectangle.MAX_VALUE;t=Rectangle.fromCartographicArray(cartoArray,t);for(var o=0,s=cartoArray[3].longitude,l=0;l<4;++l){var c=cartoArray[l].longitude,u=Math.abs(c-s);u>CesiumMath.PI?o+=CesiumMath.TWO_PI-u:o+=u,s=c}return CesiumMath.equalsEpsilon(Math.abs(o),CesiumMath.TWO_PI,CesiumMath.EPSILON9)&&(t.west=-CesiumMath.PI,t.east=CesiumMath.PI,0<=cartoArray[0].latitude?t.north=CesiumMath.PI_OVER_TWO:t.south=-CesiumMath.PI_OVER_TWO),t}},Camera.prototype.switchToPerspectiveFrustum=function(){var e;this._mode===SceneMode$1.SCENE2D||this.frustum instanceof PerspectiveFrustum||(e=this._scene,this.frustum=new PerspectiveFrustum,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=CesiumMath.toRadians(60))},Camera.prototype.switchToOrthographicFrustum=function(){var e,t;this._mode===SceneMode$1.SCENE2D||this.frustum instanceof OrthographicFrustum||(e=calculateOrthographicFrustumWidth(this),t=this._scene,this.frustum=new OrthographicFrustum,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e)},Camera.clone=function(e,t){return defined(t)||(t=new Camera(e._scene)),Cartesian3.clone(e.position,t.position),Cartesian3.clone(e.direction,t.direction),Cartesian3.clone(e.up,t.up),Cartesian3.clone(e.right,t.right),Matrix4.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var CameraEventType={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},CameraEventType$1=Object.freeze(CameraEventType);function getKey(e,t){return defined(t)&&(e+="+"+t),e}function clonePinchMovement(e,t){Cartesian2.clone(e.distance.startPosition,t.distance.startPosition),Cartesian2.clone(e.distance.endPosition,t.distance.endPosition),Cartesian2.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),Cartesian2.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function listenToPinch(t,e,n){var a=getKey(CameraEventType$1.PINCH,e),o=t._update,s=t._isDown,i=t._eventStartPosition,r=t._pressTime,l=t._releaseTime;o[a]=!0,s[a]=!1,i[a]=new Cartesian2;var c=t._movement[a];defined(c)||(c=t._movement[a]={}),c.distance={startPosition:new Cartesian2,endPosition:new Cartesian2},c.angleAndHeight={startPosition:new Cartesian2,endPosition:new Cartesian2},c.prevAngle=0,t._eventHandler.setInputAction(function(e){t._buttonsDown++,s[a]=!0,r[a]=new Date,Cartesian2.lerp(e.position1,e.position2,.5,i[a])},ScreenSpaceEventType$1.PINCH_START,e),t._eventHandler.setInputAction(function(){t._buttonsDown=Math.max(t._buttonsDown-1,0),s[a]=!1,l[a]=new Date},ScreenSpaceEventType$1.PINCH_END,e),t._eventHandler.setInputAction(function(e){if(s[a]){o[a]?(clonePinchMovement(e,c),o[a]=!1,c.prevAngle=c.angleAndHeight.startPosition.x):(Cartesian2.clone(e.distance.endPosition,c.distance.endPosition),Cartesian2.clone(e.angleAndHeight.endPosition,c.angleAndHeight.endPosition));for(var t=c.angleAndHeight.endPosition.x,i=c.prevAngle,r=2*Math.PI;t>=i+Math.PI;)t-=r;for(;t<i-Math.PI;)t+=r;c.angleAndHeight.endPosition.x=-t*n.clientWidth/12,c.angleAndHeight.startPosition.x=-i*n.clientWidth/12}},ScreenSpaceEventType$1.PINCH_MOVE,e)}function listenToWheel(e,t){var i=getKey(CameraEventType$1.WHEEL,t),r=e._update;r[i]=!0;var n=e._movement[i];defined(n)||(n=e._movement[i]={}),n.startPosition=new Cartesian2,n.endPosition=new Cartesian2,e._eventHandler.setInputAction(function(e){e=15*CesiumMath.toRadians(e);r[i]?(Cartesian2.clone(Cartesian2.ZERO,n.startPosition),n.endPosition.x=0,n.endPosition.y=e,r[i]=!1):n.endPosition.y=n.endPosition.y+e},ScreenSpaceEventType$1.WHEEL,t)}function listenMouseButtonDownUp(t,e,i){var r=getKey(i,e),n=t._isDown,a=t._eventStartPosition,o=t._pressTime,s=t._releaseTime;n[r]=!1,a[r]=new Cartesian2;var l,c,u=t._lastMovement[r];defined(u)||(u=t._lastMovement[r]={startPosition:new Cartesian2,endPosition:new Cartesian2,valid:!1}),i===CameraEventType$1.LEFT_DRAG?(l=ScreenSpaceEventType$1.LEFT_DOWN,c=ScreenSpaceEventType$1.LEFT_UP):i===CameraEventType$1.RIGHT_DRAG?(l=ScreenSpaceEventType$1.RIGHT_DOWN,c=ScreenSpaceEventType$1.RIGHT_UP):i===CameraEventType$1.MIDDLE_DRAG&&(l=ScreenSpaceEventType$1.MIDDLE_DOWN,c=ScreenSpaceEventType$1.MIDDLE_UP),t._eventHandler.setInputAction(function(e){t._buttonsDown++,u.valid=!1,n[r]=!0,o[r]=new Date,Cartesian2.clone(e.position,a[r])},l,e),t._eventHandler.setInputAction(function(){t._buttonsDown=Math.max(t._buttonsDown-1,0),n[r]=!1,s[r]=new Date},c,e)}function cloneMouseMovement(e,t){Cartesian2.clone(e.startPosition,t.startPosition),Cartesian2.clone(e.endPosition,t.endPosition)}function listenMouseMove(r,n){var e,t,a=r._update,o=r._movement,s=r._lastMovement,l=r._isDown;for(e in CameraEventType$1)!CameraEventType$1.hasOwnProperty(e)||defined(t=CameraEventType$1[e])&&(t=getKey(t,n),a[t]=!0,defined(r._lastMovement[t])||(r._lastMovement[t]={startPosition:new Cartesian2,endPosition:new Cartesian2,valid:!1}),defined(r._movement[t])||(r._movement[t]={startPosition:new Cartesian2,endPosition:new Cartesian2}));r._eventHandler.setInputAction(function(e){for(var t in CameraEventType$1){var i;!CameraEventType$1.hasOwnProperty(t)||defined(i=CameraEventType$1[t])&&(i=getKey(i,n),l[i]&&(a[i]?(cloneMouseMovement(o[i],s[i]),s[i].valid=!0,cloneMouseMovement(e,o[i]),a[i]=!1):Cartesian2.clone(e.endPosition,o[i].endPosition)))}Cartesian2.clone(e.endPosition,r._currentMousePosition)},ScreenSpaceEventType$1.MOUSE_MOVE,n)}function CameraEventAggregator(e){for(var t in this._eventHandler=new ScreenSpaceEventHandler(e),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new Cartesian2,listenToWheel(this,void 0),listenToPinch(this,void 0,e),listenMouseButtonDownUp(this,void 0,CameraEventType$1.LEFT_DRAG),listenMouseButtonDownUp(this,void 0,CameraEventType$1.RIGHT_DRAG),listenMouseButtonDownUp(this,void 0,CameraEventType$1.MIDDLE_DRAG),listenMouseMove(this,void 0),KeyboardEventModifier$1){var i;!KeyboardEventModifier$1.hasOwnProperty(t)||defined(i=KeyboardEventModifier$1[t])&&(listenToWheel(this,i),listenToPinch(this,i,e),listenMouseButtonDownUp(this,i,CameraEventType$1.LEFT_DRAG),listenMouseButtonDownUp(this,i,CameraEventType$1.RIGHT_DRAG),listenMouseButtonDownUp(this,i,CameraEventType$1.MIDDLE_DRAG),listenMouseMove(this,i))}}function Cesium3DTileContent(e,t,i,r,n){this.featurePropertiesDirty=!1}function Cesium3DTilePassState(e){this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}function ConditionsExpression(e,t){this._conditionsExpression=clone(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,setRuntime(this,t)}function Statement(e,t){this.condition=e,this.expression=t}function setRuntime(e,t){var i=[],r=e._conditions;if(defined(r)){for(var n=r.length,a=0;a<n;++a){var o=r[a],s=String(o[0]),o=String(o[1]);i.push(new Statement(new Expression(s,t),new Expression(o,t)))}e._runtimeConditions=i}}function Cesium3DTileStyle(e){this._style={},this._ready=!1,this._show=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._labelColor=void 0,this._labelOutlineColor=void 0,this._labelOutlineWidth=void 0,this._font=void 0,this._labelStyle=void 0,this._labelText=void 0,this._backgroundColor=void 0,this._backgroundPadding=void 0,this._backgroundEnabled=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._distanceDisplayCondition=void 0,this._heightOffset=void 0,this._anchorLineEnabled=void 0,this._anchorLineColor=void 0,this._image=void 0,this._disableDepthTestDistance=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._labelHorizontalOrigin=void 0,this._labelVerticalOrigin=void 0,this._meta=void 0,this._colorShaderFunction=void 0,this._showShaderFunction=void 0,this._pointSizeShaderFunction=void 0,this._colorShaderFunctionReady=!1,this._showShaderFunctionReady=!1,this._pointSizeShaderFunctionReady=!1,this._colorShaderTranslucent=!1,e="string"==typeof e||e instanceof Resource?Resource.createIfNeeded(e).fetchJson(e):when.resolve(e);var t=this;this._readyPromise=e.then(function(e){return setup(t,e),t})}function setup(e,t){t=defaultValue(clone(t,!0),e._style),e._style=t,e.show=t.show,e.color=t.color,e.pointSize=t.pointSize,e.pointOutlineColor=t.pointOutlineColor,e.pointOutlineWidth=t.pointOutlineWidth,e.labelColor=t.labelColor,e.labelOutlineColor=t.labelOutlineColor,e.labelOutlineWidth=t.labelOutlineWidth,e.labelStyle=t.labelStyle,e.font=t.font,e.labelText=t.labelText,e.backgroundColor=t.backgroundColor,e.backgroundPadding=t.backgroundPadding,e.backgroundEnabled=t.backgroundEnabled,e.scaleByDistance=t.scaleByDistance,e.translucencyByDistance=t.translucencyByDistance,e.distanceDisplayCondition=t.distanceDisplayCondition,e.heightOffset=t.heightOffset,e.anchorLineEnabled=t.anchorLineEnabled,e.anchorLineColor=t.anchorLineColor,e.image=t.image,e.disableDepthTestDistance=t.disableDepthTestDistance,e.horizontalOrigin=t.horizontalOrigin,e.verticalOrigin=t.verticalOrigin,e.labelHorizontalOrigin=t.labelHorizontalOrigin,e.labelVerticalOrigin=t.labelVerticalOrigin;var i={};if(defined(t.meta)){var r,n=t.defines,a=defaultValue(t.meta,defaultValue.EMPTY_OBJECT);for(r in a)a.hasOwnProperty(r)&&(i[r]=new Expression(a[r],n))}e._meta=i,e._ready=!0}function getExpression(e,t){e=defaultValue(e._style,defaultValue.EMPTY_OBJECT).defines;if(defined(t))return"boolean"==typeof t||"number"==typeof t?new Expression(String(t)):"string"==typeof t?new Expression(t,e):defined(t.conditions)?new ConditionsExpression(t,e):t}function getJsonFromExpression(e){if(defined(e))return defined(e.expression)?e.expression:defined(e.conditionsExpression)?clone(e.conditionsExpression,!0):e}function CircleEmitter(e){e=defaultValue(e,1),this._radius=defaultValue(e,1)}function computeFlyToLocationForRectangle(t,i){var r=i.terrainProvider,e=i.mapProjection,n=e.ellipsoid,a=i.camera.getRectangleCameraCoordinates(t),o=i.mode===SceneMode$1.SCENE3D?n.cartesianToCartographic(a):e.unproject(a);return defined(r)?r.readyPromise.then(function(){if(!defined(r.availability)||i.mode===SceneMode$1.SCENE2D)return o;var e=[Rectangle.center(t),Rectangle.southeast(t),Rectangle.southwest(t),Rectangle.northeast(t),Rectangle.northwest(t)];return computeFlyToLocationForRectangle._sampleTerrainMostDetailed(r,e).then(function(e){var t=e.reduce(function(e,t){return Math.max(t.height,e)},-Number.MAX_VALUE),e=o;return e.height+=t,e})}):when.resolve(o)}Object.defineProperties(CameraEventAggregator.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){var e=!(this._update[getKey(CameraEventType$1.WHEEL)]&&this._update[getKey(CameraEventType$1.WHEEL,KeyboardEventModifier$1.SHIFT)]&&this._update[getKey(CameraEventType$1.WHEEL,KeyboardEventModifier$1.CTRL)]&&this._update[getKey(CameraEventType$1.WHEEL,KeyboardEventModifier$1.ALT)]);return 0<this._buttonsDown||e}}}),CameraEventAggregator.prototype.isMoving=function(e,t){t=getKey(e,t);return!this._update[t]},CameraEventAggregator.prototype.getMovement=function(e,t){t=getKey(e,t);return this._movement[t]},CameraEventAggregator.prototype.getLastMovement=function(e,t){t=getKey(e,t),t=this._lastMovement[t];if(t.valid)return t},CameraEventAggregator.prototype.isButtonDown=function(e,t){t=getKey(e,t);return this._isDown[t]},CameraEventAggregator.prototype.getStartMousePosition=function(e,t){if(e===CameraEventType$1.WHEEL)return this._currentMousePosition;t=getKey(e,t);return this._eventStartPosition[t]},CameraEventAggregator.prototype.getButtonPressTime=function(e,t){t=getKey(e,t);return this._pressTime[t]},CameraEventAggregator.prototype.getButtonReleaseTime=function(e,t){t=getKey(e,t);return this._releaseTime[t]},CameraEventAggregator.prototype.reset=function(){for(var e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)},CameraEventAggregator.prototype.isDestroyed=function(){return!1},CameraEventAggregator.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),destroyObject(this)},Object.defineProperties(Cesium3DTileContent.prototype,{featuresLength:{get:function(){DeveloperError.throwInstantiationError()}},pointsLength:{get:function(){DeveloperError.throwInstantiationError()}},trianglesLength:{get:function(){DeveloperError.throwInstantiationError()}},geometryByteLength:{get:function(){DeveloperError.throwInstantiationError()}},texturesByteLength:{get:function(){DeveloperError.throwInstantiationError()}},batchTableByteLength:{get:function(){DeveloperError.throwInstantiationError()}},innerContents:{get:function(){DeveloperError.throwInstantiationError()}},readyPromise:{get:function(){DeveloperError.throwInstantiationError()}},tileset:{get:function(){DeveloperError.throwInstantiationError()}},tile:{get:function(){DeveloperError.throwInstantiationError()}},url:{get:function(){DeveloperError.throwInstantiationError()}},batchTable:{get:function(){DeveloperError.throwInstantiationError()}}}),Cesium3DTileContent.prototype.hasProperty=function(e,t){DeveloperError.throwInstantiationError()},Cesium3DTileContent.prototype.getFeature=function(e){DeveloperError.throwInstantiationError()},Cesium3DTileContent.prototype.applyDebugSettings=function(e,t){DeveloperError.throwInstantiationError()},Cesium3DTileContent.prototype.applyStyle=function(e){DeveloperError.throwInstantiationError()},Cesium3DTileContent.prototype.update=function(e,t){DeveloperError.throwInstantiationError()},Cesium3DTileContent.prototype.isDestroyed=function(){DeveloperError.throwInstantiationError()},Cesium3DTileContent.prototype.destroy=function(){DeveloperError.throwInstantiationError()},Object.defineProperties(ConditionsExpression.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}}),ConditionsExpression.prototype.evaluate=function(e,t){var i=this._runtimeConditions;if(defined(i))for(var r=i.length,n=0;n<r;++n){var a=i[n];if(a.condition.evaluate(e))return a.expression.evaluate(e,t)}},ConditionsExpression.prototype.evaluateColor=function(e,t){var i=this._runtimeConditions;if(defined(i))for(var r=i.length,n=0;n<r;++n){var a=i[n];if(a.condition.evaluate(e))return a.expression.evaluateColor(e,t)}},ConditionsExpression.prototype.getShaderFunction=function(e,t,i,r){var n=this._runtimeConditions;if(defined(n)&&0!==n.length){for(var a="",o=n.length,s=0;s<o;++s){var l=n[s];a+=" "+(0===s?"if":"else if")+" ("+l.condition.getShaderExpression(t,i)+") \n { \n return "+l.expression.getShaderExpression(t,i)+"; \n } \n"}return a=r+" "+e+"() \n{ \n"+a+" return "+r+"(1.0); \n} \n"}},Object.defineProperties(Cesium3DTileStyle.prototype,{style:{get:function(){return this._style}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},show:{get:function(){return this._show},set:function(e){this._show=getExpression(this,e),this._style.show=getJsonFromExpression(this._show),this._showShaderFunctionReady=!1}},color:{get:function(){return this._color},set:function(e){this._color=getExpression(this,e),this._style.color=getJsonFromExpression(this._color),this._colorShaderFunctionReady=!1}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=getExpression(this,e),this._style.pointSize=getJsonFromExpression(this._pointSize),this._pointSizeShaderFunctionReady=!1}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=getExpression(this,e),this._style.pointOutlineColor=getJsonFromExpression(this._pointOutlineColor)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=getExpression(this,e),this._style.pointOutlineWidth=getJsonFromExpression(this._pointOutlineWidth)}},labelColor:{get:function(){return this._labelColor},set:function(e){this._labelColor=getExpression(this,e),this._style.labelColor=getJsonFromExpression(this._labelColor)}},labelOutlineColor:{get:function(){return this._labelOutlineColor},set:function(e){this._labelOutlineColor=getExpression(this,e),this._style.labelOutlineColor=getJsonFromExpression(this._labelOutlineColor)}},labelOutlineWidth:{get:function(){return this._labelOutlineWidth},set:function(e){this._labelOutlineWidth=getExpression(this,e),this._style.labelOutlineWidth=getJsonFromExpression(this._labelOutlineWidth)}},font:{get:function(){return this._font},set:function(e){this._font=getExpression(this,e),this._style.font=getJsonFromExpression(this._font)}},labelStyle:{get:function(){return this._labelStyle},set:function(e){this._labelStyle=getExpression(this,e),this._style.labelStyle=getJsonFromExpression(this._labelStyle)}},labelText:{get:function(){return this._labelText},set:function(e){this._labelText=getExpression(this,e),this._style.labelText=getJsonFromExpression(this._labelText)}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=getExpression(this,e),this._style.backgroundColor=getJsonFromExpression(this._backgroundColor)}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){this._backgroundPadding=getExpression(this,e),this._style.backgroundPadding=getJsonFromExpression(this._backgroundPadding)}},backgroundEnabled:{get:function(){return this._backgroundEnabled},set:function(e){this._backgroundEnabled=getExpression(this,e),this._style.backgroundEnabled=getJsonFromExpression(this._backgroundEnabled)}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){this._scaleByDistance=getExpression(this,e),this._style.scaleByDistance=getJsonFromExpression(this._scaleByDistance)}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){this._translucencyByDistance=getExpression(this,e),this._style.translucencyByDistance=getJsonFromExpression(this._translucencyByDistance)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=getExpression(this,e),this._style.distanceDisplayCondition=getJsonFromExpression(this._distanceDisplayCondition)}},heightOffset:{get:function(){return this._heightOffset},set:function(e){this._heightOffset=getExpression(this,e),this._style.heightOffset=getJsonFromExpression(this._heightOffset)}},anchorLineEnabled:{get:function(){return this._anchorLineEnabled},set:function(e){this._anchorLineEnabled=getExpression(this,e),this._style.anchorLineEnabled=getJsonFromExpression(this._anchorLineEnabled)}},anchorLineColor:{get:function(){return this._anchorLineColor},set:function(e){this._anchorLineColor=getExpression(this,e),this._style.anchorLineColor=getJsonFromExpression(this._anchorLineColor)}},image:{get:function(){return this._image},set:function(e){this._image=getExpression(this,e),this._style.image=getJsonFromExpression(this._image)}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance=getExpression(this,e),this._style.disableDepthTestDistance=getJsonFromExpression(this._disableDepthTestDistance)}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin=getExpression(this,e),this._style.horizontalOrigin=getJsonFromExpression(this._horizontalOrigin)}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin=getExpression(this,e),this._style.verticalOrigin=getJsonFromExpression(this._verticalOrigin)}},labelHorizontalOrigin:{get:function(){return this._labelHorizontalOrigin},set:function(e){this._labelHorizontalOrigin=getExpression(this,e),this._style.labelHorizontalOrigin=getJsonFromExpression(this._labelHorizontalOrigin)}},labelVerticalOrigin:{get:function(){return this._labelVerticalOrigin},set:function(e){this._labelVerticalOrigin=getExpression(this,e),this._style.labelVerticalOrigin=getJsonFromExpression(this._labelVerticalOrigin)}},meta:{get:function(){return this._meta},set:function(e){this._meta=e}}}),Cesium3DTileStyle.prototype.getColorShaderFunction=function(e,t,i){return this._colorShaderFunctionReady?i.translucent=this._colorShaderTranslucent:(this._colorShaderFunctionReady=!0,this._colorShaderFunction=defined(this.color)?this.color.getShaderFunction(e,t,i,"vec4"):void 0,this._colorShaderTranslucent=i.translucent),this._colorShaderFunction},Cesium3DTileStyle.prototype.getShowShaderFunction=function(e,t,i){return this._showShaderFunctionReady||(this._showShaderFunctionReady=!0,this._showShaderFunction=defined(this.show)?this.show.getShaderFunction(e,t,i,"bool"):void 0),this._showShaderFunction},Cesium3DTileStyle.prototype.getPointSizeShaderFunction=function(e,t,i){return this._pointSizeShaderFunctionReady||(this._pointSizeShaderFunctionReady=!0,this._pointSizeShaderFunction=defined(this.pointSize)?this.pointSize.getShaderFunction(e,t,i,"float"):void 0),this._pointSizeShaderFunction},Object.defineProperties(CircleEmitter.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}}),CircleEmitter.prototype.emit=function(e){var t=CesiumMath.randomBetween(0,CesiumMath.TWO_PI),i=CesiumMath.randomBetween(0,this._radius),r=i*Math.cos(t),t=i*Math.sin(t);e.position=Cartesian3.fromElements(r,t,0,e.position),e.velocity=Cartesian3.clone(Cartesian3.UNIT_Z,e.velocity)},computeFlyToLocationForRectangle._sampleTerrainMostDetailed=sampleTerrainMostDetailed;var defaultAngle=CesiumMath.toRadians(30);function ConeEmitter(e){this._angle=defaultValue(e,defaultAngle)}function createOsmBuildings(e){var t=new Cesium3DTileset(e=combine(e,{url:IonResource.fromAssetId(96188)})),i=e.style;return defined(i)||(i=new Cesium3DTileStyle({color:"Boolean(${feature['cesium#color']}) ? color(${feature['cesium#color']}) : "+defaultValue(e.defaultColor,Color.WHITE).toCssColorString()})),t.style=i,t}function createTangentSpaceDebugPrimitive(e){var t=[],i=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).geometry;defined(i.attributes)&&defined(i.primitiveType)||(i=i.constructor.createGeometry(i));var r=i.attributes,n=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),e=defaultValue(e.length,1e4);if(defined(r.normal)&&t.push(new GeometryInstance({geometry:GeometryPipeline.createLineSegmentsForVectors(i,"normal",e),attributes:{color:new ColorGeometryInstanceAttribute(1,0,0,1)},modelMatrix:n})),defined(r.tangent)&&t.push(new GeometryInstance({geometry:GeometryPipeline.createLineSegmentsForVectors(i,"tangent",e),attributes:{color:new ColorGeometryInstanceAttribute(0,1,0,1)},modelMatrix:n})),defined(r.bitangent)&&t.push(new GeometryInstance({geometry:GeometryPipeline.createLineSegmentsForVectors(i,"bitangent",e),attributes:{color:new ColorGeometryInstanceAttribute(0,0,1,1)},modelMatrix:n})),0<t.length)return new Primitive({asynchronous:!1,geometryInstances:t,appearance:new PerInstanceColorAppearance({flat:!0,translucent:!1})})}Object.defineProperties(ConeEmitter.prototype,{angle:{get:function(){return this._angle},set:function(e){this._angle=e}}}),ConeEmitter.prototype.emit=function(e){var t=Math.tan(this._angle),i=CesiumMath.randomBetween(0,CesiumMath.TWO_PI),r=CesiumMath.randomBetween(0,t),t=r*Math.cos(i),i=r*Math.sin(i);e.velocity=Cartesian3.fromElements(t,i,1,e.velocity),Cartesian3.normalize(e.velocity,e.velocity),e.position=Cartesian3.clone(Cartesian3.ZERO,e.position)};var templateRegex=/{[^}]+}/g,tags={x:xTag,y:yTag,z:zTag,s:sTag,reverseX:reverseXTag,reverseY:reverseYTag,reverseZ:reverseZTag,westDegrees:westDegreesTag,southDegrees:southDegreesTag,eastDegrees:eastDegreesTag,northDegrees:northDegreesTag,westProjected:westProjectedTag,southProjected:southProjectedTag,eastProjected:eastProjectedTag,northProjected:northProjectedTag,width:widthTag,height:heightTag},pickFeaturesTags=combine(tags,{i:iTag,j:jTag,reverseI:reverseITag,reverseJ:reverseJTag,longitudeDegrees:longitudeDegreesTag,latitudeDegrees:latitudeDegreesTag,longitudeProjected:longitudeProjectedTag,latitudeProjected:latitudeProjectedTag,format:formatTag});function UrlTemplateImageryProvider(e){this._errorEvent=new Event,this._resource=void 0,this._urlSchemeZeroPadding=void 0,this._pickFeaturesResource=void 0,this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._minimumLevel=void 0,this._tilingScheme=void 0,this._rectangle=void 0,this._tileDiscardPolicy=void 0,this._credit=void 0,this._hasAlphaChannel=void 0,this._readyPromise=void 0,this._tags=void 0,this._pickFeaturesTags=void 0,this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this.enablePickFeatures=!0,this.reinitialize(e)}Object.defineProperties(UrlTemplateImageryProvider.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return defined(this._resource)}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}}}),UrlTemplateImageryProvider.prototype.reinitialize=function(e){var a=this;a._readyPromise=when(e).then(function(e){var t=e.customTags,i=combine(tags,t),r=combine(pickFeaturesTags,t),n=Resource.createIfNeeded(e.url),t=Resource.createIfNeeded(e.pickFeaturesUrl);a.enablePickFeatures=defaultValue(e.enablePickFeatures,a.enablePickFeatures),a._urlSchemeZeroPadding=defaultValue(e.urlSchemeZeroPadding,a.urlSchemeZeroPadding),a._tileDiscardPolicy=e.tileDiscardPolicy,a._getFeatureInfoFormats=e.getFeatureInfoFormats,a._subdomains=e.subdomains,Array.isArray(a._subdomains)?a._subdomains=a._subdomains.slice():defined(a._subdomains)&&0<a._subdomains.length?a._subdomains=a._subdomains.split(""):a._subdomains=["a","b","c"],a._tileWidth=defaultValue(e.tileWidth,256),a._tileHeight=defaultValue(e.tileHeight,256),a._minimumLevel=defaultValue(e.minimumLevel,0),a._maximumLevel=e.maximumLevel,a._tilingScheme=defaultValue(e.tilingScheme,new WebMercatorTilingScheme({ellipsoid:e.ellipsoid})),a._rectangle=defaultValue(e.rectangle,a._tilingScheme.rectangle),a._rectangle=Rectangle.intersection(a._rectangle,a._tilingScheme.rectangle),a._hasAlphaChannel=defaultValue(e.hasAlphaChannel,!0);e=e.credit;return"string"==typeof e&&(e=new Credit(e)),a._credit=e,a._resource=n,a._tags=i,a._pickFeaturesResource=t,a._pickFeaturesTags=r,!0})},UrlTemplateImageryProvider.prototype.getTileCredits=function(e,t,i){},UrlTemplateImageryProvider.prototype.requestImage=function(e,t,i,r){return ImageryProvider.loadImage(this,buildImageResource$2(this,e,t,i,r))},UrlTemplateImageryProvider.prototype.pickFeatures=function(r,n,a,o,s){if(this.enablePickFeatures&&defined(this._pickFeaturesResource)&&0!==this._getFeatureInfoFormats.length){var l=0,c=this;return function e(){if(l>=c._getFeatureInfoFormats.length)return when([]);var t=c._getFeatureInfoFormats[l],i=buildPickFeaturesResource(c,r,n,a,o,s,t.format);return++l,("json"===t.type?i.fetchJson().then(t.callback):"xml"===t.type?i.fetchXML().then(t.callback):"text"===t.type||"html"===t.type?i.fetchText().then(t.callback):i.fetch({responseType:t.format}).then(function(e,t){return e.callback(t)}.bind(void 0,t))).otherwise(e)}()}};var degreesScratchComputed=!1,degreesScratch=new Rectangle,projectedScratchComputed=!1,projectedScratch=new Rectangle;function buildImageResource$2(t,i,r,n,e){projectedScratchComputed=degreesScratchComputed=!1;var a=t._resource,o=a.getUrlComponent(!0),s=t._tags,l={},o=o.match(templateRegex);return defined(o)&&o.forEach(function(e){e=e.substring(1,e.length-1);defined(s[e])&&(l[e]=s[e](t,i,r,n))}),a.getDerivedResource({request:e,templateValues:l})}var ijScratchComputed=!1,ijScratch=new Cartesian2,longitudeLatitudeProjectedScratchComputed=!1;function buildPickFeaturesResource(t,i,r,n,a,o,s){longitudeLatitudeProjectedScratchComputed=ijScratchComputed=projectedScratchComputed=degreesScratchComputed=!1;var e=t._pickFeaturesResource,l=e.getUrlComponent(!0),c=t._pickFeaturesTags,u={},l=l.match(templateRegex);return defined(l)&&l.forEach(function(e){e=e.substring(1,e.length-1);defined(c[e])&&(u[e]=c[e](t,i,r,n,a,o,s))}),e.getDerivedResource({templateValues:u})}function padWithZerosIfNecessary(e,t,i){return e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)&&("string"!=typeof(t=e.urlSchemeZeroPadding[t])||1<(t=t.length)&&(i=i.length>=t?i:new Array(t-i.toString().length+1).join("0")+i)),i}function xTag(e,t,i,r){return padWithZerosIfNecessary(e,"{x}",t)}function reverseXTag(e,t,i,r){t=e.tilingScheme.getNumberOfXTilesAtLevel(r)-t-1;return padWithZerosIfNecessary(e,"{reverseX}",t)}function yTag(e,t,i,r){return padWithZerosIfNecessary(e,"{y}",i)}function reverseYTag(e,t,i,r){i=e.tilingScheme.getNumberOfYTilesAtLevel(r)-i-1;return padWithZerosIfNecessary(e,"{reverseY}",i)}function reverseZTag(e,t,i,r){var n=e.maximumLevel;return padWithZerosIfNecessary(e,"{reverseZ}",defined(n)&&r<n?n-r-1:r)}function zTag(e,t,i,r){return padWithZerosIfNecessary(e,"{z}",r)}function sTag(e,t,i,r){r=(t+i+r)%e._subdomains.length;return e._subdomains[r]}function computeDegrees(e,t,i,r){degreesScratchComputed||(e.tilingScheme.tileXYToRectangle(t,i,r,degreesScratch),degreesScratch.west=CesiumMath.toDegrees(degreesScratch.west),degreesScratch.south=CesiumMath.toDegrees(degreesScratch.south),degreesScratch.east=CesiumMath.toDegrees(degreesScratch.east),degreesScratch.north=CesiumMath.toDegrees(degreesScratch.north),degreesScratchComputed=!0)}function westDegreesTag(e,t,i,r){return computeDegrees(e,t,i,r),degreesScratch.west}function southDegreesTag(e,t,i,r){return computeDegrees(e,t,i,r),degreesScratch.south}function eastDegreesTag(e,t,i,r){return computeDegrees(e,t,i,r),degreesScratch.east}function northDegreesTag(e,t,i,r){return computeDegrees(e,t,i,r),degreesScratch.north}function computeProjected(e,t,i,r){projectedScratchComputed||(e.tilingScheme.tileXYToNativeRectangle(t,i,r,projectedScratch),projectedScratchComputed=!0)}function westProjectedTag(e,t,i,r){return computeProjected(e,t,i,r),projectedScratch.west}function southProjectedTag(e,t,i,r){return computeProjected(e,t,i,r),projectedScratch.south}function eastProjectedTag(e,t,i,r){return computeProjected(e,t,i,r),projectedScratch.east}function northProjectedTag(e,t,i,r){return computeProjected(e,t,i,r),projectedScratch.north}function widthTag(e,t,i,r){return e.tileWidth}function heightTag(e,t,i,r){return e.tileHeight}function iTag(e,t,i,r,n,a,o){return computeIJ(e,t,i,r,n,a),ijScratch.x}function jTag(e,t,i,r,n,a,o){return computeIJ(e,t,i,r,n,a),ijScratch.y}function reverseITag(e,t,i,r,n,a,o){return computeIJ(e,t,i,r,n,a),e.tileWidth-ijScratch.x-1}function reverseJTag(e,t,i,r,n,a,o){return computeIJ(e,t,i,r,n,a),e.tileHeight-ijScratch.y-1}var rectangleScratch$6=new Rectangle,longitudeLatitudeProjectedScratch=new Cartesian3;function computeIJ(e,t,i,r,n,a,o){ijScratchComputed||(computeLongitudeLatitudeProjected(e,t,i,r,n,a),a=longitudeLatitudeProjectedScratch,r=e.tilingScheme.tileXYToNativeRectangle(t,i,r,rectangleScratch$6),ijScratch.x=e.tileWidth*(a.x-r.west)/r.width|0,ijScratch.y=e.tileHeight*(r.north-a.y)/r.height|0,ijScratchComputed=!0)}function longitudeDegreesTag(e,t,i,r,n,a,o){return CesiumMath.toDegrees(n)}function latitudeDegreesTag(e,t,i,r,n,a,o){return CesiumMath.toDegrees(a)}function longitudeProjectedTag(e,t,i,r,n,a,o){return computeLongitudeLatitudeProjected(e,t,i,r,n,a),longitudeLatitudeProjectedScratch.x}function latitudeProjectedTag(e,t,i,r,n,a,o){return computeLongitudeLatitudeProjected(e,t,i,r,n,a),longitudeLatitudeProjectedScratch.y}var cartographicScratch$3=new Cartographic;function computeLongitudeLatitudeProjected(e,t,i,r,n,a,o){var s;longitudeLatitudeProjectedScratchComputed||(e.tilingScheme.projection instanceof GeographicProjection?(longitudeLatitudeProjectedScratch.x=CesiumMath.toDegrees(n),longitudeLatitudeProjectedScratch.y=CesiumMath.toDegrees(a)):((s=cartographicScratch$3).longitude=n,s.latitude=a,e.tilingScheme.projection.project(s,longitudeLatitudeProjectedScratch)),longitudeLatitudeProjectedScratchComputed=!0)}function formatTag(e,t,i,r,n,a,o){return o}function TileMapServiceImageryProvider(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t,i=when.defer();UrlTemplateImageryProvider.call(this,i.promise),this._tmsResource=void 0,this._xmlResource=void 0,this._options=e,this._deferred=i,this._metadataError=void 0,this._metadataSuccess=this._metadataSuccess.bind(this),this._metadataFailure=this._metadataFailure.bind(this),this._requestMetadata=this._requestMetadata.bind(this);var r=this;when(e.url).then(function(e){(t=Resource.createIfNeeded(e)).appendForwardSlash(),r._tmsResource=t,r._xmlResource=t.getDerivedResource({url:"tilemapresource.xml"}),r._requestMetadata()}).otherwise(function(e){i.reject(e)})}function confineRectangleToTilingScheme(e,t){return e.west<t.rectangle.west&&(e.west=t.rectangle.west),e.east>t.rectangle.east&&(e.east=t.rectangle.east),e.south<t.rectangle.south&&(e.south=t.rectangle.south),e.north>t.rectangle.north&&(e.north=t.rectangle.north),e}function calculateSafeMinimumDetailLevel(e,t,i){var r=e.positionToTileXY(Rectangle.southwest(t),i),t=e.positionToTileXY(Rectangle.northeast(t),i);return 4<(Math.abs(t.x-r.x)+1)*(Math.abs(t.y-r.y)+1)?0:i}function GoogleEarthEnterpriseMapsProvider(a){a=defaultValue(a,{}),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=1.9,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;var e=a.url,t=defaultValue(a.path,"/default_map"),i=Resource.createIfNeeded(e).getDerivedResource({url:"/"===t[0]?t.substring(1):t});i.appendForwardSlash(),this._resource=i,this._url=e,this._path=t,this._tileDiscardPolicy=a.tileDiscardPolicy,this._channel=a.channel,this._requestType="ImageryMaps",this._credit=new Credit('<a href="http://www.google.com/enterprise/mapsearth/products/earthenterprise.html"><img src="'+GoogleEarthEnterpriseMapsProvider.logoUrl+'" title="Google Imagery"/></a>'),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=a.maximumLevel,this._errorEvent=new Event,this._ready=!1,this._readyPromise=when.defer();var o,r=i.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),s=this;function n(t){var i,e;try{i=JSON.parse(t)}catch(e){i=JSON.parse(t.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}for(var r,n=0;n<i.layers.length;n++)if(i.layers[n].id===s._channel){e=i.layers[n];break}if(!defined(e))throw r="Could not find layer with channel (id) of "+s._channel+".",o=TileProviderError.handleError(o,s,s._errorEvent,r,void 0,void 0,void 0,c),new RuntimeError(r);if(!defined(e.version))throw r="Could not find a version in channel (id) "+s._channel+".",o=TileProviderError.handleError(o,s,s._errorEvent,r,void 0,void 0,void 0,c),new RuntimeError(r);if(s._version=e.version,defined(i.projection)&&"flat"===i.projection)s._tilingScheme=new GeographicTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new Rectangle(-Math.PI,-Math.PI,Math.PI,Math.PI),ellipsoid:a.ellipsoid});else{if(defined(i.projection)&&"mercator"!==i.projection)throw r="Unsupported projection "+i.projection+".",o=TileProviderError.handleError(o,s,s._errorEvent,r,void 0,void 0,void 0,c),new RuntimeError(r);s._tilingScheme=new WebMercatorTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:a.ellipsoid})}s._ready=!0,s._readyPromise.resolve(!0),TileProviderError.handleSuccess(o)}function l(e){var t="An error occurred while accessing "+r.url+".";o=TileProviderError.handleError(o,s,s._errorEvent,t,void 0,void 0,void 0,c),s._readyPromise.reject(new RuntimeError(t))}function c(){when(r.fetchText(),n,l)}c()}defined(Object.create)&&(TileMapServiceImageryProvider.prototype=Object.create(UrlTemplateImageryProvider.prototype),TileMapServiceImageryProvider.prototype.constructor=TileMapServiceImageryProvider),TileMapServiceImageryProvider.prototype._requestMetadata=function(){this._xmlResource.fetchXML().then(this._metadataSuccess).otherwise(this._metadataFailure)},TileMapServiceImageryProvider.prototype._metadataSuccess=function(e){for(var t,i,r,n=/tileformat/i,a=/tileset/i,o=/tilesets/i,s=/boundingbox/i,l=[],c=this._xmlResource,u=this._metadataError,d=this._deferred,h=this._requestMetadata,p=e.childNodes[0].childNodes,m=0;m<p.length;m++)if(n.test(p.item(m).nodeName))t=p.item(m);else if(o.test(p.item(m).nodeName)){r=p.item(m);for(var f=p.item(m).childNodes,g=0;g<f.length;g++)a.test(f.item(g).nodeName)&&l.push(f.item(g))}else s.test(p.item(m).nodeName)&&(i=p.item(m));if(!defined(r)||!defined(i))return P="Unable to find expected tilesets or bbox attributes in "+c.url+".",(u=TileProviderError.handleError(u,this,this.errorEvent,P,void 0,void 0,void 0,h)).retry||d.reject(new RuntimeError(P)),void(this._metadataError=u);var _=this._options,y=defaultValue(_.fileExtension,t.getAttribute("extension")),C=defaultValue(_.tileWidth,parseInt(t.getAttribute("width"),10)),v=defaultValue(_.tileHeight,parseInt(t.getAttribute("height"),10)),S=defaultValue(_.minimumLevel,parseInt(l[0].getAttribute("order"),10)),T=defaultValue(_.maximumLevel,parseInt(l[l.length-1].getAttribute("order"),10)),b=r.getAttribute("profile"),e=_.tilingScheme;if(!defined(e))if("geodetic"===b||"global-geodetic"===b)e=new GeographicTilingScheme({ellipsoid:_.ellipsoid});else{if("mercator"!==b&&"global-mercator"!==b)return P=c.url+"specifies an unsupported profile attribute, "+b+".",(u=TileProviderError.handleError(u,this,this.errorEvent,P,void 0,void 0,void 0,h)).retry||d.reject(new RuntimeError(P)),void(this._metadataError=u);e=new WebMercatorTilingScheme({ellipsoid:_.ellipsoid})}var x,E,P=Rectangle.clone(_.rectangle);defined(P)||(u=defaultValue(_.flipXY,!1)?(x=new Cartesian2(parseFloat(i.getAttribute("miny")),parseFloat(i.getAttribute("minx"))),new Cartesian2(parseFloat(i.getAttribute("maxy")),parseFloat(i.getAttribute("maxx")))):(x=new Cartesian2(parseFloat(i.getAttribute("minx")),parseFloat(i.getAttribute("miny"))),new Cartesian2(parseFloat(i.getAttribute("maxx")),parseFloat(i.getAttribute("maxy")))),b="geodetic"===b||"mercator"===b,u=e.projection instanceof GeographicProjection||b?(E=Cartographic.fromDegrees(x.x,x.y),Cartographic.fromDegrees(u.x,u.y)):(E=(b=e.projection).unproject(x),b.unproject(u)),P=new Rectangle(E.longitude,E.latitude,u.longitude,u.latitude)),S=calculateSafeMinimumDetailLevel(e,P=confineRectangleToTilingScheme(P,e),S);y=this._tmsResource.getDerivedResource({url:"{z}/{x}/{reverseY}."+y});d.resolve({url:y,tilingScheme:e,rectangle:P,tileWidth:C,tileHeight:v,minimumLevel:S,maximumLevel:T,tileDiscardPolicy:_.tileDiscardPolicy,credit:_.credit})},TileMapServiceImageryProvider.prototype._metadataFailure=function(e){var t=this._options,i=defaultValue(t.fileExtension,"png"),r=defaultValue(t.tileWidth,256),n=defaultValue(t.tileHeight,256),a=t.maximumLevel,o=defined(t.tilingScheme)?t.tilingScheme:new WebMercatorTilingScheme({ellipsoid:t.ellipsoid}),s=defaultValue(t.rectangle,o.rectangle),l=calculateSafeMinimumDetailLevel(o,s=confineRectangleToTilingScheme(s,o),t.maximumLevel),i=this._tmsResource.getDerivedResource({url:"{z}/{x}/{reverseY}."+i});this._deferred.resolve({url:i,tilingScheme:o,rectangle:s,tileWidth:r,tileHeight:n,minimumLevel:l,maximumLevel:a,tileDiscardPolicy:t.tileDiscardPolicy,credit:t.credit})},Object.defineProperties(GoogleEarthEnterpriseMapsProvider.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}}),GoogleEarthEnterpriseMapsProvider.prototype.getTileCredits=function(e,t,i){},GoogleEarthEnterpriseMapsProvider.prototype.requestImage=function(e,t,i,r){i=this._resource.getDerivedResource({url:"query",request:r,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:i+1}});return ImageryProvider.loadImage(this,i)},GoogleEarthEnterpriseMapsProvider.prototype.pickFeatures=function(e,t,i,r,n){},GoogleEarthEnterpriseMapsProvider._logoUrl=void 0,Object.defineProperties(GoogleEarthEnterpriseMapsProvider,{logoUrl:{get:function(){return defined(GoogleEarthEnterpriseMapsProvider._logoUrl)||(GoogleEarthEnterpriseMapsProvider._logoUrl=buildModuleUrl("Assets/Images/google_earth_credit.png")),GoogleEarthEnterpriseMapsProvider._logoUrl},set:function(e){GoogleEarthEnterpriseMapsProvider._logoUrl=e}}});var trailingSlashRegex=/\/$/,defaultCredit=new Credit('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function MapboxImageryProvider(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).mapId,i=e.accessToken;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;var r=Resource.createIfNeeded(defaultValue(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=i;var n=defaultValue(e.format,"png");/\./.test(n)||(n="."+n),this._format=n;var a,n=r.getUrlComponent();trailingSlashRegex.test(n)||(n+="/"),n+=t+"/{z}/{x}/{y}"+this._format,r.url=n,r.setQueryParameters({access_token:i}),defined(e.credit)?"string"==typeof(a=e.credit)&&(a=new Credit(a)):a=defaultCredit,this._resource=r,this._imageryProvider=new UrlTemplateImageryProvider({url:r,credit:a,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}function SingleTileImageryProvider(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;var i=Resource.createIfNeeded(e.url),t=new GeographicTilingScheme({rectangle:defaultValue(e.rectangle,Rectangle.MAX_VALUE),numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=t,this._resource=i,this._image=void 0,this._texture=void 0,this._tileWidth=0,this._tileHeight=0,this._errorEvent=new Event,this._ready=!1,this._readyPromise=when.defer();e=e.credit;"string"==typeof e&&(e=new Credit(e)),this._credit=e;var r,n=this;function a(e){n._image=e,n._tileWidth=e.width,n._tileHeight=e.height,n._ready=!0,n._readyPromise.resolve(!0),TileProviderError.handleSuccess(n._errorEvent)}function o(e){var t="Failed to load image "+i.url+".";r=TileProviderError.handleError(r,n,n._errorEvent,t,0,0,0,s,e),n._readyPromise.reject(new RuntimeError(t))}function s(){ImageryProvider.loadImage(null,i).then(a).otherwise(o)}s()}function GetFeatureInfoFormat(e,t,i){this.type=e,defined(t)||("json"===e?t="application/json":"xml"===e?t="text/xml":"html"===e?t="text/html":"text"===e&&(t="text/plain")),this.format=t,defined(i)||("json"===e?i=geoJsonToFeatureInfo:"xml"===e?i=xmlToFeatureInfo:"html"!==e&&"text"!==e||(i=textToFeatureInfo)),this.callback=i}function geoJsonToFeatureInfo(e){for(var t=[],i=e.features,r=0;r<i.length;++r){var n,a=i[r],o=new ImageryLayerFeatureInfo;o.data=a,o.properties=a.properties,o.configureNameFromProperties(a.properties),o.configureDescriptionFromProperties(a.properties),defined(a.geometry)&&"Point"===a.geometry.type&&(n=a.geometry.coordinates[0],a=a.geometry.coordinates[1],o.position=Cartographic.fromDegrees(n,a)),t.push(o)}return t}Object.defineProperties(MapboxImageryProvider.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return this._imageryProvider.ready}},readyPromise:{get:function(){return this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}}),MapboxImageryProvider.prototype.getTileCredits=function(e,t,i){},MapboxImageryProvider.prototype.requestImage=function(e,t,i,r){return this._imageryProvider.requestImage(e,t,i,r)},MapboxImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){return this._imageryProvider.pickFeatures(e,t,i,r,n)},MapboxImageryProvider._defaultCredit=defaultCredit,Object.defineProperties(SingleTileImageryProvider.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}}),SingleTileImageryProvider.prototype.getTileCredits=function(e,t,i){},SingleTileImageryProvider.prototype.requestImage=function(e,t,i,r){return this._image},SingleTileImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){};var mapInfoMxpNamespace="http://www.mapinfo.com/mxp",esriWmsNamespace="http://www.esri.com/wms",wfsNamespace="http://www.opengis.net/wfs",gmlNamespace="http://www.opengis.net/gml";function xmlToFeatureInfo(e){var t=e.documentElement;if("MultiFeatureCollection"===t.localName&&t.namespaceURI===mapInfoMxpNamespace)return mapInfoXmlToFeatureInfo(e);if("FeatureInfoResponse"===t.localName&&t.namespaceURI===esriWmsNamespace)return esriXmlToFeatureInfo(e);if("FeatureCollection"===t.localName&&t.namespaceURI===wfsNamespace)return gmlToFeatureInfo(e);if("ServiceExceptionReport"===t.localName)throw new RuntimeError((new XMLSerializer).serializeToString(t));return("msGMLOutput"===t.localName?msGmlToFeatureInfo:unknownXmlToFeatureInfo)(e)}function mapInfoXmlToFeatureInfo(e){for(var t=[],i=e.documentElement.getElementsByTagNameNS(mapInfoMxpNamespace,"Feature"),r=0;r<i.length;++r){for(var n=i[r],a={},o=n.getElementsByTagNameNS(mapInfoMxpNamespace,"Val"),s=0;s<o.length;++s){var l,c=o[s];c.hasAttribute("ref")&&(l=c.getAttribute("ref"),c=c.textContent.trim(),a[l]=c)}var u=new ImageryLayerFeatureInfo;u.data=n,u.properties=a,u.configureNameFromProperties(a),u.configureDescriptionFromProperties(a),t.push(u)}return t}function esriXmlToFeatureInfo(e){var e=e.documentElement,t=[],i=e.getElementsByTagNameNS("*","FIELDS");if(0<i.length)for(var r=0;r<i.length;++r){for(var n=i[r],a={},o=n.attributes,s=0;s<o.length;++s){var l=o[s];a[l.name]=l.value}t.push(imageryLayerFeatureInfoFromDataAndProperties(n,a))}else for(var c=e.getElementsByTagNameNS("*","FeatureInfo"),u=0;u<c.length;++u){var d=c[u];a={};for(var h=d.childNodes,p=0;p<h.length;++p){var m=h[p];m.nodeType===Node.ELEMENT_NODE&&(a[m.localName]=m.textContent)}t.push(imageryLayerFeatureInfoFromDataAndProperties(d,a))}return t}function gmlToFeatureInfo(e){for(var t=[],i=e.documentElement.getElementsByTagNameNS(gmlNamespace,"featureMember"),r=0;r<i.length;++r){var n=i[r],a={};getGmlPropertiesRecursively(n,a),t.push(imageryLayerFeatureInfoFromDataAndProperties(n,a))}return t}function msGmlToFeatureInfo(e){for(var t,i=[],r=e.documentElement.childNodes,n=0;n<r.length;n++)if(r[n].nodeType===Node.ELEMENT_NODE){t=r[n];break}if(!defined(t))throw new RuntimeError("Unable to find first child of the feature info xml document");for(var a=t.childNodes,o=0;o<a.length;++o){var s,l=a[o];l.nodeType===Node.ELEMENT_NODE&&(getGmlPropertiesRecursively(l,s={}),i.push(imageryLayerFeatureInfoFromDataAndProperties(l,s)))}return i}function getGmlPropertiesRecursively(e,t){for(var i=!0,r=0;r<e.childNodes.length;++r){var n=e.childNodes[r];n.nodeType===Node.ELEMENT_NODE&&(i=!1),"Point"!==n.localName&&"LineString"!==n.localName&&"Polygon"!==n.localName&&"boundedBy"!==n.localName&&n.hasChildNodes()&&getGmlPropertiesRecursively(n,t)&&(t[n.localName]=n.textContent)}return i}function imageryLayerFeatureInfoFromDataAndProperties(e,t){var i=new ImageryLayerFeatureInfo;return i.data=e,i.properties=t,i.configureNameFromProperties(t),i.configureDescriptionFromProperties(t),i}function unknownXmlToFeatureInfo(e){var t=(new XMLSerializer).serializeToString(e),i=document.createElement("div"),r=document.createElement("pre");r.textContent=t,i.appendChild(r);r=new ImageryLayerFeatureInfo;return r.data=e,r.description=i.innerHTML,[r]}var emptyBodyRegex=/<body>\s*<\/body>/im,wmsServiceExceptionReportRegex=/<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im,titleRegex=/<title>([\s\S]*)<\/title>/im;function textToFeatureInfo(e){if(!emptyBodyRegex.test(e)&&!wmsServiceExceptionReportRegex.test(e)){var t,i=titleRegex.exec(e);i&&1<i.length&&(t=i[1]);i=new ImageryLayerFeatureInfo;return i.name=t,i.description=e,i.data=e,[i]}}function TimeDynamicImagery(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];var t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}function getKey$1(e,t,i){return e+"-"+t+"-"+i}function getKeyElements(e){e=e.split("-");if(3===e.length)return{x:Number(e[0]),y:Number(e[1]),level:Number(e[2])}}function getApproachingInterval(e){var t=e._times;if(defined(t)){var i=e._clock,r=i.currentTime,n=i.canAnimate&&i.shouldAnimate,e=i.multiplier;if(n||0===e){var a,i=t.indexOf(r);if(!(i<0)){n=t.get(i);return 0<e?(a=JulianDate.secondsDifference(n.stop,r),++i):(a=JulianDate.secondsDifference(n.start,r),--i),a/=e,0<=i&&a<=5?t.get(i):void 0}}}}function addToCache(e,t,i){var r=e._times.indexOf(i.start),n=e._tileCache,a=n[r];defined(a)||(a=n[r]={});n=t.key;if(defined(a[n]))return!0;r=getKeyElements(n),t=new Request({throttle:!1,throttleByServer:!0,type:RequestType$1.IMAGERY,priorityFunction:t.priorityFunction}),i=e._requestImageFunction(r.x,r.y,r.level,t,i);return!!defined(i)&&(a[n]={promise:i,request:t},!0)}function WebMapServiceImageryProvider(e){if(defined((e=defaultValue(e,defaultValue.EMPTY_OBJECT)).times)&&!defined(e.clock))throw new DeveloperError("options.times was specified, so options.clock is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;var t=Resource.createIfNeeded(e.url),i=t.clone();t.setQueryParameters(WebMapServiceImageryProvider.DefaultParameters,!0),i.setQueryParameters(WebMapServiceImageryProvider.GetFeatureInfoDefaultParameters,!0),defined(e.parameters)&&t.setQueryParameters(objectToLowercase(e.parameters)),defined(e.getFeatureInfoParameters)&&i.setQueryParameters(objectToLowercase(e.getFeatureInfoParameters));var a=this;this._reload=void 0,defined(e.times)&&(this._timeDynamicImagery=new TimeDynamicImagery({clock:e.clock,times:e.times,requestImageFunction:function(e,t,i,r,n){return requestImage(a,e,t,i,r,n)},reloadFunction:function(){defined(a._reload)&&a._reload()}}));var r={};r.layers=e.layers,r.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",r.width="{width}",r.height="{height}",1.3<=parseFloat(t.queryParameters.version)?r.crs=defaultValue(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof WebMercatorProjection?"EPSG:3857":"CRS:84"):r.srs=defaultValue(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof WebMercatorProjection?"EPSG:3857":"EPSG:4326"),t.setQueryParameters(r,!0),i.setQueryParameters(r,!0);r={query_layers:e.layers,info_format:"{format}"};1.3<=parseFloat(i.queryParameters.version)?(r.i="{i}",r.j="{j}"):(r.x="{i}",r.y="{j}"),i.setQueryParameters(r,!0),this._resource=t,this._pickFeaturesResource=i,this._layers=e.layers,this._tileProvider=new UrlTemplateImageryProvider({url:t,pickFeaturesUrl:i,tilingScheme:defaultValue(e.tilingScheme,new GeographicTilingScheme({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:defaultValue(e.getFeatureInfoFormats,WebMapServiceImageryProvider.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function requestImage(e,t,i,r,n,a){a=defined(a)?a.data:void 0,e=e._tileProvider;return defined(a)&&e._resource.setQueryParameters(a),e.requestImage(t,i,r,n)}function pickFeatures(e,t,i,r,n,a,o){o=defined(o)?o.data:void 0,e=e._tileProvider;return defined(o)&&e._pickFeaturesResource.setQueryParameters(o),e.pickFeatures(t,i,r,n,a)}function objectToLowercase(e){var t,i={};for(t in e)e.hasOwnProperty(t)&&(i[t.toLowerCase()]=e[t]);return i}Object.defineProperties(TimeDynamicImagery.prototype,{clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}}),TimeDynamicImagery.prototype.getFromCache=function(e,t,i,r){var n,a,t=getKey$1(e,t,i),i=this._tileCache[this._currentIntervalIndex];return defined(i)&&defined(i[t])&&(a=(n=i[t]).promise.otherwise(function(e){throw r.state=n.request.state,e}),delete i[t]),a},TimeDynamicImagery.prototype.checkApproachingInterval=function(e,t,i,r){e=getKey$1(e,t,i),t=this._tilesRequestedForInterval,i=getApproachingInterval(this),r={key:e,priorityFunction:r.priorityFunction};defined(i)&&addToCache(this,r,i)||t.push(r),512<=t.length&&t.splice(0,256)},TimeDynamicImagery.prototype._clockOnTick=function(e){var t=e.currentTime,e=this._times.indexOf(t),t=this._currentIntervalIndex;if(e!==t){var i,r=this._tileCache[t];for(i in r)r.hasOwnProperty(i)&&r[i].request.cancel();return delete this._tileCache[t],this._tilesRequestedForInterval=[],this._currentIntervalIndex=e,void this._reloadFunction()}var n=getApproachingInterval(this);if(defined(n))for(var a=this._tilesRequestedForInterval,o=!0;o&&0!==a.length;){var s=a.pop();(o=addToCache(this,s,n))||a.push(s)}},Object.defineProperties(WebMapServiceImageryProvider.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},ready:{get:function(){return this._tileProvider.ready}},readyPromise:{get:function(){return this._tileProvider.readyPromise}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}}}),WebMapServiceImageryProvider.prototype.getTileCredits=function(e,t,i){return this._tileProvider.getTileCredits(e,t,i)},WebMapServiceImageryProvider.prototype.requestImage=function(e,t,i,r){var n,a,o=this._timeDynamicImagery;return defined(o)&&(a=o.currentInterval,n=o.getFromCache(e,t,i,r)),defined(n)||(n=requestImage(this,e,t,i,r,a)),defined(n)&&defined(o)&&o.checkApproachingInterval(e,t,i,r),n},WebMapServiceImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){var a=this._timeDynamicImagery;return pickFeatures(this,e,t,i,r,n,defined(a)?a.currentInterval:void 0)},WebMapServiceImageryProvider.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"}),WebMapServiceImageryProvider.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"}),WebMapServiceImageryProvider.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new GetFeatureInfoFormat("json","application/json")),Object.freeze(new GetFeatureInfoFormat("xml","text/xml")),Object.freeze(new GetFeatureInfoFormat("text","text/html"))]);var defaultParameters=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function WebMapTileServiceImageryProvider(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;var t,i=Resource.createIfNeeded(e.url),r=e.style,n=e.tileMatrixSetID;0<=i.url.indexOf("{")?(t={style:r,Style:r,TileMatrixSet:n},i.setTemplateValues(t),this._useKvp=!1):(i.setQueryParameters(defaultParameters),this._useKvp=!0),this._resource=i,this._layer=e.layer,this._style=r,this._tileMatrixSetID=n,this._tileMatrixLabels=e.tileMatrixLabels,this._format=defaultValue(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=defined(e.tilingScheme)?e.tilingScheme:new WebMercatorTilingScheme({ellipsoid:e.ellipsoid}),this._tileWidth=defaultValue(e.tileWidth,256),this._tileHeight=defaultValue(e.tileHeight,256),this._minimumLevel=defaultValue(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=defaultValue(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;var a=this;this._reload=void 0,defined(e.times)&&(this._timeDynamicImagery=new TimeDynamicImagery({clock:e.clock,times:e.times,requestImageFunction:function(e,t,i,r,n){return requestImage$1(a,e,t,i,r,n)},reloadFunction:function(){defined(a._reload)&&a._reload()}})),this._readyPromise=when.resolve(!0);r=this._tilingScheme.positionToTileXY(Rectangle.southwest(this._rectangle),this._minimumLevel),n=this._tilingScheme.positionToTileXY(Rectangle.northeast(this._rectangle),this._minimumLevel),Math.abs(n.x-r.x),Math.abs(n.y-r.y);this._errorEvent=new Event;r=e.credit;this._credit="string"==typeof r?new Credit(r):r,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():defined(this._subdomains)&&0<this._subdomains.length?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function requestImage$1(e,t,i,r,n,a){var o,s=e._tileMatrixLabels,l=defined(s)?s[r]:r.toString(),c=e._subdomains,s=e._dimensions,a=defined(a)?a.data:void 0;return e._useKvp?((o={}).tilematrix=l,o.layer=e._layer,o.style=e._style,o.tilerow=i,o.tilecol=t,o.tilematrixset=e._tileMatrixSetID,o.format=e._format,defined(s)&&(o=combine(o,s)),defined(a)&&(o=combine(o,a)),o=e._resource.getDerivedResource({queryParameters:o,request:n})):(c={TileMatrix:l,TileRow:i.toString(),TileCol:t.toString(),s:c[(t+i+r)%c.length]},(o=e._resource.getDerivedResource({request:n})).setTemplateValues(c),defined(s)&&o.setTemplateValues(s),defined(a)&&o.setTemplateValues(a)),ImageryProvider.loadImage(e,o)}function createFactory(t){return function(e){return new t(e)}}Object.defineProperties(WebMapTileServiceImageryProvider.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},ready:{value:!0},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,defined(this._reload)&&this._reload())}}}),WebMapTileServiceImageryProvider.prototype.getTileCredits=function(e,t,i){},WebMapTileServiceImageryProvider.prototype.requestImage=function(e,t,i,r){var n,a,o=this._timeDynamicImagery;return defined(o)&&(a=o.currentInterval,n=o.getFromCache(e,t,i,r)),defined(n)||(n=requestImage$1(this,e,t,i,r,a)),defined(n)&&defined(o)&&o.checkApproachingInterval(e,t,i,r),n},WebMapTileServiceImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){};var ImageryProviderMapping={ARCGIS_MAPSERVER:createFactory(ArcGisMapServerImageryProvider),BING:createFactory(BingMapsImageryProvider),GOOGLE_EARTH:createFactory(GoogleEarthEnterpriseMapsProvider),MAPBOX:createFactory(MapboxImageryProvider),SINGLE_TILE:createFactory(SingleTileImageryProvider),TMS:createFactory(TileMapServiceImageryProvider),URL_TEMPLATE:createFactory(UrlTemplateImageryProvider),WMS:createFactory(WebMapServiceImageryProvider),WMTS:createFactory(WebMapTileServiceImageryProvider)};function IonImageryProvider(e){var r=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).assetId;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._ready=!1,this._tileCredits=void 0,this._errorEvent=new Event;var n=this,a=IonResource._createEndpointResource(r,e),t=e.assetId.toString()+e.accessToken+e.server,e=IonImageryProvider._endpointCache[t];defined(e)||(e=a.fetchJson(),IonImageryProvider._endpointCache[t]=e),this._readyPromise=e.then(function(e){if("IMAGERY"!==e.type)return when.reject(new RuntimeError("Cesium ion asset "+r+" is not an imagery asset."));var t=e.externalType;if(defined(t)){var i=ImageryProviderMapping[t];if(!defined(i))return when.reject(new RuntimeError("Unrecognized Cesium ion imagery type: "+t));i=i(e.options)}else i=new TileMapServiceImageryProvider({url:new IonResource(e,a)});return n._tileCredits=IonResource.getCreditsFromEndpoint(e,a),i.errorEvent.addEventListener(function(e){(e.provider=n)._errorEvent.raiseEvent(e)}),(n._imageryProvider=i).readyPromise.then(function(){return n._ready=!0})})}Object.defineProperties(IonImageryProvider.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel},proxy:{get:function(){}}}}),IonImageryProvider.prototype.getTileCredits=function(e,t,i){i=this._imageryProvider.getTileCredits(e,t,i);return defined(i)?this._tileCredits.concat(i):this._tileCredits},IonImageryProvider.prototype.requestImage=function(e,t,i,r){return this._imageryProvider.requestImage(e,t,i,r)},IonImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){return this._imageryProvider.pickFeatures(e,t,i,r,n)},IonImageryProvider._endpointCache={};var IonWorldImageryStyle={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},IonWorldImageryStyle$1=Object.freeze(IonWorldImageryStyle);function createWorldImagery(e){return e=defaultValue(e,defaultValue.EMPTY_OBJECT),new IonImageryProvider({assetId:defaultValue(e.style,IonWorldImageryStyle$1.AERIAL)})}var mobileWidth=576,lightboxHeight=100,textColor="#ffffff",highlightColor="#48b";function contains$1(e,t){for(var i=e.length,r=0;r<i;r++){var n=e[r];if(Credit.equals(n,t))return 1}}function swapCesiumCredit(e){var t=e._previousCesiumCredit,i=e._currentCesiumCredit;Credit.equals(i,t)||(defined(t)&&e._cesiumCreditContainer.removeChild(t.element),defined(i)&&e._cesiumCreditContainer.appendChild(i.element),e._previousCesiumCredit=i)}var delimiterClassName="cesium-credit-delimiter",defaultCredit$1;function createDelimiterElement(e){var t=document.createElement("span");return t.textContent=e,t.className=delimiterClassName,t}function createCreditElement(e,t){return defined(t)&&((t=document.createElement(t))._creditId=e._creditId,t.appendChild(e),e=t),e}function displayCredits(e,t,i,r){for(var n=e.childNodes,a=-1,o=0;o<t.length;++o){var s,l,c=t[o];defined(c)&&(a=o,defined(i)&&(a*=2,0<o&&(s=a-1,n.length<=s?e.appendChild(createDelimiterElement(i)):(l=n[s]).className!==delimiterClassName&&e.replaceChild(createDelimiterElement(i),l))),s=c.element,n.length<=a?e.appendChild(createCreditElement(s,r)):(l=n[a])._creditId!==c._id&&e.replaceChild(createCreditElement(s,r),l))}for(++a;a<n.length;)e.removeChild(n[a])}function styleLightboxContainer(e){var t=e._lightboxCredits,i=e.viewport.clientWidth,r=e.viewport.clientHeight;i!==e._lastViewportWidth&&(i<mobileWidth?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=Math.floor(.5*(r-t.clientHeight))+"px"),e._lastViewportWidth=i),mobileWidth<=i&&r!==e._lastViewportHeight&&(t.style.marginTop=Math.floor(.5*(r-t.clientHeight))+"px",e._lastViewportHeight=r)}function addStyle(e,t){var i,r=e+" {";for(i in t)t.hasOwnProperty(i)&&(r+=i+": "+t[i]+"; ");return r+=" }\n"}function appendCss(){var e="";e+=addStyle(".cesium-credit-lightbox-overlay",{display:"none","z-index":"1",position:"absolute",top:"0",left:"0",width:"100%",height:"100%","background-color":"rgba(80, 80, 80, 0.8)"}),e+=addStyle(".cesium-credit-lightbox",{"background-color":"#303336",color:textColor,position:"relative","min-height":lightboxHeight+"px",margin:"auto"}),e+=addStyle(".cesium-credit-lightbox > ul > li a, .cesium-credit-lightbox > ul > li a:visited",{color:textColor}),e+=addStyle(".cesium-credit-lightbox > ul > li a:hover",{color:highlightColor}),e+=addStyle(".cesium-credit-lightbox.cesium-credit-lightbox-expanded",{border:"1px solid #444","border-radius":"5px","max-width":"370px"}),e+=addStyle(".cesium-credit-lightbox.cesium-credit-lightbox-mobile",{height:"100%",width:"100%"}),e+=addStyle(".cesium-credit-lightbox-title",{padding:"20px 20px 0 20px"}),e+=addStyle(".cesium-credit-lightbox-close",{"font-size":"18pt",cursor:"pointer",position:"absolute",top:"0",right:"6px",color:textColor}),e+=addStyle(".cesium-credit-lightbox-close:hover",{color:highlightColor}),e+=addStyle(".cesium-credit-lightbox > ul",{margin:"0",padding:"12px 20px 12px 40px","font-size":"13px"}),e+=addStyle(".cesium-credit-lightbox > ul > li",{"padding-bottom":"6px"}),e+=addStyle(".cesium-credit-lightbox > ul > li *",{padding:"0",margin:"0"}),e+=addStyle(".cesium-credit-expand-link",{"padding-left":"5px",cursor:"pointer","text-decoration":"underline",color:textColor}),e+=addStyle(".cesium-credit-expand-link:hover",{color:highlightColor}),e+=addStyle(".cesium-credit-text",{color:textColor}),e+=addStyle(".cesium-credit-textContainer *, .cesium-credit-logoContainer *",{display:"inline"});var t=document.head,i=document.createElement("style");i.innerHTML=e,t.insertBefore(i,t.firstChild)}function CreditDisplay(e,t,i){var r=this;i=defaultValue(i,document.body);var n=document.createElement("div");n.className="cesium-credit-lightbox-overlay",i.appendChild(n);var a=document.createElement("div");function o(e){a.contains(e.target)||r.hideLightbox()}a.className="cesium-credit-lightbox",n.appendChild(a),n.addEventListener("click",o,!1);var s=document.createElement("div");s.className="cesium-credit-lightbox-title",s.textContent="Data provided by:",a.appendChild(s);var l=document.createElement("a");l.onclick=this.hideLightbox.bind(this),l.innerHTML="×",l.className="cesium-credit-lightbox-close",a.appendChild(l);var c=document.createElement("ul");a.appendChild(c);var u=document.createElement("div");u.className="cesium-credit-logoContainer",u.style.display="inline",e.appendChild(u);var d=document.createElement("div");d.className="cesium-credit-textContainer",d.style.display="inline",e.appendChild(d);s=document.createElement("a");s.className="cesium-credit-expand-link",s.onclick=this.showLightbox.bind(this),s.textContent="Data attribution",e.appendChild(s),appendCss();l=Credit.clone(CreditDisplay.cesiumCredit);this._delimiter=defaultValue(t," • "),this._screenContainer=d,this._cesiumCreditContainer=u,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=a,this._creditList=c,this._lightbox=n,this._hideLightbox=o,this._expandLink=s,this._expanded=!1,this._defaultCredits=[],this._cesiumCredit=l,this._previousCesiumCredit=void 0,this._currentCesiumCredit=l,this._currentFrameCredits={screenCredits:new AssociativeArray,lightboxCredits:new AssociativeArray},this._defaultCredit=void 0,this.viewport=i,this.container=e}function getDefaultCredit(){var e;return defined(defaultCredit$1)||(0!==(e=buildModuleUrl("Assets/Images/ion-credit.png")).indexOf("http://")&&0!==e.indexOf("https://")&&0!==e.indexOf("data:")&&(e=new URI(e).getPath()),defaultCredit$1=new Credit('<a href="https://cesium.com/" target="_blank"><img src="'+e+'" title="Cesium ion"/></a>',!0)),CreditDisplay._cesiumCreditInitialized||(CreditDisplay._cesiumCredit=defaultCredit$1,CreditDisplay._cesiumCreditInitialized=!0),defaultCredit$1}function DebugAppearance(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).attributeName,i=e.perInstanceAttribute;defined(i)||(i=!1);var r,n=defaultValue(e.glslDatatype,"vec3"),a="v_"+t;if("normal"===t||"tangent"===t||"bitangent"===t)r="vec4 getColor() { return vec4(("+a+" + vec3(1.0)) * 0.5, 1.0); }\n";else switch("st"===t&&(n="vec2"),n){case"float":r="vec4 getColor() { return vec4(vec3("+a+"), 1.0); }\n";break;case"vec2":r="vec4 getColor() { return vec4("+a+", 0.0, 1.0); }\n";break;case"vec3":r="vec4 getColor() { return vec4("+a+", 1.0); }\n";break;case"vec4":r="vec4 getColor() { return "+a+"; }\n"}var o="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute float batchId;\n"+(i?"":"attribute "+n+" "+t+";\n")+"varying "+n+" "+a+";\nvoid main()\n{\nvec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow);\n"+(i?a+" = czm_batchTable_"+t+"(batchId);\n":a+" = "+t+";\n")+"gl_Position = czm_modelViewProjectionRelativeToEye * p;\n}",i="varying "+n+" "+a+";\n"+r+"\nvoid main()\n{\ngl_FragColor = getColor();\n}";this.material=void 0,this.translucent=defaultValue(e.translucent,!1),this._vertexShaderSource=defaultValue(e.vertexShaderSource,o),this._fragmentShaderSource=defaultValue(e.fragmentShaderSource,i),this._renderState=Appearance.getDefaultRenderState(!1,!1,e.renderState),this._closed=defaultValue(e.closed,!1),this._attributeName=t,this._glslDatatype=n}function DebugCameraPrimitive(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=defaultValue(e.color,Color.CYAN),this._updateOnChange=defaultValue(e.updateOnChange,!0),this.show=defaultValue(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}CreditDisplay.prototype.addCredit=function(e){if(e._isIon)return defined(this._defaultCredit)||(this._defaultCredit=Credit.clone(getDefaultCredit())),void(this._currentCesiumCredit=this._defaultCredit);(e.showOnScreen?this._currentFrameCredits.screenCredits:this._currentFrameCredits.lightboxCredits).set(e.id,e)},CreditDisplay.prototype.addDefaultCredit=function(e){var t=this._defaultCredits;contains$1(t,e)||t.push(e)},CreditDisplay.prototype.removeDefaultCredit=function(e){var t=this._defaultCredits,e=t.indexOf(e);-1!==e&&t.splice(e,1)},CreditDisplay.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0},CreditDisplay.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1},CreditDisplay.prototype.update=function(){this._expanded&&styleLightboxContainer(this)},CreditDisplay.prototype.beginFrame=function(){var e=this._currentFrameCredits,t=e.screenCredits;t.removeAll();for(var i=this._defaultCredits,r=0;r<i.length;++r){var n=i[r];t.set(n.id,n)}e.lightboxCredits.removeAll(),Credit.equals(CreditDisplay.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=Credit.clone(CreditDisplay.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit},CreditDisplay.prototype.endFrame=function(){var e=this._currentFrameCredits.screenCredits.values;displayCredits(this._screenContainer,e,this._delimiter,void 0);e=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=0<e.length?"inline":"none",displayCredits(this._creditList,e,void 0,"li"),swapCesiumCredit(this)},CreditDisplay.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),destroyObject(this)},CreditDisplay.prototype.isDestroyed=function(){return!1},CreditDisplay._cesiumCredit=void 0,CreditDisplay._cesiumCreditInitialized=!1,Object.defineProperties(CreditDisplay,{cesiumCredit:{get:function(){return getDefaultCredit(),CreditDisplay._cesiumCredit},set:function(e){CreditDisplay._cesiumCredit=e,CreditDisplay._cesiumCreditInitialized=!0}}}),Object.defineProperties(DebugAppearance.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}}),DebugAppearance.prototype.getFragmentShaderSource=Appearance.prototype.getFragmentShaderSource,DebugAppearance.prototype.isTranslucent=Appearance.prototype.isTranslucent,DebugAppearance.prototype.getRenderState=Appearance.prototype.getRenderState;var scratchRight$1=new Cartesian3,scratchRotation$2=new Matrix3,scratchOrientation=new Quaternion,scratchPerspective=new PerspectiveFrustum,scratchPerspectiveOffCenter=new PerspectiveOffCenterFrustum,scratchOrthographic=new OrthographicFrustum,scratchOrthographicOffCenter=new OrthographicOffCenterFrustum,scratchColor$k=new Color,scratchSplits=[1,1e5];function DebugInspector(){this._cachedShowFrustumsShaders={}}function getAttributeLocations$2(e){var t,i={},r=e.vertexAttributes;for(t in r)r.hasOwnProperty(t)&&(i[t]=r[t].index);return i}function createDebugShowFrustumsShaderProgram(e,t){var i=e.context,r=t,e=r.fragmentShaderSource.clone(),n=[];e.sources=e.sources.map(function(e){e=ShaderSource.replaceMain(e,"czm_Debug_main");for(var t,i=/gl_FragData\[(\d+)\]/g;null!==(t=i.exec(e));)-1===n.indexOf(t[1])&&n.push(t[1]);return e});var a,o=n.length,s="";if(s+="uniform vec3 debugShowCommandsColor;\n",s+="uniform vec3 debugShowFrustumsColor;\n",s+="void main() \n{ \n czm_Debug_main(); \n",0<o)for(a=0;a<o;++a)s+=" gl_FragData["+n[a]+"].rgb *= debugShowCommandsColor;\n",s+=" gl_FragData["+n[a]+"].rgb *= debugShowFrustumsColor;\n";else s+=" gl_FragColor.rgb *= debugShowCommandsColor;\n",s+=" gl_FragColor.rgb *= debugShowFrustumsColor;\n";s+="}",e.sources.push(s);t=getAttributeLocations$2(r);return ShaderProgram.fromCache({context:i,vertexShaderSource:r.vertexShaderSource,fragmentShaderSource:e,attributeLocations:t})}DebugCameraPrimitive.prototype.update=function(e){if(this.show){var t,i,r=this._planesPrimitives,n=this._outlinePrimitives;if(this._updateOnChange){for(i=r.length,t=0;t<i;++t)n[t]=n[t]&&n[t].destroy(),r[t]=r[t]&&r[t].destroy();r.length=0,n.length=0}if(0===r.length){var a=this._camera,o=a.frustum,s=o instanceof PerspectiveFrustum?scratchPerspective:o instanceof PerspectiveOffCenterFrustum?scratchPerspectiveOffCenter:o instanceof OrthographicFrustum?scratchOrthographic:scratchOrthographicOffCenter;s=o.clone(s);var l=this._frustumSplits,c=!defined(l)||l.length<=1?((l=scratchSplits)[0]=this._camera.frustum.near,l[1]=this._camera.frustum.far,1):l.length-1,u=a.positionWC,d=a.directionWC,h=a.upWC,o=a.rightWC,o=Cartesian3.negate(o,scratchRight$1),a=scratchRotation$2;Matrix3.setColumn(a,0,o,a),Matrix3.setColumn(a,1,h,a),Matrix3.setColumn(a,2,d,a);var p=Quaternion.fromRotationMatrix(a,scratchOrientation);for(r.length=n.length=c,t=0;t<c;++t)s.near=l[t],s.far=l[t+1],r[t]=new Primitive({geometryInstances:new GeometryInstance({geometry:new FrustumGeometry({origin:u,orientation:p,frustum:s,_drawNearPlane:0===t}),attributes:{color:ColorGeometryInstanceAttribute.fromColor(Color.fromAlpha(this._color,.1,scratchColor$k))},id:this.id,pickPrimitive:this}),appearance:new PerInstanceColorAppearance({translucent:!0,flat:!0}),asynchronous:!1}),n[t]=new Primitive({geometryInstances:new GeometryInstance({geometry:new FrustumOutlineGeometry({origin:u,orientation:p,frustum:s,_drawNearPlane:0===t}),attributes:{color:ColorGeometryInstanceAttribute.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1})}for(i=r.length,t=0;t<i;++t)n[t].update(e),r[t].update(e)}},DebugCameraPrimitive.prototype.isDestroyed=function(){return!1},DebugCameraPrimitive.prototype.destroy=function(){for(var e=this._planesPrimitives.length,t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return destroyObject(this)};var scratchFrustumColor=new Color;function createDebugShowFrustumsUniformMap(e,t){var i=defined(t.uniformMap)?t.uniformMap:{};return defined(i.debugShowCommandsColor)||defined(i.debugShowFrustumsColor)||(i.debugShowCommandsColor=function(){return e.debugShowCommands?(defined(t._debugColor)||(t._debugColor=Color.fromRandom()),t._debugColor):Color.WHITE},i.debugShowFrustumsColor=function(){return e.debugShowFrustums?(scratchFrustumColor.red=1&t.debugOverlappingFrustums?1:0,scratchFrustumColor.green=2&t.debugOverlappingFrustums?1:0,scratchFrustumColor.blue=4&t.debugOverlappingFrustums?1:0,scratchFrustumColor.alpha=1,scratchFrustumColor):Color.WHITE}),i}var scratchShowFrustumCommand=new DrawCommand;function DebugModelMatrixPrimitive(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.length=defaultValue(e.length,1e7),this._length=void 0,this.width=defaultValue(e.width,2),this._width=void 0,this.show=defaultValue(e.show,!0),this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this._modelMatrix=new Matrix4,this.id=e.id,this._id=void 0,this._primitive=void 0}DebugInspector.prototype.executeDebugShowFrustumsCommand=function(e,t,i){var r=t.shaderProgram.id,n=this._cachedShowFrustumsShaders[r];defined(n)||(n=createDebugShowFrustumsShaderProgram(e,t.shaderProgram),this._cachedShowFrustumsShaders[r]=n);r=DrawCommand.shallowClone(t,scratchShowFrustumCommand);r.shaderProgram=n,r.uniformMap=createDebugShowFrustumsUniformMap(e,t),r.execute(e.context,i)},DebugModelMatrixPrimitive.prototype.update=function(e){var t,i,r;this.show&&(defined(this._primitive)&&Matrix4.equals(this._modelMatrix,this.modelMatrix)&&this._length===this.length&&this._width===this.width&&this._id===this.id||(this._modelMatrix=Matrix4.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,defined(this._primitive)&&this._primitive.destroy(),0===this.modelMatrix[12]&&0===this.modelMatrix[13]&&0===this.modelMatrix[14]&&(this.modelMatrix[14]=.01),t=new GeometryInstance({geometry:new PolylineGeometry({positions:[Cartesian3.ZERO,Cartesian3.UNIT_X],width:this.width,vertexFormat:PolylineColorAppearance.VERTEX_FORMAT,colors:[Color.RED,Color.RED],arcType:ArcType$1.NONE}),modelMatrix:Matrix4.multiplyByUniformScale(this.modelMatrix,this.length,new Matrix4),id:this.id,pickPrimitive:this}),i=new GeometryInstance({geometry:new PolylineGeometry({positions:[Cartesian3.ZERO,Cartesian3.UNIT_Y],width:this.width,vertexFormat:PolylineColorAppearance.VERTEX_FORMAT,colors:[Color.GREEN,Color.GREEN],arcType:ArcType$1.NONE}),modelMatrix:Matrix4.multiplyByUniformScale(this.modelMatrix,this.length,new Matrix4),id:this.id,pickPrimitive:this}),r=new GeometryInstance({geometry:new PolylineGeometry({positions:[Cartesian3.ZERO,Cartesian3.UNIT_Z],width:this.width,vertexFormat:PolylineColorAppearance.VERTEX_FORMAT,colors:[Color.BLUE,Color.BLUE],arcType:ArcType$1.NONE}),modelMatrix:Matrix4.multiplyByUniformScale(this.modelMatrix,this.length,new Matrix4),id:this.id,pickPrimitive:this}),this._primitive=new Primitive({geometryInstances:[t,i,r],appearance:new PolylineColorAppearance,asynchronous:!1})),this._primitive.update(e))},DebugModelMatrixPrimitive.prototype.isDestroyed=function(){return!1},DebugModelMatrixPrimitive.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),destroyObject(this)};var DepthPlaneFS="varying vec4 positionEC;\nvoid main()\n{\nvec3 position;\nvec3 direction;\nif (czm_orthographicIn3D == 1.0)\n{\nvec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw;\nvec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y);\nvec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x);\nposition = vec3(mix(minPlane, maxPlane, uv), 0.0);\ndirection = vec3(0.0, 0.0, -1.0);\n}\nelse\n{\nposition = vec3(0.0);\ndirection = normalize(positionEC.xyz);\n}\nczm_ray ray = czm_ray(position, direction);\nvec3 ellipsoid_center = czm_view[3].xyz;\nczm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii);\nif (!czm_isEmpty(intersection))\n{\ngl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\n}\nelse\n{\ndiscard;\n}\nczm_writeLogDepth();\n}\n",DepthPlaneVS="attribute vec4 position;\nvarying vec4 positionEC;\nvoid main()\n{\npositionEC = czm_modelView * position;\ngl_Position = czm_projection * positionEC;\nczm_vertexLogDepth();\n}\n";function DepthPlane(){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1}var depthQuadScratch=FeatureDetection.supportsTypedArrays()?new Float32Array(12):[],scratchCartesian1$7=new Cartesian3,scratchCartesian2$a=new Cartesian3,scratchCartesian3$d=new Cartesian3,scratchCartesian4$5=new Cartesian3,scratchCartesian5$2=new Cartesian3;function computeDepthQuad(e,t){var i,r,n=e.radii,a=t.camera;s=a.frustum instanceof OrthographicFrustum?(i=Cartesian3.ZERO,r=a.rightWC,a.upWC):(o=a.positionWC,t=Cartesian3.multiplyComponents(e.oneOverRadii,o,scratchCartesian1$7),a=Cartesian3.normalize(t,scratchCartesian2$a),e=Cartesian3.normalize(Cartesian3.cross(Cartesian3.UNIT_Z,t,scratchCartesian3$d),scratchCartesian3$d),s=Cartesian3.normalize(Cartesian3.cross(a,e,scratchCartesian4$5),scratchCartesian4$5),o=Cartesian3.magnitude(t),t=Math.sqrt(o*o-1),i=Cartesian3.multiplyByScalar(a,1/o,scratchCartesian1$7),o=t/o,r=Cartesian3.multiplyByScalar(e,o,scratchCartesian2$a),Cartesian3.multiplyByScalar(s,o,scratchCartesian3$d));var o=Cartesian3.add(i,s,scratchCartesian5$2);Cartesian3.subtract(o,r,o),Cartesian3.multiplyComponents(n,o,o),Cartesian3.pack(o,depthQuadScratch,0);o=Cartesian3.subtract(i,s,scratchCartesian5$2);Cartesian3.subtract(o,r,o),Cartesian3.multiplyComponents(n,o,o),Cartesian3.pack(o,depthQuadScratch,3);o=Cartesian3.add(i,s,scratchCartesian5$2);Cartesian3.add(o,r,o),Cartesian3.multiplyComponents(n,o,o),Cartesian3.pack(o,depthQuadScratch,6);var s=Cartesian3.subtract(i,s,scratchCartesian5$2);return Cartesian3.add(s,r,s),Cartesian3.multiplyComponents(n,s,s),Cartesian3.pack(s,depthQuadScratch,9),depthQuadScratch}function DerivedCommand(){}DepthPlane.prototype.update=function(e){var t,i,r,n,a;this._mode=e.mode,e.mode===SceneMode$1.SCENE3D&&(t=e.context,i=e.mapProjection.ellipsoid,r=e.useLogDepth,defined(this._command)||(this._rs=RenderState.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new DrawCommand({renderState:this._rs,boundingVolume:new BoundingSphere(Cartesian3.ZERO,i.maximumRadius),pass:Pass$1.OPAQUE,owner:this})),defined(this._sp)&&this._useLogDepth===r||(this._useLogDepth=r,n=new ShaderSource({sources:[DepthPlaneVS]}),a=new ShaderSource({sources:[DepthPlaneFS]}),r&&(a.sources.push("#ifdef GL_EXT_frag_depth \n#extension GL_EXT_frag_depth : enable \n#endif \n\n"),a.defines.push("LOG_DEPTH"),n.defines.push("LOG_DEPTH")),this._sp=ShaderProgram.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:n,fragmentShaderSource:a,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp),e=computeDepthQuad(i,e),defined(this._va)?this._va.getAttribute(0).vertexBuffer.copyFromArrayView(e):(e=new Geometry({attributes:{position:new GeometryAttribute({componentDatatype:ComponentDatatype$1.FLOAT,componentsPerAttribute:3,values:e})},indices:[0,1,2,2,1,3],primitiveType:PrimitiveType$1.TRIANGLES}),this._va=VertexArray.fromGeometry({context:t,geometry:e,attributeLocations:{position:0},bufferUsage:BufferUsage$1.DYNAMIC_DRAW}),this._command.vertexArray=this._va))},DepthPlane.prototype.execute=function(e,t){this._mode===SceneMode$1.SCENE3D&&this._command.execute(e,t)},DepthPlane.prototype.isDestroyed=function(){return!1},DepthPlane.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var fragDepthRegex=/\bgl_FragDepthEXT\b/,discardRegex=/\bdiscard\b/;function getDepthOnlyShaderProgram(e,t){var i=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(!defined(i)){for(var r=t._attributeLocations,n=t.fragmentShaderSource,a=!1,o=n.sources,s=o.length,l=0;l<s;++l)if(fragDepthRegex.test(o[l])||discardRegex.test(o[l])){a=!0;break}var c=!1,u=n.defines,s=u.length;for(l=0;l<s;++l)if("LOG_DEPTH"===u[l]){c=!0;break}a||c?!a&&c&&(n=new ShaderSource({defines:["LOG_DEPTH"],sources:["#ifdef GL_EXT_frag_depth \n#extension GL_EXT_frag_depth : enable \n#endif \n\nvoid main() \n{ \n gl_FragColor = vec4(1.0); \n czm_writeLogDepth(); \n} \n"]})):n=new ShaderSource({sources:["void main() \n{ \n gl_FragColor = vec4(1.0); \n} \n"]}),i=e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:n,attributeLocations:r})}return i}function getDepthOnlyRenderState(e,t){var i=e._depthOnlyRenderStateCache,r=i[t.id];return defined(r)||((e=RenderState.getState(t)).depthMask=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1},r=RenderState.fromCache(e),i[t.id]=r),r}DerivedCommand.createDepthOnlyDerivedCommand=function(e,t,i,r){var n,a;return defined(r)||(r={}),defined(r.depthOnlyCommand)&&(n=r.depthOnlyCommand.shaderProgram,a=r.depthOnlyCommand.renderState),r.depthOnlyCommand=DrawCommand.shallowClone(t,r.depthOnlyCommand),defined(n)&&r.shaderProgramId===t.shaderProgram.id?(r.depthOnlyCommand.shaderProgram=n,r.depthOnlyCommand.renderState=a):(r.depthOnlyCommand.shaderProgram=getDepthOnlyShaderProgram(i,t.shaderProgram),r.depthOnlyCommand.renderState=getDepthOnlyRenderState(e,t.renderState),r.shaderProgramId=t.shaderProgram.id),r};var writeLogDepthRegex=/\s+czm_writeLogDepth\(/,vertexlogDepthRegex=/\s+czm_vertexLogDepth\(/,extensionRegex=/\s*#extension\s+GL_EXT_frag_depth\s*:\s*enable/;function getLogDepthShaderProgram(e,t){var i=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(!defined(i)){var r=t._attributeLocations,n=t.vertexShaderSource.clone(),a=t.fragmentShaderSource.clone();n.defines=defined(n.defines)?n.defines.slice(0):[],n.defines.push("LOG_DEPTH"),a.defines=defined(a.defines)?a.defines.slice(0):[],a.defines.push("LOG_DEPTH");for(var o=!1,s=n.sources,l=s.length,c=0;c<l;++c)if(vertexlogDepthRegex.test(s[c])){o=!0;break}if(!o){for(c=0;c<l;++c)s[c]=ShaderSource.replaceMain(s[c],"czm_log_depth_main");s.push("\n\nvoid main() \n{ \n czm_log_depth_main(); \n czm_vertexLogDepth(); \n} \n")}for(l=(s=a.sources).length,o=!1,c=0;c<l;++c)writeLogDepthRegex.test(s[c])&&(o=!0);-1!==a.defines.indexOf("LOG_DEPTH_WRITE")&&(o=!0);var u=!0;for(c=0;c<l;++c)extensionRegex.test(s[c])&&(u=!1);var d="";if(u&&(d+="#ifdef GL_EXT_frag_depth \n#extension GL_EXT_frag_depth : enable \n#endif \n\n"),!o){for(c=0;c<l;c++)s[c]=ShaderSource.replaceMain(s[c],"czm_log_depth_main");d+="\nvoid main() \n{ \n czm_log_depth_main(); \n czm_writeLogDepth(); \n} \n"}s.push(d),i=e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:n,fragmentShaderSource:a,attributeLocations:r})}return i}function getPickShaderProgram(e,t,i){var r=e.shaderCache.getDerivedShaderProgram(t,"pick");if(!defined(r)){for(var n=t._attributeLocations,a=t.fragmentShaderSource,o=a.sources,s=o.length,i="void main() \n{ \n czm_non_pick_main(); \n if (gl_FragColor.a == 0.0) { \n discard; \n } \n gl_FragColor = "+i+"; \n} \n",l=new Array(s+1),c=0;c<s;++c)l[c]=ShaderSource.replaceMain(o[c],"czm_non_pick_main");l[s]=i,a=new ShaderSource({sources:l,defines:a.defines}),r=e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:n})}return r}function getPickRenderState(e,t){var i=e.picking.pickRenderStateCache,r=i[t.id];return defined(r)||((e=RenderState.getState(t)).blending.enabled=!1,e.depthMask=!0,r=RenderState.fromCache(e),i[t.id]=r),r}function getHdrShaderProgram(e,t){var i,r,n,a=e.shaderCache.getDerivedShaderProgram(t,"HDR");return defined(a)||(i=t._attributeLocations,r=t.vertexShaderSource.clone(),n=t.fragmentShaderSource.clone(),r.defines=defined(r.defines)?r.defines.slice(0):[],r.defines.push("HDR"),n.defines=defined(n.defines)?n.defines.slice(0):[],n.defines.push("HDR"),a=e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:r,fragmentShaderSource:n,attributeLocations:i})),a}function DeviceOrientationCameraController(e){this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;var i=this;function t(e){var t=e.alpha;if(!defined(t))return i._alpha=void 0,i._beta=void 0,void(i._gamma=void 0);i._alpha=CesiumMath.toRadians(t),i._beta=CesiumMath.toRadians(e.beta),i._gamma=CesiumMath.toRadians(e.gamma)}window.addEventListener("deviceorientation",t,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",t,!1)}}DerivedCommand.createLogDepthCommand=function(e,t,i){var r;return defined(i)||(i={}),defined(i.command)&&(r=i.command.shaderProgram),i.command=DrawCommand.shallowClone(e,i.command),defined(r)&&i.shaderProgramId===e.shaderProgram.id?i.command.shaderProgram=r:(i.command.shaderProgram=getLogDepthShaderProgram(t,e.shaderProgram),i.shaderProgramId=e.shaderProgram.id),i},DerivedCommand.createPickDerivedCommand=function(e,t,i,r){var n,a;return defined(r)||(r={}),defined(r.pickCommand)&&(n=r.pickCommand.shaderProgram,a=r.pickCommand.renderState),r.pickCommand=DrawCommand.shallowClone(t,r.pickCommand),defined(n)&&r.shaderProgramId===t.shaderProgram.id?(r.pickCommand.shaderProgram=n,r.pickCommand.renderState=a):(r.pickCommand.shaderProgram=getPickShaderProgram(i,t.shaderProgram,t.pickId),r.pickCommand.renderState=getPickRenderState(e,t.renderState),r.shaderProgramId=t.shaderProgram.id),r},DerivedCommand.createHdrCommand=function(e,t,i){var r;return defined(i)||(i={}),defined(i.command)&&(r=i.command.shaderProgram),i.command=DrawCommand.shallowClone(e,i.command),defined(r)&&i.shaderProgramId===e.shaderProgram.id?i.command.shaderProgram=r:(i.command.shaderProgram=getHdrShaderProgram(t,e.shaderProgram),i.shaderProgramId=e.shaderProgram.id),i};var scratchQuaternion1=new Quaternion,scratchQuaternion2=new Quaternion,scratchMatrix3$1=new Matrix3;function rotate(e,t,i,r){var n=e.direction,a=e.right,e=e.up,i=Quaternion.fromAxisAngle(n,i,scratchQuaternion2),r=Quaternion.fromAxisAngle(a,r,scratchQuaternion1),r=Quaternion.multiply(r,i,r),t=Quaternion.fromAxisAngle(e,t,scratchQuaternion2);Quaternion.multiply(t,r,r);r=Matrix3.fromQuaternion(r,scratchMatrix3$1);Matrix3.multiplyByVector(r,a,a),Matrix3.multiplyByVector(r,e,e),Matrix3.multiplyByVector(r,n,n)}function DirectionalLight(e){this.direction=Cartesian3.clone(e.direction),this.color=Color.clone(defaultValue(e.color,Color.WHITE)),this.intensity=defaultValue(e.intensity,1)}DeviceOrientationCameraController.prototype.update=function(){var e,t,i;defined(this._alpha)&&(defined(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma),e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,i=this._lastGamma-this._gamma,rotate(this._scene.camera,-e,t,i),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma)},DeviceOrientationCameraController.prototype.isDestroyed=function(){return!1},DeviceOrientationCameraController.prototype.destroy=function(){return this._removeListener(),destroyObject(this)};var EllipsoidFS="#ifdef WRITE_DEPTH\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n#endif\nuniform vec3 u_radii;\nuniform vec3 u_oneOverEllipsoidRadiiSquared;\nvarying vec3 v_positionEC;\nvec4 computeEllipsoidColor(czm_ray ray, float intersection, float side)\n{\nvec3 positionEC = czm_pointAlongRay(ray, intersection);\nvec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz;\nvec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared));\nvec3 sphericalNormal = normalize(positionMC / u_radii);\nvec3 normalMC = geodeticNormal * side;\nvec3 normalEC = normalize(czm_normal * normalMC);\nvec2 st = czm_ellipsoidWgs84TextureCoordinates(sphericalNormal);\nvec3 positionToEyeEC = -positionEC;\nczm_materialInput materialInput;\nmaterialInput.s = st.s;\nmaterialInput.st = st;\nmaterialInput.str = (positionMC + u_radii) / u_radii;\nmaterialInput.normalEC = normalEC;\nmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC);\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef ONLY_SUN_LIGHTING\nreturn czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC);\n#else\nreturn czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\nvoid main()\n{\nfloat maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5;\nvec3 direction = normalize(v_positionEC);\nvec3 ellipsoidCenter = czm_modelView[3].xyz;\nfloat t1 = -1.0;\nfloat t2 = -1.0;\nfloat b = -2.0 * dot(direction, ellipsoidCenter);\nfloat c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius;\nfloat discriminant = b * b - 4.0 * c;\nif (discriminant >= 0.0) {\nt1 = (-b - sqrt(discriminant)) * 0.5;\nt2 = (-b + sqrt(discriminant)) * 0.5;\n}\nif (t1 < 0.0 && t2 < 0.0) {\ndiscard;\n}\nfloat t = min(t1, t2);\nif (t < 0.0) {\nt = 0.0;\n}\nczm_ray ray = czm_ray(t * direction, direction);\nvec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z);\nczm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii);\nif (czm_isEmpty(intersection))\n{\ndiscard;\n}\nvec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0);\nvec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0);\ngl_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a);\ngl_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a);\n#ifdef WRITE_DEPTH\n#ifdef GL_EXT_frag_depth\nt = (intersection.start != 0.0) ? intersection.start : intersection.stop;\nvec3 positionEC = czm_pointAlongRay(ray, t);\nvec4 positionCC = czm_projection * vec4(positionEC, 1.0);\n#ifdef LOG_DEPTH\nczm_writeLogDepth(1.0 + positionCC.w);\n#else\nfloat z = positionCC.z / positionCC.w;\nfloat n = czm_depthRange.near;\nfloat f = czm_depthRange.far;\ngl_FragDepthEXT = (z * (f - n) + f + n) * 0.5;\n#endif\n#endif\n#endif\n}\n",EllipsoidVS="attribute vec3 position;\nuniform vec3 u_radii;\nvarying vec3 v_positionEC;\nvoid main()\n{\nvec4 p = vec4(u_radii * position, 1.0);\nv_positionEC = (czm_modelView * p).xyz;\ngl_Position = czm_modelViewProjection * p;\ngl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far);\nczm_vertexLogDepth();\n}\n",attributeLocations$4={position:0};function EllipsoidPrimitive(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.center=Cartesian3.clone(defaultValue(e.center,Cartesian3.ZERO)),this._center=new Cartesian3,this.radii=Cartesian3.clone(e.radii),this._radii=new Cartesian3,this._oneOverEllipsoidRadiiSquared=new Cartesian3,this._boundingSphere=new BoundingSphere,this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this._modelMatrix=new Matrix4,this._computedModelMatrix=new Matrix4,this.show=defaultValue(e.show,!0),this.material=defaultValue(e.material,Material.fromType(Material.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=defaultValue(e.debugShowBoundingVolume,!1),this.onlySunLighting=defaultValue(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=defaultValue(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new DrawCommand({owner:defaultValue(e._owner,this)}),this._pickCommand=new DrawCommand({owner:defaultValue(e._owner,this),pickOnly:!0});var t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function getVertexArray(e){if(defined(i=e.cache.ellipsoidPrimitive_vertexArray))return i;var t=BoxGeometry.createGeometry(BoxGeometry.fromDimensions({dimensions:new Cartesian3(2,2,2),vertexFormat:VertexFormat.POSITION_ONLY})),i=VertexArray.fromGeometry({context:e,geometry:t,attributeLocations:attributeLocations$4,bufferUsage:BufferUsage$1.STATIC_DRAW,interleave:!0});return e.cache.ellipsoidPrimitive_vertexArray=i}var logDepthExtension="#ifdef GL_EXT_frag_depth \n#extension GL_EXT_frag_depth : enable \n#endif \n\n";EllipsoidPrimitive.prototype.update=function(e){var t,i,r,n,a,o,s,l,c;this.show&&e.mode===SceneMode$1.SCENE3D&&defined(this.center)&&defined(this.radii)&&(t=e.context,i=this.material.isTranslucent(),c=this._translucent!==i,defined(this._rs)&&!c||(this._translucent=i,this._rs=RenderState.fromCache({cull:{enabled:!0,face:CullFace$1.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!i&&t.fragmentDepth,blending:i?BlendingState$1.ALPHA_BLEND:void 0})),defined(this._va)||(this._va=getVertexArray(t)),o=!1,a=this.radii,Cartesian3.equals(this._radii,a)||(Cartesian3.clone(a,this._radii),(n=this._oneOverEllipsoidRadiiSquared).x=1/(a.x*a.x),n.y=1/(a.y*a.y),n.z=1/(a.z*a.z),o=!0),Matrix4.equals(this.modelMatrix,this._modelMatrix)&&Cartesian3.equals(this.center,this._center)||(Matrix4.clone(this.modelMatrix,this._modelMatrix),Cartesian3.clone(this.center,this._center),Matrix4.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(Cartesian3.clone(Cartesian3.ZERO,this._boundingSphere.center),this._boundingSphere.radius=Cartesian3.maximumComponent(a),BoundingSphere.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere)),r=this._material!==this.material,this._material=this.material,this._material.update(t),n=this.onlySunLighting!==this._onlySunLighting,this._onlySunLighting=this.onlySunLighting,o=e.useLogDepth,a=this._useLogDepth!==o,this._useLogDepth=o,o=this._colorCommand,(r||n||c||a)&&(s=new ShaderSource({sources:[EllipsoidVS]}),l=new ShaderSource({sources:[this.material.shaderSource,EllipsoidFS]}),this.onlySunLighting&&l.defines.push("ONLY_SUN_LIGHTING"),!i&&t.fragmentDepth&&l.defines.push("WRITE_DEPTH"),this._useLogDepth&&(s.defines.push("LOG_DEPTH"),l.defines.push("LOG_DEPTH"),l.sources.push(logDepthExtension)),this._sp=ShaderProgram.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:s,fragmentShaderSource:l,attributeLocations:attributeLocations$4}),o.vertexArray=this._va,o.renderState=this._rs,o.shaderProgram=this._sp,o.uniformMap=combine(this._uniforms,this.material._uniforms),o.executeInClosestFrustum=i),c=e.commandList,(e=e.passes).render&&(o.boundingVolume=this._boundingSphere,o.debugShowBoundingVolume=this.debugShowBoundingVolume,o.modelMatrix=this._computedModelMatrix,o.pass=i?Pass$1.TRANSLUCENT:Pass$1.OPAQUE,c.push(o)),e.pick&&(e=this._pickCommand,defined(this._pickId)&&this._id===this.id||(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),(r||n||!defined(this._pickSP)||a)&&(s=new ShaderSource({sources:[EllipsoidVS]}),l=new ShaderSource({sources:[this.material.shaderSource,EllipsoidFS],pickColorQualifier:"uniform"}),this.onlySunLighting&&l.defines.push("ONLY_SUN_LIGHTING"),!i&&t.fragmentDepth&&l.defines.push("WRITE_DEPTH"),this._useLogDepth&&(s.defines.push("LOG_DEPTH"),l.defines.push("LOG_DEPTH"),l.sources.push(logDepthExtension)),this._pickSP=ShaderProgram.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:s,fragmentShaderSource:l,attributeLocations:attributeLocations$4}),e.vertexArray=this._va,e.renderState=this._rs,e.shaderProgram=this._pickSP,e.uniformMap=combine(combine(this._uniforms,this._pickUniforms),this.material._uniforms),e.executeInClosestFrustum=i),e.boundingVolume=this._boundingSphere,e.modelMatrix=this._computedModelMatrix,e.pass=i?Pass$1.TRANSLUCENT:Pass$1.OPAQUE,c.push(e)))},EllipsoidPrimitive.prototype.isDestroyed=function(){return!1},EllipsoidPrimitive.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),destroyObject(this)};var EllipsoidSurfaceAppearanceFS="varying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_st;\nvoid main()\n{\nczm_materialInput materialInput;\nvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n#ifdef FACE_FORWARD\nnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n#endif\nmaterialInput.s = v_st.s;\nmaterialInput.st = v_st;\nmaterialInput.str = vec3(v_st, 0.0);\nmaterialInput.normalEC = normalEC;\nmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\nvec3 positionToEyeEC = -v_positionEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);\n#endif\n}\n",EllipsoidSurfaceAppearanceVS="attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec2 st;\nattribute float batchId;\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionMC = position3DHigh + position3DLow;\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_st = st;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n";function EllipsoidSurfaceAppearance(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=defaultValue(e.translucent,!0),i=defaultValue(e.aboveGround,!1);this.material=defined(e.material)?e.material:Material.fromType(Material.ColorType),this.translucent=defaultValue(e.translucent,!0),this._vertexShaderSource=defaultValue(e.vertexShaderSource,EllipsoidSurfaceAppearanceVS),this._fragmentShaderSource=defaultValue(e.fragmentShaderSource,EllipsoidSurfaceAppearanceFS),this._renderState=Appearance.getDefaultRenderState(t,!i,e.renderState),this._closed=!1,this._flat=defaultValue(e.flat,!1),this._faceForward=defaultValue(e.faceForward,i),this._aboveGround=i}function Fog(){this.enabled=!0,this.density=2e-4,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}Object.defineProperties(EllipsoidSurfaceAppearance.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return EllipsoidSurfaceAppearance.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}}),EllipsoidSurfaceAppearance.VERTEX_FORMAT=VertexFormat.POSITION_AND_ST,EllipsoidSurfaceAppearance.prototype.getFragmentShaderSource=Appearance.prototype.getFragmentShaderSource,EllipsoidSurfaceAppearance.prototype.isTranslucent=Appearance.prototype.isTranslucent,EllipsoidSurfaceAppearance.prototype.getRenderState=Appearance.prototype.getRenderState;for(var heightsTable=[359.393,800.749,1275.6501,2151.1192,3141.7763,4777.5198,6281.2493,12364.307,15900.765,49889.0549,78026.8259,99260.7344,120036.3873,151011.0158,156091.1953,203849.3112,274866.9803,319916.3149,493552.0528,628733.5874],densityTable=[2e-5,2e-4,1e-4,7e-5,5e-5,4e-5,3e-5,19e-6,1e-5,85e-7,62e-7,58e-7,53e-7,52e-7,51e-7,42e-7,4e-6,34e-7,26e-7,22e-7],i$3=0;i$3<densityTable.length;++i$3)densityTable[i$3]*=1e6;for(var tableStartDensity=densityTable[1],tableEndDensity=densityTable[densityTable.length-1],j=0;j<densityTable.length;++j)densityTable[j]=(densityTable[j]-tableEndDensity)/(tableStartDensity-tableEndDensity);var tableLastIndex=0;function findInterval(e){var t,i=heightsTable,r=i.length;if(e<i[0])return tableLastIndex=0;if(e>i[r-1])return tableLastIndex=r-2;if(e>=i[tableLastIndex]){if(tableLastIndex+1<r&&e<i[tableLastIndex+1])return tableLastIndex;if(tableLastIndex+2<r&&e<i[tableLastIndex+2])return++tableLastIndex}else if(0<=tableLastIndex-1&&e>=i[tableLastIndex-1])return--tableLastIndex;for(t=0;t<r-2&&!(e>=i[t]&&e<i[t+1]);++t);return tableLastIndex=t}var scratchPositionNormal$1=new Cartesian3;function FrameRateMonitor(e){this._scene=e.scene,this.samplingWindow=defaultValue(e.samplingWindow,FrameRateMonitor.defaultSettings.samplingWindow),this.quietPeriod=defaultValue(e.quietPeriod,FrameRateMonitor.defaultSettings.quietPeriod),this.warmupPeriod=defaultValue(e.warmupPeriod,FrameRateMonitor.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=defaultValue(e.minimumFrameRateDuringWarmup,FrameRateMonitor.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=defaultValue(e.minimumFrameRateAfterWarmup,FrameRateMonitor.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new Event,this._nominalFrameRate=new Event,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;var i=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(e,t){update$5(i)}),this._hiddenPropertyName=void 0!==document.hidden?"hidden":void 0!==document.mozHidden?"mozHidden":void 0!==document.msHidden?"msHidden":void 0!==document.webkitHidden?"webkitHidden":void 0;var t=void 0!==document.hidden?"visibilitychange":void 0!==document.mozHidden?"mozvisibilitychange":void 0!==document.msHidden?"msvisibilitychange":void 0!==document.webkitHidden?"webkitvisibilitychange":void 0;function r(){visibilityChanged(i)}this._visibilityChangeRemoveListener=void 0,defined(t)&&(document.addEventListener(t,r,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(t,r,!1)})}function update$5(e,t){if(!(0<e._pauseCount)){var i=getTimestamp$1();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=i+e.quietPeriod/TimeConstants$1.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/TimeConstants$1.SECONDS_PER_MILLISECOND;else if(i>=e._quietPeriodEndTime){e._frameTimes.push(i);var r=i-e.samplingWindow/TimeConstants$1.SECONDS_PER_MILLISECOND;if(2<=e._frameTimes.length&&e._frameTimes[0]<=r){for(;2<=e._frameTimes.length&&e._frameTimes[1]<r;)e._frameTimes.shift();var n=(i-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/n,1e3/(i>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup)<n?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}}function visibilityChanged(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}function FrameState(e,t,i){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=SceneMode$1.SCENE3D,this.morphTime=SceneMode$1.getMorphTime(SceneMode$1.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=i,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,density:void 0,sse:void 0,minimumBrightness:void 0},this.terrainExaggeration=1,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.imagerySplitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0}function FrustumCommands(e,t){this.near=defaultValue(e,0),this.far=defaultValue(t,0);for(var i=Pass$1.NUMBER_OF_PASSES,r=new Array(i),n=new Array(i),a=0;a<i;++a)r[a]=[],n[a]=0;this.commands=r,this.indices=n}Fog.prototype.update=function(e){var t,i,r;(e.fog.enabled=this.enabled)&&(!defined(i=(t=e.camera).positionCartographic)||8e5<i.height||e.mode!==SceneMode$1.SCENE3D?e.fog.enabled=!1:(i=findInterval(r=i.height),r=CesiumMath.clamp((r-heightsTable[i])/(heightsTable[i+1]-heightsTable[i]),0,1),i=(i=CesiumMath.lerp(densityTable[i],densityTable[i+1],r))*((r=1e6*this.density)-r/tableStartDensity*tableEndDensity)*1e-6,r=Cartesian3.normalize(t.positionWC,scratchPositionNormal$1),i*=1-Math.abs(Cartesian3.dot(t.directionWC,r)),e.fog.density=i,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness))},FrameRateMonitor.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8},FrameRateMonitor.fromScene=function(e){return defined(e._frameRateMonitor)&&!e._frameRateMonitor.isDestroyed()||(e._frameRateMonitor=new FrameRateMonitor({scene:e})),e._frameRateMonitor},Object.defineProperties(FrameRateMonitor.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}}),FrameRateMonitor.prototype.pause=function(){++this._pauseCount,1===this._pauseCount&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)},FrameRateMonitor.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)},FrameRateMonitor.prototype.isDestroyed=function(){return!1},FrameRateMonitor.prototype.destroy=function(){return this._preUpdateRemoveListener(),defined(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),destroyObject(this)};var GlobeFS="uniform vec4 u_initialColor;\n#if TEXTURE_UNITS > 0\nuniform sampler2D u_dayTextures[TEXTURE_UNITS];\nuniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS];\nuniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS];\n#ifdef APPLY_ALPHA\nuniform float u_dayTextureAlpha[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_DAY_NIGHT_ALPHA\nuniform float u_dayTextureNightAlpha[TEXTURE_UNITS];\nuniform float u_dayTextureDayAlpha[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_SPLIT\nuniform float u_dayTextureSplit[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_BRIGHTNESS\nuniform float u_dayTextureBrightness[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_CONTRAST\nuniform float u_dayTextureContrast[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_HUE\nuniform float u_dayTextureHue[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_SATURATION\nuniform float u_dayTextureSaturation[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_GAMMA\nuniform float u_dayTextureOneOverGamma[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_IMAGERY_CUTOUT\nuniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_COLOR_TO_ALPHA\nuniform vec4 u_colorsToAlpha[TEXTURE_UNITS];\n#endif\nuniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS];\n#endif\n#ifdef SHOW_REFLECTIVE_OCEAN\nuniform sampler2D u_waterMask;\nuniform vec4 u_waterMaskTranslationAndScale;\nuniform float u_zoomedOutOceanSpecularIntensity;\n#endif\n#ifdef SHOW_OCEAN_WAVES\nuniform sampler2D u_oceanNormalMap;\n#endif\n#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE)\nuniform vec2 u_lightingFadeDistance;\n#endif\n#ifdef TILE_LIMIT_RECTANGLE\nuniform vec4 u_cartographicLimitRectangle;\n#endif\n#ifdef GROUND_ATMOSPHERE\nuniform vec2 u_nightFadeDistance;\n#endif\n#ifdef ENABLE_CLIPPING_PLANES\nuniform highp sampler2D u_clippingPlanes;\nuniform mat4 u_clippingPlanesMatrix;\nuniform vec4 u_clippingPlanesEdgeStyle;\n#endif\n#if defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING))\nuniform float u_minimumBrightness;\n#endif\n#ifdef COLOR_CORRECT\nuniform vec3 u_hsbShift;\n#endif\n#ifdef HIGHLIGHT_FILL_TILE\nuniform vec4 u_fillHighlightColor;\n#endif\n#ifdef TRANSLUCENT\nuniform vec4 u_frontFaceAlphaByDistance;\nuniform vec4 u_backFaceAlphaByDistance;\nuniform vec4 u_translucencyRectangle;\n#endif\n#ifdef UNDERGROUND_COLOR\nuniform vec4 u_undergroundColor;\nuniform vec4 u_undergroundColorAlphaByDistance;\n#endif\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec3 v_textureCoordinates;\nvarying vec3 v_normalMC;\nvarying vec3 v_normalEC;\n#ifdef APPLY_MATERIAL\nvarying float v_height;\nvarying float v_slope;\nvarying float v_aspect;\n#endif\n#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)\nvarying float v_distance;\n#endif\n#if defined(FOG) || defined(GROUND_ATMOSPHERE)\nvarying vec3 v_fogRayleighColor;\nvarying vec3 v_fogMieColor;\n#endif\n#ifdef GROUND_ATMOSPHERE\nvarying vec3 v_rayleighColor;\nvarying vec3 v_mieColor;\n#endif\n#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)\nfloat interpolateByDistance(vec4 nearFarScalar, float distance)\n{\nfloat startDistance = nearFarScalar.x;\nfloat startValue = nearFarScalar.y;\nfloat endDistance = nearFarScalar.z;\nfloat endValue = nearFarScalar.w;\nfloat t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0);\nreturn mix(startValue, endValue, t);\n}\n#endif\n#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL)\nvec4 alphaBlend(vec4 sourceColor, vec4 destinationColor)\n{\nreturn sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a);\n}\n#endif\n#ifdef TRANSLUCENT\nbool inTranslucencyRectangle()\n{\nreturn\nv_textureCoordinates.x > u_translucencyRectangle.x &&\nv_textureCoordinates.x < u_translucencyRectangle.z &&\nv_textureCoordinates.y > u_translucencyRectangle.y &&\nv_textureCoordinates.y < u_translucencyRectangle.w;\n}\n#endif\nvec4 sampleAndBlend(\nvec4 previousColor,\nsampler2D textureToSample,\nvec2 tileTextureCoordinates,\nvec4 textureCoordinateRectangle,\nvec4 textureCoordinateTranslationAndScale,\nfloat textureAlpha,\nfloat textureNightAlpha,\nfloat textureDayAlpha,\nfloat textureBrightness,\nfloat textureContrast,\nfloat textureHue,\nfloat textureSaturation,\nfloat textureOneOverGamma,\nfloat split,\nvec4 colorToAlpha,\nfloat nightBlend)\n{\nvec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates);\ntextureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\nalphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates);\ntextureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\n#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING)\ntextureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend);\n#endif\nvec2 translation = textureCoordinateTranslationAndScale.xy;\nvec2 scale = textureCoordinateTranslationAndScale.zw;\nvec2 textureCoordinates = tileTextureCoordinates * scale + translation;\nvec4 value = texture2D(textureToSample, textureCoordinates);\nvec3 color = value.rgb;\nfloat alpha = value.a;\n#ifdef APPLY_COLOR_TO_ALPHA\nvec3 colorDiff = abs(color.rgb - colorToAlpha.rgb);\ncolorDiff.r = max(max(colorDiff.r, colorDiff.g), colorDiff.b);\nalpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha);\n#endif\n#if !defined(APPLY_GAMMA)\nvec4 tempColor = czm_gammaCorrect(vec4(color, alpha));\ncolor = tempColor.rgb;\nalpha = tempColor.a;\n#else\ncolor = pow(color, vec3(textureOneOverGamma));\n#endif\n#ifdef APPLY_SPLIT\nfloat splitPosition = czm_imagerySplitPosition;\nif (split == 1.0 && gl_FragCoord.x > splitPosition) {\nalpha = 0.0;\n}\nelse if (split == 2.0 && gl_FragCoord.x < splitPosition) {\nalpha = 0.0;\n}\nelse if(split == 3.0 && gl_FragCoord.y > splitPosition) {\nalpha = 0.0;\n}\nelse if(split == 4.0 && gl_FragCoord.y < splitPosition) {\nalpha = 0.0;\n}\n#endif\n#ifdef APPLY_BRIGHTNESS\ncolor = mix(vec3(0.0), color, textureBrightness);\n#endif\n#ifdef APPLY_CONTRAST\ncolor = mix(vec3(0.5), color, textureContrast);\n#endif\n#ifdef APPLY_HUE\ncolor = czm_hue(color, textureHue);\n#endif\n#ifdef APPLY_SATURATION\ncolor = czm_saturation(color, textureSaturation);\n#endif\nfloat sourceAlpha = alpha * textureAlpha;\nfloat outAlpha = mix(previousColor.a, 1.0, sourceAlpha);\noutAlpha += sign(outAlpha) - 1.0;\nvec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha;\nreturn vec4(outColor, max(outAlpha, 0.0));\n}\nvec3 colorCorrect(vec3 rgb) {\n#ifdef COLOR_CORRECT\nvec3 hsb = czm_RGBToHSB(rgb);\nhsb.x += u_hsbShift.x;\nhsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0);\nhsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0;\nrgb = czm_HSBToRGB(hsb);\n#endif\nreturn rgb;\n}\nvec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend);\nvec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade);\n#ifdef GROUND_ATMOSPHERE\nvec3 computeGroundAtmosphereColor(vec3 fogColor, vec4 finalColor, vec3 atmosphereLightDirection, float cameraDist);\n#endif\nconst float fExposure = 2.0;\nvoid main()\n{\n#ifdef TILE_LIMIT_RECTANGLE\nif (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x ||\nv_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y)\n{\ndiscard;\n}\n#endif\n#ifdef ENABLE_CLIPPING_PLANES\nfloat clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix);\n#endif\n#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR)\nvec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0));\nvec3 normalEC = czm_normal3D * normalMC;\n#endif\n#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING)\nfloat nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0);\n#else\nfloat nightBlend = 0.0;\n#endif\nvec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend);\n#ifdef SHOW_TILE_BOUNDARIES\nif (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) ||\nv_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0))\n{\ncolor = vec4(1.0, 0.0, 0.0, 1.0);\n}\n#endif\n#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE)\nfloat cameraDist;\nif (czm_sceneMode == czm_sceneMode2D)\n{\ncameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5;\n}\nelse if (czm_sceneMode == czm_sceneModeColumbusView)\n{\ncameraDist = -czm_view[3].z;\n}\nelse\n{\ncameraDist = length(czm_view[3]);\n}\nfloat fadeOutDist = u_lightingFadeDistance.x;\nfloat fadeInDist = u_lightingFadeDistance.y;\nif (czm_sceneMode != czm_sceneMode3D) {\nvec3 radii = czm_ellipsoidRadii;\nfloat maxRadii = max(radii.x, max(radii.y, radii.z));\nfadeOutDist -= maxRadii;\nfadeInDist -= maxRadii;\n}\nfloat fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0);\n#else\nfloat fade = 0.0;\n#endif\n#ifdef SHOW_REFLECTIVE_OCEAN\nvec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy;\nvec2 waterMaskScale = u_waterMaskTranslationAndScale.zw;\nvec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation;\nwaterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y;\nfloat mask = texture2D(u_waterMask, waterMaskTextureCoordinates).r;\nif (mask > 0.0)\n{\nmat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC);\nvec2 ellipsoidTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC);\nvec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC.zyx);\nvec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z));\ncolor = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade);\n}\n#endif\n#ifdef APPLY_MATERIAL\nczm_materialInput materialInput;\nmaterialInput.st = v_textureCoordinates.st;\nmaterialInput.normalEC = normalize(v_normalEC);\nmaterialInput.slope = v_slope;\nmaterialInput.height = v_height;\nmaterialInput.aspect = v_aspect;\nczm_material material = czm_getMaterial(materialInput);\nvec4 materialColor = vec4(material.diffuse, material.alpha);\ncolor = alphaBlend(materialColor, color);\n#endif\n#ifdef ENABLE_VERTEX_LIGHTING\nfloat diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * 0.9 + 0.3, 0.0, 1.0);\nvec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a);\n#elif defined(ENABLE_DAYNIGHT_SHADING)\nfloat diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0);\ndiffuseIntensity = mix(1.0, diffuseIntensity, fade);\nvec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a);\n#else\nvec4 finalColor = color;\n#endif\n#ifdef ENABLE_CLIPPING_PLANES\nvec4 clippingPlanesEdgeColor = vec4(1.0);\nclippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb;\nfloat clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a;\nif (clipDistance < clippingPlanesEdgeWidth)\n{\nfinalColor = clippingPlanesEdgeColor;\n}\n#endif\n#ifdef HIGHLIGHT_FILL_TILE\nfinalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a);\n#endif\n#if defined(FOG) || defined(GROUND_ATMOSPHERE)\nvec3 fogColor = colorCorrect(v_fogMieColor) + finalColor.rgb * colorCorrect(v_fogRayleighColor);\n#ifndef HDR\nfogColor = vec3(1.0) - exp(-fExposure * fogColor);\n#endif\n#endif\n#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN)\nvec3 atmosphereLightDirection = czm_sunDirectionWC;\n#else\nvec3 atmosphereLightDirection = czm_lightDirectionWC;\n#endif\n#ifdef FOG\n#if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING))\nfloat darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0);\nfogColor *= darken;\n#endif\n#ifdef HDR\nconst float modifier = 0.15;\nfinalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor, modifier), finalColor.a);\n#else\nfinalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor), finalColor.a);\n#endif\n#endif\n#ifdef GROUND_ATMOSPHERE\nif (!czm_backFacing())\n{\nvec3 groundAtmosphereColor = computeGroundAtmosphereColor(fogColor, finalColor, atmosphereLightDirection, cameraDist);\nfinalColor = vec4(mix(finalColor.rgb, groundAtmosphereColor, fade), finalColor.a);\n}\n#endif\n#ifdef UNDERGROUND_COLOR\nif (czm_backFacing())\n{\nfloat distanceFromEllipsoid = max(czm_eyeHeight, 0.0);\nfloat distance = max(v_distance - distanceFromEllipsoid, 0.0);\nfloat blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance);\nvec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount);\nfinalColor = alphaBlend(undergroundColor, finalColor);\n}\n#endif\n#ifdef TRANSLUCENT\nif (inTranslucencyRectangle())\n{\nvec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance;\nfinalColor.a *= interpolateByDistance(alphaByDistance, v_distance);\n}\n#endif\ngl_FragColor = finalColor;\n}\n#ifdef GROUND_ATMOSPHERE\nvec3 computeGroundAtmosphereColor(vec3 fogColor, vec4 finalColor, vec3 atmosphereLightDirection, float cameraDist)\n{\n#if defined(PER_FRAGMENT_GROUND_ATMOSPHERE) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING))\nfloat mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0);\nvec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0);\nxy *= czm_viewport.zw * mpp * 0.5;\nvec3 direction = normalize(vec3(xy, -czm_currentFrustum.x));\nczm_ray ray = czm_ray(vec3(0.0), direction);\nvec3 ellipsoid_center = czm_view[3].xyz;\nczm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii);\nvec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start);\nellipsoidPosition = (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz;\nAtmosphereColor atmosColor = computeGroundAtmosphereFromSpace(ellipsoidPosition, true, atmosphereLightDirection);\nvec3 groundAtmosphereColor = colorCorrect(atmosColor.mie) + finalColor.rgb * colorCorrect(atmosColor.rayleigh);\n#ifndef HDR\ngroundAtmosphereColor = vec3(1.0) - exp(-fExposure * groundAtmosphereColor);\n#endif\nfloat fadeInDist = u_nightFadeDistance.x;\nfloat fadeOutDist = u_nightFadeDistance.y;\nfloat sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0);\n#ifdef HDR\nsunlitAtmosphereIntensity = max(sunlitAtmosphereIntensity * sunlitAtmosphereIntensity, 0.03);\n#endif\ngroundAtmosphereColor = mix(groundAtmosphereColor, fogColor, sunlitAtmosphereIntensity);\n#else\nvec3 groundAtmosphereColor = fogColor;\n#endif\n#ifdef HDR\ngroundAtmosphereColor = czm_saturation(groundAtmosphereColor, 1.6);\n#endif\nreturn groundAtmosphereColor;\n}\n#endif\n#ifdef SHOW_REFLECTIVE_OCEAN\nfloat waveFade(float edge0, float edge1, float x)\n{\nfloat y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\nreturn pow(1.0 - y, 5.0);\n}\nfloat linearFade(float edge0, float edge1, float x)\n{\nreturn clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n}\nconst float oceanFrequencyLowAltitude = 825000.0;\nconst float oceanAnimationSpeedLowAltitude = 0.004;\nconst float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0;\nconst float oceanSpecularIntensity = 0.5;\nconst float oceanFrequencyHighAltitude = 125000.0;\nconst float oceanAnimationSpeedHighAltitude = 0.008;\nconst float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0;\nvec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade)\n{\nvec3 positionToEyeEC = -positionEyeCoordinates;\nfloat positionToEyeECLength = length(positionToEyeEC);\nvec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC));\nfloat waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength);\n#ifdef SHOW_OCEAN_WAVES\nfloat time = czm_frameNumber * oceanAnimationSpeedHighAltitude;\nvec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0);\nvec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude);\ntime = czm_frameNumber * oceanAnimationSpeedLowAltitude;\nnoise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0);\nvec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude);\nfloat highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength);\nfloat lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength);\nvec3 normalTangentSpace =\n(highAltitudeFade * normalTangentSpaceHighAltitude) +\n(lowAltitudeFade * normalTangentSpaceLowAltitude);\nnormalTangentSpace = normalize(normalTangentSpace);\nnormalTangentSpace.xy *= waveIntensity;\nnormalTangentSpace = normalize(normalTangentSpace);\n#else\nvec3 normalTangentSpace = vec3(0.0, 0.0, 1.0);\n#endif\nvec3 normalEC = enuToEye * normalTangentSpace;\nconst vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6);\nfloat diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue;\nvec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade);\n#ifdef SHOW_OCEAN_WAVES\nfloat tsPerturbationRatio = normalTangentSpace.z;\nvec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity);\n#else\nvec3 nonDiffuseHighlight = vec3(0.0);\n#endif\nfloat specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0);\nfloat surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue);\nfloat specular = specularIntensity * surfaceReflectance;\n#ifdef HDR\nspecular *= 1.4;\nfloat e = 0.2;\nfloat d = 3.3;\nfloat c = 1.7;\nvec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular));\n#else\nvec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular;\n#endif\nreturn vec4(color, imageryColor.a);\n}\n#endif // #ifdef SHOW_REFLECTIVE_OCEAN\n",GlobeVS="#ifdef QUANTIZATION_BITS12\nattribute vec4 compressed0;\nattribute float compressed1;\n#else\nattribute vec4 position3DAndHeight;\nattribute vec4 textureCoordAndEncodedNormals;\n#endif\nuniform vec3 u_center3D;\nuniform mat4 u_modifiedModelView;\nuniform mat4 u_modifiedModelViewProjection;\nuniform vec4 u_tileRectangle;\nuniform vec2 u_southAndNorthLatitude;\nuniform vec2 u_southMercatorYAndOneOverHeight;\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec3 v_textureCoordinates;\nvarying vec3 v_normalMC;\nvarying vec3 v_normalEC;\n#ifdef APPLY_MATERIAL\nvarying float v_slope;\nvarying float v_aspect;\nvarying float v_height;\n#endif\n#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)\nvarying float v_distance;\n#endif\n#if defined(FOG) || defined(GROUND_ATMOSPHERE)\nvarying vec3 v_fogMieColor;\nvarying vec3 v_fogRayleighColor;\n#endif\nvec4 getPosition(vec3 position, float height, vec2 textureCoordinates);\nfloat get2DYPositionFraction(vec2 textureCoordinates);\nvec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates)\n{\nreturn u_modifiedModelViewProjection * vec4(position, 1.0);\n}\nfloat get2DMercatorYPositionFraction(vec2 textureCoordinates)\n{\nconst float maxTileWidth = 0.003068;\nfloat positionFraction = textureCoordinates.y;\nfloat southLatitude = u_southAndNorthLatitude.x;\nfloat northLatitude = u_southAndNorthLatitude.y;\nif (northLatitude - southLatitude > maxTileWidth)\n{\nfloat southMercatorY = u_southMercatorYAndOneOverHeight.x;\nfloat oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y;\nfloat currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y);\ncurrentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude);\npositionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight);\n}\nreturn positionFraction;\n}\nfloat get2DGeographicYPositionFraction(vec2 textureCoordinates)\n{\nreturn textureCoordinates.y;\n}\nvec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates)\n{\nfloat yPositionFraction = get2DYPositionFraction(textureCoordinates);\nvec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);\nreturn u_modifiedModelViewProjection * rtcPosition2D;\n}\nvec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates)\n{\nreturn getPositionPlanarEarth(position, 0.0, textureCoordinates);\n}\nvec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates)\n{\nreturn getPositionPlanarEarth(position, height, textureCoordinates);\n}\nvec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates)\n{\nvec3 position3DWC = position + u_center3D;\nfloat yPositionFraction = get2DYPositionFraction(textureCoordinates);\nvec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);\nvec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime);\nreturn czm_modelViewProjection * morphPosition;\n}\n#ifdef QUANTIZATION_BITS12\nuniform vec2 u_minMaxHeight;\nuniform mat4 u_scaleAndBias;\n#endif\nvoid main()\n{\n#ifdef QUANTIZATION_BITS12\nvec2 xy = czm_decompressTextureCoordinates(compressed0.x);\nvec2 zh = czm_decompressTextureCoordinates(compressed0.y);\nvec3 position = vec3(xy, zh.x);\nfloat height = zh.y;\nvec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z);\nheight = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x;\nposition = (u_scaleAndBias * vec4(position, 1.0)).xyz;\n#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y)\nfloat webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x;\nfloat encodedNormal = compressed1;\n#elif defined(INCLUDE_WEB_MERCATOR_Y)\nfloat webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x;\nfloat encodedNormal = 0.0;\n#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)\nfloat webMercatorT = textureCoordinates.y;\nfloat encodedNormal = compressed0.w;\n#else\nfloat webMercatorT = textureCoordinates.y;\nfloat encodedNormal = 0.0;\n#endif\n#else\nvec3 position = position3DAndHeight.xyz;\nfloat height = position3DAndHeight.w;\nvec2 textureCoordinates = textureCoordAndEncodedNormals.xy;\n#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y)\nfloat webMercatorT = textureCoordAndEncodedNormals.z;\nfloat encodedNormal = textureCoordAndEncodedNormals.w;\n#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)\nfloat webMercatorT = textureCoordinates.y;\nfloat encodedNormal = textureCoordAndEncodedNormals.z;\n#elif defined(INCLUDE_WEB_MERCATOR_Y)\nfloat webMercatorT = textureCoordAndEncodedNormals.z;\nfloat encodedNormal = 0.0;\n#else\nfloat webMercatorT = textureCoordinates.y;\nfloat encodedNormal = 0.0;\n#endif\n#endif\nvec3 position3DWC = position + u_center3D;\ngl_Position = getPosition(position, height, textureCoordinates);\nv_textureCoordinates = vec3(textureCoordinates, webMercatorT);\n#if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)\nv_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz;\nv_positionMC = position3DWC;\nvec3 normalMC = czm_octDecode(encodedNormal);\nv_normalMC = normalMC;\nv_normalEC = czm_normal3D * v_normalMC;\n#elif defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(GENERATE_POSITION) || defined(HDR)\nv_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz;\nv_positionMC = position3DWC;\n#endif\n#if defined(FOG) || defined(GROUND_ATMOSPHERE)\nAtmosphereColor atmosFogColor = computeGroundAtmosphereFromSpace(position3DWC, false, vec3(0.0));\nv_fogMieColor = atmosFogColor.mie;\nv_fogRayleighColor = atmosFogColor.rayleigh;\n#endif\n#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)\nv_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz);\n#endif\n#ifdef APPLY_MATERIAL\nfloat northPoleZ = czm_ellipsoidRadii.z;\nvec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ);\nvec3 ellipsoidNormal = normalize(v_positionMC);\nvec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal));\nfloat dotProd = abs(dot(ellipsoidNormal, v_normalMC));\nv_slope = acos(dotProd);\nvec3 normalRejected = ellipsoidNormal * dotProd;\nvec3 normalProjected = v_normalMC - normalRejected;\nvec3 aspectVector = normalize(normalProjected);\nv_aspect = acos(dot(aspectVector, vectorEastMC));\nfloat determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal);\nv_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect);\nv_height = height;\n#endif\n}\n",GroundAtmosphere="const float Kr = 0.0025;\nconst float Km = 0.0015;\nconst float ESun = 15.0;\nconst float fKrESun = Kr * ESun;\nconst float fKmESun = Km * ESun;\nconst float fKr4PI = Kr * 4.0 * czm_pi;\nconst float fKm4PI = Km * 4.0 * czm_pi;\nconst vec3 v3InvWavelength = vec3(5.60204474633241, 9.473284437923038, 19.64380261047721);\nconst float fScaleDepth = 0.25;\nstruct AtmosphereColor\n{\nvec3 mie;\nvec3 rayleigh;\n};\nconst int nSamples = 2;\nconst float fSamples = 2.0;\nfloat scale(float fCos)\n{\nfloat x = 1.0 - fCos;\nreturn fScaleDepth * exp(-0.00287 + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\n}\nAtmosphereColor computeGroundAtmosphereFromSpace(vec3 v3Pos, bool dynamicLighting, vec3 lightDirectionWC)\n{\nfloat fInnerRadius = czm_ellipsoidRadii.x;\nfloat fOuterRadius = czm_ellipsoidRadii.x * 1.025;\nfloat fOuterRadius2 = fOuterRadius * fOuterRadius;\nfloat fScale = 1.0 / (fOuterRadius - fInnerRadius);\nfloat fScaleOverScaleDepth = fScale / fScaleDepth;\nvec3 v3Ray = v3Pos - czm_viewerPositionWC;\nfloat fFar = length(v3Ray);\nv3Ray /= fFar;\nfloat fCameraHeight = length(czm_viewerPositionWC);\nfloat fCameraHeight2 = fCameraHeight * fCameraHeight;\nfloat B = 2.0 * length(czm_viewerPositionWC) * dot(normalize(czm_viewerPositionWC), v3Ray);\nfloat C = fCameraHeight2 - fOuterRadius2;\nfloat fDet = max(0.0, B*B - 4.0 * C);\nfloat fNear = 0.5 * (-B - sqrt(fDet));\nvec3 v3Start = czm_viewerPositionWC + v3Ray * fNear;\nfFar -= fNear;\nfloat fDepth = exp((fInnerRadius - fOuterRadius) / fScaleDepth);\nfloat fLightAngle = czm_branchFreeTernary(dynamicLighting, dot(lightDirectionWC, v3Pos) / length(v3Pos), 1.0);\nfloat fCameraAngle = dot(-v3Ray, v3Pos) / length(v3Pos);\nfloat fCameraScale = scale(fCameraAngle);\nfloat fLightScale = scale(fLightAngle);\nfloat fCameraOffset = fDepth*fCameraScale;\nfloat fTemp = (fLightScale + fCameraScale);\nfloat fSampleLength = fFar / fSamples;\nfloat fScaledLength = fSampleLength * fScale;\nvec3 v3SampleRay = v3Ray * fSampleLength;\nvec3 v3SamplePoint = v3Start + v3SampleRay * 0.5;\nvec3 v3FrontColor = vec3(0.0);\nvec3 v3Attenuate = vec3(0.0);\nfor(int i=0; i<nSamples; i++)\n{\nfloat fHeight = length(v3SamplePoint);\nfloat fDepth = exp(fScaleOverScaleDepth * (fInnerRadius - fHeight));\nfloat fScatter = fDepth*fTemp - fCameraOffset;\nv3Attenuate = exp(-fScatter * (v3InvWavelength * fKr4PI + fKm4PI));\nv3FrontColor += v3Attenuate * (fDepth * fScaledLength);\nv3SamplePoint += v3SampleRay;\n}\nAtmosphereColor color;\ncolor.mie = v3FrontColor * (v3InvWavelength * fKrESun + fKmESun);\ncolor.rayleigh = v3Attenuate;\nreturn color;\n}\n";function GlobeSurfaceShader(e,t,i,r,n){this.numberOfDayTextures=e,this.flags=t,this.material=i,this.shaderProgram=r,this.clippingShaderState=n}function GlobeSurfaceShaderSet(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function getPositionMode(e){var t;switch(e){case SceneMode$1.SCENE3D:t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }";break;case SceneMode$1.SCENE2D:case SceneMode$1.COLUMBUS_VIEW:t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }";break;case SceneMode$1.MORPHING:t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }"}return t}function get2DYPositionFraction(e){return e?"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }":"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }"}GlobeSurfaceShaderSet.prototype.getShaderProgram=function(e){var t=e.frameState,i=e.surfaceTile,r=e.numberOfDayTextures,n=e.applyBrightness,a=e.applyContrast,o=e.applyHue,s=e.applySaturation,l=e.applyGamma,c=e.applyAlpha,u=e.applyDayNightAlpha,d=e.applySplit,h=e.showReflectiveOcean,p=e.showOceanWaves,m=e.enableLighting,f=e.dynamicAtmosphereLighting,g=e.dynamicAtmosphereLightingFromSun,_=e.showGroundAtmosphere,y=e.perFragmentGroundAtmosphere,C=e.hasVertexNormals,v=e.useWebMercatorProjection,S=e.enableFog,T=e.enableClippingPlanes,b=e.clippingPlanes,x=e.clippedByBoundaries,E=e.hasImageryLayerCutout,P=e.colorCorrect,A=e.highlightFillTile,w=e.colorToAlpha,D=e.showUndergroundColor,M=e.translucent,I=0,R="",O=i.renderedMesh.encoding;O.quantization===TerrainQuantization$1.BITS12&&(I=1,R="QUANTIZATION_BITS12");var L=0,F="";x&&(L=1,F="TILE_LIMIT_RECTANGLE");var N=0,B="";E&&(N=1,B="APPLY_IMAGERY_CUTOUT");var V=t.mode,k=V|n<<2|a<<3|o<<4|s<<5|l<<6|c<<7|h<<8|p<<9|m<<10|f<<11|g<<12|_<<13|y<<14|C<<15|v<<16|S<<17|I<<18|d<<19|T<<20|L<<21|N<<22|P<<23|A<<24|w<<25|D<<26|M<<27|u<<28,e=0;if(defined(b)&&0<b.length&&(e=T?b.clippingPlanesState:0),defined(x=i.surfaceShader)&&x.numberOfDayTextures===r&&x.flags===k&&x.material===this.material&&x.clippingShaderState===e)return x.shaderProgram;I=this._shadersByTexturesFlags[r];if(defined(I)||(I=this._shadersByTexturesFlags[r]=[]),!defined(x=I[k])||x.material!==this.material||x.clippingShaderState!==e){L=this.baseVertexShaderSource.clone(),N=this.baseFragmentShaderSource.clone();0!==e&&N.sources.unshift(getClippingFunction(b,t.context)),L.defines.push(R),N.defines.push("TEXTURE_UNITS "+r,F,B),n&&N.defines.push("APPLY_BRIGHTNESS"),a&&N.defines.push("APPLY_CONTRAST"),o&&N.defines.push("APPLY_HUE"),s&&N.defines.push("APPLY_SATURATION"),l&&N.defines.push("APPLY_GAMMA"),c&&N.defines.push("APPLY_ALPHA"),u&&N.defines.push("APPLY_DAY_NIGHT_ALPHA"),h&&(N.defines.push("SHOW_REFLECTIVE_OCEAN"),L.defines.push("SHOW_REFLECTIVE_OCEAN")),p&&N.defines.push("SHOW_OCEAN_WAVES"),w&&N.defines.push("APPLY_COLOR_TO_ALPHA"),D&&(L.defines.push("UNDERGROUND_COLOR"),N.defines.push("UNDERGROUND_COLOR")),M&&(L.defines.push("TRANSLUCENT"),N.defines.push("TRANSLUCENT")),m&&(C?(L.defines.push("ENABLE_VERTEX_LIGHTING"),N.defines.push("ENABLE_VERTEX_LIGHTING")):(L.defines.push("ENABLE_DAYNIGHT_SHADING"),N.defines.push("ENABLE_DAYNIGHT_SHADING"))),f&&(N.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),g&&N.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN")),_&&(L.defines.push("GROUND_ATMOSPHERE"),N.defines.push("GROUND_ATMOSPHERE"),y&&N.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE")),L.defines.push("INCLUDE_WEB_MERCATOR_Y"),N.defines.push("INCLUDE_WEB_MERCATOR_Y"),S&&(L.defines.push("FOG"),N.defines.push("FOG")),d&&N.defines.push("APPLY_SPLIT"),T&&N.defines.push("ENABLE_CLIPPING_PLANES"),P&&N.defines.push("COLOR_CORRECT"),A&&N.defines.push("HIGHLIGHT_FILL_TILE");var z=" vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend)\n {\n vec4 color = initialColor;\n";E&&(z+=" vec4 cutoutAndColorResult;\n bool texelUnclipped;\n");for(var U=0;U<r;++U)z+=E?" cutoutAndColorResult = u_dayTextureCutoutRectangles["+U+"];\n texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y;\n cutoutAndColorResult = sampleAndBlend(\n":" color = sampleAndBlend(\n",z+=" color,\n u_dayTextures["+U+"],\n u_dayTextureUseWebMercatorT["+U+"] ? textureCoordinates.xz : textureCoordinates.xy,\n u_dayTextureTexCoordsRectangle["+U+"],\n u_dayTextureTranslationAndScale["+U+"],\n "+(c?"u_dayTextureAlpha["+U+"]":"1.0")+",\n "+(u?"u_dayTextureNightAlpha["+U+"]":"1.0")+",\n"+(u?"u_dayTextureDayAlpha["+U+"]":"1.0")+",\n"+(n?"u_dayTextureBrightness["+U+"]":"0.0")+",\n "+(a?"u_dayTextureContrast["+U+"]":"0.0")+",\n "+(o?"u_dayTextureHue["+U+"]":"0.0")+",\n "+(s?"u_dayTextureSaturation["+U+"]":"0.0")+",\n "+(l?"u_dayTextureOneOverGamma["+U+"]":"0.0")+",\n "+(d?"u_dayTextureSplit["+U+"]":"0.0")+",\n "+(w?"u_colorsToAlpha["+U+"]":"vec4(0.0)")+",\n nightBlend );\n",E&&(z+=" color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color);\n");z+=" return color;\n }",N.sources.push(z),L.sources.push(getPositionMode(V)),L.sources.push(get2DYPositionFraction(v));O=ShaderProgram.fromCache({context:t.context,vertexShaderSource:L,fragmentShaderSource:N,attributeLocations:O.getAttributeLocations()}),x=I[k]=new GlobeSurfaceShader(r,k,this.material,O,e)}return(i.surfaceShader=x).shaderProgram},GlobeSurfaceShaderSet.prototype.destroy=function(){var e,t,i,r=this._shadersByTexturesFlags;for(i in r)if(r.hasOwnProperty(i)){var n=r[i];if(defined(n))for(e in n)n.hasOwnProperty(e)&&defined(t=n[e])&&t.shaderProgram.destroy()}return destroyObject(this)};var ImageryState={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},ImageryState$1=Object.freeze(ImageryState),QuadtreeTileLoadState={START:0,LOADING:1,DONE:2,FAILED:3},QuadtreeTileLoadState$1=Object.freeze(QuadtreeTileLoadState),TerrainState$1={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},TerrainState$2=Object.freeze(TerrainState$1);function GlobeSurfaceTile(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new Cartesian4(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.orientedBoundingBox=void 0,this.boundingVolumeSourceTile=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new Cartesian3,this.terrainState=TerrainState$2.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new BoundingSphere,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}function getPosition$2(e,t,i,r,n,a){return e.decodePosition(r,n,a),defined(t)&&t!==SceneMode$1.SCENE3D&&(t=i.ellipsoid.cartesianToCartographic(a),i.project(t,a),Cartesian3.fromElements(a.z,a.x,a.y,a)),a}Object.defineProperties(GlobeSurfaceTile.prototype,{eligibleForUnloading:{get:function(){for(var e=this.terrainState,t=!(e===TerrainState$2.RECEIVING||e===TerrainState$2.TRANSFORMING),i=this.imagery,r=0,n=i.length;t&&r<n;++r)var a=i[r],t=!defined(a.loadingImagery)||a.loadingImagery.state!==ImageryState$1.TRANSITIONING;return t}},renderedMesh:{get:function(){return defined(this.vertexArray)?this.mesh:defined(this.fill)?this.fill.mesh:void 0}}});var scratchV0=new Cartesian3,scratchV1=new Cartesian3,scratchV2=new Cartesian3;function prepareNewTile(e,t,i){!1===t.getTileDataAvailable(e.x,e.y,e.level)&&(e.data.terrainState=TerrainState$2.FAILED);for(var r=0,n=i.length;r<n;++r){var a=i.get(r);a.show&&a._createTileImagerySkeletons(e,t)}}function processTerrainStateMachine(e,t,i,r,n){var a=e.data,o=e.parent;a.terrainState===TerrainState$2.FAILED&&void 0!==o&&(void 0!==o.data&&void 0!==o.data.terrainData&&!1!==o.data.terrainData.canUpsample||GlobeSurfaceTile.processStateMachine(o,t,i,r,!0)),a.terrainState===TerrainState$2.FAILED&&upsample(a,e,t,i,e.x,e.y,e.level),a.terrainState===TerrainState$2.UNLOADED&&requestTileGeometry$1(a,i,e.x,e.y,e.level),a.terrainState===TerrainState$2.RECEIVED&&transform$1(a,t,i,e.x,e.y,e.level),a.terrainState===TerrainState$2.TRANSFORMED&&createResources$4(a,t.context,i,e.x,e.y,e.level,n),a.terrainState>=TerrainState$2.RECEIVED&&void 0===a.waterMaskTexture&&i.hasWaterMask&&(void 0!==a.terrainData.waterMask?createWaterMaskTextureIfNeeded(t.context,a):defined(t=a._findAncestorTileWithTerrainData(e))&&defined(t.data.waterMaskTexture)&&(a.waterMaskTexture=t.data.waterMaskTexture,++a.waterMaskTexture.referenceCount,a._computeWaterMaskTranslationAndScale(e,t,a.waterMaskTranslationAndScale)))}function upsample(t,e,i,r,n,a,o){var s,l,c,u=e.parent;u?(s=u.data.terrainData,l=u.x,c=u.y,u=u.level,!defined(s)||defined(o=s.upsample(r.tilingScheme,l,c,u,n,a,o))&&(t.terrainState=TerrainState$2.RECEIVING,when(o,function(e){t.terrainData=e,t.terrainState=TerrainState$2.RECEIVED},function(){t.terrainState=TerrainState$2.FAILED}))):e.state=QuadtreeTileLoadState$1.FAILED}function requestTileGeometry$1(t,i,r,n,a){function o(e){t.terrainData=e,t.terrainState=TerrainState$2.RECEIVED,t.request=void 0}function s(){if(t.request.state===RequestState$1.CANCELLED)return t.terrainData=void 0,t.terrainState=TerrainState$2.UNLOADED,void(t.request=void 0);t.terrainState=TerrainState$2.FAILED,t.request=void 0;var e="Failed to obtain terrain tile X: "+r+" Y: "+n+" Level: "+a+".";i._requestError=TileProviderError.handleError(i._requestError,i,i.errorEvent,e,r,n,a,l)}function l(){var e=new Request({throttle:!1,throttleByServer:!0,type:RequestType$1.TERRAIN});t.request=e;e=i.requestTileGeometry(r,n,a,e);defined(e)?(t.terrainState=TerrainState$2.RECEIVING,when(e,o,s)):(t.terrainState=TerrainState$2.UNLOADED,t.request=void 0)}l()}function transform$1(t,e,i,r,n,a){i=i.tilingScheme,e=t.terrainData.createMesh(i,r,n,a,e.terrainExaggeration);defined(e)&&(t.terrainState=TerrainState$2.TRANSFORMING,when(e,function(e){t.mesh=e,t.orientedBoundingBox=OrientedBoundingBox.clone(e.orientedBoundingBox,t.orientedBoundingBox),t.occludeePointInScaledSpace=Cartesian3.clone(e.occludeePointInScaledSpace,t.occludeePointInScaledSpace),t.terrainState=TerrainState$2.TRANSFORMED},function(){t.terrainState=TerrainState$2.FAILED}))}function createResources$4(e,t,i,r,n,a,o){e.vertexArray=GlobeSurfaceTile._createVertexArrayForMesh(t,e.mesh),e.terrainState=TerrainState$2.READY,e.fill=e.fill&&e.fill.destroy(o)}function getContextWaterMaskData(e){var t,i=e.cache.tile_waterMaskData;return defined(i)||((t=Texture.create({context:e,pixelFormat:PixelFormat$1.LUMINANCE,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}})).referenceCount=1,i={allWaterTexture:t,sampler:new Sampler({wrapS:TextureWrap$1.CLAMP_TO_EDGE,wrapT:TextureWrap$1.CLAMP_TO_EDGE,minificationFilter:TextureMinificationFilter$1.LINEAR,magnificationFilter:TextureMagnificationFilter$1.LINEAR}),destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=i),i}function createWaterMaskTextureIfNeeded(e,t){var i=t.terrainData.waterMask,r=getContextWaterMaskData(e),n=i.length;if(1===n){if(0===i[0])return;a=r.allWaterTexture}else{var a,n=Math.sqrt(n);(a=Texture.create({context:e,pixelFormat:PixelFormat$1.LUMINANCE,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,source:{width:n,height:n,arrayBufferView:i},sampler:r.sampler,flipY:!1})).referenceCount=0}++a.referenceCount,t.waterMaskTexture=a,Cartesian4.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}GlobeSurfaceTile.prototype.pick=function(e,t,i,r,n){var a=this.renderedMesh;if(defined(a)){for(var o=a.vertices,s=a.indices,l=a.encoding,c=s.length,u=Number.MAX_VALUE,d=0;d<c;d+=3){var h=s[d],p=s[d+1],m=s[d+2],h=getPosition$2(l,t,i,o,h,scratchV0),p=getPosition$2(l,t,i,o,p,scratchV1),m=getPosition$2(l,t,i,o,m,scratchV2),m=IntersectionTests.rayTriangleParametric(e,h,p,m,r);defined(m)&&m<u&&0<=m&&(u=m)}return u!==Number.MAX_VALUE?Ray.getPoint(e,u,n):void 0}},GlobeSurfaceTile.prototype.freeResources=function(){defined(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,0===this.waterMaskTexture.referenceCount&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=TerrainState$2.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();for(var e=this.imagery,t=0,i=e.length;t<i;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()},GlobeSurfaceTile.prototype.freeVertexArray=function(){GlobeSurfaceTile._freeVertexArray(this.vertexArray),this.vertexArray=void 0,GlobeSurfaceTile._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0},GlobeSurfaceTile.initialize=function(e,t,i){defined(e.data)||(e.data=new GlobeSurfaceTile),e.state===QuadtreeTileLoadState$1.START&&(prepareNewTile(e,t,i),e.state=QuadtreeTileLoadState$1.LOADING)},GlobeSurfaceTile.processStateMachine=function(e,t,i,r,n,a){GlobeSurfaceTile.initialize(e,i,r);var o=e.data;if(e.state===QuadtreeTileLoadState$1.LOADING&&processTerrainStateMachine(e,t,i,r,n),!a){n=e.renderable;e.renderable=defined(o.vertexArray);a=o.terrainState===TerrainState$2.READY;e.upsampledFromParent=defined(o.terrainData)&&o.terrainData.wasCreatedByUpsampling();t=o.processImagery(e,i,t);if(a&&t){var s,l=e._loadedCallbacks,c={};for(s in l)l.hasOwnProperty(s)&&(l[s](e)||(c[s]=l[s]));e._loadedCallbacks=c,e.state=QuadtreeTileLoadState$1.DONE}n&&(e.renderable=!0)}},GlobeSurfaceTile.prototype.processImagery=function(e,t,i,r){for(var n=e.data,a=e.upsampledFromParent,o=!1,s=!0,l=n.imagery,c=0,u=l.length;c<u;++c){var d=l[c];if(defined(d.loadingImagery)){if(d.loadingImagery.state===ImageryState$1.PLACEHOLDER){var h=d.loadingImagery.imageryLayer;if(h.imageryProvider.ready){d.freeResources(),l.splice(c,1),h._createTileImagerySkeletons(e,t,c),--c,u=l.length;continue}a=!1}h=d.processStateMachine(e,i,r),s=s&&h,o=o||h||defined(d.readyImagery),a=a&&defined(d.loadingImagery)&&(d.loadingImagery.state===ImageryState$1.FAILED||d.loadingImagery.state===ImageryState$1.INVALID)}else a=!1}return e.upsampledFromParent=a,e.renderable=e.renderable&&(o||s),s},GlobeSurfaceTile._createVertexArrayForMesh=function(e,t){var i=t.vertices,r=Buffer$1.createVertexBuffer({context:e,typedArray:i,usage:BufferUsage$1.STATIC_DRAW}),n=t.encoding.getAttributes(r),a=t.indices.indexBuffers||{},i=a[e.id];return!defined(i)||i.isDestroyed()?(r=t.indices,(i=Buffer$1.createIndexBuffer({context:e,typedArray:r,usage:BufferUsage$1.STATIC_DRAW,indexDatatype:IndexDatatype$1.fromSizeInBytes(r.BYTES_PER_ELEMENT)})).vertexArrayDestroyable=!1,i.referenceCount=1,a[e.id]=i,t.indices.indexBuffers=a):++i.referenceCount,new VertexArray({context:e,attributes:n,indexBuffer:i})},GlobeSurfaceTile._freeVertexArray=function(e){var t;defined(e)&&(t=e.indexBuffer,e.destroy(),defined(t)&&!t.isDestroyed()&&defined(t.referenceCount)&&(--t.referenceCount,0===t.referenceCount&&t.destroy()))},GlobeSurfaceTile.prototype._findAncestorTileWithTerrainData=function(e){for(var t=e.parent;defined(t)&&(!defined(t.data)||!defined(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling());)t=t.parent;return t},GlobeSurfaceTile.prototype._computeWaterMaskTranslationAndScale=function(e,t,i){var r=t.rectangle,n=e.rectangle,a=n.width,o=n.height,t=a/r.width,e=o/r.height;return i.x=t*(n.west-r.west)/a,i.y=e*(n.south-r.south)/o,i.z=t,i.w=e,i};var ReprojectWebMercatorFS="uniform sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_FragColor = texture2D(u_texture, v_textureCoordinates);\n}\n",ReprojectWebMercatorVS="attribute vec4 position;\nattribute float webMercatorT;\nuniform vec2 u_textureDimensions;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nv_textureCoordinates = vec2(position.x, webMercatorT);\ngl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0));\n}\n";function Imagery(e,t,i,r,n){var a,o,s;this.imageryLayer=e,this.x=t,this.y=i,this.level=r,this.request=void 0,0!==r&&(a=t/2|0,o=i/2|0,s=r-1,this.parent=e.getImageryFromCache(a,o,s)),this.state=ImageryState$1.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!defined(n)&&e.imageryProvider.ready&&(n=e.imageryProvider.tilingScheme.tileXYToRectangle(t,i,r)),this.rectangle=n}Imagery.createPlaceholder=function(e){e=new Imagery(e,0,0,0);return e.addReference(),e.state=ImageryState$1.PLACEHOLDER,e},Imagery.prototype.addReference=function(){++this.referenceCount},Imagery.prototype.releaseReference=function(){return--this.referenceCount,0===this.referenceCount?(this.imageryLayer.removeImageryFromCache(this),defined(this.parent)&&this.parent.releaseReference(),defined(this.image)&&defined(this.image.destroy)&&this.image.destroy(),defined(this.texture)&&this.texture.destroy(),defined(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),destroyObject(this),0):this.referenceCount},Imagery.prototype.processStateMachine=function(e,t,i){this.state!==ImageryState$1.UNLOADED||i||(this.state=ImageryState$1.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===ImageryState$1.RECEIVED&&(this.state=ImageryState$1.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));i=this.state===ImageryState$1.READY&&t&&!this.texture;this.state!==ImageryState$1.TEXTURE_LOADED&&!i||(this.state=ImageryState$1.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var ImagerySplitDirection={LEFT:1,NONE:0,RIGHT:2,UP:3,BOTTOM:4},ImagerySplitDirection$1=Object.freeze(ImagerySplitDirection);function TileImagery(e,t,i){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=i}function ImageryLayer(e,t){this._imageryProvider=e,t=defaultValue(t,defaultValue.EMPTY_OBJECT),this.alpha=defaultValue(t.alpha,defaultValue(e.defaultAlpha,1)),this.nightAlpha=defaultValue(t.nightAlpha,defaultValue(e.defaultNightAlpha,1)),this.dayAlpha=defaultValue(t.dayAlpha,defaultValue(e.defaultDayAlpha,1)),this.brightness=defaultValue(t.brightness,defaultValue(e.defaultBrightness,ImageryLayer.DEFAULT_BRIGHTNESS)),this.contrast=defaultValue(t.contrast,defaultValue(e.defaultContrast,ImageryLayer.DEFAULT_CONTRAST)),this.hue=defaultValue(t.hue,defaultValue(e.defaultHue,ImageryLayer.DEFAULT_HUE)),this.saturation=defaultValue(t.saturation,defaultValue(e.defaultSaturation,ImageryLayer.DEFAULT_SATURATION)),this.gamma=defaultValue(t.gamma,defaultValue(e.defaultGamma,ImageryLayer.DEFAULT_GAMMA)),this.splitDirection=defaultValue(t.splitDirection,defaultValue(e.defaultSplit,ImageryLayer.DEFAULT_SPLIT)),this.minificationFilter=defaultValue(t.minificationFilter,defaultValue(e.defaultMinificationFilter,ImageryLayer.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=defaultValue(t.magnificationFilter,defaultValue(e.defaultMagnificationFilter,ImageryLayer.DEFAULT_MAGNIFICATION_FILTER)),this.show=defaultValue(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=defaultValue(t.rectangle,Rectangle.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new TileImagery(Imagery.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=defaultValue(t.colorToAlphaThreshold,ImageryLayer.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD)}TileImagery.prototype.freeResources=function(){defined(this.readyImagery)&&this.readyImagery.releaseReference(),defined(this.loadingImagery)&&this.loadingImagery.releaseReference()},TileImagery.prototype.processStateMachine=function(e,t,i){var r=this.loadingImagery,n=r.imageryLayer;if(r.processStateMachine(t,!this.useWebMercatorT,i),r.state===ImageryState$1.READY)return defined(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=n._calculateTextureTranslationAndScale(e,this),!0;for(var a,o=r.parent;defined(o)&&(o.state!==ImageryState$1.READY||!this.useWebMercatorT&&!defined(o.texture));)o.state!==ImageryState$1.FAILED&&o.state!==ImageryState$1.INVALID&&(a=a||o),o=o.parent;return this.readyImagery!==o&&(defined(this.readyImagery)&&this.readyImagery.releaseReference(),defined(this.readyImagery=o)&&(o.addReference(),this.textureTranslationAndScale=n._calculateTextureTranslationAndScale(e,this))),(r.state===ImageryState$1.FAILED||r.state===ImageryState$1.INVALID)&&(!defined(a)||(a.processStateMachine(t,!this.useWebMercatorT,i),!1))},Object.defineProperties(ImageryLayer.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},rectangle:{get:function(){return this._rectangle}}}),ImageryLayer.DEFAULT_BRIGHTNESS=1,ImageryLayer.DEFAULT_CONTRAST=1,ImageryLayer.DEFAULT_HUE=0,ImageryLayer.DEFAULT_SATURATION=1,ImageryLayer.DEFAULT_GAMMA=1,ImageryLayer.DEFAULT_SPLIT=ImagerySplitDirection$1.NONE,ImageryLayer.DEFAULT_MINIFICATION_FILTER=TextureMinificationFilter$1.LINEAR,ImageryLayer.DEFAULT_MAGNIFICATION_FILTER=TextureMagnificationFilter$1.LINEAR,ImageryLayer.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004,ImageryLayer.prototype.isBaseLayer=function(){return this._isBaseLayer},ImageryLayer.prototype.isDestroyed=function(){return!1},ImageryLayer.prototype.destroy=function(){return destroyObject(this)};var imageryBoundsScratch=new Rectangle,tileImageryBoundsScratch=new Rectangle,clippedRectangleScratch=new Rectangle,terrainRectangleScratch=new Rectangle;function getSamplerKey(e,t,i){return e+":"+t+":"+i}function getImageryCacheKey(e,t,i){return JSON.stringify([e,t,i])}ImageryLayer.prototype.getViewableRectangle=function(){var e=this._imageryProvider,t=this._rectangle;return e.readyPromise.then(function(){return Rectangle.intersection(e.rectangle,t)})},ImageryLayer.prototype._createTileImagerySkeletons=function(e,t,i){var r=e.data;if(defined(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel)return!1;if(defined(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;var n=this._imageryProvider;if(defined(i)||(i=r.imagery.length),!n.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),r.imagery.splice(i,0,this._skeletonPlaceholder),!0;var a=n.tilingScheme.projection instanceof WebMercatorProjection&&e.rectangle.north<WebMercatorProjection.MaximumLatitude&&e.rectangle.south>-WebMercatorProjection.MaximumLatitude,o=Rectangle.intersection(n.rectangle,this._rectangle,imageryBoundsScratch);if(!defined(c=Rectangle.intersection(e.rectangle,o,tileImageryBoundsScratch))){if(!this.isBaseLayer())return!1;var s=o,l=e.rectangle,c=tileImageryBoundsScratch;l.south>=s.north?c.north=c.south=s.north:l.north<=s.south?c.north=c.south=s.south:(c.south=Math.max(l.south,s.south),c.north=Math.min(l.north,s.north)),l.west>=s.east?c.west=c.east=s.east:l.east<=s.west?c.west=c.east=s.west:(c.west=Math.max(l.west,s.west),c.east=Math.min(l.east,s.east))}s=0;0<c.south?s=c.south:c.north<0&&(s=c.north);var u=getLevelWithMaximumTexelSpacing(this,+t.getLevelMaximumGeometricError(e.level),s),u=Math.max(0,u),s=n.maximumLevel;s<u&&(u=s),!defined(n.minimumLevel)||u<(s=n.minimumLevel)&&(u=s);var n=n.tilingScheme,d=n.positionToTileXY(Rectangle.northwest(c),u),h=n.positionToTileXY(Rectangle.southeast(c),u),p=e.rectangle.width/512,m=e.rectangle.height/512,c=n.tileXYToRectangle(d.x,d.y,u);Math.abs(c.south-e.rectangle.north)<m&&d.y<h.y&&++d.y,Math.abs(c.east-e.rectangle.west)<p&&d.x<h.x&&++d.x;c=n.tileXYToRectangle(h.x,h.y,u);Math.abs(c.north-e.rectangle.south)<m&&h.y>d.y&&--h.y,Math.abs(c.west-e.rectangle.east)<p&&h.x>d.x&&--h.x;var f,g,_=Rectangle.clone(e.rectangle,terrainRectangleScratch),y=n.tileXYToRectangle(d.x,d.y,u),C=Rectangle.intersection(y,o,clippedRectangleScratch);a?(n.rectangleToNativeRectangle(_,_),n.rectangleToNativeRectangle(y,y),n.rectangleToNativeRectangle(C,C),n.rectangleToNativeRectangle(o,o),f=n.tileXYToNativeRectangle.bind(n),p=_.width/512,m=_.height/512):f=n.tileXYToRectangle.bind(n);var v=0,S=1;!this.isBaseLayer()&&Math.abs(C.west-_.west)>=p&&(v=Math.min(1,(C.west-_.west)/_.width)),!this.isBaseLayer()&&Math.abs(C.north-_.north)>=m&&(S=Math.max(0,(C.north-_.south)/_.height));for(var T=S,b=d.x;b<=h.x;b++)if(g=v,y=f(b,d.y,u),defined(C=Rectangle.simpleIntersection(y,o,clippedRectangleScratch))){v=Math.min(1,(C.east-_.west)/_.width),b===h.x&&(this.isBaseLayer()||Math.abs(C.east-_.east)<p)&&(v=1),S=T;for(var x=d.y;x<=h.y;x++){var E,P=S,y=f(b,x,u);defined(C=Rectangle.simpleIntersection(y,o,clippedRectangleScratch))&&(S=Math.max(0,(C.south-_.south)/_.height),x===h.y&&(this.isBaseLayer()||Math.abs(C.south-_.south)<m)&&(S=0),E=new Cartesian4(g,S,v,P),P=this.getImageryFromCache(b,x,u),r.imagery.splice(i,0,new TileImagery(P,E,a)),++i)}}return!0},ImageryLayer.prototype._calculateTextureTranslationAndScale=function(e,t){var i=t.readyImagery.rectangle,r=e.rectangle;t.useWebMercatorT&&(i=(a=t.readyImagery.imageryLayer.imageryProvider.tilingScheme).rectangleToNativeRectangle(i,imageryBoundsScratch),r=a.rectangleToNativeRectangle(r,terrainRectangleScratch));var n=r.width,e=r.height,t=n/i.width,a=e/i.height;return new Cartesian4(t*(r.west-i.west)/n,a*(r.south-i.south)/e,t,a)},ImageryLayer.prototype._requestImagery=function(i){var r=this._imageryProvider,n=this;function t(e){if(!defined(e))return a();i.image=e,i.state=ImageryState$1.RECEIVED,i.request=void 0,TileProviderError.handleSuccess(n._requestImageError)}function a(e){if(i.request.state===RequestState$1.CANCELLED)return i.state=ImageryState$1.UNLOADED,void(i.request=void 0);i.state=ImageryState$1.FAILED,i.request=void 0;var t="Failed to obtain image tile X: "+i.x+" Y: "+i.y+" Level: "+i.level+".";n._requestImageError=TileProviderError.handleError(n._requestImageError,r,r.errorEvent,t,i.x,i.y,i.level,o,e)}function o(){var e=new Request({throttle:!1,throttleByServer:!0,type:RequestType$1.IMAGERY});i.request=e,i.state=ImageryState$1.TRANSITIONING;e=r.requestImage(i.x,i.y,i.level,e);if(!defined(e))return i.state=ImageryState$1.UNLOADED,void(i.request=void 0);defined(r.getTileCredits)&&(i.credits=r.getTileCredits(i.x,i.y,i.level)),when(e,t,a)}o()},ImageryLayer.prototype._createTextureWebGL=function(e,t){var i=new Sampler({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),t=t.image;return defined(t.internalFormat)?new Texture({context:e,pixelFormat:t.internalFormat,width:t.width,height:t.height,source:{arrayBufferView:t.bufferView},sampler:i}):new Texture({context:e,source:t,pixelFormat:this._imageryProvider.hasAlphaChannel?PixelFormat$1.RGBA:PixelFormat$1.RGB,sampler:i})},ImageryLayer.prototype._createTexture=function(e,t){var i=this._imageryProvider,r=t.image;if(defined(i.tileDiscardPolicy)){var n=i.tileDiscardPolicy;if(defined(n)){if(!n.isReady())return void(t.state=ImageryState$1.RECEIVED);if(n.shouldDiscardImage(r))return void(t.state=ImageryState$1.INVALID)}}e=this._createTextureWebGL(e,t);i.tilingScheme.projection instanceof WebMercatorProjection?t.textureWebMercator=e:t.texture=e,t.image=void 0,t.state=ImageryState$1.TEXTURE_LOADED},ImageryLayer.prototype._finalizeReprojectTexture=function(e,t){var i,r,n,a,o=this.minificationFilter,s=this.magnificationFilter;o===TextureMinificationFilter$1.LINEAR&&s===TextureMagnificationFilter$1.LINEAR&&!PixelFormat$1.isCompressedFormat(t.pixelFormat)&&CesiumMath.isPowerOfTwo(t.width)&&CesiumMath.isPowerOfTwo(t.height)?(o=TextureMinificationFilter$1.LINEAR_MIPMAP_LINEAR,a=ContextLimits.maximumTextureFilterAnisotropy,i=getSamplerKey(o,s,n=Math.min(a,defaultValue(this._maximumAnisotropy,a))),defined(r=e.cache.imageryLayerMipmapSamplers)||(r={},e.cache.imageryLayerMipmapSamplers=r),defined(a=r[i])||(a=r[i]=new Sampler({wrapS:TextureWrap$1.CLAMP_TO_EDGE,wrapT:TextureWrap$1.CLAMP_TO_EDGE,minificationFilter:o,magnificationFilter:s,maximumAnisotropy:n})),t.generateMipmap(MipmapHint$1.NICEST),t.sampler=a):(n=getSamplerKey(o,s,0),defined(a=e.cache.imageryLayerNonMipmapSamplers)||(a={},e.cache.imageryLayerNonMipmapSamplers=a),defined(e=a[n])||(e=a[n]=new Sampler({wrapS:TextureWrap$1.CLAMP_TO_EDGE,wrapT:TextureWrap$1.CLAMP_TO_EDGE,minificationFilter:o,magnificationFilter:s})),t.sampler=e)},ImageryLayer.prototype._reprojectTexture=function(e,t,i){var r,n=t.textureWebMercator||t.texture,a=t.rectangle,o=e.context;(i=defaultValue(i,!0))&&!(this._imageryProvider.tilingScheme.projection instanceof GeographicProjection)&&1e-5<a.width/n.width?(r=this,t.addReference(),a=new ComputeCommand({persists:!0,owner:this,preExecute:function(e){reprojectToGeographic(e,o,n,t.rectangle)},postExecute:function(e){t.texture=e,r._finalizeReprojectTexture(o,e),t.state=ImageryState$1.READY,t.releaseReference()},canceled:function(){t.state=ImageryState$1.TEXTURE_LOADED,t.releaseReference()}}),this._reprojectComputeCommands.push(a)):(i&&(t.texture=n),this._finalizeReprojectTexture(o,n),t.state=ImageryState$1.READY)},ImageryLayer.prototype.queueReprojectionCommands=function(e){for(var t=this._reprojectComputeCommands,i=t.length,r=0;r<i;++r)e.commandList.push(t[r]);t.length=0},ImageryLayer.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(e){defined(e.canceled)&&e.canceled()}),this._reprojectComputeCommands.length=0},ImageryLayer.prototype.getImageryFromCache=function(e,t,i,r){var n=getImageryCacheKey(e,t,i),a=this._imageryCache[n];return defined(a)||(a=new Imagery(this,e,t,i,r),this._imageryCache[n]=a),a.addReference(),a},ImageryLayer.prototype.removeImageryFromCache=function(e){e=getImageryCacheKey(e.x,e.y,e.level);delete this._imageryCache[e]};var uniformMap={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new Cartesian2,texture:void 0},float32ArrayScratch=FeatureDetection.supportsTypedArrays()?new Float32Array(128):void 0;function reprojectToGeographic(e,t,i,r){var n=t.cache.imageryLayer_reproject;if(!defined(n)){n=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){defined(this.framebuffer)&&this.framebuffer.destroy(),defined(this.vertexArray)&&this.vertexArray.destroy(),defined(this.shaderProgram)&&this.shaderProgram.destroy()}};for(var a=new Float32Array(256),o=0,s=0;s<64;++s){var l=s/63;a[o++]=0,a[o++]=l,a[o++]=1,a[o++]=l}var c={position:0,webMercatorT:1},u=TerrainProvider.getRegularGridIndices(2,64),u=Buffer$1.createIndexBuffer({context:t,typedArray:u,usage:BufferUsage$1.STATIC_DRAW,indexDatatype:IndexDatatype$1.UNSIGNED_SHORT});n.vertexArray=new VertexArray({context:t,attributes:[{index:c.position,vertexBuffer:Buffer$1.createVertexBuffer({context:t,typedArray:a,usage:BufferUsage$1.STATIC_DRAW}),componentsPerAttribute:2},{index:c.webMercatorT,vertexBuffer:Buffer$1.createVertexBuffer({context:t,sizeInBytes:512,usage:BufferUsage$1.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:u});u=new ShaderSource({sources:[ReprojectWebMercatorVS]});n.shaderProgram=ShaderProgram.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:ReprojectWebMercatorFS,attributeLocations:c}),n.sampler=new Sampler({wrapS:TextureWrap$1.CLAMP_TO_EDGE,wrapT:TextureWrap$1.CLAMP_TO_EDGE,minificationFilter:TextureMinificationFilter$1.LINEAR,magnificationFilter:TextureMagnificationFilter$1.LINEAR})}i.sampler=n.sampler;u=i.width,c=i.height;uniformMap.textureDimensions.x=u,uniformMap.textureDimensions.y=c,uniformMap.texture=i;var d=Math.sin(r.south),h=.5*Math.log((1+d)/(1-d));d=Math.sin(r.north);var p=1/(.5*Math.log((1+d)/(1-d))-h),i=new Texture({context:t,width:u,height:c,pixelFormat:i.pixelFormat,pixelDatatype:i.pixelDatatype,preMultiplyAlpha:i.preMultiplyAlpha});CesiumMath.isPowerOfTwo(u)&&CesiumMath.isPowerOfTwo(c)&&i.generateMipmap(MipmapHint$1.NICEST);for(var m=r.south,f=r.north,g=float32ArrayScratch,_=0,y=0;y<64;++y){var C=y/63,C=CesiumMath.lerp(m,f,C),d=Math.sin(C),C=(.5*Math.log((1+d)/(1-d))-h)*p;g[_++]=C,g[_++]=C}n.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(g),e.shaderProgram=n.shaderProgram,e.outputTexture=i,e.uniformMap=uniformMap,e.vertexArray=n.vertexArray}function getLevelWithMaximumTexelSpacing(e,t,i){var r=e._imageryProvider,n=r.tilingScheme,a=n.ellipsoid,e=e._imageryProvider.tilingScheme.projection instanceof GeographicProjection?1:Math.cos(i),i=n.rectangle,t=a.maximumRadius*i.width*e/(r.tileWidth*n.getNumberOfXTilesAtLevel(0))/t,t=Math.log(t)/Math.log(2);return 0|Math.round(t)}var TileSelectionResult={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=TileSelectionResult.RENDERED_AND_KICKED},originalResult:function(e){return 3&e},kick:function(e){return 4|e}};function TerrainFillMesh(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new Cartesian4}TerrainFillMesh.prototype.update=function(e,t,i){this.changedThisFrame&&(createFillMesh(e,t,this.tile,i),this.changedThisFrame=!1)},TerrainFillMesh.prototype.destroy=function(e){defined(this.vertexArray)&&(defined(e)?e.push(this.vertexArray):GlobeSurfaceTile._freeVertexArray(this.vertexArray,e),this.vertexArray=void 0),defined(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,0===this.waterMaskTexture.referenceCount&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};var traversalQueueScratch=new Queue;function visitRenderedTiles(e,t,i,r,n,a,o,s,l){if(void 0!==r){for(var c=r;c&&(c._lastSelectionResultFrame!==n||TileSelectionResult.wasKicked(c._lastSelectionResult)||TileSelectionResult.originalResult(c._lastSelectionResult)===TileSelectionResult.CULLED);){if(o)return;var u=c.parent;if(a>=TileEdge.NORTHWEST&&void 0!==u)switch(a){case TileEdge.NORTHWEST:c=c===u.northwestChild?u:void 0;break;case TileEdge.NORTHEAST:c=c===u.northeastChild?u:void 0;break;case TileEdge.SOUTHWEST:c=c===u.southwestChild?u:void 0;break;case TileEdge.SOUTHEAST:c=c===u.southeastChild?u:void 0}else c=u}if(void 0!==c){if(c._lastSelectionResult===TileSelectionResult.RENDERED)return!defined(c.data.vertexArray)&&void visitTile$2(e,t,i,c,a,n,s,l);if(TileSelectionResult.originalResult(r._lastSelectionResult)!==TileSelectionResult.CULLED)switch(a){case TileEdge.WEST:visitRenderedTiles(e,t,i,r.northwestChild,n,a,!0,s,l),visitRenderedTiles(e,t,i,r.southwestChild,n,a,!0,s,l);break;case TileEdge.EAST:visitRenderedTiles(e,t,i,r.southeastChild,n,a,!0,s,l),visitRenderedTiles(e,t,i,r.northeastChild,n,a,!0,s,l);break;case TileEdge.SOUTH:visitRenderedTiles(e,t,i,r.southwestChild,n,a,!0,s,l),visitRenderedTiles(e,t,i,r.southeastChild,n,a,!0,s,l);break;case TileEdge.NORTH:visitRenderedTiles(e,t,i,r.northeastChild,n,a,!0,s,l),visitRenderedTiles(e,t,i,r.northwestChild,n,a,!0,s,l);break;case TileEdge.NORTHWEST:visitRenderedTiles(e,t,i,r.northwestChild,n,a,!0,s,l);break;case TileEdge.NORTHEAST:visitRenderedTiles(e,t,i,r.northeastChild,n,a,!0,s,l);break;case TileEdge.SOUTHWEST:visitRenderedTiles(e,t,i,r.southwestChild,n,a,!0,s,l);break;case TileEdge.SOUTHEAST:visitRenderedTiles(e,t,i,r.southeastChild,n,a,!0,s,l);break;default:throw new DeveloperError("Invalid edge")}}}}function visitTile$2(e,t,i,r,n,a,o,s){var l=r.data;if(void 0===l.fill)l.fill=new TerrainFillMesh(r);else if(l.fill.visitedFrame===a)return;l.fill.enqueuedFrame!==a&&(l.fill.enqueuedFrame=a,l.fill.changedThisFrame=!1,o.enqueue(r)),propagateEdge(e,t,i,r,n,s)}function propagateEdge(e,t,i,r,n,a){var o,s,l,c,u,d=r.data.fill,h=i.data.fill,p=defined(h)?(h.visitedFrame=t.frameNumber,h.changedThisFrame&&(createFillMesh(e,t,i,a),h.changedThisFrame=!1),i.data.fill.mesh):i.data.mesh;switch(n){case TileEdge.WEST:o=d.westMeshes,s=d.westTiles;break;case TileEdge.SOUTH:o=d.southMeshes,s=d.southTiles;break;case TileEdge.EAST:o=d.eastMeshes,s=d.eastTiles;break;case TileEdge.NORTH:o=d.northMeshes,s=d.northTiles;break;case TileEdge.NORTHWEST:return d.changedThisFrame=d.changedThisFrame||d.northwestMesh!==p,d.northwestMesh=p,void(d.northwestTile=i);case TileEdge.NORTHEAST:return d.changedThisFrame=d.changedThisFrame||d.northeastMesh!==p,d.northeastMesh=p,void(d.northeastTile=i);case TileEdge.SOUTHWEST:return d.changedThisFrame=d.changedThisFrame||d.southwestMesh!==p,d.southwestMesh=p,void(d.southwestTile=i);case TileEdge.SOUTHEAST:return d.changedThisFrame=d.changedThisFrame||d.southeastMesh!==p,d.southeastMesh=p,void(d.southeastTile=i)}if(i.level<=r.level)return d.changedThisFrame=d.changedThisFrame||o[0]!==p||1!==o.length,o[0]=p,s[0]=i,o.length=1,void(s.length=1);var m,f=i.rectangle,g=r.rectangle;switch(n){case TileEdge.WEST:for(m=(g.north-g.south)*CesiumMath.EPSILON5,l=0;l<s.length&&(u=s[l].rectangle,!CesiumMath.greaterThan(f.north,u.south,m));++l);for(c=l;c<s.length&&(u=s[c].rectangle,!CesiumMath.greaterThanOrEquals(f.south,u.north,m));++c);break;case TileEdge.SOUTH:for(m=(g.east-g.west)*CesiumMath.EPSILON5,l=0;l<s.length&&(u=s[l].rectangle,!CesiumMath.lessThan(f.west,u.east,m));++l);for(c=l;c<s.length&&(u=s[c].rectangle,!CesiumMath.lessThanOrEquals(f.east,u.west,m));++c);break;case TileEdge.EAST:for(m=(g.north-g.south)*CesiumMath.EPSILON5,l=0;l<s.length&&(u=s[l].rectangle,!CesiumMath.lessThan(f.south,u.north,m));++l);for(c=l;c<s.length&&(u=s[c].rectangle,!CesiumMath.lessThanOrEquals(f.north,u.south,m));++c);break;case TileEdge.NORTH:for(m=(g.east-g.west)*CesiumMath.EPSILON5,l=0;l<s.length&&(u=s[l].rectangle,!CesiumMath.greaterThan(f.east,u.west,m));++l);for(c=l;c<s.length&&(u=s[c].rectangle,!CesiumMath.greaterThanOrEquals(f.west,u.east,m));++c);}c-l==1?(d.changedThisFrame=d.changedThisFrame||o[l]!==p,o[l]=p,s[l]=i):(d.changedThisFrame=!0,o.splice(l,c-l,p),s.splice(l,c-l,i))}TerrainFillMesh.updateFillTiles=function(e,t,i,r){var n=e._quadtree,a=n._levelZeroTiles,o=n._lastSelectionFrameNumber,s=traversalQueueScratch;s.clear();for(var l=0;l<t.length;++l)defined(t[l].data.vertexArray)&&s.enqueue(t[l]);for(var c=s.dequeue();void 0!==c;){var u=c.findTileToWest(a),d=c.findTileToSouth(a),h=c.findTileToEast(a),p=c.findTileToNorth(a);visitRenderedTiles(e,i,c,u,o,TileEdge.EAST,!1,s,r),visitRenderedTiles(e,i,c,d,o,TileEdge.NORTH,!1,s,r),visitRenderedTiles(e,i,c,h,o,TileEdge.WEST,!1,s,r),visitRenderedTiles(e,i,c,p,o,TileEdge.SOUTH,!1,s,r);d=u.findTileToNorth(a),p=u.findTileToSouth(a),u=h.findTileToNorth(a),h=h.findTileToSouth(a);visitRenderedTiles(e,i,c,d,o,TileEdge.SOUTHEAST,!1,s,r),visitRenderedTiles(e,i,c,u,o,TileEdge.SOUTHWEST,!1,s,r),visitRenderedTiles(e,i,c,p,o,TileEdge.NORTHEAST,!1,s,r),visitRenderedTiles(e,i,c,h,o,TileEdge.NORTHWEST,!1,s,r),c=s.dequeue()}};var cartographicScratch$4=new Cartographic,centerCartographicScratch=new Cartographic,cartesianScratch=new Cartesian3,normalScratch$5=new Cartesian3,octEncodedNormalScratch=new Cartesian2,uvScratch2=new Cartesian2,uvScratch=new Cartesian2;function HeightAndNormal(){this.height=0,this.encodedNormal=new Cartesian2}function fillMissingCorner(e,t,i,r,n,a,o,s,l){if(defined(n))return n;var c=defined(a)&&defined(o)?.5*(a.height+o.height):defined(a)?a.height:defined(o)?o.height:defined(s)?s.height:(c=o=0,defined(s=e.tile.data.tileBoundingRegion)&&(o=s.minimumHeight,c=s.maximumHeight),.5*(o+c));return getVertexWithHeightAtCorner(e,t,i,r,c,l),l}var heightRangeScratch={minimumHeight:0,maximumHeight:0},swVertexScratch=new HeightAndNormal,seVertexScratch=new HeightAndNormal,nwVertexScratch=new HeightAndNormal,neVertexScratch=new HeightAndNormal,heightmapBuffer="undefined"!=typeof Uint8Array?new Uint8Array(81):void 0;function createFillMesh(e,t,i,r){GlobeSurfaceTile.initialize(i,e.terrainProvider,e._imageryLayers);var n=i.data,a=n.fill,o=i.rectangle,s=i.tilingScheme.ellipsoid,l=getCorner(a,s,0,1,a.northwestTile,a.northwestMesh,a.northTiles,a.northMeshes,a.westTiles,a.westMeshes,nwVertexScratch),c=getCorner(a,s,0,0,a.southwestTile,a.southwestMesh,a.westTiles,a.westMeshes,a.southTiles,a.southMeshes,swVertexScratch),u=getCorner(a,s,1,0,a.southeastTile,a.southeastMesh,a.southTiles,a.southMeshes,a.eastTiles,a.eastMeshes,seVertexScratch),l=fillMissingCorner(a,s,0,1,l,c,d=getCorner(a,s,1,1,a.northeastTile,a.northeastMesh,a.eastTiles,a.eastMeshes,a.northTiles,a.northMeshes,neVertexScratch),u,nwVertexScratch),c=fillMissingCorner(a,s,0,0,c,l,u,d,swVertexScratch),u=fillMissingCorner(a,s,1,1,u,c,d,l,seVertexScratch),d=fillMissingCorner(a,s,1,1,d,u,l,c,neVertexScratch),h=c.height,p=u.height,m=l.height,f=d.height,g=Math.min(h,p,m,f),_=Math.max(h,p,m,f),y=.5*(g+_),h=e.getLevelMaximumGeometricError(i.level),p=s.maximumRadius-h,m=4*Math.acos(p/s.maximumRadius);if(m*=1.5,o.width>m&&_-g<=h){var C=new HeightmapTerrainData({width:9,height:9,buffer:heightmapBuffer,structure:{heightOffset:_}});a.mesh=C._createMeshSync(i.tilingScheme,i.x,i.y,i.level,1)}else{var v=new TerrainEncoding(void 0,void 0,void 0,void 0,!0,!0),f=centerCartographicScratch;f.longitude=.5*(o.east+o.west),f.latitude=.5*(o.north+o.south),f.height=y,v.center=s.cartographicToCartesian(f,v.center);for(var S=5,T=a.westMeshes,b=0,x=T.length;b<x;++b)S+=T[b].eastIndicesNorthToSouth.length;for(b=0,x=(T=a.southMeshes).length;b<x;++b)S+=T[b].northIndicesWestToEast.length;for(b=0,x=(T=a.eastMeshes).length;b<x;++b)S+=T[b].westIndicesSouthToNorth.length;for(b=0,x=(T=a.northMeshes).length;b<x;++b)S+=T[b].southIndicesEastToWest.length;p=heightRangeScratch;p.minimumHeight=g,p.maximumHeight=_;var m=v.getStride(),h=new Float32Array(S*m),C=0,E=C=addEdge(a,s,v,h,C=addVertexWithComputedPosition(s,o,v,h,0,0,1,l.height,l.encodedNormal,1,p),a.westTiles,a.westMeshes,TileEdge.EAST,p),P=C=addEdge(a,s,v,h,C=addVertexWithComputedPosition(s,o,v,h,C,0,0,c.height,c.encodedNormal,0,p),a.southTiles,a.southMeshes,TileEdge.NORTH,p),A=C=addEdge(a,s,v,h,C=addVertexWithComputedPosition(s,o,v,h,C,1,0,u.height,u.encodedNormal,0,p),a.eastTiles,a.eastMeshes,TileEdge.WEST,p);C=addEdge(a,s,v,h,C=addVertexWithComputedPosition(s,o,v,h,C,1,1,d.height,d.encodedNormal,1,p),a.northTiles,a.northMeshes,TileEdge.SOUTH,p),g=p.minimumHeight,_=p.maximumHeight;u=OrientedBoundingBox.fromRectangle(o,g,_,i.tilingScheme.ellipsoid),d=WebMercatorProjection.geodeticLatitudeToMercatorAngle(o.south),p=1/(WebMercatorProjection.geodeticLatitudeToMercatorAngle(o.north)-d),p=(WebMercatorProjection.geodeticLatitudeToMercatorAngle(f.latitude)-d)*p;s.geodeticSurfaceNormalCartographic(cartographicScratch$4,normalScratch$5);var s=AttributeCompression.octEncode(normalScratch$5,octEncodedNormalScratch),w=C;v.encode(h,C*m,u.center,Cartesian2.fromElements(.5,.5,uvScratch),y,s,p);var D,M=++C,p=3*(M-1);D=p*(M<256?1:2)<=(h.length-M*m)*Float32Array.BYTES_PER_ELEMENT?(C=M*m*Float32Array.BYTES_PER_ELEMENT,new(M<256?Uint8Array:Uint16Array)(h.buffer,C,p)):new(M<256?Uint8Array:Uint16Array)(p),h=new Float32Array(h.buffer,0,M*m);var I=0;for(b=0;b<M-2;++b)D[I++]=w,D[I++]=b,D[I++]=b+1;D[I++]=w,D[I++]=b,D[I++]=0;var R=[];for(b=E;0<=b;--b)R.push(b);var O=[];for(b=P;E<=b;--b)O.push(b);var L=[];for(b=A;P<=b;--b)L.push(b);var F=[];for(F.push(0),b=w-1;A<=b;--b)F.push(b);a.mesh=new TerrainMesh(v.center,h,D,p,M,g,_,BoundingSphere.fromOrientedBoundingBox(u),computeOccludeePoint(e,u.center,o,g,_),v.getStride(),u,v,t.terrainExaggeration,R,O,L,F)}v=t.context;defined(a.vertexArray)&&(defined(r)?r.push(a.vertexArray):GlobeSurfaceTile._freeVertexArray(a.vertexArray)),a.vertexArray=GlobeSurfaceTile._createVertexArrayForMesh(v,a.mesh),n.processImagery(i,e.terrainProvider,t,!0);t=a.waterMaskTexture;a.waterMaskTexture=void 0,!e.terrainProvider.hasWaterMask||defined(e=n._findAncestorTileWithTerrainData(i))&&defined(e.data.waterMaskTexture)&&(a.waterMaskTexture=e.data.waterMaskTexture,++a.waterMaskTexture.referenceCount,n._computeWaterMaskTranslationAndScale(i,e,a.waterMaskTranslationAndScale)),defined(t)&&(--t.referenceCount,0===t.referenceCount&&t.destroy())}function addVertexWithComputedPosition(e,t,i,r,n,a,o,s,l,c,u){var d=cartographicScratch$4;d.longitude=CesiumMath.lerp(t.west,t.east,a),d.latitude=CesiumMath.lerp(t.south,t.north,o),d.height=s;e=e.cartographicToCartesian(d,cartesianScratch),d=uvScratch2;return d.x=a,d.y=o,i.encode(r,n*i.getStride(),e,d,s,l,c),u.minimumHeight=Math.min(u.minimumHeight,s),u.maximumHeight=Math.max(u.maximumHeight,s),n+1}var sourceRectangleScratch=new Rectangle;function transformTextureCoordinates(e,t,i,r){var n=e.rectangle,a=t.rectangle;0===t.x&&1===i.x&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?((n=Rectangle.clone(e.rectangle,sourceRectangleScratch)).west-=CesiumMath.TWO_PI,n.east-=CesiumMath.TWO_PI):0===e.x&&0===i.x&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&((n=Rectangle.clone(e.rectangle,sourceRectangleScratch)).west+=CesiumMath.TWO_PI,n.east+=CesiumMath.TWO_PI);var o=n.east-n.west,s=(a.west-n.west)/o,t=(a.east-n.west)/o,e=n.north-n.south,o=(a.south-n.south)/e,e=(a.north-n.south)/e,s=(i.x-s)/(t-s),o=(i.y-o)/(e-o);return Math.abs(s)<Math.EPSILON5?s=0:Math.abs(s-1)<Math.EPSILON5&&(s=1),Math.abs(o)<Math.EPSILON5?o=0:Math.abs(o-1)<Math.EPSILON5&&(o=1),r.x=s,r.y=o,r}var encodedNormalScratch=new Cartesian2;function getVertexFromTileAtCorner(e,t,i,r,n){var a=e.encoding,e=e.vertices;n.height=a.decodeHeight(e,t),a.hasVertexNormals?a.getOctEncodedNormal(e,t,n.encodedNormal):((n=n.encodedNormal).x=0,n.y=0)}var encodedNormalScratch2=new Cartesian2,cartesianScratch2=new Cartesian3;function getInterpolatedVertexAtCorner(e,t,i,r,n,a,o,s,l,c){var u,d=r.encoding,h=r.vertices,r=transformTextureCoordinates(t,i,d.decodeTextureCoordinates(h,n,uvScratch),uvScratch),t=transformTextureCoordinates(t,i,d.decodeTextureCoordinates(h,a,uvScratch2),uvScratch2),l=l?(o-r.x)/(t.x-r.x):(s-r.y)/(t.y-r.y),t=d.decodeHeight(h,n),r=d.decodeHeight(h,a),i=i.rectangle;cartographicScratch$4.longitude=CesiumMath.lerp(i.west,i.east,o),cartographicScratch$4.latitude=CesiumMath.lerp(i.south,i.north,s),c.height=cartographicScratch$4.height=CesiumMath.lerp(t,r,l),d.hasVertexNormals?(n=d.getOctEncodedNormal(h,n,encodedNormalScratch),u=d.getOctEncodedNormal(h,a,encodedNormalScratch2),n=AttributeCompression.octDecode(n.x,n.y,cartesianScratch),u=AttributeCompression.octDecode(u.x,u.y,cartesianScratch2),u=Cartesian3.lerp(n,u,l,cartesianScratch),Cartesian3.normalize(u,u)):u=e.geodeticSurfaceNormalCartographic(cartographicScratch$4,cartesianScratch),AttributeCompression.octEncode(u,c.encodedNormal)}function getVertexWithHeightAtCorner(e,t,i,r,n,a){a.height=n;t=t.geodeticSurfaceNormalCartographic(cartographicScratch$4,cartesianScratch);AttributeCompression.octEncode(t,a.encodedNormal)}function getCorner(e,t,i,r,n,a,o,s,l,c,u){return getCornerFromEdge(e,t,s,o,!1,i,r,u)||getCornerFromEdge(e,t,c,l,!0,i,r,u)?u:meshIsUsable(n,a)?(getVertexFromTileAtCorner(a,(0===i?0===r?a.eastIndicesNorthToSouth:a.southIndicesEastToWest:0===r?a.northIndicesWestToEast:a.westIndicesSouthToNorth)[0],i,r,u),u):defined(a=0===i?0===r?getClosestHeightToCorner(e.westMeshes,e.westTiles,TileEdge.EAST,e.southMeshes,e.southTiles,TileEdge.NORTH):getClosestHeightToCorner(e.northMeshes,e.northTiles,TileEdge.SOUTH,e.westMeshes,e.westTiles,TileEdge.EAST):0===r?getClosestHeightToCorner(e.southMeshes,e.southTiles,TileEdge.NORTH,e.eastMeshes,e.eastTiles,TileEdge.WEST):getClosestHeightToCorner(e.eastMeshes,e.eastTiles,TileEdge.WEST,e.northMeshes,e.northTiles,TileEdge.SOUTH))?(getVertexWithHeightAtCorner(e,t,i,r,a,u),u):void 0}function getClosestHeightToCorner(e,t,i,r,n,a,o,s){i=getNearestHeightOnEdge(e,t,!1,i),a=getNearestHeightOnEdge(r,n,!0,a);return defined(i)&&defined(a)?.5*(i+a):defined(i)?i:a}function addEdge(e,t,i,r,n,a,o,s,l){for(var c=0;c<a.length;++c)n=addEdgeMesh(e,t,i,r,n,a[c],o[c],s,l);return n}function addEdgeMesh(e,t,i,r,n,a,o,s,l){var c=a.rectangle;s===TileEdge.EAST&&0===e.tile.x?((c=Rectangle.clone(a.rectangle,sourceRectangleScratch)).west-=CesiumMath.TWO_PI,c.east-=CesiumMath.TWO_PI):s===TileEdge.WEST&&0===a.x&&((c=Rectangle.clone(a.rectangle,sourceRectangleScratch)).west+=CesiumMath.TWO_PI,c.east+=CesiumMath.TWO_PI);var u,d,h,p,m=e.tile.rectangle;switch(0<n&&(i.decodeTextureCoordinates(r,n-1,uvScratch),u=uvScratch.x,d=uvScratch.y),s){case TileEdge.WEST:h=o.westIndicesSouthToNorth,p=!1;break;case TileEdge.NORTH:h=o.northIndicesWestToEast,p=!0;break;case TileEdge.EAST:h=o.eastIndicesNorthToSouth,p=!1;break;case TileEdge.SOUTH:h=o.southIndicesEastToWest,p=!0}var f,g,_=a,y=e.tile,C=o.encoding,v=o.vertices,S=i.getStride();C.hasWebMercatorT&&(f=WebMercatorProjection.geodeticLatitudeToMercatorAngle(m.south),g=1/(WebMercatorProjection.geodeticLatitudeToMercatorAngle(m.north)-f));for(var T=0;T<h.length;++T){var b=h[T],x=C.decodeTextureCoordinates(v,b,uvScratch);transformTextureCoordinates(_,y,x,x);var E,P=x.x,A=x.y,w=p?P:A;w<0||1<w||Math.abs(P-u)<CesiumMath.EPSILON5&&Math.abs(A-d)<CesiumMath.EPSILON5||(w=Math.abs(P)<CesiumMath.EPSILON5||Math.abs(P-1)<CesiumMath.EPSILON5,P=Math.abs(A)<CesiumMath.EPSILON5||Math.abs(A-1)<CesiumMath.EPSILON5,w&&P||(w=C.decodePosition(v,b,cartesianScratch),P=C.decodeHeight(v,b),C.hasVertexNormals?E=C.getOctEncodedNormal(v,b,octEncodedNormalScratch):((E=octEncodedNormalScratch).x=0,E.y=0),b=A,C.hasWebMercatorT&&(A=CesiumMath.lerp(m.south,m.north,A),b=(WebMercatorProjection.geodeticLatitudeToMercatorAngle(A)-f)*g),i.encode(r,n*S,w,x,P,E,b),l.minimumHeight=Math.min(l.minimumHeight,P),l.maximumHeight=Math.max(l.maximumHeight,P),++n))}return n}function getNearestHeightOnEdge(e,t,i,r,n,a){for(var o,s,l=i?(o=0,s=e.length,1):(o=e.length-1,s=-1),c=o;c!==s;c+=l){var u,d=e[c];if(meshIsUsable(t[c],d)){switch(r){case TileEdge.WEST:u=d.westIndicesSouthToNorth;break;case TileEdge.SOUTH:u=d.southIndicesEastToWest;break;case TileEdge.EAST:u=d.eastIndicesNorthToSouth;break;case TileEdge.NORTH:u=d.northIndicesWestToEast}var h=u[i?0:u.length-1];if(defined(h))return d.encoding.decodeHeight(d.vertices,h)}}}function meshIsUsable(e,t){return defined(t)&&(!defined(e.data.fill)||!e.data.fill.changedThisFrame)}function getCornerFromEdge(i,e,t,r,n,a,o,s){var l,c,u,d=r[n?0:t.length-1],h=t[n?0:t.length-1];if(meshIsUsable(d,h)&&(u=0===a?0===o?(l=n?h.northIndicesWestToEast:h.eastIndicesNorthToSouth,c=n):(l=n?h.eastIndicesNorthToSouth:h.southIndicesEastToWest,c=!n,!1):0===o?(l=n?h.westIndicesSouthToNorth:h.northIndicesWestToEast,c=!n,!0):(l=n?h.southIndicesEastToWest:h.westIndicesSouthToNorth,!(c=n)),0<l.length)){t=l[r=n?0:l.length-1],h.encoding.decodeTextureCoordinates(h.vertices,t,uvScratch);n=transformTextureCoordinates(d,i.tile,uvScratch,uvScratch);if(n.x===a&&n.y===o)return getVertexFromTileAtCorner(h,t,a,o,s),!0;if(!((r=binarySearch(l,c?a:o,function(e,t){h.encoding.decodeTextureCoordinates(h.vertices,e,uvScratch);e=transformTextureCoordinates(d,i.tile,uvScratch,uvScratch);return u?c?e.x-a:e.y-o:c?a-e.x:o-e.y}))<0))return getVertexFromTileAtCorner(h,l[r],a,o,s),!0;if(0<(r=~r)&&r<l.length)return getInterpolatedVertexAtCorner(e,d,i.tile,h,l[r-1],l[r],a,o,c,s),!0}return!1}var cornerPositionsScratch=[new Cartesian3,new Cartesian3,new Cartesian3,new Cartesian3];function computeOccludeePoint(e,t,i,r,n,a){var o=e.quadtree._occluders.ellipsoid,s=o.ellipsoid,e=cornerPositionsScratch;return Cartesian3.fromRadians(i.west,i.south,n,s,e[0]),Cartesian3.fromRadians(i.east,i.south,n,s,e[1]),Cartesian3.fromRadians(i.west,i.north,n,s,e[2]),Cartesian3.fromRadians(i.east,i.north,n,s,e[3]),o.computeHorizonCullingPointPossiblyUnderEllipsoid(t,e,r,a)}function GlobeSurfaceTileProvider(e){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=ShadowMode$1.RECEIVE_ONLY,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new Event,this._imageryLayers.layerAdded.addEventListener(GlobeSurfaceTileProvider.prototype._onLayerAdded,this),this._imageryLayers.layerRemoved.addEventListener(GlobeSurfaceTileProvider.prototype._onLayerRemoved,this),this._imageryLayers.layerMoved.addEventListener(GlobeSurfaceTileProvider.prototype._onLayerMoved,this),this._imageryLayers.layerShownOrHidden.addEventListener(GlobeSurfaceTileProvider.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new Event,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new Color(0,0,.5,1),this._clippingPlanes=void 0,this.cartographicLimitRectangle=Rectangle.clone(Rectangle.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1}function sortTileImageryByLayerIndex(e,t){var i=e.loadingImagery;defined(i)||(i=e.readyImagery);e=t.loadingImagery;return defined(e)||(e=t.readyImagery),i.imageryLayer._layerIndex-e.imageryLayer._layerIndex}function updateCredits(e,t){var i=t.creditDisplay;e._terrainProvider.ready&&defined(e._terrainProvider.credit)&&i.addCredit(e._terrainProvider.credit);for(var r=e._imageryLayers,n=0,a=r.length;n<a;++n){var o=r.get(n).imageryProvider;o.ready&&defined(o.credit)&&i.addCredit(o.credit)}}function pushCommand(e,t){var i,r=t.globeTranslucencyState;r.translucent?(i=e.renderState.blending.enabled,r.pushDerivedCommands(e,i,t)):t.commandList.push(e)}Object.defineProperties(GlobeSurfaceTileProvider.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){this._baseColor=e,this._firstPassInitialColor=Cartesian4.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){this._quadtree=e}},ready:{get:function(){return this._terrainProvider.ready&&(0===this._imageryLayers.length||this._imageryLayers.get(0).imageryProvider.ready)}},tilingScheme:{get:function(){return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){this._terrainProvider!==e&&(this._terrainProvider=e,defined(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ClippingPlaneCollection.setOwner(e,this,"_clippingPlanes")}}}),GlobeSurfaceTileProvider.prototype.update=function(e){this._imageryLayers._update()},GlobeSurfaceTileProvider.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(e){e.data.imagery.sort(sortTileImageryByLayerIndex)})),updateCredits(this,e);for(var t=this._vertexArraysToDestroy,i=t.length,r=0;r<i;++r)GlobeSurfaceTile._freeVertexArray(t[r]);t.length=0},GlobeSurfaceTileProvider.prototype.beginUpdate=function(e){for(var t=this._tilesToRenderByTextureCount,i=0,r=t.length;i<r;++i){var n=t[i];defined(n)&&(n.length=0)}var a=this._clippingPlanes;defined(a)&&a.enabled&&a.update(e),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1},GlobeSurfaceTileProvider.prototype.endUpdate=function(e){var t;defined(this._renderState)||(this._renderState=RenderState.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:DepthFunction$1.LESS}}),this._blendRenderState=RenderState.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:DepthFunction$1.LESS_OR_EQUAL},blending:BlendingState$1.ALPHA_BLEND}),(t=clone(this._renderState,!0)).cull.enabled=!1,this._disableCullingRenderState=RenderState.fromCache(t),(t=clone(this._blendRenderState,!0)).cull.enabled=!1,this._disableCullingBlendRenderState=RenderState.fromCache(t)),this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&TerrainFillMesh.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);for(var i=this._tilesToRenderByTextureCount,r=0,n=i.length;r<n;++r){var a=i[r];if(defined(a))for(var o=0,s=a.length;o<s;++o){var l=a[o],c=l.data.tileBoundingRegion;addDrawCommandsForTile(this,l,e),e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,c.minimumHeight)}}},GlobeSurfaceTileProvider.prototype.updateForPick=function(e){for(var t=this._drawCommands,i=0,r=this._usedDrawCommands;i<r;++i)pushCommand(t[i],e)},GlobeSurfaceTileProvider.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()},GlobeSurfaceTileProvider.prototype.getLevelMaximumGeometricError=function(e){return this._terrainProvider.getLevelMaximumGeometricError(e)},GlobeSurfaceTileProvider.prototype.loadTile=function(e,t){var i,r=t.data,n=!0;defined(r)&&(n=r.boundingVolumeSourceTile!==t||t._lastSelectionResult===TileSelectionResult.CULLED_BUT_NEEDED,i=r.terrainState),GlobeSurfaceTile.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this._vertexArraysToDestroy,n),r=t.data,n&&i!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==Visibility$1.NONE&&r.boundingVolumeSourceTile===t&&(n=!1,GlobeSurfaceTile.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this._vertexArraysToDestroy,n))};var boundingSphereScratch$1=new BoundingSphere,rectangleIntersectionScratch=new Rectangle,splitCartographicLimitRectangleScratch=new Rectangle,rectangleCenterScratch$3=new Cartographic;function clipRectangleAntimeridian(e,t){if(t.west<t.east)return t;t=Rectangle.clone(t,splitCartographicLimitRectangleScratch);return 0<Rectangle.center(e,rectangleCenterScratch$3).longitude?t.east=CesiumMath.PI:t.west=-CesiumMath.PI,t}function isUndergroundVisible(e,t){if(t.cameraUnderground)return!0;if(t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;t=e._clippingPlanes;return!(!defined(t)||!t.enabled)||!Rectangle.equals(e.cartographicLimitRectangle,Rectangle.MAX_VALUE)}GlobeSurfaceTileProvider.prototype.computeTileVisibility=function(e,t,i){var r=this.computeDistanceToTile(e,t);e._distance=r;var n=isUndergroundVisible(this,t);if(t.fog.enabled&&!n&&1<=CesiumMath.fog(r,t.fog.density))return Visibility$1.NONE;var a=e.data,o=a.tileBoundingRegion;if(void 0===a.boundingVolumeSourceTile)return Visibility$1.PARTIAL;var s=t.cullingVolume,l=a.orientedBoundingBox;!defined(l)&&defined(a.renderedMesh)&&(l=a.renderedMesh.boundingSphere3D),a.clippedByBoundaries=!1;r=clipRectangleAntimeridian(e.rectangle,this.cartographicLimitRectangle),r=Rectangle.simpleIntersection(r,e.rectangle,rectangleIntersectionScratch);if(!defined(r))return Visibility$1.NONE;if(Rectangle.equals(r,e.rectangle)||(a.clippedByBoundaries=!0),t.mode!==SceneMode$1.SCENE3D&&(l=boundingSphereScratch$1,BoundingSphere.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,o.minimumHeight,o.maximumHeight,l),Cartesian3.fromElements(l.center.z,l.center.x,l.center.y,l.center),t.mode===SceneMode$1.MORPHING&&defined(a.renderedMesh)&&(l=BoundingSphere.union(a.renderedMesh.boundingSphere3D,l,l))),!defined(l))return Visibility$1.PARTIAL;var c,r=this._clippingPlanes;if(defined(r)&&r.enabled){r=r.computeIntersectionWithBoundingVolume(l);if(e.isClipped=r!==Intersect$1.INSIDE,r===Intersect$1.OUTSIDE)return Visibility$1.NONE}l=s.computeVisibility(l);if(l===Intersect$1.OUTSIDE?c=Visibility$1.NONE:l===Intersect$1.INTERSECTING?c=Visibility$1.PARTIAL:l===Intersect$1.INSIDE&&(c=Visibility$1.FULL),c===Visibility$1.NONE)return c;l=t.mode===SceneMode$1.SCENE3D&&t.camera.frustum instanceof OrthographicFrustum;if(t.mode!==SceneMode$1.SCENE3D||l||!defined(i)||n)return c;a=a.occludeePointInScaledSpace;return!defined(a)||i.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(a,o.minimumHeight)?c:Visibility$1.NONE},GlobeSurfaceTileProvider.prototype.canRefine=function(e){return!!defined(e.data.terrainData)||void 0!==this.terrainProvider.getTileDataAvailable(2*e.x,2*e.y,e.level+1)};var readyImageryScratch=[],canRenderTraversalStack=[];GlobeSurfaceTileProvider.prototype.canRenderWithoutLosingDetail=function(e,t){var i=e.data,r=readyImageryScratch;r.length=this._imageryLayers.length;var n,a=!1,o=!1;for(defined(i)&&(a=i.terrainState===TerrainState$2.READY,o=!0,n=i.imagery),m=0,f=r.length;m<f;++m)r[m]=o;if(defined(n))for(m=0,f=n.length;m<f;++m){var s=n[m],l=s.loadingImagery,l=!defined(l)||l.state===ImageryState$1.FAILED||l.state===ImageryState$1.INVALID,s=(s.loadingImagery||s.readyImagery).imageryLayer._layerIndex;r[s]=l&&r[s]}var c=this.quadtree._lastSelectionFrameNumber,u=canRenderTraversalStack;for(u.length=0,u.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);0<u.length;){var d=u.pop(),h=d._lastSelectionResultFrame===c?d._lastSelectionResult:TileSelectionResult.NONE;if(h===TileSelectionResult.RENDERED){if(defined(d.data)){if(!a&&d.data.terrainState===TerrainState$2.READY)return!1;for(var p=d.data.imagery,m=0,f=p.length;m<f;++m){var g=p[m],_=g.loadingImagery,_=!defined(_)||_.state===ImageryState$1.FAILED||_.state===ImageryState$1.INVALID,g=(g.loadingImagery||g.readyImagery).imageryLayer._layerIndex;if(_&&!r[g])return!1}}}else h===TileSelectionResult.REFINED&&u.push(d.southwestChild,d.southeastChild,d.northwestChild,d.northeastChild)}return!0};var tileDirectionScratch=new Cartesian3;GlobeSurfaceTileProvider.prototype.computeTileLoadPriority=function(e,t){var i=e.data;if(void 0===i)return 0;var r=i.orientedBoundingBox;if(void 0===r)return 0;i=t.camera.positionWC,t=t.camera.directionWC,r=Cartesian3.subtract(r.center,i,tileDirectionScratch),i=Cartesian3.magnitude(r);return i<CesiumMath.EPSILON5?0:(Cartesian3.divideByScalar(r,i,r),(1-Cartesian3.dot(r,t))*e._distance)};var modifiedModelViewScratch$3=new Matrix4,modifiedModelViewProjectionScratch=new Matrix4,tileRectangleScratch=new Cartesian4,localizedCartographicLimitRectangleScratch=new Cartesian4,localizedTranslucencyRectangleScratch=new Cartesian4,rtcScratch$3=new Cartesian3,centerEyeScratch=new Cartesian3,southwestScratch=new Cartesian3,northeastScratch=new Cartesian3;GlobeSurfaceTileProvider.prototype.showTileThisFrame=function(e,t){for(var i=0,r=e.data.imagery,n=0,a=r.length;n<a;++n){var o=r[n];defined(o.readyImagery)&&0!==o.readyImagery.imageryLayer.alpha&&++i}var s=this._tilesToRenderByTextureCount[i];defined(s)||(s=[],this._tilesToRenderByTextureCount[i]=s),s.push(e),defined(e.data.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;e=this._debug;++e.tilesRendered,e.texturesRendered+=i};var cornerPositionsScratch$1=[new Cartesian3,new Cartesian3,new Cartesian3,new Cartesian3];function computeOccludeePoint$1(e,t,i,r,n,a){var o=e.quadtree._occluders.ellipsoid,s=o.ellipsoid,e=cornerPositionsScratch$1;return Cartesian3.fromRadians(i.west,i.south,n,s,e[0]),Cartesian3.fromRadians(i.east,i.south,n,s,e[1]),Cartesian3.fromRadians(i.west,i.north,n,s,e[2]),Cartesian3.fromRadians(i.east,i.north,n,s,e[3]),o.computeHorizonCullingPointPossiblyUnderEllipsoid(t,e,r,a)}function updateTileBoundingRegion(e,t,i){var r=e.data;void 0===r&&(r=e.data=new GlobeSurfaceTile),void 0===r.tileBoundingRegion&&(r.tileBoundingRegion=new TileBoundingRegion({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:e.tilingScheme.ellipsoid,minimumHeight:0,maximumHeight:0}));var n=r.terrainData,a=r.mesh,o=r.tileBoundingRegion;if(void 0!==a&&void 0!==a.minimumHeight&&void 0!==a.maximumHeight)return o.minimumHeight=a.minimumHeight,o.maximumHeight=a.maximumHeight,e;if(void 0!==n&&void 0!==n._minimumHeight&&void 0!==n._maximumHeight)return o.minimumHeight=n._minimumHeight*i.terrainExaggeration,o.maximumHeight=n._maximumHeight*i.terrainExaggeration,e;o.minimumHeight=Number.NaN,o.maximumHeight=Number.NaN;for(var s=e.parent;void 0!==s;){var l=s.data;if(void 0!==l){var c=l.mesh;if(void 0!==c&&void 0!==c.minimumHeight&&void 0!==c.maximumHeight)return o.minimumHeight=c.minimumHeight,o.maximumHeight=c.maximumHeight,s;l=l.terrainData;if(void 0!==l&&void 0!==l._minimumHeight&&void 0!==l._maximumHeight)return o.minimumHeight=l._minimumHeight*i.terrainExaggeration,o.maximumHeight=l._maximumHeight*i.terrainExaggeration,s}s=s.parent}}function getTileReadyCallback(l,c,u){return function(e){for(var t=-1,i=e.data.imagery,r=i.length,n=0;n<r;++n)if((s=defaultValue((a=i[n]).readyImagery,a.loadingImagery)).imageryLayer===c){t=n;break}if(-1!==t){var a,o=t+l,s=defined(a=i[o])?defaultValue(a.readyImagery,a.loadingImagery):void 0;if(!defined(s)||s.imageryLayer!==c)return!c._createTileImagerySkeletons(e,u,o);for(n=t;n<o;++n)i[n].freeResources();i.splice(t,l)}return!0}}GlobeSurfaceTileProvider.prototype.computeDistanceToTile=function(e,t){var i=updateTileBoundingRegion(e,this.terrainProvider,t),r=e.data,n=r.tileBoundingRegion;if(void 0===i)return 9999999999;r.boundingVolumeSourceTile!==i&&(r.boundingVolumeSourceTile=i,defined(e.rectangle)&&(r.orientedBoundingBox=OrientedBoundingBox.fromRectangle(e.rectangle,n.minimumHeight,n.maximumHeight,e.tilingScheme.ellipsoid,r.orientedBoundingBox),r.occludeePointInScaledSpace=computeOccludeePoint$1(this,r.orientedBoundingBox.center,e.rectangle,n.minimumHeight,n.maximumHeight,r.occludeePointInScaledSpace)));var a=n.minimumHeight,i=n.maximumHeight;r.boundingVolumeSourceTile!==e&&(r=t.camera.positionCartographic.height,e=Math.abs(r-a),Math.abs(r-i)<e?(n.minimumHeight=a,n.maximumHeight=a):(n.minimumHeight=i,n.maximumHeight=i));t=n.distanceToCamera(t);return n.minimumHeight=a,n.maximumHeight=i,t},GlobeSurfaceTileProvider.prototype.isDestroyed=function(){return!1},GlobeSurfaceTileProvider.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),destroyObject(this)},GlobeSurfaceTileProvider.prototype._onLayerAdded=function(l,e){var c,t,i,r;l.show&&(c=this._terrainProvider,t=this,i=l.imageryProvider,r=this._imageryLayersUpdatedEvent,i._reload=function(){l._imageryCache={},t._quadtree.forEachLoadedTile(function(e){if(!defined(e._loadedCallbacks[l._layerIndex])){for(var t,i=e.data.imagery,r=i.length,n=-1,a=0,o=0;o<r;++o){var s=i[o];if(defaultValue(s.readyImagery,s.loadingImagery).imageryLayer===l)-1===n&&(n=o),++a;else if(-1!==n)break}-1!==n&&(t=n+a,l._createTileImagerySkeletons(e,c,t)&&(e._loadedCallbacks[l._layerIndex]=getTileReadyCallback(a,l,c),e.state=QuadtreeTileLoadState$1.LOADING))}})},this._quadtree.forEachLoadedTile(function(e){l._createTileImagerySkeletons(e,c)&&(e.state=QuadtreeTileLoadState$1.LOADING,0===e.level||e._lastSelectionResultFrame===t.quadtree._lastSelectionFrameNumber&&e._lastSelectionResult===TileSelectionResult.RENDERED||(e.renderable=!1))}),this._layerOrderChanged=!0,r.raiseEvent())},GlobeSurfaceTileProvider.prototype._onLayerRemoved=function(l,e){this._quadtree.forEachLoadedTile(function(e){for(var t=e.data.imagery,i=-1,r=0,n=0,a=t.length;n<a;++n){var o=t[n],s=o.loadingImagery;if(defined(s)||(s=o.readyImagery),s.imageryLayer===l)-1===i&&(i=n),o.freeResources(),++r;else if(-1!==i)break}-1!==i&&t.splice(i,r)}),defined(l.imageryProvider)&&(l.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()},GlobeSurfaceTileProvider.prototype._onLayerMoved=function(e,t,i){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()},GlobeSurfaceTileProvider.prototype._onLayerShownOrHidden=function(e,t,i){i?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};var scratchClippingPlanesMatrix$2=new Matrix4,scratchInverseTransposeClippingPlanesMatrix$1=new Matrix4,getDebugOrientedBoundingBox,getDebugBoundingSphere,debugDestroyPrimitive,Jwi,Kwi,Gwi,Hwi,Iwi;function createTileUniformMap(r,t){var e={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){var e=r.context.uniformState.view,t=Matrix4.multiplyByPoint(e,this.properties.rtc,centerEyeScratch);return Matrix4.setTranslation(e,t,modifiedModelViewScratch$3),modifiedModelViewScratch$3},u_modifiedModelViewProjection:function(){var e=r.context.uniformState.view,t=r.context.uniformState.projection,i=Matrix4.multiplyByPoint(e,this.properties.rtc,centerEyeScratch);return Matrix4.setTranslation(e,i,modifiedModelViewProjectionScratch),Matrix4.multiply(t,modifiedModelViewProjectionScratch,modifiedModelViewProjectionScratch),modifiedModelViewProjectionScratch},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){var e=t._clippingPlanes;return defined(e)&&defined(e.texture)?e.texture:r.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){var e=t._clippingPlanes,e=defined(e)?Matrix4.multiply(r.context.uniformState.view,e.modelMatrix,scratchClippingPlanesMatrix$2):Matrix4.IDENTITY;return Matrix4.inverseTranspose(e,scratchInverseTransposeClippingPlanesMatrix$1)},u_clippingPlanesEdgeStyle:function(){var e=this.properties.clippingPlanesEdgeColor;return e.alpha=this.properties.clippingPlanesEdgeWidth,e},u_minimumBrightness:function(){return r.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},properties:{initialColor:new Cartesian4(0,0,.5,1),fillHighlightColor:new Color(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new Cartesian2(65e5,9e6),nightFadeDistance:new Cartesian2(1e7,4e7),hsbShift:new Cartesian3,center3D:void 0,rtc:new Cartesian3,modifiedModelView:new Matrix4,tileRectangle:new Cartesian4,dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new Cartesian2,southMercatorYAndOneOverHeight:new Cartesian2,waterMask:void 0,waterMaskTranslationAndScale:new Cartesian4,minMaxHeight:new Cartesian2,scaleAndBias:new Matrix4,clippingPlanesEdgeColor:Color.clone(Color.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new Cartesian4,frontFaceAlphaByDistance:new Cartesian4,backFaceAlphaByDistance:new Cartesian4,localizedTranslucencyRectangle:new Cartesian4,undergroundColor:Color.clone(Color.TRANSPARENT),undergroundColorAlphaByDistance:new Cartesian4}};return defined(t.materialUniformMap)?combine(e,t.materialUniformMap):e}function createWireframeVertexArrayIfNecessary(e,t,i){var r,n,i=i.data;if(defined(i.vertexArray)?(r=i.mesh,n=i.vertexArray):defined(i.fill)&&defined(i.fill.vertexArray)&&(r=i.fill.mesh,n=i.fill.vertexArray),defined(r)&&defined(n)){if(defined(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===r)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=createWireframeVertexArray(e,n,r),i.wireframeVertexArray.mesh=r}}function createWireframeVertexArray(e,t,i){i={indices:i.indices,primitiveType:PrimitiveType$1.TRIANGLES};GeometryPipeline.toWireframe(i);i=i.indices,i=Buffer$1.createIndexBuffer({context:e,typedArray:i,usage:BufferUsage$1.STATIC_DRAW,indexDatatype:IndexDatatype$1.fromSizeInBytes(i.BYTES_PER_ELEMENT)});return new VertexArray({context:e,attributes:t._attributes,indexBuffer:i})}function Lwi(e){return new Primitive({geometryInstances:e,appearance:new PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1})}Gwi=new GeometryInstance({geometry:BoxOutlineGeometry.fromDimensions({dimensions:new Cartesian3(2,2,2)})}),Hwi=new GeometryInstance({geometry:new SphereOutlineGeometry({radius:1})}),Iwi=new Matrix4,getDebugOrientedBoundingBox=function(e,t){return e===Jwi?Kwi:(debugDestroyPrimitive(),Jwi=e,Iwi=Matrix4.fromRotationTranslation(e.halfAxes,e.center,Iwi),Gwi.modelMatrix=Iwi,Gwi.attributes.color=ColorGeometryInstanceAttribute.fromColor(t),Kwi=Lwi(Gwi))},getDebugBoundingSphere=function(e,t){return e===Jwi?Kwi:(debugDestroyPrimitive(),Jwi=e,Iwi=Matrix4.fromTranslation(e.center,Iwi),Iwi=Matrix4.multiplyByUniformScale(Iwi,e.radius,Iwi),Hwi.modelMatrix=Iwi,Hwi.attributes.color=ColorGeometryInstanceAttribute.fromColor(t),Kwi=Lwi(Hwi))},debugDestroyPrimitive=function(){defined(Kwi)&&(Kwi.destroy(),Jwi=Kwi=void 0)};var otherPassesInitialColor=new Cartesian4(0,0,0,0),surfaceShaderSetOptionsScratch={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0},defaultUndergroundColor=Color.TRANSPARENT,defaultundergroundColorAlphaByDistance=new NearFarScalar;function addDrawCommandsForTile(e,t,i){var r=t.data;defined(r.vertexArray)||(void 0===r.fill&&(r.fill=new TerrainFillMesh(t)),r.fill.update(e,i));var n=i.creditDisplay,a=r.terrainData;if(defined(a)&&defined(a.credits))for(var o=a.credits,s=0,l=o.length;s<l;++s)n.addCredit(o[s]);var c=ContextLimits.maximumTextureImageUnits,u=r.waterMaskTexture,d=r.waterMaskTranslationAndScale;!defined(u)&&defined(r.fill)&&(u=r.fill.waterMaskTexture,d=r.fill.waterMaskTranslationAndScale);var h=i.cameraUnderground,p=i.globeTranslucencyState,m=p.translucent,f=p.frontFaceAlphaByDistance,g=p.backFaceAlphaByDistance,_=p.rectangle,y=defaultValue(e.undergroundColor,defaultUndergroundColor),C=defaultValue(e.undergroundColorAlphaByDistance,defaultundergroundColorAlphaByDistance),v=isUndergroundVisible(e,i)&&i.mode===SceneMode$1.SCENE3D&&0<y.alpha&&(0<C.nearValue||0<C.farValue),S=e.hasWaterMask&&defined(u),T=e.oceanNormalMap,b=S&&defined(T),x=e.terrainProvider.ready&&e.terrainProvider.hasVertexNormals,E=i.fog.enabled&&!h,P=e.showGroundAtmosphere&&i.mode===SceneMode$1.SCENE3D,A=ShadowMode$1.castShadows(e.shadows)&&!m,w=ShadowMode$1.receiveShadows(e.shadows)&&!m,D=e.hueShift,M=e.saturationShift,I=e.brightnessShift,R=!(CesiumMath.equalsEpsilon(D,0,CesiumMath.EPSILON7)&&CesiumMath.equalsEpsilon(M,0,CesiumMath.EPSILON7)&&CesiumMath.equalsEpsilon(I,0,CesiumMath.EPSILON7)),O=!1;P&&(F=Cartesian3.magnitude(i.camera.positionWC),O=e.nightFadeOutDistance<F),S&&--c,b&&--c,defined(i.shadowState)&&i.shadowState.shadowsEnabled&&--c,defined(e.clippingPlanes)&&e.clippingPlanes.enabled&&--c,c-=p.numberOfTextureUniforms;var L,F,N=r.renderedMesh,B=N.center,V=N.encoding,k=tileRectangleScratch,z=0,U=0,$=0,G=0,H=!1;i.mode!==SceneMode$1.SCENE3D&&(a=(L=i.mapProjection).project(Rectangle.southwest(t.rectangle),southwestScratch),F=L.project(Rectangle.northeast(t.rectangle),northeastScratch),k.x=a.x,k.y=a.y,k.z=F.x,k.w=F.y,i.mode!==SceneMode$1.MORPHING&&((B=rtcScratch$3).x=0,B.y=.5*(k.z+k.x),B.z=.5*(k.w+k.y),k.x-=B.y,k.y-=B.z,k.z-=B.y,k.w-=B.z),i.mode===SceneMode$1.SCENE2D&&V.quantization===TerrainQuantization$1.BITS12&&(a=1/(Math.pow(2,12)-1)*.5,F=(k.z-k.x)*a,a=(k.w-k.y)*a,k.x-=F,k.y-=a,k.z+=F,k.w+=a),L instanceof WebMercatorProjection&&(z=t.rectangle.south,U=t.rectangle.north,$=WebMercatorProjection.geodeticLatitudeToMercatorAngle(z),G=1/(WebMercatorProjection.geodeticLatitudeToMercatorAngle(U)-$),H=!0));var W=surfaceShaderSetOptionsScratch;W.frameState=i,W.surfaceTile=r,W.showReflectiveOcean=S,W.showOceanWaves=b,W.enableLighting=e.enableLighting,W.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,W.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,W.showGroundAtmosphere=P,W.perFragmentGroundAtmosphere=O,W.hasVertexNormals=x,W.useWebMercatorProjection=H,W.clippedByBoundaries=r.clippedByBoundaries;var q=r.imagery,j=0,Y=q.length,X=e.showSkirts&&!h&&!m,x=e.backFaceCulling&&!h&&!m,H=x?e._renderState:e._disableCullingRenderState,Q=x?e._blendRenderState:e._disableCullingBlendRenderState,J=H,Z=e._firstPassInitialColor,K=i.context;if(defined(e._debug.boundingSphereTile)||debugDestroyPrimitive(),e._materialUniformMap!==e.materialUniformMap){e._materialUniformMap=e.materialUniformMap;for(var ee=e._drawCommands.length,te=0;te<ee;++te)e._uniformMaps[te]=createTileUniformMap(i,e)}do{var ie,re,ne=0;e._drawCommands.length<=e._usedDrawCommands?((ie=new DrawCommand).owner=t,ie.cull=!1,ie.boundingVolume=new BoundingSphere,ie.orientedBoundingBox=void 0,re=createTileUniformMap(i,e),e._drawCommands.push(ie),e._uniformMaps.push(re)):(ie=e._drawCommands[e._usedDrawCommands],re=e._uniformMaps[e._usedDrawCommands]),ie.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile&&(defined(ue=r.orientedBoundingBox)?getDebugOrientedBoundingBox(ue,Color.RED).update(i):defined(N)&&defined(N.boundingSphere3D)&&getDebugBoundingSphere(N.boundingSphere3D,Color.RED).update(i));var ae=re.properties;Cartesian4.clone(Z,ae.initialColor),ae.oceanNormalMap=T,ae.lightingFadeDistance.x=e.lightingFadeOutDistance,ae.lightingFadeDistance.y=e.lightingFadeInDistance,ae.nightFadeDistance.x=e.nightFadeOutDistance,ae.nightFadeDistance.y=e.nightFadeInDistance,ae.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;var oe=h?g:f,se=h?f:g;defined(oe)&&(Cartesian4.fromElements(oe.near,oe.nearValue,oe.far,oe.farValue,ae.frontFaceAlphaByDistance),Cartesian4.fromElements(se.near,se.nearValue,se.far,se.farValue,ae.backFaceAlphaByDistance)),Cartesian4.fromElements(C.near,C.nearValue,C.far,C.farValue,ae.undergroundColorAlphaByDistance),Color.clone(y,ae.undergroundColor);var le=!defined(r.vertexArray)&&defined(e.fillHighlightColor)&&0<e.fillHighlightColor.alpha;le&&Color.clone(e.fillHighlightColor,ae.fillHighlightColor),ae.center3D=N.center,Cartesian3.clone(B,ae.rtc),Cartesian4.clone(k,ae.tileRectangle),ae.southAndNorthLatitude.x=z,ae.southAndNorthLatitude.y=U,ae.southMercatorYAndOneOverHeight.x=$,ae.southMercatorYAndOneOverHeight.y=G;var ce=localizedCartographicLimitRectangleScratch,ue=clipRectangleAntimeridian(t.rectangle,e.cartographicLimitRectangle),oe=localizedTranslucencyRectangleScratch,se=clipRectangleAntimeridian(t.rectangle,_);Cartesian3.fromElements(D,M,I,ae.hsbShift);var de=t.rectangle,he=1/de.width,pe=1/de.height;ce.x=(ue.west-de.west)*he,ce.y=(ue.south-de.south)*pe,ce.z=(ue.east-de.west)*he,ce.w=(ue.north-de.south)*pe,Cartesian4.clone(ce,ae.localizedCartographicLimitRectangle),oe.x=(se.west-de.west)*he,oe.y=(se.south-de.south)*pe,oe.z=(se.east-de.west)*he,oe.w=(se.north-de.south)*pe,Cartesian4.clone(oe,ae.localizedTranslucencyRectangle);for(var ce=E&&CesiumMath.fog(t._distance,i.fog.density)>CesiumMath.EPSILON3,R=R&&(ce||P),me=!1,fe=!1,ge=!1,_e=!1,ye=!1,Ce=!1,ve=!1,Se=!1,Te=!1,be=!1;ne<c&&j<Y;){var xe=q[j],Ee=xe.readyImagery;if(++j,defined(Ee)&&0!==Ee.imageryLayer.alpha){var Pe=xe.useWebMercatorT?Ee.textureWebMercator:Ee.texture,Ae=Ee.imageryLayer;defined(xe.textureTranslationAndScale)||(xe.textureTranslationAndScale=Ae._calculateTextureTranslationAndScale(t,xe)),ae.dayTextures[ne]=Pe,ae.dayTextureTranslationAndScale[ne]=xe.textureTranslationAndScale,ae.dayTextureTexCoordsRectangle[ne]=xe.textureCoordinateRectangle,ae.dayTextureUseWebMercatorT[ne]=xe.useWebMercatorT,ae.dayTextureAlpha[ne]=Ae.alpha,Ce=Ce||1!==ae.dayTextureAlpha[ne],ae.dayTextureNightAlpha[ne]=Ae.nightAlpha,ve=ve||1!==ae.dayTextureNightAlpha[ne],ae.dayTextureDayAlpha[ne]=Ae.dayAlpha,ve=ve||1!==ae.dayTextureDayAlpha[ne],ae.dayTextureBrightness[ne]=Ae.brightness,me=me||ae.dayTextureBrightness[ne]!==ImageryLayer.DEFAULT_BRIGHTNESS,ae.dayTextureContrast[ne]=Ae.contrast,fe=fe||ae.dayTextureContrast[ne]!==ImageryLayer.DEFAULT_CONTRAST,ae.dayTextureHue[ne]=Ae.hue,ge=ge||ae.dayTextureHue[ne]!==ImageryLayer.DEFAULT_HUE,ae.dayTextureSaturation[ne]=Ae.saturation,_e=_e||ae.dayTextureSaturation[ne]!==ImageryLayer.DEFAULT_SATURATION,ae.dayTextureOneOverGamma[ne]=1/Ae.gamma,ye=ye||ae.dayTextureOneOverGamma[ne]!==1/ImageryLayer.DEFAULT_GAMMA,ae.dayTextureSplit[ne]=Ae.splitDirection,Se=Se||0!==ae.dayTextureSplit[ne];xe=ae.dayTextureCutoutRectangles[ne];defined(xe)||(xe=ae.dayTextureCutoutRectangles[ne]=new Cartesian4),Cartesian4.clone(Cartesian4.ZERO,xe),defined(Ae.cutoutRectangle)&&(we=clipRectangleAntimeridian(de,Ae.cutoutRectangle),Te=defined(Rectangle.simpleIntersection(we,de,rectangleIntersectionScratch))||Te,xe.x=(we.west-de.west)*he,xe.y=(we.south-de.south)*pe,xe.z=(we.east-de.west)*he,xe.w=(we.north-de.south)*pe);xe=ae.colorsToAlpha[ne];defined(xe)||(xe=ae.colorsToAlpha[ne]=new Cartesian4);var we=defined(Ae.colorToAlpha)&&0<Ae.colorToAlphaThreshold,be=be||we;if(we?(we=Ae.colorToAlpha,xe.x=we.red,xe.y=we.green,xe.z=we.blue,xe.w=Ae.colorToAlphaThreshold):xe.w=-1,defined(Ee.credits))for(var De=Ee.credits,Me=0,Ie=De.length;Me<Ie;++Me)n.addCredit(De[Me]);++ne}}ae.dayTextures.length=ne,ae.waterMask=u,Cartesian4.clone(d,ae.waterMaskTranslationAndScale),ae.minMaxHeight.x=V.minimumHeight,ae.minMaxHeight.y=V.maximumHeight,Matrix4.clone(V.matrix,ae.scaleAndBias);se=e._clippingPlanes,oe=defined(se)&&se.enabled&&t.isClipped;oe&&(ae.clippingPlanesEdgeColor=Color.clone(se.edgeColor,ae.clippingPlanesEdgeColor),ae.clippingPlanesEdgeWidth=se.edgeWidth),W.numberOfDayTextures=ne,W.applyBrightness=me,W.applyContrast=fe,W.applyHue=ge,W.applySaturation=_e,W.applyGamma=ye,W.applyAlpha=Ce,W.applyDayNightAlpha=ve,W.applySplit=Se,W.enableFog=ce,W.enableClippingPlanes=oe,W.clippingPlanes=se,W.hasImageryLayerCutout=Te,W.colorCorrect=R,W.highlightFillTile=le,W.colorToAlpha=be,W.showUndergroundColor=v,W.translucent=m;oe=r.renderedMesh.indices.length;X||(oe=r.renderedMesh.indexCountWithoutSkirts),ie.shaderProgram=e._surfaceShaderSet.getShaderProgram(W),ie.castShadows=A,ie.receiveShadows=w,ie.renderState=J,ie.primitiveType=PrimitiveType$1.TRIANGLES,ie.vertexArray=r.vertexArray||r.fill.vertexArray,ie.count=oe,ie.uniformMap=re,ie.pass=Pass$1.GLOBE,e._debug.wireframe&&(createWireframeVertexArrayIfNecessary(K,e,t),defined(r.wireframeVertexArray)&&(ie.vertexArray=r.wireframeVertexArray,ie.primitiveType=PrimitiveType$1.LINES,ie.count=2*oe));se=ie.boundingVolume,le=ie.orientedBoundingBox}while(i.mode!==SceneMode$1.SCENE3D?(oe=r.tileBoundingRegion,BoundingSphere.fromRectangleWithHeights2D(t.rectangle,i.mapProjection,oe.minimumHeight,oe.maximumHeight,se),Cartesian3.fromElements(se.center.z,se.center.x,se.center.y,se.center),i.mode===SceneMode$1.MORPHING&&(se=BoundingSphere.union(N.boundingSphere3D,se,se))):(ie.boundingVolume=BoundingSphere.clone(N.boundingSphere3D,se),ie.orientedBoundingBox=OrientedBoundingBox.clone(r.orientedBoundingBox,le)),ie.dirty=!0,m&&p.updateDerivedCommands(ie,i),pushCommand(ie,i),J=Q,Z=otherPassesInitialColor,j<Y)}function GlobeTranslucency(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=Rectangle.clone(Rectangle.MAX_VALUE)}function ImageryLayerCollection(){this._layers=[],this.layerAdded=new Event,this.layerRemoved=new Event,this.layerMoved=new Event,this.layerShownOrHidden=new Event}function getLayerIndex(e,t){return e.indexOf(t)}function swapLayers(e,t,i){var r,n=e._layers;(t=CesiumMath.clamp(t,0,n.length-1))!==(i=CesiumMath.clamp(i,0,n.length-1))&&(r=n[t],n[t]=n[i],n[i]=r,e._update(),e.layerMoved.raiseEvent(r,i,t))}Object.defineProperties(GlobeTranslucency.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){this._frontFaceAlphaByDistance=NearFarScalar.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){this._backFaceAlphaByDistance=NearFarScalar.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){defined(e)||(e=Rectangle.clone(Rectangle.MAX_VALUE)),Rectangle.clone(e,this._rectangle)}}}),Object.defineProperties(ImageryLayerCollection.prototype,{length:{get:function(){return this._layers.length}}}),ImageryLayerCollection.prototype.add=function(e,t){defined(t)?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t)},ImageryLayerCollection.prototype.addImageryProvider=function(e,t){e=new ImageryLayer(e);return this.add(e,t),e},ImageryLayerCollection.prototype.remove=function(e,t){t=defaultValue(t,!0);var i=this._layers.indexOf(e);return-1!==i&&(this._layers.splice(i,1),this._update(),this.layerRemoved.raiseEvent(e,i),t&&e.destroy(),!0)},ImageryLayerCollection.prototype.removeAll=function(e){e=defaultValue(e,!0);for(var t=this._layers,i=0,r=t.length;i<r;i++){var n=t[i];this.layerRemoved.raiseEvent(n,i),e&&n.destroy()}this._layers=[]},ImageryLayerCollection.prototype.contains=function(e){return-1!==this.indexOf(e)},ImageryLayerCollection.prototype.indexOf=function(e){return this._layers.indexOf(e)},ImageryLayerCollection.prototype.get=function(e){return this._layers[e]},ImageryLayerCollection.prototype.raise=function(e){e=getLayerIndex(this._layers,e);swapLayers(this,e,e+1)},ImageryLayerCollection.prototype.lower=function(e){e=getLayerIndex(this._layers,e);swapLayers(this,e,e-1)},ImageryLayerCollection.prototype.raiseToTop=function(e){var t=getLayerIndex(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))},ImageryLayerCollection.prototype.lowerToBottom=function(e){var t=getLayerIndex(this._layers,e);0!==t&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};var applicableRectangleScratch=new Rectangle,comparisonPoint;function QuadtreeOccluders(e){this._ellipsoid=new EllipsoidalOccluder(e.ellipsoid,Cartesian3.ZERO)}function QuadtreeTile(e){this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=TileSelectionResult.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=QuadtreeTileLoadState$1.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}function freeTile(e){defined(e)&&e.freeResources()}function TileReplacementQueue(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}function remove$1(e,t){var i=t.replacementPrevious,r=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=r),t===e.head?e.head=r:i.replacementNext=r,t===e.tail?e.tail=i:r.replacementPrevious=i,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}function QuadtreePrimitive(e){this._tileProvider=e.tileProvider,(this._tileProvider.quadtree=this)._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};var t=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new TileReplacementQueue,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=defaultValue(e.maximumScreenSpaceError,2),this.tileCacheSize=defaultValue(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new QuadtreeOccluders({ellipsoid:t}),this._tileLoadProgressEvent=new Event,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}function invalidateAllTiles(e){var t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,clearTileLoadQueue(e);var i=e._levelZeroTiles;if(defined(i))for(var r=0;r<i.length;++r){for(var n=i[r].customData,a=n.length,o=0;o<a;++o){var s=n[o];s.level=0,e._addHeightCallbacks.push(s)}i[r].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}function clearTileLoadQueue(e){var t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}function updateTileLoadProgress(e,t){var i=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;i===e._lastTileLoadQueueLength&&!e._tilesInvalidated||(t.afterRender.push(Event.prototype.raiseEvent.bind(e._tileLoadProgressEvent,i)),e._lastTileLoadQueueLength=i);i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce(function(e,t){return Math.max(e,t.level)},-1),i.tilesRendered=e._tilesToRender.length,i.tilesVisited===i.lastTilesVisited&&i.tilesRendered===i.lastTilesRendered&&i.tilesCulled===i.lastTilesCulled&&i.maxDepth===i.lastMaxDepth&&i.tilesWaitingForChildren===i.lastTilesWaitingForChildren&&i.maxDepthVisited===i.lastMaxDepthVisited||(console.log("Visited "+i.tilesVisited+", Rendered: "+i.tilesRendered+", Culled: "+i.tilesCulled+", Max Depth Rendered: "+i.maxDepth+", Max Depth Visited: "+i.maxDepthVisited+", Waiting for children: "+i.tilesWaitingForChildren),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}ImageryLayerCollection.prototype.pickImageryLayerFeatures=function(e,t){e=t.globe.pick(e,t);if(defined(e)){for(var i,s=t.globe.ellipsoid.cartesianToCartographic(e),r=t.globe._surface._tilesToRender,n=0;!defined(i)&&n<r.length;++n){var a=r[n];Rectangle.contains(a.rectangle,s)&&(i=a)}if(defined(i)){for(var o=i.data.imagery,l=[],c=[],u=o.length-1;0<=u;--u){var d,h,p,m=o[u],f=m.readyImagery;defined(f)&&(defined((p=f.imageryLayer.imageryProvider).pickFeatures)&&Rectangle.contains(f.rectangle,s)&&(h=1/1024,(d=applicableRectangleScratch).west=CesiumMath.lerp(i.rectangle.west,i.rectangle.east,m.textureCoordinateRectangle.x-h),d.east=CesiumMath.lerp(i.rectangle.west,i.rectangle.east,m.textureCoordinateRectangle.z+h),d.south=CesiumMath.lerp(i.rectangle.south,i.rectangle.north,m.textureCoordinateRectangle.y-h),d.north=CesiumMath.lerp(i.rectangle.south,i.rectangle.north,m.textureCoordinateRectangle.w+h),!Rectangle.contains(d,s)||defined(p=p.pickFeatures(f.x,f.y,f.level,s.longitude,s.latitude))&&(l.push(p),c.push(f.imageryLayer))))}if(0!==l.length)return when.all(l,function(e){for(var t=[],i=0;i<e.length;++i){var r=e[i],n=c[i];if(defined(r)&&0<r.length)for(var a=0;a<r.length;++a){var o=r[a];o.imageryLayer=n,defined(o.position)||(o.position=s),t.push(o)}}return t})}}},ImageryLayerCollection.prototype.queueReprojectionCommands=function(e){for(var t=this._layers,i=0,r=t.length;i<r;++i)t[i].queueReprojectionCommands(e)},ImageryLayerCollection.prototype.cancelReprojections=function(){for(var e=this._layers,t=0,i=e.length;t<i;++t)e[t].cancelReprojections()},ImageryLayerCollection.prototype.isDestroyed=function(){return!1},ImageryLayerCollection.prototype.destroy=function(){return this.removeAll(!0),destroyObject(this)},ImageryLayerCollection.prototype._update=function(){for(var e,t,i=!0,r=this._layers,n=0,a=r.length;n<a;++n)(t=r[n])._layerIndex=n,t.show?(t._isBaseLayer=i,i=!1):t._isBaseLayer=!1,t.show!==t._show&&(defined(t._show)&&(defined(e)||(e=[]),e.push(t)),t._show=t.show);if(defined(e))for(n=0,a=e.length;n<a;++n)t=e[n],this.layerShownOrHidden.raiseEvent(t,t._layerIndex,t.show)},Object.defineProperties(QuadtreeOccluders.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),QuadtreeTile.createLevelZeroTiles=function(e){for(var t=e.getNumberOfXTilesAtLevel(0),i=e.getNumberOfYTilesAtLevel(0),r=new Array(t*i),n=0,a=0;a<i;++a)for(var o=0;o<t;++o)r[n++]=new QuadtreeTile({tilingScheme:e,x:o,y:a,level:0});return r},QuadtreeTile.prototype._updateCustomData=function(e,t,i){var r,n,a=this.customData;if(defined(t)&&defined(i)){for(a=a.filter(function(e){return-1===i.indexOf(e)}),this._customData=a,n=this._rectangle,s=0;s<t.length;++s)r=t[s],Rectangle.contains(n,r.positionCartographic)&&a.push(r);this._frameUpdated=e}else{e=this._parent;if(defined(e)&&this._frameUpdated!==e._frameUpdated){a.length=0,n=this._rectangle;for(var o=e.customData,s=0;s<o.length;++s)r=o[s],Rectangle.contains(n,r.positionCartographic)&&a.push(r);this._frameUpdated=e._frameUpdated}}},Object.defineProperties(QuadtreeTile.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return defined(this._southwestChild)||(this._southwestChild=new QuadtreeTile({tilingScheme:this.tilingScheme,x:2*this.x,y:2*this.y+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return defined(this._southeastChild)||(this._southeastChild=new QuadtreeTile({tilingScheme:this.tilingScheme,x:2*this.x+1,y:2*this.y+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return defined(this._northwestChild)||(this._northwestChild=new QuadtreeTile({tilingScheme:this.tilingScheme,x:2*this.x,y:2*this.y,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return defined(this._northeastChild)||(this._northeastChild=new QuadtreeTile({tilingScheme:this.tilingScheme,x:2*this.x+1,y:2*this.y,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<QuadtreeTileLoadState$1.DONE}},eligibleForUnloading:{get:function(){var e=!0;return defined(this.data)&&(defined(e=this.data.eligibleForUnloading)||(e=!0)),e}}}),QuadtreeTile.prototype.findLevelZeroTile=function(e,t,i){var r=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=r:r<=t&&(t-=r),!(i<0||i>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter(function(e){return e.x===t&&e.y===i})[0]},QuadtreeTile.prototype.findTileToWest=function(e){var t=this.parent;if(void 0===t)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;e=t.findTileToWest(e);return void 0!==e?t.southwestChild===this?e.southeastChild:e.northeastChild:void 0},QuadtreeTile.prototype.findTileToEast=function(e){var t=this.parent;if(void 0===t)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;e=t.findTileToEast(e);return void 0!==e?t.southeastChild===this?e.southwestChild:e.northwestChild:void 0},QuadtreeTile.prototype.findTileToSouth=function(e){var t=this.parent;if(void 0===t)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;e=t.findTileToSouth(e);return void 0!==e?t.southwestChild===this?e.northwestChild:e.northeastChild:void 0},QuadtreeTile.prototype.findTileToNorth=function(e){var t=this.parent;if(void 0===t)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;e=t.findTileToNorth(e);return void 0!==e?t.northwestChild===this?e.southwestChild:e.southeastChild:void 0},QuadtreeTile.prototype.freeResources=function(){this.state=QuadtreeTileLoadState$1.START,this.renderable=!1,this.upsampledFromParent=!1,defined(this.data)&&defined(this.data.freeResources)&&this.data.freeResources(),freeTile(this._southwestChild),this._southwestChild=void 0,freeTile(this._southeastChild),this._southeastChild=void 0,freeTile(this._northwestChild),this._northwestChild=void 0,freeTile(this._northeastChild),this._northeastChild=void 0},TileReplacementQueue.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head},TileReplacementQueue.prototype.trimTiles=function(e){for(var t=this.tail,i=!0;i&&defined(this._lastBeforeStartOfFrame)&&this.count>e&&defined(t);){i=t!==this._lastBeforeStartOfFrame;var r=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),remove$1(this,t)),t=r}},TileReplacementQueue.prototype.markTileRendered=function(e){var t=this.head;if(t!==e){if(++this.count,!defined(t))return e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,void(this.tail=e);(defined(e.replacementPrevious)||defined(e.replacementNext))&&remove$1(this,e),e.replacementPrevious=void 0,(e.replacementNext=t).replacementPrevious=e,this.head=e}else e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext)},TileReplacementQueue.prototype.remove=function(e){var t=e.replacementPrevious,i=e.replacementNext;e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=i),e===this.head?this.head=i:t.replacementNext=i,e===this.tail?this.tail=t:i.replacementPrevious=t,e.replacementPrevious=void 0,e.replacementNext=void 0,--this.count},Object.defineProperties(QuadtreePrimitive.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}}),QuadtreePrimitive.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0},QuadtreePrimitive.prototype.forEachLoadedTile=function(e){for(var t=this._tileReplacementQueue.head;defined(t);)t.state!==QuadtreeTileLoadState$1.START&&e(t),t=t.replacementNext},QuadtreePrimitive.prototype.forEachRenderedTile=function(e){for(var t=this._tilesToRender,i=0,r=t.length;i<r;++i)e(t[i])},QuadtreePrimitive.prototype.updateHeight=function(e,t){var r=this,n={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t,removeFunc:function(){for(var e=r._addHeightCallbacks,t=e.length,i=0;i<t;++i)if(e[i]===n){e.splice(i,1);break}r._removeHeightCallbacks.push(n)}};return r._addHeightCallbacks.push(n),n.removeFunc},QuadtreePrimitive.prototype.update=function(e){defined(this._tileProvider.update)&&this._tileProvider.update(e)},QuadtreePrimitive.prototype.beginFrame=function(e){e.passes.render&&(this._tilesInvalidated&&(invalidateAllTiles(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),clearTileLoadQueue(this),this._debug.suspendLodUpdate||this._tileReplacementQueue.markStartOfRenderFrame())},QuadtreePrimitive.prototype.render=function(e){var t=e.passes,i=this._tileProvider;t.render&&(i.beginUpdate(e),selectTilesForRendering(this,e),createRenderCommandsForSelectedTiles(this,e),i.endUpdate(e)),t.pick&&0<this._tilesToRender.length&&i.updateForPick(e)},QuadtreePrimitive.prototype.endFrame=function(e){e.passes.render&&e.mode!==SceneMode$1.MORPHING&&(processTileLoadQueue(this,e),updateHeights(this,e),updateTileLoadProgress(this,e))},QuadtreePrimitive.prototype.isDestroyed=function(){return!1},QuadtreePrimitive.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var centerScratch$5=new Cartographic;function compareDistanceToPoint(e,t){var i=Rectangle.center(e.rectangle,centerScratch$5),r=i.longitude-comparisonPoint.longitude,e=i.latitude-comparisonPoint.latitude,t=(i=Rectangle.center(t.rectangle,centerScratch$5)).longitude-comparisonPoint.longitude,i=i.latitude-comparisonPoint.latitude;return r*r+e*e-(t*t+i*i)}var cameraOriginScratch=new Cartesian3,rootTraversalDetails=[];function selectTilesForRendering(e,t){var i,r=e._debug;if(!r.suspendLodUpdate){e._tilesToRender.length=0;var n,a=e._tileProvider;if(!defined(e._levelZeroTiles)){if(!a.ready)return;var o=a.tilingScheme;e._levelZeroTiles=QuadtreeTile.createLevelZeroTiles(o);var s=e._levelZeroTiles.length;if(rootTraversalDetails.length<s)for(rootTraversalDetails=new Array(s),i=0;i<s;++i)void 0===rootTraversalDetails[i]&&(rootTraversalDetails[i]=new TraversalDetails)}e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;var l=e._levelZeroTiles,c=1<l.length?e._occluders:void 0;comparisonPoint=t.camera.positionCartographic,l.sort(compareDistanceToPoint);var u,d=e._addHeightCallbacks,h=e._removeHeightCallbacks,p=t.frameNumber;if(0<d.length||0<h.length){for(i=0,u=l.length;i<u;++i)(n=l[i])._updateCustomData(p,d,h);d.length=0,h.length=0}o=t.camera;e._cameraPositionCartographic=o.positionCartographic;o=Matrix4.getTranslation(o.transform,cameraOriginScratch);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(o,e._cameraReferenceFrameOriginCartographic),i=0,u=l.length;i<u;++i)n=l[i],e._tileReplacementQueue.markTileRendered(n),n.renderable?visitIfVisible(e,n,a,t,c,!1,rootTraversalDetails[i]):(queueTileLoad(e,e._tileLoadQueueHigh,n,t),++r.tilesWaitingForChildren);e._lastSelectionFrameNumber=p}}function queueTileLoad(e,t,i,r){i.needsLoading&&(void 0!==e.tileProvider.computeTileLoadPriority&&(i._loadPriority=e.tileProvider.computeTileLoadPriority(i,r)),t.push(i))}function TraversalDetails(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function TraversalQuadDetails(){this.southwest=new TraversalDetails,this.southeast=new TraversalDetails,this.northwest=new TraversalDetails,this.northeast=new TraversalDetails}TraversalQuadDetails.prototype.combine=function(e){var t=this.southwest,i=this.southeast,r=this.northwest,n=this.northeast;e.allAreRenderable=t.allAreRenderable&&i.allAreRenderable&&r.allAreRenderable&&n.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||r.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+i.notYetRenderableCount+r.notYetRenderableCount+n.notYetRenderableCount};for(var traversalQuadsByLevel=new Array(31),i$4=0;i$4<traversalQuadsByLevel.length;++i$4)traversalQuadsByLevel[i$4]=new TraversalQuadDetails;function visitTile$3(e,t,i,r,n){var a=e._debug;++a.tilesVisited,e._tileReplacementQueue.markTileRendered(i),i._updateCustomData(t.frameNumber),i.level>a.maxDepthVisited&&(a.maxDepthVisited=i.level);var o=screenSpaceError(e,t,i)<e.maximumScreenSpaceError,s=i.southwestChild,l=i.southeastChild,c=i.northwestChild,u=i.northeastChild,d=e._lastSelectionFrameNumber,h=i._lastSelectionResultFrame===d?i._lastSelectionResult:TileSelectionResult.NONE,d=e.tileProvider;if(o||r){var p=TileSelectionResult.originalResult(h)===TileSelectionResult.RENDERED,m=TileSelectionResult.originalResult(h)===TileSelectionResult.CULLED||h===TileSelectionResult.NONE,f=i.state===QuadtreeTileLoadState$1.DONE,p=p||m||f;if(p||defined(d.canRenderWithoutLosingDetail)&&(p=d.canRenderWithoutLosingDetail(i)),p)return o&&queueTileLoad(e,e._tileLoadQueueMedium,i,t),addTileToRenderList(e,i),n.allAreRenderable=i.renderable,n.anyWereRenderedLastFrame=h===TileSelectionResult.RENDERED,n.notYetRenderableCount=i.renderable?0:1,i._lastSelectionResultFrame=t.frameNumber,i._lastSelectionResult=TileSelectionResult.RENDERED,void(n.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(i));r=!0,o&&queueTileLoad(e,e._tileLoadQueueHigh,i,t)}if(d.canRefine(i)){if(s.upsampledFromParent&&l.upsampledFromParent&&c.upsampledFromParent&&u.upsampledFromParent)return addTileToRenderList(e,i),queueTileLoad(e,e._tileLoadQueueMedium,i,t),e._tileReplacementQueue.markTileRendered(s),e._tileReplacementQueue.markTileRendered(l),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(u),n.allAreRenderable=i.renderable,n.anyWereRenderedLastFrame=h===TileSelectionResult.RENDERED,n.notYetRenderableCount=i.renderable?0:1,i._lastSelectionResultFrame=t.frameNumber,i._lastSelectionResult=TileSelectionResult.RENDERED,void(n.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(i));i._lastSelectionResultFrame=t.frameNumber,i._lastSelectionResult=TileSelectionResult.REFINED;m=e._tilesToRender.length,f=e._tileLoadQueueLow.length,p=e._tileLoadQueueMedium.length,o=e._tileLoadQueueHigh.length,d=e._tileToUpdateHeights.length;if(visitVisibleChildrenNearToFar(e,s,l,c,u,t,r,n),m!==e._tilesToRender.length){l=n.allAreRenderable,c=n.anyWereRenderedLastFrame,u=n.notYetRenderableCount,r=!1;if(!l&&!c){for(var g=e._tilesToRender,_=m;_<g.length;++_)for(var y=g[_];void 0!==y&&y._lastSelectionResult!==TileSelectionResult.KICKED&&y!==i;)y._lastSelectionResult=TileSelectionResult.kick(y._lastSelectionResult),y=y.parent;e._tilesToRender.length=m,e._tileToUpdateHeights.length=d,addTileToRenderList(e,i),i._lastSelectionResult=TileSelectionResult.RENDERED;d=h===TileSelectionResult.RENDERED;!d&&u>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=f,e._tileLoadQueueMedium.length=p,e._tileLoadQueueHigh.length=o,queueTileLoad(e,e._tileLoadQueueMedium,i,t),n.notYetRenderableCount=i.renderable?0:1,r=!0),n.allAreRenderable=i.renderable,(n.anyWereRenderedLastFrame=d)||e._tileToUpdateHeights.push(i),++a.tilesWaitingForChildren}e.preloadAncestors&&!r&&queueTileLoad(e,e._tileLoadQueueLow,i,t)}}else i._lastSelectionResultFrame=t.frameNumber,i._lastSelectionResult=TileSelectionResult.RENDERED,addTileToRenderList(e,i),queueTileLoad(e,e._tileLoadQueueHigh,i,t),n.allAreRenderable=i.renderable,n.anyWereRenderedLastFrame=h===TileSelectionResult.RENDERED,n.notYetRenderableCount=i.renderable?0:1}function visitVisibleChildrenNearToFar(e,t,i,r,n,a,o,s){var l=a.camera.positionCartographic,c=e._tileProvider,u=e._occluders,d=traversalQuadsByLevel[t.level],h=d.southwest,p=d.southeast,m=d.northwest,f=d.northeast;l.longitude<t.rectangle.east?l.latitude<t.rectangle.north?(visitIfVisible(e,t,c,a,u,o,h),visitIfVisible(e,i,c,a,u,o,p),visitIfVisible(e,r,c,a,u,o,m),visitIfVisible(e,n,c,a,u,o,f)):(visitIfVisible(e,r,c,a,u,o,m),visitIfVisible(e,t,c,a,u,o,h),visitIfVisible(e,n,c,a,u,o,f),visitIfVisible(e,i,c,a,u,o,p)):l.latitude<t.rectangle.north?(visitIfVisible(e,i,c,a,u,o,p),visitIfVisible(e,t,c,a,u,o,h),visitIfVisible(e,n,c,a,u,o,f),visitIfVisible(e,r,c,a,u,o,m)):(visitIfVisible(e,n,c,a,u,o,f),visitIfVisible(e,r,c,a,u,o,m),visitIfVisible(e,i,c,a,u,o,p),visitIfVisible(e,t,c,a,u,o,h)),d.combine(s)}function containsNeededPosition(e,t){t=t.rectangle;return defined(e._cameraPositionCartographic)&&Rectangle.contains(t,e._cameraPositionCartographic)||defined(e._cameraReferenceFrameOriginCartographic)&&Rectangle.contains(t,e._cameraReferenceFrameOriginCartographic)}function visitIfVisible(e,t,i,r,n,a,o){if(i.computeTileVisibility(t,r,n)!==Visibility$1.NONE)return visitTile$3(e,r,t,a,o);++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),o.allAreRenderable=!0,o.anyWereRenderedLastFrame=!1,o.notYetRenderableCount=0,containsNeededPosition(e,t)?(defined(t.data)&&defined(t.data.vertexArray)||queueTileLoad(e,e._tileLoadQueueMedium,t,r),o=e._lastSelectionFrameNumber,(o=t._lastSelectionResultFrame===o?t._lastSelectionResult:TileSelectionResult.NONE)!==TileSelectionResult.CULLED_BUT_NEEDED&&o!==TileSelectionResult.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=TileSelectionResult.CULLED_BUT_NEEDED):(!e.preloadSiblings&&0!==t.level||queueTileLoad(e,e._tileLoadQueueLow,t,r),t._lastSelectionResult=TileSelectionResult.CULLED),t._lastSelectionResultFrame=r.frameNumber}function screenSpaceError(e,t,i){if(t.mode===SceneMode$1.SCENE2D||t.camera.frustum instanceof OrthographicFrustum||t.camera.frustum instanceof OrthographicOffCenterFrustum)return screenSpaceError2D(e,t,i);e=e._tileProvider.getLevelMaximumGeometricError(i.level),i=i._distance,e=e*t.context.drawingBufferHeight/(i*t.camera.frustum.sseDenominator);return t.fog.enabled&&(e-=CesiumMath.fog(i,t.fog.density)*t.fog.sse),e/=t.pixelRatio}function screenSpaceError2D(e,t,i){var r=t.camera.frustum;defined(r._offCenterFrustum)&&(r=r._offCenterFrustum);var n=t.context,a=n.drawingBufferWidth,n=n.drawingBufferHeight,n=e._tileProvider.getLevelMaximumGeometricError(i.level)/(Math.max(r.top-r.bottom,r.right-r.left)/Math.max(a,n));return t.fog.enabled&&t.mode!==SceneMode$1.SCENE2D&&(n-=CesiumMath.fog(i._distance,t.fog.density)*t.fog.sse),n/=t.pixelRatio}function addTileToRenderList(e,t){e._tilesToRender.push(t)}function processTileLoadQueue(e,t){var i,r,n=e._tileLoadQueueHigh,a=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;0===n.length&&0===a.length&&0===o.length||(e._tileReplacementQueue.trimTiles(e.tileCacheSize),i=getTimestamp$1()+e._loadQueueTimeSlice,n=processSinglePriorityLoadQueue(e,t,r=e._tileProvider,i,n,!1),n=processSinglePriorityLoadQueue(e,t,r,i,a,n),processSinglePriorityLoadQueue(e,t,r,i,o,n))}function sortByLoadPriority(e,t){return e._loadPriority-t._loadPriority}function processSinglePriorityLoadQueue(e,t,i,r,n,a){void 0!==i.computeTileLoadPriority&&n.sort(sortByLoadPriority);for(var o=0,s=n.length;o<s&&(getTimestamp$1()<r||!a);++o){var l=n[o];e._tileReplacementQueue.markTileRendered(l),i.loadTile(t,l),a=!0}return a}var scratchRay=new Ray,scratchCartographic$d=new Cartographic,scratchPosition$a=new Cartesian3,scratchArray=[];function updateHeights(e,t){if(e.tileProvider.ready){var i=scratchArray;i.length=0;for(var r=e._tileToUpdateHeights,n=e._tileProvider.terrainProvider,a=getTimestamp$1()+e._updateHeightsTimeSlice,o=t.mode,s=t.mapProjection,l=e.tileProvider.tilingScheme.ellipsoid;0<r.length;){var c=r[0];if(defined(c.data)&&defined(c.data.mesh)){for(var u=c.customData,d=u.length,h=!1,p=e._lastTileIndex;p<d;++p){var m,f,g=u[p];if(c.level>g.level){defined(g.positionOnEllipsoidSurface)||(g.positionOnEllipsoidSurface=Cartesian3.fromRadians(g.positionCartographic.longitude,g.positionCartographic.latitude,0,l)),o===SceneMode$1.SCENE3D?(m=l.geodeticSurfaceNormal(g.positionOnEllipsoidSurface,scratchRay.direction),defined(l.getSurfaceNormalIntersectionWithZAxis(g.positionOnEllipsoidSurface,11500,scratchRay.origin))||(defined(c.data.tileBoundingRegion)&&(f=c.data.tileBoundingRegion.minimumHeight),_=Math.min(defaultValue(f,0),-11500),T=Cartesian3.multiplyByScalar(m,Math.abs(_)+1,scratchPosition$a),Cartesian3.subtract(g.positionOnEllipsoidSurface,T,scratchRay.origin))):(Cartographic.clone(g.positionCartographic,scratchCartographic$d),scratchCartographic$d.height=-11500,s.project(scratchCartographic$d,scratchPosition$a),Cartesian3.fromElements(scratchPosition$a.z,scratchPosition$a.x,scratchPosition$a.y,scratchPosition$a),Cartesian3.clone(scratchPosition$a,scratchRay.origin),Cartesian3.clone(Cartesian3.UNIT_X,scratchRay.direction));var _=c.data.pick(scratchRay,o,s,!1,scratchPosition$a);defined(_)&&(g.callback(_),g.level=c.level)}else if(c.level===g.level){for(var y,C=c.children,v=C.length,S=0;S<v&&(y=C[S],!Rectangle.contains(y.rectangle,g.positionCartographic));++S);var T=n.getTileDataAvailable(y.x,y.y,y.level),_=c.parent;(defined(T)&&!T||defined(_)&&defined(_.data)&&defined(_.data.terrainData)&&!_.data.terrainData.isChildAvailable(_.x,_.y,y.x,y.y))&&g.removeFunc()}if(getTimestamp$1()>=a){h=!0;break}}if(h){e._lastTileIndex=p;break}e._lastTileIndex=0,r.shift()}else{var b=c._lastSelectionResultFrame===e._lastSelectionFrameNumber?c._lastSelectionResult:TileSelectionResult.NONE;b!==TileSelectionResult.RENDERED&&b!==TileSelectionResult.CULLED_BUT_NEEDED||i.push(c),r.shift(),e._lastTileIndex=0}}for(p=0;p<i.length;p++)r.push(i[p])}}function createRenderCommandsForSelectedTiles(e,t){for(var i=e._tileProvider,r=e._tilesToRender,n=0,a=r.length;n<a;++n){var o=r[n];i.showTileThisFrame(o,t)}}function Globe(e){var t=new EllipsoidTerrainProvider({ellipsoid:e=defaultValue(e,Ellipsoid.WGS84)}),i=new ImageryLayerCollection;this._ellipsoid=e,this._imageryLayerCollection=i,this._surfaceShaderSet=new GlobeSurfaceShaderSet,this._material=void 0,this._surface=new QuadtreePrimitive({tileProvider:new GlobeSurfaceTileProvider({terrainProvider:t,imageryLayers:i,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new Event,this._undergroundColor=Color.clone(Color.BLACK),this._undergroundColorAlphaByDistance=new NearFarScalar(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new GlobeTranslucency,makeShadersDirty(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new Resource({url:buildModuleUrl("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!0,this.lightingFadeOutDistance=1e7,this.lightingFadeInDistance=2e7,this.nightFadeOutDistance=1e7,this.nightFadeInDistance=5e7,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=ShadowMode$1.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0}function makeShadersDirty(e){var t=[],i=defined(e._material)&&(e._material.shaderSource.match(/slope/)||e._material.shaderSource.match("normalEC")),r=[GroundAtmosphere];!defined(e._material)||i&&!e._terrainProvider.requestVertexNormals?e._surface._tileProvider.materialUniformMap=void 0:(r.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms),r.push(GlobeFS),e._surfaceShaderSet.baseVertexShaderSource=new ShaderSource({sources:[GroundAtmosphere,GlobeVS],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new ShaderSource({sources:r,defines:t}),e._surfaceShaderSet.material=e._material}function createComparePickTileFunction(i){return function(e,t){return BoundingSphere.distanceSquaredTo(e.pickBoundingSphere,i)-BoundingSphere.distanceSquaredTo(t.pickBoundingSphere,i)}}Object.defineProperties(Globe.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return!defined(this._surface)||this._surface.tileProvider.ready&&0===this._surface._tileLoadQueueHigh.length&&0===this._surface._tileLoadQueueMedium.length&&0===this._surface._tileLoadQueueLow.length}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){defined(e)||(e=Rectangle.clone(Rectangle.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),defined(this._material)&&makeShadersDirty(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,makeShadersDirty(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=Color.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){this._undergroundColorAlphaByDistance=NearFarScalar.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});var scratchArray$1=[],scratchSphereIntersectionResult={start:0,stop:0};Globe.prototype.pickWorldCoordinates=function(e,t,i,r){i=defaultValue(i,!0);var n=t.mode,a=t.mapProjection,o=scratchArray$1;o.length=0;for(var s,l,c=this._surface._tilesToRender,u=c.length,d=0;d<u;++d){var h=(s=c[d]).data;if(defined(h)){var p=h.pickBoundingSphere;if(n!==SceneMode$1.SCENE3D)h.pickBoundingSphere=p=BoundingSphere.fromRectangleWithHeights2D(s.rectangle,a,h.tileBoundingRegion.minimumHeight,h.tileBoundingRegion.maximumHeight,p),Cartesian3.fromElements(p.center.z,p.center.x,p.center.y,p.center);else{if(!defined(h.renderedMesh))continue;BoundingSphere.clone(h.renderedMesh.boundingSphere3D,p)}defined(IntersectionTests.raySphere(e,p,scratchSphereIntersectionResult))&&o.push(h)}}for(o.sort(createComparePickTileFunction(e.origin)),u=o.length,d=0;d<u&&!defined(l=o[d].pick(e,t.mode,t.mapProjection,i,r));++d);return l};var cartoScratch$2=new Cartographic;Globe.prototype.pick=function(e,t,i){return defined(i=this.pickWorldCoordinates(e,t,!0,i))&&t.mode!==SceneMode$1.SCENE3D&&(i=Cartesian3.fromElements(i.y,i.z,i.x,i),e=t.mapProjection.unproject(i,cartoScratch$2),i=t.globe.ellipsoid.cartographicToCartesian(e,i)),i};var scratchGetHeightCartesian=new Cartesian3,scratchGetHeightIntersection=new Cartesian3,scratchGetHeightCartographic=new Cartographic,scratchGetHeightRay=new Ray;function tileIfContainsCartographic(e,t){return defined(e)&&Rectangle.contains(e.rectangle,t)?e:void 0}Globe.prototype.getHeight=function(e){var t=this._surface._levelZeroTiles;if(defined(t)){for(var i,r=t.length,n=0;n<r&&(i=t[n],!Rectangle.contains(i.rectangle,e));++n);if(!(r<=n)){for(var a=i;defined(i);)defined(i=tileIfContainsCartographic(i._southwestChild,e)||tileIfContainsCartographic(i._southeastChild,e)||tileIfContainsCartographic(i._northwestChild,e)||i._northeastChild)&&defined(i.data)&&defined(i.data.renderedMesh)&&(a=i);if(defined(i=a)&&defined(i.data)&&defined(i.data.renderedMesh)){var o,s=this._surface._tileProvider.tilingScheme.ellipsoid,l=Cartesian3.fromRadians(e.longitude,e.latitude,0,s,scratchGetHeightCartesian),c=scratchGetHeightRay,u=s.geodeticSurfaceNormal(l,c.direction);defined(s.getSurfaceNormalIntersectionWithZAxis(l,11500,c.origin))||(defined(i.data.tileBoundingRegion)&&(o=i.data.tileBoundingRegion.minimumHeight),o=Math.min(defaultValue(o,0),-11500),o=Cartesian3.multiplyByScalar(u,Math.abs(o)+1,scratchGetHeightIntersection),Cartesian3.subtract(l,o,c.origin));c=i.data.pick(c,void 0,void 0,!1,scratchGetHeightIntersection);if(defined(c))return s.cartesianToCartographic(c,scratchGetHeightCartographic).height}}}},Globe.prototype.update=function(e){this.show&&e.passes.render&&this._surface.update(e)},Globe.prototype.beginFrame=function(t){var i,r,e=this._surface,n=e.tileProvider,a=this.terrainProvider,o=this.showWaterEffect&&a.ready&&a.hasWaterMask;o&&this._oceanNormalMapResourceDirty&&(this._oceanNormalMapResourceDirty=!1,s=this._oceanNormalMapResource,defined(i=s.url)?(r=this,when(s.fetchImage(),function(e){i===r._oceanNormalMapResource.url&&(r._oceanNormalMap=r._oceanNormalMap&&r._oceanNormalMap.destroy(),r._oceanNormalMap=new Texture({context:t.context,source:e}))})):this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy());var a=t.passes,s=t.mode;a.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,e.maximumScreenSpaceError=this.maximumScreenSpaceError,e.tileCacheSize=this.tileCacheSize,e.loadingDescendantLimit=this.loadingDescendantLimit,e.preloadAncestors=this.preloadAncestors,e.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===SceneMode$1.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,e.beginFrame(t))},Globe.prototype.render=function(e){this.show&&(defined(this._material)&&this._material.update(e.context),this._surface.render(e))},Globe.prototype.endFrame=function(e){this.show&&e.passes.render&&this._surface.endFrame(e)},Globe.prototype.isDestroyed=function(){return!1},Globe.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),destroyObject(this)};var PassThrough="uniform sampler2D colorTexture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_FragColor = texture2D(colorTexture, v_textureCoordinates);\n}\n",PassThroughDepth="uniform highp sampler2D u_depthTexture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_FragColor = czm_packDepth(texture2D(u_depthTexture, v_textureCoordinates).r);\n}\n";function GlobeDepth(){this._globeColorTexture=void 0,this._primitiveColorTexture=void 0,this._depthStencilTexture=void 0,this._globeDepthTexture=void 0,this._tempGlobeDepthTexture=void 0,this._tempCopyDepthTexture=void 0,this._globeColorFramebuffer=void 0,this._primitiveColorFramebuffer=void 0,this._copyDepthFramebuffer=void 0,this._tempCopyDepthFramebuffer=void 0,this._updateDepthFramebuffer=void 0,this._clearGlobeColorCommand=void 0,this._clearPrimitiveColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._mergeColorCommand=void 0,this._viewport=new BoundingRectangle,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useLogDepth=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0,this._debugGlobeDepthViewportCommand=void 0}function executeDebugGlobeDepth(e,t,i,r){var n;defined(e._debugGlobeDepthViewportCommand)&&r===e._useLogDepth||(n=new ShaderSource({defines:[r?"LOG_DEPTH":""],sources:["uniform highp sampler2D u_depthTexture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\n float z_window = czm_unpackDepth(texture2D(u_depthTexture, v_textureCoordinates));\n z_window = czm_reverseLogDepth(z_window); \n float n_range = czm_depthRange.near;\n float f_range = czm_depthRange.far;\n float z_ndc = (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n float scale = pow(z_ndc * 0.5 + 0.5, 8.0);\n gl_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0);\n}\n"]}),e._debugGlobeDepthViewportCommand=t.createViewportQuadCommand(n,{uniformMap:{u_depthTexture:function(){return e._globeDepthTexture}},owner:e}),e._useLogDepth=r),e._debugGlobeDepthViewportCommand.execute(t,i)}function destroyTextures(e){e._globeColorTexture=e._globeColorTexture&&!e._globeColorTexture.isDestroyed()&&e._globeColorTexture.destroy(),e._depthStencilTexture=e._depthStencilTexture&&!e._depthStencilTexture.isDestroyed()&&e._depthStencilTexture.destroy(),e._globeDepthTexture=e._globeDepthTexture&&!e._globeDepthTexture.isDestroyed()&&e._globeDepthTexture.destroy()}function destroyFramebuffers$1(e){e._globeColorFramebuffer=e._globeColorFramebuffer&&!e._globeColorFramebuffer.isDestroyed()&&e._globeColorFramebuffer.destroy(),e._copyDepthFramebuffer=e._copyDepthFramebuffer&&!e._copyDepthFramebuffer.isDestroyed()&&e._copyDepthFramebuffer.destroy()}function destroyUpdateDepthResources(e){e._tempCopyDepthFramebuffer=e._tempCopyDepthFramebuffer&&!e._tempCopyDepthFramebuffer.isDestroyed()&&e._tempCopyDepthFramebuffer.destroy(),e._updateDepthFramebuffer=e._updateDepthFramebuffer&&!e._updateDepthFramebuffer.isDestroyed()&&e._updateDepthFramebuffer.destroy(),e._tempGlobeDepthTexture=e._tempGlobeDepthTexture&&!e._tempGlobeDepthTexture.isDestroyed()&&e._tempGlobeDepthTexture.destroy()}function createUpdateDepthResources(e,t,i,r,n){e._tempGlobeDepthTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST}),e._tempCopyDepthFramebuffer=new Framebuffer({context:t,colorTextures:[e._tempGlobeDepthTexture],destroyAttachments:!1}),e._updateDepthFramebuffer=new Framebuffer({context:t,colorTextures:[e._globeDepthTexture],depthStencilTexture:n.framebuffer.depthStencilTexture,destroyAttachments:!1})}function createTextures$1(e,t,i,r,n){n=n?t.halfFloatingPointTexture?PixelDatatype$1.HALF_FLOAT:PixelDatatype$1.FLOAT:PixelDatatype$1.UNSIGNED_BYTE;e._globeColorTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:n,sampler:Sampler.NEAREST}),e._depthStencilTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.DEPTH_STENCIL,pixelDatatype:PixelDatatype$1.UNSIGNED_INT_24_8}),e._globeDepthTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST})}function createFramebuffers$1(e,t){e._globeColorFramebuffer=new Framebuffer({context:t,colorTextures:[e._globeColorTexture],depthStencilTexture:e._depthStencilTexture,destroyAttachments:!1}),e._copyDepthFramebuffer=new Framebuffer({context:t,colorTextures:[e._globeDepthTexture],destroyAttachments:!1})}function createPrimitiveFramebuffer(e,t,i,r,n){n=n?t.halfFloatingPointTexture?PixelDatatype$1.HALF_FLOAT:PixelDatatype$1.FLOAT:PixelDatatype$1.UNSIGNED_BYTE;e._primitiveColorTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:n,sampler:Sampler.NEAREST}),e._primitiveColorFramebuffer=new Framebuffer({context:t,colorTextures:[e._primitiveColorTexture],depthStencilTexture:e._depthStencilTexture,destroyAttachments:!1})}function destroyPrimitiveFramebuffer(e){e._primitiveColorTexture=e._primitiveColorTexture&&!e._primitiveColorTexture.isDestroyed()&&e._primitiveColorTexture.destroy(),e._primitiveColorFramebuffer=e._primitiveColorFramebuffer&&!e._primitiveColorFramebuffer.isDestroyed()&&e._primitiveColorFramebuffer.destroy()}function updateFramebuffers(e,t,i,r,n,a){var o=e._globeColorTexture,o=!defined(o)||o.width!==i||o.height!==r||n!==e._useHdr;o&&(destroyTextures(e),destroyFramebuffers$1(e),createTextures$1(e,t,i,r,n),createFramebuffers$1(e,t)),!o&&a===e._clearGlobeDepth||(destroyPrimitiveFramebuffer(e),a&&createPrimitiveFramebuffer(e,t,i,r,n))}function updateCopyCommands(e,t,i,r,n){e._viewport.width=i,e._viewport.height=r;i=!BoundingRectangle.equals(e._viewport,n.viewport),r=i!==e._useScissorTest;e._useScissorTest=i,BoundingRectangle.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=BoundingRectangle.clone(n.viewport,e._scissorRectangle),r=!0),defined(e._rs)&&BoundingRectangle.equals(e._viewport,e._rs.viewport)&&!r||(e._rs=RenderState.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=RenderState.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:BlendingState$1.ALPHA_BLEND}),e._rsUpdate=RenderState.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:StencilFunction$1.EQUAL,frontOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.KEEP,zPass:StencilOperation$1.KEEP},backFunction:StencilFunction$1.NEVER,reference:StencilConstants$1.CESIUM_3D_TILE_MASK,mask:StencilConstants$1.CESIUM_3D_TILE_MASK}})),defined(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(PassThroughDepth,{uniformMap:{u_depthTexture:function(){return e._depthStencilTexture}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer,e._copyDepthCommand.renderState=e._rs,defined(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(PassThrough,{uniformMap:{colorTexture:function(){return e._globeColorTexture}},owner:e})),e._copyColorCommand.renderState=e._rs,defined(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(PassThroughDepth,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer,e._tempCopyDepthCommand.renderState=e._rs,defined(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(PassThrough,{uniformMap:{colorTexture:function(){return e._tempGlobeDepthTexture}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer,e._updateDepthCommand.renderState=e._rsUpdate,defined(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new ClearCommand({color:new Color(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e._globeColorFramebuffer,defined(e._clearPrimitiveColorCommand)||(e._clearPrimitiveColorCommand=new ClearCommand({color:new Color(0,0,0,0),stencil:0,owner:e})),e._clearPrimitiveColorCommand.framebuffer=e._primitiveColorFramebuffer,defined(e._mergeColorCommand)||(e._mergeColorCommand=t.createViewportQuadCommand(PassThrough,{uniformMap:{colorTexture:function(){return e._primitiveColorTexture}},owner:e})),e._mergeColorCommand.framebuffer=e._globeColorFramebuffer,e._mergeColorCommand.renderState=e._rsBlend}function GlobeTranslucencyFramebuffer(){this._colorTexture=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._framebuffer=void 0,this._packedDepthTexture=void 0,this._packedDepthFramebuffer=void 0,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new BoundingRectangle,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}function destroyResources(e){e._colorTexture=e._colorTexture&&!e._colorTexture.isDestroyed()&&e._colorTexture.destroy(),e._depthStencilTexture=e._depthStencilTexture&&!e._depthStencilTexture.isDestroyed()&&e._depthStencilTexture.destroy(),e._depthStencilRenderbuffer=e._depthStencilRenderbuffer&&!e._depthStencilRenderbuffer.isDestroyed()&&e._depthStencilRenderbuffer.destroy(),e._framebuffer=e._framebuffer&&!e._framebuffer.isDestroyed()&&e._framebuffer.destroy(),e._packedDepthTexture=e._packedDepthTexture&&!e._packedDepthTexture.isDestroyed()&&e._packedDepthTexture.destroy(),e._packedDepthFramebuffer=e._packedDepthFramebuffer&&!e._packedDepthFramebuffer.isDestroyed()&&e._packedDepthFramebuffer.destroy()}function createResources$5(e,t,i,r,n){n=n?t.halfFloatingPointTexture?PixelDatatype$1.HALF_FLOAT:PixelDatatype$1.FLOAT:PixelDatatype$1.UNSIGNED_BYTE;e._colorTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:n,sampler:Sampler.NEAREST}),t.depthTexture?e._depthStencilTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.DEPTH_STENCIL,pixelDatatype:PixelDatatype$1.UNSIGNED_INT_24_8}):e._depthStencilRenderbuffer=new Renderbuffer({context:t,width:i,height:r,format:RenderbufferFormat$1.DEPTH_STENCIL}),e._framebuffer=new Framebuffer({context:t,colorTextures:[e._colorTexture],depthStencilTexture:e._depthStencilTexture,depthStencilRenderbuffer:e._depthStencilRenderbuffer,destroyAttachments:!1}),e._packedDepthTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST}),e._packedDepthFramebuffer=new Framebuffer({context:t,colorTextures:[e._packedDepthTexture],destroyAttachments:!1})}function updateResources(e,t,i,r,n){var a=e._colorTexture;defined(a)&&a.width===i&&a.height===r&&n===e._useHdr||(destroyResources(e),createResources$5(e,t,i,r,n))}function updateCommands(e,t,i,r,n){e._viewport.width=i,e._viewport.height=r;i=!BoundingRectangle.equals(e._viewport,n.viewport),r=i!==e._useScissorTest;e._useScissorTest=i,BoundingRectangle.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=BoundingRectangle.clone(n.viewport,e._scissorRectangle),r=!0),defined(e._renderState)&&BoundingRectangle.equals(e._viewport,e._renderState.viewport)&&!r||(e._renderState=RenderState.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),defined(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(PassThroughDepth,{uniformMap:{u_depthTexture:function(){return e._depthStencilTexture}},owner:e})),defined(e._clearCommand)||(e._clearCommand=new ClearCommand({color:new Color(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e._framebuffer,e._clearCommand.renderState=e._renderState}Object.defineProperties(GlobeDepth.prototype,{framebuffer:{get:function(){return this._globeColorFramebuffer}},primitiveFramebuffer:{get:function(){return this._primitiveColorFramebuffer}}}),GlobeDepth.prototype.executeDebugGlobeDepth=function(e,t,i){executeDebugGlobeDepth(this,e,t,i)},GlobeDepth.prototype.update=function(e,t,i,r,n){var a=i.width,i=i.height;updateFramebuffers(this,e,a,i,r,n),updateCopyCommands(this,e,a,i,t),e.uniformState.globeDepthTexture=void 0,this._useHdr=r,this._clearGlobeDepth=n},GlobeDepth.prototype.executeCopyDepth=function(e,t){defined(this._copyDepthCommand)&&(this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._globeDepthTexture)},GlobeDepth.prototype.executeUpdateDepth=function(e,t,i){var r,n=t.framebuffer.depthStencilTexture;i||n!==this._depthStencilTexture?defined(this._updateDepthCommand)&&(defined(this._updateDepthFramebuffer)&&this._updateDepthFramebuffer.depthStencilTexture===n&&this._updateDepthFramebuffer.getColorTexture(0)===this._globeDepthTexture||(r=this._globeDepthTexture.width,i=this._globeDepthTexture.height,destroyUpdateDepthResources(this),createUpdateDepthResources(this,e,r,i,t),updateCopyCommands(this,e,r,i,t)),this._tempCopyDepthTexture=n,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)):defined(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t)},GlobeDepth.prototype.executeCopyColor=function(e,t){defined(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)},GlobeDepth.prototype.executeMergeColor=function(e,t){defined(this._mergeColorCommand)&&this._mergeColorCommand.execute(e,t)},GlobeDepth.prototype.clear=function(e,t,i){var r=this._clearGlobeColorCommand;defined(r)&&(Color.clone(i,r.color),r.execute(e,t)),defined(r=this._clearPrimitiveColorCommand)&&defined(this._primitiveColorFramebuffer)&&r.execute(e,t)},GlobeDepth.prototype.isDestroyed=function(){return!1},GlobeDepth.prototype.destroy=function(){return destroyTextures(this),destroyFramebuffers$1(this),destroyPrimitiveFramebuffer(this),destroyUpdateDepthResources(this),defined(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),defined(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),defined(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),defined(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),defined(this._mergeColorCommand)&&(this._mergeColorCommand.shaderProgram=this._mergeColorCommand.shaderProgram.destroy()),defined(this._debugGlobeDepthViewportCommand)&&(this._debugGlobeDepthViewportCommand.shaderProgram=this._debugGlobeDepthViewportCommand.shaderProgram.destroy()),destroyObject(this)},Object.defineProperties(GlobeTranslucencyFramebuffer.prototype,{classificationTexture:{get:function(){return this._colorTexture}},classificationFramebuffer:{get:function(){return this._framebuffer}}}),GlobeTranslucencyFramebuffer.prototype.updateAndClear=function(e,t,i,r){var n=t.width,t=t.height;updateResources(this,i,n,t,e),updateCommands(this,i,n,t,r),this._useHdr=e},GlobeTranslucencyFramebuffer.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)},GlobeTranslucencyFramebuffer.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this._packedDepthTexture},GlobeTranslucencyFramebuffer.prototype.isDestroyed=function(){return!1},GlobeTranslucencyFramebuffer.prototype.destroy=function(){return destroyResources(this),destroyObject(this)};var DerivedCommandType={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},derivedCommandsMaximumLength=DerivedCommandType.DERIVED_COMMANDS_MAXIMUM_LENGTH,DerivedCommandNames=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function GlobeTranslucencyState(){this._frontFaceAlphaByDistance=new NearFarScalar(0,1,0,1),this._backFaceAlphaByDistance=new NearFarScalar(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=Rectangle.clone(Rectangle.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(derivedCommandsMaximumLength),this._derivedBlendCommandTypes=new Array(derivedCommandsMaximumLength),this._derivedPickCommandTypes=new Array(derivedCommandsMaximumLength),this._derivedCommandTypesToUpdate=new Array(derivedCommandsMaximumLength),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}function updateAlphaByDistance(e,t,i,r){return e?defined(i)?(NearFarScalar.clone(i,r),r.nearValue*=t,r.farValue*=t):(r.nearValue=t,r.farValue=t):(r.nearValue=1,r.farValue=1),r}function isFaceTranslucent(e,t,i){return e&&(i.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function isSunVisibleThroughGlobe(e,t){var i=e._frontFaceTranslucent,e=e._backFaceTranslucent;return i&&(t.cameraUnderground||e)}function isEnvironmentVisible(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function useDepthPlane(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function requiresManualDepthTest(e,t,i){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!i.depthTestAgainstTerrain&&t.mode!==SceneMode$1.SCENE2D&&t.context.depthTexture}function getNumberOfTextureUniforms(e){var t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function gatherDerivedCommandRequirements(e,t){e._derivedCommandsLength=getDerivedCommandTypes(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=getDerivedCommandTypes(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=getDerivedCommandTypes(e,t,!1,!0,e._derivedPickCommandTypes);for(var i=0,r=0;r<e._derivedCommandsLength;++r)i|=1<<e._derivedCommandTypes[r];for(r=0;r<e._derivedBlendCommandsLength;++r)i|=1<<e._derivedBlendCommandTypes[r];for(r=0;r<e._derivedPickCommandsLength;++r)i|=1<<e._derivedPickCommandTypes[r];var n=0;for(r=0;r<derivedCommandsMaximumLength;++r)0<(i&1<<r)&&(e._derivedCommandTypesToUpdate[n++]=r);e._derivedCommandsToUpdateLength=n;t=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=t,!defined(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=createDerivedCommandPacks())}function getDerivedCommandTypes(e,t,i,r,n){var a=0,o=e._frontFaceTranslucent,s=e._backFaceTranslucent;if(!o)return a;var l=t.cameraUnderground,o=e._requiresManualDepthTest,e=r?DerivedCommandType.PICK_FRONT_FACE:o?DerivedCommandType.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:DerivedCommandType.TRANSLUCENT_FRONT_FACE,o=r?DerivedCommandType.PICK_BACK_FACE:o?DerivedCommandType.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:DerivedCommandType.TRANSLUCENT_BACK_FACE;return t.mode===SceneMode$1.SCENE2D?(n[a++]=DerivedCommandType.DEPTH_ONLY_FRONT_FACE,n[a++]=e):s?(i||(n[a++]=DerivedCommandType.DEPTH_ONLY_FRONT_AND_BACK_FACE),l?(n[a++]=e,n[a++]=o):(n[a++]=o,n[a++]=e)):l?(i||(n[a++]=DerivedCommandType.DEPTH_ONLY_BACK_FACE),n[a++]=DerivedCommandType.OPAQUE_FRONT_FACE,n[a++]=o):(i||(n[a++]=DerivedCommandType.DEPTH_ONLY_FRONT_FACE),n[a++]=DerivedCommandType.OPAQUE_BACK_FACE,n[a++]=e),a}function removeDefine(e,t){t=e.indexOf(t);-1<t&&e.splice(t,1)}function hasDefine(e,t){return-1<e.indexOf(t)}function getOpaqueFrontFaceShaderProgram(e,t){removeDefine(e.defines,"TRANSLUCENT"),removeDefine(t.defines,"TRANSLUCENT")}function getOpaqueBackFaceShaderProgram(e,t){removeDefine(e.defines,"GROUND_ATMOSPHERE"),removeDefine(t.defines,"GROUND_ATMOSPHERE"),removeDefine(e.defines,"FOG"),removeDefine(t.defines,"FOG"),removeDefine(e.defines,"TRANSLUCENT"),removeDefine(t.defines,"TRANSLUCENT")}function getDepthOnlyShaderProgram$1(e,t){hasDefine(t.defines,"TILE_LIMIT_RECTANGLE")||hasDefine(t.defines,"ENABLE_CLIPPING_PLANES")||(t.sources=["void main() \n{ \n gl_FragColor = vec4(1.0); \n} \n"])}function getTranslucentShaderProgram(e,t){for(var i=t.sources,r=i.length,n=0;n<r;++n)i[n]=ShaderSource.replaceMain(i[n],"czm_globe_translucency_main");i.push("\n\nuniform sampler2D u_classificationTexture; \nvoid main() \n{ \n vec2 st = gl_FragCoord.xy / czm_viewport.zw; \n#ifdef MANUAL_DEPTH_TEST \n float logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, st)); \n if (logDepthOrDepth != 0.0) \n { \n vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); \n float depthEC = eyeCoordinate.z / eyeCoordinate.w; \n if (v_positionEC.z < depthEC) \n { \n discard; \n } \n } \n#endif \n czm_globe_translucency_main(); \n vec4 classificationColor = texture2D(u_classificationTexture, st); \n if (classificationColor.a > 0.0) \n { \n // Reverse premultiplication process to get the correct composited result of the classification primitives \n classificationColor.rgb /= classificationColor.a; \n } \n gl_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + gl_FragColor * (1.0 - classificationColor.a); \n} \n")}function getTranslucentBackFaceShaderProgram(e,t){getTranslucentShaderProgram(e,t),removeDefine(e.defines,"GROUND_ATMOSPHERE"),removeDefine(t.defines,"GROUND_ATMOSPHERE"),removeDefine(e.defines,"FOG"),removeDefine(t.defines,"FOG")}function getTranslucentFrontFaceManualDepthTestShaderProgram(e,t){getTranslucentShaderProgram(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function getTranslucentBackFaceManualDepthTestShaderProgram(e,t){getTranslucentBackFaceShaderProgram(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function getPickShaderProgram$1(e,t){t.sources=["uniform sampler2D u_classificationTexture; \nvoid main() \n{ \n vec2 st = gl_FragCoord.xy / czm_viewport.zw; \n vec4 pickColor = texture2D(u_classificationTexture, st); \n if (pickColor == vec4(0.0)) \n { \n discard; \n } \n gl_FragColor = pickColor; \n} \n"]}function getDerivedShaderProgram(e,t,i,r,n,a){if(!defined(n))return t;if(!r&&defined(i))return i;var o,s=e.shaderCache.getDerivedShaderProgram(t,a);return defined(s)||(o=t._attributeLocations,r=t.vertexShaderSource.clone(),i=t.fragmentShaderSource.clone(),r.defines=defined(r.defines)?r.defines.slice(0):[],i.defines=defined(i.defines)?i.defines.slice(0):[],n(r,i),s=e.shaderCache.createDerivedShaderProgram(t,a,{vertexShaderSource:r,fragmentShaderSource:i,attributeLocations:o})),s}function getOpaqueFrontFaceRenderState(e){e.cull.face=CullFace$1.BACK,e.cull.enabled=!0}function getOpaqueBackFaceRenderState(e){e.cull.face=CullFace$1.FRONT,e.cull.enabled=!0}function getDepthOnlyFrontFaceRenderState(e){e.cull.face=CullFace$1.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function getDepthOnlyBackFaceRenderState(e){e.cull.face=CullFace$1.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function getDepthOnlyFrontAndBackFaceRenderState(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function getTranslucentFrontFaceRenderState(e){e.cull.face=CullFace$1.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=BlendingState$1.ALPHA_BLEND}function getTranslucentBackFaceRenderState(e){e.cull.face=CullFace$1.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=BlendingState$1.ALPHA_BLEND}function getPickFrontFaceRenderState(e){e.cull.face=CullFace$1.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function getPickBackFaceRenderState(e){e.cull.face=CullFace$1.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function getDerivedRenderState(e,t,i,r,n){if(!defined(r))return e;if(!i&&defined(t))return t;t=n[e.id];return defined(t)||(r(r=RenderState.getState(e)),t=RenderState.fromCache(r),n[e.id]=t),t}function getTranslucencyUniformMap(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function getDerivedUniformMap(e,t,i,r,n){return defined(n)?!r&&defined(i)?i:combine(t,n(e),!1):t}function DerivedCommandPack(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function createDerivedCommandPacks(){return[new DerivedCommandPack({pass:Pass$1.GLOBE,pickOnly:!1,getShaderProgramFunction:getOpaqueFrontFaceShaderProgram,getRenderStateFunction:getOpaqueFrontFaceRenderState,getUniformMapFunction:void 0}),new DerivedCommandPack({pass:Pass$1.GLOBE,pickOnly:!1,getShaderProgramFunction:getOpaqueBackFaceShaderProgram,getRenderStateFunction:getOpaqueBackFaceRenderState,getUniformMapFunction:void 0}),new DerivedCommandPack({pass:Pass$1.GLOBE,pickOnly:!1,getShaderProgramFunction:getDepthOnlyShaderProgram$1,getRenderStateFunction:getDepthOnlyFrontFaceRenderState,getUniformMapFunction:void 0}),new DerivedCommandPack({pass:Pass$1.GLOBE,pickOnly:!1,getShaderProgramFunction:getDepthOnlyShaderProgram$1,getRenderStateFunction:getDepthOnlyBackFaceRenderState,getUniformMapFunction:void 0}),new DerivedCommandPack({pass:Pass$1.GLOBE,pickOnly:!1,getShaderProgramFunction:getDepthOnlyShaderProgram$1,getRenderStateFunction:getDepthOnlyFrontAndBackFaceRenderState,getUniformMapFunction:void 0}),new DerivedCommandPack({pass:Pass$1.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:getTranslucentShaderProgram,getRenderStateFunction:getTranslucentFrontFaceRenderState,getUniformMapFunction:getTranslucencyUniformMap}),new DerivedCommandPack({pass:Pass$1.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:getTranslucentBackFaceShaderProgram,getRenderStateFunction:getTranslucentBackFaceRenderState,getUniformMapFunction:getTranslucencyUniformMap}),new DerivedCommandPack({pass:Pass$1.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:getTranslucentFrontFaceManualDepthTestShaderProgram,getRenderStateFunction:getTranslucentFrontFaceRenderState,getUniformMapFunction:getTranslucencyUniformMap}),new DerivedCommandPack({pass:Pass$1.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:getTranslucentBackFaceManualDepthTestShaderProgram,getRenderStateFunction:getTranslucentBackFaceRenderState,getUniformMapFunction:getTranslucencyUniformMap}),new DerivedCommandPack({pass:Pass$1.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:getPickShaderProgram$1,getRenderStateFunction:getPickFrontFaceRenderState,getUniformMapFunction:getTranslucencyUniformMap}),new DerivedCommandPack({pass:Pass$1.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:getPickShaderProgram$1,getRenderStateFunction:getPickBackFaceRenderState,getUniformMapFunction:getTranslucencyUniformMap})]}Object.defineProperties(GlobeTranslucencyState.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}}),GlobeTranslucencyState.prototype.update=function(e){var t=e.globe;if(!defined(t)||!t.show)return this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,void(this._useDepthPlane=!1);this._frontFaceAlphaByDistance=updateAlphaByDistance(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=updateAlphaByDistance(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=isFaceTranslucent(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=isFaceTranslucent(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=requiresManualDepthTest(this,e,t),this._sunVisibleThroughGlobe=isSunVisibleThroughGlobe(this,e),this._environmentVisible=isEnvironmentVisible(this,e),this._useDepthPlane=useDepthPlane(this,e),this._numberOfTextureUniforms=getNumberOfTextureUniforms(this),this._rectangle=Rectangle.clone(t.translucency.rectangle,this._rectangle),gatherDerivedCommandRequirements(this,e)};var derivedCommandNames=new Array(derivedCommandsMaximumLength),derivedCommandPacks=new Array(derivedCommandsMaximumLength);function updateDerivedCommands(e,t,i,r,n,a,o){var s=t.derivedCommands.globeTranslucency,l=e._derivedCommandsDirty;if(t.dirty||!defined(s)||l){t.dirty=!1,defined(s)||(s={},t.derivedCommands.globeTranslucency=s);var c=o.frameNumber,u=defaultValue(s.uniformMapDirtyFrame,0),d=defaultValue(s.shaderProgramDirtyFrame,0),h=defaultValue(s.renderStateDirtyFrame,0),p=s.uniformMap!==t.uniformMap,m=s.shaderProgramId!==t.shaderProgram.id,f=s.renderStateId!==t.renderState.id;p&&(s.uniformMapDirtyFrame=c),m&&(s.shaderProgramDirtyFrame=c),f&&(s.renderStateDirtyFrame=c),s.uniformMap=t.uniformMap,s.shaderProgramId=t.shaderProgram.id,s.renderStateId=t.renderState.id;for(var g=0;g<i;++g){var _,y,C=a[g],v=r[g],S=n[g],T=defined(b=s[S])?(_=b.uniformMap,y=b.shaderProgram,b.renderState):y=_=void 0,b=DrawCommand.shallowClone(t,b),x=defaultValue((s[S]=b).derivedCommands.uniformMapDirtyFrame,0),E=defaultValue(b.derivedCommands.shaderProgramDirtyFrame,0),P=defaultValue(b.derivedCommands.renderStateDirtyFrame,0),x=p||x<u,E=m||E<d,P=f||P<h;x&&(b.derivedCommands.uniformMapDirtyFrame=c),E&&(b.derivedCommands.shaderProgramDirtyFrame=c),P&&(b.derivedCommands.renderStateDirtyFrame=c),b.derivedCommands.type=v,b.pass=C.pass,b.pickOnly=C.pickOnly,b.uniformMap=getDerivedUniformMap(e,t.uniformMap,_,x,C.getUniformMapFunction),b.shaderProgram=getDerivedShaderProgram(o.context,t.shaderProgram,y,E,C.getShaderProgramFunction,S),b.renderState=getDerivedRenderState(t.renderState,T,P,C.getRenderStateFunction,C.renderStateCache)}}}function executeCommandsMatchingType(e,t,i,r,n,a,o){for(var s=0;s<t;++s){var l=e[s],c=l.derivedCommands.type;(!defined(o)||-1<o.indexOf(c))&&i(l,r,n,a)}}function executeCommands(e,t,i,r,n,a){for(var o=0;o<t;++o)i(e[o],r,n,a)}GlobeTranslucencyState.prototype.updateDerivedCommands=function(e,t){var i=this._derivedCommandTypesToUpdate,r=this._derivedCommandsToUpdateLength;if(0!==r){for(var n=0;n<r;++n)derivedCommandPacks[n]=this._derivedCommandPacks[i[n]],derivedCommandNames[n]=DerivedCommandNames[i[n]];updateDerivedCommands(this,e,r,i,derivedCommandNames,derivedCommandPacks,t)}},GlobeTranslucencyState.prototype.pushDerivedCommands=function(e,t,i){var r=i.passes.pick;if(!r||!t){var n=this._derivedCommandTypes,a=this._derivedCommandsLength;if(r?(n=this._derivedPickCommandTypes,a=this._derivedPickCommandsLength):t&&(n=this._derivedBlendCommandTypes,a=this._derivedBlendCommandsLength),0!==a)for(var o=e.derivedCommands.globeTranslucency,s=0;s<a;++s){var l=DerivedCommandNames[n[s]];i.commandList.push(o[l])}else i.commandList.push(e)}};var opaqueTypes=[DerivedCommandType.OPAQUE_FRONT_FACE,DerivedCommandType.OPAQUE_BACK_FACE],depthOnlyTypes=[DerivedCommandType.DEPTH_ONLY_FRONT_FACE,DerivedCommandType.DEPTH_ONLY_BACK_FACE,DerivedCommandType.DEPTH_ONLY_FRONT_AND_BACK_FACE];function GoogleEarthEnterpriseDiscardPolicy(){this._image=new Image}function GoogleEarthEnterpriseImageryProvider(e){var t;e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,t=defined(e.metadata)?e.metadata:new GoogleEarthEnterpriseMetadata(Resource.createIfNeeded(e.url)),this._metadata=t,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new GeographicTilingScheme({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new Rectangle(-CesiumMath.PI,-CesiumMath.PI,CesiumMath.PI,CesiumMath.PI),ellipsoid:e.ellipsoid});e=e.credit;"string"==typeof e&&(e=new Credit(e)),this._credit=e,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,defined(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new GoogleEarthEnterpriseDiscardPolicy),this._errorEvent=new Event,this._ready=!1;var i,r=this;this._readyPromise=t.readyPromise.then(function(e){if(t.imageryPresent)return TileProviderError.handleSuccess(i),r._ready=e;e=new RuntimeError("The server "+t.url+" doesn't have imagery");return i=TileProviderError.handleError(i,r,r._errorEvent,e.message,void 0,void 0,void 0,e),when.reject(e)}).otherwise(function(e){return i=TileProviderError.handleError(i,r,r._errorEvent,e.message,void 0,void 0,void 0,e),when.reject(e)})}function buildImageResource$3(e,t,i,r,n,a){n=GoogleEarthEnterpriseMetadata.tileXYToQuadKey(i,r,n),t=defined(t=t.imageryVersion)&&0<t?t:1;return e._metadata.resource.getDerivedResource({url:"flatfile?f1-0"+n+"-i."+t.toString(),request:a})}function getImageType(e){var t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";return e[1]==="PNG".charCodeAt(0)&&e[2]==="PNG".charCodeAt(1)&&e[3]==="PNG".charCodeAt(2)?"image/png":void 0}function decodeEarthImageryPacket(e){for(var t=protobuf.Reader.create(e),i=t.len,r={};t.pos<i;){var n=t.uint32();switch(n>>>3){case 1:r.imageType=t.uint32();break;case 2:r.imageData=t.bytes();break;case 3:r.alphaType=t.uint32();break;case 4:r.imageAlpha=t.bytes();break;case 5:var a=r.copyrightIds;if(defined(a)||(a=r.copyrightIds=[]),2==(7&n))for(var o=t.uint32()+t.pos;t.pos<o;)a.push(t.uint32());else a.push(t.uint32());break;default:t.skipType(7&n)}}e=r.imageType;if(defined(e))switch(e){case 0:r.imageType="image/jpeg";break;case 4:r.imageType="image/png";break;default:throw new RuntimeError("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}e=r.alphaType;return defined(e)&&0!==e&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete r.alphaType,delete r.imageAlpha),r}GlobeTranslucencyState.prototype.executeGlobeCommands=function(e,t,i,r,n){var a=r.context,o=e.commands[Pass$1.GLOBE],e=e.indices[Pass$1.GLOBE];0!==e&&((this._globeTranslucencyFramebuffer=i).clearClassification(a,n),executeCommandsMatchingType(o,e,t,r,a,n,opaqueTypes))},GlobeTranslucencyState.prototype.executeGlobeClassificationCommands=function(e,t,i,r,n){var a,o=r.context,s=e.commands[Pass$1.GLOBE],l=e.indices[Pass$1.GLOBE],c=e.commands[Pass$1.TERRAIN_CLASSIFICATION],u=e.indices[Pass$1.TERRAIN_CLASSIFICATION];0!==l&&0!==u&&(a=this._frontFaceTranslucent,e=this._backFaceTranslucent,a&&e||executeCommands(c,u,t,r,o,n),(a||e)&&(this._globeTranslucencyFramebuffer=i,a=o.uniformState.globeDepthTexture,e=n.framebuffer,n.framebuffer=i.classificationFramebuffer,executeCommandsMatchingType(s,l,t,r,o,n,depthOnlyTypes),o.depthTexture&&(i=i.packDepth(o,n),o.uniformState.globeDepthTexture=i),executeCommands(c,u,t,r,o,n),o.uniformState.globeDepthTexture=a,n.framebuffer=e))},GoogleEarthEnterpriseDiscardPolicy.prototype.isReady=function(){return!0},GoogleEarthEnterpriseDiscardPolicy.prototype.shouldDiscardImage=function(e){return e===this._image},Object.defineProperties(GoogleEarthEnterpriseImageryProvider.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}}),GoogleEarthEnterpriseImageryProvider.prototype.getTileCredits=function(e,t,i){var r=this._metadata,i=r.getTileInformation(e,t,i);if(defined(i)){i=r.providers[i.imageryProvider];if(defined(i))return[i]}},GoogleEarthEnterpriseImageryProvider.prototype.requestImage=function(e,t,i,r){var n=this._tileDiscardPolicy._image,a=this._metadata,o=GoogleEarthEnterpriseMetadata.tileXYToQuadKey(e,t,i),s=a.getTileInformation(e,t,i);if(!defined(s)){if(a.isValid(o)){o=new Request({throttle:r.throttle,throttleByServer:r.throttleByServer,type:r.type,priorityFunction:r.priorityFunction});return void a.populateSubtree(e,t,i,o)}return n}if(!s.hasImagery())return n;r=buildImageResource$3(this,s,e,t,i,r).fetchArrayBuffer();return defined(r)?r.then(function(e){decodeGoogleEarthEnterpriseData(a.key,e);var t,i=new Uint8Array(e),e=a.protoImagery;return defined(e)&&e||(t=getImageType(i)),defined(t)||defined(e)&&!e||(t=(e=decodeEarthImageryPacket(i)).imageType,i=e.imageData),defined(t)&&defined(i)?loadImageFromTypedArray({uint8Array:i,format:t,flipY:!0}):n}):void 0},GoogleEarthEnterpriseImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){};var defaultColor$8=new Color(1,1,1,.4),defaultGlowColor=new Color(0,1,0,.05),defaultBackgroundColor$2=new Color(0,.5,0,.2);function GridImageryProvider(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._tilingScheme=defined(e.tilingScheme)?e.tilingScheme:new GeographicTilingScheme({ellipsoid:e.ellipsoid}),this._cells=defaultValue(e.cells,8),this._color=defaultValue(e.color,defaultColor$8),this._glowColor=defaultValue(e.glowColor,defaultGlowColor),this._glowWidth=defaultValue(e.glowWidth,6),this._backgroundColor=defaultValue(e.backgroundColor,defaultBackgroundColor$2),this._errorEvent=new Event,this._tileWidth=defaultValue(e.tileWidth,256),this._tileHeight=defaultValue(e.tileHeight,256),this._canvasSize=defaultValue(e.canvasSize,256),this._canvas=this._createGridCanvas(),this._readyPromise=when.resolve(!0)}function InvertClassification(){this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._texture=void 0,this._classifiedTexture=void 0,this._depthStencilTexture=void 0,this._fbo=void 0,this._fboClassified=void 0,this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new ClearCommand({color:new Color(0,0,0,0),owner:this}),this._clearCommand=new ClearCommand({color:new Color(0,0,0,0),depth:1,stencil:0});var e=this;this._uniformMap={colorTexture:function(){return e._texture},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._classifiedTexture}}}Object.defineProperties(GridImageryProvider.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}}),GridImageryProvider.prototype._drawGrid=function(e){for(var t=this._canvasSize,i=0;i<=this._cells;++i){var r=1+i/this._cells*(t-1);e.moveTo(r,0),e.lineTo(r,t),e.moveTo(0,r),e.lineTo(t,r)}e.stroke()},GridImageryProvider.prototype._createGridCanvas=function(){var e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;var t=this._canvasSize,i=e.getContext("2d"),r=this._backgroundColor.toCssColorString();i.fillStyle=r,i.fillRect(0,0,t,t);r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(0,0,t,t),this._drawGrid(i),i.lineWidth=.5*this._glowWidth,i.strokeRect(0,0,t,t),this._drawGrid(i);r=this._color.toCssColorString();return i.strokeStyle=r,i.lineWidth=2,i.strokeRect(0,0,t,t),i.lineWidth=1,this._drawGrid(i),e},GridImageryProvider.prototype.getTileCredits=function(e,t,i){},GridImageryProvider.prototype.requestImage=function(e,t,i,r){return this._canvas},GridImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){},Object.defineProperties(InvertClassification.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}}),InvertClassification.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};var rsUnclassified={depthMask:!1,stencilTest:{enabled:!0,frontFunction:StencilFunction$1.EQUAL,frontOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.KEEP,zPass:StencilOperation$1.KEEP},backFunction:StencilFunction$1.NEVER,reference:0,mask:StencilConstants$1.CLASSIFICATION_MASK},blending:BlendingState$1.ALPHA_BLEND},rsClassified={depthMask:!1,stencilTest:{enabled:!0,frontFunction:StencilFunction$1.NOT_EQUAL,frontOperation:{fail:StencilOperation$1.KEEP,zFail:StencilOperation$1.KEEP,zPass:StencilOperation$1.KEEP},backFunction:StencilFunction$1.NEVER,reference:0,mask:StencilConstants$1.CLASSIFICATION_MASK},blending:BlendingState$1.ALPHA_BLEND},rsDefault={depthMask:!0,depthTest:{enabled:!0},stencilTest:StencilConstants$1.setCesium3DTileBit(),stencilMask:StencilConstants$1.CESIUM_3D_TILE_MASK,blending:BlendingState$1.ALPHA_BLEND},translucentFS="#extension GL_EXT_frag_depth : enable\nuniform sampler2D colorTexture;\nuniform sampler2D depthTexture;\nuniform sampler2D classifiedTexture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n if (color.a == 0.0)\n {\n discard;\n }\n bool isClassified = all(equal(texture2D(classifiedTexture, v_textureCoordinates), vec4(0.0)));\n#ifdef UNCLASSIFIED\n vec4 highlightColor = czm_invertClassificationColor;\n if (isClassified)\n {\n discard;\n }\n#else\n vec4 highlightColor = vec4(1.0);\n if (!isClassified)\n {\n discard;\n }\n#endif\n gl_FragColor = color * highlightColor;\n gl_FragDepthEXT = texture2D(depthTexture, v_textureCoordinates).r;\n}\n",opaqueFS="uniform sampler2D colorTexture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n if (color.a == 0.0)\n {\n discard;\n }\n#ifdef UNCLASSIFIED\n gl_FragColor = color * czm_invertClassificationColor;\n#else\n gl_FragColor = color;\n#endif\n}\n";function JobTypeBudget(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}function JobScheduler(e){var t=new Array(JobType$1.NUMBER_OF_JOB_TYPES);t[JobType$1.TEXTURE]=new JobTypeBudget(defined(e)?e[JobType$1.TEXTURE]:10),t[JobType$1.PROGRAM]=new JobTypeBudget(defined(e)?e[JobType$1.PROGRAM]:10),t[JobType$1.BUFFER]=new JobTypeBudget(defined(e)?e[JobType$1.BUFFER]:30);for(var i=t.length,r=0,n=0;n<i;++n)r+=t[n].total;var a=new Array(i);for(n=0;n<i;++n)a[n]=!1;this._totalBudget=r,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=a}function Light(){}InvertClassification.prototype.update=function(e){var t=this._texture,i=!defined(t)||this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;var r,n,a=e.drawingBufferWidth,o=e.drawingBufferHeight,t=!defined(t)||t.width!==a||t.height!==o;(t||i)&&(this._texture=this._texture&&this._texture.destroy(),this._classifiedTexture=this._classifiedTexture&&this._classifiedTexture.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._texture=new Texture({context:e,width:a,height:o,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:new Sampler({wrapS:TextureWrap$1.CLAMP_TO_EDGE,wrapT:TextureWrap$1.CLAMP_TO_EDGE,minificationFilter:TextureMinificationFilter$1.LINEAR,magnificationFilter:TextureMagnificationFilter$1.LINEAR})}),defined(this._previousFramebuffer)||(this._classifiedTexture=new Texture({context:e,width:a,height:o,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:new Sampler({wrapS:TextureWrap$1.CLAMP_TO_EDGE,wrapT:TextureWrap$1.CLAMP_TO_EDGE,minificationFilter:TextureMinificationFilter$1.LINEAR,magnificationFilter:TextureMagnificationFilter$1.LINEAR})}),this._depthStencilTexture=new Texture({context:e,width:a,height:o,pixelFormat:PixelFormat$1.DEPTH_STENCIL,pixelDatatype:PixelDatatype$1.UNSIGNED_INT_24_8}))),defined(this._fbo)&&!t&&!i||(this._fbo=this._fbo&&this._fbo.destroy(),this._fboClassified=this._fboClassified&&this._fboClassified.destroy(),defined(this._previousFramebuffer)?(n=this._previousFramebuffer.depthStencilTexture,r=this._previousFramebuffer.depthStencilRenderbuffer):n=this._depthStencilTexture,this._fbo=new Framebuffer({context:e,colorTextures:[this._texture],depthStencilTexture:n,depthStencilRenderbuffer:r,destroyAttachments:!1}),defined(this._previousFramebuffer)||(this._fboClassified=new Framebuffer({context:e,colorTextures:[this._classifiedTexture],depthStencilTexture:n,destroyAttachments:!1}))),defined(this._rsUnclassified)||(this._rsUnclassified=RenderState.fromCache(rsUnclassified),this._rsClassified=RenderState.fromCache(rsClassified),this._rsDefault=RenderState.fromCache(rsDefault)),defined(this._unclassifiedCommand)&&!i||(defined(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),i=new ShaderSource({defines:["UNCLASSIFIED"],sources:[n=defined(this._previousFramebuffer)?opaqueFS:translucentFS]}),n=new ShaderSource({sources:[n]}),this._unclassifiedCommand=e.createViewportQuadCommand(i,{renderState:defined(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(n,{renderState:defined(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),defined(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),defined(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(PassThrough,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this})))},InvertClassification.prototype.clear=function(e,t){var i=t.framebuffer;defined(this._previousFramebuffer)?(t.framebuffer=this._fbo,this._clearColorCommand.execute(e,t)):(t.framebuffer=this._fbo,this._clearCommand.execute(e,t),t.framebuffer=this._fboClassified,this._clearCommand.execute(e,t)),t.framebuffer=i},InvertClassification.prototype.executeClassified=function(e,t){var i;defined(this._previousFramebuffer)||(i=t.framebuffer,t.framebuffer=this._fboClassified,this._translucentCommand.execute(e,t),t.framebuffer=i),this._classifiedCommand.execute(e,t)},InvertClassification.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)},InvertClassification.prototype.isDestroyed=function(){return!1},InvertClassification.prototype.destroy=function(){return this._fbo=this._fbo&&this._fbo.destroy(),this._texture=this._texture&&this._texture.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),defined(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),destroyObject(this)},Object.defineProperties(JobTypeBudget.prototype,{total:{get:function(){return this._total}}}),JobScheduler.getTimestamp=getTimestamp$1,Object.defineProperties(JobScheduler.prototype,{totalBudget:{get:function(){return this._totalBudget}}}),JobScheduler.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget},JobScheduler.prototype.resetBudgets=function(){for(var e=this._budgets,t=e.length,i=0;i<t;++i){var r=e[i];r.starvedLastFrame=r.starvedThisFrame,r.starvedThisFrame=!1,r.usedThisFrame=0,r.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0},JobScheduler.prototype.execute=function(e,t){var i,r=this._budgets,n=r[t],a=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&a)return!(n.starvedThisFrame=!0);if(n.usedThisFrame+n.stolenFromMeThisFrame>=n.total){for(var o=r.length,s=0;s<o&&(!((i=r[s]).usedThisFrame+i.stolenFromMeThisFrame<i.total)||i.starvedLastFrame);++s);if(s===o&&a)return!1;a&&(n.starvedThisFrame=!0)}a=JobScheduler.getTimestamp();e.execute();a=JobScheduler.getTimestamp()-a;return this._totalUsedThisFrame+=a,i?i.stolenFromMeThisFrame+=a:n.usedThisFrame+=a,this._executedThisFrame[t]=!0},Object.defineProperties(Light.prototype,{color:{get:DeveloperError.throwInstantiationError},intensity:{get:DeveloperError.throwInstantiationError}});var trailingSlashRegex$1=/\/$/,defaultCredit$2=new Credit('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function MapboxStyleImageryProvider(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).styleId,i=e.accessToken;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;var r=Resource.createIfNeeded(defaultValue(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=i;var n=defaultValue(e.tilesize,512);this._tilesize=n;var a=defaultValue(e.username,"mapbox");this._username=a;var o,n=defined(e.scaleFactor)?"@2x":"",a=r.getUrlComponent();trailingSlashRegex$1.test(a)||(a+="/"),a+=this._username+"/"+t+"/tiles/"+this._tilesize+"/{z}/{x}/{y}"+n,r.url=a,r.setQueryParameters({access_token:i}),defined(e.credit)?"string"==typeof(o=e.credit)&&(o=new Credit(o)):o=defaultCredit$2,this._resource=r,this._imageryProvider=new UrlTemplateImageryProvider({url:r,credit:o,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}function Moon(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).textureUrl;defined(t)||(t=buildModuleUrl("Assets/Textures/moonSmall.jpg")),this.show=defaultValue(e.show,!0),this.textureUrl=t,this._ellipsoid=defaultValue(e.ellipsoid,Ellipsoid.MOON),this.onlySunLighting=defaultValue(e.onlySunLighting,!0),this._ellipsoidPrimitive=new EllipsoidPrimitive({radii:this.ellipsoid.radii,material:Material.fromType(Material.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new IauOrientationAxes}Object.defineProperties(MapboxStyleImageryProvider.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return this._imageryProvider.ready}},readyPromise:{get:function(){return this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}}),MapboxStyleImageryProvider.prototype.getTileCredits=function(e,t,i){},MapboxStyleImageryProvider.prototype.requestImage=function(e,t,i,r){return this._imageryProvider.requestImage(e,t,i,r)},MapboxStyleImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){return this._imageryProvider.pickFeatures(e,t,i,r,n)},MapboxStyleImageryProvider._defaultCredit=defaultCredit$2,Object.defineProperties(Moon.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var icrfToFixed=new Matrix3,rotationScratch$1=new Matrix3,translationScratch=new Cartesian3,scratchCommandList$1=[];function NeverTileDiscardPolicy(e){}Moon.prototype.update=function(e){if(this.show){var t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;var i=e.time;defined(Transforms.computeIcrfToFixedMatrix(i,icrfToFixed))||Transforms.computeTemeToPseudoFixedMatrix(i,icrfToFixed);var r=this._axes.evaluate(i,rotationScratch$1);Matrix3.transpose(r,r),Matrix3.multiply(icrfToFixed,r,r);i=Simon1994PlanetaryPositions.computeMoonPositionInEarthInertialFrame(i,translationScratch);Matrix3.multiplyByVector(icrfToFixed,i,i),Matrix4.fromRotationTranslation(r,i,t.modelMatrix);i=e.commandList;return(e.commandList=scratchCommandList$1).length=0,t.update(e),e.commandList=i,1===scratchCommandList$1.length?scratchCommandList$1[0]:void 0}},Moon.prototype.isDestroyed=function(){return!1},Moon.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),destroyObject(this)},NeverTileDiscardPolicy.prototype.isReady=function(){return!0},NeverTileDiscardPolicy.prototype.shouldDiscardImage=function(e){return!1};var AdjustTranslucentFS="#ifdef MRT\n#extension GL_EXT_draw_buffers : enable\n#endif\nuniform vec4 u_bgColor;\nuniform sampler2D u_depthTexture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nif (texture2D(u_depthTexture, v_textureCoordinates).r < 1.0)\n{\n#ifdef MRT\ngl_FragData[0] = u_bgColor;\ngl_FragData[1] = vec4(u_bgColor.a);\n#else\ngl_FragColor = u_bgColor;\n#endif\nreturn;\n}\ndiscard;\n}\n",CompositeOITFS="uniform sampler2D u_opaque;\nuniform sampler2D u_accumulation;\nuniform sampler2D u_revealage;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec4 opaque = texture2D(u_opaque, v_textureCoordinates);\nvec4 accum = texture2D(u_accumulation, v_textureCoordinates);\nfloat r = texture2D(u_revealage, v_textureCoordinates).r;\n#ifdef MRT\nvec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a);\n#else\nvec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r);\n#endif\ngl_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque;\nif (opaque != czm_backgroundColor)\n{\ngl_FragColor.a = 1.0;\n}\n}\n";function OIT(e){this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;var t=e.colorBufferFloat&&e.depthTexture;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=void 0,this._alphaFBO=void 0,this._adjustTranslucentFBO=void 0,this._adjustAlphaFBO=void 0,this._opaqueClearCommand=new ClearCommand({color:new Color(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new ClearCommand({color:new Color(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new ClearCommand({color:new Color(0,0,0,0),owner:this}),this._alphaClearCommand=new ClearCommand({color:new Color(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new BoundingRectangle,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function destroyTextures$1(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function destroyFramebuffers$2(e){e._translucentFBO=e._translucentFBO&&!e._translucentFBO.isDestroyed()&&e._translucentFBO.destroy(),e._alphaFBO=e._alphaFBO&&!e._alphaFBO.isDestroyed()&&e._alphaFBO.destroy(),e._adjustTranslucentFBO=e._adjustTranslucentFBO&&!e._adjustTranslucentFBO.isDestroyed()&&e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO=e._adjustAlphaFBO&&!e._adjustAlphaFBO.isDestroyed()&&e._adjustAlphaFBO.destroy()}function destroyResources$1(e){destroyTextures$1(e),destroyFramebuffers$2(e)}function updateTextures(e,t,i,r){destroyTextures$1(e),e._accumulationTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.FLOAT});var n=new Float32Array(i*r*4);e._revealageTexture=new Texture({context:t,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.FLOAT,source:{arrayBufferView:n,width:i,height:r},flipY:!1})}function updateFramebuffers$1(e,t){destroyFramebuffers$2(e);var i,r,n=WebGLConstants$1.FRAMEBUFFER_COMPLETE,a=!0;return e._translucentMRTSupport&&(e._translucentFBO=new Framebuffer({context:t,colorTextures:[e._accumulationTexture,e._revealageTexture],depthStencilTexture:e._depthStencilTexture,destroyAttachments:!1}),e._adjustTranslucentFBO=new Framebuffer({context:t,colorTextures:[e._accumulationTexture,e._revealageTexture],destroyAttachments:!1}),e._translucentFBO.status===n&&e._adjustTranslucentFBO.status===n||(destroyFramebuffers$2(e),e._translucentMRTSupport=!1)),e._translucentMRTSupport||(e._translucentFBO=new Framebuffer({context:t,colorTextures:[e._accumulationTexture],depthStencilTexture:e._depthStencilTexture,destroyAttachments:!1}),e._alphaFBO=new Framebuffer({context:t,colorTextures:[e._revealageTexture],depthStencilTexture:e._depthStencilTexture,destroyAttachments:!1}),e._adjustTranslucentFBO=new Framebuffer({context:t,colorTextures:[e._accumulationTexture],destroyAttachments:!1}),e._adjustAlphaFBO=new Framebuffer({context:t,colorTextures:[e._revealageTexture],destroyAttachments:!1}),i=e._translucentFBO.status===n,r=e._alphaFBO.status===n,t=e._adjustTranslucentFBO.status===n,n=e._adjustAlphaFBO.status===n,i&&r&&t&&n||(destroyResources$1(e),a=e._translucentMultipassSupport=!1)),a}OIT.prototype.update=function(e,t,i,r){var n,a,o,s,l;this.isSupported()&&(this._opaqueFBO=i,this._opaqueTexture=i.getColorTexture(0),this._depthStencilTexture=i.depthStencilTexture,s=this._opaqueTexture.width,l=this._opaqueTexture.height,(i=!defined(i=this._accumulationTexture)||i.width!==s||i.height!==l||r!==this._useHDR)&&updateTextures(this,e,s,l),(defined(this._translucentFBO)&&!i||updateFramebuffers$1(this,e))&&(this._useHDR=r,defined((n=this)._compositeCommand)||(a=new ShaderSource({sources:[CompositeOITFS]}),this._translucentMRTSupport&&a.defines.push("MRT"),o={u_opaque:function(){return n._opaqueTexture},u_accumulation:function(){return n._accumulationTexture},u_revealage:function(){return n._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(a,{uniformMap:o,owner:this})),defined(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(a=new ShaderSource({defines:["MRT"],sources:[AdjustTranslucentFS]}),o={u_bgColor:function(){return n._translucentMRTClearCommand.color},u_depthTexture:function(){return n._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(a,{uniformMap:o,owner:this})):this._translucentMultipassSupport&&(a=new ShaderSource({sources:[AdjustTranslucentFS]}),o={u_bgColor:function(){return n._translucentMultipassClearCommand.color},u_depthTexture:function(){return n._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(a,{uniformMap:o,owner:this}),o={u_bgColor:function(){return n._alphaClearCommand.color},u_depthTexture:function(){return n._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(a,{uniformMap:o,owner:this}))),this._viewport.width=s,this._viewport.height=l,l=(s=!BoundingRectangle.equals(this._viewport,t.viewport))!==this._useScissorTest,this._useScissorTest=s,BoundingRectangle.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=BoundingRectangle.clone(t.viewport,this._scissorRectangle),l=!0),defined(this._rs)&&BoundingRectangle.equals(this._viewport,this._rs.viewport)&&!l||(this._rs=RenderState.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),defined(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),defined(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)))};var translucentMRTBlend={enabled:!0,color:new Color(0,0,0,0),equationRgb:BlendEquation$1.ADD,equationAlpha:BlendEquation$1.ADD,functionSourceRgb:BlendFunction$1.ONE,functionDestinationRgb:BlendFunction$1.ONE,functionSourceAlpha:BlendFunction$1.ZERO,functionDestinationAlpha:BlendFunction$1.ONE_MINUS_SOURCE_ALPHA},translucentColorBlend={enabled:!0,color:new Color(0,0,0,0),equationRgb:BlendEquation$1.ADD,equationAlpha:BlendEquation$1.ADD,functionSourceRgb:BlendFunction$1.ONE,functionDestinationRgb:BlendFunction$1.ONE,functionSourceAlpha:BlendFunction$1.ONE,functionDestinationAlpha:BlendFunction$1.ONE},translucentAlphaBlend={enabled:!0,color:new Color(0,0,0,0),equationRgb:BlendEquation$1.ADD,equationAlpha:BlendEquation$1.ADD,functionSourceRgb:BlendFunction$1.ZERO,functionDestinationRgb:BlendFunction$1.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:BlendFunction$1.ZERO,functionDestinationAlpha:BlendFunction$1.ONE_MINUS_SOURCE_ALPHA};function getTranslucentRenderState$2(e,t,i,r){var n,a=i[r.id];return defined(a)||((n=RenderState.getState(r)).depthMask=!1,n.blending=t,a=RenderState.fromCache(n),i[r.id]=a),a}function getTranslucentMRTRenderState(e,t,i){return getTranslucentRenderState$2(t,translucentMRTBlend,e._translucentRenderStateCache,i)}function getTranslucentColorRenderState(e,t,i){return getTranslucentRenderState$2(t,translucentColorBlend,e._translucentRenderStateCache,i)}function getTranslucentAlphaRenderState(e,t,i){return getTranslucentRenderState$2(t,translucentAlphaBlend,e._alphaRenderStateCache,i)}var mrtShaderSource=" vec3 Ci = czm_gl_FragColor.rgb * czm_gl_FragColor.a;\n float ai = czm_gl_FragColor.a;\n float wzi = czm_alphaWeight(ai);\n gl_FragData[0] = vec4(Ci * wzi, ai);\n gl_FragData[1] = vec4(ai * wzi);\n",colorShaderSource=" vec3 Ci = czm_gl_FragColor.rgb * czm_gl_FragColor.a;\n float ai = czm_gl_FragColor.a;\n float wzi = czm_alphaWeight(ai);\n gl_FragColor = vec4(Ci, ai) * wzi;\n",alphaShaderSource=" float ai = czm_gl_FragColor.a;\n gl_FragColor = vec4(ai);\n";function getTranslucentShaderProgram$1(e,t,i,r){var n,a,o=e.shaderCache.getDerivedShaderProgram(t,i);return defined(o)||(n=t._attributeLocations,(a=t.fragmentShaderSource.clone()).sources=a.sources.map(function(e){return e=(e=(e=(e=ShaderSource.replaceMain(e,"czm_translucent_main")).replace(/gl_FragColor/g,"czm_gl_FragColor")).replace(/\bdiscard\b/g,"czm_discard = true")).replace(/czm_phong/g,"czm_translucentPhong")}),a.sources.splice(0,0,(-1!==r.indexOf("gl_FragData")?"#extension GL_EXT_draw_buffers : enable \n":"")+"vec4 czm_gl_FragColor;\nbool czm_discard = false;\n"),a.sources.push("void main()\n{\n czm_translucent_main();\n if (czm_discard)\n {\n discard;\n }\n"+r+"}\n"),o=e.shaderCache.createDerivedShaderProgram(t,i,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:n})),o}function getTranslucentMRTShaderProgram(e,t){return getTranslucentShaderProgram$1(e,t,"translucentMRT",mrtShaderSource)}function getTranslucentColorShaderProgram(e,t){return getTranslucentShaderProgram$1(e,t,"translucentMultipass",colorShaderSource)}function getTranslucentAlphaShaderProgram(e,t){return getTranslucentShaderProgram$1(e,t,"alphaMultipass",alphaShaderSource)}function executeTranslucentCommandsSortedMultipass(e,t,i,r,n,a){var o,s,l=t.context,c=t.frameState.useLogDepth,u=t._hdr,d=r.framebuffer,h=n.length,p=t.frameState.shadowState.lightShadowsEnabled;r.framebuffer=e._adjustTranslucentFBO,e._adjustTranslucentCommand.execute(l,r),r.framebuffer=e._adjustAlphaFBO,e._adjustAlphaCommand.execute(l,r);var m=e._opaqueFBO;for(r.framebuffer=e._translucentFBO,s=0;s<h;++s)o=n[s],o=c?o.derivedCommands.logDepth.command:o,o=u?o.derivedCommands.hdr.command:o,i((p&&o.receiveShadows?o.derivedCommands.oit.shadows:o.derivedCommands.oit).translucentCommand,t,l,r,m);for(defined(a)&&(o=a.unclassifiedCommand,i((p&&o.receiveShadows?o.derivedCommands.oit.shadows:o.derivedCommands.oit).translucentCommand,t,l,r,m)),r.framebuffer=e._alphaFBO,s=0;s<h;++s)o=n[s],o=c?o.derivedCommands.logDepth.command:o,o=u?o.derivedCommands.hdr.command:o,i((p&&o.receiveShadows?o.derivedCommands.oit.shadows:o.derivedCommands.oit).alphaCommand,t,l,r,m);defined(a)&&(o=a.unclassifiedCommand,i((p&&o.receiveShadows?o.derivedCommands.oit.shadows:o.derivedCommands.oit).alphaCommand,t,l,r,m)),r.framebuffer=d}function executeTranslucentCommandsSortedMRT(e,t,i,r,n,a){var o=t.context,s=t.frameState.useLogDepth,l=t._hdr,c=r.framebuffer,u=n.length,d=t.frameState.shadowState.lightShadowsEnabled;r.framebuffer=e._adjustTranslucentFBO,e._adjustTranslucentCommand.execute(o,r);var h,p=e._opaqueFBO;r.framebuffer=e._translucentFBO;for(var m=0;m<u;++m)h=n[m],h=s?h.derivedCommands.logDepth.command:h,h=l?h.derivedCommands.hdr.command:h,i((d&&h.receiveShadows?h.derivedCommands.oit.shadows:h.derivedCommands.oit).translucentCommand,t,o,r,p);defined(a)&&(h=a.unclassifiedCommand,i((d&&h.receiveShadows?h.derivedCommands.oit.shadows:h.derivedCommands.oit).translucentCommand,t,o,r,p)),r.framebuffer=c}OIT.prototype.createDerivedCommands=function(e,t,i){var r,n,a,o,s,l;return defined(i)||(i={}),this._translucentMRTSupport?(defined(i.translucentCommand)&&(r=i.translucentCommand.shaderProgram,n=i.translucentCommand.renderState),i.translucentCommand=DrawCommand.shallowClone(e,i.translucentCommand),defined(r)&&i.shaderProgramId===e.shaderProgram.id?(i.translucentCommand.shaderProgram=r,i.translucentCommand.renderState=n):(i.translucentCommand.shaderProgram=getTranslucentMRTShaderProgram(t,e.shaderProgram),i.translucentCommand.renderState=getTranslucentMRTRenderState(this,t,e.renderState),i.shaderProgramId=e.shaderProgram.id)):(defined(i.translucentCommand)&&(a=i.translucentCommand.shaderProgram,o=i.translucentCommand.renderState,s=i.alphaCommand.shaderProgram,l=i.alphaCommand.renderState),i.translucentCommand=DrawCommand.shallowClone(e,i.translucentCommand),i.alphaCommand=DrawCommand.shallowClone(e,i.alphaCommand),defined(a)&&i.shaderProgramId===e.shaderProgram.id?(i.translucentCommand.shaderProgram=a,i.translucentCommand.renderState=o,i.alphaCommand.shaderProgram=s,i.alphaCommand.renderState=l):(i.translucentCommand.shaderProgram=getTranslucentColorShaderProgram(t,e.shaderProgram),i.translucentCommand.renderState=getTranslucentColorRenderState(this,t,e.renderState),i.alphaCommand.shaderProgram=getTranslucentAlphaShaderProgram(t,e.shaderProgram),i.alphaCommand.renderState=getTranslucentAlphaRenderState(this,t,e.renderState),i.shaderProgramId=e.shaderProgram.id)),i},OIT.prototype.executeCommands=function(e,t,i,r,n){(this._translucentMRTSupport?executeTranslucentCommandsSortedMRT:executeTranslucentCommandsSortedMultipass)(this,e,t,i,r,n)},OIT.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)},OIT.prototype.clear=function(e,t,i){var r=t.framebuffer;t.framebuffer=this._opaqueFBO,Color.clone(i,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO,this._alphaClearCommand.execute(e,t)),t.framebuffer=r},OIT.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport},OIT.prototype.isDestroyed=function(){return!1},OIT.prototype.destroy=function(){return destroyResources$1(this),defined(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),defined(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),defined(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),destroyObject(this)};var defaultCredit$3=new Credit("MapQuest, Open Street Map and contributors, CC-BY-SA");function OpenStreetMapImageryProvider(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=Resource.createIfNeeded(defaultValue(e.url,"https://a.tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+="{z}/{x}/{y}."+defaultValue(e.fileExtension,"png");var i=new WebMercatorTilingScheme({ellipsoid:e.ellipsoid}),r=defaultValue(e.minimumLevel,0),n=e.maximumLevel,a=defaultValue(e.rectangle,i.rectangle),o=i.positionToTileXY(Rectangle.southwest(a),r),s=i.positionToTileXY(Rectangle.northeast(a),r),e=(Math.abs(s.x-o.x),Math.abs(s.y-o.y),defaultValue(e.credit,defaultCredit$3));"string"==typeof e&&(e=new Credit(e)),UrlTemplateImageryProvider.call(this,{url:t,credit:e,tilingScheme:i,tileWidth:256,tileHeight:256,minimumLevel:r,maximumLevel:n,rectangle:a})}defined(Object.create)&&(OpenStreetMapImageryProvider.prototype=Object.create(UrlTemplateImageryProvider.prototype),OpenStreetMapImageryProvider.prototype.constructor=OpenStreetMapImageryProvider);var defaultSize=new Cartesian2(1,1);function Particle(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.mass=defaultValue(e.mass,1),this.position=Cartesian3.clone(defaultValue(e.position,Cartesian3.ZERO)),this.velocity=Cartesian3.clone(defaultValue(e.velocity,Cartesian3.ZERO)),this.life=defaultValue(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=Color.clone(defaultValue(e.startColor,Color.WHITE)),this.endColor=Color.clone(defaultValue(e.endColor,Color.WHITE)),this.startScale=defaultValue(e.startScale,1),this.endScale=defaultValue(e.endScale,1),this.imageSize=Cartesian2.clone(defaultValue(e.imageSize,defaultSize)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(Particle.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var deltaScratch=new Cartesian3;function ParticleBurst(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.time=defaultValue(e.time,0),this.minimum=defaultValue(e.minimum,0),this.maximum=defaultValue(e.maximum,50),this._complete=!1}function ParticleEmitter(e){}Particle.prototype.update=function(e,t){return Cartesian3.multiplyByScalar(this.velocity,e,deltaScratch),Cartesian3.add(this.position,deltaScratch,this.position),defined(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life},Object.defineProperties(ParticleBurst.prototype,{complete:{get:function(){return this._complete}}}),ParticleEmitter.prototype.emit=function(e){DeveloperError.throwInstantiationError()};var defaultImageSize=new Cartesian2(1,1);function ParticleSystem(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.show=defaultValue(e.show,!0),this.updateCallback=e.updateCallback,this.loop=defaultValue(e.loop,!0),this.image=defaultValue(e.image,void 0);var t=e.emitter;defined(t)||(t=new CircleEmitter(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this._emitterModelMatrix=Matrix4.clone(defaultValue(e.emitterModelMatrix,Matrix4.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new Matrix4,this._startColor=Color.clone(defaultValue(e.color,defaultValue(e.startColor,Color.WHITE))),this._endColor=Color.clone(defaultValue(e.color,defaultValue(e.endColor,Color.WHITE))),this._startScale=defaultValue(e.scale,defaultValue(e.startScale,1)),this._endScale=defaultValue(e.scale,defaultValue(e.endScale,1)),this._emissionRate=defaultValue(e.emissionRate,5),this._minimumSpeed=defaultValue(e.speed,defaultValue(e.minimumSpeed,1)),this._maximumSpeed=defaultValue(e.speed,defaultValue(e.maximumSpeed,1)),this._minimumParticleLife=defaultValue(e.particleLife,defaultValue(e.minimumParticleLife,5)),this._maximumParticleLife=defaultValue(e.particleLife,defaultValue(e.maximumParticleLife,5)),this._minimumMass=defaultValue(e.mass,defaultValue(e.minimumMass,1)),this._maximumMass=defaultValue(e.mass,defaultValue(e.maximumMass,1)),this._minimumImageSize=Cartesian2.clone(defaultValue(e.imageSize,defaultValue(e.minimumImageSize,defaultImageSize))),this._maximumImageSize=Cartesian2.clone(defaultValue(e.imageSize,defaultValue(e.maximumImageSize,defaultImageSize))),this._sizeInMeters=defaultValue(e.sizeInMeters,!1),this._lifetime=defaultValue(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new Event,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}function updateParticlePool(e){var t=e._emissionRate,i=e._maximumParticleLife,r=0,n=e._bursts;if(defined(n))for(var a=n.length,o=0;o<a;++o)r+=n[o].maximum;for(var s=e._billboardCollection,l=e.image,t=Math.ceil(t*i+r),i=e._particles,c=e._particlePool,u=Math.max(t-i.length-c.length,0),d=0;d<u;++d){var h=new Particle;h._billboard=s.add({image:l}),c.push(h)}e._particleEstimate=t}function getOrCreateParticle(e){e=e._particlePool.pop();return defined(e)||(e=new Particle),e}function addParticleToPool(e,t){e._particlePool.push(t)}function freeParticlePool(e){for(var t=e._particles,i=e._particlePool,r=e._billboardCollection,t=t.length,n=i.length,e=e._particleEstimate,t=n-Math.max(e-t-n,0),a=t;a<n;++a){var o=i[a];r.remove(o._billboard)}i.length=t}function removeBillboard(e){defined(e._billboard)&&(e._billboard.show=!1)}function updateBillboard(e,t){var i=t._billboard;defined(i)||(i=t._billboard=e._billboardCollection.add({image:t.image})),i.width=t.imageSize.x,i.height=t.imageSize.y,i.position=t.position,i.sizeInMeters=e.sizeInMeters,i.show=!0;var r=CesiumMath.lerp(t.startColor.red,t.endColor.red,t.normalizedAge),n=CesiumMath.lerp(t.startColor.green,t.endColor.green,t.normalizedAge),a=CesiumMath.lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),e=CesiumMath.lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);i.color=new Color(r,n,a,e),i.scale=CesiumMath.lerp(t.startScale,t.endScale,t.normalizedAge)}function addParticle(e,t){t.startColor=Color.clone(e._startColor,t.startColor),t.endColor=Color.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=CesiumMath.randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=CesiumMath.randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=CesiumMath.randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=CesiumMath.randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;var i=CesiumMath.randomBetween(e._minimumSpeed,e._maximumSpeed);Cartesian3.multiplyByScalar(t.velocity,i,t.velocity),e._particles.push(t)}function calculateNumberToEmit(e,t){if(e._isComplete)return 0;var t=(t=CesiumMath.mod(t,e._lifetime))*e._emissionRate,i=Math.floor(t);if(e._carryOver+=t-i,1<e._carryOver&&(i++,--e._carryOver),defined(e.bursts))for(var r=e.bursts.length,n=0;n<r;n++){var a=e.bursts[n],o=e._currentTime;defined(a)&&!a._complete&&o>a.time&&(i+=CesiumMath.randomBetween(a.minimum,a.maximum),a._complete=!0)}return i}Object.defineProperties(ParticleSystem.prototype,{emitter:{get:function(){return this._emitter},set:function(e){this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!Matrix4.equals(this._modelMatrix,e),Matrix4.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!Matrix4.equals(this._emitterModelMatrix,e),Matrix4.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){Color.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){Color.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});var rotatedVelocityScratch=new Cartesian3;function getElement(e){return"string"==typeof e&&(e=document.getElementById(e)),e}function PerformanceDisplay(e){var t=getElement((e=defaultValue(e,defaultValue.EMPTY_OBJECT)).container);this._container=t;var i=document.createElement("div");i.className="cesium-performanceDisplay";e=document.createElement("div");e.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),e.appendChild(this._fpsText);t=document.createElement("div");t.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),t.appendChild(this._msText),i.appendChild(t),i.appendChild(e),this._container.appendChild(i),this._lastFpsSampleTime=getTimestamp$1(),this._lastMsSampleTime=getTimestamp$1(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;e=document.createElement("div");e.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),e.appendChild(this._throttledText),i.appendChild(e)}function PickDepth(){this._framebuffer=void 0,this._depthTexture=void 0,this._textureToCopy=void 0,this._copyDepthCommand=void 0,this._useLogDepth=void 0,this._debugPickDepthViewportCommand=void 0}function executeDebugPickDepth(e,t,i,r){var n;defined(e._debugPickDepthViewportCommand)&&r===e._useLogDepth||(n=new ShaderSource({defines:[r?"LOG_DEPTH":""],sources:["uniform highp sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\n float z_window = czm_unpackDepth(texture2D(u_texture, v_textureCoordinates));\n z_window = czm_reverseLogDepth(z_window); \n float n_range = czm_depthRange.near;\n float f_range = czm_depthRange.far;\n float z_ndc = (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n float scale = pow(z_ndc * 0.5 + 0.5, 8.0);\n gl_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0);\n}\n"]}),e._debugPickDepthViewportCommand=t.createViewportQuadCommand(n,{uniformMap:{u_texture:function(){return e._depthTexture}},owner:e}),e._useLogDepth=r),e._debugPickDepthViewportCommand.execute(t,i)}function destroyTextures$2(e){e._depthTexture=e._depthTexture&&!e._depthTexture.isDestroyed()&&e._depthTexture.destroy()}function destroyFramebuffers$3(e){e._framebuffer=e._framebuffer&&!e._framebuffer.isDestroyed()&&e._framebuffer.destroy()}function createTextures$2(e,t,i,r){e._depthTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE})}function createFramebuffers$2(e,t,i,r){destroyTextures$2(e),destroyFramebuffers$3(e),createTextures$2(e,t,i,r),e._framebuffer=new Framebuffer({context:t,colorTextures:[e._depthTexture],destroyAttachments:!1})}function updateFramebuffers$2(e,t,i){var r=i.width,n=i.height,i=e._depthTexture,i=!defined(i)||i.width!==r||i.height!==n;defined(e._framebuffer)&&!i||createFramebuffers$2(e,t,r,n)}function updateCopyCommands$1(e,t,i){defined(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand("uniform highp sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\n gl_FragColor = czm_packDepth(texture2D(u_texture, v_textureCoordinates).r);\n}\n",{renderState:RenderState.fromCache(),uniformMap:{u_texture:function(){return e._textureToCopy}},owner:e})),e._textureToCopy=i,e._copyDepthCommand.framebuffer=e._framebuffer}ParticleSystem.prototype.update=function(e){if(this.show){defined(this._billboardCollection)||(this._billboardCollection=new BillboardCollection),this._updateParticlePool&&(updateParticlePool(this),this._updateParticlePool=!1);var t=0;this._previousTime&&(t=JulianDate.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);var i,r=this._particles,n=this._emitter,a=this.updateCallback,o=r.length;for(c=0;c<o;++c)(i=r[c]).update(t,a)?updateBillboard(this,i):(removeBillboard(i),addParticleToPool(this,i),r[c]=r[o-1],--c,--o);r.length=o;var s=calculateNumberToEmit(this,t);if(0<s&&defined(n)){this._matrixDirty&&(this._combinedMatrix=Matrix4.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);for(var l=this._combinedMatrix,c=0;c<s;c++)i=getOrCreateParticle(this),this._emitter.emit(i),Cartesian3.add(i.position,i.velocity,rotatedVelocityScratch),Matrix4.multiplyByPoint(l,rotatedVelocityScratch,rotatedVelocityScratch),i.position=Matrix4.multiplyByPoint(l,i.position,i.position),Cartesian3.subtract(rotatedVelocityScratch,i.position,i.velocity),Cartesian3.normalize(i.velocity,i.velocity),addParticle(this,i),updateBillboard(this,i)}if(this._billboardCollection.update(e),this._previousTime=JulianDate.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=CesiumMath.mod(this._currentTime,this._lifetime),this.bursts){var u=this.bursts.length;for(c=0;c<u;c++)this.bursts[c]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120==0&&freeParticlePool(this)}},ParticleSystem.prototype.isDestroyed=function(){return!1},ParticleSystem.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),destroyObject(this)},Object.defineProperties(PerformanceDisplay.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(this._throttledText.nodeValue=e?"(throttled)":"",this._throttled=e)}}}),PerformanceDisplay.prototype.update=function(e){var t=getTimestamp$1(),i=defaultValue(e,!0);this._fpsFrameCount++;e=t-this._lastFpsSampleTime;1e3<e&&(r="N/A",i&&(r=1e3*this._fpsFrameCount/e|0),this._fpsText.nodeValue=r+" FPS",this._lastFpsSampleTime=t,this._fpsFrameCount=0),this._msFrameCount++;var r,e=t-this._lastMsSampleTime;200<e&&(r="N/A",i&&(r=(e/this._msFrameCount).toFixed(2)),this._msText.nodeValue=r+" MS",this._lastMsSampleTime=t,this._msFrameCount=0)},PerformanceDisplay.prototype.destroy=function(){return destroyObject(this)},PickDepth.prototype.executeDebugPickDepth=function(e,t,i){executeDebugPickDepth(this,e,t,i)},PickDepth.prototype.update=function(e,t){updateFramebuffers$2(this,e,t),updateCopyCommands$1(this,e,t)};var scratchPackedDepth=new Cartesian4,packedDepthScale=new Cartesian4(1,1/255,1/65025,1/16581375);function PickDepthFramebuffer(){this._depthStencilTexture=void 0,this._framebuffer=void 0,this._passState=void 0}function destroyResources$2(e){e._framebuffer=e._framebuffer&&e._framebuffer.destroy(),e._depthStencilTexture=e._depthStencilTexture&&e._depthStencilTexture.destroy()}function createResources$6(e,t){var i=t.drawingBufferWidth,r=t.drawingBufferHeight;e._depthStencilTexture=new Texture({context:t,width:i,height:r,pixelFormat:PixelFormat$1.DEPTH_STENCIL,pixelDatatype:PixelDatatype$1.UNSIGNED_INT_24_8}),e._framebuffer=new Framebuffer({context:t,depthStencilTexture:e._depthStencilTexture,destroyAttachments:!1});t=new PassState(t);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new BoundingRectangle},t.viewport=new BoundingRectangle,e._passState=t}function PickFramebuffer(e){var t=new PassState(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new BoundingRectangle},t.viewport=new BoundingRectangle,this._context=e,this._fb=void 0,this._passState=t,this._width=0,this._height=0}PickDepth.prototype.getDepth=function(e,t,i){if(defined(this._framebuffer)){i=e.readPixels({x:t,y:i,width:1,height:1,framebuffer:this._framebuffer}),i=Cartesian4.unpack(i,0,scratchPackedDepth);return Cartesian4.divideByScalar(i,255,i),Cartesian4.dot(i,packedDepthScale)}},PickDepth.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)},PickDepth.prototype.isDestroyed=function(){return!1},PickDepth.prototype.destroy=function(){return destroyTextures$2(this),destroyFramebuffers$3(this),defined(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=defined(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),destroyObject(this)},PickDepthFramebuffer.prototype.update=function(e,t,i){var r=i.width,n=i.height;defined(this._framebuffer)&&r===this._depthStencilTexture.width&&n===this._depthStencilTexture.height||(destroyResources$2(this),createResources$6(this,e));i=this._framebuffer,e=this._passState;return e.framebuffer=i,e.viewport.width=r,e.viewport.height=n,e.scissorTest.rectangle.x=t.x,e.scissorTest.rectangle.y=n-t.y,e.scissorTest.rectangle.width=1,e.scissorTest.rectangle.height=1,e},PickDepthFramebuffer.prototype.isDestroyed=function(){return!1},PickDepthFramebuffer.prototype.destroy=function(){return destroyResources$2(this),destroyObject(this)},PickFramebuffer.prototype.begin=function(e,t){var i=this._context,r=t.width,t=t.height;return BoundingRectangle.clone(e,this._passState.scissorTest.rectangle),defined(this._fb)&&this._width===r&&this._height===t||(this._width=r,this._height=t,this._fb=this._fb&&this._fb.destroy(),this._fb=new Framebuffer({context:i,colorTextures:[new Texture({context:i,width:r,height:t})],depthStencilRenderbuffer:new Renderbuffer({context:i,width:r,height:t,format:RenderbufferFormat$1.DEPTH_STENCIL})}),this._passState.framebuffer=this._fb),this._passState.viewport.width=r,this._passState.viewport.height=t,this._passState};var colorScratch$7=new Color;function SceneFramebuffer(){this._colorTexture=void 0,this._idTexture=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._framebuffer=void 0,this._idFramebuffer=void 0,this._idClearColor=new Color(0,0,0,0),this._useHdr=void 0,this._clearCommand=new ClearCommand({color:new Color(0,0,0,0),depth:1,owner:this})}function destroyResources$3(e){e._framebuffer=e._framebuffer&&e._framebuffer.destroy(),e._idFramebuffer=e._idFramebuffer&&e._idFramebuffer.destroy(),e._colorTexture=e._colorTexture&&e._colorTexture.destroy(),e._idTexture=e._idTexture&&e._idTexture.destroy(),e._depthStencilTexture=e._depthStencilTexture&&e._depthStencilTexture.destroy(),e._depthStencilRenderbuffer=e._depthStencilRenderbuffer&&e._depthStencilRenderbuffer.destroy(),e._depthStencilIdTexture=e._depthStencilIdTexture&&e._depthStencilIdTexture.destroy(),e._depthStencilIdRenderbuffer=e._depthStencilIdRenderbuffer&&e._depthStencilIdRenderbuffer.destroy(),e._framebuffer=void 0,e._idFramebuffer=void 0,e._colorTexture=void 0,e._idTexture=void 0,e._depthStencilTexture=void 0,e._depthStencilRenderbuffer=void 0,e._depthStencilIdTexture=void 0,e._depthStencilIdRenderbuffer=void 0}function ShadowMapShader(){}function ShadowMap(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).context;this._enabled=defaultValue(e.enabled,!0),this._softShadows=defaultValue(e.softShadows,!1),this._normalOffset=defaultValue(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=defaultValue(e.fromLightSource,!0),this.darkness=defaultValue(e.darkness,.3),this._darkness=this.darkness,this.maximumDistance=defaultValue(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1;var i,r=this._needsUpdate=!0;(FeatureDetection.isInternetExplorer()||FeatureDetection.isEdge()||(FeatureDetection.isChrome()||FeatureDetection.isFirefox())&&FeatureDetection.isWindows()&&!t.depthTexture)&&(r=!1),this._polygonOffsetSupported=r,this._terrainBias={polygonOffset:r,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:r,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new Matrix4,this._shadowMapTexture=void 0,this._lightDirectionEC=new Cartesian3,this._lightPositionEC=new Cartesian4,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new ShadowMapCamera,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new BoundingSphere,this._isPointLight=defaultValue(e.isPointLight,!1),this._pointLightRadius=defaultValue(e.pointLightRadius,100),this._cascadesEnabled=!this._isPointLight&&defaultValue(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?defaultValue(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new Cartesian2,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new OrthographicOffCenterFrustum:defined(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new Cartesian4,new Cartesian4],this._cascadeMatrices=[new Matrix4,new Matrix4,new Matrix4,new Matrix4],this._cascadeDistances=new Cartesian4,i=this._isPointLight?6:this._cascadesEnabled?this._numberOfCascades:1,this._passes=new Array(i);for(var n=0;n<i;++n)this._passes[n]=new ShadowPass(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,createRenderStates$5(this),this._clearCommand=new ClearCommand({depth:1,color:new Color}),this._clearPassState=new PassState(t),this._size=defaultValue(e.size,2048),this.size=this._size}function ShadowPass(e){this.camera=new ShadowMapCamera,this.passState=new PassState(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function createRenderState$1(e,t){return RenderState.fromCache({cull:{enabled:!0,face:CullFace$1.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function createRenderStates$5(e){var t=!e._usesDepthTexture;e._primitiveRenderState=createRenderState$1(t,e._primitiveBias),e._terrainRenderState=createRenderState$1(t,e._terrainBias),e._pointRenderState=createRenderState$1(t,e._pointBias)}function destroyFramebuffer$1(e){for(var t=e._passes.length,i=0;i<t;++i){var r=e._passes[i],n=r.framebuffer;defined(n)&&!n.isDestroyed()&&n.destroy(),r.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function createFramebufferColor(e,t){for(var i=new Renderbuffer({context:t,width:e._textureSize.x,height:e._textureSize.y,format:RenderbufferFormat$1.DEPTH_COMPONENT16}),r=new Texture({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST}),n=new Framebuffer({context:t,depthRenderbuffer:i,colorTextures:[r],destroyAttachments:!1}),a=e._passes.length,o=0;o<a;++o){var s=e._passes[o];s.framebuffer=n,s.passState.framebuffer=n}e._shadowMapTexture=r,e._depthAttachment=i,e._colorAttachment=r}function createFramebufferDepth(e,t){for(var i=new Texture({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:PixelFormat$1.DEPTH_STENCIL,pixelDatatype:PixelDatatype$1.UNSIGNED_INT_24_8,sampler:Sampler.NEAREST}),r=new Framebuffer({context:t,depthStencilTexture:i,destroyAttachments:!1}),n=e._passes.length,a=0;a<n;++a){var o=e._passes[a];o.framebuffer=r,o.passState.framebuffer=r}e._shadowMapTexture=i,e._depthAttachment=i}function createFramebufferCube(e,t){for(var i=new Renderbuffer({context:t,width:e._textureSize.x,height:e._textureSize.y,format:RenderbufferFormat$1.DEPTH_COMPONENT16}),r=new CubeMap({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST}),n=[r.negativeX,r.negativeY,r.negativeZ,r.positiveX,r.positiveY,r.positiveZ],a=0;a<6;++a){var o=new Framebuffer({context:t,depthRenderbuffer:i,colorTextures:[n[a]],destroyAttachments:!1}),s=e._passes[a];s.framebuffer=o,s.passState.framebuffer=o}e._shadowMapTexture=r,e._depthAttachment=i,e._colorAttachment=r}function createFramebuffer$3(e,t){(e._isPointLight?createFramebufferCube:e._usesDepthTexture?createFramebufferDepth:createFramebufferColor)(e,t)}function checkFramebuffer(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==WebGLConstants$1.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,createRenderStates$5(e),destroyFramebuffer$1(e),createFramebuffer$3(e,t))}function updateFramebuffer(e,t){defined(e._passes[0].framebuffer)&&e._shadowMapTexture.width===e._textureSize.x||(destroyFramebuffer$1(e),createFramebuffer$3(e,t),checkFramebuffer(e,t),clearFramebuffer(e,t))}function clearFramebuffer(e,t,i){i=defaultValue(i,0),!e._isPointLight&&0!==i||(e._clearCommand.framebuffer=e._passes[i].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function resize(e,t){e._size=t;var i,r=e._passes,n=r.length,a=e._textureSize;e._isPointLight?(t=ContextLimits.maximumCubeMapSize>=t?t:ContextLimits.maximumCubeMapSize,a.x=t,i=new BoundingRectangle(0,0,a.y=t,t),r[0].passState.viewport=i,r[1].passState.viewport=i,r[2].passState.viewport=i,r[3].passState.viewport=i,r[4].passState.viewport=i,r[5].passState.viewport=i):1===n?(t=ContextLimits.maximumTextureSize>=t?t:ContextLimits.maximumTextureSize,a.x=t,a.y=t,r[0].passState.viewport=new BoundingRectangle(0,0,t,t)):4===n&&(t=ContextLimits.maximumTextureSize>=2*t?t:ContextLimits.maximumTextureSize/2,a.x=2*t,a.y=2*t,r[0].passState.viewport=new BoundingRectangle(0,0,t,t),r[1].passState.viewport=new BoundingRectangle(t,0,t,t),r[2].passState.viewport=new BoundingRectangle(0,t,t,t),r[3].passState.viewport=new BoundingRectangle(t,t,t,t)),e._clearPassState.viewport=new BoundingRectangle(0,0,a.x,a.y);for(var o=0;o<n;++o){var s=r[o],l=s.passState.viewport,c=l.x/a.x,u=l.y/a.y,d=l.width/a.x,l=l.height/a.y;s.textureOffsets=new Matrix4(d,0,0,c,0,l,0,u,0,0,1,0,0,0,0,1)}}PickFramebuffer.prototype.end=function(e){for(var t=defaultValue(e.width,1),i=defaultValue(e.height,1),r=this._context,n=r.readPixels({x:e.x,y:e.y,width:t,height:i,framebuffer:this._fb}),e=Math.max(t,i),a=e*e,o=Math.floor(.5*t),s=Math.floor(.5*i),l=0,c=0,u=0,d=-1,h=0;h<a;++h){if(-o<=l&&l<=o&&-s<=c&&c<=s){var p=4*((s-c)*t+l+o);colorScratch$7.red=Color.byteToFloat(n[p]),colorScratch$7.green=Color.byteToFloat(n[1+p]),colorScratch$7.blue=Color.byteToFloat(n[2+p]),colorScratch$7.alpha=Color.byteToFloat(n[3+p]);var p=r.getObjectByPickColor(colorScratch$7);if(defined(p))return p}(l===c||l<0&&-l===c||0<l&&l===1-c)&&(p=u,u=-d,d=p),l+=u,c+=d}},PickFramebuffer.prototype.isDestroyed=function(){return!1},PickFramebuffer.prototype.destroy=function(){return this._fb=this._fb&&this._fb.destroy(),destroyObject(this)},SceneFramebuffer.prototype.update=function(e,t,i){var r=t.width,n=t.height,t=this._colorTexture;defined(t)&&t.width===r&&t.height===n&&i===this._useHdr||(destroyResources$3(this),i=(this._useHdr=i)?e.halfFloatingPointTexture?PixelDatatype$1.HALF_FLOAT:PixelDatatype$1.FLOAT:PixelDatatype$1.UNSIGNED_BYTE,this._colorTexture=new Texture({context:e,width:r,height:n,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:i,sampler:Sampler.NEAREST}),this._idTexture=new Texture({context:e,width:r,height:n,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,sampler:Sampler.NEAREST}),e.depthTexture?(this._depthStencilTexture=new Texture({context:e,width:r,height:n,pixelFormat:PixelFormat$1.DEPTH_STENCIL,pixelDatatype:PixelDatatype$1.UNSIGNED_INT_24_8,sampler:Sampler.NEAREST}),this._depthStencilIdTexture=new Texture({context:e,width:r,height:n,pixelFormat:PixelFormat$1.DEPTH_STENCIL,pixelDatatype:PixelDatatype$1.UNSIGNED_INT_24_8,sampler:Sampler.NEAREST})):(this._depthStencilRenderbuffer=new Renderbuffer({context:e,width:r,height:n,format:RenderbufferFormat$1.DEPTH_STENCIL}),this._depthStencilIdRenderbuffer=new Renderbuffer({context:e,width:r,height:n,format:RenderbufferFormat$1.DEPTH_STENCIL})),this._framebuffer=new Framebuffer({context:e,colorTextures:[this._colorTexture],depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}),this._idFramebuffer=new Framebuffer({context:e,colorTextures:[this._idTexture],depthStencilTexture:this._depthStencilIdTexture,depthStencilRenderbuffer:this._depthStencilIdRenderbuffer,destroyAttachments:!1}))},SceneFramebuffer.prototype.clear=function(e,t,i){var r=t.framebuffer;t.framebuffer=this._framebuffer,Color.clone(i,this._clearCommand.color),this._clearCommand.execute(e,t),t.framebuffer=this._idFramebuffer,Color.clone(this._idClearColor,this._clearCommand.color),this._clearCommand.execute(e,t),t.framebuffer=r},SceneFramebuffer.prototype.getFramebuffer=function(){return this._framebuffer},SceneFramebuffer.prototype.getIdFramebuffer=function(){return this._idFramebuffer},SceneFramebuffer.prototype.isDestroyed=function(){return!1},SceneFramebuffer.prototype.destroy=function(){return destroyResources$3(this),destroyObject(this)},ShadowMapShader.getShadowCastShaderKeyword=function(e,t,i,r){return"castShadow "+e+" "+t+" "+i+" "+r},ShadowMapShader.createShadowCastVertexShader=function(e,t,i){var r=e.defines.slice(0),n=e.sources.slice(0);r.push("SHADOW_MAP"),i&&r.push("GENERATE_POSITION");e=defined(ShaderSource.findPositionVarying(e));if(t&&!e){for(var a=n.length,o=0;o<a;++o)n[o]=ShaderSource.replaceMain(n[o],"czm_shadow_cast_main");n.push("varying vec3 v_positionEC; \nvoid main() \n{ \n czm_shadow_cast_main(); \n v_positionEC = (czm_inverseProjection * gl_Position).xyz; \n}")}return new ShaderSource({defines:r,sources:n})},ShadowMapShader.createShadowCastFragmentShader=function(e,t,i,r){var n=e.defines.slice(0),a=e.sources.slice(0),o=ShaderSource.findPositionVarying(e),s=defined(o);s||(o="v_positionEC");for(var l=a.length,c=0;c<l;++c)a[c]=ShaderSource.replaceMain(a[c],"czm_shadow_cast_main");e="";return t&&(s||(e+="varying vec3 v_positionEC; \n"),e+="uniform vec4 shadowMap_lightPositionEC; \n"),e+=r?"void main() \n{ \n":"void main() \n{ \n czm_shadow_cast_main(); \n if (gl_FragColor.a == 0.0) \n { \n discard; \n } \n",e+=t?" float distance = length("+o+"); \n if (distance >= shadowMap_lightPositionEC.w) \n { \n discard; \n } \n distance /= shadowMap_lightPositionEC.w; // radius \n gl_FragColor = czm_packDepth(distance); \n":i?" gl_FragColor = vec4(1.0); \n":" gl_FragColor = czm_packDepth(gl_FragCoord.z); \n",e+="} \n",a.push(e),new ShaderSource({defines:n,sources:a})},ShadowMapShader.getShadowReceiveShaderKeyword=function(e,t,i,r){return"receiveShadow "+e._usesDepthTexture+e._polygonOffsetSupported+e._isPointLight+e._isSpotLight+(1<e._numberOfCascades)+e.debugCascadeColors+e.softShadows+t+i+r},ShadowMapShader.createShadowReceiveVertexShader=function(e,t,i){var r=e.defines.slice(0),e=e.sources.slice(0);return r.push("SHADOW_MAP"),t&&(i?r.push("GENERATE_POSITION_AND_NORMAL"):r.push("GENERATE_POSITION")),new ShaderSource({defines:r,sources:e})},ShadowMapShader.createShadowReceiveFragmentShader=function(e,t,i,r,n){for(var a=ShaderSource.findNormalVarying(e),o=!r&&defined(a)||r&&n,s=ShaderSource.findPositionVarying(e),l=defined(s),c=t._usesDepthTexture,u=t._polygonOffsetSupported,d=t._isPointLight,h=t._isSpotLight,p=1<t._numberOfCascades,m=t.debugCascadeColors,f=t.softShadows,n=d?t._pointBias:r?t._terrainBias:t._primitiveBias,t=e.defines.slice(0),g=e.sources.slice(0),_=g.length,y=0;y<_;++y)g[y]=ShaderSource.replaceMain(g[y],"czm_shadow_receive_main");d?t.push("USE_CUBE_MAP_SHADOW"):c&&t.push("USE_SHADOW_DEPTH_TEXTURE"),f&&!d&&t.push("USE_SOFT_SHADOWS"),p&&i&&r&&(o?t.push("ENABLE_VERTEX_LIGHTING"):t.push("ENABLE_DAYNIGHT_SHADING")),i&&n.normalShading&&o&&(t.push("USE_NORMAL_SHADING"),0<n.normalShadingSmooth&&t.push("USE_NORMAL_SHADING_SMOOTH"));i="";return i+=d?"uniform samplerCube shadowMap_textureCube; \n":"uniform sampler2D shadowMap_texture; \n",i+="uniform mat4 shadowMap_matrix; \nuniform vec3 shadowMap_lightDirectionEC; \nuniform vec4 shadowMap_lightPositionEC; \nuniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; \nuniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; \n#ifdef LOG_DEPTH \nvarying vec3 v_logPositionEC; \n#endif \nvec4 getPositionEC() \n{ \n"+(l?" return vec4("+s+", 1.0); \n":"#ifndef LOG_DEPTH \n return czm_windowToEyeCoordinates(gl_FragCoord); \n#else \n return vec4(v_logPositionEC, 1.0); \n#endif \n")+"} \nvec3 getNormalEC() \n{ \n"+(o?" return normalize("+a+"); \n":" return vec3(1.0); \n")+"} \nvoid applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) \n{ \n"+(n.normalOffset&&o?" float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; \n float normalOffsetScale = 1.0 - nDotL; \n vec3 offset = normalOffset * normalOffsetScale * normalEC; \n positionEC.xyz += offset; \n":"")+"} \n",i+="void main() \n{ \n czm_shadow_receive_main(); \n vec4 positionEC = getPositionEC(); \n vec3 normalEC = getNormalEC(); \n float depth = -positionEC.z; \n",i+=" czm_shadowParameters shadowParameters; \n shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; \n shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; \n shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; \n shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; \n",r?i+=" shadowParameters.depthBias *= max(depth * 0.01, 1.0); \n":u||(i+=" shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); \n"),i+=d?" vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; \n float distance = length(directionEC); \n directionEC = normalize(directionEC); \n float radius = shadowMap_lightPositionEC.w; \n // Stop early if the fragment is beyond the point light radius \n if (distance > radius) \n { \n return; \n } \n vec3 directionWC = czm_inverseViewRotation * directionEC; \n shadowParameters.depth = distance / radius; \n shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); \n shadowParameters.texCoords = directionWC; \n float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); \n":h?" vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); \n float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); \n applyNormalOffset(positionEC, normalEC, nDotL); \n vec4 shadowPosition = shadowMap_matrix * positionEC; \n // Spot light uses a perspective projection, so perform the perspective divide \n shadowPosition /= shadowPosition.w; \n // Stop early if the fragment is not in the shadow bounds \n if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) \n { \n return; \n } \n shadowParameters.texCoords = shadowPosition.xy; \n shadowParameters.depth = shadowPosition.z; \n shadowParameters.nDotL = nDotL; \n float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); \n":p?" float maxDepth = shadowMap_cascadeSplits[1].w; \n // Stop early if the eye depth exceeds the last cascade \n if (depth > maxDepth) \n { \n return; \n } \n // Get the cascade based on the eye-space depth \n vec4 weights = czm_cascadeWeights(depth); \n // Apply normal offset \n float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); \n applyNormalOffset(positionEC, normalEC, nDotL); \n // Transform position into the cascade \n vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; \n // Get visibility \n shadowParameters.texCoords = shadowPosition.xy; \n shadowParameters.depth = shadowPosition.z; \n shadowParameters.nDotL = nDotL; \n float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); \n // Fade out shadows that are far away \n float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; \n float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); \n visibility = mix(visibility, 1.0, fade); \n"+(m?" // Draw cascade colors for debugging \n gl_FragColor *= czm_cascadeColor(weights); \n":""):" float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); \n applyNormalOffset(positionEC, normalEC, nDotL); \n vec4 shadowPosition = shadowMap_matrix * positionEC; \n // Stop early if the fragment is not in the shadow bounds \n if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) \n { \n return; \n } \n shadowParameters.texCoords = shadowPosition.xy; \n shadowParameters.depth = shadowPosition.z; \n shadowParameters.nDotL = nDotL; \n float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); \n",i+=" gl_FragColor.rgb *= visibility; \n} \n",g.push(i),new ShaderSource({defines:t,sources:g})},ShadowMap.MAXIMUM_DISTANCE=2e4,ShadowMap.prototype.debugCreateRenderStates=function(){createRenderStates$5(this)},Object.defineProperties(ShadowMap.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){resize(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});var scratchViewport$2=new BoundingRectangle;function createDebugShadowViewCommand(e,t){var i=e._isPointLight?"uniform samplerCube shadowMap_textureCube; \nvarying vec2 v_textureCoordinates; \nvoid main() \n{ \n vec2 uv = v_textureCoordinates; \n vec3 dir; \n \n if (uv.y < 0.5) \n { \n if (uv.x < 0.333) \n { \n dir.x = -1.0; \n dir.y = uv.x * 6.0 - 1.0; \n dir.z = uv.y * 4.0 - 1.0; \n } \n else if (uv.x < 0.666) \n { \n dir.y = -1.0; \n dir.x = uv.x * 6.0 - 3.0; \n dir.z = uv.y * 4.0 - 1.0; \n } \n else \n { \n dir.z = -1.0; \n dir.x = uv.x * 6.0 - 5.0; \n dir.y = uv.y * 4.0 - 1.0; \n } \n } \n else \n { \n if (uv.x < 0.333) \n { \n dir.x = 1.0; \n dir.y = uv.x * 6.0 - 1.0; \n dir.z = uv.y * 4.0 - 3.0; \n } \n else if (uv.x < 0.666) \n { \n dir.y = 1.0; \n dir.x = uv.x * 6.0 - 3.0; \n dir.z = uv.y * 4.0 - 3.0; \n } \n else \n { \n dir.z = 1.0; \n dir.x = uv.x * 6.0 - 5.0; \n dir.y = uv.y * 4.0 - 3.0; \n } \n } \n \n float shadow = czm_unpackDepth(textureCube(shadowMap_textureCube, dir)); \n gl_FragColor = vec4(vec3(shadow), 1.0); \n} \n":"uniform sampler2D shadowMap_texture; \nvarying vec2 v_textureCoordinates; \nvoid main() \n{ \n"+(e._usesDepthTexture?" float shadow = texture2D(shadowMap_texture, v_textureCoordinates).r; \n":" float shadow = czm_unpackDepth(texture2D(shadowMap_texture, v_textureCoordinates)); \n")+" gl_FragColor = vec4(vec3(shadow), 1.0); \n} \n",i=t.createViewportQuadCommand(i,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=Pass$1.OVERLAY,i}function updateDebugShadowViewCommand(e,t){var i=t.context,r=t.context.drawingBufferWidth,n=t.context.drawingBufferHeight,a=.3*Math.min(r,n),n=scratchViewport$2;n.x=r-a,n.y=0,n.width=a,n.height=a;a=e._debugShadowViewCommand;defined(a)||(a=createDebugShadowViewCommand(e,i),e._debugShadowViewCommand=a),defined(a.renderState)&&BoundingRectangle.equals(a.renderState.viewport,n)||(a.renderState=RenderState.fromCache({viewport:BoundingRectangle.clone(n)})),t.commandList.push(e._debugShadowViewCommand)}var frustumCornersNDC$1=new Array(8);frustumCornersNDC$1[0]=new Cartesian4(-1,-1,-1,1),frustumCornersNDC$1[1]=new Cartesian4(1,-1,-1,1),frustumCornersNDC$1[2]=new Cartesian4(1,1,-1,1),frustumCornersNDC$1[3]=new Cartesian4(-1,1,-1,1),frustumCornersNDC$1[4]=new Cartesian4(-1,-1,1,1),frustumCornersNDC$1[5]=new Cartesian4(1,-1,1,1),frustumCornersNDC$1[6]=new Cartesian4(1,1,1,1),frustumCornersNDC$1[7]=new Cartesian4(-1,1,1,1);for(var scratchMatrix$4=new Matrix4,scratchFrustumCorners$1=new Array(8),i$5=0;i$5<8;++i$5)scratchFrustumCorners$1[i$5]=new Cartesian4;function createDebugPointLight(e,t){return new Primitive({geometryInstances:[new GeometryInstance({geometry:new BoxOutlineGeometry({minimum:new Cartesian3(-.5,-.5,-.5),maximum:new Cartesian3(.5,.5,.5)}),attributes:{color:ColorGeometryInstanceAttribute.fromColor(t)}}),new GeometryInstance({geometry:new SphereOutlineGeometry({radius:.5}),attributes:{color:ColorGeometryInstanceAttribute.fromColor(t)}})],appearance:new PerInstanceColorAppearance({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}var debugOutlineColors=[Color.RED,Color.GREEN,Color.BLUE,Color.MAGENTA],scratchScale$8=new Cartesian3;function applyDebugSettings$1(e,t){updateDebugShadowViewCommand(e,t);var i,r,n,a=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(a&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new DebugCameraPrimitive({camera:e._sceneCamera,color:Color.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){a&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new DebugCameraPrimitive({camera:e._shadowMapCamera,color:Color.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(var o=0;o<e._numberOfCascades;++o)a&&(e._debugCascadeFrustums[o]=e._debugCascadeFrustums[o]&&e._debugCascadeFrustums[o].destroy(),e._debugCascadeFrustums[o]=new DebugCameraPrimitive({camera:e._passes[o].camera,color:debugOutlineColors[o],updateOnChange:!1})),e._debugCascadeFrustums[o].update(t)}}else e._isPointLight?defined(e._debugLightFrustum)&&!e._needsUpdate||(i=e._shadowMapCamera.positionWC,r=Quaternion.IDENTITY,n=2*e._pointLightRadius,n=Cartesian3.fromElements(n,n,n,scratchScale$8),n=Matrix4.fromTranslationQuaternionRotationScale(i,r,n,scratchMatrix$4),e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=createDebugPointLight(n,Color.YELLOW)):defined(e._debugLightFrustum)&&!e._needsUpdate||(e._debugLightFrustum=new DebugCameraPrimitive({camera:e._shadowMapCamera,color:Color.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function ShadowMapCamera(){this.viewMatrix=new Matrix4,this.inverseViewMatrix=new Matrix4,this.frustum=void 0,this.positionCartographic=new Cartographic,this.positionWC=new Cartesian3,this.directionWC=Cartesian3.clone(Cartesian3.UNIT_Z),this.upWC=Cartesian3.clone(Cartesian3.UNIT_Y),this.rightWC=Cartesian3.clone(Cartesian3.UNIT_X),this.viewProjectionMatrix=new Matrix4}ShadowMapCamera.prototype.clone=function(e){Matrix4.clone(e.viewMatrix,this.viewMatrix),Matrix4.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),Cartographic.clone(e.positionCartographic,this.positionCartographic),Cartesian3.clone(e.positionWC,this.positionWC),Cartesian3.clone(e.directionWC,this.directionWC),Cartesian3.clone(e.upWC,this.upWC),Cartesian3.clone(e.rightWC,this.rightWC)};var scaleBiasMatrix=new Matrix4(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);ShadowMapCamera.prototype.getViewProjection=function(){var e=this.viewMatrix,t=this.frustum.projectionMatrix;return Matrix4.multiply(t,e,this.viewProjectionMatrix),Matrix4.multiply(scaleBiasMatrix,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};var scratchSplits$1=new Array(5),scratchFrustum=new PerspectiveFrustum,scratchCascadeDistances=new Array(4),scratchMin$3=new Cartesian3,scratchMax$3=new Cartesian3;function computeCascades(e,t){var i=e._shadowMapCamera,r=e._sceneCamera,n=r.frustum.near,a=r.frustum.far,o=e._numberOfCascades,s=a-n,l=a/n,c=.9,u=!1;t.shadowState.closestObjectSize<200&&(u=!0,c=.9);var d=scratchCascadeDistances,h=scratchSplits$1;for(h[0]=n,h[o]=a,g=0;g<o;++g){var p=(g+1)/o,m=n*Math.pow(l,p),p=n+s*p,m=CesiumMath.lerp(p,m,c);h[g+1]=m,d[g]=m-h[g]}if(u){for(g=0;g<o;++g)d[g]=Math.min(d[g],e._maximumCascadeDistances[g]);for(var f=h[0],g=0;g<o-1;++g)f+=d[g],h[g+1]=f}Cartesian4.unpack(h,0,e._cascadeSplits[0]),Cartesian4.unpack(h,1,e._cascadeSplits[1]),Cartesian4.unpack(d,0,e._cascadeDistances);var u=i.frustum,_=u.left,y=u.right,C=u.bottom,v=u.top,S=u.near,T=u.far,b=i.positionWC,x=i.directionWC,E=i.upWC,P=r.frustum.clone(scratchFrustum),A=i.getViewProjection();for(g=0;g<o;++g){P.near=h[g],P.far=h[g+1];for(var w=Matrix4.multiply(P.projectionMatrix,r.viewMatrix,scratchMatrix$4),D=Matrix4.inverse(w,scratchMatrix$4),M=Matrix4.multiply(A,D,scratchMatrix$4),I=Cartesian3.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,scratchMin$3),R=Cartesian3.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,scratchMax$3),O=0;O<8;++O){var L=Cartesian4.clone(frustumCornersNDC$1[O],scratchFrustumCorners$1[O]);Matrix4.multiplyByVector(M,L,L),Cartesian3.divideByScalar(L,L.w,L),Cartesian3.minimumByComponent(L,I,I),Cartesian3.maximumByComponent(L,R,R)}I.x=Math.max(I.x,0),I.y=Math.max(I.y,0),I.z=0,R.x=Math.min(R.x,1),R.y=Math.min(R.y,1),R.z=Math.min(R.z,1);var F=e._passes[g],w=F.camera;w.clone(i);D=w.frustum;D.left=_+I.x*(y-_),D.right=_+R.x*(y-_),D.bottom=C+I.y*(v-C),D.top=C+R.y*(v-C),D.near=S+I.z*(T-S),D.far=S+R.z*(T-S),F.cullingVolume=w.frustum.computeCullingVolume(b,x,E);D=e._cascadeMatrices[g];Matrix4.multiply(w.getViewProjection(),r.inverseViewMatrix,D),Matrix4.multiply(F.textureOffsets,D,D)}}var scratchLightView=new Matrix4,scratchRight$2=new Cartesian3,scratchUp$1=new Cartesian3,scratchTranslation$1=new Cartesian3;function fitShadowMapToScene(e,t){var i=e._shadowMapCamera,r=e._sceneCamera,n=Matrix4.multiply(r.frustum.projectionMatrix,r.viewMatrix,scratchMatrix$4),a=Matrix4.inverse(n,scratchMatrix$4),o=i.directionWC,s=r.directionWC;Cartesian3.equalsEpsilon(o,s,CesiumMath.EPSILON10)&&(s=r.upWC);var l=Cartesian3.cross(o,s,scratchRight$2),s=Cartesian3.cross(l,o,scratchUp$1);Cartesian3.normalize(s,s),Cartesian3.normalize(l,l);for(var c=Cartesian3.fromElements(0,0,0,scratchTranslation$1),e=Matrix4.computeView(c,o,s,l,scratchLightView),u=Matrix4.multiply(e,a,scratchMatrix$4),d=Cartesian3.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,scratchMin$3),h=Cartesian3.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,scratchMax$3),p=0;p<8;++p){var m=Cartesian4.clone(frustumCornersNDC$1[p],scratchFrustumCorners$1[p]);Matrix4.multiplyByVector(u,m,m),Cartesian3.divideByScalar(m,m.w,m),Cartesian3.minimumByComponent(m,d,d),Cartesian3.maximumByComponent(m,h,h)}h.z+=1e3,d.z-=10;n=scratchTranslation$1;n.x=-.5*(d.x+h.x),n.y=-.5*(d.y+h.y),n.z=-h.z;r=Matrix4.fromTranslation(n,scratchMatrix$4),e=Matrix4.multiply(r,e,e),c=.5*(h.x-d.x),a=.5*(h.y-d.y),n=h.z-d.z,r=i.frustum;r.left=-c,r.right=c,r.bottom=-a,r.top=a,r.near=.01,r.far=n,Matrix4.clone(e,i.viewMatrix),Matrix4.inverse(e,i.inverseViewMatrix),Matrix4.getTranslation(i.inverseViewMatrix,i.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(i.positionWC,i.positionCartographic),Cartesian3.clone(o,i.directionWC),Cartesian3.clone(s,i.upWC),Cartesian3.clone(l,i.rightWC)}var directions=[new Cartesian3(-1,0,0),new Cartesian3(0,-1,0),new Cartesian3(0,0,-1),new Cartesian3(1,0,0),new Cartesian3(0,1,0),new Cartesian3(0,0,1)],ups=[new Cartesian3(0,-1,0),new Cartesian3(0,0,-1),new Cartesian3(0,-1,0),new Cartesian3(0,-1,0),new Cartesian3(0,0,1),new Cartesian3(0,-1,0)],rights=[new Cartesian3(0,0,1),new Cartesian3(1,0,0),new Cartesian3(-1,0,0),new Cartesian3(0,0,-1),new Cartesian3(1,0,0),new Cartesian3(1,0,0)];function computeOmnidirectional(e,t){var i=new PerspectiveFrustum;i.fov=CesiumMath.PI_OVER_TWO,i.near=1,i.far=e._pointLightRadius,i.aspectRatio=1;for(var r=0;r<6;++r){var n=e._passes[r].camera;n.positionWC=e._shadowMapCamera.positionWC,n.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),n.directionWC=directions[r],n.upWC=ups[r],n.rightWC=rights[r],Matrix4.computeView(n.positionWC,n.directionWC,n.upWC,n.rightWC,n.viewMatrix),Matrix4.inverse(n.viewMatrix,n.inverseViewMatrix),n.frustum=i}}var scratchCartesian1$8=new Cartesian3,scratchCartesian2$b=new Cartesian3,scratchBoundingSphere$4=new BoundingSphere,scratchCenter$5=scratchBoundingSphere$4.center;function checkVisibility(e,t){var i=e._sceneCamera,r=e._shadowMapCamera,n=scratchBoundingSphere$4;if(e._cascadesEnabled){if(i.frustum.near>=e.maximumDistance)return e._outOfView=!0,void(e._needsUpdate=!1);var a=t.mapProjection.ellipsoid.geodeticSurfaceNormal(i.positionWC,scratchCartesian1$8),i=Cartesian3.negate(r.directionWC,scratchCartesian2$b),a=Cartesian3.dot(a,i),i=CesiumMath.clamp(a/.1,0,1);if(e._darkness=CesiumMath.lerp(1,e.darkness,i),a<0)return e._outOfView=!0,void(e._needsUpdate=!1);e._needsUpdate=!0,e._outOfView=!1}else e._isPointLight?(n.center=r.positionWC,n.radius=e._pointLightRadius):(a=r.frustum.far/2,r=Cartesian3.add(r.positionWC,Cartesian3.multiplyByScalar(r.directionWC,a,scratchCenter$5),scratchCenter$5),n.center=r,n.radius=a),e._outOfView=t.cullingVolume.computeVisibility(n)===Intersect$1.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(n),BoundingSphere.clone(n,e._boundingSphere)}function updateCameras(e,t){var i=t.camera,r=e._lightCamera,n=e._sceneCamera,a=e._shadowMapCamera;e._cascadesEnabled?Cartesian3.clone(r.directionWC,a.directionWC):e._isPointLight?Cartesian3.clone(r.positionWC,a.positionWC):a.clone(r);var o,s,r=e._lightDirectionEC;Matrix4.multiplyByPointAsVector(i.viewMatrix,a.directionWC,r),Cartesian3.normalize(r,r),Cartesian3.negate(r,r),Matrix4.multiplyByPoint(i.viewMatrix,a.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius,s=e._fitNearFar?(o=Math.min(t.shadowState.nearPlane,e.maximumDistance),s=Math.min(t.shadowState.farPlane,e.maximumDistance),Math.max(s,o+1)):(o=i.frustum.near,e.maximumDistance),e._sceneCamera=Camera.clone(i,n),i.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=o,e._sceneCamera.frustum.far=s,e._distance=s-o,checkVisibility(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}ShadowMap.prototype.update=function(e){var t,i,r,n;updateCameras(this,e),this._needsUpdate&&(updateFramebuffer(this,e.context),this._isPointLight&&computeOmnidirectional(this,e),this._cascadesEnabled&&(fitShadowMapToScene(this,e),1<this._numberOfCascades&&computeCascades(this,e)),this._isPointLight?this._shadowMapCullingVolume=CullingVolume.fromBoundingSphere(this._boundingSphere):(t=(n=this._shadowMapCamera).positionWC,i=n.directionWC,r=n.upWC,this._shadowMapCullingVolume=n.frustum.computeCullingVolume(t,i,r),1===this._passes.length&&this._passes[0].camera.clone(n))),1===this._passes.length&&(n=this._sceneCamera.inverseViewMatrix,Matrix4.multiply(this._shadowMapCamera.getViewProjection(),n,this._shadowMapMatrix)),this.debugShow&&applyDebugSettings$1(this,e)},ShadowMap.prototype.updatePass=function(e,t){clearFramebuffer(this,e,t)};var scratchTexelStepSize=new Cartesian2;function combineUniforms(t,e,i){var r=t._isPointLight?t._pointBias:i?t._terrainBias:t._primitiveBias;return combine(e,{shadowMap_texture:function(){return t._shadowMapTexture},shadowMap_textureCube:function(){return t._shadowMapTexture},shadowMap_matrix:function(){return t._shadowMapMatrix},shadowMap_cascadeSplits:function(){return t._cascadeSplits},shadowMap_cascadeMatrices:function(){return t._cascadeMatrices},shadowMap_lightDirectionEC:function(){return t._lightDirectionEC},shadowMap_lightPositionEC:function(){return t._lightPositionEC},shadowMap_cascadeDistances:function(){return t._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){var e=scratchTexelStepSize;return e.x=1/t._textureSize.x,e.y=1/t._textureSize.y,Cartesian4.fromElements(e.x,e.y,r.depthBias,r.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return Cartesian4.fromElements(r.normalOffsetScale,t._distance,t.maximumDistance,t._darkness,this.combinedUniforms2)},combinedUniforms1:new Cartesian4,combinedUniforms2:new Cartesian4},!1)}function createCastDerivedCommand(e,t,i,r,n,a){var o,s,l,c,u,d,h,p,m;return defined(a)&&(m=a.shaderProgram,o=a.renderState,s=a.uniformMap),(a=DrawCommand.shallowClone(i,a)).castShadows=!0,a.receiveShadows=!1,defined(m)&&n===i.shaderProgram.id&&!t||(l=i.shaderProgram,c=i.pass===Pass$1.GLOBE,p=i.pass!==Pass$1.TRANSLUCENT,u=e._isPointLight,d=e._usesDepthTexture,h=ShadowMapShader.getShadowCastShaderKeyword(u,c,d,p),defined(m=r.shaderCache.getDerivedShaderProgram(l,h))||(n=l.vertexShaderSource,t=l.fragmentShaderSource,n=ShadowMapShader.createShadowCastVertexShader(n,u,c),p=ShadowMapShader.createShadowCastFragmentShader(t,u,d,p),m=r.shaderCache.createDerivedShaderProgram(l,h,{vertexShaderSource:n,fragmentShaderSource:p,attributeLocations:l._attributeLocations})),o=e._primitiveRenderState,u?o=e._pointRenderState:c&&(o=e._terrainRenderState),i.renderState.cull.enabled||((o=clone(o,!1)).cull=clone(o.cull,!1),o.cull.enabled=!1,o=RenderState.fromCache(o)),s=combineUniforms(e,i.uniformMap,c)),a.shaderProgram=m,a.renderState=o,a.uniformMap=s,a}function CommandExtent(){this.command=void 0,this.near=void 0,this.far=void 0}function View(e,t,i){var r,n,a=e.context;a.depthTexture&&(r=new GlobeDepth),e._useOIT&&a.depthTexture&&(n=new OIT(a));e=new PassState(a);e.viewport=BoundingRectangle.clone(i),this.camera=t,this._cameraClone=Camera.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=i,this.passState=e,this.pickFramebuffer=new PickFramebuffer(a),this.pickDepthFramebuffer=new PickDepthFramebuffer,this.sceneFramebuffer=new SceneFramebuffer,this.globeDepth=r,this.globeTranslucencyFramebuffer=new GlobeTranslucencyFramebuffer,this.oit=n,this.pickDepths=[],this.debugGlobeDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}ShadowMap.createReceiveDerivedCommand=function(e,t,i,r,n){defined(n)||(n={});var a,o,s,l=0<e.length,c=t.shaderProgram,u=c.vertexShaderSource,d=c.fragmentShaderSource,h=t.pass===Pass$1.GLOBE,p=!1;return h&&(p=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&l&&(defined(n.receiveCommand)&&(s=n.receiveCommand.shaderProgram,a=n.receiveCommand.uniformMap),n.receiveCommand=DrawCommand.shallowClone(t,n.receiveCommand),n.castShadows=!1,n.receiveShadows=!0,o=n.receiveShaderCastShadows!==t.castShadows,l=n.receiveShaderProgramId!==t.shaderProgram.id,(!defined(s)||l||i||o)&&(o=ShadowMapShader.getShadowReceiveShaderKeyword(e[0],t.castShadows,h,p),defined(s=r.shaderCache.getDerivedShaderProgram(c,o))||(u=ShadowMapShader.createShadowReceiveVertexShader(u,h,p),p=ShadowMapShader.createShadowReceiveFragmentShader(d,e[0],t.castShadows,h,p),s=r.shaderCache.createDerivedShaderProgram(c,o,{vertexShaderSource:u,fragmentShaderSource:p,attributeLocations:c._attributeLocations})),a=combineUniforms(e[0],t.uniformMap,h)),n.receiveCommand.shaderProgram=s,n.receiveCommand.uniformMap=a,n.receiveShaderProgramId=t.shaderProgram.id,n.receiveShaderCastShadows=t.castShadows),n},ShadowMap.createCastDerivedCommand=function(e,t,i,r,n){if(defined(n)||(n={}),t.castShadows){var a=n.castCommands;defined(a)||(a=n.castCommands=[]);var o=n.castShaderProgramId,s=e.length;a.length=s;for(var l=0;l<s;++l)a[l]=createCastDerivedCommand(e[l],i,t,r,o,a[l]);n.castShaderProgramId=t.shaderProgram.id}return n},ShadowMap.prototype.isDestroyed=function(){return!1},ShadowMap.prototype.destroy=function(){destroyFramebuffer$1(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(var e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return destroyObject(this)};var scratchPosition0=new Cartesian3,scratchPosition1=new Cartesian3;function maxComponent(e,t){var i=Math.max(Math.abs(e.x),Math.abs(t.x)),r=Math.max(Math.abs(e.y),Math.abs(t.y)),t=Math.max(Math.abs(e.z),Math.abs(t.z));return Math.max(Math.max(i,r),t)}function cameraEqual(e,t,i){var r=1/Math.max(1,maxComponent(e.position,t.position));return Cartesian3.multiplyByScalar(e.position,r,scratchPosition0),Cartesian3.multiplyByScalar(t.position,r,scratchPosition1),Cartesian3.equalsEpsilon(scratchPosition0,scratchPosition1,i)&&Cartesian3.equalsEpsilon(e.direction,t.direction,i)&&Cartesian3.equalsEpsilon(e.up,t.up,i)&&Cartesian3.equalsEpsilon(e.right,t.right,i)&&Matrix4.equalsEpsilon(e.transform,t.transform,i)&&e.frustum.equalsEpsilon(t.frustum,i)}function updateFrustums(e,t,i,r){var n,a=t.frameState,o=a.camera,s=a.useLogDepth?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,l=t.mode===SceneMode$1.SCENE2D,c=t.nearToFarDistance2D;r*=1+CesiumMath.EPSILON2,i=Math.min(Math.max(i,o.frustum.near),o.frustum.far),r=Math.max(Math.min(r,o.frustum.far),i),n=l?(r=Math.min(r,o.position.z+t.nearToFarDistance2D),i=Math.min(i,r),Math.ceil(Math.max(1,r-i)/t.nearToFarDistance2D)):Math.ceil(Math.log(r/i)/Math.log(s));var u=e.frustumCommandsList;u.length=n;for(var d=0;d<n;++d){var h,p=l?(h=Math.min(r-c,i+d*c),Math.min(r,h+c)):(h=Math.max(i,Math.pow(s,d)*i),Math.min(r,s*h)),m=u[d];defined(m)?(m.near=h,m.far=p):m=u[d]=new FrustumCommands(h,p)}}function insertIntoBin(e,t,i,r,n){t.debugShowFrustums&&(i.debugOverlappingFrustums=0);for(var a,o=e.frustumCommandsList,s=o.length,l=0;l<s;++l){var c=o[l],u=c.near;if(!(c.far<r)){if(n<u)break;var d=i.pass,u=c.indices[d]++;if(c.commands[d][u]=i,t.debugShowFrustums&&(i.debugOverlappingFrustums|=1<<l),i.executeInClosestFrustum)break}}t.debugShowFrustums&&((a=e.debugFrustumStatistics.commandsInFrustums)[i.debugOverlappingFrustums]=defined(a[i.debugOverlappingFrustums])?a[i.debugOverlappingFrustums]+1:1,++e.debugFrustumStatistics.totalCommands),t.updateDerivedCommands(i)}View.prototype.checkForCameraUpdates=function(e){var t=this.camera,i=this._cameraClone;return cameraEqual(t,i,CesiumMath.EPSILON15)?(this._cameraStartFired&&getTimestamp$1()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=getTimestamp$1(),Camera.clone(t,i),!0)};var scratchCullingVolume=new CullingVolume,scratchNearFarInterval=new Interval;View.prototype.createPotentiallyVisibleSet=function(e){var t=e.frameState,i=t.camera,r=i.directionWC,n=i.positionWC,a=e._computeCommandList,o=e._overlayCommandList,s=t.commandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});for(var l=this.frustumCommandsList,c=l.length,u=Pass$1.NUMBER_OF_PASSES,d=0;d<c;++d)for(var h=0;h<u;++h)l[d].indices[h]=0;a.length=0,o.length=0;for(var p=this._commandExtents,m=p.length,f=0,g=+Number.MAX_VALUE,_=-Number.MAX_VALUE,y=t.shadowState.shadowsEnabled,C=+Number.MAX_VALUE,v=-Number.MAX_VALUE,S=Number.MAX_VALUE,T=t.mode===SceneMode$1.SCENE3D?t.occluder:void 0,b=t.cullingVolume,x=scratchCullingVolume.planes,E=0;E<5;++E)x[E]=b.planes[E];b=scratchCullingVolume;for(var P,A,w=s.length,D=0;D<w;++D){var M=s[D],I=M.pass;if(I===Pass$1.COMPUTE)a.push(M);else if(I===Pass$1.OVERLAY)o.push(M);else{var R=M.boundingVolume;if(defined(R)){if(!e.isVisible(M,b,T))continue;var O=R.computePlaneDistances(n,r,scratchNearFarInterval),L=O.start,O=O.stop,g=Math.min(g,L),_=Math.max(_,O);y&&M.receiveShadows&&L<ShadowMap.MAXIMUM_DISTANCE&&!(I===Pass$1.GLOBE&&L<-100&&100<O)&&(F=O-L,I!==Pass$1.GLOBE&&L<100&&(S=Math.min(S,F)),C=Math.min(C,L),v=Math.max(v,O))}else M instanceof ClearCommand?(L=i.frustum.near,O=i.frustum.far):(L=i.frustum.near,O=i.frustum.far,g=Math.min(g,L),_=Math.max(_,O));var F=p[f];defined(F)||(F=p[f]=new CommandExtent),F.command=M,F.near=L,F.far=O,f++}}for(y&&(C=Math.min(Math.max(C,i.frustum.near),i.frustum.far),v=Math.max(Math.min(v,i.frustum.far),C)),y&&(t.shadowState.nearPlane=C,t.shadowState.farPlane=v,t.shadowState.closestObjectSize=S),updateFrustums(this,e,g,_),P=0;P<f;P++)insertIntoBin(this,e,(A=p[P]).command,A.near,A.far);if(f<m)for(P=f;P<m&&defined((A=p[P]).command);P++)A.command=void 0;var N=l.length,B=t.frustumSplits;B.length=N+1;for(var V=0;V<N;++V)B[V]=l[V].near,V===N-1&&(B[V+1]=l[V].far)},View.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();for(var e=this.pickDepths,t=this.debugGlobeDepths,i=e.length,r=0;r<i;++r)e[r].destroy();for(i=t.length,r=0;r<i;++r)t[r].destroy()};var offscreenDefaultWidth=.1,mostDetailedPreloadTilesetPassState=new Cesium3DTilePassState({pass:Cesium3DTilePass$1.MOST_DETAILED_PRELOAD}),mostDetailedPickTilesetPassState=new Cesium3DTilePassState({pass:Cesium3DTilePass$1.MOST_DETAILED_PICK}),pickTilesetPassState=new Cesium3DTilePassState({pass:Cesium3DTilePass$1.PICK});function Picking(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;var t=new BoundingRectangle(0,0,1,1),i=new Camera(e);i.frustum=new OrthographicFrustum({width:offscreenDefaultWidth,aspectRatio:1,near:.1}),this._pickOffscreenView=new View(e,i,t)}Picking.prototype.update=function(){this._pickPositionCacheDirty=!0},Picking.prototype.getPickDepth=function(e,t){var i=e.view.pickDepths,e=i[t];return defined(e)||(e=new PickDepth,i[t]=e),e};var scratchOrthoPickingFrustum=new OrthographicOffCenterFrustum,scratchOrthoOrigin=new Cartesian3,scratchOrthoDirection=new Cartesian3,scratchOrthoPixelSize=new Cartesian2,scratchOrthoPickVolumeMatrix4=new Matrix4;function getPickOrthographicCullingVolume(e,t,i,r,n){var a=e.camera,o=a.frustum;defined(o._offCenterFrustum)&&(o=o._offCenterFrustum);var s=2*(t.x-n.x)/n.width-1;s*=.5*(o.right-o.left);var l=2*(n.height-t.y-n.y)/n.height-1;l*=.5*(o.top-o.bottom);var c=Matrix4.clone(a.transform,scratchOrthoPickVolumeMatrix4);a._setTransform(Matrix4.IDENTITY);t=Cartesian3.clone(a.position,scratchOrthoOrigin);Cartesian3.multiplyByScalar(a.right,s,scratchOrthoDirection),Cartesian3.add(scratchOrthoDirection,t,t),Cartesian3.multiplyByScalar(a.up,l,scratchOrthoDirection),Cartesian3.add(scratchOrthoDirection,t,t),a._setTransform(c),e.mode===SceneMode$1.SCENE2D&&Cartesian3.fromElements(t.z,t.x,t.y,t);e=o.getPixelDimensions(n.width,n.height,1,1,scratchOrthoPixelSize),n=scratchOrthoPickingFrustum;return n.right=.5*e.x,n.left=-n.right,n.top=.5*e.y,n.bottom=-n.top,n.near=o.near,n.far=o.far,n.computeCullingVolume(t,a.directionWC,a.upWC)}var scratchPerspPickingFrustum=new PerspectiveOffCenterFrustum,scratchPerspPixelSize=new Cartesian2;function getPickPerspectiveCullingVolume(e,t,i,r,n){var a=e.camera,o=a.frustum,s=o.near,l=Math.tan(.5*o.fovy),e=o.aspectRatio*l,e=(2*(t.x-n.x)/n.width-1)*s*e,l=(2*(n.height-t.y-n.y)/n.height-1)*s*l,n=o.getPixelDimensions(n.width,n.height,1,1,scratchPerspPixelSize),i=n.x*i*.5,n=n.y*r*.5,r=scratchPerspPickingFrustum;return r.top=l+n,r.bottom=l-n,r.right=e+i,r.left=e-i,r.near=s,r.far=o.far,r.computeCullingVolume(a.positionWC,a.directionWC,a.upWC)}function getPickCullingVolume(e,t,i,r,n){var a=e.camera.frustum;return(a instanceof OrthographicFrustum||a instanceof OrthographicOffCenterFrustum?getPickOrthographicCullingVolume:getPickPerspectiveCullingVolume)(e,t,i,r,n)}var scratchRectangleWidth=3,scratchRectangleHeight=3,scratchRectangle$7=new BoundingRectangle(0,0,scratchRectangleWidth,scratchRectangleHeight),scratchPosition$b=new Cartesian2,scratchColorZero=new Color(0,0,0,0);function renderTranslucentDepthForPick(e,t){var i=e.context,r=e.frameState,n=e.environmentState,a=e.defaultView,o=(e.view=a).viewport;o.x=0,o.y=0,o.width=i.drawingBufferWidth,o.height=i.drawingBufferHeight;var s=a.passState;s.viewport=BoundingRectangle.clone(o,s.viewport),e.clearPasses(r.passes),r.passes.pick=!0,r.passes.depth=!0,r.cullingVolume=getPickCullingVolume(e,t,1,1,o),r.tilesetPassState=pickTilesetPassState,e.updateEnvironment(),n.renderTranslucentDepthForPick=!0,s=a.pickDepthFramebuffer.update(i,t,o),e.updateAndExecuteCommands(s,scratchColorZero),e.resolveFramebuffers(s),i.endFrame()}Picking.prototype.pick=function(e,t,i,r){scratchRectangleWidth=defaultValue(i,3),scratchRectangleHeight=defaultValue(r,scratchRectangleWidth);var n=e.context,a=n.uniformState,o=e.frameState,s=e.defaultView,i=(e.view=s).viewport;i.x=0,i.y=0,i.width=n.drawingBufferWidth,i.height=n.drawingBufferHeight;r=s.passState;r.viewport=BoundingRectangle.clone(i,r.viewport);t=SceneTransforms.transformWindowToDrawingBuffer(e,t,scratchPosition$b);e.jobScheduler.disableThisFrame(),e.updateFrameState(),o.cullingVolume=getPickCullingVolume(e,t,scratchRectangleWidth,scratchRectangleHeight,i),o.invertClassification=!1,o.passes.pick=!0,o.tilesetPassState=pickTilesetPassState,a.update(o),e.updateEnvironment(),scratchRectangle$7.x=t.x-.5*(scratchRectangleWidth-1),scratchRectangle$7.y=e.drawingBufferHeight-t.y-.5*(scratchRectangleHeight-1),scratchRectangle$7.width=scratchRectangleWidth,scratchRectangle$7.height=scratchRectangleHeight,r=s.pickFramebuffer.begin(scratchRectangle$7,s.viewport),e.updateAndExecuteCommands(r,scratchColorZero),e.resolveFramebuffers(r);s=s.pickFramebuffer.end(scratchRectangle$7);return n.endFrame(),s};var scratchPerspectiveFrustum=new PerspectiveFrustum,scratchPerspectiveOffCenterFrustum=new PerspectiveOffCenterFrustum,scratchOrthographicFrustum=new OrthographicFrustum,scratchOrthographicOffCenterFrustum=new OrthographicOffCenterFrustum;Picking.prototype.pickPositionWorldCoordinates=function(e,t,i){if(e.useDepthPicking){var r=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(r))return Cartesian3.clone(this._pickPositionCache[r],i);var n=e.frameState,a=e.context,o=a.uniformState,s=e.defaultView;e.view=s;var l=SceneTransforms.transformWindowToDrawingBuffer(e,t,scratchPosition$b);e.pickTranslucentDepth?renderTranslucentDepthForPick(e,l):(e.updateFrameState(),o.update(n),e.updateEnvironment()),l.y=e.drawingBufferHeight-l.y;for(var c=e.camera,u=defined(c.frustum.fov)?c.frustum.clone(scratchPerspectiveFrustum):defined(c.frustum.infiniteProjectionMatrix)?c.frustum.clone(scratchPerspectiveOffCenterFrustum):defined(c.frustum.width)?c.frustum.clone(scratchOrthographicFrustum):c.frustum.clone(scratchOrthographicOffCenterFrustum),d=s.frustumCommandsList,h=d.length,p=0;p<h;++p){var m=this.getPickDepth(e,p).getDepth(a,l.x,l.y);if(defined(m)&&(0<m&&m<1)){var f,g=d[p];return e.mode===SceneMode$1.SCENE2D?(f=c.position.z,c.position.z=f-g.near+1,u.far=Math.max(1,g.far-g.near),u.near=1,o.update(n)):(u.near=g.near*(0!==p?e.opaqueFrustumNearOffset:1),u.far=g.far),o.updateFrustum(u),i=SceneTransforms.drawingBufferToWgs84Coordinates(e,l,m,i),e.mode===SceneMode$1.SCENE2D&&(c.position.z=f,o.update(n)),this._pickPositionCache[r]=Cartesian3.clone(i),i}}this._pickPositionCache[r]=void 0}};var scratchPickPositionCartographic=new Cartographic;function drillPick(e,t){var i,r,n=[],a=[],o=[],s=[];defined(e)||(e=Number.MAX_VALUE);for(var l=t();defined(l);){var c=l.object,u=l.position,d=l.exclude;if(defined(u)&&!defined(c)){n.push(l);break}if(!defined(c)||!defined(c.primitive))break;if(!d&&(n.push(l),--e<=0))break;u=c.primitive,d=!1;"function"==typeof u.getGeometryInstanceAttributes&&defined(c.id)&&defined(r=u.getGeometryInstanceAttributes(c.id))&&defined(r.show)&&(d=!0,r.show=ShowGeometryInstanceAttribute.toValue(!1,r.show),o.push(r)),c instanceof Cesium3DTileFeature&&(d=!0,c.show=!1,s.push(c)),d||(u.show=!1,a.push(u)),l=t()}for(i=0;i<a.length;++i)a[i].show=!0;for(i=0;i<o.length;++i)(r=o[i]).show=ShowGeometryInstanceAttribute.toValue(!0,r.show);for(i=0;i<s.length;++i)s[i].show=!0;return n}Picking.prototype.pickPosition=function(e,t,i){return defined(i=this.pickPositionWorldCoordinates(e,t,i))&&e.mode!==SceneMode$1.SCENE3D&&(Cartesian3.fromElements(i.y,i.z,i.x,i),e=(t=e.mapProjection).ellipsoid,t=t.unproject(i,scratchPickPositionCartographic),e.cartographicToCartesian(t,i)),i},Picking.prototype.drillPick=function(t,i,e,r,n){var a=this;return drillPick(e,function(){var e=a.pick(t,i,r,n);if(defined(e))return{object:e,position:void 0,exclude:!1}}).map(function(e){return e.object})};var scratchRight$3=new Cartesian3,scratchUp$2=new Cartesian3;function MostDetailedRayPick(e,t,i){this.ray=e,this.width=t,this.tilesets=i,this.ready=!1,this.deferred=when.defer(),this.promise=this.deferred.promise}function updateOffscreenCameraFromRay(e,t,i,r){var n=t.direction,a=Cartesian3.mostOrthogonalAxis(n,scratchRight$3),o=Cartesian3.cross(n,a,scratchRight$3),a=Cartesian3.cross(n,o,scratchUp$2);return r.position=t.origin,r.direction=n,r.up=a,r.right=o,r.frustum.width=defaultValue(i,offscreenDefaultWidth),r.frustum.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function updateMostDetailedRayPick(e,t,i){var r=t.frameState,n=i.ray,a=i.width,o=i.tilesets,s=e._pickOffscreenView.camera,a=updateOffscreenCameraFromRay(e,n,a,s),l=mostDetailedPreloadTilesetPassState;l.camera=s,l.cullingVolume=a;for(var c=!0,u=o.length,d=0;d<u;++d){var h=o[d];h.show&&t.primitives.contains(h)&&(h.updateForPass(r,l),c=c&&l.ready)}return c&&i.deferred.resolve(),c}function getTilesets(e,t,i){for(var r=e.length,n=0;n<r;++n){var a=e.get(n);a.show&&(defined(a.isCesium3DTileset)?defined(t)&&-1!==t.indexOf(a)||i.push(a):a instanceof PrimitiveCollection&&getTilesets(a,t,i))}}function launchMostDetailedRayPick(e,t,i,r,n,a){var o=[];if(getTilesets(t.primitives,r,o),0===o.length)return when.resolve(a());o=new MostDetailedRayPick(i,n,o);return e._mostDetailedRayPicks.push(o),o.promise.then(function(){return a()})}function isExcluded(e,t){return!(!defined(e)||!defined(t)||0===t.length)&&(-1<t.indexOf(e)||-1<t.indexOf(e.primitive)||-1<t.indexOf(e.id))}function getRayIntersection(e,t,i,r,n,a,o){var s=t.context,l=s.uniformState,c=t.frameState,u=e._pickOffscreenView;updateOffscreenCameraFromRay(e,i,n,(t.view=u).camera),scratchRectangle$7=BoundingRectangle.clone(u.viewport,scratchRectangle$7);n=u.pickFramebuffer.begin(scratchRectangle$7,u.viewport);t.jobScheduler.disableThisFrame(),t.updateFrameState(),c.invertClassification=!1,c.passes.pick=!0,c.passes.offscreen=!0,c.tilesetPassState=o?mostDetailedPickTilesetPassState:pickTilesetPassState,l.update(c),t.updateEnvironment(),t.updateAndExecuteCommands(n,scratchColorZero),t.resolveFramebuffers(n);n=u.pickFramebuffer.end(s);if(t.context.depthTexture)for(var d=u.frustumCommandsList.length,h=0;h<d;++h){var p=e.getPickDepth(t,h).getDepth(s,0,0);if(defined(p)&&(0<p&&p<1)){var m=u.frustumCommandsList[h],f=m.near*(0!==h?t.opaqueFrustumNearOffset:1),f=f+p*(m.far-f),g=Ray.getPoint(i,f);break}}if(t.view=t.defaultView,s.endFrame(),defined(n)||defined(g))return{object:n,position:g,exclude:!defined(g)&&a||isExcluded(n,r)}}function getRayIntersections(e,t,i,r,n,a,o,s){return drillPick(r,function(){return getRayIntersection(e,t,i,n,a,o,s)})}function pickFromRay(e,t,i,r,n,a,o){o=getRayIntersections(e,t,i,1,r,n,a,o);if(0<o.length)return o[0]}function drillPickFromRay(e,t,i,r,n,a,o,s){return getRayIntersections(e,t,i,r,n,a,o,s)}function deferPromiseUntilPostRender(i,e){var r=when.defer();return e.then(function(e){var t=i.postRender.addEventListener(function(){r.resolve(e),t()});i.requestRender()}).otherwise(function(e){r.reject(e)}),r.promise}Picking.prototype.updateMostDetailedRayPicks=function(e){for(var t=this._mostDetailedRayPicks,i=0;i<t.length;++i)updateMostDetailedRayPick(this,e,t[i])&&t.splice(i--,1)},Picking.prototype.pickFromRay=function(e,t,i,r){return pickFromRay(this,e,t,i,r,!1,!1)},Picking.prototype.drillPickFromRay=function(e,t,i,r,n){return drillPickFromRay(this,e,t,i,r,n,!1,!1)},Picking.prototype.pickFromRayMostDetailed=function(e,t,i,r){var n=this;return t=Ray.clone(t),i=defined(i)?i.slice():i,deferPromiseUntilPostRender(e,launchMostDetailedRayPick(n,e,t,i,r,function(){return pickFromRay(n,e,t,i,r,!1,!0)}))},Picking.prototype.drillPickFromRayMostDetailed=function(e,t,i,r,n){var a=this;return t=Ray.clone(t),r=defined(r)?r.slice():r,deferPromiseUntilPostRender(e,launchMostDetailedRayPick(a,e,t,r,n,function(){return drillPickFromRay(a,e,t,i,r,n,!1,!0)}))};var scratchSurfacePosition=new Cartesian3,scratchSurfaceNormal=new Cartesian3,scratchSurfaceRay=new Ray,scratchCartographic$e=new Cartographic;function getRayForSampleHeight(e,t){var i=e.globe,r=(defined(i)?i:e.mapProjection).ellipsoid,i=ApproximateTerrainHeights._defaultMaxTerrainHeight,e=r.geodeticSurfaceNormalCartographic(t,scratchSurfaceNormal),t=Cartographic.toCartesian(t,r,scratchSurfacePosition),r=scratchSurfaceRay;r.origin=t,r.direction=e;t=new Ray;return Ray.getPoint(r,i,t.origin),Cartesian3.negate(e,t.direction),t}function getRayForClampToHeight(e,t){var i=e.globe,i=(defined(i)?i:e.mapProjection).ellipsoid;return getRayForSampleHeight(e,Cartographic.fromCartesian(t,i,scratchCartographic$e))}function getHeightFromCartesian(e,t){var i=e.globe,e=(defined(i)?i:e.mapProjection).ellipsoid;return Cartographic.fromCartesian(t,e,scratchCartographic$e).height}function sampleHeightMostDetailed(t,i,e,r,n){var a=getRayForSampleHeight(i,e);return launchMostDetailedRayPick(t,i,a,r,n,function(){var e=pickFromRay(t,i,a,r,n,!0,!0);if(defined(e))return getHeightFromCartesian(i,e.position)})}function clampToHeightMostDetailed(t,i,e,r,n,a){var o=getRayForClampToHeight(i,e);return launchMostDetailedRayPick(t,i,o,r,n,function(){var e=pickFromRay(t,i,o,r,n,!0,!0);if(defined(e))return Cartesian3.clone(e.position,a)})}Picking.prototype.sampleHeight=function(e,t,i,r){r=pickFromRay(this,e,getRayForSampleHeight(e,t),i,r,!0,!1);if(defined(r))return getHeightFromCartesian(e,r.position)},Picking.prototype.clampToHeight=function(e,t,i,r,n){r=pickFromRay(this,e,getRayForClampToHeight(e,t),i,r,!0,!1);if(defined(r))return Cartesian3.clone(r.position,n)},Picking.prototype.sampleHeightMostDetailed=function(e,r,t,i){t=defined(t)?t.slice():t;for(var n=r.length,a=new Array(n),o=0;o<n;++o)a[o]=sampleHeightMostDetailed(this,e,r[o],t,i);return deferPromiseUntilPostRender(e,when.all(a).then(function(e){for(var t=e.length,i=0;i<t;++i)r[i].height=e[i];return r}))},Picking.prototype.clampToHeightMostDetailed=function(e,r,t,i){t=defined(t)?t.slice():t;for(var n=r.length,a=new Array(n),o=0;o<n;++o)a[o]=clampToHeightMostDetailed(this,e,r[o],t,i,r[o]);return deferPromiseUntilPostRender(e,when.all(a).then(function(e){for(var t=e.length,i=0;i<t;++i)r[i]=e[i];return r}))},Picking.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var PostProcessStageSampleMode={NEAREST:0,LINEAR:1};function PostProcessStage(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).fragmentShader,i=defaultValue(e.textureScale,1),r=defaultValue(e.pixelFormat,PixelFormat$1.RGBA);this._fragmentShader=t,this._uniforms=e.uniforms,this._textureScale=i,this._forcePowerOfTwo=defaultValue(e.forcePowerOfTwo,!1),this._sampleMode=defaultValue(e.sampleMode,PostProcessStageSampleMode.NEAREST),this._pixelFormat=r,this._pixelDatatype=defaultValue(e.pixelDatatype,PixelDatatype$1.UNSIGNED_BYTE),this._clearColor=defaultValue(e.clearColor,Color.BLACK),this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;r=new PassState;r.scissorTest={enabled:!0,rectangle:defined(e.scissorRectangle)?BoundingRectangle.clone(e.scissorRectangle):new BoundingRectangle},this._passState=r,this._ready=!1;e=e.name;defined(e)||(e=createGuid()),this._name=e,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(PostProcessStage.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(defined(this._textureCache)){var e=this._textureCache.getFramebuffer(this._name);if(defined(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});var depthTextureRegex=/uniform\s+sampler2D\s+depthTexture/g;function getUniformValueGetterAndSetter(n,a,o){var e=a[o];return("string"==typeof e||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement||e instanceof HTMLVideoElement||e instanceof ImageData)&&n._dirtyUniforms.push(o),{get:function(){return a[o]},set:function(e){var t=a[o];a[o]=e;var i=n._actualUniforms,r=i[o];defined(r)&&r!==t&&r instanceof Texture&&!defined(n._textureCache.getStageByName(o))&&(n._texturesToRelease.push(r),delete i[o],delete i[o+"Dimensions"]),t instanceof Texture&&n._texturesToRelease.push(t),"string"==typeof e||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement||e instanceof HTMLVideoElement||e instanceof ImageData?n._dirtyUniforms.push(o):i[o]=e}}}function getUniformMapFunction(t,i){return function(){var e=t._actualUniforms[i];return"function"==typeof e?e():e}}function getUniformMapDimensionsFunction(t,i){return function(){var e=t[i]();if(defined(e))return e.dimensions}}function createUniformMap$5(e){if(!defined(e._uniformMap)){var t,i,r={},n={},a=e._uniforms,o=e._actualUniforms;for(t in a)a.hasOwnProperty(t)&&("function"!=typeof a[t]?(r[t]=getUniformMapFunction(e,t),n[t]=getUniformValueGetterAndSetter(e,a,t)):(r[t]=a[t],n[t]=a[t]),o[t]=a[t],("string"==typeof(i=r[t]())||i instanceof Texture||i instanceof HTMLImageElement||i instanceof HTMLCanvasElement||i instanceof HTMLVideoElement)&&(r[t+"Dimensions"]=getUniformMapDimensionsFunction(r,t)));e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=combine(r,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}}function createDrawCommand(e,t){var i;defined(e._command)&&!e._logDepthChanged&&!e._selectedDirty||(i=e._fragmentShader,defined(e._selectedIdTexture)&&(i="#define CZM_SELECTED_FEATURE \nuniform sampler2D czm_idTexture; \nuniform sampler2D czm_selectedIdTexture; \nuniform float czm_selectedIdTextureStep; \nvarying vec2 v_textureCoordinates; \nbool czm_selected(vec2 offset) \n{ \n bool selected = false;\n vec4 id = texture2D(czm_idTexture, v_textureCoordinates + offset); \n for (int i = 0; i < "+e._selectedIdTexture.width+"; ++i) \n { \n vec4 selectedId = texture2D(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); \n if (all(equal(id, selectedId))) \n { \n return true; \n } \n } \n return false; \n} \n\nbool czm_selected() \n{ \n return czm_selected(vec2(0.0)); \n} \n\n"+(i=i.replace(/varying\s+vec2\s+v_textureCoordinates;/g,""))),i=new ShaderSource({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[i]}),e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e}))}function createSampler(e){var t,i=e._sampleMode===PostProcessStageSampleMode.LINEAR?(t=TextureMinificationFilter$1.LINEAR,TextureMagnificationFilter$1.LINEAR):(t=TextureMinificationFilter$1.NEAREST,TextureMagnificationFilter$1.NEAREST),r=e._sampler;defined(r)&&r.minificationFilter===t&&r.magnificationFilter===i||(e._sampler=new Sampler({wrapS:TextureWrap$1.CLAMP_TO_EDGE,wrapT:TextureWrap$1.CLAMP_TO_EDGE,minificationFilter:t,magnificationFilter:i}))}function createLoadImageFunction(t,i){return function(e){t._texturesToCreate.push({name:i,source:e})}}function createStageOutputTextureFunction(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function updateUniformTextures(e,t){var i,r=e._texturesToRelease,n=r.length;for(d=0;d<n;++d)i=(i=r[d])&&i.destroy();r.length=0;var a=e._texturesToCreate,n=a.length;for(d=0;d<n;++d){var o=a[d],s=o.name,o=o.source;e._actualUniforms[s]=new Texture({context:t,source:o})}a.length=0;var l=e._dirtyUniforms;if(0!==l.length||defined(e._texturePromise)){if(0!==l.length&&!defined(e._texturePromise)){n=l.length;for(var c=e._uniforms,u=[],d=0;d<n;++d){var h,p=c[s=l[d]];defined(e._textureCache.getStageByName(p))?e._actualUniforms[s]=createStageOutputTextureFunction(e,p):"string"==typeof p?(h=new Resource({url:p}),u.push(h.fetchImage().then(createLoadImageFunction(e,s)))):e._texturesToCreate.push({name:s,source:p})}(l.length=0)<u.length?(e._ready=!1,e._texturePromise=when.all(u).then(function(){e._ready=!0,e._texturePromise=void 0})):e._ready=!0}}else e._ready=!0}function releaseResources(e){defined(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();var t=e._textureCache;if(defined(t)){var i,r=e._uniforms,n=e._actualUniforms;for(i in n)n.hasOwnProperty(i)&&n[i]instanceof Texture&&(defined(t.getStageByName(r[i]))||n[i].destroy(),e._dirtyUniforms.push(i))}}function isSelectedTextureDirty(e){var t=defined(e._selected)?e._selected.length:0,i=defined(e._parentSelected)?e._parentSelected:0,r=(r=e._selected!==e._selectedShadow||t!==e._selectedLength)||e._parentSelected!==e._parentSelectedShadow||i!==e._parentSelectedLength;if(defined(e._selected)&&defined(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):defined(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!r&&defined(e._combinedSelected)){if(!defined(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(var n=0;n<t;++n)if(e._combinedSelected[n]!==e._combinedSelectedShadow[n])return!0}return r}function createSelectedTexture(e,t){if(e._selectedDirty){e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;var i=e._combinedSelected;if(defined(i)){for(var r,n,a=0,o=i.length,s=0;s<o;++s)defined((r=i[s]).pickIds)?a+=r.pickIds.length:defined(r.pickId)&&++a;if(0===o||0===a){var l=new Uint8Array(4);return l[0]=255,l[1]=255,l[2]=255,l[3]=255,void(e._selectedIdTexture=new Texture({context:t,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,source:{arrayBufferView:l,width:1,height:1},sampler:Sampler.NEAREST}))}var c=0,u=new Uint8Array(4*a);for(s=0;s<o;++s)if(defined((r=i[s]).pickIds))for(var d=r.pickIds,h=d.length,p=0;p<h;++p)n=d[p].color,u[c]=Color.floatToByte(n.red),u[c+1]=Color.floatToByte(n.green),u[c+2]=Color.floatToByte(n.blue),u[c+3]=Color.floatToByte(n.alpha),c+=4;else defined(r.pickId)&&(n=r.pickId.color,u[c]=Color.floatToByte(n.red),u[c+1]=Color.floatToByte(n.green),u[c+2]=Color.floatToByte(n.blue),u[c+3]=Color.floatToByte(n.alpha),c+=4);e._selectedIdTexture=new Texture({context:t,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,source:{arrayBufferView:u,width:a,height:1},sampler:Sampler.NEAREST})}}}PostProcessStage.prototype._isSupported=function(e){return!depthTextureRegex.test(this._fragmentShader)||e.depthTexture},PostProcessStage.prototype.update=function(e,t){var i;this.enabled===this._enabled||this.enabled||releaseResources(this),this._enabled=this.enabled,this._enabled&&(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=isSelectedTextureDirty(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=defined(this._selected)?this._selected.length:0,this._parentSelectedLength=defined(this._parentSelected)?this._parentSelected.length:0,createSelectedTexture(this,e),createUniformMap$5(this),updateUniformTextures(this,e),createDrawCommand(this,e),createSampler(this),this._selectedDirty=!1,this._ready&&(t=this._textureCache.getFramebuffer(this._name),defined(this._command.framebuffer=t)&&((t=t.getColorTexture(0)).width===e.drawingBufferWidth&&t.height===e.drawingBufferHeight||defined(i=this._renderState)&&t.width===i.viewport.width&&t.height===i.viewport.height||(this._renderState=RenderState.fromCache({viewport:new BoundingRectangle(0,0,t.width,t.height)})),this._command.renderState=i)))},PostProcessStage.prototype.execute=function(e,t,i,r){defined(this._command)&&defined(this._command.framebuffer)&&this._ready&&this._enabled&&(this._colorTexture=t,this._depthTexture=i,this._idTexture=r,Sampler.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler),defined(r=0<this.scissorRectangle.width&&0<this.scissorRectangle.height?this._passState:void 0)&&(r.context=e),this._command.execute(e,r))},PostProcessStage.prototype.isDestroyed=function(){return!1},PostProcessStage.prototype.destroy=function(){return releaseResources(this),destroyObject(this)};var AcesTonemapping="uniform sampler2D colorTexture;\nvarying vec2 v_textureCoordinates;\n#ifdef AUTO_EXPOSURE\nuniform sampler2D autoExposure;\n#endif\nvoid main()\n{\nvec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);\nvec3 color = fragmentColor.rgb;\n#ifdef AUTO_EXPOSURE\ncolor /= texture2D(autoExposure, vec2(0.5)).r;\n#endif\ncolor = czm_acesTonemapping(color);\ncolor = czm_inverseGamma(color);\ngl_FragColor = vec4(color, fragmentColor.a);\n}\n",AmbientOcclusionGenerate="uniform sampler2D randomTexture;\nuniform sampler2D depthTexture;\nuniform float intensity;\nuniform float bias;\nuniform float lengthCap;\nuniform float stepSize;\nuniform float frustumLength;\nvarying vec2 v_textureCoordinates;\nvec4 clipToEye(vec2 uv, float depth)\n{\nvec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\nvec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);\nposEC = posEC / posEC.w;\nreturn posEC;\n}\nvec3 getNormalXEdge(vec3 posInCamera, float depthU, float depthD, float depthL, float depthR, vec2 pixelSize)\n{\nvec4 posInCameraUp = clipToEye(v_textureCoordinates - vec2(0.0, pixelSize.y), depthU);\nvec4 posInCameraDown = clipToEye(v_textureCoordinates + vec2(0.0, pixelSize.y), depthD);\nvec4 posInCameraLeft = clipToEye(v_textureCoordinates - vec2(pixelSize.x, 0.0), depthL);\nvec4 posInCameraRight = clipToEye(v_textureCoordinates + vec2(pixelSize.x, 0.0), depthR);\nvec3 up = posInCamera.xyz - posInCameraUp.xyz;\nvec3 down = posInCameraDown.xyz - posInCamera.xyz;\nvec3 left = posInCamera.xyz - posInCameraLeft.xyz;\nvec3 right = posInCameraRight.xyz - posInCamera.xyz;\nvec3 DX = length(left) < length(right) ? left : right;\nvec3 DY = length(up) < length(down) ? up : down;\nreturn normalize(cross(DY, DX));\n}\nvoid main(void)\n{\nfloat depth = czm_readDepth(depthTexture, v_textureCoordinates);\nvec4 posInCamera = clipToEye(v_textureCoordinates, depth);\nif (posInCamera.z > frustumLength)\n{\ngl_FragColor = vec4(1.0);\nreturn;\n}\nvec2 pixelSize = czm_pixelRatio / czm_viewport.zw;\nfloat depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y));\nfloat depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y));\nfloat depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0));\nfloat depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0));\nvec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize);\nfloat ao = 0.0;\nvec2 sampleDirection = vec2(1.0, 0.0);\nfloat gapAngle = 90.0 * czm_radiansPerDegree;\nfloat randomVal = texture2D(randomTexture, v_textureCoordinates).x;\nfor (int i = 0; i < 4; i++)\n{\nfloat newGapAngle = gapAngle * (float(i) + randomVal);\nfloat cosVal = cos(newGapAngle);\nfloat sinVal = sin(newGapAngle);\nvec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y);\nfloat localAO = 0.0;\nfloat localStepSize = stepSize;\nfor (int j = 0; j < 6; j++)\n{\nvec2 newCoords = v_textureCoordinates + rotatedSampleDirection * localStepSize * pixelSize;\nif(newCoords.x > 1.0 || newCoords.y > 1.0 || newCoords.x < 0.0 || newCoords.y < 0.0)\n{\nbreak;\n}\nfloat stepDepthInfo = czm_readDepth(depthTexture, newCoords);\nvec4 stepPosInCamera = clipToEye(newCoords, stepDepthInfo);\nvec3 diffVec = stepPosInCamera.xyz - posInCamera.xyz;\nfloat len = length(diffVec);\nif (len > lengthCap)\n{\nbreak;\n}\nfloat dotVal = clamp(dot(normalInCamera, normalize(diffVec)), 0.0, 1.0 );\nfloat weight = len / lengthCap;\nweight = 1.0 - weight * weight;\nif (dotVal < bias)\n{\ndotVal = 0.0;\n}\nlocalAO = max(localAO, dotVal * weight);\nlocalStepSize += stepSize;\n}\nao += localAO;\n}\nao /= 4.0;\nao = 1.0 - clamp(ao, 0.0, 1.0);\nao = pow(ao, intensity);\ngl_FragColor = vec4(vec3(ao), 1.0);\n}\n",AmbientOcclusionModulate="uniform sampler2D colorTexture;\nuniform sampler2D ambientOcclusionTexture;\nuniform bool ambientOcclusionOnly;\nvarying vec2 v_textureCoordinates;\nvoid main(void)\n{\nvec3 color = texture2D(colorTexture, v_textureCoordinates).rgb;\nvec3 ao = texture2D(ambientOcclusionTexture, v_textureCoordinates).rgb;\ngl_FragColor.rgb = ambientOcclusionOnly ? ao : ao * color;\n}\n",BlackAndWhite="uniform sampler2D colorTexture;\nuniform float gradations;\nvarying vec2 v_textureCoordinates;\nvoid main(void)\n{\nvec3 rgb = texture2D(colorTexture, v_textureCoordinates).rgb;\n#ifdef CZM_SELECTED_FEATURE\nif (czm_selected()) {\ngl_FragColor = vec4(rgb, 1.0);\nreturn;\n}\n#endif\nfloat luminance = czm_luminance(rgb);\nfloat darkness = luminance * gradations;\ndarkness = (darkness - fract(darkness)) / gradations;\ngl_FragColor = vec4(vec3(darkness), 1.0);\n}\n",BloomComposite="uniform sampler2D colorTexture;\nuniform sampler2D bloomTexture;\nuniform bool glowOnly;\nvarying vec2 v_textureCoordinates;\nvoid main(void)\n{\nvec4 color = texture2D(colorTexture, v_textureCoordinates);\n#ifdef CZM_SELECTED_FEATURE\nif (czm_selected()) {\ngl_FragColor = color;\nreturn;\n}\n#endif\nvec4 bloom = texture2D(bloomTexture, v_textureCoordinates);\ngl_FragColor = glowOnly ? bloom : bloom + color;\n}\n",Brightness="uniform sampler2D colorTexture;\nuniform float brightness;\nvarying vec2 v_textureCoordinates;\nvoid main(void)\n{\nvec3 rgb = texture2D(colorTexture, v_textureCoordinates).rgb;\nvec3 target = vec3(0.0);\ngl_FragColor = vec4(mix(target, rgb, brightness), 1.0);\n}\n",ContrastBias="uniform sampler2D colorTexture;\nuniform float contrast;\nuniform float brightness;\nvarying vec2 v_textureCoordinates;\nvoid main(void)\n{\nvec3 sceneColor = texture2D(colorTexture, v_textureCoordinates).xyz;\nsceneColor = czm_RGBToHSB(sceneColor);\nsceneColor.z += brightness;\nsceneColor = czm_HSBToRGB(sceneColor);\nfloat factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast));\nsceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5);\ngl_FragColor = vec4(sceneColor, 1.0);\n}\n",DepthOfField="uniform sampler2D colorTexture;\nuniform sampler2D blurTexture;\nuniform sampler2D depthTexture;\nuniform float focalDistance;\nvarying vec2 v_textureCoordinates;\nvec4 toEye(vec2 uv, float depth)\n{\nvec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\nvec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0);\nposInCamera = posInCamera / posInCamera.w;\nreturn posInCamera;\n}\nfloat computeDepthBlur(float depth)\n{\nfloat f;\nif (depth < focalDistance)\n{\nf = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x);\n}\nelse\n{\nf = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance);\nf = pow(f, 0.1);\n}\nf *= f;\nf = clamp(f, 0.0, 1.0);\nreturn pow(f, 0.5);\n}\nvoid main(void)\n{\nfloat depth = czm_readDepth(depthTexture, v_textureCoordinates);\nvec4 posInCamera = toEye(v_textureCoordinates, depth);\nfloat d = computeDepthBlur(-posInCamera.z);\ngl_FragColor = mix(texture2D(colorTexture, v_textureCoordinates), texture2D(blurTexture, v_textureCoordinates), d);\n}\n",DepthView="uniform sampler2D depthTexture;\nvarying vec2 v_textureCoordinates;\nvoid main(void)\n{\nfloat depth = czm_readDepth(depthTexture, v_textureCoordinates);\ngl_FragColor = vec4(vec3(depth), 1.0);\n}\n",EdgeDetection="uniform sampler2D depthTexture;\nuniform float length;\nuniform vec4 color;\nvarying vec2 v_textureCoordinates;\nvoid main(void)\n{\nfloat directions[3];\ndirections[0] = -1.0;\ndirections[1] = 0.0;\ndirections[2] = 1.0;\nfloat scalars[3];\nscalars[0] = 3.0;\nscalars[1] = 10.0;\nscalars[2] = 3.0;\nfloat padx = czm_pixelRatio / czm_viewport.z;\nfloat pady = czm_pixelRatio / czm_viewport.w;\n#ifdef CZM_SELECTED_FEATURE\nbool selected = false;\nfor (int i = 0; i < 3; ++i)\n{\nfloat dir = directions[i];\nselected = selected || czm_selected(vec2(-padx, dir * pady));\nselected = selected || czm_selected(vec2(padx, dir * pady));\nselected = selected || czm_selected(vec2(dir * padx, -pady));\nselected = selected || czm_selected(vec2(dir * padx, pady));\nif (selected)\n{\nbreak;\n}\n}\nif (!selected)\n{\ngl_FragColor = vec4(color.rgb, 0.0);\nreturn;\n}\n#endif\nfloat horizEdge = 0.0;\nfloat vertEdge = 0.0;\nfor (int i = 0; i < 3; ++i)\n{\nfloat dir = directions[i];\nfloat scale = scalars[i];\nhorizEdge -= texture2D(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale;\nhorizEdge += texture2D(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale;\nvertEdge -= texture2D(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale;\nvertEdge += texture2D(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale;\n}\nfloat len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge);\ngl_FragColor = vec4(color.rgb, len > length ? color.a : 0.0);\n}\n",FilmicTonemapping="uniform sampler2D colorTexture;\nvarying vec2 v_textureCoordinates;\n#ifdef AUTO_EXPOSURE\nuniform sampler2D autoExposure;\n#endif\nvoid main()\n{\nvec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);\nvec3 color = fragmentColor.rgb;\n#ifdef AUTO_EXPOSURE\nfloat exposure = texture2D(autoExposure, vec2(0.5)).r;\ncolor /= exposure;\n#endif\nconst float A = 0.22;\nconst float B = 0.30;\nconst float C = 0.10;\nconst float D = 0.20;\nconst float E = 0.01;\nconst float F = 0.30;\nconst float white = 11.2;\nvec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F;\nfloat w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F;\nc = czm_inverseGamma(c / w);\ngl_FragColor = vec4(c, fragmentColor.a);\n}\n",FXAA="varying vec2 v_textureCoordinates;\nuniform sampler2D colorTexture;\nconst float fxaaQualitySubpix = 0.5;\nconst float fxaaQualityEdgeThreshold = 0.125;\nconst float fxaaQualityEdgeThresholdMin = 0.0833;\nvoid main()\n{\nvec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw;\nvec4 color = FxaaPixelShader(\nv_textureCoordinates,\ncolorTexture,\nfxaaQualityRcpFrame,\nfxaaQualitySubpix,\nfxaaQualityEdgeThreshold,\nfxaaQualityEdgeThresholdMin);\nfloat alpha = texture2D(colorTexture, v_textureCoordinates).a;\ngl_FragColor = vec4(color.rgb, alpha);\n}\n",GaussianBlur1D="#define SAMPLES 8\nuniform float delta;\nuniform float sigma;\nuniform float direction;\nuniform sampler2D colorTexture;\n#ifdef USE_STEP_SIZE\nuniform float stepSize;\n#else\nuniform vec2 step;\n#endif\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec2 st = v_textureCoordinates;\nvec2 dir = vec2(1.0 - direction, direction);\n#ifdef USE_STEP_SIZE\nvec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw));\n#else\nvec2 step = step;\n#endif\nvec3 g;\ng.x = 1.0 / (sqrt(czm_twoPi) * sigma);\ng.y = exp((-0.5 * delta * delta) / (sigma * sigma));\ng.z = g.y * g.y;\nvec4 result = texture2D(colorTexture, st) * g.x;\nfor (int i = 1; i < SAMPLES; ++i)\n{\ng.xy *= g.yz;\nvec2 offset = float(i) * dir * step;\nresult += texture2D(colorTexture, st - offset) * g.x;\nresult += texture2D(colorTexture, st + offset) * g.x;\n}\ngl_FragColor = result;\n}\n",LensFlare="uniform sampler2D colorTexture;\nuniform sampler2D dirtTexture;\nuniform sampler2D starTexture;\nuniform vec2 dirtTextureDimensions;\nuniform float distortion;\nuniform float ghostDispersal;\nuniform float haloWidth;\nuniform float dirtAmount;\nuniform float earthRadius;\nuniform float intensity;\nvarying vec2 v_textureCoordinates;\n#define DISTANCE_TO_SPACE 6500000.0\nvec4 getNDCFromWC(vec3 WC, float earthRadius)\n{\nvec4 positionEC = czm_view * vec4(WC, 1.0);\npositionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0);\nvec4 positionWC = czm_eyeToWindowCoordinates(positionEC);\nreturn czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0);\n}\nfloat isInEarth(vec2 texcoord, vec2 sceneSize)\n{\nvec2 NDC = texcoord * 2.0 - 1.0;\nvec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0);\nvec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5);\nNDC.xy -= earthPosSC.xy;\nfloat X = abs(NDC.x) * sceneSize.x;\nfloat Y = abs(NDC.y) * sceneSize.y;\nreturn clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0));\n}\nvec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace)\n{\nvec2 sceneSize = czm_viewport.zw;\nvec3 color;\nif(isSpace)\n{\ncolor.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture2D(tex, texcoord + direction * distortion.r).r;\ncolor.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture2D(tex, texcoord + direction * distortion.g).g;\ncolor.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture2D(tex, texcoord + direction * distortion.b).b;\n}\nelse\n{\ncolor.r = texture2D(tex, texcoord + direction * distortion.r).r;\ncolor.g = texture2D(tex, texcoord + direction * distortion.g).g;\ncolor.b = texture2D(tex, texcoord + direction * distortion.b).b;\n}\nreturn vec4(clamp(color, 0.0, 1.0), 0.0);\n}\nvoid main(void)\n{\nvec4 originalColor = texture2D(colorTexture, v_textureCoordinates);\nvec3 rgb = originalColor.rgb;\nbool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE;\nvec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0);\nvec4 sunPositionEC = czm_view * sunPos;\nvec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC);\nsunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0);\nif(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1)))\n{\ngl_FragColor = originalColor;\nreturn;\n}\nvec2 texcoord = vec2(1.0) - v_textureCoordinates;\nvec2 pixelSize = czm_pixelRatio / czm_viewport.zw;\nvec2 invPixelSize = 1.0 / pixelSize;\nvec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion);\nvec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal;\nvec3 direction = normalize(vec3(ghostVec, 0.0));\nvec4 result = vec4(0.0);\nvec4 ghost = vec4(0.0);\nfor (int i = 0; i < 4; ++i)\n{\nvec2 offset = fract(texcoord + ghostVec * float(i));\nghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace);\n}\nresult += ghost;\nvec2 haloVec = normalize(ghostVec) * haloWidth;\nfloat weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5));\nweightForHalo = pow(1.0 - weightForHalo, 5.0);\nresult += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5;\nvec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions;\nif (dirtTexCoords.x > 1.0)\n{\ndirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x);\n}\nif (dirtTexCoords.y > 1.0)\n{\ndirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y);\n}\nresult += dirtAmount * texture2D(dirtTexture, dirtTexCoords);\nfloat camrot = czm_view[0].z + czm_view[1].y;\nfloat cosValue = cos(camrot);\nfloat sinValue = sin(camrot);\nmat3 rotation = mat3(\ncosValue, -sinValue, 0.0,\nsinValue, cosValue, 0.0,\n0.0, 0.0, 1.0\n);\nvec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0);\nvec3 st2 = vec3((rotation * st1).xy, 1.0);\nvec3 st3 = st2 * 0.5 + vec3(0.5);\nvec2 lensStarTexcoord = st3.xy;\nfloat weightForLensFlare = length(vec3(sunPos.xy, 0.0));\nfloat oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0);\nif (!isSpace)\n{\nresult *= oneMinusWeightForLensFlare * intensity * 0.2;\n}\nelse\n{\nresult *= oneMinusWeightForLensFlare * intensity;\nresult *= texture2D(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0;\n}\nresult += texture2D(colorTexture, v_textureCoordinates);\ngl_FragColor = result;\n}\n",ModifiedReinhardTonemapping="uniform sampler2D colorTexture;\nuniform vec3 white;\nvarying vec2 v_textureCoordinates;\n#ifdef AUTO_EXPOSURE\nuniform sampler2D autoExposure;\n#endif\nvoid main()\n{\nvec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);\nvec3 color = fragmentColor.rgb;\n#ifdef AUTO_EXPOSURE\nfloat exposure = texture2D(autoExposure, vec2(0.5)).r;\ncolor /= exposure;\n#endif\ncolor = (color * (1.0 + color / white)) / (1.0 + color);\ncolor = czm_inverseGamma(color);\ngl_FragColor = vec4(color, fragmentColor.a);\n}\n",NightVision="uniform sampler2D colorTexture;\nvarying vec2 v_textureCoordinates;\nfloat rand(vec2 co)\n{\nreturn fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453);\n}\nvoid main(void)\n{\nfloat noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1;\nvec3 rgb = texture2D(colorTexture, v_textureCoordinates).rgb;\nvec3 green = vec3(0.0, 1.0, 0.0);\ngl_FragColor = vec4((noiseValue + rgb) * green, 1.0);\n}\n",ReinhardTonemapping="uniform sampler2D colorTexture;\nvarying vec2 v_textureCoordinates;\n#ifdef AUTO_EXPOSURE\nuniform sampler2D autoExposure;\n#endif\nvoid main()\n{\nvec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);\nvec3 color = fragmentColor.rgb;\n#ifdef AUTO_EXPOSURE\nfloat exposure = texture2D(autoExposure, vec2(0.5)).r;\ncolor /= exposure;\n#endif\ncolor = color / (1.0 + color);\ncolor = czm_inverseGamma(color);\ngl_FragColor = vec4(color, fragmentColor.a);\n}\n",Silhouette="uniform sampler2D colorTexture;\nuniform sampler2D silhouetteTexture;\nvarying vec2 v_textureCoordinates;\nvoid main(void)\n{\nvec4 silhouetteColor = texture2D(silhouetteTexture, v_textureCoordinates);\nvec4 color = texture2D(colorTexture, v_textureCoordinates);\ngl_FragColor = mix(color, silhouetteColor, silhouetteColor.a);\n}\n",FXAA3_11="#if (FXAA_QUALITY_PRESET == 10)\n#define FXAA_QUALITY_PS 3\n#define FXAA_QUALITY_P0 1.5\n#define FXAA_QUALITY_P1 3.0\n#define FXAA_QUALITY_P2 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 11)\n#define FXAA_QUALITY_PS 4\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 3.0\n#define FXAA_QUALITY_P3 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 12)\n#define FXAA_QUALITY_PS 5\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 4.0\n#define FXAA_QUALITY_P4 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 13)\n#define FXAA_QUALITY_PS 6\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 4.0\n#define FXAA_QUALITY_P5 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 14)\n#define FXAA_QUALITY_PS 7\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 2.0\n#define FXAA_QUALITY_P5 4.0\n#define FXAA_QUALITY_P6 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 15)\n#define FXAA_QUALITY_PS 8\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 2.0\n#define FXAA_QUALITY_P5 2.0\n#define FXAA_QUALITY_P6 4.0\n#define FXAA_QUALITY_P7 12.0\n#endif\n#if (FXAA_QUALITY_PRESET == 20)\n#define FXAA_QUALITY_PS 3\n#define FXAA_QUALITY_P0 1.5\n#define FXAA_QUALITY_P1 2.0\n#define FXAA_QUALITY_P2 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 21)\n#define FXAA_QUALITY_PS 4\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 22)\n#define FXAA_QUALITY_PS 5\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 23)\n#define FXAA_QUALITY_PS 6\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 2.0\n#define FXAA_QUALITY_P5 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 24)\n#define FXAA_QUALITY_PS 7\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 2.0\n#define FXAA_QUALITY_P5 3.0\n#define FXAA_QUALITY_P6 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 25)\n#define FXAA_QUALITY_PS 8\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 2.0\n#define FXAA_QUALITY_P5 2.0\n#define FXAA_QUALITY_P6 4.0\n#define FXAA_QUALITY_P7 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 26)\n#define FXAA_QUALITY_PS 9\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 2.0\n#define FXAA_QUALITY_P5 2.0\n#define FXAA_QUALITY_P6 2.0\n#define FXAA_QUALITY_P7 4.0\n#define FXAA_QUALITY_P8 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 27)\n#define FXAA_QUALITY_PS 10\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 2.0\n#define FXAA_QUALITY_P5 2.0\n#define FXAA_QUALITY_P6 2.0\n#define FXAA_QUALITY_P7 2.0\n#define FXAA_QUALITY_P8 4.0\n#define FXAA_QUALITY_P9 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 28)\n#define FXAA_QUALITY_PS 11\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 2.0\n#define FXAA_QUALITY_P5 2.0\n#define FXAA_QUALITY_P6 2.0\n#define FXAA_QUALITY_P7 2.0\n#define FXAA_QUALITY_P8 2.0\n#define FXAA_QUALITY_P9 4.0\n#define FXAA_QUALITY_P10 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 29)\n#define FXAA_QUALITY_PS 12\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.5\n#define FXAA_QUALITY_P2 2.0\n#define FXAA_QUALITY_P3 2.0\n#define FXAA_QUALITY_P4 2.0\n#define FXAA_QUALITY_P5 2.0\n#define FXAA_QUALITY_P6 2.0\n#define FXAA_QUALITY_P7 2.0\n#define FXAA_QUALITY_P8 2.0\n#define FXAA_QUALITY_P9 2.0\n#define FXAA_QUALITY_P10 4.0\n#define FXAA_QUALITY_P11 8.0\n#endif\n#if (FXAA_QUALITY_PRESET == 39)\n#define FXAA_QUALITY_PS 12\n#define FXAA_QUALITY_P0 1.0\n#define FXAA_QUALITY_P1 1.0\n#define FXAA_QUALITY_P2 1.0\n#define FXAA_QUALITY_P3 1.0\n#define FXAA_QUALITY_P4 1.0\n#define FXAA_QUALITY_P5 1.5\n#define FXAA_QUALITY_P6 2.0\n#define FXAA_QUALITY_P7 2.0\n#define FXAA_QUALITY_P8 2.0\n#define FXAA_QUALITY_P9 2.0\n#define FXAA_QUALITY_P10 4.0\n#define FXAA_QUALITY_P11 8.0\n#endif\n#define FxaaBool bool\n#define FxaaFloat float\n#define FxaaFloat2 vec2\n#define FxaaFloat3 vec3\n#define FxaaFloat4 vec4\n#define FxaaHalf float\n#define FxaaHalf2 vec2\n#define FxaaHalf3 vec3\n#define FxaaHalf4 vec4\n#define FxaaInt2 vec2\n#define FxaaTex sampler2D\n#define FxaaSat(x) clamp(x, 0.0, 1.0)\n#define FxaaTexTop(t, p) texture2D(t, p)\n#define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r))\nFxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }\nFxaaFloat4 FxaaPixelShader(\nFxaaFloat2 pos,\nFxaaTex tex,\nFxaaFloat2 fxaaQualityRcpFrame,\nFxaaFloat fxaaQualitySubpix,\nFxaaFloat fxaaQualityEdgeThreshold,\nFxaaFloat fxaaQualityEdgeThresholdMin\n) {\nFxaaFloat2 posM;\nposM.x = pos.x;\nposM.y = pos.y;\nFxaaFloat4 rgbyM = FxaaTexTop(tex, posM);\n#define lumaM rgbyM.y\nFxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy));\nFxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy));\nFxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy));\nFxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy));\nFxaaFloat maxSM = max(lumaS, lumaM);\nFxaaFloat minSM = min(lumaS, lumaM);\nFxaaFloat maxESM = max(lumaE, maxSM);\nFxaaFloat minESM = min(lumaE, minSM);\nFxaaFloat maxWN = max(lumaN, lumaW);\nFxaaFloat minWN = min(lumaN, lumaW);\nFxaaFloat rangeMax = max(maxWN, maxESM);\nFxaaFloat rangeMin = min(minWN, minESM);\nFxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold;\nFxaaFloat range = rangeMax - rangeMin;\nFxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled);\nFxaaBool earlyExit = range < rangeMaxClamped;\nif(earlyExit)\nreturn rgbyM;\nFxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy));\nFxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy));\nFxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy));\nFxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));\nFxaaFloat lumaNS = lumaN + lumaS;\nFxaaFloat lumaWE = lumaW + lumaE;\nFxaaFloat subpixRcpRange = 1.0/range;\nFxaaFloat subpixNSWE = lumaNS + lumaWE;\nFxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS;\nFxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE;\nFxaaFloat lumaNESE = lumaNE + lumaSE;\nFxaaFloat lumaNWNE = lumaNW + lumaNE;\nFxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE;\nFxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE;\nFxaaFloat lumaNWSW = lumaNW + lumaSW;\nFxaaFloat lumaSWSE = lumaSW + lumaSE;\nFxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2);\nFxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2);\nFxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW;\nFxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE;\nFxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4;\nFxaaFloat edgeVert = abs(edgeVert3) + edgeVert4;\nFxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE;\nFxaaFloat lengthSign = fxaaQualityRcpFrame.x;\nFxaaBool horzSpan = edgeHorz >= edgeVert;\nFxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE;\nif(!horzSpan) lumaN = lumaW;\nif(!horzSpan) lumaS = lumaE;\nif(horzSpan) lengthSign = fxaaQualityRcpFrame.y;\nFxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM;\nFxaaFloat gradientN = lumaN - lumaM;\nFxaaFloat gradientS = lumaS - lumaM;\nFxaaFloat lumaNN = lumaN + lumaM;\nFxaaFloat lumaSS = lumaS + lumaM;\nFxaaBool pairN = abs(gradientN) >= abs(gradientS);\nFxaaFloat gradient = max(abs(gradientN), abs(gradientS));\nif(pairN) lengthSign = -lengthSign;\nFxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange);\nFxaaFloat2 posB;\nposB.x = posM.x;\nposB.y = posM.y;\nFxaaFloat2 offNP;\noffNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;\noffNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;\nif(!horzSpan) posB.x += lengthSign * 0.5;\nif( horzSpan) posB.y += lengthSign * 0.5;\nFxaaFloat2 posN;\nposN.x = posB.x - offNP.x * FXAA_QUALITY_P0;\nposN.y = posB.y - offNP.y * FXAA_QUALITY_P0;\nFxaaFloat2 posP;\nposP.x = posB.x + offNP.x * FXAA_QUALITY_P0;\nposP.y = posB.y + offNP.y * FXAA_QUALITY_P0;\nFxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;\nFxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN));\nFxaaFloat subpixE = subpixC * subpixC;\nFxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP));\nif(!pairN) lumaNN = lumaSS;\nFxaaFloat gradientScaled = gradient * 1.0/4.0;\nFxaaFloat lumaMM = lumaM - lumaNN * 0.5;\nFxaaFloat subpixF = subpixD * subpixE;\nFxaaBool lumaMLTZero = lumaMM < 0.0;\nlumaEndN -= lumaNN * 0.5;\nlumaEndP -= lumaNN * 0.5;\nFxaaBool doneN = abs(lumaEndN) >= gradientScaled;\nFxaaBool doneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1;\nFxaaBool doneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1;\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2;\n#if (FXAA_QUALITY_PS > 3)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3;\n#if (FXAA_QUALITY_PS > 4)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4;\n#if (FXAA_QUALITY_PS > 5)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5;\n#if (FXAA_QUALITY_PS > 6)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6;\n#if (FXAA_QUALITY_PS > 7)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7;\n#if (FXAA_QUALITY_PS > 8)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8;\n#if (FXAA_QUALITY_PS > 9)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9;\n#if (FXAA_QUALITY_PS > 10)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10;\n#if (FXAA_QUALITY_PS > 11)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11;\n#if (FXAA_QUALITY_PS > 12)\nif(doneNP) {\nif(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\nif(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\nif(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\nif(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\ndoneN = abs(lumaEndN) >= gradientScaled;\ndoneP = abs(lumaEndP) >= gradientScaled;\nif(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12;\nif(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12;\ndoneNP = (!doneN) || (!doneP);\nif(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12;\nif(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12;\n}\n#endif\n}\n#endif\n}\n#endif\n}\n#endif\n}\n#endif\n}\n#endif\n}\n#endif\n}\n#endif\n}\n#endif\n}\n#endif\n}\nFxaaFloat dstN = posM.x - posN.x;\nFxaaFloat dstP = posP.x - posM.x;\nif(!horzSpan) dstN = posM.y - posN.y;\nif(!horzSpan) dstP = posP.y - posM.y;\nFxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero;\nFxaaFloat spanLength = (dstP + dstN);\nFxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero;\nFxaaFloat spanLengthRcp = 1.0/spanLength;\nFxaaBool directionN = dstN < dstP;\nFxaaFloat dst = min(dstN, dstP);\nFxaaBool goodSpan = directionN ? goodSpanN : goodSpanP;\nFxaaFloat subpixG = subpixF * subpixF;\nFxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5;\nFxaaFloat subpixH = subpixG * fxaaQualitySubpix;\nFxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0;\nFxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH);\nif(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign;\nif( horzSpan) posM.y += pixelOffsetSubpix * lengthSign;\nreturn FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM);\n}\n";function PostProcessStageComposite(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._stages=e.stages,this._inputPreviousStageTexture=defaultValue(e.inputPreviousStageTexture,!0);var t=e.name;defined(t)||(t=createGuid()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}function isSelectedTextureDirty$1(e){var t=defined(e._selected)?e._selected.length:0,i=defined(e._parentSelected)?e._parentSelected:0,r=(r=e._selected!==e._selectedShadow||t!==e._selectedLength)||e._parentSelected!==e._parentSelectedShadow||i!==e._parentSelectedLength;if(defined(e._selected)&&defined(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):defined(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!r&&defined(e._combinedSelected)){if(!defined(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(var n=0;n<t;++n)if(e._combinedSelected[n]!==e._combinedSelectedShadow[n])return!0}return r}Object.defineProperties(PostProcessStageComposite.prototype,{ready:{get:function(){for(var e=this._stages,t=e.length,i=0;i<t;++i)if(!e[i].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){for(var t=this._stages,i=t.length,r=0;r<i;++r)t[r].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}}),PostProcessStageComposite.prototype._isSupported=function(e){for(var t=this._stages,i=t.length,r=0;r<i;++r)if(!t[r]._isSupported(e))return!1;return!0},PostProcessStageComposite.prototype.get=function(e){return this._stages[e]},PostProcessStageComposite.prototype.update=function(e,t){this._selectedDirty=isSelectedTextureDirty$1(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=defined(this._selected)?this._selected.length:0,this._parentSelectedLength=defined(this._parentSelected)?this._parentSelected.length:0;for(var i=this._stages,r=i.length,n=0;n<r;++n){var a=i[n];this._selectedDirty&&(a.parentSelected=this._combinedSelected),a.update(e,t)}},PostProcessStageComposite.prototype.isDestroyed=function(){return!1},PostProcessStageComposite.prototype.destroy=function(){for(var e=this._stages,t=e.length,i=0;i<t;++i)e[i].destroy();return destroyObject(this)};var PostProcessStageLibrary={};function createBlur(e){var t="#define USE_STEP_SIZE\n"+GaussianBlur1D,r=new PostProcessStage({name:e+"_x_direction",fragmentShader:t,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:PostProcessStageSampleMode.LINEAR}),n=new PostProcessStage({name:e+"_y_direction",fragmentShader:t,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:PostProcessStageSampleMode.LINEAR}),t={};return Object.defineProperties(t,{delta:{get:function(){return r.uniforms.delta},set:function(e){var t=r.uniforms,i=n.uniforms;t.delta=i.delta=e}},sigma:{get:function(){return r.uniforms.sigma},set:function(e){var t=r.uniforms,i=n.uniforms;t.sigma=i.sigma=e}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(e){var t=r.uniforms,i=n.uniforms;t.stepSize=i.stepSize=e}}}),new PostProcessStageComposite({name:e,stages:[r,n],uniforms:t})}function getSilhouetteEdgeDetection(e){if(!defined(e))return PostProcessStageLibrary.createEdgeDetectionStage();for(var t=new PostProcessStageComposite({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),i={},r="",n="",a=0;a<e.length;++a)r+="uniform sampler2D edgeTexture"+a+"; \n",n+=" vec4 edge"+a+" = texture2D(edgeTexture"+a+", v_textureCoordinates); \n if (edge"+a+".a > 0.0) \n { \n color = edge"+a+"; \n break; \n } \n",i["edgeTexture"+a]=e[a].name;return new PostProcessStageComposite({name:"czm_edge_detection_composite",stages:[t,new PostProcessStage({name:"czm_edge_detection_combine",fragmentShader:r+"varying vec2 v_textureCoordinates; \nvoid main() { \n vec4 color = vec4(0.0); \n for (int i = 0; i < "+e.length+"; i++) \n { \n"+n+" } \n gl_FragColor = color; \n} \n",uniforms:i})]})}PostProcessStageLibrary.createBlurStage=function(){return createBlur("czm_blur")},PostProcessStageLibrary.createDepthOfFieldStage=function(){var t=createBlur("czm_depth_of_field_blur"),i=new PostProcessStage({name:"czm_depth_of_field_composite",fragmentShader:DepthOfField,uniforms:{focalDistance:5,blurTexture:t.name}}),e={};return Object.defineProperties(e,{focalDistance:{get:function(){return i.uniforms.focalDistance},set:function(e){i.uniforms.focalDistance=e}},delta:{get:function(){return t.uniforms.delta},set:function(e){t.uniforms.delta=e}},sigma:{get:function(){return t.uniforms.sigma},set:function(e){t.uniforms.sigma=e}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(e){t.uniforms.stepSize=e}}}),new PostProcessStageComposite({name:"czm_depth_of_field",stages:[t,i],inputPreviousStageTexture:!1,uniforms:e})},PostProcessStageLibrary.isDepthOfFieldSupported=function(e){return e.context.depthTexture},PostProcessStageLibrary.createEdgeDetectionStage=function(){return new PostProcessStage({name:"czm_edge_detection_"+createGuid(),fragmentShader:EdgeDetection,uniforms:{length:.25,color:Color.clone(Color.BLACK)}})},PostProcessStageLibrary.isEdgeDetectionSupported=function(e){return e.context.depthTexture},PostProcessStageLibrary.createSilhouetteStage=function(e){e=getSilhouetteEdgeDetection(e);return new PostProcessStageComposite({name:"czm_silhouette",stages:[e,new PostProcessStage({name:"czm_silhouette_color_edges",fragmentShader:Silhouette,uniforms:{silhouetteTexture:e.name}})],inputPreviousStageTexture:!1,uniforms:e.uniforms})},PostProcessStageLibrary.isSilhouetteSupported=function(e){return e.context.depthTexture},PostProcessStageLibrary.createBloomStage=function(){var t=new PostProcessStage({name:"czm_bloom_contrast_bias",fragmentShader:ContrastBias,uniforms:{contrast:128,brightness:-.3}}),i=createBlur("czm_bloom_blur"),e=new PostProcessStageComposite({name:"czm_bloom_contrast_bias_blur",stages:[t,i]}),r=new PostProcessStage({name:"czm_bloom_generate_composite",fragmentShader:BloomComposite,uniforms:{glowOnly:!1,bloomTexture:e.name}}),n={};return Object.defineProperties(n,{glowOnly:{get:function(){return r.uniforms.glowOnly},set:function(e){r.uniforms.glowOnly=e}},contrast:{get:function(){return t.uniforms.contrast},set:function(e){t.uniforms.contrast=e}},brightness:{get:function(){return t.uniforms.brightness},set:function(e){t.uniforms.brightness=e}},delta:{get:function(){return i.uniforms.delta},set:function(e){i.uniforms.delta=e}},sigma:{get:function(){return i.uniforms.sigma},set:function(e){i.uniforms.sigma=e}},stepSize:{get:function(){return i.uniforms.stepSize},set:function(e){i.uniforms.stepSize=e}}}),new PostProcessStageComposite({name:"czm_bloom",stages:[e,r],inputPreviousStageTexture:!1,uniforms:n})},PostProcessStageLibrary.createAmbientOcclusionStage=function(){var t=new PostProcessStage({name:"czm_ambient_occlusion_generate",fragmentShader:AmbientOcclusionGenerate,uniforms:{intensity:3,bias:.1,lengthCap:.26,stepSize:1.95,frustumLength:1e3,randomTexture:void 0}}),i=createBlur("czm_ambient_occlusion_blur");i.uniforms.stepSize=.86;var e=new PostProcessStageComposite({name:"czm_ambient_occlusion_generate_blur",stages:[t,i]}),r=new PostProcessStage({name:"czm_ambient_occlusion_composite",fragmentShader:AmbientOcclusionModulate,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:e.name}}),n={};return Object.defineProperties(n,{intensity:{get:function(){return t.uniforms.intensity},set:function(e){t.uniforms.intensity=e}},bias:{get:function(){return t.uniforms.bias},set:function(e){t.uniforms.bias=e}},lengthCap:{get:function(){return t.uniforms.lengthCap},set:function(e){t.uniforms.lengthCap=e}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(e){t.uniforms.stepSize=e}},frustumLength:{get:function(){return t.uniforms.frustumLength},set:function(e){t.uniforms.frustumLength=e}},randomTexture:{get:function(){return t.uniforms.randomTexture},set:function(e){t.uniforms.randomTexture=e}},delta:{get:function(){return i.uniforms.delta},set:function(e){i.uniforms.delta=e}},sigma:{get:function(){return i.uniforms.sigma},set:function(e){i.uniforms.sigma=e}},blurStepSize:{get:function(){return i.uniforms.stepSize},set:function(e){i.uniforms.stepSize=e}},ambientOcclusionOnly:{get:function(){return r.uniforms.ambientOcclusionOnly},set:function(e){r.uniforms.ambientOcclusionOnly=e}}}),new PostProcessStageComposite({name:"czm_ambient_occlusion",stages:[e,r],inputPreviousStageTexture:!1,uniforms:n})},PostProcessStageLibrary.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};var fxaaFS="#define FXAA_QUALITY_PRESET 39 \n"+FXAA3_11+"\n"+FXAA;function PostProcessStageTextureCache(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function getLastStageName(e){for(;defined(e.length);)e=e.get(e.length-1);return e.name}function getStageDependencies(e,t,i,r,n){if(!r.enabled||!r._isSupported(t))return n;var a=i[r.name]={};defined(n)&&(a[getLastStageName(e.getStageByName(n))]=!0);var o=r.uniforms;if(defined(o))for(var s=Object.getOwnPropertyNames(o),l=s.length,c=0;c<l;++c){var u=o[s[c]];"string"!=typeof u||defined(u=e.getStageByName(u))&&(a[getLastStageName(u)]=!0)}return r.name}function getCompositeDependencies(e,t,i,r,n){if(defined(r.enabled)&&!r.enabled||defined(r._isSupported)&&!r._isSupported(t))return n;for(var a,o,s=n,l=!defined(r.inputPreviousStageTexture)||r.inputPreviousStageTexture,c=n,u=r.length,d=0;d<u;++d){var h=r.get(d),c=(defined(h.length)?getCompositeDependencies:getStageDependencies)(e,t,i,h,n);l&&(n=c)}if(l)for(a=1;a<u;++a)defined(i[o=getLastStageName(r.get(a))])||(i[o]={}),i[o][s]=!0;else for(a=1;a<u;++a)for(var p=i[o=getLastStageName(r.get(a))],m=0;m<a;++m)p[getLastStageName(r.get(m))]=!0;return c}function getDependencies(e,t){var i,r,n,a,o={};return defined(e.ambientOcclusion)?(a=e.ambientOcclusion,i=e.bloom,r=e._tonemapping,n=e.fxaa,a=getCompositeDependencies(e,t,o,a,void 0),a=getStageDependencies(e,t,o,r,a=getCompositeDependencies(e,t,o,i,a)),getStageDependencies(e,t,o,n,a=getCompositeDependencies(e,t,o,e,a))):getCompositeDependencies(e,t,o,e,void 0),o}function getFramebuffer(e,t,i){for(var r,n=e._collection.getStageByName(t),a=n._textureScale,o=n._forcePowerOfTwo,s=n._pixelFormat,l=n._pixelDatatype,c=n._clearColor,u=e._framebuffers,d=u.length,h=0;h<d;++h)if(a===(r=u[h]).textureScale&&o===r.forcePowerOfTwo&&s===r.pixelFormat&&l===r.pixelDatatype&&Color.equals(c,r.clearColor)){for(var p=r.stages,m=p.length,f=!1,g=0;g<m;++g)if(i[p[g]]){f=!0;break}if(!f)break}return defined(r)&&h<d?r.stages.push(t):(r={textureScale:a,forcePowerOfTwo:o,pixelFormat:s,pixelDatatype:l,clearColor:c,stages:[t],buffer:void 0,clear:void 0},u.push(r)),r}function createFramebuffers$3(e,t){var i,r=getDependencies(e._collection,t);for(i in r)r.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=getFramebuffer(e,i,r[i]))}function releaseResources$1(e){for(var t=e._framebuffers,i=t.length,r=0;r<i;++r){var n=t[r];n.buffer=n.buffer&&n.buffer.destroy(),n.buffer=void 0}}function updateFramebuffers$3(e,t){for(var i=e._width,r=e._height,n=e._framebuffers,a=n.length,o=0;o<a;++o){var s=n[o],l=s.textureScale,c=Math.ceil(i*l),u=Math.ceil(r*l),l=Math.min(c,u);s.forcePowerOfTwo&&(CesiumMath.isPowerOfTwo(l)||(l=CesiumMath.nextPowerOfTwo(l)),u=c=l),s.buffer=new Framebuffer({context:t,colorTextures:[new Texture({context:t,width:c,height:u,pixelFormat:s.pixelFormat,pixelDatatype:s.pixelDatatype})]}),s.clear=new ClearCommand({color:s.clearColor,framebuffer:s.buffer})}}PostProcessStageLibrary.createFXAAStage=function(){return new PostProcessStage({name:"czm_FXAA",fragmentShader:fxaaFS,sampleMode:PostProcessStageSampleMode.LINEAR})},PostProcessStageLibrary.createAcesTonemappingStage=function(e){e=e?"#define AUTO_EXPOSURE\n":"";return new PostProcessStage({name:"czm_aces",fragmentShader:e+=AcesTonemapping,uniforms:{autoExposure:void 0}})},PostProcessStageLibrary.createFilmicTonemappingStage=function(e){e=e?"#define AUTO_EXPOSURE\n":"";return new PostProcessStage({name:"czm_filmic",fragmentShader:e+=FilmicTonemapping,uniforms:{autoExposure:void 0}})},PostProcessStageLibrary.createReinhardTonemappingStage=function(e){e=e?"#define AUTO_EXPOSURE\n":"";return new PostProcessStage({name:"czm_reinhard",fragmentShader:e+=ReinhardTonemapping,uniforms:{autoExposure:void 0}})},PostProcessStageLibrary.createModifiedReinhardTonemappingStage=function(e){e=e?"#define AUTO_EXPOSURE\n":"";return new PostProcessStage({name:"czm_modified_reinhard",fragmentShader:e+=ModifiedReinhardTonemapping,uniforms:{white:Color.WHITE,autoExposure:void 0}})},PostProcessStageLibrary.createAutoExposureStage=function(){return new AutoExposure},PostProcessStageLibrary.createBlackAndWhiteStage=function(){return new PostProcessStage({name:"czm_black_and_white",fragmentShader:BlackAndWhite,uniforms:{gradations:5}})},PostProcessStageLibrary.createBrightnessStage=function(){return new PostProcessStage({name:"czm_brightness",fragmentShader:Brightness,uniforms:{brightness:.5}})},PostProcessStageLibrary.createNightVisionStage=function(){return new PostProcessStage({name:"czm_night_vision",fragmentShader:NightVision})},PostProcessStageLibrary.createDepthViewStage=function(){return new PostProcessStage({name:"czm_depth_view",fragmentShader:DepthView})},PostProcessStageLibrary.createLensFlareStage=function(){return new PostProcessStage({name:"czm_lens_flare",fragmentShader:LensFlare,uniforms:{dirtTexture:buildModuleUrl("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:buildModuleUrl("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:Ellipsoid.WGS84.maximumRadius}})},PostProcessStageTextureCache.prototype.updateDependencies=function(){this._updateDependencies=!0},PostProcessStageTextureCache.prototype.update=function(e){var t=this._collection,i=this._updateDependencies,r=defined(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),n=defined(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),a=defined(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),o=defined(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),n=!defined(t._activeStages)||0<t._activeStages.length||r||n||a||o;(i||!n&&0<this._framebuffers.length)&&(releaseResources$1(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),(i||n)&&(0===this._framebuffers.length&&createFramebuffers$3(this,e),a=e.drawingBufferWidth,o=e.drawingBufferHeight,n=this._width!==a||this._height!==o,(i||n)&&(this._width=a,this._height=o,this._updateDependencies=!1,releaseResources$1(this),updateFramebuffers$3(this,e)))},PostProcessStageTextureCache.prototype.clear=function(e){for(var t=this._framebuffers,i=0;i<t.length;++i)t[i].clear.execute(e)},PostProcessStageTextureCache.prototype.getStageByName=function(e){return this._collection.getStageByName(e)},PostProcessStageTextureCache.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)},PostProcessStageTextureCache.prototype.getFramebuffer=function(e){e=this._stageNameToFramebuffer[e];if(defined(e))return e.buffer},PostProcessStageTextureCache.prototype.isDestroyed=function(){return!1},PostProcessStageTextureCache.prototype.destroy=function(){return releaseResources$1(this),destroyObject(this)};var Tonemapper={REINHARD:0,MODIFIED_REINHARD:1,FILMIC:2,ACES:3,validate:function(e){return e===Tonemapper.REINHARD||e===Tonemapper.MODIFIED_REINHARD||e===Tonemapper.FILMIC||e===Tonemapper.ACES}},Tonemapper$1=Object.freeze(Tonemapper),stackScratch=[];function PostProcessStageCollection(){var e=PostProcessStageLibrary.createFXAAStage(),t=PostProcessStageLibrary.createAmbientOcclusionStage(),i=PostProcessStageLibrary.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=PostProcessStageLibrary.createAutoExposureStage(),this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=Tonemapper$1.ACES;var r=this._tonemapping;e.enabled=!1,t.enabled=!1,i.enabled=!1,r.enabled=!1;var n=new PostProcessStageTextureCache(this),a={},o=stackScratch;for(o.push(e,t,i,r);0<o.length;){var s=o.pop();(a[s.name]=s)._textureCache=n;var l=s.length;if(defined(l))for(var c=0;c<l;++c)o.push(s.get(c))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;var u=this;t.uniforms.randomTexture=function(){return u._randomTexture},this._ao=t,this._bloom=i,this._fxaa=e,this._lastLength=void 0,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=a,this._textureCache=n}function removeStages(e){if(e._stagesRemoved){e._stagesRemoved=!1;for(var t=[],i=e._stages,r=i.length,n=0,a=0;n<r;++n){var o=i[n];o&&(o._index=a++,t.push(o))}e._stages=t}}function getOutputTexture(e){for(;defined(e.length);)e=e.get(e.length-1);return e.outputTexture}function execute(e,t,i,r,n){if(defined(e.execute))e.execute(t,i,r,n);else{var a,o=e.length;if(e.inputPreviousStageTexture)for(execute(e.get(0),t,i,r,n),a=1;a<o;++a)execute(e.get(a),t,getOutputTexture(e.get(a-1)),r,n);else for(a=0;a<o;++a)execute(e.get(a),t,i,r,n)}}function QuadtreeTileProvider(){DeveloperError.throwInstantiationError()}function SceneTransitioner(e){this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}Object.defineProperties(PostProcessStageCollection.prototype,{ready:{get:function(){for(var e=!1,t=this._stages,i=t.length-1;0<=i;--i)var r=t[i],e=e||r.ready&&r.enabled;var n=this._fxaa,a=this._ao,o=this._bloom,s=this._tonemapping;return e=(e=(e=(e=e||n.ready&&n.enabled)||a.ready&&a.enabled)||o.ready&&o.enabled)||s.ready&&s.enabled}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return removeStages(this),this._stages.length}},outputTexture:{get:function(){var e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);for(var t=this._stages,i=t.length-1;0<=i;--i){var r=t[i];if(defined(r)&&r.ready&&r.enabled)return this.getOutputTexture(r.name)}e=this._tonemapping;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);e=this._bloom;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);e=this._ao;return e.enabled&&e.ready?this.getOutputTexture(e.name):void 0}},hasSelected:{get:function(){for(var e=arraySlice(this._stages);0<e.length;){var t=e.pop();if(defined(t)){if(defined(t.selected))return!0;var i=t.length;if(defined(i))for(var r=0;r<i;++r)e.push(t.get(r))}}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper!==e){defined(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());var t,i,r=this._autoExposureEnabled;switch(e){case Tonemapper$1.REINHARD:t=PostProcessStageLibrary.createReinhardTonemappingStage(r);break;case Tonemapper$1.MODIFIED_REINHARD:t=PostProcessStageLibrary.createModifiedReinhardTonemappingStage(r);break;case Tonemapper$1.FILMIC:t=PostProcessStageLibrary.createFilmicTonemappingStage(r);break;default:t=PostProcessStageLibrary.createAcesTonemappingStage(r)}r&&(i=this._autoExposure,t.uniforms.autoExposure=function(){return i.outputTexture}),this._tonemapper=e,this._tonemapping=t,defined(this._stageNames)&&((this._stageNames[t.name]=t)._textureCache=this._textureCache),this._textureCacheDirty=!0}}}}),PostProcessStageCollection.prototype.add=function(e){var t=this._stageNames,i=stackScratch;for(i.push(e);0<i.length;){var r=i.pop();(t[r.name]=r)._textureCache=this._textureCache;var n=r.length;if(defined(n))for(var a=0;a<n;++a)i.push(r.get(a))}var o=this._stages;return e._index=o.length,o.push(e),this._textureCacheDirty=!0,e},PostProcessStageCollection.prototype.remove=function(e){if(!this.contains(e))return!1;var t=this._stageNames,i=stackScratch;for(i.push(e);0<i.length;){var r=i.pop();delete t[r.name];var n=r.length;if(defined(n))for(var a=0;a<n;++a)i.push(r.get(a))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0},PostProcessStageCollection.prototype.contains=function(e){return defined(e)&&defined(e._index)&&e._textureCache===this._textureCache},PostProcessStageCollection.prototype.get=function(e){return removeStages(this),this._stages[e]},PostProcessStageCollection.prototype.removeAll=function(){for(var e=this._stages,t=e.length,i=0;i<t;++i)this.remove(e[i]);e.length=0},PostProcessStageCollection.prototype.getStageByName=function(e){return this._stageNames[e]},PostProcessStageCollection.prototype.update=function(e,t,i){removeStages(this);var r=this._activeStages,n=this._activeStages=this._previousActiveStages;this._previousActiveStages=r;var a,o=this._stages,s=n.length=o.length,l=0;for(C=0;C<s;++C)(a=o[C]).ready&&a.enabled&&a._isSupported(e)&&(n[l++]=a);var c=(n.length=l)!==r.length;if(!c)for(C=0;C<l;++C)if(n[C]!==r[C]){c=!0;break}var u=this._ao,d=this._bloom,h=this._autoExposure,p=this._tonemapping,m=this._fxaa;p.enabled=i;var f=u.enabled&&u._isSupported(e),g=d.enabled&&d._isSupported(e),_=p.enabled&&p._isSupported(e),i=m.enabled&&m._isSupported(e);if((c||this._textureCacheDirty||l!==this._lastLength||f!==this._aoEnabled||g!==this._bloomEnabled||_!==this._tonemappingEnabled||i!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._lastLength=l,this._aoEnabled=f,this._bloomEnabled=g,this._tonemappingEnabled=_,this._fxaaEnabled=i,this._textureCacheDirty=!1),defined(this._randomTexture)&&!f&&(this._randomTexture.destroy(),this._randomTexture=void 0),!defined(this._randomTexture)&&f){s=196608;for(var y=new Uint8Array(s),C=0;C<s;C+=3)y[C]=Math.floor(255*Math.random());this._randomTexture=new Texture({context:e,pixelFormat:PixelFormat$1.RGB,pixelDatatype:PixelDatatype$1.UNSIGNED_BYTE,source:{arrayBufferView:y,width:256,height:256},sampler:new Sampler({wrapS:TextureWrap$1.REPEAT,wrapT:TextureWrap$1.REPEAT,minificationFilter:TextureMinificationFilter$1.NEAREST,magnificationFilter:TextureMagnificationFilter$1.NEAREST})})}for(this._textureCache.update(e),m.update(e,t),u.update(e,t),d.update(e,t),p.update(e,t),this._autoExposureEnabled&&h.update(e,t),s=o.length,C=0;C<s;++C)o[C].update(e,t)},PostProcessStageCollection.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)},PostProcessStageCollection.prototype.getOutputTexture=function(e){e=this.getStageByName(e);if(defined(e))return getOutputTexture(e)},PostProcessStageCollection.prototype.execute=function(e,t,i,r){var n=this._activeStages,a=n.length,o=this._fxaa,s=this._ao,l=this._bloom,c=this._autoExposure,u=this._tonemapping,d=s.enabled&&s._isSupported(e),h=l.enabled&&l._isSupported(e),p=this._autoExposureEnabled,m=u.enabled&&u._isSupported(e),f=o.enabled&&o._isSupported(e);if(f||d||h||m||0!==a){t=t;d&&s.ready&&(execute(s,e,t,i,r),t=getOutputTexture(s)),h&&l.ready&&(execute(l,e,t,i,r),t=getOutputTexture(l)),p&&c.ready&&execute(c,e,t,i,r),m&&u.ready&&(execute(u,e,t,i,r),t=getOutputTexture(u));u=t;if(0<a){execute(n[0],e,t,i,r);for(var g=1;g<a;++g)execute(n[g],e,getOutputTexture(n[g-1]),i,r);u=getOutputTexture(n[a-1])}f&&o.ready&&execute(o,e,u,i,r)}},PostProcessStageCollection.prototype.copy=function(e,t){var i;defined(this._copyColorCommand)||((i=this)._copyColorCommand=e.createViewportQuadCommand(PassThrough,{uniformMap:{colorTexture:function(){return i.outputTexture}},owner:this})),this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)},PostProcessStageCollection.prototype.isDestroyed=function(){return!1},PostProcessStageCollection.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),destroyObject(this)},QuadtreeTileProvider.computeDefaultLevelZeroMaximumGeometricError=function(e){return 2*e.ellipsoid.maximumRadius*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))},Object.defineProperties(QuadtreeTileProvider.prototype,{quadtree:{get:DeveloperError.throwInstantiationError,set:DeveloperError.throwInstantiationError},ready:{get:DeveloperError.throwInstantiationError},tilingScheme:{get:DeveloperError.throwInstantiationError},errorEvent:{get:DeveloperError.throwInstantiationError}}),QuadtreeTileProvider.prototype.update=DeveloperError.throwInstantiationError,QuadtreeTileProvider.prototype.beginUpdate=DeveloperError.throwInstantiationError,QuadtreeTileProvider.prototype.endUpdate=DeveloperError.throwInstantiationError,QuadtreeTileProvider.prototype.getLevelMaximumGeometricError=DeveloperError.throwInstantiationError,QuadtreeTileProvider.prototype.loadTile=DeveloperError.throwInstantiationError,QuadtreeTileProvider.prototype.computeTileVisibility=DeveloperError.throwInstantiationError,QuadtreeTileProvider.prototype.showTileThisFrame=DeveloperError.throwInstantiationError,QuadtreeTileProvider.prototype.computeDistanceToTile=DeveloperError.throwInstantiationError,QuadtreeTileProvider.prototype.isDestroyed=DeveloperError.throwInstantiationError,QuadtreeTileProvider.prototype.destroy=DeveloperError.throwInstantiationError,SceneTransitioner.prototype.completeMorph=function(){defined(this._completeMorph)&&this._completeMorph()},SceneTransitioner.prototype.morphTo2D=function(e,t){defined(this._completeMorph)&&this._completeMorph();var i=this._scene;this._previousMode=i.mode,this._morphToOrthographic=i.camera.frustum instanceof OrthographicFrustum,this._previousMode!==SceneMode$1.SCENE2D&&this._previousMode!==SceneMode$1.MORPHING&&(this._scene.morphStart.raiseEvent(this,this._previousMode,SceneMode$1.SCENE2D,!0),i._mode=SceneMode$1.MORPHING,i.camera._setTransform(Matrix4.IDENTITY),this._previousMode===SceneMode$1.COLUMBUS_VIEW?morphFromColumbusViewTo2D(this,e):morphFrom3DTo2D(this,e,t),0===e&&defined(this._completeMorph)&&this._completeMorph())};var scratchToCVPosition=new Cartesian3,scratchToCVDirection=new Cartesian3,scratchToCVUp=new Cartesian3,scratchToCVPosition2D=new Cartesian3,scratchToCVDirection2D=new Cartesian3,scratchToCVUp2D=new Cartesian3,scratchToCVSurfacePosition=new Cartesian3,scratchToCVCartographic=new Cartographic,scratchToCVToENU=new Matrix4,scratchToCVFrustumPerspective=new PerspectiveFrustum,scratchToCVFrustumOrthographic=new OrthographicFrustum,scratchToCVCamera={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};SceneTransitioner.prototype.morphToColumbusView=function(e,t){defined(this._completeMorph)&&this._completeMorph();var i,r,n,a,o,s,l=this._scene;this._previousMode=l.mode,this._previousMode!==SceneMode$1.COLUMBUS_VIEW&&this._previousMode!==SceneMode$1.MORPHING&&(this._scene.morphStart.raiseEvent(this,this._previousMode,SceneMode$1.COLUMBUS_VIEW,!0),l.camera._setTransform(Matrix4.IDENTITY),i=scratchToCVPosition,r=scratchToCVDirection,n=scratchToCVUp,0<e?(i.x=0,i.y=-1,i.z=1,i=Cartesian3.multiplyByScalar(Cartesian3.normalize(i,i),5*t.maximumRadius,i),Cartesian3.negate(Cartesian3.normalize(i,r),r),Cartesian3.cross(Cartesian3.UNIT_X,r,n)):(a=l.camera,this._previousMode===SceneMode$1.SCENE2D?(Cartesian3.clone(a.position,i),i.z=a.frustum.right-a.frustum.left,Cartesian3.negate(Cartesian3.UNIT_Z,r),Cartesian3.clone(Cartesian3.UNIT_Y,n)):(Cartesian3.clone(a.positionWC,i),Cartesian3.clone(a.directionWC,r),Cartesian3.clone(a.upWC,n),o=t.scaleToGeodeticSurface(i,scratchToCVSurfacePosition),o=Transforms.eastNorthUpToFixedFrame(o,t,scratchToCVToENU),Matrix4.inverseTransformation(o,o),l.mapProjection.project(t.cartesianToCartographic(i,scratchToCVCartographic),i),Matrix4.multiplyByPointAsVector(o,r,r),Matrix4.multiplyByPointAsVector(o,n,n))),this._morphToOrthographic?((s=scratchToCVFrustumOrthographic).width=l.camera.frustum.right-l.camera.frustum.left,s.aspectRatio=l.drawingBufferWidth/l.drawingBufferHeight):((s=scratchToCVFrustumPerspective).aspectRatio=l.drawingBufferWidth/l.drawingBufferHeight,s.fov=CesiumMath.toRadians(60)),(o=scratchToCVCamera).position=i,o.direction=r,o.up=n,o.frustum=s,createMorphHandler(this,s=completeColumbusViewCallback(o)),this._previousMode===SceneMode$1.SCENE2D?morphFrom2DToColumbusView(this,e,o,s):(o.position2D=Matrix4.multiplyByPoint(Camera.TRANSFORM_2D,i,scratchToCVPosition2D),o.direction2D=Matrix4.multiplyByPointAsVector(Camera.TRANSFORM_2D,r,scratchToCVDirection2D),o.up2D=Matrix4.multiplyByPointAsVector(Camera.TRANSFORM_2D,n,scratchToCVUp2D),l._mode=SceneMode$1.MORPHING,morphFrom3DToColumbusView(this,e,o,s)),0===e&&defined(this._completeMorph)&&this._completeMorph())};var scratchCVTo3DCamera={position:new Cartesian3,direction:new Cartesian3,up:new Cartesian3,frustum:void 0},scratch2DTo3DFrustumPersp=new PerspectiveFrustum;function createMorphHandler(e,t){var i;e._scene.completeMorphOnUserInput&&(e._morphHandler=new ScreenSpaceEventHandler(e._scene.canvas),i=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)},e._completeMorph=i,e._morphHandler.setInputAction(i,ScreenSpaceEventType$1.LEFT_DOWN),e._morphHandler.setInputAction(i,ScreenSpaceEventType$1.MIDDLE_DOWN),e._morphHandler.setInputAction(i,ScreenSpaceEventType$1.RIGHT_DOWN),e._morphHandler.setInputAction(i,ScreenSpaceEventType$1.WHEEL))}function destroyMorphHandler(e){for(var t=e._currentTweens,i=0;i<t.length;++i)t[i].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}SceneTransitioner.prototype.morphTo3D=function(e,t){defined(this._completeMorph)&&this._completeMorph();var i,r,n=this._scene;this._previousMode=n.mode,this._previousMode!==SceneMode$1.SCENE3D&&this._previousMode!==SceneMode$1.MORPHING&&(this._scene.morphStart.raiseEvent(this,this._previousMode,SceneMode$1.SCENE3D,!0),n._mode=SceneMode$1.MORPHING,n.camera._setTransform(Matrix4.IDENTITY),this._previousMode===SceneMode$1.SCENE2D?morphFrom2DTo3D(this,e,t):(0<e?(i=scratchCVTo3DCamera,Cartesian3.fromDegrees(0,0,5*t.maximumRadius,t,i.position),Cartesian3.negate(i.position,i.direction),Cartesian3.normalize(i.direction,i.direction),Cartesian3.clone(Cartesian3.UNIT_Z,i.up)):i=getColumbusViewTo3DCamera(this,t),(t=n.camera).frustum instanceof OrthographicFrustum?r=t.frustum.clone():((r=scratch2DTo3DFrustumPersp).aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,r.fov=CesiumMath.toRadians(60)),i.frustum=r,createMorphHandler(this,r=complete3DCallback(i)),morphFromColumbusViewTo3D(this,e,i,r)),0===e&&defined(this._completeMorph)&&this._completeMorph())},SceneTransitioner.prototype.isDestroyed=function(){return!1},SceneTransitioner.prototype.destroy=function(){return destroyMorphHandler(this),destroyObject(this)};var scratchCVTo3DCartographic=new Cartographic,scratchCVTo3DSurfacePoint=new Cartesian3,scratchCVTo3DFromENU=new Matrix4;function getColumbusViewTo3DCamera(e,t){var i=e._scene,r=i.camera,n=scratchCVTo3DCamera,a=n.position,o=n.direction,e=n.up,i=i.mapProjection.unproject(r.position,scratchCVTo3DCartographic);t.cartographicToCartesian(i,a);a=t.scaleToGeodeticSurface(a,scratchCVTo3DSurfacePoint),t=Transforms.eastNorthUpToFixedFrame(a,t,scratchCVTo3DFromENU);return Matrix4.multiplyByPointAsVector(t,r.direction,o),Matrix4.multiplyByPointAsVector(t,r.up,e),n}var scratchCVTo3DStartPos=new Cartesian3,scratchCVTo3DStartDir=new Cartesian3,scratchCVTo3DStartUp=new Cartesian3,scratchCVTo3DEndPos=new Cartesian3,scratchCVTo3DEndDir=new Cartesian3,scratchCVTo3DEndUp=new Cartesian3;function morphFromColumbusViewTo3D(e,t,i,r){t*=.5;var n=e._scene,a=n.camera,o=Cartesian3.clone(a.position,scratchCVTo3DStartPos),s=Cartesian3.clone(a.direction,scratchCVTo3DStartDir),l=Cartesian3.clone(a.up,scratchCVTo3DStartUp),c=Matrix4.multiplyByPoint(Camera.TRANSFORM_2D_INVERSE,i.position,scratchCVTo3DEndPos),u=Matrix4.multiplyByPointAsVector(Camera.TRANSFORM_2D_INVERSE,i.direction,scratchCVTo3DEndDir),d=Matrix4.multiplyByPointAsVector(Camera.TRANSFORM_2D_INVERSE,i.up,scratchCVTo3DEndUp);i=n.tweens.add({duration:t,easingFunction:EasingFunction$1.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:function(e){columbusViewMorph(o,c,e.time,a.position),columbusViewMorph(s,u,e.time,a.direction),columbusViewMorph(l,d,e.time,a.up),Cartesian3.cross(a.direction,a.up,a.right),Cartesian3.normalize(a.right,a.right)},complete:function(){addMorphTimeAnimations(e,n,0,1,t,r)}});e._currentTweens.push(i)}var scratch2DTo3DFrustumOrtho=new OrthographicFrustum,scratch3DToCVStartPos=new Cartesian3,scratch3DToCVStartDir=new Cartesian3,scratch3DToCVStartUp=new Cartesian3,scratch3DToCVEndPos=new Cartesian3,scratch3DToCVEndDir=new Cartesian3,scratch3DToCVEndUp=new Cartesian3;function morphFrom2DTo3D(e,t,i){t/=3;var r,n,a=e._scene,o=a.camera;0<t?(r=scratchCVTo3DCamera,Cartesian3.fromDegrees(0,0,5*i.maximumRadius,i,r.position),Cartesian3.negate(r.position,r.direction),Cartesian3.normalize(r.direction,r.direction),Cartesian3.clone(Cartesian3.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=getColumbusViewTo3DCamera(e,i)),e._morphToOrthographic?((n=scratch2DTo3DFrustumOrtho).aspectRatio=a.drawingBufferWidth/a.drawingBufferHeight,n.width=o.frustum.right-o.frustum.left):((n=scratch2DTo3DFrustumPersp).aspectRatio=a.drawingBufferWidth/a.drawingBufferHeight,n.fov=CesiumMath.toRadians(60)),r.frustum=n;var s,l=complete3DCallback(r);createMorphHandler(e,l),s=e._morphToOrthographic?function(){morphFromColumbusViewTo3D(e,t,r,l)}:function(){morphOrthographicToPerspective(e,t,r,function(){morphFromColumbusViewTo3D(e,t,r,l)})},0<t?(a._mode=SceneMode$1.SCENE2D,o.flyTo({duration:t,destination:Cartesian3.fromDegrees(0,0,5*i.maximumRadius,i,scratch3DToCVEndPos),complete:function(){a._mode=SceneMode$1.MORPHING,s()}})):s()}function columbusViewMorph(e,t,i,r){return Cartesian3.lerp(e,t,i,r)}function morphPerspectiveToOrthographic(e,t,i,r,n){var a,o,s,l=e._scene,c=l.camera;c.frustum instanceof OrthographicFrustum||(a=c.frustum.fov,o=.5*CesiumMath.RADIANS_PER_DEGREE,s=i.position.z*Math.tan(.5*a),c.frustum.far=s/Math.tan(.5*o)+1e7,t=l.tweens.add({duration:t,easingFunction:EasingFunction$1.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:function(e){c.frustum.fov=CesiumMath.lerp(a,o,e.time),e=s/Math.tan(.5*c.frustum.fov),r(c,e)},complete:function(){c.frustum=i.frustum.clone(),n(e)}}),e._currentTweens.push(t))}var scratchCVTo2DStartPos=new Cartesian3,scratchCVTo2DStartDir=new Cartesian3,scratchCVTo2DStartUp=new Cartesian3,scratchCVTo2DEndPos=new Cartesian3,scratchCVTo2DEndDir=new Cartesian3,scratchCVTo2DEndUp=new Cartesian3,scratchCVTo2DFrustum=new OrthographicOffCenterFrustum,scratchCVTo2DRay=new Ray,scratchCVTo2DPickPos=new Cartesian3,scratchCVTo2DCamera={position:void 0,direction:void 0,up:void 0,frustum:void 0};function morphFromColumbusViewTo2D(e,t){t*=.5;var i,r,n=e._scene,a=n.camera,o=Cartesian3.clone(a.position,scratchCVTo2DStartPos),s=Cartesian3.clone(a.direction,scratchCVTo2DStartDir),l=Cartesian3.clone(a.up,scratchCVTo2DStartUp),c=Cartesian3.negate(Cartesian3.UNIT_Z,scratchCVTo2DEndDir),u=Cartesian3.clone(Cartesian3.UNIT_Y,scratchCVTo2DEndUp),d=scratchCVTo2DEndPos;0<t?(Cartesian3.clone(Cartesian3.ZERO,scratchCVTo2DEndPos),d.z=5*n.mapProjection.ellipsoid.maximumRadius):(Cartesian3.clone(o,scratchCVTo2DEndPos),i=scratchCVTo2DRay,Matrix4.multiplyByPoint(Camera.TRANSFORM_2D,o,i.origin),Matrix4.multiplyByPointAsVector(Camera.TRANSFORM_2D,s,i.direction),!defined(r=n.globe)||defined(h=r.pickWorldCoordinates(i,n,!0,scratchCVTo2DPickPos))&&(Matrix4.multiplyByPoint(Camera.TRANSFORM_2D_INVERSE,h,d),d.z+=Cartesian3.distance(o,d)));var h=scratchCVTo2DFrustum;h.right=.5*d.z,h.left=-h.right,h.top=h.right*(n.drawingBufferHeight/n.drawingBufferWidth),h.bottom=-h.top;var p=scratchCVTo2DCamera;p.position=d,p.direction=c,p.up=u,p.frustum=h;var m=complete2DCallback(p);function f(e,t){e.position.z=t}createMorphHandler(e,m);n=n.tweens.add({duration:t,easingFunction:EasingFunction$1.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:function(e){columbusViewMorph(o,d,e.time,a.position),columbusViewMorph(s,c,e.time,a.direction),columbusViewMorph(l,u,e.time,a.up),Cartesian3.cross(a.direction,a.up,a.right),Cartesian3.normalize(a.right,a.right),a._adjustOrthographicFrustum(!0)},complete:function(){morphPerspectiveToOrthographic(e,t,p,f,m)}});e._currentTweens.push(n)}var scratch3DTo2DCartographic=new Cartographic,scratch3DTo2DCamera={position:new Cartesian3,direction:new Cartesian3,up:new Cartesian3,position2D:new Cartesian3,direction2D:new Cartesian3,up2D:new Cartesian3,frustum:new OrthographicOffCenterFrustum},scratch3DTo2DEndCamera={position:new Cartesian3,direction:new Cartesian3,up:new Cartesian3,frustum:void 0},scratch3DTo2DPickPosition=new Cartesian3,scratch3DTo2DRay=new Ray,scratch3DTo2DToENU=new Matrix4,scratch3DTo2DSurfacePoint=new Cartesian3;function morphFrom3DTo2D(e,t,i){t*=.5;var r,n,a=e._scene,o=a.camera,s=scratch3DTo2DCamera;function l(e,t){e.position.x=t}0<t?(Cartesian3.clone(Cartesian3.ZERO,s.position),s.position.z=5*i.maximumRadius,Cartesian3.negate(Cartesian3.UNIT_Z,s.direction),Cartesian3.clone(Cartesian3.UNIT_Y,s.up)):(i.cartesianToCartographic(o.positionWC,scratch3DTo2DCartographic),a.mapProjection.project(scratch3DTo2DCartographic,s.position),Cartesian3.negate(Cartesian3.UNIT_Z,s.direction),Cartesian3.clone(Cartesian3.UNIT_Y,s.up),n=scratch3DTo2DRay,Cartesian3.clone(s.position2D,n.origin),r=Cartesian3.clone(o.directionWC,n.direction),o=i.scaleToGeodeticSurface(o.positionWC,scratch3DTo2DSurfacePoint),i=Transforms.eastNorthUpToFixedFrame(o,i,scratch3DTo2DToENU),Matrix4.inverseTransformation(i,i),Matrix4.multiplyByPointAsVector(i,r,r),Matrix4.multiplyByPointAsVector(Camera.TRANSFORM_2D,r,r),!defined(r=a.globe)||defined(c=r.pickWorldCoordinates(n,a,!0,scratch3DTo2DPickPosition))&&(n=Cartesian3.distance(s.position2D,c),c.x+=n,Cartesian3.clone(c,s.position2D))),Matrix4.multiplyByPoint(Camera.TRANSFORM_2D,s.position,s.position2D),Matrix4.multiplyByPointAsVector(Camera.TRANSFORM_2D,s.direction,s.direction2D),Matrix4.multiplyByPointAsVector(Camera.TRANSFORM_2D,s.up,s.up2D);var c=s.frustum;c.right=.5*s.position.z,c.left=-c.right,c.top=c.right*(a.drawingBufferHeight/a.drawingBufferWidth),c.bottom=-c.top;a=scratch3DTo2DEndCamera;Matrix4.multiplyByPoint(Camera.TRANSFORM_2D_INVERSE,s.position2D,a.position),Cartesian3.clone(s.direction,a.direction),Cartesian3.clone(s.up,a.up),a.frustum=c;var u=complete2DCallback(a);createMorphHandler(e,u),morphFrom3DToColumbusView(e,t,s,function(){morphPerspectiveToOrthographic(e,t,s,l,u)})}function morphOrthographicToPerspective(e,t,i,r){var n=e._scene,a=n.camera,o=a.frustum.right-a.frustum.left;a.frustum=i.frustum.clone();var s=a.frustum.fov,l=.5*CesiumMath.RADIANS_PER_DEGREE,c=o*Math.tan(.5*s);a.frustum.far=c/Math.tan(.5*l)+1e7,a.frustum.fov=l;t=n.tweens.add({duration:t,easingFunction:EasingFunction$1.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:function(e){a.frustum.fov=CesiumMath.lerp(l,s,e.time),a.position.z=c/Math.tan(.5*a.frustum.fov)},complete:function(){r(e)}});e._currentTweens.push(t)}function morphFrom2DToColumbusView(n,a,o,s){a*=.5;var l=n._scene,c=l.camera,u=Cartesian3.clone(o.position,scratch3DToCVEndPos),d=Cartesian3.clone(o.direction,scratch3DToCVEndDir),h=Cartesian3.clone(o.up,scratch3DToCVEndUp);function e(){c.frustum=o.frustum.clone();var t=Cartesian3.clone(c.position,scratch3DToCVStartPos),i=Cartesian3.clone(c.direction,scratch3DToCVStartDir),r=Cartesian3.clone(c.up,scratch3DToCVStartUp);t.z=u.z;var e=l.tweens.add({duration:a,easingFunction:EasingFunction$1.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:function(e){columbusViewMorph(t,u,e.time,c.position),columbusViewMorph(i,d,e.time,c.direction),columbusViewMorph(r,h,e.time,c.up),Cartesian3.cross(c.direction,c.up,c.right),Cartesian3.normalize(c.right,c.right)},complete:function(){s(n)}});n._currentTweens.push(e)}l._mode=SceneMode$1.MORPHING,n._morphToOrthographic?e():morphOrthographicToPerspective(n,0,o,e)}function morphFrom3DToColumbusView(e,t,i,r){var n=e._scene,a=n.camera,o=Cartesian3.clone(a.position,scratch3DToCVStartPos),s=Cartesian3.clone(a.direction,scratch3DToCVStartDir),l=Cartesian3.clone(a.up,scratch3DToCVStartUp),c=Cartesian3.clone(i.position2D,scratch3DToCVEndPos),u=Cartesian3.clone(i.direction2D,scratch3DToCVEndDir),d=Cartesian3.clone(i.up2D,scratch3DToCVEndUp);i=n.tweens.add({duration:t,easingFunction:EasingFunction$1.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:function(e){columbusViewMorph(o,c,e.time,a.position),columbusViewMorph(s,u,e.time,a.direction),columbusViewMorph(l,d,e.time,a.up),Cartesian3.cross(a.direction,a.up,a.right),Cartesian3.normalize(a.right,a.right),a._adjustOrthographicFrustum(!0)},complete:function(){addMorphTimeAnimations(e,n,1,0,t,r)}});e._currentTweens.push(i)}function addMorphTimeAnimations(e,t,i,r,n,a){n={object:t,property:"morphTime",startValue:i,stopValue:r,duration:n,easingFunction:EasingFunction$1.QUARTIC_OUT};defined(a)&&(n.complete=function(){a(e)});n=t.tweens.addProperty(n);e._currentTweens.push(n)}function complete3DCallback(r){return function(e){var t=e._scene;t._mode=SceneMode$1.SCENE3D,t.morphTime=SceneMode$1.getMorphTime(SceneMode$1.SCENE3D),destroyMorphHandler(e);var i=t.camera;e._previousMode===SceneMode$1.MORPHING&&!e._morphCancelled||(e._morphCancelled=!1,Cartesian3.clone(r.position,i.position),Cartesian3.clone(r.direction,i.direction),Cartesian3.clone(r.up,i.up),Cartesian3.cross(i.direction,i.up,i.right),Cartesian3.normalize(i.right,i.right),i.frustum=r.frustum.clone());i=i.frustum;t.frameState.useLogDepth&&(i.near=.1,i.far=1e10);i=defined(e._completeMorph);e._completeMorph=void 0,t.camera.update(t.mode),e._scene.morphComplete.raiseEvent(e,e._previousMode,SceneMode$1.SCENE3D,i)}}function complete2DCallback(r){return function(e){var t=e._scene;t._mode=SceneMode$1.SCENE2D,t.morphTime=SceneMode$1.getMorphTime(SceneMode$1.SCENE2D),destroyMorphHandler(e);var i=t.camera;Cartesian3.clone(r.position,i.position),i.position.z=2*t.mapProjection.ellipsoid.maximumRadius,Cartesian3.clone(r.direction,i.direction),Cartesian3.clone(r.up,i.up),Cartesian3.cross(i.direction,i.up,i.right),Cartesian3.normalize(i.right,i.right),i.frustum=r.frustum.clone();i=defined(e._completeMorph);e._completeMorph=void 0,t.camera.update(t.mode),e._scene.morphComplete.raiseEvent(e,e._previousMode,SceneMode$1.SCENE2D,i)}}function completeColumbusViewCallback(r){return function(e){var t=e._scene;t._mode=SceneMode$1.COLUMBUS_VIEW,t.morphTime=SceneMode$1.getMorphTime(SceneMode$1.COLUMBUS_VIEW),destroyMorphHandler(e);var i=t.camera;e._previousModeMode===SceneMode$1.MORPHING&&!e._morphCancelled||(e._morphCancelled=!1,Cartesian3.clone(r.position,i.position),Cartesian3.clone(r.direction,i.direction),Cartesian3.clone(r.up,i.up),Cartesian3.cross(i.direction,i.up,i.right),Cartesian3.normalize(i.right,i.right));i=i.frustum;t.frameState.useLogDepth&&(i.near=.1,i.far=1e10);i=defined(e._completeMorph);e._completeMorph=void 0,t.camera.update(t.mode),e._scene.morphComplete.raiseEvent(e,e._previousMode,SceneMode$1.COLUMBUS_VIEW,i)}}function Tween(e,t,i,r,n,a,o,s,l,c){this._tweens=e,this._tweenjs=t,this._startObject=clone(i),this._stopObject=clone(r),this._duration=n,this._delay=a,this._easingFunction=o,this._update=s,this._complete=l,this.cancel=c,this.needsStart=!0}function TweenCollection(){this._tweens=[]}function ScreenSpaceCameraController(e){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.translateEventTypes=CameraEventType$1.LEFT_DRAG,this.zoomEventTypes=[CameraEventType$1.RIGHT_DRAG,CameraEventType$1.WHEEL,CameraEventType$1.PINCH],this.rotateEventTypes=CameraEventType$1.LEFT_DRAG,this.tiltEventTypes=[CameraEventType$1.MIDDLE_DRAG,CameraEventType$1.PINCH,{eventType:CameraEventType$1.LEFT_DRAG,modifier:KeyboardEventModifier$1.CTRL},{eventType:CameraEventType$1.RIGHT_DRAG,modifier:KeyboardEventModifier$1.CTRL}],this.lookEventTypes={eventType:CameraEventType$1.LEFT_DRAG,modifier:KeyboardEventModifier$1.SHIFT},this.minimumPickingTerrainHeight=15e4,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumCollisionTerrainHeight=15e3,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=75e5,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this._scene=e,this._globe=void 0,this._ellipsoid=void 0,this._aggregator=new CameraEventAggregator(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new TweenCollection,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new Cartesian2(-1,-1),this._tiltCenter=new Cartesian3,this._rotateMousePosition=new Cartesian2(-1,-1),this._rotateStartPosition=new Cartesian3,this._strafeStartPosition=new Cartesian3,this._strafeMousePosition=new Cartesian2,this._strafeEndMousePosition=new Cartesian2,this._zoomMouseStart=new Cartesian2(-1,-1),this._zoomWorldPosition=new Cartesian3,this._useZoomWorldPosition=!1,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;e=e.mapProjection;this._maxCoord=e.project(new Cartographic(Math.PI,CesiumMath.PI_OVER_TWO)),this._zoomFactor=5,this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=2e-4,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function decay(e,t){if(e<0)return 0;t=25*(1-t);return Math.exp(-t*e)}function sameMousePosition(e){return Cartesian2.equalsEpsilon(e.startPosition,e.endPosition,CesiumMath.EPSILON14)}Object.defineProperties(Tween.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}}),Tween.prototype.cancelTween=function(){this._tweens.remove(this)},Object.defineProperties(TweenCollection.prototype,{length:{get:function(){return this._tweens.length}}}),TweenCollection.prototype.add=function(e){if(0===(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).duration)return defined(e.complete)&&e.complete(),new Tween(this);var t=e.duration/TimeConstants$1.SECONDS_PER_MILLISECOND,i=defaultValue(e.delay,0),r=i/TimeConstants$1.SECONDS_PER_MILLISECOND,n=defaultValue(e.easingFunction,EasingFunction$1.LINEAR_NONE),a=e.startObject,o=new TWEEN.Tween(a);o.to(clone(e.stopObject),t),o.delay(r),o.easing(n),defined(e.update)&&o.onUpdate(function(){e.update(a)}),o.onComplete(defaultValue(e.complete,null)),o.repeat(defaultValue(e._repeat,0));n=new Tween(this,o,e.startObject,e.stopObject,e.duration,i,n,e.update,e.complete,e.cancel);return this._tweens.push(n),n},TweenCollection.prototype.addProperty=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).object,i=e.property,r=e.startValue,n=e.stopValue;return this.add({startObject:{value:r},stopObject:{value:n},duration:defaultValue(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:function(e){t[i]=e.value},complete:e.complete,cancel:e.cancel,_repeat:e._repeat})},TweenCollection.prototype.addAlpha=function(e){var t,r=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).material,n=[];for(t in r.uniforms)r.uniforms.hasOwnProperty(t)&&defined(r.uniforms[t])&&defined(r.uniforms[t].alpha)&&n.push(t);return this.add({startObject:{alpha:defaultValue(e.startValue,0)},stopObject:{alpha:defaultValue(e.stopValue,1)},duration:defaultValue(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:function(e){for(var t=n.length,i=0;i<t;++i)r.uniforms[n[i]].alpha=e.alpha},complete:e.complete,cancel:e.cancel})},TweenCollection.prototype.addOffsetIncrement=function(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).material.uniforms;return this.addProperty({object:t,property:"offset",startValue:t.offset,stopValue:t.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})},TweenCollection.prototype.remove=function(e){if(!defined(e))return!1;var t=this._tweens.indexOf(e);return-1!==t&&(e.tweenjs.stop(),defined(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0)},TweenCollection.prototype.removeAll=function(){for(var e=this._tweens,t=0;t<e.length;++t){var i=e[t];i.tweenjs.stop(),defined(i.cancel)&&i.cancel()}e.length=0},TweenCollection.prototype.contains=function(e){return defined(e)&&-1!==this._tweens.indexOf(e)},TweenCollection.prototype.get=function(e){return this._tweens[e]},TweenCollection.prototype.update=function(e){var t=this._tweens,i=0;for(e=defined(e)?e/TimeConstants$1.SECONDS_PER_MILLISECOND:getTimestamp$1();i<t.length;){var r=t[i],n=r.tweenjs;r.needsStart?(r.needsStart=!1,n.start(e)):n.update(e)?i++:(n.stop(),t.splice(i,1))}};var inertiaMaxClickTimeThreshold=.4;function maintainInertia(e,t,i,r,n,a,o){var s=a[o];defined(s)||(s=a[o]={startPosition:new Cartesian2,endPosition:new Cartesian2,motion:new Cartesian2,inertiaEnabled:!0});var l=e.getButtonPressTime(t,i),c=e.getButtonReleaseTime(t,i),u=l&&c&&(c.getTime()-l.getTime())/1e3,o=new Date,o=c&&(o.getTime()-c.getTime())/1e3;l&&c&&u<inertiaMaxClickTimeThreshold&&(o=decay(o,r),defined(r=e.getLastMovement(t,i))&&!sameMousePosition(r)&&s.inertiaEnabled&&(s.motion.x=.5*(r.endPosition.x-r.startPosition.x),s.motion.y=.5*(r.endPosition.y-r.startPosition.y),s.startPosition=Cartesian2.clone(r.startPosition,s.startPosition),s.endPosition=Cartesian2.multiplyByScalar(s.motion,o,s.endPosition),s.endPosition=Cartesian2.add(s.startPosition,s.endPosition,s.endPosition),isNaN(s.endPosition.x)||isNaN(s.endPosition.y)||Cartesian2.distance(s.startPosition,s.endPosition)<.5||e.isButtonDown(t,i)||n(a,e.getStartMousePosition(t,i),s)))}function activateInertia(e,t){if(defined(t)){var i=e[t];defined(i)&&(i.inertiaEnabled=!0);var r=e._inertiaDisablers[t];if(defined(r))for(var n=r.length,a=0;a<n;++a)defined(i=e[r[a]])&&(i.inertiaEnabled=!1)}}var scratchEventTypeArray=[];function reactToInput(e,t,i,r,n,a){if(defined(i)){var o=e._aggregator;Array.isArray(i)||(scratchEventTypeArray[0]=i,i=scratchEventTypeArray);for(var s=i.length,l=0;l<s;++l){var c=i[l],u=defined(c.eventType)?c.eventType:c,d=c.modifier,h=o.isMoving(u,d)&&o.getMovement(u,d),c=o.getStartMousePosition(u,d);e.enableInputs&&t&&(h?(r(e,c,h),activateInertia(e,a)):n<1&&maintainInertia(o,u,d,n,r,e,a))}}}var scratchZoomPickRay=new Ray,scratchPickCartesian=new Cartesian3,scratchZoomOffset=new Cartesian2,scratchZoomDirection=new Cartesian3,scratchCenterPixel=new Cartesian2,scratchCenterPosition=new Cartesian3,scratchPositionNormal$2=new Cartesian3,scratchPickNormal=new Cartesian3,scratchZoomAxis=new Cartesian3,scratchCameraPositionNormal=new Cartesian3,scratchTargetNormal=new Cartesian3,scratchCameraPosition$1=new Cartesian3,scratchCameraUpNormal=new Cartesian3,scratchCameraRightNormal=new Cartesian3,scratchForwardNormal=new Cartesian3,scratchPositionToTarget=new Cartesian3,scratchPositionToTargetNormal=new Cartesian3,scratchPan=new Cartesian3,scratchCenterMovement=new Cartesian3,scratchCenter$6=new Cartesian3,scratchCartesian$9=new Cartesian3,scratchCartesianTwo=new Cartesian3,scratchCartesianThree=new Cartesian3,scratchZoomViewOptions={orientation:new HeadingPitchRoll};function handleZoom(e,t,i,r,n,a){var o=1;defined(a)&&(o=CesiumMath.clamp(Math.abs(a),.25,1));var s=e.minimumZoomDistance*o,l=e.maximumZoomDistance,c=r*(n-s),c=CesiumMath.clamp(c,e._minimumZoomRate,e._maximumZoomRate),a=(i.endPosition.y-i.startPosition.y)/e._scene.canvas.clientHeight,o=c*(a=Math.min(a,e.maximumMovementRatio));if(e.enableCollisionDetection||0===e.minimumZoomDistance||!defined(e._globe)){if(0<o&&Math.abs(n-s)<1)return;if(o<0&&Math.abs(n-l)<1)return;n-o<s?o=n-s-1:l<n-o&&(o=n-l)}r=e._scene,i=r.camera,c=r.mode,a=scratchZoomViewOptions.orientation;if(a.heading=i.heading,a.pitch=i.pitch,a.roll=i.roll,i.frustum instanceof OrthographicFrustum)0<Math.abs(o)&&(i.zoomIn(o),i._adjustOrthographicFrustum());else{s=Cartesian2.equals(t,e._zoomMouseStart),n=e._zoomingOnVector,l=e._rotatingZoom;if(s||(e._zoomMouseStart=Cartesian2.clone(t,e._zoomMouseStart),defined(e._globe)&&(_=c===SceneMode$1.SCENE2D?(_=i.getPickRay(t,scratchZoomPickRay).origin,Cartesian3.fromElements(_.y,_.z,_.x)):pickGlobe(e,t,scratchPickCartesian)),defined(_)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=Cartesian3.clone(_,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,n=e._zoomingOnVector=!1,l=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),e._useZoomWorldPosition){a=c===SceneMode$1.COLUMBUS_VIEW;if(i.positionCartographic.height<2e6&&(l=!0),!s||l){if(c===SceneMode$1.SCENE2D){var u=e._zoomWorldPosition,d=i.position;!Cartesian3.equals(u,d)&&i.positionCartographic.height<2*e._maxCoord.x&&(f=i.position.x,h=Cartesian3.subtract(u,d,scratchZoomDirection),Cartesian3.normalize(h,h),m=Cartesian3.distance(u,d)*o/(.5*i.getMagnitude()),i.move(h,.5*m),(i.position.x<0&&0<f||0<i.position.x&&f<0)&&(_=i.getPickRay(t,scratchZoomPickRay).origin,_=Cartesian3.fromElements(_.y,_.z,_.x),e._zoomWorldPosition=Cartesian3.clone(_,e._zoomWorldPosition)))}else if(c===SceneMode$1.SCENE3D){l=Cartesian3.normalize(i.position,scratchCameraPositionNormal);if(e._cameraUnderground||e._zoomingUnderground||i.positionCartographic.height<3e3&&Math.abs(Cartesian3.dot(i.direction,l))<.6)a=!0;else{u=r.canvas,d=scratchCenterPixel;d.x=u.clientWidth/2,d.y=u.clientHeight/2;var h=pickGlobe(e,d,scratchCenterPosition);if(defined(h))if(i.positionCartographic.height<1e6){if(!(-.5<=Cartesian3.dot(i.direction,l))){var p=scratchCameraPosition$1;Cartesian3.clone(i.position,p);var m=e._zoomWorldPosition,f=scratchTargetNormal,f=Cartesian3.normalize(m,f);if(Cartesian3.dot(f,l)<0)return;var g=scratchCenter$6,_=scratchForwardNormal;Cartesian3.clone(i.direction,_),Cartesian3.add(p,Cartesian3.multiplyByScalar(_,1e3,scratchCartesian$9),g);u=scratchPositionToTarget,d=scratchPositionToTargetNormal;Cartesian3.subtract(m,p,u),Cartesian3.normalize(u,d);f=Cartesian3.dot(l,d);if(0<=f)return void(e._zoomMouseStart.x=-1);l=Math.acos(-f),f=Cartesian3.magnitude(p),m=Cartesian3.magnitude(m),f=f-o,u=Cartesian3.magnitude(u),u=Math.asin(CesiumMath.clamp(u/m*Math.sin(l),-1,1))-Math.asin(CesiumMath.clamp(f/m*Math.sin(l),-1,1))+l,m=scratchCameraUpNormal;Cartesian3.normalize(p,m);l=scratchCameraRightNormal,l=Cartesian3.cross(d,m,l);l=Cartesian3.normalize(l,l),Cartesian3.normalize(Cartesian3.cross(m,l,scratchCartesian$9),_),Cartesian3.multiplyByScalar(Cartesian3.normalize(g,scratchCartesian$9),Cartesian3.magnitude(g)-o,g),Cartesian3.normalize(p,p),Cartesian3.multiplyByScalar(p,f,p);d=scratchPan;Cartesian3.multiplyByScalar(Cartesian3.add(Cartesian3.multiplyByScalar(m,Math.cos(u)-1,scratchCartesianTwo),Cartesian3.multiplyByScalar(_,Math.sin(u),scratchCartesianThree),scratchCartesian$9),f,d),Cartesian3.add(p,d,p),Cartesian3.normalize(g,m),Cartesian3.normalize(Cartesian3.cross(m,l,scratchCartesian$9),_);l=scratchCenterMovement;return Cartesian3.multiplyByScalar(Cartesian3.add(Cartesian3.multiplyByScalar(m,Math.cos(u)-1,scratchCartesianTwo),Cartesian3.multiplyByScalar(_,Math.sin(u),scratchCartesianThree),scratchCartesian$9),Cartesian3.magnitude(g),l),Cartesian3.add(g,l,g),Cartesian3.clone(p,i.position),Cartesian3.normalize(Cartesian3.subtract(g,p,scratchCartesian$9),i.direction),Cartesian3.clone(i.direction,i.direction),Cartesian3.cross(i.direction,i.up,i.right),Cartesian3.cross(i.right,i.direction,i.up),void i.setView(scratchZoomViewOptions)}a=!0}else{g=Cartesian3.normalize(h,scratchPositionNormal$2),p=Cartesian3.normalize(e._zoomWorldPosition,scratchPickNormal),h=Cartesian3.dot(p,g);0<h&&h<1&&(h=CesiumMath.acosClamped(h),p=Cartesian3.cross(p,g,scratchZoomAxis),g=o/(Math.abs(h)>CesiumMath.toRadians(20)?.75*i.positionCartographic.height:i.positionCartographic.height-o),i.rotate(p,h*g))}else a=!0}}e._rotatingZoom=!a}!s&&a||n?(r=SceneTransforms.wgs84ToWindowCoordinates(r,e._zoomWorldPosition,scratchZoomOffset),t=(c!==SceneMode$1.COLUMBUS_VIEW&&Cartesian2.equals(t,e._zoomMouseStart)&&defined(r)?i.getPickRay(r,scratchZoomPickRay):i.getPickRay(t,scratchZoomPickRay)).direction,c!==SceneMode$1.COLUMBUS_VIEW&&c!==SceneMode$1.SCENE2D||Cartesian3.fromElements(t.y,t.z,t.x,t),i.move(t,o),e._zoomingOnVector=!0):i.zoomIn(o),e._cameraUnderground||i.setView(scratchZoomViewOptions)}else i.zoomIn(o)}}var translate2DStart=new Ray,translate2DEnd=new Ray,scratchTranslateP0=new Cartesian3;function translate2D(e,t,i){var r=e._scene.camera,e=r.getPickRay(i.startPosition,translate2DStart).origin,i=r.getPickRay(i.endPosition,translate2DEnd).origin,e=Cartesian3.fromElements(e.y,e.z,e.x,e),i=Cartesian3.fromElements(i.y,i.z,i.x,i),e=Cartesian3.subtract(e,i,scratchTranslateP0),i=Cartesian3.magnitude(e);0<i&&(Cartesian3.normalize(e,e),r.move(e,i))}function zoom2D$1(e,t,i){defined(i.distance)&&(i=i.distance);var r=e._scene.camera;handleZoom(e,t,i,e._zoomFactor,r.getMagnitude())}var twist2DStart=new Cartesian2,twist2DEnd=new Cartesian2;function twist2D(e,t,i){var r,n,a;defined(i.angleAndHeight)?singleAxisTwist2D(e,t,i.angleAndHeight):(r=(a=e._scene).camera,t=(n=a.canvas).clientWidth,e=n.clientHeight,(a=twist2DStart).x=2/t*i.startPosition.x-1,a.y=2/e*(e-i.startPosition.y)-1,a=Cartesian2.normalize(a,a),(n=twist2DEnd).x=2/t*i.endPosition.x-1,n.y=2/e*(e-i.endPosition.y)-1,n=Cartesian2.normalize(n,n),i=CesiumMath.acosClamped(a.x),a.y<0&&(i=CesiumMath.TWO_PI-i),a=CesiumMath.acosClamped(n.x),n.y<0&&(a=CesiumMath.TWO_PI-a),i=a-i,r.twistRight(i))}function singleAxisTwist2D(e,t,i){var r=e._rotateFactor*e._rotateRateRangeAdjustment;r>e._maximumRotateRate&&(r=e._maximumRotateRate),r<e._minimumRotateRate&&(r=e._minimumRotateRate);var n=e._scene,a=n.camera,n=n.canvas,n=(i.endPosition.x-i.startPosition.x)/n.clientWidth,n=r*(n=Math.min(n,e.maximumMovementRatio))*Math.PI*4;a.twistRight(n)}function update2D(e){var t=e._scene.mapMode2D===MapMode2D$1.ROTATE;Matrix4.equals(Matrix4.IDENTITY,e._scene.camera.transform)?(reactToInput(e,e.enableTranslate,e.translateEventTypes,translate2D,e.inertiaTranslate,"_lastInertiaTranslateMovement"),reactToInput(e,e.enableZoom,e.zoomEventTypes,zoom2D$1,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&reactToInput(e,e.enableRotate,e.tiltEventTypes,twist2D,e.inertiaSpin,"_lastInertiaTiltMovement")):(reactToInput(e,e.enableZoom,e.zoomEventTypes,zoom2D$1,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&reactToInput(e,e.enableRotate,e.translateEventTypes,twist2D,e.inertiaSpin,"_lastInertiaSpinMovement"))}var pickGlobeScratchRay=new Ray,scratchDepthIntersection$1=new Cartesian3,scratchRayIntersection$1=new Cartesian3;function pickGlobe(e,t,i){var r=e._scene,n=e._globe,a=r.camera;if(defined(n)){var o,e=!e._cameraUnderground;r.pickPositionSupported&&(o=r.pickPositionWorldCoordinates(t,scratchDepthIntersection$1));t=a.getPickRay(t,pickGlobeScratchRay),e=n.pickWorldCoordinates(t,r,e,scratchRayIntersection$1);return(defined(o)?Cartesian3.distance(o,a.positionWC):Number.POSITIVE_INFINITY)<(defined(e)?Cartesian3.distance(e,a.positionWC):Number.POSITIVE_INFINITY)?Cartesian3.clone(o,i):Cartesian3.clone(e,i)}}var scratchDistanceCartographic=new Cartographic;function getDistanceFromSurface(e){var t=e._ellipsoid,i=e._scene,r=i.camera,n=0;i.mode===SceneMode$1.SCENE3D?defined(t=t.cartesianToCartographic(r.position,scratchDistanceCartographic))&&(n=t.height):n=r.position.z;e=defaultValue(e._scene.globeHeight,0);return Math.abs(e-n)}var scratchSurfaceNormal$1=new Cartesian3;function getZoomDistanceUnderground(e,t){var i=t.origin,t=t.direction,e=getDistanceFromSurface(e),i=Cartesian3.normalize(i,scratchSurfaceNormal$1),t=Math.abs(Cartesian3.dot(i,t));return e*(t=2*Math.max(t,.5))}function getTiltCenterUnderground(e,t,i,r){var n=Cartesian3.distance(t.origin,i),i=getDistanceFromSurface(e);return CesiumMath.clamp(5*i,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance)<n&&(n=Math.min(n,i/5),n=Math.max(n,100)),Ray.getPoint(t,n,r)}function getStrafeStartPositionUnderground(e,t,i,r){var n;return(!defined(i)||(n=Cartesian3.distance(t.origin,i))>e._maximumUndergroundPickDistance)&&(n=getDistanceFromSurface(e)),Ray.getPoint(t,n,r)}var scratchInertialDelta=new Cartesian2;function continueStrafing(e,t){var i=t.endPosition,r=Cartesian2.subtract(t.endPosition,t.startPosition,scratchInertialDelta),n=e._strafeEndMousePosition;Cartesian2.add(n,r,n),t.endPosition=n,strafe(e,t,e._strafeStartPosition),t.endPosition=i}var translateCVStartRay=new Ray,translateCVEndRay=new Ray,translateCVStartPos=new Cartesian3,translateCVEndPos=new Cartesian3,translateCVDifference=new Cartesian3,translateCVOrigin=new Cartesian3,translateCVPlane=new Plane(Cartesian3.UNIT_X,0),translateCVStartMouse=new Cartesian2,translateCVEndMouse=new Cartesian2;function translateCV(e,t,i){if(Cartesian3.equals(t,e._translateMousePosition)||(e._looking=!1),Cartesian3.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking)look3D(e,t,i);else if(e._strafing)continueStrafing(e,i);else{var r,n=e._scene.camera,a=e._cameraUnderground,o=Cartesian2.clone(i.startPosition,translateCVStartMouse),s=Cartesian2.clone(i.endPosition,translateCVEndMouse),l=n.getPickRay(o,translateCVStartRay),c=Cartesian3.clone(Cartesian3.ZERO,translateCVOrigin),u=Cartesian3.UNIT_X;if(n.position.z<e._minimumPickingTerrainHeight&&defined(r=pickGlobe(e,o,translateCVStartPos))&&(c.x=r.x),a||c.x>n.position.z&&defined(r)){var d=r;return a&&(d=getStrafeStartPositionUnderground(e,l,r,translateCVStartPos)),Cartesian2.clone(t,e._strafeMousePosition),Cartesian2.clone(t,e._strafeEndMousePosition),Cartesian3.clone(d,e._strafeStartPosition),e._strafing=!0,void strafe(e,i,e._strafeStartPosition)}u=Plane.fromPointNormal(c,u,translateCVPlane),l=n.getPickRay(o,translateCVStartRay),l=IntersectionTests.rayPlane(l,u,translateCVStartPos),s=n.getPickRay(s,translateCVEndRay),u=IntersectionTests.rayPlane(s,u,translateCVEndPos);if(!defined(l)||!defined(u))return e._looking=!0,look3D(e,t,i),void Cartesian2.clone(t,e._translateMousePosition);l=Cartesian3.subtract(l,u,translateCVDifference),u=l.x;l.x=l.y,l.y=l.z,l.z=u;u=Cartesian3.magnitude(l);u>CesiumMath.EPSILON6&&(Cartesian3.normalize(l,l),n.move(l,u))}}var rotateCVWindowPos=new Cartesian2,rotateCVWindowRay=new Ray,rotateCVCenter=new Cartesian3,rotateCVVerticalCenter=new Cartesian3,rotateCVTransform=new Matrix4,rotateCVVerticalTransform=new Matrix4,rotateCVOrigin=new Cartesian3,rotateCVPlane=new Plane(Cartesian3.UNIT_X,0),rotateCVCartesian3=new Cartesian3,rotateCVCart=new Cartographic,rotateCVOldTransform=new Matrix4,rotateCVQuaternion=new Quaternion,rotateCVMatrix=new Matrix3,tilt3DCartesian3=new Cartesian3;function rotateCV(e,t,i){var r;defined(i.angleAndHeight)&&(i=i.angleAndHeight),Cartesian2.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking?look3D(e,t,i):(r=e._scene.camera,e._tiltCVOffMap||!e.onMap()||Math.abs(r.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,rotateCVOnPlane(e,t,i)):rotateCVOnTerrain(e,t,i))}function rotateCVOnPlane(e,t,i){var r=e._scene,n=r.camera,a=r.canvas,o=rotateCVWindowPos;o.x=a.clientWidth/2,o.y=a.clientHeight/2;var s=n.getPickRay(o,rotateCVWindowRay),l=Cartesian3.UNIT_X,a=s.origin,o=s.direction,s=Cartesian3.dot(l,o);if(Math.abs(s)>CesiumMath.EPSILON6&&(c=-Cartesian3.dot(l,a)/s),!defined(c)||c<=0)return e._looking=!0,look3D(e,t,i),void Cartesian2.clone(t,e._tiltCenterMousePosition);o=Cartesian3.multiplyByScalar(o,c,rotateCVCenter);Cartesian3.add(a,o,o);var c=r.mapProjection,a=c.ellipsoid;Cartesian3.fromElements(o.y,o.z,o.x,o);r=c.unproject(o,rotateCVCart);a.cartographicToCartesian(r,o);c=Transforms.eastNorthUpToFixedFrame(o,a,rotateCVTransform),r=e._globe,o=e._ellipsoid;e._globe=void 0,e._ellipsoid=Ellipsoid.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;a=Matrix4.clone(n.transform,rotateCVOldTransform);n._setTransform(c),rotate3D(e,t,i,Cartesian3.UNIT_Z),n._setTransform(a),e._globe=r;o=(e._ellipsoid=o).maximumRadius;e._rotateFactor=1/o,e._rotateRateRangeAdjustment=o}function rotateCVOnTerrain(e,t,i){var r=e._scene,n=r.camera,a=e._cameraUnderground,o=Cartesian3.UNIT_X;if(Cartesian2.equals(t,e._tiltCenterMousePosition))h=Cartesian3.clone(e._tiltCenter,rotateCVCenter);else{if(n.position.z<e._minimumPickingTerrainHeight&&(h=pickGlobe(e,t,rotateCVCenter)),!defined(h)){var s=(d=n.getPickRay(t,rotateCVWindowRay)).origin,l=d.direction,c=Cartesian3.dot(o,l);if(Math.abs(c)>CesiumMath.EPSILON6&&(u=-Cartesian3.dot(o,s)/c),!defined(u)||u<=0)return e._looking=!0,look3D(e,t,i),void Cartesian2.clone(t,e._tiltCenterMousePosition);h=Cartesian3.multiplyByScalar(l,u,rotateCVCenter),Cartesian3.add(s,h,h)}a&&(defined(d)||(d=n.getPickRay(t,rotateCVWindowRay)),getTiltCenterUnderground(e,d,h,h)),Cartesian2.clone(t,e._tiltCenterMousePosition),Cartesian3.clone(h,e._tiltCenter)}var u=r.canvas,s=rotateCVWindowPos;s.x=u.clientWidth/2,s.y=e._tiltCenterMousePosition.y,d=n.getPickRay(s,rotateCVWindowRay);r=Cartesian3.clone(Cartesian3.ZERO,rotateCVOrigin);r.x=h.x;u=Plane.fromPointNormal(r,o,rotateCVPlane),s=IntersectionTests.rayPlane(d,u,rotateCVVerticalCenter),r=n._projection,o=r.ellipsoid;Cartesian3.fromElements(h.y,h.z,h.x,h);var d=r.unproject(h,rotateCVCart);o.cartographicToCartesian(d,h);var u=Transforms.eastNorthUpToFixedFrame(h,o,rotateCVTransform),h=defined(s)?(Cartesian3.fromElements(s.y,s.z,s.x,s),d=r.unproject(s,rotateCVCart),o.cartographicToCartesian(d,s),Transforms.eastNorthUpToFixedFrame(s,o,rotateCVVerticalTransform)):u,r=e._globe,d=e._ellipsoid;e._globe=void 0,e._ellipsoid=Ellipsoid.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;s=Cartesian3.UNIT_Z,o=Matrix4.clone(n.transform,rotateCVOldTransform);n._setTransform(u);u=Cartesian3.cross(Cartesian3.UNIT_Z,Cartesian3.normalize(n.position,rotateCVCartesian3),rotateCVCartesian3),u=Cartesian3.dot(n.right,u);rotate3D(e,t,i,s,!1,!0),n._setTransform(h),u<0?(u=i.startPosition.y-i.endPosition.y,(a&&u<0||!a&&0<u)&&(s=void 0),u=n.constrainedAxis,rotate3D(e,t,i,s,!(n.constrainedAxis=void 0),!1),n.constrainedAxis=u):rotate3D(e,t,i,s,!0,!1),defined(n.constrainedAxis)&&(s=Cartesian3.cross(n.direction,n.constrainedAxis,tilt3DCartesian3),Cartesian3.equalsEpsilon(s,Cartesian3.ZERO,CesiumMath.EPSILON6)||(Cartesian3.dot(s,n.right)<0&&Cartesian3.negate(s,s),Cartesian3.cross(s,n.direction,n.up),Cartesian3.cross(n.direction,n.up,n.right),Cartesian3.normalize(n.up,n.up),Cartesian3.normalize(n.right,n.right))),n._setTransform(o),e._globe=r;d=(e._ellipsoid=d).maximumRadius;e._rotateFactor=1/d,e._rotateRateRangeAdjustment=d;d=Cartesian3.clone(n.positionWC,rotateCVCartesian3);e.enableCollisionDetection&&adjustHeightForTerrain(e),Cartesian3.equals(n.positionWC,d)||(n._setTransform(h),n.worldToCameraCoordinatesPoint(d,d),h=Cartesian3.magnitudeSquared(d),Cartesian3.magnitudeSquared(n.position)>h&&(Cartesian3.normalize(n.position,n.position),Cartesian3.multiplyByScalar(n.position,Math.sqrt(h),n.position)),h=Cartesian3.angleBetween(d,n.position),d=Cartesian3.cross(d,n.position,d),Cartesian3.normalize(d,d),h=Quaternion.fromAxisAngle(d,h,rotateCVQuaternion),h=Matrix3.fromQuaternion(h,rotateCVMatrix),Matrix3.multiplyByVector(h,n.direction,n.direction),Matrix3.multiplyByVector(h,n.up,n.up),Cartesian3.cross(n.direction,n.up,n.right),Cartesian3.cross(n.right,n.direction,n.up),n._setTransform(o))}var zoomCVWindowPos=new Cartesian2,zoomCVWindowRay=new Ray,zoomCVIntersection=new Cartesian3;function zoomCV(e,t,i){defined(i.distance)&&(i=i.distance);var r,n=e._scene,a=n.camera,o=n.canvas,s=e._cameraUnderground;s?r=t:((r=zoomCVWindowPos).x=o.clientWidth/2,r.y=o.clientHeight/2);var l,c,u,d=a.getPickRay(r,zoomCVWindowRay),n=d.origin,o=d.direction;a.position.z<e._minimumPickingTerrainHeight&&(l=pickGlobe(e,r,zoomCVIntersection)),defined(l)&&(c=Cartesian3.distance(n,l)),s&&(u=getZoomDistanceUnderground(e,d),c=defined(c)?Math.min(c,u):u),defined(c)||(u=Cartesian3.UNIT_X,c=-Cartesian3.dot(u,n)/Cartesian3.dot(u,o)),handleZoom(e,t,i,e._zoomFactor,c)}function updateCV(e){var t,i=e._scene.camera;Matrix4.equals(Matrix4.IDENTITY,i.transform)?(t=e._tweens,e._aggregator.anyButtonDown&&t.removeAll(),reactToInput(e,e.enableTilt,e.tiltEventTypes,rotateCV,e.inertiaSpin,"_lastInertiaTiltMovement"),reactToInput(e,e.enableTranslate,e.translateEventTypes,translateCV,e.inertiaTranslate,"_lastInertiaTranslateMovement"),reactToInput(e,e.enableZoom,e.zoomEventTypes,zoomCV,e.inertiaZoom,"_lastInertiaZoomMovement"),reactToInput(e,e.enableLook,e.lookEventTypes,look3D),e._aggregator.anyButtonDown||t.contains(e._tween)||defined(i=i.createCorrectPositionTween(e.bounceAnimationTime))&&(e._tween=t.add(i)),t.update()):(reactToInput(e,e.enableRotate,e.rotateEventTypes,rotate3D,e.inertiaSpin,"_lastInertiaSpinMovement"),reactToInput(e,e.enableZoom,e.zoomEventTypes,zoom3D$1,e.inertiaZoom,"_lastInertiaZoomMovement"))}var scratchStrafeRay=new Ray,scratchStrafePlane=new Plane(Cartesian3.UNIT_X,0),scratchStrafeIntersection=new Cartesian3,scratchStrafeDirection=new Cartesian3,scratchMousePos=new Cartesian3;function strafe(e,t,i){var r=e._scene,n=r.camera,a=n.getPickRay(t.endPosition,scratchStrafeRay),e=Cartesian3.clone(n.direction,scratchStrafeDirection);r.mode===SceneMode$1.COLUMBUS_VIEW&&Cartesian3.fromElements(e.z,e.x,e.y,e);t=Plane.fromPointNormal(i,e,scratchStrafePlane),t=IntersectionTests.rayPlane(a,t,scratchStrafeIntersection);defined(t)&&(e=Cartesian3.subtract(i,t,e),r.mode===SceneMode$1.COLUMBUS_VIEW&&Cartesian3.fromElements(e.y,e.z,e.x,e),Cartesian3.add(n.position,e,n.position))}var spin3DPick=new Cartesian3,scratchCartographic$f=new Cartographic,scratchRadii$2=new Cartesian3,scratchEllipsoid$e=new Ellipsoid,scratchLookUp=new Cartesian3,scratchNormal$7=new Cartesian3;function spin3D(e,t,i){var r=e._scene.camera,n=e._cameraUnderground,a=e._ellipsoid;if(Matrix4.equals(r.transform,Matrix4.IDENTITY)){var o,s,l=a.geodeticSurfaceNormal(r.position,scratchLookUp);if(Cartesian2.equals(t,e._rotateMousePosition))if(e._looking)look3D(e,t,i,l);else if(e._rotating)rotate3D(e,t,i);else if(e._strafing)continueStrafing(e,i);else{if(Cartesian3.magnitude(r.position)<Cartesian3.magnitude(e._rotateStartPosition))return;o=Cartesian3.magnitude(e._rotateStartPosition),(s=scratchRadii$2).x=s.y=s.z=o,pan3D(e,t,i,a=Ellipsoid.fromCartesian3(s,scratchEllipsoid$e))}else{e._looking=!1,e._rotating=!1,e._strafing=!1;var c,u,d,h=a.cartesianToCartographic(r.positionWC,scratchCartographic$f).height;defined(e._globe)&&h<e._minimumPickingTerrainHeight?defined(c=pickGlobe(e,i.startPosition,scratchMousePos))?(d=!1,u=r.getPickRay(i.startPosition,pickGlobeScratchRay),n?(d=!0,getStrafeStartPositionUnderground(e,u,c,c)):(n=a.geodeticSurfaceNormal(c,scratchNormal$7),d=Math.abs(Cartesian3.dot(u.direction,n))<.05||Cartesian3.magnitude(r.position)<Cartesian3.magnitude(c)),d?(Cartesian2.clone(t,e._strafeEndMousePosition),Cartesian3.clone(c,e._strafeStartPosition),e._strafing=!0,strafe(e,i,e._strafeStartPosition)):(o=Cartesian3.magnitude(c),(s=scratchRadii$2).x=s.y=s.z=o,pan3D(e,t,i,a=Ellipsoid.fromCartesian3(s,scratchEllipsoid$e)),Cartesian3.clone(c,e._rotateStartPosition))):(e._looking=!0,look3D(e,t,i,l)):defined(r.pickEllipsoid(i.startPosition,e._ellipsoid,spin3DPick))?(pan3D(e,t,i,e._ellipsoid),Cartesian3.clone(spin3DPick,e._rotateStartPosition)):h>e._minimumTrackBallHeight?(e._rotating=!0,rotate3D(e,t,i)):(e._looking=!0,look3D(e,t,i,l)),Cartesian2.clone(t,e._rotateMousePosition)}}else rotate3D(e,t,i)}function rotate3D(e,t,i,r,n,a){n=defaultValue(n,!1),a=defaultValue(a,!1);var o=e._scene,s=o.camera,l=o.canvas,c=s.constrainedAxis;defined(r)&&(s.constrainedAxis=r);o=Cartesian3.magnitude(s.position),r=e._rotateFactor*(o-e._rotateRateRangeAdjustment);r>e._maximumRotateRate&&(r=e._maximumRotateRate),r<e._minimumRotateRate&&(r=e._minimumRotateRate);o=(i.startPosition.x-i.endPosition.x)/l.clientWidth,l=(i.startPosition.y-i.endPosition.y)/l.clientHeight,o=Math.min(o,e.maximumMovementRatio),l=Math.min(l,e.maximumMovementRatio),o=r*o*Math.PI*2,l=r*l*Math.PI;n||s.rotateRight(o),!a&&1e-5<Cesium.Cartesian3.distanceSquared(s.position,Cesium.Cartesian3.ZERO)&&s.rotateUp(l),s.constrainedAxis=c}var pan3DP0=Cartesian4.clone(Cartesian4.UNIT_W),pan3DP1=Cartesian4.clone(Cartesian4.UNIT_W),pan3DTemp0=new Cartesian3,pan3DTemp1=new Cartesian3,pan3DTemp2=new Cartesian3,pan3DTemp3=new Cartesian3,pan3DStartMousePosition=new Cartesian2,pan3DEndMousePosition=new Cartesian2;function pan3D(e,t,i,r){var n,a,o=e._scene.camera,s=Cartesian2.clone(i.startPosition,pan3DStartMousePosition),l=Cartesian2.clone(i.endPosition,pan3DEndMousePosition),c=o.pickEllipsoid(s,r,pan3DP0),u=o.pickEllipsoid(l,r,pan3DP1);if(!defined(c)||!defined(u))return e._rotating=!0,void rotate3D(e,t,i);c=o.worldToCameraCoordinates(c,c),u=o.worldToCameraCoordinates(u,u),defined(o.constrainedAxis)?(n=o.constrainedAxis,s=Cartesian3.mostOrthogonalAxis(n,pan3DTemp0),Cartesian3.cross(s,n,s),Cartesian3.normalize(s,s),l=Cartesian3.cross(n,s,pan3DTemp1),r=Cartesian3.magnitude(c),a=Cartesian3.dot(n,c),e=Math.acos(a/r),t=Cartesian3.multiplyByScalar(n,a,pan3DTemp2),Cartesian3.subtract(c,t,t),Cartesian3.normalize(t,t),i=Cartesian3.magnitude(u),r=Cartesian3.dot(n,u),a=Math.acos(r/i),i=Cartesian3.multiplyByScalar(n,r,pan3DTemp3),Cartesian3.subtract(u,i,i),Cartesian3.normalize(i,i),r=Math.acos(Cartesian3.dot(t,s)),Cartesian3.dot(t,l)<0&&(r=CesiumMath.TWO_PI-r),s=Math.acos(Cartesian3.dot(i,s)),Cartesian3.dot(i,l)<0&&(s=CesiumMath.TWO_PI-s),l=r-s,r=Cartesian3.equalsEpsilon(n,o.position,CesiumMath.EPSILON2)?o.right:Cartesian3.cross(n,o.position,pan3DTemp0),s=Cartesian3.cross(n,r,pan3DTemp0),r=Cartesian3.dot(s,Cartesian3.subtract(c,n,pan3DTemp1)),s=Cartesian3.dot(s,Cartesian3.subtract(u,n,pan3DTemp1)),a=0<r&&0<s?a-e:0<r&&s<=0?0<Cartesian3.dot(o.position,n)?-e-a:e+a:e-a,o.rotateRight(l),o.rotateUp(a)):(Cartesian3.normalize(c,c),Cartesian3.normalize(u,u),a=Cartesian3.dot(c,u),u=Cartesian3.cross(c,u,pan3DTemp0),a<1&&!Cartesian3.equalsEpsilon(u,Cartesian3.ZERO,CesiumMath.EPSILON14)&&(a=Math.acos(a),o.rotate(u,a)))}var zoom3DUnitPosition=new Cartesian3,zoom3DCartographic=new Cartographic;function zoom3D$1(e,t,i){defined(i.distance)&&(i=i.distance);var r,n=e._ellipsoid,a=e._scene,o=a.camera,s=a.canvas,a=e._cameraUnderground;a?r=t:((r=zoomCVWindowPos).x=s.clientWidth/2,r.y=s.clientHeight/2);var l,c,s=o.getPickRay(r,zoomCVWindowRay),n=n.cartesianToCartographic(o.position,zoom3DCartographic).height;n<e._minimumPickingTerrainHeight&&(l=pickGlobe(e,r,zoomCVIntersection)),defined(l)&&(c=Cartesian3.distance(s.origin,l)),a&&(s=getZoomDistanceUnderground(e,s),c=defined(c)?Math.min(c,s):s),defined(c)||(c=n);n=Cartesian3.normalize(o.position,zoom3DUnitPosition);handleZoom(e,t,i,e._zoomFactor,c,Cartesian3.dot(n,o.direction))}var tilt3DWindowPos=new Cartesian2,tilt3DRay=new Ray,tilt3DCenter=new Cartesian3,tilt3DVerticalCenter=new Cartesian3,tilt3DTransform=new Matrix4,tilt3DVerticalTransform=new Matrix4,tilt3DOldTransform=new Matrix4,tilt3DQuaternion=new Quaternion,tilt3DMatrix=new Matrix3,tilt3DCart=new Cartographic,tilt3DLookUp=new Cartesian3;function tilt3D(e,t,i){var r,n=e._scene.camera;Matrix4.equals(n.transform,Matrix4.IDENTITY)&&(defined(i.angleAndHeight)&&(i=i.angleAndHeight),Cartesian2.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking?(r=e._ellipsoid.geodeticSurfaceNormal(n.position,tilt3DLookUp),look3D(e,t,i,r)):(n=e._ellipsoid.cartesianToCartographic(n.position,tilt3DCart),e._tiltOnEllipsoid||n.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,tilt3DOnEllipsoid(e,t,i)):tilt3DOnTerrain(e,t,i)))}var tilt3DOnEllipsoidCartographic=new Cartographic;function tilt3DOnEllipsoid(e,t,i){var r=e._ellipsoid,n=e._scene,a=n.camera,o=.25*e.minimumZoomDistance,s=r.cartesianToCartographic(a.positionWC,tilt3DOnEllipsoidCartographic).height;if(!(s-o-1<CesiumMath.EPSILON3&&i.endPosition.y-i.startPosition.y<0)){o=n.canvas,n=tilt3DWindowPos;n.x=o.clientWidth/2,n.y=o.clientHeight/2;o=a.getPickRay(n,tilt3DRay),n=IntersectionTests.rayEllipsoid(o,r);if(defined(n))u=Ray.getPoint(o,n.start,tilt3DCenter);else{if(!(s>e._minimumTrackBallHeight)){e._looking=!0;var l=e._ellipsoid.geodeticSurfaceNormal(a.position,tilt3DLookUp);return look3D(e,t,i,l),void Cartesian2.clone(t,e._tiltCenterMousePosition)}var c=IntersectionTests.grazingAltitudeLocation(o,r);if(!defined(c))return;l=r.cartesianToCartographic(c,tilt3DCart);l.height=0,u=r.cartographicToCartesian(l,tilt3DCenter)}var c=Transforms.eastNorthUpToFixedFrame(u,r,tilt3DTransform),l=e._globe,u=e._ellipsoid;e._globe=void 0,e._ellipsoid=Ellipsoid.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;r=Matrix4.clone(a.transform,tilt3DOldTransform);a._setTransform(c),rotate3D(e,t,i,Cartesian3.UNIT_Z),a._setTransform(r),e._globe=l;u=(e._ellipsoid=u).maximumRadius;e._rotateFactor=1/u,e._rotateRateRangeAdjustment=u}}function tilt3DOnTerrain(e,t,i){var r=e._ellipsoid,n=e._scene,a=n.camera,o=e._cameraUnderground;if(Cartesian2.equals(t,e._tiltCenterMousePosition))d=Cartesian3.clone(e._tiltCenter,tilt3DCenter);else{if(!defined(d=pickGlobe(e,t,tilt3DCenter))){var s=a.getPickRay(t,tilt3DRay),l=IntersectionTests.rayEllipsoid(s,r);if(!defined(l))return void(r.cartesianToCartographic(a.position,tilt3DCart).height<=e._minimumTrackBallHeight&&(e._looking=!0,u=e._ellipsoid.geodeticSurfaceNormal(a.position,tilt3DLookUp),look3D(e,t,i,u),Cartesian2.clone(t,e._tiltCenterMousePosition)));d=Ray.getPoint(s,l.start,tilt3DCenter)}o&&(defined(s)||(s=a.getPickRay(t,tilt3DRay)),getTiltCenterUnderground(e,s,d,d)),Cartesian2.clone(t,e._tiltCenterMousePosition),Cartesian3.clone(d,e._tiltCenter)}var c=n.canvas,u=tilt3DWindowPos;u.x=c.clientWidth/2,u.y=e._tiltCenterMousePosition.y,s=a.getPickRay(u,tilt3DRay);var d,n=Cartesian3.magnitude(d),c=Cartesian3.fromElements(n,n,n,scratchRadii$2),u=Ellipsoid.fromCartesian3(c,scratchEllipsoid$e);defined(l=IntersectionTests.rayEllipsoid(s,u))&&(c=Cartesian3.magnitude(s.origin)>n?l.start:l.stop,n=Ray.getPoint(s,c,tilt3DVerticalCenter),l=Transforms.eastNorthUpToFixedFrame(d,r,tilt3DTransform),s=Transforms.eastNorthUpToFixedFrame(n,u,tilt3DVerticalTransform),c=e._globe,d=e._ellipsoid,e._globe=void 0,e._ellipsoid=Ellipsoid.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1,r=Cartesian3.UNIT_Z,u=Matrix4.clone(a.transform,tilt3DOldTransform),a._setTransform(l),n=Cartesian3.cross(n,a.positionWC,tilt3DCartesian3),n=Cartesian3.dot(a.rightWC,n),rotate3D(e,t,i,r,!1,!0),a._setTransform(s),n<0?(n=i.startPosition.y-i.endPosition.y,(o&&n<0||!o&&0<n)&&(r=void 0),n=a.constrainedAxis,rotate3D(e,t,i,r,!(a.constrainedAxis=void 0),!1),a.constrainedAxis=n):rotate3D(e,t,i,r,!0,!1),defined(a.constrainedAxis)&&(r=Cartesian3.cross(a.direction,a.constrainedAxis,tilt3DCartesian3),Cartesian3.equalsEpsilon(r,Cartesian3.ZERO,CesiumMath.EPSILON6)||(Cartesian3.dot(r,a.right)<0&&Cartesian3.negate(r,r),Cartesian3.cross(r,a.direction,a.up),Cartesian3.cross(a.direction,a.up,a.right),Cartesian3.normalize(a.up,a.up),Cartesian3.normalize(a.right,a.right))),a._setTransform(u),e._globe=c,d=(e._ellipsoid=d).maximumRadius,e._rotateFactor=1/d,e._rotateRateRangeAdjustment=d,d=Cartesian3.clone(a.positionWC,tilt3DCartesian3),e.enableCollisionDetection&&adjustHeightForTerrain(e),Cartesian3.equals(a.positionWC,d)||(a._setTransform(s),a.worldToCameraCoordinatesPoint(d,d),s=Cartesian3.magnitudeSquared(d),Cartesian3.magnitudeSquared(a.position)>s&&(Cartesian3.normalize(a.position,a.position),Cartesian3.multiplyByScalar(a.position,Math.sqrt(s),a.position)),s=Cartesian3.angleBetween(d,a.position),d=Cartesian3.cross(d,a.position,d),Cartesian3.normalize(d,d),s=Quaternion.fromAxisAngle(d,s,tilt3DQuaternion),s=Matrix3.fromQuaternion(s,tilt3DMatrix),Matrix3.multiplyByVector(s,a.direction,a.direction),Matrix3.multiplyByVector(s,a.up,a.up),Cartesian3.cross(a.direction,a.up,a.right),Cartesian3.cross(a.right,a.direction,a.up),a._setTransform(u)))}var look3DStartPos=new Cartesian2,look3DEndPos=new Cartesian2,look3DStartRay=new Ray,look3DEndRay=new Ray,look3DNegativeRot=new Cartesian3,look3DTan=new Cartesian3;function look3D(e,t,i,r){var n=e._scene.camera,a=look3DStartPos;a.x=i.startPosition.x,a.y=0;var o=look3DEndPos;o.x=i.endPosition.x,o.y=0;var s=n.getPickRay(a,look3DStartRay),l=n.getPickRay(o,look3DEndRay),c=0;n.frustum instanceof OrthographicFrustum?(h=s.origin,d=l.origin,Cartesian3.add(n.direction,h,h),Cartesian3.add(n.direction,d,d),Cartesian3.subtract(h,n.position,h),Cartesian3.subtract(d,n.position,d),Cartesian3.normalize(h,h),Cartesian3.normalize(d,d)):(h=s.direction,d=l.direction);var u=Cartesian3.dot(h,d);u<1&&(c=Math.acos(u)),c=i.startPosition.x>i.endPosition.x?-c:c;var d,h,e=e._horizontalRotationAxis;defined(r)?n.look(r,-c):defined(e)?n.look(e,-c):n.lookLeft(c),a.x=0,a.y=i.startPosition.y,o.x=0,o.y=i.endPosition.y,s=n.getPickRay(a,look3DStartRay),l=n.getPickRay(o,look3DEndRay),c=0,n.frustum instanceof OrthographicFrustum?(h=s.origin,d=l.origin,Cartesian3.add(n.direction,h,h),Cartesian3.add(n.direction,d,d),Cartesian3.subtract(h,n.position,h),Cartesian3.subtract(d,n.position,d),Cartesian3.normalize(h,h),Cartesian3.normalize(d,d)):(h=s.direction,d=l.direction),(u=Cartesian3.dot(h,d))<1&&(c=Math.acos(u)),c=i.startPosition.y>i.endPosition.y?-c:c,defined(r=defaultValue(r,e))?(h=n.direction,d=Cartesian3.negate(r,look3DNegativeRot),i=Cartesian3.equalsEpsilon(h,r,CesiumMath.EPSILON2),e=Cartesian3.equalsEpsilon(h,d,CesiumMath.EPSILON2),i||e?(i&&c<0||e&&0<c)&&n.look(n.right,-c):(u=Cartesian3.dot(h,r),e=CesiumMath.acosClamped(u),0<c&&e<c&&(c=e-CesiumMath.EPSILON4),u=Cartesian3.dot(h,d),e=CesiumMath.acosClamped(u),c<0&&e<-c&&(c=-e+CesiumMath.EPSILON4),h=Cartesian3.cross(r,h,look3DTan),n.look(h,c))):n.lookUp(c)}function update3D(e){reactToInput(e,e.enableRotate,e.rotateEventTypes,spin3D,e.inertiaSpin,"_lastInertiaSpinMovement"),reactToInput(e,e.enableZoom,e.zoomEventTypes,zoom3D$1,e.inertiaZoom,"_lastInertiaZoomMovement"),reactToInput(e,e.enableTilt,e.tiltEventTypes,tilt3D,e.inertiaSpin,"_lastInertiaTiltMovement"),reactToInput(e,e.enableLook,e.lookEventTypes,look3D)}var scratchAdjustHeightTransform=new Matrix4,scratchAdjustHeightCartographic=new Cartographic;function adjustHeightForTerrain(e){e._adjustedHeightForTerrain=!0;var t,i,r,n,a,o,s=e._scene,l=s.mode,c=s.globe;defined(c)&&l!==SceneMode$1.SCENE2D&&l!==SceneMode$1.MORPHING&&(t=s.camera,i=c.ellipsoid,r=s.mapProjection,Matrix4.equals(t.transform,Matrix4.IDENTITY)||(n=Matrix4.clone(t.transform,scratchAdjustHeightTransform),a=Cartesian3.magnitude(t.position),t._setTransform(Matrix4.IDENTITY)),o=scratchAdjustHeightCartographic,l===SceneMode$1.SCENE3D?i.cartesianToCartographic(t.position,o):r.unproject(t.position,o),c=!1,o.height<e._minimumCollisionTerrainHeight&&(defined(s=e._scene.globeHeight)&&(s=s+e.minimumZoomDistance,o.height<s&&(o.height=s,l===SceneMode$1.SCENE3D?i.cartographicToCartesian(o,t.position):r.project(o,t.position),c=!0))),defined(n)&&(t._setTransform(n),c&&(Cartesian3.normalize(t.position,t.position),Cartesian3.negate(t.position,t.direction),Cartesian3.multiplyByScalar(t.position,Math.max(a,e.minimumZoomDistance),t.position),Cartesian3.normalize(t.direction,t.direction),Cartesian3.cross(t.direction,t.up,t.right),Cartesian3.cross(t.right,t.direction,t.up))))}ScreenSpaceCameraController.prototype.onMap=function(){var e=this._scene,t=e.mode,e=e.camera;return t!==SceneMode$1.COLUMBUS_VIEW||Math.abs(e.position.x)-this._maxCoord.x<0&&Math.abs(e.position.y)-this._maxCoord.y<0};var scratchPreviousPosition=new Cartesian3,scratchPreviousDirection=new Cartesian3;ScreenSpaceCameraController.prototype.update=function(){var e=this._scene,t=e.camera,i=e.globe,r=e.mode;Matrix4.equals(t.transform,Matrix4.IDENTITY)?(this._globe=i,this._ellipsoid=(defined(this._globe)?this._globe:e.mapProjection).ellipsoid):(this._globe=void 0,this._ellipsoid=Ellipsoid.UNIT_SPHERE),this._cameraUnderground=e.cameraUnderground&&defined(this._globe),this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight*e.terrainExaggeration,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight*e.terrainExaggeration,this._minimumTrackBallHeight=this.minimumTrackBallHeight*e.terrainExaggeration;i=this._ellipsoid.maximumRadius;this._rotateFactor=1/i,this._rotateRateRangeAdjustment=i,this._adjustedHeightForTerrain=!1;e=Cartesian3.clone(t.positionWC,scratchPreviousPosition),i=Cartesian3.clone(t.directionWC,scratchPreviousDirection);r===SceneMode$1.SCENE2D?update2D(this):r===SceneMode$1.COLUMBUS_VIEW?(this._horizontalRotationAxis=Cartesian3.UNIT_Z,updateCV(this)):r===SceneMode$1.SCENE3D&&(this._horizontalRotationAxis=void 0,update3D(this)),!this.enableCollisionDetection||this._adjustedHeightForTerrain||Cartesian3.equals(e,t.positionWC)&&Cartesian3.equals(i,t.directionWC)||adjustHeightForTerrain(this),this._aggregator.reset()},ScreenSpaceCameraController.prototype.isDestroyed=function(){return!1},ScreenSpaceCameraController.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),destroyObject(this)};var AdditiveBlend="uniform sampler2D colorTexture;\nuniform sampler2D colorTexture2;\nuniform vec2 center;\nuniform float radius;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec4 color0 = texture2D(colorTexture, v_textureCoordinates);\nvec4 color1 = texture2D(colorTexture2, v_textureCoordinates);\nfloat x = length(gl_FragCoord.xy - center) / radius;\nfloat t = smoothstep(0.5, 0.8, x);\ngl_FragColor = mix(color0 + color1, color1, t);\n}\n",BrightPass="uniform sampler2D colorTexture;\nuniform float avgLuminance;\nuniform float threshold;\nuniform float offset;\nvarying vec2 v_textureCoordinates;\nfloat key(float avg)\n{\nfloat guess = 1.5 - (1.5 / (avg * 0.1 + 1.0));\nreturn max(0.0, guess) + 0.1;\n}\nvoid main()\n{\nvec4 color = texture2D(colorTexture, v_textureCoordinates);\nvec3 xyz = czm_RGBToXYZ(color.rgb);\nfloat luminance = xyz.r;\nfloat scaledLum = key(avgLuminance) * luminance / avgLuminance;\nfloat brightLum = max(scaledLum - threshold, 0.0);\nfloat brightness = brightLum / (offset + brightLum);\nxyz.r = brightness;\ngl_FragColor = vec4(czm_XYZToRGB(xyz), 1.0);\n}\n";function SunPostProcess(){this._sceneFramebuffer=new SceneFramebuffer;var e=new Array(6);e[0]=new PostProcessStage({fragmentShader:PassThrough,textureScale:.125,forcePowerOfTwo:!0,sampleMode:PostProcessStageSampleMode.LINEAR});var t=e[1]=new PostProcessStage({fragmentShader:BrightPass,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:.125,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new Cartesian2,e[2]=new PostProcessStage({fragmentShader:GaussianBlur1D,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/t.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:.125,forcePowerOfTwo:!0}),e[3]=new PostProcessStage({fragmentShader:GaussianBlur1D,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/t.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:.125,forcePowerOfTwo:!0}),e[4]=new PostProcessStage({fragmentShader:PassThrough,sampleMode:PostProcessStageSampleMode.LINEAR}),this._uCenter=new Cartesian2,this._uRadius=void 0,e[5]=new PostProcessStage({fragmentShader:AdditiveBlend,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.getFramebuffer().getColorTexture(0)}}}),this._stages=new PostProcessStageComposite({stages:e});for(var r=new PostProcessStageTextureCache(this),n=e.length,a=0;a<n;++a)e[a]._textureCache=r;this._textureCache=r,this.length=e.length}SunPostProcess.prototype.get=function(e){return this._stages.get(e)},SunPostProcess.prototype.getStageByName=function(e){for(var t=this._stages.length,i=0;i<t;++i){var r=this._stages.get(i);if(r.name===e)return r}};var sunPositionECScratch=new Cartesian4,sunPositionWCScratch=new Cartesian2,sizeScratch=new Cartesian2,postProcessMatrix4Scratch=new Matrix4;function updateSunPosition(e,t,i){var r=t.uniformState,n=r.sunPositionWC,a=r.view,o=r.viewProjection,s=r.projection,l=Matrix4.computeViewportTransformation(i,0,1,postProcessMatrix4Scratch),c=Matrix4.multiplyByPoint(a,n,sunPositionECScratch),u=Transforms.pointToGLWindowCoordinates(o,l,n,sunPositionWCScratch);c.x+=CesiumMath.SOLAR_RADIUS;r=Transforms.pointToGLWindowCoordinates(s,l,c,c),i=30*Cartesian2.magnitude(Cartesian2.subtract(r,u,r))*2,a=sizeScratch;a.x=i,a.y=i,e._uCenter=Cartesian2.clone(u,e._uCenter),e._uRadius=.15*Math.max(a.x,a.y);var s=t.drawingBufferWidth,c=t.drawingBufferHeight,d=e._stages,r=d.get(0),i=r.outputTexture.width,t=r.outputTexture.height,e=new BoundingRectangle;e.width=i,e.height=t,l=Matrix4.computeViewportTransformation(e,0,1,postProcessMatrix4Scratch),u=Transforms.pointToGLWindowCoordinates(o,l,n,sunPositionWCScratch),a.x*=i/s,a.y*=t/c;var h=r.scissorRectangle;h.x=Math.max(u.x-.5*a.x,0),h.y=Math.max(u.y-.5*a.y,0),h.width=Math.min(a.x,s),h.height=Math.min(a.y,c);for(var p=1;p<4;++p)BoundingRectangle.clone(h,d.get(p).scissorRectangle)}SunPostProcess.prototype.clear=function(e,t,i){this._sceneFramebuffer.clear(e,t,i),this._textureCache.clear(e)},SunPostProcess.prototype.update=function(e){var t=e.context,i=e.viewport,e=this._sceneFramebuffer;e.update(t,i);e=e.getFramebuffer();return this._textureCache.update(t),this._stages.update(t,!1),updateSunPosition(this,t,i),e},SunPostProcess.prototype.execute=function(e){var t=this._sceneFramebuffer.getFramebuffer().getColorTexture(0),i=this._stages,r=i.length;i.get(0).execute(e,t);for(var n=1;n<r;++n)i.get(n).execute(e,i.get(n-1).outputTexture)},SunPostProcess.prototype.copy=function(e,t){var i;defined(this._copyColorCommand)||((i=this)._copyColorCommand=e.createViewportQuadCommand(PassThrough,{uniformMap:{colorTexture:function(){return i._stages.get(i._stages.length-1).outputTexture}},owner:this})),this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)},SunPostProcess.prototype.isDestroyed=function(){return!1},SunPostProcess.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),destroyObject(this)};var requestRenderAfterFrame=function(e){return function(){e.frameState.afterRender.push(function(){e.requestRender()})}};function Scene(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).canvas,i=e.creditContainer,r=e.creditViewport,n=clone(e.contextOptions);defined(n)||(n={}),defined(n.webgl)||(n.webgl={}),n.webgl.powerPreference=defaultValue(n.webgl.powerPreference,"high-performance");var a=defined(i),n=new Context(t,n);a||((i=document.createElement("div")).style.position="absolute",i.style.bottom="0",i.style["text-shadow"]="0 0 2px #000000",i.style.color="#ffffff",i.style["font-size"]="10px",i.style["padding-right"]="5px",t.parentNode.appendChild(i)),defined(r)||(r=t.parentNode),this._id=createGuid(),this._jobScheduler=new JobScheduler,this._frameState=new FrameState(n,new CreditDisplay(i," • ",r),this._jobScheduler),this._frameState.scene3DOnly=defaultValue(e.scene3DOnly,!1),this._removeCreditContainer=!a,this._creditContainer=i,this._canvas=t,this._context=n,this._computeEngine=new ComputeEngine(n),this._globe=void 0,this._globeTranslucencyState=new GlobeTranslucencyState,this._primitives=new PrimitiveCollection,this._groundPrimitives=new PrimitiveCollection,this._globeHeight=void 0,this._cameraUnderground=!1,this._logDepthBuffer=n.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new TweenCollection,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=defaultValue(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new DepthPlane,this._clearColorCommand=new ClearCommand({color:new Color,stencil:0,owner:this}),this._depthClearCommand=new ClearCommand({depth:1,owner:this}),this._stencilClearCommand=new ClearCommand({stencil:0}),this._classificationStencilClearCommand=new ClearCommand({stencil:0,renderState:RenderState.fromCache({stencilMask:StencilConstants$1.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new SceneTransitioner(this),this._preUpdate=new Event,this._postUpdate=new Event,this._renderError=new Event,this._preRender=new Event,this._postRender=new Event,this._minimumDisableDepthTestDistance=0,this._debugInspector=new DebugInspector,this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new Event,this.morphComplete=new Event,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=Color.clone(Color.BLACK),this._mode=SceneMode$1.SCENE3D,this._mapProjection=defined(e.mapProjection)?e.mapProjection:new GeographicProjection,this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowGlobeDepth=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.fog=new Fog,this._shadowMapCamera=new Camera(this),this.shadowMap=new ShadowMap({context:n,lightCamera:this._shadowMapCamera,enabled:defaultValue(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=Color.clone(Color.WHITE),this._actualInvertClassificationColor=Color.clone(this._invertClassificationColor),this._invertClassification=new InvertClassification,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new PostProcessStageCollection,this._brdfLutGenerator=new BrdfLutGenerator,this._terrainExaggeration=defaultValue(e.terrainExaggeration,1),this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new ScreenSpaceCameraController(this),this._cameraUnderground=!1,this._mapMode2D=defaultValue(e.mapMode2D,MapMode2D$1.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,separatePrimitiveFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=defaultValue(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=defaultValue(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=RequestScheduler.requestCompletedEvent.addEventListener(requestRenderAfterFrame(this)),this._removeTaskProcessorListenerCallback=TaskProcessor.taskCompletedEvent.addEventListener(requestRenderAfterFrame(this)),this._removeGlobeCallbacks=[];e=new BoundingRectangle(0,0,n.drawingBufferWidth,n.drawingBufferHeight),n=new Camera(this);this._logDepthBuffer&&(n.frustum.near=.1,n.frustum.far=1e10),this.preloadFlightCamera=new Camera(this),this.preloadFlightCullingVolume=void 0,this._picking=new Picking(this),this._defaultView=new View(this,n,e),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentMapAtlas=void 0,this.light=new SunLight,updateFrameNumber(this,0,JulianDate.now()),this.updateFrameState(),this.initializeFrame()}function updateGlobeListeners(e,t){for(var i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;var r=[];defined(t)&&(r.push(t.imageryLayersUpdatedEvent.addEventListener(requestRenderAfterFrame(e))),r.push(t.terrainProviderChanged.addEventListener(requestRenderAfterFrame(e)))),e._removeGlobeCallbacks=r}function updateDerivedCommands$1(e,t,i){var r=e._frameState,n=e._context,a=e._view.oit,o=r.shadowState.lightShadowMaps,s=r.shadowState.lightShadowsEnabled,r=t.derivedCommands;defined(t.pickId)&&(r.picking=DerivedCommand.createPickDerivedCommand(e,t,n,r.picking)),t.pickOnly||(r.depth=DerivedCommand.createDepthOnlyDerivedCommand(e,t,n,r.depth)),r.originalCommand=t,e._hdr&&(r.hdr=DerivedCommand.createHdrCommand(t,n,r.hdr),r=(t=r.hdr.command).derivedCommands),s&&t.receiveShadows&&(r.shadows=ShadowMap.createReceiveDerivedCommand(o,t,i,n,r.shadows)),t.pass===Pass$1.TRANSLUCENT&&defined(a)&&a.isSupported()&&(s&&t.receiveShadows?(r.oit=defined(r.oit)?r.oit:{},r.oit.shadows=a.createDerivedCommands(r.shadows.receiveCommand,n,r.oit.shadows)):r.oit=a.createDerivedCommands(t,n,r.oit))}Object.defineProperties(Scene.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return ContextLimits.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return ContextLimits.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return OctahedralProjectedCubeMap.isSupported(this._context)}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,updateGlobeListeners(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(defined(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(defined(this.globe))return this.globe.terrainProvider},set:function(e){defined(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(defined(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){e===SceneMode$1.SCENE2D?this.morphTo2D(0):e===SceneMode$1.SCENE3D?this.morphTo3D(0):e===SceneMode$1.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},terrainExaggeration:{get:function(){return this._terrainExaggeration}},useWebVR:{get:function(){return this._useWebVR},set:function(e){this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new Camera(this),defined(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new DeviceOrientationCameraController(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},imagerySplitPosition:{get:function(){return this._frameState.imagerySplitPosition},set:function(e){this._frameState.imagerySplitPosition=e,this._frameState.scene=this}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){var t=this._context,t=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=t!==this._hdr,this._hdr=t}},highDynamicRangeSupported:{get:function(){var e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return.9999}},globeHeight:{get:function(){return this._globeHeight}}}),Scene.prototype.getCompressedTextureFormatSupported=function(e){var t=this.context;return("WEBGL_compressed_texture_s3tc"===e||"s3tc"===e)&&t.s3tc||("WEBGL_compressed_texture_pvrtc"===e||"pvrtc"===e)&&t.pvrtc||("WEBGL_compressed_texture_etc1"===e||"etc1"===e)&&t.etc1},Scene.prototype.updateDerivedCommands=function(e){var t,i,r,n,a,o,s,l,c,u;defined(e.derivedCommands)&&(t=this._frameState,i=this._context,r=!1,l=t.shadowState.lastDirtyTime,e.lastDirtyTime!==l&&(e.lastDirtyTime=l,r=e.dirty=!0),n=t.useLogDepth,c=this._hdr,o=defined((a=e.derivedCommands).logDepth),u=defined(a.hdr),s=defined(a.originalCommand),l=n&&!o,u=c&&!u,c=!(n&&c||s),e.dirty=e.dirty||l||u||c,e.dirty&&(e.dirty=!1,u=t.shadowState.shadowMaps,t.shadowState.shadowsEnabled&&e.castShadows&&(a.shadows=ShadowMap.createCastDerivedCommand(u,e,r,i,a.shadows)),(o||l)&&(a.logDepth=DerivedCommand.createLogDepthCommand(e,i,a.logDepth),updateDerivedCommands$1(this,a.logDepth.command,r)),(s||c)&&updateDerivedCommands$1(this,e,r)))};var renderTilesetPassState=new Cesium3DTilePassState({pass:Cesium3DTilePass$1.RENDER}),preloadTilesetPassState=new Cesium3DTilePassState({pass:Cesium3DTilePass$1.PRELOAD}),preloadFlightTilesetPassState=new Cesium3DTilePassState({pass:Cesium3DTilePass$1.PRELOAD_FLIGHT}),requestRenderModeDeferCheckPassState=new Cesium3DTilePassState({pass:Cesium3DTilePass$1.REQUEST_RENDER_MODE_DEFER_CHECK}),scratchOccluderBoundingSphere=new BoundingSphere,scratchOccluder;function getOccluder(e){var t=e.globe;if(e._mode===SceneMode$1.SCENE3D&&defined(t)&&t.show&&!e._cameraUnderground&&!e._globeTranslucencyState.translucent){var i=t.ellipsoid,t=e.frameState.minimumTerrainHeight;return scratchOccluderBoundingSphere.radius=i.minimumRadius+t,scratchOccluder=Occluder.fromBoundingSphere(scratchOccluderBoundingSphere,e.camera.positionWC,scratchOccluder)}}function updateFrameNumber(e,t,i){e=e._frameState;e.frameNumber=t,e.time=JulianDate.clone(i,e.time)}Scene.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1},Scene.prototype.updateFrameState=function(){var e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=getOccluder(this),t.terrainExaggeration=this._terrainExaggeration,t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof OrthographicFrustum||this.camera.frustum instanceof OrthographicOffCenterFrustum),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState,defined(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready?(t.specularEnvironmentMaps=this._specularEnvironmentMapAtlas.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentMapAtlas.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=Color.clone(this.invertClassificationColor,this._actualInvertClassificationColor),InvertClassification.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,defined(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0},Scene.prototype.isVisible=function(e,t,i){return defined(e)&&(!defined(e.boundingVolume)||!e.cull||t.computeVisibility(e.boundingVolume)!==Intersect$1.OUTSIDE&&(!defined(i)||!e.occlude||!e.boundingVolume.isOccluded(i)))};var transformFrom2D=new Matrix4(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);function debugShowBoundingVolume(e,t,i,r){var n=t._frameState,a=n.context,o=e.boundingVolume;defined(t._debugVolume)&&t._debugVolume.destroy();var s,l,c,u=Cartesian3.clone(o.center);n.mode!==SceneMode$1.SCENE3D&&(u=Matrix4.multiplyByPoint(transformFrom2D,u,u),l=(s=n.mapProjection).unproject(u),u=s.ellipsoid.cartographicToCartesian(l)),defined(o.radius)?(c=o.radius,c=GeometryPipeline.toWireframe(EllipsoidGeometry.createGeometry(new EllipsoidGeometry({radii:new Cartesian3(c,c,c),vertexFormat:PerInstanceColorAppearance.FLAT_VERTEX_FORMAT}))),t._debugVolume=new Primitive({geometryInstances:new GeometryInstance({geometry:c,modelMatrix:Matrix4.fromTranslation(u),attributes:{color:new ColorGeometryInstanceAttribute(1,0,0,1)}}),appearance:new PerInstanceColorAppearance({flat:!0,translucent:!1}),asynchronous:!1})):(h=o.halfAxes,c=GeometryPipeline.toWireframe(BoxGeometry.createGeometry(BoxGeometry.fromDimensions({dimensions:new Cartesian3(2,2,2),vertexFormat:PerInstanceColorAppearance.FLAT_VERTEX_FORMAT}))),t._debugVolume=new Primitive({geometryInstances:new GeometryInstance({geometry:c,modelMatrix:Matrix4.fromRotationTranslation(h,u,new Matrix4),attributes:{color:new ColorGeometryInstanceAttribute(1,0,0,1)}}),appearance:new PerInstanceColorAppearance({flat:!0,translucent:!1}),asynchronous:!1}));var d,h=n.commandList,u=n.commandList=[];t._debugVolume.update(n),e=u[0],n.useLogDepth&&(e=DerivedCommand.createLogDepthCommand(e,a).command),defined(r)&&(d=i.framebuffer,i.framebuffer=r),e.execute(a,i),defined(d)&&(i.framebuffer=d),n.commandList=h}function executeCommand(e,t,i,r,n){var a=t._frameState;if(!defined(t.debugCommandFilter)||t.debugCommandFilter(e))if(e instanceof ClearCommand)e.execute(i,r);else{e.debugShowBoundingVolume&&defined(e.boundingVolume)&&debugShowBoundingVolume(e,t,r,n),a.useLogDepth&&defined(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);n=a.passes;if(!n.pick&&!n.depth&&t._hdr&&defined(e.derivedCommands)&&defined(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),n.pick||n.depth){if(n.pick&&!n.depth&&defined(e.derivedCommands.picking))return void(e=e.derivedCommands.picking.pickCommand).execute(i,r);if(defined(e.derivedCommands.depth))return void(e=e.derivedCommands.depth.depthOnlyCommand).execute(i,r)}t.debugShowCommands||t.debugShowFrustums?t._debugInspector.executeDebugShowFrustumsCommand(t,e,r):(a.shadowState.lightShadowsEnabled&&e.receiveShadows&&defined(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand:e).execute(i,r)}}function executeIdCommand(e,t,i,r){var n=t._frameState,t=e.derivedCommands;defined(t)&&(n.useLogDepth&&defined(t.logDepth)&&(e=t.logDepth.command),defined((t=e.derivedCommands).picking)?(e=t.picking.pickCommand).execute(i,r):defined(t.depth)&&(e=t.depth.depthOnlyCommand).execute(i,r))}function backToFront(e,t,i){return t.boundingVolume.distanceSquaredTo(i)-e.boundingVolume.distanceSquaredTo(i)}function frontToBack(e,t,i){return e.boundingVolume.distanceSquaredTo(i)-t.boundingVolume.distanceSquaredTo(i)+CesiumMath.EPSILON12}function executeTranslucentCommandsBackToFront(e,t,i,r,n){var a=e.context;mergeSort(r,backToFront,e.camera.positionWC),defined(n)&&t(n.unclassifiedCommand,e,a,i);for(var o=r.length,s=0;s<o;++s)t(r[s],e,a,i)}function executeTranslucentCommandsFrontToBack(e,t,i,r,n){var a=e.context;mergeSort(r,frontToBack,e.camera.positionWC),defined(n)&&t(n.unclassifiedCommand,e,a,i);for(var o=r.length,s=0;s<o;++s)t(r[s],e,a,i)}function getDebugGlobeDepth(e,t){var i=e._view.debugGlobeDepths,r=i[t];return!defined(r)&&e.context.depthTexture&&(r=new GlobeDepth,i[t]=r),r}transformFrom2D=Matrix4.inverseTransformation(transformFrom2D,transformFrom2D);var scratchPerspectiveFrustum$1=new PerspectiveFrustum,scratchPerspectiveOffCenterFrustum$1=new PerspectiveOffCenterFrustum,scratchOrthographicFrustum$1=new OrthographicFrustum,scratchOrthographicOffCenterFrustum$1=new OrthographicOffCenterFrustum;function executeCommands$1(e,t){var i,r=e.camera,n=e.context,a=e.frameState,o=n.uniformState;o.updateCamera(r),(i=defined(r.frustum.fov)?r.frustum.clone(scratchPerspectiveFrustum$1):defined(r.frustum.infiniteProjectionMatrix)?r.frustum.clone(scratchPerspectiveOffCenterFrustum$1):defined(r.frustum.width)?r.frustum.clone(scratchOrthographicFrustum$1):r.frustum.clone(scratchOrthographicOffCenterFrustum$1)).near=r.frustum.near,i.far=r.frustum.far,o.updateFrustum(i),o.updatePass(Pass$1.ENVIRONMENT);var s,l,c=a.passes,u=c.pick,d=e._environmentState,h=e._view,p=d.renderTranslucentDepthForPick,m=d.useWebVR;u||(defined(s=d.skyBoxCommand)&&executeCommand(s,e,n,t),d.isSkyAtmosphereVisible&&executeCommand(d.skyAtmosphereCommand,e,n,t),d.isSunVisible&&(d.sunDrawCommand.execute(n,t),e.sunBloom&&!m&&(m=d.useGlobeDepthFramebuffer?h.globeDepth.framebuffer:d.usePostProcess?h.sceneFramebuffer.getFramebuffer():d.originalFramebuffer,e._sunPostProcess.execute(n),e._sunPostProcess.copy(n,m),t.framebuffer=m)),d.isMoonVisible&&d.moonCommand.execute(n,t)),l=d.useOIT?(defined(e._executeOITFunction)||(e._executeOITFunction=function(e,t,i,r,n){h.oit.executeCommands(e,t,i,r,n)}),e._executeOITFunction):c.render?executeTranslucentCommandsBackToFront:executeTranslucentCommandsFrontToBack;for(var f,g=h.frustumCommandsList,_=g.length,y=d.clearGlobeDepth,C=d.useDepthPlane,v=e._globeTranslucencyState,S=v.translucent,T=e._view.globeTranslucencyFramebuffer,b=(d.separatePrimitiveFramebuffer=!1,e._depthClearCommand),x=e._stencilClearCommand,E=e._classificationStencilClearCommand,P=e._depthPlane,A=d.usePostProcessSelected,w=r.position.z,D=0;D<_;++D){var M=_-D-1,I=g[M];e.mode===SceneMode$1.SCENE2D?(r.position.z=w-I.near+1,i.far=Math.max(1,I.far-I.near),i.near=1,o.update(a)):(i.near=0!=M?I.near*e.opaqueFrustumNearOffset:I.near,i.far=I.far),o.updateFrustum(i);var R,O=e.debugShowGlobeDepth?getDebugGlobeDepth(e,M):h.globeDepth;0,e.debugShowGlobeDepth&&defined(O)&&d.useGlobeDepthFramebuffer&&(O.update(n,t,h.viewport,e._hdr,y),O.clear(n,t,e._clearColorCommand.color),R=t.framebuffer,t.framebuffer=O.framebuffer),b.execute(n,t),n.stencilBuffer&&x.execute(n,t),o.updatePass(Pass$1.GLOBE);var L,F=I.commands[Pass$1.GLOBE],N=I.indices[Pass$1.GLOBE];if(S)v.executeGlobeCommands(I,executeCommand,T,e,t);else for(f=0;f<N;++f)executeCommand(F[f],e,n,t);if(defined(O)&&d.useGlobeDepthFramebuffer&&O.executeCopyDepth(n,t),e.debugShowGlobeDepth&&defined(O)&&d.useGlobeDepthFramebuffer&&(t.framebuffer=R),!d.renderTranslucentDepthForPick)if(o.updatePass(Pass$1.TERRAIN_CLASSIFICATION),F=I.commands[Pass$1.TERRAIN_CLASSIFICATION],N=I.indices[Pass$1.TERRAIN_CLASSIFICATION],S)v.executeGlobeClassificationCommands(I,executeCommand,T,e,t);else for(f=0;f<N;++f)executeCommand(F[f],e,n,t);if(y&&(b.execute(n,t),C&&P.execute(n,t)),!d.useInvertClassification||u||d.renderTranslucentDepthForPick){for(o.updatePass(Pass$1.CESIUM_3D_TILE),F=I.commands[Pass$1.CESIUM_3D_TILE],N=I.indices[Pass$1.CESIUM_3D_TILE],f=0;f<N;++f)executeCommand(F[f],e,n,t);if(0<N&&(defined(O)&&d.useGlobeDepthFramebuffer&&O.executeUpdateDepth(n,t,y),!d.renderTranslucentDepthForPick))for(o.updatePass(Pass$1.CESIUM_3D_TILE_CLASSIFICATION),F=I.commands[Pass$1.CESIUM_3D_TILE_CLASSIFICATION],N=I.indices[Pass$1.CESIUM_3D_TILE_CLASSIFICATION],f=0;f<N;++f)executeCommand(F[f],e,n,t)}else{e._invertClassification.clear(n,t);var B=t.framebuffer;for(t.framebuffer=e._invertClassification._fbo,o.updatePass(Pass$1.CESIUM_3D_TILE),F=I.commands[Pass$1.CESIUM_3D_TILE],N=I.indices[Pass$1.CESIUM_3D_TILE],f=0;f<N;++f)executeCommand(F[f],e,n,t);for(defined(O)&&d.useGlobeDepthFramebuffer&&O.executeUpdateDepth(n,t,y),o.updatePass(Pass$1.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),F=I.commands[Pass$1.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],N=I.indices[Pass$1.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],f=0;f<N;++f)executeCommand(F[f],e,n,t);for(t.framebuffer=B,e._invertClassification.executeClassified(n,t),1===a.invertClassificationColor.alpha&&e._invertClassification.executeUnclassified(n,t),0<N&&n.stencilBuffer&&E.execute(n,t),o.updatePass(Pass$1.CESIUM_3D_TILE_CLASSIFICATION),F=I.commands[Pass$1.CESIUM_3D_TILE_CLASSIFICATION],N=I.indices[Pass$1.CESIUM_3D_TILE_CLASSIFICATION],f=0;f<N;++f)executeCommand(F[f],e,n,t)}for(0<N&&n.stencilBuffer&&x.execute(n,t),o.updatePass(Pass$1.OPAQUE),F=I.commands[Pass$1.OPAQUE],N=I.indices[Pass$1.OPAQUE],f=0;f<N;++f)executeCommand(F[f],e,n,t);if(0!=M&&e.mode!==SceneMode$1.SCENE2D&&(i.near=I.near,o.updateFrustum(i)),!u&&d.useInvertClassification&&a.invertClassificationColor.alpha<1&&(L=e._invertClassification),o.updatePass(Pass$1.TRANSLUCENT),(F=I.commands[Pass$1.TRANSLUCENT]).length=I.indices[Pass$1.TRANSLUCENT],l(e,executeCommand,t,F,L),n.depthTexture&&e.useDepthPicking&&(d.useGlobeDepthFramebuffer||p)&&(O=(p?t:O).framebuffer.depthStencilTexture,(V=e._picking.getPickDepth(e,M)).update(n,O),V.executeCopyDepth(n,t)),!u&&A){var V=t.framebuffer;if(t.framebuffer=h.sceneFramebuffer.getIdFramebuffer(),i.near=0!=M?I.near*e.opaqueFrustumNearOffset:I.near,i.far=I.far,o.updateFrustum(i),o.updatePass(Pass$1.GLOBE),F=I.commands[Pass$1.GLOBE],N=I.indices[Pass$1.GLOBE],S)v.executeGlobeCommands(I,executeIdCommand,T,e,t);else for(f=0;f<N;++f)executeIdCommand(F[f],e,n,t);for(y&&(b.framebuffer=t.framebuffer,b.execute(n,t),b.framebuffer=void 0),y&&C&&P.execute(n,t),o.updatePass(Pass$1.CESIUM_3D_TILE),F=I.commands[Pass$1.CESIUM_3D_TILE],N=I.indices[Pass$1.CESIUM_3D_TILE],f=0;f<N;++f)executeIdCommand(F[f],e,n,t);for(o.updatePass(Pass$1.OPAQUE),F=I.commands[Pass$1.OPAQUE],N=I.indices[Pass$1.OPAQUE],f=0;f<N;++f)executeIdCommand(F[f],e,n,t);for(o.updatePass(Pass$1.TRANSLUCENT),F=I.commands[Pass$1.TRANSLUCENT],N=I.indices[Pass$1.TRANSLUCENT],f=0;f<N;++f)executeIdCommand(F[f],e,n,t);t.framebuffer=V}}}function executeComputeCommands(e){e.context.uniformState.updatePass(Pass$1.COMPUTE);var t=e._environmentState.sunComputeCommand;defined(t)&&t.execute(e._computeEngine);for(var i=e._computeCommandList,r=i.length,n=0;n<r;++n)i[n].execute(e._computeEngine)}function executeOverlayCommands(e,t){e.context.uniformState.updatePass(Pass$1.OVERLAY);for(var i=e.context,r=e._overlayCommandList,n=r.length,a=0;a<n;++a)r[a].execute(i,t)}function insertShadowCastCommands(e,t,i){for(var r=i.shadowMapCullingVolume,n=i.isPointLight,a=i.passes,o=a.length,s=t.length,l=0;l<s;++l){var c=t[l];if(e.updateDerivedCommands(c),c.castShadows&&(c.pass===Pass$1.GLOBE||c.pass===Pass$1.CESIUM_3D_TILE||c.pass===Pass$1.OPAQUE||c.pass===Pass$1.TRANSLUCENT)&&e.isVisible(c,r))if(n)for(var u=0;u<o;++u)a[u].commandList.push(c);else if(1===o)a[0].commandList.push(c);else for(var d=!1,h=o-1;0<=h;--h){var p=a[h].cullingVolume;if(e.isVisible(c,p))a[h].commandList.push(c),d=!0;else if(d)break}}}function executeShadowMapCastCommands(e){var t=e.frameState,i=t.shadowState.shadowMaps,r=i.length;if(t.shadowState.shadowsEnabled)for(var n=e.context,a=n.uniformState,o=0;o<r;++o){var s=i[o];if(!s.outOfView){for(var l=s.passes,c=l.length,u=0;u<c;++u)l[u].commandList.length=0;for(insertShadowCastCommands(e,e.frameState.commandList,s),u=0;u<c;++u){var d=s.passes[u];a.updateCamera(d.camera),s.updatePass(n,u);for(var h=d.commandList.length,p=0;p<h;++p){var m=d.commandList[p];a.updatePass(m.pass),executeCommand(m.derivedCommands.shadows.castCommands[o],e,n,d.passState)}}}}}var scratchEyeTranslation=new Cartesian3;function executeWebVRCommands(e,t,i){var r=e._view,n=r.camera,a=e._environmentState.renderTranslucentDepthForPick;updateAndClearFramebuffers(e,t,i),a||updateAndRenderPrimitives(e),r.createPotentiallyVisibleSet(e),a||(executeComputeCommands(e),executeShadowMapCastCommands(e));var o=t.viewport;o.x=0,o.y=0,o.width=.5*o.width;var s=Camera.clone(n,e._cameraVR);s.frustum=n.frustum;var l=n.frustum.near,i=l*defaultValue(e.focalLength,5),r=defaultValue(e.eyeSeparation,i/30),a=Cartesian3.multiplyByScalar(s.right,.5*r,scratchEyeTranslation);n.frustum.aspectRatio=o.width/o.height;i=.5*r*l/i;Cartesian3.add(s.position,a,n.position),n.frustum.xOffset=i,executeCommands$1(e,t),o.x=o.width,Cartesian3.subtract(s.position,a,n.position),n.frustum.xOffset=-i,executeCommands$1(e,t),Camera.clone(s,n)}Scene.prototype.updateAndExecuteCommands=function(e,t){var i=this._frameState.mode;this._environmentState.useWebVR?executeWebVRCommands(this,e,t):i!==SceneMode$1.SCENE2D||this._mapMode2D===MapMode2D$1.ROTATE?executeCommandsInViewport(!0,this,e,t):(updateAndClearFramebuffers(this,e,t),execute2DViewportCommands(this,e))};var scratch2DViewportCartographic=new Cartographic(Math.PI,CesiumMath.PI_OVER_TWO),scratch2DViewportMaxCoord=new Cartesian3,scratch2DViewportSavedPosition=new Cartesian3,scratch2DViewportTransform=new Matrix4,scratch2DViewportCameraTransform=new Matrix4,scratch2DViewportEyePoint=new Cartesian3,scratch2DViewportWindowCoords=new Cartesian3,scratch2DViewport=new BoundingRectangle;function execute2DViewportCommands(e,t){var i=e.context,r=e.frameState,n=e.camera,a=t.viewport,o=BoundingRectangle.clone(a,scratch2DViewport);t.viewport=o;var s=scratch2DViewportMaxCoord;e.mapProjection.project(scratch2DViewportCartographic,s);var l=Cartesian3.clone(n.position,scratch2DViewportSavedPosition),c=Matrix4.clone(n.transform,scratch2DViewportCameraTransform),u=n.frustum.clone();n._setTransform(Matrix4.IDENTITY);var d=Matrix4.computeViewportTransformation(o,0,1,scratch2DViewportTransform),h=n.frustum.projectionMatrix,p=n.positionWC.y,m=Cartesian3.fromElements(CesiumMath.sign(p)*s.x-p,0,-n.positionWC.x,scratch2DViewportEyePoint),f=Transforms.pointToGLWindowCoordinates(h,d,m,scratch2DViewportWindowCoords);f.x=Math.floor(f.x);h=o.x,d=o.width;0===p||f.x<=h||f.x>=h+d?executeCommandsInViewport(!0,e,t):(Math.abs(h+.5*d-f.x)<1?(o.width=f.x-o.x,n.position.x*=CesiumMath.sign(n.position.x),n.frustum.right=0,r.cullingVolume=n.frustum.computeCullingVolume(n.positionWC,n.directionWC,n.upWC),i.uniformState.update(r),executeCommandsInViewport(!0,e,t),o.x=f.x,n.position.x=-n.position.x,n.frustum.right=-n.frustum.left,n.frustum.left=0):f.x>h+.5*d?(o.width=f.x-h,m=n.frustum.right,n.frustum.right=s.x-p,r.cullingVolume=n.frustum.computeCullingVolume(n.positionWC,n.directionWC,n.upWC),i.uniformState.update(r),executeCommandsInViewport(!0,e,t),o.x=f.x,o.width=h+d-f.x,n.position.x=-n.position.x,n.frustum.left=-n.frustum.right,n.frustum.right=m-2*n.frustum.right):(o.x=f.x,o.width=h+d-f.x,d=n.frustum.left,n.frustum.left=-s.x-p,r.cullingVolume=n.frustum.computeCullingVolume(n.positionWC,n.directionWC,n.upWC),i.uniformState.update(r),executeCommandsInViewport(!0,e,t),o.x=h,o.width=f.x-h,n.position.x=-n.position.x,n.frustum.right=-n.frustum.left,n.frustum.left=d-2*n.frustum.left),r.cullingVolume=n.frustum.computeCullingVolume(n.positionWC,n.directionWC,n.upWC),i.uniformState.update(r),executeCommandsInViewport(!1,e,t)),n._setTransform(c),Cartesian3.clone(l,n.position),n.frustum=u.clone(),t.viewport=a}function executeCommandsInViewport(e,t,i,r){var n=t._environmentState,a=t._view,n=n.renderTranslucentDepthForPick;e||n||(t.frameState.commandList.length=0),n||updateAndRenderPrimitives(t),a.createPotentiallyVisibleSet(t),e&&(defined(r)&&updateAndClearFramebuffers(t,i,r),n||(executeComputeCommands(t),executeShadowMapCastCommands(t))),executeCommands$1(t,i)}var scratchCullingVolume$1=new CullingVolume;function updateDebugFrustumPlanes(e){var t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new DebugCameraPrimitive({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),defined(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function updateShadowMaps(e){var t=e._frameState,i=t.shadowMaps,r=i.length,e=0<r&&!t.passes.pick&&e.mode===SceneMode$1.SCENE3D;if(e!==t.shadowState.shadowsEnabled&&(++t.shadowState.lastDirtyTime,t.shadowState.shadowsEnabled=e),t.shadowState.lightShadowsEnabled=!1,e){for(var n=0;n<r;++n)if(i[n]!==t.shadowState.shadowMaps[n]){++t.shadowState.lastDirtyTime;break}t.shadowState.shadowMaps.length=0;for(var a=t.shadowState.lightShadowMaps.length=0;a<r;++a){var o=i[a];o.update(t),t.shadowState.shadowMaps.push(o),o.fromLightSource&&(t.shadowState.lightShadowMaps.push(o),t.shadowState.lightShadowsEnabled=!0),o.dirty&&(++t.shadowState.lastDirtyTime,o.dirty=!1)}}}function updateAndRenderPrimitives(e){var t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),updateDebugFrustumPlanes(e),updateShadowMaps(e),e._globe&&e._globe.render(t)}function updateAndClearFramebuffers(e,t,i){var r=e._context,n=e._frameState,a=e._environmentState,o=e._view,s=e._frameState.passes.pick,l=a.useWebVR;a.originalFramebuffer=t.framebuffer,defined(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!l?e._sunPostProcess=new SunPostProcess:defined(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!defined(e.sun)&&defined(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);var c=e._clearColorCommand;Color.clone(i,c.color),c.execute(r,t);var u=a.useGlobeDepthFramebuffer=defined(o.globeDepth);u&&(o.globeDepth.update(r,t,o.viewport,e._hdr,a.clearGlobeDepth),o.globeDepth.clear(r,t,i));var d=o.oit,h=a.useOIT=!s&&defined(d)&&d.isSupported();h&&(d.update(r,t,o.globeDepth.framebuffer,e._hdr),d.clear(r,t,i),a.useOIT=d.isSupported());var p,m=e.postProcessStages,f=a.usePostProcess=!s&&(e._hdr||0<m.length||m.ambientOcclusion.enabled||m.fxaa.enabled||m.bloom.enabled);a.usePostProcessSelected=!1,f&&(o.sceneFramebuffer.update(r,o.viewport,e._hdr),o.sceneFramebuffer.clear(r,t,i),m.update(r,n.useLogDepth,e._hdr),m.clear(r),f=a.usePostProcess=m.ready,a.usePostProcessSelected=f&&m.hasSelected),a.isSunVisible&&e.sunBloom&&!l?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(r,t,i)):u?t.framebuffer=o.globeDepth.framebuffer:f&&(t.framebuffer=o.sceneFramebuffer.getFramebuffer()),defined(t.framebuffer)&&c.execute(r,t),(a.useInvertClassification=!s&&defined(t.framebuffer)&&e.invertClassification)&&(1===e.frameState.invertClassificationColor.alpha&&a.useGlobeDepthFramebuffer&&(p=o.globeDepth.framebuffer),defined(p)||r.depthTexture?(e._invertClassification.previousFramebuffer=p,e._invertClassification.update(r),e._invertClassification.clear(r,t),e.frameState.invertClassificationColor.alpha<1&&h&&((h=(p=e._invertClassification.unclassifiedCommand).derivedCommands).oit=d.createDerivedCommands(p,r,h.oit))):a.useInvertClassification=!1),e._globeTranslucencyState.translucent&&o.globeTranslucencyFramebuffer.updateAndClear(e._hdr,o.viewport,r,t)}function callAfterRenderFunctions(e){for(var t=e._frameState.afterRender,i=0,r=t.length;i<r;++i)t[i](),e.requestRender();t.length=0}function getGlobeHeight(e){var t=e._globe,e=e.camera.positionCartographic;if(defined(t)&&t.show&&defined(e))return t.getHeight(e)}function isCameraUnderground(e){var t=e.camera,i=e._mode,r=e.globe,n=e._screenSpaceCameraController,t=t.positionCartographic;if(!defined(t))return!1;if(!n.onMap()&&t.height<0)return!0;if(!defined(r)||!r.show||i===SceneMode$1.SCENE2D||i===SceneMode$1.MORPHING)return!1;e=e._globeHeight;return defined(e)&&t.height<e}function updateDebugShowFramesPerSecond(e,t){var i,r;e.debugShowFramesPerSecond?(defined(e._performanceDisplay)||((i=document.createElement("div")).className="cesium-performanceDisplay-defaultContainer",e._canvas.parentNode.appendChild(i),r=new PerformanceDisplay({container:i}),e._performanceDisplay=r,e._performanceContainer=i),e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)):defined(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function prePassesUpdate(e){e._jobScheduler.resetBudgets();var t=e._frameState;e.primitives.prePassesUpdate(t),defined(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function postPassesUpdate(e){var t=e._frameState;e.primitives.postPassesUpdate(t),RequestScheduler.update()}Scene.prototype.updateEnvironment=function(){var e=this._frameState,t=this._view,i=this._environmentState,r=e.passes.render,n=e.passes.offscreen,a=this.skyAtmosphere,o=this.globe,s=this._globeTranslucencyState;!r||this._mode!==SceneMode$1.SCENE2D&&t.camera.frustum instanceof OrthographicFrustum||!s.environmentVisible?(i.skyAtmosphereCommand=void 0,i.skyBoxCommand=void 0,i.sunDrawCommand=void 0,i.sunComputeCommand=void 0,i.moonCommand=void 0):(defined(a)?(defined(o)&&(a.setDynamicAtmosphereColor(o.enableLighting&&o.dynamicAtmosphereLighting,o.dynamicAtmosphereLightingFromSun),i.isReadyForAtmosphere=i.isReadyForAtmosphere||0<o._surface._tilesToRender.length),i.skyAtmosphereCommand=a.update(e,o),defined(i.skyAtmosphereCommand)&&this.updateDerivedCommands(i.skyAtmosphereCommand)):i.skyAtmosphereCommand=void 0,i.skyBoxCommand=defined(this.skyBox)?this.skyBox.update(e,this._hdr):void 0,t=defined(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0,i.sunDrawCommand=defined(t)?t.drawCommand:void 0,i.sunComputeCommand=defined(t)?t.computeCommand:void 0,i.moonCommand=defined(this.moon)?this.moon.update(e):void 0);o=i.clearGlobeDepth=defined(o)&&o.show&&(!o.depthTestAgainstTerrain||this.mode===SceneMode$1.SCENE2D);(i.useDepthPlane=o&&this.mode===SceneMode$1.SCENE3D&&s.useDepthPlane)&&this._depthPlane.update(e),i.renderTranslucentDepthForPick=!1,i.useWebVR=this._useWebVR&&this.mode!==SceneMode$1.SCENE2D&&!n;for(var s=e.mode!==SceneMode$1.SCENE3D||s.sunVisibleThroughGlobe?void 0:e.occluder,l=e.cullingVolume,c=scratchCullingVolume$1.planes,u=0;u<5;++u)c[u]=l.planes[u];l=scratchCullingVolume$1,i.isSkyAtmosphereVisible=defined(i.skyAtmosphereCommand)&&i.isReadyForAtmosphere,i.isSunVisible=this.isVisible(i.sunDrawCommand,l,s),i.isMoonVisible=this.isVisible(i.moonCommand,l,s);i=this.specularEnvironmentMaps,s=this._specularEnvironmentMapAtlas;!defined(i)||defined(s)&&s.url===i?!defined(i)&&defined(s)&&(s.destroy(),this._specularEnvironmentMapAtlas=void 0):(s=s&&s.destroy(),this._specularEnvironmentMapAtlas=new OctahedralProjectedCubeMap(i)),defined(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(e)},Scene.prototype.resolveFramebuffers=function(e){var t=this._context,i=this._frameState,r=this._environmentState,n=this._view,a=n.globeDepth,o=r.useOIT,s=r.useGlobeDepthFramebuffer,l=r.usePostProcess,c=r.originalFramebuffer,u=s?a.framebuffer:void 0,d=n.sceneFramebuffer.getFramebuffer(),h=n.sceneFramebuffer.getIdFramebuffer();r.separatePrimitiveFramebuffer&&a.executeMergeColor(t,e),o&&(e.framebuffer=l?d:c,n.oit.execute(t,e)),l&&(r=s&&!o?u:d,n=this.postProcessStages,r=r.getColorTexture(0),h=h.getColorTexture(0),d=defaultValue(u,d).depthStencilTexture,n.execute(t,r,d,h),n.copy(t,c)),o||l||!s||(e.framebuffer=c,a.executeCopyColor(t,e));i=i.useLogDepth;this.debugShowGlobeDepth&&s&&getDebugGlobeDepth(this,this.debugShowDepthFrustum-1).executeDebugGlobeDepth(t,e,i),this.debugShowPickDepth&&s&&this._picking.getPickDepth(this,this.debugShowDepthFrustum-1).executeDebugPickDepth(t,e,i)},Scene.prototype.initializeFrame=function(){120==this._shaderFrameCount++&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeight=getGlobeHeight(this),this._cameraUnderground=isCameraUnderground(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),defined(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};var scratchBackgroundColor=new Color;function render(e){var t=e._frameState,i=e.context,r=i.uniformState,n=e._defaultView;e._view=n,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=renderTilesetPassState;var a=defaultValue(e.backgroundColor,Color.BLACK);e._hdr&&((a=Color.clone(a,scratchBackgroundColor)).red=Math.pow(a.red,e.gamma),a.green=Math.pow(a.green,e.gamma),a.blue=Math.pow(a.blue,e.gamma)),t.backgroundColor=a,e.fog.update(t),r.update(t);var o=e.shadowMap;defined(o)&&o.enabled&&(!defined(e.light)||e.light instanceof SunLight?Cartesian3.negate(r.sunDirectionWC,e._shadowMapCamera.direction):Cartesian3.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(o)),e._computeCommandList.length=0,e._overlayCommandList.length=0;o=n.viewport;o.x=0,o.y=0,o.width=i.drawingBufferWidth,o.height=i.drawingBufferHeight;n=n.passState;n.framebuffer=void 0,n.blendingEnabled=void 0,n.scissorTest=void 0,n.viewport=BoundingRectangle.clone(o,n.viewport),defined(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(n,a),e.resolveFramebuffers(n),n.framebuffer=void 0,executeOverlayCommands(e,n),defined(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),i.endFrame()}function tryAndCatchError(t,e){try{e(t)}catch(e){if(t._renderError.raiseEvent(t,e),t.rethrowRenderErrors)throw e}}function updateMostDetailedRayPicks(e){return e._picking.updateMostDetailedRayPicks(e)}function updatePreloadPass(e){var t=e._frameState;preloadTilesetPassState.camera=t.camera,preloadTilesetPassState.cullingVolume=t.cullingVolume,e.primitives.updateForPass(t,preloadTilesetPassState)}function updatePreloadFlightPass(e){var t=e._frameState;t.camera.canPreloadFlight()&&(preloadFlightTilesetPassState.camera=e.preloadFlightCamera,preloadFlightTilesetPassState.cullingVolume=e.preloadFlightCullingVolume,e.primitives.updateForPass(t,preloadFlightTilesetPassState))}function updateRequestRenderModeDeferCheckPass(e){e.primitives.updateForPass(e._frameState,requestRenderModeDeferCheckPassState)}Scene.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);var t=this._frameState;t.newFrame=!1,defined(e)||(e=JulianDate.now());var i=this._view.checkForCameraUpdates(this),r=!this.requestRenderMode||this._renderRequested||i||this._logDepthBufferDirty||this._hdrDirty||this.mode===SceneMode$1.MORPHING;!r&&defined(this.maximumRenderTimeChange)&&defined(this._lastRenderTime)&&(i=Math.abs(JulianDate.secondsDifference(this._lastRenderTime,e)),r=r||i>this.maximumRenderTimeChange),r&&(this._lastRenderTime=JulianDate.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1,updateFrameNumber(this,CesiumMath.incrementWrap(t.frameNumber,15e6,1),e),t.newFrame=!0),tryAndCatchError(this,prePassesUpdate),this.primitives.show&&(tryAndCatchError(this,updateMostDetailedRayPicks),tryAndCatchError(this,updatePreloadPass),tryAndCatchError(this,updatePreloadFlightPass),r||tryAndCatchError(this,updateRequestRenderModeDeferCheckPass)),this._postUpdate.raiseEvent(this,e),r&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),tryAndCatchError(this,render)),updateDebugShowFramesPerSecond(this,r),tryAndCatchError(this,postPassesUpdate),callAfterRenderFunctions(this),r&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())},Scene.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)},Scene.prototype.requestRender=function(){this._renderRequested=!0},Scene.prototype.clampLineWidth=function(e){return Math.max(ContextLimits.minimumAliasedLineWidth,Math.min(e,ContextLimits.maximumAliasedLineWidth))},Scene.prototype.pick=function(e,t,i){return this._picking.pick(this,e,t,i)},Scene.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)},Scene.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)},Scene.prototype.drillPick=function(e,t,i,r){return this._picking.drillPick(this,e,t,i,r)},Scene.prototype.pickFromRay=function(e,t,i){return this._picking.pickFromRay(this,e,t,i)},Scene.prototype.drillPickFromRay=function(e,t,i,r){return this._picking.drillPickFromRay(this,e,t,i,r)},Scene.prototype.pickFromRayMostDetailed=function(e,t,i){return this._picking.pickFromRayMostDetailed(this,e,t,i)},Scene.prototype.drillPickFromRayMostDetailed=function(e,t,i,r){return this._picking.drillPickFromRayMostDetailed(this,e,t,i,r)},Scene.prototype.sampleHeight=function(e,t,i){return this._picking.sampleHeight(this,e,t,i)},Scene.prototype.clampToHeight=function(e,t,i,r){return this._picking.clampToHeight(this,e,t,i,r)},Scene.prototype.sampleHeightMostDetailed=function(e,t,i){return this._picking.sampleHeightMostDetailed(this,e,t,i)},Scene.prototype.clampToHeightMostDetailed=function(e,t,i){return this._picking.clampToHeightMostDetailed(this,e,t,i)},Scene.prototype.cartesianToCanvasCoordinates=function(e,t){return SceneTransforms.wgs84ToWindowCoordinates(this,e,t)},Scene.prototype.completeMorph=function(){this._transitioner.completeMorph()},Scene.prototype.morphTo2D=function(e){var t=this.globe,t=(defined(t)?t:this.mapProjection).ellipsoid;e=defaultValue(e,2),this._transitioner.morphTo2D(e,t)},Scene.prototype.morphToColumbusView=function(e){var t=this.globe,t=(defined(t)?t:this.mapProjection).ellipsoid;e=defaultValue(e,2),this._transitioner.morphToColumbusView(e,t)},Scene.prototype.morphTo3D=function(e){var t=this.globe,t=(defined(t)?t:this.mapProjection).ellipsoid;e=defaultValue(e,2),this._transitioner.morphTo3D(e,t)},Scene.prototype.isDestroyed=function(){return!1},Scene.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),defined(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(var e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,destroyObject(this)};var SkyAtmosphereCommon="const float Kr = 0.0025;\nconst float Kr4PI = Kr * 4.0 * czm_pi;\nconst float Km = 0.0015;\nconst float Km4PI = Km * 4.0 * czm_pi;\nconst float ESun = 15.0;\nconst float KmESun = Km * ESun;\nconst float KrESun = Kr * ESun;\nconst vec3 InvWavelength = vec3(\n5.60204474633241,\n9.473284437923038,\n19.643802610477206);\nconst float rayleighScaleDepth = 0.25;\nconst int nSamples = 2;\nconst float fSamples = 2.0;\nconst float g = -0.95;\nconst float g2 = g * g;\n#ifdef COLOR_CORRECT\nuniform vec3 u_hsbShift;\n#endif\nuniform vec3 u_radiiAndDynamicAtmosphereColor;\nfloat scale(float cosAngle)\n{\nfloat x = 1.0 - cosAngle;\nreturn rayleighScaleDepth * exp(-0.00287 + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\n}\nvec3 getLightDirection(vec3 positionWC)\n{\nfloat lightEnum = u_radiiAndDynamicAtmosphereColor.z;\nvec3 lightDirection =\npositionWC * float(lightEnum == 0.0) +\nczm_lightDirectionWC * float(lightEnum == 1.0) +\nczm_sunDirectionWC * float(lightEnum == 2.0);\nreturn normalize(lightDirection);\n}\nvoid calculateRayScatteringFromSpace(in vec3 positionWC, in vec3 ray, in float innerRadius, in float outerRadius, inout float far, out vec3 start, out float startOffset)\n{\nfloat cameraHeight = length(positionWC);\nfloat B = 2.0 * dot(positionWC, ray);\nfloat C = cameraHeight * cameraHeight - outerRadius * outerRadius;\nfloat det = max(0.0, B * B - 4.0 * C);\nfloat near = 0.5 * (-B - sqrt(det));\nstart = positionWC + ray * near;\nfar -= near;\nfloat startAngle = dot(ray, start) / outerRadius;\nfloat startDepth = exp(-1.0 / rayleighScaleDepth);\nstartOffset = startDepth * scale(startAngle);\n}\nvoid calculateRayScatteringFromGround(in vec3 positionWC, in vec3 ray, in float atmosphereScale, in float innerRadius, out vec3 start, out float startOffset)\n{\nfloat cameraHeight = length(positionWC);\nstart = positionWC;\nfloat height = length(start);\nfloat depth = exp((atmosphereScale / rayleighScaleDepth ) * (innerRadius - cameraHeight));\nfloat startAngle = dot(ray, start) / height;\nstartOffset = depth*scale(startAngle);\n}\nczm_raySegment rayEllipsoidIntersection(czm_ray ray, vec3 inverseRadii)\n{\nvec3 o = inverseRadii * (czm_inverseView * vec4(ray.origin, 1.0)).xyz;\nvec3 d = inverseRadii * (czm_inverseView * vec4(ray.direction, 0.0)).xyz;\nfloat a = dot(d, d);\nfloat b = dot(d, o);\nfloat c = dot(o, o) - 1.0;\nfloat discriminant = b * b - a * c;\nif (discriminant < 0.0)\n{\nreturn czm_emptyRaySegment;\n}\ndiscriminant = sqrt(discriminant);\nfloat t1 = (-b - discriminant) / a;\nfloat t2 = (-b + discriminant) / a;\nif (t1 < 0.0 && t2 < 0.0)\n{\nreturn czm_emptyRaySegment;\n}\nif (t1 < 0.0 && t2 >= 0.0)\n{\nt1 = 0.0;\n}\nreturn czm_raySegment(t1, t2);\n}\nvec3 getAdjustedPosition(vec3 positionWC, float innerRadius)\n{\nfloat cameraHeight = czm_eyeHeight + innerRadius;\nreturn normalize(positionWC) * cameraHeight;\n}\nvec3 getTranslucentPosition(vec3 positionWC, vec3 outerPositionWC, float innerRadius, out bool intersectsEllipsoid)\n{\nvec3 directionWC = normalize(outerPositionWC - positionWC);\nvec3 directionEC = czm_viewRotation * directionWC;\nczm_ray viewRay = czm_ray(vec3(0.0), directionEC);\nczm_raySegment raySegment = rayEllipsoidIntersection(viewRay, czm_ellipsoidInverseRadii);\nintersectsEllipsoid = raySegment.start >= 0.0;\nif (intersectsEllipsoid)\n{\nreturn positionWC + raySegment.stop * directionWC;\n}\nreturn getAdjustedPosition(positionWC, innerRadius);\n}\nvoid calculateMieColorAndRayleighColor(vec3 outerPositionWC, out vec3 mieColor, out vec3 rayleighColor)\n{\nfloat outerRadius = u_radiiAndDynamicAtmosphereColor.x;\nfloat innerRadius = u_radiiAndDynamicAtmosphereColor.y;\n#ifdef GLOBE_TRANSLUCENT\nbool intersectsEllipsoid = false;\nvec3 startPositionWC = getTranslucentPosition(czm_viewerPositionWC, outerPositionWC, innerRadius, intersectsEllipsoid);\n#else\nvec3 startPositionWC = getAdjustedPosition(czm_viewerPositionWC, innerRadius);\n#endif\nvec3 lightDirection = getLightDirection(startPositionWC);\nvec3 ray = outerPositionWC - startPositionWC;\nfloat far = length(ray);\nray /= far;\nfloat atmosphereScale = 1.0 / (outerRadius - innerRadius);\nvec3 start;\nfloat startOffset;\n#ifdef SKY_FROM_SPACE\n#ifdef GLOBE_TRANSLUCENT\nif (intersectsEllipsoid)\n{\ncalculateRayScatteringFromGround(startPositionWC, ray, atmosphereScale, innerRadius, start, startOffset);\n}\nelse\n{\ncalculateRayScatteringFromSpace(startPositionWC, ray, innerRadius, outerRadius, far, start, startOffset);\n}\n#else\ncalculateRayScatteringFromSpace(startPositionWC, ray, innerRadius, outerRadius, far, start, startOffset);\n#endif\n#else\ncalculateRayScatteringFromGround(startPositionWC, ray, atmosphereScale, innerRadius, start, startOffset);\n#endif\nfloat sampleLength = far / fSamples;\nfloat scaledLength = sampleLength * atmosphereScale;\nvec3 sampleRay = ray * sampleLength;\nvec3 samplePoint = start + sampleRay * 0.5;\nvec3 frontColor = vec3(0.0, 0.0, 0.0);\nfor (int i = 0; i<nSamples; i++)\n{\nfloat height = length(samplePoint);\nfloat depth = exp((atmosphereScale / rayleighScaleDepth ) * (innerRadius - height));\nfloat fLightAngle = dot(lightDirection, samplePoint) / height;\nfloat fCameraAngle = dot(ray, samplePoint) / height;\nfloat fScatter = (startOffset + depth*(scale(fLightAngle) - scale(fCameraAngle)));\nvec3 attenuate = exp(-fScatter * (InvWavelength * Kr4PI + Km4PI));\nfrontColor += attenuate * (depth * scaledLength);\nsamplePoint += sampleRay;\n}\nmieColor = frontColor * KmESun;\nrayleighColor = frontColor * (InvWavelength * KrESun);\nmieColor = min(mieColor, vec3(10000000.0));\nrayleighColor = min(rayleighColor, vec3(10000000.0));\n}\nvec4 calculateFinalColor(vec3 positionWC, vec3 toCamera, vec3 lightDirection, vec3 mieColor, vec3 rayleighColor)\n{\nfloat cosAngle = dot(lightDirection, normalize(toCamera)) / length(toCamera);\nfloat rayleighPhase = 0.75 * (1.0 + cosAngle * cosAngle);\nfloat miePhase = 1.5 * ((1.0 - g2) / (2.0 + g2)) * (1.0 + cosAngle * cosAngle) / pow(1.0 + g2 - 2.0 * g * cosAngle, 1.5);\nvec3 rgb = rayleighPhase * rayleighColor + miePhase * mieColor;\nconst float exposure = 2.0;\nvec3 rgbExposure = vec3(1.0) - exp(-exposure * rgb);\n#ifndef HDR\nrgb = rgbExposure;\n#endif\n#ifdef COLOR_CORRECT\nvec3 hsb = czm_RGBToHSB(rgb);\nhsb.x += u_hsbShift.x;\nhsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0);\nhsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0;\nrgb = czm_HSBToRGB(hsb);\n#endif\nfloat outerRadius = u_radiiAndDynamicAtmosphereColor.x;\nfloat innerRadius = u_radiiAndDynamicAtmosphereColor.y;\nfloat lightEnum = u_radiiAndDynamicAtmosphereColor.z;\nfloat cameraHeight = czm_eyeHeight + innerRadius;\nfloat atmosphereAlpha = clamp((outerRadius - cameraHeight) / (outerRadius - innerRadius), 0.0, 1.0);\nfloat nightAlpha = (lightEnum != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0;\natmosphereAlpha *= pow(nightAlpha, 0.5);\nvec4 finalColor = vec4(rgb, mix(clamp(rgbExposure.b, 0.0, 1.0), 1.0, atmosphereAlpha) * smoothstep(0.0, 1.0, czm_morphTime));\nif (mieColor.b > 1.0)\n{\nfloat strength = mieColor.b;\nfloat minDistance = outerRadius;\nfloat maxDistance = outerRadius * 3.0;\nfloat maxStrengthLerp = 1.0 - clamp((maxDistance - cameraHeight) / (maxDistance - minDistance), 0.0, 1.0);\nfloat maxStrength = mix(100.0, 10000.0, maxStrengthLerp);\nstrength = min(strength, maxStrength);\nfloat alpha = 1.0 - (strength / maxStrength);\nfinalColor.a = alpha;\n}\nreturn finalColor;\n}\n",SkyAtmosphereFS="varying vec3 v_outerPositionWC;\n#ifndef PER_FRAGMENT_ATMOSPHERE\nvarying vec3 v_mieColor;\nvarying vec3 v_rayleighColor;\n#endif\nvoid main (void)\n{\nvec3 toCamera = czm_viewerPositionWC - v_outerPositionWC;\nvec3 lightDirection = getLightDirection(czm_viewerPositionWC);\nvec3 mieColor;\nvec3 rayleighColor;\n#ifdef PER_FRAGMENT_ATMOSPHERE\ncalculateMieColorAndRayleighColor(v_outerPositionWC, mieColor, rayleighColor);\n#else\nmieColor = v_mieColor;\nrayleighColor = v_rayleighColor;\n#endif\ngl_FragColor = calculateFinalColor(czm_viewerPositionWC, toCamera, lightDirection, mieColor, rayleighColor);\n}\n",SkyAtmosphereVS="attribute vec4 position;\nvarying vec3 v_outerPositionWC;\n#ifndef PER_FRAGMENT_ATMOSPHERE\nvarying vec3 v_mieColor;\nvarying vec3 v_rayleighColor;\n#endif\nvoid main(void)\n{\nvec4 positionWC = czm_model * position;\n#ifndef PER_FRAGMENT_ATMOSPHERE\ncalculateMieColorAndRayleighColor(positionWC.xyz, v_mieColor, v_rayleighColor);\n#endif\nv_outerPositionWC = positionWC.xyz;\ngl_Position = czm_modelViewProjection * position;\n}\n";function SkyAtmosphere(e){e=defaultValue(e,Ellipsoid.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;var t=Cartesian3.multiplyByScalar(e.radii,1.025,new Cartesian3);this._scaleMatrix=Matrix4.fromScale(t),this._modelMatrix=new Matrix4,this._command=new DrawCommand({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new Cartesian3;t=new Cartesian3;t.x=1.025*e.maximumRadius,t.y=e.maximumRadius,t.z=0,this._radiiAndDynamicAtmosphereColor=t;var i=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return i._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return i._hueSaturationBrightness.x=i.hueShift,i._hueSaturationBrightness.y=i.saturationShift,i._hueSaturationBrightness.z=i.brightnessShift,i._hueSaturationBrightness}}}Object.defineProperties(SkyAtmosphere.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),SkyAtmosphere.prototype.setDynamicAtmosphereColor=function(e,t){t=e?t?2:1:0;this._radiiAndDynamicAtmosphereColor.z=t};var scratchModelMatrix=new Matrix4;function hasColorCorrection(e){return!(CesiumMath.equalsEpsilon(e.hueShift,0,CesiumMath.EPSILON7)&&CesiumMath.equalsEpsilon(e.saturationShift,0,CesiumMath.EPSILON7)&&CesiumMath.equalsEpsilon(e.brightnessShift,0,CesiumMath.EPSILON7))}SkyAtmosphere.prototype.update=function(e,t){if(this.show){var i=e.mode;if((i===SceneMode$1.SCENE3D||i===SceneMode$1.MORPHING)&&e.passes.render){var r=Matrix4.fromRotationTranslation(e.context.uniformState.inverseViewRotation,Cartesian3.ZERO,scratchModelMatrix),n=Matrix4.multiplyTransformation(r,Axis$1.Y_UP_TO_Z_UP,scratchModelMatrix),a=Matrix4.multiply(this._scaleMatrix,n,scratchModelMatrix);Matrix4.clone(a,this._modelMatrix);i=e.context,r=hasColorCorrection(this),n=e.globeTranslucencyState.translucent,a=this.perFragmentAtmosphere||n||!defined(t)||!t.show,t=this._command;defined(t.vertexArray)||(o=EllipsoidGeometry.createGeometry(new EllipsoidGeometry({radii:new Cartesian3(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:VertexFormat.POSITION_ONLY})),t.vertexArray=VertexArray.fromGeometry({context:i,geometry:o,attributeLocations:GeometryPipeline.createAttributeLocations(o),bufferUsage:BufferUsage$1.STATIC_DRAW}),t.renderState=RenderState.fromCache({cull:{enabled:!0,face:CullFace$1.FRONT},blending:BlendingState$1.ALPHA_BLEND,depthMask:!1}));var o=r|a<<2|n<<3;o!==this._flags&&(this._flags=o,o=[],r&&o.push("COLOR_CORRECT"),a&&o.push("PER_FRAGMENT_ATMOSPHERE"),n&&o.push("GLOBE_TRANSLUCENT"),a=new ShaderSource({defines:o.concat("SKY_FROM_SPACE"),sources:[SkyAtmosphereCommon,SkyAtmosphereVS]}),n=new ShaderSource({defines:o.concat("SKY_FROM_SPACE"),sources:[SkyAtmosphereCommon,SkyAtmosphereFS]}),this._spSkyFromSpace=ShaderProgram.fromCache({context:i,vertexShaderSource:a,fragmentShaderSource:n}),a=new ShaderSource({defines:o.concat("SKY_FROM_ATMOSPHERE"),sources:[SkyAtmosphereCommon,SkyAtmosphereVS]}),n=new ShaderSource({defines:o.concat("SKY_FROM_ATMOSPHERE"),sources:[SkyAtmosphereCommon,SkyAtmosphereFS]}),this._spSkyFromAtmosphere=ShaderProgram.fromCache({context:i,vertexShaderSource:a,fragmentShaderSource:n}));e=e.camera.positionWC;return Cartesian3.magnitude(e)>this._radiiAndDynamicAtmosphereColor.x?t.shaderProgram=this._spSkyFromSpace:t.shaderProgram=this._spSkyFromAtmosphere,t}}},SkyAtmosphere.prototype.isDestroyed=function(){return!1},SkyAtmosphere.prototype.destroy=function(){var e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyFromSpace=this._spSkyFromSpace&&this._spSkyFromSpace.destroy(),this._spSkyFromAtmosphere=this._spSkyFromAtmosphere&&this._spSkyFromAtmosphere.destroy(),destroyObject(this)};var SkyBoxFS="uniform samplerCube u_cubeMap;\nvarying vec3 v_texCoord;\nvoid main()\n{\nvec4 color = textureCube(u_cubeMap, normalize(v_texCoord));\ngl_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime);\n}\n",SkyBoxVS="attribute vec3 position;\nvarying vec3 v_texCoord;\nvoid main()\n{\nvec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position));\ngl_Position = czm_projection * vec4(p, 1.0);\nv_texCoord = position.xyz;\n}\n";function SkyBox(e){this.sources=e.sources,this._sources=void 0,this.show=defaultValue(e.show,!0),this._command=new DrawCommand({modelMatrix:Matrix4.clone(Matrix4.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0}function SphereEmitter(e){e=defaultValue(e,1),this._radius=defaultValue(e,1)}function StyleExpression(){}SkyBox.prototype.update=function(e,t){var i=this;if(this.show&&(e.mode===SceneMode$1.SCENE3D||e.mode===SceneMode$1.MORPHING)&&e.passes.render){var r=e.context;this._sources!==this.sources&&(this._sources=this.sources,"string"==typeof(n=this.sources).positiveX?loadCubeMap(r,this._sources).then(function(e){i._cubeMap=i._cubeMap&&i._cubeMap.destroy(),i._cubeMap=e}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new CubeMap({context:r,source:n})));var n,a,e=this._command;if(defined(e.vertexArray)||(e.uniformMap={u_cubeMap:function(){return i._cubeMap}},n=BoxGeometry.createGeometry(BoxGeometry.fromDimensions({dimensions:new Cartesian3(2,2,2),vertexFormat:VertexFormat.POSITION_ONLY})),a=this._attributeLocations=GeometryPipeline.createAttributeLocations(n),e.vertexArray=VertexArray.fromGeometry({context:r,geometry:n,attributeLocations:a,bufferUsage:BufferUsage$1.STATIC_DRAW}),e.renderState=RenderState.fromCache({blending:BlendingState$1.ALPHA_BLEND})),defined(e.shaderProgram)&&this._useHdr===t||(a=new ShaderSource({defines:[t?"HDR":""],sources:[SkyBoxFS]}),e.shaderProgram=ShaderProgram.fromCache({context:r,vertexShaderSource:SkyBoxVS,fragmentShaderSource:a,attributeLocations:this._attributeLocations}),this._useHdr=t),defined(this._cubeMap))return e}},SkyBox.prototype.isDestroyed=function(){return!1},SkyBox.prototype.destroy=function(){var e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),destroyObject(this)},Object.defineProperties(SphereEmitter.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}}),SphereEmitter.prototype.emit=function(e){var t=CesiumMath.randomBetween(0,CesiumMath.TWO_PI),i=CesiumMath.randomBetween(0,CesiumMath.PI),r=CesiumMath.randomBetween(0,this._radius),n=r*Math.cos(t)*Math.sin(i),t=r*Math.sin(t)*Math.sin(i),i=r*Math.cos(i);e.position=Cartesian3.fromElements(n,t,i,e.position),e.velocity=Cartesian3.normalize(e.position,e.velocity)},StyleExpression.prototype.evaluate=function(e,t){DeveloperError.throwInstantiationError()},StyleExpression.prototype.evaluateColor=function(e,t){DeveloperError.throwInstantiationError()},StyleExpression.prototype.getShaderFunction=function(e,t,i,r){DeveloperError.throwInstantiationError()};var SunFS="uniform sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec4 color = texture2D(u_texture, v_textureCoordinates);\ngl_FragColor = czm_gammaCorrect(color);\n}\n",SunTextureFS="uniform float u_radiusTS;\nvarying vec2 v_textureCoordinates;\nvec2 rotate(vec2 p, vec2 direction)\n{\nreturn vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x);\n}\nvec4 addBurst(vec2 position, vec2 direction, float lengthScalar)\n{\nvec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75);\nfloat radius = length(rotatedPosition) * lengthScalar;\nfloat burst = 1.0 - smoothstep(0.0, 0.55, radius);\nreturn vec4(burst);\n}\nvoid main()\n{\nfloat lengthScalar = 2.0 / sqrt(2.0);\nvec2 position = v_textureCoordinates - vec2(0.5);\nfloat radius = length(position) * lengthScalar;\nfloat surface = step(radius, u_radiusTS);\nvec4 color = vec4(vec2(1.0), surface + 0.2, surface);\nfloat glow = 1.0 - smoothstep(0.0, 0.55, radius);\ncolor.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75;\nvec4 burst = vec4(0.0);\nburst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar);\nburst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar);\nburst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar);\nburst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar);\nburst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar);\nburst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar);\ncolor += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15;\ngl_FragColor = clamp(color, vec4(0.0), vec4(1.0));\n}\n",SunVS="attribute vec2 direction;\nuniform float u_size;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec4 position;\nif (czm_morphTime == 1.0)\n{\nposition = vec4(czm_sunPositionWC, 1.0);\n}\nelse\n{\nposition = vec4(czm_sunPositionColumbusView.zxy, 1.0);\n}\nvec4 positionEC = czm_view * position;\nvec4 positionWC = czm_eyeToWindowCoordinates(positionEC);\nvec2 halfSize = vec2(u_size * 0.5);\nhalfSize *= ((direction * 2.0) - 1.0);\ngl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0);\nv_textureCoordinates = direction;\n}\n";function Sun(){this.show=!0,this._drawCommand=new DrawCommand({primitiveType:PrimitiveType$1.TRIANGLES,boundingVolume:new BoundingSphere,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new BoundingSphere,this._boundingVolume2D=new BoundingSphere,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;var e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(Sun.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var scratchPositionWC=new Cartesian2,scratchLimbWC=new Cartesian2,scratchPositionEC=new Cartesian4,scratchCartesian4$6=new Cartesian4;function TileBoundingVolume(){}function TileCoordinatesImageryProvider(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this._tilingScheme=defined(e.tilingScheme)?e.tilingScheme:new GeographicTilingScheme({ellipsoid:e.ellipsoid}),this._color=defaultValue(e.color,Color.YELLOW),this._errorEvent=new Event,this._tileWidth=defaultValue(e.tileWidth,256),this._tileHeight=defaultValue(e.tileHeight,256),this._readyPromise=when.resolve(!0),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0}function TileDiscardPolicy(e){DeveloperError.throwInstantiationError()}Sun.prototype.update=function(e,t,i){if(this.show){var r=e.mode;if(r!==SceneMode$1.SCENE2D&&r!==SceneMode$1.MORPHING&&e.passes.render){var n,a=e.context,o=t.viewport.width,s=t.viewport.height;defined(this._texture)&&o===this._drawingBufferWidth&&s===this._drawingBufferHeight&&!this._glowFactorDirty&&i===this._useHdr||(this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=o,this._drawingBufferHeight=s,this._glowFactorDirty=!1,this._useHdr=i,s=Math.max(o,s),s=Math.pow(2,Math.ceil(Math.log(s)/Math.log(2))-2),s=Math.max(1,s),l=i?a.halfFloatingPointTexture?PixelDatatype$1.HALF_FLOAT:PixelDatatype$1.FLOAT:PixelDatatype$1.UNSIGNED_BYTE,this._texture=new Texture({context:a,width:s,height:s,pixelFormat:PixelFormat$1.RGBA,pixelDatatype:l}),this._glowLengthTS=5*this._glowFactor,this._radiusTS=1/(1+2*this._glowLengthTS)*.5,l={u_radiusTS:function(){return n._radiusTS}},(n=this)._commands.computeCommand=new ComputeCommand({fragmentShaderSource:SunTextureFS,outputTexture:this._texture,uniformMap:l,persists:!1,owner:this,postExecute:function(){n._commands.computeCommand=void 0}}));var l=this._drawCommand;defined(l.vertexArray)||(h={direction:0},(d=new Uint8Array(8))[0]=0,d[1]=0,d[2]=255,d[3]=0,d[4]=255,d[5]=255,d[6]=0,d[7]=255,c=Buffer$1.createVertexBuffer({context:a,typedArray:d,usage:BufferUsage$1.STATIC_DRAW}),u=[{index:h.direction,vertexBuffer:c,componentsPerAttribute:2,normalize:!0,componentDatatype:ComponentDatatype$1.UNSIGNED_BYTE}],d=Buffer$1.createIndexBuffer({context:a,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:BufferUsage$1.STATIC_DRAW,indexDatatype:IndexDatatype$1.UNSIGNED_SHORT}),l.vertexArray=new VertexArray({context:a,attributes:u,indexBuffer:d}),l.shaderProgram=ShaderProgram.fromCache({context:a,vertexShaderSource:SunVS,fragmentShaderSource:SunFS,attributeLocations:h}),l.renderState=RenderState.fromCache({blending:BlendingState$1.ALPHA_BLEND}),l.uniformMap=this._uniformMap);var c=a.uniformState.sunPositionWC,u=a.uniformState.sunPositionColumbusView,d=this._boundingVolume,h=this._boundingVolume2D;Cartesian3.clone(c,d.center),h.center.x=u.z,h.center.y=u.x,h.center.z=u.y,d.radius=CesiumMath.SOLAR_RADIUS+CesiumMath.SOLAR_RADIUS*this._glowLengthTS,h.radius=d.radius,r===SceneMode$1.SCENE3D?BoundingSphere.clone(d,l.boundingVolume):r===SceneMode$1.COLUMBUS_VIEW&&BoundingSphere.clone(h,l.boundingVolume);c=SceneTransforms.computeActualWgs84Position(e,c,scratchCartesian4$6),c=Cartesian3.magnitude(Cartesian3.subtract(c,e.camera.position,scratchCartesian4$6)),e=a.uniformState.projection,a=scratchPositionEC;a.x=0,a.y=0,a.z=-c,a.w=1;c=Matrix4.multiplyByVector(e,a,scratchCartesian4$6),c=SceneTransforms.clipToGLWindowCoordinates(t.viewport,c,scratchPositionWC);a.x=CesiumMath.SOLAR_RADIUS;a=Matrix4.multiplyByVector(e,a,scratchCartesian4$6),a=SceneTransforms.clipToGLWindowCoordinates(t.viewport,a,scratchLimbWC);return this._size=Cartesian2.magnitude(Cartesian2.subtract(a,c,scratchCartesian4$6)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands}}},Sun.prototype.isDestroyed=function(){return!1},Sun.prototype.destroy=function(){var e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),destroyObject(this)},TileBoundingVolume.prototype.boundingVolume=void 0,TileBoundingVolume.prototype.boundingSphere=void 0,TileBoundingVolume.prototype.distanceToCamera=function(e){DeveloperError.throwInstantiationError()},TileBoundingVolume.prototype.intersectPlane=function(e){DeveloperError.throwInstantiationError()},TileBoundingVolume.prototype.createDebugVolume=function(e){DeveloperError.throwInstantiationError()},Object.defineProperties(TileCoordinatesImageryProvider.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}}),TileCoordinatesImageryProvider.prototype.getTileCredits=function(e,t,i){},TileCoordinatesImageryProvider.prototype.requestImage=function(e,t,i,r){var n=document.createElement("canvas");n.width=256,n.height=256;var a=n.getContext("2d"),o=this._color.toCssColorString();return a.strokeStyle=o,a.lineWidth=2,a.strokeRect(1,1,255,255),a.font="bold 25px Arial",a.textAlign="center",a.fillStyle=o,a.fillText("L: "+i,124,86),a.fillText("X: "+e,124,136),a.fillText("Y: "+t,124,186),n},TileCoordinatesImageryProvider.prototype.pickFeatures=function(e,t,i,r,n){},TileDiscardPolicy.prototype.isReady=DeveloperError.throwInstantiationError,TileDiscardPolicy.prototype.shouldDiscardImage=DeveloperError.throwInstantiationError;var TileState={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},TileState$1=Object.freeze(TileState);function TimeDynamicPointCloud(e){e=defaultValue(e,defaultValue.EMPTY_OBJECT),this.show=defaultValue(e.show,!0),this.modelMatrix=Matrix4.clone(defaultValue(e.modelMatrix,Matrix4.IDENTITY)),this.shadows=defaultValue(e.shadows,ShadowMode$1.ENABLED),this.maximumMemoryUsage=defaultValue(e.maximumMemoryUsage,256),this.shading=new PointCloudShading(e.shading),this.style=e.style,this.frameFailed=new Event,this.frameChanged=new Event,this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new PointCloudEyeDomeLighting,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._readyPromise=when.defer(),this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=arrayFill(new Array(5),0),this._runningAverage=0}function getFragmentShaderLoaded$1(e){return"uniform vec4 czm_pickColor;\n"+e}function getUniformMapLoaded$1(t){return function(e){return combine(e,{czm_pickColor:function(){return t._pickId.color}})}}function getPickIdLoaded$1(){return"czm_pickColor"}Object.defineProperties(TimeDynamicPointCloud.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ClippingPlaneCollection.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(defined(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}},readyPromise:{get:function(){return this._readyPromise.promise}}}),TimeDynamicPointCloud.prototype.makeStyleDirty=function(){this._styleDirty=!0},TimeDynamicPointCloud.prototype._getAverageLoadTime=function(){return 0===this._runningLength?.05:this._runningAverage};var scratchDate$1=new JulianDate;function getClockMultiplier(e){var t=e._clock,e=t.canAnimate&&t.shouldAnimate,t=t.multiplier;return e?t:0}function getIntervalIndex(e,t){return e._intervals.indexOf(t.start)}function getNextInterval(e,t){var i=e._intervals,r=e._clock,n=getClockMultiplier(e);if(0!==n){var a=e._getAverageLoadTime(),a=JulianDate.addSeconds(r.currentTime,a*n,scratchDate$1),a=i.indexOf(a);return a===getIntervalIndex(e,t)&&(0<=n?++a:--a),i.get(a)}}function getCurrentInterval(e){var t=e._intervals,e=e._clock.currentTime,e=t.indexOf(e);return t.get(e)}function reachedInterval(e,t,i){var r=getClockMultiplier(e),t=getIntervalIndex(e,t),i=getIntervalIndex(e,i);return 0<=r?i<=t:t<=i}function handleFrameFailure(t,i){return function(e){e=defined(e.message)?e.message:e.toString();0<t.frameFailed.numberOfListeners?t.frameFailed.raiseEvent({uri:i,message:e}):(console.log("A frame failed to load: "+i),console.log("Error: "+e))}}function requestFrame(t,e,i){var r,n=getIntervalIndex(t,e),a=t._frames,o=a[n];return defined(o)||(r=defined(r=e.data.transform)?Matrix4.fromArray(r):void 0,e=e.data.uri,o={pointCloud:void 0,transform:r,timestamp:getTimestamp$1(),sequential:!0,ready:!1,touchedFrameNumber:i.frameNumber},a[n]=o,Resource.fetchArrayBuffer({url:e}).then(function(e){return o.pointCloud=new PointCloud({arrayBuffer:e,cull:!0,fragmentShaderLoaded:getFragmentShaderLoaded$1,uniformMapLoaded:getUniformMapLoaded$1(t),pickIdLoaded:getPickIdLoaded$1}),o.pointCloud.readyPromise}).otherwise(handleFrameFailure(t,e))),o}function updateAverageLoadTime(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function prepareFrame(e,t,i,r){t.touchedFrameNumber<r.frameNumber-1&&(t.sequential=!1);var n,a,o=t.pointCloud;defined(o)&&!t.ready&&(a=(n=r.commandList).length,renderFrame(e,t,i,r),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,n.length=a,t.sequential&&updateAverageLoadTime(e,(getTimestamp$1()-t.timestamp)/1e3))),t.touchedFrameNumber=r.frameNumber}var scratchModelMatrix$1=new Matrix4;function getGeometricError$1(e,t){e=e.shading;return defined(e)&&defined(e.baseResolution)?e.baseResolution:defined(t.boundingSphere)?CesiumMath.cbrt(t.boundingSphere.volume()/t.pointsLength):0}function getMaximumAttenuation(e){e=e.shading;return defined(e)&&defined(e.maximumAttenuation)?e.maximumAttenuation:10}var defaultShading$1=new PointCloudShading;function renderFrame(e,t,i,r){var n=defaultValue(e.shading,defaultShading$1),a=t.pointCloud,o=defaultValue(t.transform,Matrix4.IDENTITY);a.modelMatrix=Matrix4.multiplyTransformation(e.modelMatrix,o,scratchModelMatrix$1),a.style=e.style,a.time=i.timeSinceLoad,a.shadows=e.shadows,a.clippingPlanes=e._clippingPlanes,a.isClipped=i.isClipped,a.attenuation=n.attenuation,a.backFaceCulling=n.backFaceCulling,a.normalShading=n.normalShading,a.geometricError=getGeometricError$1(e,a),a.geometricErrorScale=n.geometricErrorScale,a.maximumAttenuation=getMaximumAttenuation(e),a.update(r),t.touchedFrameNumber=r.frameNumber}function loadFrame(e,t,i,r){prepareFrame(e,requestFrame(e,t,r),i,r)}function getUnloadCondition(t){return function(e){return e.touchedFrameNumber<t.frameNumber}}function unloadFrames(e,t){for(var i=e._frames,r=i.length,n=0;n<r;++n){var a,o=i[n];defined(o)&&(defined(t)&&!t(o)||(a=o.pointCloud,o.ready&&(e._totalMemoryUsageInBytes-=a.geometryByteLength),defined(a)&&a.destroy(),o===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),i[n]=void 0))}}function getFrame(e,t){t=getIntervalIndex(e,t),t=e._frames[t];if(defined(t)&&t.ready)return t}function updateInterval(e,t,i,r,n){return defined(i)&&(i.ready||(loadFrame(e,t,r,n),i.ready))}function getNearestReadyInterval(e,t,i,r,n){var a,o,s=e._intervals,l=e._frames,i=getIntervalIndex(e,i),c=getIntervalIndex(e,t);if(c<=i){for(a=i;c<=a;--a)if(updateInterval(e,o=s.get(a),l[a],r,n))return o}else for(a=i;a<=c;++a)if(updateInterval(e,o=s.get(a),l[a],r,n))return o;return t}function setFramesDirty(e,t,i){for(var r=e._frames,n=r.length,a=0;a<n;++a){var o=r[a];defined(o)&&defined(o.pointCloud)&&(o.pointCloud.clippingPlanesDirty=t,o.pointCloud.styleDirty=i)}}var updateState={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};TimeDynamicPointCloud.prototype.update=function(e){var t,i,r,n,a,o,s,l,c,u,d;e.mode!==SceneMode$1.MORPHING&&this.show&&(defined(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),defined(this._loadTimestamp)||(this._loadTimestamp=JulianDate.clone(e.time)),s=Math.max(1e3*JulianDate.secondsDifference(e.time,this._loadTimestamp),0),a=0,u=!1,(l=defined(n=this._clippingPlanes)&&n.enabled)&&(n.update(e),a=n.clippingPlanesState),this._clippingPlanesState!==a&&(this._clippingPlanesState=a,u=!0),o=this._styleDirty,this._styleDirty=!1,(u||o)&&setFramesDirty(this,u,o),updateState.timeSinceLoad=s,updateState.isClipped=l,t=this.shading,i=this._pointCloudEyeDomeLighting,r=(d=e.commandList).length,n=this._previousInterval,a=this._nextInterval,defined(u=getCurrentInterval(this))&&(o=!1,l=0===(s=getClockMultiplier(this)),s!==this._clockMultiplier&&(o=!0,this._clockMultiplier=s),defined(n)&&!l||(n=u),defined(a)&&!o&&!reachedInterval(this,u,a)||(a=getNextInterval(this,u)),defined(u=getFrame(this,n=getNearestReadyInterval(this,n,u,updateState,e)))||(loadFrame(this,n,updateState,e),u=this._lastRenderedFrame),defined(u)&&renderFrame(this,u,updateState,e),defined(a)&&loadFrame(this,a,updateState,e),c=this,defined(u)&&!defined(this._lastRenderedFrame)&&e.afterRender.push(function(){c._readyPromise.resolve(c)}),defined(u)&&u!==this._lastRenderedFrame&&0<c.frameChanged.numberOfListeners&&e.afterRender.push(function(){c.frameChanged.raiseEvent(c)}),this._previousInterval=n,this._nextInterval=a,this._lastRenderedFrame=u,u=this._totalMemoryUsageInBytes,1024*this.maximumMemoryUsage*1024<u&&unloadFrames(this,getUnloadCondition(e)),d=d.length-r,defined(t)&&t.attenuation&&t.eyeDomeLighting&&0<d&&i.update(e,r,t,this.boundingSphere)))},TimeDynamicPointCloud.prototype.isDestroyed=function(){return!1},TimeDynamicPointCloud.prototype.destroy=function(){return unloadFrames(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),destroyObject(this)};var ViewportQuadFS="varying vec2 v_textureCoordinates;\nvoid main()\n{\nczm_materialInput materialInput;\nmaterialInput.s = v_textureCoordinates.s;\nmaterialInput.st = v_textureCoordinates;\nmaterialInput.str = vec3(v_textureCoordinates, 0.0);\nmaterialInput.normalEC = vec3(0.0, 0.0, -1.0);\nczm_material material = czm_getMaterial(materialInput);\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n}\n",oldValue;function ViewportQuad(e,t){this.show=!0,defined(e)||(e=new BoundingRectangle),this.rectangle=BoundingRectangle.clone(e),defined(t)||(t=Material.fromType(Material.ColorType,{color:new Color(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}ViewportQuad.prototype.update=function(e){var t,i;this.show&&(defined(i=this._rs)&&BoundingRectangle.equals(i.viewport,this.rectangle)||(this._rs=RenderState.fromCache({blending:BlendingState$1.ALPHA_BLEND,viewport:this.rectangle})),e.passes.render&&(t=e.context,this._material===this.material&&defined(this._overlayCommand)||(this._material=this.material,defined(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy(),i=new ShaderSource({sources:[this._material.shaderSource,ViewportQuadFS]}),this._overlayCommand=t.createViewportQuadCommand(i,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=Pass$1.OVERLAY),this._material.update(t),this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)))},ViewportQuad.prototype.isDestroyed=function(){return!1},ViewportQuad.prototype.destroy=function(){return defined(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),destroyObject(this)},"undefined"!=typeof ko&&(oldValue=ko),function(I){var T=this||(0,eval)("this"),b=T.document,v=T.navigator,x=T.jQuery,S=T.JSON;x||"undefined"==typeof jQuery||(x=jQuery),function(e,r){function i(e,t){return(null===e||typeof e in l)&&e===t}function a(e,t){var i;return function(){i=i||M.a.setTimeout(function(){i=I,e()},t)}}function o(e,t){var i;return function(){clearTimeout(i),i=M.a.setTimeout(e,t)}}function c(e,t){t&&"change"!==t?"beforeChange"===t?this.pc(e):this.gb(e,t):this.qc(e)}function n(e,t){null!==t&&t.s&&t.s()}function s(e,t){var i=this.qd,r=i[p];r.ra||(this.Qb&&this.mb[t]?(i.uc(t,e,this.mb[t]),this.mb[t]=null,--this.Qb):r.I[t]||i.uc(t,e,r.J?{da:e}:i.$c(e)),e.Ja&&e.gd())}var M=void 0!==e?e:{};M.b=function(e,t){for(var i=e.split("."),r=M,n=0;n<i.length-1;n++)r=r[i[n]];r[i[i.length-1]]=t},M.L=function(e,t,i){e[t]=i},M.version="3.5.1",M.b("version",M.version),M.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},M.a=function(){function d(e,t){for(var i in e)a.call(e,i)&&t(i,e[i])}function e(e,t){if(t)for(var i in t)a.call(t,i)&&(e[i]=t[i]);return e}function t(e,t){return e.__proto__=t,e}function n(e,t,i,r){var n=e[t].match(h)||[];M.a.D(i.match(h),function(e){M.a.Na(n,e,r)}),e[t]=n.join(" ")}var a=Object.prototype.hasOwnProperty,i={__proto__:[]}instanceof Array,r="function"==typeof Symbol,o={},s={};o[v&&/Firefox\/2/i.test(v.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],o.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),d(o,function(e,t){if(t.length)for(var i=0,r=t.length;i<r;i++)s[t[i]]=e});var l,c={propertychange:!0},u=b&&function(){for(var e=3,t=b.createElement("div"),i=t.getElementsByTagName("i");t.innerHTML="\x3c!--[if gt IE "+ ++e+"]><i></i><![endif]--\x3e",i[0];);return 4<e?e:I}(),h=/\S+/g;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(e,t,i){for(var r=0,n=e.length;r<n;r++)t.call(i,e[r],r,e)},A:"function"==typeof Array.prototype.indexOf?function(e,t){return Array.prototype.indexOf.call(e,t)}:function(e,t){for(var i=0,r=e.length;i<r;i++)if(e[i]===t)return i;return-1},Lb:function(e,t,i){for(var r=0,n=e.length;r<n;r++)if(t.call(i,e[r],r,e))return e[r];return I},Pa:function(e,t){t=M.a.A(e,t);0<t?e.splice(t,1):0===t&&e.shift()},wc:function(e){var t=[];return e&&M.a.D(e,function(e){M.a.A(t,e)<0&&t.push(e)}),t},Mb:function(e,t,i){var r=[];if(e)for(var n=0,a=e.length;n<a;n++)r.push(t.call(i,e[n],n));return r},jb:function(e,t,i){var r=[];if(e)for(var n=0,a=e.length;n<a;n++)t.call(i,e[n],n)&&r.push(e[n]);return r},Nb:function(e,t){if(t instanceof Array)e.push.apply(e,t);else for(var i=0,r=t.length;i<r;i++)e.push(t[i]);return e},Na:function(e,t,i){var r=M.a.A(M.a.bc(e),t);r<0?i&&e.push(t):i||e.splice(r,1)},Ba:i,extend:e,setPrototypeOf:t,Ab:i?t:e,P:d,Ga:function(e,t,i){if(!e)return e;var r,n={};for(r in e)a.call(e,r)&&(n[r]=t.call(i,e[r],r,e));return n},Tb:function(e){for(;e.firstChild;)M.removeNode(e.firstChild)},Yb:function(e){for(var t=((e=M.a.la(e))[0]&&e[0].ownerDocument||b).createElement("div"),i=0,r=e.length;i<r;i++)t.appendChild(M.oa(e[i]));return t},Ca:function(e,t){for(var i=0,r=e.length,n=[];i<r;i++){var a=e[i].cloneNode(!0);n.push(t?M.oa(a):a)}return n},va:function(e,t){if(M.a.Tb(e),t)for(var i=0,r=t.length;i<r;i++)e.appendChild(t[i])},Xc:function(e,t){var i=e.nodeType?[e]:e;if(0<i.length){for(var r=i[0],n=r.parentNode,a=0,o=t.length;a<o;a++)n.insertBefore(t[a],r);for(a=0,o=i.length;a<o;a++)M.removeNode(i[a])}},Ua:function(e,t){if(e.length){for(t=8===t.nodeType&&t.parentNode||t;e.length&&e[0].parentNode!==t;)e.splice(0,1);for(;1<e.length&&e[e.length-1].parentNode!==t;)e.length--;if(1<e.length){var i=e[0],r=e[e.length-1];for(e.length=0;i!==r;)e.push(i),i=i.nextSibling;e.push(r)}}return e},Zc:function(e,t){u<7?e.setAttribute("selected",t):e.selected=t},Db:function(e){return null===e||e===I?"":e.trim?e.trim():e.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(e,t){return e=e||"",!(t.length>e.length)&&e.substring(0,t.length)===t},vd:function(e,t){if(e===t)return!0;if(11===e.nodeType)return!1;if(t.contains)return t.contains(1!==e.nodeType?e.parentNode:e);if(t.compareDocumentPosition)return 16==(16&t.compareDocumentPosition(e));for(;e&&e!=t;)e=e.parentNode;return!!e},Sb:function(e){return M.a.vd(e,e.ownerDocument.documentElement)},kd:function(e){return!!M.a.Lb(e,M.a.Sb)},R:function(e){return e&&e.tagName&&e.tagName.toLowerCase()},Ac:function(e){return M.onError?function(){try{return e.apply(this,arguments)}catch(e){throw M.onError&&M.onError(e),e}}:e},setTimeout:function(e,t){return setTimeout(M.a.Ac(e),t)},Gc:function(e){setTimeout(function(){throw M.onError&&M.onError(e),e},0)},B:function(t,e,i){var r=M.a.Ac(i);if(i=c[e],M.options.useOnlyNativeEvents||i||!x)if(i||"function"!=typeof t.addEventListener){if(void 0===t.attachEvent)throw Error("Browser doesn't support addEventListener or attachEvent");var n=function(e){r.call(t,e)},a="on"+e;t.attachEvent(a,n),M.a.K.za(t,function(){t.detachEvent(a,n)})}else t.addEventListener(e,r,!1);else l=l||("function"==typeof x(t).on?"on":"bind"),x(t)[l](e,r)},Fb:function(e,t){if(!e||!e.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var i=!("input"!==M.a.R(e)||!e.type||"click"!=t.toLowerCase())&&("checkbox"==(i=e.type)||"radio"==i);if(M.options.useOnlyNativeEvents||!x||i)if("function"==typeof b.createEvent){if("function"!=typeof e.dispatchEvent)throw Error("The supplied element doesn't support dispatchEvent");(i=b.createEvent(s[t]||"HTMLEvents")).initEvent(t,!0,!0,T,0,0,0,0,0,!1,!1,!1,!1,0,e),e.dispatchEvent(i)}else if(i&&e.click)e.click();else{if(void 0===e.fireEvent)throw Error("Browser doesn't support triggering events");e.fireEvent("on"+t)}else x(e).trigger(t)},f:function(e){return M.O(e)?e():e},bc:function(e){return M.O(e)?e.v():e},Eb:function(t,e,i){var r;e&&("object"==typeof t.classList?(r=t.classList[i?"add":"remove"],M.a.D(e.match(h),function(e){r.call(t.classList,e)})):"string"==typeof t.className.baseVal?n(t.className,"baseVal",e,i):n(t,"className",e,i))},Bb:function(e,t){var i=M.a.f(t);null!==i&&i!==I||(i="");t=M.h.firstChild(e);!t||3!=t.nodeType||M.h.nextSibling(t)?M.h.va(e,[e.ownerDocument.createTextNode(i)]):t.data=i,M.a.Ad(e)},Yc:function(e,t){if(e.name=t,u<=7)try{var i=e.name.replace(/[&<>'"]/g,function(e){return"&#"+e.charCodeAt(0)+";"});e.mergeAttributes(b.createElement("<input name='"+i+"'/>"),!1)}catch(e){}},Ad:function(e){9<=u&&((e=1==e.nodeType?e:e.parentNode).style&&(e.style.zoom=e.style.zoom))},wd:function(e){var t;u&&(t=e.style.width,e.style.width=0,e.style.width=t)},Pd:function(e,t){e=M.a.f(e),t=M.a.f(t);for(var i=[],r=e;r<=t;r++)i.push(r);return i},la:function(e){for(var t=[],i=0,r=e.length;i<r;i++)t.push(e[i]);return t},Da:function(e){return r?Symbol(e):e},Zd:6===u,$d:7===u,W:u,Lc:function(e,t){for(var i=M.a.la(e.getElementsByTagName("input")).concat(M.a.la(e.getElementsByTagName("textarea"))),r="string"==typeof t?function(e){return e.name===t}:function(e){return t.test(e.name)},n=[],a=i.length-1;0<=a;a--)r(i[a])&&n.push(i[a]);return n},Nd:function(e){return"string"==typeof e&&(e=M.a.Db(e))?S&&S.parse?S.parse(e):new Function("return "+e)():null},hc:function(e,t,i){if(!S||!S.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return S.stringify(M.a.f(e),t,i)},Od:function(e,t,i){var r=(i=i||{}).params||{},n=i.includeFields||this.Jc,a=e;if("object"==typeof e&&"form"===M.a.R(e))for(var a=e.action,o=n.length-1;0<=o;o--)for(var s=M.a.Lc(e,n[o]),l=s.length-1;0<=l;l--)r[s[l].name]=s[l].value;t=M.a.f(t);var c,u=b.createElement("form");for(c in u.style.display="none",u.action=a,u.method="post",t)e=b.createElement("input"),e.type="hidden",e.name=c,e.value=M.a.hc(M.a.f(t[c])),u.appendChild(e);d(r,function(e,t){var i=b.createElement("input");i.type="hidden",i.name=e,i.value=t,u.appendChild(i)}),b.body.appendChild(u),i.submitter?i.submitter(u):u.submit(),setTimeout(function(){u.parentNode.removeChild(u)},0)}}}(),M.b("utils",M.a),M.b("utils.arrayForEach",M.a.D),M.b("utils.arrayFirst",M.a.Lb),M.b("utils.arrayFilter",M.a.jb),M.b("utils.arrayGetDistinctValues",M.a.wc),M.b("utils.arrayIndexOf",M.a.A),M.b("utils.arrayMap",M.a.Mb),M.b("utils.arrayPushAll",M.a.Nb),M.b("utils.arrayRemoveItem",M.a.Pa),M.b("utils.cloneNodes",M.a.Ca),M.b("utils.createSymbolOrString",M.a.Da),M.b("utils.extend",M.a.extend),M.b("utils.fieldsIncludedWithJsonPost",M.a.Jc),M.b("utils.getFormFields",M.a.Lc),M.b("utils.objectMap",M.a.Ga),M.b("utils.peekObservable",M.a.bc),M.b("utils.postJson",M.a.Od),M.b("utils.parseJson",M.a.Nd),M.b("utils.registerEventHandler",M.a.B),M.b("utils.stringifyJson",M.a.hc),M.b("utils.range",M.a.Pd),M.b("utils.toggleDomNodeCssClass",M.a.Eb),M.b("utils.triggerEvent",M.a.Fb),M.b("utils.unwrapObservable",M.a.f),M.b("utils.objectForEach",M.a.P),M.b("utils.addOrRemoveItem",M.a.Na),M.b("utils.setTextContent",M.a.Bb),M.b("unwrap",M.a.f),Function.prototype.bind||(Function.prototype.bind=function(t){var i=this;if(1===arguments.length)return function(){return i.apply(t,arguments)};var r=Array.prototype.slice.call(arguments,1);return function(){var e=r.slice(0);return e.push.apply(e,arguments),i.apply(t,e)}}),M.a.g=new function(){var r,n=0,a="__ko__"+(new Date).getTime(),o={},e=M.a.W?(r=function(e,t){var i=e[a];if(!i||"null"===i||!o[i]){if(!t)return I;i=e[a]="ko"+n++,o[i]={}}return o[i]},function(e){var t=e[a];return!!t&&(delete o[t],!(e[a]=null))}):(r=function(e,t){var i=e[a];return!i&&t&&(i=e[a]={}),i},function(e){return!!e[a]&&(delete e[a],!0)});return{get:function(e,t){e=r(e,!1);return e&&e[t]},set:function(e,t,i){(e=r(e,i!==I))&&(e[t]=i)},Ub:function(e,t,i){return(e=r(e,!0))[t]||(e[t]=i)},clear:e,Z:function(){return n+++a}}},M.b("utils.domData",M.a.g),M.b("utils.domData.clear",M.a.g.clear),M.a.K=new function(){function r(e,t){var i=M.a.g.get(e,o);return i===I&&t&&(i=[],M.a.g.set(e,o,i)),i}function a(e){if(t=r(e,!1))for(var t=t.slice(0),i=0;i<t.length;i++)t[i](e);M.a.g.clear(e),M.a.K.cleanExternalData(e),s[e.nodeType]&&n(e.childNodes,!0)}function n(e,t){for(var i,r=[],n=0;n<e.length;n++)if((!t||8===e[n].nodeType)&&(a(r[r.length]=i=e[n]),e[n]!==i))for(;n--&&-1==M.a.A(r,e[n]););}var o=M.a.g.Z(),t={1:!0,8:!0,9:!0},s={1:!0,9:!0};return{za:function(e,t){if("function"!=typeof t)throw Error("Callback must be a function");r(e,!0).push(t)},yb:function(e,t){var i=r(e,!1);i&&(M.a.Pa(i,t),0==i.length&&M.a.g.set(e,o,I))},oa:function(e){return M.u.G(function(){t[e.nodeType]&&(a(e),s[e.nodeType]&&n(e.getElementsByTagName("*")))}),e},removeNode:function(e){M.oa(e),e.parentNode&&e.parentNode.removeChild(e)},cleanExternalData:function(e){x&&"function"==typeof x.cleanData&&x.cleanData([e])}}},M.oa=M.a.K.oa,M.removeNode=M.a.K.removeNode,M.b("cleanNode",M.oa),M.b("removeNode",M.removeNode),M.b("utils.domNodeDisposal",M.a.K),M.b("utils.domNodeDisposal.addDisposeCallback",M.a.K.za),M.b("utils.domNodeDisposal.removeDisposeCallback",M.a.K.yb),function(){var o=[0,"",""],e=[1,"<table>","</table>"],t=[3,"<table><tbody><tr>","</tr></tbody></table>"],i=[1,"<select multiple='multiple'>","</select>"],s={thead:e,tbody:e,tfoot:e,tr:[2,"<table><tbody>","</tbody></table>"],td:t,th:t,option:i,optgroup:i},l=M.a.W<=8;M.a.ua=function(e,t){var i;if(x){if(x.parseHTML)i=x.parseHTML(e,t)||[];else if((i=x.clean([e],t))&&i[0]){for(var r=i[0];r.parentNode&&11!==r.parentNode.nodeType;)r=r.parentNode;r.parentNode&&r.parentNode.removeChild(r)}}else{(i=t)||(i=b);var r=i.parentWindow||i.defaultView||T,n=M.a.Db(e).toLowerCase(),a=i.createElement("div"),t=(n=n.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&s[n[1]]||o,n=t[0];for(t="ignored<div>"+t[1]+e+t[2]+"</div>","function"==typeof r.innerShiv?a.appendChild(r.innerShiv(t)):(l&&i.body.appendChild(a),a.innerHTML=t,l&&a.parentNode.removeChild(a));n--;)a=a.lastChild;i=M.a.la(a.lastChild.childNodes)}return i},M.a.Md=function(e,t){t=M.a.ua(e,t);return t.length&&t[0].parentElement||M.a.Yb(t)},M.a.fc=function(e,t){if(M.a.Tb(e),null!==(t=M.a.f(t))&&t!==I)if("string"!=typeof t&&(t=t.toString()),x)x(e).html(t);else for(var i=M.a.ua(t,e.ownerDocument),r=0;r<i.length;r++)e.appendChild(i[r])}}(),M.b("utils.parseHtmlFragment",M.a.ua),M.b("utils.setHtml",M.a.fc),M.aa=function(){var r={};return{Xb:function(e){if("function"!=typeof e)throw Error("You can only pass a function to ko.memoization.memoize()");var t=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return r[t]=e,"\x3c!--[ko_memo:"+t+"]--\x3e"},bd:function(e,t){var i=r[e];if(i===I)throw Error("Couldn't find any memo with ID "+e+". Perhaps it's already been unmemoized.");try{return i.apply(null,t||[]),!0}finally{delete r[e]}},cd:function(e,t){var i=[];!function e(t,i){if(t)if(8==t.nodeType)null!=(r=M.aa.Uc(t.nodeValue))&&i.push({ud:t,Kd:r});else if(1==t.nodeType)for(var r=0,n=t.childNodes,a=n.length;r<a;r++)e(n[r],i)}(e,i);for(var r=0,n=i.length;r<n;r++){var a=i[r].ud,o=[a];t&&M.a.Nb(o,t),M.aa.bd(i[r].Kd,o),a.nodeValue="",a.parentNode&&a.parentNode.removeChild(a)}},Uc:function(e){return(e=e.match(/^\[ko_memo\:(.*?)\]$/))?e[1]:null}}}(),M.b("memoization",M.aa),M.b("memoization.memoize",M.aa.Xb),M.b("memoization.unmemoize",M.aa.bd),M.b("memoization.parseMemoText",M.aa.Uc),M.b("memoization.unmemoizeDomNodeAndDescendants",M.aa.cd),M.na=function(){function e(){if(n)for(var e,t=n,i=0;o<n;)if(e=r[o++]){if(t<o){if(5e3<=++i){o=n,M.a.Gc(Error("'Too much recursion' after processing "+i+" task groups."));break}t=n}try{e()}catch(e){M.a.Gc(e)}}}function t(){e(),o=n=r.length=0}var i,r=[],n=0,a=1,o=0,s=T.MutationObserver?(s=t,i=b.createElement("div"),new MutationObserver(s).observe(i,{attributes:!0}),function(){i.classList.toggle("foo")}):b&&"onreadystatechange"in b.createElement("script")?function(e){var t=b.createElement("script");t.onreadystatechange=function(){t.onreadystatechange=null,b.documentElement.removeChild(t),t=null,e()},b.documentElement.appendChild(t)}:function(e){setTimeout(e,0)};return{scheduler:s,zb:function(e){return n||M.na.scheduler(t),r[n++]=e,a++},cancel:function(e){o<=(e-=a-n)&&e<n&&(r[e]=null)},resetForTesting:function(){var e=n-o;return o=n=r.length=0,e},Sd:e}}(),M.b("tasks",M.na),M.b("tasks.schedule",M.na.zb),M.b("tasks.runEarly",M.na.Sd),M.Ta={throttle:function(t,i){t.throttleEvaluation=i;var r=null;return M.$({read:t,write:function(e){clearTimeout(r),r=M.a.setTimeout(function(){t(e)},i)}})},rateLimit:function(e,t){var i,r,n;"number"==typeof t?i=t:(i=t.timeout,r=t.method),e.Hb=!1,n="function"==typeof r?r:"notifyWhenChangesStop"==r?o:a,e.ub(function(e){return n(e,i,t)})},deferred:function(r,e){if(!0!==e)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");r.Hb||(r.Hb=!0,r.ub(function(e){var t,i=!1;return function(){if(!i){M.na.cancel(t),t=M.na.zb(e);try{i=!0,r.notifySubscribers(I,"dirty")}finally{i=!1}}}}))},notify:function(e,t){e.equalityComparer="always"==t?null:i}};var l={undefined:1,boolean:1,number:1,string:1};M.b("extenders",M.Ta),M.ic=function(e,t,i){this.da=e,this.lc=t,this.mc=i,this.Ib=!1,this.fb=this.Jb=null,M.L(this,"dispose",this.s),M.L(this,"disposeWhenNodeIsRemoved",this.l)},M.ic.prototype.s=function(){this.Ib||(this.fb&&M.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},M.ic.prototype.l=function(e){this.Jb=e,M.a.K.za(e,this.fb=this.s.bind(this))},M.T=function(){M.a.Ab(this,t),t.qb(this)};var t={qb:function(e){e.U={change:[]},e.sc=1},subscribe:function(e,t,i){var r=this;i=i||"change";var n=new M.ic(r,t?e.bind(t):e,function(){M.a.Pa(r.U[i],n),r.hb&&r.hb(i)});return r.Qa&&r.Qa(i),r.U[i]||(r.U[i]=[]),r.U[i].push(n),n},notifySubscribers:function(e,t){if("change"===(t=t||"change")&&this.Gb(),this.Wa(t)){var i="change"===t&&this.ed||this.U[t].slice(0);try{M.u.xc();for(var r,n=0;r=i[n];++n)r.Ib||r.lc(e)}finally{M.u.end()}}},ob:function(){return this.sc},Dd:function(e){return this.ob()!==e},Gb:function(){++this.sc},ub:function(e){var i,t,r,n,a,o=this,s=M.O(o);o.gb||(o.gb=o.notifySubscribers,o.notifySubscribers=c);var l=e(function(){o.Ja=!1,s&&n===o&&(n=o.nc?o.nc():o());var e=t||a&&o.sb(r,n);a=t=i=!1,e&&o.gb(r=n)});o.qc=function(e,t){t&&o.Ja||(a=!t),o.ed=o.U.change.slice(0),o.Ja=i=!0,n=e,l()},o.pc=function(e){i||(r=e,o.gb(e,"beforeChange"))},o.rc=function(){a=!0},o.gd=function(){o.sb(r,o.v(!0))&&(t=!0)}},Wa:function(e){return this.U[e]&&this.U[e].length},Bd:function(e){if(e)return this.U[e]&&this.U[e].length||0;var i=0;return M.a.P(this.U,function(e,t){"dirty"!==e&&(i+=t.length)}),i},sb:function(e,t){return!this.equalityComparer||!this.equalityComparer(e,t)},toString:function(){return"[object Object]"},extend:function(e){var i=this;return e&&M.a.P(e,function(e,t){e=M.Ta[e];"function"==typeof e&&(i=e(i,t)||i)}),i}};M.L(t,"init",t.qb),M.L(t,"subscribe",t.subscribe),M.L(t,"extend",t.extend),M.L(t,"getSubscriptionsCount",t.Bd),M.a.Ba&&M.a.setPrototypeOf(t,Function.prototype),M.T.fn=t,M.Qc=function(e){return null!=e&&"function"==typeof e.subscribe&&"function"==typeof e.notifySubscribers},M.b("subscribable",M.T),M.b("isSubscribable",M.Qc),M.S=M.u=function(){function r(e){i.push(t),t=e}function n(){t=i.pop()}var t,i=[],a=0;return{xc:r,end:n,cc:function(e){if(t){if(!M.Qc(e))throw Error("Only subscribable things can act as dependencies");t.od.call(t.pd,e,e.fd||(e.fd=++a))}},G:function(e,t,i){try{return r(),e.apply(t,i||[])}finally{n()}},qa:function(){if(t)return t.o.qa()},Va:function(){if(t)return t.o.Va()},Ya:function(){if(t)return t.Ya},o:function(){if(t)return t.o}}}(),M.b("computedContext",M.S),M.b("computedContext.getDependenciesCount",M.S.qa),M.b("computedContext.getDependencies",M.S.Va),M.b("computedContext.isInitial",M.S.Ya),M.b("computedContext.registerDependency",M.S.cc),M.b("ignoreDependencies",M.Yd=M.u.G);var u=M.a.Da("_latestValue");M.ta=function(e){function t(){return 0<arguments.length?(t.sb(t[u],arguments[0])&&(t.ya(),t[u]=arguments[0],t.xa()),this):(M.u.cc(t),t[u])}return t[u]=e,M.a.Ba||M.a.extend(t,M.T.fn),M.T.fn.qb(t),M.a.Ab(t,d),M.options.deferUpdates&&M.Ta.deferred(t,!0),t};var d={equalityComparer:i,v:function(){return this[u]},xa:function(){this.notifySubscribers(this[u],"spectate"),this.notifySubscribers(this[u])},ya:function(){this.notifySubscribers(this[u],"beforeChange")}};M.a.Ba&&M.a.setPrototypeOf(d,M.T.fn);var h=M.ta.Ma="__ko_proto__";d[h]=M.ta,M.O=function(e){if((e="function"==typeof e&&e[h])&&e!==d[h]&&e!==M.o.fn[h])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!e},M.Za=function(e){return"function"==typeof e&&(e[h]===d[h]||e[h]===M.o.fn[h]&&e.Nc)},M.b("observable",M.ta),M.b("isObservable",M.O),M.b("isWriteableObservable",M.Za),M.b("isWritableObservable",M.Za),M.b("observable.fn",d),M.L(d,"peek",d.v),M.L(d,"valueHasMutated",d.xa),M.L(d,"valueWillMutate",d.ya),M.Ha=function(e){if("object"!=typeof(e=e||[])||!("length"in e))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return e=M.ta(e),M.a.Ab(e,M.Ha.fn),e.extend({trackArrayChanges:!0})},M.Ha.fn={remove:function(t){for(var e=this.v(),i=[],r="function"!=typeof t||M.O(t)?function(e){return e===t}:t,n=0;n<e.length;n++){var a=e[n];if(r(a)){if(0===i.length&&this.ya(),e[n]!==a)throw Error("Array modified during remove; cannot remove item");i.push(a),e.splice(n,1),n--}}return i.length&&this.xa(),i},removeAll:function(t){if(t!==I)return t?this.remove(function(e){return 0<=M.a.A(t,e)}):[];var e=this.v(),i=e.slice(0);return this.ya(),e.splice(0,e.length),this.xa(),i},destroy:function(t){var e=this.v(),i="function"!=typeof t||M.O(t)?function(e){return e===t}:t;this.ya();for(var r=e.length-1;0<=r;r--){var n=e[r];i(n)&&(n._destroy=!0)}this.xa()},destroyAll:function(t){return t===I?this.destroy(function(){return!0}):t?this.destroy(function(e){return 0<=M.a.A(t,e)}):[]},indexOf:function(e){var t=this();return M.a.A(t,e)},replace:function(e,t){e=this.indexOf(e);0<=e&&(this.ya(),this.v()[e]=t,this.xa())},sorted:function(e){var t=this().slice(0);return e?t.sort(e):t.sort()},reversed:function(){return this().slice(0).reverse()}},M.a.Ba&&M.a.setPrototypeOf(M.Ha.fn,M.ta.fn),M.a.D("pop push reverse shift sort splice unshift".split(" "),function(i){M.Ha.fn[i]=function(){var e=this.v();this.ya(),this.zc(e,i,arguments);var t=e[i].apply(e,arguments);return this.xa(),t===e?this:t}}),M.a.D(["slice"],function(t){M.Ha.fn[t]=function(){var e=this();return e[t].apply(e,arguments)}}),M.Pc=function(e){return M.O(e)&&"function"==typeof e.remove&&"function"==typeof e.push},M.b("observableArray",M.Ha),M.b("isObservableArray",M.Pc),M.Ta.trackArrayChanges=function(i,e){var d,h,r,n,p,a,o,t;i.Ob={},e&&"object"==typeof e&&M.a.extend(i.Ob,e),i.Ob.sparse=!0,i.zc||(d=!1,h=null,p=0,o=i.Qa,t=i.hb,i.Qa=function(e){function t(){var e,t;p&&(e=[].concat(i.v()||[]),i.Wa("arrayChange")&&((!h||1<p)&&(h=M.a.Pb(a,e,i.Ob)),t=h),a=e,h=null,p=0,t&&t.length&&i.notifySubscribers(t,"arrayChange"))}o&&o.call(i,e),"arrayChange"===e&&(d?t():(d=!0,n=i.subscribe(function(){++p},null,"spectate"),a=[].concat(i.v()||[]),h=null,r=i.subscribe(t)))},i.hb=function(e){t&&t.call(i,e),"arrayChange"!==e||i.Wa("arrayChange")||(r&&r.s(),n&&n.s(),n=r=null,d=!1,a=I)},i.zc=function(e,t,i){function r(e,t,i){return n[n.length]={status:e,value:t,index:i}}if(d&&!p){var n=[],a=e.length,o=i.length,s=0;switch(t){case"push":s=a;case"unshift":for(t=0;t<o;t++)r("added",i[t],s+t);break;case"pop":s=a-1;case"shift":a&&r("deleted",e[s],s);break;case"splice":t=Math.min(Math.max(0,i[0]<0?a+i[0]:i[0]),a);for(var a=1===o?a:Math.min(t+(i[1]||0),a),o=t+o-2,s=Math.max(a,o),l=[],c=[],u=2;t<s;++t,++u)t<a&&c.push(r("deleted",e[t],t)),t<o&&l.push(r("added",i[u],t));M.a.Kc(c,l);break;default:return}h=n}})};var p=M.a.Da("_state");M.o=M.$=function(e,t,i){function r(){if(0<arguments.length){if("function"!=typeof n)throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return n.apply(a.nb,arguments),this}return a.ra||M.u.cc(r),(a.ka||a.J&&r.Xa())&&r.ha(),a.X}if("object"==typeof e?i=e:(i=i||{},e&&(i.read=e)),"function"!=typeof i.read)throw Error("Pass a function that returns the value of the ko.computed");var n=i.write,a={X:I,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:i.read,nb:t||i.owner,l:i.disposeWhenNodeIsRemoved||i.l||null,Sa:i.disposeWhen||i.Sa,Rb:null,I:{},V:0,Ic:null};return r[p]=a,r.Nc="function"==typeof n,M.a.Ba||M.a.extend(r,M.T.fn),M.T.fn.qb(r),M.a.Ab(r,m),i.pure?(a.wb=!0,a.J=!0,M.a.extend(r,f)):i.deferEvaluation&&M.a.extend(r,g),M.options.deferUpdates&&M.Ta.deferred(r,!0),a.l&&(a.jc=!0,a.l.nodeType||(a.l=null)),a.J||i.deferEvaluation||r.ha(),a.l&&r.ja()&&M.a.K.za(a.l,a.Rb=function(){r.s()}),r};var m={equalityComparer:i,qa:function(){return this[p].V},Va:function(){var i=[];return M.a.P(this[p].I,function(e,t){i[t.Ka]=t.da}),i},Vb:function(t){if(!this[p].V)return!1;var e=this.Va();return-1!==M.a.A(e,t)||!!M.a.Lb(e,function(e){return e.Vb&&e.Vb(t)})},uc:function(e,t,i){if(this[p].wb&&t===this)throw Error("A 'pure' computed must not be called recursively");(this[p].I[e]=i).Ka=this[p].V++,i.La=t.ob()},Xa:function(){var e,t,i=this[p].I;for(e in i)if(Object.prototype.hasOwnProperty.call(i,e)&&(t=i[e],this.Ia&&t.da.Ja||t.da.Dd(t.La)))return!0},Jd:function(){this.Ia&&!this[p].rb&&this.Ia(!1)},ja:function(){var e=this[p];return e.ka||0<e.V},Rd:function(){this.Ja?this[p].ka&&(this[p].sa=!0):this.Hc()},$c:function(e){if(e.Hb){var t=e.subscribe(this.Jd,this,"dirty"),i=e.subscribe(this.Rd,this);return{da:e,s:function(){t.s(),i.s()}}}return e.subscribe(this.Hc,this)},Hc:function(){var e=this,t=e.throttleEvaluation;t&&0<=t?(clearTimeout(this[p].Ic),this[p].Ic=M.a.setTimeout(function(){e.ha(!0)},t)):e.Ia?e.Ia(!0):e.ha(!0)},ha:function(e){var t=this[p],i=t.Sa,r=!1;if(!t.rb&&!t.ra){if(t.l&&!M.a.Sb(t.l)||i&&i()){if(!t.jc)return void this.s()}else t.jc=!1;t.rb=!0;try{r=this.zd(e)}finally{t.rb=!1}return r}},zd:function(e){var t=this[p],i=!1,r=t.wb?I:!t.V,i={qd:this,mb:t.I,Qb:t.V};M.u.xc({pd:i,od:s,o:this,Ya:r}),t.I={},t.V=0;var n=this.yd(t,i);return(i=t.V?this.sb(t.X,n):(this.s(),!0))&&(t.J?this.Gb():this.notifySubscribers(t.X,"beforeChange"),t.X=n,this.notifySubscribers(t.X,"spectate"),!t.J&&e&&this.notifySubscribers(t.X),this.rc&&this.rc()),r&&this.notifySubscribers(t.X,"awake"),i},yd:function(e,t){try{var i=e.Wc;return e.nb?i.call(e.nb):i()}finally{M.u.end(),t.Qb&&!e.J&&M.a.P(t.mb,n),e.sa=e.ka=!1}},v:function(e){var t=this[p];return(t.ka&&(e||!t.V)||t.J&&this.Xa())&&this.ha(),t.X},ub:function(e){M.T.fn.ub.call(this,e),this.nc=function(){return this[p].J||(this[p].sa?this.ha():this[p].ka=!1),this[p].X},this.Ia=function(e){this.pc(this[p].X),this[p].ka=!0,e&&(this[p].sa=!0),this.qc(this,!e)}},s:function(){var e=this[p];!e.J&&e.I&&M.a.P(e.I,function(e,t){t.s&&t.s()}),e.l&&e.Rb&&M.a.K.yb(e.l,e.Rb),e.I=I,e.V=0,e.ra=!0,e.sa=!1,e.ka=!1,e.J=!1,e.l=I,e.Sa=I,e.Wc=I,this.Nc||(e.nb=I)}},f={Qa:function(e){var i,n=this,a=n[p];!a.ra&&a.J&&"change"==e&&(a.J=!1,a.sa||n.Xa()?(a.I=null,a.V=0,n.ha()&&n.Gb()):(i=[],M.a.P(a.I,function(e,t){i[t.Ka]=e}),M.a.D(i,function(e,t){var i=a.I[e],r=n.$c(i.da);r.Ka=t,r.La=i.La,a.I[e]=r}),n.Xa()&&n.ha()&&n.Gb()),a.ra||n.notifySubscribers(a.X,"awake"))},hb:function(e){var i=this[p];i.ra||"change"!=e||this.Wa("change")||(M.a.P(i.I,function(e,t){t.s&&(i.I[e]={da:t.da,Ka:t.Ka,La:t.La},t.s())}),i.J=!0,this.notifySubscribers(I,"asleep"))},ob:function(){var e=this[p];return e.J&&(e.sa||this.Xa())&&this.ha(),M.T.fn.ob.call(this)}},g={Qa:function(e){"change"!=e&&"beforeChange"!=e||this.v()}};M.a.Ba&&M.a.setPrototypeOf(m,M.T.fn);var _=M.ta.Ma;m[_]=M.o,M.Oc=function(e){return"function"==typeof e&&e[_]===m[_]},M.Fd=function(e){return M.Oc(e)&&e[p]&&e[p].wb},M.b("computed",M.o),M.b("dependentObservable",M.o),M.b("isComputed",M.Oc),M.b("isPureComputed",M.Fd),M.b("computed.fn",m),M.L(m,"peek",m.v),M.L(m,"dispose",m.s),M.L(m,"isActive",m.ja),M.L(m,"getDependenciesCount",m.qa),M.L(m,"getDependencies",m.Va),M.xb=function(e,t){return"function"==typeof e?M.o(e,t,{pure:!0}):((e=M.a.extend({},e)).pure=!0,M.o(e,t))},M.b("pureComputed",M.xb),function(){function s(r,n,a){if(a=a||new e,"object"!=typeof(r=n(r))||null===r||r===I||r instanceof RegExp||r instanceof Date||r instanceof String||r instanceof Number||r instanceof Boolean)return r;var o=r instanceof Array?[]:{};return a.save(r,o),function(e,t){if(e instanceof Array){for(var i=0;i<e.length;i++)t(i);"function"==typeof e.toJSON&&t("toJSON")}else for(i in e)t(i)}(r,function(e){var t=n(r[e]);switch(typeof t){case"boolean":case"number":case"string":case"function":o[e]=t;break;case"object":case"undefined":var i=a.get(t);o[e]=i!==I?i:s(t,n,a)}}),o}function e(){this.keys=[],this.values=[]}M.ad=function(e){if(0==arguments.length)throw Error("When calling ko.toJS, pass the object you want to convert.");return s(e,function(e){for(var t=0;M.O(e)&&t<10;t++)e=e();return e})},M.toJSON=function(e,t,i){return e=M.ad(e),M.a.hc(e,t,i)},e.prototype={constructor:e,save:function(e,t){var i=M.a.A(this.keys,e);0<=i?this.values[i]=t:(this.keys.push(e),this.values.push(t))},get:function(e){return 0<=(e=M.a.A(this.keys,e))?this.values[e]:I}}}(),M.b("toJS",M.ad),M.b("toJSON",M.toJSON),M.Wd=function(r,e,n){function t(t){var e=M.xb(r,n).extend({ma:"always"}),i=e.subscribe(function(e){e&&(i.s(),t(e))});return e.notifySubscribers(e.v()),i}return"function"!=typeof Promise||e?t(e.bind(n)):new Promise(t)},M.b("when",M.Wd),M.w={M:function(e){switch(M.a.R(e)){case"option":return!0===e.__ko__hasDomDataOptionValue__?M.a.g.get(e,M.c.options.$b):!(M.a.W<=7)||e.getAttributeNode("value")&&e.getAttributeNode("value").specified?e.value:e.text;case"select":return 0<=e.selectedIndex?M.w.M(e.options[e.selectedIndex]):I;default:return e.value}},cb:function(e,t,i){switch(M.a.R(e)){case"option":"string"==typeof t?(M.a.g.set(e,M.c.options.$b,I),"__ko__hasDomDataOptionValue__"in e&&delete e.__ko__hasDomDataOptionValue__,e.value=t):(M.a.g.set(e,M.c.options.$b,t),e.__ko__hasDomDataOptionValue__=!0,e.value="number"==typeof t?t:"");break;case"select":""!==t&&null!==t||(t=I);for(var r,n=-1,a=0,o=e.options.length;a<o;++a)if((r=M.w.M(e.options[a]))==t||""===r&&t===I){n=a;break}(i||0<=n||t===I&&1<e.size)&&(e.selectedIndex=n,6===M.a.W&&M.a.setTimeout(function(){e.selectedIndex=n},0));break;default:null!==t&&t!==I||(t=""),e.value=t}}},M.b("selectExtensions",M.w),M.b("selectExtensions.readValue",M.w.M),M.b("selectExtensions.writeValue",M.w.cb),M.m=function(){function i(e){123===(e=M.a.Db(e)).charCodeAt(0)&&(e=e.slice(1,-1));var t,i=[],r=(e+="\n,").match(d),n=[],a=0;if(1<r.length){for(var o,s=0;o=r[s];++s){var l=o.charCodeAt(0);if(44===l){if(a<=0){i.push(t&&n.length?{key:t,value:n.join("")}:{unknown:t||n.join("")}),t=a=0,n=[];continue}}else if(58===l){if(!a&&!t&&1===n.length){t=n.pop();continue}}else{if(47===l&&1<o.length&&(47===o.charCodeAt(1)||42===o.charCodeAt(1)))continue;47===l&&s&&1<o.length?(l=r[s-1].match(h))&&!p[l[0]]&&(r=(e=e.substr(e.indexOf(o)+1)).match(d),s=-1,o="/"):40===l||123===l||91===l?++a:41===l||125===l||93===l?--a:t||n.length||34!==l&&39!==l||(o=o.slice(1,-1))}n.push(o)}if(0<a)throw Error("Unbalanced parentheses, braces, or brackets")}return i}var c=["true","false","null","undefined"],u=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,d=RegExp("\"(?:\\\\.|[^\"])*\"|'(?:\\\\.|[^'])*'|`(?:\\\\.|[^`])*`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.*\n|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,\"'`{}()/:[\\]]*[^\\s,\"'`{}()/:[\\]]|[^\\s]","g"),h=/[\])"'A-Za-z0-9_$]+$/,p={in:1,return:1,typeof:1},m={};return{Ra:[],wa:m,ac:i,vb:function(e,t){function n(e,t){var i;if(!l){var r=M.getBindingHandler(e);if(r&&r.preprocess&&!(t=r.preprocess(t,e,n)))return;(r=m[e])&&(i=t,r=i=!(0<=M.a.A(c,i))&&(null!==(r=i.match(u))&&(r[1]?"Object("+r[1]+")"+r[2]:i))),r&&o.push("'"+("string"==typeof m[e]?m[e]:e)+"':function(_z){"+i+"=_z}")}s&&(t="function(){return "+t+" }"),a.push("'"+e+"':"+t)}var a=[],o=[],s=(t=t||{}).valueAccessors,l=t.bindingParams,e="string"==typeof e?i(e):e;return M.a.D(e,function(e){n(e.key||e.unknown,e.value)}),o.length&&n("_ko_property_writers","{"+o.join(",")+" }"),a.join(",")},Id:function(e,t){for(var i=0;i<e.length;i++)if(e[i].key==t)return!0;return!1},eb:function(e,t,i,r,n){e&&M.O(e)?!M.Za(e)||n&&e.v()===r||e(r):(e=t.get("_ko_property_writers"))&&e[i]&&e[i](r)}}}(),M.b("expressionRewriting",M.m),M.b("expressionRewriting.bindingRewriteValidators",M.m.Ra),M.b("expressionRewriting.parseObjectLiteral",M.m.ac),M.b("expressionRewriting.preProcessBindings",M.m.vb),M.b("expressionRewriting._twoWayBindings",M.m.wa),M.b("jsonExpressionRewriting",M.m),M.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",M.m.vb),function(){function a(e){return 8==e.nodeType&&r.test(t?e.text:e.nodeValue)}function o(e){return 8==e.nodeType&&n.test(t?e.text:e.nodeValue)}function i(e,t){for(var i=e,r=1,n=[];i=i.nextSibling;){if(o(i)&&(M.a.g.set(i,c,!0),0===--r))return n;n.push(i),a(i)&&r++}if(!t)throw Error("Cannot find closing comment tag to match: "+e.nodeValue);return null}function s(e,t){t=i(e,t);return t?(0<t.length?t[t.length-1]:e).nextSibling:null}var t=b&&"\x3c!--test--\x3e"===b.createComment("test").text,r=t?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,n=t?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,l={ul:!0,ol:!0},c="__ko_matchedEndComment__";M.h={ea:{},childNodes:function(e){return a(e)?i(e):e.childNodes},Ea:function(e){if(a(e))for(var t=0,i=(e=M.h.childNodes(e)).length;t<i;t++)M.removeNode(e[t]);else M.a.Tb(e)},va:function(e,t){if(a(e)){M.h.Ea(e);for(var i=e.nextSibling,r=0,n=t.length;r<n;r++)i.parentNode.insertBefore(t[r],i)}else M.a.va(e,t)},Vc:function(e,t){var i;a(e)?(i=e.nextSibling,e=e.parentNode):i=e.firstChild,i?t!==i&&e.insertBefore(t,i):e.appendChild(t)},Wb:function(e,t,i){i?(i=i.nextSibling,a(e)&&(e=e.parentNode),i?t!==i&&e.insertBefore(t,i):e.appendChild(t)):M.h.Vc(e,t)},firstChild:function(e){if(a(e))return!e.nextSibling||o(e.nextSibling)?null:e.nextSibling;if(e.firstChild&&o(e.firstChild))throw Error("Found invalid end comment, as the first child of "+e);return e.firstChild},nextSibling:function(e){if(a(e)&&(e=s(e)),e.nextSibling&&o(e.nextSibling)){var t=e.nextSibling;if(o(t)&&!M.a.g.get(t,c))throw Error("Found end comment without a matching opening comment, as child of "+e);return null}return e.nextSibling},Cd:a,Vd:function(e){return(e=(t?e.text:e.nodeValue).match(r))?e[1]:null},Sc:function(e){if(l[M.a.R(e)]){var t=e.firstChild;if(t)do{if(1===t.nodeType){var i,r=t.firstChild,n=null;if(r)do{}while(n?n.push(r):a(r)?(i=s(r,!0))?r=i:n=[r]:o(r)&&(n=[r]),r=r.nextSibling);if(r=n)for(n=t.nextSibling,i=0;i<r.length;i++)n?e.insertBefore(r[i],n):e.appendChild(r[i])}}while(t=t.nextSibling)}}}}(),M.b("virtualElements",M.h),M.b("virtualElements.allowedBindings",M.h.ea),M.b("virtualElements.emptyNode",M.h.Ea),M.b("virtualElements.insertAfter",M.h.Wb),M.b("virtualElements.prepend",M.h.Vc),M.b("virtualElements.setDomNodeChildren",M.h.va),M.ga=function(){this.nd={}},M.a.extend(M.ga.prototype,{nodeHasBindings:function(e){switch(e.nodeType){case 1:return null!=e.getAttribute("data-bind")||M.j.getComponentNameForNode(e);case 8:return M.h.Cd(e);default:return!1}},getBindings:function(e,t){var i=(i=this.getBindingsString(e,t))?this.parseBindingsString(i,t,e):null;return M.j.tc(i,e,t,!1)},getBindingAccessors:function(e,t){var i=(i=this.getBindingsString(e,t))?this.parseBindingsString(i,t,e,{valueAccessors:!0}):null;return M.j.tc(i,e,t,!0)},getBindingsString:function(e){switch(e.nodeType){case 1:return e.getAttribute("data-bind");case 8:return M.h.Vd(e);default:return null}},parseBindingsString:function(t,e,i,r){try{var n,a,o=this.nd,s=t+(r&&r.valueAccessors||"");return(a=o[s])||(n="with($context){with($data||{}){return{"+M.m.vb(t,r)+"}}}",n=new Function("$context","$element",n),a=o[s]=n),a(e,i)}catch(e){throw e.message="Unable to parse bindings.\nBindings value: "+t+"\nMessage: "+e.message,e}}}),M.ga.instance=new M.ga,M.b("bindingProvider",M.ga),function(){function r(e){var t=(e=M.a.g.get(e,S))&&e.N;t&&(e.N=null,t.Tc())}function n(e,t,i){this.node=e,this.yc=t,this.kb=[],this.H=!1,t.N||M.a.K.za(e,r),i&&i.N&&(i.N.kb.push(e),this.Kb=i)}function a(e){return function(){return e}}function _(e){return e()}function o(i){return M.a.Ga(M.u.G(i),function(e,t){return function(){return i()[t]}})}function y(e,t){return o(this.getBindings.bind(this,e,t))}function s(e,t){var i=M.h.firstChild(t);if(i){var r,n=M.ga.instance,a=n.preprocessNode;if(a){for(;r=i;)i=M.h.nextSibling(r),a.call(n,r);i=M.h.firstChild(t)}for(;r=i;)i=M.h.nextSibling(r),l(e,r)}M.i.ma(t,M.i.H)}function l(e,t){var i=e,r=1===t.nodeType;r&&M.h.Sc(t),(r||M.ga.instance.nodeHasBindings(t))&&(i=c(t,null,e).bindingContextForDescendants),i&&!d[M.a.R(t)]&&s(i,t)}function c(n,e,t){var a,i,r,o,s=M.a.g.Ub(n,S,{}),l=s.hd;if(!e){if(l)throw Error("You cannot apply bindings multiple times to the same element.");s.hd=!0}l||(s.context=t),s.Zb||(s.Zb={}),e&&"function"!=typeof e?a=e:(i=M.ga.instance,r=i.getBindingAccessors||y,o=M.$(function(){return(a=e?e(t,n):r.call(i,n,t))&&(t[C]&&t[C](),t[v]&&t[v]()),a},null,{l:n}),a&&o.ja()||(o=null));var c,u,d,h,p,m,f,g=t;return a&&(u=function(){return M.a.Ga(o?o():a,_)},d=o?function(e){return function(){return _(o()[e])}}:function(e){return a[e]},u.get=function(e){return a[e]&&d(e)()},u.has=function(e){return e in a},M.i.H in a&&M.i.subscribe(n,M.i.H,function(){var e,t=(0,a[M.i.H])();!t||(e=M.h.childNodes(n)).length&&t(e,M.Ec(e[0]))}),M.i.pa in a&&(g=M.i.Cb(n,t),M.i.subscribe(n,M.i.pa,function(){var e=(0,a[M.i.pa])();e&&M.h.firstChild(n)&&e(n)})),h=a,p=[],m={},f=[],M.a.P(h,function t(e){var i;m[e]||((i=M.getBindingHandler(e))&&(i.after&&(f.push(e),M.a.D(i.after,function(e){if(h[e]){if(-1!==M.a.A(f,e))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+f.join(", "));t(e)}}),f.length--),p.push({key:e,Mc:i})),m[e]=!0)}),s=p,M.a.D(s,function(e){var t=e.Mc.init,i=e.Mc.update,r=e.key;if(8===n.nodeType&&!M.h.ea[r])throw Error("The binding '"+r+"' cannot be used with virtual elements");try{"function"==typeof t&&M.u.G(function(){var e=t(n,d(r),u,g.$data,g);if(e&&e.controlsDescendantBindings){if(c!==I)throw Error("Multiple bindings ("+c+" and "+r+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");c=r}}),"function"==typeof i&&M.$(function(){i(n,d(r),u,g.$data,g)},null,{l:n})}catch(e){throw e.message='Unable to process binding "'+r+": "+a[r]+'"\nMessage: '+e.message,e}})),{shouldBindDescendants:s=c===I,bindingContextForDescendants:s&&g}}function u(e,t){return e&&e instanceof M.fa?e:new M.fa(e,I,I,t)}var C=M.a.Da("_subscribable"),h=M.a.Da("_ancestorBindingInfo"),v=M.a.Da("_dataDependency");M.c={};var d={script:!0,textarea:!0,template:!0};M.getBindingHandler=function(e){return M.c[e]};var p={};M.fa=function(e,i,r,n,t){function a(){var e=u?c():c,t=M.a.f(e);return i?(M.a.extend(s,i),h in i&&(s[h]=i[h])):(s.$parents=[],s.$root=t,s.ko=M),s[C]=o,l?t=s.$data:(s.$rawData=e,s.$data=t),r&&(s[r]=t),n&&n(s,i,t),i&&i[C]&&!M.S.o().Vb(i[C])&&i[C](),d&&(s[v]=d),s.$data}var o,s=this,l=e===p,c=l?I:e,u="function"==typeof c&&!M.O(c),d=t&&t.dataDependency;t&&t.exportDependencies?a():((o=M.xb(a)).v(),o.ja()?o.equalityComparer=null:s[C]=I)},M.fa.prototype.createChildContext=function(t,i,r,e){if(!e&&i&&"object"==typeof i&&(i=(e=i).as,r=e.extend),i&&e&&e.noChildContext){var n="function"==typeof t&&!M.O(t);return new M.fa(p,this,null,function(e){r&&r(e),e[i]=n?t():t},e)}return new M.fa(t,this,i,function(e,t){e.$parentContext=t,e.$parent=t.$data,e.$parents=(t.$parents||[]).slice(0),e.$parents.unshift(e.$parent),r&&r(e)},e)},M.fa.prototype.extend=function(t,e){return new M.fa(p,this,null,function(e){M.a.extend(e,"function"==typeof t?t(e):t)},e)};var S=M.a.g.Z();n.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},n.prototype.sd=function(e){M.a.Pa(this.kb,e),!this.kb.length&&this.H&&this.Cc()},n.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,M.a.K.yb(this.node,r),M.i.ma(this.node,M.i.pa),this.Tc())},M.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(e,t,i,r,n){var a=M.a.g.Ub(e,S,{});return a.Fa||(a.Fa=new M.T),n&&n.notifyImmediately&&a.Zb[t]&&M.u.G(i,r,[e]),a.Fa.subscribe(i,r,t)},ma:function(e,t){var i=M.a.g.get(e,S);if(i&&(i.Zb[t]=!0,i.Fa&&i.Fa.notifySubscribers(e,t),t==M.i.H))if(i.N)i.N.Cc();else if(i.N===I&&i.Fa&&i.Fa.Wa(M.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")},Cb:function(e,t){var i=M.a.g.Ub(e,S,{});return i.N||(i.N=new n(e,i,t[h])),t[h]==i?t:t.extend(function(e){e[h]=i})}},M.Td=function(e){return(e=M.a.g.get(e,S))&&e.context},M.ib=function(e,t,i){return 1===e.nodeType&&M.h.Sc(e),c(e,t,u(i))},M.ld=function(e,t,i){return i=u(i),M.ib(e,(r=i,e=e,"function"==typeof(t=t)?o(t.bind(null,r,e)):M.a.Ga(t,a)),i);var r},M.Oa=function(e,t){1!==t.nodeType&&8!==t.nodeType||s(u(e),t)},M.vc=function(e,t,i){if(!x&&T.jQuery&&(x=T.jQuery),arguments.length<2){if(!(t=b.body))throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!t||1!==t.nodeType&&8!==t.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");l(u(e,i),t)},M.Dc=function(e){return!e||1!==e.nodeType&&8!==e.nodeType?I:M.Td(e)},M.Ec=function(e){return(e=M.Dc(e))?e.$data:I},M.b("bindingHandlers",M.c),M.b("bindingEvent",M.i),M.b("bindingEvent.subscribe",M.i.subscribe),M.b("bindingEvent.startPossiblyAsyncContentBinding",M.i.Cb),M.b("applyBindings",M.vc),M.b("applyBindingsToDescendants",M.Oa),M.b("applyBindingAccessorsToNode",M.ib),M.b("applyBindingsToNode",M.ld),M.b("contextFor",M.Dc),M.b("dataFor",M.Ec)}(),function(s){function r(i,e){var r,n,a,o=Object.prototype.hasOwnProperty.call(c,i)?c[i]:s;o?o.subscribe(e):((o=c[i]=new M.T).subscribe(e),a=function(e,t){t=!(!t||!t.synchronous);u[i]={definition:e,Gd:t},delete c[i],r||t?o.notifySubscribers(e):M.na.zb(function(){o.notifySubscribers(e)})},l("getConfig",[n=i],function(t){t?l("loadComponent",[n,t],function(e){a(e,t)}):a(null,null)}),r=!0)}function l(t,i,r,n){var e=(n=n||M.j.loaders.slice(0)).shift();if(e){var a=e[t];if(a){var o=!1;if(a.apply(e,i.concat(function(e){o?r(null):null!==e?r(e):l(t,i,r,n)}))!==s&&(o=!0,!e.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else l(t,i,r,n)}else r(null)}var c={},u={};M.j={get:function(e,t){var i=Object.prototype.hasOwnProperty.call(u,e)?u[e]:s;i?i.Gd?M.u.G(function(){t(i.definition)}):M.na.zb(function(){t(i.definition)}):r(e,t)},Bc:function(e){delete u[e]},oc:l},M.j.loaders=[],M.b("components",M.j),M.b("components.get",M.j.get),M.b("components.clearCachedDefinition",M.j.Bc)}(),function(){function n(e){switch(M.a.R(e)){case"script":return M.a.ua(e.text);case"textarea":return M.a.ua(e.value);case"template":if(a(e.content))return M.a.Ca(e.content.childNodes)}return M.a.Ca(e.childNodes)}function a(e){return T.DocumentFragment?e instanceof DocumentFragment:e&&11===e.nodeType}function d(e,t,i){"string"==typeof t.require?r||T.require?(r||T.require)([t.require],function(e){e&&"object"==typeof e&&e.Xd&&e.default&&(e=e.default),i(e)}):e("Uses require, but no AMD loader is present"):i(t)}function o(t){return function(e){throw Error("Component '"+t+"': "+e)}}var i={};M.j.register=function(e,t){if(!t)throw Error("Invalid configuration for "+e);if(M.j.tb(e))throw Error("Component "+e+" is already registered");i[e]=t},M.j.tb=function(e){return Object.prototype.hasOwnProperty.call(i,e)},M.j.unregister=function(e){delete i[e],M.j.Bc(e)},M.j.Fc={getConfig:function(e,t){t(M.j.tb(e)?i[e]:null)},loadComponent:function(l,e,c){var u=o(l);d(u,e,function(e){function t(){0==--s&&a(o)}var i,r,n,a,o,s;i=l,r=u,a=c,o={},s=2,e=(n=e).template,n=n.viewModel,e?d(r,e,function(e){M.j.oc("loadTemplate",[i,e],function(e){o.template=e,t()})}):t(),n?d(r,n,function(e){M.j.oc("loadViewModel",[i,e],function(e){o[h]=e,t()})}):t()})},loadTemplate:function(e,t,i){var r;e=o(e),"string"==typeof t?i(M.a.ua(t)):t instanceof Array?i(t):a(t)?i(M.a.la(t.childNodes)):t.element?(t=t.element,(T.HTMLElement?t instanceof HTMLElement:t&&t.tagName&&1===t.nodeType)?i(n(t)):"string"==typeof t?(r=b.getElementById(t))?i(n(r)):e("Cannot find element with ID "+t):e("Unknown element type: "+t)):e("Unknown template value: "+t)},loadViewModel:function(e,t,i){!function e(t,i,r){var n;"function"==typeof i?r(function(e){return new i(e)}):"function"==typeof i[h]?r(i[h]):"instance"in i?(n=i.instance,r(function(){return n})):"viewModel"in i?e(t,i.viewModel,r):t("Unknown viewModel value: "+i)}(o(e),t,i)}};var h="createViewModel";M.b("components.register",M.j.register),M.b("components.isRegistered",M.j.tb),M.b("components.unregister",M.j.unregister),M.b("components.defaultLoader",M.j.Fc),M.j.loaders.push(M.j.Fc),M.j.dd=i}(),function(){M.j.getComponentNameForNode=function(e){var t=M.a.R(e);if(M.j.tb(t)&&(-1!=t.indexOf("-")||"[object HTMLUnknownElement]"==""+e||M.a.W<=8&&e.tagName===t))return t},M.j.tc=function(e,t,i,r){if(1===t.nodeType){var n=M.j.getComponentNameForNode(t);if(n){if((e=e||{}).component)throw Error('Cannot use the "component" binding on a custom element matching a component');var a={name:n,params:function(i,e){if(t=i.getAttribute("params")){var t=o.parseBindingsString(t,e,i,{valueAccessors:!0,bindingParams:!0}),t=M.a.Ga(t,function(e){return M.o(e,null,{l:i})}),e=M.a.Ga(t,function(t){var e=t.v();return t.ja()?M.o({read:function(){return M.a.f(t())},write:M.Za(e)&&function(e){t()(e)},l:i}):e});return Object.prototype.hasOwnProperty.call(e,"$raw")||(e.$raw=t),e}return{$raw:{}}}(t,i)};e.component=r?function(){return a}:a}}return e};var o=new M.ga;M.a.W<9&&(M.j.register=function(t){return function(e){return t.apply(this,arguments)}}(M.j.register),b.createDocumentFragment=function(t){return function(){var e=t();M.j.dd;return e}}(b.createDocumentFragment))}(),function(){var n=0;M.c.component={init:function(u,t,e,i,r){function d(){var e=h&&h.dispose;"function"==typeof e&&e.call(h),m&&m.s(),p=h=m=null}var h,p,m,f=M.a.la(M.h.childNodes(u));return M.h.Ea(u),M.a.K.za(u,d),M.o(function(){var o,s,e=M.a.f(t());if("string"==typeof e?o=e:(o=M.a.f(e.name),s=M.a.f(e.params)),!o)throw Error("No component name specified");var l=M.i.Cb(u,r),c=p=++n;M.j.get(o,function(e){if(p===c){if(d(),!e)throw Error("Unknown component '"+o+"'");!function(e,t,i){if(!(t=t.template))throw Error("Component '"+e+"' has no template");e=M.a.Ca(t),M.h.va(i,e)}(o,e,u);var t=(r=s,n={element:u,templateNodes:f},(a=(i=e).createViewModel)?a.call(i,r,n):r);e=l.createChildContext(t,{extend:function(e){e.$component=t,e.$componentTemplateNodes=f}}),t&&t.koDescendantsComplete&&(m=M.i.subscribe(u,M.i.pa,t.koDescendantsComplete,t)),h=t,M.Oa(e,u)}var i,r,n,a})},null,{l:u}),{controlsDescendantBindings:!0}}},M.h.ea.component=!0}();var y={class:"className",for:"htmlFor"};M.c.attr={update:function(n,e){e=M.a.f(e())||{};M.a.P(e,function(e,t){t=M.a.f(t);var i=e.indexOf(":"),i="lookupNamespaceURI"in n&&0<i&&n.lookupNamespaceURI(e.substr(0,i)),r=!1===t||null===t||t===I;r?i?n.removeAttributeNS(i,e):n.removeAttribute(e):t=t.toString(),M.a.W<=8&&e in y?(e=y[e],r?n.removeAttribute(e):n[e]=t):r||(i?n.setAttributeNS(i,e,t):n.setAttribute(e,t)),"name"===e&&M.a.Yc(n,r?"":t)})}},M.c.checked={after:["value","attr"],init:function(a,o,s){function e(){var e,t,i,r=a.checked,n=d();M.S.Ya()||!r&&(p||M.S.qa())||(e=M.u.G(o),l?(t=c?e.v():e,(i=u)!==(u=n)?r&&(M.a.Na(t,n,!0),M.a.Na(t,i,!1)):M.a.Na(t,n,r),c&&M.Za(e)&&e(t)):(h&&(n===I?n=r:r||(n=I)),M.m.eb(e,s,"checked",n,!0)))}var t,l,c,i,u,d=M.xb(function(){return s.has("checkedValue")?M.a.f(s.get("checkedValue")):i?s.has("value")?M.a.f(s.get("value")):a.value:void 0}),h="checkbox"==a.type,p="radio"==a.type;(h||p)&&(t=o(),l=h&&M.a.f(t)instanceof Array,c=!(l&&t.push&&t.splice),i=p||l,u=l?d():I,p&&!a.name&&M.c.uniqueName.init(a,function(){return!0}),M.o(e,null,{l:a}),M.a.B(a,"click",e),M.o(function(){var e=M.a.f(o()),t=d();l?(a.checked=0<=M.a.A(e,t),u=t):a.checked=h&&t===I?!!e:d()===e},null,{l:a}),t=I)}},M.m.wa.checked=!0,M.c.checkedValue={update:function(e,t){e.value=M.a.f(t())}},M.c.class={update:function(e,t){t=M.a.Db(M.a.f(t()));M.a.Eb(e,e.__ko__cssValue,!1),e.__ko__cssValue=t,M.a.Eb(e,t,!0)}},M.c.css={update:function(i,e){var t=M.a.f(e());null!==t&&"object"==typeof t?M.a.P(t,function(e,t){t=M.a.f(t),M.a.Eb(i,e,t)}):M.c.class.update(i,e)}},M.c.enable={update:function(e,t){t=M.a.f(t());t&&e.disabled?e.removeAttribute("disabled"):t||e.disabled||(e.disabled=!0)}},M.c.disable={update:function(e,t){M.c.enable.update(e,function(){return!M.a.f(t())})}},M.c.event={init:function(e,a,o,s,l){var t=a()||{};M.a.P(t,function(n){"string"==typeof n&&M.a.B(e,n,function(e){var t,i=a()[n];if(i){try{var r=M.a.la(arguments);s=l.$data,r.unshift(s),t=i.apply(s,r)}finally{!0!==t&&(e.preventDefault?e.preventDefault():e.returnValue=!1)}!1===o.get(n+"Bubble")&&(e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation())}})})}},M.c.foreach={Rc:function(i){return function(){var e=i(),t=M.a.bc(e);return t&&"number"!=typeof t.length?(M.a.f(e),{foreach:t.data,as:t.as,noChildContext:t.noChildContext,includeDestroyed:t.includeDestroyed,afterAdd:t.afterAdd,beforeRemove:t.beforeRemove,afterRender:t.afterRender,beforeMove:t.beforeMove,afterMove:t.afterMove,templateEngine:M.ba.Ma}):{foreach:e,templateEngine:M.ba.Ma}}},init:function(e,t){return M.c.template.init(e,M.c.foreach.Rc(t))},update:function(e,t,i,r,n){return M.c.template.update(e,M.c.foreach.Rc(t),i,r,n)}},M.m.Ra.foreach=!1,M.h.ea.foreach=!0,M.c.hasfocus={init:function(r,n,a){function e(e){r.__ko_hasfocusUpdating=!0;var t,i=r.ownerDocument;if("activeElement"in i){try{t=i.activeElement}catch(e){t=i.body}e=t===r}i=n(),M.m.eb(i,a,"hasfocus",e,!0),r.__ko_hasfocusLastValue=e,r.__ko_hasfocusUpdating=!1}var t=e.bind(null,!0),i=e.bind(null,!1);M.a.B(r,"focus",t),M.a.B(r,"focusin",t),M.a.B(r,"blur",i),M.a.B(r,"focusout",i),r.__ko_hasfocusLastValue=!1},update:function(e,t){t=!!M.a.f(t());e.__ko_hasfocusUpdating||e.__ko_hasfocusLastValue===t||(t?e.focus():e.blur(),!t&&e.__ko_hasfocusLastValue&&e.ownerDocument.body.focus(),M.u.G(M.a.Fb,null,[e,t?"focusin":"focusout"]))}},M.m.wa.hasfocus=!0,M.c.hasFocus=M.c.hasfocus,M.m.wa.hasFocus="hasfocus",M.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){M.a.fc(e,t())}},function(){function e(e,p,m){M.c[e]={init:function(n,a,e,t,o){var s,l,c,u,i,d,h={};return p&&(t=e.get("as"),i=e.get("noChildContext"),h={as:t,noChildContext:i,exportDependencies:d=!(t&&i)}),u=(c="render"==e.get("completeOn"))||e.has(M.i.pa),M.o(function(){var e,t=M.a.f(a()),i=!m!=!t,r=!l;!d&&i===s||(u&&(o=M.i.Cb(n,o)),i&&(p&&!d||(h.dataDependency=M.S.o()),e=p?o.createChildContext("function"==typeof t?t:a,h):M.S.qa()?o.extend(null,h):o),r&&M.S.qa()&&(l=M.a.Ca(M.h.childNodes(n),!0)),i?(r||M.h.va(n,M.a.Ca(l)),M.Oa(e,n)):(M.h.Ea(n),c||M.i.ma(n,M.i.H)),s=i)},null,{l:n}),{controlsDescendantBindings:!0}}},M.m.Ra[e]=!1,M.h.ea[e]=!0}e("if"),e("ifnot",!1,!0),e("with",!0)}(),M.c.let={init:function(e,t,i,r,n){return t=n.extend(t),M.Oa(t,e),{controlsDescendantBindings:!0}}},M.h.ea.let=!0;var C={};M.c.options={init:function(e){if("select"!==M.a.R(e))throw Error("options binding applies only to SELECT elements");for(;0<e.length;)e.remove(0);return{controlsDescendantBindings:!0}},update:function(r,e,n){function t(){return M.a.jb(r.options,function(e){return e.selected})}function a(e,t,i){var r=typeof t;return"function"==r?t(e):"string"==r?e[t]:i}function i(e,t){var i;p&&c?M.i.ma(r,M.i.H):h.length&&(i=0<=M.a.A(h,M.w.M(t[0])),M.a.Zc(t[0],i),p&&!i&&M.u.G(M.a.Fb,null,[r,"change"]))}var o=r.multiple,s=0!=r.length&&o?r.scrollTop:null,l=M.a.f(e()),c=n.get("valueAllowUnset")&&n.has("value"),u=n.get("optionsIncludeDestroyed");e={};var d,h=[];c||(o?h=M.a.Mb(t(),M.w.M):0<=r.selectedIndex&&h.push(M.w.M(r.options[r.selectedIndex]))),l&&(void 0===l.length&&(l=[l]),d=M.a.jb(l,function(e){return u||e===I||null===e||!M.a.f(e._destroy)}),!n.has("optionsCaption")||null!==(l=M.a.f(n.get("optionsCaption")))&&l!==I&&d.unshift(C));var p=!1;e.beforeRemove=function(e){r.removeChild(e)},l=i,n.has("optionsAfterRender")&&"function"==typeof n.get("optionsAfterRender")&&(l=function(e,t){i(0,t),M.u.G(n.get("optionsAfterRender"),null,[t[0],e!==C?e:I])}),M.a.ec(r,d,function(e,t,i){return i.length&&(h=!c&&i[0].selected?[M.w.M(i[0])]:[],p=!0),t=r.ownerDocument.createElement("option"),e===C?(M.a.Bb(t,n.get("optionsCaption")),M.w.cb(t,I)):(i=a(e,n.get("optionsValue"),e),M.w.cb(t,M.a.f(i)),e=a(e,n.get("optionsText"),i),M.a.Bb(t,e)),[t]},e,l),c||(o?h.length&&t().length<h.length:h.length&&0<=r.selectedIndex?M.w.M(r.options[r.selectedIndex])!==h[0]:h.length||0<=r.selectedIndex)&&M.u.G(M.a.Fb,null,[r,"change"]),(c||M.S.Ya())&&M.i.ma(r,M.i.H),M.a.wd(r),s&&20<Math.abs(s-r.scrollTop)&&(r.scrollTop=s)}},M.c.options.$b=M.a.g.Z(),M.c.selectedOptions={init:function(r,n,i){function e(){var e=n(),t=[];M.a.D(r.getElementsByTagName("option"),function(e){e.selected&&t.push(M.w.M(e))}),M.m.eb(e,i,"selectedOptions",t)}function t(){var i=M.a.f(n()),e=r.scrollTop;i&&"number"==typeof i.length&&M.a.D(r.getElementsByTagName("option"),function(e){var t=0<=M.a.A(i,M.w.M(e));e.selected!=t&&M.a.Zc(e,t)}),r.scrollTop=e}if("select"!=M.a.R(r))throw Error("selectedOptions binding applies only to SELECT elements");var a;M.i.subscribe(r,M.i.H,function(){a?e():(M.a.B(r,"change",e),a=M.o(t,null,{l:r}))},null,{notifyImmediately:!0})},update:function(){}},M.m.wa.selectedOptions=!0,M.c.style={update:function(r,e){e=M.a.f(e()||{});M.a.P(e,function(e,t){var i;null!==(t=M.a.f(t))&&t!==I&&!1!==t||(t=""),x?x(r).css(e,t):/^--/.test(e)?r.style.setProperty(e,t):(e=e.replace(/-(\w)/g,function(e,t){return t.toUpperCase()}),i=r.style[e],(r.style[e]=t)===i||r.style[e]!=i||isNaN(t)||(r.style[e]=t+"px"))})}},M.c.submit={init:function(r,n,e,t,a){if("function"!=typeof n())throw Error("The value for a submit binding must be a function");M.a.B(r,"submit",function(e){var t,i=n();try{t=i.call(a.$data,r)}finally{!0!==t&&(e.preventDefault?e.preventDefault():e.returnValue=!1)}})}},M.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){M.a.Bb(e,t())}},M.h.ea.text=!0,function(){var e,t,d,h,p,m,f,r,n,a,g;T&&T.navigator&&(e=function(e){if(e)return parseFloat(e[1])},t=T.navigator.userAgent,(d=T.opera&&T.opera.version&&parseInt(T.opera.version()))||(f=e(t.match(/Edge\/([^ ]+)$/)))||e(t.match(/Chrome\/([^ ]+)/))||(h=e(t.match(/Version\/([^ ]+) Safari/)))||(p=e(t.match(/Firefox\/([^ ]+)/)))||(m=M.a.W||e(t.match(/MSIE ([^ ]+)/)))||(m=e(t.match(/rv:([^ )]+)/)))),8<=m&&m<10&&(r=M.a.g.Z(),n=M.a.g.Z(),a=function(e){var t=this.activeElement;(t=t&&M.a.g.get(t,n))&&t(e)},g=function(e,t){var i=e.ownerDocument;M.a.g.get(i,r)||(M.a.g.set(i,r,!0),M.a.B(i,"selectionchange",a)),M.a.g.set(e,n,t)}),M.c.textInput={init:function(i,r,t){function e(e,t){M.a.B(i,e,t)}function n(){o||(s=i.value,o=M.a.setTimeout(a,4))}function a(){clearTimeout(o),s=o=I;var e=i.value;l!==e&&(l=e,M.m.eb(r(),t,"textInput",e))}var o,s,l=i.value,c=9==M.a.W?n:a,u=!1;m&&e("keypress",a),m<11&&e("propertychange",function(e){u||"value"!==e.propertyName||c()}),8==m&&(e("keyup",a),e("keydown",a)),g&&(g(i,c),e("dragend",n)),(!m||9<=m)&&e("input",c),h<5&&"textarea"===M.a.R(i)?(e("keydown",n),e("paste",n),e("cut",n)):d<11?e("keydown",n):p<4?(e("DOMAutoComplete",a),e("dragdrop",a),e("drop",a)):f&&"number"===i.type&&e("keydown",n),e("change",a),e("blur",a),M.o(function e(){var t=M.a.f(r());null!==t&&t!==I||(t=""),s!==I&&t===s?M.a.setTimeout(e,4):i.value!==t&&(u=!0,i.value=t,u=!1,l=i.value)},null,{l:i})}},M.m.wa.textInput=!0,M.c.textinput={preprocess:function(e,t,i){i("textInput",e)}}}(),M.c.uniqueName={init:function(e,t){t()&&(t="ko_unique_"+ ++M.c.uniqueName.rd,M.a.Yc(e,t))}},M.c.uniqueName.rd=0,M.c.using={init:function(e,t,i,r,n){var a;return i.has("as")&&(a={as:i.get("as"),noChildContext:i.get("noChildContext")}),t=n.createChildContext(t,a),M.Oa(t,e),{controlsDescendantBindings:!0}}},M.h.ea.using=!0,M.c.value={init:function(i,r,n){var e,t,a,o,s,l,c,u=M.a.R(i),d="input"==u;!d||"checkbox"!=i.type&&"radio"!=i.type?(e=[],t=n.get("valueUpdate"),a=!1,o=null,t&&(e="string"==typeof t?[t]:M.a.wc(t),M.a.Pa(e,"change")),s=function(){o=null,a=!1;var e=r(),t=M.w.M(i);M.m.eb(e,n,"value",t)},!M.a.W||!d||"text"!=i.type||"off"==i.autocomplete||i.form&&"off"==i.form.autocomplete||-1!=M.a.A(e,"propertychange")||(M.a.B(i,"propertychange",function(){a=!0}),M.a.B(i,"focus",function(){a=!1}),M.a.B(i,"blur",function(){a&&s()})),M.a.D(e,function(e){var t=s;M.a.Ud(e,"after")&&(t=function(){o=M.w.M(i),M.a.setTimeout(s,0)},e=e.substring(5)),M.a.B(i,e,t)}),l=d&&"file"==i.type?function(){var e=M.a.f(r());null===e||e===I||""===e?i.value="":M.u.G(s)}:function(){var e=M.a.f(r()),t=M.w.M(i);null!==o&&e===o?M.a.setTimeout(l,0):e===t&&t!==I||("select"===u?(t=n.get("valueAllowUnset"),M.w.cb(i,e,t),t||e===M.w.M(i)||M.u.G(s)):M.w.cb(i,e))},"select"===u?M.i.subscribe(i,M.i.H,function(){c?(n.get("valueAllowUnset")?l:s)():(M.a.B(i,"change",s),c=M.o(l,null,{l:i}))},null,{notifyImmediately:!0}):(M.a.B(i,"change",s),M.o(l,null,{l:i}))):M.ib(i,{checkedValue:r})},update:function(){}},M.m.wa.value=!0,M.c.visible={update:function(e,t){var i=M.a.f(t()),t="none"!=e.style.display;i&&!t?e.style.display="":!i&&t&&(e.style.display="none")}},M.c.hidden={update:function(e,t){M.c.visible.update(e,function(){return!M.a.f(t())})}},M.c.click={init:function(e,t,i,r,n){return M.c.event.init.call(this,e,function(){var e={};return e.click=t(),e},i,r,n)}},M.ca=function(){},M.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},M.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},M.ca.prototype.makeTemplateSource=function(e,t){if("string"==typeof e){t=(t=t||b).getElementById(e);if(!t)throw Error("Cannot find template with ID "+e);return new M.C.F(t)}if(1==e.nodeType||8==e.nodeType)return new M.C.ia(e);throw Error("Unknown template type: "+e)},M.ca.prototype.renderTemplate=function(e,t,i,r){return e=this.makeTemplateSource(e,r),this.renderTemplateSource(e,t,i,r)},M.ca.prototype.isTemplateRewritten=function(e,t){return!1===this.allowTemplateRewriting||this.makeTemplateSource(e,t).data("isRewritten")},M.ca.prototype.rewriteTemplate=function(e,t,i){t=t((e=this.makeTemplateSource(e,i)).text()),e.text(t),e.data("isRewritten",!0)},M.b("templateEngine",M.ca),M.kc=function(){function o(e,t,i,r){e=M.m.ac(e);for(var n=M.m.Ra,a=0;a<e.length;a++){var o=e[a].key;if(Object.prototype.hasOwnProperty.call(n,o)){var s=n[o];if("function"==typeof s){if(o=s(e[a].value))throw Error(o)}else if(!s)throw Error("This template engine does not support the '"+o+"' binding within its templates")}}return i="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+M.m.vb(e,{valueAccessors:!0})+" } })()},'"+i.toLowerCase()+"')",r.createJavaScriptEvaluatorBlock(i)+t}var t=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,i=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(e,t,i){t.isTemplateRewritten(e,i)||t.rewriteTemplate(e,function(e){return M.kc.Ld(e,t)},i)},Ld:function(e,a){return e.replace(t,function(e,t,i,r,n){return o(n,t,i,a)}).replace(i,function(e,t){return o(t,"\x3c!-- ko --\x3e","#comment",a)})},md:function(i,r){return M.aa.Xb(function(e,t){e=e.nextSibling;e&&e.nodeName.toLowerCase()===r&&M.ib(e,i,t)})}}}(),M.b("__tr_ambtns",M.kc.md),function(){M.C={},M.C.F=function(e){var t;(this.F=e)&&(t=M.a.R(e),this.ab="script"===t?1:"textarea"===t?2:"template"==t&&e.content&&11===e.content.nodeType?3:4)},M.C.F.prototype.text=function(){var e=1===this.ab?"text":2===this.ab?"value":"innerHTML";if(0==arguments.length)return this.F[e];var t=arguments[0];"innerHTML"==e?M.a.fc(this.F,t):this.F[e]=t};var t=M.a.g.Z()+"_";M.C.F.prototype.data=function(e){if(1===arguments.length)return M.a.g.get(this.F,t+e);M.a.g.set(this.F,t+e,arguments[1])};var n=M.a.g.Z();M.C.F.prototype.nodes=function(){var e=this.F;if(0==arguments.length){var t,i=M.a.g.get(e,n)||{},r=i.lb||(3===this.ab?e.content:4===this.ab?e:I);return r&&!i.jd||(t=this.text())&&t!==i.bb&&(r=M.a.Md(t,e.ownerDocument),M.a.g.set(e,n,{lb:r,bb:t,jd:!0})),r}i=arguments[0],this.ab!==I&&this.text(""),M.a.g.set(e,n,{lb:i})},M.C.ia=function(e){this.F=e},M.C.ia.prototype=new M.C.F,M.C.ia.prototype.constructor=M.C.ia,M.C.ia.prototype.text=function(){if(0==arguments.length){var e=M.a.g.get(this.F,n)||{};return e.bb===I&&e.lb&&(e.bb=e.lb.innerHTML),e.bb}M.a.g.set(this.F,n,{bb:arguments[0]})},M.b("templateSources",M.C),M.b("templateSources.domElement",M.C.F),M.b("templateSources.anonymousTemplate",M.C.ia)}(),function(){function r(e,t,i){var r;for(t=M.h.nextSibling(t);e&&(r=e)!==t;)i(r,e=M.h.nextSibling(r))}function h(e,t){if(e.length){var n=e[0],a=e[e.length-1],i=n.parentNode,o=M.ga.instance,s=o.preprocessNode;if(s){if(r(n,a,function(e,t){var i=e.previousSibling,r=s.call(o,e);r&&(e===n&&(n=r[0]||t),e===a&&(a=r[r.length-1]||i))}),e.length=0,!n)return;n===a?e.push(n):(e.push(n,a),M.a.Ua(e,i))}r(n,a,function(e){1!==e.nodeType&&8!==e.nodeType||M.vc(t,e)}),r(n,a,function(e){1!==e.nodeType&&8!==e.nodeType||M.aa.cd(e,[t])}),M.a.Ua(e,i)}}function l(e){return e.nodeType?e:0<e.length?e[0]:null}function p(e,t,i,r,n){n=n||{};var a=(e&&l(e)||i||{}).ownerDocument,o=n.templateEngine||c;if(M.kc.xd(i,o,a),"number"!=typeof(i=o.renderTemplate(i,r,n,a)).length||0<i.length&&"number"!=typeof i[0].nodeType)throw Error("Template engine must return an array of DOM nodes");switch(a=!1,t){case"replaceChildren":M.h.va(e,i),a=!0;break;case"replaceNode":M.a.Xc(e,i),a=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+t)}return a&&(h(i,r),n.afterRender&&M.u.G(n.afterRender,null,[i,r[n.as||"$data"]]),"replaceChildren"==t&&M.i.ma(e,M.i.H)),i}function m(e,t,i){return M.O(e)?e():"function"==typeof e?e(t,i):e}var c;M.gc=function(e){if(e!=I&&!(e instanceof M.ca))throw Error("templateEngine must inherit from ko.templateEngine");c=e},M.dc=function(i,r,n,a,o){if(((n=n||{}).templateEngine||c)==I)throw Error("Set a template engine before calling renderTemplate");if(o=o||"replaceChildren",a){var s=l(a);return M.$(function(){var e=r&&r instanceof M.fa?r:new M.fa(r,null,null,null,{exportDependencies:!0}),t=m(i,e.$data,e),e=p(a,o,t,e,n);"replaceNode"==o&&(s=l(a=e))},null,{Sa:function(){return!s||!M.a.Sb(s)},l:s&&"replaceNode"==o?s.parentNode:s})}return M.aa.Xb(function(e){M.dc(i,r,n,e,"replaceNode")})},M.Qd=function(i,t,r,n,a){function o(e,t){M.u.G(M.a.ec,null,[n,e,l,r,s,t]),M.i.ma(n,M.i.H)}function s(e,t){h(t,c),r.afterRender&&r.afterRender(t,e),c=null}function l(e,t){c=a.createChildContext(e,{as:u,noChildContext:r.noChildContext,extend:function(e){e.$index=t,u&&(e[u+"Index"]=t)}});e=m(i,e,c);return p(n,"ignoreTargetNode",e,c,r)}var c,u=r.as,d=!1===r.includeDestroyed||M.options.foreachHidesDestroyed&&!r.includeDestroyed;if(d||r.beforeRemove||!M.Pc(t))return M.$(function(){var e=M.a.f(t)||[];void 0===e.length&&(e=[e]),d&&(e=M.a.jb(e,function(e){return e===I||null===e||!M.a.f(e._destroy)})),o(e)},null,{l:n});o(t.v());var e=t.subscribe(function(e){o(t(),e)},null,"arrayChange");return e.l(n),e};var o=M.a.g.Z(),n=M.a.g.Z();M.c.template={init:function(e,t){t=M.a.f(t());if("string"==typeof t||"name"in t)M.h.Ea(e);else if("nodes"in t){if(t=t.nodes||[],M.O(t))throw Error('The "nodes" option must be a plain, non-observable array.');var i=t[0]&&t[0].parentNode;i&&M.a.g.get(i,n)||(i=M.a.Yb(t),M.a.g.set(i,n,!0)),new M.C.ia(e).nodes(i)}else{if(!(0<(t=M.h.childNodes(e)).length))throw Error("Anonymous template defined, but no template content was provided");i=M.a.Yb(t),new M.C.ia(e).nodes(i)}return{controlsDescendantBindings:!0}},update:function(e,t,i,r,n){var a=t();i=!0,r=null,"string"==typeof(t=M.a.f(a))?t={}:(a="name"in t?t.name:e,"if"in t&&(i=M.a.f(t.if)),i&&"ifnot"in t&&(i=!M.a.f(t.ifnot)),i&&!a&&(i=!1)),"foreach"in t?r=M.Qd(a,i&&t.foreach||[],t,e,n):i?(i=n,"data"in t&&(i=n.createChildContext(t.data,{as:t.as,noChildContext:t.noChildContext,exportDependencies:!0})),r=M.dc(a,i,t,e)):M.h.Ea(e),n=r,(t=M.a.g.get(e,o))&&"function"==typeof t.s&&t.s(),M.a.g.set(e,o,!n||n.ja&&!n.ja()?I:n)}},M.m.Ra.template=function(e){return 1==(e=M.m.ac(e)).length&&e[0].unknown||M.m.Id(e,"name")?null:"This template engine does not support anonymous templates nested within its templates"},M.h.ea.template=!0}(),M.b("setTemplateEngine",M.gc),M.b("renderTemplate",M.dc),M.a.Kc=function(e,t,i){if(e.length&&t.length)for(var r,n,a,o,s=r=0;(!i||s<i)&&(a=e[r]);++r){for(n=0;o=t[n];++n)if(a.value===o.value){a.moved=o.index,o.moved=a.index,t.splice(n,1),s=n=0;break}s+=n}},M.a.Pb=function(){function r(e,t,i,r,n){for(var a,o,s,l,c=Math.min,u=Math.max,d=[],h=e.length,p=t.length,m=p-h||1,f=h+p+1,g=0;g<=h;g++)for(s=o,d.push(o=[]),l=c(p,g+m),a=u(0,g-1);a<=l;a++)o[a]=a?g?e[g-1]===t[a-1]?s[a-1]:c(s[a]||f,o[a-1]||f)+1:a+1:g+1;for(c=[],u=[],m=[],g=h,a=p;g||a;)p=d[g][a]-1,a&&p===d[g][a-1]?u.push(c[c.length]={status:i,value:t[--a],index:a}):g&&p===d[g-1][a]?m.push(c[c.length]={status:r,value:e[--g],index:g}):(--a,--g,n.sparse||c.push({status:"retained",value:t[a]}));return M.a.Kc(m,u,!n.dontLimitMoves&&10*h),c.reverse()}return function(e,t,i){return i="boolean"==typeof i?{dontLimitMoves:i}:i||{},(e=e||[]).length<(t=t||[]).length?r(e,t,"added","deleted",i):r(t,e,"deleted","added",i)}}(),M.b("utils.compareArrays",M.a.Pb),function(){var w=M.a.g.Z(),D=M.a.g.Z();M.a.ec=function(t,e,i,r,n,a){function o(e){c={Aa:e,pb:M.ta(_++)},f.push(c),m||T.push(c)}function s(e){c=p[e],_!==c.pb.v()&&S.push(c),c.pb(_++),M.a.Ua(c.Y,t),f.push(c)}function l(t,i){if(t)for(var r=0,e=i.length;r<e;r++)M.a.D(i[r].Y,function(e){t(e,r,i[r].Aa)})}void 0===(e=e||[]).length&&(e=[e]),r=r||{};var c,u,d,h,p=M.a.g.get(t,w),m=!p,f=[],g=0,_=0,y=[],C=[],v=[],S=[],T=[],b=0;if(m)M.a.D(e,o);else{(!a||p&&p._countWaitingForRemove)&&(A=M.a.Mb(p,function(e){return e.Aa}),a=M.a.Pb(A,e,{dontLimitMoves:r.dontLimitMoves,sparse:!0}));for(var x,E,P,A=0;x=a[A];A++)switch(E=x.moved,P=x.index,x.status){case"deleted":for(;g<P;)s(g++);E===I&&((c=p[g]).$&&(c.$.s(),c.$=I),M.a.Ua(c.Y,t).length&&(r.beforeRemove&&(f.push(c),b++,c.Aa===D?c=null:v.push(c)),c&&y.push.apply(y,c.Y))),g++;break;case"added":for(;_<P;)s(g++);E!==I?(C.push(f.length),s(E)):o(x.value)}for(;_<e.length;)s(g++);f._countWaitingForRemove=b}M.a.g.set(t,w,f),l(r.beforeMove,S),M.a.D(y,r.beforeRemove?M.oa:M.removeNode);try{h=t.ownerDocument.activeElement}catch(e){}if(C.length)for(;(A=C.shift())!=I;){for(c=f[A],u=I;A;)if((d=f[--A].Y)&&d.length){u=d[d.length-1];break}for(e=0;g=c.Y[e];u=g,e++)M.h.Wb(t,g,u)}for(A=0;c=f[A];A++){for(c.Y||M.a.extend(c,function(t,i,r,n,a){var o=[],e=M.$(function(){var e=i(r,a,M.a.Ua(o,t))||[];0<o.length&&(M.a.Xc(o,e),n&&M.u.G(n,null,[r,e,a])),o.length=0,M.a.Nb(o,e)},null,{l:t,Sa:function(){return!M.a.kd(o)}});return{Y:o,$:e.ja()?e:I}}(t,i,c.Aa,n,c.pb)),e=0;g=c.Y[e];u=g,e++)M.h.Wb(t,g,u);!c.Ed&&n&&(n(c.Aa,c.Y,c.pb),c.Ed=!0,u=c.Y[c.Y.length-1])}for(h&&t.ownerDocument.activeElement!=h&&h.focus(),l(r.beforeRemove,v),A=0;A<v.length;++A)v[A].Aa=D;l(r.afterMove,S),l(r.afterAdd,T)}}(),M.b("utils.setDomNodeChildrenFromArrayMapping",M.a.ec),M.ba=function(){this.allowTemplateRewriting=!1},M.ba.prototype=new M.ca,M.ba.prototype.constructor=M.ba,M.ba.prototype.renderTemplateSource=function(e,t,i,r){return(t=M.a.W<9||!e.nodes?null:e.nodes())?M.a.la(t.cloneNode(!0).childNodes):(e=e.text(),M.a.ua(e,r))},M.ba.Ma=new M.ba,M.gc(M.ba.Ma),M.b("nativeTemplateEngine",M.ba),function(){M.$a=function(){var a=this.Hd=function(){if(!x||!x.tmpl)return 0;try{if(0<=x.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(e){}return 1}();this.renderTemplateSource=function(e,t,i,r){if(r=r||b,i=i||{},a<2)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var n=e.data("precompiled");return n||(n=e.text()||"",n=x.template(null,"{{ko_with $item.koBindingContext}}"+n+"{{/ko_with}}"),e.data("precompiled",n)),e=[t.$data],t=x.extend({koBindingContext:t},i.templateOptions),(t=x.tmpl(n,e,t)).appendTo(r.createElement("div")),x.fragments={},t},this.createJavaScriptEvaluatorBlock=function(e){return"{{ko_code ((function() { return "+e+" })()) }}"},this.addTemplate=function(e,t){b.write("<script type='text/html' id='"+e+"'>"+t+"<\/script>")},0<a&&(x.tmpl.tag.ko_code={open:"__.push($1 || '');"},x.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},M.$a.prototype=new M.ca,M.$a.prototype.constructor=M.$a;var e=new M.$a;0<e.Hd&&M.gc(e),M.b("jqueryTmplTemplateEngine",M.$a)}()}(T.ko={})}();var knockout=ko;"undefined"!=typeof window?(ko=window.ko,void 0!==oldValue?window.ko=oldValue:delete window.ko):(ko=global.ko,void 0!==oldValue?global.ko=oldValue:delete global.ko);var OBSERVABLES_PROPERTY="__knockoutObservables",SUBSCRIBABLE_PROPERTY="__knockoutSubscribable";function track(r,e){if(!r)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,a=getAllObservablesForObject(r,!0);return(e=e||Object.getOwnPropertyNames(r)).forEach(function(e){var t,i;e!==OBSERVABLES_PROPERTY&&e!==SUBSCRIBABLE_PROPERTY&&(e in a||(t=(i=r[e])instanceof Array,i=n.isObservable(i)?i:t?n.observableArray(i):n.observable(i),Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:i,set:n.isWriteableObservable(i)?i:void 0}),a[e]=i,t&¬ifyWhenPresentOrFutureArrayValuesMutate(n,i)))}),r}function getAllObservablesForObject(e,t){var i=e[OBSERVABLES_PROPERTY];return!i&&t&&(i={},Object.defineProperty(e,OBSERVABLES_PROPERTY,{value:i})),i}function defineComputedProperty(e,t,i){var r={owner:e,deferEvaluation:!0};if("function"==typeof i)r.read=i;else{if("value"in i)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if("function"!=typeof i.get)throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');r.read=i.get,r.write=i.set}return e[t]=this.computed(r),track.call(this,e,[t]),e}function notifyWhenPresentOrFutureArrayValuesMutate(t,i){var r=null;t.computed(function(){r&&(r.dispose(),r=null);var e=i();e instanceof Array&&(r=startWatchingArrayInstance(t,i,e))})}function startWatchingArrayInstance(e,t,i){return getSubscribableForArray(e,i).subscribe(t)}function getSubscribableForArray(e,t){var i,r=t[SUBSCRIBABLE_PROPERTY];return r||(r=new e.subscribable,Object.defineProperty(t,SUBSCRIBABLE_PROPERTY,{value:r}),wrapStandardArrayMutators(t,r,i={}),addKnockoutArrayMutators(e,t,r,i)),r}function wrapStandardArrayMutators(i,r,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(e){var t=i[e];i[e]=function(){var e=t.apply(this,arguments);return!0!==n.pause&&r.notifySubscribers(this),e}})}function addKnockoutArrayMutators(i,r,n,a){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(t){Object.defineProperty(r,t,{enumerable:!1,value:function(){var e;a.pause=!0;try{e=i.observableArray.fn[t].apply(i.observableArray(r),arguments)}finally{a.pause=!1}return n.notifySubscribers(r),e}})})}function getObservable(e,t){if(!e)return null;e=getAllObservablesForObject(e,!1);return e&&e[t]||null}function valueHasMutated(e,t){t=getObservable(e,t);t&&t.valueHasMutated()}function attachToKo(e){e.track=track,e.getObservable=getObservable,e.valueHasMutated=valueHasMutated,e.defineProperty=defineComputedProperty}var knockout_es5={attachToKo:attachToKo},svgNS="http://www.w3.org/2000/svg",svgClassName="cesium-svgPath-svg",SvgPathBindingHandler={register:function(o){o.bindingHandlers.cesiumSvgPath={init:function(e,r){var n=document.createElementNS(svgNS,"svg:svg");n.setAttribute("class",svgClassName);var a=document.createElementNS(svgNS,"path");return n.appendChild(a),o.virtualElements.setDomNodeChildren(e,[n]),o.computed({read:function(){var e=o.unwrap(r());a.setAttribute("d",o.unwrap(e.path));var t=o.unwrap(e.width),i=o.unwrap(e.height);n.setAttribute("width",t),n.setAttribute("height",i),n.setAttribute("viewBox","0 0 "+t+" "+i),e.css&&n.setAttribute("class",svgClassName+" "+o.unwrap(e.css))},disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}},o.virtualElements.allowedBindings.cesiumSvgPath=!0}};knockout_es5.attachToKo(knockout),SvgPathBindingHandler.register(knockout);var tmp$6={},J3j,K3j,L3j,M3j,N3j,O3j,Mbk,F3j,G3j,H3j,I3j;J3j={defaultNoDataValue:-34027999387901484e22,decode:function(e,t){var i=(t=t||{}).encodedMaskData||null===t.encodedMaskData,r=N3j(e,t.inputOffset||0,i),e=null!==t.noDataValue?t.noDataValue:J3j.defaultNoDataValue,i=K3j(r,t.pixelType||Float32Array,t.encodedMaskData,e,t.returnMask),e={width:r.width,height:r.height,pixelData:i.resultPixels,minValue:i.minValue,maxValue:r.pixels.maxValue,noDataValue:e};return i.resultMask&&(e.maskData=i.resultMask),t.returnEncodedMask&&r.mask&&(e.encodedMaskData=r.mask.bitset||null),t.returnFileInfo&&(e.fileInfo=L3j(r),t.computeUsedBitDepths&&(e.fileInfo.bitDepths=M3j(r))),e}},K3j=function(e,t,i,r,n){var a,o,s,l=0,c=e.pixels.numBlocksX,u=e.pixels.numBlocksY,d=Math.floor(e.width/c),h=Math.floor(e.height/u),p=2*e.maxZError,m=Number.MAX_VALUE;i=i||(e.mask?e.mask.bitset:null),o=new t(e.width*e.height),n&&i&&(s=new Uint8Array(e.width*e.height));for(var f,g,_=new Float32Array(d*h),y=0;y<=u;y++){var C=y!==u?h:e.height%u;if(0!==C)for(var v=0;v<=c;v++){var S=v!==c?d:e.width%c;if(0!==S){var T,b,x,E,P=y*e.width*h+v*d,A=e.width-S,w=e.pixels.blocks[l];if(w.encoding<2?(T=0===w.encoding?w.rawData:(O3j(w.stuffedData,w.bitsPerPixel,w.numValidPixels,w.offset,p,_,e.pixels.maxValue),_),b=0):x=2===w.encoding?0:w.offset,i)for(g=0;g<C;g++){for(7&P&&(E=i[P>>3],E<<=7&P),f=0;f<S;f++)7&P||(E=i[P>>3]),128&E?(s&&(s[P]=1),m=(a=w.encoding<2?T[b++]:x)<m?a:m,o[P++]=a):(s&&(s[P]=0),o[P++]=r),E<<=1;P+=A}else if(w.encoding<2)for(g=0;g<C;g++){for(f=0;f<S;f++)m=(a=T[b++])<m?a:m,o[P++]=a;P+=A}else for(m=x<m?x:m,g=0;g<C;g++){for(f=0;f<S;f++)o[P++]=x;P+=A}if(1===w.encoding&&b!==w.numValidPixels)throw"Block and Mask do not match";l++}}}return{resultPixels:o,resultMask:s,minValue:m}},L3j=function(e){return{fileIdentifierString:e.fileIdentifierString,fileVersion:e.fileVersion,imageType:e.imageType,height:e.height,width:e.width,maxZError:e.maxZError,eofOffset:e.eofOffset,mask:e.mask?{numBlocksX:e.mask.numBlocksX,numBlocksY:e.mask.numBlocksY,numBytes:e.mask.numBytes,maxValue:e.mask.maxValue}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,numBytes:e.pixels.numBytes,maxValue:e.pixels.maxValue,noDataValue:e.noDataValue}}},M3j=function(e){for(var t=e.pixels.numBlocksX*e.pixels.numBlocksY,i={},r=0;r<t;r++){var n=e.pixels.blocks[r];0===n.encoding?i.float32=!0:1===n.encoding?i[n.bitsPerPixel]=!0:i[0]=!0}return Object.keys(i)},N3j=function(e,t,i){var r={},n=new Uint8Array(e,t,10);if(r.fileIdentifierString=String.fromCharCode.apply(null,n),"CntZImage"!==r.fileIdentifierString.trim())throw"Unexpected file identifier string: "+r.fileIdentifierString;t+=10;var a=new DataView(e,t,24);if(r.fileVersion=a.getInt32(0,!0),r.imageType=a.getInt32(4,!0),r.height=a.getUint32(8,!0),r.width=a.getUint32(12,!0),r.maxZError=a.getFloat64(16,!0),t+=24,!i)if(a=new DataView(e,t,16),r.mask={},r.mask.numBlocksY=a.getUint32(0,!0),r.mask.numBlocksX=a.getUint32(4,!0),r.mask.numBytes=a.getUint32(8,!0),r.mask.maxValue=a.getFloat32(12,!0),t+=16,0<r.mask.numBytes){var o=new Uint8Array(Math.ceil(r.width*r.height/8)),s=(a=new DataView(e,t,r.mask.numBytes)).getInt16(0,!0),l=2,c=0;do{if(0<s)for(;s--;)o[c++]=a.getUint8(l++);else for(var u=a.getUint8(l++),s=-s;s--;)o[c++]=u}while(s=a.getInt16(l,!0),(l+=2)<r.mask.numBytes);if(-32768!==s||c<o.length)throw"Unexpected end of mask RLE encoding";r.mask.bitset=o,t+=r.mask.numBytes}else 0==(r.mask.numBytes|r.mask.numBlocksY|r.mask.maxValue)&&(r.mask.bitset=new Uint8Array(Math.ceil(r.width*r.height/8)));a=new DataView(e,t,16),r.pixels={},r.pixels.numBlocksY=a.getUint32(0,!0),r.pixels.numBlocksX=a.getUint32(4,!0),r.pixels.numBytes=a.getUint32(8,!0),r.pixels.maxValue=a.getFloat32(12,!0),t+=16;var n=r.pixels.numBlocksX,i=r.pixels.numBlocksY,d=n+(0<r.width%n?1:0),h=i+(0<r.height%i?1:0);r.pixels.blocks=new Array(d*h);for(var p=0,m=0;m<h;m++)for(var f=0;f<d;f++){var g=0,_=e.byteLength-t;a=new DataView(e,t,Math.min(10,_));var y={};r.pixels.blocks[p++]=y;var C,_=a.getUint8(0);if(g++,y.encoding=63&_,3<y.encoding)throw"Invalid block encoding ("+y.encoding+")";if(2!==y.encoding){if(0!==_&&2!==_){if(_>>=6,2===(y.offsetType=_))y.offset=a.getInt8(1),g++;else if(1===_)y.offset=a.getInt16(1,!0),g+=2;else{if(0!==_)throw"Invalid block offset type";y.offset=a.getFloat32(1,!0),g+=4}if(1===y.encoding)if(_=a.getUint8(g),g++,y.bitsPerPixel=63&_,_>>=6,2===(y.numValidPixelsType=_))y.numValidPixels=a.getUint8(g),g++;else if(1===_)y.numValidPixels=a.getUint16(g,!0),g+=2;else{if(0!==_)throw"Invalid valid pixel count type";y.numValidPixels=a.getUint32(g,!0),g+=4}}if(t+=g,3!==y.encoding)if(0===y.encoding){var v=(r.pixels.numBytes-1)/4;if(v!==Math.floor(v))throw"uncompressed block has invalid length";C=new ArrayBuffer(4*v),new Uint8Array(C).set(new Uint8Array(e,t,4*v));var S=new Float32Array(C);y.rawData=S,t+=4*v}else 1===y.encoding&&(S=Math.ceil(y.numValidPixels*y.bitsPerPixel/8),v=Math.ceil(S/4),C=new ArrayBuffer(4*v),new Uint8Array(C).set(new Uint8Array(e,t,S)),y.stuffedData=new Uint32Array(C),t+=S)}else t++}return r.eofOffset=t,r},O3j=function(e,t,i,r,n,a,o){var s,l,c,u,d=(1<<t)-1,h=0,p=0,m=Math.ceil((o-r)/n),f=4*e.length-Math.ceil(t*i/8);for(e[e.length-1]<<=8*f,s=0;s<i;s++)0===p&&(u=e[h++],p=32),t<=p?(c=u>>>p-t&d,p-=t):(c=(u&d)<<(l=t-p)&d,c+=(u=e[h++])>>>(p=32-l)),a[s]=c<m?r+c*n:o;return a},F3j=J3j,G3j=function(){var v=function(e,t,i,r,n,a,o,s){var l,c,u,d,h,p=(1<<i)-1,m=0,f=0,g=4*e.length-Math.ceil(i*r/8);if(e[e.length-1]<<=8*g,n)for(l=0;l<r;l++)0===f&&(u=e[m++],f=32),i<=f?(c=u>>>f-i&p,f-=i):(c=(u&p)<<(d=i-f)&p,c+=(u=e[m++])>>>(f=32-d)),t[l]=n[c];else for(h=Math.ceil((s-a)/o),l=0;l<r;l++)0===f&&(u=e[m++],f=32),i<=f?(c=u>>>f-i&p,f-=i):(c=(u&p)<<(d=i-f)&p,c+=(u=e[m++])>>>(f=32-d)),t[l]=c<h?a+c*o:s},S=function(e,t,i,r,n,a){var o,s,l=(1<<t)-1,c=0,u=0,d=0,h=0,p=[],m=4*e.length-Math.ceil(t*i/8);e[e.length-1]<<=8*m;for(var f=Math.ceil((a-r)/n),u=0;u<i;u++)0===d&&(s=e[c++],d=32),t<=d?(h=s>>>d-t&l,d-=t):(h=(s&l)<<(o=t-d)&l,h+=(s=e[c++])>>>(d=32-o)),p[u]=h<f?r+h*n:a;return p.unshift(r),p},T=function(e,t,i,r,n,a,o,s){var l,c,u,d=(1<<i)-1,h=0,p=0,m=0;if(n)for(g=0;g<r;g++)0===p&&(c=e[h++],p=32,m=0),i<=p?(l=c>>>m&d,p-=i,m+=i):(l=c>>>m&d,p=32-(u=i-p),l|=((c=e[h++])&(1<<u)-1)<<i-u,m=u),t[g]=n[l];else for(var f=Math.ceil((s-a)/o),g=0;g<r;g++)0===p&&(c=e[h++],p=32,m=0),i<=p?(l=c>>>m&d,p-=i,m+=i):(l=c>>>m&d,p=32-(u=i-p),l|=((c=e[h++])&(1<<u)-1)<<i-u,m=u),t[g]=l<f?a+l*o:s;return t},b=function(e,t,i,r,n,a){for(var o,s,l=(1<<t)-1,c=0,u=0,d=0,h=0,p=0,m=[],f=Math.ceil((a-r)/n),u=0;u<i;u++)0===d&&(s=e[c++],d=32,p=0),t<=d?(h=s>>>p&l,d-=t,p+=t):(h=s>>>p&l,d=32-(o=t-d),h|=((s=e[c++])&(1<<o)-1)<<t-o,p=o),m[u]=h<f?r+h*n:a;return m.unshift(r),m},x=function(e,t,i,r){var n,a,o,s,l=(1<<i)-1,c=0,u=0,d=4*e.length-Math.ceil(i*r/8);for(e[e.length-1]<<=8*d,n=0;n<r;n++)0===u&&(o=e[c++],u=32),i<=u?(a=o>>>u-i&l,u-=i):(a=(o&l)<<(s=i-u)&l,a+=(o=e[c++])>>>(u=32-s)),t[n]=a;return t},E=function(e,t,i,r){for(var n,a,o,s=(1<<i)-1,l=0,c=0,u=0,d=0;d<r;d++)0===c&&(a=e[l++],c=32,u=0),i<=c?(n=a>>>u&s,c-=i,u+=i):(n=a>>>u&s,c=32-(o=i-c),n|=((a=e[l++])&(1<<o)-1)<<i-o,u=o),t[d]=n;return t},k={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(e){for(var t=65535,i=65535,r=e.length,n=Math.floor(r/2),a=0;n;){var o=359<=n?359:n;for(n-=o;t+=e[a++]<<8,i+=t+=e[a++],--o;);t=(65535&t)+(t>>>16),i=(65535&i)+(i>>>16)}return 1&r&&(i+=t+=e[a]<<8),((i=(65535&i)+(i>>>16))<<16|(t=(65535&t)+(t>>>16)))>>>0},readHeaderInfo:function(e,t){var i=t.ptr,r=new Uint8Array(e,i,6),n={};if(n.fileIdentifierString=String.fromCharCode.apply(null,r),0!==n.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+n.fileIdentifierString;i+=6;var a=new DataView(e,i,8),r=a.getInt32(0,!0);if(n.fileVersion=r,i+=4,3<=r&&(n.checksum=a.getUint32(4,!0),i+=4),a=new DataView(e,i,12),n.height=a.getUint32(0,!0),n.width=a.getUint32(4,!0),i+=8,4<=r?(n.numDims=a.getUint32(8,!0),i+=4):n.numDims=1,a=new DataView(e,i,40),n.numValidPixel=a.getUint32(0,!0),n.microBlockSize=a.getInt32(4,!0),n.blobSize=a.getInt32(8,!0),n.imageType=a.getInt32(12,!0),n.maxZError=a.getFloat64(16,!0),n.zMin=a.getFloat64(24,!0),n.zMax=a.getFloat64(32,!0),i+=40,t.headerInfo=n,t.ptr=i,3<=r&&(r=4<=r?52:48,this.computeChecksumFletcher32(new Uint8Array(e,i-r,n.blobSize-14))!==n.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(e,t){var i=t.headerInfo,r=this.getDataTypeArray(i.imageType),n=i.numDims*this.getDataTypeSize(i.imageType),a=this.readSubArray(e,t.ptr,r,n),o=this.readSubArray(e,t.ptr+n,r,n);t.ptr+=2*n;for(var s=!0,l=0;l<i.numDims;l++)if(a[l]!==o[l]){s=!1;break}return i.minValues=a,i.maxValues=o,s},readSubArray:function(e,t,i,r){var n=i===Uint8Array?new Uint8Array(e,t,r):(n=new ArrayBuffer(r),new Uint8Array(n).set(new Uint8Array(e,t,r)),new i(n));return n},readMask:function(e,t){var i,r,n=t.ptr,a=t.headerInfo,o=a.width*a.height,a=a.numValidPixel,s=new DataView(e,n,4),l={};if(l.numBytes=s.getUint32(0,!0),n+=4,(0===a||o===a)&&0!==l.numBytes)throw"invalid mask";if(0===a)i=new Uint8Array(Math.ceil(o/8)),l.bitset=i,r=new Uint8Array(o),t.pixels.resultMask=r,n+=l.numBytes;else if(0<l.numBytes){i=new Uint8Array(Math.ceil(o/8));var c,u=(s=new DataView(e,n,l.numBytes)).getInt16(0,!0),d=2,h=0;do{if(0<u)for(;u--;)i[h++]=s.getUint8(d++);else for(c=s.getUint8(d++),u=-u;u--;)i[h++]=c}while(u=s.getInt16(d,!0),(d+=2)<l.numBytes);if(-32768!==u||h<i.length)throw"Unexpected end of mask RLE encoding";r=new Uint8Array(o);for(var p=0,m=0,m=0;m<o;m++)7&m?(p=i[m>>3],p<<=7&m):p=i[m>>3],128&p&&(r[m]=1);t.pixels.resultMask=r,l.bitset=i,n+=l.numBytes}return t.ptr=n,t.mask=l,!0},readDataOneSweep:function(e,t,i){var r=t.ptr,n=t.headerInfo,a=n.numDims,o=n.width*n.height,s=n.imageType,n=n.numValidPixel*k.getDataTypeSize(s)*a,l=t.pixels.resultMask,c=i===Uint8Array?new Uint8Array(e,r,n):(s=new ArrayBuffer(n),new Uint8Array(s).set(new Uint8Array(e,r,n)),new i(s));if(c.length===o*a)t.pixels.resultPixels=c;else{t.pixels.resultPixels=new i(o*a);var u,d=0,h=0,p=0;if(1<a)for(p=0;p<a;p++)for(u=p*o,h=0;h<o;h++)l[h]&&(t.pixels.resultPixels[u+h]=c[d++]);else for(h=0;h<o;h++)l[h]&&(t.pixels.resultPixels[h]=c[d++])}return r+=n,t.ptr=r,!0},readHuffmanTree:function(e,t){var i=this.HUFFMAN_LUT_BITS_MAX,r=new DataView(e,t.ptr,16);if(t.ptr+=16,r.getInt32(0,!0)<2)throw"unsupported Huffman version";var n=r.getInt32(4,!0),a=r.getInt32(8,!0),o=r.getInt32(12,!0);if(o<=a)return!1;var s=new Uint32Array(o-a);k.decodeBits(e,t,s);for(var l,c,u,d=[],h=a;h<o;h++)d[l=h-(h<n?0:n)]={first:s[h-a],second:null};var p=e.byteLength-t.ptr,r=Math.ceil(p/4),r=new ArrayBuffer(4*r);new Uint8Array(r).set(new Uint8Array(e,t.ptr,p));var m=new Uint32Array(r),f=0,g=0,_=m[0];for(h=a;h<o;h++)0<(u=d[l=h-(h<n?0:n)].first)&&(d[l].second=_<<f>>>32-u,u<=32-f?32===(f+=u)&&(f=0,_=m[++g]):(f+=u-32,_=m[++g],d[l].second|=_>>>32-f));var y=0,C=0,v=new A;for(h=0;h<d.length;h++)void 0!==d[h]&&(y=Math.max(y,d[h].first));C=i<=y?i:y,30<=y&&console.log("WARning, large NUM LUT BITS IS "+y);var S,T,b,x,E,P=[];for(h=a;h<o;h++)if(0<(u=d[l=h-(h<n?0:n)].first))if(S=[u,l],u<=C)for(T=d[l].second<<C-u,b=1<<C-u,c=0;c<b;c++)P[T|c]=S;else for(T=d[l].second,E=v,x=u-1;0<=x;x--)E=T>>>x&1?(E.right||(E.right=new A),E.right):(E.left||(E.left=new A),E.left),0!==x||E.val||(E.val=S[1]);return{decodeLut:P,numBitsLUTQick:C,numBitsLUT:y,tree:v,stuffedData:m,srcPtr:g,bitPos:f}},readHuffman:function(e,t,i){var r,n,a,o,s,l,c,u,d,h=t.headerInfo,p=h.numDims,m=t.headerInfo.height,f=t.headerInfo.width,g=f*m,e=this.readHuffmanTree(e,t),_=e.decodeLut,y=e.tree,C=e.stuffedData,v=e.srcPtr,S=e.bitPos,T=e.numBitsLUTQick,b=e.numBitsLUT,x=0===t.headerInfo.imageType?128:0,E=t.pixels.resultMask,P=0;0<S&&(v++,S=0);for(var A=C[v],w=1===t.encodeMode,D=new i(g*p),M=D,I=0;I<h.numDims;I++){if(1<p&&(M=new i(D.buffer,g*I,g),P=0),t.headerInfo.numValidPixel===f*m)for(l=u=0;l<m;l++)for(c=0;c<f;c++,u++){if(n=0,s=o=A<<S>>>32-T,32-S<T&&(s=o|=C[v+1]>>>64-S-T),_[s])n=_[s][1],S+=_[s][0];else for(s=o=A<<S>>>32-b,32-S<b&&(s=o|=C[v+1]>>>64-S-b),r=y,d=0;d<b;d++)if(!(r=o>>>b-d-1&1?r.right:r.left).left&&!r.right){n=r.val,S=S+d+1;break}32<=S&&(S-=32,A=C[++v]),a=n-x,w?(a+=!(0<c)&&0<l?M[u-f]:P,a&=255,P=M[u]=a):M[u]=a}else for(l=u=0;l<m;l++)for(c=0;c<f;c++,u++)if(E[u]){if(n=0,s=o=A<<S>>>32-T,32-S<T&&(s=o|=C[v+1]>>>64-S-T),_[s])n=_[s][1],S+=_[s][0];else for(s=o=A<<S>>>32-b,32-S<b&&(s=o|=C[v+1]>>>64-S-b),r=y,d=0;d<b;d++)if(!(r=o>>>b-d-1&1?r.right:r.left).left&&!r.right){n=r.val,S=S+d+1;break}32<=S&&(S-=32,A=C[++v]),a=n-x,w?(!(0<c&&E[u-1])&&0<l&&E[u-f]?a+=M[u-f]:a+=P,a&=255,P=M[u]=a):M[u]=a}t.ptr=t.ptr+4*(v+1)+(0<S?4:0)}t.pixels.resultPixels=D},decodeBits:function(e,t,i,r,n){var a=t.headerInfo,o=a.fileVersion,s=0,l=5<=e.byteLength-t.ptr?5:e.byteLength-t.ptr,c=new DataView(e,t.ptr,l),u=c.getUint8(0);s++;var d=u>>6,h=0==d?4:3-d,l=0<(32&u),d=31&u,u=0;if(1==h)u=c.getUint8(s),s++;else if(2==h)u=c.getUint16(s,!0),s+=2;else{if(4!=h)throw"Invalid valid pixel count type";u=c.getUint32(s,!0),s+=4}var p,m,f,g,_,y,C,h=2*a.maxZError,a=1<a.numDims?a.maxValues[n]:a.zMax;if(l){for(t.counter.lut++,y=c.getUint8(s),s++,g=Math.ceil((y-1)*d/8),_=Math.ceil(g/4),m=new ArrayBuffer(4*_),f=new Uint8Array(m),t.ptr+=s,f.set(new Uint8Array(e,t.ptr,g)),c=new Uint32Array(m),t.ptr+=g,C=0;y-1>>>C;)C++;g=Math.ceil(u*C/8),_=Math.ceil(g/4),m=new ArrayBuffer(4*_),(f=new Uint8Array(m)).set(new Uint8Array(e,t.ptr,g)),p=new Uint32Array(m),t.ptr+=g,c=(3<=o?b:S)(c,d,y-1,r,h,a),(3<=o?T:v)(p,i,C,u,c)}else t.counter.bitstuffer++,C=d,t.ptr+=s,0<C&&(g=Math.ceil(u*C/8),_=Math.ceil(g/4),m=new ArrayBuffer(4*_),(f=new Uint8Array(m)).set(new Uint8Array(e,t.ptr,g)),p=new Uint32Array(m),t.ptr+=g,3<=o?null===r?E(p,i,C,u):T(p,i,C,u,!1,r,h,a):null===r?x(p,i,C,u):v(p,i,C,u,!1,r,h,a))},readTiles:function(e,t,i){var r=t.headerInfo,n=r.width,a=r.height,o=r.microBlockSize,s=r.imageType,l=k.getDataTypeSize(s),c=Math.ceil(n/o),u=Math.ceil(a/o);t.pixels.numBlocksY=u,t.pixels.numBlocksX=c;for(var d,h,p,m,f,g,_,y,C,v,S,T,b,x,E=t.pixels.ptr=0,P=0,A=0,w=0,D=0,M=0,I=0,R=0,O=new i(o*o),L=a%o||o,F=n%o||o,N=r.numDims,B=t.pixels.resultMask,V=t.pixels.resultPixels,A=0;A<u;A++)for(d=A!==u-1?o:L,w=0;w<c;w++)for(D=A*n*o+w*o,g=n-(h=w!==c-1?o:F),x=0;x<N;x++){if(1<N&&(V=new i(t.pixels.resultPixels.buffer,n*a*x*l,n*a)),p=e.byteLength-t.ptr,C={},R=0,R++,f=(m=(y=new DataView(e,t.ptr,Math.min(10,p))).getUint8(0))>>6&255,(m>>2&15)!=(w*o>>3&15))throw"integrity issue";if(3<(S=3&m))throw t.ptr+=R,"Invalid block encoding ("+S+")";if(2!=S)if(0==S){if(t.counter.uncompressed++,t.ptr+=R,M=(M=d*h*l)<(_=e.byteLength-t.ptr)?M:_,T=new ArrayBuffer(M%l==0?M:M+l-M%l),new Uint8Array(T).set(new Uint8Array(e,t.ptr,M)),v=new i(T),I=0,B)for(E=0;E<d;E++){for(P=0;P<h;P++)B[D]&&(V[D]=v[I++]),D++;D+=g}else for(E=0;E<d;E++){for(P=0;P<h;P++)V[D++]=v[I++];D+=g}t.ptr+=I*l}else if(T=k.getDataTypeUsed(s,f),b=k.getOnePixel(C,R,T,y),R+=k.getDataTypeSize(T),3==S)if(t.ptr+=R,t.counter.constantoffset++,B)for(E=0;E<d;E++){for(P=0;P<h;P++)B[D]&&(V[D]=b),D++;D+=g}else for(E=0;E<d;E++){for(P=0;P<h;P++)V[D++]=b;D+=g}else if(t.ptr+=R,k.decodeBits(e,t,O,b,x),R=0,B)for(E=0;E<d;E++){for(P=0;P<h;P++)B[D]&&(V[D]=O[R++]),D++;D+=g}else for(E=0;E<d;E++){for(P=0;P<h;P++)V[D++]=O[R++];D+=g}else t.counter.constant++,t.ptr+=R}},formatFileInfo:function(e){return{fileIdentifierString:e.headerInfo.fileIdentifierString,fileVersion:e.headerInfo.fileVersion,imageType:e.headerInfo.imageType,height:e.headerInfo.height,width:e.headerInfo.width,numValidPixel:e.headerInfo.numValidPixel,microBlockSize:e.headerInfo.microBlockSize,blobSize:e.headerInfo.blobSize,maxZError:e.headerInfo.maxZError,pixelType:k.getPixelType(e.headerInfo.imageType),eofOffset:e.eofOffset,mask:e.mask?{numBytes:e.mask.numBytes}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,maxValue:e.headerInfo.zMax,minValue:e.headerInfo.zMin,noDataValue:e.noDataValue}}},constructConstantSurface:function(e){var t,i=e.headerInfo.zMax,r=e.headerInfo.numDims,n=e.headerInfo.height*e.headerInfo.width,a=n*r,o=0,s=0,l=e.pixels.resultMask;if(l)if(1<r)for(o=0;o<r;o++)for(t=o*n,s=0;s<n;s++)l[s]&&(e.pixels.resultPixels[t+s]=i);else for(s=0;s<n;s++)l[s]&&(e.pixels.resultPixels[s]=i);else if(e.pixels.resultPixels.fill)e.pixels.resultPixels.fill(i);else for(s=0;s<a;s++)e.pixels.resultPixels[s]=i},getDataTypeArray:function(e){var t;switch(e){case 0:t=Int8Array;break;case 1:t=Uint8Array;break;case 2:t=Int16Array;break;case 3:t=Uint16Array;break;case 4:t=Int32Array;break;case 5:t=Uint32Array;break;case 6:t=Float32Array;break;case 7:t=Float64Array;break;default:t=Float32Array}return t},getPixelType:function(e){var t;switch(e){case 0:t="S8";break;case 1:t="U8";break;case 2:t="S16";break;case 3:t="U16";break;case 4:t="S32";break;case 5:t="U32";break;case 6:t="F32";break;case 7:t="F64";break;default:t="F32"}return t},isValidPixelValue:function(e,t){if(null===t)return!1;var i;switch(e){case 0:i=-128<=t&&t<=127;break;case 1:i=0<=t&&t<=255;break;case 2:i=-32768<=t&&t<=32767;break;case 3:i=0<=t&&t<=65536;break;case 4:i=-2147483648<=t&&t<=2147483647;break;case 5:i=0<=t&&t<=4294967296;break;case 6:i=-34027999387901484e22<=t&&t<=34027999387901484e22;break;case 7:i=5e-324<=t&&t<=17976931348623157e292;break;default:i=!1}return i},getDataTypeSize:function(e){var t=0;switch(e){case 0:case 1:t=1;break;case 2:case 3:t=2;break;case 4:case 5:case 6:t=4;break;case 7:t=8;break;default:t=e}return t},getDataTypeUsed:function(e,t){var i=e;switch(e){case 2:case 4:i=e-t;break;case 3:case 5:i=e-2*t;break;case 6:i=0===t?e:1===t?2:1;break;case 7:i=0===t?e:e-2*t+1;break;default:i=e}return i},getOnePixel:function(e,t,i,r){var n=0;switch(i){case 0:n=r.getInt8(t);break;case 1:n=r.getUint8(t);break;case 2:n=r.getInt16(t,!0);break;case 3:n=r.getUint16(t,!0);break;case 4:n=r.getInt32(t,!0);break;case 5:n=r.getUInt32(t,!0);break;case 6:n=r.getFloat32(t,!0);break;case 7:n=r.getFloat64(t,!0);break;default:throw"the decoder does not understand this pixel type"}return n}},A=function(e,t,i){this.val=e,this.left=t,this.right=i};return{decode:function(e,t){var i=(t=t||{}).noDataValue,r=0,n={};if(n.ptr=t.inputOffset||0,n.pixels={},k.readHeaderInfo(e,n)){var a=n.headerInfo,o=a.fileVersion,s=k.getDataTypeArray(a.imageType);k.readMask(e,n),a.numValidPixel===a.width*a.height||n.pixels.resultMask||(n.pixels.resultMask=t.maskData);var l,c=a.width*a.height;if(n.pixels.resultPixels=new s(c*a.numDims),n.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},0!==a.numValidPixel)if(a.zMax===a.zMin)k.constructConstantSurface(n);else if(4<=o&&k.checkMinMaxRanges(e,n))k.constructConstantSurface(n);else{var u=new DataView(e,n.ptr,2),d=u.getUint8(0);if(n.ptr++,d)k.readDataOneSweep(e,n,s);else if(1<o&&a.imageType<=1&&Math.abs(a.maxZError-.5)<1e-5){u=u.getUint8(1);if(n.ptr++,2<(n.encodeMode=u)||o<4&&1<u)throw"Invalid Huffman flag "+u;u?k.readHuffman(e,n,s):k.readTiles(e,n,s)}else k.readTiles(e,n,s)}n.eofOffset=n.ptr,t.inputOffset?(l=n.headerInfo.blobSize+t.inputOffset-n.ptr,1<=Math.abs(l)&&(n.eofOffset=t.inputOffset+n.headerInfo.blobSize)):(l=n.headerInfo.blobSize-n.ptr,1<=Math.abs(l)&&(n.eofOffset=n.headerInfo.blobSize));var h={width:a.width,height:a.height,pixelData:n.pixels.resultPixels,minValue:a.zMin,maxValue:a.zMax,validPixelCount:a.numValidPixel,dimCount:a.numDims,dimStats:{minValues:a.minValues,maxValues:a.maxValues},maskData:n.pixels.resultMask};if(n.pixels.resultMask&&k.isValidPixelValue(a.imageType,i)){for(var p=n.pixels.resultMask,r=0;r<c;r++)p[r]||(h.pixelData[r]=i);h.noDataValue=i}return n.noDataValue=i,t.returnFileInfo&&(h.fileInfo=k.formatFileInfo(n)),h}},getBandCount:function(e){for(var t=0,i=0,r={ptr:0,pixels:{}};i<e.byteLength-58;)k.readHeaderInfo(e,r),i+=r.headerInfo.blobSize,t++,r.ptr=i;return t}}}(),Mbk=new ArrayBuffer(4),I3j=new Uint8Array(Mbk),H3j=(new Uint32Array(Mbk)[0]=1)===I3j[0],I3j={decode:function(e,t){if(!H3j)throw"Big endian system is not supported.";var i,r,n=(t=t||{}).inputOffset||0,a=new Uint8Array(e,n,10),a=String.fromCharCode.apply(null,a);if("CntZImage"===a.trim())i=F3j,r=1;else{if("Lerc2"!==a.substring(0,5))throw"Unexpected file identifier string: "+a;i=G3j,r=2}for(var o,s,l,c,u,d,h=0,p=e.byteLength-10,m=[],f={width:0,height:0,pixels:[],pixelType:t.pixelType,mask:null,statistics:[]};n<p;){var g=i.decode(e,{inputOffset:n,encodedMaskData:o,maskData:l,returnMask:0===h,returnEncodedMask:0===h,returnFileInfo:!0,pixelType:t.pixelType||null,noDataValue:t.noDataValue||null}),n=g.fileInfo.eofOffset;0===h&&(o=g.encodedMaskData,l=g.maskData,f.width=g.width,f.height=g.height,f.dimCount=g.dimCount||1,f.pixelType=g.pixelType||g.fileInfo.pixelType,f.mask=g.maskData),1<r&&g.fileInfo.mask&&0<g.fileInfo.mask.numBytes&&m.push(g.maskData),h++,f.pixels.push(g.pixelData),f.statistics.push({minValue:g.minValue,maxValue:g.maxValue,noDataValue:g.noDataValue,dimStats:g.dimStats})}if(1<r&&1<m.length){for(d=f.width*f.height,f.bandMasks=m,(l=new Uint8Array(d)).set(m[0]),c=1;c<m.length;c++)for(s=m[c],u=0;u<d;u++)l[u]=l[u]&s[u];f.maskData=l}return f}},tmp$6.Lerc=I3j;var LercDecode=tmp$6.Lerc,tmp$7={},gck,hck;gck=tmp$7,hck=function(){return n={},r.m=i=[function(e,t,i){var r=function(e,t,i){return t&&n(e.prototype,t),i&&n(e,i),e};function n(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=i(1),a=i.webm,o=i.mp4,s="undefined"!=typeof navigator&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,r=(r(l,[{key:"_addSourceToVideo",value:function(e,t,i){var r=document.createElement("source");r.src=i,r.type="video/"+t,e.appendChild(r)}},{key:"enable",value:function(){s?(this.disable(),console.warn("\n NoSleep enabled for older iOS devices. This can interrupt\n active or long-running network requests from completing successfully.\n See https://github.com/richtr/NoSleep.js/issues/15 for more details.\n "),this.noSleepTimer=window.setInterval(function(){document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3)):this.noSleepVideo.play()}},{key:"disable",value:function(){s?this.noSleepTimer&&(console.warn("\n NoSleep now disabled for older iOS devices.\n "),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause()}}]),l);function l(){var e=this;!function(e){if(!(e instanceof l))throw new TypeError("Cannot call a class as a function")}(this),s?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("muted",""),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",a),this._addSourceToVideo(this.noSleepVideo,"mp4",o),this.noSleepVideo.addEventListener("loadedmetadata",function(){e.noSleepVideo.duration<=1?e.noSleepVideo.setAttribute("loop",""):e.noSleepVideo.addEventListener("timeupdate",function(){.5<e.noSleepVideo.currentTime&&(e.noSleepVideo.currentTime=Math.random())})}))}e.exports=r},function(e,t,i){e.exports={webm:"data:video/webm;base64,GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQI0VSalmQCgq17FAAw9CQE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEADdW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBCLqBCB9DtnVAIueBAKNAHIEAAIAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AAA=",mp4:"data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQADQGgcIQADQGgcAAAACQGeYUQn/wALKCEAA0BoHAAAAAkBnmNEJ/8ACykhAANAaBwhAANAaBwAAAANQZpoNExDP/6plgAMuSEAA0BoHAAAAAtBnoZFESwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBnqVEJ/8ACykhAANAaBwAAAAJAZ6nRCf/AAsoIQADQGgcIQADQGgcAAAADUGarDRMQz/+qZYADLghAANAaBwAAAALQZ7KRRUsK/8ACPkhAANAaBwAAAAJAZ7pRCf/AAsoIQADQGgcIQADQGgcAAAACQGe60Qn/wALKCEAA0BoHAAAAA1BmvA0TEM//qmWAAy5IQADQGgcIQADQGgcAAAAC0GfDkUVLCv/AAj5IQADQGgcAAAACQGfLUQn/wALKSEAA0BoHCEAA0BoHAAAAAkBny9EJ/8ACyghAANAaBwAAAANQZs0NExDP/6plgAMuCEAA0BoHAAAAAtBn1JFFSwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBn3FEJ/8ACyghAANAaBwAAAAJAZ9zRCf/AAsoIQADQGgcIQADQGgcAAAADUGbeDRMQz/+qZYADLkhAANAaBwAAAALQZ+WRRUsK/8ACPghAANAaBwhAANAaBwAAAAJAZ+1RCf/AAspIQADQGgcAAAACQGft0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bm7w0TEM//qmWAAy4IQADQGgcAAAAC0Gf2kUVLCv/AAj5IQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHAAAAAkBn/tEJ/8ACykhAANAaBwAAAANQZvgNExDP/6plgAMuSEAA0BoHCEAA0BoHAAAAAtBnh5FFSwr/wAI+CEAA0BoHAAAAAkBnj1EJ/8ACyghAANAaBwhAANAaBwAAAAJAZ4/RCf/AAspIQADQGgcAAAADUGaJDRMQz/+qZYADLghAANAaBwAAAALQZ5CRRUsK/8ACPkhAANAaBwhAANAaBwAAAAJAZ5hRCf/AAsoIQADQGgcAAAACQGeY0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bmmg0TEM//qmWAAy5IQADQGgcAAAAC0GehkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGepUQn/wALKSEAA0BoHAAAAAkBnqdEJ/8ACyghAANAaBwAAAANQZqsNExDP/6plgAMuCEAA0BoHCEAA0BoHAAAAAtBnspFFSwr/wAI+SEAA0BoHAAAAAkBnulEJ/8ACyghAANAaBwhAANAaBwAAAAJAZ7rRCf/AAsoIQADQGgcAAAADUGa8DRMQz/+qZYADLkhAANAaBwhAANAaBwAAAALQZ8ORRUsK/8ACPkhAANAaBwAAAAJAZ8tRCf/AAspIQADQGgcIQADQGgcAAAACQGfL0Qn/wALKCEAA0BoHAAAAA1BmzQ0TEM//qmWAAy4IQADQGgcAAAAC0GfUkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGfcUQn/wALKCEAA0BoHAAAAAkBn3NEJ/8ACyghAANAaBwhAANAaBwAAAANQZt4NExC//6plgAMuSEAA0BoHAAAAAtBn5ZFFSwr/wAI+CEAA0BoHCEAA0BoHAAAAAkBn7VEJ/8ACykhAANAaBwAAAAJAZ+3RCf/AAspIQADQGgcAAAADUGbuzRMQn/+nhAAYsAhAANAaBwhAANAaBwAAAAJQZ/aQhP/AAspIQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHAAACiFtb292AAAAbG12aGQAAAAA1YCCX9WAgl8AAAPoAAAH/AABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAGGlvZHMAAAAAEICAgAcAT////v7/AAAF+XRyYWsAAABcdGtoZAAAAAPVgIJf1YCCXwAAAAEAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAygAAAMoAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAB9AAABdwAAEAAAAABXFtZGlhAAAAIG1kaGQAAAAA1YCCX9WAgl8AAV+QAAK/IFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAUcbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAAE3HN0YmwAAACYc3RzZAAAAAAAAAABAAAAiGF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAygDKAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAyYXZjQwFNQCj/4QAbZ01AKOyho3ySTUBAQFAAAAMAEAAr8gDxgxlgAQAEaO+G8gAAABhzdHRzAAAAAAAAAAEAAAA8AAALuAAAABRzdHNzAAAAAAAAAAEAAAABAAAB8GN0dHMAAAAAAAAAPAAAAAEAABdwAAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAAC7gAAAAAQAAF3AAAAABAAAAAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAEEc3RzegAAAAAAAAAAAAAAPAAAAzQAAAAQAAAADQAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAANAAAADQAAAQBzdGNvAAAAAAAAADwAAAAwAAADZAAAA3QAAAONAAADoAAAA7kAAAPQAAAD6wAAA/4AAAQXAAAELgAABEMAAARcAAAEbwAABIwAAAShAAAEugAABM0AAATkAAAE/wAABRIAAAUrAAAFQgAABV0AAAVwAAAFiQAABaAAAAW1AAAFzgAABeEAAAX+AAAGEwAABiwAAAY/AAAGVgAABnEAAAaEAAAGnQAABrQAAAbPAAAG4gAABvUAAAcSAAAHJwAAB0AAAAdTAAAHcAAAB4UAAAeeAAAHsQAAB8gAAAfjAAAH9gAACA8AAAgmAAAIQQAACFQAAAhnAAAIhAAACJcAAAMsdHJhawAAAFx0a2hkAAAAA9WAgl/VgIJfAAAAAgAAAAAAAAf8AAAAAAAAAAAAAAABAQAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACsm1kaWEAAAAgbWRoZAAAAADVgIJf1YCCXwAArEQAAWAAVcQAAAAAACdoZGxyAAAAAAAAAABzb3VuAAAAAAAAAAAAAAAAU3RlcmVvAAAAAmNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAidzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAIABICAgBRAFQAAAAADDUAAAAAABYCAgAISEAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAABYAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAAUc3RzegAAAAAAAAAGAAAAWAAAAXBzdGNvAAAAAAAAAFgAAAOBAAADhwAAA5oAAAOtAAADswAAA8oAAAPfAAAD5QAAA/gAAAQLAAAEEQAABCgAAAQ9AAAEUAAABFYAAARpAAAEgAAABIYAAASbAAAErgAABLQAAATHAAAE3gAABPMAAAT5AAAFDAAABR8AAAUlAAAFPAAABVEAAAVXAAAFagAABX0AAAWDAAAFmgAABa8AAAXCAAAFyAAABdsAAAXyAAAF+AAABg0AAAYgAAAGJgAABjkAAAZQAAAGZQAABmsAAAZ+AAAGkQAABpcAAAauAAAGwwAABskAAAbcAAAG7wAABwYAAAcMAAAHIQAABzQAAAc6AAAHTQAAB2QAAAdqAAAHfwAAB5IAAAeYAAAHqwAAB8IAAAfXAAAH3QAAB/AAAAgDAAAICQAACCAAAAg1AAAIOwAACE4AAAhhAAAIeAAACH4AAAiRAAAIpAAACKoAAAiwAAAItgAACLwAAAjCAAAAFnVkdGEAAAAObmFtZVN0ZXJlbwAAAHB1ZHRhAAAAaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAO2lsc3QAAAAzqXRvbwAAACtkYXRhAAAAAQAAAABIYW5kQnJha2UgMC4xMC4yIDIwMTUwNjExMDA="}}],r.c=n,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0);function r(e){if(n[e])return n[e].exports;var t=n[e]={i:e,l:!1,exports:{}};return i[e].call(t.exports,t,t.exports,r),t.l=!0,t.exports}var i,n},gck.NoSleep=hck();var NoSleep=tmp$7.NoSleep;function quickselect$1(e,t,i,r,n){quickselectStep$1(e,t,i||0,r||e.length-1,n||defaultCompare$1)}function quickselectStep$1(e,t,i,r,n){for(;i<r;){var a,o,s,l;600<r-i&&(a=r-i+1,o=t-i+1,l=Math.log(a),s=.5*Math.exp(2*l/3),l=.5*Math.sqrt(l*s*(a-s)/a)*(o-a/2<0?-1:1),quickselectStep$1(e,t,Math.max(i,Math.floor(t-o*s/a+l)),Math.min(r,Math.floor(t+(a-o)*s/a+l)),n));var c=e[t],u=i,d=r;for(swap$3(e,i,t),0<n(e[r],c)&&swap$3(e,i,r);u<d;){for(swap$3(e,u,d),u++,d--;n(e[u],c)<0;)u++;for(;0<n(e[d],c);)d--}0===n(e[i],c)?swap$3(e,i,d):swap$3(e,++d,r),d<=t&&(i=d+1),t<=d&&(r=d-1)}}function swap$3(e,t,i){var r=e[t];e[t]=e[i],e[i]=r}function defaultCompare$1(e,t){return e<t?-1:t<e?1:0}function ClockViewModel(t){defined(t)||(t=new Clock),this._clock=t,this._eventHelper=new EventHelper,this._eventHelper.add(t.onTick,this.synchronize,this),this.systemTime=knockout.observable(JulianDate.now()),this.systemTime.equalityComparer=JulianDate.equals,this.startTime=knockout.observable(t.startTime),this.startTime.equalityComparer=JulianDate.equals,this.startTime.subscribe(function(e){t.startTime=e,this.synchronize()},this),this.stopTime=knockout.observable(t.stopTime),this.stopTime.equalityComparer=JulianDate.equals,this.stopTime.subscribe(function(e){t.stopTime=e,this.synchronize()},this),this.currentTime=knockout.observable(t.currentTime),this.currentTime.equalityComparer=JulianDate.equals,this.currentTime.subscribe(function(e){t.currentTime=e,this.synchronize()},this),this.multiplier=knockout.observable(t.multiplier),this.multiplier.subscribe(function(e){t.multiplier=e,this.synchronize()},this),this.clockStep=knockout.observable(t.clockStep),this.clockStep.subscribe(function(e){t.clockStep=e,this.synchronize()},this),this.clockRange=knockout.observable(t.clockRange),this.clockRange.subscribe(function(e){t.clockRange=e,this.synchronize()},this),this.canAnimate=knockout.observable(t.canAnimate),this.canAnimate.subscribe(function(e){t.canAnimate=e,this.synchronize()},this),this.shouldAnimate=knockout.observable(t.shouldAnimate),this.shouldAnimate.subscribe(function(e){t.shouldAnimate=e,this.synchronize()},this),knockout.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}function Command(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,DeveloperError.throwInstantiationError()}function createCommand$2(i,e){e=defaultValue(e,!0);var r=new Event,n=new Event;function t(){var e,t={args:arguments,cancel:!1};return r.raiseEvent(t),t.cancel||(e=i.apply(null,arguments),n.raiseEvent(e)),e}return t.canExecute=e,knockout.track(t,["canExecute"]),Object.defineProperties(t,{beforeExecute:{value:r},afterExecute:{value:n}}),t}Object.defineProperties(ClockViewModel.prototype,{clock:{get:function(){return this._clock}}}),ClockViewModel.prototype.synchronize=function(){var e=this._clock;this.systemTime=JulianDate.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate},ClockViewModel.prototype.isDestroyed=function(){return!1},ClockViewModel.prototype.destroy=function(){this._eventHelper.removeAll(),destroyObject(this)};var InspectorShared={};function subscribeAndEvaluate(e,t,i,r,n){return i.call(r,e[t]),knockout.getObservable(e,t).subscribe(i,r,n)}function ToggleButtonViewModel(e,t){this._command=e,t=defaultValue(t,defaultValue.EMPTY_OBJECT),this.toggled=defaultValue(t.toggled,!1),this.tooltip=defaultValue(t.tooltip,""),knockout.track(this,["toggled","tooltip"])}InspectorShared.createCheckbox=function(e,t,i){var r=document.createElement("div"),n=document.createElement("label"),a=document.createElement("input");a.type="checkbox";t="checked: "+t;return defined(i)&&(t+=", enable: "+i),a.setAttribute("data-bind",t),n.appendChild(a),n.appendChild(document.createTextNode(e)),r.appendChild(n),r},InspectorShared.createSection=function(e,t,i,r){var n=document.createElement("div");n.className="cesium-cesiumInspector-section",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-section-collapsed": !'+i+" }"),e.appendChild(n);e=document.createElement("h3");e.className="cesium-cesiumInspector-sectionHeader",e.appendChild(document.createTextNode(t)),e.setAttribute("data-bind","click: "+r),n.appendChild(e);e=document.createElement("div");return e.className="cesium-cesiumInspector-sectionContent",n.appendChild(e),e},Object.defineProperties(ToggleButtonViewModel.prototype,{command:{get:function(){return this._command}}});var DepthViewPacked="uniform sampler2D u_depthTexture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nfloat z_window = czm_unpackDepth(texture2D(u_depthTexture, v_textureCoordinates));\nz_window = czm_reverseLogDepth(z_window);\nfloat n_range = czm_depthRange.near;\nfloat f_range = czm_depthRange.far;\nfloat z_ndc = (2.0 * z_window - n_range - f_range) / (f_range - n_range);\nfloat scale = pow(z_ndc * 0.5 + 0.5, 8.0);\ngl_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0);\n}\n";function removePipelineExtras(e){return ForEach.shader(e,function(e){removeExtras(e)}),ForEach.buffer(e,function(e){removeExtras(e)}),ForEach.image(e,function(e){removeExtras(e),ForEach.compressedImage(e,function(e){removeExtras(e)})}),removeExtras(e),e}function removeExtras(e){defined(e.extras)&&(defined(e.extras._pipeline)&&delete e.extras._pipeline,0===Object.keys(e.extras).length&&delete e.extras)}var svgNS$1="http://www.w3.org/2000/svg",xlinkNS="http://www.w3.org/1999/xlink",widgetForDrag,gradientEnabledColor0=Color.fromCssColorString("rgba(247,250,255,0.384)"),gradientEnabledColor1=Color.fromCssColorString("rgba(143,191,255,0.216)"),gradientEnabledColor2=Color.fromCssColorString("rgba(153,197,255,0.098)"),gradientEnabledColor3=Color.fromCssColorString("rgba(255,255,255,0.086)"),gradientDisabledColor0=Color.fromCssColorString("rgba(255,255,255,0.267)"),gradientDisabledColor1=Color.fromCssColorString("rgba(255,255,255,0)"),gradientKnobColor=Color.fromCssColorString("rgba(66,67,68,0.3)"),gradientPointerColor=Color.fromCssColorString("rgba(0,0,0,0.5)");function getElementColor(e){return Color.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}var svgIconsById={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function svgFromObject(e){var t,i=document.createElementNS(svgNS$1,e.tagName);for(t in e)if(e.hasOwnProperty(t)&&"tagName"!==t)if("children"===t)for(var r=e.children.length,n=0;n<r;++n)i.appendChild(svgFromObject(e.children[n]));else 0===t.indexOf("xlink:")?i.setAttributeNS(xlinkNS,t.substring(6),e[t]):"textContent"===t?i.textContent=e[t]:i.setAttribute(t,e[t]);return i}function svgText(e,t,i){var r=document.createElementNS(svgNS$1,"text");r.setAttribute("x",e),r.setAttribute("y",t),r.setAttribute("class","cesium-animation-svgText");t=document.createElementNS(svgNS$1,"tspan");return t.textContent=i,r.appendChild(t),r}function setShuttleRingPointer(e,t,i){e.setAttribute("transform","translate(100,100) rotate("+i+")"),t.setAttribute("transform","rotate("+i+")")}var makeColorStringScratch=new Color;function makeColorString(e,t){var i=t.alpha,r=1-i;return makeColorStringScratch.red=e.red*r+t.red*i,makeColorStringScratch.green=e.green*r+t.green*i,makeColorStringScratch.blue=e.blue*r+t.blue*i,makeColorStringScratch.toCssColorString()}function rectButton(e,t,i){var r=svgIconsById[i];return svgFromObject({tagName:"g",class:"cesium-animation-rectButton",transform:"translate("+e+","+t+")",children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:i,tagName:r.tagName,transform:r.transform,d:r.d},{tagName:"title",textContent:""}]})}function wingButton(e,t,i){var r=svgIconsById[i],n=svgIconsById.animation_pathWingButton;return svgFromObject({tagName:"g",class:"cesium-animation-rectButton",transform:"translate("+e+","+t+")",children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:n.tagName,d:n.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:n.tagName,d:n.d},{class:"cesium-animation-buttonPath",id:i,tagName:r.tagName,transform:r.transform,d:r.d},{tagName:"title",textContent:""}]})}function setShuttleRingFromMouseOrTouch(e,t){var i,r,n,a,o,s,l=e._viewModel,c=l.shuttleRingDragging;c&&widgetForDrag!==e||("mousedown"===t.type||c&&"mousemove"===t.type||"touchstart"===t.type&&1===t.touches.length||c&&"touchmove"===t.type&&1===t.touches.length?(s=e._centerX,i=e._centerY,o=e._svgNode.getBoundingClientRect(),n="touchstart"===t.type||"touchmove"===t.type?(r=t.touches[0].clientX,t.touches[0].clientY):(r=t.clientX,t.clientY),!c&&(r>o.right||r<o.left||n<o.top||n>o.bottom)||(a=e._shuttleRingPointer.getBoundingClientRect(),s=r-s-o.left,o=n-i-o.top,180<(o=180*Math.atan2(o,s)/Math.PI+90)&&(o-=360),s=l.shuttleRingAngle,c||r<a.right&&r>a.left&&n>a.top&&n<a.bottom?(widgetForDrag=e,l.shuttleRingDragging=!0,l.shuttleRingAngle=o):o<s?l.slower():s<o&&l.faster(),t.preventDefault())):(e===widgetForDrag&&(widgetForDrag=void 0),l.shuttleRingDragging=!1))}function SvgButton(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;var i=this;this._clickFunction=function(){var e=i._viewModel.command;e.canExecute&&e()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[subscribeAndEvaluate(t,"toggled",this.setToggled,this),subscribeAndEvaluate(t,"tooltip",this.setTooltip,this),subscribeAndEvaluate(t.command,"canExecute",this.setEnabled,this)]}function Animation(e,t){e=getElement(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;var i=e.ownerDocument,r=document.createElement("style");r.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",i.head.insertBefore(r,i.head.childNodes[0]);var n=document.createElement("div");n.className="cesium-animation-theme",n.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=n,this._themeNormal=n.childNodes[0],this._themeHover=n.childNodes[1],this._themeSelect=n.childNodes[2],this._themeDisabled=n.childNodes[3],this._themeKnob=n.childNodes[4],this._themePointer=n.childNodes[5],this._themeSwoosh=n.childNodes[6],this._themeSwooshHover=n.childNodes[7];var a=document.createElementNS(svgNS$1,"svg:svg");(this._svgNode=a).setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",xlinkNS);var o=document.createElementNS(svgNS$1,"g");this._topG=o,this._realtimeSVG=new SvgButton(wingButton(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new SvgButton(rectButton(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new SvgButton(rectButton(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new SvgButton(rectButton(84,99,"animation_pathPause"),t.pauseViewModel);var s=document.createElementNS(svgNS$1,"g");s.appendChild(this._realtimeSVG.svgElement),s.appendChild(this._playReverseSVG.svgElement),s.appendChild(this._playForwardSVG.svgElement),s.appendChild(this._pauseSVG.svgElement);var l=svgFromObject({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=l;var c=svgIconsById.animation_pathSwooshFX,u=svgIconsById.animation_pathPointer,d=svgFromObject({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:c.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:c.d},{tagName:c.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:c.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=d,this._shuttleRingPointer=svgFromObject({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:u.tagName,d:u.d});var h=svgFromObject({tagName:"g",transform:"translate(100,100)"});this._knobOuter=svgFromObject({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});r=svgFromObject({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:61});this._knobDate=svgText(0,-24,""),this._knobTime=svgText(0,-7,""),this._knobStatus=svgText(0,-41,"");c=svgFromObject({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:61}),u=document.createElementNS(svgNS$1,"g");u.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(n),o.appendChild(u),o.appendChild(h),o.appendChild(s),u.appendChild(l),u.appendChild(d),u.appendChild(this._shuttleRingPointer),h.appendChild(this._knobOuter),h.appendChild(r),h.appendChild(this._knobDate),h.appendChild(this._knobTime),h.appendChild(this._knobStatus),h.appendChild(c),a.appendChild(o),e.appendChild(a);var p=this;function m(e){setShuttleRingFromMouseOrTouch(p,e)}this._mouseCallback=m,l.addEventListener("mousedown",m,!0),l.addEventListener("touchstart",m,!0),d.addEventListener("mousedown",m,!0),d.addEventListener("touchstart",m,!0),i.addEventListener("mousemove",m,!0),i.addEventListener("touchmove",m,!0),i.addEventListener("mouseup",m,!0),i.addEventListener("touchend",m,!0),i.addEventListener("touchcancel",m,!0),this._shuttleRingPointer.addEventListener("mousedown",m,!0),this._shuttleRingPointer.addEventListener("touchstart",m,!0),this._knobOuter.addEventListener("mousedown",m,!0),this._knobOuter.addEventListener("touchstart",m,!0);var f,g=this._knobTime.childNodes[0],_=this._knobDate.childNodes[0],y=this._knobStatus.childNodes[0];this._subscriptions=[subscribeAndEvaluate(t.pauseViewModel,"toggled",function(e){f!==e&&((f=e)?p._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):p._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),subscribeAndEvaluate(t,"shuttleRingAngle",function(e){setShuttleRingPointer(p._shuttleRingPointer,p._knobOuter,e)}),subscribeAndEvaluate(t,"dateLabel",function(e){_.textContent!==e&&(_.textContent=e)}),subscribeAndEvaluate(t,"timeLabel",function(e){g.textContent!==e&&(g.textContent=e)}),subscribeAndEvaluate(t,"multiplierLabel",function(e){y.textContent!==e&&(y.textContent=e)})],this.applyThemeChanges(),this.resize()}SvgButton.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);for(var e=this._subscriptions,t=0,i=e.length;t<i;t++)e[t].dispose();destroyObject(this)},SvgButton.prototype.isDestroyed=function(){return!1},SvgButton.prototype.setEnabled=function(e){this._enabled!==e&&((this._enabled=e)?this._toggled?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton"):this.svgElement.setAttribute("class","cesium-animation-buttonDisabled"))},SvgButton.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))},SvgButton.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e},Object.defineProperties(Animation.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),Animation.prototype.isDestroyed=function(){return!1},Animation.prototype.destroy=function(){defined(this._observer)&&(this._observer.disconnect(),this._observer=void 0);var e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();for(var i=this._subscriptions,r=0,n=i.length;r<n;r++)i[r].dispose();return destroyObject(this)},Animation.prototype.resize=function(){var e,t,i,r,n,a=this._container.clientWidth,o=this._container.clientHeight;a===this._lastWidth&&o===this._lastHeight||(i=o,0===(t=a)&&0===o?(t=200,i=132):0===a?t=(i=o)/132*200:0===o&&(i=(t=a)/200*132),r=t/200,n=i/132,(e=this._svgNode).style.cssText="width: "+t+"px; height: "+i+"px; position: absolute; bottom: 0; left: 0; overflow: hidden;",e.setAttribute("width",t),e.setAttribute("height",i),e.setAttribute("viewBox","0 0 "+t+" "+i),this._topG.setAttribute("transform","scale("+r+","+n+")"),this._centerX=Math.max(1,100*r),this._centerY=Math.max(1,100*n),this._lastHeight=a,this._lastWidth=o)},Animation.prototype.applyThemeChanges=function(){var e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(defined(this._observer))return;var t=this;return t._observer=new MutationObserver(function(){e.body.contains(t._container)&&(t._observer.disconnect(),t._observer=void 0,t.applyThemeChanges())}),void t._observer.observe(e,{childList:!0,subtree:!0})}var i=getElementColor(this._themeNormal),r=getElementColor(this._themeHover),n=getElementColor(this._themeSelect),a=getElementColor(this._themeDisabled),o=getElementColor(this._themeKnob),s=getElementColor(this._themePointer),l=getElementColor(this._themeSwoosh),c=getElementColor(this._themeSwooshHover),o=svgFromObject({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":makeColorString(i,gradientEnabledColor0)},{tagName:"stop",offset:"12%","stop-color":makeColorString(i,gradientEnabledColor1)},{tagName:"stop",offset:"46%","stop-color":makeColorString(i,gradientEnabledColor2)},{tagName:"stop",offset:"81%","stop-color":makeColorString(i,gradientEnabledColor3)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":makeColorString(r,gradientEnabledColor0)},{tagName:"stop",offset:"12%","stop-color":makeColorString(r,gradientEnabledColor1)},{tagName:"stop",offset:"46%","stop-color":makeColorString(r,gradientEnabledColor2)},{tagName:"stop",offset:"81%","stop-color":makeColorString(r,gradientEnabledColor3)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":makeColorString(n,gradientEnabledColor0)},{tagName:"stop",offset:"12%","stop-color":makeColorString(n,gradientEnabledColor1)},{tagName:"stop",offset:"46%","stop-color":makeColorString(n,gradientEnabledColor2)},{tagName:"stop",offset:"81%","stop-color":makeColorString(n,gradientEnabledColor3)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":makeColorString(a,gradientDisabledColor0)},{tagName:"stop",offset:"75%","stop-color":makeColorString(a,gradientDisabledColor1)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":l.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":l.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":l.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":makeColorString(s,gradientPointerColor)},{tagName:"stop",offset:"100%","stop-color":makeColorString(s,gradientPointerColor)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":makeColorString(o,gradientEnabledColor0)},{tagName:"stop",offset:"60%","stop-color":makeColorString(o,gradientKnobColor)},{tagName:"stop",offset:"85%","stop-color":makeColorString(o,gradientEnabledColor1)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":makeColorString(o,gradientKnobColor)},{tagName:"stop",offset:"60%","stop-color":makeColorString(o,gradientEnabledColor0)},{tagName:"stop",offset:"85%","stop-color":makeColorString(o,gradientEnabledColor3)}]}]});defined(this._defsElement)?this._svgNode.replaceChild(o,this._defsElement):this._svgNode.appendChild(o),this._defsElement=o};var monthNames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],realtimeShuttleRingAngle=15,maxShuttleRingAngle=105;function numberComparator(e,t){return e-t}function getTypicalMultiplierIndex(e,t){e=binarySearch(t,e,numberComparator);return e<0?~e:e}function angleToMultiplier(e,t){if(Math.abs(e)<=realtimeShuttleRingAngle)return e/realtimeShuttleRingAngle;var i,r=realtimeShuttleRingAngle,n=maxShuttleRingAngle;return 0<e?(i=+Math.log(t[t.length-1])/(n-r),Math.exp(0+i*(e-r))):(i=+Math.log(-t[0])/(n-r),-Math.exp(0+i*(Math.abs(e)-r)))}function multiplierToAngle(e,t,i){if(i.clockStep===ClockStep$1.SYSTEM_CLOCK)return realtimeShuttleRingAngle;if(Math.abs(e)<=1)return e*realtimeShuttleRingAngle;var r=t[t.length-1];r<e?e=r:e<-r&&(e=-r);var n,a=realtimeShuttleRingAngle,i=maxShuttleRingAngle;return 0<e?(n=+Math.log(r)/(i-a),+Math.log(e)/n+a):(n=+Math.log(-t[0])/(i-a),-(+Math.log(Math.abs(e))/n+a))}function AnimationViewModel(e){var o=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=AnimationViewModel.defaultDateFormatter,this._timeFormatter=AnimationViewModel.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,knockout.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(AnimationViewModel.defaultTicks),this.timeLabel=void 0,knockout.defineProperty(this,"timeLabel",function(){return o._timeFormatter(o._clockViewModel.currentTime,o)}),this.dateLabel=void 0,knockout.defineProperty(this,"dateLabel",function(){return o._dateFormatter(o._clockViewModel.currentTime,o)}),this.multiplierLabel=void 0,knockout.defineProperty(this,"multiplierLabel",function(){var e=o._clockViewModel;if(e.clockStep===ClockStep$1.SYSTEM_CLOCK)return"Today";e=e.multiplier;return e%1==0?e.toFixed(0)+"x":e.toFixed(3).replace(/0{0,3}$/,"")+"x"}),this.shuttleRingAngle=void 0,knockout.defineProperty(this,"shuttleRingAngle",{get:function(){return multiplierToAngle(e.multiplier,o._allShuttleRingTicks,e)},set:function(e){e=Math.max(Math.min(e,maxShuttleRingAngle),-maxShuttleRingAngle);var t,i,r,n=o._allShuttleRingTicks,a=o._clockViewModel;a.clockStep=ClockStep$1.SYSTEM_CLOCK_MULTIPLIER,Math.abs(e)!==maxShuttleRingAngle?(r=angleToMultiplier(e,n),o.snapToTicks?r=n[getTypicalMultiplierIndex(r,n)]:0!==r&&(100<(t=Math.abs(r))?(i=t.toFixed(0).length-2,i=Math.pow(10,i),r=Math.round(r/i)*i|0):realtimeShuttleRingAngle<t?r=Math.round(r):1<t?r=+r.toFixed(1):0<t&&(r=+r.toFixed(2))),a.multiplier=r):a.multiplier=0<e?n[n.length-1]:n[0]}}),this._canAnimate=void 0,knockout.defineProperty(this,"_canAnimate",function(){var e=o._clockViewModel,t=e.clockRange;if(o.shuttleRingDragging||t===ClockRange$1.UNBOUNDED)return!0;var i=e.multiplier,r=e.currentTime,n=e.startTime,a=!1;return(a=t===ClockRange$1.LOOP_STOP?JulianDate.greaterThan(r,n)||r.equals(n)&&0<i:(t=e.stopTime,JulianDate.greaterThan(r,n)&&JulianDate.lessThan(r,t)||r.equals(n)&&0<i||r.equals(t)&&i<0))||(e.shouldAnimate=!1),a}),this._isSystemTimeAvailable=void 0,knockout.defineProperty(this,"_isSystemTimeAvailable",function(){var e=o._clockViewModel;if(e.clockRange===ClockRange$1.UNBOUNDED)return!0;var t=e.systemTime;return JulianDate.greaterThanOrEquals(t,e.startTime)&&JulianDate.lessThanOrEquals(t,e.stopTime)}),this._isAnimating=void 0,knockout.defineProperty(this,"_isAnimating",function(){return o._clockViewModel.shouldAnimate&&(o._canAnimate||o.shuttleRingDragging)});var t=createCommand$2(function(){var e=o._clockViewModel;e.shouldAnimate?e.shouldAnimate=!1:o._canAnimate&&(e.shouldAnimate=!0)});this._pauseViewModel=new ToggleButtonViewModel(t,{toggled:knockout.computed(function(){return!o._isAnimating}),tooltip:"Pause"});t=createCommand$2(function(){var e=o._clockViewModel,t=e.multiplier;0<t&&(e.multiplier=-t),e.shouldAnimate=!0});this._playReverseViewModel=new ToggleButtonViewModel(t,{toggled:knockout.computed(function(){return o._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});t=createCommand$2(function(){var e=o._clockViewModel,t=e.multiplier;t<0&&(e.multiplier=-t),e.shouldAnimate=!0});this._playForwardViewModel=new ToggleButtonViewModel(t,{toggled:knockout.computed(function(){return o._isAnimating&&0<e.multiplier&&e.clockStep!==ClockStep$1.SYSTEM_CLOCK}),tooltip:"Play Forward"});t=createCommand$2(function(){o._clockViewModel.clockStep=ClockStep$1.SYSTEM_CLOCK},knockout.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new ToggleButtonViewModel(t,{toggled:knockout.computed(function(){return e.clockStep===ClockStep$1.SYSTEM_CLOCK}),tooltip:knockout.computed(function(){return o._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=createCommand$2(function(){var e=o._clockViewModel,t=o._allShuttleRingTicks,i=getTypicalMultiplierIndex(e.multiplier,t)-1;0<=i&&(e.multiplier=t[i])}),this._faster=createCommand$2(function(){var e=o._clockViewModel,t=o._allShuttleRingTicks,i=getTypicalMultiplierIndex(e.multiplier,t)+1;i<t.length&&(e.multiplier=t[i])})}function BaseLayerPickerViewModel(e){var t=(e=defaultValue(e,defaultValue.EMPTY_OBJECT)).globe,i=defaultValue(e.imageryProviderViewModels,[]),r=defaultValue(e.terrainProviderViewModels,[]);this._globe=t,this.imageryProviderViewModels=i.slice(0),this.terrainProviderViewModels=r.slice(0),this.dropDownVisible=!1,knockout.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);var l=knockout.getObservable(this,"imageryProviderViewModels"),t=knockout.pureComputed(function(){for(var e=l(),t={},i=0;i<e.length;i++){var r=e[i],n=r.category;defined(t[n])?t[n].push(r):t[n]=[r]}var a=Object.keys(t),o=[];for(i=0;i<a.length;i++){var s=a[i];o.push({name:s,providers:t[s]})}return o});this._imageryProviders=t;var c=knockout.getObservable(this,"terrainProviderViewModels"),t=knockout.pureComputed(function(){for(var e=c(),t={},i=0;i<e.length;i++){var r=e[i],n=r.category;defined(t[n])?t[n].push(r):t[n]=[r]}var a=Object.keys(t),o=[];for(i=0;i<a.length;i++){var s=a[i];o.push({name:s,providers:t[s]})}return o});this._terrainProviders=t,this.buttonTooltip=void 0,knockout.defineProperty(this,"buttonTooltip",function(){var e=this.selectedImagery,t=this.selectedTerrain,e=defined(e)?e.name:void 0,t=defined(t)?t.name:void 0;return defined(e)&&defined(t)?e+"\n"+t:defined(e)?e:t}),this.buttonImageUrl=void 0,knockout.defineProperty(this,"buttonImageUrl",function(){var e=this.selectedImagery;if(defined(e))return e.iconUrl}),this.selectedImagery=void 0;var d=knockout.observable();this._currentImageryProviders=[],knockout.defineProperty(this,"selectedImagery",{get:function(){return d()},set:function(e){if(d()!==e){var t=this._currentImageryProviders,i=t.length,r=this._globe.imageryLayers,n=!1;for(u=0;u<i;u++)for(var a=r.length,o=0;o<a;o++){var s=r.get(o);if(s.imageryProvider===t[u]){r.remove(s),n=!0;break}}if(defined(e)){var l,c=e.creationCommand();if(Array.isArray(c)){for(var u=c.length-1;0<=u;u--)r.addImageryProvider(c[u],0);this._currentImageryProviders=c.slice(0)}else this._currentImageryProviders=[c],n||defined(l=r.get(0))&&r.remove(l),r.addImageryProvider(c,0)}d(e),this.dropDownVisible=!1}else this.dropDownVisible=!1}}),this.selectedTerrain=void 0;var n=knockout.observable();knockout.defineProperty(this,"selectedTerrain",{get:function(){return n()},set:function(e){var t;n()!==e&&(defined(e)&&(t=e.creationCommand()),this._globe.depthTestAgainstTerrain=!(t instanceof EllipsoidTerrainProvider),this._globe.terrainProvider=t,n(e)),this.dropDownVisible=!1}});var a=this;this._toggleDropDown=createCommand$2(function(){a.dropDownVisible=!a.dropDownVisible}),this.selectedImagery=defaultValue(e.selectedImageryProviderViewModel,i[0]),this.selectedTerrain=defaultValue(e.selectedTerrainProviderViewModel,r[0])}function BaseLayerPicker(e,t){e=getElement(e);var i=new BaseLayerPickerViewModel(t),r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button",r.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(r);var n=document.createElement("img");n.setAttribute("draggable","false"),n.className="cesium-baseLayerPicker-selected",n.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),r.appendChild(n);var a=document.createElement("div");a.className="cesium-baseLayerPicker-dropDown",a.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(a);t=document.createElement("div");t.className="cesium-baseLayerPicker-sectionTitle",t.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),t.innerHTML="Imagery",a.appendChild(t);n=document.createElement("div");n.className="cesium-baseLayerPicker-section",n.setAttribute("data-bind","foreach: _imageryProviders"),a.appendChild(n);t=document.createElement("div");t.className="cesium-baseLayerPicker-category",n.appendChild(t);n=document.createElement("div");n.className="cesium-baseLayerPicker-categoryTitle",n.setAttribute("data-bind","text: name"),t.appendChild(n);n=document.createElement("div");n.className="cesium-baseLayerPicker-choices",n.setAttribute("data-bind","foreach: providers"),t.appendChild(n);t=document.createElement("div");t.className="cesium-baseLayerPicker-item",t.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),n.appendChild(t);n=document.createElement("img");n.className="cesium-baseLayerPicker-itemIcon",n.setAttribute("data-bind","attr: { src: iconUrl }"),n.setAttribute("draggable","false"),t.appendChild(n);n=document.createElement("div");n.className="cesium-baseLayerPicker-itemLabel",n.setAttribute("data-bind","text: name"),t.appendChild(n);t=document.createElement("div");t.className="cesium-baseLayerPicker-sectionTitle",t.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),t.innerHTML="Terrain",a.appendChild(t);n=document.createElement("div");n.className="cesium-baseLayerPicker-section",n.setAttribute("data-bind","foreach: _terrainProviders"),a.appendChild(n);t=document.createElement("div");t.className="cesium-baseLayerPicker-category",n.appendChild(t);n=document.createElement("div");n.className="cesium-baseLayerPicker-categoryTitle",n.setAttribute("data-bind","text: name"),t.appendChild(n);n=document.createElement("div");n.className="cesium-baseLayerPicker-choices",n.setAttribute("data-bind","foreach: providers"),t.appendChild(n);t=document.createElement("div");t.className="cesium-baseLayerPicker-item",t.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),n.appendChild(t);n=document.createElement("img");n.className="cesium-baseLayerPicker-itemIcon",n.setAttribute("data-bind","attr: { src: iconUrl }"),n.setAttribute("draggable","false"),t.appendChild(n);n=document.createElement("div");n.className="cesium-baseLayerPicker-itemLabel",n.setAttribute("data-bind","text: name"),t.appendChild(n),knockout.applyBindings(i,r),knockout.applyBindings(i,a),this._viewModel=i,this._container=e,this._element=r,this._dropPanel=a,this._closeDropDown=function(e){r.contains(e.target)||a.contains(e.target)||(i.dropDownVisible=!1)},FeatureDetection.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}function ProviderViewModel(e){var t=e.creationFunction;defined(t.canExecute)||(t=createCommand$2(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=defaultValue(e.category,""),knockout.track(this,["name","tooltip","iconUrl"])}function createDefaultImageryProviderViewModels(){var e=[];return e.push(new ProviderViewModel({name:"Bing Maps Aerial",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return createWorldImagery({style:IonWorldImageryStyle$1.AERIAL})}})),e.push(new ProviderViewModel({name:"Bing Maps Aerial with Labels",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return createWorldImagery({style:IonWorldImageryStyle$1.AERIAL_WITH_LABELS})}})),e.push(new ProviderViewModel({name:"Bing Maps Roads",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return createWorldImagery({style:IonWorldImageryStyle$1.ROAD})}})),e.push(new ProviderViewModel({name:"ESRI World Imagery",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/esriWorldImagery.png"),tooltip:"World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes NASA Blue Marble: Next Generation 500m resolution imagery at small scales (above 1:1,000,000), i-cubed 15m eSAT imagery at medium-to-large scales (down to 1:70,000) for the world, and USGS 15m Landsat imagery for Antarctica. The map features 0.3m resolution imagery in the continental United States and 0.6m resolution imagery in parts of Western Europe from DigitalGlobe. In other parts of the world, 1 meter resolution imagery is available from GeoEye IKONOS, i-cubed Nationwide Prime, Getmapping, AeroGRID, IGN Spain, and IGP Portugal. Additionally, imagery at different resolutions has been contributed by the GIS User Community.\nhttp://www.esri.com",category:"Other",creationFunction:function(){return new ArcGisMapServerImageryProvider({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",enablePickFeatures:!1})}})),e.push(new ProviderViewModel({name:"ESRI World Street Map",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/esriWorldStreetMap.png"),tooltip:"This worldwide street map presents highway-level data for the world. Street-level data includes the United States; much of Canada; Japan; most countries in Europe; Australia and New Zealand; India; parts of South America including Argentina, Brazil, Chile, Colombia, and Venezuela; Ghana; and parts of southern Africa including Botswana, Lesotho, Namibia, South Africa, and Swaziland.\nhttp://www.esri.com",category:"Other",creationFunction:function(){return new ArcGisMapServerImageryProvider({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",enablePickFeatures:!1})}})),e.push(new ProviderViewModel({name:"ESRI National Geographic",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/esriNationalGeographic.png"),tooltip:"This web map contains the National Geographic World Map service. This map service is designed to be used as a general reference map for informational and educational purposes as well as a basemap by GIS professionals and other users for creating web maps and web mapping applications.\nhttp://www.esri.com",category:"Other",creationFunction:function(){return new ArcGisMapServerImageryProvider({url:"https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",enablePickFeatures:!1})}})),e.push(new ProviderViewModel({name:"Open­Street­Map",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:"OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world.\nhttp://www.openstreetmap.org",category:"Other",creationFunction:function(){return new OpenStreetMapImageryProvider({url:"https://a.tile.openstreetmap.org/"})}})),e.push(new ProviderViewModel({name:"Stamen Watercolor",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:"Reminiscent of hand drawn maps, Stamen watercolor maps apply raster effect area washes and organic edges over a paper texture to add warm pop to any map.\nhttp://maps.stamen.com",category:"Other",creationFunction:function(){return new OpenStreetMapImageryProvider({url:"https://stamen-tiles.a.ssl.fastly.net/watercolor/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),e.push(new ProviderViewModel({name:"Stamen Toner",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:"A high contrast black and white map.\nhttp://maps.stamen.com",category:"Other",creationFunction:function(){return new OpenStreetMapImageryProvider({url:"https://stamen-tiles.a.ssl.fastly.net/toner/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),e.push(new ProviderViewModel({name:"Sentinel-2",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return new IonImageryProvider({assetId:3954})}})),e.push(new ProviderViewModel({name:"Blue Marble",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return new IonImageryProvider({assetId:3845})}})),e.push(new ProviderViewModel({name:"Earth at night",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return new IonImageryProvider({assetId:3812})}})),e.push(new ProviderViewModel({name:"Natural Earth II",iconUrl:buildModuleUrl("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:"Natural Earth II, darkened for contrast.\nhttp://www.naturalearthdata.com/",category:"Cesium ion",creationFunction:function(){return new TileMapServiceImageryProvider({url:buildModuleUrl("Assets/Textures/NaturalEarthII")})}})),e}function createDefaultTerrainProviderViewModels(){var e=[];return e.push(new ProviderViewModel({name:"WGS84 Ellipsoid",iconUrl:buildModuleUrl("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new EllipsoidTerrainProvider}})),e.push(new ProviderViewModel({name:"Cesium World Terrain",iconUrl:buildModuleUrl("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return createWorldTerrain({requestWaterMask:!0,requestVertexNormals:!0})}})),e}function getPickTileset(t){return function(e){e=t._scene.pick(e.position);defined(e)&&e.primitive instanceof Cesium3DTileset&&(t.tileset=e.primitive),t.pickActive=!1}}function selectTilesetOnHover(t,e){e?t._eventHandler.setInputAction(function(e){e=t._scene.pick(e.endPosition);defined(e)&&e.primitive instanceof Cesium3DTileset&&(t.tileset=e.primitive)},ScreenSpaceEventType$1.MOUSE_MOVE):(t._eventHandler.removeInputAction(ScreenSpaceEventType$1.MOUSE_MOVE),t.picking=t.picking)}AnimationViewModel.defaultDateFormatter=function(e,t){e=JulianDate.toGregorianDate(e);return monthNames[e.month-1]+" "+e.day+" "+e.year},AnimationViewModel.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800],AnimationViewModel.defaultTimeFormatter=function(e,t){var i=JulianDate.toGregorianDate(e),e=Math.round(i.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?sprintf("%02d:%02d:%02d.%03d",i.hour,i.minute,i.second,e):sprintf("%02d:%02d:%02d UTC",i.hour,i.minute,i.second)},AnimationViewModel.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)},AnimationViewModel.prototype.setShuttleRingTicks=function(e){var t,i={},r=this._sortedFilteredPositiveTicks;for(o=r.length=0,n=e.length;o<n;++o)t=e[o],i.hasOwnProperty(t)||(i[t]=!0,r.push(t));r.sort(numberComparator);for(var n,a=[],o=(n=r.length)-1;0<=o;--o)0!==(t=r[o])&&a.push(-t);Array.prototype.push.apply(a,r),this._allShuttleRingTicks=a},Object.defineProperties(AnimationViewModel.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){this._timeFormatter=e}}}),AnimationViewModel._maxShuttleRingAngle=maxShuttleRingAngle,AnimationViewModel._realtimeShuttleRingAngle=realtimeShuttleRingAngle,Object.defineProperties(BaseLayerPickerViewModel.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}}),Object.defineProperties(BaseLayerPicker.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),BaseLayerPicker.prototype.isDestroyed=function(){return!1},BaseLayerPicker.prototype.destroy=function(){return FeatureDetection.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),knockout.cleanNode(this._element),knockout.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),destroyObject(this)},Object.defineProperties(ProviderViewModel.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var stringOptions$1={maximumFractionDigits:3};function formatMemoryString$1(e){e/=1048576;return e<1?e.toLocaleString(void 0,stringOptions$1):Math.round(e).toLocaleString()}function getStatistics(e,t){if(!defined(e))return"";var i=t?e._statisticsPerPass[Cesium3DTilePass$1.PICK]:e._statisticsPerPass[Cesium3DTilePass$1.RENDER],e='<ul class="cesium-cesiumInspector-statistics">';return e+="<li><strong>Visited: </strong>"+i.visited.toLocaleString()+"</li><li><strong>Selected: </strong>"+i.selected.toLocaleString()+"</li><li><strong>Commands: </strong>"+i.numberOfCommands.toLocaleString()+"</li>",e+="</ul>",t||(e+='<ul class="cesium-cesiumInspector-statistics">',e+="<li><strong>Requests: </strong>"+i.numberOfPendingRequests.toLocaleString()+"</li><li><strong>Attempted: </strong>"+i.numberOfAttemptedRequests.toLocaleString()+"</li><li><strong>Processing: </strong>"+i.numberOfTilesProcessing.toLocaleString()+"</li><li><strong>Content Ready: </strong>"+i.numberOfTilesWithContentReady.toLocaleString()+"</li><li><strong>Total: </strong>"+i.numberOfTilesTotal.toLocaleString()+"</li>",e+="</ul>",e+='<ul class="cesium-cesiumInspector-statistics">',e+="<li><strong>Features Selected: </strong>"+i.numberOfFeaturesSelected.toLocaleString()+"</li><li><strong>Features Loaded: </strong>"+i.numberOfFeaturesLoaded.toLocaleString()+"</li><li><strong>Points Selected: </strong>"+i.numberOfPointsSelected.toLocaleString()+"</li><li><strong>Points Loaded: </strong>"+i.numberOfPointsLoaded.toLocaleString()+"</li><li><strong>Triangles Selected: </strong>"+i.numberOfTrianglesSelected.toLocaleString()+"</li>",e+="</ul>",e+='<ul class="cesium-cesiumInspector-statistics">',e+="<li><strong>Tiles styled: </strong>"+i.numberOfTilesStyled.toLocaleString()+"</li><li><strong>Features styled: </strong>"+i.numberOfFeaturesStyled.toLocaleString()+"</li>",e+="</ul>",e+='<ul class="cesium-cesiumInspector-statistics">',e+="<li><strong>Children Union Culled: </strong>"+i.numberOfTilesCulledWithChildrenUnion.toLocaleString()+"</li>",e+="</ul>",e+='<ul class="cesium-cesiumInspector-statistics">',e+="<li><strong>Geometry Memory (MB): </strong>"+formatMemoryString$1(i.geometryByteLength)+"</li><li><strong>Texture Memory (MB): </strong>"+formatMemoryString$1(i.texturesByteLength)+"</li><li><strong>Batch Table Memory (MB): </strong>"+formatMemoryString$1(i.batchTableByteLength)+"</li>",e+="</ul>"),e}var colorBlendModes=[{text:"Highlight",value:Cesium3DTileColorBlendMode$1.HIGHLIGHT},{text:"Replace",value:Cesium3DTileColorBlendMode$1.REPLACE},{text:"Mix",value:Cesium3DTileColorBlendMode$1.MIX}],highlightColor$1=new Color(1,1,0,.4),scratchColor$l=new Color,oldColor=new Color;function Cesium3DTilesInspectorViewModel(r,e){var n=this,t=r.canvas;this._eventHandler=new ScreenSpaceEventHandler(t),this._scene=r,this._performanceContainer=e,this._canvas=t,this._performanceDisplay=new PerformanceDisplay({container:e}),this._statisticsText="",this._pickStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this._tileset=void 0,this._feature=void 0,this._tile=void 0,knockout.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_editorError","showPickStatistics","showStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile"]),this._properties=knockout.observable({}),this.properties=[],knockout.defineProperty(this,"properties",function(){var e,t=[],i=n._properties();for(e in i)i.hasOwnProperty(e)&&t.push(e);return t});var i=knockout.observable();knockout.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return i()},set:function(e){i(e),defined(n._tileset)&&(n._tileset.dynamicScreenSpaceError=e)}}),this.dynamicScreenSpaceError=!1;var a=knockout.observable();knockout.defineProperty(this,"colorBlendMode",{get:function(){return a()},set:function(e){a(e),defined(n._tileset)&&(n._tileset.colorBlendMode=e,n._scene.requestRender())}}),this.colorBlendMode=Cesium3DTileColorBlendMode$1.HIGHLIGHT;var o=knockout.observable(),s=knockout.observable();knockout.defineProperty(this,"picking",{get:function(){return s()},set:function(e){s(e),e?n._eventHandler.setInputAction(function(e){var t,i=r.pick(e.endPosition);i instanceof Cesium3DTileFeature?(n.feature=i,n.tile=i.content.tile):defined(i)&&defined(i.content)?(n.feature=void 0,n.tile=i.content.tile):(n.feature=void 0,n.tile=void 0),defined(n._tileset)&&(o&&defined(i)&&defined(i.content)?(r.pickPositionSupported&&defined(t=r.pickPosition(e.endPosition))&&(n._tileset.debugPickPosition=t),n._tileset.debugPickedTile=i.content.tile):n._tileset.debugPickedTile=void 0,n._scene.requestRender())},ScreenSpaceEventType$1.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(ScreenSpaceEventType$1.MOUSE_MOVE))}}),this.picking=!0;var l=knockout.observable();knockout.defineProperty(this,"colorize",{get:function(){return l()},set:function(e){l(e),defined(n._tileset)&&(n._tileset.debugColorizeTiles=e,n._scene.requestRender())}}),this.colorize=!1;var c=knockout.observable();knockout.defineProperty(this,"wireframe",{get:function(){return c()},set:function(e){c(e),defined(n._tileset)&&(n._tileset.debugWireframe=e,n._scene.requestRender())}}),this.wireframe=!1;var u=knockout.observable();knockout.defineProperty(this,"showBoundingVolumes",{get:function(){return u()},set:function(e){u(e),defined(n._tileset)&&(n._tileset.debugShowBoundingVolume=e,n._scene.requestRender())}}),this.showBoundingVolumes=!1;var d=knockout.observable();knockout.defineProperty(this,"showContentBoundingVolumes",{get:function(){return d()},set:function(e){d(e),defined(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=e,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;var h=knockout.observable();knockout.defineProperty(this,"showRequestVolumes",{get:function(){return h()},set:function(e){h(e),defined(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=e,n._scene.requestRender())}}),this.showRequestVolumes=!1;var p=knockout.observable();knockout.defineProperty(this,"freezeFrame",{get:function(){return p()},set:function(e){p(e),defined(n._tileset)&&(n._tileset.debugFreezeFrame=e,n._scene.debugShowFrustumPlanes=e,n._scene.requestRender())}}),this.freezeFrame=!1,knockout.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return o()},set:function(e){o(e),defined(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=e,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;var m=knockout.observable();knockout.defineProperty(this,"showGeometricError",{get:function(){return m()},set:function(e){m(e),defined(n._tileset)&&(n._tileset.debugShowGeometricError=e,n._scene.requestRender())}}),this.showGeometricError=!1;var f=knockout.observable();knockout.defineProperty(this,"showRenderingStatistics",{get:function(){return f()},set:function(e){f(e),defined(n._tileset)&&(n._tileset.debugShowRenderingStatistics=e,n._scene.requestRender())}}),this.showRenderingStatistics=!1;var g=knockout.observable();knockout.defineProperty(this,"showMemoryUsage",{get:function(){return g()},set:function(e){g(e),defined(n._tileset)&&(n._tileset.debugShowMemoryUsage=e,n._scene.requestRender())}}),this.showMemoryUsage=!1;var _=knockout.observable();knockout.defineProperty(this,"showUrl",{get:function(){return _()},set:function(e){_(e),defined(n._tileset)&&(n._tileset.debugShowUrl=e,n._scene.requestRender())}}),this.showUrl=!1;var y=knockout.observable();knockout.defineProperty(this,"maximumScreenSpaceError",{get:function(){return y()},set:function(e){e=Number(e),isNaN(e)||(y(e),defined(n._tileset)&&(n._tileset.maximumScreenSpaceError=e))}}),this.maximumScreenSpaceError=16;var C=knockout.observable();knockout.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return C()},set:function(e){e=Number(e),isNaN(e)||(C(e),defined(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=e))}}),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,knockout.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(C(),1/6)},set:function(e){C(Math.pow(e,6))}});var v=knockout.observable();knockout.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return v()},set:function(e){e=Number(e),isNaN(e)||(v(e),defined(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=e))}}),this.dynamicScreenSpaceErrorFactor=4;var S=getPickTileset(this),T=knockout.observable();knockout.defineProperty(this,"pickActive",{get:function(){return T()},set:function(e){T(e),e?n._eventHandler.setInputAction(S,ScreenSpaceEventType$1.LEFT_CLICK):n._eventHandler.removeInputAction(ScreenSpaceEventType$1.LEFT_CLICK)}});var b=knockout.observable();knockout.defineProperty(this,"pointCloudShading",{get:function(){return b()},set:function(e){b(e),defined(n._tileset)&&(n._tileset.pointCloudShading.attenuation=e)}}),this.pointCloudShading=!1;var x=knockout.observable();knockout.defineProperty(this,"geometricErrorScale",{get:function(){return x()},set:function(e){e=Number(e),isNaN(e)||(x(e),defined(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=e))}}),this.geometricErrorScale=1;var E=knockout.observable();knockout.defineProperty(this,"maximumAttenuation",{get:function(){return E()},set:function(e){e=Number(e),isNaN(e)||(E(e),defined(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=0===e?void 0:e))}}),this.maximumAttenuation=0;var P=knockout.observable();knockout.defineProperty(this,"baseResolution",{get:function(){return P()},set:function(e){e=Number(e),isNaN(e)||(P(e),defined(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=0===e?void 0:e))}}),this.baseResolution=0;var A=knockout.observable();knockout.defineProperty(this,"eyeDomeLighting",{get:function(){return A()},set:function(e){A(e),defined(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=e)}}),this.eyeDomeLighting=!1;var w=knockout.observable();knockout.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return w()},set:function(e){e=Number(e),isNaN(e)||(w(e),defined(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=e))}}),this.eyeDomeLightingStrength=1;var D=knockout.observable();knockout.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return D()},set:function(e){e=Number(e),isNaN(e)||(D(e),defined(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=e))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;var M=knockout.observable();knockout.defineProperty(this,"skipLevelOfDetail",{get:function(){return M()},set:function(e){M(e),defined(n._tileset)&&(n._tileset.skipLevelOfDetail=e)}}),this.skipLevelOfDetail=!0;var I=knockout.observable();knockout.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return I()},set:function(e){e=Number(e),isNaN(e)||(I(e),defined(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=e))}}),this.skipScreenSpaceErrorFactor=16;var R=knockout.observable();knockout.defineProperty(this,"baseScreenSpaceError",{get:function(){return R()},set:function(e){e=Number(e),isNaN(e)||(R(e),defined(n._tileset)&&(n._tileset.baseScreenSpaceError=e))}}),this.baseScreenSpaceError=1024;var O=knockout.observable();knockout.defineProperty(this,"skipLevels",{get:function(){return O()},set:function(e){e=Number(e),isNaN(e)||(O(e),defined(n._tileset)&&(n._tileset.skipLevels=e))}}),this.skipLevels=1;var L=knockout.observable();knockout.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return L()},set:function(e){L(e),defined(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=e)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;var F=knockout.observable();knockout.defineProperty(this,"loadSiblings",{get:function(){return F()},set:function(e){F(e),defined(n._tileset)&&(n._tileset.loadSiblings=e)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=r.postRender.addEventListener(function(){n._update()}),defined(this._tileset)||selectTilesetOnHover(this,!0)}function hasFeatures(e){if(0<e.featuresLength)return 1;var t=e.innerContents;if(defined(t)){for(var i=t.length,r=0;r<i;++r)if(!hasFeatures(t[r]))return;return 1}}function Cesium3DTilesInspector(e,t){e=getElement(e);var i=document.createElement("div"),r=document.createElement("div");r.setAttribute("data-bind","visible: performance");var n=new Cesium3DTilesInspectorViewModel(t,r);this._viewModel=n,this._container=e,this._element=i;var a=document.createElement("div");a.textContent="3D Tiles Inspector",a.className="cesium-cesiumInspector-button",a.setAttribute("data-bind","click: toggleInspector"),i.appendChild(a),i.className="cesium-cesiumInspector cesium-3DTilesInspector",i.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(i);var o=document.createElement("div");(this._panel=o).className="cesium-cesiumInspector-dropDown",i.appendChild(o);var s=InspectorShared.createSection,l=InspectorShared.createCheckbox,c=s(o,"Tileset","tilesetVisible","toggleTileset"),u=s(o,"Display","displayVisible","toggleDisplay"),d=s(o,"Update","updateVisible","toggleUpdate"),h=s(o,"Logging","loggingVisible","toggleLogging"),p=s(o,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),t=s(o,"Style","styleVisible","toggleStyle"),a=s(o,"Optimization","optimizationVisible","toggleOptimization"),e=document.createElement("div");e.className="field-group";s=document.createElement("label");s.className="field-label",s.appendChild(document.createTextNode("Properties: "));o=document.createElement("div");o.setAttribute("data-bind","text: properties"),e.appendChild(s),e.appendChild(o),c.appendChild(e),c.appendChild(makeButton("togglePickTileset","Pick Tileset","pickActive")),c.appendChild(makeButton("trimTilesCache","Trim Tiles Cache")),c.appendChild(l("Enable Picking","picking")),u.appendChild(l("Colorize","colorize")),u.appendChild(l("Wireframe","wireframe")),u.appendChild(l("Bounding Volumes","showBoundingVolumes")),u.appendChild(l("Content Volumes","showContentBoundingVolumes")),u.appendChild(l("Request Volumes","showRequestVolumes")),u.appendChild(l("Point Cloud Shading","pointCloudShading"));c=document.createElement("div");c.setAttribute("data-bind","visible: pointCloudShading"),c.appendChild(makeRangeInput("geometricErrorScale",0,2,.01,"Geometric Error Scale")),c.appendChild(makeRangeInput("maximumAttenuation",0,32,1,"Maximum Attenuation")),c.appendChild(makeRangeInput("baseResolution",0,1,.01,"Base Resolution")),c.appendChild(l("Eye Dome Lighting (EDL)","eyeDomeLighting")),u.appendChild(c);u=document.createElement("div");u.setAttribute("data-bind","visible: eyeDomeLighting"),u.appendChild(makeRangeInput("eyeDomeLightingStrength",0,2,.1,"EDL Strength")),u.appendChild(makeRangeInput("eyeDomeLightingRadius",0,4,.1,"EDL Radius")),c.appendChild(u),d.appendChild(l("Freeze Frame","freezeFrame")),d.appendChild(l("Dynamic Screen Space Error","dynamicScreenSpaceError"));u=document.createElement("div");u.appendChild(makeRangeInput("maximumScreenSpaceError",0,128,1,"Maximum Screen Space Error")),d.appendChild(u);u=document.createElement("div");u.setAttribute("data-bind","visible: dynamicScreenSpaceError"),u.appendChild(makeRangeInput("dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"Screen Space Error Density","dynamicScreenSpaceErrorDensity")),u.appendChild(makeRangeInput("dynamicScreenSpaceErrorFactor",1,10,.1,"Screen Space Error Factor")),d.appendChild(u),h.appendChild(l("Performance","performance")),h.appendChild(r),h.appendChild(l("Statistics","showStatistics"));r=document.createElement("div");r.className="cesium-3dTilesInspector-statistics",r.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),h.appendChild(r),h.appendChild(l("Pick Statistics","showPickStatistics"));r=document.createElement("div");r.className="cesium-3dTilesInspector-statistics",r.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),h.appendChild(r);r=document.createElement("div");t.appendChild(r),r.appendChild(document.createTextNode("Color Blend Mode: "));t=document.createElement("select");t.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),r.appendChild(t);t=document.createElement("textarea");t.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),r.className="cesium-cesiumInspector-styleEditor",r.appendChild(t);t=makeButton("compileStyle","Compile (Ctrl+Enter)");r.appendChild(t);t=document.createElement("div");t.className="cesium-cesiumInspector-error",t.setAttribute("data-bind","text: editorError"),r.appendChild(t),p.appendChild(l("Show Picked Only","showOnlyPickedTileDebugLabel")),p.appendChild(l("Geometric Error","showGeometricError")),p.appendChild(l("Rendering Statistics","showRenderingStatistics")),p.appendChild(l("Memory Usage (MB)","showMemoryUsage")),p.appendChild(l("Url","showUrl")),a.appendChild(l("Skip Tile LODs","skipLevelOfDetail"));p=document.createElement("div");p.appendChild(makeRangeInput("skipScreenSpaceErrorFactor",1,50,1,"Skip SSE Factor")),a.appendChild(p);p=document.createElement("div");p.appendChild(makeRangeInput("baseScreenSpaceError",0,4096,1,"SSE before skipping LOD")),a.appendChild(p);p=document.createElement("div");p.appendChild(makeRangeInput("skipLevels",0,10,1,"Min. levels to skip")),a.appendChild(p),a.appendChild(l("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),a.appendChild(l("Load siblings of visible tiles","loadSiblings")),knockout.applyBindings(n,i)}function makeRangeInput(e,t,i,r,n,a){a=defaultValue(a,e);var o=document.createElement("input");o.setAttribute("data-bind","value: "+a),o.type="number";a=document.createElement("input");a.type="range",a.min=t,a.max=i,a.step=r,a.setAttribute("data-bind",'valueUpdate: "input", value: '+e);e=document.createElement("div");e.appendChild(a);a=document.createElement("div");return a.className="cesium-cesiumInspector-slider",a.appendChild(document.createTextNode(n)),a.appendChild(o),a.appendChild(e),a}function makeButton(e,t,i){var r=document.createElement("button");r.type="button",r.textContent=t,r.className="cesium-cesiumInspector-pickButton";e="click: "+e;return defined(i)&&(e+=', css: {"cesium-cesiumInspector-pickButtonHighlight" : '+i+"}"),r.setAttribute("data-bind",e),r}function frustumStatisticsToString(e){var t;if(defined(e)){t="Command Statistics";var i,r=e.commandsInFrustums;for(i in r)if(r.hasOwnProperty(i)){var n,a=parseInt(i,10);if(7===a)n="1, 2 and 3";else{for(var o=[],s=2;0<=s;s--){var l=Math.pow(2,s);l<=a&&(o.push(s+1),a-=l)}n=o.reverse().join(" and ")}t+="<br>    "+r[i]+" in frustum "+n}t+="<br>Total: "+e.totalCommands}return t}function boundDepthFrustum(e,t,i){t=Math.min(i,t);return t=Math.max(t,e)}Object.defineProperties(Cesium3DTilesInspectorViewModel.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},colorBlendModes:{get:function(){return colorBlendModes}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,defined(e)){var t=this;e.readyPromise.then(function(e){t.isDestroyed()||t._properties(e.properties)});for(var i=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],r=i.length,n=0;n<r;++n){var a=i[n];this[a]=this[a]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings;var o=e.pointCloudShading;this.pointCloudShading=o.attenuation,this.geometricErrorScale=o.geometricErrorScale,this.maximumAttenuation=o.maximumAttenuation||0,this.baseResolution=o.baseResolution||0,this.eyeDomeLighting=o.eyeDomeLighting,this.eyeDomeLightingStrength=o.eyeDomeLightingStrength,this.eyeDomeLightingRadius=o.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=getStatistics(e,!1),this._pickStatisticsText=getStatistics(e,!0),selectTilesetOnHover(this,!1)}},feature:{get:function(){return this._feature},set:function(e){var t;this._feature!==e&&(defined(t=this._feature)&&!t.content.isDestroyed()&&(!this.colorize&&defined(this._style)?t.color=defined(this._style.color)?this._style.color.evaluateColor(t,scratchColor$l):Color.WHITE:t.color=oldColor,this._scene.requestRender()),defined(e)&&(Color.clone(e.color,oldColor),e.color=highlightColor$1,this._scene.requestRender()),this._feature=e)}},tile:{get:function(){return this._tile},set:function(e){var t;this._tile!==e&&(!defined(t=this._tile)||t.isDestroyed()||hasFeatures(t.content)||(t.color=oldColor,this._scene.requestRender()),defined(e)&&!hasFeatures(e.content)&&(Color.clone(e.color,oldColor),e.color=highlightColor$1,this._scene.requestRender()),this._tile=e)}}}),Cesium3DTilesInspectorViewModel.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive},Cesium3DTilesInspectorViewModel.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible},Cesium3DTilesInspectorViewModel.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible},Cesium3DTilesInspectorViewModel.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible},Cesium3DTilesInspectorViewModel.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible},Cesium3DTilesInspectorViewModel.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible},Cesium3DTilesInspectorViewModel.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible},Cesium3DTilesInspectorViewModel.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible},Cesium3DTilesInspectorViewModel.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible},Cesium3DTilesInspectorViewModel.prototype.trimTilesCache=function(){defined(this._tileset)&&this._tileset.trimLoadedTiles()},Cesium3DTilesInspectorViewModel.prototype.compileStyle=function(){var e=this._tileset;if(defined(e)&&this.styleString!==JSON.stringify(e.style)){this._editorError="";try{0===this.styleString.length&&(this.styleString="{}"),this._style=new Cesium3DTileStyle(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(e){this._editorError=e.toString()}this.feature=this._feature,this.tile=this._tile}},Cesium3DTilesInspectorViewModel.prototype.styleEditorKeyPress=function(e,t){if(9===t.keyCode){t.preventDefault();var i,r=t.target,n=r.selectionStart,a=r.selectionEnd,o=a,s=r.value.slice(n,a).split("\n"),l=s.length;if(t.shiftKey)for(i=0;i<l;++i)" "===s[i][0]&&(" "===s[i][1]?(s[i]=s[i].substr(2),o-=2):(s[i]=s[i].substr(1),--o));else for(i=0;i<l;++i)s[i]=" "+s[i],o+=2;var c=s.join("\n");r.value=r.value.slice(0,n)+c+r.value.slice(a),r.selectionStart=n!==a?n:o,r.selectionEnd=o}else!t.ctrlKey||10!==t.keyCode&&13!==t.keyCode||this.compileStyle();return!0},Cesium3DTilesInspectorViewModel.prototype._update=function(){var e=this._tileset;if(this.performance&&this._performanceDisplay.update(),defined(e)){if(e.isDestroyed())return this.tile=void 0,this.feature=void 0,void(this.tileset=void 0);var t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=getStatistics(e,!1),this._pickStatisticsText=getStatistics(e,!0))},Cesium3DTilesInspectorViewModel.prototype.isDestroyed=function(){return!1},Cesium3DTilesInspectorViewModel.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();var t=this;return this._definedProperties.forEach(function(e){knockout.getObservable(t,e).dispose()}),destroyObject(this)},Cesium3DTilesInspectorViewModel.getStatistics=getStatistics,Object.defineProperties(Cesium3DTilesInspector.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),Cesium3DTilesInspector.prototype.isDestroyed=function(){return!1},Cesium3DTilesInspector.prototype.destroy=function(){return knockout.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),destroyObject(this)};var scratchPickRay$1=new Ray,scratchPickCartesian$1=new Cartesian3;function CesiumInspectorViewModel(e,t){var c=this,i=e.canvas,r=new ScreenSpaceEventHandler(i);this._eventHandler=r,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;var n,u=this._scene.globe;function a(e){e=c._scene.pick({x:e.position.x,y:e.position.y});defined(e)&&(c.primitive=defined(e.collection)?e.collection:e.primitive),c._scene.requestRender(),c.pickPrimitiveActive=!1}function o(e){var t,i=u.ellipsoid,e=c._scene.camera.getPickRay(e.position,scratchPickRay$1),e=u.pick(e,c._scene,scratchPickCartesian$1);if(defined(e))for(var r=i.cartesianToCartographic(e),n=u._surface.tileProvider._tilesToRenderByTextureCount,a=0;!t&&a<n.length;++a){var o=n[a];if(defined(o))for(var s=0;!t&&s<o.length;++s){var l=o[s];Rectangle.contains(l.rectangle,r)&&(t=l)}}c.tile=t,c.pickTileActive=!1}u.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.globeDepth=!1,this.pickDepth=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",knockout.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","globeDepth","pickDepth","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=createCommand$2(function(){c.dropDownVisible=!c.dropDownVisible}),this._toggleGeneral=createCommand$2(function(){c.generalVisible=!c.generalVisible}),this._togglePrimitives=createCommand$2(function(){c.primitivesVisible=!c.primitivesVisible}),this._toggleTerrain=createCommand$2(function(){c.terrainVisible=!c.terrainVisible}),this._frustumsSubscription=knockout.getObservable(this,"frustums").subscribe(function(e){c._scene.debugShowFrustums=e,c._scene.requestRender()}),this._frustumPlanesSubscription=knockout.getObservable(this,"frustumPlanes").subscribe(function(e){c._scene.debugShowFrustumPlanes=e,c._scene.requestRender()}),this._performanceSubscription=knockout.getObservable(this,"performance").subscribe(function(e){e?c._performanceDisplay=new PerformanceDisplay({container:c._performanceContainer}):c._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=createCommand$2(function(){return c._primitive.debugShowBoundingVolume=c.primitiveBoundingSphere,c._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=knockout.getObservable(this,"primitiveBoundingSphere").subscribe(function(){c._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=createCommand$2(function(){var e;return c.primitiveReferenceFrame?(e=c._primitive.modelMatrix,c._modelMatrixPrimitive=new DebugModelMatrixPrimitive({modelMatrix:e}),c._scene.primitives.add(c._modelMatrixPrimitive)):defined(c._modelMatrixPrimitive)&&(c._scene.primitives.remove(c._modelMatrixPrimitive),c._modelMatrixPrimitive=void 0),c._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=knockout.getObservable(this,"primitiveReferenceFrame").subscribe(function(){c._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=createCommand$2(function(){return c.filterPrimitive?c._scene.debugCommandFilter=function(e){return!(!defined(c._modelMatrixPrimitive)||e.owner!==c._modelMatrixPrimitive._primitive)||!!defined(c._primitive)&&(e.owner===c._primitive||e.owner===c._primitive._billboardCollection||e.owner.primitive===c._primitive)}:c._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=knockout.getObservable(this,"filterPrimitive").subscribe(function(){c._doFilterPrimitive(),c._scene.requestRender()}),this._wireframeSubscription=knockout.getObservable(this,"wireframe").subscribe(function(e){u._surface.tileProvider._debug.wireframe=e,c._scene.requestRender()}),this._globeDepthSubscription=knockout.getObservable(this,"globeDepth").subscribe(function(e){c._scene.debugShowGlobeDepth=e,c._scene.requestRender()}),this._pickDepthSubscription=knockout.getObservable(this,"pickDepth").subscribe(function(e){c._scene.debugShowPickDepth=e,c._scene.requestRender()}),this._depthFrustumSubscription=knockout.getObservable(this,"depthFrustum").subscribe(function(e){c._scene.debugShowDepthFrustum=e,c._scene.requestRender()}),this._incrementDepthFrustum=createCommand$2(function(){var e=c.depthFrustum+1;return c.depthFrustum=boundDepthFrustum(1,c._numberOfFrustums,e),c._scene.requestRender(),!0}),this._decrementDepthFrustum=createCommand$2(function(){var e=c.depthFrustum-1;return c.depthFrustum=boundDepthFrustum(1,c._numberOfFrustums,e),c._scene.requestRender(),!0}),this._suspendUpdatesSubscription=knockout.getObservable(this,"suspendUpdates").subscribe(function(e){(u._surface._debug.suspendLodUpdate=e)||(c.filterTile=!1)}),this._showTileCoordinates=createCommand$2(function(){return c.tileCoordinates&&!defined(n)?n=e.imageryLayers.addImageryProvider(new TileCoordinatesImageryProvider({tilingScheme:e.terrainProvider.tilingScheme})):!c.tileCoordinates&&defined(n)&&(e.imageryLayers.remove(n),n=void 0),!0}),this._tileCoordinatesSubscription=knockout.getObservable(this,"tileCoordinates").subscribe(function(){c._showTileCoordinates(),c._scene.requestRender()}),this._tileBoundingSphereSubscription=knockout.getObservable(this,"tileBoundingSphere").subscribe(function(){c._showTileBoundingSphere(),c._scene.requestRender()}),this._showTileBoundingSphere=createCommand$2(function(){return c.tileBoundingSphere?u._surface.tileProvider._debug.boundingSphereTile=c._tile:u._surface.tileProvider._debug.boundingSphereTile=void 0,c._scene.requestRender(),!0}),this._doFilterTile=createCommand$2(function(){return c.filterTile?(c.suspendUpdates=!0,u._surface._tilesToRender=[],defined(c._tile)&&c._tile.renderable&&u._surface._tilesToRender.push(c._tile)):c.suspendUpdates=!1,!0}),this._filterTileSubscription=knockout.getObservable(this,"filterTile").subscribe(function(){c.doFilterTile(),c._scene.requestRender()}),this._pickPrimitive=createCommand$2(function(){c.pickPrimitiveActive=!c.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=knockout.getObservable(this,"pickPrimitiveActive").subscribe(function(e){e?r.setInputAction(a,ScreenSpaceEventType$1.LEFT_CLICK):r.removeInputAction(ScreenSpaceEventType$1.LEFT_CLICK)}),this._pickTile=createCommand$2(function(){c.pickTileActive=!c.pickTileActive}),this._pickTileActiveSubscription=knockout.getObservable(this,"pickTileActive").subscribe(function(e){e?r.setInputAction(o,ScreenSpaceEventType$1.LEFT_CLICK):r.removeInputAction(ScreenSpaceEventType$1.LEFT_CLICK)}),this._removePostRenderEvent=e.postRender.addEventListener(function(){c._update()})}function CesiumInspector(e,t){e=getElement(e);var i=document.createElement("div"),r=new CesiumInspectorViewModel(t,i);this._viewModel=r,this._container=e;var n=document.createElement("div");this._element=n;var a=document.createElement("div");a.textContent="Cesium Inspector",a.className="cesium-cesiumInspector-button",a.setAttribute("data-bind","click: toggleDropDown"),n.appendChild(a),n.className="cesium-cesiumInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);var o=document.createElement("div");(this._panel=o).className="cesium-cesiumInspector-dropDown",n.appendChild(o);var s=InspectorShared.createSection,l=InspectorShared.createCheckbox,c=s(o,"General","generalVisible","toggleGeneral"),u=l("Show Frustums","frustums"),d=document.createElement("div");d.className="cesium-cesiumInspector-frustumStatistics",d.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),u.appendChild(d),c.appendChild(u),c.appendChild(l("Show Frustum Planes","frustumPlanes")),c.appendChild(l("Performance Display","performance")),i.className="cesium-cesiumInspector-performanceDisplay",c.appendChild(i);var h=document.createElement("div");h.className="cesium-cesiumInspector-shaderCache",h.setAttribute("data-bind","html: shaderCacheText"),c.appendChild(h);var p=document.createElement("div");c.appendChild(p);t=document.createElement("span");t.setAttribute("data-bind",'html: "     Frustum:"'),p.appendChild(t);a=document.createElement("span");a.setAttribute("data-bind","text: depthFrustumText"),p.appendChild(a);e=document.createElement("input");e.type="button",e.value="-",e.className="cesium-cesiumInspector-pickButton",e.setAttribute("data-bind","click: decrementDepthFrustum"),p.appendChild(e);n=document.createElement("input");n.type="button",n.value="+",n.className="cesium-cesiumInspector-pickButton",n.setAttribute("data-bind","click: incrementDepthFrustum"),p.appendChild(n);d=s(o,"Primitives","primitivesVisible","togglePrimitives"),u=document.createElement("div");u.className="cesium-cesiumInspector-pickSection",d.appendChild(u);i=document.createElement("input");i.type="button",i.value="Pick a primitive",i.className="cesium-cesiumInspector-pickButton",i.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');h=document.createElement("div");h.className="cesium-cesiumInspector-center",h.appendChild(i),u.appendChild(h),u.appendChild(l("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),u.appendChild(l("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=l("Show only selected","filterPrimitive","hasPickedPrimitive"),u.appendChild(this._primitiveOnly);c=s(o,"Terrain","terrainVisible","toggleTerrain"),t=document.createElement("div");t.className="cesium-cesiumInspector-pickSection",c.appendChild(t);a=document.createElement("input");a.type="button",a.value="Pick a tile",a.className="cesium-cesiumInspector-pickButton",a.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),(h=document.createElement("div")).appendChild(a),h.className="cesium-cesiumInspector-center",t.appendChild(h);e=document.createElement("div");t.appendChild(e);p=document.createElement("input");p.type="button",p.value="Parent",p.className="cesium-cesiumInspector-pickButton",p.setAttribute("data-bind","click: selectParent");n=document.createElement("input");n.type="button",n.value="NW",n.className="cesium-cesiumInspector-pickButton",n.setAttribute("data-bind","click: selectNW");d=document.createElement("input");d.type="button",d.value="NE",d.className="cesium-cesiumInspector-pickButton",d.setAttribute("data-bind","click: selectNE");i=document.createElement("input");i.type="button",i.value="SW",i.className="cesium-cesiumInspector-pickButton",i.setAttribute("data-bind","click: selectSW");u=document.createElement("input");u.type="button",u.value="SE",u.className="cesium-cesiumInspector-pickButton",u.setAttribute("data-bind","click: selectSE");s=document.createElement("div");s.className="cesium-cesiumInspector-tileText",e.className="cesium-cesiumInspector-frustumStatistics",e.appendChild(s),e.setAttribute("data-bind","visible: hasPickedTile"),s.setAttribute("data-bind","html: tileText");o=document.createElement("div");o.className="cesium-cesiumInspector-relativeText",o.textContent="Select relative:",e.appendChild(o);a=document.createElement("table"),h=document.createElement("tr"),s=document.createElement("tr"),o=document.createElement("td");o.appendChild(p);p=document.createElement("td");p.appendChild(n);n=document.createElement("td");n.appendChild(d),h.appendChild(o),h.appendChild(p),h.appendChild(n);p=document.createElement("td"),n=document.createElement("td");n.appendChild(i);i=document.createElement("td");i.appendChild(u),s.appendChild(p),s.appendChild(n),s.appendChild(i),a.appendChild(h),a.appendChild(s),e.appendChild(a),t.appendChild(l("Show bounding volume","tileBoundingSphere","hasPickedTile")),t.appendChild(l("Show only selected","filterTile","hasPickedTile")),c.appendChild(l("Wireframe","wireframe")),c.appendChild(l("Suspend LOD update","suspendUpdates")),c.appendChild(l("Show tile coordinates","tileCoordinates")),knockout.applyBindings(r,this._element)}function getDefaultSkyBoxUrl(e){return buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_"+e+".jpg")}function startRenderLoop(n){n._renderLoopRunning=!0;var a=0;requestAnimationFramePolyFill(function e(t){if(!n.isDestroyed())if(n._useDefaultRenderLoop)try{var i,r=n._targetFrameRate;defined(r)?(i=1e3/r)<(r=t-a)&&(n.resize(),n.render(),a=t-r%i):(n.resize(),n.render()),requestAnimationFramePolyFill(e)}catch(e){n._useDefaultRenderLoop=!1,n._renderLoopRunning=!1,n._showRenderLoopErrors&&n.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,e)}else n._renderLoopRunning=!1})}function configurePixelRatio(e){var t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,defined(e._scene)&&(e._scene.pixelRatio=t),t}function configureCanvasSize(e){var t=e._canvas,i=t.clientWidth,r=t.clientHeight,n=configurePixelRatio(e);e._canvasClientWidth=i,e._canvasClientHeight=r,i*=n,r*=n,t.width=i,t.height=r,e._canRender=0!=i&&0!=r,e._lastDevicePixelRatio=window.devicePixelRatio}function configureCameraFrustum(e){var t=e._canvas,i=t.width,t=t.height;0!==i&&0!==t&&(defined((e=e._scene.camera.frustum).aspectRatio)?e.aspectRatio=i/t:(e.top=e.right*(t/i),e.bottom=-e.top))}function CesiumWidget(e,t){e=getElement(e),t=defaultValue(t,defaultValue.EMPTY_OBJECT);var i=document.createElement("div");i.className="cesium-widget",e.appendChild(i);var r=document.createElement("canvas"),n=FeatureDetection.supportsImageRenderingPixelated();function a(){r!==r.ownerDocument.activeElement&&r.ownerDocument.activeElement.blur()}(this._supportsImageRenderingPixelated=n)&&(r.style.imageRendering=FeatureDetection.imageRenderingValue()),r.oncontextmenu=function(){return!1},r.onselectstart=function(){return!1},r.addEventListener("mousedown",a),r.addEventListener("pointerdown",a),i.appendChild(r);var o=document.createElement("div");o.className="cesium-widget-credits";var s=defined(t.creditContainer)?getElement(t.creditContainer):i;s.appendChild(o);var l=defined(t.creditViewport)?getElement(t.creditViewport):i,c=defaultValue(t.showRenderLoopErrors,!0),n=defaultValue(t.useBrowserRecommendedResolution,!0);this._element=i,this._container=e,this._canvas=r,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=l,this._creditContainer=s,this._innerCreditContainer=o,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=c,this._resolutionScale=1,this._useBrowserRecommendedResolution=n,this._forceResize=!1,this._clock=defined(t.clock)?t.clock:new Clock,configureCanvasSize(this);try{var u=new Scene({canvas:r,contextOptions:t.contextOptions,creditContainer:o,creditViewport:l,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:defaultValue(t.scene3DOnly,!1),terrainExaggeration:t.terrainExaggeration,shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange});(this._scene=u).camera.constrainedAxis=Cartesian3.UNIT_Z,configurePixelRatio(this),configureCameraFrustum(this);var d=defaultValue(u.mapProjection.ellipsoid,Ellipsoid.WGS84),h=t.globe;defined(h)||(h=new Globe(d)),!1!==h&&(u.globe=h,u.globe.shadows=defaultValue(t.terrainShadows,ShadowMode$1.RECEIVE_ONLY));h=t.skyBox;defined(h)||(h=new SkyBox({sources:{positiveX:getDefaultSkyBoxUrl("px"),negativeX:getDefaultSkyBoxUrl("mx"),positiveY:getDefaultSkyBoxUrl("py"),negativeY:getDefaultSkyBoxUrl("my"),positiveZ:getDefaultSkyBoxUrl("pz"),negativeZ:getDefaultSkyBoxUrl("mz")}})),!1!==h&&(u.skyBox=h,u.sun=new Sun,u.moon=new Moon);h=t.skyAtmosphere;defined(h)||(h=new SkyAtmosphere(d)),!1!==h&&(u.skyAtmosphere=h);h=!1!==t.globe&&t.imageryProvider;defined(h)||(h=createWorldImagery()),!1!==h&&u.imageryLayers.addImageryProvider(h),defined(t.terrainProvider)&&!1!==t.globe&&(u.terrainProvider=t.terrainProvider),this._screenSpaceEventHandler=new ScreenSpaceEventHandler(r),defined(t.sceneMode)&&(t.sceneMode===SceneMode$1.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===SceneMode$1.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=defaultValue(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;var p=this;this._onRenderError=function(e,t){p._useDefaultRenderLoop=!1,p._renderLoopRunning=!1,p._showRenderLoopErrors&&p.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,t)},u.renderError.addEventListener(this._onRenderError)}catch(e){throw c&&this.showErrorPanel("Error constructing CesiumWidget.",'Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:',e),e}}function FullscreenButtonViewModel(e,t){defined(t)||(t=document.body),t=getElement(t);var i=this,r=knockout.observable(Fullscreen.fullscreen),n=knockout.observable(Fullscreen.enabled),t=t.ownerDocument;this.isFullscreen=void 0,knockout.defineProperty(this,"isFullscreen",{get:function(){return r()}}),this.isFullscreenEnabled=void 0,knockout.defineProperty(this,"isFullscreenEnabled",{get:function(){return n()},set:function(e){n(e&&Fullscreen.enabled)}}),this.tooltip=void 0,knockout.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?r()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=createCommand$2(function(){Fullscreen.fullscreen?Fullscreen.exitFullscreen():Fullscreen.requestFullscreen(i._fullscreenElement)},knockout.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=defaultValue(getElement(e),t.body),this._callback=function(){r(Fullscreen.fullscreen)},t.addEventListener(Fullscreen.changeEventName,this._callback)}Object.defineProperties(CesiumInspectorViewModel.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){var e=this;return createCommand$2(function(){e.tile=e.tile.parent})}},selectNW:{get:function(){var e=this;return createCommand$2(function(){e.tile=e.tile.northwestChild})}},selectNE:{get:function(){var e=this;return createCommand$2(function(){e.tile=e.tile.northeastChild})}},selectSW:{get:function(){var e=this;return createCommand$2(function(){e.tile=e.tile.southwestChild})}},selectSE:{get:function(){var e=this;return createCommand$2(function(){e.tile=e.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(e){var t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,defined(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,defined(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),(this._primitive=e).show=!1,setTimeout(function(){e.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){var t;defined(e)?(this.hasPickedTile=!0,e!==this._tile&&(this.tileText="L: "+e.level+" X: "+e.x+" Y: "+e.y,this.tileText+="<br>SW corner: "+e.rectangle.west+", "+e.rectangle.south,this.tileText+="<br>NE corner: "+e.rectangle.east+", "+e.rectangle.north,defined(t=e.data)&&defined(t.tileBoundingRegion)?this.tileText+="<br>Min: "+t.tileBoundingRegion.minimumHeight+" Max: "+t.tileBoundingRegion.maximumHeight:this.tileText+="<br>(Tile is not loaded)"),this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()):(this.hasPickedTile=!1,this._tile=void 0)}}}),CesiumInspectorViewModel.prototype._update=function(){this.frustums&&(this.frustumStatisticText=frustumStatisticsToString(this._scene.debugFrustumStatistics));var e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=boundDepthFrustum(1,e,this.depthFrustum),this.depthFrustumText=this.depthFrustum+" of "+e,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText="Cached shaders: "+this._scene.context.shaderCache.numberOfShaders},CesiumInspectorViewModel.prototype.isDestroyed=function(){return!1},CesiumInspectorViewModel.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._globeDepthSubscription.dispose(),this._pickDepthSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),destroyObject(this)},Object.defineProperties(CesiumInspector.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),CesiumInspector.prototype.isDestroyed=function(){return!1},CesiumInspector.prototype.destroy=function(){return knockout.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),destroyObject(this)},Object.defineProperties(CesiumWidget.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},camera:{get:function(){return this._scene.camera}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e)&&!this._renderLoopRunning&&startRenderLoop(this)}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}}}),CesiumWidget.prototype.showErrorPanel=function(e,t,i){var r=this._element,n=document.createElement("div");n.className="cesium-widget-errorPanel";var a=document.createElement("div");a.className="cesium-widget-errorPanel-content",n.appendChild(a);var o=document.createElement("div");o.className="cesium-widget-errorPanel-header",o.appendChild(document.createTextNode(e)),a.appendChild(o);var s=document.createElement("div");function l(){s.style.maxHeight=Math.max(Math.round(.9*r.clientHeight-100),30)+"px"}s.className="cesium-widget-errorPanel-scroll",a.appendChild(s),l(),defined(window.addEventListener)&&window.addEventListener("resize",l,!1);var c,u,d,h=defined(t),o=defined(i);(h||o)&&((p=document.createElement("div")).className="cesium-widget-errorPanel-message",s.appendChild(p),o&&(c=formatError(i),h||("string"==typeof i&&(i=new Error(i)),t=formatError({name:i.name,message:i.message}),c=i.stack),"undefined"!=typeof console&&console.error(e+"\n"+t+"\n"+c),(u=document.createElement("div")).className="cesium-widget-errorPanel-message-details collapsed",(d=document.createElement("span")).className="cesium-widget-errorPanel-more-details",d.appendChild(document.createTextNode("See more...")),u.appendChild(d),u.onclick=function(e){u.removeChild(d),u.appendChild(document.createTextNode(c)),u.className="cesium-widget-errorPanel-message-details",a.className="cesium-widget-errorPanel-content expanded",u.onclick=void 0},s.appendChild(u)),p.innerHTML="<p>"+t+"</p>");var p=document.createElement("div");p.className="cesium-widget-errorPanel-buttonPanel",a.appendChild(p);t=document.createElement("button");t.setAttribute("type","button"),t.className="cesium-button",t.appendChild(document.createTextNode("OK")),t.onclick=function(){defined(l)&&defined(window.removeEventListener)&&window.removeEventListener("resize",l,!1),r.removeChild(n)},p.appendChild(t),r.appendChild(n)},CesiumWidget.prototype.isDestroyed=function(){return!1},CesiumWidget.prototype.destroy=function(){defined(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),destroyObject(this)},CesiumWidget.prototype.resize=function(){var e=this._canvas;!this._forceResize&&this._canvasClientWidth===e.clientWidth&&this._canvasClientHeight===e.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,configureCanvasSize(this),configureCameraFrustum(this),this._scene.requestRender())},CesiumWidget.prototype.render=function(){var e;this._canRender?(this._scene.initializeFrame(),e=this._clock.tick(),this._scene.render(e)):this._clock.tick()},Object.defineProperties(FullscreenButtonViewModel.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){this._fullscreenElement=e}},command:{get:function(){return this._command}}}),FullscreenButtonViewModel.prototype.isDestroyed=function(){return!1},FullscreenButtonViewModel.prototype.destroy=function(){document.removeEventListener(Fullscreen.changeEventName,this._callback),destroyObject(this)};var enterFullScreenPath="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",exitFullScreenPath="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function FullscreenButton(e,t){var i=new FullscreenButtonViewModel(t,e=getElement(e));i._exitFullScreenPath=exitFullScreenPath,i._enterFullScreenPath=enterFullScreenPath;t=document.createElement("button");t.type="button",t.className="cesium-button cesium-fullscreenButton",t.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(t),knockout.applyBindings(i,t),this._container=e,this._viewModel=i,this._element=t}Object.defineProperties(FullscreenButton.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),FullscreenButton.prototype.isDestroyed=function(){return!1},FullscreenButton.prototype.destroy=function(){return this._viewModel.destroy(),knockout.cleanNode(this._element),this._container.removeChild(this._element),destroyObject(this)};var DEFAULT_HEIGHT=1e3;function GeocoderViewModel(e){defined(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new CartographicGeocoderService,new IonGeocoderService({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._geocodePromise=void 0,this._complete=new Event,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=handleArrowDown,this._handleArrowUp=handleArrowUp;var n=this;this._suggestionsVisible=knockout.pureComputed(function(){var e=0<knockout.getObservable(n,"_suggestions")().length,t=knockout.getObservable(n,"_showSuggestions")();return e&&t}),this._searchCommand=createCommand$2(function(e){return e=defaultValue(e,GeocodeType$1.SEARCH),n._focusTextbox=!1,defined(n._selectedSuggestion)?(n.activateSuggestion(n._selectedSuggestion),!1):(n.hideSuggestions(),void(n.isSearchInProgress?cancelGeocode(n):geocode(n,n._geocoderServices,e)))}),this.deselectSuggestion=function(){n._selectedSuggestion=void 0},this.handleKeyDown=function(e,t){var i="ArrowDown"===t.key||"Down"===t.key||40===t.keyCode,r="ArrowUp"===t.key||"Up"===t.key||38===t.keyCode;return(i||r)&&t.preventDefault(),!0},this.handleKeyUp=function(e,t){var i="ArrowDown"===t.key||"Down"===t.key||40===t.keyCode,r="ArrowUp"===t.key||"Up"===t.key||38===t.keyCode,t="Enter"===t.key||13===t.keyCode;return r?handleArrowUp(n):i?handleArrowDown(n):t&&n._searchCommand(),!0},this.activateSuggestion=function(e){n.hideSuggestions(),n._searchText=e.displayName;e=e.destination;clearSuggestions(n),n.destinationFound(n,e)},this.hideSuggestions=function(){n._showSuggestions=!1,n._selectedSuggestion=void 0},this.showSuggestions=function(){n._showSuggestions=!0},this.handleMouseover=function(e,t){e!==n._selectedSuggestion&&(n._selectedSuggestion=e)},this.keepExpanded=!1,this.autoComplete=defaultValue(e.autocomplete,!0),this.destinationFound=defaultValue(e.destinationFound,GeocoderViewModel.flyToDestination),this._focusTextbox=!1,knockout.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);e=knockout.getObservable(this,"_searchText");e.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=e.subscribe(function(){GeocoderViewModel._updateSearchSuggestions(n)}),this.isSearchInProgress=void 0,knockout.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,knockout.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(e){this._searchText=e}}),this.flightDuration=void 0,knockout.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(e){this._flightDuration=e}})}function handleArrowUp(e){var t;0!==e._suggestions.length&&(-1!==(t=e._suggestions.indexOf(e._selectedSuggestion))&&0!==t?(t=t-1,e._selectedSuggestion=e._suggestions[t],GeocoderViewModel._adjustSuggestionsScroll(e,t)):e._selectedSuggestion=void 0)}function handleArrowDown(e){var t;0!==e._suggestions.length&&(t=e._suggestions.length,t=(e._suggestions.indexOf(e._selectedSuggestion)+1)%t,e._selectedSuggestion=e._suggestions[t],GeocoderViewModel._adjustSuggestionsScroll(e,t))}function computeFlyToLocationForCartographic(t,e){var i=defined(e)?e.availability:void 0;return defined(i)?sampleTerrainMostDetailed(e,[t]).then(function(e){return(t=e[0]).height+=DEFAULT_HEIGHT,t}):(t.height+=DEFAULT_HEIGHT,when.resolve(t))}function flyToDestination(e,t){var i,r=e._scene,n=r.mapProjection.ellipsoid,a=r.camera,o=r.terrainProvider,s=t;t instanceof Rectangle?CesiumMath.equalsEpsilon(t.south,t.north,CesiumMath.EPSILON7)&&CesiumMath.equalsEpsilon(t.east,t.west,CesiumMath.EPSILON7)?t=Rectangle.center(t):i=computeFlyToLocationForRectangle(t,r):t=n.cartesianToCartographic(t),defined(i)||(i=computeFlyToLocationForCartographic(t,o)),i.then(function(e){s=n.cartographicToCartesian(e)}).always(function(){a.flyTo({destination:s,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:Matrix4.IDENTITY})})}function chainPromise(e,t,i,r){return e.then(function(e){return defined(e)&&"fulfilled"===e.state&&0<e.value.length?e:t.geocode(i,r).then(function(e){return{state:"fulfilled",value:e}}).otherwise(function(e){return{state:"rejected",reason:e}})})}function geocode(i,e,t){var r=i._searchText;if(hasOnlyWhitespace(r))i.showSuggestions();else{i._isSearchInProgress=!0;for(var n=when.resolve(),a=0;a<e.length;a++)n=chainPromise(n,e[a],r,t);(i._geocodePromise=n).then(function(e){if(!n.cancel){i._isSearchInProgress=!1;var t=e.value;if("fulfilled"===e.state&&defined(t)&&0<t.length)return i._searchText=t[0].displayName,void i.destinationFound(i,t[0].destination);i._searchText=r+" (not found)"}})}}function adjustSuggestionsScroll(e,t){var i=getElement(e._viewContainer),e=i.getElementsByClassName("search-results")[0],i=i.getElementsByTagName("li")[t];0!==t?(t=i.offsetTop)+i.clientHeight>e.clientHeight?e.scrollTop=t+i.clientHeight:t<e.scrollTop&&(e.scrollTop=t):e.scrollTop=0}function cancelGeocode(e){e._isSearchInProgress=!1,defined(e._geocodePromise)&&(e._geocodePromise.cancel=!0,e._geocodePromise=void 0)}function hasOnlyWhitespace(e){return/^\s*$/.test(e)}function clearSuggestions(e){knockout.getObservable(e,"_suggestions").removeAll()}function updateSearchSuggestions(r){var i,t;r.autoComplete&&(i=r._searchText,clearSuggestions(r),hasOnlyWhitespace(i)||(t=when.resolve([]),r._geocoderServices.forEach(function(e){t=t.then(function(t){return 5<=t.length?t:e.geocode(i,GeocodeType$1.AUTOCOMPLETE).then(function(e){return t=t.concat(e)})})}),t.then(function(e){for(var t=r._suggestions,i=0;i<e.length;i++)t.push(e[i])})))}Object.defineProperties(GeocoderViewModel.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}}),GeocoderViewModel.prototype.destroy=function(){this._suggestionSubscription.dispose()},GeocoderViewModel.flyToDestination=flyToDestination,GeocoderViewModel._updateSearchSuggestions=updateSearchSuggestions,GeocoderViewModel._adjustSuggestionsScroll=adjustSuggestionsScroll;var startSearchPath="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",stopSearchPath="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function Geocoder(e){var i=getElement(e.container),r=new GeocoderViewModel(e);r._startSearchPath=startSearchPath,r._stopSearchPath=stopSearchPath;var t=document.createElement("form");t.setAttribute("data-bind","submit: search");var n=document.createElement("input");n.type="search",n.className="cesium-geocoder-input",n.setAttribute("placeholder","Enter an address or landmark..."),n.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){n.select()},0)},n.addEventListener("focus",this._onTextBoxFocus,!1),t.appendChild(n),this._textBox=n;var a=document.createElement("span");a.className="cesium-geocoder-searchButton",a.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),t.appendChild(a),i.appendChild(t);var o=document.createElement("div");o.className="search-results",o.setAttribute("data-bind","visible: _suggestionsVisible");e=document.createElement("ul");e.setAttribute("data-bind","foreach: _suggestions");a=document.createElement("li");e.appendChild(a),a.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),o.appendChild(e),i.appendChild(o),knockout.applyBindings(r,t),knockout.applyBindings(r,o),this._container=i,this._searchSuggestionsContainer=o,this._viewModel=r,this._form=t,this._onInputBegin=function(e){var t=e.target;"function"==typeof e.composedPath&&(t=e.composedPath()[0]),i.contains(t)||(r._focusTextbox=!1,r.hideSuggestions())},this._onInputEnd=function(e){r._focusTextbox=!0,r.showSuggestions()},FeatureDetection.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),i.addEventListener("pointerup",this._onInputEnd,!0),i.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),i.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),i.addEventListener("touchend",this._onInputEnd,!0),i.addEventListener("touchcancel",this._onInputEnd,!0))}function HomeButtonViewModel(e,t){this._scene=e,this._duration=t;var i=this;this._command=createCommand$2(function(){i._scene.camera.flyHome(i._duration)}),this.tooltip="View Home",knockout.track(this,["tooltip"])}function HomeButton(e,t,i){e=getElement(e);t=new HomeButtonViewModel(t,i);t._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button cesium-home-button",i.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(i),knockout.applyBindings(t,i),this._container=e,this._viewModel=t,this._element=i}Object.defineProperties(Geocoder.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}}),Geocoder.prototype.isDestroyed=function(){return!1},Geocoder.prototype.destroy=function(){var e=this._container;return FeatureDetection.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),knockout.cleanNode(this._form),knockout.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),destroyObject(this)},Object.defineProperties(HomeButtonViewModel.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}}}),Object.defineProperties(HomeButton.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),HomeButton.prototype.isDestroyed=function(){return!1},HomeButton.prototype.destroy=function(){return knockout.cleanNode(this._element),this._container.removeChild(this._element),destroyObject(this)};var cameraEnabledPath="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",cameraDisabledPath="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function InfoBoxViewModel(){this._cameraClicked=new Event,this._closeClicked=new Event,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",knockout.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,knockout.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?cameraDisabledPath:cameraEnabledPath}}),knockout.defineProperty(this,"_bodyless",{get:function(){return!defined(this.description)||0===this.description.length}})}function InfoBox(e){e=getElement(e);var n=document.createElement("div");n.className="cesium-infoBox",n.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(n);var t=document.createElement("div");t.className="cesium-infoBox-title",t.setAttribute("data-bind","text: titleText"),n.appendChild(t);t=document.createElement("button");t.type="button",t.className="cesium-button cesium-infoBox-camera",t.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),n.appendChild(t);t=document.createElement("button");t.type="button",t.className="cesium-infoBox-close",t.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),t.innerHTML="×",n.appendChild(t);var a=document.createElement("iframe");a.className="cesium-infoBox-iframe",a.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),a.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),a.setAttribute("allowfullscreen",!0),n.appendChild(a);var i=new InfoBoxViewModel;knockout.applyBindings(i,n),this._container=e,this._element=n,this._frame=a,this._viewModel=i,this._descriptionSubscription=void 0;var o=this;a.addEventListener("load",function(){var e=a.contentDocument,t=e.createElement("link");t.href=buildModuleUrl("Widgets/InfoBox/InfoBoxDescription.css"),t.rel="stylesheet",t.type="text/css";var r=e.createElement("div");r.className="cesium-infoBox-description",e.head.appendChild(t),e.body.appendChild(r),o._descriptionSubscription=subscribeAndEvaluate(i,"description",function(e){a.style.height="5px",r.innerHTML=e;var t=null,i=r.firstElementChild;null===i||1!==r.childNodes.length||null!==(e=window.getComputedStyle(i))&&(i=e["background-color"],defined(i=Color.fromCssColorString(i))&&0!==i.alpha&&(t=e["background-color"])),n.style["background-color"]=t;t=r.getBoundingClientRect().height;a.style.height=t+"px"})}),a.setAttribute("src","about:blank")}function NavigationHelpButtonViewModel(){this.showInstructions=!1;var e=this;this._command=createCommand$2(function(){e.showInstructions=!e.showInstructions}),this._showClick=createCommand$2(function(){e._touch=!1}),this._showTouch=createCommand$2(function(){e._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",knockout.track(this,["tooltip","showInstructions","_touch"])}function NavigationHelpButton(e){var t=getElement(e.container),i=new NavigationHelpButtonViewModel,r=defaultValue(e.instructionsInitiallyVisible,!1);i.showInstructions=r,i._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";var n=document.createElement("span");n.className="cesium-navigationHelpButton-wrapper",t.appendChild(n);var a=document.createElement("button");a.type="button",a.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",a.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),n.appendChild(a);var o=document.createElement("div");o.className="cesium-navigation-help",o.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),n.appendChild(o);e=document.createElement("button");e.type="button",e.className="cesium-navigation-button cesium-navigation-button-left",e.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');r=document.createElement("img");r.src=buildModuleUrl("Widgets/Images/NavigationHelp/Mouse.svg"),r.className="cesium-navigation-button-icon",r.style.width="25px",r.style.height="25px",e.appendChild(r),e.appendChild(document.createTextNode("Mouse"));a=document.createElement("button");a.type="button",a.className="cesium-navigation-button cesium-navigation-button-right",a.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');r=document.createElement("img");r.src=buildModuleUrl("Widgets/Images/NavigationHelp/Touch.svg"),r.className="cesium-navigation-button-icon",r.style.width="25px",r.style.height="25px",a.appendChild(r),a.appendChild(document.createTextNode("Touch")),o.appendChild(e),o.appendChild(a);a=document.createElement("div");a.className="cesium-click-navigation-help cesium-navigation-help-instructions",a.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),a.innerHTML=' <table> <tr> <td><img src="'+buildModuleUrl("Widgets/Images/NavigationHelp/MouseLeft.svg")+'" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="'+buildModuleUrl("Widgets/Images/NavigationHelp/MouseRight.svg")+'" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="'+buildModuleUrl("Widgets/Images/NavigationHelp/MouseMiddle.svg")+'" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>',o.appendChild(a);a=document.createElement("div");a.className="cesium-touch-navigation-help cesium-navigation-help-instructions",a.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),a.innerHTML=' <table> <tr> <td><img src="'+buildModuleUrl("Widgets/Images/NavigationHelp/TouchDrag.svg")+'" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="'+buildModuleUrl("Widgets/Images/NavigationHelp/TouchZoom.svg")+'" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="'+buildModuleUrl("Widgets/Images/NavigationHelp/TouchTilt.svg")+'" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="'+buildModuleUrl("Widgets/Images/NavigationHelp/TouchRotate.svg")+'" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>',o.appendChild(a),knockout.applyBindings(i,n),this._container=t,this._viewModel=i,this._wrapper=n,this._closeInstructions=function(e){n.contains(e.target)||(i.showInstructions=!1)},FeatureDetection.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}function PerformanceWatchdogViewModel(e){this._scene=e.scene,this.lowFrameRateMessage=defaultValue(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,knockout.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);var t=this;this._dismissMessage=createCommand$2(function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0});e=FrameRateMonitor.fromScene(e.scene);this._unsubscribeLowFrameRate=e.lowFrameRate.addEventListener(function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=e.nominalFrameRate.addEventListener(function(){t.showingLowFrameRateMessage=!1})}function PerformanceWatchdog(e){var t=getElement(e.container),i=new PerformanceWatchdogViewModel(e),r=document.createElement("div");r.className="cesium-performance-watchdog-message-area",r.setAttribute("data-bind","visible: showingLowFrameRateMessage");e=document.createElement("button");e.setAttribute("type","button"),e.className="cesium-performance-watchdog-message-dismiss",e.innerHTML="×",e.setAttribute("data-bind","click: dismissMessage"),r.appendChild(e);e=document.createElement("div");e.className="cesium-performance-watchdog-message",e.setAttribute("data-bind","html: lowFrameRateMessage"),r.appendChild(e),t.appendChild(r),knockout.applyBindings(i,r),this._container=t,this._viewModel=i,this._element=r}function ProjectionPickerViewModel(e){this._scene=e,this._orthographic=e.camera.frustum instanceof OrthographicFrustum,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,knockout.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);var n=this;knockout.defineProperty(this,"selectedTooltip",function(){return n._orthographic?n.tooltipOrthographic:n.tooltipPerspective}),this._toggleDropDown=createCommand$2(function(){n.sceneMode===SceneMode$1.SCENE2D||n._flightInProgress||(n.dropDownVisible=!n.dropDownVisible)}),this._eventHelper=new EventHelper,this._eventHelper.add(e.morphComplete,function(e,t,i,r){n.sceneMode=i,n._orthographic=i===SceneMode$1.SCENE2D||n._scene.camera.frustum instanceof OrthographicFrustum}),this._eventHelper.add(e.preRender,function(){n._flightInProgress=defined(e.camera._currentFlight)}),this._switchToPerspective=createCommand$2(function(){n.sceneMode!==SceneMode$1.SCENE2D&&(n._scene.camera.switchToPerspectiveFrustum(),n._orthographic=!1,n.dropDownVisible=!1)}),this._switchToOrthographic=createCommand$2(function(){n.sceneMode!==SceneMode$1.SCENE2D&&(n._scene.camera.switchToOrthographicFrustum(),n._orthographic=!0,n.dropDownVisible=!1)}),this._sceneMode=SceneMode$1}InfoBoxViewModel.prototype.maxHeightOffset=function(e){return this.maxHeight-e+"px"},Object.defineProperties(InfoBoxViewModel.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}}),Object.defineProperties(InfoBox.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}}),InfoBox.prototype.isDestroyed=function(){return!1},InfoBox.prototype.destroy=function(){var e=this._container;return knockout.cleanNode(this._element),e.removeChild(this._element),defined(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),destroyObject(this)},Object.defineProperties(NavigationHelpButtonViewModel.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}}),Object.defineProperties(NavigationHelpButton.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),NavigationHelpButton.prototype.isDestroyed=function(){return!1},NavigationHelpButton.prototype.destroy=function(){return FeatureDetection.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),knockout.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),destroyObject(this)},Object.defineProperties(PerformanceWatchdogViewModel.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}}),PerformanceWatchdogViewModel.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),destroyObject(this)},Object.defineProperties(PerformanceWatchdog.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),PerformanceWatchdog.prototype.isDestroyed=function(){return!1},PerformanceWatchdog.prototype.destroy=function(){return this._viewModel.destroy(),knockout.cleanNode(this._element),this._container.removeChild(this._element),destroyObject(this)},Object.defineProperties(ProjectionPickerViewModel.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}}),ProjectionPickerViewModel.prototype.isDestroyed=function(){return!1},ProjectionPickerViewModel.prototype.destroy=function(){this._eventHelper.removeAll(),destroyObject(this)};var perspectivePath="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",orthographicPath="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function ProjectionPicker(e,t){e=getElement(e);var i=new ProjectionPickerViewModel(t);i._perspectivePath=perspectivePath,i._orthographicPath=orthographicPath;var r=document.createElement("span");r.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(r);t=document.createElement("button");t.type="button",t.className="cesium-button cesium-toolbar-button",t.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),t.innerHTML='\x3c!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --\x3e\x3c!-- /ko --\x3e\x3c!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --\x3e\x3c!-- /ko --\x3e',r.appendChild(t);t=document.createElement("button");t.type="button",t.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",t.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),r.appendChild(t);t=document.createElement("button");t.type="button",t.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",t.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),r.appendChild(t),knockout.applyBindings(i,r),this._viewModel=i,this._container=e,this._wrapper=r,this._closeDropDown=function(e){r.contains(e.target)||(i.dropDownVisible=!1)},FeatureDetection.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}function SceneModePickerViewModel(e,t){this._scene=e;var n=this;this._eventHelper=new EventHelper,this._eventHelper.add(e.morphStart,function(e,t,i,r){n.sceneMode=i,n.dropDownVisible=!1}),this._duration=defaultValue(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",knockout.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,knockout.defineProperty(this,"selectedTooltip",function(){var e=n.sceneMode;return e===SceneMode$1.SCENE2D?n.tooltip2D:e===SceneMode$1.SCENE3D?n.tooltip3D:n.tooltipColumbusView}),this._toggleDropDown=createCommand$2(function(){n.dropDownVisible=!n.dropDownVisible}),this._morphTo2D=createCommand$2(function(){e.morphTo2D(n._duration)}),this._morphTo3D=createCommand$2(function(){e.morphTo3D(n._duration)}),this._morphToColumbusView=createCommand$2(function(){e.morphToColumbusView(n._duration)}),this._sceneMode=SceneMode$1}Object.defineProperties(ProjectionPicker.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),ProjectionPicker.prototype.isDestroyed=function(){return!1},ProjectionPicker.prototype.destroy=function(){return this._viewModel.destroy(),FeatureDetection.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),knockout.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),destroyObject(this)},Object.defineProperties(SceneModePickerViewModel.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}}),SceneModePickerViewModel.prototype.isDestroyed=function(){return!1},SceneModePickerViewModel.prototype.destroy=function(){this._eventHelper.removeAll(),destroyObject(this)};var globePath="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",flatMapPath="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",columbusViewPath="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function SceneModePicker(e,t,i){e=getElement(e);var r=new SceneModePickerViewModel(t,i);r._globePath=globePath,r._flatMapPath=flatMapPath,r._columbusViewPath=columbusViewPath;var n=document.createElement("span");n.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(n);i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),i.innerHTML='\x3c!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --\x3e\x3c!-- /ko --\x3e\x3c!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --\x3e\x3c!-- /ko --\x3e\x3c!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --\x3e\x3c!-- /ko --\x3e',n.appendChild(i);i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",i.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),n.appendChild(i);i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",i.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),n.appendChild(i);i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",i.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),n.appendChild(i),knockout.applyBindings(r,n),this._viewModel=r,this._container=e,this._wrapper=n,this._closeDropDown=function(e){n.contains(e.target)||(r.dropDownVisible=!1)},FeatureDetection.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(SceneModePicker.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),SceneModePicker.prototype.isDestroyed=function(){return!1},SceneModePicker.prototype.destroy=function(){return this._viewModel.destroy(),FeatureDetection.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),knockout.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),destroyObject(this)};var screenSpacePos=new Cartesian2,offScreen="-1000px";function SelectionIndicatorViewModel(i,e,t){this._scene=i,this._screenPositionX=offScreen,this._screenPositionY=offScreen,this._tweens=i.tweens,this._container=defaultValue(t,document.body),this._selectionIndicatorElement=e,this._scale=1,this.position=void 0,this.showSelection=!1,knockout.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,knockout.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&defined(this.position)}}),knockout.defineProperty(this,"_transform",{get:function(){return"scale("+this._scale+")"}}),this.computeScreenSpacePosition=function(e,t){return SceneTransforms.wgs84ToWindowCoordinates(i,e,t)}}function SelectionIndicator(e,t){e=getElement(e),this._container=e;var i=document.createElement("div");i.className="cesium-selection-wrapper",i.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(i),this._element=i;var r="http://www.w3.org/2000/svg",n=document.createElementNS(r,"svg:svg");n.setAttribute("width",160),n.setAttribute("height",160),n.setAttribute("viewBox","0 0 160 160");e=document.createElementNS(r,"g");e.setAttribute("transform","translate(80,80)"),n.appendChild(e);r=document.createElementNS(r,"path");r.setAttribute("data-bind","attr: { transform: _transform }"),r.setAttribute("d","M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z"),e.appendChild(r),i.appendChild(n);t=new SelectionIndicatorViewModel(t,this._element,this._container);this._viewModel=t,knockout.applyBindings(this._viewModel,this._element)}function TimelineHighlightRange(e,t,i){this._color=e,this._height=t,this._base=defaultValue(i,0)}function TimelineTrack(e,t,i,r){this.interval=e,this.height=t,this.color=i||new Color(.5,.5,.5,1),this.backgroundColor=r||new Color(0,0,0,0)}SelectionIndicatorViewModel.prototype.update=function(){var e,t,i,r,n;this.showSelection&&defined(this.position)&&(defined(e=this.computeScreenSpacePosition(this.position,screenSpacePos))?(t=(n=this._container).parentNode.clientWidth,i=n.parentNode.clientHeight,n=.5*(r=this._selectionIndicatorElement.clientWidth),e.x=Math.min(Math.max(e.x,-r),t+r)-n,e.y=Math.min(Math.max(e.y,-r),i+r)-n,this._screenPositionX=Math.floor(e.x+.25)+"px",this._screenPositionY=Math.floor(e.y+.25)+"px"):(this._screenPositionX=offScreen,this._screenPositionY=offScreen))},SelectionIndicatorViewModel.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:EasingFunction$1.EXPONENTIAL_OUT})},SelectionIndicatorViewModel.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:EasingFunction$1.EXPONENTIAL_OUT})},Object.defineProperties(SelectionIndicatorViewModel.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}}),Object.defineProperties(SelectionIndicator.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),SelectionIndicator.prototype.isDestroyed=function(){return!1},SelectionIndicator.prototype.destroy=function(){var e=this._container;return knockout.cleanNode(this._element),e.removeChild(this._element),destroyObject(this)},TimelineHighlightRange.prototype.getHeight=function(){return this._height},TimelineHighlightRange.prototype.getBase=function(){return this._base},TimelineHighlightRange.prototype.getStartTime=function(){return this._start},TimelineHighlightRange.prototype.getStopTime=function(){return this._stop},TimelineHighlightRange.prototype.setRange=function(e,t){this._start=e,this._stop=t},TimelineHighlightRange.prototype.render=function(e){var t,i,r="";return this._start&&this._stop&&this._color&&(i=JulianDate.secondsDifference(this._start,e.epochJulian),t=Math.round(e.timeBarWidth*e.getAlpha(i)),i=JulianDate.secondsDifference(this._stop,e.epochJulian),i=Math.round(e.timeBarWidth*e.getAlpha(i))-t,t<0&&(i+=t,t=0),t+i>e.timeBarWidth&&(i=e.timeBarWidth-t),0<i&&(r='<span class="cesium-timeline-highlight" style="left: '+t.toString()+"px; width: "+i.toString()+"px; bottom: "+this._base.toString()+"px; height: "+this._height+"px; background-color: "+this._color+';"></span>')),r},TimelineTrack.prototype.render=function(e,t){var i=this.interval.start,r=this.interval.stop,n=t.startJulian,a=JulianDate.addSeconds(t.startJulian,t.duration,new JulianDate);if(JulianDate.lessThan(i,n)&&JulianDate.greaterThan(r,a))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if(JulianDate.lessThanOrEquals(i,a)&&JulianDate.greaterThanOrEquals(r,n)){for(var o,s,l=0;l<t.timeBarWidth;++l){var c=JulianDate.addSeconds(t.startJulian,l/t.timeBarWidth*t.duration,new JulianDate);!defined(o)&&JulianDate.greaterThanOrEquals(c,i)?o=l:!defined(s)&&JulianDate.greaterThanOrEquals(c,r)&&(s=l)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),defined(o)&&(defined(s)||(s=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(o,t.y,Math.max(s-o,1),this.height))}};var timelineWheelDelta=1e12,timelineMouseMode={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},timelineTouchMode={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},timelineTicScales=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],timelineMonthNames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Timeline(e,t){var i=(e=getElement(e)).ownerDocument;this.container=e;var r=i.createElement("div");r.className="cesium-timeline-main",e.appendChild(r),this._topDiv=r,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=timelineMouseMode.none,this._touchMode=timelineTouchMode.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=createMouseDownCallback(this),this._onMouseUp=createMouseUpCallback(this),this._onMouseMove=createMouseMoveCallback(this),this._onMouseWheel=createMouseWheelCallback(this),this._onTouchStart=createTouchStartCallback(this),this._onTouchMove=createTouchMoveCallback(this),this._onTouchEnd=createTouchEndCallback(this);r=this._timeBarEle;i.addEventListener("mouseup",this._onMouseUp,!1),i.addEventListener("mousemove",this._onMouseMove,!1),r.addEventListener("mousedown",this._onMouseDown,!1),r.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),r.addEventListener("mousewheel",this._onMouseWheel,!1),r.addEventListener("touchstart",this._onTouchStart,!1),r.addEventListener("touchmove",this._onTouchMove,!1),r.addEventListener("touchend",this._onTouchEnd,!1),r.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}function twoDigits(e){return e<10?"0"+e.toString():e.toString()}function createMouseDownCallback(t){return function(e){t._mouseMode!==timelineMouseMode.touchOnly&&(0===e.button?(t._mouseMode=timelineMouseMode.scrub,t._scrubElement&&(t._scrubElement.style.backgroundPosition="-16px 0"),t._onMouseMove(e)):(t._mouseX=e.clientX,2===e.button?t._mouseMode=timelineMouseMode.zoom:t._mouseMode=timelineMouseMode.slide)),e.preventDefault()}}function createMouseUpCallback(t){return function(e){t._mouseMode=timelineMouseMode.none,t._scrubElement&&(t._scrubElement.style.backgroundPosition="0 0"),t._timelineDrag=0,t._timelineDragLocation=void 0}}function createMouseMoveCallback(r){return function(e){var t,i;r._mouseMode===timelineMouseMode.scrub?(e.preventDefault(),(t=e.clientX-r._topDiv.getBoundingClientRect().left)<0?(r._timelineDragLocation=0,r._timelineDrag=-.01*r._timeBarSecondsSpan):t>r._topDiv.clientWidth?(r._timelineDragLocation=r._topDiv.clientWidth,r._timelineDrag=.01*r._timeBarSecondsSpan):(r._timelineDragLocation=void 0,r._setTimeBarTime(t,t*r._timeBarSecondsSpan/r._topDiv.clientWidth))):r._mouseMode===timelineMouseMode.slide?(i=r._mouseX-e.clientX,r._mouseX=e.clientX,0!==i&&(t=i*r._timeBarSecondsSpan/r._topDiv.clientWidth,r.zoomTo(JulianDate.addSeconds(r._startJulian,t,new JulianDate),JulianDate.addSeconds(r._endJulian,t,new JulianDate)))):r._mouseMode===timelineMouseMode.zoom&&(i=r._mouseX-e.clientX,r._mouseX=e.clientX,0!==i&&r.zoomFrom(Math.pow(1.01,i)))}}function createMouseWheelCallback(t){return function(e){e=e.wheelDeltaY||e.wheelDelta||-e.detail;e/=timelineWheelDelta=Math.max(Math.min(Math.abs(e),timelineWheelDelta),1),t.zoomFrom(Math.pow(1.05,-e))}}function createTouchStartCallback(n){return function(e){var t,i=e.touches.length,r=n._topDiv.getBoundingClientRect().left;e.preventDefault(),n._mouseMode=timelineMouseMode.touchOnly,1===i?(t=JulianDate.secondsDifference(n._scrubJulian,n._startJulian),t=Math.round(t*n._topDiv.clientWidth/n._timeBarSecondsSpan+r),Math.abs(e.touches[0].clientX-t)<50?(n._touchMode=timelineTouchMode.scrub,n._scrubElement&&(n._scrubElement.style.backgroundPosition=1===i?"-16px 0":"0 0")):(n._touchMode=timelineTouchMode.singleTap,n._touchState.centerX=e.touches[0].clientX-r)):2===i?(n._touchMode=timelineTouchMode.slideZoom,n._touchState.centerX=.5*(e.touches[0].clientX+e.touches[1].clientX)-r,n._touchState.spanX=Math.abs(e.touches[0].clientX-e.touches[1].clientX)):n._touchMode=timelineTouchMode.ignore}}function createTouchEndCallback(r){return function(e){var t=e.touches.length,i=r._topDiv.getBoundingClientRect().left;r._touchMode===timelineTouchMode.singleTap?(r._touchMode=timelineTouchMode.scrub,r._onTouchMove(e)):r._touchMode===timelineTouchMode.scrub&&r._onTouchMove(e),r._mouseMode=timelineMouseMode.touchOnly,1!==t?r._touchMode=0<t?timelineTouchMode.ignore:timelineTouchMode.none:r._touchMode===timelineTouchMode.slideZoom&&(r._touchState.centerX=e.touches[0].clientX-i),r._scrubElement&&(r._scrubElement.style.backgroundPosition="0 0")}}function createTouchMoveCallback(s){return function(e){var t,i,r,n,a=1,o=s._topDiv.getBoundingClientRect().left;s._touchMode===timelineTouchMode.singleTap&&(s._touchMode=timelineTouchMode.slideZoom),s._mouseMode=timelineMouseMode.touchOnly,s._touchMode===timelineTouchMode.scrub?(e.preventDefault(),1===e.changedTouches.length&&0<=(t=e.changedTouches[0].clientX-o)&&t<=s._topDiv.clientWidth&&s._setTimeBarTime(t,t*s._timeBarSecondsSpan/s._topDiv.clientWidth)):s._touchMode===timelineTouchMode.slideZoom&&(2===(t=e.touches.length)?(i=.5*(e.touches[0].clientX+e.touches[1].clientX)-o,r=Math.abs(e.touches[0].clientX-e.touches[1].clientX)):1===t&&(i=e.touches[0].clientX-o,r=0),defined(i)&&(n=0<r&&0<s._touchState.spanX?(a=s._touchState.spanX/r,JulianDate.addSeconds(s._startJulian,(s._touchState.centerX*s._timeBarSecondsSpan-i*s._timeBarSecondsSpan*a)/s._topDiv.clientWidth,new JulianDate)):(n=s._touchState.centerX-i,JulianDate.addSeconds(s._startJulian,n*s._timeBarSecondsSpan/s._topDiv.clientWidth,new JulianDate)),s.zoomTo(n,JulianDate.addSeconds(n,s._timeBarSecondsSpan*a,new JulianDate)),s._touchState.centerX=i,s._touchState.spanX=r))}}function lockScreen(e){var t=!1,i=window.screen;return defined(i)&&(defined(i.lockOrientation)?t=i.lockOrientation(e):defined(i.mozLockOrientation)?t=i.mozLockOrientation(e):defined(i.msLockOrientation)?t=i.msLockOrientation(e):defined(i.orientation&&i.orientation.lock)&&(t=i.orientation.lock(e))),t}function unlockScreen(){var e=window.screen;defined(e)&&(defined(e.unlockOrientation)?e.unlockOrientation():defined(e.mozUnlockOrientation)?e.mozUnlockOrientation():defined(e.msUnlockOrientation)?e.msUnlockOrientation():defined(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function toggleVR(e,t,i,r){r()||(i()?(t.useWebVR=!1,e._locked&&(unlockScreen(),e._locked=!1),e._noSleep.disable(),Fullscreen.exitFullscreen(),i(!1)):(Fullscreen.fullscreen||Fullscreen.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=lockScreen("landscape")),i(t.useWebVR=!0)))}function VRButtonViewModel(e,t){var i=this,r=knockout.observable(Fullscreen.enabled),n=knockout.observable(!1);this.isVRMode=void 0,knockout.defineProperty(this,"isVRMode",{get:function(){return n()}}),this.isVREnabled=void 0,knockout.defineProperty(this,"isVREnabled",{get:function(){return r()},set:function(e){r(e&&Fullscreen.enabled)}}),this.tooltip=void 0,knockout.defineProperty(this,"tooltip",function(){return r()?n()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});var a=knockout.observable(!1);this._isOrthographic=void 0,knockout.defineProperty(this,"_isOrthographic",{get:function(){return a()}}),this._eventHelper=new EventHelper,this._eventHelper.add(e.preRender,function(){a(e.camera.frustum instanceof OrthographicFrustum)}),this._locked=!1,this._noSleep=new NoSleep,this._command=createCommand$2(function(){toggleVR(i,e,n,a)},knockout.getObservable(this,"isVREnabled")),this._vrElement=defaultValue(getElement(t),document.body),this._callback=function(){!Fullscreen.fullscreen&&n()&&(e.useWebVR=!1,i._locked&&(unlockScreen(),i._locked=!1),i._noSleep.disable(),n(!1))},document.addEventListener(Fullscreen.changeEventName,this._callback)}Timeline.prototype.addEventListener=function(e,t,i){this._topDiv.addEventListener(e,t,i)},Timeline.prototype.removeEventListener=function(e,t,i){this._topDiv.removeEventListener(e,t,i)},Timeline.prototype.isDestroyed=function(){return!1},Timeline.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);var e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);e=this._timeBarEle;e.removeEventListener("mousedown",this._onMouseDown,!1),e.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),e.removeEventListener("mousewheel",this._onMouseWheel,!1),e.removeEventListener("touchstart",this._onTouchStart,!1),e.removeEventListener("touchmove",this._onTouchMove,!1),e.removeEventListener("touchend",this._onTouchEnd,!1),e.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),destroyObject(this)},Timeline.prototype.addHighlightRange=function(e,t,i){i=new TimelineHighlightRange(e,t,i);return this._highlightRanges.push(i),this.resize(),i},Timeline.prototype.addTrack=function(e,t,i,r){r=new TimelineTrack(e,t,i,r);return this._trackList.push(r),this._lastHeight=void 0,this.resize(),r},Timeline.prototype.zoomTo=function(e,t){var i,r;this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=JulianDate.secondsDifference(t,e),this._clock&&this._clock.clockRange!==ClockRange$1.UNBOUNDED&&(i=this._clock.startTime,n=this._clock.stopTime,r=JulianDate.secondsDifference(n,i),t=JulianDate.secondsDifference(i,this._startJulian),e=JulianDate.secondsDifference(n,this._endJulian),this._timeBarSecondsSpan>=r?(this._timeBarSecondsSpan=r,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):0<t?(this._endJulian=JulianDate.addSeconds(this._endJulian,t,new JulianDate),this._startJulian=i,this._timeBarSecondsSpan=JulianDate.secondsDifference(this._endJulian,this._startJulian)):e<0&&(this._startJulian=JulianDate.addSeconds(this._startJulian,e,new JulianDate),this._endJulian=n,this._timeBarSecondsSpan=JulianDate.secondsDifference(this._endJulian,this._startJulian))),this._makeTics();var n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)},Timeline.prototype.zoomFrom=function(e){var t=JulianDate.secondsDifference(this._scrubJulian,this._startJulian);1<e||t<0||t>this._timeBarSecondsSpan?t=.5*this._timeBarSecondsSpan:t+=t-.5*this._timeBarSecondsSpan;var i=this._timeBarSecondsSpan-t;this.zoomTo(JulianDate.addSeconds(this._startJulian,t-t*e,new JulianDate),JulianDate.addSeconds(this._endJulian,i*e-i,new JulianDate))},Timeline.prototype.makeLabel=function(e){var t=JulianDate.toGregorianDate(e),e=t.millisecond,i=" UTC";if(0<e&&this._timeBarSecondsSpan<3600){for(i=Math.floor(e).toString();i.length<3;)i="0"+i;i="."+i}return timelineMonthNames[t.month-1]+" "+t.day+" "+t.year+" "+twoDigits(t.hour)+":"+twoDigits(t.minute)+":"+twoDigits(t.second)+i},Timeline.prototype.smallestTicInPixels=7,Timeline.prototype._makeTics=function(){var e,t=this._timeBarEle,i=JulianDate.secondsDifference(this._scrubJulian,this._startJulian),r=Math.round(i*this._topDiv.clientWidth/this._timeBarSecondsSpan),n=r-8,a=this;this._needleEle.style.left=r.toString()+"px";var o="",i=31536e6,s=0,l=this._timeBarSecondsSpan;l<.01?(l=.01,this._timeBarSecondsSpan=.01,this._endJulian=JulianDate.addSeconds(this._startJulian,.01,new JulianDate)):i<l&&(l=i,this._timeBarSecondsSpan=i,this._endJulian=JulianDate.addSeconds(this._startJulian,i,new JulianDate));var c=this._timeBarEle.clientWidth;c<10&&(c=10);var u=this._startJulian,r=Math.min(l/c*1e-5,.4),i=JulianDate.toGregorianDate(u),i=31536e4<l?JulianDate.fromDate(new Date(Date.UTC(100*Math.floor(i.year/100),0))):31536e3<l?JulianDate.fromDate(new Date(Date.UTC(10*Math.floor(i.year/10),0))):86400<l?JulianDate.fromDate(new Date(Date.UTC(i.year,0))):JulianDate.fromDate(new Date(Date.UTC(i.year,i.month,i.day))),d=JulianDate.secondsDifference(this._startJulian,JulianDate.addSeconds(i,r,new JulianDate)),h=d+l;function p(e){return Math.floor(d/e)*e}function m(e,t){return Math.ceil(e/t+.5)*t}function f(e){return(e-d)/l}function g(e,t){return e-t*Math.round(e/t)}this._epochJulian=i,this._rulerEle.innerHTML=this.makeLabel(JulianDate.addSeconds(this._endJulian,-.01,new JulianDate));var _=this._rulerEle.offsetWidth+20;_<30&&(_=180);r=s;s-=1e-10;var y={startTime:d,startJulian:u,epochJulian:i,duration:l,timeBarWidth:c,getAlpha:f};this._highlightRanges.forEach(function(e){o+=e.render(y)});var C=0,v=0,S=0,T=_/c;1<T&&(T=1),T*=this._timeBarSecondsSpan;for(var b=-1,x=-1,E=timelineTicScales.length,P=0;P<E;++P){var A=timelineTicScales[P];if(++b,T<(C=A)&&s<A)break;x<0&&c*(A/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(x=b)}if(0<b){for(;0<b;)if(--b,Math.abs(g(C,timelineTicScales[b]))<1e-5){timelineTicScales[b]>=s&&(v=timelineTicScales[b]);break}if(0<=x)for(;x<b;){if(Math.abs(g(v,timelineTicScales[x]))<1e-5&&timelineTicScales[x]>=s){S=timelineTicScales[x];break}++x}}1e-10<(s=r)&&S<1e-5&&1e-10<Math.abs(s-C)&&(S=s)<=C+1e-10&&(v=0);var w=-999999;if(3<=c*(S/this._timeBarSecondsSpan))for(e=p(S);e<=h;e=m(e,S))o+='<span class="cesium-timeline-ticTiny" style="left: '+Math.round(c*f(e)).toString()+'px;"></span>';if(3<=c*(v/this._timeBarSecondsSpan))for(e=p(v);e<=h;e=m(e,v))o+='<span class="cesium-timeline-ticSub" style="left: '+Math.round(c*f(e)).toString()+'px;"></span>';if(2<=c*(C/this._timeBarSecondsSpan)){h+=this._mainTicSpan=C,e=p(C);for(var D=JulianDate.computeTaiMinusUtc(i);e<=h;){var M,I=JulianDate.addSeconds(u,e-d,new JulianDate);2.1<C&&(M=JulianDate.computeTaiMinusUtc(I),.1<Math.abs(M-D)&&(e+=M-D,I=JulianDate.addSeconds(u,e-d,new JulianDate)));var R=Math.round(c*f(e)),O=this.makeLabel(I);this._rulerEle.innerHTML=O,(M=this._rulerEle.offsetWidth)<10&&(M=_);I=R-(M/2-1);w<I?(w=I+M+5,o+='<span class="cesium-timeline-ticMain" style="left: '+R.toString()+'px;"></span><span class="cesium-timeline-ticLabel" style="left: '+I.toString()+'px;">'+O+"</span>"):o+='<span class="cesium-timeline-ticSub" style="left: '+R.toString()+'px;"></span>',e=m(e,C)}}else this._mainTicSpan=-1;o+='<span class="cesium-timeline-icon16" style="left:'+n+'px;bottom:0;background-position: 0 0;"></span>',t.innerHTML=o,this._scrubElement=t.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),y.y=0,this._trackList.forEach(function(e){e.render(a._context,y),y.y+=e.height})},Timeline.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;var e,t=this._scrubElement;defined(this._scrubElement)&&(e=JulianDate.secondsDifference(this._scrubJulian,this._startJulian),e=Math.round(e*this._topDiv.clientWidth/this._timeBarSecondsSpan),this._lastXPos!==e&&(this._lastXPos=e,t.style.left=e-8+"px",this._needleEle.style.left=e+"px")),defined(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(JulianDate.addSeconds(this._startJulian,this._timelineDrag,new JulianDate),JulianDate.addSeconds(this._endJulian,this._timelineDrag,new JulianDate)))},Timeline.prototype._setTimeBarTime=function(e,t){e=Math.round(e),this._scrubJulian=JulianDate.addSeconds(this._startJulian,t,new JulianDate),this._scrubElement&&(i=e-8,this._scrubElement.style.left=i.toString()+"px",this._needleEle.style.left=e.toString()+"px");var i=document.createEvent("Event");i.initEvent("settime",!0,!0),i.clientX=e,i.timeSeconds=t,i.timeJulian=this._scrubJulian,i.clock=this._clock,this._topDiv.dispatchEvent(i)},Timeline.prototype.resize=function(){var t,e=this.container.clientWidth,i=this.container.clientHeight;e===this._lastWidth&&i===this._lastHeight||(this._trackContainer.style.height=i+"px",t=1,this._trackList.forEach(function(e){t+=e.height}),this._trackListEle.style.height=t.toString()+"px",this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=t,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=i)},Object.defineProperties(VRButtonViewModel.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){this._vrElement=e}},command:{get:function(){return this._command}}}),VRButtonViewModel.prototype.isDestroyed=function(){return!1},VRButtonViewModel.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(Fullscreen.changeEventName,this._callback),destroyObject(this)};var enterVRPath="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",exitVRPath="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function VRButton(e,t,i){e=getElement(e);t=new VRButtonViewModel(t,i);t._exitVRPath=exitVRPath,t._enterVRPath=enterVRPath;i=document.createElement("button");i.type="button",i.className="cesium-button cesium-vrButton",i.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(i),knockout.applyBindings(t,i),this._container=e,this._viewModel=t,this._element=i}Object.defineProperties(VRButton.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),VRButton.prototype.isDestroyed=function(){return!1},VRButton.prototype.destroy=function(){return this._viewModel.destroy(),knockout.cleanNode(this._element),this._container.removeChild(this._element),destroyObject(this)};var boundingSphereScratch$2=new BoundingSphere;function onTimelineScrubfunction(e){var t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function getCesium3DTileFeatureDescription(i){var e=i.getPropertyNames(),r="";return e.forEach(function(e){var t=i.getProperty(e);defined(t)&&(r+="<tr><th>"+e+"</th><td>"+t+"</td></tr>")}),0<r.length&&(r='<table class="cesium-infoBox-defaultTable"><tbody>'+r+"</tbody></table>"),r}function getCesium3DTileFeatureName(e){for(var t=[],i=e.getPropertyNames(),r=0;r<i.length;r++){var n=i[r];/^name$/i.test(n)?t[0]=e.getProperty(n):/name/i.test(n)?t[1]=e.getProperty(n):/^title$/i.test(n)?t[2]=e.getProperty(n):/^(id|identifier)$/i.test(n)?t[3]=e.getProperty(n):/element/i.test(n)?t[4]=e.getProperty(n):/(id|identifier)$/i.test(n)&&(t[5]=e.getProperty(n))}var a=t.length;for(r=0;r<a;r++){var o=t[r];if(defined(o)&&""!==o)return o}return"Unnamed Feature"}function pickEntity(e,t){var i=e.scene.pick(t.position);if(defined(i)){var r=defaultValue(i.id,i.primitive.id);if(r instanceof Entity)return r;if(i instanceof Cesium3DTileFeature)return new Entity({name:getCesium3DTileFeatureName(i),description:getCesium3DTileFeatureDescription(i),feature:i})}if(defined(e.scene.globe))return pickImageryLayerFeature(e,t.position)}function trackDataSourceClock(e,t,i){!defined(i)||defined(i=i.clock)&&(i.getValue(t),defined(e)&&(e.updateFromClock(),e.zoomTo(i.startTime,i.stopTime)))}var cartesian3Scratch$3=new Cartesian3;function pickImageryLayerFeature(i,e){var t=i.scene,e=t.camera.getPickRay(e),t=t.imageryLayers.pickImageryLayerFeatures(e,t);if(defined(t)){var r=new Entity({id:"Loading...",description:"Loading feature information..."});return when(t,function(e){var t;i.selectedEntity===r&&(defined(e)&&0!==e.length?(e=new Entity({id:(t=e[0]).name,description:t.description}),defined(t.position)&&(t=i.scene.globe.ellipsoid.cartographicToCartesian(t.position,cartesian3Scratch$3),e.position=new ConstantPositionProperty(t)),i.selectedEntity=e):i.selectedEntity=createNoFeaturesEntity())},function(){i.selectedEntity===r&&(i.selectedEntity=createNoFeaturesEntity())}),r}}function createNoFeaturesEntity(){return new Entity({id:"None",description:"No features found."})}function enableVRUI(e,t){var i=e._geocoder,r=e._homeButton,n=e._sceneModePicker,a=e._projectionPicker,o=e._baseLayerPicker,s=e._animation,l=e._timeline,c=e._fullscreenButton,u=e._infoBox,d=e._selectionIndicator,h=t?"hidden":"visible";defined(i)&&(i.container.style.visibility=h),defined(r)&&(r.container.style.visibility=h),defined(n)&&(n.container.style.visibility=h),defined(a)&&(a.container.style.visibility=h),defined(o)&&(o.container.style.visibility=h),defined(s)&&(s.container.style.visibility=h),defined(l)&&(l.container.style.visibility=h),defined(c)&&c.viewModel.isFullscreenEnabled&&(c.container.style.visibility=h),defined(u)&&(u.container.style.visibility=h),defined(d)&&(d.container.style.visibility=h),e._container&&(c=t||!defined(c)?0:c.container.clientWidth,e._vrButton.container.style.right=c+"px",e.forceResize())}function Viewer(e,t){e=getElement(e);var i=!(defined((t=defaultValue(t,defaultValue.EMPTY_OBJECT)).globe)&&!1===t.globe||defined(t.baseLayerPicker)&&!1===t.baseLayerPicker),r=this,n=document.createElement("div");n.className="cesium-viewer",e.appendChild(n);var a=document.createElement("div");a.className="cesium-viewer-cesiumWidgetContainer",n.appendChild(a);var o=document.createElement("div");o.className="cesium-viewer-bottom",n.appendChild(o);var s,l,c=defaultValue(t.scene3DOnly,!1),u=!1;defined(t.clockViewModel)?s=(l=t.clockViewModel).clock:(l=new ClockViewModel(s=new Clock),u=!0),defined(t.shouldAnimate)&&(s.shouldAnimate=t.shouldAnimate);var d=new CesiumWidget(a,{imageryProvider:!i&&!defined(t.imageryProvider)&&void 0,clock:s,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:defined(t.creditContainer)?t.creditContainer:o,creditViewport:t.creditViewport,scene3DOnly:c,terrainExaggeration:t.terrainExaggeration,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange}),h=t.dataSources,p=!1;defined(h)||(h=new DataSourceCollection,p=!0);var m,f,g=d.scene,_=new DataSourceDisplay({scene:g,dataSourceCollection:h}),a=new EventHelper;a.add(s.onTick,Viewer.prototype._onTick,this),a.add(g.morphStart,Viewer.prototype._clearTrackedObject,this),defined(t.selectionIndicator)&&!1===t.selectionIndicator||((m=document.createElement("div")).className="cesium-viewer-selectionIndicatorContainer",n.appendChild(m),m=new SelectionIndicator(m,g)),defined(t.infoBox)&&!1===t.infoBox||((B=document.createElement("div")).className="cesium-viewer-infoBoxContainer",n.appendChild(B),C=(f=new InfoBox(B)).viewModel,a.add(C.cameraClicked,Viewer.prototype._onInfoBoxCameraClicked,this),a.add(C.closeClicked,Viewer.prototype._onInfoBoxClockClicked,this));var y,C,v,S,T,b,x,E,P,A,w,D,M,I,R,O,L,F,N,B=document.createElement("div");if(B.className="cesium-viewer-toolbar",n.appendChild(B),defined(t.geocoder)&&!1===t.geocoder||((C=document.createElement("div")).className="cesium-viewer-geocoderContainer",B.appendChild(C),defined(t.geocoder)&&"boolean"!=typeof t.geocoder&&(v=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),y=new Geocoder({container:C,geocoderServices:v,scene:g}),a.add(y.viewModel.search.beforeExecute,Viewer.prototype._clearObjects,this)),defined(t.homeButton)&&!1===t.homeButton||(S=new HomeButton(B,g),defined(y)&&a.add(S.viewModel.command.afterExecute,function(){var e=y.viewModel;e.searchText="",e.isSearchInProgress&&e.search()}),a.add(S.viewModel.command.beforeExecute,Viewer.prototype._clearTrackedObject,this)),c||defined(t.sceneModePicker)&&!1===t.sceneModePicker||(T=new SceneModePicker(B,g)),t.projectionPicker&&(b=new ProjectionPicker(B,g)),i&&(x=defaultValue(t.imageryProviderViewModels,createDefaultImageryProviderViewModels()),E=defaultValue(t.terrainProviderViewModels,createDefaultTerrainProviderViewModels()),x=new BaseLayerPicker(B,{globe:g.globe,imageryProviderViewModels:x,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:E,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel}),E=B.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]),defined(t.imageryProvider)&&!1!==t.imageryProvider&&(i&&(x.viewModel.selectedImagery=void 0),g.imageryLayers.removeAll(),g.imageryLayers.addImageryProvider(t.imageryProvider)),defined(t.terrainProvider)&&(i&&(x.viewModel.selectedTerrain=void 0),g.terrainProvider=t.terrainProvider),!defined(t.navigationHelpButton)||!1!==t.navigationHelpButton){var V,k=!0;try{defined(window.localStorage)&&(defined(V=window.localStorage.getItem("cesium-hasSeenNavHelp"))&&Boolean(V)?k=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true"))}catch(e){}P=new NavigationHelpButton({container:B,instructionsInitiallyVisible:defaultValue(t.navigationInstructionsInitiallyVisible,k)})}defined(t.animation)&&!1===t.animation||((D=document.createElement("div")).className="cesium-viewer-animationContainer",n.appendChild(D),A=new Animation(D,new AnimationViewModel(l))),defined(t.timeline)&&!1===t.timeline||((D=document.createElement("div")).className="cesium-viewer-timelineContainer",n.appendChild(D),(w=new Timeline(D,s)).addEventListener("settime",onTimelineScrubfunction,!1),w.zoomTo(s.startTime,s.stopTime)),defined(t.fullscreenButton)&&!1===t.fullscreenButton||((R=document.createElement("div")).className="cesium-viewer-fullscreenContainer",n.appendChild(R),I=subscribeAndEvaluate((M=new FullscreenButton(R,t.fullscreenElement)).viewModel,"isFullscreenEnabled",function(e){R.style.display=e?"block":"none",defined(w)&&(w.container.style.right=R.clientWidth+"px",w.resize())})),t.vrButton&&((N=document.createElement("div")).className="cesium-viewer-vrContainer",n.appendChild(N),L=subscribeAndEvaluate((O=new VRButton(N,g,t.fullScreenElement)).viewModel,"isVREnabled",function(e){N.style.display=e?"block":"none",defined(M)&&(N.style.right=R.clientWidth+"px"),defined(w)&&(w.container.style.right=N.clientWidth+"px",w.resize())}),F=subscribeAndEvaluate(O.viewModel,"isVRMode",function(e){enableVRUI(r,e)})),this._baseLayerPickerDropDown=E,this._fullscreenSubscription=I,this._vrSubscription=L,this._vrModeSubscription=F,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=defaultValue(t.automaticallyTrackDataSourceClocks,!0),this._container=e,this._bottomContainer=o,this._element=n,this._cesiumWidget=d,this._selectionIndicator=m,this._infoBox=f,this._dataSourceCollection=h,this._destroyDataSourceCollection=p,this._dataSourceDisplay=_,this._clockViewModel=l,this._destroyClockViewModel=u,this._toolbar=B,this._homeButton=S,this._sceneModePicker=T,this._projectionPicker=b,this._baseLayerPicker=x,this._navigationHelpButton=P,this._animation=A,this._timeline=w,this._fullscreenButton=M,this._vrButton=O,this._geocoder=y,this._eventHelper=a,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void 0,this._enableInfoOrSelection=defined(f)||defined(m),this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void 0,this._clockTrackedDataSource=void 0,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._selectedEntityChanged=new Event,this._trackedEntityChanged=new Event,knockout.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),a.add(h.dataSourceAdded,Viewer.prototype._onDataSourceAdded,this),a.add(h.dataSourceRemoved,Viewer.prototype._onDataSourceRemoved,this),a.add(g.postUpdate,Viewer.prototype.resize,this),a.add(g.postRender,Viewer.prototype._postRender,this);for(var z=h.length,U=0;U<z;U++)this._dataSourceAdded(h,h.get(U));this._dataSourceAdded(void 0,_.defaultDataSource),a.add(h.dataSourceAdded,Viewer.prototype._dataSourceAdded,this),a.add(h.dataSourceRemoved,Viewer.prototype._dataSourceRemoved,this),d.screenSpaceEventHandler.setInputAction(function(e){r.selectedEntity=pickEntity(r,e)},ScreenSpaceEventType$1.LEFT_CLICK),d.screenSpaceEventHandler.setInputAction(function(e){defined(e=pickEntity(r,e))?Property.getValueOrUndefined(e.position,r.clock.currentTime)?r.trackedEntity=e:r.zoomTo(e):defined(r.trackedEntity)&&(r.trackedEntity=void 0)},ScreenSpaceEventType$1.LEFT_DOUBLE_CLICK)}function zoomToOrFly(i,e,t,r){cancelZoom(i);var n=when.defer();return i._zoomPromise=n,i._zoomIsFlight=r,i._zoomOptions=t,when(e,function(e){var t;i._zoomPromise===n&&(e instanceof ImageryLayer?e.getViewableRectangle().then(function(e){return computeFlyToLocationForRectangle(e,i.scene)}).then(function(e){i._zoomPromise===n&&(i._zoomTarget=e)}):e instanceof Cesium3DTileset||e instanceof TimeDynamicPointCloud?i._zoomTarget=e:e.isLoading&&defined(e.loadingEvent)?t=e.loadingEvent.addEventListener(function(){t(),i._zoomPromise===n&&(i._zoomTarget=e.entities.values.slice(0))}):Array.isArray(e)?i._zoomTarget=e.slice(0):(defined((e=defaultValue(e.values,e)).entities)&&(e=e.entities.values),Array.isArray(e)?i._zoomTarget=e.slice(0):i._zoomTarget=[e]))}),i.scene.requestRender(),n.promise}function clearZoom(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function cancelZoom(e){var t=e._zoomPromise;defined(t)&&(clearZoom(e),t.resolve(!1))}function updateZoomTarget(t){var i=t._zoomTarget;if(defined(i)&&t.scene.mode!==SceneMode$1.MORPHING){var r,e=t.scene,n=e.camera,a=t._zoomPromise,o=defaultValue(t._zoomOptions,{});if(i instanceof Cesium3DTileset)return i.readyPromise.then(function(){var e=i.boundingSphere;defined(o.offset)||(o.offset=new HeadingPitchRange(0,-.5,e.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){a.resolve(!0)},cancel:function(){a.resolve(!1)}},t._zoomIsFlight?n.flyToBoundingSphere(i.boundingSphere,r):(n.viewBoundingSphere(e,o.offset),n.lookAtTransform(Matrix4.IDENTITY),a.resolve(!0)),clearZoom(t)});if(i instanceof TimeDynamicPointCloud)return i.readyPromise.then(function(){var e=i.boundingSphere;defined(o.offset)||(o.offset=new HeadingPitchRange(0,-.5,e.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){a.resolve(!0)},cancel:function(){a.resolve(!1)}},t._zoomIsFlight?n.flyToBoundingSphere(e,r):(n.viewBoundingSphere(e,o.offset),n.lookAtTransform(Matrix4.IDENTITY),a.resolve(!0)),clearZoom(t)});if(i instanceof Cartographic)return r={destination:e.mapProjection.ellipsoid.cartographicToCartesian(i),duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){a.resolve(!0)},cancel:function(){a.resolve(!1)}},t._zoomIsFlight?n.flyTo(r):(n.setView(r),a.resolve(!0)),void clearZoom(t);for(var s=i,l=[],c=0,u=s.length;c<u;c++){var d=t._dataSourceDisplay.getBoundingSphere(s[c],!1,boundingSphereScratch$2);if(d===BoundingSphereState$1.PENDING)return;d!==BoundingSphereState$1.FAILED&&l.push(BoundingSphere.clone(boundingSphereScratch$2))}0!==l.length?(t.trackedEntity=void 0,e=BoundingSphere.fromBoundingSpheres(l),t._zoomIsFlight?(clearZoom(t),n.flyToBoundingSphere(e,{duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){a.resolve(!0)},cancel:function(){a.resolve(!1)},offset:o.offset})):(n.viewBoundingSphere(e,o.offset),n.lookAtTransform(Matrix4.IDENTITY),clearZoom(t),a.resolve(!0))):cancelZoom(t)}}function updateTrackedEntity(e){var t,i,r,n,a;e._needTrackedEntityUpdate&&(t=e._trackedEntity,i=e.clock.currentTime,defined(Property.getValueOrUndefined(t.position,i))&&(r=e.scene,(a=e._dataSourceDisplay.getBoundingSphere(t,!1,boundingSphereScratch$2))!==BoundingSphereState$1.PENDING&&((n=r.mode)!==SceneMode$1.COLUMBUS_VIEW&&n!==SceneMode$1.SCENE2D||(r.screenSpaceCameraController.enableTranslate=!1),n!==SceneMode$1.COLUMBUS_VIEW&&n!==SceneMode$1.SCENE3D||(r.screenSpaceCameraController.enableTilt=!1),a=a!==BoundingSphereState$1.FAILED?boundingSphereScratch$2:void 0,e._entityView=new EntityView(t,r,r.mapProjection.ellipsoid),e._entityView.update(i,a),e._needTrackedEntityUpdate=!1)))}function viewerCesium3DTilesInspectorMixin(e){var t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);var i=new Cesium3DTilesInspector(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return i}}})}function viewerCesiumInspectorMixin(e){var t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);var i=new CesiumInspector(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return i}}})}function viewerDragDropMixin(o,e){e=defaultValue(e,defaultValue.EMPTY_OBJECT);var t=!0,i=defaultValue(e.flyToOnDrop,!0),r=new Event,s=defaultValue(e.clearOnDrop,!0),n=defaultValue(e.dropTarget,o.container),l=defaultValue(e.clampToGround,!0),c=e.proxy;function a(e){stop(e),s&&(o.entities.removeAll(),o.dataSources.removeAll());for(var t=e.dataTransfer.files,i=t.length,r=0;r<i;r++){var n=t[r],a=new FileReader;a.onload=createOnLoadCallback(o,n,c,l),a.onerror=createDropErrorCallback(o,n),a.readAsText(n)}}n=getElement(n),Object.defineProperties(o,{dropTarget:{get:function(){return n},set:function(e){unsubscribe(n,a),subscribe(n=e,a)}},dropEnabled:{get:function(){return t},set:function(e){e!==t&&((e?subscribe:unsubscribe)(n,a),t=e)}},dropError:{get:function(){return r}},clearOnDrop:{get:function(){return s},set:function(e){s=e}},flyToOnDrop:{get:function(){return i},set:function(e){i=e}},proxy:{get:function(){return c},set:function(e){c=e}},clampToGround:{get:function(){return l},set:function(e){l=e}}}),subscribe(n,a),o.destroy=wrapFunction(o,o.destroy,function(){o.dropEnabled=!1}),o._handleDrop=a}function stop(e){e.stopPropagation(),e.preventDefault()}function unsubscribe(e,t){defined(e)&&(e.removeEventListener("drop",t,!1),e.removeEventListener("dragenter",stop,!1),e.removeEventListener("dragover",stop,!1),e.removeEventListener("dragexit",stop,!1))}function subscribe(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",stop,!1),e.addEventListener("dragover",stop,!1),e.addEventListener("dragexit",stop,!1)}function createOnLoadCallback(r,n,a,o){var s=r.scene;return function(e){var t,i=n.name;try{if(/\.czml$/i.test(i))t=CzmlDataSource.load(JSON.parse(e.target.result),{sourceUri:i});else if(/\.geojson$/i.test(i)||/\.json$/i.test(i)||/\.topojson$/i.test(i))t=GeoJsonDataSource.load(JSON.parse(e.target.result),{sourceUri:i,clampToGround:o});else{if(!/\.(kml|kmz)$/i.test(i))return void r.dropError.raiseEvent(r,i,"Unrecognized file: "+i);t=KmlDataSource.load(n,{sourceUri:i,proxy:a,camera:s.camera,canvas:s.canvas,clampToGround:o})}defined(t)&&r.dataSources.add(t).then(function(e){r.flyToOnDrop&&r.flyTo(e)}).otherwise(function(e){r.dropError.raiseEvent(r,i,e)})}catch(e){r.dropError.raiseEvent(r,i,e)}}}function createDropErrorCallback(t,i){return function(e){t.dropError.raiseEvent(t,i.name,e.target.error)}}function viewerPerformanceWatchdogMixin(e,t){t=defaultValue(t,defaultValue.EMPTY_OBJECT);var i=new PerformanceWatchdog({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return i}}})}function callAndWrap(e,t,i){try{return e(t,i)}catch(e){return when.reject(e)}}function createTaskProcessorWorker(n){var a;return function(e){var t=e.data,i=[],r={id:t.id,result:void 0,error:void 0};return when(callAndWrap(n,t.parameters,i)).then(function(e){r.result=e}).otherwise(function(e){e instanceof Error?r.error={name:e.name,message:e.message,stack:e.stack}:r.error=e}).always(function(){defined(a)||(a=defaultValue(self.webkitPostMessage,self.postMessage)),t.canTransferArrayBuffer||(i.length=0);try{a(r,i)}catch(e){r.result=void 0,r.error="postMessage failed with error: "+formatError(e)+"\n with responseMessage: "+JSON.stringify(r),a(r)}})}}Object.defineProperties(Viewer.prototype,{container:{get:function(){return this._container}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){var t,i;this._trackedEntity!==e&&(this._trackedEntity=e,cancelZoom(this),i=(t=this.scene).mode,defined(e)&&defined(e.position)?this._needTrackedEntityUpdate=!0:(this._needTrackedEntityUpdate=!1,i!==SceneMode$1.COLUMBUS_VIEW&&i!==SceneMode$1.SCENE2D||(t.screenSpaceCameraController.enableTranslate=!0),i!==SceneMode$1.COLUMBUS_VIEW&&i!==SceneMode$1.SCENE3D||(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(Matrix4.IDENTITY)),this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender())}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){var t;this._selectedEntity!==e&&(this._selectedEntity=e,t=defined(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0,defined(e)?defined(t)&&t.animateAppear():defined(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e))}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,trackDataSourceClock(this._timeline,this.clock,e))}}}),Viewer.prototype.extend=function(e,t){e(this,t)},Viewer.prototype.resize=function(){var e,t,i,r,n=this._cesiumWidget,a=this._container,o=a.clientWidth,s=a.clientHeight,l=defined(this._animation),c=defined(this._timeline);n.resize(),o===this._lastWidth&&s===this._lastHeight||(r=s-125,defined(e=this._baseLayerPickerDropDown)&&(e.style.maxHeight=r+"px"),defined(this._geocoder)&&(this._geocoder.searchSuggestionsContainer.style.maxHeight=r+"px"),defined(this._infoBox)&&(this._infoBox.viewModel.maxHeight=r),a=this._timeline,r=e=n=0,l&&"hidden"!==window.getComputedStyle(this._animation.container).visibility&&(t=this._lastWidth,i=this._animation.container,900<o?(n=169,t<=900&&(i.style.width="169px",i.style.height="112px",this._animation.resize())):600<=o?(n=136,(t<600||900<t)&&(i.style.width="136px",i.style.height="90px",this._animation.resize())):(n=106,(600<t||0===t)&&(i.style.width="106px",i.style.height="70px",this._animation.resize())),e=n+5),c&&"hidden"!==window.getComputedStyle(this._timeline.container).visibility&&(l=this._fullscreenButton,t=this._vrButton,c=(i=a.container).style,r=i.clientHeight+3,c.left=n+"px",n=0,defined(l)&&(n+=l.container.clientWidth),defined(t)&&(n+=t.container.clientWidth),c.right=n+"px",a.resize()),this._bottomContainer.style.left=e+"px",this._bottomContainer.style.bottom=r+"px",this._lastWidth=o,this._lastHeight=s)},Viewer.prototype.forceResize=function(){this._lastWidth=0,this.resize()},Viewer.prototype.render=function(){this._cesiumWidget.render()},Viewer.prototype.isDestroyed=function(){return!1},Viewer.prototype.destroy=function(){this.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType$1.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType$1.LEFT_DOUBLE_CLICK);for(var e=this.dataSources,t=e.length,i=0;i<t;i++)this._dataSourceRemoved(e,e.get(i));return this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),defined(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),defined(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),defined(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),defined(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),defined(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),defined(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),defined(this._timeline)&&(this._timeline.removeEventListener("settime",onTimelineScrubfunction,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),defined(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),defined(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),defined(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),defined(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),destroyObject(this)},Viewer.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(Viewer.prototype._onEntityCollectionChanged,this)},Viewer.prototype._dataSourceRemoved=function(e,t){t=t.entities;t.collectionChanged.removeEventListener(Viewer.prototype._onEntityCollectionChanged,this),defined(this.trackedEntity)&&t.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0),defined(this.selectedEntity)&&t.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)},Viewer.prototype._onTick=function(e){var t=e.currentTime,i=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=i);var r,n=this._entityView;defined(n)&&(a=this._trackedEntity,this._dataSourceDisplay.getBoundingSphere(a,!1,boundingSphereScratch$2)===BoundingSphereState$1.DONE&&n.update(t,boundingSphereScratch$2));var e=!1,i=this.selectedEntity,a=defined(i)&&this._enableInfoOrSelection;a&&i.isShowing&&i.isAvailable(t)&&(this._dataSourceDisplay.getBoundingSphere(i,!0,boundingSphereScratch$2)!==BoundingSphereState$1.FAILED?r=boundingSphereScratch$2.center:defined(i.position)&&(r=i.position.getValue(t,r)),e=defined(r));n=defined(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;defined(n)&&(n.position=Cartesian3.clone(r,n.position),n.showSelection=a&&e,n.update());n=defined(this._infoBox)?this._infoBox.viewModel:void 0;defined(n)&&(n.showInfo=a,n.enableCamera=e,n.isCameraTracking=this.trackedEntity===this.selectedEntity,a?(n.titleText=defaultValue(i.name,i.id),n.description=Property.getValueOrDefault(i.description,t,"")):(n.titleText="",n.description=""))},Viewer.prototype._onEntityCollectionChanged=function(e,t,i){for(var r=i.length,n=0;n<r;n++){var a=i[n];this.trackedEntity===a&&(this.trackedEntity=void 0),this.selectedEntity===a&&(this.selectedEntity=void 0)}},Viewer.prototype._onInfoBoxCameraClicked=function(e){e.isCameraTracking&&this.trackedEntity===this.selectedEntity?this.trackedEntity=void 0:defined(this.selectedEntity.position)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)},Viewer.prototype._clearTrackedObject=function(){this.trackedEntity=void 0},Viewer.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0},Viewer.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0},Viewer.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&trackDataSourceClock(this.timeline,this.clock,e)},Viewer.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);var i=t.entities.id,t=this._eventHelper.add(t.changedEvent,Viewer.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[i]=t},Viewer.prototype._onDataSourceRemoved=function(e,t){var i=this.clockTrackedDataSource===t,t=t.entities.id;this._dataSourceChangedListeners[t](),this._dataSourceChangedListeners[t]=void 0,i&&(i=e.length,this._automaticallyTrackDataSourceClocks&&0<i?this.clockTrackedDataSource=e.get(i-1):this.clockTrackedDataSource=void 0)},Viewer.prototype.zoomTo=function(e,t){return zoomToOrFly(this,e,{offset:t},!1)},Viewer.prototype.flyTo=function(e,t){return zoomToOrFly(this,e,t,!0)},Viewer.prototype._postRender=function(){updateZoomTarget(this),updateTrackedEntity(this)};var VERSION="1.75",PRODUCTION="GEOVIS IEXPLORER";exports.Animation=Animation,exports.AnimationViewModel=AnimationViewModel,exports.Appearance=Appearance,exports.ApproximateTerrainHeights=ApproximateTerrainHeights,exports.ArcGISTiledElevationTerrainProvider=ArcGISTiledElevationTerrainProvider,exports.ArcGisMapServerImageryProvider=ArcGisMapServerImageryProvider,exports.ArcType=ArcType$1,exports.AssociativeArray=AssociativeArray,exports.AttributeCompression=AttributeCompression,exports.AttributeType=AttributeType$1,exports.AutoExposure=AutoExposure,exports.Autolinker=Autolinker,exports.AutomaticUniforms=AutomaticUniforms,exports.Axis=Axis$1,exports.AxisAlignedBoundingBox=AxisAlignedBoundingBox,exports.BaseLayerPicker=BaseLayerPicker,exports.BaseLayerPickerViewModel=BaseLayerPickerViewModel,exports.BatchTable=BatchTable,exports.Batched3DModel3DTileContent=Batched3DModel3DTileContent,exports.Billboard=Billboard,exports.BillboardCollection=BillboardCollection,exports.BillboardGraphics=BillboardGraphics,exports.BillboardVisualizer=BillboardVisualizer,exports.BingMapsGeocoderService=BingMapsGeocoderService,exports.BingMapsImageryProvider=BingMapsImageryProvider,exports.BingMapsStyle=BingMapsStyle$1,exports.BlendEquation=BlendEquation$1,exports.BlendFunction=BlendFunction$1,exports.BlendOption=BlendOption$1,exports.BlendingState=BlendingState$1,exports.BoundingRectangle=BoundingRectangle,exports.BoundingSphere=BoundingSphere,exports.BoundingSphereState=BoundingSphereState$1,exports.BoxEmitter=BoxEmitter,exports.BoxGeometry=BoxGeometry,exports.BoxGeometryUpdater=BoxGeometryUpdater,exports.BoxGraphics=BoxGraphics,exports.BoxOutlineGeometry=BoxOutlineGeometry,exports.BrdfLutGenerator=BrdfLutGenerator,exports.Buffer=Buffer$1,exports.BufferUsage=BufferUsage$1,exports.CallbackProperty=CallbackProperty,exports.Camera=Camera,exports.CameraEventAggregator=CameraEventAggregator,exports.CameraEventType=CameraEventType$1,exports.CameraFlightPath=CameraFlightPath,exports.Cartesian2=Cartesian2,exports.Cartesian3=Cartesian3,exports.Cartesian4=Cartesian4,exports.Cartographic=Cartographic,exports.CartographicGeocoderService=CartographicGeocoderService,exports.CatmullRomSpline=CatmullRomSpline,exports.Cesium3DTile=Cesium3DTile,exports.Cesium3DTileBatchTable=Cesium3DTileBatchTable,exports.Cesium3DTileColorBlendMode=Cesium3DTileColorBlendMode$1,exports.Cesium3DTileContent=Cesium3DTileContent,exports.Cesium3DTileContentFactory=Cesium3DTileContentFactory,exports.Cesium3DTileContentState=Cesium3DTileContentState$1,exports.Cesium3DTileFeature=Cesium3DTileFeature,exports.Cesium3DTileFeatureTable=Cesium3DTileFeatureTable,exports.Cesium3DTileOptimizationHint=Cesium3DTileOptimizationHint$1,exports.Cesium3DTileOptimizations=Cesium3DTileOptimizations,exports.Cesium3DTilePass=Cesium3DTilePass$1,exports.Cesium3DTilePassState=Cesium3DTilePassState,exports.Cesium3DTilePointFeature=Cesium3DTilePointFeature,exports.Cesium3DTileRefine=Cesium3DTileRefine$1,exports.Cesium3DTileStyle=Cesium3DTileStyle,exports.Cesium3DTileStyleEngine=Cesium3DTileStyleEngine,exports.Cesium3DTilesInspector=Cesium3DTilesInspector,exports.Cesium3DTilesInspectorViewModel=Cesium3DTilesInspectorViewModel,exports.Cesium3DTileset=Cesium3DTileset,exports.Cesium3DTilesetCache=Cesium3DTilesetCache,exports.Cesium3DTilesetGraphics=Cesium3DTilesetGraphics,exports.Cesium3DTilesetHeatmap=Cesium3DTilesetHeatmap,exports.Cesium3DTilesetMostDetailedTraversal=Cesium3DTilesetMostDetailedTraversal,exports.Cesium3DTilesetStatistics=Cesium3DTilesetStatistics,exports.Cesium3DTilesetTraversal=Cesium3DTilesetTraversal,exports.Cesium3DTilesetVisualizer=Cesium3DTilesetVisualizer,exports.CesiumInspector=CesiumInspector,exports.CesiumInspectorViewModel=CesiumInspectorViewModel,exports.CesiumTerrainProvider=CesiumTerrainProvider,exports.CesiumWidget=CesiumWidget,exports.Check=Check,exports.CheckerboardMaterialProperty=CheckerboardMaterialProperty,exports.CircleEmitter=CircleEmitter,exports.CircleGeometry=CircleGeometry,exports.CircleOutlineGeometry=CircleOutlineGeometry,exports.ClassificationModel=ClassificationModel,exports.ClassificationPrimitive=ClassificationPrimitive,exports.ClassificationType=ClassificationType$1,exports.ClearCommand=ClearCommand,exports.ClippingPlane=ClippingPlane,exports.ClippingPlaneCollection=ClippingPlaneCollection,exports.Clock=Clock,exports.ClockRange=ClockRange$1,exports.ClockStep=ClockStep$1,exports.ClockViewModel=ClockViewModel,exports.Color=Color,exports.ColorBlendMode=ColorBlendMode$1,exports.ColorGeometryInstanceAttribute=ColorGeometryInstanceAttribute,exports.ColorMaterialProperty=ColorMaterialProperty,exports.Command=Command,exports.ComponentDatatype=ComponentDatatype$1,exports.Composite3DTileContent=Composite3DTileContent,exports.CompositeEntityCollection=CompositeEntityCollection,exports.CompositeMaterialProperty=CompositeMaterialProperty,exports.CompositePositionProperty=CompositePositionProperty,exports.CompositeProperty=CompositeProperty,exports.CompressedTextureBuffer=CompressedTextureBuffer,exports.ComputeCommand=ComputeCommand,exports.ComputeEngine=ComputeEngine,exports.ConditionsExpression=ConditionsExpression,exports.ConeEmitter=ConeEmitter,exports.ConstantPositionProperty=ConstantPositionProperty,exports.ConstantProperty=ConstantProperty,exports.Context=Context,exports.ContextLimits=ContextLimits,exports.CoplanarPolygonGeometry=CoplanarPolygonGeometry,exports.CoplanarPolygonGeometryLibrary=CoplanarPolygonGeometryLibrary,exports.CoplanarPolygonOutlineGeometry=CoplanarPolygonOutlineGeometry,exports.CornerType=CornerType$1,exports.CorridorGeometry=CorridorGeometry,exports.CorridorGeometryLibrary=CorridorGeometryLibrary,exports.CorridorGeometryUpdater=CorridorGeometryUpdater,exports.CorridorGraphics=CorridorGraphics,exports.CorridorOutlineGeometry=CorridorOutlineGeometry,exports.Credit=Credit,exports.CreditDisplay=CreditDisplay,exports.CubeMap=CubeMap,exports.CubeMapFace=CubeMapFace,exports.CubicRealPolynomial=CubicRealPolynomial,exports.CullFace=CullFace$1,exports.CullingVolume=CullingVolume,exports.CustomDataSource=CustomDataSource,exports.CylinderGeometry=CylinderGeometry,exports.CylinderGeometryLibrary=CylinderGeometryLibrary,exports.CylinderGeometryUpdater=CylinderGeometryUpdater,exports.CylinderGraphics=CylinderGraphics,exports.CylinderOutlineGeometry=CylinderOutlineGeometry,exports.CzmlDataSource=CzmlDataSource,exports.DataSource=DataSource,exports.DataSourceClock=DataSourceClock,exports.DataSourceCollection=DataSourceCollection,exports.DataSourceDisplay=DataSourceDisplay,exports.DebugAppearance=DebugAppearance,exports.DebugCameraPrimitive=DebugCameraPrimitive,exports.DebugInspector=DebugInspector,exports.DebugModelMatrixPrimitive=DebugModelMatrixPrimitive,exports.DefaultProxy=DefaultProxy,exports.DepthFunction=DepthFunction$1,exports.DepthPlane=DepthPlane,exports.DerivedCommand=DerivedCommand,exports.DeveloperError=DeveloperError,exports.DeviceOrientationCameraController=DeviceOrientationCameraController,exports.DirectionalLight=DirectionalLight,exports.DiscardEmptyTileImagePolicy=DiscardEmptyTileImagePolicy,exports.DiscardMissingTileImagePolicy=DiscardMissingTileImagePolicy,exports.DistanceDisplayCondition=DistanceDisplayCondition,exports.DistanceDisplayConditionGeometryInstanceAttribute=DistanceDisplayConditionGeometryInstanceAttribute,exports.DoublyLinkedList=DoublyLinkedList,exports.DracoLoader=DracoLoader,exports.DrawCommand=DrawCommand,exports.DynamicGeometryBatch=DynamicGeometryBatch,exports.DynamicGeometryUpdater=DynamicGeometryUpdater,exports.EarthOrientationParameters=EarthOrientationParameters,exports.EarthOrientationParametersSample=EarthOrientationParametersSample,exports.EasingFunction=EasingFunction$1,exports.EllipseGeometry=EllipseGeometry,exports.EllipseGeometryLibrary=EllipseGeometryLibrary,exports.EllipseGeometryUpdater=EllipseGeometryUpdater,exports.EllipseGraphics=EllipseGraphics,exports.EllipseOutlineGeometry=EllipseOutlineGeometry,exports.Ellipsoid=Ellipsoid,exports.EllipsoidGeodesic=EllipsoidGeodesic,exports.EllipsoidGeometry=EllipsoidGeometry,exports.EllipsoidGeometryUpdater=EllipsoidGeometryUpdater,exports.EllipsoidGraphics=EllipsoidGraphics,exports.EllipsoidOutlineGeometry=EllipsoidOutlineGeometry,exports.EllipsoidPrimitive=EllipsoidPrimitive,exports.EllipsoidRhumbLine=EllipsoidRhumbLine,exports.EllipsoidSurfaceAppearance=EllipsoidSurfaceAppearance,exports.EllipsoidTangentPlane=EllipsoidTangentPlane,exports.EllipsoidTerrainProvider=EllipsoidTerrainProvider,exports.EllipsoidalOccluder=EllipsoidalOccluder,exports.Empty3DTileContent=Empty3DTileContent,exports.EncodedCartesian3=EncodedCartesian3,exports.Entity=Entity,exports.EntityCluster=EntityCluster,exports.EntityCollection=EntityCollection,exports.EntityView=EntityView,exports.Event=Event,exports.EventHelper=EventHelper,exports.Expression=Expression,exports.ExpressionNodeType=ExpressionNodeType$1,exports.ExtrapolationType=ExtrapolationType$1,exports.FXAA3_11=FXAA3_11,exports.FeatureDetection=FeatureDetection,exports.Fog=Fog,exports.ForEach=ForEach,exports.FrameRateMonitor=FrameRateMonitor,exports.FrameState=FrameState,exports.Framebuffer=Framebuffer,exports.FrustumCommands=FrustumCommands,exports.FrustumGeometry=FrustumGeometry,exports.FrustumOutlineGeometry=FrustumOutlineGeometry,exports.Fullscreen=Fullscreen,exports.FullscreenButton=FullscreenButton,exports.FullscreenButtonViewModel=FullscreenButtonViewModel,exports.GeoJsonDataSource=GeoJsonDataSource,exports.GeocodeType=GeocodeType$1,exports.Geocoder=Geocoder,exports.GeocoderService=GeocoderService,exports.GeocoderViewModel=GeocoderViewModel,exports.GeographicProjection=GeographicProjection,exports.GeographicTilingScheme=GeographicTilingScheme,exports.Geometry=Geometry,exports.Geometry3DTileContent=Geometry3DTileContent,exports.GeometryAttribute=GeometryAttribute,exports.GeometryAttributes=GeometryAttributes,exports.GeometryFactory=GeometryFactory,exports.GeometryInstance=GeometryInstance,exports.GeometryInstanceAttribute=GeometryInstanceAttribute,exports.GeometryOffsetAttribute=GeometryOffsetAttribute$1,exports.GeometryPipeline=GeometryPipeline,exports.GeometryType=GeometryType$1,exports.GeometryUpdater=GeometryUpdater,exports.GeometryVisualizer=GeometryVisualizer,exports.GetFeatureInfoFormat=GetFeatureInfoFormat,exports.Globe=Globe,exports.GlobeDepth=GlobeDepth,exports.GlobeSurfaceShaderSet=GlobeSurfaceShaderSet,exports.GlobeSurfaceTile=GlobeSurfaceTile,exports.GlobeSurfaceTileProvider=GlobeSurfaceTileProvider,exports.GlobeTranslucency=GlobeTranslucency,exports.GlobeTranslucencyFramebuffer=GlobeTranslucencyFramebuffer,exports.GlobeTranslucencyState=GlobeTranslucencyState,exports.GoogleEarthEnterpriseImageryProvider=GoogleEarthEnterpriseImageryProvider,exports.GoogleEarthEnterpriseMapsProvider=GoogleEarthEnterpriseMapsProvider,exports.GoogleEarthEnterpriseMetadata=GoogleEarthEnterpriseMetadata,exports.GoogleEarthEnterpriseTerrainData=GoogleEarthEnterpriseTerrainData,exports.GoogleEarthEnterpriseTerrainProvider=GoogleEarthEnterpriseTerrainProvider,exports.GoogleEarthEnterpriseTileInformation=GoogleEarthEnterpriseTileInformation,exports.GregorianDate=GregorianDate,exports.GridImageryProvider=GridImageryProvider,exports.GridMaterialProperty=GridMaterialProperty,exports.GroundGeometryUpdater=GroundGeometryUpdater,exports.GroundPolylineGeometry=GroundPolylineGeometry,exports.GroundPolylinePrimitive=GroundPolylinePrimitive,exports.GroundPrimitive=GroundPrimitive,exports.HeadingPitchRange=HeadingPitchRange,exports.HeadingPitchRoll=HeadingPitchRoll,exports.Heap=Heap,exports.HeightReference=HeightReference$1,exports.HeightmapEncoding=HeightmapEncoding$1,exports.HeightmapTerrainData=HeightmapTerrainData,exports.HeightmapTessellator=HeightmapTessellator,exports.HermitePolynomialApproximation=HermitePolynomialApproximation,exports.HermiteSpline=HermiteSpline,exports.HomeButton=HomeButton,exports.HomeButtonViewModel=HomeButtonViewModel,exports.HorizontalOrigin=HorizontalOrigin$1,exports.Iau2000Orientation=Iau2000Orientation,exports.Iau2006XysData=Iau2006XysData,exports.Iau2006XysSample=Iau2006XysSample,exports.IauOrientationAxes=IauOrientationAxes,exports.IauOrientationParameters=IauOrientationParameters,exports.ImageMaterialProperty=ImageMaterialProperty,exports.Imagery=Imagery,exports.ImageryLayer=ImageryLayer,exports.ImageryLayerCollection=ImageryLayerCollection,exports.ImageryLayerFeatureInfo=ImageryLayerFeatureInfo,exports.ImageryProvider=ImageryProvider,exports.ImagerySplitDirection=ImagerySplitDirection$1,exports.ImageryState=ImageryState$1,exports.IndexDatatype=IndexDatatype$1,exports.InfoBox=InfoBox,exports.InfoBoxViewModel=InfoBoxViewModel,exports.InspectorShared=InspectorShared,exports.Instanced3DModel3DTileContent=Instanced3DModel3DTileContent,exports.InterpolationAlgorithm=InterpolationAlgorithm,exports.Intersect=Intersect$1,exports.IntersectionTests=IntersectionTests,exports.Intersections2D=Intersections2D,exports.Interval=Interval,exports.InvertClassification=InvertClassification,exports.Ion=Ion,exports.IonGeocoderService=IonGeocoderService,exports.IonImageryProvider=IonImageryProvider,exports.IonResource=IonResource,exports.IonWorldImageryStyle=IonWorldImageryStyle$1,exports.Iso8601=Iso8601,exports.JobScheduler=JobScheduler,exports.JobType=JobType$1,exports.JulianDate=JulianDate,exports.KeyboardEventModifier=KeyboardEventModifier$1,exports.KmlCamera=KmlCamera,exports.KmlDataSource=KmlDataSource,exports.KmlLookAt=KmlLookAt,exports.KmlTour=KmlTour,exports.KmlTourFlyTo=KmlTourFlyTo,exports.KmlTourWait=KmlTourWait,exports.Label=Label,exports.LabelCollection=LabelCollection,exports.LabelGraphics=LabelGraphics,exports.LabelStyle=LabelStyle$1,exports.LabelVisualizer=LabelVisualizer,exports.LagrangePolynomialApproximation=LagrangePolynomialApproximation,exports.LeapSecond=LeapSecond,exports.LercDecode=LercDecode,exports.Light=Light,exports.LinearApproximation=LinearApproximation,exports.LinearSpline=LinearSpline,exports.ManagedArray=ManagedArray,exports.MapMode2D=MapMode2D$1,exports.MapProjection=MapProjection,exports.MapboxImageryProvider=MapboxImageryProvider,exports.MapboxStyleImageryProvider=MapboxStyleImageryProvider,exports.Material=Material,exports.MaterialAppearance=MaterialAppearance,exports.MaterialProperty=MaterialProperty,exports.Math=CesiumMath,exports.Matrix2=Matrix2,exports.Matrix3=Matrix3,exports.Matrix4=Matrix4,exports.MipmapHint=MipmapHint$1,exports.Model=Model,exports.ModelAnimation=ModelAnimation,exports.ModelAnimationCache=ModelAnimationCache,exports.ModelAnimationCollection=ModelAnimationCollection,exports.ModelAnimationLoop=ModelAnimationLoop$1,exports.ModelAnimationState=ModelAnimationState,exports.ModelGraphics=ModelGraphics,exports.ModelInstance=ModelInstance,exports.ModelInstanceCollection=ModelInstanceCollection,exports.ModelLoadResources=ModelLoadResources,exports.ModelMaterial=ModelMaterial,exports.ModelMesh=ModelMesh,exports.ModelNode=ModelNode,exports.ModelOutlineLoader=ModelOutlineLoader,exports.ModelUtility=ModelUtility,exports.ModelVisualizer=ModelVisualizer,exports.Moon=Moon,exports.NavigationHelpButton=NavigationHelpButton,exports.NavigationHelpButtonViewModel=NavigationHelpButtonViewModel,exports.NearFarScalar=NearFarScalar,exports.NeverTileDiscardPolicy=NeverTileDiscardPolicy,exports.NoSleep=NoSleep,exports.NodeTransformationProperty=NodeTransformationProperty,exports.OIT=OIT,exports.Occluder=Occluder,exports.OctahedralProjectedCubeMap=OctahedralProjectedCubeMap,exports.OffsetGeometryInstanceAttribute=OffsetGeometryInstanceAttribute,exports.OpenCageGeocoderService=OpenCageGeocoderService,exports.OpenStreetMapImageryProvider=OpenStreetMapImageryProvider,exports.OrderedGroundPrimitiveCollection=OrderedGroundPrimitiveCollection,exports.OrientedBoundingBox=OrientedBoundingBox,exports.OrthographicFrustum=OrthographicFrustum,exports.OrthographicOffCenterFrustum=OrthographicOffCenterFrustum,exports.PRODUCTION=PRODUCTION,exports.Packable=Packable,exports.PackableForInterpolation=PackableForInterpolation,exports.Particle=Particle,exports.ParticleBurst=ParticleBurst,exports.ParticleEmitter=ParticleEmitter,exports.ParticleSystem=ParticleSystem,exports.Pass=Pass$1,exports.PassState=PassState,exports.PathGraphics=PathGraphics,exports.PathVisualizer=PathVisualizer,exports.PeliasGeocoderService=PeliasGeocoderService,exports.PerInstanceColorAppearance=PerInstanceColorAppearance,exports.PerformanceDisplay=PerformanceDisplay,exports.PerformanceWatchdog=PerformanceWatchdog,exports.PerformanceWatchdogViewModel=PerformanceWatchdogViewModel,exports.PerspectiveFrustum=PerspectiveFrustum,exports.PerspectiveOffCenterFrustum=PerspectiveOffCenterFrustum,exports.PickDepth=PickDepth,exports.PickDepthFramebuffer=PickDepthFramebuffer,exports.PickFramebuffer=PickFramebuffer,exports.Picking=Picking,exports.PinBuilder=PinBuilder,exports.PixelDatatype=PixelDatatype$1,exports.PixelFormat=PixelFormat$1,exports.Plane=Plane,exports.PlaneGeometry=PlaneGeometry,exports.PlaneGeometryUpdater=PlaneGeometryUpdater,exports.PlaneGraphics=PlaneGraphics,exports.PlaneOutlineGeometry=PlaneOutlineGeometry,exports.PointCloud=PointCloud,exports.PointCloud3DTileContent=PointCloud3DTileContent,exports.PointCloudEyeDomeLighting=PointCloudEyeDomeLighting,exports.PointCloudShading=PointCloudShading,exports.PointGraphics=PointGraphics,exports.PointPrimitive=PointPrimitive,exports.PointPrimitiveCollection=PointPrimitiveCollection,exports.PointVisualizer=PointVisualizer,exports.PolygonGeometry=PolygonGeometry,exports.PolygonGeometryLibrary=PolygonGeometryLibrary,exports.PolygonGeometryUpdater=PolygonGeometryUpdater,exports.PolygonGraphics=PolygonGraphics,exports.PolygonHierarchy=PolygonHierarchy,exports.PolygonOutlineGeometry=PolygonOutlineGeometry,exports.PolygonPipeline=PolygonPipeline,exports.Polyline=Polyline,exports.PolylineArrowMaterialProperty=PolylineArrowMaterialProperty,exports.PolylineCollection=PolylineCollection,exports.PolylineColorAppearance=PolylineColorAppearance,exports.PolylineDashMaterialProperty=PolylineDashMaterialProperty,exports.PolylineGeometry=PolylineGeometry,exports.PolylineGeometryUpdater=PolylineGeometryUpdater,exports.PolylineGlowMaterialProperty=PolylineGlowMaterialProperty,exports.PolylineGraphics=PolylineGraphics,exports.PolylineMaterialAppearance=PolylineMaterialAppearance,exports.PolylineOutlineMaterialProperty=PolylineOutlineMaterialProperty,exports.PolylinePipeline=PolylinePipeline,exports.PolylineVisualizer=PolylineVisualizer,exports.PolylineVolumeGeometry=PolylineVolumeGeometry,exports.PolylineVolumeGeometryLibrary=PolylineVolumeGeometryLibrary,exports.PolylineVolumeGeometryUpdater=PolylineVolumeGeometryUpdater,exports.PolylineVolumeGraphics=PolylineVolumeGraphics,exports.PolylineVolumeOutlineGeometry=PolylineVolumeOutlineGeometry,exports.PositionProperty=PositionProperty,exports.PositionPropertyArray=PositionPropertyArray,exports.PostProcessStage=PostProcessStage,exports.PostProcessStageCollection=PostProcessStageCollection,exports.PostProcessStageComposite=PostProcessStageComposite,exports.PostProcessStageLibrary=PostProcessStageLibrary,exports.PostProcessStageSampleMode=PostProcessStageSampleMode,exports.PostProcessStageTextureCache=PostProcessStageTextureCache,exports.Primitive=Primitive,exports.PrimitiveCollection=PrimitiveCollection,exports.PrimitivePipeline=PrimitivePipeline,exports.PrimitiveState=PrimitiveState$1,exports.PrimitiveType=PrimitiveType$1,exports.ProjectionPicker=ProjectionPicker,exports.ProjectionPickerViewModel=ProjectionPickerViewModel,exports.Property=Property,exports.PropertyArray=PropertyArray,exports.PropertyBag=PropertyBag,exports.ProviderViewModel=ProviderViewModel,exports.Proxy=Proxy,exports.QuadraticRealPolynomial=QuadraticRealPolynomial,exports.QuadtreeOccluders=QuadtreeOccluders,exports.QuadtreePrimitive=QuadtreePrimitive,exports.QuadtreeTile=QuadtreeTile,exports.QuadtreeTileLoadState=QuadtreeTileLoadState$1,exports.QuadtreeTileProvider=QuadtreeTileProvider,exports.QuantizedMeshTerrainData=QuantizedMeshTerrainData,exports.QuarticRealPolynomial=QuarticRealPolynomial,exports.Quaternion=Quaternion,exports.QuaternionSpline=QuaternionSpline,exports.Queue=Queue,exports.Ray=Ray,exports.Rectangle=Rectangle,exports.RectangleCollisionChecker=RectangleCollisionChecker,exports.RectangleGeometry=RectangleGeometry,exports.RectangleGeometryLibrary=RectangleGeometryLibrary,exports.RectangleGeometryUpdater=RectangleGeometryUpdater,exports.RectangleGraphics=RectangleGraphics,exports.RectangleOutlineGeometry=RectangleOutlineGeometry,exports.ReferenceFrame=ReferenceFrame$1,exports.ReferenceProperty=ReferenceProperty,exports.RenderState=RenderState,exports.Renderbuffer=Renderbuffer,exports.RenderbufferFormat=RenderbufferFormat$1,exports.Request=Request,exports.RequestErrorEvent=RequestErrorEvent,exports.RequestScheduler=RequestScheduler,exports.RequestState=RequestState$1,exports.RequestType=RequestType$1,exports.Resource=Resource,exports.Rotation=Rotation,exports.RuntimeError=RuntimeError,exports.SDFSettings=SDFSettings$1,exports.SampledPositionProperty=SampledPositionProperty,exports.SampledProperty=SampledProperty,exports.Sampler=Sampler,exports.ScaledPositionProperty=ScaledPositionProperty,exports.Scene=Scene,exports.SceneFramebuffer=SceneFramebuffer,exports.SceneMode=SceneMode$1,exports.SceneModePicker=SceneModePicker,exports.SceneModePickerViewModel=SceneModePickerViewModel,exports.SceneTransforms=SceneTransforms,exports.SceneTransitioner=SceneTransitioner,exports.ScreenSpaceCameraController=ScreenSpaceCameraController,exports.ScreenSpaceEventHandler=ScreenSpaceEventHandler,exports.ScreenSpaceEventType=ScreenSpaceEventType$1,exports.SelectionIndicator=SelectionIndicator,exports.SelectionIndicatorViewModel=SelectionIndicatorViewModel,exports.ShaderCache=ShaderCache,exports.ShaderProgram=ShaderProgram,exports.ShaderSource=ShaderSource,exports.ShadowMap=ShadowMap,exports.ShadowMapShader=ShadowMapShader,exports.ShadowMode=ShadowMode$1,exports.ShadowVolumeAppearance=ShadowVolumeAppearance,exports.ShowGeometryInstanceAttribute=ShowGeometryInstanceAttribute,exports.Simon1994PlanetaryPositions=Simon1994PlanetaryPositions,exports.SimplePolylineGeometry=SimplePolylineGeometry,exports.SingleTileImageryProvider=SingleTileImageryProvider,exports.SkyAtmosphere=SkyAtmosphere,exports.SkyBox=SkyBox,exports.SphereEmitter=SphereEmitter,exports.SphereGeometry=SphereGeometry,exports.SphereOutlineGeometry=SphereOutlineGeometry,exports.Spherical=Spherical,exports.Spline=Spline,exports.StaticGeometryColorBatch=StaticGeometryColorBatch,exports.StaticGeometryPerMaterialBatch=StaticGeometryPerMaterialBatch,exports.StaticGroundGeometryColorBatch=StaticGroundGeometryColorBatch,exports.StaticGroundGeometryPerMaterialBatch=StaticGroundGeometryPerMaterialBatch,exports.StaticGroundPolylinePerMaterialBatch=StaticGroundPolylinePerMaterialBatch,exports.StaticOutlineGeometryBatch=StaticOutlineGeometryBatch,exports.StencilConstants=StencilConstants$1,exports.StencilFunction=StencilFunction$1,exports.StencilOperation=StencilOperation$1,exports.StripeMaterialProperty=StripeMaterialProperty,exports.StripeOrientation=StripeOrientation$1,exports.StyleExpression=StyleExpression,exports.Sun=Sun,exports.SunLight=SunLight,exports.SunPostProcess=SunPostProcess,exports.SvgPathBindingHandler=SvgPathBindingHandler,exports.TaskProcessor=TaskProcessor,exports.TerrainData=TerrainData,exports.TerrainEncoding=TerrainEncoding,exports.TerrainFillMesh=TerrainFillMesh,exports.TerrainMesh=TerrainMesh,exports.TerrainOffsetProperty=TerrainOffsetProperty,exports.TerrainProvider=TerrainProvider,exports.TerrainQuantization=TerrainQuantization$1,exports.TerrainState=TerrainState$2,exports.Texture=Texture,exports.TextureAtlas=TextureAtlas,exports.TextureCache=TextureCache,exports.TextureMagnificationFilter=TextureMagnificationFilter$1,exports.TextureMinificationFilter=TextureMinificationFilter$1,exports.TextureWrap=TextureWrap$1,exports.TileAvailability=TileAvailability,exports.TileBoundingRegion=TileBoundingRegion,exports.TileBoundingSphere=TileBoundingSphere,exports.TileBoundingVolume=TileBoundingVolume,exports.TileCoordinatesImageryProvider=TileCoordinatesImageryProvider,exports.TileDiscardPolicy=TileDiscardPolicy,exports.TileEdge=TileEdge,exports.TileImagery=TileImagery,exports.TileMapServiceImageryProvider=TileMapServiceImageryProvider,exports.TileOrientedBoundingBox=TileOrientedBoundingBox,exports.TileProviderError=TileProviderError,exports.TileReplacementQueue=TileReplacementQueue,exports.TileSelectionResult=TileSelectionResult,exports.TileState=TileState$1,exports.Tileset3DTileContent=Tileset3DTileContent,exports.TilingScheme=TilingScheme,exports.TimeConstants=TimeConstants$1,exports.TimeDynamicImagery=TimeDynamicImagery,exports.TimeDynamicPointCloud=TimeDynamicPointCloud,exports.TimeInterval=TimeInterval,exports.TimeIntervalCollection=TimeIntervalCollection,exports.TimeIntervalCollectionPositionProperty=TimeIntervalCollectionPositionProperty,exports.TimeIntervalCollectionProperty=TimeIntervalCollectionProperty,exports.TimeStandard=TimeStandard$1,exports.Timeline=Timeline,exports.TimelineHighlightRange=TimelineHighlightRange,exports.TimelineTrack=TimelineTrack,exports.Tipsify=Tipsify,exports.ToggleButtonViewModel=ToggleButtonViewModel,exports.Tonemapper=Tonemapper$1,exports.Transforms=Transforms,exports.TranslationRotationScale=TranslationRotationScale,exports.TridiagonalSystemSolver=TridiagonalSystemSolver,exports.TrustedServers=TrustedServers,exports.Tween=TWEEN,exports.TweenCollection=TweenCollection,exports.UniformState=UniformState,exports.Uri=URI,exports.UrlTemplateImageryProvider=UrlTemplateImageryProvider,exports.VERSION=VERSION,exports.VRButton=VRButton,exports.VRButtonViewModel=VRButtonViewModel,exports.VRTheWorldTerrainProvider=VRTheWorldTerrainProvider,exports.Vector3DTileBatch=Vector3DTileBatch,exports.Vector3DTileContent=Vector3DTileContent,exports.Vector3DTileGeometry=Vector3DTileGeometry,exports.Vector3DTilePoints=Vector3DTilePoints,exports.Vector3DTilePolygons=Vector3DTilePolygons,exports.Vector3DTilePolylines=Vector3DTilePolylines,exports.Vector3DTilePrimitive=Vector3DTilePrimitive,exports.VelocityOrientationProperty=VelocityOrientationProperty,exports.VelocityVectorProperty=VelocityVectorProperty,exports.VertexArray=VertexArray,exports.VertexArrayFacade=VertexArrayFacade,exports.VertexFormat=VertexFormat,exports.VerticalOrigin=VerticalOrigin$1,exports.VideoSynchronizer=VideoSynchronizer,exports.View=View,exports.Viewer=Viewer,exports.ViewportQuad=ViewportQuad,exports.Visibility=Visibility$1,exports.Visualizer=Visualizer,exports.WallGeometry=WallGeometry,exports.WallGeometryLibrary=WallGeometryLibrary,exports.WallGeometryUpdater=WallGeometryUpdater,exports.WallGraphics=WallGraphics,exports.WallOutlineGeometry=WallOutlineGeometry,exports.WebGLConstants=WebGLConstants$1,exports.WebMapServiceImageryProvider=WebMapServiceImageryProvider,exports.WebMapTileServiceImageryProvider=WebMapTileServiceImageryProvider,exports.WebMercatorProjection=WebMercatorProjection,exports.WebMercatorTilingScheme=WebMercatorTilingScheme,exports.WeightSpline=WeightSpline,exports.WindingOrder=WindingOrder$1,exports._shadersAcesTonemappingStage=AcesTonemapping,exports._shadersAdditiveBlend=AdditiveBlend,exports._shadersAdjustTranslucentFS=AdjustTranslucentFS,exports._shadersAllMaterialAppearanceFS=AllMaterialAppearanceFS,exports._shadersAllMaterialAppearanceVS=AllMaterialAppearanceVS,exports._shadersAmbientOcclusionGenerate=AmbientOcclusionGenerate,exports._shadersAmbientOcclusionModulate=AmbientOcclusionModulate,exports._shadersAspectRampMaterial=AspectRampMaterial,exports._shadersBasicMaterialAppearanceFS=BasicMaterialAppearanceFS,exports._shadersBasicMaterialAppearanceVS=BasicMaterialAppearanceVS,exports._shadersBillboardCollectionFS=BillboardCollectionFS,exports._shadersBillboardCollectionVS=BillboardCollectionVS,exports._shadersBlackAndWhite=BlackAndWhite,exports._shadersBloomComposite=BloomComposite,exports._shadersBrdfLutGeneratorFS=BrdfLutGeneratorFS,exports._shadersBrightPass=BrightPass,exports._shadersBrightness=Brightness,exports._shadersBumpMapMaterial=BumpMapMaterial,exports._shadersCheckerboardMaterial=CheckerboardMaterial,exports._shadersCompositeOITFS=CompositeOITFS,exports._shadersContrastBias=ContrastBias,exports._shadersCzmBuiltins=CzmBuiltins,exports._shadersDepthOfField=DepthOfField,exports._shadersDepthPlaneFS=DepthPlaneFS,exports._shadersDepthPlaneVS=DepthPlaneVS,exports._shadersDepthView=DepthView,exports._shadersDepthViewPacked=DepthViewPacked,exports._shadersDotMaterial=DotMaterial,exports._shadersEdgeDetection=EdgeDetection,exports._shadersElevationContourMaterial=ElevationContourMaterial,exports._shadersElevationRampMaterial=ElevationRampMaterial,exports._shadersEllipsoidFS=EllipsoidFS,exports._shadersEllipsoidSurfaceAppearanceFS=EllipsoidSurfaceAppearanceFS,exports._shadersEllipsoidSurfaceAppearanceVS=EllipsoidSurfaceAppearanceVS,exports._shadersEllipsoidVS=EllipsoidVS,exports._shadersFXAA=FXAA,exports._shadersFadeMaterial=FadeMaterial,exports._shadersFilmicTonemapping=FilmicTonemapping,exports._shadersGaussianBlur1D=GaussianBlur1D,exports._shadersGlobeFS=GlobeFS,exports._shadersGlobeVS=GlobeVS,exports._shadersGridMaterial=GridMaterial,exports._shadersGroundAtmosphere=GroundAtmosphere,exports._shadersHSBToRGB=czm_HSBToRGB,exports._shadersHSLToRGB=czm_HSLToRGB,exports._shadersLensFlare=LensFlare,exports._shadersModifiedReinhardTonemapping=ModifiedReinhardTonemapping,exports._shadersNightVision=NightVision,exports._shadersNormalMapMaterial=NormalMapMaterial,exports._shadersOctahedralProjectionAtlasFS=OctahedralProjectionAtlasFS,exports._shadersOctahedralProjectionFS=OctahedralProjectionFS,exports._shadersOctahedralProjectionVS=OctahedralProjectionVS,exports._shadersPassThrough=PassThrough,exports._shadersPassThroughDepth=PassThroughDepth,exports._shadersPerInstanceColorAppearanceFS=PerInstanceColorAppearanceFS,exports._shadersPerInstanceColorAppearanceVS=PerInstanceColorAppearanceVS,exports._shadersPerInstanceFlatColorAppearanceFS=PerInstanceFlatColorAppearanceFS,exports._shadersPerInstanceFlatColorAppearanceVS=PerInstanceFlatColorAppearanceVS,exports._shadersPointCloudEyeDomeLighting=PointCloudEyeDomeLightingShader,exports._shadersPointPrimitiveCollectionFS=PointPrimitiveCollectionFS,exports._shadersPointPrimitiveCollectionVS=PointPrimitiveCollectionVS,exports._shadersPolylineArrowMaterial=PolylineArrowMaterial,exports._shadersPolylineColorAppearanceVS=PolylineColorAppearanceVS,exports._shadersPolylineCommon=PolylineCommon,exports._shadersPolylineDashMaterial=PolylineDashMaterial,exports._shadersPolylineFS=PolylineFS,exports._shadersPolylineGlowMaterial=PolylineGlowMaterial,exports._shadersPolylineMaterialAppearanceVS=PolylineMaterialAppearanceVS,exports._shadersPolylineOutlineMaterial=PolylineOutlineMaterial,exports._shadersPolylineShadowVolumeFS=PolylineShadowVolumeFS,exports._shadersPolylineShadowVolumeMorphFS=PolylineShadowVolumeMorphFS,exports._shadersPolylineShadowVolumeMorphVS=PolylineShadowVolumeMorphVS,exports._shadersPolylineShadowVolumeVS=PolylineShadowVolumeVS,exports._shadersPolylineVS=PolylineVS,exports._shadersRGBToHSB=czm_RGBToHSB,exports._shadersRGBToHSL=czm_RGBToHSL,exports._shadersRGBToXYZ=czm_RGBToXYZ,exports._shadersReinhardTonemapping=ReinhardTonemapping,exports._shadersReprojectWebMercatorFS=ReprojectWebMercatorFS,exports._shadersReprojectWebMercatorVS=ReprojectWebMercatorVS,exports._shadersRimLightingMaterial=RimLightingMaterial,exports._shadersShadowVolumeAppearanceFS=ShadowVolumeAppearanceFS,exports._shadersShadowVolumeAppearanceVS=ShadowVolumeAppearanceVS,exports._shadersShadowVolumeFS=ShadowVolumeFS,exports._shadersSilhouette=Silhouette,exports._shadersSkyAtmosphereCommon=SkyAtmosphereCommon,exports._shadersSkyAtmosphereFS=SkyAtmosphereFS,exports._shadersSkyAtmosphereVS=SkyAtmosphereVS,exports._shadersSkyBoxFS=SkyBoxFS,exports._shadersSkyBoxVS=SkyBoxVS,exports._shadersSlopeRampMaterial=SlopeRampMaterial,exports._shadersStripeMaterial=StripeMaterial,exports._shadersSunFS=SunFS,exports._shadersSunTextureFS=SunTextureFS,exports._shadersSunVS=SunVS,exports._shadersTexturedMaterialAppearanceFS=TexturedMaterialAppearanceFS,exports._shadersTexturedMaterialAppearanceVS=TexturedMaterialAppearanceVS,exports._shadersVector3DTilePolylinesVS=Vector3DTilePolylinesVS,exports._shadersVectorTileVS=VectorTileVS,exports._shadersViewportQuadFS=ViewportQuadFS,exports._shadersViewportQuadVS=ViewportQuadVS,exports._shadersWater=WaterMaterial,exports._shadersXYZToRGB=czm_XYZToRGB,exports._shadersacesTonemapping=czm_acesTonemapping,exports._shadersalphaWeight=czm_alphaWeight,exports._shadersantialias=czm_antialias,exports._shadersapproximateSphericalCoordinates=czm_approximateSphericalCoordinates,exports._shadersbackFacing=czm_backFacing,exports._shadersbranchFreeTernary=czm_branchFreeTernary,exports._shaderscascadeColor=czm_cascadeColor,exports._shaderscascadeDistance=czm_cascadeDistance,exports._shaderscascadeMatrix=czm_cascadeMatrix,exports._shaderscascadeWeights=czm_cascadeWeights,exports._shaderscolumbusViewMorph=czm_columbusViewMorph,exports._shaderscomputePosition=czm_computePosition,exports._shaderscosineAndSine=czm_cosineAndSine,exports._shadersdecompressTextureCoordinates=czm_decompressTextureCoordinates,exports._shadersdegreesPerRadian=czm_degreesPerRadian,exports._shadersdepthClamp=czm_depthClamp,exports._shadersdepthRange=czm_depthRange,exports._shadersdepthRangeStruct=czm_depthRangeStruct,exports._shaderseastNorthUpToEyeCoordinates=czm_eastNorthUpToEyeCoordinates,exports._shadersellipsoid=czm_ellipsoid,exports._shadersellipsoidContainsPoint=czm_ellipsoidContainsPoint,exports._shadersellipsoidWgs84TextureCoordinates=czm_ellipsoidWgs84TextureCoordinates,exports._shadersepsilon1=czm_epsilon1,exports._shadersepsilon2=czm_epsilon2,exports._shadersepsilon3=czm_epsilon3,exports._shadersepsilon4=czm_epsilon4,exports._shadersepsilon5=czm_epsilon5,exports._shadersepsilon6=czm_epsilon6,exports._shadersepsilon7=czm_epsilon7,exports._shadersequalsEpsilon=czm_equalsEpsilon,exports._shaderseyeOffset=czm_eyeOffset,exports._shaderseyeToWindowCoordinates=czm_eyeToWindowCoordinates,exports._shadersfastApproximateAtan=czm_fastApproximateAtan,exports._shadersfog=czm_fog,exports._shadersgammaCorrect=czm_gammaCorrect,exports._shadersgeodeticSurfaceNormal=czm_geodeticSurfaceNormal,exports._shadersgetDefaultMaterial=czm_getDefaultMaterial,exports._shadersgetLambertDiffuse=czm_getLambertDiffuse,exports._shadersgetSpecular=czm_getSpecular,exports._shadersgetWaterNoise=czm_getWaterNoise,exports._shadersgetWgs84EllipsoidEC=czm_getWgs84EllipsoidEC,exports._shadershue=czm_hue,exports._shadersinfinity=czm_infinity,exports._shadersinverseGamma=czm_inverseGamma,exports._shadersisEmpty=czm_isEmpty,exports._shadersisFull=czm_isFull,exports._shaderslatitudeToWebMercatorFraction=czm_latitudeToWebMercatorFraction,exports._shaderslineDistance=czm_lineDistance,exports._shadersluminance=czm_luminance,exports._shadersmaterial=czm_material,exports._shadersmaterialInput=czm_materialInput,exports._shadersmetersPerPixel=czm_metersPerPixel,exports._shadersmodelToWindowCoordinates=czm_modelToWindowCoordinates,exports._shadersmultiplyWithColorBalance=czm_multiplyWithColorBalance,exports._shadersnearFarScalar=czm_nearFarScalar,exports._shadersoctDecode=czm_octDecode,exports._shadersoneOverPi=czm_oneOverPi,exports._shadersoneOverTwoPi=czm_oneOverTwoPi,exports._shaderspackDepth=czm_packDepth,exports._shaderspassCesium3DTile=czm_passCesium3DTile,exports._shaderspassCesium3DTileClassification=czm_passCesium3DTileClassification,exports._shaderspassCesium3DTileClassificationIgnoreShow=czm_passCesium3DTileClassificationIgnoreShow,exports._shaderspassClassification=czm_passClassification,exports._shaderspassCompute=czm_passCompute,exports._shaderspassEnvironment=czm_passEnvironment,exports._shaderspassGlobe=czm_passGlobe,exports._shaderspassOpaque=czm_passOpaque,exports._shaderspassOverlay=czm_passOverlay,exports._shaderspassTerrainClassification=czm_passTerrainClassification,exports._shaderspassTranslucent=czm_passTranslucent,exports._shadersphong=czm_phong,exports._shaderspi=czm_pi,exports._shaderspiOverFour=czm_piOverFour,exports._shaderspiOverSix=czm_piOverSix,exports._shaderspiOverThree=czm_piOverThree,exports._shaderspiOverTwo=czm_piOverTwo,exports._shadersplaneDistance=czm_planeDistance,exports._shaderspointAlongRay=czm_pointAlongRay,exports._shadersradiansPerDegree=czm_radiansPerDegree,exports._shadersray=czm_ray,exports._shadersrayEllipsoidIntersectionInterval=czm_rayEllipsoidIntersectionInterval,exports._shadersraySegment=czm_raySegment,exports._shadersreadDepth=czm_readDepth,exports._shadersreadNonPerspective=czm_readNonPerspective;exports._shadersreverseLogDepth=czm_reverseLogDepth,exports._shaderssampleOctahedralProjection=czm_sampleOctahedralProjection,exports._shaderssaturation=czm_saturation,exports._shaderssceneMode2D=czm_sceneMode2D,exports._shaderssceneMode3D=czm_sceneMode3D,exports._shaderssceneModeColumbusView=czm_sceneModeColumbusView,exports._shaderssceneModeMorphing=czm_sceneModeMorphing,exports._shadersshadowDepthCompare=czm_shadowDepthCompare,exports._shadersshadowParameters=czm_shadowParameters,exports._shadersshadowVisibility=czm_shadowVisibility,exports._shaderssignNotZero=czm_signNotZero,exports._shaderssolarRadius=czm_solarRadius,exports._shaderssphericalHarmonics=czm_sphericalHarmonics,exports._shaderstangentToEyeSpaceMatrix=czm_tangentToEyeSpaceMatrix,exports._shadersthreePiOver2=czm_threePiOver2,exports._shaderstransformPlane=czm_transformPlane,exports._shaderstranslateRelativeToEye=czm_translateRelativeToEye,exports._shaderstranslucentPhong=czm_translucentPhong,exports._shaderstranspose=czm_transpose,exports._shaderstwoPi=czm_twoPi,exports._shadersunpackDepth=czm_unpackDepth,exports._shadersunpackFloat=czm_unpackFloat,exports._shadersvertexLogDepth=czm_vertexLogDepth,exports._shaderswebMercatorMaxLatitude=czm_webMercatorMaxLatitude,exports._shaderswindowToEyeCoordinates=czm_windowToEyeCoordinates,exports._shaderswriteDepthClamp=czm_writeDepthClamp,exports._shaderswriteLogDepth=czm_writeLogDepth,exports._shaderswriteNonPerspective=czm_writeNonPerspective,exports.addBuffer=addBuffer,exports.addDefaults=addDefaults,exports.addExtensionsRequired=addExtensionsRequired,exports.addExtensionsUsed=addExtensionsUsed,exports.addPipelineExtras=addPipelineExtras,exports.addToArray=addToArray,exports.appendForwardSlash=appendForwardSlash,exports.arrayFill=arrayFill,exports.arrayRemoveDuplicates=arrayRemoveDuplicates,exports.arraySlice=arraySlice,exports.barycentricCoordinates=barycentricCoordinates,exports.binarySearch=binarySearch,exports.bitmap_sdf=calcSDF,exports.buildModuleUrl=buildModuleUrl,exports.cancelAnimationFrame=cancelAnimationFramePolyfill,exports.clone=clone,exports.combine=combine,exports.computeFlyToLocationForRectangle=computeFlyToLocationForRectangle,exports.createBillboardPointCallback=createBillboardPointCallback,exports.createCommand=createCommand$2,exports.createDefaultImageryProviderViewModels=createDefaultImageryProviderViewModels,exports.createDefaultTerrainProviderViewModels=createDefaultTerrainProviderViewModels,exports.createGuid=createGuid,exports.createMaterialPropertyDescriptor=createMaterialPropertyDescriptor,exports.createOsmBuildings=createOsmBuildings,exports.createPropertyDescriptor=createPropertyDescriptor,exports.createRawPropertyDescriptor=createRawPropertyDescriptor,exports.createTangentSpaceDebugPrimitive=createTangentSpaceDebugPrimitive,exports.createTaskProcessorWorker=createTaskProcessorWorker,exports.createUniform=createUniform$1,exports.createUniformArray=createUniformArray,exports.createWorldImagery=createWorldImagery,exports.createWorldTerrain=createWorldTerrain,exports.decodeGoogleEarthEnterpriseData=decodeGoogleEarthEnterpriseData,exports.defaultValue=defaultValue,exports.defined=defined,exports.deprecationWarning=deprecationWarning,exports.destroyObject=destroyObject,exports.earcut_2_2_1=earcut,exports.exportKml=exportKml,exports.findAccessorMinMax=findAccessorMinMax,exports.formatError=formatError,exports.freezeRenderState=freezeRenderState,exports.getAbsoluteUri=getAbsoluteUri,exports.getAccessorByteStride=getAccessorByteStride,exports.getBaseUri=getBaseUri,exports.getBinaryAccessor=getBinaryAccessor,exports.getClipAndStyleCode=getClipAndStyleCode,exports.getClippingFunction=getClippingFunction,exports.getComponentReader=getComponentReader,exports.getElement=getElement,exports.getExtensionFromUri=getExtensionFromUri,exports.getFilenameFromUri=getFilenameFromUri,exports.getImagePixels=getImagePixels,exports.getMagic=getMagic,exports.getStringFromTypedArray=getStringFromTypedArray,exports.getTimestamp=getTimestamp$1,exports.graphemesplitter=GraphemeSplitter,exports.hasExtension=hasExtension,exports.heightReferenceOnEntityPropertyChanged=heightReferenceOnEntityPropertyChanged,exports.isBitSet=isBitSet,exports.isBlobUri=isBlobUri,exports.isCrossOriginUrl=isCrossOriginUrl,exports.isDataUri=isDataUri,exports.isLeapYear=isLeapYear,exports.jsep=jsep,exports.kdbush=kdbush,exports.knockout=knockout,exports.knockout_3_5_1=knockout,exports.knockout_es5=knockout_es5,exports.loadAndExecuteScript=loadAndExecuteScript,exports.loadCRN=loadCRN,exports.loadCubeMap=loadCubeMap,exports.loadImageFromTypedArray=loadImageFromTypedArray,exports.loadKTX=loadKTX,exports.measureText=measureText,exports.mergeSort=mergeSort,exports.mersenne_twister=MersenneTwister,exports.modernizeShader=modernizeShader,exports.moveTechniqueRenderStates=moveTechniqueRenderStates,exports.moveTechniquesToExtension=moveTechniquesToExtension,exports.numberOfComponentsForType=numberOfComponentsForType,exports.objectToQuery=objectToQuery,exports.oneTimeWarning=oneTimeWarning,exports.parseGlb=parseGlb,exports.parseResponseHeaders=parseResponseHeaders,exports.pointInsideTriangle=pointInsideTriangle,exports.processModelMaterialsCommon=processModelMaterialsCommon,exports.processPbrMaterials=processPbrMaterials,exports.protobuf_minimal=protobuf,exports.purify=purify,exports.queryToObject=queryToObject,exports.quickselect=quickselect$1,exports.rbush=RBush,exports.readAccessorPacked=readAccessorPacked,exports.removeExtensionsRequired=removeExtensionsRequired,exports.removeExtensionsUsed=removeExtensionsUsed,exports.removePipelineExtras=removePipelineExtras,exports.removeUnusedElements=removeUnusedElements,exports.requestAnimationFrame=requestAnimationFramePolyFill,exports.sampleTerrain=sampleTerrain,exports.sampleTerrainMostDetailed=sampleTerrainMostDetailed,exports.scaleToGeodeticSurface=scaleToGeodeticSurface,exports.sprintf=sprintf,exports.subdivideArray=subdivideArray,exports.subscribeAndEvaluate=subscribeAndEvaluate,exports.topojson=topojson,exports.updateAccessorComponentTypes=updateAccessorComponentTypes,exports.updateVersion=updateVersion,exports.viewerCesium3DTilesInspectorMixin=viewerCesium3DTilesInspectorMixin,exports.viewerCesiumInspectorMixin=viewerCesiumInspectorMixin,exports.viewerDragDropMixin=viewerDragDropMixin,exports.viewerPerformanceWatchdogMixin=viewerPerformanceWatchdogMixin,exports.webGLConstantToGlslType=webGLConstantToGlslType,exports.when=when,exports.wrapFunction=wrapFunction,exports.writeTextToCanvas=writeTextToCanvas,exports.zip=zip,Object.defineProperty(exports,"__esModule",{value:!0})}); diff --git a/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/deflate.js b/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/deflate.js new file mode 100644 index 000000000..d83ac4d61 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/deflate.js @@ -0,0 +1 @@ +!function(e){var h=15,dt=256,p=573,st=256,lt=-2,ct=-5,n=[0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29];function ht(){var c=this;function u(t,e,n){for(var a,i,r=[],_=0,o=1;o<=h;o++)r[o]=_=_+n[o-1]<<1;for(a=0;a<=e;a++)0!==(i=t[2*a+1])&&(t[2*a]=function(t,e){for(var n=0;n|=1&t,t>>>=1,n<<=1,0<--e;);return n>>>1}(r[i]++,i))}c.build_tree=function(t){var e,n,a,i=c.dyn_tree,r=c.stat_desc.static_tree,_=c.stat_desc.elems,o=-1;for(t.heap_len=0,t.heap_max=p,e=0;e<_;e++)0!==i[2*e]?(t.heap[++t.heap_len]=o=e,t.depth[e]=0):i[2*e+1]=0;for(;t.heap_len<2;)i[2*(a=t.heap[++t.heap_len]=o<2?++o:0)]=1,t.depth[a]=0,t.opt_len--,r&&(t.static_len-=r[2*a+1]);for(c.max_code=o,e=Math.floor(t.heap_len/2);1<=e;e--)t.pqdownheap(i,e);for(a=_;e=t.heap[1],t.heap[1]=t.heap[t.heap_len--],t.pqdownheap(i,1),n=t.heap[1],t.heap[--t.heap_max]=e,t.heap[--t.heap_max]=n,i[2*a]=i[2*e]+i[2*n],t.depth[a]=Math.max(t.depth[e],t.depth[n])+1,i[2*e+1]=i[2*n+1]=a,t.heap[1]=a++,t.pqdownheap(i,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t){for(var e,n,a,i,r,_=c.dyn_tree,o=c.stat_desc.static_tree,u=c.stat_desc.extra_bits,f=c.stat_desc.extra_base,d=c.stat_desc.max_length,s=0,l=0;l<=h;l++)t.bl_count[l]=0;for(_[2*t.heap[t.heap_max]+1]=0,e=t.heap_max+1;e<p;e++)d<(l=_[2*_[2*(n=t.heap[e])+1]+1]+1)&&(l=d,s++),_[2*n+1]=l,n>c.max_code||(t.bl_count[l]++,i=0,f<=n&&(i=u[n-f]),r=_[2*n],t.opt_len+=r*(l+i),o&&(t.static_len+=r*(o[2*n+1]+i)));if(0!==s){do{for(l=d-1;0===t.bl_count[l];)l--}while(t.bl_count[l]--,t.bl_count[l+1]+=2,t.bl_count[d]--,0<(s-=2));for(l=d;0!==l;l--)for(n=t.bl_count[l];0!==n;)(a=t.heap[--e])>c.max_code||(_[2*a+1]!=l&&(t.opt_len+=(l-_[2*a+1])*_[2*a],_[2*a+1]=l),n--)}}(t),u(i,c.max_code,t.bl_count)}}function pt(t,e,n,a,i){var r=this;r.static_tree=t,r.extra_bits=e,r.extra_base=n,r.elems=a,r.max_length=i}function t(t,e,n,a,i){var r=this;r.good_length=t,r.max_lazy=e,r.nice_length=n,r.max_chain=a,r.func=i}ht._length_code=[0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28],ht.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],ht.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],ht.d_code=function(t){return t<256?n[t]:n[256+(t>>>7)]},ht.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ht.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ht.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ht.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],pt.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8],pt.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5],pt.static_l_desc=new pt(pt.static_ltree,ht.extra_lbits,257,286,h),pt.static_d_desc=new pt(pt.static_dtree,ht.extra_dbits,0,30,h),pt.static_bl_desc=new pt(null,ht.extra_blbits,0,19,7);var a,xt=[new t(0,0,0,0,0),new t(4,4,8,4,1),new t(4,5,16,8,1),new t(4,6,32,32,1),new t(4,4,16,16,2),new t(8,16,32,32,2),new t(8,16,128,128,2),new t(8,32,128,256,2),new t(32,128,258,1024,2),new t(32,258,258,4096,2)],vt=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],bt=113,gt=666,wt=258,mt=262;function yt(t,e,n,a){var i=t[2*e],t=t[2*n];return i<t||i==t&&a[e]<=a[n]}function i(){var o,u,f,d,l,s,c,h,i,p,x,v,b,_,g,w,m,y,M,A,U,E,k,z,q,D,I,P,S,L,j,B,C,F,G,H,J,r,K,a,N,O=this,Q=new ht,R=new ht,T=new ht;function V(){for(var t=0;t<286;t++)j[2*t]=0;for(t=0;t<30;t++)B[2*t]=0;for(t=0;t<19;t++)C[2*t]=0;j[512]=1,O.opt_len=O.static_len=0,H=r=0}function W(t,e){var n,a,i=-1,r=t[1],_=0,o=7,u=4;for(0===r&&(o=138,u=3),t[2*(e+1)+1]=65535,n=0;n<=e;n++)a=r,r=t[2*(n+1)+1],++_<o&&a==r||(_<u?C[2*a]+=_:0!==a?(a!=i&&C[2*a]++,C[32]++):_<=10?C[34]++:C[36]++,i=a,u=(_=0)===r?(o=138,3):a==r?(o=6,3):(o=7,4))}function X(t){O.pending_buf[O.pending++]=t}function Y(t){X(255&t),X(t>>>8&255)}function Z(t,e){var n=e;16-n<N?(Y(a|=(e=t)<<N&65535),a=e>>>16-N,N+=n-16):(a|=t<<N&65535,N+=n)}function $(t,e){t*=2;Z(65535&e[t],65535&e[1+t])}function tt(t,e){var n,a,i=-1,r=t[1],_=0,o=7,u=4;for(0===r&&(o=138,u=3),n=0;n<=e;n++)if(a=r,r=t[2*(n+1)+1],!(++_<o&&a==r)){if(_<u)for(;$(a,C),0!=--_;);else 0!==a?(a!=i&&($(a,C),_--),$(16,C),Z(_-3,2)):_<=10?($(17,C),Z(_-3,3)):($(18,C),Z(_-11,7));i=a,u=(_=0)===r?(o=138,3):a==r?(o=6,3):(o=7,4)}}function et(){16==N?(Y(a),N=a=0):8<=N&&(X(255&a),a>>>=8,N-=8)}function nt(t,e){var n,a;if(O.pending_buf[J+2*H]=t>>>8&255,O.pending_buf[J+2*H+1]=255&t,O.pending_buf[F+H]=255&e,H++,0===t?j[2*e]++:(r++,t--,j[2*(ht._length_code[e]+dt+1)]++,B[2*ht.d_code(t)]++),0==(8191&H)&&2<I){for(n=8*H,t=U-m,a=0;a<30;a++)n+=B[2*a]*(5+ht.extra_dbits[a]);if(n>>>=3,r<Math.floor(H/2)&&n<Math.floor(t/2))return!0}return H==G-1}function at(t,e){var n,a,i,r,_=0;if(0!==H)for(;n=O.pending_buf[J+2*_]<<8&65280|255&O.pending_buf[J+2*_+1],a=255&O.pending_buf[F+_],_++,0==n?$(a,t):($((i=ht._length_code[a])+dt+1,t),0!==(r=ht.extra_lbits[i])&&Z(a-=ht.base_length[i],r),$(i=ht.d_code(--n),e),0!==(r=ht.extra_dbits[i])&&Z(n-=ht.base_dist[i],r)),_<H;);$(st,t),K=t[513]}function it(){8<N?Y(a):0<N&&X(255&a),N=a=0}function rt(t,e,n){Z(0+(n?1:0),3),n=t,t=e,e=!0,it(),K=8,e&&(Y(t),Y(~t)),O.pending_buf.set(h.subarray(n,n+t),O.pending),O.pending+=t}function e(t,e,n){var a,i,r=0;0<I?(Q.build_tree(O),R.build_tree(O),r=function(){var t;for(W(j,Q.max_code),W(B,R.max_code),T.build_tree(O),t=18;3<=t&&0===C[2*ht.bl_order[t]+1];t--);return O.opt_len+=3*(t+1)+5+5+4,t}(),a=O.opt_len+3+7>>>3,(i=O.static_len+3+7>>>3)<=a&&(a=i)):a=i=e+5,e+4<=a&&-1!=t?rt(t,e,n):i==a?(Z(2+(n?1:0),3),at(pt.static_ltree,pt.static_dtree)):(Z(4+(n?1:0),3),function(t,e,n){var a;for(Z(t-257,5),Z(e-1,5),Z(n-4,4),a=0;a<n;a++)Z(C[2*ht.bl_order[a]+1],3);tt(j,t-1),tt(B,e-1)}(Q.max_code+1,R.max_code+1,r+1),at(j,B)),V(),n&&it()}function _t(t){e(0<=m?m:-1,U-m,t),m=U,o.flush_pending()}function ot(){var t,e,n,a;do{if(0===(a=i-k-U)&&0===U&&0===k)a=l;else if(-1==a)a--;else if(l+l-mt<=U){for(h.set(h.subarray(l,l+l),0),E-=l,U-=l,m-=l,t=b,n=t;e=65535&x[--n],x[n]=l<=e?e-l:0,0!=--t;);for(t=l,n=t;e=65535&p[--n],p[n]=l<=e?e-l:0,0!=--t;);a+=l}if(0===o.avail_in)return}while(t=o.read_buf(h,U+k,a),3<=(k+=t)&&(v=((v=255&h[U])<<w^255&h[U+1])&g),k<mt&&0!==o.avail_in)}function ut(t){var e,n,a=q,i=U,r=z,_=l-mt<U?U-(l-mt):0,o=L,u=c,f=U+wt,d=h[i+r-1],s=h[i+r];S<=z&&(a>>=2),k<o&&(o=k);do{if(h[(e=t)+r]==s&&h[e+r-1]==d&&h[e]==h[i]&&h[++e]==h[i+1]){for(i+=2,e++;h[++i]==h[++e]&&h[++i]==h[++e]&&h[++i]==h[++e]&&h[++i]==h[++e]&&h[++i]==h[++e]&&h[++i]==h[++e]&&h[++i]==h[++e]&&h[++i]==h[++e]&&i<f;);if(n=wt-(f-i),i=f-wt,r<n){if(E=t,o<=(r=n))break;d=h[i+r-1],s=h[i+r]}}}while((t=65535&p[t&u])>_&&0!=--a);return r<=k?r:k}function ft(t){return t.total_in=t.total_out=0,t.msg=null,O.pending=0,O.pending_out=0,u=bt,d=0,Q.dyn_tree=j,Q.stat_desc=pt.static_l_desc,R.dyn_tree=B,R.stat_desc=pt.static_d_desc,T.dyn_tree=C,T.stat_desc=pt.static_bl_desc,N=a=0,K=8,V(),function(){var t;for(i=2*l,t=x[b-1]=0;t<b-1;t++)x[t]=0;D=xt[I].max_lazy,S=xt[I].good_length,L=xt[I].nice_length,q=xt[I].max_chain,y=z=2,v=A=k=m=U=0}(),0}O.depth=[],O.bl_count=[],O.heap=[],j=[],B=[],C=[],O.pqdownheap=function(t,e){for(var n=O.heap,a=n[e],i=e<<1;i<=O.heap_len&&(i<O.heap_len&&yt(t,n[i+1],n[i],O.depth)&&i++,!yt(t,a,n[i],O.depth));)n[e]=n[i],e=i,i<<=1;n[e]=a},O.deflateInit=function(t,e,n,a,i,r){return a=a||8,i=i||8,r=r||0,t.msg=null,-1==e&&(e=6),i<1||9<i||8!=a||n<9||15<n||e<0||9<e||r<0||2<r?lt:(t.dstate=O,c=(l=1<<(s=n))-1,g=(b=1<<(_=i+7))-1,w=Math.floor((_+3-1)/3),h=new Uint8Array(2*l),p=[],x=[],G=1<<i+6,O.pending_buf=new Uint8Array(4*G),f=4*G,J=Math.floor(G/2),F=3*G,I=e,P=r,ft(t))},O.deflateEnd=function(){return 42!=u&&u!=bt&&u!=gt?lt:(O.pending_buf=null,h=p=x=null,O.dstate=null,u==bt?-3:0)},O.deflateParams=function(t,e,n){var a=0;return-1==e&&(e=6),e<0||9<e||n<0||2<n?lt:(xt[I].func!=xt[e].func&&0!==t.total_in&&(a=t.deflate(1)),I!=e&&(D=xt[I=e].max_lazy,S=xt[I].good_length,L=xt[I].nice_length,q=xt[I].max_chain),P=n,a)},O.deflateSetDictionary=function(t,e,n){var a,i=n,r=0;if(!e||42!=u)return lt;if(i<3)return 0;for(l-mt<i&&(r=n-(i=l-mt)),h.set(e.subarray(r,r+i),0),m=U=i,v=((v=255&h[0])<<w^255&h[1])&g,a=0;a<=i-3;a++)v=(v<<w^255&h[a+2])&g,p[a&c]=x[v],x[v]=a;return 0},O.deflate=function(t,e){var n,a,i,r,_;if(4<e||e<0)return lt;if(!t.next_out||!t.next_in&&0!==t.avail_in||u==gt&&4!=e)return t.msg=vt[4],lt;if(0===t.avail_out)return t.msg=vt[7],ct;if(o=t,i=d,d=e,42==u&&(_=8+(s-8<<4)<<8,3<(a=(I-1&255)>>1)&&(a=3),_|=a<<6,0!==U&&(_|=32),u=bt,X((_=_+=31-_%31)>>8&255),X(255&_)),0!==O.pending){if(o.flush_pending(),0===o.avail_out)return d=-1,0}else if(0===o.avail_in&&e<=i&&4!=e)return o.msg=vt[7],ct;if(u==gt&&0!==o.avail_in)return t.msg=vt[7],ct;if(0!==o.avail_in||0!==k||0!=e&&u!=gt){switch(r=-1,xt[I].func){case 0:r=function(t){var e,n=65535;for(f-5<n&&(n=f-5);;){if(k<=1){if(ot(),0===k&&0==t)return 0;if(0===k)break}if(U+=k,k=0,e=m+n,(0===U||e<=U)&&(k=U-e,U=e,_t(!1),0===o.avail_out))return 0;if(l-mt<=U-m&&(_t(!1),0===o.avail_out))return 0}return _t(4==t),0===o.avail_out?4==t?2:0:4==t?3:1}(e);break;case 1:r=function(t){for(var e,n=0;;){if(k<mt){if(ot(),k<mt&&0==t)return 0;if(0===k)break}if(3<=k&&(v=(v<<w^255&h[U+2])&g,n=65535&x[v],p[U&c]=x[v],x[v]=U),0!==n&&(U-n&65535)<=l-mt&&2!=P&&(y=ut(n)),3<=y)if(e=nt(U-E,y-3),k-=y,y<=D&&3<=k){for(y--;v=(v<<w^255&h[++U+2])&g,n=65535&x[v],p[U&c]=x[v],x[v]=U,0!=--y;);U++}else U+=y,y=0,v=((v=255&h[U])<<w^255&h[U+1])&g;else e=nt(0,255&h[U]),k--,U++;if(e&&(_t(!1),0===o.avail_out))return 0}return _t(4==t),0===o.avail_out?4==t?2:0:4==t?3:1}(e);break;case 2:r=function(t){for(var e,n,a=0;;){if(k<mt){if(ot(),k<mt&&0==t)return 0;if(0===k)break}if(3<=k&&(v=(v<<w^255&h[U+2])&g,a=65535&x[v],p[U&c]=x[v],x[v]=U),z=y,M=E,y=2,0!==a&&z<D&&(U-a&65535)<=l-mt&&(2!=P&&(y=ut(a)),y<=5&&(1==P||3==y&&4096<U-E)&&(y=2)),3<=z&&y<=z){for(n=U+k-3,e=nt(U-1-M,z-3),k-=z-1,z-=2;++U<=n&&(v=(v<<w^255&h[U+2])&g,a=65535&x[v],p[U&c]=x[v],x[v]=U),0!=--z;);if(A=0,y=2,U++,e&&(_t(!1),0===o.avail_out))return 0}else if(0!==A){if((e=nt(0,255&h[U-1]))&&_t(!1),U++,k--,0===o.avail_out)return 0}else A=1,U++,k--}return 0!==A&&(e=nt(0,255&h[U-1]),A=0),_t(4==t),0===o.avail_out?4==t?2:0:4==t?3:1}(e)}if(2!=r&&3!=r||(u=gt),0==r||2==r)return 0===o.avail_out&&(d=-1),0;if(1==r){if(1==e)Z(2,3),$(st,pt.static_ltree),et(),1+K+10-N<9&&(Z(2,3),$(st,pt.static_ltree),et()),K=7;else if(rt(0,0,!1),3==e)for(n=0;n<b;n++)x[n]=0;if(o.flush_pending(),0===o.avail_out)return d=-1,0}}return 4!=e?0:1}}function r(){var t=this;t.next_in_index=0,t.next_out_index=0,t.avail_in=0,t.total_in=0,t.avail_out=0,t.total_out=0}function _(t){var o=new r,u=new Uint8Array(512);void 0===t&&(t=-1),o.deflateInit(t),o.next_out=u,this.append=function(t,e){var n,a=[],i=0,r=0,_=0;if(t.length){o.next_in_index=0,o.next_in=t,o.avail_in=t.length;do{if(o.next_out_index=0,o.avail_out=512,0!=o.deflate(0))throw"deflating: "+o.msg}while(o.next_out_index&&(512==o.next_out_index?a.push(new Uint8Array(u)):a.push(new Uint8Array(u.subarray(0,o.next_out_index)))),_+=o.next_out_index,e&&0<o.next_in_index&&o.next_in_index!=i&&(e(o.next_in_index),i=o.next_in_index),0<o.avail_in||0===o.avail_out);return n=new Uint8Array(_),a.forEach(function(t){n.set(t,r),r+=t.length}),n}},this.flush=function(){var t,e,n=[],a=0,i=0;do{if(o.next_out_index=0,o.avail_out=512,1!=(t=o.deflate(4))&&0!=t)throw"deflating: "+o.msg}while(0<512-o.avail_out&&n.push(new Uint8Array(u.subarray(0,o.next_out_index))),i+=o.next_out_index,0<o.avail_in||0===o.avail_out);return o.deflateEnd(),e=new Uint8Array(i),n.forEach(function(t){e.set(t,a),a+=t.length}),e}}r.prototype={deflateInit:function(t,e){return this.dstate=new i,e=e||h,this.dstate.deflateInit(this,t,e)},deflate:function(t){return this.dstate?this.dstate.deflate(this,t):lt},deflateEnd:function(){if(!this.dstate)return lt;var t=this.dstate.deflateEnd();return this.dstate=null,t},deflateParams:function(t,e){return this.dstate?this.dstate.deflateParams(this,t,e):lt},deflateSetDictionary:function(t,e){return this.dstate?this.dstate.deflateSetDictionary(this,t,e):lt},read_buf:function(t,e,n){var a=this,i=a.avail_in;return n<i&&(i=n),0===i?0:(a.avail_in-=i,t.set(a.next_in.subarray(a.next_in_index,a.next_in_index+i),e),a.next_in_index+=i,a.total_in+=i,i)},flush_pending:function(){var t=this,e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}},e.zip?e.zip.Deflater=_:(a=new _,e.addEventListener("message",function(t){t=t.data;t.init&&(a=new _(t.level),e.postMessage({oninit:!0})),t.append&&e.postMessage({onappend:!0,data:a.append(t.data,function(t){e.postMessage({progress:!0,current:t})})}),t.flush&&e.postMessage({onflush:!0,data:a.flush()})},!1))}(this); \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/draco_decoder.js b/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/draco_decoder.js new file mode 100644 index 000000000..52d5c7d88 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/draco_decoder.js @@ -0,0 +1,33 @@ +var DracoDecoderModule = function(DracoDecoderModule) { + DracoDecoderModule = DracoDecoderModule || {}; + +var Module=typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:{};var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=(function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});Module["onModuleParsed"]=(function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{throw new Error("not compiled for this environment")}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);else if(returnType==="boolean")ret=Boolean(ret);if(stack!==0){stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY<HEAP32[DYNAMICTOP_PTR>>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+17904;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,8BIAADgTAAAYAAAAAAAAAMgSAABfEwAA8BIAAHwTAAAYAAAAAAAAAPASAAClEwAAQAAAAAAAAADIEgAAwRMAAPASAABVFAAAMAAAAAAAAADIEgAAdxQAAPASAACcFAAAMAAAAAAAAADwEgAAMSEAAFgAAAAAAAAA8BIAAMwUAACQAAAAAAAAAPASAAAlFQAAoAAAAAAAAADwEgAAeRUAALAAAAAAAAAA8BIAAK0VAADAAAAAAAAAAMgSAADYFQAA8BIAAPwVAADYAAAAAAAAAMgSAACaFgAA8BIAADgXAADwAAAAAAAAAPASAADQFwAAkAAAAAAAAADwEgAAWRgAAPAAAAAAAAAA8BIAAPMYAADwAAAAAAAAAPASAACFGQAA8AAAAAAAAADwEgAAKxoAAPAAAAAAAAAA8BIAAMYaAADwAAAAAAAAAPASAABcGwAAYAEAAAAAAADIEgAABxwAAPASAACyHAAAeAEAAAAAAADwEgAAVx0AAJAAAAAAAAAA8BIAAO0dAAB4AQAAAAAAAPASAACUHgAAeAEAAAAAAADwEgAAMx8AAHgBAAAAAAAA8BIAAOYfAAB4AQAAAAAAAPASAACOIAAAeAEAAAAAAADwEgAA8S0AAHAAAAAAAAAA8BIAAF0hAAD4AQAAAAAAAPASAADOIQAAoAAAAAAAAADwEgAAOiIAABgCAAAAAAAAyBIAAPAiAADwEgAApiMAADACAAAAAAAA8BIAAFYkAAD4AQAAAAAAAPASAAD3JAAAUAIAAAAAAADIEgAAuiUAAPASAAB9JgAAaAIAAAAAAADwEgAAOicAAPgBAAAAAAAA8BIAAOgnAACIAgAAAAAAAPASAABMKAAAoAAAAAAAAADwEgAAqygAAKgCAAAAAAAAyBIAAFQpAADwEgAA/SkAAMACAAAAAAAA8BIAAKAqAACIAgAAAAAAAPASAAA0KwAA4AIAAAAAAADIEgAA6isAAPASAACgLAAA+AIAAAAAAADwEgAAUC0AAIgCAAAAAAAA8BIAABwuAABwAAAAAAAAAPASAAC0LgAA2AMAAAAAAADwEgAAyi4AABgDAAAAAAAA8BIAALgxAACQAwAAAAAAAMgSAADrLgAA8BIAADMvAABgAwAAAAAAAMgSAAD9LwAAyBIAABcwAADwEgAAUjAAAGADAAAAAAAA8BIAAPswAABgAwAAAAAAAMgSAAAEMgAA8BIAADIyAACQAwAAAAAAAPASAACIMgAAkAMAAAAAAADwEgAA9TIAABgDAAAAAAAA8BIAANsyAABgAwAAAAAAAMgSAAAVMwAA8BIAAEg0AADYAwAAAAAAAPASAABqNAAA2AMAAAAAAADwEgAAkDQAABAEAAAAAAAAyBIAAJ40AADIEgAAsT4AAPASAAARPwAAMAQAAAAAAADwEgAAvj4AAEAEAAAAAAAAyBIAAN8+AADwEgAA7D4AACAEAAAAAAAA8BIAADM/AAAYBAAAAAAAAPASAABDPwAAWAQAAAAAAADwEgAAeD8AADAEAAAAAAAA8BIAAFQ/AAB4BAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAACAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAAIAAAACQAAAAYAAAAAAAAAWAAAAAkAAAAKAAAAAgAAAAoAAAADAAAABAAAAAsAAAAMAAAABQAAAP////8AAAAAYAAAAAsAAAAMAAAAAQAAAA0AAAAOAAAABQAAAAMAAAAEAAAADwAAABAAAAARAAAABwAAAAEAAAAAAAAAcAAAAA0AAAAOAAAABgAAAAoAAAADAAAABAAAABIAAAAMAAAABwAAAAgAAAABAAAACAAAABMAAAAAAAAAkAAAAA8AAAAQAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAACAAAAADwAAABEAAAANAAAACQAAAA4AAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAABAAAAAAAAAEABAAAPAAAAEgAAAA8AAAAJAAAAEAAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAIAAAAAAAAAMAEAAA8AAAATAAAAEQAAAAkAAAASAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAwAAAAAAAAAgAQAAFAAAABUAAAATAAAACQAAABQAAAAKAAAAFAAAABUAAAALAAAADAAAABcAAAAEAAAAAAAAABABAAAWAAAAFwAAABUAAAAJAAAAFgAAABcAAAAYAAAAGQAAAAsAAAAMAAAAGgAAAAUAAAAAAAAA8AAAAA8AAAAYAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAADgAAAAGQAAABoAAAAYAAAACQAAABkAAAAaAAAAGwAAABwAAAALAAAADAAAAB0AAAAGAAAAAAAAANgAAAAbAAAAHAAAAAEAAAAbAAAAAQAAAAAAAADIAAAAGwAAAB0AAAAeAAAAGwAAAAIAAAAAAAAAAAEAAB4AAAAfAAAAHAAAAAkAAAAdAAAAHgAAAB8AAAAgAAAACwAAAAwAAAAhAAAABwAAAAAAAADIAQAADwAAACAAAAAfAAAACQAAACAAAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAAIAAAAAAAAALgBAAAPAAAAIQAAACEAAAAJAAAAIgAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAkAAAAAAAAAqAEAACIAAAAjAAAAIwAAAAkAAAAkAAAACgAAABQAAAAVAAAACwAAAAwAAAAiAAAACgAAAAAAAACYAQAAJAAAACUAAAAlAAAACQAAACYAAAAnAAAAIwAAACQAAAALAAAADAAAACUAAAALAAAAAAAAAHgBAAAPAAAAJgAAAAEAAAAJAAAAAQAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAEAAAAAAAAAaAEAACcAAAAoAAAAKAAAAAkAAAApAAAAKgAAACYAAAAnAAAACwAAAAwAAAAoAAAADAAAAAAAAABgAQAAKQAAACoAAAABAAAAKwAAAAEAAAAAAAAAUAEAACkAAAArAAAAKQAAACsAAAADAAAAAAAAAIgBAAAsAAAALQAAACwAAAAJAAAALQAAAC4AAAAqAAAAKwAAAAsAAAAMAAAALAAAAA0AAAAAAAAA2AEAAA0AAAAuAAAACQAAAAoAAAADAAAACgAAABIAAAAMAAAABwAAAAsAAAACAAAALwAAAC0AAAAAAAAAeAIAAC8AAAAwAAAAMAAAADEAAAAyAAAAMwAAAC4AAAAvAAAANAAAADUAAAAwAAAADgAAAAAAAADoAQAALwAAADEAAAA2AAAANwAAADgAAAA5AAAAMQAAADIAAAA6AAAAOwAAADMAAAAPAAAAAAAAAFgCAAAyAAAAMwAAADwAAAA3AAAAPQAAAD4AAAA0AAAANQAAADoAAAA7AAAANgAAABAAAAAAAAAAQAIAADQAAAA1AAAANwAAAD8AAAAEAAAAAAAAACACAAA2AAAANwAAAEAAAAA3AAAAQQAAAEIAAAA4AAAAOQAAADoAAAA7AAAAOgAAABEAAAAAAAAACAIAADgAAAA5AAAAOwAAAEMAAAAFAAAAAAAAAOgCAAA6AAAAOwAAAEQAAAAxAAAARQAAAEYAAAA8AAAAPQAAADQAAAA1AAAAPgAAABIAAAAAAAAA0AIAADwAAAA9AAAAPwAAAEcAAAAGAAAAAAAAALACAAA+AAAAPwAAAEgAAAAxAAAASQAAAEoAAABAAAAAQQAAADQAAAA1AAAAQgAAABMAAAAAAAAAmAIAAEAAAABBAAAAQwAAAEsAAAAHAAAAAAAAAAgDAABCAAAAQwAAAAwAAAAKAAAAAwAAAA0AAAASAAAADAAAAAcAAAAOAAAAAQAAAAgAAABEAAAATAAAAEUAAAAAAAAAGAMAAEQAAABFAAAATQAAAE4AAAABAAAATwAAAFAAAABRAAAAUgAAAFMAAABGAAAARwAAAAEAAAAAAAAAKAMAAEYAAABHAAAATQAAAFQAAABIAAAATwAAAFAAAABRAAAAVQAAAFYAAABJAAAASgAAAFcAAAAAAAAAOAMAAEgAAABJAAAASwAAAEwAAABNAAAATgAAAFgAAABZAAAAWgAAAFsAAAD/////AAAAAFADAABKAAAASwAAAE8AAABcAAAAAAAAAEgDAABMAAAATQAAAE4AAAD/////AAAAAHADAABPAAAAUAAAAFAAAABdAAAAAAAAAGgDAABRAAAAUgAAAFMAAAAAAAAAgAMAAFQAAABVAAAAUQAAAF4AAAAAAAAAmAMAAFYAAABXAAAAUgAAAFMAAABUAAAAVQAAAF8AAABgAAAAYQAAAGIAAAAAAAAAqAMAAFgAAABZAAAAVgAAAFcAAABYAAAAWQAAAGMAAABkAAAAZQAAAGYAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAAC4AwAARAAAAFoAAABNAAAATgAAAFoAAABPAAAAUAAAAFEAAABSAAAAUwAAAEYAAABHAAAAZwAAAAAAAADIAwAAWwAAAFwAAABbAAAAaAAAAAAAAADYAwAARAAAAF0AAABpAAAATgAAAAEAAABqAAAAUAAAAFEAAABSAAAAAAAAAOADAABEAAAAXgAAAGkAAABOAAAAXAAAAGsAAABQAAAAUQAAAFIAAAAAAAAA8AMAAEQAAABfAAAAaQAAAE4AAABdAAAAbAAAAFAAAABRAAAAUgAAAP//////////AAAAAAAEAABgAAAAYQAAAAgAAAADAAAA/////wAAAAAQBAAAYgAAAGMAAAAJAAAABAAAANQOAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAOBBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVA8AAAUAAAAAAAAAAAAAAG0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQAAAA6EEAAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAAAAAAgBAAAZAAAAGUAAABmAAAAZwAAABMAAAABAAAAAQAAAAMAAAAAAAAASAQAAGQAAABoAAAAZgAAAGcAAAATAAAAAgAAAAIAAAAEAAAAAAAAAFgEAABpAAAAagAAAG4AAAAAAAAAaAQAAGkAAABrAAAAbgAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAEtkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoATWV0aG9kIG5vdCBzdXBwb3J0ZWQuIAoAVmVyc2lvbiBub3Qgc3VwcG9ydGVkLiAKAE41ZHJhY28yM0tkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0RlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4ASW5wdXQgaXMgbm90IGEgbWVzaC4ASW5wdXQgaXMgbm90IGEgcG9pbnQgY2xvdWQuAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMTFNZXNoRGVjb2RlckUATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRGVjb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxEZWNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU180MU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFByZWRpY3RpdmVEZWNvZGVyRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZURlY29kZXJFRUUATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWREZWNvZGVyRQBGYWlsZWQgdG8gcGFyc2UgRHJhY28gaGVhZGVyLgBEUkFDTwBOb3QgYSBEcmFjbyBmaWxlLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBVc2luZyBpbmNvbXBhdGlibGUgZGVjb2RlciBmb3IgdGhlIGlucHV0IGdlb21ldHJ5LgBVbmtub3duIG1ham9yIHZlcnNpb24uAFVua25vd24gbWlub3IgdmVyc2lvbi4ARmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIGRlY29kZXIuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRGVjb2RlckUATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvNE1lc2hFAE41ZHJhY28xMFBvaW50Q2xvdWRFAEZsb2F0UG9pbnRzVHJlZURlY29kZXI6IGNvbXByZXNzaW9uIGxldmVsICVpIG5vdCBzdXBwb3J0ZWQuCgBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOADAxMjM0NTY3ODlBQkNERUYuAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAJWQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){___syscall146.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){Module["abort"]()}var _llvm_ceil_f32=Math_ceil;var _llvm_floor_f64=Math_floor;function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_viii":invoke_viii,"invoke_viiii":invoke_viiii,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___resumeException":___resumeException,"___setErrNo":___setErrNo,"___syscall140":___syscall140,"___syscall146":___syscall146,"___syscall54":___syscall54,"___syscall6":___syscall6,"_abort":_abort,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_llvm_ceil_f32":_llvm_ceil_f32,"_llvm_floor_f64":_llvm_floor_f64,"_llvm_trap":_llvm_trap,"flush_NO_FILESYSTEM":flush_NO_FILESYSTEM,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};// EMSCRIPTEN_START_ASM +var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0;var H=0;var I=global.Math.floor;var J=global.Math.abs;var K=global.Math.sqrt;var L=global.Math.pow;var M=global.Math.cos;var N=global.Math.sin;var O=global.Math.tan;var P=global.Math.acos;var Q=global.Math.asin;var R=global.Math.atan;var S=global.Math.atan2;var T=global.Math.exp;var U=global.Math.log;var V=global.Math.ceil;var W=global.Math.imul;var X=global.Math.min;var Y=global.Math.max;var Z=global.Math.clz32;var _=global.Math.fround;var $=env.abort;var aa=env.assert;var ba=env.enlargeMemory;var ca=env.getTotalMemory;var da=env.abortOnCannotGrowMemory;var ea=env.invoke_ii;var fa=env.invoke_iii;var ga=env.invoke_iiii;var ha=env.invoke_iiiiiii;var ia=env.invoke_v;var ja=env.invoke_vi;var ka=env.invoke_vii;var la=env.invoke_viii;var ma=env.invoke_viiii;var na=env.invoke_viiiii;var oa=env.invoke_viiiiii;var pa=env.__ZSt18uncaught_exceptionv;var qa=env.___cxa_allocate_exception;var ra=env.___cxa_find_matching_catch;var sa=env.___cxa_pure_virtual;var ta=env.___cxa_throw;var ua=env.___gxx_personality_v0;var va=env.___resumeException;var wa=env.___setErrNo;var xa=env.___syscall140;var ya=env.___syscall146;var za=env.___syscall54;var Aa=env.___syscall6;var Ba=env._abort;var Ca=env._emscripten_memcpy_big;var Da=env._llvm_ceil_f32;var Ea=env._llvm_floor_f64;var Fa=env._llvm_trap;var Ga=env.flush_NO_FILESYSTEM;var Ha=_(0);const Ia=_(0);function Ja(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +// EMSCRIPTEN_START_FUNCS +function wc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0<o>>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0<o>>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=262144){if((p|0)!=1048576)f[w>>2]=x+1048576}else Eg(n,262144-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0<w>>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>262144){g=0;r=38;break}if(x>>>0<w>>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==262144|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function xc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0<o>>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0<o>>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=65536){if((p|0)!=262144)f[w>>2]=x+262144}else Eg(n,65536-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0<w>>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>65536){g=0;r=38;break}if(x>>>0<w>>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==65536|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function yc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0<o>>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0<o>>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=32768){if((p|0)!=131072)f[w>>2]=x+131072}else Eg(n,32768-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0<w>>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>32768){g=0;r=38;break}if(x>>>0<w>>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==32768|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){f[m+12>>2]=k;Ko(k)}Ko(m)}m=f[l+68>>2]|0;if(m|0){f[l+72>>2]=m;Ko(m)}m=l+64|0;k=f[m>>2]|0;f[m>>2]=0;if(k|0){m=f[k>>2]|0;if(m|0){f[k+4>>2]=m;Ko(m)}Ko(k)}Ko(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)==(g|0))n=g;else{o=g;p=j;q=19}}else{o=e;p=h;q=19}if((q|0)==19){q=p;do{q=q+-4|0;p=f[q>>2]|0;f[q>>2]=0;if(p|0){h=p+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){f[e+12>>2]=h;Ko(h)}Ko(e)}e=f[p+68>>2]|0;if(e|0){f[p+72>>2]=e;Ko(e)}e=p+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){f[h+4>>2]=e;Ko(e)}Ko(h)}Ko(p)}}while((q|0)!=(o|0));n=o}f[c>>2]=n;n=f[a+4>>2]|0;if(n|0)hg(n,i);a:do if((d|0)<5){i=f[a+20+(d*12|0)>>2]|0;n=a+20+(d*12|0)+4|0;c=f[n>>2]|0;o=c;b:do if((i|0)==(c|0))r=i;else{q=i;while(1){if((f[q>>2]|0)==(b|0)){r=q;break b}q=q+4|0;if((q|0)==(c|0))break a}}while(0);if((r|0)!=(c|0)){i=r+4|0;q=o-i|0;if(q|0)Rj(r|0,i|0,q|0)|0;f[n>>2]=r+(q>>2<<2)}}while(0);r=f[a+24>>2]|0;d=f[a+20>>2]|0;q=d;if((r|0)!=(d|0)){i=r-d>>2;d=0;do{r=q+(d<<2)|0;p=f[r>>2]|0;if((p|0)>(b|0))f[r>>2]=p+-1;d=d+1|0}while(d>>>0<i>>>0)}i=f[a+36>>2]|0;d=f[a+32>>2]|0;q=d;if((i|0)!=(d|0)){p=i-d>>2;d=0;do{i=q+(d<<2)|0;r=f[i>>2]|0;if((r|0)>(b|0))f[i>>2]=r+-1;d=d+1|0}while(d>>>0<p>>>0)}p=f[a+48>>2]|0;d=f[a+44>>2]|0;q=d;if((p|0)!=(d|0)){r=p-d>>2;d=0;do{p=q+(d<<2)|0;i=f[p>>2]|0;if((i|0)>(b|0))f[p>>2]=i+-1;d=d+1|0}while(d>>>0<r>>>0)}r=f[a+60>>2]|0;d=f[a+56>>2]|0;q=d;if((r|0)!=(d|0)){i=r-d>>2;d=0;do{r=q+(d<<2)|0;p=f[r>>2]|0;if((p|0)>(b|0))f[r>>2]=p+-1;d=d+1|0}while(d>>>0<i>>>0)}i=f[a+72>>2]|0;d=f[a+68>>2]|0;a=d;if((i|0)==(d|0))return;q=i-d>>2;d=0;do{i=a+(d<<2)|0;p=f[i>>2]|0;if((p|0)>(b|0))f[i>>2]=p+-1;d=d+1|0}while(d>>>0<q>>>0);return}function Ac(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0<o>>>0;p=k?m:o;q=(p|0)==0;if(!q?(r=n?f[g>>2]|0:g,s=l?f[j>>2]|0:j,t=Fi(r,s,p)|0,(t|0)!=0):0)if((t|0)<0)break;else{u=s;v=r;w=23}else{if(o>>>0<m>>>0)break;if(q)w=24;else{u=l?f[j>>2]|0:j;v=n?f[g>>2]|0:g;w=23}}if((w|0)==23){j=Fi(u,v,p)|0;if(j){if((j|0)>=0)w=42}else w=24}if((w|0)==24?!k:0)w=42;if((w|0)==42){f[d>>2]=c;f[e>>2]=c;x=e;return x|0}k=f[i+4>>2]|0;if(!k){j=i+8|0;p=f[j>>2]|0;if((f[p>>2]|0)==(i|0))y=p;else{p=j;do{j=f[p>>2]|0;p=j+8|0;l=f[p>>2]|0}while((f[l>>2]|0)!=(j|0));y=l}}else{p=k;while(1){l=f[p>>2]|0;if(!l)break;else p=l}y=p}do if((y|0)!=(h|0)){k=y+16|0;l=b[k+11>>0]|0;j=l<<24>>24<0;q=j?f[y+20>>2]|0:l&255;l=q>>>0<o>>>0?q:o;if((l|0)!=0?(m=Fi(n?f[g>>2]|0:g,j?f[k>>2]|0:k,l)|0,(m|0)!=0):0){if((m|0)<0)break}else w=36;if((w|0)==36?o>>>0<q>>>0:0)break;x=Le(a,d,g)|0;return x|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;x=i+4|0;return x|0}else{f[d>>2]=y;x=y;return x|0}}while(0);y=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))z=c;else{if(!y){h=i;do{e=h;h=f[h+8>>2]|0}while((f[h>>2]|0)==(e|0));A=h}else{e=y;while(1){v=f[e+4>>2]|0;if(!v){A=e;break}else e=v}}e=A;h=A+16|0;v=b[g+11>>0]|0;u=v<<24>>24<0;o=u?f[g+4>>2]|0:v&255;v=b[h+11>>0]|0;n=v<<24>>24<0;p=n?f[A+20>>2]|0:v&255;v=o>>>0<p>>>0?o:p;if((v|0)!=0?(q=Fi(n?f[h>>2]|0:h,u?f[g>>2]|0:g,v)|0,(q|0)!=0):0){if((q|0)<0){z=e;break}}else w=15;if((w|0)==15?p>>>0<o>>>0:0){z=e;break}x=Le(a,d,g)|0;return x|0}while(0);if(!y){f[d>>2]=i;x=i;return x|0}else{f[d>>2]=z;x=z+4|0;return x|0}return 0}function Bc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;fc(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)Ko(f[g>>2]|0);l=b[j+7>>0]|0;if((Ka[f[(f[c>>2]|0)+8>>2]&127](c)|0)!=(l&255|0)){m=wk(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=13186;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=wk(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=13237;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&(l<<24>>24==0?3:2)>>>0<r>>>0){l=wk(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=13260;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}l=((m&255)<<8|r)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Od(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)Ko(f[g>>2]|0)}if(!(Ka[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=wk(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=13283;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}if(!(Ka[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=wk(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=13317;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}if(Ka[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=wk(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=13349;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}function Cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;n=((l?j:0-j|0)+(k?h:0-h|0)|0)<=(m|0);if(n){o=h;p=j}else{if(k)if(!l)if((h|0)<1){q=-1;r=-1}else s=6;else{q=1;r=1}else if((j|0)<1){q=-1;r=-1}else s=6;if((s|0)==6){q=(h|0)>0?1:-1;r=(j|0)>0?1:-1}l=W(q,m)|0;k=W(r,m)|0;m=(h<<1)-l|0;f[c>>2]=m;h=(j<<1)-k|0;f[i>>2]=h;if((W(q,r)|0)>-1){r=0-h|0;f[c>>2]=r;t=r;u=0-m|0}else{f[c>>2]=h;t=h;u=m}m=(t+l|0)/2|0;f[c>>2]=m;l=(u+k|0)/2|0;f[i>>2]=l;o=m;p=l}if(!o)if(!p){v=1;w=o;x=p;y=0}else{z=(p|0)>0?3:1;s=14}else{l=(p|0)<1;m=(o|0)>0?(p>>31)+2|0:l?0:3;if((o|0)<0&l){v=1;w=o;x=p;y=m}else{z=m;s=14}}if((s|0)==14){switch(z|0){case 1:{A=p;B=0-o|0;break}case 2:{A=0-o|0;B=0-p|0;break}case 3:{A=0-p|0;B=o;break}default:{A=o;B=p}}p=c;f[p>>2]=A;f[p+4>>2]=B;v=0;w=A;x=B;y=z}z=(f[d>>2]|0)+w|0;f[a>>2]=z;w=(f[d+4>>2]|0)+x|0;x=a+4|0;f[x>>2]=w;d=f[e>>2]|0;if((d|0)>=(z|0))if((z|0)<(0-d|0))C=(f[b+4>>2]|0)+z|0;else C=z;else C=z-(f[b+4>>2]|0)|0;f[a>>2]=C;if((d|0)>=(w|0))if((w|0)<(0-d|0))D=(f[b+4>>2]|0)+w|0;else D=w;else D=w-(f[b+4>>2]|0)|0;f[x>>2]=D;if(v){E=D;F=C}else{switch((4-y|0)%4|0|0){case 1:{G=D;H=0-C|0;break}case 2:{G=0-C|0;H=0-D|0;break}case 3:{G=0-D|0;H=C;break}default:{G=C;H=D}}D=a;f[D>>2]=G;f[D+4>>2]=H;E=H;F=G}if(n){I=F;J=E;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}if((F|0)>-1)if((E|0)<=-1)if((F|0)<1){Q=-1;R=-1}else s=38;else{Q=1;R=1}else if((E|0)<1){Q=-1;R=-1}else s=38;if((s|0)==38){Q=(F|0)>0?1:-1;R=(E|0)>0?1:-1}s=W(Q,d)|0;n=W(R,d)|0;d=(F<<1)-s|0;f[a>>2]=d;F=(E<<1)-n|0;f[x>>2]=F;if((W(Q,R)|0)>-1){R=0-F|0;f[a>>2]=R;S=R;T=0-d|0}else{f[a>>2]=F;S=F;T=d}d=(S+s|0)/2|0;f[a>>2]=d;s=(T+n|0)/2|0;f[x>>2]=s;I=d;J=s;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}function Dc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=W(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(W(j>>>24^j,1540483477)|0)^(W(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=7;break}case 2:{n=m;o=7;break}case 1:{p=m;o=8;break}default:q=m}if((o|0)==7){p=h[l+1>>0]<<8^n;o=8}if((o|0)==8)q=W(p^h[l>>0],1540483477)|0;l=W(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0<l>>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(q|0)==(k|0);if(!(c|(k&p|0)==(s|0))){r=0;o=45;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;u=e&255;if(d){if(m){r=n;o=45;break a}if(!(Fi(t,g,i)|0)){r=n;o=45;break a}else break}if(m){r=n;o=45;break a}if((b[g>>0]|0)==u<<24>>24){u=k;k=j;j=g;do{k=k+-1|0;u=u+1|0;if(!k){r=n;o=45;break a}j=j+1|0}while((b[u>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=45;break}}if((o|0)==45)return r|0}n=a;b:while(1){a=f[n+4>>2]|0;do if((q|0)==(a|0)){p=n+8|0;c=b[p+11>>0]|0;j=c<<24>>24<0;u=c&255;if(((j?f[n+12>>2]|0:u)|0)==(i|0)){c=f[p>>2]|0;k=j?c:p;t=c&255;if(j){if(m){r=n;o=45;break b}if(!(Fi(k,g,i)|0)){r=n;o=45;break b}else break}if(m){r=n;o=45;break b}if((b[g>>0]|0)==t<<24>>24){t=p;p=u;u=g;do{p=p+-1|0;t=t+1|0;if(!p){r=n;o=45;break b}u=u+1|0}while((b[t>>0]|0)==(b[u>>0]|0))}}}else{if(a>>>0<l>>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=45;break b}}while(0);n=f[n>>2]|0;if(!n){r=0;o=45;break}}if((o|0)==45)return r|0;return 0}function Ec(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=W(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(W(j>>>24^j,1540483477)|0)^(W(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=7;break}case 2:{n=m;o=7;break}case 1:{p=m;o=8;break}default:q=m}if((o|0)==7){p=h[l+1>>0]<<8^n;o=8}if((o|0)==8)q=W(p^h[l>>0],1540483477)|0;l=W(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0<l>>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=45;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;u=e&255;if(d){if(m){r=n;o=45;break a}if(!(Fi(t,g,i)|0)){r=n;o=45;break a}else break}if(m){r=n;o=45;break a}if((b[g>>0]|0)==u<<24>>24){u=k;k=j;j=g;do{k=k+-1|0;u=u+1|0;if(!k){r=n;o=45;break a}j=j+1|0}while((b[u>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=45;break}}if((o|0)==45)return r|0}n=a;b:while(1){a=f[n+4>>2]|0;do if((a|0)==(q|0)){p=n+8|0;c=b[p+11>>0]|0;j=c<<24>>24<0;u=c&255;if(((j?f[n+12>>2]|0:u)|0)==(i|0)){c=f[p>>2]|0;k=j?c:p;t=c&255;if(j){if(m){r=n;o=45;break b}if(!(Fi(k,g,i)|0)){r=n;o=45;break b}else break}if(m){r=n;o=45;break b}if((b[g>>0]|0)==t<<24>>24){t=p;p=u;u=g;do{p=p+-1|0;t=t+1|0;if(!p){r=n;o=45;break b}u=u+1|0}while((b[t>>0]|0)==(b[u>>0]|0))}}}else{if(a>>>0<l>>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=45;break b}}while(0);n=f[n>>2]|0;if(!n){r=0;o=45;break}}if((o|0)==45)return r|0;return 0}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;do{j=(f[m+16>>2]|0)<(k|0);l=j?l:m;m=f[(j?m+4|0:m)>>2]|0}while((m|0)!=0);if((l|0)!=(i|0)?(k|0)>=(f[l+16>>2]|0):0){n=l;o=n+20|0;u=c;return o|0}}mn(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;l=h+12|0;f[l>>2]=0;k=h+8|0;f[b>>2]=k;m=f[g>>2]|0;j=g+4|0;if((m|0)!=(j|0)){p=k;q=m;while(1){m=q+16|0;f[e>>2]=p;f[d>>2]=f[e>>2];Ff(b,d,m,m)|0;m=f[q+4>>2]|0;if(!m){r=q+8|0;s=f[r>>2]|0;if((f[s>>2]|0)==(q|0))t=s;else{s=r;do{r=f[s>>2]|0;s=r+8|0;v=f[s>>2]|0}while((f[v>>2]|0)!=(r|0));t=v}}else{s=m;while(1){v=f[s>>2]|0;if(!v)break;else s=v}t=s}if((t|0)==(j|0))break;else q=t}}t=a+12|0;q=f[i>>2]|0;do if(q){d=f[h>>2]|0;e=a+16|0;p=q;while(1){m=f[p+16>>2]|0;if((d|0)<(m|0)){v=f[p>>2]|0;if(!v){w=21;break}else{x=p;y=v}}else{if((m|0)>=(d|0)){w=25;break}z=p+4|0;m=f[z>>2]|0;if(!m){w=24;break}else{x=z;y=m}}e=x;p=y}if((w|0)==21){A=p;B=p;break}else if((w|0)==24){A=p;B=z;break}else if((w|0)==25){A=p;B=e;break}}else{A=i;B=i}while(0);i=f[B>>2]|0;if(!i){w=wk(32)|0;f[w+16>>2]=f[h>>2];z=w+20|0;f[z>>2]=f[b>>2];y=w+24|0;x=f[h+8>>2]|0;f[y>>2]=x;q=f[l>>2]|0;f[w+28>>2]=q;if(!q)f[z>>2]=y;else{f[x+8>>2]=y;f[b>>2]=k;f[k>>2]=0;f[l>>2]=0}f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=A;f[B>>2]=w;A=f[f[t>>2]>>2]|0;if(!A)C=w;else{f[t>>2]=A;C=f[B>>2]|0}vd(f[a+16>>2]|0,C);C=a+20|0;f[C>>2]=(f[C>>2]|0)+1;D=w}else D=i;Bh(h+4|0,f[k>>2]|0);Bh(g,f[j>>2]|0);n=D;o=n+20|0;u=c;return o|0}function Gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (H=n,o)|0}else{if(!m){n=0;o=0;return (H=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (H=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(Z(l|0)|0)-(Z(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!e){n=0;o=0;return (H=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (H=n,o)|0}r=j-1|0;if(r&j|0){s=(Z(j|0)|0)+33-(Z(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (H=n,o)|0}else{r=Wn(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (H=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (H=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (H=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Wn(l|0)|0)>>>0);return (H=n,o)|0}r=(Z(l|0)|0)-(Z(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!e){n=0;o=0;return (H=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (H=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=vl(b|0,c|0,-1,-1)|0;k=H;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;wl(d|0,k|0,g|0,a|0)|0;i=H;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=wl(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=H;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (H=n,o)|0}function Hc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Ko(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=qa(8)|0;Dm(e,13552);f[e>>2]=4908;ta(e|0,1128,105)}e=wk(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Ko(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0<c>>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=j;j=d;d=g;while(1){g=f[j+4>>2]|0;if(!i)if(g>>>0<c>>>0)k=g;else k=(g>>>0)%(c>>>0)|0;else k=g&h;do if((k|0)==(e|0)){l=e;m=j}else{g=(f[a>>2]|0)+(k<<2)|0;if(!(f[g>>2]|0)){f[g>>2]=d;l=k;m=j;break}g=f[j>>2]|0;a:do if(!g)n=j;else{o=j+8|0;p=b[o+11>>0]|0;q=p<<24>>24<0;r=p&255;p=q?f[j+12>>2]|0:r;s=(p|0)==0;if(q){q=j;t=g;while(1){u=t+8|0;v=b[u+11>>0]|0;w=v<<24>>24<0;if((p|0)!=((w?f[t+12>>2]|0:v&255)|0)){n=q;break a}if(!s?Fi(f[o>>2]|0,w?f[u>>2]|0:u,p)|0:0){n=q;break a}u=f[t>>2]|0;if(!u){n=t;break a}else{w=t;t=u;q=w}}}if(s){q=j;t=g;while(1){w=b[t+8+11>>0]|0;if((w<<24>>24<0?f[t+12>>2]|0:w&255)|0){n=q;break a}w=f[t>>2]|0;if(!w){n=t;break a}else{u=t;t=w;q=u}}}q=j;t=g;while(1){s=t+8|0;u=b[s+11>>0]|0;w=u<<24>>24<0;if((p|0)!=((w?f[t+12>>2]|0:u&255)|0)){n=q;break a}u=w?f[s>>2]|0:s;if((b[u>>0]|0)!=(f[o>>2]&255)<<24>>24){n=q;break a}s=o;w=r;v=u;while(1){w=w+-1|0;s=s+1|0;if(!w)break;v=v+1|0;if((b[s>>0]|0)!=(b[v>>0]|0)){n=q;break a}}v=f[t>>2]|0;if(!v){n=t;break}else{s=t;t=v;q=s}}}while(0);f[d>>2]=f[n>>2];f[n>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=j;l=e;m=d}while(0);j=f[m>>2]|0;if(!j)break;else{e=l;d=m}}return}function Ic(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;c=u;u=u+16|0;d=c;e=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if((f[n>>2]|0)!=0?(n=f[(f[h>>2]|0)+(m<<2)>>2]|0,o=f[n+8>>2]|0,p=Nf(n)|0,(p|0)!=0):0){n=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;q=f[n>>2]|0;n=f[o+56>>2]|0;o=wk(32)|0;f[d>>2]=o;f[j>>2]=-2147483616;f[k>>2]=24;r=o;s=11931;t=r+24|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[o+24>>0]=0;s=q+16|0;r=f[s>>2]|0;a:do if(r){t=s;v=r;do{w=(f[v+16>>2]|0)<(n|0);t=w?t:v;v=f[(w?v+4|0:v)>>2]|0}while((v|0)!=0);if(((t|0)!=(s|0)?(n|0)>=(f[t+16>>2]|0):0)?(v=t+20|0,w=f[t+24>>2]|0,(w|0)!=0):0){x=w;while(1){w=x+16|0;y=b[w+11>>0]|0;z=y<<24>>24<0;A=z?f[x+20>>2]|0:y&255;y=A>>>0<24;B=y?A:24;C=(B|0)==0;if(!C?(D=z?f[w>>2]|0:w,E=Fi(o,D,B)|0,(E|0)!=0):0)if((E|0)<0)F=16;else{G=D;F=19}else if(A>>>0<=24)if(C)F=20;else{G=z?f[w>>2]|0:w;F=19}else F=16;if((F|0)==16){F=0;H=x}else if((F|0)==19){F=0;w=Fi(G,o,B)|0;if(w)if((w|0)<0)F=22;else break;else F=20}if((F|0)==20){F=0;if(y)F=22;else break}if((F|0)==22){F=0;H=x+4|0}x=f[H>>2]|0;if(!x){F=25;break a}}I=ci(v,d,0)|0}else F=25}else F=25;while(0);if((F|0)==25){F=0;I=ci(q,d,0)|0}if((b[l>>0]|0)<0)Ko(f[d>>2]|0);if(I)ge(f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0,p);else F=30}else F=30;if((F|0)==30?(F=0,o=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(La[f[(f[o>>2]|0)+24>>2]&127](o,i)|0)):0){g=0;F=32;break}m=m+1|0;if((m|0)>=(e|0)){g=1;F=32;break}}if((F|0)==32){u=c;return g|0}return 0}function Jc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(uc(i,d)|0?ad(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}vf(d,0,0)|0;if(!j){j=i+44|0;k=i+48|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=0;w=0;x=f[k>>2]|0;while(1){b:do if(x>>>0<16384){y=f[j>>2]|0;z=x;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[j>>2]=y;C=z<<8|h[B+y>>0];f[k>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=x;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;x=(W(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[k>>2]=x;c:do if(p){C=(b[q>>0]|0)==0;if((y|0)<=0){z=0;B=w;while(1){if(C){l=0;break a}D=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){E=D;break c}else B=D}}B=0;z=w;while(1){if(C){l=0;break a}D=f[s>>2]|0;F=f[t>>2]|0;G=0;H=0;I=f[r>>2]|0;while(1){J=D+(I>>>3)|0;if(J>>>0<F>>>0){K=(h[J>>0]|0)>>>(I&7)&1;J=I+1|0;f[r>>2]=J;L=K;M=J}else{L=0;M=I}G=L<<H|G;H=H+1|0;if((H|0)==(y|0))break;else I=M}I=z+1|0;f[e+(z<<2)>>2]=G;B=B+1|0;if((B|0)>=(c|0)){E=I;break}else z=I}}else E=w;while(0);v=v+c|0;if(v>>>0>=a>>>0)break;else w=E}}}else vf(d,0,0)|0;Cj(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){f[i+32>>2]=d;Ko(d)}d=f[i+16>>2]|0;if(d|0){f[i+20>>2]=d;Ko(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}f[i+4>>2]=d;Ko(d);u=g;return l|0}function Kc(a,b){a=a|0;b=b|0;var c=0;if(!(rd(a,b)|0)){c=0;return c|0}if(!(rd(a+16|0,b)|0)){c=0;return c|0}if(!(rd(a+32|0,b)|0)){c=0;return c|0}if(!(rd(a+48|0,b)|0)){c=0;return c|0}if(!(rd(a+64|0,b)|0)){c=0;return c|0}if(!(rd(a+80|0,b)|0)){c=0;return c|0}if(!(rd(a+96|0,b)|0)){c=0;return c|0}if(!(rd(a+112|0,b)|0)){c=0;return c|0}if(!(rd(a+128|0,b)|0)){c=0;return c|0}if(!(rd(a+144|0,b)|0)){c=0;return c|0}if(!(rd(a+160|0,b)|0)){c=0;return c|0}if(!(rd(a+176|0,b)|0)){c=0;return c|0}if(!(rd(a+192|0,b)|0)){c=0;return c|0}if(!(rd(a+208|0,b)|0)){c=0;return c|0}if(!(rd(a+224|0,b)|0)){c=0;return c|0}if(!(rd(a+240|0,b)|0)){c=0;return c|0}if(!(rd(a+256|0,b)|0)){c=0;return c|0}if(!(rd(a+272|0,b)|0)){c=0;return c|0}if(!(rd(a+288|0,b)|0)){c=0;return c|0}if(!(rd(a+304|0,b)|0)){c=0;return c|0}if(!(rd(a+320|0,b)|0)){c=0;return c|0}if(!(rd(a+336|0,b)|0)){c=0;return c|0}if(!(rd(a+352|0,b)|0)){c=0;return c|0}if(!(rd(a+368|0,b)|0)){c=0;return c|0}if(!(rd(a+384|0,b)|0)){c=0;return c|0}if(!(rd(a+400|0,b)|0)){c=0;return c|0}if(!(rd(a+416|0,b)|0)){c=0;return c|0}if(!(rd(a+432|0,b)|0)){c=0;return c|0}if(!(rd(a+448|0,b)|0)){c=0;return c|0}if(!(rd(a+464|0,b)|0)){c=0;return c|0}if(!(rd(a+480|0,b)|0)){c=0;return c|0}if(!(rd(a+496|0,b)|0)){c=0;return c|0}c=rd(a+512|0,b)|0;return c|0}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[h>>2]|0;k=(f[i>>2]|0)-j>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0)f[i>>2]=j+(e<<2)}else Eg(h,e-k|0);k=e>>>0>1073741823?-1:e<<2;h=Ho(k)|0;oh(h|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;i=a+32|0;l=a+12|0;m=0;do{n=f[h+(m<<2)>>2]|0;o=f[j>>2]|0;do if((n|0)<=(o|0)){p=f[l>>2]|0;q=f[i>>2]|0;r=q+(m<<2)|0;if((n|0)<(p|0)){f[r>>2]=p;s=q;break}else{f[r>>2]=n;s=q;break}}else{q=f[i>>2]|0;f[q+(m<<2)>>2]=o;s=q}while(0);m=m+1|0;t=f[g>>2]|0}while((m|0)<(t|0));if((t|0)>0){m=a+20|0;i=0;do{o=(f[b+(i<<2)>>2]|0)+(f[s+(i<<2)>>2]|0)|0;n=c+(i<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){u=(f[m>>2]|0)+o|0;v=19}}else{u=o-(f[m>>2]|0)|0;v=19}if((v|0)==19){v=0;f[n>>2]=u}i=i+1|0;n=f[g>>2]|0}while((i|0)<(n|0));w=n}else w=t}else w=k;if((e|0)>=(d|0)){Io(h);return 1}k=0-e|0;t=a+16|0;i=a+32|0;u=a+12|0;m=a+20|0;a=e;l=w;while(1){w=c+(a<<2)|0;j=w+(k<<2)|0;s=b+(a<<2)|0;if((l|0)>0){n=0;do{o=f[j+(n<<2)>>2]|0;q=f[t>>2]|0;do if((o|0)<=(q|0)){r=f[u>>2]|0;p=f[i>>2]|0;x=p+(n<<2)|0;if((o|0)<(r|0)){f[x>>2]=r;y=p;break}else{f[x>>2]=o;y=p;break}}else{p=f[i>>2]|0;f[p+(n<<2)>>2]=q;y=p}while(0);n=n+1|0;z=f[g>>2]|0}while((n|0)<(z|0));if((z|0)>0){n=0;do{j=(f[s+(n<<2)>>2]|0)+(f[y+(n<<2)>>2]|0)|0;q=w+(n<<2)|0;f[q>>2]=j;if((j|0)<=(f[t>>2]|0)){if((j|0)<(f[u>>2]|0)){A=(f[m>>2]|0)+j|0;v=38}}else{A=j-(f[m>>2]|0)|0;v=38}if((v|0)==38){v=0;f[q>>2]=A}n=n+1|0;q=f[g>>2]|0}while((n|0)<(q|0));B=q}else B=z}else B=l;a=a+e|0;if((a|0)>=(d|0))break;else l=B}Io(h);return 1}function Mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;zh(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(bd(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;zh(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;n=f[a>>2]|0;o=n+8|0;p=f[o+4>>2]|0;q=n+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;do if((p|0)>(t|0)|((p|0)==(t|0)?(f[o>>2]|0)>>>0>s>>>0:0)){r=b[(f[n>>2]|0)+s>>0]|0;v=vl(s|0,t|0,1,0)|0;w=q;f[w>>2]=v;f[w+4>>2]=H;w=r&255;Gh(h,w,0);if(r<<24>>24){v=f[a>>2]|0;x=gj(h,0)|0;y=v+8|0;z=f[y>>2]|0;A=f[y+4>>2]|0;y=v+16|0;B=y;C=f[B>>2]|0;D=r&255;r=vl(C|0,f[B+4>>2]|0,D|0,0)|0;B=H;if((A|0)<(B|0)|(A|0)==(B|0)&z>>>0<r>>>0){E=1;break}Bf(x|0,(f[v>>2]|0)+C|0,w|0)|0;w=y;C=vl(f[w>>2]|0,f[w+4>>2]|0,D|0,0)|0;D=y;f[D>>2]=C;f[D+4>>2]=H}D=wk(40)|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=1065353216;C=D+20|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[D+36>>2]=1065353216;f[i>>2]=D;if(Mc(a,D)|0){D=f[i>>2]|0;f[i>>2]=0;f[j>>2]=D;of(c,h,j)|0;Xg(j);F=0}else F=1;Xg(i);E=F}else E=1;while(0);if((b[e>>0]|0)<0)Ko(f[h>>2]|0);k=k+1|0;if(E|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=0;o=f[a+44+(b<<2)>>2]|0;while(1){b=(o|0)==-1;p=(o>>>0)/3|0;q=b?-1:p;r=(f[i>>2]|0)+(q>>>5<<2)|0;f[r>>2]=f[r>>2]|1<<(q&31);f[j>>2]=(f[j>>2]|0)+1;do if(n){if(b)s=-1;else{q=(o|0)/3|0;s=f[(f[(f[a>>2]|0)+96>>2]|0)+(q*12|0)+(o-(q*3|0)<<2)>>2]|0}f[m>>2]=s;f[e>>2]=s;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=s;f[c>>2]=q+4}else Ng(k,e);if(!(n&1)){q=o+1|0;if(b){t=-1;break}v=((q>>>0)%3|0|0)==0?o+-2|0:q;w=35;break}if(!b)if(!(o-(p*3|0)|0)){v=o+2|0;w=35;break}else{v=o+-1|0;w=35;break}else t=-1}else{if(b)x=-1;else x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else Ng(k,e);q=o+1|0;if(!b?(r=((q>>>0)%3|0|0)==0?o+-2|0:q,(r|0)!=-1):0){q=(r|0)/3|0;y=f[(f[(f[a>>2]|0)+96>>2]|0)+(q*12|0)+(r-(q*3|0)<<2)>>2]|0}else y=-1;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else Ng(k,e);if(!b?(q=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(q|0)!=-1):0){r=(q|0)/3|0;z=f[(f[(f[a>>2]|0)+96>>2]|0)+(r*12|0)+(q-(r*3|0)<<2)>>2]|0}else z=-1;f[m>>2]=z;f[e>>2]=z;r=f[c>>2]|0;if(r>>>0<(f[l>>2]|0)>>>0){f[r>>2]=z;f[c>>2]=r+4}else Ng(k,e);v=o;w=35}while(0);if((w|0)==35){w=0;if((v|0)==-1)t=-1;else t=f[(f[(f[g>>2]|0)+12>>2]|0)+(v<<2)>>2]|0}n=n+1|0;if((n|0)>=(h|0))break;else o=t}u=d;return}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Ko(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}d=wk(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Ko(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0<b>>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;if(h){h=i;d=c;j=e;while(1){k=f[d+4>>2]&g;do if((k|0)==(h|0)){l=h;m=d}else{n=(f[a>>2]|0)+(k<<2)|0;if(!(f[n>>2]|0)){f[n>>2]=j;l=k;m=d;break}n=f[d>>2]|0;a:do if(!n)o=d;else{p=f[d+8>>2]|0;q=d;r=n;while(1){if((p|0)!=(f[r+8>>2]|0)){o=q;break a}s=f[r>>2]|0;if(!s){o=r;break}else{t=r;r=s;q=t}}}while(0);f[j>>2]=f[o>>2];f[o>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;l=h;m=j}while(0);d=f[m>>2]|0;if(!d)break;else{h=l;j=m}}return}m=i;i=c;c=e;while(1){e=f[i+4>>2]|0;if(e>>>0<b>>>0)u=e;else u=(e>>>0)%(b>>>0)|0;do if((u|0)==(m|0)){v=m;w=i}else{e=(f[a>>2]|0)+(u<<2)|0;if(!(f[e>>2]|0)){f[e>>2]=c;v=u;w=i;break}e=f[i>>2]|0;b:do if(!e)x=i;else{j=f[i+8>>2]|0;l=i;h=e;while(1){if((j|0)!=(f[h+8>>2]|0)){x=l;break b}d=f[h>>2]|0;if(!d){x=h;break}else{o=h;h=d;l=o}}}while(0);f[c>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(u<<2)>>2]>>2];f[f[(f[a>>2]|0)+(u<<2)>>2]>>2]=i;v=m;w=c}while(0);i=f[w>>2]|0;if(!i)break;else{m=v;c=w}}return}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Qe(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=w;z=a+72|0;A=0;B=l;l=b;while(1){if(!(f[(f[m>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){b=A*3|0;f[g>>2]=b;f[e>>2]=f[g>>2];_b(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)|0;D=(C|0)!=0;E=D?C>>2:0;f[g>>2]=b+1;f[e>>2]=f[g>>2];_b(a,1,e);C=(f[q>>2]|0)-(f[p>>2]|0)>>2;F=C>>>0>E>>>0;f[g>>2]=b+2;f[e>>2]=f[g>>2];_b(a,2,e);b=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(F?C:E)>>>0?2:F?1:(D^1)<<31>>31;if((f[t>>2]|0)>0){D=f[v>>2]|0;f[e>>2]=D;F=f[c>>2]|0;if(F>>>0<(f[x>>2]|0)>>>0){f[F>>2]=D;f[c>>2]=F+4}else Ng(w,e);F=f[a+44+(b<<2)>>2]|0;if((F|0)==-1)G=-1;else{D=(F|0)/3|0;G=f[(f[(f[a>>2]|0)+96>>2]|0)+(D*12|0)+(F-(D*3|0)<<2)>>2]|0}f[e>>2]=G;D=f[c>>2]|0;if(D>>>0<(f[x>>2]|0)>>>0){f[D>>2]=G;f[c>>2]=D+4}else Ng(w,e);D=(f[z>>2]|0)+2|0;f[z>>2]=D;if(D&1|0){f[e>>2]=G;D=f[c>>2]|0;if(D>>>0<(f[x>>2]|0)>>>0){f[D>>2]=G;f[c>>2]=D+4}else Ng(w,e);f[z>>2]=(f[z>>2]|0)+1}}f[h>>2]=y;f[e>>2]=f[h>>2];Nc(a,b,e);H=f[j>>2]|0;I=f[k>>2]|0}else{H=B;I=l}A=A+1|0;if(A>>>0>=((I-H|0)/12|0)>>>0){i=1;break}else{B=H;l=I}}u=d;return i|0}function Qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=wk(88)|0;f[l+4>>2]=0;f[l>>2]=3384;m=l+12|0;f[m>>2]=3364;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=3364;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=3364;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[c>>2]=o;c=((f[o+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Gf(i+8|0,c,g);Pa[f[(f[i>>2]|0)+8>>2]&127](i);le(j,i);le(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;He(c,g)|0;f[g>>2]=3364;p=f[g+20>>2]|0;if(p|0)Ko(p);p=f[g+8>>2]|0;if(p|0)Ko(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=3364;k=f[j+20>>2]|0;if(k|0)Ko(k);k=f[j+8>>2]|0;if(k|0)Ko(k);f[l+8>>2]=f[h>>2];He(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;df(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=3364;q=f[i+20>>2]|0;if(q|0)Ko(q);q=f[i+8>>2]|0;if(q|0)Ko(q);q=f[s>>2]|0;if(q|0){f[t>>2]=q;Ko(q)}f[r>>2]=3364;r=f[h+24>>2]|0;if(r|0)Ko(r);r=f[h+12>>2]|0;if(!r){u=e;return}Ko(r);u=e;return}function Rc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=Ho(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)Io(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[g>>2]|0;n=(f[l>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[l>>2]=m+(e<<2)}else Eg(g,e-n|0);n=a+56|0;g=f[n>>2]|0;m=f[g+4>>2]|0;l=f[g>>2]|0;o=m-l|0;p=o>>2;if((o|0)<=0){u=d;return 1}o=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(l|0)){t=g;$n(t)}g=0;m=l;while(1){f[i>>2]=f[m+(g<<2)>>2];f[h>>2]=f[i>>2];ac(a,h,c,g);l=W(g,e)|0;v=f[j>>2]|0;w=b+(l<<2)|0;x=c+(l<<2)|0;if((f[k>>2]|0)>0){l=0;do{y=f[v+(l<<2)>>2]|0;z=f[o>>2]|0;do if((y|0)<=(z|0)){A=f[r>>2]|0;B=f[q>>2]|0;C=B+(l<<2)|0;if((y|0)<(A|0)){f[C>>2]=A;D=B;break}else{f[C>>2]=y;D=B;break}}else{B=f[q>>2]|0;f[B+(l<<2)>>2]=z;D=B}while(0);l=l+1|0;E=f[k>>2]|0}while((l|0)<(E|0));if((E|0)>0){l=0;do{v=(f[w+(l<<2)>>2]|0)+(f[D+(l<<2)>>2]|0)|0;z=x+(l<<2)|0;f[z>>2]=v;if((v|0)<=(f[o>>2]|0)){if((v|0)<(f[r>>2]|0)){F=(f[s>>2]|0)+v|0;G=26}}else{F=v-(f[s>>2]|0)|0;G=26}if((G|0)==26){G=0;f[z>>2]=F}l=l+1|0}while((l|0)<(f[k>>2]|0))}}g=g+1|0;if((g|0)>=(p|0)){G=10;break}l=f[n>>2]|0;m=f[l>>2]|0;if((f[l+4>>2]|0)-m>>2>>>0<=g>>>0){t=l;G=11;break}}if((G|0)==10){u=d;return 1}else if((G|0)==11)$n(t);return 0}function Sc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=Ho(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)Io(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[g>>2]|0;n=(f[l>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[l>>2]=m+(e<<2)}else Eg(g,e-n|0);n=a+56|0;g=f[n>>2]|0;m=f[g+4>>2]|0;l=f[g>>2]|0;o=m-l|0;p=o>>2;if((o|0)<=0){u=d;return 1}o=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(l|0)){t=g;$n(t)}g=0;m=l;while(1){f[i>>2]=f[m+(g<<2)>>2];f[h>>2]=f[i>>2];bc(a,h,c,g);l=W(g,e)|0;v=f[j>>2]|0;w=b+(l<<2)|0;x=c+(l<<2)|0;if((f[k>>2]|0)>0){l=0;do{y=f[v+(l<<2)>>2]|0;z=f[o>>2]|0;do if((y|0)<=(z|0)){A=f[r>>2]|0;B=f[q>>2]|0;C=B+(l<<2)|0;if((y|0)<(A|0)){f[C>>2]=A;D=B;break}else{f[C>>2]=y;D=B;break}}else{B=f[q>>2]|0;f[B+(l<<2)>>2]=z;D=B}while(0);l=l+1|0;E=f[k>>2]|0}while((l|0)<(E|0));if((E|0)>0){l=0;do{v=(f[w+(l<<2)>>2]|0)+(f[D+(l<<2)>>2]|0)|0;z=x+(l<<2)|0;f[z>>2]=v;if((v|0)<=(f[o>>2]|0)){if((v|0)<(f[r>>2]|0)){F=(f[s>>2]|0)+v|0;G=26}}else{F=v-(f[s>>2]|0)|0;G=26}if((G|0)==26){G=0;f[z>>2]=F}l=l+1|0}while((l|0)<(f[k>>2]|0))}}g=g+1|0;if((g|0)>=(p|0)){G=10;break}l=f[n>>2]|0;m=f[l>>2]|0;if((f[l+4>>2]|0)-m>>2>>>0<=g>>>0){t=l;G=11;break}}if((G|0)==10){u=d;return 1}else if((G|0)==11)$n(t);return 0}function Tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);g=a+184|0;j=f[g>>2]|0;switch(j|0){case 1:case 0:{k=f[c>>2]|0;if((i|0)==-1)l=-1;else l=f[(f[k>>2]|0)+(i<<2)>>2]|0;m=f[a+156>>2]|0;n=m+(l<<2)|0;f[n>>2]=(f[n>>2]|0)+1;if((h|0)==-1)o=-1;else o=f[(f[k>>2]|0)+(h<<2)>>2]|0;p=m+(o<<2)|0;q=1;r=32;break}case 5:{o=f[c>>2]|0;if(b)s=-1;else s=f[(f[o>>2]|0)+(d<<2)>>2]|0;m=f[a+156>>2]|0;k=m+(s<<2)|0;f[k>>2]=(f[k>>2]|0)+1;if((i|0)==-1)t=-1;else t=f[(f[o>>2]|0)+(i<<2)>>2]|0;k=m+(t<<2)|0;f[k>>2]=(f[k>>2]|0)+1;if((h|0)==-1)u=-1;else u=f[(f[o>>2]|0)+(h<<2)>>2]|0;p=m+(u<<2)|0;q=2;r=32;break}case 3:{u=f[c>>2]|0;if(b)v=-1;else v=f[(f[u>>2]|0)+(d<<2)>>2]|0;m=f[a+156>>2]|0;o=m+(v<<2)|0;f[o>>2]=(f[o>>2]|0)+1;if((i|0)==-1)w=-1;else w=f[(f[u>>2]|0)+(i<<2)>>2]|0;o=m+(w<<2)|0;f[o>>2]=(f[o>>2]|0)+2;if((h|0)==-1)x=-1;else x=f[(f[u>>2]|0)+(h<<2)>>2]|0;p=m+(x<<2)|0;q=1;r=32;break}case 7:{x=f[c>>2]|0;if(b)y=-1;else y=f[(f[x>>2]|0)+(d<<2)>>2]|0;m=f[a+156>>2]|0;u=m+(y<<2)|0;f[u>>2]=(f[u>>2]|0)+2;if((i|0)==-1)z=-1;else z=f[(f[x>>2]|0)+(i<<2)>>2]|0;i=m+(z<<2)|0;f[i>>2]=(f[i>>2]|0)+2;if((h|0)==-1)A=-1;else A=f[(f[x>>2]|0)+(h<<2)>>2]|0;p=m+(A<<2)|0;q=2;r=32;break}default:B=j}if((r|0)==32){f[p>>2]=(f[p>>2]|0)+q;B=f[g>>2]|0}switch(B|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}B=f[c>>2]|0;if(!b?(b=((e>>>0)%3|0|0)==0?d+-2|0:e,(b|0)!=-1):0)C=f[(f[B>>2]|0)+(b<<2)>>2]|0;else C=-1;f[a+188>>2]=(f[(f[a+156>>2]|0)+(C<<2)>>2]|0)<6?5:0;return}function Uc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;h=a+52|0;f[h>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;h=a+64|0;f[h>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;h=a+84|0;f[h>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;h=a+96|0;f[h>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;h=a+112|0;f[h>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;h=a+124|0;f[h>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;h=a+140|0;f[h>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function Vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0<n>>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+4194304|0;f[z>>2]=a;o=a>>>0<1073741824;u=d;return o|0}function Wc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0<n>>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+2097152|0;f[z>>2]=a;o=a>>>0<536870912;u=d;return o|0}function Xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0<n>>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+1048576|0;f[z>>2]=a;o=a>>>0<268435456;u=d;return o|0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0<n>>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+262144|0;f[z>>2]=a;o=a>>>0<67108864;u=d;return o|0}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0<n>>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+131072|0;f[z>>2]=a;o=a>>>0<33554432;u=d;return o|0}function _c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{e=f[c>>2]|0;if((i|0)==-1)j=-1;else j=f[(f[e>>2]|0)+(i<<2)>>2]|0;g=f[a+156>>2]|0;k=g+(j<<2)|0;f[k>>2]=(f[k>>2]|0)+1;if((h|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(h<<2)>>2]|0;m=g+(l<<2)|0;n=1;o=32;break}case 5:{l=f[c>>2]|0;if(b)p=-1;else p=f[(f[l>>2]|0)+(d<<2)>>2]|0;g=f[a+156>>2]|0;e=g+(p<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((i|0)==-1)q=-1;else q=f[(f[l>>2]|0)+(i<<2)>>2]|0;e=g+(q<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)==-1)r=-1;else r=f[(f[l>>2]|0)+(h<<2)>>2]|0;m=g+(r<<2)|0;n=2;o=32;break}case 3:{r=f[c>>2]|0;if(b)s=-1;else s=f[(f[r>>2]|0)+(d<<2)>>2]|0;g=f[a+156>>2]|0;l=g+(s<<2)|0;f[l>>2]=(f[l>>2]|0)+1;if((i|0)==-1)t=-1;else t=f[(f[r>>2]|0)+(i<<2)>>2]|0;l=g+(t<<2)|0;f[l>>2]=(f[l>>2]|0)+2;if((h|0)==-1)u=-1;else u=f[(f[r>>2]|0)+(h<<2)>>2]|0;m=g+(u<<2)|0;n=1;o=32;break}case 7:{u=f[c>>2]|0;if(b)v=-1;else v=f[(f[u>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(v<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1)w=-1;else w=f[(f[u>>2]|0)+(i<<2)>>2]|0;b=d+(w<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1)x=-1;else x=f[(f[u>>2]|0)+(h<<2)>>2]|0;m=d+(x<<2)|0;n=2;o=32;break}default:{}}if((o|0)==32)f[m>>2]=(f[m>>2]|0)+n;if((i|0)==-1)y=-1;else y=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=f[(f[a+156>>2]|0)+(y<<2)>>2]|0;y=f[a+176>>2]|0;if((i|0)<(y|0)){z=y;A=z-y|0;B=a+172|0;f[B>>2]=A;return}c=f[a+180>>2]|0;z=(i|0)>(c|0)?c:i;A=z-y|0;B=a+172|0;f[B>>2]=A;return}function $c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0<n>>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+32768|0;f[z>>2]=a;o=a>>>0<8388608;u=d;return o|0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0<n>>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+16384|0;f[z>>2]=a;o=a>>>0<4194304;u=d;return o|0}function bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=vl(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=H;q=m&255;Gh(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=gj(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=vl(x|0,f[w+4>>2]|0,y|0,0)|0;w=H;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0<m>>>0){z=0;break}Bf(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=vl(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=H}f[g>>2]=0;y=(zh(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;s=h+8|0;f[s>>2]=0;if((x|0)<0)$n(h);q=wk(x)|0;f[y>>2]=q;f[h>>2]=q;f[s>>2]=q+x;s=x;x=q;do{b[x>>0]=0;x=(f[y>>2]|0)+1|0;f[y>>2]=x;s=s+-1|0}while((s|0)!=0);s=f[a>>2]|0;x=f[g>>2]|0;q=s+8|0;p=f[q>>2]|0;r=f[q+4>>2]|0;q=s+16|0;m=q;t=f[m>>2]|0;w=vl(t|0,f[m+4>>2]|0,x|0,0)|0;m=H;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0<w>>>0)B=0;else{Bf(f[h>>2]|0,(f[s>>2]|0)+t|0,x|0)|0;t=q;s=vl(f[t>>2]|0,f[t+4>>2]|0,x|0,0)|0;x=q;f[x>>2]=s;f[x+4>>2]=H;$j(c,e,h);B=1}x=f[h>>2]|0;if(x|0){f[y>>2]=x;Ko(x)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}Ko(f[e>>2]|0);u=d;return z|0}function cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[k>>2]|0;n=(f[l>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[l>>2]=m+(e<<2)}else Eg(k,e-n|0);n=a+56|0;k=f[n>>2]|0;m=f[k+4>>2]|0;l=f[k>>2]|0;o=m-l|0;p=o>>2;if((o|0)<=0){q=1;u=d;return q|0}o=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(l|0)){v=k;$n(v)}k=0;m=l;while(1){f[i>>2]=f[m+(k<<2)>>2];f[h>>2]=f[i>>2];if(!(Kb(j,h,c,k)|0)){q=0;w=28;break}l=W(k,e)|0;x=b+(l<<2)|0;y=c+(l<<2)|0;if((f[g>>2]|0)>0){l=0;do{z=f[a+68+(l<<2)>>2]|0;A=f[o>>2]|0;do if((z|0)<=(A|0)){B=f[s>>2]|0;C=f[r>>2]|0;D=C+(l<<2)|0;if((z|0)<(B|0)){f[D>>2]=B;E=C;break}else{f[D>>2]=z;E=C;break}}else{C=f[r>>2]|0;f[C+(l<<2)>>2]=A;E=C}while(0);l=l+1|0;F=f[g>>2]|0}while((l|0)<(F|0));if((F|0)>0){l=0;do{A=(f[x+(l<<2)>>2]|0)+(f[E+(l<<2)>>2]|0)|0;z=y+(l<<2)|0;f[z>>2]=A;if((A|0)<=(f[o>>2]|0)){if((A|0)<(f[s>>2]|0)){G=(f[t>>2]|0)+A|0;w=24}}else{G=A-(f[t>>2]|0)|0;w=24}if((w|0)==24){w=0;f[z>>2]=G}l=l+1|0}while((l|0)<(f[g>>2]|0))}}k=k+1|0;if((k|0)>=(p|0)){q=1;w=28;break}l=f[n>>2]|0;m=f[l>>2]|0;if((f[l+4>>2]|0)-m>>2>>>0<=k>>>0){v=l;w=8;break}}if((w|0)==8)$n(v);else if((w|0)==28){u=d;return q|0}return 0}function dd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[k>>2]|0;n=(f[l>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[l>>2]=m+(e<<2)}else Eg(k,e-n|0);n=a+56|0;k=f[n>>2]|0;m=f[k+4>>2]|0;l=f[k>>2]|0;o=m-l|0;p=o>>2;if((o|0)<=0){q=1;u=d;return q|0}o=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(l|0)){v=k;$n(v)}k=0;m=l;while(1){f[i>>2]=f[m+(k<<2)>>2];f[h>>2]=f[i>>2];if(!(Jb(j,h,c,k)|0)){q=0;w=28;break}l=W(k,e)|0;x=b+(l<<2)|0;y=c+(l<<2)|0;if((f[g>>2]|0)>0){l=0;do{z=f[a+68+(l<<2)>>2]|0;A=f[o>>2]|0;do if((z|0)<=(A|0)){B=f[s>>2]|0;C=f[r>>2]|0;D=C+(l<<2)|0;if((z|0)<(B|0)){f[D>>2]=B;E=C;break}else{f[D>>2]=z;E=C;break}}else{C=f[r>>2]|0;f[C+(l<<2)>>2]=A;E=C}while(0);l=l+1|0;F=f[g>>2]|0}while((l|0)<(F|0));if((F|0)>0){l=0;do{A=(f[x+(l<<2)>>2]|0)+(f[E+(l<<2)>>2]|0)|0;z=y+(l<<2)|0;f[z>>2]=A;if((A|0)<=(f[o>>2]|0)){if((A|0)<(f[s>>2]|0)){G=(f[t>>2]|0)+A|0;w=24}}else{G=A-(f[t>>2]|0)|0;w=24}if((w|0)==24){w=0;f[z>>2]=G}l=l+1|0}while((l|0)<(f[g>>2]|0))}}k=k+1|0;if((k|0)>=(p|0)){q=1;w=28;break}l=f[n>>2]|0;m=f[l>>2]|0;if((f[l+4>>2]|0)-m>>2>>>0<=k>>>0){v=l;w=8;break}}if((w|0)==8)$n(v);else if((w|0)==28){u=d;return q|0}return 0}function ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=Ia,r=Ia,s=Ia,t=0,u=0,v=0,w=0,x=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0<d>>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((j|0)!=0?(k=f[j>>2]|0,(k|0)!=0):0){if(h){h=k;while(1){j=f[h+4>>2]|0;if(!((j|0)==(c|0)|(j&g|0)==(i|0))){l=i;break a}if((f[h+8>>2]|0)==(c|0)){m=h;break}h=f[h>>2]|0;if(!h){l=i;break a}}o=m+12|0;return o|0}h=k;while(1){g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0<d>>>0)p=g;else p=(g>>>0)%(d>>>0)|0;if((p|0)!=(i|0)){l=i;break a}}if((f[h+8>>2]|0)==(c|0)){m=h;break}h=f[h>>2]|0;if(!h){l=i;break a}}o=m+12|0;return o|0}else l=i}else l=0;while(0);i=wk(16)|0;f[i+8>>2]=c;f[i+12>>2]=0;f[i+4>>2]=c;f[i>>2]=0;p=a+12|0;q=_(((f[p>>2]|0)+1|0)>>>0);r=_(d>>>0);s=_(n[a+16>>2]);do if(e|_(s*r)<q){h=d<<1|(d>>>0<3|(d+-1&d|0)!=0)&1;k=~~_(V(_(q/s)))>>>0;dg(a,h>>>0<k>>>0?k:h);h=f[b>>2]|0;k=h+-1|0;if(!(k&h)){t=h;u=k&c;break}if(c>>>0<h>>>0){t=h;u=c}else{t=h;u=(c>>>0)%(h>>>0)|0}}else{t=d;u=l}while(0);l=(f[a>>2]|0)+(u<<2)|0;u=f[l>>2]|0;if(!u){d=a+8|0;f[i>>2]=f[d>>2];f[d>>2]=i;f[l>>2]=d;d=f[i>>2]|0;if(d|0){l=f[d+4>>2]|0;d=t+-1|0;if(d&t)if(l>>>0<t>>>0)v=l;else v=(l>>>0)%(t>>>0)|0;else v=l&d;w=(f[a>>2]|0)+(v<<2)|0;x=33}}else{f[i>>2]=f[u>>2];w=u;x=33}if((x|0)==33)f[w>>2]=i;f[p>>2]=(f[p>>2]|0)+1;m=i;o=m+12|0;return o|0}function fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=vl(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=H;do switch(e<<24>>24){case 1:{l=Ge(a,c,d)|0;return l|0}case 2:{l=Ge(a,c,d)|0;return l|0}case 3:{l=Ge(a,c,d)|0;return l|0}case 4:{l=Ge(a,c,d)|0;return l|0}case 5:{l=Ge(a,c,d)|0;return l|0}case 6:{l=Ge(a,c,d)|0;return l|0}case 7:{l=Ge(a,c,d)|0;return l|0}case 8:{l=Ge(a,c,d)|0;return l|0}case 9:{l=Fe(a,c,d)|0;return l|0}case 10:{l=Ee(a,c,d)|0;return l|0}case 11:{l=De(a,c,d)|0;return l|0}case 12:{l=Ce(a,c,d)|0;return l|0}case 13:{l=Be(a,c,d)|0;return l|0}case 14:{l=Ae(a,c,d)|0;return l|0}case 15:{l=Ae(a,c,d)|0;return l|0}case 16:{l=Ae(a,c,d)|0;return l|0}case 17:{l=Ae(a,c,d)|0;return l|0}case 18:{l=Ae(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;if(((l?j:0-j|0)+(k?h:0-h|0)|0)>(m|0)){if(k)if(!l)if((h|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((j|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(h|0)>0?1:-1;o=(j|0)>0?1:-1}l=W(n,m)|0;k=W(o,m)|0;q=(h<<1)-l|0;f[c>>2]=q;r=(j<<1)-k|0;f[i>>2]=r;if((W(n,o)|0)>-1){o=0-r|0;f[c>>2]=o;s=o;t=0-q|0}else{f[c>>2]=r;s=r;t=q}q=(s+l|0)/2|0;f[c>>2]=q;c=(t+k|0)/2|0;f[i>>2]=c;u=0;v=q;w=c;x=f[e>>2]|0}else{u=1;v=h;w=j;x=m}m=(f[d>>2]|0)+v|0;f[a>>2]=m;v=(f[d+4>>2]|0)+w|0;w=a+4|0;f[w>>2]=v;if((x|0)>=(m|0))if((m|0)<(0-x|0))y=(f[b+4>>2]|0)+m|0;else y=m;else y=m-(f[b+4>>2]|0)|0;f[a>>2]=y;if((x|0)>=(v|0))if((v|0)<(0-x|0))z=(f[b+4>>2]|0)+v|0;else z=v;else z=v-(f[b+4>>2]|0)|0;f[w>>2]=z;if(u){A=y;B=z;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}if((y|0)>-1)if((z|0)<=-1)if((y|0)<1){I=-1;J=-1}else p=24;else{I=1;J=1}else if((z|0)<1){I=-1;J=-1}else p=24;if((p|0)==24){I=(y|0)>0?1:-1;J=(z|0)>0?1:-1}p=W(I,x)|0;u=W(J,x)|0;x=(y<<1)-p|0;f[a>>2]=x;y=(z<<1)-u|0;f[w>>2]=y;if((W(I,J)|0)>-1){J=0-y|0;f[a>>2]=J;K=J;L=0-x|0}else{f[a>>2]=y;K=y;L=x}x=(K+p|0)/2|0;f[a>>2]=x;p=(L+u|0)/2|0;f[w>>2]=p;A=x;B=p;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}function hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;switch(f[e+28>>2]|0){case 2:{g=b[e+24>>0]|0;h=g<<24>>24;i=Ho((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;a:do if(c|0){if(g<<24>>24<=0){Bf(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1)break;j=0;l=1;while(1){j=j+h|0;Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+j|0,i|0,h|0)|0;l=l+1|0;if((l|0)==(c|0))break a}}l=0;j=0;while(1){m=0;n=j;while(1){b[i+m>>0]=f[k+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+j|0,i|0,h|0)|0;l=l+1|0;if((l|0)==(c|0))break;else j=j+h|0}}while(0);Io(i);o=1;return o|0}case 1:{i=b[e+24>>0]|0;h=i<<24>>24;k=Ho((h|0)>-1?h:-1)|0;g=f[a+16>>2]|0;if(!(f[g+80>>2]|0))p=0;else p=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;b:do if(c|0){if(i<<24>>24<=0){Bf(f[f[e+64>>2]>>2]|0,k|0,h|0)|0;if((c|0)==1)break;g=0;j=1;while(1){g=g+h|0;Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+g|0,k|0,h|0)|0;j=j+1|0;if((j|0)==(c|0))break b}}j=0;g=0;while(1){l=0;n=g;while(1){b[k+l>>0]=f[p+(n<<2)>>2];l=l+1|0;if((l|0)==(h|0))break;else n=n+1|0}Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+g|0,k|0,h|0)|0;j=j+1|0;if((j|0)==(c|0))break;else g=g+h|0}}while(0);Io(k);o=1;return o|0}case 4:{_f(a,c);o=1;return o|0}case 3:{_f(a,c);o=1;return o|0}case 6:{$f(a,c);o=1;return o|0}case 5:{$f(a,c);o=1;return o|0}default:{o=0;return o|0}}return 0}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<<g&f[c>>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0<q>>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<<s);f[v>>2]=w;s=f[e>>2]|0;f[v>>2]=w|(s>>>0>g>>>0?r<<s-g:r>>>(g-s|0));s=(f[e>>2]|0)+u|0;w=v+(s>>>5<<2)|0;f[d>>2]=w;v=s&31;f[e>>2]=v;s=q-u|0;if((s|0)>0){f[w>>2]=f[w>>2]&~(-1>>>(32-s|0))|r>>>(u+g|0);f[e>>2]=s;x=s}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<<o;if((m|0)>31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;s=p;g=f[e>>2]|0;u=e;while(1){r=f[s>>2]|0;w=g&o;f[u>>2]=w;f[u>>2]=r<<f[n>>2]|w;u=u+4|0;g=f[u>>2]&x|r>>>v;f[u>>2]=g;if((h|0)<=63)break;else{h=h+-32|0;s=s+4|0}}s=p+(q<<2)|0;f[b>>2]=s;f[d>>2]=e+(q<<2);y=c;z=s}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;s=f[m>>2]&~(-1<<f[n>>2]&-1>>>(v-z|0));f[m>>2]=s;f[m>>2]=p<<f[n>>2]|s;s=(f[n>>2]|0)+z|0;v=m+(s>>>5<<2)|0;f[d>>2]=v;f[n>>2]=s&31;s=y-z|0;if((s|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-s|0))|p>>>z;f[n>>2]=s;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<<h&f[c>>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0<r>>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<<h);f[u>>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<<h-e:s>>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<<q;if((n|0)>31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;e=f[d>>2]|0;t=f[e>>2]&q;f[e>>2]=t;f[e>>2]=v<<f[o>>2]|t;t=e+4|0;f[d>>2]=t;f[t>>2]=f[t>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<<f[o>>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=p<<f[o>>2]|i;i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function kd(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=W(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;We(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;q=l+8|0;f[q>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)$n(l);else{e=o<<1;s=wk(e)|0;f[l>>2]=s;t=s+(o<<1)|0;f[q>>2]=t;oh(s|0,0,e|0)|0;f[g>>2]=t;break}while(0);We(h,0,0+(a<<1)|0);a:do if(!p)v=1;else{a=c+84|0;q=c+68|0;if(n<<24>>24<=0){t=0;while(1){if(!(b[a>>0]|0))w=f[(f[q>>2]|0)+(t<<2)>>2]|0;else w=t;e=f[l>>2]|0;f[k>>2]=w;s=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Ab(c,j,s,e)|0)){v=0;break a}t=t+1|0;if(t>>>0>=p>>>0){v=1;break a}}}t=0;e=0;while(1){if(!(b[a>>0]|0))x=f[(f[q>>2]|0)+(e<<2)>>2]|0;else x=e;s=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Ab(c,j,y,s)|0)){v=0;break a}s=f[l>>2]|0;y=f[h>>2]|0;z=0;A=t;while(1){d[y+(A<<1)>>1]=d[s+(z<<1)>>1]|0;z=z+1|0;if((z|0)==(o|0))break;else A=A+1|0}e=e+1|0;if(e>>>0>=p>>>0){v=1;break}else t=t+o|0}}while(0);o=f[l>>2]|0;if(o|0){f[g>>2]=o;Ko(o)}r=v;u=i;return r|0}function ld(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=W(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;We(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;q=l+8|0;f[q>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)$n(l);else{e=o<<1;s=wk(e)|0;f[l>>2]=s;t=s+(o<<1)|0;f[q>>2]=t;oh(s|0,0,e|0)|0;f[g>>2]=t;break}while(0);We(h,0,0+(a<<1)|0);a:do if(!p)v=1;else{a=c+84|0;q=c+68|0;if(n<<24>>24<=0){t=0;while(1){if(!(b[a>>0]|0))w=f[(f[q>>2]|0)+(t<<2)>>2]|0;else w=t;e=f[l>>2]|0;f[k>>2]=w;s=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Bb(c,j,s,e)|0)){v=0;break a}t=t+1|0;if(t>>>0>=p>>>0){v=1;break a}}}t=0;e=0;while(1){if(!(b[a>>0]|0))x=f[(f[q>>2]|0)+(e<<2)>>2]|0;else x=e;s=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Bb(c,j,y,s)|0)){v=0;break a}s=f[l>>2]|0;y=f[h>>2]|0;z=0;A=t;while(1){d[y+(A<<1)>>1]=d[s+(z<<1)>>1]|0;z=z+1|0;if((z|0)==(o|0))break;else A=A+1|0}e=e+1|0;if(e>>>0>=p>>>0){v=1;break}else t=t+o|0}}while(0);o=f[l>>2]|0;if(o|0){f[g>>2]=o;Ko(o)}r=v;u=i;return r|0}function md(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=W(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ye(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;p=k+8|0;f[p>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)$n(k);else{d=n<<2;r=wk(d)|0;f[k>>2]=r;s=r+(n<<2)|0;f[p>>2]=s;oh(r|0,0,d|0)|0;f[e>>2]=s;break}while(0);Ye(g,0,0+(a<<2)|0);a:do if(!o)t=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24<=0){s=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(s<<2)>>2]|0;else v=s;d=f[k>>2]|0;f[j>>2]=v;r=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Cb(c,i,r,d)|0)){t=0;break a}s=s+1|0;if(s>>>0>=o>>>0){t=1;break a}}}s=0;d=0;while(1){if(!(b[a>>0]|0))w=f[(f[p>>2]|0)+(d<<2)>>2]|0;else w=d;r=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Cb(c,i,x,r)|0)){t=0;break a}r=f[k>>2]|0;x=f[g>>2]|0;y=0;z=s;while(1){f[x+(z<<2)>>2]=f[r+(y<<2)>>2];y=y+1|0;if((y|0)==(n|0))break;else z=z+1|0}d=d+1|0;if(d>>>0>=o>>>0){t=1;break}else s=s+n|0}}while(0);n=f[k>>2]|0;if(n|0){f[e>>2]=n;Ko(n)}q=t;u=h;return q|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d>>2]=0;do if((j[b+38>>1]|0)<514){g=b+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=b+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,4,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0<n>>>0){o=0;u=c;return o|0}else{i=(f[b>>2]|0)+m|0;m=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d>>2]=m;i=g;f[i>>2]=n;f[i+4>>2]=l;p=m;break}}else if(zh(d,b)|0){p=f[d>>2]|0;break}else{o=0;u=c;return o|0}while(0);if(!p){o=0;u=c;return o|0}m=a+76|0;td(m,p,0);ym(e);if(rd(e,b)|0){if(f[d>>2]|0){p=1;l=0;do{p=p^((pi(e)|0)^1);i=(f[m>>2]|0)+(l>>>5<<2)|0;n=1<<(l&31);if(p)q=f[i>>2]|n;else q=f[i>>2]&~n;f[i>>2]=q;l=l+1|0}while(l>>>0<(f[d>>2]|0)>>>0)}d=b+8|0;l=f[d>>2]|0;q=f[d+4>>2]|0;d=b+16|0;p=d;m=f[p>>2]|0;e=f[p+4>>2]|0;p=vl(m|0,e|0,4,0)|0;i=H;if(((!((q|0)<(i|0)|(q|0)==(i|0)&l>>>0<p>>>0)?(n=f[b>>2]|0,b=n+m|0,g=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=d,f[b>>2]=p,f[b+4>>2]=i,i=vl(m|0,e|0,8,0)|0,e=H,!((q|0)<(e|0)|(q|0)==(e|0)&l>>>0<i>>>0)):0)?(l=n+p|0,p=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,l=d,f[l>>2]=i,f[l+4>>2]=e,(g|0)<=(p|0)):0)?(f[a+12>>2]=g,f[a+16>>2]=p,e=wl(p|0,((p|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0,g=H,g>>>0<0|(g|0)==0&e>>>0<2147483647):0){g=e+1|0;f[a+20>>2]=g;e=(g|0)/2|0;p=a+24|0;f[p>>2]=e;f[a+28>>2]=0-e;if(!(g&1)){f[p>>2]=e+-1;r=1}else r=1}else r=0}else r=0;o=r;u=c;return o|0}function od(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=W(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ye(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;p=k+8|0;f[p>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)$n(k);else{d=n<<2;r=wk(d)|0;f[k>>2]=r;s=r+(n<<2)|0;f[p>>2]=s;oh(r|0,0,d|0)|0;f[e>>2]=s;break}while(0);Ye(g,0,0+(a<<2)|0);a:do if(!o)t=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24<=0){s=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(s<<2)>>2]|0;else v=s;d=f[k>>2]|0;f[j>>2]=v;r=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Db(c,i,r,d)|0)){t=0;break a}s=s+1|0;if(s>>>0>=o>>>0){t=1;break a}}}s=0;d=0;while(1){if(!(b[a>>0]|0))w=f[(f[p>>2]|0)+(d<<2)>>2]|0;else w=d;r=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Db(c,i,x,r)|0)){t=0;break a}r=f[k>>2]|0;x=f[g>>2]|0;y=0;z=s;while(1){f[x+(z<<2)>>2]=f[r+(y<<2)>>2];y=y+1|0;if((y|0)==(n|0))break;else z=z+1|0}d=d+1|0;if(d>>>0>=o>>>0){t=1;break}else s=s+n|0}}while(0);n=f[k>>2]|0;if(n|0){f[e>>2]=n;Ko(n)}q=t;u=h;return q|0}function pd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=W(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;p=k+8|0;f[p>>2]=0;if(m<<24>>24){if(m<<24>>24<0)$n(k);d=wk(n)|0;f[e>>2]=d;f[k>>2]=d;f[p>>2]=d+n;p=n;r=d;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;p=p+-1|0}while((p|0)!=0)}rf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24<=0){r=0;while(1){if(!(b[a>>0]|0))t=f[(f[p>>2]|0)+(r<<2)>>2]|0;else t=r;d=f[k>>2]|0;f[j>>2]=t;v=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Eb(c,i,v,d)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}r=0;d=0;while(1){if(!(b[a>>0]|0))w=f[(f[p>>2]|0)+(d<<2)>>2]|0;else w=d;v=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Eb(c,i,x,v)|0)){s=0;break a}v=0;x=r;while(1){b[(f[g>>2]|0)+x>>0]=b[(f[k>>2]|0)+v>>0]|0;v=v+1|0;if((v|0)==(n|0))break;else x=x+1|0}d=d+1|0;if(d>>>0>=o>>>0){s=1;break}else r=r+n|0}}while(0);n=f[k>>2]|0;if(n|0){f[e>>2]=n;Ko(n)}q=s;u=h;return q|0}function qd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=W(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;p=k+8|0;f[p>>2]=0;if(m<<24>>24){if(m<<24>>24<0)$n(k);d=wk(n)|0;f[e>>2]=d;f[k>>2]=d;f[p>>2]=d+n;p=n;r=d;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;p=p+-1|0}while((p|0)!=0)}rf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24<=0){r=0;while(1){if(!(b[a>>0]|0))t=f[(f[p>>2]|0)+(r<<2)>>2]|0;else t=r;d=f[k>>2]|0;f[j>>2]=t;v=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Fb(c,i,v,d)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}r=0;d=0;while(1){if(!(b[a>>0]|0))w=f[(f[p>>2]|0)+(d<<2)>>2]|0;else w=d;v=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Fb(c,i,x,v)|0)){s=0;break a}v=0;x=r;while(1){b[(f[g>>2]|0)+x>>0]=b[(f[k>>2]|0)+v>>0]|0;v=v+1|0;if((v|0)==(n|0))break;else x=x+1|0}d=d+1|0;if(d>>>0>=o>>>0){s=1;break}else r=r+n|0}}while(0);n=f[k>>2]|0;if(n|0){f[e>>2]=n;Ko(n)}q=s;u=h;return q|0}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}b[a+12>>0]=b[(f[c>>2]|0)+n>>0]|0;n=l;i=f[n>>2]|0;o=f[n+4>>2]|0;n=vl(i|0,o|0,1,0)|0;k=l;f[k>>2]=n;f[k+4>>2]=H;if((j[c+38>>1]|0)<514){k=g;m=f[k>>2]|0;q=f[k+4>>2]|0;k=vl(i|0,o|0,5,0)|0;o=H;if((q|0)<(o|0)|(q|0)==(o|0)&m>>>0<k>>>0)r=0;else{i=(f[c>>2]|0)+n|0;n=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[e>>2]=n;i=l;f[i>>2]=k;f[i+4>>2]=o;s=m;t=q;v=k;w=o;x=n;y=7}}else if(zh(e,c)|0){n=g;g=l;s=f[n>>2]|0;t=f[n+4>>2]|0;v=f[g>>2]|0;w=f[g+4>>2]|0;x=f[e>>2]|0;y=7}else r=0;a:do if((y|0)==7){e=wl(s|0,t|0,v|0,w|0)|0;g=H;if(!((g|0)<0|(g|0)==0&e>>>0<x>>>0)?(e=(f[c>>2]|0)+v|0,(x|0)>=1):0){f[a>>2]=e;g=x+-1|0;n=e+g|0;switch((h[n>>0]|0)>>>6&3){case 0:{f[a+4>>2]=g;g=b[n>>0]&63;n=a+8|0;f[n>>2]=g;z=n;A=g;break}case 1:{if((x|0)<2){r=0;break a}f[a+4>>2]=x+-2;g=e+x+-2|0;n=(h[g+1>>0]|0)<<8&16128|(h[g>>0]|0);g=a+8|0;f[g>>2]=n;z=g;A=n;break}case 2:{if((x|0)<3){r=0;break a}f[a+4>>2]=x+-3;n=e+x+-3|0;e=(h[n+1>>0]|0)<<8|(h[n>>0]|0)|(h[n+2>>0]|0)<<16&4128768;n=a+8|0;f[n>>2]=e;z=n;A=e;break}default:{r=0;break a}}e=A+4096|0;f[z>>2]=e;if(e>>>0<1048576){e=vl(v|0,w|0,x|0,0)|0;n=l;f[n>>2]=e;f[n+4>>2]=H;r=1}else r=0}else r=0}while(0);p=r;u=d;return p|0}function sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+32|0;g=e+8|0;i=e;switch(d|0){case 2:{d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){f[i>>2]=0;k=0}else{l=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Ka[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Cd(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);m=f[i>>2]|0;if(!m){f[i>>2]=0;break}else{k=m;break a}}while(0);m=wk(24)|0;f[m+4>>2]=l;n=m+8|0;f[n>>2]=f[g>>2];f[n+4>>2]=f[g+4>>2];f[n+8>>2]=f[g+8>>2];f[n+12>>2]=f[g+12>>2];f[m>>2]=2604;n=m;f[i>>2]=n;k=n}while(0);f[a>>2]=k;u=e;return}case 3:{k=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;b:do if((c|0)==-2){f[i>>2]=0;o=0}else{b=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(k<<2)>>2]|0;do if((Ka[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Bd(i,j,c,k,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);d=f[i>>2]|0;if(!d){f[i>>2]=0;break}else{o=d;break b}}while(0);l=wk(24)|0;f[l+4>>2]=b;d=l+8|0;f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];f[d+12>>2]=f[g+12>>2];f[l>>2]=2660;d=l;f[i>>2]=d;o=d}while(0);f[a>>2]=o;u=e;return}default:{f[a>>2]=0;u=e;return}}}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0<m>>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)$n(a);p=k<<6;k=b+31&-32;vg(e,l>>>0<1073741823?(p>>>0<k>>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;Rj(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)Ko(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<<y;c=v+4|0;z=m-b|0;A=c;B=c}c=z>>>5;oh(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<<y);y=v+4|0;C=m-i|0;D=y;E=y}y=C>>>5;oh(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function ud(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=vl(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=H;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(La[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if(e>>>0>=k>>>0)break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Ma[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(La[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=27;break}}while(j>>>0<k>>>0);if((n|0)==27)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Ka[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=La[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[d>>2]|0;m=(f[n>>2]|0)-i>>2;o=i;do if(g>>>0>=m>>>0){i=g+1|0;if(i>>>0>m>>>0){Eg(d,i-m|0);p=f[d>>2]|0;break}if(i>>>0<m>>>0){f[n>>2]=o+(i<<2);p=o}else p=o}else p=o;while(0);f[p+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function vd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;d=c;while(1){e=d+8|0;g=f[e>>2]|0;h=g+12|0;if(b[h>>0]|0){i=24;break}j=f[g+8>>2]|0;c=f[j>>2]|0;if((c|0)==(g|0)){k=f[j+4>>2]|0;if(!k){i=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{i=7;break}}else{if(!c){i=16;break}l=c+12|0;if(!(b[l>>0]|0))m=l;else{i=16;break}}b[h>>0]=1;b[j+12>>0]=(j|0)==(a|0)&1;b[m>>0]=1;if((j|0)==(a|0)){i=24;break}else d=j}if((i|0)==7){a=g+8|0;if((f[g>>2]|0)==(d|0)){n=h;o=j}else{m=g+4|0;l=f[m>>2]|0;c=f[l>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[a>>2]|0}f[l+8>>2]=p;p=f[a>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=l;f[l>>2]=g;f[a>>2]=l;n=l+12|0;o=f[l+8>>2]|0}b[n>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;l=n+4|0;a=f[l>>2]|0;f[o>>2]=a;if(a|0)f[a+8>>2]=o;a=o+8|0;f[n+8>>2]=f[a>>2];p=f[a>>2]|0;f[((f[p>>2]|0)==(o|0)?p:p+4|0)>>2]=n;f[l>>2]=o;f[a>>2]=n;return}else if((i|0)==16){n=g+8|0;if((f[g>>2]|0)==(d|0)){a=d+4|0;o=f[a>>2]|0;f[g>>2]=o;if(!o)q=j;else{f[o+8>>2]=g;q=f[n>>2]|0}f[e>>2]=q;q=f[n>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=d;f[a>>2]=g;f[n>>2]=d;r=d+12|0;s=f[d+8>>2]|0}else{r=h;s=j}b[r>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;h=f[j>>2]|0;f[r>>2]=h;if(h|0)f[h+8>>2]=s;h=s+8|0;f[j+8>>2]=f[h>>2];r=f[h>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[h>>2]=j;return}else if((i|0)==24)return}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/24|0;h=g+1|0;i=e;j=d;if(h>>>0>178956970)$n(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/24|0;l=k<<1;m=k>>>0<89478485?(l>>>0<h>>>0?h:l):178956970;do if(m)if(m>>>0>178956970){l=qa(8)|0;Dm(l,13552);f[l>>2]=4908;ta(l|0,1128,105)}else{n=wk(m*24|0)|0;break}else n=0;while(0);l=n+(g*24|0)|0;h=n+(m*24|0)|0;f[l>>2]=1228;f[n+(g*24|0)+4>>2]=f[b+4>>2];m=n+(g*24|0)+8|0;f[m>>2]=0;k=n+(g*24|0)+12|0;f[k>>2]=0;o=n+(g*24|0)+16|0;f[o>>2]=0;p=f[b+8>>2]|0;q=(f[b+12>>2]|0)-p|0;r=q>>2;if(q|0){if(r>>>0>1073741823)$n(m);s=wk(q)|0;f[k>>2]=s;f[m>>2]=s;f[o>>2]=s+(r<<2);if((q|0)>0){Bf(s|0,p|0,q|0)|0;f[k>>2]=s+(q>>>2<<2)}}f[n+(g*24|0)+20>>2]=f[b+20>>2];b=l+24|0;if((j|0)!=(i|0)){g=j;j=l;do{f[j+-24>>2]=1228;f[j+-20>>2]=f[g+-20>>2];n=j+-16|0;q=g+-16|0;f[n>>2]=0;s=j+-12|0;f[s>>2]=0;k=j+-8|0;f[k>>2]=0;f[n>>2]=f[q>>2];n=g+-12|0;f[s>>2]=f[n>>2];s=g+-8|0;f[k>>2]=f[s>>2];f[s>>2]=0;f[n>>2]=0;f[q>>2]=0;f[j+-4>>2]=f[g+-4>>2];g=g+-24|0;j=j+-24|0}while((g|0)!=(i|0));i=f[a>>2]|0;g=f[c>>2]|0;q=i;f[a>>2]=j;f[c>>2]=b;f[d>>2]=h;if((g|0)==(q|0))t=i;else{j=g;do{j=j+-24|0;Pa[f[f[j>>2]>>2]&127](j)}while((j|0)!=(q|0));t=i}}else{f[a>>2]=l;f[c>>2]=b;f[d>>2]=h;t=e}if(!t)return;Ko(t);return}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=wk(124)|0;f[k+4>>2]=0;f[k>>2]=3340;f[k+12>>2]=3364;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;o=h+4|0;f[o>>2]=3364;p=h+92|0;f[p>>2]=0;q=h+96|0;f[q>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=3364;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[c>>2]=l;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Gf(i+8|0,m,g);Pa[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];He(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;mf(k,h);f[a>>2]=n;f[i>>2]=3364;n=f[i+20>>2]|0;if(n|0)Ko(n);n=f[i+8>>2]|0;if(n|0)Ko(n);n=f[p>>2]|0;if(n|0){f[q>>2]=n;Ko(n)}n=f[h+76>>2]|0;if(n|0){f[h+80>>2]=n;Ko(n)}n=f[h+64>>2]|0;if(n|0){f[h+68>>2]=n;Ko(n)}n=f[h+52>>2]|0;if(n|0){f[h+56>>2]=n;Ko(n)}f[o>>2]=3364;o=f[h+24>>2]|0;if(o|0)Ko(o);o=f[h+12>>2]|0;if(!o){u=e;return}Ko(o);u=e;return}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+12|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;f[g>>2]=0;m=g+4|0;f[m>>2]=0;n=g+8|0;f[n>>2]=0;if(!(k<<24>>24))o=0;else{if(k<<24>>24<0)$n(g);k=wk(l)|0;f[m>>2]=k;f[g>>2]=k;f[n>>2]=k+l;n=l;l=k;do{b[l>>0]=0;l=(f[m>>2]|0)+1|0;f[m>>2]=l;n=n+-1|0}while((n|0)!=0);o=b[j>>0]|0}n=o<<24>>24;f[i>>2]=0;l=i+4|0;f[l>>2]=0;k=i+8|0;f[k>>2]=0;if(o<<24>>24){if(o<<24>>24<0)$n(i);o=wk(n)|0;f[l>>2]=o;f[i>>2]=o;f[k>>2]=o+n;k=n;n=o;do{b[n>>0]=0;n=(f[l>>2]|0)+1|0;f[l>>2]=n;k=k+-1|0}while((k|0)!=0)}k=c+80|0;if(!(f[k>>2]|0))p=f[i>>2]|0;else{n=c+48|0;o=c+40|0;q=c+64|0;r=a+48|0;a=0;do{s=f[g>>2]|0;t=n;v=f[t>>2]|0;w=f[t+4>>2]|0;t=o;x=f[t>>2]|0;y=Bk(x|0,f[t+4>>2]|0,a|0,0)|0;t=vl(y|0,H|0,v|0,w|0)|0;Bf(s|0,(f[f[c>>2]>>2]|0)+t|0,x|0)|0;if((b[j>>0]|0)>0?(b[f[i>>2]>>0]=(f[(f[r>>2]|0)+(d<<2)>>2]|0)+(h[s>>0]|0),(b[j>>0]|0)>1):0){s=1;do{b[(f[i>>2]|0)+s>>0]=(f[(f[r>>2]|0)+(s+d<<2)>>2]|0)+(h[(f[g>>2]|0)+s>>0]|0);s=s+1|0}while((s|0)<(b[j>>0]|0))}s=f[i>>2]|0;x=f[o>>2]|0;Bf((f[f[q>>2]>>2]|0)+(W(a,x)|0)|0,s|0,x|0)|0;a=a+1|0}while(a>>>0<(f[k>>2]|0)>>>0);p=s}if(p|0){f[l>>2]=p;Ko(p)}p=f[g>>2]|0;if(!p){u=e;return 1}f[m>>2]=p;Ko(p);u=e;return 1}function zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=vl(l|0,f[k+4>>2]|0,4,0)|0;k=H;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0<m>>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}td(a+76|0,l,0);ym(d);if(rd(d,b)|0){if((l|0)>0){k=a+76|0;i=1;m=0;do{i=i^((pi(d)|0)^1);j=(f[k>>2]|0)+(m>>>5<<2)|0;o=1<<(m&31);if(i)p=f[j>>2]|o;else p=f[j>>2]&~o;f[j>>2]=p;m=m+1|0}while((m|0)<(l|0))}l=e;e=f[l>>2]|0;m=f[l+4>>2]|0;l=g;p=f[l>>2]|0;i=f[l+4>>2]|0;l=vl(p|0,i|0,4,0)|0;k=H;if(((!((m|0)<(k|0)|(m|0)==(k|0)&e>>>0<l>>>0)?(d=f[b>>2]|0,b=d+p|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=k,k=vl(p|0,i|0,8,0)|0,i=H,!((m|0)<(i|0)|(m|0)==(i|0)&e>>>0<k>>>0)):0)?(e=d+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=k,f[e+4>>2]=i,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,i=wl(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=H,j>>>0<0|(j|0)==0&i>>>0<2147483647):0){j=i+1|0;f[a+20>>2]=j;i=(j|0)/2|0;l=a+24|0;f[l>>2]=i;f[a+28>>2]=0-i;if(!(j&1)){f[l>>2]=i+-1;q=1}else q=1}else q=0}else q=0;n=q;u=c;return n|0}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/144|0)>>>0>=c>>>0){i=c;j=h;do{f[j>>2]=-1;ti(j+4|0);b[j+100>>0]=1;k=j+104|0;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));j=(f[g>>2]|0)+144|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/144|0;h=j+c|0;if(h>>>0>29826161)$n(a);m=(e-i|0)/144|0;i=m<<1;e=m>>>0<14913080?(i>>>0<h>>>0?h:i):29826161;do if(e)if(e>>>0>29826161){i=qa(8)|0;Dm(i,13552);f[i>>2]=4908;ta(i|0,1128,105)}else{n=wk(e*144|0)|0;break}else n=0;while(0);i=n+(j*144|0)|0;j=i;h=n+(e*144|0)|0;e=c;c=j;n=i;while(1){f[n>>2]=-1;ti(n+4|0);b[n+100>>0]=1;k=n+104|0;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));o=c+144|0;m=e+-1|0;if(!m)break;else{e=m;c=o;n=o}}n=o;o=f[a>>2]|0;c=f[g>>2]|0;if((c|0)==(o|0)){p=j;q=o;r=o}else{j=c;c=i;do{c=c+-144|0;j=j+-144|0;Uc(c,j)}while((j|0)!=(o|0));p=c;q=f[a>>2]|0;r=f[g>>2]|0}f[a>>2]=p;f[g>>2]=n;f[d>>2]=h;h=q;if((r|0)!=(h|0)){d=r;do{r=f[d+-12>>2]|0;if(r|0){f[d+-8>>2]=r;Ko(r)}r=f[d+-28>>2]|0;if(r|0){f[d+-24>>2]=r;Ko(r)}r=f[d+-40>>2]|0;if(r|0){f[d+-36>>2]=r;Ko(r)}di(d+-140|0);d=d+-144|0}while((d|0)!=(h|0))}if(!q)return;Ko(q);return}function Bd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ka[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Ka[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=La[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=La[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=wk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2800;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2856;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=wk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2716;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2772;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;h=0;f[a>>2]=h;return}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ka[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Ka[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=La[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=La[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=wk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2968;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=3024;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=wk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2884;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2940;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;h=0;f[a>>2]=h;return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c;e=a+40|0;g=e;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(vf(e,1,d)|0){g=a;h=e;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=d;k=f[e>>2]|0;l=f[e+4>>2]|0;e=a+8|0;m=e;n=a+16|0;o=n;p=f[o>>2]|0;q=f[o+4>>2]|0;o=wl(f[m>>2]|0,f[m+4>>2]|0,p|0,q|0)|0;m=H;if(!(l>>>0>m>>>0|(l|0)==(m|0)&k>>>0>o>>>0)){o=vl(p|0,q|0,k|0,l|0)|0;l=n;f[l>>2]=o;f[l+4>>2]=H;do if((j[a+38>>1]|0)>=514){if(!(rd(a+80|0,a)|0)){r=0;u=c;return r|0}}else{l=a+96|0;g=l;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(vf(l,1,d)|0){g=a;h=l;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=d;o=f[l>>2]|0;k=f[l+4>>2]|0;l=e;q=n;p=f[q>>2]|0;m=f[q+4>>2]|0;q=wl(f[l>>2]|0,f[l+4>>2]|0,p|0,m|0)|0;l=H;if(!(k>>>0>l>>>0|(k|0)==(l|0)&o>>>0>q>>>0)){q=vl(p|0,m|0,o|0,k|0)|0;k=n;f[k>>2]=q;f[k+4>>2]=H;break}}r=0;u=c;return r|0}while(0);if(!(Jg(a)|0)){r=0;u=c;return r|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));r=1;u=c;return r|0}}r=0;u=c;return r|0}function Ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=0;u=e;return j|0}a=g+11|0;k=g+4|0;l=d+11|0;m=d+4|0;n=0;o=h;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=lh(f[o>>2]|0,c,g)|0;p=b[a>>0]|0;b:do if(h){q=p<<24>>24<0;r=p&255;s=q?f[k>>2]|0:r;t=b[l>>0]|0;v=t<<24>>24<0;if((s|0)==((v?f[m>>2]|0:t&255)|0)){t=f[g>>2]|0;w=q?t:g;x=v?f[d>>2]|0:d;v=(s|0)==0;y=t&255;c:do if(q){if(!v?Fi(w,x,s)|0:0){z=0;A=n;B=15;break b}}else if(!v){if((b[x>>0]|0)!=y<<24>>24){C=0;D=n;B=14;break b}t=g;E=r;F=x;while(1){E=E+-1|0;t=t+1|0;if(!E)break c;F=F+1|0;if((b[t>>0]|0)!=(b[F>>0]|0)){C=0;D=n;B=14;break b}}}while(0);C=1;D=f[o>>2]|0;B=14}else{C=0;D=n;B=14}}else{C=3;D=n;B=14}while(0);if((B|0)==14){B=0;if(p<<24>>24<0){z=C;A=D;B=15}else{G=C;H=D}}if((B|0)==15){B=0;Ko(f[g>>2]|0);G=z;H=A}switch(G&3){case 3:case 0:break;default:{j=H;B=18;break a}}o=o+4|0;if((o|0)==(i|0)){j=0;B=18;break}else n=H}if((B|0)==18){u=e;return j|0}return 0}function Fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(kc(a,c)|0)){g=0;u=d;return g|0}h=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0<m>>>0){k=n+(h<<2)|0;if((k|0)!=(l|0)){n=l;do{n=n+-4|0;l=f[n>>2]|0;f[n>>2]=0;if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l)}while((n|0)!=(k|0))}f[j>>2]=k}}else Se(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;j=0;while(1){n=m;l=f[n+4>>2]|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((l|0)>(q|0)|((l|0)==(q|0)?(f[n>>2]|0)>>>0>p>>>0:0))){g=0;r=21;break}n=b[(f[c>>2]|0)+p>>0]|0;l=vl(p|0,q|0,1,0)|0;q=k;f[q>>2]=l;f[q+4>>2]=H;Ra[f[(f[a>>2]|0)+48>>2]&15](e,a,n);n=(f[i>>2]|0)+(j<<2)|0;q=f[e>>2]|0;f[e>>2]=0;l=f[n>>2]|0;f[n>>2]=q;if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l);l=f[e>>2]|0;f[e>>2]=0;if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l);l=f[(f[i>>2]|0)+(j<<2)>>2]|0;if(!l){g=0;r=21;break}q=f[(f[l>>2]|0)+8>>2]|0;n=Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=La[f[(f[a>>2]|0)+20>>2]&127](a,j)|0;j=j+1|0;if(!(Ma[q&31](l,n,p)|0)){g=0;r=21;break}if((j|0)>=(h|0)){g=1;r=21;break}}if((r|0)==21){u=d;return g|0}return 0}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return kb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return mb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return lb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(gf(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+36|0,c)|0)){r=0;return r|0}if(!(gf(a+56|0,c)|0)){r=0;return r|0}if(gf(a+76|0,c)|0)return jb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(gf(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+36|0,c)|0)){r=0;return r|0}if(!(gf(a+56|0,c)|0)){r=0;return r|0}if(gf(a+76|0,c)|0)return ib(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(rd(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+32|0,c)|0)){r=0;return r|0}if(!(gf(a+52|0,c)|0)){r=0;return r|0}if(gf(a+72|0,c)|0)return pb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Md(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(rd(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+32|0,c)|0)){r=0;return r|0}if(!(gf(a+52|0,c)|0)){r=0;return r|0}if(gf(a+72|0,c)|0)return nb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d+12|0;g=d;h=wk(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=1065353216;i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[h+36>>2]=1065353216;f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;jo(e);if(Af(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{m=m+-4|0;k=f[m>>2]|0;f[m>>2]=0;if(k|0){eh(k);Ko(k)}}while((m|0)!=(i|0));l=f[e>>2]|0}f[j>>2]=i;Ko(l)}eh(c);Ko(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=wk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;i=13159;j=l+26|0;do{b[l>>0]=b[i>>0]|0;l=l+1|0;i=i+1|0}while((l|0)<(j|0));b[c+26>>0]=0;f[a>>2]=-1;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;i=f[c>>2]|0;if((i|0)==(a|0))n=a;else{l=i;do{l=l+-4|0;i=f[l>>2]|0;f[l>>2]=0;if(i|0){eh(i);Ko(i)}}while((l|0)!=(a|0));n=f[g>>2]|0}f[c>>2]=a;Ko(n)}eh(h);Ko(h);u=d;return}}function Pd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3408;b=f[a+388>>2]|0;if(b|0){f[a+392>>2]=b;Ko(b)}b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}Io(b)}Ch(a+216|0);b=f[a+196>>2]|0;if(b|0){f[a+200>>2]=b;Ko(b)}b=f[a+184>>2]|0;if(b|0){f[a+188>>2]=b;Ko(b)}b=f[a+172>>2]|0;if(b|0){f[a+176>>2]=b;Ko(b)}b=f[a+160>>2]|0;if(b|0){f[a+164>>2]=b;Ko(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Ko(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ko(b);b=f[a+120>>2]|0;if(b|0)Ko(b);b=f[a+108>>2]|0;if(b|0)Ko(b);b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0)Ko(b);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+36>>2]|0;if(b|0){f[a+40>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=f[a+76>>2]|0;if(b|0){f[a+80>>2]=b;Ko(b)}b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function Qd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=Ia,k=0,l=0,m=0,o=0,p=0,q=Ia,r=Ia,s=Ia,t=Ia,v=Ia,w=0,x=Ia,y=Ia,z=0,A=0;g=u;u=u+32|0;h=g+16|0;i=g;j=_(n[d+4>>2]);k=(1<<f[d>>2])+-1|0;dn(h);qk(h,j,k)|0;d=f[a>>2]|0;if((d|0)==(f[c>>2]|0)){u=g;return}a=h+4|0;l=i+4|0;m=i+8|0;o=e+16|0;p=e+28|0;e=d;do{d=(f[e>>2]|0)-k|0;if((d|0)>-1){j=_(d|0);q=_(n[a>>2]);r=_(q*j);j=_(n[h>>2]);s=_(r*j);t=q;v=j}else{w=wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;j=_(+(w>>>0)+4294967296.0*+(H|0));q=_(n[a>>2]);r=_(q*j);j=_(n[h>>2]);s=_(-_(r*j));t=q;v=j}w=(f[e+4>>2]|0)-k|0;if((w|0)>-1)x=_(_(t*_(w|0))*v);else{d=wl(0,0,w|0,((w|0)<0)<<31>>31|0)|0;x=_(-_(_(t*_(+(d>>>0)+4294967296.0*+(H|0)))*v))}d=(f[e+8>>2]|0)-k|0;if((d|0)>-1)y=_(_(t*_(d|0))*v);else{w=wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;y=_(-_(_(t*_(+(w>>>0)+4294967296.0*+(H|0)))*v))}n[i>>2]=s;n[l>>2]=x;n[m>>2]=y;w=f[o>>2]|0;d=f[w>>2]|0;z=f[p>>2]|0;if(!(b[d+84>>0]|0))A=f[(f[d+68>>2]|0)+(z<<2)>>2]|0;else A=z;z=f[d+40>>2]|0;Bf((f[f[d+64>>2]>>2]|0)+(W(A,z)|0)|0,i+(f[w+4>>2]<<2)|0,z|0)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+12|0}while((e|0)!=(f[c>>2]|0));u=g;return}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)$n(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0<i>>>0?i:g):1073741823;g=d+12|0;f[g>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){i=qa(8)|0;Dm(i,13552);f[i>>2]=4908;ta(i|0,1128,105)}else{m=wk(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;i=m+(h<<2)|0;h=d+8|0;k=d+4|0;f[k>>2]=i;n=m+(l<<2)|0;f[g>>2]=n;l=f[b>>2]|0;f[b>>2]=0;f[i>>2]=l;l=i+4|0;f[h>>2]=l;b=f[a>>2]|0;m=f[e>>2]|0;if((m|0)==(b|0)){o=i;p=g;q=h;r=b;s=l;t=m;v=n;w=o;f[a>>2]=w;f[k>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;Og(d);u=c;return}n=m;m=i;do{n=n+-4|0;i=f[n>>2]|0;f[n>>2]=0;f[m+-4>>2]=i;m=(f[k>>2]|0)+-4|0;f[k>>2]=m}while((n|0)!=(b|0));o=m;p=g;q=h;r=f[a>>2]|0;s=f[h>>2]|0;t=f[e>>2]|0;v=f[g>>2]|0;w=o;f[a>>2]=w;f[k>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;Og(d);u=c;return}function Sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return db(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return fb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return eb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+8|0;i=e+4|0;j=e;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;o=vl(p|0,q|0,4,0)|0;r=H;a:do if((n|0)<(r|0)|(n|0)==(r|0)&m>>>0<o>>>0)s=0;else{t=f[c>>2]|0;v=t+p|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=o;f[v+4>>2]=r;b:do switch(w|0){case 3:{if(!((n|0)>(r|0)|(n|0)==(r|0)&m>>>0>o>>>0)){s=0;break a}v=b[t+o>>0]|0;x=vl(p|0,q|0,5,0)|0;y=l;f[y>>2]=x;f[y+4>>2]=H;f[a+8>>2]=v<<24>>24;if(v<<24>>24==1)if($b(a,c,g)|0)break b;else{s=0;break a}else{Pi(5156,23,1,f[948]|0)|0;s=0;break a}break}case 2:{if(!($b(a,c,g)|0)){s=0;break a}break}default:{Pi(5180,24,1,f[948]|0)|0;s=0;break a}}while(0);f[i>>2]=f[g>>2];f[j>>2]=f[k>>2];Qd(i,j,a,d);s=1}while(0);d=f[g>>2]|0;if(!d){u=e;return s|0}f[k>>2]=d;Ko(d);u=e;return s|0}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(gf(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+36|0,c)|0)){r=0;return r|0}if(!(gf(a+56|0,c)|0)){r=0;return r|0}if(gf(a+76|0,c)|0)return cb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(gf(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+36|0,c)|0)){r=0;return r|0}if(!(gf(a+56|0,c)|0)){r=0;return r|0}if(gf(a+76|0,c)|0)return bb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(rd(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+32|0,c)|0)){r=0;return r|0}if(!(gf(a+52|0,c)|0)){r=0;return r|0}if(gf(a+72|0,c)|0)return hb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0<k>>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0<m>>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(rd(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+32|0,c)|0)){r=0;return r|0}if(!(gf(a+52|0,c)|0)){r=0;return r|0}if(gf(a+72|0,c)|0)return gb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function _d(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3240;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}Io(b)}Ch(a+216|0);b=f[a+196>>2]|0;if(b|0){f[a+200>>2]=b;Ko(b)}b=f[a+184>>2]|0;if(b|0){f[a+188>>2]=b;Ko(b)}b=f[a+172>>2]|0;if(b|0){f[a+176>>2]=b;Ko(b)}b=f[a+160>>2]|0;if(b|0){f[a+164>>2]=b;Ko(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Ko(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ko(b);b=f[a+120>>2]|0;if(b|0)Ko(b);b=f[a+108>>2]|0;if(b|0)Ko(b);b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0)Ko(b);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+36>>2]|0;if(b|0){f[a+40>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=f[a+76>>2]|0;if(b|0){f[a+80>>2]=b;Ko(b)}b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function $d(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Wh(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[g>>2]|0;k=(f[h>>2]|0)-j>>2;if(i>>>0<=k>>>0){if(i>>>0<k>>>0)f[h>>2]=j+(i<<2)}else Of(g,i-k|0,c);k=a+120|0;a=f[k>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){l=1;u=b;return l|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(xb(e,c)|0)){l=0;m=14;break}if(g>>>0>=i>>>0){l=1;m=14;break}}if((m|0)==14){u=b;return l|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){l=1;u=b;return l|0}a=0;g=i;while(1){f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(xb(e,c)|0)){l=0;m=14;break}i=f[k>>2]|0;g=f[i>>2]|0;if(a>>>0>=(f[i+4>>2]|0)-g>>2>>>0){l=1;m=14;break}}if((m|0)==14){u=b;return l|0}}return 0}function ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+32|0;e=d+12|0;g=d;h=Wi(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;m=e+8|0;f[m>>2]=0;n=j;do if(c)if(k>>>0>357913941)$n(e);else{o=wk(c)|0;f[e>>2]=o;f[m>>2]=o+(k*12|0);oh(o|0,0,c|0)|0;f[l>>2]=o+c;p=o;break}else p=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;if((i|0)!=(j|0)){j=g+4|0;i=g+8|0;if(!(b[h+84>>0]|0)){c=f[h+68>>2]|0;h=0;do{m=f[c+(f[n+(h*12|0)>>2]<<2)>>2]|0;f[g>>2]=m;o=f[c+(f[n+(h*12|0)+4>>2]<<2)>>2]|0;f[j>>2]=o;q=f[c+(f[n+(h*12|0)+8>>2]<<2)>>2]|0;f[i>>2]=q;f[p+(h*12|0)>>2]=m;f[p+(h*12|0)+4>>2]=o;f[p+(h*12|0)+8>>2]=q;h=h+1|0}while(h>>>0<k>>>0)}else{h=0;do{c=n+(h*12|0)|0;f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];f[g+8>>2]=f[c+8>>2];f[p+(h*12|0)>>2]=f[g>>2];f[p+(h*12|0)+4>>2]=f[j>>2];f[p+(h*12|0)+8>>2]=f[i>>2];h=h+1|0}while(h>>>0<k>>>0)}}og(a,e);a=f[e>>2]|0;if(a|0){f[l>>2]=a;Ko(a)}u=d;return}function be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[i>>2]|0;l=(f[j>>2]|0)-k>>2;if(h>>>0<=l>>>0)if(h>>>0<l>>>0){f[j>>2]=k+(h<<2);m=g;n=h}else{m=g;n=h}else{Of(i,h-l|0,3328);l=f[e>>2]|0;m=l;n=f[l+80>>2]|0}l=f[m+96>>2]|0;e=(f[m+100>>2]|0)-l|0;m=(e|0)/12|0;h=l;if(!e){o=1;return o|0}e=a+80|0;a=c+68|0;c=0;while(1){l=c*3|0;if((l|0)==-1){o=0;p=11;break}i=f[d>>2]|0;g=f[i+(l<<2)>>2]|0;if((g|0)==-1){o=0;p=11;break}k=f[(f[e>>2]|0)+12>>2]|0;j=f[k+(g<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}g=f[a>>2]|0;f[g+(f[h+(c*12|0)>>2]<<2)>>2]=j;j=l+1|0;if((j|0)==-1){o=0;p=11;break}q=f[i+(j<<2)>>2]|0;if((q|0)==-1){o=0;p=11;break}j=f[k+(q<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}f[g+(f[h+(c*12|0)+4>>2]<<2)>>2]=j;j=l+2|0;if((j|0)==-1){o=0;p=11;break}l=f[i+(j<<2)>>2]|0;if((l|0)==-1){o=0;p=11;break}j=f[k+(l<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}f[g+(f[h+(c*12|0)+8>>2]<<2)>>2]=j;c=c+1|0;if(c>>>0>=m>>>0){o=1;p=11;break}}if((p|0)==11)return o|0;return 0}function ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=W(m,l)|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];n=d+4|0;o=f[d>>2]|0;p=(f[n>>2]|0)-o>>2;if(a>>>0<=p>>>0){if(a>>>0<p>>>0)f[n>>2]=o+(a<<2)}else Eg(d,a-p|0);if(!m){q=1;u=e;return q|0}p=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[p>>0]|0))r=f[(f[a>>2]|0)+(k<<2)>>2]|0;else r=k;f[h>>2]=r;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(ob(c,g,o,i)|0)){q=0;s=19;break}k=k+1|0;if(k>>>0>=m>>>0){q=1;s=19;break}}if((s|0)==19){u=e;return q|0}}k=0;r=0;while(1){if(!(b[p>>0]|0))t=f[(f[a>>2]|0)+(r<<2)>>2]|0;else t=r;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(ob(c,g,o,i)|0)){q=0;s=19;break}o=f[d>>2]|0;n=0;v=k;while(1){f[o+(v<<2)>>2]=f[i+(n<<2)>>2];n=n+1|0;if((n|0)==(l|0))break;else v=v+1|0}r=r+1|0;if(r>>>0>=m>>>0){q=1;s=19;break}else k=k+l|0}if((s|0)==19){u=e;return q|0}return 0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){oh(i|0,0,b<<2|0)|0;f[h>>2]=j+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)$n(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0<m>>>0?m:p):1073741823;p=d+12|0;f[p>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){m=qa(8)|0;Dm(m,13552);f[m>>2]=4908;ta(m|0,1128,105)}else{r=wk(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;m=r+(l<<2)|0;l=d+8|0;o=d+4|0;f[o>>2]=m;s=r+(q<<2)|0;f[p>>2]=s;oh(m|0,0,b<<2|0)|0;q=m+(b<<2)|0;f[l>>2]=q;if((j|0)==(n|0)){t=m;v=p;w=l;x=k;y=q;z=i;A=s;B=g}else{g=j;j=m;do{g=g+-4|0;m=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=m;j=(f[o>>2]|0)+-4|0;f[o>>2]=j}while((g|0)!=(n|0));t=j;v=p;w=l;x=f[a>>2]|0;y=f[l>>2]|0;z=f[h>>2]|0;A=f[p>>2]|0;B=f[e>>2]|0}f[a>>2]=t;f[o>>2]=x;f[h>>2]=y;f[w>>2]=z;f[e>>2]=A;f[v>>2]=B;f[d>>2]=x;Og(d);u=c;return}function ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[i>>2]|0;l=(f[j>>2]|0)-k>>2;if(h>>>0<=l>>>0)if(h>>>0<l>>>0){f[j>>2]=k+(h<<2);m=g;n=h}else{m=g;n=h}else{Of(i,h-l|0,3328);l=f[e>>2]|0;m=l;n=f[l+80>>2]|0}l=f[m+96>>2]|0;e=(f[m+100>>2]|0)-l|0;m=(e|0)/12|0;h=l;if(!e){o=1;return o|0}e=a+116|0;a=c+68|0;c=0;while(1){l=c*3|0;if((l|0)==-1){o=0;p=11;break}i=f[d>>2]|0;g=f[i+(l<<2)>>2]|0;if((g|0)==-1){o=0;p=11;break}k=f[(f[e>>2]|0)+12>>2]|0;j=f[k+(g<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}g=f[a>>2]|0;f[g+(f[h+(c*12|0)>>2]<<2)>>2]=j;j=l+1|0;if((j|0)==-1){o=0;p=11;break}q=f[i+(j<<2)>>2]|0;if((q|0)==-1){o=0;p=11;break}j=f[k+(q<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}f[g+(f[h+(c*12|0)+4>>2]<<2)>>2]=j;j=l+2|0;if((j|0)==-1){o=0;p=11;break}l=f[i+(j<<2)>>2]|0;if((l|0)==-1){o=0;p=11;break}j=f[k+(l<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}f[g+(f[h+(c*12|0)+8>>2]<<2)>>2]=j;c=c+1|0;if(c>>>0>=m>>>0){o=1;p=11;break}}if((p|0)==11)return o|0;return 0}function fe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=vl(k|0,l|0,4,0)|0;m=H;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0<i>>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=vl(k|0,l|0,8,0)|0;p=H;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0<m>>>0){n=0;return n|0}r=o+i|0;i=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=d;f[r>>2]=m;f[r+4>>2]=p;if((q|0)>(i|0)){n=0;return n|0}f[a+12>>2]=q;f[a+16>>2]=i;r=wl(i|0,((i|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=H;if(!(q>>>0<0|(q|0)==0&r>>>0<2147483647)){n=0;return n|0}q=r+1|0;f[a+20>>2]=q;r=(q|0)/2|0;i=a+24|0;f[i>>2]=r;f[a+28>>2]=0-r;if(!(q&1))f[i>>2]=r+-1;if((j[c+38>>1]|0)<514){a:do if((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0){r=b[o+m>>0]|0;i=vl(k|0,l|0,9,0)|0;q=d;f[q>>2]=i;f[q+4>>2]=H;switch(r<<24>>24){case 0:{s=0;break a;break}case 1:{s=1;break a;break}default:{n=0;return n|0}}}else s=0;while(0);f[a+88>>2]=s}n=rd(a+108|0,c)|0;return n|0}function ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=wk(32)|0;Kk(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){f[g+4>>2]=d;Ko(d)}Ko(g);h=f[e>>2]|0}oi(a,h,0,0,0,0);i=a}else i=a;if(!(jh(i,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))df(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){f[h+12>>2]=c;Ko(c)}Ko(h);return}h=wk(40)|0;f[h>>2]=f[i>>2];c=h+8|0;e=i+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;j=i+12|0;k=(f[j>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)$n(c);l=wk(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[j>>2]|0)-k|0;if((e|0)>0){Bf(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=i+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){f[a+12>>2]=h;Ko(h)}Ko(a);return}function he(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ia,x=Ia,y=Ia,z=0;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=Ho(j>>>0>1073741823?-1:j<<2)|0;dn(e);if(!(qk(e,_(n[a+32>>2]),(1<<g)+-1|0)|0)){m=0;Io(l);u=d;return m|0}g=f[a+16>>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;Io(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24<=0){i=0;a=0;while(1){Bf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}Io(l);u=d;return m|0}a=0;i=0;q=0;while(1){r=f[p>>2]|0;s=0;t=i;while(1){v=f[o+(t<<2)>>2]|0;if((v|0)>-1){w=_(v|0);x=_(_(n[g>>2])*w);y=_(x*_(n[e>>2]))}else{z=wl(0,0,v|0,((v|0)<0)<<31>>31|0)|0;x=_(+(z>>>0)+4294967296.0*+(H|0));w=_(_(n[g>>2])*x);y=_(-_(w*_(n[e>>2])))}w=_(y+_(n[r+(s<<2)>>2]));n[l+(s<<2)>>2]=w;s=s+1|0;if((s|0)==(j|0))break;else t=t+1|0}Bf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+q|0,l|0,k|0)|0;a=a+1|0;if((a|0)==(c|0)){m=1;break}else{i=i+j|0;q=q+k|0}}Io(l);u=d;return m|0}function ie(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;i=d+8|0;j=f[i>>2]|0;k=f[i+4>>2]|0;i=d+16|0;l=i;m=f[l>>2]|0;n=f[l+4>>2]|0;if((k|0)>(n|0)|(k|0)==(n|0)&j>>>0>m>>>0){l=b[(f[d>>2]|0)+m>>0]|0;o=vl(m|0,n|0,1,0)|0;p=H;q=i;f[q>>2]=o;f[q+4>>2]=p;if(l<<24>>24!=-2){r=l;s=p;t=o;v=3}}else{r=0;s=n;t=m;v=3}if((v|0)==3){if((k|0)>(s|0)|(k|0)==(s|0)&j>>>0>t>>>0){j=b[(f[d>>2]|0)+t>>0]|0;k=vl(t|0,s|0,1,0)|0;s=i;f[s>>2]=k;f[s+4>>2]=H;w=j}else w=0;Sa[f[(f[a>>2]|0)+40>>2]&7](g,a,r<<24>>24,w<<24>>24);w=a+20|0;r=f[g>>2]|0;f[g>>2]=0;j=f[w>>2]|0;f[w>>2]=r;if(j){Pa[f[(f[j>>2]|0)+4>>2]&127](j);j=f[g>>2]|0;f[g>>2]=0;if(j|0)Pa[f[(f[j>>2]|0)+4>>2]&127](j)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(La[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){x=0;u=e;return x|0}if(!(Ma[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){x=0;u=e;return x|0}d=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;c=f[a+4>>2]|0;if((c|0?((h[c+36>>0]|0)<<8&65535)<512:0)?!(La[f[(f[a>>2]|0)+48>>2]&127](a,d)|0):0){x=0;u=e;return x|0}x=1;u=e;return x|0}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3316;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)$n(i);else{o=((n+-1|0)>>>5)+1|0;p=wk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];xe(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)$n(i);k=((l+-1|0)>>>5)+1|0;l=wk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];xe(i,e,d);u=c;return}function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;i=d+8|0;f[i>>2]=0;do if(g)if(g>>>0>1073741823)$n(d);else{j=b*12|0;k=wk(j)|0;f[d>>2]=k;l=k+(g<<2)|0;f[i>>2]=l;oh(k|0,0,j|0)|0;f[h>>2]=l;m=k;break}else m=0;while(0);if(kh(g,1,f[a+32>>2]|0,m)|0)if(!b)n=1;else{m=a+44|0;a=e+4|0;g=e+8|0;i=0;k=0;l=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=f[d>>2]|0;o=f[j+(k<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+l|0;f[e>>2]=q;p=f[j+(k+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[j+(k+2<<2)>>2]|0;j=q>>>1;l=((q&1|0)==0?j:0-j|0)+r|0;f[g>>2]=l;r=f[m>>2]|0;j=r+100|0;q=f[j>>2]|0;if((q|0)==(f[r+104>>2]|0))yg(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[j>>2]=(f[j>>2]|0)+12}i=i+1|0;if(i>>>0>=b>>>0){n=1;break}else k=k+3|0}}else n=0;k=f[d>>2]|0;if(!k){u=c;return n|0}f[h>>2]=k;Ko(k);u=c;return n|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3364;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)$n(i);else{o=((n+-1|0)>>>5)+1|0;p=wk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];xe(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)$n(i);k=((l+-1|0)>>>5)+1|0;l=wk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];xe(i,e,d);u=c;return}function me(a){a=a|0;var b=0,c=0;f[a>>2]=3456;gh(a+232|0);Ch(a+216|0);b=f[a+196>>2]|0;if(b|0){f[a+200>>2]=b;Ko(b)}b=f[a+184>>2]|0;if(b|0){f[a+188>>2]=b;Ko(b)}b=f[a+172>>2]|0;if(b|0){f[a+176>>2]=b;Ko(b)}b=f[a+160>>2]|0;if(b|0){f[a+164>>2]=b;Ko(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Ko(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ko(b);b=f[a+120>>2]|0;if(b|0)Ko(b);b=f[a+108>>2]|0;if(b|0)Ko(b);b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0)Ko(b);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+36>>2]|0;if(b|0){f[a+40>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=f[a+76>>2]|0;if(b|0){f[a+80>>2]=b;Ko(b)}b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));fc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)Ko(f[h>>2]|0);if(b[i+7>>0]|0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=wk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=27;k=o;l=11903;m=k+27|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+27>>0]=0;f[a>>2]=-1;Yi(h,j);if((b[j+11>>0]|0)<0)Ko(f[j>>2]|0);u=g;return}zf(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;Bc(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)Ko(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Yi(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Pa[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)Ko(f[i>>2]|0);u=g;return}function oe(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;g=u;u=u+16|0;h=g;i=c+24|0;k=b[i>>0]|0;l=k<<24>>24;f[h>>2]=0;m=h+4|0;f[m>>2]=0;n=h+8|0;f[n>>2]=0;do if(k<<24>>24)if(k<<24>>24<0)$n(h);else{o=l<<1;p=wk(o)|0;f[h>>2]=p;q=p+(l<<1)|0;f[n>>2]=q;oh(p|0,0,o|0)|0;f[m>>2]=q;q=l<<1;o=wk(q)|0;oh(o|0,0,q|0)|0;r=o;s=o;t=p;v=p;break}else{r=0;s=0;t=0;v=0}while(0);l=c+80|0;if(f[l>>2]|0){n=c+48|0;h=c+40|0;k=c+64|0;p=a+48|0;a=0;o=v;while(1){q=n;w=f[q>>2]|0;x=f[q+4>>2]|0;q=h;y=f[q>>2]|0;z=Bk(y|0,f[q+4>>2]|0,a|0,0)|0;q=vl(z|0,H|0,w|0,x|0)|0;Bf(o|0,(f[f[c>>2]>>2]|0)+q|0,y|0)|0;y=b[i>>0]|0;if(y<<24>>24>0){q=f[p>>2]|0;x=y<<24>>24;y=0;do{d[s+(y<<1)>>1]=(f[q+(y+e<<2)>>2]|0)+(j[t+(y<<1)>>1]|0);y=y+1|0}while((y|0)<(x|0));A=v}else A=o;x=f[h>>2]|0;Bf((f[f[k>>2]>>2]|0)+(W(a,x)|0)|0,s|0,x|0)|0;a=a+1|0;if(a>>>0>=(f[l>>2]|0)>>>0)break;else o=A}}if(r|0)Ko(s);if(!t){u=g;return 1}f[m>>2]=t;Ko(v);u=g;return 1}function pe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+16|0;g=e;h=c+24|0;i=b[h>>0]|0;j=i<<24>>24;f[g>>2]=0;k=g+4|0;f[k>>2]=0;l=g+8|0;f[l>>2]=0;do if(i<<24>>24)if(i<<24>>24<0)$n(g);else{m=j<<2;n=wk(m)|0;f[g>>2]=n;o=n+(j<<2)|0;f[l>>2]=o;oh(n|0,0,m|0)|0;f[k>>2]=o;o=j<<2;m=wk(o)|0;oh(m|0,0,o|0)|0;p=m;q=m;r=n;s=n;break}else{p=0;q=0;r=0;s=0}while(0);j=c+80|0;if(f[j>>2]|0){l=c+48|0;g=c+40|0;i=c+64|0;n=a+48|0;a=0;m=s;while(1){o=l;t=f[o>>2]|0;v=f[o+4>>2]|0;o=g;w=f[o>>2]|0;x=Bk(w|0,f[o+4>>2]|0,a|0,0)|0;o=vl(x|0,H|0,t|0,v|0)|0;Bf(m|0,(f[f[c>>2]>>2]|0)+o|0,w|0)|0;w=b[h>>0]|0;if(w<<24>>24>0){o=f[n>>2]|0;v=w<<24>>24;w=0;do{f[q+(w<<2)>>2]=(f[o+(w+d<<2)>>2]|0)+(f[r+(w<<2)>>2]|0);w=w+1|0}while((w|0)<(v|0));y=s}else y=m;v=f[g>>2]|0;Bf((f[f[i>>2]>>2]|0)+(W(a,v)|0)|0,q|0,v|0)|0;a=a+1|0;if(a>>>0>=(f[j>>2]|0)>>>0)break;else m=y}}if(p|0)Ko(q);if(!r){u=e;return 1}f[k>>2]=r;Ko(s);u=e;return 1}function qe(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=Ho(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)Io(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,i|0,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0<n>>>0){o=0;return o|0}Bf(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=vl(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=H;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=vl(n|0,f[e+4>>2]|0,4,0)|0;e=H;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0<j>>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=vl(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=H;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=vl(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=H;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;Wf(a+16|0);ym(a+528|0);Wl(a+544|0);Wl(a+564|0);Wl(a+584|0);e=a+604|0;f[e>>2]=0;g=a+608|0;f[g>>2]=0;h=a+612|0;f[h>>2]=0;i=(b|0)==0;do if(!i)if(b>>>0>1073741823)$n(e);else{j=b<<2;k=wk(j)|0;f[e>>2]=k;l=k+(b<<2)|0;f[h>>2]=l;oh(k|0,0,j|0)|0;f[g>>2]=l;break}while(0);g=a+616|0;f[g>>2]=0;h=a+620|0;f[h>>2]=0;e=a+624|0;f[e>>2]=0;if(!i){l=b<<2;j=wk(l)|0;f[g>>2]=j;g=j+(b<<2)|0;f[e>>2]=g;oh(j|0,0,l|0)|0;f[h>>2]=g}g=b<<5|1;f[d>>2]=0;h=d+4|0;f[h>>2]=0;l=d+8|0;f[l>>2]=0;if(!i){j=b<<2;e=wk(j)|0;f[d>>2]=e;k=e+(b<<2)|0;f[l>>2]=k;oh(e|0,0,j|0)|0;f[h>>2]=k}fg(a+628|0,g,d);k=f[d>>2]|0;if(k|0){f[h>>2]=k;Ko(k)}f[d>>2]=0;k=d+4|0;f[k>>2]=0;h=d+8|0;f[h>>2]=0;if(!i){i=b<<2;j=wk(i)|0;f[d>>2]=j;e=j+(b<<2)|0;f[h>>2]=e;oh(j|0,0,i|0)|0;f[k>>2]=e}fg(a+640|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}f[k>>2]=g;Ko(g);u=c;return}function se(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));fc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)Ko(f[h>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=wk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=o;l=11882;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+20>>0]=0;f[a>>2]=-1;Yi(h,j);if((b[j+11>>0]|0)<0)Ko(f[j>>2]|0);u=g;return}Zf(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;Nj(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)Ko(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Yi(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Pa[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)Ko(f[i>>2]|0);u=g;return}function te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=vl(k|0,l|0,4,0)|0;m=H;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0<i>>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;p=(j[c+38>>1]|0)<514;do if(p){r=vl(k|0,l|0,8,0)|0;s=H;if((g|0)<(s|0)|(g|0)==(s|0)&e>>>0<r>>>0){n=0;return n|0}else{t=d;f[t>>2]=r;f[t+4>>2]=s;u=s;v=r;break}}else{u=m;v=i}while(0);if(!(q&1)){n=0;return n|0}i=(Z(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<<i;f[a+12>>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;if(p){a:do if((g|0)>(u|0)|(g|0)==(u|0)&e>>>0>v>>>0){p=b[o+v>>0]|0;i=vl(v|0,u|0,1,0)|0;q=d;f[q>>2]=i;f[q+4>>2]=H;switch(p<<24>>24){case 0:{w=0;break a;break}case 1:{w=1;break a;break}default:{n=0;return n|0}}}else w=0;while(0);f[a+68>>2]=w}n=rd(a+88|0,c)|0;return n|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;d=f[c>>2]|0;e=d;g=f[a>>2]|0;h=g;do if((d|0)==(g|0)){i=a+8|0;j=f[i>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;if(j>>>0<l>>>0){l=j;n=((m-l>>2)+1|0)/2|0;o=j+(n<<2)|0;p=l-e|0;l=o+(0-(p>>2)<<2)|0;if(!p){q=o;r=o}else{Rj(l|0,d|0,p|0)|0;q=l;r=(f[i>>2]|0)+(n<<2)|0}f[c>>2]=q;f[i>>2]=r;s=q;break}n=m-h|0;m=(n|0)==0?1:n>>1;n=(m+3|0)>>>2;do if(m)if(m>>>0>1073741823){l=qa(8)|0;Dm(l,13552);f[l>>2]=4908;ta(l|0,1128,105)}else{t=wk(m<<2)|0;break}else t=0;while(0);l=t;p=t+(n<<2)|0;o=p;u=t+(m<<2)|0;if((d|0)==(j|0)){v=o;w=d}else{x=((j+-4-e|0)>>>2)+n+1|0;y=p;z=d;while(1){f[y>>2]=f[z>>2];z=z+4|0;if((z|0)==(j|0))break;else y=y+4|0}v=t+(x<<2)|0;w=f[a>>2]|0}f[a>>2]=l;f[c>>2]=o;f[i>>2]=v;f[k>>2]=u;if(!w)s=p;else{Ko(w);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;Wl(a+16|0);Wl(a+36|0);Wl(a+56|0);Wl(a+76|0);e=a+96|0;f[e>>2]=0;g=a+100|0;f[g>>2]=0;h=a+104|0;f[h>>2]=0;i=(b|0)==0;do if(!i)if(b>>>0>1073741823)$n(e);else{j=b<<2;k=wk(j)|0;f[e>>2]=k;l=k+(b<<2)|0;f[h>>2]=l;oh(k|0,0,j|0)|0;f[g>>2]=l;break}while(0);g=a+108|0;f[g>>2]=0;h=a+112|0;f[h>>2]=0;e=a+116|0;f[e>>2]=0;if(!i){l=b<<2;j=wk(l)|0;f[g>>2]=j;g=j+(b<<2)|0;f[e>>2]=g;oh(j|0,0,l|0)|0;f[h>>2]=g}g=b<<5|1;f[d>>2]=0;h=d+4|0;f[h>>2]=0;l=d+8|0;f[l>>2]=0;if(!i){j=b<<2;e=wk(j)|0;f[d>>2]=e;k=e+(b<<2)|0;f[l>>2]=k;oh(e|0,0,j|0)|0;f[h>>2]=k}fg(a+120|0,g,d);k=f[d>>2]|0;if(k|0){f[h>>2]=k;Ko(k)}f[d>>2]=0;k=d+4|0;f[k>>2]=0;h=d+8|0;f[h>>2]=0;if(!i){i=b<<2;j=wk(i)|0;f[d>>2]=j;e=j+(b<<2)|0;f[h>>2]=e;oh(j|0,0,i|0)|0;f[k>>2]=e}fg(a+132|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}f[k>>2]=g;Ko(g);u=c;return}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;ym(a+16|0);Wl(a+32|0);Wl(a+52|0);Wl(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;h=a+100|0;f[h>>2]=0;i=(b|0)==0;do if(!i)if(b>>>0>1073741823)$n(e);else{j=b<<2;k=wk(j)|0;f[e>>2]=k;l=k+(b<<2)|0;f[h>>2]=l;oh(k|0,0,j|0)|0;f[g>>2]=l;break}while(0);g=a+104|0;f[g>>2]=0;h=a+108|0;f[h>>2]=0;e=a+112|0;f[e>>2]=0;if(!i){l=b<<2;j=wk(l)|0;f[g>>2]=j;g=j+(b<<2)|0;f[e>>2]=g;oh(j|0,0,l|0)|0;f[h>>2]=g}g=b<<5|1;f[d>>2]=0;h=d+4|0;f[h>>2]=0;l=d+8|0;f[l>>2]=0;if(!i){j=b<<2;e=wk(j)|0;f[d>>2]=e;k=e+(b<<2)|0;f[l>>2]=k;oh(e|0,0,j|0)|0;f[h>>2]=k}fg(a+116|0,g,d);k=f[d>>2]|0;if(k|0){f[h>>2]=k;Ko(k)}f[d>>2]=0;k=d+4|0;f[k>>2]=0;h=d+8|0;f[h>>2]=0;if(!i){i=b<<2;j=wk(i)|0;f[d>>2]=j;e=j+(b<<2)|0;f[h>>2]=e;oh(j|0,0,i|0)|0;f[k>>2]=e}fg(a+128|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}f[k>>2]=g;Ko(g);u=c;return}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];id(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<<o;f[l>>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=n+4|0}n=(r|0)/32|0;Rj(t|0,v|0,n<<2|0)|0;e=r-(n<<5)|0;r=t+(n<<2)|0;t=r;if((e|0)>0){l=-1>>>(32-e|0);f[r>>2]=f[r>>2]&~l|f[v+(n<<2)>>2]&l;w=e;x=t}else{w=s;x=t}}else{w=o;x=m}f[k>>2]=x;f[k+4>>2]=w;u=d;return}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[i>>2]|0;l=(f[j>>2]|0)-k>>2;if(h>>>0<=l>>>0)if(h>>>0<l>>>0){f[j>>2]=k+(h<<2);m=g;n=h}else{m=g;n=h}else{Of(i,h-l|0,3328);l=f[e>>2]|0;m=l;n=f[l+80>>2]|0}l=f[m+96>>2]|0;e=(f[m+100>>2]|0)-l|0;m=(e|0)/12|0;h=l;if(!e){o=1;return o|0}e=a+80|0;a=c+68|0;c=f[d+28>>2]|0;d=0;while(1){l=d*3|0;i=f[c+(l<<2)>>2]|0;if((i|0)==-1){o=0;p=10;break}g=f[(f[e>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=n>>>0){o=0;p=10;break}i=f[a>>2]|0;f[i+(f[h+(d*12|0)>>2]<<2)>>2]=k;k=f[c+(l+1<<2)>>2]|0;if((k|0)==-1){o=0;p=10;break}j=f[g+(k<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=10;break}f[i+(f[h+(d*12|0)+4>>2]<<2)>>2]=j;j=f[c+(l+2<<2)>>2]|0;if((j|0)==-1){o=0;p=10;break}l=f[g+(j<<2)>>2]|0;if(l>>>0>=n>>>0){o=0;p=10;break}f[i+(f[h+(d*12|0)+8>>2]<<2)>>2]=l;d=d+1|0;if(d>>>0>=m>>>0){o=1;p=10;break}}if((p|0)==10)return o|0;return 0}function ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ka[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Ka[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=La[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=La[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;ic(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;hc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(sc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Vc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<4194304){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=4194304){r=t;break}else q=t}}else r=o;while(0);q=r&1048575;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>20)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(vc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Wc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<2097152){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=2097152){r=t;break}else q=t}}else r=o;while(0);q=r&524287;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>19)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(wc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Xc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<1048576){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=1048576){r=t;break}else q=t}}else r=o;while(0);q=r&262143;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>18)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(xc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Yc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<262144){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=262144){r=t;break}else q=t}}else r=o;while(0);q=r&65535;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>16)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(yc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Zc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<131072){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=131072){r=t;break}else q=t}}else r=o;while(0);q=r&32767;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>15)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(tc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=$c(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<32768){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=32768){r=t;break}else q=t}}else r=o;while(0);q=r&8191;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>13)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(uc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=ad(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<16384){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=o;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{Ko(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)$n(c);else{j=((k+-1|0)>>>5)+1|0;l=wk(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);Rj(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{Ko(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)$n(h);else{n=((p+-1|0)>>>5)+1|0;c=wk(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);Rj(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){oh(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)$n(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0<g>>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{n=wk(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=n+(m*12|0)|0;oh(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=d;p=k;q=h;r=i}else{i=h;h=d;do{d=h;h=h+-12|0;b=i;i=i+-12|0;f[h>>2]=0;n=d+-8|0;f[n>>2]=0;g=d+-4|0;f[g>>2]=0;f[h>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[g>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0}while((i|0)!=(k|0));k=f[a>>2]|0;o=h;p=k;q=f[e>>2]|0;r=k}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;if((q|0)!=(p|0)){j=q;do{q=j;j=j+-12|0;c=f[j>>2]|0;if(c|0){f[q+-8>>2]=c;Ko(c)}}while((j|0)!=(p|0))}if(!r)return;Ko(r);return}function Je(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){eg(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){eg(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){eg(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;do if((d|0)==(g|0)){i=a+4|0;j=f[i>>2]|0;k=j;l=f[a>>2]|0;m=l;if(j>>>0>l>>>0){n=((k-m>>2)+1|0)/-2|0;o=j+(n<<2)|0;p=d-k|0;if(!p)q=o;else{Rj(o|0,j|0,p|0)|0;q=(f[i>>2]|0)+(n<<2)|0}n=o+(p>>2<<2)|0;f[c>>2]=n;f[i>>2]=q;r=n;break}n=h-m|0;m=(n|0)==0?1:n>>1;n=m>>>2;do if(m)if(m>>>0>1073741823){p=qa(8)|0;Dm(p,13552);f[p>>2]=4908;ta(p|0,1128,105)}else{s=wk(m<<2)|0;break}else s=0;while(0);p=s;o=s+(n<<2)|0;t=o;u=s+(m<<2)|0;if((j|0)==(d|0)){v=t;w=l}else{x=n+((d+-4-k|0)>>>2)+1|0;y=o;o=j;while(1){f[y>>2]=f[o>>2];o=o+4|0;if((o|0)==(d|0))break;else y=y+4|0}v=s+(x<<2)|0;w=f[a>>2]|0}f[a>>2]=p;f[i>>2]=t;f[c>>2]=v;f[e>>2]=u;if(!w)r=v;else{Ko(w);r=f[c>>2]|0}}else r=d;while(0);f[r>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function Le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0<j>>>0;m=i?l:j;n=(m|0)==0;if(!n?(o=k?f[g>>2]|0:g,p=Fi(e,o,m)|0,(p|0)!=0):0)if((p|0)<0)q=7;else{r=o;q=11}else if(j>>>0>=l>>>0)if(n)q=12;else{r=k?f[g>>2]|0:g;q=11}else q=7;if((q|0)==7){q=0;g=f[a>>2]|0;if(!g){q=8;break}else{s=a;t=g}}else if((q|0)==11){q=0;g=Fi(r,e,m)|0;if(g)if((g|0)<0)q=14;else{q=16;break}else q=12}if((q|0)==12){q=0;if(i)q=14;else{q=16;break}}if((q|0)==14){q=0;u=a+4|0;i=f[u>>2]|0;if(!i){q=15;break}else{s=u;t=i}}d=s;a=t}if((q|0)==8){f[c>>2]=a;h=a;return h|0}else if((q|0)==15){f[c>>2]=a;h=u;return h|0}else if((q|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function Me(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Wh(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Hb(e,c)|0)){j=0;k=10;break}if(i>>>0>=h>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Hb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=vl(k|0,l|0,4,0)|0;m=H;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0<i>>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=vl(k|0,l|0,8,0)|0;p=H;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0<m>>>0){n=0;return n|0}i=d;f[i>>2]=m;f[i+4>>2]=p;if(!(q&1)){n=0;return n|0}i=(Z(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<<i;f[a+12>>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;if((j[c+38>>1]|0)<514){a:do if((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0){i=b[o+m>>0]|0;q=vl(k|0,l|0,9,0)|0;r=d;f[r>>2]=q;f[r+4>>2]=H;switch(i<<24>>24){case 0:{s=0;break a;break}case 1:{s=1;break a;break}default:{n=0;return n|0}}}else s=0;while(0);f[a+68>>2]=s}n=rd(a+88|0,c)|0;return n|0}function Oe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Wh(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Ib(e,c)|0)){j=0;k=10;break}if(i>>>0>=h>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Ib(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Pe(a,b,c,d){a=a|0;b=_(b);c=_(c);d=d|0;var e=Ia,f=Ia,g=Ia,h=Ia,i=Ia,j=Ia,k=0.0,l=Ia,m=Ia,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=Ia,u=Ia,v=0,w=0;e=_(b+c);f=_(b-c);if(!(f<=_(.5))|(!(f>=_(-.5))|(!(e>=_(.5))|!(e<=_(1.5))))){do if(!(e<=_(.5))){if(e>=_(1.5)){g=_(_(1.5)-c);h=_(_(1.5)-b);break}if(!(f<=_(-.5))){g=_(c+_(.5));h=_(b+_(-.5));break}else{g=_(c+_(-.5));h=_(b+_(.5));break}}else{g=_(_(.5)-c);h=_(_(.5)-b)}while(0);i=_(h+g);j=_(g-h);k=-1.0;l=g;m=h}else{i=e;j=f;k=1.0;l=b;m=c}c=_(+l*2.0+-1.0);l=_(+m*2.0+-1.0);o=+i*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s<r?s:r;r=q<p?q:p;j=_(k*(o<r?o:r));i=_(_(l*l)+_(_(c*c)+_(j*j)));if(+i<1.0e-06){n[d>>2]=_(0.0);t=_(0.0);u=_(0.0);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}else{m=_(_(1.0)/_(K(_(i))));i=_(m*j);n[d>>2]=i;t=_(m*l);u=_(m*c);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}}function Qe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;ae(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(!i){f[e>>2]=0;j=h}else{h=f[i+76>>2]|0;if(h|0){f[i+80>>2]=h;Ko(h)}h=f[i+64>>2]|0;if(h|0){f[i+68>>2]=h;Ko(h)}h=f[i+48>>2]|0;if(h|0){f[i+52>>2]=h;Ko(h)}h=f[i+24>>2]|0;if(h|0){f[i+28>>2]=h;Ko(h)}h=f[i+12>>2]|0;if(h|0){f[i+16>>2]=h;Ko(h)}h=f[i>>2]|0;if(h|0){f[i+4>>2]=h;Ko(h)}Ko(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){h=f[i+76>>2]|0;if(h|0){f[i+80>>2]=h;Ko(h)}h=f[i+64>>2]|0;if(h|0){f[i+68>>2]=h;Ko(h)}h=f[i+48>>2]|0;if(h|0){f[i+52>>2]=h;Ko(h)}h=f[i+24>>2]|0;if(h|0){f[i+28>>2]=h;Ko(h)}h=f[i+12>>2]|0;if(h|0){f[i+16>>2]=h;Ko(h)}h=f[i>>2]|0;if(h|0){f[i+4>>2]=h;Ko(h)}Ko(i)}j=f[g>>2]|0}if(!j){k=0;u=d;return k|0}j=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;Gf(a+56|0,j,e);k=1;u=d;return k|0}function Re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=c&255;if((b[k>>0]|0)==r<<24>>24)if(!l){m=16;break}else{t=k;break}q=W(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^q;if((d&-2139062144^-2139062144)&d+-16843009|0){u=g;v=s;break c}d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{w=d;x=a;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!x){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((b[q>>0]|0)==r<<24>>24){t=q;break b}g=g+-1|0;if(!g){m=16;break}else q=q+1|0}}while(0);if((m|0)==16)t=0;return t|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){oh(g|0,0,b<<2|0)|0;f[e>>2]=h+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)$n(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0<g>>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{n=wk(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;g=n+(m<<2)|0;oh(d|0,0,b<<2|0)|0;m=d+(b<<2)|0;if((h|0)==(k|0)){o=d;p=k;q=h;r=i}else{b=j+-1-((h+-4+(0-i)|0)>>>2)|0;i=h;h=d;do{h=h+-4|0;i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[h>>2]=d}while((i|0)!=(k|0));k=f[a>>2]|0;o=n+(b<<2)|0;p=k;q=f[e>>2]|0;r=k}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;if((q|0)!=(p|0)){g=q;do{g=g+-4|0;q=f[g>>2]|0;f[g>>2]=0;if(q|0)Pa[f[(f[q>>2]|0)+4>>2]&127](q)}while((g|0)!=(p|0))}if(!r)return;Ko(r);return}function Te(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Ka[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){ze(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=wk(44)|0;f[d>>2]=1536;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];i=d+32|0;f[i>>2]=0;c=d+36|0;f[c>>2]=0;b=d+40|0;f[b>>2]=0;j=f[e+24>>2]|0;k=(f[e+28>>2]|0)-j|0;e=k>>2;if(k|0){if(e>>>0>1073741823)$n(i);l=wk(k)|0;f[c>>2]=l;f[i>>2]=l;f[b>>2]=l+(e<<2);if((k|0)>0){Bf(l|0,j|0,k|0)|0;f[c>>2]=l+(k>>>2<<2)}}f[d>>2]=1592;g=d}f[a>>2]=g;return}function Ue(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=vl(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=H;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=wk(384)|0;Kh(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Pa[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}case 1:{c=wk(424)|0;bh(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Pa[f[(f[d>>2]|0)+4>>2]&127](d);m=11}break}case 2:{d=wk(440)|0;Gg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Pa[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}default:m=11}if((m|0)==11){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=La[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function Ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Dh(c)|0;if(i>>>0>4294967279)$n(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=wk(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){Bf(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=Dh(d)|0;if(i>>>0>4294967279)$n(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=wk(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){Bf(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Ed(i,g,h)|0,(o|0)!=0):0)q=Di(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)Ko(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}Ko(f[g>>2]|0);u=e;return q|0}function We(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;if(r|0)Rj(k|0,b|0,r|0)|0;if(!o){f[m>>2]=l+(r>>1<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=p;p=n;while(1){d[p>>1]=d[q>>1]|0;q=q+2|0;if((q|0)==(c|0))break;else p=p+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}if(!k)s=j;else{j=a+4|0;f[j>>2]=k;Ko(k);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;s=0}if((g|0)<0)$n(a);g=s>>1>>>0<1073741823?(s>>>0<h>>>0?h:s):2147483647;if((g|0)<0)$n(a);s=wk(g<<1)|0;h=a+4|0;f[h>>2]=s;f[a>>2]=s;f[i>>2]=s+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=b;b=s;while(1){d[b>>1]=d[e>>1]|0;e=e+2|0;if((e|0)==(c|0))break;else b=b+2|0}f[h>>2]=s+((g>>>1)+1<<1);return}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=n-m+(b-l<<3)|0;f[j>>2]=c+k;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;jd(i,e,g,h);u=d;return}h=l;if((c|0)>0){if(!m){o=c;p=j;q=0;r=l;s=h}else{l=32-m|0;g=(c|0)<(l|0)?c:l;e=-1>>>(l-g|0)&-1<<m;f[j>>2]=f[j>>2]&~e|f[h>>2]&e;e=g+m|0;l=h+4|0;o=c-g|0;p=j+(e>>>5<<2)|0;q=e&31;r=l;s=l}l=(o|0)/32|0;Rj(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){e=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~e|f[s+(l<<2)>>2]&e;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;if(p|0)Rj(i|0,b|0,p|0)|0;if(!m){f[k>>2]=j+(p>>2<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}if(!i)q=h;else{h=a+4|0;f[h>>2]=i;Ko(i);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;q=0}if(e>>>0>1073741823)$n(a);h=q>>1;i=q>>2>>>0<536870911?(h>>>0<e>>>0?e:h):1073741823;if(i>>>0>1073741823)$n(a);h=wk(i<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(i<<2);if((b|0)==(c|0))return;i=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((i>>>2)+1<<2);return}function Ze(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=1536;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];b=a+32|0;e=c+24|0;f[b>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;i=c+28|0;c=(f[i>>2]|0)-(f[e>>2]|0)|0;j=c>>2;if(c|0){if(j>>>0>1073741823)$n(b);k=wk(c)|0;f[g>>2]=k;f[b>>2]=k;f[h>>2]=k+(j<<2);j=f[e>>2]|0;e=(f[i>>2]|0)-j|0;if((e|0)>0){Bf(k|0,j|0,e|0)|0;f[g>>2]=k+(e>>>2<<2)}}f[a>>2]=2320;e=a+44|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[a>>2]=2376;e=a+60|0;f[e>>2]=2432;f[a+64>>2]=0;f[a+68>>2]=0;k=a+72|0;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];f[e>>2]=2460;f[a+88>>2]=1;e=a+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;ym(a+108|0);return}function _e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=1536;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];b=a+32|0;e=c+24|0;f[b>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;i=c+28|0;c=(f[i>>2]|0)-(f[e>>2]|0)|0;j=c>>2;if(c|0){if(j>>>0>1073741823)$n(b);k=wk(c)|0;f[g>>2]=k;f[b>>2]=k;f[h>>2]=k+(j<<2);j=f[e>>2]|0;e=(f[i>>2]|0)-j|0;if((e|0)>0){Bf(k|0,j|0,e|0)|0;f[g>>2]=k+(e>>>2<<2)}}f[a>>2]=1872;e=a+44|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[a>>2]=1928;e=a+60|0;f[e>>2]=1984;f[a+64>>2]=0;f[a+68>>2]=0;k=a+72|0;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];f[e>>2]=2012;f[a+88>>2]=1;e=a+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;ym(a+108|0);return}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;d=a+8|0;f[d>>2]=0;e=a+16|0;f[e>>2]=0;g=a+20|0;f[g>>2]=0;h=a+24|0;f[h>>2]=0;i=b+4|0;j=(f[i>>2]|0)-(f[b>>2]|0)|0;k=(j|0)/20|0;if(j|0){if(k>>>0>214748364)$n(e);l=wk(j)|0;f[g>>2]=l;f[e>>2]=l;f[h>>2]=l+(k*20|0);k=f[b>>2]|0;b=(f[i>>2]|0)-k|0;if((b|0)>0){Bf(l|0,k|0,b|0)|0;k=l+(((b>>>0)/20|0)*20|0)|0;f[g>>2]=k;f[a+28>>2]=0;if((k|0)==(l|0)){m=0;n=a+12|0;f[n>>2]=m;return}g=(k-l|0)/20|0;k=0;b=0;do{i=W(f[l+(k*20|0)+16>>2]|0,f[l+(k*20|0)+12>>2]|0)|0;b=b>>>0<i>>>0?i:b;k=k+1|0}while(k>>>0<g>>>0);if(!b){m=0;n=a+12|0;f[n>>2]=m;return}if((b|0)<0)$n(a);g=wk(b)|0;oh(g|0,0,b|0)|0;k=g+b|0;b=g;f[a>>2]=b;f[c>>2]=k;f[d>>2]=k;m=b;n=a+12|0;f[n>>2]=m;return}}f[a+28>>2]=0;m=0;n=a+12|0;f[n>>2]=m;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else{d=(e|0)/3|0;g=f[(f[(f[a>>2]|0)+96>>2]|0)+(d*12|0)+(e-(d*3|0)<<2)>>2]|0}if((b|0)!=-1){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)==-1){h=-1;i=b;j=0}else{e=(d|0)/3|0;h=f[(f[(f[a>>2]|0)+96>>2]|0)+(e*12|0)+(d-(e*3|0)<<2)>>2]|0;i=b;j=0}}else{h=-1;i=-1;j=1}if((g|0)!=(h|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(j){l=-1;m=-1;n=i;break}else o=-1;else{e=(b|0)/3|0;d=f[(f[(f[a>>2]|0)+96>>2]|0)+(e*12|0)+(b-(e*3|0)<<2)>>2]|0;if(j){l=-1;m=d;n=i;break}else o=d}d=i+1|0;e=((d>>>0)%3|0|0)==0?i+-2|0:d;if((e|0)==-1){l=-1;m=o;n=i}else{d=(e|0)/3|0;l=f[(f[(f[a>>2]|0)+96>>2]|0)+(d*12|0)+(e-(d*3|0)<<2)>>2]|0;m=o;n=i}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)==(l|0)?n:-1;return k|0}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=wk(64)|0;g=wk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=3584;f[g+8>>2]=h;f[d>>2]=g;Zi(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){Se(h,l-k|0);break}if(l>>>0<k>>>0){n=j+(l<<2)|0;if((n|0)!=(m|0)){l=m;do{l=l+-4|0;m=f[l>>2]|0;f[l>>2]=0;if(m|0)Pa[f[(f[m>>2]|0)+4>>2]&127](m)}while((l|0)!=(n|0))}f[i>>2]=n}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)o=1;else{Pa[f[(f[b>>2]|0)+4>>2]&127](b);o=1}}else{Pa[f[(f[e>>2]|0)+4>>2]&127](e);o=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return o|0}Pa[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return o|0}function cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)$n(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0<h>>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=qa(8)|0;Dm(e,13552);f[e>>2]=4908;ta(e|0,1128,105)}else{l=wk(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=l+(k*12|0)|0;Yi(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=e;n=k;o=k}else{h=l;l=e;do{l=l+-12|0;h=h+-12|0;f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];f[l+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0}while((h|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=g;g=n;if((o|0)!=(g|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)Ko(f[i>>2]|0)}while((i|0)!=(g|0))}if(!n)return;Ko(n);return}function df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){if(!k)m=j;else{j=a+4|0;f[j>>2]=k;Ko(k);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;m=0}if(h>>>0>1073741823)$n(a);j=m>>1;n=m>>2>>>0<536870911?(j>>>0<h>>>0?h:j):1073741823;if(n>>>0>1073741823)$n(a);j=wk(n<<2)|0;m=a+4|0;f[m>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;Bf(j|0,b|0,g|0)|0;f[m>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;if((h|0)==(b|0))o=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}o=l+((a>>>2)+1<<2)|0}if(!k){f[g>>2]=o;return}o=d-h|0;if((o|0)<=0)return;Bf(c|0,h|0,o|0)|0;f[g>>2]=(f[g>>2]|0)+(o>>>2<<2);return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)$n(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0<g>>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{k=wk(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;i=b;l=f[c>>2]|0;if((l|0)==(b|0)){m=d;n=i;o=b}else{p=e+-1-((l+-4-i|0)>>>2)|0;i=l;l=d;do{l=l+-4|0;i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[l>>2]=d}while((i|0)!=(b|0));m=k+(p<<2)|0;n=f[a>>2]|0;o=f[c>>2]|0}f[a>>2]=m;f[c>>2]=j;f[h>>2]=g;g=n;if((o|0)!=(g|0)){h=o;do{h=h+-4|0;o=f[h>>2]|0;f[h>>2]=0;if(o|0){eh(o);Ko(o)}}while((h|0)!=(g|0))}if(!n)return;Ko(n);return}function ff(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(en(a,f[c+8>>2]|0,g)|0)){if(!(en(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Ta[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;Ua[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=1;n=11}else n=15;else{m=0;n=11}do if((n|0)==11){f[h>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;if(m){n=15;break}else{o=4;break}}if(m)n=15;else o=4}while(0);if((n|0)==15)o=3;f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else nk(0,c,d,e);while(0);return}function gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=f[a>>2]|0;f[a+4>>2]=c;d=a+16|0;f[d>>2]=0;e=a+12|0;f[e>>2]=c;c=b+8|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=vl(l|0,f[k+4>>2]|0,4,0)|0;k=H;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0<m>>>0){n=0;return n|0}o=(f[b>>2]|0)+l|0;l=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;o=g;f[o>>2]=m;f[o+4>>2]=k;if(!((l|0)!=0&(l&3|0)==0)){n=0;return n|0}o=wl(i|0,j|0,m|0,k|0)|0;p=H;if((p|0)<0|(p|0)==0&o>>>0<l>>>0){n=0;return n|0}o=l>>>2;if(!o){q=m;r=k;s=j;t=i}else{Eg(a,o);o=c;c=g;q=f[c>>2]|0;r=f[c+4>>2]|0;s=f[o+4>>2]|0;t=f[o>>2]|0}o=vl(q|0,r|0,l|0,0)|0;r=H;if((s|0)<(r|0)|(s|0)==(r|0)&t>>>0<o>>>0){n=0;return n|0}Bf(f[a>>2]|0,(f[b>>2]|0)+q|0,l|0)|0;q=g;b=vl(f[q>>2]|0,f[q+4>>2]|0,l|0,0)|0;l=g;f[l>>2]=b;f[l+4>>2]=H;f[e>>2]=f[a>>2];f[d>>2]=0;n=1;return n|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=Ol(ya(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=Ol(ya(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;f[e>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;if(g|0)Ko(g);g=a+64|0;e=f[g>>2]|0;f[g>>2]=0;f[a+68>>2]=0;f[a+72>>2]=0;if(e|0)Ko(e);e=b+4|0;g=f[e>>2]|0;h=f[b>>2]|0;i=((g-h|0)/12|0)*3|0;j=a+4|0;k=f[a>>2]|0;l=(f[j>>2]|0)-k>>2;m=h;if(i>>>0<=l>>>0)if(i>>>0<l>>>0){f[j>>2]=k+(i<<2);n=g;o=h;p=m}else{n=g;o=h;p=m}else{Eg(a,i-l|0);l=f[b>>2]|0;n=f[e>>2]|0;o=l;p=l}if((n|0)!=(o|0)){o=f[a>>2]|0;l=(n-p|0)/12|0;n=0;do{e=n*3|0;f[o+(e<<2)>>2]=f[p+(n*12|0)>>2];f[o+(e+1<<2)>>2]=f[p+(n*12|0)+4>>2];f[o+(e+2<<2)>>2]=f[p+(n*12|0)+8>>2];n=n+1|0}while(n>>>0<l>>>0)}f[d>>2]=-1;if(!(Ub(a,d)|0)){q=0;u=c;return q|0}yb(a,f[d>>2]|0)|0;q=1;u=c;return q|0}function kf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)$n(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0<h>>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=qa(8)|0;Dm(i,13552);f[i>>2]=4908;ta(i|0,1128,105)}else{l=wk(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;while(1){f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];e=e+-1|0;if(!e)break;else b=b+12|0}b=f[a>>2]|0;e=(f[g>>2]|0)-b|0;c=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Bf(c|0,b|0,e|0)|0;f[a>>2]=c;f[g>>2]=l+(h*12|0);f[d>>2]=j;if(!b)return;Ko(b);return}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];He(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{df(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);df(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);df(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Df(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;if(e-g>>2>>>0<b>>>0){if(!g)i=e;else{e=a+4|0;f[e>>2]=g;Ko(g);f[d>>2]=0;f[e>>2]=0;f[a>>2]=0;i=0}if(b>>>0>1073741823)$n(a);e=i>>1;j=i>>2>>>0<536870911?(e>>>0<b>>>0?b:e):1073741823;if(j>>>0>1073741823)$n(a);e=wk(j<<2)|0;i=a+4|0;f[i>>2]=e;f[a>>2]=e;f[d>>2]=e+(j<<2);j=b;d=e;while(1){f[d>>2]=f[c>>2];j=j+-1|0;if(!j)break;else d=d+4|0}k=i;l=e+(b<<2)|0;f[k>>2]=l;return}else{e=a+4|0;a=f[e>>2]|0;i=a-g>>2;g=i>>>0<b>>>0;d=g?i:b;j=a;if(d|0){a=d;d=h;while(1){f[d>>2]=f[c>>2];a=a+-1|0;if(!a)break;else d=d+4|0}}if(!g){k=e;l=h+(b<<2)|0;f[k>>2]=l;return}h=b-i|0;i=h;b=j;while(1){f[b>>2]=f[c>>2];i=i+-1|0;if(!i)break;else b=b+4|0}k=e;l=j+(h<<2)|0;f[k>>2]=l;return}}function of(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=a+20|0;if(Ec(e,c)|0){g=0;return g|0}a=Wb(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Dg(c+8|0);Ko(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ko(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){f[c+24>>2]=h;Ko(h)}if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)Ko(a);Ko(d);g=1;return g|0}function pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=f[a+12>>2]|0;h=i+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){g=i+536870908|0;k=g;l=f[g>>2]|0;m=-2147483648}else{g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)==-1)n=-1;else n=f[(f[e>>2]|0)+(g<<2)>>2]|0;g=i+(n>>>5<<2)|0;f[g>>2]=1<<(n&31)|f[g>>2];g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)o=-1;else o=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=i+(o>>>5<<2)|0;f[c>>2]=1<<(o&31)|f[c>>2];c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)==-1)p=-1;else p=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=i+(p>>>5<<2)|0;k=c;l=1<<(p&31);m=f[c>>2]|0}f[k>>2]=l|m;return}function qf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=a+172|0;d=f[c>>2]|0;do if((d|0)==-1){e=f[a+144>>2]|0;g=Ka[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(((h[g+36>>0]<<8|h[g+37>>0])&65535)<514)if(b[a+76>>0]|0){g=a+72|0;e=f[g>>2]|0;i=f[a+64>>2]|0;j=f[a+68>>2]|0;k=i+(e>>>3)|0;if(k>>>0<j>>>0?(l=h[k>>0]|0,k=e+1|0,f[g>>2]=k,(1<<(e&7)&l|0)!=0):0){l=i+(k>>>3)|0;if(l>>>0<j>>>0){m=(h[l>>0]|0)>>>(k&7)&1;n=e+2|0;f[g>>2]=n;o=m;p=i+(n>>>3)|0;q=n}else{o=0;p=l;q=k}if(p>>>0<j>>>0){j=(h[p>>0]|0)>>>(q&7);f[g>>2]=q+1;r=j<<1&2}else r=0;s=(r|o)<<1|1}else s=0}else s=1;else s=7}else{j=(f[a+196>>2]|0)+(d<<2)|0;g=f[j>>2]|0;k=g+-1|0;f[j>>2]=k;if((g|0)<1){t=9;return t|0}else{s=f[3496+(f[(f[(f[a+184>>2]|0)+((f[c>>2]|0)*12|0)>>2]|0)+(k<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=s;t=s;return t|0}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0<=(i-j|0)>>>0){l=a+4|0;m=(f[l>>2]|0)-j|0;n=g>>>0>m>>>0;o=c+m|0;m=n?o:d;p=m-e|0;if(p|0)Rj(k|0,c|0,p|0)|0;if(!n){f[l>>2]=k+p;return}if((m|0)==(d|0))return;m=o;o=f[l>>2]|0;do{b[o>>0]=b[m>>0]|0;m=m+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((m|0)!=(d|0));return}if(!j)q=i;else{i=a+4|0;f[i>>2]=j;Ko(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;q=0}if((g|0)<0)$n(a);i=q<<1;k=q>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if((k|0)<0)$n(a);i=wk(k)|0;g=a+4|0;f[g>>2]=i;f[a>>2]=i;f[h>>2]=i+k;if((c|0)==(d|0))return;k=c;c=i;do{b[c>>0]=b[k>>0]|0;k=k+1|0;c=(f[g>>2]|0)+1|0;f[g>>2]=c}while((k|0)!=(d|0));return}function sf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=Ho(k)|0;oh(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;Cc(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){Io(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;Cc(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));Io(l);u=g;return 1}function tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=1536;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];b=a+32|0;e=c+24|0;f[b>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;i=c+28|0;c=(f[i>>2]|0)-(f[e>>2]|0)|0;j=c>>2;if(c|0){if(j>>>0>1073741823)$n(b);k=wk(c)|0;f[g>>2]=k;f[b>>2]=k;f[h>>2]=k+(j<<2);j=f[e>>2]|0;e=(f[i>>2]|0)-j|0;if((e|0)>0){Bf(k|0,j|0,e|0)|0;f[g>>2]=k+(e>>>2<<2)}}f[a>>2]=2320;e=a+44|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[a>>2]=2488;f[a+60>>2]=0;f[a+64>>2]=0;f[a+76>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;e=a+88|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];return}function uf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=1536;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];b=a+32|0;e=c+24|0;f[b>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;i=c+28|0;c=(f[i>>2]|0)-(f[e>>2]|0)|0;j=c>>2;if(c|0){if(j>>>0>1073741823)$n(b);k=wk(c)|0;f[g>>2]=k;f[b>>2]=k;f[h>>2]=k+(j<<2);j=f[e>>2]|0;e=(f[i>>2]|0)-j|0;if((e|0)>0){Bf(k|0,j|0,e|0)|0;f[g>>2]=k+(e>>>2<<2)}}f[a>>2]=1872;e=a+44|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[a>>2]=2040;f[a+60>>2]=0;f[a+64>>2]=0;f[a+76>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;e=a+88|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];return}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0;do if(c){if((j[a+38>>1]|0)>=514){if(ah(d,a)|0)break;else e=0;return e|0}g=a+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=a+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0<n>>>0){e=0;return e|0}else{n=(f[a>>2]|0)+m|0;m=n;i=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=n+4|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=d;l=m;b[l>>0]=i;b[l+1>>0]=i>>8;b[l+2>>0]=i>>16;b[l+3>>0]=i>>24;i=m+4|0;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;n=g;i=vl(f[n>>2]|0,f[n+4>>2]|0,8,0)|0;n=g;f[n>>2]=i;f[n+4>>2]=H;break}}while(0);b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;n=(f[a>>2]|0)+c|0;i=a+8|0;g=wl(f[i>>2]|0,f[i+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=n;f[a+28>>2]=n+g;e=1;return e|0}function wf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=Ho(k)|0;oh(l|0,0,k|0)|0;k=a+8|0;a=f[l>>2]|0;m=f[l+4>>2]|0;n=f[b+4>>2]|0;f[h>>2]=f[b>>2];f[h+4>>2]=n;f[j>>2]=a;f[j+4>>2]=m;gd(i,k,j,h);f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];if((e|0)>=(d|0)){Io(l);u=g;return 1}m=0-e|0;a=h+4|0;n=j+4|0;o=i+4|0;p=e;do{q=c+(p<<2)|0;r=q+(m<<2)|0;s=b+(p<<2)|0;t=f[r>>2]|0;v=f[r+4>>2]|0;r=f[s+4>>2]|0;f[h>>2]=f[s>>2];f[a>>2]=r;f[j>>2]=t;f[n>>2]=v;gd(i,k,j,h);f[q>>2]=f[i>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));Io(l);u=g;return 1}function xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)$n(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{um(a,j,(e&255)+1|0)|0;Ko(j);o=16}}else{j=k+1|0;p=wk(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{um(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;um(n,m,(f[j>>2]|0)+1|0)|0;Ko(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function yf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((e|0)<0){g=0;return g|0}a:do if(!c){e=a+4|0;h=f[e>>2]|0;i=f[a>>2]|0;j=h-i|0;k=i;if(j>>>0>=d>>>0){if(j>>>0<=d>>>0)break;f[e>>2]=k+d;break}l=d-j|0;m=a+8|0;n=f[m>>2]|0;if((n-h|0)>>>0>=l>>>0){o=l;p=h;while(1){b[p>>0]=0;p=(f[e>>2]|0)+1|0;f[e>>2]=p;o=o+-1|0;if(!o)break a}}if((d|0)<0)$n(a);o=n-i|0;p=o<<1;h=o>>>0<1073741823?(p>>>0<d>>>0?d:p):2147483647;if(!h)q=0;else q=wk(h)|0;oh(q+j|0,0,l|0)|0;if((j|0)>0)Bf(q|0,k|0,j|0)|0;f[a>>2]=q;f[e>>2]=q+d;f[m>>2]=q+h;if(i|0)Ko(k)}else rf(a,c,c+d|0);while(0);d=a+24|0;a=d;c=vl(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=d;f[a>>2]=c;f[a+4>>2]=H;g=1;return g|0}function zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=wk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Qj(c);f[c>>2]=3696;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=wk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Qj(c);f[c>>2]=3652;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=wk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;j=11853;i=h+28|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(i|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Yi(c,g);f[a>>2]=f[e>>2];Yi(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Ko(f[c>>2]|0);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=d;return}}}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;zh(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){zh(g,f[a>>2]|0)|0;k=wk(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=1065353216;l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[k+36>>2]=1065353216;f[k+40>>2]=f[g>>2];if(!(Mc(a,k)|0))break;f[h>>2]=k;bi(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){eh(l);Ko(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}eh(k);Ko(k);m=0}while(0);if((j|0)==8)m=Mc(a,c)|0;i=m;u=d;return i|0}function Bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ca(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function Cf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+132|0;c=f[b>>2]|0;if(c|0){d=a+136|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{e=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[e+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}g=a+120|0;c=f[g>>2]|0;if(c|0){d=a+124|0;b=f[d>>2]|0;if((b|0)==(c|0))j=c;else{h=b;do{b=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[b+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));j=f[g>>2]|0}f[d>>2]=c;Ko(j)}j=f[a+108>>2]|0;if(j|0){f[a+112>>2]=j;Ko(j)}j=f[a+96>>2]|0;if(!j){k=a+76|0;zk(k);l=a+56|0;zk(l);m=a+36|0;zk(m);n=a+16|0;zk(n);return}f[a+100>>2]=j;Ko(j);k=a+76|0;zk(k);l=a+56|0;zk(l);m=a+36|0;zk(m);n=a+16|0;zk(n);return}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;if(n|0)Rj(k|0,b|0,n|0)|0;if(!o){f[m>>2]=l+(n>>2<<2);return}n=d-c|0;if((n|0)<=0)return;Bf(f[m>>2]|0,p|0,n|0)|0;f[m>>2]=(f[m>>2]|0)+(n>>>2<<2);return}if(!k)q=j;else{j=a+4|0;f[j>>2]=k;Ko(k);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)$n(a);j=q>>1;k=q>>2>>>0<536870911?(j>>>0<h>>>0?h:j):1073741823;if(k>>>0>1073741823)$n(a);j=wk(k<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(k<<2);if((g|0)<=0)return;Bf(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))xg(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ng(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){f[e+12>>2]=b;Ko(b)}Ko(e)}e=f[c+68>>2]|0;if(e|0){f[c+72>>2]=e;Ko(e)}e=c+64|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){e=f[b>>2]|0;if(e|0){f[b+4>>2]=e;Ko(e)}Ko(b)}Ko(c);u=d;return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Ac(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=wk(40)|0;Yi(c+16|0,d);Yi(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}vd(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function Gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0<c>>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)$n(a);n=j<<6;j=c+31&-32;vg(g,k>>>0<1073741823?(n>>>0<j>>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)Ko(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){oh(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{oh(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function Hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=vl(i|0,j|0,4,0)|0;k=H;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0<g>>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=vl(i|0,j|0,8,0)|0;j=H;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0<k>>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=wl(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=H;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/12|0;h=g+1|0;i=e;j=d;if(h>>>0>357913941)$n(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0<h>>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=qa(8)|0;Dm(l,13552);f[l>>2]=4908;ta(l|0,1128,105)}else{n=wk(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;f[l>>2]=f[b>>2];f[n+(g*12|0)+4>>2]=f[b+4>>2];f[n+(g*12|0)+8>>2]=f[b+8>>2];b=l+12|0;if((j|0)==(i|0))o=l;else{g=j;j=l;while(1){l=j+-12|0;n=g;g=g+-12|0;f[l>>2]=f[g>>2];f[j+-8>>2]=f[n+-8>>2];f[j+-4>>2]=f[n+-4>>2];if((g|0)==(i|0)){o=l;break}else j=l}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;Ko(e);return}function Jf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;do{j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=h>>>0<m>>>0;n=k?h:m;if((n|0)!=0?(o=Fi(l?f[j>>2]|0:j,e,n)|0,(o|0)!=0):0)p=o;else p=m>>>0<h>>>0?-1:k&1;k=(p|0)<0;g=k?g:i;i=f[(k?i+4|0:i)>>2]|0}while((i|0)!=0);if((g|0)!=(d|0)){i=g+16|0;k=b[i+11>>0]|0;m=k<<24>>24<0;o=m?f[g+20>>2]|0:k&255;k=o>>>0<h>>>0?o:h;if(k|0?(n=Fi(e,m?f[i>>2]|0:i,k)|0,n|0):0){if((n|0)<0)break;else q=g;return q|0}if(h>>>0>=o>>>0){q=g;return q|0}}}while(0);q=d;return q|0}function Kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[i>>2]|0;n=(f[l>>2]|0)-m>>2;o=m;if(n>>>0>=k>>>0)if(n>>>0>k>>>0){f[l>>2]=o+(k<<2);p=c;q=d}else{p=c;q=d}else{Eg(i,k-n|0);p=b[j>>0]|0;q=f[g>>2]|0}g=q+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(p<<24>>24>0){g=f[i>>2]|0;i=p<<24>>24;p=j;n=4;k=0;while(1){f[g+(k<<2)>>2]=p;n=n+4|0;k=k+1|0;d=q+n|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){r=c;break}else p=c}}else r=j;f[a+20>>2]=r;e=1;return e|0}function Lf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+128|0;c=f[b>>2]|0;if(c|0){d=a+132|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{e=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[e+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}g=a+116|0;c=f[g>>2]|0;if(c|0){d=a+120|0;b=f[d>>2]|0;if((b|0)==(c|0))j=c;else{h=b;do{b=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[b+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));j=f[g>>2]|0}f[d>>2]=c;Ko(j)}j=f[a+104>>2]|0;if(j|0){f[a+108>>2]=j;Ko(j)}j=f[a+92>>2]|0;if(!j){k=a+72|0;zk(k);l=a+52|0;zk(l);m=a+32|0;zk(m);return}f[a+96>>2]=j;Ko(j);k=a+72|0;zk(k);l=a+52|0;zk(l);m=a+32|0;zk(m);return}function Mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((ub(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=Po(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=ub(a,c,g,i,h)|0;if(!o)s=j;else{Ma[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=ub(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)Oo(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function Nf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+8|0;d=f[c>>2]|0;e=d+84|0;g=a+16|0;if(b[e>>0]|0){h=f[g>>2]|0;return h|0}a=f[g>>2]|0;if(!a){h=f[g>>2]|0;return h|0}i=a+84|0;if(!(b[i>>0]|0)){h=f[g>>2]|0;return h|0}j=d+68|0;k=d+72|0;d=(f[k>>2]|0)-(f[j>>2]|0)>>2;b[i>>0]=0;i=a+68|0;l=a+72|0;a=f[i>>2]|0;m=(f[l>>2]|0)-a>>2;if(d>>>0<=m>>>0)if(d>>>0<m>>>0){f[l>>2]=a+(d<<2);n=k;o=j;p=e}else{n=k;o=j;p=e}else{Of(i,d-m|0,1404);m=f[c>>2]|0;n=m+72|0;o=m+68|0;p=m+84|0}if(b[p>>0]|0){h=f[g>>2]|0;return h|0}p=f[o>>2]|0;o=p;m=(f[n>>2]|0)-p|0;p=m>>2;if(!m){h=f[g>>2]|0;return h|0}m=f[(f[g>>2]|0)+68>>2]|0;n=0;do{f[m+(n<<2)>>2]=f[o+(n<<2)>>2];n=n+1|0}while(n>>>0<p>>>0);h=f[g>>2]|0;return h|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)$n(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0<j>>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=qa(8)|0;Dm(e,13552);f[e>>2]=4908;ta(e|0,1128,105)}else{e=wk(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)Bf(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;Ko(i);return}function Pf(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(en(l,e,0)|0){f[i+48>>2]=1;Ua[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ta[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=Ia;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<<j;f[g+4>>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=0;n=0;o=0;p=j;while(1){q=_(_(1.0)/_(p|0));Pe(g,_(q*_(f[k+(m<<2)>>2]|0)),_(q*_(f[k+((m|1)<<2)>>2]|0)),e);Bf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+o|0,e|0,i|0)|0;j=n+1|0;if((j|0)==(c|0)){l=1;break}m=m+2|0;n=j;o=o+i|0;p=f[a>>2]|0}u=d;return l|0}function Rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=fn(f[a+8>>2]|0,e)|0;h=fn(f[a+12>>2]|0,e)|0;i=fn(f[a+16>>2]|0,e)|0;a:do if((g>>>0<c>>>2>>>0?(j=c-(g<<2)|0,h>>>0<j>>>0&i>>>0<j>>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=fn(f[a+(q<<2)>>2]|0,e)|0;s=fn(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0<c>>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=Ri(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}l=s?l:o;m=s?n:m-n|0}m=p+k|0;l=fn(f[a+(m<<2)>>2]|0,e)|0;j=fn(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0<c>>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)$n(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0<i>>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{d=wk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)Bf(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;Ko(h);return}function Tf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;do{j=j+-12|0;if((b[j+11>>0]|0)<0)Ko(f[j>>2]|0)}while((j|0)!=(g|0))}f[h>>2]=g;f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;k=j;j=g;while(1){l=k+8|0;if((j|0)==(f[i>>2]|0))cf(a,l);else{Yi(j,l);f[h>>2]=(f[h>>2]|0)+12}l=f[k>>2]|0;if(!l)break a;k=l;j=f[h>>2]|0}}}while(0);if((d|0)<0){m=0;return m|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){m=0;return m|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){m=f[a>>2]|0;return m|0}else{m=a;return m|0}return 0}function Vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=Dh(c)|0;if(h>>>0>4294967279)$n(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=wk(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Ed(i,g,e)|0,(j|0)!=0):0)n=Di(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)Ko(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}Ko(f[e>>2]|0);u=d;return n|0} +function sb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[j>>2]|0;m=(f[k>>2]|0)-l>>2;if(m>>>0>=e>>>0){if(m>>>0>e>>>0)f[k>>2]=l+(e<<2)}else Eg(j,e-m|0);m=d;j=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(j|0));f[h>>2]=0;if(!e){n=0;o=0}else{Of(d,e,h);n=f[d+12>>2]|0;o=f[d+16>>2]|0}f[h>>2]=0;m=d+16|0;j=o-n>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[m>>2]=n+(e<<2)}else Of(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;n=d+28|0;m=f[j>>2]|0;o=(f[n>>2]|0)-m>>2;if(o>>>0>=e>>>0){if(o>>>0>e>>>0)f[n>>2]=m+(e<<2)}else Of(j,e-o|0,h);o=d+36|0;f[h>>2]=0;j=d+40|0;m=f[o>>2]|0;n=(f[j>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[j>>2]=m+(e<<2)}else Of(o,e-n|0,h);n=f[d>>2]|0;if((f[i>>2]|0)>0){o=a+16|0;m=a+32|0;j=a+12|0;l=0;do{k=f[n+(l<<2)>>2]|0;p=f[o>>2]|0;do if((k|0)<=(p|0)){q=f[j>>2]|0;r=f[m>>2]|0;s=r+(l<<2)|0;if((k|0)<(q|0)){f[s>>2]=q;t=r;break}else{f[s>>2]=k;t=r;break}}else{r=f[m>>2]|0;f[r+(l<<2)>>2]=p;t=r}while(0);l=l+1|0;v=f[i>>2]|0}while((l|0)<(v|0));if((v|0)>0){v=a+20|0;l=0;do{m=(f[b+(l<<2)>>2]|0)+(f[t+(l<<2)>>2]|0)|0;n=c+(l<<2)|0;f[n>>2]=m;if((m|0)<=(f[o>>2]|0)){if((m|0)<(f[j>>2]|0)){w=(f[v>>2]|0)+m|0;x=19}}else{w=m-(f[v>>2]|0)|0;x=19}if((x|0)==19){x=0;f[n>>2]=w}l=l+1|0}while((l|0)<(f[i>>2]|0))}}l=f[a+48>>2]|0;w=f[a+52>>2]|0;v=wk(16)|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[h>>2]=0;j=h+4|0;f[j>>2]=0;o=h+8|0;f[o>>2]=0;do if(e)if(e>>>0>1073741823)$n(h);else{t=e<<2;n=wk(t)|0;f[h>>2]=n;m=n+(e<<2)|0;f[o>>2]=m;oh(n|0,0,t|0)|0;f[j>>2]=m;y=n;break}else y=0;while(0);o=f[a+56>>2]|0;n=f[o>>2]|0;m=(f[o+4>>2]|0)-n|0;t=m>>2;a:do if((m|0)>4){p=n;k=(e|0)>0;r=l+12|0;s=a+16|0;q=a+32|0;z=a+12|0;A=a+20|0;B=e<<2;C=(e|0)==1;D=1;while(1){if(t>>>0<=D>>>0){x=30;break}E=f[p+(D<<2)>>2]|0;do if((E|0)!=-1){F=(((E>>>0)%3|0|0)==0?2:-1)+E|0;G=(F|0)==-1;H=f[r>>2]|0;I=H+(F<<2)|0;F=1;J=0;K=E;b:while(1){L=f[d+(J*12|0)>>2]|0;M=f[H+(K<<2)>>2]|0;if((M|0)!=-1){N=f[l>>2]|0;O=f[w>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(D|0)&(R|0)<(D|0)&(Q|0)<(D|0)){O=W(P,e)|0;P=W(R,e)|0;R=W(Q,e)|0;if(k){Q=0;do{f[L+(Q<<2)>>2]=(f[c+(Q+R<<2)>>2]|0)+(f[c+(Q+P<<2)>>2]|0)-(f[c+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}Q=J+1|0;if((Q|0)==4){U=4;break}else V=Q}else V=J}else V=J;do if(F){Q=K+1|0;O=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if((O|0)!=-1?(Q=f[H+(O<<2)>>2]|0,O=Q+1|0,(Q|0)!=-1):0)X=((O>>>0)%3|0|0)==0?Q+-2|0:O;else X=-1}else{O=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((O|0)!=-1?(Q=f[H+(O<<2)>>2]|0,(Q|0)!=-1):0)if(!((Q>>>0)%3|0)){X=Q+2|0;break}else{X=Q+-1|0;break}else X=-1}while(0);if((X|0)==(E|0)){x=59;break}Q=(X|0)!=-1;O=Q|F^1;do if(!(O|G)){P=f[I>>2]|0;if((P|0)==-1){x=59;break b}if(!((P>>>0)%3|0)){Y=0;Z=P+2|0;break}else{Y=0;Z=P+-1|0;break}}else{Y=Q&F;Z=O?X:-1}while(0);if((Z|0)==-1){x=59;break}else{F=Y;J=V;K=Z}}if((x|0)==59){x=0;if((V|0)>0)U=V;else{x=60;break}}if(k){oh(f[h>>2]|0,0,B|0)|0;K=U+-1|0;J=v+(K<<2)|0;F=a+60+(K*12|0)+4|0;I=a+60+(K*12|0)|0;K=f[h>>2]|0;G=0;H=0;while(1){O=f[J>>2]|0;f[J>>2]=O+1;if((f[F>>2]|0)>>>0<=O>>>0){_=K;$=0;break a}if(!(f[(f[I>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31))){O=f[d+(G*12|0)>>2]|0;Q=0;do{P=K+(Q<<2)|0;f[P>>2]=(f[P>>2]|0)+(f[O+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));aa=H+1|0}else aa=H;G=G+1|0;if((G|0)>=(U|0)){ba=aa;break}else H=aa}}else{H=U+-1|0;G=v+(H<<2)|0;K=a+60+(H*12|0)|0;I=f[h>>2]|0;F=f[a+60+(H*12|0)+4>>2]|0;H=0;J=0;Q=f[G>>2]|0;while(1){O=Q;Q=Q+1|0;f[G>>2]=Q;if(F>>>0<=O>>>0){_=I;$=0;break a}P=J+((f[(f[K>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31)|0)==0&1)|0;H=H+1|0;if((H|0)>=(U|0)){ba=P;break}else J=P}}J=W(D,e)|0;if(ba){H=f[h>>2]|0;if(k?(f[H>>2]=(f[H>>2]|0)/(ba|0)|0,!C):0){K=1;do{I=H+(K<<2)|0;f[I>>2]=(f[I>>2]|0)/(ba|0)|0;K=K+1|0}while((K|0)!=(e|0))}K=b+(J<<2)|0;I=c+(J<<2)|0;if((f[i>>2]|0)>0){F=0;do{Q=f[H+(F<<2)>>2]|0;G=f[s>>2]|0;do if((Q|0)<=(G|0)){P=f[z>>2]|0;O=f[q>>2]|0;R=O+(F<<2)|0;if((Q|0)<(P|0)){f[R>>2]=P;ca=O;break}else{f[R>>2]=Q;ca=O;break}}else{O=f[q>>2]|0;f[O+(F<<2)>>2]=G;ca=O}while(0);F=F+1|0;da=f[i>>2]|0}while((F|0)<(da|0));if((da|0)>0){F=0;do{H=(f[K+(F<<2)>>2]|0)+(f[ca+(F<<2)>>2]|0)|0;G=I+(F<<2)|0;f[G>>2]=H;do if((H|0)>(f[s>>2]|0)){ea=H-(f[A>>2]|0)|0;x=106}else{if((H|0)>=(f[z>>2]|0))break;ea=(f[A>>2]|0)+H|0;x=106}while(0);if((x|0)==106){x=0;f[G>>2]=ea}F=F+1|0}while((F|0)<(f[i>>2]|0))}}}else{fa=J;x=73}}else x=60;while(0);if((x|0)==60){x=0;fa=W(D,e)|0;x=73}if((x|0)==73?(x=0,E=c+((W(D+-1|0,e)|0)<<2)|0,F=b+(fa<<2)|0,I=c+(fa<<2)|0,(f[i>>2]|0)>0):0){K=0;do{H=f[E+(K<<2)>>2]|0;Q=f[s>>2]|0;do if((H|0)<=(Q|0)){O=f[z>>2]|0;R=f[q>>2]|0;P=R+(K<<2)|0;if((H|0)<(O|0)){f[P>>2]=O;ga=R;break}else{f[P>>2]=H;ga=R;break}}else{R=f[q>>2]|0;f[R+(K<<2)>>2]=Q;ga=R}while(0);K=K+1|0;ha=f[i>>2]|0}while((K|0)<(ha|0));if((ha|0)>0){K=0;do{E=(f[F+(K<<2)>>2]|0)+(f[ga+(K<<2)>>2]|0)|0;Q=I+(K<<2)|0;f[Q>>2]=E;if((E|0)<=(f[s>>2]|0)){if((E|0)<(f[z>>2]|0)){ia=(f[A>>2]|0)+E|0;x=87}}else{ia=E-(f[A>>2]|0)|0;x=87}if((x|0)==87){x=0;f[Q>>2]=ia}K=K+1|0}while((K|0)<(f[i>>2]|0))}}D=D+1|0;if((D|0)>=(t|0)){x=110;break}}if((x|0)==30)$n(o);else if((x|0)==110){_=f[h>>2]|0;$=1;break}}else{_=y;$=1}while(0);if(_|0){f[j>>2]=_;Ko(_)}Ko(v);v=f[d+36>>2]|0;if(v|0){f[d+40>>2]=v;Ko(v)}v=f[d+24>>2]|0;if(v|0){f[d+28>>2]=v;Ko(v)}v=f[d+12>>2]|0;if(v|0){f[d+16>>2]=v;Ko(v)}v=f[d>>2]|0;if(!v){u=g;return $|0}f[d+4>>2]=v;Ko(v);u=g;return $|0}function tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=Ia,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=u;u=u+720|0;e=d;g=d+688|0;i=d+656|0;k=d+4|0;if((j[c+38>>1]|0)>514){f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;m=c+8|0;o=c+16|0;p=g+4|0;q=g+8|0;r=a+36|0;t=a+40|0;v=a+60|0;w=a+44|0;x=g+8|0;y=g+12|0;z=g+20|0;A=0;a:while(1){if((A|0)>=(Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0)){B=26;break}C=La[f[(f[a>>2]|0)+20>>2]&127](a,A)|0;D=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;E=f[(f[(f[D>>2]|0)+8>>2]|0)+(C<<2)>>2]|0;if((f[E+28>>2]|0)==9){C=b[E+24>>0]|0;E=f[i>>2]|0;D=(f[l>>2]|0)-E>>2;if(D>>>0>=C>>>0){if(D>>>0>C>>>0)f[l>>2]=E+(C<<2)}else Eg(i,C-D|0);D=C<<2;E=m;F=f[E>>2]|0;G=f[E+4>>2]|0;E=o;I=f[E>>2]|0;J=vl(I|0,f[E+4>>2]|0,D|0,0)|0;E=H;if((G|0)<(E|0)|(G|0)==(E|0)&F>>>0<J>>>0){K=0;break}Bf(f[i>>2]|0,(f[c>>2]|0)+I|0,D|0)|0;I=o;J=vl(f[I>>2]|0,f[I+4>>2]|0,D|0,0)|0;D=H;I=o;f[I>>2]=J;f[I+4>>2]=D;I=m;F=f[I>>2]|0;E=f[I+4>>2]|0;I=vl(J|0,D|0,4,0)|0;G=H;if((E|0)<(G|0)|(E|0)==(G|0)&F>>>0<I>>>0){K=0;break}L=f[c>>2]|0;M=L+J|0;b[s>>0]=b[M>>0];b[s+1>>0]=b[M+1>>0];b[s+2>>0]=b[M+2>>0];b[s+3>>0]=b[M+3>>0];N=_(n[s>>2]);M=o;f[M>>2]=I;f[M+4>>2]=G;if(!((E|0)>(G|0)|(E|0)==(G|0)&F>>>0>I>>>0)){K=0;break}F=b[L+I>>0]|0;I=vl(J|0,D|0,5,0)|0;D=o;f[D>>2]=I;f[D+4>>2]=H;if((F&255)>31){K=0;break}f[g>>2]=1228;f[p>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;kj(g,F&255,f[i>>2]|0,C,N);do if(Si(g,f[(f[v>>2]|0)+((((f[t>>2]|0)-(f[r>>2]|0)|0)/24|0)<<2)>>2]|0)|0){C=f[t>>2]|0;if((C|0)==(f[w>>2]|0)){wd(r,g);O=0;break}f[C>>2]=1228;f[C+4>>2]=f[p>>2];P=C+8|0;f[P>>2]=0;F=C+12|0;f[F>>2]=0;D=C+16|0;f[D>>2]=0;I=(f[y>>2]|0)-(f[x>>2]|0)|0;J=I>>2;if(I|0){if(J>>>0>1073741823){B=17;break a}L=wk(I)|0;f[F>>2]=L;f[P>>2]=L;f[D>>2]=L+(J<<2);J=f[x>>2]|0;D=(f[y>>2]|0)-J|0;if((D|0)>0){Bf(L|0,J|0,D|0)|0;f[F>>2]=L+(D>>>2<<2)}}f[C+20>>2]=f[z>>2];f[t>>2]=(f[t>>2]|0)+24;O=0}else O=1;while(0);f[g>>2]=1228;C=f[q>>2]|0;if(C|0){f[y>>2]=C;Ko(C)}if(O|0){K=0;break}}A=A+1|0}if((B|0)==17)$n(P);if((B|0)==26){P=a+48|0;A=a+52|0;if((f[A>>2]|0)==(f[P>>2]|0))K=1;else{O=0;y=0;while(1){if(zh(g,c)|0){q=f[g>>2]|0;Q=q<<31>>31^q>>>1}else Q=y;q=f[P>>2]|0;f[q+(O<<2)>>2]=Q;O=O+1|0;if(O>>>0>=(f[A>>2]|0)-q>>2>>>0){K=1;break}else y=Q}}}Q=f[i>>2]|0;if(Q|0){f[l>>2]=Q;Ko(Q)}R=K;u=d;return R|0}K=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[g>>2]=0;Q=g+4|0;f[Q>>2]=0;l=g+8|0;f[l>>2]=0;y=(K|0)==0;if(y){S=0;T=f[(f[a>>2]|0)+20>>2]|0;U=a}else{if(K>>>0>214748364)$n(g);A=K*20|0;O=wk(A)|0;f[g>>2]=O;f[l>>2]=O+(K*20|0);oh(O|0,0,A|0)|0;f[Q>>2]=O+A;A=0;O=0;l=f[(f[a>>2]|0)+20>>2]|0;while(1){P=La[l&127](a,A)|0;q=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;t=f[(f[(f[q>>2]|0)+8>>2]|0)+(P<<2)>>2]|0;P=f[t+28>>2]|0;q=Bj(P)|0;z=b[t+24>>0]|0;x=f[g>>2]|0;f[x+(A*20|0)>>2]=t;f[x+(A*20|0)+4>>2]=O;f[x+(A*20|0)+8>>2]=P;f[x+(A*20|0)+12>>2]=(q|0)>0?q:0;f[x+(A*20|0)+16>>2]=z;x=O+z|0;A=A+1|0;z=f[(f[a>>2]|0)+20>>2]|0;if(A>>>0>=K>>>0){S=x;T=z;U=a;break}else{O=x;l=z}}}l=La[T&127](a,0)|0;T=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;O=f[(f[(f[T>>2]|0)+8>>2]|0)+(l<<2)>>2]|0;b[O+84>>0]=1;f[O+72>>2]=f[O+68>>2];l=c+8|0;T=f[l>>2]|0;A=f[l+4>>2]|0;l=c+16|0;z=l;x=f[z>>2]|0;q=f[z+4>>2]|0;b:do if((A|0)>(q|0)|(A|0)==(q|0)&T>>>0>x>>>0){z=f[c>>2]|0;P=b[z+x>>0]|0;t=vl(x|0,q|0,1,0)|0;p=H;r=l;f[r>>2]=t;f[r+4>>2]=p;switch(P<<24>>24){case 0:{if(!((A|0)>(p|0)|(A|0)==(p|0)&T>>>0>t>>>0)){V=0;break b}P=vl(x|0,q|0,2,0)|0;r=l;f[r>>2]=P;f[r+4>>2]=H;r=vl(x|0,q|0,6,0)|0;w=H;if((A|0)<(w|0)|(A|0)==(w|0)&T>>>0<r>>>0){V=0;break b}v=z+P|0;P=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=r;f[v+4>>2]=w;Fh(O,P)|0;fm(i);$e(k,g);P=Vd(i,c,k)|0;w=f[k+16>>2]|0;if(w|0){f[k+20>>2]=w;Ko(w)}w=f[k>>2]|0;if(w|0){f[k+4>>2]=w;Ko(w)}if(!P){V=0;break b}break}case 1:{if(!((A|0)>(p|0)|(A|0)==(p|0)&T>>>0>t>>>0)){V=0;break b}p=b[z+t>>0]|0;t=vl(x|0,q|0,2,0)|0;P=l;f[P>>2]=t;f[P+4>>2]=H;if((p&255)>6){f[e>>2]=p&255;kl(5094,e)|0;V=0;break b}P=vl(x|0,q|0,6,0)|0;w=H;if((A|0)<(w|0)|(A|0)==(w|0)&T>>>0<P>>>0){V=0;break b}v=z+t|0;t=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=P;f[v+4>>2]=w;if(!y){w=0;do{v=La[f[(f[U>>2]|0)+20>>2]&127](a,w)|0;P=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[P>>2]|0)+8>>2]|0)+(v<<2)>>2]|0;Fh(z,t)|0;b[z+84>>0]=1;f[z+72>>2]=f[z+68>>2];w=w+1|0}while(w>>>0<K>>>0)}$e(i,g);switch(p<<24>>24){case 0:{ve(k,S);w=Xd(k,c,i)|0;Cf(k);if(w)B=65;else W=1;break}case 1:{ve(k,S);w=Wd(k,c,i)|0;Cf(k);if(w)B=65;else W=1;break}case 2:{we(k,S);w=Zd(k,c,i)|0;Lf(k);if(w)B=65;else W=1;break}case 3:{we(k,S);w=Yd(k,c,i)|0;Lf(k);if(w)B=65;else W=1;break}case 4:{re(k,S);w=Ud(k,c,i)|0;jg(k);if(w)B=65;else W=1;break}case 5:{re(k,S);w=Td(k,c,i)|0;jg(k);if(w)B=65;else W=1;break}case 6:{re(k,S);w=Sd(k,c,i)|0;jg(k);if(w)B=65;else W=1;break}default:W=1}if((B|0)==65)W=0;w=f[i+16>>2]|0;if(w|0){f[i+20>>2]=w;Ko(w)}w=f[i>>2]|0;if(w|0){f[i+4>>2]=w;Ko(w)}if(W|0){V=0;break b}break}default:{V=0;break b}}V=1}else V=0;while(0);W=f[g>>2]|0;if(W|0){f[Q>>2]=W;Ko(W)}R=V;u=d;return R|0}function ub(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){w=s;x=t;while(1){do if((x|0)>-1)if((w|0)>(2147483647-x|0)){y=Ro()|0;f[y>>2]=75;z=-1;break}else{z=w+x|0;break}else z=x;while(0);A=f[j>>2]|0;y=b[A>>0]|0;if(!(y<<24>>24)){B=94;break a}C=y;y=A;b:while(1){switch(C<<24>>24){case 37:{B=10;break b;break}case 0:{D=y;break b;break}default:{}}E=y+1|0;f[j>>2]=E;C=b[E>>0]|0;y=E}c:do if((B|0)==10){B=0;C=y;E=y;while(1){if((b[E+1>>0]|0)!=37){D=C;break c}F=C+1|0;E=E+2|0;f[j>>2]=E;if((b[E>>0]|0)!=37){D=F;break}else C=F}}while(0);w=D-A|0;if(c)Pm(a,A,w);if(!w)break;else x=z}x=(to(b[(f[j>>2]|0)+1>>0]|0)|0)==0;w=f[j>>2]|0;if(!x?(b[w+2>>0]|0)==36:0){G=(b[w+1>>0]|0)+-48|0;I=1;J=3}else{G=-1;I=v;J=1}x=w+J|0;f[j>>2]=x;w=b[x>>0]|0;y=(w<<24>>24)+-32|0;if(y>>>0>31|(1<<y&75913|0)==0){K=0;L=w;M=x}else{w=0;C=y;y=x;while(1){x=1<<C|w;E=y+1|0;f[j>>2]=E;F=b[E>>0]|0;C=(F<<24>>24)+-32|0;if(C>>>0>31|(1<<C&75913|0)==0){K=x;L=F;M=E;break}else{w=x;y=E}}}if(L<<24>>24==42){if((to(b[M+1>>0]|0)|0)!=0?(y=f[j>>2]|0,(b[y+2>>0]|0)==36):0){w=y+1|0;f[h+((b[w>>0]|0)+-48<<2)>>2]=10;N=f[g+((b[w>>0]|0)+-48<<3)>>2]|0;O=1;P=y+3|0}else{if(I|0){Q=-1;break}if(c){y=(f[e>>2]|0)+(4-1)&~(4-1);w=f[y>>2]|0;f[e>>2]=y+4;R=w}else R=0;N=R;O=0;P=(f[j>>2]|0)+1|0}f[j>>2]=P;w=(N|0)<0;S=w?0-N|0:N;T=w?K|8192:K;U=O;V=P}else{w=sj(j)|0;if((w|0)<0){Q=-1;break}S=w;T=K;U=I;V=f[j>>2]|0}do if((b[V>>0]|0)==46){w=V+1|0;if((b[w>>0]|0)!=42){f[j>>2]=w;w=sj(j)|0;W=w;X=f[j>>2]|0;break}if(to(b[V+2>>0]|0)|0?(w=f[j>>2]|0,(b[w+3>>0]|0)==36):0){y=w+2|0;f[h+((b[y>>0]|0)+-48<<2)>>2]=10;C=f[g+((b[y>>0]|0)+-48<<3)>>2]|0;y=w+4|0;f[j>>2]=y;W=C;X=y;break}if(U|0){Q=-1;break a}if(c){y=(f[e>>2]|0)+(4-1)&~(4-1);C=f[y>>2]|0;f[e>>2]=y+4;Y=C}else Y=0;C=(f[j>>2]|0)+2|0;f[j>>2]=C;W=Y;X=C}else{W=-1;X=V}while(0);C=0;y=X;while(1){if(((b[y>>0]|0)+-65|0)>>>0>57){Q=-1;break a}w=y;y=y+1|0;f[j>>2]=y;Z=b[(b[w>>0]|0)+-65+(13620+(C*58|0))>>0]|0;_=Z&255;if((_+-1|0)>>>0>=8)break;else C=_}if(!(Z<<24>>24)){Q=-1;break}w=(G|0)>-1;do if(Z<<24>>24==19)if(w){Q=-1;break a}else B=54;else{if(w){f[h+(G<<2)>>2]=_;E=g+(G<<3)|0;x=f[E+4>>2]|0;F=k;f[F>>2]=f[E>>2];f[F+4>>2]=x;B=54;break}if(!c){Q=0;break a}Nd(k,_,e);$=f[j>>2]|0;B=55}while(0);if((B|0)==54){B=0;if(c){$=y;B=55}else aa=0}d:do if((B|0)==55){B=0;w=b[$+-1>>0]|0;x=(C|0)!=0&(w&15|0)==3?w&-33:w;w=T&-65537;F=(T&8192|0)==0?T:w;e:do switch(x|0){case 110:{switch((C&255)<<24>>24){case 0:{f[f[k>>2]>>2]=z;aa=0;break d;break}case 1:{f[f[k>>2]>>2]=z;aa=0;break d;break}case 2:{E=f[k>>2]|0;f[E>>2]=z;f[E+4>>2]=((z|0)<0)<<31>>31;aa=0;break d;break}case 3:{d[f[k>>2]>>1]=z;aa=0;break d;break}case 4:{b[f[k>>2]>>0]=z;aa=0;break d;break}case 6:{f[f[k>>2]>>2]=z;aa=0;break d;break}case 7:{E=f[k>>2]|0;f[E>>2]=z;f[E+4>>2]=((z|0)<0)<<31>>31;aa=0;break d;break}default:{aa=0;break d}}break}case 112:{ba=120;ca=W>>>0>8?W:8;da=F|8;B=67;break}case 88:case 120:{ba=x;ca=W;da=F;B=67;break}case 111:{E=k;ea=f[E>>2]|0;fa=f[E+4>>2]|0;E=wj(ea,fa,o)|0;ga=q-E|0;ha=E;ia=0;ja=14084;ka=(F&8|0)==0|(W|0)>(ga|0)?W:ga+1|0;la=F;ma=ea;na=fa;B=73;break}case 105:case 100:{fa=k;ea=f[fa>>2]|0;ga=f[fa+4>>2]|0;if((ga|0)<0){fa=wl(0,0,ea|0,ga|0)|0;E=H;oa=k;f[oa>>2]=fa;f[oa+4>>2]=E;pa=1;qa=14084;ra=fa;sa=E;B=72;break e}else{pa=(F&2049|0)!=0&1;qa=(F&2048|0)==0?((F&1|0)==0?14084:14086):14085;ra=ea;sa=ga;B=72;break e}break}case 117:{ga=k;pa=0;qa=14084;ra=f[ga>>2]|0;sa=f[ga+4>>2]|0;B=72;break}case 99:{b[r>>0]=f[k>>2];ta=r;ua=0;va=14084;wa=1;xa=w;ya=q;break}case 109:{ga=Ro()|0;za=Um(f[ga>>2]|0)|0;B=77;break}case 115:{ga=f[k>>2]|0;za=(ga|0)==0?14094:ga;B=77;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Aa=-1;B=81;break}case 83:{if(!W){vi(a,32,S,0,F);Ba=0;B=91}else{Aa=W;B=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{aa=rb(a,+p[k>>3],S,W,F,x)|0;break d;break}default:{ta=A;ua=0;va=14084;wa=W;xa=F;ya=q}}while(0);f:do if((B|0)==67){B=0;x=k;ga=f[x>>2]|0;ea=f[x+4>>2]|0;x=aj(ga,ea,o,ba&32)|0;E=(da&8|0)==0|(ga|0)==0&(ea|0)==0;ha=x;ia=E?0:2;ja=E?14084:14084+(ba>>>4)|0;ka=ca;la=da;ma=ga;na=ea;B=73}else if((B|0)==72){B=0;ha=xh(ra,sa,o)|0;ia=pa;ja=qa;ka=W;la=F;ma=ra;na=sa;B=73}else if((B|0)==77){B=0;ea=Re(za,0,W)|0;ga=(ea|0)==0;ta=za;ua=0;va=14084;wa=ga?W:ea-za|0;xa=w;ya=ga?za+W|0:ea}else if((B|0)==81){B=0;ea=f[k>>2]|0;ga=0;while(1){E=f[ea>>2]|0;if(!E){Ca=ga;break}x=Fm(n,E)|0;Da=(x|0)<0;if(Da|x>>>0>(Aa-ga|0)>>>0){B=85;break}E=x+ga|0;if(Aa>>>0>E>>>0){ea=ea+4|0;ga=E}else{Ca=E;break}}if((B|0)==85){B=0;if(Da){Q=-1;break a}else Ca=ga}vi(a,32,S,Ca,F);if(!Ca){Ba=0;B=91}else{ea=f[k>>2]|0;E=0;while(1){x=f[ea>>2]|0;if(!x){Ba=Ca;B=91;break f}fa=Fm(n,x)|0;E=fa+E|0;if((E|0)>(Ca|0)){Ba=Ca;B=91;break f}Pm(a,n,fa);if(E>>>0>=Ca>>>0){Ba=Ca;B=91;break}else ea=ea+4|0}}}while(0);if((B|0)==73){B=0;w=(ma|0)!=0|(na|0)!=0;ea=(ka|0)!=0|w;E=q-ha+((w^1)&1)|0;ta=ea?ha:o;ua=ia;va=ja;wa=ea?((ka|0)>(E|0)?ka:E):0;xa=(ka|0)>-1?la&-65537:la;ya=q}else if((B|0)==91){B=0;vi(a,32,S,Ba,F^8192);aa=(S|0)>(Ba|0)?S:Ba;break}E=ya-ta|0;ea=(wa|0)<(E|0)?E:wa;w=ea+ua|0;ga=(S|0)<(w|0)?w:S;vi(a,32,ga,w,xa);Pm(a,va,ua);vi(a,48,ga,w,xa^65536);vi(a,48,ea,E,0);Pm(a,ta,E);vi(a,32,ga,w,xa^8192);aa=ga}while(0);s=aa;t=z;v=U}g:do if((B|0)==94)if(!a)if(!v)Q=0;else{U=1;while(1){t=f[h+(U<<2)>>2]|0;if(!t)break;Nd(g+(U<<3)|0,t,e);t=U+1|0;if(t>>>0<10)U=t;else{Q=1;break g}}t=U;while(1){if(f[h+(t<<2)>>2]|0){Q=-1;break g}t=t+1|0;if(t>>>0>=10){Q=1;break}}}else Q=z;while(0);u=i;return Q|0}function vb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+36|0;k=a+37|0;l=a+32|0;m=f[l>>2]|0;do if((((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)<514){n=m+8|0;o=f[n>>2]|0;p=f[n+4>>2]|0;n=m+16|0;q=n;r=f[q>>2]|0;s=f[q+4>>2]|0;q=vl(r|0,s|0,4,0)|0;t=H;if((p|0)<(t|0)|(p|0)==(t|0)&o>>>0<q>>>0){v=0;u=c;return v|0}w=(f[m>>2]|0)+r|0;x=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[d>>2]=x;w=n;f[w>>2]=q;f[w+4>>2]=t;t=vl(r|0,s|0,8,0)|0;s=H;if((p|0)<(s|0)|(p|0)==(s|0)&o>>>0<t>>>0){v=0;u=c;return v|0}else{o=(f[m>>2]|0)+q|0;f[e>>2]=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;o=n;f[o>>2]=t;f[o+4>>2]=s;y=x;break}}else{if(!(zh(d,m)|0)){v=0;u=c;return v|0}if(zh(e,f[l>>2]|0)|0){y=f[d>>2]|0;break}else{v=0;u=c;return v|0}}while(0);if(y>>>0>1431655765){v=0;u=c;return v|0}m=f[e>>2]|0;x=Bk(y|0,0,3,0)|0;s=H;if(s>>>0<0|(s|0)==0&x>>>0<m>>>0){v=0;u=c;return v|0}x=f[l>>2]|0;s=x+8|0;o=f[s+4>>2]|0;t=x+16|0;n=t;q=f[n>>2]|0;p=f[n+4>>2]|0;if(!((o|0)>(p|0)|((o|0)==(p|0)?(f[s>>2]|0)>>>0>q>>>0:0))){v=0;u=c;return v|0}s=b[(f[x>>2]|0)+q>>0]|0;o=vl(q|0,p|0,1,0)|0;n=H;r=t;f[r>>2]=o;f[r+4>>2]=n;a:do if(!(s<<24>>24)){if(!(ke(a,y)|0)){v=0;u=c;return v|0}}else{if(m>>>0<256){if(!y)break;r=a+44|0;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=x+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;b:do if((B|0)>(n|0)|(B|0)==(n|0)&A>>>0>o>>>0){z=0;C=x;D=o;E=n;F=B;G=A;I=y;while(1){J=C+16|0;K=f[C>>2]|0;L=b[K+D>>0]|0;M=vl(D|0,E|0,1,0)|0;N=H;O=J;f[O>>2]=M;f[O+4>>2]=N;f[g>>2]=L&255;if(!((F|0)>(N|0)|(F|0)==(N|0)&G>>>0>M>>>0))break b;N=b[K+M>>0]|0;M=vl(D|0,E|0,2,0)|0;L=H;O=J;f[O>>2]=M;f[O+4>>2]=L;f[t>>2]=N&255;if(!((F|0)>(L|0)|(F|0)==(L|0)&G>>>0>M>>>0))break b;L=b[K+M>>0]|0;M=vl(D|0,E|0,3,0)|0;K=J;f[K>>2]=M;f[K+4>>2]=H;f[w>>2]=L&255;L=f[r>>2]|0;K=L+100|0;M=f[K>>2]|0;if((M|0)==(f[L+104>>2]|0)){yg(L+96|0,g);P=f[d>>2]|0}else{f[M>>2]=f[g>>2];f[M+4>>2]=f[g+4>>2];f[M+8>>2]=f[g+8>>2];f[K>>2]=(f[K>>2]|0)+12;P=I}z=z+1|0;if(z>>>0>=P>>>0)break a;C=f[l>>2]|0;K=C+16|0;D=f[K>>2]|0;E=f[K+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;K=C+8|0;G=f[K>>2]|0;F=f[K+4>>2]|0;if(!((F|0)>(E|0)|(F|0)==(E|0)&G>>>0>D>>>0))break;else I=P}}while(0);v=0;u=c;return v|0}if(m>>>0<65536){if(!y)break;r=a+44|0;w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;A=x+8|0;B=f[A>>2]|0;I=f[A+4>>2]|0;A=vl(q|0,p|0,3,0)|0;D=H;c:do if(!((I|0)<(D|0)|(I|0)==(D|0)&B>>>0<A>>>0)){G=0;E=x;F=o;C=A;z=D;K=n;M=I;L=B;J=y;while(1){N=E+16|0;O=f[E>>2]|0;Q=O+F|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=N;f[Q>>2]=C;f[Q+4>>2]=z;f[g>>2]=R&65535;R=vl(F|0,K|0,4,0)|0;Q=H;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0<R>>>0)break c;S=O+C|0;T=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=R;f[S+4>>2]=Q;f[w>>2]=T&65535;T=vl(F|0,K|0,6,0)|0;Q=H;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0<T>>>0)break c;S=O+R|0;R=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=T;f[S+4>>2]=Q;f[t>>2]=R&65535;R=f[r>>2]|0;Q=R+100|0;S=f[Q>>2]|0;if((S|0)==(f[R+104>>2]|0)){yg(R+96|0,g);U=f[d>>2]|0}else{f[S>>2]=f[g>>2];f[S+4>>2]=f[g+4>>2];f[S+8>>2]=f[g+8>>2];f[Q>>2]=(f[Q>>2]|0)+12;U=J}G=G+1|0;if(G>>>0>=U>>>0)break a;E=f[l>>2]|0;Q=E+16|0;F=f[Q>>2]|0;K=f[Q+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Q=E+8|0;L=f[Q>>2]|0;M=f[Q+4>>2]|0;C=vl(F|0,K|0,2,0)|0;z=H;if((M|0)<(z|0)|(M|0)==(z|0)&L>>>0<C>>>0)break;else J=U}}while(0);v=0;u=c;return v|0}r=a+44|0;if((f[(f[r>>2]|0)+80>>2]|0)>>>0<2097152?(((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)>513:0){if(!y)break;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(zh(i,x)|0){B=0;do{f[g>>2]=f[i>>2];if(!(zh(i,f[l>>2]|0)|0))break d;f[t>>2]=f[i>>2];if(!(zh(i,f[l>>2]|0)|0))break d;f[w>>2]=f[i>>2];I=f[r>>2]|0;D=I+100|0;A=f[D>>2]|0;if((A|0)==(f[I+104>>2]|0))yg(I+96|0,g);else{f[A>>2]=f[g>>2];f[A+4>>2]=f[g+4>>2];f[A+8>>2]=f[g+8>>2];f[D>>2]=(f[D>>2]|0)+12}B=B+1|0;if(B>>>0>=(f[d>>2]|0)>>>0)break a;D=f[l>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(zh(i,D)|0)}while(0);v=0;u=c;return v|0}if(y|0){w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;B=x+8|0;D=f[B>>2]|0;A=f[B+4>>2]|0;B=vl(q|0,p|0,5,0)|0;I=H;e:do if(!((A|0)<(I|0)|(A|0)==(I|0)&D>>>0<B>>>0)){J=0;C=x;L=o;z=B;M=I;K=n;F=A;E=D;G=y;while(1){Q=C+16|0;S=f[C>>2]|0;R=S+L|0;T=h[R>>0]|h[R+1>>0]<<8|h[R+2>>0]<<16|h[R+3>>0]<<24;R=Q;f[R>>2]=z;f[R+4>>2]=M;f[g>>2]=T;T=vl(L|0,K|0,8,0)|0;R=H;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0<T>>>0)break e;N=S+z|0;O=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=T;f[N+4>>2]=R;f[w>>2]=O;O=vl(L|0,K|0,12,0)|0;R=H;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0<O>>>0)break e;N=S+T|0;T=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=O;f[N+4>>2]=R;f[t>>2]=T;T=f[r>>2]|0;R=T+100|0;N=f[R>>2]|0;if((N|0)==(f[T+104>>2]|0)){yg(T+96|0,g);V=f[d>>2]|0}else{f[N>>2]=f[g>>2];f[N+4>>2]=f[g+4>>2];f[N+8>>2]=f[g+8>>2];f[R>>2]=(f[R>>2]|0)+12;V=G}J=J+1|0;if(J>>>0>=V>>>0)break a;C=f[l>>2]|0;R=C+16|0;L=f[R>>2]|0;K=f[R+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;R=C+8|0;E=f[R>>2]|0;F=f[R+4>>2]|0;z=vl(L|0,K|0,4,0)|0;M=H;if((F|0)<(M|0)|(F|0)==(M|0)&E>>>0<z>>>0)break;else G=V}}while(0);v=0;u=c;return v|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];v=1;u=c;return v|0}function wb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ia,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=Bk(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=vl(m|0,H|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=vl(l|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=vl(r|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=vl(r|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(r|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=_(n[m>>2]);k=+J(+C)>=1.0?(+C>0.0?~~+X(+I(+C/4294967296.0),4294967295.0)>>>0:~~+V((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+J(E)>=1.0?(E>0.0?~~+X(+I(E/4294967296.0),4294967295.0)>>>0:~~+V((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=Bk(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=vl(o|0,H|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ng(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=(o>>>0)/3|0;g=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(j*12|0)+(o-(j*3|0)<<2)>>2]|0;j=f[a+48>>2]|0;f[d>>2]=g;o=f[j+4>>2]|0;j=o+4|0;l=f[j>>2]|0;if((l|0)==(f[o+8>>2]|0))Ng(o,d);else{f[l>>2]=g;f[j>>2]=l+4}l=a+40|0;j=f[l>>2]|0;g=j+4|0;o=f[g>>2]|0;if((o|0)==(f[j+8>>2]|0)){Ng(j,e);p=f[l>>2]|0}else{f[o>>2]=f[e>>2];f[g>>2]=o+4;p=j}j=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[j>>2];f[j>>2]=(f[j>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);j=f[h>>2]|0;if(!(j&q)){f[h>>2]=j|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=(r>>>0)/3|0;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(q*12|0)+(r-(q*3|0)<<2)>>2]|0;q=f[a+48>>2]|0;f[d>>2]=j;r=f[q+4>>2]|0;q=r+4|0;h=f[q>>2]|0;if((h|0)==(f[r+8>>2]|0))Ng(r,d);else{f[h>>2]=j;f[q>>2]=h+4}h=a+40|0;q=f[h>>2]|0;j=q+4|0;r=f[j>>2]|0;if((r|0)==(f[q+8>>2]|0)){Ng(q,e);s=f[h>>2]|0}else{f[r>>2]=f[e>>2];f[j>>2]=r+4;s=q}q=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[q>>2];f[q>>2]=(f[q>>2]|0)+1}q=f[i>>2]|0;if((q|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(q<<2)>>2]|0;q=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[q>>2]|0;if(!(n&s)){f[q>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=(n>>>0)/3|0;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(s*12|0)+(n-(s*3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=q;n=f[s+4>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0))Ng(n,d);else{f[r>>2]=q;f[s>>2]=r+4}r=a+40|0;s=f[r>>2]|0;q=s+4|0;n=f[q>>2]|0;if((n|0)==(f[s+8>>2]|0)){Ng(s,e);v=f[r>>2]|0}else{f[n>>2]=f[e>>2];f[q>>2]=n+4;v=s}s=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1}s=f[b>>2]|0;a:do if((s|0)<3){t=a+12|0;v=a+44|0;n=a+48|0;q=a+40|0;r=a+92|0;j=s;while(1){h=a+52+(j*12|0)+4|0;m=f[h>>2]|0;if((f[a+52+(j*12|0)>>2]|0)==(m|0))if((j|0)<2)w=j+1|0;else break a;else{p=m+-4|0;m=f[p>>2]|0;f[h>>2]=p;f[b>>2]=j;f[i>>2]=m;if((m|0)==-1)break;p=(m>>>0)/3|0;h=f[t>>2]|0;do if(!(f[h+(p>>>5<<2)>>2]&1<<(p&31))){o=m;g=h;b:while(1){l=(o>>>0)/3|0;x=g+(l>>>5<<2)|0;f[x>>2]=1<<(l&31)|f[x>>2];x=f[i>>2]|0;if((x|0)==-1)y=-1;else y=f[(f[f[a>>2]>>2]|0)+(x<<2)>>2]|0;l=(f[k>>2]|0)+(y>>>5<<2)|0;z=1<<(y&31);A=f[l>>2]|0;if(!(z&A)){f[l>>2]=A|z;z=f[i>>2]|0;f[e>>2]=z;A=(z>>>0)/3|0;l=f[(f[(f[v>>2]|0)+96>>2]|0)+(A*12|0)+(z-(A*3|0)<<2)>>2]|0;A=f[n>>2]|0;f[d>>2]=l;z=f[A+4>>2]|0;A=z+4|0;B=f[A>>2]|0;if((B|0)==(f[z+8>>2]|0))Ng(z,d);else{f[B>>2]=l;f[A>>2]=B+4}B=f[q>>2]|0;A=B+4|0;l=f[A>>2]|0;if((l|0)==(f[B+8>>2]|0)){Ng(B,e);C=f[q>>2]|0}else{f[l>>2]=f[e>>2];f[A>>2]=l+4;C=B}B=C+24|0;f[(f[C+12>>2]|0)+(y<<2)>>2]=f[B>>2];f[B>>2]=(f[B>>2]|0)+1;D=f[i>>2]|0}else D=x;x=f[a>>2]|0;if((D|0)==-1){E=94;break}B=D+1|0;l=((B>>>0)%3|0|0)==0?D+-2|0:B;if((l|0)==-1)F=-1;else F=f[(f[x+12>>2]|0)+(l<<2)>>2]|0;l=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((l|0)==-1)G=-1;else G=f[(f[x+12>>2]|0)+(l<<2)>>2]|0;l=(F|0)==-1;B=l?-1:(F>>>0)/3|0;A=(G|0)==-1;z=A?-1:(G>>>0)/3|0;if(l)H=1;else H=(f[(f[t>>2]|0)+(B>>>5<<2)>>2]&1<<(B&31)|0)!=0;do if(A)if(H){E=94;break b}else E=82;else{if(f[(f[t>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)if(H){E=94;break b}else{E=82;break}B=f[(f[x>>2]|0)+(G<<2)>>2]|0;if(!(1<<(B&31)&f[(f[k>>2]|0)+(B>>>5<<2)>>2])){I=(f[r>>2]|0)+(B<<2)|0;B=f[I>>2]|0;f[I>>2]=B+1;J=(B|0)>0?1:2}else J=0;if(H?(J|0)<=(f[b>>2]|0):0){K=G;break}f[d>>2]=G;B=a+52+(J*12|0)+4|0;I=f[B>>2]|0;if((I|0)==(f[a+52+(J*12|0)+8>>2]|0))Ng(a+52+(J*12|0)|0,d);else{f[I>>2]=G;f[B>>2]=I+4}if((f[b>>2]|0)>(J|0))f[b>>2]=J;if(H){E=94;break b}else E=82}while(0);if((E|0)==82){E=0;if(l)L=-1;else L=f[(f[f[a>>2]>>2]|0)+(F<<2)>>2]|0;if(!(1<<(L&31)&f[(f[k>>2]|0)+(L>>>5<<2)>>2])){x=(f[r>>2]|0)+(L<<2)|0;z=f[x>>2]|0;f[x>>2]=z+1;M=(z|0)>0?1:2}else M=0;if((M|0)>(f[b>>2]|0))break;else K=F}f[i>>2]=K;o=K;g=f[t>>2]|0}if((E|0)==94){E=0;N=f[b>>2]|0;break}f[d>>2]=F;g=a+52+(M*12|0)+4|0;o=f[g>>2]|0;if((o|0)==(f[a+52+(M*12|0)+8>>2]|0))Ng(a+52+(M*12|0)|0,d);else{f[o>>2]=F;f[g>>2]=o+4}o=f[b>>2]|0;if((o|0)>(M|0)){f[b>>2]=M;O=M}else O=o;N=O}else N=j;while(0);if((N|0)<3)w=N;else break a}j=w}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[h>>2]|0;k=(f[i>>2]|0)-j>>2;l=j;if(k>>>0>=b>>>0){if(k>>>0>b>>>0)f[i>>2]=l+(b<<2)}else Of(h,b-k|0,3732);f[d>>2]=0;k=d+4|0;f[k>>2]=0;l=d+8|0;f[l>>2]=0;if(b){if((b|0)<0)$n(d);j=((b+-1|0)>>>5)+1|0;m=wk(j<<2)|0;f[d>>2]=m;f[l>>2]=j;f[k>>2]=b;j=b>>>5;oh(m|0,0,j<<2|0)|0;n=b&31;o=m+(j<<2)|0;j=m;if(!n){p=b;q=j;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=j;r=m}}else{p=0;q=0;r=0}m=a+4|0;j=f[a>>2]|0;n=(f[m>>2]|0)-j|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(n){if((n|0)<0)$n(e);v=((o+-1|0)>>>5)+1|0;w=wk(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;oh(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+32|0;y=a+12|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=j;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;H=f[F+(G<<2)>>2]|0;I=G+1|0;if((I|0)!=-1){J=f[F+(I<<2)>>2]|0;I=G+2|0;if((I|0)==-1){K=-1;L=J}else{M=J;N=I;O=22}}else{M=-1;N=0;O=22}if((O|0)==22){O=0;K=f[F+(N<<2)>>2]|0;L=M}if((H|0)!=(L|0)?!((H|0)==(K|0)|(L|0)==(K|0)):0){H=0;F=A;I=D;J=E;while(1){P=H+G|0;if(!(f[(f[e>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31))){Q=f[(f[a>>2]|0)+(P<<2)>>2]|0;f[g>>2]=Q;R=Q>>>5;S=1<<(Q&31);b:do if(!(f[J+(R<<2)>>2]&S)){Q=f[d>>2]|0;T=Q+(R<<2)|0;f[T>>2]=f[T>>2]|S;T=Q;U=f[h>>2]|0;V=P;while(1){W=(f[e>>2]|0)+(V>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(V&31);f[U+(f[g>>2]<<2)>>2]=V;W=V+1|0;X=((W>>>0)%3|0|0)==0?V+-2|0:W;do if((X|0)==-1)Y=-1;else{W=f[(f[y>>2]|0)+(X<<2)>>2]|0;Z=W+1|0;if((W|0)==-1){Y=-1;break}Y=((Z>>>0)%3|0|0)==0?W+-2|0:Z}while(0);if((Y|0)==(P|0)){_=0;$=F;aa=T;ba=Q;O=50;break b}if((Y|0)==-1){ca=0;da=F;ea=T;fa=Q;O=51;break}else V=Y}}else{V=f[i>>2]|0;if((V|0)==(f[x>>2]|0))Ng(h,3732);else{f[V>>2]=-1;f[i>>2]=V+4}V=f[v>>2]|0;if((V|0)==(f[w>>2]|0))Ng(z,g);else{f[V>>2]=f[g>>2];f[v>>2]=V+4}V=f[k>>2]|0;Q=f[l>>2]|0;if((V|0)==(Q<<5|0)){if((V+1|0)<0){O=36;break a}T=Q<<6;Q=V+32&-32;vg(d,V>>>0<1073741823?(T>>>0<Q>>>0?Q:T):2147483647);ga=f[k>>2]|0}else ga=V;f[k>>2]=ga+1;V=(f[d>>2]|0)+(ga>>>5<<2)|0;f[V>>2]=f[V>>2]&~(1<<(ga&31));V=F+1|0;f[g>>2]=F;T=f[d>>2]|0;Q=T+(F>>>5<<2)|0;f[Q>>2]=f[Q>>2]|1<<(F&31);Q=T;U=f[h>>2]|0;X=f[a>>2]|0;Z=P;while(1){W=(f[e>>2]|0)+(Z>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(Z&31);W=f[g>>2]|0;f[U+(W<<2)>>2]=Z;f[X+(Z<<2)>>2]=W;W=Z+1|0;ha=((W>>>0)%3|0|0)==0?Z+-2|0:W;do if((ha|0)==-1)ia=-1;else{W=f[(f[y>>2]|0)+(ha<<2)>>2]|0;ja=W+1|0;if((W|0)==-1){ia=-1;break}ia=((ja>>>0)%3|0|0)==0?W+-2|0:ja}while(0);if((ia|0)==(P|0)){_=1;$=V;aa=Q;ba=T;O=50;break b}if((ia|0)==-1){ca=1;da=V;ea=Q;fa=T;O=51;break}else Z=ia}}while(0);if((O|0)==50){O=0;if((P|0)==-1){ca=_;da=$;ea=aa;fa=ba;O=51}else{ka=$;la=aa;ma=ba}}c:do if((O|0)==51){O=0;S=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if(((S|0)!=-1?(R=f[(f[y>>2]|0)+(S<<2)>>2]|0,(R|0)!=-1):0)?(S=R+(((R>>>0)%3|0|0)==0?2:-1)|0,(S|0)!=-1):0)if(ca){R=f[a>>2]|0;Z=S;while(1){T=(f[e>>2]|0)+(Z>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Z&31);f[R+(Z<<2)>>2]=f[g>>2];T=(((Z>>>0)%3|0|0)==0?2:-1)+Z|0;if((T|0)==-1){ka=da;la=ea;ma=fa;break c}Q=f[(f[y>>2]|0)+(T<<2)>>2]|0;if((Q|0)==-1){ka=da;la=ea;ma=fa;break c}Z=Q+(((Q>>>0)%3|0|0)==0?2:-1)|0;if((Z|0)==-1){ka=da;la=ea;ma=fa;break}}}else{Z=S;while(1){R=(f[e>>2]|0)+(Z>>>5<<2)|0;f[R>>2]=f[R>>2]|1<<(Z&31);R=(((Z>>>0)%3|0|0)==0?2:-1)+Z|0;if((R|0)==-1){ka=da;la=ea;ma=fa;break c}Q=f[(f[y>>2]|0)+(R<<2)>>2]|0;if((Q|0)==-1){ka=da;la=ea;ma=fa;break c}Z=Q+(((Q>>>0)%3|0|0)==0?2:-1)|0;if((Z|0)==-1){ka=da;la=ea;ma=fa;break}}}else{ka=da;la=ea;ma=fa}}while(0);na=ka;oa=la;pa=ma}else{na=F;oa=I;pa=J}H=H+1|0;if(H>>>0>=3){qa=na;ra=oa;sa=pa;break}else{F=na;I=oa;J=pa}}}else{qa=A;ra=D;sa=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){O=17;break}else{A=qa;D=ra;E=sa}}if((O|0)==17){ta=ra;ua=f[k>>2]|0;break}else if((O|0)==36)$n(d)}else{ta=q;ua=p}}else{ta=q;ua=p}while(0);p=a+44|0;f[p>>2]=0;a=ta;q=ua>>>5;O=a+(q<<2)|0;k=ua&31;if(q|k|0){q=ta;ta=0;ua=a;a=0;while(1){if(!(f[ua>>2]&1<<ta)){ra=a+1|0;f[p>>2]=ra;va=ra}else va=a;ra=(ta|0)==31;q=ra?ua+4|0:q;ta=ra?0:ta+1|0;ua=q;if(!((O|0)!=(ua|0)|(ta|0)!=(k|0)))break;else a=va}}va=f[e>>2]|0;if(va|0)Ko(va);va=f[d>>2]|0;if(!va){u=c;return 1}Ko(va);u=c;return 1}function zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=Ia,L=Ia,M=Ia,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;g=e+40|0;i=e+16|0;j=e;k=Ec(a,c)|0;if(k|0){l=f[a+4>>2]|0;m=f[k+4>>2]|0;o=l+-1|0;p=(o&l|0)==0;if(!p)if(m>>>0<l>>>0)q=m;else q=(m>>>0)%(l>>>0)|0;else q=o&m;m=(f[a>>2]|0)+(q<<2)|0;r=f[m>>2]|0;while(1){s=f[r>>2]|0;if((s|0)==(k|0))break;else r=s}if((r|0)!=(a+8|0)){s=f[r+4>>2]|0;if(!p)if(s>>>0<l>>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&o;if((t|0)==(q|0))v=k;else w=15}else w=15;do if((w|0)==15){t=f[k>>2]|0;if(t|0){s=f[t+4>>2]|0;if(!p)if(s>>>0<l>>>0)x=s;else x=(s>>>0)%(l>>>0)|0;else x=s&o;if((x|0)==(q|0)){v=k;break}}f[m>>2]=0;v=k}while(0);m=f[v>>2]|0;x=m;if(m){s=f[m+4>>2]|0;if(!p)if(s>>>0<l>>>0)y=s;else y=(s>>>0)%(l>>>0)|0;else y=s&o;if((y|0)!=(q|0)){f[(f[a>>2]|0)+(y<<2)>>2]=r;z=f[k>>2]|0}else z=x}else z=x;f[r>>2]=z;f[v>>2]=0;v=a+12|0;f[v>>2]=(f[v>>2]|0)+-1;v=k+8|0;z=f[k+20>>2]|0;if(z|0){f[k+24>>2]=z;Ko(z)}if((b[v+11>>0]|0)<0)Ko(f[v>>2]|0);Ko(k)}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;Kg(j,v);Bf(f[j>>2]|0,f[d>>2]|0,v|0)|0;Yi(i,c);c=i+12|0;f[c>>2]=0;v=i+16|0;f[v>>2]=0;f[i+20>>2]=0;Kg(c,(f[k>>2]|0)-(f[j>>2]|0)|0);d=f[j>>2]|0;Bf(f[c>>2]|0,d|0,(f[k>>2]|0)-d|0)|0;d=i+11|0;z=b[d>>0]|0;r=z<<24>>24<0;x=r?f[i>>2]|0:i;y=r?f[i+4>>2]|0:z&255;if(y>>>0>3){z=x;r=y;q=y;while(1){o=W(h[z>>0]|h[z+1>>0]<<8|h[z+2>>0]<<16|h[z+3>>0]<<24,1540483477)|0;r=(W(o>>>24^o,1540483477)|0)^(W(r,1540483477)|0);q=q+-4|0;if(q>>>0<=3)break;else z=z+4|0}z=y+-4|0;q=z&-4;A=z-q|0;B=x+(q+4)|0;C=r}else{A=y;B=x;C=y}switch(A|0){case 3:{D=h[B+2>>0]<<16^C;w=40;break}case 2:{D=C;w=40;break}case 1:{E=C;w=41;break}default:F=C}if((w|0)==40){E=h[B+1>>0]<<8^D;w=41}if((w|0)==41)F=W(E^h[B>>0],1540483477)|0;B=W(F>>>13^F,1540483477)|0;F=B>>>15^B;B=a+4|0;E=f[B>>2]|0;D=(E|0)==0;a:do if(!D){C=E+-1|0;A=(C&E|0)==0;if(!A)if(F>>>0<E>>>0)G=F;else G=(F>>>0)%(E>>>0)|0;else G=F&C;r=f[(f[a>>2]|0)+(G<<2)>>2]|0;if((r|0)!=0?(q=f[r>>2]|0,(q|0)!=0):0){r=(y|0)==0;if(A){if(r){A=q;while(1){z=f[A+4>>2]|0;if(!((z|0)==(F|0)|(z&C|0)==(G|0))){H=G;w=86;break a}z=b[A+8+11>>0]|0;if(!((z<<24>>24<0?f[A+12>>2]|0:z&255)|0))break a;A=f[A>>2]|0;if(!A){H=G;w=86;break a}}}A=q;while(1){z=f[A+4>>2]|0;if(!((z|0)==(F|0)|(z&C|0)==(G|0))){H=G;w=86;break a}z=A+8|0;o=b[z+11>>0]|0;s=o<<24>>24<0;l=o&255;do if(((s?f[A+12>>2]|0:l)|0)==(y|0)){o=f[z>>2]|0;if(s)if(!(Fi(o,x,y)|0))break a;else break;if((b[x>>0]|0)==(o&255)<<24>>24){o=z;p=l;m=x;do{p=p+-1|0;o=o+1|0;if(!p)break a;m=m+1|0}while((b[o>>0]|0)==(b[m>>0]|0))}}while(0);A=f[A>>2]|0;if(!A){H=G;w=86;break a}}}if(r){A=q;while(1){C=f[A+4>>2]|0;if((C|0)!=(F|0)){if(C>>>0<E>>>0)I=C;else I=(C>>>0)%(E>>>0)|0;if((I|0)!=(G|0)){H=G;w=86;break a}}C=b[A+8+11>>0]|0;if(!((C<<24>>24<0?f[A+12>>2]|0:C&255)|0))break a;A=f[A>>2]|0;if(!A){H=G;w=86;break a}}}A=q;while(1){r=f[A+4>>2]|0;if((r|0)!=(F|0)){if(r>>>0<E>>>0)J=r;else J=(r>>>0)%(E>>>0)|0;if((J|0)!=(G|0)){H=G;w=86;break a}}r=A+8|0;C=b[r+11>>0]|0;l=C<<24>>24<0;z=C&255;do if(((l?f[A+12>>2]|0:z)|0)==(y|0)){C=f[r>>2]|0;if(l)if(!(Fi(C,x,y)|0))break a;else break;if((b[x>>0]|0)==(C&255)<<24>>24){C=r;s=z;m=x;do{s=s+-1|0;C=C+1|0;if(!s)break a;m=m+1|0}while((b[C>>0]|0)==(b[m>>0]|0))}}while(0);A=f[A>>2]|0;if(!A){H=G;w=86;break}}}else{H=G;w=86}}else{H=0;w=86}while(0);if((w|0)==86){G=wk(32)|0;f[g>>2]=G;x=G+8|0;f[x>>2]=f[i>>2];f[x+4>>2]=f[i+4>>2];f[x+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;x=G+20|0;f[x>>2]=0;f[G+24>>2]=0;f[G+28>>2]=0;Kg(x,(f[v>>2]|0)-(f[c>>2]|0)|0);y=f[c>>2]|0;Bf(f[x>>2]|0,y|0,(f[v>>2]|0)-y|0)|0;f[G+4>>2]=F;f[G>>2]=0;y=a+12|0;K=_(((f[y>>2]|0)+1|0)>>>0);L=_(E>>>0);M=_(n[a+16>>2]);do if(D|_(M*L)<K){x=E<<1|(E>>>0<3|(E+-1&E|0)!=0)&1;c=~~_(V(_(K/M)))>>>0;Xf(a,x>>>0<c>>>0?c:x);x=f[B>>2]|0;c=x+-1|0;if(!(c&x)){N=x;O=c&F;break}if(F>>>0<x>>>0){N=x;O=F}else{N=x;O=(F>>>0)%(x>>>0)|0}}else{N=E;O=H}while(0);H=(f[a>>2]|0)+(O<<2)|0;O=f[H>>2]|0;if(!O){E=a+8|0;f[G>>2]=f[E>>2];f[E>>2]=G;f[H>>2]=E;E=f[G>>2]|0;if(!E)P=g;else{H=f[E+4>>2]|0;E=N+-1|0;if(E&N)if(H>>>0<N>>>0)Q=H;else Q=(H>>>0)%(N>>>0)|0;else Q=H&E;R=g;S=(f[a>>2]|0)+(Q<<2)|0;w=99}}else{f[G>>2]=f[O>>2];R=g;S=O;w=99}if((w|0)==99){f[S>>2]=G;P=R}f[y>>2]=(f[y>>2]|0)+1;f[P>>2]=0}P=f[i+12>>2]|0;if(P|0){f[v>>2]=P;Ko(P)}if((b[d>>0]|0)<0)Ko(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}f[k>>2]=i;Ko(i);u=e;return}function Ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=vl(o|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=vl(o|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=vl(j|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=vl(m|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=Bk(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=vl(l|0,H|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=vl(k|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=vl(q|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=vl(s|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=vl(o|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~_(n[l>>2])&65535;d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=vl(j|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=vl(m|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Bb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=vl(o|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=vl(o|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=vl(j|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=vl(m|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=Bk(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=vl(l|0,H|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=vl(k|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=vl(q|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=vl(s|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=vl(o|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~_(n[l>>2]);d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=vl(j|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=vl(m|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Cb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=Bk(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=vl(m|0,H|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=vl(l|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=vl(r|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(t|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~_(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Db(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=Bk(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=vl(m|0,H|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=vl(l|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=vl(r|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(t|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~_(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=vl(m|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(m|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=vl(i|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=vl(k|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=vl(j|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=Bk(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=vl(o|0,H|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=vl(r|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(m|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~_(n[k>>2])&255;b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=vl(i|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=vl(m|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(m|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=vl(i|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=vl(k|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=vl(j|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=Bk(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=vl(o|0,H|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=vl(r|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(m|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~_(n[k>>2]);b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=vl(i|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;h=a+4|0;i=f[(f[h>>2]|0)+44>>2]|0;j=a+8|0;k=f[j>>2]|0;l=((f[k+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;k=i+96|0;m=i+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;i=f[k>>2]|0;n=((f[m>>2]|0)-i|0)/12|0;if(l>>>0<=n>>>0){if(l>>>0<n>>>0)f[m>>2]=i+(l*12|0)}else lf(k,l-n|0,d);n=a+216|0;l=a+220|0;if((f[n>>2]|0)==(f[l>>2]|0)){k=f[h>>2]|0;i=f[k+44>>2]|0;m=f[i+100>>2]|0;o=f[i+96>>2]|0;if((m|0)!=(o|0)){i=d+4|0;p=d+8|0;q=o;r=(m-o|0)/12|0;o=0;do{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;m=o*3|0;if((m|0)!=-1){s=f[(f[f[j>>2]>>2]|0)+(m<<2)>>2]|0;f[d>>2]=s;t=m+1|0;if((t|0)==-1){f[i>>2]=-1;v=0;w=s;x=77}else{y=t;z=s;x=76}}else{f[d>>2]=-1;y=0;z=-1;x=76}if((x|0)==76){x=0;f[i>>2]=f[(f[f[j>>2]>>2]|0)+(y<<2)>>2];s=m+2|0;if((s|0)==-1){A=-1;B=z}else{v=s;w=z;x=77}}if((x|0)==77){x=0;A=f[(f[f[j>>2]>>2]|0)+(v<<2)>>2]|0;B=w}f[p>>2]=A;f[q+(o*12|0)>>2]=B;f[q+(o*12|0)+4>>2]=f[i>>2];f[q+(o*12|0)+8>>2]=f[p>>2];o=o+1|0}while(o>>>0<r>>>0)}f[(f[k+4>>2]|0)+80>>2]=b;C=1;u=c;return C|0}f[d>>2]=0;b=d+4|0;f[b>>2]=0;k=d+8|0;f[k>>2]=0;r=f[j>>2]|0;o=(f[r+4>>2]|0)-(f[r>>2]|0)|0;p=o>>2;f[e>>2]=0;q=e+4|0;f[q>>2]=0;i=e+8|0;f[i>>2]=0;do if(o|0)if(p>>>0>1073741823)$n(e);else{B=wk(o)|0;f[e>>2]=B;A=B+(p<<2)|0;f[i>>2]=A;oh(B|0,0,o|0)|0;f[q>>2]=A;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){o=a+120|0;i=0;p=r;while(1){A=f[(f[p+24>>2]|0)+(i<<2)>>2]|0;b:do if((A|0)!=-1){c:do if((f[(f[o>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(B=f[l>>2]|0,w=f[n>>2]|0,v=w,(B|0)!=(w|0)):0){z=(((A>>>0)%3|0|0)==0?2:-1)+A|0;y=p+12|0;s=(B-w|0)/144|0;if((z|0)==-1){w=0;while(1){B=f[(f[f[v+(w*144|0)+68>>2]>>2]|0)+(A<<2)>>2]|0;if(1<<(B&31)&f[(f[v+(w*144|0)+16>>2]|0)+(B>>>5<<2)>>2]|0){D=0;break a}w=w+1|0;if(w>>>0>=s>>>0){E=A;break c}}}w=0;while(1){B=f[(f[f[v+(w*144|0)+68>>2]>>2]|0)+(A<<2)>>2]|0;if(1<<(B&31)&f[(f[v+(w*144|0)+16>>2]|0)+(B>>>5<<2)>>2]|0){B=f[v+(w*144|0)+32>>2]|0;m=f[B+(A<<2)>>2]|0;t=f[y>>2]|0;F=f[t+(z<<2)>>2]|0;do if((F|0)!=-1)if(!((F>>>0)%3|0)){G=F+2|0;break}else{G=F+-1|0;break}else G=-1;while(0);if((G|0)!=(A|0)){F=G;while(1){if((F|0)==-1){D=0;break a}if((f[B+(F<<2)>>2]|0)!=(m|0)){E=F;break c}H=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((H|0)!=-1){I=f[t+(H<<2)>>2]|0;if((I|0)==-1){J=-1;break}if(!((I>>>0)%3|0)){J=I+2|0;break}else{J=I+-1|0;break}}else J=-1;while(0);if((J|0)==(A|0))break;else F=J}}}w=w+1|0;if(w>>>0>=s>>>0){E=A;break}}}else E=A;while(0);s=f[b>>2]|0;f[(f[e>>2]|0)+(E<<2)>>2]=s-(f[d>>2]|0)>>2;f[g>>2]=E;w=s;if((f[k>>2]|0)>>>0>w>>>0){f[w>>2]=E;f[b>>2]=w+4;K=p}else{Ng(d,g);K=f[j>>2]|0}if((((E|0)!=-1?(w=(((E>>>0)%3|0|0)==0?2:-1)+E|0,(w|0)!=-1):0)?(s=f[(f[K+12>>2]|0)+(w<<2)>>2]|0,(s|0)!=-1):0)?(w=s+(((s>>>0)%3|0|0)==0?2:-1)|0,(w|0)!=-1&(w|0)!=(E|0)):0){s=E;z=w;w=K;while(1){y=f[l>>2]|0;v=f[n>>2]|0;F=v;d:do if((y|0)==(v|0))x=59;else{t=(y-v|0)/144|0;m=0;while(1){B=f[F+(m*144|0)+32>>2]|0;m=m+1|0;if((f[B+(z<<2)>>2]|0)!=(f[B+(s<<2)>>2]|0))break;if(m>>>0>=t>>>0){x=59;break d}}t=f[b>>2]|0;f[(f[e>>2]|0)+(z<<2)>>2]=t-(f[d>>2]|0)>>2;f[g>>2]=z;m=t;if((f[k>>2]|0)>>>0>m>>>0){f[m>>2]=z;f[b>>2]=m+4;L=w}else{Ng(d,g);L=f[j>>2]|0}M=L}while(0);if((x|0)==59){x=0;F=f[e>>2]|0;f[F+(z<<2)>>2]=f[F+(s<<2)>>2];M=w}if((z|0)==-1){N=M;break b}F=(((z>>>0)%3|0|0)==0?2:-1)+z|0;if((F|0)==-1){N=M;break b}v=f[(f[M+12>>2]|0)+(F<<2)>>2]|0;if((v|0)==-1){N=M;break b}F=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((F|0)!=-1&(F|0)!=(E|0)){v=z;z=F;w=M;s=v}else{N=M;break}}}else N=K}else N=p;while(0);i=i+1|0;if((i|0)>=((f[N+28>>2]|0)-(f[N+24>>2]|0)>>2|0)){x=65;break}else p=N}}else x=65;while(0);if((x|0)==65){x=f[h>>2]|0;h=f[x+44>>2]|0;N=f[h+100>>2]|0;K=f[h+96>>2]|0;if((N|0)!=(K|0)?(h=f[e>>2]|0,M=g+4|0,E=g+8|0,L=(N-K|0)/12|0,f[g>>2]=f[h>>2],f[g+4>>2]=f[h+4>>2],f[g+8>>2]=f[h+8>>2],N=K,f[N>>2]=f[g>>2],f[N+4>>2]=f[M>>2],f[N+8>>2]=f[E>>2],L>>>0>1):0){K=1;do{j=h+(K*3<<2)|0;f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];f[g+8>>2]=f[j+8>>2];f[N+(K*12|0)>>2]=f[g>>2];f[N+(K*12|0)+4>>2]=f[M>>2];f[N+(K*12|0)+8>>2]=f[E>>2];K=K+1|0}while(K>>>0<L>>>0)}f[(f[x+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[d>>2]|0)>>2;D=1}x=f[e>>2]|0;if(x|0){f[q>>2]=x;Ko(x)}x=f[d>>2]|0;if(x|0){f[b>>2]=x;Ko(x)}C=D;u=c;return C|0}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;f[l>>2]=k;m=k;k=a+64|0;if((f[k>>2]|0)==(m|0))Ng(i,b);else{f[m>>2]=g;f[l>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;n=g+1|0;do if((g|0)!=-1){o=f[m+28>>2]|0;p=f[o+((((n>>>0)%3|0|0)==0?g+-2|0:n)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=p;r=g+2|0;s=o;break}else{q=p;r=g+-1|0;s=o;break}}else{o=f[m+28>>2]|0;q=f[o+-4>>2]|0;r=-1;s=o}while(0);m=f[s+(r<<2)>>2]|0;if((q|0)==-1|(m|0)==-1){h=0;u=c;return h|0}r=a+24|0;s=f[r>>2]|0;g=s+(q>>>5<<2)|0;n=1<<(q&31);o=f[g>>2]|0;if(!(o&n)){f[g>>2]=o|n;n=f[b>>2]|0;o=n+1|0;if((n|0)==-1)t=-1;else t=((o>>>0)%3|0|0)==0?n+-2|0:o;f[e>>2]=t;o=(t>>>0)/3|0;n=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(o*12|0)+(t-(o*3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=n;t=f[o+4>>2]|0;o=t+4|0;g=f[o>>2]|0;if((g|0)==(f[t+8>>2]|0))Ng(t,d);else{f[g>>2]=n;f[o>>2]=g+4}g=a+40|0;o=f[g>>2]|0;n=o+4|0;t=f[n>>2]|0;if((t|0)==(f[o+8>>2]|0)){Ng(o,e);v=f[g>>2]|0}else{f[t>>2]=f[e>>2];f[n>>2]=t+4;v=o}o=v+24|0;f[(f[v+12>>2]|0)+(q<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;w=f[r>>2]|0}else w=s;s=w+(m>>>5<<2)|0;w=1<<(m&31);o=f[s>>2]|0;if(!(o&w)){f[s>>2]=o|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=(x>>>0)/3|0;o=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(w*12|0)+(x-(w*3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=o;x=f[w+4>>2]|0;w=x+4|0;s=f[w>>2]|0;if((s|0)==(f[x+8>>2]|0))Ng(x,d);else{f[s>>2]=o;f[w>>2]=s+4}s=a+40|0;w=f[s>>2]|0;o=w+4|0;x=f[o>>2]|0;if((x|0)==(f[w+8>>2]|0)){Ng(w,e);y=f[s>>2]|0}else{f[x>>2]=f[e>>2];f[o>>2]=x+4;y=w}w=y+24|0;f[(f[y+12>>2]|0)+(m<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[l>>2]|0;if((f[i>>2]|0)==(w|0)){h=1;u=c;return h|0}m=a+44|0;y=a+48|0;x=a+40|0;o=w;a:while(1){w=o+-4|0;s=f[w>>2]|0;f[b>>2]=s;q=(s>>>0)/3|0;if((s|0)!=-1?(s=(f[j>>2]|0)+(q>>>5<<2)|0,v=1<<(q&31),q=f[s>>2]|0,(q&v|0)==0):0){f[s>>2]=q|v;v=f[a>>2]|0;q=f[b>>2]|0;s=f[(f[v+28>>2]|0)+(q<<2)>>2]|0;if((s|0)==-1){h=0;z=78;break}t=s;s=v;v=q;b:while(1){q=(f[r>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);g=f[q>>2]|0;if(!(g&n)){p=f[(f[s+40>>2]|0)+(t<<2)>>2]|0;if((p|0)==-1)A=1;else{B=f[(f[f[s+64>>2]>>2]|0)+(p<<2)>>2]|0;A=(1<<(B&31)&f[(f[s+12>>2]|0)+(B>>>5<<2)>>2]|0)!=0}f[q>>2]=g|n;n=f[b>>2]|0;f[e>>2]=n;g=(n>>>0)/3|0;q=f[(f[(f[m>>2]|0)+96>>2]|0)+(g*12|0)+(n-(g*3|0)<<2)>>2]|0;g=f[y>>2]|0;f[d>>2]=q;n=f[g+4>>2]|0;g=n+4|0;B=f[g>>2]|0;if((B|0)==(f[n+8>>2]|0))Ng(n,d);else{f[B>>2]=q;f[g>>2]=B+4}B=f[x>>2]|0;g=B+4|0;q=f[g>>2]|0;if((q|0)==(f[B+8>>2]|0)){Ng(B,e);C=f[x>>2]|0}else{f[q>>2]=f[e>>2];f[g>>2]=q+4;C=B}B=C+24|0;f[(f[C+12>>2]|0)+(t<<2)>>2]=f[B>>2];f[B>>2]=(f[B>>2]|0)+1;B=f[a>>2]|0;q=f[b>>2]|0;if(A){D=q;E=B;z=55}else{g=q+1|0;do if((q|0)==-1)F=-1;else{n=((g>>>0)%3|0|0)==0?q+-2|0:g;if((n|0)==-1){F=-1;break}if(f[(f[B>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0){F=-1;break}F=f[(f[(f[B+64>>2]|0)+12>>2]|0)+(n<<2)>>2]|0}while(0);f[b>>2]=F;G=(F>>>0)/3|0}}else{D=v;E=s;z=55}if((z|0)==55){z=0;B=D+1|0;if((D|0)==-1){z=59;break}g=((B>>>0)%3|0|0)==0?D+-2|0:B;if((g|0)!=-1?(f[(f[E>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0:0)H=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;else H=-1;f[d>>2]=H;g=(((D>>>0)%3|0|0)==0?2:-1)+D|0;do if((g|0)==-1)I=-1;else{if(f[(f[E>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){I=-1;break}I=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);g=(H|0)==-1;B=(H>>>0)/3|0;q=g?-1:B;n=(I|0)==-1;p=(I>>>0)/3|0;J=n?-1:p;do if(!g){K=f[j>>2]|0;if(f[K+(q>>>5<<2)>>2]&1<<(q&31)|0){z=65;break}if(n){L=B;M=H;break}if(!(f[K+(J>>>5<<2)>>2]&1<<(J&31))){z=70;break b}else{L=B;M=H}}else z=65;while(0);if((z|0)==65){z=0;if(n){z=67;break}if(!(f[(f[j>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31))){L=p;M=I}else{z=67;break}}f[b>>2]=M;G=L}B=(f[j>>2]|0)+(G>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(G&31);s=f[a>>2]|0;v=f[b>>2]|0;t=f[(f[s+28>>2]|0)+(v<<2)>>2]|0;if((t|0)==-1){h=0;z=78;break a}}do if((z|0)==59){z=0;f[d>>2]=-1;z=67}else if((z|0)==70){z=0;t=f[l>>2]|0;f[t+-4>>2]=I;if((t|0)==(f[k>>2]|0)){Ng(i,d);break}else{f[t>>2]=f[d>>2];f[l>>2]=t+4;break}}while(0);if((z|0)==67){z=0;f[l>>2]=(f[l>>2]|0)+-4}}else f[l>>2]=w;o=f[l>>2]|0;if((f[i>>2]|0)==(o|0)){h=1;z=78;break}}if((z|0)==78){u=c;return h|0}return 0}function Ib(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;f[l>>2]=k;m=k;k=a+64|0;if((f[k>>2]|0)==(m|0))Ng(i,b);else{f[m>>2]=g;f[l>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;n=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}o=((n>>>0)%3|0|0)==0?g+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[m>>2]|0)+(o<<2)>>2]|0;o=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((o|0)==-1){h=0;u=c;return h|0}g=f[(f[m>>2]|0)+(o<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}o=a+24|0;m=f[o>>2]|0;n=m+(p>>>5<<2)|0;q=1<<(p&31);r=f[n>>2]|0;if(!(r&q)){f[n>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=(s>>>0)/3|0;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(r*12|0)+(s-(r*3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;s=f[r+4>>2]|0;r=s+4|0;n=f[r>>2]|0;if((n|0)==(f[s+8>>2]|0))Ng(s,d);else{f[n>>2]=q;f[r>>2]=n+4}n=a+40|0;r=f[n>>2]|0;q=r+4|0;s=f[q>>2]|0;if((s|0)==(f[r+8>>2]|0)){Ng(r,e);t=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[q>>2]=s+4;t=r}r=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1;v=f[o>>2]|0}else v=m;m=v+(g>>>5<<2)|0;v=1<<(g&31);r=f[m>>2]|0;if(!(r&v)){f[m>>2]=r|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=(w>>>0)/3|0;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(v*12|0)+(w-(v*3|0)<<2)>>2]|0;v=f[a+48>>2]|0;f[d>>2]=r;w=f[v+4>>2]|0;v=w+4|0;m=f[v>>2]|0;if((m|0)==(f[w+8>>2]|0))Ng(w,d);else{f[m>>2]=r;f[v>>2]=m+4}m=a+40|0;v=f[m>>2]|0;r=v+4|0;w=f[r>>2]|0;if((w|0)==(f[v+8>>2]|0)){Ng(v,e);x=f[m>>2]|0}else{f[w>>2]=f[e>>2];f[r>>2]=w+4;x=v}v=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[v>>2];f[v>>2]=(f[v>>2]|0)+1}v=f[l>>2]|0;if((f[i>>2]|0)==(v|0)){h=1;u=c;return h|0}g=a+44|0;x=a+48|0;w=a+40|0;r=v;a:while(1){v=r+-4|0;m=f[v>>2]|0;f[b>>2]=m;p=(m>>>0)/3|0;if((m|0)!=-1?(m=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[m>>2]|0,(p&t|0)==0):0){f[m>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=79;break}p=t;b:while(1){t=f[a>>2]|0;m=f[(f[t>>2]|0)+(p<<2)>>2]|0;if((m|0)==-1){h=0;y=79;break a}s=(f[o>>2]|0)+(m>>>5<<2)|0;q=1<<(m&31);n=f[s>>2]|0;do if(!(n&q)){z=f[(f[t+24>>2]|0)+(m<<2)>>2]|0;A=z+1|0;do if((z|0)!=-1){B=((A>>>0)%3|0|0)==0?z+-2|0:A;if((B|0)==-1){y=46;break}C=f[(f[t+12>>2]|0)+(B<<2)>>2]|0;B=C+1|0;if((C|0)==-1){y=46;break}if(((((B>>>0)%3|0|0)==0?C+-2|0:B)|0)!=-1)D=0;else y=46}else y=46;while(0);if((y|0)==46){y=0;D=1}f[s>>2]=n|q;A=f[b>>2]|0;f[e>>2]=A;z=(A>>>0)/3|0;B=f[(f[(f[g>>2]|0)+96>>2]|0)+(z*12|0)+(A-(z*3|0)<<2)>>2]|0;z=f[x>>2]|0;f[d>>2]=B;A=f[z+4>>2]|0;z=A+4|0;C=f[z>>2]|0;if((C|0)==(f[A+8>>2]|0))Ng(A,d);else{f[C>>2]=B;f[z>>2]=C+4}C=f[w>>2]|0;z=C+4|0;B=f[z>>2]|0;if((B|0)==(f[C+8>>2]|0)){Ng(C,e);E=f[w>>2]|0}else{f[B>>2]=f[e>>2];f[z>>2]=B+4;E=C}C=E+24|0;f[(f[E+12>>2]|0)+(m<<2)>>2]=f[C>>2];f[C>>2]=(f[C>>2]|0)+1;C=f[a>>2]|0;B=f[b>>2]|0;if(D)if((B|0)==-1){y=61;break b}else{F=B;G=C;y=59;break}do if((B|0)==-1)H=-1;else{z=B+1|0;A=((z>>>0)%3|0|0)==0?B+-2|0:z;if((A|0)==-1){H=-1;break}H=f[(f[C+12>>2]|0)+(A<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0}else{F=p;G=t;y=59}while(0);if((y|0)==59){y=0;t=F+1|0;m=((t>>>0)%3|0|0)==0?F+-2|0:t;if((m|0)==-1)J=-1;else J=f[(f[G+12>>2]|0)+(m<<2)>>2]|0;f[d>>2]=J;m=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((m|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(m<<2)>>2]|0;m=(J|0)==-1;t=(J>>>0)/3|0;q=m?-1:t;n=(K|0)==-1;s=(K>>>0)/3|0;C=n?-1:s;do if(!m){B=f[j>>2]|0;if(f[B+(q>>>5<<2)>>2]&1<<(q&31)|0){y=66;break}if(n){L=t;M=J;break}if(!(f[B+(C>>>5<<2)>>2]&1<<(C&31))){y=71;break b}else{L=t;M=J}}else y=66;while(0);if((y|0)==66){y=0;if(n){y=68;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){L=s;M=K}else{y=68;break}}f[b>>2]=M;I=L}t=(f[j>>2]|0)+(I>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(I&31);p=f[b>>2]|0;if((p|0)==-1){h=0;y=79;break a}}do if((y|0)==61){y=0;f[d>>2]=-1;y=68}else if((y|0)==71){y=0;p=f[l>>2]|0;f[p+-4>>2]=K;if((p|0)==(f[k>>2]|0)){Ng(i,d);break}else{f[p>>2]=f[d>>2];f[l>>2]=p+4;break}}while(0);if((y|0)==68){y=0;f[l>>2]=(f[l>>2]|0)+-4}}else f[l>>2]=v;r=f[l>>2]|0;if((f[i>>2]|0)==(r|0)){h=1;y=79;break}}if((y|0)==79){u=c;return h|0}return 0}function Jb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=f[c>>2]|0;c=m+1|0;if((m|0)!=-1){n=((c>>>0)%3|0|0)==0?m+-2|0:c;c=(((m>>>0)%3|0|0)==0?2:-1)+m|0;m=f[a+32>>2]|0;if((n|0)==-1)o=-1;else o=f[(f[m>>2]|0)+(n<<2)>>2]|0;if((c|0)==-1){p=o;q=-1}else{p=o;q=f[(f[m>>2]|0)+(c<<2)>>2]|0}}else{p=-1;q=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;o=(f[c+4>>2]|0)-m>>2;if(o>>>0<=p>>>0)$n(c);n=m;m=f[n+(p<<2)>>2]|0;if(o>>>0<=q>>>0)$n(c);c=f[n+(q<<2)>>2]|0;q=(m|0)<(e|0);do if(q&(c|0)<(e|0)){n=m<<1;o=f[d+(n<<2)>>2]|0;p=((o|0)<0)<<31>>31;r=f[d+((n|1)<<2)>>2]|0;n=((r|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(o|0)|(v|0)!=(r|0))){f[a+8>>2]=o;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];wb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];wb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];wb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=H;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=H;I=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=wl(f[I>>2]|0,f[I+4>>2]|0,K|0,L|0)|0;I=H;M=Bk(s|0,x|0,s|0,x|0)|0;N=H;O=Bk(E|0,D|0,E|0,D|0)|0;P=vl(O|0,H|0,M|0,N|0)|0;N=H;M=Bk(J|0,I|0,J|0,I|0)|0;O=vl(P|0,N|0,M|0,H|0)|0;M=H;if((O|0)==0&(M|0)==0)break;N=j;P=wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=H;y=j+8|0;N=wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=H;F=j+16|0;y=wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=H;K=Bk(P|0,C|0,s|0,x|0)|0;F=H;Q=Bk(N|0,G|0,E|0,D|0)|0;R=vl(Q|0,H|0,K|0,F|0)|0;F=H;K=Bk(y|0,L|0,J|0,I|0)|0;Q=vl(R|0,F|0,K|0,H|0)|0;K=H;F=wl(t|0,((t|0)<0)<<31>>31|0,o|0,p|0)|0;t=H;R=wl(v|0,((v|0)<0)<<31>>31|0,r|0,n|0)|0;v=H;S=Bk(O|0,M|0,o|0,p|0)|0;p=H;o=Bk(O|0,M|0,r|0,n|0)|0;n=H;r=Bk(Q|0,K|0,F|0,t|0)|0;T=H;U=Bk(Q|0,K|0,R|0,v|0)|0;V=H;W=vl(r|0,T|0,S|0,p|0)|0;p=H;S=vl(U|0,V|0,o|0,n|0)|0;n=H;o=Bk(Q|0,K|0,s|0,x|0)|0;x=H;s=Bk(Q|0,K|0,E|0,D|0)|0;D=H;E=Bk(Q|0,K|0,J|0,I|0)|0;I=H;J=ni(o|0,x|0,O|0,M|0)|0;x=H;o=ni(s|0,D|0,O|0,M|0)|0;D=H;s=ni(E|0,I|0,O|0,M|0)|0;I=H;E=wl(P|0,C|0,J|0,x|0)|0;x=H;J=wl(N|0,G|0,o|0,D|0)|0;D=H;o=wl(y|0,L|0,s|0,I|0)|0;I=H;s=Bk(E|0,x|0,E|0,x|0)|0;x=H;E=Bk(J|0,D|0,J|0,D|0)|0;D=vl(E|0,H|0,s|0,x|0)|0;x=H;s=Bk(o|0,I|0,o|0,I|0)|0;I=vl(D|0,x|0,s|0,H|0)|0;s=H;x=wl(0,0,F|0,t|0)|0;t=H;F=Bk(I|0,s|0,O|0,M|0)|0;s=H;switch(F|0){case 0:{if(!s){X=F;Y=s}else Z=23;break}case 1:{if(!s){_=F;$=s;Z=25}else Z=23;break}default:Z=23}if((Z|0)==23){I=1;D=0;o=F;E=s;while(1){J=rl(I|0,D|0,1)|0;L=H;y=o;o=xl(o|0,E|0,2)|0;if(!(E>>>0>0|(E|0)==0&y>>>0>7)){_=J;$=L;Z=25;break}else{I=J;D=L;E=H}}}if((Z|0)==25){E=_;D=$;while(1){I=ln(F|0,s|0,E|0,D|0)|0;o=vl(I|0,H|0,E|0,D|0)|0;I=xl(o|0,H|0,1)|0;o=H;L=Bk(I|0,o|0,I|0,o|0)|0;J=H;if(J>>>0>s>>>0|(J|0)==(s|0)&L>>>0>F>>>0){E=I;D=o}else{X=I;Y=o;break}}}D=Bk(X|0,Y|0,R|0,v|0)|0;E=H;F=Bk(X|0,Y|0,x|0,t|0)|0;s=H;o=a+20|0;I=f[o>>2]|0;if(!I)aa=0;else{L=I+-1|0;I=(f[(f[a+16>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31)|0)==0;f[o>>2]=L;L=wl(0,0,F|0,s|0)|0;o=vl(S|0,n|0,(I?L:F)|0,(I?H:s)|0)|0;s=H;F=wl(0,0,D|0,E|0)|0;L=vl(W|0,p|0,(I?F:D)|0,(I?H:E)|0)|0;E=ni(L|0,H|0,O|0,M|0)|0;L=ni(o|0,s|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=L;aa=1}w=aa;u=g;return w|0}while(0);do if(q)ba=m<<1;else{if((e|0)>0){ba=(e<<1)+-2|0;break}aa=a+8|0;f[aa>>2]=0;f[aa+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(ba<<2)>>2];f[a+12>>2]=f[d+(ba+1<<2)>>2];w=1;u=g;return w|0}function Kb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)$n(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)$n(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];wb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];wb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];wb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=H;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=H;I=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=wl(f[I>>2]|0,f[I+4>>2]|0,K|0,L|0)|0;I=H;M=Bk(s|0,x|0,s|0,x|0)|0;N=H;O=Bk(E|0,D|0,E|0,D|0)|0;P=vl(O|0,H|0,M|0,N|0)|0;N=H;M=Bk(J|0,I|0,J|0,I|0)|0;O=vl(P|0,N|0,M|0,H|0)|0;M=H;if((O|0)==0&(M|0)==0)break;N=j;P=wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=H;y=j+8|0;N=wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=H;F=j+16|0;y=wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=H;K=Bk(P|0,C|0,s|0,x|0)|0;F=H;Q=Bk(N|0,G|0,E|0,D|0)|0;R=vl(Q|0,H|0,K|0,F|0)|0;F=H;K=Bk(y|0,L|0,J|0,I|0)|0;Q=vl(R|0,F|0,K|0,H|0)|0;K=H;F=wl(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=H;R=wl(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=H;S=Bk(O|0,M|0,c|0,m|0)|0;m=H;c=Bk(O|0,M|0,r|0,o|0)|0;o=H;r=Bk(Q|0,K|0,F|0,t|0)|0;T=H;U=Bk(Q|0,K|0,R|0,v|0)|0;V=H;W=vl(r|0,T|0,S|0,m|0)|0;m=H;S=vl(U|0,V|0,c|0,o|0)|0;o=H;c=Bk(Q|0,K|0,s|0,x|0)|0;x=H;s=Bk(Q|0,K|0,E|0,D|0)|0;D=H;E=Bk(Q|0,K|0,J|0,I|0)|0;I=H;J=ni(c|0,x|0,O|0,M|0)|0;x=H;c=ni(s|0,D|0,O|0,M|0)|0;D=H;s=ni(E|0,I|0,O|0,M|0)|0;I=H;E=wl(P|0,C|0,J|0,x|0)|0;x=H;J=wl(N|0,G|0,c|0,D|0)|0;D=H;c=wl(y|0,L|0,s|0,I|0)|0;I=H;s=Bk(E|0,x|0,E|0,x|0)|0;x=H;E=Bk(J|0,D|0,J|0,D|0)|0;D=vl(E|0,H|0,s|0,x|0)|0;x=H;s=Bk(c|0,I|0,c|0,I|0)|0;I=vl(D|0,x|0,s|0,H|0)|0;s=H;x=wl(0,0,F|0,t|0)|0;t=H;F=Bk(I|0,s|0,O|0,M|0)|0;s=H;switch(F|0){case 0:{if(!s){X=F;Y=s}else Z=22;break}case 1:{if(!s){_=F;$=s;Z=24}else Z=22;break}default:Z=22}if((Z|0)==22){I=1;D=0;c=F;E=s;while(1){J=rl(I|0,D|0,1)|0;L=H;y=c;c=xl(c|0,E|0,2)|0;if(!(E>>>0>0|(E|0)==0&y>>>0>7)){_=J;$=L;Z=24;break}else{I=J;D=L;E=H}}}if((Z|0)==24){E=_;D=$;while(1){I=ln(F|0,s|0,E|0,D|0)|0;c=vl(I|0,H|0,E|0,D|0)|0;I=xl(c|0,H|0,1)|0;c=H;L=Bk(I|0,c|0,I|0,c|0)|0;J=H;if(J>>>0>s>>>0|(J|0)==(s|0)&L>>>0>F>>>0){E=I;D=c}else{X=I;Y=c;break}}}D=Bk(X|0,Y|0,R|0,v|0)|0;E=H;F=Bk(X|0,Y|0,x|0,t|0)|0;s=H;c=a+20|0;I=f[c>>2]|0;if(!I)aa=0;else{L=I+-1|0;I=(f[(f[a+16>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31)|0)==0;f[c>>2]=L;L=wl(0,0,F|0,s|0)|0;c=vl(S|0,o|0,(I?L:F)|0,(I?H:s)|0)|0;s=H;F=wl(0,0,D|0,E|0)|0;L=vl(W|0,m|0,(I?F:D)|0,(I?H:E)|0)|0;E=ni(L|0,H|0,O|0,M|0)|0;L=ni(c|0,s|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=L;aa=1}w=aa;u=g;return w|0}while(0);do if(q)ba=n<<1;else{if((e|0)>0){ba=(e<<1)+-2|0;break}aa=a+8|0;f[aa>>2]=0;f[aa+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(ba<<2)>>2];f[a+12>>2]=f[d+(ba+1<<2)>>2];w=1;u=g;return w|0}function Lb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=Ia,ca=Ia,da=Ia;c=u;u=u+32|0;d=c+12|0;e=c;g=a+60|0;if((f[g>>2]|0)==(f[a+64>>2]|0)?(f[a+48>>2]|0)==(f[a+52>>2]|0):0){h=1;u=c;return h|0}if((Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0)<=0){h=1;u=c;return h|0}i=d+4|0;j=d+8|0;k=a+36|0;l=d+8|0;m=d+4|0;o=e+4|0;p=e+8|0;q=d+11|0;r=d+4|0;s=0;t=0;v=0;a:while(1){w=La[f[(f[a>>2]|0)+20>>2]&127](a,v)|0;x=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;y=f[(f[(f[x>>2]|0)+8>>2]|0)+(w<<2)>>2]|0;w=y+28|0;b:do switch(f[w>>2]|0){case 1:case 3:case 5:{x=y+24|0;z=b[x>>0]|0;A=z<<24>>24;f[d>>2]=0;f[i>>2]=0;f[j>>2]=0;if(!(z<<24>>24))B=0;else{if(z<<24>>24<0){C=8;break a}z=A<<2;D=wk(z)|0;f[d>>2]=D;E=D+(A<<2)|0;f[j>>2]=E;oh(D|0,0,z|0)|0;f[i>>2]=E;B=b[x>>0]|0}E=B<<24>>24;f[e>>2]=0;f[o>>2]=0;f[p>>2]=0;if(B<<24>>24){if(B<<24>>24<0){C=12;break a}z=E<<2;D=wk(z)|0;f[e>>2]=D;A=D+(E<<2)|0;f[p>>2]=A;oh(D|0,0,z|0)|0;f[o>>2]=A}switch(f[w>>2]|0){case 5:{if(pe(a,y,t)|0)C=18;else{F=1;G=t}break}case 3:{if(oe(a,y,t)|0)C=18;else{F=1;G=t}break}case 1:{if(yd(a,y,t)|0)C=18;else{F=1;G=t}break}default:C=18}if((C|0)==18){C=0;F=0;G=t+(b[x>>0]|0)|0}x=f[e>>2]|0;if(x|0){f[o>>2]=x;Ko(x)}x=f[d>>2]|0;if(x|0){f[i>>2]=x;Ko(x)}if(!F){I=s;J=G}else{h=0;C=64;break a}break}case 9:{x=f[(f[g>>2]|0)+(s<<2)>>2]|0;A=f[k>>2]|0;z=s+1|0;D=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;E=f[D>>2]|0;D=f[y+56>>2]|0;K=wk(32)|0;f[d>>2]=K;f[l>>2]=-2147483616;f[m>>2]=24;L=K;M=11931;N=L+24|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));b[K+24>>0]=0;M=E+16|0;L=f[M>>2]|0;c:do if(L){N=M;O=L;do{P=(f[O+16>>2]|0)<(D|0);N=P?N:O;O=f[(P?O+4|0:O)>>2]|0}while((O|0)!=0);if(((N|0)!=(M|0)?(D|0)>=(f[N+16>>2]|0):0)?(O=N+20|0,P=f[N+24>>2]|0,(P|0)!=0):0){Q=P;while(1){P=Q+16|0;R=b[P+11>>0]|0;S=R<<24>>24<0;T=S?f[Q+20>>2]|0:R&255;R=T>>>0<24;U=R?T:24;V=(U|0)==0;if(!V?(W=S?f[P>>2]|0:P,X=Fi(K,W,U)|0,(X|0)!=0):0)if((X|0)<0)C=35;else{Y=W;C=38}else if(T>>>0<=24)if(V)C=39;else{Y=S?f[P>>2]|0:P;C=38}else C=35;if((C|0)==35){C=0;Z=Q}else if((C|0)==38){C=0;P=Fi(Y,K,U)|0;if(P)if((P|0)<0)C=41;else break;else C=39}if((C|0)==39){C=0;if(R)C=41;else break}if((C|0)==41){C=0;Z=Q+4|0}Q=f[Z>>2]|0;if(!Q){C=44;break c}}$=ci(O,d,0)|0}else C=44}else C=44;while(0);if((C|0)==44){C=0;$=ci(E,d,0)|0}if((b[q>>0]|0)<0)Ko(f[d>>2]|0);if($){ge(y,x);I=z;J=t;break b}K=f[A+(s*24|0)+4>>2]|0;D=b[y+24>>0]|0;M=D<<24>>24;L=M<<2;aa=Ho(M>>>0>1073741823?-1:M<<2)|0;dn(d);if(!(qk(d,_(n[A+(s*24|0)+20>>2]),(1<<K)+-1|0)|0)){C=63;break a}K=(f[f[x>>2]>>2]|0)+(f[x+48>>2]|0)|0;Q=x+80|0;d:do if(f[Q>>2]|0){N=y+64|0;R=A+(s*24|0)+8|0;if(D<<24>>24<=0){P=0;U=0;while(1){Bf((f[f[N>>2]>>2]|0)+U|0,aa|0,L|0)|0;P=P+1|0;if(P>>>0>=(f[Q>>2]|0)>>>0)break d;else U=U+L|0}}U=0;P=0;O=0;while(1){S=f[R>>2]|0;V=0;T=O;while(1){W=f[K+(T<<2)>>2]|0;if((W|0)>-1){ba=_(W|0);ca=_(_(n[r>>2])*ba);da=_(ca*_(n[d>>2]))}else{X=wl(0,0,W|0,((W|0)<0)<<31>>31|0)|0;ca=_(+(X>>>0)+4294967296.0*+(H|0));ba=_(_(n[r>>2])*ca);da=_(-_(ba*_(n[d>>2])))}ba=_(da+_(n[S+(V<<2)>>2]));n[aa+(V<<2)>>2]=ba;V=V+1|0;if((V|0)==(M|0))break;else T=T+1|0}Bf((f[f[N>>2]>>2]|0)+P|0,aa|0,L|0)|0;U=U+1|0;if(U>>>0>=(f[Q>>2]|0)>>>0)break;else{P=P+L|0;O=O+M|0}}}while(0);Io(aa);I=z;J=t;break}default:{I=s;J=t}}while(0);v=v+1|0;if((v|0)>=(Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0)){h=1;C=64;break}else{s=I;t=J}}if((C|0)==8)$n(d);else if((C|0)==12)$n(e);else if((C|0)==63){Io(aa);h=0;u=c;return h|0}else if((C|0)==64){u=c;return h|0}return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)$n(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];wb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;do if(!p){s=o+1|0;t=((s>>>0)%3|0|0)==0?o+-2|0:s;s=k+8|0;w=j+8|0;x=k+16|0;y=j+16|0;z=l+8|0;A=l+16|0;B=o+(((o>>>0)%3|0|0)==0?2:-1)|0;C=0;D=0;E=0;F=0;G=0;I=0;J=a;K=o;while(1){do if(!J){L=K+1|0;M=((L>>>0)%3|0|0)==0?K+-2|0:L;if(!((K>>>0)%3|0)){N=K+2|0;O=M;break}else{N=K+-1|0;O=M;break}}else{N=B;O=t}while(0);if((O|0)==-1)P=-1;else P=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;M=f[Q>>2]|0;if((f[Q+4>>2]|0)-M>>2>>>0<=P>>>0){R=16;break}L=f[(f[r>>2]|0)+(f[M+(P<<2)>>2]<<2)>>2]|0;M=f[q>>2]|0;if(!(b[M+84>>0]|0))S=f[(f[M+68>>2]|0)+(L<<2)>>2]|0;else S=L;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=S;L=b[M+24>>0]|0;f[g>>2]=f[h>>2];wb(M,g,L,k)|0;if((N|0)==-1)T=-1;else T=f[(f[f[m>>2]>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=T>>>0){R=22;break}M=f[(f[r>>2]|0)+(f[L+(T<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))V=f[(f[L+68>>2]|0)+(M<<2)>>2]|0;else V=M;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;M=b[L+24>>0]|0;f[g>>2]=f[h>>2];wb(L,g,M,l)|0;M=k;L=j;W=f[L>>2]|0;X=f[L+4>>2]|0;L=wl(f[M>>2]|0,f[M+4>>2]|0,W|0,X|0)|0;M=H;Y=s;Z=w;_=f[Z>>2]|0;$=f[Z+4>>2]|0;Z=wl(f[Y>>2]|0,f[Y+4>>2]|0,_|0,$|0)|0;Y=H;aa=x;ba=y;ca=f[ba>>2]|0;da=f[ba+4>>2]|0;ba=wl(f[aa>>2]|0,f[aa+4>>2]|0,ca|0,da|0)|0;aa=H;ea=l;fa=wl(f[ea>>2]|0,f[ea+4>>2]|0,W|0,X|0)|0;X=H;W=z;ea=wl(f[W>>2]|0,f[W+4>>2]|0,_|0,$|0)|0;$=H;_=A;W=wl(f[_>>2]|0,f[_+4>>2]|0,ca|0,da|0)|0;da=H;ca=Bk(W|0,da|0,Z|0,Y|0)|0;_=H;ga=Bk(ea|0,$|0,ba|0,aa|0)|0;ha=H;ia=Bk(fa|0,X|0,ba|0,aa|0)|0;aa=H;ba=Bk(W|0,da|0,L|0,M|0)|0;da=H;W=Bk(ea|0,$|0,L|0,M|0)|0;M=H;L=Bk(fa|0,X|0,Z|0,Y|0)|0;Y=H;Z=wl(C|0,D|0,ga|0,ha|0)|0;C=vl(Z|0,H|0,ca|0,_|0)|0;D=H;_=vl(ia|0,aa|0,E|0,F|0)|0;E=wl(_|0,H|0,ba|0,da|0)|0;F=H;da=wl(G|0,I|0,L|0,Y|0)|0;G=vl(da|0,H|0,W|0,M|0)|0;I=H;Tf(i);K=f[c>>2]|0;J=(f[v>>2]|0)==0;if((K|0)==-1){R=26;break}}if((R|0)==16)$n(Q);else if((R|0)==22)$n(U);else if((R|0)==26){K=wl(0,0,C|0,D|0)|0;if((D|0)>-1|(D|0)==-1&C>>>0>4294967295){ja=J;ka=C;la=D;ma=E;na=F;oa=G;pa=I;R=27;break}else{qa=J;ra=F;sa=E;ta=I;ua=G;va=K;wa=H;xa=C;ya=D;break}}}else{ja=a;ka=0;la=0;ma=0;na=0;oa=0;pa=0;R=27}while(0);if((R|0)==27){qa=ja;ra=na;sa=ma;ta=pa;ua=oa;va=ka;wa=la;xa=ka;ya=la}la=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;ka=wl(0,0,sa|0,ra|0)|0;oa=la?ra:H;pa=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;ma=wl(0,0,ua|0,ta|0)|0;na=vl((la?sa:ka)|0,oa|0,(pa?ua:ma)|0,(pa?ta:H)|0)|0;pa=vl(na|0,H|0,va|0,wa|0)|0;wa=H;if(qa){if((pa|0)<=536870912){za=xa;Aa=sa;Ba=ua;f[d>>2]=za;Ca=d+4|0;f[Ca>>2]=Aa;Da=d+8|0;f[Da>>2]=Ba;u=e;return}qa=xl(pa|0,wa|0,29)|0;va=qa&7;qa=ni(xa|0,ya|0,va|0,0)|0;na=ni(sa|0,ra|0,va|0,0)|0;ma=ni(ua|0,ta|0,va|0,0)|0;za=qa;Aa=na;Ba=ma;f[d>>2]=za;Ca=d+4|0;f[Ca>>2]=Aa;Da=d+8|0;f[Da>>2]=Ba;u=e;return}else{if(!((wa|0)>0|(wa|0)==0&pa>>>0>536870912)){za=xa;Aa=sa;Ba=ua;f[d>>2]=za;Ca=d+4|0;f[Ca>>2]=Aa;Da=d+8|0;f[Da>>2]=Ba;u=e;return}ma=xl(pa|0,wa|0,29)|0;wa=H;pa=ni(xa|0,ya|0,ma|0,wa|0)|0;ya=ni(sa|0,ra|0,ma|0,wa|0)|0;ra=ni(ua|0,ta|0,ma|0,wa|0)|0;za=pa;Aa=ya;Ba=ra;f[d>>2]=za;Ca=d+4|0;f[Ca>>2]=Aa;Da=d+8|0;f[Da>>2]=Ba;u=e;return}}function Nb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=u;u=u+32|0;e=d+20|0;g=d+8|0;i=d+4|0;j=d;k=a+4|0;do if((h[(f[k>>2]|0)+36>>0]<<8&65535)<512){l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=vl(p|0,f[o+4>>2]|0,4,0)|0;o=H;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0<q>>>0){r=-1;u=d;return r|0}else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=p;m=l;f[m>>2]=q;f[m+4>>2]=o;s=p;break}}else if(zh(e,c)|0){s=f[e>>2]|0;break}else{r=-1;u=d;return r|0}while(0);a:do if(s|0){p=f[a+8>>2]|0;if(s>>>0>(((f[p+4>>2]|0)-(f[p>>2]|0)>>2>>>0)/3|0)>>>0){r=-1;u=d;return r|0}p=f[k>>2]|0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<258){p=c+8|0;o=c+16|0;m=g+4|0;q=g+8|0;l=a+40|0;n=a+44|0;t=a+36|0;v=0;w=s;while(1){x=p;y=f[x>>2]|0;z=f[x+4>>2]|0;x=o;A=f[x>>2]|0;B=f[x+4>>2]|0;x=vl(A|0,B|0,4,0)|0;C=H;if((z|0)<(C|0)|(z|0)==(C|0)&y>>>0<x>>>0)break;D=f[c>>2]|0;E=D+A|0;f[g>>2]=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;E=o;f[E>>2]=x;f[E+4>>2]=C;C=vl(A|0,B|0,8,0)|0;E=H;if((z|0)<(E|0)|(z|0)==(E|0)&y>>>0<C>>>0)break;F=D+x|0;f[m>>2]=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;F=o;f[F>>2]=C;f[F+4>>2]=E;if(!((z|0)>(E|0)|(z|0)==(E|0)&y>>>0>C>>>0))break;y=b[D+C>>0]|0;C=vl(A|0,B|0,9,0)|0;B=o;f[B>>2]=C;f[B+4>>2]=H;b[q>>0]=b[q>>0]&-2|y&1;y=f[l>>2]|0;if((y|0)==(f[n>>2]|0)){yg(t,g);G=f[e>>2]|0}else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[l>>2]=(f[l>>2]|0)+12;G=w}v=v+1|0;if(v>>>0>=G>>>0)break a;else w=G}r=-1;u=d;return r|0}w=g+4|0;v=a+40|0;l=a+44|0;t=a+36|0;n=0;q=0;do{zh(i,c)|0;f[w>>2]=(f[i>>2]|0)+q;zh(i,c)|0;o=f[i>>2]|0;q=f[w>>2]|0;if(q>>>0<o>>>0){I=36;break}f[g>>2]=q-o;o=f[v>>2]|0;if((o|0)==(f[l>>2]|0))yg(t,g);else{f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[v>>2]=(f[v>>2]|0)+12}n=n+1|0}while(n>>>0<(f[e>>2]|0)>>>0);if((I|0)==36){r=-1;u=d;return r|0}vf(c,0,0)|0;n=f[e>>2]|0;if(n|0){v=c+36|0;t=a+36|0;l=c+32|0;q=c+24|0;w=c+28|0;o=0;m=0;while(1){p=f[k>>2]|0;y=(b[v>>0]|0)==0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514)if(!y){p=f[l>>2]|0;B=f[q>>2]|0;C=f[w>>2]|0;A=B+(p>>>3)|0;if(A>>>0<C>>>0){D=(h[A>>0]|0)>>>(p&7)&1;E=p+1|0;f[l>>2]=E;J=D;K=B+(E>>>3)|0;L=E}else{J=0;K=A;L=p}if(K>>>0<C>>>0){f[l>>2]=L+1;M=J}else M=J}else M=m;else if(!y){y=f[l>>2]|0;C=(f[q>>2]|0)+(y>>>3)|0;if(C>>>0<(f[w>>2]|0)>>>0){p=(h[C>>0]|0)>>>(y&7)&1;f[l>>2]=y+1;M=p}else M=0}else M=m;p=(f[t>>2]|0)+(o*12|0)+8|0;b[p>>0]=b[p>>0]&-2|M&1;o=o+1|0;if(o>>>0>=n>>>0)break;else m=M}}Cj(c)}while(0);f[g>>2]=0;M=f[k>>2]|0;J=(h[M+36>>0]<<8|h[M+37>>0])&65535;if((J&65535)<512){M=c+8|0;L=f[M>>2]|0;K=f[M+4>>2]|0;M=c+16|0;e=M;G=f[e>>2]|0;s=vl(G|0,f[e+4>>2]|0,4,0)|0;e=H;if((K|0)<(e|0)|(K|0)==(e|0)&L>>>0<s>>>0)N=-1;else{L=(f[c>>2]|0)+G|0;G=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;f[g>>2]=G;L=M;f[L>>2]=s;f[L+4>>2]=e;O=G;I=43}}else if(J<<16>>16==512)if(zh(g,c)|0){O=f[g>>2]|0;I=43}else N=-1;else I=57;b:do if((I|0)==43)if(!O)I=57;else{J=f[k>>2]|0;if(((h[J+36>>0]<<8|h[J+37>>0])&65535)>=258){J=a+52|0;G=a+56|0;e=a+48|0;L=0;s=0;while(1){f[i>>2]=0;zh(j,c)|0;s=(f[j>>2]|0)+s|0;f[i>>2]=s;M=f[J>>2]|0;if((M|0)==(f[G>>2]|0))Ng(e,i);else{f[M>>2]=s;f[J>>2]=M+4}L=L+1|0;if(L>>>0>=(f[g>>2]|0)>>>0){I=57;break b}}}L=c+8|0;J=c+16|0;s=a+52|0;e=a+56|0;G=a+48|0;M=0;while(1){f[i>>2]=0;K=L;m=f[K>>2]|0;n=f[K+4>>2]|0;K=J;o=f[K>>2]|0;t=vl(o|0,f[K+4>>2]|0,4,0)|0;K=H;if((n|0)<(K|0)|(n|0)==(K|0)&m>>>0<t>>>0)break;m=(f[c>>2]|0)+o|0;o=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[i>>2]=o;m=J;f[m>>2]=t;f[m+4>>2]=K;K=f[s>>2]|0;if((K|0)==(f[e>>2]|0))Ng(G,i);else{f[K>>2]=o;f[s>>2]=K+4}M=M+1|0;if(M>>>0>=(f[g>>2]|0)>>>0){I=57;break b}}N=-1}while(0);if((I|0)==57)N=f[c+16>>2]|0;r=N;u=d;return r|0}function Ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)$n(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];wb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;do if((o|0)!=-1){r=o+1|0;s=((r>>>0)%3|0|0)==0?o+-2|0:r;r=k+8|0;v=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o+(((o>>>0)%3|0|0)==0?2:-1)|0;B=0;C=0;D=0;E=0;F=0;G=0;I=a;J=o;while(1){do if(!I){K=J+1|0;L=((K>>>0)%3|0|0)==0?J+-2|0:K;if(!((J>>>0)%3|0)){M=J+2|0;N=L;break}else{M=J+-1|0;N=L;break}}else{M=A;N=s}while(0);L=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;O=f[n>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){P=12;break}Q=f[(f[q>>2]|0)+(f[K+(L<<2)>>2]<<2)>>2]|0;L=f[p>>2]|0;if(!(b[L+84>>0]|0))R=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else R=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=R;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];wb(L,g,Q,k)|0;Q=f[(f[(f[m>>2]|0)+28>>2]|0)+(M<<2)>>2]|0;S=f[n>>2]|0;L=f[S>>2]|0;if((f[S+4>>2]|0)-L>>2>>>0<=Q>>>0){P=16;break}K=f[(f[q>>2]|0)+(f[L+(Q<<2)>>2]<<2)>>2]|0;Q=f[p>>2]|0;if(!(b[Q+84>>0]|0))T=f[(f[Q+68>>2]|0)+(K<<2)>>2]|0;else T=K;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=T;K=b[Q+24>>0]|0;f[g>>2]=f[h>>2];wb(Q,g,K,l)|0;K=k;Q=j;L=f[Q>>2]|0;U=f[Q+4>>2]|0;Q=wl(f[K>>2]|0,f[K+4>>2]|0,L|0,U|0)|0;K=H;V=r;W=v;X=f[W>>2]|0;Y=f[W+4>>2]|0;W=wl(f[V>>2]|0,f[V+4>>2]|0,X|0,Y|0)|0;V=H;Z=w;_=x;$=f[_>>2]|0;aa=f[_+4>>2]|0;_=wl(f[Z>>2]|0,f[Z+4>>2]|0,$|0,aa|0)|0;Z=H;ba=l;ca=wl(f[ba>>2]|0,f[ba+4>>2]|0,L|0,U|0)|0;U=H;L=y;ba=wl(f[L>>2]|0,f[L+4>>2]|0,X|0,Y|0)|0;Y=H;X=z;L=wl(f[X>>2]|0,f[X+4>>2]|0,$|0,aa|0)|0;aa=H;$=Bk(L|0,aa|0,W|0,V|0)|0;X=H;da=Bk(ba|0,Y|0,_|0,Z|0)|0;ea=H;fa=Bk(ca|0,U|0,_|0,Z|0)|0;Z=H;_=Bk(L|0,aa|0,Q|0,K|0)|0;aa=H;L=Bk(ba|0,Y|0,Q|0,K|0)|0;K=H;Q=Bk(ca|0,U|0,W|0,V|0)|0;V=H;W=wl(B|0,C|0,da|0,ea|0)|0;B=vl(W|0,H|0,$|0,X|0)|0;C=H;X=vl(fa|0,Z|0,D|0,E|0)|0;D=wl(X|0,H|0,_|0,aa|0)|0;E=H;aa=wl(F|0,G|0,Q|0,V|0)|0;F=vl(aa|0,H|0,L|0,K|0)|0;G=H;kf(i);J=f[c>>2]|0;I=(f[t>>2]|0)==0;if((J|0)==-1){P=20;break}}if((P|0)==12)$n(O);else if((P|0)==16)$n(S);else if((P|0)==20){J=wl(0,0,B|0,C|0)|0;if((C|0)>-1|(C|0)==-1&B>>>0>4294967295){ga=I;ha=B;ia=C;ja=D;ka=E;la=F;ma=G;P=21;break}else{na=I;oa=E;pa=D;qa=G;ra=F;sa=J;ta=H;ua=B;va=C;break}}}else{ga=a;ha=0;ia=0;ja=0;ka=0;la=0;ma=0;P=21}while(0);if((P|0)==21){na=ga;oa=ka;pa=ja;qa=ma;ra=la;sa=ha;ta=ia;ua=ha;va=ia}ia=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;ha=wl(0,0,pa|0,oa|0)|0;la=ia?oa:H;ma=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;ja=wl(0,0,ra|0,qa|0)|0;ka=vl((ia?pa:ha)|0,la|0,(ma?ra:ja)|0,(ma?qa:H)|0)|0;ma=vl(ka|0,H|0,sa|0,ta|0)|0;ta=H;if(na){if((ma|0)<=536870912){wa=ua;xa=pa;ya=ra;f[d>>2]=wa;za=d+4|0;f[za>>2]=xa;Aa=d+8|0;f[Aa>>2]=ya;u=e;return}na=xl(ma|0,ta|0,29)|0;sa=na&7;na=ni(ua|0,va|0,sa|0,0)|0;ka=ni(pa|0,oa|0,sa|0,0)|0;ja=ni(ra|0,qa|0,sa|0,0)|0;wa=na;xa=ka;ya=ja;f[d>>2]=wa;za=d+4|0;f[za>>2]=xa;Aa=d+8|0;f[Aa>>2]=ya;u=e;return}else{if(!((ta|0)>0|(ta|0)==0&ma>>>0>536870912)){wa=ua;xa=pa;ya=ra;f[d>>2]=wa;za=d+4|0;f[za>>2]=xa;Aa=d+8|0;f[Aa>>2]=ya;u=e;return}ja=xl(ma|0,ta|0,29)|0;ta=H;ma=ni(ua|0,va|0,ja|0,ta|0)|0;va=ni(pa|0,oa|0,ja|0,ta|0)|0;oa=ni(ra|0,qa|0,ja|0,ta|0)|0;wa=ma;xa=va;ya=oa;f[d>>2]=wa;za=d+4|0;f[za>>2]=xa;Aa=d+8|0;f[Aa>>2]=ya;u=e;return}}function Pb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[d>>2]|0;j=(f[h>>2]|0)-i>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[h>>2]=i+(e<<2)}else Eg(d,e-j|0);j=e>>>0>1073741823?-1:e<<2;d=Ho(j)|0;oh(d|0,0,j|0)|0;i=Ho(j)|0;oh(i|0,0,j|0)|0;j=f[g>>2]|0;if((j|0)>0){h=a+16|0;k=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[h>>2]|0;do if((n|0)<=(o|0)){p=f[l>>2]|0;q=f[k>>2]|0;r=q+(m<<2)|0;if((n|0)<(p|0)){f[r>>2]=p;s=q;break}else{f[r>>2]=n;s=q;break}}else{q=f[k>>2]|0;f[q+(m<<2)>>2]=o;s=q}while(0);m=m+1|0;t=f[g>>2]|0}while((m|0)<(t|0));if((t|0)>0){m=a+20|0;k=0;do{o=(f[b+(k<<2)>>2]|0)+(f[s+(k<<2)>>2]|0)|0;n=c+(k<<2)|0;f[n>>2]=o;if((o|0)<=(f[h>>2]|0)){if((o|0)<(f[l>>2]|0)){u=(f[m>>2]|0)+o|0;v=19}}else{u=o-(f[m>>2]|0)|0;v=19}if((v|0)==19){v=0;f[n>>2]=u}k=k+1|0;n=f[g>>2]|0}while((k|0)<(n|0));w=n}else w=t}else w=j;j=f[a+48>>2]|0;t=f[a+56>>2]|0;k=f[t>>2]|0;u=(f[t+4>>2]|0)-k|0;m=u>>2;if((u|0)<=4){Io(i);Io(d);return 1}u=f[a+52>>2]|0;l=k;k=(e|0)>0;h=j+12|0;s=a+16|0;n=a+32|0;o=a+12|0;q=a+20|0;a=e<<2;r=1;p=w;while(1){if(m>>>0<=r>>>0){v=25;break}w=f[l+(r<<2)>>2]|0;if(k)oh(d|0,0,a|0)|0;if((w|0)!=-1){x=f[h>>2]|0;y=0;z=w;while(1){A=f[x+(z<<2)>>2]|0;if((A|0)!=-1){B=f[j>>2]|0;C=f[u>>2]|0;D=f[C+(f[B+(A<<2)>>2]<<2)>>2]|0;E=A+1|0;F=((E>>>0)%3|0|0)==0?A+-2|0:E;if((F|0)==-1)G=-1;else G=f[B+(F<<2)>>2]|0;F=f[C+(G<<2)>>2]|0;E=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((E|0)==-1)H=-1;else H=f[B+(E<<2)>>2]|0;E=f[C+(H<<2)>>2]|0;if((D|0)<(r|0)&(F|0)<(r|0)&(E|0)<(r|0)){C=W(D,e)|0;D=W(F,e)|0;F=W(E,e)|0;if(k){E=0;do{f[i+(E<<2)>>2]=(f[c+(E+F<<2)>>2]|0)+(f[c+(E+D<<2)>>2]|0)-(f[c+(E+C<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0));if(k){E=0;do{C=d+(E<<2)|0;f[C>>2]=(f[C>>2]|0)+(f[i+(E<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}}I=y+1|0}else I=y}else I=y;E=(((z>>>0)%3|0|0)==0?2:-1)+z|0;do if((E|0)!=-1?(C=f[x+(E<<2)>>2]|0,(C|0)!=-1):0)if(!((C>>>0)%3|0)){J=C+2|0;break}else{J=C+-1|0;break}else J=-1;while(0);z=(J|0)==(w|0)?-1:J;if((z|0)==-1)break;else y=I}y=W(r,e)|0;if(I){if(k){z=0;do{w=d+(z<<2)|0;f[w>>2]=(f[w>>2]|0)/(I|0)|0;z=z+1|0}while((z|0)!=(e|0))}z=b+(y<<2)|0;w=c+(y<<2)|0;if((p|0)>0){x=0;do{E=f[d+(x<<2)>>2]|0;C=f[s>>2]|0;do if((E|0)<=(C|0)){D=f[o>>2]|0;F=f[n>>2]|0;B=F+(x<<2)|0;if((E|0)<(D|0)){f[B>>2]=D;K=F;break}else{f[B>>2]=E;K=F;break}}else{F=f[n>>2]|0;f[F+(x<<2)>>2]=C;K=F}while(0);x=x+1|0;L=f[g>>2]|0}while((x|0)<(L|0));if((L|0)>0){x=0;do{C=(f[z+(x<<2)>>2]|0)+(f[K+(x<<2)>>2]|0)|0;E=w+(x<<2)|0;f[E>>2]=C;if((C|0)<=(f[s>>2]|0)){if((C|0)<(f[o>>2]|0)){M=(f[q>>2]|0)+C|0;v=83}}else{M=C-(f[q>>2]|0)|0;v=83}if((v|0)==83){v=0;f[E>>2]=M}x=x+1|0;E=f[g>>2]|0}while((x|0)<(E|0));N=E}else N=L}else N=p}else{O=y;v=51}}else{O=W(r,e)|0;v=51}if((v|0)==51){v=0;x=c+((W(r+-1|0,e)|0)<<2)|0;w=b+(O<<2)|0;z=c+(O<<2)|0;if((p|0)>0){E=0;do{C=f[x+(E<<2)>>2]|0;F=f[s>>2]|0;do if((C|0)<=(F|0)){B=f[o>>2]|0;D=f[n>>2]|0;A=D+(E<<2)|0;if((C|0)<(B|0)){f[A>>2]=B;P=D;break}else{f[A>>2]=C;P=D;break}}else{D=f[n>>2]|0;f[D+(E<<2)>>2]=F;P=D}while(0);E=E+1|0;Q=f[g>>2]|0}while((E|0)<(Q|0));if((Q|0)>0){E=0;do{x=(f[w+(E<<2)>>2]|0)+(f[P+(E<<2)>>2]|0)|0;y=z+(E<<2)|0;f[y>>2]=x;if((x|0)<=(f[s>>2]|0)){if((x|0)<(f[o>>2]|0)){R=(f[q>>2]|0)+x|0;v=65}}else{R=x-(f[q>>2]|0)|0;v=65}if((v|0)==65){v=0;f[y>>2]=R}E=E+1|0;y=f[g>>2]|0}while((E|0)<(y|0));N=y}else N=Q}else N=p}r=r+1|0;if((r|0)>=(m|0)){v=23;break}else p=N}if((v|0)==23){Io(i);Io(d);return 1}else if((v|0)==25)$n(t);return 0}function Qb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[d>>2]|0;j=(f[h>>2]|0)-i>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[h>>2]=i+(e<<2)}else Eg(d,e-j|0);j=e>>>0>1073741823?-1:e<<2;d=Ho(j)|0;oh(d|0,0,j|0)|0;i=Ho(j)|0;oh(i|0,0,j|0)|0;j=f[g>>2]|0;if((j|0)>0){h=a+16|0;k=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[h>>2]|0;do if((n|0)<=(o|0)){p=f[l>>2]|0;q=f[k>>2]|0;r=q+(m<<2)|0;if((n|0)<(p|0)){f[r>>2]=p;s=q;break}else{f[r>>2]=n;s=q;break}}else{q=f[k>>2]|0;f[q+(m<<2)>>2]=o;s=q}while(0);m=m+1|0;t=f[g>>2]|0}while((m|0)<(t|0));if((t|0)>0){m=a+20|0;k=0;do{o=(f[b+(k<<2)>>2]|0)+(f[s+(k<<2)>>2]|0)|0;n=c+(k<<2)|0;f[n>>2]=o;if((o|0)<=(f[h>>2]|0)){if((o|0)<(f[l>>2]|0)){u=(f[m>>2]|0)+o|0;v=19}}else{u=o-(f[m>>2]|0)|0;v=19}if((v|0)==19){v=0;f[n>>2]=u}k=k+1|0;n=f[g>>2]|0}while((k|0)<(n|0));w=n}else w=t}else w=j;j=f[a+48>>2]|0;t=f[a+56>>2]|0;k=f[t>>2]|0;u=(f[t+4>>2]|0)-k|0;m=u>>2;if((u|0)<=4){Io(i);Io(d);return 1}u=f[a+52>>2]|0;l=k;k=(e|0)>0;h=j+64|0;s=j+28|0;n=a+16|0;o=a+32|0;q=a+12|0;r=a+20|0;a=e<<2;p=1;x=w;while(1){if(m>>>0<=p>>>0){v=25;break}w=f[l+(p<<2)>>2]|0;if(k)oh(d|0,0,a|0)|0;if((w|0)!=-1){y=f[j>>2]|0;z=0;A=w;while(1){if(((f[y+(A>>>5<<2)>>2]&1<<(A&31)|0)==0?(B=f[(f[(f[h>>2]|0)+12>>2]|0)+(A<<2)>>2]|0,(B|0)!=-1):0)?(C=f[s>>2]|0,D=f[u>>2]|0,E=f[D+(f[C+(B<<2)>>2]<<2)>>2]|0,F=B+1|0,G=f[D+(f[C+((((F>>>0)%3|0|0)==0?B+-2|0:F)<<2)>>2]<<2)>>2]|0,F=f[D+(f[C+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(E|0)<(p|0)&(G|0)<(p|0)&(F|0)<(p|0)):0){B=W(E,e)|0;E=W(G,e)|0;G=W(F,e)|0;if(k){F=0;do{f[i+(F<<2)>>2]=(f[c+(F+G<<2)>>2]|0)+(f[c+(F+E<<2)>>2]|0)-(f[c+(F+B<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0));if(k){F=0;do{B=d+(F<<2)|0;f[B>>2]=(f[B>>2]|0)+(f[i+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0))}}H=z+1|0}else H=z;F=(((A>>>0)%3|0|0)==0?2:-1)+A|0;do if(((F|0)!=-1?(f[y+(F>>>5<<2)>>2]&1<<(F&31)|0)==0:0)?(B=f[(f[(f[h>>2]|0)+12>>2]|0)+(F<<2)>>2]|0,(B|0)!=-1):0)if(!((B>>>0)%3|0)){I=B+2|0;break}else{I=B+-1|0;break}else I=-1;while(0);A=(I|0)==(w|0)?-1:I;if((A|0)==-1)break;else z=H}z=W(p,e)|0;if(H){if(k){A=0;do{w=d+(A<<2)|0;f[w>>2]=(f[w>>2]|0)/(H|0)|0;A=A+1|0}while((A|0)!=(e|0))}A=b+(z<<2)|0;w=c+(z<<2)|0;if((x|0)>0){y=0;do{F=f[d+(y<<2)>>2]|0;B=f[n>>2]|0;do if((F|0)<=(B|0)){E=f[q>>2]|0;G=f[o>>2]|0;C=G+(y<<2)|0;if((F|0)<(E|0)){f[C>>2]=E;J=G;break}else{f[C>>2]=F;J=G;break}}else{G=f[o>>2]|0;f[G+(y<<2)>>2]=B;J=G}while(0);y=y+1|0;K=f[g>>2]|0}while((y|0)<(K|0));if((K|0)>0){y=0;do{B=(f[A+(y<<2)>>2]|0)+(f[J+(y<<2)>>2]|0)|0;F=w+(y<<2)|0;f[F>>2]=B;if((B|0)<=(f[n>>2]|0)){if((B|0)<(f[q>>2]|0)){L=(f[r>>2]|0)+B|0;v=81}}else{L=B-(f[r>>2]|0)|0;v=81}if((v|0)==81){v=0;f[F>>2]=L}y=y+1|0;F=f[g>>2]|0}while((y|0)<(F|0));M=F}else M=K}else M=x}else{N=z;v=49}}else{N=W(p,e)|0;v=49}if((v|0)==49){v=0;y=c+((W(p+-1|0,e)|0)<<2)|0;w=b+(N<<2)|0;A=c+(N<<2)|0;if((x|0)>0){F=0;do{B=f[y+(F<<2)>>2]|0;G=f[n>>2]|0;do if((B|0)<=(G|0)){C=f[q>>2]|0;E=f[o>>2]|0;D=E+(F<<2)|0;if((B|0)<(C|0)){f[D>>2]=C;O=E;break}else{f[D>>2]=B;O=E;break}}else{E=f[o>>2]|0;f[E+(F<<2)>>2]=G;O=E}while(0);F=F+1|0;P=f[g>>2]|0}while((F|0)<(P|0));if((P|0)>0){F=0;do{y=(f[w+(F<<2)>>2]|0)+(f[O+(F<<2)>>2]|0)|0;z=A+(F<<2)|0;f[z>>2]=y;if((y|0)<=(f[n>>2]|0)){if((y|0)<(f[q>>2]|0)){Q=(f[r>>2]|0)+y|0;v=63}}else{Q=y-(f[r>>2]|0)|0;v=63}if((v|0)==63){v=0;f[z>>2]=Q}F=F+1|0;z=f[g>>2]|0}while((F|0)<(z|0));M=z}else M=P}else M=x}p=p+1|0;if((p|0)>=(m|0)){v=23;break}else x=M}if((v|0)==23){Io(i);Io(d);return 1}else if((v|0)==25)$n(t);return 0}function Rb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;c=f[4076]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<c>>>0)return;if((f[4077]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[4074]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4072]=f[4072]&~(1<<k);l=h;m=i;n=h;break}else{f[g+12>>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=f[k>>2]|0;if(!q){u=o+16|0;v=f[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}f[p>>2]=0;r=o}else{k=f[h+8>>2]|0;f[k+12>>2]=j;f[j+8>>2]=k;r=j}while(0);if(g){j=f[h+28>>2]|0;k=16592+(j<<2)|0;if((f[k>>2]|0)==(h|0)){f[k>>2]=r;if(!r){f[4073]=f[4073]&~(1<<j);l=h;m=i;n=h;break}}else{j=g+16|0;f[((f[j>>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;k=f[j>>2]|0;if(k|0){f[r+16>>2]=k;f[k+24>>2]=r}k=f[j+4>>2]|0;if(k){f[r+20>>2]=k;f[k+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[4078]|0)==(e|0)){r=(f[4075]|0)+m|0;f[4075]=r;f[4078]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4077]|0))return;f[4077]=0;f[4074]=0;return}if((f[4077]|0)==(e|0)){r=(f[4074]|0)+m|0;f[4074]=r;f[4077]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;x=a>>>3;do if(a>>>0<256){w=f[e+8>>2]|0;t=f[e+12>>2]|0;if((t|0)==(w|0)){f[4072]=f[4072]&~(1<<x);break}else{f[w+12>>2]=t;f[t+8>>2]=w;break}}else{w=f[e+24>>2]|0;t=f[e+12>>2]|0;do if((t|0)==(e|0)){s=e+16|0;c=s+4|0;d=f[c>>2]|0;if(!d){k=f[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=d;A=c}c=z;d=A;while(1){s=c+20|0;k=f[s>>2]|0;if(!k){j=c+16|0;q=f[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}c=B;d=C}f[d>>2]=0;y=c}else{o=f[e+8>>2]|0;f[o+12>>2]=t;f[t+8>>2]=o;y=t}while(0);if(w|0){t=f[e+28>>2]|0;h=16592+(t<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=y;if(!y){f[4073]=f[4073]&~(1<<t);break}}else{t=w+16|0;f[((f[t>>2]|0)==(e|0)?t:w+20|0)>>2]=y;if(!y)break}f[y+24>>2]=w;t=e+16|0;h=f[t>>2]|0;if(h|0){f[y+16>>2]=h;f[h+24>>2]=y}h=f[t+4>>2]|0;if(h|0){f[y+20>>2]=h;f[h+24>>2]=y}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[4077]|0)){f[4074]=r;return}else D=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){n=16328+(m<<1<<2)|0;a=f[4072]|0;b=1<<m;if(!(a&b)){f[4072]=a|b;E=n;F=n+8|0}else{b=n+8|0;E=f[b>>2]|0;F=b}f[F>>2]=l;f[E+12>>2]=l;f[l+8>>2]=E;f[l+12>>2]=n;return}n=D>>>8;if(n)if(D>>>0>16777215)G=31;else{E=(n+1048320|0)>>>16&8;F=n<<E;n=(F+520192|0)>>>16&4;b=F<<n;F=(b+245760|0)>>>16&2;a=14-(n|E|F)+(b<<F>>>15)|0;G=D>>>(a+7|0)&1|a<<1}else G=0;a=16592+(G<<2)|0;f[l+28>>2]=G;f[l+20>>2]=0;f[l+16>>2]=0;F=f[4073]|0;b=1<<G;a:do if(!(F&b)){f[4073]=F|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}else{E=f[a>>2]|0;b:do if((f[E+4>>2]&-8|0)==(D|0))H=E;else{n=D<<((G|0)==31?0:25-(G>>>1)|0);m=E;while(1){I=m+16+(n>>>31<<2)|0;r=f[I>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{n=n<<1;m=r}}f[I>>2]=l;f[l+24>>2]=m;f[l+12>>2]=l;f[l+8>>2]=l;break a}while(0);E=H+8|0;w=f[E>>2]|0;f[w+12>>2]=l;f[E>>2]=l;f[l+8>>2]=w;f[l+12>>2]=H;f[l+24>>2]=0}while(0);l=(f[4080]|0)+-1|0;f[4080]=l;if(l|0)return;l=16744;while(1){H=f[l>>2]|0;if(!H)break;else l=H+8|0}f[4080]=-1;return}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=vl(s|0,t|0,1,0)|0;x=H;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=vl(s|0,t|0,2,0)|0;y=H;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if((((f[a+220>>2]|0)-A|0)/144|0)>>>0<=z>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=vl(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=H;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{Qc(e,a,E);F=f[e>>2]|0;break}case 1:{xd(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(n<<24>>24<0|(D|0)!=0){v=0;u=d;return v|0}D=wk(88)|0;F=n<<24>>24;n=f[a+216>>2]|0;a=n+(F*144|0)+104|0;f[D+4>>2]=0;f[D>>2]=3292;E=D+12|0;f[E>>2]=3316;x=D+64|0;f[x>>2]=0;f[D+68>>2]=0;f[D+72>>2]=0;m=D+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[D+76>>2]=o;f[D+80>>2]=a;f[D+84>>2]=0;s=g+4|0;f[s>>2]=3316;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=n+(F*144|0)+4|0;f[i>>2]=3316;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[n+(F*144|0)+68>>2]|0;F=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;Gf(i+8|0,F,e);Pa[f[(f[i>>2]|0)+8>>2]&127](i);je(j,i);je(e,j);f[g>>2]=f[e+4>>2];F=g+4|0;He(F,e)|0;f[e>>2]=3316;t=f[e+20>>2]|0;if(t|0)Ko(t);t=f[e+8>>2]|0;if(t|0)Ko(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=D;f[j>>2]=3316;o=f[j+20>>2]|0;if(o|0)Ko(o);o=f[j+8>>2]|0;if(o|0)Ko(o);f[D+8>>2]=f[g>>2];He(E,F)|0;F=D+44|0;E=g+36|0;f[F>>2]=f[E>>2];f[F+4>>2]=f[E+4>>2];f[F+8>>2]=f[E+8>>2];f[F+12>>2]=f[E+12>>2];b[F+16>>0]=b[E+16>>0]|0;df(x,f[w>>2]|0,f[r>>2]|0);f[i>>2]=3316;x=f[i+20>>2]|0;if(x|0)Ko(x);x=f[i+8>>2]|0;if(x|0)Ko(x);x=f[w>>2]|0;if(x|0){f[r>>2]=x;Ko(x)}f[s>>2]=3316;s=f[g+24>>2]|0;if(s|0)Ko(s);s=f[g+12>>2]|0;if(s|0)Ko(s);G=D}D=wk(64)|0;f[k>>2]=G;Zi(D,k);G=D;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Pa[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Pa[f[(f[D>>2]|0)+4>>2]&127](D);v=0;u=d;return v|0}D=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[D>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){x=c+1|0;r=s;if(x>>>0>g>>>0){Se(D,x-g|0);break}if(x>>>0<g>>>0){w=k+(x<<2)|0;if((w|0)!=(r|0)){x=r;do{x=x+-4|0;r=f[x>>2]|0;f[x>>2]=0;if(r|0)Pa[f[(f[r>>2]|0)+4>>2]&127](r)}while((x|0)!=(w|0))}f[l>>2]=w}}while(0);l=(f[D>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Pa[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function Tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+736|0;e=d+716|0;g=d;h=d+64|0;if((j[c+38>>1]|0)<515){i=1;u=d;return i|0}k=c+8|0;l=f[k+4>>2]|0;m=c+16|0;n=m;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((l|0)>(p|0)|((l|0)==(p|0)?(f[k>>2]|0)>>>0>o>>>0:0))){i=0;u=d;return i|0}k=b[(f[c>>2]|0)+o>>0]|0;l=vl(o|0,p|0,1,0)|0;p=m;f[p>>2]=l;f[p+4>>2]=H;p=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;l=f[(f[p>>2]|0)+80>>2]|0;p=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[e>>2]=0;m=e+4|0;f[m>>2]=0;o=e+8|0;f[o>>2]=0;do if(p|0)if(p>>>0>214748364)$n(e);else{n=p*20|0;q=wk(n)|0;f[e>>2]=q;f[o>>2]=q+(p*20|0);oh(q|0,0,n|0)|0;f[m>>2]=q+n;break}while(0);p=a+52|0;o=a+56|0;n=a+48|0;q=a+64|0;r=a+68|0;s=a+60|0;t=0;v=0;a:while(1){if((v|0)>=(Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0)){w=35;break}x=La[f[(f[a>>2]|0)+20>>2]&127](a,v)|0;y=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[y>>2]|0)+8>>2]|0)+(x<<2)>>2]|0;Fh(z,l)|0;b[z+84>>0]=1;f[z+72>>2]=f[z+68>>2];switch(f[z+28>>2]|0){case 2:case 4:case 6:{A=z;break}case 1:case 3:case 5:{x=z+24|0;y=b[x>>0]|0;if(y<<24>>24>0){B=0;C=y;while(1){f[g>>2]=0;y=f[p>>2]|0;if(y>>>0<(f[o>>2]|0)>>>0){f[y>>2]=0;f[p>>2]=y+4;D=C}else{Ng(n,g);D=b[x>>0]|0}B=B+1|0;if((B|0)>=(D<<24>>24|0))break;else C=D}}A=z;break}case 9:{C=b[z+24>>0]|0;oj(g);B=f[z+56>>2]|0;x=W(Bj(6)|0,C<<24>>24)|0;Ih(g,B,0,C,6,0,x,((x|0)<0)<<31>>31,0,0);x=wk(96)|0;$i(x,g);f[h>>2]=x;b[x+84>>0]=1;f[x+72>>2]=f[x+68>>2];Fh(x,l)|0;x=f[q>>2]|0;if(x>>>0<(f[r>>2]|0)>>>0){C=f[h>>2]|0;f[h>>2]=0;f[x>>2]=C;C=x+4|0;f[q>>2]=C;E=C}else{Rd(s,h);E=f[q>>2]|0}C=f[E+-4>>2]|0;x=f[h>>2]|0;f[h>>2]=0;if(x|0){B=x+88|0;y=f[B>>2]|0;f[B>>2]=0;if(y|0){B=f[y+8>>2]|0;if(B|0){f[y+12>>2]=B;Ko(B)}Ko(y)}y=f[x+68>>2]|0;if(y|0){f[x+72>>2]=y;Ko(y)}y=x+64|0;B=f[y>>2]|0;f[y>>2]=0;if(B|0){y=f[B>>2]|0;if(y|0){f[B+4>>2]=y;Ko(y)}Ko(B)}Ko(x)}A=C;break}default:{F=0;break a}}C=A;x=f[C+28>>2]|0;B=Bj(x)|0;y=b[C+24>>0]|0;C=f[e>>2]|0;f[C+(v*20|0)>>2]=A;f[C+(v*20|0)+4>>2]=t;f[C+(v*20|0)+8>>2]=x;f[C+(v*20|0)+12>>2]=(B|0)>0?B:0;f[C+(v*20|0)+16>>2]=y;t=t+y|0;v=v+1|0}if((w|0)==35){$e(g,e);switch(k<<24>>24){case 0:{ve(h,t);k=Xd(h,c,g)|0;Cf(h);if(k)w=43;else G=0;break}case 1:{ve(h,t);k=Wd(h,c,g)|0;Cf(h);if(k)w=43;else G=0;break}case 2:{we(h,t);k=Zd(h,c,g)|0;Lf(h);if(k)w=43;else G=0;break}case 3:{we(h,t);k=Yd(h,c,g)|0;Lf(h);if(k)w=43;else G=0;break}case 4:{re(h,t);k=Ud(h,c,g)|0;jg(h);if(k)w=43;else G=0;break}case 5:{re(h,t);k=Td(h,c,g)|0;jg(h);if(k)w=43;else G=0;break}case 6:{re(h,t);t=Sd(h,c,g)|0;jg(h);if(t)w=43;else G=0;break}default:G=0}if((w|0)==43)G=1;w=f[g+16>>2]|0;if(w|0){f[g+20>>2]=w;Ko(w)}w=f[g>>2]|0;if(w|0){f[g+4>>2]=w;Ko(w)}F=G}G=f[e>>2]|0;if(G|0){f[m>>2]=G;Ko(G)}i=F;u=d;return i|0}function Ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=(f[j>>2]|0)-(f[a>>2]|0)>>2;l=a+16|0;m=f[i>>2]|0;n=(f[l>>2]|0)-m>>2;if(k>>>0<=n>>>0)if(k>>>0<n>>>0){f[l>>2]=m+(k<<2);o=k}else o=k;else{Of(i,k-n|0,3732);o=(f[j>>2]|0)-(f[a>>2]|0)>>2}f[d>>2]=0;n=d+4|0;f[n>>2]=0;f[d+8>>2]=0;Wh(d,o);o=f[j>>2]|0;k=f[a>>2]|0;m=k;if((o|0)==(k|0)){p=0;q=0;r=m;s=m;t=m;v=m;w=m;x=o;y=k}else{l=f[d>>2]|0;z=l;A=z;B=0;C=m;D=m;E=m;F=m;G=m;H=o;o=z;z=m;m=l;l=k;while(1){k=f[z+(B<<2)>>2]|0;I=(f[n>>2]|0)-m>>2;if(k>>>0<I>>>0){J=l;K=A;L=C;M=D;N=E;O=F;P=G;Q=o;R=l;S=H}else{T=k+1|0;f[e>>2]=0;if(T>>>0<=I>>>0)if(T>>>0<I>>>0){f[n>>2]=m+(T<<2);U=A;V=H;W=l}else{U=A;V=H;W=l}else{Of(d,T-I|0,e);U=f[d>>2]|0;V=f[j>>2]|0;W=f[a>>2]|0}I=W;J=I;K=U;L=I;M=I;N=I;O=I;P=I;Q=U;R=W;S=V}I=Q+(k<<2)|0;f[I>>2]=(f[I>>2]|0)+1;B=B+1|0;I=S-R|0;k=I>>2;if(B>>>0>=k>>>0){p=k;q=I;r=L;s=M;t=N;v=O;w=P;x=S;y=R;break}else{A=K;C=L;D=M;E=N;F=O;G=P;H=S;o=Q;z=J;m=Q;l=R}}}f[e>>2]=0;R=e+4|0;f[R>>2]=0;l=e+8|0;f[l>>2]=0;do if(q)if(p>>>0>536870911)$n(e);else{Q=wk(q<<1)|0;f[e>>2]=Q;f[l>>2]=Q+(p<<3);m=p<<3;oh(Q|0,-1,m|0)|0;f[R>>2]=Q+m;X=Q;Y=Q;break}else{X=0;Y=0}while(0);p=f[d>>2]|0;l=(f[n>>2]|0)-p|0;q=l>>2;f[g>>2]=0;Q=g+4|0;f[Q>>2]=0;m=g+8|0;f[m>>2]=0;J=p;if(!l){Z=0;_=0}else{if(q>>>0>1073741823)$n(g);p=wk(l)|0;f[g>>2]=p;g=p+(q<<2)|0;f[m>>2]=g;oh(p|0,0,l|0)|0;f[Q>>2]=g;g=0;l=0;while(1){f[p+(l<<2)>>2]=g;m=l+1|0;if(m>>>0<q>>>0){g=(f[J+(l<<2)>>2]|0)+g|0;l=m}else{Z=p;_=p;break}}}if((x|0)!=(y|0)){p=a+40|0;a=x-y>>2;x=y;y=X;l=0;g=v;v=t;t=s;s=r;r=w;while(1){w=f[r+(l<<2)>>2]|0;m=l+1|0;z=((m>>>0)%3|0|0)==0?l+-2|0:m;if((z|0)==-1)$=-1;else $=f[g+(z<<2)>>2]|0;z=((l>>>0)%3|0|0)==0;o=(z?2:-1)+l|0;if((o|0)==-1)aa=-1;else aa=f[v+(o<<2)>>2]|0;if(z?(z=f[t+(l<<2)>>2]|0,($|0)==(aa|0)|((z|0)==($|0)|(z|0)==(aa|0))):0){f[p>>2]=(f[p>>2]|0)+1;ba=y;ca=l+3|0}else da=41;a:do if((da|0)==41){da=0;z=f[J+(aa<<2)>>2]|0;b:do if((z|0)>0){o=0;S=f[Z+(aa<<2)>>2]|0;while(1){ea=y+(S<<3)|0;H=f[ea>>2]|0;if((H|0)==-1)break b;if((H|0)==($|0)){fa=f[y+(S<<3)+4>>2]|0;if((fa|0)==-1)ga=-1;else ga=f[s+(fa<<2)>>2]|0;if((w|0)!=(ga|0))break}H=o+1|0;if((H|0)<(z|0)){o=H;S=S+1|0}else break b}H=o+1|0;c:do if((H|0)<(z|0)){P=H;G=S;while(1){O=G;G=G+1|0;F=y+(G<<3)|0;N=f[F>>2]|0;E=y+(O<<3)|0;f[E>>2]=N;f[y+(O<<3)+4>>2]=f[y+(G<<3)+4>>2];if((N|0)==-1){ha=E;break c}P=P+1|0;if((P|0)>=(z|0)){ha=F;break}}}else ha=ea;while(0);f[ha>>2]=-1;if((fa|0)!=-1){S=f[i>>2]|0;f[S+(l<<2)>>2]=fa;f[S+(fa<<2)>>2]=l;ba=y;ca=m;break a}}while(0);z=f[J+($<<2)>>2]|0;if((z|0)>0){S=0;H=f[Z+($<<2)>>2]|0;while(1){ia=X+(H<<3)|0;if((f[ia>>2]|0)==-1)break;S=S+1|0;if((S|0)>=(z|0)){ba=X;ca=m;break a}else H=H+1|0}f[ia>>2]=aa;f[X+(H<<3)+4>>2]=l;ba=X;ca=m}else{ba=y;ca=m}}while(0);if(ca>>>0<a>>>0){y=ba;l=ca;g=x;v=x;t=x;s=x;r=x}else break}}f[b>>2]=q;if(!Z){ja=X;ka=Y}else{f[Q>>2]=Z;Ko(_);_=f[e>>2]|0;ja=_;ka=_}if(ja|0){f[R>>2]=ja;Ko(ka)}ka=f[d>>2]|0;if(ka|0){f[n>>2]=ka;Ko(ka)}h=1;u=c;return h|0}function Vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=u;u=u+16|0;e=d;g=a+144|0;i=f[g>>2]|0;k=Ka[f[(f[i>>2]|0)+32>>2]&127](i)|0;do if((((h[k+36>>0]|0)<<8|(h[k+37>>0]|0))&65535)<514){i=a+40|0;l=i;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(vf(i,1,e)|0){l=a;m=i;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=e;o=f[i>>2]|0;p=f[i+4>>2]|0;i=a+8|0;q=a+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;r=wl(f[i>>2]|0,f[i+4>>2]|0,s|0,t|0)|0;i=H;if(!(p>>>0>i>>>0|(p|0)==(i|0)&o>>>0>r>>>0)){r=vl(s|0,t|0,o|0,p|0)|0;p=q;f[p>>2]=r;f[p+4>>2]=H;break}}v=0;u=d;return v|0}while(0);do if((j[a+38>>1]|0)>=514){if(!(rd(a+80|0,a)|0)){v=0;u=d;return v|0}}else{k=a+96|0;l=k;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(vf(k,1,e)|0){l=a;m=k;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=e;p=f[k>>2]|0;r=f[k+4>>2]|0;k=a+8|0;q=a+16|0;o=q;t=f[o>>2]|0;s=f[o+4>>2]|0;o=wl(f[k>>2]|0,f[k+4>>2]|0,t|0,s|0)|0;k=H;if(!(r>>>0>k>>>0|(r|0)==(k|0)&p>>>0>o>>>0)){o=vl(t|0,s|0,p|0,r|0)|0;r=q;f[r>>2]=o;f[r+4>>2]=H;break}}v=0;u=d;return v|0}while(0);if(!(Jg(a)|0)){v=0;u=d;return v|0}l=c;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=f[g>>2]|0;l=Ka[f[(f[m>>2]|0)+32>>2]&127](m)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){m=f[g>>2]|0;n=(Ka[f[(f[m>>2]|0)+32>>2]&127](m)|0)+36|0;if(((h[n>>0]|0)<<8&65535)<512){n=c+8|0;m=f[n>>2]|0;r=f[n+4>>2]|0;n=c+16|0;o=n;q=f[o>>2]|0;p=vl(q|0,f[o+4>>2]|0,4,0)|0;o=H;if(!((r|0)<(o|0)|(r|0)==(o|0)&m>>>0<p>>>0)){m=(f[c>>2]|0)+q|0;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=q;m=n;f[m>>2]=p;f[m+4>>2]=o;w=q;x=19}}else if(zh(e,c)|0){w=f[e>>2]|0;x=19}if((((x|0)==19?(q=f[a+152>>2]|0,w>>>0<q>>>0):0)?(o=c+8|0,m=f[o+4>>2]|0,p=c+16|0,n=p,r=f[n>>2]|0,s=f[n+4>>2]|0,(m|0)>(s|0)|((m|0)==(s|0)?(f[o>>2]|0)>>>0>r>>>0:0)):0)?(o=b[(f[c>>2]|0)+r>>0]|0,m=vl(r|0,s|0,1,0)|0,s=p,f[s>>2]=m,f[s+4>>2]=H,o<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;y=q;break}v=0;u=d;return v|0}else{f[a+176>>2]=2;f[a+180>>2]=7;y=f[a+152>>2]|0}while(0);if((y|0)<0){v=0;u=d;return v|0}w=a+156|0;f[e>>2]=0;x=a+160|0;g=f[w>>2]|0;l=(f[x>>2]|0)-g>>2;if(y>>>0<=l>>>0)if(y>>>0<l>>>0){f[x>>2]=g+(y<<2);z=2;A=7}else{z=2;A=7}else{Of(w,y-l|0,e);z=f[a+176>>2]|0;A=f[a+180>>2]|0}l=A-z+1|0;z=a+184|0;A=a+188|0;y=f[A>>2]|0;w=f[z>>2]|0;g=(y-w|0)/12|0;x=w;w=y;if(l>>>0<=g>>>0)if(l>>>0<g>>>0){q=x+(l*12|0)|0;if((q|0)!=(w|0)){x=w;do{w=x;x=x+-12|0;o=f[x>>2]|0;if(o|0){f[w+-8>>2]=o;Ko(o)}}while((x|0)!=(q|0))}f[A>>2]=q;B=q}else B=y;else{Ie(z,l-g|0);B=f[A>>2]|0}g=a+196|0;l=f[z>>2]|0;y=(B-l|0)/12|0;q=a+200|0;a=f[g>>2]|0;x=(f[q>>2]|0)-a>>2;if(y>>>0<=x>>>0)if(y>>>0<x>>>0){f[q>>2]=a+(y<<2);C=B;D=l}else{C=B;D=l}else{Eg(g,y-x|0);C=f[A>>2]|0;D=f[z>>2]|0}if((C|0)==(D|0)){v=1;u=d;return v|0}D=0;do{zh(e,c)|0;C=f[e>>2]|0;if(C|0){x=f[z>>2]|0;y=x+(D*12|0)|0;l=x+(D*12|0)+4|0;B=f[y>>2]|0;a=(f[l>>2]|0)-B>>2;if(C>>>0<=a>>>0)if(C>>>0<a>>>0){f[l>>2]=B+(C<<2);E=x;F=C}else{E=x;F=C}else{Eg(y,C-a|0);E=f[z>>2]|0;F=f[e>>2]|0}kh(F,1,c,f[E+(D*12|0)>>2]|0)|0;f[(f[g>>2]|0)+(D<<2)>>2]=f[e>>2]}D=D+1|0}while(D>>>0<(((f[A>>2]|0)-(f[z>>2]|0)|0)/12|0)>>>0);v=1;u=d;return v|0}function Wb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ia,E=Ia,F=Ia,G=0,H=0,I=0,J=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=W(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(W(k>>>24^k,1540483477)|0)^(W(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=7;break}case 2:{p=o;q=7;break}case 1:{r=o;q=8;break}default:s=o}if((q|0)==7){r=h[m+1>>0]<<8^p;q=8}if((q|0)==8)s=W(r^h[m>>0],1540483477)|0;m=W(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0<r>>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}l=j;b:while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=l+8|0;k=b[d+11>>0]|0;x=k<<24>>24<0;y=k&255;do if(((x?f[l+12>>2]|0:y)|0)==(i|0)){k=f[d>>2]|0;if(x)if(!(Fi(k,g,i)|0)){v=l;q=68;break b}else break;if((b[g>>0]|0)==(k&255)<<24>>24){k=d;z=y;A=g;do{z=z+-1|0;k=k+1|0;if(!z){v=l;q=68;break b}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){u=t;break a}}if((q|0)==68){w=v+20|0;return w|0}}if(e){l=j;while(1){o=f[l+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0<r>>>0)B=o;else B=(o>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[l+8+11>>0]|0;if(!((o<<24>>24<0?f[l+12>>2]|0:o&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}l=j;c:while(1){e=f[l+4>>2]|0;if((e|0)!=(s|0)){if(e>>>0<r>>>0)C=e;else C=(e>>>0)%(r>>>0)|0;if((C|0)!=(t|0)){u=t;break a}}e=l+8|0;o=b[e+11>>0]|0;y=o<<24>>24<0;d=o&255;do if(((y?f[l+12>>2]|0:d)|0)==(i|0)){o=f[e>>2]|0;if(y)if(!(Fi(o,g,i)|0)){v=l;q=68;break c}else break;if((b[g>>0]|0)==(o&255)<<24>>24){o=e;x=d;A=g;do{x=x+-1|0;o=o+1|0;if(!x){v=l;q=68;break c}A=A+1|0}while((b[o>>0]|0)==(b[A>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){u=t;break a}}if((q|0)==68){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=wk(24)|0;Yi(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;D=_(((f[c>>2]|0)+1|0)>>>0);E=_(r>>>0);F=_(n[a+16>>2]);do if(p|_(F*E)<D){g=r<<1|(r>>>0<3|(r+-1&r|0)!=0)&1;i=~~_(V(_(D/F)))>>>0;Xf(a,g>>>0<i>>>0?i:g);g=f[m>>2]|0;i=g+-1|0;if(!(i&g)){G=g;H=i&s;break}if(s>>>0<g>>>0){G=g;H=s}else{G=g;H=(s>>>0)%(g>>>0)|0}}else{G=r;H=u}while(0);u=(f[a>>2]|0)+(H<<2)|0;H=f[u>>2]|0;if(!H){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=G+-1|0;if(r&G)if(u>>>0<G>>>0)I=u;else I=(u>>>0)%(G>>>0)|0;else I=u&r;J=(f[a>>2]|0)+(I<<2)|0;q=66}}else{f[t>>2]=f[H>>2];J=H;q=66}if((q|0)==66)f[J>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Xb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[d>>2]|0;j=(f[h>>2]|0)-i>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[h>>2]=i+(e<<2)}else Eg(d,e-j|0);j=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;h=Ho(i)|0;oh(h|0,0,i|0)|0;i=f[g>>2]|0;if((i|0)>0){k=a+16|0;l=a+32|0;m=a+12|0;n=0;do{o=f[h+(n<<2)>>2]|0;p=f[k>>2]|0;do if((o|0)<=(p|0)){q=f[m>>2]|0;r=f[l>>2]|0;s=r+(n<<2)|0;if((o|0)<(q|0)){f[s>>2]=q;t=r;break}else{f[s>>2]=o;t=r;break}}else{r=f[l>>2]|0;f[r+(n<<2)>>2]=p;t=r}while(0);n=n+1|0;u=f[g>>2]|0}while((n|0)<(u|0));if((u|0)>0){n=a+20|0;l=0;do{p=(f[b+(l<<2)>>2]|0)+(f[t+(l<<2)>>2]|0)|0;o=c+(l<<2)|0;f[o>>2]=p;if((p|0)<=(f[k>>2]|0)){if((p|0)<(f[m>>2]|0)){v=(f[n>>2]|0)+p|0;w=19}}else{v=p-(f[n>>2]|0)|0;w=19}if((w|0)==19){w=0;f[o>>2]=v}l=l+1|0;o=f[g>>2]|0}while((l|0)<(o|0));x=o}else x=u}else x=i;i=f[a+56>>2]|0;u=f[i>>2]|0;l=(f[i+4>>2]|0)-u|0;v=l>>2;if((l|0)<=4){Io(h);return 1}l=u;u=j+12|0;n=a+16|0;m=a+32|0;k=a+12|0;t=(e|0)>0;o=a+20|0;a=1;p=x;while(1){if(v>>>0<=a>>>0){w=25;break}x=f[l+(a<<2)>>2]|0;r=W(a,e)|0;if((x|0)!=-1?(s=f[(f[u>>2]|0)+(x<<2)>>2]|0,(s|0)!=-1):0){x=f[j>>2]|0;q=f[d>>2]|0;y=f[q+(f[x+(s<<2)>>2]<<2)>>2]|0;z=s+1|0;A=((z>>>0)%3|0|0)==0?s+-2|0:z;if((A|0)==-1)B=-1;else B=f[x+(A<<2)>>2]|0;A=f[q+(B<<2)>>2]|0;z=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((z|0)==-1)C=-1;else C=f[x+(z<<2)>>2]|0;z=f[q+(C<<2)>>2]|0;if((y|0)<(a|0)&(A|0)<(a|0)&(z|0)<(a|0)){q=W(y,e)|0;y=W(A,e)|0;A=W(z,e)|0;if(t){z=0;do{f[h+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+q<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(r<<2)|0;q=c+(r<<2)|0;if((p|0)>0){y=0;do{A=f[h+(y<<2)>>2]|0;x=f[n>>2]|0;do if((A|0)<=(x|0)){s=f[k>>2]|0;D=f[m>>2]|0;E=D+(y<<2)|0;if((A|0)<(s|0)){f[E>>2]=s;F=D;break}else{f[E>>2]=A;F=D;break}}else{D=f[m>>2]|0;f[D+(y<<2)>>2]=x;F=D}while(0);y=y+1|0;G=f[g>>2]|0}while((y|0)<(G|0));if((G|0)>0){y=0;do{x=(f[z+(y<<2)>>2]|0)+(f[F+(y<<2)>>2]|0)|0;A=q+(y<<2)|0;f[A>>2]=x;if((x|0)<=(f[n>>2]|0)){if((x|0)<(f[k>>2]|0)){H=(f[o>>2]|0)+x|0;w=66}}else{H=x-(f[o>>2]|0)|0;w=66}if((w|0)==66){w=0;f[A>>2]=H}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));I=A}else I=G}else I=p}else w=36}else w=36;if((w|0)==36){w=0;y=c+((W(a+-1|0,e)|0)<<2)|0;q=b+(r<<2)|0;z=c+(r<<2)|0;if((p|0)>0){A=0;do{x=f[y+(A<<2)>>2]|0;D=f[n>>2]|0;do if((x|0)<=(D|0)){E=f[k>>2]|0;s=f[m>>2]|0;J=s+(A<<2)|0;if((x|0)<(E|0)){f[J>>2]=E;K=s;break}else{f[J>>2]=x;K=s;break}}else{s=f[m>>2]|0;f[s+(A<<2)>>2]=D;K=s}while(0);A=A+1|0;L=f[g>>2]|0}while((A|0)<(L|0));if((L|0)>0){A=0;do{y=(f[q+(A<<2)>>2]|0)+(f[K+(A<<2)>>2]|0)|0;r=z+(A<<2)|0;f[r>>2]=y;if((y|0)<=(f[n>>2]|0)){if((y|0)<(f[k>>2]|0)){M=(f[o>>2]|0)+y|0;w=50}}else{M=y-(f[o>>2]|0)|0;w=50}if((w|0)==50){w=0;f[r>>2]=M}A=A+1|0;r=f[g>>2]|0}while((A|0)<(r|0));I=r}else I=L}else I=p}a=a+1|0;if((a|0)>=(v|0)){w=23;break}else p=I}if((w|0)==23){Io(h);return 1}else if((w|0)==25)$n(i);return 0}function Yb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[d>>2]|0;j=(f[h>>2]|0)-i>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[h>>2]=i+(e<<2)}else Eg(d,e-j|0);j=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;h=Ho(i)|0;oh(h|0,0,i|0)|0;i=f[g>>2]|0;if((i|0)>0){k=a+16|0;l=a+32|0;m=a+12|0;n=0;do{o=f[h+(n<<2)>>2]|0;p=f[k>>2]|0;do if((o|0)<=(p|0)){q=f[m>>2]|0;r=f[l>>2]|0;s=r+(n<<2)|0;if((o|0)<(q|0)){f[s>>2]=q;t=r;break}else{f[s>>2]=o;t=r;break}}else{r=f[l>>2]|0;f[r+(n<<2)>>2]=p;t=r}while(0);n=n+1|0;u=f[g>>2]|0}while((n|0)<(u|0));if((u|0)>0){n=a+20|0;l=0;do{p=(f[b+(l<<2)>>2]|0)+(f[t+(l<<2)>>2]|0)|0;o=c+(l<<2)|0;f[o>>2]=p;if((p|0)<=(f[k>>2]|0)){if((p|0)<(f[m>>2]|0)){v=(f[n>>2]|0)+p|0;w=19}}else{v=p-(f[n>>2]|0)|0;w=19}if((w|0)==19){w=0;f[o>>2]=v}l=l+1|0;o=f[g>>2]|0}while((l|0)<(o|0));x=o}else x=u}else x=i;i=f[a+56>>2]|0;u=f[i>>2]|0;l=(f[i+4>>2]|0)-u|0;v=l>>2;if((l|0)<=4){Io(h);return 1}l=u;u=a+16|0;n=a+32|0;m=a+12|0;k=j+64|0;t=j+28|0;o=(e|0)>0;p=a+20|0;a=1;r=x;while(1){if(v>>>0<=a>>>0){w=25;break}x=f[l+(a<<2)>>2]|0;s=W(a,e)|0;if((((x|0)!=-1?(f[(f[j>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0)==0:0)?(q=f[(f[(f[k>>2]|0)+12>>2]|0)+(x<<2)>>2]|0,(q|0)!=-1):0)?(x=f[t>>2]|0,y=f[d>>2]|0,z=f[y+(f[x+(q<<2)>>2]<<2)>>2]|0,A=q+1|0,B=f[y+(f[x+((((A>>>0)%3|0|0)==0?q+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[x+((((q>>>0)%3|0|0)==0?2:-1)+q<<2)>>2]<<2)>>2]|0,(z|0)<(a|0)&(B|0)<(a|0)&(A|0)<(a|0)):0){q=W(z,e)|0;z=W(B,e)|0;B=W(A,e)|0;if(o){A=0;do{f[h+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+q<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(s<<2)|0;q=c+(s<<2)|0;if((r|0)>0){z=0;do{B=f[h+(z<<2)>>2]|0;x=f[u>>2]|0;do if((B|0)<=(x|0)){y=f[m>>2]|0;C=f[n>>2]|0;D=C+(z<<2)|0;if((B|0)<(y|0)){f[D>>2]=y;E=C;break}else{f[D>>2]=B;E=C;break}}else{C=f[n>>2]|0;f[C+(z<<2)>>2]=x;E=C}while(0);z=z+1|0;F=f[g>>2]|0}while((z|0)<(F|0));if((F|0)>0){z=0;do{x=(f[A+(z<<2)>>2]|0)+(f[E+(z<<2)>>2]|0)|0;B=q+(z<<2)|0;f[B>>2]=x;if((x|0)<=(f[u>>2]|0)){if((x|0)<(f[m>>2]|0)){G=(f[p>>2]|0)+x|0;w=63}}else{G=x-(f[p>>2]|0)|0;w=63}if((w|0)==63){w=0;f[B>>2]=G}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));H=B}else H=F}else H=r}else{z=c+((W(a+-1|0,e)|0)<<2)|0;q=b+(s<<2)|0;A=c+(s<<2)|0;if((r|0)>0){B=0;do{x=f[z+(B<<2)>>2]|0;C=f[u>>2]|0;do if((x|0)<=(C|0)){D=f[m>>2]|0;y=f[n>>2]|0;I=y+(B<<2)|0;if((x|0)<(D|0)){f[I>>2]=D;J=y;break}else{f[I>>2]=x;J=y;break}}else{y=f[n>>2]|0;f[y+(B<<2)>>2]=C;J=y}while(0);B=B+1|0;K=f[g>>2]|0}while((B|0)<(K|0));if((K|0)>0){B=0;do{z=(f[q+(B<<2)>>2]|0)+(f[J+(B<<2)>>2]|0)|0;s=A+(B<<2)|0;f[s>>2]=z;if((z|0)<=(f[u>>2]|0)){if((z|0)<(f[m>>2]|0)){L=(f[p>>2]|0)+z|0;w=47}}else{L=z-(f[p>>2]|0)|0;w=47}if((w|0)==47){w=0;f[s>>2]=L}B=B+1|0;s=f[g>>2]|0}while((B|0)<(s|0));H=s}else H=K}else H=r}a=a+1|0;if((a|0)>=(v|0)){w=23;break}else r=H}if((w|0)==23){Io(h);return 1}else if((w|0)==25)$n(i);return 0}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=a+216|0;j=a+220|0;k=a+368|0;if((f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0)!=-1){l=f[j>>2]|0;m=f[i>>2]|0;n=m;if((l|0)==(m|0)){o=g;p=d;q=d;r=n;s=n;t=h;v=l;w=l;x=k;y=i;z=j;A=i}else{l=0;do{if(pi((f[k>>2]|0)+(l<<4)|0)|0){n=f[i>>2]|0;f[d>>2]=e;m=n+(l*144|0)+136|0;B=f[m>>2]|0;if(B>>>0<(f[n+(l*144|0)+140>>2]|0)>>>0){f[B>>2]=e;f[m>>2]=B+4}else Ng(n+(l*144|0)+132|0,d)}l=l+1|0;C=f[j>>2]|0;D=f[i>>2]|0}while(l>>>0<((C-D|0)/144|0)>>>0);l=D;o=g;p=d;q=d;r=l;s=l;t=h;v=C;w=D;x=k;y=i;z=j;A=i}}else{E=d;F=k;G=d;H=i;I=g;J=h;K=j;L=i;M=4}}else{i=a+216|0;E=d;F=a+368|0;G=d;H=i;I=-1;J=-1;K=a+220|0;L=i;M=4}if((M|0)==4){M=f[K>>2]|0;i=f[L>>2]|0;a=i;if((M|0)==(i|0)){o=I;p=E;q=G;r=a;s=a;t=J;v=M;w=M;x=F;y=H;z=K;A=L}else{j=0;h=a;g=a;k=M;M=a;a=i;while(1){f[d>>2]=e;i=M+(j*144|0)+136|0;D=f[i>>2]|0;if(D>>>0<(f[M+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=e;f[i>>2]=D+4;N=a;O=h;P=g;Q=a;R=k}else{Ng(M+(j*144|0)+132|0,d);D=f[L>>2]|0;i=D;N=i;O=i;P=i;Q=D;R=f[K>>2]|0}j=j+1|0;if(j>>>0>=((R-Q|0)/144|0)>>>0){o=I;p=E;q=G;r=O;s=P;t=J;v=R;w=Q;x=F;y=H;z=K;A=L;break}else{h=O;g=P;k=R;M=N;a=Q}}}}if((t|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(t<<2)>>2]|0)!=-1:0)if((v|0)==(w|0)){S=w;T=w;U=r}else{Q=0;do{if(pi((f[x>>2]|0)+(Q<<4)|0)|0){a=f[y>>2]|0;f[d>>2]=t;N=a+(Q*144|0)+136|0;M=f[N>>2]|0;if(M>>>0<(f[a+(Q*144|0)+140>>2]|0)>>>0){f[M>>2]=t;f[N>>2]=M+4}else Ng(a+(Q*144|0)+132|0,d)}Q=Q+1|0;V=f[z>>2]|0;W=f[A>>2]|0}while(Q>>>0<((V-W|0)/144|0)>>>0);S=V;T=W;U=W}else if((v|0)==(w|0)){S=w;T=w;U=r}else{W=0;V=w;w=r;r=v;v=s;while(1){f[d>>2]=t;s=v+(W*144|0)+136|0;Q=f[s>>2]|0;if(Q>>>0<(f[v+(W*144|0)+140>>2]|0)>>>0){f[Q>>2]=t;f[s>>2]=Q+4;X=V;Y=V;Z=r;_=w}else{Ng(v+(W*144|0)+132|0,d);Q=f[A>>2]|0;s=Q;X=s;Y=Q;Z=f[z>>2]|0;_=s}W=W+1|0;if(W>>>0>=((Z-Y|0)/144|0)>>>0){S=Z;T=Y;U=_;break}else{V=Y;w=_;r=Z;v=X}}}if((o|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(o<<2)>>2]|0)!=-1:0){if((S|0)==(T|0)){u=c;return 1}b=0;do{if(pi((f[x>>2]|0)+(b<<4)|0)|0){X=f[y>>2]|0;f[d>>2]=o;v=X+(b*144|0)+136|0;Z=f[v>>2]|0;if(Z>>>0<(f[X+(b*144|0)+140>>2]|0)>>>0){f[Z>>2]=o;f[v>>2]=Z+4}else Ng(X+(b*144|0)+132|0,d)}b=b+1|0}while(b>>>0<(((f[z>>2]|0)-(f[A>>2]|0)|0)/144|0)>>>0);u=c;return 1}if((S|0)==(T|0)){u=c;return 1}b=0;y=U;U=T;T=S;while(1){f[d>>2]=o;S=y+(b*144|0)+136|0;x=f[S>>2]|0;if(x>>>0<(f[y+(b*144|0)+140>>2]|0)>>>0){f[x>>2]=o;f[S>>2]=x+4;$=U;aa=T}else{Ng(y+(b*144|0)+132|0,d);$=f[A>>2]|0;aa=f[z>>2]|0}b=b+1|0;if(b>>>0>=((aa-$|0)/144|0)>>>0)break;else{y=$;U=$;T=aa}}u=c;return 1}function _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=u;u=u+16|0;e=d+12|0;g=d;h=d+8|0;i=d+4|0;j=a+8+(b*12|0)|0;k=a+8+(b*12|0)+4|0;f[k>>2]=f[j>>2];l=f[c>>2]|0;m=a+4|0;f[g>>2]=(l|0)==-1?-1:(l>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=0;q=l;r=l;while(1){l=(p|0)==1;if(l){s=(q|0)==-1;do if(!s)if(!((q>>>0)%3|0)){t=q+2|0;break}else{t=q+-1|0;break}else t=-1;while(0);f[h>>2]=t;f[e>>2]=f[h>>2];if((af(a,e)|0)==-1){v=q;break}w=q+1|0;if(s){x=10;break}y=((w>>>0)%3|0|0)==0?q+-2|0:w;f[c>>2]=y;w=y+1|0;if((y|0)==-1){z=q;x=14;break}A=((w>>>0)%3|0|0)==0?y+-2|0:w;if((A|0)==-1){z=q;x=14;break}w=f[(f[(f[m>>2]|0)+12>>2]|0)+(A<<2)>>2]|0;A=w+1|0;if((w|0)==-1){z=q;x=14;break}y=((A>>>0)%3|0|0)==0?w+-2|0:A;f[c>>2]=y;if((y|0)==-1){v=q;break}A=(y>>>0)/3|0;f[g>>2]=A;B=y;C=A}else{B=r;C=f[g>>2]|0}A=(f[n>>2]|0)+(C>>>5<<2)|0;y=1<<(C&31);w=f[A>>2]|0;if(!(y&w)){a:do if(l){D=0;E=q;F=y;G=w;H=A;I=B;while(1){f[H>>2]=G|F;J=f[k>>2]|0;if((J|0)==(f[o>>2]|0))Ng(j,g);else{f[J>>2]=f[g>>2];f[k>>2]=J+4}J=D+1|0;if(!D){K=E;L=I}else{M=(I|0)==-1;do if(!(J&1))if(!M)if(!((I>>>0)%3|0)){N=I+2|0;O=I;break}else{N=I+-1|0;O=I;break}else{N=-1;O=I}else{P=I+1|0;if(M){N=-1;O=E}else{N=((P>>>0)%3|0|0)==0?I+-2|0:P;O=E}}while(0);f[c>>2]=N;K=O;L=N}f[i>>2]=L;f[e>>2]=f[i>>2];M=af(a,e)|0;f[c>>2]=M;if((M|0)==-1){Q=J;R=K;S=-1;break a}P=(M>>>0)/3|0;f[g>>2]=P;H=(f[n>>2]|0)+(P>>>5<<2)|0;F=1<<(P&31);G=f[H>>2]|0;if(F&G|0){Q=J;R=K;S=M;break}else{D=J;E=K;I=M}}}else{I=0;E=B;D=y;G=w;F=A;while(1){f[F>>2]=G|D;H=f[k>>2]|0;if((H|0)==(f[o>>2]|0))Ng(j,g);else{f[H>>2]=f[g>>2];f[k>>2]=H+4}H=I+1|0;if(!I)T=E;else{M=(E|0)==-1;do if(!(H&1))if(!M)if(!((E>>>0)%3|0)){U=E+2|0;break}else{U=E+-1|0;break}else U=-1;else{P=E+1|0;if(M)U=-1;else U=((P>>>0)%3|0|0)==0?E+-2|0:P}while(0);f[c>>2]=U;T=U}f[i>>2]=T;f[e>>2]=f[i>>2];M=af(a,e)|0;f[c>>2]=M;if((M|0)==-1){Q=H;R=q;S=-1;break a}J=(M>>>0)/3|0;f[g>>2]=J;F=(f[n>>2]|0)+(J>>>5<<2)|0;D=1<<(J&31);G=f[F>>2]|0;if(D&G|0){Q=H;R=q;S=M;break}else{I=H;E=M}}}while(0);if((Q&1|0)==0|l^1){V=R;W=S}else{A=(f[k>>2]|0)+-4|0;w=f[A>>2]|0;y=(f[n>>2]|0)+(w>>>5<<2)|0;f[y>>2]=f[y>>2]&~(1<<(w&31));f[k>>2]=A;V=R;W=S}}else{V=q;W=B}p=p+1|0;if(p>>>0>=2){v=V;break}else{q=V;r=W}}if((x|0)==10){f[c>>2]=-1;z=-1;x=14}if((x|0)==14){f[c>>2]=-1;v=z}f[a+44+(b<<2)>>2]=v;v=f[k>>2]|0;k=f[j>>2]|0;j=k;if((v|0)==(k|0)){u=d;return}b=f[n>>2]|0;n=v-k>>2;k=0;do{v=f[j+(k<<2)>>2]|0;a=b+(v>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(v&31));k=k+1|0}while(k>>>0<n>>>0);u=d;return}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+672|0;g=e;i=e+656|0;j=e+4|0;k=c+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=vl(p|0,f[o+4>>2]|0,4,0)|0;o=H;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0<q>>>0){r=0;u=e;return r|0}q=(f[c>>2]|0)+p|0;p=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;b[a>>0]=p;b[a+1>>0]=p>>8;b[a+2>>0]=p>>16;b[a+3>>0]=p>>24;q=l;m=f[q>>2]|0;o=f[q+4>>2]|0;q=vl(m|0,o|0,4,0)|0;n=l;f[n>>2]=q;f[n+4>>2]=H;if(p>>>0>31){r=0;u=e;return r|0}p=k;n=f[p>>2]|0;s=f[p+4>>2]|0;p=vl(m|0,o|0,8,0)|0;o=H;if((s|0)<(o|0)|(s|0)==(o|0)&n>>>0<p>>>0){r=0;u=e;return r|0}p=a+4|0;n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;q=l;p=f[q>>2]|0;n=f[q+4>>2]|0;q=vl(p|0,n|0,4,0)|0;o=l;f[o>>2]=q;f[o+4>>2]=H;o=a+12|0;s=k;m=f[s>>2]|0;t=f[s+4>>2]|0;s=vl(p|0,n|0,8,0)|0;n=H;if((t|0)<(n|0)|(t|0)==(n|0)&m>>>0<s>>>0){r=0;u=e;return r|0}s=(f[c>>2]|0)+q|0;q=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;b[o>>0]=q;b[o+1>>0]=q>>8;b[o+2>>0]=q>>16;b[o+3>>0]=q>>24;s=l;m=f[s>>2]|0;n=f[s+4>>2]|0;s=vl(m|0,n|0,4,0)|0;t=l;f[t>>2]=s;f[t+4>>2]=H;t=a+16|0;a=k;k=f[a>>2]|0;p=f[a+4>>2]|0;a=vl(m|0,n|0,8,0)|0;n=H;if((p|0)<(n|0)|(p|0)==(n|0)&k>>>0<a>>>0){r=0;u=e;return r|0}a=(f[c>>2]|0)+s|0;s=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[t>>0]=s;b[t+1>>0]=s>>8;b[t+2>>0]=s>>16;b[t+3>>0]=s>>24;a=l;k=vl(f[a>>2]|0,f[a+4>>2]|0,4,0)|0;a=l;f[a>>2]=k;f[a+4>>2]=H;if(s>>>0>6){f[g>>2]=s;kl(13491,g)|0;r=0;u=e;return r|0}f[i>>2]=d;a:do if(!q)v=17;else{Tg(d,q);switch(f[t>>2]|0){case 0:{ve(j,3);Kd(j,c,i)|0;Cf(j);v=17;break a;break}case 1:{ve(j,3);Jd(j,c,i)|0;Cf(j);v=17;break a;break}case 2:{we(j,3);Md(j,c,i)|0;Lf(j);v=17;break a;break}case 3:{we(j,3);Ld(j,c,i)|0;Lf(j);v=17;break a;break}case 4:{re(j,3);Id(j,c,i)|0;jg(j);v=17;break a;break}case 5:{re(j,3);Hd(j,c,i)|0;jg(j);v=17;break a;break}case 6:{re(j,3);Gd(j,c,i)|0;jg(j);v=17;break a;break}default:{w=0;break a}}}while(0);if((v|0)==17)w=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[o>>2]|0);r=w;u=e;return r|0}function ac(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=Ia,y=Ia,z=Ia,A=Ia,B=0,C=0,D=0,E=Ia,F=Ia,G=Ia,H=Ia,J=Ia,L=Ia,M=Ia,N=Ia,O=Ia,P=Ia,Q=Ia,R=0,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+52>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)$n(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)$n(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r){p=a+72|0;c=f[p>>2]|0;t=W(c,o)|0;v=p;w=c}else{if((e|0)>0){c=a+72|0;p=f[c>>2]|0;t=W(p,e+-1|0)|0;v=c;w=p;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);if((w|0)<=0){u=g;return}w=f[a+68>>2]|0;r=0;do{f[w+(r<<2)>>2]=f[d+(r+t<<2)>>2];r=r+1|0}while((r|0)<(f[v>>2]|0));u=g;return}v=f[a+72>>2]|0;r=W(v,o)|0;x=_(f[d+(r<<2)>>2]|0);y=_(f[d+(r+1<<2)>>2]|0);r=W(v,q)|0;z=_(f[d+(r<<2)>>2]|0);A=_(f[d+(r+1<<2)>>2]|0);if(!(z!=x|A!=y)){r=f[a+68>>2]|0;f[r>>2]=~~z;f[r+4>>2]=~~A;u=g;return}r=a+64|0;d=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=a+60|0;v=f[e>>2]|0;if(!(b[v+84>>0]|0))B=f[(f[v+68>>2]|0)+(d<<2)>>2]|0;else B=d;f[i>>2]=B;B=b[v+24>>0]|0;f[h>>2]=f[i>>2];ob(v,h,B,j)|0;B=f[(f[r>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[e>>2]|0;if(!(b[o+84>>0]|0))C=f[(f[o+68>>2]|0)+(B<<2)>>2]|0;else C=B;f[i>>2]=C;C=b[o+24>>0]|0;f[h>>2]=f[i>>2];ob(o,h,C,k)|0;C=f[(f[r>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[e>>2]|0;if(!(b[q+84>>0]|0))D=f[(f[q+68>>2]|0)+(C<<2)>>2]|0;else D=C;f[i>>2]=D;D=b[q+24>>0]|0;f[h>>2]=f[i>>2];ob(q,h,D,l)|0;E=_(n[l>>2]);F=_(n[k>>2]);G=_(E-F);E=_(n[l+4>>2]);H=_(n[k+4>>2]);J=_(E-H);E=_(n[l+8>>2]);L=_(n[k+8>>2]);M=_(E-L);E=_(_(n[j>>2])-F);F=_(_(n[j+4>>2])-H);H=_(_(n[j+8>>2])-L);L=_(_(_(_(G*G)+_(0.0))+_(J*J))+_(M*M));if(L>_(0.0)?1:(f[a+88>>2]|0)<258){N=_(_(_(_(_(G*E)+_(0.0))+_(J*F))+_(M*H))/L);O=_(E-_(G*N));G=_(F-_(J*N));J=_(H-_(M*N));P=N;Q=_(K(_(_(_(J*J)+_(_(G*G)+_(_(O*O)+_(0.0))))/L)))}else{P=_(0.0);Q=_(0.0)}L=_(z-x);z=_(A-y);A=_(_(L*P)+x);x=_(L*Q);L=_(_(z*P)+y);y=_(z*Q);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;Q=_(-y);z=_(A+(l?y:Q));Q=_(-x);y=_(L+(l?Q:x));if(((n[s>>2]=z,f[s>>2]|0)&2147483647)>>>0>2139095040){l=f[a+68>>2]|0;f[l>>2]=-2147483648;R=l}else{l=~~+I(+(+z+.5));k=f[a+68>>2]|0;f[k>>2]=l;R=k}if(((n[s>>2]=y,f[s>>2]|0)&2147483647)>>>0>2139095040)S=-2147483648;else S=~~+I(+(+y+.5));f[R+4>>2]=S;u=g;return}function bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=Ia,y=Ia,z=Ia,A=Ia,B=0,C=0,D=0,E=Ia,F=Ia,G=Ia,H=Ia,J=Ia,L=Ia,M=Ia,N=Ia,O=Ia,P=Ia,Q=Ia,R=0,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=f[c>>2]|0;c=m+1|0;if((m|0)!=-1){o=((c>>>0)%3|0|0)==0?m+-2|0:c;c=(((m>>>0)%3|0|0)==0?2:-1)+m|0;m=f[a+48>>2]|0;if((o|0)==-1)p=-1;else p=f[(f[m>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=-1;r=p}else{q=f[(f[m>>2]|0)+(c<<2)>>2]|0;r=p}}else{q=-1;r=-1}p=f[a+52>>2]|0;c=f[p>>2]|0;m=(f[p+4>>2]|0)-c>>2;if(m>>>0<=r>>>0)$n(p);o=c;c=f[o+(r<<2)>>2]|0;if(m>>>0<=q>>>0)$n(p);p=f[o+(q<<2)>>2]|0;q=(c|0)<(e|0);if(!(q&(p|0)<(e|0))){do if(q){o=a+72|0;m=f[o>>2]|0;t=W(m,c)|0;v=o;w=m}else{if((e|0)>0){m=a+72|0;o=f[m>>2]|0;t=W(o,e+-1|0)|0;v=m;w=o;break}o=a+72|0;if((f[o>>2]|0)<=0){u=g;return}m=f[a+68>>2]|0;r=0;do{f[m+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[o>>2]|0));u=g;return}while(0);if((w|0)<=0){u=g;return}w=f[a+68>>2]|0;q=0;do{f[w+(q<<2)>>2]=f[d+(q+t<<2)>>2];q=q+1|0}while((q|0)<(f[v>>2]|0));u=g;return}v=f[a+72>>2]|0;q=W(v,c)|0;x=_(f[d+(q<<2)>>2]|0);y=_(f[d+(q+1<<2)>>2]|0);q=W(v,p)|0;z=_(f[d+(q<<2)>>2]|0);A=_(f[d+(q+1<<2)>>2]|0);if(!(z!=x|A!=y)){q=f[a+68>>2]|0;f[q>>2]=~~z;f[q+4>>2]=~~A;u=g;return}q=a+64|0;d=f[(f[q>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=a+60|0;v=f[e>>2]|0;if(!(b[v+84>>0]|0))B=f[(f[v+68>>2]|0)+(d<<2)>>2]|0;else B=d;f[i>>2]=B;B=b[v+24>>0]|0;f[h>>2]=f[i>>2];ob(v,h,B,j)|0;B=f[(f[q>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[e>>2]|0;if(!(b[c+84>>0]|0))C=f[(f[c+68>>2]|0)+(B<<2)>>2]|0;else C=B;f[i>>2]=C;C=b[c+24>>0]|0;f[h>>2]=f[i>>2];ob(c,h,C,k)|0;C=f[(f[q>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;p=f[e>>2]|0;if(!(b[p+84>>0]|0))D=f[(f[p+68>>2]|0)+(C<<2)>>2]|0;else D=C;f[i>>2]=D;D=b[p+24>>0]|0;f[h>>2]=f[i>>2];ob(p,h,D,l)|0;E=_(n[l>>2]);F=_(n[k>>2]);G=_(E-F);E=_(n[l+4>>2]);H=_(n[k+4>>2]);J=_(E-H);E=_(n[l+8>>2]);L=_(n[k+8>>2]);M=_(E-L);E=_(_(n[j>>2])-F);F=_(_(n[j+4>>2])-H);H=_(_(n[j+8>>2])-L);L=_(_(_(_(G*G)+_(0.0))+_(J*J))+_(M*M));if(L>_(0.0)?1:(f[a+88>>2]|0)<258){N=_(_(_(_(_(G*E)+_(0.0))+_(J*F))+_(M*H))/L);O=_(E-_(G*N));G=_(F-_(J*N));J=_(H-_(M*N));P=N;Q=_(K(_(_(_(J*J)+_(_(G*G)+_(_(O*O)+_(0.0))))/L)))}else{P=_(0.0);Q=_(0.0)}L=_(z-x);z=_(A-y);A=_(_(L*P)+x);x=_(L*Q);L=_(_(z*P)+y);y=_(z*Q);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;Q=_(-y);z=_(A+(l?y:Q));Q=_(-x);y=_(L+(l?Q:x));if(((n[s>>2]=z,f[s>>2]|0)&2147483647)>>>0>2139095040){l=f[a+68>>2]|0;f[l>>2]=-2147483648;R=l}else{l=~~+I(+(+z+.5));k=f[a+68>>2]|0;f[k>>2]=l;R=k}if(((n[s>>2]=y,f[s>>2]|0)&2147483647)>>>0>2139095040)S=-2147483648;else S=~~+I(+(+y+.5));f[R+4>>2]=S;u=g;return}function cc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>340){f[e>>2]=g+-341;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;do if((j|0)==(l|0)){n=i;o=f[a>>2]|0;p=o;if(i>>>0>o>>>0){q=((n-p>>2)+1|0)/-2|0;r=i+(q<<2)|0;s=j-n|0;if(!s)t=r;else{Rj(r|0,i|0,s|0)|0;t=(f[g>>2]|0)+(q<<2)|0}q=r+(s>>2<<2)|0;f[e>>2]=q;f[g>>2]=t;v=q;break}q=m-p|0;p=(q|0)==0?1:q>>1;q=p>>>2;do if(p)if(p>>>0>1073741823){s=qa(8)|0;Dm(s,13552);f[s>>2]=4908;ta(s|0,1128,105)}else{w=wk(p<<2)|0;break}else w=0;while(0);s=w;r=w+(q<<2)|0;x=r;y=w+(p<<2)|0;if((i|0)==(j|0)){z=x;A=o}else{B=((j+-4-n|0)>>>2)+1|0;C=r;r=i;while(1){f[C>>2]=f[r>>2];r=r+4|0;if((r|0)==(j|0))break;else C=C+4|0}z=w+(B+q<<2)|0;A=f[a>>2]|0}f[a>>2]=s;f[g>>2]=x;f[e>>2]=z;f[k>>2]=y;if(!A)v=z;else{Ko(A);v=f[e>>2]|0}}else v=j;while(0);f[v>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;v=a+4|0;j=h-(f[v>>2]|0)>>2;A=a+12|0;z=f[A>>2]|0;k=z-(f[a>>2]|0)|0;if(j>>>0>=k>>2>>>0){g=(k|0)==0?1:k>>1;k=c+12|0;f[k>>2]=0;f[c+16>>2]=a+12;do if(g)if(g>>>0>1073741823){w=qa(8)|0;Dm(w,13552);f[w>>2]=4908;ta(w|0,1128,105)}else{D=wk(g<<2)|0;break}else D=0;while(0);f[c>>2]=D;w=D+(j<<2)|0;j=c+8|0;f[j>>2]=w;i=c+4|0;f[i>>2]=w;f[k>>2]=D+(g<<2);g=wk(4092)|0;f[d>>2]=g;Ke(c,d);d=f[e>>2]|0;g=f[v>>2]|0;if((d|0)==(g|0)){E=g;F=d}else{g=d;do{g=g+-4|0;ue(c,g);G=f[v>>2]|0}while((g|0)!=(G|0));E=G;F=f[e>>2]|0}G=E;g=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=g;f[v>>2]=f[i>>2];f[i>>2]=G;f[e>>2]=f[j>>2];f[j>>2]=F;i=f[A>>2]|0;f[A>>2]=f[k>>2];f[k>>2]=i;i=F;if((E|0)!=(i|0))f[j>>2]=i+(~((i+-4-G|0)>>>2)<<2);if(g|0)Ko(g);u=b;return}if((z|0)!=(h|0)){h=wk(4092)|0;f[c>>2]=h;Ke(a,c);u=b;return}h=wk(4092)|0;f[c>>2]=h;ue(a,c);c=f[v>>2]|0;h=f[c>>2]|0;z=c+4|0;f[v>>2]=z;c=f[e>>2]|0;g=f[A>>2]|0;G=g;do if((c|0)==(g|0)){i=z;j=f[a>>2]|0;E=j;if(z>>>0>j>>>0){F=((i-E>>2)+1|0)/-2|0;k=z+(F<<2)|0;d=c-i|0;if(!d)H=k;else{Rj(k|0,z|0,d|0)|0;H=(f[v>>2]|0)+(F<<2)|0}F=k+(d>>2<<2)|0;f[e>>2]=F;f[v>>2]=H;I=F;break}F=G-E|0;E=(F|0)==0?1:F>>1;F=E>>>2;do if(E)if(E>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{J=wk(E<<2)|0;break}else J=0;while(0);y=J;x=J+(F<<2)|0;s=x;q=J+(E<<2)|0;if((z|0)==(c|0)){K=s;L=j}else{B=((c+-4-i|0)>>>2)+1|0;d=x;x=z;while(1){f[d>>2]=f[x>>2];x=x+4|0;if((x|0)==(c|0))break;else d=d+4|0}K=J+(B+F<<2)|0;L=f[a>>2]|0}f[a>>2]=y;f[v>>2]=s;f[e>>2]=K;f[A>>2]=q;if(!L)I=K;else{Ko(L);I=f[e>>2]|0}}else I=c;while(0);f[I>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;$n(z)}l=0;A=a;while(1){f[j>>2]=f[A+(l<<2)>>2];f[d>>2]=f[j>>2];Ob(k,d,h);a=f[h>>2]|0;B=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=vl(D|0,((D|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;B=f[o>>2]|0;D=(B|0)>-1;F=D?B:0-B|0;B=vl(E|0,H|0,F|0,((F|0)<0)<<31>>31|0)|0;F=H;do if(!((B|0)==0&(F|0)==0)){E=f[p>>2]|0;G=((E|0)<0)<<31>>31;I=Bk(E|0,G|0,a|0,((a|0)<0)<<31>>31|0)|0;J=ni(I|0,H|0,B|0,F|0)|0;f[h>>2]=J;I=Bk(E|0,G|0,C|0,((C|0)<0)<<31>>31|0)|0;G=ni(I|0,H|0,B|0,F|0)|0;f[m>>2]=G;I=E-((J|0)>-1?J:0-J|0)-((G|0)>-1?G:0-G|0)|0;if(D){f[o>>2]=I;break}else{f[o>>2]=0-I;break}}else f[h>>2]=f[p>>2];while(0);D=pi(q)|0;F=f[h>>2]|0;if(D){D=0-F|0;B=0-(f[m>>2]|0)|0;C=0-(f[o>>2]|0)|0;f[h>>2]=D;f[m>>2]=B;f[o>>2]=C;K=D;L=B}else{K=F;L=f[m>>2]|0}do if((K|0)<=-1){if((L|0)<0){F=f[o>>2]|0;M=(F|0)>-1?F:0-F|0;N=F}else{F=f[o>>2]|0;M=(f[s>>2]|0)-((F|0)>-1?F:0-F|0)|0;N=F}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[s>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{F=f[p>>2]|0;O=(f[o>>2]|0)+F|0;P=F+L|0}while(0);F=(P|0)==0;B=(O|0)==0;D=f[s>>2]|0;do if(O|P){C=(D|0)==(O|0);if(!(F&C)){a=(D|0)==(P|0);if(!(B&a)){if(F?(I=f[p>>2]|0,(I|0)<(O|0)):0){Q=0;R=(I<<1)-O|0;break}if(a?(a=f[p>>2]|0,(a|0)>(O|0)):0){Q=P;R=(a<<1)-O|0;break}if(C?(C=f[p>>2]|0,(C|0)>(P|0)):0){Q=(C<<1)-P|0;R=O;break}if(B){C=f[p>>2]|0;Q=(C|0)<(P|0)?(C<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=D;R=D}while(0);f[i>>2]=Q;f[r>>2]=R;D=l<<1;B=b+(D<<2)|0;F=c+(D<<2)|0;if((f[t>>2]|0)>0){D=0;C=Q;while(1){a=f[v>>2]|0;do if((C|0)<=(a|0)){I=f[x>>2]|0;G=f[w>>2]|0;J=G+(D<<2)|0;if((C|0)<(I|0)){f[J>>2]=I;S=G;break}else{f[J>>2]=C;S=G;break}}else{G=f[w>>2]|0;f[G+(D<<2)>>2]=a;S=G}while(0);a=D+1|0;T=f[t>>2]|0;if((a|0)>=(T|0))break;D=a;C=f[i+(a<<2)>>2]|0}if((T|0)>0){C=0;do{D=(f[B+(C<<2)>>2]|0)+(f[S+(C<<2)>>2]|0)|0;a=F+(C<<2)|0;f[a>>2]=D;if((D|0)<=(f[v>>2]|0)){if((D|0)<(f[x>>2]|0)){U=(f[y>>2]|0)+D|0;V=51}}else{U=D-(f[y>>2]|0)|0;V=51}if((V|0)==51){V=0;f[a>>2]=U}C=C+1|0}while((C|0)<(f[t>>2]|0))}}l=l+1|0;if((l|0)>=(n|0)){V=4;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=l>>>0){z=C;V=5;break}}if((V|0)==4){u=e;return 1}else if((V|0)==5)$n(z);return 0}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;$n(z)}l=0;A=a;while(1){f[j>>2]=f[A+(l<<2)>>2];f[d>>2]=f[j>>2];Mb(k,d,h);a=f[h>>2]|0;B=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=vl(D|0,((D|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;B=f[o>>2]|0;D=(B|0)>-1;F=D?B:0-B|0;B=vl(E|0,H|0,F|0,((F|0)<0)<<31>>31|0)|0;F=H;do if(!((B|0)==0&(F|0)==0)){E=f[p>>2]|0;G=((E|0)<0)<<31>>31;I=Bk(E|0,G|0,a|0,((a|0)<0)<<31>>31|0)|0;J=ni(I|0,H|0,B|0,F|0)|0;f[h>>2]=J;I=Bk(E|0,G|0,C|0,((C|0)<0)<<31>>31|0)|0;G=ni(I|0,H|0,B|0,F|0)|0;f[m>>2]=G;I=E-((J|0)>-1?J:0-J|0)-((G|0)>-1?G:0-G|0)|0;if(D){f[o>>2]=I;break}else{f[o>>2]=0-I;break}}else f[h>>2]=f[p>>2];while(0);D=pi(q)|0;F=f[h>>2]|0;if(D){D=0-F|0;B=0-(f[m>>2]|0)|0;C=0-(f[o>>2]|0)|0;f[h>>2]=D;f[m>>2]=B;f[o>>2]=C;K=D;L=B}else{K=F;L=f[m>>2]|0}do if((K|0)<=-1){if((L|0)<0){F=f[o>>2]|0;M=(F|0)>-1?F:0-F|0;N=F}else{F=f[o>>2]|0;M=(f[s>>2]|0)-((F|0)>-1?F:0-F|0)|0;N=F}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[s>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{F=f[p>>2]|0;O=(f[o>>2]|0)+F|0;P=F+L|0}while(0);F=(P|0)==0;B=(O|0)==0;D=f[s>>2]|0;do if(O|P){C=(D|0)==(O|0);if(!(F&C)){a=(D|0)==(P|0);if(!(B&a)){if(F?(I=f[p>>2]|0,(I|0)<(O|0)):0){Q=0;R=(I<<1)-O|0;break}if(a?(a=f[p>>2]|0,(a|0)>(O|0)):0){Q=P;R=(a<<1)-O|0;break}if(C?(C=f[p>>2]|0,(C|0)>(P|0)):0){Q=(C<<1)-P|0;R=O;break}if(B){C=f[p>>2]|0;Q=(C|0)<(P|0)?(C<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=D;R=D}while(0);f[i>>2]=Q;f[r>>2]=R;D=l<<1;B=b+(D<<2)|0;F=c+(D<<2)|0;if((f[t>>2]|0)>0){D=0;C=Q;while(1){a=f[v>>2]|0;do if((C|0)<=(a|0)){I=f[x>>2]|0;G=f[w>>2]|0;J=G+(D<<2)|0;if((C|0)<(I|0)){f[J>>2]=I;S=G;break}else{f[J>>2]=C;S=G;break}}else{G=f[w>>2]|0;f[G+(D<<2)>>2]=a;S=G}while(0);a=D+1|0;T=f[t>>2]|0;if((a|0)>=(T|0))break;D=a;C=f[i+(a<<2)>>2]|0}if((T|0)>0){C=0;do{D=(f[B+(C<<2)>>2]|0)+(f[S+(C<<2)>>2]|0)|0;a=F+(C<<2)|0;f[a>>2]=D;if((D|0)<=(f[v>>2]|0)){if((D|0)<(f[x>>2]|0)){U=(f[y>>2]|0)+D|0;V=51}}else{U=D-(f[y>>2]|0)|0;V=51}if((V|0)==51){V=0;f[a>>2]=U}C=C+1|0}while((C|0)<(f[t>>2]|0))}}l=l+1|0;if((l|0)>=(n|0)){V=4;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=l>>>0){z=C;V=5;break}}if((V|0)==4){u=e;return 1}else if((V|0)==5)$n(z);return 0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,5,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0<o>>>0){o=wk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=vl(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=H;k=j;f[k>>2]=n;f[k+4>>2]=o;if(Fi(d,13135,5)|0){k=wk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=13141;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=wk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=vl(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=H;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=wk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=vl(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=H;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=wk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=vl(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=H;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=wk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=vl(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=H;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=vl(k|0,o|0,3,0)|0;o=H;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0<m>>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=vl(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=H;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=wk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}function gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=(e>>>0)/3|0;i=e+((e-(g*3|0)|0)==0?2:-1)|0;j=a+216|0;k=a+220|0;l=a+368|0;m=f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;if((m|0)!=-1)if(((m>>>0)/3|0)>>>0>=g>>>0?(f[k>>2]|0)!=(f[j>>2]|0):0){m=0;do{if(pi((f[l>>2]|0)+(m<<4)|0)|0){n=f[j>>2]|0;f[d>>2]=e;o=n+(m*144|0)+136|0;p=f[o>>2]|0;if(p>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[p>>2]=e;f[o>>2]=p+4}else Ng(n+(m*144|0)+132|0,d)}m=m+1|0}while(m>>>0<(((f[k>>2]|0)-(f[j>>2]|0)|0)/144|0)>>>0);q=g;r=i;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{q=g;r=i;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{A=g;B=d;C=l;D=d;E=j;F=i;G=h;H=k;I=j;J=4}}else{j=a+216|0;A=-1;B=d;C=a+368|0;D=d;E=j;F=-1;G=-1;H=a+220|0;I=j;J=4}if((J|0)==4){j=f[H>>2]|0;a=f[I>>2]|0;if((j|0)==(a|0)){q=A;r=F;s=B;t=D;v=G;w=H;x=I;y=C;z=E}else{k=0;h=j;j=a;while(1){a=j;f[d>>2]=e;i=a+(k*144|0)+136|0;l=f[i>>2]|0;if(l>>>0<(f[a+(k*144|0)+140>>2]|0)>>>0){f[l>>2]=e;f[i>>2]=l+4;K=j;L=h}else{Ng(a+(k*144|0)+132|0,d);K=f[I>>2]|0;L=f[H>>2]|0}k=k+1|0;if(k>>>0>=((L-K|0)/144|0)>>>0){q=A;r=F;s=B;t=D;v=G;w=H;x=I;y=C;z=E;break}else{h=L;j=K}}}}if((v|0)!=-1?(K=f[(f[(f[b>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(K|0)!=-1):0){if(((K>>>0)/3|0)>>>0>=q>>>0?(f[w>>2]|0)!=(f[x>>2]|0):0){K=0;do{if(pi((f[y>>2]|0)+(K<<4)|0)|0){j=f[z>>2]|0;f[d>>2]=v;L=j+(K*144|0)+136|0;h=f[L>>2]|0;if(h>>>0<(f[j+(K*144|0)+140>>2]|0)>>>0){f[h>>2]=v;f[L>>2]=h+4}else Ng(j+(K*144|0)+132|0,d)}K=K+1|0}while(K>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0)}}else J=30;if((J|0)==30?(J=f[w>>2]|0,K=f[x>>2]|0,(J|0)!=(K|0)):0){j=0;h=K;K=J;while(1){J=h;f[d>>2]=v;L=J+(j*144|0)+136|0;E=f[L>>2]|0;if(E>>>0<(f[J+(j*144|0)+140>>2]|0)>>>0){f[E>>2]=v;f[L>>2]=E+4;M=h;N=K}else{Ng(J+(j*144|0)+132|0,d);M=f[x>>2]|0;N=f[w>>2]|0}j=j+1|0;if(j>>>0>=((N-M|0)/144|0)>>>0)break;else{h=M;K=N}}}if((r|0)!=-1?(N=f[(f[(f[b>>2]|0)+12>>2]|0)+(r<<2)>>2]|0,(N|0)!=-1):0){if(((N>>>0)/3|0)>>>0<q>>>0){u=c;return 1}if((f[w>>2]|0)==(f[x>>2]|0)){u=c;return 1}q=0;do{if(pi((f[y>>2]|0)+(q<<4)|0)|0){N=f[z>>2]|0;f[d>>2]=r;b=N+(q*144|0)+136|0;K=f[b>>2]|0;if(K>>>0<(f[N+(q*144|0)+140>>2]|0)>>>0){f[K>>2]=r;f[b>>2]=K+4}else Ng(N+(q*144|0)+132|0,d)}q=q+1|0}while(q>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0);u=c;return 1}q=f[w>>2]|0;z=f[x>>2]|0;if((q|0)==(z|0)){u=c;return 1}y=0;N=z;z=q;while(1){q=N;f[d>>2]=r;K=q+(y*144|0)+136|0;b=f[K>>2]|0;if(b>>>0<(f[q+(y*144|0)+140>>2]|0)>>>0){f[b>>2]=r;f[K>>2]=b+4;O=N;P=z}else{Ng(q+(y*144|0)+132|0,d);O=f[x>>2]|0;P=f[w>>2]|0}y=y+1|0;if(y>>>0>=((P-O|0)/144|0)>>>0)break;else{N=O;z=P}}u=c;return 1}function hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 1:{c=wk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];b=c+32|0;f[b>>2]=0;i=c+36|0;f[i>>2]=0;j=c+40|0;f[j>>2]=0;k=f[e+24>>2]|0;l=(f[e+28>>2]|0)-k|0;m=l>>2;if(l|0){if(m>>>0>1073741823)$n(b);n=wk(l)|0;f[i>>2]=n;f[b>>2]=n;f[j>>2]=n+(m<<2);if((l|0)>0){Bf(n|0,k|0,l|0)|0;f[i>>2]=n+(l>>>2<<2)}}l=c+44|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];f[l+8>>2]=f[g+8>>2];f[l+12>>2]=f[g+12>>2];f[c>>2]=2096;o=c;f[a>>2]=o;return}case 2:{c=wk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;l=c+8|0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];f[l+16>>2]=f[e+16>>2];f[l+20>>2]=f[e+20>>2];l=c+32|0;f[l>>2]=0;n=c+36|0;f[n>>2]=0;i=c+40|0;f[i>>2]=0;k=f[e+24>>2]|0;m=(f[e+28>>2]|0)-k|0;j=m>>2;if(m|0){if(j>>>0>1073741823)$n(l);b=wk(m)|0;f[n>>2]=b;f[l>>2]=b;f[i>>2]=b+(j<<2);if((m|0)>0){Bf(b|0,k|0,m|0)|0;f[n>>2]=b+(m>>>2<<2)}}m=c+44|0;f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];f[m+12>>2]=f[g+12>>2];f[c>>2]=2152;o=c;f[a>>2]=o;return}case 4:{c=wk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[m+16>>2]=f[e+16>>2];f[m+20>>2]=f[e+20>>2];m=c+32|0;f[m>>2]=0;b=c+36|0;f[b>>2]=0;n=c+40|0;f[n>>2]=0;k=f[e+24>>2]|0;j=(f[e+28>>2]|0)-k|0;i=j>>2;if(j|0){if(i>>>0>1073741823)$n(m);l=wk(j)|0;f[b>>2]=l;f[m>>2]=l;f[n>>2]=l+(i<<2);if((j|0)>0){Bf(l|0,k|0,j|0)|0;f[b>>2]=l+(j>>>2<<2)}}j=c+44|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];f[j+8>>2]=f[g+8>>2];f[j+12>>2]=f[g+12>>2];f[c>>2]=2208;j=c+60|0;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));o=c;f[a>>2]=o;return}case 3:{c=wk(92)|0;j=h&65535;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];h=c+32|0;f[h>>2]=0;l=c+36|0;f[l>>2]=0;b=c+40|0;f[b>>2]=0;k=f[e+24>>2]|0;i=(f[e+28>>2]|0)-k|0;n=i>>2;if(i|0){if(n>>>0>1073741823)$n(h);m=wk(i)|0;f[l>>2]=m;f[h>>2]=m;f[b>>2]=m+(n<<2);if((i|0)>0){Bf(m|0,k|0,i|0)|0;f[l>>2]=m+(i>>>2<<2)}}i=c+44|0;f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[c>>2]=2264;i=c+60|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[c+88>>2]=j;o=c;f[a>>2]=o;return}case 5:{c=wk(104)|0;tf(c,d,e,g);o=c;f[a>>2]=o;return}case 6:{c=wk(124)|0;Ze(c,d,e,g);o=c;f[a>>2]=o;return}default:{o=0;f[a>>2]=o;return}}}function ic(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 1:{c=wk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];b=c+32|0;f[b>>2]=0;i=c+36|0;f[i>>2]=0;j=c+40|0;f[j>>2]=0;k=f[e+24>>2]|0;l=(f[e+28>>2]|0)-k|0;m=l>>2;if(l|0){if(m>>>0>1073741823)$n(b);n=wk(l)|0;f[i>>2]=n;f[b>>2]=n;f[j>>2]=n+(m<<2);if((l|0)>0){Bf(n|0,k|0,l|0)|0;f[i>>2]=n+(l>>>2<<2)}}l=c+44|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];f[l+8>>2]=f[g+8>>2];f[l+12>>2]=f[g+12>>2];f[c>>2]=1648;o=c;f[a>>2]=o;return}case 2:{c=wk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;l=c+8|0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];f[l+16>>2]=f[e+16>>2];f[l+20>>2]=f[e+20>>2];l=c+32|0;f[l>>2]=0;n=c+36|0;f[n>>2]=0;i=c+40|0;f[i>>2]=0;k=f[e+24>>2]|0;m=(f[e+28>>2]|0)-k|0;j=m>>2;if(m|0){if(j>>>0>1073741823)$n(l);b=wk(m)|0;f[n>>2]=b;f[l>>2]=b;f[i>>2]=b+(j<<2);if((m|0)>0){Bf(b|0,k|0,m|0)|0;f[n>>2]=b+(m>>>2<<2)}}m=c+44|0;f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];f[m+12>>2]=f[g+12>>2];f[c>>2]=1704;o=c;f[a>>2]=o;return}case 4:{c=wk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[m+16>>2]=f[e+16>>2];f[m+20>>2]=f[e+20>>2];m=c+32|0;f[m>>2]=0;b=c+36|0;f[b>>2]=0;n=c+40|0;f[n>>2]=0;k=f[e+24>>2]|0;j=(f[e+28>>2]|0)-k|0;i=j>>2;if(j|0){if(i>>>0>1073741823)$n(m);l=wk(j)|0;f[b>>2]=l;f[m>>2]=l;f[n>>2]=l+(i<<2);if((j|0)>0){Bf(l|0,k|0,j|0)|0;f[b>>2]=l+(j>>>2<<2)}}j=c+44|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];f[j+8>>2]=f[g+8>>2];f[j+12>>2]=f[g+12>>2];f[c>>2]=1760;j=c+60|0;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));o=c;f[a>>2]=o;return}case 3:{c=wk(92)|0;j=h&65535;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];h=c+32|0;f[h>>2]=0;l=c+36|0;f[l>>2]=0;b=c+40|0;f[b>>2]=0;k=f[e+24>>2]|0;i=(f[e+28>>2]|0)-k|0;n=i>>2;if(i|0){if(n>>>0>1073741823)$n(h);m=wk(i)|0;f[l>>2]=m;f[h>>2]=m;f[b>>2]=m+(n<<2);if((i|0)>0){Bf(m|0,k|0,i|0)|0;f[l>>2]=m+(i>>>2<<2)}}i=c+44|0;f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[c>>2]=1816;i=c+60|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[c+88>>2]=j;o=c;f[a>>2]=o;return}case 5:{c=wk(104)|0;uf(c,d,e,g);o=c;f[a>>2]=o;return}case 6:{c=wk(124)|0;_e(c,d,e,g);o=c;f[a>>2]=o;return}default:{o=0;f[a>>2]=o;return}}}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=(k|0)/3|0;C=f[(f[l>>2]|0)+(B*12|0)+(k-(B*3|0)<<2)>>2]|0;if(!(b[m>>0]|0))D=f[(f[n>>2]|0)+(C<<2)>>2]|0;else D=C;f[g>>2]=D;C=f[d>>2]|0;if(C>>>0<(f[o>>2]|0)>>>0){f[C>>2]=D;f[d>>2]=C+4}else Ng(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))E=k;else{C=k+1|0;B=((C>>>0)%3|0|0)==0?k+-2|0:C;if(((B|0)!=-1?(f[(f[a>>2]|0)+(B>>>5<<2)>>2]&1<<(B&31)|0)==0:0)?(C=f[(f[(f[j>>2]|0)+12>>2]|0)+(B<<2)>>2]|0,B=C+1|0,(C|0)!=-1):0){F=((B>>>0)%3|0|0)==0?C+-2|0:B;f[h>>2]=F;if((F|0)==-1){E=k;break}B=F;while(1){f[g>>2]=B;F=B+1|0;C=((F>>>0)%3|0|0)==0?B+-2|0:F;if((C|0)==-1)break;if(f[(f[a>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(C<<2)>>2]|0;C=F+1|0;if((F|0)==-1)break;G=((C>>>0)%3|0|0)==0?F+-2|0:C;f[h>>2]=G;if((G|0)==-1){E=B;break a}else B=G}f[h>>2]=-1;E=B;break}f[h>>2]=-1;E=k}while(0);f[(f[q>>2]|0)+(E<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))Ng(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;G=f[g>>2]|0;b:do if(((G|0)!=-1?(C=(((G>>>0)%3|0|0)==0?2:-1)+G|0,(C|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(C<<2)>>2]|0,(F|0)!=-1):0){C=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=C;if((C|0)!=-1&(C|0)!=(G|0)){F=A;H=v;I=C;while(1){C=I+1|0;J=((C>>>0)%3|0|0)==0?I+-2|0:C;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){C=F+1|0;K=(I|0)/3|0;L=f[(f[l>>2]|0)+(K*12|0)+(I-(K*3|0)<<2)>>2]|0;if(!(b[m>>0]|0))M=f[(f[n>>2]|0)+(L<<2)>>2]|0;else M=L;f[i>>2]=M;L=f[d>>2]|0;if(L>>>0<(f[o>>2]|0)>>>0){f[L>>2]=M;f[d>>2]=L+4}else Ng(c,i);L=f[s>>2]|0;if((L|0)==(f[t>>2]|0)){Ng(r,h);N=C;O=F;break}else{f[L>>2]=f[h>>2];f[s>>2]=L+4;N=C;O=F;break}}else{N=F;O=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=O;P=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;C=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((C|0)==-1)break;J=f[(f[P+12>>2]|0)+(C<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){Q=N;R=P;break b}else{F=N;H=O}}f[h>>2]=-1;Q=N;R=P}else{Q=A;R=k}}else S=30;while(0);if((S|0)==30){S=0;f[h>>2]=-1;Q=A;R=k}y=Q;z=R}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;d=u;u=u+80|0;e=d+76|0;g=d;i=d+72|0;j=d+64|0;k=d+68|0;l=a+28|0;do if(((h[(f[l>>2]|0)+36>>0]|0)<<8&65535)<512){m=c+8|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=c+16|0;p=m;q=f[p>>2]|0;r=vl(q|0,f[p+4>>2]|0,4,0)|0;p=H;if((o|0)<(p|0)|(o|0)==(p|0)&n>>>0<r>>>0){s=0;u=d;return s|0}else{n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[e>>2]=q;n=m;f[n>>2]=r;f[n+4>>2]=p;t=q;break}}else if(zh(e,c)|0){t=f[e>>2]|0;break}else{s=0;u=d;return s|0}while(0);if(!t){s=0;u=d;return s|0}q=a+4|0;p=a+8|0;n=f[q>>2]|0;r=(f[p>>2]|0)-n>>2;if(t>>>0>r>>>0){Eg(q,t-r|0);if(!(f[e>>2]|0)){s=1;u=d;return s|0}}else if(t>>>0<r>>>0)f[p>>2]=n+(t<<2);t=f[a+32>>2]|0;n=c+8|0;p=c+16|0;r=g+60|0;m=t+8|0;o=a+16|0;v=a+20|0;a=0;while(1){w=n;x=f[w>>2]|0;y=f[w+4>>2]|0;w=p;z=f[w>>2]|0;A=f[w+4>>2]|0;if(!((y|0)>(A|0)|(y|0)==(A|0)&x>>>0>z>>>0)){s=0;B=41;break}w=f[c>>2]|0;C=b[w+z>>0]|0;D=vl(z|0,A|0,1,0)|0;E=H;F=p;f[F>>2]=D;f[F+4>>2]=E;if(!((y|0)>(E|0)|(y|0)==(E|0)&x>>>0>D>>>0)){s=0;B=41;break}E=b[w+D>>0]|0;D=vl(z|0,A|0,2,0)|0;F=H;G=p;f[G>>2]=D;f[G+4>>2]=F;if(!((y|0)>(F|0)|(y|0)==(F|0)&x>>>0>D>>>0)){s=0;B=41;break}F=b[w+D>>0]|0;D=vl(z|0,A|0,3,0)|0;G=H;I=p;f[I>>2]=D;f[I+4>>2]=G;if(!((y|0)>(G|0)|(y|0)==(G|0)&x>>>0>D>>>0)){s=0;B=41;break}x=b[w+D>>0]|0;D=vl(z|0,A|0,4,0)|0;A=p;f[A>>2]=D;f[A+4>>2]=H;A=E&255;if((E+-1&255)>10){s=0;B=41;break}oj(g);E=W(Bj(A)|0,F&255)|0;Ih(g,C&255,0,F,A,x<<24>>24!=0,E,((E|0)<0)<<31>>31,0,0);E=f[l>>2]|0;if((((h[E+36>>0]|0)<<8|(h[E+37>>0]|0))&65535)<259){E=n;x=f[E>>2]|0;A=f[E+4>>2]|0;E=p;F=f[E>>2]|0;C=vl(F|0,f[E+4>>2]|0,2,0)|0;E=H;if((A|0)<(E|0)|(A|0)==(E|0)&x>>>0<C>>>0){B=39;break}x=(f[c>>2]|0)+F|0;F=h[x>>0]|h[x+1>>0]<<8;x=p;f[x>>2]=C;f[x+4>>2]=E;E=F&65535;f[i>>2]=E;J=E}else{zh(i,c)|0;J=f[i>>2]|0}f[r>>2]=J;E=wk(96)|0;$i(E,g);f[j>>2]=E;E=ig(t,j)|0;F=f[j>>2]|0;f[j>>2]=0;if(F|0){x=F+88|0;C=f[x>>2]|0;f[x>>2]=0;if(C|0){x=f[C+8>>2]|0;if(x|0){f[C+12>>2]=x;Ko(x)}Ko(C)}C=f[F+68>>2]|0;if(C|0){f[F+72>>2]=C;Ko(C)}C=F+64|0;x=f[C>>2]|0;f[C>>2]=0;if(x|0){C=f[x>>2]|0;if(C|0){f[x+4>>2]=C;Ko(C)}Ko(x)}Ko(F)}f[(f[(f[m>>2]|0)+(E<<2)>>2]|0)+60>>2]=f[i>>2];f[(f[q>>2]|0)+(a<<2)>>2]=E;F=f[o>>2]|0;x=(f[v>>2]|0)-F>>2;C=F;if((E|0)<(x|0))K=C;else{F=E+1|0;f[k>>2]=-1;if(F>>>0<=x>>>0)if(F>>>0<x>>>0){f[v>>2]=C+(F<<2);L=C}else L=C;else{Of(o,F-x|0,k);L=f[o>>2]|0}K=L}f[K+(E<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){s=1;B=41;break}}if((B|0)==39){s=0;u=d;return s|0}else if((B|0)==41){u=d;return s|0}return 0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<<m;f[a+76>>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;$n(y)}n=0;z=x;while(1){f[k>>2]=f[z+(n<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;A=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=vl(C|0,((C|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;A=f[q>>2]|0;C=(A|0)>-1;E=C?A:0-A|0;A=vl(D|0,H|0,E|0,((E|0)<0)<<31>>31|0)|0;E=H;do if(!((A|0)==0&(E|0)==0)){D=f[r>>2]|0;F=((D|0)<0)<<31>>31;G=Bk(D|0,F|0,x|0,((x|0)<0)<<31>>31|0)|0;I=ni(G|0,H|0,A|0,E|0)|0;f[j>>2]=I;G=Bk(D|0,F|0,B|0,((B|0)<0)<<31>>31|0)|0;F=ni(G|0,H|0,A|0,E|0)|0;f[o>>2]=F;G=D-((I|0)>-1?I:0-I|0)-((F|0)>-1?F:0-F|0)|0;if(C){f[q>>2]=G;break}else{f[q>>2]=0-G;break}}else f[j>>2]=f[r>>2];while(0);C=pi(s)|0;E=f[j>>2]|0;if(C){C=0-E|0;A=0-(f[o>>2]|0)|0;B=0-(f[q>>2]|0)|0;f[j>>2]=C;f[o>>2]=A;f[q>>2]=B;J=C;K=A}else{J=E;K=f[o>>2]|0}do if((J|0)<=-1){if((K|0)<0){E=f[q>>2]|0;L=(E|0)>-1?E:0-E|0;M=E}else{E=f[q>>2]|0;L=(f[t>>2]|0)-((E|0)>-1?E:0-E|0)|0;M=E}if((M|0)<0){N=(K|0)>-1?K:0-K|0;O=L;break}else{N=(f[t>>2]|0)-((K|0)>-1?K:0-K|0)|0;O=L;break}}else{E=f[r>>2]|0;N=(f[q>>2]|0)+E|0;O=E+K|0}while(0);E=(O|0)==0;A=(N|0)==0;C=f[t>>2]|0;do if(N|O){B=(C|0)==(N|0);if(!(E&B)){x=(C|0)==(O|0);if(!(A&x)){if(E?(G=f[r>>2]|0,(G|0)<(N|0)):0){P=0;Q=(G<<1)-N|0;break}if(x?(x=f[r>>2]|0,(x|0)>(N|0)):0){P=O;Q=(x<<1)-N|0;break}if(B?(B=f[r>>2]|0,(B|0)>(O|0)):0){P=(B<<1)-O|0;Q=N;break}if(A){B=f[r>>2]|0;P=(B|0)<(O|0)?(B<<1)-O|0:O;Q=0}else{P=O;Q=N}}else{P=O;Q=O}}else{P=N;Q=N}}else{P=C;Q=C}while(0);C=n<<1;A=b+(C<<2)|0;E=c+(C<<2)|0;C=f[A>>2]|0;B=f[A+4>>2]|0;f[h>>2]=P;f[a>>2]=Q;f[i>>2]=C;f[v>>2]=B;Cc(d,l,h,i);f[E>>2]=f[d>>2];f[E+4>>2]=f[w>>2];n=n+1|0;if((n|0)>=(p|0)){R=6;break}E=f[g>>2]|0;z=f[E>>2]|0;if((f[E+4>>2]|0)-z>>2>>>0<=n>>>0){y=E;R=7;break}}if((R|0)==6){u=e;return 1}else if((R|0)==7)$n(y);return 0}function mc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<<m;f[a+76>>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;$n(y)}n=0;z=x;while(1){f[k>>2]=f[z+(n<<2)>>2];f[d>>2]=f[k>>2];Mb(m,d,j);x=f[j>>2]|0;A=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=vl(C|0,((C|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;A=f[q>>2]|0;C=(A|0)>-1;E=C?A:0-A|0;A=vl(D|0,H|0,E|0,((E|0)<0)<<31>>31|0)|0;E=H;do if(!((A|0)==0&(E|0)==0)){D=f[r>>2]|0;F=((D|0)<0)<<31>>31;G=Bk(D|0,F|0,x|0,((x|0)<0)<<31>>31|0)|0;I=ni(G|0,H|0,A|0,E|0)|0;f[j>>2]=I;G=Bk(D|0,F|0,B|0,((B|0)<0)<<31>>31|0)|0;F=ni(G|0,H|0,A|0,E|0)|0;f[o>>2]=F;G=D-((I|0)>-1?I:0-I|0)-((F|0)>-1?F:0-F|0)|0;if(C){f[q>>2]=G;break}else{f[q>>2]=0-G;break}}else f[j>>2]=f[r>>2];while(0);C=pi(s)|0;E=f[j>>2]|0;if(C){C=0-E|0;A=0-(f[o>>2]|0)|0;B=0-(f[q>>2]|0)|0;f[j>>2]=C;f[o>>2]=A;f[q>>2]=B;J=C;K=A}else{J=E;K=f[o>>2]|0}do if((J|0)<=-1){if((K|0)<0){E=f[q>>2]|0;L=(E|0)>-1?E:0-E|0;M=E}else{E=f[q>>2]|0;L=(f[t>>2]|0)-((E|0)>-1?E:0-E|0)|0;M=E}if((M|0)<0){N=(K|0)>-1?K:0-K|0;O=L;break}else{N=(f[t>>2]|0)-((K|0)>-1?K:0-K|0)|0;O=L;break}}else{E=f[r>>2]|0;N=(f[q>>2]|0)+E|0;O=E+K|0}while(0);E=(O|0)==0;A=(N|0)==0;C=f[t>>2]|0;do if(N|O){B=(C|0)==(N|0);if(!(E&B)){x=(C|0)==(O|0);if(!(A&x)){if(E?(G=f[r>>2]|0,(G|0)<(N|0)):0){P=0;Q=(G<<1)-N|0;break}if(x?(x=f[r>>2]|0,(x|0)>(N|0)):0){P=O;Q=(x<<1)-N|0;break}if(B?(B=f[r>>2]|0,(B|0)>(O|0)):0){P=(B<<1)-O|0;Q=N;break}if(A){B=f[r>>2]|0;P=(B|0)<(O|0)?(B<<1)-O|0:O;Q=0}else{P=O;Q=N}}else{P=O;Q=O}}else{P=N;Q=N}}else{P=C;Q=C}while(0);C=n<<1;A=b+(C<<2)|0;E=c+(C<<2)|0;C=f[A>>2]|0;B=f[A+4>>2]|0;f[h>>2]=P;f[a>>2]=Q;f[i>>2]=C;f[v>>2]=B;Cc(d,l,h,i);f[E>>2]=f[d>>2];f[E+4>>2]=f[w>>2];n=n+1|0;if((n|0)>=(p|0)){R=6;break}E=f[g>>2]|0;z=f[E>>2]|0;if((f[E+4>>2]|0)-z>>2>>>0<=n>>>0){y=E;R=7;break}}if((R|0)==6){u=e;return 1}else if((R|0)==7)$n(y);return 0}function nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<<m;f[a+76>>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;$n(y)}n=0;z=x;while(1){f[k>>2]=f[z+(n<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;A=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=vl(C|0,((C|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;A=f[q>>2]|0;C=(A|0)>-1;E=C?A:0-A|0;A=vl(D|0,H|0,E|0,((E|0)<0)<<31>>31|0)|0;E=H;do if(!((A|0)==0&(E|0)==0)){D=f[r>>2]|0;F=((D|0)<0)<<31>>31;G=Bk(D|0,F|0,x|0,((x|0)<0)<<31>>31|0)|0;I=ni(G|0,H|0,A|0,E|0)|0;f[j>>2]=I;G=Bk(D|0,F|0,B|0,((B|0)<0)<<31>>31|0)|0;F=ni(G|0,H|0,A|0,E|0)|0;f[o>>2]=F;G=D-((I|0)>-1?I:0-I|0)-((F|0)>-1?F:0-F|0)|0;if(C){f[q>>2]=G;break}else{f[q>>2]=0-G;break}}else f[j>>2]=f[r>>2];while(0);C=pi(s)|0;E=f[j>>2]|0;if(C){C=0-E|0;A=0-(f[o>>2]|0)|0;B=0-(f[q>>2]|0)|0;f[j>>2]=C;f[o>>2]=A;f[q>>2]=B;J=C;K=A}else{J=E;K=f[o>>2]|0}do if((J|0)<=-1){if((K|0)<0){E=f[q>>2]|0;L=(E|0)>-1?E:0-E|0;M=E}else{E=f[q>>2]|0;L=(f[t>>2]|0)-((E|0)>-1?E:0-E|0)|0;M=E}if((M|0)<0){N=(K|0)>-1?K:0-K|0;O=L;break}else{N=(f[t>>2]|0)-((K|0)>-1?K:0-K|0)|0;O=L;break}}else{E=f[r>>2]|0;N=(f[q>>2]|0)+E|0;O=E+K|0}while(0);E=(O|0)==0;A=(N|0)==0;C=f[t>>2]|0;do if(N|O){B=(C|0)==(N|0);if(!(E&B)){x=(C|0)==(O|0);if(!(A&x)){if(E?(G=f[r>>2]|0,(G|0)<(N|0)):0){P=0;Q=(G<<1)-N|0;break}if(x?(x=f[r>>2]|0,(x|0)>(N|0)):0){P=O;Q=(x<<1)-N|0;break}if(B?(B=f[r>>2]|0,(B|0)>(O|0)):0){P=(B<<1)-O|0;Q=N;break}if(A){B=f[r>>2]|0;P=(B|0)<(O|0)?(B<<1)-O|0:O;Q=0}else{P=O;Q=N}}else{P=O;Q=O}}else{P=N;Q=N}}else{P=C;Q=C}while(0);C=n<<1;A=b+(C<<2)|0;E=c+(C<<2)|0;C=f[A+4>>2]|0;f[d>>2]=f[A>>2];f[a>>2]=C;f[i>>2]=P;f[v>>2]=Q;gd(h,l,i,d);f[E>>2]=f[h>>2];f[E+4>>2]=f[w>>2];n=n+1|0;if((n|0)>=(p|0)){R=6;break}E=f[g>>2]|0;z=f[E>>2]|0;if((f[E+4>>2]|0)-z>>2>>>0<=n>>>0){y=E;R=7;break}}if((R|0)==6){u=e;return 1}else if((R|0)==7)$n(y);return 0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<<m;f[a+76>>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;$n(y)}n=0;z=x;while(1){f[k>>2]=f[z+(n<<2)>>2];f[d>>2]=f[k>>2];Mb(m,d,j);x=f[j>>2]|0;A=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=vl(C|0,((C|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;A=f[q>>2]|0;C=(A|0)>-1;E=C?A:0-A|0;A=vl(D|0,H|0,E|0,((E|0)<0)<<31>>31|0)|0;E=H;do if(!((A|0)==0&(E|0)==0)){D=f[r>>2]|0;F=((D|0)<0)<<31>>31;G=Bk(D|0,F|0,x|0,((x|0)<0)<<31>>31|0)|0;I=ni(G|0,H|0,A|0,E|0)|0;f[j>>2]=I;G=Bk(D|0,F|0,B|0,((B|0)<0)<<31>>31|0)|0;F=ni(G|0,H|0,A|0,E|0)|0;f[o>>2]=F;G=D-((I|0)>-1?I:0-I|0)-((F|0)>-1?F:0-F|0)|0;if(C){f[q>>2]=G;break}else{f[q>>2]=0-G;break}}else f[j>>2]=f[r>>2];while(0);C=pi(s)|0;E=f[j>>2]|0;if(C){C=0-E|0;A=0-(f[o>>2]|0)|0;B=0-(f[q>>2]|0)|0;f[j>>2]=C;f[o>>2]=A;f[q>>2]=B;J=C;K=A}else{J=E;K=f[o>>2]|0}do if((J|0)<=-1){if((K|0)<0){E=f[q>>2]|0;L=(E|0)>-1?E:0-E|0;M=E}else{E=f[q>>2]|0;L=(f[t>>2]|0)-((E|0)>-1?E:0-E|0)|0;M=E}if((M|0)<0){N=(K|0)>-1?K:0-K|0;O=L;break}else{N=(f[t>>2]|0)-((K|0)>-1?K:0-K|0)|0;O=L;break}}else{E=f[r>>2]|0;N=(f[q>>2]|0)+E|0;O=E+K|0}while(0);E=(O|0)==0;A=(N|0)==0;C=f[t>>2]|0;do if(N|O){B=(C|0)==(N|0);if(!(E&B)){x=(C|0)==(O|0);if(!(A&x)){if(E?(G=f[r>>2]|0,(G|0)<(N|0)):0){P=0;Q=(G<<1)-N|0;break}if(x?(x=f[r>>2]|0,(x|0)>(N|0)):0){P=O;Q=(x<<1)-N|0;break}if(B?(B=f[r>>2]|0,(B|0)>(O|0)):0){P=(B<<1)-O|0;Q=N;break}if(A){B=f[r>>2]|0;P=(B|0)<(O|0)?(B<<1)-O|0:O;Q=0}else{P=O;Q=N}}else{P=O;Q=O}}else{P=N;Q=N}}else{P=C;Q=C}while(0);C=n<<1;A=b+(C<<2)|0;E=c+(C<<2)|0;C=f[A+4>>2]|0;f[d>>2]=f[A>>2];f[a>>2]=C;f[i>>2]=P;f[v>>2]=Q;gd(h,l,i,d);f[E>>2]=f[h>>2];f[E+4>>2]=f[w>>2];n=n+1|0;if((n|0)>=(p|0)){R=6;break}E=f[g>>2]|0;z=f[E>>2]|0;if((f[E+4>>2]|0)-z>>2>>>0<=n>>>0){y=E;R=7;break}}if((R|0)==6){u=e;return 1}else if((R|0)==7)$n(y);return 0}function pc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+16|0;g=d;if((j[c+38>>1]|0)<514){i=c+8|0;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}i=b[(f[c>>2]|0)+n>>0]|0;k=vl(n|0,o|0,1,0)|0;o=l;f[o>>2]=k;f[o+4>>2]=H;if(i<<24>>24){p=0;u=d;return p|0}}zh(e,c)|0;i=f[e>>2]|0;if(i){o=a+60|0;td(o,i,0);ym(g);if(rd(g,c)|0){if(f[e>>2]|0){i=0;do{k=pi(g)|0;l=(f[o>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(k)q=f[l>>2]|n;else q=f[l>>2]&~n;f[l>>2]=q;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}r=13}}else r=13;do if((r|0)==13){zh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+72|0;td(q,i,0);ym(g);if(!(rd(g,c)|0))break;if(f[e>>2]|0){i=0;do{o=pi(g)|0;l=(f[q>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(o)s=f[l>>2]|n;else s=f[l>>2]&~n;f[l>>2]=s;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}zh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+84|0;td(q,i,0);ym(g);if(!(rd(g,c)|0))break;if(f[e>>2]|0){i=0;do{l=pi(g)|0;n=(f[q>>2]|0)+(i>>>5<<2)|0;o=1<<(i&31);if(l)t=f[n>>2]|o;else t=f[n>>2]&~o;f[n>>2]=t;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}zh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+96|0;td(q,i,0);ym(g);if(!(rd(g,c)|0))break;if(f[e>>2]|0){i=0;do{n=pi(g)|0;o=(f[q>>2]|0)+(i>>>5<<2)|0;l=1<<(i&31);if(n)v=f[o>>2]|l;else v=f[o>>2]&~l;f[o>>2]=v;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}i=c+8|0;q=f[i>>2]|0;o=f[i+4>>2]|0;i=c+16|0;l=i;n=f[l>>2]|0;k=f[l+4>>2]|0;l=vl(n|0,k|0,4,0)|0;m=H;if((o|0)<(m|0)|(o|0)==(m|0)&q>>>0<l>>>0){p=0;u=d;return p|0}w=f[c>>2]|0;x=w+n|0;y=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=i;f[x>>2]=l;f[x+4>>2]=m;m=vl(n|0,k|0,8,0)|0;k=H;if((o|0)<(k|0)|(o|0)==(k|0)&q>>>0<m>>>0){p=0;u=d;return p|0}q=w+l|0;l=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;q=i;f[q>>2]=m;f[q+4>>2]=k;if((y|0)>(l|0)){p=0;u=d;return p|0}f[a+12>>2]=y;f[a+16>>2]=l;k=wl(l|0,((l|0)<0)<<31>>31|0,y|0,((y|0)<0)<<31>>31|0)|0;y=H;if(!(y>>>0<0|(y|0)==0&k>>>0<2147483647)){p=0;u=d;return p|0}y=k+1|0;f[a+20>>2]=y;k=(y|0)/2|0;l=a+24|0;f[l>>2]=k;f[a+28>>2]=0-k;if(y&1|0){p=1;u=d;return p|0}f[l>>2]=k+-1;p=1;u=d;return p|0}while(0);p=0;u=d;return p|0}function qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ng(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}z=A;while(1){f[d>>2]=z;A=z+1|0;x=((A>>>0)%3|0|0)==0?z+-2|0:A;if((x|0)==-1)break;if(f[(f[a>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=A+1|0;if((A|0)==-1)break;B=((x>>>0)%3|0|0)==0?A+-2|0:x;f[e>>2]=B;if((B|0)==-1){y=z;break a}else z=B}f[e>>2]=-1;y=z;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))Ng(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;B=f[d>>2]|0;b:do if(((B|0)!=-1?(x=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(x|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(x<<2)>>2]|0,(A|0)!=-1):0){x=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=x;if((x|0)!=-1&(x|0)!=(B|0)){A=w;C=x;while(1){x=C+1|0;D=((x>>>0)%3|0|0)==0?C+-2|0:x;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){x=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ng(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ng(n,e);F=x;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=x;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;x=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((x|0)==-1)break;D=f[(f[G+12>>2]|0)+(x<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=28;while(0);if((J|0)==28){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0;e=Ka[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=W(h,e)|0;Yf(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=vl(p|0,q|0,1,0)|0;t=H;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=vl(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=H;w=u&255;v=(Bj(5)|0)==(w|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0<v>>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=vl(B|0,f[x+4>>2]|0,v|0,0)|0;x=H;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0<C>>>0){g=0;return g|0}else{Bf(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=vl(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=H;D=20;break}}v=W(i,w)|0;if(y>>>0<v>>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=wl(C|0,B|0,z|0,x|0)|0;A=H;if((A|0)<0|(A|0)==0&y>>>0<v>>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=0;y=z;z=x;x=B;B=C;while(1){C=vl(y|0,z|0,v|0,0)|0;A=H;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0<C>>>0){E=y;F=z}else{Bf(k+(u<<2)|0,(f[d>>2]|0)+y|0,w|0)|0;C=l;A=vl(f[C>>2]|0,f[C+4>>2]|0,v|0,0)|0;C=H;G=l;f[G>>2]=A;f[G+4>>2]=C;E=A;F=C}C=u+1|0;if((C|0)==(i|0)){D=20;break a}A=j;u=C;y=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0}}}else if(kh(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Ka[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){I=F;J=1;break}Yj(k,i,k);I=F;J=1}while(0);if((D|0)==21){I=a+20|0;J=0}a=f[I>>2]|0;if(a|0){if(!(La[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[I>>2]|0,!(Na[f[(f[J>>2]|0)+44>>2]&31](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function sc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0<o>>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0<o>>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=1048576){if((p|0)!=4194304)f[w>>2]=x+4194304}else Eg(n,1048576-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0<w>>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>1048576){g=0;r=38;break}if(x>>>0<w>>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==1048576|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function tc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0<o>>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0<o>>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;o=x;if(c>>>0>=8192){if((p|0)!=32768)f[w>>2]=o+32768}else Eg(n,8192-c|0);c=a+28|0;o=a+32|0;a=f[c>>2]|0;w=(f[o>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0<w>>>0)f[o>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;o=w;w=(f[p>>2]|0)+w|0;if(w>>>0>8192){g=0;r=38;break}if(o>>>0<w>>>0){p=f[n>>2]|0;a=o;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==8192|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function uc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0<o>>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0<o>>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;o=x;if(c>>>0>=4096){if((p|0)!=16384)f[w>>2]=o+16384}else Eg(n,4096-c|0);c=a+28|0;o=a+32|0;a=f[c>>2]|0;w=(f[o>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0<w>>>0)f[o>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;o=w;w=(f[p>>2]|0)+w|0;if(w>>>0>4096){g=0;r=38;break}if(o>>>0<w>>>0){p=f[n>>2]|0;a=o;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==4096|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function vc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0<o>>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0<o>>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=524288){if((p|0)!=2097152)f[w>>2]=x+2097152}else Eg(n,524288-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0<w>>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>524288){g=0;r=38;break}if(x>>>0<w>>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==524288|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0} +function Va(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4072]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=16328+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[4072]=g&~(1<<i);else{f[n+12>>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4074]|0;if(d>>>0>m>>>0){if(h|0){i=2<<e;n=h<<e&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=16328+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<<j);f[4072]=i;p=i}else{f[n+12>>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[4077]|0;h=m>>>3;l=16328+(h<<1<<2)|0;i=1<<h;if(!(p&i)){f[4072]=p|i;q=l;r=l+8|0}else{i=l+8|0;q=f[i>>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[4074]=j;f[4077]=k;o=e;u=b;return o|0}e=f[4073]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[16592+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=s;h=s;n=(f[s+4>>2]&-8)-d|0;while(1){s=f[i+16>>2]|0;if(!s){l=f[i+20>>2]|0;if(!l)break;else t=l}else t=s;s=(f[t+4>>2]&-8)-d|0;l=s>>>0<n>>>0;i=t;h=l?t:h;n=l?s:n}i=h+d|0;if(i>>>0>h>>>0){s=f[h+24>>2]|0;l=f[h+12>>2]|0;do if((l|0)==(h|0)){j=h+20|0;k=f[j>>2]|0;if(!k){v=h+16|0;w=f[v>>2]|0;if(!w){x=0;break}else{y=w;z=v}}else{y=k;z=j}j=y;k=z;while(1){v=j+20|0;w=f[v>>2]|0;if(!w){A=j+16|0;B=f[A>>2]|0;if(!B)break;else{C=B;D=A}}else{C=w;D=v}j=C;k=D}f[k>>2]=0;x=j}else{v=f[h+8>>2]|0;f[v+12>>2]=l;f[l+8>>2]=v;x=l}while(0);do if(s|0){l=f[h+28>>2]|0;v=16592+(l<<2)|0;if((h|0)==(f[v>>2]|0)){f[v>>2]=x;if(!x){f[4073]=e&~(1<<l);break}}else{l=s+16|0;f[((f[l>>2]|0)==(h|0)?l:s+20|0)>>2]=x;if(!x)break}f[x+24>>2]=s;l=f[h+16>>2]|0;if(l|0){f[x+16>>2]=l;f[l+24>>2]=x}l=f[h+20>>2]|0;if(l|0){f[x+20>>2]=l;f[l+24>>2]=x}}while(0);if(n>>>0<16){s=n+d|0;f[h+4>>2]=s|3;e=h+s+4|0;f[e>>2]=f[e>>2]|1}else{f[h+4>>2]=d|3;f[i+4>>2]=n|1;f[i+n>>2]=n;if(m|0){e=f[4077]|0;s=m>>>3;l=16328+(s<<1<<2)|0;v=1<<s;if(!(v&g)){f[4072]=v|g;E=l;F=l+8|0}else{v=l+8|0;E=f[v>>2]|0;F=v}f[F>>2]=e;f[E+12>>2]=e;f[e+8>>2]=E;f[e+12>>2]=l}f[4074]=n;f[4077]=i}o=h+8|0;u=b;return o|0}else G=d}else G=d}else G=d}else if(a>>>0<=4294967231){l=a+11|0;e=l&-8;v=f[4073]|0;if(v){s=0-e|0;w=l>>>8;if(w)if(e>>>0>16777215)H=31;else{l=(w+1048320|0)>>>16&8;A=w<<l;w=(A+520192|0)>>>16&4;B=A<<w;A=(B+245760|0)>>>16&2;I=14-(w|l|A)+(B<<A>>>15)|0;H=e>>>(I+7|0)&1|I<<1}else H=0;I=f[16592+(H<<2)>>2]|0;a:do if(!I){J=0;K=0;L=s;M=61}else{A=0;B=s;l=I;w=e<<((H|0)==31?0:25-(H>>>1)|0);N=0;while(1){O=(f[l+4>>2]&-8)-e|0;if(O>>>0<B>>>0)if(!O){P=l;Q=0;R=l;M=65;break a}else{S=l;T=O}else{S=A;T=B}O=f[l+20>>2]|0;l=f[l+16+(w>>>31<<2)>>2]|0;U=(O|0)==0|(O|0)==(l|0)?N:O;if(!l){J=U;K=S;L=T;M=61;break}else{A=S;B=T;w=w<<1;N=U}}}while(0);if((M|0)==61){if((J|0)==0&(K|0)==0){I=2<<H;s=(I|0-I)&v;if(!s){G=e;break}I=(s&0-s)+-1|0;s=I>>>12&16;d=I>>>s;I=d>>>5&8;h=d>>>I;d=h>>>2&4;i=h>>>d;h=i>>>1&2;n=i>>>h;i=n>>>1&1;V=0;W=f[16592+((I|s|d|h|i)+(n>>>i)<<2)>>2]|0}else{V=K;W=J}if(!W){X=V;Y=L}else{P=V;Q=L;R=W;M=65}}if((M|0)==65){i=P;n=Q;h=R;while(1){d=(f[h+4>>2]&-8)-e|0;s=d>>>0<n>>>0;I=s?d:n;d=s?h:i;s=f[h+16>>2]|0;if(!s)Z=f[h+20>>2]|0;else Z=s;if(!Z){X=d;Y=I;break}else{i=d;n=I;h=Z}}}if(((X|0)!=0?Y>>>0<((f[4074]|0)-e|0)>>>0:0)?(h=X+e|0,h>>>0>X>>>0):0){n=f[X+24>>2]|0;i=f[X+12>>2]|0;do if((i|0)==(X|0)){I=X+20|0;d=f[I>>2]|0;if(!d){s=X+16|0;g=f[s>>2]|0;if(!g){_=0;break}else{$=g;aa=s}}else{$=d;aa=I}I=$;d=aa;while(1){s=I+20|0;g=f[s>>2]|0;if(!g){m=I+16|0;N=f[m>>2]|0;if(!N)break;else{ba=N;ca=m}}else{ba=g;ca=s}I=ba;d=ca}f[d>>2]=0;_=I}else{s=f[X+8>>2]|0;f[s+12>>2]=i;f[i+8>>2]=s;_=i}while(0);do if(n){i=f[X+28>>2]|0;s=16592+(i<<2)|0;if((X|0)==(f[s>>2]|0)){f[s>>2]=_;if(!_){s=v&~(1<<i);f[4073]=s;da=s;break}}else{s=n+16|0;f[((f[s>>2]|0)==(X|0)?s:n+20|0)>>2]=_;if(!_){da=v;break}}f[_+24>>2]=n;s=f[X+16>>2]|0;if(s|0){f[_+16>>2]=s;f[s+24>>2]=_}s=f[X+20>>2]|0;if(s){f[_+20>>2]=s;f[s+24>>2]=_;da=v}else da=v}else da=v;while(0);b:do if(Y>>>0<16){v=Y+e|0;f[X+4>>2]=v|3;n=X+v+4|0;f[n>>2]=f[n>>2]|1}else{f[X+4>>2]=e|3;f[h+4>>2]=Y|1;f[h+Y>>2]=Y;n=Y>>>3;if(Y>>>0<256){v=16328+(n<<1<<2)|0;s=f[4072]|0;i=1<<n;if(!(s&i)){f[4072]=s|i;ea=v;fa=v+8|0}else{i=v+8|0;ea=f[i>>2]|0;fa=i}f[fa>>2]=h;f[ea+12>>2]=h;f[h+8>>2]=ea;f[h+12>>2]=v;break}v=Y>>>8;if(v)if(Y>>>0>16777215)ga=31;else{i=(v+1048320|0)>>>16&8;s=v<<i;v=(s+520192|0)>>>16&4;n=s<<v;s=(n+245760|0)>>>16&2;g=14-(v|i|s)+(n<<s>>>15)|0;ga=Y>>>(g+7|0)&1|g<<1}else ga=0;g=16592+(ga<<2)|0;f[h+28>>2]=ga;s=h+16|0;f[s+4>>2]=0;f[s>>2]=0;s=1<<ga;if(!(da&s)){f[4073]=da|s;f[g>>2]=h;f[h+24>>2]=g;f[h+12>>2]=h;f[h+8>>2]=h;break}s=f[g>>2]|0;c:do if((f[s+4>>2]&-8|0)==(Y|0))ha=s;else{g=Y<<((ga|0)==31?0:25-(ga>>>1)|0);n=s;while(1){ia=n+16+(g>>>31<<2)|0;i=f[ia>>2]|0;if(!i)break;if((f[i+4>>2]&-8|0)==(Y|0)){ha=i;break c}else{g=g<<1;n=i}}f[ia>>2]=h;f[h+24>>2]=n;f[h+12>>2]=h;f[h+8>>2]=h;break b}while(0);s=ha+8|0;I=f[s>>2]|0;f[I+12>>2]=h;f[s>>2]=h;f[h+8>>2]=I;f[h+12>>2]=ha;f[h+24>>2]=0}while(0);o=X+8|0;u=b;return o|0}else G=e}else G=e}else G=-1;while(0);X=f[4074]|0;if(X>>>0>=G>>>0){ha=X-G|0;ia=f[4077]|0;if(ha>>>0>15){Y=ia+G|0;f[4077]=Y;f[4074]=ha;f[Y+4>>2]=ha|1;f[ia+X>>2]=ha;f[ia+4>>2]=G|3}else{f[4074]=0;f[4077]=0;f[ia+4>>2]=X|3;ha=ia+X+4|0;f[ha>>2]=f[ha>>2]|1}o=ia+8|0;u=b;return o|0}ia=f[4075]|0;if(ia>>>0>G>>>0){ha=ia-G|0;f[4075]=ha;X=f[4078]|0;Y=X+G|0;f[4078]=Y;f[Y+4>>2]=ha|1;f[X+4>>2]=G|3;o=X+8|0;u=b;return o|0}if(!(f[4190]|0)){f[4192]=4096;f[4191]=4096;f[4193]=-1;f[4194]=-1;f[4195]=0;f[4183]=0;f[4190]=c&-16^1431655768;ja=4096}else ja=f[4192]|0;c=G+48|0;X=G+47|0;ha=ja+X|0;Y=0-ja|0;ja=ha&Y;if(ja>>>0<=G>>>0){o=0;u=b;return o|0}ga=f[4182]|0;if(ga|0?(da=f[4180]|0,ea=da+ja|0,ea>>>0<=da>>>0|ea>>>0>ga>>>0):0){o=0;u=b;return o|0}d:do if(!(f[4183]&4)){ga=f[4078]|0;e:do if(ga){ea=16736;while(1){da=f[ea>>2]|0;if(da>>>0<=ga>>>0?(da+(f[ea+4>>2]|0)|0)>>>0>ga>>>0:0)break;da=f[ea+8>>2]|0;if(!da){M=128;break e}else ea=da}da=ha-ia&Y;if(da>>>0<2147483647){fa=vj(da|0)|0;if((fa|0)==((f[ea>>2]|0)+(f[ea+4>>2]|0)|0))if((fa|0)==(-1|0))ka=da;else{la=da;ma=fa;M=145;break d}else{na=fa;oa=da;M=136}}else ka=0}else M=128;while(0);do if((M|0)==128){ga=vj(0)|0;if((ga|0)!=(-1|0)?(e=ga,da=f[4191]|0,fa=da+-1|0,_=((fa&e|0)==0?0:(fa+e&0-da)-e|0)+ja|0,e=f[4180]|0,da=_+e|0,_>>>0>G>>>0&_>>>0<2147483647):0){fa=f[4182]|0;if(fa|0?da>>>0<=e>>>0|da>>>0>fa>>>0:0){ka=0;break}fa=vj(_|0)|0;if((fa|0)==(ga|0)){la=_;ma=ga;M=145;break d}else{na=fa;oa=_;M=136}}else ka=0}while(0);do if((M|0)==136){_=0-oa|0;if(!(c>>>0>oa>>>0&(oa>>>0<2147483647&(na|0)!=(-1|0))))if((na|0)==(-1|0)){ka=0;break}else{la=oa;ma=na;M=145;break d}fa=f[4192]|0;ga=X-oa+fa&0-fa;if(ga>>>0>=2147483647){la=oa;ma=na;M=145;break d}if((vj(ga|0)|0)==(-1|0)){vj(_|0)|0;ka=0;break}else{la=ga+oa|0;ma=na;M=145;break d}}while(0);f[4183]=f[4183]|4;pa=ka;M=143}else{pa=0;M=143}while(0);if(((M|0)==143?ja>>>0<2147483647:0)?(ka=vj(ja|0)|0,ja=vj(0)|0,na=ja-ka|0,oa=na>>>0>(G+40|0)>>>0,!((ka|0)==(-1|0)|oa^1|ka>>>0<ja>>>0&((ka|0)!=(-1|0)&(ja|0)!=(-1|0))^1)):0){la=oa?na:pa;ma=ka;M=145}if((M|0)==145){ka=(f[4180]|0)+la|0;f[4180]=ka;if(ka>>>0>(f[4181]|0)>>>0)f[4181]=ka;ka=f[4078]|0;f:do if(ka){pa=16736;while(1){qa=f[pa>>2]|0;ra=f[pa+4>>2]|0;if((ma|0)==(qa+ra|0)){M=154;break}na=f[pa+8>>2]|0;if(!na)break;else pa=na}if(((M|0)==154?(na=pa+4|0,(f[pa+12>>2]&8|0)==0):0)?ma>>>0>ka>>>0&qa>>>0<=ka>>>0:0){f[na>>2]=ra+la;na=(f[4075]|0)+la|0;oa=ka+8|0;ja=(oa&7|0)==0?0:0-oa&7;oa=ka+ja|0;X=na-ja|0;f[4078]=oa;f[4075]=X;f[oa+4>>2]=X|1;f[ka+na+4>>2]=40;f[4079]=f[4194];break}if(ma>>>0<(f[4076]|0)>>>0)f[4076]=ma;na=ma+la|0;X=16736;while(1){if((f[X>>2]|0)==(na|0)){M=162;break}oa=f[X+8>>2]|0;if(!oa)break;else X=oa}if((M|0)==162?(f[X+12>>2]&8|0)==0:0){f[X>>2]=ma;pa=X+4|0;f[pa>>2]=(f[pa>>2]|0)+la;pa=ma+8|0;oa=ma+((pa&7|0)==0?0:0-pa&7)|0;pa=na+8|0;ja=na+((pa&7|0)==0?0:0-pa&7)|0;pa=oa+G|0;c=ja-oa-G|0;f[oa+4>>2]=G|3;g:do if((ka|0)==(ja|0)){Y=(f[4075]|0)+c|0;f[4075]=Y;f[4078]=pa;f[pa+4>>2]=Y|1}else{if((f[4077]|0)==(ja|0)){Y=(f[4074]|0)+c|0;f[4074]=Y;f[4077]=pa;f[pa+4>>2]=Y|1;f[pa+Y>>2]=Y;break}Y=f[ja+4>>2]|0;if((Y&3|0)==1){ia=Y&-8;ha=Y>>>3;h:do if(Y>>>0<256){ga=f[ja+8>>2]|0;_=f[ja+12>>2]|0;if((_|0)==(ga|0)){f[4072]=f[4072]&~(1<<ha);break}else{f[ga+12>>2]=_;f[_+8>>2]=ga;break}}else{ga=f[ja+24>>2]|0;_=f[ja+12>>2]|0;do if((_|0)==(ja|0)){fa=ja+16|0;da=fa+4|0;e=f[da>>2]|0;if(!e){ca=f[fa>>2]|0;if(!ca){sa=0;break}else{ta=ca;ua=fa}}else{ta=e;ua=da}da=ta;e=ua;while(1){fa=da+20|0;ca=f[fa>>2]|0;if(!ca){ba=da+16|0;aa=f[ba>>2]|0;if(!aa)break;else{va=aa;wa=ba}}else{va=ca;wa=fa}da=va;e=wa}f[e>>2]=0;sa=da}else{fa=f[ja+8>>2]|0;f[fa+12>>2]=_;f[_+8>>2]=fa;sa=_}while(0);if(!ga)break;_=f[ja+28>>2]|0;n=16592+(_<<2)|0;do if((f[n>>2]|0)!=(ja|0)){fa=ga+16|0;f[((f[fa>>2]|0)==(ja|0)?fa:ga+20|0)>>2]=sa;if(!sa)break h}else{f[n>>2]=sa;if(sa|0)break;f[4073]=f[4073]&~(1<<_);break h}while(0);f[sa+24>>2]=ga;_=ja+16|0;n=f[_>>2]|0;if(n|0){f[sa+16>>2]=n;f[n+24>>2]=sa}n=f[_+4>>2]|0;if(!n)break;f[sa+20>>2]=n;f[n+24>>2]=sa}while(0);xa=ja+ia|0;ya=ia+c|0}else{xa=ja;ya=c}ha=xa+4|0;f[ha>>2]=f[ha>>2]&-2;f[pa+4>>2]=ya|1;f[pa+ya>>2]=ya;ha=ya>>>3;if(ya>>>0<256){Y=16328+(ha<<1<<2)|0;ea=f[4072]|0;n=1<<ha;if(!(ea&n)){f[4072]=ea|n;za=Y;Aa=Y+8|0}else{n=Y+8|0;za=f[n>>2]|0;Aa=n}f[Aa>>2]=pa;f[za+12>>2]=pa;f[pa+8>>2]=za;f[pa+12>>2]=Y;break}Y=ya>>>8;do if(!Y)Ba=0;else{if(ya>>>0>16777215){Ba=31;break}n=(Y+1048320|0)>>>16&8;ea=Y<<n;ha=(ea+520192|0)>>>16&4;_=ea<<ha;ea=(_+245760|0)>>>16&2;fa=14-(ha|n|ea)+(_<<ea>>>15)|0;Ba=ya>>>(fa+7|0)&1|fa<<1}while(0);Y=16592+(Ba<<2)|0;f[pa+28>>2]=Ba;ia=pa+16|0;f[ia+4>>2]=0;f[ia>>2]=0;ia=f[4073]|0;fa=1<<Ba;if(!(ia&fa)){f[4073]=ia|fa;f[Y>>2]=pa;f[pa+24>>2]=Y;f[pa+12>>2]=pa;f[pa+8>>2]=pa;break}fa=f[Y>>2]|0;i:do if((f[fa+4>>2]&-8|0)==(ya|0))Ca=fa;else{Y=ya<<((Ba|0)==31?0:25-(Ba>>>1)|0);ia=fa;while(1){Da=ia+16+(Y>>>31<<2)|0;ea=f[Da>>2]|0;if(!ea)break;if((f[ea+4>>2]&-8|0)==(ya|0)){Ca=ea;break i}else{Y=Y<<1;ia=ea}}f[Da>>2]=pa;f[pa+24>>2]=ia;f[pa+12>>2]=pa;f[pa+8>>2]=pa;break g}while(0);fa=Ca+8|0;Y=f[fa>>2]|0;f[Y+12>>2]=pa;f[fa>>2]=pa;f[pa+8>>2]=Y;f[pa+12>>2]=Ca;f[pa+24>>2]=0}while(0);o=oa+8|0;u=b;return o|0}pa=16736;while(1){c=f[pa>>2]|0;if(c>>>0<=ka>>>0?(Ea=c+(f[pa+4>>2]|0)|0,Ea>>>0>ka>>>0):0)break;pa=f[pa+8>>2]|0}pa=Ea+-47|0;oa=pa+8|0;c=pa+((oa&7|0)==0?0:0-oa&7)|0;oa=ka+16|0;pa=c>>>0<oa>>>0?ka:c;c=pa+8|0;ja=la+-40|0;na=ma+8|0;X=(na&7|0)==0?0:0-na&7;na=ma+X|0;Y=ja-X|0;f[4078]=na;f[4075]=Y;f[na+4>>2]=Y|1;f[ma+ja+4>>2]=40;f[4079]=f[4194];ja=pa+4|0;f[ja>>2]=27;f[c>>2]=f[4184];f[c+4>>2]=f[4185];f[c+8>>2]=f[4186];f[c+12>>2]=f[4187];f[4184]=ma;f[4185]=la;f[4187]=0;f[4186]=c;c=pa+24|0;do{Y=c;c=c+4|0;f[c>>2]=7}while((Y+8|0)>>>0<Ea>>>0);if((pa|0)!=(ka|0)){c=pa-ka|0;f[ja>>2]=f[ja>>2]&-2;f[ka+4>>2]=c|1;f[pa>>2]=c;Y=c>>>3;if(c>>>0<256){na=16328+(Y<<1<<2)|0;X=f[4072]|0;fa=1<<Y;if(!(X&fa)){f[4072]=X|fa;Fa=na;Ga=na+8|0}else{fa=na+8|0;Fa=f[fa>>2]|0;Ga=fa}f[Ga>>2]=ka;f[Fa+12>>2]=ka;f[ka+8>>2]=Fa;f[ka+12>>2]=na;break}na=c>>>8;if(na)if(c>>>0>16777215)Ha=31;else{fa=(na+1048320|0)>>>16&8;X=na<<fa;na=(X+520192|0)>>>16&4;Y=X<<na;X=(Y+245760|0)>>>16&2;ga=14-(na|fa|X)+(Y<<X>>>15)|0;Ha=c>>>(ga+7|0)&1|ga<<1}else Ha=0;ga=16592+(Ha<<2)|0;f[ka+28>>2]=Ha;f[ka+20>>2]=0;f[oa>>2]=0;X=f[4073]|0;Y=1<<Ha;if(!(X&Y)){f[4073]=X|Y;f[ga>>2]=ka;f[ka+24>>2]=ga;f[ka+12>>2]=ka;f[ka+8>>2]=ka;break}Y=f[ga>>2]|0;j:do if((f[Y+4>>2]&-8|0)==(c|0))Ia=Y;else{ga=c<<((Ha|0)==31?0:25-(Ha>>>1)|0);X=Y;while(1){Ja=X+16+(ga>>>31<<2)|0;fa=f[Ja>>2]|0;if(!fa)break;if((f[fa+4>>2]&-8|0)==(c|0)){Ia=fa;break j}else{ga=ga<<1;X=fa}}f[Ja>>2]=ka;f[ka+24>>2]=X;f[ka+12>>2]=ka;f[ka+8>>2]=ka;break f}while(0);c=Ia+8|0;Y=f[c>>2]|0;f[Y+12>>2]=ka;f[c>>2]=ka;f[ka+8>>2]=Y;f[ka+12>>2]=Ia;f[ka+24>>2]=0}}else{Y=f[4076]|0;if((Y|0)==0|ma>>>0<Y>>>0)f[4076]=ma;f[4184]=ma;f[4185]=la;f[4187]=0;f[4081]=f[4190];f[4080]=-1;f[4085]=16328;f[4084]=16328;f[4087]=16336;f[4086]=16336;f[4089]=16344;f[4088]=16344;f[4091]=16352;f[4090]=16352;f[4093]=16360;f[4092]=16360;f[4095]=16368;f[4094]=16368;f[4097]=16376;f[4096]=16376;f[4099]=16384;f[4098]=16384;f[4101]=16392;f[4100]=16392;f[4103]=16400;f[4102]=16400;f[4105]=16408;f[4104]=16408;f[4107]=16416;f[4106]=16416;f[4109]=16424;f[4108]=16424;f[4111]=16432;f[4110]=16432;f[4113]=16440;f[4112]=16440;f[4115]=16448;f[4114]=16448;f[4117]=16456;f[4116]=16456;f[4119]=16464;f[4118]=16464;f[4121]=16472;f[4120]=16472;f[4123]=16480;f[4122]=16480;f[4125]=16488;f[4124]=16488;f[4127]=16496;f[4126]=16496;f[4129]=16504;f[4128]=16504;f[4131]=16512;f[4130]=16512;f[4133]=16520;f[4132]=16520;f[4135]=16528;f[4134]=16528;f[4137]=16536;f[4136]=16536;f[4139]=16544;f[4138]=16544;f[4141]=16552;f[4140]=16552;f[4143]=16560;f[4142]=16560;f[4145]=16568;f[4144]=16568;f[4147]=16576;f[4146]=16576;Y=la+-40|0;c=ma+8|0;oa=(c&7|0)==0?0:0-c&7;c=ma+oa|0;pa=Y-oa|0;f[4078]=c;f[4075]=pa;f[c+4>>2]=pa|1;f[ma+Y+4>>2]=40;f[4079]=f[4194]}while(0);ma=f[4075]|0;if(ma>>>0>G>>>0){la=ma-G|0;f[4075]=la;ma=f[4078]|0;ka=ma+G|0;f[4078]=ka;f[ka+4>>2]=la|1;f[ma+4>>2]=G|3;o=ma+8|0;u=b;return o|0}}ma=Ro()|0;f[ma>>2]=12;o=0;u=b;return o|0}function Wa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+16|0;k=d+4|0;l=d+48|0;m=d;f[g>>2]=0;n=g+4|0;f[n>>2]=0;o=g+8|0;f[o>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=1065353216;f[k>>2]=0;p=k+4|0;f[p>>2]=0;q=k+8|0;f[q>>2]=0;r=(f[a+216>>2]|0)==(f[a+220>>2]|0);s=a+120|0;t=f[a+124>>2]|0;a:do if((c|0)>0){v=a+232|0;w=a+420|0;x=a+308|0;y=a+400|0;z=a+416|0;A=a+304|0;B=a+296|0;C=a+300|0;D=a+8|0;E=a+36|0;F=a+40|0;G=i+4|0;H=c+-1|0;I=a+388|0;J=0;b:while(1){K=J+1|0;if((f[w>>2]|0)!=-1?pi(y)|0:0){L=f[w>>2]|0;f[z>>2]=L;if(!L)M=17;else{N=L;M=32}}else M=6;c:do if((M|0)==6){M=0;do if(!(b[x>>0]|0))O=1;else{L=f[A>>2]|0;P=f[B>>2]|0;Q=f[C>>2]|0;R=P+(L>>>3)|0;if(R>>>0<Q>>>0?(S=h[R>>0]|0,R=L+1|0,f[A>>2]=R,1<<(L&7)&S|0):0){S=P+(R>>>3)|0;if(S>>>0<Q>>>0){T=(h[S>>0]|0)>>>(R&7)&1;U=L+2|0;f[A>>2]=U;V=T;W=P+(U>>>3)|0;X=U}else{V=0;W=S;X=R}if(W>>>0<Q>>>0){Q=(h[W>>0]|0)>>>(X&7);f[A>>2]=X+1;Y=Q<<1&2}else Y=0;O=(Y|V)<<1|1;break}f[z>>2]=0;M=17;break c}while(0);f[z>>2]=O;N=O;M=32}while(0);d:do if((M|0)==17){M=0;Q=f[n>>2]|0;if((f[g>>2]|0)==(Q|0)){Z=-1;M=196;break a}R=Q+-4|0;Q=f[R>>2]|0;S=f[D>>2]|0;U=(Q|0)==-1;P=Q+1|0;if(!U?(T=((P>>>0)%3|0|0)==0?Q+-2|0:P,(T|0)!=-1):0)_=f[(f[S>>2]|0)+(T<<2)>>2]|0;else _=-1;T=f[S+24>>2]|0;P=f[T+(_<<2)>>2]|0;L=P+1|0;if((P|0)==-1)$=-1;else $=((L>>>0)%3|0|0)==0?P+-2|0:L;L=J*3|0;P=L+1|0;aa=f[S+12>>2]|0;f[aa+(Q<<2)>>2]=P;f[aa+(P<<2)>>2]=Q;ba=L+2|0;f[aa+($<<2)>>2]=ba;f[aa+(ba<<2)>>2]=$;aa=f[S>>2]|0;f[aa+(L<<2)>>2]=_;S=$+1|0;if(($|0)!=-1?(ca=((S>>>0)%3|0|0)==0?$+-2|0:S,(ca|0)!=-1):0)da=f[aa+(ca<<2)>>2]|0;else da=-1;f[aa+(P<<2)>>2]=da;if(!U?(U=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(U|0)!=-1):0){Q=f[aa+(U<<2)>>2]|0;f[aa+(ba<<2)>>2]=Q;if((Q|0)!=-1)f[T+(Q<<2)>>2]=ba}else f[aa+(ba<<2)>>2]=-1;ba=(f[s>>2]|0)+(_>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(_&31));f[R>>2]=L;f[l>>2]=f[R>>2];f[e>>2]=f[l>>2];Tc(v,e)}else if((M|0)==32){M=0;R=(N|0)==5;switch(N|0){case 3:case 5:{L=f[n>>2]|0;if((f[g>>2]|0)==(L|0)){Z=-1;M=196;break a}ba=f[L+-4>>2]|0;L=J*3|0;aa=R?L:L+2|0;Q=L+(R&1)|0;T=(R?2:1)+L|0;R=f[D>>2]|0;U=f[R+12>>2]|0;f[U+(T<<2)>>2]=ba;f[U+(ba<<2)>>2]=T;U=R+24|0;P=R+28|0;ca=f[P>>2]|0;if((ca|0)==(f[R+32>>2]|0)){Ng(U,3280);ea=f[P>>2]|0}else{f[ca>>2]=-1;R=ca+4|0;f[P>>2]=R;ea=R}R=ea-(f[U>>2]|0)|0;U=(R>>2)+-1|0;P=f[D>>2]|0;ca=f[P+24>>2]|0;S=ca;if(((f[P+28>>2]|0)-ca>>2|0)>(t|0)){Z=-1;M=196;break a}ca=f[P>>2]|0;f[ca+(T<<2)>>2]=U;if(R|0)f[S+(U<<2)>>2]=T;if((ba|0)!=-1){T=(((ba>>>0)%3|0|0)==0?2:-1)+ba|0;if((T|0)!=-1){U=f[ca+(T<<2)>>2]|0;f[ca+(aa<<2)>>2]=U;if((U|0)!=-1)f[S+(U<<2)>>2]=aa}else f[ca+(aa<<2)>>2]=-1;U=ba+1|0;S=((U>>>0)%3|0|0)==0?ba+-2|0:U;if((S|0)==-1)fa=-1;else fa=f[ca+(S<<2)>>2]|0}else{f[ca+(aa<<2)>>2]=-1;fa=-1}f[ca+(Q<<2)>>2]=fa;Q=(f[n>>2]|0)+-4|0;f[Q>>2]=L;f[l>>2]=f[Q>>2];f[e>>2]=f[l>>2];Tc(v,e);break}case 1:{Q=f[g>>2]|0;L=f[n>>2]|0;if((Q|0)==(L|0)){Z=-1;M=196;break a}ca=L+-4|0;aa=f[ca>>2]|0;f[n>>2]=ca;S=f[G>>2]|0;e:do if(S){U=S+-1|0;ba=(U&S|0)==0;if(!ba)if(J>>>0<S>>>0)ga=J;else ga=(J>>>0)%(S>>>0)|0;else ga=U&J;T=f[(f[i>>2]|0)+(ga<<2)>>2]|0;if((T|0)!=0?(R=f[T>>2]|0,(R|0)!=0):0){f:do if(ba){T=R;while(1){P=f[T+4>>2]|0;ha=(P|0)==(J|0);if(!(ha|(P&U|0)==(ga|0))){ia=Q;ja=ca;break e}if(ha?(f[T+8>>2]|0)==(J|0):0){ka=T;break f}T=f[T>>2]|0;if(!T){ia=Q;ja=ca;break e}}}else{T=R;while(1){ha=f[T+4>>2]|0;if((ha|0)==(J|0)){if((f[T+8>>2]|0)==(J|0)){ka=T;break f}}else{if(ha>>>0<S>>>0)la=ha;else la=(ha>>>0)%(S>>>0)|0;if((la|0)!=(ga|0)){ia=Q;ja=ca;break e}}T=f[T>>2]|0;if(!T){ia=Q;ja=ca;break e}}}while(0);R=ka+12|0;if((ca|0)==(f[o>>2]|0)){Ng(g,R);ia=f[g>>2]|0;ja=f[n>>2]|0;break}else{f[ca>>2]=f[R>>2];f[n>>2]=L;ia=Q;ja=L;break}}else{ia=Q;ja=ca}}else{ia=Q;ja=ca}while(0);if((ia|0)==(ja|0)){Z=-1;M=196;break a}ca=ja+-4|0;Q=f[ca>>2]|0;L=f[D>>2]|0;S=(Q|0)==-1;if(!S?(f[(f[L+12>>2]|0)+(Q<<2)>>2]|0)!=-1:0){Z=-1;M=196;break a}R=(aa|0)==-1;U=f[L+12>>2]|0;if(!R){ba=U+(aa<<2)|0;if((f[ba>>2]|0)==-1)ma=ba;else{Z=-1;M=196;break a}}else ma=U+-4|0;ba=J*3|0;T=ba+2|0;f[U+(Q<<2)>>2]=T;f[U+(T<<2)>>2]=Q;ha=ba+1|0;f[ma>>2]=ha;f[U+(ha<<2)>>2]=aa;if(!S){S=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;P=f[L>>2]|0;if((S|0)==-1)na=-1;else na=f[P+(S<<2)>>2]|0;f[P+(ba<<2)>>2]=na;S=Q+1|0;oa=((S>>>0)%3|0|0)==0?Q+-2|0:S;if((oa|0)==-1){pa=-1;qa=na;ra=P;sa=L}else{pa=f[P+(oa<<2)>>2]|0;qa=na;ra=P;sa=L}}else{P=f[L>>2]|0;f[P+(ba<<2)>>2]=-1;pa=-1;qa=-1;ra=P;sa=L}f[ra+(ha<<2)>>2]=pa;if(!R){R=(((aa>>>0)%3|0|0)==0?2:-1)+aa|0;if((R|0)!=-1){ha=f[ra+(R<<2)>>2]|0;f[ra+(T<<2)>>2]=ha;if((ha|0)!=-1)f[(f[L+24>>2]|0)+(ha<<2)>>2]=T}else f[ra+(T<<2)>>2]=-1;ha=aa+1|0;R=((ha>>>0)%3|0|0)==0?aa+-2|0:ha;if((R|0)==-1){ta=-1;ua=-1}else{ta=f[ra+(R<<2)>>2]|0;ua=R}}else{f[ra+(T<<2)>>2]=-1;ta=-1;ua=-1}f[e>>2]=ta;T=f[I>>2]|0;R=T+(qa<<2)|0;f[R>>2]=(f[R>>2]|0)+(f[T+(ta<<2)>>2]|0);T=f[L+24>>2]|0;if((qa|0)!=-1)f[T+(qa<<2)>>2]=f[T+(f[e>>2]<<2)>>2];g:do if((ua|0)!=-1){L=f[sa>>2]|0;R=ua;do{f[L+(R<<2)>>2]=qa;ha=R+1|0;P=((ha>>>0)%3|0|0)==0?R+-2|0:ha;if((P|0)==-1)break g;ha=f[U+(P<<2)>>2]|0;P=ha+1|0;if((ha|0)==-1)break g;R=((P>>>0)%3|0|0)==0?ha+-2|0:P}while((R|0)!=-1)}while(0);f[T+(f[e>>2]<<2)>>2]=-1;do if(r){U=f[p>>2]|0;if((U|0)==(f[q>>2]|0)){Ng(k,e);va=(f[n>>2]|0)+-4|0;break}else{f[U>>2]=f[e>>2];f[p>>2]=U+4;va=ca;break}}else va=ca;while(0);f[va>>2]=ba;f[l>>2]=f[va>>2];f[e>>2]=f[l>>2];Tc(v,e);break d;break}case 7:{f[e>>2]=J*3;ca=f[D>>2]|0;T=ca+24|0;U=ca+28|0;aa=f[U>>2]|0;if((aa|0)==(f[ca+32>>2]|0)){Ng(T,3280);wa=f[U>>2]|0}else{f[aa>>2]=-1;ca=aa+4|0;f[U>>2]=ca;wa=ca}ca=wa-(f[T>>2]|0)|0;T=ca>>2;U=T+-1|0;aa=f[D>>2]|0;R=f[e>>2]|0;L=f[aa>>2]|0;f[L+(R<<2)>>2]=U;P=aa+24|0;ha=aa+28|0;oa=f[ha>>2]|0;if((oa|0)==(f[aa+32>>2]|0)){Ng(P,3280);xa=f[ha>>2]|0;ya=f[aa>>2]|0}else{f[oa>>2]=-1;aa=oa+4|0;f[ha>>2]=aa;xa=aa;ya=L}f[ya+(R+1<<2)>>2]=(xa-(f[P>>2]|0)>>2)+-1;P=f[D>>2]|0;R=(f[e>>2]|0)+2|0;L=P+24|0;aa=P+28|0;ha=f[aa>>2]|0;if((ha|0)==(f[P+32>>2]|0)){Ng(L,3280);za=f[aa>>2]|0}else{f[ha>>2]=-1;oa=ha+4|0;f[aa>>2]=oa;za=oa}f[(f[P>>2]|0)+(R<<2)>>2]=(za-(f[L>>2]|0)>>2)+-1;L=f[D>>2]|0;R=f[L+24>>2]|0;P=R;if(((f[L+28>>2]|0)-R>>2|0)>(t|0))break b;R=f[e>>2]|0;if(ca){f[P+(U<<2)>>2]=R;if((ca|0)!=-4){f[P+(T<<2)>>2]=(f[e>>2]|0)+1;ca=T+1|0;if((ca|0)!=-1){Aa=ca;M=119}}else{Aa=0;M=119}}else{f[P+(T<<2)>>2]=R+1;Aa=1;M=119}if((M|0)==119){M=0;f[P+(Aa<<2)>>2]=(f[e>>2]|0)+2}P=f[n>>2]|0;if((P|0)==(f[o>>2]|0)){Ng(g,e);Ba=f[n>>2]|0}else{f[P>>2]=f[e>>2];R=P+4|0;f[n>>2]=R;Ba=R}f[l>>2]=f[Ba+-4>>2];f[e>>2]=f[l>>2];Tc(v,e);break}default:{Z=-1;M=196;break a}}R=c-J+-1|0;P=f[F>>2]|0;if((P|0)!=(f[E>>2]|0)){T=P;do{P=T;ca=P+-12|0;U=f[P+-8>>2]|0;if(U>>>0>R>>>0){Z=-1;M=196;break a}if((U|0)!=(R|0))break d;U=b[P+-4>>0]|0;P=f[ca>>2]|0;f[F>>2]=ca;if((P|0)<0){Z=-1;M=196;break a}ca=f[(f[n>>2]|0)+-4>>2]|0;L=(ca|0)==-1;do if(!(U&1))if(!L)if(!((ca>>>0)%3|0)){Ca=ca+2|0;break}else{Ca=ca+-1|0;break}else Ca=-1;else{oa=ca+1|0;if(L)Ca=-1;else Ca=((oa>>>0)%3|0|0)==0?ca+-2|0:oa}while(0);f[e>>2]=H-P;ca=ed(i,e)|0;f[ca>>2]=Ca;T=f[F>>2]|0}while((T|0)!=(f[E>>2]|0))}}while(0);if((K|0)<(c|0))J=K;else{Da=K;Ea=D;M=139;break a}}Z=-1;M=196}else{Da=0;Ea=a+8|0;M=139}while(0);h:do if((M|0)==139){c=f[Ea>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(t|0)){Ca=f[n>>2]|0;do if((Ca|0)!=(f[g>>2]|0)){l=a+270|0;Ba=a+364|0;o=a+60|0;Aa=a+64|0;za=a+68|0;xa=a+312|0;ya=a+360|0;wa=a+352|0;va=a+356|0;q=a+76|0;r=a+80|0;qa=a+72|0;ua=Da;sa=Ca;i:while(1){ta=sa+-4|0;f[e>>2]=f[ta>>2];f[n>>2]=ta;if((j[l>>1]|0)<514)if(b[Ba>>0]|0){ta=f[ya>>2]|0;ra=(f[wa>>2]|0)+(ta>>>3)|0;if(ra>>>0<(f[va>>2]|0)>>>0){pa=(h[ra>>0]|0)>>>(ta&7)&1;f[ya>>2]=ta+1;Fa=pa;M=147}else M=168}else M=148;else{Fa=(pi(xa)|0)&1;M=147}if((M|0)==147){M=0;if(!Fa)M=168;else M=148}do if((M|0)==148){M=0;pa=f[Ea>>2]|0;ta=f[pa>>2]|0;ra=ta;if((ua|0)>=(((f[pa+4>>2]|0)-ta>>2>>>0)/3|0|0)){M=175;break i}ta=f[e>>2]|0;na=ta+1|0;if((ta|0)!=-1?(ma=((na>>>0)%3|0|0)==0?ta+-2|0:na,(ma|0)!=-1):0)Ga=f[ra+(ma<<2)>>2]|0;else Ga=-1;ma=f[pa+24>>2]|0;na=f[ma+(Ga<<2)>>2]|0;ja=na+1|0;if((na|0)!=-1?(ia=((ja>>>0)%3|0|0)==0?na+-2|0:ja,ja=ia+1|0,(ia|0)!=-1):0){na=((ja>>>0)%3|0|0)==0?ia+-2|0:ja;if((na|0)==-1){Ha=-1;Ia=ia}else{Ha=f[ra+(na<<2)>>2]|0;Ia=ia}}else{Ha=-1;Ia=-1}ia=f[ma+(Ha<<2)>>2]|0;ma=ia+1|0;if((ia|0)!=-1?(na=((ma>>>0)%3|0|0)==0?ia+-2|0:ma,ma=na+1|0,(na|0)!=-1):0){ia=((ma>>>0)%3|0|0)==0?na+-2|0:ma;if((ia|0)==-1){Ja=-1;Ka=na}else{Ja=f[ra+(ia<<2)>>2]|0;Ka=na}}else{Ja=-1;Ka=-1}na=ua*3|0;f[m>>2]=na;ia=f[pa+12>>2]|0;f[ia+(na<<2)>>2]=ta;f[ia+(ta<<2)>>2]=na;na=(f[m>>2]|0)+1|0;f[ia+(na<<2)>>2]=Ia;f[ia+(Ia<<2)>>2]=na;na=(f[m>>2]|0)+2|0;f[ia+(na<<2)>>2]=Ka;f[ia+(Ka<<2)>>2]=na;na=f[m>>2]|0;f[ra+(na<<2)>>2]=Ha;f[ra+(na+1<<2)>>2]=Ja;f[ra+(na+2<<2)>>2]=Ga;ia=(na|0)==-1?-1:Ha;na=f[s>>2]|0;ta=na+(ia>>>5<<2)|0;f[ta>>2]=f[ta>>2]&~(1<<(ia&31));ia=(f[m>>2]|0)+1|0;if((ia|0)==-1)La=-1;else La=f[ra+(ia<<2)>>2]|0;ia=na+(La>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(La&31));ia=(f[m>>2]|0)+2|0;if((ia|0)==-1)Ma=-1;else Ma=f[ra+(ia<<2)>>2]|0;ia=na+(Ma>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(Ma&31));ia=ua+1|0;na=f[Aa>>2]|0;ra=f[za>>2]|0;if((na|0)==(ra<<5|0)){if((na+1|0)<0){M=162;break i}ta=ra<<6;ra=na+32&-32;vg(o,na>>>0<1073741823?(ta>>>0<ra>>>0?ra:ta):2147483647);Na=f[Aa>>2]|0}else Na=na;f[Aa>>2]=Na+1;na=(f[o>>2]|0)+(Na>>>5<<2)|0;f[na>>2]=f[na>>2]|1<<(Na&31);na=f[q>>2]|0;if((na|0)==(f[r>>2]|0))Ng(qa,m);else{f[na>>2]=f[m>>2];f[q>>2]=na+4}Oa=ia}else if((M|0)==168){M=0;ia=f[Aa>>2]|0;na=f[za>>2]|0;if((ia|0)==(na<<5|0)){if((ia+1|0)<0){M=170;break i}ta=na<<6;na=ia+32&-32;vg(o,ia>>>0<1073741823?(ta>>>0<na>>>0?na:ta):2147483647);Pa=f[Aa>>2]|0}else Pa=ia;f[Aa>>2]=Pa+1;ia=(f[o>>2]|0)+(Pa>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(Pa&31));ia=f[q>>2]|0;if((ia|0)==(f[r>>2]|0)){Ng(qa,e);Oa=ua;break}else{f[ia>>2]=f[e>>2];f[q>>2]=ia+4;Oa=ua;break}}while(0);sa=f[n>>2]|0;if((sa|0)==(f[g>>2]|0)){M=177;break}else ua=Oa}if((M|0)==162)$n(o);else if((M|0)==170)$n(o);else if((M|0)==175){Z=-1;M=196;break h}else if((M|0)==177){Qa=Oa;Ra=f[Ea>>2]|0;break}}else{Qa=Da;Ra=c}while(0);if((Qa|0)==(((f[Ra+4>>2]|0)-(f[Ra>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ra+28>>2]|0)-(f[Ra+24>>2]|0)>>2;Ca=f[k>>2]|0;ua=f[p>>2]|0;if((Ca|0)==(ua|0)){Sa=c;Ta=Ca}else{sa=e+4|0;q=e+8|0;qa=e+12|0;r=c;c=Ca;Ca=Ra;while(1){Aa=f[c>>2]|0;za=r+-1|0;xa=f[Ca+24>>2]|0;ya=xa+(za<<2)|0;if((f[ya>>2]|0)==-1){va=r;while(1){wa=va+-1|0;Ba=va+-2|0;l=xa+(Ba<<2)|0;if((f[l>>2]|0)==-1)va=wa;else{Ua=wa;Va=l;Wa=Ba;break}}}else{Ua=r;Va=ya;Wa=za}if(Wa>>>0<Aa>>>0){Xa=Ua;Ya=Ca}else{f[e>>2]=Ca;va=f[Va>>2]|0;f[sa>>2]=va;f[q>>2]=va;b[qa>>0]=1;if((va|0)==-1){Za=xa;_a=Ca}else{o=Ca;Ba=va;do{f[(f[o>>2]|0)+(Ba<<2)>>2]=Aa;Tf(e);Ba=f[q>>2]|0;o=f[Ea>>2]|0}while((Ba|0)!=-1);Za=f[o+24>>2]|0;_a=o}Ba=Za+(Wa<<2)|0;if((Aa|0)!=-1)f[Za+(Aa<<2)>>2]=f[Ba>>2];f[Ba>>2]=-1;Ba=f[s>>2]|0;xa=Ba+(Wa>>>5<<2)|0;za=1<<(Wa&31);ya=Ba+(Aa>>>5<<2)|0;Ba=1<<(Aa&31);if(!(f[xa>>2]&za))$a=f[ya>>2]&~Ba;else $a=f[ya>>2]|Ba;f[ya>>2]=$a;f[xa>>2]=f[xa>>2]&~za;Xa=Ua+-1|0;Ya=_a}c=c+4|0;if((c|0)==(ua|0)){Z=Xa;M=196;break}else{r=Xa;Ca=Ya}}}}else{Z=-1;M=196}}else{Z=-1;M=196}}while(0);if((M|0)==196){Sa=Z;Ta=f[k>>2]|0}if(Ta|0){f[p>>2]=Ta;Ko(Ta)}Ta=f[i+8>>2]|0;if(Ta|0){p=Ta;do{Ta=p;p=f[p>>2]|0;Ko(Ta)}while((p|0)!=0)}p=f[i>>2]|0;f[i>>2]=0;if(p|0)Ko(p);p=f[g>>2]|0;if(!p){u=d;return Sa|0}f[n>>2]=p;Ko(p);u=d;return Sa|0}function Xa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+16|0;k=d+4|0;l=d+48|0;m=d;f[g>>2]=0;n=g+4|0;f[n>>2]=0;o=g+8|0;f[o>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=1065353216;f[k>>2]=0;p=k+4|0;f[p>>2]=0;q=k+8|0;f[q>>2]=0;r=(f[a+216>>2]|0)==(f[a+220>>2]|0);s=a+120|0;t=f[a+124>>2]|0;a:do if((c|0)>0){v=a+232|0;w=a+8|0;x=a+36|0;y=a+40|0;z=i+4|0;A=c+-1|0;B=a+388|0;C=0;b:while(1){D=C+1|0;E=qf(v)|0;c:do if(E){F=(E|0)==5;switch(E|0){case 3:case 5:{G=f[n>>2]|0;if((f[g>>2]|0)==(G|0)){H=-1;I=184;break a}J=f[G+-4>>2]|0;G=C*3|0;K=F?G:G+2|0;L=G+(F&1)|0;M=(F?2:1)+G|0;F=f[w>>2]|0;N=f[F+12>>2]|0;f[N+(M<<2)>>2]=J;f[N+(J<<2)>>2]=M;N=F+24|0;O=F+28|0;P=f[O>>2]|0;if((P|0)==(f[F+32>>2]|0)){Ng(N,3280);Q=f[O>>2]|0}else{f[P>>2]=-1;F=P+4|0;f[O>>2]=F;Q=F}F=Q-(f[N>>2]|0)|0;N=(F>>2)+-1|0;O=f[w>>2]|0;P=f[O+24>>2]|0;R=P;if(((f[O+28>>2]|0)-P>>2|0)>(t|0)){H=-1;I=184;break a}P=f[O>>2]|0;f[P+(M<<2)>>2]=N;if(F|0)f[R+(N<<2)>>2]=M;if((J|0)!=-1){M=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((M|0)!=-1){N=f[P+(M<<2)>>2]|0;f[P+(K<<2)>>2]=N;if((N|0)!=-1)f[R+(N<<2)>>2]=K}else f[P+(K<<2)>>2]=-1;N=J+1|0;R=((N>>>0)%3|0|0)==0?J+-2|0:N;if((R|0)==-1)S=-1;else S=f[P+(R<<2)>>2]|0}else{f[P+(K<<2)>>2]=-1;S=-1}f[P+(L<<2)>>2]=S;L=(f[n>>2]|0)+-4|0;f[L>>2]=G;f[l>>2]=f[L>>2];f[e>>2]=f[l>>2];_c(v,e);break}case 1:{L=f[g>>2]|0;G=f[n>>2]|0;if((L|0)==(G|0)){H=-1;I=184;break a}P=G+-4|0;K=f[P>>2]|0;f[n>>2]=P;R=f[z>>2]|0;d:do if(R){N=R+-1|0;J=(N&R|0)==0;if(!J)if(C>>>0<R>>>0)T=C;else T=(C>>>0)%(R>>>0)|0;else T=N&C;M=f[(f[i>>2]|0)+(T<<2)>>2]|0;if((M|0)!=0?(F=f[M>>2]|0,(F|0)!=0):0){e:do if(J){M=F;while(1){O=f[M+4>>2]|0;U=(O|0)==(C|0);if(!(U|(O&N|0)==(T|0))){V=L;W=P;break d}if(U?(f[M+8>>2]|0)==(C|0):0){X=M;break e}M=f[M>>2]|0;if(!M){V=L;W=P;break d}}}else{M=F;while(1){U=f[M+4>>2]|0;if((U|0)==(C|0)){if((f[M+8>>2]|0)==(C|0)){X=M;break e}}else{if(U>>>0<R>>>0)Y=U;else Y=(U>>>0)%(R>>>0)|0;if((Y|0)!=(T|0)){V=L;W=P;break d}}M=f[M>>2]|0;if(!M){V=L;W=P;break d}}}while(0);F=X+12|0;if((P|0)==(f[o>>2]|0)){Ng(g,F);V=f[g>>2]|0;W=f[n>>2]|0;break}else{f[P>>2]=f[F>>2];f[n>>2]=G;V=L;W=G;break}}else{V=L;W=P}}else{V=L;W=P}while(0);if((V|0)==(W|0)){H=-1;I=184;break a}P=W+-4|0;L=f[P>>2]|0;G=f[w>>2]|0;R=(L|0)==-1;if(!R?(f[(f[G+12>>2]|0)+(L<<2)>>2]|0)!=-1:0){H=-1;I=184;break a}F=(K|0)==-1;N=f[G+12>>2]|0;if(!F){J=N+(K<<2)|0;if((f[J>>2]|0)==-1)Z=J;else{H=-1;I=184;break a}}else Z=N+-4|0;J=C*3|0;M=J+2|0;f[N+(L<<2)>>2]=M;f[N+(M<<2)>>2]=L;U=J+1|0;f[Z>>2]=U;f[N+(U<<2)>>2]=K;if(!R){R=(((L>>>0)%3|0|0)==0?2:-1)+L|0;O=f[G>>2]|0;if((R|0)==-1)_=-1;else _=f[O+(R<<2)>>2]|0;f[O+(J<<2)>>2]=_;R=L+1|0;$=((R>>>0)%3|0|0)==0?L+-2|0:R;if(($|0)==-1){aa=-1;ba=_;ca=O;da=G}else{aa=f[O+($<<2)>>2]|0;ba=_;ca=O;da=G}}else{O=f[G>>2]|0;f[O+(J<<2)>>2]=-1;aa=-1;ba=-1;ca=O;da=G}f[ca+(U<<2)>>2]=aa;if(!F){F=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((F|0)!=-1){U=f[ca+(F<<2)>>2]|0;f[ca+(M<<2)>>2]=U;if((U|0)!=-1)f[(f[G+24>>2]|0)+(U<<2)>>2]=M}else f[ca+(M<<2)>>2]=-1;U=K+1|0;F=((U>>>0)%3|0|0)==0?K+-2|0:U;if((F|0)==-1){ea=-1;fa=-1}else{ea=f[ca+(F<<2)>>2]|0;fa=F}}else{f[ca+(M<<2)>>2]=-1;ea=-1;fa=-1}f[e>>2]=ea;M=f[B>>2]|0;F=M+(ba<<2)|0;f[F>>2]=(f[F>>2]|0)+(f[M+(ea<<2)>>2]|0);M=f[G+24>>2]|0;if((ba|0)!=-1)f[M+(ba<<2)>>2]=f[M+(f[e>>2]<<2)>>2];f:do if((fa|0)!=-1){G=f[da>>2]|0;F=fa;do{f[G+(F<<2)>>2]=ba;U=F+1|0;O=((U>>>0)%3|0|0)==0?F+-2|0:U;if((O|0)==-1)break f;U=f[N+(O<<2)>>2]|0;O=U+1|0;if((U|0)==-1)break f;F=((O>>>0)%3|0|0)==0?U+-2|0:O}while((F|0)!=-1)}while(0);f[M+(f[e>>2]<<2)>>2]=-1;do if(r){N=f[p>>2]|0;if((N|0)==(f[q>>2]|0)){Ng(k,e);ga=(f[n>>2]|0)+-4|0;break}else{f[N>>2]=f[e>>2];f[p>>2]=N+4;ga=P;break}}else ga=P;while(0);f[ga>>2]=J;f[l>>2]=f[ga>>2];f[e>>2]=f[l>>2];_c(v,e);break c;break}case 7:{f[e>>2]=C*3;P=f[w>>2]|0;M=P+24|0;N=P+28|0;K=f[N>>2]|0;if((K|0)==(f[P+32>>2]|0)){Ng(M,3280);ha=f[N>>2]|0}else{f[K>>2]=-1;P=K+4|0;f[N>>2]=P;ha=P}P=ha-(f[M>>2]|0)|0;M=P>>2;N=M+-1|0;K=f[w>>2]|0;F=f[e>>2]|0;G=f[K>>2]|0;f[G+(F<<2)>>2]=N;O=K+24|0;U=K+28|0;$=f[U>>2]|0;if(($|0)==(f[K+32>>2]|0)){Ng(O,3280);ia=f[U>>2]|0;ja=f[K>>2]|0}else{f[$>>2]=-1;K=$+4|0;f[U>>2]=K;ia=K;ja=G}f[ja+(F+1<<2)>>2]=(ia-(f[O>>2]|0)>>2)+-1;O=f[w>>2]|0;F=(f[e>>2]|0)+2|0;G=O+24|0;K=O+28|0;U=f[K>>2]|0;if((U|0)==(f[O+32>>2]|0)){Ng(G,3280);ka=f[K>>2]|0}else{f[U>>2]=-1;$=U+4|0;f[K>>2]=$;ka=$}f[(f[O>>2]|0)+(F<<2)>>2]=(ka-(f[G>>2]|0)>>2)+-1;G=f[w>>2]|0;F=f[G+24>>2]|0;O=F;if(((f[G+28>>2]|0)-F>>2|0)>(t|0))break b;F=f[e>>2]|0;if(P){f[O+(N<<2)>>2]=F;if((P|0)!=-4){f[O+(M<<2)>>2]=(f[e>>2]|0)+1;P=M+1|0;if((P|0)!=-1){la=P;I=107}}else{la=0;I=107}}else{f[O+(M<<2)>>2]=F+1;la=1;I=107}if((I|0)==107){I=0;f[O+(la<<2)>>2]=(f[e>>2]|0)+2}O=f[n>>2]|0;if((O|0)==(f[o>>2]|0)){Ng(g,e);ma=f[n>>2]|0}else{f[O>>2]=f[e>>2];F=O+4|0;f[n>>2]=F;ma=F}f[l>>2]=f[ma+-4>>2];f[e>>2]=f[l>>2];_c(v,e);break}default:{H=-1;I=184;break a}}F=c-C+-1|0;O=f[y>>2]|0;if((O|0)!=(f[x>>2]|0)){M=O;do{O=M;P=O+-12|0;N=f[O+-8>>2]|0;if(N>>>0>F>>>0){H=-1;I=184;break a}if((N|0)!=(F|0))break c;N=b[O+-4>>0]|0;O=f[P>>2]|0;f[y>>2]=P;if((O|0)<0){H=-1;I=184;break a}P=f[(f[n>>2]|0)+-4>>2]|0;G=(P|0)==-1;do if(!(N&1))if(!G)if(!((P>>>0)%3|0)){na=P+2|0;break}else{na=P+-1|0;break}else na=-1;else{$=P+1|0;if(G)na=-1;else na=(($>>>0)%3|0|0)==0?P+-2|0:$}while(0);f[e>>2]=A-O;P=ed(i,e)|0;f[P>>2]=na;M=f[y>>2]|0}while((M|0)!=(f[x>>2]|0))}}else{M=f[n>>2]|0;if((f[g>>2]|0)==(M|0)){H=-1;I=184;break a}F=M+-4|0;M=f[F>>2]|0;J=f[w>>2]|0;P=(M|0)==-1;G=M+1|0;if(!P?(N=((G>>>0)%3|0|0)==0?M+-2|0:G,(N|0)!=-1):0)oa=f[(f[J>>2]|0)+(N<<2)>>2]|0;else oa=-1;N=f[J+24>>2]|0;G=f[N+(oa<<2)>>2]|0;$=G+1|0;if((G|0)==-1)pa=-1;else pa=(($>>>0)%3|0|0)==0?G+-2|0:$;$=C*3|0;G=$+1|0;K=f[J+12>>2]|0;f[K+(M<<2)>>2]=G;f[K+(G<<2)>>2]=M;U=$+2|0;f[K+(pa<<2)>>2]=U;f[K+(U<<2)>>2]=pa;K=f[J>>2]|0;f[K+($<<2)>>2]=oa;J=pa+1|0;if((pa|0)!=-1?(R=((J>>>0)%3|0|0)==0?pa+-2|0:J,(R|0)!=-1):0)qa=f[K+(R<<2)>>2]|0;else qa=-1;f[K+(G<<2)>>2]=qa;if(!P?(P=(((M>>>0)%3|0|0)==0?2:-1)+M|0,(P|0)!=-1):0){M=f[K+(P<<2)>>2]|0;f[K+(U<<2)>>2]=M;if((M|0)!=-1)f[N+(M<<2)>>2]=U}else f[K+(U<<2)>>2]=-1;U=(f[s>>2]|0)+(oa>>>5<<2)|0;f[U>>2]=f[U>>2]&~(1<<(oa&31));f[F>>2]=$;f[l>>2]=f[F>>2];f[e>>2]=f[l>>2];_c(v,e)}while(0);if((D|0)<(c|0))C=D;else{ra=D;sa=w;I=127;break a}}H=-1;I=184}else{ra=0;sa=a+8|0;I=127}while(0);g:do if((I|0)==127){c=f[sa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(t|0)){l=f[n>>2]|0;do if((l|0)!=(f[g>>2]|0)){oa=a+270|0;qa=a+364|0;pa=a+60|0;na=a+64|0;ma=a+68|0;o=a+312|0;la=a+360|0;ka=a+352|0;ia=a+356|0;ja=a+76|0;ha=a+80|0;ga=a+72|0;q=ra;r=l;h:while(1){ba=r+-4|0;f[e>>2]=f[ba>>2];f[n>>2]=ba;if((j[oa>>1]|0)<514)if(b[qa>>0]|0){ba=f[la>>2]|0;fa=(f[ka>>2]|0)+(ba>>>3)|0;if(fa>>>0<(f[ia>>2]|0)>>>0){da=(h[fa>>0]|0)>>>(ba&7)&1;f[la>>2]=ba+1;ta=da;I=135}else I=156}else I=136;else{ta=(pi(o)|0)&1;I=135}if((I|0)==135){I=0;if(!ta)I=156;else I=136}do if((I|0)==136){I=0;da=f[sa>>2]|0;ba=f[da>>2]|0;fa=ba;if((q|0)>=(((f[da+4>>2]|0)-ba>>2>>>0)/3|0|0)){I=163;break h}ba=f[e>>2]|0;ea=ba+1|0;if((ba|0)!=-1?(ca=((ea>>>0)%3|0|0)==0?ba+-2|0:ea,(ca|0)!=-1):0)ua=f[fa+(ca<<2)>>2]|0;else ua=-1;ca=f[da+24>>2]|0;ea=f[ca+(ua<<2)>>2]|0;aa=ea+1|0;if((ea|0)!=-1?(_=((aa>>>0)%3|0|0)==0?ea+-2|0:aa,aa=_+1|0,(_|0)!=-1):0){ea=((aa>>>0)%3|0|0)==0?_+-2|0:aa;if((ea|0)==-1){va=-1;wa=_}else{va=f[fa+(ea<<2)>>2]|0;wa=_}}else{va=-1;wa=-1}_=f[ca+(va<<2)>>2]|0;ca=_+1|0;if((_|0)!=-1?(ea=((ca>>>0)%3|0|0)==0?_+-2|0:ca,ca=ea+1|0,(ea|0)!=-1):0){_=((ca>>>0)%3|0|0)==0?ea+-2|0:ca;if((_|0)==-1){xa=-1;ya=ea}else{xa=f[fa+(_<<2)>>2]|0;ya=ea}}else{xa=-1;ya=-1}ea=q*3|0;f[m>>2]=ea;_=f[da+12>>2]|0;f[_+(ea<<2)>>2]=ba;f[_+(ba<<2)>>2]=ea;ea=(f[m>>2]|0)+1|0;f[_+(ea<<2)>>2]=wa;f[_+(wa<<2)>>2]=ea;ea=(f[m>>2]|0)+2|0;f[_+(ea<<2)>>2]=ya;f[_+(ya<<2)>>2]=ea;ea=f[m>>2]|0;f[fa+(ea<<2)>>2]=va;f[fa+(ea+1<<2)>>2]=xa;f[fa+(ea+2<<2)>>2]=ua;_=(ea|0)==-1?-1:va;ea=f[s>>2]|0;ba=ea+(_>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(_&31));_=(f[m>>2]|0)+1|0;if((_|0)==-1)za=-1;else za=f[fa+(_<<2)>>2]|0;_=ea+(za>>>5<<2)|0;f[_>>2]=f[_>>2]&~(1<<(za&31));_=(f[m>>2]|0)+2|0;if((_|0)==-1)Aa=-1;else Aa=f[fa+(_<<2)>>2]|0;_=ea+(Aa>>>5<<2)|0;f[_>>2]=f[_>>2]&~(1<<(Aa&31));_=q+1|0;ea=f[na>>2]|0;fa=f[ma>>2]|0;if((ea|0)==(fa<<5|0)){if((ea+1|0)<0){I=150;break h}ba=fa<<6;fa=ea+32&-32;vg(pa,ea>>>0<1073741823?(ba>>>0<fa>>>0?fa:ba):2147483647);Ba=f[na>>2]|0}else Ba=ea;f[na>>2]=Ba+1;ea=(f[pa>>2]|0)+(Ba>>>5<<2)|0;f[ea>>2]=f[ea>>2]|1<<(Ba&31);ea=f[ja>>2]|0;if((ea|0)==(f[ha>>2]|0))Ng(ga,m);else{f[ea>>2]=f[m>>2];f[ja>>2]=ea+4}Ca=_}else if((I|0)==156){I=0;_=f[na>>2]|0;ea=f[ma>>2]|0;if((_|0)==(ea<<5|0)){if((_+1|0)<0){I=158;break h}ba=ea<<6;ea=_+32&-32;vg(pa,_>>>0<1073741823?(ba>>>0<ea>>>0?ea:ba):2147483647);Da=f[na>>2]|0}else Da=_;f[na>>2]=Da+1;_=(f[pa>>2]|0)+(Da>>>5<<2)|0;f[_>>2]=f[_>>2]&~(1<<(Da&31));_=f[ja>>2]|0;if((_|0)==(f[ha>>2]|0)){Ng(ga,e);Ca=q;break}else{f[_>>2]=f[e>>2];f[ja>>2]=_+4;Ca=q;break}}while(0);r=f[n>>2]|0;if((r|0)==(f[g>>2]|0)){I=165;break}else q=Ca}if((I|0)==150)$n(pa);else if((I|0)==158)$n(pa);else if((I|0)==163){H=-1;I=184;break g}else if((I|0)==165){Ea=Ca;Fa=f[sa>>2]|0;break}}else{Ea=ra;Fa=c}while(0);if((Ea|0)==(((f[Fa+4>>2]|0)-(f[Fa>>2]|0)>>2>>>0)/3|0|0)){c=(f[Fa+28>>2]|0)-(f[Fa+24>>2]|0)>>2;l=f[k>>2]|0;q=f[p>>2]|0;if((l|0)==(q|0)){Ga=c;Ha=l}else{r=e+4|0;ja=e+8|0;ga=e+12|0;ha=c;c=l;l=Fa;while(1){na=f[c>>2]|0;ma=ha+-1|0;o=f[l+24>>2]|0;la=o+(ma<<2)|0;if((f[la>>2]|0)==-1){ia=ha;while(1){ka=ia+-1|0;qa=ia+-2|0;oa=o+(qa<<2)|0;if((f[oa>>2]|0)==-1)ia=ka;else{Ia=ka;Ja=oa;Ka=qa;break}}}else{Ia=ha;Ja=la;Ka=ma}if(Ka>>>0<na>>>0){La=Ia;Ma=l}else{f[e>>2]=l;ia=f[Ja>>2]|0;f[r>>2]=ia;f[ja>>2]=ia;b[ga>>0]=1;if((ia|0)==-1){Na=o;Oa=l}else{pa=l;qa=ia;do{f[(f[pa>>2]|0)+(qa<<2)>>2]=na;Tf(e);qa=f[ja>>2]|0;pa=f[sa>>2]|0}while((qa|0)!=-1);Na=f[pa+24>>2]|0;Oa=pa}qa=Na+(Ka<<2)|0;if((na|0)!=-1)f[Na+(na<<2)>>2]=f[qa>>2];f[qa>>2]=-1;qa=f[s>>2]|0;o=qa+(Ka>>>5<<2)|0;ma=1<<(Ka&31);la=qa+(na>>>5<<2)|0;qa=1<<(na&31);if(!(f[o>>2]&ma))Pa=f[la>>2]&~qa;else Pa=f[la>>2]|qa;f[la>>2]=Pa;f[o>>2]=f[o>>2]&~ma;La=Ia+-1|0;Ma=Oa}c=c+4|0;if((c|0)==(q|0)){H=La;I=184;break}else{ha=La;l=Ma}}}}else{H=-1;I=184}}else{H=-1;I=184}}while(0);if((I|0)==184){Ga=H;Ha=f[k>>2]|0}if(Ha|0){f[p>>2]=Ha;Ko(Ha)}Ha=f[i+8>>2]|0;if(Ha|0){p=Ha;do{Ha=p;p=f[p>>2]|0;Ko(Ha)}while((p|0)!=0)}p=f[i>>2]|0;f[i>>2]=0;if(p|0)Ko(p);p=f[g>>2]|0;if(!p){u=d;return Ga|0}f[n>>2]=p;Ko(p);u=d;return Ga|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;k=d+8|0;l=d;f[e>>2]=0;m=e+4|0;f[m>>2]=0;n=e+8|0;f[n>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=1065353216;f[i>>2]=0;o=i+4|0;f[o>>2]=0;p=i+8|0;f[p>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+308|0;v=a+304|0;w=a+296|0;x=a+300|0;y=g+4|0;z=a+8|0;A=a+36|0;B=a+40|0;C=c+-1|0;D=0;b:while(1){E=D+1|0;c:do if(!(b[t>>0]|0))F=43;else{G=f[v>>2]|0;H=f[w>>2]|0;I=f[x>>2]|0;J=H+(G>>>3)|0;if(J>>>0<I>>>0?(K=h[J>>0]|0,J=G+1|0,f[v>>2]=J,1<<(G&7)&K|0):0){K=H+(J>>>3)|0;if(K>>>0<I>>>0){L=(h[K>>0]|0)>>>(J&7)&1;M=G+2|0;f[v>>2]=M;N=L;O=H+(M>>>3)|0;P=M}else{N=0;O=K;P=J}if(O>>>0<I>>>0){I=(h[O>>0]|0)>>>(P&7);f[v>>2]=P+1;Q=I<<1&2}else Q=0;I=(Q|N)<<1|1;J=(I|0)==5;switch(I&7){case 1:{F=43;break c;break}case 3:case 5:{I=f[m>>2]|0;if((f[e>>2]|0)==(I|0)){R=-1;F=191;break a}K=f[I+-4>>2]|0;I=D*3|0;M=J?I:I+2|0;H=I+(J&1)|0;L=(J?2:1)+I|0;J=f[z>>2]|0;G=f[J+12>>2]|0;f[G+(L<<2)>>2]=K;f[G+(K<<2)>>2]=L;G=J+24|0;S=J+28|0;T=f[S>>2]|0;if((T|0)==(f[J+32>>2]|0)){Ng(G,3280);U=f[S>>2]|0}else{f[T>>2]=-1;J=T+4|0;f[S>>2]=J;U=J}J=U-(f[G>>2]|0)|0;G=(J>>2)+-1|0;S=f[z>>2]|0;T=f[S+24>>2]|0;V=T;if(((f[S+28>>2]|0)-T>>2|0)>(s|0)){R=-1;F=191;break a}T=f[S>>2]|0;f[T+(L<<2)>>2]=G;if(J|0)f[V+(G<<2)>>2]=L;if((K|0)!=-1){L=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((L|0)!=-1){G=f[T+(L<<2)>>2]|0;f[T+(M<<2)>>2]=G;if((G|0)!=-1)f[V+(G<<2)>>2]=M}else f[T+(M<<2)>>2]=-1;G=K+1|0;V=((G>>>0)%3|0|0)==0?K+-2|0:G;if((V|0)==-1)W=-1;else W=f[T+(V<<2)>>2]|0}else{f[T+(M<<2)>>2]=-1;W=-1}f[T+(H<<2)>>2]=W;f[(f[m>>2]|0)+-4>>2]=I;break}case 7:{f[k>>2]=D*3;I=f[z>>2]|0;H=I+24|0;T=I+28|0;M=f[T>>2]|0;if((M|0)==(f[I+32>>2]|0)){Ng(H,3280);X=f[T>>2]|0}else{f[M>>2]=-1;I=M+4|0;f[T>>2]=I;X=I}I=X-(f[H>>2]|0)|0;H=I>>2;T=H+-1|0;M=f[z>>2]|0;V=f[k>>2]|0;G=f[M>>2]|0;f[G+(V<<2)>>2]=T;K=M+24|0;L=M+28|0;J=f[L>>2]|0;if((J|0)==(f[M+32>>2]|0)){Ng(K,3280);Y=f[L>>2]|0;Z=f[M>>2]|0}else{f[J>>2]=-1;M=J+4|0;f[L>>2]=M;Y=M;Z=G}f[Z+(V+1<<2)>>2]=(Y-(f[K>>2]|0)>>2)+-1;K=f[z>>2]|0;V=(f[k>>2]|0)+2|0;G=K+24|0;M=K+28|0;L=f[M>>2]|0;if((L|0)==(f[K+32>>2]|0)){Ng(G,3280);_=f[M>>2]|0}else{f[L>>2]=-1;J=L+4|0;f[M>>2]=J;_=J}f[(f[K>>2]|0)+(V<<2)>>2]=(_-(f[G>>2]|0)>>2)+-1;G=f[z>>2]|0;V=f[G+24>>2]|0;K=V;if(((f[G+28>>2]|0)-V>>2|0)>(s|0)){F=117;break b}V=f[k>>2]|0;if(I){f[K+(T<<2)>>2]=V;if((I|0)!=-4){f[K+(H<<2)>>2]=(f[k>>2]|0)+1;I=H+1|0;if((I|0)!=-1){$=I;F=112}}else{$=0;F=112}}else{f[K+(H<<2)>>2]=V+1;$=1;F=112}if((F|0)==112){F=0;f[K+($<<2)>>2]=(f[k>>2]|0)+2}K=f[m>>2]|0;if((K|0)==(f[n>>2]|0))Ng(e,k);else{f[K>>2]=f[k>>2];f[m>>2]=K+4}break}default:{F=190;break b}}K=c-D+-1|0;V=f[B>>2]|0;if((V|0)==(f[A>>2]|0))break;H=V;while(1){V=H;I=V+-12|0;T=f[V+-8>>2]|0;if(T>>>0>K>>>0){R=-1;F=191;break a}if((T|0)!=(K|0))break c;T=b[V+-4>>0]|0;V=f[I>>2]|0;f[B>>2]=I;if((V|0)<0){R=-1;F=191;break a}I=f[(f[m>>2]|0)+-4>>2]|0;G=(I|0)==-1;do if(!(T&1))if(!G)if(!((I>>>0)%3|0)){aa=I+2|0;break}else{aa=I+-1|0;break}else aa=-1;else{J=I+1|0;if(G)aa=-1;else aa=((J>>>0)%3|0|0)==0?I+-2|0:J}while(0);f[k>>2]=C-V;I=ed(g,k)|0;f[I>>2]=aa;H=f[B>>2]|0;if((H|0)==(f[A>>2]|0))break c}}H=f[m>>2]|0;if((f[e>>2]|0)==(H|0)){R=-1;F=191;break a}K=H+-4|0;H=f[K>>2]|0;I=f[z>>2]|0;G=(H|0)==-1;T=H+1|0;if(!G?(J=((T>>>0)%3|0|0)==0?H+-2|0:T,(J|0)!=-1):0)ba=f[(f[I>>2]|0)+(J<<2)>>2]|0;else ba=-1;J=f[I+24>>2]|0;T=f[J+(ba<<2)>>2]|0;M=T+1|0;if((T|0)==-1)ca=-1;else ca=((M>>>0)%3|0|0)==0?T+-2|0:M;M=D*3|0;T=M+1|0;L=f[I+12>>2]|0;f[L+(H<<2)>>2]=T;f[L+(T<<2)>>2]=H;S=M+2|0;f[L+(ca<<2)>>2]=S;f[L+(S<<2)>>2]=ca;L=f[I>>2]|0;f[L+(M<<2)>>2]=ba;I=ca+1|0;if((ca|0)!=-1?(da=((I>>>0)%3|0|0)==0?ca+-2|0:I,(da|0)!=-1):0)ea=f[L+(da<<2)>>2]|0;else ea=-1;f[L+(T<<2)>>2]=ea;if(!G?(G=(((H>>>0)%3|0|0)==0?2:-1)+H|0,(G|0)!=-1):0){H=f[L+(G<<2)>>2]|0;f[L+(S<<2)>>2]=H;if((H|0)!=-1)f[J+(H<<2)>>2]=S}else f[L+(S<<2)>>2]=-1;S=(f[r>>2]|0)+(ba>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(ba&31));f[K>>2]=M}while(0);if((F|0)==43){F=0;M=f[e>>2]|0;K=f[m>>2]|0;if((M|0)==(K|0)){R=-1;F=191;break a}S=K+-4|0;L=f[S>>2]|0;f[m>>2]=S;H=f[y>>2]|0;d:do if(H){J=H+-1|0;G=(J&H|0)==0;if(!G)if(D>>>0<H>>>0)fa=D;else fa=(D>>>0)%(H>>>0)|0;else fa=J&D;T=f[(f[g>>2]|0)+(fa<<2)>>2]|0;if((T|0)!=0?(da=f[T>>2]|0,(da|0)!=0):0){e:do if(G){T=da;while(1){I=f[T+4>>2]|0;ga=(I|0)==(D|0);if(!(ga|(I&J|0)==(fa|0))){ha=M;ia=S;break d}if(ga?(f[T+8>>2]|0)==(D|0):0){ja=T;break e}T=f[T>>2]|0;if(!T){ha=M;ia=S;break d}}}else{T=da;while(1){V=f[T+4>>2]|0;if((V|0)==(D|0)){if((f[T+8>>2]|0)==(D|0)){ja=T;break e}}else{if(V>>>0<H>>>0)ka=V;else ka=(V>>>0)%(H>>>0)|0;if((ka|0)!=(fa|0)){ha=M;ia=S;break d}}T=f[T>>2]|0;if(!T){ha=M;ia=S;break d}}}while(0);da=ja+12|0;if((S|0)==(f[n>>2]|0)){Ng(e,da);ha=f[e>>2]|0;ia=f[m>>2]|0;break}else{f[S>>2]=f[da>>2];f[m>>2]=K;ha=M;ia=K;break}}else{ha=M;ia=S}}else{ha=M;ia=S}while(0);if((ha|0)==(ia|0)){R=-1;F=191;break a}S=ia+-4|0;M=f[S>>2]|0;K=f[z>>2]|0;H=(M|0)==-1;if(!H?(f[(f[K+12>>2]|0)+(M<<2)>>2]|0)!=-1:0){R=-1;F=191;break a}da=(L|0)==-1;J=f[K+12>>2]|0;if(!da){G=J+(L<<2)|0;if((f[G>>2]|0)==-1)la=G;else{R=-1;F=191;break a}}else la=J+-4|0;G=D*3|0;T=G+2|0;f[J+(M<<2)>>2]=T;f[J+(T<<2)>>2]=M;V=G+1|0;f[la>>2]=V;f[J+(V<<2)>>2]=L;if(!H){H=(((M>>>0)%3|0|0)==0?2:-1)+M|0;ga=f[K>>2]|0;if((H|0)==-1)ma=-1;else ma=f[ga+(H<<2)>>2]|0;f[ga+(G<<2)>>2]=ma;H=M+1|0;I=((H>>>0)%3|0|0)==0?M+-2|0:H;if((I|0)==-1){na=-1;oa=ma;pa=ga;qa=K}else{na=f[ga+(I<<2)>>2]|0;oa=ma;pa=ga;qa=K}}else{ga=f[K>>2]|0;f[ga+(G<<2)>>2]=-1;na=-1;oa=-1;pa=ga;qa=K}f[pa+(V<<2)>>2]=na;if(!da){da=(((L>>>0)%3|0|0)==0?2:-1)+L|0;if((da|0)!=-1){V=f[pa+(da<<2)>>2]|0;f[pa+(T<<2)>>2]=V;if((V|0)!=-1)f[(f[K+24>>2]|0)+(V<<2)>>2]=T}else f[pa+(T<<2)>>2]=-1;V=L+1|0;da=((V>>>0)%3|0|0)==0?L+-2|0:V;if((da|0)==-1){ra=-1;sa=-1}else{ra=f[pa+(da<<2)>>2]|0;sa=da}}else{f[pa+(T<<2)>>2]=-1;ra=-1;sa=-1}f[k>>2]=ra;T=f[K+24>>2]|0;if((oa|0)!=-1)f[T+(oa<<2)>>2]=f[T+(ra<<2)>>2];f:do if((sa|0)!=-1){K=f[qa>>2]|0;da=sa;do{f[K+(da<<2)>>2]=oa;V=da+1|0;ga=((V>>>0)%3|0|0)==0?da+-2|0:V;if((ga|0)==-1)break f;V=f[J+(ga<<2)>>2]|0;ga=V+1|0;if((V|0)==-1)break f;da=((ga>>>0)%3|0|0)==0?V+-2|0:ga}while((da|0)!=-1)}while(0);f[T+(f[k>>2]<<2)>>2]=-1;do if(q){J=f[o>>2]|0;if((J|0)==(f[p>>2]|0)){Ng(i,k);ta=(f[m>>2]|0)+-4|0;break}else{f[J>>2]=f[k>>2];f[o>>2]=J+4;ta=S;break}}else ta=S;while(0);f[ta>>2]=G}if((E|0)<(c|0))D=E;else{ua=E;va=z;F=133;break a}}if((F|0)==117){R=-1;F=191;break}}else{ua=0;va=a+8|0;F=133}while(0);g:do if((F|0)==133){c=f[va>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){ta=f[m>>2]|0;do if((ta|0)!=(f[e>>2]|0)){p=a+270|0;q=a+364|0;oa=a+60|0;sa=a+64|0;qa=a+68|0;ra=a+312|0;pa=a+360|0;na=a+352|0;ma=a+356|0;la=a+76|0;ia=a+80|0;ha=a+72|0;n=ua;ja=ta;h:while(1){fa=ja+-4|0;f[k>>2]=f[fa>>2];f[m>>2]=fa;if((j[p>>1]|0)<514)if(b[q>>0]|0){fa=f[pa>>2]|0;ka=(f[na>>2]|0)+(fa>>>3)|0;if(ka>>>0<(f[ma>>2]|0)>>>0){ba=(h[ka>>0]|0)>>>(fa&7)&1;f[pa>>2]=fa+1;wa=ba;F=141}else F=162}else F=142;else{wa=(pi(ra)|0)&1;F=141}if((F|0)==141){F=0;if(!wa)F=162;else F=142}do if((F|0)==142){F=0;ba=f[va>>2]|0;fa=f[ba>>2]|0;ka=fa;if((n|0)>=(((f[ba+4>>2]|0)-fa>>2>>>0)/3|0|0)){F=169;break h}fa=f[k>>2]|0;ea=fa+1|0;if((fa|0)!=-1?(ca=((ea>>>0)%3|0|0)==0?fa+-2|0:ea,(ca|0)!=-1):0)xa=f[ka+(ca<<2)>>2]|0;else xa=-1;ca=f[ba+24>>2]|0;ea=f[ca+(xa<<2)>>2]|0;aa=ea+1|0;if((ea|0)!=-1?($=((aa>>>0)%3|0|0)==0?ea+-2|0:aa,aa=$+1|0,($|0)!=-1):0){ea=((aa>>>0)%3|0|0)==0?$+-2|0:aa;if((ea|0)==-1){ya=-1;za=$}else{ya=f[ka+(ea<<2)>>2]|0;za=$}}else{ya=-1;za=-1}$=f[ca+(ya<<2)>>2]|0;ca=$+1|0;if(($|0)!=-1?(ea=((ca>>>0)%3|0|0)==0?$+-2|0:ca,ca=ea+1|0,(ea|0)!=-1):0){$=((ca>>>0)%3|0|0)==0?ea+-2|0:ca;if(($|0)==-1){Aa=-1;Ba=ea}else{Aa=f[ka+($<<2)>>2]|0;Ba=ea}}else{Aa=-1;Ba=-1}ea=n*3|0;f[l>>2]=ea;$=f[ba+12>>2]|0;f[$+(ea<<2)>>2]=fa;f[$+(fa<<2)>>2]=ea;ea=(f[l>>2]|0)+1|0;f[$+(ea<<2)>>2]=za;f[$+(za<<2)>>2]=ea;ea=(f[l>>2]|0)+2|0;f[$+(ea<<2)>>2]=Ba;f[$+(Ba<<2)>>2]=ea;ea=f[l>>2]|0;f[ka+(ea<<2)>>2]=ya;f[ka+(ea+1<<2)>>2]=Aa;f[ka+(ea+2<<2)>>2]=xa;$=(ea|0)==-1?-1:ya;ea=f[r>>2]|0;fa=ea+($>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<($&31));$=(f[l>>2]|0)+1|0;if(($|0)==-1)Ca=-1;else Ca=f[ka+($<<2)>>2]|0;$=ea+(Ca>>>5<<2)|0;f[$>>2]=f[$>>2]&~(1<<(Ca&31));$=(f[l>>2]|0)+2|0;if(($|0)==-1)Da=-1;else Da=f[ka+($<<2)>>2]|0;$=ea+(Da>>>5<<2)|0;f[$>>2]=f[$>>2]&~(1<<(Da&31));$=n+1|0;ea=f[sa>>2]|0;ka=f[qa>>2]|0;if((ea|0)==(ka<<5|0)){if((ea+1|0)<0){F=156;break h}fa=ka<<6;ka=ea+32&-32;vg(oa,ea>>>0<1073741823?(fa>>>0<ka>>>0?ka:fa):2147483647);Ea=f[sa>>2]|0}else Ea=ea;f[sa>>2]=Ea+1;ea=(f[oa>>2]|0)+(Ea>>>5<<2)|0;f[ea>>2]=f[ea>>2]|1<<(Ea&31);ea=f[la>>2]|0;if((ea|0)==(f[ia>>2]|0))Ng(ha,l);else{f[ea>>2]=f[l>>2];f[la>>2]=ea+4}Fa=$}else if((F|0)==162){F=0;$=f[sa>>2]|0;ea=f[qa>>2]|0;if(($|0)==(ea<<5|0)){if(($+1|0)<0){F=164;break h}fa=ea<<6;ea=$+32&-32;vg(oa,$>>>0<1073741823?(fa>>>0<ea>>>0?ea:fa):2147483647);Ga=f[sa>>2]|0}else Ga=$;f[sa>>2]=Ga+1;$=(f[oa>>2]|0)+(Ga>>>5<<2)|0;f[$>>2]=f[$>>2]&~(1<<(Ga&31));$=f[la>>2]|0;if(($|0)==(f[ia>>2]|0)){Ng(ha,k);Fa=n;break}else{f[$>>2]=f[k>>2];f[la>>2]=$+4;Fa=n;break}}while(0);ja=f[m>>2]|0;if((ja|0)==(f[e>>2]|0)){F=171;break}else n=Fa}if((F|0)==156)$n(oa);else if((F|0)==164)$n(oa);else if((F|0)==169){R=-1;F=191;break g}else if((F|0)==171){Ha=Fa;Ia=f[va>>2]|0;break}}else{Ha=ua;Ia=c}while(0);if((Ha|0)==(((f[Ia+4>>2]|0)-(f[Ia>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ia+28>>2]|0)-(f[Ia+24>>2]|0)>>2;ta=f[i>>2]|0;n=f[o>>2]|0;if((ta|0)==(n|0)){Ja=c;Ka=ta}else{ja=k+4|0;la=k+8|0;ha=k+12|0;ia=c;c=ta;ta=Ia;while(1){sa=f[c>>2]|0;qa=ia+-1|0;ra=f[ta+24>>2]|0;pa=ra+(qa<<2)|0;if((f[pa>>2]|0)==-1){ma=ia;while(1){na=ma+-1|0;q=ma+-2|0;p=ra+(q<<2)|0;if((f[p>>2]|0)==-1)ma=na;else{La=na;Ma=p;Na=q;break}}}else{La=ia;Ma=pa;Na=qa}if(Na>>>0<sa>>>0){Oa=La;Pa=ta}else{f[k>>2]=ta;ma=f[Ma>>2]|0;f[ja>>2]=ma;f[la>>2]=ma;b[ha>>0]=1;if((ma|0)==-1){Qa=ra;Ra=ta}else{oa=ta;q=ma;do{f[(f[oa>>2]|0)+(q<<2)>>2]=sa;Tf(k);q=f[la>>2]|0;oa=f[va>>2]|0}while((q|0)!=-1);Qa=f[oa+24>>2]|0;Ra=oa}q=Qa+(Na<<2)|0;if((sa|0)!=-1)f[Qa+(sa<<2)>>2]=f[q>>2];f[q>>2]=-1;q=f[r>>2]|0;ra=q+(Na>>>5<<2)|0;qa=1<<(Na&31);pa=q+(sa>>>5<<2)|0;q=1<<(sa&31);if(!(f[ra>>2]&qa))Sa=f[pa>>2]&~q;else Sa=f[pa>>2]|q;f[pa>>2]=Sa;f[ra>>2]=f[ra>>2]&~qa;Oa=La+-1|0;Pa=Ra}c=c+4|0;if((c|0)==(n|0)){R=Oa;F=191;break}else{ia=Oa;ta=Pa}}}}else{R=-1;F=191}}else{R=-1;F=191}}while(0);if((F|0)==191){Ja=R;Ka=f[i>>2]|0}if(Ka|0){f[o>>2]=Ka;Ko(Ka)}Ka=f[g+8>>2]|0;if(Ka|0){o=Ka;do{Ka=o;o=f[o>>2]|0;Ko(Ka)}while((o|0)!=0)}o=f[g>>2]|0;f[g>>2]=0;if(o|0)Ko(o);o=f[e>>2]|0;if(!o){u=d;return Ja|0}f[m>>2]=o;Ko(o);u=d;return Ja|0}function Za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=h;h=(mj(4608,4800,e,c)|0)-4608>>2;a:while(1){k=(f[4608+(h<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=6;break}n=f[4416+(l<<2)>>2]|0;o=(k>>>0)/(n>>>0)|0;if(o>>>0<n>>>0){m=107;break a}if((k|0)==(W(o,n)|0)){p=i;break}else l=l+1|0}b:do if((m|0)==6){m=0;l=211;n=i;c:while(1){o=(k>>>0)/(l>>>0)|0;do if(o>>>0>=l>>>0)if((k|0)!=(W(o,l)|0)){q=l+10|0;r=(k>>>0)/(q>>>0)|0;if(r>>>0>=q>>>0)if((k|0)!=(W(r,q)|0)){r=l+12|0;s=(k>>>0)/(r>>>0)|0;if(s>>>0>=r>>>0)if((k|0)!=(W(s,r)|0)){s=l+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(W(t,s)|0)){t=l+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(W(v,t)|0)){v=l+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(W(w,v)|0)){w=l+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(W(x,w)|0)){y=w;z=9;A=n}else{x=l+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0<x>>>0;D=(k|0)==(W(B,x)|0);y=C|D?x:l+210|0;z=C?1:D?9:0;A=C?k:n}else{y=w;z=1;A=k}}else{y=v;z=9;A=n}else{y=v;z=1;A=k}}else{y=t;z=9;A=n}else{y=t;z=1;A=k}}else{y=s;z=9;A=n}else{y=s;z=1;A=k}}else{y=r;z=9;A=n}else{y=r;z=1;A=k}}else{y=q;z=9;A=n}else{y=q;z=1;A=k}}else{y=l;z=9;A=n}else{y=l;z=1;A=k}while(0);switch(z&15){case 9:{p=A;break b;break}case 0:{l=y;n=A;break}default:break c}}if(!z)p=A;else{m=108;break a}}while(0);n=h+1|0;l=(n|0)==48;o=j+(l&1)|0;i=p;j=o;g=o*210|0;h=l?0:n}if((m|0)==107){f[d>>2]=k;E=k;break}else if((m|0)==108){f[d>>2]=k;E=A;break}}else{h=mj(4416,4608,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}function _a(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+56|0;k=c+48|0;l=c+40|0;m=c;n=c+60|0;o=c+52|0;p=c+44|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;Ko(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=h[s+36>>0]<<8;v=(t|h[s+37>>0])&65535;do if((v&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=vl(B|0,f[A+4>>2]|0,4,0)|0;A=H;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0<C>>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=15}}else if(zh(e,w)|0){w=f[r>>2]|0;D=w;E=h[w+36>>0]<<8;F=f[e>>2]|0;G=15}if((G|0)==15){f[q>>2]=F;I=E;J=D;break}K=0;u=c;return K|0}else{I=t;J=s}while(0);s=f[J+32>>2]|0;if((I&65535)<512){I=s+8|0;J=f[I>>2]|0;t=f[I+4>>2]|0;I=s+16|0;D=I;E=f[D>>2]|0;F=vl(E|0,f[D+4>>2]|0,4,0)|0;D=H;if((t|0)<(D|0)|(t|0)==(D|0)&J>>>0<F>>>0)L=0;else{J=(f[s>>2]|0)+E|0;E=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[g>>2]=E;J=I;f[J>>2]=F;f[J+4>>2]=D;D=a+156|0;f[D>>2]=E;M=s;N=i;O=D;G=22}}else if(zh(g,s)|0){s=f[r>>2]|0;D=f[s+32>>2]|0;E=h[s+36>>0]<<8&65535;s=a+156|0;f[s>>2]=f[g>>2];if((E&65535)>=512)if(zh(i,D)|0){P=f[i>>2]|0;Q=s;R=i;G=26}else{S=0;T=i;G=125}else{M=D;N=i;O=s;G=22}}else L=0;if((G|0)==22){s=M+8|0;D=f[s>>2]|0;E=f[s+4>>2]|0;s=M+16|0;g=s;J=f[g>>2]|0;F=vl(J|0,f[g+4>>2]|0,4,0)|0;g=H;if((E|0)<(g|0)|(E|0)==(g|0)&D>>>0<F>>>0){S=0;T=N;G=125}else{D=(f[M>>2]|0)+J|0;J=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;f[i>>2]=J;D=s;f[D>>2]=F;f[D+4>>2]=g;P=J;Q=O;R=N;G=26}}if((G|0)==26)if((P>>>0<=1431655765?(f[Q>>2]|0)>>>0<=(P*3|0)>>>0:0)?(N=f[r>>2]|0,O=f[N+32>>2]|0,J=O+8|0,g=f[J>>2]|0,D=f[J+4>>2]|0,J=O+16|0,F=J,s=f[F>>2]|0,M=f[F+4>>2]|0,(D|0)>(M|0)|(D|0)==(M|0)&g>>>0>s>>>0):0){F=f[O>>2]|0;E=b[F+s>>0]|0;I=vl(s|0,M|0,1,0)|0;t=J;f[t>>2]=I;f[t+4>>2]=H;if((h[N+36>>0]<<8&65535)<512){N=vl(s|0,M|0,5,0)|0;M=H;if((D|0)<(M|0)|(D|0)==(M|0)&g>>>0<N>>>0)U=0;else{g=F+I|0;I=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[k>>2]=I;g=J;f[g>>2]=N;f[g+4>>2]=M;V=P;W=I;G=34}}else if(zh(k,O)|0){V=f[i>>2]|0;W=f[k>>2]|0;G=34}else U=0;if((G|0)==34)if(V>>>0>=W>>>0?V>>>0<=(((W>>>0)/3|0)+W|0)>>>0:0){V=f[r>>2]|0;O=f[V+32>>2]|0;if((h[V+36>>0]<<8&65535)<512){V=O+8|0;I=f[V>>2]|0;P=f[V+4>>2]|0;V=O+16|0;M=V;g=f[M>>2]|0;N=vl(g|0,f[M+4>>2]|0,4,0)|0;M=H;if((P|0)<(M|0)|(P|0)==(M|0)&I>>>0<N>>>0)X=0;else{I=(f[O>>2]|0)+g|0;g=h[I>>0]|h[I+1>>0]<<8|h[I+2>>0]<<16|h[I+3>>0]<<24;f[l>>2]=g;I=V;f[I>>2]=N;f[I+4>>2]=M;Y=g;Z=W;G=41}}else if(zh(l,O)|0){Y=f[l>>2]|0;Z=f[k>>2]|0;G=41}else X=0;a:do if((G|0)==41)if(Y>>>0<=Z>>>0){f[a+28>>2]=f[a+24>>2];O=wk(88)|0;Ej(O);W=a+8|0;g=f[W>>2]|0;f[W>>2]=O;if(g|0){O=f[g+76>>2]|0;if(O|0){f[g+80>>2]=O;Ko(O)}O=f[g+64>>2]|0;if(O|0){f[g+68>>2]=O;Ko(O)}O=f[g+48>>2]|0;if(O|0){f[g+52>>2]=O;Ko(O)}O=f[g+24>>2]|0;if(O|0){f[g+28>>2]=O;Ko(O)}O=f[g+12>>2]|0;if(O|0){f[g+16>>2]=O;Ko(O)}O=f[g>>2]|0;if(O|0){f[g+4>>2]=O;Ko(O)}Ko(g);if(!(f[W>>2]|0)){X=0;break}}g=a+160|0;f[a+164>>2]=f[g>>2];Wh(g,f[i>>2]|0);g=a+172|0;f[a+176>>2]=f[g>>2];Wh(g,f[i>>2]|0);f[a+40>>2]=f[a+36>>2];f[a+52>>2]=f[a+48>>2];f[a+64>>2]=0;f[a+76>>2]=f[a+72>>2];f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;O=f[g>>2]|0;M=a+220|0;I=f[M>>2]|0;if((I|0)!=(O|0)){N=I;do{I=f[N+-12>>2]|0;if(I|0){f[N+-8>>2]=I;Ko(I)}I=f[N+-28>>2]|0;if(I|0){f[N+-24>>2]=I;Ko(I)}I=f[N+-40>>2]|0;if(I|0){f[N+-36>>2]=I;Ko(I)}di(N+-140|0);N=N+-144|0}while((N|0)!=(O|0))}f[M>>2]=O;N=E&255;Zg(g,N);if(Hh(f[W>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[Q>>2]|0)|0)|0){I=(f[l>>2]|0)+(f[Q>>2]|0)|0;b[e>>0]=1;Gf(a+120|0,I,e);I=f[r>>2]|0;V=(h[I+36>>0]<<8|h[I+37>>0])&65535;b:do if((V&65535)>=514)if((Nb(a,f[I+32>>2]|0)|0)==-1){X=0;break a}else _=-1;else{P=f[I+32>>2]|0;do if((V&65535)<512){J=P+8|0;F=f[J>>2]|0;D=f[J+4>>2]|0;J=P+16|0;s=J;t=f[s>>2]|0;q=vl(t|0,f[s+4>>2]|0,4,0)|0;s=H;if((D|0)<(s|0)|(D|0)==(s|0)&F>>>0<q>>>0)break;F=(f[P>>2]|0)+t|0;t=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[e>>2]=t;F=J;f[F>>2]=q;f[F+4>>2]=s;$=t;G=72}else{if(!(zh(e,P)|0))break;$=f[e>>2]|0;G=72}while(0);do if((G|0)==72){if(!$)break;P=f[(f[r>>2]|0)+32>>2]|0;t=P+8|0;s=P+16|0;P=wl(f[t>>2]|0,f[t+4>>2]|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=H;if((s|0)<0|(s|0)==0&P>>>0<$>>>0)break;Zj(m);P=f[(f[r>>2]|0)+32>>2]|0;s=P+16|0;t=f[s>>2]|0;F=f[e>>2]|0;q=(f[P>>2]|0)+t+F|0;J=P+8|0;D=wl(f[J>>2]|0,f[J+4>>2]|0,t|0,f[s+4>>2]|0)|0;pk(m,q,D-F|0,d[P+38>>1]|0);P=Nb(a,m)|0;if((P|0)==-1)break;_=P;break b}while(0);X=0;break a}while(0);V=a+232|0;f[a+376>>2]=a;I=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;O=f[I>>2]|0;I=(f[O>>2]|0)+(f[O+16>>2]|0)|0;O=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;P=f[O>>2]|0;O=P+8|0;F=P+16|0;P=wl(f[O>>2]|0,f[O+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;pk(V,I,P,d[(f[F>>2]|0)+38>>1]|0);F=Ka[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=F;F=a+384|0;f[F>>2]=(f[l>>2]|0)+(f[Q>>2]|0);f[a+372>>2]=N;Zj(m);c:do if(Dd(V,m)|0){P=m+8|0;I=P;O=f[I>>2]|0;D=f[I+4>>2]|0;I=m+16|0;q=I;s=f[q>>2]|0;t=vl(s|0,f[q+4>>2]|0,4,0)|0;q=H;if((D|0)<(q|0)|(D|0)==(q|0)&O>>>0<t>>>0){aa=0;break}O=(f[m>>2]|0)+s|0;s=h[O>>0]|h[O+1>>0]<<8|h[O+2>>0]<<16|h[O+3>>0]<<24;O=I;f[O>>2]=t;f[O+4>>2]=q;if((s|0)<0){aa=0;break}q=f[F>>2]|0;if((s|0)>=(q|0)){aa=0;break}s=a+388|0;f[e>>2]=0;O=a+392|0;t=f[s>>2]|0;D=(f[O>>2]|0)-t>>2;do if(q>>>0>D>>>0)Of(s,q-D|0,e);else{if(q>>>0>=D>>>0)break;f[O>>2]=t+(q<<2)}while(0);if(!(rd(a+400|0,m)|0)){aa=0;break}q=Wa(a,f[k>>2]|0)|0;if((q|0)==-1){aa=0;break}t=f[(f[r>>2]|0)+32>>2]|0;O=I;D=f[O>>2]|0;s=(f[m>>2]|0)+D|0;J=P;v=wl(f[J>>2]|0,f[J+4>>2]|0,D|0,f[O+4>>2]|0)|0;pk(t,s,v,d[t+38>>1]|0);t=f[r>>2]|0;v=(h[t+36>>0]<<8|h[t+37>>0])&65535;if((v&65535)<514){s=(f[t+32>>2]|0)+16|0;t=s;O=vl(f[t>>2]|0,f[t+4>>2]|0,_|0,((_|0)<0)<<31>>31|0)|0;t=s;f[t>>2]=O;f[t+4>>2]=H}do if((f[M>>2]|0)!=(f[g>>2]|0)){t=f[W>>2]|0;O=(f[t+4>>2]|0)!=(f[t>>2]|0);if((v&65535)<513){if(!O)break;t=0;do{f[n>>2]=t;f[e>>2]=f[n>>2];t=t+3|0;if(!(Zb(a,e)|0)){aa=0;break c}s=f[W>>2]|0}while(t>>>0<(f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)}else{if(!O)break;t=0;do{f[o>>2]=t;f[e>>2]=f[o>>2];t=t+3|0;if(!(gc(a,e)|0)){aa=0;break c}s=f[W>>2]|0}while(t>>>0<(f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Cj(a+272|0);if((j[a+270>>1]|0)<514)Cj(a+328|0);v=f[g>>2]|0;if((f[M>>2]|0)!=(v|0)){P=0;I=v;do{gg(I+(P*144|0)+4|0,f[W>>2]|0)|0;v=f[g>>2]|0;t=f[v+(P*144|0)+132>>2]|0;O=f[v+(P*144|0)+136>>2]|0;if((t|0)==(O|0))ba=v;else{s=t;t=v;while(1){f[p>>2]=f[s>>2];f[e>>2]=f[p>>2];pf(t+(P*144|0)+4|0,e);s=s+4|0;v=f[g>>2]|0;if((s|0)==(O|0)){ba=v;break}else t=v}}jj(ba+(P*144|0)+4|0,0,0);P=P+1|0;I=f[g>>2]|0}while(P>>>0<(((f[M>>2]|0)-I|0)/144|0)>>>0)}I=f[W>>2]|0;P=(f[I+28>>2]|0)-(f[I+24>>2]|0)>>2;I=a+196|0;t=a+200|0;O=f[I>>2]|0;s=(f[t>>2]|0)-O>>2;do if(P>>>0>s>>>0)Eg(I,P-s|0);else{if(P>>>0>=s>>>0)break;f[t>>2]=O+(P<<2)}while(0);Wh(a+184|0,P);O=f[g>>2]|0;if((f[M>>2]|0)!=(O|0)){t=0;s=O;do{O=s;I=(f[O+(t*144|0)+60>>2]|0)-(f[O+(t*144|0)+56>>2]|0)>>2;v=f[W>>2]|0;D=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;v=(I|0)<(D|0)?D:I;I=O+(t*144|0)+116|0;D=O+(t*144|0)+120|0;J=f[I>>2]|0;w=(f[D>>2]|0)-J>>2;do if(v>>>0>w>>>0)Eg(I,v-w|0);else{if(v>>>0>=w>>>0)break;f[D>>2]=J+(v<<2)}while(0);Wh(O+(t*144|0)+104|0,v);t=t+1|0;s=f[g>>2]|0}while(t>>>0<(((f[M>>2]|0)-s|0)/144|0)>>>0)}aa=Gb(a,q)|0}else aa=0;while(0);X=aa}else X=0}else X=0;while(0);U=X}else U=0;S=U;T=R;G=125}else{S=0;T=R;G=125}if((G|0)==125)L=S;K=L;u=c;return K|0}function $a(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;Ko(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=h[s+36>>0]<<8;v=(t|h[s+37>>0])&65535;do if((v&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=vl(B|0,f[A+4>>2]|0,4,0)|0;A=H;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0<C>>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=15}}else if(zh(e,w)|0){w=f[r>>2]|0;D=w;E=h[w+36>>0]<<8;F=f[e>>2]|0;G=15}if((G|0)==15){f[q>>2]=F;I=E;J=D;break}K=0;u=c;return K|0}else{I=t;J=s}while(0);s=f[J+32>>2]|0;if((I&65535)<512){I=s+8|0;J=f[I>>2]|0;t=f[I+4>>2]|0;I=s+16|0;D=I;E=f[D>>2]|0;F=vl(E|0,f[D+4>>2]|0,4,0)|0;D=H;if((t|0)<(D|0)|(t|0)==(D|0)&J>>>0<F>>>0)L=0;else{J=(f[s>>2]|0)+E|0;E=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[g>>2]=E;J=I;f[J>>2]=F;f[J+4>>2]=D;D=a+156|0;f[D>>2]=E;M=s;N=i;O=D;G=22}}else if(zh(g,s)|0){s=f[r>>2]|0;D=f[s+32>>2]|0;E=h[s+36>>0]<<8&65535;s=a+156|0;f[s>>2]=f[g>>2];if((E&65535)>=512)if(zh(i,D)|0){P=f[i>>2]|0;Q=s;R=i;G=26}else{S=0;T=i;G=117}else{M=D;N=i;O=s;G=22}}else L=0;if((G|0)==22){s=M+8|0;D=f[s>>2]|0;E=f[s+4>>2]|0;s=M+16|0;g=s;J=f[g>>2]|0;F=vl(J|0,f[g+4>>2]|0,4,0)|0;g=H;if((E|0)<(g|0)|(E|0)==(g|0)&D>>>0<F>>>0){S=0;T=N;G=117}else{D=(f[M>>2]|0)+J|0;J=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;f[i>>2]=J;D=s;f[D>>2]=F;f[D+4>>2]=g;P=J;Q=O;R=N;G=26}}if((G|0)==26)if((P>>>0<=1431655765?(f[Q>>2]|0)>>>0<=(P*3|0)>>>0:0)?(N=f[r>>2]|0,O=f[N+32>>2]|0,J=O+8|0,g=f[J>>2]|0,D=f[J+4>>2]|0,J=O+16|0,F=J,s=f[F>>2]|0,M=f[F+4>>2]|0,(D|0)>(M|0)|(D|0)==(M|0)&g>>>0>s>>>0):0){F=f[O>>2]|0;E=b[F+s>>0]|0;I=vl(s|0,M|0,1,0)|0;t=J;f[t>>2]=I;f[t+4>>2]=H;if((h[N+36>>0]<<8&65535)<512){N=vl(s|0,M|0,5,0)|0;M=H;if((D|0)<(M|0)|(D|0)==(M|0)&g>>>0<N>>>0)U=0;else{g=F+I|0;I=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[k>>2]=I;g=J;f[g>>2]=N;f[g+4>>2]=M;V=P;W=I;G=34}}else if(zh(k,O)|0){V=f[i>>2]|0;W=f[k>>2]|0;G=34}else U=0;if((G|0)==34)if(V>>>0>=W>>>0?V>>>0<=(((W>>>0)/3|0)+W|0)>>>0:0){V=f[r>>2]|0;O=f[V+32>>2]|0;if((h[V+36>>0]<<8&65535)<512){V=O+8|0;I=f[V>>2]|0;P=f[V+4>>2]|0;V=O+16|0;M=V;g=f[M>>2]|0;N=vl(g|0,f[M+4>>2]|0,4,0)|0;M=H;if((P|0)<(M|0)|(P|0)==(M|0)&I>>>0<N>>>0)X=0;else{I=(f[O>>2]|0)+g|0;g=h[I>>0]|h[I+1>>0]<<8|h[I+2>>0]<<16|h[I+3>>0]<<24;f[l>>2]=g;I=V;f[I>>2]=N;f[I+4>>2]=M;Y=g;Z=W;G=41}}else if(zh(l,O)|0){Y=f[l>>2]|0;Z=f[k>>2]|0;G=41}else X=0;a:do if((G|0)==41)if(Y>>>0<=Z>>>0){f[a+28>>2]=f[a+24>>2];O=wk(88)|0;Ej(O);W=a+8|0;g=f[W>>2]|0;f[W>>2]=O;if(g|0){O=f[g+76>>2]|0;if(O|0){f[g+80>>2]=O;Ko(O)}O=f[g+64>>2]|0;if(O|0){f[g+68>>2]=O;Ko(O)}O=f[g+48>>2]|0;if(O|0){f[g+52>>2]=O;Ko(O)}O=f[g+24>>2]|0;if(O|0){f[g+28>>2]=O;Ko(O)}O=f[g+12>>2]|0;if(O|0){f[g+16>>2]=O;Ko(O)}O=f[g>>2]|0;if(O|0){f[g+4>>2]=O;Ko(O)}Ko(g);if(!(f[W>>2]|0)){X=0;break}}g=a+160|0;f[a+164>>2]=f[g>>2];Wh(g,f[i>>2]|0);g=a+172|0;f[a+176>>2]=f[g>>2];Wh(g,f[i>>2]|0);f[a+40>>2]=f[a+36>>2];f[a+52>>2]=f[a+48>>2];f[a+64>>2]=0;f[a+76>>2]=f[a+72>>2];f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;O=f[g>>2]|0;M=a+220|0;I=f[M>>2]|0;if((I|0)!=(O|0)){N=I;do{I=f[N+-12>>2]|0;if(I|0){f[N+-8>>2]=I;Ko(I)}I=f[N+-28>>2]|0;if(I|0){f[N+-24>>2]=I;Ko(I)}I=f[N+-40>>2]|0;if(I|0){f[N+-36>>2]=I;Ko(I)}di(N+-140|0);N=N+-144|0}while((N|0)!=(O|0))}f[M>>2]=O;N=E&255;Zg(g,N);if(Hh(f[W>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[Q>>2]|0)|0)|0){I=(f[l>>2]|0)+(f[Q>>2]|0)|0;b[e>>0]=1;Gf(a+120|0,I,e);I=f[r>>2]|0;V=(h[I+36>>0]<<8|h[I+37>>0])&65535;b:do if((V&65535)>=514)if((Nb(a,f[I+32>>2]|0)|0)==-1){X=0;break a}else _=-1;else{P=f[I+32>>2]|0;do if((V&65535)<512){J=P+8|0;F=f[J>>2]|0;D=f[J+4>>2]|0;J=P+16|0;s=J;t=f[s>>2]|0;q=vl(t|0,f[s+4>>2]|0,4,0)|0;s=H;if((D|0)<(s|0)|(D|0)==(s|0)&F>>>0<q>>>0)break;F=(f[P>>2]|0)+t|0;t=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[e>>2]=t;F=J;f[F>>2]=q;f[F+4>>2]=s;$=t;G=72}else{if(!(zh(e,P)|0))break;$=f[e>>2]|0;G=72}while(0);do if((G|0)==72){if(!$)break;P=f[(f[r>>2]|0)+32>>2]|0;t=P+8|0;s=P+16|0;P=wl(f[t>>2]|0,f[t+4>>2]|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=H;if((s|0)<0|(s|0)==0&P>>>0<$>>>0)break;Zj(m);P=f[(f[r>>2]|0)+32>>2]|0;s=P+16|0;t=f[s>>2]|0;F=f[e>>2]|0;q=(f[P>>2]|0)+t+F|0;J=P+8|0;D=wl(f[J>>2]|0,f[J+4>>2]|0,t|0,f[s+4>>2]|0)|0;pk(m,q,D-F|0,d[P+38>>1]|0);P=Nb(a,m)|0;if((P|0)==-1)break;_=P;break b}while(0);X=0;break a}while(0);V=a+232|0;f[a+376>>2]=a;I=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;O=f[I>>2]|0;I=(f[O>>2]|0)+(f[O+16>>2]|0)|0;O=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;P=f[O>>2]|0;O=P+8|0;F=P+16|0;P=wl(f[O>>2]|0,f[O+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;pk(V,I,P,d[(f[F>>2]|0)+38>>1]|0);F=Ka[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=F;f[a+384>>2]=(f[l>>2]|0)+(f[Q>>2]|0);f[a+372>>2]=N;Zj(m);c:do if(Vb(V,m)|0){F=Xa(a,f[k>>2]|0)|0;if((F|0)==-1){aa=0;break}P=f[(f[r>>2]|0)+32>>2]|0;I=m+16|0;O=f[I>>2]|0;D=(f[m>>2]|0)+O|0;q=m+8|0;s=wl(f[q>>2]|0,f[q+4>>2]|0,O|0,f[I+4>>2]|0)|0;pk(P,D,s,d[P+38>>1]|0);P=f[r>>2]|0;s=(h[P+36>>0]<<8|h[P+37>>0])&65535;if((s&65535)<514){D=(f[P+32>>2]|0)+16|0;P=D;I=vl(f[P>>2]|0,f[P+4>>2]|0,_|0,((_|0)<0)<<31>>31|0)|0;P=D;f[P>>2]=I;f[P+4>>2]=H}do if((f[M>>2]|0)!=(f[g>>2]|0)){P=f[W>>2]|0;I=(f[P+4>>2]|0)!=(f[P>>2]|0);if((s&65535)<513){if(!I)break;P=0;do{f[n>>2]=P;f[e>>2]=f[n>>2];P=P+3|0;if(!(Zb(a,e)|0)){aa=0;break c}D=f[W>>2]|0}while(P>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}else{if(!I)break;P=0;do{f[o>>2]=P;f[e>>2]=f[o>>2];P=P+3|0;if(!(gc(a,e)|0)){aa=0;break c}D=f[W>>2]|0}while(P>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Cj(a+272|0);if((j[a+270>>1]|0)<514)Cj(a+328|0);s=f[g>>2]|0;if((f[M>>2]|0)!=(s|0)){P=0;I=s;do{gg(I+(P*144|0)+4|0,f[W>>2]|0)|0;s=f[g>>2]|0;D=f[s+(P*144|0)+132>>2]|0;O=f[s+(P*144|0)+136>>2]|0;if((D|0)==(O|0))ba=s;else{q=D;D=s;while(1){f[p>>2]=f[q>>2];f[e>>2]=f[p>>2];pf(D+(P*144|0)+4|0,e);q=q+4|0;s=f[g>>2]|0;if((q|0)==(O|0)){ba=s;break}else D=s}}jj(ba+(P*144|0)+4|0,0,0);P=P+1|0;I=f[g>>2]|0}while(P>>>0<(((f[M>>2]|0)-I|0)/144|0)>>>0)}I=f[W>>2]|0;P=(f[I+28>>2]|0)-(f[I+24>>2]|0)>>2;I=a+196|0;D=a+200|0;O=f[I>>2]|0;q=(f[D>>2]|0)-O>>2;do if(P>>>0>q>>>0)Eg(I,P-q|0);else{if(P>>>0>=q>>>0)break;f[D>>2]=O+(P<<2)}while(0);Wh(a+184|0,P);O=f[g>>2]|0;if((f[M>>2]|0)!=(O|0)){D=0;q=O;do{O=q;I=(f[O+(D*144|0)+60>>2]|0)-(f[O+(D*144|0)+56>>2]|0)>>2;s=f[W>>2]|0;t=(f[s+28>>2]|0)-(f[s+24>>2]|0)>>2;s=(I|0)<(t|0)?t:I;I=O+(D*144|0)+116|0;t=O+(D*144|0)+120|0;J=f[I>>2]|0;v=(f[t>>2]|0)-J>>2;do if(s>>>0>v>>>0)Eg(I,s-v|0);else{if(s>>>0>=v>>>0)break;f[t>>2]=J+(s<<2)}while(0);Wh(O+(D*144|0)+104|0,s);D=D+1|0;q=f[g>>2]|0}while(D>>>0<(((f[M>>2]|0)-q|0)/144|0)>>>0)}aa=Gb(a,F)|0}else aa=0;while(0);X=aa}else X=0}else X=0;while(0);U=X}else U=0;S=U;T=R;G=117}else{S=0;T=R;G=117}if((G|0)==117)L=S;K=L;u=c;return K|0}function ab(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;Ko(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=h[s+36>>0]<<8;v=(t|h[s+37>>0])&65535;do if((v&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=vl(B|0,f[A+4>>2]|0,4,0)|0;A=H;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0<C>>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=15}}else if(zh(e,w)|0){w=f[r>>2]|0;D=w;E=h[w+36>>0]<<8;F=f[e>>2]|0;G=15}if((G|0)==15){f[q>>2]=F;I=E;J=D;break}K=0;u=c;return K|0}else{I=t;J=s}while(0);s=f[J+32>>2]|0;if((I&65535)<512){I=s+8|0;J=f[I>>2]|0;t=f[I+4>>2]|0;I=s+16|0;D=I;E=f[D>>2]|0;F=vl(E|0,f[D+4>>2]|0,4,0)|0;D=H;if((t|0)<(D|0)|(t|0)==(D|0)&J>>>0<F>>>0)L=0;else{J=(f[s>>2]|0)+E|0;E=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[g>>2]=E;J=I;f[J>>2]=F;f[J+4>>2]=D;D=a+156|0;f[D>>2]=E;M=s;N=i;O=D;G=22}}else if(zh(g,s)|0){s=f[r>>2]|0;D=f[s+32>>2]|0;E=h[s+36>>0]<<8&65535;s=a+156|0;f[s>>2]=f[g>>2];if((E&65535)>=512)if(zh(i,D)|0){P=f[i>>2]|0;Q=s;R=i;G=26}else{S=0;T=i;G=117}else{M=D;N=i;O=s;G=22}}else L=0;if((G|0)==22){s=M+8|0;D=f[s>>2]|0;E=f[s+4>>2]|0;s=M+16|0;g=s;J=f[g>>2]|0;F=vl(J|0,f[g+4>>2]|0,4,0)|0;g=H;if((E|0)<(g|0)|(E|0)==(g|0)&D>>>0<F>>>0){S=0;T=N;G=117}else{D=(f[M>>2]|0)+J|0;J=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;f[i>>2]=J;D=s;f[D>>2]=F;f[D+4>>2]=g;P=J;Q=O;R=N;G=26}}if((G|0)==26)if((P>>>0<=1431655765?(f[Q>>2]|0)>>>0<=(P*3|0)>>>0:0)?(N=f[r>>2]|0,O=f[N+32>>2]|0,J=O+8|0,g=f[J>>2]|0,D=f[J+4>>2]|0,J=O+16|0,F=J,s=f[F>>2]|0,M=f[F+4>>2]|0,(D|0)>(M|0)|(D|0)==(M|0)&g>>>0>s>>>0):0){F=f[O>>2]|0;E=b[F+s>>0]|0;I=vl(s|0,M|0,1,0)|0;t=J;f[t>>2]=I;f[t+4>>2]=H;if((h[N+36>>0]<<8&65535)<512){N=vl(s|0,M|0,5,0)|0;M=H;if((D|0)<(M|0)|(D|0)==(M|0)&g>>>0<N>>>0)U=0;else{g=F+I|0;I=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[k>>2]=I;g=J;f[g>>2]=N;f[g+4>>2]=M;V=P;W=I;G=34}}else if(zh(k,O)|0){V=f[i>>2]|0;W=f[k>>2]|0;G=34}else U=0;if((G|0)==34)if(V>>>0>=W>>>0?V>>>0<=(((W>>>0)/3|0)+W|0)>>>0:0){V=f[r>>2]|0;O=f[V+32>>2]|0;if((h[V+36>>0]<<8&65535)<512){V=O+8|0;I=f[V>>2]|0;P=f[V+4>>2]|0;V=O+16|0;M=V;g=f[M>>2]|0;N=vl(g|0,f[M+4>>2]|0,4,0)|0;M=H;if((P|0)<(M|0)|(P|0)==(M|0)&I>>>0<N>>>0)X=0;else{I=(f[O>>2]|0)+g|0;g=h[I>>0]|h[I+1>>0]<<8|h[I+2>>0]<<16|h[I+3>>0]<<24;f[l>>2]=g;I=V;f[I>>2]=N;f[I+4>>2]=M;Y=g;Z=W;G=41}}else if(zh(l,O)|0){Y=f[l>>2]|0;Z=f[k>>2]|0;G=41}else X=0;a:do if((G|0)==41)if(Y>>>0<=Z>>>0){f[a+28>>2]=f[a+24>>2];O=wk(88)|0;Ej(O);W=a+8|0;g=f[W>>2]|0;f[W>>2]=O;if(g|0){O=f[g+76>>2]|0;if(O|0){f[g+80>>2]=O;Ko(O)}O=f[g+64>>2]|0;if(O|0){f[g+68>>2]=O;Ko(O)}O=f[g+48>>2]|0;if(O|0){f[g+52>>2]=O;Ko(O)}O=f[g+24>>2]|0;if(O|0){f[g+28>>2]=O;Ko(O)}O=f[g+12>>2]|0;if(O|0){f[g+16>>2]=O;Ko(O)}O=f[g>>2]|0;if(O|0){f[g+4>>2]=O;Ko(O)}Ko(g);if(!(f[W>>2]|0)){X=0;break}}g=a+160|0;f[a+164>>2]=f[g>>2];Wh(g,f[i>>2]|0);g=a+172|0;f[a+176>>2]=f[g>>2];Wh(g,f[i>>2]|0);f[a+40>>2]=f[a+36>>2];f[a+52>>2]=f[a+48>>2];f[a+64>>2]=0;f[a+76>>2]=f[a+72>>2];f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;O=f[g>>2]|0;M=a+220|0;I=f[M>>2]|0;if((I|0)!=(O|0)){N=I;do{I=f[N+-12>>2]|0;if(I|0){f[N+-8>>2]=I;Ko(I)}I=f[N+-28>>2]|0;if(I|0){f[N+-24>>2]=I;Ko(I)}I=f[N+-40>>2]|0;if(I|0){f[N+-36>>2]=I;Ko(I)}di(N+-140|0);N=N+-144|0}while((N|0)!=(O|0))}f[M>>2]=O;N=E&255;Zg(g,N);if(Hh(f[W>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[Q>>2]|0)|0)|0){I=(f[l>>2]|0)+(f[Q>>2]|0)|0;b[e>>0]=1;Gf(a+120|0,I,e);I=f[r>>2]|0;V=(h[I+36>>0]<<8|h[I+37>>0])&65535;b:do if((V&65535)>=514)if((Nb(a,f[I+32>>2]|0)|0)==-1){X=0;break a}else _=-1;else{P=f[I+32>>2]|0;do if((V&65535)<512){J=P+8|0;F=f[J>>2]|0;D=f[J+4>>2]|0;J=P+16|0;s=J;t=f[s>>2]|0;q=vl(t|0,f[s+4>>2]|0,4,0)|0;s=H;if((D|0)<(s|0)|(D|0)==(s|0)&F>>>0<q>>>0)break;F=(f[P>>2]|0)+t|0;t=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[e>>2]=t;F=J;f[F>>2]=q;f[F+4>>2]=s;$=t;G=72}else{if(!(zh(e,P)|0))break;$=f[e>>2]|0;G=72}while(0);do if((G|0)==72){if(!$)break;P=f[(f[r>>2]|0)+32>>2]|0;t=P+8|0;s=P+16|0;P=wl(f[t>>2]|0,f[t+4>>2]|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=H;if((s|0)<0|(s|0)==0&P>>>0<$>>>0)break;Zj(m);P=f[(f[r>>2]|0)+32>>2]|0;s=P+16|0;t=f[s>>2]|0;F=f[e>>2]|0;q=(f[P>>2]|0)+t+F|0;J=P+8|0;D=wl(f[J>>2]|0,f[J+4>>2]|0,t|0,f[s+4>>2]|0)|0;pk(m,q,D-F|0,d[P+38>>1]|0);P=Nb(a,m)|0;if((P|0)==-1)break;_=P;break b}while(0);X=0;break a}while(0);V=a+232|0;f[a+376>>2]=a;I=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;O=f[I>>2]|0;I=(f[O>>2]|0)+(f[O+16>>2]|0)|0;O=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;P=f[O>>2]|0;O=P+8|0;F=P+16|0;P=wl(f[O>>2]|0,f[O+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;pk(V,I,P,d[(f[F>>2]|0)+38>>1]|0);f[a+372>>2]=N;Zj(m);c:do if(Dd(V,m)|0){F=Ya(a,f[k>>2]|0)|0;if((F|0)==-1){aa=0;break}P=f[(f[r>>2]|0)+32>>2]|0;I=m+16|0;O=f[I>>2]|0;D=(f[m>>2]|0)+O|0;q=m+8|0;s=wl(f[q>>2]|0,f[q+4>>2]|0,O|0,f[I+4>>2]|0)|0;pk(P,D,s,d[P+38>>1]|0);P=f[r>>2]|0;s=(h[P+36>>0]<<8|h[P+37>>0])&65535;if((s&65535)<514){D=(f[P+32>>2]|0)+16|0;P=D;I=vl(f[P>>2]|0,f[P+4>>2]|0,_|0,((_|0)<0)<<31>>31|0)|0;P=D;f[P>>2]=I;f[P+4>>2]=H}do if((f[M>>2]|0)!=(f[g>>2]|0)){P=f[W>>2]|0;I=(f[P+4>>2]|0)!=(f[P>>2]|0);if((s&65535)<513){if(!I)break;P=0;do{f[n>>2]=P;f[e>>2]=f[n>>2];P=P+3|0;if(!(Zb(a,e)|0)){aa=0;break c}D=f[W>>2]|0}while(P>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}else{if(!I)break;P=0;do{f[o>>2]=P;f[e>>2]=f[o>>2];P=P+3|0;if(!(gc(a,e)|0)){aa=0;break c}D=f[W>>2]|0}while(P>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Cj(a+272|0);if((j[a+270>>1]|0)<514)Cj(a+328|0);s=f[g>>2]|0;if((f[M>>2]|0)!=(s|0)){P=0;I=s;do{gg(I+(P*144|0)+4|0,f[W>>2]|0)|0;s=f[g>>2]|0;D=f[s+(P*144|0)+132>>2]|0;O=f[s+(P*144|0)+136>>2]|0;if((D|0)==(O|0))ba=s;else{q=D;D=s;while(1){f[p>>2]=f[q>>2];f[e>>2]=f[p>>2];pf(D+(P*144|0)+4|0,e);q=q+4|0;s=f[g>>2]|0;if((q|0)==(O|0)){ba=s;break}else D=s}}jj(ba+(P*144|0)+4|0,0,0);P=P+1|0;I=f[g>>2]|0}while(P>>>0<(((f[M>>2]|0)-I|0)/144|0)>>>0)}I=f[W>>2]|0;P=(f[I+28>>2]|0)-(f[I+24>>2]|0)>>2;I=a+196|0;D=a+200|0;O=f[I>>2]|0;q=(f[D>>2]|0)-O>>2;do if(P>>>0>q>>>0)Eg(I,P-q|0);else{if(P>>>0>=q>>>0)break;f[D>>2]=O+(P<<2)}while(0);Wh(a+184|0,P);O=f[g>>2]|0;if((f[M>>2]|0)!=(O|0)){D=0;q=O;do{O=q;I=(f[O+(D*144|0)+60>>2]|0)-(f[O+(D*144|0)+56>>2]|0)>>2;s=f[W>>2]|0;t=(f[s+28>>2]|0)-(f[s+24>>2]|0)>>2;s=(I|0)<(t|0)?t:I;I=O+(D*144|0)+116|0;t=O+(D*144|0)+120|0;J=f[I>>2]|0;v=(f[t>>2]|0)-J>>2;do if(s>>>0>v>>>0)Eg(I,s-v|0);else{if(s>>>0>=v>>>0)break;f[t>>2]=J+(s<<2)}while(0);Wh(O+(D*144|0)+104|0,s);D=D+1|0;q=f[g>>2]|0}while(D>>>0<(((f[M>>2]|0)-q|0)/144|0)>>>0)}aa=Gb(a,F)|0}else aa=0;while(0);X=aa}else X=0}else X=0;while(0);U=X}else U=0;S=U;T=R;G=117}else{S=0;T=R;G=117}if((G|0)==117)L=S;K=L;u=c;return K|0}function bb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+120|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+132|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+108|0;t=a+4|0;n=a+96|0;j=a+52|0;i=a+48|0;l=a+40|0;o=a+32|0;p=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=C;while(1){J=f[B>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=(L>>>0)/341|0;O=f[M+(N<<2)>>2]|0;P=L-(N*341|0)|0;N=f[O+(P*12|0)>>2]|0;L=f[O+(P*12|0)+4>>2]|0;Q=f[O+(P*12|0)+8>>2]|0;f[z>>2]=K;K=f[q>>2]|0;P=K-M|0;if((1-I-J+((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[K+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}K=f[m>>2]|0;P=K+(Q*12|0)|0;J=(f[v>>2]|0)+(Q*12|0)|0;if(N>>>0>c>>>0){D=0;break a}M=Pk(a,N,J,L)|0;if(M>>>0>=(f[h>>2]|0)>>>0){D=0;break a}L=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!L)if(!N)R=19;else{O=0;while(1){S=f[k>>2]|0;c:do if((f[r>>2]|0)!=(S|0)){T=0;U=S;do{V=U;X=f[V+(T*20|0)>>2]|0;Y=V+(T*20|0)+12|0;_=V+(T*20|0)+16|0;$=(f[P>>2]|0)+(f[V+(T*20|0)+4>>2]<<2)|0;V=f[Y>>2]|0;if((V|0)==4)aa=$;else{if(f[_>>2]|0){ba=f[s>>2]|0;ca=0;da=V;while(1){Bf(ba|0,$+(ca<<2)|0,da|0)|0;ca=ca+1|0;V=f[Y>>2]|0;if(ca>>>0>=(f[_>>2]|0)>>>0)break;else{ba=ba+V|0;da=V}}}aa=f[s>>2]|0}da=f[A>>2]|0;if(!(b[X+84>>0]|0))ea=f[(f[X+68>>2]|0)+(da<<2)>>2]|0;else ea=da;if(ea>>>0>=(f[X+80>>2]|0)>>>0)break c;da=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(ea,da)|0)|0,aa|0,da|0)|0;T=T+1|0;U=f[k>>2]|0}while(T>>>0<(((f[r>>2]|0)-U|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;O=O+1|0;if((O|0)==(N|0)){R=19;break}}}else{if(N>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}O=Q+1|0;S=f[m>>2]|0;U=S+(O*12|0)|0;if((U|0)==(P|0))fa=S;else{Df(U,f[P>>2]|0,f[K+(Q*12|0)+4>>2]|0);fa=f[m>>2]|0}U=(f[fa+(O*12|0)>>2]|0)+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+(1<<L+-1);U=(Z(N|0)|0)^31;S=f[o>>2]|0;T=32-S|0;do if((U|0)>(T|0)){da=f[p>>2]|0;ba=da+4|0;if((ba|0)==(f[E>>2]|0))ga=0;else{_=f[da>>2]<<S;da=U-T|0;f[o>>2]=da;f[p>>2]=ba;ca=32-da|0;ga=(f[ba>>2]|0)>>>ca|_>>>(ca-T|0)}}else{ca=f[p>>2]|0;if((ca|0)==(f[E>>2]|0))ga=0;else{_=f[ca>>2]<<S>>>(32-U|0);ba=S+U|0;f[o>>2]=ba;if((ba|0)!=32){ga=_;break}f[p>>2]=ca+4;f[o>>2]=0;ga=_}}while(0);U=(N>>>1)-ga|0;S=N-U|0;d:do if((U|0)==(S|0)){ha=U;ia=U}else{T=f[F>>2]|0;_=f[H>>2]|0;do if((_|0)!=(f[G>>2]|0)){ca=(f[_>>2]&1<<31-T|0)!=0;ba=T+1|0;f[F>>2]=ba;if((ba|0)==32){f[H>>2]=_+4;f[F>>2]=0;if(ca){ha=U;ia=S;break d}else break}else if(ca){ha=U;ia=S;break d}else break}while(0);ha=S;ia=U}while(0);U=f[v>>2]|0;S=f[U+(Q*12|0)>>2]|0;_=S+(M<<2)|0;f[_>>2]=(f[_>>2]|0)+1;Df(U+(O*12|0)|0,S,f[U+(Q*12|0)+4>>2]|0);if(ha|0){U=f[q>>2]|0;S=f[y>>2]|0;_=U-S|0;T=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((_|0)==0?0:((_>>2)*341|0)+-1|0)|0)==(T|0)){cc(g);ja=(f[B>>2]|0)+(f[z>>2]|0)|0;ka=f[q>>2]|0;la=f[y>>2]|0}else{ja=T;ka=U;la=S}if((ka|0)==(la|0))ma=0;else{S=(ja>>>0)/341|0;ma=(f[la+(S<<2)>>2]|0)+((ja-(S*341|0)|0)*12|0)|0}f[ma>>2]=ha;f[ma+4>>2]=M;f[ma+8>>2]=Q;f[z>>2]=(f[z>>2]|0)+1}if(!ia){R=19;break}S=f[q>>2]|0;U=f[y>>2]|0;T=S-U|0;_=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((T|0)==0?0:((T>>2)*341|0)+-1|0)|0)==(_|0)){cc(g);na=(f[B>>2]|0)+(f[z>>2]|0)|0;oa=f[q>>2]|0;pa=f[y>>2]|0}else{na=_;oa=S;pa=U}if((oa|0)==(pa|0))qa=0;else{U=(na>>>0)/341|0;qa=(f[pa+(U<<2)>>2]|0)+((na-(U*341|0)|0)*12|0)|0}f[qa>>2]=ia;f[qa+4>>2]=M;f[qa+8>>2]=O;U=(f[z>>2]|0)+1|0;f[z>>2]=U;ra=U;break}U=f[x>>2]|0;f[U>>2]=M;S=f[h>>2]|0;if(S>>>0>1){_=1;T=S;ca=M;while(1){ca=(ca|0)==(T+-1|0)?0:ca+1|0;f[U+(_<<2)>>2]=ca;_=_+1|0;ba=f[h>>2]|0;if(_>>>0>=ba>>>0){sa=ba;break}else T=ba}}else sa=S;if(!N)R=19;else{T=0;_=sa;while(1){if(_|0){ca=f[x>>2]|0;U=f[n>>2]|0;O=f[J>>2]|0;ba=0;do{da=ca+(ba<<2)|0;f[U+(f[da>>2]<<2)>>2]=0;Y=f[da>>2]|0;$=(f[a>>2]|0)-(f[O+(Y<<2)>>2]|0)|0;do if($|0){V=U+(Y<<2)|0;ta=f[j>>2]|0;ua=32-ta|0;if(($|0)>(ua|0)){va=f[i>>2]|0;wa=va+4|0;if((wa|0)==(f[l>>2]|0)){f[V>>2]=0;break}else{xa=f[va>>2]<<ta;va=$-ua|0;f[j>>2]=va;f[i>>2]=wa;ya=32-va|0;f[V>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[i>>2]|0;if((ua|0)==(f[l>>2]|0)){f[V>>2]=0;break}f[V>>2]=f[ua>>2]<<ta>>>(32-$|0);ta=(f[j>>2]|0)+$|0;f[j>>2]=ta;if((ta|0)!=32)break;f[i>>2]=ua+4;f[j>>2]=0}while(0);$=f[da>>2]|0;Y=U+($<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[P>>2]|0)+($<<2)>>2];ba=ba+1|0}while(ba>>>0<(f[h>>2]|0)>>>0)}ba=f[k>>2]|0;e:do if((f[r>>2]|0)!=(ba|0)){U=0;O=ba;do{ca=O;$=f[ca+(U*20|0)>>2]|0;Y=ca+(U*20|0)+12|0;ua=ca+(U*20|0)+16|0;ta=(f[n>>2]|0)+(f[ca+(U*20|0)+4>>2]<<2)|0;ca=f[Y>>2]|0;if((ca|0)==4)za=ta;else{if(f[ua>>2]|0){V=f[s>>2]|0;ya=0;xa=ca;while(1){Bf(V|0,ta+(ya<<2)|0,xa|0)|0;ya=ya+1|0;ca=f[Y>>2]|0;if(ya>>>0>=(f[ua>>2]|0)>>>0)break;else{V=V+ca|0;xa=ca}}}za=f[s>>2]|0}xa=f[A>>2]|0;if(!(b[$+84>>0]|0))Aa=f[(f[$+68>>2]|0)+(xa<<2)>>2]|0;else Aa=xa;if(Aa>>>0>=(f[$+80>>2]|0)>>>0)break e;xa=f[$+40>>2]|0;Bf((f[f[$+64>>2]>>2]|0)+(W(Aa,xa)|0)|0,za|0,xa|0)|0;U=U+1|0;O=f[k>>2]|0}while(U>>>0<(((f[r>>2]|0)-O|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;ba=T+1|0;if((ba|0)==(N|0)){R=19;break b}T=ba;_=f[h>>2]|0}}}while(0);if((R|0)==19){R=0;ra=f[z>>2]|0}if(!ra){D=1;break}else I=ra}}while(0);ra=f[y>>2]|0;h=f[B>>2]|0;za=(h>>>0)/341|0;Aa=ra+(za<<2)|0;a=f[q>>2]|0;sa=a;qa=ra;if((a|0)!=(ra|0)?(ia=(f[Aa>>2]|0)+((h-(za*341|0)|0)*12|0)|0,za=(f[z>>2]|0)+h|0,h=(za>>>0)/341|0,na=(f[ra+(h<<2)>>2]|0)+((za-(h*341|0)|0)*12|0)|0,(na|0)!=(ia|0)):0){h=Aa;Aa=ia;while(1){ia=Aa+12|0;if((ia-(f[h>>2]|0)|0)==4092){za=h+4|0;Ba=za;Ca=f[za>>2]|0}else{Ba=h;Ca=ia}Aa=Ca;if((na|0)==(Aa|0))break;else h=Ba}}f[z>>2]=0;z=sa-qa>>2;if(z>>>0>2){qa=ra;do{Ko(f[qa>>2]|0);qa=(f[y>>2]|0)+4|0;f[y>>2]=qa;Da=f[q>>2]|0;Ea=Da-qa>>2}while(Ea>>>0>2);Fa=Ea;Ga=qa;Ha=Da}else{Fa=z;Ga=ra;Ha=a}switch(Fa|0){case 1:{Ia=170;R=110;break}case 2:{Ia=341;R=110;break}default:{}}if((R|0)==110)f[B>>2]=Ia;if((Ga|0)!=(Ha|0)){Ia=Ga;do{Ko(f[Ia>>2]|0);Ia=Ia+4|0}while((Ia|0)!=(Ha|0));Ha=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ha|0))f[q>>2]=y+(~((y+-4-Ha|0)>>>2)<<2)}Ha=f[g>>2]|0;if(!Ha){u=e;return D|0}Ko(Ha);u=e;return D|0}function cb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+120|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+132|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+108|0;t=a+4|0;n=a+96|0;j=a+52|0;i=a+48|0;l=a+40|0;o=a+32|0;p=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=C;while(1){J=f[B>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=(L>>>0)/341|0;O=f[M+(N<<2)>>2]|0;P=L-(N*341|0)|0;N=f[O+(P*12|0)>>2]|0;L=f[O+(P*12|0)+4>>2]|0;Q=f[O+(P*12|0)+8>>2]|0;f[z>>2]=K;K=f[q>>2]|0;P=K-M|0;if((1-I-J+((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[K+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}K=f[m>>2]|0;P=K+(Q*12|0)|0;if(N>>>0>c>>>0){D=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(L|0)?0:L+1|0;if(M>>>0>=J>>>0){D=0;break a}J=(f[v>>2]|0)+(Q*12|0)|0;L=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!L)if(!N)R=19;else{O=0;while(1){S=f[k>>2]|0;c:do if((f[r>>2]|0)!=(S|0)){T=0;U=S;do{V=U;X=f[V+(T*20|0)>>2]|0;Y=V+(T*20|0)+12|0;_=V+(T*20|0)+16|0;$=(f[P>>2]|0)+(f[V+(T*20|0)+4>>2]<<2)|0;V=f[Y>>2]|0;if((V|0)==4)aa=$;else{if(f[_>>2]|0){ba=f[s>>2]|0;ca=0;da=V;while(1){Bf(ba|0,$+(ca<<2)|0,da|0)|0;ca=ca+1|0;V=f[Y>>2]|0;if(ca>>>0>=(f[_>>2]|0)>>>0)break;else{ba=ba+V|0;da=V}}}aa=f[s>>2]|0}da=f[A>>2]|0;if(!(b[X+84>>0]|0))ea=f[(f[X+68>>2]|0)+(da<<2)>>2]|0;else ea=da;if(ea>>>0>=(f[X+80>>2]|0)>>>0)break c;da=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(ea,da)|0)|0,aa|0,da|0)|0;T=T+1|0;U=f[k>>2]|0}while(T>>>0<(((f[r>>2]|0)-U|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;O=O+1|0;if((O|0)==(N|0)){R=19;break}}}else{if(N>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}O=Q+1|0;Df(K+(O*12|0)|0,f[P>>2]|0,f[K+(Q*12|0)+4>>2]|0);S=(f[(f[m>>2]|0)+(O*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<<L+-1);S=(Z(N|0)|0)^31;U=f[o>>2]|0;T=32-U|0;if((S|0)>(T|0)){da=f[p>>2]|0;ba=da+4|0;if((ba|0)==(f[E>>2]|0))fa=0;else{_=f[da>>2]<<U;da=S-T|0;f[o>>2]=da;f[p>>2]=ba;ca=32-da|0;fa=(f[ba>>2]|0)>>>ca|_>>>(ca-T|0)}}else{T=f[p>>2]|0;if((T|0)!=(f[E>>2]|0)){ca=f[T>>2]<<U>>>(32-S|0);_=U+S|0;f[o>>2]=_;if((_|0)==32){f[p>>2]=T+4;f[o>>2]=0;fa=ca}else fa=ca}else fa=0}ca=(N>>>1)-fa|0;T=N-ca|0;d:do if((ca|0)==(T|0)){ga=ca;ha=ca}else{_=f[F>>2]|0;S=f[H>>2]|0;do if((S|0)!=(f[G>>2]|0)){U=(f[S>>2]&1<<31-_|0)!=0;ba=_+1|0;f[F>>2]=ba;if((ba|0)==32){f[H>>2]=S+4;f[F>>2]=0;if(U){ga=ca;ha=T;break d}else break}else if(U){ga=ca;ha=T;break d}else break}while(0);ga=T;ha=ca}while(0);ca=f[v>>2]|0;T=f[ca+(Q*12|0)>>2]|0;S=T+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;Df(ca+(O*12|0)|0,T,f[ca+(Q*12|0)+4>>2]|0);if(ga|0){ca=f[q>>2]|0;T=f[y>>2]|0;S=ca-T|0;_=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((S|0)==0?0:((S>>2)*341|0)+-1|0)|0)==(_|0)){cc(g);ia=(f[B>>2]|0)+(f[z>>2]|0)|0;ja=f[q>>2]|0;ka=f[y>>2]|0}else{ia=_;ja=ca;ka=T}if((ja|0)==(ka|0))la=0;else{T=(ia>>>0)/341|0;la=(f[ka+(T<<2)>>2]|0)+((ia-(T*341|0)|0)*12|0)|0}f[la>>2]=ga;f[la+4>>2]=M;f[la+8>>2]=Q;f[z>>2]=(f[z>>2]|0)+1}if(!ha){R=19;break}T=f[q>>2]|0;ca=f[y>>2]|0;_=T-ca|0;S=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((_|0)==0?0:((_>>2)*341|0)+-1|0)|0)==(S|0)){cc(g);ma=(f[B>>2]|0)+(f[z>>2]|0)|0;na=f[q>>2]|0;oa=f[y>>2]|0}else{ma=S;na=T;oa=ca}if((na|0)==(oa|0))pa=0;else{ca=(ma>>>0)/341|0;pa=(f[oa+(ca<<2)>>2]|0)+((ma-(ca*341|0)|0)*12|0)|0}f[pa>>2]=ha;f[pa+4>>2]=M;f[pa+8>>2]=O;ca=(f[z>>2]|0)+1|0;f[z>>2]=ca;qa=ca;break}ca=f[x>>2]|0;f[ca>>2]=M;T=f[h>>2]|0;if(T>>>0>1){S=1;_=T;U=M;while(1){U=(U|0)==(_+-1|0)?0:U+1|0;f[ca+(S<<2)>>2]=U;S=S+1|0;ba=f[h>>2]|0;if(S>>>0>=ba>>>0){ra=ba;break}else _=ba}}else ra=T;if(!N)R=19;else{_=0;S=ra;while(1){if(S|0){U=f[x>>2]|0;ca=f[n>>2]|0;O=f[J>>2]|0;ba=0;do{da=U+(ba<<2)|0;f[ca+(f[da>>2]<<2)>>2]=0;Y=f[da>>2]|0;$=(f[a>>2]|0)-(f[O+(Y<<2)>>2]|0)|0;do if($|0){V=ca+(Y<<2)|0;sa=f[j>>2]|0;ta=32-sa|0;if(($|0)>(ta|0)){ua=f[i>>2]|0;va=ua+4|0;if((va|0)==(f[l>>2]|0)){f[V>>2]=0;break}else{wa=f[ua>>2]<<sa;ua=$-ta|0;f[j>>2]=ua;f[i>>2]=va;xa=32-ua|0;f[V>>2]=(f[va>>2]|0)>>>xa|wa>>>(xa-ta|0);break}}ta=f[i>>2]|0;if((ta|0)==(f[l>>2]|0)){f[V>>2]=0;break}f[V>>2]=f[ta>>2]<<sa>>>(32-$|0);sa=(f[j>>2]|0)+$|0;f[j>>2]=sa;if((sa|0)!=32)break;f[i>>2]=ta+4;f[j>>2]=0}while(0);$=f[da>>2]|0;Y=ca+($<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[P>>2]|0)+($<<2)>>2];ba=ba+1|0}while(ba>>>0<(f[h>>2]|0)>>>0)}ba=f[k>>2]|0;e:do if((f[r>>2]|0)!=(ba|0)){ca=0;O=ba;do{U=O;$=f[U+(ca*20|0)>>2]|0;Y=U+(ca*20|0)+12|0;ta=U+(ca*20|0)+16|0;sa=(f[n>>2]|0)+(f[U+(ca*20|0)+4>>2]<<2)|0;U=f[Y>>2]|0;if((U|0)==4)ya=sa;else{if(f[ta>>2]|0){V=f[s>>2]|0;xa=0;wa=U;while(1){Bf(V|0,sa+(xa<<2)|0,wa|0)|0;xa=xa+1|0;U=f[Y>>2]|0;if(xa>>>0>=(f[ta>>2]|0)>>>0)break;else{V=V+U|0;wa=U}}}ya=f[s>>2]|0}wa=f[A>>2]|0;if(!(b[$+84>>0]|0))za=f[(f[$+68>>2]|0)+(wa<<2)>>2]|0;else za=wa;if(za>>>0>=(f[$+80>>2]|0)>>>0)break e;wa=f[$+40>>2]|0;Bf((f[f[$+64>>2]>>2]|0)+(W(za,wa)|0)|0,ya|0,wa|0)|0;ca=ca+1|0;O=f[k>>2]|0}while(ca>>>0<(((f[r>>2]|0)-O|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;ba=_+1|0;if((ba|0)==(N|0)){R=19;break b}_=ba;S=f[h>>2]|0}}}while(0);if((R|0)==19){R=0;qa=f[z>>2]|0}if(!qa){D=1;break}else I=qa}}while(0);qa=f[y>>2]|0;h=f[B>>2]|0;ya=(h>>>0)/341|0;za=qa+(ya<<2)|0;a=f[q>>2]|0;ra=a;pa=qa;if((a|0)!=(qa|0)?(ha=(f[za>>2]|0)+((h-(ya*341|0)|0)*12|0)|0,ya=(f[z>>2]|0)+h|0,h=(ya>>>0)/341|0,ma=(f[qa+(h<<2)>>2]|0)+((ya-(h*341|0)|0)*12|0)|0,(ma|0)!=(ha|0)):0){h=za;za=ha;while(1){ha=za+12|0;if((ha-(f[h>>2]|0)|0)==4092){ya=h+4|0;Aa=ya;Ba=f[ya>>2]|0}else{Aa=h;Ba=ha}za=Ba;if((ma|0)==(za|0))break;else h=Aa}}f[z>>2]=0;z=ra-pa>>2;if(z>>>0>2){pa=qa;do{Ko(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;Ca=f[q>>2]|0;Da=Ca-pa>>2}while(Da>>>0>2);Ea=Da;Fa=pa;Ga=Ca}else{Ea=z;Fa=qa;Ga=a}switch(Ea|0){case 1:{Ha=170;R=108;break}case 2:{Ha=341;R=108;break}default:{}}if((R|0)==108)f[B>>2]=Ha;if((Fa|0)!=(Ga|0)){Ha=Fa;do{Ko(f[Ha>>2]|0);Ha=Ha+4|0}while((Ha|0)!=(Ga|0));Ga=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ga|0))f[q>>2]=y+(~((y+-4-Ga|0)>>>2)<<2)}Ga=f[g>>2]|0;if(!Ga){u=e;return D|0}Ko(Ga);u=e;return D|0}function db(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+616|0;t=a+4|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;G=(f[v>>2]|0)+(N*12|0)|0;if(K>>>0>c>>>0){D=0;break a}J=tg(a,K,G,I)|0;if(J>>>0>=(f[h>>2]|0)>>>0){D=0;break a}I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;while(1){P=f[k>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;X=(f[M>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;if((S|0)==4)Y=X;else{if(f[V>>2]|0){_=f[s>>2]|0;$=0;aa=S;while(1){Bf(_|0,X+($<<2)|0,aa|0)|0;$=$+1|0;S=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{_=_+S|0;aa=S}}}Y=f[s>>2]|0}aa=f[A>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(aa<<2)>>2]|0;else ba=aa;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;aa=f[T+40>>2]|0;Bf((f[f[T+64>>2]>>2]|0)+(W(ba,aa)|0)|0,Y|0,aa|0)|0;Q=Q+1|0;R=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;L=L+1|0;if((L|0)==(K|0)){O=19;break}}}else{if(K>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}L=N+1|0;P=f[m>>2]|0;R=P+(L*12|0)|0;if((R|0)==(M|0))ca=P;else{Df(R,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[m>>2]|0}R=(f[ca+(L*12|0)>>2]|0)+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<<I+-1);R=(Z(K|0)|0)^31;if(!R)da=0;else{P=0;Q=0;while(1){aa=Q<<1|(pi(a+16+(P<<4)|0)|0)&1;P=P+1|0;if((P|0)==(R|0)){da=aa;break}else Q=aa}}Q=(K>>>1)-da|0;R=K-Q|0;d:do if((Q|0)==(R|0)){ea=Q;fa=Q}else{P=f[o>>2]|0;aa=f[E>>2]|0;do if((aa|0)!=(f[p>>2]|0)){_=(f[aa>>2]&1<<31-P|0)!=0;V=P+1|0;f[o>>2]=V;if((V|0)==32){f[E>>2]=aa+4;f[o>>2]=0;if(_){ea=Q;fa=R;break d}else break}else if(_){ea=Q;fa=R;break d}else break}while(0);ea=R;fa=Q}while(0);Q=f[v>>2]|0;R=f[Q+(N*12|0)>>2]|0;aa=R+(J<<2)|0;f[aa>>2]=(f[aa>>2]|0)+1;Df(Q+(L*12|0)|0,R,f[Q+(N*12|0)+4>>2]|0);if(ea|0){Q=f[q>>2]|0;R=f[y>>2]|0;aa=Q-R|0;P=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((aa|0)==0?0:((aa>>2)*341|0)+-1|0)|0)==(P|0)){cc(g);ga=(f[B>>2]|0)+(f[z>>2]|0)|0;ha=f[q>>2]|0;ia=f[y>>2]|0}else{ga=P;ha=Q;ia=R}if((ha|0)==(ia|0))ja=0;else{R=(ga>>>0)/341|0;ja=(f[ia+(R<<2)>>2]|0)+((ga-(R*341|0)|0)*12|0)|0}f[ja>>2]=ea;f[ja+4>>2]=J;f[ja+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!fa){O=19;break}R=f[q>>2]|0;Q=f[y>>2]|0;P=R-Q|0;aa=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)==(aa|0)){cc(g);ka=(f[B>>2]|0)+(f[z>>2]|0)|0;la=f[q>>2]|0;ma=f[y>>2]|0}else{ka=aa;la=R;ma=Q}if((la|0)==(ma|0))na=0;else{Q=(ka>>>0)/341|0;na=(f[ma+(Q<<2)>>2]|0)+((ka-(Q*341|0)|0)*12|0)|0}f[na>>2]=fa;f[na+4>>2]=J;f[na+8>>2]=L;Q=(f[z>>2]|0)+1|0;f[z>>2]=Q;oa=Q;break}Q=f[x>>2]|0;f[Q>>2]=J;R=f[h>>2]|0;if(R>>>0>1){aa=1;P=R;_=J;while(1){_=(_|0)==(P+-1|0)?0:_+1|0;f[Q+(aa<<2)>>2]=_;aa=aa+1|0;V=f[h>>2]|0;if(aa>>>0>=V>>>0){pa=V;break}else P=V}}else pa=R;if(!K)O=19;else{P=0;aa=pa;while(1){if(aa|0){_=f[x>>2]|0;Q=f[n>>2]|0;L=f[G>>2]|0;V=0;do{$=_+(V<<2)|0;f[Q+(f[$>>2]<<2)>>2]=0;U=f[$>>2]|0;X=(f[a>>2]|0)-(f[L+(U<<2)>>2]|0)|0;do if(X|0){S=Q+(U<<2)|0;qa=f[j>>2]|0;ra=32-qa|0;if((X|0)>(ra|0)){sa=f[i>>2]|0;ta=sa+4|0;if((ta|0)==(f[l>>2]|0)){f[S>>2]=0;break}else{ua=f[sa>>2]<<qa;sa=X-ra|0;f[j>>2]=sa;f[i>>2]=ta;va=32-sa|0;f[S>>2]=(f[ta>>2]|0)>>>va|ua>>>(va-ra|0);break}}ra=f[i>>2]|0;if((ra|0)==(f[l>>2]|0)){f[S>>2]=0;break}f[S>>2]=f[ra>>2]<<qa>>>(32-X|0);qa=(f[j>>2]|0)+X|0;f[j>>2]=qa;if((qa|0)!=32)break;f[i>>2]=ra+4;f[j>>2]=0}while(0);X=f[$>>2]|0;U=Q+(X<<2)|0;f[U>>2]=f[U>>2]|f[(f[M>>2]|0)+(X<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[k>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;L=V;do{_=L;X=f[_+(Q*20|0)>>2]|0;U=_+(Q*20|0)+12|0;ra=_+(Q*20|0)+16|0;qa=(f[n>>2]|0)+(f[_+(Q*20|0)+4>>2]<<2)|0;_=f[U>>2]|0;if((_|0)==4)wa=qa;else{if(f[ra>>2]|0){S=f[s>>2]|0;va=0;ua=_;while(1){Bf(S|0,qa+(va<<2)|0,ua|0)|0;va=va+1|0;_=f[U>>2]|0;if(va>>>0>=(f[ra>>2]|0)>>>0)break;else{S=S+_|0;ua=_}}}wa=f[s>>2]|0}ua=f[A>>2]|0;if(!(b[X+84>>0]|0))xa=f[(f[X+68>>2]|0)+(ua<<2)>>2]|0;else xa=ua;if(xa>>>0>=(f[X+80>>2]|0)>>>0)break e;ua=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(xa,ua)|0)|0,wa|0,ua|0)|0;Q=Q+1|0;L=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-L|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=P+1|0;if((V|0)==(K|0)){O=19;break b}P=V;aa=f[h>>2]|0}}}while(0);if((O|0)==19){O=0;oa=f[z>>2]|0}if(!oa){D=1;break}else F=oa}}while(0);oa=f[y>>2]|0;h=f[B>>2]|0;wa=(h>>>0)/341|0;xa=oa+(wa<<2)|0;a=f[q>>2]|0;pa=a;na=oa;if((a|0)!=(oa|0)?(fa=(f[xa>>2]|0)+((h-(wa*341|0)|0)*12|0)|0,wa=(f[z>>2]|0)+h|0,h=(wa>>>0)/341|0,ka=(f[oa+(h<<2)>>2]|0)+((wa-(h*341|0)|0)*12|0)|0,(ka|0)!=(fa|0)):0){h=xa;xa=fa;while(1){fa=xa+12|0;if((fa-(f[h>>2]|0)|0)==4092){wa=h+4|0;ya=wa;za=f[wa>>2]|0}else{ya=h;za=fa}xa=za;if((ka|0)==(xa|0))break;else h=ya}}f[z>>2]=0;z=pa-na>>2;if(z>>>0>2){na=oa;do{Ko(f[na>>2]|0);na=(f[y>>2]|0)+4|0;f[y>>2]=na;Aa=f[q>>2]|0;Ba=Aa-na>>2}while(Ba>>>0>2);Ca=Ba;Da=na;Ea=Aa}else{Ca=z;Da=oa;Ea=a}switch(Ca|0){case 1:{Fa=170;O=107;break}case 2:{Fa=341;O=107;break}default:{}}if((O|0)==107)f[B>>2]=Fa;if((Da|0)!=(Ea|0)){Fa=Da;do{Ko(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Ea|0));Ea=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ea|0))f[q>>2]=y+(~((y+-4-Ea|0)>>>2)<<2)}Ea=f[g>>2]|0;if(!Ea){u=e;return D|0}Ko(Ea);u=e;return D|0}function eb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+616|0;t=a+4|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;G=(f[v>>2]|0)+(N*12|0)|0;if(K>>>0>c>>>0){D=0;break a}J=Pk(a,K,G,I)|0;if(J>>>0>=(f[h>>2]|0)>>>0){D=0;break a}I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;while(1){P=f[k>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;X=(f[M>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;if((S|0)==4)Y=X;else{if(f[V>>2]|0){_=f[s>>2]|0;$=0;aa=S;while(1){Bf(_|0,X+($<<2)|0,aa|0)|0;$=$+1|0;S=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{_=_+S|0;aa=S}}}Y=f[s>>2]|0}aa=f[A>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(aa<<2)>>2]|0;else ba=aa;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;aa=f[T+40>>2]|0;Bf((f[f[T+64>>2]>>2]|0)+(W(ba,aa)|0)|0,Y|0,aa|0)|0;Q=Q+1|0;R=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;L=L+1|0;if((L|0)==(K|0)){O=19;break}}}else{if(K>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}L=N+1|0;P=f[m>>2]|0;R=P+(L*12|0)|0;if((R|0)==(M|0))ca=P;else{Df(R,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[m>>2]|0}R=(f[ca+(L*12|0)>>2]|0)+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<<I+-1);R=(Z(K|0)|0)^31;if(!R)da=0;else{P=0;Q=0;while(1){aa=Q<<1|(pi(a+16+(P<<4)|0)|0)&1;P=P+1|0;if((P|0)==(R|0)){da=aa;break}else Q=aa}}Q=(K>>>1)-da|0;R=K-Q|0;d:do if((Q|0)==(R|0)){ea=Q;fa=Q}else{P=f[o>>2]|0;aa=f[E>>2]|0;do if((aa|0)!=(f[p>>2]|0)){_=(f[aa>>2]&1<<31-P|0)!=0;V=P+1|0;f[o>>2]=V;if((V|0)==32){f[E>>2]=aa+4;f[o>>2]=0;if(_){ea=Q;fa=R;break d}else break}else if(_){ea=Q;fa=R;break d}else break}while(0);ea=R;fa=Q}while(0);Q=f[v>>2]|0;R=f[Q+(N*12|0)>>2]|0;aa=R+(J<<2)|0;f[aa>>2]=(f[aa>>2]|0)+1;Df(Q+(L*12|0)|0,R,f[Q+(N*12|0)+4>>2]|0);if(ea|0){Q=f[q>>2]|0;R=f[y>>2]|0;aa=Q-R|0;P=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((aa|0)==0?0:((aa>>2)*341|0)+-1|0)|0)==(P|0)){cc(g);ga=(f[B>>2]|0)+(f[z>>2]|0)|0;ha=f[q>>2]|0;ia=f[y>>2]|0}else{ga=P;ha=Q;ia=R}if((ha|0)==(ia|0))ja=0;else{R=(ga>>>0)/341|0;ja=(f[ia+(R<<2)>>2]|0)+((ga-(R*341|0)|0)*12|0)|0}f[ja>>2]=ea;f[ja+4>>2]=J;f[ja+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!fa){O=19;break}R=f[q>>2]|0;Q=f[y>>2]|0;P=R-Q|0;aa=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)==(aa|0)){cc(g);ka=(f[B>>2]|0)+(f[z>>2]|0)|0;la=f[q>>2]|0;ma=f[y>>2]|0}else{ka=aa;la=R;ma=Q}if((la|0)==(ma|0))na=0;else{Q=(ka>>>0)/341|0;na=(f[ma+(Q<<2)>>2]|0)+((ka-(Q*341|0)|0)*12|0)|0}f[na>>2]=fa;f[na+4>>2]=J;f[na+8>>2]=L;Q=(f[z>>2]|0)+1|0;f[z>>2]=Q;oa=Q;break}Q=f[x>>2]|0;f[Q>>2]=J;R=f[h>>2]|0;if(R>>>0>1){aa=1;P=R;_=J;while(1){_=(_|0)==(P+-1|0)?0:_+1|0;f[Q+(aa<<2)>>2]=_;aa=aa+1|0;V=f[h>>2]|0;if(aa>>>0>=V>>>0){pa=V;break}else P=V}}else pa=R;if(!K)O=19;else{P=0;aa=pa;while(1){if(aa|0){_=f[x>>2]|0;Q=f[n>>2]|0;L=f[G>>2]|0;V=0;do{$=_+(V<<2)|0;f[Q+(f[$>>2]<<2)>>2]=0;U=f[$>>2]|0;X=(f[a>>2]|0)-(f[L+(U<<2)>>2]|0)|0;do if(X|0){S=Q+(U<<2)|0;qa=f[j>>2]|0;ra=32-qa|0;if((X|0)>(ra|0)){sa=f[i>>2]|0;ta=sa+4|0;if((ta|0)==(f[l>>2]|0)){f[S>>2]=0;break}else{ua=f[sa>>2]<<qa;sa=X-ra|0;f[j>>2]=sa;f[i>>2]=ta;va=32-sa|0;f[S>>2]=(f[ta>>2]|0)>>>va|ua>>>(va-ra|0);break}}ra=f[i>>2]|0;if((ra|0)==(f[l>>2]|0)){f[S>>2]=0;break}f[S>>2]=f[ra>>2]<<qa>>>(32-X|0);qa=(f[j>>2]|0)+X|0;f[j>>2]=qa;if((qa|0)!=32)break;f[i>>2]=ra+4;f[j>>2]=0}while(0);X=f[$>>2]|0;U=Q+(X<<2)|0;f[U>>2]=f[U>>2]|f[(f[M>>2]|0)+(X<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[k>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;L=V;do{_=L;X=f[_+(Q*20|0)>>2]|0;U=_+(Q*20|0)+12|0;ra=_+(Q*20|0)+16|0;qa=(f[n>>2]|0)+(f[_+(Q*20|0)+4>>2]<<2)|0;_=f[U>>2]|0;if((_|0)==4)wa=qa;else{if(f[ra>>2]|0){S=f[s>>2]|0;va=0;ua=_;while(1){Bf(S|0,qa+(va<<2)|0,ua|0)|0;va=va+1|0;_=f[U>>2]|0;if(va>>>0>=(f[ra>>2]|0)>>>0)break;else{S=S+_|0;ua=_}}}wa=f[s>>2]|0}ua=f[A>>2]|0;if(!(b[X+84>>0]|0))xa=f[(f[X+68>>2]|0)+(ua<<2)>>2]|0;else xa=ua;if(xa>>>0>=(f[X+80>>2]|0)>>>0)break e;ua=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(xa,ua)|0)|0,wa|0,ua|0)|0;Q=Q+1|0;L=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-L|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=P+1|0;if((V|0)==(K|0)){O=19;break b}P=V;aa=f[h>>2]|0}}}while(0);if((O|0)==19){O=0;oa=f[z>>2]|0}if(!oa){D=1;break}else F=oa}}while(0);oa=f[y>>2]|0;h=f[B>>2]|0;wa=(h>>>0)/341|0;xa=oa+(wa<<2)|0;a=f[q>>2]|0;pa=a;na=oa;if((a|0)!=(oa|0)?(fa=(f[xa>>2]|0)+((h-(wa*341|0)|0)*12|0)|0,wa=(f[z>>2]|0)+h|0,h=(wa>>>0)/341|0,ka=(f[oa+(h<<2)>>2]|0)+((wa-(h*341|0)|0)*12|0)|0,(ka|0)!=(fa|0)):0){h=xa;xa=fa;while(1){fa=xa+12|0;if((fa-(f[h>>2]|0)|0)==4092){wa=h+4|0;ya=wa;za=f[wa>>2]|0}else{ya=h;za=fa}xa=za;if((ka|0)==(xa|0))break;else h=ya}}f[z>>2]=0;z=pa-na>>2;if(z>>>0>2){na=oa;do{Ko(f[na>>2]|0);na=(f[y>>2]|0)+4|0;f[y>>2]=na;Aa=f[q>>2]|0;Ba=Aa-na>>2}while(Ba>>>0>2);Ca=Ba;Da=na;Ea=Aa}else{Ca=z;Da=oa;Ea=a}switch(Ca|0){case 1:{Fa=170;O=107;break}case 2:{Fa=341;O=107;break}default:{}}if((O|0)==107)f[B>>2]=Fa;if((Da|0)!=(Ea|0)){Fa=Da;do{Ko(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Ea|0));Ea=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ea|0))f[q>>2]=y+(~((y+-4-Ea|0)>>>2)<<2)}Ea=f[g>>2]|0;if(!Ea){u=e;return D|0}Ko(Ea);u=e;return D|0}function fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+616|0;t=a+4|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;if(K>>>0>c>>>0){D=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(I|0)?0:I+1|0;if(J>>>0>=G>>>0){D=0;break a}G=(f[v>>2]|0)+(N*12|0)|0;I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;while(1){P=f[k>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;X=(f[M>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;if((S|0)==4)Y=X;else{if(f[V>>2]|0){_=f[s>>2]|0;$=0;aa=S;while(1){Bf(_|0,X+($<<2)|0,aa|0)|0;$=$+1|0;S=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{_=_+S|0;aa=S}}}Y=f[s>>2]|0}aa=f[A>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(aa<<2)>>2]|0;else ba=aa;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;aa=f[T+40>>2]|0;Bf((f[f[T+64>>2]>>2]|0)+(W(ba,aa)|0)|0,Y|0,aa|0)|0;Q=Q+1|0;R=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;L=L+1|0;if((L|0)==(K|0)){O=19;break}}}else{if(K>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}L=N+1|0;Df(H+(L*12|0)|0,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[m>>2]|0)+(L*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<<I+-1);P=(Z(K|0)|0)^31;if(!P)ca=0;else{R=0;Q=0;while(1){aa=Q<<1|(pi(a+16+(R<<4)|0)|0)&1;R=R+1|0;if((R|0)==(P|0)){ca=aa;break}else Q=aa}}Q=(K>>>1)-ca|0;P=K-Q|0;d:do if((Q|0)==(P|0)){da=Q;ea=Q}else{R=f[o>>2]|0;aa=f[E>>2]|0;do if((aa|0)!=(f[p>>2]|0)){_=(f[aa>>2]&1<<31-R|0)!=0;V=R+1|0;f[o>>2]=V;if((V|0)==32){f[E>>2]=aa+4;f[o>>2]=0;if(_){da=Q;ea=P;break d}else break}else if(_){da=Q;ea=P;break d}else break}while(0);da=P;ea=Q}while(0);Q=f[v>>2]|0;P=f[Q+(N*12|0)>>2]|0;aa=P+(J<<2)|0;f[aa>>2]=(f[aa>>2]|0)+1;Df(Q+(L*12|0)|0,P,f[Q+(N*12|0)+4>>2]|0);if(da|0){Q=f[q>>2]|0;P=f[y>>2]|0;aa=Q-P|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((aa|0)==0?0:((aa>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);fa=(f[B>>2]|0)+(f[z>>2]|0)|0;ga=f[q>>2]|0;ha=f[y>>2]|0}else{fa=R;ga=Q;ha=P}if((ga|0)==(ha|0))ia=0;else{P=(fa>>>0)/341|0;ia=(f[ha+(P<<2)>>2]|0)+((fa-(P*341|0)|0)*12|0)|0}f[ia>>2]=da;f[ia+4>>2]=J;f[ia+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!ea){O=19;break}P=f[q>>2]|0;Q=f[y>>2]|0;R=P-Q|0;aa=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(aa|0)){cc(g);ja=(f[B>>2]|0)+(f[z>>2]|0)|0;ka=f[q>>2]|0;la=f[y>>2]|0}else{ja=aa;ka=P;la=Q}if((ka|0)==(la|0))ma=0;else{Q=(ja>>>0)/341|0;ma=(f[la+(Q<<2)>>2]|0)+((ja-(Q*341|0)|0)*12|0)|0}f[ma>>2]=ea;f[ma+4>>2]=J;f[ma+8>>2]=L;Q=(f[z>>2]|0)+1|0;f[z>>2]=Q;na=Q;break}Q=f[x>>2]|0;f[Q>>2]=J;P=f[h>>2]|0;if(P>>>0>1){aa=1;R=P;_=J;while(1){_=(_|0)==(R+-1|0)?0:_+1|0;f[Q+(aa<<2)>>2]=_;aa=aa+1|0;V=f[h>>2]|0;if(aa>>>0>=V>>>0){oa=V;break}else R=V}}else oa=P;if(!K)O=19;else{R=0;aa=oa;while(1){if(aa|0){_=f[x>>2]|0;Q=f[n>>2]|0;L=f[G>>2]|0;V=0;do{$=_+(V<<2)|0;f[Q+(f[$>>2]<<2)>>2]=0;U=f[$>>2]|0;X=(f[a>>2]|0)-(f[L+(U<<2)>>2]|0)|0;do if(X|0){S=Q+(U<<2)|0;pa=f[j>>2]|0;qa=32-pa|0;if((X|0)>(qa|0)){ra=f[i>>2]|0;sa=ra+4|0;if((sa|0)==(f[l>>2]|0)){f[S>>2]=0;break}else{ta=f[ra>>2]<<pa;ra=X-qa|0;f[j>>2]=ra;f[i>>2]=sa;ua=32-ra|0;f[S>>2]=(f[sa>>2]|0)>>>ua|ta>>>(ua-qa|0);break}}qa=f[i>>2]|0;if((qa|0)==(f[l>>2]|0)){f[S>>2]=0;break}f[S>>2]=f[qa>>2]<<pa>>>(32-X|0);pa=(f[j>>2]|0)+X|0;f[j>>2]=pa;if((pa|0)!=32)break;f[i>>2]=qa+4;f[j>>2]=0}while(0);X=f[$>>2]|0;U=Q+(X<<2)|0;f[U>>2]=f[U>>2]|f[(f[M>>2]|0)+(X<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[k>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;L=V;do{_=L;X=f[_+(Q*20|0)>>2]|0;U=_+(Q*20|0)+12|0;qa=_+(Q*20|0)+16|0;pa=(f[n>>2]|0)+(f[_+(Q*20|0)+4>>2]<<2)|0;_=f[U>>2]|0;if((_|0)==4)va=pa;else{if(f[qa>>2]|0){S=f[s>>2]|0;ua=0;ta=_;while(1){Bf(S|0,pa+(ua<<2)|0,ta|0)|0;ua=ua+1|0;_=f[U>>2]|0;if(ua>>>0>=(f[qa>>2]|0)>>>0)break;else{S=S+_|0;ta=_}}}va=f[s>>2]|0}ta=f[A>>2]|0;if(!(b[X+84>>0]|0))wa=f[(f[X+68>>2]|0)+(ta<<2)>>2]|0;else wa=ta;if(wa>>>0>=(f[X+80>>2]|0)>>>0)break e;ta=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(wa,ta)|0)|0,va|0,ta|0)|0;Q=Q+1|0;L=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-L|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=R+1|0;if((V|0)==(K|0)){O=19;break b}R=V;aa=f[h>>2]|0}}}while(0);if((O|0)==19){O=0;na=f[z>>2]|0}if(!na){D=1;break}else F=na}}while(0);na=f[y>>2]|0;h=f[B>>2]|0;va=(h>>>0)/341|0;wa=na+(va<<2)|0;a=f[q>>2]|0;oa=a;ma=na;if((a|0)!=(na|0)?(ea=(f[wa>>2]|0)+((h-(va*341|0)|0)*12|0)|0,va=(f[z>>2]|0)+h|0,h=(va>>>0)/341|0,ja=(f[na+(h<<2)>>2]|0)+((va-(h*341|0)|0)*12|0)|0,(ja|0)!=(ea|0)):0){h=wa;wa=ea;while(1){ea=wa+12|0;if((ea-(f[h>>2]|0)|0)==4092){va=h+4|0;xa=va;ya=f[va>>2]|0}else{xa=h;ya=ea}wa=ya;if((ja|0)==(wa|0))break;else h=xa}}f[z>>2]=0;z=oa-ma>>2;if(z>>>0>2){ma=na;do{Ko(f[ma>>2]|0);ma=(f[y>>2]|0)+4|0;f[y>>2]=ma;za=f[q>>2]|0;Aa=za-ma>>2}while(Aa>>>0>2);Ba=Aa;Ca=ma;Da=za}else{Ba=z;Ca=na;Da=a}switch(Ba|0){case 1:{Ea=170;O=105;break}case 2:{Ea=341;O=105;break}default:{}}if((O|0)==105)f[B>>2]=Ea;if((Ca|0)!=(Da|0)){Ea=Ca;do{Ko(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Da|0));Da=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Da|0))f[q>>2]=y+(~((y+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=e;return D|0}Ko(Da);u=e;return D|0}function gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;l=g+8|0;f[l>>2]=0;do if(j)if(j>>>0>1073741823)$n(g);else{m=j<<2;n=wk(m)|0;f[g>>2]=n;o=n+(j<<2)|0;f[l>>2]=o;oh(n|0,0,m|0)|0;f[k>>2]=o;p=o;q=n;break}else{p=0;q=0}while(0);n=a+116|0;o=f[n>>2]|0;m=f[o>>2]|0;if(!m){r=o+8|0;s=o+4|0;t=q;v=p;w=j}else{j=o+4|0;f[j>>2]=m;Ko(m);m=o+8|0;f[m>>2]=0;f[j>>2]=0;f[o>>2]=0;r=m;s=j;t=f[g>>2]|0;v=f[k>>2]|0;w=f[i>>2]|0}f[o>>2]=t;f[s>>2]=v;f[r>>2]=f[l>>2];f[g>>2]=0;l=g+4|0;f[l>>2]=0;r=g+8|0;f[r>>2]=0;do if(w)if(w>>>0>1073741823)$n(g);else{v=w<<2;s=wk(v)|0;f[g>>2]=s;t=s+(w<<2)|0;f[r>>2]=t;oh(s|0,0,v|0)|0;f[l>>2]=t;x=t;y=s;break}else{x=0;y=0}while(0);w=a+128|0;s=f[w>>2]|0;t=f[s>>2]|0;if(!t){z=s+8|0;A=s+4|0;B=y;C=x}else{x=s+4|0;f[x>>2]=t;Ko(t);t=s+8|0;f[t>>2]=0;f[x>>2]=0;f[s>>2]=0;z=t;A=x;B=f[g>>2]|0;C=f[l>>2]|0}f[s>>2]=B;f[A>>2]=C;f[z>>2]=f[r>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;r=g+8|0;z=g+4|0;C=g+16|0;A=g+20|0;cc(g);B=f[z>>2]|0;s=(f[C>>2]|0)+(f[A>>2]|0)|0;if((f[r>>2]|0)==(B|0))D=0;else{l=(s>>>0)/341|0;D=(f[B+(l<<2)>>2]|0)+((s-(l*341|0)|0)*12|0)|0}f[D>>2]=c;f[D+4>>2]=0;f[D+8>>2]=0;D=(f[A>>2]|0)+1|0;f[A>>2]=D;a:do if(!D)E=1;else{l=d+16|0;s=d+20|0;B=d+28|0;x=a+8|0;t=d+12|0;y=a+104|0;v=a+4|0;o=a+92|0;k=a+48|0;j=a+44|0;m=a+36|0;p=a+16|0;q=a+88|0;F=a+76|0;G=a+84|0;H=D;while(1){I=f[C>>2]|0;J=H+-1|0;K=I+J|0;L=f[z>>2]|0;M=(K>>>0)/341|0;N=f[L+(M<<2)>>2]|0;O=K-(M*341|0)|0;M=f[N+(O*12|0)>>2]|0;K=f[N+(O*12|0)+4>>2]|0;P=f[N+(O*12|0)+8>>2]|0;f[A>>2]=J;J=f[r>>2]|0;O=J-L|0;if((1-H-I+((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[J+-4>>2]|0);f[r>>2]=(f[r>>2]|0)+-4}J=f[n>>2]|0;O=J+(P*12|0)|0;I=(f[w>>2]|0)+(P*12|0)|0;if(M>>>0>c>>>0){E=0;break a}L=Pk(a,M,I,K)|0;if(L>>>0>=(f[i>>2]|0)>>>0){E=0;break a}K=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!K){if(M|0){N=0;do{Q=f[l>>2]|0;c:do if((f[s>>2]|0)!=(Q|0)){R=0;S=Q;do{T=S;U=f[T+(R*20|0)>>2]|0;V=T+(R*20|0)+12|0;X=T+(R*20|0)+16|0;Y=(f[O>>2]|0)+(f[T+(R*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;if((T|0)==4)_=Y;else{if(f[X>>2]|0){$=f[t>>2]|0;aa=0;ba=T;while(1){Bf($|0,Y+(aa<<2)|0,ba|0)|0;aa=aa+1|0;T=f[V>>2]|0;if(aa>>>0>=(f[X>>2]|0)>>>0)break;else{$=$+T|0;ba=T}}}_=f[t>>2]|0}ba=f[B>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(ba<<2)>>2]|0;else ca=ba;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;ba=f[U+40>>2]|0;Bf((f[f[U+64>>2]>>2]|0)+(W(ca,ba)|0)|0,_|0,ba|0)|0;R=R+1|0;S=f[l>>2]|0}while(R>>>0<(((f[s>>2]|0)-S|0)/20|0)>>>0)}while(0);f[B>>2]=(f[B>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;N=N+1|0}while((N|0)!=(M|0))}}else{if(M>>>0>=3){if((f[x>>2]|0)>>>0>(f[v>>2]|0)>>>0){E=0;break a}N=P+1|0;Q=f[n>>2]|0;S=Q+(N*12|0)|0;if((S|0)==(O|0))da=Q;else{Df(S,f[O>>2]|0,f[J+(P*12|0)+4>>2]|0);da=f[n>>2]|0}S=(f[da+(N*12|0)>>2]|0)+(L<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<<K+-1);S=(Z(M|0)|0)^31;f[h>>2]=0;ph(p,S,h);S=(M>>>1)-(f[h>>2]|0)|0;Q=M-S|0;d:do if((S|0)==(Q|0)){ea=S;fa=S}else{R=f[q>>2]|0;ba=f[G>>2]|0;do if((ba|0)!=(f[F>>2]|0)){$=(f[ba>>2]&1<<31-R|0)!=0;X=R+1|0;f[q>>2]=X;if((X|0)==32){f[G>>2]=ba+4;f[q>>2]=0;if($){ea=S;fa=Q;break d}else break}else if($){ea=S;fa=Q;break d}else break}while(0);ea=Q;fa=S}while(0);S=f[w>>2]|0;Q=f[S+(P*12|0)>>2]|0;ba=Q+(L<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Df(S+(N*12|0)|0,Q,f[S+(P*12|0)+4>>2]|0);if(ea|0){S=f[r>>2]|0;Q=f[z>>2]|0;ba=S-Q|0;R=(f[A>>2]|0)+(f[C>>2]|0)|0;if((((ba|0)==0?0:((ba>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);ga=(f[C>>2]|0)+(f[A>>2]|0)|0;ha=f[r>>2]|0;ia=f[z>>2]|0}else{ga=R;ha=S;ia=Q}if((ha|0)==(ia|0))ja=0;else{Q=(ga>>>0)/341|0;ja=(f[ia+(Q<<2)>>2]|0)+((ga-(Q*341|0)|0)*12|0)|0}f[ja>>2]=ea;f[ja+4>>2]=L;f[ja+8>>2]=P;f[A>>2]=(f[A>>2]|0)+1}if(fa|0){Q=f[r>>2]|0;S=f[z>>2]|0;R=Q-S|0;ba=(f[A>>2]|0)+(f[C>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(ba|0)){cc(g);ka=(f[C>>2]|0)+(f[A>>2]|0)|0;la=f[r>>2]|0;ma=f[z>>2]|0}else{ka=ba;la=Q;ma=S}if((la|0)==(ma|0))na=0;else{S=(ka>>>0)/341|0;na=(f[ma+(S<<2)>>2]|0)+((ka-(S*341|0)|0)*12|0)|0}f[na>>2]=fa;f[na+4>>2]=L;f[na+8>>2]=N;f[A>>2]=(f[A>>2]|0)+1}break}S=f[y>>2]|0;f[S>>2]=L;Q=f[i>>2]|0;if(Q>>>0>1){ba=1;R=Q;$=L;while(1){$=($|0)==(R+-1|0)?0:$+1|0;f[S+(ba<<2)>>2]=$;ba=ba+1|0;X=f[i>>2]|0;if(ba>>>0>=X>>>0){oa=X;break}else R=X}}else oa=Q;if(M|0){R=0;ba=oa;while(1){if(ba|0){$=f[y>>2]|0;S=f[o>>2]|0;N=f[I>>2]|0;X=0;do{aa=$+(X<<2)|0;f[S+(f[aa>>2]<<2)>>2]=0;V=f[aa>>2]|0;Y=(f[a>>2]|0)-(f[N+(V<<2)>>2]|0)|0;do if(Y|0){T=S+(V<<2)|0;pa=f[k>>2]|0;qa=32-pa|0;if((Y|0)>(qa|0)){ra=f[j>>2]|0;sa=ra+4|0;if((sa|0)==(f[m>>2]|0)){f[T>>2]=0;break}else{ta=f[ra>>2]<<pa;ra=Y-qa|0;f[k>>2]=ra;f[j>>2]=sa;ua=32-ra|0;f[T>>2]=(f[sa>>2]|0)>>>ua|ta>>>(ua-qa|0);break}}qa=f[j>>2]|0;if((qa|0)==(f[m>>2]|0)){f[T>>2]=0;break}f[T>>2]=f[qa>>2]<<pa>>>(32-Y|0);pa=(f[k>>2]|0)+Y|0;f[k>>2]=pa;if((pa|0)!=32)break;f[j>>2]=qa+4;f[k>>2]=0}while(0);Y=f[aa>>2]|0;V=S+(Y<<2)|0;f[V>>2]=f[V>>2]|f[(f[O>>2]|0)+(Y<<2)>>2];X=X+1|0}while(X>>>0<(f[i>>2]|0)>>>0)}X=f[l>>2]|0;e:do if((f[s>>2]|0)!=(X|0)){S=0;N=X;do{$=N;Y=f[$+(S*20|0)>>2]|0;V=$+(S*20|0)+12|0;qa=$+(S*20|0)+16|0;pa=(f[o>>2]|0)+(f[$+(S*20|0)+4>>2]<<2)|0;$=f[V>>2]|0;if(($|0)==4)va=pa;else{if(f[qa>>2]|0){T=f[t>>2]|0;ua=0;ta=$;while(1){Bf(T|0,pa+(ua<<2)|0,ta|0)|0;ua=ua+1|0;$=f[V>>2]|0;if(ua>>>0>=(f[qa>>2]|0)>>>0)break;else{T=T+$|0;ta=$}}}va=f[t>>2]|0}ta=f[B>>2]|0;if(!(b[Y+84>>0]|0))wa=f[(f[Y+68>>2]|0)+(ta<<2)>>2]|0;else wa=ta;if(wa>>>0>=(f[Y+80>>2]|0)>>>0)break e;ta=f[Y+40>>2]|0;Bf((f[f[Y+64>>2]>>2]|0)+(W(wa,ta)|0)|0,va|0,ta|0)|0;S=S+1|0;N=f[l>>2]|0}while(S>>>0<(((f[s>>2]|0)-N|0)/20|0)>>>0)}while(0);f[B>>2]=(f[B>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;X=R+1|0;if((X|0)==(M|0))break b;R=X;ba=f[i>>2]|0}}}while(0);H=f[A>>2]|0;if(!H){E=1;break}}}while(0);i=f[z>>2]|0;va=f[C>>2]|0;wa=(va>>>0)/341|0;a=i+(wa<<2)|0;oa=f[r>>2]|0;na=oa;fa=i;if((oa|0)!=(i|0)?(ka=(f[a>>2]|0)+((va-(wa*341|0)|0)*12|0)|0,wa=(f[A>>2]|0)+va|0,va=(wa>>>0)/341|0,ma=(f[i+(va<<2)>>2]|0)+((wa-(va*341|0)|0)*12|0)|0,(ma|0)!=(ka|0)):0){va=a;a=ka;while(1){ka=a+12|0;if((ka-(f[va>>2]|0)|0)==4092){wa=va+4|0;xa=wa;ya=f[wa>>2]|0}else{xa=va;ya=ka}a=ya;if((ma|0)==(a|0))break;else va=xa}}f[A>>2]=0;A=na-fa>>2;if(A>>>0>2){fa=i;do{Ko(f[fa>>2]|0);fa=(f[z>>2]|0)+4|0;f[z>>2]=fa;za=f[r>>2]|0;Aa=za-fa>>2}while(Aa>>>0>2);Ba=Aa;Ca=fa;Da=za}else{Ba=A;Ca=i;Da=oa}switch(Ba|0){case 1:{Ea=170;Fa=104;break}case 2:{Ea=341;Fa=104;break}default:{}}if((Fa|0)==104)f[C>>2]=Ea;if((Ca|0)!=(Da|0)){Ea=Ca;do{Ko(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Da|0));Da=f[z>>2]|0;z=f[r>>2]|0;if((z|0)!=(Da|0))f[r>>2]=z+(~((z+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=e;return E|0}Ko(Da);u=e;return E|0}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;l=g+8|0;f[l>>2]=0;do if(j)if(j>>>0>1073741823)$n(g);else{m=j<<2;n=wk(m)|0;f[g>>2]=n;o=n+(j<<2)|0;f[l>>2]=o;oh(n|0,0,m|0)|0;f[k>>2]=o;p=o;q=n;break}else{p=0;q=0}while(0);n=a+116|0;o=f[n>>2]|0;m=f[o>>2]|0;if(!m){r=o+8|0;s=o+4|0;t=q;v=p;w=j}else{j=o+4|0;f[j>>2]=m;Ko(m);m=o+8|0;f[m>>2]=0;f[j>>2]=0;f[o>>2]=0;r=m;s=j;t=f[g>>2]|0;v=f[k>>2]|0;w=f[i>>2]|0}f[o>>2]=t;f[s>>2]=v;f[r>>2]=f[l>>2];f[g>>2]=0;l=g+4|0;f[l>>2]=0;r=g+8|0;f[r>>2]=0;do if(w)if(w>>>0>1073741823)$n(g);else{v=w<<2;s=wk(v)|0;f[g>>2]=s;t=s+(w<<2)|0;f[r>>2]=t;oh(s|0,0,v|0)|0;f[l>>2]=t;x=t;y=s;break}else{x=0;y=0}while(0);w=a+128|0;s=f[w>>2]|0;t=f[s>>2]|0;if(!t){z=s+8|0;A=s+4|0;B=y;C=x}else{x=s+4|0;f[x>>2]=t;Ko(t);t=s+8|0;f[t>>2]=0;f[x>>2]=0;f[s>>2]=0;z=t;A=x;B=f[g>>2]|0;C=f[l>>2]|0}f[s>>2]=B;f[A>>2]=C;f[z>>2]=f[r>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;r=g+8|0;z=g+4|0;C=g+16|0;A=g+20|0;cc(g);B=f[z>>2]|0;s=(f[C>>2]|0)+(f[A>>2]|0)|0;if((f[r>>2]|0)==(B|0))D=0;else{l=(s>>>0)/341|0;D=(f[B+(l<<2)>>2]|0)+((s-(l*341|0)|0)*12|0)|0}f[D>>2]=c;f[D+4>>2]=0;f[D+8>>2]=0;D=(f[A>>2]|0)+1|0;f[A>>2]=D;a:do if(!D)E=1;else{l=d+16|0;s=d+20|0;B=d+28|0;x=a+8|0;t=d+12|0;y=a+104|0;v=a+4|0;o=a+92|0;k=a+48|0;j=a+44|0;m=a+36|0;p=a+16|0;q=a+88|0;F=a+76|0;G=a+84|0;H=D;while(1){I=f[C>>2]|0;J=H+-1|0;K=I+J|0;L=f[z>>2]|0;M=(K>>>0)/341|0;N=f[L+(M<<2)>>2]|0;O=K-(M*341|0)|0;M=f[N+(O*12|0)>>2]|0;K=f[N+(O*12|0)+4>>2]|0;P=f[N+(O*12|0)+8>>2]|0;f[A>>2]=J;J=f[r>>2]|0;O=J-L|0;if((1-H-I+((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[J+-4>>2]|0);f[r>>2]=(f[r>>2]|0)+-4}J=f[n>>2]|0;O=J+(P*12|0)|0;if(M>>>0>c>>>0){E=0;break a}I=f[i>>2]|0;L=(I+-1|0)==(K|0)?0:K+1|0;if(L>>>0>=I>>>0){E=0;break a}I=(f[w>>2]|0)+(P*12|0)|0;K=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!K){if(M|0){N=0;do{Q=f[l>>2]|0;c:do if((f[s>>2]|0)!=(Q|0)){R=0;S=Q;do{T=S;U=f[T+(R*20|0)>>2]|0;V=T+(R*20|0)+12|0;X=T+(R*20|0)+16|0;Y=(f[O>>2]|0)+(f[T+(R*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;if((T|0)==4)_=Y;else{if(f[X>>2]|0){$=f[t>>2]|0;aa=0;ba=T;while(1){Bf($|0,Y+(aa<<2)|0,ba|0)|0;aa=aa+1|0;T=f[V>>2]|0;if(aa>>>0>=(f[X>>2]|0)>>>0)break;else{$=$+T|0;ba=T}}}_=f[t>>2]|0}ba=f[B>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(ba<<2)>>2]|0;else ca=ba;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;ba=f[U+40>>2]|0;Bf((f[f[U+64>>2]>>2]|0)+(W(ca,ba)|0)|0,_|0,ba|0)|0;R=R+1|0;S=f[l>>2]|0}while(R>>>0<(((f[s>>2]|0)-S|0)/20|0)>>>0)}while(0);f[B>>2]=(f[B>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;N=N+1|0}while((N|0)!=(M|0))}}else{if(M>>>0>=3){if((f[x>>2]|0)>>>0>(f[v>>2]|0)>>>0){E=0;break a}N=P+1|0;Df(J+(N*12|0)|0,f[O>>2]|0,f[J+(P*12|0)+4>>2]|0);Q=(f[(f[n>>2]|0)+(N*12|0)>>2]|0)+(L<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<<K+-1);Q=(Z(M|0)|0)^31;f[h>>2]=0;ph(p,Q,h);Q=(M>>>1)-(f[h>>2]|0)|0;S=M-Q|0;d:do if((Q|0)==(S|0)){da=Q;ea=Q}else{R=f[q>>2]|0;ba=f[G>>2]|0;do if((ba|0)!=(f[F>>2]|0)){$=(f[ba>>2]&1<<31-R|0)!=0;X=R+1|0;f[q>>2]=X;if((X|0)==32){f[G>>2]=ba+4;f[q>>2]=0;if($){da=Q;ea=S;break d}else break}else if($){da=Q;ea=S;break d}else break}while(0);da=S;ea=Q}while(0);Q=f[w>>2]|0;S=f[Q+(P*12|0)>>2]|0;ba=S+(L<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Df(Q+(N*12|0)|0,S,f[Q+(P*12|0)+4>>2]|0);if(da|0){Q=f[r>>2]|0;S=f[z>>2]|0;ba=Q-S|0;R=(f[A>>2]|0)+(f[C>>2]|0)|0;if((((ba|0)==0?0:((ba>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);fa=(f[C>>2]|0)+(f[A>>2]|0)|0;ga=f[r>>2]|0;ha=f[z>>2]|0}else{fa=R;ga=Q;ha=S}if((ga|0)==(ha|0))ia=0;else{S=(fa>>>0)/341|0;ia=(f[ha+(S<<2)>>2]|0)+((fa-(S*341|0)|0)*12|0)|0}f[ia>>2]=da;f[ia+4>>2]=L;f[ia+8>>2]=P;f[A>>2]=(f[A>>2]|0)+1}if(ea|0){S=f[r>>2]|0;Q=f[z>>2]|0;R=S-Q|0;ba=(f[A>>2]|0)+(f[C>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(ba|0)){cc(g);ja=(f[C>>2]|0)+(f[A>>2]|0)|0;ka=f[r>>2]|0;la=f[z>>2]|0}else{ja=ba;ka=S;la=Q}if((ka|0)==(la|0))ma=0;else{Q=(ja>>>0)/341|0;ma=(f[la+(Q<<2)>>2]|0)+((ja-(Q*341|0)|0)*12|0)|0}f[ma>>2]=ea;f[ma+4>>2]=L;f[ma+8>>2]=N;f[A>>2]=(f[A>>2]|0)+1}break}Q=f[y>>2]|0;f[Q>>2]=L;S=f[i>>2]|0;if(S>>>0>1){ba=1;R=S;$=L;while(1){$=($|0)==(R+-1|0)?0:$+1|0;f[Q+(ba<<2)>>2]=$;ba=ba+1|0;X=f[i>>2]|0;if(ba>>>0>=X>>>0){na=X;break}else R=X}}else na=S;if(M|0){R=0;ba=na;while(1){if(ba|0){$=f[y>>2]|0;Q=f[o>>2]|0;N=f[I>>2]|0;X=0;do{aa=$+(X<<2)|0;f[Q+(f[aa>>2]<<2)>>2]=0;V=f[aa>>2]|0;Y=(f[a>>2]|0)-(f[N+(V<<2)>>2]|0)|0;do if(Y|0){T=Q+(V<<2)|0;oa=f[k>>2]|0;pa=32-oa|0;if((Y|0)>(pa|0)){qa=f[j>>2]|0;ra=qa+4|0;if((ra|0)==(f[m>>2]|0)){f[T>>2]=0;break}else{sa=f[qa>>2]<<oa;qa=Y-pa|0;f[k>>2]=qa;f[j>>2]=ra;ta=32-qa|0;f[T>>2]=(f[ra>>2]|0)>>>ta|sa>>>(ta-pa|0);break}}pa=f[j>>2]|0;if((pa|0)==(f[m>>2]|0)){f[T>>2]=0;break}f[T>>2]=f[pa>>2]<<oa>>>(32-Y|0);oa=(f[k>>2]|0)+Y|0;f[k>>2]=oa;if((oa|0)!=32)break;f[j>>2]=pa+4;f[k>>2]=0}while(0);Y=f[aa>>2]|0;V=Q+(Y<<2)|0;f[V>>2]=f[V>>2]|f[(f[O>>2]|0)+(Y<<2)>>2];X=X+1|0}while(X>>>0<(f[i>>2]|0)>>>0)}X=f[l>>2]|0;e:do if((f[s>>2]|0)!=(X|0)){Q=0;N=X;do{$=N;Y=f[$+(Q*20|0)>>2]|0;V=$+(Q*20|0)+12|0;pa=$+(Q*20|0)+16|0;oa=(f[o>>2]|0)+(f[$+(Q*20|0)+4>>2]<<2)|0;$=f[V>>2]|0;if(($|0)==4)ua=oa;else{if(f[pa>>2]|0){T=f[t>>2]|0;ta=0;sa=$;while(1){Bf(T|0,oa+(ta<<2)|0,sa|0)|0;ta=ta+1|0;$=f[V>>2]|0;if(ta>>>0>=(f[pa>>2]|0)>>>0)break;else{T=T+$|0;sa=$}}}ua=f[t>>2]|0}sa=f[B>>2]|0;if(!(b[Y+84>>0]|0))va=f[(f[Y+68>>2]|0)+(sa<<2)>>2]|0;else va=sa;if(va>>>0>=(f[Y+80>>2]|0)>>>0)break e;sa=f[Y+40>>2]|0;Bf((f[f[Y+64>>2]>>2]|0)+(W(va,sa)|0)|0,ua|0,sa|0)|0;Q=Q+1|0;N=f[l>>2]|0}while(Q>>>0<(((f[s>>2]|0)-N|0)/20|0)>>>0)}while(0);f[B>>2]=(f[B>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;X=R+1|0;if((X|0)==(M|0))break b;R=X;ba=f[i>>2]|0}}}while(0);H=f[A>>2]|0;if(!H){E=1;break}}}while(0);i=f[z>>2]|0;ua=f[C>>2]|0;va=(ua>>>0)/341|0;a=i+(va<<2)|0;na=f[r>>2]|0;ma=na;ea=i;if((na|0)!=(i|0)?(ja=(f[a>>2]|0)+((ua-(va*341|0)|0)*12|0)|0,va=(f[A>>2]|0)+ua|0,ua=(va>>>0)/341|0,la=(f[i+(ua<<2)>>2]|0)+((va-(ua*341|0)|0)*12|0)|0,(la|0)!=(ja|0)):0){ua=a;a=ja;while(1){ja=a+12|0;if((ja-(f[ua>>2]|0)|0)==4092){va=ua+4|0;wa=va;xa=f[va>>2]|0}else{wa=ua;xa=ja}a=xa;if((la|0)==(a|0))break;else ua=wa}}f[A>>2]=0;A=ma-ea>>2;if(A>>>0>2){ea=i;do{Ko(f[ea>>2]|0);ea=(f[z>>2]|0)+4|0;f[z>>2]=ea;ya=f[r>>2]|0;za=ya-ea>>2}while(za>>>0>2);Aa=za;Ba=ea;Ca=ya}else{Aa=A;Ba=i;Ca=na}switch(Aa|0){case 1:{Da=170;Ea=102;break}case 2:{Da=341;Ea=102;break}default:{}}if((Ea|0)==102)f[C>>2]=Da;if((Ba|0)!=(Ca|0)){Da=Ba;do{Ko(f[Da>>2]|0);Da=Da+4|0}while((Da|0)!=(Ca|0));Ca=f[z>>2]|0;z=f[r>>2]|0;if((z|0)!=(Ca|0))f[r>>2]=z+(~((z+-4-Ca|0)>>>2)<<2)}Ca=f[g>>2]|0;if(!Ca){u=e;return E|0}Ko(Ca);u=e;return E|0}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+120|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+132|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+108|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+96|0;j=a+52|0;i=a+48|0;l=a+40|0;o=a+32|0;p=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=C;while(1){J=f[B>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=(L>>>0)/341|0;O=f[M+(N<<2)>>2]|0;P=L-(N*341|0)|0;N=f[O+(P*12|0)>>2]|0;L=f[O+(P*12|0)+4>>2]|0;Q=f[O+(P*12|0)+8>>2]|0;f[z>>2]=K;K=f[q>>2]|0;P=K-M|0;if((1-I-J+((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[K+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}K=f[m>>2]|0;P=K+(Q*12|0)|0;J=(f[v>>2]|0)+(Q*12|0)|0;if(N>>>0>b>>>0){D=0;break a}M=Pk(a,N,J,L)|0;if(M>>>0>=(f[h>>2]|0)>>>0){D=0;break a}L=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!L)if(!N)R=19;else{O=0;do{S=f[P>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[k>>2]=f[S+4>>2];f[r>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[k>>2];f[V+8>>2]=f[r>>2];f[U>>2]=V+12}else If(S,e);f[A>>2]=(f[A>>2]|0)+1;O=O+1|0}while(O>>>0<N>>>0);R=19}else{if(N>>>0<3){O=f[w>>2]|0;f[O>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=1;U=S;T=M;while(1){T=(T|0)==(U+-1|0)?0:T+1|0;f[O+(V<<2)>>2]=T;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){X=W;break}else U=W}}else X=S;if(!N){R=19;break}U=0;V=X;while(1){if(!V)Y=f[n>>2]|0;else{T=f[w>>2]|0;O=f[n>>2]|0;W=f[J>>2]|0;_=0;do{$=T+(_<<2)|0;f[O+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=O+(aa<<2)|0;da=f[j>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[i>>2]|0;ga=fa+4|0;if((ga|0)==(f[l>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<<da;fa=ba-ea|0;f[j>>2]=fa;f[i>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[i>>2]|0;if((ea|0)==(f[l>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<<da>>>(32-ba|0);da=(f[j>>2]|0)+ba|0;f[j>>2]=da;if((da|0)!=32)break;f[i>>2]=ea+4;f[j>>2]=0}while(0);ba=f[$>>2]|0;aa=O+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[P>>2]|0)+(ba<<2)>>2];_=_+1|0}while(_>>>0<(f[h>>2]|0)>>>0);Y=O}O=f[Y>>2]|0;f[e>>2]=O;f[x>>2]=f[Y+4>>2];f[t>>2]=f[Y+8>>2];_=f[c>>2]|0;W=_+4|0;T=f[W>>2]|0;if(T>>>0<(f[_+8>>2]|0)>>>0){f[T>>2]=O;f[T+4>>2]=f[x>>2];f[T+8>>2]=f[t>>2];f[W>>2]=T+12}else If(_,e);f[A>>2]=(f[A>>2]|0)+1;_=U+1|0;if(_>>>0>=N>>>0){R=19;break b}U=_;V=f[h>>2]|0}}if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}V=Q+1|0;U=f[m>>2]|0;S=U+(V*12|0)|0;if((S|0)==(P|0))ja=U;else{Df(S,f[P>>2]|0,f[K+(Q*12|0)+4>>2]|0);ja=f[m>>2]|0}S=(f[ja+(V*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<<L+-1);S=(Z(N|0)|0)^31;U=f[o>>2]|0;_=32-U|0;if((S|0)>(_|0)){T=f[p>>2]|0;W=T+4|0;if((W|0)==(f[E>>2]|0))ka=0;else{O=f[T>>2]<<U;T=S-_|0;f[o>>2]=T;f[p>>2]=W;ba=32-T|0;ka=(f[W>>2]|0)>>>ba|O>>>(ba-_|0)}}else{_=f[p>>2]|0;if((_|0)!=(f[E>>2]|0)){ba=f[_>>2]<<U>>>(32-S|0);O=U+S|0;f[o>>2]=O;if((O|0)==32){f[p>>2]=_+4;f[o>>2]=0;ka=ba}else ka=ba}else ka=0}ba=(N>>>1)-ka|0;_=N-ba|0;c:do if((ba|0)==(_|0)){la=ba;ma=ba}else{O=f[F>>2]|0;S=f[H>>2]|0;do if((S|0)!=(f[G>>2]|0)){U=(f[S>>2]&1<<31-O|0)!=0;W=O+1|0;f[F>>2]=W;if((W|0)==32){f[H>>2]=S+4;f[F>>2]=0;if(U){la=ba;ma=_;break c}else break}else if(U){la=ba;ma=_;break c}else break}while(0);la=_;ma=ba}while(0);ba=f[v>>2]|0;_=f[ba+(Q*12|0)>>2]|0;S=_+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;Df(ba+(V*12|0)|0,_,f[ba+(Q*12|0)+4>>2]|0);if(la|0){ba=f[q>>2]|0;_=f[y>>2]|0;S=ba-_|0;O=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((S|0)==0?0:((S>>2)*341|0)+-1|0)|0)==(O|0)){cc(g);na=(f[B>>2]|0)+(f[z>>2]|0)|0;oa=f[q>>2]|0;pa=f[y>>2]|0}else{na=O;oa=ba;pa=_}if((oa|0)==(pa|0))qa=0;else{_=(na>>>0)/341|0;qa=(f[pa+(_<<2)>>2]|0)+((na-(_*341|0)|0)*12|0)|0}f[qa>>2]=la;f[qa+4>>2]=M;f[qa+8>>2]=Q;f[z>>2]=(f[z>>2]|0)+1}if(!ma)R=19;else{_=f[q>>2]|0;ba=f[y>>2]|0;O=_-ba|0;S=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)==(S|0)){cc(g);ra=(f[B>>2]|0)+(f[z>>2]|0)|0;sa=f[q>>2]|0;ta=f[y>>2]|0}else{ra=S;sa=_;ta=ba}if((sa|0)==(ta|0))ua=0;else{ba=(ra>>>0)/341|0;ua=(f[ta+(ba<<2)>>2]|0)+((ra-(ba*341|0)|0)*12|0)|0}f[ua>>2]=ma;f[ua+4>>2]=M;f[ua+8>>2]=V;ba=(f[z>>2]|0)+1|0;f[z>>2]=ba;va=ba}}while(0);if((R|0)==19){R=0;va=f[z>>2]|0}if(!va){D=1;break}else I=va}}while(0);va=f[y>>2]|0;ua=f[B>>2]|0;ma=(ua>>>0)/341|0;ra=va+(ma<<2)|0;ta=f[q>>2]|0;sa=ta;qa=va;if((ta|0)!=(va|0)?(la=(f[ra>>2]|0)+((ua-(ma*341|0)|0)*12|0)|0,ma=(f[z>>2]|0)+ua|0,ua=(ma>>>0)/341|0,na=(f[va+(ua<<2)>>2]|0)+((ma-(ua*341|0)|0)*12|0)|0,(na|0)!=(la|0)):0){ua=ra;ra=la;while(1){la=ra+12|0;if((la-(f[ua>>2]|0)|0)==4092){ma=ua+4|0;wa=ma;xa=f[ma>>2]|0}else{wa=ua;xa=la}ra=xa;if((na|0)==(ra|0))break;else ua=wa}}f[z>>2]=0;z=sa-qa>>2;if(z>>>0>2){qa=va;do{Ko(f[qa>>2]|0);qa=(f[y>>2]|0)+4|0;f[y>>2]=qa;ya=f[q>>2]|0;za=ya-qa>>2}while(za>>>0>2);Aa=za;Ba=qa;Ca=ya}else{Aa=z;Ba=va;Ca=ta}switch(Aa|0){case 1:{Da=170;R=95;break}case 2:{Da=341;R=95;break}default:{}}if((R|0)==95)f[B>>2]=Da;if((Ba|0)!=(Ca|0)){Da=Ba;do{Ko(f[Da>>2]|0);Da=Da+4|0}while((Da|0)!=(Ca|0));Ca=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ca|0))f[q>>2]=y+(~((y+-4-Ca|0)>>>2)<<2)}Ca=f[g>>2]|0;if(!Ca){u=d;return D|0}Ko(Ca);u=d;return D|0}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+120|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+132|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+108|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+96|0;j=a+52|0;i=a+48|0;l=a+40|0;o=a+32|0;p=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=C;while(1){J=f[B>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=(L>>>0)/341|0;O=f[M+(N<<2)>>2]|0;P=L-(N*341|0)|0;N=f[O+(P*12|0)>>2]|0;L=f[O+(P*12|0)+4>>2]|0;Q=f[O+(P*12|0)+8>>2]|0;f[z>>2]=K;K=f[q>>2]|0;P=K-M|0;if((1-I-J+((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[K+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}K=f[m>>2]|0;P=K+(Q*12|0)|0;if(N>>>0>b>>>0){D=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(L|0)?0:L+1|0;if(M>>>0>=J>>>0){D=0;break a}J=(f[v>>2]|0)+(Q*12|0)|0;L=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!L)if(!N)R=19;else{O=0;do{S=f[P>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[k>>2]=f[S+4>>2];f[r>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[k>>2];f[V+8>>2]=f[r>>2];f[U>>2]=V+12}else If(S,e);f[A>>2]=(f[A>>2]|0)+1;O=O+1|0}while(O>>>0<N>>>0);R=19}else{if(N>>>0<3){O=f[w>>2]|0;f[O>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=1;U=S;T=M;while(1){T=(T|0)==(U+-1|0)?0:T+1|0;f[O+(V<<2)>>2]=T;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){X=W;break}else U=W}}else X=S;if(!N){R=19;break}U=0;V=X;while(1){if(!V)Y=f[n>>2]|0;else{T=f[w>>2]|0;O=f[n>>2]|0;W=f[J>>2]|0;_=0;do{$=T+(_<<2)|0;f[O+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=O+(aa<<2)|0;da=f[j>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[i>>2]|0;ga=fa+4|0;if((ga|0)==(f[l>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<<da;fa=ba-ea|0;f[j>>2]=fa;f[i>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[i>>2]|0;if((ea|0)==(f[l>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<<da>>>(32-ba|0);da=(f[j>>2]|0)+ba|0;f[j>>2]=da;if((da|0)!=32)break;f[i>>2]=ea+4;f[j>>2]=0}while(0);ba=f[$>>2]|0;aa=O+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[P>>2]|0)+(ba<<2)>>2];_=_+1|0}while(_>>>0<(f[h>>2]|0)>>>0);Y=O}O=f[Y>>2]|0;f[e>>2]=O;f[x>>2]=f[Y+4>>2];f[t>>2]=f[Y+8>>2];_=f[c>>2]|0;W=_+4|0;T=f[W>>2]|0;if(T>>>0<(f[_+8>>2]|0)>>>0){f[T>>2]=O;f[T+4>>2]=f[x>>2];f[T+8>>2]=f[t>>2];f[W>>2]=T+12}else If(_,e);f[A>>2]=(f[A>>2]|0)+1;_=U+1|0;if(_>>>0>=N>>>0){R=19;break b}U=_;V=f[h>>2]|0}}if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}V=Q+1|0;Df(K+(V*12|0)|0,f[P>>2]|0,f[K+(Q*12|0)+4>>2]|0);U=(f[(f[m>>2]|0)+(V*12|0)>>2]|0)+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+(1<<L+-1);U=(Z(N|0)|0)^31;S=f[o>>2]|0;_=32-S|0;if((U|0)>(_|0)){T=f[p>>2]|0;W=T+4|0;if((W|0)==(f[E>>2]|0))ja=0;else{O=f[T>>2]<<S;T=U-_|0;f[o>>2]=T;f[p>>2]=W;ba=32-T|0;ja=(f[W>>2]|0)>>>ba|O>>>(ba-_|0)}}else{_=f[p>>2]|0;if((_|0)!=(f[E>>2]|0)){ba=f[_>>2]<<S>>>(32-U|0);O=S+U|0;f[o>>2]=O;if((O|0)==32){f[p>>2]=_+4;f[o>>2]=0;ja=ba}else ja=ba}else ja=0}ba=(N>>>1)-ja|0;_=N-ba|0;c:do if((ba|0)==(_|0)){ka=ba;la=ba}else{O=f[F>>2]|0;U=f[H>>2]|0;do if((U|0)!=(f[G>>2]|0)){S=(f[U>>2]&1<<31-O|0)!=0;W=O+1|0;f[F>>2]=W;if((W|0)==32){f[H>>2]=U+4;f[F>>2]=0;if(S){ka=ba;la=_;break c}else break}else if(S){ka=ba;la=_;break c}else break}while(0);ka=_;la=ba}while(0);ba=f[v>>2]|0;_=f[ba+(Q*12|0)>>2]|0;U=_+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+1;Df(ba+(V*12|0)|0,_,f[ba+(Q*12|0)+4>>2]|0);if(ka|0){ba=f[q>>2]|0;_=f[y>>2]|0;U=ba-_|0;O=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((U|0)==0?0:((U>>2)*341|0)+-1|0)|0)==(O|0)){cc(g);ma=(f[B>>2]|0)+(f[z>>2]|0)|0;na=f[q>>2]|0;oa=f[y>>2]|0}else{ma=O;na=ba;oa=_}if((na|0)==(oa|0))pa=0;else{_=(ma>>>0)/341|0;pa=(f[oa+(_<<2)>>2]|0)+((ma-(_*341|0)|0)*12|0)|0}f[pa>>2]=ka;f[pa+4>>2]=M;f[pa+8>>2]=Q;f[z>>2]=(f[z>>2]|0)+1}if(!la)R=19;else{_=f[q>>2]|0;ba=f[y>>2]|0;O=_-ba|0;U=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)==(U|0)){cc(g);qa=(f[B>>2]|0)+(f[z>>2]|0)|0;ra=f[q>>2]|0;sa=f[y>>2]|0}else{qa=U;ra=_;sa=ba}if((ra|0)==(sa|0))ta=0;else{ba=(qa>>>0)/341|0;ta=(f[sa+(ba<<2)>>2]|0)+((qa-(ba*341|0)|0)*12|0)|0}f[ta>>2]=la;f[ta+4>>2]=M;f[ta+8>>2]=V;ba=(f[z>>2]|0)+1|0;f[z>>2]=ba;ua=ba}}while(0);if((R|0)==19){R=0;ua=f[z>>2]|0}if(!ua){D=1;break}else I=ua}}while(0);ua=f[y>>2]|0;ta=f[B>>2]|0;la=(ta>>>0)/341|0;qa=ua+(la<<2)|0;sa=f[q>>2]|0;ra=sa;pa=ua;if((sa|0)!=(ua|0)?(ka=(f[qa>>2]|0)+((ta-(la*341|0)|0)*12|0)|0,la=(f[z>>2]|0)+ta|0,ta=(la>>>0)/341|0,ma=(f[ua+(ta<<2)>>2]|0)+((la-(ta*341|0)|0)*12|0)|0,(ma|0)!=(ka|0)):0){ta=qa;qa=ka;while(1){ka=qa+12|0;if((ka-(f[ta>>2]|0)|0)==4092){la=ta+4|0;va=la;wa=f[la>>2]|0}else{va=ta;wa=ka}qa=wa;if((ma|0)==(qa|0))break;else ta=va}}f[z>>2]=0;z=ra-pa>>2;if(z>>>0>2){pa=ua;do{Ko(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;xa=f[q>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=ya;Aa=pa;Ba=xa}else{za=z;Aa=ua;Ba=sa}switch(za|0){case 1:{Ca=170;R=93;break}case 2:{Ca=341;R=93;break}default:{}}if((R|0)==93)f[B>>2]=Ca;if((Aa|0)!=(Ba|0)){Ca=Aa;do{Ko(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Ba|0));Ba=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ba|0))f[q>>2]=y+(~((y+-4-Ba|0)>>>2)<<2)}Ba=f[g>>2]|0;if(!Ba){u=d;return D|0}Ko(Ba);u=d;return D|0}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+616|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;G=(f[v>>2]|0)+(N*12|0)|0;if(K>>>0>b>>>0){D=0;break a}J=tg(a,K,G,I)|0;if(J>>>0>=(f[h>>2]|0)>>>0){D=0;break a}I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;L=L+1|0}while(L>>>0<K>>>0);O=19}else{if(K>>>0<3){L=f[w>>2]|0;f[L>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=J;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[L+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!K){O=19;break}R=0;S=U;while(1){if(!S)V=f[n>>2]|0;else{Q=f[w>>2]|0;L=f[n>>2]|0;T=f[G>>2]|0;W=0;do{X=Q+(W<<2)|0;f[L+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;_=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(_|0){$=L+(Y<<2)|0;aa=f[j>>2]|0;ba=32-aa|0;if((_|0)>(ba|0)){ca=f[i>>2]|0;da=ca+4|0;if((da|0)==(f[l>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<<aa;ca=_-ba|0;f[j>>2]=ca;f[i>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[i>>2]|0;if((ba|0)==(f[l>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<<aa>>>(32-_|0);aa=(f[j>>2]|0)+_|0;f[j>>2]=aa;if((aa|0)!=32)break;f[i>>2]=ba+4;f[j>>2]=0}while(0);_=f[X>>2]|0;Y=L+(_<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[M>>2]|0)+(_<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=L}L=f[V>>2]|0;f[e>>2]=L;f[x>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=L;f[Q+4>>2]=f[x>>2];f[Q+8>>2]=f[t>>2];f[T>>2]=Q+12}else If(W,e);f[A>>2]=(f[A>>2]|0)+1;W=R+1|0;if(W>>>0>=K>>>0){O=19;break b}R=W;S=f[h>>2]|0}}if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}S=N+1|0;R=f[m>>2]|0;P=R+(S*12|0)|0;if((P|0)==(M|0))ga=R;else{Df(P,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[m>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<<I+-1);P=(Z(K|0)|0)^31;if(!P)ha=0;else{R=0;W=0;while(1){Q=W<<1|(pi(a+16+(R<<4)|0)|0)&1;R=R+1|0;if((R|0)==(P|0)){ha=Q;break}else W=Q}}W=(K>>>1)-ha|0;P=K-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{R=f[o>>2]|0;Q=f[E>>2]|0;do if((Q|0)!=(f[p>>2]|0)){T=(f[Q>>2]&1<<31-R|0)!=0;L=R+1|0;f[o>>2]=L;if((L|0)==32){f[E>>2]=Q+4;f[o>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[v>>2]|0;P=f[W+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(W+(S*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[q>>2]|0;P=f[y>>2]|0;Q=W-P|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);ka=(f[B>>2]|0)+(f[z>>2]|0)|0;la=f[q>>2]|0;ma=f[y>>2]|0}else{ka=R;la=W;ma=P}if((la|0)==(ma|0))na=0;else{P=(ka>>>0)/341|0;na=(f[ma+(P<<2)>>2]|0)+((ka-(P*341|0)|0)*12|0)|0}f[na>>2]=ia;f[na+4>>2]=J;f[na+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!ja)O=19;else{P=f[q>>2]|0;W=f[y>>2]|0;R=P-W|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);oa=(f[B>>2]|0)+(f[z>>2]|0)|0;pa=f[q>>2]|0;qa=f[y>>2]|0}else{oa=Q;pa=P;qa=W}if((pa|0)==(qa|0))ra=0;else{W=(oa>>>0)/341|0;ra=(f[qa+(W<<2)>>2]|0)+((oa-(W*341|0)|0)*12|0)|0}f[ra>>2]=ja;f[ra+4>>2]=J;f[ra+8>>2]=S;W=(f[z>>2]|0)+1|0;f[z>>2]=W;sa=W}}while(0);if((O|0)==19){O=0;sa=f[z>>2]|0}if(!sa){D=1;break}else F=sa}}while(0);sa=f[y>>2]|0;ra=f[B>>2]|0;ja=(ra>>>0)/341|0;oa=sa+(ja<<2)|0;qa=f[q>>2]|0;pa=qa;na=sa;if((qa|0)!=(sa|0)?(ia=(f[oa>>2]|0)+((ra-(ja*341|0)|0)*12|0)|0,ja=(f[z>>2]|0)+ra|0,ra=(ja>>>0)/341|0,ka=(f[sa+(ra<<2)>>2]|0)+((ja-(ra*341|0)|0)*12|0)|0,(ka|0)!=(ia|0)):0){ra=oa;oa=ia;while(1){ia=oa+12|0;if((ia-(f[ra>>2]|0)|0)==4092){ja=ra+4|0;ta=ja;ua=f[ja>>2]|0}else{ta=ra;ua=ia}oa=ua;if((ka|0)==(oa|0))break;else ra=ta}}f[z>>2]=0;z=pa-na>>2;if(z>>>0>2){na=sa;do{Ko(f[na>>2]|0);na=(f[y>>2]|0)+4|0;f[y>>2]=na;va=f[q>>2]|0;wa=va-na>>2}while(wa>>>0>2);xa=wa;ya=na;za=va}else{xa=z;ya=sa;za=qa}switch(xa|0){case 1:{Aa=170;O=92;break}case 2:{Aa=341;O=92;break}default:{}}if((O|0)==92)f[B>>2]=Aa;if((ya|0)!=(za|0)){Aa=ya;do{Ko(f[Aa>>2]|0);Aa=Aa+4|0}while((Aa|0)!=(za|0));za=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(za|0))f[q>>2]=y+(~((y+-4-za|0)>>>2)<<2)}za=f[g>>2]|0;if(!za){u=d;return D|0}Ko(za);u=d;return D|0}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+616|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;G=(f[v>>2]|0)+(N*12|0)|0;if(K>>>0>b>>>0){D=0;break a}J=Pk(a,K,G,I)|0;if(J>>>0>=(f[h>>2]|0)>>>0){D=0;break a}I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;L=L+1|0}while(L>>>0<K>>>0);O=19}else{if(K>>>0<3){L=f[w>>2]|0;f[L>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=J;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[L+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!K){O=19;break}R=0;S=U;while(1){if(!S)V=f[n>>2]|0;else{Q=f[w>>2]|0;L=f[n>>2]|0;T=f[G>>2]|0;W=0;do{X=Q+(W<<2)|0;f[L+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;_=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(_|0){$=L+(Y<<2)|0;aa=f[j>>2]|0;ba=32-aa|0;if((_|0)>(ba|0)){ca=f[i>>2]|0;da=ca+4|0;if((da|0)==(f[l>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<<aa;ca=_-ba|0;f[j>>2]=ca;f[i>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[i>>2]|0;if((ba|0)==(f[l>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<<aa>>>(32-_|0);aa=(f[j>>2]|0)+_|0;f[j>>2]=aa;if((aa|0)!=32)break;f[i>>2]=ba+4;f[j>>2]=0}while(0);_=f[X>>2]|0;Y=L+(_<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[M>>2]|0)+(_<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=L}L=f[V>>2]|0;f[e>>2]=L;f[x>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=L;f[Q+4>>2]=f[x>>2];f[Q+8>>2]=f[t>>2];f[T>>2]=Q+12}else If(W,e);f[A>>2]=(f[A>>2]|0)+1;W=R+1|0;if(W>>>0>=K>>>0){O=19;break b}R=W;S=f[h>>2]|0}}if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}S=N+1|0;R=f[m>>2]|0;P=R+(S*12|0)|0;if((P|0)==(M|0))ga=R;else{Df(P,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[m>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<<I+-1);P=(Z(K|0)|0)^31;if(!P)ha=0;else{R=0;W=0;while(1){Q=W<<1|(pi(a+16+(R<<4)|0)|0)&1;R=R+1|0;if((R|0)==(P|0)){ha=Q;break}else W=Q}}W=(K>>>1)-ha|0;P=K-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{R=f[o>>2]|0;Q=f[E>>2]|0;do if((Q|0)!=(f[p>>2]|0)){T=(f[Q>>2]&1<<31-R|0)!=0;L=R+1|0;f[o>>2]=L;if((L|0)==32){f[E>>2]=Q+4;f[o>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[v>>2]|0;P=f[W+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(W+(S*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[q>>2]|0;P=f[y>>2]|0;Q=W-P|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);ka=(f[B>>2]|0)+(f[z>>2]|0)|0;la=f[q>>2]|0;ma=f[y>>2]|0}else{ka=R;la=W;ma=P}if((la|0)==(ma|0))na=0;else{P=(ka>>>0)/341|0;na=(f[ma+(P<<2)>>2]|0)+((ka-(P*341|0)|0)*12|0)|0}f[na>>2]=ia;f[na+4>>2]=J;f[na+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!ja)O=19;else{P=f[q>>2]|0;W=f[y>>2]|0;R=P-W|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);oa=(f[B>>2]|0)+(f[z>>2]|0)|0;pa=f[q>>2]|0;qa=f[y>>2]|0}else{oa=Q;pa=P;qa=W}if((pa|0)==(qa|0))ra=0;else{W=(oa>>>0)/341|0;ra=(f[qa+(W<<2)>>2]|0)+((oa-(W*341|0)|0)*12|0)|0}f[ra>>2]=ja;f[ra+4>>2]=J;f[ra+8>>2]=S;W=(f[z>>2]|0)+1|0;f[z>>2]=W;sa=W}}while(0);if((O|0)==19){O=0;sa=f[z>>2]|0}if(!sa){D=1;break}else F=sa}}while(0);sa=f[y>>2]|0;ra=f[B>>2]|0;ja=(ra>>>0)/341|0;oa=sa+(ja<<2)|0;qa=f[q>>2]|0;pa=qa;na=sa;if((qa|0)!=(sa|0)?(ia=(f[oa>>2]|0)+((ra-(ja*341|0)|0)*12|0)|0,ja=(f[z>>2]|0)+ra|0,ra=(ja>>>0)/341|0,ka=(f[sa+(ra<<2)>>2]|0)+((ja-(ra*341|0)|0)*12|0)|0,(ka|0)!=(ia|0)):0){ra=oa;oa=ia;while(1){ia=oa+12|0;if((ia-(f[ra>>2]|0)|0)==4092){ja=ra+4|0;ta=ja;ua=f[ja>>2]|0}else{ta=ra;ua=ia}oa=ua;if((ka|0)==(oa|0))break;else ra=ta}}f[z>>2]=0;z=pa-na>>2;if(z>>>0>2){na=sa;do{Ko(f[na>>2]|0);na=(f[y>>2]|0)+4|0;f[y>>2]=na;va=f[q>>2]|0;wa=va-na>>2}while(wa>>>0>2);xa=wa;ya=na;za=va}else{xa=z;ya=sa;za=qa}switch(xa|0){case 1:{Aa=170;O=92;break}case 2:{Aa=341;O=92;break}default:{}}if((O|0)==92)f[B>>2]=Aa;if((ya|0)!=(za|0)){Aa=ya;do{Ko(f[Aa>>2]|0);Aa=Aa+4|0}while((Aa|0)!=(za|0));za=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(za|0))f[q>>2]=y+(~((y+-4-za|0)>>>2)<<2)}za=f[g>>2]|0;if(!za){u=d;return D|0}Ko(za);u=d;return D|0}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+616|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;if(K>>>0>b>>>0){D=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(I|0)?0:I+1|0;if(J>>>0>=G>>>0){D=0;break a}G=(f[v>>2]|0)+(N*12|0)|0;I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;L=L+1|0}while(L>>>0<K>>>0);O=19}else{if(K>>>0>=3){if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}L=N+1|0;Df(H+(L*12|0)|0,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[m>>2]|0)+(L*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<<I+-1);P=(Z(K|0)|0)^31;if(!P)T=0;else{S=0;R=0;while(1){Q=R<<1|(pi(a+16+(S<<4)|0)|0)&1;S=S+1|0;if((S|0)==(P|0)){T=Q;break}else R=Q}}R=(K>>>1)-T|0;P=K-R|0;c:do if((R|0)==(P|0)){U=R;V=R}else{S=f[o>>2]|0;Q=f[E>>2]|0;do if((Q|0)!=(f[p>>2]|0)){W=(f[Q>>2]&1<<31-S|0)!=0;X=S+1|0;f[o>>2]=X;if((X|0)==32){f[E>>2]=Q+4;f[o>>2]=0;if(W){U=R;V=P;break c}else break}else if(W){U=R;V=P;break c}else break}while(0);U=P;V=R}while(0);R=f[v>>2]|0;P=f[R+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(R+(L*12|0)|0,P,f[R+(N*12|0)+4>>2]|0);if(U|0){R=f[q>>2]|0;P=f[y>>2]|0;Q=R-P|0;S=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(S|0)){cc(g);Y=(f[B>>2]|0)+(f[z>>2]|0)|0;_=f[q>>2]|0;$=f[y>>2]|0}else{Y=S;_=R;$=P}if((_|0)==($|0))aa=0;else{P=(Y>>>0)/341|0;aa=(f[$+(P<<2)>>2]|0)+((Y-(P*341|0)|0)*12|0)|0}f[aa>>2]=U;f[aa+4>>2]=J;f[aa+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!V){O=19;break}P=f[q>>2]|0;R=f[y>>2]|0;S=P-R|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((S|0)==0?0:((S>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);ba=(f[B>>2]|0)+(f[z>>2]|0)|0;ca=f[q>>2]|0;da=f[y>>2]|0}else{ba=Q;ca=P;da=R}if((ca|0)==(da|0))ea=0;else{R=(ba>>>0)/341|0;ea=(f[da+(R<<2)>>2]|0)+((ba-(R*341|0)|0)*12|0)|0}f[ea>>2]=V;f[ea+4>>2]=J;f[ea+8>>2]=L;R=(f[z>>2]|0)+1|0;f[z>>2]=R;fa=R;break}R=f[w>>2]|0;f[R>>2]=J;P=f[h>>2]|0;if(P>>>0>1){Q=1;S=P;W=J;while(1){W=(W|0)==(S+-1|0)?0:W+1|0;f[R+(Q<<2)>>2]=W;Q=Q+1|0;X=f[h>>2]|0;if(Q>>>0>=X>>>0){ga=X;break}else S=X}}else ga=P;if(!K)O=19;else{S=0;Q=ga;while(1){if(!Q)ha=f[n>>2]|0;else{W=f[w>>2]|0;R=f[n>>2]|0;L=f[G>>2]|0;X=0;do{ia=W+(X<<2)|0;f[R+(f[ia>>2]<<2)>>2]=0;ja=f[ia>>2]|0;ka=(f[a>>2]|0)-(f[L+(ja<<2)>>2]|0)|0;do if(ka|0){la=R+(ja<<2)|0;ma=f[j>>2]|0;na=32-ma|0;if((ka|0)>(na|0)){oa=f[i>>2]|0;pa=oa+4|0;if((pa|0)==(f[l>>2]|0)){f[la>>2]=0;break}else{qa=f[oa>>2]<<ma;oa=ka-na|0;f[j>>2]=oa;f[i>>2]=pa;ra=32-oa|0;f[la>>2]=(f[pa>>2]|0)>>>ra|qa>>>(ra-na|0);break}}na=f[i>>2]|0;if((na|0)==(f[l>>2]|0)){f[la>>2]=0;break}f[la>>2]=f[na>>2]<<ma>>>(32-ka|0);ma=(f[j>>2]|0)+ka|0;f[j>>2]=ma;if((ma|0)!=32)break;f[i>>2]=na+4;f[j>>2]=0}while(0);ka=f[ia>>2]|0;ja=R+(ka<<2)|0;f[ja>>2]=f[ja>>2]|f[(f[M>>2]|0)+(ka<<2)>>2];X=X+1|0}while(X>>>0<(f[h>>2]|0)>>>0);ha=R}R=f[ha>>2]|0;f[e>>2]=R;f[x>>2]=f[ha+4>>2];f[t>>2]=f[ha+8>>2];X=f[c>>2]|0;L=X+4|0;W=f[L>>2]|0;if(W>>>0<(f[X+8>>2]|0)>>>0){f[W>>2]=R;f[W+4>>2]=f[x>>2];f[W+8>>2]=f[t>>2];f[L>>2]=W+12}else If(X,e);f[A>>2]=(f[A>>2]|0)+1;X=S+1|0;if(X>>>0>=K>>>0){O=19;break b}S=X;Q=f[h>>2]|0}}}while(0);if((O|0)==19){O=0;fa=f[z>>2]|0}if(!fa){D=1;break}else F=fa}}while(0);fa=f[y>>2]|0;h=f[B>>2]|0;e=(h>>>0)/341|0;c=fa+(e<<2)|0;ha=f[q>>2]|0;a=ha;ga=fa;if((ha|0)!=(fa|0)?(ea=(f[c>>2]|0)+((h-(e*341|0)|0)*12|0)|0,e=(f[z>>2]|0)+h|0,h=(e>>>0)/341|0,V=(f[fa+(h<<2)>>2]|0)+((e-(h*341|0)|0)*12|0)|0,(V|0)!=(ea|0)):0){h=c;c=ea;while(1){ea=c+12|0;if((ea-(f[h>>2]|0)|0)==4092){e=h+4|0;sa=e;ta=f[e>>2]|0}else{sa=h;ta=ea}c=ta;if((V|0)==(c|0))break;else h=sa}}f[z>>2]=0;z=a-ga>>2;if(z>>>0>2){ga=fa;do{Ko(f[ga>>2]|0);ga=(f[y>>2]|0)+4|0;f[y>>2]=ga;ua=f[q>>2]|0;va=ua-ga>>2}while(va>>>0>2);wa=va;xa=ga;ya=ua}else{wa=z;xa=fa;ya=ha}switch(wa|0){case 1:{za=170;O=90;break}case 2:{za=341;O=90;break}default:{}}if((O|0)==90)f[B>>2]=za;if((xa|0)!=(ya|0)){za=xa;do{Ko(f[za>>2]|0);za=za+4|0}while((za|0)!=(ya|0));ya=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(ya|0))f[q>>2]=y+(~((y+-4-ya|0)>>>2)<<2)}ya=f[g>>2]|0;if(!ya){u=d;return D|0}Ko(ya);u=d;return D|0}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+128|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+104|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+92|0;j=a+48|0;i=a+44|0;l=a+36|0;o=a+16|0;p=a+88|0;E=a+76|0;F=a+84|0;G=C;while(1){H=f[B>>2]|0;I=G+-1|0;J=H+I|0;K=f[y>>2]|0;L=(J>>>0)/341|0;M=f[K+(L<<2)>>2]|0;N=J-(L*341|0)|0;L=f[M+(N*12|0)>>2]|0;J=f[M+(N*12|0)+4>>2]|0;O=f[M+(N*12|0)+8>>2]|0;f[z>>2]=I;I=f[q>>2]|0;N=I-K|0;if((1-G-H+((N|0)==0?0:((N>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[I+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}I=f[m>>2]|0;N=I+(O*12|0)|0;H=(f[v>>2]|0)+(O*12|0)|0;if(L>>>0>b>>>0){D=0;break a}K=Pk(a,L,H,J)|0;if(K>>>0>=(f[h>>2]|0)>>>0){D=0;break a}J=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!J){if(L|0){M=0;do{P=f[N>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;M=M+1|0}while(M>>>0<L>>>0)}}else{if(L>>>0>=3){if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}M=O+1|0;P=f[m>>2]|0;S=P+(M*12|0)|0;if((S|0)==(N|0))T=P;else{Df(S,f[N>>2]|0,f[I+(O*12|0)+4>>2]|0);T=f[m>>2]|0}S=(f[T+(M*12|0)>>2]|0)+(K<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<<J+-1);S=(Z(L|0)|0)^31;f[e>>2]=0;ph(o,S,e);S=(L>>>1)-(f[e>>2]|0)|0;P=L-S|0;c:do if((S|0)==(P|0)){U=S;V=S}else{R=f[p>>2]|0;Q=f[F>>2]|0;do if((Q|0)!=(f[E>>2]|0)){W=(f[Q>>2]&1<<31-R|0)!=0;X=R+1|0;f[p>>2]=X;if((X|0)==32){f[F>>2]=Q+4;f[p>>2]=0;if(W){U=S;V=P;break c}else break}else if(W){U=S;V=P;break c}else break}while(0);U=P;V=S}while(0);S=f[v>>2]|0;P=f[S+(O*12|0)>>2]|0;Q=P+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(S+(M*12|0)|0,P,f[S+(O*12|0)+4>>2]|0);if(U|0){S=f[q>>2]|0;P=f[y>>2]|0;Q=S-P|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);Y=(f[B>>2]|0)+(f[z>>2]|0)|0;_=f[q>>2]|0;$=f[y>>2]|0}else{Y=R;_=S;$=P}if((_|0)==($|0))aa=0;else{P=(Y>>>0)/341|0;aa=(f[$+(P<<2)>>2]|0)+((Y-(P*341|0)|0)*12|0)|0}f[aa>>2]=U;f[aa+4>>2]=K;f[aa+8>>2]=O;f[z>>2]=(f[z>>2]|0)+1}if(V|0){P=f[q>>2]|0;S=f[y>>2]|0;R=P-S|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);ba=(f[B>>2]|0)+(f[z>>2]|0)|0;ca=f[q>>2]|0;da=f[y>>2]|0}else{ba=Q;ca=P;da=S}if((ca|0)==(da|0))ea=0;else{S=(ba>>>0)/341|0;ea=(f[da+(S<<2)>>2]|0)+((ba-(S*341|0)|0)*12|0)|0}f[ea>>2]=V;f[ea+4>>2]=K;f[ea+8>>2]=M;f[z>>2]=(f[z>>2]|0)+1}break}S=f[w>>2]|0;f[S>>2]=K;P=f[h>>2]|0;if(P>>>0>1){Q=1;R=P;W=K;while(1){W=(W|0)==(R+-1|0)?0:W+1|0;f[S+(Q<<2)>>2]=W;Q=Q+1|0;X=f[h>>2]|0;if(Q>>>0>=X>>>0){fa=X;break}else R=X}}else fa=P;if(L|0){R=0;Q=fa;while(1){if(!Q)ga=f[n>>2]|0;else{W=f[w>>2]|0;S=f[n>>2]|0;M=f[H>>2]|0;X=0;do{ha=W+(X<<2)|0;f[S+(f[ha>>2]<<2)>>2]=0;ia=f[ha>>2]|0;ja=(f[a>>2]|0)-(f[M+(ia<<2)>>2]|0)|0;do if(ja|0){ka=S+(ia<<2)|0;la=f[j>>2]|0;ma=32-la|0;if((ja|0)>(ma|0)){na=f[i>>2]|0;oa=na+4|0;if((oa|0)==(f[l>>2]|0)){f[ka>>2]=0;break}else{pa=f[na>>2]<<la;na=ja-ma|0;f[j>>2]=na;f[i>>2]=oa;qa=32-na|0;f[ka>>2]=(f[oa>>2]|0)>>>qa|pa>>>(qa-ma|0);break}}ma=f[i>>2]|0;if((ma|0)==(f[l>>2]|0)){f[ka>>2]=0;break}f[ka>>2]=f[ma>>2]<<la>>>(32-ja|0);la=(f[j>>2]|0)+ja|0;f[j>>2]=la;if((la|0)!=32)break;f[i>>2]=ma+4;f[j>>2]=0}while(0);ja=f[ha>>2]|0;ia=S+(ja<<2)|0;f[ia>>2]=f[ia>>2]|f[(f[N>>2]|0)+(ja<<2)>>2];X=X+1|0}while(X>>>0<(f[h>>2]|0)>>>0);ga=S}S=f[ga>>2]|0;f[e>>2]=S;f[x>>2]=f[ga+4>>2];f[t>>2]=f[ga+8>>2];X=f[c>>2]|0;M=X+4|0;W=f[M>>2]|0;if(W>>>0<(f[X+8>>2]|0)>>>0){f[W>>2]=S;f[W+4>>2]=f[x>>2];f[W+8>>2]=f[t>>2];f[M>>2]=W+12}else If(X,e);f[A>>2]=(f[A>>2]|0)+1;X=R+1|0;if(X>>>0>=L>>>0)break b;R=X;Q=f[h>>2]|0}}}while(0);G=f[z>>2]|0;if(!G){D=1;break}}}while(0);h=f[y>>2]|0;e=f[B>>2]|0;c=(e>>>0)/341|0;ga=h+(c<<2)|0;a=f[q>>2]|0;fa=a;ea=h;if((a|0)!=(h|0)?(V=(f[ga>>2]|0)+((e-(c*341|0)|0)*12|0)|0,c=(f[z>>2]|0)+e|0,e=(c>>>0)/341|0,ba=(f[h+(e<<2)>>2]|0)+((c-(e*341|0)|0)*12|0)|0,(ba|0)!=(V|0)):0){e=ga;ga=V;while(1){V=ga+12|0;if((V-(f[e>>2]|0)|0)==4092){c=e+4|0;ra=c;sa=f[c>>2]|0}else{ra=e;sa=V}ga=sa;if((ba|0)==(ga|0))break;else e=ra}}f[z>>2]=0;z=fa-ea>>2;if(z>>>0>2){ea=h;do{Ko(f[ea>>2]|0);ea=(f[y>>2]|0)+4|0;f[y>>2]=ea;ta=f[q>>2]|0;ua=ta-ea>>2}while(ua>>>0>2);va=ua;wa=ea;xa=ta}else{va=z;wa=h;xa=a}switch(va|0){case 1:{ya=170;za=89;break}case 2:{ya=341;za=89;break}default:{}}if((za|0)==89)f[B>>2]=ya;if((wa|0)!=(xa|0)){ya=wa;do{Ko(f[ya>>2]|0);ya=ya+4|0}while((ya|0)!=(xa|0));xa=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(xa|0))f[q>>2]=y+(~((y+-4-xa|0)>>>2)<<2)}xa=f[g>>2]|0;if(!xa){u=d;return D|0}Ko(xa);u=d;return D|0}function ob(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Ia,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=_(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=_(_(b[r>>0]|0)/_(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=_(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=_(_(h[u>>0]|0)/_(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=_(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=_(_(d[u>>1]|0)/_(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=_(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=_(_(j[u>>1]|0)/_(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=_(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=_(_(f[u>>2]|0)*_(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=_((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=_(_((f[u>>2]|0)>>>0)*_(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=_(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=_(_(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*_(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=_(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=_(_(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*_(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=vl(r|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=_(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(u|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=_((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+128|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+104|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+92|0;j=a+48|0;i=a+44|0;l=a+36|0;o=a+16|0;p=a+88|0;E=a+76|0;F=a+84|0;G=C;while(1){H=f[B>>2]|0;I=G+-1|0;J=H+I|0;K=f[y>>2]|0;L=(J>>>0)/341|0;M=f[K+(L<<2)>>2]|0;N=J-(L*341|0)|0;L=f[M+(N*12|0)>>2]|0;J=f[M+(N*12|0)+4>>2]|0;O=f[M+(N*12|0)+8>>2]|0;f[z>>2]=I;I=f[q>>2]|0;N=I-K|0;if((1-G-H+((N|0)==0?0:((N>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[I+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}I=f[m>>2]|0;N=I+(O*12|0)|0;if(L>>>0>b>>>0){D=0;break a}H=f[h>>2]|0;K=(H+-1|0)==(J|0)?0:J+1|0;if(K>>>0>=H>>>0){D=0;break a}H=(f[v>>2]|0)+(O*12|0)|0;J=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!J){if(L|0){M=0;do{P=f[N>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;M=M+1|0}while(M>>>0<L>>>0)}}else{if(L>>>0>=3){if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}M=O+1|0;Df(I+(M*12|0)|0,f[N>>2]|0,f[I+(O*12|0)+4>>2]|0);P=(f[(f[m>>2]|0)+(M*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<<J+-1);P=(Z(L|0)|0)^31;f[e>>2]=0;ph(o,P,e);P=(L>>>1)-(f[e>>2]|0)|0;S=L-P|0;c:do if((P|0)==(S|0)){T=P;U=P}else{R=f[p>>2]|0;Q=f[F>>2]|0;do if((Q|0)!=(f[E>>2]|0)){V=(f[Q>>2]&1<<31-R|0)!=0;W=R+1|0;f[p>>2]=W;if((W|0)==32){f[F>>2]=Q+4;f[p>>2]=0;if(V){T=P;U=S;break c}else break}else if(V){T=P;U=S;break c}else break}while(0);T=S;U=P}while(0);P=f[v>>2]|0;S=f[P+(O*12|0)>>2]|0;Q=S+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(P+(M*12|0)|0,S,f[P+(O*12|0)+4>>2]|0);if(T|0){P=f[q>>2]|0;S=f[y>>2]|0;Q=P-S|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);X=(f[B>>2]|0)+(f[z>>2]|0)|0;Y=f[q>>2]|0;_=f[y>>2]|0}else{X=R;Y=P;_=S}if((Y|0)==(_|0))$=0;else{S=(X>>>0)/341|0;$=(f[_+(S<<2)>>2]|0)+((X-(S*341|0)|0)*12|0)|0}f[$>>2]=T;f[$+4>>2]=K;f[$+8>>2]=O;f[z>>2]=(f[z>>2]|0)+1}if(U|0){S=f[q>>2]|0;P=f[y>>2]|0;R=S-P|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);aa=(f[B>>2]|0)+(f[z>>2]|0)|0;ba=f[q>>2]|0;ca=f[y>>2]|0}else{aa=Q;ba=S;ca=P}if((ba|0)==(ca|0))da=0;else{P=(aa>>>0)/341|0;da=(f[ca+(P<<2)>>2]|0)+((aa-(P*341|0)|0)*12|0)|0}f[da>>2]=U;f[da+4>>2]=K;f[da+8>>2]=M;f[z>>2]=(f[z>>2]|0)+1}break}P=f[w>>2]|0;f[P>>2]=K;S=f[h>>2]|0;if(S>>>0>1){Q=1;R=S;V=K;while(1){V=(V|0)==(R+-1|0)?0:V+1|0;f[P+(Q<<2)>>2]=V;Q=Q+1|0;W=f[h>>2]|0;if(Q>>>0>=W>>>0){ea=W;break}else R=W}}else ea=S;if(L|0){R=0;Q=ea;while(1){if(!Q)fa=f[n>>2]|0;else{V=f[w>>2]|0;P=f[n>>2]|0;M=f[H>>2]|0;W=0;do{ga=V+(W<<2)|0;f[P+(f[ga>>2]<<2)>>2]=0;ha=f[ga>>2]|0;ia=(f[a>>2]|0)-(f[M+(ha<<2)>>2]|0)|0;do if(ia|0){ja=P+(ha<<2)|0;ka=f[j>>2]|0;la=32-ka|0;if((ia|0)>(la|0)){ma=f[i>>2]|0;na=ma+4|0;if((na|0)==(f[l>>2]|0)){f[ja>>2]=0;break}else{oa=f[ma>>2]<<ka;ma=ia-la|0;f[j>>2]=ma;f[i>>2]=na;pa=32-ma|0;f[ja>>2]=(f[na>>2]|0)>>>pa|oa>>>(pa-la|0);break}}la=f[i>>2]|0;if((la|0)==(f[l>>2]|0)){f[ja>>2]=0;break}f[ja>>2]=f[la>>2]<<ka>>>(32-ia|0);ka=(f[j>>2]|0)+ia|0;f[j>>2]=ka;if((ka|0)!=32)break;f[i>>2]=la+4;f[j>>2]=0}while(0);ia=f[ga>>2]|0;ha=P+(ia<<2)|0;f[ha>>2]=f[ha>>2]|f[(f[N>>2]|0)+(ia<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);fa=P}P=f[fa>>2]|0;f[e>>2]=P;f[x>>2]=f[fa+4>>2];f[t>>2]=f[fa+8>>2];W=f[c>>2]|0;M=W+4|0;V=f[M>>2]|0;if(V>>>0<(f[W+8>>2]|0)>>>0){f[V>>2]=P;f[V+4>>2]=f[x>>2];f[V+8>>2]=f[t>>2];f[M>>2]=V+12}else If(W,e);f[A>>2]=(f[A>>2]|0)+1;W=R+1|0;if(W>>>0>=L>>>0)break b;R=W;Q=f[h>>2]|0}}}while(0);G=f[z>>2]|0;if(!G){D=1;break}}}while(0);h=f[y>>2]|0;e=f[B>>2]|0;c=(e>>>0)/341|0;fa=h+(c<<2)|0;a=f[q>>2]|0;ea=a;da=h;if((a|0)!=(h|0)?(U=(f[fa>>2]|0)+((e-(c*341|0)|0)*12|0)|0,c=(f[z>>2]|0)+e|0,e=(c>>>0)/341|0,aa=(f[h+(e<<2)>>2]|0)+((c-(e*341|0)|0)*12|0)|0,(aa|0)!=(U|0)):0){e=fa;fa=U;while(1){U=fa+12|0;if((U-(f[e>>2]|0)|0)==4092){c=e+4|0;qa=c;ra=f[c>>2]|0}else{qa=e;ra=U}fa=ra;if((aa|0)==(fa|0))break;else e=qa}}f[z>>2]=0;z=ea-da>>2;if(z>>>0>2){da=h;do{Ko(f[da>>2]|0);da=(f[y>>2]|0)+4|0;f[y>>2]=da;sa=f[q>>2]|0;ta=sa-da>>2}while(ta>>>0>2);ua=ta;va=da;wa=sa}else{ua=z;va=h;wa=a}switch(ua|0){case 1:{xa=170;ya=87;break}case 2:{xa=341;ya=87;break}default:{}}if((ya|0)==87)f[B>>2]=xa;if((va|0)!=(wa|0)){xa=va;do{Ko(f[xa>>2]|0);xa=xa+4|0}while((xa|0)!=(wa|0));wa=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(wa|0))f[q>>2]=y+(~((y+-4-wa|0)>>>2)<<2)}wa=f[g>>2]|0;if(!wa){u=d;return D|0}Ko(wa);u=d;return D|0}function qb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[j>>2]|0;m=(f[k>>2]|0)-l>>2;if(m>>>0>=e>>>0){if(m>>>0>e>>>0)f[k>>2]=l+(e<<2)}else Eg(j,e-m|0);m=d;j=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(j|0));f[h>>2]=0;if(!e){n=0;o=0}else{Of(d,e,h);n=f[d+12>>2]|0;o=f[d+16>>2]|0}f[h>>2]=0;m=d+16|0;j=o-n>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[m>>2]=n+(e<<2)}else Of(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;n=d+28|0;m=f[j>>2]|0;o=(f[n>>2]|0)-m>>2;if(o>>>0>=e>>>0){if(o>>>0>e>>>0)f[n>>2]=m+(e<<2)}else Of(j,e-o|0,h);o=d+36|0;f[h>>2]=0;j=d+40|0;m=f[o>>2]|0;n=(f[j>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[j>>2]=m+(e<<2)}else Of(o,e-n|0,h);n=f[d>>2]|0;if((f[i>>2]|0)>0){o=a+16|0;m=a+32|0;j=a+12|0;l=0;do{k=f[n+(l<<2)>>2]|0;p=f[o>>2]|0;do if((k|0)<=(p|0)){q=f[j>>2]|0;r=f[m>>2]|0;s=r+(l<<2)|0;if((k|0)<(q|0)){f[s>>2]=q;t=r;break}else{f[s>>2]=k;t=r;break}}else{r=f[m>>2]|0;f[r+(l<<2)>>2]=p;t=r}while(0);l=l+1|0;v=f[i>>2]|0}while((l|0)<(v|0));if((v|0)>0){v=a+20|0;l=0;do{m=(f[b+(l<<2)>>2]|0)+(f[t+(l<<2)>>2]|0)|0;n=c+(l<<2)|0;f[n>>2]=m;if((m|0)<=(f[o>>2]|0)){if((m|0)<(f[j>>2]|0)){w=(f[v>>2]|0)+m|0;x=19}}else{w=m-(f[v>>2]|0)|0;x=19}if((x|0)==19){x=0;f[n>>2]=w}l=l+1|0}while((l|0)<(f[i>>2]|0))}}l=f[a+48>>2]|0;w=f[a+52>>2]|0;v=wk(16)|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[h>>2]=0;j=h+4|0;f[j>>2]=0;o=h+8|0;f[o>>2]=0;do if(e)if(e>>>0>1073741823)$n(h);else{t=e<<2;n=wk(t)|0;f[h>>2]=n;m=n+(e<<2)|0;f[o>>2]=m;oh(n|0,0,t|0)|0;f[j>>2]=m;y=n;break}else y=0;while(0);o=f[a+56>>2]|0;n=f[o>>2]|0;m=(f[o+4>>2]|0)-n|0;t=m>>2;a:do if((m|0)>4){p=n;k=(e|0)>0;r=l+64|0;s=l+28|0;q=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;D=(e|0)==1;E=1;while(1){if(t>>>0<=E>>>0){x=30;break}F=f[p+(E<<2)>>2]|0;do if((F|0)!=-1){G=(((F>>>0)%3|0|0)==0?2:-1)+F|0;H=(G|0)==-1;I=G>>>5;J=1<<(G&31);K=1;L=0;M=F;N=f[l>>2]|0;b:while(1){O=f[d+(L*12|0)>>2]|0;if(((f[N+(M>>>5<<2)>>2]&1<<(M&31)|0)==0?(P=f[(f[(f[r>>2]|0)+12>>2]|0)+(M<<2)>>2]|0,(P|0)!=-1):0)?(Q=f[s>>2]|0,R=f[w>>2]|0,S=f[R+(f[Q+(P<<2)>>2]<<2)>>2]|0,T=P+1|0,U=f[R+(f[Q+((((T>>>0)%3|0|0)==0?P+-2|0:T)<<2)>>2]<<2)>>2]|0,T=f[R+(f[Q+((((P>>>0)%3|0|0)==0?2:-1)+P<<2)>>2]<<2)>>2]|0,(S|0)<(E|0)&(U|0)<(E|0)&(T|0)<(E|0)):0){P=W(S,e)|0;S=W(U,e)|0;U=W(T,e)|0;if(k){T=0;do{f[O+(T<<2)>>2]=(f[c+(T+U<<2)>>2]|0)+(f[c+(T+S<<2)>>2]|0)-(f[c+(T+P<<2)>>2]|0);T=T+1|0}while((T|0)!=(e|0))}T=L+1|0;if((T|0)==4){V=4;break}else X=T}else X=L;do if(K){T=M+1|0;P=((T>>>0)%3|0|0)==0?M+-2|0:T;if((P|0)!=-1){T=f[l>>2]|0;if((f[T+(P>>>5<<2)>>2]&1<<(P&31)|0)==0?(S=f[(f[(f[r>>2]|0)+12>>2]|0)+(P<<2)>>2]|0,P=S+1|0,(S|0)!=-1):0){Y=((P>>>0)%3|0|0)==0?S+-2|0:P;Z=T}else{Y=-1;Z=T}}else{Y=-1;Z=N}}else{T=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if(((T|0)!=-1?(f[N+(T>>>5<<2)>>2]&1<<(T&31)|0)==0:0)?(P=f[(f[(f[r>>2]|0)+12>>2]|0)+(T<<2)>>2]|0,(P|0)!=-1):0)if(!((P>>>0)%3|0)){Y=P+2|0;Z=N;break}else{Y=P+-1|0;Z=N;break}else{Y=-1;Z=N}}while(0);if((Y|0)==(F|0)){x=59;break}P=(Y|0)!=-1;T=P|K^1;do if(!(T|H)){S=f[l>>2]|0;if(f[S+(I<<2)>>2]&J|0){x=59;break b}U=f[(f[(f[r>>2]|0)+12>>2]|0)+(G<<2)>>2]|0;if((U|0)==-1){x=59;break b}if(!((U>>>0)%3|0)){_=0;$=U+2|0;aa=S;break}else{_=0;$=U+-1|0;aa=S;break}}else{_=P&K;$=T?Y:-1;aa=Z}while(0);if(($|0)==-1){x=59;break}else{K=_;L=X;M=$;N=aa}}if((x|0)==59){x=0;if((X|0)>0)V=X;else{x=60;break}}if(k){oh(f[h>>2]|0,0,C|0)|0;N=V+-1|0;M=v+(N<<2)|0;L=a+60+(N*12|0)+4|0;K=a+60+(N*12|0)|0;N=f[h>>2]|0;G=0;J=0;while(1){I=f[M>>2]|0;f[M>>2]=I+1;if((f[L>>2]|0)>>>0<=I>>>0){ba=N;ca=0;break a}if(!(f[(f[K>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31))){I=f[d+(G*12|0)>>2]|0;H=0;do{T=N+(H<<2)|0;f[T>>2]=(f[T>>2]|0)+(f[I+(H<<2)>>2]|0);H=H+1|0}while((H|0)!=(e|0));da=J+1|0}else da=J;G=G+1|0;if((G|0)>=(V|0)){ea=da;break}else J=da}}else{J=V+-1|0;G=v+(J<<2)|0;N=a+60+(J*12|0)|0;K=f[h>>2]|0;L=f[a+60+(J*12|0)+4>>2]|0;J=0;M=0;H=f[G>>2]|0;while(1){I=H;H=H+1|0;f[G>>2]=H;if(L>>>0<=I>>>0){ba=K;ca=0;break a}T=M+((f[(f[N>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31)|0)==0&1)|0;J=J+1|0;if((J|0)>=(V|0)){ea=T;break}else M=T}}M=W(E,e)|0;if(ea){J=f[h>>2]|0;if(k?(f[J>>2]=(f[J>>2]|0)/(ea|0)|0,!D):0){N=1;do{K=J+(N<<2)|0;f[K>>2]=(f[K>>2]|0)/(ea|0)|0;N=N+1|0}while((N|0)!=(e|0))}N=b+(M<<2)|0;K=c+(M<<2)|0;if((f[i>>2]|0)>0){L=0;do{H=f[J+(L<<2)>>2]|0;G=f[q>>2]|0;do if((H|0)<=(G|0)){T=f[A>>2]|0;I=f[z>>2]|0;P=I+(L<<2)|0;if((H|0)<(T|0)){f[P>>2]=T;fa=I;break}else{f[P>>2]=H;fa=I;break}}else{I=f[z>>2]|0;f[I+(L<<2)>>2]=G;fa=I}while(0);L=L+1|0;ga=f[i>>2]|0}while((L|0)<(ga|0));if((ga|0)>0){L=0;do{J=(f[N+(L<<2)>>2]|0)+(f[fa+(L<<2)>>2]|0)|0;G=K+(L<<2)|0;f[G>>2]=J;do if((J|0)>(f[q>>2]|0)){ha=J-(f[B>>2]|0)|0;x=106}else{if((J|0)>=(f[A>>2]|0))break;ha=(f[B>>2]|0)+J|0;x=106}while(0);if((x|0)==106){x=0;f[G>>2]=ha}L=L+1|0}while((L|0)<(f[i>>2]|0))}}}else{ia=M;x=73}}else x=60;while(0);if((x|0)==60){x=0;ia=W(E,e)|0;x=73}if((x|0)==73?(x=0,F=c+((W(E+-1|0,e)|0)<<2)|0,L=b+(ia<<2)|0,K=c+(ia<<2)|0,(f[i>>2]|0)>0):0){N=0;do{J=f[F+(N<<2)>>2]|0;H=f[q>>2]|0;do if((J|0)<=(H|0)){I=f[A>>2]|0;P=f[z>>2]|0;T=P+(N<<2)|0;if((J|0)<(I|0)){f[T>>2]=I;ja=P;break}else{f[T>>2]=J;ja=P;break}}else{P=f[z>>2]|0;f[P+(N<<2)>>2]=H;ja=P}while(0);N=N+1|0;ka=f[i>>2]|0}while((N|0)<(ka|0));if((ka|0)>0){N=0;do{F=(f[L+(N<<2)>>2]|0)+(f[ja+(N<<2)>>2]|0)|0;H=K+(N<<2)|0;f[H>>2]=F;if((F|0)<=(f[q>>2]|0)){if((F|0)<(f[A>>2]|0)){la=(f[B>>2]|0)+F|0;x=87}}else{la=F-(f[B>>2]|0)|0;x=87}if((x|0)==87){x=0;f[H>>2]=la}N=N+1|0}while((N|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(t|0)){x=110;break}}if((x|0)==30)$n(o);else if((x|0)==110){ba=f[h>>2]|0;ca=1;break}}else{ba=y;ca=1}while(0);if(ba|0){f[j>>2]=ba;Ko(ba)}Ko(v);v=f[d+36>>2]|0;if(v|0){f[d+40>>2]=v;Ko(v)}v=f[d+24>>2]|0;if(v|0){f[d+28>>2]=v;Ko(v)}v=f[d+12>>2]|0;if(v|0){f[d+16>>2]=v;Ko(v)}v=f[d>>2]|0;if(!v){u=g;return ca|0}f[d+4>>2]=v;Ko(v);u=g;return ca|0}function rb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;q=em(c)|0;r=H;if((r|0)<0){s=-c;t=em(s)|0;v=s;w=1;x=14101;y=H;z=t}else{v=c;w=(g&2049|0)!=0&1;x=(g&2048|0)==0?((g&1|0)==0?14102:14107):14104;y=r;z=q}do if(0==0&(y&2146435072|0)==2146435072){q=(i&32|0)!=0;z=w+3|0;vi(a,32,d,z,g&-65537);Pm(a,x,w);Pm(a,v!=v|0.0!=0.0?(q?14128:14132):q?14120:14124,3);vi(a,32,d,z,g^8192);A=z}else{c=+oo(v,l)*2.0;z=c!=0.0;if(z)f[l>>2]=(f[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?x:x+9|0;B=w|2;C=12-e|0;do if(!(e>>>0>11|(C|0)==0)){s=8.0;D=C;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((b[t>>0]|0)==45){E=-(s+(-c-s));break}else{E=c+s-s;break}}else E=c;while(0);C=f[l>>2]|0;D=(C|0)<0?0-C|0:C;F=xh(D,((D|0)<0)<<31>>31,p)|0;if((F|0)==(p|0)){D=o+11|0;b[D>>0]=48;G=D}else G=F;b[G+-1>>0]=(C>>31&2)+43;C=G+-2|0;b[C>>0]=i+15;F=(e|0)<1;D=(g&8|0)==0;I=m;J=E;while(1){K=~~J;L=I+1|0;b[I>>0]=r|h[14136+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(F&J==0.0)):0){b[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((e|0)!=0?(-2-n+I|0)<(e|0):0){F=p;D=C;N=e+2+F-D|0;O=F;P=D}else{D=p;F=C;N=D-n-F+I|0;O=D;P=F}F=N+B|0;vi(a,32,d,F,g);Pm(a,t,B);vi(a,48,d,F,g^65536);D=I-n|0;Pm(a,m,D);I=O-P|0;vi(a,48,N-(D+I)|0,0,0);Pm(a,C,I);vi(a,32,d,F,g^8192);A=F;break}F=(e|0)<0?6:e;if(z){I=(f[l>>2]|0)+-28|0;f[l>>2]=I;Q=c*268435456.0;R=I}else{Q=c;R=f[l>>2]|0}I=(R|0)<0?k:k+288|0;D=I;J=Q;do{r=~~J>>>0;f[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);if((R|0)>0){z=I;C=D;B=R;while(1){t=(B|0)<29?B:29;r=C+-4|0;if(r>>>0>=z>>>0){L=r;r=0;do{K=rl(f[L>>2]|0,0,t|0)|0;S=vl(K|0,H|0,r|0,0)|0;K=H;r=ln(S|0,K|0,1e9,0)|0;T=Bk(r|0,H|0,1e9,0)|0;U=wl(S|0,K|0,T|0,H|0)|0;f[L>>2]=U;L=L+-4|0}while(L>>>0>=z>>>0);if(r){L=z+-4|0;f[L>>2]=r;V=L}else V=z}else V=z;a:do if(C>>>0>V>>>0){L=C;while(1){U=L+-4|0;if(f[U>>2]|0){X=L;break a}if(U>>>0>V>>>0)L=U;else{X=U;break}}}else X=C;while(0);r=(f[l>>2]|0)-t|0;f[l>>2]=r;if((r|0)>0){z=V;C=X;B=r}else{Y=V;Z=X;_=r;break}}}else{Y=I;Z=D;_=R}if((_|0)<0){B=((F+25|0)/9|0)+1|0;C=(q|0)==102;z=Y;r=Z;L=_;while(1){U=0-L|0;T=(U|0)<9?U:9;if(z>>>0<r>>>0){U=(1<<T)+-1|0;K=1e9>>>T;S=0;$=z;do{aa=f[$>>2]|0;f[$>>2]=(aa>>>T)+S;S=W(aa&U,K)|0;$=$+4|0}while($>>>0<r>>>0);$=(f[z>>2]|0)==0?z+4|0:z;if(!S){ba=r;ca=$}else{f[r>>2]=S;ba=r+4|0;ca=$}}else{ba=r;ca=(f[z>>2]|0)==0?z+4|0:z}$=C?I:ca;K=(ba-$>>2|0)>(B|0)?$+(B<<2)|0:ba;L=(f[l>>2]|0)+T|0;f[l>>2]=L;if((L|0)>=0){da=ca;ea=K;break}else{z=ca;r=K}}}else{da=Y;ea=Z}r=I;if(da>>>0<ea>>>0){z=(r-da>>2)*9|0;L=f[da>>2]|0;if(L>>>0<10)fa=z;else{B=z;z=10;while(1){z=z*10|0;C=B+1|0;if(L>>>0<z>>>0){fa=C;break}else B=C}}}else fa=0;B=(q|0)==103;z=(F|0)!=0;L=F-((q|0)==102?0:fa)+((z&B)<<31>>31)|0;if((L|0)<(((ea-r>>2)*9|0)+-9|0)){C=L+9216|0;L=(C|0)/9|0;D=I+4+(L+-1024<<2)|0;K=C-(L*9|0)|0;if((K|0)<8){L=K;K=10;while(1){C=K*10|0;if((L|0)<7){L=L+1|0;K=C}else{ga=C;break}}}else ga=10;K=f[D>>2]|0;L=(K>>>0)/(ga>>>0)|0;q=K-(W(L,ga)|0)|0;C=(D+4|0)==(ea|0);if(!(C&(q|0)==0)){s=(L&1|0)==0?9007199254740992.0:9007199254740994.0;L=ga>>>1;J=q>>>0<L>>>0?.5:C&(q|0)==(L|0)?1.0:1.5;if(!w){ha=J;ia=s}else{L=(b[x>>0]|0)==45;ha=L?-J:J;ia=L?-s:s}L=K-q|0;f[D>>2]=L;if(ia+ha!=ia){q=L+ga|0;f[D>>2]=q;if(q>>>0>999999999){q=D;L=da;while(1){K=q+-4|0;f[q>>2]=0;if(K>>>0<L>>>0){C=L+-4|0;f[C>>2]=0;ja=C}else ja=L;C=(f[K>>2]|0)+1|0;f[K>>2]=C;if(C>>>0>999999999){q=K;L=ja}else{ka=K;la=ja;break}}}else{ka=D;la=da}L=(r-la>>2)*9|0;q=f[la>>2]|0;if(q>>>0<10){ma=ka;na=L;oa=la}else{K=L;L=10;while(1){L=L*10|0;C=K+1|0;if(q>>>0<L>>>0){ma=ka;na=C;oa=la;break}else K=C}}}else{ma=D;na=fa;oa=da}}else{ma=D;na=fa;oa=da}K=ma+4|0;pa=na;qa=ea>>>0>K>>>0?K:ea;ra=oa}else{pa=fa;qa=ea;ra=da}K=0-pa|0;b:do if(qa>>>0>ra>>>0){L=qa;while(1){q=L+-4|0;if(f[q>>2]|0){sa=L;ta=1;break b}if(q>>>0>ra>>>0)L=q;else{sa=q;ta=0;break}}}else{sa=qa;ta=0}while(0);do if(B){D=F+((z^1)&1)|0;if((D|0)>(pa|0)&(pa|0)>-5){ua=i+-1|0;va=D+-1-pa|0}else{ua=i+-2|0;va=D+-1|0}if(!(g&8)){if(ta?(D=f[sa+-4>>2]|0,(D|0)!=0):0)if(!((D>>>0)%10|0)){L=0;T=10;while(1){T=T*10|0;S=L+1|0;if((D>>>0)%(T>>>0)|0|0){wa=S;break}else L=S}}else wa=0;else wa=9;L=((sa-r>>2)*9|0)+-9|0;if((ua|32|0)==102){T=L-wa|0;D=(T|0)>0?T:0;xa=ua;ya=(va|0)<(D|0)?va:D;break}else{D=L+pa-wa|0;L=(D|0)>0?D:0;xa=ua;ya=(va|0)<(L|0)?va:L;break}}else{xa=ua;ya=va}}else{xa=i;ya=F}while(0);F=(ya|0)!=0;r=F?1:g>>>3&1;z=(xa|32|0)==102;if(z){za=0;Aa=(pa|0)>0?pa:0}else{B=(pa|0)<0?K:pa;L=xh(B,((B|0)<0)<<31>>31,p)|0;B=p;if((B-L|0)<2){D=L;while(1){T=D+-1|0;b[T>>0]=48;if((B-T|0)<2)D=T;else{Ba=T;break}}}else Ba=L;b[Ba+-1>>0]=(pa>>31&2)+43;D=Ba+-2|0;b[D>>0]=xa;za=D;Aa=B-D|0}D=w+1+ya+r+Aa|0;vi(a,32,d,D,g);Pm(a,x,w);vi(a,48,d,D,g^65536);if(z){K=ra>>>0>I>>>0?I:ra;T=m+9|0;S=T;q=m+8|0;C=K;do{$=xh(f[C>>2]|0,0,T)|0;if((C|0)==(K|0))if(($|0)==(T|0)){b[q>>0]=48;Ca=q}else Ca=$;else if($>>>0>m>>>0){oh(m|0,48,$-n|0)|0;U=$;while(1){t=U+-1|0;if(t>>>0>m>>>0)U=t;else{Ca=t;break}}}else Ca=$;Pm(a,Ca,S-Ca|0);C=C+4|0}while(C>>>0<=I>>>0);if(!((g&8|0)==0&(F^1)))Pm(a,14152,1);if(C>>>0<sa>>>0&(ya|0)>0){I=ya;S=C;while(1){q=xh(f[S>>2]|0,0,T)|0;if(q>>>0>m>>>0){oh(m|0,48,q-n|0)|0;K=q;while(1){z=K+-1|0;if(z>>>0>m>>>0)K=z;else{Da=z;break}}}else Da=q;Pm(a,Da,(I|0)<9?I:9);S=S+4|0;K=I+-9|0;if(!(S>>>0<sa>>>0&(I|0)>9)){Ea=K;break}else I=K}}else Ea=ya;vi(a,48,Ea+9|0,9,0)}else{I=ta?sa:ra+4|0;if(ra>>>0<I>>>0&(ya|0)>-1){S=m+9|0;T=(g&8|0)==0;C=S;F=0-n|0;K=m+8|0;$=ya;z=ra;while(1){r=xh(f[z>>2]|0,0,S)|0;if((r|0)==(S|0)){b[K>>0]=48;Fa=K}else Fa=r;do if((z|0)==(ra|0)){r=Fa+1|0;Pm(a,Fa,1);if(T&($|0)<1){Ga=r;break}Pm(a,14152,1);Ga=r}else{if(Fa>>>0<=m>>>0){Ga=Fa;break}oh(m|0,48,Fa+F|0)|0;r=Fa;while(1){B=r+-1|0;if(B>>>0>m>>>0)r=B;else{Ga=B;break}}}while(0);q=C-Ga|0;Pm(a,Ga,($|0)>(q|0)?q:$);r=$-q|0;z=z+4|0;if(!(z>>>0<I>>>0&(r|0)>-1)){Ha=r;break}else $=r}}else Ha=ya;vi(a,48,Ha+18|0,18,0);Pm(a,za,p-za|0)}vi(a,32,d,D,g^8192);A=D}while(0);u=j;return ((A|0)<(d|0)?d:A)|0} +function Wf(a){a=a|0;ym(a);ym(a+16|0);ym(a+32|0);ym(a+48|0);ym(a+64|0);ym(a+80|0);ym(a+96|0);ym(a+112|0);ym(a+128|0);ym(a+144|0);ym(a+160|0);ym(a+176|0);ym(a+192|0);ym(a+208|0);ym(a+224|0);ym(a+240|0);ym(a+256|0);ym(a+272|0);ym(a+288|0);ym(a+304|0);ym(a+320|0);ym(a+336|0);ym(a+352|0);ym(a+368|0);ym(a+384|0);ym(a+400|0);ym(a+416|0);ym(a+432|0);ym(a+448|0);ym(a+464|0);ym(a+480|0);ym(a+496|0);return}function Xf(a,b){a=a|0;b=b|0;var c=0,d=Ia,e=0,g=0,h=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Hc(a,c);return}if(c>>>0>=b>>>0)return;d=_((f[a+12>>2]|0)>>>0);e=~~_(V(_(d/_(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0){g=1<<32-(Z(e+-1|0)|0);h=e>>>0<2?e:g}else h=Za(e)|0;e=c>>>0<h>>>0?h:c;if(e>>>0>=b>>>0)return;Hc(a,e);return}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;oj(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=W(Bj(5)|0,d)|0;Ih(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=wk(96)|0;$i(j,g);b[j+84>>0]=1;f[j+72>>2]=f[j+68>>2];Fh(j,c)|0;f[h>>2]=j;Lh(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){f[j+12>>2]=h;Ko(h)}Ko(j)}j=f[a+68>>2]|0;if(j|0){f[a+72>>2]=j;Ko(j)}j=a+64|0;h=f[j>>2]|0;f[j>>2]=0;if(h|0){j=f[h>>2]|0;if(j|0){f[h+4>>2]=j;Ko(j)}Ko(h)}Ko(a);u=e;return}function Zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=wk(48)|0;wn(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=wk(52)|0;Am(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=wk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=11853;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Yi(c,g);f[a>>2]=f[e>>2];Yi(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Ko(f[c>>2]|0);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=d;return}}}function _f(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=Ho(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){Io(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}Bf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=a+i|0}}Io(k);return}else{Bf(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){Io(k);return}g=0;i=1;do{g=g+j|0;Bf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+g|0,k|0,j|0)|0;i=i+1|0}while((i|0)!=(c|0));Io(k);return}}function $f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=Ho(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){Io(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=a+h|0}}Io(j);return}else{Bf(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){Io(j);return}e=0;h=1;do{e=e+i|0;Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+e|0,j|0,i|0)|0;h=h+1|0}while((h|0)!=(c|0));Io(j);return}}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;k=f[g+4>>2]|0;g=vl(i|0,k|0,4,0)|0;l=H;if((e|0)<(l|0)|(e|0)==(l|0)&d>>>0<g>>>0){m=0;return m|0}n=(f[b>>2]|0)+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=l;do if((j[b+38>>1]|0)<514){l=vl(i|0,k|0,8,0)|0;n=H;if((e|0)<(n|0)|(e|0)==(n|0)&d>>>0<l>>>0){m=0;return m|0}else{g=c;f[g>>2]=l;f[g+4>>2]=n;break}}while(0);if(!(o&1)){m=0;return m|0}c=(Z(o|0)|0)^31;if((c+-1|0)>>>0>28){m=0;return m|0}f[a+8>>2]=c+1;o=2<<c;f[a+12>>2]=o+-1;c=o+-2|0;f[a+16>>2]=c;f[a+20>>2]=(c|0)/2|0;m=1;return m|0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Ef(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){f[c+12>>2]=e;Ko(e)}Ko(c)}c=f[g+68>>2]|0;if(c|0){f[g+72>>2]=c;Ko(c)}c=g+64|0;e=f[c>>2]|0;f[c>>2]=0;if(e|0){c=f[e>>2]|0;if(c|0){f[e+4>>2]=c;Ko(c)}Ko(e)}Ko(g)}g=a+84|0;e=a+88|0;a=f[g>>2]|0;c=(f[e>>2]|0)-a>>2;if((c|0)>(b|0)){u=d;return}h=b+1|0;if(h>>>0>c>>>0){Sf(g,h-c|0);u=d;return}if(h>>>0>=c>>>0){u=d;return}f[e>>2]=a+(h<<2);u=d;return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h|0;g=i>>3;j=g+b|0;if(j>>>0>536870911)$n(a);k=d-h|0;d=k>>2;l=k>>3>>>0<268435455?(d>>>0<j>>>0?j:d):536870911;do if(l)if(l>>>0>536870911){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{d=wk(l<<3)|0;m=d;n=d;break}else{m=0;n=0}while(0);oh(m+(g<<3)|0,0,b<<3|0)|0;if((i|0)>0)Bf(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=m+(j<<3);f[c>>2]=m+(l<<3);if(!h)return;Ko(h);return}function dg(a,b){a=a|0;b=b|0;var c=0,d=Ia,e=0,g=0,h=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Oc(a,c);return}if(c>>>0>=b>>>0)return;d=_((f[a+12>>2]|0)>>>0);e=~~_(V(_(d/_(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0){g=1<<32-(Z(e+-1|0)|0);h=e>>>0<2?e:g}else h=Za(e)|0;e=c>>>0<h>>>0?h:c;if(e>>>0>=b>>>0)return;Oc(a,e);return}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g|0;i=g;a:do if(h>>>0<c>>>0){j=c-h|0;k=a+8|0;l=f[k>>2]|0;if((l-e|0)>>>0>=j>>>0){m=j;n=e;while(1){b[n>>0]=0;n=(f[d>>2]|0)+1|0;f[d>>2]=n;m=m+-1|0;if(!m)break a}}if((c|0)<0)$n(a);m=l-g|0;n=m<<1;o=m>>>0<1073741823?(n>>>0<c>>>0?c:n):2147483647;if(!o)p=0;else p=wk(o)|0;oh(p+h|0,0,j|0)|0;if((h|0)>0)Bf(p|0,i|0,h|0)|0;f[a>>2]=p;f[d>>2]=p+c;f[k>>2]=p+o;if(g|0)Ko(i)}else if(h>>>0>c>>>0)f[d>>2]=i+c;while(0);c=a+24|0;a=c;i=vl(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=i;f[a+4>>2]=H;return}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;e=a+8|0;f[e>>2]=0;if(!b)return;if(b>>>0>357913941)$n(a);g=wk(b*12|0)|0;f[d>>2]=g;f[a>>2]=g;f[e>>2]=g+(b*12|0);e=c+4|0;a=b;b=g;while(1){f[b>>2]=0;g=b+4|0;f[g>>2]=0;h=b+8|0;f[h>>2]=0;i=(f[e>>2]|0)-(f[c>>2]|0)|0;j=i>>2;if(i|0){if(j>>>0>1073741823){k=7;break}l=wk(i)|0;f[g>>2]=l;f[b>>2]=l;f[h>>2]=l+(j<<2);j=f[c>>2]|0;h=(f[e>>2]|0)-j|0;if((h|0)>0){Bf(l|0,j|0,h|0)|0;f[g>>2]=l+(h>>>2<<2)}}h=(f[d>>2]|0)+12|0;f[d>>2]=h;a=a+-1|0;if(!a){k=11;break}else b=h}if((k|0)==7)$n(b);else if((k|0)==11)return}function gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;f[h>>2]=0;f[a+88>>2]=0;f[a+92>>2]=0;if(i|0)Ko(i);i=a+72|0;h=f[i>>2]|0;f[i>>2]=0;f[a+76>>2]=0;f[a+80>>2]=0;if(h|0)Ko(h);h=c+4|0;i=(f[h>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;Gf(a,i,e);i=c+24|0;j=c+28|0;k=(f[j>>2]|0)-(f[i>>2]|0)>>2;b[e>>0]=0;Gf(a+12|0,k,e);nf(a+28|0,(f[h>>2]|0)-(f[c>>2]|0)>>2,3764);Wh(a+52|0,(f[j>>2]|0)-(f[i>>2]|0)>>2);Wh(a+40|0,(f[j>>2]|0)-(f[i>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+40>>2]|0;d=c;e=a+44|0;a=f[e>>2]|0;if((a|0)==(c|0))return;g=d;h=c;while(1){if((f[(f[h>>2]|0)+40>>2]|0)==(b|0))break;i=h+4|0;if((a|0)==(i|0)){j=16;break}else{g=i;h=i}}if((j|0)==16)return;h=c+(g-d>>2<<2)|0;d=h+4|0;if((d|0)!=(a|0)){g=d;d=h;do{c=f[g>>2]|0;f[g>>2]=0;b=f[d>>2]|0;f[d>>2]=c;if(b|0){eh(b);Ko(b)}g=g+4|0;d=d+4|0}while((g|0)!=(a|0));g=f[e>>2]|0;if((g|0)==(d|0))k=d;else{l=d;m=g;j=10}}else{l=h;m=a;j=10}if((j|0)==10){j=m;do{j=j+-4|0;m=f[j>>2]|0;f[j>>2]=0;if(m|0){eh(m);Ko(m)}}while((j|0)!=(l|0));k=l}f[e>>2]=k;return}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Ra[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){f[a+12>>2]=d;Ko(d)}Ko(a)}a=f[i+68>>2]|0;if(a|0){f[i+72>>2]=a;Ko(a)}a=i+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){a=f[d>>2]|0;if(a|0){f[d+4>>2]=a;Ko(a)}Ko(d)}Ko(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function jg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+640|0;c=f[b>>2]|0;if(c|0){d=a+644|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{e=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[e+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}g=a+628|0;c=f[g>>2]|0;if(c|0){d=a+632|0;b=f[d>>2]|0;if((b|0)==(c|0))j=c;else{h=b;do{b=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[b+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));j=f[g>>2]|0}f[d>>2]=c;Ko(j)}j=f[a+616>>2]|0;if(j|0){f[a+620>>2]=j;Ko(j)}j=f[a+604>>2]|0;if(j|0){f[a+608>>2]=j;Ko(j)}zk(a+584|0);zk(a+564|0);zk(a+544|0);Oo(a+16|0);return}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=wk(72)|0;Gk(c);d=c;if((b|0)<0){Pa[f[(f[c>>2]|0)+4>>2]&127](c);e=0;return e|0}c=a+8|0;g=a+12|0;a=f[g>>2]|0;h=f[c>>2]|0;i=a-h>>2;do if((i|0)<=(b|0)){j=b+1|0;k=a;if(j>>>0>i>>>0){Se(c,j-i|0);break}if(j>>>0<i>>>0){l=h+(j<<2)|0;if((l|0)!=(k|0)){j=k;do{j=j+-4|0;k=f[j>>2]|0;f[j>>2]=0;if(k|0)Pa[f[(f[k>>2]|0)+4>>2]&127](k)}while((j|0)!=(l|0))}f[g>>2]=l}}while(0);g=(f[c>>2]|0)+(b<<2)|0;b=f[g>>2]|0;f[g>>2]=d;if(!b){e=1;return e|0}Pa[f[(f[b>>2]|0)+4>>2]&127](b);e=1;return e|0}function lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(bj(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0<c>>>0){j=Ma[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)<0|(c|0)==0){l=0;m=a;n=c;o=k}else{e=c;while(1){p=e+-1|0;if((b[a+p>>0]|0)==10)break;if(!p){l=0;m=a;n=c;o=k;break b}else e=p}p=Ma[f[d+36>>2]&31](d,a,e)|0;if(p>>>0<e>>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}while(0);Bf(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Ka[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=La[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(La[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(La[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(La[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Ka[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;lh(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){Ko(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}Ko(f[e>>2]|0);u=a;return i|0}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=wk(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=jf(c,b)|0;b=d?0:c;f[a>>2]=d?c:0;if(d)return;a=f[b+76>>2]|0;if(a|0){f[b+80>>2]=a;Ko(a)}a=f[b+64>>2]|0;if(a|0){f[b+68>>2]=a;Ko(a)}a=f[b+48>>2]|0;if(a|0){f[b+52>>2]=a;Ko(a)}a=f[b+24>>2]|0;if(a|0){f[b+28>>2]=a;Ko(a)}a=f[b+12>>2]|0;if(a|0){f[b+16>>2]=a;Ko(a)}a=f[b>>2]|0;if(a|0){f[b+4>>2]=a;Ko(a)}Ko(d?0:c);return}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;c=a+4|0;if((Ka[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=Kj(e,La[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;i=9;break}e=f[c>>2]|0;if(((h[e+36>>0]|0)<<8&65535)<512){if(!(La[f[(f[b>>2]|0)+28>>2]&127](b,f[(f[(f[e+4>>2]|0)+8>>2]|0)+(g<<2)>>2]|0)|0)){d=0;i=9;break}}else{j=Qi(e,g)|0;if(!j){d=0;i=9;break}if(!(La[f[(f[b>>2]|0)+28>>2]&127](b,j)|0)){d=0;i=9;break}}a=a+1|0;if((a|0)>=(Ka[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;i=9;break}}if((i|0)==9)return d|0;return 0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=Ho((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;Io(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=vl(o|0,f[l+4>>2]|0,a|0,0)|0;l=H;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0<p>>>0){i=0;q=5;break}Bf(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;Bf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+j|0,g|0,a|0)|0;k=k+1|0;if((k|0)>=(b|0)){i=1;q=5;break}else j=j+a|0}if((q|0)==5){Io(g);return i|0}return 0}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0))return 0;h=a+4|0;a=0;i=g;a:while(1){g=f[i+(a*144|0)>>2]|0;if(((g|0)>=0?(j=f[h>>2]|0,k=f[j+8>>2]|0,(g|0)<((f[j+12>>2]|0)-k>>2|0)):0)?(j=f[k+(g<<2)>>2]|0,(Ka[f[(f[j>>2]|0)+24>>2]&127](j)|0)>0):0){g=0;do{if((La[f[(f[j>>2]|0)+20>>2]&127](j,g)|0)==(c|0)){l=9;break a}g=g+1|0}while((g|0)<(Ka[f[(f[j>>2]|0)+24>>2]&127](j)|0))}j=a+1|0;i=f[d>>2]|0;if(j>>>0>=(((f[e>>2]|0)-i|0)/144|0)>>>0){l=11;break}else a=j}if((l|0)==9){i=f[d>>2]|0;return ((b[i+(a*144|0)+100>>0]|0)==0?0:i+(a*144|0)+4|0)|0}else if((l|0)==11)return 0;return 0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=vl(i|0,j|0,4,0)|0;k=H;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0<g>>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=vl(i|0,j|0,8,0)|0;j=H;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0<k>>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(Z(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<<j;f[a+12>>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(b>>>0<64){b=f[a+12>>2]|0;if(b>>>0<=1){e=0;return e|0}d=f[c>>2]|0;c=0;g=1;while(1){h=(f[d+(c<<2)>>2]|0)>>>0>(f[d+(g<<2)>>2]|0)>>>0?g:c;g=g+1|0;if(g>>>0>=b>>>0){e=h;break}else c=h}return e|0}c=a+580|0;b=f[c>>2]|0;g=32-b|0;d=a+576|0;if((g|0)<4){h=f[d>>2]|0;i=h+4|0;if((i|0)==(f[a+568>>2]|0)){e=0;return e|0}j=f[h>>2]<<b;h=4-g|0;f[c>>2]=h;f[d>>2]=i;k=32-h|0;e=(f[i>>2]|0)>>>k|j>>>(k-g|0);return e|0}g=f[d>>2]|0;if((g|0)==(f[a+568>>2]|0)){e=0;return e|0}a=f[g>>2]<<b>>>28;k=b+4|0;f[c>>2]=k;if((k|0)!=32){e=a;return e|0}f[d>>2]=g+4;f[c>>2]=0;e=a;return e|0}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=0;i=e;b:while(1){j=f[i+(h*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Ka[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((La[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Ka[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=h+1|0;i=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-i|0)/144|0)>>>0)break a;else h=k}m=(f[c>>2]|0)+(h*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)$n(d);k=((b+-1|0)>>>5)+1|0;b=wk(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Xe(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)Ko(g);u=c;return}function wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=vl(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=H;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=1200;f[e+4>>2]=-1;kn(e,n);o=Si(e,f[a+16>>2]|0)|0;u=c;return o|0}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0<b>>>0){de(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)!=(h|0)){b=h;do{b=b+-4|0;h=f[b>>2]|0;f[b>>2]=0;if(h|0){e=h+88|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a+8>>2]|0;if(e|0){f[a+12>>2]=e;Ko(e)}Ko(a)}a=f[h+68>>2]|0;if(a|0){f[h+72>>2]=a;Ko(a)}a=h+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){f[e+4>>2]=a;Ko(a)}Ko(e)}Ko(h)}}while((b|0)!=(g|0))}f[c>>2]=g;return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)$n(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0<h>>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=qa(8)|0;Dm(k,13552);f[k>>2]=4908;ta(k|0,1128,105)}else{m=wk(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Bf(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;Ko(d);return}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Le(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=wk(40)|0;Yi(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}vd(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Ag(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3776;b=f[a+68>>2]|0;if(b|0){f[a+72>>2]=b;Ko(b)}b=f[a+56>>2]|0;if(b|0){f[a+60>>2]=b;Ko(b)}b=f[a+44>>2]|0;if(b|0){f[a+48>>2]=b;Ko(b)}b=f[a+32>>2]|0;if(b|0){f[a+36>>2]=b;Ko(b)}b=f[a+20>>2]|0;if(b|0){f[a+24>>2]=b;Ko(b)}Pg(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;c=f[b>>2]|0;if(c|0){d=a+44|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){eh(e);Ko(e)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}eh(a);Ko(a);return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(Pc(e,a,d)|0){d=f[g>>2]|0;Ye(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(!d){hh(e);u=c;return l|0}f[i>>2]=d;Ko(d);hh(e);u=c;return l|0}function Cg(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0<d>>>0)$n(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0<d>>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=wk(p)|0;if(g|0)um(o,m,g)|0;if(i|0)um(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)um(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Ko(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;xn(o+p|0,l);u=k;return}function Dg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Dg(c+8|0);Ko(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Ko(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){f[c+24>>2]=h;Ko(h)}if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);Ko(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)Ko(e);Ko(d)}if((b[a+11>>0]|0)>=0)return;Ko(f[a>>2]|0);return}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){oh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)$n(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0<j>>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{d=wk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;oh(d|0,0,b<<2|0)|0;if((i|0)>0)Bf(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;Ko(h);return}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=Dh(d)|0;if(g>>>0>4294967279)$n(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=wk(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){Bf(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(Dc(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}Ko(f[e>>2]|0);u=a;return g|0}function Gg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3456;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=1065353216;b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;ak(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Hg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=lh(c,g,e)|0;if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}Ko(f[e>>2]|0);u=a;return h|0}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Qk(l,k+1|0,16046,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Gh(c,n,0);k=n;j=b[h>>0]|0}Gh(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Jg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=Ho(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{ym(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do i=i+-16|0;while((i|0)!=(c|0))}Io(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(rd((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function Kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g|0;i=g;if(h>>>0>=c>>>0){if(h>>>0<=c>>>0)return;f[d>>2]=i+c;return}j=c-h|0;k=a+8|0;l=f[k>>2]|0;if((l-e|0)>>>0>=j>>>0){m=j;n=e;do{b[n>>0]=0;n=(f[d>>2]|0)+1|0;f[d>>2]=n;m=m+-1|0}while((m|0)!=0);return}if((c|0)<0)$n(a);m=l-g|0;l=m<<1;n=m>>>0<1073741823?(l>>>0<c>>>0?c:l):2147483647;if(!n)o=0;else o=wk(n)|0;oh(o+h|0,0,j|0)|0;if((h|0)>0)Bf(o|0,i|0,h|0)|0;f[a>>2]=o;f[d>>2]=o+c;f[k>>2]=o+n;if(!g)return;Ko(i);return}function Lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Dc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;c=e;a=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=e+4|0;e=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=d;d=c;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;a=c+4|0;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;g=1;return g|0}function Mg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(Eo()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=Ro()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=Ro()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)$n(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0<h>>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=qa(8)|0;Dm(k,13552);f[k>>2]=4908;ta(k|0,1128,105)}else{k=wk(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)Bf(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;Ko(d);return}function Og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){f[h+12>>2]=d;Ko(d)}Ko(h)}h=f[g+68>>2]|0;if(h|0){f[g+72>>2]=h;Ko(h)}h=g+64|0;d=f[h>>2]|0;f[h>>2]=0;if(d|0){h=f[d>>2]|0;if(h|0){f[d+4>>2]=h;Ko(h)}Ko(d)}Ko(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;Ko(b);return}function Pg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{g=g+-4|0;d=f[g>>2]|0;f[g>>2]=0;if(d|0){h=d+88|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i+8>>2]|0;if(h|0){f[i+12>>2]=h;Ko(h)}Ko(i)}i=f[d+68>>2]|0;if(i|0){f[d+72>>2]=i;Ko(i)}i=d+64|0;h=f[i>>2]|0;f[i>>2]=0;if(h|0){i=f[h>>2]|0;if(i|0){f[h+4>>2]=i;Ko(i)}Ko(h)}Ko(d)}}while((g|0)!=(b|0));e=f[a>>2]|0}f[c>>2]=b;Ko(e);return}function Qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Lg(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}Ko(f[g>>2]|0);u=a;return +n}function Rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Ka[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=1228;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;kj(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,_(n[a+32>>2]));i=Si(c,f[a+16>>2]|0)|0;f[c>>2]=1228;a=f[g>>2]|0;if(a|0){f[c+12>>2]=a;Ko(a)}e=i;u=d;return e|0}function Sg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=4048;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=Ro()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=Mf(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[a>>2]|0;e=d;if((((f[c>>2]|0)-d|0)/12|0)>>>0>=b>>>0)return;g=a+4|0;if(b>>>0>357913941){h=qa(8)|0;Dm(h,13552);f[h>>2]=4908;ta(h|0,1128,105)}h=f[g>>2]|0;i=wk(b*12|0)|0;j=i+(((h-d|0)/12|0)*12|0)|0;k=j;l=i+(b*12|0)|0;b=h;if((b|0)==(e|0))m=k;else{h=b;b=j;do{j=b;b=b+-12|0;i=h;h=h+-12|0;f[b>>2]=f[h>>2];f[j+-8>>2]=f[i+-8>>2];f[j+-4>>2]=f[i+-4>>2]}while((h|0)!=(e|0));m=b}f[a>>2]=m;f[g>>2]=k;f[c>>2]=l;if(!d)return;Ko(d);return}function Ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;yh(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}Ko(f[g>>2]|0);u=a;return c|0}function Vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1416;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){f[a+52>>2]=c;Ko(c)}c=a+36|0;b=f[c>>2]|0;if(b|0){d=a+40|0;e=f[d>>2]|0;if((e|0)==(b|0))g=b;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}while((h|0)!=(b|0));g=f[c>>2]|0}f[d>>2]=b;Ko(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){f[a+20>>2]=g;Ko(g)}g=f[a+4>>2]|0;if(!g){Ko(a);return}f[a+8>>2]=g;Ko(g);Ko(a);return}function Wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Lg(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}Ko(f[g>>2]|0);u=a;return h|0}function Xg(a){a=a|0;var c=0,d=0,e=0,g=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;Xg(a+20|0);if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Ko(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){f[a+24>>2]=g;Ko(g)}if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ko(d);Ko(c);return}function Yg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=yh(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}Ko(f[g>>2]|0);u=a;return h|0}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0<b>>>0){Ad(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((g|0)!=(h|0)){b=h;do{h=f[b+-12>>2]|0;if(h|0){f[b+-8>>2]=h;Ko(h)}h=f[b+-28>>2]|0;if(h|0){f[b+-24>>2]=h;Ko(h)}h=f[b+-40>>2]|0;if(h|0){f[b+-36>>2]=h;Ko(h)}di(b+-140|0);b=b+-144|0}while((b|0)!=(g|0))}f[c>>2]=g;return}function _g(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[a>>2]|0;i=(f[g>>2]|0)-h>>2;if(c>>>0<=i>>>0)if(c>>>0<i>>>0){f[g>>2]=h+(c<<2);j=c}else j=c;else{Eg(a,c-i|0);j=f[b>>2]|0}if((j|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;i=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(i>>>0<=e>>>0){k=9;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(j|0)){d=1;k=11;break}}if((k|0)==9)$n(b);else if((k|0)==11)return d|0;return 0}function $g(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1416;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){f[a+52>>2]=c;Ko(c)}c=a+36|0;b=f[c>>2]|0;if(b|0){d=a+40|0;e=f[d>>2]|0;if((e|0)==(b|0))g=b;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}while((h|0)!=(b|0));g=f[c>>2]|0}f[d>>2]=b;Ko(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){f[a+20>>2]=g;Ko(g)}g=f[a+4>>2]|0;if(!g)return;f[a+8>>2]=g;Ko(g);return}function ah(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=vl(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=H;do if(d<<24>>24<0)if(ah(a,c)|0){j=a;e=rl(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=H;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function bh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=1065353216;b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;ak(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;ym(a+400|0);f[a+416>>2]=-1;f[a+420>>2]=-1;return}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){e=d+8|0;g=f[e+4>>2]|0;i=d+16|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;if((g|0)>(l|0)|((g|0)==(l|0)?(f[e>>2]|0)>>>0>k>>>0:0)){e=b[(f[d>>2]|0)+k>>0]|0;g=vl(k|0,l|0,1,0)|0;l=i;f[l>>2]=g;f[l+4>>2]=H;f[a+24>>2]=e&255;break}else{m=0;return m|0}}while(0);m=rc(a,c,d)|0;return m|0}function dh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0<c>>>0){th(a,k,j+c-k|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;ol(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;xn(m+d|0,g)}u=e;return a|0}function eh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){eh(h);Ko(h)}if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ko(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){f[c+24>>2]=h;Ko(h)}if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;Ko(d);return}function fh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;sm(l,c,d)|0;b[g>>0]=0;xn(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Cg(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function gh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+196>>2]|0;if(b|0){f[a+200>>2]=b;Ko(b)}b=a+184|0;c=f[b>>2]|0;if(c|0){d=a+188|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{e=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[e+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}g=f[a+156>>2]|0;if(g|0){f[a+160>>2]=g;Ko(g)}g=a+136|0;a=f[g>>2]|0;f[g>>2]=0;if(!a)return;g=a+-4|0;c=f[g>>2]|0;if(c|0){d=a+(c<<4)|0;do d=d+-16|0;while((d|0)!=(a|0))}Io(g);return}function hh(a){a=a|0;var b=0;b=f[a+56>>2]|0;if(b|0)Ko(b);b=f[a+32>>2]|0;if(b|0){f[a+36>>2]=b;Ko(b)}b=f[a+20>>2]|0;if(b|0){f[a+24>>2]=b;Ko(b)}b=f[a+8>>2]|0;if(b|0){f[a+12>>2]=b;Ko(b)}b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=f[a+76>>2]|0;if(b|0){f[a+80>>2]=b;Ko(b)}b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));fc(i,e,g);e=f[i>>2]|0;if(!e){k=i+4|0;if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);k=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=k;u=d;return}else{f[a>>2]=e;e=i+4|0;Yi(a+4|0,e);if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);u=d;return}}function jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;yf(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function kh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=vl(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=H;switch(h<<24>>24){case 0:{g=Jc(a,c,d,e)|0;return g|0}case 1:{g=fd(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=Dc(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}Gh(c,d-a|0,0);a=gj(c,0)|0;c=f[b>>2]|0;Bf(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function mh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1312;Pg(a+60|0);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=a+36|0;c=f[b>>2]|0;if(c|0){d=a+40|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-24|0;Pa[f[f[h>>2]>>2]&127](h)}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){f[a+20>>2]=g;Ko(g)}g=f[a+4>>2]|0;if(!g){Ko(a);return}f[a+8>>2]=g;Ko(g);Ko(a);return}function nh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function ph(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!c){e=0;f[d>>2]=e;return}g=a+8|0;i=a+4|0;j=0-(b[a+12>>0]|0)&255;k=c;c=0;l=f[g>>2]|0;while(1){m=c<<1;if(l>>>0<4096?(n=f[i>>2]|0,(n|0)>0):0){o=f[a>>2]|0;p=n+-1|0;f[i>>2]=p;n=l<<8|(h[o+p>>0]|0);f[g>>2]=n;q=n}else q=l;n=q&255;p=W(q>>>8,j)|0;o=n>>>0<j>>>0;l=o?p+n|0:q-j-p|0;f[g>>2]=l;p=m|o&1;k=k+-1|0;if(!k){e=p;break}else c=p}f[d>>2]=e;return}function qh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(en(a,f[c+8>>2]|0,g)|0)){if(en(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else nk(0,c,d,e);while(0);return}function rh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1312;Pg(a+60|0);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=a+36|0;c=f[b>>2]|0;if(c|0){d=a+40|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-24|0;Pa[f[f[h>>2]>>2]&127](h)}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){f[a+20>>2]=g;Ko(g)}g=f[a+4>>2]|0;if(!g)return;f[a+8>>2]=g;Ko(g);return}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Te(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){f[g+28>>2]=i;Ko(i)}f[a>>2]=f[h>>2];u=e;return}function th(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0<d>>>0)$n(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0<d>>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=wk(m)|0;if(g|0)um(l,j,g)|0;k=e-h-g|0;if(k|0)um(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)Ko(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function uh(a,b){a=a|0;b=b|0;if(!b)return;else{uh(a,f[b>>2]|0);uh(a,f[b+4>>2]|0);Bh(b+20|0,f[b+24>>2]|0);Ko(b);return}}function vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(ob(a,g,j,i)|0)){k=0;u=e;return k|0}Ye(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(en(a,b,0)|0))if((b|0)!=0?(g=Pf(b,1072,1056,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Sa[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function xh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;do{c=f;f=ln(f|0,g|0,10,0)|0;h=g;g=H;i=Bk(f|0,g|0,10,0)|0;j=wl(c|0,h|0,i|0,H|0)|0;e=e+-1|0;b[e>>0]=j&255|48}while(h>>>0>9|(h|0)==9&c>>>0>4294967295);k=f;l=e}else{k=a;l=d}if(!k)m=l;else{d=k;k=l;while(1){l=d;d=(d>>>0)/10|0;a=k+-1|0;b[a>>0]=l-(d*10|0)|48;if(l>>>0<10){m=a;break}else k=a}}return m|0}function yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Dc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=vl(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=H;j=d&255;do if(j&128)if(zh(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function Ah(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3180;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3608;c=f[a+20>>2]|0;if(c|0){f[a+24>>2]=c;Ko(c)}c=a+8|0;b=f[c>>2]|0;if(!b){Ko(a);return}d=a+12|0;e=f[d>>2]|0;if((e|0)==(b|0))g=b;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}while((h|0)!=(b|0));g=f[c>>2]|0}f[d>>2]=b;Ko(g);Ko(a);return}function Bh(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Bh(a,f[c>>2]|0);Bh(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)Ko(f[d>>2]|0);if((b[a+11>>0]|0)<0)Ko(f[a>>2]|0);Ko(c);return}function Ch(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=f[g+-12>>2]|0;if(d|0){f[g+-8>>2]=d;Ko(d)}d=f[g+-28>>2]|0;if(d|0){f[g+-24>>2]=d;Ko(d)}d=f[g+-40>>2]|0;if(d|0){f[g+-36>>2]=d;Ko(d)}di(g+-140|0);g=g+-144|0}while((g|0)!=(b|0));e=f[a>>2]|0}f[c>>2]=b;Ko(e);return}function Dh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=5}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=5;break}else g=j}}while(0);if((e|0)==5){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Eh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3180;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3608;c=f[a+20>>2]|0;if(c|0){f[a+24>>2]=c;Ko(c)}c=a+8|0;b=f[c>>2]|0;if(!b)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(b|0))e=b;else{g=a;do{g=g+-4|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&127](a)}while((g|0)!=(b|0));e=f[c>>2]|0}f[d>>2]=b;Ko(e);return}function Fh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=wk(32)|0,Kk(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){f[g+4>>2]=e;Ko(e)}Ko(g)}g=Bj(f[a+28>>2]|0)|0;e=W(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=Bk(e|0,g|0,c|0,0)|0;if(!(yf(h,0,i,H)|0)){j=0;return j|0}oi(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;xn(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;xn(a+c|0,g);b[h>>0]=c;break}else dh(a,c-k|0,d)|0;while(0);u=e;return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;nf(a,e,3736);nf(a+12|0,e,3732);Wh(a+24|0,c);c=a+76|0;e=f[c>>2]|0;f[c>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;if(e|0)Ko(e);e=a+64|0;c=f[e>>2]|0;f[e>>2]=0;f[a+68>>2]=0;f[a+72>>2]=0;if(!c){d=1;return d|0}Ko(c);d=1;return d|0}function Ih(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=wk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=11931;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;Ph(Fc(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}Ko(f[g>>2]|0);u=d;return}function Kh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3240;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=1065353216;b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;ak(a+232|0);return}function Lh(a,b){a=a|0;b=b|0;var c=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){f[c+12>>2]=a;Ko(a)}Ko(c)}c=f[b+68>>2]|0;if(c|0){f[b+72>>2]=c;Ko(c)}c=b+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){c=f[a>>2]|0;if(c|0){f[a+4>>2]=c;Ko(c)}Ko(a)}Ko(b);return}function Mh(a){a=a|0;var b=0;f[a>>2]=3340;b=f[a+100>>2]|0;if(b|0){f[a+104>>2]=b;Ko(b)}b=f[a+84>>2]|0;if(b|0){f[a+88>>2]=b;Ko(b)}b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0){f[a+64>>2]=b;Ko(b)}f[a+12>>2]=3364;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function Nh(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(bo(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(to(i)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(to(b[d>>0]|0)|0)){j=h;break}else i=h}}return ((g|0)==0?0-j|0:j)|0}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=vl(i|0,f[g+4>>2]|0,4,0)|0;g=H;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0<j>>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;if((i|0)<0){k=0;return k|0}f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function Ph(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ti(g,d&1);d=zg(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}xf(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Qh(a){a=a|0;var b=0;f[a>>2]=3340;b=f[a+100>>2]|0;if(b|0){f[a+104>>2]=b;Ko(b)}b=f[a+84>>2]|0;if(b|0){f[a+88>>2]=b;Ko(b)}b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0){f[a+64>>2]=b;Ko(b)}f[a+12>>2]=3364;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b)return;Ko(b);return}function Rh(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=xl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+Rh(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function Sh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=vl(i|0,f[g+4>>2]|0,4,0)|0;g=H;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0<j>>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function Th(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3608;b=f[a+20>>2]|0;if(b|0){f[a+24>>2]=b;Ko(b)}b=a+8|0;c=f[b>>2]|0;if(!c){Ko(a);return}d=a+12|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g);Ko(a);return}function Uh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0;d=0;while(1){if((h[14154+d>>0]|0)==(a|0)){e=4;break}g=d+1|0;if((g|0)==87){i=87;e=5;break}else d=g}if((e|0)==4)if(!d)j=14242;else{i=d;e=5}if((e|0)==5){e=14242;d=i;while(1){i=e;do{a=i;i=i+1|0}while((b[a>>0]|0)!=0);d=d+-1|0;if(!d){j=i;break}else e=i}}return ho(j,f[c+20>>2]|0)|0}function Vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;if(d>>>0>4294967279)$n(a);if(d>>>0<11){b[a+11>>0]=d;h=a}else{i=d+16&-16;j=wk(i)|0;f[a>>2]=j;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;h=j}um(h,c,d)|0;b[g>>0]=0;xn(h+d|0,g);u=e;return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=qa(8)|0;Dm(g,13552);f[g>>2]=4908;ta(g|0,1128,105)}g=(f[e>>2]|0)-d|0;h=wk(b<<2)|0;if((g|0)>0)Bf(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;Ko(d);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Yh(a){a=a|0;var b=0,c=0;f[a>>2]=1368;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){f[c+12>>2]=b;Ko(b)}Ko(c)}c=f[a+68>>2]|0;if(c|0){f[a+72>>2]=c;Ko(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){f[b+4>>2]=c;Ko(c)}Ko(b)}Ko(a);return}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=wk(20)|0;Jl(c);d=c;break}case 1:{c=wk(24)|0;jm(c);d=c;break}case 2:{c=wk(36)|0;Lk(c);d=c;break}case 3:{c=wk(28)|0;am(c);d=c;break}default:d=0}f[a>>2]=d;return}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3608;b=f[a+20>>2]|0;if(b|0){f[a+24>>2]=b;Ko(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{g=g+-4|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&127](a)}while((g|0)!=(c|0));e=f[b>>2]|0}f[d>>2]=c;Ko(e);return}function $h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}a=c;while(1){c=f[a>>2]|0;a=a+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;g=6;break}if((a|0)==(b|0)){d=0;g=6;break}}if((g|0)==6)return d|0;return 0}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{ef(a+40|0,b);d=1;return d|0}return 0}function ci(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Jf(a,c)|0;if((e|0)!=(a+4|0)){a=e+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;a=Nh(g)|0;if((a|0)!=-1){h=(a|0)!=0;return h|0}}h=d;return h|0}function di(a){a=a|0;var b=0;b=f[a+84>>2]|0;if(b|0){f[a+88>>2]=b;Ko(b)}b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+52>>2]|0;if(b|0){f[a+56>>2]=b;Ko(b)}b=f[a+40>>2]|0;if(b|0){f[a+44>>2]=b;Ko(b)}b=f[a+28>>2]|0;if(b|0){f[a+32>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0)Ko(b);b=f[a>>2]|0;if(!b)return;Ko(b);return}function ei(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function fi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){eg(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function gi(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function hi(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)Ko(f[c>>2]|0);uh(a+12|0,f[a+16>>2]|0);Bh(a,f[a+4>>2]|0);Ko(a);return}function ii(a){a=a|0;var b=0;f[a>>2]=2208;b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+84>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0)Ko(b);b=f[a+60>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function ji(a){a=a|0;var b=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+84>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0)Ko(b);b=f[a+60>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function ki(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function li(a){a=a|0;var b=0;f[a>>2]=2208;b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+84>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0)Ko(b);b=f[a+60>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Ka[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){d=0;return d|0}d=rc(a,b,c)|0;return d|0}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=wl(e^a|0,f^b|0,e|0,f|0)|0;b=H;a=g^e;e=h^f;return wl((Gc(i,b,wl(g^c|0,h^d|0,g|0,h|0)|0,H,0)|0)^a|0,H^e|0,a|0,e|0)|0}function oi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function pi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=b[a+12>>0]|0;d=a+8|0;e=f[d>>2]|0;if(e>>>0<4096?(g=a+4|0,i=f[g>>2]|0,(i|0)>0):0){j=f[a>>2]|0;a=i+-1|0;f[g>>2]=a;g=e<<8|(h[j+a>>0]|0);f[d>>2]=g;k=g}else k=e;e=k&255;g=0-c&255;c=W(k>>>8,g)|0;a=e>>>0<g>>>0;f[d>>2]=a?c+e|0:k-g-c|0;return a|0}function qi(a){a=a|0;var b=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+84>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0)Ko(b);b=f[a+60>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function ri(a){a=a|0;var b=0,c=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){f[c+12>>2]=b;Ko(b)}Ko(c)}c=f[a+68>>2]|0;if(c|0){f[a+72>>2]=c;Ko(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){f[b+4>>2]=c;Ko(c)}Ko(b)}Ko(a);return}function si(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;ne(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Hj(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Ko(f[c>>2]|0);u=e;return d|0}function ti(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function ui(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;se(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Hj(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Ko(f[c>>2]|0);u=e;return d|0}function vi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;oh(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Pm(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Pm(a,g,h)}u=f;return}function wi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(La[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function xi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(Fh(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Ma[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function yi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(en(a,f[b+8>>2]|0,g)|0)nh(0,b,c,d,e);else{h=f[a+8>>2]|0;Ua[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function zi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-12|0;if((b[h+11>>0]|0)<0)Ko(f[h>>2]|0)}while((h|0)!=(c|0));g=f[a>>2]|0}f[d>>2]=c;Ko(g)}Ko(a);return}function Ai(a){a=a|0;var b=0;f[a>>2]=3292;b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}f[a+12>>2]=3316;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function Ci(a){a=a|0;var b=0,c=0;f[a>>2]=2264;b=f[a+76>>2]|0;if(b|0)Ko(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){Ko(a);return}f[a+36>>2]=c;Ko(c);Ko(a);return}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function Ei(a){a=a|0;var b=0;f[a>>2]=3384;b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}f[a+12>>2]=3364;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function Fi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Gi(a){a=a|0;var b=0,c=0;f[a>>2]=3052;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Yh(a);Ko(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);Yh(a);Ko(a);return}function Hi(a){a=a|0;var b=0,c=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)Ko(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){Ko(a);return}f[a+36>>2]=c;Ko(c);Ko(a);return}function Ii(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Gh(a,d,0);return}function Ji(a){a=a|0;var b=0;f[a>>2]=3292;b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}f[a+12>>2]=3316;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b)return;Ko(b);return}function Ki(a){a=a|0;var b=0,c=0;f[a>>2]=2264;b=f[a+76>>2]|0;if(b|0)Ko(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;f[a+36>>2]=c;Ko(c);return}function Li(a){a=a|0;var b=0;f[a>>2]=3384;b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}f[a+12>>2]=3364;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b)return;Ko(b);return}function Mi(a){a=a|0;var b=0,c=0;f[a>>2]=3052;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Yh(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);Yh(a);return}function Ni(a){a=a|0;var b=0,c=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)Ko(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;f[a+36>>2]=c;Ko(c);return}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(en(a,f[b+8>>2]|0,0)|0)ki(0,b,c,d);else{e=f[a+8>>2]|0;Sa[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=W(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(Po(d)|0)==0;h=lg(a,e,d)|0;if(c)i=h;else{Oo(d);i=h}}else i=lg(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=La[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function Ri(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function Si(a,b){a=a|0;b=b|0;var c=0;c=wk(40)|0;f[c>>2]=-1;Kk(c+8|0);Qa[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){f[b+12>>2]=c;Ko(c)}Ko(b);return 1}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Ii(d);Ig(a,d,b);om(d);u=c;return}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){d=1;return d|0}d=La[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return d|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((Ol(xa(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=Nf(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function Yi(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)Vh(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function Zi(a,b){a=a|0;b=b|0;var c=0;ek(a);f[a>>2]=1416;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;zc(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;if(e|0)Rj(a|0,b|0,e|0)|0;f[c>>2]=a+(e>>2<<2);return}function $i(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function aj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[14136+(c&15)>>0]|0|e;c=xl(c|0,d|0,4)|0;d=H;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function bj(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function cj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function ej(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function fj(a){a=a|0;var b=0;f[a>>2]=2488;b=f[a+76>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function gj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)$n(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,za(54,g|0)|0):0)b[a+75>>0]=-1;g=hf(a,c,d)|0;u=e;return g|0}function ij(a){a=a|0;var b=0;f[a>>2]=2040;b=f[a+76>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function jj(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){jc(a,b,c);return}else{qc(a,0,0);return}}function kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=_(e);f[a+4>>2]=b;Ye(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function lj(a,b){a=a|0;b=b|0;var c=0;if(!(La[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(La[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Ka[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0<d>>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(Wk(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function oj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function pj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function qj(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;ih(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}Ko(f[e>>2]|0);u=a;return c|0}function rj(a){a=a|0;var b=0;f[a>>2]=2488;b=f[a+76>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function sj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(to(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(to(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function tj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(Wk(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function vj(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){da()|0;wa(12);return -1}f[r>>2]=c;if((c|0)>(ca()|0)?(ba()|0)==0:0){f[r>>2]=b;wa(12);return -1}return b|0}function wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=xl(c|0,d|0,3)|0;d=H;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function xj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(en(a,f[b+8>>2]|0,g)|0)nh(0,b,c,d,e);return}function yj(a){a=a|0;var b=0;f[a>>2]=2040;b=f[a+76>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function zj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Gf(a+20|0,g,d);u=c;return}function Aj(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function Bj(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function Cj(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=vl(f[a+32>>2]|0,0,7,0)|0;d=xl(c|0,H|0,3)|0;c=a+16|0;a=c;e=vl(d|0,H|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=H;return}function Dj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Gf(a+20|0,g,d);u=c;return}function Ej(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;Ye(c,d,d+12|0);return 1}function Gj(a){a=a|0;var b=0;f[a>>2]=2376;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function Hj(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;fh(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=W(d,c)|0;f=a>>>16;a=(e>>>16)+(W(d,f)|0)|0;d=b>>>16;b=W(d,c)|0;return (H=(a>>>16)+(W(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Dh(b)|0;d=wk(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=Fn(d)|0;Bf(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function Lj(){var a=0,b=0;a=wk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=1065353216;b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[a+36>>2]=1065353216;return a|0}function Mj(a){a=a|0;var b=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function Nj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Bc(a,b,c,d,e);return}function Oj(a){a=a|0;var b=0;f[a>>2]=3748;b=f[a+96>>2]|0;if(b|0){f[a+100>>2]=b;Ko(b)}b=f[a+84>>2]|0;if(!b){Ag(a);Ko(a);return}f[a+88>>2]=b;Ko(b);Ag(a);Ko(a);return}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(en(a,f[b+8>>2]|0,0)|0)ki(0,b,c,d);return}function Qj(a){a=a|0;var b=0;f[a>>2]=3608;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function Rj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Bf(a,c,d)|0;return a|0}function Sj(a){a=a|0;var b=0;f[a>>2]=2376;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Ma[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function Uj(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function Vj(a){a=a|0;var b=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function Wj(a){a=a|0;var b=0;f[a>>2]=3748;b=f[a+96>>2]|0;if(b|0){f[a+100>>2]=b;Ko(b)}b=f[a+84>>2]|0;if(!b){Ag(a);return}f[a+88>>2]=b;Ko(b);Ag(a);return}function Xj(a){a=a|0;var b=0,c=0;if(no(a)|0?(b=Ln(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)Ko(b);return}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)<=0)return;d=0;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function Zj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function _j(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);Yh(a);Ko(a);return}function $j(a,b,c){a=a|0;b=b|0;c=c|0;zb(a,b,c);return}function ak(a){a=a|0;Zj(a);Zj(a+40|0);ym(a+80|0);Zj(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function bk(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);Yh(a);return}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,5,6,c)|0}function dk(a,b,c){a=a|0;b=b|0;c=c|0;return kd(a,b,3,4,c)|0}function ek(a){a=a|0;var b=0;f[a>>2]=1256;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function fk(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,1,2,c)|0}function gk(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,b,3,4,c)|0}function hk(a,b,c){a=a|0;b=b|0;c=c|0;return od(a,b,5,6,c)|0}function ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;Bf(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;return qd(a,b,1,2,c)|0}function kk(a){a=a|0;var b=0;f[a>>2]=3316;b=f[a+20>>2]|0;if(b|0)Ko(b);b=f[a+8>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function lk(){var a=0,b=0;a=wk(24)|0;f[a>>2]=1228;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function mk(a){a=a|0;var c=0;oj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function ok(a){a=a|0;var b=0;f[a>>2]=3364;b=f[a+20>>2]|0;if(b|0)Ko(b);b=f[a+8>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function pk(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function qk(a,b,c){a=a|0;b=_(b);c=c|0;var d=0,e=Ia;if((c|0)<1){d=0;return d|0}e=_(_(1.0)/_(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function rk(a){a=a|0;var b=0;f[a>>2]=1256;b=f[a+16>>2]|0;if(b|0){f[a+20>>2]=b;Ko(b)}b=f[a+4>>2]|0;if(!b)return;f[a+8>>2]=b;Ko(b);return}function sk(a){a=a|0;var b=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function tk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function uk(a){a=a|0;var b=0;mn(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function vk(a){a=a|0;var b=0;Bl(a);f[a>>2]=3748;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function wk(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Va(b)|0;if(a|0){c=a;break}a=Nn()|0;if(!a){c=0;break}Oa[a&1]()}return c|0}function xk(a){a=a|0;var b=0;f[a>>2]=3316;b=f[a+20>>2]|0;if(b|0)Ko(b);b=f[a+8>>2]|0;if(!b)return;Ko(b);return}function yk(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=Mo(f[a+60>>2]|0)|0;f[c>>2]=d;d=Ol(Aa(6,c|0)|0)|0;u=b;return d|0}function zk(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;c=a+4|0;f[c>>2]=b;f[a+16>>2]=0;f[a+12>>2]=b;if(!b)return;f[c>>2]=b;Ko(b);return}function Ak(a){a=a|0;var b=0;f[a>>2]=3364;b=f[a+20>>2]|0;if(b|0)Ko(b);b=f[a+8>>2]|0;if(!b)return;Ko(b);return}function Bk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Ij(e,a)|0;f=H;return (H=(W(b,a)|0)+(W(d,e)|0)+f|f&0,c|0|0)|0}function Ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ck(b,c,d)|0}function Dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dk(b,c,d)|0}function Ek(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ce(b,c,d)|0}function Fk(a){a=a|0;var b=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function Gk(a){a=a|0;var b=0;ek(a);f[a>>2]=1312;b=a+36|0;a=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Hk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fk(b,c,d)|0}function Ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gk(b,c,d)|0}function Jk(a){a=a|0;f[a>>2]=2716;Ko(a);return}function Kk(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Lk(a){a=a|0;jm(a);f[a>>2]=3052;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=_(0.0);return}function Mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jk(b,c,d)|0}function Nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hk(b,c,d)|0}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+12>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function Qk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Sg(a,b,c,g)|0;u=e;return d|0}function Rk(a){a=a|0;var b=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b){Ko(a);return}f[a+12>>2]=b;Ko(b);Ko(a);return}function Sk(a){a=a|0;f[a>>2]=2800;Ko(a);return}function Tk(a){a=a|0;f[a>>2]=2884;Ko(a);return}function Uk(a){a=a|0;f[a>>2]=2716;return}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;return tk(a,b,c)|0}function Xk(a){a=a|0;var b=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){f[a+12>>2]=b;Ko(b)}Ko(a);return}function Yk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Na[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Zk(a){a=a|0;f[a>>2]=2968;Ko(a);return}function _k(a){a=a|0;f[a>>2]=2800;return}function $k(a){a=a|0;f[a>>2]=2884;return}function al(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return La[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function bl(a,b,c){a=a|0;b=b|0;c=c|0;return Kj(b,c)|0}function cl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return La[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function dl(a){a=a|0;Pd(a);Ko(a);return}function el(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return La[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function fl(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ve(b,c,d)|0}function hl(a){a=a|0;me(a);Ko(a);return}function il(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Rf(f[b>>2]|0,f[b+4>>2]|0,a)|0;return ((c|0)==0?a:c)|0}function jl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ua[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function kl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=Mf(f[980]|0,a,d)|0;u=c;return b|0}function ll(a){a=a|0;var b=0;if(!a)return;b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function ml(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Ka[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vh(b,c,d)|0}function ol(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)oh(a|0,(io(c)|0)&255|0,b|0)|0;return a|0}function pl(a){a=a|0;return 4}function ql(a){a=a|0;f[a>>2]=2968;return}function rl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}H=a<<c-32;return 0}function sl(a){a=a|0;var b=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b)return;f[a+12>>2]=b;Ko(b);return}function tl(a){a=a|0;var c=0;if(!a)return;c=a+4|0;if((b[c+11>>0]|0)<0)Ko(f[c>>2]|0);Ko(a);return}function ul(){}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (H=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (H=e,a-c>>>0|0)|0}function xl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}H=0;return b>>>c-32|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return si(a,b,c)|0}function zl(a){a=a|0;_d(a);Ko(a);return}function Al(a){a=a|0;return 5}function Bl(a){a=a|0;var b=0;f[a>>2]=3776;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Cl(a){a=a|0;return 6}function Dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fj(b,c,d)|0}function El(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Fl(a,c){a=a|0;c=c|0;b[c+84>>0]=1;f[c+72>>2]=f[c+68>>2];return 1}function Gl(a,b,c){a=a|0;b=b|0;c=c|0;return bl(a,b,c)|0}function Hl(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ka[f[(f[b>>2]|0)+28>>2]&127](b)|0}function Il(a,b,c){a=a|0;b=b|0;c=c|0;return Bg(b,c)|0}function Jl(a){a=a|0;f[a>>2]=1368;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Kl(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ka[f[(f[b>>2]|0)+24>>2]&127](b)|0}function Ll(a,b){a=a|0;b=b|0;Jh(a,b);return}function Ml(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ka[f[(f[b>>2]|0)+36>>2]&127](b)|0}function Nl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ta[a&3](b|0,c|0,d|0,e|0,f|0)}function Ol(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=Ro()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function Pl(a,b,c){a=a|0;b=b|0;c=c|0;return ui(a,b,c)|0}function Ql(a,b,c){a=a|0;b=b|0;c=c|0;return Hg(a,b,c)|0}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;return Wg(a,b,c)|0}function Sl(a,b,c){a=a|0;b=b|0;c=c|0;return ng(a,b,c)|0}function Tl(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Qg(a,b,c))}function Ul(a,b){a=a|0;b=b|0;return La[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Vl(a,b){a=a|0;b=b|0;return La[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Wl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;return $h(a,b,c)|0}function Yl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function Zl(a,b,c){a=a|0;b=b|0;c=c|0;return qm(b,c)|0}function _l(a,b,c){a=a|0;b=b|0;c=c|0;return Yg(a,b,c)|0}function $l(a,b,c){a=a|0;b=b|0;c=c|0;return Ug(a,b,c)|0}function am(a){a=a|0;jm(a);f[a>>2]=2544;f[a+24>>2]=-1;return}function bm(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function cm(a,b,c){a=a|0;b=b|0;c=c|0;return Uf(a,b,c)|0}function dm(a,b,c){a=a|0;b=b|0;c=c|0;return Vf(b,c)|0}function em(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;H=f[s+4>>2]|0;return b|0}function fm(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=_(0.0);return}function gm(){var a=0;a=wk(40)|0;f[a>>2]=-1;Kk(a+8|0);return a|0}function hm(){var a=0;a=wk(8)|0;f[a>>2]=1200;f[a+4>>2]=-1;return a|0}function im(a,b,c){a=a|0;b=b|0;c=c|0;return Fg(a,b,c)|0}function jm(a){a=a|0;Jl(a);f[a>>2]=1476;f[a+20>>2]=0;return}function km(a,b){a=a|0;b=b|0;Ll(a,b);return}function lm(a){a=a|0;var b=0;if(!a)b=0;else b=(Pf(a,1072,1160,0)|0)!=0&1;return b|0}function mm(a,b){a=a|0;b=b|0;return _(n[(f[a+8>>2]|0)+(b<<2)>>2])}function nm(a,b){a=a|0;b=b|0;return qj(a,b)|0}function om(a){a=a|0;if((b[a+11>>0]|0)<0)Ko(f[a>>2]|0);return}function pm(a){a=a|0;if(!a)return;Pa[f[(f[a>>2]|0)+4>>2]&127](a);return}function qm(a,b){a=a|0;b=b|0;return Bi(a,b)|0}function rm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Sa[a&7](b|0,c|0,d|0,e|0)}function sm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Rj(a|0,b|0,c|0)|0;return a|0}function tm(a,b,c){a=a|0;b=b|0;c=c|0;return Em(b,c)|0}function um(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Bf(a|0,b|0,c|0)|0;return a|0}function vm(a,b){a=a|0;b=b|0;return -1}function wm(a){a=a|0;return 3}function xm(a,b){a=a|0;b=b|0;return sn(a,b)|0}function ym(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function zm(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Am(a){a=a|0;Km(a);f[a>>2]=3180;f[a+48>>2]=0;return}function Bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ma[a&31](b|0,c|0,d|0)|0}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;Ok(a,b,c);return}function Dm(a,b){a=a|0;b=b|0;f[a>>2]=4888;Jj(a+4|0,b);return}function Em(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function Fm(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Mg(a,b,0)|0;return c|0}function Gm(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Hm(){var a=0;a=wk(64)|0;oj(a);return a|0}function Im(a,b){a=a|0;b=b|0;return _(Om(a,b))}function Jm(a){a=a|0;return f[a+8>>2]|0}function Km(a){a=a|0;Qj(a);f[a>>2]=3120;f[a+44>>2]=0;return}function Lm(a){a=a|0;if(!a)return;eh(a);Ko(a);return}function Mm(a,b){a=a|0;b=b|0;return An(a,b)|0}function Nm(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Om(a,b){a=a|0;b=b|0;return _(n[(f[a>>2]|0)+(b<<2)>>2])}function Pm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))lg(b,c,a)|0;return}function Qm(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Rm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ra[a&15](b|0,c|0,d|0)}function Sm(){var a=0;a=wk(96)|0;mk(a);return a|0}function Tm(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Um(a){a=a|0;var b=0;b=(Eo()|0)+188|0;return Uh(a,f[b>>2]|0)|0}function Vm(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Wm(){var a=0;a=wk(16)|0;zm(a);return a|0}function Xm(){var a=0;a=wk(40)|0;Zj(a);return a|0}function Ym(a,b){a=a|0;b=b|0;return 1}function Zm(a,b){a=a|0;b=b|0;return hn(a,b)|0}function _m(a,b){a=a|0;b=b|0;return jn(a,b)|0}function $m(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(3);return 0}function an(a,b){a=a|0;b=b|0;return yn(a,b)|0}function bn(){var a=0;a=wk(12)|0;qn(a);return a|0}function cn(a){a=a|0;Yh(a);Ko(a);return}function dn(a){a=a|0;n[a>>2]=_(1.0);n[a+4>>2]=_(1.0);return}function en(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function fn(a,b){a=a|0;b=b|0;var c=0;c=vn(a|0)|0;return ((b|0)==0?a:c)|0}function gn(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function hn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function jn(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function kn(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gc(a,b,c,d,0)|0}function mn(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function nn(){var a=0;a=wk(84)|0;Bl(a);return a|0}function on(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function pn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function qn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function rn(a){a=a|0;f[a>>2]=4888;Xj(a+4|0);return}function sn(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function tn(a,b,c){a=a|0;b=b|0;c=c|0;return La[a&127](b|0,c|0)|0}function un(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(10)}function vn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function wn(a){a=a|0;Km(a);f[a>>2]=3524;return}function xn(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function yn(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function zn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function An(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Bn(a){a=a|0;return _(n[a+20>>2])}function Cn(a){a=a|0;return f[a+4>>2]|0}function Dn(a){a=a|0;if(!a)return;Ko(a);return}function En(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function Fn(a){a=a|0;return a+12|0}function Gn(a){a=a|0;return f[a+88>>2]|0}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;Qa[a&7](b|0,c|0)}function In(){var a=0;a=wk(40)|0;uk(a);return a|0}function Jn(){var a=0;a=wk(108)|0;vk(a);return a|0}function Kn(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Ln(a){a=a|0;return a+-12|0}function Mn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(9)}function Nn(){var a=0;a=f[4213]|0;f[4213]=a+0;return a|0}function On(a){a=a|0;return lo(a+4|0)|0}function Pn(a){a=a|0;return f[a+56>>2]|0}function Qn(a){a=a|0;Ag(a);Ko(a);return}function Rn(a){a=a|0;Oo(a);Ko(a);return}function Sn(a){a=a|0;return b[a+24>>0]|0}function Tn(a,b){a=a|0;b=b|0;return 0}function Un(a){a=a|0;return f[a+40>>2]|0}function Vn(a){a=a|0;return f[a+48>>2]|0}function Wn(a){a=a|0;return (a?31-(Z(a^a-1)|0)|0:32)|0}function Xn(a,b){a=a|0;b=b|0;return Ka[a&127](b|0)|0}function Yn(a){a=a|0;return f[a+60>>2]|0}function Zn(a){a=a|0;return f[a+28>>2]|0}function _n(a){a=a|0;rn(a);Ko(a);return}function $n(a){a=a|0;Ba()}function ao(a,b){a=a|0;b=b|0;u=a;v=b}function bo(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function co(a){a=a|0;return (f[a>>2]|0)==0|0}function eo(a){a=a|0;return f[a+80>>2]|0}function fo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(8)}function go(a,b){a=a|0;b=b|0;Pa[a&127](b|0)}function ho(a,b){a=a|0;b=b|0;return il(a,b)|0}function io(a){a=a|0;return a&255|0}function jo(a){a=a|0;f[a>>2]=0;return}function ko(a,b,c){a=a|0;b=b|0;c=c|0;$(2);return 0}function lo(a){a=a|0;return f[a>>2]|0}function mo(a){a=a|0;return 2}function no(a){a=a|0;return 1}function oo(a,b){a=+a;b=b|0;return +(+Rh(a,b))}function po(){return 3}function qo(a,b,c){a=a|0;b=b|0;c=c|0;$(7)}function ro(){return -4}function so(){return 4}function to(a){a=a|0;return (a+-48|0)>>>0<10|0}function uo(){return -3}function vo(){return 1}function wo(){return 2}function xo(){return -5}function yo(a,b){a=a|0;b=b|0;$(1);return 0}function zo(a){a=a|0;Fa()}function Ao(a){a=a|0;Oa[a&1]()}function Bo(){return -2}function Co(){sa()}function Do(){return -1}function Eo(){return Uo()|0}function Fo(a,b){a=a|0;b=b|0;$(6)}function Go(){return 0}function Ho(a){a=a|0;return wk(a)|0}function Io(a){a=a|0;Ko(a);return}function Jo(a){a=a|0;u=a}function Ko(a){a=a|0;Rb(a);return}function Lo(a){a=a|0;H=a}function Mo(a){a=a|0;return a|0}function No(a){a=a|0;$(0);return 0}function Oo(a){a=a|0;return}function Po(a){a=a|0;return 0}function Qo(){return H|0}function Ro(){return 16848}function So(){return u|0}function To(a){a=a|0;$(5)}function Uo(){return 4172}function Vo(){$(4)} + +// EMSCRIPTEN_END_FUNCS +var Ka=[No,mo,no,Qm,Zn,no,Lb,Ic,Nm,Cn,Po,Po,no,Po,no,no,ej,mo,ej,pl,ej,wm,cj,no,Cl,gi,no,Zn,Al,cj,no,no,ej,mo,ej,pl,ej,wm,cj,no,Cl,gi,no,Zn,Al,cj,no,mo,Po,Cn,no,Po,no,mo,Po,Cn,no,Po,no,wm,Cl,ei,no,Zn,Cl,ei,no,Zn,Cl,ei,no,Zn,Cl,ei,no,Zn,qe,no,no,ml,ud,wi,no,Po,Ue,Hl,Ml,Kl,ab,no,Cn,Jm,Me,$d,Oe,_a,no,Cn,Jm,$a,no,Cn,Jm,vb,_g,Po,no,Oh,Sh,yk,On,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No];var La=[yo,dj,Kf,kc,lj,Gm,Tn,Ym,Tb,tb,bm,Ym,pg,Fd,mg,Xi,ai,Xh,Ui,hd,vm,Tn,Hf,pc,Tn,Aj,nd,Tn,tj,fe,Uj,Tn,Aj,zd,pc,Tn,Aj,nd,Tn,tj,fe,Uj,Tn,Aj,zd,Qf,vm,Tn,ag,vm,Tn,sg,Tn,pj,Ne,Uj,Tn,pj,Ne,Uj,Tn,pj,te,Uj,Tn,pj,te,Uj,Vl,he,Tn,Tn,el,cl,al,Yl,rg,ug,Sb,ye,ee,be,Yl,rg,ug,Sb,Yl,rg,ug,Sb,bf,Fl,kg,bf,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo];var Ma=[ko,El,tk,xi,Vk,qg,Wk,ie,rc,nj,wg,ch,uj,Rg,mi,hf,Vi,hj,ik,wh,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko];var Na=[$m,Lc,Xb,Pb,sb,Sc,ec,dd,Yb,Qb,qb,Rc,dc,cd,wf,sf,lc,mc,nc,oc,$m,$m,$m,$m,$m,$m,$m,$m,$m,$m,$m,$m];var Oa=[Vo,Co];var Pa=[To,Oo,Io,sl,Rk,rk,zo,rh,mh,Yh,cn,$g,Vg,bk,_j,Fk,zo,sk,sk,sk,qi,ji,Ni,Hi,zo,Vj,Mj,Oo,zo,Io,yj,ij,sk,sk,li,ii,Ki,Ci,zo,Sj,Gj,Oo,zo,Io,rj,fj,_j,Oo,Io,Io,Uk,Jk,Oo,Io,_k,Sk,Oo,Io,$k,Tk,Oo,Io,ql,Zk,Oo,Io,Mi,Gi,_h,zo,Eh,Ah,_d,zl,Ji,Ai,xk,kk,zj,Qh,Mh,Ak,ok,Dj,Li,Ei,Pd,dl,me,hl,Th,Oo,Io,zo,Th,Th,Wj,Oj,Ag,Qn,Oo,Rn,Oo,Oo,Rn,rn,_n,_n,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To];var Qa=[Fo,fi,Je,_i,zc,Fo,Fo,Fo];var Ra=[qo,Zh,Mb,Ob,Ob,Mb,Ob,Mb,bg,Ef,qo,qo,qo,qo,qo,qo];var Sa=[fo,sh,sd,Pj,Oi,fo,fo,fo];var Ta=[Mn,qh,ff,Mn];var Ua=[un,xj,yi,un];return{___cxa_can_catch:Tj,___cxa_is_pointer_type:lm,___divdi3:ni,___muldi3:Bk,___udivdi3:ln,_bitshift64Lshr:xl,_bitshift64Shl:rl,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:hm,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Ul,_emscripten_bind_AttributeOctahedronTransform___destroy___0:pm,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Cn,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:lk,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Ul,_emscripten_bind_AttributeQuantizationTransform___destroy___0:pm,_emscripten_bind_AttributeQuantizationTransform_min_value_1:mm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Cn,_emscripten_bind_AttributeQuantizationTransform_range_0:Bn,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:gm,_emscripten_bind_AttributeTransformData___destroy___0:Xk,_emscripten_bind_AttributeTransformData_transform_type_0:lo,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Xm,_emscripten_bind_DecoderBuffer_Init_2:Cm,_emscripten_bind_DecoderBuffer___destroy___0:Dn,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Pl,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:yl,_emscripten_bind_Decoder_Decoder_0:In,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:Zl,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:Ek,_emscripten_bind_Decoder_GetAttributeFloat_3:nl,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:gl,_emscripten_bind_Decoder_GetAttributeIdByName_2:dm,_emscripten_bind_Decoder_GetAttributeId_2:Gl,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:Ik,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:Nk,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:Mk,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:Nk,_emscripten_bind_Decoder_GetAttributeMetadata_2:Xl,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:Dk,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:Ck,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:Hk,_emscripten_bind_Decoder_GetAttribute_2:tm,_emscripten_bind_Decoder_GetEncodedGeometryType_1:nm,_emscripten_bind_Decoder_GetFaceFromMesh_3:Dl,_emscripten_bind_Decoder_GetMetadata_1:Mm,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:Il,_emscripten_bind_Decoder_SkipAttributeTransform_1:km,_emscripten_bind_Decoder___destroy___0:hi,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:bn,_emscripten_bind_DracoFloat32Array_GetValue_1:Im,_emscripten_bind_DracoFloat32Array___destroy___0:ll,_emscripten_bind_DracoFloat32Array_size_0:on,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:bn,_emscripten_bind_DracoInt16Array_GetValue_1:_m,_emscripten_bind_DracoInt16Array___destroy___0:ll,_emscripten_bind_DracoInt16Array_size_0:pn,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:bn,_emscripten_bind_DracoInt32Array_GetValue_1:Zm,_emscripten_bind_DracoInt32Array___destroy___0:ll,_emscripten_bind_DracoInt32Array_size_0:on,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:bn,_emscripten_bind_DracoInt8Array_GetValue_1:an,_emscripten_bind_DracoInt8Array___destroy___0:ll,_emscripten_bind_DracoInt8Array_size_0:zn,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:bn,_emscripten_bind_DracoUInt16Array_GetValue_1:_m,_emscripten_bind_DracoUInt16Array___destroy___0:ll,_emscripten_bind_DracoUInt16Array_size_0:pn,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:bn,_emscripten_bind_DracoUInt32Array_GetValue_1:Zm,_emscripten_bind_DracoUInt32Array___destroy___0:ll,_emscripten_bind_DracoUInt32Array_size_0:on,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:bn,_emscripten_bind_DracoUInt8Array_GetValue_1:an,_emscripten_bind_DracoUInt8Array___destroy___0:ll,_emscripten_bind_DracoUInt8Array_size_0:zn,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Hm,_emscripten_bind_GeometryAttribute___destroy___0:Dn,_emscripten_bind_Mesh_Mesh_0:Jn,_emscripten_bind_Mesh___destroy___0:pm,_emscripten_bind_Mesh_num_attributes_0:gn,_emscripten_bind_Mesh_num_faces_0:Vm,_emscripten_bind_Mesh_num_points_0:eo,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Tl,_emscripten_bind_MetadataQuerier_GetEntryName_2:cm,_emscripten_bind_MetadataQuerier_GetIntEntry_2:$l,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Sl,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Rl,_emscripten_bind_MetadataQuerier_HasEntry_2:im,_emscripten_bind_MetadataQuerier_HasIntEntry_2:_l,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Ql,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:Wm,_emscripten_bind_MetadataQuerier_NumEntries_1:xm,_emscripten_bind_MetadataQuerier___destroy___0:zi,_emscripten_bind_Metadata_Metadata_0:Lj,_emscripten_bind_Metadata___destroy___0:Lm,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:Gn,_emscripten_bind_PointAttribute_PointAttribute_0:Sm,_emscripten_bind_PointAttribute___destroy___0:ri,_emscripten_bind_PointAttribute_attribute_type_0:Pn,_emscripten_bind_PointAttribute_byte_offset_0:Vn,_emscripten_bind_PointAttribute_byte_stride_0:Un,_emscripten_bind_PointAttribute_data_type_0:Zn,_emscripten_bind_PointAttribute_normalized_0:Kn,_emscripten_bind_PointAttribute_num_components_0:Sn,_emscripten_bind_PointAttribute_size_0:eo,_emscripten_bind_PointAttribute_unique_id_0:Yn,_emscripten_bind_PointCloud_PointCloud_0:nn,_emscripten_bind_PointCloud___destroy___0:pm,_emscripten_bind_PointCloud_num_attributes_0:gn,_emscripten_bind_PointCloud_num_points_0:eo,_emscripten_bind_Status___destroy___0:tl,_emscripten_bind_Status_code_0:lo,_emscripten_bind_Status_error_msg_0:fl,_emscripten_bind_Status_ok_0:co,_emscripten_bind_VoidPtr___destroy___0:Dn,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:Do,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:Go,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:wo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:vo,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Do,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Go,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:vo,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:wo,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:so,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Do,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:vo,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Go,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:po,_emscripten_enum_draco_StatusCode_ERROR:Do,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:uo,_emscripten_enum_draco_StatusCode_IO_ERROR:Bo,_emscripten_enum_draco_StatusCode_OK:Go,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:xo,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:ro,_emscripten_replace_memory:Ja,_free:Rb,_i64Add:vl,_i64Subtract:wl,_llvm_bswap_i32:vn,_malloc:Va,_memcpy:Bf,_memmove:Rj,_memset:oh,_sbrk:vj,dynCall_ii:Xn,dynCall_iii:tn,dynCall_iiii:Bm,dynCall_iiiiiii:Yk,dynCall_v:Ao,dynCall_vi:go,dynCall_vii:Hn,dynCall_viii:Rm,dynCall_viiii:rm,dynCall_viiiii:Nl,dynCall_viiiiii:jl,establishStackSpace:ao,getTempRet0:Qo,runPostSets:ul,setTempRet0:Lo,setThrew:En,stackAlloc:Tm,stackRestore:Jo,stackSave:So}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=asm["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"];var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoInt16Array_GetValue_1"];var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=asm["_emscripten_bind_DracoInt16Array___destroy___0"];var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=asm["_emscripten_bind_DracoInt16Array_size_0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=asm["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"];var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt16Array_GetValue_1"];var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=asm["_emscripten_bind_DracoUInt16Array___destroy___0"];var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=asm["_emscripten_bind_DracoUInt16Array_size_0"];var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=asm["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"];var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt32Array_GetValue_1"];var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=asm["_emscripten_bind_DracoUInt32Array___destroy___0"];var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=asm["_emscripten_bind_DracoUInt32Array_size_0"];var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=asm["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"];var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt8Array_GetValue_1"];var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=asm["_emscripten_bind_DracoUInt8Array___destroy___0"];var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=asm["_emscripten_bind_DracoUInt8Array_size_0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=asm["_emscripten_bind_MetadataQuerier_GetEntryName_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasEntry_2"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=asm["_emscripten_bind_MetadataQuerier_NumEntries_1"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i<ensureCache.temps.length;i++){Module["_free"](ensureCache.temps[i])}ensureCache.temps.length=0;Module["_free"](ensureCache.buffer);ensureCache.buffer=0;ensureCache.size+=ensureCache.needed;ensureCache.needed=0}if(!ensureCache.buffer){ensureCache.size+=128;ensureCache.buffer=Module["_malloc"](ensureCache.size);assert(ensureCache.buffer)}ensureCache.pos=0}),alloc:(function(array,view){assert(ensureCache.buffer);var bytes=view.BYTES_PER_ELEMENT;var len=array.length*bytes;len=len+7&-8;var ret;if(ensureCache.pos+len>=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i<array.length;i++){view[offsetShifted+i]=array[i]}})};function ensureString(value){if(typeof value==="string"){var intArray=intArrayFromString(value);var offset=ensureCache.alloc(intArray,HEAP8);ensureCache.copy(intArray,HEAP8,offset);return offset}return value}function ensureInt8(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP8);ensureCache.copy(value,HEAP8,offset);return offset}return value}function Status(){throw"cannot construct a Status, no constructor in IDL"}Status.prototype=Object.create(WrapperObject.prototype);Status.prototype.constructor=Status;Status.prototype.__class__=Status;Status.__cache__={};Module["Status"]=Status;Status.prototype["code"]=Status.prototype.code=(function(){var self=this.ptr;return _emscripten_bind_Status_code_0(self)});Status.prototype["ok"]=Status.prototype.ok=(function(){var self=this.ptr;return!!_emscripten_bind_Status_ok_0(self)});Status.prototype["error_msg"]=Status.prototype.error_msg=(function(){var self=this.ptr;return Pointer_stringify(_emscripten_bind_Status_error_msg_0(self))});Status.prototype["__destroy__"]=Status.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Status___destroy___0(self)});function DracoUInt16Array(){this.ptr=_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0();getCache(DracoUInt16Array)[this.ptr]=this}DracoUInt16Array.prototype=Object.create(WrapperObject.prototype);DracoUInt16Array.prototype.constructor=DracoUInt16Array;DracoUInt16Array.prototype.__class__=DracoUInt16Array;DracoUInt16Array.__cache__={};Module["DracoUInt16Array"]=DracoUInt16Array;DracoUInt16Array.prototype["GetValue"]=DracoUInt16Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoUInt16Array_GetValue_1(self,arg0)});DracoUInt16Array.prototype["size"]=DracoUInt16Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoUInt16Array_size_0(self)});DracoUInt16Array.prototype["__destroy__"]=DracoUInt16Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoUInt16Array___destroy___0(self)});function PointCloud(){this.ptr=_emscripten_bind_PointCloud_PointCloud_0();getCache(PointCloud)[this.ptr]=this}PointCloud.prototype=Object.create(WrapperObject.prototype);PointCloud.prototype.constructor=PointCloud;PointCloud.prototype.__class__=PointCloud;PointCloud.__cache__={};Module["PointCloud"]=PointCloud;PointCloud.prototype["num_attributes"]=PointCloud.prototype.num_attributes=(function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_attributes_0(self)});PointCloud.prototype["num_points"]=PointCloud.prototype.num_points=(function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_points_0(self)});PointCloud.prototype["__destroy__"]=PointCloud.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_PointCloud___destroy___0(self)});function DracoUInt8Array(){this.ptr=_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0();getCache(DracoUInt8Array)[this.ptr]=this}DracoUInt8Array.prototype=Object.create(WrapperObject.prototype);DracoUInt8Array.prototype.constructor=DracoUInt8Array;DracoUInt8Array.prototype.__class__=DracoUInt8Array;DracoUInt8Array.__cache__={};Module["DracoUInt8Array"]=DracoUInt8Array;DracoUInt8Array.prototype["GetValue"]=DracoUInt8Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoUInt8Array_GetValue_1(self,arg0)});DracoUInt8Array.prototype["size"]=DracoUInt8Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoUInt8Array_size_0(self)});DracoUInt8Array.prototype["__destroy__"]=DracoUInt8Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoUInt8Array___destroy___0(self)});function DracoUInt32Array(){this.ptr=_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0();getCache(DracoUInt32Array)[this.ptr]=this}DracoUInt32Array.prototype=Object.create(WrapperObject.prototype);DracoUInt32Array.prototype.constructor=DracoUInt32Array;DracoUInt32Array.prototype.__class__=DracoUInt32Array;DracoUInt32Array.__cache__={};Module["DracoUInt32Array"]=DracoUInt32Array;DracoUInt32Array.prototype["GetValue"]=DracoUInt32Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoUInt32Array_GetValue_1(self,arg0)});DracoUInt32Array.prototype["size"]=DracoUInt32Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoUInt32Array_size_0(self)});DracoUInt32Array.prototype["__destroy__"]=DracoUInt32Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoUInt32Array___destroy___0(self)});function AttributeOctahedronTransform(){this.ptr=_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0();getCache(AttributeOctahedronTransform)[this.ptr]=this}AttributeOctahedronTransform.prototype=Object.create(WrapperObject.prototype);AttributeOctahedronTransform.prototype.constructor=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype.__class__=AttributeOctahedronTransform;AttributeOctahedronTransform.__cache__={};Module["AttributeOctahedronTransform"]=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype["InitFromAttribute"]=AttributeOctahedronTransform.prototype.InitFromAttribute=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return!!_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1(self,arg0)});AttributeOctahedronTransform.prototype["quantization_bits"]=AttributeOctahedronTransform.prototype.quantization_bits=(function(){var self=this.ptr;return _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0(self)});AttributeOctahedronTransform.prototype["__destroy__"]=AttributeOctahedronTransform.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_AttributeOctahedronTransform___destroy___0(self)});function PointAttribute(){this.ptr=_emscripten_bind_PointAttribute_PointAttribute_0();getCache(PointAttribute)[this.ptr]=this}PointAttribute.prototype=Object.create(WrapperObject.prototype);PointAttribute.prototype.constructor=PointAttribute;PointAttribute.prototype.__class__=PointAttribute;PointAttribute.__cache__={};Module["PointAttribute"]=PointAttribute;PointAttribute.prototype["size"]=PointAttribute.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_size_0(self)});PointAttribute.prototype["GetAttributeTransformData"]=PointAttribute.prototype.GetAttributeTransformData=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_PointAttribute_GetAttributeTransformData_0(self),AttributeTransformData)});PointAttribute.prototype["attribute_type"]=PointAttribute.prototype.attribute_type=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_attribute_type_0(self)});PointAttribute.prototype["data_type"]=PointAttribute.prototype.data_type=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_data_type_0(self)});PointAttribute.prototype["num_components"]=PointAttribute.prototype.num_components=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_num_components_0(self)});PointAttribute.prototype["normalized"]=PointAttribute.prototype.normalized=(function(){var self=this.ptr;return!!_emscripten_bind_PointAttribute_normalized_0(self)});PointAttribute.prototype["byte_stride"]=PointAttribute.prototype.byte_stride=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_stride_0(self)});PointAttribute.prototype["byte_offset"]=PointAttribute.prototype.byte_offset=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_offset_0(self)});PointAttribute.prototype["unique_id"]=PointAttribute.prototype.unique_id=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_unique_id_0(self)});PointAttribute.prototype["__destroy__"]=PointAttribute.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_PointAttribute___destroy___0(self)});function AttributeTransformData(){this.ptr=_emscripten_bind_AttributeTransformData_AttributeTransformData_0();getCache(AttributeTransformData)[this.ptr]=this}AttributeTransformData.prototype=Object.create(WrapperObject.prototype);AttributeTransformData.prototype.constructor=AttributeTransformData;AttributeTransformData.prototype.__class__=AttributeTransformData;AttributeTransformData.__cache__={};Module["AttributeTransformData"]=AttributeTransformData;AttributeTransformData.prototype["transform_type"]=AttributeTransformData.prototype.transform_type=(function(){var self=this.ptr;return _emscripten_bind_AttributeTransformData_transform_type_0(self)});AttributeTransformData.prototype["__destroy__"]=AttributeTransformData.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_AttributeTransformData___destroy___0(self)});function AttributeQuantizationTransform(){this.ptr=_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0();getCache(AttributeQuantizationTransform)[this.ptr]=this}AttributeQuantizationTransform.prototype=Object.create(WrapperObject.prototype);AttributeQuantizationTransform.prototype.constructor=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype.__class__=AttributeQuantizationTransform;AttributeQuantizationTransform.__cache__={};Module["AttributeQuantizationTransform"]=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype["InitFromAttribute"]=AttributeQuantizationTransform.prototype.InitFromAttribute=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return!!_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1(self,arg0)});AttributeQuantizationTransform.prototype["quantization_bits"]=AttributeQuantizationTransform.prototype.quantization_bits=(function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0(self)});AttributeQuantizationTransform.prototype["min_value"]=AttributeQuantizationTransform.prototype.min_value=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_AttributeQuantizationTransform_min_value_1(self,arg0)});AttributeQuantizationTransform.prototype["range"]=AttributeQuantizationTransform.prototype.range=(function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_range_0(self)});AttributeQuantizationTransform.prototype["__destroy__"]=AttributeQuantizationTransform.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_AttributeQuantizationTransform___destroy___0(self)});function DracoInt8Array(){this.ptr=_emscripten_bind_DracoInt8Array_DracoInt8Array_0();getCache(DracoInt8Array)[this.ptr]=this}DracoInt8Array.prototype=Object.create(WrapperObject.prototype);DracoInt8Array.prototype.constructor=DracoInt8Array;DracoInt8Array.prototype.__class__=DracoInt8Array;DracoInt8Array.__cache__={};Module["DracoInt8Array"]=DracoInt8Array;DracoInt8Array.prototype["GetValue"]=DracoInt8Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoInt8Array_GetValue_1(self,arg0)});DracoInt8Array.prototype["size"]=DracoInt8Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoInt8Array_size_0(self)});DracoInt8Array.prototype["__destroy__"]=DracoInt8Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoInt8Array___destroy___0(self)});function MetadataQuerier(){this.ptr=_emscripten_bind_MetadataQuerier_MetadataQuerier_0();getCache(MetadataQuerier)[this.ptr]=this}MetadataQuerier.prototype=Object.create(WrapperObject.prototype);MetadataQuerier.prototype.constructor=MetadataQuerier;MetadataQuerier.prototype.__class__=MetadataQuerier;MetadataQuerier.__cache__={};Module["MetadataQuerier"]=MetadataQuerier;MetadataQuerier.prototype["HasEntry"]=MetadataQuerier.prototype.HasEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return!!_emscripten_bind_MetadataQuerier_HasEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["HasIntEntry"]=MetadataQuerier.prototype.HasIntEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return!!_emscripten_bind_MetadataQuerier_HasIntEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["GetIntEntry"]=MetadataQuerier.prototype.GetIntEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return _emscripten_bind_MetadataQuerier_GetIntEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["HasDoubleEntry"]=MetadataQuerier.prototype.HasDoubleEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return!!_emscripten_bind_MetadataQuerier_HasDoubleEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["GetDoubleEntry"]=MetadataQuerier.prototype.GetDoubleEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return _emscripten_bind_MetadataQuerier_GetDoubleEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["HasStringEntry"]=MetadataQuerier.prototype.HasStringEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return!!_emscripten_bind_MetadataQuerier_HasStringEntry_2(self,arg0,arg1)});MetadataQuerier.prototype["GetStringEntry"]=MetadataQuerier.prototype.GetStringEntry=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return Pointer_stringify(_emscripten_bind_MetadataQuerier_GetStringEntry_2(self,arg0,arg1))});MetadataQuerier.prototype["NumEntries"]=MetadataQuerier.prototype.NumEntries=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_MetadataQuerier_NumEntries_1(self,arg0)});MetadataQuerier.prototype["GetEntryName"]=MetadataQuerier.prototype.GetEntryName=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return Pointer_stringify(_emscripten_bind_MetadataQuerier_GetEntryName_2(self,arg0,arg1))});MetadataQuerier.prototype["__destroy__"]=MetadataQuerier.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_MetadataQuerier___destroy___0(self)});function DracoInt16Array(){this.ptr=_emscripten_bind_DracoInt16Array_DracoInt16Array_0();getCache(DracoInt16Array)[this.ptr]=this}DracoInt16Array.prototype=Object.create(WrapperObject.prototype);DracoInt16Array.prototype.constructor=DracoInt16Array;DracoInt16Array.prototype.__class__=DracoInt16Array;DracoInt16Array.__cache__={};Module["DracoInt16Array"]=DracoInt16Array;DracoInt16Array.prototype["GetValue"]=DracoInt16Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoInt16Array_GetValue_1(self,arg0)});DracoInt16Array.prototype["size"]=DracoInt16Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoInt16Array_size_0(self)});DracoInt16Array.prototype["__destroy__"]=DracoInt16Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoInt16Array___destroy___0(self)});function DracoFloat32Array(){this.ptr=_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0();getCache(DracoFloat32Array)[this.ptr]=this}DracoFloat32Array.prototype=Object.create(WrapperObject.prototype);DracoFloat32Array.prototype.constructor=DracoFloat32Array;DracoFloat32Array.prototype.__class__=DracoFloat32Array;DracoFloat32Array.__cache__={};Module["DracoFloat32Array"]=DracoFloat32Array;DracoFloat32Array.prototype["GetValue"]=DracoFloat32Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoFloat32Array_GetValue_1(self,arg0)});DracoFloat32Array.prototype["size"]=DracoFloat32Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoFloat32Array_size_0(self)});DracoFloat32Array.prototype["__destroy__"]=DracoFloat32Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoFloat32Array___destroy___0(self)});function GeometryAttribute(){this.ptr=_emscripten_bind_GeometryAttribute_GeometryAttribute_0();getCache(GeometryAttribute)[this.ptr]=this}GeometryAttribute.prototype=Object.create(WrapperObject.prototype);GeometryAttribute.prototype.constructor=GeometryAttribute;GeometryAttribute.prototype.__class__=GeometryAttribute;GeometryAttribute.__cache__={};Module["GeometryAttribute"]=GeometryAttribute;GeometryAttribute.prototype["__destroy__"]=GeometryAttribute.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_GeometryAttribute___destroy___0(self)});function DecoderBuffer(){this.ptr=_emscripten_bind_DecoderBuffer_DecoderBuffer_0();getCache(DecoderBuffer)[this.ptr]=this}DecoderBuffer.prototype=Object.create(WrapperObject.prototype);DecoderBuffer.prototype.constructor=DecoderBuffer;DecoderBuffer.prototype.__class__=DecoderBuffer;DecoderBuffer.__cache__={};Module["DecoderBuffer"]=DecoderBuffer;DecoderBuffer.prototype["Init"]=DecoderBuffer.prototype.Init=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(typeof arg0=="object"){arg0=ensureInt8(arg0)}if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_DecoderBuffer_Init_2(self,arg0,arg1)});DecoderBuffer.prototype["__destroy__"]=DecoderBuffer.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DecoderBuffer___destroy___0(self)});function Decoder(){this.ptr=_emscripten_bind_Decoder_Decoder_0();getCache(Decoder)[this.ptr]=this}Decoder.prototype=Object.create(WrapperObject.prototype);Decoder.prototype.constructor=Decoder;Decoder.prototype.__class__=Decoder;Decoder.__cache__={};Module["Decoder"]=Decoder;Decoder.prototype["GetEncodedGeometryType"]=Decoder.prototype.GetEncodedGeometryType=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_Decoder_GetEncodedGeometryType_1(self,arg0)});Decoder.prototype["DecodeBufferToPointCloud"]=Decoder.prototype.DecodeBufferToPointCloud=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToPointCloud_2(self,arg0,arg1),Status)});Decoder.prototype["DecodeBufferToMesh"]=Decoder.prototype.DecodeBufferToMesh=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToMesh_2(self,arg0,arg1),Status)});Decoder.prototype["GetAttributeId"]=Decoder.prototype.GetAttributeId=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_Decoder_GetAttributeId_2(self,arg0,arg1)});Decoder.prototype["GetAttributeIdByName"]=Decoder.prototype.GetAttributeIdByName=(function(arg0,arg1){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);return _emscripten_bind_Decoder_GetAttributeIdByName_2(self,arg0,arg1)});Decoder.prototype["GetAttributeIdByMetadataEntry"]=Decoder.prototype.GetAttributeIdByMetadataEntry=(function(arg0,arg1,arg2){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);return _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttribute"]=Decoder.prototype.GetAttribute=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttribute_2(self,arg0,arg1),PointAttribute)});Decoder.prototype["GetAttributeByUniqueId"]=Decoder.prototype.GetAttributeByUniqueId=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeByUniqueId_2(self,arg0,arg1),PointAttribute)});Decoder.prototype["GetMetadata"]=Decoder.prototype.GetMetadata=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_Decoder_GetMetadata_1(self,arg0),Metadata)});Decoder.prototype["GetAttributeMetadata"]=Decoder.prototype.GetAttributeMetadata=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeMetadata_2(self,arg0,arg1),Metadata)});Decoder.prototype["GetFaceFromMesh"]=Decoder.prototype.GetFaceFromMesh=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetFaceFromMesh_3(self,arg0,arg1,arg2)});Decoder.prototype["GetTriangleStripsFromMesh"]=Decoder.prototype.GetTriangleStripsFromMesh=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2(self,arg0,arg1)});Decoder.prototype["GetAttributeFloat"]=Decoder.prototype.GetAttributeFloat=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloat_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeFloatForAllPoints"]=Decoder.prototype.GetAttributeFloatForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeIntForAllPoints"]=Decoder.prototype.GetAttributeIntForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeInt8ForAllPoints"]=Decoder.prototype.GetAttributeInt8ForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeUInt8ForAllPoints"]=Decoder.prototype.GetAttributeUInt8ForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeInt16ForAllPoints"]=Decoder.prototype.GetAttributeInt16ForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeUInt16ForAllPoints"]=Decoder.prototype.GetAttributeUInt16ForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeInt32ForAllPoints"]=Decoder.prototype.GetAttributeInt32ForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["GetAttributeUInt32ForAllPoints"]=Decoder.prototype.GetAttributeUInt32ForAllPoints=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3(self,arg0,arg1,arg2)});Decoder.prototype["SkipAttributeTransform"]=Decoder.prototype.SkipAttributeTransform=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Decoder_SkipAttributeTransform_1(self,arg0)});Decoder.prototype["__destroy__"]=Decoder.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Decoder___destroy___0(self)});function Mesh(){this.ptr=_emscripten_bind_Mesh_Mesh_0();getCache(Mesh)[this.ptr]=this}Mesh.prototype=Object.create(WrapperObject.prototype);Mesh.prototype.constructor=Mesh;Mesh.prototype.__class__=Mesh;Mesh.__cache__={};Module["Mesh"]=Mesh;Mesh.prototype["num_faces"]=Mesh.prototype.num_faces=(function(){var self=this.ptr;return _emscripten_bind_Mesh_num_faces_0(self)});Mesh.prototype["num_attributes"]=Mesh.prototype.num_attributes=(function(){var self=this.ptr;return _emscripten_bind_Mesh_num_attributes_0(self)});Mesh.prototype["num_points"]=Mesh.prototype.num_points=(function(){var self=this.ptr;return _emscripten_bind_Mesh_num_points_0(self)});Mesh.prototype["__destroy__"]=Mesh.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Mesh___destroy___0(self)});function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=VoidPtr.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)});function DracoInt32Array(){this.ptr=_emscripten_bind_DracoInt32Array_DracoInt32Array_0();getCache(DracoInt32Array)[this.ptr]=this}DracoInt32Array.prototype=Object.create(WrapperObject.prototype);DracoInt32Array.prototype.constructor=DracoInt32Array;DracoInt32Array.prototype.__class__=DracoInt32Array;DracoInt32Array.__cache__={};Module["DracoInt32Array"]=DracoInt32Array;DracoInt32Array.prototype["GetValue"]=DracoInt32Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoInt32Array_GetValue_1(self,arg0)});DracoInt32Array.prototype["size"]=DracoInt32Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoInt32Array_size_0(self)});DracoInt32Array.prototype["__destroy__"]=DracoInt32Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoInt32Array___destroy___0(self)});function Metadata(){this.ptr=_emscripten_bind_Metadata_Metadata_0();getCache(Metadata)[this.ptr]=this}Metadata.prototype=Object.create(WrapperObject.prototype);Metadata.prototype.constructor=Metadata;Metadata.prototype.__class__=Metadata;Metadata.__cache__={};Module["Metadata"]=Metadata;Metadata.prototype["__destroy__"]=Metadata.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Metadata___destroy___0(self)});((function(){function setupEnums(){Module["OK"]=_emscripten_enum_draco_StatusCode_OK();Module["ERROR"]=_emscripten_enum_draco_StatusCode_ERROR();Module["IO_ERROR"]=_emscripten_enum_draco_StatusCode_IO_ERROR();Module["INVALID_PARAMETER"]=_emscripten_enum_draco_StatusCode_INVALID_PARAMETER();Module["UNSUPPORTED_VERSION"]=_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION();Module["UNKNOWN_VERSION"]=_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION();Module["INVALID_GEOMETRY_TYPE"]=_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE();Module["POINT_CLOUD"]=_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD();Module["TRIANGULAR_MESH"]=_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH();Module["ATTRIBUTE_INVALID_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM();Module["ATTRIBUTE_NO_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM();Module["ATTRIBUTE_QUANTIZATION_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM();Module["ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM();Module["INVALID"]=_emscripten_enum_draco_GeometryAttribute_Type_INVALID();Module["POSITION"]=_emscripten_enum_draco_GeometryAttribute_Type_POSITION();Module["NORMAL"]=_emscripten_enum_draco_GeometryAttribute_Type_NORMAL();Module["COLOR"]=_emscripten_enum_draco_GeometryAttribute_Type_COLOR();Module["TEX_COORD"]=_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD();Module["GENERIC"]=_emscripten_enum_draco_GeometryAttribute_Type_GENERIC()}if(Module["calledRun"])setupEnums();else addOnPreMain(setupEnums)}))();if(typeof Module["onModuleParsed"]==="function"){Module["onModuleParsed"]()} + + + + + + + return DracoDecoderModule; +}; +if (typeof exports === 'object' && typeof module === 'object') + module.exports = DracoDecoderModule; + else if (typeof define === 'function' && define['amd']) + define([], function() { return DracoDecoderModule; }); + else if (typeof exports === 'object') + exports["DracoDecoderModule"] = DracoDecoderModule; + \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/draco_wasm_wrapper.js b/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/draco_wasm_wrapper.js new file mode 100644 index 000000000..bfc8deb64 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/draco_wasm_wrapper.js @@ -0,0 +1,129 @@ +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(d,f,n){d!=Array.prototype&&d!=Object.prototype&&(d[f]=n.value)};$jscomp.getGlobal=function(d){return"undefined"!=typeof window&&window===d?d:"undefined"!=typeof global&&null!=global?global:d};$jscomp.global=$jscomp.getGlobal(this); +$jscomp.polyfill=function(d,f,n,w){if(f){n=$jscomp.global;d=d.split(".");for(w=0;w<d.length-1;w++){var g=d[w];g in n||(n[g]={});n=n[g]}d=d[d.length-1];w=n[d];f=f(w);f!=w&&null!=f&&$jscomp.defineProperty(n,d,{configurable:!0,writable:!0,value:f})}};$jscomp.polyfill("Math.imul",function(d){return d?d:function(f,d){f=Number(f);d=Number(d);var n=f&65535,g=d&65535;return n*g+((f>>>16&65535)*g+n*(d>>>16&65535)<<16>>>0)|0}},"es6","es3"); +$jscomp.polyfill("Math.clz32",function(d){return d?d:function(f){f=Number(f)>>>0;if(0===f)return 32;var d=0;0===(f&4294901760)&&(f<<=16,d+=16);0===(f&4278190080)&&(f<<=8,d+=8);0===(f&4026531840)&&(f<<=4,d+=4);0===(f&3221225472)&&(f<<=2,d+=2);0===(f&2147483648)&&d++;return d}},"es6","es3");$jscomp.polyfill("Math.trunc",function(d){return d?d:function(d){d=Number(d);if(isNaN(d)||Infinity===d||-Infinity===d||0===d)return d;var f=Math.floor(Math.abs(d));return 0>d?-f:f}},"es6","es3"); +$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(d){return $jscomp.SYMBOL_PREFIX+(d||"")+$jscomp.symbolCounter_++}; +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var d=$jscomp.global.Symbol.iterator;d||(d=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[d]&&$jscomp.defineProperty(Array.prototype,d,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(d){var f=0;return $jscomp.iteratorPrototype(function(){return f<d.length?{done:!1,value:d[f++]}:{done:!0}})}; +$jscomp.iteratorPrototype=function(d){$jscomp.initSymbolIterator();d={next:d};d[$jscomp.global.Symbol.iterator]=function(){return this};return d};$jscomp.makeIterator=function(d){$jscomp.initSymbolIterator();var f=d[Symbol.iterator];return f?f.call(d):$jscomp.arrayIterator(d)};$jscomp.FORCE_POLYFILL_PROMISE=!1; +$jscomp.polyfill("Promise",function(d){function f(){this.batch_=null}function n(d){return d instanceof g?d:new g(function(f,D){f(d)})}if(d&&!$jscomp.FORCE_POLYFILL_PROMISE)return d;f.prototype.asyncExecute=function(d){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(d);return this};f.prototype.asyncExecuteBatch_=function(){var d=this;this.asyncExecuteFunction(function(){d.executeBatch_()})};var w=$jscomp.global.setTimeout;f.prototype.asyncExecuteFunction=function(d){w(d, +0)};f.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var d=this.batch_;this.batch_=[];for(var f=0;f<d.length;++f){var g=d[f];delete d[f];try{g()}catch(la){this.asyncThrow_(la)}}}this.batch_=null};f.prototype.asyncThrow_=function(d){this.asyncExecuteFunction(function(){throw d;})};var g=function(d){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var f=this.createResolveAndReject_();try{d(f.resolve,f.reject)}catch(u){f.reject(u)}};g.prototype.createResolveAndReject_= +function(){function d(d){return function(D){g||(g=!0,d.call(f,D))}}var f=this,g=!1;return{resolve:d(this.resolveTo_),reject:d(this.reject_)}};g.prototype.resolveTo_=function(d){if(d===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(d instanceof g)this.settleSameAsPromise_(d);else{a:switch(typeof d){case "object":var f=null!=d;break a;case "function":f=!0;break a;default:f=!1}f?this.resolveToNonPromiseObj_(d):this.fulfill_(d)}};g.prototype.resolveToNonPromiseObj_=function(d){var f= +void 0;try{f=d.then}catch(u){this.reject_(u);return}"function"==typeof f?this.settleSameAsThenable_(f,d):this.fulfill_(d)};g.prototype.reject_=function(d){this.settle_(2,d)};g.prototype.fulfill_=function(d){this.settle_(1,d)};g.prototype.settle_=function(d,f){if(0!=this.state_)throw Error("Cannot settle("+d+", "+f|"): Promise already settled in state"+this.state_);this.state_=d;this.result_=f;this.executeOnSettledCallbacks_()};g.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var d= +this.onSettledCallbacks_,f=0;f<d.length;++f)d[f].call(),d[f]=null;this.onSettledCallbacks_=null}};var ma=new f;g.prototype.settleSameAsPromise_=function(d){var f=this.createResolveAndReject_();d.callWhenSettled_(f.resolve,f.reject)};g.prototype.settleSameAsThenable_=function(d,f){var g=this.createResolveAndReject_();try{d.call(f,g.resolve,g.reject)}catch(la){g.reject(la)}};g.prototype.then=function(d,f){function u(d,f){return"function"==typeof d?function(f){try{n(d(f))}catch(ea){D(ea)}}:f}var n,D, +w=new g(function(d,f){n=d;D=f});this.callWhenSettled_(u(d,n),u(f,D));return w};g.prototype.catch=function(d){return this.then(void 0,d)};g.prototype.callWhenSettled_=function(d,f){function g(){switch(n.state_){case 1:d(n.result_);break;case 2:f(n.result_);break;default:throw Error("Unexpected state: "+n.state_);}}var n=this;null==this.onSettledCallbacks_?ma.asyncExecute(g):this.onSettledCallbacks_.push(function(){ma.asyncExecute(g)})};g.resolve=n;g.reject=function(d){return new g(function(f,g){g(d)})}; +g.race=function(d){return new g(function(f,g){for(var u=$jscomp.makeIterator(d),w=u.next();!w.done;w=u.next())n(w.value).callWhenSettled_(f,g)})};g.all=function(d){var f=$jscomp.makeIterator(d),u=f.next();return u.done?n([]):new g(function(d,g){function w(f){return function(g){D[f]=g;Q--;0==Q&&d(D)}}var D=[],Q=0;do D.push(void 0),Q++,n(u.value).callWhenSettled_(w(D.length-1),g),u=f.next();while(!u.done)})};return g},"es6","es3"); +var DracoDecoderModule=function(d){function f(a,b){a||W("Assertion failed: "+b)}function n(e,b){if(0===b||!e)return"";for(var c=0,l,d=0;;){l=T[e+d>>0];c|=l;if(0==l&&!b)break;d++;if(b&&d==b)break}b||(b=d);l="";if(128>c){for(;0<b;)c=String.fromCharCode.apply(String,T.subarray(e,e+Math.min(b,1024))),l=l?l+c:c,e+=1024,b-=1024;return l}return a.UTF8ToString(e)}function w(a){return a.replace(/__Z[\w\d_]+/g,function(a){return a===a?a:a+" ["+a+"]"})}function g(){a:{var e=Error();if(!e.stack){try{throw Error(0); +}catch(b){e=b}if(!e.stack){e="(no stack trace available)";break a}}e=e.stack.toString()}a.extraStackTrace&&(e+="\n"+a.extraStackTrace());return w(e)}function ma(a,b){0<a%b&&(a+=b-a%b);return a}function D(){a.HEAP8=fa=new Int8Array(F);a.HEAP16=za=new Int16Array(F);a.HEAP32=x=new Int32Array(F);a.HEAPU8=T=new Uint8Array(F);a.HEAPU16=Oa=new Uint16Array(F);a.HEAPU32=Pa=new Uint32Array(F);a.HEAPF32=Qa=new Float32Array(F);a.HEAPF64=Ra=new Float64Array(F)}function Ma(){var e=a.usingWasm?Aa:Sa,b=2147483648- +e;if(x[ba>>2]>b)return!1;var c=y;for(y=Math.max(y,ib);y<x[ba>>2];)y=536870912>=y?ma(2*y,e):Math.min(ma((3*y+2147483648)/4,e),b);e=a.reallocBuffer(y);if(!e||e.byteLength!=y)return y=c,!1;a.buffer=F=e;D();return!0}function u(e){for(;0<e.length;){var b=e.shift();if("function"==typeof b)b();else{var c=b.func;"number"===typeof c?void 0===b.arg?a.dynCall_v(c):a.dynCall_vi(c,b.arg):c(void 0===b.arg?null:b.arg)}}}function la(e){ha++;a.monitorRunDependencies&&a.monitorRunDependencies(ha)}function Na(e){ha--; +a.monitorRunDependencies&&a.monitorRunDependencies(ha);0==ha&&(null!==Ba&&(clearInterval(Ba),Ba=null),sa&&(e=sa,sa=null,e()))}function na(){return!!na.uncaught_exception}function qa(){var e=A.last;if(!e)return(m.setTempRet0(0),0)|0;var b=A.infos[e],c=b.type;if(!c)return(m.setTempRet0(0),e)|0;var l=Array.prototype.slice.call(arguments);a.___cxa_is_pointer_type(c);qa.buffer||(qa.buffer=Ta(4));x[qa.buffer>>2]=e;e=qa.buffer;for(var d=0;d<l.length;d++)if(l[d]&&a.___cxa_can_catch(l[d],c,e))return e=x[e>> +2],b.adjusted=e,(m.setTempRet0(l[d]),e)|0;e=x[e>>2];return(m.setTempRet0(c),e)|0}function Q(e,b){v.varargs=b;try{var c=v.get(),l=v.get(),d=v.get();e=0;Q.buffer||(Q.buffers=[null,[],[]],Q.printChar=function(b,c){var e=Q.buffers[b];f(e);if(0===c||10===c){b=1===b?a.print:a.printErr;a:{for(var l=c=0;e[l];)++l;if(16<l-c&&e.subarray&&Ua)c=Ua.decode(e.subarray(c,l));else for(l="";;){var d=e[c++];if(!d){c=l;break a}if(d&128){var g=e[c++]&63;if(192==(d&224))l+=String.fromCharCode((d&31)<<6|g);else{var h=e[c++]& +63;if(224==(d&240))d=(d&15)<<12|g<<6|h;else{var E=e[c++]&63;if(240==(d&248))d=(d&7)<<18|g<<12|h<<6|E;else{var k=e[c++]&63;if(248==(d&252))d=(d&3)<<24|g<<18|h<<12|E<<6|k;else{var ta=e[c++]&63;d=(d&1)<<30|g<<24|h<<18|E<<12|k<<6|ta}}}65536>d?l+=String.fromCharCode(d):(d-=65536,l+=String.fromCharCode(55296|d>>10,56320|d&1023))}}else l+=String.fromCharCode(d)}}b(c);e.length=0}else e.push(c)});for(b=0;b<d;b++){for(var h=x[l+8*b>>2],g=x[l+(8*b+4)>>2],k=0;k<g;k++)Q.printChar(c,T[h+k]);e+=g}return e}catch(Ca){return"undefined"!== +typeof FS&&Ca instanceof FS.ErrnoError||W(Ca),-Ca.errno}}function ra(e,b){ra.seen||(ra.seen={});e in ra.seen||(a.dynCall_v(b),ra.seen[e]=1)}function ea(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}function Da(e){function b(){if(!a.calledRun&&(a.calledRun=!0,!ua)){Va||(Va=!0,u(Wa));u(Xa);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)Ya.unshift(a.postRun.shift()); +u(Ya)}}null===Za&&(Za=Date.now());if(!(0<ha)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)$a.unshift(a.preRun.shift());u($a);0<ha||a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1);b()},1)):b())}}function W(e){if(a.onAbort)a.onAbort(e);void 0!==e?(a.print(e),a.printErr(e),e=JSON.stringify(e)):e="";ua=!0;var b="abort("+e+") at "+g()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information."; +ab&&ab.forEach(function(a){b=a(b,e)});throw b;}function p(){}function t(a){return(a||p).__cache__}function X(a,b){var c=t(b),e=c[a];if(e)return e;e=Object.create((b||p).prototype);e.ptr=a;return c[a]=e}function Y(a){if("string"===typeof a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:2097151>=e?b+4:67108863>=e?b+5:b+6}b=Array(b+1);c=0;e=b.length;if(0<e){e=c+e-1;for(var d=0;d<a.length;++d){var f= +a.charCodeAt(d);55296<=f&&57343>=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++d)&1023);if(127>=f){if(c>=e)break;b[c++]=f}else{if(2047>=f){if(c+1>=e)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=e)break;b[c++]=224|f>>12}else{if(2097151>=f){if(c+3>=e)break;b[c++]=240|f>>18}else{if(67108863>=f){if(c+4>=e)break;b[c++]=248|f>>24}else{if(c+5>=e)break;b[c++]=252|f>>30;b[c++]=128|f>>24&63}b[c++]=128|f>>18&63}b[c++]=128|f>>12&63}b[c++]=128|f>>6&63}b[c++]=128|f&63}}b[c]=0}a=k.alloc(b,fa);k.copy(b,fa,a)}return a} +function B(){throw"cannot construct a Status, no constructor in IDL";}function G(){this.ptr=lb();t(G)[this.ptr]=this}function H(){this.ptr=mb();t(H)[this.ptr]=this}function I(){this.ptr=nb();t(I)[this.ptr]=this}function J(){this.ptr=ob();t(J)[this.ptr]=this}function K(){this.ptr=pb();t(K)[this.ptr]=this}function q(){this.ptr=qb();t(q)[this.ptr]=this}function P(){this.ptr=rb();t(P)[this.ptr]=this}function z(){this.ptr=sb();t(z)[this.ptr]=this}function L(){this.ptr=tb();t(L)[this.ptr]=this}function r(){this.ptr= +ub();t(r)[this.ptr]=this}function M(){this.ptr=vb();t(M)[this.ptr]=this}function N(){this.ptr=wb();t(N)[this.ptr]=this}function Z(){this.ptr=xb();t(Z)[this.ptr]=this}function R(){this.ptr=yb();t(R)[this.ptr]=this}function h(){this.ptr=zb();t(h)[this.ptr]=this}function C(){this.ptr=Ab();t(C)[this.ptr]=this}function ca(){throw"cannot construct a VoidPtr, no constructor in IDL";}function O(){this.ptr=Bb();t(O)[this.ptr]=this}function S(){this.ptr=Cb();t(S)[this.ptr]=this}var a=d=d||{},bb=!1,cb=!1;a.onRuntimeInitialized= +function(){bb=!0;if(cb&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){cb=!0;if(bb&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3<a.length?!1:1==a[0]&&0<=a[1]&&3>=a[1]?!0:0!=a[0]||10<a[1]?!1:!0};a||(a=("undefined"!==typeof d?d:null)||{});var va={},da;for(da in a)a.hasOwnProperty(da)&&(va[da]=a[da]);var oa=!1,ka=!1,pa=!1,wa=!1;if(a.ENVIRONMENT)if("WEB"=== +a.ENVIRONMENT)oa=!0;else if("WORKER"===a.ENVIRONMENT)ka=!0;else if("NODE"===a.ENVIRONMENT)pa=!0;else if("SHELL"===a.ENVIRONMENT)wa=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else oa="object"===typeof window,ka="function"===typeof importScripts,pa="object"===typeof process&&"function"===typeof require&&!oa&&!ka,wa=!oa&&!pa&&!ka;if(pa){a.print||(a.print=console.log);a.printErr||(a.printErr=console.warn);var Ea,Fa;a.read=function(a, +b){Ea||(Ea=require("fs"));Fa||(Fa=require("path"));a=Fa.normalize(a);a=Ea.readFileSync(a);return b?a:a.toString()};a.readBinary=function(e){e=a.read(e,!0);e.buffer||(e=new Uint8Array(e));f(e.buffer);return e};a.thisProgram||(a.thisProgram=1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program");a.arguments=process.argv.slice(2);process.on("uncaughtException",function(a){if(!(a instanceof ea))throw a;});a.inspect=function(){return"[Emscripten Module object]"}}else if(wa)a.print|| +(a.print=print),"undefined"!=typeof printErr&&(a.printErr=printErr),a.read="undefined"!=typeof read?function(a){return read(a)}:function(){throw"no read() available";},a.readBinary=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");f("object"===typeof a);return a},"undefined"!=typeof scriptArgs?a.arguments=scriptArgs:"undefined"!=typeof arguments&&(a.arguments=arguments),"function"===typeof quit&&(a.quit=function(a,b){quit(a)});else if(oa||ka)a.read= +function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},ka&&(a.readBinary=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),a.readAsync=function(a,b,c){var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=function(){200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)},"undefined"!=typeof arguments&&(a.arguments=arguments), +"undefined"!==typeof console?(a.print||(a.print=function(a){console.log(a)}),a.printErr||(a.printErr=function(a){console.warn(a)})):a.print||(a.print=function(a){}),"undefined"===typeof a.setWindowTitle&&(a.setWindowTitle=function(a){document.title=a});else throw Error("Unknown runtime environment. Where are we?");a.print||(a.print=function(){});a.printErr||(a.printErr=a.print);a.arguments||(a.arguments=[]);a.thisProgram||(a.thisProgram="./this.program");a.quit||(a.quit=function(a,b){throw b;});a.print= +a.print;a.printErr=a.printErr;a.preRun=[];a.postRun=[];for(da in va)va.hasOwnProperty(da)&&(a[da]=va[da]);va=void 0;var m={setTempRet0:function(a){return tempRet0=a},getTempRet0:function(){return tempRet0},stackSave:function(){return U},stackRestore:function(a){U=a},getNativeTypeSize:function(a){switch(a){case "i1":case "i8":return 1;case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;case "double":return 8;default:return"*"===a[a.length-1]?m.QUANTUM_SIZE:"i"===a[0]? +(a=parseInt(a.substr(1)),f(0===a%8),a/8):0}},getNativeFieldSize:function(a){return Math.max(m.getNativeTypeSize(a),m.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(a,b){"double"===b||"i64"===b?a&7&&(f(4===(a&7)),a+=4):f(0===(a&3));return a},getAlignSize:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?m.getNativeFieldSize(a):0),m.QUANTUM_SIZE):Math.min(b,8):8},dynCall:function(e,b,c){return c&&c.length?a["dynCall_"+e].apply(null,[b].concat(c)):a["dynCall_"+e].call(null,b)},functionPointers:[], +addFunction:function(a){for(var b=0;b<m.functionPointers.length;b++)if(!m.functionPointers[b])return m.functionPointers[b]=a,2*(1+b);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";},removeFunction:function(a){m.functionPointers[(a-2)/2]=null},warnOnce:function(e){m.warnOnce.shown||(m.warnOnce.shown={});m.warnOnce.shown[e]||(m.warnOnce.shown[e]=1,a.printErr(e))},funcWrappers:{},getFuncWrapper:function(a,b){if(a){f(b);m.funcWrappers[b]||(m.funcWrappers[b]= +{});var c=m.funcWrappers[b];c[a]||(c[a]=1===b.length?function(){return m.dynCall(b,a)}:2===b.length?function(c){return m.dynCall(b,a,[c])}:function(){return m.dynCall(b,a,Array.prototype.slice.call(arguments))});return c[a]}},getCompilerSetting:function(a){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work";},stackAlloc:function(a){var b=U;U=U+a|0;U=U+15&-16;return b},staticAlloc:function(a){var b=aa;aa=aa+a|0;aa=aa+15& +-16;return b},dynamicAlloc:function(a){var b=x[ba>>2];a=(b+a+15|0)&-16;x[ba>>2]=a;return a>=y&&!Ma()?(x[ba>>2]=b,0):b},alignMemory:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},makeBigInt:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0},ua=0,Ua="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var Aa=65536,Sa=16777216,ib=16777216,fa,T,za, +Oa,x,Pa,Qa,Ra,aa,Ga,U,xa,Ha,ba;var Ia=aa=Ga=U=xa=Ha=ba=0;a.reallocBuffer||(a.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)var b=ArrayBuffer.transfer(F,a);else{var c=fa;b=new ArrayBuffer(a);(new Int8Array(b)).set(c)}}catch(l){return!1}return Db(b)?b:!1});try{var Ja=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);Ja(new ArrayBuffer(4))}catch(e){Ja=function(a){return a.byteLength}}var Ka=a.TOTAL_STACK||5242880,y=a.TOTAL_MEMORY||16777216; +y<Ka&&a.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+y+"! (TOTAL_STACK="+Ka+")");if(a.buffer)var F=a.buffer;else"object"===typeof WebAssembly&&"function"===typeof WebAssembly.Memory?(a.wasmMemory=new WebAssembly.Memory({initial:y/Aa}),F=a.wasmMemory.buffer):F=new ArrayBuffer(y);D();x[0]=1668509029;za[1]=25459;if(115!==T[2]||99!==T[3])throw"Runtime error: expected the system to be little-endian!";a.HEAP=void 0;a.buffer=F;a.HEAP8=fa;a.HEAP16=za;a.HEAP32=x;a.HEAPU8=T;a.HEAPU16=Oa; +a.HEAPU32=Pa;a.HEAPF32=Qa;a.HEAPF64=Ra;var $a=[],Wa=[],Xa=[],db=[],Ya=[],Va=!1;f(Math.imul&&Math.fround&&Math.clz32&&Math.trunc,"this is a legacy browser, build with LEGACY_VM_SUPPORT");var ha=0,Ba=null,sa=null;a.preloadedImages={};a.preloadedAudios={};var V=null;(function(){function e(){try{if(a.wasmBinary)return new Uint8Array(a.wasmBinary);if(a.readBinary)return a.readBinary(d);throw"on the web, we need the wasm binary to be preloaded and set on Module['wasmBinary']. emcc.py will do that for you when generating HTML (but not JS)"; +}catch(jb){W(jb)}}function b(){return a.wasmBinary||!oa&&!ka||"function"!==typeof fetch?new Promise(function(a,b){a(e())}):fetch(d,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+d+"'";return a.arrayBuffer()}).catch(function(){return e()})}function c(c,e,l){function f(b,c){h=b.exports;if(h.memory){b=h.memory;c=a.buffer;b.byteLength<c.byteLength&&a.printErr("the new buffer in mergeMemory is smaller than the previous one. in native wasm, we should grow memory here"); +c=new Int8Array(c);var e=new Int8Array(b);V||c.set(e.subarray(a.STATIC_BASE,a.STATIC_BASE+a.STATIC_BUMP),a.STATIC_BASE);e.set(c);a.buffer=F=b;D()}a.asm=h;a.usingWasm=!0;Na("wasm-instantiate")}function E(a){f(a.instance,a.module)}function k(c){b().then(function(a){return WebAssembly.instantiate(a,g)}).then(c).catch(function(b){a.printErr("failed to asynchronously prepare wasm: "+b);W(b)})}if("object"!==typeof WebAssembly)return a.printErr("no native wasm support detected"),!1;if(!(a.wasmMemory instanceof +WebAssembly.Memory))return a.printErr("no native wasm Memory in use"),!1;e.memory=a.wasmMemory;g.global={NaN:NaN,Infinity:Infinity};g["global.Math"]=c.Math;g.env=e;la("wasm-instantiate");if(a.instantiateWasm)try{return a.instantiateWasm(g,f)}catch(kb){return a.printErr("Module.instantiateWasm callback failed with error: "+kb),!1}a.wasmBinary||"function"!==typeof WebAssembly.instantiateStreaming||0===d.indexOf("data:")||"function"!==typeof fetch?k(E):WebAssembly.instantiateStreaming(fetch(d,{credentials:"same-origin"}), +g).then(E).catch(function(b){a.printErr("wasm streaming compile failed: "+b);a.printErr("falling back to ArrayBuffer instantiation");k(E)});return{}}var d="draco_decoder.wasm",f="draco_decoder.temp.asm.js";"function"===typeof a.locateFile&&(a.locateFile("draco_decoder.wast"),d=a.locateFile(d),f=a.locateFile(f));var g={global:null,env:null,asm2wasm:{"f64-rem":function(a,b){return a%b},"debugger":function(){debugger}},parent:a},h=null;a.asmPreload=a.asm;var k=a.reallocBuffer;a.reallocBuffer=function(b){if("asmjs"=== +m)var c=k(b);else a:{b=ma(b,a.usingWasm?Aa:Sa);var e=a.buffer.byteLength;if(a.usingWasm)try{c=-1!==a.wasmMemory.grow((b-e)/65536)?a.buffer=a.wasmMemory.buffer:null;break a}catch(Jd){c=null;break a}c=void 0}return c};var m="";a.asm=function(b,e,d){if(!e.table){var l=a.wasmTableSize;void 0===l&&(l=1024);var f=a.wasmMaxTableSize;e.table="object"===typeof WebAssembly&&"function"===typeof WebAssembly.Table?void 0!==f?new WebAssembly.Table({initial:l,maximum:f,element:"anyfunc"}):new WebAssembly.Table({initial:l, +element:"anyfunc"}):Array(l);a.wasmTable=e.table}e.memoryBase||(e.memoryBase=a.STATIC_BASE);e.tableBase||(e.tableBase=0);(b=c(b,e,d))||W("no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods");return b}})();Ia=m.GLOBAL_BASE;aa=Ia+19104;Wa.push();V=null;a.STATIC_BASE=Ia;a.STATIC_BUMP=19104;var Eb=aa;aa+=16;var A={last:0,caught:[],infos:{},deAdjust:function(a){if(!a||A.infos[a])return a; +for(var b in A.infos)if(A.infos[b].adjusted===a)return b;return a},addRef:function(a){a&&A.infos[a].refcount++},decRef:function(e){if(e){var b=A.infos[e];f(0<b.refcount);b.refcount--;0!==b.refcount||b.rethrown||(b.destructor&&a.dynCall_vi(b.destructor,e),delete A.infos[e],___cxa_free_exception(e))}},clearRef:function(a){a&&(A.infos[a].refcount=0)}},v={varargs:0,get:function(a){v.varargs+=4;return x[v.varargs-4>>2]},getStr:function(){return n(v.get())},get64:function(){var a=v.get(),b=v.get();0<=a? +f(0===b):f(-1===b);return a},getZero:function(){f(0===v.get())}},ya={},La=1;db.push(function(){var e=a._fflush;e&&e(0);if(e=Q.printChar){var b=Q.buffers;b[1].length&&e(1,10);b[2].length&&e(2,10)}});ba=m.staticAlloc(4);Ga=U=m.alignMemory(aa);xa=Ga+Ka;Ha=m.alignMemory(xa);x[ba>>2]=Ha;a.wasmTableSize=492;a.wasmMaxTableSize=492;a.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array, +Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ja};a.asmLibraryArg={abort:W,assert:f,enlargeMemory:Ma,getTotalMemory:function(){return y},abortOnCannotGrowMemory:function(){W("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+y+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}, +invoke_ii:function(e,b){try{return a.dynCall_ii(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_iii:function(e,b,c){try{return a.dynCall_iii(e,b,c)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_iiii:function(e,b,c,d){try{return a.dynCall_iiii(e,b,c,d)}catch(E){if("number"!==typeof E&&"longjmp"!==E)throw E;a.setThrew(1,0)}},invoke_iiiiiii:function(e,b,c,d,f,g,h){try{return a.dynCall_iiiiiii(e,b,c,d,f,g,h)}catch(ja){if("number"!== +typeof ja&&"longjmp"!==ja)throw ja;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vi:function(e,b){try{a.dynCall_vi(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vii:function(e,b,c){try{a.dynCall_vii(e,b,c)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_viii:function(e,b,c,d){try{a.dynCall_viii(e,b,c,d)}catch(E){if("number"!==typeof E&& +"longjmp"!==E)throw E;a.setThrew(1,0)}},invoke_viiii:function(e,b,c,d,f){try{a.dynCall_viiii(e,b,c,d,f)}catch(ta){if("number"!==typeof ta&&"longjmp"!==ta)throw ta;a.setThrew(1,0)}},invoke_viiiii:function(e,b,c,d,f,g){try{a.dynCall_viiiii(e,b,c,d,f,g)}catch(ia){if("number"!==typeof ia&&"longjmp"!==ia)throw ia;a.setThrew(1,0)}},invoke_viiiiii:function(e,b,c,d,f,g,h){try{a.dynCall_viiiiii(e,b,c,d,f,g,h)}catch(ja){if("number"!==typeof ja&&"longjmp"!==ja)throw ja;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:na, +___cxa_allocate_exception:function(a){return Ta(a)},___cxa_begin_catch:function(a){var b=A.infos[a];b&&!b.caught&&(b.caught=!0,na.uncaught_exception--);b&&(b.rethrown=!1);A.caught.push(a);A.addRef(A.deAdjust(a));return a},___cxa_find_matching_catch:qa,___cxa_pure_virtual:function(){ua=!0;throw"Pure virtual function called!";},___cxa_throw:function(a,b,c){A.infos[a]={ptr:a,adjusted:a,type:b,destructor:c,refcount:0,caught:!1,rethrown:!1};A.last=a;"uncaught_exception"in na?na.uncaught_exception++:na.uncaught_exception= +1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){A.last||(A.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___setErrNo:function(e){a.___errno_location&&(x[a.___errno_location()>>2]=e);return e}, +___syscall140:function(a,b){v.varargs=b;try{var c=v.getStreamFromFD();v.get();var e=v.get(),d=v.get(),f=v.get();FS.llseek(c,e,f);x[d>>2]=c.position;c.getdents&&0===e&&0===f&&(c.getdents=null);return 0}catch(ia){return"undefined"!==typeof FS&&ia instanceof FS.ErrnoError||W(ia),-ia.errno}},___syscall146:Q,___syscall54:function(a,b){v.varargs=b;return 0},___syscall6:function(a,b){v.varargs=b;try{var c=v.getStreamFromFD();FS.close(c);return 0}catch(l){return"undefined"!==typeof FS&&l instanceof FS.ErrnoError|| +W(l),-l.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,b,c){T.set(T.subarray(b,b+c),a);return a},_pthread_getspecific:function(a){return ya[a]||0},_pthread_key_create:function(a,b){if(0==a)return 22;x[a>>2]=La;ya[La]=0;La++;return 0},_pthread_once:ra,_pthread_setspecific:function(a,b){if(!(a in ya))return 22;ya[a]=b;return 0},DYNAMICTOP_PTR:ba,tempDoublePtr:Eb,ABORT:ua,STACKTOP:U,STACK_MAX:xa};var eb=a.asm(a.asmGlobalArg,a.asmLibraryArg,F);a.asm=eb;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null, +arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var pb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},Fb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)}, +Gb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},Hb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},sb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null, +arguments)},Ib=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},Jb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)},Kb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null, +arguments)},Lb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},Mb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},rb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null, +arguments)},Nb=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Ob=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},yb=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Pb=a._emscripten_bind_DecoderBuffer_Init_2= +function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Qb=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Rb=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,arguments)},Sb=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null, +arguments)},zb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetAttributeFloat_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Wb=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},Yb=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null, +arguments)},Zb=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)},$b=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},ac=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)}, +bc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},cc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},dc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null,arguments)},ec=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},fc=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},gc=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},hc=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null, +arguments)},ic=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},jc=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},kc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},lc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null, +arguments)},mc=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},wb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},nc=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},oc=a._emscripten_bind_DracoFloat32Array___destroy___0= +function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},pc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},vb=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm._emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null,arguments)},qc=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt16Array_GetValue_1.apply(null, +arguments)},rc=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},sc=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},Bb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null,arguments)},tc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null, +arguments)},uc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},vc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},tb=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm._emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null,arguments)},wc=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt8Array_GetValue_1.apply(null, +arguments)},xc=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt8Array___destroy___0.apply(null,arguments)},yc=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},lb=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null,arguments)},zc=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt16Array_GetValue_1.apply(null, +arguments)},Ac=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},Bc=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},ob=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null,arguments)},Cc=a._emscripten_bind_DracoUInt32Array_GetValue_1= +function(){return a.asm._emscripten_bind_DracoUInt32Array_GetValue_1.apply(null,arguments)},Dc=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},Ec=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},nb=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, +arguments)},Fc=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt8Array_GetValue_1.apply(null,arguments)},Gc=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},Hc=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},xb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, +arguments)},Ic=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},Ab=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},Jc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},Kc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, +arguments)},Lc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},Mc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},Nc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},Oc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, +arguments)},Pc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Qc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},Rc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},Sc=a._emscripten_bind_MetadataQuerier_HasEntry_2= +function(){return a.asm._emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Tc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Uc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},ub=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, +arguments)},Vc=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm._emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,arguments)},Wc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},Cb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Xc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null, +arguments)},Yc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},qb=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Zc=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},$c=a._emscripten_bind_PointAttribute_attribute_type_0= +function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},ad=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},bd=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},cd=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null, +arguments)},dd=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},ed=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},fd=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},gd=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null, +arguments)},mb=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},hd=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},id=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},jd=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null, +arguments)},kd=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},ld=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},md=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},nd=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},od=a._emscripten_bind_VoidPtr___destroy___0= +function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},pd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},qd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},rd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM= +function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},sd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},td=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, +arguments)},ud=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},vd=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},wd=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},xd= +a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},yd=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},zd=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},Ad=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION= +function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Bd=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},Cd=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},Dd=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, +arguments)},Ed=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},Fd=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},Gd=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},Hd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, +arguments)};a._emscripten_get_global_libc=function(){return a.asm._emscripten_get_global_libc.apply(null,arguments)};var Db=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)};var Ta=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)}; +a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null,arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)}; +a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)}; +a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null, +arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};m.stackAlloc=a.stackAlloc;m.stackSave=a.stackSave;m.stackRestore=a.stackRestore;m.establishStackSpace=a.establishStackSpace;m.setTempRet0=a.setTempRet0;m.getTempRet0=a.getTempRet0;a.asm=eb;if(V)if("function"===typeof a.locateFile?V=a.locateFile(V):a.memoryInitializerPrefixURL&&(V=a.memoryInitializerPrefixURL+V),pa||wa){var Id=a.readBinary(V);T.set(Id,m.GLOBAL_BASE)}else{var gb=function(){a.readAsync(V,fb, +function(){throw"could not load memory initializer "+V;})};la("memory initializer");var fb=function(d){d.byteLength&&(d=new Uint8Array(d));T.set(d,m.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;Na("memory initializer")};if(a.memoryInitializerRequest){var hb=function(){var d=a.memoryInitializerRequest,b=d.response;200!==d.status&&0!==d.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+d.status+", retrying "+ +V),gb()):fb(b)};a.memoryInitializerRequest.response?setTimeout(hb,0):a.memoryInitializerRequest.addEventListener("load",hb)}else gb()}a.then=function(d){if(a.calledRun)d(a);else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();d(a)}}return a};ea.prototype=Error();ea.prototype.constructor=ea;var Za=null;sa=function b(){a.calledRun||Da();a.calledRun||(sa=b)};a.run=Da;a.exit=function(b,c){if(!c||!a.noExitRuntime){if(!a.noExitRuntime&&(ua=!0,U=void 0,u(db),a.onExit))a.onExit(b);pa&& +process.exit(b);a.quit(b,new ea(b))}};var ab=[];a.abort=W;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();Da();p.prototype=Object.create(p.prototype);p.prototype.constructor=p;p.prototype.__class__=p;p.__cache__={};a.WrapperObject=p;a.getCache=t;a.wrapPointer=X;a.castObject=function(a,c){return X(a.ptr,c)};a.NULL=X(0);a.destroy=function(a){if(!a.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";a.__destroy__(); +delete t(a.__class__)[a.ptr]};a.compare=function(a,c){return a.ptr===c.ptr};a.getPointer=function(a){return a.ptr};a.getClass=function(a){return a.__class__};var k={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(k.needed){for(var b=0;b<k.temps.length;b++)a._free(k.temps[b]);k.temps.length=0;a._free(k.buffer);k.buffer=0;k.size+=k.needed;k.needed=0}k.buffer||(k.size+=128,k.buffer=a._malloc(k.size),f(k.buffer));k.pos=0},alloc:function(b,c){f(k.buffer);b=b.length*c.BYTES_PER_ELEMENT;b= +b+7&-8;k.pos+b>=k.size?(f(0<b),k.needed+=b,c=a._malloc(b),k.temps.push(c)):(c=k.buffer+k.pos,k.pos+=b);return c},copy:function(a,c,d){switch(c.BYTES_PER_ELEMENT){case 2:d>>=1;break;case 4:d>>=2;break;case 8:d>>=3}for(var b=0;b<a.length;b++)c[d+b]=a[b]}};B.prototype=Object.create(p.prototype);B.prototype.constructor=B;B.prototype.__class__=B;B.__cache__={};a.Status=B;B.prototype.code=B.prototype.code=function(){return ld(this.ptr)};B.prototype.ok=B.prototype.ok=function(){return!!nd(this.ptr)};B.prototype.error_msg= +B.prototype.error_msg=function(){return n(md(this.ptr))};B.prototype.__destroy__=B.prototype.__destroy__=function(){kd(this.ptr)};G.prototype=Object.create(p.prototype);G.prototype.constructor=G;G.prototype.__class__=G;G.__cache__={};a.DracoUInt16Array=G;G.prototype.GetValue=G.prototype.GetValue=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return zc(b,a)};G.prototype.size=G.prototype.size=function(){return Bc(this.ptr)};G.prototype.__destroy__=G.prototype.__destroy__=function(){Ac(this.ptr)}; +H.prototype=Object.create(p.prototype);H.prototype.constructor=H;H.prototype.__class__=H;H.__cache__={};a.PointCloud=H;H.prototype.num_attributes=H.prototype.num_attributes=function(){return id(this.ptr)};H.prototype.num_points=H.prototype.num_points=function(){return jd(this.ptr)};H.prototype.__destroy__=H.prototype.__destroy__=function(){hd(this.ptr)};I.prototype=Object.create(p.prototype);I.prototype.constructor=I;I.prototype.__class__=I;I.__cache__={};a.DracoUInt8Array=I;I.prototype.GetValue= +I.prototype.GetValue=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return Fc(b,a)};I.prototype.size=I.prototype.size=function(){return Hc(this.ptr)};I.prototype.__destroy__=I.prototype.__destroy__=function(){Gc(this.ptr)};J.prototype=Object.create(p.prototype);J.prototype.constructor=J;J.prototype.__class__=J;J.__cache__={};a.DracoUInt32Array=J;J.prototype.GetValue=J.prototype.GetValue=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return Cc(b,a)};J.prototype.size=J.prototype.size= +function(){return Ec(this.ptr)};J.prototype.__destroy__=J.prototype.__destroy__=function(){Dc(this.ptr)};K.prototype=Object.create(p.prototype);K.prototype.constructor=K;K.prototype.__class__=K;K.__cache__={};a.AttributeOctahedronTransform=K;K.prototype.InitFromAttribute=K.prototype.InitFromAttribute=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return!!Fb(b,a)};K.prototype.quantization_bits=K.prototype.quantization_bits=function(){return Hb(this.ptr)};K.prototype.__destroy__=K.prototype.__destroy__= +function(){Gb(this.ptr)};q.prototype=Object.create(p.prototype);q.prototype.constructor=q;q.prototype.__class__=q;q.__cache__={};a.PointAttribute=q;q.prototype.size=q.prototype.size=function(){return fd(this.ptr)};q.prototype.GetAttributeTransformData=q.prototype.GetAttributeTransformData=function(){return X(Yc(this.ptr),P)};q.prototype.attribute_type=q.prototype.attribute_type=function(){return $c(this.ptr)};q.prototype.data_type=q.prototype.data_type=function(){return cd(this.ptr)};q.prototype.num_components= +q.prototype.num_components=function(){return ed(this.ptr)};q.prototype.normalized=q.prototype.normalized=function(){return!!dd(this.ptr)};q.prototype.byte_stride=q.prototype.byte_stride=function(){return bd(this.ptr)};q.prototype.byte_offset=q.prototype.byte_offset=function(){return ad(this.ptr)};q.prototype.unique_id=q.prototype.unique_id=function(){return gd(this.ptr)};q.prototype.__destroy__=q.prototype.__destroy__=function(){Zc(this.ptr)};P.prototype=Object.create(p.prototype);P.prototype.constructor= +P;P.prototype.__class__=P;P.__cache__={};a.AttributeTransformData=P;P.prototype.transform_type=P.prototype.transform_type=function(){return Ob(this.ptr)};P.prototype.__destroy__=P.prototype.__destroy__=function(){Nb(this.ptr)};z.prototype=Object.create(p.prototype);z.prototype.constructor=z;z.prototype.__class__=z;z.__cache__={};a.AttributeQuantizationTransform=z;z.prototype.InitFromAttribute=z.prototype.InitFromAttribute=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return!!Ib(b,a)}; +z.prototype.quantization_bits=z.prototype.quantization_bits=function(){return Lb(this.ptr)};z.prototype.min_value=z.prototype.min_value=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return Kb(b,a)};z.prototype.range=z.prototype.range=function(){return Mb(this.ptr)};z.prototype.__destroy__=z.prototype.__destroy__=function(){Jb(this.ptr)};L.prototype=Object.create(p.prototype);L.prototype.constructor=L;L.prototype.__class__=L;L.__cache__={};a.DracoInt8Array=L;L.prototype.GetValue=L.prototype.GetValue= +function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return wc(b,a)};L.prototype.size=L.prototype.size=function(){return yc(this.ptr)};L.prototype.__destroy__=L.prototype.__destroy__=function(){xc(this.ptr)};r.prototype=Object.create(p.prototype);r.prototype.constructor=r;r.prototype.__class__=r;r.__cache__={};a.MetadataQuerier=r;r.prototype.HasEntry=r.prototype.HasEntry=function(a,c){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);c=c&&"object"===typeof c?c.ptr:Y(c);return!!Sc(b, +a,c)};r.prototype.HasIntEntry=r.prototype.HasIntEntry=function(a,c){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);c=c&&"object"===typeof c?c.ptr:Y(c);return!!Tc(b,a,c)};r.prototype.GetIntEntry=r.prototype.GetIntEntry=function(a,c){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);c=c&&"object"===typeof c?c.ptr:Y(c);return Pc(b,a,c)};r.prototype.HasDoubleEntry=r.prototype.HasDoubleEntry=function(a,c){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);c=c&&"object"=== +typeof c?c.ptr:Y(c);return!!Rc(b,a,c)};r.prototype.GetDoubleEntry=r.prototype.GetDoubleEntry=function(a,c){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);c=c&&"object"===typeof c?c.ptr:Y(c);return Nc(b,a,c)};r.prototype.HasStringEntry=r.prototype.HasStringEntry=function(a,c){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);c=c&&"object"===typeof c?c.ptr:Y(c);return!!Uc(b,a,c)};r.prototype.GetStringEntry=r.prototype.GetStringEntry=function(a,c){var b=this.ptr;k.prepare(); +a&&"object"===typeof a&&(a=a.ptr);c=c&&"object"===typeof c?c.ptr:Y(c);return n(Qc(b,a,c))};r.prototype.NumEntries=r.prototype.NumEntries=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return Vc(b,a)};r.prototype.GetEntryName=r.prototype.GetEntryName=function(a,c){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);return n(Oc(b,a,c))};r.prototype.__destroy__=r.prototype.__destroy__=function(){Wc(this.ptr)};M.prototype=Object.create(p.prototype);M.prototype.constructor= +M;M.prototype.__class__=M;M.__cache__={};a.DracoInt16Array=M;M.prototype.GetValue=M.prototype.GetValue=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return qc(b,a)};M.prototype.size=M.prototype.size=function(){return sc(this.ptr)};M.prototype.__destroy__=M.prototype.__destroy__=function(){rc(this.ptr)};N.prototype=Object.create(p.prototype);N.prototype.constructor=N;N.prototype.__class__=N;N.__cache__={};a.DracoFloat32Array=N;N.prototype.GetValue=N.prototype.GetValue=function(a){var b= +this.ptr;a&&"object"===typeof a&&(a=a.ptr);return nc(b,a)};N.prototype.size=N.prototype.size=function(){return pc(this.ptr)};N.prototype.__destroy__=N.prototype.__destroy__=function(){oc(this.ptr)};Z.prototype=Object.create(p.prototype);Z.prototype.constructor=Z;Z.prototype.__class__=Z;Z.__cache__={};a.GeometryAttribute=Z;Z.prototype.__destroy__=Z.prototype.__destroy__=function(){Ic(this.ptr)};R.prototype=Object.create(p.prototype);R.prototype.constructor=R;R.prototype.__class__=R;R.__cache__={}; +a.DecoderBuffer=R;R.prototype.Init=R.prototype.Init=function(a,c){var b=this.ptr;k.prepare();if("object"==typeof a&&"object"===typeof a){var d=k.alloc(a,fa);k.copy(a,fa,d);a=d}c&&"object"===typeof c&&(c=c.ptr);Pb(b,a,c)};R.prototype.__destroy__=R.prototype.__destroy__=function(){Qb(this.ptr)};h.prototype=Object.create(p.prototype);h.prototype.constructor=h;h.prototype.__class__=h;h.__cache__={};a.Decoder=h;h.prototype.GetEncodedGeometryType=h.prototype.GetEncodedGeometryType=function(a){var b=this.ptr; +a&&"object"===typeof a&&(a=a.ptr);return hc(b,a)};h.prototype.DecodeBufferToPointCloud=h.prototype.DecodeBufferToPointCloud=function(a,c){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);return X(Sb(b,a,c),B)};h.prototype.DecodeBufferToMesh=h.prototype.DecodeBufferToMesh=function(a,c){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);return X(Rb(b,a,c),B)};h.prototype.GetAttributeId=h.prototype.GetAttributeId=function(a,c){var b=this.ptr; +a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);return Yb(b,a,c)};h.prototype.GetAttributeIdByName=h.prototype.GetAttributeIdByName=function(a,c){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);c=c&&"object"===typeof c?c.ptr:Y(c);return Xb(b,a,c)};h.prototype.GetAttributeIdByMetadataEntry=h.prototype.GetAttributeIdByMetadataEntry=function(a,c,d){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);c=c&&"object"===typeof c?c.ptr:Y(c);d=d&&"object"===typeof d? +d.ptr:Y(d);return Wb(b,a,c,d)};h.prototype.GetAttribute=h.prototype.GetAttribute=function(a,c){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);return X(gc(b,a,c),q)};h.prototype.GetAttributeByUniqueId=h.prototype.GetAttributeByUniqueId=function(a,c){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);return X(Tb(b,a,c),q)};h.prototype.GetMetadata=h.prototype.GetMetadata=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return X(jc(b, +a),S)};h.prototype.GetAttributeMetadata=h.prototype.GetAttributeMetadata=function(a,c){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);return X(cc(b,a,c),S)};h.prototype.GetFaceFromMesh=h.prototype.GetFaceFromMesh=function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!ic(b,a,c,d)};h.prototype.GetTriangleStripsFromMesh=h.prototype.GetTriangleStripsFromMesh=function(a,c){var b=this.ptr; +a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);return kc(b,a,c)};h.prototype.GetAttributeFloat=h.prototype.GetAttributeFloat=function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!Vb(b,a,c,d)};h.prototype.GetAttributeFloatForAllPoints=h.prototype.GetAttributeFloatForAllPoints=function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&& +(d=d.ptr);return!!Ub(b,a,c,d)};h.prototype.GetAttributeIntForAllPoints=h.prototype.GetAttributeIntForAllPoints=function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!bc(b,a,c,d)};h.prototype.GetAttributeInt8ForAllPoints=h.prototype.GetAttributeInt8ForAllPoints=function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!ac(b,a,c,d)}; +h.prototype.GetAttributeUInt8ForAllPoints=h.prototype.GetAttributeUInt8ForAllPoints=function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!fc(b,a,c,d)};h.prototype.GetAttributeInt16ForAllPoints=h.prototype.GetAttributeInt16ForAllPoints=function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!Zb(b,a,c,d)};h.prototype.GetAttributeUInt16ForAllPoints= +h.prototype.GetAttributeUInt16ForAllPoints=function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!dc(b,a,c,d)};h.prototype.GetAttributeInt32ForAllPoints=h.prototype.GetAttributeInt32ForAllPoints=function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!$b(b,a,c,d)};h.prototype.GetAttributeUInt32ForAllPoints=h.prototype.GetAttributeUInt32ForAllPoints= +function(a,c,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);d&&"object"===typeof d&&(d=d.ptr);return!!ec(b,a,c,d)};h.prototype.SkipAttributeTransform=h.prototype.SkipAttributeTransform=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);lc(b,a)};h.prototype.__destroy__=h.prototype.__destroy__=function(){mc(this.ptr)};C.prototype=Object.create(p.prototype);C.prototype.constructor=C;C.prototype.__class__=C;C.__cache__={};a.Mesh=C;C.prototype.num_faces= +C.prototype.num_faces=function(){return Lc(this.ptr)};C.prototype.num_attributes=C.prototype.num_attributes=function(){return Kc(this.ptr)};C.prototype.num_points=C.prototype.num_points=function(){return Mc(this.ptr)};C.prototype.__destroy__=C.prototype.__destroy__=function(){Jc(this.ptr)};ca.prototype=Object.create(p.prototype);ca.prototype.constructor=ca;ca.prototype.__class__=ca;ca.__cache__={};a.VoidPtr=ca;ca.prototype.__destroy__=ca.prototype.__destroy__=function(){od(this.ptr)};O.prototype= +Object.create(p.prototype);O.prototype.constructor=O;O.prototype.__class__=O;O.__cache__={};a.DracoInt32Array=O;O.prototype.GetValue=O.prototype.GetValue=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return tc(b,a)};O.prototype.size=O.prototype.size=function(){return vc(this.ptr)};O.prototype.__destroy__=O.prototype.__destroy__=function(){uc(this.ptr)};S.prototype=Object.create(p.prototype);S.prototype.constructor=S;S.prototype.__class__=S;S.__cache__={};a.Metadata=S;S.prototype.__destroy__= +S.prototype.__destroy__=function(){Xc(this.ptr)};(function(){function b(){a.OK=Fd();a.ERROR=Cd();a.IO_ERROR=Ed();a.INVALID_PARAMETER=Dd();a.UNSUPPORTED_VERSION=Hd();a.UNKNOWN_VERSION=Gd();a.INVALID_GEOMETRY_TYPE=td();a.POINT_CLOUD=ud();a.TRIANGULAR_MESH=vd();a.ATTRIBUTE_INVALID_TRANSFORM=pd();a.ATTRIBUTE_NO_TRANSFORM=qd();a.ATTRIBUTE_QUANTIZATION_TRANSFORM=sd();a.ATTRIBUTE_OCTAHEDRON_TRANSFORM=rd();a.INVALID=yd();a.POSITION=Ad();a.NORMAL=zd();a.COLOR=wd();a.TEX_COORD=Bd();a.GENERIC=xd()}a.calledRun? +b():Xa.unshift(b)})();if("function"===typeof a.onModuleParsed)a.onModuleParsed();return d};"object"===typeof module&&module.exports&&(module.exports=DracoDecoderModule); diff --git a/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/inflate.js b/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/inflate.js new file mode 100644 index 000000000..9bc0bceff --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/ThirdParty/Workers/inflate.js @@ -0,0 +1 @@ +!function(t){var L=0,P=1,j=-2,q=-3,u=-4,B=-5,C=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],F=1440,a=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],r=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],x=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],c=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],v=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],D=15;function G(){var s,f,E,S,U,z;function o(i,t,e,n,a,r,_,l,d,s,f){for(var o,b,u,x,w,c,v,h,k,m,y,g,p,A=0,I=e;E[i[t+A]]++,A++,I--,0!==I;);if(E[0]==e)return _[0]=-1,l[0]=0,L;for(v=l[0],w=1;w<=D&&0===E[w];w++);for(v<(c=w)&&(v=w),I=D;0!==I&&0===E[I];I--);for((u=I)<v&&(v=I),l[0]=v,g=1<<w;w<I;w++,g<<=1)if((g-=E[w])<0)return q;if((g-=E[I])<0)return q;for(E[I]+=g,z[1]=w=0,A=1,y=2;0!=--I;)z[y]=w+=E[A],y++,A++;for(I=0,A=0;0!==(w=i[t+A])&&(f[z[w]++]=I),A++,++I<e;);for(e=z[u],z[0]=I=0,x=-1,m=-v,p=k=U[A=0]=0;c<=u;c++)for(o=E[c];0!=o--;){for(;m+v<c;){if(x++,m+=v,p=u-m,p=v<p?v:p,(b=1<<(w=c-m))>o+1&&(b-=o+1,y=c,w<p))for(;++w<p&&!((b<<=1)<=E[++y]);)b-=E[y];if(p=1<<w,s[0]+p>F)return q;U[x]=k=s[0],s[0]+=p,0!==x?(z[x]=I,S[0]=w,w=I>>>m-(S[1]=v),S[2]=k-U[x-1]-w,d.set(S,3*(U[x-1]+w))):_[0]=k}for(S[1]=c-m,e<=A?S[0]=192:f[A]<n?(S[0]=f[A]<256?0:96,S[2]=f[A++]):(S[0]=r[f[A]-n]+16+64,S[2]=a[f[A++]-n]),b=1<<c-m,w=I>>>m;w<p;w+=b)d.set(S,3*(k+w));for(w=1<<c-1;0!=(I&w);w>>>=1)I^=w;for(I^=w,h=(1<<m)-1;(I&h)!=z[x];)x--,h=(1<<(m-=v))-1}return 0!==g&&1!=u?B:L}function b(i){var t;for(s||(s=[],f=[],E=new Int32Array(D+1),S=[],U=new Int32Array(D),z=new Int32Array(D+1)),f.length<i&&(f=[]),t=0;t<i;t++)f[t]=0;for(t=0;t<D+1;t++)E[t]=0;for(t=0;t<3;t++)S[t]=0;U.set(E.subarray(0,D),0),z.set(E.subarray(0,D+1),0)}this.inflate_trees_bits=function(i,t,e,n,a){return b(19),(n=o(i,s[0]=0,19,19,null,null,e,t,n,s,f))==q?a.msg="oversubscribed dynamic bit lengths tree":n!=B&&0!==t[0]||(a.msg="incomplete dynamic bit lengths tree",n=q),n},this.inflate_trees_dynamic=function(i,t,e,n,a,r,_,l,d){return b(288),(r=o(e,s[0]=0,i,257,x,w,r,n,l,s,f))!=L||0===n[0]?(r==q?d.msg="oversubscribed literal/length tree":r!=u&&(d.msg="incomplete literal/length tree",r=q),r):(b(288),(r=o(e,i,t,0,c,v,_,a,l,s,f))!=L||0===a[0]&&257<i?(r==q?d.msg="oversubscribed distance tree":r==B?(d.msg="incomplete distance tree",r=q):r!=u&&(d.msg="empty distance tree with lengths",r=q),r):L)}}G.inflate_trees_fixed=function(i,t,e,n){return i[0]=9,t[0]=5,e[0]=a,n[0]=r,L};var S=0,U=1,z=2,M=3,H=4,J=5,K=6,N=7,O=8,Q=9;function e(){var u,x,w,c,v=0,h=0,k=0,m=0,y=0,g=0,p=0,A=0,I=0,E=0;this.init=function(i,t,e,n,a,r){u=S,p=i,A=t,w=e,I=n,c=a,E=r,x=null},this.proc=function(i,t,e){for(var n,a,r,_,l=0,d=0,s=0,s=t.next_in_index,f=t.avail_in,l=i.bitb,d=i.bitk,o=i.write,b=o<i.read?i.read-o-1:i.end-o;;)switch(u){case S:if(258<=b&&10<=f&&(i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,e=function(i,t,e,n,a,r,_,l){var d,s,f,o,b,u,x,w,c=l.next_in_index,v=l.avail_in,h=_.bitb,k=_.bitk,m=_.write,y=m<_.read?_.read-m-1:_.end-m,g=C[i],p=C[t];do{for(;k<20;)v--,h|=(255&l.read_byte(c++))<<k,k+=8;if(0!==(o=(s=e)[w=3*((f=n)+(d=h&g))]))for(;;){if(h>>=s[w+1],k-=s[w+1],0!=(16&o)){for(o&=15,b=s[w+2]+(h&C[o]),h>>=o,k-=o;k<15;)v--,h|=(255&l.read_byte(c++))<<k,k+=8;for(d=h&p,s=a,f=r,w=3*(f+d),o=s[w];;){if(h>>=s[w+1],k-=s[w+1],0!=(16&o)){for(o&=15;k<o;)v--,h|=(255&l.read_byte(c++))<<k,k+=8;if(u=s[w+2]+(h&C[o]),h>>=o,k-=o,y-=b,u<=m)0<m-(x=m-u)&&m-x<2?(_.window[m++]=_.window[x++],_.window[m++]=_.window[x++]):(_.window.set(_.window.subarray(x,x+2),m),m+=2,x+=2),b-=2;else{for(x=m-u;x+=_.end,x<0;);if((o=_.end-x)<b){if(b-=o,0<m-x&&m-x<o)for(;_.window[m++]=_.window[x++],0!=--o;);else _.window.set(_.window.subarray(x,x+o),m),m+=o,x+=o,o=0;x=0}}if(0<m-x&&m-x<b)for(;_.window[m++]=_.window[x++],0!=--b;);else _.window.set(_.window.subarray(x,x+b),m),m+=b,x+=b,b=0;break}if(0!=(64&o))return l.msg="invalid distance code",v+=b=k>>3<(b=l.avail_in-v)?k>>3:b,c-=b,k-=b<<3,_.bitb=h,_.bitk=k,l.avail_in=v,l.total_in+=c-l.next_in_index,l.next_in_index=c,_.write=m,q;d+=s[w+2],o=s[w=3*(f+(d+=h&C[o]))]}break}if(0!=(64&o))return 0!=(32&o)?(v+=b=k>>3<(b=l.avail_in-v)?k>>3:b,c-=b,k-=b<<3,_.bitb=h,_.bitk=k,l.avail_in=v,l.total_in+=c-l.next_in_index,l.next_in_index=c,_.write=m,P):(l.msg="invalid literal/length code",v+=b=k>>3<(b=l.avail_in-v)?k>>3:b,c-=b,k-=b<<3,_.bitb=h,_.bitk=k,l.avail_in=v,l.total_in+=c-l.next_in_index,l.next_in_index=c,_.write=m,q);if(d+=s[w+2],0===(o=s[w=3*(f+(d+=h&C[o]))])){h>>=s[w+1],k-=s[w+1],_.window[m++]=s[w+2],y--;break}}else h>>=s[w+1],k-=s[w+1],_.window[m++]=s[w+2],y--}while(258<=y&&10<=v);return v+=b=k>>3<(b=l.avail_in-v)?k>>3:b,c-=b,k-=b<<3,_.bitb=h,_.bitk=k,l.avail_in=v,l.total_in+=c-l.next_in_index,l.next_in_index=c,_.write=m,L}(p,A,w,I,c,E,i,t),s=t.next_in_index,f=t.avail_in,l=i.bitb,d=i.bitk,b=(o=i.write)<i.read?i.read-o-1:i.end-o,e!=L)){u=e==P?N:Q;break}k=p,x=w,h=I,u=U;case U:for(n=k;d<n;){if(0===f)return i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);e=L,f--,l|=(255&t.read_byte(s++))<<d,d+=8}if(a=3*(h+(l&C[n])),l>>>=x[a+1],d-=x[a+1],0===(r=x[a])){m=x[a+2],u=K;break}if(0!=(16&r)){y=15&r,v=x[a+2],u=z;break}if(0==(64&r)){k=r,h=a/3+x[a+2];break}if(0==(32&r))return u=Q,t.msg="invalid literal/length code",e=q,i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);u=N;break;case z:for(n=y;d<n;){if(0===f)return i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);e=L,f--,l|=(255&t.read_byte(s++))<<d,d+=8}v+=l&C[n],l>>=n,d-=n,k=A,x=c,h=E,u=M;case M:for(n=k;d<n;){if(0===f)return i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);e=L,f--,l|=(255&t.read_byte(s++))<<d,d+=8}if(a=3*(h+(l&C[n])),l>>=x[a+1],d-=x[a+1],0!=(16&(r=x[a]))){y=15&r,g=x[a+2],u=H;break}if(0!=(64&r))return u=Q,t.msg="invalid distance code",e=q,i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);k=r,h=a/3+x[a+2];break;case H:for(n=y;d<n;){if(0===f)return i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);e=L,f--,l|=(255&t.read_byte(s++))<<d,d+=8}g+=l&C[n],l>>=n,d-=n,u=J;case J:for(_=o-g;_<0;)_+=i.end;for(;0!==v;){if(0===b&&(o==i.end&&0!==i.read&&(b=(o=0)<i.read?i.read-o-1:i.end-o),0===b&&(i.write=o,e=i.inflate_flush(t,e),b=(o=i.write)<i.read?i.read-o-1:i.end-o,o==i.end&&0!==i.read&&(b=(o=0)<i.read?i.read-o-1:i.end-o),0===b)))return i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);i.window[o++]=i.window[_++],b--,_==i.end&&(_=0),v--}u=S;break;case K:if(0===b&&(o==i.end&&0!==i.read&&(b=(o=0)<i.read?i.read-o-1:i.end-o),0===b&&(i.write=o,e=i.inflate_flush(t,e),b=(o=i.write)<i.read?i.read-o-1:i.end-o,o==i.end&&0!==i.read&&(b=(o=0)<i.read?i.read-o-1:i.end-o),0===b)))return i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);e=L,i.window[o++]=m,b--,u=S;break;case N:if(7<d&&(d-=8,f++,s--),i.write=o,e=i.inflate_flush(t,e),b=(o=i.write)<i.read?i.read-o-1:i.end-o,i.read!=i.write)return i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);u=O;case O:return e=P,i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);case Q:return e=q,i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e);default:return e=j,i.bitb=l,i.bitk=d,t.avail_in=f,t.total_in+=s-t.next_in_index,t.next_in_index=s,i.write=o,i.inflate_flush(t,e)}},this.free=function(){}}var R=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],T=0,V=1,W=2,X=3,Y=4,Z=5,$=6,ii=7,ti=8,ei=9;function n(i,t){var m,y=this,g=T,p=0,A=0,I=0,E=[0],S=[0],U=new e,z=0,D=new Int32Array(3*F),M=new G;y.bitk=0,y.bitb=0,y.window=new Uint8Array(t),y.end=t,y.read=0,y.write=0,y.reset=function(i,t){t&&(t[0]=0),g==$&&U.free(i),g=T,y.bitk=0,y.bitb=0,y.read=y.write=0},y.reset(i,null),y.inflate_flush=function(i,t){var e=i.next_out_index,n=y.read,a=(n<=y.write?y.write:y.end)-n;return a>i.avail_out&&(a=i.avail_out),0!==a&&t==B&&(t=L),i.avail_out-=a,i.total_out+=a,i.next_out.set(y.window.subarray(n,n+a),e),e+=a,(n+=a)==y.end&&(n=0,y.write==y.end&&(y.write=0),(a=y.write-n)>i.avail_out&&(a=i.avail_out),0!==a&&t==B&&(t=L),i.avail_out-=a,i.total_out+=a,i.next_out.set(y.window.subarray(n,n+a),e),e+=a,n+=a),i.next_out_index=e,y.read=n,t},y.proc=function(i,t){for(var e,n=i.next_in_index,a=i.avail_in,r=y.bitb,_=y.bitk,l=y.write,d=l<y.read?y.read-l-1:y.end-l;;)switch(g){case T:for(;_<3;){if(0===a)return y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);t=L,a--,r|=(255&i.read_byte(n++))<<_,_+=8}switch(z=1&(w=7&r),w>>>1){case 0:r>>>=3,r>>>=w=7&(_-=3),_-=w,g=V;break;case 1:var s=[],f=[],o=[[]],b=[[]];G.inflate_trees_fixed(s,f,o,b),U.init(s[0],f[0],o[0],0,b[0],0),r>>>=3,_-=3,g=$;break;case 2:r>>>=3,_-=3,g=X;break;case 3:return r>>>=3,_-=3,g=ei,i.msg="invalid block type",t=q,y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t)}break;case V:for(;_<32;){if(0===a)return y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);t=L,a--,r|=(255&i.read_byte(n++))<<_,_+=8}if((~r>>>16&65535)!=(65535&r))return g=ei,i.msg="invalid stored block lengths",t=q,y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);p=65535&r,r=_=0,g=0!==p?W:0!==z?ii:T;break;case W:if(0===a)return y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);if(0===d&&(l==y.end&&0!==y.read&&(d=(l=0)<y.read?y.read-l-1:y.end-l),0===d&&(y.write=l,t=y.inflate_flush(i,t),d=(l=y.write)<y.read?y.read-l-1:y.end-l,l==y.end&&0!==y.read&&(d=(l=0)<y.read?y.read-l-1:y.end-l),0===d)))return y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);if(t=L,a<(w=p)&&(w=a),d<w&&(w=d),y.window.set(i.read_buf(n,w),l),n+=w,a-=w,l+=w,d-=w,0!=(p-=w))break;g=0!==z?ii:T;break;case X:for(;_<14;){if(0===a)return y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);t=L,a--,r|=(255&i.read_byte(n++))<<_,_+=8}if(A=w=16383&r,29<(31&w)||29<(w>>5&31))return g=ei,i.msg="too many length or distance symbols",t=q,y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);if(w=258+(31&w)+(w>>5&31),!m||m.length<w)m=[];else for(e=0;e<w;e++)m[e]=0;r>>>=14,_-=14,I=0,g=Y;case Y:for(;I<4+(A>>>10);){for(;_<3;){if(0===a)return y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);t=L,a--,r|=(255&i.read_byte(n++))<<_,_+=8}m[R[I++]]=7&r,r>>>=3,_-=3}for(;I<19;)m[R[I++]]=0;if(E[0]=7,(w=M.inflate_trees_bits(m,E,S,D,i))!=L)return(t=w)==q&&(m=null,g=ei),y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);I=0,g=Z;case Z:for(;I<258+(31&(w=A))+(w>>5&31);){for(var u,x,w=E[0];_<w;){if(0===a)return y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);t=L,a--,r|=(255&i.read_byte(n++))<<_,_+=8}if(w=D[3*(S[0]+(r&C[w]))+1],(x=D[3*(S[0]+(r&C[w]))+2])<16)r>>>=w,_-=w,m[I++]=x;else{for(e=18==x?7:x-14,u=18==x?11:3;_<w+e;){if(0===a)return y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);t=L,a--,r|=(255&i.read_byte(n++))<<_,_+=8}if(_-=w,u+=(r>>>=w)&C[e],r>>>=e,_-=e,258+(31&(w=A))+(w>>5&31)<(e=I)+u||16==x&&e<1)return m=null,g=ei,i.msg="invalid bit length repeat",t=q,y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);for(x=16==x?m[e-1]:0;m[e++]=x,0!=--u;);I=e}}S[0]=-1;var c=[],v=[],h=[],k=[];if(c[0]=9,v[0]=6,w=A,(w=M.inflate_trees_dynamic(257+(31&w),1+(w>>5&31),m,c,v,h,k,D,i))!=L)return w==q&&(m=null,g=ei),t=w,y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);U.init(c[0],v[0],D,h[0],D,k[0]),g=$;case $:if(y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,(t=U.proc(y,i,t))!=P)return y.inflate_flush(i,t);if(t=L,U.free(i),n=i.next_in_index,a=i.avail_in,r=y.bitb,_=y.bitk,d=(l=y.write)<y.read?y.read-l-1:y.end-l,0===z){g=T;break}g=ii;case ii:if(y.write=l,t=y.inflate_flush(i,t),d=(l=y.write)<y.read?y.read-l-1:y.end-l,y.read!=y.write)return y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);g=ti;case ti:return t=P,y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);case ei:return t=q,y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t);default:return t=j,y.bitb=r,y.bitk=_,i.avail_in=a,i.total_in+=n-i.next_in_index,i.next_in_index=n,y.write=l,y.inflate_flush(i,t)}},y.free=function(i){y.reset(i,null),y.window=null,D=null},y.set_dictionary=function(i,t,e){y.window.set(i.subarray(t,t+e),0),y.read=y.write=e},y.sync_point=function(){return g==V?1:0}}var _,l=[0,0,255,255];function d(){var e=this;function _(i){return i&&i.istate?(i.total_in=i.total_out=0,i.msg=null,i.istate.mode=7,i.istate.blocks.reset(i,null),L):j}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=function(i){return e.blocks&&e.blocks.free(i),e.blocks=null,L},e.inflateInit=function(i,t){return i.msg=null,e.blocks=null,t<8||15<t?(e.inflateEnd(i),j):(e.wbits=t,i.istate.blocks=new n(i,1<<t),_(i),L)},e.inflate=function(i,t){var e,n;if(!i||!i.istate||!i.next_in)return j;for(t=4==t?B:L,e=B;;)switch(i.istate.mode){case 0:if(0===i.avail_in)return e;if(e=t,i.avail_in--,i.total_in++,8!=(15&(i.istate.method=i.read_byte(i.next_in_index++)))){i.istate.mode=13,i.msg="unknown compression method",i.istate.marker=5;break}if(8+(i.istate.method>>4)>i.istate.wbits){i.istate.mode=13,i.msg="invalid window size",i.istate.marker=5;break}i.istate.mode=1;case 1:if(0===i.avail_in)return e;if(e=t,i.avail_in--,i.total_in++,n=255&i.read_byte(i.next_in_index++),((i.istate.method<<8)+n)%31!=0){i.istate.mode=13,i.msg="incorrect header check",i.istate.marker=5;break}if(0==(32&n)){i.istate.mode=7;break}i.istate.mode=2;case 2:if(0===i.avail_in)return e;e=t,i.avail_in--,i.total_in++,i.istate.need=(255&i.read_byte(i.next_in_index++))<<24&4278190080,i.istate.mode=3;case 3:if(0===i.avail_in)return e;e=t,i.avail_in--,i.total_in++,i.istate.need+=(255&i.read_byte(i.next_in_index++))<<16&16711680,i.istate.mode=4;case 4:if(0===i.avail_in)return e;e=t,i.avail_in--,i.total_in++,i.istate.need+=(255&i.read_byte(i.next_in_index++))<<8&65280,i.istate.mode=5;case 5:return 0===i.avail_in?e:(e=t,i.avail_in--,i.total_in++,i.istate.need+=255&i.read_byte(i.next_in_index++),i.istate.mode=6,2);case 6:return i.istate.mode=13,i.msg="need dictionary",i.istate.marker=0,j;case 7:if((e=i.istate.blocks.proc(i,e))==q){i.istate.mode=13,i.istate.marker=0;break}if(e==L&&(e=t),e!=P)return e;e=t,i.istate.blocks.reset(i,i.istate.was),i.istate.mode=12;case 12:return P;case 13:return q;default:return j}},e.inflateSetDictionary=function(i,t,e){var n=0,a=e;return i&&i.istate&&6==i.istate.mode?(a>=1<<i.istate.wbits&&(n=e-(a=(1<<i.istate.wbits)-1)),i.istate.blocks.set_dictionary(t,n,a),i.istate.mode=7,L):j},e.inflateSync=function(i){var t,e,n,a,r;if(!i||!i.istate)return j;if(13!=i.istate.mode&&(i.istate.mode=13,i.istate.marker=0),0===(t=i.avail_in))return B;for(e=i.next_in_index,n=i.istate.marker;0!==t&&n<4;)i.read_byte(e)==l[n]?n++:n=0!==i.read_byte(e)?0:4-n,e++,t--;return i.total_in+=e-i.next_in_index,i.next_in_index=e,i.avail_in=t,4!=(i.istate.marker=n)?q:(a=i.total_in,r=i.total_out,_(i),i.total_in=a,i.total_out=r,i.istate.mode=7,L)},e.inflateSyncPoint=function(i){return i&&i.istate&&i.istate.blocks?i.istate.blocks.sync_point():j}}function i(){}function s(){var d=new i,s=new Uint8Array(512),f=!1;d.inflateInit(),d.next_out=s,this.append=function(i,t){var e,n,a=[],r=0,_=0,l=0;if(0!==i.length){d.next_in_index=0,d.next_in=i,d.avail_in=i.length;do{if(d.next_out_index=0,d.avail_out=512,0!==d.avail_in||f||(d.next_in_index=0,f=!0),e=d.inflate(0),f&&e==B)return-1;if(e!=L&&e!=P)throw"inflating: "+d.msg;if((f||e==P)&&d.avail_in==i.length)return-1}while(d.next_out_index&&(512==d.next_out_index?a.push(new Uint8Array(s)):a.push(new Uint8Array(s.subarray(0,d.next_out_index)))),l+=d.next_out_index,t&&0<d.next_in_index&&d.next_in_index!=r&&(t(d.next_in_index),r=d.next_in_index),0<d.avail_in||0===d.avail_out);return n=new Uint8Array(l),a.forEach(function(i){n.set(i,_),_+=i.length}),n}},this.flush=function(){d.inflateEnd()}}i.prototype={inflateInit:function(i){return this.istate=new d,i=i||15,this.istate.inflateInit(this,i)},inflate:function(i){return this.istate?this.istate.inflate(this,i):j},inflateEnd:function(){if(!this.istate)return j;var i=this.istate.inflateEnd(this);return this.istate=null,i},inflateSync:function(){return this.istate?this.istate.inflateSync(this):j},inflateSetDictionary:function(i,t){return this.istate?this.istate.inflateSetDictionary(this,i,t):j},read_byte:function(i){return this.next_in.subarray(i,i+1)[0]},read_buf:function(i,t){return this.next_in.subarray(i,i+t)}},t.zip?t.zip.Inflater=s:(_=new s,t.addEventListener("message",function(i){i=i.data;i.append&&t.postMessage({onappend:!0,data:_.append(i.data,function(i){t.postMessage({progress:!0,current:i})})}),i.flush&&(_.flush(),t.postMessage({onflush:!0}))},!1))}(this); \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/ThirdParty/draco_decoder.wasm b/public/GV/thirdParty/CesiumManager/ThirdParty/draco_decoder.wasm new file mode 100644 index 000000000..4b4382845 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/ThirdParty/draco_decoder.wasm differ diff --git a/public/GV/thirdParty/CesiumManager/ThirdParty/google-earth-dbroot-parser.js b/public/GV/thirdParty/CesiumManager/ThirdParty/google-earth-dbroot-parser.js new file mode 100644 index 000000000..a3c559b2d --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/ThirdParty/google-earth-dbroot-parser.js @@ -0,0 +1 @@ +window.cesiumGoogleEarthDbRootParser=function(i){"use strict";var e,r,l=i.Reader,s=(i.Writer,i.util),p=[],c=i.roots.default||(i.roots.default={});function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function o(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function a(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function n(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function d(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function u(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function b(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function y(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function f(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function h(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function m(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function v(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function g(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function P(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function O(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return c.keyhole=((r={}).dbroot=((e={}).StringEntryProto=(t.prototype.stringId=0,t.prototype.stringValue="",t.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.StringEntryProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.stringId=e.fixed32();break;case 2:o.stringValue=e.string();break;default:e.skipType(7&a)}}return o},t.verify=function(e){return"object"!=typeof e||null===e?"object expected":s.isInteger(e.stringId)?s.isString(e.stringValue)?null:"stringValue: string expected":"stringId: integer expected"},t.from=t.fromObject=function(e){if(e instanceof c.keyhole.dbroot.StringEntryProto)return e;var r=new c.keyhole.dbroot.StringEntryProto;return void 0!==e.stringId&&null!==e.stringId&&(r.stringId=e.stringId>>>0),void 0!==e.stringValue&&null!==e.stringValue&&(r.stringValue=String(e.stringValue)),r},t.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.stringId=0,t.stringValue=""),void 0!==e.stringId&&null!==e.stringId&&e.hasOwnProperty("stringId")&&(t.stringId=e.stringId),void 0!==e.stringValue&&null!==e.stringValue&&e.hasOwnProperty("stringValue")&&(t.stringValue=e.stringValue),t},t.prototype.toObject=function(e){return this.constructor.toObject(this,e)},t.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},t),e.StringIdOrValueProto=(o.prototype.stringId=0,o.prototype.value="",o.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.StringIdOrValueProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.stringId=e.fixed32();break;case 2:o.value=e.string();break;default:e.skipType(7&a)}}return o},o.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.stringId||s.isInteger(e.stringId)?void 0===e.value||s.isString(e.value)?null:"value: string expected":"stringId: integer expected"},o.from=o.fromObject=function(e){if(e instanceof c.keyhole.dbroot.StringIdOrValueProto)return e;var r=new c.keyhole.dbroot.StringIdOrValueProto;return void 0!==e.stringId&&null!==e.stringId&&(r.stringId=e.stringId>>>0),void 0!==e.value&&null!==e.value&&(r.value=String(e.value)),r},o.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.stringId=0,t.value=""),void 0!==e.stringId&&null!==e.stringId&&e.hasOwnProperty("stringId")&&(t.stringId=e.stringId),void 0!==e.value&&null!==e.value&&e.hasOwnProperty("value")&&(t.value=e.value),t},o.prototype.toObject=function(e){return this.constructor.toObject(this,e)},o.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},o),e.PlanetModelProto=(a.prototype.radius=6378.137,a.prototype.flattening=.00335281066474748,a.prototype.elevationBias=0,a.prototype.negativeAltitudeExponentBias=0,a.prototype.compressedNegativeAltitudeThreshold=0,a.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.PlanetModelProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.radius=e.double();break;case 2:o.flattening=e.double();break;case 4:o.elevationBias=e.double();break;case 5:o.negativeAltitudeExponentBias=e.int32();break;case 6:o.compressedNegativeAltitudeThreshold=e.double();break;default:e.skipType(7&a)}}return o},a.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.radius&&"number"!=typeof e.radius?"radius: number expected":void 0!==e.flattening&&"number"!=typeof e.flattening?"flattening: number expected":void 0!==e.elevationBias&&"number"!=typeof e.elevationBias?"elevationBias: number expected":void 0===e.negativeAltitudeExponentBias||s.isInteger(e.negativeAltitudeExponentBias)?void 0!==e.compressedNegativeAltitudeThreshold&&"number"!=typeof e.compressedNegativeAltitudeThreshold?"compressedNegativeAltitudeThreshold: number expected":null:"negativeAltitudeExponentBias: integer expected"},a.from=a.fromObject=function(e){if(e instanceof c.keyhole.dbroot.PlanetModelProto)return e;var r=new c.keyhole.dbroot.PlanetModelProto;return void 0!==e.radius&&null!==e.radius&&(r.radius=Number(e.radius)),void 0!==e.flattening&&null!==e.flattening&&(r.flattening=Number(e.flattening)),void 0!==e.elevationBias&&null!==e.elevationBias&&(r.elevationBias=Number(e.elevationBias)),void 0!==e.negativeAltitudeExponentBias&&null!==e.negativeAltitudeExponentBias&&(r.negativeAltitudeExponentBias=0|e.negativeAltitudeExponentBias),void 0!==e.compressedNegativeAltitudeThreshold&&null!==e.compressedNegativeAltitudeThreshold&&(r.compressedNegativeAltitudeThreshold=Number(e.compressedNegativeAltitudeThreshold)),r},a.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.radius=6378.137,t.flattening=.00335281066474748,t.elevationBias=0,t.negativeAltitudeExponentBias=0,t.compressedNegativeAltitudeThreshold=0),void 0!==e.radius&&null!==e.radius&&e.hasOwnProperty("radius")&&(t.radius=e.radius),void 0!==e.flattening&&null!==e.flattening&&e.hasOwnProperty("flattening")&&(t.flattening=e.flattening),void 0!==e.elevationBias&&null!==e.elevationBias&&e.hasOwnProperty("elevationBias")&&(t.elevationBias=e.elevationBias),void 0!==e.negativeAltitudeExponentBias&&null!==e.negativeAltitudeExponentBias&&e.hasOwnProperty("negativeAltitudeExponentBias")&&(t.negativeAltitudeExponentBias=e.negativeAltitudeExponentBias),void 0!==e.compressedNegativeAltitudeThreshold&&null!==e.compressedNegativeAltitudeThreshold&&e.hasOwnProperty("compressedNegativeAltitudeThreshold")&&(t.compressedNegativeAltitudeThreshold=e.compressedNegativeAltitudeThreshold),t},a.prototype.toObject=function(e){return this.constructor.toObject(this,e)},a.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},a),e.ProviderInfoProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.providerId=0,e.prototype.copyrightString=null,e.prototype.verticalPixelOffset=-1;var n={1:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.ProviderInfoProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.providerId=e.int32();break;case 2:o.copyrightString=n[1].decode(e,e.uint32());break;case 3:o.verticalPixelOffset=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!s.isInteger(e.providerId))return"providerId: integer expected";if(void 0!==e.copyrightString&&null!==e.copyrightString){var r=n[1].verify(e.copyrightString);if(r)return"copyrightString."+r}return void 0===e.verticalPixelOffset||s.isInteger(e.verticalPixelOffset)?null:"verticalPixelOffset: integer expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.ProviderInfoProto)return e;var r=new c.keyhole.dbroot.ProviderInfoProto;if(void 0!==e.providerId&&null!==e.providerId&&(r.providerId=0|e.providerId),void 0!==e.copyrightString&&null!==e.copyrightString){if("object"!=typeof e.copyrightString)throw TypeError(".keyhole.dbroot.ProviderInfoProto.copyrightString: object expected");r.copyrightString=n[1].fromObject(e.copyrightString)}return void 0!==e.verticalPixelOffset&&null!==e.verticalPixelOffset&&(r.verticalPixelOffset=0|e.verticalPixelOffset),r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.providerId=0,t.copyrightString=null,t.verticalPixelOffset=-1),void 0!==e.providerId&&null!==e.providerId&&e.hasOwnProperty("providerId")&&(t.providerId=e.providerId),void 0!==e.copyrightString&&null!==e.copyrightString&&e.hasOwnProperty("copyrightString")&&(t.copyrightString=n[1].toObject(e.copyrightString,r)),void 0!==e.verticalPixelOffset&&null!==e.verticalPixelOffset&&e.hasOwnProperty("verticalPixelOffset")&&(t.verticalPixelOffset=e.verticalPixelOffset),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.PopUpProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.isBalloonStyle=!1,e.prototype.text=null,e.prototype.backgroundColorAbgr=4294967295,e.prototype.textColorAbgr=4278190080;var n={1:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.PopUpProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.isBalloonStyle=e.bool();break;case 2:o.text=n[1].decode(e,e.uint32());break;case 3:o.backgroundColorAbgr=e.fixed32();break;case 4:o.textColorAbgr=e.fixed32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.isBalloonStyle&&"boolean"!=typeof e.isBalloonStyle)return"isBalloonStyle: boolean expected";if(void 0!==e.text&&null!==e.text){var r=n[1].verify(e.text);if(r)return"text."+r}return void 0===e.backgroundColorAbgr||s.isInteger(e.backgroundColorAbgr)?void 0===e.textColorAbgr||s.isInteger(e.textColorAbgr)?null:"textColorAbgr: integer expected":"backgroundColorAbgr: integer expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.PopUpProto)return e;var r=new c.keyhole.dbroot.PopUpProto;if(void 0!==e.isBalloonStyle&&null!==e.isBalloonStyle&&(r.isBalloonStyle=Boolean(e.isBalloonStyle)),void 0!==e.text&&null!==e.text){if("object"!=typeof e.text)throw TypeError(".keyhole.dbroot.PopUpProto.text: object expected");r.text=n[1].fromObject(e.text)}return void 0!==e.backgroundColorAbgr&&null!==e.backgroundColorAbgr&&(r.backgroundColorAbgr=e.backgroundColorAbgr>>>0),void 0!==e.textColorAbgr&&null!==e.textColorAbgr&&(r.textColorAbgr=e.textColorAbgr>>>0),r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.isBalloonStyle=!1,t.text=null,t.backgroundColorAbgr=4294967295,t.textColorAbgr=4278190080),void 0!==e.isBalloonStyle&&null!==e.isBalloonStyle&&e.hasOwnProperty("isBalloonStyle")&&(t.isBalloonStyle=e.isBalloonStyle),void 0!==e.text&&null!==e.text&&e.hasOwnProperty("text")&&(t.text=n[1].toObject(e.text,r)),void 0!==e.backgroundColorAbgr&&null!==e.backgroundColorAbgr&&e.hasOwnProperty("backgroundColorAbgr")&&(t.backgroundColorAbgr=e.backgroundColorAbgr),void 0!==e.textColorAbgr&&null!==e.textColorAbgr&&e.hasOwnProperty("textColorAbgr")&&(t.textColorAbgr=e.textColorAbgr),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.StyleAttributeProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.styleId="",e.prototype.providerId=0,e.prototype.polyColorAbgr=4294967295,e.prototype.lineColorAbgr=4294967295,e.prototype.lineWidth=1,e.prototype.labelColorAbgr=4294967295,e.prototype.labelScale=1,e.prototype.placemarkIconColorAbgr=4294967295,e.prototype.placemarkIconScale=1,e.prototype.placemarkIconPath=null,e.prototype.placemarkIconX=0,e.prototype.placemarkIconY=0,e.prototype.placemarkIconWidth=32,e.prototype.placemarkIconHeight=32,e.prototype.popUp=null,e.prototype.drawFlag=s.emptyArray;var n={9:"keyhole.dbroot.StringIdOrValueProto",14:"keyhole.dbroot.PopUpProto",15:"keyhole.dbroot.DrawFlagProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.StyleAttributeProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.styleId=e.string();break;case 3:o.providerId=e.int32();break;case 4:o.polyColorAbgr=e.fixed32();break;case 5:o.lineColorAbgr=e.fixed32();break;case 6:o.lineWidth=e.float();break;case 7:o.labelColorAbgr=e.fixed32();break;case 8:o.labelScale=e.float();break;case 9:o.placemarkIconColorAbgr=e.fixed32();break;case 10:o.placemarkIconScale=e.float();break;case 11:o.placemarkIconPath=n[9].decode(e,e.uint32());break;case 12:o.placemarkIconX=e.int32();break;case 13:o.placemarkIconY=e.int32();break;case 14:o.placemarkIconWidth=e.int32();break;case 15:o.placemarkIconHeight=e.int32();break;case 16:o.popUp=n[14].decode(e,e.uint32());break;case 17:o.drawFlag&&o.drawFlag.length||(o.drawFlag=[]),o.drawFlag.push(n[15].decode(e,e.uint32()));break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!s.isString(e.styleId))return"styleId: string expected";if(void 0!==e.providerId&&!s.isInteger(e.providerId))return"providerId: integer expected";if(void 0!==e.polyColorAbgr&&!s.isInteger(e.polyColorAbgr))return"polyColorAbgr: integer expected";if(void 0!==e.lineColorAbgr&&!s.isInteger(e.lineColorAbgr))return"lineColorAbgr: integer expected";if(void 0!==e.lineWidth&&"number"!=typeof e.lineWidth)return"lineWidth: number expected";if(void 0!==e.labelColorAbgr&&!s.isInteger(e.labelColorAbgr))return"labelColorAbgr: integer expected";if(void 0!==e.labelScale&&"number"!=typeof e.labelScale)return"labelScale: number expected";if(void 0!==e.placemarkIconColorAbgr&&!s.isInteger(e.placemarkIconColorAbgr))return"placemarkIconColorAbgr: integer expected";if(void 0!==e.placemarkIconScale&&"number"!=typeof e.placemarkIconScale)return"placemarkIconScale: number expected";if(void 0!==e.placemarkIconPath&&null!==e.placemarkIconPath&&(r=n[9].verify(e.placemarkIconPath)))return"placemarkIconPath."+r;if(void 0!==e.placemarkIconX&&!s.isInteger(e.placemarkIconX))return"placemarkIconX: integer expected";if(void 0!==e.placemarkIconY&&!s.isInteger(e.placemarkIconY))return"placemarkIconY: integer expected";if(void 0!==e.placemarkIconWidth&&!s.isInteger(e.placemarkIconWidth))return"placemarkIconWidth: integer expected";if(void 0!==e.placemarkIconHeight&&!s.isInteger(e.placemarkIconHeight))return"placemarkIconHeight: integer expected";if(void 0!==e.popUp&&null!==e.popUp&&(r=n[14].verify(e.popUp)))return"popUp."+r;if(void 0!==e.drawFlag){if(!Array.isArray(e.drawFlag))return"drawFlag: array expected";for(var r,t=0;t<e.drawFlag.length;++t)if(r=n[15].verify(e.drawFlag[t]))return"drawFlag."+r}return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.StyleAttributeProto)return e;var r=new c.keyhole.dbroot.StyleAttributeProto;if(void 0!==e.styleId&&null!==e.styleId&&(r.styleId=String(e.styleId)),void 0!==e.providerId&&null!==e.providerId&&(r.providerId=0|e.providerId),void 0!==e.polyColorAbgr&&null!==e.polyColorAbgr&&(r.polyColorAbgr=e.polyColorAbgr>>>0),void 0!==e.lineColorAbgr&&null!==e.lineColorAbgr&&(r.lineColorAbgr=e.lineColorAbgr>>>0),void 0!==e.lineWidth&&null!==e.lineWidth&&(r.lineWidth=Number(e.lineWidth)),void 0!==e.labelColorAbgr&&null!==e.labelColorAbgr&&(r.labelColorAbgr=e.labelColorAbgr>>>0),void 0!==e.labelScale&&null!==e.labelScale&&(r.labelScale=Number(e.labelScale)),void 0!==e.placemarkIconColorAbgr&&null!==e.placemarkIconColorAbgr&&(r.placemarkIconColorAbgr=e.placemarkIconColorAbgr>>>0),void 0!==e.placemarkIconScale&&null!==e.placemarkIconScale&&(r.placemarkIconScale=Number(e.placemarkIconScale)),void 0!==e.placemarkIconPath&&null!==e.placemarkIconPath){if("object"!=typeof e.placemarkIconPath)throw TypeError(".keyhole.dbroot.StyleAttributeProto.placemarkIconPath: object expected");r.placemarkIconPath=n[9].fromObject(e.placemarkIconPath)}if(void 0!==e.placemarkIconX&&null!==e.placemarkIconX&&(r.placemarkIconX=0|e.placemarkIconX),void 0!==e.placemarkIconY&&null!==e.placemarkIconY&&(r.placemarkIconY=0|e.placemarkIconY),void 0!==e.placemarkIconWidth&&null!==e.placemarkIconWidth&&(r.placemarkIconWidth=0|e.placemarkIconWidth),void 0!==e.placemarkIconHeight&&null!==e.placemarkIconHeight&&(r.placemarkIconHeight=0|e.placemarkIconHeight),void 0!==e.popUp&&null!==e.popUp){if("object"!=typeof e.popUp)throw TypeError(".keyhole.dbroot.StyleAttributeProto.popUp: object expected");r.popUp=n[14].fromObject(e.popUp)}if(e.drawFlag){if(!Array.isArray(e.drawFlag))throw TypeError(".keyhole.dbroot.StyleAttributeProto.drawFlag: array expected");r.drawFlag=[];for(var t=0;t<e.drawFlag.length;++t){if("object"!=typeof e.drawFlag[t])throw TypeError(".keyhole.dbroot.StyleAttributeProto.drawFlag: object expected");r.drawFlag[t]=n[15].fromObject(e.drawFlag[t])}}return r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.drawFlag=[]),r.defaults&&(t.styleId="",t.providerId=0,t.polyColorAbgr=4294967295,t.lineColorAbgr=4294967295,t.lineWidth=1,t.labelColorAbgr=4294967295,t.labelScale=1,t.placemarkIconColorAbgr=4294967295,t.placemarkIconScale=1,t.placemarkIconPath=null,t.placemarkIconX=0,t.placemarkIconY=0,t.placemarkIconWidth=32,t.placemarkIconHeight=32,t.popUp=null),void 0!==e.styleId&&null!==e.styleId&&e.hasOwnProperty("styleId")&&(t.styleId=e.styleId),void 0!==e.providerId&&null!==e.providerId&&e.hasOwnProperty("providerId")&&(t.providerId=e.providerId),void 0!==e.polyColorAbgr&&null!==e.polyColorAbgr&&e.hasOwnProperty("polyColorAbgr")&&(t.polyColorAbgr=e.polyColorAbgr),void 0!==e.lineColorAbgr&&null!==e.lineColorAbgr&&e.hasOwnProperty("lineColorAbgr")&&(t.lineColorAbgr=e.lineColorAbgr),void 0!==e.lineWidth&&null!==e.lineWidth&&e.hasOwnProperty("lineWidth")&&(t.lineWidth=e.lineWidth),void 0!==e.labelColorAbgr&&null!==e.labelColorAbgr&&e.hasOwnProperty("labelColorAbgr")&&(t.labelColorAbgr=e.labelColorAbgr),void 0!==e.labelScale&&null!==e.labelScale&&e.hasOwnProperty("labelScale")&&(t.labelScale=e.labelScale),void 0!==e.placemarkIconColorAbgr&&null!==e.placemarkIconColorAbgr&&e.hasOwnProperty("placemarkIconColorAbgr")&&(t.placemarkIconColorAbgr=e.placemarkIconColorAbgr),void 0!==e.placemarkIconScale&&null!==e.placemarkIconScale&&e.hasOwnProperty("placemarkIconScale")&&(t.placemarkIconScale=e.placemarkIconScale),void 0!==e.placemarkIconPath&&null!==e.placemarkIconPath&&e.hasOwnProperty("placemarkIconPath")&&(t.placemarkIconPath=n[9].toObject(e.placemarkIconPath,r)),void 0!==e.placemarkIconX&&null!==e.placemarkIconX&&e.hasOwnProperty("placemarkIconX")&&(t.placemarkIconX=e.placemarkIconX),void 0!==e.placemarkIconY&&null!==e.placemarkIconY&&e.hasOwnProperty("placemarkIconY")&&(t.placemarkIconY=e.placemarkIconY),void 0!==e.placemarkIconWidth&&null!==e.placemarkIconWidth&&e.hasOwnProperty("placemarkIconWidth")&&(t.placemarkIconWidth=e.placemarkIconWidth),void 0!==e.placemarkIconHeight&&null!==e.placemarkIconHeight&&e.hasOwnProperty("placemarkIconHeight")&&(t.placemarkIconHeight=e.placemarkIconHeight),void 0!==e.popUp&&null!==e.popUp&&e.hasOwnProperty("popUp")&&(t.popUp=n[14].toObject(e.popUp,r)),void 0!==e.drawFlag&&null!==e.drawFlag&&e.hasOwnProperty("drawFlag")){t.drawFlag=[];for(var o=0;o<e.drawFlag.length;++o)t.drawFlag[o]=n[15].toObject(e.drawFlag[o],r)}return t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.StyleMapProto=(n.prototype.styleMapId=0,n.prototype.channelId=s.emptyArray,n.prototype.normalStyleAttribute=0,n.prototype.highlightStyleAttribute=0,n.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.StyleMapProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.styleMapId=e.int32();break;case 2:if(o.channelId&&o.channelId.length||(o.channelId=[]),2==(7&a))for(var n=e.uint32()+e.pos;e.pos<n;)o.channelId.push(e.int32());else o.channelId.push(e.int32());break;case 3:o.normalStyleAttribute=e.int32();break;case 4:o.highlightStyleAttribute=e.int32();break;default:e.skipType(7&a)}}return o},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!s.isInteger(e.styleMapId))return"styleMapId: integer expected";if(void 0!==e.channelId){if(!Array.isArray(e.channelId))return"channelId: array expected";for(var r=0;r<e.channelId.length;++r)if(!s.isInteger(e.channelId[r]))return"channelId: integer[] expected"}return void 0===e.normalStyleAttribute||s.isInteger(e.normalStyleAttribute)?void 0===e.highlightStyleAttribute||s.isInteger(e.highlightStyleAttribute)?null:"highlightStyleAttribute: integer expected":"normalStyleAttribute: integer expected"},n.from=n.fromObject=function(e){if(e instanceof c.keyhole.dbroot.StyleMapProto)return e;var r=new c.keyhole.dbroot.StyleMapProto;if(void 0!==e.styleMapId&&null!==e.styleMapId&&(r.styleMapId=0|e.styleMapId),e.channelId){if(!Array.isArray(e.channelId))throw TypeError(".keyhole.dbroot.StyleMapProto.channelId: array expected");r.channelId=[];for(var t=0;t<e.channelId.length;++t)r.channelId[t]=0|e.channelId[t]}return void 0!==e.normalStyleAttribute&&null!==e.normalStyleAttribute&&(r.normalStyleAttribute=0|e.normalStyleAttribute),void 0!==e.highlightStyleAttribute&&null!==e.highlightStyleAttribute&&(r.highlightStyleAttribute=0|e.highlightStyleAttribute),r},n.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.channelId=[]),r.defaults&&(t.styleMapId=0,t.normalStyleAttribute=0,t.highlightStyleAttribute=0),void 0!==e.styleMapId&&null!==e.styleMapId&&e.hasOwnProperty("styleMapId")&&(t.styleMapId=e.styleMapId),void 0!==e.channelId&&null!==e.channelId&&e.hasOwnProperty("channelId")){t.channelId=[];for(var o=0;o<e.channelId.length;++o)t.channelId[o]=e.channelId[o]}return void 0!==e.normalStyleAttribute&&null!==e.normalStyleAttribute&&e.hasOwnProperty("normalStyleAttribute")&&(t.normalStyleAttribute=e.normalStyleAttribute),void 0!==e.highlightStyleAttribute&&null!==e.highlightStyleAttribute&&e.hasOwnProperty("highlightStyleAttribute")&&(t.highlightStyleAttribute=e.highlightStyleAttribute),t},n.prototype.toObject=function(e){return this.constructor.toObject(this,e)},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n),e.ZoomRangeProto=(d.prototype.minZoom=0,d.prototype.maxZoom=0,d.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.ZoomRangeProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.minZoom=e.int32();break;case 2:o.maxZoom=e.int32();break;default:e.skipType(7&a)}}return o},d.verify=function(e){return"object"!=typeof e||null===e?"object expected":s.isInteger(e.minZoom)?s.isInteger(e.maxZoom)?null:"maxZoom: integer expected":"minZoom: integer expected"},d.from=d.fromObject=function(e){if(e instanceof c.keyhole.dbroot.ZoomRangeProto)return e;var r=new c.keyhole.dbroot.ZoomRangeProto;return void 0!==e.minZoom&&null!==e.minZoom&&(r.minZoom=0|e.minZoom),void 0!==e.maxZoom&&null!==e.maxZoom&&(r.maxZoom=0|e.maxZoom),r},d.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.minZoom=0,t.maxZoom=0),void 0!==e.minZoom&&null!==e.minZoom&&e.hasOwnProperty("minZoom")&&(t.minZoom=e.minZoom),void 0!==e.maxZoom&&null!==e.maxZoom&&e.hasOwnProperty("maxZoom")&&(t.maxZoom=e.maxZoom),t},d.prototype.toObject=function(e){return this.constructor.toObject(this,e)},d.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},d),e.DrawFlagProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.drawFlagType=1;var r,o={0:"keyhole.dbroot.DrawFlagProto.DrawFlagType"};return p.push(o),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.DrawFlagProto;e.pos<t;){var a=e.uint32();a>>>3==1?o.drawFlagType=e.uint32():e.skipType(7&a)}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";switch(e.drawFlagType){default:return"drawFlagType: enum value expected";case 1:case 2:case 3:case 4:case 5:}return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.DrawFlagProto)return e;var r=new c.keyhole.dbroot.DrawFlagProto;switch(e.drawFlagType){case"TYPE_FILL_ONLY":case 1:r.drawFlagType=1;break;case"TYPE_OUTLINE_ONLY":case 2:r.drawFlagType=2;break;case"TYPE_FILL_AND_OUTLINE":case 3:r.drawFlagType=3;break;case"TYPE_ANTIALIASING":case 4:r.drawFlagType=4;break;case"TYPE_CENTER_LABEL":case 5:r.drawFlagType=5}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.drawFlagType=r.enums===String?"TYPE_FILL_ONLY":1),void 0!==e.drawFlagType&&null!==e.drawFlagType&&e.hasOwnProperty("drawFlagType")&&(t.drawFlagType=r.enums===String?o[0][e.drawFlagType]:e.drawFlagType),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.DrawFlagType=((r=Object.create({})).TYPE_FILL_ONLY=1,r.TYPE_OUTLINE_ONLY=2,r.TYPE_FILL_AND_OUTLINE=3,r.TYPE_ANTIALIASING=4,r.TYPE_CENTER_LABEL=5,r),e}(),e.LayerProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.zoomRange=s.emptyArray,e.prototype.preserveTextLevel=30,e.prototype.lodBeginTransition=!1,e.prototype.lodEndTransition=!1;var n={0:"keyhole.dbroot.ZoomRangeProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.LayerProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.zoomRange&&o.zoomRange.length||(o.zoomRange=[]),o.zoomRange.push(n[0].decode(e,e.uint32()));break;case 2:o.preserveTextLevel=e.int32();break;case 4:o.lodBeginTransition=e.bool();break;case 5:o.lodEndTransition=e.bool();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.zoomRange){if(!Array.isArray(e.zoomRange))return"zoomRange: array expected";for(var r=0;r<e.zoomRange.length;++r){var t=n[0].verify(e.zoomRange[r]);if(t)return"zoomRange."+t}}return void 0===e.preserveTextLevel||s.isInteger(e.preserveTextLevel)?void 0!==e.lodBeginTransition&&"boolean"!=typeof e.lodBeginTransition?"lodBeginTransition: boolean expected":void 0!==e.lodEndTransition&&"boolean"!=typeof e.lodEndTransition?"lodEndTransition: boolean expected":null:"preserveTextLevel: integer expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.LayerProto)return e;var r=new c.keyhole.dbroot.LayerProto;if(e.zoomRange){if(!Array.isArray(e.zoomRange))throw TypeError(".keyhole.dbroot.LayerProto.zoomRange: array expected");r.zoomRange=[];for(var t=0;t<e.zoomRange.length;++t){if("object"!=typeof e.zoomRange[t])throw TypeError(".keyhole.dbroot.LayerProto.zoomRange: object expected");r.zoomRange[t]=n[0].fromObject(e.zoomRange[t])}}return void 0!==e.preserveTextLevel&&null!==e.preserveTextLevel&&(r.preserveTextLevel=0|e.preserveTextLevel),void 0!==e.lodBeginTransition&&null!==e.lodBeginTransition&&(r.lodBeginTransition=Boolean(e.lodBeginTransition)),void 0!==e.lodEndTransition&&null!==e.lodEndTransition&&(r.lodEndTransition=Boolean(e.lodEndTransition)),r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.zoomRange=[]),r.defaults&&(t.preserveTextLevel=30,t.lodBeginTransition=!1,t.lodEndTransition=!1),void 0!==e.zoomRange&&null!==e.zoomRange&&e.hasOwnProperty("zoomRange")){t.zoomRange=[];for(var o=0;o<e.zoomRange.length;++o)t.zoomRange[o]=n[0].toObject(e.zoomRange[o],r)}return void 0!==e.preserveTextLevel&&null!==e.preserveTextLevel&&e.hasOwnProperty("preserveTextLevel")&&(t.preserveTextLevel=e.preserveTextLevel),void 0!==e.lodBeginTransition&&null!==e.lodBeginTransition&&e.hasOwnProperty("lodBeginTransition")&&(t.lodBeginTransition=e.lodBeginTransition),void 0!==e.lodEndTransition&&null!==e.lodEndTransition&&e.hasOwnProperty("lodEndTransition")&&(t.lodEndTransition=e.lodEndTransition),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.FolderProto=(u.prototype.isExpandable=!0,u.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.FolderProto;e.pos<t;){var a=e.uint32();a>>>3==1?o.isExpandable=e.bool():e.skipType(7&a)}return o},u.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.isExpandable&&"boolean"!=typeof e.isExpandable?"isExpandable: boolean expected":null},u.from=u.fromObject=function(e){if(e instanceof c.keyhole.dbroot.FolderProto)return e;var r=new c.keyhole.dbroot.FolderProto;return void 0!==e.isExpandable&&null!==e.isExpandable&&(r.isExpandable=Boolean(e.isExpandable)),r},u.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.isExpandable=!0),void 0!==e.isExpandable&&null!==e.isExpandable&&e.hasOwnProperty("isExpandable")&&(t.isExpandable=e.isExpandable),t},u.prototype.toObject=function(e){return this.constructor.toObject(this,e)},u.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},u),e.RequirementProto=(b.prototype.requiredVram="",b.prototype.requiredClientVer="",b.prototype.probability="",b.prototype.requiredUserAgent="",b.prototype.requiredClientCapabilities="",b.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.RequirementProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 3:o.requiredVram=e.string();break;case 4:o.requiredClientVer=e.string();break;case 5:o.probability=e.string();break;case 6:o.requiredUserAgent=e.string();break;case 7:o.requiredClientCapabilities=e.string();break;default:e.skipType(7&a)}}return o},b.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.requiredVram||s.isString(e.requiredVram)?void 0===e.requiredClientVer||s.isString(e.requiredClientVer)?void 0===e.probability||s.isString(e.probability)?void 0===e.requiredUserAgent||s.isString(e.requiredUserAgent)?void 0===e.requiredClientCapabilities||s.isString(e.requiredClientCapabilities)?null:"requiredClientCapabilities: string expected":"requiredUserAgent: string expected":"probability: string expected":"requiredClientVer: string expected":"requiredVram: string expected"},b.from=b.fromObject=function(e){if(e instanceof c.keyhole.dbroot.RequirementProto)return e;var r=new c.keyhole.dbroot.RequirementProto;return void 0!==e.requiredVram&&null!==e.requiredVram&&(r.requiredVram=String(e.requiredVram)),void 0!==e.requiredClientVer&&null!==e.requiredClientVer&&(r.requiredClientVer=String(e.requiredClientVer)),void 0!==e.probability&&null!==e.probability&&(r.probability=String(e.probability)),void 0!==e.requiredUserAgent&&null!==e.requiredUserAgent&&(r.requiredUserAgent=String(e.requiredUserAgent)),void 0!==e.requiredClientCapabilities&&null!==e.requiredClientCapabilities&&(r.requiredClientCapabilities=String(e.requiredClientCapabilities)),r},b.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.requiredVram="",t.requiredClientVer="",t.probability="",t.requiredUserAgent="",t.requiredClientCapabilities=""),void 0!==e.requiredVram&&null!==e.requiredVram&&e.hasOwnProperty("requiredVram")&&(t.requiredVram=e.requiredVram),void 0!==e.requiredClientVer&&null!==e.requiredClientVer&&e.hasOwnProperty("requiredClientVer")&&(t.requiredClientVer=e.requiredClientVer),void 0!==e.probability&&null!==e.probability&&e.hasOwnProperty("probability")&&(t.probability=e.probability),void 0!==e.requiredUserAgent&&null!==e.requiredUserAgent&&e.hasOwnProperty("requiredUserAgent")&&(t.requiredUserAgent=e.requiredUserAgent),void 0!==e.requiredClientCapabilities&&null!==e.requiredClientCapabilities&&e.hasOwnProperty("requiredClientCapabilities")&&(t.requiredClientCapabilities=e.requiredClientCapabilities),t},b.prototype.toObject=function(e){return this.constructor.toObject(this,e)},b.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},b),e.LookAtProto=(y.prototype.longitude=0,y.prototype.latitude=0,y.prototype.range=0,y.prototype.tilt=0,y.prototype.heading=0,y.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.LookAtProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.longitude=e.float();break;case 2:o.latitude=e.float();break;case 3:o.range=e.float();break;case 4:o.tilt=e.float();break;case 5:o.heading=e.float();break;default:e.skipType(7&a)}}return o},y.verify=function(e){return"object"!=typeof e||null===e?"object expected":"number"!=typeof e.longitude?"longitude: number expected":"number"!=typeof e.latitude?"latitude: number expected":void 0!==e.range&&"number"!=typeof e.range?"range: number expected":void 0!==e.tilt&&"number"!=typeof e.tilt?"tilt: number expected":void 0!==e.heading&&"number"!=typeof e.heading?"heading: number expected":null},y.from=y.fromObject=function(e){if(e instanceof c.keyhole.dbroot.LookAtProto)return e;var r=new c.keyhole.dbroot.LookAtProto;return void 0!==e.longitude&&null!==e.longitude&&(r.longitude=Number(e.longitude)),void 0!==e.latitude&&null!==e.latitude&&(r.latitude=Number(e.latitude)),void 0!==e.range&&null!==e.range&&(r.range=Number(e.range)),void 0!==e.tilt&&null!==e.tilt&&(r.tilt=Number(e.tilt)),void 0!==e.heading&&null!==e.heading&&(r.heading=Number(e.heading)),r},y.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.longitude=0,t.latitude=0,t.range=0,t.tilt=0,t.heading=0),void 0!==e.longitude&&null!==e.longitude&&e.hasOwnProperty("longitude")&&(t.longitude=e.longitude),void 0!==e.latitude&&null!==e.latitude&&e.hasOwnProperty("latitude")&&(t.latitude=e.latitude),void 0!==e.range&&null!==e.range&&e.hasOwnProperty("range")&&(t.range=e.range),void 0!==e.tilt&&null!==e.tilt&&e.hasOwnProperty("tilt")&&(t.tilt=e.tilt),void 0!==e.heading&&null!==e.heading&&e.hasOwnProperty("heading")&&(t.heading=e.heading),t},y.prototype.toObject=function(e){return this.constructor.toObject(this,e)},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y),e.NestedFeatureProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.featureType=1,e.prototype.kmlUrl=null,e.prototype.databaseUrl="",e.prototype.layer=null,e.prototype.folder=null,e.prototype.requirement=null,e.prototype.channelId=0,e.prototype.displayName=null,e.prototype.isVisible=!0,e.prototype.isEnabled=!0,e.prototype.isChecked=!1,e.prototype.layerMenuIconPath="icons/773_l.png",e.prototype.description=null,e.prototype.lookAt=null,e.prototype.assetUuid="",e.prototype.isSaveLocked=!0,e.prototype.children=s.emptyArray,e.prototype.clientConfigScriptName="",e.prototype.dioramaDataChannelBase=-1,e.prototype.replicaDataChannelBase=-1;var r,n={0:"keyhole.dbroot.NestedFeatureProto.FeatureType",1:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.LayerProto",4:"keyhole.dbroot.FolderProto",5:"keyhole.dbroot.RequirementProto",7:"keyhole.dbroot.StringIdOrValueProto",12:"keyhole.dbroot.StringIdOrValueProto",13:"keyhole.dbroot.LookAtProto",16:"keyhole.dbroot.NestedFeatureProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.NestedFeatureProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.featureType=e.uint32();break;case 2:o.kmlUrl=n[1].decode(e,e.uint32());break;case 21:o.databaseUrl=e.string();break;case 3:o.layer=n[3].decode(e,e.uint32());break;case 4:o.folder=n[4].decode(e,e.uint32());break;case 5:o.requirement=n[5].decode(e,e.uint32());break;case 6:o.channelId=e.int32();break;case 7:o.displayName=n[7].decode(e,e.uint32());break;case 8:o.isVisible=e.bool();break;case 9:o.isEnabled=e.bool();break;case 10:o.isChecked=e.bool();break;case 11:o.layerMenuIconPath=e.string();break;case 12:o.description=n[12].decode(e,e.uint32());break;case 13:o.lookAt=n[13].decode(e,e.uint32());break;case 15:o.assetUuid=e.string();break;case 16:o.isSaveLocked=e.bool();break;case 17:o.children&&o.children.length||(o.children=[]),o.children.push(n[16].decode(e,e.uint32()));break;case 18:o.clientConfigScriptName=e.string();break;case 19:o.dioramaDataChannelBase=e.int32();break;case 20:o.replicaDataChannelBase=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.featureType)switch(e.featureType){default:return"featureType: enum value expected";case 1:case 2:case 3:case 4:}if(void 0!==e.kmlUrl&&null!==e.kmlUrl&&(r=n[1].verify(e.kmlUrl)))return"kmlUrl."+r;if(void 0!==e.databaseUrl&&!s.isString(e.databaseUrl))return"databaseUrl: string expected";if(void 0!==e.layer&&null!==e.layer&&(r=n[3].verify(e.layer)))return"layer."+r;if(void 0!==e.folder&&null!==e.folder&&(r=n[4].verify(e.folder)))return"folder."+r;if(void 0!==e.requirement&&null!==e.requirement&&(r=n[5].verify(e.requirement)))return"requirement."+r;if(!s.isInteger(e.channelId))return"channelId: integer expected";if(void 0!==e.displayName&&null!==e.displayName&&(r=n[7].verify(e.displayName)))return"displayName."+r;if(void 0!==e.isVisible&&"boolean"!=typeof e.isVisible)return"isVisible: boolean expected";if(void 0!==e.isEnabled&&"boolean"!=typeof e.isEnabled)return"isEnabled: boolean expected";if(void 0!==e.isChecked&&"boolean"!=typeof e.isChecked)return"isChecked: boolean expected";if(void 0!==e.layerMenuIconPath&&!s.isString(e.layerMenuIconPath))return"layerMenuIconPath: string expected";if(void 0!==e.description&&null!==e.description&&(r=n[12].verify(e.description)))return"description."+r;if(void 0!==e.lookAt&&null!==e.lookAt&&(r=n[13].verify(e.lookAt)))return"lookAt."+r;if(void 0!==e.assetUuid&&!s.isString(e.assetUuid))return"assetUuid: string expected";if(void 0!==e.isSaveLocked&&"boolean"!=typeof e.isSaveLocked)return"isSaveLocked: boolean expected";if(void 0!==e.children){if(!Array.isArray(e.children))return"children: array expected";for(var r,t=0;t<e.children.length;++t)if(r=n[16].verify(e.children[t]))return"children."+r}return void 0===e.clientConfigScriptName||s.isString(e.clientConfigScriptName)?void 0===e.dioramaDataChannelBase||s.isInteger(e.dioramaDataChannelBase)?void 0===e.replicaDataChannelBase||s.isInteger(e.replicaDataChannelBase)?null:"replicaDataChannelBase: integer expected":"dioramaDataChannelBase: integer expected":"clientConfigScriptName: string expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.NestedFeatureProto)return e;var r=new c.keyhole.dbroot.NestedFeatureProto;switch(e.featureType){case"TYPE_POINT_Z":case 1:r.featureType=1;break;case"TYPE_POLYGON_Z":case 2:r.featureType=2;break;case"TYPE_LINE_Z":case 3:r.featureType=3;break;case"TYPE_TERRAIN":case 4:r.featureType=4}if(void 0!==e.kmlUrl&&null!==e.kmlUrl){if("object"!=typeof e.kmlUrl)throw TypeError(".keyhole.dbroot.NestedFeatureProto.kmlUrl: object expected");r.kmlUrl=n[1].fromObject(e.kmlUrl)}if(void 0!==e.databaseUrl&&null!==e.databaseUrl&&(r.databaseUrl=String(e.databaseUrl)),void 0!==e.layer&&null!==e.layer){if("object"!=typeof e.layer)throw TypeError(".keyhole.dbroot.NestedFeatureProto.layer: object expected");r.layer=n[3].fromObject(e.layer)}if(void 0!==e.folder&&null!==e.folder){if("object"!=typeof e.folder)throw TypeError(".keyhole.dbroot.NestedFeatureProto.folder: object expected");r.folder=n[4].fromObject(e.folder)}if(void 0!==e.requirement&&null!==e.requirement){if("object"!=typeof e.requirement)throw TypeError(".keyhole.dbroot.NestedFeatureProto.requirement: object expected");r.requirement=n[5].fromObject(e.requirement)}if(void 0!==e.channelId&&null!==e.channelId&&(r.channelId=0|e.channelId),void 0!==e.displayName&&null!==e.displayName){if("object"!=typeof e.displayName)throw TypeError(".keyhole.dbroot.NestedFeatureProto.displayName: object expected");r.displayName=n[7].fromObject(e.displayName)}if(void 0!==e.isVisible&&null!==e.isVisible&&(r.isVisible=Boolean(e.isVisible)),void 0!==e.isEnabled&&null!==e.isEnabled&&(r.isEnabled=Boolean(e.isEnabled)),void 0!==e.isChecked&&null!==e.isChecked&&(r.isChecked=Boolean(e.isChecked)),void 0!==e.layerMenuIconPath&&null!==e.layerMenuIconPath&&(r.layerMenuIconPath=String(e.layerMenuIconPath)),void 0!==e.description&&null!==e.description){if("object"!=typeof e.description)throw TypeError(".keyhole.dbroot.NestedFeatureProto.description: object expected");r.description=n[12].fromObject(e.description)}if(void 0!==e.lookAt&&null!==e.lookAt){if("object"!=typeof e.lookAt)throw TypeError(".keyhole.dbroot.NestedFeatureProto.lookAt: object expected");r.lookAt=n[13].fromObject(e.lookAt)}if(void 0!==e.assetUuid&&null!==e.assetUuid&&(r.assetUuid=String(e.assetUuid)),void 0!==e.isSaveLocked&&null!==e.isSaveLocked&&(r.isSaveLocked=Boolean(e.isSaveLocked)),e.children){if(!Array.isArray(e.children))throw TypeError(".keyhole.dbroot.NestedFeatureProto.children: array expected");r.children=[];for(var t=0;t<e.children.length;++t){if("object"!=typeof e.children[t])throw TypeError(".keyhole.dbroot.NestedFeatureProto.children: object expected");r.children[t]=n[16].fromObject(e.children[t])}}return void 0!==e.clientConfigScriptName&&null!==e.clientConfigScriptName&&(r.clientConfigScriptName=String(e.clientConfigScriptName)),void 0!==e.dioramaDataChannelBase&&null!==e.dioramaDataChannelBase&&(r.dioramaDataChannelBase=0|e.dioramaDataChannelBase),void 0!==e.replicaDataChannelBase&&null!==e.replicaDataChannelBase&&(r.replicaDataChannelBase=0|e.replicaDataChannelBase),r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.children=[]),r.defaults&&(t.featureType=r.enums===String?"TYPE_POINT_Z":1,t.kmlUrl=null,t.databaseUrl="",t.layer=null,t.folder=null,t.requirement=null,t.channelId=0,t.displayName=null,t.isVisible=!0,t.isEnabled=!0,t.isChecked=!1,t.layerMenuIconPath="icons/773_l.png",t.description=null,t.lookAt=null,t.assetUuid="",t.isSaveLocked=!0,t.clientConfigScriptName="",t.dioramaDataChannelBase=-1,t.replicaDataChannelBase=-1),void 0!==e.featureType&&null!==e.featureType&&e.hasOwnProperty("featureType")&&(t.featureType=r.enums===String?n[0][e.featureType]:e.featureType),void 0!==e.kmlUrl&&null!==e.kmlUrl&&e.hasOwnProperty("kmlUrl")&&(t.kmlUrl=n[1].toObject(e.kmlUrl,r)),void 0!==e.databaseUrl&&null!==e.databaseUrl&&e.hasOwnProperty("databaseUrl")&&(t.databaseUrl=e.databaseUrl),void 0!==e.layer&&null!==e.layer&&e.hasOwnProperty("layer")&&(t.layer=n[3].toObject(e.layer,r)),void 0!==e.folder&&null!==e.folder&&e.hasOwnProperty("folder")&&(t.folder=n[4].toObject(e.folder,r)),void 0!==e.requirement&&null!==e.requirement&&e.hasOwnProperty("requirement")&&(t.requirement=n[5].toObject(e.requirement,r)),void 0!==e.channelId&&null!==e.channelId&&e.hasOwnProperty("channelId")&&(t.channelId=e.channelId),void 0!==e.displayName&&null!==e.displayName&&e.hasOwnProperty("displayName")&&(t.displayName=n[7].toObject(e.displayName,r)),void 0!==e.isVisible&&null!==e.isVisible&&e.hasOwnProperty("isVisible")&&(t.isVisible=e.isVisible),void 0!==e.isEnabled&&null!==e.isEnabled&&e.hasOwnProperty("isEnabled")&&(t.isEnabled=e.isEnabled),void 0!==e.isChecked&&null!==e.isChecked&&e.hasOwnProperty("isChecked")&&(t.isChecked=e.isChecked),void 0!==e.layerMenuIconPath&&null!==e.layerMenuIconPath&&e.hasOwnProperty("layerMenuIconPath")&&(t.layerMenuIconPath=e.layerMenuIconPath),void 0!==e.description&&null!==e.description&&e.hasOwnProperty("description")&&(t.description=n[12].toObject(e.description,r)),void 0!==e.lookAt&&null!==e.lookAt&&e.hasOwnProperty("lookAt")&&(t.lookAt=n[13].toObject(e.lookAt,r)),void 0!==e.assetUuid&&null!==e.assetUuid&&e.hasOwnProperty("assetUuid")&&(t.assetUuid=e.assetUuid),void 0!==e.isSaveLocked&&null!==e.isSaveLocked&&e.hasOwnProperty("isSaveLocked")&&(t.isSaveLocked=e.isSaveLocked),void 0!==e.children&&null!==e.children&&e.hasOwnProperty("children")){t.children=[];for(var o=0;o<e.children.length;++o)t.children[o]=n[16].toObject(e.children[o],r)}return void 0!==e.clientConfigScriptName&&null!==e.clientConfigScriptName&&e.hasOwnProperty("clientConfigScriptName")&&(t.clientConfigScriptName=e.clientConfigScriptName),void 0!==e.dioramaDataChannelBase&&null!==e.dioramaDataChannelBase&&e.hasOwnProperty("dioramaDataChannelBase")&&(t.dioramaDataChannelBase=e.dioramaDataChannelBase),void 0!==e.replicaDataChannelBase&&null!==e.replicaDataChannelBase&&e.hasOwnProperty("replicaDataChannelBase")&&(t.replicaDataChannelBase=e.replicaDataChannelBase),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.FeatureType=((r=Object.create({})).TYPE_POINT_Z=1,r.TYPE_POLYGON_Z=2,r.TYPE_LINE_Z=3,r.TYPE_TERRAIN=4,r),e}(),e.MfeDomainFeaturesProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.countryCode="",e.prototype.domainName="",e.prototype.supportedFeatures=s.emptyArray;var r,a={2:"keyhole.dbroot.MfeDomainFeaturesProto.SupportedFeature"};return p.push(a),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.MfeDomainFeaturesProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.countryCode=e.string();break;case 2:o.domainName=e.string();break;case 3:if(o.supportedFeatures&&o.supportedFeatures.length||(o.supportedFeatures=[]),2==(7&a))for(var n=e.uint32()+e.pos;e.pos<n;)o.supportedFeatures.push(e.uint32());else o.supportedFeatures.push(e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!s.isString(e.countryCode))return"countryCode: string expected";if(!s.isString(e.domainName))return"domainName: string expected";if(void 0!==e.supportedFeatures){if(!Array.isArray(e.supportedFeatures))return"supportedFeatures: array expected";for(var r=0;r<e.supportedFeatures.length;++r)switch(e.supportedFeatures[r]){default:return"supportedFeatures: enum value[] expected";case 0:case 1:case 2:}}return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.MfeDomainFeaturesProto)return e;var r=new c.keyhole.dbroot.MfeDomainFeaturesProto;if(void 0!==e.countryCode&&null!==e.countryCode&&(r.countryCode=String(e.countryCode)),void 0!==e.domainName&&null!==e.domainName&&(r.domainName=String(e.domainName)),e.supportedFeatures){if(!Array.isArray(e.supportedFeatures))throw TypeError(".keyhole.dbroot.MfeDomainFeaturesProto.supportedFeatures: array expected");r.supportedFeatures=[];for(var t=0;t<e.supportedFeatures.length;++t)switch(e.supportedFeatures[t]){default:case"GEOCODING":case 0:r.supportedFeatures[t]=0;break;case"LOCAL_SEARCH":case 1:r.supportedFeatures[t]=1;break;case"DRIVING_DIRECTIONS":case 2:r.supportedFeatures[t]=2}}return r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.supportedFeatures=[]),r.defaults&&(t.countryCode="",t.domainName=""),void 0!==e.countryCode&&null!==e.countryCode&&e.hasOwnProperty("countryCode")&&(t.countryCode=e.countryCode),void 0!==e.domainName&&null!==e.domainName&&e.hasOwnProperty("domainName")&&(t.domainName=e.domainName),void 0!==e.supportedFeatures&&null!==e.supportedFeatures&&e.hasOwnProperty("supportedFeatures")){t.supportedFeatures=[];for(var o=0;o<e.supportedFeatures.length;++o)t.supportedFeatures[o]=r.enums===String?a[2][e.supportedFeatures[o]]:e.supportedFeatures[o]}return t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.SupportedFeature=((r=Object.create({})).GEOCODING=0,r.LOCAL_SEARCH=1,r.DRIVING_DIRECTIONS=2,r),e}(),e.ClientOptionsProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.disableDiskCache=!1,e.prototype.disableEmbeddedBrowserVista=!1,e.prototype.drawAtmosphere=!0,e.prototype.drawStars=!0,e.prototype.shaderFilePrefix="",e.prototype.useProtobufQuadtreePackets=!1,e.prototype.useExtendedCopyrightIds=!0,e.prototype.precipitationsOptions=null,e.prototype.captureOptions=null,e.prototype.show_2dMapsIcon=!0,e.prototype.disableInternalBrowser=!1,e.prototype.internalBrowserBlacklist="",e.prototype.internalBrowserOriginWhitelist="*",e.prototype.polarTileMergingLevel=0,e.prototype.jsBridgeRequestWhitelist="http://*.google.com/*",e.prototype.mapsOptions=null;var n={7:"keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions",8:"keyhole.dbroot.ClientOptionsProto.CaptureOptions",15:"keyhole.dbroot.ClientOptionsProto.MapsOptions"};function r(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.ClientOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.disableDiskCache=e.bool();break;case 2:o.disableEmbeddedBrowserVista=e.bool();break;case 3:o.drawAtmosphere=e.bool();break;case 4:o.drawStars=e.bool();break;case 5:o.shaderFilePrefix=e.string();break;case 6:o.useProtobufQuadtreePackets=e.bool();break;case 7:o.useExtendedCopyrightIds=e.bool();break;case 8:o.precipitationsOptions=n[7].decode(e,e.uint32());break;case 9:o.captureOptions=n[8].decode(e,e.uint32());break;case 10:o.show_2dMapsIcon=e.bool();break;case 11:o.disableInternalBrowser=e.bool();break;case 12:o.internalBrowserBlacklist=e.string();break;case 13:o.internalBrowserOriginWhitelist=e.string();break;case 14:o.polarTileMergingLevel=e.int32();break;case 15:o.jsBridgeRequestWhitelist=e.string();break;case 16:o.mapsOptions=n[15].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.disableDiskCache&&"boolean"!=typeof e.disableDiskCache)return"disableDiskCache: boolean expected";if(void 0!==e.disableEmbeddedBrowserVista&&"boolean"!=typeof e.disableEmbeddedBrowserVista)return"disableEmbeddedBrowserVista: boolean expected";if(void 0!==e.drawAtmosphere&&"boolean"!=typeof e.drawAtmosphere)return"drawAtmosphere: boolean expected";if(void 0!==e.drawStars&&"boolean"!=typeof e.drawStars)return"drawStars: boolean expected";if(void 0!==e.shaderFilePrefix&&!s.isString(e.shaderFilePrefix))return"shaderFilePrefix: string expected";if(void 0!==e.useProtobufQuadtreePackets&&"boolean"!=typeof e.useProtobufQuadtreePackets)return"useProtobufQuadtreePackets: boolean expected";if(void 0!==e.useExtendedCopyrightIds&&"boolean"!=typeof e.useExtendedCopyrightIds)return"useExtendedCopyrightIds: boolean expected";var r;if(void 0!==e.precipitationsOptions&&null!==e.precipitationsOptions&&(r=n[7].verify(e.precipitationsOptions)))return"precipitationsOptions."+r;if(void 0!==e.captureOptions&&null!==e.captureOptions&&(r=n[8].verify(e.captureOptions)))return"captureOptions."+r;if(void 0!==e.show_2dMapsIcon&&"boolean"!=typeof e.show_2dMapsIcon)return"show_2dMapsIcon: boolean expected";if(void 0!==e.disableInternalBrowser&&"boolean"!=typeof e.disableInternalBrowser)return"disableInternalBrowser: boolean expected";if(void 0!==e.internalBrowserBlacklist&&!s.isString(e.internalBrowserBlacklist))return"internalBrowserBlacklist: string expected";if(void 0!==e.internalBrowserOriginWhitelist&&!s.isString(e.internalBrowserOriginWhitelist))return"internalBrowserOriginWhitelist: string expected";if(void 0!==e.polarTileMergingLevel&&!s.isInteger(e.polarTileMergingLevel))return"polarTileMergingLevel: integer expected";if(void 0!==e.jsBridgeRequestWhitelist&&!s.isString(e.jsBridgeRequestWhitelist))return"jsBridgeRequestWhitelist: string expected";if(void 0!==e.mapsOptions&&null!==e.mapsOptions&&(r=n[15].verify(e.mapsOptions)))return"mapsOptions."+r;return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.ClientOptionsProto)return e;var r=new c.keyhole.dbroot.ClientOptionsProto;if(void 0!==e.disableDiskCache&&null!==e.disableDiskCache&&(r.disableDiskCache=Boolean(e.disableDiskCache)),void 0!==e.disableEmbeddedBrowserVista&&null!==e.disableEmbeddedBrowserVista&&(r.disableEmbeddedBrowserVista=Boolean(e.disableEmbeddedBrowserVista)),void 0!==e.drawAtmosphere&&null!==e.drawAtmosphere&&(r.drawAtmosphere=Boolean(e.drawAtmosphere)),void 0!==e.drawStars&&null!==e.drawStars&&(r.drawStars=Boolean(e.drawStars)),void 0!==e.shaderFilePrefix&&null!==e.shaderFilePrefix&&(r.shaderFilePrefix=String(e.shaderFilePrefix)),void 0!==e.useProtobufQuadtreePackets&&null!==e.useProtobufQuadtreePackets&&(r.useProtobufQuadtreePackets=Boolean(e.useProtobufQuadtreePackets)),void 0!==e.useExtendedCopyrightIds&&null!==e.useExtendedCopyrightIds&&(r.useExtendedCopyrightIds=Boolean(e.useExtendedCopyrightIds)),void 0!==e.precipitationsOptions&&null!==e.precipitationsOptions){if("object"!=typeof e.precipitationsOptions)throw TypeError(".keyhole.dbroot.ClientOptionsProto.precipitationsOptions: object expected");r.precipitationsOptions=n[7].fromObject(e.precipitationsOptions)}if(void 0!==e.captureOptions&&null!==e.captureOptions){if("object"!=typeof e.captureOptions)throw TypeError(".keyhole.dbroot.ClientOptionsProto.captureOptions: object expected");r.captureOptions=n[8].fromObject(e.captureOptions)}if(void 0!==e.show_2dMapsIcon&&null!==e.show_2dMapsIcon&&(r.show_2dMapsIcon=Boolean(e.show_2dMapsIcon)),void 0!==e.disableInternalBrowser&&null!==e.disableInternalBrowser&&(r.disableInternalBrowser=Boolean(e.disableInternalBrowser)),void 0!==e.internalBrowserBlacklist&&null!==e.internalBrowserBlacklist&&(r.internalBrowserBlacklist=String(e.internalBrowserBlacklist)),void 0!==e.internalBrowserOriginWhitelist&&null!==e.internalBrowserOriginWhitelist&&(r.internalBrowserOriginWhitelist=String(e.internalBrowserOriginWhitelist)),void 0!==e.polarTileMergingLevel&&null!==e.polarTileMergingLevel&&(r.polarTileMergingLevel=0|e.polarTileMergingLevel),void 0!==e.jsBridgeRequestWhitelist&&null!==e.jsBridgeRequestWhitelist&&(r.jsBridgeRequestWhitelist=String(e.jsBridgeRequestWhitelist)),void 0!==e.mapsOptions&&null!==e.mapsOptions){if("object"!=typeof e.mapsOptions)throw TypeError(".keyhole.dbroot.ClientOptionsProto.mapsOptions: object expected");r.mapsOptions=n[15].fromObject(e.mapsOptions)}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.disableDiskCache=!1,t.disableEmbeddedBrowserVista=!1,t.drawAtmosphere=!0,t.drawStars=!0,t.shaderFilePrefix="",t.useProtobufQuadtreePackets=!1,t.useExtendedCopyrightIds=!0,t.precipitationsOptions=null,t.captureOptions=null,t.show_2dMapsIcon=!0,t.disableInternalBrowser=!1,t.internalBrowserBlacklist="",t.internalBrowserOriginWhitelist="*",t.polarTileMergingLevel=0,t.jsBridgeRequestWhitelist="http://*.google.com/*",t.mapsOptions=null),void 0!==e.disableDiskCache&&null!==e.disableDiskCache&&e.hasOwnProperty("disableDiskCache")&&(t.disableDiskCache=e.disableDiskCache),void 0!==e.disableEmbeddedBrowserVista&&null!==e.disableEmbeddedBrowserVista&&e.hasOwnProperty("disableEmbeddedBrowserVista")&&(t.disableEmbeddedBrowserVista=e.disableEmbeddedBrowserVista),void 0!==e.drawAtmosphere&&null!==e.drawAtmosphere&&e.hasOwnProperty("drawAtmosphere")&&(t.drawAtmosphere=e.drawAtmosphere),void 0!==e.drawStars&&null!==e.drawStars&&e.hasOwnProperty("drawStars")&&(t.drawStars=e.drawStars),void 0!==e.shaderFilePrefix&&null!==e.shaderFilePrefix&&e.hasOwnProperty("shaderFilePrefix")&&(t.shaderFilePrefix=e.shaderFilePrefix),void 0!==e.useProtobufQuadtreePackets&&null!==e.useProtobufQuadtreePackets&&e.hasOwnProperty("useProtobufQuadtreePackets")&&(t.useProtobufQuadtreePackets=e.useProtobufQuadtreePackets),void 0!==e.useExtendedCopyrightIds&&null!==e.useExtendedCopyrightIds&&e.hasOwnProperty("useExtendedCopyrightIds")&&(t.useExtendedCopyrightIds=e.useExtendedCopyrightIds),void 0!==e.precipitationsOptions&&null!==e.precipitationsOptions&&e.hasOwnProperty("precipitationsOptions")&&(t.precipitationsOptions=n[7].toObject(e.precipitationsOptions,r)),void 0!==e.captureOptions&&null!==e.captureOptions&&e.hasOwnProperty("captureOptions")&&(t.captureOptions=n[8].toObject(e.captureOptions,r)),void 0!==e.show_2dMapsIcon&&null!==e.show_2dMapsIcon&&e.hasOwnProperty("show_2dMapsIcon")&&(t.show_2dMapsIcon=e.show_2dMapsIcon),void 0!==e.disableInternalBrowser&&null!==e.disableInternalBrowser&&e.hasOwnProperty("disableInternalBrowser")&&(t.disableInternalBrowser=e.disableInternalBrowser),void 0!==e.internalBrowserBlacklist&&null!==e.internalBrowserBlacklist&&e.hasOwnProperty("internalBrowserBlacklist")&&(t.internalBrowserBlacklist=e.internalBrowserBlacklist),void 0!==e.internalBrowserOriginWhitelist&&null!==e.internalBrowserOriginWhitelist&&e.hasOwnProperty("internalBrowserOriginWhitelist")&&(t.internalBrowserOriginWhitelist=e.internalBrowserOriginWhitelist),void 0!==e.polarTileMergingLevel&&null!==e.polarTileMergingLevel&&e.hasOwnProperty("polarTileMergingLevel")&&(t.polarTileMergingLevel=e.polarTileMergingLevel),void 0!==e.jsBridgeRequestWhitelist&&null!==e.jsBridgeRequestWhitelist&&e.hasOwnProperty("jsBridgeRequestWhitelist")&&(t.jsBridgeRequestWhitelist=e.jsBridgeRequestWhitelist),void 0!==e.mapsOptions&&null!==e.mapsOptions&&e.hasOwnProperty("mapsOptions")&&(t.mapsOptions=n[15].toObject(e.mapsOptions,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.PrecipitationsOptions=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.imageUrl="",e.prototype.imageExpireTime=900,e.prototype.maxColorDistance=20,e.prototype.imageLevel=5,e.prototype.weatherMapping=s.emptyArray,e.prototype.cloudsLayerUrl="",e.prototype.animationDecelerationDelay=20;var n={4:"keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.imageUrl=e.string();break;case 2:o.imageExpireTime=e.int32();break;case 3:o.maxColorDistance=e.int32();break;case 4:o.imageLevel=e.int32();break;case 5:o.weatherMapping&&o.weatherMapping.length||(o.weatherMapping=[]),o.weatherMapping.push(n[4].decode(e,e.uint32()));break;case 6:o.cloudsLayerUrl=e.string();break;case 7:o.animationDecelerationDelay=e.float();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.imageUrl&&!s.isString(e.imageUrl))return"imageUrl: string expected";if(void 0!==e.imageExpireTime&&!s.isInteger(e.imageExpireTime))return"imageExpireTime: integer expected";if(void 0!==e.maxColorDistance&&!s.isInteger(e.maxColorDistance))return"maxColorDistance: integer expected";if(void 0!==e.imageLevel&&!s.isInteger(e.imageLevel))return"imageLevel: integer expected";if(void 0!==e.weatherMapping){if(!Array.isArray(e.weatherMapping))return"weatherMapping: array expected";for(var r=0;r<e.weatherMapping.length;++r){var t=n[4].verify(e.weatherMapping[r]);if(t)return"weatherMapping."+t}}return void 0===e.cloudsLayerUrl||s.isString(e.cloudsLayerUrl)?void 0!==e.animationDecelerationDelay&&"number"!=typeof e.animationDecelerationDelay?"animationDecelerationDelay: number expected":null:"cloudsLayerUrl: string expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions)return e;var r=new c.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions;if(void 0!==e.imageUrl&&null!==e.imageUrl&&(r.imageUrl=String(e.imageUrl)),void 0!==e.imageExpireTime&&null!==e.imageExpireTime&&(r.imageExpireTime=0|e.imageExpireTime),void 0!==e.maxColorDistance&&null!==e.maxColorDistance&&(r.maxColorDistance=0|e.maxColorDistance),void 0!==e.imageLevel&&null!==e.imageLevel&&(r.imageLevel=0|e.imageLevel),e.weatherMapping){if(!Array.isArray(e.weatherMapping))throw TypeError(".keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.weatherMapping: array expected");r.weatherMapping=[];for(var t=0;t<e.weatherMapping.length;++t){if("object"!=typeof e.weatherMapping[t])throw TypeError(".keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.weatherMapping: object expected");r.weatherMapping[t]=n[4].fromObject(e.weatherMapping[t])}}return void 0!==e.cloudsLayerUrl&&null!==e.cloudsLayerUrl&&(r.cloudsLayerUrl=String(e.cloudsLayerUrl)),void 0!==e.animationDecelerationDelay&&null!==e.animationDecelerationDelay&&(r.animationDecelerationDelay=Number(e.animationDecelerationDelay)),r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.weatherMapping=[]),r.defaults&&(t.imageUrl="",t.imageExpireTime=900,t.maxColorDistance=20,t.imageLevel=5,t.cloudsLayerUrl="",t.animationDecelerationDelay=20),void 0!==e.imageUrl&&null!==e.imageUrl&&e.hasOwnProperty("imageUrl")&&(t.imageUrl=e.imageUrl),void 0!==e.imageExpireTime&&null!==e.imageExpireTime&&e.hasOwnProperty("imageExpireTime")&&(t.imageExpireTime=e.imageExpireTime),void 0!==e.maxColorDistance&&null!==e.maxColorDistance&&e.hasOwnProperty("maxColorDistance")&&(t.maxColorDistance=e.maxColorDistance),void 0!==e.imageLevel&&null!==e.imageLevel&&e.hasOwnProperty("imageLevel")&&(t.imageLevel=e.imageLevel),void 0!==e.weatherMapping&&null!==e.weatherMapping&&e.hasOwnProperty("weatherMapping")){t.weatherMapping=[];for(var o=0;o<e.weatherMapping.length;++o)t.weatherMapping[o]=n[4].toObject(e.weatherMapping[o],r)}return void 0!==e.cloudsLayerUrl&&null!==e.cloudsLayerUrl&&e.hasOwnProperty("cloudsLayerUrl")&&(t.cloudsLayerUrl=e.cloudsLayerUrl),void 0!==e.animationDecelerationDelay&&null!==e.animationDecelerationDelay&&e.hasOwnProperty("animationDecelerationDelay")&&(t.animationDecelerationDelay=e.animationDecelerationDelay),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.WeatherMapping=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.colorAbgr=0,e.prototype.weatherType=0,e.prototype.elongation=1,e.prototype.opacity=0,e.prototype.fogDensity=0,e.prototype.speed0=0,e.prototype.speed1=0,e.prototype.speed2=0,e.prototype.speed3=0;var r,o={1:"keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping.WeatherType"};return p.push(o),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.colorAbgr=e.uint32();break;case 2:o.weatherType=e.uint32();break;case 3:o.elongation=e.float();break;case 4:o.opacity=e.float();break;case 5:o.fogDensity=e.float();break;case 6:o.speed0=e.float();break;case 7:o.speed1=e.float();break;case 8:o.speed2=e.float();break;case 9:o.speed3=e.float();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!s.isInteger(e.colorAbgr))return"colorAbgr: integer expected";switch(e.weatherType){default:return"weatherType: enum value expected";case 0:case 1:case 2:}return void 0!==e.elongation&&"number"!=typeof e.elongation?"elongation: number expected":void 0!==e.opacity&&"number"!=typeof e.opacity?"opacity: number expected":void 0!==e.fogDensity&&"number"!=typeof e.fogDensity?"fogDensity: number expected":void 0!==e.speed0&&"number"!=typeof e.speed0?"speed0: number expected":void 0!==e.speed1&&"number"!=typeof e.speed1?"speed1: number expected":void 0!==e.speed2&&"number"!=typeof e.speed2?"speed2: number expected":void 0!==e.speed3&&"number"!=typeof e.speed3?"speed3: number expected":null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping)return e;var r=new c.keyhole.dbroot.ClientOptionsProto.PrecipitationsOptions.WeatherMapping;switch(void 0!==e.colorAbgr&&null!==e.colorAbgr&&(r.colorAbgr=e.colorAbgr>>>0),e.weatherType){case"NO_PRECIPITATION":case 0:r.weatherType=0;break;case"RAIN":case 1:r.weatherType=1;break;case"SNOW":case 2:r.weatherType=2}return void 0!==e.elongation&&null!==e.elongation&&(r.elongation=Number(e.elongation)),void 0!==e.opacity&&null!==e.opacity&&(r.opacity=Number(e.opacity)),void 0!==e.fogDensity&&null!==e.fogDensity&&(r.fogDensity=Number(e.fogDensity)),void 0!==e.speed0&&null!==e.speed0&&(r.speed0=Number(e.speed0)),void 0!==e.speed1&&null!==e.speed1&&(r.speed1=Number(e.speed1)),void 0!==e.speed2&&null!==e.speed2&&(r.speed2=Number(e.speed2)),void 0!==e.speed3&&null!==e.speed3&&(r.speed3=Number(e.speed3)),r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.colorAbgr=0,t.weatherType=r.enums===String?"NO_PRECIPITATION":0,t.elongation=1,t.opacity=0,t.fogDensity=0,t.speed0=0,t.speed1=0,t.speed2=0,t.speed3=0),void 0!==e.colorAbgr&&null!==e.colorAbgr&&e.hasOwnProperty("colorAbgr")&&(t.colorAbgr=e.colorAbgr),void 0!==e.weatherType&&null!==e.weatherType&&e.hasOwnProperty("weatherType")&&(t.weatherType=r.enums===String?o[1][e.weatherType]:e.weatherType),void 0!==e.elongation&&null!==e.elongation&&e.hasOwnProperty("elongation")&&(t.elongation=e.elongation),void 0!==e.opacity&&null!==e.opacity&&e.hasOwnProperty("opacity")&&(t.opacity=e.opacity),void 0!==e.fogDensity&&null!==e.fogDensity&&e.hasOwnProperty("fogDensity")&&(t.fogDensity=e.fogDensity),void 0!==e.speed0&&null!==e.speed0&&e.hasOwnProperty("speed0")&&(t.speed0=e.speed0),void 0!==e.speed1&&null!==e.speed1&&e.hasOwnProperty("speed1")&&(t.speed1=e.speed1),void 0!==e.speed2&&null!==e.speed2&&e.hasOwnProperty("speed2")&&(t.speed2=e.speed2),void 0!==e.speed3&&null!==e.speed3&&e.hasOwnProperty("speed3")&&(t.speed3=e.speed3),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.WeatherType=((r=Object.create({})).NO_PRECIPITATION=0,r.RAIN=1,r.SNOW=2,r),e}(),e}(),e.CaptureOptions=(r.prototype.allowSaveAsImage=!0,r.prototype.maxFreeCaptureRes=2400,r.prototype.maxPremiumCaptureRes=4800,r.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.ClientOptionsProto.CaptureOptions;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.allowSaveAsImage=e.bool();break;case 2:o.maxFreeCaptureRes=e.int32();break;case 3:o.maxPremiumCaptureRes=e.int32();break;default:e.skipType(7&a)}}return o},r.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.allowSaveAsImage&&"boolean"!=typeof e.allowSaveAsImage?"allowSaveAsImage: boolean expected":void 0===e.maxFreeCaptureRes||s.isInteger(e.maxFreeCaptureRes)?void 0===e.maxPremiumCaptureRes||s.isInteger(e.maxPremiumCaptureRes)?null:"maxPremiumCaptureRes: integer expected":"maxFreeCaptureRes: integer expected"},r.from=r.fromObject=function(e){if(e instanceof c.keyhole.dbroot.ClientOptionsProto.CaptureOptions)return e;var r=new c.keyhole.dbroot.ClientOptionsProto.CaptureOptions;return void 0!==e.allowSaveAsImage&&null!==e.allowSaveAsImage&&(r.allowSaveAsImage=Boolean(e.allowSaveAsImage)),void 0!==e.maxFreeCaptureRes&&null!==e.maxFreeCaptureRes&&(r.maxFreeCaptureRes=0|e.maxFreeCaptureRes),void 0!==e.maxPremiumCaptureRes&&null!==e.maxPremiumCaptureRes&&(r.maxPremiumCaptureRes=0|e.maxPremiumCaptureRes),r},r.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.allowSaveAsImage=!0,t.maxFreeCaptureRes=2400,t.maxPremiumCaptureRes=4800),void 0!==e.allowSaveAsImage&&null!==e.allowSaveAsImage&&e.hasOwnProperty("allowSaveAsImage")&&(t.allowSaveAsImage=e.allowSaveAsImage),void 0!==e.maxFreeCaptureRes&&null!==e.maxFreeCaptureRes&&e.hasOwnProperty("maxFreeCaptureRes")&&(t.maxFreeCaptureRes=e.maxFreeCaptureRes),void 0!==e.maxPremiumCaptureRes&&null!==e.maxPremiumCaptureRes&&e.hasOwnProperty("maxPremiumCaptureRes")&&(t.maxPremiumCaptureRes=e.maxPremiumCaptureRes),t},r.prototype.toObject=function(e){return this.constructor.toObject(this,e)},r.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},r),e.MapsOptions=(t.prototype.enableMaps=!1,t.prototype.docsAutoDownloadEnabled=!1,t.prototype.docsAutoDownloadInterval=0,t.prototype.docsAutoUploadEnabled=!1,t.prototype.docsAutoUploadDelay=0,t.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.ClientOptionsProto.MapsOptions;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.enableMaps=e.bool();break;case 2:o.docsAutoDownloadEnabled=e.bool();break;case 3:o.docsAutoDownloadInterval=e.int32();break;case 4:o.docsAutoUploadEnabled=e.bool();break;case 5:o.docsAutoUploadDelay=e.int32();break;default:e.skipType(7&a)}}return o},t.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.enableMaps&&"boolean"!=typeof e.enableMaps?"enableMaps: boolean expected":void 0!==e.docsAutoDownloadEnabled&&"boolean"!=typeof e.docsAutoDownloadEnabled?"docsAutoDownloadEnabled: boolean expected":void 0===e.docsAutoDownloadInterval||s.isInteger(e.docsAutoDownloadInterval)?void 0!==e.docsAutoUploadEnabled&&"boolean"!=typeof e.docsAutoUploadEnabled?"docsAutoUploadEnabled: boolean expected":void 0===e.docsAutoUploadDelay||s.isInteger(e.docsAutoUploadDelay)?null:"docsAutoUploadDelay: integer expected":"docsAutoDownloadInterval: integer expected"},t.from=t.fromObject=function(e){if(e instanceof c.keyhole.dbroot.ClientOptionsProto.MapsOptions)return e;var r=new c.keyhole.dbroot.ClientOptionsProto.MapsOptions;return void 0!==e.enableMaps&&null!==e.enableMaps&&(r.enableMaps=Boolean(e.enableMaps)),void 0!==e.docsAutoDownloadEnabled&&null!==e.docsAutoDownloadEnabled&&(r.docsAutoDownloadEnabled=Boolean(e.docsAutoDownloadEnabled)),void 0!==e.docsAutoDownloadInterval&&null!==e.docsAutoDownloadInterval&&(r.docsAutoDownloadInterval=0|e.docsAutoDownloadInterval),void 0!==e.docsAutoUploadEnabled&&null!==e.docsAutoUploadEnabled&&(r.docsAutoUploadEnabled=Boolean(e.docsAutoUploadEnabled)),void 0!==e.docsAutoUploadDelay&&null!==e.docsAutoUploadDelay&&(r.docsAutoUploadDelay=0|e.docsAutoUploadDelay),r},t.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.enableMaps=!1,t.docsAutoDownloadEnabled=!1,t.docsAutoDownloadInterval=0,t.docsAutoUploadEnabled=!1,t.docsAutoUploadDelay=0),void 0!==e.enableMaps&&null!==e.enableMaps&&e.hasOwnProperty("enableMaps")&&(t.enableMaps=e.enableMaps),void 0!==e.docsAutoDownloadEnabled&&null!==e.docsAutoDownloadEnabled&&e.hasOwnProperty("docsAutoDownloadEnabled")&&(t.docsAutoDownloadEnabled=e.docsAutoDownloadEnabled),void 0!==e.docsAutoDownloadInterval&&null!==e.docsAutoDownloadInterval&&e.hasOwnProperty("docsAutoDownloadInterval")&&(t.docsAutoDownloadInterval=e.docsAutoDownloadInterval),void 0!==e.docsAutoUploadEnabled&&null!==e.docsAutoUploadEnabled&&e.hasOwnProperty("docsAutoUploadEnabled")&&(t.docsAutoUploadEnabled=e.docsAutoUploadEnabled),void 0!==e.docsAutoUploadDelay&&null!==e.docsAutoUploadDelay&&e.hasOwnProperty("docsAutoUploadDelay")&&(t.docsAutoUploadDelay=e.docsAutoUploadDelay),t},t.prototype.toObject=function(e){return this.constructor.toObject(this,e)},t.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},t),e}(),e.FetchingOptionsProto=(f.prototype.maxRequestsPerQuery=1,f.prototype.forceMaxRequestsPerQuery=!1,f.prototype.sortBatches=!1,f.prototype.maxDrawable=2,f.prototype.maxImagery=2,f.prototype.maxTerrain=5,f.prototype.maxQuadtree=5,f.prototype.maxDioramaMetadata=1,f.prototype.maxDioramaData=0,f.prototype.maxConsumerFetchRatio=1,f.prototype.maxProEcFetchRatio=0,f.prototype.safeOverallQps=0,f.prototype.safeImageryQps=0,f.prototype.domainsForHttps="google.com gstatic.com",f.prototype.hostsForHttp="",f.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.FetchingOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.maxRequestsPerQuery=e.int32();break;case 12:o.forceMaxRequestsPerQuery=e.bool();break;case 13:o.sortBatches=e.bool();break;case 2:o.maxDrawable=e.int32();break;case 3:o.maxImagery=e.int32();break;case 4:o.maxTerrain=e.int32();break;case 5:o.maxQuadtree=e.int32();break;case 6:o.maxDioramaMetadata=e.int32();break;case 7:o.maxDioramaData=e.int32();break;case 8:o.maxConsumerFetchRatio=e.float();break;case 9:o.maxProEcFetchRatio=e.float();break;case 10:o.safeOverallQps=e.float();break;case 11:o.safeImageryQps=e.float();break;case 14:o.domainsForHttps=e.string();break;case 15:o.hostsForHttp=e.string();break;default:e.skipType(7&a)}}return o},f.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.maxRequestsPerQuery||s.isInteger(e.maxRequestsPerQuery)?void 0!==e.forceMaxRequestsPerQuery&&"boolean"!=typeof e.forceMaxRequestsPerQuery?"forceMaxRequestsPerQuery: boolean expected":void 0!==e.sortBatches&&"boolean"!=typeof e.sortBatches?"sortBatches: boolean expected":void 0===e.maxDrawable||s.isInteger(e.maxDrawable)?void 0===e.maxImagery||s.isInteger(e.maxImagery)?void 0===e.maxTerrain||s.isInteger(e.maxTerrain)?void 0===e.maxQuadtree||s.isInteger(e.maxQuadtree)?void 0===e.maxDioramaMetadata||s.isInteger(e.maxDioramaMetadata)?void 0===e.maxDioramaData||s.isInteger(e.maxDioramaData)?void 0!==e.maxConsumerFetchRatio&&"number"!=typeof e.maxConsumerFetchRatio?"maxConsumerFetchRatio: number expected":void 0!==e.maxProEcFetchRatio&&"number"!=typeof e.maxProEcFetchRatio?"maxProEcFetchRatio: number expected":void 0!==e.safeOverallQps&&"number"!=typeof e.safeOverallQps?"safeOverallQps: number expected":void 0!==e.safeImageryQps&&"number"!=typeof e.safeImageryQps?"safeImageryQps: number expected":void 0===e.domainsForHttps||s.isString(e.domainsForHttps)?void 0===e.hostsForHttp||s.isString(e.hostsForHttp)?null:"hostsForHttp: string expected":"domainsForHttps: string expected":"maxDioramaData: integer expected":"maxDioramaMetadata: integer expected":"maxQuadtree: integer expected":"maxTerrain: integer expected":"maxImagery: integer expected":"maxDrawable: integer expected":"maxRequestsPerQuery: integer expected"},f.from=f.fromObject=function(e){if(e instanceof c.keyhole.dbroot.FetchingOptionsProto)return e;var r=new c.keyhole.dbroot.FetchingOptionsProto;return void 0!==e.maxRequestsPerQuery&&null!==e.maxRequestsPerQuery&&(r.maxRequestsPerQuery=0|e.maxRequestsPerQuery),void 0!==e.forceMaxRequestsPerQuery&&null!==e.forceMaxRequestsPerQuery&&(r.forceMaxRequestsPerQuery=Boolean(e.forceMaxRequestsPerQuery)),void 0!==e.sortBatches&&null!==e.sortBatches&&(r.sortBatches=Boolean(e.sortBatches)),void 0!==e.maxDrawable&&null!==e.maxDrawable&&(r.maxDrawable=0|e.maxDrawable),void 0!==e.maxImagery&&null!==e.maxImagery&&(r.maxImagery=0|e.maxImagery),void 0!==e.maxTerrain&&null!==e.maxTerrain&&(r.maxTerrain=0|e.maxTerrain),void 0!==e.maxQuadtree&&null!==e.maxQuadtree&&(r.maxQuadtree=0|e.maxQuadtree),void 0!==e.maxDioramaMetadata&&null!==e.maxDioramaMetadata&&(r.maxDioramaMetadata=0|e.maxDioramaMetadata),void 0!==e.maxDioramaData&&null!==e.maxDioramaData&&(r.maxDioramaData=0|e.maxDioramaData),void 0!==e.maxConsumerFetchRatio&&null!==e.maxConsumerFetchRatio&&(r.maxConsumerFetchRatio=Number(e.maxConsumerFetchRatio)),void 0!==e.maxProEcFetchRatio&&null!==e.maxProEcFetchRatio&&(r.maxProEcFetchRatio=Number(e.maxProEcFetchRatio)),void 0!==e.safeOverallQps&&null!==e.safeOverallQps&&(r.safeOverallQps=Number(e.safeOverallQps)),void 0!==e.safeImageryQps&&null!==e.safeImageryQps&&(r.safeImageryQps=Number(e.safeImageryQps)),void 0!==e.domainsForHttps&&null!==e.domainsForHttps&&(r.domainsForHttps=String(e.domainsForHttps)),void 0!==e.hostsForHttp&&null!==e.hostsForHttp&&(r.hostsForHttp=String(e.hostsForHttp)),r},f.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.maxRequestsPerQuery=1,t.forceMaxRequestsPerQuery=!1,t.sortBatches=!1,t.maxDrawable=2,t.maxImagery=2,t.maxTerrain=5,t.maxQuadtree=5,t.maxDioramaMetadata=1,t.maxDioramaData=0,t.maxConsumerFetchRatio=1,t.maxProEcFetchRatio=0,t.safeOverallQps=0,t.safeImageryQps=0,t.domainsForHttps="google.com gstatic.com",t.hostsForHttp=""),void 0!==e.maxRequestsPerQuery&&null!==e.maxRequestsPerQuery&&e.hasOwnProperty("maxRequestsPerQuery")&&(t.maxRequestsPerQuery=e.maxRequestsPerQuery),void 0!==e.forceMaxRequestsPerQuery&&null!==e.forceMaxRequestsPerQuery&&e.hasOwnProperty("forceMaxRequestsPerQuery")&&(t.forceMaxRequestsPerQuery=e.forceMaxRequestsPerQuery),void 0!==e.sortBatches&&null!==e.sortBatches&&e.hasOwnProperty("sortBatches")&&(t.sortBatches=e.sortBatches),void 0!==e.maxDrawable&&null!==e.maxDrawable&&e.hasOwnProperty("maxDrawable")&&(t.maxDrawable=e.maxDrawable),void 0!==e.maxImagery&&null!==e.maxImagery&&e.hasOwnProperty("maxImagery")&&(t.maxImagery=e.maxImagery),void 0!==e.maxTerrain&&null!==e.maxTerrain&&e.hasOwnProperty("maxTerrain")&&(t.maxTerrain=e.maxTerrain),void 0!==e.maxQuadtree&&null!==e.maxQuadtree&&e.hasOwnProperty("maxQuadtree")&&(t.maxQuadtree=e.maxQuadtree),void 0!==e.maxDioramaMetadata&&null!==e.maxDioramaMetadata&&e.hasOwnProperty("maxDioramaMetadata")&&(t.maxDioramaMetadata=e.maxDioramaMetadata),void 0!==e.maxDioramaData&&null!==e.maxDioramaData&&e.hasOwnProperty("maxDioramaData")&&(t.maxDioramaData=e.maxDioramaData),void 0!==e.maxConsumerFetchRatio&&null!==e.maxConsumerFetchRatio&&e.hasOwnProperty("maxConsumerFetchRatio")&&(t.maxConsumerFetchRatio=e.maxConsumerFetchRatio),void 0!==e.maxProEcFetchRatio&&null!==e.maxProEcFetchRatio&&e.hasOwnProperty("maxProEcFetchRatio")&&(t.maxProEcFetchRatio=e.maxProEcFetchRatio),void 0!==e.safeOverallQps&&null!==e.safeOverallQps&&e.hasOwnProperty("safeOverallQps")&&(t.safeOverallQps=e.safeOverallQps),void 0!==e.safeImageryQps&&null!==e.safeImageryQps&&e.hasOwnProperty("safeImageryQps")&&(t.safeImageryQps=e.safeImageryQps),void 0!==e.domainsForHttps&&null!==e.domainsForHttps&&e.hasOwnProperty("domainsForHttps")&&(t.domainsForHttps=e.domainsForHttps),void 0!==e.hostsForHttp&&null!==e.hostsForHttp&&e.hasOwnProperty("hostsForHttp")&&(t.hostsForHttp=e.hostsForHttp),t},f.prototype.toObject=function(e){return this.constructor.toObject(this,e)},f.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},f),e.TimeMachineOptionsProto=(h.prototype.serverUrl="",h.prototype.isTimemachine=!1,h.prototype.dwellTimeMs=500,h.prototype.discoverabilityAltitudeMeters=15e3,h.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.TimeMachineOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.serverUrl=e.string();break;case 2:o.isTimemachine=e.bool();break;case 3:o.dwellTimeMs=e.int32();break;case 4:o.discoverabilityAltitudeMeters=e.int32();break;default:e.skipType(7&a)}}return o},h.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.serverUrl||s.isString(e.serverUrl)?void 0!==e.isTimemachine&&"boolean"!=typeof e.isTimemachine?"isTimemachine: boolean expected":void 0===e.dwellTimeMs||s.isInteger(e.dwellTimeMs)?void 0===e.discoverabilityAltitudeMeters||s.isInteger(e.discoverabilityAltitudeMeters)?null:"discoverabilityAltitudeMeters: integer expected":"dwellTimeMs: integer expected":"serverUrl: string expected"},h.from=h.fromObject=function(e){if(e instanceof c.keyhole.dbroot.TimeMachineOptionsProto)return e;var r=new c.keyhole.dbroot.TimeMachineOptionsProto;return void 0!==e.serverUrl&&null!==e.serverUrl&&(r.serverUrl=String(e.serverUrl)),void 0!==e.isTimemachine&&null!==e.isTimemachine&&(r.isTimemachine=Boolean(e.isTimemachine)),void 0!==e.dwellTimeMs&&null!==e.dwellTimeMs&&(r.dwellTimeMs=0|e.dwellTimeMs),void 0!==e.discoverabilityAltitudeMeters&&null!==e.discoverabilityAltitudeMeters&&(r.discoverabilityAltitudeMeters=0|e.discoverabilityAltitudeMeters),r},h.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.serverUrl="",t.isTimemachine=!1,t.dwellTimeMs=500,t.discoverabilityAltitudeMeters=15e3),void 0!==e.serverUrl&&null!==e.serverUrl&&e.hasOwnProperty("serverUrl")&&(t.serverUrl=e.serverUrl),void 0!==e.isTimemachine&&null!==e.isTimemachine&&e.hasOwnProperty("isTimemachine")&&(t.isTimemachine=e.isTimemachine),void 0!==e.dwellTimeMs&&null!==e.dwellTimeMs&&e.hasOwnProperty("dwellTimeMs")&&(t.dwellTimeMs=e.dwellTimeMs),void 0!==e.discoverabilityAltitudeMeters&&null!==e.discoverabilityAltitudeMeters&&e.hasOwnProperty("discoverabilityAltitudeMeters")&&(t.discoverabilityAltitudeMeters=e.discoverabilityAltitudeMeters),t},h.prototype.toObject=function(e){return this.constructor.toObject(this,e)},h.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},h),e.AutopiaOptionsProto=(m.prototype.metadataServerUrl="http://cbk0.google.com/cbk",m.prototype.depthmapServerUrl="http://cbk0.google.com/cbk",m.prototype.coverageOverlayUrl="",m.prototype.maxImageryQps=0,m.prototype.maxMetadataDepthmapQps=0,m.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.AutopiaOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.metadataServerUrl=e.string();break;case 2:o.depthmapServerUrl=e.string();break;case 3:o.coverageOverlayUrl=e.string();break;case 4:o.maxImageryQps=e.float();break;case 5:o.maxMetadataDepthmapQps=e.float();break;default:e.skipType(7&a)}}return o},m.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.metadataServerUrl||s.isString(e.metadataServerUrl)?void 0===e.depthmapServerUrl||s.isString(e.depthmapServerUrl)?void 0===e.coverageOverlayUrl||s.isString(e.coverageOverlayUrl)?void 0!==e.maxImageryQps&&"number"!=typeof e.maxImageryQps?"maxImageryQps: number expected":void 0!==e.maxMetadataDepthmapQps&&"number"!=typeof e.maxMetadataDepthmapQps?"maxMetadataDepthmapQps: number expected":null:"coverageOverlayUrl: string expected":"depthmapServerUrl: string expected":"metadataServerUrl: string expected"},m.from=m.fromObject=function(e){if(e instanceof c.keyhole.dbroot.AutopiaOptionsProto)return e;var r=new c.keyhole.dbroot.AutopiaOptionsProto;return void 0!==e.metadataServerUrl&&null!==e.metadataServerUrl&&(r.metadataServerUrl=String(e.metadataServerUrl)),void 0!==e.depthmapServerUrl&&null!==e.depthmapServerUrl&&(r.depthmapServerUrl=String(e.depthmapServerUrl)),void 0!==e.coverageOverlayUrl&&null!==e.coverageOverlayUrl&&(r.coverageOverlayUrl=String(e.coverageOverlayUrl)),void 0!==e.maxImageryQps&&null!==e.maxImageryQps&&(r.maxImageryQps=Number(e.maxImageryQps)),void 0!==e.maxMetadataDepthmapQps&&null!==e.maxMetadataDepthmapQps&&(r.maxMetadataDepthmapQps=Number(e.maxMetadataDepthmapQps)),r},m.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.metadataServerUrl="http://cbk0.google.com/cbk",t.depthmapServerUrl="http://cbk0.google.com/cbk",t.coverageOverlayUrl="",t.maxImageryQps=0,t.maxMetadataDepthmapQps=0),void 0!==e.metadataServerUrl&&null!==e.metadataServerUrl&&e.hasOwnProperty("metadataServerUrl")&&(t.metadataServerUrl=e.metadataServerUrl),void 0!==e.depthmapServerUrl&&null!==e.depthmapServerUrl&&e.hasOwnProperty("depthmapServerUrl")&&(t.depthmapServerUrl=e.depthmapServerUrl),void 0!==e.coverageOverlayUrl&&null!==e.coverageOverlayUrl&&e.hasOwnProperty("coverageOverlayUrl")&&(t.coverageOverlayUrl=e.coverageOverlayUrl),void 0!==e.maxImageryQps&&null!==e.maxImageryQps&&e.hasOwnProperty("maxImageryQps")&&(t.maxImageryQps=e.maxImageryQps),void 0!==e.maxMetadataDepthmapQps&&null!==e.maxMetadataDepthmapQps&&e.hasOwnProperty("maxMetadataDepthmapQps")&&(t.maxMetadataDepthmapQps=e.maxMetadataDepthmapQps),t},m.prototype.toObject=function(e){return this.constructor.toObject(this,e)},m.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},m),e.CSIOptionsProto=(v.prototype.samplingPercentage=0,v.prototype.experimentId="",v.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.CSIOptionsProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.samplingPercentage=e.int32();break;case 2:o.experimentId=e.string();break;default:e.skipType(7&a)}}return o},v.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.samplingPercentage||s.isInteger(e.samplingPercentage)?void 0===e.experimentId||s.isString(e.experimentId)?null:"experimentId: string expected":"samplingPercentage: integer expected"},v.from=v.fromObject=function(e){if(e instanceof c.keyhole.dbroot.CSIOptionsProto)return e;var r=new c.keyhole.dbroot.CSIOptionsProto;return void 0!==e.samplingPercentage&&null!==e.samplingPercentage&&(r.samplingPercentage=0|e.samplingPercentage),void 0!==e.experimentId&&null!==e.experimentId&&(r.experimentId=String(e.experimentId)),r},v.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.samplingPercentage=0,t.experimentId=""),void 0!==e.samplingPercentage&&null!==e.samplingPercentage&&e.hasOwnProperty("samplingPercentage")&&(t.samplingPercentage=e.samplingPercentage),void 0!==e.experimentId&&null!==e.experimentId&&e.hasOwnProperty("experimentId")&&(t.experimentId=e.experimentId),t},v.prototype.toObject=function(e){return this.constructor.toObject(this,e)},v.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},v),e.SearchTabProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.isVisible=!1,e.prototype.tabLabel=null,e.prototype.baseUrl="",e.prototype.viewportPrefix="",e.prototype.inputBox=s.emptyArray,e.prototype.requirement=null;var n={1:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.SearchTabProto.InputBoxInfo",5:"keyhole.dbroot.RequirementProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.SearchTabProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.isVisible=e.bool();break;case 2:o.tabLabel=n[1].decode(e,e.uint32());break;case 3:o.baseUrl=e.string();break;case 4:o.viewportPrefix=e.string();break;case 5:o.inputBox&&o.inputBox.length||(o.inputBox=[]),o.inputBox.push(n[4].decode(e,e.uint32()));break;case 6:o.requirement=n[5].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if("boolean"!=typeof e.isVisible)return"isVisible: boolean expected";if(void 0!==e.tabLabel&&null!==e.tabLabel&&(r=n[1].verify(e.tabLabel)))return"tabLabel."+r;if(void 0!==e.baseUrl&&!s.isString(e.baseUrl))return"baseUrl: string expected";if(void 0!==e.viewportPrefix&&!s.isString(e.viewportPrefix))return"viewportPrefix: string expected";if(void 0!==e.inputBox){if(!Array.isArray(e.inputBox))return"inputBox: array expected";for(var r,t=0;t<e.inputBox.length;++t)if(r=n[4].verify(e.inputBox[t]))return"inputBox."+r}if(void 0!==e.requirement&&null!==e.requirement&&(r=n[5].verify(e.requirement)))return"requirement."+r;return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.SearchTabProto)return e;var r=new c.keyhole.dbroot.SearchTabProto;if(void 0!==e.isVisible&&null!==e.isVisible&&(r.isVisible=Boolean(e.isVisible)),void 0!==e.tabLabel&&null!==e.tabLabel){if("object"!=typeof e.tabLabel)throw TypeError(".keyhole.dbroot.SearchTabProto.tabLabel: object expected");r.tabLabel=n[1].fromObject(e.tabLabel)}if(void 0!==e.baseUrl&&null!==e.baseUrl&&(r.baseUrl=String(e.baseUrl)),void 0!==e.viewportPrefix&&null!==e.viewportPrefix&&(r.viewportPrefix=String(e.viewportPrefix)),e.inputBox){if(!Array.isArray(e.inputBox))throw TypeError(".keyhole.dbroot.SearchTabProto.inputBox: array expected");r.inputBox=[];for(var t=0;t<e.inputBox.length;++t){if("object"!=typeof e.inputBox[t])throw TypeError(".keyhole.dbroot.SearchTabProto.inputBox: object expected");r.inputBox[t]=n[4].fromObject(e.inputBox[t])}}if(void 0!==e.requirement&&null!==e.requirement){if("object"!=typeof e.requirement)throw TypeError(".keyhole.dbroot.SearchTabProto.requirement: object expected");r.requirement=n[5].fromObject(e.requirement)}return r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.inputBox=[]),r.defaults&&(t.isVisible=!1,t.tabLabel=null,t.baseUrl="",t.viewportPrefix="",t.requirement=null),void 0!==e.isVisible&&null!==e.isVisible&&e.hasOwnProperty("isVisible")&&(t.isVisible=e.isVisible),void 0!==e.tabLabel&&null!==e.tabLabel&&e.hasOwnProperty("tabLabel")&&(t.tabLabel=n[1].toObject(e.tabLabel,r)),void 0!==e.baseUrl&&null!==e.baseUrl&&e.hasOwnProperty("baseUrl")&&(t.baseUrl=e.baseUrl),void 0!==e.viewportPrefix&&null!==e.viewportPrefix&&e.hasOwnProperty("viewportPrefix")&&(t.viewportPrefix=e.viewportPrefix),void 0!==e.inputBox&&null!==e.inputBox&&e.hasOwnProperty("inputBox")){t.inputBox=[];for(var o=0;o<e.inputBox.length;++o)t.inputBox[o]=n[4].toObject(e.inputBox[o],r)}return void 0!==e.requirement&&null!==e.requirement&&e.hasOwnProperty("requirement")&&(t.requirement=n[5].toObject(e.requirement,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.InputBoxInfo=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.label=null,e.prototype.queryVerb="",e.prototype.queryPrepend="";var n={0:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.SearchTabProto.InputBoxInfo;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.label=n[0].decode(e,e.uint32());break;case 2:o.queryVerb=e.string();break;case 3:o.queryPrepend=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var r=n[0].verify(e.label);return r?"label."+r:s.isString(e.queryVerb)?void 0===e.queryPrepend||s.isString(e.queryPrepend)?null:"queryPrepend: string expected":"queryVerb: string expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.SearchTabProto.InputBoxInfo)return e;var r=new c.keyhole.dbroot.SearchTabProto.InputBoxInfo;if(void 0!==e.label&&null!==e.label){if("object"!=typeof e.label)throw TypeError(".keyhole.dbroot.SearchTabProto.InputBoxInfo.label: object expected");r.label=n[0].fromObject(e.label)}return void 0!==e.queryVerb&&null!==e.queryVerb&&(r.queryVerb=String(e.queryVerb)),void 0!==e.queryPrepend&&null!==e.queryPrepend&&(r.queryPrepend=String(e.queryPrepend)),r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.label=null,t.queryVerb="",t.queryPrepend=""),void 0!==e.label&&null!==e.label&&e.hasOwnProperty("label")&&(t.label=n[0].toObject(e.label,r)),void 0!==e.queryVerb&&null!==e.queryVerb&&e.hasOwnProperty("queryVerb")&&(t.queryVerb=e.queryVerb),void 0!==e.queryPrepend&&null!==e.queryPrepend&&e.hasOwnProperty("queryPrepend")&&(t.queryPrepend=e.queryPrepend),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e.CobrandProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.logoUrl="",e.prototype.xCoord=null,e.prototype.yCoord=null,e.prototype.tiePoint=6,e.prototype.screenSize=0;var r,n={1:"keyhole.dbroot.CobrandProto.Coord",2:"keyhole.dbroot.CobrandProto.Coord",3:"keyhole.dbroot.CobrandProto.TiePoint"};function t(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.CobrandProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.logoUrl=e.string();break;case 2:o.xCoord=n[1].decode(e,e.uint32());break;case 3:o.yCoord=n[2].decode(e,e.uint32());break;case 4:o.tiePoint=e.uint32();break;case 5:o.screenSize=e.double();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!s.isString(e.logoUrl))return"logoUrl: string expected";var r;if(void 0!==e.xCoord&&null!==e.xCoord&&(r=n[1].verify(e.xCoord)))return"xCoord."+r;if(void 0!==e.yCoord&&null!==e.yCoord&&(r=n[2].verify(e.yCoord)))return"yCoord."+r;if(void 0!==e.tiePoint)switch(e.tiePoint){default:return"tiePoint: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:}return void 0!==e.screenSize&&"number"!=typeof e.screenSize?"screenSize: number expected":null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.CobrandProto)return e;var r=new c.keyhole.dbroot.CobrandProto;if(void 0!==e.logoUrl&&null!==e.logoUrl&&(r.logoUrl=String(e.logoUrl)),void 0!==e.xCoord&&null!==e.xCoord){if("object"!=typeof e.xCoord)throw TypeError(".keyhole.dbroot.CobrandProto.xCoord: object expected");r.xCoord=n[1].fromObject(e.xCoord)}if(void 0!==e.yCoord&&null!==e.yCoord){if("object"!=typeof e.yCoord)throw TypeError(".keyhole.dbroot.CobrandProto.yCoord: object expected");r.yCoord=n[2].fromObject(e.yCoord)}switch(e.tiePoint){case"TOP_LEFT":case 0:r.tiePoint=0;break;case"TOP_CENTER":case 1:r.tiePoint=1;break;case"TOP_RIGHT":case 2:r.tiePoint=2;break;case"MID_LEFT":case 3:r.tiePoint=3;break;case"MID_CENTER":case 4:r.tiePoint=4;break;case"MID_RIGHT":case 5:r.tiePoint=5;break;case"BOTTOM_LEFT":case 6:r.tiePoint=6;break;case"BOTTOM_CENTER":case 7:r.tiePoint=7;break;case"BOTTOM_RIGHT":case 8:r.tiePoint=8}return void 0!==e.screenSize&&null!==e.screenSize&&(r.screenSize=Number(e.screenSize)),r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.logoUrl="",t.xCoord=null,t.yCoord=null,t.tiePoint=r.enums===String?"BOTTOM_LEFT":6,t.screenSize=0),void 0!==e.logoUrl&&null!==e.logoUrl&&e.hasOwnProperty("logoUrl")&&(t.logoUrl=e.logoUrl),void 0!==e.xCoord&&null!==e.xCoord&&e.hasOwnProperty("xCoord")&&(t.xCoord=n[1].toObject(e.xCoord,r)),void 0!==e.yCoord&&null!==e.yCoord&&e.hasOwnProperty("yCoord")&&(t.yCoord=n[2].toObject(e.yCoord,r)),void 0!==e.tiePoint&&null!==e.tiePoint&&e.hasOwnProperty("tiePoint")&&(t.tiePoint=r.enums===String?n[3][e.tiePoint]:e.tiePoint),void 0!==e.screenSize&&null!==e.screenSize&&e.hasOwnProperty("screenSize")&&(t.screenSize=e.screenSize),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.Coord=(t.prototype.value=0,t.prototype.isRelative=!1,t.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.CobrandProto.Coord;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.value=e.double();break;case 2:o.isRelative=e.bool();break;default:e.skipType(7&a)}}return o},t.verify=function(e){return"object"!=typeof e||null===e?"object expected":"number"!=typeof e.value?"value: number expected":void 0!==e.isRelative&&"boolean"!=typeof e.isRelative?"isRelative: boolean expected":null},t.from=t.fromObject=function(e){if(e instanceof c.keyhole.dbroot.CobrandProto.Coord)return e;var r=new c.keyhole.dbroot.CobrandProto.Coord;return void 0!==e.value&&null!==e.value&&(r.value=Number(e.value)),void 0!==e.isRelative&&null!==e.isRelative&&(r.isRelative=Boolean(e.isRelative)),r},t.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.value=0,t.isRelative=!1),void 0!==e.value&&null!==e.value&&e.hasOwnProperty("value")&&(t.value=e.value),void 0!==e.isRelative&&null!==e.isRelative&&e.hasOwnProperty("isRelative")&&(t.isRelative=e.isRelative),t},t.prototype.toObject=function(e){return this.constructor.toObject(this,e)},t.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},t),e.TiePoint=((r=Object.create({})).TOP_LEFT=0,r.TOP_CENTER=1,r.TOP_RIGHT=2,r.MID_LEFT=3,r.MID_CENTER=4,r.MID_RIGHT=5,r.BOTTOM_LEFT=6,r.BOTTOM_CENTER=7,r.BOTTOM_RIGHT=8,r),e}(),e.DatabaseDescriptionProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.databaseName=null,e.prototype.databaseUrl="";var n={0:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.DatabaseDescriptionProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.databaseName=n[0].decode(e,e.uint32());break;case 2:o.databaseUrl=e.string();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.databaseName&&null!==e.databaseName){var r=n[0].verify(e.databaseName);if(r)return"databaseName."+r}return s.isString(e.databaseUrl)?null:"databaseUrl: string expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.DatabaseDescriptionProto)return e;var r=new c.keyhole.dbroot.DatabaseDescriptionProto;if(void 0!==e.databaseName&&null!==e.databaseName){if("object"!=typeof e.databaseName)throw TypeError(".keyhole.dbroot.DatabaseDescriptionProto.databaseName: object expected");r.databaseName=n[0].fromObject(e.databaseName)}return void 0!==e.databaseUrl&&null!==e.databaseUrl&&(r.databaseUrl=String(e.databaseUrl)),r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.databaseName=null,t.databaseUrl=""),void 0!==e.databaseName&&null!==e.databaseName&&e.hasOwnProperty("databaseName")&&(t.databaseName=n[0].toObject(e.databaseName,r)),void 0!==e.databaseUrl&&null!==e.databaseUrl&&e.hasOwnProperty("databaseUrl")&&(t.databaseUrl=e.databaseUrl),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.ConfigScriptProto=(g.prototype.scriptName="",g.prototype.scriptData="",g.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.ConfigScriptProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.scriptName=e.string();break;case 2:o.scriptData=e.string();break;default:e.skipType(7&a)}}return o},g.verify=function(e){return"object"!=typeof e||null===e?"object expected":s.isString(e.scriptName)?s.isString(e.scriptData)?null:"scriptData: string expected":"scriptName: string expected"},g.from=g.fromObject=function(e){if(e instanceof c.keyhole.dbroot.ConfigScriptProto)return e;var r=new c.keyhole.dbroot.ConfigScriptProto;return void 0!==e.scriptName&&null!==e.scriptName&&(r.scriptName=String(e.scriptName)),void 0!==e.scriptData&&null!==e.scriptData&&(r.scriptData=String(e.scriptData)),r},g.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.scriptName="",t.scriptData=""),void 0!==e.scriptName&&null!==e.scriptName&&e.hasOwnProperty("scriptName")&&(t.scriptName=e.scriptName),void 0!==e.scriptData&&null!==e.scriptData&&e.hasOwnProperty("scriptData")&&(t.scriptData=e.scriptData),t},g.prototype.toObject=function(e){return this.constructor.toObject(this,e)},g.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},g),e.SwoopParamsProto=(P.prototype.startDistInMeters=0,P.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.SwoopParamsProto;e.pos<t;){var a=e.uint32();a>>>3==1?o.startDistInMeters=e.double():e.skipType(7&a)}return o},P.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.startDistInMeters&&"number"!=typeof e.startDistInMeters?"startDistInMeters: number expected":null},P.from=P.fromObject=function(e){if(e instanceof c.keyhole.dbroot.SwoopParamsProto)return e;var r=new c.keyhole.dbroot.SwoopParamsProto;return void 0!==e.startDistInMeters&&null!==e.startDistInMeters&&(r.startDistInMeters=Number(e.startDistInMeters)),r},P.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.startDistInMeters=0),void 0!==e.startDistInMeters&&null!==e.startDistInMeters&&e.hasOwnProperty("startDistInMeters")&&(t.startDistInMeters=e.startDistInMeters),t},P.prototype.toObject=function(e){return this.constructor.toObject(this,e)},P.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},P),e.PostingServerProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.name=null,e.prototype.baseUrl=null,e.prototype.postWizardPath=null,e.prototype.fileSubmitPath=null;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto",2:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.PostingServerProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.name=n[0].decode(e,e.uint32());break;case 2:o.baseUrl=n[1].decode(e,e.uint32());break;case 3:o.postWizardPath=n[2].decode(e,e.uint32());break;case 4:o.fileSubmitPath=n[3].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var r;if(void 0!==e.name&&null!==e.name&&(r=n[0].verify(e.name)))return"name."+r;if(void 0!==e.baseUrl&&null!==e.baseUrl&&(r=n[1].verify(e.baseUrl)))return"baseUrl."+r;if(void 0!==e.postWizardPath&&null!==e.postWizardPath&&(r=n[2].verify(e.postWizardPath)))return"postWizardPath."+r;if(void 0!==e.fileSubmitPath&&null!==e.fileSubmitPath&&(r=n[3].verify(e.fileSubmitPath)))return"fileSubmitPath."+r;return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.PostingServerProto)return e;var r=new c.keyhole.dbroot.PostingServerProto;if(void 0!==e.name&&null!==e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.PostingServerProto.name: object expected");r.name=n[0].fromObject(e.name)}if(void 0!==e.baseUrl&&null!==e.baseUrl){if("object"!=typeof e.baseUrl)throw TypeError(".keyhole.dbroot.PostingServerProto.baseUrl: object expected");r.baseUrl=n[1].fromObject(e.baseUrl)}if(void 0!==e.postWizardPath&&null!==e.postWizardPath){if("object"!=typeof e.postWizardPath)throw TypeError(".keyhole.dbroot.PostingServerProto.postWizardPath: object expected");r.postWizardPath=n[2].fromObject(e.postWizardPath)}if(void 0!==e.fileSubmitPath&&null!==e.fileSubmitPath){if("object"!=typeof e.fileSubmitPath)throw TypeError(".keyhole.dbroot.PostingServerProto.fileSubmitPath: object expected");r.fileSubmitPath=n[3].fromObject(e.fileSubmitPath)}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.name=null,t.baseUrl=null,t.postWizardPath=null,t.fileSubmitPath=null),void 0!==e.name&&null!==e.name&&e.hasOwnProperty("name")&&(t.name=n[0].toObject(e.name,r)),void 0!==e.baseUrl&&null!==e.baseUrl&&e.hasOwnProperty("baseUrl")&&(t.baseUrl=n[1].toObject(e.baseUrl,r)),void 0!==e.postWizardPath&&null!==e.postWizardPath&&e.hasOwnProperty("postWizardPath")&&(t.postWizardPath=n[2].toObject(e.postWizardPath,r)),void 0!==e.fileSubmitPath&&null!==e.fileSubmitPath&&e.hasOwnProperty("fileSubmitPath")&&(t.fileSubmitPath=n[3].toObject(e.fileSubmitPath,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.PlanetaryDatabaseProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null,e.prototype.name=null;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.PlanetaryDatabaseProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;case 2:o.name=n[1].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var r=n[0].verify(e.url);return r?"url."+r:(r=n[1].verify(e.name))?"name."+r:null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.PlanetaryDatabaseProto)return e;var r=new c.keyhole.dbroot.PlanetaryDatabaseProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.PlanetaryDatabaseProto.url: object expected");r.url=n[0].fromObject(e.url)}if(void 0!==e.name&&null!==e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.PlanetaryDatabaseProto.name: object expected");r.name=n[1].fromObject(e.name)}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.url=null,t.name=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),void 0!==e.name&&null!==e.name&&e.hasOwnProperty("name")&&(t.name=n[1].toObject(e.name,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.LogServerProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null,e.prototype.enable=!1,e.prototype.throttlingFactor=1;var n={0:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.LogServerProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;case 2:o.enable=e.bool();break;case 3:o.throttlingFactor=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.url&&null!==e.url){var r=n[0].verify(e.url);if(r)return"url."+r}return void 0!==e.enable&&"boolean"!=typeof e.enable?"enable: boolean expected":void 0===e.throttlingFactor||s.isInteger(e.throttlingFactor)?null:"throttlingFactor: integer expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.LogServerProto)return e;var r=new c.keyhole.dbroot.LogServerProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.LogServerProto.url: object expected");r.url=n[0].fromObject(e.url)}return void 0!==e.enable&&null!==e.enable&&(r.enable=Boolean(e.enable)),void 0!==e.throttlingFactor&&null!==e.throttlingFactor&&(r.throttlingFactor=0|e.throttlingFactor),r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.url=null,t.enable=!1,t.throttlingFactor=1),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),void 0!==e.enable&&null!==e.enable&&e.hasOwnProperty("enable")&&(t.enable=e.enable),void 0!==e.throttlingFactor&&null!==e.throttlingFactor&&e.hasOwnProperty("throttlingFactor")&&(t.throttlingFactor=e.throttlingFactor),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.EndSnippetProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.model=null,e.prototype.authServerUrl=null,e.prototype.disableAuthentication=!1,e.prototype.mfeDomains=s.emptyArray,e.prototype.mfeLangParam="hl=$5Bhl5D",e.prototype.adsUrlPatterns="",e.prototype.reverseGeocoderUrl=null,e.prototype.reverseGeocoderProtocolVersion=3,e.prototype.skyDatabaseIsAvailable=!0,e.prototype.skyDatabaseUrl=null,e.prototype.defaultWebPageIntlUrl=null,e.prototype.numStartUpTips=17,e.prototype.startUpTipsUrl=null,e.prototype.numProStartUpTips=0,e.prototype.proStartUpTipsUrl=null,e.prototype.startupTipsIntlUrl=null,e.prototype.userGuideIntlUrl=null,e.prototype.supportCenterIntlUrl=null,e.prototype.businessListingIntlUrl=null,e.prototype.supportAnswerIntlUrl=null,e.prototype.supportTopicIntlUrl=null,e.prototype.supportRequestIntlUrl=null,e.prototype.earthIntlUrl=null,e.prototype.addContentUrl=null,e.prototype.sketchupNotInstalledUrl=null,e.prototype.sketchupErrorUrl=null,e.prototype.freeLicenseUrl=null,e.prototype.proLicenseUrl=null,e.prototype.tutorialUrl=null,e.prototype.keyboardShortcutsUrl=null,e.prototype.releaseNotesUrl=null,e.prototype.hideUserData=!1,e.prototype.useGeLogo=!0,e.prototype.dioramaDescriptionUrlBase=null,e.prototype.dioramaDefaultColor=4291281607,e.prototype.dioramaBlacklistUrl=null,e.prototype.clientOptions=null,e.prototype.fetchingOptions=null,e.prototype.timeMachineOptions=null,e.prototype.csiOptions=null,e.prototype.searchTab=s.emptyArray,e.prototype.cobrandInfo=s.emptyArray,e.prototype.validDatabase=s.emptyArray,e.prototype.configScript=s.emptyArray,e.prototype.deauthServerUrl=null,e.prototype.swoopParameters=null,e.prototype.bbsServerInfo=null,e.prototype.dataErrorServerInfo=null,e.prototype.planetaryDatabase=s.emptyArray,e.prototype.logServer=null,e.prototype.autopiaOptions=null,e.prototype.searchConfig=null,e.prototype.searchInfo=null,e.prototype.elevationServiceBaseUrl="http://maps.google.com/maps/api/elevation/",e.prototype.elevationProfileQueryDelay=500,e.prototype.proUpgradeUrl=null,e.prototype.earthCommunityUrl=null,e.prototype.googleMapsUrl=null,e.prototype.sharingUrl=null,e.prototype.privacyPolicyUrl=null,e.prototype.doGplusUserCheck=!1,e.prototype.rocktreeDataProto=null,e.prototype.filmstripConfig=s.emptyArray,e.prototype.showSigninButton=!1,e.prototype.proMeasureUpsellUrl=null,e.prototype.proPrintUpsellUrl=null,e.prototype.starDataProto=null,e.prototype.feedbackUrl=null,e.prototype.oauth2LoginUrl=null;var n={0:"keyhole.dbroot.PlanetModelProto",1:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.MfeDomainFeaturesProto",6:"keyhole.dbroot.StringIdOrValueProto",9:"keyhole.dbroot.StringIdOrValueProto",10:"keyhole.dbroot.StringIdOrValueProto",12:"keyhole.dbroot.StringIdOrValueProto",14:"keyhole.dbroot.StringIdOrValueProto",15:"keyhole.dbroot.StringIdOrValueProto",16:"keyhole.dbroot.StringIdOrValueProto",17:"keyhole.dbroot.StringIdOrValueProto",18:"keyhole.dbroot.StringIdOrValueProto",19:"keyhole.dbroot.StringIdOrValueProto",20:"keyhole.dbroot.StringIdOrValueProto",21:"keyhole.dbroot.StringIdOrValueProto",22:"keyhole.dbroot.StringIdOrValueProto",23:"keyhole.dbroot.StringIdOrValueProto",24:"keyhole.dbroot.StringIdOrValueProto",25:"keyhole.dbroot.StringIdOrValueProto",26:"keyhole.dbroot.StringIdOrValueProto",27:"keyhole.dbroot.StringIdOrValueProto",28:"keyhole.dbroot.StringIdOrValueProto",29:"keyhole.dbroot.StringIdOrValueProto",30:"keyhole.dbroot.StringIdOrValueProto",33:"keyhole.dbroot.StringIdOrValueProto",35:"keyhole.dbroot.StringIdOrValueProto",36:"keyhole.dbroot.ClientOptionsProto",37:"keyhole.dbroot.FetchingOptionsProto",38:"keyhole.dbroot.TimeMachineOptionsProto",39:"keyhole.dbroot.CSIOptionsProto",40:"keyhole.dbroot.SearchTabProto",41:"keyhole.dbroot.CobrandProto",42:"keyhole.dbroot.DatabaseDescriptionProto",43:"keyhole.dbroot.ConfigScriptProto",44:"keyhole.dbroot.StringIdOrValueProto",45:"keyhole.dbroot.SwoopParamsProto",46:"keyhole.dbroot.PostingServerProto",47:"keyhole.dbroot.PostingServerProto",48:"keyhole.dbroot.PlanetaryDatabaseProto",49:"keyhole.dbroot.LogServerProto",50:"keyhole.dbroot.AutopiaOptionsProto",51:"keyhole.dbroot.EndSnippetProto.SearchConfigProto",52:"keyhole.dbroot.EndSnippetProto.SearchInfoProto",55:"keyhole.dbroot.StringIdOrValueProto",56:"keyhole.dbroot.StringIdOrValueProto",57:"keyhole.dbroot.StringIdOrValueProto",58:"keyhole.dbroot.StringIdOrValueProto",59:"keyhole.dbroot.StringIdOrValueProto",61:"keyhole.dbroot.EndSnippetProto.RockTreeDataProto",62:"keyhole.dbroot.EndSnippetProto.FilmstripConfigProto",64:"keyhole.dbroot.StringIdOrValueProto",65:"keyhole.dbroot.StringIdOrValueProto",66:"keyhole.dbroot.EndSnippetProto.StarDataProto",67:"keyhole.dbroot.StringIdOrValueProto",68:"keyhole.dbroot.StringIdOrValueProto"};function r(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.model=n[0].decode(e,e.uint32());break;case 2:o.authServerUrl=n[1].decode(e,e.uint32());break;case 3:o.disableAuthentication=e.bool();break;case 4:o.mfeDomains&&o.mfeDomains.length||(o.mfeDomains=[]),o.mfeDomains.push(n[3].decode(e,e.uint32()));break;case 5:o.mfeLangParam=e.string();break;case 6:o.adsUrlPatterns=e.string();break;case 7:o.reverseGeocoderUrl=n[6].decode(e,e.uint32());break;case 8:o.reverseGeocoderProtocolVersion=e.int32();break;case 9:o.skyDatabaseIsAvailable=e.bool();break;case 10:o.skyDatabaseUrl=n[9].decode(e,e.uint32());break;case 11:o.defaultWebPageIntlUrl=n[10].decode(e,e.uint32());break;case 12:o.numStartUpTips=e.int32();break;case 13:o.startUpTipsUrl=n[12].decode(e,e.uint32());break;case 51:o.numProStartUpTips=e.int32();break;case 52:o.proStartUpTipsUrl=n[14].decode(e,e.uint32());break;case 64:o.startupTipsIntlUrl=n[15].decode(e,e.uint32());break;case 14:o.userGuideIntlUrl=n[16].decode(e,e.uint32());break;case 15:o.supportCenterIntlUrl=n[17].decode(e,e.uint32());break;case 16:o.businessListingIntlUrl=n[18].decode(e,e.uint32());break;case 17:o.supportAnswerIntlUrl=n[19].decode(e,e.uint32());break;case 18:o.supportTopicIntlUrl=n[20].decode(e,e.uint32());break;case 19:o.supportRequestIntlUrl=n[21].decode(e,e.uint32());break;case 20:o.earthIntlUrl=n[22].decode(e,e.uint32());break;case 21:o.addContentUrl=n[23].decode(e,e.uint32());break;case 22:o.sketchupNotInstalledUrl=n[24].decode(e,e.uint32());break;case 23:o.sketchupErrorUrl=n[25].decode(e,e.uint32());break;case 24:o.freeLicenseUrl=n[26].decode(e,e.uint32());break;case 25:o.proLicenseUrl=n[27].decode(e,e.uint32());break;case 48:o.tutorialUrl=n[28].decode(e,e.uint32());break;case 49:o.keyboardShortcutsUrl=n[29].decode(e,e.uint32());break;case 50:o.releaseNotesUrl=n[30].decode(e,e.uint32());break;case 26:o.hideUserData=e.bool();break;case 27:o.useGeLogo=e.bool();break;case 28:o.dioramaDescriptionUrlBase=n[33].decode(e,e.uint32());break;case 29:o.dioramaDefaultColor=e.uint32();break;case 53:o.dioramaBlacklistUrl=n[35].decode(e,e.uint32());break;case 30:o.clientOptions=n[36].decode(e,e.uint32());break;case 31:o.fetchingOptions=n[37].decode(e,e.uint32());break;case 32:o.timeMachineOptions=n[38].decode(e,e.uint32());break;case 33:o.csiOptions=n[39].decode(e,e.uint32());break;case 34:o.searchTab&&o.searchTab.length||(o.searchTab=[]),o.searchTab.push(n[40].decode(e,e.uint32()));break;case 35:o.cobrandInfo&&o.cobrandInfo.length||(o.cobrandInfo=[]),o.cobrandInfo.push(n[41].decode(e,e.uint32()));break;case 36:o.validDatabase&&o.validDatabase.length||(o.validDatabase=[]),o.validDatabase.push(n[42].decode(e,e.uint32()));break;case 37:o.configScript&&o.configScript.length||(o.configScript=[]),o.configScript.push(n[43].decode(e,e.uint32()));break;case 38:o.deauthServerUrl=n[44].decode(e,e.uint32());break;case 39:o.swoopParameters=n[45].decode(e,e.uint32());break;case 40:o.bbsServerInfo=n[46].decode(e,e.uint32());break;case 41:o.dataErrorServerInfo=n[47].decode(e,e.uint32());break;case 42:o.planetaryDatabase&&o.planetaryDatabase.length||(o.planetaryDatabase=[]),o.planetaryDatabase.push(n[48].decode(e,e.uint32()));break;case 43:o.logServer=n[49].decode(e,e.uint32());break;case 44:o.autopiaOptions=n[50].decode(e,e.uint32());break;case 54:o.searchConfig=n[51].decode(e,e.uint32());break;case 45:o.searchInfo=n[52].decode(e,e.uint32());break;case 46:o.elevationServiceBaseUrl=e.string();break;case 47:o.elevationProfileQueryDelay=e.int32();break;case 55:o.proUpgradeUrl=n[55].decode(e,e.uint32());break;case 56:o.earthCommunityUrl=n[56].decode(e,e.uint32());break;case 57:o.googleMapsUrl=n[57].decode(e,e.uint32());break;case 58:o.sharingUrl=n[58].decode(e,e.uint32());break;case 59:o.privacyPolicyUrl=n[59].decode(e,e.uint32());break;case 60:o.doGplusUserCheck=e.bool();break;case 61:o.rocktreeDataProto=n[61].decode(e,e.uint32());break;case 62:o.filmstripConfig&&o.filmstripConfig.length||(o.filmstripConfig=[]),o.filmstripConfig.push(n[62].decode(e,e.uint32()));break;case 63:o.showSigninButton=e.bool();break;case 65:o.proMeasureUpsellUrl=n[64].decode(e,e.uint32());break;case 66:o.proPrintUpsellUrl=n[65].decode(e,e.uint32());break;case 67:o.starDataProto=n[66].decode(e,e.uint32());break;case 68:o.feedbackUrl=n[67].decode(e,e.uint32());break;case 69:o.oauth2LoginUrl=n[68].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.model&&null!==e.model&&(t=n[0].verify(e.model)))return"model."+t;if(void 0!==e.authServerUrl&&null!==e.authServerUrl&&(t=n[1].verify(e.authServerUrl)))return"authServerUrl."+t;if(void 0!==e.disableAuthentication&&"boolean"!=typeof e.disableAuthentication)return"disableAuthentication: boolean expected";if(void 0!==e.mfeDomains){if(!Array.isArray(e.mfeDomains))return"mfeDomains: array expected";for(var r=0;r<e.mfeDomains.length;++r)if(t=n[3].verify(e.mfeDomains[r]))return"mfeDomains."+t}if(void 0!==e.mfeLangParam&&!s.isString(e.mfeLangParam))return"mfeLangParam: string expected";if(void 0!==e.adsUrlPatterns&&!s.isString(e.adsUrlPatterns))return"adsUrlPatterns: string expected";if(void 0!==e.reverseGeocoderUrl&&null!==e.reverseGeocoderUrl&&(t=n[6].verify(e.reverseGeocoderUrl)))return"reverseGeocoderUrl."+t;if(void 0!==e.reverseGeocoderProtocolVersion&&!s.isInteger(e.reverseGeocoderProtocolVersion))return"reverseGeocoderProtocolVersion: integer expected";if(void 0!==e.skyDatabaseIsAvailable&&"boolean"!=typeof e.skyDatabaseIsAvailable)return"skyDatabaseIsAvailable: boolean expected";if(void 0!==e.skyDatabaseUrl&&null!==e.skyDatabaseUrl&&(t=n[9].verify(e.skyDatabaseUrl)))return"skyDatabaseUrl."+t;if(void 0!==e.defaultWebPageIntlUrl&&null!==e.defaultWebPageIntlUrl&&(t=n[10].verify(e.defaultWebPageIntlUrl)))return"defaultWebPageIntlUrl."+t;if(void 0!==e.numStartUpTips&&!s.isInteger(e.numStartUpTips))return"numStartUpTips: integer expected";if(void 0!==e.startUpTipsUrl&&null!==e.startUpTipsUrl&&(t=n[12].verify(e.startUpTipsUrl)))return"startUpTipsUrl."+t;if(void 0!==e.numProStartUpTips&&!s.isInteger(e.numProStartUpTips))return"numProStartUpTips: integer expected";if(void 0!==e.proStartUpTipsUrl&&null!==e.proStartUpTipsUrl&&(t=n[14].verify(e.proStartUpTipsUrl)))return"proStartUpTipsUrl."+t;if(void 0!==e.startupTipsIntlUrl&&null!==e.startupTipsIntlUrl&&(t=n[15].verify(e.startupTipsIntlUrl)))return"startupTipsIntlUrl."+t;if(void 0!==e.userGuideIntlUrl&&null!==e.userGuideIntlUrl&&(t=n[16].verify(e.userGuideIntlUrl)))return"userGuideIntlUrl."+t;if(void 0!==e.supportCenterIntlUrl&&null!==e.supportCenterIntlUrl&&(t=n[17].verify(e.supportCenterIntlUrl)))return"supportCenterIntlUrl."+t;if(void 0!==e.businessListingIntlUrl&&null!==e.businessListingIntlUrl&&(t=n[18].verify(e.businessListingIntlUrl)))return"businessListingIntlUrl."+t;if(void 0!==e.supportAnswerIntlUrl&&null!==e.supportAnswerIntlUrl&&(t=n[19].verify(e.supportAnswerIntlUrl)))return"supportAnswerIntlUrl."+t;if(void 0!==e.supportTopicIntlUrl&&null!==e.supportTopicIntlUrl&&(t=n[20].verify(e.supportTopicIntlUrl)))return"supportTopicIntlUrl."+t;if(void 0!==e.supportRequestIntlUrl&&null!==e.supportRequestIntlUrl&&(t=n[21].verify(e.supportRequestIntlUrl)))return"supportRequestIntlUrl."+t;if(void 0!==e.earthIntlUrl&&null!==e.earthIntlUrl&&(t=n[22].verify(e.earthIntlUrl)))return"earthIntlUrl."+t;if(void 0!==e.addContentUrl&&null!==e.addContentUrl&&(t=n[23].verify(e.addContentUrl)))return"addContentUrl."+t;if(void 0!==e.sketchupNotInstalledUrl&&null!==e.sketchupNotInstalledUrl&&(t=n[24].verify(e.sketchupNotInstalledUrl)))return"sketchupNotInstalledUrl."+t;if(void 0!==e.sketchupErrorUrl&&null!==e.sketchupErrorUrl&&(t=n[25].verify(e.sketchupErrorUrl)))return"sketchupErrorUrl."+t;if(void 0!==e.freeLicenseUrl&&null!==e.freeLicenseUrl&&(t=n[26].verify(e.freeLicenseUrl)))return"freeLicenseUrl."+t;if(void 0!==e.proLicenseUrl&&null!==e.proLicenseUrl&&(t=n[27].verify(e.proLicenseUrl)))return"proLicenseUrl."+t;if(void 0!==e.tutorialUrl&&null!==e.tutorialUrl&&(t=n[28].verify(e.tutorialUrl)))return"tutorialUrl."+t;if(void 0!==e.keyboardShortcutsUrl&&null!==e.keyboardShortcutsUrl&&(t=n[29].verify(e.keyboardShortcutsUrl)))return"keyboardShortcutsUrl."+t;if(void 0!==e.releaseNotesUrl&&null!==e.releaseNotesUrl&&(t=n[30].verify(e.releaseNotesUrl)))return"releaseNotesUrl."+t;if(void 0!==e.hideUserData&&"boolean"!=typeof e.hideUserData)return"hideUserData: boolean expected";if(void 0!==e.useGeLogo&&"boolean"!=typeof e.useGeLogo)return"useGeLogo: boolean expected";if(void 0!==e.dioramaDescriptionUrlBase&&null!==e.dioramaDescriptionUrlBase&&(t=n[33].verify(e.dioramaDescriptionUrlBase)))return"dioramaDescriptionUrlBase."+t;if(void 0!==e.dioramaDefaultColor&&!s.isInteger(e.dioramaDefaultColor))return"dioramaDefaultColor: integer expected";if(void 0!==e.dioramaBlacklistUrl&&null!==e.dioramaBlacklistUrl&&(t=n[35].verify(e.dioramaBlacklistUrl)))return"dioramaBlacklistUrl."+t;if(void 0!==e.clientOptions&&null!==e.clientOptions&&(t=n[36].verify(e.clientOptions)))return"clientOptions."+t;if(void 0!==e.fetchingOptions&&null!==e.fetchingOptions&&(t=n[37].verify(e.fetchingOptions)))return"fetchingOptions."+t;if(void 0!==e.timeMachineOptions&&null!==e.timeMachineOptions&&(t=n[38].verify(e.timeMachineOptions)))return"timeMachineOptions."+t;if(void 0!==e.csiOptions&&null!==e.csiOptions&&(t=n[39].verify(e.csiOptions)))return"csiOptions."+t;if(void 0!==e.searchTab){if(!Array.isArray(e.searchTab))return"searchTab: array expected";for(r=0;r<e.searchTab.length;++r)if(t=n[40].verify(e.searchTab[r]))return"searchTab."+t}if(void 0!==e.cobrandInfo){if(!Array.isArray(e.cobrandInfo))return"cobrandInfo: array expected";for(r=0;r<e.cobrandInfo.length;++r)if(t=n[41].verify(e.cobrandInfo[r]))return"cobrandInfo."+t}if(void 0!==e.validDatabase){if(!Array.isArray(e.validDatabase))return"validDatabase: array expected";for(r=0;r<e.validDatabase.length;++r)if(t=n[42].verify(e.validDatabase[r]))return"validDatabase."+t}if(void 0!==e.configScript){if(!Array.isArray(e.configScript))return"configScript: array expected";for(r=0;r<e.configScript.length;++r)if(t=n[43].verify(e.configScript[r]))return"configScript."+t}if(void 0!==e.deauthServerUrl&&null!==e.deauthServerUrl&&(t=n[44].verify(e.deauthServerUrl)))return"deauthServerUrl."+t;if(void 0!==e.swoopParameters&&null!==e.swoopParameters&&(t=n[45].verify(e.swoopParameters)))return"swoopParameters."+t;if(void 0!==e.bbsServerInfo&&null!==e.bbsServerInfo&&(t=n[46].verify(e.bbsServerInfo)))return"bbsServerInfo."+t;if(void 0!==e.dataErrorServerInfo&&null!==e.dataErrorServerInfo&&(t=n[47].verify(e.dataErrorServerInfo)))return"dataErrorServerInfo."+t;if(void 0!==e.planetaryDatabase){if(!Array.isArray(e.planetaryDatabase))return"planetaryDatabase: array expected";for(r=0;r<e.planetaryDatabase.length;++r)if(t=n[48].verify(e.planetaryDatabase[r]))return"planetaryDatabase."+t}if(void 0!==e.logServer&&null!==e.logServer&&(t=n[49].verify(e.logServer)))return"logServer."+t;if(void 0!==e.autopiaOptions&&null!==e.autopiaOptions&&(t=n[50].verify(e.autopiaOptions)))return"autopiaOptions."+t;if(void 0!==e.searchConfig&&null!==e.searchConfig&&(t=n[51].verify(e.searchConfig)))return"searchConfig."+t;if(void 0!==e.searchInfo&&null!==e.searchInfo&&(t=n[52].verify(e.searchInfo)))return"searchInfo."+t;if(void 0!==e.elevationServiceBaseUrl&&!s.isString(e.elevationServiceBaseUrl))return"elevationServiceBaseUrl: string expected";if(void 0!==e.elevationProfileQueryDelay&&!s.isInteger(e.elevationProfileQueryDelay))return"elevationProfileQueryDelay: integer expected";if(void 0!==e.proUpgradeUrl&&null!==e.proUpgradeUrl&&(t=n[55].verify(e.proUpgradeUrl)))return"proUpgradeUrl."+t;if(void 0!==e.earthCommunityUrl&&null!==e.earthCommunityUrl&&(t=n[56].verify(e.earthCommunityUrl)))return"earthCommunityUrl."+t;if(void 0!==e.googleMapsUrl&&null!==e.googleMapsUrl&&(t=n[57].verify(e.googleMapsUrl)))return"googleMapsUrl."+t;if(void 0!==e.sharingUrl&&null!==e.sharingUrl&&(t=n[58].verify(e.sharingUrl)))return"sharingUrl."+t;if(void 0!==e.privacyPolicyUrl&&null!==e.privacyPolicyUrl&&(t=n[59].verify(e.privacyPolicyUrl)))return"privacyPolicyUrl."+t;if(void 0!==e.doGplusUserCheck&&"boolean"!=typeof e.doGplusUserCheck)return"doGplusUserCheck: boolean expected";if(void 0!==e.rocktreeDataProto&&null!==e.rocktreeDataProto&&(t=n[61].verify(e.rocktreeDataProto)))return"rocktreeDataProto."+t;if(void 0!==e.filmstripConfig){if(!Array.isArray(e.filmstripConfig))return"filmstripConfig: array expected";for(var t,r=0;r<e.filmstripConfig.length;++r)if(t=n[62].verify(e.filmstripConfig[r]))return"filmstripConfig."+t}if(void 0!==e.showSigninButton&&"boolean"!=typeof e.showSigninButton)return"showSigninButton: boolean expected";if(void 0!==e.proMeasureUpsellUrl&&null!==e.proMeasureUpsellUrl&&(t=n[64].verify(e.proMeasureUpsellUrl)))return"proMeasureUpsellUrl."+t;if(void 0!==e.proPrintUpsellUrl&&null!==e.proPrintUpsellUrl&&(t=n[65].verify(e.proPrintUpsellUrl)))return"proPrintUpsellUrl."+t;if(void 0!==e.starDataProto&&null!==e.starDataProto&&(t=n[66].verify(e.starDataProto)))return"starDataProto."+t;if(void 0!==e.feedbackUrl&&null!==e.feedbackUrl&&(t=n[67].verify(e.feedbackUrl)))return"feedbackUrl."+t;if(void 0!==e.oauth2LoginUrl&&null!==e.oauth2LoginUrl&&(t=n[68].verify(e.oauth2LoginUrl)))return"oauth2LoginUrl."+t;return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto)return e;var r=new c.keyhole.dbroot.EndSnippetProto;if(void 0!==e.model&&null!==e.model){if("object"!=typeof e.model)throw TypeError(".keyhole.dbroot.EndSnippetProto.model: object expected");r.model=n[0].fromObject(e.model)}if(void 0!==e.authServerUrl&&null!==e.authServerUrl){if("object"!=typeof e.authServerUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.authServerUrl: object expected");r.authServerUrl=n[1].fromObject(e.authServerUrl)}if(void 0!==e.disableAuthentication&&null!==e.disableAuthentication&&(r.disableAuthentication=Boolean(e.disableAuthentication)),e.mfeDomains){if(!Array.isArray(e.mfeDomains))throw TypeError(".keyhole.dbroot.EndSnippetProto.mfeDomains: array expected");r.mfeDomains=[];for(var t=0;t<e.mfeDomains.length;++t){if("object"!=typeof e.mfeDomains[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.mfeDomains: object expected");r.mfeDomains[t]=n[3].fromObject(e.mfeDomains[t])}}if(void 0!==e.mfeLangParam&&null!==e.mfeLangParam&&(r.mfeLangParam=String(e.mfeLangParam)),void 0!==e.adsUrlPatterns&&null!==e.adsUrlPatterns&&(r.adsUrlPatterns=String(e.adsUrlPatterns)),void 0!==e.reverseGeocoderUrl&&null!==e.reverseGeocoderUrl){if("object"!=typeof e.reverseGeocoderUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.reverseGeocoderUrl: object expected");r.reverseGeocoderUrl=n[6].fromObject(e.reverseGeocoderUrl)}if(void 0!==e.reverseGeocoderProtocolVersion&&null!==e.reverseGeocoderProtocolVersion&&(r.reverseGeocoderProtocolVersion=0|e.reverseGeocoderProtocolVersion),void 0!==e.skyDatabaseIsAvailable&&null!==e.skyDatabaseIsAvailable&&(r.skyDatabaseIsAvailable=Boolean(e.skyDatabaseIsAvailable)),void 0!==e.skyDatabaseUrl&&null!==e.skyDatabaseUrl){if("object"!=typeof e.skyDatabaseUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.skyDatabaseUrl: object expected");r.skyDatabaseUrl=n[9].fromObject(e.skyDatabaseUrl)}if(void 0!==e.defaultWebPageIntlUrl&&null!==e.defaultWebPageIntlUrl){if("object"!=typeof e.defaultWebPageIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.defaultWebPageIntlUrl: object expected");r.defaultWebPageIntlUrl=n[10].fromObject(e.defaultWebPageIntlUrl)}if(void 0!==e.numStartUpTips&&null!==e.numStartUpTips&&(r.numStartUpTips=0|e.numStartUpTips),void 0!==e.startUpTipsUrl&&null!==e.startUpTipsUrl){if("object"!=typeof e.startUpTipsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.startUpTipsUrl: object expected");r.startUpTipsUrl=n[12].fromObject(e.startUpTipsUrl)}if(void 0!==e.numProStartUpTips&&null!==e.numProStartUpTips&&(r.numProStartUpTips=0|e.numProStartUpTips),void 0!==e.proStartUpTipsUrl&&null!==e.proStartUpTipsUrl){if("object"!=typeof e.proStartUpTipsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proStartUpTipsUrl: object expected");r.proStartUpTipsUrl=n[14].fromObject(e.proStartUpTipsUrl)}if(void 0!==e.startupTipsIntlUrl&&null!==e.startupTipsIntlUrl){if("object"!=typeof e.startupTipsIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.startupTipsIntlUrl: object expected");r.startupTipsIntlUrl=n[15].fromObject(e.startupTipsIntlUrl)}if(void 0!==e.userGuideIntlUrl&&null!==e.userGuideIntlUrl){if("object"!=typeof e.userGuideIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.userGuideIntlUrl: object expected");r.userGuideIntlUrl=n[16].fromObject(e.userGuideIntlUrl)}if(void 0!==e.supportCenterIntlUrl&&null!==e.supportCenterIntlUrl){if("object"!=typeof e.supportCenterIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportCenterIntlUrl: object expected");r.supportCenterIntlUrl=n[17].fromObject(e.supportCenterIntlUrl)}if(void 0!==e.businessListingIntlUrl&&null!==e.businessListingIntlUrl){if("object"!=typeof e.businessListingIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.businessListingIntlUrl: object expected");r.businessListingIntlUrl=n[18].fromObject(e.businessListingIntlUrl)}if(void 0!==e.supportAnswerIntlUrl&&null!==e.supportAnswerIntlUrl){if("object"!=typeof e.supportAnswerIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportAnswerIntlUrl: object expected");r.supportAnswerIntlUrl=n[19].fromObject(e.supportAnswerIntlUrl)}if(void 0!==e.supportTopicIntlUrl&&null!==e.supportTopicIntlUrl){if("object"!=typeof e.supportTopicIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportTopicIntlUrl: object expected");r.supportTopicIntlUrl=n[20].fromObject(e.supportTopicIntlUrl)}if(void 0!==e.supportRequestIntlUrl&&null!==e.supportRequestIntlUrl){if("object"!=typeof e.supportRequestIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.supportRequestIntlUrl: object expected");r.supportRequestIntlUrl=n[21].fromObject(e.supportRequestIntlUrl)}if(void 0!==e.earthIntlUrl&&null!==e.earthIntlUrl){if("object"!=typeof e.earthIntlUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.earthIntlUrl: object expected");r.earthIntlUrl=n[22].fromObject(e.earthIntlUrl)}if(void 0!==e.addContentUrl&&null!==e.addContentUrl){if("object"!=typeof e.addContentUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.addContentUrl: object expected");r.addContentUrl=n[23].fromObject(e.addContentUrl)}if(void 0!==e.sketchupNotInstalledUrl&&null!==e.sketchupNotInstalledUrl){if("object"!=typeof e.sketchupNotInstalledUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.sketchupNotInstalledUrl: object expected");r.sketchupNotInstalledUrl=n[24].fromObject(e.sketchupNotInstalledUrl)}if(void 0!==e.sketchupErrorUrl&&null!==e.sketchupErrorUrl){if("object"!=typeof e.sketchupErrorUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.sketchupErrorUrl: object expected");r.sketchupErrorUrl=n[25].fromObject(e.sketchupErrorUrl)}if(void 0!==e.freeLicenseUrl&&null!==e.freeLicenseUrl){if("object"!=typeof e.freeLicenseUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.freeLicenseUrl: object expected");r.freeLicenseUrl=n[26].fromObject(e.freeLicenseUrl)}if(void 0!==e.proLicenseUrl&&null!==e.proLicenseUrl){if("object"!=typeof e.proLicenseUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proLicenseUrl: object expected");r.proLicenseUrl=n[27].fromObject(e.proLicenseUrl)}if(void 0!==e.tutorialUrl&&null!==e.tutorialUrl){if("object"!=typeof e.tutorialUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.tutorialUrl: object expected");r.tutorialUrl=n[28].fromObject(e.tutorialUrl)}if(void 0!==e.keyboardShortcutsUrl&&null!==e.keyboardShortcutsUrl){if("object"!=typeof e.keyboardShortcutsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.keyboardShortcutsUrl: object expected");r.keyboardShortcutsUrl=n[29].fromObject(e.keyboardShortcutsUrl)}if(void 0!==e.releaseNotesUrl&&null!==e.releaseNotesUrl){if("object"!=typeof e.releaseNotesUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.releaseNotesUrl: object expected");r.releaseNotesUrl=n[30].fromObject(e.releaseNotesUrl)}if(void 0!==e.hideUserData&&null!==e.hideUserData&&(r.hideUserData=Boolean(e.hideUserData)),void 0!==e.useGeLogo&&null!==e.useGeLogo&&(r.useGeLogo=Boolean(e.useGeLogo)),void 0!==e.dioramaDescriptionUrlBase&&null!==e.dioramaDescriptionUrlBase){if("object"!=typeof e.dioramaDescriptionUrlBase)throw TypeError(".keyhole.dbroot.EndSnippetProto.dioramaDescriptionUrlBase: object expected");r.dioramaDescriptionUrlBase=n[33].fromObject(e.dioramaDescriptionUrlBase)}if(void 0!==e.dioramaDefaultColor&&null!==e.dioramaDefaultColor&&(r.dioramaDefaultColor=e.dioramaDefaultColor>>>0),void 0!==e.dioramaBlacklistUrl&&null!==e.dioramaBlacklistUrl){if("object"!=typeof e.dioramaBlacklistUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.dioramaBlacklistUrl: object expected");r.dioramaBlacklistUrl=n[35].fromObject(e.dioramaBlacklistUrl)}if(void 0!==e.clientOptions&&null!==e.clientOptions){if("object"!=typeof e.clientOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.clientOptions: object expected");r.clientOptions=n[36].fromObject(e.clientOptions)}if(void 0!==e.fetchingOptions&&null!==e.fetchingOptions){if("object"!=typeof e.fetchingOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.fetchingOptions: object expected");r.fetchingOptions=n[37].fromObject(e.fetchingOptions)}if(void 0!==e.timeMachineOptions&&null!==e.timeMachineOptions){if("object"!=typeof e.timeMachineOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.timeMachineOptions: object expected");r.timeMachineOptions=n[38].fromObject(e.timeMachineOptions)}if(void 0!==e.csiOptions&&null!==e.csiOptions){if("object"!=typeof e.csiOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.csiOptions: object expected");r.csiOptions=n[39].fromObject(e.csiOptions)}if(e.searchTab){if(!Array.isArray(e.searchTab))throw TypeError(".keyhole.dbroot.EndSnippetProto.searchTab: array expected");r.searchTab=[];for(t=0;t<e.searchTab.length;++t){if("object"!=typeof e.searchTab[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.searchTab: object expected");r.searchTab[t]=n[40].fromObject(e.searchTab[t])}}if(e.cobrandInfo){if(!Array.isArray(e.cobrandInfo))throw TypeError(".keyhole.dbroot.EndSnippetProto.cobrandInfo: array expected");r.cobrandInfo=[];for(t=0;t<e.cobrandInfo.length;++t){if("object"!=typeof e.cobrandInfo[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.cobrandInfo: object expected");r.cobrandInfo[t]=n[41].fromObject(e.cobrandInfo[t])}}if(e.validDatabase){if(!Array.isArray(e.validDatabase))throw TypeError(".keyhole.dbroot.EndSnippetProto.validDatabase: array expected");r.validDatabase=[];for(t=0;t<e.validDatabase.length;++t){if("object"!=typeof e.validDatabase[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.validDatabase: object expected");r.validDatabase[t]=n[42].fromObject(e.validDatabase[t])}}if(e.configScript){if(!Array.isArray(e.configScript))throw TypeError(".keyhole.dbroot.EndSnippetProto.configScript: array expected");r.configScript=[];for(t=0;t<e.configScript.length;++t){if("object"!=typeof e.configScript[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.configScript: object expected");r.configScript[t]=n[43].fromObject(e.configScript[t])}}if(void 0!==e.deauthServerUrl&&null!==e.deauthServerUrl){if("object"!=typeof e.deauthServerUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.deauthServerUrl: object expected");r.deauthServerUrl=n[44].fromObject(e.deauthServerUrl)}if(void 0!==e.swoopParameters&&null!==e.swoopParameters){if("object"!=typeof e.swoopParameters)throw TypeError(".keyhole.dbroot.EndSnippetProto.swoopParameters: object expected");r.swoopParameters=n[45].fromObject(e.swoopParameters)}if(void 0!==e.bbsServerInfo&&null!==e.bbsServerInfo){if("object"!=typeof e.bbsServerInfo)throw TypeError(".keyhole.dbroot.EndSnippetProto.bbsServerInfo: object expected");r.bbsServerInfo=n[46].fromObject(e.bbsServerInfo)}if(void 0!==e.dataErrorServerInfo&&null!==e.dataErrorServerInfo){if("object"!=typeof e.dataErrorServerInfo)throw TypeError(".keyhole.dbroot.EndSnippetProto.dataErrorServerInfo: object expected");r.dataErrorServerInfo=n[47].fromObject(e.dataErrorServerInfo)}if(e.planetaryDatabase){if(!Array.isArray(e.planetaryDatabase))throw TypeError(".keyhole.dbroot.EndSnippetProto.planetaryDatabase: array expected");r.planetaryDatabase=[];for(t=0;t<e.planetaryDatabase.length;++t){if("object"!=typeof e.planetaryDatabase[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.planetaryDatabase: object expected");r.planetaryDatabase[t]=n[48].fromObject(e.planetaryDatabase[t])}}if(void 0!==e.logServer&&null!==e.logServer){if("object"!=typeof e.logServer)throw TypeError(".keyhole.dbroot.EndSnippetProto.logServer: object expected");r.logServer=n[49].fromObject(e.logServer)}if(void 0!==e.autopiaOptions&&null!==e.autopiaOptions){if("object"!=typeof e.autopiaOptions)throw TypeError(".keyhole.dbroot.EndSnippetProto.autopiaOptions: object expected");r.autopiaOptions=n[50].fromObject(e.autopiaOptions)}if(void 0!==e.searchConfig&&null!==e.searchConfig){if("object"!=typeof e.searchConfig)throw TypeError(".keyhole.dbroot.EndSnippetProto.searchConfig: object expected");r.searchConfig=n[51].fromObject(e.searchConfig)}if(void 0!==e.searchInfo&&null!==e.searchInfo){if("object"!=typeof e.searchInfo)throw TypeError(".keyhole.dbroot.EndSnippetProto.searchInfo: object expected");r.searchInfo=n[52].fromObject(e.searchInfo)}if(void 0!==e.elevationServiceBaseUrl&&null!==e.elevationServiceBaseUrl&&(r.elevationServiceBaseUrl=String(e.elevationServiceBaseUrl)),void 0!==e.elevationProfileQueryDelay&&null!==e.elevationProfileQueryDelay&&(r.elevationProfileQueryDelay=0|e.elevationProfileQueryDelay),void 0!==e.proUpgradeUrl&&null!==e.proUpgradeUrl){if("object"!=typeof e.proUpgradeUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proUpgradeUrl: object expected");r.proUpgradeUrl=n[55].fromObject(e.proUpgradeUrl)}if(void 0!==e.earthCommunityUrl&&null!==e.earthCommunityUrl){if("object"!=typeof e.earthCommunityUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.earthCommunityUrl: object expected");r.earthCommunityUrl=n[56].fromObject(e.earthCommunityUrl)}if(void 0!==e.googleMapsUrl&&null!==e.googleMapsUrl){if("object"!=typeof e.googleMapsUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.googleMapsUrl: object expected");r.googleMapsUrl=n[57].fromObject(e.googleMapsUrl)}if(void 0!==e.sharingUrl&&null!==e.sharingUrl){if("object"!=typeof e.sharingUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.sharingUrl: object expected");r.sharingUrl=n[58].fromObject(e.sharingUrl)}if(void 0!==e.privacyPolicyUrl&&null!==e.privacyPolicyUrl){if("object"!=typeof e.privacyPolicyUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.privacyPolicyUrl: object expected");r.privacyPolicyUrl=n[59].fromObject(e.privacyPolicyUrl)}if(void 0!==e.doGplusUserCheck&&null!==e.doGplusUserCheck&&(r.doGplusUserCheck=Boolean(e.doGplusUserCheck)),void 0!==e.rocktreeDataProto&&null!==e.rocktreeDataProto){if("object"!=typeof e.rocktreeDataProto)throw TypeError(".keyhole.dbroot.EndSnippetProto.rocktreeDataProto: object expected");r.rocktreeDataProto=n[61].fromObject(e.rocktreeDataProto)}if(e.filmstripConfig){if(!Array.isArray(e.filmstripConfig))throw TypeError(".keyhole.dbroot.EndSnippetProto.filmstripConfig: array expected");r.filmstripConfig=[];for(t=0;t<e.filmstripConfig.length;++t){if("object"!=typeof e.filmstripConfig[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.filmstripConfig: object expected");r.filmstripConfig[t]=n[62].fromObject(e.filmstripConfig[t])}}if(void 0!==e.showSigninButton&&null!==e.showSigninButton&&(r.showSigninButton=Boolean(e.showSigninButton)),void 0!==e.proMeasureUpsellUrl&&null!==e.proMeasureUpsellUrl){if("object"!=typeof e.proMeasureUpsellUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proMeasureUpsellUrl: object expected");r.proMeasureUpsellUrl=n[64].fromObject(e.proMeasureUpsellUrl)}if(void 0!==e.proPrintUpsellUrl&&null!==e.proPrintUpsellUrl){if("object"!=typeof e.proPrintUpsellUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.proPrintUpsellUrl: object expected");r.proPrintUpsellUrl=n[65].fromObject(e.proPrintUpsellUrl)}if(void 0!==e.starDataProto&&null!==e.starDataProto){if("object"!=typeof e.starDataProto)throw TypeError(".keyhole.dbroot.EndSnippetProto.starDataProto: object expected");r.starDataProto=n[66].fromObject(e.starDataProto)}if(void 0!==e.feedbackUrl&&null!==e.feedbackUrl){if("object"!=typeof e.feedbackUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.feedbackUrl: object expected");r.feedbackUrl=n[67].fromObject(e.feedbackUrl)}if(void 0!==e.oauth2LoginUrl&&null!==e.oauth2LoginUrl){if("object"!=typeof e.oauth2LoginUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.oauth2LoginUrl: object expected");r.oauth2LoginUrl=n[68].fromObject(e.oauth2LoginUrl)}return r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.mfeDomains=[],t.searchTab=[],t.cobrandInfo=[],t.validDatabase=[],t.configScript=[],t.planetaryDatabase=[],t.filmstripConfig=[]),r.defaults&&(t.model=null,t.authServerUrl=null,t.disableAuthentication=!1,t.mfeLangParam="hl=$5Bhl5D",t.adsUrlPatterns="",t.reverseGeocoderUrl=null,t.reverseGeocoderProtocolVersion=3,t.skyDatabaseIsAvailable=!0,t.skyDatabaseUrl=null,t.defaultWebPageIntlUrl=null,t.numStartUpTips=17,t.startUpTipsUrl=null,t.numProStartUpTips=0,t.proStartUpTipsUrl=null,t.startupTipsIntlUrl=null,t.userGuideIntlUrl=null,t.supportCenterIntlUrl=null,t.businessListingIntlUrl=null,t.supportAnswerIntlUrl=null,t.supportTopicIntlUrl=null,t.supportRequestIntlUrl=null,t.earthIntlUrl=null,t.addContentUrl=null,t.sketchupNotInstalledUrl=null,t.sketchupErrorUrl=null,t.freeLicenseUrl=null,t.proLicenseUrl=null,t.tutorialUrl=null,t.keyboardShortcutsUrl=null,t.releaseNotesUrl=null,t.hideUserData=!1,t.useGeLogo=!0,t.dioramaDescriptionUrlBase=null,t.dioramaDefaultColor=4291281607,t.dioramaBlacklistUrl=null,t.clientOptions=null,t.fetchingOptions=null,t.timeMachineOptions=null,t.csiOptions=null,t.deauthServerUrl=null,t.swoopParameters=null,t.bbsServerInfo=null,t.dataErrorServerInfo=null,t.logServer=null,t.autopiaOptions=null,t.searchConfig=null,t.searchInfo=null,t.elevationServiceBaseUrl="http://maps.google.com/maps/api/elevation/",t.elevationProfileQueryDelay=500,t.proUpgradeUrl=null,t.earthCommunityUrl=null,t.googleMapsUrl=null,t.sharingUrl=null,t.privacyPolicyUrl=null,t.doGplusUserCheck=!1,t.rocktreeDataProto=null,t.showSigninButton=!1,t.proMeasureUpsellUrl=null,t.proPrintUpsellUrl=null,t.starDataProto=null,t.feedbackUrl=null,t.oauth2LoginUrl=null),void 0!==e.model&&null!==e.model&&e.hasOwnProperty("model")&&(t.model=n[0].toObject(e.model,r)),void 0!==e.authServerUrl&&null!==e.authServerUrl&&e.hasOwnProperty("authServerUrl")&&(t.authServerUrl=n[1].toObject(e.authServerUrl,r)),void 0!==e.disableAuthentication&&null!==e.disableAuthentication&&e.hasOwnProperty("disableAuthentication")&&(t.disableAuthentication=e.disableAuthentication),void 0!==e.mfeDomains&&null!==e.mfeDomains&&e.hasOwnProperty("mfeDomains")){t.mfeDomains=[];for(var o=0;o<e.mfeDomains.length;++o)t.mfeDomains[o]=n[3].toObject(e.mfeDomains[o],r)}if(void 0!==e.mfeLangParam&&null!==e.mfeLangParam&&e.hasOwnProperty("mfeLangParam")&&(t.mfeLangParam=e.mfeLangParam),void 0!==e.adsUrlPatterns&&null!==e.adsUrlPatterns&&e.hasOwnProperty("adsUrlPatterns")&&(t.adsUrlPatterns=e.adsUrlPatterns),void 0!==e.reverseGeocoderUrl&&null!==e.reverseGeocoderUrl&&e.hasOwnProperty("reverseGeocoderUrl")&&(t.reverseGeocoderUrl=n[6].toObject(e.reverseGeocoderUrl,r)),void 0!==e.reverseGeocoderProtocolVersion&&null!==e.reverseGeocoderProtocolVersion&&e.hasOwnProperty("reverseGeocoderProtocolVersion")&&(t.reverseGeocoderProtocolVersion=e.reverseGeocoderProtocolVersion),void 0!==e.skyDatabaseIsAvailable&&null!==e.skyDatabaseIsAvailable&&e.hasOwnProperty("skyDatabaseIsAvailable")&&(t.skyDatabaseIsAvailable=e.skyDatabaseIsAvailable),void 0!==e.skyDatabaseUrl&&null!==e.skyDatabaseUrl&&e.hasOwnProperty("skyDatabaseUrl")&&(t.skyDatabaseUrl=n[9].toObject(e.skyDatabaseUrl,r)),void 0!==e.defaultWebPageIntlUrl&&null!==e.defaultWebPageIntlUrl&&e.hasOwnProperty("defaultWebPageIntlUrl")&&(t.defaultWebPageIntlUrl=n[10].toObject(e.defaultWebPageIntlUrl,r)),void 0!==e.numStartUpTips&&null!==e.numStartUpTips&&e.hasOwnProperty("numStartUpTips")&&(t.numStartUpTips=e.numStartUpTips),void 0!==e.startUpTipsUrl&&null!==e.startUpTipsUrl&&e.hasOwnProperty("startUpTipsUrl")&&(t.startUpTipsUrl=n[12].toObject(e.startUpTipsUrl,r)),void 0!==e.numProStartUpTips&&null!==e.numProStartUpTips&&e.hasOwnProperty("numProStartUpTips")&&(t.numProStartUpTips=e.numProStartUpTips),void 0!==e.proStartUpTipsUrl&&null!==e.proStartUpTipsUrl&&e.hasOwnProperty("proStartUpTipsUrl")&&(t.proStartUpTipsUrl=n[14].toObject(e.proStartUpTipsUrl,r)),void 0!==e.startupTipsIntlUrl&&null!==e.startupTipsIntlUrl&&e.hasOwnProperty("startupTipsIntlUrl")&&(t.startupTipsIntlUrl=n[15].toObject(e.startupTipsIntlUrl,r)),void 0!==e.userGuideIntlUrl&&null!==e.userGuideIntlUrl&&e.hasOwnProperty("userGuideIntlUrl")&&(t.userGuideIntlUrl=n[16].toObject(e.userGuideIntlUrl,r)),void 0!==e.supportCenterIntlUrl&&null!==e.supportCenterIntlUrl&&e.hasOwnProperty("supportCenterIntlUrl")&&(t.supportCenterIntlUrl=n[17].toObject(e.supportCenterIntlUrl,r)),void 0!==e.businessListingIntlUrl&&null!==e.businessListingIntlUrl&&e.hasOwnProperty("businessListingIntlUrl")&&(t.businessListingIntlUrl=n[18].toObject(e.businessListingIntlUrl,r)),void 0!==e.supportAnswerIntlUrl&&null!==e.supportAnswerIntlUrl&&e.hasOwnProperty("supportAnswerIntlUrl")&&(t.supportAnswerIntlUrl=n[19].toObject(e.supportAnswerIntlUrl,r)),void 0!==e.supportTopicIntlUrl&&null!==e.supportTopicIntlUrl&&e.hasOwnProperty("supportTopicIntlUrl")&&(t.supportTopicIntlUrl=n[20].toObject(e.supportTopicIntlUrl,r)),void 0!==e.supportRequestIntlUrl&&null!==e.supportRequestIntlUrl&&e.hasOwnProperty("supportRequestIntlUrl")&&(t.supportRequestIntlUrl=n[21].toObject(e.supportRequestIntlUrl,r)),void 0!==e.earthIntlUrl&&null!==e.earthIntlUrl&&e.hasOwnProperty("earthIntlUrl")&&(t.earthIntlUrl=n[22].toObject(e.earthIntlUrl,r)),void 0!==e.addContentUrl&&null!==e.addContentUrl&&e.hasOwnProperty("addContentUrl")&&(t.addContentUrl=n[23].toObject(e.addContentUrl,r)),void 0!==e.sketchupNotInstalledUrl&&null!==e.sketchupNotInstalledUrl&&e.hasOwnProperty("sketchupNotInstalledUrl")&&(t.sketchupNotInstalledUrl=n[24].toObject(e.sketchupNotInstalledUrl,r)),void 0!==e.sketchupErrorUrl&&null!==e.sketchupErrorUrl&&e.hasOwnProperty("sketchupErrorUrl")&&(t.sketchupErrorUrl=n[25].toObject(e.sketchupErrorUrl,r)),void 0!==e.freeLicenseUrl&&null!==e.freeLicenseUrl&&e.hasOwnProperty("freeLicenseUrl")&&(t.freeLicenseUrl=n[26].toObject(e.freeLicenseUrl,r)),void 0!==e.proLicenseUrl&&null!==e.proLicenseUrl&&e.hasOwnProperty("proLicenseUrl")&&(t.proLicenseUrl=n[27].toObject(e.proLicenseUrl,r)),void 0!==e.tutorialUrl&&null!==e.tutorialUrl&&e.hasOwnProperty("tutorialUrl")&&(t.tutorialUrl=n[28].toObject(e.tutorialUrl,r)),void 0!==e.keyboardShortcutsUrl&&null!==e.keyboardShortcutsUrl&&e.hasOwnProperty("keyboardShortcutsUrl")&&(t.keyboardShortcutsUrl=n[29].toObject(e.keyboardShortcutsUrl,r)),void 0!==e.releaseNotesUrl&&null!==e.releaseNotesUrl&&e.hasOwnProperty("releaseNotesUrl")&&(t.releaseNotesUrl=n[30].toObject(e.releaseNotesUrl,r)),void 0!==e.hideUserData&&null!==e.hideUserData&&e.hasOwnProperty("hideUserData")&&(t.hideUserData=e.hideUserData),void 0!==e.useGeLogo&&null!==e.useGeLogo&&e.hasOwnProperty("useGeLogo")&&(t.useGeLogo=e.useGeLogo),void 0!==e.dioramaDescriptionUrlBase&&null!==e.dioramaDescriptionUrlBase&&e.hasOwnProperty("dioramaDescriptionUrlBase")&&(t.dioramaDescriptionUrlBase=n[33].toObject(e.dioramaDescriptionUrlBase,r)),void 0!==e.dioramaDefaultColor&&null!==e.dioramaDefaultColor&&e.hasOwnProperty("dioramaDefaultColor")&&(t.dioramaDefaultColor=e.dioramaDefaultColor),void 0!==e.dioramaBlacklistUrl&&null!==e.dioramaBlacklistUrl&&e.hasOwnProperty("dioramaBlacklistUrl")&&(t.dioramaBlacklistUrl=n[35].toObject(e.dioramaBlacklistUrl,r)),void 0!==e.clientOptions&&null!==e.clientOptions&&e.hasOwnProperty("clientOptions")&&(t.clientOptions=n[36].toObject(e.clientOptions,r)),void 0!==e.fetchingOptions&&null!==e.fetchingOptions&&e.hasOwnProperty("fetchingOptions")&&(t.fetchingOptions=n[37].toObject(e.fetchingOptions,r)),void 0!==e.timeMachineOptions&&null!==e.timeMachineOptions&&e.hasOwnProperty("timeMachineOptions")&&(t.timeMachineOptions=n[38].toObject(e.timeMachineOptions,r)),void 0!==e.csiOptions&&null!==e.csiOptions&&e.hasOwnProperty("csiOptions")&&(t.csiOptions=n[39].toObject(e.csiOptions,r)),void 0!==e.searchTab&&null!==e.searchTab&&e.hasOwnProperty("searchTab")){t.searchTab=[];for(o=0;o<e.searchTab.length;++o)t.searchTab[o]=n[40].toObject(e.searchTab[o],r)}if(void 0!==e.cobrandInfo&&null!==e.cobrandInfo&&e.hasOwnProperty("cobrandInfo")){t.cobrandInfo=[];for(o=0;o<e.cobrandInfo.length;++o)t.cobrandInfo[o]=n[41].toObject(e.cobrandInfo[o],r)}if(void 0!==e.validDatabase&&null!==e.validDatabase&&e.hasOwnProperty("validDatabase")){t.validDatabase=[];for(o=0;o<e.validDatabase.length;++o)t.validDatabase[o]=n[42].toObject(e.validDatabase[o],r)}if(void 0!==e.configScript&&null!==e.configScript&&e.hasOwnProperty("configScript")){t.configScript=[];for(o=0;o<e.configScript.length;++o)t.configScript[o]=n[43].toObject(e.configScript[o],r)}if(void 0!==e.deauthServerUrl&&null!==e.deauthServerUrl&&e.hasOwnProperty("deauthServerUrl")&&(t.deauthServerUrl=n[44].toObject(e.deauthServerUrl,r)),void 0!==e.swoopParameters&&null!==e.swoopParameters&&e.hasOwnProperty("swoopParameters")&&(t.swoopParameters=n[45].toObject(e.swoopParameters,r)),void 0!==e.bbsServerInfo&&null!==e.bbsServerInfo&&e.hasOwnProperty("bbsServerInfo")&&(t.bbsServerInfo=n[46].toObject(e.bbsServerInfo,r)),void 0!==e.dataErrorServerInfo&&null!==e.dataErrorServerInfo&&e.hasOwnProperty("dataErrorServerInfo")&&(t.dataErrorServerInfo=n[47].toObject(e.dataErrorServerInfo,r)),void 0!==e.planetaryDatabase&&null!==e.planetaryDatabase&&e.hasOwnProperty("planetaryDatabase")){t.planetaryDatabase=[];for(o=0;o<e.planetaryDatabase.length;++o)t.planetaryDatabase[o]=n[48].toObject(e.planetaryDatabase[o],r)}if(void 0!==e.logServer&&null!==e.logServer&&e.hasOwnProperty("logServer")&&(t.logServer=n[49].toObject(e.logServer,r)),void 0!==e.autopiaOptions&&null!==e.autopiaOptions&&e.hasOwnProperty("autopiaOptions")&&(t.autopiaOptions=n[50].toObject(e.autopiaOptions,r)),void 0!==e.searchConfig&&null!==e.searchConfig&&e.hasOwnProperty("searchConfig")&&(t.searchConfig=n[51].toObject(e.searchConfig,r)),void 0!==e.searchInfo&&null!==e.searchInfo&&e.hasOwnProperty("searchInfo")&&(t.searchInfo=n[52].toObject(e.searchInfo,r)),void 0!==e.elevationServiceBaseUrl&&null!==e.elevationServiceBaseUrl&&e.hasOwnProperty("elevationServiceBaseUrl")&&(t.elevationServiceBaseUrl=e.elevationServiceBaseUrl),void 0!==e.elevationProfileQueryDelay&&null!==e.elevationProfileQueryDelay&&e.hasOwnProperty("elevationProfileQueryDelay")&&(t.elevationProfileQueryDelay=e.elevationProfileQueryDelay),void 0!==e.proUpgradeUrl&&null!==e.proUpgradeUrl&&e.hasOwnProperty("proUpgradeUrl")&&(t.proUpgradeUrl=n[55].toObject(e.proUpgradeUrl,r)),void 0!==e.earthCommunityUrl&&null!==e.earthCommunityUrl&&e.hasOwnProperty("earthCommunityUrl")&&(t.earthCommunityUrl=n[56].toObject(e.earthCommunityUrl,r)),void 0!==e.googleMapsUrl&&null!==e.googleMapsUrl&&e.hasOwnProperty("googleMapsUrl")&&(t.googleMapsUrl=n[57].toObject(e.googleMapsUrl,r)),void 0!==e.sharingUrl&&null!==e.sharingUrl&&e.hasOwnProperty("sharingUrl")&&(t.sharingUrl=n[58].toObject(e.sharingUrl,r)),void 0!==e.privacyPolicyUrl&&null!==e.privacyPolicyUrl&&e.hasOwnProperty("privacyPolicyUrl")&&(t.privacyPolicyUrl=n[59].toObject(e.privacyPolicyUrl,r)),void 0!==e.doGplusUserCheck&&null!==e.doGplusUserCheck&&e.hasOwnProperty("doGplusUserCheck")&&(t.doGplusUserCheck=e.doGplusUserCheck),void 0!==e.rocktreeDataProto&&null!==e.rocktreeDataProto&&e.hasOwnProperty("rocktreeDataProto")&&(t.rocktreeDataProto=n[61].toObject(e.rocktreeDataProto,r)),void 0!==e.filmstripConfig&&null!==e.filmstripConfig&&e.hasOwnProperty("filmstripConfig")){t.filmstripConfig=[];for(o=0;o<e.filmstripConfig.length;++o)t.filmstripConfig[o]=n[62].toObject(e.filmstripConfig[o],r)}return void 0!==e.showSigninButton&&null!==e.showSigninButton&&e.hasOwnProperty("showSigninButton")&&(t.showSigninButton=e.showSigninButton),void 0!==e.proMeasureUpsellUrl&&null!==e.proMeasureUpsellUrl&&e.hasOwnProperty("proMeasureUpsellUrl")&&(t.proMeasureUpsellUrl=n[64].toObject(e.proMeasureUpsellUrl,r)),void 0!==e.proPrintUpsellUrl&&null!==e.proPrintUpsellUrl&&e.hasOwnProperty("proPrintUpsellUrl")&&(t.proPrintUpsellUrl=n[65].toObject(e.proPrintUpsellUrl,r)),void 0!==e.starDataProto&&null!==e.starDataProto&&e.hasOwnProperty("starDataProto")&&(t.starDataProto=n[66].toObject(e.starDataProto,r)),void 0!==e.feedbackUrl&&null!==e.feedbackUrl&&e.hasOwnProperty("feedbackUrl")&&(t.feedbackUrl=n[67].toObject(e.feedbackUrl,r)),void 0!==e.oauth2LoginUrl&&null!==e.oauth2LoginUrl&&e.hasOwnProperty("oauth2LoginUrl")&&(t.oauth2LoginUrl=n[68].toObject(e.oauth2LoginUrl,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.SearchConfigProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.searchServer=s.emptyArray,e.prototype.oneboxService=s.emptyArray,e.prototype.kmlSearchUrl=null,e.prototype.kmlRenderUrl=null,e.prototype.searchHistoryUrl=null,e.prototype.errorPageUrl=null;var n={0:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer",1:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto",2:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.StringIdOrValueProto",5:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.searchServer&&o.searchServer.length||(o.searchServer=[]),o.searchServer.push(n[0].decode(e,e.uint32()));break;case 2:o.oneboxService&&o.oneboxService.length||(o.oneboxService=[]),o.oneboxService.push(n[1].decode(e,e.uint32()));break;case 3:o.kmlSearchUrl=n[2].decode(e,e.uint32());break;case 4:o.kmlRenderUrl=n[3].decode(e,e.uint32());break;case 6:o.searchHistoryUrl=n[4].decode(e,e.uint32());break;case 5:o.errorPageUrl=n[5].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.searchServer){if(!Array.isArray(e.searchServer))return"searchServer: array expected";for(var r=0;r<e.searchServer.length;++r)if(t=n[0].verify(e.searchServer[r]))return"searchServer."+t}if(void 0!==e.oneboxService){if(!Array.isArray(e.oneboxService))return"oneboxService: array expected";for(r=0;r<e.oneboxService.length;++r)if(t=n[1].verify(e.oneboxService[r]))return"oneboxService."+t}var t;if(void 0!==e.kmlSearchUrl&&null!==e.kmlSearchUrl&&(t=n[2].verify(e.kmlSearchUrl)))return"kmlSearchUrl."+t;if(void 0!==e.kmlRenderUrl&&null!==e.kmlRenderUrl&&(t=n[3].verify(e.kmlRenderUrl)))return"kmlRenderUrl."+t;if(void 0!==e.searchHistoryUrl&&null!==e.searchHistoryUrl&&(t=n[4].verify(e.searchHistoryUrl)))return"searchHistoryUrl."+t;if(void 0!==e.errorPageUrl&&null!==e.errorPageUrl&&(t=n[5].verify(e.errorPageUrl)))return"errorPageUrl."+t;return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.SearchConfigProto)return e;var r=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto;if(e.searchServer){if(!Array.isArray(e.searchServer))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.searchServer: array expected");r.searchServer=[];for(var t=0;t<e.searchServer.length;++t){if("object"!=typeof e.searchServer[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.searchServer: object expected");r.searchServer[t]=n[0].fromObject(e.searchServer[t])}}if(e.oneboxService){if(!Array.isArray(e.oneboxService))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.oneboxService: array expected");r.oneboxService=[];for(t=0;t<e.oneboxService.length;++t){if("object"!=typeof e.oneboxService[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.oneboxService: object expected");r.oneboxService[t]=n[1].fromObject(e.oneboxService[t])}}if(void 0!==e.kmlSearchUrl&&null!==e.kmlSearchUrl){if("object"!=typeof e.kmlSearchUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.kmlSearchUrl: object expected");r.kmlSearchUrl=n[2].fromObject(e.kmlSearchUrl)}if(void 0!==e.kmlRenderUrl&&null!==e.kmlRenderUrl){if("object"!=typeof e.kmlRenderUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.kmlRenderUrl: object expected");r.kmlRenderUrl=n[3].fromObject(e.kmlRenderUrl)}if(void 0!==e.searchHistoryUrl&&null!==e.searchHistoryUrl){if("object"!=typeof e.searchHistoryUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.searchHistoryUrl: object expected");r.searchHistoryUrl=n[4].fromObject(e.searchHistoryUrl)}if(void 0!==e.errorPageUrl&&null!==e.errorPageUrl){if("object"!=typeof e.errorPageUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.errorPageUrl: object expected");r.errorPageUrl=n[5].fromObject(e.errorPageUrl)}return r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.searchServer=[],t.oneboxService=[]),r.defaults&&(t.kmlSearchUrl=null,t.kmlRenderUrl=null,t.searchHistoryUrl=null,t.errorPageUrl=null),void 0!==e.searchServer&&null!==e.searchServer&&e.hasOwnProperty("searchServer")){t.searchServer=[];for(var o=0;o<e.searchServer.length;++o)t.searchServer[o]=n[0].toObject(e.searchServer[o],r)}if(void 0!==e.oneboxService&&null!==e.oneboxService&&e.hasOwnProperty("oneboxService")){t.oneboxService=[];for(o=0;o<e.oneboxService.length;++o)t.oneboxService[o]=n[1].toObject(e.oneboxService[o],r)}return void 0!==e.kmlSearchUrl&&null!==e.kmlSearchUrl&&e.hasOwnProperty("kmlSearchUrl")&&(t.kmlSearchUrl=n[2].toObject(e.kmlSearchUrl,r)),void 0!==e.kmlRenderUrl&&null!==e.kmlRenderUrl&&e.hasOwnProperty("kmlRenderUrl")&&(t.kmlRenderUrl=n[3].toObject(e.kmlRenderUrl,r)),void 0!==e.searchHistoryUrl&&null!==e.searchHistoryUrl&&e.hasOwnProperty("searchHistoryUrl")&&(t.searchHistoryUrl=n[4].toObject(e.searchHistoryUrl,r)),void 0!==e.errorPageUrl&&null!==e.errorPageUrl&&e.hasOwnProperty("errorPageUrl")&&(t.errorPageUrl=n[5].toObject(e.errorPageUrl,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.SearchServer=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.name=null,e.prototype.url=null,e.prototype.type=0,e.prototype.htmlTransformUrl=null,e.prototype.kmlTransformUrl=null,e.prototype.supplementalUi=null,e.prototype.suggestion=s.emptyArray,e.prototype.searchlet=s.emptyArray,e.prototype.requirements=null,e.prototype.suggestServer=null;var r,n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto",2:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.ResultType",3:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.StringIdOrValueProto",5:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi",6:"keyhole.dbroot.StringIdOrValueProto",7:"keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto",8:"keyhole.dbroot.RequirementProto",9:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.name=n[0].decode(e,e.uint32());break;case 2:o.url=n[1].decode(e,e.uint32());break;case 3:o.type=e.uint32();break;case 4:o.htmlTransformUrl=n[3].decode(e,e.uint32());break;case 5:o.kmlTransformUrl=n[4].decode(e,e.uint32());break;case 6:o.supplementalUi=n[5].decode(e,e.uint32());break;case 9:o.suggestion&&o.suggestion.length||(o.suggestion=[]),o.suggestion.push(n[6].decode(e,e.uint32()));break;case 7:o.searchlet&&o.searchlet.length||(o.searchlet=[]),o.searchlet.push(n[7].decode(e,e.uint32()));break;case 8:o.requirements=n[8].decode(e,e.uint32());break;case 10:o.suggestServer=n[9].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.name&&null!==e.name&&(t=n[0].verify(e.name)))return"name."+t;if(void 0!==e.url&&null!==e.url&&(t=n[1].verify(e.url)))return"url."+t;if(void 0!==e.type)switch(e.type){default:return"type: enum value expected";case 0:case 1:}if(void 0!==e.htmlTransformUrl&&null!==e.htmlTransformUrl&&(t=n[3].verify(e.htmlTransformUrl)))return"htmlTransformUrl."+t;if(void 0!==e.kmlTransformUrl&&null!==e.kmlTransformUrl&&(t=n[4].verify(e.kmlTransformUrl)))return"kmlTransformUrl."+t;if(void 0!==e.supplementalUi&&null!==e.supplementalUi&&(t=n[5].verify(e.supplementalUi)))return"supplementalUi."+t;if(void 0!==e.suggestion){if(!Array.isArray(e.suggestion))return"suggestion: array expected";for(var r=0;r<e.suggestion.length;++r)if(t=n[6].verify(e.suggestion[r]))return"suggestion."+t}if(void 0!==e.searchlet){if(!Array.isArray(e.searchlet))return"searchlet: array expected";for(var t,r=0;r<e.searchlet.length;++r)if(t=n[7].verify(e.searchlet[r]))return"searchlet."+t}if(void 0!==e.requirements&&null!==e.requirements&&(t=n[8].verify(e.requirements)))return"requirements."+t;if(void 0!==e.suggestServer&&null!==e.suggestServer&&(t=n[9].verify(e.suggestServer)))return"suggestServer."+t;return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer)return e;var r=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer;if(void 0!==e.name&&null!==e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.name: object expected");r.name=n[0].fromObject(e.name)}if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.url: object expected");r.url=n[1].fromObject(e.url)}switch(e.type){case"RESULT_TYPE_KML":case 0:r.type=0;break;case"RESULT_TYPE_XML":case 1:r.type=1}if(void 0!==e.htmlTransformUrl&&null!==e.htmlTransformUrl){if("object"!=typeof e.htmlTransformUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.htmlTransformUrl: object expected");r.htmlTransformUrl=n[3].fromObject(e.htmlTransformUrl)}if(void 0!==e.kmlTransformUrl&&null!==e.kmlTransformUrl){if("object"!=typeof e.kmlTransformUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.kmlTransformUrl: object expected");r.kmlTransformUrl=n[4].fromObject(e.kmlTransformUrl)}if(void 0!==e.supplementalUi&&null!==e.supplementalUi){if("object"!=typeof e.supplementalUi)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.supplementalUi: object expected");r.supplementalUi=n[5].fromObject(e.supplementalUi)}if(e.suggestion){if(!Array.isArray(e.suggestion))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.suggestion: array expected");r.suggestion=[];for(var t=0;t<e.suggestion.length;++t){if("object"!=typeof e.suggestion[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.suggestion: object expected");r.suggestion[t]=n[6].fromObject(e.suggestion[t])}}if(e.searchlet){if(!Array.isArray(e.searchlet))throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.searchlet: array expected");r.searchlet=[];for(t=0;t<e.searchlet.length;++t){if("object"!=typeof e.searchlet[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.searchlet: object expected");r.searchlet[t]=n[7].fromObject(e.searchlet[t])}}if(void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.requirements: object expected");r.requirements=n[8].fromObject(e.requirements)}if(void 0!==e.suggestServer&&null!==e.suggestServer){if("object"!=typeof e.suggestServer)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.suggestServer: object expected");r.suggestServer=n[9].fromObject(e.suggestServer)}return r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.suggestion=[],t.searchlet=[]),r.defaults&&(t.name=null,t.url=null,t.type=r.enums===String?"RESULT_TYPE_KML":0,t.htmlTransformUrl=null,t.kmlTransformUrl=null,t.supplementalUi=null,t.requirements=null,t.suggestServer=null),void 0!==e.name&&null!==e.name&&e.hasOwnProperty("name")&&(t.name=n[0].toObject(e.name,r)),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[1].toObject(e.url,r)),void 0!==e.type&&null!==e.type&&e.hasOwnProperty("type")&&(t.type=r.enums===String?n[2][e.type]:e.type),void 0!==e.htmlTransformUrl&&null!==e.htmlTransformUrl&&e.hasOwnProperty("htmlTransformUrl")&&(t.htmlTransformUrl=n[3].toObject(e.htmlTransformUrl,r)),void 0!==e.kmlTransformUrl&&null!==e.kmlTransformUrl&&e.hasOwnProperty("kmlTransformUrl")&&(t.kmlTransformUrl=n[4].toObject(e.kmlTransformUrl,r)),void 0!==e.supplementalUi&&null!==e.supplementalUi&&e.hasOwnProperty("supplementalUi")&&(t.supplementalUi=n[5].toObject(e.supplementalUi,r)),void 0!==e.suggestion&&null!==e.suggestion&&e.hasOwnProperty("suggestion")){t.suggestion=[];for(var o=0;o<e.suggestion.length;++o)t.suggestion[o]=n[6].toObject(e.suggestion[o],r)}if(void 0!==e.searchlet&&null!==e.searchlet&&e.hasOwnProperty("searchlet")){t.searchlet=[];for(o=0;o<e.searchlet.length;++o)t.searchlet[o]=n[7].toObject(e.searchlet[o],r)}return void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[8].toObject(e.requirements,r)),void 0!==e.suggestServer&&null!==e.suggestServer&&e.hasOwnProperty("suggestServer")&&(t.suggestServer=n[9].toObject(e.suggestServer,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.ResultType=((r=Object.create({})).RESULT_TYPE_KML=0,r.RESULT_TYPE_XML=1,r),e.SupplementalUi=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null,e.prototype.label=null,e.prototype.height=160;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;case 2:o.label=n[1].decode(e,e.uint32());break;case 3:o.height=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var r;if(void 0!==e.url&&null!==e.url&&(r=n[0].verify(e.url)))return"url."+r;if(void 0!==e.label&&null!==e.label&&(r=n[1].verify(e.label)))return"label."+r;return void 0===e.height||s.isInteger(e.height)?null:"height: integer expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi)return e;var r=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.url: object expected");r.url=n[0].fromObject(e.url)}if(void 0!==e.label&&null!==e.label){if("object"!=typeof e.label)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SupplementalUi.label: object expected");r.label=n[1].fromObject(e.label)}return void 0!==e.height&&null!==e.height&&(r.height=0|e.height),r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.url=null,t.label=null,t.height=160),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),void 0!==e.label&&null!==e.label&&e.hasOwnProperty("label")&&(t.label=n[1].toObject(e.label,r)),void 0!==e.height&&null!==e.height&&e.hasOwnProperty("height")&&(t.height=e.height),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.SearchletProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null,e.prototype.name=null,e.prototype.requirements=null;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.StringIdOrValueProto",2:"keyhole.dbroot.RequirementProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.url=n[0].decode(e,e.uint32());break;case 2:o.name=n[1].decode(e,e.uint32());break;case 3:o.requirements=n[2].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var r;if(void 0!==e.url&&null!==e.url&&(r=n[0].verify(e.url)))return"url."+r;if(void 0!==e.name&&null!==e.name&&(r=n[1].verify(e.name)))return"name."+r;if(void 0!==e.requirements&&null!==e.requirements&&(r=n[2].verify(e.requirements)))return"requirements."+r;return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto)return e;var r=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.url: object expected");r.url=n[0].fromObject(e.url)}if(void 0!==e.name&&null!==e.name){if("object"!=typeof e.name)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.name: object expected");r.name=n[1].fromObject(e.name)}if(void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.SearchServer.SearchletProto.requirements: object expected");r.requirements=n[2].fromObject(e.requirements)}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.url=null,t.name=null,t.requirements=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),void 0!==e.name&&null!==e.name&&e.hasOwnProperty("name")&&(t.name=n[1].toObject(e.name,r)),void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[2].toObject(e.requirements,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e.OneboxServiceProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.serviceUrl=null,e.prototype.requirements=null;var n={0:"keyhole.dbroot.StringIdOrValueProto",1:"keyhole.dbroot.RequirementProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.serviceUrl=n[0].decode(e,e.uint32());break;case 2:o.requirements=n[1].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var r;if(void 0!==e.serviceUrl&&null!==e.serviceUrl&&(r=n[0].verify(e.serviceUrl)))return"serviceUrl."+r;if(void 0!==e.requirements&&null!==e.requirements&&(r=n[1].verify(e.requirements)))return"requirements."+r;return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto)return e;var r=new c.keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto;if(void 0!==e.serviceUrl&&null!==e.serviceUrl){if("object"!=typeof e.serviceUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.serviceUrl: object expected");r.serviceUrl=n[0].fromObject(e.serviceUrl)}if(void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.SearchConfigProto.OneboxServiceProto.requirements: object expected");r.requirements=n[1].fromObject(e.requirements)}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.serviceUrl=null,t.requirements=null),void 0!==e.serviceUrl&&null!==e.serviceUrl&&e.hasOwnProperty("serviceUrl")&&(t.serviceUrl=n[0].toObject(e.serviceUrl,r)),void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[1].toObject(e.requirements,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e.SearchInfoProto=(r.prototype.defaultUrl="http://maps.google.com/maps",r.prototype.geocodeParam="q",r.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.SearchInfoProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.defaultUrl=e.string();break;case 2:o.geocodeParam=e.string();break;default:e.skipType(7&a)}}return o},r.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0===e.defaultUrl||s.isString(e.defaultUrl)?void 0===e.geocodeParam||s.isString(e.geocodeParam)?null:"geocodeParam: string expected":"defaultUrl: string expected"},r.from=r.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.SearchInfoProto)return e;var r=new c.keyhole.dbroot.EndSnippetProto.SearchInfoProto;return void 0!==e.defaultUrl&&null!==e.defaultUrl&&(r.defaultUrl=String(e.defaultUrl)),void 0!==e.geocodeParam&&null!==e.geocodeParam&&(r.geocodeParam=String(e.geocodeParam)),r},r.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.defaultUrl="http://maps.google.com/maps",t.geocodeParam="q"),void 0!==e.defaultUrl&&null!==e.defaultUrl&&e.hasOwnProperty("defaultUrl")&&(t.defaultUrl=e.defaultUrl),void 0!==e.geocodeParam&&null!==e.geocodeParam&&e.hasOwnProperty("geocodeParam")&&(t.geocodeParam=e.geocodeParam),t},r.prototype.toObject=function(e){return this.constructor.toObject(this,e)},r.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},r),e.RockTreeDataProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null;var n={0:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.RockTreeDataProto;e.pos<t;){var a=e.uint32();a>>>3==1?o.url=n[0].decode(e,e.uint32()):e.skipType(7&a)}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.url&&null!==e.url){e=n[0].verify(e.url);if(e)return"url."+e}return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.RockTreeDataProto)return e;var r=new c.keyhole.dbroot.EndSnippetProto.RockTreeDataProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.RockTreeDataProto.url: object expected");r.url=n[0].fromObject(e.url)}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.url=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.FilmstripConfigProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.requirements=null,e.prototype.alleycatUrlTemplate=null,e.prototype.fallbackAlleycatUrlTemplate=null,e.prototype.metadataUrlTemplate=null,e.prototype.thumbnailUrlTemplate=null,e.prototype.kmlUrlTemplate=null,e.prototype.featuredToursUrl=null,e.prototype.enableViewportFallback=!1,e.prototype.viewportFallbackDistance=0,e.prototype.imageryType=s.emptyArray;var n={0:"keyhole.dbroot.RequirementProto",1:"keyhole.dbroot.StringIdOrValueProto",2:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.StringIdOrValueProto",5:"keyhole.dbroot.StringIdOrValueProto",6:"keyhole.dbroot.StringIdOrValueProto",9:"keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.requirements=n[0].decode(e,e.uint32());break;case 2:o.alleycatUrlTemplate=n[1].decode(e,e.uint32());break;case 9:o.fallbackAlleycatUrlTemplate=n[2].decode(e,e.uint32());break;case 3:o.metadataUrlTemplate=n[3].decode(e,e.uint32());break;case 4:o.thumbnailUrlTemplate=n[4].decode(e,e.uint32());break;case 5:o.kmlUrlTemplate=n[5].decode(e,e.uint32());break;case 6:o.featuredToursUrl=n[6].decode(e,e.uint32());break;case 7:o.enableViewportFallback=e.bool();break;case 8:o.viewportFallbackDistance=e.uint32();break;case 10:o.imageryType&&o.imageryType.length||(o.imageryType=[]),o.imageryType.push(n[9].decode(e,e.uint32()));break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.requirements&&null!==e.requirements&&(r=n[0].verify(e.requirements)))return"requirements."+r;if(void 0!==e.alleycatUrlTemplate&&null!==e.alleycatUrlTemplate&&(r=n[1].verify(e.alleycatUrlTemplate)))return"alleycatUrlTemplate."+r;if(void 0!==e.fallbackAlleycatUrlTemplate&&null!==e.fallbackAlleycatUrlTemplate&&(r=n[2].verify(e.fallbackAlleycatUrlTemplate)))return"fallbackAlleycatUrlTemplate."+r;if(void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate&&(r=n[3].verify(e.metadataUrlTemplate)))return"metadataUrlTemplate."+r;if(void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate&&(r=n[4].verify(e.thumbnailUrlTemplate)))return"thumbnailUrlTemplate."+r;if(void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate&&(r=n[5].verify(e.kmlUrlTemplate)))return"kmlUrlTemplate."+r;if(void 0!==e.featuredToursUrl&&null!==e.featuredToursUrl&&(r=n[6].verify(e.featuredToursUrl)))return"featuredToursUrl."+r;if(void 0!==e.enableViewportFallback&&"boolean"!=typeof e.enableViewportFallback)return"enableViewportFallback: boolean expected";if(void 0!==e.viewportFallbackDistance&&!s.isInteger(e.viewportFallbackDistance))return"viewportFallbackDistance: integer expected";if(void 0!==e.imageryType){if(!Array.isArray(e.imageryType))return"imageryType: array expected";for(var r,t=0;t<e.imageryType.length;++t)if(r=n[9].verify(e.imageryType[t]))return"imageryType."+r}return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto)return e;var r=new c.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto;if(void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.requirements: object expected");r.requirements=n[0].fromObject(e.requirements)}if(void 0!==e.alleycatUrlTemplate&&null!==e.alleycatUrlTemplate){if("object"!=typeof e.alleycatUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.alleycatUrlTemplate: object expected");r.alleycatUrlTemplate=n[1].fromObject(e.alleycatUrlTemplate)}if(void 0!==e.fallbackAlleycatUrlTemplate&&null!==e.fallbackAlleycatUrlTemplate){if("object"!=typeof e.fallbackAlleycatUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.fallbackAlleycatUrlTemplate: object expected");r.fallbackAlleycatUrlTemplate=n[2].fromObject(e.fallbackAlleycatUrlTemplate)}if(void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate){if("object"!=typeof e.metadataUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.metadataUrlTemplate: object expected");r.metadataUrlTemplate=n[3].fromObject(e.metadataUrlTemplate)}if(void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate){if("object"!=typeof e.thumbnailUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.thumbnailUrlTemplate: object expected");r.thumbnailUrlTemplate=n[4].fromObject(e.thumbnailUrlTemplate)}if(void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate){if("object"!=typeof e.kmlUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.kmlUrlTemplate: object expected");r.kmlUrlTemplate=n[5].fromObject(e.kmlUrlTemplate)}if(void 0!==e.featuredToursUrl&&null!==e.featuredToursUrl){if("object"!=typeof e.featuredToursUrl)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.featuredToursUrl: object expected");r.featuredToursUrl=n[6].fromObject(e.featuredToursUrl)}if(void 0!==e.enableViewportFallback&&null!==e.enableViewportFallback&&(r.enableViewportFallback=Boolean(e.enableViewportFallback)),void 0!==e.viewportFallbackDistance&&null!==e.viewportFallbackDistance&&(r.viewportFallbackDistance=e.viewportFallbackDistance>>>0),e.imageryType){if(!Array.isArray(e.imageryType))throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.imageryType: array expected");r.imageryType=[];for(var t=0;t<e.imageryType.length;++t){if("object"!=typeof e.imageryType[t])throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.imageryType: object expected");r.imageryType[t]=n[9].fromObject(e.imageryType[t])}}return r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.imageryType=[]),r.defaults&&(t.requirements=null,t.alleycatUrlTemplate=null,t.fallbackAlleycatUrlTemplate=null,t.metadataUrlTemplate=null,t.thumbnailUrlTemplate=null,t.kmlUrlTemplate=null,t.featuredToursUrl=null,t.enableViewportFallback=!1,t.viewportFallbackDistance=0),void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[0].toObject(e.requirements,r)),void 0!==e.alleycatUrlTemplate&&null!==e.alleycatUrlTemplate&&e.hasOwnProperty("alleycatUrlTemplate")&&(t.alleycatUrlTemplate=n[1].toObject(e.alleycatUrlTemplate,r)),void 0!==e.fallbackAlleycatUrlTemplate&&null!==e.fallbackAlleycatUrlTemplate&&e.hasOwnProperty("fallbackAlleycatUrlTemplate")&&(t.fallbackAlleycatUrlTemplate=n[2].toObject(e.fallbackAlleycatUrlTemplate,r)),void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate&&e.hasOwnProperty("metadataUrlTemplate")&&(t.metadataUrlTemplate=n[3].toObject(e.metadataUrlTemplate,r)),void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate&&e.hasOwnProperty("thumbnailUrlTemplate")&&(t.thumbnailUrlTemplate=n[4].toObject(e.thumbnailUrlTemplate,r)),void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate&&e.hasOwnProperty("kmlUrlTemplate")&&(t.kmlUrlTemplate=n[5].toObject(e.kmlUrlTemplate,r)),void 0!==e.featuredToursUrl&&null!==e.featuredToursUrl&&e.hasOwnProperty("featuredToursUrl")&&(t.featuredToursUrl=n[6].toObject(e.featuredToursUrl,r)),void 0!==e.enableViewportFallback&&null!==e.enableViewportFallback&&e.hasOwnProperty("enableViewportFallback")&&(t.enableViewportFallback=e.enableViewportFallback),void 0!==e.viewportFallbackDistance&&null!==e.viewportFallbackDistance&&e.hasOwnProperty("viewportFallbackDistance")&&(t.viewportFallbackDistance=e.viewportFallbackDistance),void 0!==e.imageryType&&null!==e.imageryType&&e.hasOwnProperty("imageryType")){t.imageryType=[];for(var o=0;o<e.imageryType.length;++o)t.imageryType[o]=n[9].toObject(e.imageryType[o],r)}return t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.AlleycatImageryTypeProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.imageryTypeId=0,e.prototype.imageryTypeLabel="",e.prototype.metadataUrlTemplate=null,e.prototype.thumbnailUrlTemplate=null,e.prototype.kmlUrlTemplate=null;var n={2:"keyhole.dbroot.StringIdOrValueProto",3:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.imageryTypeId=e.int32();break;case 2:o.imageryTypeLabel=e.string();break;case 3:o.metadataUrlTemplate=n[2].decode(e,e.uint32());break;case 4:o.thumbnailUrlTemplate=n[3].decode(e,e.uint32());break;case 5:o.kmlUrlTemplate=n[4].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.imageryTypeId&&!s.isInteger(e.imageryTypeId))return"imageryTypeId: integer expected";if(void 0!==e.imageryTypeLabel&&!s.isString(e.imageryTypeLabel))return"imageryTypeLabel: string expected";var r;if(void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate&&(r=n[2].verify(e.metadataUrlTemplate)))return"metadataUrlTemplate."+r;if(void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate&&(r=n[3].verify(e.thumbnailUrlTemplate)))return"thumbnailUrlTemplate."+r;if(void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate&&(r=n[4].verify(e.kmlUrlTemplate)))return"kmlUrlTemplate."+r;return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto)return e;var r=new c.keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto;if(void 0!==e.imageryTypeId&&null!==e.imageryTypeId&&(r.imageryTypeId=0|e.imageryTypeId),void 0!==e.imageryTypeLabel&&null!==e.imageryTypeLabel&&(r.imageryTypeLabel=String(e.imageryTypeLabel)),void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate){if("object"!=typeof e.metadataUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.metadataUrlTemplate: object expected");r.metadataUrlTemplate=n[2].fromObject(e.metadataUrlTemplate)}if(void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate){if("object"!=typeof e.thumbnailUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.thumbnailUrlTemplate: object expected");r.thumbnailUrlTemplate=n[3].fromObject(e.thumbnailUrlTemplate)}if(void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate){if("object"!=typeof e.kmlUrlTemplate)throw TypeError(".keyhole.dbroot.EndSnippetProto.FilmstripConfigProto.AlleycatImageryTypeProto.kmlUrlTemplate: object expected");r.kmlUrlTemplate=n[4].fromObject(e.kmlUrlTemplate)}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.imageryTypeId=0,t.imageryTypeLabel="",t.metadataUrlTemplate=null,t.thumbnailUrlTemplate=null,t.kmlUrlTemplate=null),void 0!==e.imageryTypeId&&null!==e.imageryTypeId&&e.hasOwnProperty("imageryTypeId")&&(t.imageryTypeId=e.imageryTypeId),void 0!==e.imageryTypeLabel&&null!==e.imageryTypeLabel&&e.hasOwnProperty("imageryTypeLabel")&&(t.imageryTypeLabel=e.imageryTypeLabel),void 0!==e.metadataUrlTemplate&&null!==e.metadataUrlTemplate&&e.hasOwnProperty("metadataUrlTemplate")&&(t.metadataUrlTemplate=n[2].toObject(e.metadataUrlTemplate,r)),void 0!==e.thumbnailUrlTemplate&&null!==e.thumbnailUrlTemplate&&e.hasOwnProperty("thumbnailUrlTemplate")&&(t.thumbnailUrlTemplate=n[3].toObject(e.thumbnailUrlTemplate,r)),void 0!==e.kmlUrlTemplate&&null!==e.kmlUrlTemplate&&e.hasOwnProperty("kmlUrlTemplate")&&(t.kmlUrlTemplate=n[4].toObject(e.kmlUrlTemplate,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e.StarDataProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url=null;var n={0:"keyhole.dbroot.StringIdOrValueProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EndSnippetProto.StarDataProto;e.pos<t;){var a=e.uint32();a>>>3==1?o.url=n[0].decode(e,e.uint32()):e.skipType(7&a)}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.url&&null!==e.url){e=n[0].verify(e.url);if(e)return"url."+e}return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EndSnippetProto.StarDataProto)return e;var r=new c.keyhole.dbroot.EndSnippetProto.StarDataProto;if(void 0!==e.url&&null!==e.url){if("object"!=typeof e.url)throw TypeError(".keyhole.dbroot.EndSnippetProto.StarDataProto.url: object expected");r.url=n[0].fromObject(e.url)}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.url=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=n[0].toObject(e.url,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e.DbRootRefProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.url="",e.prototype.isCritical=!1,e.prototype.requirements=null;var n={2:"keyhole.dbroot.RequirementProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.DbRootRefProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 2:o.url=e.string();break;case 1:o.isCritical=e.bool();break;case 3:o.requirements=n[2].decode(e,e.uint32());break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!s.isString(e.url))return"url: string expected";if(void 0!==e.isCritical&&"boolean"!=typeof e.isCritical)return"isCritical: boolean expected";if(void 0!==e.requirements&&null!==e.requirements){e=n[2].verify(e.requirements);if(e)return"requirements."+e}return null},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.DbRootRefProto)return e;var r=new c.keyhole.dbroot.DbRootRefProto;if(void 0!==e.url&&null!==e.url&&(r.url=String(e.url)),void 0!==e.isCritical&&null!==e.isCritical&&(r.isCritical=Boolean(e.isCritical)),void 0!==e.requirements&&null!==e.requirements){if("object"!=typeof e.requirements)throw TypeError(".keyhole.dbroot.DbRootRefProto.requirements: object expected");r.requirements=n[2].fromObject(e.requirements)}return r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.url="",t.isCritical=!1,t.requirements=null),void 0!==e.url&&null!==e.url&&e.hasOwnProperty("url")&&(t.url=e.url),void 0!==e.isCritical&&null!==e.isCritical&&e.hasOwnProperty("isCritical")&&(t.isCritical=e.isCritical),void 0!==e.requirements&&null!==e.requirements&&e.hasOwnProperty("requirements")&&(t.requirements=n[2].toObject(e.requirements,r)),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.DatabaseVersionProto=(O.prototype.quadtreeVersion=0,O.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.DatabaseVersionProto;e.pos<t;){var a=e.uint32();a>>>3==1?o.quadtreeVersion=e.uint32():e.skipType(7&a)}return o},O.verify=function(e){return"object"!=typeof e||null===e?"object expected":s.isInteger(e.quadtreeVersion)?null:"quadtreeVersion: integer expected"},O.from=O.fromObject=function(e){if(e instanceof c.keyhole.dbroot.DatabaseVersionProto)return e;var r=new c.keyhole.dbroot.DatabaseVersionProto;return void 0!==e.quadtreeVersion&&null!==e.quadtreeVersion&&(r.quadtreeVersion=e.quadtreeVersion>>>0),r},O.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.quadtreeVersion=0),void 0!==e.quadtreeVersion&&null!==e.quadtreeVersion&&e.hasOwnProperty("quadtreeVersion")&&(t.quadtreeVersion=e.quadtreeVersion),t},O.prototype.toObject=function(e){return this.constructor.toObject(this,e)},O.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},O),e.DbRootProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.databaseName=null,e.prototype.imageryPresent=!0,e.prototype.protoImagery=!1,e.prototype.terrainPresent=!1,e.prototype.providerInfo=s.emptyArray,e.prototype.nestedFeature=s.emptyArray,e.prototype.styleAttribute=s.emptyArray,e.prototype.styleMap=s.emptyArray,e.prototype.endSnippet=null,e.prototype.translationEntry=s.emptyArray,e.prototype.language="en",e.prototype.version=5,e.prototype.dbrootReference=s.emptyArray,e.prototype.databaseVersion=null,e.prototype.refreshTimeout=0;var n={0:"keyhole.dbroot.StringIdOrValueProto",4:"keyhole.dbroot.ProviderInfoProto",5:"keyhole.dbroot.NestedFeatureProto",6:"keyhole.dbroot.StyleAttributeProto",7:"keyhole.dbroot.StyleMapProto",8:"keyhole.dbroot.EndSnippetProto",9:"keyhole.dbroot.StringEntryProto",12:"keyhole.dbroot.DbRootRefProto",13:"keyhole.dbroot.DatabaseVersionProto"};return p.push(n),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.DbRootProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 15:o.databaseName=n[0].decode(e,e.uint32());break;case 1:o.imageryPresent=e.bool();break;case 14:o.protoImagery=e.bool();break;case 2:o.terrainPresent=e.bool();break;case 3:o.providerInfo&&o.providerInfo.length||(o.providerInfo=[]),o.providerInfo.push(n[4].decode(e,e.uint32()));break;case 4:o.nestedFeature&&o.nestedFeature.length||(o.nestedFeature=[]),o.nestedFeature.push(n[5].decode(e,e.uint32()));break;case 5:o.styleAttribute&&o.styleAttribute.length||(o.styleAttribute=[]),o.styleAttribute.push(n[6].decode(e,e.uint32()));break;case 6:o.styleMap&&o.styleMap.length||(o.styleMap=[]),o.styleMap.push(n[7].decode(e,e.uint32()));break;case 7:o.endSnippet=n[8].decode(e,e.uint32());break;case 8:o.translationEntry&&o.translationEntry.length||(o.translationEntry=[]),o.translationEntry.push(n[9].decode(e,e.uint32()));break;case 9:o.language=e.string();break;case 10:o.version=e.int32();break;case 11:o.dbrootReference&&o.dbrootReference.length||(o.dbrootReference=[]),o.dbrootReference.push(n[12].decode(e,e.uint32()));break;case 13:o.databaseVersion=n[13].decode(e,e.uint32());break;case 16:o.refreshTimeout=e.int32();break;default:e.skipType(7&a)}}return o},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(void 0!==e.databaseName&&null!==e.databaseName&&(t=n[0].verify(e.databaseName)))return"databaseName."+t;if(void 0!==e.imageryPresent&&"boolean"!=typeof e.imageryPresent)return"imageryPresent: boolean expected";if(void 0!==e.protoImagery&&"boolean"!=typeof e.protoImagery)return"protoImagery: boolean expected";if(void 0!==e.terrainPresent&&"boolean"!=typeof e.terrainPresent)return"terrainPresent: boolean expected";if(void 0!==e.providerInfo){if(!Array.isArray(e.providerInfo))return"providerInfo: array expected";for(var r=0;r<e.providerInfo.length;++r)if(t=n[4].verify(e.providerInfo[r]))return"providerInfo."+t}if(void 0!==e.nestedFeature){if(!Array.isArray(e.nestedFeature))return"nestedFeature: array expected";for(r=0;r<e.nestedFeature.length;++r)if(t=n[5].verify(e.nestedFeature[r]))return"nestedFeature."+t}if(void 0!==e.styleAttribute){if(!Array.isArray(e.styleAttribute))return"styleAttribute: array expected";for(r=0;r<e.styleAttribute.length;++r)if(t=n[6].verify(e.styleAttribute[r]))return"styleAttribute."+t}if(void 0!==e.styleMap){if(!Array.isArray(e.styleMap))return"styleMap: array expected";for(r=0;r<e.styleMap.length;++r)if(t=n[7].verify(e.styleMap[r]))return"styleMap."+t}if(void 0!==e.endSnippet&&null!==e.endSnippet&&(t=n[8].verify(e.endSnippet)))return"endSnippet."+t;if(void 0!==e.translationEntry){if(!Array.isArray(e.translationEntry))return"translationEntry: array expected";for(r=0;r<e.translationEntry.length;++r)if(t=n[9].verify(e.translationEntry[r]))return"translationEntry."+t}if(void 0!==e.language&&!s.isString(e.language))return"language: string expected";if(void 0!==e.version&&!s.isInteger(e.version))return"version: integer expected";if(void 0!==e.dbrootReference){if(!Array.isArray(e.dbrootReference))return"dbrootReference: array expected";for(var t,r=0;r<e.dbrootReference.length;++r)if(t=n[12].verify(e.dbrootReference[r]))return"dbrootReference."+t}if(void 0!==e.databaseVersion&&null!==e.databaseVersion&&(t=n[13].verify(e.databaseVersion)))return"databaseVersion."+t;return void 0===e.refreshTimeout||s.isInteger(e.refreshTimeout)?null:"refreshTimeout: integer expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.DbRootProto)return e;var r=new c.keyhole.dbroot.DbRootProto;if(void 0!==e.databaseName&&null!==e.databaseName){if("object"!=typeof e.databaseName)throw TypeError(".keyhole.dbroot.DbRootProto.databaseName: object expected");r.databaseName=n[0].fromObject(e.databaseName)}if(void 0!==e.imageryPresent&&null!==e.imageryPresent&&(r.imageryPresent=Boolean(e.imageryPresent)),void 0!==e.protoImagery&&null!==e.protoImagery&&(r.protoImagery=Boolean(e.protoImagery)),void 0!==e.terrainPresent&&null!==e.terrainPresent&&(r.terrainPresent=Boolean(e.terrainPresent)),e.providerInfo){if(!Array.isArray(e.providerInfo))throw TypeError(".keyhole.dbroot.DbRootProto.providerInfo: array expected");r.providerInfo=[];for(var t=0;t<e.providerInfo.length;++t){if("object"!=typeof e.providerInfo[t])throw TypeError(".keyhole.dbroot.DbRootProto.providerInfo: object expected");r.providerInfo[t]=n[4].fromObject(e.providerInfo[t])}}if(e.nestedFeature){if(!Array.isArray(e.nestedFeature))throw TypeError(".keyhole.dbroot.DbRootProto.nestedFeature: array expected");r.nestedFeature=[];for(t=0;t<e.nestedFeature.length;++t){if("object"!=typeof e.nestedFeature[t])throw TypeError(".keyhole.dbroot.DbRootProto.nestedFeature: object expected");r.nestedFeature[t]=n[5].fromObject(e.nestedFeature[t])}}if(e.styleAttribute){if(!Array.isArray(e.styleAttribute))throw TypeError(".keyhole.dbroot.DbRootProto.styleAttribute: array expected");r.styleAttribute=[];for(t=0;t<e.styleAttribute.length;++t){if("object"!=typeof e.styleAttribute[t])throw TypeError(".keyhole.dbroot.DbRootProto.styleAttribute: object expected");r.styleAttribute[t]=n[6].fromObject(e.styleAttribute[t])}}if(e.styleMap){if(!Array.isArray(e.styleMap))throw TypeError(".keyhole.dbroot.DbRootProto.styleMap: array expected");r.styleMap=[];for(t=0;t<e.styleMap.length;++t){if("object"!=typeof e.styleMap[t])throw TypeError(".keyhole.dbroot.DbRootProto.styleMap: object expected");r.styleMap[t]=n[7].fromObject(e.styleMap[t])}}if(void 0!==e.endSnippet&&null!==e.endSnippet){if("object"!=typeof e.endSnippet)throw TypeError(".keyhole.dbroot.DbRootProto.endSnippet: object expected");r.endSnippet=n[8].fromObject(e.endSnippet)}if(e.translationEntry){if(!Array.isArray(e.translationEntry))throw TypeError(".keyhole.dbroot.DbRootProto.translationEntry: array expected");r.translationEntry=[];for(t=0;t<e.translationEntry.length;++t){if("object"!=typeof e.translationEntry[t])throw TypeError(".keyhole.dbroot.DbRootProto.translationEntry: object expected");r.translationEntry[t]=n[9].fromObject(e.translationEntry[t])}}if(void 0!==e.language&&null!==e.language&&(r.language=String(e.language)),void 0!==e.version&&null!==e.version&&(r.version=0|e.version),e.dbrootReference){if(!Array.isArray(e.dbrootReference))throw TypeError(".keyhole.dbroot.DbRootProto.dbrootReference: array expected");r.dbrootReference=[];for(t=0;t<e.dbrootReference.length;++t){if("object"!=typeof e.dbrootReference[t])throw TypeError(".keyhole.dbroot.DbRootProto.dbrootReference: object expected");r.dbrootReference[t]=n[12].fromObject(e.dbrootReference[t])}}if(void 0!==e.databaseVersion&&null!==e.databaseVersion){if("object"!=typeof e.databaseVersion)throw TypeError(".keyhole.dbroot.DbRootProto.databaseVersion: object expected");r.databaseVersion=n[13].fromObject(e.databaseVersion)}return void 0!==e.refreshTimeout&&null!==e.refreshTimeout&&(r.refreshTimeout=0|e.refreshTimeout),r},e.toObject=function(e,r){var t={};if(((r=r||{}).arrays||r.defaults)&&(t.providerInfo=[],t.nestedFeature=[],t.styleAttribute=[],t.styleMap=[],t.translationEntry=[],t.dbrootReference=[]),r.defaults&&(t.databaseName=null,t.imageryPresent=!0,t.protoImagery=!1,t.terrainPresent=!1,t.endSnippet=null,t.language="en",t.version=5,t.databaseVersion=null,t.refreshTimeout=0),void 0!==e.databaseName&&null!==e.databaseName&&e.hasOwnProperty("databaseName")&&(t.databaseName=n[0].toObject(e.databaseName,r)),void 0!==e.imageryPresent&&null!==e.imageryPresent&&e.hasOwnProperty("imageryPresent")&&(t.imageryPresent=e.imageryPresent),void 0!==e.protoImagery&&null!==e.protoImagery&&e.hasOwnProperty("protoImagery")&&(t.protoImagery=e.protoImagery),void 0!==e.terrainPresent&&null!==e.terrainPresent&&e.hasOwnProperty("terrainPresent")&&(t.terrainPresent=e.terrainPresent),void 0!==e.providerInfo&&null!==e.providerInfo&&e.hasOwnProperty("providerInfo")){t.providerInfo=[];for(var o=0;o<e.providerInfo.length;++o)t.providerInfo[o]=n[4].toObject(e.providerInfo[o],r)}if(void 0!==e.nestedFeature&&null!==e.nestedFeature&&e.hasOwnProperty("nestedFeature")){t.nestedFeature=[];for(o=0;o<e.nestedFeature.length;++o)t.nestedFeature[o]=n[5].toObject(e.nestedFeature[o],r)}if(void 0!==e.styleAttribute&&null!==e.styleAttribute&&e.hasOwnProperty("styleAttribute")){t.styleAttribute=[];for(o=0;o<e.styleAttribute.length;++o)t.styleAttribute[o]=n[6].toObject(e.styleAttribute[o],r)}if(void 0!==e.styleMap&&null!==e.styleMap&&e.hasOwnProperty("styleMap")){t.styleMap=[];for(o=0;o<e.styleMap.length;++o)t.styleMap[o]=n[7].toObject(e.styleMap[o],r)}if(void 0!==e.endSnippet&&null!==e.endSnippet&&e.hasOwnProperty("endSnippet")&&(t.endSnippet=n[8].toObject(e.endSnippet,r)),void 0!==e.translationEntry&&null!==e.translationEntry&&e.hasOwnProperty("translationEntry")){t.translationEntry=[];for(o=0;o<e.translationEntry.length;++o)t.translationEntry[o]=n[9].toObject(e.translationEntry[o],r)}if(void 0!==e.language&&null!==e.language&&e.hasOwnProperty("language")&&(t.language=e.language),void 0!==e.version&&null!==e.version&&e.hasOwnProperty("version")&&(t.version=e.version),void 0!==e.dbrootReference&&null!==e.dbrootReference&&e.hasOwnProperty("dbrootReference")){t.dbrootReference=[];for(o=0;o<e.dbrootReference.length;++o)t.dbrootReference[o]=n[12].toObject(e.dbrootReference[o],r)}return void 0!==e.databaseVersion&&null!==e.databaseVersion&&e.hasOwnProperty("databaseVersion")&&(t.databaseVersion=n[13].toObject(e.databaseVersion,r)),void 0!==e.refreshTimeout&&null!==e.refreshTimeout&&e.hasOwnProperty("refreshTimeout")&&(t.refreshTimeout=e.refreshTimeout),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.EncryptedDbRootProto=function(){function e(e){if(e)for(var r=Object.keys(e),t=0;t<r.length;++t)this[r[t]]=e[r[t]]}e.prototype.encryptionType=0,e.prototype.encryptionData=s.newBuffer([]),e.prototype.dbrootData=s.newBuffer([]);var r,o={0:"keyhole.dbroot.EncryptedDbRootProto.EncryptionType"};return p.push(o),e.decode=function(e,r){e instanceof l||(e=l.create(e));for(var t=void 0===r?e.len:e.pos+r,o=new c.keyhole.dbroot.EncryptedDbRootProto;e.pos<t;){var a=e.uint32();switch(a>>>3){case 1:o.encryptionType=e.uint32();break;case 2:o.encryptionData=e.bytes();break;case 3:o.dbrootData=e.bytes();break;default:e.skipType(7&a)}}return o},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":void 0!==e.encryptionType&&0!==e.encryptionType?"encryptionType: enum value expected":void 0===e.encryptionData||e.encryptionData&&"number"==typeof e.encryptionData.length||s.isString(e.encryptionData)?void 0===e.dbrootData||e.dbrootData&&"number"==typeof e.dbrootData.length||s.isString(e.dbrootData)?null:"dbrootData: buffer expected":"encryptionData: buffer expected"},e.from=e.fromObject=function(e){if(e instanceof c.keyhole.dbroot.EncryptedDbRootProto)return e;var r=new c.keyhole.dbroot.EncryptedDbRootProto;switch(e.encryptionType){case"ENCRYPTION_XOR":case 0:r.encryptionType=0}return void 0!==e.encryptionData&&null!==e.encryptionData&&("string"==typeof e.encryptionData?s.base64.decode(e.encryptionData,r.encryptionData=s.newBuffer(s.base64.length(e.encryptionData)),0):e.encryptionData.length&&(r.encryptionData=e.encryptionData)),void 0!==e.dbrootData&&null!==e.dbrootData&&("string"==typeof e.dbrootData?s.base64.decode(e.dbrootData,r.dbrootData=s.newBuffer(s.base64.length(e.dbrootData)),0):e.dbrootData.length&&(r.dbrootData=e.dbrootData)),r},e.toObject=function(e,r){var t={};return(r=r||{}).defaults&&(t.encryptionType=r.enums===String?"ENCRYPTION_XOR":0,t.encryptionData=r.bytes===String?"":[],t.dbrootData=r.bytes===String?"":[]),void 0!==e.encryptionType&&null!==e.encryptionType&&e.hasOwnProperty("encryptionType")&&(t.encryptionType=r.enums===String?o[0][e.encryptionType]:e.encryptionType),void 0!==e.encryptionData&&null!==e.encryptionData&&e.hasOwnProperty("encryptionData")&&(t.encryptionData=r.bytes===String?s.base64.encode(e.encryptionData,0,e.encryptionData.length):r.bytes===Array?Array.prototype.slice.call(e.encryptionData):e.encryptionData),void 0!==e.dbrootData&&null!==e.dbrootData&&e.hasOwnProperty("dbrootData")&&(t.dbrootData=r.bytes===String?s.base64.encode(e.dbrootData,0,e.dbrootData.length):r.bytes===Array?Array.prototype.slice.call(e.dbrootData):e.dbrootData),t},e.prototype.toObject=function(e){return this.constructor.toObject(this,e)},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.EncryptionType=((r=Object.create({})).ENCRYPTION_XOR=0,r),e}(),e),r),s.lazyResolve(c,p),c.keyhole.dbroot}; \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Animation/Animation.css b/public/GV/thirdParty/CesiumManager/Widgets/Animation/Animation.css new file mode 100644 index 000000000..31dc24676 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Animation/Animation.css @@ -0,0 +1 @@ +.cesium-animation-theme{visibility:hidden;display:block;position:absolute;z-index:-100}.cesium-animation-themeNormal{color:#222}.cesium-animation-themeHover{color:#4488b0}.cesium-animation-themeSelect{color:#242}.cesium-animation-themeDisabled{color:#333}.cesium-animation-themeKnob{color:#222}.cesium-animation-themePointer{color:#2e2}.cesium-animation-themeSwoosh{color:#8ac}.cesium-animation-themeSwooshHover{color:#aef}.cesium-animation-svgText{fill:#edffff;font-family:Sans-Serif;font-size:15px;text-anchor:middle}.cesium-animation-blank{fill:#000;fill-opacity:.01;stroke:none}.cesium-animation-rectButton{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-rectButton .cesium-animation-buttonGlow{fill:#fff;stroke:none;display:none}.cesium-animation-rectButton:hover .cesium-animation-buttonGlow{display:block}.cesium-animation-rectButton .cesium-animation-buttonPath{fill:#edffff}.cesium-animation-rectButton .cesium-animation-buttonMain{stroke:#444;stroke-width:1.2}.cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#aef}.cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-animation-buttonDisabled{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-buttonDisabled .cesium-animation-buttonMain{stroke:#555}.cesium-animation-buttonDisabled .cesium-animation-buttonPath{fill:#818181}.cesium-animation-buttonDisabled .cesium-animation-buttonGlow{display:none}.cesium-animation-buttonToggled .cesium-animation-buttonGlow{display:block;fill:#2e2}.cesium-animation-buttonToggled .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow{fill:#fff}.cesium-animation-buttonToggled:hover .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-shuttleRingG{cursor:pointer}.cesium-animation-shuttleRingPointer{cursor:pointer}.cesium-animation-shuttleRingPausePointer{cursor:pointer}.cesium-animation-shuttleRingBack{fill:#181818;fill-opacity:.8;stroke:#333;stroke-width:1.2}.cesium-animation-shuttleRingSwoosh line{stroke:#8ac;stroke-width:3;stroke-opacity:.2;stroke-linecap:round}.cesium-animation-knobOuter{cursor:pointer;stroke:#444;stroke-width:1.2}.cesium-animation-knobInner{cursor:pointer} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Animation/lighter.css b/public/GV/thirdParty/CesiumManager/Widgets/Animation/lighter.css new file mode 100644 index 000000000..ef35212bd --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Animation/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-animation-themeNormal{color:#e5f2fe}.cesium-lighter .cesium-animation-themeHover{color:#abd6ff}.cesium-lighter .cesium-animation-themeSelect{color:#e5f2fe}.cesium-lighter .cesium-animation-themeDisabled{color:#efefef}.cesium-lighter .cesium-animation-themeKnob{color:#e1e2e3}.cesium-lighter .cesium-animation-themePointer{color:#fa5}.cesium-lighter .cesium-animation-themeSwoosh{color:#ace}.cesium-lighter .cesium-animation-themeSwooshHover{color:#bdf}.cesium-lighter .cesium-animation-svgText{fill:#111}.cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonPath{fill:#111}.cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonMain{stroke:#759dc0}.cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonGlow{fill:#ffaa2a}.cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonMain{stroke:#ea0}.cesium-lighter .cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#759dc0}.cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow{fill:#fff}.cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonMain{stroke:#ea0}.cesium-lighter .cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonMain{stroke:#d3d3d3}.cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonPath{fill:#818181}.cesium-lighter .cesium-animation-shuttleRingBack{fill:#fafafa;fill-opacity:1;stroke:#aeaeae;stroke-width:1.2}.cesium-lighter .cesium-animation-shuttleRingSwoosh line{stroke:#8ac}.cesium-lighter .cesium-animation-knobOuter{stroke:#a5a5a5} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/BaseLayerPicker/BaseLayerPicker.css b/public/GV/thirdParty/CesiumManager/Widgets/BaseLayerPicker/BaseLayerPicker.css new file mode 100644 index 000000000..24f5470b4 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/BaseLayerPicker/BaseLayerPicker.css @@ -0,0 +1 @@ +.cesium-baseLayerPicker-selected{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.cesium-baseLayerPicker-dropDown{display:block;position:absolute;box-sizing:content-box;top:auto;right:0;width:320px;max-height:500px;margin-top:5px;background-color:rgba(38,38,38,.75);border:1px solid #444;padding:6px;overflow:auto;border-radius:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;transform:translate(0,-20%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-baseLayerPicker-dropDown-visible{transform:translate(0,0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-baseLayerPicker-sectionTitle{display:block;font-family:sans-serif;font-size:16pt;text-align:left;color:#edffff;margin-bottom:4px}.cesium-baseLayerPicker-choices{margin-bottom:5px}.cesium-baseLayerPicker-categoryTitle{color:#edffff;font-size:11pt}.cesium-baseLayerPicker-choices{display:block;border:1px solid #888;border-radius:5px;padding:5px 0}.cesium-baseLayerPicker-item{display:inline-block;vertical-align:top;margin:2px 5px;width:64px;text-align:center;cursor:pointer}.cesium-baseLayerPicker-itemLabel{display:block;font-family:sans-serif;font-size:8pt;text-align:center;vertical-align:middle;color:#edffff;cursor:pointer;word-wrap:break-word}.cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel,.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel{text-decoration:underline}.cesium-baseLayerPicker-itemIcon{display:inline-block;position:relative;width:inherit;height:auto;background-size:100% 100%;border:solid 1px #444;border-radius:9px;color:#edffff;margin:0;padding:0;cursor:pointer;box-sizing:border-box}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon{border-color:#fff;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel{color:#bdecf8}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon{border:double 4px #bdecf8} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/BaseLayerPicker/lighter.css b/public/GV/thirdParty/CesiumManager/Widgets/BaseLayerPicker/lighter.css new file mode 100644 index 000000000..c63245512 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/BaseLayerPicker/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-baseLayerPicker-itemIcon{border-color:#759dc0}.cesium-lighter .cesium-baseLayerPicker-dropDown{background-color:rgba(240,240,240,.75)}.cesium-lighter .cesium-baseLayerPicker-sectionTitle{color:#000}.cesium-lighter .cesium-baseLayerPicker-itemLabel{color:#000}.cesium-lighter .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon{border-color:#000}.cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel{color:#003da8}.cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon{border:double 4px #003da8} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css b/public/GV/thirdParty/CesiumManager/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css new file mode 100644 index 000000000..0e977201f --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css @@ -0,0 +1 @@ +ul.cesium-cesiumInspector-statistics{margin:0;padding-top:3px;padding-bottom:3px}ul.cesium-cesiumInspector-statistics+ul.cesium-cesiumInspector-statistics{border-top:1px solid #aaa}.cesium-cesiumInspector-slider{margin-top:5px}.cesium-cesiumInspector-slider input[type=number]{text-align:left;background-color:#222;outline:0;border:1px solid #444;color:#edffff;width:100px;border-radius:3px;padding:1px;margin-left:10px;cursor:auto}.cesium-cesiumInspector-slider input[type=number]::-webkit-inner-spin-button,.cesium-cesiumInspector-slider input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cesium-cesiumInspector-slider input[type=range]{margin-left:5px;vertical-align:middle}.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor{display:none}.cesium-cesiumInspector-styleEditor{padding:10px;border-radius:5px;background:rgba(48,51,54,.8);border:1px solid #444}.cesium-cesiumInspector-styleEditor textarea{width:100%;height:300px;background:0 0;color:#edffff;border:none;padding:0;white-space:pre;overflow-wrap:normal;overflow-x:auto}.cesium-3DTilesInspector{width:300px;pointer-events:all}.cesium-3DTilesInspector-statistics{font-size:11px}.cesium-3DTilesInspector div,.cesium-3DTilesInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-cesiumInspector-error{color:#ff9e9e;overflow:auto}.cesium-3DTilesInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-3DTilesInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid #fff}input.cesium-cesiumInspector-url{overflow:hidden;white-space:nowrap;overflow-x:scroll;background-color:transparent;color:#fff;outline:0;border:none;height:1em;width:100%}.cesium-cesiumInspector .field-group{display:table}.cesium-cesiumInspector .field-group>label{display:table-cell;font-weight:700}.cesium-cesiumInspector .field-group>.field{display:table-cell;width:100%} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/CesiumInspector/CesiumInspector.css b/public/GV/thirdParty/CesiumManager/Widgets/CesiumInspector/CesiumInspector.css new file mode 100644 index 000000000..437b1bd12 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/CesiumInspector/CesiumInspector.css @@ -0,0 +1 @@ +.cesium-cesiumInspector{border-radius:5px;transition:width ease-in-out .25s;background:rgba(48,51,54,.8);border:1px solid #444;color:#edffff;display:inline-block;position:relative;padding:4px 12px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.cesium-cesiumInspector-button{text-align:center;font-size:11pt}.cesium-cesiumInspector-visible .cesium-cesiumInspector-button{border-bottom:1px solid #aaa;padding-bottom:3px}.cesium-cesiumInspector input:enabled,.cesium-cesiumInspector-button{cursor:pointer}.cesium-cesiumInspector-visible{width:185px;height:auto}.cesium-cesiumInspector-hidden{width:122px;height:17px}.cesium-cesiumInspector-sectionContent{max-height:500px}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionContent{max-height:0;padding:0!important;overflow:hidden}.cesium-cesiumInspector-dropDown{margin:5px 0;font-family:sans-serif;font-size:10pt;width:185px}.cesium-cesiumInspector-frustumStatistics{padding-left:10px;padding:5px;background-color:rgba(80,80,80,.75)}.cesium-cesiumInspector-pickButton{background-color:rgba(0,0,0,.3);border:1px solid #444;color:#edffff;border-radius:5px;padding:3px 7px;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;margin:0 auto}.cesium-cesiumInspector-pickButton:focus{outline:0}.cesium-cesiumInspector-pickButton:active,.cesium-cesiumInspector-pickButtonHighlight{color:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-cesiumInspector-center{text-align:center}.cesium-cesiumInspector-sectionHeader{font-weight:700;font-size:10pt;margin:0;cursor:pointer}.cesium-cesiumInspector-pickSection{border:1px solid #aaa;border-radius:5px;padding:3px;margin-bottom:5px}.cesium-cesiumInspector-sectionContent{margin-bottom:10px;transition:max-height .25s}.cesium-cesiumInspector-tileText{padding-bottom:10px;border-bottom:1px solid #aaa}.cesium-cesiumInspector-relativeText{padding-top:10px}.cesium-cesiumInspector-sectionHeader::before{margin-right:5px;content:"-";width:1ch;display:inline-block}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionHeader::before{content:"+"} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/CesiumWidget/CesiumWidget.css b/public/GV/thirdParty/CesiumManager/Widgets/CesiumWidget/CesiumWidget.css new file mode 100644 index 000000000..37fb0f07a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/CesiumWidget/CesiumWidget.css @@ -0,0 +1 @@ +.cesium-widget{position:relative}.cesium-widget,.cesium-widget canvas{width:100%;height:100%;touch-action:none}.cesium-widget-credits{display:block;position:absolute;bottom:0;left:0;color:#fff;font-size:10px;text-shadow:0 0 2px #000;padding-right:5px}.cesium-widget-credits a,.cesium-widget-credits a:visited{color:#fff}.cesium-widget-errorPanel{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;background:rgba(0,0,0,.7);z-index:99999}.cesium-widget-errorPanel:before{display:inline-block;vertical-align:middle;height:100%;content:""}.cesium-widget-errorPanel-content{width:75%;max-width:500px;display:inline-block;text-align:left;vertical-align:middle;border:1px solid #510c00;border-radius:7px;background-color:#f0d9d5;font-size:14px;color:#510c00}.cesium-widget-errorPanel-content.expanded{max-width:75%}.cesium-widget-errorPanel-header{font-size:18px;font-family:"Open Sans",Verdana,Geneva,sans-serif;background:#d69d93;border-bottom:2px solid #510c00;padding-bottom:10px;border-radius:3px 3px 0 0;padding:15px}.cesium-widget-errorPanel-scroll{overflow:auto;font-family:"Open Sans",Verdana,Geneva,sans-serif;white-space:pre-wrap;padding:0 15px;margin:10px 0 20px 0}.cesium-widget-errorPanel-buttonPanel{padding:0 15px;margin:10px 0 20px 0;text-align:right}.cesium-widget-errorPanel-buttonPanel button{border-color:#510c00;background:#d69d93;color:#202020;margin:0}.cesium-widget-errorPanel-buttonPanel button:focus{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:hover{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:active{border-color:#510c00;background:#b17b72;color:#510c00}.cesium-widget-errorPanel-more-details{text-decoration:underline;cursor:pointer}.cesium-widget-errorPanel-more-details:hover{color:#2b0700} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/CesiumWidget/lighter.css b/public/GV/thirdParty/CesiumManager/Widgets/CesiumWidget/lighter.css new file mode 100644 index 000000000..b3c56c8e1 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/CesiumWidget/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-widget-errorPanel{background:rgba(255,255,255,.7)}.cesium-lighter .cesium-widget-errorPanel-content{border:1px solid #526f82;border-radius:7px;background-color:#fff;color:#000}.cesium-lighter .cesium-widget-errorPanel-header{color:#b87d00} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/FullscreenButton/FullscreenButton.css b/public/GV/thirdParty/CesiumManager/Widgets/FullscreenButton/FullscreenButton.css new file mode 100644 index 000000000..bf64cfa4e --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/FullscreenButton/FullscreenButton.css @@ -0,0 +1 @@ +.cesium-button.cesium-fullscreenButton{display:block;width:100%;height:100%;margin:0;border-radius:0} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Geocoder/Geocoder.css b/public/GV/thirdParty/CesiumManager/Widgets/Geocoder/Geocoder.css new file mode 100644 index 000000000..df2a912a9 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Geocoder/Geocoder.css @@ -0,0 +1 @@ +.cesium-viewer-geocoderContainer .cesium-geocoder-input{border:solid 1px #444;background-color:rgba(40,40,40,.7);color:#fff;display:inline-block;vertical-align:middle;width:0;height:32px;margin:0;padding:0 32px 0 0;border-radius:0;box-sizing:border-box;transition:width ease-in-out .25s,background-color .2s ease-in-out;-webkit-appearance:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus{border-color:#ea4;background-color:rgba(15,15,15,.9);box-shadow:none;outline:0}.cesium-viewer-geocoderContainer .cesium-geocoder-input-wide,.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus,.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{padding-left:4px;width:250px}.cesium-viewer-geocoderContainer .search-results{position:absolute;background-color:#000;color:#eee;overflow-y:auto;opacity:.8;width:100%}.cesium-viewer-geocoderContainer .search-results ul{list-style-type:none;margin:0;padding:0}.cesium-viewer-geocoderContainer .search-results ul li{font-size:14px;padding:3px 10px}.cesium-viewer-geocoderContainer .search-results ul li:hover{cursor:pointer}.cesium-viewer-geocoderContainer .search-results ul li.active{background:#48b}.cesium-geocoder-searchButton{background-color:#303336;display:inline-block;position:absolute;cursor:pointer;width:32px;top:1px;right:1px;height:30px;vertical-align:middle;fill:#edffff}.cesium-geocoder-searchButton:hover{background-color:#48b} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Geocoder/lighter.css b/public/GV/thirdParty/CesiumManager/Widgets/Geocoder/lighter.css new file mode 100644 index 000000000..c9ed136be --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Geocoder/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-geocoder-input{border:solid 1px #759dc0;background-color:rgba(240,240,240,.9);color:#000}.cesium-lighter .cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-lighter .cesium-geocoder-searchButton{background-color:#e2f0ff;fill:#111}.cesium-lighter .cesium-geocoder-searchButton:hover{background-color:#a6d2ff} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/bingAerial.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/bingAerial.png new file mode 100644 index 000000000..a78a154b1 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/bingAerial.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/bingAerialLabels.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/bingAerialLabels.png new file mode 100644 index 000000000..4cafd40f9 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/bingAerialLabels.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/bingRoads.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/bingRoads.png new file mode 100644 index 000000000..282d6ada8 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/bingRoads.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/blueMarble.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/blueMarble.png new file mode 100644 index 000000000..b8b5b7b1a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/blueMarble.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/earthAtNight.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/earthAtNight.png new file mode 100644 index 000000000..45e0fc7b8 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/earthAtNight.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/esriNationalGeographic.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/esriNationalGeographic.png new file mode 100644 index 000000000..bcfdd0b28 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/esriNationalGeographic.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/esriWorldImagery.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/esriWorldImagery.png new file mode 100644 index 000000000..a9429daf3 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/esriWorldImagery.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/esriWorldStreetMap.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/esriWorldStreetMap.png new file mode 100644 index 000000000..dfbc1f42d Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/esriWorldStreetMap.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png new file mode 100644 index 000000000..f2eba4106 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapboxSatellite.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapboxSatellite.png new file mode 100644 index 000000000..30ee6dbd5 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapboxSatellite.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapboxStreets.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapboxStreets.png new file mode 100644 index 000000000..6eef1fc3a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapboxStreets.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapboxTerrain.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapboxTerrain.png new file mode 100644 index 000000000..e6bc35513 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/mapboxTerrain.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/naturalEarthII.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/naturalEarthII.png new file mode 100644 index 000000000..50271c79a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/naturalEarthII.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/openStreetMap.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/openStreetMap.png new file mode 100644 index 000000000..84acdb809 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/openStreetMap.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/sentinel-2.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/sentinel-2.png new file mode 100644 index 000000000..775fb38ce Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/sentinel-2.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/stamenToner.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/stamenToner.png new file mode 100644 index 000000000..af894096c Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/stamenToner.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/stamenWatercolor.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/stamenWatercolor.png new file mode 100644 index 000000000..552130eb5 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/ImageryProviders/stamenWatercolor.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/Mouse.svg b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/Mouse.svg new file mode 100644 index 000000000..b71ed51d3 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/Mouse.svg @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_1" + x="0px" + y="0px" + width="29.6875" + height="40.625095" + viewBox="0 0 29.6875 40.625095" + enable-background="new 0 0 64 64" + xml:space="preserve" + inkscape:version="0.48.4 r9939" + sodipodi:docname="Mouse.svg"><metadata + id="metadata21"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs19" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="747" + inkscape:window-height="596" + id="namedview17" + showgrid="false" + inkscape:zoom="1.84375" + inkscape:cx="-37.919388" + inkscape:cy="92.305679" + inkscape:window-x="266" + inkscape:window-y="72" + inkscape:window-maximized="0" + inkscape:current-layer="Layer_1" + inkscape:snap-center="false" + inkscape:snap-page="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> +<g + id="g3" + transform="translate(-17.15625,-19.531154)"> + <g + id="g5" + style="fill:#4d4d4d;stroke:#4d4d4d"> + <path + d="M 31.9335,20.041 C 24.639,20.034 17.653,20.318 17.653,44.617 c 0,10.951 8.799,15.032 14.347,15.032 5.545,0 14.347,-4.081 14.347,-15.032 0,-24.27 -7.119,-24.569 -14.4135,-24.576 z m 0.7515,1.358 c 5.643,0.012 10.927,0.236 12.063,16.153 -3.86,1.805 -7.916,2.765 -12.063,2.86 l 0,-2.966 c 0.845,-0.162 1.481,-0.909 1.481,-1.782 l 0,-8.956 c 0,-0.876 -0.637,-1.621 -1.481,-1.784 z m -1.027,4.855 0.685,0 c 0.249,0 0.453,0.205 0.453,0.454 l 0,8.956 c 0,0.249 -0.204,0.449 -0.453,0.449 l -0.685,0 c -0.249,0 -0.452,-0.2 -0.452,-0.449 l 0,-8.956 c 0,-0.249 0.203,-0.454 0.452,-0.454 z m -0.345,-4.855 0,3.525 c -0.845,0.163 -1.479,0.91 -1.479,1.784 l 0,8.956 c 0,0.873 0.634,1.62 1.479,1.782 l 0,2.966 C 25.002,40.264 20.408,38.16 19.25,37.573 20.381,21.633 25.668,21.411 31.313,21.399 z M 32,58.274 c -5.016,0 -12.976,-3.707 -12.976,-13.658 0,-1.983 0.045,-3.853 0.134,-5.563 2.003,0.929 6.696,2.74 12.868,2.74 4.394,0 8.704,-0.934 12.813,-2.771 0.089,1.718 0.135,3.6 0.135,5.595 0,9.95 -7.958,13.657 -12.974,13.657 z" + id="path7" + style="fill:#4d4d4d;stroke:#4d4d4d" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cssscccccssccsssssssssccssccccsscscss" /> + </g> + + +<path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 32.922034,38.950793 c 0,-1.135825 0.114919,-1.458045 0.677966,-1.900938 l 0.677966,-0.533288 0,-5.28078 c 0,-5.271249 -0.0012,-5.282003 -0.677966,-5.958745 -0.557439,-0.557439 -0.677966,-0.940935 -0.677966,-2.157165 l 0,-1.479199 1.535487,0 c 5.657554,0 8.584338,3.728529 9.71855,12.380791 0.498434,3.802265 0.50348,3.525731 -0.0676,3.704572 -0.261017,0.08174 -1.528694,0.512016 -2.817059,0.956167 -2.037206,0.702306 -4.048032,1.113044 -7.488026,1.529528 l -0.881356,0.106707 0,-1.36765 z" + id="path3768" + inkscape:connector-curvature="0" /><path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 31.485081,35.842143 c -0.104591,-0.104591 -0.190166,-2.231347 -0.190166,-4.726123 0,-3.983994 0.05502,-4.557071 0.452127,-4.709456 0.24867,-0.09542 0.556802,-0.06882 0.684738,0.05912 0.127937,0.127936 0.199056,2.296481 0.158043,4.818988 -0.06319,3.886405 -0.13867,4.598683 -0.494572,4.667009 -0.231003,0.04435 -0.505579,-0.0049 -0.61017,-0.109533 l 0,0 z" + id="path3770" + inkscape:connector-curvature="0" /><path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 30.440433,57.945316 c -3.064053,-0.42113 -6.77723,-2.474953 -8.457621,-4.67806 -2.1588,-2.830333 -3.113918,-6.737716 -2.769592,-11.330385 l 0.193121,-2.575872 2.07988,0.735628 c 3.527026,1.247466 6.337701,1.719068 10.215474,1.71405 4.171771,-0.0054 6.642981,-0.38868 10.25836,-1.591058 2.178973,-0.724668 2.692193,-0.815856 2.813444,-0.499883 0.08157,0.21256 0.08664,2.119864 0.01127,4.238453 -0.106217,2.98581 -0.266531,4.212938 -0.712935,5.457208 -1.450217,4.042206 -4.401118,6.844156 -8.437938,8.012017 -2.314747,0.669661 -3.34314,0.772215 -5.193465,0.517902 z" + id="path3772" + inkscape:connector-curvature="0" /></g> +<path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644;stroke-opacity:1" + d="M 11.584306,20.532528 C 9.1265112,20.247533 6.2927846,19.555647 4.1047676,18.706316 c -0.969492,-0.376332 -1.792939,-0.704961 -1.829884,-0.730287 -0.152564,-0.104584 0.766016,-6.242541 1.16801,-7.804656 1.421191,-5.5226316 4.304477,-8.0618496 9.1542404,-8.0618496 l 1.541531,0 0,1.627119 c 0,1.237125 -0.09381,1.627118 -0.391402,1.627118 -0.215271,0 -0.581373,0.271221 -0.813559,0.602714 -0.345889,0.493826 -0.422157,1.5275241 -0.422157,5.7217066 l 0,5.118992 0.813559,0.759978 c 0.675846,0.631335 0.813559,0.971083 0.813559,2.007108 0,0.835921 -0.111771,1.235378 -0.338983,1.211489 -0.18644,-0.0196 -1.18336,-0.133551 -2.215376,-0.25322 l 0,0 z" + id="path3766" + inkscape:connector-curvature="0" /></svg> \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/MouseLeft.svg b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/MouseLeft.svg new file mode 100644 index 000000000..4cb117d69 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/MouseLeft.svg @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_1" + x="0px" + y="0px" + width="64px" + height="64px" + viewBox="0 0 64 64" + enable-background="new 0 0 64 64" + xml:space="preserve" + inkscape:version="0.48.4 r9939" + sodipodi:docname="MouseLeft.svg"><metadata + id="metadata21"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs19" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1282" + inkscape:window-height="886" + id="namedview17" + showgrid="false" + inkscape:zoom="3.6875" + inkscape:cx="-10.305085" + inkscape:cy="32" + inkscape:window-x="104" + inkscape:window-y="136" + inkscape:window-maximized="0" + inkscape:current-layer="g3" /> +<g + id="g3"> + <g + id="g5" + style="fill:#4d4d4d;stroke:#4d4d4d"> + <path + fill="#020202" + d="M32.854,20.028c-0.015-1.274,0.576-2.269,1.151-3.236c0.758-1.278,1.543-2.6,0.997-4.417 c-0.555-1.667-1.607-2.485-2.539-3.212c-1.254-0.973-2.159-1.676-1.687-4.343l0.041-0.229l-1.35-0.238L29.427,4.58 c-0.615,3.484,0.878,4.643,2.195,5.666c0.85,0.663,1.653,1.288,2.072,2.542c0.366,1.224-0.18,2.143-0.869,3.306 c-0.641,1.081-1.366,2.3-1.349,3.933c-6.837,0.007-13.823,0.291-13.823,24.59c0,10.951,8.799,15.032,14.347,15.032 c5.545,0,14.347-4.081,14.347-15.032C46.347,20.347,39.228,20.048,32.854,20.028z M32.685,21.399 c5.643,0.012,10.927,0.236,12.063,16.153c-3.86,1.805-7.916,2.765-12.063,2.86v-2.966c0.845-0.162,1.481-0.909,1.481-1.782v-8.956 c0-0.876-0.637-1.621-1.481-1.784V21.399z M31.658,26.254h0.685c0.249,0,0.453,0.205,0.453,0.454v8.956 c0,0.249-0.204,0.449-0.453,0.449h-0.685c-0.249,0-0.452-0.2-0.452-0.449v-8.956C31.206,26.459,31.409,26.254,31.658,26.254z M31.313,21.399v3.525c-0.845,0.163-1.479,0.91-1.479,1.784v8.956c0,0.873,0.634,1.62,1.479,1.782v2.966 c-6.311-0.148-10.905-2.252-12.063-2.839C20.381,21.633,25.668,21.411,31.313,21.399z M32,58.274 c-5.016,0-12.976-3.707-12.976-13.658c0-1.983,0.045-3.853,0.134-5.563c2.003,0.929,6.696,2.74,12.868,2.74 c4.394,0,8.704-0.934,12.813-2.771c0.089,1.718,0.135,3.6,0.135,5.595C44.974,54.567,37.016,58.274,32,58.274z" + id="path7" + style="fill:#4d4d4d;stroke:#4d4d4d" /> + </g> + + +<path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 32.922034,38.950793 c 0,-1.135825 0.114919,-1.458045 0.677966,-1.900938 l 0.677966,-0.533288 0,-5.28078 c 0,-5.271249 -0.0012,-5.282003 -0.677966,-5.958745 -0.557439,-0.557439 -0.677966,-0.940935 -0.677966,-2.157165 l 0,-1.479199 1.535487,0 c 5.657554,0 8.584338,3.728529 9.71855,12.380791 0.498434,3.802265 0.50348,3.525731 -0.0676,3.704572 -0.261017,0.08174 -1.528694,0.512016 -2.817059,0.956167 -2.037206,0.702306 -4.048032,1.113044 -7.488026,1.529528 l -0.881356,0.106707 0,-1.36765 z" + id="path3768" + inkscape:connector-curvature="0" /><path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 31.485081,35.842143 c -0.104591,-0.104591 -0.190166,-2.231347 -0.190166,-4.726123 0,-3.983994 0.05502,-4.557071 0.452127,-4.709456 0.24867,-0.09542 0.556802,-0.06882 0.684738,0.05912 0.127937,0.127936 0.199056,2.296481 0.158043,4.818988 -0.06319,3.886405 -0.13867,4.598683 -0.494572,4.667009 -0.231003,0.04435 -0.505579,-0.0049 -0.61017,-0.109533 l 0,0 z" + id="path3770" + inkscape:connector-curvature="0" /><path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 30.440433,57.945316 c -3.064053,-0.42113 -6.77723,-2.474953 -8.457621,-4.67806 -2.1588,-2.830333 -3.113918,-6.737716 -2.769592,-11.330385 l 0.193121,-2.575872 2.07988,0.735628 c 3.527026,1.247466 6.337701,1.719068 10.215474,1.71405 4.171771,-0.0054 6.642981,-0.38868 10.25836,-1.591058 2.178973,-0.724668 2.692193,-0.815856 2.813444,-0.499883 0.08157,0.21256 0.08664,2.119864 0.01127,4.238453 -0.106217,2.98581 -0.266531,4.212938 -0.712935,5.457208 -1.450217,4.042206 -4.401118,6.844156 -8.437938,8.012017 -2.314747,0.669661 -3.34314,0.772215 -5.193465,0.517902 z" + id="path3772" + inkscape:connector-curvature="0" /></g> +<path + style="fill:#66CCFF;stroke:#66CCFF;stroke-width:0.27118643999999997" + d="m 28.740556,40.063682 c -2.457795,-0.284995 -5.291522,-0.976881 -7.479539,-1.826212 -0.969492,-0.376332 -1.792939,-0.704961 -1.829884,-0.730287 -0.152564,-0.104584 0.766016,-6.242541 1.16801,-7.804656 1.421191,-5.522631 4.304477,-8.061849 9.154241,-8.061849 l 1.541531,0 0,1.627119 c 0,1.237125 -0.09381,1.627118 -0.391402,1.627118 -0.215271,0 -0.581373,0.271221 -0.813559,0.602714 -0.345889,0.493826 -0.422157,1.527524 -0.422157,5.721706 l 0,5.118992 0.813559,0.759978 c 0.675846,0.631335 0.813559,0.971083 0.813559,2.007108 0,0.835921 -0.111771,1.235378 -0.338983,1.211489 -0.18644,-0.0196 -1.18336,-0.133551 -2.215376,-0.25322 l 0,0 z" + id="path3766" + inkscape:connector-curvature="0" /></svg> \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/MouseMiddle.svg b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/MouseMiddle.svg new file mode 100644 index 000000000..303ab908a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/MouseMiddle.svg @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_1" + x="0px" + y="0px" + width="64px" + height="64px" + viewBox="0 0 64 64" + enable-background="new 0 0 64 64" + xml:space="preserve" + inkscape:version="0.48.4 r9939" + sodipodi:docname="MouseMiddle.svg"><metadata + id="metadata21"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs19" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1282" + inkscape:window-height="886" + id="namedview17" + showgrid="false" + inkscape:zoom="3.6875" + inkscape:cx="-10.305085" + inkscape:cy="32" + inkscape:window-x="31" + inkscape:window-y="15" + inkscape:window-maximized="0" + inkscape:current-layer="g3" /> +<g + id="g3"> + <g + id="g5" + style="stroke:#4d4d4d;fill:#4d4d4d"> + <path + fill="#020202" + d="M32.854,20.028c-0.015-1.274,0.576-2.269,1.151-3.236c0.758-1.278,1.543-2.6,0.997-4.417 c-0.555-1.667-1.607-2.485-2.539-3.212c-1.254-0.973-2.159-1.676-1.687-4.343l0.041-0.229l-1.35-0.238L29.427,4.58 c-0.615,3.484,0.878,4.643,2.195,5.666c0.85,0.663,1.653,1.288,2.072,2.542c0.366,1.224-0.18,2.143-0.869,3.306 c-0.641,1.081-1.366,2.3-1.349,3.933c-6.837,0.007-13.823,0.291-13.823,24.59c0,10.951,8.799,15.032,14.347,15.032 c5.545,0,14.347-4.081,14.347-15.032C46.347,20.347,39.228,20.048,32.854,20.028z M32.685,21.399 c5.643,0.012,10.927,0.236,12.063,16.153c-3.86,1.805-7.916,2.765-12.063,2.86v-2.966c0.845-0.162,1.481-0.909,1.481-1.782v-8.956 c0-0.876-0.637-1.621-1.481-1.784V21.399z M31.658,26.254h0.685c0.249,0,0.453,0.205,0.453,0.454v8.956 c0,0.249-0.204,0.449-0.453,0.449h-0.685c-0.249,0-0.452-0.2-0.452-0.449v-8.956C31.206,26.459,31.409,26.254,31.658,26.254z M31.313,21.399v3.525c-0.845,0.163-1.479,0.91-1.479,1.784v8.956c0,0.873,0.634,1.62,1.479,1.782v2.966 c-6.311-0.148-10.905-2.252-12.063-2.839C20.381,21.633,25.668,21.411,31.313,21.399z M32,58.274 c-5.016,0-12.976-3.707-12.976-13.658c0-1.983,0.045-3.853,0.134-5.563c2.003,0.929,6.696,2.74,12.868,2.74 c4.394,0,8.704-0.934,12.813-2.771c0.089,1.718,0.135,3.6,0.135,5.595C44.974,54.567,37.016,58.274,32,58.274z" + id="path7" + style="stroke:#4d4d4d;fill:#4d4d4d" /> + </g> + + +<path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118643999999997" + d="m 32.922034,38.950793 c 0,-1.135825 0.114919,-1.458045 0.677966,-1.900938 l 0.677966,-0.533288 0,-5.28078 c 0,-5.271249 -0.0012,-5.282003 -0.677966,-5.958745 -0.557439,-0.557439 -0.677966,-0.940935 -0.677966,-2.157165 l 0,-1.479199 1.535487,0 c 5.657554,0 8.584338,3.728529 9.71855,12.380791 0.498434,3.802265 0.50348,3.525731 -0.0676,3.704572 -0.261017,0.08174 -1.528694,0.512016 -2.817059,0.956167 -2.037206,0.702306 -4.048032,1.113044 -7.488026,1.529528 l -0.881356,0.106707 0,-1.36765 z" + id="path3768" + inkscape:connector-curvature="0" /><path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 30.440433,57.945316 c -3.064053,-0.42113 -6.77723,-2.474953 -8.457621,-4.67806 -2.1588,-2.830333 -3.113918,-6.737716 -2.769592,-11.330385 l 0.193121,-2.575872 2.07988,0.735628 c 3.527026,1.247466 6.337701,1.719068 10.215474,1.71405 4.171771,-0.0054 6.642981,-0.38868 10.25836,-1.591058 2.178973,-0.724668 2.692193,-0.815856 2.813444,-0.499883 0.08157,0.21256 0.08664,2.119864 0.01127,4.238453 -0.106217,2.98581 -0.266531,4.212938 -0.712935,5.457208 -1.450217,4.042206 -4.401118,6.844156 -8.437938,8.012017 -2.314747,0.669661 -3.34314,0.772215 -5.193465,0.517902 z" + id="path3772" + inkscape:connector-curvature="0" /><path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 28.740556,40.063682 c -2.457795,-0.284995 -5.291522,-0.976881 -7.479539,-1.826212 -0.969492,-0.376332 -1.792939,-0.704961 -1.829884,-0.730287 -0.152564,-0.104584 0.766016,-6.242541 1.16801,-7.804656 1.421191,-5.522631 4.304477,-8.061849 9.154241,-8.061849 l 1.541531,0 0,1.627119 c 0,1.237125 -0.09381,1.627118 -0.391402,1.627118 -0.215271,0 -0.581373,0.271221 -0.813559,0.602714 -0.345889,0.493826 -0.422157,1.527524 -0.422157,5.721706 l 0,5.118992 0.813559,0.759978 c 0.675846,0.631335 0.813559,0.971083 0.813559,2.007108 0,0.835921 -0.111771,1.235378 -0.338983,1.211489 -0.18644,-0.0196 -1.18336,-0.133551 -2.215376,-0.25322 l 0,0 z" + id="path3778" + inkscape:connector-curvature="0" /><path + style="fill:#ffd800;stroke:#ffd800;stroke-width:0.33870965" + d="m 31.356243,35.809264 c -0.164314,-0.103856 -0.298753,-2.215682 -0.298753,-4.692945 0,-3.956026 0.08644,-4.52508 0.710296,-4.676395 0.390663,-0.09475 0.87474,-0.06834 1.075729,0.0587 0.200991,0.127038 0.312719,2.28036 0.248288,4.785159 -0.09927,3.859122 -0.217853,4.566401 -0.776977,4.634247 -0.362909,0.04404 -0.79427,-0.0049 -0.958583,-0.108765 l 0,0 z" + id="path3770" + inkscape:connector-curvature="0" /></g> +</svg> \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/MouseRight.svg b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/MouseRight.svg new file mode 100644 index 000000000..1c6f34d65 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/MouseRight.svg @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_1" + x="0px" + y="0px" + width="64px" + height="64px" + viewBox="0 0 64 64" + enable-background="new 0 0 64 64" + xml:space="preserve" + inkscape:version="0.48.4 r9939" + sodipodi:docname="MouseRight.svg"><metadata + id="metadata21"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs19" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1282" + inkscape:window-height="886" + id="namedview17" + showgrid="false" + inkscape:zoom="3.6875" + inkscape:cx="32" + inkscape:cy="32" + inkscape:window-x="31" + inkscape:window-y="15" + inkscape:window-maximized="0" + inkscape:current-layer="g3" /> +<g + id="g3"> + <g + id="g5" + style="stroke:#4d4d4d;fill:#4d4d4d"> + <path + fill="#020202" + d="M32.854,20.028c-0.015-1.274,0.576-2.269,1.151-3.236c0.758-1.278,1.543-2.6,0.997-4.417 c-0.555-1.667-1.607-2.485-2.539-3.212c-1.254-0.973-2.159-1.676-1.687-4.343l0.041-0.229l-1.35-0.238L29.427,4.58 c-0.615,3.484,0.878,4.643,2.195,5.666c0.85,0.663,1.653,1.288,2.072,2.542c0.366,1.224-0.18,2.143-0.869,3.306 c-0.641,1.081-1.366,2.3-1.349,3.933c-6.837,0.007-13.823,0.291-13.823,24.59c0,10.951,8.799,15.032,14.347,15.032 c5.545,0,14.347-4.081,14.347-15.032C46.347,20.347,39.228,20.048,32.854,20.028z M32.685,21.399 c5.643,0.012,10.927,0.236,12.063,16.153c-3.86,1.805-7.916,2.765-12.063,2.86v-2.966c0.845-0.162,1.481-0.909,1.481-1.782v-8.956 c0-0.876-0.637-1.621-1.481-1.784V21.399z M31.658,26.254h0.685c0.249,0,0.453,0.205,0.453,0.454v8.956 c0,0.249-0.204,0.449-0.453,0.449h-0.685c-0.249,0-0.452-0.2-0.452-0.449v-8.956C31.206,26.459,31.409,26.254,31.658,26.254z M31.313,21.399v3.525c-0.845,0.163-1.479,0.91-1.479,1.784v8.956c0,0.873,0.634,1.62,1.479,1.782v2.966 c-6.311-0.148-10.905-2.252-12.063-2.839C20.381,21.633,25.668,21.411,31.313,21.399z M32,58.274 c-5.016,0-12.976-3.707-12.976-13.658c0-1.983,0.045-3.853,0.134-5.563c2.003,0.929,6.696,2.74,12.868,2.74 c4.394,0,8.704-0.934,12.813-2.771c0.089,1.718,0.135,3.6,0.135,5.595C44.974,54.567,37.016,58.274,32,58.274z" + id="path7" + style="stroke:#4d4d4d;fill:#4d4d4d" /> + </g> + + +<path + style="fill:#65FD00;stroke:#65FD00;stroke-width:0.27118643999999997" + d="m 32.922034,38.950793 c 0,-1.135825 0.114919,-1.458045 0.677966,-1.900938 l 0.677966,-0.533288 0,-5.28078 c 0,-5.271249 -0.0012,-5.282003 -0.677966,-5.958745 -0.557439,-0.557439 -0.677966,-0.940935 -0.677966,-2.157165 l 0,-1.479199 1.535487,0 c 5.657554,0 8.584338,3.728529 9.71855,12.380791 0.498434,3.802265 0.50348,3.525731 -0.0676,3.704572 -0.261017,0.08174 -1.528694,0.512016 -2.817059,0.956167 -2.037206,0.702306 -4.048032,1.113044 -7.488026,1.529528 l -0.881356,0.106707 0,-1.36765 z" + id="path3768" + inkscape:connector-curvature="0" /><path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 31.485081,35.842143 c -0.104591,-0.104591 -0.190166,-2.231347 -0.190166,-4.726123 0,-3.983994 0.05502,-4.557071 0.452127,-4.709456 0.24867,-0.09542 0.556802,-0.06882 0.684738,0.05912 0.127937,0.127936 0.199056,2.296481 0.158043,4.818988 -0.06319,3.886405 -0.13867,4.598683 -0.494572,4.667009 -0.231003,0.04435 -0.505579,-0.0049 -0.61017,-0.109533 l 0,0 z" + id="path3770" + inkscape:connector-curvature="0" /><path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 30.440433,57.945316 c -3.064053,-0.42113 -6.77723,-2.474953 -8.457621,-4.67806 -2.1588,-2.830333 -3.113918,-6.737716 -2.769592,-11.330385 l 0.193121,-2.575872 2.07988,0.735628 c 3.527026,1.247466 6.337701,1.719068 10.215474,1.71405 4.171771,-0.0054 6.642981,-0.38868 10.25836,-1.591058 2.178973,-0.724668 2.692193,-0.815856 2.813444,-0.499883 0.08157,0.21256 0.08664,2.119864 0.01127,4.238453 -0.106217,2.98581 -0.266531,4.212938 -0.712935,5.457208 -1.450217,4.042206 -4.401118,6.844156 -8.437938,8.012017 -2.314747,0.669661 -3.34314,0.772215 -5.193465,0.517902 z" + id="path3772" + inkscape:connector-curvature="0" /><path + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.27118644" + d="m 28.740556,40.063682 c -2.457795,-0.284995 -5.291522,-0.976881 -7.479539,-1.826212 -0.969492,-0.376332 -1.792939,-0.704961 -1.829884,-0.730287 -0.152564,-0.104584 0.766016,-6.242541 1.16801,-7.804656 1.421191,-5.522631 4.304477,-8.061849 9.154241,-8.061849 l 1.541531,0 0,1.627119 c 0,1.237125 -0.09381,1.627118 -0.391402,1.627118 -0.215271,0 -0.581373,0.271221 -0.813559,0.602714 -0.345889,0.493826 -0.422157,1.527524 -0.422157,5.721706 l 0,5.118992 0.813559,0.759978 c 0.675846,0.631335 0.813559,0.971083 0.813559,2.007108 0,0.835921 -0.111771,1.235378 -0.338983,1.211489 -0.18644,-0.0196 -1.18336,-0.133551 -2.215376,-0.25322 l 0,0 z" + id="path3778" + inkscape:connector-curvature="0" /></g> +</svg> \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/Touch.svg b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/Touch.svg new file mode 100644 index 000000000..6e31dbc3a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/Touch.svg @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Capa_1" + x="0px" + y="0px" + width="76.664284" + height="128.25087" + viewBox="0 0 76.664283 128.25086" + xml:space="preserve" + inkscape:version="0.48.4 r9939" + sodipodi:docname="Touch.svg"><metadata + id="metadata3468"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs3466" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="920" + inkscape:window-height="780" + id="namedview3464" + showgrid="false" + inkscape:zoom="1.7688899" + inkscape:cx="-0.07794217" + inkscape:cy="94.239301" + inkscape:window-x="1529" + inkscape:window-y="186" + inkscape:window-maximized="0" + inkscape:current-layer="g3428" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> +<g + id="g3428" + transform="translate(-7.9878665e-4,-5.1661327)"> + + <path + d="M 76.151,80.896 C 77.465,66.89 62.145,65.577 62.145,65.577 57.771,52.885 46.39,59.45 46.39,59.45 40.701,46.758 29.322,55.511 29.322,55.511 27.912,55.092 25.613,11.796 24.414,11.604 23.44,7.068 14.011,-1.728 12.511,14.772 c 0,36.5 -1.135,47.304 -1.135,47.304 C 9.188,67.328 5.31,80.458 5.31,80.458 -3.006,89.649 0.933,96.214 0.933,96.214 c 7.002,12.255 21.385,28.449 21.385,28.449 6.129,5.252 2.627,8.316 2.627,8.316 l 42.455,0.438 2.334,-7.878 c 9.628,-18.382 6.417,-44.643 6.417,-44.643 z" + id="path3432" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccccccc" + style="fill:#ffffff;fill-opacity:1" /> +</g> +<g + id="g3434" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3436" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3438" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3440" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3442" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3444" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3446" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3448" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3450" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3452" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3454" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3456" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3458" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3460" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +<g + id="g3462" + transform="translate(-7.9878665e-4,-5.1661327)"> +</g> +</svg> \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchDrag.svg b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchDrag.svg new file mode 100644 index 000000000..1d0947484 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchDrag.svg @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Capa_1" + x="0px" + y="0px" + width="76.664284" + height="133.41701" + viewBox="0 0 76.664283 133.417" + xml:space="preserve" + inkscape:version="0.48.4 r9939" + sodipodi:docname="TouchDrag.svg"><metadata + id="metadata3468"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs3466" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="920" + inkscape:window-height="780" + id="namedview3464" + showgrid="false" + inkscape:zoom="1.7688899" + inkscape:cx="-0.077942171" + inkscape:cy="94.239298" + inkscape:window-x="161" + inkscape:window-y="225" + inkscape:window-maximized="0" + inkscape:current-layer="g3428" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> +<g + id="g3428" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> + <path + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd" + d="M 18.653,0 C 12.359,0 7.258,5.102 7.258,11.395 c 0,6.293 5.102,11.395 11.396,11.395 6.293,0 11.395,-5.102 11.395,-11.395 C 30.048,5.102 24.946,0 18.653,0 z m 0,20.43 c -4.989,0 -9.036,-4.046 -9.036,-9.036 0,-4.989 4.047,-9.035 9.036,-9.035 4.989,0 9.035,4.046 9.035,9.035 0,4.99 -4.045,9.036 -9.035,9.036 z" + id="path3430" + inkscape:connector-curvature="0" /> + <path + d="M 76.151,80.896 C 77.465,66.89 62.145,65.577 62.145,65.577 57.771,52.885 46.39,59.45 46.39,59.45 40.701,46.758 29.322,55.511 29.322,55.511 27.912,55.092 25.613,11.796 24.414,11.604 23.44,7.068 14.011,-1.728 12.511,14.772 c 0,36.5 -1.135,47.304 -1.135,47.304 C 9.188,67.328 5.31,80.458 5.31,80.458 -3.006,89.649 0.933,96.214 0.933,96.214 c 7.002,12.255 21.385,28.449 21.385,28.449 6.129,5.252 2.627,8.316 2.627,8.316 l 42.455,0.438 2.334,-7.878 c 9.628,-18.382 6.417,-44.643 6.417,-44.643 z" + id="path3432" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccccccc" + style="fill:#ffffff;fill-opacity:1" /> +<path + d="m 65.247258,98.823749 c -0.681067,0.71969 -7.149935,7.376421 -7.149935,7.376421 0,0 -0.86404,0.92222 -0.86404,-0.29705 0.0013,-1.22468 0.0013,-3.17039 0.0013,-3.17039 0,0 -0.498094,0.003 -1.261753,0.002 -2.35324,0.002 -6.936466,0.002 -8.692502,0.002 0,0 -0.07751,-0.007 -0.162642,-0.0472 0,0.0378 0,0.0972 0,0.13232 0.01652,0.0891 0.0013,0.16068 0,0.16608 0,0.0149 0,0.0419 0,0.0554 0,0 0.01779,0.077 0,0.17013 0,2.02673 0,6.49066 0,8.99672 0.0013,0.90332 0,1.49203 0,1.49203 0,0 2.283354,0.002 3.229986,0 0.942821,0 0.07751,0.87225 0.07751,0.87225 l -7.121981,7.36157 c 0,0 -0.470139,0.5833 -0.963151,0.0607 -0.677255,-0.72374 -6.941548,-7.59515 -6.941548,-7.59515 0,0 -0.867853,-0.91952 0.280812,-0.91952 1.151207,0.002 2.983481,0.002 2.983481,0.002 0,0 -0.0026,-0.52929 -0.0013,-1.34079 -0.0013,-2.50067 -0.0013,-7.37102 -0.0013,-9.23572 l 0,-0.004 c 0,-0.0567 0,-0.14582 0,-0.21333 -0.08259,0.0392 -0.15883,0.0459 -0.15883,0.0459 -1.756036,0 -6.339262,0 -8.696314,-0.002 -0.759847,0.002 -1.260482,0 -1.260482,0 0,0 0.0026,1.94706 0.0026,3.17039 -0.0013,1.21793 -0.864041,0.29975 -0.864041,0.29975 0,0 -6.467597,-6.655381 -7.147393,-7.377761 -0.493012,-0.52525 0.05464,-1.02484 0.05464,-1.02484 l 6.927571,-7.566801 c 0,0 0.82338,-0.92357 0.82211,0.08236 0.0026,1.004586 0.0026,3.432334 0.0026,3.432334 0,0 0.552732,-0.0014 1.402796,-0.0041 2.439643,0.0041 6.872933,0.0027 8.678524,0.0014 0,0 0.116899,-0.03106 0.23634,0.027 0,-4.084505 0,-8.204115 0.0013,-9.436893 -0.0013,-0.807449 0,-1.339448 0,-1.339448 0,0 -1.832274,0.0027 -2.983481,0.0027 -1.146124,-0.0014 -0.280813,-0.918169 -0.280813,-0.918169 0,0 6.261752,-6.872771 6.942819,-7.596505 0.494283,-0.522547 0.964422,0.05806 0.964422,0.05806 l 7.12071,7.361561 c 0,0 0.869123,0.874963 -0.07624,0.872261 -0.945362,0.0027 -3.229987,0.0027 -3.229987,0.0027 0,0 0.0013,0.587358 0.0038,1.492025 -0.0013,1.284087 -0.0026,5.419901 -0.0026,9.503056 0.120712,-0.06211 0.240153,-0.02835 0.240153,-0.02835 1.804319,0 6.237609,0 8.675982,0 0.851334,-0.0014 1.404066,0 1.404066,0 0,0 0.0013,-2.426399 0,-3.430985 0,-1.003235 0.820838,-0.08236 0.820838,-0.08236 l 6.927572,7.566803 c 0,0.001 0.546378,0.50094 0.05845,1.02484 z" + id="path3238" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccccccccccccccsscccccccccccccccccccccccccccccccc" + style="fill:#66ccff;fill-opacity:1" /></g> +<g + id="g3434" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3436" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3438" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3440" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3442" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3444" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3446" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3448" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3450" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3452" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3454" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3456" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3458" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3460" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +<g + id="g3462" + transform="translate(-7.9878665e-4,-2.9265169e-6)"> +</g> +</svg> \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchRotate.svg b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchRotate.svg new file mode 100644 index 000000000..0b5264f47 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchRotate.svg @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Capa_1" + x="0px" + y="0px" + width="99.001816" + height="101.57817" + viewBox="0 0 99.001814 101.57817" + enable-background="new 0 0 100.775 118.638" + xml:space="preserve" + inkscape:version="0.48.4 r9939" + sodipodi:docname="TouchRotate.svg"><metadata + id="metadata3382"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs3380" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1105" + inkscape:window-height="739" + id="namedview3378" + showgrid="false" + inkscape:zoom="1.9873603" + inkscape:cx="11.856691" + inkscape:cy="15.112094" + inkscape:window-x="67" + inkscape:window-y="152" + inkscape:window-maximized="0" + inkscape:current-layer="Capa_1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + +<path + inkscape:connector-curvature="0" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd" + d="m 48.832974,0 c -5.85006,0 -10.591269,4.862311 -10.591269,10.85967 0,5.997358 4.742138,10.859669 10.592198,10.859669 5.849132,0 10.59127,-4.862311 10.59127,-10.859669 C 59.42425,4.862311 54.682106,0 48.832974,0 z m 0,19.47021 c -4.637107,0 -8.398657,-3.855921 -8.398657,-8.611493 0,-4.754621 3.76155,-8.610543 8.398657,-8.610543 4.637107,0 8.397729,3.855922 8.397729,8.610543 0,4.755572 -3.759691,8.611493 -8.397729,8.611493 z" + id="path3430" /><path + inkscape:connector-curvature="0" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd" + d="m 27.154761,39.321738 c -5.457398,0 -9.88037,4.703155 -9.88037,10.504205 0,5.801049 4.423839,10.504204 9.881237,10.504204 5.456532,0 9.880371,-4.703155 9.880371,-10.504204 -8.67e-4,-5.80105 -4.424707,-10.504205 -9.881238,-10.504205 z m 0,18.8329 c -4.325859,0 -7.834929,-3.729707 -7.834929,-8.329617 0,-4.598989 3.50907,-8.328696 7.834929,-8.328696 4.32586,0 7.834063,3.729707 7.834063,8.328696 0,4.59991 -3.507336,8.329617 -7.834063,8.329617 z" + id="path3430-5" /><path + d="M 93.394891,94.930552 91.5074,101.57817 52.728925,101.21032 c 8.08e-4,-8.5e-4 2.829619,-2.585988 -2.124439,-7.016318 0,0 -10.822746,-5.22596 -18.506953,-18.0968 0,0 -6.310236,-6.742109 -6.091889,-9.206596 -0.583067,-4.408398 -1.209805,-6.954724 -1.715239,-8.534999 -1.063849,-4.039774 -1.553525,-2.844172 -1.553525,-7.228104 2.452812,-14.333817 10.869455,1.810623 12.764445,5.488368 0,0 6.305384,7.578229 9.063029,9.283373 8.851152,-2.291524 3.039071,-22.109494 3.660956,-23.668675 0,0 -1.25024,-10.043558 -2.822341,-23.064577 -3.9949,-15.561935 8.286796,-19.626706 11.636292,-3.093053 1.545414,7.344522 3.686834,19.52689 4.483397,19.774098 0,0 8.395048,-7.385018 12.995707,3.323385 0,0 9.202125,-5.538975 12.741777,5.170273 0,0 12.387573,1.10695 11.326563,12.923992 0,0 2.595085,22.156743 -5.191814,37.665865 z" + id="path3376" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccccccccccc" + style="fill:#ffffff" /><path + d="m 36.857901,10.534807 -5.731265,12.511815 c 0,0 -0.666487,1.516584 -1.19043,0.316343 -0.52908,-1.19559 -1.800413,-4.092683 -1.800413,-4.092683 0,0 -0.774356,0.279126 -1.962218,0.711771 -3.412049,1.225827 -9.61846,3.462323 -12.145716,4.370646 0,0 -0.609983,0.412873 -1.019633,-0.532666 -0.419926,-0.944375 -3.7806092,-8.602891 -4.0798222,-9.279772 -0.294076,-0.674552 0.288938,-0.867615 0.288938,-0.867615 2.4553422,-0.886224 8.8659382,-3.19599 12.1688342,-4.381112 1.05816,-0.382636 1.763171,-0.631523 1.763171,-0.631523 0,0 -1.02734,-2.324887 -1.664289,-3.782156 -0.636951,-1.454944 1.049169,-0.79202 1.049169,-0.79202 0,0 12.534822,4.676522 13.866509,5.195231 0.963131,0.382636 0.457165,1.253741 0.457165,1.253741 z" + id="path9" + style="fill:#d800d8;fill-opacity:1" + inkscape:connector-curvature="0" /><g + id="g2997" + transform="matrix(0,-1,1,0,-0.01316643,45.882166)" + inkscape:transform-center-x="-4.9812271" + inkscape:transform-center-y="-4.2696251"><path + id="path2999" + d="M 6.6614176,0.14173229 19.48819,5.5984253 c 0,0 1.559055,0.6377953 0.354331,1.1338583 -1.240158,0.5314961 -4.181103,1.7716536 -4.181103,1.7716536 0,0 0.283465,0.7440945 0.744095,1.9133858 1.27559,3.259843 3.57874,9.248032 4.535433,11.692914 0,0 0.425197,0.566929 -0.566929,0.992126 -0.956693,0.389764 -8.751969,3.685039 -9.460631,4.003937 -0.673228,0.283464 -0.885827,-0.283465 -0.885827,-0.283465 C 9.1062996,24.448819 6.6968507,18.283465 5.4921262,15.094489 5.0669294,14.066929 4.8188979,13.393701 4.8188979,13.393701 c 0,0 -2.3740159,0.992126 -3.86220494,1.629921 -1.48818905,0.637796 -0.81496067,-0.992126 -0.81496067,-0.992126 0,0 4.71259861,-12.1535432 5.24409471,-13.42913378 0.3897638,-0.95669294 1.2755906,-0.46062993 1.2755906,-0.46062993 z" + style="fill:#d800d8;fill-opacity:1;fill-rule:nonzero;stroke:none" + inkscape:connector-curvature="0" /></g></svg> \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchTilt.svg b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchTilt.svg new file mode 100644 index 000000000..804f836fd --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchTilt.svg @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Capa_1" + x="0px" + y="0px" + width="76.663582" + height="140.44" + viewBox="0 0 76.663581 140.44" + xml:space="preserve" + inkscape:version="0.48.4 r9939" + sodipodi:docname="TouchTilt.svg"><metadata + id="metadata3364"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs3362" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="766" + inkscape:window-height="480" + id="namedview3360" + showgrid="false" + inkscape:zoom="1.6804329" + inkscape:cx="6.1930652" + inkscape:cy="74.717535" + inkscape:window-x="343" + inkscape:window-y="203" + inkscape:window-maximized="0" + inkscape:current-layer="Capa_1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> +<g + id="g3322" + style="fill:#ffffff" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> + <path + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd" + d="m 12.622,5.815 c -6.294,0 -11.396,5.102 -11.396,11.395 0,6.293 5.102,11.395 11.396,11.395 6.293,0 11.395,-5.102 11.395,-11.395 0,-6.293 -5.102,-11.395 -11.395,-11.395 z m 0,20.431 c -4.99,0 -9.036,-4.046 -9.036,-9.036 0,-4.989 4.046,-9.035 9.036,-9.035 4.988,0 9.035,4.046 9.035,9.035 0,4.99 -4.047,9.036 -9.035,9.036 z" + id="path3324" + inkscape:connector-curvature="0" /> + <path + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd" + d="m 43.793,0 c -6.294,0 -11.396,5.102 -11.396,11.395 0,6.293 5.102,11.395 11.396,11.395 6.293,0 11.395,-5.102 11.395,-11.395 C 55.188,5.102 50.086,0 43.793,0 z m 0,20.43 c -4.99,0 -9.036,-4.046 -9.036,-9.036 0,-4.989 4.046,-9.035 9.036,-9.035 4.988,0 9.035,4.046 9.035,9.035 0,4.99 -4.047,9.036 -9.035,9.036 z" + id="path3326" + inkscape:connector-curvature="0" /> + <path + d="M 76.151,87.918 C 77.464,73.913 62.146,72.6 62.146,72.6 57.769,59.907 47.556,66.472 47.556,66.472 c 0,0 2.262,-49.025 1.395,-54.713 -0.51,-3.331 -6.383,-10.562 -9.998,-1.684 -2.137,6.166 -5.59,60.75 -9.465,56.874 C 24.984,62.447 20.611,18.817 19.414,18.626 18.438,14.09 9.011,5.294 7.511,21.794 c 3,39.5 3.865,47.304 3.865,47.304 C 9.187,74.35 5.31,87.481 5.31,87.481 c -8.316,9.191 -4.377,15.756 -4.377,15.756 7.002,12.255 21.385,28.449 21.385,28.449 6.127,5.252 2.625,8.316 2.625,8.316 l 42.455,0.438 2.334,-7.879 c 9.628,-18.382 6.419,-44.643 6.419,-44.643 z" + id="path3328" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccccccccc" + style="fill:#ffffff" /> +</g> +<g + id="g3330" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3332" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3334" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3336" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3338" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3340" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3342" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3344" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3346" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3348" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3350" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3352" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3354" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3356" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<g + id="g3358" + transform="translate(-7.9878665e-4,-3.8214145e-7)"> +</g> +<path + inkscape:connector-curvature="0" + d="m 52.342987,124.78465 -8.980622,9.44613 c 0,0 -0.592129,0.74692 -1.214412,0.0786 -0.853927,-0.92772 -8.753091,-9.74549 -8.753091,-9.74549 0,0 -1.096535,-1.17966 0.352262,-1.17818 1.454279,10e-4 3.762485,10e-4 3.762485,10e-4 0,0 -0.0027,-0.67875 -0.0014,-1.72058 -0.0014,-3.20848 -0.0014,-9.4565 -0.0027,-11.8499 0,0 -0.01233,-0.56315 0.655179,-0.56019 0.672999,0 8.298029,0 9.238308,-0.003 0.937537,0.003 0.774428,0.66985 0.774428,0.66985 0,2.45861 0,8.50359 -0.0027,11.82767 0.0041,1.16039 0.0027,1.91472 0.0027,1.91472 0,0 2.879775,0.003 4.070886,0 1.192483,-10e-4 0.09869,1.11889 0.09869,1.11889 z m -0.09869,-37.828986 c -1.191111,0.003 -4.073627,0.003 -4.073627,0.003 0,0 0.0027,0.752845 0.0041,1.914716 -0.0041,3.327041 -0.0041,9.370556 -0.0014,11.83064 0,0 0.16174,0.66393 -0.774427,0.66096 -0.943021,0.006 -8.563939,0.003 -9.235567,0.004 -0.670257,-0.003 -0.65655,-0.56167 -0.65655,-0.56167 -0.0014,-2.393393 -0.0014,-8.642902 0.0014,-11.855831 -0.0014,-1.034421 0,-1.717613 0,-1.717613 0,0 -2.312318,0.003 -3.762486,0.0044 -1.444685,-0.003 -0.355003,-1.178173 -0.355003,-1.178173 0,0 7.896422,-8.81777 8.755832,-9.745488 0.622284,-0.671338 1.215783,0.07558 1.215783,0.07558 l 8.979252,9.444648 c 0,0 1.096534,1.121857 -0.09732,1.120375 z" + id="path3432" + sodipodi:nodetypes="ccccsccccccccccccccccccccccccc" + style="fill:#ffd800;fill-opacity:1" /></svg> \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchZoom.svg b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchZoom.svg new file mode 100644 index 000000000..84f7e6e85 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Images/NavigationHelp/TouchZoom.svg @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Capa_1" + x="0px" + y="0px" + width="95.087433" + height="118.43173" + viewBox="0 0 95.087431 118.43173" + enable-background="new 0 0 100.775 118.638" + xml:space="preserve" + inkscape:version="0.48.4 r9939" + sodipodi:docname="TouchZoom.svg"><metadata + id="metadata3382"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs3380" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1105" + inkscape:window-height="739" + id="namedview3378" + showgrid="false" + inkscape:zoom="2.8132167" + inkscape:cx="10.565593" + inkscape:cy="72.192791" + inkscape:window-x="67" + inkscape:window-y="152" + inkscape:window-maximized="0" + inkscape:current-layer="Capa_1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + +<path + d="m 0.0436199,84.941029 c 0,0 -0.2799964,-1.323641 0.578786,-0.720397 0.8621957,0.601498 2.9536375,2.059778 2.9536375,2.059778 0,0 0.3431801,-0.517567 0.8707286,-1.316651 1.521209,-2.28009 4.281925,-6.427623 5.405325,-8.116707 0,0 0.187721,-0.53855 0.863902,-0.06295 0.682926,0.472104 6.206065,4.329377 6.692655,4.668591 0.483157,0.340966 0.220227,0.718649 0.220227,0.718649 -1.094368,1.641877 -3.948985,5.929292 -5.418977,8.132449 -0.469526,0.711655 -0.783654,1.178514 -0.783654,1.178514 0,0 1.678274,1.168023 2.728271,1.900661 1.043172,0.732637 -0.28341,0.987925 -0.28341,0.987925 0,0 -9.7470195,2.05628 -10.7936043,2.25911 -0.756328,0.145111 -0.8468168,-0.666198 -0.8468168,-0.666198 z" + id="path3376-4" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccc" + style="fill:#65ff00;fill-opacity:1" /><path + inkscape:connector-curvature="0" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd" + d="m 44.918594,16.853557 c -5.85006,0 -10.591269,4.862311 -10.591269,10.85967 0,5.997358 4.742138,10.859669 10.592198,10.859669 5.849132,0 10.59127,-4.862311 10.59127,-10.859669 -9.23e-4,-5.997359 -4.743067,-10.85967 -10.592199,-10.85967 z m 0,19.47021 c -4.637107,0 -8.398657,-3.855921 -8.398657,-8.611493 0,-4.754621 3.76155,-8.610543 8.398657,-8.610543 4.637107,0 8.397729,3.855922 8.397729,8.610543 0,4.755572 -3.759691,8.611493 -8.397729,8.611493 z" + id="path3430" /><path + inkscape:connector-curvature="0" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd" + d="m 23.240381,56.175295 c -5.457398,0 -9.88037,4.703155 -9.88037,10.504205 0,5.801049 4.423839,10.504204 9.881237,10.504204 5.456532,0 9.880371,-4.703155 9.880371,-10.504204 -8.67e-4,-5.80105 -4.424707,-10.504205 -9.881238,-10.504205 z m 0,18.8329 c -4.325859,0 -7.834929,-3.729707 -7.834929,-8.329617 0,-4.598989 3.50907,-8.328696 7.834929,-8.328696 4.32586,0 7.834063,3.729707 7.834063,8.328696 0,4.59991 -3.507336,8.329617 -7.834063,8.329617 z" + id="path3430-5" /><path + d="m 89.480511,111.78411 -1.887491,6.64762 -38.778475,-0.36785 c 8.08e-4,-8.5e-4 2.829619,-2.58599 -2.124439,-7.01632 0,0 -10.822746,-5.22596 -18.506953,-18.096801 0,0 -6.310236,-6.742109 -6.091889,-9.206596 C 21.508197,79.335765 20.881459,76.789439 20.376025,75.209164 19.312176,71.16939 18.8225,72.364992 18.8225,67.98106 c 2.452812,-14.333817 10.869455,1.810623 12.764445,5.488368 0,0 6.305384,7.578229 9.063029,9.283373 8.851152,-2.291524 3.039071,-22.109494 3.660956,-23.668675 0,0 -1.25024,-10.043558 -2.822341,-23.064577 -3.9949,-15.561935 8.286796,-19.626706 11.636292,-3.093053 1.545414,7.344522 3.686834,19.52689 4.483397,19.774098 0,0 8.395048,-7.385018 12.995707,3.323385 0,0 9.202125,-5.538975 12.741777,5.170273 0,0 12.387573,1.10695 11.326563,12.923992 0,0 2.59509,22.156743 -5.191814,37.665866 z" + id="path3376" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccccccccccc" + style="fill:#ffffff" /><path + d="m 49.854025,14.903508 c 0.696314,0.466948 6.359531,4.268019 6.858144,4.604015 0.491619,0.334273 0.748797,-0.05343 0.748797,-0.05343 1.121449,-1.617954 4.044902,-5.844621 5.545997,-8.013953 0.488115,-0.703007 0.803031,-1.164787 0.803031,-1.164787 0,0 1.714536,1.152726 2.792243,1.876411 1.07596,0.721961 0.813533,-0.620302 0.813533,-0.620302 0,0 -1.732034,-9.8989818 -1.933227,-10.95349441 -0.150463,-0.7615853 -0.939496,-0.5513731 -0.939496,-0.5513731 L 53.458049,1.9374693 c 0,0 -1.336636,0.2136595 -0.454876,0.8046693 0.88876,0.5927325 3.02493,2.0297666 3.02493,2.0297666 0,0 -0.355152,0.5083037 -0.895757,1.2940169 -1.558825,2.2468717 -4.387811,6.3339699 -5.538999,7.9984459 -0.0018,0.0017 -0.433883,0.370456 0.260678,0.83914 z" + id="path3376-7-4" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccc" + style="fill:#65ff00;fill-opacity:1" /></svg> \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png new file mode 100644 index 000000000..16343ec24 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/TerrainProviders/Ellipsoid.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/TerrainProviders/Ellipsoid.png new file mode 100644 index 000000000..a36259bbe Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/TerrainProviders/Ellipsoid.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/TimelineIcons.png b/public/GV/thirdParty/CesiumManager/Widgets/Images/TimelineIcons.png new file mode 100644 index 000000000..e3a04556a Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/TimelineIcons.png differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Images/info-loading.gif b/public/GV/thirdParty/CesiumManager/Widgets/Images/info-loading.gif new file mode 100644 index 000000000..8df10dd51 Binary files /dev/null and b/public/GV/thirdParty/CesiumManager/Widgets/Images/info-loading.gif differ diff --git a/public/GV/thirdParty/CesiumManager/Widgets/InfoBox/InfoBox.css b/public/GV/thirdParty/CesiumManager/Widgets/InfoBox/InfoBox.css new file mode 100644 index 000000000..5526dc4bc --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/InfoBox/InfoBox.css @@ -0,0 +1 @@ +.cesium-infoBox{display:block;position:absolute;top:50px;right:0;width:40%;max-width:480px;background:rgba(38,38,38,.95);color:#edffff;border:1px solid #444;border-right:none;border-top-left-radius:7px;border-bottom-left-radius:7px;box-shadow:0 0 10px 1px #000;transform:translate(100%,0);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-infoBox-visible{transform:translate(0,0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-infoBox-title{display:block;height:20px;padding:5px 30px 5px 25px;background:#545454;border-top-left-radius:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:content-box}.cesium-infoBox-bodyless .cesium-infoBox-title{border-bottom-left-radius:7px}button.cesium-infoBox-camera{display:block;position:absolute;top:4px;left:4px;width:22px;height:22px;background:0 0;border-color:transparent;border-radius:3px;padding:0 5px;margin:0}button.cesium-infoBox-close{display:block;position:absolute;top:5px;right:5px;height:20px;background:0 0;border:none;border-radius:2px;font-weight:700;font-size:16px;padding:0 5px;margin:0;color:#edffff}button.cesium-infoBox-close:focus{background:rgba(238,136,0,.44);outline:0}button.cesium-infoBox-close:hover{background:#888;color:#000}button.cesium-infoBox-close:active{background:#a00;color:#000}.cesium-infoBox-bodyless .cesium-infoBox-iframe{display:none}.cesium-infoBox-iframe{border:none;width:100%;width:calc(100% - 2px)} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/InfoBox/InfoBoxDescription.css b/public/GV/thirdParty/CesiumManager/Widgets/InfoBox/InfoBoxDescription.css new file mode 100644 index 000000000..93b6e2e86 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/InfoBox/InfoBoxDescription.css @@ -0,0 +1 @@ +.cesium-svgPath-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.cesium-button{display:inline-block;position:relative;background:#303336;border:1px solid #444;color:#edffff;fill:#edffff;border-radius:4px;padding:5px 12px;margin:2px 3px;cursor:pointer;overflow:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-button:focus{color:#fff;fill:#fff;border-color:#ea4;outline:0}.cesium-button:hover{color:#fff;fill:#fff;background:#48b;border-color:#aef;box-shadow:0 0 8px #fff}.cesium-button:active{color:#000;fill:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-button-disabled,.cesium-button-disabled:active,.cesium-button-disabled:focus,.cesium-button-disabled:hover,.cesium-button:disabled{background:#303336;border-color:#444;color:#646464;fill:#646464;box-shadow:none;cursor:default}.cesium-button option{background-color:#000;color:#eee}.cesium-button option:disabled{color:#777}.cesium-button input,.cesium-button label{cursor:pointer}.cesium-button input{vertical-align:sub}.cesium-toolbar-button{box-sizing:border-box;width:32px;height:32px;border-radius:14%;padding:0;vertical-align:middle;z-index:0}.cesium-performanceDisplay-defaultContainer{position:absolute;top:50px;right:10px;text-align:right}.cesium-performanceDisplay{background-color:rgba(40,40,40,.7);padding:7px;border-radius:5px;border:1px solid #444;font:bold 12px sans-serif}.cesium-performanceDisplay-fps{color:#e52}.cesium-performanceDisplay-throttled{color:#a42}.cesium-performanceDisplay-ms{color:#de3}body{margin:0;padding:0}.cesium-infoBox-description{font-family:sans-serif;font-size:13px;padding:4px 10px;margin-right:4px;color:#edffff}.cesium-infoBox-description a:active,.cesium-infoBox-description a:hover,.cesium-infoBox-description a:link,.cesium-infoBox-description a:visited{color:#edffff}.cesium-infoBox-description table{color:#edffff}.cesium-infoBox-defaultTable{width:100%;color:#edffff}.cesium-infoBox-defaultTable tr:nth-child(odd){background-color:rgba(84,84,84,.8)}.cesium-infoBox-defaultTable tr:nth-child(even){background-color:rgba(84,84,84,.25)}.cesium-infoBox-defaultTable th{font-weight:400;padding:3px;vertical-align:middle;text-align:center}.cesium-infoBox-defaultTable td{padding:3px;vertical-align:middle;text-align:left}.cesium-infoBox-description-lighter{color:#000}.cesium-infoBox-description-lighter a:active,.cesium-infoBox-description-lighter a:hover,.cesium-infoBox-description-lighter a:link,.cesium-infoBox-description-lighter a:visited{color:#000}.cesium-infoBox-description-lighter table{color:#000}.cesium-infoBox-defaultTable-lighter{width:100%;color:#000}.cesium-infoBox-defaultTable-lighter tr:nth-child(odd){background-color:rgba(179,179,179,.8)}.cesium-infoBox-defaultTable-lighter tr:nth-child(even){background-color:rgba(179,179,179,.25)}.cesium-infoBox-loadingContainer{margin:5px;text-align:center}.cesium-infoBox-loading{display:inline-block;background-image:url(../Images/info-loading.gif);width:16px;height:11px} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/NavigationHelpButton/NavigationHelpButton.css b/public/GV/thirdParty/CesiumManager/Widgets/NavigationHelpButton/NavigationHelpButton.css new file mode 100644 index 000000000..2e6a72f72 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/NavigationHelpButton/NavigationHelpButton.css @@ -0,0 +1 @@ +.cesium-navigationHelpButton-wrapper{position:relative;display:inline-block}.cesium-navigation-help{visibility:hidden;position:absolute;top:38px;right:2px;width:250px;border-radius:10px;transform:scale(.01);transform-origin:234px -10px;transition:visibility 0s .25s,transform .25s ease-in}.cesium-navigation-help-visible{visibility:visible;transform:scale(1);transition:transform .25s ease-out}.cesium-navigation-help-instructions{border:1px solid #444;background-color:rgba(38,38,38,.75);padding-bottom:5px;border-radius:0 0 10px 10px}.cesium-click-navigation-help{display:none}.cesium-touch-navigation-help{display:none;padding-top:5px}.cesium-click-navigation-help-visible{display:block}.cesium-touch-navigation-help-visible{display:block}.cesium-navigation-help-pan{color:#6cf;font-weight:700}.cesium-navigation-help-zoom{color:#65fd00;font-weight:700}.cesium-navigation-help-rotate{color:#ffd800;font-weight:700}.cesium-navigation-help-tilt{color:#d800d8;font-weight:700}.cesium-navigation-help-details{color:#fff}.cesium-navigation-button{color:#fff;background-color:transparent;border-bottom:none;border-top:1px solid #444;border-right:1px solid #444;margin:0;width:50%;cursor:pointer}.cesium-navigation-button-icon{vertical-align:middle;padding:5px 1px}.cesium-navigation-button:focus{outline:0}.cesium-navigation-button-left{border-radius:10px 0 0 0;border-left:1px solid #444}.cesium-navigation-button-right{border-radius:0 10px 0 0;border-left:none}.cesium-navigation-button-selected{background-color:rgba(38,38,38,.75)}.cesium-navigation-button-unselected{background-color:rgba(0,0,0,.75)}.cesium-navigation-button-unselected:hover{background-color:rgba(76,76,76,.75)} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/NavigationHelpButton/lighter.css b/public/GV/thirdParty/CesiumManager/Widgets/NavigationHelpButton/lighter.css new file mode 100644 index 000000000..60b4ad5ed --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/NavigationHelpButton/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-navigation-help-instructions{border:1px solid #759dc0;background-color:rgba(255,255,255,.9)}.cesium-lighter .cesium-navigation-help-pan{color:#6ce;font-weight:700}.cesium-lighter .cesium-navigation-help-zoom{color:#65ec00;font-weight:700}.cesium-lighter .cesium-navigation-help-rotate{color:#eec722;font-weight:700}.cesium-lighter .cesium-navigation-help-tilt{color:#d800d8;font-weight:700}.cesium-lighter .cesium-navigation-help-details{color:#222}.cesium-lighter .cesium-navigation-button{color:#222;border-top:1px solid #759dc0;border-right:1px solid #759dc0}.cesium-lighter .cesium-navigation-button-selected{background-color:rgba(196,225,255,.9)}.cesium-lighter .cesium-navigation-button-unselected{background-color:rgba(226,240,255,.9)}.cesium-lighter .cesium-navigation-button-unselected:hover{background-color:rgba(166,210,255,.9)} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/PerformanceWatchdog/PerformanceWatchdog.css b/public/GV/thirdParty/CesiumManager/Widgets/PerformanceWatchdog/PerformanceWatchdog.css new file mode 100644 index 000000000..4893be2d7 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/PerformanceWatchdog/PerformanceWatchdog.css @@ -0,0 +1 @@ +.cesium-performance-watchdog-message-area{position:relative;background-color:#ff0;color:#000;padding:10px}.cesium-performance-watchdog-message{margin-right:30px}.cesium-performance-watchdog-message-dismiss{position:absolute;right:0;margin:0 10px 0 0} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/ProjectionPicker/ProjectionPicker.css b/public/GV/thirdParty/CesiumManager/Widgets/ProjectionPicker/ProjectionPicker.css new file mode 100644 index 000000000..f04f318df --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/ProjectionPicker/ProjectionPicker.css @@ -0,0 +1 @@ +span.cesium-projectionPicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-projectionPicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-projectionPicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-projectionPicker-wrapper .cesium-projectionPicker-none{display:none}.cesium-projectionPicker-wrapper .cesium-projectionPicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic,.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective{margin:0 0 3px 0}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective .cesium-projectionPicker-iconOrthographic{left:100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic .cesium-projectionPicker-iconPerspective{left:-100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/SceneModePicker/SceneModePicker.css b/public/GV/thirdParty/CesiumManager/Widgets/SceneModePicker/SceneModePicker.css new file mode 100644 index 000000000..97ba729a8 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/SceneModePicker/SceneModePicker.css @@ -0,0 +1 @@ +span.cesium-sceneModePicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-sceneModePicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-sceneModePicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none{display:none}.cesium-sceneModePicker-slide-svg{transition:left 2s;top:0;left:0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView{margin:0 0 3px 0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView{left:200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D{left:-200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D{left:-100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D{left:-100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/SelectionIndicator/SelectionIndicator.css b/public/GV/thirdParty/CesiumManager/Widgets/SelectionIndicator/SelectionIndicator.css new file mode 100644 index 000000000..896c1d798 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/SelectionIndicator/SelectionIndicator.css @@ -0,0 +1 @@ +.cesium-selection-wrapper{position:absolute;width:160px;height:160px;pointer-events:none;visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in}.cesium-selection-wrapper-visible{visibility:visible;opacity:1;transition:opacity .2s ease-out}.cesium-selection-wrapper svg{fill:#2e2;stroke:#000;stroke-width:1.1px} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Timeline/Timeline.css b/public/GV/thirdParty/CesiumManager/Widgets/Timeline/Timeline.css new file mode 100644 index 000000000..f149aac6d --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Timeline/Timeline.css @@ -0,0 +1 @@ +.cesium-timeline-main{position:relative;left:0;bottom:0;overflow:hidden;border:solid 1px #888}.cesium-timeline-trackContainer{width:100%;overflow:auto;border-top:solid 1px #888;position:relative;top:0;left:0}.cesium-timeline-tracks{position:absolute;top:0;left:0;width:100%}.cesium-timeline-needle{position:absolute;left:0;top:1.7em;bottom:0;width:1px;background:red}.cesium-timeline-bar{position:relative;left:0;top:0;overflow:hidden;cursor:pointer;width:100%;height:1.7em;background:linear-gradient(to bottom,rgba(116,117,119,.8) 0,rgba(58,68,82,.8) 11%,rgba(46,50,56,.8) 46%,rgba(53,53,53,.8) 81%,rgba(53,53,53,.8) 100%)}.cesium-timeline-ruler{visibility:hidden;white-space:nowrap;font-size:80%;z-index:-200}.cesium-timeline-highlight{position:absolute;bottom:0;left:0;background:#08f}.cesium-timeline-ticLabel{position:absolute;top:0;left:0;white-space:nowrap;font-size:80%;color:#eee}.cesium-timeline-ticMain{position:absolute;bottom:0;left:0;width:1px;height:50%;background:#eee}.cesium-timeline-ticSub{position:absolute;bottom:0;left:0;width:1px;height:33%;background:#aaa}.cesium-timeline-ticTiny{position:absolute;bottom:0;left:0;width:1px;height:25%;background:#888}.cesium-timeline-icon16{display:block;position:absolute;width:16px;height:16px;background-image:url(../Images/TimelineIcons.png);background-repeat:no-repeat} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Timeline/lighter.css b/public/GV/thirdParty/CesiumManager/Widgets/Timeline/lighter.css new file mode 100644 index 000000000..f62ae6bf7 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Timeline/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-timeline-bar{background:linear-gradient(to bottom,#eee 0,#fff 50%,#fafafa 100%)}.cesium-lighter .cesium-timeline-ticLabel{color:#000}.cesium-lighter .cesium-timeline-ticMain{position:absolute;bottom:0;left:0;width:1px;height:50%;background:#000}.cesium-lighter .cesium-timeline-ticSub{background:#444} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/VRButton/VRButton.css b/public/GV/thirdParty/CesiumManager/Widgets/VRButton/VRButton.css new file mode 100644 index 000000000..99f95d9d7 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/VRButton/VRButton.css @@ -0,0 +1 @@ +.cesium-button.cesium-vrButton{display:block;width:100%;height:100%;margin:0;border-radius:0} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/Viewer/Viewer.css b/public/GV/thirdParty/CesiumManager/Widgets/Viewer/Viewer.css new file mode 100644 index 000000000..cb5c0138d --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/Viewer/Viewer.css @@ -0,0 +1 @@ +.cesium-viewer{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-viewer-cesiumWidgetContainer{width:100%;height:100%}.cesium-viewer-bottom{display:block;position:absolute;bottom:0;left:0;right:0;padding-right:5px}.cesium-viewer .cesium-widget-credits{display:inline;position:static;bottom:auto;left:auto;padding-right:0;color:#fff;font-size:10px;text-shadow:0 0 2px #000}.cesium-viewer-timelineContainer{position:absolute;bottom:0;left:169px;right:29px;height:27px;padding:0;margin:0;overflow:hidden;font-size:14px}.cesium-viewer-animationContainer{position:absolute;bottom:0;left:0;padding:0;width:169px;height:112px}.cesium-viewer-fullscreenContainer{position:absolute;bottom:0;right:0;padding:0;width:29px;height:29px;overflow:hidden}.cesium-viewer-vrContainer{position:absolute;bottom:0;right:0;padding:0;width:29px;height:29px;overflow:hidden}.cesium-viewer-toolbar{display:block;position:absolute;top:5px;right:5px}.cesium-viewer-cesiumInspectorContainer{display:block;position:absolute;top:50px;right:10px}.cesium-viewer-geocoderContainer{position:relative;display:inline-block;margin:0 3px}.cesium-viewer-cesium3DTilesInspectorContainer{display:block;position:absolute;top:50px;right:10px;max-height:calc(100% - 120px);box-sizing:border-box;overflow-y:auto;overflow-x:hidden} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/lighter.css b/public/GV/thirdParty/CesiumManager/Widgets/lighter.css new file mode 100644 index 000000000..cb19342df --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-button{color:#111;fill:#111;background:#e2f0ff;border:1px solid #759dc0}.cesium-lighter .cesium-button:focus{color:#000;fill:#000;border-color:#ea4}.cesium-lighter .cesium-button:hover{color:#000;fill:#000;background:#a6d2ff;border-color:#aef;box-shadow:0 0 8px #777}.cesium-lighter .cesium-button:active{color:#fff;fill:#fff;background:#48b;border-color:#ea0}.cesium-lighter .cesium-button-disabled,.cesium-lighter .cesium-button-disabled:active,.cesium-lighter .cesium-button-disabled:focus,.cesium-lighter .cesium-button-disabled:hover,.cesium-lighter .cesium-button:disabled{background:#ccc;border-color:#999;color:#999;fill:#999;box-shadow:none}.cesium-lighter .cesium-performanceDisplay{background-color:#e2f0ff;border-color:#759dc0}.cesium-lighter .cesium-performanceDisplay-fps{color:#e52}.cesium-lighter .cesium-performanceDisplay-ms{color:#ea4}.cesium-lighter .cesium-animation-themeNormal{color:#e5f2fe}.cesium-lighter .cesium-animation-themeHover{color:#abd6ff}.cesium-lighter .cesium-animation-themeSelect{color:#e5f2fe}.cesium-lighter .cesium-animation-themeDisabled{color:#efefef}.cesium-lighter .cesium-animation-themeKnob{color:#e1e2e3}.cesium-lighter .cesium-animation-themePointer{color:#fa5}.cesium-lighter .cesium-animation-themeSwoosh{color:#ace}.cesium-lighter .cesium-animation-themeSwooshHover{color:#bdf}.cesium-lighter .cesium-animation-svgText{fill:#111}.cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonPath{fill:#111}.cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonMain{stroke:#759dc0}.cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonGlow{fill:#ffaa2a}.cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonMain{stroke:#ea0}.cesium-lighter .cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#759dc0}.cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow{fill:#fff}.cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonMain{stroke:#ea0}.cesium-lighter .cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonMain{stroke:#d3d3d3}.cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonPath{fill:#818181}.cesium-lighter .cesium-animation-shuttleRingBack{fill:#fafafa;fill-opacity:1;stroke:#aeaeae;stroke-width:1.2}.cesium-lighter .cesium-animation-shuttleRingSwoosh line{stroke:#8ac}.cesium-lighter .cesium-animation-knobOuter{stroke:#a5a5a5}.cesium-lighter .cesium-baseLayerPicker-itemIcon{border-color:#759dc0}.cesium-lighter .cesium-baseLayerPicker-dropDown{background-color:rgba(240,240,240,.75)}.cesium-lighter .cesium-baseLayerPicker-sectionTitle{color:#000}.cesium-lighter .cesium-baseLayerPicker-itemLabel{color:#000}.cesium-lighter .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon{border-color:#000}.cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel{color:#003da8}.cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon{border:double 4px #003da8}.cesium-lighter .cesium-widget-errorPanel{background:rgba(255,255,255,.7)}.cesium-lighter .cesium-widget-errorPanel-content{border:1px solid #526f82;border-radius:7px;background-color:#fff;color:#000}.cesium-lighter .cesium-widget-errorPanel-header{color:#b87d00}.cesium-lighter .cesium-geocoder-input{border:solid 1px #759dc0;background-color:rgba(240,240,240,.9);color:#000}.cesium-lighter .cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-lighter .cesium-geocoder-searchButton{background-color:#e2f0ff;fill:#111}.cesium-lighter .cesium-geocoder-searchButton:hover{background-color:#a6d2ff}.cesium-lighter .cesium-timeline-bar{background:linear-gradient(to bottom,#eee 0,#fff 50%,#fafafa 100%)}.cesium-lighter .cesium-timeline-ticLabel{color:#000}.cesium-lighter .cesium-timeline-ticMain{position:absolute;bottom:0;left:0;width:1px;height:50%;background:#000}.cesium-lighter .cesium-timeline-ticSub{background:#444}.cesium-lighter .cesium-navigation-help-instructions{border:1px solid #759dc0;background-color:rgba(255,255,255,.9)}.cesium-lighter .cesium-navigation-help-pan{color:#6ce;font-weight:700}.cesium-lighter .cesium-navigation-help-zoom{color:#65ec00;font-weight:700}.cesium-lighter .cesium-navigation-help-rotate{color:#eec722;font-weight:700}.cesium-lighter .cesium-navigation-help-tilt{color:#d800d8;font-weight:700}.cesium-lighter .cesium-navigation-help-details{color:#222}.cesium-lighter .cesium-navigation-button{color:#222;border-top:1px solid #759dc0;border-right:1px solid #759dc0}.cesium-lighter .cesium-navigation-button-selected{background-color:rgba(196,225,255,.9)}.cesium-lighter .cesium-navigation-button-unselected{background-color:rgba(226,240,255,.9)}.cesium-lighter .cesium-navigation-button-unselected:hover{background-color:rgba(166,210,255,.9)} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/lighterShared.css b/public/GV/thirdParty/CesiumManager/Widgets/lighterShared.css new file mode 100644 index 000000000..7a3818bde --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/lighterShared.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-button{color:#111;fill:#111;background:#e2f0ff;border:1px solid #759dc0}.cesium-lighter .cesium-button:focus{color:#000;fill:#000;border-color:#ea4}.cesium-lighter .cesium-button:hover{color:#000;fill:#000;background:#a6d2ff;border-color:#aef;box-shadow:0 0 8px #777}.cesium-lighter .cesium-button:active{color:#fff;fill:#fff;background:#48b;border-color:#ea0}.cesium-lighter .cesium-button-disabled,.cesium-lighter .cesium-button-disabled:active,.cesium-lighter .cesium-button-disabled:focus,.cesium-lighter .cesium-button-disabled:hover,.cesium-lighter .cesium-button:disabled{background:#ccc;border-color:#999;color:#999;fill:#999;box-shadow:none}.cesium-lighter .cesium-performanceDisplay{background-color:#e2f0ff;border-color:#759dc0}.cesium-lighter .cesium-performanceDisplay-fps{color:#e52}.cesium-lighter .cesium-performanceDisplay-ms{color:#ea4} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/shared.css b/public/GV/thirdParty/CesiumManager/Widgets/shared.css new file mode 100644 index 000000000..511e15f03 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/shared.css @@ -0,0 +1 @@ +.cesium-svgPath-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.cesium-button{display:inline-block;position:relative;background:#303336;border:1px solid #444;color:#edffff;fill:#edffff;border-radius:4px;padding:5px 12px;margin:2px 3px;cursor:pointer;overflow:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-button:focus{color:#fff;fill:#fff;border-color:#ea4;outline:0}.cesium-button:hover{color:#fff;fill:#fff;background:#48b;border-color:#aef;box-shadow:0 0 8px #fff}.cesium-button:active{color:#000;fill:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-button-disabled,.cesium-button-disabled:active,.cesium-button-disabled:focus,.cesium-button-disabled:hover,.cesium-button:disabled{background:#303336;border-color:#444;color:#646464;fill:#646464;box-shadow:none;cursor:default}.cesium-button option{background-color:#000;color:#eee}.cesium-button option:disabled{color:#777}.cesium-button input,.cesium-button label{cursor:pointer}.cesium-button input{vertical-align:sub}.cesium-toolbar-button{box-sizing:border-box;width:32px;height:32px;border-radius:14%;padding:0;vertical-align:middle;z-index:0}.cesium-performanceDisplay-defaultContainer{position:absolute;top:50px;right:10px;text-align:right}.cesium-performanceDisplay{background-color:rgba(40,40,40,.7);padding:7px;border-radius:5px;border:1px solid #444;font:bold 12px sans-serif}.cesium-performanceDisplay-fps{color:#e52}.cesium-performanceDisplay-throttled{color:#a42}.cesium-performanceDisplay-ms{color:#de3} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Widgets/widgets.css b/public/GV/thirdParty/CesiumManager/Widgets/widgets.css new file mode 100644 index 000000000..84e783eb4 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Widgets/widgets.css @@ -0,0 +1 @@ +.cesium-svgPath-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.cesium-button{display:inline-block;position:relative;background:#303336;border:1px solid #444;color:#edffff;fill:#edffff;border-radius:4px;padding:5px 12px;margin:2px 3px;cursor:pointer;overflow:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-button:focus{color:#fff;fill:#fff;border-color:#ea4;outline:0}.cesium-button:hover{color:#fff;fill:#fff;background:#48b;border-color:#aef;box-shadow:0 0 8px #fff}.cesium-button:active{color:#000;fill:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-button-disabled,.cesium-button-disabled:active,.cesium-button-disabled:focus,.cesium-button-disabled:hover,.cesium-button:disabled{background:#303336;border-color:#444;color:#646464;fill:#646464;box-shadow:none;cursor:default}.cesium-button option{background-color:#000;color:#eee}.cesium-button option:disabled{color:#777}.cesium-button input,.cesium-button label{cursor:pointer}.cesium-button input{vertical-align:sub}.cesium-toolbar-button{box-sizing:border-box;width:32px;height:32px;border-radius:14%;padding:0;vertical-align:middle;z-index:0}.cesium-performanceDisplay-defaultContainer{position:absolute;top:50px;right:10px;text-align:right}.cesium-performanceDisplay{background-color:rgba(40,40,40,.7);padding:7px;border-radius:5px;border:1px solid #444;font:bold 12px sans-serif}.cesium-performanceDisplay-fps{color:#e52}.cesium-performanceDisplay-throttled{color:#a42}.cesium-performanceDisplay-ms{color:#de3}.cesium-animation-theme{visibility:hidden;display:block;position:absolute;z-index:-100}.cesium-animation-themeNormal{color:#222}.cesium-animation-themeHover{color:#4488b0}.cesium-animation-themeSelect{color:#242}.cesium-animation-themeDisabled{color:#333}.cesium-animation-themeKnob{color:#222}.cesium-animation-themePointer{color:#2e2}.cesium-animation-themeSwoosh{color:#8ac}.cesium-animation-themeSwooshHover{color:#aef}.cesium-animation-svgText{fill:#edffff;font-family:Sans-Serif;font-size:15px;text-anchor:middle}.cesium-animation-blank{fill:#000;fill-opacity:.01;stroke:none}.cesium-animation-rectButton{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-rectButton .cesium-animation-buttonGlow{fill:#fff;stroke:none;display:none}.cesium-animation-rectButton:hover .cesium-animation-buttonGlow{display:block}.cesium-animation-rectButton .cesium-animation-buttonPath{fill:#edffff}.cesium-animation-rectButton .cesium-animation-buttonMain{stroke:#444;stroke-width:1.2}.cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#aef}.cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-animation-buttonDisabled{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-buttonDisabled .cesium-animation-buttonMain{stroke:#555}.cesium-animation-buttonDisabled .cesium-animation-buttonPath{fill:#818181}.cesium-animation-buttonDisabled .cesium-animation-buttonGlow{display:none}.cesium-animation-buttonToggled .cesium-animation-buttonGlow{display:block;fill:#2e2}.cesium-animation-buttonToggled .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow{fill:#fff}.cesium-animation-buttonToggled:hover .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-shuttleRingG{cursor:pointer}.cesium-animation-shuttleRingPointer{cursor:pointer}.cesium-animation-shuttleRingPausePointer{cursor:pointer}.cesium-animation-shuttleRingBack{fill:#181818;fill-opacity:.8;stroke:#333;stroke-width:1.2}.cesium-animation-shuttleRingSwoosh line{stroke:#8ac;stroke-width:3;stroke-opacity:.2;stroke-linecap:round}.cesium-animation-knobOuter{cursor:pointer;stroke:#444;stroke-width:1.2}.cesium-animation-knobInner{cursor:pointer}.cesium-baseLayerPicker-selected{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.cesium-baseLayerPicker-dropDown{display:block;position:absolute;box-sizing:content-box;top:auto;right:0;width:320px;max-height:500px;margin-top:5px;background-color:rgba(38,38,38,.75);border:1px solid #444;padding:6px;overflow:auto;border-radius:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;transform:translate(0,-20%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-baseLayerPicker-dropDown-visible{transform:translate(0,0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-baseLayerPicker-sectionTitle{display:block;font-family:sans-serif;font-size:16pt;text-align:left;color:#edffff;margin-bottom:4px}.cesium-baseLayerPicker-choices{margin-bottom:5px}.cesium-baseLayerPicker-categoryTitle{color:#edffff;font-size:11pt}.cesium-baseLayerPicker-choices{display:block;border:1px solid #888;border-radius:5px;padding:5px 0}.cesium-baseLayerPicker-item{display:inline-block;vertical-align:top;margin:2px 5px;width:64px;text-align:center;cursor:pointer}.cesium-baseLayerPicker-itemLabel{display:block;font-family:sans-serif;font-size:8pt;text-align:center;vertical-align:middle;color:#edffff;cursor:pointer;word-wrap:break-word}.cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel,.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel{text-decoration:underline}.cesium-baseLayerPicker-itemIcon{display:inline-block;position:relative;width:inherit;height:auto;background-size:100% 100%;border:solid 1px #444;border-radius:9px;color:#edffff;margin:0;padding:0;cursor:pointer;box-sizing:border-box}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon{border-color:#fff;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel{color:#bdecf8}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon{border:double 4px #bdecf8}.cesium-widget{position:relative}.cesium-widget,.cesium-widget canvas{width:100%;height:100%;touch-action:none}.cesium-widget-credits{display:block;position:absolute;bottom:0;left:0;color:#fff;font-size:10px;text-shadow:0 0 2px #000;padding-right:5px}.cesium-widget-credits a,.cesium-widget-credits a:visited{color:#fff}.cesium-widget-errorPanel{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;background:rgba(0,0,0,.7);z-index:99999}.cesium-widget-errorPanel:before{display:inline-block;vertical-align:middle;height:100%;content:""}.cesium-widget-errorPanel-content{width:75%;max-width:500px;display:inline-block;text-align:left;vertical-align:middle;border:1px solid #510c00;border-radius:7px;background-color:#f0d9d5;font-size:14px;color:#510c00}.cesium-widget-errorPanel-content.expanded{max-width:75%}.cesium-widget-errorPanel-header{font-size:18px;font-family:"Open Sans",Verdana,Geneva,sans-serif;background:#d69d93;border-bottom:2px solid #510c00;padding-bottom:10px;border-radius:3px 3px 0 0;padding:15px}.cesium-widget-errorPanel-scroll{overflow:auto;font-family:"Open Sans",Verdana,Geneva,sans-serif;white-space:pre-wrap;padding:0 15px;margin:10px 0 20px 0}.cesium-widget-errorPanel-buttonPanel{padding:0 15px;margin:10px 0 20px 0;text-align:right}.cesium-widget-errorPanel-buttonPanel button{border-color:#510c00;background:#d69d93;color:#202020;margin:0}.cesium-widget-errorPanel-buttonPanel button:focus{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:hover{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:active{border-color:#510c00;background:#b17b72;color:#510c00}.cesium-widget-errorPanel-more-details{text-decoration:underline;cursor:pointer}.cesium-widget-errorPanel-more-details:hover{color:#2b0700}.cesium-cesiumInspector{border-radius:5px;transition:width ease-in-out .25s;background:rgba(48,51,54,.8);border:1px solid #444;color:#edffff;display:inline-block;position:relative;padding:4px 12px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.cesium-cesiumInspector-button{text-align:center;font-size:11pt}.cesium-cesiumInspector-visible .cesium-cesiumInspector-button{border-bottom:1px solid #aaa;padding-bottom:3px}.cesium-cesiumInspector input:enabled,.cesium-cesiumInspector-button{cursor:pointer}.cesium-cesiumInspector-visible{width:185px;height:auto}.cesium-cesiumInspector-hidden{width:122px;height:17px}.cesium-cesiumInspector-sectionContent{max-height:500px}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionContent{max-height:0;padding:0!important;overflow:hidden}.cesium-cesiumInspector-dropDown{margin:5px 0;font-family:sans-serif;font-size:10pt;width:185px}.cesium-cesiumInspector-frustumStatistics{padding-left:10px;padding:5px;background-color:rgba(80,80,80,.75)}.cesium-cesiumInspector-pickButton{background-color:rgba(0,0,0,.3);border:1px solid #444;color:#edffff;border-radius:5px;padding:3px 7px;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;margin:0 auto}.cesium-cesiumInspector-pickButton:focus{outline:0}.cesium-cesiumInspector-pickButton:active,.cesium-cesiumInspector-pickButtonHighlight{color:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-cesiumInspector-center{text-align:center}.cesium-cesiumInspector-sectionHeader{font-weight:700;font-size:10pt;margin:0;cursor:pointer}.cesium-cesiumInspector-pickSection{border:1px solid #aaa;border-radius:5px;padding:3px;margin-bottom:5px}.cesium-cesiumInspector-sectionContent{margin-bottom:10px;transition:max-height .25s}.cesium-cesiumInspector-tileText{padding-bottom:10px;border-bottom:1px solid #aaa}.cesium-cesiumInspector-relativeText{padding-top:10px}.cesium-cesiumInspector-sectionHeader::before{margin-right:5px;content:"-";width:1ch;display:inline-block}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionHeader::before{content:"+"}ul.cesium-cesiumInspector-statistics{margin:0;padding-top:3px;padding-bottom:3px}ul.cesium-cesiumInspector-statistics+ul.cesium-cesiumInspector-statistics{border-top:1px solid #aaa}.cesium-cesiumInspector-slider{margin-top:5px}.cesium-cesiumInspector-slider input[type=number]{text-align:left;background-color:#222;outline:0;border:1px solid #444;color:#edffff;width:100px;border-radius:3px;padding:1px;margin-left:10px;cursor:auto}.cesium-cesiumInspector-slider input[type=number]::-webkit-inner-spin-button,.cesium-cesiumInspector-slider input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cesium-cesiumInspector-slider input[type=range]{margin-left:5px;vertical-align:middle}.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor{display:none}.cesium-cesiumInspector-styleEditor{padding:10px;border-radius:5px;background:rgba(48,51,54,.8);border:1px solid #444}.cesium-cesiumInspector-styleEditor textarea{width:100%;height:300px;background:0 0;color:#edffff;border:none;padding:0;white-space:pre;overflow-wrap:normal;overflow-x:auto}.cesium-3DTilesInspector{width:300px;pointer-events:all}.cesium-3DTilesInspector-statistics{font-size:11px}.cesium-3DTilesInspector div,.cesium-3DTilesInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-cesiumInspector-error{color:#ff9e9e;overflow:auto}.cesium-3DTilesInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-3DTilesInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid #fff}input.cesium-cesiumInspector-url{overflow:hidden;white-space:nowrap;overflow-x:scroll;background-color:transparent;color:#fff;outline:0;border:none;height:1em;width:100%}.cesium-cesiumInspector .field-group{display:table}.cesium-cesiumInspector .field-group>label{display:table-cell;font-weight:700}.cesium-cesiumInspector .field-group>.field{display:table-cell;width:100%}.cesium-button.cesium-fullscreenButton{display:block;width:100%;height:100%;margin:0;border-radius:0}.cesium-button.cesium-vrButton{display:block;width:100%;height:100%;margin:0;border-radius:0}.cesium-viewer-geocoderContainer .cesium-geocoder-input{border:solid 1px #444;background-color:rgba(40,40,40,.7);color:#fff;display:inline-block;vertical-align:middle;width:0;height:32px;margin:0;padding:0 32px 0 0;border-radius:0;box-sizing:border-box;transition:width ease-in-out .25s,background-color .2s ease-in-out;-webkit-appearance:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus{border-color:#ea4;background-color:rgba(15,15,15,.9);box-shadow:none;outline:0}.cesium-viewer-geocoderContainer .cesium-geocoder-input-wide,.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus,.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{padding-left:4px;width:250px}.cesium-viewer-geocoderContainer .search-results{position:absolute;background-color:#000;color:#eee;overflow-y:auto;opacity:.8;width:100%}.cesium-viewer-geocoderContainer .search-results ul{list-style-type:none;margin:0;padding:0}.cesium-viewer-geocoderContainer .search-results ul li{font-size:14px;padding:3px 10px}.cesium-viewer-geocoderContainer .search-results ul li:hover{cursor:pointer}.cesium-viewer-geocoderContainer .search-results ul li.active{background:#48b}.cesium-geocoder-searchButton{background-color:#303336;display:inline-block;position:absolute;cursor:pointer;width:32px;top:1px;right:1px;height:30px;vertical-align:middle;fill:#edffff}.cesium-geocoder-searchButton:hover{background-color:#48b}.cesium-infoBox{display:block;position:absolute;top:50px;right:0;width:40%;max-width:480px;background:rgba(38,38,38,.95);color:#edffff;border:1px solid #444;border-right:none;border-top-left-radius:7px;border-bottom-left-radius:7px;box-shadow:0 0 10px 1px #000;transform:translate(100%,0);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-infoBox-visible{transform:translate(0,0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-infoBox-title{display:block;height:20px;padding:5px 30px 5px 25px;background:#545454;border-top-left-radius:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:content-box}.cesium-infoBox-bodyless .cesium-infoBox-title{border-bottom-left-radius:7px}button.cesium-infoBox-camera{display:block;position:absolute;top:4px;left:4px;width:22px;height:22px;background:0 0;border-color:transparent;border-radius:3px;padding:0 5px;margin:0}button.cesium-infoBox-close{display:block;position:absolute;top:5px;right:5px;height:20px;background:0 0;border:none;border-radius:2px;font-weight:700;font-size:16px;padding:0 5px;margin:0;color:#edffff}button.cesium-infoBox-close:focus{background:rgba(238,136,0,.44);outline:0}button.cesium-infoBox-close:hover{background:#888;color:#000}button.cesium-infoBox-close:active{background:#a00;color:#000}.cesium-infoBox-bodyless .cesium-infoBox-iframe{display:none}.cesium-infoBox-iframe{border:none;width:100%;width:calc(100% - 2px)}span.cesium-sceneModePicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-sceneModePicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-sceneModePicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none{display:none}.cesium-sceneModePicker-slide-svg{transition:left 2s;top:0;left:0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView{margin:0 0 3px 0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView{left:200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D{left:-200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D{left:-100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D{left:-100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}span.cesium-projectionPicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-projectionPicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-projectionPicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-projectionPicker-wrapper .cesium-projectionPicker-none{display:none}.cesium-projectionPicker-wrapper .cesium-projectionPicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic,.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective{margin:0 0 3px 0}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective .cesium-projectionPicker-iconOrthographic{left:100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic .cesium-projectionPicker-iconPerspective{left:-100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-performance-watchdog-message-area{position:relative;background-color:#ff0;color:#000;padding:10px}.cesium-performance-watchdog-message{margin-right:30px}.cesium-performance-watchdog-message-dismiss{position:absolute;right:0;margin:0 10px 0 0}.cesium-navigationHelpButton-wrapper{position:relative;display:inline-block}.cesium-navigation-help{visibility:hidden;position:absolute;top:38px;right:2px;width:250px;border-radius:10px;transform:scale(.01);transform-origin:234px -10px;transition:visibility 0s .25s,transform .25s ease-in}.cesium-navigation-help-visible{visibility:visible;transform:scale(1);transition:transform .25s ease-out}.cesium-navigation-help-instructions{border:1px solid #444;background-color:rgba(38,38,38,.75);padding-bottom:5px;border-radius:0 0 10px 10px}.cesium-click-navigation-help{display:none}.cesium-touch-navigation-help{display:none;padding-top:5px}.cesium-click-navigation-help-visible{display:block}.cesium-touch-navigation-help-visible{display:block}.cesium-navigation-help-pan{color:#6cf;font-weight:700}.cesium-navigation-help-zoom{color:#65fd00;font-weight:700}.cesium-navigation-help-rotate{color:#ffd800;font-weight:700}.cesium-navigation-help-tilt{color:#d800d8;font-weight:700}.cesium-navigation-help-details{color:#fff}.cesium-navigation-button{color:#fff;background-color:transparent;border-bottom:none;border-top:1px solid #444;border-right:1px solid #444;margin:0;width:50%;cursor:pointer}.cesium-navigation-button-icon{vertical-align:middle;padding:5px 1px}.cesium-navigation-button:focus{outline:0}.cesium-navigation-button-left{border-radius:10px 0 0 0;border-left:1px solid #444}.cesium-navigation-button-right{border-radius:0 10px 0 0;border-left:none}.cesium-navigation-button-selected{background-color:rgba(38,38,38,.75)}.cesium-navigation-button-unselected{background-color:rgba(0,0,0,.75)}.cesium-navigation-button-unselected:hover{background-color:rgba(76,76,76,.75)}.cesium-selection-wrapper{position:absolute;width:160px;height:160px;pointer-events:none;visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in}.cesium-selection-wrapper-visible{visibility:visible;opacity:1;transition:opacity .2s ease-out}.cesium-selection-wrapper svg{fill:#2e2;stroke:#000;stroke-width:1.1px}.cesium-timeline-main{position:relative;left:0;bottom:0;overflow:hidden;border:solid 1px #888}.cesium-timeline-trackContainer{width:100%;overflow:auto;border-top:solid 1px #888;position:relative;top:0;left:0}.cesium-timeline-tracks{position:absolute;top:0;left:0;width:100%}.cesium-timeline-needle{position:absolute;left:0;top:1.7em;bottom:0;width:1px;background:red}.cesium-timeline-bar{position:relative;left:0;top:0;overflow:hidden;cursor:pointer;width:100%;height:1.7em;background:linear-gradient(to bottom,rgba(116,117,119,.8) 0,rgba(58,68,82,.8) 11%,rgba(46,50,56,.8) 46%,rgba(53,53,53,.8) 81%,rgba(53,53,53,.8) 100%)}.cesium-timeline-ruler{visibility:hidden;white-space:nowrap;font-size:80%;z-index:-200}.cesium-timeline-highlight{position:absolute;bottom:0;left:0;background:#08f}.cesium-timeline-ticLabel{position:absolute;top:0;left:0;white-space:nowrap;font-size:80%;color:#eee}.cesium-timeline-ticMain{position:absolute;bottom:0;left:0;width:1px;height:50%;background:#eee}.cesium-timeline-ticSub{position:absolute;bottom:0;left:0;width:1px;height:33%;background:#aaa}.cesium-timeline-ticTiny{position:absolute;bottom:0;left:0;width:1px;height:25%;background:#888}.cesium-timeline-icon16{display:block;position:absolute;width:16px;height:16px;background-image:url(Images/TimelineIcons.png);background-repeat:no-repeat}.cesium-viewer{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-viewer-cesiumWidgetContainer{width:100%;height:100%}.cesium-viewer-bottom{display:block;position:absolute;bottom:0;left:0;right:0;padding-right:5px}.cesium-viewer .cesium-widget-credits{display:inline;position:static;bottom:auto;left:auto;padding-right:0;color:#fff;font-size:10px;text-shadow:0 0 2px #000}.cesium-viewer-timelineContainer{position:absolute;bottom:0;left:169px;right:29px;height:27px;padding:0;margin:0;overflow:hidden;font-size:14px}.cesium-viewer-animationContainer{position:absolute;bottom:0;left:0;padding:0;width:169px;height:112px}.cesium-viewer-fullscreenContainer{position:absolute;bottom:0;right:0;padding:0;width:29px;height:29px;overflow:hidden}.cesium-viewer-vrContainer{position:absolute;bottom:0;right:0;padding:0;width:29px;height:29px;overflow:hidden}.cesium-viewer-toolbar{display:block;position:absolute;top:5px;right:5px}.cesium-viewer-cesiumInspectorContainer{display:block;position:absolute;top:50px;right:10px}.cesium-viewer-geocoderContainer{position:relative;display:inline-block;margin:0 3px}.cesium-viewer-cesium3DTilesInspectorContainer{display:block;position:absolute;top:50px;right:10px;max-height:calc(100% - 120px);box-sizing:border-box;overflow-y:auto;overflow-x:hidden} \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Workers/ArcType-dc1c5aee.js b/public/GV/thirdParty/CesiumManager/Workers/ArcType-dc1c5aee.js new file mode 100644 index 000000000..27d8a61fa --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/ArcType-dc1c5aee.js @@ -0,0 +1 @@ +define(["exports"],function(e){"use strict";var r=Object.freeze({NONE:0,GEODESIC:1,RHUMB:2});e.ArcType=r}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/AttributeCompression-9fc99391.js b/public/GV/thirdParty/CesiumManager/Workers/AttributeCompression-9fc99391.js new file mode 100644 index 000000000..2e51ffc92 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/AttributeCompression-9fc99391.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162"],function(t,u,o,a,c){"use strict";var i={octEncodeInRange:function(t,o,e){var n;return e.x=t.x/(Math.abs(t.x)+Math.abs(t.y)+Math.abs(t.z)),e.y=t.y/(Math.abs(t.x)+Math.abs(t.y)+Math.abs(t.z)),t.z<0&&(n=e.x,t=e.y,e.x=(1-Math.abs(t))*a.CesiumMath.signNotZero(n),e.y=(1-Math.abs(n))*a.CesiumMath.signNotZero(t)),e.x=a.CesiumMath.toSNorm(e.x,o),e.y=a.CesiumMath.toSNorm(e.y,o),e},octEncode:function(t,o){return i.octEncodeInRange(t,255,o)}},e=new c.Cartesian2,n=new Uint8Array(1);function r(t){return n[0]=t,n[0]}i.octEncodeToCartesian4=function(t,o){return i.octEncodeInRange(t,65535,e),o.x=r(e.x*(1/256)),o.y=r(e.x),o.z=r(e.y*(1/256)),o.w=r(e.y),o},i.octDecodeInRange=function(t,o,e,n){return n.x=a.CesiumMath.fromSNorm(t,e),n.y=a.CesiumMath.fromSNorm(o,e),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0&&(e=n.x,n.x=(1-Math.abs(n.y))*a.CesiumMath.signNotZero(e),n.y=(1-Math.abs(e))*a.CesiumMath.signNotZero(n.y)),c.Cartesian3.normalize(n,n)},i.octDecode=function(t,o,e){return i.octDecodeInRange(t,o,255,e)},i.octDecodeFromCartesian4=function(t,o){var e=256*t.x+t.y,t=256*t.z+t.w;return i.octDecodeInRange(e,t,65535,o)},i.octPackFloat=function(t){return 256*t.x+t.y};var s=new c.Cartesian2;function d(t){return t>>1^-(1&t)}i.octEncodeFloat=function(t){return i.octEncode(t,s),i.octPackFloat(s)},i.octDecodeFloat=function(t,o){var e=t/256,t=Math.floor(e),e=256*(e-t);return i.octDecode(t,e,o)},i.octPack=function(t,o,e,n){t=i.octEncodeFloat(t),o=i.octEncodeFloat(o),e=i.octEncode(e,s);return n.x=65536*e.x+t,n.y=65536*e.y+o,n},i.octUnpack=function(t,o,e,n){var a=t.x/65536,c=Math.floor(a),r=65536*(a-c),a=t.y/65536,t=Math.floor(a),a=65536*(a-t);i.octDecodeFloat(r,o),i.octDecodeFloat(a,e),i.octDecode(c,t,n)},i.compressTextureCoordinates=function(t){return 4096*(4095*t.x|0)+(4095*t.y|0)},i.decompressTextureCoordinates=function(t,o){var e=t/4096,e=Math.floor(e);return o.x=e/4095,o.y=(t-4096*e)/4095,o},i.zigZagDeltaDecode=function(t,o,e){for(var n=t.length,a=0,c=0,r=0,i=0;i<n;++i)a+=d(t[i]),c+=d(o[i]),t[i]=a,o[i]=c,u.defined(e)&&(r+=d(e[i]),e[i]=r)},t.AttributeCompression=i}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/BoundingRectangle-57c5d513.js b/public/GV/thirdParty/CesiumManager/Workers/BoundingRectangle-57c5d513.js new file mode 100644 index 000000000..58d996e9a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/BoundingRectangle-57c5d513.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Cartesian2-bddc1162","./Transforms-d07bb42c"],function(t,o,e,h,a){"use strict";function f(t,e,n,i){this.x=o.defaultValue(t,0),this.y=o.defaultValue(e,0),this.width=o.defaultValue(n,0),this.height=o.defaultValue(i,0)}f.packedLength=4,f.pack=function(t,e,n){return n=o.defaultValue(n,0),e[n++]=t.x,e[n++]=t.y,e[n++]=t.width,e[n]=t.height,e},f.unpack=function(t,e,n){return e=o.defaultValue(e,0),o.defined(n)||(n=new f),n.x=t[e++],n.y=t[e++],n.width=t[e++],n.height=t[e],n},f.fromPoints=function(t,e){if(o.defined(e)||(e=new f),!o.defined(t)||0===t.length)return e.x=0,e.y=0,e.width=0,e.height=0,e;for(var n=t.length,i=t[0].x,h=t[0].y,r=t[0].x,a=t[0].y,d=1;d<n;d++)var u=t[d],c=u.x,u=u.y,i=Math.min(c,i),r=Math.max(c,r),h=Math.min(u,h),a=Math.max(u,a);return e.x=i,e.y=h,e.width=r-i,e.height=a-h,e};var r=new a.GeographicProjection,d=new h.Cartographic,u=new h.Cartographic;f.fromRectangle=function(t,e,n){if(o.defined(n)||(n=new f),!o.defined(t))return n.x=0,n.y=0,n.width=0,n.height=0,n;var i=(e=o.defaultValue(e,r)).project(h.Rectangle.southwest(t,d)),t=e.project(h.Rectangle.northeast(t,u));return h.Cartesian2.subtract(t,i,t),n.x=i.x,n.y=i.y,n.width=t.x,n.height=t.y,n},f.clone=function(t,e){if(o.defined(t))return o.defined(e)?(e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height,e):new f(t.x,t.y,t.width,t.height)},f.union=function(t,e,n){o.defined(n)||(n=new f);var i=Math.min(t.x,e.x),h=Math.min(t.y,e.y),r=Math.max(t.x+t.width,e.x+e.width),e=Math.max(t.y+t.height,e.y+e.height);return n.x=i,n.y=h,n.width=r-i,n.height=e-h,n},f.expand=function(t,e,n){n=f.clone(t,n);var i=e.x-n.x,t=e.y-n.y;return i>n.width?n.width=i:i<0&&(n.width-=i,n.x=e.x),t>n.height?n.height=t:t<0&&(n.height-=t,n.y=e.y),n},f.intersect=function(t,e){var n=t.x,i=t.y,h=e.x,r=e.y;return n>h+e.width||n+t.width<h||i+t.height<r||i>r+e.height?a.Intersect.OUTSIDE:a.Intersect.INTERSECTING},f.equals=function(t,e){return t===e||o.defined(t)&&o.defined(e)&&t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height},f.prototype.clone=function(t){return f.clone(this,t)},f.prototype.intersect=function(t){return f.intersect(this,t)},f.prototype.equals=function(t){return f.equals(this,t)},t.BoundingRectangle=f}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/BoxGeometry-7dc94aad.js b/public/GV/thirdParty/CesiumManager/Workers/BoxGeometry-7dc94aad.js new file mode 100644 index 000000000..5baa44bb6 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/BoxGeometry-7dc94aad.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785"],function(t,s,e,y,p,x,c,f,A,o){"use strict";var l=new y.Cartesian3;function m(t){var e=(t=s.defaultValue(t,s.defaultValue.EMPTY_OBJECT)).minimum,a=t.maximum,n=s.defaultValue(t.vertexFormat,o.VertexFormat.DEFAULT);this._minimum=y.Cartesian3.clone(e),this._maximum=y.Cartesian3.clone(a),this._vertexFormat=n,this._offsetAttribute=t.offsetAttribute,this._workerName="createBoxGeometry"}m.fromDimensions=function(t){var e=(t=s.defaultValue(t,s.defaultValue.EMPTY_OBJECT)).dimensions,e=y.Cartesian3.multiplyByScalar(e,.5,new y.Cartesian3);return new m({minimum:y.Cartesian3.negate(e,new y.Cartesian3),maximum:e,vertexFormat:t.vertexFormat,offsetAttribute:t.offsetAttribute})},m.fromAxisAlignedBoundingBox=function(t){return new m({minimum:t.minimum,maximum:t.maximum})},m.packedLength=2*y.Cartesian3.packedLength+o.VertexFormat.packedLength+1,m.pack=function(t,e,a){return a=s.defaultValue(a,0),y.Cartesian3.pack(t._minimum,e,a),y.Cartesian3.pack(t._maximum,e,a+y.Cartesian3.packedLength),o.VertexFormat.pack(t._vertexFormat,e,a+2*y.Cartesian3.packedLength),e[a+2*y.Cartesian3.packedLength+o.VertexFormat.packedLength]=s.defaultValue(t._offsetAttribute,-1),e};var a,u=new y.Cartesian3,d=new y.Cartesian3,b=new o.VertexFormat,C={minimum:u,maximum:d,vertexFormat:b,offsetAttribute:void 0};m.unpack=function(t,e,a){e=s.defaultValue(e,0);var n=y.Cartesian3.unpack(t,e,u),r=y.Cartesian3.unpack(t,e+y.Cartesian3.packedLength,d),i=o.VertexFormat.unpack(t,e+2*y.Cartesian3.packedLength,b),e=t[e+2*y.Cartesian3.packedLength+o.VertexFormat.packedLength];return s.defined(a)?(a._minimum=y.Cartesian3.clone(n,a._minimum),a._maximum=y.Cartesian3.clone(r,a._maximum),a._vertexFormat=o.VertexFormat.clone(i,a._vertexFormat),a._offsetAttribute=-1===e?void 0:e,a):(C.offsetAttribute=-1===e?void 0:e,new m(C))},m.createGeometry=function(t){var e=t._minimum,a=t._maximum,n=t._vertexFormat;if(!y.Cartesian3.equals(e,a)){var r,i,o,m=new f.GeometryAttributes;n.position&&(n.st||n.normal||n.tangent||n.bitangent)?(n.position&&((u=new Float64Array(72))[0]=e.x,u[1]=e.y,u[2]=a.z,u[3]=a.x,u[4]=e.y,u[5]=a.z,u[6]=a.x,u[7]=a.y,u[8]=a.z,u[9]=e.x,u[10]=a.y,u[11]=a.z,u[12]=e.x,u[13]=e.y,u[14]=e.z,u[15]=a.x,u[16]=e.y,u[17]=e.z,u[18]=a.x,u[19]=a.y,u[20]=e.z,u[21]=e.x,u[22]=a.y,u[23]=e.z,u[24]=a.x,u[25]=e.y,u[26]=e.z,u[27]=a.x,u[28]=a.y,u[29]=e.z,u[30]=a.x,u[31]=a.y,u[32]=a.z,u[33]=a.x,u[34]=e.y,u[35]=a.z,u[36]=e.x,u[37]=e.y,u[38]=e.z,u[39]=e.x,u[40]=a.y,u[41]=e.z,u[42]=e.x,u[43]=a.y,u[44]=a.z,u[45]=e.x,u[46]=e.y,u[47]=a.z,u[48]=e.x,u[49]=a.y,u[50]=e.z,u[51]=a.x,u[52]=a.y,u[53]=e.z,u[54]=a.x,u[55]=a.y,u[56]=a.z,u[57]=e.x,u[58]=a.y,u[59]=a.z,u[60]=e.x,u[61]=e.y,u[62]=e.z,u[63]=a.x,u[64]=e.y,u[65]=e.z,u[66]=a.x,u[67]=e.y,u[68]=a.z,u[69]=e.x,u[70]=e.y,u[71]=a.z,m.position=new c.GeometryAttribute({componentDatatype:x.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:u})),n.normal&&((r=new Float32Array(72))[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=1,r[9]=0,r[10]=0,r[11]=1,r[12]=0,r[13]=0,r[14]=-1,r[15]=0,r[16]=0,r[17]=-1,r[18]=0,r[19]=0,r[20]=-1,r[21]=0,r[22]=0,r[23]=-1,r[24]=1,r[25]=0,r[26]=0,r[27]=1,r[28]=0,r[29]=0,r[30]=1,r[31]=0,r[32]=0,r[33]=1,r[34]=0,r[35]=0,r[36]=-1,r[37]=0,r[38]=0,r[39]=-1,r[40]=0,r[41]=0,r[42]=-1,r[43]=0,r[44]=0,r[45]=-1,r[46]=0,r[47]=0,r[48]=0,r[49]=1,r[50]=0,r[51]=0,r[52]=1,r[53]=0,r[54]=0,r[55]=1,r[56]=0,r[57]=0,r[58]=1,r[59]=0,r[60]=0,r[61]=-1,r[62]=0,r[63]=0,r[64]=-1,r[65]=0,r[66]=0,r[67]=-1,r[68]=0,r[69]=0,r[70]=-1,r[71]=0,m.normal=new c.GeometryAttribute({componentDatatype:x.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:r})),n.st&&((i=new Float32Array(48))[0]=0,i[1]=0,i[2]=1,i[3]=0,i[4]=1,i[5]=1,i[6]=0,i[7]=1,i[8]=1,i[9]=0,i[10]=0,i[11]=0,i[12]=0,i[13]=1,i[14]=1,i[15]=1,i[16]=0,i[17]=0,i[18]=1,i[19]=0,i[20]=1,i[21]=1,i[22]=0,i[23]=1,i[24]=1,i[25]=0,i[26]=0,i[27]=0,i[28]=0,i[29]=1,i[30]=1,i[31]=1,i[32]=1,i[33]=0,i[34]=0,i[35]=0,i[36]=0,i[37]=1,i[38]=1,i[39]=1,i[40]=0,i[41]=0,i[42]=1,i[43]=0,i[44]=1,i[45]=1,i[46]=0,i[47]=1,m.st=new c.GeometryAttribute({componentDatatype:x.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:i})),n.tangent&&((i=new Float32Array(72))[0]=1,i[1]=0,i[2]=0,i[3]=1,i[4]=0,i[5]=0,i[6]=1,i[7]=0,i[8]=0,i[9]=1,i[10]=0,i[11]=0,i[12]=-1,i[13]=0,i[14]=0,i[15]=-1,i[16]=0,i[17]=0,i[18]=-1,i[19]=0,i[20]=0,i[21]=-1,i[22]=0,i[23]=0,i[24]=0,i[25]=1,i[26]=0,i[27]=0,i[28]=1,i[29]=0,i[30]=0,i[31]=1,i[32]=0,i[33]=0,i[34]=1,i[35]=0,i[36]=0,i[37]=-1,i[38]=0,i[39]=0,i[40]=-1,i[41]=0,i[42]=0,i[43]=-1,i[44]=0,i[45]=0,i[46]=-1,i[47]=0,i[48]=-1,i[49]=0,i[50]=0,i[51]=-1,i[52]=0,i[53]=0,i[54]=-1,i[55]=0,i[56]=0,i[57]=-1,i[58]=0,i[59]=0,i[60]=1,i[61]=0,i[62]=0,i[63]=1,i[64]=0,i[65]=0,i[66]=1,i[67]=0,i[68]=0,i[69]=1,i[70]=0,i[71]=0,m.tangent=new c.GeometryAttribute({componentDatatype:x.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:i})),n.bitangent&&((o=new Float32Array(72))[0]=0,o[1]=1,o[2]=0,o[3]=0,o[4]=1,o[5]=0,o[6]=0,o[7]=1,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=1,o[14]=0,o[15]=0,o[16]=1,o[17]=0,o[18]=0,o[19]=1,o[20]=0,o[21]=0,o[22]=1,o[23]=0,o[24]=0,o[25]=0,o[26]=1,o[27]=0,o[28]=0,o[29]=1,o[30]=0,o[31]=0,o[32]=1,o[33]=0,o[34]=0,o[35]=1,o[36]=0,o[37]=0,o[38]=1,o[39]=0,o[40]=0,o[41]=1,o[42]=0,o[43]=0,o[44]=1,o[45]=0,o[46]=0,o[47]=1,o[48]=0,o[49]=0,o[50]=1,o[51]=0,o[52]=0,o[53]=1,o[54]=0,o[55]=0,o[56]=1,o[57]=0,o[58]=0,o[59]=1,o[60]=0,o[61]=0,o[62]=1,o[63]=0,o[64]=0,o[65]=1,o[66]=0,o[67]=0,o[68]=1,o[69]=0,o[70]=0,o[71]=1,m.bitangent=new c.GeometryAttribute({componentDatatype:x.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:o})),(o=new Uint16Array(36))[0]=0,o[1]=1,o[2]=2,o[3]=0,o[4]=2,o[5]=3,o[6]=6,o[7]=5,o[8]=4,o[9]=7,o[10]=6,o[11]=4,o[12]=8,o[13]=9,o[14]=10,o[15]=8,o[16]=10,o[17]=11,o[18]=14,o[19]=13,o[20]=12,o[21]=15,o[22]=14,o[23]=12,o[24]=18,o[25]=17,o[26]=16,o[27]=19,o[28]=18,o[29]=16,o[30]=20,o[31]=21,o[32]=22,o[33]=20,o[34]=22,o[35]=23):((u=new Float64Array(24))[0]=e.x,u[1]=e.y,u[2]=e.z,u[3]=a.x,u[4]=e.y,u[5]=e.z,u[6]=a.x,u[7]=a.y,u[8]=e.z,u[9]=e.x,u[10]=a.y,u[11]=e.z,u[12]=e.x,u[13]=e.y,u[14]=a.z,u[15]=a.x,u[16]=e.y,u[17]=a.z,u[18]=a.x,u[19]=a.y,u[20]=a.z,u[21]=e.x,u[22]=a.y,u[23]=a.z,m.position=new c.GeometryAttribute({componentDatatype:x.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:u}),(o=new Uint16Array(36))[0]=4,o[1]=5,o[2]=6,o[3]=4,o[4]=6,o[5]=7,o[6]=1,o[7]=0,o[8]=3,o[9]=1,o[10]=3,o[11]=2,o[12]=1,o[13]=6,o[14]=5,o[15]=1,o[16]=2,o[17]=6,o[18]=2,o[19]=3,o[20]=7,o[21]=2,o[22]=7,o[23]=6,o[24]=3,o[25]=0,o[26]=4,o[27]=3,o[28]=4,o[29]=7,o[30]=0,o[31]=1,o[32]=5,o[33]=0,o[34]=5,o[35]=4);var u,a=y.Cartesian3.subtract(a,e,l),e=.5*y.Cartesian3.magnitude(a);return s.defined(t._offsetAttribute)&&(a=u.length,u=new Uint8Array(a/3),a=t._offsetAttribute===A.GeometryOffsetAttribute.NONE?0:1,A.arrayFill(u,a),m.applyOffset=new c.GeometryAttribute({componentDatatype:x.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:u})),new c.Geometry({attributes:m,indices:o,primitiveType:c.PrimitiveType.TRIANGLES,boundingSphere:new p.BoundingSphere(y.Cartesian3.ZERO,e),offsetAttribute:t._offsetAttribute})}},m.getUnitBox=function(){return s.defined(a)||(a=m.createGeometry(m.fromDimensions({dimensions:new y.Cartesian3(1,1,1),vertexFormat:o.VertexFormat.POSITION_ONLY}))),a},t.BoxGeometry=m}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/Cartesian2-bddc1162.js b/public/GV/thirdParty/CesiumManager/Workers/Cartesian2-bddc1162.js new file mode 100644 index 000000000..cebcf0fa0 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/Cartesian2-bddc1162.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5"],function(e,S,r,q){"use strict";function O(e,t,n){this.x=S.defaultValue(e,0),this.y=S.defaultValue(t,0),this.z=S.defaultValue(n,0)}O.fromSpherical=function(e,t){S.defined(t)||(t=new O);var n=e.clock,a=e.cone,i=S.defaultValue(e.magnitude,1),e=i*Math.sin(a);return t.x=e*Math.cos(n),t.y=e*Math.sin(n),t.z=i*Math.cos(a),t},O.fromElements=function(e,t,n,a){return S.defined(a)?(a.x=e,a.y=t,a.z=n,a):new O(e,t,n)},O.fromCartesian4=O.clone=function(e,t){if(S.defined(e))return S.defined(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new O(e.x,e.y,e.z)},O.packedLength=3,O.pack=function(e,t,n){return n=S.defaultValue(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t},O.unpack=function(e,t,n){return t=S.defaultValue(t,0),S.defined(n)||(n=new O),n.x=e[t++],n.y=e[t++],n.z=e[t],n},O.packArray=function(e,t){var n=e.length,a=3*n;if(S.defined(t)){if(!Array.isArray(t)&&t.length!==a)throw new r.DeveloperError("If result is a typed array, it must have exactly array.length * 3 elements");t.length!==a&&(t.length=a)}else t=new Array(a);for(var i=0;i<n;++i)O.pack(e[i],t,3*i);return t},O.unpackArray=function(e,t){var n=e.length;S.defined(t)?t.length=n/3:t=new Array(n/3);for(var a=0;a<n;a+=3){var i=a/3;t[i]=O.unpack(e,a,t[i])}return t},O.fromArray=O.unpack,O.maximumComponent=function(e){return Math.max(e.x,e.y,e.z)},O.minimumComponent=function(e){return Math.min(e.x,e.y,e.z)},O.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},O.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},O.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},O.magnitude=function(e){return Math.sqrt(O.magnitudeSquared(e))};var n=new O;O.distance=function(e,t){return O.subtract(e,t,n),O.magnitude(n)},O.distanceSquared=function(e,t){return O.subtract(e,t,n),O.magnitudeSquared(n)},O.normalize=function(e,t){var n=O.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t},O.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},O.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n},O.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n},O.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n},O.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n},O.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n},O.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n},O.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t},O.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t};var i=new O;O.lerp=function(e,t,n,a){return O.multiplyByScalar(t,n,i),a=O.multiplyByScalar(e,1-n,a),O.add(i,a,a)};var a=new O,u=new O;O.angleBetween=function(e,t){O.normalize(e,a),O.normalize(t,u);e=O.dot(a,u),t=O.magnitude(O.cross(a,u,a));return Math.atan2(t,e)};var o=new O;O.mostOrthogonalAxis=function(e,t){e=O.normalize(e,o);return O.abs(e,e),t=e.x<=e.y?e.x<=e.z?O.clone(O.UNIT_X,t):O.clone(O.UNIT_Z,t):e.y<=e.z?O.clone(O.UNIT_Y,t):O.clone(O.UNIT_Z,t)},O.projectVector=function(e,t,n){e=O.dot(e,t)/O.dot(t,t);return O.multiplyByScalar(t,e,n)},O.equals=function(e,t){return e===t||S.defined(e)&&S.defined(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},O.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]},O.equalsEpsilon=function(e,t,n,a){return e===t||S.defined(e)&&S.defined(t)&&q.CesiumMath.equalsEpsilon(e.x,t.x,n,a)&&q.CesiumMath.equalsEpsilon(e.y,t.y,n,a)&&q.CesiumMath.equalsEpsilon(e.z,t.z,n,a)},O.cross=function(e,t,n){var a=e.x,i=e.y,r=e.z,u=t.x,o=t.y,e=t.z,t=i*e-r*o,e=r*u-a*e,u=a*o-i*u;return n.x=t,n.y=e,n.z=u,n},O.midpoint=function(e,t,n){return n.x=.5*(e.x+t.x),n.y=.5*(e.y+t.y),n.z=.5*(e.z+t.z),n},O.fromDegrees=function(e,t,n,a,i){return e=q.CesiumMath.toRadians(e),t=q.CesiumMath.toRadians(t),O.fromRadians(e,t,n,a,i)};var d=new O,s=new O,h=new O(40680631590769,40680631590769,40408299984661.445);O.fromRadians=function(e,t,n,a,i){n=S.defaultValue(n,0);var r=S.defined(a)?a.radiiSquared:h,a=Math.cos(t);d.x=a*Math.cos(e),d.y=a*Math.sin(e),d.z=Math.sin(t),d=O.normalize(d,d),O.multiplyComponents(r,d,s);r=Math.sqrt(O.dot(d,s));return s=O.divideByScalar(s,r,s),d=O.multiplyByScalar(d,n,d),S.defined(i)||(i=new O),O.add(s,d,i)},O.fromDegreesArray=function(e,t,n){var a=e.length;S.defined(n)?n.length=a/2:n=new Array(a/2);for(var i=0;i<a;i+=2){var r=e[i],u=e[i+1],o=i/2;n[o]=O.fromDegrees(r,u,0,t,n[o])}return n},O.fromRadiansArray=function(e,t,n){var a=e.length;S.defined(n)?n.length=a/2:n=new Array(a/2);for(var i=0;i<a;i+=2){var r=e[i],u=e[i+1],o=i/2;n[o]=O.fromRadians(r,u,0,t,n[o])}return n},O.fromDegreesArrayHeights=function(e,t,n){var a=e.length;S.defined(n)?n.length=a/3:n=new Array(a/3);for(var i=0;i<a;i+=3){var r=e[i],u=e[i+1],o=e[i+2],d=i/3;n[d]=O.fromDegrees(r,u,o,t,n[d])}return n},O.fromRadiansArrayHeights=function(e,t,n){var a=e.length;S.defined(n)?n.length=a/3:n=new Array(a/3);for(var i=0;i<a;i+=3){var r=e[i],u=e[i+1],o=e[i+2],d=i/3;n[d]=O.fromRadians(r,u,o,t,n[d])}return n},O.ZERO=Object.freeze(new O(0,0,0)),O.UNIT_X=Object.freeze(new O(1,0,0)),O.UNIT_Y=Object.freeze(new O(0,1,0)),O.UNIT_Z=Object.freeze(new O(0,0,1)),O.prototype.clone=function(e){return O.clone(this,e)},O.prototype.equals=function(e){return O.equals(this,e)},O.prototype.equalsEpsilon=function(e,t,n){return O.equalsEpsilon(this,e,t,n)},O.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"};var T=new O,A=new O;function l(e,t,n,a,i){var r=e.x,u=e.y,o=e.z,d=t.x,s=t.y,t=t.z,h=r*r*d*d,l=u*u*s*s,f=o*o*t*t,d=h+l+f,s=Math.sqrt(1/d),t=O.multiplyByScalar(e,s,T);if(d<a)return isFinite(s)?O.clone(t,i):void 0;var c=n.x,m=n.y,y=n.z,n=A;n.x=t.x*c*2,n.y=t.y*m*2,n.z=t.z*y*2;var p,g,M,x,w,v,_,C=(1-s)*O.magnitude(e)/(.5*O.magnitude(n)),z=0;do{z=(p=h*(w=(g=1/(1+(C-=z)*c))*g)+l*(v=(M=1/(1+C*m))*M)+f*(_=(x=1/(1+C*y))*x)-1)/(-2*(h*(w*g)*c+l*(v*M)*m+f*(_*x)*y))}while(Math.abs(p)>q.CesiumMath.EPSILON12);return S.defined(i)?(i.x=r*g,i.y=u*M,i.z=o*x,i):new O(r*g,u*M,o*x)}function f(e,t,n){this.longitude=S.defaultValue(e,0),this.latitude=S.defaultValue(t,0),this.height=S.defaultValue(n,0)}f.fromRadians=function(e,t,n,a){return n=S.defaultValue(n,0),S.defined(a)?(a.longitude=e,a.latitude=t,a.height=n,a):new f(e,t,n)},f.fromDegrees=function(e,t,n,a){return e=q.CesiumMath.toRadians(e),t=q.CesiumMath.toRadians(t),f.fromRadians(e,t,n,a)};var c=new O,m=new O,y=new O,p=new O(1/6378137,1/6378137,1/6356752.314245179),g=new O(1/40680631590769,1/40680631590769,1/40408299984661.445),M=q.CesiumMath.EPSILON1;function x(e,t,n,a){t=S.defaultValue(t,0),n=S.defaultValue(n,0),a=S.defaultValue(a,0),e._radii=new O(t,n,a),e._radiiSquared=new O(t*t,n*n,a*a),e._radiiToTheFourth=new O(t*t*t*t,n*n*n*n,a*a*a*a),e._oneOverRadii=new O(0===t?0:1/t,0===n?0:1/n,0===a?0:1/a),e._oneOverRadiiSquared=new O(0===t?0:1/(t*t),0===n?0:1/(n*n),0===a?0:1/(a*a)),e._minimumRadius=Math.min(t,n,a),e._maximumRadius=Math.max(t,n,a),e._centerToleranceSquared=q.CesiumMath.EPSILON1,0!==e._radiiSquared.z&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function w(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,x(this,e,t,n)}f.fromCartesian=function(e,t,n){var a=S.defined(t)?t.oneOverRadii:p,i=S.defined(t)?t.oneOverRadiiSquared:g,a=l(e,a,i,S.defined(t)?t._centerToleranceSquared:M,m);if(S.defined(a)){t=O.multiplyComponents(a,i,c),t=O.normalize(t,t),i=O.subtract(e,a,y),a=Math.atan2(t.y,t.x),t=Math.asin(t.z),i=q.CesiumMath.sign(O.dot(i,e))*O.magnitude(i);return S.defined(n)?(n.longitude=a,n.latitude=t,n.height=i,n):new f(a,t,i)}},f.toCartesian=function(e,t,n){return O.fromRadians(e.longitude,e.latitude,e.height,t,n)},f.clone=function(e,t){if(S.defined(e))return S.defined(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new f(e.longitude,e.latitude,e.height)},f.equals=function(e,t){return e===t||S.defined(e)&&S.defined(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},f.equalsEpsilon=function(e,t,n){return n=S.defaultValue(n,0),e===t||S.defined(e)&&S.defined(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},f.ZERO=Object.freeze(new f(0,0,0)),f.prototype.clone=function(e){return f.clone(this,e)},f.prototype.equals=function(e){return f.equals(this,e)},f.prototype.equalsEpsilon=function(e,t){return f.equalsEpsilon(this,e,t)},f.prototype.toString=function(){return"("+this.longitude+", "+this.latitude+", "+this.height+")"},Object.defineProperties(w.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),w.clone=function(e,t){if(S.defined(e)){var n=e._radii;return S.defined(t)?(O.clone(n,t._radii),O.clone(e._radiiSquared,t._radiiSquared),O.clone(e._radiiToTheFourth,t._radiiToTheFourth),O.clone(e._oneOverRadii,t._oneOverRadii),O.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new w(n.x,n.y,n.z)}},w.fromCartesian3=function(e,t){return S.defined(t)||(t=new w),S.defined(e)&&x(t,e.x,e.y,e.z),t},w.WGS84=Object.freeze(new w(6378137,6378137,6356752.314245179)),w.UNIT_SPHERE=Object.freeze(new w(1,1,1)),w.MOON=Object.freeze(new w(q.CesiumMath.LUNAR_RADIUS,q.CesiumMath.LUNAR_RADIUS,q.CesiumMath.LUNAR_RADIUS)),w.prototype.clone=function(e){return w.clone(this,e)},w.packedLength=O.packedLength,w.pack=function(e,t,n){return n=S.defaultValue(n,0),O.pack(e._radii,t,n),t},w.unpack=function(e,t,n){t=S.defaultValue(t,0);t=O.unpack(e,t);return w.fromCartesian3(t,n)},w.prototype.geocentricSurfaceNormal=O.normalize,w.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,a=e.latitude,i=Math.cos(a),e=i*Math.cos(n),n=i*Math.sin(n),a=Math.sin(a);return S.defined(t)||(t=new O),t.x=e,t.y=n,t.z=a,O.normalize(t,t)},w.prototype.geodeticSurfaceNormal=function(e,t){if(!O.equalsEpsilon(e,O.ZERO,q.CesiumMath.EPSILON14))return S.defined(t)||(t=new O),t=O.multiplyComponents(e,this._oneOverRadiiSquared,t),O.normalize(t,t)};var v=new O,_=new O;w.prototype.cartographicToCartesian=function(e,t){var n=v,a=_;this.geodeticSurfaceNormalCartographic(e,n),O.multiplyComponents(this._radiiSquared,n,a);var i=Math.sqrt(O.dot(n,a));return O.divideByScalar(a,i,a),O.multiplyByScalar(n,e.height,n),S.defined(t)||(t=new O),O.add(a,n,t)},w.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;S.defined(t)?t.length=n:t=new Array(n);for(var a=0;a<n;a++)t[a]=this.cartographicToCartesian(e[a],t[a]);return t};var C=new O,z=new O,R=new O;w.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,z);if(S.defined(n)){var a=this.geodeticSurfaceNormal(n,C),i=O.subtract(e,n,R),n=Math.atan2(a.y,a.x),a=Math.asin(a.z),i=q.CesiumMath.sign(O.dot(i,e))*O.magnitude(i);return S.defined(t)?(t.longitude=n,t.latitude=a,t.height=i,t):new f(n,a,i)}},w.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;S.defined(t)?t.length=n:t=new Array(n);for(var a=0;a<n;++a)t[a]=this.cartesianToCartographic(e[a],t[a]);return t},w.prototype.scaleToGeodeticSurface=function(e,t){return l(e,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,t)},w.prototype.scaleToGeocentricSurface=function(e,t){S.defined(t)||(t=new O);var n=e.x,a=e.y,i=e.z,r=this._oneOverRadiiSquared,r=1/Math.sqrt(n*n*r.x+a*a*r.y+i*i*r.z);return O.multiplyByScalar(e,r,t)},w.prototype.transformPositionToScaledSpace=function(e,t){return S.defined(t)||(t=new O),O.multiplyComponents(e,this._oneOverRadii,t)},w.prototype.transformPositionFromScaledSpace=function(e,t){return S.defined(t)||(t=new O),O.multiplyComponents(e,this._radii,t)},w.prototype.equals=function(e){return this===e||S.defined(e)&&O.equals(this._radii,e._radii)},w.prototype.toString=function(){return this._radii.toString()},w.prototype.getSurfaceNormalIntersectionWithZAxis=function(e,t,n){t=S.defaultValue(t,0);var a=this._squaredXOverSquaredZ;if(S.defined(n)||(n=new O),n.x=0,n.y=0,n.z=e.z*(1-a),!(Math.abs(n.z)>=this._radii.z-t))return n};var V=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],b=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function I(e,t,n){for(var a=.5*(t+e),i=.5*(t-e),r=0,u=0;u<5;u++){var o=i*V[u];r+=b[u]*(n(a+o)+n(a-o))}return r*=i}function E(e,t,n,a){this.west=S.defaultValue(e,0),this.south=S.defaultValue(t,0),this.east=S.defaultValue(n,0),this.north=S.defaultValue(a,0)}w.prototype.surfaceArea=function(e){for(var t=e.west,i=e.east,n=e.south,a=e.north;i<t;)i+=q.CesiumMath.TWO_PI;var e=this._radiiSquared,r=e.x,u=e.y,o=e.z,d=r*u;return I(n,a,function(e){var n=Math.cos(e),a=Math.sin(e);return Math.cos(e)*I(t,i,function(e){var t=Math.cos(e),e=Math.sin(e);return Math.sqrt(d*a*a+o*(u*t*t+r*e*e)*n*n)})})},Object.defineProperties(E.prototype,{width:{get:function(){return E.computeWidth(this)}},height:{get:function(){return E.computeHeight(this)}}}),E.packedLength=4,E.pack=function(e,t,n){return n=S.defaultValue(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t},E.unpack=function(e,t,n){return t=S.defaultValue(t,0),S.defined(n)||(n=new E),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n},E.computeWidth=function(e){var t=e.east,e=e.west;return t<e&&(t+=q.CesiumMath.TWO_PI),t-e},E.computeHeight=function(e){return e.north-e.south},E.fromDegrees=function(e,t,n,a,i){return e=q.CesiumMath.toRadians(S.defaultValue(e,0)),t=q.CesiumMath.toRadians(S.defaultValue(t,0)),n=q.CesiumMath.toRadians(S.defaultValue(n,0)),a=q.CesiumMath.toRadians(S.defaultValue(a,0)),S.defined(i)?(i.west=e,i.south=t,i.east=n,i.north=a,i):new E(e,t,n,a)},E.fromRadians=function(e,t,n,a,i){return S.defined(i)?(i.west=S.defaultValue(e,0),i.south=S.defaultValue(t,0),i.east=S.defaultValue(n,0),i.north=S.defaultValue(a,0),i):new E(e,t,n,a)},E.fromCartographicArray=function(e,t){for(var n=Number.MAX_VALUE,a=-Number.MAX_VALUE,i=Number.MAX_VALUE,r=-Number.MAX_VALUE,u=Number.MAX_VALUE,o=-Number.MAX_VALUE,d=0,s=e.length;d<s;d++)var h=e[d],n=Math.min(n,h.longitude),a=Math.max(a,h.longitude),u=Math.min(u,h.latitude),o=Math.max(o,h.latitude),h=0<=h.longitude?h.longitude:h.longitude+q.CesiumMath.TWO_PI,i=Math.min(i,h),r=Math.max(r,h);return r-i<a-n&&(n=i,(a=r)>q.CesiumMath.PI&&(a-=q.CesiumMath.TWO_PI),n>q.CesiumMath.PI&&(n-=q.CesiumMath.TWO_PI)),S.defined(t)?(t.west=n,t.south=u,t.east=a,t.north=o,t):new E(n,u,a,o)},E.fromCartesianArray=function(e,t,n){t=S.defaultValue(t,w.WGS84);for(var a=Number.MAX_VALUE,i=-Number.MAX_VALUE,r=Number.MAX_VALUE,u=-Number.MAX_VALUE,o=Number.MAX_VALUE,d=-Number.MAX_VALUE,s=0,h=e.length;s<h;s++)var l=t.cartesianToCartographic(e[s]),a=Math.min(a,l.longitude),i=Math.max(i,l.longitude),o=Math.min(o,l.latitude),d=Math.max(d,l.latitude),l=0<=l.longitude?l.longitude:l.longitude+q.CesiumMath.TWO_PI,r=Math.min(r,l),u=Math.max(u,l);return u-r<i-a&&(a=r,(i=u)>q.CesiumMath.PI&&(i-=q.CesiumMath.TWO_PI),a>q.CesiumMath.PI&&(a-=q.CesiumMath.TWO_PI)),S.defined(n)?(n.west=a,n.south=o,n.east=i,n.north=d,n):new E(a,o,i,d)},E.clone=function(e,t){if(S.defined(e))return S.defined(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new E(e.west,e.south,e.east,e.north)},E.equalsEpsilon=function(e,t,n){return n=S.defaultValue(n,0),e===t||S.defined(e)&&S.defined(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n},E.prototype.clone=function(e){return E.clone(this,e)},E.prototype.equals=function(e){return E.equals(this,e)},E.equals=function(e,t){return e===t||S.defined(e)&&S.defined(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north},E.prototype.equalsEpsilon=function(e,t){return E.equalsEpsilon(this,e,t)},E.validate=function(e){},E.southwest=function(e,t){return S.defined(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new f(e.west,e.south)},E.northwest=function(e,t){return S.defined(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new f(e.west,e.north)},E.northeast=function(e,t){return S.defined(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new f(e.east,e.north)},E.southeast=function(e,t){return S.defined(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new f(e.east,e.south)},E.center=function(e,t){var n=e.east,a=e.west;n<a&&(n+=q.CesiumMath.TWO_PI);n=q.CesiumMath.negativePiToPi(.5*(a+n)),e=.5*(e.south+e.north);return S.defined(t)?(t.longitude=n,t.latitude=e,t.height=0,t):new f(n,e)},E.intersection=function(e,t,n){var a=e.east,i=e.west,r=t.east,u=t.west;a<i&&0<r?a+=q.CesiumMath.TWO_PI:r<u&&0<a&&(r+=q.CesiumMath.TWO_PI),a<i&&u<0?u+=q.CesiumMath.TWO_PI:r<u&&i<0&&(i+=q.CesiumMath.TWO_PI);u=q.CesiumMath.negativePiToPi(Math.max(i,u)),a=q.CesiumMath.negativePiToPi(Math.min(a,r));if(!((e.west<e.east||t.west<t.east)&&a<=u)){r=Math.max(e.south,t.south),t=Math.min(e.north,t.north);if(!(t<=r))return S.defined(n)?(n.west=u,n.south=r,n.east=a,n.north=t,n):new E(u,r,a,t)}},E.simpleIntersection=function(e,t,n){var a=Math.max(e.west,t.west),i=Math.max(e.south,t.south),r=Math.min(e.east,t.east),t=Math.min(e.north,t.north);if(!(t<=i||r<=a))return S.defined(n)?(n.west=a,n.south=i,n.east=r,n.north=t,n):new E(a,i,r,t)},E.union=function(e,t,n){S.defined(n)||(n=new E);var a=e.east,i=e.west,r=t.east,u=t.west;a<i&&0<r?a+=q.CesiumMath.TWO_PI:r<u&&0<a&&(r+=q.CesiumMath.TWO_PI),a<i&&u<0?u+=q.CesiumMath.TWO_PI:r<u&&i<0&&(i+=q.CesiumMath.TWO_PI);u=q.CesiumMath.convertLongitudeRange(Math.min(i,u)),r=q.CesiumMath.convertLongitudeRange(Math.max(a,r));return n.west=u,n.south=Math.min(e.south,t.south),n.east=r,n.north=Math.max(e.north,t.north),n},E.expand=function(e,t,n){return S.defined(n)||(n=new E),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n},E.contains=function(e,t){var n=t.longitude,a=t.latitude,i=e.west,t=e.east;return t<i&&(t+=q.CesiumMath.TWO_PI,n<0&&(n+=q.CesiumMath.TWO_PI)),(i<n||q.CesiumMath.equalsEpsilon(n,i,q.CesiumMath.EPSILON14))&&(n<t||q.CesiumMath.equalsEpsilon(n,t,q.CesiumMath.EPSILON14))&&a>=e.south&&a<=e.north};var P=new f;function N(e,t){this.x=S.defaultValue(e,0),this.y=S.defaultValue(t,0)}E.subsample=function(e,t,n,a){t=S.defaultValue(t,w.WGS84),n=S.defaultValue(n,0),S.defined(a)||(a=[]);var i=0,r=e.north,u=e.south,o=e.east,d=e.west,s=P;s.height=n,s.longitude=d,s.latitude=r,a[i]=t.cartographicToCartesian(s,a[i]),i++,s.longitude=o,a[i]=t.cartographicToCartesian(s,a[i]),i++,s.latitude=u,a[i]=t.cartographicToCartesian(s,a[i]),i++,s.longitude=d,a[i]=t.cartographicToCartesian(s,a[i]),i++,s.latitude=r<0?r:0<u?u:0;for(var h=1;h<8;++h)s.longitude=-Math.PI+h*q.CesiumMath.PI_OVER_TWO,E.contains(e,s)&&(a[i]=t.cartographicToCartesian(s,a[i]),i++);return 0===s.latitude&&(s.longitude=d,a[i]=t.cartographicToCartesian(s,a[i]),i++,s.longitude=o,a[i]=t.cartographicToCartesian(s,a[i]),i++),a.length=i,a},E.MAX_VALUE=Object.freeze(new E(-Math.PI,-q.CesiumMath.PI_OVER_TWO,Math.PI,q.CesiumMath.PI_OVER_TWO)),N.fromElements=function(e,t,n){return S.defined(n)?(n.x=e,n.y=t,n):new N(e,t)},N.fromCartesian3=N.clone=function(e,t){if(S.defined(e))return S.defined(t)?(t.x=e.x,t.y=e.y,t):new N(e.x,e.y)},N.fromCartesian4=N.clone,N.packedLength=2,N.pack=function(e,t,n){return n=S.defaultValue(n,0),t[n++]=e.x,t[n]=e.y,t},N.unpack=function(e,t,n){return t=S.defaultValue(t,0),S.defined(n)||(n=new N),n.x=e[t++],n.y=e[t],n},N.packArray=function(e,t){var n=e.length,a=2*n;if(S.defined(t)){if(!Array.isArray(t)&&t.length!==a)throw new r.DeveloperError("If result is a typed array, it must have exactly array.length * 2 elements");t.length!==a&&(t.length=a)}else t=new Array(a);for(var i=0;i<n;++i)N.pack(e[i],t,2*i);return t},N.unpackArray=function(e,t){var n=e.length;S.defined(t)?t.length=n/2:t=new Array(n/2);for(var a=0;a<n;a+=2){var i=a/2;t[i]=N.unpack(e,a,t[i])}return t},N.fromArray=N.unpack,N.maximumComponent=function(e){return Math.max(e.x,e.y)},N.minimumComponent=function(e){return Math.min(e.x,e.y)},N.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},N.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},N.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},N.magnitude=function(e){return Math.sqrt(N.magnitudeSquared(e))};var U=new N;N.distance=function(e,t){return N.subtract(e,t,U),N.magnitude(U)},N.distanceSquared=function(e,t){return N.subtract(e,t,U),N.magnitudeSquared(U)},N.normalize=function(e,t){var n=N.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t},N.dot=function(e,t){return e.x*t.x+e.y*t.y},N.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n},N.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n},N.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n},N.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n},N.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n},N.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n},N.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t},N.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t};var L=new N;N.lerp=function(e,t,n,a){return N.multiplyByScalar(t,n,L),a=N.multiplyByScalar(e,1-n,a),N.add(L,a,a)};var W=new N,k=new N;N.angleBetween=function(e,t){return N.normalize(e,W),N.normalize(t,k),q.CesiumMath.acosClamped(N.dot(W,k))};var B=new N;N.mostOrthogonalAxis=function(e,t){e=N.normalize(e,B);return N.abs(e,e),t=e.x<=e.y?N.clone(N.UNIT_X,t):N.clone(N.UNIT_Y,t)},N.equals=function(e,t){return e===t||S.defined(e)&&S.defined(t)&&e.x===t.x&&e.y===t.y},N.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]},N.equalsEpsilon=function(e,t,n,a){return e===t||S.defined(e)&&S.defined(t)&&q.CesiumMath.equalsEpsilon(e.x,t.x,n,a)&&q.CesiumMath.equalsEpsilon(e.y,t.y,n,a)},N.ZERO=Object.freeze(new N(0,0)),N.UNIT_X=Object.freeze(new N(1,0)),N.UNIT_Y=Object.freeze(new N(0,1)),N.prototype.clone=function(e){return N.clone(this,e)},N.prototype.equals=function(e){return N.equals(this,e)},N.prototype.equalsEpsilon=function(e,t,n){return N.equalsEpsilon(this,e,t,n)},N.prototype.toString=function(){return"("+this.x+", "+this.y+")"},e.Cartesian2=N,e.Cartesian3=O,e.Cartographic=f,e.Ellipsoid=w,e.Rectangle=E}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/Check-6c0211bc.js b/public/GV/thirdParty/CesiumManager/Workers/Check-6c0211bc.js new file mode 100644 index 000000000..3bb3764a9 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/Check-6c0211bc.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71"],function(e,n){"use strict";function r(e){var t;this.name="DeveloperError",this.message=e;try{throw new Error}catch(e){t=e.stack}this.stack=t}n.defined(Object.create)&&((r.prototype=Object.create(Error.prototype)).constructor=r),r.prototype.toString=function(){var e=this.name+": "+this.message;return n.defined(this.stack)&&(e+="\n"+this.stack.toString()),e},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")};var a={};function o(e,t,n){return"Expected "+n+" to be typeof "+t+", actual typeof was "+e}a.typeOf={},a.defined=function(e,t){if(!n.defined(t))throw new r(e+" is required, actual value was undefined")},a.typeOf.func=function(e,t){if("function"!=typeof t)throw new r(o(typeof t,"function",e))},a.typeOf.string=function(e,t){if("string"!=typeof t)throw new r(o(typeof t,"string",e))},a.typeOf.number=function(e,t){if("number"!=typeof t)throw new r(o(typeof t,"number",e))},a.typeOf.number.lessThan=function(e,t,n){if(a.typeOf.number(e,t),n<=t)throw new r("Expected "+e+" to be less than "+n+", actual value was "+t)},a.typeOf.number.lessThanOrEquals=function(e,t,n){if(a.typeOf.number(e,t),n<t)throw new r("Expected "+e+" to be less than or equal to "+n+", actual value was "+t)},a.typeOf.number.greaterThan=function(e,t,n){if(a.typeOf.number(e,t),t<=n)throw new r("Expected "+e+" to be greater than "+n+", actual value was "+t)},a.typeOf.number.greaterThanOrEquals=function(e,t,n){if(a.typeOf.number(e,t),t<n)throw new r("Expected "+e+" to be greater than or equal to"+n+", actual value was "+t)},a.typeOf.object=function(e,t){if("object"!=typeof t)throw new r(o(typeof t,"object",e))},a.typeOf.bool=function(e,t){if("boolean"!=typeof t)throw new r(o(typeof t,"boolean",e))},a.typeOf.number.equals=function(e,t,n,o){if(a.typeOf.number(e,n),a.typeOf.number(t,o),n!==o)throw new r(e+" must be equal to "+t+", the actual values are "+n+" and "+o)},e.Check=a,e.DeveloperError=r}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/Color-bac25fae.js b/public/GV/thirdParty/CesiumManager/Workers/Color-bac25fae.js new file mode 100644 index 000000000..c5aaaa5c1 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/Color-bac25fae.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Transforms-d07bb42c"],function(e,C,r,a,o){"use strict";function i(e,r,o){return o<0&&(o+=1),1<o&&--o,6*o<1?e+6*(r-e)*o:2*o<1?r:3*o<2?e+(r-e)*(2/3-o)*6:e}function E(e,r,o,t){this.red=C.defaultValue(e,1),this.green=C.defaultValue(r,1),this.blue=C.defaultValue(o,1),this.alpha=C.defaultValue(t,1)}var t,f;E.fromCartesian4=function(e,r){return C.defined(r)?(r.red=e.x,r.green=e.y,r.blue=e.z,r.alpha=e.w,r):new E(e.x,e.y,e.z,e.w)},E.fromBytes=function(e,r,o,t,f){return e=E.byteToFloat(C.defaultValue(e,255)),r=E.byteToFloat(C.defaultValue(r,255)),o=E.byteToFloat(C.defaultValue(o,255)),t=E.byteToFloat(C.defaultValue(t,255)),C.defined(f)?(f.red=e,f.green=r,f.blue=o,f.alpha=t,f):new E(e,r,o,t)},E.fromAlpha=function(e,r,o){return C.defined(o)?(o.red=e.red,o.green=e.green,o.blue=e.blue,o.alpha=r,o):new E(e.red,e.green,e.blue,r)},o.FeatureDetection.supportsTypedArrays()&&(o=new ArrayBuffer(4),t=new Uint32Array(o),f=new Uint8Array(o)),E.fromRgba=function(e,r){return t[0]=e,E.fromBytes(f[0],f[1],f[2],f[3],r)},E.fromHsl=function(e,r,o,t,f){e=C.defaultValue(e,0)%1,r=C.defaultValue(r,0),o=C.defaultValue(o,0),t=C.defaultValue(t,1);var s=o,n=o,l=o;return 0!==r&&(s=i(r=2*o-(o=o<.5?o*(1+r):o+r-o*r),o,e+1/3),n=i(r,o,e),l=i(r,o,e-1/3)),C.defined(f)?(f.red=s,f.green=n,f.blue=l,f.alpha=t,f):new E(s,n,l,t)},E.fromRandom=function(e,r){var o=(e=C.defaultValue(e,C.defaultValue.EMPTY_OBJECT)).red;C.defined(o)||(t=C.defaultValue(e.minimumRed,0),f=C.defaultValue(e.maximumRed,1),o=t+a.CesiumMath.nextRandomNumber()*(f-t));var t,f=e.green;C.defined(f)||(s=C.defaultValue(e.minimumGreen,0),t=C.defaultValue(e.maximumGreen,1),f=s+a.CesiumMath.nextRandomNumber()*(t-s));var s=e.blue;C.defined(s)||(n=C.defaultValue(e.minimumBlue,0),l=C.defaultValue(e.maximumBlue,1),s=n+a.CesiumMath.nextRandomNumber()*(l-n));var n,l=e.alpha;return C.defined(l)||(n=C.defaultValue(e.minimumAlpha,0),e=C.defaultValue(e.maximumAlpha,1),l=n+a.CesiumMath.nextRandomNumber()*(e-n)),C.defined(r)?(r.red=o,r.green=f,r.blue=s,r.alpha=l,r):new E(o,f,s,l)};var s=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,n=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,l=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,u=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;E.fromCssColorString=function(e,r){C.defined(r)||(r=new E);var o=E[(e=e.replace(/\s/g,"")).toUpperCase()];if(C.defined(o))return E.clone(o,r),r;o=s.exec(e);return null!==o?(r.red=parseInt(o[1],16)/15,r.green=parseInt(o[2],16)/15,r.blue=parseInt(o[3],16)/15,r.alpha=parseInt(C.defaultValue(o[4],"f"),16)/15,r):null!==(o=n.exec(e))?(r.red=parseInt(o[1],16)/255,r.green=parseInt(o[2],16)/255,r.blue=parseInt(o[3],16)/255,r.alpha=parseInt(C.defaultValue(o[4],"ff"),16)/255,r):null!==(o=l.exec(e))?(r.red=parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),r.green=parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),r.blue=parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),r.alpha=parseFloat(C.defaultValue(o[4],"1.0")),r):null!==(o=u.exec(e))?E.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(C.defaultValue(o[4],"1.0")),r):r=void 0},E.packedLength=4,E.pack=function(e,r,o){return o=C.defaultValue(o,0),r[o++]=e.red,r[o++]=e.green,r[o++]=e.blue,r[o]=e.alpha,r},E.unpack=function(e,r,o){return r=C.defaultValue(r,0),C.defined(o)||(o=new E),o.red=e[r++],o.green=e[r++],o.blue=e[r++],o.alpha=e[r],o},E.byteToFloat=function(e){return e/255},E.floatToByte=function(e){return 1===e?255:256*e|0},E.clone=function(e,r){if(C.defined(e))return C.defined(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new E(e.red,e.green,e.blue,e.alpha)},E.equals=function(e,r){return e===r||C.defined(e)&&C.defined(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},E.equalsArray=function(e,r,o){return e.red===r[o]&&e.green===r[o+1]&&e.blue===r[o+2]&&e.alpha===r[o+3]},E.prototype.clone=function(e){return E.clone(this,e)},E.prototype.equals=function(e){return E.equals(this,e)},E.prototype.equalsEpsilon=function(e,r){return this===e||C.defined(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},E.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},E.prototype.toCssColorString=function(){var e=E.floatToByte(this.red),r=E.floatToByte(this.green),o=E.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+o+")":"rgba("+e+","+r+","+o+","+this.alpha+")"},E.prototype.toCssHexString=function(){var e=E.floatToByte(this.red).toString(16);e.length<2&&(e="0"+e);var r=E.floatToByte(this.green).toString(16);r.length<2&&(r="0"+r);var o=E.floatToByte(this.blue).toString(16);if(o.length<2&&(o="0"+o),this.alpha<1){var t=E.floatToByte(this.alpha).toString(16);return t.length<2&&(t="0"+t),"#"+e+r+o+t}return"#"+e+r+o},E.prototype.toBytes=function(e){var r=E.floatToByte(this.red),o=E.floatToByte(this.green),t=E.floatToByte(this.blue),f=E.floatToByte(this.alpha);return C.defined(e)?(e[0]=r,e[1]=o,e[2]=t,e[3]=f,e):[r,o,t,f]},E.prototype.toRgba=function(){return f[0]=E.floatToByte(this.red),f[1]=E.floatToByte(this.green),f[2]=E.floatToByte(this.blue),f[3]=E.floatToByte(this.alpha),t[0]},E.prototype.brighten=function(e,r){return e=1-e,r.red=1-(1-this.red)*e,r.green=1-(1-this.green)*e,r.blue=1-(1-this.blue)*e,r.alpha=this.alpha,r},E.prototype.darken=function(e,r){return e=1-e,r.red=this.red*e,r.green=this.green*e,r.blue=this.blue*e,r.alpha=this.alpha,r},E.prototype.withAlpha=function(e,r){return E.fromAlpha(this,e,r)},E.add=function(e,r,o){return o.red=e.red+r.red,o.green=e.green+r.green,o.blue=e.blue+r.blue,o.alpha=e.alpha+r.alpha,o},E.subtract=function(e,r,o){return o.red=e.red-r.red,o.green=e.green-r.green,o.blue=e.blue-r.blue,o.alpha=e.alpha-r.alpha,o},E.multiply=function(e,r,o){return o.red=e.red*r.red,o.green=e.green*r.green,o.blue=e.blue*r.blue,o.alpha=e.alpha*r.alpha,o},E.divide=function(e,r,o){return o.red=e.red/r.red,o.green=e.green/r.green,o.blue=e.blue/r.blue,o.alpha=e.alpha/r.alpha,o},E.mod=function(e,r,o){return o.red=e.red%r.red,o.green=e.green%r.green,o.blue=e.blue%r.blue,o.alpha=e.alpha%r.alpha,o},E.lerp=function(e,r,o,t){return t.red=a.CesiumMath.lerp(e.red,r.red,o),t.green=a.CesiumMath.lerp(e.green,r.green,o),t.blue=a.CesiumMath.lerp(e.blue,r.blue,o),t.alpha=a.CesiumMath.lerp(e.alpha,r.alpha,o),t},E.multiplyByScalar=function(e,r,o){return o.red=e.red*r,o.green=e.green*r,o.blue=e.blue*r,o.alpha=e.alpha*r,o},E.divideByScalar=function(e,r,o){return o.red=e.red/r,o.green=e.green/r,o.blue=e.blue/r,o.alpha=e.alpha/r,o},E.ALICEBLUE=Object.freeze(E.fromCssColorString("#F0F8FF")),E.ANTIQUEWHITE=Object.freeze(E.fromCssColorString("#FAEBD7")),E.AQUA=Object.freeze(E.fromCssColorString("#00FFFF")),E.AQUAMARINE=Object.freeze(E.fromCssColorString("#7FFFD4")),E.AZURE=Object.freeze(E.fromCssColorString("#F0FFFF")),E.BEIGE=Object.freeze(E.fromCssColorString("#F5F5DC")),E.BISQUE=Object.freeze(E.fromCssColorString("#FFE4C4")),E.BLACK=Object.freeze(E.fromCssColorString("#000000")),E.BLANCHEDALMOND=Object.freeze(E.fromCssColorString("#FFEBCD")),E.BLUE=Object.freeze(E.fromCssColorString("#0000FF")),E.BLUEVIOLET=Object.freeze(E.fromCssColorString("#8A2BE2")),E.BROWN=Object.freeze(E.fromCssColorString("#A52A2A")),E.BURLYWOOD=Object.freeze(E.fromCssColorString("#DEB887")),E.CADETBLUE=Object.freeze(E.fromCssColorString("#5F9EA0")),E.CHARTREUSE=Object.freeze(E.fromCssColorString("#7FFF00")),E.CHOCOLATE=Object.freeze(E.fromCssColorString("#D2691E")),E.CORAL=Object.freeze(E.fromCssColorString("#FF7F50")),E.CORNFLOWERBLUE=Object.freeze(E.fromCssColorString("#6495ED")),E.CORNSILK=Object.freeze(E.fromCssColorString("#FFF8DC")),E.CRIMSON=Object.freeze(E.fromCssColorString("#DC143C")),E.CYAN=Object.freeze(E.fromCssColorString("#00FFFF")),E.DARKBLUE=Object.freeze(E.fromCssColorString("#00008B")),E.DARKCYAN=Object.freeze(E.fromCssColorString("#008B8B")),E.DARKGOLDENROD=Object.freeze(E.fromCssColorString("#B8860B")),E.DARKGRAY=Object.freeze(E.fromCssColorString("#A9A9A9")),E.DARKGREEN=Object.freeze(E.fromCssColorString("#006400")),E.DARKGREY=E.DARKGRAY,E.DARKKHAKI=Object.freeze(E.fromCssColorString("#BDB76B")),E.DARKMAGENTA=Object.freeze(E.fromCssColorString("#8B008B")),E.DARKOLIVEGREEN=Object.freeze(E.fromCssColorString("#556B2F")),E.DARKORANGE=Object.freeze(E.fromCssColorString("#FF8C00")),E.DARKORCHID=Object.freeze(E.fromCssColorString("#9932CC")),E.DARKRED=Object.freeze(E.fromCssColorString("#8B0000")),E.DARKSALMON=Object.freeze(E.fromCssColorString("#E9967A")),E.DARKSEAGREEN=Object.freeze(E.fromCssColorString("#8FBC8F")),E.DARKSLATEBLUE=Object.freeze(E.fromCssColorString("#483D8B")),E.DARKSLATEGRAY=Object.freeze(E.fromCssColorString("#2F4F4F")),E.DARKSLATEGREY=E.DARKSLATEGRAY,E.DARKTURQUOISE=Object.freeze(E.fromCssColorString("#00CED1")),E.DARKVIOLET=Object.freeze(E.fromCssColorString("#9400D3")),E.DEEPPINK=Object.freeze(E.fromCssColorString("#FF1493")),E.DEEPSKYBLUE=Object.freeze(E.fromCssColorString("#00BFFF")),E.DIMGRAY=Object.freeze(E.fromCssColorString("#696969")),E.DIMGREY=E.DIMGRAY,E.DODGERBLUE=Object.freeze(E.fromCssColorString("#1E90FF")),E.FIREBRICK=Object.freeze(E.fromCssColorString("#B22222")),E.FLORALWHITE=Object.freeze(E.fromCssColorString("#FFFAF0")),E.FORESTGREEN=Object.freeze(E.fromCssColorString("#228B22")),E.FUCHSIA=Object.freeze(E.fromCssColorString("#FF00FF")),E.GAINSBORO=Object.freeze(E.fromCssColorString("#DCDCDC")),E.GHOSTWHITE=Object.freeze(E.fromCssColorString("#F8F8FF")),E.GOLD=Object.freeze(E.fromCssColorString("#FFD700")),E.GOLDENROD=Object.freeze(E.fromCssColorString("#DAA520")),E.GRAY=Object.freeze(E.fromCssColorString("#808080")),E.GREEN=Object.freeze(E.fromCssColorString("#008000")),E.GREENYELLOW=Object.freeze(E.fromCssColorString("#ADFF2F")),E.GREY=E.GRAY,E.HONEYDEW=Object.freeze(E.fromCssColorString("#F0FFF0")),E.HOTPINK=Object.freeze(E.fromCssColorString("#FF69B4")),E.INDIANRED=Object.freeze(E.fromCssColorString("#CD5C5C")),E.INDIGO=Object.freeze(E.fromCssColorString("#4B0082")),E.IVORY=Object.freeze(E.fromCssColorString("#FFFFF0")),E.KHAKI=Object.freeze(E.fromCssColorString("#F0E68C")),E.LAVENDER=Object.freeze(E.fromCssColorString("#E6E6FA")),E.LAVENDAR_BLUSH=Object.freeze(E.fromCssColorString("#FFF0F5")),E.LAWNGREEN=Object.freeze(E.fromCssColorString("#7CFC00")),E.LEMONCHIFFON=Object.freeze(E.fromCssColorString("#FFFACD")),E.LIGHTBLUE=Object.freeze(E.fromCssColorString("#ADD8E6")),E.LIGHTCORAL=Object.freeze(E.fromCssColorString("#F08080")),E.LIGHTCYAN=Object.freeze(E.fromCssColorString("#E0FFFF")),E.LIGHTGOLDENRODYELLOW=Object.freeze(E.fromCssColorString("#FAFAD2")),E.LIGHTGRAY=Object.freeze(E.fromCssColorString("#D3D3D3")),E.LIGHTGREEN=Object.freeze(E.fromCssColorString("#90EE90")),E.LIGHTGREY=E.LIGHTGRAY,E.LIGHTPINK=Object.freeze(E.fromCssColorString("#FFB6C1")),E.LIGHTSEAGREEN=Object.freeze(E.fromCssColorString("#20B2AA")),E.LIGHTSKYBLUE=Object.freeze(E.fromCssColorString("#87CEFA")),E.LIGHTSLATEGRAY=Object.freeze(E.fromCssColorString("#778899")),E.LIGHTSLATEGREY=E.LIGHTSLATEGRAY,E.LIGHTSTEELBLUE=Object.freeze(E.fromCssColorString("#B0C4DE")),E.LIGHTYELLOW=Object.freeze(E.fromCssColorString("#FFFFE0")),E.LIME=Object.freeze(E.fromCssColorString("#00FF00")),E.LIMEGREEN=Object.freeze(E.fromCssColorString("#32CD32")),E.LINEN=Object.freeze(E.fromCssColorString("#FAF0E6")),E.MAGENTA=Object.freeze(E.fromCssColorString("#FF00FF")),E.MAROON=Object.freeze(E.fromCssColorString("#800000")),E.MEDIUMAQUAMARINE=Object.freeze(E.fromCssColorString("#66CDAA")),E.MEDIUMBLUE=Object.freeze(E.fromCssColorString("#0000CD")),E.MEDIUMORCHID=Object.freeze(E.fromCssColorString("#BA55D3")),E.MEDIUMPURPLE=Object.freeze(E.fromCssColorString("#9370DB")),E.MEDIUMSEAGREEN=Object.freeze(E.fromCssColorString("#3CB371")),E.MEDIUMSLATEBLUE=Object.freeze(E.fromCssColorString("#7B68EE")),E.MEDIUMSPRINGGREEN=Object.freeze(E.fromCssColorString("#00FA9A")),E.MEDIUMTURQUOISE=Object.freeze(E.fromCssColorString("#48D1CC")),E.MEDIUMVIOLETRED=Object.freeze(E.fromCssColorString("#C71585")),E.MIDNIGHTBLUE=Object.freeze(E.fromCssColorString("#191970")),E.MINTCREAM=Object.freeze(E.fromCssColorString("#F5FFFA")),E.MISTYROSE=Object.freeze(E.fromCssColorString("#FFE4E1")),E.MOCCASIN=Object.freeze(E.fromCssColorString("#FFE4B5")),E.NAVAJOWHITE=Object.freeze(E.fromCssColorString("#FFDEAD")),E.NAVY=Object.freeze(E.fromCssColorString("#000080")),E.OLDLACE=Object.freeze(E.fromCssColorString("#FDF5E6")),E.OLIVE=Object.freeze(E.fromCssColorString("#808000")),E.OLIVEDRAB=Object.freeze(E.fromCssColorString("#6B8E23")),E.ORANGE=Object.freeze(E.fromCssColorString("#FFA500")),E.ORANGERED=Object.freeze(E.fromCssColorString("#FF4500")),E.ORCHID=Object.freeze(E.fromCssColorString("#DA70D6")),E.PALEGOLDENROD=Object.freeze(E.fromCssColorString("#EEE8AA")),E.PALEGREEN=Object.freeze(E.fromCssColorString("#98FB98")),E.PALETURQUOISE=Object.freeze(E.fromCssColorString("#AFEEEE")),E.PALEVIOLETRED=Object.freeze(E.fromCssColorString("#DB7093")),E.PAPAYAWHIP=Object.freeze(E.fromCssColorString("#FFEFD5")),E.PEACHPUFF=Object.freeze(E.fromCssColorString("#FFDAB9")),E.PERU=Object.freeze(E.fromCssColorString("#CD853F")),E.PINK=Object.freeze(E.fromCssColorString("#FFC0CB")),E.PLUM=Object.freeze(E.fromCssColorString("#DDA0DD")),E.POWDERBLUE=Object.freeze(E.fromCssColorString("#B0E0E6")),E.PURPLE=Object.freeze(E.fromCssColorString("#800080")),E.RED=Object.freeze(E.fromCssColorString("#FF0000")),E.ROSYBROWN=Object.freeze(E.fromCssColorString("#BC8F8F")),E.ROYALBLUE=Object.freeze(E.fromCssColorString("#4169E1")),E.SADDLEBROWN=Object.freeze(E.fromCssColorString("#8B4513")),E.SALMON=Object.freeze(E.fromCssColorString("#FA8072")),E.SANDYBROWN=Object.freeze(E.fromCssColorString("#F4A460")),E.SEAGREEN=Object.freeze(E.fromCssColorString("#2E8B57")),E.SEASHELL=Object.freeze(E.fromCssColorString("#FFF5EE")),E.SIENNA=Object.freeze(E.fromCssColorString("#A0522D")),E.SILVER=Object.freeze(E.fromCssColorString("#C0C0C0")),E.SKYBLUE=Object.freeze(E.fromCssColorString("#87CEEB")),E.SLATEBLUE=Object.freeze(E.fromCssColorString("#6A5ACD")),E.SLATEGRAY=Object.freeze(E.fromCssColorString("#708090")),E.SLATEGREY=E.SLATEGRAY,E.SNOW=Object.freeze(E.fromCssColorString("#FFFAFA")),E.SPRINGGREEN=Object.freeze(E.fromCssColorString("#00FF7F")),E.STEELBLUE=Object.freeze(E.fromCssColorString("#4682B4")),E.TAN=Object.freeze(E.fromCssColorString("#D2B48C")),E.TEAL=Object.freeze(E.fromCssColorString("#008080")),E.THISTLE=Object.freeze(E.fromCssColorString("#D8BFD8")),E.TOMATO=Object.freeze(E.fromCssColorString("#FF6347")),E.TURQUOISE=Object.freeze(E.fromCssColorString("#40E0D0")),E.VIOLET=Object.freeze(E.fromCssColorString("#EE82EE")),E.WHEAT=Object.freeze(E.fromCssColorString("#F5DEB3")),E.WHITE=Object.freeze(E.fromCssColorString("#FFFFFF")),E.WHITESMOKE=Object.freeze(E.fromCssColorString("#F5F5F5")),E.YELLOW=Object.freeze(E.fromCssColorString("#FFFF00")),E.YELLOWGREEN=Object.freeze(E.fromCssColorString("#9ACD32")),E.TRANSPARENT=Object.freeze(new E(0,0,0,0)),e.Color=E}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/ComponentDatatype-6d99a1ee.js b/public/GV/thirdParty/CesiumManager/Workers/ComponentDatatype-6d99a1ee.js new file mode 100644 index 000000000..4292f61cb --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/ComponentDatatype-6d99a1ee.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./WebGLConstants-76bb35d1"],function(r,a,e,n){"use strict";var E={BYTE:n.WebGLConstants.BYTE,UNSIGNED_BYTE:n.WebGLConstants.UNSIGNED_BYTE,SHORT:n.WebGLConstants.SHORT,UNSIGNED_SHORT:n.WebGLConstants.UNSIGNED_SHORT,INT:n.WebGLConstants.INT,UNSIGNED_INT:n.WebGLConstants.UNSIGNED_INT,FLOAT:n.WebGLConstants.FLOAT,DOUBLE:n.WebGLConstants.DOUBLE,getSizeInBytes:function(r){switch(r){case E.BYTE:return Int8Array.BYTES_PER_ELEMENT;case E.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case E.SHORT:return Int16Array.BYTES_PER_ELEMENT;case E.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case E.INT:return Int32Array.BYTES_PER_ELEMENT;case E.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case E.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case E.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}},fromTypedArray:function(r){return r instanceof Int8Array?E.BYTE:r instanceof Uint8Array?E.UNSIGNED_BYTE:r instanceof Int16Array?E.SHORT:r instanceof Uint16Array?E.UNSIGNED_SHORT:r instanceof Int32Array?E.INT:r instanceof Uint32Array?E.UNSIGNED_INT:r instanceof Float32Array?E.FLOAT:r instanceof Float64Array?E.DOUBLE:void 0},validate:function(r){return a.defined(r)&&(r===E.BYTE||r===E.UNSIGNED_BYTE||r===E.SHORT||r===E.UNSIGNED_SHORT||r===E.INT||r===E.UNSIGNED_INT||r===E.FLOAT||r===E.DOUBLE)},createTypedArray:function(r,e){switch(r){case E.BYTE:return new Int8Array(e);case E.UNSIGNED_BYTE:return new Uint8Array(e);case E.SHORT:return new Int16Array(e);case E.UNSIGNED_SHORT:return new Uint16Array(e);case E.INT:return new Int32Array(e);case E.UNSIGNED_INT:return new Uint32Array(e);case E.FLOAT:return new Float32Array(e);case E.DOUBLE:return new Float64Array(e)}},createArrayBufferView:function(r,e,n,t){switch(n=a.defaultValue(n,0),t=a.defaultValue(t,(e.byteLength-n)/E.getSizeInBytes(r)),r){case E.BYTE:return new Int8Array(e,n,t);case E.UNSIGNED_BYTE:return new Uint8Array(e,n,t);case E.SHORT:return new Int16Array(e,n,t);case E.UNSIGNED_SHORT:return new Uint16Array(e,n,t);case E.INT:return new Int32Array(e,n,t);case E.UNSIGNED_INT:return new Uint32Array(e,n,t);case E.FLOAT:return new Float32Array(e,n,t);case E.DOUBLE:return new Float64Array(e,n,t)}},fromName:function(r){switch(r){case"BYTE":return E.BYTE;case"UNSIGNED_BYTE":return E.UNSIGNED_BYTE;case"SHORT":return E.SHORT;case"UNSIGNED_SHORT":return E.UNSIGNED_SHORT;case"INT":return E.INT;case"UNSIGNED_INT":return E.UNSIGNED_INT;case"FLOAT":return E.FLOAT;case"DOUBLE":return E.DOUBLE}}},n=Object.freeze(E);r.ComponentDatatype=n}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/CoplanarPolygonGeometryLibrary-2d2c2665.js b/public/GV/thirdParty/CesiumManager/Workers/CoplanarPolygonGeometryLibrary-2d2c2665.js new file mode 100644 index 000000000..29d1ed249 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/CoplanarPolygonGeometryLibrary-2d2c2665.js @@ -0,0 +1 @@ +define(["exports","./Check-6c0211bc","./Cartesian2-bddc1162","./Transforms-d07bb42c","./OrientedBoundingBox-11af7c9d"],function(n,t,g,l,f){"use strict";var e={},i=new g.Cartesian3,x=new g.Cartesian3,B=new g.Cartesian3,P=new g.Cartesian3,M=new f.OrientedBoundingBox;function o(n,t,e,r,a){t=g.Cartesian3.subtract(n,t,i),e=g.Cartesian3.dot(e,t),t=g.Cartesian3.dot(r,t);return g.Cartesian2.fromElements(e,t,a)}e.validOutline=function(n){var t=f.OrientedBoundingBox.fromPoints(n,M).halfAxes,e=l.Matrix3.getColumn(t,0,x),n=l.Matrix3.getColumn(t,1,B),t=l.Matrix3.getColumn(t,2,P),e=g.Cartesian3.magnitude(e),n=g.Cartesian3.magnitude(n),t=g.Cartesian3.magnitude(t);return!(0===e&&(0===n||0===t)||0===n&&0===t)},e.computeProjectTo2DArguments=function(n,t,e,r){var a,i,o=f.OrientedBoundingBox.fromPoints(n,M),u=o.halfAxes,s=l.Matrix3.getColumn(u,0,x),c=l.Matrix3.getColumn(u,1,B),C=l.Matrix3.getColumn(u,2,P),m=g.Cartesian3.magnitude(s),d=g.Cartesian3.magnitude(c),n=g.Cartesian3.magnitude(C),u=Math.min(m,d,n);return(0!==m||0!==d&&0!==n)&&(0!==d||0!==n)&&(u!==d&&u!==n||(a=s),u===m?a=c:u===n&&(i=c),u!==m&&u!==d||(i=C),g.Cartesian3.normalize(a,e),g.Cartesian3.normalize(i,r),g.Cartesian3.clone(o.center,t),!0)},e.createProjectPointsTo2DFunction=function(r,a,i){return function(n){for(var t=new Array(n.length),e=0;e<n.length;e++)t[e]=o(n[e],r,a,i);return t}},e.createProjectPointTo2DFunction=function(e,r,a){return function(n,t){return o(n,e,r,a,t)}},n.CoplanarPolygonGeometryLibrary=e}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/CorridorGeometryLibrary-7feb157b.js b/public/GV/thirdParty/CesiumManager/Workers/CorridorGeometryLibrary-7feb157b.js new file mode 100644 index 000000000..efe3cac42 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/CorridorGeometryLibrary-7feb157b.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./PolylineVolumeGeometryLibrary-abc37e8c","./PolylinePipeline-fa11d71d"],function(a,s,O,R,u,V,Q){"use strict";var e={},U=new R.Cartesian3,d=new R.Cartesian3,p=new R.Cartesian3,m=new R.Cartesian3,G=[new R.Cartesian3,new R.Cartesian3],I=new R.Cartesian3,q=new R.Cartesian3,j=new R.Cartesian3,k=new R.Cartesian3,F=new R.Cartesian3,H=new R.Cartesian3,J=new R.Cartesian3,K=new R.Cartesian3,W=new R.Cartesian3,X=new R.Cartesian3,c=new u.Quaternion,g=new u.Matrix3;function Y(a,e,r,n,t){var i,s=R.Cartesian3.angleBetween(R.Cartesian3.subtract(e,a,U),R.Cartesian3.subtract(r,a,d)),o=n===V.CornerType.BEVELED?1:Math.ceil(s/O.CesiumMath.toRadians(5))+1,n=3*o,C=new Array(n);C[n-3]=r.x,C[n-2]=r.y,C[n-1]=r.z,i=t?u.Matrix3.fromQuaternion(u.Quaternion.fromAxisAngle(R.Cartesian3.negate(a,U),s/o,c),g):u.Matrix3.fromQuaternion(u.Quaternion.fromAxisAngle(a,s/o,c),g);var l=0;e=R.Cartesian3.clone(e,U);for(var y=0;y<o;y++)e=u.Matrix3.multiplyByVector(i,e,e),C[l++]=e.x,C[l++]=e.y,C[l++]=e.z;return C}function Z(a,e,r,n){var t=U;return[(t=(n||(e=R.Cartesian3.negate(e,e)),R.Cartesian3.add(a,e,t))).x,t.y,t.z,r.x,r.y,r.z]}function $(a,e,r,n){for(var t=new Array(a.length),i=new Array(a.length),s=R.Cartesian3.multiplyByScalar(e,r,U),o=R.Cartesian3.negate(s,d),C=0,l=a.length-1,y=0;y<a.length;y+=3){var u=R.Cartesian3.fromArray(a,y,p),c=R.Cartesian3.add(u,o,m);t[C++]=c.x,t[C++]=c.y,t[C++]=c.z;u=R.Cartesian3.add(u,s,m);i[l--]=u.z,i[l--]=u.y,i[l--]=u.x}return n.push(t,i),n}e.addAttribute=function(a,e,r,n){var t=e.x,i=e.y,e=e.z;s.defined(r)&&(a[r]=t,a[r+1]=i,a[r+2]=e),s.defined(n)&&(a[n]=e,a[n-1]=i,a[n-2]=t)};var _=new R.Cartesian3,aa=new R.Cartesian3;e.computePositions=function(a){var e=a.granularity,r=a.positions,n=a.ellipsoid,t=a.width/2,i=a.cornerType,s=a.saveAttributes,o=I,C=q,l=j,y=k,u=F,c=H,d=J,p=K,m=W,g=X,h=[],f=s?[]:void 0,w=s?[]:void 0,z=r[0],x=r[1],C=R.Cartesian3.normalize(R.Cartesian3.subtract(x,z,C),C),o=n.geodeticSurfaceNormal(z,o),y=R.Cartesian3.normalize(R.Cartesian3.cross(o,C,y),y);s&&(f.push(y.x,y.y,y.z),w.push(o.x,o.y,o.z)),d=R.Cartesian3.clone(z,d),z=x,l=R.Cartesian3.negate(C,l);for(var P,A,B,b,v,E,S,D=[],M=r.length,T=1;T<M-1;T++){o=n.geodeticSurfaceNormal(z,o),x=r[T+1],C=R.Cartesian3.normalize(R.Cartesian3.subtract(x,z,C),C),u=R.Cartesian3.normalize(R.Cartesian3.add(C,l,u),u);var N=R.Cartesian3.multiplyByScalar(o,R.Cartesian3.dot(C,o),_);R.Cartesian3.subtract(C,N,N),R.Cartesian3.normalize(N,N);var L=R.Cartesian3.multiplyByScalar(o,R.Cartesian3.dot(l,o),aa);R.Cartesian3.subtract(l,L,L),R.Cartesian3.normalize(L,L),O.CesiumMath.equalsEpsilon(Math.abs(R.Cartesian3.dot(N,L)),1,O.CesiumMath.EPSILON7)||(u=R.Cartesian3.cross(u,o,u),u=R.Cartesian3.cross(o,u,u),u=R.Cartesian3.normalize(u,u),N=t/Math.max(.25,R.Cartesian3.magnitude(R.Cartesian3.cross(u,l,U))),L=V.PolylineVolumeGeometryLibrary.angleIsGreaterThanPi(C,l,z,n),u=R.Cartesian3.multiplyByScalar(u,N,u),L?(p=R.Cartesian3.add(z,u,p),g=R.Cartesian3.add(p,R.Cartesian3.multiplyByScalar(y,t,g),g),m=R.Cartesian3.add(p,R.Cartesian3.multiplyByScalar(y,2*t,m),m),G[0]=R.Cartesian3.clone(d,G[0]),G[1]=R.Cartesian3.clone(g,G[1]),h=$(Q.PolylinePipeline.generateArc({positions:G,granularity:e,ellipsoid:n}),y,t,h),s&&(f.push(y.x,y.y,y.z),w.push(o.x,o.y,o.z)),c=R.Cartesian3.clone(m,c),y=R.Cartesian3.normalize(R.Cartesian3.cross(o,C,y),y),m=R.Cartesian3.add(p,R.Cartesian3.multiplyByScalar(y,2*t,m),m),d=R.Cartesian3.add(p,R.Cartesian3.multiplyByScalar(y,t,d),d),i===V.CornerType.ROUNDED||i===V.CornerType.BEVELED?D.push({leftPositions:Y(p,c,m,i,L)}):D.push({leftPositions:Z(z,R.Cartesian3.negate(u,u),m,L)})):(m=R.Cartesian3.add(z,u,m),g=R.Cartesian3.add(m,R.Cartesian3.negate(R.Cartesian3.multiplyByScalar(y,t,g),g),g),p=R.Cartesian3.add(m,R.Cartesian3.negate(R.Cartesian3.multiplyByScalar(y,2*t,p),p),p),G[0]=R.Cartesian3.clone(d,G[0]),G[1]=R.Cartesian3.clone(g,G[1]),h=$(Q.PolylinePipeline.generateArc({positions:G,granularity:e,ellipsoid:n}),y,t,h),s&&(f.push(y.x,y.y,y.z),w.push(o.x,o.y,o.z)),c=R.Cartesian3.clone(p,c),y=R.Cartesian3.normalize(R.Cartesian3.cross(o,C,y),y),p=R.Cartesian3.add(m,R.Cartesian3.negate(R.Cartesian3.multiplyByScalar(y,2*t,p),p),p),d=R.Cartesian3.add(m,R.Cartesian3.negate(R.Cartesian3.multiplyByScalar(y,t,d),d),d),i===V.CornerType.ROUNDED||i===V.CornerType.BEVELED?D.push({rightPositions:Y(m,c,p,i,L)}):D.push({rightPositions:Z(z,u,p,L)})),l=R.Cartesian3.negate(C,l)),z=x}return o=n.geodeticSurfaceNormal(z,o),G[0]=R.Cartesian3.clone(d,G[0]),G[1]=R.Cartesian3.clone(z,G[1]),h=$(Q.PolylinePipeline.generateArc({positions:G,granularity:e,ellipsoid:n}),y,t,h),s&&(f.push(y.x,y.y,y.z),w.push(o.x,o.y,o.z)),i===V.CornerType.ROUNDED&&(A=I,B=q,b=j,v=(P=h)[1],B=R.Cartesian3.fromArray(P[1],v.length-3,B),b=R.Cartesian3.fromArray(P[0],0,b),E=Y(A=R.Cartesian3.midpoint(B,b,A),B,b,V.CornerType.ROUNDED,!1),S=P.length-1,a=P[S-1],v=P[S],B=R.Cartesian3.fromArray(a,a.length-3,B),b=R.Cartesian3.fromArray(v,0,b),b=[E,Y(A=R.Cartesian3.midpoint(B,b,A),B,b,V.CornerType.ROUNDED,!1)]),{positions:h,corners:D,lefts:f,normals:w,endPositions:b}},a.CorridorGeometryLibrary=e}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/CylinderGeometry-e0cec806.js b/public/GV/thirdParty/CesiumManager/Workers/CylinderGeometry-e0cec806.js new file mode 100644 index 000000000..6be68783a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/CylinderGeometry-e0cec806.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./CylinderGeometryLibrary-b0214ab1"],function(t,P,e,k,M,z,E,N,I,U,S,m,B){"use strict";var Y=new M.Cartesian2,Z=new M.Cartesian3,J=new M.Cartesian3,W=new M.Cartesian3,j=new M.Cartesian3;function u(t){var e=(t=P.defaultValue(t,P.defaultValue.EMPTY_OBJECT)).length,a=t.topRadius,r=t.bottomRadius,n=P.defaultValue(t.vertexFormat,m.VertexFormat.DEFAULT),o=P.defaultValue(t.slices,128);this._length=e,this._topRadius=a,this._bottomRadius=r,this._vertexFormat=m.VertexFormat.clone(n),this._slices=o,this._offsetAttribute=t.offsetAttribute,this._workerName="createCylinderGeometry"}u.packedLength=m.VertexFormat.packedLength+5,u.pack=function(t,e,a){return a=P.defaultValue(a,0),m.VertexFormat.pack(t._vertexFormat,e,a),a+=m.VertexFormat.packedLength,e[a++]=t._length,e[a++]=t._topRadius,e[a++]=t._bottomRadius,e[a++]=t._slices,e[a]=P.defaultValue(t._offsetAttribute,-1),e};var a,d=new m.VertexFormat,f={vertexFormat:d,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};u.unpack=function(t,e,a){e=P.defaultValue(e,0);var r=m.VertexFormat.unpack(t,e,d);e+=m.VertexFormat.packedLength;var n=t[e++],o=t[e++],i=t[e++],s=t[e++],e=t[e];return P.defined(a)?(a._vertexFormat=m.VertexFormat.clone(r,a._vertexFormat),a._length=n,a._topRadius=o,a._bottomRadius=i,a._slices=s,a._offsetAttribute=-1===e?void 0:e,a):(f.length=n,f.topRadius=o,f.bottomRadius=i,f.slices=s,f.offsetAttribute=-1===e?void 0:e,new u(f))},u.createGeometry=function(t){var e=t._length,a=t._topRadius,r=t._bottomRadius,n=t._vertexFormat,o=t._slices;if(!(e<=0||a<0||r<0||0===a&&0===r)){var i=o+o,s=o+i,m=i+i,u=B.CylinderGeometryLibrary.computePositions(e,a,r,o,!0),d=n.st?new Float32Array(2*m):void 0,f=n.normal?new Float32Array(3*m):void 0,p=n.tangent?new Float32Array(3*m):void 0,y=n.bitangent?new Float32Array(3*m):void 0,c=n.normal||n.tangent||n.bitangent;if(c){var l=n.tangent||n.bitangent,b=0,v=0,A=0,g=Math.atan2(r-a,e),h=Z;h.z=Math.sin(g);for(var x=Math.cos(g),_=W,C=J,F=0;F<o;F++){var w=F/o*k.CesiumMath.TWO_PI,G=x*Math.cos(w),w=x*Math.sin(w);c&&(h.x=G,h.y=w,l&&(_=M.Cartesian3.normalize(M.Cartesian3.cross(M.Cartesian3.UNIT_Z,h,_),_)),n.normal&&(f[b++]=h.x,f[b++]=h.y,f[b++]=h.z,f[b++]=h.x,f[b++]=h.y,f[b++]=h.z),n.tangent&&(p[v++]=_.x,p[v++]=_.y,p[v++]=_.z,p[v++]=_.x,p[v++]=_.y,p[v++]=_.z),n.bitangent&&(C=M.Cartesian3.normalize(M.Cartesian3.cross(h,_,C),C),y[A++]=C.x,y[A++]=C.y,y[A++]=C.z,y[A++]=C.x,y[A++]=C.y,y[A++]=C.z))}for(F=0;F<o;F++)n.normal&&(f[b++]=0,f[b++]=0,f[b++]=-1),n.tangent&&(p[v++]=1,p[v++]=0,p[v++]=0),n.bitangent&&(y[A++]=0,y[A++]=-1,y[A++]=0);for(F=0;F<o;F++)n.normal&&(f[b++]=0,f[b++]=0,f[b++]=1),n.tangent&&(p[v++]=1,p[v++]=0,p[v++]=0),n.bitangent&&(y[A++]=0,y[A++]=1,y[A++]=0)}var g=12*o-12,D=U.IndexDatatype.createTypedArray(m,g),R=0,V=0;for(F=0;F<o-1;F++)D[R++]=V,D[R++]=V+2,D[R++]=V+3,D[R++]=V,D[R++]=V+3,D[R++]=V+1,V+=2;for(D[R++]=i-2,D[R++]=0,D[R++]=1,D[R++]=i-2,D[R++]=1,D[R++]=i-1,F=1;F<o-1;F++)D[R++]=i+F+1,D[R++]=i+F,D[R++]=i;for(F=1;F<o-1;F++)D[R++]=s,D[R++]=s+F,D[R++]=s+F+1;var T=0;if(n.st){var O=Math.max(a,r);for(F=0;F<m;F++){var L=M.Cartesian3.fromArray(u,3*F,j);d[T++]=(L.x+O)/(2*O),d[T++]=(L.y+O)/(2*O)}}g=new I.GeometryAttributes;n.position&&(g.position=new N.GeometryAttribute({componentDatatype:E.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:u})),n.normal&&(g.normal=new N.GeometryAttribute({componentDatatype:E.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:f})),n.tangent&&(g.tangent=new N.GeometryAttribute({componentDatatype:E.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:p})),n.bitangent&&(g.bitangent=new N.GeometryAttribute({componentDatatype:E.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:y})),n.st&&(g.st=new N.GeometryAttribute({componentDatatype:E.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:d})),Y.x=.5*e,Y.y=Math.max(r,a);r=new z.BoundingSphere(M.Cartesian3.ZERO,M.Cartesian2.magnitude(Y));return P.defined(t._offsetAttribute)&&(e=u.length,a=new Uint8Array(e/3),e=t._offsetAttribute===S.GeometryOffsetAttribute.NONE?0:1,S.arrayFill(a,e),g.applyOffset=new N.GeometryAttribute({componentDatatype:E.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:a})),new N.Geometry({attributes:g,indices:D,primitiveType:N.PrimitiveType.TRIANGLES,boundingSphere:r,offsetAttribute:t._offsetAttribute})}},u.getUnitCylinder=function(){return P.defined(a)||(a=u.createGeometry(new u({topRadius:1,bottomRadius:1,length:1,vertexFormat:m.VertexFormat.POSITION_ONLY}))),a},t.CylinderGeometry=u}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/CylinderGeometryLibrary-b0214ab1.js b/public/GV/thirdParty/CesiumManager/Workers/CylinderGeometryLibrary-b0214ab1.js new file mode 100644 index 000000000..5674dc9d2 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/CylinderGeometryLibrary-b0214ab1.js @@ -0,0 +1 @@ +define(["exports","./Math-fc8cecf5"],function(r,l){"use strict";var t={computePositions:function(r,t,e,a,i){for(var n=.5*r,o=-n,r=a+a,c=new Float64Array(3*(i?2*r:r)),s=0,f=0,u=i?3*r:0,h=i?3*(r+a):3*a,y=0;y<a;y++){var M=y/a*l.CesiumMath.TWO_PI,m=Math.cos(M),v=Math.sin(M),d=m*e,M=v*e,m=m*t,v=v*t;c[f+u]=d,c[f+u+1]=M,c[f+u+2]=o,c[f+h]=m,c[f+h+1]=v,c[f+h+2]=n,f+=3,i&&(c[s++]=d,c[s++]=M,c[s++]=o,c[s++]=m,c[s++]=v,c[s++]=n)}return c}};r.CylinderGeometryLibrary=t}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/EllipseGeometry-1afae560.js b/public/GV/thirdParty/CesiumManager/Workers/EllipseGeometry-1afae560.js new file mode 100644 index 000000000..5d69868f2 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/EllipseGeometry-1afae560.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./GeometryPipeline-c2d75081","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./EllipseGeometryLibrary-55d6b793","./GeometryInstance-161eaba2"],function(t,L,e,c,R,j,k,z,B,m,p,Y,d,H,y){"use strict";var U=new R.Cartesian3,Q=new R.Cartesian3,W=new R.Cartesian3,S=new R.Cartesian3,J=new R.Cartesian2,q=new j.Matrix3,Z=new j.Matrix3,K=new j.Quaternion,X=new R.Cartesian3,$=new R.Cartesian3,tt=new R.Cartesian3,et=new R.Cartographic,rt=new R.Cartesian3,at=new R.Cartesian2,it=new R.Cartesian2;function f(t,e,r){var a=e.vertexFormat,i=e.center,n=e.semiMajorAxis,o=e.semiMinorAxis,s=e.ellipsoid,u=e.stRotation,l=r?t.length/3*2:t.length/3,m=e.shadowVolume,c=a.st?new Float32Array(2*l):void 0,p=a.normal?new Float32Array(3*l):void 0,y=a.tangent?new Float32Array(3*l):void 0,d=a.bitangent?new Float32Array(3*l):void 0,f=m?new Float32Array(3*l):void 0,A=0,h=X,x=$,g=tt,_=new j.GeographicProjection(s),b=_.project(s.cartesianToCartographic(i,et),rt),i=s.scaleToGeodeticSurface(i,U);s.geodeticSurfaceNormal(i,i);var C=q,v=Z;v=0!==u?(S=j.Quaternion.fromAxisAngle(i,u,K),C=j.Matrix3.fromQuaternion(S,C),S=j.Quaternion.fromAxisAngle(i,-u,K),j.Matrix3.fromQuaternion(S,v)):(C=j.Matrix3.clone(j.Matrix3.IDENTITY,C),j.Matrix3.clone(j.Matrix3.IDENTITY,v));for(var w=R.Cartesian2.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,at),M=R.Cartesian2.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,it),E=t.length,I=r?E:0,T=I/3*2,G=0;G<E;G+=3){var N,P=G+1,F=G+2,V=R.Cartesian3.fromArray(t,G,U);a.st&&(N=j.Matrix3.multiplyByVector(C,V,Q),N=_.project(s.cartesianToCartographic(N,et),W),R.Cartesian3.subtract(N,b,N),J.x=(N.x+n)/(2*n),J.y=(N.y+o)/(2*o),w.x=Math.min(J.x,w.x),w.y=Math.min(J.y,w.y),M.x=Math.max(J.x,M.x),M.y=Math.max(J.y,M.y),r&&(c[A+T]=J.x,c[A+1+T]=J.y),c[A++]=J.x,c[A++]=J.y),(a.normal||a.tangent||a.bitangent||m)&&(h=s.geodeticSurfaceNormal(V,h),m&&(f[G+I]=-h.x,f[P+I]=-h.y,f[F+I]=-h.z),(a.normal||a.tangent||a.bitangent)&&((a.tangent||a.bitangent)&&(x=R.Cartesian3.normalize(R.Cartesian3.cross(R.Cartesian3.UNIT_Z,h,x),x),j.Matrix3.multiplyByVector(v,x,x)),a.normal&&(p[G]=h.x,p[P]=h.y,p[F]=h.z,r&&(p[G+I]=-h.x,p[P+I]=-h.y,p[F+I]=-h.z)),a.tangent&&(y[G]=x.x,y[P]=x.y,y[F]=x.z,r&&(y[G+I]=-x.x,y[P+I]=-x.y,y[F+I]=-x.z)),a.bitangent&&(g=R.Cartesian3.normalize(R.Cartesian3.cross(h,x,g),g),d[G]=g.x,d[P]=g.y,d[F]=g.z,r&&(d[G+I]=g.x,d[P+I]=g.y,d[F+I]=g.z))))}if(a.st){E=c.length;for(var D=0;D<E;D+=2)c[D]=(c[D]-w.x)/(M.x-w.x),c[D+1]=(c[D+1]-w.y)/(M.y-w.y)}var O,S=new B.GeometryAttributes;return a.position&&(O=H.EllipseGeometryLibrary.raisePositionsToHeight(t,e,r),S.position=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:O})),a.st&&(S.st=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:c})),a.normal&&(S.normal=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:p})),a.tangent&&(S.tangent=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:y})),a.bitangent&&(S.bitangent=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:d})),m&&(S.extrudeDirection=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:f})),r&&L.defined(e.offsetAttribute)&&(O=new Uint8Array(l),O=e.offsetAttribute===Y.GeometryOffsetAttribute.TOP?Y.arrayFill(O,1,0,l/2):(e=e.offsetAttribute===Y.GeometryOffsetAttribute.NONE?0:1,Y.arrayFill(O,e)),S.applyOffset=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:O})),S}function A(t){for(var e,r,a=new Array(t*(t+1)*12-6),i=0,n=0,o=1,s=0;s<3;s++)a[i++]=o++,a[i++]=n,a[i++]=o;for(s=2;s<t+1;++s){for(o=s*(s+1)-1,n=(s-1)*s-1,a[i++]=o++,a[i++]=n,a[i++]=o,e=2*s,r=0;r<e-1;++r)a[i++]=o,a[i++]=n++,a[i++]=n,a[i++]=o++,a[i++]=n,a[i++]=o;a[i++]=o++,a[i++]=n,a[i++]=o}for(e=2*t,++o,++n,s=0;s<e-1;++s)a[i++]=o,a[i++]=n++,a[i++]=n,a[i++]=o++,a[i++]=n,a[i++]=o;for(a[i++]=o,a[i++]=n++,a[i++]=n,a[i++]=o++,a[i++]=n++,a[i++]=n,++n,s=t-1;1<s;--s){for(a[i++]=n++,a[i++]=n,a[i++]=o,e=2*s,r=0;r<e-1;++r)a[i++]=o,a[i++]=n++,a[i++]=n,a[i++]=o++,a[i++]=n,a[i++]=o;a[i++]=n++,a[i++]=n++,a[i++]=o++}for(s=0;s<3;s++)a[i++]=n++,a[i++]=n,a[i++]=o;return a}var n=new R.Cartesian3;var h=new j.BoundingSphere,x=new j.BoundingSphere;function o(t){var e=t.center,r=t.ellipsoid,a=t.semiMajorAxis,i=R.Cartesian3.multiplyByScalar(r.geodeticSurfaceNormal(e,U),t.height,U);h.center=R.Cartesian3.add(e,i,h.center),h.radius=a,i=R.Cartesian3.multiplyByScalar(r.geodeticSurfaceNormal(e,i),t.extrudedHeight,i),x.center=R.Cartesian3.add(e,i,x.center),x.radius=a;var n=H.EllipseGeometryLibrary.computeEllipsePositions(t,!0,!0),r=n.positions,e=n.numPts,i=n.outerPositions,a=j.BoundingSphere.union(h,x),n=f(r,t,!0),o=(l=A(e)).length;l.length=2*o;for(var s=r.length/3,u=0;u<o;u+=3)l[u+o]=l[u+2]+s,l[u+1+o]=l[u+1]+s,l[u+2+o]=l[u]+s;var r=p.IndexDatatype.createTypedArray(2*s/3,l),r=new z.Geometry({attributes:n,indices:r,primitiveType:z.PrimitiveType.TRIANGLES}),t=function(t,e){var r=e.vertexFormat,a=e.center,i=e.semiMajorAxis,n=e.semiMinorAxis,o=e.ellipsoid,s=e.height,u=e.extrudedHeight,l=e.stRotation,m=t.length/3*2,c=new Float64Array(3*m),p=r.st?new Float32Array(2*m):void 0,y=r.normal?new Float32Array(3*m):void 0,d=r.tangent?new Float32Array(3*m):void 0,f=r.bitangent?new Float32Array(3*m):void 0,A=e.shadowVolume,h=A?new Float32Array(3*m):void 0,x=0,g=X,_=$,b=tt,C=new j.GeographicProjection(o),v=C.project(o.cartesianToCartographic(a,et),rt),a=o.scaleToGeodeticSurface(a,U);o.geodeticSurfaceNormal(a,a);for(var a=j.Quaternion.fromAxisAngle(a,l,K),w=j.Matrix3.fromQuaternion(a,q),M=R.Cartesian2.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,at),E=R.Cartesian2.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,it),I=t.length,T=I/3*2,G=0;G<I;G+=3){var N=G+1,P=G+2,F=R.Cartesian3.fromArray(t,G,U);r.st&&(D=j.Matrix3.multiplyByVector(w,F,Q),V=C.project(o.cartesianToCartographic(D,et),W),R.Cartesian3.subtract(V,v,V),J.x=(V.x+i)/(2*i),J.y=(V.y+n)/(2*n),M.x=Math.min(J.x,M.x),M.y=Math.min(J.y,M.y),E.x=Math.max(J.x,E.x),E.y=Math.max(J.y,E.y),p[x+T]=J.x,p[x+1+T]=J.y,p[x++]=J.x,p[x++]=J.y),F=o.scaleToGeodeticSurface(F,F),D=R.Cartesian3.clone(F,Q),g=o.geodeticSurfaceNormal(F,g),A&&(h[G+I]=-g.x,h[N+I]=-g.y,h[P+I]=-g.z);var V=R.Cartesian3.multiplyByScalar(g,s,S),F=R.Cartesian3.add(F,V,F),V=R.Cartesian3.multiplyByScalar(g,u,V),D=R.Cartesian3.add(D,V,D);r.position&&(c[G+I]=D.x,c[N+I]=D.y,c[P+I]=D.z,c[G]=F.x,c[N]=F.y,c[P]=F.z),(r.normal||r.tangent||r.bitangent)&&(b=R.Cartesian3.clone(g,b),V=R.Cartesian3.fromArray(t,(G+3)%I,S),R.Cartesian3.subtract(V,F,V),F=R.Cartesian3.subtract(D,F,W),g=R.Cartesian3.normalize(R.Cartesian3.cross(F,V,g),g),r.normal&&(y[G]=g.x,y[N]=g.y,y[P]=g.z,y[G+I]=g.x,y[N+I]=g.y,y[P+I]=g.z),r.tangent&&(_=R.Cartesian3.normalize(R.Cartesian3.cross(b,g,_),_),d[G]=_.x,d[N]=_.y,d[P]=_.z,d[G+I]=_.x,d[G+1+I]=_.y,d[G+2+I]=_.z),r.bitangent&&(f[G]=b.x,f[N]=b.y,f[P]=b.z,f[G+I]=b.x,f[N+I]=b.y,f[P+I]=b.z))}if(r.st){I=p.length;for(var O=0;O<I;O+=2)p[O]=(p[O]-M.x)/(E.x-M.x),p[O+1]=(p[O+1]-M.y)/(E.y-M.y)}return l=new B.GeometryAttributes,r.position&&(l.position=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:c})),r.st&&(l.st=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:p})),r.normal&&(l.normal=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:y})),r.tangent&&(l.tangent=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:d})),r.bitangent&&(l.bitangent=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:f})),A&&(l.extrudeDirection=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:h})),L.defined(e.offsetAttribute)&&(a=new Uint8Array(m),a=e.offsetAttribute===Y.GeometryOffsetAttribute.TOP?Y.arrayFill(a,1,0,m/2):(e=e.offsetAttribute===Y.GeometryOffsetAttribute.NONE?0:1,Y.arrayFill(a,e)),l.applyOffset=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:a})),l}(i,t),l=function(t){for(var e=t.length/3,r=p.IndexDatatype.createTypedArray(e,6*e),a=0,i=0;i<e;i++){var n=i+e,o=(i+1)%e,s=o+e;r[a++]=i,r[a++]=n,r[a++]=o,r[a++]=o,r[a++]=n,r[a++]=s}return r}(i),i=p.IndexDatatype.createTypedArray(2*i.length/3,l),i=new z.Geometry({attributes:t,indices:i,primitiveType:z.PrimitiveType.TRIANGLES}),i=m.GeometryPipeline.combineInstances([new y.GeometryInstance({geometry:r}),new y.GeometryInstance({geometry:i})]);return{boundingSphere:a,attributes:i[0].attributes,indices:i[0].indices}}function s(t,e,r,a,i,n,o){for(var s=H.EllipseGeometryLibrary.computeEllipsePositions({center:t,semiMajorAxis:e,semiMinorAxis:r,rotation:a,granularity:i},!1,!0).outerPositions,u=s.length/3,l=new Array(u),m=0;m<u;++m)l[m]=R.Cartesian3.fromArray(s,3*m);o=R.Rectangle.fromCartesianArray(l,n,o);return o.width>c.CesiumMath.PI&&(o.north=0<o.north?c.CesiumMath.PI_OVER_TWO-c.CesiumMath.EPSILON7:o.north,o.south=o.south<0?c.CesiumMath.EPSILON7-c.CesiumMath.PI_OVER_TWO:o.south,o.east=c.CesiumMath.PI,o.west=-c.CesiumMath.PI),o}function g(t){var e=(t=L.defaultValue(t,L.defaultValue.EMPTY_OBJECT)).center,r=L.defaultValue(t.ellipsoid,R.Ellipsoid.WGS84),a=t.semiMajorAxis,i=t.semiMinorAxis,n=L.defaultValue(t.granularity,c.CesiumMath.RADIANS_PER_DEGREE),o=L.defaultValue(t.vertexFormat,d.VertexFormat.DEFAULT),s=L.defaultValue(t.height,0),u=L.defaultValue(t.extrudedHeight,s);this._center=R.Cartesian3.clone(e),this._semiMajorAxis=a,this._semiMinorAxis=i,this._ellipsoid=R.Ellipsoid.clone(r),this._rotation=L.defaultValue(t.rotation,0),this._stRotation=L.defaultValue(t.stRotation,0),this._height=Math.max(u,s),this._granularity=n,this._vertexFormat=d.VertexFormat.clone(o),this._extrudedHeight=Math.min(u,s),this._shadowVolume=L.defaultValue(t.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=t.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}g.packedLength=R.Cartesian3.packedLength+R.Ellipsoid.packedLength+d.VertexFormat.packedLength+9,g.pack=function(t,e,r){return r=L.defaultValue(r,0),R.Cartesian3.pack(t._center,e,r),r+=R.Cartesian3.packedLength,R.Ellipsoid.pack(t._ellipsoid,e,r),r+=R.Ellipsoid.packedLength,d.VertexFormat.pack(t._vertexFormat,e,r),r+=d.VertexFormat.packedLength,e[r++]=t._semiMajorAxis,e[r++]=t._semiMinorAxis,e[r++]=t._rotation,e[r++]=t._stRotation,e[r++]=t._height,e[r++]=t._granularity,e[r++]=t._extrudedHeight,e[r++]=t._shadowVolume?1:0,e[r]=L.defaultValue(t._offsetAttribute,-1),e};var _=new R.Cartesian3,b=new R.Ellipsoid,C=new d.VertexFormat,v={center:_,ellipsoid:b,vertexFormat:C,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};g.unpack=function(t,e,r){e=L.defaultValue(e,0);var a=R.Cartesian3.unpack(t,e,_);e+=R.Cartesian3.packedLength;var i=R.Ellipsoid.unpack(t,e,b);e+=R.Ellipsoid.packedLength;var n=d.VertexFormat.unpack(t,e,C);e+=d.VertexFormat.packedLength;var o=t[e++],s=t[e++],u=t[e++],l=t[e++],m=t[e++],c=t[e++],p=t[e++],y=1===t[e++],e=t[e];return L.defined(r)?(r._center=R.Cartesian3.clone(a,r._center),r._ellipsoid=R.Ellipsoid.clone(i,r._ellipsoid),r._vertexFormat=d.VertexFormat.clone(n,r._vertexFormat),r._semiMajorAxis=o,r._semiMinorAxis=s,r._rotation=u,r._stRotation=l,r._height=m,r._granularity=c,r._extrudedHeight=p,r._shadowVolume=y,r._offsetAttribute=-1===e?void 0:e,r):(v.height=m,v.extrudedHeight=p,v.granularity=c,v.stRotation=l,v.rotation=u,v.semiMajorAxis=o,v.semiMinorAxis=s,v.shadowVolume=y,v.offsetAttribute=-1===e?void 0:e,new g(v))},g.computeRectangle=function(t,e){var r=(t=L.defaultValue(t,L.defaultValue.EMPTY_OBJECT)).center,a=L.defaultValue(t.ellipsoid,R.Ellipsoid.WGS84),i=t.semiMajorAxis,n=t.semiMinorAxis,o=L.defaultValue(t.granularity,c.CesiumMath.RADIANS_PER_DEGREE);return s(r,i,n,L.defaultValue(t.rotation,0),o,a,e)},g.createGeometry=function(t){if(!(t._semiMajorAxis<=0||t._semiMinorAxis<=0)){var e=t._height,r=t._extrudedHeight,a=!c.CesiumMath.equalsEpsilon(e,r,0,c.CesiumMath.EPSILON2);t._center=t._ellipsoid.scaleToGeodeticSurface(t._center,t._center);var i,e={center:t._center,semiMajorAxis:t._semiMajorAxis,semiMinorAxis:t._semiMinorAxis,ellipsoid:t._ellipsoid,rotation:t._rotation,height:e,granularity:t._granularity,vertexFormat:t._vertexFormat,stRotation:t._stRotation};return a?(e.extrudedHeight=r,e.shadowVolume=t._shadowVolume,e.offsetAttribute=t._offsetAttribute,i=o(e)):(i=function(t){var e=t.center;n=R.Cartesian3.multiplyByScalar(t.ellipsoid.geodeticSurfaceNormal(e,n),t.height,n),n=R.Cartesian3.add(e,n,n);var r=new j.BoundingSphere(n,t.semiMajorAxis),e=(a=H.EllipseGeometryLibrary.computeEllipsePositions(t,!0,!1)).positions,a=a.numPts,t=f(e,t,!1),a=A(a);return{boundingSphere:r,attributes:t,indices:a=p.IndexDatatype.createTypedArray(e.length/3,a)}}(e),L.defined(t._offsetAttribute)&&(r=i.attributes.position.values.length,e=new Uint8Array(r/3),r=t._offsetAttribute===Y.GeometryOffsetAttribute.NONE?0:1,Y.arrayFill(e,r),i.attributes.applyOffset=new z.GeometryAttribute({componentDatatype:k.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:e}))),new z.Geometry({attributes:i.attributes,indices:i.indices,primitiveType:z.PrimitiveType.TRIANGLES,boundingSphere:i.boundingSphere,offsetAttribute:t._offsetAttribute})}},g.createShadowVolume=function(t,e,r){var a=t._granularity,i=t._ellipsoid,e=e(a,i),r=r(a,i);return new g({center:t._center,semiMajorAxis:t._semiMajorAxis,semiMinorAxis:t._semiMinorAxis,ellipsoid:i,rotation:t._rotation,stRotation:t._stRotation,granularity:a,extrudedHeight:e,height:r,vertexFormat:d.VertexFormat.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(g.prototype,{rectangle:{get:function(){return L.defined(this._rectangle)||(this._rectangle=s(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return L.defined(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=function(t){var e=-t._stRotation;if(0==e)return[0,0,0,1,1,0];for(var r=H.EllipseGeometryLibrary.computeEllipsePositions({center:t._center,semiMajorAxis:t._semiMajorAxis,semiMinorAxis:t._semiMinorAxis,rotation:t._rotation,granularity:t._granularity},!1,!0).outerPositions,a=r.length/3,i=new Array(a),n=0;n<a;++n)i[n]=R.Cartesian3.fromArray(r,3*n);var o=t._ellipsoid,t=t.rectangle;return z.Geometry._textureCoordinateRotationPoints(i,e,o,t)}(this)),this._textureCoordinateRotationPoints}}}),t.EllipseGeometry=g}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/EllipseGeometryLibrary-55d6b793.js b/public/GV/thirdParty/CesiumManager/Workers/EllipseGeometryLibrary-55d6b793.js new file mode 100644 index 000000000..2dd5e75f6 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/EllipseGeometryLibrary-55d6b793.js @@ -0,0 +1 @@ +define(["exports","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c"],function(a,E,V,y){"use strict";var e={},u=new V.Cartesian3,c=new V.Cartesian3,m=new y.Quaternion,h=new y.Matrix3;function A(a,e,r,t,i,n,s,o,l,C){e=a+e;V.Cartesian3.multiplyByScalar(t,Math.cos(e),u),V.Cartesian3.multiplyByScalar(r,Math.sin(e),c),V.Cartesian3.add(u,c,u);e=Math.cos(a);e*=e;a=Math.sin(a);a*=a;a=n/Math.sqrt(s*e+i*a)/o;return y.Quaternion.fromAxisAngle(u,a,m),y.Matrix3.fromQuaternion(m,h),y.Matrix3.multiplyByVector(h,l,C),V.Cartesian3.normalize(C,C),V.Cartesian3.multiplyByScalar(C,o,C),C}var R=new V.Cartesian3,W=new V.Cartesian3,S=new V.Cartesian3,M=new V.Cartesian3;e.raisePositionsToHeight=function(a,e,r){for(var t=e.ellipsoid,i=e.height,n=e.extrudedHeight,e=r?a.length/3*2:a.length/3,s=new Float64Array(3*e),o=a.length,l=r?o:0,C=0;C<o;C+=3){var y=C+1,u=C+2,c=V.Cartesian3.fromArray(a,C,R);t.scaleToGeodeticSurface(c,c);var m=V.Cartesian3.clone(c,W),h=t.geodeticSurfaceNormal(c,M),x=V.Cartesian3.multiplyByScalar(h,i,S);V.Cartesian3.add(c,x,c),r&&(V.Cartesian3.multiplyByScalar(h,n,x),V.Cartesian3.add(m,x,m),s[C+l]=m.x,s[y+l]=m.y,s[u+l]=m.z),s[C]=c.x,s[y]=c.y,s[u]=c.z}return s};var B=new V.Cartesian3,b=new V.Cartesian3,Q=new V.Cartesian3;e.computeEllipsePositions=function(a,e,r){var t=a.semiMinorAxis,i=a.semiMajorAxis,n=a.rotation,s=a.center,a=8*a.granularity,o=t*t,l=i*i,C=i*t,y=V.Cartesian3.magnitude(s),u=V.Cartesian3.normalize(s,B),c=V.Cartesian3.cross(V.Cartesian3.UNIT_Z,s,b),c=V.Cartesian3.normalize(c,c),m=V.Cartesian3.cross(u,c,Q),h=1+Math.ceil(E.CesiumMath.PI_OVER_TWO/a),x=E.CesiumMath.PI_OVER_TWO/(h-1),M=E.CesiumMath.PI_OVER_TWO-h*x;M<0&&(h-=Math.ceil(Math.abs(M)/x));var f,z,d,_,O,p=e?new Array(3*(h*(h+2)*2)):void 0,w=0,P=R,T=W,a=4*h*3,I=a-1,g=0,v=r?new Array(a):void 0,P=A(M=E.CesiumMath.PI_OVER_TWO,n,m,c,o,C,l,y,u,P);for(e&&(p[w++]=P.x,p[w++]=P.y,p[w++]=P.z),r&&(v[I--]=P.z,v[I--]=P.y,v[I--]=P.x),M=E.CesiumMath.PI_OVER_TWO-x,f=1;f<h+1;++f){if(P=A(M,n,m,c,o,C,l,y,u,P),T=A(Math.PI-M,n,m,c,o,C,l,y,u,T),e){for(p[w++]=P.x,p[w++]=P.y,p[w++]=P.z,d=2*f+2,z=1;z<d-1;++z)_=z/(d-1),O=V.Cartesian3.lerp(P,T,_,S),p[w++]=O.x,p[w++]=O.y,p[w++]=O.z;p[w++]=T.x,p[w++]=T.y,p[w++]=T.z}r&&(v[I--]=P.z,v[I--]=P.y,v[I--]=P.x,v[g++]=T.x,v[g++]=T.y,v[g++]=T.z),M=E.CesiumMath.PI_OVER_TWO-(f+1)*x}for(f=h;1<f;--f){if(P=A(-(M=E.CesiumMath.PI_OVER_TWO-(f-1)*x),n,m,c,o,C,l,y,u,P),T=A(M+Math.PI,n,m,c,o,C,l,y,u,T),e){for(p[w++]=P.x,p[w++]=P.y,p[w++]=P.z,d=2*(f-1)+2,z=1;z<d-1;++z)_=z/(d-1),O=V.Cartesian3.lerp(P,T,_,S),p[w++]=O.x,p[w++]=O.y,p[w++]=O.z;p[w++]=T.x,p[w++]=T.y,p[w++]=T.z}r&&(v[I--]=P.z,v[I--]=P.y,v[I--]=P.x,v[g++]=T.x,v[g++]=T.y,v[g++]=T.z)}P=A(-(M=E.CesiumMath.PI_OVER_TWO),n,m,c,o,C,l,y,u,P);a={};return e&&(p[w++]=P.x,p[w++]=P.y,p[w++]=P.z,a.positions=p,a.numPts=h),r&&(v[I--]=P.z,v[I--]=P.y,v[I--]=P.x,a.outerPositions=v),a},a.EllipseGeometryLibrary=e}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/EllipseOutlineGeometry-19397c29.js b/public/GV/thirdParty/CesiumManager/Workers/EllipseOutlineGeometry-19397c29.js new file mode 100644 index 000000000..b8b67832f --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/EllipseOutlineGeometry-19397c29.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./EllipseGeometryLibrary-55d6b793"],function(e,c,t,f,m,h,y,b,A,_,g,x){"use strict";var E=new m.Cartesian3,s=new m.Cartesian3;var v=new h.BoundingSphere,M=new h.BoundingSphere;function C(e){var t=(e=c.defaultValue(e,c.defaultValue.EMPTY_OBJECT)).center,i=c.defaultValue(e.ellipsoid,m.Ellipsoid.WGS84),r=e.semiMajorAxis,a=e.semiMinorAxis,n=c.defaultValue(e.granularity,f.CesiumMath.RADIANS_PER_DEGREE),o=c.defaultValue(e.height,0),s=c.defaultValue(e.extrudedHeight,o);this._center=m.Cartesian3.clone(t),this._semiMajorAxis=r,this._semiMinorAxis=a,this._ellipsoid=m.Ellipsoid.clone(i),this._rotation=c.defaultValue(e.rotation,0),this._height=Math.max(s,o),this._granularity=n,this._extrudedHeight=Math.min(s,o),this._numberOfVerticalLines=Math.max(c.defaultValue(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}C.packedLength=m.Cartesian3.packedLength+m.Ellipsoid.packedLength+8,C.pack=function(e,t,i){return i=c.defaultValue(i,0),m.Cartesian3.pack(e._center,t,i),i+=m.Cartesian3.packedLength,m.Ellipsoid.pack(e._ellipsoid,t,i),i+=m.Ellipsoid.packedLength,t[i++]=e._semiMajorAxis,t[i++]=e._semiMinorAxis,t[i++]=e._rotation,t[i++]=e._height,t[i++]=e._granularity,t[i++]=e._extrudedHeight,t[i++]=e._numberOfVerticalLines,t[i]=c.defaultValue(e._offsetAttribute,-1),t};var G=new m.Cartesian3,L=new m.Ellipsoid,O={center:G,ellipsoid:L,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};C.unpack=function(e,t,i){t=c.defaultValue(t,0);var r=m.Cartesian3.unpack(e,t,G);t+=m.Cartesian3.packedLength;var a=m.Ellipsoid.unpack(e,t,L);t+=m.Ellipsoid.packedLength;var n=e[t++],o=e[t++],s=e[t++],u=e[t++],l=e[t++],d=e[t++],p=e[t++],t=e[t];return c.defined(i)?(i._center=m.Cartesian3.clone(r,i._center),i._ellipsoid=m.Ellipsoid.clone(a,i._ellipsoid),i._semiMajorAxis=n,i._semiMinorAxis=o,i._rotation=s,i._height=u,i._granularity=l,i._extrudedHeight=d,i._numberOfVerticalLines=p,i._offsetAttribute=-1===t?void 0:t,i):(O.height=u,O.extrudedHeight=d,O.granularity=l,O.rotation=s,O.semiMajorAxis=n,O.semiMinorAxis=o,O.numberOfVerticalLines=p,O.offsetAttribute=-1===t?void 0:t,new C(O))},C.createGeometry=function(e){if(!(e._semiMajorAxis<=0||e._semiMinorAxis<=0)){var t=e._height,i=e._extrudedHeight,r=!f.CesiumMath.equalsEpsilon(t,i,0,f.CesiumMath.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);var a,t={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines};return r?(t.extrudedHeight=i,t.offsetAttribute=e._offsetAttribute,a=function(e){var t=e.center,i=e.ellipsoid,r=e.semiMajorAxis,a=m.Cartesian3.multiplyByScalar(i.geodeticSurfaceNormal(t,E),e.height,E);v.center=m.Cartesian3.add(t,a,v.center),v.radius=r,a=m.Cartesian3.multiplyByScalar(i.geodeticSurfaceNormal(t,a),e.extrudedHeight,a),M.center=m.Cartesian3.add(t,a,M.center),M.radius=r;var t=x.EllipseGeometryLibrary.computeEllipsePositions(e,!1,!0).outerPositions,t=(a=new A.GeometryAttributes({position:new b.GeometryAttribute({componentDatatype:y.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:x.EllipseGeometryLibrary.raisePositionsToHeight(t,e,!0)})})).position.values,r=h.BoundingSphere.union(v,M),n=t.length/3;c.defined(e.offsetAttribute)&&(o=new Uint8Array(n),o=e.offsetAttribute===g.GeometryOffsetAttribute.TOP?g.arrayFill(o,1,0,n/2):(t=e.offsetAttribute===g.GeometryOffsetAttribute.NONE?0:1,g.arrayFill(o,t)),a.applyOffset=new b.GeometryAttribute({componentDatatype:y.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:o}));var o=c.defaultValue(e.numberOfVerticalLines,16),o=f.CesiumMath.clamp(o,0,n/2),s=_.IndexDatatype.createTypedArray(n,2*n+2*o);n/=2;var u=0;for(p=0;p<n;++p)s[u++]=p,s[u++]=(p+1)%n,s[u++]=p+n,s[u++]=(p+1)%n+n;if(0<o)for(var e=Math.min(o,n),l=Math.round(n/e),d=Math.min(l*o,n),p=0;p<d;p+=l)s[u++]=p,s[u++]=p+n;return{boundingSphere:r,attributes:a,indices:s}}(t)):(a=function(e){var t=e.center;s=m.Cartesian3.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,s),e.height,s),s=m.Cartesian3.add(t,s,s);for(var i=new h.BoundingSphere(s,e.semiMajorAxis),t=x.EllipseGeometryLibrary.computeEllipsePositions(e,!1,!0).outerPositions,e=new A.GeometryAttributes({position:new b.GeometryAttribute({componentDatatype:y.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:x.EllipseGeometryLibrary.raisePositionsToHeight(t,e,!1)})}),r=t.length/3,a=_.IndexDatatype.createTypedArray(r,2*r),n=0,o=0;o<r;++o)a[n++]=o,a[n++]=(o+1)%r;return{boundingSphere:i,attributes:e,indices:a}}(t),c.defined(e._offsetAttribute)&&(i=a.attributes.position.values.length,t=new Uint8Array(i/3),i=e._offsetAttribute===g.GeometryOffsetAttribute.NONE?0:1,g.arrayFill(t,i),a.attributes.applyOffset=new b.GeometryAttribute({componentDatatype:y.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:t}))),new b.Geometry({attributes:a.attributes,indices:a.indices,primitiveType:b.PrimitiveType.LINES,boundingSphere:a.boundingSphere,offsetAttribute:e._offsetAttribute})}},e.EllipseOutlineGeometry=C}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/EllipsoidGeodesic-30fae80b.js b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidGeodesic-30fae80b.js new file mode 100644 index 000000000..7147513f9 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidGeodesic-30fae80b.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162"],function(t,p,a,U,S){"use strict";function b(t,a,i,n,e,s,r){var h,i=(h=t)*(i=i)*(4+h*(4-3*i))/16;return(1-i)*t*a*(n+i*e*(r+i*s*(2*r*r-1)))}var q=new S.Cartesian3,w=new S.Cartesian3;function n(t,a,i,n){var e,s,r,h,o,d,c,u,M,l,g,_,p,f,m,v,C,H,O;S.Cartesian3.normalize(n.cartographicToCartesian(a,w),q),S.Cartesian3.normalize(n.cartographicToCartesian(i,w),w);!function(t,a,i,n,e,s,r){var h=(a-i)/a,o=s-n,n=Math.atan((1-h)*Math.tan(e)),e=Math.atan((1-h)*Math.tan(r)),r=Math.cos(n),n=Math.sin(n),d=Math.cos(e),e=Math.sin(e),c=r*d,u=r*e,M=n*e,l=n*d,g=o,_=U.CesiumMath.TWO_PI,p=Math.cos(g),f=Math.sin(g);do{p=Math.cos(g),f=Math.sin(g);var m,v,C=u-l*p,H=Math.sqrt(d*d*f*f+C*C),O=M+c*p,S=Math.atan2(H,O),_=g,q=O-2*M/(v=0===H?(m=0,1):1-(m=c*f/H)*m)}while(isNaN(q)&&(q=0),g=o+b(h,m,v,S,H,O,q),Math.abs(g-_)>U.CesiumMath.EPSILON12);n=i*(1+(e=v*(a*a-i*i)/(i*i))*(4096+e*(e*(320-175*e)-768))/16384)*(S-(n=e*(256+e*(e*(74-47*e)-128))/1024)*H*(q+n*(O*(2*(a=q*q)-1)-n*q*(4*H*H-3)*(4*a-3)/6)/4)),a=Math.atan2(d*f,u-l*p),r=Math.atan2(r*f,u*p-l),t._distance=n,t._startHeading=a,t._endHeading=r,t._uSquared=e}(t,n.maximumRadius,n.minimumRadius,a.longitude,a.latitude,i.longitude,i.latitude),t._start=S.Cartographic.clone(a,t._start),t._end=S.Cartographic.clone(i,t._end),t._start.height=0,t._end.height=0,s=(e=t)._uSquared,r=e._ellipsoid.maximumRadius,h=e._ellipsoid.minimumRadius,o=(r-h)/r,d=Math.cos(e._startHeading),c=Math.sin(e._startHeading),u=(1-o)*Math.tan(e._start.latitude),M=1/Math.sqrt(1+u*u),l=M*u,g=Math.atan2(u,d),f=1-(p=(_=M*c)*_),m=Math.sqrt(f),H=1-3*(v=s/4)+35*(C=v*v)/4,O=1-5*v,s=(i=1+v-3*C/4+5*(n=C*v)/4-175*(a=C*C)/64)*g-(t=1-v+15*C/8-35*n/8)*Math.sin(2*g)*v/2-H*Math.sin(4*g)*C/16-O*Math.sin(6*g)*n/48-5*Math.sin(8*g)*a/512,(e=e._constants).a=r,e.b=h,e.f=o,e.cosineHeading=d,e.sineHeading=c,e.tanU=u,e.cosineU=M,e.sineU=l,e.sigma=g,e.sineAlpha=_,e.sineSquaredAlpha=p,e.cosineSquaredAlpha=f,e.cosineAlpha=m,e.u2Over4=v,e.u4Over16=C,e.u6Over64=n,e.u8Over256=a,e.a0=i,e.a1=t,e.a2=H,e.a3=O,e.distanceRatio=s}function i(t,a,i){i=p.defaultValue(i,S.Ellipsoid.WGS84);this._ellipsoid=i,this._start=new S.Cartographic,this._end=new S.Cartographic,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,p.defined(t)&&p.defined(a)&&n(this,t,a,i)}Object.defineProperties(i.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}}),i.prototype.setEndPoints=function(t,a){n(this,t,a,this._ellipsoid)},i.prototype.interpolateUsingFraction=function(t,a){return this.interpolateUsingSurfaceDistance(this._distance*t,a)},i.prototype.interpolateUsingSurfaceDistance=function(t,a){var i=this._constants,n=i.distanceRatio+t/i.b,e=Math.cos(2*n),s=Math.cos(4*n),r=Math.cos(6*n),h=Math.sin(2*n),o=Math.sin(4*n),d=Math.sin(6*n),c=Math.sin(8*n),u=n*n,M=n*u,l=i.u8Over256,g=i.u2Over4,_=i.u6Over64,t=i.u4Over16,u=2*M*l*e/3+n*(1-g+7*t/4-15*_/4+579*l/64-(t-15*_/4+187*l/16)*e-(5*_/4-115*l/16)*s-29*l*r/16)+(g/2-t+71*_/32-85*l/16)*h+(5*t/16-5*_/4+383*l/96)*o-u*((_-11*l/2)*h+5*l*o/2)+(29*_/96-29*l/16)*d+539*l*c/1536,h=Math.asin(Math.sin(u)*i.cosineAlpha),o=Math.atan(i.a/i.b*Math.tan(h));u-=i.sigma;_=Math.cos(2*i.sigma+u),d=Math.sin(u),l=Math.cos(u),c=i.cosineU*l,h=i.sineU*d,_=Math.atan2(d*i.sineHeading,c-h*i.cosineHeading)-b(i.f,i.sineAlpha,i.cosineSquaredAlpha,u,d,l,_);return p.defined(a)?(a.longitude=this._start.longitude+_,a.latitude=o,a.height=0,a):new S.Cartographic(this._start.longitude+_,o,0)},t.EllipsoidGeodesic=i}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/EllipsoidGeometry-2c4c641e.js b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidGeometry-2c4c641e.js new file mode 100644 index 000000000..04f556f73 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidGeometry-2c4c641e.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785"],function(t,$,e,tt,et,at,it,rt,nt,ot,mt,f){"use strict";var st=new et.Cartesian3,ut=new et.Cartesian3,lt=new et.Cartesian3,ct=new et.Cartesian3,ft=new et.Cartesian3,l=new et.Cartesian3(1,1,1),dt=Math.cos,Ct=Math.sin;function d(t){t=$.defaultValue(t,$.defaultValue.EMPTY_OBJECT);var e=$.defaultValue(t.radii,l),a=$.defaultValue(t.innerRadii,e),i=$.defaultValue(t.minimumClock,0),r=$.defaultValue(t.maximumClock,tt.CesiumMath.TWO_PI),n=$.defaultValue(t.minimumCone,0),o=$.defaultValue(t.maximumCone,tt.CesiumMath.PI),m=Math.round($.defaultValue(t.stackPartitions,64)),s=Math.round($.defaultValue(t.slicePartitions,64)),u=$.defaultValue(t.vertexFormat,f.VertexFormat.DEFAULT);this._radii=et.Cartesian3.clone(e),this._innerRadii=et.Cartesian3.clone(a),this._minimumClock=i,this._maximumClock=r,this._minimumCone=n,this._maximumCone=o,this._stackPartitions=m,this._slicePartitions=s,this._vertexFormat=f.VertexFormat.clone(u),this._offsetAttribute=t.offsetAttribute,this._workerName="createEllipsoidGeometry"}d.packedLength=2*et.Cartesian3.packedLength+f.VertexFormat.packedLength+7,d.pack=function(t,e,a){return a=$.defaultValue(a,0),et.Cartesian3.pack(t._radii,e,a),a+=et.Cartesian3.packedLength,et.Cartesian3.pack(t._innerRadii,e,a),a+=et.Cartesian3.packedLength,f.VertexFormat.pack(t._vertexFormat,e,a),a+=f.VertexFormat.packedLength,e[a++]=t._minimumClock,e[a++]=t._maximumClock,e[a++]=t._minimumCone,e[a++]=t._maximumCone,e[a++]=t._stackPartitions,e[a++]=t._slicePartitions,e[a]=$.defaultValue(t._offsetAttribute,-1),e};var a,C=new et.Cartesian3,p=new et.Cartesian3,y=new f.VertexFormat,_={radii:C,innerRadii:p,vertexFormat:y,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};d.unpack=function(t,e,a){e=$.defaultValue(e,0);var i=et.Cartesian3.unpack(t,e,C);e+=et.Cartesian3.packedLength;var r=et.Cartesian3.unpack(t,e,p);e+=et.Cartesian3.packedLength;var n=f.VertexFormat.unpack(t,e,y);e+=f.VertexFormat.packedLength;var o=t[e++],m=t[e++],s=t[e++],u=t[e++],l=t[e++],c=t[e++],e=t[e];return $.defined(a)?(a._radii=et.Cartesian3.clone(i,a._radii),a._innerRadii=et.Cartesian3.clone(r,a._innerRadii),a._vertexFormat=f.VertexFormat.clone(n,a._vertexFormat),a._minimumClock=o,a._maximumClock=m,a._minimumCone=s,a._maximumCone=u,a._stackPartitions=l,a._slicePartitions=c,a._offsetAttribute=-1===e?void 0:e,a):(_.minimumClock=o,_.maximumClock=m,_.minimumCone=s,_.maximumCone=u,_.stackPartitions=l,_.slicePartitions=c,_.offsetAttribute=-1===e?void 0:e,new d(_))},d.createGeometry=function(t){var e=t._radii;if(!(e.x<=0||e.y<=0||e.z<=0)){var a=t._innerRadii;if(!(a.x<=0||a.y<=0||a.z<=0)){var i=t._minimumClock,r=t._maximumClock,n=t._minimumCone,o=t._maximumCone,m=t._vertexFormat,s=t._slicePartitions+1,u=t._stackPartitions+1;(s=Math.round(s*Math.abs(r-i)/tt.CesiumMath.TWO_PI))<2&&(s=2),(u=Math.round(u*Math.abs(o-n)/tt.CesiumMath.PI))<2&&(u=2);var l=0,c=[n],f=[i];for(B=0;B<u;B++)c.push(n+B*(o-n)/(u-1));for(c.push(o),I=0;I<s;I++)f.push(i+I*(r-i)/(s-1));f.push(r);var d=c.length,C=f.length,p=0,y=1,_=a.x!==e.x||a.y!==e.y||a.z!==e.z,h=!1,v=!1,A=!1;_&&(y=2,0<n&&(h=!0,p+=s-1),o<Math.PI&&(v=!0,p+=s-1),(r-i)%tt.CesiumMath.TWO_PI?(A=!0,p+=2*(u-1)+1):p+=1);var x=C*d*y,b=new Float64Array(3*x),k=mt.arrayFill(new Array(x),!1),w=mt.arrayFill(new Array(x),!1),F=s*u*y,p=6*(F+p+1-(s+u)*y),P=ot.IndexDatatype.createTypedArray(F,p),g=m.normal?new Float32Array(3*x):void 0,V=m.tangent?new Float32Array(3*x):void 0,M=m.bitangent?new Float32Array(3*x):void 0,T=m.st?new Float32Array(2*x):void 0,D=new Array(d),G=new Array(d);for(B=0;B<d;B++)D[B]=Ct(c[B]),G[B]=dt(c[B]);for(var L=new Array(C),O=new Array(C),I=0;I<C;I++)O[I]=dt(f[I]),L[I]=Ct(f[I]);for(B=0;B<d;B++)for(I=0;I<C;I++)b[l++]=e.x*D[B]*O[I],b[l++]=e.y*D[B]*L[I],b[l++]=e.z*G[B];var E,z,N,R,U=x/2;if(_)for(B=0;B<d;B++)for(I=0;I<C;I++)b[l++]=a.x*D[B]*O[I],b[l++]=a.y*D[B]*L[I],b[l++]=a.z*G[B],k[U]=!0,0<B&&B!==d-1&&0!==I&&I!==C-1&&(w[U]=!0),U++;for(l=0,B=1;B<d-2;B++)for(E=B*C,z=(B+1)*C,I=1;I<C-2;I++)P[l++]=z+I,P[l++]=z+I+1,P[l++]=E+I+1,P[l++]=z+I,P[l++]=E+I+1,P[l++]=E+I;if(_)for(var S=d*C,B=1;B<d-2;B++)for(E=S+B*C,z=S+(B+1)*C,I=1;I<C-2;I++)P[l++]=z+I,P[l++]=E+I,P[l++]=E+I+1,P[l++]=z+I,P[l++]=E+I+1,P[l++]=z+I+1;if(_){if(h)for(R=d*C,B=1;B<C-2;B++)P[l++]=B,P[l++]=B+1,P[l++]=R+B+1,P[l++]=B,P[l++]=R+B+1,P[l++]=R+B;if(v)for(N=d*C-C,R=d*C*y-C,B=1;B<C-2;B++)P[l++]=N+B+1,P[l++]=N+B,P[l++]=R+B,P[l++]=N+B+1,P[l++]=R+B,P[l++]=R+B+1}if(A){for(B=1;B<d-2;B++)R=C*d+C*B,N=C*B,P[l++]=R,P[l++]=N+C,P[l++]=N,P[l++]=R,P[l++]=R+C,P[l++]=N+C;for(B=1;B<d-2;B++)R=C*d+C*(B+1)-1,N=C*(B+1)-1,P[l++]=N+C,P[l++]=R,P[l++]=N,P[l++]=N+C,P[l++]=R+C,P[l++]=R}v=new nt.GeometryAttributes;m.position&&(v.position=new rt.GeometryAttribute({componentDatatype:it.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:b}));var W=0,Y=0,J=0,X=0,Z=x/2,j=et.Ellipsoid.fromCartesian3(e),q=et.Ellipsoid.fromCartesian3(a);if(m.st||m.normal||m.tangent||m.bitangent){for(B=0;B<x;B++){Q=k[B]?q:j;var H,K=et.Cartesian3.fromArray(b,3*B,st),Q=Q.geodeticSurfaceNormal(K,ut);w[B]&&et.Cartesian3.negate(Q,Q),m.st&&(H=et.Cartesian2.negate(Q,ft),T[W++]=Math.atan2(H.y,H.x)/tt.CesiumMath.TWO_PI+.5,T[W++]=Math.asin(Q.z)/Math.PI+.5),m.normal&&(g[Y++]=Q.x,g[Y++]=Q.y,g[Y++]=Q.z),(m.tangent||m.bitangent)&&(K=lt,H=0,k[B]&&(H=Z),H=!h&&H<=B&&B<H+2*C?et.Cartesian3.UNIT_X:et.Cartesian3.UNIT_Z,et.Cartesian3.cross(H,Q,K),et.Cartesian3.normalize(K,K),m.tangent&&(V[J++]=K.x,V[J++]=K.y,V[J++]=K.z),m.bitangent&&(K=et.Cartesian3.cross(Q,K,ct),et.Cartesian3.normalize(K,K),M[X++]=K.x,M[X++]=K.y,M[X++]=K.z))}m.st&&(v.st=new rt.GeometryAttribute({componentDatatype:it.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:T})),m.normal&&(v.normal=new rt.GeometryAttribute({componentDatatype:it.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:g})),m.tangent&&(v.tangent=new rt.GeometryAttribute({componentDatatype:it.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:V})),m.bitangent&&(v.bitangent=new rt.GeometryAttribute({componentDatatype:it.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:M}))}return $.defined(t._offsetAttribute)&&(y=b.length,A=new Uint8Array(y/3),y=t._offsetAttribute===mt.GeometryOffsetAttribute.NONE?0:1,mt.arrayFill(A,y),v.applyOffset=new rt.GeometryAttribute({componentDatatype:it.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:A})),new rt.Geometry({attributes:v,indices:P,primitiveType:rt.PrimitiveType.TRIANGLES,boundingSphere:at.BoundingSphere.fromEllipsoid(j),offsetAttribute:t._offsetAttribute})}}},d.getUnitEllipsoid=function(){return $.defined(a)||(a=d.createGeometry(new d({radii:new et.Cartesian3(1,1,1),vertexFormat:f.VertexFormat.POSITION_ONLY}))),a},t.EllipsoidGeometry=d}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/EllipsoidOutlineGeometry-7ef60a22.js b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidOutlineGeometry-7ef60a22.js new file mode 100644 index 000000000..2badbc6ac --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidOutlineGeometry-7ef60a22.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af"],function(i,D,t,I,T,z,L,R,N,B,S){"use strict";var f=new T.Cartesian3(1,1,1),U=Math.cos,F=Math.sin;function l(i){i=D.defaultValue(i,D.defaultValue.EMPTY_OBJECT);var t=D.defaultValue(i.radii,f),e=D.defaultValue(i.innerRadii,t),a=D.defaultValue(i.minimumClock,0),n=D.defaultValue(i.maximumClock,I.CesiumMath.TWO_PI),r=D.defaultValue(i.minimumCone,0),o=D.defaultValue(i.maximumCone,I.CesiumMath.PI),s=Math.round(D.defaultValue(i.stackPartitions,10)),m=Math.round(D.defaultValue(i.slicePartitions,8)),u=Math.round(D.defaultValue(i.subdivisions,128));this._radii=T.Cartesian3.clone(t),this._innerRadii=T.Cartesian3.clone(e),this._minimumClock=a,this._maximumClock=n,this._minimumCone=r,this._maximumCone=o,this._stackPartitions=s,this._slicePartitions=m,this._subdivisions=u,this._offsetAttribute=i.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}l.packedLength=2*T.Cartesian3.packedLength+8,l.pack=function(i,t,e){return e=D.defaultValue(e,0),T.Cartesian3.pack(i._radii,t,e),e+=T.Cartesian3.packedLength,T.Cartesian3.pack(i._innerRadii,t,e),e+=T.Cartesian3.packedLength,t[e++]=i._minimumClock,t[e++]=i._maximumClock,t[e++]=i._minimumCone,t[e++]=i._maximumCone,t[e++]=i._stackPartitions,t[e++]=i._slicePartitions,t[e++]=i._subdivisions,t[e]=D.defaultValue(i._offsetAttribute,-1),t};var c=new T.Cartesian3,C=new T.Cartesian3,_={radii:c,innerRadii:C,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};l.unpack=function(i,t,e){t=D.defaultValue(t,0);var a=T.Cartesian3.unpack(i,t,c);t+=T.Cartesian3.packedLength;var n=T.Cartesian3.unpack(i,t,C);t+=T.Cartesian3.packedLength;var r=i[t++],o=i[t++],s=i[t++],m=i[t++],u=i[t++],f=i[t++],d=i[t++],t=i[t];return D.defined(e)?(e._radii=T.Cartesian3.clone(a,e._radii),e._innerRadii=T.Cartesian3.clone(n,e._innerRadii),e._minimumClock=r,e._maximumClock=o,e._minimumCone=s,e._maximumCone=m,e._stackPartitions=u,e._slicePartitions=f,e._subdivisions=d,e._offsetAttribute=-1===t?void 0:t,e):(_.minimumClock=r,_.maximumClock=o,_.minimumCone=s,_.maximumCone=m,_.stackPartitions=u,_.slicePartitions=f,_.subdivisions=d,_.offsetAttribute=-1===t?void 0:t,new l(_))},l.createGeometry=function(i){var t=i._radii;if(!(t.x<=0||t.y<=0||t.z<=0)){var e=i._innerRadii;if(!(e.x<=0||e.y<=0||e.z<=0)){var a=i._minimumClock,n=i._maximumClock,r=i._minimumCone,o=i._maximumCone,s=i._subdivisions,m=T.Ellipsoid.fromCartesian3(t),u=i._slicePartitions+1,f=i._stackPartitions+1;(u=Math.round(u*Math.abs(n-a)/I.CesiumMath.TWO_PI))<2&&(u=2),(f=Math.round(f*Math.abs(o-r)/I.CesiumMath.PI))<2&&(f=2);var d=0,l=1,c=e.x!==t.x||e.y!==t.y||e.z!==t.z,C=!1,_=!1;c&&(l=2,0<r&&(C=!0,d+=u),o<Math.PI&&(_=!0,d+=u));for(var h,p,y=s*l*(f+u),v=new Float64Array(3*y),d=2*(y+d-(u+f)*l),b=B.IndexDatatype.createTypedArray(y,d),k=0,A=new Array(f),x=new Array(f),P=0;P<f;P++)p=r+P*(o-r)/(f-1),A[P]=F(p),x[P]=U(p);var w=new Array(s),M=new Array(s);for(P=0;P<s;P++)h=a+P*(n-a)/(s-1),w[P]=F(h),M[P]=U(h);for(P=0;P<f;P++)for(g=0;g<s;g++)v[k++]=t.x*A[P]*M[g],v[k++]=t.y*A[P]*w[g],v[k++]=t.z*x[P];if(c)for(P=0;P<f;P++)for(g=0;g<s;g++)v[k++]=e.x*A[P]*M[g],v[k++]=e.y*A[P]*w[g],v[k++]=e.z*x[P];for(A.length=s,x.length=s,P=0;P<s;P++)p=r+P*(o-r)/(s-1),A[P]=F(p),x[P]=U(p);for(w.length=u,M.length=u,P=0;P<u;P++)h=a+P*(n-a)/(u-1),w[P]=F(h),M[P]=U(h);for(P=0;P<s;P++)for(g=0;g<u;g++)v[k++]=t.x*A[P]*M[g],v[k++]=t.y*A[P]*w[g],v[k++]=t.z*x[P];if(c)for(P=0;P<s;P++)for(g=0;g<u;g++)v[k++]=e.x*A[P]*M[g],v[k++]=e.y*A[P]*w[g],v[k++]=e.z*x[P];for(P=k=0;P<f*l;P++)for(var V=P*s,g=0;g<s-1;g++)b[k++]=V+g,b[k++]=V+g+1;var G=f*s*l;for(P=0;P<u;P++)for(g=0;g<s-1;g++)b[k++]=G+P+g*u,b[k++]=G+P+(g+1)*u;if(c)for(G=f*s*l+u*s,P=0;P<u;P++)for(g=0;g<s-1;g++)b[k++]=G+P+g*u,b[k++]=G+P+(g+1)*u;if(c){var E=f*s*l,O=E+s*u;if(C)for(P=0;P<u;P++)b[k++]=E+P,b[k++]=O+P;if(_)for(E+=s*u-u,O+=s*u-u,P=0;P<u;P++)b[k++]=E+P,b[k++]=O+P}c=new N.GeometryAttributes({position:new R.GeometryAttribute({componentDatatype:L.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:v})});return D.defined(i._offsetAttribute)&&(C=v.length,_=new Uint8Array(C/3),C=i._offsetAttribute===S.GeometryOffsetAttribute.NONE?0:1,S.arrayFill(_,C),c.applyOffset=new R.GeometryAttribute({componentDatatype:L.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:_})),new R.Geometry({attributes:c,indices:b,primitiveType:R.PrimitiveType.LINES,boundingSphere:z.BoundingSphere.fromEllipsoid(m),offsetAttribute:i._offsetAttribute})}}},i.EllipsoidOutlineGeometry=l}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/EllipsoidRhumbLine-c704bf4c.js b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidRhumbLine-c704bf4c.js new file mode 100644 index 000000000..d292f6dd3 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidRhumbLine-c704bf4c.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162"],function(t,M,i,c,m){"use strict";function d(t,i,a){if(0===t)return i*a;var e=t*t,n=e*e,s=n*e,h=s*e,u=h*e,t=u*e,a=a;return i*((1-e/4-3*n/64-5*s/256-175*h/16384-441*u/65536-4851*t/1048576)*a-(3*e/8+3*n/32+45*s/1024+105*h/4096+2205*u/131072+6237*t/524288)*Math.sin(2*a)+(15*n/256+45*s/1024+525*h/16384+1575*u/65536+155925*t/8388608)*Math.sin(4*a)-(35*s/3072+175*h/12288+3675*u/262144+13475*t/1048576)*Math.sin(6*a)+(315*h/131072+2205*u/524288+43659*t/8388608)*Math.sin(8*a)-(693*u/1310720+6237*t/5242880)*Math.sin(10*a)+1001*t/8388608*Math.sin(12*a))}function l(t,i){if(0===t)return Math.log(Math.tan(.5*(c.CesiumMath.PI_OVER_TWO+i)));var a=t*Math.sin(i);return Math.log(Math.tan(.5*(c.CesiumMath.PI_OVER_TWO+i)))-t/2*Math.log((1+a)/(1-a))}var r=new m.Cartesian3,_=new m.Cartesian3;function e(t,i,a,e){m.Cartesian3.normalize(e.cartographicToCartesian(i,_),r),m.Cartesian3.normalize(e.cartographicToCartesian(a,_),_);var n,s=e.maximumRadius,h=e.minimumRadius,u=s*s,o=h*h;t._ellipticitySquared=(u-o)/u,t._ellipticity=Math.sqrt(t._ellipticitySquared),t._start=m.Cartographic.clone(i,t._start),t._start.height=0,t._end=m.Cartographic.clone(a,t._end),t._end.height=0,t._heading=(n=t,s=i.longitude,h=i.latitude,o=a.longitude,u=a.latitude,h=l(n._ellipticity,h),u=l(n._ellipticity,u),Math.atan2(c.CesiumMath.negativePiToPi(o-s),u-h)),t._distance=(o=t,s=e.maximumRadius,u=e.minimumRadius,h=i.longitude,t=i.latitude,e=a.longitude,i=a.latitude,a=o._heading,e-=h,h=0,h=c.CesiumMath.equalsEpsilon(Math.abs(a),c.CesiumMath.PI_OVER_TWO,c.CesiumMath.EPSILON8)?s===u?s*Math.cos(t)*c.CesiumMath.negativePiToPi(e):(u=Math.sin(t),s*Math.cos(t)*c.CesiumMath.negativePiToPi(e)/Math.sqrt(1-o._ellipticitySquared*u*u)):(t=d(o._ellipticity,s,t),(d(o._ellipticity,s,i)-t)/Math.cos(a)),Math.abs(h))}function o(t,i,a,e,n,s){var h,u,o,r=n*n;return o=Math.abs(c.CesiumMath.PI_OVER_TWO-Math.abs(i))>c.CesiumMath.EPSILON8?(h=function(t,i,a){var e=t/a;if(0===i)return e;var n=e*e,s=n*e,h=s*e,u=i*i,o=u*u,r=o*u,d=r*u,l=d*u,M=l*u,c=Math.sin(2*e),m=Math.cos(2*e),_=Math.sin(4*e),g=Math.cos(4*e),p=Math.sin(6*e),C=Math.cos(6*e),t=Math.sin(8*e),a=Math.cos(8*e),i=Math.sin(10*e);return e+e*u/4+7*e*o/64+15*e*r/256+579*e*d/16384+1515*e*l/65536+16837*e*M/1048576+(3*e*o/16+45*e*r/256-e*(32*n-561)*d/4096-e*(232*n-1677)*l/16384+e*(399985-90560*n+512*h)*M/5242880)*m+(21*e*r/256+483*e*d/4096-e*(224*n-1969)*l/16384-e*(33152*n-112599)*M/1048576)*g+(151*e*d/4096+4681*e*l/65536+1479*e*M/16384-453*s*M/32768)*C+(1097*e*l/65536+42783*e*M/1048576)*a+8011*e*M/1048576*Math.cos(10*e)+(3*u/8+3*o/16+213*r/2048-3*n*r/64+255*d/4096-33*n*d/512+20861*l/524288-33*n*l/512+h*l/1024+28273*M/1048576-471*n*M/8192+9*h*M/4096)*c+(21*o/256+21*r/256+533*d/8192-21*n*d/512+197*l/4096-315*n*l/4096+584039*M/16777216-12517*n*M/131072+7*h*M/2048)*_+(151*r/6144+151*d/4096+5019*l/131072-453*n*l/16384+26965*M/786432-8607*n*M/131072)*p+(1097*d/131072+1097*l/65536+225797*M/10485760-1097*n*M/65536)*t+(8011*l/2621440+8011*M/1048576)*i+293393*M/251658240*Math.sin(12*e)}(d(n,e,t.latitude)+a*Math.cos(i),n,e),o=l(n,t.latitude),u=l(n,h),o=Math.tan(i)*(u-o),c.CesiumMath.negativePiToPi(t.longitude+o)):(h=t.latitude,o=a/(0===n?e*Math.cos(t.latitude):(n=Math.sin(t.latitude),e*Math.cos(t.latitude)/Math.sqrt(1-r*n*n))),0<i?c.CesiumMath.negativePiToPi(t.longitude+o):c.CesiumMath.negativePiToPi(t.longitude-o)),M.defined(s)?(s.longitude=o,s.latitude=h,s.height=0,s):new m.Cartographic(o,h,0)}function g(t,i,a){a=M.defaultValue(a,m.Ellipsoid.WGS84);this._ellipsoid=a,this._start=new m.Cartographic,this._end=new m.Cartographic,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,M.defined(t)&&M.defined(i)&&e(this,t,i,a)}Object.defineProperties(g.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}}),g.fromStartHeadingDistance=function(t,i,a,e,n){var s=M.defaultValue(e,m.Ellipsoid.WGS84),h=s.maximumRadius,u=s.minimumRadius,h=h*h,u=u*u,h=Math.sqrt((h-u)/h),h=o(t,i=c.CesiumMath.negativePiToPi(i),a,s.maximumRadius,h);return!M.defined(n)||M.defined(e)&&!e.equals(n.ellipsoid)?new g(t,h,s):(n.setEndPoints(t,h),n)},g.prototype.setEndPoints=function(t,i){e(this,t,i,this._ellipsoid)},g.prototype.interpolateUsingFraction=function(t,i){return this.interpolateUsingSurfaceDistance(t*this._distance,i)},g.prototype.interpolateUsingSurfaceDistance=function(t,i){return o(this._start,this._heading,t,this._ellipsoid.maximumRadius,this._ellipticity,i)},g.prototype.findIntersectionWithLongitude=function(t,i){var a=this._ellipticity,e=this._heading,n=Math.abs(e),s=this._start;if(t=c.CesiumMath.negativePiToPi(t),c.CesiumMath.equalsEpsilon(Math.abs(t),Math.PI,c.CesiumMath.EPSILON14)&&(t=c.CesiumMath.sign(s.longitude)*Math.PI),M.defined(i)||(i=new m.Cartographic),Math.abs(c.CesiumMath.PI_OVER_TWO-n)<=c.CesiumMath.EPSILON8)return i.longitude=t,i.latitude=s.latitude,i.height=0,i;if(c.CesiumMath.equalsEpsilon(Math.abs(c.CesiumMath.PI_OVER_TWO-n),c.CesiumMath.PI_OVER_TWO,c.CesiumMath.EPSILON8))return c.CesiumMath.equalsEpsilon(t,s.longitude,c.CesiumMath.EPSILON12)?void 0:(i.longitude=t,i.latitude=c.CesiumMath.PI_OVER_TWO*c.CesiumMath.sign(c.CesiumMath.PI_OVER_TWO-e),i.height=0,i);var h,u=s.latitude,n=a*Math.sin(u),o=Math.tan(.5*(c.CesiumMath.PI_OVER_TWO+u))*Math.exp((t-s.longitude)/Math.tan(e)),r=(1+n)/(1-n),d=s.latitude;do{h=d;var l=a*Math.sin(h),l=(1+l)/(1-l),d=2*Math.atan(o*Math.pow(l/r,a/2))-c.CesiumMath.PI_OVER_TWO}while(!c.CesiumMath.equalsEpsilon(d,h,c.CesiumMath.EPSILON12));return i.longitude=t,i.latitude=d,i.height=0,i},g.prototype.findIntersectionWithLatitude=function(t,i){var a=this._ellipticity,e=this._heading,n=this._start;if(!c.CesiumMath.equalsEpsilon(Math.abs(e),c.CesiumMath.PI_OVER_TWO,c.CesiumMath.EPSILON8)){var s=l(a,n.latitude),a=l(a,t),s=Math.tan(e)*(a-s),s=c.CesiumMath.negativePiToPi(n.longitude+s);return M.defined(i)?(i.longitude=s,i.latitude=t,i.height=0,i):new m.Cartographic(s,t,0)}},t.EllipsoidRhumbLine=g}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/EllipsoidTangentPlane-64140317.js b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidTangentPlane-64140317.js new file mode 100644 index 000000000..e16184aa8 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/EllipsoidTangentPlane-64140317.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Cartesian2-bddc1162","./Transforms-d07bb42c","./IntersectionTests-8abf6dba","./Plane-c8971487"],function(e,C,n,p,a,i,r){"use strict";function x(e,n,t){this.minimum=p.Cartesian3.clone(C.defaultValue(e,p.Cartesian3.ZERO)),this.maximum=p.Cartesian3.clone(C.defaultValue(n,p.Cartesian3.ZERO)),t=C.defined(t)?p.Cartesian3.clone(t):p.Cartesian3.midpoint(this.minimum,this.maximum,new p.Cartesian3),this.center=t}x.fromPoints=function(e,n){if(C.defined(n)||(n=new x),!C.defined(e)||0===e.length)return n.minimum=p.Cartesian3.clone(p.Cartesian3.ZERO,n.minimum),n.maximum=p.Cartesian3.clone(p.Cartesian3.ZERO,n.maximum),n.center=p.Cartesian3.clone(p.Cartesian3.ZERO,n.center),n;for(var t=e[0].x,i=e[0].y,a=e[0].z,r=e[0].x,s=e[0].y,o=e[0].z,m=e.length,c=1;c<m;c++)var l=e[c],u=l.x,d=l.y,l=l.z,t=Math.min(u,t),r=Math.max(u,r),i=Math.min(d,i),s=Math.max(d,s),a=Math.min(l,a),o=Math.max(l,o);var f=n.minimum;f.x=t,f.y=i,f.z=a;var h=n.maximum;return h.x=r,h.y=s,h.z=o,n.center=p.Cartesian3.midpoint(f,h,n.center),n},x.clone=function(e,n){if(C.defined(e))return C.defined(n)?(n.minimum=p.Cartesian3.clone(e.minimum,n.minimum),n.maximum=p.Cartesian3.clone(e.maximum,n.maximum),n.center=p.Cartesian3.clone(e.center,n.center),n):new x(e.minimum,e.maximum,e.center)},x.equals=function(e,n){return e===n||C.defined(e)&&C.defined(n)&&p.Cartesian3.equals(e.center,n.center)&&p.Cartesian3.equals(e.minimum,n.minimum)&&p.Cartesian3.equals(e.maximum,n.maximum)};var s=new p.Cartesian3;x.intersectPlane=function(e,n){s=p.Cartesian3.subtract(e.maximum,e.minimum,s);var t=p.Cartesian3.multiplyByScalar(s,.5,s),i=n.normal,t=t.x*Math.abs(i.x)+t.y*Math.abs(i.y)+t.z*Math.abs(i.z),n=p.Cartesian3.dot(e.center,i)+n.distance;return 0<n-t?a.Intersect.INSIDE:n+t<0?a.Intersect.OUTSIDE:a.Intersect.INTERSECTING},x.prototype.clone=function(e){return x.clone(this,e)},x.prototype.intersectPlane=function(e){return x.intersectPlane(this,e)},x.prototype.equals=function(e){return x.equals(this,e)};var o=new a.Cartesian4;function t(e,n){e=(n=C.defaultValue(n,p.Ellipsoid.WGS84)).scaleToGeodeticSurface(e);var t=a.Transforms.eastNorthUpToFixedFrame(e,n);this._ellipsoid=n,this._origin=e,this._xAxis=p.Cartesian3.fromCartesian4(a.Matrix4.getColumn(t,0,o)),this._yAxis=p.Cartesian3.fromCartesian4(a.Matrix4.getColumn(t,1,o));t=p.Cartesian3.fromCartesian4(a.Matrix4.getColumn(t,2,o));this._plane=r.Plane.fromPointNormal(e,t)}Object.defineProperties(t.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var m=new x;t.fromPoints=function(e,n){return new t(x.fromPoints(e,m).center,n)};var c=new i.Ray,l=new p.Cartesian3;t.prototype.projectPointOntoPlane=function(e,n){var t=c;t.origin=e,p.Cartesian3.normalize(e,t.direction);e=i.IntersectionTests.rayPlane(t,this._plane,l);if(C.defined(e)||(p.Cartesian3.negate(t.direction,t.direction),e=i.IntersectionTests.rayPlane(t,this._plane,l)),C.defined(e)){t=p.Cartesian3.subtract(e,this._origin,e),e=p.Cartesian3.dot(this._xAxis,t),t=p.Cartesian3.dot(this._yAxis,t);return C.defined(n)?(n.x=e,n.y=t,n):new p.Cartesian2(e,t)}},t.prototype.projectPointsOntoPlane=function(e,n){C.defined(n)||(n=[]);for(var t=0,i=e.length,a=0;a<i;a++){var r=this.projectPointOntoPlane(e[a],n[t]);C.defined(r)&&(n[t]=r,t++)}return n.length=t,n},t.prototype.projectPointToNearestOnPlane=function(e,n){C.defined(n)||(n=new p.Cartesian2);var t=c;t.origin=e,p.Cartesian3.clone(this._plane.normal,t.direction);e=i.IntersectionTests.rayPlane(t,this._plane,l);C.defined(e)||(p.Cartesian3.negate(t.direction,t.direction),e=i.IntersectionTests.rayPlane(t,this._plane,l));t=p.Cartesian3.subtract(e,this._origin,e),e=p.Cartesian3.dot(this._xAxis,t),t=p.Cartesian3.dot(this._yAxis,t);return n.x=e,n.y=t,n},t.prototype.projectPointsToNearestOnPlane=function(e,n){C.defined(n)||(n=[]);var t=e.length;n.length=t;for(var i=0;i<t;i++)n[i]=this.projectPointToNearestOnPlane(e[i],n[i]);return n};var u=new p.Cartesian3;t.prototype.projectPointOntoEllipsoid=function(e,n){C.defined(n)||(n=new p.Cartesian3);var t=this._ellipsoid,i=this._origin,a=this._xAxis,r=this._yAxis,s=u;return p.Cartesian3.multiplyByScalar(a,e.x,s),n=p.Cartesian3.add(i,s,n),p.Cartesian3.multiplyByScalar(r,e.y,s),p.Cartesian3.add(n,s,n),t.scaleToGeocentricSurface(n,n),n},t.prototype.projectPointsOntoEllipsoid=function(e,n){var t=e.length;C.defined(n)?n.length=t:n=new Array(t);for(var i=0;i<t;++i)n[i]=this.projectPointOntoEllipsoid(e[i],n[i]);return n},e.AxisAlignedBoundingBox=x,e.EllipsoidTangentPlane=t}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/EncodedCartesian3-4df2eabb.js b/public/GV/thirdParty/CesiumManager/Workers/EncodedCartesian3-4df2eabb.js new file mode 100644 index 000000000..1dae62a6e --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/EncodedCartesian3-4df2eabb.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Cartesian2-bddc1162"],function(e,h,n,i){"use strict";function r(){this.high=i.Cartesian3.clone(i.Cartesian3.ZERO),this.low=i.Cartesian3.clone(i.Cartesian3.ZERO)}r.encode=function(e,n){var i;return h.defined(n)||(n={high:0,low:0}),0<=e?(i=65536*Math.floor(e/65536),n.high=i,n.low=e-i):(i=65536*Math.floor(-e/65536),n.high=-i,n.low=e+i),n};var t={high:0,low:0};r.fromCartesian=function(e,n){h.defined(n)||(n=new r);var i=n.high,o=n.low;return r.encode(e.x,t),i.x=t.high,o.x=t.low,r.encode(e.y,t),i.y=t.high,o.y=t.low,r.encode(e.z,t),i.z=t.high,o.z=t.low,n};var a=new r;r.writeElements=function(e,n,i){r.fromCartesian(e,a);var o=a.high,e=a.low;n[i]=o.x,n[i+1]=o.y,n[i+2]=o.z,n[i+3]=e.x,n[i+4]=e.y,n[i+5]=e.z},e.EncodedCartesian3=r}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/FrustumGeometry-5d17caee.js b/public/GV/thirdParty/CesiumManager/Workers/FrustumGeometry-5d17caee.js new file mode 100644 index 000000000..9c44ab7f7 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/FrustumGeometry-5d17caee.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./Plane-c8971487","./VertexFormat-7572c785"],function(t,v,e,i,g,w,x,b,M,f,u){"use strict";function h(t){this.planes=v.defaultValue(t,[])}var p=[new g.Cartesian3,new g.Cartesian3,new g.Cartesian3];g.Cartesian3.clone(g.Cartesian3.UNIT_X,p[0]),g.Cartesian3.clone(g.Cartesian3.UNIT_Y,p[1]),g.Cartesian3.clone(g.Cartesian3.UNIT_Z,p[2]);var c=new g.Cartesian3,d=new g.Cartesian3,l=new f.Plane(new g.Cartesian3(1,0,0),0);function r(t){t=v.defaultValue(t,v.defaultValue.EMPTY_OBJECT),this.left=t.left,this._left=void 0,this.right=t.right,this._right=void 0,this.top=t.top,this._top=void 0,this.bottom=t.bottom,this._bottom=void 0,this.near=v.defaultValue(t.near,1),this._near=this.near,this.far=v.defaultValue(t.far,5e8),this._far=this.far,this._cullingVolume=new h,this._orthographicMatrix=new w.Matrix4}function n(t){t.top===t._top&&t.bottom===t._bottom&&t.left===t._left&&t.right===t._right&&t.near===t._near&&t.far===t._far||(t._left=t.left,t._right=t.right,t._top=t.top,t._bottom=t.bottom,t._near=t.near,t._far=t.far,t._orthographicMatrix=w.Matrix4.computeOrthographicOffCenter(t.left,t.right,t.bottom,t.top,t.near,t.far,t._orthographicMatrix))}h.fromBoundingSphere=function(t,e){v.defined(e)||(e=new h);var a=p.length,i=e.planes;i.length=2*a;for(var r=t.center,n=t.radius,o=0,s=0;s<a;++s){var f=p[s],u=i[o],l=i[o+1];v.defined(u)||(u=i[o]=new w.Cartesian4),v.defined(l)||(l=i[o+1]=new w.Cartesian4),g.Cartesian3.multiplyByScalar(f,-n,c),g.Cartesian3.add(r,c,c),u.x=f.x,u.y=f.y,u.z=f.z,u.w=-g.Cartesian3.dot(f,c),g.Cartesian3.multiplyByScalar(f,n,c),g.Cartesian3.add(r,c,c),l.x=-f.x,l.y=-f.y,l.z=-f.z,l.w=-g.Cartesian3.dot(g.Cartesian3.negate(f,d),c),o+=2}return e},h.prototype.computeVisibility=function(t){for(var e=this.planes,a=!1,i=0,r=e.length;i<r;++i){var n=t.intersectPlane(f.Plane.fromCartesian4(e[i],l));if(n===w.Intersect.OUTSIDE)return w.Intersect.OUTSIDE;n===w.Intersect.INTERSECTING&&(a=!0)}return a?w.Intersect.INTERSECTING:w.Intersect.INSIDE},h.prototype.computeVisibilityWithPlaneMask=function(t,e){if(e===h.MASK_OUTSIDE||e===h.MASK_INSIDE)return e;for(var a=h.MASK_INSIDE,i=this.planes,r=0,n=i.length;r<n;++r){var o=r<31?1<<r:0;if(!(r<31&&0==(e&o))){var s=t.intersectPlane(f.Plane.fromCartesian4(i[r],l));if(s===w.Intersect.OUTSIDE)return h.MASK_OUTSIDE;s===w.Intersect.INTERSECTING&&(a|=o)}}return a},h.MASK_OUTSIDE=4294967295,h.MASK_INSIDE=0,h.MASK_INDETERMINATE=2147483647,Object.defineProperties(r.prototype,{projectionMatrix:{get:function(){return n(this),this._orthographicMatrix}}});var m=new g.Cartesian3,C=new g.Cartesian3,_=new g.Cartesian3,y=new g.Cartesian3;function F(t){t=v.defaultValue(t,v.defaultValue.EMPTY_OBJECT),this._offCenterFrustum=new r,this.width=t.width,this._width=void 0,this.aspectRatio=t.aspectRatio,this._aspectRatio=void 0,this.near=v.defaultValue(t.near,1),this._near=this.near,this.far=v.defaultValue(t.far,5e8),this._far=this.far}function o(t){var e,a=t._offCenterFrustum;t.width===t._width&&t.aspectRatio===t._aspectRatio&&t.near===t._near&&t.far===t._far||(t._aspectRatio=t.aspectRatio,t._width=t.width,t._near=t.near,t._far=t.far,e=1/t.aspectRatio,a.right=.5*t.width,a.left=-a.right,a.top=e*a.right,a.bottom=-a.top,a.near=t.near,a.far=t.far)}function s(t){t=v.defaultValue(t,v.defaultValue.EMPTY_OBJECT),this.left=t.left,this._left=void 0,this.right=t.right,this._right=void 0,this.top=t.top,this._top=void 0,this.bottom=t.bottom,this._bottom=void 0,this.near=v.defaultValue(t.near,1),this._near=this.near,this.far=v.defaultValue(t.far,5e8),this._far=this.far,this._cullingVolume=new h,this._perspectiveMatrix=new w.Matrix4,this._infinitePerspective=new w.Matrix4}function V(t){var e=t.top,a=t.bottom,i=t.right,r=t.left,n=t.near,o=t.far;e===t._top&&a===t._bottom&&r===t._left&&i===t._right&&n===t._near&&o===t._far||(t._left=r,t._right=i,t._top=e,t._bottom=a,t._near=n,t._far=o,t._perspectiveMatrix=w.Matrix4.computePerspectiveOffCenter(r,i,a,e,n,o,t._perspectiveMatrix),t._infinitePerspective=w.Matrix4.computeInfinitePerspectiveOffCenter(r,i,a,e,n,t._infinitePerspective))}r.prototype.computeCullingVolume=function(t,e,a){var i=this._cullingVolume.planes,r=this.top,n=this.bottom,o=this.right,s=this.left,f=this.near,u=this.far,l=g.Cartesian3.cross(e,a,m);g.Cartesian3.normalize(l,l);var h=C;g.Cartesian3.multiplyByScalar(e,f,h),g.Cartesian3.add(t,h,h);f=_;g.Cartesian3.multiplyByScalar(l,s,f),g.Cartesian3.add(h,f,f);s=i[0];return v.defined(s)||(s=i[0]=new w.Cartesian4),s.x=l.x,s.y=l.y,s.z=l.z,s.w=-g.Cartesian3.dot(l,f),g.Cartesian3.multiplyByScalar(l,o,f),g.Cartesian3.add(h,f,f),s=i[1],v.defined(s)||(s=i[1]=new w.Cartesian4),s.x=-l.x,s.y=-l.y,s.z=-l.z,s.w=-g.Cartesian3.dot(g.Cartesian3.negate(l,y),f),g.Cartesian3.multiplyByScalar(a,n,f),g.Cartesian3.add(h,f,f),s=i[2],v.defined(s)||(s=i[2]=new w.Cartesian4),s.x=a.x,s.y=a.y,s.z=a.z,s.w=-g.Cartesian3.dot(a,f),g.Cartesian3.multiplyByScalar(a,r,f),g.Cartesian3.add(h,f,f),s=i[3],v.defined(s)||(s=i[3]=new w.Cartesian4),s.x=-a.x,s.y=-a.y,s.z=-a.z,s.w=-g.Cartesian3.dot(g.Cartesian3.negate(a,y),f),s=i[4],v.defined(s)||(s=i[4]=new w.Cartesian4),s.x=e.x,s.y=e.y,s.z=e.z,s.w=-g.Cartesian3.dot(e,h),g.Cartesian3.multiplyByScalar(e,u,f),g.Cartesian3.add(t,f,f),s=i[5],v.defined(s)||(s=i[5]=new w.Cartesian4),s.x=-e.x,s.y=-e.y,s.z=-e.z,s.w=-g.Cartesian3.dot(g.Cartesian3.negate(e,y),f),this._cullingVolume},r.prototype.getPixelDimensions=function(t,e,a,i,r){n(this);t=i*(this.right-this.left)/t,e=i*(this.top-this.bottom)/e;return r.x=t,r.y=e,r},r.prototype.clone=function(t){return v.defined(t)||(t=new r),t.left=this.left,t.right=this.right,t.top=this.top,t.bottom=this.bottom,t.near=this.near,t.far=this.far,t._left=void 0,t._right=void 0,t._top=void 0,t._bottom=void 0,t._near=void 0,t._far=void 0,t},r.prototype.equals=function(t){return v.defined(t)&&t instanceof r&&this.right===t.right&&this.left===t.left&&this.top===t.top&&this.bottom===t.bottom&&this.near===t.near&&this.far===t.far},r.prototype.equalsEpsilon=function(t,e,a){return t===this||v.defined(t)&&t instanceof r&&i.CesiumMath.equalsEpsilon(this.right,t.right,e,a)&&i.CesiumMath.equalsEpsilon(this.left,t.left,e,a)&&i.CesiumMath.equalsEpsilon(this.top,t.top,e,a)&&i.CesiumMath.equalsEpsilon(this.bottom,t.bottom,e,a)&&i.CesiumMath.equalsEpsilon(this.near,t.near,e,a)&&i.CesiumMath.equalsEpsilon(this.far,t.far,e,a)},F.packedLength=4,F.pack=function(t,e,a){return a=v.defaultValue(a,0),e[a++]=t.width,e[a++]=t.aspectRatio,e[a++]=t.near,e[a]=t.far,e},F.unpack=function(t,e,a){return e=v.defaultValue(e,0),v.defined(a)||(a=new F),a.width=t[e++],a.aspectRatio=t[e++],a.near=t[e++],a.far=t[e],a},Object.defineProperties(F.prototype,{projectionMatrix:{get:function(){return o(this),this._offCenterFrustum.projectionMatrix}}}),F.prototype.computeCullingVolume=function(t,e,a){return o(this),this._offCenterFrustum.computeCullingVolume(t,e,a)},F.prototype.getPixelDimensions=function(t,e,a,i,r){return o(this),this._offCenterFrustum.getPixelDimensions(t,e,a,i,r)},F.prototype.clone=function(t){return v.defined(t)||(t=new F),t.aspectRatio=this.aspectRatio,t.width=this.width,t.near=this.near,t.far=this.far,t._aspectRatio=void 0,t._width=void 0,t._near=void 0,t._far=void 0,this._offCenterFrustum.clone(t._offCenterFrustum),t},F.prototype.equals=function(t){return!!(v.defined(t)&&t instanceof F)&&(o(this),o(t),this.width===t.width&&this.aspectRatio===t.aspectRatio&&this._offCenterFrustum.equals(t._offCenterFrustum))},F.prototype.equalsEpsilon=function(t,e,a){return!!(v.defined(t)&&t instanceof F)&&(o(this),o(t),i.CesiumMath.equalsEpsilon(this.width,t.width,e,a)&&i.CesiumMath.equalsEpsilon(this.aspectRatio,t.aspectRatio,e,a)&&this._offCenterFrustum.equalsEpsilon(t._offCenterFrustum,e,a))},Object.defineProperties(s.prototype,{projectionMatrix:{get:function(){return V(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return V(this),this._infinitePerspective}}});var E=new g.Cartesian3,O=new g.Cartesian3,P=new g.Cartesian3,z=new g.Cartesian3;function R(t){t=v.defaultValue(t,v.defaultValue.EMPTY_OBJECT),this._offCenterFrustum=new s,this.fov=t.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=t.aspectRatio,this._aspectRatio=void 0,this.near=v.defaultValue(t.near,1),this._near=this.near,this.far=v.defaultValue(t.far,5e8),this._far=this.far,this.xOffset=v.defaultValue(t.xOffset,0),this._xOffset=this.xOffset,this.yOffset=v.defaultValue(t.yOffset,0),this._yOffset=this.yOffset}function S(t){var e=t._offCenterFrustum;t.fov===t._fov&&t.aspectRatio===t._aspectRatio&&t.near===t._near&&t.far===t._far&&t.xOffset===t._xOffset&&t.yOffset===t._yOffset||(t._aspectRatio=t.aspectRatio,t._fov=t.fov,t._fovy=t.aspectRatio<=1?t.fov:2*Math.atan(Math.tan(.5*t.fov)/t.aspectRatio),t._near=t.near,t._far=t.far,t._sseDenominator=2*Math.tan(.5*t._fovy),t._xOffset=t.xOffset,t._yOffset=t.yOffset,e.top=t.near*Math.tan(.5*t._fovy),e.bottom=-e.top,e.right=t.aspectRatio*e.top,e.left=-e.right,e.near=t.near,e.far=t.far,e.right+=t.xOffset,e.left+=t.xOffset,e.top+=t.yOffset,e.bottom+=t.yOffset)}s.prototype.computeCullingVolume=function(t,e,a){var i=this._cullingVolume.planes,r=this.top,n=this.bottom,o=this.right,s=this.left,f=this.near,u=this.far,l=g.Cartesian3.cross(e,a,E),h=O;g.Cartesian3.multiplyByScalar(e,f,h),g.Cartesian3.add(t,h,h);f=P;g.Cartesian3.multiplyByScalar(e,u,f),g.Cartesian3.add(t,f,f);u=z;g.Cartesian3.multiplyByScalar(l,s,u),g.Cartesian3.add(h,u,u),g.Cartesian3.subtract(u,t,u),g.Cartesian3.normalize(u,u),g.Cartesian3.cross(u,a,u),g.Cartesian3.normalize(u,u);s=i[0];return v.defined(s)||(s=i[0]=new w.Cartesian4),s.x=u.x,s.y=u.y,s.z=u.z,s.w=-g.Cartesian3.dot(u,t),g.Cartesian3.multiplyByScalar(l,o,u),g.Cartesian3.add(h,u,u),g.Cartesian3.subtract(u,t,u),g.Cartesian3.cross(a,u,u),g.Cartesian3.normalize(u,u),s=i[1],v.defined(s)||(s=i[1]=new w.Cartesian4),s.x=u.x,s.y=u.y,s.z=u.z,s.w=-g.Cartesian3.dot(u,t),g.Cartesian3.multiplyByScalar(a,n,u),g.Cartesian3.add(h,u,u),g.Cartesian3.subtract(u,t,u),g.Cartesian3.cross(l,u,u),g.Cartesian3.normalize(u,u),s=i[2],v.defined(s)||(s=i[2]=new w.Cartesian4),s.x=u.x,s.y=u.y,s.z=u.z,s.w=-g.Cartesian3.dot(u,t),g.Cartesian3.multiplyByScalar(a,r,u),g.Cartesian3.add(h,u,u),g.Cartesian3.subtract(u,t,u),g.Cartesian3.cross(u,l,u),g.Cartesian3.normalize(u,u),s=i[3],v.defined(s)||(s=i[3]=new w.Cartesian4),s.x=u.x,s.y=u.y,s.z=u.z,s.w=-g.Cartesian3.dot(u,t),s=i[4],v.defined(s)||(s=i[4]=new w.Cartesian4),s.x=e.x,s.y=e.y,s.z=e.z,s.w=-g.Cartesian3.dot(e,h),g.Cartesian3.negate(e,u),s=i[5],v.defined(s)||(s=i[5]=new w.Cartesian4),s.x=u.x,s.y=u.y,s.z=u.z,s.w=-g.Cartesian3.dot(u,f),this._cullingVolume},s.prototype.getPixelDimensions=function(t,e,a,i,r){V(this);var n=1/this.near,e=2*i*a*(this.top*n)/e,t=2*i*a*(this.right*n)/t;return r.x=t,r.y=e,r},s.prototype.clone=function(t){return v.defined(t)||(t=new s),t.right=this.right,t.left=this.left,t.top=this.top,t.bottom=this.bottom,t.near=this.near,t.far=this.far,t._left=void 0,t._right=void 0,t._top=void 0,t._bottom=void 0,t._near=void 0,t._far=void 0,t},s.prototype.equals=function(t){return v.defined(t)&&t instanceof s&&this.right===t.right&&this.left===t.left&&this.top===t.top&&this.bottom===t.bottom&&this.near===t.near&&this.far===t.far},s.prototype.equalsEpsilon=function(t,e,a){return t===this||v.defined(t)&&t instanceof s&&i.CesiumMath.equalsEpsilon(this.right,t.right,e,a)&&i.CesiumMath.equalsEpsilon(this.left,t.left,e,a)&&i.CesiumMath.equalsEpsilon(this.top,t.top,e,a)&&i.CesiumMath.equalsEpsilon(this.bottom,t.bottom,e,a)&&i.CesiumMath.equalsEpsilon(this.near,t.near,e,a)&&i.CesiumMath.equalsEpsilon(this.far,t.far,e,a)},R.packedLength=6,R.pack=function(t,e,a){return a=v.defaultValue(a,0),e[a++]=t.fov,e[a++]=t.aspectRatio,e[a++]=t.near,e[a++]=t.far,e[a++]=t.xOffset,e[a]=t.yOffset,e},R.unpack=function(t,e,a){return e=v.defaultValue(e,0),v.defined(a)||(a=new R),a.fov=t[e++],a.aspectRatio=t[e++],a.near=t[e++],a.far=t[e++],a.xOffset=t[e++],a.yOffset=t[e],a},Object.defineProperties(R.prototype,{projectionMatrix:{get:function(){return S(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return S(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return S(this),this._fovy}},sseDenominator:{get:function(){return S(this),this._sseDenominator}}}),R.prototype.computeCullingVolume=function(t,e,a){return S(this),this._offCenterFrustum.computeCullingVolume(t,e,a)},R.prototype.getPixelDimensions=function(t,e,a,i,r){return S(this),this._offCenterFrustum.getPixelDimensions(t,e,a,i,r)},R.prototype.clone=function(t){return v.defined(t)||(t=new R),t.aspectRatio=this.aspectRatio,t.fov=this.fov,t.near=this.near,t.far=this.far,t._aspectRatio=void 0,t._fov=void 0,t._near=void 0,t._far=void 0,this._offCenterFrustum.clone(t._offCenterFrustum),t},R.prototype.equals=function(t){return!!(v.defined(t)&&t instanceof R)&&(S(this),S(t),this.fov===t.fov&&this.aspectRatio===t.aspectRatio&&this._offCenterFrustum.equals(t._offCenterFrustum))},R.prototype.equalsEpsilon=function(t,e,a){return!!(v.defined(t)&&t instanceof R)&&(S(this),S(t),i.CesiumMath.equalsEpsilon(this.fov,t.fov,e,a)&&i.CesiumMath.equalsEpsilon(this.aspectRatio,t.aspectRatio,e,a)&&this._offCenterFrustum.equalsEpsilon(t._offCenterFrustum,e,a))};function T(t){var e,a,i=t.frustum,r=t.orientation,n=t.origin,o=v.defaultValue(t.vertexFormat,u.VertexFormat.DEFAULT),t=v.defaultValue(t._drawNearPlane,!0);i instanceof R?(e=0,a=R.packedLength):i instanceof F&&(e=1,a=F.packedLength),this._frustumType=e,this._frustum=i.clone(),this._origin=g.Cartesian3.clone(n),this._orientation=w.Quaternion.clone(r),this._drawNearPlane=t,this._vertexFormat=o,this._workerName="createFrustumGeometry",this.packedLength=2+a+g.Cartesian3.packedLength+w.Quaternion.packedLength+u.VertexFormat.packedLength}T.pack=function(t,e,a){a=v.defaultValue(a,0);var i=t._frustumType,r=t._frustum;return 0===(e[a++]=i)?(R.pack(r,e,a),a+=R.packedLength):(F.pack(r,e,a),a+=F.packedLength),g.Cartesian3.pack(t._origin,e,a),a+=g.Cartesian3.packedLength,w.Quaternion.pack(t._orientation,e,a),a+=w.Quaternion.packedLength,u.VertexFormat.pack(t._vertexFormat,e,a),e[a+=u.VertexFormat.packedLength]=t._drawNearPlane?1:0,e};var k=new R,A=new F,D=new w.Quaternion,I=new g.Cartesian3,q=new u.VertexFormat;function B(t,e,a,i,r,n,o,s){for(var f=t/3*2,u=0;u<4;++u)v.defined(e)&&(e[t]=n.x,e[t+1]=n.y,e[t+2]=n.z),v.defined(a)&&(a[t]=o.x,a[t+1]=o.y,a[t+2]=o.z),v.defined(i)&&(i[t]=s.x,i[t+1]=s.y,i[t+2]=s.z),t+=3;r[f]=0,r[1+f]=0,r[2+f]=1,r[3+f]=0,r[4+f]=1,r[5+f]=1,r[6+f]=0,r[7+f]=1}T.unpack=function(t,e,a){e=v.defaultValue(e,0);var i,r=t[e++];0===r?(i=R.unpack(t,e,k),e+=R.packedLength):(i=F.unpack(t,e,A),e+=F.packedLength);var n=g.Cartesian3.unpack(t,e,I);e+=g.Cartesian3.packedLength;var o=w.Quaternion.unpack(t,e,D);e+=w.Quaternion.packedLength;var s=u.VertexFormat.unpack(t,e,q),t=1===t[e+=u.VertexFormat.packedLength];if(!v.defined(a))return new T({frustum:i,origin:n,orientation:o,vertexFormat:s,_drawNearPlane:t});e=r===a._frustumType?a._frustum:void 0;return a._frustum=i.clone(e),a._frustumType=r,a._origin=g.Cartesian3.clone(n,a._origin),a._orientation=w.Quaternion.clone(o,a._orientation),a._vertexFormat=u.VertexFormat.clone(s,a._vertexFormat),a._drawNearPlane=t,a};var L=new w.Matrix3,N=new w.Matrix4,G=new w.Matrix4,j=new g.Cartesian3,U=new g.Cartesian3,Q=new g.Cartesian3,K=new g.Cartesian3,Y=new g.Cartesian3,J=new g.Cartesian3,W=new Array(3),X=new Array(4);X[0]=new w.Cartesian4(-1,-1,1,1),X[1]=new w.Cartesian4(1,-1,1,1),X[2]=new w.Cartesian4(1,1,1,1),X[3]=new w.Cartesian4(-1,1,1,1);for(var Z=new Array(4),a=0;a<4;++a)Z[a]=new w.Cartesian4;T._computeNearFarPlanes=function(t,e,a,i,r,n,o,s){var e=w.Matrix3.fromQuaternion(e,L),n=v.defaultValue(n,j),o=v.defaultValue(o,U),f=v.defaultValue(s,Q),n=w.Matrix3.getColumn(e,0,n),o=w.Matrix3.getColumn(e,1,o),f=w.Matrix3.getColumn(e,2,f);g.Cartesian3.normalize(n,n),g.Cartesian3.normalize(o,o),g.Cartesian3.normalize(f,f),g.Cartesian3.negate(n,n);var u,l,n=w.Matrix4.computeView(t,f,o,n,N);0===a?(a=i.projectionMatrix,a=w.Matrix4.multiply(a,n,G),l=w.Matrix4.inverse(a,G)):u=w.Matrix4.inverseTransformation(n,G),v.defined(l)?(W[0]=i.near,W[1]=i.far):(W[0]=0,W[1]=i.near,W[2]=i.far);for(var h=0;h<2;++h)for(var p=0;p<4;++p){var c,d,m=w.Cartesian4.clone(X[p],Z[p]);v.defined(l)?(c=1/(m=w.Matrix4.multiplyByVector(l,m,m)).w,g.Cartesian3.multiplyByScalar(m,c,m),g.Cartesian3.subtract(m,t,m),g.Cartesian3.normalize(m,m),d=g.Cartesian3.dot(f,m),g.Cartesian3.multiplyByScalar(m,W[h]/d,m),g.Cartesian3.add(m,t,m)):(v.defined(i._offCenterFrustum)&&(i=i._offCenterFrustum),c=W[h],d=W[h+1],m.x=.5*(m.x*(i.right-i.left)+i.left+i.right),m.y=.5*(m.y*(i.top-i.bottom)+i.bottom+i.top),m.z=.5*(m.z*(c-d)-c-d),m.w=1,w.Matrix4.multiplyByVector(u,m,m)),r[12*h+3*p]=m.x,r[12*h+3*p+1]=m.y,r[12*h+3*p+2]=m.z}},T.createGeometry=function(t){var e=t._frustumType,a=t._frustum,i=t._origin,r=t._orientation,n=t._drawNearPlane,o=t._vertexFormat,s=n?6:5,f=new Float64Array(72);T._computeNearFarPlanes(i,r,e,a,f);var u=24;f[u]=f[12],f[u+1]=f[13],f[u+2]=f[14],f[u+3]=f[0],f[u+4]=f[1],f[u+5]=f[2],f[u+6]=f[9],f[u+7]=f[10],f[u+8]=f[11],f[u+9]=f[21],f[u+10]=f[22],f[u+11]=f[23],f[u+=12]=f[15],f[u+1]=f[16],f[u+2]=f[17],f[u+3]=f[3],f[u+4]=f[4],f[u+5]=f[5],f[u+6]=f[0],f[u+7]=f[1],f[u+8]=f[2],f[u+9]=f[12],f[u+10]=f[13],f[u+11]=f[14],f[u+=12]=f[3],f[u+1]=f[4],f[u+2]=f[5],f[u+3]=f[15],f[u+4]=f[16],f[u+5]=f[17],f[u+6]=f[18],f[u+7]=f[19],f[u+8]=f[20],f[u+9]=f[6],f[u+10]=f[7],f[u+11]=f[8],f[u+=12]=f[6],f[u+1]=f[7],f[u+2]=f[8],f[u+3]=f[18],f[u+4]=f[19],f[u+5]=f[20],f[u+6]=f[21],f[u+7]=f[22],f[u+8]=f[23],f[u+9]=f[9],f[u+10]=f[10],f[u+11]=f[11],n||(f=f.subarray(12));var l,h,p,c,d=new M.GeometryAttributes({position:new b.GeometryAttribute({componentDatatype:x.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:f})});(v.defined(o.normal)||v.defined(o.tangent)||v.defined(o.bitangent)||v.defined(o.st))&&(l=v.defined(o.normal)?new Float32Array(12*s):void 0,h=v.defined(o.tangent)?new Float32Array(12*s):void 0,p=v.defined(o.bitangent)?new Float32Array(12*s):void 0,c=v.defined(o.st)?new Float32Array(8*s):void 0,t=j,i=U,r=Q,e=g.Cartesian3.negate(t,K),a=g.Cartesian3.negate(i,Y),o=g.Cartesian3.negate(r,J),u=0,n&&(B(u,l,h,p,c,o,t,i),u+=12),B(u,l,h,p,c,r,e,i),B(u+=12,l,h,p,c,e,o,i),B(u+=12,l,h,p,c,a,o,e),B(u+=12,l,h,p,c,t,r,i),B(u+=12,l,h,p,c,i,r,e),v.defined(l)&&(d.normal=new b.GeometryAttribute({componentDatatype:x.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:l})),v.defined(h)&&(d.tangent=new b.GeometryAttribute({componentDatatype:x.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:h})),v.defined(p)&&(d.bitangent=new b.GeometryAttribute({componentDatatype:x.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:p})),v.defined(c)&&(d.st=new b.GeometryAttribute({componentDatatype:x.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:c})));for(var m=new Uint16Array(6*s),C=0;C<s;++C){var _=6*C,y=4*C;m[_]=y,m[1+_]=1+y,m[2+_]=2+y,m[3+_]=y,m[4+_]=2+y,m[5+_]=3+y}return new b.Geometry({attributes:d,indices:m,primitiveType:b.PrimitiveType.TRIANGLES,boundingSphere:w.BoundingSphere.fromVertices(f)})},t.FrustumGeometry=T,t.OrthographicFrustum=F,t.PerspectiveFrustum=R}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/GeometryAttribute-be1a3386.js b/public/GV/thirdParty/CesiumManager/Workers/GeometryAttribute-be1a3386.js new file mode 100644 index 000000000..27b11e81a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/GeometryAttribute-be1a3386.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Cartesian2-bddc1162","./Transforms-d07bb42c","./WebGLConstants-76bb35d1"],function(t,a,e,x,L,n){"use strict";var r=Object.freeze({NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3});function w(t,e,n,r){this[0]=a.defaultValue(t,0),this[1]=a.defaultValue(n,0),this[2]=a.defaultValue(e,0),this[3]=a.defaultValue(r,0)}w.packedLength=4,w.pack=function(t,e,n){return n=a.defaultValue(n,0),e[n++]=t[0],e[n++]=t[1],e[n++]=t[2],e[n++]=t[3],e},w.unpack=function(t,e,n){return e=a.defaultValue(e,0),a.defined(n)||(n=new w),n[0]=t[e++],n[1]=t[e++],n[2]=t[e++],n[3]=t[e++],n},w.clone=function(t,e){if(a.defined(t))return a.defined(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):new w(t[0],t[2],t[1],t[3])},w.fromArray=function(t,e,n){return e=a.defaultValue(e,0),a.defined(n)||(n=new w),n[0]=t[e],n[1]=t[e+1],n[2]=t[e+2],n[3]=t[e+3],n},w.fromColumnMajorArray=function(t,e){return w.clone(t,e)},w.fromRowMajorArray=function(t,e){return a.defined(e)?(e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3],e):new w(t[0],t[1],t[2],t[3])},w.fromScale=function(t,e){return a.defined(e)?(e[0]=t.x,e[1]=0,e[2]=0,e[3]=t.y,e):new w(t.x,0,0,t.y)},w.fromUniformScale=function(t,e){return a.defined(e)?(e[0]=t,e[1]=0,e[2]=0,e[3]=t,e):new w(t,0,0,t)},w.fromRotation=function(t,e){var n=Math.cos(t),t=Math.sin(t);return a.defined(e)?(e[0]=n,e[1]=t,e[2]=-t,e[3]=n,e):new w(n,-t,t,n)},w.toArray=function(t,e){return a.defined(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):[t[0],t[1],t[2],t[3]]},w.getElementIndex=function(t,e){return 2*t+e},w.getColumn=function(t,e,n){var r=2*e,e=t[r],r=t[1+r];return n.x=e,n.y=r,n},w.setColumn=function(t,e,n,r){e*=2;return(r=w.clone(t,r))[e]=n.x,r[1+e]=n.y,r},w.getRow=function(t,e,n){var r=t[e],e=t[e+2];return n.x=r,n.y=e,n},w.setRow=function(t,e,n,r){return(r=w.clone(t,r))[e]=n.x,r[e+2]=n.y,r};var i=new x.Cartesian2;w.getScale=function(t,e){return e.x=x.Cartesian2.magnitude(x.Cartesian2.fromElements(t[0],t[1],i)),e.y=x.Cartesian2.magnitude(x.Cartesian2.fromElements(t[2],t[3],i)),e};var u=new x.Cartesian2;w.getMaximumScale=function(t){return w.getScale(t,u),x.Cartesian2.maximumComponent(u)},w.multiply=function(t,e,n){var r=t[0]*e[0]+t[2]*e[1],a=t[0]*e[2]+t[2]*e[3],i=t[1]*e[0]+t[3]*e[1],e=t[1]*e[2]+t[3]*e[3];return n[0]=r,n[1]=i,n[2]=a,n[3]=e,n},w.add=function(t,e,n){return n[0]=t[0]+e[0],n[1]=t[1]+e[1],n[2]=t[2]+e[2],n[3]=t[3]+e[3],n},w.subtract=function(t,e,n){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n[2]=t[2]-e[2],n[3]=t[3]-e[3],n},w.multiplyByVector=function(t,e,n){var r=t[0]*e.x+t[2]*e.y,e=t[1]*e.x+t[3]*e.y;return n.x=r,n.y=e,n},w.multiplyByScalar=function(t,e,n){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n},w.multiplyByScale=function(t,e,n){return n[0]=t[0]*e.x,n[1]=t[1]*e.x,n[2]=t[2]*e.y,n[3]=t[3]*e.y,n},w.negate=function(t,e){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e},w.transpose=function(t,e){var n=t[0],r=t[2],a=t[1],t=t[3];return e[0]=n,e[1]=r,e[2]=a,e[3]=t,e},w.abs=function(t,e){return e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e[3]=Math.abs(t[3]),e},w.equals=function(t,e){return t===e||a.defined(t)&&a.defined(e)&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},w.equalsArray=function(t,e,n){return t[0]===e[n]&&t[1]===e[n+1]&&t[2]===e[n+2]&&t[3]===e[n+3]},w.equalsEpsilon=function(t,e,n){return n=a.defaultValue(n,0),t===e||a.defined(t)&&a.defined(e)&&Math.abs(t[0]-e[0])<=n&&Math.abs(t[1]-e[1])<=n&&Math.abs(t[2]-e[2])<=n&&Math.abs(t[3]-e[3])<=n},w.IDENTITY=Object.freeze(new w(1,0,0,1)),w.ZERO=Object.freeze(new w(0,0,0,0)),w.COLUMN0ROW0=0,w.COLUMN0ROW1=1,w.COLUMN1ROW0=2,w.COLUMN1ROW1=3,Object.defineProperties(w.prototype,{length:{get:function(){return w.packedLength}}}),w.prototype.clone=function(t){return w.clone(this,t)},w.prototype.equals=function(t){return w.equals(this,t)},w.prototype.equalsEpsilon=function(t,e){return w.equalsEpsilon(this,t,e)},w.prototype.toString=function(){return"("+this[0]+", "+this[2]+")\n("+this[1]+", "+this[3]+")"};var o={POINTS:n.WebGLConstants.POINTS,LINES:n.WebGLConstants.LINES,LINE_LOOP:n.WebGLConstants.LINE_LOOP,LINE_STRIP:n.WebGLConstants.LINE_STRIP,TRIANGLES:n.WebGLConstants.TRIANGLES,TRIANGLE_STRIP:n.WebGLConstants.TRIANGLE_STRIP,TRIANGLE_FAN:n.WebGLConstants.TRIANGLE_FAN,validate:function(t){return t===o.POINTS||t===o.LINES||t===o.LINE_LOOP||t===o.LINE_STRIP||t===o.TRIANGLES||t===o.TRIANGLE_STRIP||t===o.TRIANGLE_FAN}},s=Object.freeze(o);function f(t){t=a.defaultValue(t,a.defaultValue.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=a.defaultValue(t.primitiveType,s.TRIANGLES),this.boundingSphere=t.boundingSphere,this.geometryType=a.defaultValue(t.geometryType,r.NONE),this.boundingSphereCV=t.boundingSphereCV,this.offsetAttribute=t.offsetAttribute}f.computeNumberOfVertices=function(t){var e,n,r=-1;for(e in t.attributes)t.attributes.hasOwnProperty(e)&&a.defined(t.attributes[e])&&a.defined(t.attributes[e].values)&&(r=(n=t.attributes[e]).values.length/n.componentsPerAttribute);return r};var g=new x.Cartographic,S=new x.Cartesian3,A=new L.Matrix4,O=[new x.Cartographic,new x.Cartographic,new x.Cartographic],M=[new x.Cartesian2,new x.Cartesian2,new x.Cartesian2],R=[new x.Cartesian2,new x.Cartesian2,new x.Cartesian2],v=new x.Cartesian3,V=new L.Quaternion,P=new L.Matrix4,G=new w;f._textureCoordinateRotationPoints=function(t,e,n,r){var a=x.Rectangle.center(r,g),i=x.Cartographic.toCartesian(a,n,S),a=L.Transforms.eastNorthUpToFixedFrame(i,n,A),u=L.Matrix4.inverse(a,A),o=M,s=O;s[0].longitude=r.west,s[0].latitude=r.south,s[1].longitude=r.west,s[1].latitude=r.north,s[2].longitude=r.east,s[2].latitude=r.south;for(var f=v,c=0;c<3;c++)x.Cartographic.toCartesian(s[c],n,f),f=L.Matrix4.multiplyByPointAsVector(u,f,f),o[c].x=f.x,o[c].y=f.y;var i=L.Quaternion.fromAxisAngle(x.Cartesian3.UNIT_Z,-e,V),l=L.Matrix3.fromQuaternion(i,P),d=t.length,y=Number.POSITIVE_INFINITY,m=Number.POSITIVE_INFINITY,p=Number.NEGATIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(c=0;c<d;c++)f=L.Matrix4.multiplyByPointAsVector(u,t[c],f),f=L.Matrix3.multiplyByVector(l,f,f),y=Math.min(y,f.x),m=Math.min(m,f.y),p=Math.max(p,f.x),h=Math.max(h,f.y);var N=w.fromRotation(e,G),I=R;I[0].x=y,I[0].y=m,I[1].x=y,I[1].y=h,I[2].x=p,I[2].y=m;var b=o[0],C=o[2].x-b.x,T=o[1].y-b.y;for(c=0;c<3;c++){var E=I[c];w.multiplyByVector(N,E,E),E.x=(E.x-b.x)/C,E.y=(E.y-b.y)/T}a=I[0],r=I[1],i=I[2],e=new Array(6);return x.Cartesian2.pack(a,e),x.Cartesian2.pack(r,e,2),x.Cartesian2.pack(i,e,4),e},t.Geometry=f,t.GeometryAttribute=function(t){t=a.defaultValue(t,a.defaultValue.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=a.defaultValue(t.normalize,!1),this.values=t.values},t.GeometryType=r,t.Matrix2=w,t.PrimitiveType=s}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/GeometryAttributes-4fcfcf40.js b/public/GV/thirdParty/CesiumManager/Workers/GeometryAttributes-4fcfcf40.js new file mode 100644 index 000000000..3294b24e5 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/GeometryAttributes-4fcfcf40.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71"],function(t,n){"use strict";t.GeometryAttributes=function(t){t=n.defaultValue(t,n.defaultValue.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.bitangent=t.bitangent,this.tangent=t.tangent,this.color=t.color}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/GeometryInstance-161eaba2.js b/public/GV/thirdParty/CesiumManager/Workers/GeometryInstance-161eaba2.js new file mode 100644 index 000000000..9f5a551fe --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/GeometryInstance-161eaba2.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Transforms-d07bb42c"],function(e,t,i,r){"use strict";e.GeometryInstance=function(e){e=t.defaultValue(e,t.defaultValue.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=r.Matrix4.clone(t.defaultValue(e.modelMatrix,r.Matrix4.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=t.defaultValue(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/GeometryOffsetAttribute-7350d9af.js b/public/GV/thirdParty/CesiumManager/Workers/GeometryOffsetAttribute-7350d9af.js new file mode 100644 index 000000000..99ee9fd9d --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/GeometryOffsetAttribute-7350d9af.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc"],function(e,l,t){"use strict";var a=Object.freeze({NONE:0,TOP:1,ALL:2});e.GeometryOffsetAttribute=a,e.arrayFill=function(e,t,a,f){if("function"==typeof e.fill)return e.fill(t,a,f);for(var r=e.length>>>0,n=(a=l.defaultValue(a,0))<0?Math.max(r+a,0):Math.min(a,r),i=(f=l.defaultValue(f,r))<0?Math.max(r+f,0):Math.min(f,r);n<i;)e[n]=t,n++;return e}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/GeometryPipeline-c2d75081.js b/public/GV/thirdParty/CesiumManager/Workers/GeometryPipeline-c2d75081.js new file mode 100644 index 000000000..e36785fbb --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/GeometryPipeline-c2d75081.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./AttributeCompression-9fc99391","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487"],function(e,R,t,L,V,z,w,S,A,d,P,D,a){"use strict";var g=new V.Cartesian3,T=new V.Cartesian3,x=new V.Cartesian3;var s={calculateACMR:function(e){var t=(e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT)).indices,r=e.maximumIndex,a=R.defaultValue(e.cacheSize,24),n=t.length;if(!R.defined(r))for(var i=r=0,s=t[i];i<n;)r<s&&(r=s),s=t[++i];for(var o=[],u=0;u<r+1;u++)o[u]=0;for(var p=a+1,d=0;d<n;++d)p-o[t[d]]>a&&(o[t[d]]=p,++p);return(p-a+1)/(n/3)}};s.tipsify=function(e){var t=(e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT)).indices,r=e.maximumIndex,a=R.defaultValue(e.cacheSize,24);function n(e,t,r,a,n,i,s){for(var o,u=-1,p=-1,d=0;d<r.length;){var l=r[d];a[l].numLiveTriangles&&(o=0,n-a[l].timeStamp+2*a[l].numLiveTriangles<=t&&(o=n-a[l].timeStamp),(p<o||-1===p)&&(p=o,u=l)),++d}return-1===u?function(e,t,r){for(;1<=t.length;){var a=t[t.length-1];if(t.splice(t.length-1,1),0<e[a].numLiveTriangles)return a}for(;C<r;){if(0<e[C].numLiveTriangles)return++C-1;++C}return-1}(a,i,s):u}var e=t.length,i=0,s=0,o=t[s],u=e;if(R.defined(r))i=r+1;else{for(;s<u;)i<o&&(i=o),o=t[++s];if(-1===i)return 0;++i}for(var p=[],d=0;d<i;d++)p[d]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};for(var l=s=0;s<u;)p[t[s]].vertexTriangles.push(l),++p[t[s]].numLiveTriangles,p[t[s+1]].vertexTriangles.push(l),++p[t[s+1]].numLiveTriangles,p[t[s+2]].vertexTriangles.push(l),++p[t[s+2]].numLiveTriangles,++l,s+=3;var y,f,c,v=0,m=a+1,C=1,h=[],b=[],g=0,A=[],T=e/3,x=[];for(d=0;d<T;d++)x[d]=!1;for(;-1!==v;){h=[],c=(y=p[v]).vertexTriangles.length;for(var P=0;P<c;++P)if(!x[l=y.vertexTriangles[P]]){x[l]=!0,s=l+l+l;for(var w=0;w<3;++w)f=t[s],h.push(f),b.push(f),A[g]=f,++g,--(f=p[f]).numLiveTriangles,m-f.timeStamp>a&&(f.timeStamp=m,++m),++s}v=n(0,a,h,p,m,b,i)}return A};var r={};function o(e,t,r,a,n){e[t++]=r,e[t++]=a,e[t++]=a,e[t++]=n,e[t++]=n,e[t]=r}function c(e){var t,r,a={};for(t in e)e.hasOwnProperty(t)&&R.defined(e[t])&&R.defined(e[t].values)&&(r=e[t],a[t]=new S.GeometryAttribute({componentDatatype:r.componentDatatype,componentsPerAttribute:r.componentsPerAttribute,normalize:r.normalize,values:[]}));return a}r.toWireframe=function(e){var t=e.indices;if(R.defined(t)){switch(e.primitiveType){case S.PrimitiveType.TRIANGLES:e.indices=function(e){for(var t=e.length,r=t/3*6,a=P.IndexDatatype.createTypedArray(t,r),n=0,i=0;i<t;i+=3,n+=6)o(a,n,e[i],e[i+1],e[i+2]);return a}(t);break;case S.PrimitiveType.TRIANGLE_STRIP:e.indices=function(e){var t=e.length;if(3<=t){var r=6*(t-2),a=P.IndexDatatype.createTypedArray(t,r);o(a,0,e[0],e[1],e[2]);for(var n=6,i=3;i<t;++i,n+=6)o(a,n,e[i-1],e[i],e[i-2]);return a}return new Uint16Array}(t);break;case S.PrimitiveType.TRIANGLE_FAN:e.indices=function(e){if(0<e.length){for(var t=e.length-1,r=6*(t-1),a=P.IndexDatatype.createTypedArray(t,r),n=e[0],i=0,s=1;s<t;++s,i+=6)o(a,i,n,e[s],e[s+1]);return a}return new Uint16Array}(t)}e.primitiveType=S.PrimitiveType.LINES}return e},r.createLineSegmentsForVectors=function(e,t,r){t=R.defaultValue(t,"normal"),r=R.defaultValue(r,1e4);for(var a,n=e.attributes.position.values,i=e.attributes[t].values,s=n.length,o=new Float64Array(2*s),u=0,p=0;p<s;p+=3)o[u++]=n[p],o[u++]=n[p+1],o[u++]=n[p+2],o[u++]=n[p]+i[p]*r,o[u++]=n[p+1]+i[p+1]*r,o[u++]=n[p+2]+i[p+2]*r;e=e.boundingSphere;return R.defined(e)&&(a=new z.BoundingSphere(e.center,e.radius+r)),new S.Geometry({attributes:{position:new S.GeometryAttribute({componentDatatype:w.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:o})},primitiveType:S.PrimitiveType.LINES,boundingSphere:a})},r.createAttributeLocations=function(e){for(var t,r=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],a=e.attributes,n={},i=0,s=r.length,o=0;o<s;++o){var u=r[o];R.defined(a[u])&&(n[u]=i++)}for(t in a)a.hasOwnProperty(t)&&!R.defined(n[t])&&(n[t]=i++);return n},r.reorderForPreVertexCache=function(e){var t=S.Geometry.computeNumberOfVertices(e),r=e.indices;if(R.defined(r)){for(var a=new Int32Array(t),n=0;n<t;n++)a[n]=-1;for(var i,s=r,o=s.length,u=P.IndexDatatype.createTypedArray(t,o),p=0,d=0,l=0;p<o;)-1!==(i=a[s[p]])?u[d]=i:(a[i=s[p]]=l,u[d]=l,++l),++p,++d;e.indices=u;var y,f=e.attributes;for(y in f)if(f.hasOwnProperty(y)&&R.defined(f[y])&&R.defined(f[y].values)){for(var c=f[y],v=c.values,m=0,C=c.componentsPerAttribute,h=w.ComponentDatatype.createTypedArray(c.componentDatatype,l*C);m<t;){var b=a[m];if(-1!==b)for(var g=0;g<C;g++)h[C*b+g]=v[C*m+g];++m}c.values=h}}return e},r.reorderForPostVertexCache=function(e,t){var r=e.indices;if(e.primitiveType===S.PrimitiveType.TRIANGLES&&R.defined(r)){for(var a=r.length,n=0,i=0;i<a;i++)r[i]>n&&(n=r[i]);e.indices=s.tipsify({indices:r,maximumIndex:n,cacheSize:t})}return e},r.fitToUnsignedShortIndices=function(e){var t=[],r=S.Geometry.computeNumberOfVertices(e);if(R.defined(e.indices)&&r>=L.CesiumMath.SIXTY_FOUR_KILOBYTES){var a,n=[],i=[],s=0,o=c(e.attributes),u=e.indices,p=u.length;e.primitiveType===S.PrimitiveType.TRIANGLES?a=3:e.primitiveType===S.PrimitiveType.LINES?a=2:e.primitiveType===S.PrimitiveType.POINTS&&(a=1);for(var d=0;d<p;d+=a){for(var l=0;l<a;++l){var y=u[d+l],f=n[y];R.defined(f)||(f=s++,n[y]=f,function(e,t,r){for(var a in t)if(t.hasOwnProperty(a)&&R.defined(t[a])&&R.defined(t[a].values))for(var n=t[a],i=0;i<n.componentsPerAttribute;++i)e[a].values.push(n.values[r*n.componentsPerAttribute+i])}(o,e.attributes,y)),i.push(f)}s+a>=L.CesiumMath.SIXTY_FOUR_KILOBYTES&&(t.push(new S.Geometry({attributes:o,indices:i,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),n=[],i=[],s=0,o=c(e.attributes))}0!==i.length&&t.push(new S.Geometry({attributes:o,indices:i,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var y=new V.Cartesian3,f=new V.Cartographic;r.projectTo2D=function(e,t,r,a,n){for(var i=e.attributes[t],s=(n=R.defined(n)?n:new z.GeographicProjection).ellipsoid,o=i.values,u=new Float64Array(o.length),p=0,d=0;d<o.length;d+=3){var l=V.Cartesian3.fromArray(o,d,y),l=s.cartesianToCartographic(l,f),l=n.project(l,y);u[p++]=l.x,u[p++]=l.y,u[p++]=l.z}return e.attributes[r]=i,e.attributes[a]=new S.GeometryAttribute({componentDatatype:w.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:u}),delete e.attributes[t],e};var l={high:0,low:0};r.encodeAttribute=function(e,t,r,a){for(var n=e.attributes[t],i=n.values,s=i.length,o=new Float32Array(s),u=new Float32Array(s),p=0;p<s;++p)d.EncodedCartesian3.encode(i[p],l),o[p]=l.high,u[p]=l.low;n=n.componentsPerAttribute;return e.attributes[r]=new S.GeometryAttribute({componentDatatype:w.ComponentDatatype.FLOAT,componentsPerAttribute:n,values:o}),e.attributes[a]=new S.GeometryAttribute({componentDatatype:w.ComponentDatatype.FLOAT,componentsPerAttribute:n,values:u}),delete e.attributes[t],e};var i=new V.Cartesian3;function n(e,t){if(R.defined(t))for(var r=t.values,a=r.length,n=0;n<a;n+=3)V.Cartesian3.unpack(r,n,i),z.Matrix4.multiplyByPoint(e,i,i),V.Cartesian3.pack(i,r,n)}function u(e,t){if(R.defined(t))for(var r=t.values,a=r.length,n=0;n<a;n+=3)V.Cartesian3.unpack(r,n,i),z.Matrix3.multiplyByVector(e,i,i),i=V.Cartesian3.normalize(i,i),V.Cartesian3.pack(i,r,n)}var p=new z.Matrix4,v=new z.Matrix3;r.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(z.Matrix4.equals(t,z.Matrix4.IDENTITY))return e;var r=e.geometry.attributes;n(t,r.position),n(t,r.prevPosition),n(t,r.nextPosition),(R.defined(r.normal)||R.defined(r.tangent)||R.defined(r.bitangent))&&(z.Matrix4.inverse(t,p),z.Matrix4.transpose(p,p),z.Matrix4.getMatrix3(p,v),u(v,r.normal),u(v,r.tangent),u(v,r.bitangent));r=e.geometry.boundingSphere;return R.defined(r)&&(e.geometry.boundingSphere=z.BoundingSphere.transform(r,t,r)),e.modelMatrix=z.Matrix4.clone(z.Matrix4.IDENTITY),e};var I=new V.Cartesian3;function m(e,t){var r,a,n,i,s,o=e.length,u=(e[0].modelMatrix,R.defined(e[0][t].indices)),p=e[0][t].primitiveType,d=function(e,t){var r,a=e.length,n={},i=e[0][t].attributes;for(r in i)if(i.hasOwnProperty(r)&&R.defined(i[r])&&R.defined(i[r].values)){for(var s=i[r],o=s.values.length,u=!0,p=1;p<a;++p){var d=e[p][t].attributes[r];if(!R.defined(d)||s.componentDatatype!==d.componentDatatype||s.componentsPerAttribute!==d.componentsPerAttribute||s.normalize!==d.normalize){u=!1;break}o+=d.values.length}u&&(n[r]=new S.GeometryAttribute({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:w.ComponentDatatype.createTypedArray(s.componentDatatype,o)}))}return n}(e,t);for(r in d)if(d.hasOwnProperty(r))for(n=d[r].values,y=b=0;y<o;++y)for(s=(i=e[y][t].attributes[r].values).length,a=0;a<s;++a)n[b++]=i[a];if(u){for(var l=0,y=0;y<o;++y)l+=e[y][t].indices.length;var f=S.Geometry.computeNumberOfVertices(new S.Geometry({attributes:d,primitiveType:S.PrimitiveType.POINTS})),c=P.IndexDatatype.createTypedArray(f,l),v=0,m=0;for(y=0;y<o;++y){for(var C=e[y][t].indices,h=C.length,b=0;b<h;++b)c[v++]=m+C[b];m+=S.Geometry.computeNumberOfVertices(e[y][t])}f=c}var g,A=new V.Cartesian3,T=0;for(y=0;y<o;++y){if(g=e[y][t].boundingSphere,!R.defined(g)){A=void 0;break}V.Cartesian3.add(g.center,A,A)}if(R.defined(A))for(V.Cartesian3.divideByScalar(A,o,A),y=0;y<o;++y){g=e[y][t].boundingSphere;var x=V.Cartesian3.magnitude(V.Cartesian3.subtract(g.center,A,I))+g.radius;T<x&&(T=x)}return new S.Geometry({attributes:d,indices:f,primitiveType:p,boundingSphere:R.defined(A)?new z.BoundingSphere(A,T):void 0})}r.combineInstances=function(e){for(var t=[],r=[],a=e.length,n=0;n<a;++n){var i=e[n];R.defined(i.geometry)?t.push(i):R.defined(i.westHemisphereGeometry)&&R.defined(i.eastHemisphereGeometry)&&r.push(i)}var s=[];return 0<t.length&&s.push(m(t,"geometry")),0<r.length&&(s.push(m(r,"westHemisphereGeometry")),s.push(m(r,"eastHemisphereGeometry"))),s};var O=new V.Cartesian3,E=new V.Cartesian3,N=new V.Cartesian3,M=new V.Cartesian3;r.computeNormal=function(e){for(var t=e.indices,r=e.attributes,a=r.position.values,n=r.position.values.length/3,i=t.length,s=new Array(n),o=new Array(i/3),u=new Array(i),p=0;p<n;p++)s[p]={indexOffset:0,count:0,currentCount:0};var d=0;for(p=0;p<i;p+=3){var l=t[p],y=t[p+1],f=t[p+2],c=3*l,v=3*y,m=3*f;E.x=a[c],E.y=a[1+c],E.z=a[2+c],N.x=a[v],N.y=a[1+v],N.z=a[2+v],M.x=a[m],M.y=a[1+m],M.z=a[2+m],s[l].count++,s[y].count++,s[f].count++,V.Cartesian3.subtract(N,E,N),V.Cartesian3.subtract(M,E,M),o[d]=V.Cartesian3.cross(N,M,new V.Cartesian3),d++}var C=0;for(p=0;p<n;p++)s[p].indexOffset+=C,C+=s[p].count;for(p=d=0;p<i;p+=3){var h=(A=s[t[p]]).indexOffset+A.currentCount;u[h]=d,A.currentCount++,u[(A=s[t[p+1]]).indexOffset+A.currentCount]=d,A.currentCount++,u[(A=s[t[p+2]]).indexOffset+A.currentCount]=d,A.currentCount++,d++}var b=new Float32Array(3*n);for(p=0;p<n;p++){var g=3*p,A=s[p];if(V.Cartesian3.clone(V.Cartesian3.ZERO,O),0<A.count){for(d=0;d<A.count;d++)V.Cartesian3.add(O,o[u[A.indexOffset+d]],O);V.Cartesian3.equalsEpsilon(V.Cartesian3.ZERO,O,L.CesiumMath.EPSILON10)&&V.Cartesian3.clone(o[u[A.indexOffset]],O)}V.Cartesian3.equalsEpsilon(V.Cartesian3.ZERO,O,L.CesiumMath.EPSILON10)&&(O.z=1),V.Cartesian3.normalize(O,O),b[g]=O.x,b[1+g]=O.y,b[2+g]=O.z}return e.attributes.normal=new S.GeometryAttribute({componentDatatype:w.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:b}),e};var G=new V.Cartesian3,F=new V.Cartesian3,B=new V.Cartesian3;r.computeTangentAndBitangent=function(e){e.attributes;for(var t=e.indices,r=e.attributes.position.values,a=e.attributes.normal.values,n=e.attributes.st.values,i=e.attributes.position.values.length/3,s=t.length,o=new Array(3*i),u=0;u<o.length;u++)o[u]=0;for(u=0;u<s;u+=3){var p,d=t[u],l=t[u+1],y=t[u+2],f=3*l,c=3*y,v=2*d,m=2*l,C=2*y,h=r[p=3*d],b=r[p+1],l=r[p+2],y=n[v],d=n[1+v],v=n[1+m]-d,d=n[1+C]-d,y=1/((n[m]-y)*d-(n[C]-y)*v),h=(d*(r[f]-h)-v*(r[c]-h))*y,b=(d*(r[f+1]-b)-v*(r[c+1]-b))*y,y=(d*(r[f+2]-l)-v*(r[c+2]-l))*y;o[p]+=h,o[p+1]+=b,o[p+2]+=y,o[f]+=h,o[f+1]+=b,o[f+2]+=y,o[c]+=h,o[c+1]+=b,o[c+2]+=y}var g=new Float32Array(3*i),A=new Float32Array(3*i);for(u=0;u<i;u++){f=(p=3*u)+1,c=p+2;var T=V.Cartesian3.fromArray(a,p,G),x=V.Cartesian3.fromArray(o,p,B),P=V.Cartesian3.dot(T,x);V.Cartesian3.multiplyByScalar(T,P,F),V.Cartesian3.normalize(V.Cartesian3.subtract(x,F,x),x),g[p]=x.x,g[f]=x.y,g[c]=x.z,V.Cartesian3.normalize(V.Cartesian3.cross(T,x,x),x),A[p]=x.x,A[f]=x.y,A[c]=x.z}return e.attributes.tangent=new S.GeometryAttribute({componentDatatype:w.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:g}),e.attributes.bitangent=new S.GeometryAttribute({componentDatatype:w.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:A}),e};var k=new V.Cartesian2,_=new V.Cartesian3,q=new V.Cartesian3,U=new V.Cartesian3,Y=new V.Cartesian2;function C(e){switch(e.primitiveType){case S.PrimitiveType.TRIANGLE_FAN:return function(e){var t=S.Geometry.computeNumberOfVertices(e),r=P.IndexDatatype.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var a=3,n=3;n<t;++n)r[a++]=n-1,r[a++]=0,r[a++]=n;return e.indices=r,e.primitiveType=S.PrimitiveType.TRIANGLES,e}(e);case S.PrimitiveType.TRIANGLE_STRIP:return function(e){var t=S.Geometry.computeNumberOfVertices(e),r=P.IndexDatatype.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,3<t&&(r[3]=0,r[4]=2,r[5]=3);for(var a=6,n=3;n<t-1;n+=2)r[a++]=n,r[a++]=n-1,r[a++]=n+1,n+2<t&&(r[a++]=n,r[a++]=n+1,r[a++]=n+2);return e.indices=r,e.primitiveType=S.PrimitiveType.TRIANGLES,e}(e);case S.PrimitiveType.TRIANGLES:return function(e){if(R.defined(e.indices))return e;for(var t=S.Geometry.computeNumberOfVertices(e),r=P.IndexDatatype.createTypedArray(t,t),a=0;a<t;++a)r[a]=a;return e.indices=r,e}(e);case S.PrimitiveType.LINE_STRIP:return function(e){var t=S.Geometry.computeNumberOfVertices(e),r=P.IndexDatatype.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var a=2,n=2;n<t;++n)r[a++]=n-1,r[a++]=n;return e.indices=r,e.primitiveType=S.PrimitiveType.LINES,e}(e);case S.PrimitiveType.LINE_LOOP:return function(e){var t=S.Geometry.computeNumberOfVertices(e),r=P.IndexDatatype.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var a=2,n=2;n<t;++n)r[a++]=n-1,r[a++]=n;return r[a++]=t-1,r[a]=0,e.indices=r,e.primitiveType=S.PrimitiveType.LINES,e}(e);case S.PrimitiveType.LINES:return function(e){if(R.defined(e.indices))return e;for(var t=S.Geometry.computeNumberOfVertices(e),r=P.IndexDatatype.createTypedArray(t,t),a=0;a<t;++a)r[a]=a;return e.indices=r,e}(e)}return e}function h(e,t){Math.abs(e.y)<L.CesiumMath.EPSILON6&&(e.y=t?-L.CesiumMath.EPSILON6:L.CesiumMath.EPSILON6)}r.compressVertices=function(e){var t=e.attributes.extrudeDirection;if(R.defined(t)){for(var r=t.values,a=r.length/3,n=new Float32Array(2*a),i=0,s=0;s<a;++s)V.Cartesian3.fromArray(r,3*s,_),V.Cartesian3.equals(_,V.Cartesian3.ZERO)?i+=2:(Y=A.AttributeCompression.octEncodeInRange(_,65535,Y),n[i++]=Y.x,n[i++]=Y.y);return e.attributes.compressedAttributes=new S.GeometryAttribute({componentDatatype:w.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:n}),delete e.attributes.extrudeDirection,e}var o=e.attributes.normal,u=e.attributes.st,p=R.defined(o),d=R.defined(u);if(!p&&!d)return e;var l,y,f,c,v=e.attributes.tangent,t=e.attributes.bitangent,m=R.defined(v),C=R.defined(t);p&&(l=o.values),d&&(y=u.values),m&&(f=v.values),C&&(c=t.values);v=a=(p?l:y).length/(p?3:2),t=d&&p?2:1;v*=t+=m||C?1:0;var h=new Float32Array(v),b=0;for(s=0;s<a;++s){d&&(V.Cartesian2.fromArray(y,2*s,k),h[b++]=A.AttributeCompression.compressTextureCoordinates(k));var g=3*s;p&&R.defined(f)&&R.defined(c)?(V.Cartesian3.fromArray(l,g,_),V.Cartesian3.fromArray(f,g,q),V.Cartesian3.fromArray(c,g,U),A.AttributeCompression.octPack(_,q,U,k),h[b++]=k.x,h[b++]=k.y):(p&&(V.Cartesian3.fromArray(l,g,_),h[b++]=A.AttributeCompression.octEncodeFloat(_)),m&&(V.Cartesian3.fromArray(f,g,_),h[b++]=A.AttributeCompression.octEncodeFloat(_)),C&&(V.Cartesian3.fromArray(c,g,_),h[b++]=A.AttributeCompression.octEncodeFloat(_)))}return e.attributes.compressedAttributes=new S.GeometryAttribute({componentDatatype:w.ComponentDatatype.FLOAT,componentsPerAttribute:t,values:h}),p&&delete e.attributes.normal,d&&delete e.attributes.st,C&&delete e.attributes.bitangent,m&&delete e.attributes.tangent,e};var b=new V.Cartesian3;function Z(e,t,r,a){V.Cartesian3.add(e,V.Cartesian3.multiplyByScalar(V.Cartesian3.subtract(t,e,b),e.y/(e.y-t.y),b),r),V.Cartesian3.clone(r,a),h(r,!0),h(a,!1)}var H=new V.Cartesian3,W=new V.Cartesian3,X=new V.Cartesian3,j=new V.Cartesian3,J={positions:new Array(7),indices:new Array(9)};function K(e,t,r){if(!(0<=e.x||0<=t.x||0<=r.x)){!function(e,t,r){if(0!==e.y&&0!==t.y&&0!==r.y)return h(e,e.y<0),h(t,t.y<0),h(r,r.y<0),0;var a=Math.abs(e.y),n=Math.abs(t.y),i=Math.abs(r.y),n=n<a?i<a?L.CesiumMath.sign(e.y):L.CesiumMath.sign(r.y):i<n?L.CesiumMath.sign(t.y):L.CesiumMath.sign(r.y);h(e,n=n<0),h(t,n),h(r,n)}(e,t,r);var a=e.y<0,n=t.y<0,i=r.y<0,s=0;s+=a?1:0,s+=n?1:0,s+=i?1:0;var o=J.indices;1==s?(o[1]=3,o[2]=4,o[5]=6,o[7]=6,o[8]=5,a?(Z(e,t,H,X),Z(e,r,W,j),o[0]=0,o[3]=1,o[4]=2,o[6]=1):n?(Z(t,r,H,X),Z(t,e,W,j),o[0]=1,o[3]=2,o[4]=0,o[6]=2):i&&(Z(r,e,H,X),Z(r,t,W,j),o[0]=2,o[3]=0,o[4]=1,o[6]=0)):2==s&&(o[2]=4,o[4]=4,o[5]=3,o[7]=5,o[8]=6,a?n?i||(Z(r,e,H,X),Z(r,t,W,j),o[0]=0,o[1]=1,o[3]=0,o[6]=2):(Z(t,r,H,X),Z(t,e,W,j),o[0]=2,o[1]=0,o[3]=2,o[6]=1):(Z(e,t,H,X),Z(e,r,W,j),o[0]=1,o[1]=2,o[3]=1,o[6]=0));o=J.positions;return o[0]=e,o[1]=t,o[2]=r,o.length=3,1!=s&&2!=s||(o[3]=H,o[4]=W,o[5]=X,o[6]=j,o.length=7),J}}function Q(e,t){var r,a=e.attributes;if(0!==a.position.values.length){for(var n in a)a.hasOwnProperty(n)&&R.defined(a[n])&&R.defined(a[n].values)&&((r=a[n]).values=w.ComponentDatatype.createTypedArray(r.componentDatatype,r.values));var i=S.Geometry.computeNumberOfVertices(e);return e.indices=P.IndexDatatype.createTypedArray(i,e.indices),t&&(e.boundingSphere=z.BoundingSphere.fromVertices(a.position.values)),e}}function $(e){var t,r,a=e.attributes,n={};for(t in a)a.hasOwnProperty(t)&&R.defined(a[t])&&R.defined(a[t].values)&&(r=a[t],n[t]=new S.GeometryAttribute({componentDatatype:r.componentDatatype,componentsPerAttribute:r.componentsPerAttribute,normalize:r.normalize,values:[]}));return new S.Geometry({attributes:n,indices:[],primitiveType:e.primitiveType})}function ee(e,t,r){var a=R.defined(e.geometry.boundingSphere);t=Q(t,a),r=Q(r,a),R.defined(r)&&!R.defined(t)?e.geometry=r:!R.defined(r)&&R.defined(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=r,e.geometry=void 0)}function te(u,p){var d=new u,l=new u,y=new u;return function(e,t,r,a,n,i,s,o){e=u.fromArray(n,e*p,d),t=u.fromArray(n,t*p,l),r=u.fromArray(n,r*p,y);u.multiplyByScalar(e,a.x,e),u.multiplyByScalar(t,a.y,t),u.multiplyByScalar(r,a.z,r);e=u.add(e,t,e);u.add(e,r,e),o&&u.normalize(e,e),u.pack(e,i,s*p)}}var re=te(z.Cartesian4,4),ae=te(V.Cartesian3,3),ne=te(V.Cartesian2,2),ie=function(e,t,r,a,n,i,s){e=n[e]*a.x,t=n[t]*a.y,a=n[r]*a.z;i[s]=e+t+a>L.CesiumMath.EPSILON6?1:0},se=new V.Cartesian3,oe=new V.Cartesian3,ue=new V.Cartesian3,pe=new V.Cartesian3;function de(e,t,r,a,n,i,s,o,u,p,d,l,y,f,c,v){if(R.defined(i)||R.defined(s)||R.defined(o)||R.defined(u)||R.defined(p)||0!==f){var m,C=function(e,t,r,a,n){var i,s,o,u,p,d,l;if(R.defined(n)||(n=new V.Cartesian3),R.defined(t.z)){if(V.Cartesian3.equalsEpsilon(e,t,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_X,n);if(V.Cartesian3.equalsEpsilon(e,r,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_Y,n);if(V.Cartesian3.equalsEpsilon(e,a,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_Z,n);i=V.Cartesian3.subtract(r,t,g),s=V.Cartesian3.subtract(a,t,T),o=V.Cartesian3.subtract(e,t,x),u=V.Cartesian3.dot(i,i),y=V.Cartesian3.dot(i,s),p=V.Cartesian3.dot(i,o),d=V.Cartesian3.dot(s,s),l=V.Cartesian3.dot(s,o)}else{if(V.Cartesian2.equalsEpsilon(e,t,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_X,n);if(V.Cartesian2.equalsEpsilon(e,r,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_Y,n);if(V.Cartesian2.equalsEpsilon(e,a,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_Z,n);i=V.Cartesian2.subtract(r,t,g),s=V.Cartesian2.subtract(a,t,T),o=V.Cartesian2.subtract(e,t,x),u=V.Cartesian2.dot(i,i),y=V.Cartesian2.dot(i,s),p=V.Cartesian2.dot(i,o),d=V.Cartesian2.dot(s,s),l=V.Cartesian2.dot(s,o)}n.y=d*p-y*l,n.z=u*l-y*p;var y=u*d-y*y;return 0!==n.y&&(n.y/=y),0!==n.z&&(n.z/=y),n.x=1-n.y-n.z,n}(a,V.Cartesian3.fromArray(n,3*e,se),V.Cartesian3.fromArray(n,3*t,oe),V.Cartesian3.fromArray(n,3*r,ue),pe);if(R.defined(i)&&ae(e,t,r,C,i,l.normal.values,v,!0),R.defined(p)&&(n=V.Cartesian3.fromArray(p,3*e,se),i=V.Cartesian3.fromArray(p,3*t,oe),p=V.Cartesian3.fromArray(p,3*r,ue),V.Cartesian3.multiplyByScalar(n,C.x,n),V.Cartesian3.multiplyByScalar(i,C.y,i),V.Cartesian3.multiplyByScalar(p,C.z,p),V.Cartesian3.equals(n,V.Cartesian3.ZERO)&&V.Cartesian3.equals(i,V.Cartesian3.ZERO)&&V.Cartesian3.equals(p,V.Cartesian3.ZERO)?((m=se).x=0,m.y=0,m.z=0):(m=V.Cartesian3.add(n,i,n),V.Cartesian3.add(m,p,m),V.Cartesian3.normalize(m,m)),V.Cartesian3.pack(m,l.extrudeDirection.values,3*v)),R.defined(d)&&ie(e,t,r,C,d,l.applyOffset.values,v),R.defined(s)&&ae(e,t,r,C,s,l.tangent.values,v,!0),R.defined(o)&&ae(e,t,r,C,o,l.bitangent.values,v,!0),R.defined(u)&&ne(e,t,r,C,u,l.st.values,v),0<f)for(var h=0;h<f;h++){var b=y[h];!function(e,t,r,a,n,i,s){var o=i.componentsPerAttribute,u=i.values,p=s.values;switch(o){case 4:re(e,t,r,a,u,p,n,!1);break;case 3:ae(e,t,r,a,u,p,n,!1);break;case 2:ne(e,t,r,a,u,p,n,!1);break;default:p[n]=u[e]*a.x+u[t]*a.y+u[r]*a.z}}(e,t,r,C,v,c[b],l[b])}}}function le(e,t,r,a,n,i){var s=e.position.values.length/3;if(-1===n)return e.position.values.push(i.x,i.y,i.z),t.push(s),s;a=a[n],n=r[a];return-1===n?(r[a]=s,e.position.values.push(i.x,i.y,i.z),t.push(s),s):(t.push(n),n)}var ye={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function fe(e){var t,r=e.geometry,a=r.attributes,n=a.position.values,i=R.defined(a.normal)?a.normal.values:void 0,s=R.defined(a.bitangent)?a.bitangent.values:void 0,o=R.defined(a.tangent)?a.tangent.values:void 0,u=R.defined(a.st)?a.st.values:void 0,p=R.defined(a.extrudeDirection)?a.extrudeDirection.values:void 0,d=R.defined(a.applyOffset)?a.applyOffset.values:void 0,l=r.indices,y=[];for(t in a)a.hasOwnProperty(t)&&!ye[t]&&R.defined(a[t])&&y.push(t);var f,c,v=y.length,m=$(r),C=$(r),h=[];h.length=n.length/3;var b=[];for(b.length=n.length/3,A=0;A<h.length;++A)h[A]=-1,b[A]=-1;for(var g=l.length,A=0;A<g;A+=3){var T=l[A],x=l[A+1],P=l[A+2],w=V.Cartesian3.fromArray(n,3*T),S=V.Cartesian3.fromArray(n,3*x),I=V.Cartesian3.fromArray(n,3*P),O=K(w,S,I);if(R.defined(O)&&3<O.positions.length)for(var E=O.positions,N=O.indices,L=N.length,z=0;z<L;++z){var D=N[z],M=E[D],G=M.y<0?(f=C.attributes,c=C.indices,h):(f=m.attributes,c=m.indices,b);de(T,x,P,M,n,i,o,s,u,p,d,f,y,v,a,le(f,c,G,l,D<3?A+D:-1,M))}else R.defined(O)&&(w=O.positions[0],S=O.positions[1],I=O.positions[2]),G=w.y<0?(f=C.attributes,c=C.indices,h):(f=m.attributes,c=m.indices,b),de(T,x,P,w,n,i,o,s,u,p,d,f,y,v,a,le(f,c,G,l,A,w)),de(T,x,P,S,n,i,o,s,u,p,d,f,y,v,a,le(f,c,G,l,A+1,S)),de(T,x,P,I,n,i,o,s,u,p,d,f,y,v,a,le(f,c,G,l,A+2,I))}ee(e,C,m)}var ce=a.Plane.fromPointNormal(V.Cartesian3.ZERO,V.Cartesian3.UNIT_Y),ve=new V.Cartesian3,me=new V.Cartesian3;function Ce(e,t,r,a,n,i,s){R.defined(s)&&(a=V.Cartesian3.fromArray(a,3*e,se),V.Cartesian3.equalsEpsilon(a,r,L.CesiumMath.EPSILON10)?i.applyOffset.values[n]=s[e]:i.applyOffset.values[n]=s[t])}function he(e){var t,r=e.geometry,a=r.attributes,n=a.position.values,i=R.defined(a.applyOffset)?a.applyOffset.values:void 0,s=r.indices,o=$(r),u=$(r),p=s.length,d=[];d.length=n.length/3;var l=[];for(l.length=n.length/3,t=0;t<d.length;++t)d[t]=-1,l[t]=-1;for(t=0;t<p;t+=2){var y=s[t],f=s[t+1],c=V.Cartesian3.fromArray(n,3*y,se),v=V.Cartesian3.fromArray(n,3*f,oe);Math.abs(c.y)<L.CesiumMath.EPSILON6&&(c.y<0?c.y=-L.CesiumMath.EPSILON6:c.y=L.CesiumMath.EPSILON6),Math.abs(v.y)<L.CesiumMath.EPSILON6&&(v.y<0?v.y=-L.CesiumMath.EPSILON6:v.y=L.CesiumMath.EPSILON6);var m,C,h,b,g=o.attributes,A=o.indices,T=l,x=u.attributes,P=u.indices,w=d,S=D.IntersectionTests.lineSegmentPlane(c,v,ce,ue);R.defined(S)?(m=V.Cartesian3.multiplyByScalar(V.Cartesian3.UNIT_Y,5*L.CesiumMath.EPSILON9,ve),c.y<0&&(V.Cartesian3.negate(m,m),g=u.attributes,A=u.indices,T=d,x=o.attributes,P=o.indices,w=l),C=V.Cartesian3.add(S,m,me),Ce(y,f,c,n,le(g,A,T,s,t,c),g,i),Ce(y,f,C,n,le(g,A,T,s,-1,C),g,i),V.Cartesian3.negate(m,m),V.Cartesian3.add(S,m,C),Ce(y,f,C,n,le(x,P,w,s,-1,C),x,i),Ce(y,f,v,n,le(x,P,w,s,t+1,v),x,i)):(x=c.y<0?(h=u.attributes,b=u.indices,d):(h=o.attributes,b=o.indices,l),Ce(y,f,c,n,le(h,b,x,s,t,c),h,i),Ce(y,f,v,n,le(h,b,x,s,t+1,v),h,i))}ee(e,u,o)}var be=new V.Cartesian2,ge=new V.Cartesian2,Ae=new V.Cartesian3,Te=new V.Cartesian3,xe=new V.Cartesian3,Pe=new V.Cartesian3,we=new V.Cartesian3,Se=new V.Cartesian3,Ie=new z.Cartesian4;function Oe(e){for(var e=e.attributes,t=e.position.values,r=e.prevPosition.values,a=e.nextPosition.values,n=t.length,i=0;i<n;i+=3){var s,o=V.Cartesian3.unpack(t,i,Ae);0<o.x||(s=V.Cartesian3.unpack(r,i,Te),(o.y<0&&0<s.y||0<o.y&&s.y<0)&&(0<i-3?(r[i]=t[i-3],r[i+1]=t[i-2],r[i+2]=t[i-1]):V.Cartesian3.pack(o,r,i)),s=V.Cartesian3.unpack(a,i,xe),(o.y<0&&0<s.y||0<o.y&&s.y<0)&&(i+3<n?(a[i]=t[i+3],a[i+1]=t[i+4],a[i+2]=t[i+5]):V.Cartesian3.pack(o,a,i)))}}var Ee=5*L.CesiumMath.EPSILON9,Ne=L.CesiumMath.EPSILON6;r.splitLongitude=function(e){var t=e.geometry,r=t.boundingSphere;if(R.defined(r)&&(0<r.center.x-r.radius||z.BoundingSphere.intersectPlane(r,a.Plane.ORIGIN_ZX_PLANE)!==z.Intersect.INTERSECTING))return e;if(t.geometryType!==S.GeometryType.NONE)switch(t.geometryType){case S.GeometryType.POLYLINES:!function(e){for(var t=e.geometry,r=t.attributes,a=r.position.values,n=r.prevPosition.values,i=r.nextPosition.values,s=r.expandAndWidth.values,o=R.defined(r.st)?r.st.values:void 0,u=R.defined(r.color)?r.color.values:void 0,p=$(t),d=$(t),l=!1,y=a.length/3,f=0;f<y;f+=4){var c=f,v=f+2,m=V.Cartesian3.fromArray(a,3*c,Ae),C=V.Cartesian3.fromArray(a,3*v,Te);if(Math.abs(m.y)<Ne)for(m.y=Ne*(C.y<0?-1:1),a[3*f+1]=m.y,a[3*(f+1)+1]=m.y,O=3*c;O<3*c+12;O+=3)n[O]=a[3*f],n[O+1]=a[3*f+1],n[O+2]=a[3*f+2];if(Math.abs(C.y)<Ne)for(C.y=Ne*(m.y<0?-1:1),a[3*(f+2)+1]=C.y,a[3*(f+3)+1]=C.y,O=3*c;O<3*c+12;O+=3)i[O]=a[3*(f+2)],i[O+1]=a[3*(f+2)+1],i[O+2]=a[3*(f+2)+2];var h=p.attributes,b=p.indices,g=d.attributes,A=d.indices,T=D.IntersectionTests.lineSegmentPlane(m,C,ce,Pe);if(R.defined(T)){l=!0;var x=V.Cartesian3.multiplyByScalar(V.Cartesian3.UNIT_Y,Ee,we);m.y<0&&(V.Cartesian3.negate(x,x),h=d.attributes,b=d.indices,g=p.attributes,A=p.indices);var P=V.Cartesian3.add(T,x,Se);h.position.values.push(m.x,m.y,m.z,m.x,m.y,m.z),h.position.values.push(P.x,P.y,P.z),h.position.values.push(P.x,P.y,P.z),h.prevPosition.values.push(n[3*c],n[3*c+1],n[3*c+2]),h.prevPosition.values.push(n[3*c+3],n[3*c+4],n[3*c+5]),h.prevPosition.values.push(m.x,m.y,m.z,m.x,m.y,m.z),h.nextPosition.values.push(P.x,P.y,P.z),h.nextPosition.values.push(P.x,P.y,P.z),h.nextPosition.values.push(P.x,P.y,P.z),h.nextPosition.values.push(P.x,P.y,P.z),V.Cartesian3.negate(x,x),V.Cartesian3.add(T,x,P),g.position.values.push(P.x,P.y,P.z),g.position.values.push(P.x,P.y,P.z),g.position.values.push(C.x,C.y,C.z,C.x,C.y,C.z),g.prevPosition.values.push(P.x,P.y,P.z),g.prevPosition.values.push(P.x,P.y,P.z),g.prevPosition.values.push(P.x,P.y,P.z),g.prevPosition.values.push(P.x,P.y,P.z),g.nextPosition.values.push(C.x,C.y,C.z,C.x,C.y,C.z),g.nextPosition.values.push(i[3*v],i[3*v+1],i[3*v+2]),g.nextPosition.values.push(i[3*v+3],i[3*v+4],i[3*v+5]);var w=V.Cartesian2.fromArray(s,2*c,be),S=Math.abs(w.y);h.expandAndWidth.values.push(-1,S,1,S),h.expandAndWidth.values.push(-1,-S,1,-S),g.expandAndWidth.values.push(-1,S,1,S),g.expandAndWidth.values.push(-1,-S,1,-S);x=V.Cartesian3.magnitudeSquared(V.Cartesian3.subtract(T,m,xe));if(x/=V.Cartesian3.magnitudeSquared(V.Cartesian3.subtract(C,m,xe)),R.defined(u)){for(var P=z.Cartesian4.fromArray(u,4*c,Ie),I=z.Cartesian4.fromArray(u,4*v,Ie),w=L.CesiumMath.lerp(P.x,I.x,x),S=L.CesiumMath.lerp(P.y,I.y,x),T=L.CesiumMath.lerp(P.z,I.z,x),I=L.CesiumMath.lerp(P.w,I.w,x),O=4*c;O<4*c+8;++O)h.color.values.push(u[O]);for(h.color.values.push(w,S,T,I),h.color.values.push(w,S,T,I),g.color.values.push(w,S,T,I),g.color.values.push(w,S,T,I),O=4*v;O<4*v+8;++O)g.color.values.push(u[O])}if(R.defined(o)){var I=V.Cartesian2.fromArray(o,2*c,be),E=V.Cartesian2.fromArray(o,2*(f+3),ge),x=L.CesiumMath.lerp(I.x,E.x,x);for(O=2*c;O<2*c+4;++O)h.st.values.push(o[O]);for(h.st.values.push(x,I.y),h.st.values.push(x,E.y),g.st.values.push(x,I.y),g.st.values.push(x,E.y),O=2*v;O<2*v+4;++O)g.st.values.push(o[O])}E=h.position.values.length/3-4,b.push(E,E+2,E+1),b.push(E+1,E+2,E+3),E=g.position.values.length/3-4,A.push(E,E+2,E+1),A.push(E+1,E+2,E+3)}else{var N,A=m.y<0?(N=d.attributes,d.indices):(N=p.attributes,p.indices);for(N.position.values.push(m.x,m.y,m.z),N.position.values.push(m.x,m.y,m.z),N.position.values.push(C.x,C.y,C.z),N.position.values.push(C.x,C.y,C.z),O=3*f;O<3*f+12;++O)N.prevPosition.values.push(n[O]),N.nextPosition.values.push(i[O]);for(O=2*f;O<2*f+8;++O)N.expandAndWidth.values.push(s[O]),R.defined(o)&&N.st.values.push(o[O]);if(R.defined(u))for(O=4*f;O<4*f+16;++O)N.color.values.push(u[O]);E=N.position.values.length/3-4,A.push(E,E+2,E+1),A.push(E+1,E+2,E+3)}}l&&(Oe(d),Oe(p)),ee(e,d,p)}(e);break;case S.GeometryType.TRIANGLES:fe(e);break;case S.GeometryType.LINES:he(e)}else C(t),t.primitiveType===S.PrimitiveType.TRIANGLES?fe(e):t.primitiveType===S.PrimitiveType.LINES&&he(e);return e},e.GeometryPipeline=r}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/IndexDatatype-53503fee.js b/public/GV/thirdParty/CesiumManager/Workers/IndexDatatype-53503fee.js new file mode 100644 index 000000000..19273dca0 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/IndexDatatype-53503fee.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./WebGLConstants-76bb35d1"],function(e,r,t,N,n){"use strict";var E={UNSIGNED_BYTE:n.WebGLConstants.UNSIGNED_BYTE,UNSIGNED_SHORT:n.WebGLConstants.UNSIGNED_SHORT,UNSIGNED_INT:n.WebGLConstants.UNSIGNED_INT,getSizeInBytes:function(e){switch(e){case E.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case E.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case E.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},fromSizeInBytes:function(e){switch(e){case 2:return E.UNSIGNED_SHORT;case 4:return E.UNSIGNED_INT;case 1:return E.UNSIGNED_BYTE}},validate:function(e){return r.defined(e)&&(e===E.UNSIGNED_BYTE||e===E.UNSIGNED_SHORT||e===E.UNSIGNED_INT)},createTypedArray:function(e,r){return new(e>=N.CesiumMath.SIXTY_FOUR_KILOBYTES?Uint32Array:Uint16Array)(r)},createTypedArrayFromArrayBuffer:function(e,r,t,n){return new(e>=N.CesiumMath.SIXTY_FOUR_KILOBYTES?Uint32Array:Uint16Array)(r,t,n)}},n=Object.freeze(E);e.IndexDatatype=n}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/IntersectionTests-8abf6dba.js b/public/GV/thirdParty/CesiumManager/Workers/IntersectionTests-8abf6dba.js new file mode 100644 index 000000000..199c6b7f2 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/IntersectionTests-8abf6dba.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c"],function(a,d,t,O,x,y){"use strict";var P={};function i(a,t,e){var r=a+t;return O.CesiumMath.sign(a)!==O.CesiumMath.sign(t)&&Math.abs(r/Math.max(Math.abs(a),Math.abs(t)))<e?0:r}P.computeDiscriminant=function(a,t,e){return t*t-4*a*e},P.computeRealRoots=function(a,t,e){if(0===a)return 0===t?[]:[-e/t];if(0===t){if(0===e)return[0,0];var r=Math.abs(e),n=Math.abs(a);if(r<n&&r/n<O.CesiumMath.EPSILON14)return[0,0];if(n<r&&n/r<O.CesiumMath.EPSILON14)return[];if((n=-e/a)<0)return[];r=Math.sqrt(n);return[-r,r]}if(0===e)return(n=-t/a)<0?[n,0]:[0,n];n=i(t*t,-(4*a*e),O.CesiumMath.EPSILON14);if(n<0)return[];n=-.5*i(t,O.CesiumMath.sign(t)*Math.sqrt(n),O.CesiumMath.EPSILON14);return 0<t?[n/a,e/n]:[e/n,n/a]};var g={};function s(a,t,e,r){var n=a,i=t/3,s=e/3,o=r,u=n*s,c=i*o,C=i*i,l=s*s,h=n*s-C,a=n*o-i*s,t=i*o-l,e=4*h*t-a*a;if(e<0){var r=u*l<=C*c?-2*i*(m=h)+(f=n)*a:-(f=o)*a+2*s*(m=t),M=-(r<0?-1:1)*Math.abs(f)*Math.sqrt(-e),f=(d=M-r)/2,f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),M=d===M?-f:-m/f,M=m<=0?f+M:-r/(f*f+M*M+m);return u*l<=C*c?[(M-i)/n]:[-o/(M+s)]}var m=h,u=-2*i*h+n*a,l=t,C=-o*a+2*s*t,c=Math.sqrt(e),h=Math.sqrt(3)/2,a=Math.abs(Math.atan2(n*c,-u)/3);M=2*Math.sqrt(-m);t=Math.cos(a);d=M*t;var e=M*(-t/2-h*Math.sin(a)),u=2*i<d+e?d-i:e-i,m=n,n=u/m,a=Math.abs(Math.atan2(o*c,-C)/3),o=-o,a=(d=(M=2*Math.sqrt(-l))*(t=Math.cos(a)))+(e=M*(-t/2-h*Math.sin(a)))<2*s?d+s:e+s,d=o/a,e=-u*a-m*o,a=(s*e-i*(u*o))/(-i*e+s*(m*a));return n<=a?n<=d?a<=d?[n,a,d]:[n,d,a]:[d,n,a]:n<=d?[a,n,d]:a<=d?[a,d,n]:[d,a,n]}g.computeDiscriminant=function(a,t,e,r){var n=t*t,i=e*e;return 18*a*t*e*r+n*i-27*(a*a)*(r*r)-4*(a*i*e+n*t*r)},g.computeRealRoots=function(a,t,e,r){var n;if(0===a)return P.computeRealRoots(t,e,r);if(0!==t)return 0===e?0===r?(i=-t/a)<0?[i,0,0]:[0,0,i]:s(a,t,0,r):0===r?0===(n=P.computeRealRoots(a,t,e)).length?[0]:n[1]<=0?[n[0],n[1],0]:0<=n[0]?[0,n[0],n[1]]:[n[0],0,n[1]]:s(a,t,e,r);if(0!==e)return 0===r?0===(n=P.computeRealRoots(a,0,e)).Length?[0]:[n[0],0,n[1]]:s(a,0,e,r);if(0===r)return[0,0,0];var i=(i=-r/a)<0?-Math.pow(-i,1/3):Math.pow(i,1/3);return[i,i,i]};var b={};function c(a,t,e,r){var n=a*a,i=t-3*n/8,s=e-t*a/2+n*a/8,r=r-e*a/4+t*n/16-3*n*n/256,e=g.computeRealRoots(1,2*i,i*i-4*r,-s*s);if(0<e.length){t=-a/4,n=e[e.length-1];if(Math.abs(n)<O.CesiumMath.EPSILON14){a=P.computeRealRoots(1,i,r);if(2===a.length){var e=a[0],o=a[1];if(0<=e&&0<=o){r=Math.sqrt(e),a=Math.sqrt(o);return[t-a,t-r,t+r,t+a]}if(0<=e&&o<0)return[t-(u=Math.sqrt(e)),t+u];if(e<0&&0<=o)return[t-(u=Math.sqrt(o)),t+u]}return[]}if(0<n){var o=Math.sqrt(n),u=(i+n-s/o)/2,s=(i+n+s/o)/2,u=P.computeRealRoots(1,o,u),s=P.computeRealRoots(1,-o,s);return 0!==u.length?(u[0]+=t,u[1]+=t,0!==s.length?(s[0]+=t,s[1]+=t,u[1]<=s[0]?[u[0],u[1],s[0],s[1]]:s[1]<=u[0]?[s[0],s[1],u[0],u[1]]:u[0]>=s[0]&&u[1]<=s[1]?[s[0],u[0],u[1],s[1]]:s[0]>=u[0]&&s[1]<=u[1]?[u[0],s[0],s[1],u[1]]:u[0]>s[0]&&u[0]<s[1]?[s[0],u[0],s[1],u[1]]:[u[0],s[0],u[1],s[1]]):u):0!==s.length?(s[0]+=t,s[1]+=t,s):[]}}return[]}function C(a,t,e,r){var n=a*a,i=-2*t,s=e*a+t*t-4*r,o=n*r-e*t*a+e*e,u=g.computeRealRoots(1,i,s,o);if(0<u.length){var c,C,l,h,M=u[0],i=t-M,s=i*i,o=a/2,u=i/2,t=s-4*r,i=s+4*Math.abs(r),s=n-4*M,n=n+4*Math.abs(M);C=M<0||t*n<s*i?(c=(s=Math.sqrt(s))/2,0===s?0:(a*u-e)/s):(c=0===(C=Math.sqrt(t))?0:(a*u-e)/C,C/2),0==o&&0===c?h=l=0:O.CesiumMath.sign(o)===O.CesiumMath.sign(c)?h=M/(l=o+c):l=M/(h=o-c),0==u&&0===C?m=f=0:O.CesiumMath.sign(u)===O.CesiumMath.sign(C)?m=r/(f=u+C):f=r/(m=u-C);var f=P.computeRealRoots(1,l,f),m=P.computeRealRoots(1,h,m);if(0!==f.length)return 0!==m.length?f[1]<=m[0]?[f[0],f[1],m[0],m[1]]:m[1]<=f[0]?[m[0],m[1],f[0],f[1]]:f[0]>=m[0]&&f[1]<=m[1]?[m[0],f[0],f[1],m[1]]:m[0]>=f[0]&&m[1]<=f[1]?[f[0],m[0],m[1],f[1]]:f[0]>m[0]&&f[0]<m[1]?[m[0],f[0],m[1],f[1]]:[f[0],m[0],f[1],m[1]]:f;if(0!==m.length)return m}return[]}function e(a,t){t=x.Cartesian3.clone(d.defaultValue(t,x.Cartesian3.ZERO)),x.Cartesian3.equals(t,x.Cartesian3.ZERO)||x.Cartesian3.normalize(t,t),this.origin=x.Cartesian3.clone(d.defaultValue(a,x.Cartesian3.ZERO)),this.direction=t}b.computeDiscriminant=function(a,t,e,r,n){var i=a*a,s=t*t,o=s*t,u=e*e,c=u*e,C=r*r,l=C*r,h=n*n;return s*u*C-4*o*l-4*a*c*C+18*a*t*e*l-27*i*C*C+256*(i*a)*(h*n)+n*(18*o*e*r-4*s*c+16*a*u*u-80*a*t*u*r-6*a*s*C+144*i*e*C)+h*(144*a*s*e-27*s*s-128*i*u-192*i*t*r)},b.computeRealRoots=function(a,t,e,r,n){if(Math.abs(a)<O.CesiumMath.EPSILON15)return g.computeRealRoots(t,e,r,n);var i=t/a,s=e/a,o=r/a,u=n/a,a=i<0?1:0;switch(a+=s<0?a+1:a,a+=o<0?a+1:a,a+=u<0?a+1:a){case 0:return c(i,s,o,u);case 1:case 2:return C(i,s,o,u);case 3:case 4:return c(i,s,o,u);case 5:return C(i,s,o,u);case 6:case 7:return c(i,s,o,u);case 8:return C(i,s,o,u);case 9:case 10:return c(i,s,o,u);case 11:return C(i,s,o,u);case 12:case 13:case 14:case 15:return c(i,s,o,u);default:return}},e.clone=function(a,t){if(d.defined(a))return d.defined(t)?(t.origin=x.Cartesian3.clone(a.origin),t.direction=x.Cartesian3.clone(a.direction),t):new e(a.origin,a.direction)},e.getPoint=function(a,t,e){return d.defined(e)||(e=new x.Cartesian3),e=x.Cartesian3.multiplyByScalar(a.direction,t,e),x.Cartesian3.add(a.origin,e,e)};var l={rayPlane:function(a,t,e){d.defined(e)||(e=new x.Cartesian3);var r=a.origin,n=a.direction,i=t.normal,a=x.Cartesian3.dot(i,n);if(!(Math.abs(a)<O.CesiumMath.EPSILON15)){a=(-t.distance-x.Cartesian3.dot(i,r))/a;if(!(a<0))return e=x.Cartesian3.multiplyByScalar(n,a,e),x.Cartesian3.add(r,e,e)}}},M=new x.Cartesian3,f=new x.Cartesian3,m=new x.Cartesian3,p=new x.Cartesian3,v=new x.Cartesian3;l.rayTriangleParametric=function(a,t,e,r,n){n=d.defaultValue(n,!1);var i,s,o,u=a.origin,c=a.direction,C=x.Cartesian3.subtract(e,t,M),a=x.Cartesian3.subtract(r,t,f),e=x.Cartesian3.cross(c,a,m),r=x.Cartesian3.dot(C,e);if(n){if(r<O.CesiumMath.EPSILON6)return;if(h=x.Cartesian3.subtract(u,t,p),(l=x.Cartesian3.dot(h,e))<0||r<l)return;if(i=x.Cartesian3.cross(h,C,v),(s=x.Cartesian3.dot(c,i))<0||r<l+s)return;o=x.Cartesian3.dot(a,i)/r}else{if(Math.abs(r)<O.CesiumMath.EPSILON6)return;var l,r=1/r,h=x.Cartesian3.subtract(u,t,p);if((l=x.Cartesian3.dot(h,e)*r)<0||1<l)return;if(i=x.Cartesian3.cross(h,C,v),(s=x.Cartesian3.dot(c,i)*r)<0||1<l+s)return;o=x.Cartesian3.dot(a,i)*r}return o},l.rayTriangle=function(a,t,e,r,n,i){n=l.rayTriangleParametric(a,t,e,r,n);if(d.defined(n)&&!(n<0))return d.defined(i)||(i=new x.Cartesian3),x.Cartesian3.multiplyByScalar(a.direction,n,i),x.Cartesian3.add(a.origin,i,i)};var u=new e;l.lineSegmentTriangle=function(a,t,e,r,n,i,s){var o=u;x.Cartesian3.clone(a,o.origin),x.Cartesian3.subtract(t,a,o.direction),x.Cartesian3.normalize(o.direction,o.direction);i=l.rayTriangleParametric(o,e,r,n,i);if(!(!d.defined(i)||i<0||i>x.Cartesian3.distance(a,t)))return d.defined(s)||(s=new x.Cartesian3),x.Cartesian3.multiplyByScalar(o.direction,i,s),x.Cartesian3.add(o.origin,s,s)};var o={root0:0,root1:0};function h(a,t,e){d.defined(e)||(e=new y.Interval);var r=a.origin,n=a.direction,a=t.center,t=t.radius*t.radius,a=x.Cartesian3.subtract(r,a,m),t=function(a,t,e,r){if(!((i=t*t-4*a*e)<0)){if(0<i){var n=1/(2*a),e=Math.sqrt(i),i=(-t+e)*n,n=(-t-e)*n;return i<n?(r.root0=i,r.root1=n):(r.root0=n,r.root1=i),r}a=-t/(2*a);if(0!=a)return r.root0=r.root1=a,r}}(x.Cartesian3.dot(n,n),2*x.Cartesian3.dot(n,a),x.Cartesian3.magnitudeSquared(a)-t,o);if(d.defined(t))return e.start=t.root0,e.stop=t.root1,e}l.raySphere=function(a,t,e){if(e=h(a,t,e),d.defined(e)&&!(e.stop<0))return e.start=Math.max(e.start,0),e};var w=new e;l.lineSegmentSphere=function(a,t,e,r){var n=w;x.Cartesian3.clone(a,n.origin);t=x.Cartesian3.subtract(t,a,n.direction),a=x.Cartesian3.magnitude(t);if(x.Cartesian3.normalize(t,t),r=h(n,e,r),!(!d.defined(r)||r.stop<0||r.start>a))return r.start=Math.max(r.start,0),r.stop=Math.min(r.stop,a),r};var R=new x.Cartesian3,S=new x.Cartesian3;function N(a,t,e){var r=a+t;return O.CesiumMath.sign(a)!==O.CesiumMath.sign(t)&&Math.abs(r/Math.max(Math.abs(a),Math.abs(t)))<e?0:r}l.rayEllipsoid=function(a,t){var e,r,n=t.oneOverRadii,i=x.Cartesian3.multiplyComponents(n,a.origin,R),t=x.Cartesian3.multiplyComponents(n,a.direction,S),n=x.Cartesian3.magnitudeSquared(i),a=x.Cartesian3.dot(i,t);if(1<n){if(0<=a)return;var s,o,i=a*a,u=n-1;if(i<(o=(s=x.Cartesian3.magnitudeSquared(t))*u))return;if(o<i){e=a*a-o;var c=(r=-a+Math.sqrt(e))/s,i=u/r;return c<i?new y.Interval(c,i):{start:i,stop:c}}c=Math.sqrt(u/s);return new y.Interval(c,c)}return n<1?(u=n-1,e=a*a-(o=(s=x.Cartesian3.magnitudeSquared(t))*u),r=-a+Math.sqrt(e),new y.Interval(0,r/s)):a<0?(s=x.Cartesian3.magnitudeSquared(t),new y.Interval(0,-a/s)):void 0};var q=new x.Cartesian3,L=new x.Cartesian3,I=new x.Cartesian3,E=new x.Cartesian3,z=new x.Cartesian3,T=new y.Matrix3,U=new y.Matrix3,W=new y.Matrix3,B=new y.Matrix3,V=new y.Matrix3,Z=new y.Matrix3,A=new y.Matrix3,D=new x.Cartesian3,k=new x.Cartesian3,F=new x.Cartographic;l.grazingAltitudeLocation=function(a,t){var e=a.origin,r=a.direction;if(!x.Cartesian3.equals(e,x.Cartesian3.ZERO)){var n=t.geodeticSurfaceNormal(e,q);if(0<=x.Cartesian3.dot(r,n))return e}var i=d.defined(this.rayEllipsoid(a,t)),s=t.transformPositionToScaledSpace(r,q),n=x.Cartesian3.normalize(s,s),a=x.Cartesian3.mostOrthogonalAxis(s,E),s=x.Cartesian3.normalize(x.Cartesian3.cross(a,n,L),L),a=x.Cartesian3.normalize(x.Cartesian3.cross(n,s,I),I),o=T;o[0]=n.x,o[1]=n.y,o[2]=n.z,o[3]=s.x,o[4]=s.y,o[5]=s.z,o[6]=a.x,o[7]=a.y,o[8]=a.z;var n=y.Matrix3.transpose(o,U),u=y.Matrix3.fromScale(t.radii,W),s=y.Matrix3.fromScale(t.oneOverRadii,B),a=V;a[0]=0,a[1]=-r.z,a[2]=r.y,a[3]=r.z,a[4]=0,a[5]=-r.x,a[6]=-r.y,a[7]=r.x,a[8]=0;var c,s=y.Matrix3.multiply(y.Matrix3.multiply(n,s,Z),a,Z),a=y.Matrix3.multiply(y.Matrix3.multiply(s,u,A),o,A),s=y.Matrix3.multiplyByVector(s,e,z),C=function(a,t,e,r,n){var i,s=r*r,o=n*n,u=(a[y.Matrix3.COLUMN1ROW1]-a[y.Matrix3.COLUMN2ROW2])*o,c=n*(r*N(a[y.Matrix3.COLUMN1ROW0],a[y.Matrix3.COLUMN0ROW1],O.CesiumMath.EPSILON15)+t.y),C=a[y.Matrix3.COLUMN0ROW0]*s+a[y.Matrix3.COLUMN2ROW2]*o+r*t.x+e,l=o*N(a[y.Matrix3.COLUMN2ROW1],a[y.Matrix3.COLUMN1ROW2],O.CesiumMath.EPSILON15),h=n*(r*N(a[y.Matrix3.COLUMN2ROW0],a[y.Matrix3.COLUMN0ROW2])+t.z),M=[];if(0==h&&0==l){if(0===(i=P.computeRealRoots(u,c,C)).length)return M;var f=i[0],m=Math.sqrt(Math.max(1-f*f,0));return M.push(new x.Cartesian3(r,n*f,n*-m)),M.push(new x.Cartesian3(r,n*f,n*m)),2===i.length&&(d=i[1],g=Math.sqrt(Math.max(1-d*d,0)),M.push(new x.Cartesian3(r,n*d,n*-g)),M.push(new x.Cartesian3(r,n*d,n*g))),M}var d=u*u+(f=l*l),g=2*(c*u+(m=h*l)),f=2*C*u+c*c-f+(t=h*h),m=2*(C*c-m),t=C*C-t;if(0==d&&0==g&&0==f&&0==m)return M;var p=(i=b.computeRealRoots(d,g,f,m,t)).length;if(0===p)return M;for(var v=0;v<p;++v){var w=i[v],R=w*w,S=Math.max(1-R,0),S=Math.sqrt(S),R=O.CesiumMath.sign(u)===O.CesiumMath.sign(C)?N(u*R+C,c*w,O.CesiumMath.EPSILON12):O.CesiumMath.sign(C)===O.CesiumMath.sign(c*w)?N(u*R,c*w+C,O.CesiumMath.EPSILON12):N(u*R+c*w,C,O.CesiumMath.EPSILON12),R=R*N(l*w,h,O.CesiumMath.EPSILON15);R<0?M.push(new x.Cartesian3(r,n*w,n*S)):0<R?M.push(new x.Cartesian3(r,n*w,n*-S)):0!==S?(M.push(new x.Cartesian3(r,n*w,n*-S)),M.push(new x.Cartesian3(r,n*w,n*S)),++v):M.push(new x.Cartesian3(r,n*w,n*S))}return M}(a,x.Cartesian3.negate(s,q),0,0,1),l=C.length;if(0<l){for(var h=x.Cartesian3.clone(x.Cartesian3.ZERO,k),M=Number.NEGATIVE_INFINITY,f=0;f<l;++f){c=y.Matrix3.multiplyByVector(u,y.Matrix3.multiplyByVector(o,C[f],D),D);var m=x.Cartesian3.normalize(x.Cartesian3.subtract(c,e,E),E),m=x.Cartesian3.dot(m,r);M<m&&(M=m,h=x.Cartesian3.clone(c,h))}a=t.cartesianToCartographic(h,F),M=O.CesiumMath.clamp(M,0,1),s=x.Cartesian3.magnitude(x.Cartesian3.subtract(h,e,E))*Math.sqrt(1-M*M);return s=i?-s:s,a.height=s,t.cartographicToCartesian(a,new x.Cartesian3)}};var G=new x.Cartesian3;l.lineSegmentPlane=function(a,t,e,r){d.defined(r)||(r=new x.Cartesian3);var n=x.Cartesian3.subtract(t,a,G),i=e.normal,t=x.Cartesian3.dot(i,n);if(!(Math.abs(t)<O.CesiumMath.EPSILON6)){i=x.Cartesian3.dot(i,a),t=-(e.distance+i)/t;if(!(t<0||1<t))return x.Cartesian3.multiplyByScalar(n,t,r),x.Cartesian3.add(a,r,r),r}},l.trianglePlaneIntersection=function(a,t,e,r){var n,i,s=r.normal,o=r.distance,u=x.Cartesian3.dot(s,a)+o<0,c=x.Cartesian3.dot(s,t)+o<0,s=x.Cartesian3.dot(s,e)+o<0,o=0;if(o+=u?1:0,o+=c?1:0,1!=(o+=s?1:0)&&2!=o||(n=new x.Cartesian3,i=new x.Cartesian3),1==o){if(u)return l.lineSegmentPlane(a,t,r,n),l.lineSegmentPlane(a,e,r,i),{positions:[a,t,e,n,i],indices:[0,3,4,1,2,4,1,4,3]};if(c)return l.lineSegmentPlane(t,e,r,n),l.lineSegmentPlane(t,a,r,i),{positions:[a,t,e,n,i],indices:[1,3,4,2,0,4,2,4,3]};if(s)return l.lineSegmentPlane(e,a,r,n),l.lineSegmentPlane(e,t,r,i),{positions:[a,t,e,n,i],indices:[2,3,4,0,1,4,0,4,3]}}else if(2==o){if(!u)return l.lineSegmentPlane(t,a,r,n),l.lineSegmentPlane(e,a,r,i),{positions:[a,t,e,n,i],indices:[1,2,4,1,4,3,0,3,4]};if(!c)return l.lineSegmentPlane(e,t,r,n),l.lineSegmentPlane(a,t,r,i),{positions:[a,t,e,n,i],indices:[2,0,4,2,4,3,1,3,4]};if(!s)return l.lineSegmentPlane(a,e,r,n),l.lineSegmentPlane(t,e,r,i),{positions:[a,t,e,n,i],indices:[0,1,4,0,4,3,2,3,4]}}},a.IntersectionTests=l,a.Ray=e}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/Math-fc8cecf5.js b/public/GV/thirdParty/CesiumManager/Workers/Math-fc8cecf5.js new file mode 100644 index 000000000..9cd234e0e --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/Math-fc8cecf5.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc"],function(t,r,n){"use strict";function i(t){null==t&&(t=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(t)}i.prototype.init_genrand=function(t){for(this.mt[0]=t>>>0,this.mti=1;this.mti<this.N;this.mti++){t=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(1812433253*((4294901760&t)>>>16)<<16)+1812433253*(65535&t)+this.mti,this.mt[this.mti]>>>=0}},i.prototype.genrand_int32=function(){var t,n,i=new Array(0,this.MATRIX_A);if(this.mti>=this.N){for(this.mti==this.N+1&&this.init_genrand(5489),n=0;n<this.N-this.M;n++)t=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+this.M]^t>>>1^i[1&t];for(;n<this.N-1;n++)t=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+(this.M-this.N)]^t>>>1^i[1&t];t=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^t>>>1^i[1&t],this.mti=0}return t=this.mt[this.mti++],t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,(t^=t>>>18)>>>0},i.prototype.random=function(){return this.genrand_int32()*(1/4294967296)};var h={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,EPSILON21:1e-21,GRAVITATIONALPARAMETER:3986004418e5,SOLAR_RADIUS:6955e5,LUNAR_RADIUS:1737400,SIXTY_FOUR_KILOBYTES:65536,FOUR_GIGABYTES:4294967296};h.sign=r.defaultValue(Math.sign,function(t){return 0===(t=+t)||t!=t?t:0<t?1:-1}),h.signNotZero=function(t){return t<0?-1:1},h.toSNorm=function(t,n){return n=r.defaultValue(n,255),Math.round((.5*h.clamp(t,-1,1)+.5)*n)},h.fromSNorm=function(t,n){return n=r.defaultValue(n,255),h.clamp(t,0,n)/n*2-1},h.normalize=function(t,n,i){return 0===(i=Math.max(i-n,0))?0:h.clamp((t-n)/i,0,1)},h.sinh=r.defaultValue(Math.sinh,function(t){return(Math.exp(t)-Math.exp(-t))/2}),h.cosh=r.defaultValue(Math.cosh,function(t){return(Math.exp(t)+Math.exp(-t))/2}),h.lerp=function(t,n,i){return(1-i)*t+i*n},h.PI=Math.PI,h.ONE_OVER_PI=1/Math.PI,h.PI_OVER_TWO=Math.PI/2,h.PI_OVER_THREE=Math.PI/3,h.PI_OVER_FOUR=Math.PI/4,h.PI_OVER_SIX=Math.PI/6,h.THREE_PI_OVER_TWO=3*Math.PI/2,h.TWO_PI=2*Math.PI,h.ONE_OVER_TWO_PI=1/(2*Math.PI),h.RADIANS_PER_DEGREE=Math.PI/180,h.DEGREES_PER_RADIAN=180/Math.PI,h.RADIANS_PER_ARCSECOND=h.RADIANS_PER_DEGREE/3600,h.toRadians=function(t){return t*h.RADIANS_PER_DEGREE},h.toDegrees=function(t){return t*h.DEGREES_PER_RADIAN},h.convertLongitudeRange=function(t){var n=h.TWO_PI,t=t-Math.floor(t/n)*n;return t<-Math.PI?t+n:t>=Math.PI?t-n:t},h.clampToLatitudeRange=function(t){return h.clamp(t,-1*h.PI_OVER_TWO,h.PI_OVER_TWO)},h.negativePiToPi=function(t){return h.zeroToTwoPi(t+h.PI)-h.PI},h.zeroToTwoPi=function(t){var n=h.mod(t,h.TWO_PI);return Math.abs(n)<h.EPSILON14&&Math.abs(t)>h.EPSILON14?h.TWO_PI:n},h.mod=function(t,n){return(t%n+n)%n},h.equalsEpsilon=function(t,n,i,a){i=r.defaultValue(i,0),a=r.defaultValue(a,i);var e=Math.abs(t-n);return e<=a||e<=i*Math.max(Math.abs(t),Math.abs(n))},h.lessThan=function(t,n,i){return t-n<-i},h.lessThanOrEquals=function(t,n,i){return t-n<i},h.greaterThan=function(t,n,i){return i<t-n},h.greaterThanOrEquals=function(t,n,i){return-i<t-n};var u=[1];h.factorial=function(t){var n=u.length;if(n<=t)for(var i=u[n-1],a=n;a<=t;a++){var e=i*a;u.push(e),i=e}return u[t]},h.incrementWrap=function(t,n,i){return i=r.defaultValue(i,0),n<++t&&(t=i),t},h.isPowerOfTwo=function(t){return 0!==t&&0==(t&t-1)},h.nextPowerOfTwo=function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},h.clamp=function(t,n,i){return t<n?n:i<t?i:t};var a=new i;h.setRandomNumberSeed=function(t){a=new i(t)},h.nextRandomNumber=function(){return a.random()},h.randomBetween=function(t,n){return h.nextRandomNumber()*(n-t)+t},h.acosClamped=function(t){return Math.acos(h.clamp(t,-1,1))},h.asinClamped=function(t){return Math.asin(h.clamp(t,-1,1))},h.chordLength=function(t,n){return 2*n*Math.sin(.5*t)},h.logBase=function(t,n){return Math.log(t)/Math.log(n)},h.cbrt=r.defaultValue(Math.cbrt,function(t){var n=Math.pow(Math.abs(t),1/3);return t<0?-n:n}),h.log2=r.defaultValue(Math.log2,function(t){return Math.log(t)*Math.LOG2E}),h.fog=function(t,n){n*=t;return 1-Math.exp(-n*n)},h.fastApproximateAtan=function(t){return t*(-.1784*Math.abs(t)-.0663*t*t+1.0301)},h.fastApproximateAtan2=function(t,n){var i=Math.abs(t),a=Math.abs(n),e=Math.max(i,a),e=Math.min(i,a)/e,i=h.fastApproximateAtan(e);return i=Math.abs(n)>Math.abs(t)?h.PI_OVER_TWO-i:i,i=t<0?h.PI-i:i,i=n<0?-i:i},t.CesiumMath=h}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/OrientedBoundingBox-11af7c9d.js b/public/GV/thirdParty/CesiumManager/Workers/OrientedBoundingBox-11af7c9d.js new file mode 100644 index 000000000..eb303987a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/OrientedBoundingBox-11af7c9d.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./Plane-c8971487","./EllipsoidTangentPlane-64140317"],function(a,b,t,w,O,P,y,N){"use strict";function A(a,t){this.center=O.Cartesian3.clone(b.defaultValue(a,O.Cartesian3.ZERO)),this.halfAxes=P.Matrix3.clone(b.defaultValue(t,P.Matrix3.ZERO))}A.packedLength=O.Cartesian3.packedLength+P.Matrix3.packedLength,A.pack=function(a,t,e){return e=b.defaultValue(e,0),O.Cartesian3.pack(a.center,t,e),P.Matrix3.pack(a.halfAxes,t,e+O.Cartesian3.packedLength),t},A.unpack=function(a,t,e){return t=b.defaultValue(t,0),b.defined(e)||(e=new A),O.Cartesian3.unpack(a,t,e.center),P.Matrix3.unpack(a,t+O.Cartesian3.packedLength,e.halfAxes),e};var T=new O.Cartesian3,R=new O.Cartesian3,I=new O.Cartesian3,E=new O.Cartesian3,L=new O.Cartesian3,z=new O.Cartesian3,S=new P.Matrix3,U={unitary:new P.Matrix3,diagonal:new P.Matrix3};A.fromPoints=function(a,t){if(b.defined(t)||(t=new A),!b.defined(a)||0===a.length)return t.halfAxes=P.Matrix3.ZERO,t.center=O.Cartesian3.ZERO,t;for(var e=a.length,n=O.Cartesian3.clone(a[0],T),r=1;r<e;r++)O.Cartesian3.add(n,a[r],n);var i=1/e;O.Cartesian3.multiplyByScalar(n,i,n);var s,o=0,C=0,c=0,u=0,d=0,l=0;for(r=0;r<e;r++)o+=(s=O.Cartesian3.subtract(a[r],n,R)).x*s.x,C+=s.x*s.y,c+=s.x*s.z,u+=s.y*s.y,d+=s.y*s.z,l+=s.z*s.z;o*=i,C*=i,c*=i,u*=i,d*=i,l*=i;i=S;i[0]=o,i[1]=C,i[2]=c,i[3]=C,i[4]=u,i[5]=d,i[6]=c,i[7]=d,i[8]=l;var i=P.Matrix3.computeEigenDecomposition(i,U),i=P.Matrix3.clone(i.unitary,t.halfAxes),h=P.Matrix3.getColumn(i,0,E),x=P.Matrix3.getColumn(i,1,L),M=P.Matrix3.getColumn(i,2,z),m=-Number.MAX_VALUE,f=-Number.MAX_VALUE,p=-Number.MAX_VALUE,g=Number.MAX_VALUE,w=Number.MAX_VALUE,y=Number.MAX_VALUE;for(r=0;r<e;r++)s=a[r],m=Math.max(O.Cartesian3.dot(h,s),m),f=Math.max(O.Cartesian3.dot(x,s),f),p=Math.max(O.Cartesian3.dot(M,s),p),g=Math.min(O.Cartesian3.dot(h,s),g),w=Math.min(O.Cartesian3.dot(x,s),w),y=Math.min(O.Cartesian3.dot(M,s),y);h=O.Cartesian3.multiplyByScalar(h,.5*(g+m),h),x=O.Cartesian3.multiplyByScalar(x,.5*(w+f),x),M=O.Cartesian3.multiplyByScalar(M,.5*(y+p),M);i=O.Cartesian3.add(h,x,t.center);O.Cartesian3.add(i,M,i);i=I;return i.x=m-g,i.y=f-w,i.z=p-y,O.Cartesian3.multiplyByScalar(i,.5,i),P.Matrix3.multiplyByScale(t.halfAxes,i,t.halfAxes),t};var l=new O.Cartesian3,h=new O.Cartesian3;function V(a,t,e,n,r,i,s,o,C,c,u){b.defined(u)||(u=new A);var d=u.halfAxes;P.Matrix3.setColumn(d,0,t,d),P.Matrix3.setColumn(d,1,e,d),P.Matrix3.setColumn(d,2,n,d),(e=l).x=(r+i)/2,e.y=(s+o)/2,e.z=(C+c)/2;n=h;n.x=(i-r)/2,n.y=(o-s)/2,n.z=(c-C)/2;C=u.center,e=P.Matrix3.multiplyByVector(d,e,e);return O.Cartesian3.add(a,e,C),P.Matrix3.multiplyByScale(d,n,d),u}var v=new O.Cartographic,B=new O.Cartesian3,_=new O.Cartographic,k=new O.Cartographic,W=new O.Cartographic,D=new O.Cartographic,q=new O.Cartographic,X=new O.Cartesian3,j=new O.Cartesian3,Z=new O.Cartesian3,G=new O.Cartesian3,F=new O.Cartesian3,Y=new O.Cartesian2,H=new O.Cartesian2,J=new O.Cartesian2,K=new O.Cartesian2,Q=new O.Cartesian2,$=new O.Cartesian3,aa=new O.Cartesian3,ta=new O.Cartesian3,ea=new O.Cartesian3,na=new O.Cartesian2,ra=new O.Cartesian3,ia=new O.Cartesian3,sa=new O.Cartesian3,oa=new y.Plane(O.Cartesian3.UNIT_X,0);A.fromRectangle=function(a,t,e,n,r){if(t=b.defaultValue(t,0),e=b.defaultValue(e,0),n=b.defaultValue(n,O.Ellipsoid.WGS84),a.width<=w.CesiumMath.PI){var i=O.Rectangle.center(a,v),s=n.cartographicToCartesian(i,B),o=new N.EllipsoidTangentPlane(s,n),C=o.plane,c=i.longitude,u=a.south<0&&0<a.north?0:i.latitude,d=O.Cartographic.fromRadians(c,a.north,e,_),l=O.Cartographic.fromRadians(a.west,a.north,e,k),h=O.Cartographic.fromRadians(a.west,u,e,W),x=O.Cartographic.fromRadians(a.west,a.south,e,D),M=O.Cartographic.fromRadians(c,a.south,e,q),m=n.cartographicToCartesian(d,X),f=n.cartographicToCartesian(l,j),p=n.cartographicToCartesian(h,Z),g=n.cartographicToCartesian(x,G),s=n.cartographicToCartesian(M,F),i=o.projectPointToNearestOnPlane(m,Y),u=o.projectPointToNearestOnPlane(f,H),c=o.projectPointToNearestOnPlane(p,J),d=o.projectPointToNearestOnPlane(g,K),h=o.projectPointToNearestOnPlane(s,Q),m=-(M=Math.min(u.x,c.x,d.x)),p=Math.max(u.y,i.y),s=Math.min(d.y,h.y);return l.height=x.height=t,f=n.cartographicToCartesian(l,j),g=n.cartographicToCartesian(x,G),c=Math.min(y.Plane.getPointDistance(C,f),y.Plane.getPointDistance(C,g)),u=e,V(o.origin,o.xAxis,o.yAxis,o.zAxis,M,m,s,p,c,u,r)}i=0<a.south,d=a.north<0,h=i?a.south:d?a.north:0,l=O.Rectangle.center(a,v).longitude,x=O.Cartesian3.fromRadians(l,h,e,n,$);x.z=0;f=Math.abs(x.x)<w.CesiumMath.EPSILON10&&Math.abs(x.y)<w.CesiumMath.EPSILON10?O.Cartesian3.UNIT_X:O.Cartesian3.normalize(x,aa),g=O.Cartesian3.UNIT_Z,o=O.Cartesian3.cross(f,g,ta);C=y.Plane.fromPointNormal(x,f,oa);l=O.Cartesian3.fromRadians(l+w.CesiumMath.PI_OVER_TWO,h,e,n,ea);M=-(m=O.Cartesian3.dot(y.Plane.projectPointOntoPlane(C,l,na),o)),p=O.Cartesian3.fromRadians(0,a.north,d?t:e,n,ra).z,s=O.Cartesian3.fromRadians(0,a.south,i?t:e,n,ia).z;n=O.Cartesian3.fromRadians(a.east,h,e,n,sa);return V(x,o,g,f,M,m,s,p,c=y.Plane.getPointDistance(C,n),u=0,r)},A.clone=function(a,t){if(b.defined(a))return b.defined(t)?(O.Cartesian3.clone(a.center,t.center),P.Matrix3.clone(a.halfAxes,t.halfAxes),t):new A(a.center,a.halfAxes)},A.intersectPlane=function(a,t){var e=a.center,n=t.normal,r=a.halfAxes,i=n.x,s=n.y,a=n.z,r=Math.abs(i*r[P.Matrix3.COLUMN0ROW0]+s*r[P.Matrix3.COLUMN0ROW1]+a*r[P.Matrix3.COLUMN0ROW2])+Math.abs(i*r[P.Matrix3.COLUMN1ROW0]+s*r[P.Matrix3.COLUMN1ROW1]+a*r[P.Matrix3.COLUMN1ROW2])+Math.abs(i*r[P.Matrix3.COLUMN2ROW0]+s*r[P.Matrix3.COLUMN2ROW1]+a*r[P.Matrix3.COLUMN2ROW2]),t=O.Cartesian3.dot(n,e)+t.distance;return t<=-r?P.Intersect.OUTSIDE:r<=t?P.Intersect.INSIDE:P.Intersect.INTERSECTING};var x=new O.Cartesian3,M=new O.Cartesian3,m=new O.Cartesian3,c=new O.Cartesian3;A.distanceSquaredTo=function(a,t){var e=O.Cartesian3.subtract(t,a.center,l),n=a.halfAxes,r=P.Matrix3.getColumn(n,0,x),i=P.Matrix3.getColumn(n,1,M),s=P.Matrix3.getColumn(n,2,m),o=O.Cartesian3.magnitude(r),t=O.Cartesian3.magnitude(i),a=O.Cartesian3.magnitude(s);O.Cartesian3.normalize(r,r),O.Cartesian3.normalize(i,i),O.Cartesian3.normalize(s,s);n=c;n.x=O.Cartesian3.dot(e,r),n.y=O.Cartesian3.dot(e,i),n.z=O.Cartesian3.dot(e,s);var C,s=0;return n.x<-o?s+=(C=n.x+o)*C:n.x>o&&(s+=(C=n.x-o)*C),n.y<-t?s+=(C=n.y+t)*C:n.y>t&&(s+=(C=n.y-t)*C),n.z<-a?s+=(C=n.z+a)*C:n.z>a&&(s+=(C=n.z-a)*C),s};var f=new O.Cartesian3,p=new O.Cartesian3;A.computePlaneDistances=function(a,t,e,n){b.defined(n)||(n=new P.Interval);var r=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,s=a.center,o=a.halfAxes,C=P.Matrix3.getColumn(o,0,x),c=P.Matrix3.getColumn(o,1,M),u=P.Matrix3.getColumn(o,2,m),d=O.Cartesian3.add(C,c,f);O.Cartesian3.add(d,u,d),O.Cartesian3.add(d,s,d);a=O.Cartesian3.subtract(d,t,p),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i);return O.Cartesian3.add(s,C,d),O.Cartesian3.add(d,c,d),O.Cartesian3.subtract(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.add(s,C,d),O.Cartesian3.subtract(d,c,d),O.Cartesian3.add(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.add(s,C,d),O.Cartesian3.subtract(d,c,d),O.Cartesian3.subtract(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.subtract(s,C,d),O.Cartesian3.add(d,c,d),O.Cartesian3.add(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.subtract(s,C,d),O.Cartesian3.add(d,c,d),O.Cartesian3.subtract(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.subtract(s,C,d),O.Cartesian3.subtract(d,c,d),O.Cartesian3.add(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.subtract(s,C,d),O.Cartesian3.subtract(d,c,d),O.Cartesian3.subtract(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),n.start=r,n.stop=i,n};var e=new P.BoundingSphere;A.isOccluded=function(a,t){a=P.BoundingSphere.fromOrientedBoundingBox(a,e);return!t.isBoundingSphereVisible(a)},A.prototype.intersectPlane=function(a){return A.intersectPlane(this,a)},A.prototype.distanceSquaredTo=function(a){return A.distanceSquaredTo(this,a)},A.prototype.computePlaneDistances=function(a,t,e){return A.computePlaneDistances(this,a,t,e)},A.prototype.isOccluded=function(a){return A.isOccluded(this,a)},A.equals=function(a,t){return a===t||b.defined(a)&&b.defined(t)&&O.Cartesian3.equals(a.center,t.center)&&P.Matrix3.equals(a.halfAxes,t.halfAxes)},A.prototype.clone=function(a){return A.clone(this,a)},A.prototype.equals=function(a){return A.equals(this,a)},a.OrientedBoundingBox=A}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/Plane-c8971487.js b/public/GV/thirdParty/CesiumManager/Workers/Plane-c8971487.js new file mode 100644 index 000000000..e244d863b --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/Plane-c8971487.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c"],function(n,r,e,a,i,s){"use strict";function c(n,e){this.normal=i.Cartesian3.clone(n),this.distance=e}c.fromPointNormal=function(n,e,a){n=-i.Cartesian3.dot(e,n);return r.defined(a)?(i.Cartesian3.clone(e,a.normal),a.distance=n,a):new c(e,n)};var t=new i.Cartesian3;c.fromCartesian4=function(n,e){var a=i.Cartesian3.fromCartesian4(n,t),n=n.w;return r.defined(e)?(i.Cartesian3.clone(a,e.normal),e.distance=n,e):new c(a,n)},c.getPointDistance=function(n,e){return i.Cartesian3.dot(n.normal,e)+n.distance};var o=new i.Cartesian3;c.projectPointOntoPlane=function(n,e,a){r.defined(a)||(a=new i.Cartesian3);var t=c.getPointDistance(n,e),t=i.Cartesian3.multiplyByScalar(n.normal,t,o);return i.Cartesian3.subtract(e,t,a)};var d=new s.Matrix4,l=new s.Cartesian4,C=new i.Cartesian3;c.transform=function(n,e,a){var t=n.normal,n=n.distance,e=s.Matrix4.inverseTranspose(e,d),n=s.Cartesian4.fromElements(t.x,t.y,t.z,n,l),n=s.Matrix4.multiplyByVector(e,n,n),e=i.Cartesian3.fromCartesian4(n,C);return n=s.Cartesian4.divideByScalar(n,i.Cartesian3.magnitude(e),n),c.fromCartesian4(n,a)},c.clone=function(n,e){return r.defined(e)?(i.Cartesian3.clone(n.normal,e.normal),e.distance=n.distance,e):new c(n.normal,n.distance)},c.equals=function(n,e){return n.distance===e.distance&&i.Cartesian3.equals(n.normal,e.normal)},c.ORIGIN_XY_PLANE=Object.freeze(new c(i.Cartesian3.UNIT_Z,0)),c.ORIGIN_YZ_PLANE=Object.freeze(new c(i.Cartesian3.UNIT_X,0)),c.ORIGIN_ZX_PLANE=Object.freeze(new c(i.Cartesian3.UNIT_Y,0)),n.Plane=c}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/PolygonGeometryLibrary-eba8dd45.js b/public/GV/thirdParty/CesiumManager/Workers/PolygonGeometryLibrary-eba8dd45.js new file mode 100644 index 000000000..7df3391bd --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/PolygonGeometryLibrary-eba8dd45.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./GeometryPipeline-c2d75081","./IndexDatatype-53503fee","./arrayRemoveDuplicates-ebc732b0","./ArcType-dc1c5aee","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01"],function(e,I,x,E,p,A,P,_,d,G,L,M,f,D){"use strict";function S(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(S.prototype,{length:{get:function(){return this._length}}}),S.prototype.enqueue=function(e){this._array.push(e),this._length++},S.prototype.dequeue=function(){if(0!==this._length){var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,10<++t&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,r}},S.prototype.peek=function(){if(0!==this._length)return this._array[this._offset]},S.prototype.contains=function(e){return-1!==this._array.indexOf(e)},S.prototype.clear=function(){this._array.length=this._offset=this._length=0},S.prototype.sort=function(e){0<this._offset&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var R={computeHierarchyPackedLength:function(e){for(var t=0,r=[e];0<r.length;){var i=r.pop();if(I.defined(i)){t+=2;var n=i.positions,a=i.holes;if(I.defined(n)&&(t+=n.length*E.Cartesian3.packedLength),I.defined(a))for(var o=a.length,s=0;s<o;++s)r.push(a[s])}}return t},packPolygonHierarchy:function(e,t,r){for(var i=[e];0<i.length;){var n=i.pop();if(I.defined(n)){var a=n.positions,o=n.holes;if(t[r++]=I.defined(a)?a.length:0,t[r++]=I.defined(o)?o.length:0,I.defined(a))for(var s=a.length,u=0;u<s;++u,r+=3)E.Cartesian3.pack(a[u],t,r);if(I.defined(o))for(var l=o.length,c=0;c<l;++c)i.push(o[c])}}return r},unpackPolygonHierarchy:function(e,t){for(var r=e[t++],i=e[t++],n=new Array(r),a=0<i?new Array(i):void 0,o=0;o<r;++o,t+=E.Cartesian3.packedLength)n[o]=E.Cartesian3.unpack(e,t);for(var s=0;s<i;++s)a[s]=R.unpackPolygonHierarchy(e,t),t=a[s].startingIndex,delete a[s].startingIndex;return{positions:n,holes:a,startingIndex:t}}},y=new E.Cartesian3;R.subdivideLineCount=function(e,t,r){r=E.Cartesian3.distance(e,t)/r,r=Math.max(0,Math.ceil(x.CesiumMath.log2(r)));return Math.pow(2,r)};var g=new E.Cartographic,v=new E.Cartographic,m=new E.Cartographic,C=new E.Cartesian3;R.subdivideRhumbLineCount=function(e,t,r,i){t=e.cartesianToCartographic(t,g),r=e.cartesianToCartographic(r,v),i=new f.EllipsoidRhumbLine(t,r,e).surfaceDistance/i,i=Math.max(0,Math.ceil(x.CesiumMath.log2(i)));return Math.pow(2,i)},R.subdivideLine=function(e,t,r,i){var n=R.subdivideLineCount(e,t,r),a=E.Cartesian3.distance(e,t),o=a/n;I.defined(i)||(i=[]);var s=i;s.length=3*n;for(var u,l,c,h=0,f=0;f<n;f++){var p=(p=e,u=t,l=f*o,c=a,E.Cartesian3.subtract(u,p,y),E.Cartesian3.multiplyByScalar(y,l/c,y),E.Cartesian3.add(p,y,y),[y.x,y.y,y.z]);s[h++]=p[0],s[h++]=p[1],s[h++]=p[2]}return s},R.subdivideRhumbLine=function(e,t,r,i,n){var t=e.cartesianToCartographic(t,g),r=e.cartesianToCartographic(r,v),a=new f.EllipsoidRhumbLine(t,r,e),i=a.surfaceDistance/i,i=Math.max(0,Math.ceil(x.CesiumMath.log2(i))),o=Math.pow(2,i),s=a.surfaceDistance/o;I.defined(n)||(n=[]);var u=n;u.length=3*o;for(var l=0,c=0;c<o;c++){var h=a.interpolateUsingSurfaceDistance(c*s,m),h=e.cartographicToCartesian(h,C);u[l++]=h.x,u[l++]=h.y,u[l++]=h.z}return u};var b=new E.Cartesian3,w=new E.Cartesian3,T=new E.Cartesian3,N=new E.Cartesian3;R.scaleToGeodeticHeightExtruded=function(e,t,r,i,n){i=I.defaultValue(i,E.Ellipsoid.WGS84);var a=b,o=w,s=T,u=N;if(I.defined(e)&&I.defined(e.attributes)&&I.defined(e.attributes.position))for(var l=e.attributes.position.values,c=l.length/2,h=0;h<c;h+=3)E.Cartesian3.fromArray(l,h,s),i.geodeticSurfaceNormal(s,a),u=i.scaleToGeodeticSurface(s,u),o=E.Cartesian3.multiplyByScalar(a,r,o),o=E.Cartesian3.add(u,o,o),l[h+c]=o.x,l[h+1+c]=o.y,l[h+2+c]=o.z,n&&(u=E.Cartesian3.clone(s,u)),o=E.Cartesian3.multiplyByScalar(a,t,o),o=E.Cartesian3.add(u,o,o),l[h]=o.x,l[h+1]=o.y,l[h+2]=o.z;return e},R.polygonOutlinesFromHierarchy=function(e,t,r){var i,n,a=[],o=new S;for(o.enqueue(e);0!==o.length;){var s=o.dequeue(),u=s.positions;if(t)for(n=u.length,c=0;c<n;c++)r.scaleToGeodeticSurface(u[c],u[c]);if(!((u=L.arrayRemoveDuplicates(u,E.Cartesian3.equalsEpsilon,!0)).length<3)){for(var l=s.holes?s.holes.length:0,c=0;c<l;c++){var h=s.holes[c],f=h.positions;if(t)for(n=f.length,i=0;i<n;++i)r.scaleToGeodeticSurface(f[i],f[i]);if(!((f=L.arrayRemoveDuplicates(f,E.Cartesian3.equalsEpsilon,!0)).length<3)){a.push(f);var p=0;for(I.defined(h.holes)&&(p=h.holes.length),i=0;i<p;i++)o.enqueue(h.holes[i])}}a.push(u)}}return a},R.polygonsFromHierarchy=function(e,t,r,i){var n=[],a=[],o=new S;for(o.enqueue(e);0!==o.length;){var s,u=o.dequeue(),l=u.positions,c=u.holes;if(r)for(s=l.length,m=0;m<s;m++)i.scaleToGeodeticSurface(l[m],l[m]);if(!((l=L.arrayRemoveDuplicates(l,E.Cartesian3.equalsEpsilon,!0)).length<3)){var h=t(l);if(I.defined(h)){var f=[],p=D.PolygonPipeline.computeWindingOrder2D(h);p===D.WindingOrder.CLOCKWISE&&(h.reverse(),l=l.slice().reverse());for(var d,y=l.slice(),g=I.defined(c)?c.length:0,v=[],m=0;m<g;m++){var C=c[m],b=C.positions;if(r)for(s=b.length,d=0;d<s;++d)i.scaleToGeodeticSurface(b[d],b[d]);if(!((b=L.arrayRemoveDuplicates(b,E.Cartesian3.equalsEpsilon,!0)).length<3)){var w=t(b);if(I.defined(w)){D.PolygonPipeline.computeWindingOrder2D(w)===D.WindingOrder.CLOCKWISE&&(w.reverse(),b=b.slice().reverse()),v.push(b),f.push(y.length),y=y.concat(b),h=h.concat(w);var T=0;for(I.defined(C.holes)&&(T=C.holes.length),d=0;d<T;d++)o.enqueue(C.holes[d])}}}n.push({outerRing:l,holes:v}),a.push({positions:y,positions2D:h,holes:f})}}}return{hierarchy:n,polygons:a}};var O=new E.Cartesian2,q=new E.Cartesian3,B=new p.Quaternion,H=new p.Matrix3;R.computeBoundingRectangle=function(e,t,r,i,n){for(var i=p.Quaternion.fromAxisAngle(e,i,B),a=p.Matrix3.fromQuaternion(i,H),o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,u=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,c=r.length,h=0;h<c;++h){var f=E.Cartesian3.clone(r[h],q);p.Matrix3.multiplyByVector(a,f,f);f=t(f,O);I.defined(f)&&(o=Math.min(o,f.x),s=Math.max(s,f.x),u=Math.min(u,f.y),l=Math.max(l,f.y))}return n.x=o,n.y=u,n.width=s-o,n.height=l-u,n},R.createGeometryFromPositions=function(e,t,r,i,n,a){var o=D.PolygonPipeline.triangulate(t.positions2D,t.holes);o.length<3&&(o=[0,1,2]);var s=t.positions;if(i){for(var u=s.length,l=new Array(3*u),c=0,h=0;h<u;h++){var f=s[h];l[c++]=f.x,l[c++]=f.y,l[c++]=f.z}i=new P.Geometry({attributes:{position:new P.GeometryAttribute({componentDatatype:A.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:l})},indices:o,primitiveType:P.PrimitiveType.TRIANGLES});return n.normal?d.GeometryPipeline.computeNormal(i):i}return a===M.ArcType.GEODESIC?D.PolygonPipeline.computeSubdivision(e,s,o,r):a===M.ArcType.RHUMB?D.PolygonPipeline.computeRhumbLineSubdivision(e,s,o,r):void 0};var k=[],z=new E.Cartesian3,W=new E.Cartesian3;R.computeWallGeometry=function(e,t,r,i,n){var a,o,s,u=e.length,l=0;if(i)for(o=3*u*2,a=new Array(2*o),s=0;s<u;s++)p=e[s],d=e[(s+1)%u],a[l]=a[l+o]=p.x,a[++l]=a[l+o]=p.y,a[++l]=a[l+o]=p.z,a[++l]=a[l+o]=d.x,a[++l]=a[l+o]=d.y,a[++l]=a[l+o]=d.z,++l;else{var c=x.CesiumMath.chordLength(r,t.maximumRadius),h=0;if(n===M.ArcType.GEODESIC)for(s=0;s<u;s++)h+=R.subdivideLineCount(e[s],e[(s+1)%u],c);else if(n===M.ArcType.RHUMB)for(s=0;s<u;s++)h+=R.subdivideRhumbLineCount(t,e[s],e[(s+1)%u],c);for(o=3*(h+u),a=new Array(2*o),s=0;s<u;s++){var f,p=e[s],d=e[(s+1)%u];n===M.ArcType.GEODESIC?f=R.subdivideLine(p,d,c,k):n===M.ArcType.RHUMB&&(f=R.subdivideRhumbLine(t,p,d,c,k));for(var y=f.length,g=0;g<y;++g,++l)a[l]=f[g],a[l+o]=f[g];a[l]=d.x,a[l+o]=d.x,a[++l]=d.y,a[l+o]=d.y,a[++l]=d.z,a[l+o]=d.z,++l}}u=a.length;var v=G.IndexDatatype.createTypedArray(u/3,u-6*e.length),m=0;for(u/=6,s=0;s<u;s++){var C=s,b=C+1,w=C+u,T=w+1;p=E.Cartesian3.fromArray(a,3*C,z),d=E.Cartesian3.fromArray(a,3*b,W),E.Cartesian3.equalsEpsilon(p,d,x.CesiumMath.EPSILON10,x.CesiumMath.EPSILON10)||(v[m++]=C,v[m++]=w,v[m++]=b,v[m++]=b,v[m++]=w,v[m++]=T)}return new P.Geometry({attributes:new _.GeometryAttributes({position:new P.GeometryAttribute({componentDatatype:A.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:a})}),indices:v,primitiveType:P.PrimitiveType.TRIANGLES})},e.PolygonGeometryLibrary=R}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/PolygonPipeline-b9585f01.js b/public/GV/thirdParty/CesiumManager/Workers/PolygonPipeline-b9585f01.js new file mode 100644 index 000000000..0783ce1c3 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/PolygonPipeline-b9585f01.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./EllipsoidRhumbLine-c704bf4c"],function(e,L,t,D,G,n,O,T,W){"use strict";function r(e,t,n){n=n||2;var r,a,i,u,x,o,s,p=t&&t.length,h=p?t[0]*n:e.length,f=v(e,0,h,n,!0),l=[];if(!f||f.next===f.prev)return l;if(p&&(f=function(e,t,n,r){var a,i,u,x,o=[];for(a=0,i=t.length;a<i;a++)u=t[a]*r,x=a<i-1?t[a+1]*r:e.length,(x=v(e,u,x,r,!1))===x.next&&(x.steiner=!0),o.push(function(e){var t=e,n=e;for(;(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next,t!==e;);return n}(x));for(o.sort(m),a=0;a<o.length;a++)!function(e,t){(t=function(e,t){var n,r=t,a=e.x,i=e.y,u=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var x=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(x<=a&&u<x){if((u=x)===a){if(i===r.y)return r;if(i===r.next.y)return r.next}n=r.x<r.next.x?r:r.next}}}while(r=r.next,r!==t);if(!n)return null;if(a===u)return n;var o,s=n,p=n.x,h=n.y,f=1/0;r=n;for(;a>=r.x&&r.x>=p&&a!==r.x&&g(i<h?a:u,i,p,h,i<h?u:a,i,r.x,r.y)&&(o=Math.abs(i-r.y)/(a-r.x),w(r,e)&&(o<f||o===f&&(r.x>n.x||r.x===n.x&&function(e,t){return b(e.prev,e,t.prev)<0&&b(t.next,e,e.next)<0}(n,r)))&&(n=r,f=o)),r=r.next,r!==s;);return n}(e,t))&&c(e=E(t,e),e.next)}(o[a],n),n=c(n,n.next);return n}(e,t,f,n)),e.length>80*n){r=i=e[0],a=u=e[1];for(var y=n;y<h;y+=n)(x=e[y])<r&&(r=x),(o=e[y+1])<a&&(a=o),i<x&&(i=x),u<o&&(u=o);s=0!==(s=Math.max(i-r,u-a))?1/s:0}return d(f,l,n,r,a,s),l}function v(e,t,n,r,a){var i,u;if(a===0<M(e,t,n,r))for(i=t;i<n;i+=r)u=x(i,e[i],e[i+1],u);else for(i=n-r;t<=i;i-=r)u=x(i,e[i],e[i+1],u);return u&&p(u,u.next)&&(f(u),u=u.next),u}function c(e,t){if(!e)return e;t=t||e;var n,r=e;do{if(n=!1,r.steiner||!p(r,r.next)&&0!==b(r.prev,r,r.next))r=r.next;else{if(f(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function d(e,t,n,r,a,i,u){if(e){!u&&i&&function(e,t,n,r){for(var a=e;null===a.z&&(a.z=C(a.x,a.y,t,n,r)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next,a!==e;);a.prevZ.nextZ=null,a.prevZ=null,function(e){var t,n,r,a,i,u,x,o,s=1;do{for(n=e,i=e=null,u=0;n;){for(u++,r=n,t=x=0;t<s&&(x++,r=r.nextZ);t++);for(o=s;0<x||0<o&&r;)0!==x&&(0===o||!r||n.z<=r.z)?(n=(a=n).nextZ,x--):(r=(a=r).nextZ,o--),i?i.nextZ=a:e=a,a.prevZ=i,i=a;n=r}}while(i.nextZ=null,s*=2,1<u)}(a)}(e,r,a,i);for(var x,o,s=e;e.prev!==e.next;)if(x=e.prev,o=e.next,i?function(e,t,n,r){var a=e.prev,i=e,u=e.next;if(0<=b(a,i,u))return!1;var x=(a.x<i.x?a.x<u.x?a:u:i.x<u.x?i:u).x,o=(a.y<i.y?a.y<u.y?a:u:i.y<u.y?i:u).y,s=(a.x>i.x?a.x>u.x?a:u:i.x>u.x?i:u).x,p=(a.y>i.y?a.y>u.y?a:u:i.y>u.y?i:u).y,h=C(x,o,t,n,r),f=C(s,p,t,n,r),l=e.prevZ,y=e.nextZ;for(;l&&l.z>=h&&y&&y.z<=f;){if(l!==e.prev&&l!==e.next&&g(a.x,a.y,i.x,i.y,u.x,u.y,l.x,l.y)&&0<=b(l.prev,l,l.next))return!1;if(l=l.prevZ,y!==e.prev&&y!==e.next&&g(a.x,a.y,i.x,i.y,u.x,u.y,y.x,y.y)&&0<=b(y.prev,y,y.next))return!1;y=y.nextZ}for(;l&&l.z>=h;){if(l!==e.prev&&l!==e.next&&g(a.x,a.y,i.x,i.y,u.x,u.y,l.x,l.y)&&0<=b(l.prev,l,l.next))return!1;l=l.prevZ}for(;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&g(a.x,a.y,i.x,i.y,u.x,u.y,y.x,y.y)&&0<=b(y.prev,y,y.next))return!1;y=y.nextZ}return!0}(e,r,a,i):function(e){var t=e.prev,n=e,r=e.next;if(0<=b(t,n,r))return!1;var a=e.next.next;for(;a!==e.prev;){if(g(t.x,t.y,n.x,n.y,r.x,r.y,a.x,a.y)&&0<=b(a.prev,a,a.next))return!1;a=a.next}return!0}(e))t.push(x.i/n),t.push(e.i/n),t.push(o.i/n),f(e),e=o.next,s=o.next;else if((e=o)===s){u?1===u?d(e=function(e,t,n){var r=e;do{var a=r.prev,i=r.next.next}while(!p(a,i)&&h(a,r,r.next,i)&&w(a,i)&&w(i,a)&&(t.push(a.i/n),t.push(r.i/n),t.push(i.i/n),f(r),f(r.next),r=e=i),r=r.next,r!==e);return c(r)}(c(e),t,n),t,n,r,a,i,2):2===u&&function(e,t,n,r,a,i){var u=e;do{for(var x=u.next.next;x!==u.prev;){if(u.i!==x.i&&function(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&h(n,n.next,e,t))return!0}while(n=n.next,n!==e);return!1}(e,t)&&(w(e,t)&&w(t,e)&&function(e,t){var n=e,r=!1,a=(e.x+t.x)/2,i=(e.y+t.y)/2;for(;n.y>i!=n.next.y>i&&n.next.y!==n.y&&a<(n.next.x-n.x)*(i-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next,n!==e;);return r}(e,t)&&(b(e.prev,e,t.prev)||b(e,t.prev,t))||p(e,t)&&0<b(e.prev,e,e.next)&&0<b(t.prev,t,t.next))}(u,x)){var o=E(u,x);return u=c(u,u.next),o=c(o,o.next),d(u,t,n,r,a,i),d(o,t,n,r,a,i)}x=x.next}}while((u=u.next)!==e)}(e,t,n,r,a,i):d(c(e),t,n,r,a,i,1);break}}}function m(e,t){return e.x-t.x}function C(e,t,n,r,a){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function g(e,t,n,r,a,i,u,x){return 0<=(a-u)*(t-x)-(e-u)*(i-x)&&0<=(e-u)*(r-x)-(n-u)*(t-x)&&0<=(n-u)*(i-x)-(a-u)*(r-x)}function b(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function p(e,t){return e.x===t.x&&e.y===t.y}function h(e,t,n,r){var a=s(b(e,t,n)),i=s(b(e,t,r)),u=s(b(n,r,e)),x=s(b(n,r,t));return a!==i&&u!==x||(0===a&&o(e,n,t)||(0===i&&o(e,r,t)||(0===u&&o(n,e,r)||!(0!==x||!o(n,t,r)))))}function o(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function s(e){return 0<e?1:e<0?-1:0}function w(e,t){return b(e.prev,e,e.next)<0?0<=b(e,t,e.next)&&0<=b(e,e.prev,t):b(e,t,e.prev)<0||b(e,e.next,t)<0}function E(e,t){var n=new u(e.i,e.x,e.y),r=new u(t.i,t.x,t.y),a=e.next,i=t.prev;return(e.next=t).prev=e,(n.next=a).prev=n,(r.next=n).prev=r,(i.next=r).prev=i,r}function x(e,t,n,r){n=new u(e,t,n);return r?(n.next=r.next,(n.prev=r).next.prev=n,r.next=n):(n.prev=n).next=n,n}function f(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function u(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(e,t,n,r){for(var a=0,i=t,u=n-r;i<n;i+=r)a+=(e[u]-e[i])*(e[i+1]+e[u+1]),u=i;return a}r.deviation=function(e,t,n,r){var a=t&&t.length,i=a?t[0]*n:e.length,u=Math.abs(M(e,0,i,n));if(a)for(var x=0,o=t.length;x<o;x++){var s=t[x]*n,p=x<o-1?t[x+1]*n:e.length;u-=Math.abs(M(e,s,p,n))}for(var h=0,x=0;x<r.length;x+=3){var f=r[x]*n,l=r[x+1]*n,y=r[x+2]*n;h+=Math.abs((e[f]-e[y])*(e[1+l]-e[1+f])-(e[f]-e[l])*(e[1+y]-e[1+f]))}return 0===u&&0===h?0:Math.abs((h-u)/u)},r.flatten=function(e){for(var t=e[0][0].length,n={vertices:[],holes:[],dimensions:t},r=0,a=0;a<e.length;a++){for(var i=0;i<e[a].length;i++)for(var u=0;u<t;u++)n.vertices.push(e[a][i][u]);0<a&&(r+=e[a-1].length,n.holes.push(r))}return n};var a={CLOCKWISE:n.WebGLConstants.CW,COUNTER_CLOCKWISE:n.WebGLConstants.CCW,validate:function(e){return e===a.CLOCKWISE||e===a.COUNTER_CLOCKWISE}},i=Object.freeze(a),l=new G.Cartesian3,y=new G.Cartesian3,Z={computeArea2D:function(e){for(var t=e.length,n=0,r=t-1,a=0;a<t;r=a++){var i=e[r],u=e[a];n+=i.x*u.y-u.x*i.y}return.5*n},computeWindingOrder2D:function(e){return 0<Z.computeArea2D(e)?i.COUNTER_CLOCKWISE:i.CLOCKWISE},triangulate:function(e,t){return r(G.Cartesian2.packArray(e),t,2)}},P=new G.Cartesian3,I=new G.Cartesian3,B=new G.Cartesian3,S=new G.Cartesian3,A=new G.Cartesian3,z=new G.Cartesian3,N=new G.Cartesian3;Z.computeSubdivision=function(e,t,n,r){r=L.defaultValue(r,D.CesiumMath.RADIANS_PER_DEGREE);for(var a=n.slice(0),i=t.length,u=new Array(3*i),x=0,o=0;o<i;o++){var s=t[o];u[x++]=s.x,u[x++]=s.y,u[x++]=s.z}for(var p=[],h={},f=e.maximumRadius,r=D.CesiumMath.chordLength(r,f),l=r*r;0<a.length;){var y,v,c=a.pop(),d=a.pop(),m=a.pop(),C=G.Cartesian3.fromArray(u,3*m,P),g=G.Cartesian3.fromArray(u,3*d,I),b=G.Cartesian3.fromArray(u,3*c,B),w=G.Cartesian3.multiplyByScalar(G.Cartesian3.normalize(C,S),f,S),E=G.Cartesian3.multiplyByScalar(G.Cartesian3.normalize(g,A),f,A),M=G.Cartesian3.multiplyByScalar(G.Cartesian3.normalize(b,z),f,z),Z=G.Cartesian3.magnitudeSquared(G.Cartesian3.subtract(w,E,N)),E=G.Cartesian3.magnitudeSquared(G.Cartesian3.subtract(E,M,N)),M=G.Cartesian3.magnitudeSquared(G.Cartesian3.subtract(M,w,N)),w=Math.max(Z,E,M);l<w?Z===w?(o=h[y=Math.min(m,d)+" "+Math.max(m,d)],L.defined(o)||(v=G.Cartesian3.add(C,g,N),G.Cartesian3.multiplyByScalar(v,.5,v),u.push(v.x,v.y,v.z),o=u.length/3-1,h[y]=o),a.push(m,o,c),a.push(o,d,c)):E===w?(o=h[y=Math.min(d,c)+" "+Math.max(d,c)],L.defined(o)||(v=G.Cartesian3.add(g,b,N),G.Cartesian3.multiplyByScalar(v,.5,v),u.push(v.x,v.y,v.z),o=u.length/3-1,h[y]=o),a.push(d,o,m),a.push(o,c,m)):M===w&&(o=h[y=Math.min(c,m)+" "+Math.max(c,m)],L.defined(o)||(v=G.Cartesian3.add(b,C,N),G.Cartesian3.multiplyByScalar(v,.5,v),u.push(v.x,v.y,v.z),o=u.length/3-1,h[y]=o),a.push(c,o,d),a.push(o,m,d)):(p.push(m),p.push(d),p.push(c))}return new T.Geometry({attributes:{position:new T.GeometryAttribute({componentDatatype:O.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:u})},indices:p,primitiveType:T.PrimitiveType.TRIANGLES})};var U=new G.Cartographic,_=new G.Cartographic,K=new G.Cartographic,V=new G.Cartographic;Z.computeRhumbLineSubdivision=function(e,t,n,r){r=L.defaultValue(r,D.CesiumMath.RADIANS_PER_DEGREE);for(var a=n.slice(0),i=t.length,u=new Array(3*i),x=0,o=0;o<i;o++){var s=t[o];u[x++]=s.x,u[x++]=s.y,u[x++]=s.z}for(var p=[],h={},n=e.maximumRadius,f=D.CesiumMath.chordLength(r,n),l=new W.EllipsoidRhumbLine(void 0,void 0,e),y=new W.EllipsoidRhumbLine(void 0,void 0,e),v=new W.EllipsoidRhumbLine(void 0,void 0,e);0<a.length;){var c=a.pop(),d=a.pop(),m=a.pop(),C=G.Cartesian3.fromArray(u,3*m,P),g=G.Cartesian3.fromArray(u,3*d,I),b=G.Cartesian3.fromArray(u,3*c,B),w=e.cartesianToCartographic(C,U),E=e.cartesianToCartographic(g,_),M=e.cartesianToCartographic(b,K);l.setEndPoints(w,E);var Z=l.surfaceDistance;y.setEndPoints(E,M);C=y.surfaceDistance;v.setEndPoints(M,w);var S,A,z,R,g=v.surfaceDistance,b=Math.max(Z,C,g);f<b?Z===b?(o=h[S=Math.min(m,d)+" "+Math.max(m,d)],L.defined(o)||(A=l.interpolateUsingFraction(.5,V),z=.5*(w.height+E.height),R=G.Cartesian3.fromRadians(A.longitude,A.latitude,z,e,N),u.push(R.x,R.y,R.z),o=u.length/3-1,h[S]=o),a.push(m,o,c),a.push(o,d,c)):C===b?(o=h[S=Math.min(d,c)+" "+Math.max(d,c)],L.defined(o)||(A=y.interpolateUsingFraction(.5,V),z=.5*(E.height+M.height),R=G.Cartesian3.fromRadians(A.longitude,A.latitude,z,e,N),u.push(R.x,R.y,R.z),o=u.length/3-1,h[S]=o),a.push(d,o,m),a.push(o,c,m)):g===b&&(o=h[S=Math.min(c,m)+" "+Math.max(c,m)],L.defined(o)||(A=v.interpolateUsingFraction(.5,V),z=.5*(M.height+w.height),R=G.Cartesian3.fromRadians(A.longitude,A.latitude,z,e,N),u.push(R.x,R.y,R.z),o=u.length/3-1,h[S]=o),a.push(c,o,d),a.push(o,m,d)):(p.push(m),p.push(d),p.push(c))}return new T.Geometry({attributes:{position:new T.GeometryAttribute({componentDatatype:O.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:u})},indices:p,primitiveType:T.PrimitiveType.TRIANGLES})},Z.scaleToGeodeticHeight=function(e,t,n,r){n=L.defaultValue(n,G.Ellipsoid.WGS84);var a=l,i=y;if(t=L.defaultValue(t,0),r=L.defaultValue(r,!0),L.defined(e))for(var u=e.length,x=0;x<u;x+=3)G.Cartesian3.fromArray(e,x,i),r&&(i=n.scaleToGeodeticSurface(i,i)),0!==t&&(a=n.geodeticSurfaceNormal(i,a),G.Cartesian3.multiplyByScalar(a,t,a),G.Cartesian3.add(i,a,i)),e[x]=i.x,e[x+1]=i.y,e[x+2]=i.z;return e},e.PolygonPipeline=Z,e.WindingOrder=i}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/PolylinePipeline-fa11d71d.js b/public/GV/thirdParty/CesiumManager/Workers/PolylinePipeline-fa11d71d.js new file mode 100644 index 000000000..2f6ff5cd5 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/PolylinePipeline-fa11d71d.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./IntersectionTests-8abf6dba","./Plane-c8971487","./EllipsoidRhumbLine-c704bf4c","./EllipsoidGeodesic-30fae80b"],function(a,d,e,p,m,v,w,P,T,r){"use strict";var y={numberOfPoints:function(a,e,r){e=m.Cartesian3.distance(a,e);return Math.ceil(e/r)},numberOfPointsRhumbLine:function(a,e,r){e=Math.pow(a.longitude-e.longitude,2)+Math.pow(a.latitude-e.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(e/(r*r))))}},o=new m.Cartographic;y.extractHeights=function(a,e){for(var r=a.length,t=new Array(r),n=0;n<r;n++){var i=a[n];t[n]=e.cartesianToCartographic(i,o).height}return t};var b=new v.Matrix4,A=new m.Cartesian3,E=new m.Cartesian3,R=new P.Plane(m.Cartesian3.UNIT_X,0),M=new m.Cartesian3,S=new P.Plane(m.Cartesian3.UNIT_X,0),D=new m.Cartesian3,x=new m.Cartesian3,N=[];function G(a,e,r){var t=N;if(t.length=a,e===r){for(i=0;i<a;i++)t[i]=e;return t}for(var n=(r-e)/a,i=0;i<a;i++){var o=e+i*n;t[i]=o}return t}var I=new m.Cartographic,k=new m.Cartographic,V=new m.Cartesian3,L=new m.Cartesian3,_=new m.Cartesian3,O=new r.EllipsoidGeodesic,B=new T.EllipsoidRhumbLine;y.wrapLongitude=function(a,e){var r=[],t=[];if(d.defined(a)&&0<a.length){e=d.defaultValue(e,v.Matrix4.IDENTITY);var n=v.Matrix4.inverseTransformation(e,b),e=v.Matrix4.multiplyByPoint(n,m.Cartesian3.ZERO,A),i=m.Cartesian3.normalize(v.Matrix4.multiplyByPointAsVector(n,m.Cartesian3.UNIT_Y,E),E),o=P.Plane.fromPointNormal(e,i,R),n=m.Cartesian3.normalize(v.Matrix4.multiplyByPointAsVector(n,m.Cartesian3.UNIT_X,M),M),s=P.Plane.fromPointNormal(e,n,S),c=1;r.push(m.Cartesian3.clone(a[0]));for(var l=r[0],u=a.length,h=1;h<u;++h){var f,g,C=a[h];(P.Plane.getPointDistance(s,l)<0||P.Plane.getPointDistance(s,C)<0)&&(f=w.IntersectionTests.lineSegmentPlane(l,C,o,D),d.defined(f)&&(g=m.Cartesian3.multiplyByScalar(i,5e-9,x),P.Plane.getPointDistance(o,l)<0&&m.Cartesian3.negate(g,g),r.push(m.Cartesian3.add(f,g,new m.Cartesian3)),t.push(c+1),m.Cartesian3.negate(g,g),r.push(m.Cartesian3.add(f,g,new m.Cartesian3)),c=1)),r.push(m.Cartesian3.clone(a[h])),c++,l=C}t.push(c)}return{positions:r,lengths:t}},y.generateArc=function(a){d.defined(a)||(a={});var e=a.positions,r=e.length,t=d.defaultValue(a.ellipsoid,m.Ellipsoid.WGS84),n=d.defaultValue(a.height,0),i=Array.isArray(n);if(r<1)return[];if(1===r){var o,s=t.scaleToGeodeticSurface(e[0],L);return 0!==(n=i?n[0]:n)&&(o=t.geodeticSurfaceNormal(s,V),m.Cartesian3.multiplyByScalar(o,n,o),m.Cartesian3.add(s,o,s)),[s.x,s.y,s.z]}var c=a.minDistance;d.defined(c)||(g=d.defaultValue(a.granularity,p.CesiumMath.RADIANS_PER_DEGREE),c=p.CesiumMath.chordLength(g,t.maximumRadius));for(var l=0,u=0;u<r-1;u++)l+=y.numberOfPoints(e[u],e[u+1],c);var a=3*(l+1),h=new Array(a),f=0;for(u=0;u<r-1;u++)f=function(a,e,r,t,n,i,o,s){var c=t.scaleToGeodeticSurface(a,L),l=t.scaleToGeodeticSurface(e,_),u=y.numberOfPoints(a,e,r),c=t.cartesianToCartographic(c,I),l=t.cartesianToCartographic(l,k),h=G(u,n,i);O.setEndPoints(c,l);var f=O.surfaceDistance/u,g=s;c.height=n;var C=t.cartographicToCartesian(c,V);m.Cartesian3.pack(C,o,g),g+=3;for(var d=1;d<u;d++){var p=O.interpolateUsingSurfaceDistance(d*f,k);p.height=h[d],C=t.cartographicToCartesian(p,V),m.Cartesian3.pack(C,o,g),g+=3}return g}(e[u],e[u+1],c,t,i?n[u]:n,i?n[u+1]:n,h,f);N.length=0;var g=e[r-1],g=t.cartesianToCartographic(g,I);g.height=i?n[r-1]:n;g=t.cartographicToCartesian(g,V);return m.Cartesian3.pack(g,h,a-3),h};var U=new m.Cartographic,z=new m.Cartographic;y.generateRhumbArc=function(a){d.defined(a)||(a={});var e=a.positions,r=e.length,t=d.defaultValue(a.ellipsoid,m.Ellipsoid.WGS84),n=d.defaultValue(a.height,0),i=Array.isArray(n);if(r<1)return[];if(1===r){var o,s=t.scaleToGeodeticSurface(e[0],L);return 0!==(n=i?n[0]:n)&&(o=t.geodeticSurfaceNormal(s,V),m.Cartesian3.multiplyByScalar(o,n,o),m.Cartesian3.add(s,o,s)),[s.x,s.y,s.z]}for(var c,l=d.defaultValue(a.granularity,p.CesiumMath.RADIANS_PER_DEGREE),u=0,h=t.cartesianToCartographic(e[0],U),f=0;f<r-1;f++)c=t.cartesianToCartographic(e[f+1],z),u+=y.numberOfPointsRhumbLine(h,c,l),h=m.Cartographic.clone(c,U);var s=3*(u+1),g=new Array(s),C=0;for(f=0;f<r-1;f++)C=function(a,e,r,t,n,i,o,s){var a=t.cartesianToCartographic(a,I),e=t.cartesianToCartographic(e,k),c=y.numberOfPointsRhumbLine(a,e,r);a.height=0,e.height=0;var l=G(c,n,i);B.ellipsoid.equals(t)||(B=new T.EllipsoidRhumbLine(void 0,void 0,t)),B.setEndPoints(a,e);var u=B.surfaceDistance/c,h=s;a.height=n;var f=t.cartographicToCartesian(a,V);m.Cartesian3.pack(f,o,h),h+=3;for(var g=1;g<c;g++){var C=B.interpolateUsingSurfaceDistance(g*u,k);C.height=l[g],f=t.cartographicToCartesian(C,V),m.Cartesian3.pack(f,o,h),h+=3}return h}(e[f],e[f+1],l,t,i?n[f]:n,i?n[f+1]:n,g,C);N.length=0;a=e[r-1],a=t.cartesianToCartographic(a,I);a.height=i?n[r-1]:n;a=t.cartographicToCartesian(a,V);return m.Cartesian3.pack(a,g,s-3),g},y.generateCartesianArc=function(a){for(var e=y.generateArc(a),r=e.length/3,t=new Array(r),n=0;n<r;n++)t[n]=m.Cartesian3.unpack(e,3*n);return t},y.generateCartesianRhumbArc=function(a){for(var e=y.generateRhumbArc(a),r=e.length/3,t=new Array(r),n=0;n<r;n++)t[n]=m.Cartesian3.unpack(e,3*n);return t},a.PolylinePipeline=y}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/PolylineVolumeGeometryLibrary-abc37e8c.js b/public/GV/thirdParty/CesiumManager/Workers/PolylineVolumeGeometryLibrary-abc37e8c.js new file mode 100644 index 000000000..710609069 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/PolylineVolumeGeometryLibrary-abc37e8c.js @@ -0,0 +1 @@ +define(["exports","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./EllipsoidTangentPlane-64140317","./PolylinePipeline-fa11d71d"],function(a,O,N,p,d,V){"use strict";var G=Object.freeze({ROUNDED:0,MITERED:1,BEVELED:2}),R=[new N.Cartesian3,new N.Cartesian3],I=new N.Cartesian3,L=new N.Cartesian3,j=new N.Cartesian3,Q=new N.Cartesian3,F=new N.Cartesian3,U=new N.Cartesian3,_=new N.Cartesian3,q=new N.Cartesian3,Y=new N.Cartesian3,Z=new N.Cartesian3,g=new N.Cartesian3,k={},H=new N.Cartographic;function J(a,e,r,n){var t=a[0],a=a[1],a=N.Cartesian3.angleBetween(t,a),i=Math.ceil(a/n),s=new Array(i);if(e===r){for(l=0;l<i;l++)s[l]=e;return s.push(r),s}for(var o=(r-e)/i,l=1;l<i;l++){var C=e+l*o;s[l]=C}return s[0]=e,s.push(r),s}var m=new N.Cartesian3,f=new N.Cartesian3;var w=new N.Cartesian3(-1,0,0),h=new p.Matrix4,v=new p.Matrix4,x=new p.Matrix3,P=p.Matrix3.IDENTITY.clone(),E=new N.Cartesian3,M=new p.Cartesian4,T=new N.Cartesian3;function K(a,e,r,n,t,i,s,o){var l=E,C=M;h=p.Transforms.eastNorthUpToFixedFrame(a,t,h),l=p.Matrix4.multiplyByPointAsVector(h,w,l),l=N.Cartesian3.normalize(l,l);l=l,e=e,a=a,t=t,t=new d.EllipsoidTangentPlane(a,t),l=t.projectPointOntoPlane(N.Cartesian3.add(a,l,m),m),a=t.projectPointOntoPlane(N.Cartesian3.add(a,e,f),f),e=N.Cartesian2.angleBetween(l,a),e=0<=a.x*l.y-a.y*l.x?-e:e;x=p.Matrix3.fromRotationZ(e,x),T.z=i,h=p.Matrix4.multiplyTransformation(h,p.Matrix4.fromRotationTranslation(x,T,v),h);var c=P;c[0]=s;for(var u=0;u<o;u++)for(var y=0;y<r.length;y+=3)C=N.Cartesian3.fromArray(r,y,C),C=p.Matrix3.multiplyByVector(c,C,C),C=p.Matrix4.multiplyByPoint(h,C,C),n.push(C.x,C.y,C.z);return n}var l=new N.Cartesian3;function W(a,e,r,n,t,i,s){for(var o=0;o<a.length;o+=3)n=K(N.Cartesian3.fromArray(a,o,l),e,r,n,t,i[o/3],s,1);return n}function X(a,e){for(var r=a.length,n=new Array(3*r),t=0,i=e.x+e.width/2,s=e.y+e.height/2,o=0;o<r;o++)n[t++]=a[o].x-i,n[t++]=0,n[t++]=a[o].y-s;return n}var B=new p.Quaternion,z=new N.Cartesian3,S=new p.Matrix3;function $(a,e,r,n,t,i,s,o,l,C){var c,u=N.Cartesian3.angleBetween(N.Cartesian3.subtract(e,a,Z),N.Cartesian3.subtract(r,a,g)),y=n===G.BEVELED?0:Math.ceil(u/O.CesiumMath.toRadians(5)),d=t?p.Matrix3.fromQuaternion(p.Quaternion.fromAxisAngle(N.Cartesian3.negate(a,Z),u/(y+1),B),S):p.Matrix3.fromQuaternion(p.Quaternion.fromAxisAngle(a,u/(y+1),B),S);if(e=N.Cartesian3.clone(e,z),0<y)for(var m=C?2:1,f=0;f<y;f++)e=p.Matrix3.multiplyByVector(d,e,e),c=N.Cartesian3.subtract(e,a,Z),c=N.Cartesian3.normalize(c,c),t||(c=N.Cartesian3.negate(c,c)),s=K(i.scaleToGeodeticSurface(e,g),c,o,s,i,l,1,m);else c=N.Cartesian3.subtract(e,a,Z),c=N.Cartesian3.normalize(c,c),t||(c=N.Cartesian3.negate(c,c)),s=K(i.scaleToGeodeticSurface(e,g),c,o,s,i,l,1,1),r=N.Cartesian3.clone(r,z),c=N.Cartesian3.subtract(r,a,Z),c=N.Cartesian3.normalize(c,c),t||(c=N.Cartesian3.negate(c,c)),s=K(i.scaleToGeodeticSurface(r,g),c,o,s,i,l,1,1);return s}k.removeDuplicatesFromShape=function(a){for(var e=a.length,r=[],n=e-1,t=0;t<e;n=t++){var i=a[n],s=a[t];N.Cartesian2.equals(i,s)||r.push(s)}return r},k.angleIsGreaterThanPi=function(a,e,r,n){n=new d.EllipsoidTangentPlane(r,n),a=n.projectPointOntoPlane(N.Cartesian3.add(r,a,m),m),e=n.projectPointOntoPlane(N.Cartesian3.add(r,e,f),f);return 0<=e.x*a.y-e.y*a.x};var aa=new N.Cartesian3,ea=new N.Cartesian3;k.computePositions=function(a,e,r,n,t){var i=n._ellipsoid,s=function(a,e){for(var r=new Array(a.length),n=0;n<a.length;n++){var t=a[n];H=e.cartesianToCartographic(t,H),r[n]=H.height,a[n]=e.scaleToGeodeticSurface(t,t)}return r}(a,i),o=n._granularity,l=n._cornerType,C=(t?function(a,e){var r=a.length,n=new Array(6*r),t=0,i=e.x+e.width/2,s=e.y+e.height/2,o=a[0];n[t++]=o.x-i,n[t++]=0,n[t++]=o.y-s;for(var l=1;l<r;l++){var C=(o=a[l]).x-i,c=o.y-s;n[t++]=C,n[t++]=0,n[t++]=c,n[t++]=C,n[t++]=0,n[t++]=c}return o=a[0],n[t++]=o.x-i,n[t++]=0,n[t++]=o.y-s,n}:X)(e,r),e=t?X(e,r):void 0,c=r.height/2,u=r.width/2,y=a.length,d=[],r=t?[]:void 0,m=I,f=L,p=j,g=Q,w=F,h=U,v=_,x=q,P=Y,E=a[0],M=a[1],g=i.geodeticSurfaceNormal(E,g);m=N.Cartesian3.subtract(M,E,m),m=N.Cartesian3.normalize(m,m),x=N.Cartesian3.cross(g,m,x),x=N.Cartesian3.normalize(x,x);var T,B=s[0],z=s[1];t&&(r=K(E,x,e,r,i,B+c,1,1)),P=N.Cartesian3.clone(E,P),E=M,f=N.Cartesian3.negate(m,f);for(var S=1;S<y-1;S++){var b=t?2:1,M=a[S+1],m=N.Cartesian3.subtract(M,E,m);m=N.Cartesian3.normalize(m,m),p=N.Cartesian3.add(m,f,p),p=N.Cartesian3.normalize(p,p),g=i.geodeticSurfaceNormal(E,g);var A=N.Cartesian3.multiplyByScalar(g,N.Cartesian3.dot(m,g),aa);N.Cartesian3.subtract(m,A,A),N.Cartesian3.normalize(A,A);var D=N.Cartesian3.multiplyByScalar(g,N.Cartesian3.dot(f,g),ea);N.Cartesian3.subtract(f,D,D),N.Cartesian3.normalize(D,D),!O.CesiumMath.equalsEpsilon(Math.abs(N.Cartesian3.dot(A,D)),1,O.CesiumMath.EPSILON7)?(p=N.Cartesian3.cross(p,g,p),p=N.Cartesian3.cross(g,p,p),p=N.Cartesian3.normalize(p,p),A=1/Math.max(.25,N.Cartesian3.magnitude(N.Cartesian3.cross(p,f,Z))),(D=k.angleIsGreaterThanPi(m,f,E,i))?(w=N.Cartesian3.add(E,N.Cartesian3.multiplyByScalar(p,A*u,p),w),h=N.Cartesian3.add(w,N.Cartesian3.multiplyByScalar(x,u,h),h),R[0]=N.Cartesian3.clone(P,R[0]),R[1]=N.Cartesian3.clone(h,R[1]),T=J(R,B+c,z+c,o),d=W(V.PolylinePipeline.generateArc({positions:R,granularity:o,ellipsoid:i}),x,C,d,i,T,1),x=N.Cartesian3.cross(g,m,x),x=N.Cartesian3.normalize(x,x),v=N.Cartesian3.add(w,N.Cartesian3.multiplyByScalar(x,u,v),v),l===G.ROUNDED||l===G.BEVELED?$(w,h,v,l,D,i,d,C,z+c,t):d=K(E,p=N.Cartesian3.negate(p,p),C,d,i,z+c,A,b)):(w=N.Cartesian3.add(E,N.Cartesian3.multiplyByScalar(p,A*u,p),w),h=N.Cartesian3.add(w,N.Cartesian3.multiplyByScalar(x,-u,h),h),R[0]=N.Cartesian3.clone(P,R[0]),R[1]=N.Cartesian3.clone(h,R[1]),T=J(R,B+c,z+c,o),d=W(V.PolylinePipeline.generateArc({positions:R,granularity:o,ellipsoid:i}),x,C,d,i,T,1),x=N.Cartesian3.cross(g,m,x),x=N.Cartesian3.normalize(x,x),v=N.Cartesian3.add(w,N.Cartesian3.multiplyByScalar(x,-u,v),v),l===G.ROUNDED||l===G.BEVELED?$(w,h,v,l,D,i,d,C,z+c,t):d=K(E,p,C,d,i,z+c,A,b)),P=N.Cartesian3.clone(v,P),f=N.Cartesian3.negate(m,f)):(d=K(P,x,C,d,i,B+c,1,1),P=E),B=z,z=s[S+1],E=M}R[0]=N.Cartesian3.clone(P,R[0]),R[1]=N.Cartesian3.clone(E,R[1]),T=J(R,B+c,z+c,o),d=W(V.PolylinePipeline.generateArc({positions:R,granularity:o,ellipsoid:i}),x,C,d,i,T,1),t&&(r=K(E,x,e,r,i,z+c,1,1)),y=d.length;e=t?y+r.length:y,e=new Float64Array(e);return e.set(d),t&&e.set(r,y),e},a.CornerType=G,a.PolylineVolumeGeometryLibrary=k}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/PrimitivePipeline-1823f7f9.js b/public/GV/thirdParty/CesiumManager/Workers/PrimitivePipeline-1823f7f9.js new file mode 100644 index 000000000..ec0e10c19 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/PrimitivePipeline-1823f7f9.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./GeometryPipeline-c2d75081","./IndexDatatype-53503fee","./WebMercatorProjection-df58d479"],function(e,y,t,c,P,k,C,w,b,A,f){"use strict";function m(e,t,r){e=y.defaultValue(e,0),t=y.defaultValue(t,0),r=y.defaultValue(r,0),this.value=new Float32Array([e,t,r])}function v(e,t){var r=e.attributes,e=r.position,n=e.values.length/e.componentsPerAttribute;r.batchId=new C.GeometryAttribute({componentDatatype:k.ComponentDatatype.FLOAT,componentsPerAttribute:1,values:new Float32Array(n)});for(var i=r.batchId.values,o=0;o<n;++o)i[o]=t}function l(e){var t,r=e.instances,n=e.projection,i=e.elementIndexUintSupported,a=e.scene3DOnly,o=e.vertexCacheOptimize,s=e.compressVertices,e=e.modelMatrix,d=r.length;for(g=0;g<d;++g)if(y.defined(r[g].geometry)){r[g].geometry.primitiveType;break}if(!function(e,t){var r=!a,n=e.length;if(!r&&1<n)for(var i=e[0].modelMatrix,o=1;o<n;++o)if(!P.Matrix4.equals(i,e[o].modelMatrix)){r=!0;break}if(r)for(o=0;o<n;++o)y.defined(e[o].geometry)&&b.GeometryPipeline.transformToWorldCoordinates(e[o]);else P.Matrix4.multiplyTransformation(t,e[0].modelMatrix,t)}(r,e),!a)for(g=0;g<d;++g)y.defined(r[g].geometry)&&b.GeometryPipeline.splitLongitude(r[g]);if(!function(e){for(var t=e.length,r=0;r<t;++r){var n=e[r];y.defined(n.geometry)?v(n.geometry,r):y.defined(n.westHemisphereGeometry)&&y.defined(n.eastHemisphereGeometry)&&(v(n.westHemisphereGeometry,r),v(n.eastHemisphereGeometry,r))}}(r),o)for(g=0;g<d;++g){var p=r[g];y.defined(p.geometry)?(b.GeometryPipeline.reorderForPostVertexCache(p.geometry),b.GeometryPipeline.reorderForPreVertexCache(p.geometry)):y.defined(p.westHemisphereGeometry)&&y.defined(p.eastHemisphereGeometry)&&(b.GeometryPipeline.reorderForPostVertexCache(p.westHemisphereGeometry),b.GeometryPipeline.reorderForPreVertexCache(p.westHemisphereGeometry),b.GeometryPipeline.reorderForPostVertexCache(p.eastHemisphereGeometry),b.GeometryPipeline.reorderForPreVertexCache(p.eastHemisphereGeometry))}var u=b.GeometryPipeline.combineInstances(r);for(d=u.length,g=0;g<d;++g){var c,f,m,h=(t=u[g]).attributes;if(a)for(c in h)h.hasOwnProperty(c)&&h[c].componentDatatype===k.ComponentDatatype.DOUBLE&&b.GeometryPipeline.encodeAttribute(t,c,c+"3DHigh",c+"3DLow");else for(c in h)h.hasOwnProperty(c)&&h[c].componentDatatype===k.ComponentDatatype.DOUBLE&&(f=c+"3D",m=c+"2D",b.GeometryPipeline.projectTo2D(t,c,f,m,n),y.defined(t.boundingSphere)&&"position"===c&&(t.boundingSphereCV=P.BoundingSphere.fromVertices(t.attributes.position2D.values)),b.GeometryPipeline.encodeAttribute(t,f,f+"High",f+"Low"),b.GeometryPipeline.encodeAttribute(t,m,m+"High",m+"Low"));s&&b.GeometryPipeline.compressVertices(t)}if(!i){for(var l=[],d=u.length,g=0;g<d;++g)t=u[g],l=l.concat(b.GeometryPipeline.fitToUnsignedShortIndices(t));u=l}return u}function g(e,t,r,n){var i,o,a,s=n.length-1;a=0<=s?(i=(s=n[s]).offset+s.count,r[o=s.index].indices.length):r[o=i=0].indices.length;for(var d=e.length,p=0;p<d;++p){var u=e[p][t];y.defined(u)&&(a<i+(u=u.indices.length)&&(i=0,a=r[++o].indices.length),n.push({index:o,offset:i,count:u}),i+=u)}}Object.defineProperties(m.prototype,{componentDatatype:{get:function(){return k.ComponentDatatype.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}}),m.fromCartesian3=function(e){return new m(e.x,e.y,e.z)},m.toValue=function(e,t){return y.defined(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t};var h={};function i(e,t){for(var r=e.length,n=0;n<r;++n)!function(e,t){var r,n,i=e.attributes;for(r in i)i.hasOwnProperty(r)&&(n=i[r],y.defined(n)&&y.defined(n.values)&&t.push(n.values.buffer));y.defined(e.indices)&&t.push(e.indices.buffer)}(e[n],t)}function o(e){var t=e.length,r=1+(P.BoundingSphere.packedLength+1)*t,n=new Float32Array(r),i=0;n[i++]=t;for(var o=0;o<t;++o){var a=e[o];y.defined(a)?(n[i++]=1,P.BoundingSphere.pack(e[o],n,i)):n[i++]=0,i+=P.BoundingSphere.packedLength}return n}function r(e){for(var t=new Array(e[0]),r=0,n=1;n<e.length;)1===e[n++]&&(t[r]=P.BoundingSphere.unpack(e,n)),++r,n+=P.BoundingSphere.packedLength;return t}h.combineGeometry=function(e){var t,r,n,i,o,a,s=e.instances,d=s.length,p=!1;0<d&&(0<(t=l(e)).length&&(r=b.GeometryPipeline.createAttributeLocations(t[0]),e.createPickOffsets&&(g(i=s,"geometry",o=t,a=[]),g(i,"westHemisphereGeometry",o,a),g(i,"eastHemisphereGeometry",o,a),a=a)),y.defined(s[0].attributes)&&y.defined(s[0].attributes.offset)&&(n=new Array(d),p=!0));for(var u=new Array(d),c=new Array(d),f=0;f<d;++f){var m=s[f],h=m.geometry;y.defined(h)&&(u[f]=h.boundingSphere,c[f]=h.boundingSphereCV,p&&(n[f]=m.geometry.offsetAttribute));h=m.eastHemisphereGeometry,m=m.westHemisphereGeometry;y.defined(h)&&y.defined(m)&&(y.defined(h.boundingSphere)&&y.defined(m.boundingSphere)&&(u[f]=P.BoundingSphere.union(h.boundingSphere,m.boundingSphere)),y.defined(h.boundingSphereCV)&&y.defined(m.boundingSphereCV)&&(c[f]=P.BoundingSphere.union(h.boundingSphereCV,m.boundingSphereCV)))}return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:r,pickOffsets:a,offsetInstanceExtend:n,boundingSpheres:u,boundingSpheresCV:c}},h.packCreateGeometryResults=function(e,t){var r=new Float64Array(function(e){for(var t=1,r=e.length,n=0;n<r;n++){var i=e[n];if(++t,y.defined(i)){var o,a=i.attributes;for(o in t+=7+2*P.BoundingSphere.packedLength+(y.defined(i.indices)?i.indices.length:0),a)a.hasOwnProperty(o)&&y.defined(a[o])&&(t+=5+a[o].values.length)}}return t}(e)),n=[],i={},o=e.length,a=0;r[a++]=o;for(var s=0;s<o;s++){var d=e[s],p=y.defined(d);if(r[a++]=p?1:0,p){r[a++]=d.primitiveType,r[a++]=d.geometryType,r[a++]=y.defaultValue(d.offsetAttribute,-1);p=y.defined(d.boundingSphere)?1:0;(r[a++]=p)&&P.BoundingSphere.pack(d.boundingSphere,r,a),a+=P.BoundingSphere.packedLength;p=y.defined(d.boundingSphereCV)?1:0;(r[a++]=p)&&P.BoundingSphere.pack(d.boundingSphereCV,r,a),a+=P.BoundingSphere.packedLength;var u,c=d.attributes,f=[];for(u in c)c.hasOwnProperty(u)&&y.defined(c[u])&&(f.push(u),y.defined(i[u])||(i[u]=n.length,n.push(u)));r[a++]=f.length;for(var m=0;m<f.length;m++){var h=f[m],l=c[h];r[a++]=i[h],r[a++]=l.componentDatatype,r[a++]=l.componentsPerAttribute,r[a++]=l.normalize?1:0,r[a++]=l.values.length,r.set(l.values,a),a+=l.values.length}p=y.defined(d.indices)?d.indices.length:0;0<(r[a++]=p)&&(r.set(d.indices,a),a+=p)}}return t.push(r.buffer),{stringTable:n,packedData:r}},h.unpackCreateGeometryResults=function(e){for(var t=e.stringTable,r=e.packedData,n=new Array(r[0]),i=0,o=1;o<r.length;)if(1===r[o++]){var a,s,d=r[o++],p=r[o++],u=r[o++];-1===u&&(u=void 0),1===r[o++]&&(a=P.BoundingSphere.unpack(r,o)),o+=P.BoundingSphere.packedLength,1===r[o++]&&(s=P.BoundingSphere.unpack(r,o)),o+=P.BoundingSphere.packedLength;var c=new w.GeometryAttributes,f=r[o++];for(S=0;S<f;S++){for(var m=t[r[o++]],h=r[o++],l=r[o++],g=0!==r[o++],y=r[o++],b=k.ComponentDatatype.createTypedArray(h,y),v=0;v<y;v++)b[v]=r[o++];c[m]=new C.GeometryAttribute({componentDatatype:h,componentsPerAttribute:l,normalize:g,values:b})}if(0<(y=r[o++]))for(var G=b.length/l,x=A.IndexDatatype.createTypedArray(G,y),S=0;S<y;S++)x[S]=r[o++];n[i++]=new C.Geometry({primitiveType:d,geometryType:p,boundingSphere:a,boundingSphereCV:s,indices:x,attributes:c,offsetAttribute:u})}else n[i++]=void 0;return n},h.packCombineGeometryParameters=function(e,t){for(var r=e.createGeometryResults,n=r.length,i=0;i<n;i++)t.push(r[i].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:function(e,t){var r=e.length,n=new Float64Array(1+19*r),i=0;n[i++]=r;for(var o=0;o<r;o++){var a=e[o];P.Matrix4.pack(a.modelMatrix,n,i),i+=P.Matrix4.packedLength,y.defined(a.attributes)&&y.defined(a.attributes.offset)&&(a=a.attributes.offset.value,n[i]=a[0],n[i+1]=a[1],n[i+2]=a[2]),i+=3}return t.push(n.buffer),n}(e.instances,t),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof P.GeographicProjection,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}},h.unpackCombineGeometryParameters=function(e){for(var t=function(e){for(var t=e,r=new Array(t[0]),n=0,i=1;i<t.length;){var o,a=P.Matrix4.unpack(t,i);i+=P.Matrix4.packedLength,y.defined(t[i])&&(o={offset:new m(t[i],t[i+1],t[i+2])}),i+=3,r[n++]={modelMatrix:a,attributes:o}}return r}(e.packedInstances),r=e.createGeometryResults,n=r.length,i=0,o=0;o<n;o++)for(var a=h.unpackCreateGeometryResults(r[o]),s=a.length,d=0;d<s;d++){var p=a[d];t[i].geometry=p,++i}var u=c.Ellipsoid.clone(e.ellipsoid);return{instances:t,ellipsoid:u,projection:new(e.isGeographic?P.GeographicProjection:f.WebMercatorProjection)(u),elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:P.Matrix4.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}},h.packCombineGeometryResults=function(e,t){y.defined(e.geometries)&&i(e.geometries,t);var r=o(e.boundingSpheres),n=o(e.boundingSpheresCV);return t.push(r.buffer,n.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:r,boundingSpheresCV:n}},h.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:r(e.boundingSpheres),boundingSpheresCV:r(e.boundingSpheresCV)}},e.PrimitivePipeline=h}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/RectangleGeometryLibrary-ac41ca49.js b/public/GV/thirdParty/CesiumManager/Workers/RectangleGeometryLibrary-ac41ca49.js new file mode 100644 index 000000000..7bf4c0046 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/RectangleGeometryLibrary-ac41ca49.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./GeometryAttribute-be1a3386"],function(t,S,n,X,Y,a,l){"use strict";var w=Math.cos,M=Math.sin,m=Math.sqrt,r={computePosition:function(t,n,a,r,e,o,s){var i=n.radiiSquared,c=t.nwCorner,g=t.boundingRectangle,h=c.latitude-t.granYCos*r+e*t.granXSin,u=w(h),C=M(h),l=i.z*C,d=c.longitude+r*t.granYSin+e*t.granXCos,n=u*w(d),c=u*M(d),u=i.x*n,i=i.y*c,C=m(u*n+i*c+l*C);o.x=u/C,o.y=i/C,o.z=l/C,a&&(a=t.stNwCorner,S.defined(a)?(h=a.latitude-t.stGranYCos*r+e*t.stGranXSin,d=a.longitude+r*t.stGranYSin+e*t.stGranXCos,s.x=(d-t.stWest)*t.lonScalar,s.y=(h-t.stSouth)*t.latScalar):(s.x=(d-g.west)*t.lonScalar,s.y=(h-g.south)*t.latScalar))}},d=new l.Matrix2,p=new Y.Cartesian3,G=new Y.Cartographic,b=new Y.Cartesian3,f=new a.GeographicProjection;function x(t,n,a,r,e,o,s){var i=Math.cos(n),c=r*i,g=a*i,h=Math.sin(n),u=r*h,C=a*h;p=f.project(t,p),p=Y.Cartesian3.subtract(p,b,p);i=l.Matrix2.fromRotation(n,d);p=l.Matrix2.multiplyByVector(i,p,p),p=Y.Cartesian3.add(p,b,p),--o,--s;r=(t=f.unproject(p,t)).latitude,a=r+o*C,h=r-c*s,n=r-c*s+o*C,i=Math.max(r,a,h,n),r=Math.min(r,a,h,n),a=t.longitude,h=a+o*g,n=a+s*u,o=a+s*u+o*g;return{north:i,south:r,east:Math.max(a,h,n,o),west:Math.min(a,h,n,o),granYCos:c,granYSin:u,granXCos:g,granXSin:C,nwCorner:t}}r.computeOptions=function(t,n,a,r,e,o,s){var i=t.east,c=t.west,g=t.north,h=t.south,u=!1,C=!1;g===X.CesiumMath.PI_OVER_TWO&&(u=!0),h===-X.CesiumMath.PI_OVER_TWO&&(C=!0);var l,d=g-h,S=(w=i<c?X.CesiumMath.TWO_PI-c+i:i-c)/((l=Math.ceil(w/n)+1)-1),w=d/((M=Math.ceil(d/n)+1)-1),d=Y.Rectangle.northwest(t,o),n=Y.Rectangle.center(t,G);0===a&&0===r||(n.longitude<d.longitude&&(n.longitude+=X.CesiumMath.TWO_PI),b=f.project(n,b));var M,o=w,n=S,e=Y.Rectangle.clone(t,e),C={granYCos:o,granYSin:0,granXCos:n,granXSin:0,nwCorner:d,boundingRectangle:e,width:l,height:M,northCap:u,southCap:C};return 0!==a&&(g=(d=x(d,a,S,w,0,l,M)).north,h=d.south,i=d.east,c=d.west,C.granYCos=d.granYCos,C.granYSin=d.granYSin,C.granXCos=d.granXCos,C.granXSin=d.granXSin,e.north=g,e.south=h,e.east=i,e.west=c),0!==r&&(a-=r,M=x(s=Y.Rectangle.northwest(e,s),a,S,w,0,l,M),C.stGranYCos=M.granYCos,C.stGranXCos=M.granXCos,C.stGranYSin=M.granYSin,C.stGranXSin=M.granXSin,C.stNwCorner=s,C.stWest=M.west,C.stSouth=M.south),C},t.RectangleGeometryLibrary=r}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/RuntimeError-2109023a.js b/public/GV/thirdParty/CesiumManager/Workers/RuntimeError-2109023a.js new file mode 100644 index 000000000..431a4d574 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/RuntimeError-2109023a.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71"],function(t,r){"use strict";function e(t){var r;this.name="RuntimeError",this.message=t;try{throw new Error}catch(t){r=t.stack}this.stack=r}r.defined(Object.create)&&((e.prototype=Object.create(Error.prototype)).constructor=e),e.prototype.toString=function(){var t=this.name+": "+this.message;return r.defined(this.stack)&&(t+="\n"+this.stack.toString()),t},t.RuntimeError=e}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/TerrainEncoding-d6aef4ae.js b/public/GV/thirdParty/CesiumManager/Workers/TerrainEncoding-d6aef4ae.js new file mode 100644 index 000000000..7d1486785 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/TerrainEncoding-d6aef4ae.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./AttributeCompression-9fc99391"],function(t,l,e,d,p,h,o,f){"use strict";function i(t,e){this._ellipsoid=t,this._cameraPosition=new p.Cartesian3,this._cameraPositionInScaledSpace=new p.Cartesian3,this._distanceToLimbInScaledSpaceSquared=0,l.defined(e)&&(this.cameraPosition=e)}Object.defineProperties(i.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(t){var e=this._ellipsoid.transformPositionToScaledSpace(t,this._cameraPositionInScaledSpace),i=p.Cartesian3.magnitudeSquared(e)-1;p.Cartesian3.clone(t,this._cameraPosition),this._cameraPositionInScaledSpace=e,this._distanceToLimbInScaledSpaceSquared=i}}});var r=new p.Cartesian3;i.prototype.isPointVisible=function(t){return S(this._ellipsoid.transformPositionToScaledSpace(t,r),this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)},i.prototype.isScaledSpacePointVisible=function(t){return S(t,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var a=new p.Cartesian3;i.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(t,e){var i,r=this._ellipsoid,e=l.defined(e)&&e<0&&r.minimumRadius>-e?((i=a).x=this._cameraPosition.x/(r.radii.x+e),i.y=this._cameraPosition.y/(r.radii.y+e),i.z=this._cameraPosition.z/(r.radii.z+e),i.x*i.x+i.y*i.y+i.z*i.z-1):(i=this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared);return S(t,i,e)},i.prototype.computeHorizonCullingPoint=function(t,e,i){return u(this._ellipsoid,t,e,i)};var s=p.Ellipsoid.clone(p.Ellipsoid.UNIT_SPHERE);i.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(t,e,i,r){return u(m(this._ellipsoid,i,s),t,e,r)},i.prototype.computeHorizonCullingPointFromVertices=function(t,e,i,r,a){return C(this._ellipsoid,t,e,i,r,a)},i.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(t,e,i,r,a,n){return C(m(this._ellipsoid,a,s),t,e,i,r,n)};var n=[];i.prototype.computeHorizonCullingPointFromRectangle=function(t,e,i){var r=p.Rectangle.subsample(t,e,0,n),t=h.BoundingSphere.fromPoints(r);if(!(p.Cartesian3.magnitude(t.center)<.1*e.minimumRadius))return this.computeHorizonCullingPoint(t.center,r,i)};var c=new p.Cartesian3;function m(t,e,i){return l.defined(e)&&e<0&&t.minimumRadius>-e&&(e=p.Cartesian3.fromElements(t.radii.x+e,t.radii.y+e,t.radii.z+e,c),t=p.Ellipsoid.fromCartesian3(e,i)),t}function u(t,e,i,r){l.defined(r)||(r=new p.Cartesian3);for(var a=P(t,e),n=0,o=0,s=i.length;o<s;++o){var c=M(t,i[o],a);if(c<0)return;n=Math.max(n,c)}return g(a,n,r)}var x=new p.Cartesian3;function C(t,e,i,r,a,n){l.defined(n)||(n=new p.Cartesian3),r=l.defaultValue(r,3),a=l.defaultValue(a,p.Cartesian3.ZERO);for(var o=P(t,e),s=0,c=0,m=i.length;c<m;c+=r){x.x=i[c]+a.x,x.y=i[c+1]+a.y,x.z=i[c+2]+a.z;var u=M(t,x,o);if(u<0)return;s=Math.max(s,u)}return g(o,s,n)}function S(t,e,i){t=p.Cartesian3.subtract(t,e,r),e=-p.Cartesian3.dot(t,e);return!(i<0?0<e:i<e&&e*e/p.Cartesian3.magnitudeSquared(t)>i)}var y=new p.Cartesian3,b=new p.Cartesian3;function M(t,e,i){var r=t.transformPositionToScaledSpace(e,y),t=p.Cartesian3.magnitudeSquared(r),e=Math.sqrt(t),r=p.Cartesian3.divideByScalar(r,e,b),t=Math.max(1,t),e=1/(e=Math.max(1,e));return 1/(p.Cartesian3.dot(r,i)*e-p.Cartesian3.magnitude(p.Cartesian3.cross(r,i,r))*(Math.sqrt(t-1)*e))}function g(t,e,i){if(!(e<=0||e===1/0||e!=e))return p.Cartesian3.multiplyByScalar(t,e,i)}var T=new p.Cartesian3;function P(t,e){return p.Cartesian3.equals(e,p.Cartesian3.ZERO)?e:(t.transformPositionToScaledSpace(e,T),p.Cartesian3.normalize(T,T))}var z=Object.freeze({NONE:0,BITS12:1}),E=new p.Cartesian3,v=new p.Cartesian3,N=new p.Cartesian2,I=new h.Matrix4,B=new h.Matrix4,_=Math.pow(2,12);function w(t,e,i,r,a,n){var o,s,c,m,u,d=z.NONE;l.defined(t)&&l.defined(e)&&l.defined(i)&&l.defined(r)&&(m=t.minimum,s=t.maximum,u=p.Cartesian3.subtract(s,m,v),c=i-e,d=Math.max(p.Cartesian3.maximumComponent(u),c)<_-1?z.BITS12:z.NONE,o=t.center,s=h.Matrix4.inverseTransformation(r,new h.Matrix4),c=p.Cartesian3.negate(m,E),h.Matrix4.multiply(h.Matrix4.fromTranslation(c,I),s,s),(c=E).x=1/u.x,c.y=1/u.y,c.z=1/u.z,h.Matrix4.multiply(h.Matrix4.fromScale(c,I),s,s),c=h.Matrix4.clone(r),h.Matrix4.setTranslation(c,p.Cartesian3.ZERO,c),r=h.Matrix4.clone(r,new h.Matrix4),m=h.Matrix4.fromTranslation(m,I),u=h.Matrix4.fromScale(u,B),u=h.Matrix4.multiply(m,u,I),h.Matrix4.multiply(r,u,r),h.Matrix4.multiply(c,u,c)),this.quantization=d,this.minimumHeight=e,this.maximumHeight=i,this.center=o,this.toScaledENU=s,this.fromScaledENU=r,this.matrix=c,this.hasVertexNormals=a,this.hasWebMercatorT=l.defaultValue(n,!1)}w.prototype.encode=function(t,e,i,r,a,n,o){var s,c,m=r.x,u=r.y;return this.quantization===z.BITS12?((i=h.Matrix4.multiplyByPoint(this.toScaledENU,i,E)).x=d.CesiumMath.clamp(i.x,0,1),i.y=d.CesiumMath.clamp(i.y,0,1),i.z=d.CesiumMath.clamp(i.z,0,1),s=this.maximumHeight-this.minimumHeight,c=d.CesiumMath.clamp((a-this.minimumHeight)/s,0,1),p.Cartesian2.fromElements(i.x,i.y,N),r=f.AttributeCompression.compressTextureCoordinates(N),p.Cartesian2.fromElements(i.z,c,N),s=f.AttributeCompression.compressTextureCoordinates(N),p.Cartesian2.fromElements(m,u,N),c=f.AttributeCompression.compressTextureCoordinates(N),t[e++]=r,t[e++]=s,t[e++]=c,this.hasWebMercatorT&&(p.Cartesian2.fromElements(o,0,N),c=f.AttributeCompression.compressTextureCoordinates(N),t[e++]=c)):(p.Cartesian3.subtract(i,this.center,E),t[e++]=E.x,t[e++]=E.y,t[e++]=E.z,t[e++]=a,t[e++]=m,t[e++]=u,this.hasWebMercatorT&&(t[e++]=o)),this.hasVertexNormals&&(t[e++]=f.AttributeCompression.octPackFloat(n)),e},w.prototype.decodePosition=function(t,e,i){if(l.defined(i)||(i=new p.Cartesian3),e*=this.getStride(),this.quantization!==z.BITS12)return i.x=t[e],i.y=t[e+1],i.z=t[e+2],p.Cartesian3.add(i,this.center,i);var r=f.AttributeCompression.decompressTextureCoordinates(t[e],N);i.x=r.x,i.y=r.y;e=f.AttributeCompression.decompressTextureCoordinates(t[e+1],N);return i.z=e.x,h.Matrix4.multiplyByPoint(this.fromScaledENU,i,i)},w.prototype.decodeTextureCoordinates=function(t,e,i){return l.defined(i)||(i=new p.Cartesian2),e*=this.getStride(),this.quantization===z.BITS12?f.AttributeCompression.decompressTextureCoordinates(t[e+2],i):p.Cartesian2.fromElements(t[e+4],t[e+5],i)},w.prototype.decodeHeight=function(t,e){return e*=this.getStride(),this.quantization!==z.BITS12?t[e+3]:f.AttributeCompression.decompressTextureCoordinates(t[e+1],N).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight},w.prototype.decodeWebMercatorT=function(t,e){return e*=this.getStride(),this.quantization===z.BITS12?f.AttributeCompression.decompressTextureCoordinates(t[e+3],N).x:t[e+6]},w.prototype.getOctEncodedNormal=function(t,e,i){t=t[e=(e+1)*this.getStride()-1]/256,e=Math.floor(t),t=256*(t-e);return p.Cartesian2.fromElements(e,t,i)},w.prototype.getStride=function(){var t=this.quantization===z.BITS12?3:6;return this.hasWebMercatorT&&++t,this.hasVertexNormals&&++t,t};var A={position3DAndHeight:0,textureCoordAndEncodedNormals:1},q={compressed0:0,compressed1:1};w.prototype.getAttributes=function(t){var e,i=o.ComponentDatatype.FLOAT,r=o.ComponentDatatype.getSizeInBytes(i);if(this.quantization===z.NONE){var a=2;return this.hasWebMercatorT&&++a,this.hasVertexNormals&&++a,[{index:A.position3DAndHeight,vertexBuffer:t,componentDatatype:i,componentsPerAttribute:4,offsetInBytes:0,strideInBytes:e=(4+a)*r},{index:A.textureCoordAndEncodedNormals,vertexBuffer:t,componentDatatype:i,componentsPerAttribute:a,offsetInBytes:4*r,strideInBytes:e}]}var n=3,a=0;return(this.hasWebMercatorT||this.hasVertexNormals)&&++n,this.hasWebMercatorT&&this.hasVertexNormals?(++a,[{index:q.compressed0,vertexBuffer:t,componentDatatype:i,componentsPerAttribute:n,offsetInBytes:0,strideInBytes:e=(n+1)*r},{index:q.compressed1,vertexBuffer:t,componentDatatype:i,componentsPerAttribute:1,offsetInBytes:n*r,strideInBytes:e}]):[{index:q.compressed0,vertexBuffer:t,componentDatatype:i,componentsPerAttribute:n}]},w.prototype.getAttributeLocations=function(){return this.quantization===z.NONE?A:q},w.clone=function(t,e){return l.defined(e)||(e=new w),e.quantization=t.quantization,e.minimumHeight=t.minimumHeight,e.maximumHeight=t.maximumHeight,e.center=p.Cartesian3.clone(t.center),e.toScaledENU=h.Matrix4.clone(t.toScaledENU),e.fromScaledENU=h.Matrix4.clone(t.fromScaledENU),e.matrix=h.Matrix4.clone(t.matrix),e.hasVertexNormals=t.hasVertexNormals,e.hasWebMercatorT=t.hasWebMercatorT,e},t.EllipsoidalOccluder=i,t.TerrainEncoding=w}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/Transforms-d07bb42c.js b/public/GV/thirdParty/CesiumManager/Workers/Transforms-d07bb42c.js new file mode 100644 index 000000000..d6fd7c9cc --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/Transforms-d07bb42c.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./RuntimeError-2109023a"],function(e,R,o,V,A,L){"use strict";function t(e){this._ellipsoid=R.defaultValue(e,A.Ellipsoid.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(t.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),t.prototype.project=function(e,t){var n=this._semimajorAxis,r=e.longitude*n,n=e.latitude*n,e=e.height;return R.defined(t)?(t.x=r,t.y=n,t.z=e,t):new A.Cartesian3(r,n,e)},t.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,r=e.x*n,n=e.y*n,e=e.z;return R.defined(t)?(t.longitude=r,t.latitude=n,t.height=e,t):new A.Cartographic(r,n,e)};var a=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1});function i(e,t){this.start=R.defaultValue(e,0),this.stop=R.defaultValue(t,0)}function B(e,t,n,r,a,i,s,o,u){this[0]=R.defaultValue(e,0),this[1]=R.defaultValue(r,0),this[2]=R.defaultValue(s,0),this[3]=R.defaultValue(t,0),this[4]=R.defaultValue(a,0),this[5]=R.defaultValue(o,0),this[6]=R.defaultValue(n,0),this[7]=R.defaultValue(i,0),this[8]=R.defaultValue(u,0)}B.packedLength=9,B.pack=function(e,t,n){return n=R.defaultValue(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t},B.unpack=function(e,t,n){return t=R.defaultValue(t,0),R.defined(n)||(n=new B),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n},B.clone=function(e,t){if(R.defined(e))return R.defined(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new B(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])},B.fromArray=function(e,t,n){return t=R.defaultValue(t,0),R.defined(n)||(n=new B),n[0]=e[t],n[1]=e[t+1],n[2]=e[t+2],n[3]=e[t+3],n[4]=e[t+4],n[5]=e[t+5],n[6]=e[t+6],n[7]=e[t+7],n[8]=e[t+8],n},B.fromColumnMajorArray=function(e,t){return B.clone(e,t)},B.fromRowMajorArray=function(e,t){return R.defined(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new B(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},B.fromQuaternion=function(e,t){var n=e.x*e.x,r=e.x*e.y,a=e.x*e.z,i=e.x*e.w,s=e.y*e.y,o=e.y*e.z,u=e.y*e.w,l=e.z*e.z,c=e.z*e.w,d=e.w*e.w,f=n-s-l+d,h=2*(r-c),p=2*(a+u),e=2*(r+c),r=s-n-l+d,c=2*(o-i),u=2*(a-u),i=2*(o+i),d=-n-s+l+d;return R.defined(t)?(t[0]=f,t[1]=e,t[2]=u,t[3]=h,t[4]=r,t[5]=i,t[6]=p,t[7]=c,t[8]=d,t):new B(f,h,p,e,r,c,u,i,d)},B.fromHeadingPitchRoll=function(e,t){var n=Math.cos(-e.pitch),r=Math.cos(-e.heading),a=Math.cos(e.roll),i=Math.sin(-e.pitch),s=Math.sin(-e.heading),o=Math.sin(e.roll),u=n*r,l=-a*s+o*i*r,c=o*s+a*i*r,d=n*s,e=a*r+o*i*s,s=-o*r+a*i*s,i=-i,o=o*n,n=a*n;return R.defined(t)?(t[0]=u,t[1]=d,t[2]=i,t[3]=l,t[4]=e,t[5]=o,t[6]=c,t[7]=s,t[8]=n,t):new B(u,l,c,d,e,s,i,o,n)},B.fromScale=function(e,t){return R.defined(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new B(e.x,0,0,0,e.y,0,0,0,e.z)},B.fromUniformScale=function(e,t){return R.defined(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new B(e,0,0,0,e,0,0,0,e)},B.fromCrossProduct=function(e,t){return R.defined(t)?(t[0]=0,t[1]=e.z,t[2]=-e.y,t[3]=-e.z,t[4]=0,t[5]=e.x,t[6]=e.y,t[7]=-e.x,t[8]=0,t):new B(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)},B.fromRotationX=function(e,t){var n=Math.cos(e),e=Math.sin(e);return R.defined(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=e,t[6]=0,t[7]=-e,t[8]=n,t):new B(1,0,0,0,n,-e,0,e,n)},B.fromRotationY=function(e,t){var n=Math.cos(e),e=Math.sin(e);return R.defined(t)?(t[0]=n,t[1]=0,t[2]=-e,t[3]=0,t[4]=1,t[5]=0,t[6]=e,t[7]=0,t[8]=n,t):new B(n,0,e,0,1,0,-e,0,n)},B.fromRotationZ=function(e,t){var n=Math.cos(e),e=Math.sin(e);return R.defined(t)?(t[0]=n,t[1]=e,t[2]=0,t[3]=-e,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new B(n,-e,0,e,n,0,0,0,1)},B.toArray=function(e,t){return R.defined(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},B.getElementIndex=function(e,t){return 3*e+t},B.getColumn=function(e,t,n){var r=3*t,a=e[r],t=e[1+r],r=e[2+r];return n.x=a,n.y=t,n.z=r,n},B.setColumn=function(e,t,n,r){t*=3;return(r=B.clone(e,r))[t]=n.x,r[1+t]=n.y,r[2+t]=n.z,r},B.getRow=function(e,t,n){var r=e[t],a=e[t+3],t=e[t+6];return n.x=r,n.y=a,n.z=t,n},B.setRow=function(e,t,n,r){return(r=B.clone(e,r))[t]=n.x,r[t+3]=n.y,r[t+6]=n.z,r};var n=new A.Cartesian3;B.getScale=function(e,t){return t.x=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[0],e[1],e[2],n)),t.y=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[3],e[4],e[5],n)),t.z=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[6],e[7],e[8],n)),t};var r=new A.Cartesian3;B.getMaximumScale=function(e){return B.getScale(e,r),A.Cartesian3.maximumComponent(r)},B.multiply=function(e,t,n){var r=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],a=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],i=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],o=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],u=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],l=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],c=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],t=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n[0]=r,n[1]=a,n[2]=i,n[3]=s,n[4]=o,n[5]=u,n[6]=l,n[7]=c,n[8]=t,n},B.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n},B.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n},B.multiplyByVector=function(e,t,n){var r=t.x,a=t.y,i=t.z,s=e[0]*r+e[3]*a+e[6]*i,t=e[1]*r+e[4]*a+e[7]*i,i=e[2]*r+e[5]*a+e[8]*i;return n.x=s,n.y=t,n.z=i,n},B.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n},B.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.x,n[3]=e[3]*t.y,n[4]=e[4]*t.y,n[5]=e[5]*t.y,n[6]=e[6]*t.z,n[7]=e[7]*t.z,n[8]=e[8]*t.z,n},B.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t},B.transpose=function(e,t){var n=e[0],r=e[3],a=e[6],i=e[1],s=e[4],o=e[7],u=e[2],l=e[5],e=e[8];return t[0]=n,t[1]=r,t[2]=a,t[3]=i,t[4]=s,t[5]=o,t[6]=u,t[7]=l,t[8]=e,t};var s=new A.Cartesian3(1,1,1);B.getRotation=function(e,t){var n=A.Cartesian3.divideComponents(s,B.getScale(e,r),r);return t=B.multiplyByScale(e,n,t)};var d=[1,0,0],f=[2,2,1];var u=new B,l=new B;B.computeEigenDecomposition=function(e,t){var n=V.CesiumMath.EPSILON20,r=0,a=0;R.defined(t)||(t={});for(var i=t.unitary=B.clone(B.IDENTITY,t.unitary),s=t.diagonal=B.clone(e,t.diagonal),o=n*function(e){for(var t=0,n=0;n<9;++n){var r=e[n];t+=r*r}return Math.sqrt(t)}(s);a<10&&function(e){for(var t=0,n=0;n<3;++n){var r=e[B.getElementIndex(f[n],d[n])];t+=2*r*r}return Math.sqrt(t)}(s)>o;)!function(e,t){for(var n=V.CesiumMath.EPSILON15,r=0,a=1,i=0;i<3;++i){var s=Math.abs(e[B.getElementIndex(f[i],d[i])]);r<s&&(a=i,r=s)}var o=1,u=0,l=d[a],c=f[a];Math.abs(e[B.getElementIndex(c,l)])>n&&(u=(n=(n=(e[B.getElementIndex(c,c)]-e[B.getElementIndex(l,l)])/2/e[B.getElementIndex(c,l)])<0?-1/(-n+Math.sqrt(1+n*n)):1/(n+Math.sqrt(1+n*n)))*(o=1/Math.sqrt(1+n*n))),(t=B.clone(B.IDENTITY,t))[B.getElementIndex(l,l)]=t[B.getElementIndex(c,c)]=o,t[B.getElementIndex(c,l)]=u,t[B.getElementIndex(l,c)]=-u}(s,u),B.transpose(u,l),B.multiply(s,u,s),B.multiply(l,s,s),B.multiply(i,u,i),2<++r&&(++a,r=0);return t},B.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t},B.determinant=function(e){var t=e[0],n=e[3],r=e[6],a=e[1],i=e[4],s=e[7],o=e[2],u=e[5],e=e[8];return t*(i*e-u*s)+a*(u*r-n*e)+o*(n*s-i*r)},B.inverse=function(e,t){var n=e[0],r=e[1],a=e[2],i=e[3],s=e[4],o=e[5],u=e[6],l=e[7],c=e[8],e=B.determinant(e);return t[0]=s*c-l*o,t[1]=l*a-r*c,t[2]=r*o-s*a,t[3]=u*o-i*c,t[4]=n*c-u*a,t[5]=i*a-n*o,t[6]=i*l-u*s,t[7]=u*r-n*l,t[8]=n*s-i*r,B.multiplyByScalar(t,1/e,t)};var c=new B;function W(e,t,n,r){this.x=R.defaultValue(e,0),this.y=R.defaultValue(t,0),this.z=R.defaultValue(n,0),this.w=R.defaultValue(r,0)}B.inverseTranspose=function(e,t){return B.inverse(B.transpose(e,c),t)},B.equals=function(e,t){return e===t||R.defined(e)&&R.defined(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},B.equalsEpsilon=function(e,t,n){return n=R.defaultValue(n,0),e===t||R.defined(e)&&R.defined(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},B.IDENTITY=Object.freeze(new B(1,0,0,0,1,0,0,0,1)),B.ZERO=Object.freeze(new B(0,0,0,0,0,0,0,0,0)),B.COLUMN0ROW0=0,B.COLUMN0ROW1=1,B.COLUMN0ROW2=2,B.COLUMN1ROW0=3,B.COLUMN1ROW1=4,B.COLUMN1ROW2=5,B.COLUMN2ROW0=6,B.COLUMN2ROW1=7,B.COLUMN2ROW2=8,Object.defineProperties(B.prototype,{length:{get:function(){return B.packedLength}}}),B.prototype.clone=function(e){return B.clone(this,e)},B.prototype.equals=function(e){return B.equals(this,e)},B.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]},B.prototype.equalsEpsilon=function(e,t){return B.equalsEpsilon(this,e,t)},B.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n("+this[1]+", "+this[4]+", "+this[7]+")\n("+this[2]+", "+this[5]+", "+this[8]+")"},W.fromElements=function(e,t,n,r,a){return R.defined(a)?(a.x=e,a.y=t,a.z=n,a.w=r,a):new W(e,t,n,r)},W.fromColor=function(e,t){return R.defined(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new W(e.red,e.green,e.blue,e.alpha)},W.clone=function(e,t){if(R.defined(e))return R.defined(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new W(e.x,e.y,e.z,e.w)},W.packedLength=4,W.pack=function(e,t,n){return n=R.defaultValue(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t},W.unpack=function(e,t,n){return t=R.defaultValue(t,0),R.defined(n)||(n=new W),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n},W.packArray=function(e,t){var n=e.length,r=4*n;if(R.defined(t)){if(!Array.isArray(t)&&t.length!==r)throw new o.DeveloperError("If result is a typed array, it must have exactly array.length * 4 elements");t.length!==r&&(t.length=r)}else t=new Array(r);for(var a=0;a<n;++a)W.pack(e[a],t,4*a);return t},W.unpackArray=function(e,t){var n=e.length;R.defined(t)?t.length=n/4:t=new Array(n/4);for(var r=0;r<n;r+=4){var a=r/4;t[a]=W.unpack(e,r,t[a])}return t},W.fromArray=W.unpack,W.maximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},W.minimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},W.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},W.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},W.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},W.magnitude=function(e){return Math.sqrt(W.magnitudeSquared(e))};var h=new W;W.distance=function(e,t){return W.subtract(e,t,h),W.magnitude(h)},W.distanceSquared=function(e,t){return W.subtract(e,t,h),W.magnitudeSquared(h)},W.normalize=function(e,t){var n=W.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t},W.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},W.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n},W.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n.w=e.w/t.w,n},W.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n},W.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n},W.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n},W.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n},W.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},W.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t};var p=new W;W.lerp=function(e,t,n,r){return W.multiplyByScalar(t,n,p),r=W.multiplyByScalar(e,1-n,r),W.add(p,r,r)};var m=new W;W.mostOrthogonalAxis=function(e,t){e=W.normalize(e,m);return W.abs(e,e),t=e.x<=e.y?e.x<=e.z?e.x<=e.w?W.clone(W.UNIT_X,t):W.clone(W.UNIT_W,t):e.z<=e.w?W.clone(W.UNIT_Z,t):W.clone(W.UNIT_W,t):e.y<=e.z?e.y<=e.w?W.clone(W.UNIT_Y,t):W.clone(W.UNIT_W,t):e.z<=e.w?W.clone(W.UNIT_Z,t):W.clone(W.UNIT_W,t)},W.equals=function(e,t){return e===t||R.defined(e)&&R.defined(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},W.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]},W.equalsEpsilon=function(e,t,n,r){return e===t||R.defined(e)&&R.defined(t)&&V.CesiumMath.equalsEpsilon(e.x,t.x,n,r)&&V.CesiumMath.equalsEpsilon(e.y,t.y,n,r)&&V.CesiumMath.equalsEpsilon(e.z,t.z,n,r)&&V.CesiumMath.equalsEpsilon(e.w,t.w,n,r)},W.ZERO=Object.freeze(new W(0,0,0,0)),W.UNIT_X=Object.freeze(new W(1,0,0,0)),W.UNIT_Y=Object.freeze(new W(0,1,0,0)),W.UNIT_Z=Object.freeze(new W(0,0,1,0)),W.UNIT_W=Object.freeze(new W(0,0,0,1)),W.prototype.clone=function(e){return W.clone(this,e)},W.prototype.equals=function(e){return W.equals(this,e)},W.prototype.equalsEpsilon=function(e,t,n){return W.equalsEpsilon(this,e,t,n)},W.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"};var y=new Float32Array(1),C=256;function j(e,t,n,r,a,i,s,o,u,l,c,d,f,h,p,m){this[0]=R.defaultValue(e,0),this[1]=R.defaultValue(a,0),this[2]=R.defaultValue(u,0),this[3]=R.defaultValue(f,0),this[4]=R.defaultValue(t,0),this[5]=R.defaultValue(i,0),this[6]=R.defaultValue(l,0),this[7]=R.defaultValue(h,0),this[8]=R.defaultValue(n,0),this[9]=R.defaultValue(s,0),this[10]=R.defaultValue(c,0),this[11]=R.defaultValue(p,0),this[12]=R.defaultValue(r,0),this[13]=R.defaultValue(o,0),this[14]=R.defaultValue(d,0),this[15]=R.defaultValue(m,0)}W.packFloat=function(e,t){if(R.defined(t)||(t=new W),y[0]=e,0===(e=y[0]))return W.clone(W.ZERO,t);var n,r=e<0?1:0;isFinite(e)?(e=Math.abs(e),n=Math.floor(V.CesiumMath.logBase(e,10))+1,e/=Math.pow(10,n)):(e=.1,n=38);e*=C;return t.x=Math.floor(e),e=(e-t.x)*C,t.y=Math.floor(e),e=(e-t.y)*C,t.z=Math.floor(e),t.w=2*(n+38)+r,t},W.unpackFloat=function(e){var t=e.w/2,n=Math.floor(t),r=-(r=2*(r=2*(t-n))-1);if(38<=(n-=38))return r<0?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY;t=r*e.x*.00390625;return t+=r*e.y*(1/65536),(t+=r*e.z*(1/16777216))*Math.pow(10,n)},j.packedLength=16,j.pack=function(e,t,n){return n=R.defaultValue(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t},j.unpack=function(e,t,n){return t=R.defaultValue(t,0),R.defined(n)||(n=new j),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n},j.clone=function(e,t){if(R.defined(e))return R.defined(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new j(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])},j.fromArray=j.unpack,j.fromColumnMajorArray=function(e,t){return j.clone(e,t)},j.fromRowMajorArray=function(e,t){return R.defined(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new j(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},j.fromRotationTranslation=function(e,t,n){return t=R.defaultValue(t,A.Cartesian3.ZERO),R.defined(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new j(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},j.fromTranslationQuaternionRotationScale=function(e,t,n,r){R.defined(r)||(r=new j);var a=n.x,i=n.y,s=n.z,o=t.x*t.x,u=t.x*t.y,l=t.x*t.z,c=t.x*t.w,d=t.y*t.y,f=t.y*t.z,h=t.y*t.w,p=t.z*t.z,m=t.z*t.w,y=t.w*t.w,C=o-d-p+y,w=2*(u-m),n=2*(l+h),t=2*(u+m),u=d-o-p+y,m=2*(f-c),h=2*(l-h),c=2*(f+c),y=-o-d+p+y;return r[0]=C*a,r[1]=t*a,r[2]=h*a,r[3]=0,r[4]=w*i,r[5]=u*i,r[6]=c*i,r[7]=0,r[8]=n*s,r[9]=m*s,r[10]=y*s,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,r},j.fromTranslationRotationScale=function(e,t){return j.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)},j.fromTranslation=function(e,t){return j.fromRotationTranslation(B.IDENTITY,e,t)},j.fromScale=function(e,t){return R.defined(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new j(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},j.fromUniformScale=function(e,t){return R.defined(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new j(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var w=new A.Cartesian3,v=new A.Cartesian3,g=new A.Cartesian3;j.fromCamera=function(e,t){var n=e.position,r=e.direction,a=e.up;A.Cartesian3.normalize(r,w),A.Cartesian3.normalize(A.Cartesian3.cross(w,a,v),v),A.Cartesian3.normalize(A.Cartesian3.cross(v,w,g),g);var i=v.x,s=v.y,o=v.z,u=w.x,l=w.y,c=w.z,d=g.x,f=g.y,h=g.z,p=n.x,e=n.y,r=n.z,a=i*-p+s*-e+o*-r,n=d*-p+f*-e+h*-r,r=u*p+l*e+c*r;return R.defined(t)?(t[0]=i,t[1]=d,t[2]=-u,t[3]=0,t[4]=s,t[5]=f,t[6]=-l,t[7]=0,t[8]=o,t[9]=h,t[10]=-c,t[11]=0,t[12]=a,t[13]=n,t[14]=r,t[15]=1,t):new j(i,s,o,a,d,f,h,n,-u,-l,-c,r,0,0,0,1)},j.computePerspectiveFieldOfView=function(e,t,n,r,a){var i=1/Math.tan(.5*e),e=i/t,t=(r+n)/(n-r),r=2*r*n/(n-r);return a[0]=e,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=i,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=t,a[11]=-1,a[12]=0,a[13]=0,a[14]=r,a[15]=0,a},j.computeOrthographicOffCenter=function(e,t,n,r,a,i,s){var o=1/(t-e),u=1/(r-n),l=1/(i-a),e=-(t+e)*o,n=-(r+n)*u,a=-(i+a)*l;return o*=2,u*=2,l*=-2,s[0]=o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=u,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=l,s[11]=0,s[12]=e,s[13]=n,s[14]=a,s[15]=1,s},j.computePerspectiveOffCenter=function(e,t,n,r,a,i,s){var o=2*a/(t-e),u=2*a/(r-n),e=(t+e)/(t-e),r=(r+n)/(r-n),n=-(i+a)/(i-a),a=-2*i*a/(i-a);return s[0]=o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=u,s[6]=0,s[7]=0,s[8]=e,s[9]=r,s[10]=n,s[11]=-1,s[12]=0,s[13]=0,s[14]=a,s[15]=0,s},j.computeInfinitePerspectiveOffCenter=function(e,t,n,r,a,i){var s=2*a/(t-e),o=2*a/(r-n),e=(t+e)/(t-e),n=(r+n)/(r-n),a=-2*a;return i[0]=s,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=o,i[6]=0,i[7]=0,i[8]=e,i[9]=n,i[10]=-1,i[11]=-1,i[12]=0,i[13]=0,i[14]=a,i[15]=0,i},j.computeViewportTransformation=function(e,t,n,r){R.defined(r)||(r=new j),e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT);var a=R.defaultValue(e.x,0),i=R.defaultValue(e.y,0),s=R.defaultValue(e.width,0),o=R.defaultValue(e.height,0);t=R.defaultValue(t,0);var u=.5*s,e=.5*o,s=.5*((n=R.defaultValue(n,1))-t),o=e,n=s,a=a+u,e=i+e,s=t+s;return r[0]=u,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=o,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=n,r[11]=0,r[12]=a,r[13]=e,r[14]=s,r[15]=1,r},j.computeView=function(e,t,n,r,a){return a[0]=r.x,a[1]=n.x,a[2]=-t.x,a[3]=0,a[4]=r.y,a[5]=n.y,a[6]=-t.y,a[7]=0,a[8]=r.z,a[9]=n.z,a[10]=-t.z,a[11]=0,a[12]=-A.Cartesian3.dot(r,e),a[13]=-A.Cartesian3.dot(n,e),a[14]=A.Cartesian3.dot(t,e),a[15]=1,a},j.toArray=function(e,t){return R.defined(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},j.getElementIndex=function(e,t){return 4*e+t},j.getColumn=function(e,t,n){var r=4*t,a=e[r],i=e[1+r],t=e[2+r],r=e[3+r];return n.x=a,n.y=i,n.z=t,n.w=r,n},j.setColumn=function(e,t,n,r){t*=4;return(r=j.clone(e,r))[t]=n.x,r[1+t]=n.y,r[2+t]=n.z,r[3+t]=n.w,r},j.setTranslation=function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};var x=new A.Cartesian3;j.setScale=function(e,t,n){var r=j.getScale(e,x),r=A.Cartesian3.divideComponents(t,r,x);return j.multiplyByScale(e,r,n)},j.getRow=function(e,t,n){var r=e[t],a=e[t+4],i=e[t+8],t=e[t+12];return n.x=r,n.y=a,n.z=i,n.w=t,n},j.setRow=function(e,t,n,r){return(r=j.clone(e,r))[t]=n.x,r[t+4]=n.y,r[t+8]=n.z,r[t+12]=n.w,r};var E=new A.Cartesian3;j.getScale=function(e,t){return t.x=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[0],e[1],e[2],E)),t.y=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[4],e[5],e[6],E)),t.z=A.Cartesian3.magnitude(A.Cartesian3.fromElements(e[8],e[9],e[10],E)),t};var O=new A.Cartesian3;j.getMaximumScale=function(e){return j.getScale(e,O),A.Cartesian3.maximumComponent(O)},j.multiply=function(e,t,n){var r=e[0],a=e[1],i=e[2],s=e[3],o=e[4],u=e[5],l=e[6],c=e[7],d=e[8],f=e[9],h=e[10],p=e[11],m=e[12],y=e[13],C=e[14],w=e[15],v=t[0],g=t[1],x=t[2],E=t[3],O=t[4],_=t[5],S=t[6],b=t[7],M=t[8],R=t[9],A=t[10],T=t[11],q=t[12],z=t[13],I=t[14],P=t[15],D=r*v+o*g+d*x+m*E,e=a*v+u*g+f*x+y*E,t=i*v+l*g+h*x+C*E,v=s*v+c*g+p*x+w*E,g=r*O+o*_+d*S+m*b,x=a*O+u*_+f*S+y*b,E=i*O+l*_+h*S+C*b,O=s*O+c*_+p*S+w*b,_=r*M+o*R+d*A+m*T,S=a*M+u*R+f*A+y*T,b=i*M+l*R+h*A+C*T,T=s*M+c*R+p*A+w*T,m=r*q+o*z+d*I+m*P,y=a*q+u*z+f*I+y*P,C=i*q+l*z+h*I+C*P,P=s*q+c*z+p*I+w*P;return n[0]=D,n[1]=e,n[2]=t,n[3]=v,n[4]=g,n[5]=x,n[6]=E,n[7]=O,n[8]=_,n[9]=S,n[10]=b,n[11]=T,n[12]=m,n[13]=y,n[14]=C,n[15]=P,n},j.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n},j.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n},j.multiplyTransformation=function(e,t,n){var r=e[0],a=e[1],i=e[2],s=e[4],o=e[5],u=e[6],l=e[8],c=e[9],d=e[10],f=e[12],h=e[13],p=e[14],m=t[0],y=t[1],C=t[2],w=t[4],v=t[5],g=t[6],x=t[8],E=t[9],O=t[10],_=t[12],S=t[13],b=t[14],e=r*m+s*y+l*C,t=a*m+o*y+c*C,m=i*m+u*y+d*C,y=r*w+s*v+l*g,C=a*w+o*v+c*g,w=i*w+u*v+d*g,v=r*x+s*E+l*O,g=a*x+o*E+c*O,O=i*x+u*E+d*O,f=r*_+s*S+l*b+f,h=a*_+o*S+c*b+h,p=i*_+u*S+d*b+p;return n[0]=e,n[1]=t,n[2]=m,n[3]=0,n[4]=y,n[5]=C,n[6]=w,n[7]=0,n[8]=v,n[9]=g,n[10]=O,n[11]=0,n[12]=f,n[13]=h,n[14]=p,n[15]=1,n},j.multiplyByMatrix3=function(e,t,n){var r=e[0],a=e[1],i=e[2],s=e[4],o=e[5],u=e[6],l=e[8],c=e[9],d=e[10],f=t[0],h=t[1],p=t[2],m=t[3],y=t[4],C=t[5],w=t[6],v=t[7],g=t[8],x=r*f+s*h+l*p,t=a*f+o*h+c*p,f=i*f+u*h+d*p,h=r*m+s*y+l*C,p=a*m+o*y+c*C,C=i*m+u*y+d*C,l=r*w+s*v+l*g,c=a*w+o*v+c*g,g=i*w+u*v+d*g;return n[0]=x,n[1]=t,n[2]=f,n[3]=0,n[4]=h,n[5]=p,n[6]=C,n[7]=0,n[8]=l,n[9]=c,n[10]=g,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n},j.multiplyByTranslation=function(e,t,n){var r=t.x,a=t.y,i=t.z,s=r*e[0]+a*e[4]+i*e[8]+e[12],t=r*e[1]+a*e[5]+i*e[9]+e[13],i=r*e[2]+a*e[6]+i*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=s,n[13]=t,n[14]=i,n[15]=e[15],n};var _=new A.Cartesian3;j.multiplyByUniformScale=function(e,t,n){return _.x=t,_.y=t,_.z=t,j.multiplyByScale(e,_,n)},j.multiplyByScale=function(e,t,n){var r=t.x,a=t.y,t=t.z;return 1===r&&1===a&&1===t?j.clone(e,n):(n[0]=r*e[0],n[1]=r*e[1],n[2]=r*e[2],n[3]=0,n[4]=a*e[4],n[5]=a*e[5],n[6]=a*e[6],n[7]=0,n[8]=t*e[8],n[9]=t*e[9],n[10]=t*e[10],n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=1,n)},j.multiplyByVector=function(e,t,n){var r=t.x,a=t.y,i=t.z,s=t.w,o=e[0]*r+e[4]*a+e[8]*i+e[12]*s,u=e[1]*r+e[5]*a+e[9]*i+e[13]*s,t=e[2]*r+e[6]*a+e[10]*i+e[14]*s,s=e[3]*r+e[7]*a+e[11]*i+e[15]*s;return n.x=o,n.y=u,n.z=t,n.w=s,n},j.multiplyByPointAsVector=function(e,t,n){var r=t.x,a=t.y,i=t.z,s=e[0]*r+e[4]*a+e[8]*i,t=e[1]*r+e[5]*a+e[9]*i,i=e[2]*r+e[6]*a+e[10]*i;return n.x=s,n.y=t,n.z=i,n},j.multiplyByPoint=function(e,t,n){var r=t.x,a=t.y,i=t.z,s=e[0]*r+e[4]*a+e[8]*i+e[12],t=e[1]*r+e[5]*a+e[9]*i+e[13],e=e[2]*r+e[6]*a+e[10]*i+e[14];return n.x=s,n.y=t,n.z=e,n},j.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n},j.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t},j.transpose=function(e,t){var n=e[1],r=e[2],a=e[3],i=e[6],s=e[7],o=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=i,t[10]=e[10],t[11]=e[14],t[12]=a,t[13]=s,t[14]=o,t[15]=e[15],t},j.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t},j.equals=function(e,t){return e===t||R.defined(e)&&R.defined(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]},j.equalsEpsilon=function(e,t,n){return n=R.defaultValue(n,0),e===t||R.defined(e)&&R.defined(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n},j.getTranslation=function(e,t){return t.x=e[12],t.y=e[13],t.z=e[14],t},j.getMatrix3=function(e,t){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t};var k=new B,Y=new B,Z=new W,X=new W(0,0,0,1);j.inverse=function(e,t){var n=e[0],r=e[4],a=e[8],i=e[12],s=e[1],o=e[5],u=e[9],l=e[13],c=e[2],d=e[6],f=e[10],h=e[14],p=e[3],m=e[7],y=e[11],C=e[15],w=f*C,v=h*y,g=d*C,x=h*m,E=d*y,O=f*m,_=c*C,S=h*p,b=c*y,M=f*p,R=c*m,A=d*p,T=w*o+x*u+E*l-(v*o+g*u+O*l),q=v*s+_*u+M*l-(w*s+S*u+b*l),z=g*s+S*o+R*l-(x*s+_*o+A*l),I=O*s+b*o+A*u-(E*s+M*o+R*u),P=v*r+g*a+O*i-(w*r+x*a+E*i),D=w*n+S*a+b*i-(v*n+_*a+M*i),N=x*n+_*r+A*i-(g*n+S*r+R*i),U=E*n+M*r+R*a-(O*n+b*r+A*a),F=(w=a*l)*m+(x=i*o)*y+(E=r*u)*C-((v=i*u)*m+(g=r*l)*y+(O=a*o)*C),u=v*p+(_=n*l)*y+(M=a*s)*C-(w*p+(S=i*s)*y+(b=n*u)*C),C=g*p+S*m+(R=n*o)*C-(x*p+_*m+(A=r*s)*C),m=O*p+b*m+A*y-(E*p+M*m+R*y),y=g*f+O*h+v*d-(E*h+w*d+x*f),v=b*h+w*c+S*f-(_*f+M*h+v*c),S=_*d+A*h+x*c-(R*h+g*c+S*d),c=R*f+E*c+M*d-(b*d+A*f+O*c),i=n*T+r*q+a*z+i*I;if(Math.abs(i)<V.CesiumMath.EPSILON21){if(B.equalsEpsilon(j.getMatrix3(e,k),Y,V.CesiumMath.EPSILON7)&&W.equals(j.getRow(e,3,Z),X))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new L.RuntimeError("matrix is not invertible because its determinate is zero.")}return i=1/i,t[0]=T*i,t[1]=q*i,t[2]=z*i,t[3]=I*i,t[4]=P*i,t[5]=D*i,t[6]=N*i,t[7]=U*i,t[8]=F*i,t[9]=u*i,t[10]=C*i,t[11]=m*i,t[12]=y*i,t[13]=v*i,t[14]=S*i,t[15]=c*i,t},j.inverseTransformation=function(e,t){var n=e[0],r=e[1],a=e[2],i=e[4],s=e[5],o=e[6],u=e[8],l=e[9],c=e[10],d=e[12],f=e[13],h=e[14],p=-n*d-r*f-a*h,e=-i*d-s*f-o*h,h=-u*d-l*f-c*h;return t[0]=n,t[1]=i,t[2]=u,t[3]=0,t[4]=r,t[5]=s,t[6]=l,t[7]=0,t[8]=a,t[9]=o,t[10]=c,t[11]=0,t[12]=p,t[13]=e,t[14]=h,t[15]=1,t};var S=new j;function T(e,t){this.center=A.Cartesian3.clone(R.defaultValue(e,A.Cartesian3.ZERO)),this.radius=R.defaultValue(t,0)}j.inverseTranspose=function(e,t){return j.inverse(j.transpose(e,S),t)},j.IDENTITY=Object.freeze(new j(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)),j.ZERO=Object.freeze(new j(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)),j.COLUMN0ROW0=0,j.COLUMN0ROW1=1,j.COLUMN0ROW2=2,j.COLUMN0ROW3=3,j.COLUMN1ROW0=4,j.COLUMN1ROW1=5,j.COLUMN1ROW2=6,j.COLUMN1ROW3=7,j.COLUMN2ROW0=8,j.COLUMN2ROW1=9,j.COLUMN2ROW2=10,j.COLUMN2ROW3=11,j.COLUMN3ROW0=12,j.COLUMN3ROW1=13,j.COLUMN3ROW2=14,j.COLUMN3ROW3=15,Object.defineProperties(j.prototype,{length:{get:function(){return j.packedLength}}}),j.prototype.clone=function(e){return j.clone(this,e)},j.prototype.equals=function(e){return j.equals(this,e)},j.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]},j.prototype.equalsEpsilon=function(e,t){return j.equalsEpsilon(this,e,t)},j.prototype.toString=function(){return"("+this[0]+", "+this[4]+", "+this[8]+", "+this[12]+")\n("+this[1]+", "+this[5]+", "+this[9]+", "+this[13]+")\n("+this[2]+", "+this[6]+", "+this[10]+", "+this[14]+")\n("+this[3]+", "+this[7]+", "+this[11]+", "+this[15]+")"};var q=new A.Cartesian3,z=new A.Cartesian3,I=new A.Cartesian3,P=new A.Cartesian3,D=new A.Cartesian3,N=new A.Cartesian3,U=new A.Cartesian3,F=new A.Cartesian3,H=new A.Cartesian3,J=new A.Cartesian3,G=new A.Cartesian3,Q=new A.Cartesian3,b=4/3*V.CesiumMath.PI;T.fromPoints=function(e,t){if(R.defined(t)||(t=new T),!R.defined(e)||0===e.length)return t.center=A.Cartesian3.clone(A.Cartesian3.ZERO,t.center),t.radius=0,t;for(var n=A.Cartesian3.clone(e[0],U),r=A.Cartesian3.clone(n,q),a=A.Cartesian3.clone(n,z),i=A.Cartesian3.clone(n,I),s=A.Cartesian3.clone(n,P),o=A.Cartesian3.clone(n,D),u=A.Cartesian3.clone(n,N),l=e.length,c=1;c<l;c++){A.Cartesian3.clone(e[c],n);var d=n.x,f=n.y,h=n.z;d<r.x&&A.Cartesian3.clone(n,r),d>s.x&&A.Cartesian3.clone(n,s),f<a.y&&A.Cartesian3.clone(n,a),f>o.y&&A.Cartesian3.clone(n,o),h<i.z&&A.Cartesian3.clone(n,i),h>u.z&&A.Cartesian3.clone(n,u)}var p=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(s,r,F)),m=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(o,a,F)),y=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(u,i,F)),C=r,w=s,p=p;p<m&&(p=m,C=a,w=o),p<y&&(p=y,C=i,w=u);var v=H;v.x=.5*(C.x+w.x),v.y=.5*(C.y+w.y),v.z=.5*(C.z+w.z);var g=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(w,v,F)),x=Math.sqrt(g),C=J;C.x=r.x,C.y=a.y,C.z=i.z;w=G;w.x=s.x,w.y=o.y,w.z=u.z;var E=A.Cartesian3.midpoint(C,w,Q),O=0;for(c=0;c<l;c++){A.Cartesian3.clone(e[c],n);var _=A.Cartesian3.magnitude(A.Cartesian3.subtract(n,E,F));O<_&&(O=_);var S=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(n,v,F));g<S&&(g=(x=.5*(x+(_=Math.sqrt(S))))*x,S=_-x,v.x=(x*v.x+S*n.x)/_,v.y=(x*v.y+S*n.y)/_,v.z=(x*v.z+S*n.z)/_)}return x<O?(A.Cartesian3.clone(v,t.center),t.radius=x):(A.Cartesian3.clone(E,t.center),t.radius=O),t};var M=new t,K=new A.Cartesian3,$=new A.Cartesian3,ee=new A.Cartographic,te=new A.Cartographic;T.fromRectangle2D=function(e,t,n){return T.fromRectangleWithHeights2D(e,t,0,0,n)},T.fromRectangleWithHeights2D=function(e,t,n,r,a){if(R.defined(a)||(a=new T),!R.defined(e))return a.center=A.Cartesian3.clone(A.Cartesian3.ZERO,a.center),a.radius=0,a;t=R.defaultValue(t,M),A.Rectangle.southwest(e,ee),ee.height=n,A.Rectangle.northeast(e,te),te.height=r;var i=t.project(ee,K),n=t.project(te,$),e=n.x-i.x,r=n.y-i.y,t=n.z-i.z;a.radius=.5*Math.sqrt(e*e+r*r+t*t);n=a.center;return n.x=i.x+.5*e,n.y=i.y+.5*r,n.z=i.z+.5*t,a};var ne=[];T.fromRectangle3D=function(e,t,n,r){if(t=R.defaultValue(t,A.Ellipsoid.WGS84),n=R.defaultValue(n,0),R.defined(r)||(r=new T),!R.defined(e))return r.center=A.Cartesian3.clone(A.Cartesian3.ZERO,r.center),r.radius=0,r;n=A.Rectangle.subsample(e,t,n,ne);return T.fromPoints(n,r)},T.fromVertices=function(e,t,n,r){if(R.defined(r)||(r=new T),!R.defined(e)||0===e.length)return r.center=A.Cartesian3.clone(A.Cartesian3.ZERO,r.center),r.radius=0,r;t=R.defaultValue(t,A.Cartesian3.ZERO),n=R.defaultValue(n,3);var a=U;a.x=e[0]+t.x,a.y=e[1]+t.y,a.z=e[2]+t.z;for(var i=A.Cartesian3.clone(a,q),s=A.Cartesian3.clone(a,z),o=A.Cartesian3.clone(a,I),u=A.Cartesian3.clone(a,P),l=A.Cartesian3.clone(a,D),c=A.Cartesian3.clone(a,N),d=e.length,f=0;f<d;f+=n){var h=e[f]+t.x,p=e[f+1]+t.y,m=e[f+2]+t.z;a.x=h,a.y=p,a.z=m,h<i.x&&A.Cartesian3.clone(a,i),h>u.x&&A.Cartesian3.clone(a,u),p<s.y&&A.Cartesian3.clone(a,s),p>l.y&&A.Cartesian3.clone(a,l),m<o.z&&A.Cartesian3.clone(a,o),m>c.z&&A.Cartesian3.clone(a,c)}var y=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(u,i,F)),C=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(l,s,F)),w=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(c,o,F)),v=i,g=u,y=y;y<C&&(y=C,v=s,g=l),y<w&&(y=w,v=o,g=c);var x=H;x.x=.5*(v.x+g.x),x.y=.5*(v.y+g.y),x.z=.5*(v.z+g.z);var E=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(g,x,F)),O=Math.sqrt(E),v=J;v.x=i.x,v.y=s.y,v.z=o.z;g=G;g.x=u.x,g.y=l.y,g.z=c.z;var _=A.Cartesian3.midpoint(v,g,Q),S=0;for(f=0;f<d;f+=n){a.x=e[f]+t.x,a.y=e[f+1]+t.y,a.z=e[f+2]+t.z;var b=A.Cartesian3.magnitude(A.Cartesian3.subtract(a,_,F));S<b&&(S=b);var M=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(a,x,F));E<M&&(E=(O=.5*(O+(b=Math.sqrt(M))))*O,M=b-O,x.x=(O*x.x+M*a.x)/b,x.y=(O*x.y+M*a.y)/b,x.z=(O*x.z+M*a.z)/b)}return O<S?(A.Cartesian3.clone(x,r.center),r.radius=O):(A.Cartesian3.clone(_,r.center),r.radius=S),r},T.fromEncodedCartesianVertices=function(e,t,n){if(R.defined(n)||(n=new T),!R.defined(e)||!R.defined(t)||e.length!==t.length||0===e.length)return n.center=A.Cartesian3.clone(A.Cartesian3.ZERO,n.center),n.radius=0,n;var r=U;r.x=e[0]+t[0],r.y=e[1]+t[1],r.z=e[2]+t[2];for(var a=A.Cartesian3.clone(r,q),i=A.Cartesian3.clone(r,z),s=A.Cartesian3.clone(r,I),o=A.Cartesian3.clone(r,P),u=A.Cartesian3.clone(r,D),l=A.Cartesian3.clone(r,N),c=e.length,d=0;d<c;d+=3){var f=e[d]+t[d],h=e[d+1]+t[d+1],p=e[d+2]+t[d+2];r.x=f,r.y=h,r.z=p,f<a.x&&A.Cartesian3.clone(r,a),f>o.x&&A.Cartesian3.clone(r,o),h<i.y&&A.Cartesian3.clone(r,i),h>u.y&&A.Cartesian3.clone(r,u),p<s.z&&A.Cartesian3.clone(r,s),p>l.z&&A.Cartesian3.clone(r,l)}var m=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(o,a,F)),y=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(u,i,F)),C=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(l,s,F)),w=a,v=o,m=m;m<y&&(m=y,w=i,v=u),m<C&&(m=C,w=s,v=l);var g=H;g.x=.5*(w.x+v.x),g.y=.5*(w.y+v.y),g.z=.5*(w.z+v.z);var x=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(v,g,F)),E=Math.sqrt(x),w=J;w.x=a.x,w.y=i.y,w.z=s.z;v=G;v.x=o.x,v.y=u.y,v.z=l.z;var O=A.Cartesian3.midpoint(w,v,Q),_=0;for(d=0;d<c;d+=3){r.x=e[d]+t[d],r.y=e[d+1]+t[d+1],r.z=e[d+2]+t[d+2];var S=A.Cartesian3.magnitude(A.Cartesian3.subtract(r,O,F));_<S&&(_=S);var b=A.Cartesian3.magnitudeSquared(A.Cartesian3.subtract(r,g,F));x<b&&(x=(E=.5*(E+(S=Math.sqrt(b))))*E,b=S-E,g.x=(E*g.x+b*r.x)/S,g.y=(E*g.y+b*r.y)/S,g.z=(E*g.z+b*r.z)/S)}return E<_?(A.Cartesian3.clone(g,n.center),n.radius=E):(A.Cartesian3.clone(O,n.center),n.radius=_),n},T.fromCornerPoints=function(e,t,n){R.defined(n)||(n=new T);e=A.Cartesian3.midpoint(e,t,n.center);return n.radius=A.Cartesian3.distance(e,t),n},T.fromEllipsoid=function(e,t){return R.defined(t)||(t=new T),A.Cartesian3.clone(A.Cartesian3.ZERO,t.center),t.radius=e.maximumRadius,t};var re=new A.Cartesian3;T.fromBoundingSpheres=function(e,t){if(R.defined(t)||(t=new T),!R.defined(e)||0===e.length)return t.center=A.Cartesian3.clone(A.Cartesian3.ZERO,t.center),t.radius=0,t;var n=e.length;if(1===n)return T.clone(e[0],t);if(2===n)return T.union(e[0],e[1],t);for(var r=[],a=0;a<n;a++)r.push(e[a].center);var i=(t=T.fromPoints(r,t)).center,s=t.radius;for(a=0;a<n;a++)var o=e[a],s=Math.max(s,A.Cartesian3.distance(i,o.center,re)+o.radius);return t.radius=s,t};var ae=new A.Cartesian3,ie=new A.Cartesian3,se=new A.Cartesian3;T.fromOrientedBoundingBox=function(e,t){R.defined(t)||(t=new T);var n=e.halfAxes,r=B.getColumn(n,0,ae),a=B.getColumn(n,1,ie),n=B.getColumn(n,2,se);return A.Cartesian3.add(r,a,r),A.Cartesian3.add(r,n,r),t.center=A.Cartesian3.clone(e.center,t.center),t.radius=A.Cartesian3.magnitude(r),t},T.clone=function(e,t){if(R.defined(e))return R.defined(t)?(t.center=A.Cartesian3.clone(e.center,t.center),t.radius=e.radius,t):new T(e.center,e.radius)},T.packedLength=4,T.pack=function(e,t,n){n=R.defaultValue(n,0);var r=e.center;return t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=e.radius,t},T.unpack=function(e,t,n){t=R.defaultValue(t,0),R.defined(n)||(n=new T);var r=n.center;return r.x=e[t++],r.y=e[t++],r.z=e[t++],n.radius=e[t],n};var oe=new A.Cartesian3,ue=new A.Cartesian3;T.union=function(e,t,n){R.defined(n)||(n=new T);var r=e.center,a=e.radius,i=t.center,s=t.radius,o=A.Cartesian3.subtract(i,r,oe),i=A.Cartesian3.magnitude(o);if(i+s<=a)return e.clone(n),n;if(i+a<=s)return t.clone(n),n;s=.5*(a+i+s),i=A.Cartesian3.multiplyByScalar(o,(s-a)/i,ue);return A.Cartesian3.add(i,r,i),A.Cartesian3.clone(i,n.center),n.radius=s,n};var le=new A.Cartesian3;T.expand=function(e,t,n){n=T.clone(e,n);t=A.Cartesian3.magnitude(A.Cartesian3.subtract(t,n.center,le));return t>n.radius&&(n.radius=t),n},T.intersectPlane=function(e,t){var n=e.center,r=e.radius,e=t.normal,t=A.Cartesian3.dot(e,n)+t.distance;return t<-r?a.OUTSIDE:t<r?a.INTERSECTING:a.INSIDE},T.transform=function(e,t,n){return R.defined(n)||(n=new T),n.center=j.multiplyByPoint(t,e.center,n.center),n.radius=j.getMaximumScale(t)*e.radius,n};var ce=new A.Cartesian3;T.distanceSquaredTo=function(e,t){t=A.Cartesian3.subtract(e.center,t,ce);return A.Cartesian3.magnitudeSquared(t)-e.radius*e.radius},T.transformWithoutScale=function(e,t,n){return R.defined(n)||(n=new T),n.center=j.multiplyByPoint(t,e.center,n.center),n.radius=e.radius,n};var de=new A.Cartesian3;T.computePlaneDistances=function(e,t,n,r){R.defined(r)||(r=new i);t=A.Cartesian3.subtract(e.center,t,de),t=A.Cartesian3.dot(n,t);return r.start=t-e.radius,r.stop=t+e.radius,r};for(var fe=new A.Cartesian3,he=new A.Cartesian3,pe=new A.Cartesian3,me=new A.Cartesian3,ye=new A.Cartesian3,Ce=new A.Cartographic,we=new Array(8),ve=0;ve<8;++ve)we[ve]=new A.Cartesian3;var ge,xe=new t;T.projectTo2D=function(e,t,n){var r=(t=R.defaultValue(t,xe)).ellipsoid,a=e.center,i=e.radius,s=A.Cartesian3.equals(a,A.Cartesian3.ZERO)?A.Cartesian3.clone(A.Cartesian3.UNIT_X,fe):r.geodeticSurfaceNormal(a,fe),o=A.Cartesian3.cross(A.Cartesian3.UNIT_Z,s,he);A.Cartesian3.normalize(o,o);var u=A.Cartesian3.cross(s,o,pe);A.Cartesian3.normalize(u,u),A.Cartesian3.multiplyByScalar(s,i,s),A.Cartesian3.multiplyByScalar(u,i,u),A.Cartesian3.multiplyByScalar(o,i,o);var l=A.Cartesian3.negate(u,ye),e=A.Cartesian3.negate(o,me),c=we,i=c[0];A.Cartesian3.add(s,u,i),A.Cartesian3.add(i,o,i),i=c[1],A.Cartesian3.add(s,u,i),A.Cartesian3.add(i,e,i),i=c[2],A.Cartesian3.add(s,l,i),A.Cartesian3.add(i,e,i),i=c[3],A.Cartesian3.add(s,l,i),A.Cartesian3.add(i,o,i),A.Cartesian3.negate(s,s),i=c[4],A.Cartesian3.add(s,u,i),A.Cartesian3.add(i,o,i),i=c[5],A.Cartesian3.add(s,u,i),A.Cartesian3.add(i,e,i),i=c[6],A.Cartesian3.add(s,l,i),A.Cartesian3.add(i,e,i),i=c[7],A.Cartesian3.add(s,l,i),A.Cartesian3.add(i,o,i);for(var d=c.length,f=0;f<d;++f){var h=c[f];A.Cartesian3.add(a,h,h);var p=r.cartesianToCartographic(h,Ce);t.project(p,h)}l=(a=(n=T.fromPoints(c,n)).center).x,o=a.y,i=a.z;return a.x=i,a.y=l,a.z=o,n},T.isOccluded=function(e,t){return!t.isBoundingSphereVisible(e)},T.equals=function(e,t){return e===t||R.defined(e)&&R.defined(t)&&A.Cartesian3.equals(e.center,t.center)&&e.radius===t.radius},T.prototype.intersectPlane=function(e){return T.intersectPlane(this,e)},T.prototype.distanceSquaredTo=function(e){return T.distanceSquaredTo(this,e)},T.prototype.computePlaneDistances=function(e,t,n){return T.computePlaneDistances(this,e,t,n)},T.prototype.isOccluded=function(e){return T.isOccluded(this,e)},T.prototype.equals=function(e){return T.equals(this,e)},T.prototype.clone=function(e){return T.clone(this,e)},T.prototype.volume=function(){var e=this.radius;return b*e*e*e};var Ee,Oe,_e,Se,be,Me,Re,Ae,Te,qe,ze,Ie,Pe,De,Ne,Ue,Fe,Ve={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},Le={};function Be(e){for(var t=e.split("."),n=0,r=t.length;n<r;++n)t[n]=parseInt(t[n],10);return t}function We(){var e;return R.defined(Oe)||(Oe=!1,Ze()||null!==(e=/ Chrome\/([\.0-9]+)/.exec(Ee.userAgent))&&(Oe=!0,_e=Be(e[1]))),Oe}function je(){var e;return R.defined(Se)||(Se=!1,We()||Ze()||!/ Safari\/[\.0-9]+/.test(Ee.userAgent)||null!==(e=/ Version\/([\.0-9]+)/.exec(Ee.userAgent))&&(Se=!0,be=Be(e[1]))),Se}function ke(){var e;return R.defined(Me)||(Me=!1,null!==(e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(Ee.userAgent))&&(Me=!0,(Re=Be(e[1])).isNightly=!!e[2])),Me}function Ye(){var e;return R.defined(Ae)||(Ae=!1,"Microsoft Internet Explorer"===Ee.appName?null!==(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(Ee.userAgent))&&(Ae=!0,Te=Be(e[1])):"Netscape"===Ee.appName&&null!==(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(Ee.userAgent))&&(Ae=!0,Te=Be(e[1]))),Ae}function Ze(){var e;return R.defined(qe)||(qe=!1,null!==(e=/ Edge\/([\.0-9]+)/.exec(Ee.userAgent))&&(qe=!0,ze=Be(e[1]))),qe}function Xe(){var e;return R.defined(Ie)||(Ie=!1,null!==(e=/Firefox\/([\.0-9]+)/.exec(Ee.userAgent))&&(Ie=!0,Pe=Be(e[1]))),Ie}function He(){var e;return R.defined(Fe)||((e=document.createElement("canvas")).setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;"),e=e.style.imageRendering,(Fe=R.defined(e)&&""!==e)&&(Ue=e)),Fe}function Je(){return Je._result}Object.defineProperties(Le,{element:{get:function(){if(Le.supportsFullscreen())return document[Ve.fullscreenElement]}},changeEventName:{get:function(){if(Le.supportsFullscreen())return Ve.fullscreenchange}},errorEventName:{get:function(){if(Le.supportsFullscreen())return Ve.fullscreenerror}},enabled:{get:function(){if(Le.supportsFullscreen())return document[Ve.fullscreenEnabled]}},fullscreen:{get:function(){if(Le.supportsFullscreen())return null!==Le.element}}}),Le.supportsFullscreen=function(){if(R.defined(ge))return ge;ge=!1;var e=document.body;if("function"==typeof e.requestFullscreen)return Ve.requestFullscreen="requestFullscreen",Ve.exitFullscreen="exitFullscreen",Ve.fullscreenEnabled="fullscreenEnabled",Ve.fullscreenElement="fullscreenElement",Ve.fullscreenchange="fullscreenchange",Ve.fullscreenerror="fullscreenerror",ge=!0;for(var t=["webkit","moz","o","ms","khtml"],n=0,r=t.length;n<r;++n){var a,i=t[n];"function"!=typeof e[a=i+"RequestFullscreen"]&&"function"!=typeof e[a=i+"RequestFullScreen"]||(Ve.requestFullscreen=a,ge=!0),a=i+"ExitFullscreen","function"==typeof document[a]?Ve.exitFullscreen=a:(a=i+"CancelFullScreen","function"==typeof document[a]&&(Ve.exitFullscreen=a)),a=i+"FullscreenEnabled",void 0!==document[a]?Ve.fullscreenEnabled=a:(a=i+"FullScreenEnabled",void 0!==document[a]&&(Ve.fullscreenEnabled=a)),a=i+"FullscreenElement",void 0!==document[a]?Ve.fullscreenElement=a:(a=i+"FullScreenElement",void 0!==document[a]&&(Ve.fullscreenElement=a)),a=i+"fullscreenchange",void 0!==document["on"+a]&&("ms"===i&&(a="MSFullscreenChange"),Ve.fullscreenchange=a),a=i+"fullscreenerror",void 0!==document["on"+a]&&("ms"===i&&(a="MSFullscreenError"),Ve.fullscreenerror=a)}return ge},Le.requestFullscreen=function(e,t){Le.supportsFullscreen()&&e[Ve.requestFullscreen]({vrDisplay:t})},Le.exitFullscreen=function(){Le.supportsFullscreen()&&document[Ve.exitFullscreen]()},Le._names=Ve,Ee="undefined"!=typeof navigator?navigator:{},Je._promise=void 0,Je._result=void 0,Je.initialize=function(){if(R.defined(Je._promise))return Je._promise;var e=R.when.defer();if(Je._promise=e.promise,Ze())return Je._result=!1,e.resolve(Je._result),e.promise;var t=new Image;return t.onload=function(){Je._result=0<t.width&&0<t.height,e.resolve(Je._result)},t.onerror=function(){Je._result=!1,e.resolve(Je._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",e.promise},Object.defineProperties(Je,{initialized:{get:function(){return R.defined(Je._result)}}});var Ge=[];"undefined"!=typeof ArrayBuffer&&(Ge.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),"undefined"!=typeof Uint8ClampedArray&&Ge.push(Uint8ClampedArray),"undefined"!=typeof Uint8ClampedArray&&Ge.push(Uint8ClampedArray));var Qe={isChrome:We,chromeVersion:function(){return We()&&_e},isSafari:je,safariVersion:function(){return je()&&be},isWebkit:ke,webkitVersion:function(){return ke()&&Re},isInternetExplorer:Ye,internetExplorerVersion:function(){return Ye()&&Te},isEdge:Ze,edgeVersion:function(){return Ze()&&ze},isFirefox:Xe,firefoxVersion:function(){return Xe()&&Pe},isWindows:function(){return R.defined(De)||(De=/Windows/i.test(Ee.appVersion)),De},hardwareConcurrency:R.defaultValue(Ee.hardwareConcurrency,3),supportsPointerEvents:function(){return R.defined(Ne)||(Ne=!Xe()&&"undefined"!=typeof PointerEvent&&(!R.defined(Ee.pointerEnabled)||Ee.pointerEnabled)),Ne},supportsImageRenderingPixelated:He,supportsWebP:Je,imageRenderingValue:function(){return He()?Ue:void 0},typedArrayTypes:Ge};function Ke(e,t,n,r){this.x=R.defaultValue(e,0),this.y=R.defaultValue(t,0),this.z=R.defaultValue(n,0),this.w=R.defaultValue(r,0)}Qe.supportsFullscreen=function(){return Le.supportsFullscreen()},Qe.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer},Qe.supportsWebWorkers=function(){return"undefined"!=typeof Worker},Qe.supportsWebAssembly=function(){return"undefined"!=typeof WebAssembly&&!Qe.isEdge()};var $e=new A.Cartesian3;Ke.fromAxisAngle=function(e,t,n){var r=t/2,a=Math.sin(r),t=($e=A.Cartesian3.normalize(e,$e)).x*a,e=$e.y*a,a=$e.z*a,r=Math.cos(r);return R.defined(n)?(n.x=t,n.y=e,n.z=a,n.w=r,n):new Ke(t,e,a,r)};var et=[1,2,0],tt=new Array(3);Ke.fromRotationMatrix=function(e,t){var n,r,a,i,s=e[B.COLUMN0ROW0],o=e[B.COLUMN1ROW1],u=e[B.COLUMN2ROW2],l=s+o+u,c=0<l?(a=.5*(i=Math.sqrt(l+1)),i=.5/i,n=(e[B.COLUMN1ROW2]-e[B.COLUMN2ROW1])*i,r=(e[B.COLUMN2ROW0]-e[B.COLUMN0ROW2])*i,(e[B.COLUMN0ROW1]-e[B.COLUMN1ROW0])*i):(o=et[s=et[u=s<u&&o<u?2:s<o?1:0]],i=Math.sqrt(e[B.getElementIndex(u,u)]-e[B.getElementIndex(s,s)]-e[B.getElementIndex(o,o)]+1),(c=tt)[u]=.5*i,i=.5/i,a=(e[B.getElementIndex(o,s)]-e[B.getElementIndex(s,o)])*i,c[s]=(e[B.getElementIndex(s,u)]+e[B.getElementIndex(u,s)])*i,c[o]=(e[B.getElementIndex(o,u)]+e[B.getElementIndex(u,o)])*i,n=-c[0],r=-c[1],-c[2]);return R.defined(t)?(t.x=n,t.y=r,t.z=c,t.w=a,t):new Ke(n,r,c,a)};var nt=new Ke,rt=new Ke,at=new Ke,it=new Ke;Ke.fromHeadingPitchRoll=function(e,t){return it=Ke.fromAxisAngle(A.Cartesian3.UNIT_X,e.roll,nt),at=Ke.fromAxisAngle(A.Cartesian3.UNIT_Y,-e.pitch,t),t=Ke.multiply(at,it,at),rt=Ke.fromAxisAngle(A.Cartesian3.UNIT_Z,-e.heading,nt),Ke.multiply(rt,t,t)};var st=new A.Cartesian3,ot=new A.Cartesian3,ut=new Ke,lt=new Ke,ct=new Ke;Ke.packedLength=4,Ke.pack=function(e,t,n){return n=R.defaultValue(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t},Ke.unpack=function(e,t,n){return t=R.defaultValue(t,0),R.defined(n)||(n=new Ke),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n},Ke.packedInterpolationLength=3,Ke.convertPackedArrayForInterpolation=function(e,t,n,r){Ke.unpack(e,4*n,ct),Ke.conjugate(ct,ct);for(var a=0,i=n-t+1;a<i;a++){var s=3*a;Ke.unpack(e,4*(t+a),ut),Ke.multiply(ut,ct,ut),ut.w<0&&Ke.negate(ut,ut),Ke.computeAxis(ut,st);var o=Ke.computeAngle(ut);R.defined(r)||(r=[]),r[s]=st.x*o,r[1+s]=st.y*o,r[2+s]=st.z*o}},Ke.unpackInterpolationResult=function(e,t,n,r,a){R.defined(a)||(a=new Ke),A.Cartesian3.fromArray(e,0,ot);e=A.Cartesian3.magnitude(ot);return Ke.unpack(t,4*r,lt),0===e?Ke.clone(Ke.IDENTITY,ut):Ke.fromAxisAngle(ot,e,ut),Ke.multiply(ut,lt,a)},Ke.clone=function(e,t){if(R.defined(e))return R.defined(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new Ke(e.x,e.y,e.z,e.w)},Ke.conjugate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},Ke.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},Ke.magnitude=function(e){return Math.sqrt(Ke.magnitudeSquared(e))},Ke.normalize=function(e,t){var n=1/Ke.magnitude(e),r=e.x*n,a=e.y*n,i=e.z*n,n=e.w*n;return t.x=r,t.y=a,t.z=i,t.w=n,t},Ke.inverse=function(e,t){var n=Ke.magnitudeSquared(e);return t=Ke.conjugate(e,t),Ke.multiplyByScalar(t,1/n,t)},Ke.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n},Ke.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n},Ke.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},Ke.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},Ke.multiply=function(e,t,n){var r=e.x,a=e.y,i=e.z,s=e.w,o=t.x,u=t.y,l=t.z,c=t.w,d=s*o+r*c+a*l-i*u,e=s*u-r*l+a*c+i*o,t=s*l+r*u-a*o+i*c,l=s*c-r*o-a*u-i*l;return n.x=d,n.y=e,n.z=t,n.w=l,n},Ke.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n},Ke.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n},Ke.computeAxis=function(e,t){var n=e.w;if(Math.abs(n-1)<V.CesiumMath.EPSILON6)return t.x=t.y=t.z=0,t;n=1/Math.sqrt(1-n*n);return t.x=e.x*n,t.y=e.y*n,t.z=e.z*n,t},Ke.computeAngle=function(e){return Math.abs(e.w-1)<V.CesiumMath.EPSILON6?0:2*Math.acos(e.w)};var dt=new Ke;Ke.lerp=function(e,t,n,r){return dt=Ke.multiplyByScalar(t,n,dt),r=Ke.multiplyByScalar(e,1-n,r),Ke.add(dt,r,r)};var ft=new Ke,ht=new Ke,pt=new Ke;Ke.slerp=function(e,t,n,r){var a=Ke.dot(e,t),i=t;if(a<0&&(a=-a,i=ft=Ke.negate(t,ft)),1-a<V.CesiumMath.EPSILON6)return Ke.lerp(e,i,n,r);a=Math.acos(a);return ht=Ke.multiplyByScalar(e,Math.sin((1-n)*a),ht),pt=Ke.multiplyByScalar(i,Math.sin(n*a),pt),r=Ke.add(ht,pt,r),Ke.multiplyByScalar(r,1/Math.sin(a),r)},Ke.log=function(e,t){var n=V.CesiumMath.acosClamped(e.w),r=0;return 0!==n&&(r=n/Math.sin(n)),A.Cartesian3.multiplyByScalar(e,r,t)},Ke.exp=function(e,t){var n=A.Cartesian3.magnitude(e),r=0;return 0!==n&&(r=Math.sin(n)/n),t.x=e.x*r,t.y=e.y*r,t.z=e.z*r,t.w=Math.cos(n),t};var mt=new A.Cartesian3,yt=new A.Cartesian3,Ct=new Ke,wt=new Ke;Ke.computeInnerQuadrangle=function(e,t,n,r){var a=Ke.conjugate(t,Ct);Ke.multiply(a,n,wt);n=Ke.log(wt,mt);Ke.multiply(a,e,wt);e=Ke.log(wt,yt);return A.Cartesian3.add(n,e,n),A.Cartesian3.multiplyByScalar(n,.25,n),A.Cartesian3.negate(n,n),Ke.exp(n,Ct),Ke.multiply(t,Ct,r)},Ke.squad=function(e,t,n,r,a,i){t=Ke.slerp(e,t,a,Ct),r=Ke.slerp(n,r,a,wt);return Ke.slerp(t,r,2*a*(1-a),i)};for(var vt=new Ke,Ge=1.9011074535173003,gt=Qe.supportsTypedArrays()?new Float32Array(8):[],xt=Qe.supportsTypedArrays()?new Float32Array(8):[],Et=Qe.supportsTypedArrays()?new Float32Array(8):[],Ot=Qe.supportsTypedArrays()?new Float32Array(8):[],_t=0;_t<7;++_t){var St=_t+1,bt=2*St+1;gt[_t]=1/(St*bt),xt[_t]=St/bt}function Mt(e,t,n){for(var r,a,i=0,s=e.length-1;i<=s;)if((a=n(e[r=~~((i+s)/2)],t))<0)i=1+r;else{if(!(0<a))return r;s=r-1}return~(s+1)}function Rt(e,t,n,r,a){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=r,this.ut1MinusUtc=a}function At(){function v(e,t,n,r){return n=n||" ",n=e.length>=t?"":Array(1+t-e.length>>>0).join(n),r?e+n:n+e}function g(e,t,n,r,a,i){var s=r-e.length;return 0<s&&(e=n||!a?v(e,r,i,n):e.slice(0,t.length)+v("",s,"0",!0)+e.slice(t.length)),e}function x(e,t,n,r,a,i,s){var o=e>>>0;return e=(n=n&&o&&{2:"0b",8:"0",16:"0x"}[t]||"")+v(o.toString(t),i||0,"0",!1),g(e,n,r,a,s)}function E(e,t,n,r,a,i){return null!=r&&(e=e.slice(0,r)),g(e,"",t,n,a,i)}var O=arguments,_=0,e=O[_++];return e.replace(/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,function(e,t,n,r,a,i,s){var o,u,l,c,d;if("%%"==e)return"%";for(var f=!1,h="",p=!1,m=!1,y=" ",C=n.length,w=0;n&&w<C;w++)switch(n.charAt(w)){case" ":h=" ";break;case"+":h="+";break;case"-":f=!0;break;case"'":y=n.charAt(w+1);break;case"0":p=!0;break;case"#":m=!0}if((r=r?"*"==r?+O[_++]:"*"==r.charAt(0)?+O[r.slice(1,-1)]:+r:0)<0&&(r=-r,f=!0),!isFinite(r))throw new Error("sprintf: (minimum-)width must be finite");switch(i=i?"*"==i?+O[_++]:"*"==i.charAt(0)?+O[i.slice(1,-1)]:+i:-1<"fFeE".indexOf(s)?6:"d"==s?0:void 0,d=t?O[t.slice(0,-1)]:O[_++],s){case"s":return E(String(d),f,r,i,p,y);case"c":return E(String.fromCharCode(+d),f,r,i,p);case"b":return x(d,2,m,f,r,i,p);case"o":return x(d,8,m,f,r,i,p);case"x":return x(d,16,m,f,r,i,p);case"X":return x(d,16,m,f,r,i,p).toUpperCase();case"u":return x(d,10,m,f,r,i,p);case"i":case"d":return o=+d||0,d=(u=(o=Math.round(o-o%1))<0?"-":h)+v(String(Math.abs(o)),i,"0",!1),g(d,u,f,r,p);case"e":case"E":case"f":case"F":case"g":case"G":return u=(o=+d)<0?"-":h,l=["toExponential","toFixed","toPrecision"]["efg".indexOf(s.toLowerCase())],c=["toString","toUpperCase"]["eEfFgG".indexOf(s)%2],d=u+Math.abs(o)[l](i),g(d,u,f,r,p)[c]();default:return e}})}function Tt(e,t,n,r,a,i,s,o){this.year=e,this.month=t,this.day=n,this.hour=r,this.minute=a,this.second=i,this.millisecond=s,this.isLeapSecond=o}function qt(e){return e%4==0&&e%100!=0||e%400==0}function zt(e,t){this.julianDate=e,this.offset=t}gt[7]=Ge/136,xt[7]=8*Ge/17,Ke.fastSlerp=function(e,t,n,r){var a,i=Ke.dot(e,t);0<=i?a=1:(a=-1,i=-i);for(var s=i-1,i=1-n,o=n*n,u=i*i,l=7;0<=l;--l)Et[l]=(gt[l]*o-xt[l])*s,Ot[l]=(gt[l]*u-xt[l])*s;n=a*n*(1+Et[0]*(1+Et[1]*(1+Et[2]*(1+Et[3]*(1+Et[4]*(1+Et[5]*(1+Et[6]*(1+Et[7])))))))),i*=1+Ot[0]*(1+Ot[1]*(1+Ot[2]*(1+Ot[3]*(1+Ot[4]*(1+Ot[5]*(1+Ot[6]*(1+Ot[7]))))))),i=Ke.multiplyByScalar(e,i,vt);return Ke.multiplyByScalar(t,n,r),Ke.add(i,r,r)},Ke.fastSquad=function(e,t,n,r,a,i){t=Ke.fastSlerp(e,t,a,Ct),r=Ke.fastSlerp(n,r,a,wt);return Ke.fastSlerp(t,r,2*a*(1-a),i)},Ke.equals=function(e,t){return e===t||R.defined(e)&&R.defined(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},Ke.equalsEpsilon=function(e,t,n){return n=R.defaultValue(n,0),e===t||R.defined(e)&&R.defined(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},Ke.ZERO=Object.freeze(new Ke(0,0,0,0)),Ke.IDENTITY=Object.freeze(new Ke(0,0,0,1)),Ke.prototype.clone=function(e){return Ke.clone(this,e)},Ke.prototype.equals=function(e){return Ke.equals(this,e)},Ke.prototype.equalsEpsilon=function(e,t){return Ke.equalsEpsilon(this,e,t)},Ke.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"};var It=Object.freeze({SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5}),Pt=Object.freeze({UTC:0,TAI:1}),Dt=new Tt,Nt=[31,28,31,30,31,30,31,31,30,31,30,31];function Ut(e,t){return Qt.compare(e.julianDate,t.julianDate)}var Ft=new zt;function Vt(e){Ft.julianDate=e;var t=Qt.leapSeconds,n=Mt(t,Ft,Ut);n<0&&(n=~n),n>=t.length&&(n=t.length-1);var r=t[n].offset;0<n&&r<Qt.secondsDifference(t[n].julianDate,e)&&(r=t[--n].offset),Qt.addSeconds(e,r,e)}function Lt(e,t){Ft.julianDate=e;var n=Qt.leapSeconds,r=Mt(n,Ft,Ut);if(r<0&&(r=~r),0===r)return Qt.addSeconds(e,-n[0].offset,t);if(r>=n.length)return Qt.addSeconds(e,-n[r-1].offset,t);var a=Qt.secondsDifference(n[r].julianDate,e);return 0===a?Qt.addSeconds(e,-n[r].offset,t):a<=1?void 0:Qt.addSeconds(e,-n[--r].offset,t)}function Bt(e,t,n){var r=t/It.SECONDS_PER_DAY|0;return e+=r,(t-=It.SECONDS_PER_DAY*r)<0&&(e--,t+=It.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function Wt(e,t,n,r,a,i,s){var o=(t-14)/12|0,e=e+4800+o,n=(1461*e/4|0)+(367*(t-2-12*o)/12|0)-(3*((e+100)/100|0)/4|0)+n-32075;(r-=12)<0&&(r+=24);s=i+(r*It.SECONDS_PER_HOUR+a*It.SECONDS_PER_MINUTE+s*It.SECONDS_PER_MILLISECOND);return 43200<=s&&--n,[n,s]}var jt=/^(\d{4})$/,kt=/^(\d{4})-(\d{2})$/,Yt=/^(\d{4})-?(\d{3})$/,Zt=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,Xt=/^(\d{4})-?(\d{2})-?(\d{2})$/,Ge=/([Z+\-])?(\d{2})?:?(\d{2})?$/,Ht=/^(\d{2})(\.\d+)?/.source+Ge.source,Jt=/^(\d{2}):?(\d{2})(\.\d+)?/.source+Ge.source,Gt=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+Ge.source;function Qt(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=R.defaultValue(e,0),t=R.defaultValue(t,0),n=R.defaultValue(n,Pt.UTC);var r=0|e;Bt(r,t+=(e-r)*It.SECONDS_PER_DAY,this),n===Pt.UTC&&Vt(this)}Qt.fromGregorianDate=function(e,t){e=Wt(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return R.defined(t)?(Bt(e[0],e[1],t),Vt(t),t):new Qt(e[0],e[1],Pt.UTC)},Qt.fromDate=function(e,t){e=Wt(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return R.defined(t)?(Bt(e[0],e[1],t),Vt(t),t):new Qt(e[0],e[1],Pt.UTC)},Qt.fromIso8601=function(e,t){var n,r,a,i,s,o=(e=e.replace(",",".")).split("T"),u=1,l=1,c=0,d=0,f=0,h=0,p=o[0],e=o[1];if(null!==(o=p.match(Xt))?(n=+o[1],u=+o[2],l=+o[3]):null!==(o=p.match(kt))?(n=+o[1],u=+o[2]):null!==(o=p.match(jt))?n=+o[1]:(null!==(o=p.match(Yt))?(n=+o[1],i=+o[2],a=qt(n)):null!==(o=p.match(Zt))&&(n=+o[1],i=7*+o[2]+(+o[3]||0)-new Date(Date.UTC(n,0,4)).getUTCDay()-3),(r=new Date(Date.UTC(n,0,1))).setUTCDate(i),u=r.getUTCMonth()+1,l=r.getUTCDate()),a=qt(n),R.defined(e)){null!==(o=e.match(Gt))?(c=+o[1],d=+o[2],f=+o[3],h=1e3*+(o[4]||0),s=5):null!==(o=e.match(Jt))?(c=+o[1],d=+o[2],f=60*+(o[3]||0),s=4):null!==(o=e.match(Ht))&&(c=+o[1],d=60*+(o[2]||0),s=3);var m=o[s],y=+o[s+1],C=+(o[s+2]||0);switch(m){case"+":c-=y,d-=C;break;case"-":c+=y,d+=C;break;case"Z":break;default:d+=new Date(Date.UTC(n,u-1,l,c,d)).getTimezoneOffset()}}m=60===f;for(m&&f--;60<=d;)d-=60,c++;for(;24<=c;)c-=24,l++;for(r=a&&2===u?29:Nt[u-1];r<l;)l-=r,12<++u&&(u-=12,n++),r=a&&2===u?29:Nt[u-1];for(;d<0;)d+=60,c--;for(;c<0;)c+=24,l--;for(;l<1;)--u<1&&(u+=12,n--),l+=r=a&&2===u?29:Nt[u-1];h=Wt(n,u,l,c,d,f,h);return R.defined(t)?(Bt(h[0],h[1],t),Vt(t)):t=new Qt(h[0],h[1],Pt.UTC),m&&Qt.addSeconds(t,1,t),t},Qt.now=function(e){return Qt.fromDate(new Date,e)};var Kt=new Qt(0,0,Pt.TAI);function $t(e){e instanceof $t?(this.scheme=e.scheme,this.authority=e.authority,this.path=e.path,this.query=e.query,this.fragment=e.fragment):e&&(e=en.exec(e),this.scheme=e[1],this.authority=e[2],this.path=e[3],this.query=e[4],this.fragment=e[5])}Qt.toGregorianDate=function(e,t){var n=!1,r=Lt(e,Kt);R.defined(r)||(Qt.addSeconds(e,-1,Kt),r=Lt(Kt,Kt),n=!0);var a=r.dayNumber,i=r.secondsOfDay;43200<=i&&(a+=1);var s=a+68569|0,o=4*s/146097|0,u=4e3*(1+(s=s-((146097*o+3)/4|0)|0))/1461001|0,e=80*(s=s-(1461*u/4|0)+31|0)/2447|0,r=s-(2447*e/80|0)|0,a=2+e-12*(s=e/11|0)|0,e=100*(o-49)+u+s|0,o=i/It.SECONDS_PER_HOUR|0,u=i-o*It.SECONDS_PER_HOUR,s=u/It.SECONDS_PER_MINUTE|0,i=0|(u-=s*It.SECONDS_PER_MINUTE),u=(u-i)/It.SECONDS_PER_MILLISECOND;return 23<(o+=12)&&(o-=24),n&&(i+=1),R.defined(t)?(t.year=e,t.month=a,t.day=r,t.hour=o,t.minute=s,t.second=i,t.millisecond=u,t.isLeapSecond=n,t):new Tt(e,a,r,o,s,i,u,n)},Qt.toDate=function(e){var t=Qt.toGregorianDate(e,Dt),e=t.second;return t.isLeapSecond&&--e,new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,e,t.millisecond))},Qt.toIso8601=function(e,t){var n=Qt.toGregorianDate(e,Dt),r=n.year,a=n.month,i=n.day,s=n.hour,o=n.minute,e=n.second,n=n.millisecond;return 1e4===r&&1===a&&1===i&&0===s&&0===o&&0===e&&0===n&&(r=9999,a=12,i=31,s=24),R.defined(t)||0===n?R.defined(t)&&0!==t?At("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",r,a,i,s,o,e,(.01*n).toFixed(t).replace(".","").slice(0,t)):At("%04d-%02d-%02dT%02d:%02d:%02dZ",r,a,i,s,o,e):At("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",r,a,i,s,o,e,(.01*n).toString().replace(".",""))},Qt.clone=function(e,t){if(R.defined(e))return R.defined(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Qt(e.dayNumber,e.secondsOfDay,Pt.TAI)},Qt.compare=function(e,t){var n=e.dayNumber-t.dayNumber;return 0!=n?n:e.secondsOfDay-t.secondsOfDay},Qt.equals=function(e,t){return e===t||R.defined(e)&&R.defined(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay},Qt.equalsEpsilon=function(e,t,n){return n=R.defaultValue(n,0),e===t||R.defined(e)&&R.defined(t)&&Math.abs(Qt.secondsDifference(e,t))<=n},Qt.totalDays=function(e){return e.dayNumber+e.secondsOfDay/It.SECONDS_PER_DAY},Qt.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*It.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)},Qt.daysDifference=function(e,t){return e.dayNumber-t.dayNumber+(e.secondsOfDay-t.secondsOfDay)/It.SECONDS_PER_DAY},Qt.computeTaiMinusUtc=function(e){Ft.julianDate=e;var t=Qt.leapSeconds,e=Mt(t,Ft,Ut);return e<0&&(e=~e,--e<0&&(e=0)),t[e].offset},Qt.addSeconds=function(e,t,n){return Bt(e.dayNumber,e.secondsOfDay+t,n)},Qt.addMinutes=function(e,t,n){t=e.secondsOfDay+t*It.SECONDS_PER_MINUTE;return Bt(e.dayNumber,t,n)},Qt.addHours=function(e,t,n){t=e.secondsOfDay+t*It.SECONDS_PER_HOUR;return Bt(e.dayNumber,t,n)},Qt.addDays=function(e,t,n){return Bt(e.dayNumber+t,e.secondsOfDay,n)},Qt.lessThan=function(e,t){return Qt.compare(e,t)<0},Qt.lessThanOrEquals=function(e,t){return Qt.compare(e,t)<=0},Qt.greaterThan=function(e,t){return 0<Qt.compare(e,t)},Qt.greaterThanOrEquals=function(e,t){return 0<=Qt.compare(e,t)},Qt.prototype.clone=function(e){return Qt.clone(this,e)},Qt.prototype.equals=function(e){return Qt.equals(this,e)},Qt.prototype.equalsEpsilon=function(e,t){return Qt.equalsEpsilon(this,e,t)},Qt.prototype.toString=function(){return Qt.toIso8601(this)},Qt.leapSeconds=[new zt(new Qt(2441317,43210,Pt.TAI),10),new zt(new Qt(2441499,43211,Pt.TAI),11),new zt(new Qt(2441683,43212,Pt.TAI),12),new zt(new Qt(2442048,43213,Pt.TAI),13),new zt(new Qt(2442413,43214,Pt.TAI),14),new zt(new Qt(2442778,43215,Pt.TAI),15),new zt(new Qt(2443144,43216,Pt.TAI),16),new zt(new Qt(2443509,43217,Pt.TAI),17),new zt(new Qt(2443874,43218,Pt.TAI),18),new zt(new Qt(2444239,43219,Pt.TAI),19),new zt(new Qt(2444786,43220,Pt.TAI),20),new zt(new Qt(2445151,43221,Pt.TAI),21),new zt(new Qt(2445516,43222,Pt.TAI),22),new zt(new Qt(2446247,43223,Pt.TAI),23),new zt(new Qt(2447161,43224,Pt.TAI),24),new zt(new Qt(2447892,43225,Pt.TAI),25),new zt(new Qt(2448257,43226,Pt.TAI),26),new zt(new Qt(2448804,43227,Pt.TAI),27),new zt(new Qt(2449169,43228,Pt.TAI),28),new zt(new Qt(2449534,43229,Pt.TAI),29),new zt(new Qt(2450083,43230,Pt.TAI),30),new zt(new Qt(2450630,43231,Pt.TAI),31),new zt(new Qt(2451179,43232,Pt.TAI),32),new zt(new Qt(2453736,43233,Pt.TAI),33),new zt(new Qt(2454832,43234,Pt.TAI),34),new zt(new Qt(2456109,43235,Pt.TAI),35),new zt(new Qt(2457204,43236,Pt.TAI),36),new zt(new Qt(2457754,43237,Pt.TAI),37)],$t.prototype.scheme=null,$t.prototype.authority=null,$t.prototype.path="",$t.prototype.query=null,$t.prototype.fragment=null;var en=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");$t.prototype.getScheme=function(){return this.scheme},$t.prototype.getAuthority=function(){return this.authority},$t.prototype.getPath=function(){return this.path},$t.prototype.getQuery=function(){return this.query},$t.prototype.getFragment=function(){return this.fragment},$t.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},$t.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},$t.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},$t.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(rn,sn).replace(tn,an)),this.path&&(this.path=this.path.replace(tn,an)),this.query&&(this.query=this.query.replace(tn,an)),this.fragment&&(this.fragment=this.fragment.replace(tn,an))};var tn=/%[0-9a-z]{2}/gi,nn=/[a-zA-Z0-9\-\._~]/,rn=/(.*@)?([^@:]*)(:.*)?/;function an(e){var t=unescape(e);return nn.test(t)?t:e.toUpperCase()}function sn(e,t,n,r){return(t||"")+n.toLowerCase()+(r||"")}function on(e,t){if(null===e||"object"!=typeof e)return e;t=R.defaultValue(t,!1);var n,r,a=new e.constructor;for(n in e)e.hasOwnProperty(n)&&(r=e[n],t&&(r=on(r,t)),a[n]=r);return a}function un(e,t,n){n=R.defaultValue(n,!1);var r,a,i,s={},o=R.defined(e),u=R.defined(t);if(o)for(r in e)e.hasOwnProperty(r)&&(a=e[r],u&&n&&"object"==typeof a&&t.hasOwnProperty(r)?(i=t[r],s[r]="object"==typeof i?un(a,i,n):a):s[r]=a);if(u)for(r in t)t.hasOwnProperty(r)&&!s.hasOwnProperty(r)&&(i=t[r],s[r]=i);return s}function ln(e,t){var n;return"undefined"!=typeof document&&(n=document),ln._implementation(e,t,n)}$t.prototype.resolve=function(e){var t=new $t;return this.scheme?(t.scheme=this.scheme,t.authority=this.authority,t.path=this.path,t.query=this.query):(t.scheme=e.scheme,this.authority?(t.authority=this.authority,t.path=this.path,t.query=this.query):(t.authority=e.authority,""==this.path?(t.path=e.path,t.query=this.query||e.query):("/"==this.path.charAt(0)?t.path=this.path:e.authority&&""==e.path?t.path="/"+this.path:t.path=e.path.substring(0,e.path.lastIndexOf("/")+1)+this.path,t.removeDotSegments(),t.query=this.query))),t.fragment=this.fragment,t},$t.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),n=[],r=""==t[0];r&&t.shift();for(""==t[0]&&t.shift();t.length;)".."==(e=t.shift())?n.pop():"."!=e&&n.push(e);"."!=e&&".."!=e||n.push(""),r&&n.unshift(""),this.path=n.join("/")},$t.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},ln._implementation=function(e,t,n){if(!R.defined(t)){if(void 0===n)return e;t=R.defaultValue(n.baseURI,n.location.href)}t=new $t(t);return new $t(e).resolve(t).toString()};var cn,dn=/^blob:/i;function fn(e){return dn.test(e)}var hn=/^data:/i;function pn(e){return hn.test(e)}var mn=Object.freeze({UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5}),yn=Object.freeze({TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3});function Cn(e){e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT);var t=R.defaultValue(e.throttleByServer,!1),n=R.defaultValue(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=R.defaultValue(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=R.defaultValue(e.type,yn.OTHER),this.serverKey=void 0,this.state=mn.UNISSUED,this.deferred=void 0,this.cancelled=!1}function wn(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,"string"==typeof this.responseHeaders&&(this.responseHeaders=function(e){var t={};if(!e)return t;for(var n=e.split("\r\n"),r=0;r<n.length;++r){var a,i=n[r],s=i.indexOf(": ");0<s&&(a=i.substring(0,s),s=i.substring(s+2),t[a]=s)}return t}(this.responseHeaders))}function vn(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}function gn(e,t){return t-e}function xn(e){this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}function En(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}Cn.prototype.cancel=function(){this.cancelled=!0},Cn.prototype.clone=function(e){return R.defined(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=this.RequestState.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new Cn(this)},wn.prototype.toString=function(){var e="Request has failed.";return R.defined(this.statusCode)&&(e+=" Status Code: "+this.statusCode),e},Object.defineProperties(vn.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}}),vn.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);var n=this;return function(){n.removeEventListener(e,t)}},vn.prototype.removeEventListener=function(e,t){for(var n=this._listeners,r=this._scopes,a=-1,i=0;i<n.length;i++)if(n[i]===e&&r[i]===t){a=i;break}return-1!==a&&(this._insideRaiseEvent?(this._toRemove.push(a),n[a]=void 0,r[a]=void 0):(n.splice(a,1),r.splice(a,1)),!0)},vn.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;for(var e=this._listeners,t=this._scopes,n=e.length,r=0;r<n;r++){var a=e[r];R.defined(a)&&e[r].apply(t[r],arguments)}var i=this._toRemove;if(0<(n=i.length)){for(i.sort(gn),r=0;r<n;r++){var s=i[r];e.splice(s,1),t.splice(s,1)}i.length=0}this._insideRaiseEvent=!1},Object.defineProperties(xn.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){var t=this._length;if(e<t){for(var n=this._array,r=e;r<t;++r)n[r]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}}),xn.prototype.reserve=function(e){e=R.defaultValue(e,this._length),this._array.length=e},xn.prototype.heapify=function(e){e=R.defaultValue(e,0);for(var t=this._length,n=this._comparator,r=this._array,a=-1,i=!0;i;){var s=2*(e+1),o=s-1,a=o<t&&n(r[o],r[e])<0?o:e;s<t&&n(r[s],r[a])<0&&(a=s),a!==e?(En(r,a,e),e=a):i=!1}},xn.prototype.resort=function(){for(var e=this._length,t=Math.ceil(e/2);0<=t;--t)this.heapify(t)},xn.prototype.insert=function(e){var t,n=this._array,r=this._comparator,a=this._maximumLength,i=this._length++;for(i<n.length?n[i]=e:n.push(e);0!==i;){var s=Math.floor((i-1)/2);if(!(r(n[i],n[s])<0))break;En(n,i,s),i=s}return R.defined(a)&&this._length>a&&(t=n[a],this._length=a),t},xn.prototype.pop=function(e){if(e=R.defaultValue(e,0),0!==this._length){var t=this._array,n=t[e];return En(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n}};var On={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},_n=20,Sn=new xn({comparator:function(e,t){return e.priority-t.priority}});Sn.maximumLength=_n,Sn.reserve(_n);var bn=[],Mn={},Rn="undefined"!=typeof document?new $t(document.location.href):new $t,An=new vn;function Tn(){}function qn(e){R.defined(e.priorityFunction)&&(e.priority=e.priorityFunction())}function zn(e){var t=R.defaultValue(Tn.requestsByServer[e],Tn.maximumRequestsPerServer);return Mn[e]<t}function In(e){return e.state===mn.UNISSUED&&(e.state=mn.ISSUED,e.deferred=R.when.defer()),e.deferred.promise}function Pn(e){var t,n,r=In(e);return e.state=mn.ACTIVE,bn.push(e),++On.numberOfActiveRequests,++On.numberOfActiveRequestsEver,++Mn[e.serverKey],e.requestFunction().then((n=e,function(e){var t;n.state!==mn.CANCELLED&&(t=n.deferred,--On.numberOfActiveRequests,--Mn[n.serverKey],An.raiseEvent(),n.state=mn.RECEIVED,n.deferred=void 0,t.resolve(e))})).otherwise((t=e,function(e){t.state!==mn.CANCELLED&&(++On.numberOfFailedRequests,--On.numberOfActiveRequests,--Mn[t.serverKey],An.raiseEvent(e),t.state=mn.FAILED,t.deferred.reject(e))})),r}function Dn(e){var t,n=e.state===mn.ACTIVE;e.state=mn.CANCELLED,++On.numberOfCancelledRequests,R.defined(e.deferred)&&(t=e.deferred,e.deferred=void 0,t.reject()),n&&(--On.numberOfActiveRequests,--Mn[e.serverKey],++On.numberOfCancelledActiveRequests),R.defined(e.cancelFunction)&&e.cancelFunction()}Tn.maximumRequests=50,Tn.maximumRequestsPerServer=6,Tn.requestsByServer={"api.cesium.com:443":18,"assets.cesium.com:443":18},Tn.throttleRequests=!0,Tn.debugShowStatistics=!1,Tn.requestCompletedEvent=An,Object.defineProperties(Tn,{statistics:{get:function(){return On}},priorityHeapLength:{get:function(){return _n},set:function(e){if(e<_n)for(;Sn.length>e;)Dn(Sn.pop());_n=e,Sn.maximumLength=e,Sn.reserve(e)}}}),Tn.update=function(){for(var e,t=0,n=bn.length,r=0;r<n;++r)(e=bn[r]).cancelled&&Dn(e),e.state===mn.ACTIVE?0<t&&(bn[r-t]=e):++t;bn.length-=t;var a=Sn.internalArray,i=Sn.length;for(r=0;r<i;++r)qn(a[r]);Sn.resort();for(var s=Math.max(Tn.maximumRequests-bn.length,0),o=0;o<s&&0<Sn.length;)!(e=Sn.pop()).cancelled&&(!e.throttleByServer||zn(e.serverKey))?(Pn(e),++o):Dn(e);Tn.debugShowStatistics&&(0===On.numberOfActiveRequests&&0<On.lastNumberOfActiveRequests&&(0<On.numberOfAttemptedRequests&&(console.log("Number of attempted requests: "+On.numberOfAttemptedRequests),On.numberOfAttemptedRequests=0),0<On.numberOfCancelledRequests&&(console.log("Number of cancelled requests: "+On.numberOfCancelledRequests),On.numberOfCancelledRequests=0),0<On.numberOfCancelledActiveRequests&&(console.log("Number of cancelled active requests: "+On.numberOfCancelledActiveRequests),On.numberOfCancelledActiveRequests=0),0<On.numberOfFailedRequests&&(console.log("Number of failed requests: "+On.numberOfFailedRequests),On.numberOfFailedRequests=0)),On.lastNumberOfActiveRequests=On.numberOfActiveRequests)},Tn.getServerKey=function(e){var t=new $t(e).resolve(Rn);t.normalize();e=t.authority;/:/.test(e)||(e=e+":"+("https"===t.scheme?"443":"80"));t=Mn[e];return R.defined(t)||(Mn[e]=0),e},Tn.request=function(e){if(pn(e.url)||fn(e.url))return An.raiseEvent(),e.state=mn.RECEIVED,e.requestFunction();if(++On.numberOfAttemptedRequests,R.defined(e.serverKey)||(e.serverKey=Tn.getServerKey(e.url)),!Tn.throttleRequests||!e.throttleByServer||zn(e.serverKey)){if(!Tn.throttleRequests||!e.throttle)return Pn(e);if(!(bn.length>=Tn.maximumRequests)){qn(e);var t=Sn.insert(e);if(R.defined(t)){if(t===e)return;Dn(t)}return In(e)}}},Tn.clearForSpecs=function(){for(;0<Sn.length;)Dn(Sn.pop());for(var e=bn.length,t=0;t<e;++t)Dn(bn[t]);bn.length=0,Mn={},On.numberOfAttemptedRequests=0,On.numberOfActiveRequests=0,On.numberOfCancelledRequests=0,On.numberOfCancelledActiveRequests=0,On.numberOfFailedRequests=0,On.numberOfActiveRequestsEver=0,On.lastNumberOfActiveRequests=0},Tn.numberOfActiveRequestsByServer=function(e){return Mn[e]},Tn.requestHeap=Sn;var Nn={},Un={};Nn.add=function(e,t){t=e.toLowerCase()+":"+t;R.defined(Un[t])||(Un[t]=!0)},Nn.remove=function(e,t){t=e.toLowerCase()+":"+t;R.defined(Un[t])&&delete Un[t]},Nn.contains=function(e){e=function(e){var t=new $t(e);if(t.normalize(),e=t.getAuthority(),R.defined(e)){if(-1!==e.indexOf("@")&&(e=e.split("@")[1]),-1===e.indexOf(":")){t=t.getScheme();if(R.defined(t)||(t=(t=window.location.protocol).substring(0,t.length-1)),"http"===t)e+=":80";else{if("https"!==t)return;e+=":443"}}return e}}(e);return!(!R.defined(e)||!R.defined(Un[e]))},Nn.clear=function(){Un={}};var Fn,Vn=function(){try{var e=new XMLHttpRequest;return e.open("GET","#",!0),(e.responseType="blob")===e.responseType}catch(e){return!1}}();function Ln(e,t,n,r){var a,i=e.query;if(!R.defined(i)||0===i.length)return 1;i=-1===i.indexOf("=")?((a={})[i]=void 0,a):function(e){var t={};if(""===e)return t;for(var n=e.replace(/\+/g,"%20").split(/[&;]/),r=0,a=n.length;r<a;++r){var i=n[r].split("="),s=decodeURIComponent(i[0]),o=i[1],o=R.defined(o)?decodeURIComponent(o):"",i=t[s];"string"==typeof i?t[s]=[i,o]:Array.isArray(i)?i.push(o):t[s]=o}return t}(i),t._queryParameters=n?kn(i,t._queryParameters,r):i,e.query=void 0}function Bn(e,t){var n=t._queryParameters,t=Object.keys(n);1!==t.length||R.defined(n[t[0]])?e.query=function(e){var t,n="";for(t in e)if(e.hasOwnProperty(t)){var r=e[t],a=encodeURIComponent(t)+"=";if(Array.isArray(r))for(var i=0,s=r.length;i<s;++i)n+=a+encodeURIComponent(r[i])+"&";else n+=a+encodeURIComponent(r)+"&"}return n=n.slice(0,-1)}(n):e.query=t[0]}function Wn(e,t){return R.defined(e)?R.defined(e.clone)?e.clone():on(e):t}function jn(e){if(e.state===mn.ISSUED||e.state===mn.ACTIVE)throw new L.RuntimeError("The Resource is already being fetched.");e.state=mn.UNISSUED,e.deferred=void 0}function kn(e,t,n){if(!n)return un(e,t);var r,a,i,s=on(e,!0);for(r in t)t.hasOwnProperty(r)&&(a=s[r],i=t[r],R.defined(a)?(Array.isArray(a)||(a=s[r]=[a]),s[r]=a.concat(i)):s[r]=Array.isArray(i)?i.slice():i);return s}function Yn(e){"string"==typeof(e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT))&&(e={url:e}),this._url=void 0,this._templateValues=Wn(e.templateValues,{}),this._queryParameters=Wn(e.queryParameters,{}),this.headers=Wn(e.headers,{}),this.request=R.defaultValue(e.request,new Cn),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=R.defaultValue(e.retryAttempts,0),this._retryCount=0;e=new $t(e.url);Ln(e,this,!0,!0),e.fragment=void 0,this._url=e.toString()}function Zn(e){var n=e.resource,r=e.flipY,a=e.preferImageBitmap,i=n.request;i.url=n.url,i.requestFunction=function(){var e=!1;n.isDataUri||n.isBlobUri||(e=n.isCrossOriginUrl);var t=R.when.defer();return Yn._Implementations.createImage(i,e,t,r,a),t.promise};e=Tn.request(i);if(R.defined(e))return e.otherwise(function(t){return i.state!==mn.FAILED?R.when.reject(t):n.retryOnError(t).then(function(e){return e?(i.state=mn.UNISSUED,i.deferred=void 0,Zn({resource:n,flipY:r,preferImageBitmap:a})):R.when.reject(t)})})}Yn.createIfNeeded=function(e){return e instanceof Yn?e.getDerivedResource({request:e.request}):"string"!=typeof e?e:new Yn({url:e})},Yn.supportsImageBitmapOptions=function(){if(R.defined(Fn))return Fn;if("function"!=typeof createImageBitmap)return Fn=R.when.resolve(!1);return Fn=Yn.fetchBlob({url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4////fwAJ+wP9CNHoHgAAAABJRU5ErkJggg=="}).then(function(e){return createImageBitmap(e,{imageOrientation:"flipY",premultiplyAlpha:"none"})}).then(function(e){return!0}).otherwise(function(){return!1})},Object.defineProperties(Yn,{isBlobSupported:{get:function(){return Vn}}}),Object.defineProperties(Yn.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){e=new $t(e);Ln(e,this,!1),e.fragment=void 0,this._url=e.toString()}},extension:{get:function(){return e=this._url,(t=new $t(e)).normalize(),e=t.path,-1!==(t=e.lastIndexOf("/"))&&(e=e.substr(t+1)),e=-1===(t=e.lastIndexOf("."))?"":e.substr(t+1);var e,t}},isDataUri:{get:function(){return pn(this._url)}},isBlobUri:{get:function(){return fn(this._url)}},isCrossOriginUrl:{get:function(){return function(e){R.defined(cn)||(cn=document.createElement("a")),cn.href=window.location.href;var t=cn.host,n=cn.protocol;return cn.href=e,cn.href=cn.href,n!==cn.protocol||t!==cn.host}(this._url)}},hasHeaders:{get:function(){return 0<Object.keys(this.headers).length}}}),Yn.prototype.toString=function(){return this.getUrlComponent(!0,!0)},Yn.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;var n=new $t(this._url);e&&Bn(n,this);var n=n.toString().replace(/%7B/g,"{").replace(/%7D/g,"}"),r=this._templateValues,n=n.replace(/{(.*?)}/g,function(e,t){t=r[t];return R.defined(t)?encodeURIComponent(t):e});return t&&R.defined(this.proxy)&&(n=this.proxy.getURL(n)),n},Yn.prototype.setQueryParameters=function(e,t){this._queryParameters=t?kn(this._queryParameters,e,!1):kn(e,this._queryParameters,!1)},Yn.prototype.appendQueryParameters=function(e){this._queryParameters=kn(e,this._queryParameters,!0)},Yn.prototype.setTemplateValues=function(e,t){this._templateValues=t?un(this._templateValues,e):un(e,this._templateValues)},Yn.prototype.getDerivedResource=function(e){var t,n=this.clone();return n._retryCount=0,R.defined(e.url)&&(Ln(t=new $t(e.url),n,!0,R.defaultValue(e.preserveQueryParameters,!1)),t.fragment=void 0,n._url=t.resolve(new $t(ln(this._url))).toString()),R.defined(e.queryParameters)&&(n._queryParameters=un(e.queryParameters,n._queryParameters)),R.defined(e.templateValues)&&(n._templateValues=un(e.templateValues,n.templateValues)),R.defined(e.headers)&&(n.headers=un(e.headers,n.headers)),R.defined(e.proxy)&&(n.proxy=e.proxy),R.defined(e.request)&&(n.request=e.request),R.defined(e.retryCallback)&&(n.retryCallback=e.retryCallback),R.defined(e.retryAttempts)&&(n.retryAttempts=e.retryAttempts),n},Yn.prototype.retryOnError=function(e){var t=this.retryCallback;if("function"!=typeof t||this._retryCount>=this.retryAttempts)return R.when(!1);var n=this;return R.when(t(this,e)).then(function(e){return++n._retryCount,e})},Yn.prototype.clone=function(e){return R.defined(e)||(e=new Yn({url:this._url})),e._url=this._url,e._queryParameters=on(this._queryParameters),e._templateValues=on(this._templateValues),e.headers=on(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e},Yn.prototype.getBaseUri=function(e){return t=this.getUrlComponent(e),n=e,r="",-1!==(e=t.lastIndexOf("/"))&&(r=t.substring(0,e+1)),n&&(t=new $t(t),R.defined(t.query)&&(r+="?"+t.query),R.defined(t.fragment)&&(r+="#"+t.fragment)),r;var t,n,r},Yn.prototype.appendForwardSlash=function(){var e;this._url=(0!==(e=this._url).length&&"/"===e[e.length-1]||(e+="/"),e)},Yn.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})},Yn.fetchArrayBuffer=function(e){return new Yn(e).fetchArrayBuffer()},Yn.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})},Yn.fetchBlob=function(e){return new Yn(e).fetchBlob()},Yn.prototype.fetchImage=function(e){e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT);var t=R.defaultValue(e.preferImageBitmap,!1),n=R.defaultValue(e.preferBlob,!1),r=R.defaultValue(e.flipY,!1);if(jn(this.request),!Vn||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return Zn({resource:this,flipY:r,preferImageBitmap:t});var a,i,s,o=this.fetchBlob();return R.defined(o)?Yn.supportsImageBitmapOptions().then(function(e){return a=e&&t,o}).then(function(e){if(R.defined(e)){if(s=e,a)return Yn.createImageBitmapFromBlob(e,{flipY:r,premultiplyAlpha:!1});e=window.URL.createObjectURL(e);return Zn({resource:i=new Yn({url:e}),flipY:r,preferImageBitmap:!1})}}).then(function(e){if(R.defined(e))return e.blob=s,a||window.URL.revokeObjectURL(i.url),e}).otherwise(function(e){return R.defined(i)&&window.URL.revokeObjectURL(i.url),e.blob=s,R.when.reject(e)}):void 0},Yn.fetchImage=function(e){return new Yn(e).fetchImage({flipY:e.flipY,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})},Yn.prototype.fetchText=function(){return this.fetch({responseType:"text"})},Yn.fetchText=function(e){return new Yn(e).fetchText()},Yn.prototype.fetchJson=function(){var e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(R.defined(e))return e.then(function(e){if(R.defined(e))return JSON.parse(e)})},Yn.fetchJson=function(e){return new Yn(e).fetchJson()},Yn.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})},Yn.fetchXML=function(e){return new Yn(e).fetchXML()},Yn.prototype.fetchJsonp=function(e){var t;for(e=R.defaultValue(e,"callback"),jn(this.request);t="loadJsonp"+Math.random().toString().substring(2,8),R.defined(window[t]););return function n(r,a,i){var e={};e[a]=i;r.setQueryParameters(e);var s=r.request;s.url=r.url;s.requestFunction=function(){var t=R.when.defer();return window[i]=function(e){t.resolve(e);try{delete window[i]}catch(e){window[i]=void 0}},Yn._Implementations.loadAndExecuteScript(r.url,i,t),t.promise};var e=Tn.request(s);if(!R.defined(e))return;return e.otherwise(function(t){return s.state!==mn.FAILED?R.when.reject(t):r.retryOnError(t).then(function(e){return e?(s.state=mn.UNISSUED,s.deferred=void 0,n(r,a,i)):R.when.reject(t)})})}(this,e,t)},Yn.fetchJsonp=function(e){return new Yn(e).fetchJsonp(e.callbackParameterName)},Yn.prototype._makeRequest=function(o){var u=this;jn(u.request);var l=u.request;l.url=u.url,l.requestFunction=function(){var e=o.responseType,t=un(o.headers,u.headers),n=o.overrideMimeType,r=o.method,a=o.data,i=R.when.defer(),s=Yn._Implementations.loadWithXhr(u.url,e,r,a,t,i,n);return R.defined(s)&&R.defined(s.abort)&&(l.cancelFunction=function(){s.abort()}),i.promise};var e=Tn.request(l);if(R.defined(e))return e.then(function(e){return l.cancelFunction=void 0,e}).otherwise(function(t){return l.cancelFunction=void 0,l.state!==mn.FAILED?R.when.reject(t):u.retryOnError(t).then(function(e){return e?(l.state=mn.UNISSUED,l.deferred=void 0,u.fetch(o)):R.when.reject(t)})})};var Xn=/^data:(.*?)(;base64)?,(.*)$/;function Hn(e,t){t=decodeURIComponent(t);return e?atob(t):t}function Jn(e,t){for(var n=Hn(e,t),t=new ArrayBuffer(n.length),r=new Uint8Array(t),a=0;a<n.length;a++)r[a]=n.charCodeAt(a);return t}function Gn(e,t){switch(t){case"text":return e.toString("utf8");case"json":return JSON.parse(e.toString("utf8"));default:return new Uint8Array(e).buffer}}Yn.prototype.fetch=function(e){return(e=Wn(e,{})).method="GET",this._makeRequest(e)},Yn.fetch=function(e){return new Yn(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yn.prototype.delete=function(e){return(e=Wn(e,{})).method="DELETE",this._makeRequest(e)},Yn.delete=function(e){return new Yn(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})},Yn.prototype.head=function(e){return(e=Wn(e,{})).method="HEAD",this._makeRequest(e)},Yn.head=function(e){return new Yn(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yn.prototype.options=function(e){return(e=Wn(e,{})).method="OPTIONS",this._makeRequest(e)},Yn.options=function(e){return new Yn(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yn.prototype.post=function(e,t){return o.Check.defined("data",e),(t=Wn(t,{})).method="POST",t.data=e,this._makeRequest(t)},Yn.post=function(e){return new Yn(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yn.prototype.put=function(e,t){return o.Check.defined("data",e),(t=Wn(t,{})).method="PUT",t.data=e,this._makeRequest(t)},Yn.put=function(e){return new Yn(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})},Yn.prototype.patch=function(e,t){return o.Check.defined("data",e),(t=Wn(t,{})).method="PATCH",t.data=e,this._makeRequest(t)},Yn.patch=function(e){return new Yn(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})},(Yn._Implementations={}).createImage=function(i,s,o,u,l){var c=i.url;Yn.supportsImageBitmapOptions().then(function(e){if(!e||!l)return r=c,e=s,t=o,(n=new Image).onload=function(){t.resolve(n)},n.onerror=function(e){t.reject(e)},e&&(Nn.contains(r)?n.crossOrigin="use-credentials":n.crossOrigin=""),void(n.src=r);var t,n,r=R.when.defer(),a=Yn._Implementations.loadWithXhr(c,"blob","GET",void 0,void 0,r,void 0,void 0,void 0);return R.defined(a)&&R.defined(a.abort)&&(i.cancelFunction=function(){a.abort()}),r.promise.then(function(e){return R.defined(e)?Yn.createImageBitmapFromBlob(e,{flipY:u,premultiplyAlpha:!1}):void o.reject(new L.RuntimeError("Successfully retrieved "+c+" but it contained no content."))}).then(o.resolve)}).otherwise(o.reject)},Yn.createImageBitmapFromBlob=function(e,t){return o.Check.defined("options",t),o.Check.typeOf.bool("options.flipY",t.flipY),o.Check.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none"})};var Qn="undefined"==typeof XMLHttpRequest;function Kn(e){var t,n;e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=R.defaultValue(e.addNewLeapSeconds,!0),R.defined(e.data)?er(this,e.data):R.defined(e.url)?(t=Yn.createIfNeeded(e.url),(n=this)._downloadPromise=t.fetchJson().then(function(e){er(n,e)}).otherwise(function(){n._dataError="An error occurred while retrieving the EOP data from the URL "+t.url+"."})):er(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}function $n(e,t){return Qt.compare(e.julianDate,t)}function er(e,t){if(R.defined(t.columnNames))if(R.defined(t.samples)){var n=t.columnNames.indexOf("modifiedJulianDateUtc"),r=t.columnNames.indexOf("xPoleWanderRadians"),a=t.columnNames.indexOf("yPoleWanderRadians"),i=t.columnNames.indexOf("ut1MinusUtcSeconds"),s=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),o=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),u=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||r<0||a<0||i<0||s<0||o<0||u<0)e._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns";else{var l,c=e._samples=t.samples,d=e._dates=[];e._dateColumn=n,e._xPoleWanderRadiansColumn=r,e._yPoleWanderRadiansColumn=a,e._ut1MinusUtcSecondsColumn=i,e._xCelestialPoleOffsetRadiansColumn=s,e._yCelestialPoleOffsetRadiansColumn=o,e._taiMinusUtcSecondsColumn=u,e._columnCount=t.columnNames.length,e._lastIndex=void 0;for(var f=e._addNewLeapSeconds,h=0,p=c.length;h<p;h+=e._columnCount){var m,y=c[h+n],C=c[h+u],w=new Qt(y+It.MODIFIED_JULIAN_DATE_DIFFERENCE,C,Pt.TAI);d.push(w),f&&(C===l||!R.defined(l)||(y=Mt(m=Qt.leapSeconds,w,$n))<0&&(w=new zt(w,C),m.splice(~y,0,w)),l=C)}}}else e._dataError="Error in loaded EOP data: The samples property is required.";else e._dataError="Error in loaded EOP data: The columnNames property is required."}function tr(e,t,n,r,a){r*=n;a.xPoleWander=t[r+e._xPoleWanderRadiansColumn],a.yPoleWander=t[r+e._yPoleWanderRadiansColumn],a.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],a.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],a.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function nr(e,t,n){return t+e*(n-t)}function rr(e,t,n,r,a,i,s){var o=e._columnCount;if(i>t.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;var u=t[a],l=t[i];if(u.equals(l)||r.equals(u))return tr(e,n,a,o,s),s;if(r.equals(l))return tr(e,n,i,o,s),s;var c=Qt.secondsDifference(r,u)/Qt.secondsDifference(l,u),d=a*o,t=i*o,u=n[d+e._ut1MinusUtcSecondsColumn],a=n[t+e._ut1MinusUtcSecondsColumn],i=a-u;return!(.5<i||i<-.5)||(o=n[d+e._taiMinusUtcSecondsColumn])!==(i=n[t+e._taiMinusUtcSecondsColumn])&&(l.equals(r)?u=a:a-=i-o),s.xPoleWander=nr(c,n[d+e._xPoleWanderRadiansColumn],n[t+e._xPoleWanderRadiansColumn]),s.yPoleWander=nr(c,n[d+e._yPoleWanderRadiansColumn],n[t+e._yPoleWanderRadiansColumn]),s.xPoleOffset=nr(c,n[d+e._xCelestialPoleOffsetRadiansColumn],n[t+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=nr(c,n[d+e._yCelestialPoleOffsetRadiansColumn],n[t+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=nr(c,u,a),s}function ar(e,t,n){this.heading=R.defaultValue(e,0),this.pitch=R.defaultValue(t,0),this.roll=R.defaultValue(n,0)}Yn._Implementations.loadWithXhr=function(e,a,i,t,n,s,r){var o=Xn.exec(e);if(null===o){if(Qn)return u=e,l=a,c=i,d=n,f=s,h=require("url").parse(u),u="https:"===h.protocol?require("https"):require("http"),p=require("zlib"),d={protocol:h.protocol,hostname:h.hostname,port:h.port,path:h.path,query:h.query,method:c,headers:d},void u.request(d).on("response",function(t){var n;t.statusCode<200||300<=t.statusCode?f.reject(new wn(t.statusCode,t,t.headers)):(n=[],t.on("data",function(e){n.push(e)}),t.on("end",function(){var e=Buffer.concat(n);"gzip"===t.headers["content-encoding"]?p.gunzip(e,function(e,t){e?f.reject(new L.RuntimeError("Error decompressing response.")):f.resolve(Gn(t,l))}):f.resolve(Gn(e,l))}))}).on("error",function(e){f.reject(new wn)}).end();var u,l,c,d,f,h,p,m=new XMLHttpRequest;if(Nn.contains(e)&&(m.withCredentials=!0),m.open(i,e,!0),R.defined(r)&&R.defined(m.overrideMimeType)&&m.overrideMimeType(r),R.defined(n))for(var y in n)n.hasOwnProperty(y)&&m.setRequestHeader(y,n[y]);R.defined(a)&&(m.responseType=a);var C=!1;return"string"==typeof e&&(C=0===e.indexOf("file://")||"undefined"!=typeof window&&"file://"===window.location.origin),m.onload=function(){if(!(m.status<200||300<=m.status)||C&&0===m.status){var e=m.response,t=m.responseType;if("HEAD"===i||"OPTIONS"===i){var n=m.getAllResponseHeaders().trim().split(/[\r\n]+/),r={};return n.forEach(function(e){var t=e.split(": "),e=t.shift();r[e]=t.join(": ")}),void s.resolve(r)}if(204===m.status)s.resolve();else if(!R.defined(e)||R.defined(a)&&t!==a)if("json"===a&&"string"==typeof e)try{s.resolve(JSON.parse(e))}catch(e){s.reject(e)}else(""===t||"document"===t)&&R.defined(m.responseXML)&&m.responseXML.hasChildNodes()?s.resolve(m.responseXML):""!==t&&"text"!==t||!R.defined(m.responseText)?s.reject(new L.RuntimeError("Invalid XMLHttpRequest response type.")):s.resolve(m.responseText);else s.resolve(e)}else s.reject(new wn(m.status,m.response,m.getAllResponseHeaders()))},m.onerror=function(e){s.reject(new wn)},m.send(t),m}s.resolve(function(e,t){t=R.defaultValue(t,"");var n=e[1],r=!!e[2],a=e[3];switch(t){case"":case"text":return Hn(r,a);case"arraybuffer":return Jn(r,a);case"blob":var i=Jn(r,a);return new Blob([i],{type:n});case"document":return(new DOMParser).parseFromString(Hn(r,a),n);case"json":return JSON.parse(Hn(r,a))}}(o,a))},Yn._Implementations.loadAndExecuteScript=function(e,t,n){return function(e){var t=R.when.defer(),n=document.createElement("script");n.async=!0,n.src=e;var r=document.getElementsByTagName("head")[0];return n.onload=function(){n.onload=void 0,r.removeChild(n),t.resolve()},n.onerror=function(e){t.reject(e)},r.appendChild(n),t.promise}(e).otherwise(n.reject)},(Yn._DefaultImplementations={}).createImage=Yn._Implementations.createImage,Yn._DefaultImplementations.loadWithXhr=Yn._Implementations.loadWithXhr,Yn._DefaultImplementations.loadAndExecuteScript=Yn._Implementations.loadAndExecuteScript,Yn.DEFAULT=Object.freeze(new Yn({url:"undefined"==typeof document?"":document.location.href.split("?")[0]})),Kn.NONE=Object.freeze({getPromiseToLoad:function(){return R.when.resolve()},compute:function(e,t){return R.defined(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new Rt(0,0,0,0,0),t}}),Kn.prototype.getPromiseToLoad=function(){return R.when(this._downloadPromise)},Kn.prototype.compute=function(e,t){if(R.defined(this._samples)){if(R.defined(t)||(t=new Rt(0,0,0,0,0)),0===this._samples.length)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;var n=this._dates,r=this._lastIndex,a=0,i=0;if(R.defined(r)){var s=n[r],o=n[r+1],u=Qt.lessThanOrEquals(s,e),l=!R.defined(o),s=l||Qt.greaterThanOrEquals(o,e);if(u&&s)return a=r,!l&&o.equals(e)&&++a,i=a+1,rr(this,n,this._samples,e,a,i,t),t}o=Mt(n,e,Qt.compare,this._dateColumn);return 0<=o?(o<n.length-1&&n[o+1].equals(e)&&++o,i=a=o):(a=(i=~o)-1)<0&&(a=0),this._lastIndex=a,rr(this,n,this._samples,e,a,i,t),t}if(R.defined(this._dataError))throw new L.RuntimeError(this._dataError)},ar.fromQuaternion=function(e,t){R.defined(t)||(t=new ar);var n=2*(e.w*e.y-e.z*e.x),r=1-2*(e.x*e.x+e.y*e.y),a=2*(e.w*e.x+e.y*e.z),i=1-2*(e.y*e.y+e.z*e.z),e=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(e,i),t.roll=Math.atan2(a,r),t.pitch=-V.CesiumMath.asinClamped(n),t},ar.fromDegrees=function(e,t,n,r){return R.defined(r)||(r=new ar),r.heading=e*V.CesiumMath.RADIANS_PER_DEGREE,r.pitch=t*V.CesiumMath.RADIANS_PER_DEGREE,r.roll=n*V.CesiumMath.RADIANS_PER_DEGREE,r},ar.clone=function(e,t){if(R.defined(e))return R.defined(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new ar(e.heading,e.pitch,e.roll)},ar.equals=function(e,t){return e===t||R.defined(e)&&R.defined(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll},ar.equalsEpsilon=function(e,t,n,r){return e===t||R.defined(e)&&R.defined(t)&&V.CesiumMath.equalsEpsilon(e.heading,t.heading,n,r)&&V.CesiumMath.equalsEpsilon(e.pitch,t.pitch,n,r)&&V.CesiumMath.equalsEpsilon(e.roll,t.roll,n,r)},ar.prototype.clone=function(e){return ar.clone(this,e)},ar.prototype.equals=function(e){return ar.equals(this,e)},ar.prototype.equalsEpsilon=function(e,t,n){return ar.equalsEpsilon(this,e,t,n)},ar.prototype.toString=function(){return"("+this.heading+", "+this.pitch+", "+this.roll+")"};var ir,sr,or,ur=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function lr(e){return"undefined"==typeof document?e:(R.defined(ir)||(ir=document.createElement("a")),ir.href=e,ir.href=ir.href,ir.href)}function cr(){if(R.defined(sr))return sr;var e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:"object"==typeof define&&R.defined(define.amd)&&!define.amd.toUrlUndefined&&R.defined(require.toUrl)?ln("..",hr("Core/buildModuleUrl.js")):function(){for(var e=document.getElementsByTagName("script"),t=0,n=e.length;t<n;++t){var r=e[t].getAttribute("src"),r=ur.exec(r);if(null!==r)return r[1]}}();return(sr=new Yn({url:lr(e)})).appendForwardSlash(),sr}function dr(e){return lr(require.toUrl("../"+e))}function fr(e){return cr().getDerivedResource({url:e}).url}function hr(e){return R.defined(or)||(or="object"==typeof define&&R.defined(define.amd)&&!define.amd.toUrlUndefined&&R.defined(require.toUrl)?dr:fr),or(e)}function pr(e,t,n){this.x=e,this.y=t,this.s=n}function mr(e){e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT),this._xysFileUrlTemplate=Yn.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=R.defaultValue(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=R.defaultValue(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new Qt(this._sampleZeroJulianEphemerisDate,0,Pt.TAI),this._stepSizeDays=R.defaultValue(e.stepSizeDays,1),this._samplesPerXysFile=R.defaultValue(e.samplesPerXysFile,1e3),this._totalSamples=R.defaultValue(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var t=this._interpolationOrder,n=this._denominators=new Array(t+1),r=this._xTable=new Array(t+1),a=Math.pow(this._stepSizeDays,t),i=0;i<=t;++i){n[i]=a,r[i]=i*this._stepSizeDays;for(var s=0;s<=t;++s)s!==i&&(n[i]*=i-s);n[i]=1/n[i]}this._work=new Array(t+1),this._coef=new Array(t+1)}hr._cesiumScriptRegex=ur,hr._buildModuleUrlFromBaseUrl=fr,hr._clearBaseResource=function(){sr=void 0},hr.setBaseUrl=function(e){sr=Yn.DEFAULT.getDerivedResource({url:e})},hr.getCesiumBaseUrl=cr;var yr=new Qt(0,0,Pt.TAI);function Cr(e,t,n){var r=yr;return r.dayNumber=t,r.secondsOfDay=n,Qt.daysDifference(r,e._sampleZeroDateTT)}function wr(s,o){if(s._chunkDownloadsInProgress[o])return s._chunkDownloadsInProgress[o];var u=R.when.defer();s._chunkDownloadsInProgress[o]=u;var e=s._xysFileUrlTemplate,e=R.defined(e)?e.getDerivedResource({templateValues:{0:o}}):new Yn({url:hr("Assets/IAU2006_XYS/IAU2006_XYS_"+o+".json")});return R.when(e.fetchJson(),function(e){s._chunkDownloadsInProgress[o]=!1;for(var t=s._samples,n=e.samples,r=o*s._samplesPerXysFile*3,a=0,i=n.length;a<i;++a)t[r+a]=n[a];u.resolve()}),u.promise}mr.prototype.preload=function(e,t,n,r){t=Cr(this,e,t),r=Cr(this,n,r),t=t/this._stepSizeDays-this._interpolationOrder/2|0;t<0&&(t=0);r=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;r>=this._totalSamples&&(r=this._totalSamples-1);for(var t=t/this._samplesPerXysFile|0,a=r/this._samplesPerXysFile|0,i=[],s=t;s<=a;++s)i.push(wr(this,s));return R.when.all(i)},mr.prototype.computeXysRadians=function(e,t,n){var r=Cr(this,e,t);if(!(r<0)){e=r/this._stepSizeDays|0;if(!(e>=this._totalSamples)){var a=this._interpolationOrder,i=e-(a/2|0);i<0&&(i=0);t=i+a;t>=this._totalSamples&&(i=(t=this._totalSamples-1)-a)<0&&(i=0);var e=!1,s=this._samples;if(R.defined(s[3*i])||(wr(this,i/this._samplesPerXysFile|0),e=!0),R.defined(s[3*t])||(wr(this,t/this._samplesPerXysFile|0),e=!0),!e){R.defined(n)?(n.x=0,n.y=0,n.s=0):n=new pr(0,0,0);for(var o,u=r-i*this._stepSizeDays,l=this._work,c=this._denominators,d=this._coef,f=this._xTable,h=0;h<=a;++h)l[h]=u-f[h];for(h=0;h<=a;++h){for(d[h]=1,o=0;o<=a;++o)o!==h&&(d[h]*=l[o]);d[h]*=c[h];var p=3*(i+h);n.x+=d[h]*s[p++],n.y+=d[h]*s[p++],n.s+=d[h]*s[p]}return n}}}};var vr={},gr={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},xr={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Er={},Or={east:new A.Cartesian3,north:new A.Cartesian3,up:new A.Cartesian3,west:new A.Cartesian3,south:new A.Cartesian3,down:new A.Cartesian3},_r=new A.Cartesian3,Sr=new A.Cartesian3,br=new A.Cartesian3;vr.localFrameToFixedFrameGenerator=function(a,i){if(!gr.hasOwnProperty(a)||!gr[a].hasOwnProperty(i))throw new o.DeveloperError("firstAxis and secondAxis must be east, north, up, west, south or down.");var e,s=gr[a][i],t=a+i;return R.defined(Er[t])?e=Er[t]:(e=function(e,t,n){var r;return R.defined(n)||(n=new j),A.Cartesian3.equalsEpsilon(e,A.Cartesian3.ZERO,V.CesiumMath.EPSILON14)?(A.Cartesian3.unpack(xr[a],0,_r),A.Cartesian3.unpack(xr[i],0,Sr),A.Cartesian3.unpack(xr[s],0,br)):V.CesiumMath.equalsEpsilon(e.x,0,V.CesiumMath.EPSILON14)&&V.CesiumMath.equalsEpsilon(e.y,0,V.CesiumMath.EPSILON14)?(r=V.CesiumMath.sign(e.z),A.Cartesian3.unpack(xr[a],0,_r),"east"!==a&&"west"!==a&&A.Cartesian3.multiplyByScalar(_r,r,_r),A.Cartesian3.unpack(xr[i],0,Sr),"east"!==i&&"west"!==i&&A.Cartesian3.multiplyByScalar(Sr,r,Sr),A.Cartesian3.unpack(xr[s],0,br),"east"!==s&&"west"!==s&&A.Cartesian3.multiplyByScalar(br,r,br)):((t=R.defaultValue(t,A.Ellipsoid.WGS84)).geodeticSurfaceNormal(e,Or.up),r=Or.up,(t=Or.east).x=-e.y,t.y=e.x,t.z=0,A.Cartesian3.normalize(t,Or.east),A.Cartesian3.cross(r,t,Or.north),A.Cartesian3.multiplyByScalar(Or.up,-1,Or.down),A.Cartesian3.multiplyByScalar(Or.east,-1,Or.west),A.Cartesian3.multiplyByScalar(Or.north,-1,Or.south),_r=Or[a],Sr=Or[i],br=Or[s]),n[0]=_r.x,n[1]=_r.y,n[2]=_r.z,n[3]=0,n[4]=Sr.x,n[5]=Sr.y,n[6]=Sr.z,n[7]=0,n[8]=br.x,n[9]=br.y,n[10]=br.z,n[11]=0,n[12]=e.x,n[13]=e.y,n[14]=e.z,n[15]=1,n},Er[t]=e),e},vr.eastNorthUpToFixedFrame=vr.localFrameToFixedFrameGenerator("east","north"),vr.northEastDownToFixedFrame=vr.localFrameToFixedFrameGenerator("north","east"),vr.northUpEastToFixedFrame=vr.localFrameToFixedFrameGenerator("north","up"),vr.northWestUpToFixedFrame=vr.localFrameToFixedFrameGenerator("north","west");var Mr=new Ke,Rr=new A.Cartesian3(1,1,1),Ar=new j;vr.headingPitchRollToFixedFrame=function(e,t,n,r,a){r=R.defaultValue(r,vr.eastNorthUpToFixedFrame);t=Ke.fromHeadingPitchRoll(t,Mr),t=j.fromTranslationQuaternionRotationScale(A.Cartesian3.ZERO,t,Rr,Ar);return a=r(e,n,a),j.multiply(a,t,a)};var Tr=new j,qr=new B;vr.headingPitchRollQuaternion=function(e,t,n,r,a){r=vr.headingPitchRollToFixedFrame(e,t,n,r,Tr),r=j.getMatrix3(r,qr);return Ke.fromRotationMatrix(r,a)};var zr=new A.Cartesian3(1,1,1),Ir=new A.Cartesian3,Pr=new j,Dr=new j,Nr=new B,Ur=new Ke;vr.fixedFrameToHeadingPitchRoll=function(e,t,n,r){t=R.defaultValue(t,A.Ellipsoid.WGS84),n=R.defaultValue(n,vr.eastNorthUpToFixedFrame),R.defined(r)||(r=new ar);var a=j.getTranslation(e,Ir);if(A.Cartesian3.equals(a,A.Cartesian3.ZERO))return r.heading=0,r.pitch=0,r.roll=0,r;t=j.inverseTransformation(n(a,t,Pr),Pr),e=j.setScale(e,zr,Dr),e=j.setTranslation(e,A.Cartesian3.ZERO,e),t=j.multiply(t,e,t),t=Ke.fromRotationMatrix(j.getMatrix3(t,Nr),Ur),t=Ke.normalize(t,t);return ar.fromQuaternion(t,r)};var Fr=V.CesiumMath.TWO_PI/86400,Vr=new Qt;vr.computeTemeToPseudoFixedMatrix=function(e,t){var n=(Vr=Qt.addSeconds(e,-Qt.computeTaiMinusUtc(e),Vr)).dayNumber,r=Vr.secondsOfDay,e=n-2451545,e=43200<=r?(.5+e)/It.DAYS_PER_JULIAN_CENTURY:(e-.5)/It.DAYS_PER_JULIAN_CENTURY,n=(24110.54841+e*(8640184.812866+e*(.093104+-62e-7*e)))*Fr%V.CesiumMath.TWO_PI+(72921158553e-15+11772758384668e-32*(n-2451545.5))*((r+.5*It.SECONDS_PER_DAY)%It.SECONDS_PER_DAY),r=Math.cos(n),n=Math.sin(n);return R.defined(t)?(t[0]=r,t[1]=-n,t[2]=0,t[3]=n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new B(r,n,0,-n,r,0,0,0,1)},vr.iau2006XysData=new mr,vr.earthOrientationParameters=Kn.NONE;var Lr=32.184;vr.preloadIcrfFixed=function(e){var t=e.start.dayNumber,n=e.start.secondsOfDay+Lr,r=e.stop.dayNumber,e=e.stop.secondsOfDay+Lr,r=vr.iau2006XysData.preload(t,n,r,e),e=vr.earthOrientationParameters.getPromiseToLoad();return R.when.all([r,e])},vr.computeIcrfToFixedMatrix=function(e,t){R.defined(t)||(t=new B);e=vr.computeFixedToIcrfMatrix(e,t);if(R.defined(e))return B.transpose(e,t)};var Br=new pr(0,0,0),Wr=new Rt(0,0,0,0,0),jr=new B,kr=new B;vr.computeFixedToIcrfMatrix=function(e,t){R.defined(t)||(t=new B);var n=vr.earthOrientationParameters.compute(e,Wr);if(R.defined(n)){var r=e.dayNumber,a=e.secondsOfDay+Lr,i=vr.iau2006XysData.computeXysRadians(r,a,Br);if(R.defined(i)){var s=i.x+n.xPoleOffset,o=i.y+n.yPoleOffset,u=1/(1+Math.sqrt(1-s*s-o*o)),l=jr;l[0]=1-u*s*s,l[3]=-u*s*o,l[6]=s,l[1]=-u*s*o,l[4]=1-u*o*o,l[7]=o,l[2]=-s,l[5]=-o,l[8]=1-u*(s*s+o*o);s=B.fromRotationZ(-i.s,kr),o=B.multiply(l,s,jr),i=e.dayNumber-2451545,l=(e.secondsOfDay-Qt.computeTaiMinusUtc(e)+n.ut1MinusUtc)/It.SECONDS_PER_DAY,s=(s=.779057273264+l+.00273781191135448*(i+l))%1*V.CesiumMath.TWO_PI,e=B.fromRotationZ(s,kr),i=B.multiply(o,e,jr),l=Math.cos(n.xPoleWander),s=Math.cos(n.yPoleWander),o=Math.sin(n.xPoleWander),e=Math.sin(n.yPoleWander),n=r-2451545+a/It.SECONDS_PER_DAY,r=-47e-6*(n/=36525)*V.CesiumMath.RADIANS_PER_DEGREE/3600,a=Math.cos(r),n=Math.sin(r),r=kr;return r[0]=l*a,r[1]=l*n,r[2]=o,r[3]=-s*n+e*o*a,r[4]=s*a+e*o*n,r[5]=-e*l,r[6]=-e*n-s*o*a,r[7]=e*a-s*o*n,r[8]=s*l,B.multiply(i,r,t)}}};var Yr=new W;vr.pointToWindowCoordinates=function(e,t,n,r){return(r=vr.pointToGLWindowCoordinates(e,t,n,r)).y=2*t[5]-r.y,r},vr.pointToGLWindowCoordinates=function(e,t,n,r){R.defined(r)||(r=new A.Cartesian2);var a=Yr;return j.multiplyByVector(e,W.fromElements(n.x,n.y,n.z,1,a),a),W.multiplyByScalar(a,1/a.w,a),j.multiplyByVector(t,a,a),A.Cartesian2.fromCartesian4(a,r)};var Zr=new A.Cartesian3,Xr=new A.Cartesian3,Hr=new A.Cartesian3;vr.rotationMatrixFromPositionVelocity=function(e,t,n,r){n=R.defaultValue(n,A.Ellipsoid.WGS84).geodeticSurfaceNormal(e,Zr),e=A.Cartesian3.cross(t,n,Xr);A.Cartesian3.equalsEpsilon(e,A.Cartesian3.ZERO,V.CesiumMath.EPSILON6)&&(e=A.Cartesian3.clone(A.Cartesian3.UNIT_X,e));n=A.Cartesian3.cross(e,t,Hr);return A.Cartesian3.normalize(n,n),A.Cartesian3.cross(t,n,e),A.Cartesian3.negate(e,e),A.Cartesian3.normalize(e,e),R.defined(r)||(r=new B),r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=e.x,r[4]=e.y,r[5]=e.z,r[6]=n.x,r[7]=n.y,r[8]=n.z,r};var Jr=new j(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),Gr=new A.Cartographic,Qr=new A.Cartesian3,Kr=new A.Cartesian3,$r=new B,ea=new j,ta=new j;vr.basisTo2D=function(e,t,n){var r=j.getTranslation(t,Kr),a=e.ellipsoid,i=a.cartesianToCartographic(r,Gr),i=e.project(i,Qr);A.Cartesian3.fromElements(i.z,i.x,i.y,i);a=vr.eastNorthUpToFixedFrame(r,a,ea),a=j.inverseTransformation(a,ta),t=j.getMatrix3(t,$r),t=j.multiplyByMatrix3(a,t,n);return j.multiply(Jr,t,n),j.setTranslation(n,i,n),n},vr.wgs84To2DModelMatrix=function(e,t,n){var r=e.ellipsoid,a=vr.eastNorthUpToFixedFrame(t,r,ea),a=j.inverseTransformation(a,ta),t=r.cartesianToCartographic(t,Gr),t=e.project(t,Qr);A.Cartesian3.fromElements(t.z,t.x,t.y,t);t=j.fromTranslation(t,ea);return j.multiply(Jr,a,n),j.multiply(t,n,n),n},e.BoundingSphere=T,e.Cartesian4=W,e.FeatureDetection=Qe,e.GeographicProjection=t,e.Intersect=a,e.Interval=i,e.Matrix3=B,e.Matrix4=j,e.Quaternion=Ke,e.Resource=Yn,e.Transforms=vr,e.buildModuleUrl=hr}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/VertexFormat-7572c785.js b/public/GV/thirdParty/CesiumManager/Workers/VertexFormat-7572c785.js new file mode 100644 index 000000000..df8937870 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/VertexFormat-7572c785.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc"],function(e,o,t){"use strict";function i(e){e=o.defaultValue(e,o.defaultValue.EMPTY_OBJECT),this.position=o.defaultValue(e.position,!1),this.normal=o.defaultValue(e.normal,!1),this.st=o.defaultValue(e.st,!1),this.bitangent=o.defaultValue(e.bitangent,!1),this.tangent=o.defaultValue(e.tangent,!1),this.color=o.defaultValue(e.color,!1)}i.POSITION_ONLY=Object.freeze(new i({position:!0})),i.POSITION_AND_NORMAL=Object.freeze(new i({position:!0,normal:!0})),i.POSITION_NORMAL_AND_ST=Object.freeze(new i({position:!0,normal:!0,st:!0})),i.POSITION_AND_ST=Object.freeze(new i({position:!0,st:!0})),i.POSITION_AND_COLOR=Object.freeze(new i({position:!0,color:!0})),i.ALL=Object.freeze(new i({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0})),i.DEFAULT=i.POSITION_NORMAL_AND_ST,i.packedLength=6,i.pack=function(e,t,n){return n=o.defaultValue(n,0),t[n++]=e.position?1:0,t[n++]=e.normal?1:0,t[n++]=e.st?1:0,t[n++]=e.tangent?1:0,t[n++]=e.bitangent?1:0,t[n]=e.color?1:0,t},i.unpack=function(e,t,n){return t=o.defaultValue(t,0),o.defined(n)||(n=new i),n.position=1===e[t++],n.normal=1===e[t++],n.st=1===e[t++],n.tangent=1===e[t++],n.bitangent=1===e[t++],n.color=1===e[t],n},i.clone=function(e,t){if(o.defined(e))return o.defined(t)||(t=new i),t.position=e.position,t.normal=e.normal,t.st=e.st,t.tangent=e.tangent,t.bitangent=e.bitangent,t.color=e.color,t},e.VertexFormat=i}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/WallGeometryLibrary-24ceb832.js b/public/GV/thirdParty/CesiumManager/Workers/WallGeometryLibrary-24ceb832.js new file mode 100644 index 000000000..e1a4fce93 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/WallGeometryLibrary-24ceb832.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Math-fc8cecf5","./Cartesian2-bddc1162","./arrayRemoveDuplicates-ebc732b0","./PolylinePipeline-fa11d71d"],function(e,P,A,C,w,m){"use strict";var i={};var b=new C.Cartographic,M=new C.Cartographic;function E(e,i,t,r){var a=(i=w.arrayRemoveDuplicates(i,C.Cartesian3.equalsEpsilon)).length;if(!(a<2)){var n=P.defined(r),o=P.defined(t),l=new Array(a),s=new Array(a),h=new Array(a),g=i[0];l[0]=g;var c=e.cartesianToCartographic(g,b);o&&(c.height=t[0]),s[0]=c.height,h[0]=n?r[0]:0;for(var p,u,d=s[0]===h[0],v=1,y=1;y<a;++y){var f=i[y],m=e.cartesianToCartographic(f,M);o&&(m.height=t[y]),d=d&&0===m.height,p=c,u=m,A.CesiumMath.equalsEpsilon(p.latitude,u.latitude,A.CesiumMath.EPSILON10)&&A.CesiumMath.equalsEpsilon(p.longitude,u.longitude,A.CesiumMath.EPSILON10)?c.height<m.height&&(s[v-1]=m.height):(l[v]=f,s[v]=m.height,h[v]=n?r[y]:0,d=d&&s[v]===h[v],C.Cartographic.clone(m,c),++v)}if(!(d||v<2))return l.length=v,s.length=v,h.length=v,{positions:l,topHeights:s,bottomHeights:h}}}var F=new Array(2),H=new Array(2),L={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};i.computePositions=function(e,i,t,r,a,n){var o=E(e,i,t,r);if(P.defined(o)){i=o.positions,t=o.topHeights,r=o.bottomHeights;var l,s,h=i.length,o=h-2,g=A.CesiumMath.chordLength(a,e.maximumRadius),c=L;if(c.minDistance=g,c.ellipsoid=e,n){for(var p=0,u=0;u<h-1;u++)p+=m.PolylinePipeline.numberOfPoints(i[u],i[u+1],g)+1;l=new Float64Array(3*p),s=new Float64Array(3*p);var d=F,v=H;c.positions=d,c.height=v;var y=0;for(u=0;u<h-1;u++){d[0]=i[u],d[1]=i[u+1],v[0]=t[u],v[1]=t[u+1];var f=m.PolylinePipeline.generateArc(c);l.set(f,y),v[0]=r[u],v[1]=r[u+1],s.set(m.PolylinePipeline.generateArc(c),y),y+=f.length}}else c.positions=i,c.height=t,l=new Float64Array(m.PolylinePipeline.generateArc(c)),c.height=r,s=new Float64Array(m.PolylinePipeline.generateArc(c));return{bottomPositions:s,topPositions:l,numCorners:o}}},e.WallGeometryLibrary=i}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/WebGLConstants-76bb35d1.js b/public/GV/thirdParty/CesiumManager/Workers/WebGLConstants-76bb35d1.js new file mode 100644 index 000000000..b1fb4269c --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/WebGLConstants-76bb35d1.js @@ -0,0 +1 @@ +define(["exports"],function(E){"use strict";var _=Object.freeze({DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047});E.WebGLConstants=_}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/WebMercatorProjection-df58d479.js b/public/GV/thirdParty/CesiumManager/Workers/WebMercatorProjection-df58d479.js new file mode 100644 index 000000000..4e9814f1e --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/WebMercatorProjection-df58d479.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162"],function(e,a,t,i,r){"use strict";function n(e){this._ellipsoid=a.defaultValue(e,r.Ellipsoid.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(n.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),n.mercatorAngleToGeodeticLatitude=function(e){return i.CesiumMath.PI_OVER_TWO-2*Math.atan(Math.exp(-e))},n.geodeticLatitudeToMercatorAngle=function(e){n.MaximumLatitude<e?e=n.MaximumLatitude:e<-n.MaximumLatitude&&(e=-n.MaximumLatitude);e=Math.sin(e);return.5*Math.log((1+e)/(1-e))},n.MaximumLatitude=n.mercatorAngleToGeodeticLatitude(Math.PI),n.prototype.project=function(e,t){var i=this._semimajorAxis,o=e.longitude*i,i=n.geodeticLatitudeToMercatorAngle(e.latitude)*i,e=e.height;return a.defined(t)?(t.x=o,t.y=i,t.z=e,t):new r.Cartesian3(o,i,e)},n.prototype.unproject=function(e,t){var i=this._oneOverSemimajorAxis,o=e.x*i,i=n.mercatorAngleToGeodeticLatitude(e.y*i),e=e.z;return a.defined(t)?(t.longitude=o,t.latitude=i,t.height=e,t):new r.Cartographic(o,i,e)},e.WebMercatorProjection=n}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/arrayRemoveDuplicates-ebc732b0.js b/public/GV/thirdParty/CesiumManager/Workers/arrayRemoveDuplicates-ebc732b0.js new file mode 100644 index 000000000..4ab62066c --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/arrayRemoveDuplicates-ebc732b0.js @@ -0,0 +1 @@ +define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5"],function(e,a,t,r){"use strict";var h=r.CesiumMath.EPSILON10;e.arrayRemoveDuplicates=function(e,t,r){if(a.defined(e)){r=a.defaultValue(r,!1);var c,n,f,i=e.length;if(i<2)return e;for(c=1;c<i&&!t(n=e[c-1],f=e[c],h);++c);if(c===i)return r&&t(e[0],e[e.length-1],h)?e.slice(1):e;for(var u=e.slice(0,c);c<i;++c)t(n,f=e[c],h)||(u.push(f),n=f);return r&&1<u.length&&t(u[0],u[u.length-1],h)&&u.shift(),u}}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/cesiumWorkerBootstrapper.js b/public/GV/thirdParty/CesiumManager/Workers/cesiumWorkerBootstrapper.js new file mode 100644 index 000000000..1b951091a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/cesiumWorkerBootstrapper.js @@ -0,0 +1 @@ +function setTimeout(e){e()}var requirejs,require,define;"undefined"==typeof self&&(self={}),self.onmessage=function(e){var t=e.data;require(t.loaderConfig,[t.workerModule],function(e){self.onmessage=e,CESIUM_BASE_URL=t.loaderConfig.baseUrl})},function(global){var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.20",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e)for(var i=0;i<e.length&&(!e[i]||!t(e[i],i,e));i+=1);}function eachReverse(e,t){if(e)for(var i=e.length-1;-1<i&&(!e[i]||!t(e[i],i,e));--i);}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){for(var i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(i,e,r,n){return e&&eachProp(e,function(e,t){!r&&hasProp(i,t)||(!n||"object"!=typeof e||!e||isArray(e)||isFunction(e)||e instanceof RegExp?i[t]=e:(i[t]||(i[t]={}),mixin(i[t],e,r,n)))}),i}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,i,r){t=new Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e);return t.requireType=e,t.requireModules=r,i&&(t.originalError=i),t}if(void 0===define){if(void 0!==requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}void 0===require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,i,r){var n,o=defContextName;return isArray(e)||"string"==typeof e||(n=e,isArray(t)?(e=t,t=i,i=r):e=[]),n&&n.context&&(o=n.context),r=(r=getOwn(contexts,o))||(contexts[o]=req.s.newContext(o)),n&&r.configure(n),r.require(e,t,i)},req.config=function(e){return req(e)},req.nextTick=void 0!==setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require=require||req,req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(t){req[t]=function(){var e=contexts[defContextName];return e.require[t].apply(e,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,i){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(t,i,r){var e,n=t&&t.config||{};if(isBrowser)return e=req.createNode(n,i,r),n.onNodeCreated&&n.onNodeCreated(e,n,i,r),e.setAttribute("data-requirecontext",t.contextName),e.setAttribute("data-requiremodule",i),!e.attachEvent||e.attachEvent.toString&&e.attachEvent.toString().indexOf("[native code")<0||isOpera?(e.addEventListener("load",t.onScriptLoad,!1),e.addEventListener("error",t.onScriptError,!1)):(useInteractive=!0,e.attachEvent("onreadystatechange",t.onScriptLoad)),e.src=r,currentlyAddingScript=e,baseElement?head.insertBefore(e,baseElement):head.appendChild(e),currentlyAddingScript=null,e;if(isWebWorker)try{importScripts(r),t.completeLoad(i)}catch(e){t.onError(makeError("importscripts","importScripts failed for "+i+" at "+r,e,[i]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head=head||e.parentNode,dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||(mainScript=(src=mainScript.split("/")).pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,i,t){var r,n;"string"!=typeof e&&(t=i,i=e,e=null),isArray(i)||(t=i,i=null),!i&&isFunction(t)&&(i=[],t.length&&(t.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(e,t){i.push(t)}),i=(1===t.length?["require"]:["require","exports","module"]).concat(i))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript())&&(e=e||r.getAttribute("data-requiremodule"),n=contexts[r.getAttribute("data-requirecontext")]),n?(n.defQueue.push([e,i,t]),n.defQueueMap[e]=!0):globalDefQueue.push([e,i,t])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}function newContext(u){var t,e,f,c,i,m={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},d={},p={},r={},l=[],h={},n={},g={},x=1,v=1;function b(e,t,i){var r,n,o,a,s,u,c,d,p,f=t&&t.split("/"),l=m.map,h=l&&l["*"];if(e&&(t=(e=e.split("/")).length-1,m.nodeIdCompat&&jsSuffixRegExp.test(e[t])&&(e[t]=e[t].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&f&&(e=f.slice(0,f.length-1).concat(e)),function(e){for(var t,i=0;i<e.length;i++)"."===(t=e[i])?(e.splice(i,1),--i):".."===t&&(0===i||1===i&&".."===e[2]||".."===e[i-1]||0<i&&(e.splice(i-1,2),i-=2))}(e),e=e.join("/")),i&&l&&(f||h)){e:for(o=(n=e.split("/")).length;0<o;--o){if(s=n.slice(0,o).join("/"),f)for(a=f.length;0<a;--a)if(r=getOwn(l,f.slice(0,a).join("/")),r=r&&getOwn(r,s)){u=r,c=o;break e}!d&&h&&getOwn(h,s)&&(d=getOwn(h,s),p=o)}!u&&d&&(u=d,c=p),u&&(n.splice(0,c,u),e=n.join("/"))}return getOwn(m.pkgs,e)||e}function q(t){isBrowser&&each(scripts(),function(e){if(e.getAttribute("data-requiremodule")===t&&e.getAttribute("data-requirecontext")===f.contextName)return e.parentNode.removeChild(e),!0})}function E(e){var t=getOwn(m.paths,e);return t&&isArray(t)&&1<t.length&&(t.shift(),f.require.undef(e),f.makeRequire(null,{skipMap:!0})([e]),1)}function w(e){var t,i=e?e.indexOf("!"):-1;return-1<i&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function y(e,t,i,r){var n,o,a,s=null,u=t?t.name:null,c=e,d=!0,p="";return e||(d=!1,e="_@r"+(x+=1)),s=(a=w(e))[0],e=a[1],s&&(s=b(s,u,r),o=getOwn(h,s)),e&&(s?p=o&&o.normalize?o.normalize(e,function(e){return b(e,u,r)}):-1===e.indexOf("!")?b(e,u,r):e:(s=(a=w(p=b(e,u,r)))[0],p=a[1],i=!0,n=f.nameToUrl(p))),{prefix:s,name:p,parentMap:t,unnormalized:!!(i=!s||o||i?"":"_unnormalized"+(v+=1)),url:n,originalName:c,isDefine:d,id:(s?s+"!"+p:p)+i}}function S(e){var t=e.id;return getOwn(d,t)||(d[t]=new f.Module(e))}function k(e,t,i){var r=e.id,n=getOwn(d,r);!hasProp(h,r)||n&&!n.defineEmitComplete?(n=S(e)).error&&"error"===t?i(n.error):n.on(t,i):"defined"===t&&i(h[r])}function M(t,e){var i=t.requireModules,r=!1;e?e(t):(each(i,function(e){e=getOwn(d,e);e&&(e.error=t,e.events.error&&(r=!0,e.emit("error",t)))}),r||req.onError(t))}function O(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(f.defQueueMap[t]=!0),l.push(e)}),globalDefQueue=[])}function j(e){delete d[e],delete p[e]}function P(){var r,e=1e3*m.waitSeconds,n=e&&f.startTime+e<(new Date).getTime(),o=[],a=[],s=!1,u=!0;if(!t){if(t=!0,eachProp(p,function(e){var t=e.map,i=t.id;if(e.enabled&&(t.isDefine||a.push(e),!e.error))if(!e.inited&&n)E(i)?s=r=!0:(o.push(i),q(i));else if(!e.inited&&e.fetched&&t.isDefine&&(s=!0,!t.prefix))return u=!1}),n&&o.length)return(e=makeError("timeout","Load timeout for modules: "+o,null,o)).contextName=f.contextName,M(e),0;u&&each(a,function(e){!function r(n,o,a){var e=n.map.id;n.error?n.emit("error",n.error):(o[e]=!0,each(n.depMaps,function(e,t){var i=e.id,e=getOwn(d,i);!e||n.depMatched[t]||a[i]||(getOwn(o,i)?(n.defineDep(t,h[i]),n.check()):r(e,o,a))}),a[e]=!0)}(e,{},{})}),n&&!r||!s||!isBrowser&&!isWebWorker||i||(i=setTimeout(function(){i=0,P()},50)),t=!1}}function a(e){hasProp(h,e[0])||S(y(e[0],null,!0)).init(e[1],e[2])}function o(e,t,i,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(i,t,!1)}function s(e){e=e.currentTarget||e.srcElement;return o(e,f.onScriptLoad,"load","onreadystatechange"),o(e,f.onScriptError,"error"),{node:e,id:e&&e.getAttribute("data-requiremodule")}}function R(){var e;for(O();l.length;){if(null===(e=l.shift())[0])return M(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1])),0;a(e)}f.defQueueMap={}}return c={require:function(e){return e.require||(e.require=f.makeRequire(e.map))},exports:function(e){if(e.usingExports=!0,e.map.isDefine)return e.exports?h[e.map.id]=e.exports:e.exports=h[e.map.id]={}},module:function(e){return e.module||(e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(m.config,e.map.id)||{}},exports:e.exports||(e.exports={})})}},(e=function(e){this.events=getOwn(r,e.id)||{},this.map=e,this.shim=getOwn(m.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0}).prototype={init:function(e,t,i,r){r=r||{},this.inited||(this.factory=t,i?this.on("error",i):this.events.error&&(i=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=i,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,--this.depCount,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,f.startTime=(new Date).getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();f.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;n[e]||(n[e]=!0,f.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var t,e,i=this.map.id,r=this.depExports,n=this.exports,o=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(o)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{n=f.execCb(i,o,r,n)}catch(e){t=e}else n=f.execCb(i,o,r,n);if(this.map.isDefine&&void 0===n&&((e=this.module)?n=e.exports:this.usingExports&&(n=this.exports)),t)return t.requireMap=this.map,t.requireModules=this.map.isDefine?[this.map.id]:null,t.requireType=this.map.isDefine?"define":"require",M(this.error=t)}else n=o;this.exports=n,this.map.isDefine&&!this.ignore&&(h[i]=n,req.onResourceLoad&&req.onResourceLoad(f,this.map,this.depMaps)),j(i),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(f.defQueueMap,i)||this.fetch()}},callPlugin:function(){var s=this.map,u=s.id,e=y(s.prefix);this.depMaps.push(e),k(e,"defined",bind(this,function(e){var o,t,i=getOwn(g,this.map.id),r=this.map.name,n=this.map.parentMap?this.map.parentMap.name:null,a=f.makeRequire(s.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(e.normalize&&(r=e.normalize(r,function(e){return b(e,n,!0)})||""),k(t=y(s.prefix+"!"+r,this.map.parentMap),"defined",bind(this,function(e){this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),void((r=getOwn(d,t.id))&&(this.depMaps.push(t),this.events.error&&r.on("error",bind(this,function(e){this.emit("error",e)})),r.enable()))):i?(this.map.url=f.nameToUrl(i),void this.load()):((o=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})})).error=bind(this,function(e){this.inited=!0,(this.error=e).requireModules=[u],eachProp(d,function(e){0===e.map.id.indexOf(u+"_unnormalized")&&j(e.map.id)}),M(e)}),o.fromText=bind(this,function(e,t){var i=s.name,r=y(i),n=useInteractive;t&&(e=t),n&&(useInteractive=!1),S(r),hasProp(m.config,u)&&(m.config[i]=m.config[u]);try{req.exec(e)}catch(e){return M(makeError("fromtexteval","fromText eval for "+u+" failed: "+e,e,[u]))}n&&(useInteractive=!0),this.depMaps.push(r),f.completeLoad(i),a([i],o)}),void e.load(s.name,a,o,m))})),f.enable(e,this),this.pluginMaps[e.id]=e},enable:function(){(p[this.map.id]=this).enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var i,r;if("string"==typeof e){if(e=y(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,r=getOwn(c,e.id))return void(this.depExports[t]=r(this));this.depCount+=1,k(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?k(e,"error",bind(this,this.errback)):this.events.error&&k(e,"error",bind(this,function(e){this.emit("error",e)}))}i=e.id,r=d[i],hasProp(c,i)||!r||r.enabled||f.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(d,e.id);t&&!t.enabled&&f.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){(this.events[e]||(this.events[e]=[])).push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},(f={config:m,contextName:u,registry:d,defined:h,urlFetched:n,defQueue:l,defQueueMap:{},Module:e,makeModuleMap:y,nextTick:req.nextTick,onError:M,configure:function(e){e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/");var i=m.shim,r={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){r[t]?(m[t]||(m[t]={}),mixin(m[t],e,!0,!0)):m[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(g[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=f.makeShimExports(e)),i[t]=e}),m.shim=i),e.packages&&each(e.packages,function(e){var t=(e="string"==typeof e?{name:e}:e).name;e.location&&(m.paths[t]=e.location),m.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(d,function(e,t){e.inited||e.map.unnormalized||(e.map=y(t,null,!0))}),(e.deps||e.callback)&&f.require(e.deps||[],e.callback)},makeShimExports:function(t){return function(){var e;return t.init&&(e=t.init.apply(global,arguments)),e||t.exports&&getGlobal(t.exports)}},makeRequire:function(o,a){function s(e,t,i){var r,n;return a.enableBuildCallback&&t&&isFunction(t)&&(t.__requireJsBuild=!0),"string"==typeof e?isFunction(t)?M(makeError("requireargs","Invalid require call"),i):o&&hasProp(c,e)?c[e](d[o.id]):req.get?req.get(f,e,o,s):(r=y(e,o,!1,!0).id,hasProp(h,r)?h[r]:M(makeError("notloaded",'Module name "'+r+'" has not been loaded yet for context: '+u+(o?"":". Use require([])")))):(R(),f.nextTick(function(){R(),(n=S(y(null,o))).skipMap=a.skipMap,n.init(e,t,i,{enabled:!0}),P()}),s)}return a=a||{},mixin(s,{isBrowser:isBrowser,toUrl:function(e){var t,i=e.lastIndexOf("."),r=e.split("/")[0];return-1!==i&&(!("."===r||".."===r)||1<i)&&(t=e.substring(i,e.length),e=e.substring(0,i)),f.nameToUrl(b(e,o&&o.id,!0),t,!0)},defined:function(e){return hasProp(h,y(e,o,!1,!0).id)},specified:function(e){return e=y(e,o,!1,!0).id,hasProp(h,e)||hasProp(d,e)}}),o||(s.undef=function(i){O();var e=y(i,o,!0),t=getOwn(d,i);t.undefed=!0,q(i),delete h[i],delete n[e.url],delete r[i],eachReverse(l,function(e,t){e[0]===i&&l.splice(t,1)}),delete f.defQueueMap[i],t&&(t.events.defined&&(r[i]=t.events),j(i))}),s},enable:function(e){getOwn(d,e.id)&&S(e).enable()},completeLoad:function(e){var t,i,r,n=getOwn(m.shim,e)||{},o=n.exports;for(O();l.length;){if(null===(i=l.shift())[0]){if(i[0]=e,t)break;t=!0}else i[0]===e&&(t=!0);a(i)}if(f.defQueueMap={},r=getOwn(d,e),!t&&!hasProp(h,e)&&r&&!r.inited){if(!(!m.enforceDefine||o&&getGlobal(o)))return E(e)?void 0:M(makeError("nodefine","No define call for "+e,null,[e]));a([e,n.deps||[],n.exportsFn])}P()},nameToUrl:function(e,t,i){var r,n,o,a,s,u=getOwn(m.pkgs,e);if(u&&(e=u),u=getOwn(g,e))return f.nameToUrl(u,t,i);if(req.jsExtRegExp.test(e))a=e+(t||"");else{for(r=m.paths,o=(n=e.split("/")).length;0<o;--o)if(s=getOwn(r,n.slice(0,o).join("/"))){isArray(s)&&(s=s[0]),n.splice(0,o,s);break}a=n.join("/"),a=("/"===(a+=t||(/^data\:|\?/.test(a)||i?"":".js")).charAt(0)||a.match(/^[\w\+\.\-]+:/)?"":m.baseUrl)+a}return m.urlArgs?a+((-1===a.indexOf("?")?"?":"&")+m.urlArgs):a},load:function(e,t){req.load(f,e,t)},execCb:function(e,t,i,r){return t.apply(r,i)},onScriptLoad:function(e){"load"!==e.type&&!readyRegExp.test((e.currentTarget||e.srcElement).readyState)||(interactiveScript=null,e=s(e),f.completeLoad(e.id))},onScriptError:function(e){var t=s(e);if(!E(t.id))return M(makeError("scripterror","Script error for: "+t.id,e,[t.id]))}}).require=f.makeRequire(),f}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState||eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript}}(this); \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Workers/combineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/combineGeometry.js new file mode 100644 index 000000000..096b05f76 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/combineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./PrimitivePipeline-1823f7f9","./WebMercatorProjection-df58d479","./createTaskProcessorWorker"],function(e,t,i,r,n,c,o,a,s,b,m,f,d,P,p,u,y,C,l){"use strict";return l(function(e,t){return e=y.PrimitivePipeline.unpackCombineGeometryParameters(e),e=y.PrimitivePipeline.combineGeometry(e),y.PrimitivePipeline.packCombineGeometryResults(e,t)})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createBoxGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createBoxGeometry.js new file mode 100644 index 000000000..10b7e407c --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createBoxGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./BoxGeometry-7dc94aad"],function(r,e,t,c,o,n,a,f,d,b,m,i,u){"use strict";return function(e,t){return r.defined(t)&&(e=u.BoxGeometry.unpack(e,t)),u.BoxGeometry.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createBoxOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createBoxOutlineGeometry.js new file mode 100644 index 000000000..86f038800 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createBoxOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./GeometryOffsetAttribute-7350d9af"],function(u,e,t,m,o,a,n,s,f,c,d){"use strict";var p=new m.Cartesian3;function r(e){var t=(e=u.defaultValue(e,u.defaultValue.EMPTY_OBJECT)).minimum,a=e.maximum;this._min=m.Cartesian3.clone(t),this._max=m.Cartesian3.clone(a),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}r.fromDimensions=function(e){var t=(e=u.defaultValue(e,u.defaultValue.EMPTY_OBJECT)).dimensions,t=m.Cartesian3.multiplyByScalar(t,.5,new m.Cartesian3);return new r({minimum:m.Cartesian3.negate(t,new m.Cartesian3),maximum:t,offsetAttribute:e.offsetAttribute})},r.fromAxisAlignedBoundingBox=function(e){return new r({minimum:e.minimum,maximum:e.maximum})},r.packedLength=2*m.Cartesian3.packedLength+1,r.pack=function(e,t,a){return a=u.defaultValue(a,0),m.Cartesian3.pack(e._min,t,a),m.Cartesian3.pack(e._max,t,a+m.Cartesian3.packedLength),t[a+2*m.Cartesian3.packedLength]=u.defaultValue(e._offsetAttribute,-1),t};var y=new m.Cartesian3,b=new m.Cartesian3,C={minimum:y,maximum:b,offsetAttribute:void 0};return r.unpack=function(e,t,a){t=u.defaultValue(t,0);var n=m.Cartesian3.unpack(e,t,y),i=m.Cartesian3.unpack(e,t+m.Cartesian3.packedLength,b),t=e[t+2*m.Cartesian3.packedLength];return u.defined(a)?(a._min=m.Cartesian3.clone(n,a._min),a._max=m.Cartesian3.clone(i,a._max),a._offsetAttribute=-1===t?void 0:t,a):(C.offsetAttribute=-1===t?void 0:t,new r(C))},r.createGeometry=function(e){var t=e._min,a=e._max;if(!m.Cartesian3.equals(t,a)){var n=new c.GeometryAttributes,i=new Uint16Array(24),r=new Float64Array(24);r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=a.x,r[4]=t.y,r[5]=t.z,r[6]=a.x,r[7]=a.y,r[8]=t.z,r[9]=t.x,r[10]=a.y,r[11]=t.z,r[12]=t.x,r[13]=t.y,r[14]=a.z,r[15]=a.x,r[16]=t.y,r[17]=a.z,r[18]=a.x,r[19]=a.y,r[20]=a.z,r[21]=t.x,r[22]=a.y,r[23]=a.z,n.position=new f.GeometryAttribute({componentDatatype:s.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:r}),i[0]=4,i[1]=5,i[2]=5,i[3]=6,i[4]=6,i[5]=7,i[6]=7,i[7]=4,i[8]=0,i[9]=1,i[10]=1,i[11]=2,i[12]=2,i[13]=3,i[14]=3,i[15]=0,i[16]=0,i[17]=4,i[18]=1,i[19]=5,i[20]=2,i[21]=6,i[22]=3,i[23]=7;a=m.Cartesian3.subtract(a,t,p),t=.5*m.Cartesian3.magnitude(a);return u.defined(e._offsetAttribute)&&(a=r.length,r=new Uint8Array(a/3),a=e._offsetAttribute===d.GeometryOffsetAttribute.NONE?0:1,d.arrayFill(r,a),n.applyOffset=new f.GeometryAttribute({componentDatatype:s.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:r})),new f.Geometry({attributes:n,indices:i,primitiveType:f.PrimitiveType.LINES,boundingSphere:new o.BoundingSphere(m.Cartesian3.ZERO,t),offsetAttribute:e._offsetAttribute})}},function(e,t){return u.defined(t)&&(e=r.unpack(e,t)),r.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createCircleGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createCircleGeometry.js new file mode 100644 index 000000000..720c61373 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createCircleGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./EllipseGeometryLibrary-55d6b793","./GeometryInstance-161eaba2","./EllipseGeometry-1afae560"],function(r,e,t,o,i,a,n,s,l,d,m,c,u,p,y,_,h,G,x,f,g){"use strict";function b(e){var t=(e=r.defaultValue(e,r.defaultValue.EMPTY_OBJECT)).radius,e={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new g.EllipseGeometry(e),this._workerName="createCircleGeometry"}b.packedLength=g.EllipseGeometry.packedLength,b.pack=function(e,t,i){return g.EllipseGeometry.pack(e._ellipseGeometry,t,i)};var E=new g.EllipseGeometry({center:new o.Cartesian3,semiMajorAxis:1,semiMinorAxis:1}),v={center:new o.Cartesian3,radius:void 0,ellipsoid:o.Ellipsoid.clone(o.Ellipsoid.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new G.VertexFormat,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};return b.unpack=function(e,t,i){t=g.EllipseGeometry.unpack(e,t,E);return v.center=o.Cartesian3.clone(t._center,v.center),v.ellipsoid=o.Ellipsoid.clone(t._ellipsoid,v.ellipsoid),v.height=t._height,v.extrudedHeight=t._extrudedHeight,v.granularity=t._granularity,v.vertexFormat=G.VertexFormat.clone(t._vertexFormat,v.vertexFormat),v.stRotation=t._stRotation,v.shadowVolume=t._shadowVolume,r.defined(i)?(v.semiMajorAxis=t._semiMajorAxis,v.semiMinorAxis=t._semiMinorAxis,i._ellipseGeometry=new g.EllipseGeometry(v),i):(v.radius=t._semiMajorAxis,new b(v))},b.createGeometry=function(e){return g.EllipseGeometry.createGeometry(e._ellipseGeometry)},b.createShadowVolume=function(e,t,i){var r=e._ellipseGeometry._granularity,o=e._ellipseGeometry._ellipsoid,t=t(r,o),i=i(r,o);return new b({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:o,stRotation:e._ellipseGeometry._stRotation,granularity:r,extrudedHeight:t,height:i,vertexFormat:G.VertexFormat.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(b.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}}),function(e,t){return r.defined(t)&&(e=b.unpack(e,t)),e._ellipseGeometry._center=o.Cartesian3.clone(e._ellipseGeometry._center),e._ellipseGeometry._ellipsoid=o.Ellipsoid.clone(e._ellipseGeometry._ellipsoid),b.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createCircleOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createCircleOutlineGeometry.js new file mode 100644 index 000000000..31f523bcb --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createCircleOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./EllipseGeometryLibrary-55d6b793","./EllipseOutlineGeometry-19397c29"],function(r,e,i,l,t,n,s,o,a,c,d,u,m,p){"use strict";function y(e){var i=(e=r.defaultValue(e,r.defaultValue.EMPTY_OBJECT)).radius,e={center:e.center,semiMajorAxis:i,semiMinorAxis:i,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new p.EllipseOutlineGeometry(e),this._workerName="createCircleOutlineGeometry"}y.packedLength=p.EllipseOutlineGeometry.packedLength,y.pack=function(e,i,t){return p.EllipseOutlineGeometry.pack(e._ellipseGeometry,i,t)};var f=new p.EllipseOutlineGeometry({center:new l.Cartesian3,semiMajorAxis:1,semiMinorAxis:1}),G={center:new l.Cartesian3,radius:void 0,ellipsoid:l.Ellipsoid.clone(l.Ellipsoid.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};return y.unpack=function(e,i,t){i=p.EllipseOutlineGeometry.unpack(e,i,f);return G.center=l.Cartesian3.clone(i._center,G.center),G.ellipsoid=l.Ellipsoid.clone(i._ellipsoid,G.ellipsoid),G.height=i._height,G.extrudedHeight=i._extrudedHeight,G.granularity=i._granularity,G.numberOfVerticalLines=i._numberOfVerticalLines,r.defined(t)?(G.semiMajorAxis=i._semiMajorAxis,G.semiMinorAxis=i._semiMinorAxis,t._ellipseGeometry=new p.EllipseOutlineGeometry(G),t):(G.radius=i._semiMajorAxis,new y(G))},y.createGeometry=function(e){return p.EllipseOutlineGeometry.createGeometry(e._ellipseGeometry)},function(e,i){return r.defined(i)&&(e=y.unpack(e,i)),e._ellipseGeometry._center=l.Cartesian3.clone(e._ellipseGeometry._center),e._ellipseGeometry._ellipsoid=l.Ellipsoid.clone(e._ellipseGeometry._ellipsoid),y.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createCoplanarPolygonGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createCoplanarPolygonGeometry.js new file mode 100644 index 000000000..c05c38905 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createCoplanarPolygonGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./VertexFormat-7572c785","./GeometryInstance-161eaba2","./arrayRemoveDuplicates-ebc732b0","./BoundingRectangle-57c5d513","./EllipsoidTangentPlane-64140317","./OrientedBoundingBox-11af7c9d","./CoplanarPolygonGeometryLibrary-2d2c2665","./ArcType-dc1c5aee","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./PolygonGeometryLibrary-eba8dd45"],function(l,e,L,E,T,t,n,D,_,k,a,h,r,V,o,i,s,f,C,c,p,y,v,m,u,R,x){"use strict";var I=new E.Cartesian3,P=new c.BoundingRectangle,M=new E.Cartesian2,H=new E.Cartesian2,w=new E.Cartesian3,A=new E.Cartesian3,F=new E.Cartesian3,G=new E.Cartesian3,B=new E.Cartesian3,O=new E.Cartesian3,z=new T.Quaternion,S=new T.Matrix3,N=new T.Matrix3,Q=new E.Cartesian3;function d(e){var t=(e=l.defaultValue(e,l.defaultValue.EMPTY_OBJECT)).polygonHierarchy,n=l.defaultValue(e.vertexFormat,s.VertexFormat.DEFAULT);this._vertexFormat=s.VertexFormat.clone(n),this._polygonHierarchy=t,this._stRotation=l.defaultValue(e.stRotation,0),this._ellipsoid=E.Ellipsoid.clone(l.defaultValue(e.ellipsoid,E.Ellipsoid.WGS84)),this._workerName="createCoplanarPolygonGeometry",this.packedLength=x.PolygonGeometryLibrary.computeHierarchyPackedLength(t)+s.VertexFormat.packedLength+E.Ellipsoid.packedLength+2}d.fromPositions=function(e){return new d({polygonHierarchy:{positions:(e=l.defaultValue(e,l.defaultValue.EMPTY_OBJECT)).positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid})},d.pack=function(e,t,n){return n=l.defaultValue(n,0),n=x.PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,n),E.Ellipsoid.pack(e._ellipsoid,t,n),n+=E.Ellipsoid.packedLength,s.VertexFormat.pack(e._vertexFormat,t,n),n+=s.VertexFormat.packedLength,t[n++]=e._stRotation,t[n]=e.packedLength,t};var g=E.Ellipsoid.clone(E.Ellipsoid.UNIT_SPHERE),b=new s.VertexFormat,j={polygonHierarchy:{}};return d.unpack=function(e,t,n){t=l.defaultValue(t,0);var a=x.PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=a.startingIndex,delete a.startingIndex;var r=E.Ellipsoid.unpack(e,t,g);t+=E.Ellipsoid.packedLength;var o=s.VertexFormat.unpack(e,t,b);t+=s.VertexFormat.packedLength;var i=e[t++],t=e[t];return l.defined(n)||(n=new d(j)),n._polygonHierarchy=a,n._ellipsoid=E.Ellipsoid.clone(r,n._ellipsoid),n._vertexFormat=s.VertexFormat.clone(o,n._vertexFormat),n._stRotation=i,n.packedLength=t,n},d.createGeometry=function(e){var t=e._vertexFormat,n=e._polygonHierarchy,a=e._stRotation,r=n.positions;if(!((r=C.arrayRemoveDuplicates(r,E.Cartesian3.equalsEpsilon,!0)).length<3)){var o=w,i=A,l=F,s=B,c=O;if(v.CoplanarPolygonGeometryLibrary.computeProjectTo2DArguments(r,G,s,c)){o=E.Cartesian3.cross(s,c,o);o=E.Cartesian3.normalize(o,o),E.Cartesian3.equalsEpsilon(G,E.Cartesian3.ZERO,L.CesiumMath.EPSILON6)||(p=e._ellipsoid.geodeticSurfaceNormal(G,Q),E.Cartesian3.dot(o,p)<0&&(o=E.Cartesian3.negate(o,o),s=E.Cartesian3.negate(s,s)));var p=v.CoplanarPolygonGeometryLibrary.createProjectPointsTo2DFunction(G,s,c),y=v.CoplanarPolygonGeometryLibrary.createProjectPointTo2DFunction(G,s,c);t.tangent&&(i=E.Cartesian3.clone(s,i)),t.bitangent&&(l=E.Cartesian3.clone(c,l));var n=x.PolygonGeometryLibrary.polygonsFromHierarchy(n,p,!1),p=n.hierarchy,m=n.polygons;if(0!==p.length){r=p[0].outerRing;for(var n=T.BoundingSphere.fromPoints(r),u=x.PolygonGeometryLibrary.computeBoundingRectangle(o,y,r,a,P),d=[],g=0;g<m.length;g++){var b=new f.GeometryInstance({geometry:function(e,t,n,a,r,o,i,l){var s=e.positions,c=R.PolygonPipeline.triangulate(e.positions2D,e.holes);c.length<3&&(c=[0,1,2]),(e=V.IndexDatatype.createTypedArray(s.length,c.length)).set(c);var p=S;0!==a?(c=T.Quaternion.fromAxisAngle(o,a,z),p=T.Matrix3.fromQuaternion(c,p),(t.tangent||t.bitangent)&&(c=T.Quaternion.fromAxisAngle(o,-a,z),u=T.Matrix3.fromQuaternion(c,N),i=E.Cartesian3.normalize(T.Matrix3.multiplyByVector(u,i,i),i),t.bitangent&&(l=E.Cartesian3.normalize(E.Cartesian3.cross(o,i,l),l)))):p=T.Matrix3.clone(T.Matrix3.IDENTITY,p);var y=H;t.st&&(y.x=n.x,y.y=n.y);for(var m=s.length,u=3*m,d=new Float64Array(u),g=t.normal?new Float32Array(u):void 0,b=t.tangent?new Float32Array(u):void 0,h=t.bitangent?new Float32Array(u):void 0,f=t.st?new Float32Array(2*m):void 0,C=0,v=0,x=0,P=0,w=0,A=0;A<m;A++){var F,G=s[A];d[C++]=G.x,d[C++]=G.y,d[C++]=G.z,t.st&&(F=r(T.Matrix3.multiplyByVector(p,G,I),M),E.Cartesian2.subtract(F,y,F),G=L.CesiumMath.clamp(F.x/n.width,0,1),F=L.CesiumMath.clamp(F.y/n.height,0,1),f[w++]=G,f[w++]=F),t.normal&&(g[v++]=o.x,g[v++]=o.y,g[v++]=o.z),t.tangent&&(b[P++]=i.x,b[P++]=i.y,b[P++]=i.z),t.bitangent&&(h[x++]=l.x,h[x++]=l.y,h[x++]=l.z)}return u=new k.GeometryAttributes,t.position&&(u.position=new _.GeometryAttribute({componentDatatype:D.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:d})),t.normal&&(u.normal=new _.GeometryAttribute({componentDatatype:D.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:g})),t.tangent&&(u.tangent=new _.GeometryAttribute({componentDatatype:D.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:b})),t.bitangent&&(u.bitangent=new _.GeometryAttribute({componentDatatype:D.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:h})),t.st&&(u.st=new _.GeometryAttribute({componentDatatype:D.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:f})),new _.Geometry({attributes:u,indices:e,primitiveType:_.PrimitiveType.TRIANGLES})}(m[g],t,u,a,y,o,i,l)});d.push(b)}p=h.GeometryPipeline.combineInstances(d)[0];p.attributes.position.values=new Float64Array(p.attributes.position.values),p.indices=V.IndexDatatype.createTypedArray(p.attributes.position.values.length/3,p.indices);r=p.attributes;return t.position||delete r.position,new _.Geometry({attributes:r,indices:p.indices,primitiveType:p.primitiveType,boundingSphere:n})}}}},function(e,t){return l.defined(t)&&(e=d.unpack(e,t)),d.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createCoplanarPolygonOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createCoplanarPolygonOutlineGeometry.js new file mode 100644 index 000000000..b94246302 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createCoplanarPolygonOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./GeometryInstance-161eaba2","./arrayRemoveDuplicates-ebc732b0","./EllipsoidTangentPlane-64140317","./OrientedBoundingBox-11af7c9d","./CoplanarPolygonGeometryLibrary-2d2c2665","./ArcType-dc1c5aee","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./PolygonGeometryLibrary-eba8dd45"],function(o,e,t,i,y,r,n,l,p,s,a,c,u,d,m,b,f,g,h,P,G,v,L,C,T){"use strict";function E(e){e=(e=o.defaultValue(e,o.defaultValue.EMPTY_OBJECT)).polygonHierarchy;this._polygonHierarchy=e,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=T.PolygonGeometryLibrary.computeHierarchyPackedLength(e)+1}E.fromPositions=function(e){return new E({polygonHierarchy:{positions:(e=o.defaultValue(e,o.defaultValue.EMPTY_OBJECT)).positions}})},E.pack=function(e,t,r){return r=o.defaultValue(r,0),t[r=T.PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,r)]=e.packedLength,t};var k={polygonHierarchy:{}};return E.unpack=function(e,t,r){t=o.defaultValue(t,0);var n=T.PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=n.startingIndex,delete n.startingIndex;t=e[t];return o.defined(r)||(r=new E(k)),r._polygonHierarchy=n,r.packedLength=t,r},E.createGeometry=function(e){var t=e._polygonHierarchy,e=t.positions,e=g.arrayRemoveDuplicates(e,i.Cartesian3.equalsEpsilon,!0);if(!(e.length<3)&&G.CoplanarPolygonGeometryLibrary.validOutline(e)){var r=T.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(t,!1);if(0!==r.length){for(var n=[],o=0;o<r.length;o++){var a=new f.GeometryInstance({geometry:function(e){for(var t=e.length,r=new Float64Array(3*t),n=d.IndexDatatype.createTypedArray(t,2*t),o=0,a=0,i=0;i<t;i++){var y=e[i];r[o++]=y.x,r[o++]=y.y,r[o++]=y.z,n[a++]=i,n[a++]=(i+1)%t}var c=new s.GeometryAttributes({position:new p.GeometryAttribute({componentDatatype:l.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:r})});return new p.Geometry({attributes:c,indices:n,primitiveType:p.PrimitiveType.LINES})}(r[o])});n.push(a)}e=c.GeometryPipeline.combineInstances(n)[0],t=y.BoundingSphere.fromPoints(t.positions);return new p.Geometry({attributes:e.attributes,indices:e.indices,primitiveType:e.primitiveType,boundingSphere:t})}}},function(e,t){return o.defined(t)&&(e=E.unpack(e,t)),e._ellipsoid=i.Ellipsoid.clone(e._ellipsoid),E.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createCorridorGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createCorridorGeometry.js new file mode 100644 index 000000000..7bdfcbe68 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createCorridorGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./arrayRemoveDuplicates-ebc732b0","./EllipsoidTangentPlane-64140317","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./PolylineVolumeGeometryLibrary-abc37e8c","./EllipsoidGeodesic-30fae80b","./PolylinePipeline-fa11d71d","./CorridorGeometryLibrary-7feb157b"],function(rt,t,at,it,m,e,r,ot,nt,st,lt,a,i,E,V,y,o,n,F,f,s,l,dt){"use strict";var ut=new it.Cartesian3,mt=new it.Cartesian3,yt=new it.Cartesian3,ft=new it.Cartesian3,L=new it.Cartesian3,ct=new it.Cartesian3,pt=new it.Cartesian3,ht=new it.Cartesian3;function c(t,e){for(var r=0;r<t.length;r++)t[r]=e.scaleToGeodeticSurface(t[r],t[r]);return t}function gt(t,e,r,a,i,o){var n=t.normals,s=t.tangents,l=t.bitangents,t=it.Cartesian3.normalize(it.Cartesian3.cross(r,e,pt),pt);o.normal&&dt.CorridorGeometryLibrary.addAttribute(n,e,a,i),o.tangent&&dt.CorridorGeometryLibrary.addAttribute(s,t,a,i),o.bitangent&&dt.CorridorGeometryLibrary.addAttribute(l,r,a,i)}function P(t,e,r){var a,i=t.positions,o=t.corners,n=t.endPositions,s=t.lefts,l=t.normals,d=new st.GeometryAttributes,u=0,m=0,y=0;for(N=0;N<i.length;N+=2)u+=a=i[N].length-3,y+=2*a,m+=i[N+1].length-3;for(u+=3,m+=3,N=0;N<o.length;N++){H=o[N];var f=o[N].leftPositions;rt.defined(f)?u+=a=f.length:m+=a=o[N].rightPositions.length,y+=a}var c,p=rt.defined(n);p&&(u+=c=n[0].length-3,m+=c,y+=6*(c/=3));var h,g,b,C,v,A,t=u+m,_=new Float64Array(t),w={normals:e.normal?new Float32Array(t):void 0,tangents:e.tangent?new Float32Array(t):void 0,bitangents:e.bitangent?new Float32Array(t):void 0},T=0,G=t-1,E=ut,V=mt,F=c/2,L=lt.IndexDatatype.createTypedArray(t/3,y),P=0;if(p){A=yt,v=ft;for(var x=n[0],E=it.Cartesian3.fromArray(l,0,E),V=it.Cartesian3.fromArray(s,0,V),N=0;N<F;N++)A=it.Cartesian3.fromArray(x,3*(F-1-N),A),v=it.Cartesian3.fromArray(x,3*(F+N),v),dt.CorridorGeometryLibrary.addAttribute(_,v,T),dt.CorridorGeometryLibrary.addAttribute(_,A,void 0,G),gt(w,E,V,T,G,e),C=(g=T/3)+1,b=(h=(G-2)/3)-1,L[P++]=h,L[P++]=g,L[P++]=b,L[P++]=b,L[P++]=g,L[P++]=C,T+=3,G-=3}var D,M,O=0,I=0,S=i[O++],R=i[O++];for(_.set(S,T),_.set(R,G-R.length+1),V=it.Cartesian3.fromArray(s,I,V),a=R.length-3,N=0;N<a;N+=3)D=r.geodeticSurfaceNormal(it.Cartesian3.fromArray(S,N,pt),pt),M=r.geodeticSurfaceNormal(it.Cartesian3.fromArray(R,a-N,ht),ht),gt(w,E=it.Cartesian3.normalize(it.Cartesian3.add(D,M,E),E),V,T,G,e),C=(g=T/3)+1,b=(h=(G-2)/3)-1,L[P++]=h,L[P++]=g,L[P++]=b,L[P++]=b,L[P++]=g,L[P++]=C,T+=3,G-=3;for(D=r.geodeticSurfaceNormal(it.Cartesian3.fromArray(S,a,pt),pt),M=r.geodeticSurfaceNormal(it.Cartesian3.fromArray(R,a,ht),ht),E=it.Cartesian3.normalize(it.Cartesian3.add(D,M,E),E),I+=3,N=0;N<o.length;N++){var k,H,z,U,B=(H=o[N]).leftPositions,Y=H.rightPositions,W=ct,q=yt,J=ft;if(E=it.Cartesian3.fromArray(l,I,E),rt.defined(B)){for(gt(w,E,V,void 0,G,e),G-=3,z=C,U=b,k=0;k<B.length/3;k++)W=it.Cartesian3.fromArray(B,3*k,W),L[P++]=z,L[P++]=U-k-1,L[P++]=U-k,dt.CorridorGeometryLibrary.addAttribute(_,W,void 0,G),q=it.Cartesian3.fromArray(_,3*(U-k-1),q),J=it.Cartesian3.fromArray(_,3*z,J),gt(w,E,V=it.Cartesian3.normalize(it.Cartesian3.subtract(q,J,V),V),void 0,G,e),G-=3;W=it.Cartesian3.fromArray(_,3*z,W),q=it.Cartesian3.subtract(it.Cartesian3.fromArray(_,3*U,q),W,q),J=it.Cartesian3.subtract(it.Cartesian3.fromArray(_,3*(U-k),J),W,J),gt(w,E,V=it.Cartesian3.normalize(it.Cartesian3.add(q,J,V),V),T,void 0,e),T+=3}else{for(gt(w,E,V,T,void 0,e),T+=3,z=b,U=C,k=0;k<Y.length/3;k++)W=it.Cartesian3.fromArray(Y,3*k,W),L[P++]=z,L[P++]=U+k,L[P++]=U+k+1,dt.CorridorGeometryLibrary.addAttribute(_,W,T),q=it.Cartesian3.fromArray(_,3*z,q),J=it.Cartesian3.fromArray(_,3*(U+k),J),gt(w,E,V=it.Cartesian3.normalize(it.Cartesian3.subtract(q,J,V),V),T,void 0,e),T+=3;W=it.Cartesian3.fromArray(_,3*z,W),q=it.Cartesian3.subtract(it.Cartesian3.fromArray(_,3*(U+k),q),W,q),J=it.Cartesian3.subtract(it.Cartesian3.fromArray(_,3*U,J),W,J),gt(w,E,V=it.Cartesian3.normalize(it.Cartesian3.negate(it.Cartesian3.add(J,q,V),V),V),void 0,G,e),G-=3}for(S=i[O++],R=i[O++],S.splice(0,3),R.splice(R.length-3,3),_.set(S,T),_.set(R,G-R.length+1),a=R.length-3,I+=3,V=it.Cartesian3.fromArray(s,I,V),k=0;k<R.length;k+=3)D=r.geodeticSurfaceNormal(it.Cartesian3.fromArray(S,k,pt),pt),M=r.geodeticSurfaceNormal(it.Cartesian3.fromArray(R,a-k,ht),ht),gt(w,E=it.Cartesian3.normalize(it.Cartesian3.add(D,M,E),E),V,T,G,e),g=(C=T/3)-1,h=(b=(G-2)/3)+1,L[P++]=h,L[P++]=g,L[P++]=b,L[P++]=b,L[P++]=g,L[P++]=C,T+=3,G-=3;T-=3,G+=3}if(gt(w,E=it.Cartesian3.fromArray(l,l.length-3,E),V,T,G,e),p){T+=3,G-=3,A=yt,v=ft;var j=n[1];for(N=0;N<F;N++)A=it.Cartesian3.fromArray(j,3*(c-N-1),A),v=it.Cartesian3.fromArray(j,3*N,v),dt.CorridorGeometryLibrary.addAttribute(_,A,void 0,G),dt.CorridorGeometryLibrary.addAttribute(_,v,T),gt(w,E,V,T,G,e),g=(C=T/3)-1,h=(b=(G-2)/3)+1,L[P++]=h,L[P++]=g,L[P++]=b,L[P++]=b,L[P++]=g,L[P++]=C,T+=3,G-=3}if(d.position=new nt.GeometryAttribute({componentDatatype:ot.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:_}),e.st){var K=new Float32Array(t/3*2),Q=0;if(p){u/=3,m/=3;var X,Z=Math.PI/(c+1),$=1/(u-c+1),tt=1/(m-c+1),et=c/2;for(N=1+et;N<c+1;N++)X=at.CesiumMath.PI_OVER_TWO+Z*N,K[Q++]=tt*(1+Math.cos(X)),K[Q++]=.5*(1+Math.sin(X));for(N=1;N<m-c+1;N++)K[Q++]=N*tt,K[Q++]=0;for(N=c;et<N;N--)X=at.CesiumMath.PI_OVER_TWO-N*Z,K[Q++]=1-tt*(1+Math.cos(X)),K[Q++]=.5*(1+Math.sin(X));for(N=et;0<N;N--)X=at.CesiumMath.PI_OVER_TWO-Z*N,K[Q++]=1-$*(1+Math.cos(X)),K[Q++]=.5*(1+Math.sin(X));for(N=u-c;0<N;N--)K[Q++]=N*$,K[Q++]=1;for(N=1;N<1+et;N++)X=at.CesiumMath.PI_OVER_TWO+Z*N,K[Q++]=$*(1+Math.cos(X)),K[Q++]=.5*(1+Math.sin(X))}else{for($=1/((u/=3)-1),tt=1/((m/=3)-1),N=0;N<m;N++)K[Q++]=N*tt,K[Q++]=0;for(N=u;0<N;N--)K[Q++]=(N-1)*$,K[Q++]=1}d.st=new nt.GeometryAttribute({componentDatatype:ot.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:K})}return e.normal&&(d.normal=new nt.GeometryAttribute({componentDatatype:ot.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:w.normals})),e.tangent&&(d.tangent=new nt.GeometryAttribute({componentDatatype:ot.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:w.tangents})),e.bitangent&&(d.bitangent=new nt.GeometryAttribute({componentDatatype:ot.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:w.bitangents})),{attributes:d,indices:L}}function x(t,e,r){r[e++]=t[0],r[e++]=t[1],r[e++]=t[2];for(var a=3;a<t.length;a+=3){var i=t[a],o=t[a+1],n=t[a+2];r[e++]=i,r[e++]=o,r[e++]=n,r[e++]=i,r[e++]=o,r[e++]=n}return r[e++]=t[0],r[e++]=t[1],r[e++]=t[2],r}function p(t,e){var r=new V.VertexFormat({position:e.position,normal:e.normal||e.bitangent||t.shadowVolume,tangent:e.tangent,bitangent:e.normal||e.bitangent,st:e.st}),a=t.ellipsoid,i=P(dt.CorridorGeometryLibrary.computePositions(t),r,a),o=t.height,n=t.extrudedHeight,s=i.attributes,l=i.indices,d=s.position.values,u=d.length,m=new Float64Array(6*u),r=new Float64Array(u);r.set(d);i=new Float64Array(4*u),i=x(d=F.PolygonPipeline.scaleToGeodeticHeight(d,o,a),0,i);i=x(r=F.PolygonPipeline.scaleToGeodeticHeight(r,n,a),2*u,i),m.set(d),m.set(r,u),m.set(i,2*u),s.position.values=m,s=function(t,e){if(!(e.normal||e.tangent||e.bitangent||e.st))return t;var r,a=t.position.values;(e.normal||e.bitangent)&&(r=t.normal.values,l=t.bitangent.values);var i=t.position.values.length/18,o=3*i,n=2*i,s=2*o;if(e.normal||e.bitangent||e.tangent){for(var l,d=e.normal?new Float32Array(6*o):void 0,u=e.tangent?new Float32Array(6*o):void 0,m=e.bitangent?new Float32Array(6*o):void 0,y=ut,f=mt,c=yt,p=ft,h=L,g=ct,b=s,C=0;C<o;C+=3){var v=b+s,y=it.Cartesian3.fromArray(a,C,y),f=it.Cartesian3.fromArray(a,C+o,f),c=it.Cartesian3.fromArray(a,(C+3)%o,c);f=it.Cartesian3.subtract(f,y,f),c=it.Cartesian3.subtract(c,y,c),p=it.Cartesian3.normalize(it.Cartesian3.cross(f,c,p),p),e.normal&&(dt.CorridorGeometryLibrary.addAttribute(d,p,v),dt.CorridorGeometryLibrary.addAttribute(d,p,v+3),dt.CorridorGeometryLibrary.addAttribute(d,p,b),dt.CorridorGeometryLibrary.addAttribute(d,p,b+3)),(e.tangent||e.bitangent)&&(g=it.Cartesian3.fromArray(r,C,g),e.bitangent&&(dt.CorridorGeometryLibrary.addAttribute(m,g,v),dt.CorridorGeometryLibrary.addAttribute(m,g,v+3),dt.CorridorGeometryLibrary.addAttribute(m,g,b),dt.CorridorGeometryLibrary.addAttribute(m,g,b+3)),e.tangent&&(h=it.Cartesian3.normalize(it.Cartesian3.cross(g,p,h),h),dt.CorridorGeometryLibrary.addAttribute(u,h,v),dt.CorridorGeometryLibrary.addAttribute(u,h,v+3),dt.CorridorGeometryLibrary.addAttribute(u,h,b),dt.CorridorGeometryLibrary.addAttribute(u,h,b+3))),b+=6}if(e.normal){for(d.set(r),C=0;C<o;C+=3)d[C+o]=-r[C],d[C+o+1]=-r[C+1],d[C+o+2]=-r[C+2];t.normal.values=d}else t.normal=void 0;e.bitangent?(m.set(l),m.set(l,o),t.bitangent.values=m):t.bitangent=void 0,e.tangent&&(l=t.tangent.values,u.set(l),u.set(l,o),t.tangent.values=u)}if(e.st){var A=t.st.values,_=new Float32Array(6*n);_.set(A),_.set(A,n);for(var w=2*n,T=0;T<2;T++){for(_[w++]=A[0],_[w++]=A[1],C=2;C<n;C+=2){var G=A[C],E=A[C+1];_[w++]=G,_[w++]=E,_[w++]=G,_[w++]=E}_[w++]=A[0],_[w++]=A[1]}t.st.values=_}return t}(s,e);var y=u/3;if(t.shadowVolume){for(var f=s.normal.values,u=f.length,i=new Float32Array(6*u),c=0;c<u;c++)f[c]=-f[c];i.set(f,u),i=x(f,4*u,i),s.extrudeDirection=new nt.GeometryAttribute({componentDatatype:ot.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:i}),e.normal||(s.normal=void 0)}rt.defined(t.offsetAttribute)&&(e=new Uint8Array(6*y),e=t.offsetAttribute===E.GeometryOffsetAttribute.TOP?(e=E.arrayFill(e,1,0,y),E.arrayFill(e,1,2*y,4*y)):(t=t.offsetAttribute===E.GeometryOffsetAttribute.NONE?0:1,E.arrayFill(e,t)),s.applyOffset=new nt.GeometryAttribute({componentDatatype:ot.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:e}));var p=l.length,h=y+y,g=lt.IndexDatatype.createTypedArray(m.length/3,2*p+3*h);g.set(l);var b,C,v,A,_=p;for(c=0;c<p;c+=3){var w=l[c],T=l[c+1],G=l[c+2];g[_++]=G+y,g[_++]=T+y,g[_++]=w+y}for(c=0;c<h;c+=2)v=(b=c+h)+1,A=(C=b+h)+1,g[_++]=b,g[_++]=C,g[_++]=v,g[_++]=v,g[_++]=C,g[_++]=A;return{attributes:s,indices:g}}var h=new it.Cartesian3,g=new it.Cartesian3,b=new it.Cartographic;function C(t,e,r,a,i,o){var n=it.Cartesian3.subtract(e,t,h);it.Cartesian3.normalize(n,n);var s=r.geodeticSurfaceNormal(t,g),l=it.Cartesian3.cross(n,s,h);it.Cartesian3.multiplyByScalar(l,a,l);var d=i.latitude,u=i.longitude,e=o.latitude,n=o.longitude;it.Cartesian3.add(t,l,g),r.cartesianToCartographic(g,b);s=b.latitude,a=b.longitude,d=Math.min(d,s),u=Math.min(u,a),e=Math.max(e,s),n=Math.max(n,a);it.Cartesian3.subtract(t,l,g),r.cartesianToCartographic(g,b),s=b.latitude,a=b.longitude,d=Math.min(d,s),u=Math.min(u,a),e=Math.max(e,s),n=Math.max(n,a),i.latitude=d,i.longitude=u,o.latitude=e,o.longitude=n}var v=new it.Cartesian3,A=new it.Cartesian3,_=new it.Cartographic,w=new it.Cartographic;function d(t,e,r,a,i){t=c(t,e);var o=y.arrayRemoveDuplicates(t,it.Cartesian3.equalsEpsilon),n=o.length;if(n<2||r<=0)return new it.Rectangle;var s,l,d=.5*r;_.latitude=Number.POSITIVE_INFINITY,_.longitude=Number.POSITIVE_INFINITY,w.latitude=Number.NEGATIVE_INFINITY,w.longitude=Number.NEGATIVE_INFINITY,a===f.CornerType.ROUNDED&&(m=o[0],it.Cartesian3.subtract(m,o[1],v),it.Cartesian3.normalize(v,v),it.Cartesian3.multiplyByScalar(v,d,v),it.Cartesian3.add(m,v,A),e.cartesianToCartographic(A,b),s=b.latitude,l=b.longitude,_.latitude=Math.min(_.latitude,s),_.longitude=Math.min(_.longitude,l),w.latitude=Math.max(w.latitude,s),w.longitude=Math.max(w.longitude,l));for(var u=0;u<n-1;++u)C(o[u],o[u+1],e,d,_,w);var m=o[n-1];it.Cartesian3.subtract(m,o[n-2],v),it.Cartesian3.normalize(v,v),it.Cartesian3.multiplyByScalar(v,d,v),it.Cartesian3.add(m,v,A),C(m,A,e,d,_,w),a===f.CornerType.ROUNDED&&(e.cartesianToCartographic(A,b),s=b.latitude,l=b.longitude,_.latitude=Math.min(_.latitude,s),_.longitude=Math.min(_.longitude,l),w.latitude=Math.max(w.latitude,s),w.longitude=Math.max(w.longitude,l));i=rt.defined(i)?i:new it.Rectangle;return i.north=w.latitude,i.south=_.latitude,i.east=w.longitude,i.west=_.longitude,i}function T(t){var e=(t=rt.defaultValue(t,rt.defaultValue.EMPTY_OBJECT)).positions,r=t.width,a=rt.defaultValue(t.height,0),i=rt.defaultValue(t.extrudedHeight,a);this._positions=e,this._ellipsoid=it.Ellipsoid.clone(rt.defaultValue(t.ellipsoid,it.Ellipsoid.WGS84)),this._vertexFormat=V.VertexFormat.clone(rt.defaultValue(t.vertexFormat,V.VertexFormat.DEFAULT)),this._width=r,this._height=Math.max(a,i),this._extrudedHeight=Math.min(a,i),this._cornerType=rt.defaultValue(t.cornerType,f.CornerType.ROUNDED),this._granularity=rt.defaultValue(t.granularity,at.CesiumMath.RADIANS_PER_DEGREE),this._shadowVolume=rt.defaultValue(t.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=t.offsetAttribute,this._rectangle=void 0,this.packedLength=1+e.length*it.Cartesian3.packedLength+it.Ellipsoid.packedLength+V.VertexFormat.packedLength+7}T.pack=function(t,e,r){r=rt.defaultValue(r,0);var a=t._positions,i=a.length;e[r++]=i;for(var o=0;o<i;++o,r+=it.Cartesian3.packedLength)it.Cartesian3.pack(a[o],e,r);return it.Ellipsoid.pack(t._ellipsoid,e,r),r+=it.Ellipsoid.packedLength,V.VertexFormat.pack(t._vertexFormat,e,r),r+=V.VertexFormat.packedLength,e[r++]=t._width,e[r++]=t._height,e[r++]=t._extrudedHeight,e[r++]=t._cornerType,e[r++]=t._granularity,e[r++]=t._shadowVolume?1:0,e[r]=rt.defaultValue(t._offsetAttribute,-1),e};var G=it.Ellipsoid.clone(it.Ellipsoid.UNIT_SPHERE),N=new V.VertexFormat,D={positions:void 0,ellipsoid:G,vertexFormat:N,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};return T.unpack=function(t,e,r){e=rt.defaultValue(e,0);for(var a=t[e++],i=new Array(a),o=0;o<a;++o,e+=it.Cartesian3.packedLength)i[o]=it.Cartesian3.unpack(t,e);var n=it.Ellipsoid.unpack(t,e,G);e+=it.Ellipsoid.packedLength;var s=V.VertexFormat.unpack(t,e,N);e+=V.VertexFormat.packedLength;var l=t[e++],d=t[e++],u=t[e++],m=t[e++],y=t[e++],f=1===t[e++],c=t[e];return rt.defined(r)?(r._positions=i,r._ellipsoid=it.Ellipsoid.clone(n,r._ellipsoid),r._vertexFormat=V.VertexFormat.clone(s,r._vertexFormat),r._width=l,r._height=d,r._extrudedHeight=u,r._cornerType=m,r._granularity=y,r._shadowVolume=f,r._offsetAttribute=-1===c?void 0:c,r):(D.positions=i,D.width=l,D.height=d,D.extrudedHeight=u,D.cornerType=m,D.granularity=y,D.shadowVolume=f,D.offsetAttribute=-1===c?void 0:c,new T(D))},T.computeRectangle=function(t,e){var r=(t=rt.defaultValue(t,rt.defaultValue.EMPTY_OBJECT)).positions,a=t.width;return d(r,rt.defaultValue(t.ellipsoid,it.Ellipsoid.WGS84),a,rt.defaultValue(t.cornerType,f.CornerType.ROUNDED),e)},T.createGeometry=function(t){var e=t._positions,r=t._width,a=t._ellipsoid,e=c(e,a),i=y.arrayRemoveDuplicates(e,it.Cartesian3.equalsEpsilon);if(!(i.length<2||r<=0)){var o,n=t._height,s=t._extrudedHeight,l=!at.CesiumMath.equalsEpsilon(n,s,0,at.CesiumMath.EPSILON2),e=t._vertexFormat,r={ellipsoid:a,positions:i,width:r,cornerType:t._cornerType,granularity:t._granularity,saveAttributes:!0};l?(r.height=n,r.extrudedHeight=s,r.shadowVolume=t._shadowVolume,r.offsetAttribute=t._offsetAttribute,o=p(r,e)):((o=P(dt.CorridorGeometryLibrary.computePositions(r),e,a)).attributes.position.values=F.PolygonPipeline.scaleToGeodeticHeight(o.attributes.position.values,n,a),rt.defined(t._offsetAttribute)&&(d=t._offsetAttribute===E.GeometryOffsetAttribute.NONE?0:1,u=o.attributes.position.values.length,u=new Uint8Array(u/3),E.arrayFill(u,d),o.attributes.applyOffset=new nt.GeometryAttribute({componentDatatype:ot.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:u})));var d=o.attributes,u=m.BoundingSphere.fromVertices(d.position.values,void 0,3);return e.position||(o.attributes.position.values=void 0),new nt.Geometry({attributes:d,indices:o.indices,primitiveType:nt.PrimitiveType.TRIANGLES,boundingSphere:u,offsetAttribute:t._offsetAttribute})}},T.createShadowVolume=function(t,e,r){var a=t._granularity,i=t._ellipsoid,e=e(a,i),r=r(a,i);return new T({positions:t._positions,width:t._width,cornerType:t._cornerType,ellipsoid:i,granularity:a,extrudedHeight:e,height:r,vertexFormat:V.VertexFormat.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(T.prototype,{rectangle:{get:function(){return rt.defined(this._rectangle)||(this._rectangle=d(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}}),function(t,e){return rt.defined(e)&&(t=T.unpack(t,e)),t._ellipsoid=it.Ellipsoid.clone(t._ellipsoid),T.createGeometry(t)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createCorridorOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createCorridorOutlineGeometry.js new file mode 100644 index 000000000..aa2b6e1b7 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createCorridorOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./GeometryOffsetAttribute-7350d9af","./arrayRemoveDuplicates-ebc732b0","./EllipsoidTangentPlane-64140317","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./PolylineVolumeGeometryLibrary-abc37e8c","./EllipsoidGeodesic-30fae80b","./PolylinePipeline-fa11d71d","./CorridorGeometryLibrary-7feb157b"],function(M,e,u,R,p,t,i,B,U,F,Y,r,o,v,f,a,n,A,q,s,l,W){"use strict";var J=new R.Cartesian3,j=new R.Cartesian3,z=new R.Cartesian3;function _(e,t){var i,r=[],o=e.positions,a=e.corners,n=e.endPositions,s=new F.GeometryAttributes,l=0,d=0,u=0;for(w=0;w<o.length;w+=2)l+=i=o[w].length-3,u+=i/3*4,d+=o[w+1].length-3;for(l+=3,d+=3,w=0;w<a.length;w++){O=a[w];var p=a[w].leftPositions;M.defined(p)?l+=i=p.length:d+=i=a[w].rightPositions.length,u+=i/3*2}var f,h=M.defined(n);h&&(l+=f=n[0].length-3,d+=f,u+=4*(f/=3));var y,c,b,g,m,v,e=l+d,A=new Float64Array(e),_=0,E=e-1,C=f/2,G=Y.IndexDatatype.createTypedArray(e/3,u+4),T=0;if(G[T++]=_/3,G[T++]=(E-2)/3,h){r.push(_/3),v=J,m=j;for(var P=n[0],w=0;w<C;w++)v=R.Cartesian3.fromArray(P,3*(C-1-w),v),m=R.Cartesian3.fromArray(P,3*(C+w),m),W.CorridorGeometryLibrary.addAttribute(A,m,_),W.CorridorGeometryLibrary.addAttribute(A,v,void 0,E),g=(c=_/3)+1,b=(y=(E-2)/3)-1,G[T++]=y,G[T++]=b,G[T++]=c,G[T++]=g,_+=3,E-=3}var L=0,D=o[L++],k=o[L++];for(A.set(D,_),A.set(k,E-k.length+1),i=k.length-3,r.push(_/3,(E-2)/3),w=0;w<i;w+=3)g=(c=_/3)+1,b=(y=(E-2)/3)-1,G[T++]=y,G[T++]=b,G[T++]=c,G[T++]=g,_+=3,E-=3;for(w=0;w<a.length;w++){var N,O,V,x=(O=a[w]).leftPositions,H=O.rightPositions,I=z;if(M.defined(x)){for(E-=3,V=b,r.push(g),N=0;N<x.length/3;N++)I=R.Cartesian3.fromArray(x,3*N,I),G[T++]=V-N-1,G[T++]=V-N,W.CorridorGeometryLibrary.addAttribute(A,I,void 0,E),E-=3;r.push(V-Math.floor(x.length/6)),t===q.CornerType.BEVELED&&r.push((E-2)/3+1),_+=3}else{for(_+=3,V=g,r.push(b),N=0;N<H.length/3;N++)I=R.Cartesian3.fromArray(H,3*N,I),G[T++]=V+N,G[T++]=V+N+1,W.CorridorGeometryLibrary.addAttribute(A,I,_),_+=3;r.push(V+Math.floor(H.length/6)),t===q.CornerType.BEVELED&&r.push(_/3-1),E-=3}for(D=o[L++],k=o[L++],D.splice(0,3),k.splice(k.length-3,3),A.set(D,_),A.set(k,E-k.length+1),i=k.length-3,N=0;N<k.length;N+=3)c=(g=_/3)-1,y=(b=(E-2)/3)+1,G[T++]=y,G[T++]=b,G[T++]=c,G[T++]=g,_+=3,E-=3;_-=3,E+=3,r.push(_/3,(E-2)/3)}if(h){_+=3,E-=3,v=J,m=j;var S=n[1];for(w=0;w<C;w++)v=R.Cartesian3.fromArray(S,3*(f-w-1),v),m=R.Cartesian3.fromArray(S,3*w,m),W.CorridorGeometryLibrary.addAttribute(A,v,void 0,E),W.CorridorGeometryLibrary.addAttribute(A,m,_),c=(g=_/3)-1,y=(b=(E-2)/3)+1,G[T++]=y,G[T++]=b,G[T++]=c,G[T++]=g,_+=3,E-=3;r.push(_/3)}else r.push(_/3,(E-2)/3);return G[T++]=_/3,G[T++]=(E-2)/3,s.position=new U.GeometryAttribute({componentDatatype:B.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:A}),{attributes:s,indices:G,wallIndices:r}}function h(e){var t=(e=M.defaultValue(e,M.defaultValue.EMPTY_OBJECT)).positions,i=e.width,r=M.defaultValue(e.height,0),o=M.defaultValue(e.extrudedHeight,r);this._positions=t,this._ellipsoid=R.Ellipsoid.clone(M.defaultValue(e.ellipsoid,R.Ellipsoid.WGS84)),this._width=i,this._height=Math.max(r,o),this._extrudedHeight=Math.min(r,o),this._cornerType=M.defaultValue(e.cornerType,q.CornerType.ROUNDED),this._granularity=M.defaultValue(e.granularity,u.CesiumMath.RADIANS_PER_DEGREE),this._offsetAttribute=e.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+t.length*R.Cartesian3.packedLength+R.Ellipsoid.packedLength+6}h.pack=function(e,t,i){i=M.defaultValue(i,0);var r=e._positions,o=r.length;t[i++]=o;for(var a=0;a<o;++a,i+=R.Cartesian3.packedLength)R.Cartesian3.pack(r[a],t,i);return R.Ellipsoid.pack(e._ellipsoid,t,i),i+=R.Ellipsoid.packedLength,t[i++]=e._width,t[i++]=e._height,t[i++]=e._extrudedHeight,t[i++]=e._cornerType,t[i++]=e._granularity,t[i]=M.defaultValue(e._offsetAttribute,-1),t};var y=R.Ellipsoid.clone(R.Ellipsoid.UNIT_SPHERE),c={positions:void 0,ellipsoid:y,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};return h.unpack=function(e,t,i){t=M.defaultValue(t,0);for(var r=e[t++],o=new Array(r),a=0;a<r;++a,t+=R.Cartesian3.packedLength)o[a]=R.Cartesian3.unpack(e,t);var n=R.Ellipsoid.unpack(e,t,y);t+=R.Ellipsoid.packedLength;var s=e[t++],l=e[t++],d=e[t++],u=e[t++],p=e[t++],f=e[t];return M.defined(i)?(i._positions=o,i._ellipsoid=R.Ellipsoid.clone(n,i._ellipsoid),i._width=s,i._height=l,i._extrudedHeight=d,i._cornerType=u,i._granularity=p,i._offsetAttribute=-1===f?void 0:f,i):(c.positions=o,c.width=s,c.height=l,c.extrudedHeight=d,c.cornerType=u,c.granularity=p,c.offsetAttribute=-1===f?void 0:f,new h(c))},h.createGeometry=function(e){var t=e._positions,i=e._width,r=e._ellipsoid,t=function(e,t){for(var i=0;i<e.length;i++)e[i]=t.scaleToGeodeticSurface(e[i],e[i]);return e}(t,r),o=f.arrayRemoveDuplicates(t,R.Cartesian3.equalsEpsilon);if(!(o.length<2||i<=0)){var a,n=e._height,s=e._extrudedHeight,t=!u.CesiumMath.equalsEpsilon(n,s,0,u.CesiumMath.EPSILON2),i={ellipsoid:r,positions:o,width:i,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!1};t?(i.height=n,i.extrudedHeight=s,i.offsetAttribute=e._offsetAttribute,a=function(e){var t=e.ellipsoid,i=(l=_(W.CorridorGeometryLibrary.computePositions(e),e.cornerType)).wallIndices,r=e.height,o=e.extrudedHeight,a=l.attributes,n=l.indices,s=(d=a.position.values).length;(u=new Float64Array(s)).set(d);var l=new Float64Array(2*s),d=A.PolygonPipeline.scaleToGeodeticHeight(d,r,t),u=A.PolygonPipeline.scaleToGeodeticHeight(u,o,t);l.set(d),l.set(u,s),a.position.values=l,s/=3,M.defined(e.offsetAttribute)&&(u=new Uint8Array(2*s),u=e.offsetAttribute===v.GeometryOffsetAttribute.TOP?v.arrayFill(u,1,0,s):(e=e.offsetAttribute===v.GeometryOffsetAttribute.NONE?0:1,v.arrayFill(u,e)),a.applyOffset=new U.GeometryAttribute({componentDatatype:B.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:u}));var p=n.length,f=Y.IndexDatatype.createTypedArray(l.length/3,2*(p+i.length));f.set(n);for(var h,y,c=p,b=0;b<p;b+=2){var g=n[b],m=n[b+1];f[c++]=g+s,f[c++]=m+s}for(b=0;b<i.length;b++)y=(h=i[b])+s,f[c++]=h,f[c++]=y;return{attributes:a,indices:f}}(i)):((a=_(W.CorridorGeometryLibrary.computePositions(i),i.cornerType)).attributes.position.values=A.PolygonPipeline.scaleToGeodeticHeight(a.attributes.position.values,n,r),M.defined(e._offsetAttribute)&&(l=a.attributes.position.values.length,d=new Uint8Array(l/3),l=e._offsetAttribute===v.GeometryOffsetAttribute.NONE?0:1,v.arrayFill(d,l),a.attributes.applyOffset=new U.GeometryAttribute({componentDatatype:B.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})));var l=a.attributes,d=p.BoundingSphere.fromVertices(l.position.values,void 0,3);return new U.Geometry({attributes:l,indices:a.indices,primitiveType:U.PrimitiveType.LINES,boundingSphere:d,offsetAttribute:e._offsetAttribute})}},function(e,t){return M.defined(t)&&(e=h.unpack(e,t)),e._ellipsoid=R.Ellipsoid.clone(e._ellipsoid),h.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createCylinderGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createCylinderGeometry.js new file mode 100644 index 000000000..c6d5a83b4 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createCylinderGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./CylinderGeometryLibrary-b0214ab1","./CylinderGeometry-e0cec806"],function(r,e,t,n,c,a,o,d,i,y,b,f,m,u,s){"use strict";return function(e,t){return r.defined(t)&&(e=s.CylinderGeometry.unpack(e,t)),s.CylinderGeometry.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createCylinderOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createCylinderOutlineGeometry.js new file mode 100644 index 000000000..e91e4aa4c --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createCylinderOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./CylinderGeometryLibrary-b0214ab1"],function(m,t,e,p,y,i,r,_,h,A,v,R,G){"use strict";var O=new p.Cartesian2;function s(t){var e=(t=m.defaultValue(t,m.defaultValue.EMPTY_OBJECT)).length,i=t.topRadius,r=t.bottomRadius,a=m.defaultValue(t.slices,128),n=Math.max(m.defaultValue(t.numberOfVerticalLines,16),0);this._length=e,this._topRadius=i,this._bottomRadius=r,this._slices=a,this._numberOfVerticalLines=n,this._offsetAttribute=t.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}s.packedLength=6,s.pack=function(t,e,i){return i=m.defaultValue(i,0),e[i++]=t._length,e[i++]=t._topRadius,e[i++]=t._bottomRadius,e[i++]=t._slices,e[i++]=t._numberOfVerticalLines,e[i]=m.defaultValue(t._offsetAttribute,-1),e};var f={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};return s.unpack=function(t,e,i){e=m.defaultValue(e,0);var r=t[e++],a=t[e++],n=t[e++],o=t[e++],u=t[e++],e=t[e];return m.defined(i)?(i._length=r,i._topRadius=a,i._bottomRadius=n,i._slices=o,i._numberOfVerticalLines=u,i._offsetAttribute=-1===e?void 0:e,i):(f.length=r,f.topRadius=a,f.bottomRadius=n,f.slices=o,f.numberOfVerticalLines=u,f.offsetAttribute=-1===e?void 0:e,new s(f))},s.createGeometry=function(t){var e=t._length,i=t._topRadius,r=t._bottomRadius,a=t._slices,n=t._numberOfVerticalLines;if(!(e<=0||i<0||r<0||0===i&&0===r)){var o,u,s=2*a,f=G.CylinderGeometryLibrary.computePositions(e,i,r,a,!1),d=2*a;0<n&&(o=Math.min(n,a),u=Math.round(a/o),d+=o);for(var b=v.IndexDatatype.createTypedArray(s,2*d),c=0,l=0;l<a-1;l++)b[c++]=l,b[c++]=l+1,b[c++]=l+a,b[c++]=l+1+a;if(b[c++]=a-1,b[c++]=0,b[c++]=a+a-1,b[c++]=a,0<n)for(l=0;l<a;l+=u)b[c++]=l,b[c++]=l+a;n=new A.GeometryAttributes;n.position=new h.GeometryAttribute({componentDatatype:_.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:f}),O.x=.5*e,O.y=Math.max(r,i);i=new y.BoundingSphere(p.Cartesian3.ZERO,p.Cartesian2.magnitude(O));return m.defined(t._offsetAttribute)&&(e=f.length,f=new Uint8Array(e/3),e=t._offsetAttribute===R.GeometryOffsetAttribute.NONE?0:1,R.arrayFill(f,e),n.applyOffset=new h.GeometryAttribute({componentDatatype:_.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})),new h.Geometry({attributes:n,indices:b,primitiveType:h.PrimitiveType.LINES,boundingSphere:i,offsetAttribute:t._offsetAttribute})}},function(t,e){return m.defined(e)&&(t=s.unpack(t,e)),s.createGeometry(t)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createEllipseGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createEllipseGeometry.js new file mode 100644 index 000000000..23bd6eb45 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createEllipseGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./EllipseGeometryLibrary-55d6b793","./GeometryInstance-161eaba2","./EllipseGeometry-1afae560"],function(r,e,t,n,a,c,i,o,s,d,b,f,l,m,p,y,u,G,C,E,A){"use strict";return function(e,t){return r.defined(t)&&(e=A.EllipseGeometry.unpack(e,t)),e._center=n.Cartesian3.clone(e._center),e._ellipsoid=n.Ellipsoid.clone(e._ellipsoid),A.EllipseGeometry.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createEllipseOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createEllipseOutlineGeometry.js new file mode 100644 index 000000000..4f92c0df5 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createEllipseOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./EllipseGeometryLibrary-55d6b793","./EllipseOutlineGeometry-19397c29"],function(r,e,t,n,i,c,o,l,a,s,d,f,b,u){"use strict";return function(e,t){return r.defined(t)&&(e=u.EllipseOutlineGeometry.unpack(e,t)),e._center=n.Cartesian3.clone(e._center),e._ellipsoid=n.Ellipsoid.clone(e._ellipsoid),u.EllipseOutlineGeometry.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createEllipsoidGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createEllipsoidGeometry.js new file mode 100644 index 000000000..c96e95cb1 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createEllipsoidGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./EllipsoidGeometry-2c4c641e"],function(r,e,t,c,n,o,a,i,d,f,s,b,m,u){"use strict";return function(e,t){return r.defined(t)&&(e=u.EllipsoidGeometry.unpack(e,t)),u.EllipsoidGeometry.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createEllipsoidOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createEllipsoidOutlineGeometry.js new file mode 100644 index 000000000..f6007cac4 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createEllipsoidOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./EllipsoidOutlineGeometry-7ef60a22"],function(r,e,t,n,i,c,f,o,a,d,u,b,s){"use strict";return function(e,t){return r.defined(e.buffer)&&(e=s.EllipsoidOutlineGeometry.unpack(e,t)),s.EllipsoidOutlineGeometry.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createFrustumGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createFrustumGeometry.js new file mode 100644 index 000000000..c04d44d37 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createFrustumGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./Plane-c8971487","./VertexFormat-7572c785","./FrustumGeometry-5d17caee"],function(r,e,t,c,n,a,u,o,m,s,b,d,f){"use strict";return function(e,t){return r.defined(t)&&(e=f.FrustumGeometry.unpack(e,t)),f.FrustumGeometry.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createFrustumOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createFrustumOutlineGeometry.js new file mode 100644 index 000000000..d67c805c1 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createFrustumOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./Plane-c8971487","./VertexFormat-7572c785","./FrustumGeometry-5d17caee"],function(o,e,t,c,m,r,n,h,d,f,a,u,g){"use strict";var s=0,i=1;function p(e){var t,r,n=e.frustum,a=e.orientation,u=e.origin,e=o.defaultValue(e._drawNearPlane,!0);n instanceof g.PerspectiveFrustum?(t=s,r=g.PerspectiveFrustum.packedLength):n instanceof g.OrthographicFrustum&&(t=i,r=g.OrthographicFrustum.packedLength),this._frustumType=t,this._frustum=n.clone(),this._origin=c.Cartesian3.clone(u),this._orientation=m.Quaternion.clone(a),this._drawNearPlane=e,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+r+c.Cartesian3.packedLength+m.Quaternion.packedLength}p.pack=function(e,t,r){r=o.defaultValue(r,0);var n=e._frustumType,a=e._frustum;return(t[r++]=n)===s?(g.PerspectiveFrustum.pack(a,t,r),r+=g.PerspectiveFrustum.packedLength):(g.OrthographicFrustum.pack(a,t,r),r+=g.OrthographicFrustum.packedLength),c.Cartesian3.pack(e._origin,t,r),r+=c.Cartesian3.packedLength,m.Quaternion.pack(e._orientation,t,r),t[r+=m.Quaternion.packedLength]=e._drawNearPlane?1:0,t};var _=new g.PerspectiveFrustum,k=new g.OrthographicFrustum,l=new m.Quaternion,y=new c.Cartesian3;return p.unpack=function(e,t,r){t=o.defaultValue(t,0);var n,a=e[t++];a===s?(n=g.PerspectiveFrustum.unpack(e,t,_),t+=g.PerspectiveFrustum.packedLength):(n=g.OrthographicFrustum.unpack(e,t,k),t+=g.OrthographicFrustum.packedLength);var u=c.Cartesian3.unpack(e,t,y);t+=c.Cartesian3.packedLength;var i=m.Quaternion.unpack(e,t,l),e=1===e[t+=m.Quaternion.packedLength];if(!o.defined(r))return new p({frustum:n,origin:u,orientation:i,_drawNearPlane:e});t=a===r._frustumType?r._frustum:void 0;return r._frustum=n.clone(t),r._frustumType=a,r._origin=c.Cartesian3.clone(u,r._origin),r._orientation=m.Quaternion.clone(i,r._orientation),r._drawNearPlane=e,r},p.createGeometry=function(e){var t=e._frustumType,r=e._frustum,n=e._origin,a=e._orientation,u=e._drawNearPlane,e=new Float64Array(24);g.FrustumGeometry._computeNearFarPlanes(n,a,t,r,e);for(var i,o,r=new f.GeometryAttributes({position:new d.GeometryAttribute({componentDatatype:h.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:e})}),c=u?2:1,s=new Uint16Array(8*(1+c)),p=u?0:1;p<2;++p)o=4*p,s[i=u?8*p:0]=o,s[i+1]=o+1,s[i+2]=o+1,s[i+3]=o+2,s[i+4]=o+2,s[i+5]=o+3,s[i+6]=o+3,s[i+7]=o;for(p=0;p<2;++p)o=4*p,s[i=8*(c+p)]=o,s[i+1]=o+4,s[i+2]=o+1,s[i+3]=o+5,s[i+4]=o+2,s[i+5]=o+6,s[i+6]=o+3,s[i+7]=o+7;return new d.Geometry({attributes:r,indices:s,primitiveType:d.PrimitiveType.LINES,boundingSphere:m.BoundingSphere.fromVertices(e)})},function(e,t){return o.defined(t)&&(e=p.unpack(e,t)),p.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createGeometry.js new file mode 100644 index 000000000..06c82e9af --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./PrimitivePipeline-1823f7f9","./WebMercatorProjection-df58d479","./createTaskProcessorWorker"],function(f,e,r,t,n,o,i,a,c,s,d,u,b,m,p,l,y,P,k){"use strict";var C={};return k(function(e,r){for(var t=e.subTasks,n=t.length,o=new Array(n),i=0;i<n;i++){var a=t[i],c=a.geometry,s=a.moduleName;f.defined(s)?(s=function(e){var r=C[e];return f.defined(r)||("object"==typeof exports?C[r]=r=require("Workers/"+e):require(["Workers/"+e],function(e){C[r=e]=e})),r}(s),o[i]=s(c,a.offset)):o[i]=c}return f.when.all(o,function(e){return y.PrimitivePipeline.packCreateGeometryResults(e,r)})})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createGroundPolylineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createGroundPolylineGeometry.js new file mode 100644 index 000000000..e5d6d3702 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createGroundPolylineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./EncodedCartesian3-4df2eabb","./IntersectionTests-8abf6dba","./Plane-c8971487","./WebMercatorProjection-df58d479","./arrayRemoveDuplicates-ebc732b0","./ArcType-dc1c5aee","./EllipsoidRhumbLine-c704bf4c","./EllipsoidGeodesic-30fae80b"],function(B,e,be,Oe,Pe,a,t,ke,Ae,Le,j,r,n,G,V,Y,M){"use strict";function i(e){e=B.defaultValue(e,B.defaultValue.EMPTY_OBJECT),this._ellipsoid=B.defaultValue(e.ellipsoid,Oe.Ellipsoid.WGS84),this._rectangle=B.defaultValue(e.rectangle,Oe.Rectangle.MAX_VALUE),this._projection=new Pe.GeographicProjection(this._ellipsoid),this._numberOfLevelZeroTilesX=B.defaultValue(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=B.defaultValue(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(i.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}}),i.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e},i.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e},i.prototype.rectangleToNativeRectangle=function(e,a){var t=be.CesiumMath.toDegrees(e.west),n=be.CesiumMath.toDegrees(e.south),i=be.CesiumMath.toDegrees(e.east),e=be.CesiumMath.toDegrees(e.north);return B.defined(a)?(a.west=t,a.south=n,a.east=i,a.north=e,a):new Oe.Rectangle(t,n,i,e)},i.prototype.tileXYToNativeRectangle=function(e,a,t,n){n=this.tileXYToRectangle(e,a,t,n);return n.west=be.CesiumMath.toDegrees(n.west),n.south=be.CesiumMath.toDegrees(n.south),n.east=be.CesiumMath.toDegrees(n.east),n.north=be.CesiumMath.toDegrees(n.north),n},i.prototype.tileXYToRectangle=function(e,a,t,n){var i=this._rectangle,r=this.getNumberOfXTilesAtLevel(t),s=this.getNumberOfYTilesAtLevel(t),t=i.width/r,r=e*t+i.west,e=(e+1)*t+i.west,t=i.height/s,s=i.north-a*t,t=i.north-(a+1)*t;return B.defined(n)||(n=new Oe.Rectangle(r,t,e,s)),n.west=r,n.south=t,n.east=e,n.north=s,n},i.prototype.positionToTileXY=function(e,a,t){var n=this._rectangle;if(Oe.Rectangle.contains(n,e)){var i=this.getNumberOfXTilesAtLevel(a),r=this.getNumberOfYTilesAtLevel(a),s=n.width/i,o=n.height/r,a=e.longitude;n.east<n.west&&(a+=be.CesiumMath.TWO_PI);s=(a-n.west)/s|0;i<=s&&(s=i-1);o=(n.north-e.latitude)/o|0;return(r<=o&&(o=r-1),B.defined(t))?(t.x=s,t.y=o,t):new Oe.Cartesian2(s,o)}};var s=new Oe.Cartesian3,o=new Oe.Cartesian3,l=new Oe.Cartographic,u=new Oe.Cartesian3,c=new Oe.Cartesian3,C=new Pe.BoundingSphere,p=new i,d=[new Oe.Cartographic,new Oe.Cartographic,new Oe.Cartographic,new Oe.Cartographic],h=new Oe.Cartesian2,Se={};function g(e){Oe.Cartographic.fromRadians(e.east,e.north,0,d[0]),Oe.Cartographic.fromRadians(e.west,e.north,0,d[1]),Oe.Cartographic.fromRadians(e.east,e.south,0,d[2]),Oe.Cartographic.fromRadians(e.west,e.south,0,d[3]);for(var a=0,t=0,n=0,i=0,r=Se._terrainHeightsMaxLevel,s=0;s<=r;++s){for(var o=!1,l=0;l<4;++l){var u=d[l];if(p.positionToTileXY(u,s,h),0===l)n=h.x,i=h.y;else if(n!==h.x||i!==h.y){o=!0;break}}if(o)break;a=n,t=i}if(0!==s)return{x:a,y:t,level:r<s?r:s-1}}Se.initialize=function(){var e=Se._initPromise;return B.defined(e)?e:(e=Pe.Resource.fetchJson(Pe.buildModuleUrl("Assets/approximateTerrainHeights.json")).then(function(e){Se._terrainHeights=e}),Se._initPromise=e)},Se.getMinimumMaximumHeights=function(e,a){a=B.defaultValue(a,Oe.Ellipsoid.WGS84);var t=g(e),n=Se._defaultMinTerrainHeight,i=Se._defaultMaxTerrainHeight;return B.defined(t)&&(t=t.level+"-"+t.x+"-"+t.y,t=Se._terrainHeights[t],B.defined(t)&&(n=t[0],i=t[1]),a.cartographicToCartesian(Oe.Rectangle.northeast(e,l),s),a.cartographicToCartesian(Oe.Rectangle.southwest(e,l),o),Oe.Cartesian3.midpoint(o,s,u),a=a.scaleToGeodeticSurface(u,c),n=B.defined(a)?(a=Oe.Cartesian3.distance(u,a),Math.min(n,-a)):Se._defaultMinTerrainHeight),{minimumTerrainHeight:n=Math.max(Se._defaultMinTerrainHeight,n),maximumTerrainHeight:i}},Se.getBoundingSphere=function(e,a){a=B.defaultValue(a,Oe.Ellipsoid.WGS84);var t=g(e),n=Se._defaultMaxTerrainHeight;B.defined(t)&&(i=t.level+"-"+t.x+"-"+t.y,i=Se._terrainHeights[i],B.defined(i)&&(n=i[1]));var i=Pe.BoundingSphere.fromRectangle3D(e,a,0);return Pe.BoundingSphere.fromRectangle3D(e,a,n,C),Pe.BoundingSphere.union(i,C,i)},Se._terrainHeightsMaxLevel=6,Se._defaultMaxTerrainHeight=9e3,Se._defaultMinTerrainHeight=-1e5,Se._terrainHeights=void 0,Se._initPromise=void 0,Object.defineProperties(Se,{initialized:{get:function(){return B.defined(Se._terrainHeights)}}});var F=[Pe.GeographicProjection,n.WebMercatorProjection],f=F.length,Ie=Math.cos(be.CesiumMath.toRadians(30)),m=Math.cos(be.CesiumMath.toRadians(150)),q=0,X=1e3;function w(e){var a=(e=B.defaultValue(e,B.defaultValue.EMPTY_OBJECT)).positions;this.width=B.defaultValue(e.width,1),this._positions=a,this.granularity=B.defaultValue(e.granularity,9999),this.loop=B.defaultValue(e.loop,!1),this.arcType=B.defaultValue(e.arcType,V.ArcType.GEODESIC),this._ellipsoid=Oe.Ellipsoid.WGS84,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(w.prototype,{packedLength:{get:function(){return 1+3*this._positions.length+1+1+1+Oe.Ellipsoid.packedLength+1+1}}}),w.setProjectionAndEllipsoid=function(e,a){for(var t=0,n=0;n<f;n++)if(a instanceof F[n]){t=n;break}e._projectionIndex=t,e._ellipsoid=a.ellipsoid};var y=new Oe.Cartesian3,v=new Oe.Cartesian3,T=new Oe.Cartesian3;function W(e,a,t,n,i){var r=Z(n,e,0,y),t=Z(n,e,t,v),a=Z(n,a,0,T),t=xe(t,r,v),r=xe(a,r,T);return Oe.Cartesian3.cross(r,t,i),Oe.Cartesian3.normalize(i,i)}var E=new Oe.Cartographic,_=new Oe.Cartesian3,b=new Oe.Cartesian3,O=new Oe.Cartesian3;function U(e,a,t,n,i,r,s,o,l,u,c){if(0!==i){var C;r===V.ArcType.GEODESIC?C=new M.EllipsoidGeodesic(e,a,s):r===V.ArcType.RHUMB&&(C=new Y.EllipsoidRhumbLine(e,a,s));r=C.surfaceDistance;if(!(r<i))for(var p=W(e,a,n,s,O),i=Math.ceil(r/i),d=r/i,h=d,g=i-1,f=o.length,m=0;m<g;m++){var w=C.interpolateUsingSurfaceDistance(h,E),y=Z(s,w,t,_),v=Z(s,w,n,b);Oe.Cartesian3.pack(p,o,f),Oe.Cartesian3.pack(y,l,f),Oe.Cartesian3.pack(v,u,f),c.push(w.latitude),c.push(w.longitude),f+=3,h+=d}}}var P=new Oe.Cartographic;function Z(e,a,t,n){return Oe.Cartographic.clone(a,P),P.height=t,Oe.Cartographic.toCartesian(P,e,n)}function xe(e,a,t){return Oe.Cartesian3.subtract(e,a,t),Oe.Cartesian3.normalize(t,t),t}function k(e,a,t,n){return n=xe(e,a,n),n=Oe.Cartesian3.cross(n,t,n),n=Oe.Cartesian3.normalize(n,n),n=Oe.Cartesian3.cross(t,n,n)}w.pack=function(e,a,t){var n=B.defaultValue(t,0),i=e._positions,r=i.length;a[n++]=r;for(var s=0;s<r;++s){var o=i[s];Oe.Cartesian3.pack(o,a,n),n+=3}return a[n++]=e.granularity,a[n++]=e.loop?1:0,a[n++]=e.arcType,Oe.Ellipsoid.pack(e._ellipsoid,a,n),n+=Oe.Ellipsoid.packedLength,a[n++]=e._projectionIndex,a[n++]=e._scene3DOnly?1:0,a},w.unpack=function(e,a,t){for(var n=B.defaultValue(a,0),i=e[n++],r=new Array(i),s=0;s<i;s++)r[s]=Oe.Cartesian3.unpack(e,n),n+=3;var o=e[n++],l=1===e[n++],u=e[n++],c=Oe.Ellipsoid.unpack(e,n);n+=Oe.Ellipsoid.packedLength;var C=e[n++],a=1===e[n++];return B.defined(t)||(t=new w({positions:r})),t._positions=r,t.granularity=o,t.loop=l,t.arcType=u,t._ellipsoid=c,t._projectionIndex=C,t._scene3DOnly=a,t};var A=new Oe.Cartesian3,L=new Oe.Cartesian3,S=new Oe.Cartesian3,I=new Oe.Cartesian3;function J(e,a,t,n,i){t=xe(t,a,I),e=k(e,a,t,A),a=k(n,a,t,L);if(be.CesiumMath.equalsEpsilon(Oe.Cartesian3.dot(e,a),-1,be.CesiumMath.EPSILON5))return i=Oe.Cartesian3.cross(t,e,i),i=Oe.Cartesian3.normalize(i,i);i=Oe.Cartesian3.add(a,e,i),i=Oe.Cartesian3.normalize(i,i);t=Oe.Cartesian3.cross(t,i,S);return Oe.Cartesian3.dot(a,t)<0&&(i=Oe.Cartesian3.negate(i,i)),i}var Q=r.Plane.fromPointNormal(Oe.Cartesian3.ZERO,Oe.Cartesian3.UNIT_Y),K=new Oe.Cartesian3,$=new Oe.Cartesian3,ee=new Oe.Cartesian3,ae=new Oe.Cartesian3,te=new Oe.Cartesian3,ne=new Oe.Cartesian3,ie=new Oe.Cartographic,re=new Oe.Cartographic,se=new Oe.Cartographic;w.createGeometry=function(e){var a,t,n,i,r,s=!e._scene3DOnly,o=e.loop,l=e._ellipsoid,u=e.granularity,c=e.arcType,C=new F[e._projectionIndex](l),p=q,d=X,h=e._positions,g=h.length;2===g&&(o=!1);for(var f,m,w,y=new Y.EllipsoidRhumbLine(void 0,void 0,l),v=[h[0]],M=0;M<g-1;M++)t=h[M],n=h[M+1],f=j.IntersectionTests.lineSegmentPlane(t,n,Q,ne),!B.defined(f)||Oe.Cartesian3.equalsEpsilon(f,t,be.CesiumMath.EPSILON7)||Oe.Cartesian3.equalsEpsilon(f,n,be.CesiumMath.EPSILON7)||(e.arcType===V.ArcType.GEODESIC?v.push(Oe.Cartesian3.clone(f)):e.arcType===V.ArcType.RHUMB&&(w=l.cartesianToCartographic(f,ie).longitude,i=l.cartesianToCartographic(t,ie),r=l.cartesianToCartographic(n,re),y.setEndPoints(i,r),m=y.findIntersectionWithLongitude(w,se),f=l.cartographicToCartesian(m,ne),!B.defined(f)||Oe.Cartesian3.equalsEpsilon(f,t,be.CesiumMath.EPSILON7)||Oe.Cartesian3.equalsEpsilon(f,n,be.CesiumMath.EPSILON7)||v.push(Oe.Cartesian3.clone(f)))),v.push(n);o&&(t=h[g-1],n=h[0],f=j.IntersectionTests.lineSegmentPlane(t,n,Q,ne),!B.defined(f)||Oe.Cartesian3.equalsEpsilon(f,t,be.CesiumMath.EPSILON7)||Oe.Cartesian3.equalsEpsilon(f,n,be.CesiumMath.EPSILON7)||(e.arcType===V.ArcType.GEODESIC?v.push(Oe.Cartesian3.clone(f)):e.arcType===V.ArcType.RHUMB&&(w=l.cartesianToCartographic(f,ie).longitude,i=l.cartesianToCartographic(t,ie),r=l.cartesianToCartographic(n,re),y.setEndPoints(i,r),m=y.findIntersectionWithLongitude(w,se),f=l.cartographicToCartesian(m,ne),!B.defined(f)||Oe.Cartesian3.equalsEpsilon(f,t,be.CesiumMath.EPSILON7)||Oe.Cartesian3.equalsEpsilon(f,n,be.CesiumMath.EPSILON7)||v.push(Oe.Cartesian3.clone(f)))));var T=v.length,E=new Array(T);for(M=0;M<T;M++){var _=Oe.Cartographic.fromCartesian(v[M],l);_.height=0,E[M]=_}if(!((T=(E=G.arrayRemoveDuplicates(E,Oe.Cartographic.equalsEpsilon)).length)<2)){var b=[],O=[],P=[],k=[],A=K,L=$,S=ee,I=ae,x=te,N=E[0],R=E[1];for(A=Z(l,E[T-1],p,A),I=Z(l,R,p,I),L=Z(l,N,p,L),S=Z(l,N,d,S),x=o?J(A,L,S,I,x):W(N,R,d,l,x),Oe.Cartesian3.pack(x,O,0),Oe.Cartesian3.pack(L,P,0),Oe.Cartesian3.pack(S,k,0),b.push(N.latitude),b.push(N.longitude),U(N,R,p,d,u,c,l,O,P,k,b),M=1;M<T-1;++M){A=Oe.Cartesian3.clone(L,A),L=Oe.Cartesian3.clone(I,L);var D=E[M];Z(l,D,d,S),Z(l,E[M+1],p,I),J(A,L,S,I,x),a=O.length,Oe.Cartesian3.pack(x,O,a),Oe.Cartesian3.pack(L,P,a),Oe.Cartesian3.pack(S,k,a),b.push(D.latitude),b.push(D.longitude),U(E[M],E[M+1],p,d,u,c,l,O,P,k,b)}var z=E[T-1],H=E[T-2],L=Z(l,z,p,L),S=Z(l,z,d,S);if(x=o?(R=E[0],J(A=Z(l,H,p,A),L,S,I=Z(l,R,p,I),x)):W(H,z,d,l,x),a=O.length,Oe.Cartesian3.pack(x,O,a),Oe.Cartesian3.pack(L,P,a),Oe.Cartesian3.pack(S,k,a),b.push(z.latitude),b.push(z.longitude),o){for(U(z,N,p,d,u,c,l,O,P,k,b),a=O.length,M=0;M<3;++M)O[a+M]=O[M],P[a+M]=P[M],k[a+M]=k[M];b.push(N.latitude),b.push(N.longitude)}return function(e,a,t,n,i,r,s){var o,l,u,c,C,p,d=a._ellipsoid,h=t.length/3-1,g=8*h,f=4*g,m=36*h,w=new(65535<g?Uint32Array:Uint16Array)(m),y=new Float64Array(3*g),v=new Float32Array(f),M=new Float32Array(f),T=new Float32Array(f),E=new Float32Array(f),_=new Float32Array(f);s&&(u=new Float32Array(f),c=new Float32Array(f),C=new Float32Array(f),p=new Float32Array(2*g));var b=r.length/2,O=0,P=He;P.height=0;var k=Be;k.height=0;var A=je,L=Ge;if(s)for(l=0,o=1;o<b;o++)P.latitude=r[l],P.longitude=r[l+1],k.latitude=r[l+2],k.longitude=r[l+3],A=a.project(P,A),L=a.project(k,L),O+=Oe.Cartesian3.distance(A,L),l+=2;var S=n.length/3;L=Oe.Cartesian3.unpack(n,0,L);var I,x=0;for(l=3,o=1;o<S;o++)A=Oe.Cartesian3.clone(L,A),L=Oe.Cartesian3.unpack(n,l,L),x+=Oe.Cartesian3.distance(A,L),l+=3;l=3;var N=0,R=0,D=0,z=0,H=!1,B=Oe.Cartesian3.unpack(t,0,Ye),j=Oe.Cartesian3.unpack(n,0,Ge),G=Oe.Cartesian3.unpack(i,0,qe);e&&(_e=Oe.Cartesian3.unpack(t,t.length-6,Ve),Ne(G,_e,B,j)&&(G=Oe.Cartesian3.negate(G,G)));var V,Y,F,q,X,W,U,Z=0,J=0,Q=0;for(o=0;o<h;o++){var K=Oe.Cartesian3.clone(B,Ve),$=Oe.Cartesian3.clone(j,je),ee=Oe.Cartesian3.clone(G,Fe);H&&(ee=Oe.Cartesian3.negate(ee,ee)),B=Oe.Cartesian3.unpack(t,l,Ye),j=Oe.Cartesian3.unpack(n,l,Ge),G=Oe.Cartesian3.unpack(i,l,qe),H=Ne(G,K,B,j),P.latitude=r[N],P.longitude=r[N+1],k.latitude=r[N+2],k.longitude=r[N+3],s&&(Me=function(e,a){var t=Math.abs(e.longitude),n=Math.abs(a.longitude);{if(be.CesiumMath.equalsEpsilon(t,be.CesiumMath.PI,be.CesiumMath.EPSILON11)){var i=be.CesiumMath.sign(a.longitude);return e.longitude=i*(t-be.CesiumMath.EPSILON11),1}if(be.CesiumMath.equalsEpsilon(n,be.CesiumMath.PI,be.CesiumMath.EPSILON11)){e=be.CesiumMath.sign(e.longitude);return a.longitude=e*(n-be.CesiumMath.EPSILON11),2}}return 0}(P,k),V=a.project(P,Ke),(pe=xe(Y=a.project(k,$e),V,ca)).y=Math.abs(pe.y),F=ea,q=aa,0===Me||Oe.Cartesian3.dot(pe,Oe.Cartesian3.UNIT_Y)>Ie?(F=Re(a,P,ee,V,ea),q=Re(a,k,G,Y,aa)):1===Me?(q=Re(a,k,G,Y,aa),F.x=0,F.y=be.CesiumMath.sign(P.longitude-Math.abs(k.longitude)),F.z=0):(F=Re(a,P,ee,V,ea),q.x=0,q.y=be.CesiumMath.sign(P.longitude-k.longitude),q.z=0));var ae=Oe.Cartesian3.distance($,j),te=Le.EncodedCartesian3.fromCartesian(K,la),ne=Oe.Cartesian3.subtract(B,K,ta),ie=Oe.Cartesian3.normalize(ne,ra),re=Oe.Cartesian3.subtract($,K,na);re=Oe.Cartesian3.normalize(re,re);var se=Oe.Cartesian3.cross(ie,re,ra);se=Oe.Cartesian3.normalize(se,se);var oe=Oe.Cartesian3.cross(re,ee,sa);oe=Oe.Cartesian3.normalize(oe,oe);var le=Oe.Cartesian3.subtract(j,B,ia);le=Oe.Cartesian3.normalize(le,le);var ue=Oe.Cartesian3.cross(G,le,oa);ue=Oe.Cartesian3.normalize(ue,ue);var ce=ae/x,Ce=Z/x,pe=0,de=0,he=0;for(s&&(pe=Oe.Cartesian3.distance(V,Y),X=Le.EncodedCartesian3.fromCartesian(V,ua),W=Oe.Cartesian3.subtract(Y,V,ca),Te=(U=Oe.Cartesian3.normalize(W,Ca)).x,U.x=U.y,U.y=-Te,de=pe/O,he=J/O),I=0;I<8;I++){var ge=z+4*I,fe=R+2*I,me=ge+3,we=I<4?1:-1,ye=2===I||3===I||6===I||7===I?1:-1;Oe.Cartesian3.pack(te.high,v,ge),v[me]=ne.x,Oe.Cartesian3.pack(te.low,M,ge),M[me]=ne.y,Oe.Cartesian3.pack(oe,T,ge),T[me]=ne.z,Oe.Cartesian3.pack(ue,E,ge),E[me]=ce*we,Oe.Cartesian3.pack(se,_,ge);var ve=Ce*ye;0===ve&&ye<0&&(ve=9),_[me]=ve,s&&(u[ge]=X.high.x,u[ge+1]=X.high.y,u[ge+2]=X.low.x,u[ge+3]=X.low.y,C[ge]=-F.y,C[ge+1]=F.x,C[ge+2]=q.y,C[ge+3]=-q.x,c[ge]=W.x,c[ge+1]=W.y,c[ge+2]=U.x,c[ge+3]=U.y,p[fe]=de*we,0===(ve=he*ye)&&ye<0&&(ve=9),p[fe+1]=ve)}var Me=Je,ie=Qe,re=Ue,ee=Ze,le=Oe.Rectangle.fromCartographicArray(Xe,We),Te=Se.getMinimumMaximumHeights(le,d),le=Te.minimumTerrainHeight,Te=Te.maximumTerrainHeight;Q+=le,Q+=Te,De(K,$,le,Te,Me,re),De(B,j,le,Te,ie,ee);Te=Oe.Cartesian3.multiplyByScalar(se,be.CesiumMath.EPSILON5,pa);Oe.Cartesian3.add(Me,Te,Me),Oe.Cartesian3.add(ie,Te,ie),Oe.Cartesian3.add(re,Te,re),Oe.Cartesian3.add(ee,Te,ee),ze(Me,ie),ze(re,ee),Oe.Cartesian3.pack(Me,y,D),Oe.Cartesian3.pack(ie,y,D+3),Oe.Cartesian3.pack(ee,y,D+6),Oe.Cartesian3.pack(re,y,D+9),Te=Oe.Cartesian3.multiplyByScalar(se,-2*be.CesiumMath.EPSILON5,pa),Oe.Cartesian3.add(Me,Te,Me),Oe.Cartesian3.add(ie,Te,ie),Oe.Cartesian3.add(re,Te,re),Oe.Cartesian3.add(ee,Te,ee),ze(Me,ie),ze(re,ee),Oe.Cartesian3.pack(Me,y,D+12),Oe.Cartesian3.pack(ie,y,D+15),Oe.Cartesian3.pack(ee,y,D+18),Oe.Cartesian3.pack(re,y,D+21),N+=2,l+=3,R+=16,D+=24,z+=32,Z+=ae,J+=pe}var Ee=l=0;for(o=0;o<h;o++){for(I=0;I<ga;I++)w[l+I]=ha[I]+Ee;Ee+=8,l+=ga}e=da;Pe.BoundingSphere.fromVertices(t,Oe.Cartesian3.ZERO,3,e[0]),Pe.BoundingSphere.fromVertices(n,Oe.Cartesian3.ZERO,3,e[1]);var _e=Pe.BoundingSphere.fromBoundingSpheres(e);_e.radius+=Q/(2*h);e={position:new Ae.GeometryAttribute({componentDatatype:ke.ComponentDatatype.DOUBLE,componentsPerAttribute:3,normalize:!1,values:y}),startHiAndForwardOffsetX:fa(v),startLoAndForwardOffsetY:fa(M),startNormalAndForwardOffsetZ:fa(T),endNormalAndTextureCoordinateNormalizationX:fa(E),rightNormalAndTextureCoordinateNormalizationY:fa(_)};s&&(e.startHiLo2D=fa(u),e.offsetAndRight2D=fa(c),e.startEndNormals2D=fa(C),e.texcoordNormalization2D=new Ae.GeometryAttribute({componentDatatype:ke.ComponentDatatype.FLOAT,componentsPerAttribute:2,normalize:!1,values:p}));return new Ae.Geometry({attributes:e,indices:w,boundingSphere:_e})}(o,C,P,k,O,b,s)}};var x=new Oe.Cartesian3,N=new Pe.Matrix3,R=new Pe.Quaternion;function Ne(e,a,t,n){a=xe(t,a,x),a=Oe.Cartesian3.dot(a,e);if(Ie<a||a<m){t=xe(n,t,I),a=a<m?be.CesiumMath.PI_OVER_TWO:-be.CesiumMath.PI_OVER_TWO,a=Pe.Quaternion.fromAxisAngle(t,a,R),a=Pe.Matrix3.fromQuaternion(a,N);return Pe.Matrix3.multiplyByVector(a,e,e),!0}return!1}var D=new Oe.Cartographic,z=new Oe.Cartesian3,H=new Oe.Cartesian3;function Re(e,a,t,n,i){var r=Oe.Cartographic.toCartesian(a,e._ellipsoid,z),s=Oe.Cartesian3.add(r,t,H),o=!1,l=e._ellipsoid,u=l.cartesianToCartographic(s,D);Math.abs(a.longitude-u.longitude)>be.CesiumMath.PI_OVER_TWO&&(o=!0,s=Oe.Cartesian3.subtract(r,t,H),u=l.cartesianToCartographic(s,D)),u.height=0;u=e.project(u,i);return(i=Oe.Cartesian3.subtract(u,n,i)).z=0,i=Oe.Cartesian3.normalize(i,i),o&&Oe.Cartesian3.negate(i,i),i}var oe=new Oe.Cartesian3,le=new Oe.Cartesian3;function De(e,a,t,n,i,r){var s=Oe.Cartesian3.subtract(a,e,oe);Oe.Cartesian3.normalize(s,s);t-=q,t=Oe.Cartesian3.multiplyByScalar(s,t,le);Oe.Cartesian3.add(e,t,i);n-=X,t=Oe.Cartesian3.multiplyByScalar(s,n,le);Oe.Cartesian3.add(a,t,r)}var ue=new Oe.Cartesian3;function ze(e,a){var t=r.Plane.getPointDistance(Q,e),n=r.Plane.getPointDistance(Q,a),i=ue;be.CesiumMath.equalsEpsilon(t,0,be.CesiumMath.EPSILON2)?(i=xe(a,e,i),Oe.Cartesian3.multiplyByScalar(i,be.CesiumMath.EPSILON2,i),Oe.Cartesian3.add(e,i,e)):be.CesiumMath.equalsEpsilon(n,0,be.CesiumMath.EPSILON2)&&(i=xe(e,a,i),Oe.Cartesian3.multiplyByScalar(i,be.CesiumMath.EPSILON2,i),Oe.Cartesian3.add(a,i,a))}var He=new Oe.Cartographic,Be=new Oe.Cartographic,je=new Oe.Cartesian3,Ge=new Oe.Cartesian3,Ve=new Oe.Cartesian3,Ye=new Oe.Cartesian3,Fe=new Oe.Cartesian3,qe=new Oe.Cartesian3,Xe=[He,Be],We=new Oe.Rectangle,Ue=new Oe.Cartesian3,Ze=new Oe.Cartesian3,Je=new Oe.Cartesian3,Qe=new Oe.Cartesian3,Ke=new Oe.Cartesian3,$e=new Oe.Cartesian3,ea=new Oe.Cartesian3,aa=new Oe.Cartesian3,ta=new Oe.Cartesian3,na=new Oe.Cartesian3,ia=new Oe.Cartesian3,ra=new Oe.Cartesian3,sa=new Oe.Cartesian3,oa=new Oe.Cartesian3,la=new Le.EncodedCartesian3,ua=new Le.EncodedCartesian3,ca=new Oe.Cartesian3,Ca=new Oe.Cartesian3,pa=new Oe.Cartesian3,da=[new Pe.BoundingSphere,new Pe.BoundingSphere],ha=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],ga=ha.length;function fa(e){return new Ae.GeometryAttribute({componentDatatype:ke.ComponentDatatype.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}return w._projectNormal=Re,function(e,a){return Se.initialize().then(function(){return B.defined(a)&&(e=w.unpack(e,a)),w.createGeometry(e)})}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createPlaneGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createPlaneGeometry.js new file mode 100644 index 000000000..bfff3f2db --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createPlaneGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./VertexFormat-7572c785"],function(n,e,t,o,m,r,a,i,u,c,p){"use strict";function y(e){e=n.defaultValue(e,n.defaultValue.EMPTY_OBJECT);e=n.defaultValue(e.vertexFormat,p.VertexFormat.DEFAULT);this._vertexFormat=e,this._workerName="createPlaneGeometry"}y.packedLength=p.VertexFormat.packedLength,y.pack=function(e,t,r){return r=n.defaultValue(r,0),p.VertexFormat.pack(e._vertexFormat,t,r),t};var s=new p.VertexFormat,b={vertexFormat:s};y.unpack=function(e,t,r){t=n.defaultValue(t,0);t=p.VertexFormat.unpack(e,t,s);return n.defined(r)?(r._vertexFormat=p.VertexFormat.clone(t,r._vertexFormat),r):new y(b)};var A=new o.Cartesian3(-.5,-.5,0),l=new o.Cartesian3(.5,.5,0);return y.createGeometry=function(e){var t,r,n=e._vertexFormat,a=new c.GeometryAttributes;return n.position&&((e=new Float64Array(12))[0]=A.x,e[1]=A.y,e[2]=0,e[3]=l.x,e[4]=A.y,e[5]=0,e[6]=l.x,e[7]=l.y,e[8]=0,e[9]=A.x,e[10]=l.y,e[11]=0,a.position=new u.GeometryAttribute({componentDatatype:i.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:e}),n.normal&&((e=new Float32Array(12))[0]=0,e[1]=0,e[2]=1,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=1,e[9]=0,e[10]=0,e[11]=1,a.normal=new u.GeometryAttribute({componentDatatype:i.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:e})),n.st&&((t=new Float32Array(8))[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=1,t[5]=1,t[6]=0,t[7]=1,a.st=new u.GeometryAttribute({componentDatatype:i.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:t})),n.tangent&&((t=new Float32Array(12))[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=1,t[7]=0,t[8]=0,t[9]=1,t[10]=0,t[11]=0,a.tangent=new u.GeometryAttribute({componentDatatype:i.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:t})),n.bitangent&&((r=new Float32Array(12))[0]=0,r[1]=1,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=1,r[8]=0,r[9]=0,r[10]=1,r[11]=0,a.bitangent=new u.GeometryAttribute({componentDatatype:i.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:r})),(r=new Uint16Array(6))[0]=0,r[1]=1,r[2]=2,r[3]=0,r[4]=2,r[5]=3),new u.Geometry({attributes:a,indices:r,primitiveType:u.PrimitiveType.TRIANGLES,boundingSphere:new m.BoundingSphere(o.Cartesian3.ZERO,Math.sqrt(2))})},function(e,t){return n.defined(t)&&(e=y.unpack(e,t)),y.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createPlaneOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createPlaneOutlineGeometry.js new file mode 100644 index 000000000..f3dd7a0c9 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createPlaneOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40"],function(r,e,t,a,i,n,o,c,u,s){"use strict";function y(){this._workerName="createPlaneOutlineGeometry"}y.packedLength=0,y.pack=function(e,t){return t},y.unpack=function(e,t,n){return r.defined(n)?n:new y};var m=new a.Cartesian3(-.5,-.5,0),p=new a.Cartesian3(.5,.5,0);return y.createGeometry=function(){var e=new s.GeometryAttributes,t=new Uint16Array(8),n=new Float64Array(12);return n[0]=m.x,n[1]=m.y,n[2]=m.z,n[3]=p.x,n[4]=m.y,n[5]=m.z,n[6]=p.x,n[7]=p.y,n[8]=m.z,n[9]=m.x,n[10]=p.y,n[11]=m.z,e.position=new u.GeometryAttribute({componentDatatype:c.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:n}),t[0]=0,t[1]=1,t[2]=1,t[3]=2,t[4]=2,t[5]=3,t[6]=3,t[7]=0,new u.Geometry({attributes:e,indices:t,primitiveType:u.PrimitiveType.LINES,boundingSphere:new i.BoundingSphere(a.Cartesian3.ZERO,Math.sqrt(2))})},function(e,t){return r.defined(t)&&(e=y.unpack(e,t)),y.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createPolygonGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createPolygonGeometry.js new file mode 100644 index 000000000..376c54925 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createPolygonGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./GeometryInstance-161eaba2","./arrayRemoveDuplicates-ebc732b0","./BoundingRectangle-57c5d513","./EllipsoidTangentPlane-64140317","./ArcType-dc1c5aee","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./PolygonGeometryLibrary-eba8dd45","./EllipsoidGeodesic-30fae80b"],function(z,e,W,Y,U,t,r,j,Q,o,a,A,i,E,n,s,q,f,G,l,u,O,p,c,V,F,y){"use strict";var K=new Y.Cartographic,Z=new Y.Cartographic;var D=new u.BoundingRectangle,J=new Y.Cartesian3,X=new Y.Cartesian3,$=new Y.Cartesian3,ee=new Y.Cartesian3,te=new Y.Cartesian3,re=new Y.Cartesian3,oe=new Y.Cartesian3,ae=new Y.Cartesian3,ie=new Y.Cartesian3,ne=new Y.Cartesian2,se=new Y.Cartesian2,le=new Y.Cartesian3,ue=new U.Quaternion,ce=new U.Matrix3,pe=new U.Matrix3;function L(e){var t,r=e.vertexFormat,o=e.geometry,a=e.shadowVolume,i=o.attributes.position.values,n=i.length,s=e.wall,l=e.top||s,u=e.bottom||s;if(r.st||r.normal||r.tangent||r.bitangent||a){var c=e.boundingRectangle,p=e.tangentPlane,y=e.ellipsoid,m=e.stRotation,g=e.perPositionHeight,d=ne;d.x=c.x,d.y=c.y;var h,f=r.st?new Float32Array(n/3*2):void 0;r.normal&&(h=g&&l&&!s?o.attributes.normal.values:new Float32Array(n));var b,_=r.tangent?new Float32Array(n):void 0,v=r.bitangent?new Float32Array(n):void 0,P=a?new Float32Array(n):void 0,C=0,w=0,x=X,T=$,I=ee,A=!0,E=ce,G=pe;G=0!==m?(b=U.Quaternion.fromAxisAngle(p._plane.normal,m,ue),E=U.Matrix3.fromQuaternion(b,E),b=U.Quaternion.fromAxisAngle(p._plane.normal,-m,ue),U.Matrix3.fromQuaternion(b,G)):(E=U.Matrix3.clone(U.Matrix3.IDENTITY,E),U.Matrix3.clone(U.Matrix3.IDENTITY,G));var O=0,V=0;l&&u&&(O=n/2,V=n/3,n/=2);for(var F=0;F<n;F+=3){var D,L,N,H,R,M,S,B,k=Y.Cartesian3.fromArray(i,F,le);r.st&&(D=U.Matrix3.multiplyByVector(E,k,J),D=y.scaleToGeodeticSurface(D,D),L=p.projectPointOntoPlane(D,se),Y.Cartesian2.subtract(L,d,L),N=W.CesiumMath.clamp(L.x/c.width,0,1),H=W.CesiumMath.clamp(L.y/c.height,0,1),u&&(f[C+V]=N,f[C+1+V]=H),l&&(f[C]=N,f[C+1]=H),C+=2),(r.normal||r.tangent||r.bitangent||a)&&(R=w+1,M=w+2,s?(F+3<n&&(S=Y.Cartesian3.fromArray(i,F+3,te),A&&(B=Y.Cartesian3.fromArray(i,F+n,re),g&&(t=k,D=S,L=B,N=void 0,N=(H=y).cartesianToCartographic(t,K).height,(t=H.cartesianToCartographic(D,Z)).height=N,H.cartographicToCartesian(t,D),(D=H.cartesianToCartographic(L,Z)).height=N-100,H.cartographicToCartesian(D,L)),Y.Cartesian3.subtract(S,k,S),Y.Cartesian3.subtract(B,k,B),x=Y.Cartesian3.normalize(Y.Cartesian3.cross(B,S,x),x),A=!1),Y.Cartesian3.equalsEpsilon(S,k,W.CesiumMath.EPSILON10)&&(A=!0)),(r.tangent||r.bitangent)&&(I=y.geodeticSurfaceNormal(k,I),r.tangent&&(T=Y.Cartesian3.normalize(Y.Cartesian3.cross(I,x,T),T)))):(x=y.geodeticSurfaceNormal(k,x),(r.tangent||r.bitangent)&&(g&&(oe=Y.Cartesian3.fromArray(h,w,oe),ae=Y.Cartesian3.cross(Y.Cartesian3.UNIT_Z,oe,ae),ae=Y.Cartesian3.normalize(U.Matrix3.multiplyByVector(G,ae,ae),ae),r.bitangent&&(ie=Y.Cartesian3.normalize(Y.Cartesian3.cross(oe,ae,ie),ie))),T=Y.Cartesian3.cross(Y.Cartesian3.UNIT_Z,x,T),T=Y.Cartesian3.normalize(U.Matrix3.multiplyByVector(G,T,T),T),r.bitangent&&(I=Y.Cartesian3.normalize(Y.Cartesian3.cross(x,T,I),I)))),r.normal&&(e.wall?(h[w+O]=x.x,h[R+O]=x.y,h[M+O]=x.z):u&&(h[w+O]=-x.x,h[R+O]=-x.y,h[M+O]=-x.z),(l&&!g||s)&&(h[w]=x.x,h[R]=x.y,h[M]=x.z)),a&&(s&&(x=y.geodeticSurfaceNormal(k,x)),P[w+O]=-x.x,P[R+O]=-x.y,P[M+O]=-x.z),r.tangent&&(e.wall?(_[w+O]=T.x,_[R+O]=T.y,_[M+O]=T.z):u&&(_[w+O]=-T.x,_[R+O]=-T.y,_[M+O]=-T.z),l&&(g?(_[w]=ae.x,_[R]=ae.y,_[M]=ae.z):(_[w]=T.x,_[R]=T.y,_[M]=T.z))),r.bitangent&&(u&&(v[w+O]=I.x,v[R+O]=I.y,v[M+O]=I.z),l&&(g?(v[w]=ie.x,v[R]=ie.y,v[M]=ie.z):(v[w]=I.x,v[R]=I.y,v[M]=I.z))),w+=3)}r.st&&(o.attributes.st=new Q.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:f})),r.normal&&(o.attributes.normal=new Q.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:h})),r.tangent&&(o.attributes.tangent=new Q.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:_})),r.bitangent&&(o.attributes.bitangent=new Q.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:v})),a&&(o.attributes.extrudeDirection=new Q.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:P}))}return e.extrude&&z.defined(e.offsetAttribute)&&(m=i.length/3,b=new Uint8Array(m),e.offsetAttribute===q.GeometryOffsetAttribute.TOP?l&&u||s?b=q.arrayFill(b,1,0,m/2):l&&(b=q.arrayFill(b,1)):(m=e.offsetAttribute===q.GeometryOffsetAttribute.NONE?0:1,b=q.arrayFill(b,m)),o.attributes.applyOffset=new Q.GeometryAttribute({componentDatatype:j.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})),o}var m=new Y.Cartographic,g=new Y.Cartographic,d={westOverIDL:0,eastOverIDL:0},h=new y.EllipsoidGeodesic;function b(e,t,r,o,a){if(a=z.defaultValue(a,new Y.Rectangle),!z.defined(e)||e.length<3)return a.west=0,a.north=0,a.south=0,a.east=0,a;if(r===p.ArcType.RHUMB)return Y.Rectangle.fromCartesianArray(e,t,a);h.ellipsoid.equals(t)||(h=new y.EllipsoidGeodesic(void 0,void 0,t)),a.west=Number.POSITIVE_INFINITY,a.east=Number.NEGATIVE_INFINITY,a.south=Number.POSITIVE_INFINITY,a.north=Number.NEGATIVE_INFINITY,d.westOverIDL=Number.POSITIVE_INFINITY,d.eastOverIDL=Number.NEGATIVE_INFINITY;for(var i,n=1/W.CesiumMath.chordLength(o,t.maximumRadius),s=e.length,l=t.cartesianToCartographic(e[0],g),u=m,c=1;c<s;c++)i=u,u=l,l=t.cartesianToCartographic(e[c],i),h.setEndPoints(u,l),v(h,n,a,d);return i=u,u=l,l=t.cartesianToCartographic(e[0],i),h.setEndPoints(u,l),v(h,n,a,d),a.east-a.west>d.eastOverIDL-d.westOverIDL&&(a.west=d.westOverIDL,a.east=d.eastOverIDL,a.east>W.CesiumMath.PI&&(a.east=a.east-W.CesiumMath.TWO_PI),a.west>W.CesiumMath.PI&&(a.west=a.west-W.CesiumMath.TWO_PI)),a}var _=new Y.Cartographic;function v(e,t,r,o){for(var a=e.surfaceDistance,i=Math.ceil(a*t),n=0<i?a/(i-1):Number.POSITIVE_INFINITY,s=0,l=0;l<i;l++){var u=e.interpolateUsingSurfaceDistance(s,_);s+=n;var c=u.longitude,u=u.latitude;r.west=Math.min(r.west,c),r.east=Math.max(r.east,c),r.south=Math.min(r.south,u),r.north=Math.max(r.north,u);c=0<=c?c:c+W.CesiumMath.TWO_PI;o.westOverIDL=Math.min(o.westOverIDL,c),o.eastOverIDL=Math.max(o.eastOverIDL,c)}}var N=[];function P(e){var t,r=e.polygonHierarchy,o=z.defaultValue(e.vertexFormat,f.VertexFormat.DEFAULT),a=z.defaultValue(e.ellipsoid,Y.Ellipsoid.WGS84),i=z.defaultValue(e.granularity,W.CesiumMath.RADIANS_PER_DEGREE),n=z.defaultValue(e.stRotation,0),s=z.defaultValue(e.perPositionHeight,!1),l=s&&z.defined(e.extrudedHeight),u=z.defaultValue(e.height,0),c=z.defaultValue(e.extrudedHeight,u);l||(t=Math.max(u,c),c=Math.min(u,c),u=t),this._vertexFormat=f.VertexFormat.clone(o),this._ellipsoid=Y.Ellipsoid.clone(a),this._granularity=i,this._stRotation=n,this._height=u,this._extrudedHeight=c,this._closeTop=z.defaultValue(e.closeTop,!0),this._closeBottom=z.defaultValue(e.closeBottom,!0),this._polygonHierarchy=r,this._perPositionHeight=s,this._perPositionHeightExtrude=l,this._shadowVolume=z.defaultValue(e.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=e.offsetAttribute,this._arcType=z.defaultValue(e.arcType,p.ArcType.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this.packedLength=F.PolygonGeometryLibrary.computeHierarchyPackedLength(r)+Y.Ellipsoid.packedLength+f.VertexFormat.packedLength+12}P.fromPositions=function(e){return new P({polygonHierarchy:{positions:(e=z.defaultValue(e,z.defaultValue.EMPTY_OBJECT)).positions},height:e.height,extrudedHeight:e.extrudedHeight,vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,closeTop:e.closeTop,closeBottom:e.closeBottom,offsetAttribute:e.offsetAttribute,arcType:e.arcType})},P.pack=function(e,t,r){return r=z.defaultValue(r,0),r=F.PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,r),Y.Ellipsoid.pack(e._ellipsoid,t,r),r+=Y.Ellipsoid.packedLength,f.VertexFormat.pack(e._vertexFormat,t,r),r+=f.VertexFormat.packedLength,t[r++]=e._height,t[r++]=e._extrudedHeight,t[r++]=e._granularity,t[r++]=e._stRotation,t[r++]=e._perPositionHeightExtrude?1:0,t[r++]=e._perPositionHeight?1:0,t[r++]=e._closeTop?1:0,t[r++]=e._closeBottom?1:0,t[r++]=e._shadowVolume?1:0,t[r++]=z.defaultValue(e._offsetAttribute,-1),t[r++]=e._arcType,t[r]=e.packedLength,t};var C=Y.Ellipsoid.clone(Y.Ellipsoid.UNIT_SPHERE),w=new f.VertexFormat,x={polygonHierarchy:{}};return P.unpack=function(e,t,r){t=z.defaultValue(t,0);var o=F.PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=o.startingIndex,delete o.startingIndex;var a=Y.Ellipsoid.unpack(e,t,C);t+=Y.Ellipsoid.packedLength;var i=f.VertexFormat.unpack(e,t,w);t+=f.VertexFormat.packedLength;var n=e[t++],s=e[t++],l=e[t++],u=e[t++],c=1===e[t++],p=1===e[t++],y=1===e[t++],m=1===e[t++],g=1===e[t++],d=e[t++],h=e[t++],t=e[t];return z.defined(r)||(r=new P(x)),r._polygonHierarchy=o,r._ellipsoid=Y.Ellipsoid.clone(a,r._ellipsoid),r._vertexFormat=f.VertexFormat.clone(i,r._vertexFormat),r._height=n,r._extrudedHeight=s,r._granularity=l,r._stRotation=u,r._perPositionHeightExtrude=c,r._perPositionHeight=p,r._closeTop=y,r._closeBottom=m,r._shadowVolume=g,r._offsetAttribute=-1===d?void 0:d,r._arcType=h,r.packedLength=t,r},P.computeRectangle=function(e,t){var r=z.defaultValue(e.granularity,W.CesiumMath.RADIANS_PER_DEGREE),o=z.defaultValue(e.arcType,p.ArcType.GEODESIC),a=e.polygonHierarchy,e=z.defaultValue(e.ellipsoid,Y.Ellipsoid.WGS84);return b(a.positions,e,o,r,t)},P.createGeometry=function(e){var t=e._vertexFormat,r=e._ellipsoid,o=e._granularity,a=e._stRotation,i=e._polygonHierarchy,n=e._perPositionHeight,s=e._closeTop,l=e._closeBottom,u=e._arcType,c=i.positions;if(!(c.length<3)){var p=O.EllipsoidTangentPlane.fromPoints(c,r),i=F.PolygonGeometryLibrary.polygonsFromHierarchy(i,p.projectPointsOntoPlane.bind(p),!n,r),y=i.hierarchy,m=i.polygons;if(0!==y.length){c=y[0].outerRing;var g,c=F.PolygonGeometryLibrary.computeBoundingRectangle(p.plane.normal,p.projectPointOntoPlane.bind(p),c,a,D),d=[],h=e._height,f=e._extrudedHeight,b={perPositionHeight:n,vertexFormat:t,geometry:void 0,tangentPlane:p,boundingRectangle:c,ellipsoid:r,stRotation:a,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:u};if(e._perPositionHeightExtrude||!W.CesiumMath.equalsEpsilon(h,f,0,W.CesiumMath.EPSILON2))for(b.extrude=!0,b.top=s,b.bottom=l,b.shadowVolume=e._shadowVolume,b.offsetAttribute=e._offsetAttribute,g=0;g<m.length;g++){var _,v=function(e,t,r,o,a,i,n,s,l){var u={walls:[]};if(i||n){var c=F.PolygonGeometryLibrary.createGeometryFromPositions(e,t,r,a,s,l),t=c.attributes.position.values,p=c.indices;if(i&&n){var y,i=t.concat(t),m=i.length/3;(y=E.IndexDatatype.createTypedArray(m,2*p.length)).set(p);for(var g=p.length,d=m/2,h=0;h<g;h+=3){var f=y[h]+d,b=y[h+1]+d,_=y[h+2]+d;y[h+g]=_,y[h+1+g]=b,y[h+2+g]=f}c.attributes.position.values=i,a&&s.normal&&(s=c.attributes.normal.values,c.attributes.normal.values=new Float32Array(i.length),c.attributes.normal.values.set(s)),c.indices=y}else if(n){for(m=t.length/3,y=E.IndexDatatype.createTypedArray(m,p.length),h=0;h<p.length;h+=3)y[h]=p[h+2],y[h+1]=p[h+1],y[h+2]=p[h];c.indices=y}u.topAndBottom=new G.GeometryInstance({geometry:c})}var c=o.outerRing,v=O.EllipsoidTangentPlane.fromPoints(c,e).projectPointsOntoPlane(c,N);V.PolygonPipeline.computeWindingOrder2D(v)===V.WindingOrder.CLOCKWISE&&(c=c.slice().reverse());var P=F.PolygonGeometryLibrary.computeWallGeometry(c,e,r,a,l);u.walls.push(new G.GeometryInstance({geometry:P}));var C=o.holes;for(h=0;h<C.length;h++){var w=C[h],v=O.EllipsoidTangentPlane.fromPoints(w,e).projectPointsOntoPlane(w,N);V.PolygonPipeline.computeWindingOrder2D(v)===V.WindingOrder.COUNTER_CLOCKWISE&&(w=w.slice().reverse()),P=F.PolygonGeometryLibrary.computeWallGeometry(w,e,r,a,l),u.walls.push(new G.GeometryInstance({geometry:P}))}return u}(r,m[g],o,y[g],n,s,l,t,u);s&&l?(_=v.topAndBottom,b.geometry=F.PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(_.geometry,h,f,r,n)):s?((_=v.topAndBottom).geometry.attributes.position.values=V.PolygonPipeline.scaleToGeodeticHeight(_.geometry.attributes.position.values,h,r,!n),b.geometry=_.geometry):l&&((_=v.topAndBottom).geometry.attributes.position.values=V.PolygonPipeline.scaleToGeodeticHeight(_.geometry.attributes.position.values,f,r,!0),b.geometry=_.geometry),(s||l)&&(b.wall=!1,_.geometry=L(b),d.push(_));var P=v.walls;b.wall=!0;for(var C=0;C<P.length;C++){var w=P[C];b.geometry=F.PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(w.geometry,h,f,r,n),w.geometry=L(b),d.push(w)}}else for(g=0;g<m.length;g++){var x,T,I=new G.GeometryInstance({geometry:F.PolygonGeometryLibrary.createGeometryFromPositions(r,m[g],o,n,t,u)});I.geometry.attributes.position.values=V.PolygonPipeline.scaleToGeodeticHeight(I.geometry.attributes.position.values,h,r,!n),b.geometry=I.geometry,I.geometry=L(b),z.defined(e._offsetAttribute)&&(T=I.geometry.attributes.position.values.length,x=new Uint8Array(T/3),T=e._offsetAttribute===q.GeometryOffsetAttribute.NONE?0:1,q.arrayFill(x,T),I.geometry.attributes.applyOffset=new Q.GeometryAttribute({componentDatatype:j.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})),d.push(I)}p=A.GeometryPipeline.combineInstances(d)[0];p.attributes.position.values=new Float64Array(p.attributes.position.values),p.indices=E.IndexDatatype.createTypedArray(p.attributes.position.values.length/3,p.indices);c=p.attributes,a=U.BoundingSphere.fromVertices(c.position.values);return t.position||delete c.position,new Q.Geometry({attributes:c,indices:p.indices,primitiveType:p.primitiveType,boundingSphere:a,offsetAttribute:e._offsetAttribute})}}},P.createShadowVolume=function(e,t,r){var o=e._granularity,a=e._ellipsoid,t=t(o,a),r=r(o,a);return new P({polygonHierarchy:e._polygonHierarchy,ellipsoid:a,stRotation:e._stRotation,granularity:o,perPositionHeight:!1,extrudedHeight:t,height:r,vertexFormat:f.VertexFormat.POSITION_ONLY,shadowVolume:!0,arcType:e._arcType})},Object.defineProperties(P.prototype,{rectangle:{get:function(){var e;return z.defined(this._rectangle)||(e=this._polygonHierarchy.positions,this._rectangle=b(e,this._ellipsoid,this._arcType,this._granularity)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return z.defined(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=function(e){var t=-e._stRotation;if(0==t)return[0,0,0,1,1,0];var r=e._ellipsoid,o=e._polygonHierarchy.positions,e=e.rectangle;return Q.Geometry._textureCoordinateRotationPoints(o,t,r,e)}(this)),this._textureCoordinateRotationPoints}}}),function(e,t){return z.defined(t)&&(e=P.unpack(e,t)),e._ellipsoid=Y.Ellipsoid.clone(e._ellipsoid),P.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createPolygonOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createPolygonOutlineGeometry.js new file mode 100644 index 000000000..210e78027 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createPolygonOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./GeometryOffsetAttribute-7350d9af","./GeometryInstance-161eaba2","./arrayRemoveDuplicates-ebc732b0","./EllipsoidTangentPlane-64140317","./ArcType-dc1c5aee","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./PolygonGeometryLibrary-eba8dd45"],function(m,e,b,d,P,t,i,E,A,_,r,v,o,G,n,a,L,T,l,H,C,s,O,D){"use strict";var x=[],I=[];function c(e){var t,i=e.polygonHierarchy,r=m.defaultValue(e.ellipsoid,d.Ellipsoid.WGS84),o=m.defaultValue(e.granularity,b.CesiumMath.RADIANS_PER_DEGREE),n=m.defaultValue(e.perPositionHeight,!1),a=n&&m.defined(e.extrudedHeight),l=m.defaultValue(e.arcType,C.ArcType.GEODESIC),s=m.defaultValue(e.height,0),y=m.defaultValue(e.extrudedHeight,s);a||(t=Math.max(s,y),y=Math.min(s,y),s=t),this._ellipsoid=d.Ellipsoid.clone(r),this._granularity=o,this._height=s,this._extrudedHeight=y,this._arcType=l,this._polygonHierarchy=i,this._perPositionHeight=n,this._perPositionHeightExtrude=a,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=D.PolygonGeometryLibrary.computeHierarchyPackedLength(i)+d.Ellipsoid.packedLength+8}c.pack=function(e,t,i){return i=m.defaultValue(i,0),i=D.PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,i),d.Ellipsoid.pack(e._ellipsoid,t,i),i+=d.Ellipsoid.packedLength,t[i++]=e._height,t[i++]=e._extrudedHeight,t[i++]=e._granularity,t[i++]=e._perPositionHeightExtrude?1:0,t[i++]=e._perPositionHeight?1:0,t[i++]=e._arcType,t[i++]=m.defaultValue(e._offsetAttribute,-1),t[i]=e.packedLength,t};var g=d.Ellipsoid.clone(d.Ellipsoid.UNIT_SPHERE),f={polygonHierarchy:{}};return c.unpack=function(e,t,i){t=m.defaultValue(t,0);var r=D.PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=r.startingIndex,delete r.startingIndex;var o=d.Ellipsoid.unpack(e,t,g);t+=d.Ellipsoid.packedLength;var n=e[t++],a=e[t++],l=e[t++],s=1===e[t++],y=1===e[t++],u=e[t++],p=e[t++],t=e[t];return m.defined(i)||(i=new c(f)),i._polygonHierarchy=r,i._ellipsoid=d.Ellipsoid.clone(o,i._ellipsoid),i._height=n,i._extrudedHeight=a,i._granularity=l,i._perPositionHeight=y,i._perPositionHeightExtrude=s,i._arcType=u,i._offsetAttribute=-1===p?void 0:p,i.packedLength=t,i},c.fromPositions=function(e){return new c({polygonHierarchy:{positions:(e=m.defaultValue(e,m.defaultValue.EMPTY_OBJECT)).positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute})},c.createGeometry=function(e){var t=e._ellipsoid,i=e._granularity,r=e._polygonHierarchy,o=e._perPositionHeight,n=e._arcType,a=D.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(r,!o,t);if(0!==a.length){var l,s,y,u,p,d,c=[],g=b.CesiumMath.chordLength(i,t.maximumRadius),f=e._height,h=e._extrudedHeight;if(e._perPositionHeightExtrude||!b.CesiumMath.equalsEpsilon(f,h,0,b.CesiumMath.EPSILON2))for(l=0;l<a.length;l++)(u=function(e,t,i,r,o){var n,a=H.EllipsoidTangentPlane.fromPoints(t,e).projectPointsOntoPlane(t,x);O.PolygonPipeline.computeWindingOrder2D(a)===O.WindingOrder.CLOCKWISE&&(a.reverse(),t=t.slice().reverse());var l=t.length,s=new Array(l),y=0;if(r)for(n=new Float64Array(2*l*3*2),b=0;b<l;++b){s[b]=y/3;var u=t[b],p=t[(b+1)%l];n[y++]=u.x,n[y++]=u.y,n[y++]=u.z,n[y++]=p.x,n[y++]=p.y,n[y++]=p.z}else{var d,c=0;if(o===C.ArcType.GEODESIC)for(b=0;b<l;b++)c+=D.PolygonGeometryLibrary.subdivideLineCount(t[b],t[(b+1)%l],i);else if(o===C.ArcType.RHUMB)for(b=0;b<l;b++)c+=D.PolygonGeometryLibrary.subdivideRhumbLineCount(e,t[b],t[(b+1)%l],i);for(n=new Float64Array(3*c*2),b=0;b<l;++b){s[b]=y/3,o===C.ArcType.GEODESIC?d=D.PolygonGeometryLibrary.subdivideLine(t[b],t[(b+1)%l],i,I):o===C.ArcType.RHUMB&&(d=D.PolygonGeometryLibrary.subdivideRhumbLine(e,t[b],t[(b+1)%l],i,I));for(var g=d.length,f=0;f<g;++f)n[y++]=d[f]}}l=n.length/6;for(var h=s.length,r=2*(2*l+h),m=G.IndexDatatype.createTypedArray(l+h,r),y=0,b=0;b<l;++b)m[y++]=b,m[y++]=(b+1)%l,m[y++]=b+l,m[y++]=(b+1)%l+l;for(b=0;b<h;b++){var P=s[b];m[y++]=P,m[y++]=P+l}return new T.GeometryInstance({geometry:new A.Geometry({attributes:new _.GeometryAttributes({position:new A.GeometryAttribute({componentDatatype:E.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:n})}),indices:m,primitiveType:A.PrimitiveType.LINES})})}(t,a[l],g,o,n)).geometry=D.PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(u.geometry,f,h,t,o),m.defined(e._offsetAttribute)&&(s=u.geometry.attributes.position.values.length/3,y=new Uint8Array(s),y=e._offsetAttribute===L.GeometryOffsetAttribute.TOP?L.arrayFill(y,1,0,s/2):(d=e._offsetAttribute===L.GeometryOffsetAttribute.NONE?0:1,L.arrayFill(y,d)),u.geometry.attributes.applyOffset=new A.GeometryAttribute({componentDatatype:E.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:y})),c.push(u);else for(l=0;l<a.length;l++)(u=function(e,t,i,r,o){var n,a=H.EllipsoidTangentPlane.fromPoints(t,e).projectPointsOntoPlane(t,x);O.PolygonPipeline.computeWindingOrder2D(a)===O.WindingOrder.CLOCKWISE&&(a.reverse(),t=t.slice().reverse());var l=t.length,s=0;if(r)for(n=new Float64Array(2*l*3),h=0;h<l;h++){var y=t[h],u=t[(h+1)%l];n[s++]=y.x,n[s++]=y.y,n[s++]=y.z,n[s++]=u.x,n[s++]=u.y,n[s++]=u.z}else{var p,d=0;if(o===C.ArcType.GEODESIC)for(h=0;h<l;h++)d+=D.PolygonGeometryLibrary.subdivideLineCount(t[h],t[(h+1)%l],i);else if(o===C.ArcType.RHUMB)for(h=0;h<l;h++)d+=D.PolygonGeometryLibrary.subdivideRhumbLineCount(e,t[h],t[(h+1)%l],i);for(n=new Float64Array(3*d),h=0;h<l;h++){o===C.ArcType.GEODESIC?p=D.PolygonGeometryLibrary.subdivideLine(t[h],t[(h+1)%l],i,I):o===C.ArcType.RHUMB&&(p=D.PolygonGeometryLibrary.subdivideRhumbLine(e,t[h],t[(h+1)%l],i,I));for(var c=p.length,g=0;g<c;++g)n[s++]=p[g]}}for(var r=2*(l=n.length/3),f=G.IndexDatatype.createTypedArray(l,r),s=0,h=0;h<l-1;h++)f[s++]=h,f[s++]=h+1;return f[s++]=l-1,f[s++]=0,new T.GeometryInstance({geometry:new A.Geometry({attributes:new _.GeometryAttributes({position:new A.GeometryAttribute({componentDatatype:E.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:n})}),indices:f,primitiveType:A.PrimitiveType.LINES})})}(t,a[l],g,o,n)).geometry.attributes.position.values=O.PolygonPipeline.scaleToGeodeticHeight(u.geometry.attributes.position.values,f,t,!o),m.defined(e._offsetAttribute)&&(p=u.geometry.attributes.position.values.length,p=new Uint8Array(p/3),d=e._offsetAttribute===L.GeometryOffsetAttribute.NONE?0:1,L.arrayFill(p,d),u.geometry.attributes.applyOffset=new A.GeometryAttribute({componentDatatype:E.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:p})),c.push(u);r=v.GeometryPipeline.combineInstances(c)[0],i=P.BoundingSphere.fromVertices(r.attributes.position.values);return new A.Geometry({attributes:r.attributes,indices:r.indices,primitiveType:r.primitiveType,boundingSphere:i,offsetAttribute:e._offsetAttribute})}},function(e,t){return m.defined(t)&&(e=c.unpack(e,t)),e._ellipsoid=d.Ellipsoid.clone(e._ellipsoid),c.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createPolylineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createPolylineGeometry.js new file mode 100644 index 000000000..40a10a874 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createPolylineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./VertexFormat-7572c785","./arrayRemoveDuplicates-ebc732b0","./ArcType-dc1c5aee","./EllipsoidRhumbLine-c704bf4c","./EllipsoidGeodesic-30fae80b","./PolylinePipeline-fa11d71d","./Color-bac25fae"],function(Y,e,q,z,J,t,r,j,K,Q,X,a,o,y,Z,$,n,i,ee,te){"use strict";var re=[];function m(e){var t=(e=Y.defaultValue(e,Y.defaultValue.EMPTY_OBJECT)).positions,r=e.colors,a=Y.defaultValue(e.width,1),o=Y.defaultValue(e.colorsPerVertex,!1);this._positions=t,this._colors=r,this._width=a,this._colorsPerVertex=o,this._vertexFormat=y.VertexFormat.clone(Y.defaultValue(e.vertexFormat,y.VertexFormat.DEFAULT)),this._arcType=Y.defaultValue(e.arcType,$.ArcType.GEODESIC),this._granularity=Y.defaultValue(e.granularity,q.CesiumMath.RADIANS_PER_DEGREE),this._ellipsoid=z.Ellipsoid.clone(Y.defaultValue(e.ellipsoid,z.Ellipsoid.WGS84)),this._workerName="createPolylineGeometry";t=1+t.length*z.Cartesian3.packedLength;t+=Y.defined(r)?1+r.length*te.Color.packedLength:1,this.packedLength=t+z.Ellipsoid.packedLength+y.VertexFormat.packedLength+4}m.pack=function(e,t,r){var a;r=Y.defaultValue(r,0);var o=e._positions,n=o.length;for(t[r++]=n,a=0;a<n;++a,r+=z.Cartesian3.packedLength)z.Cartesian3.pack(o[a],t,r);var i=e._colors,n=Y.defined(i)?i.length:0;for(t[r++]=n,a=0;a<n;++a,r+=te.Color.packedLength)te.Color.pack(i[a],t,r);return z.Ellipsoid.pack(e._ellipsoid,t,r),r+=z.Ellipsoid.packedLength,y.VertexFormat.pack(e._vertexFormat,t,r),r+=y.VertexFormat.packedLength,t[r++]=e._width,t[r++]=e._colorsPerVertex?1:0,t[r++]=e._arcType,t[r]=e._granularity,t};var f=z.Ellipsoid.clone(z.Ellipsoid.UNIT_SPHERE),h=new y.VertexFormat,C={positions:void 0,colors:void 0,ellipsoid:f,vertexFormat:h,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};m.unpack=function(e,t,r){t=Y.defaultValue(t,0);for(var a=e[t++],o=new Array(a),n=0;n<a;++n,t+=z.Cartesian3.packedLength)o[n]=z.Cartesian3.unpack(e,t);var i=0<(a=e[t++])?new Array(a):void 0;for(n=0;n<a;++n,t+=te.Color.packedLength)i[n]=te.Color.unpack(e,t);var l=z.Ellipsoid.unpack(e,t,f);t+=z.Ellipsoid.packedLength;var s=y.VertexFormat.unpack(e,t,h);t+=y.VertexFormat.packedLength;var p=e[t++],c=1===e[t++],d=e[t++],u=e[t];return Y.defined(r)?(r._positions=o,r._colors=i,r._ellipsoid=z.Ellipsoid.clone(l,r._ellipsoid),r._vertexFormat=y.VertexFormat.clone(s,r._vertexFormat),r._width=p,r._colorsPerVertex=c,r._arcType=d,r._granularity=u,r):(C.positions=o,C.colors=i,C.width=p,C.colorsPerVertex=c,C.arcType=d,C.granularity=u,new m(C))};var ae=new z.Cartesian3,oe=new z.Cartesian3,ne=new z.Cartesian3,ie=new z.Cartesian3;return m.createGeometry=function(e){var t=e._width,r=e._vertexFormat,a=e._colors,o=e._colorsPerVertex,n=e._arcType,i=e._granularity,l=e._ellipsoid,s=Z.arrayRemoveDuplicates(e._positions,z.Cartesian3.equalsEpsilon),p=s.length;if(!(p<2||t<=0)){if(n===$.ArcType.GEODESIC||n===$.ArcType.RHUMB){var c,d=n===$.ArcType.GEODESIC?(c=q.CesiumMath.chordLength(i,l.maximumRadius),ee.PolylinePipeline.numberOfPoints):(c=i,ee.PolylinePipeline.numberOfPointsRhumbLine),u=ee.PolylinePipeline.extractHeights(s,l);if(Y.defined(a)){for(var y=1,m=0;m<p-1;++m)y+=d(s[m],s[m+1],c);var f=new Array(y),h=0;for(m=0;m<p-1;++m){var C=s[m],v=s[m+1],g=a[m],b=d(C,v,c);if(o&&m<y)for(var _=function(e,t,r){var a=re;a.length=r;var o=e.red,n=e.green,i=e.blue,l=e.alpha,s=t.red,p=t.green,c=t.blue,d=t.alpha;if(te.Color.equals(e,t)){for(h=0;h<r;h++)a[h]=te.Color.clone(e);return a}for(var u=(s-o)/r,y=(p-n)/r,m=(c-i)/r,f=(d-l)/r,h=0;h<r;h++)a[h]=new te.Color(o+h*u,n+h*y,i+h*m,l+h*f);return a}(g,a[m+1],b),A=_.length,E=0;E<A;++E)f[h++]=_[E];else for(E=0;E<b;++E)f[h++]=te.Color.clone(g)}f[h]=te.Color.clone(a[a.length-1]),a=f,re.length=0}s=n===$.ArcType.GEODESIC?ee.PolylinePipeline.generateCartesianArc({positions:s,minDistance:c,ellipsoid:l,height:u}):ee.PolylinePipeline.generateCartesianRhumbArc({positions:s,granularity:c,ellipsoid:l,height:u})}var P,w,T,l=4*(p=s.length)-4,x=new Float64Array(3*l),k=new Float64Array(3*l),D=new Float64Array(3*l),V=new Float32Array(2*l),L=r.st?new Float32Array(2*l):void 0,F=Y.defined(a)?new Uint8Array(4*l):void 0,G=0,O=0,R=0,I=0;for(E=0;E<p;++E){0===E?(P=ae,z.Cartesian3.subtract(s[0],s[1],P),z.Cartesian3.add(s[0],P,P)):P=s[E-1],z.Cartesian3.clone(P,ne),z.Cartesian3.clone(s[E],oe),E===p-1?(P=ae,z.Cartesian3.subtract(s[p-1],s[p-2],P),z.Cartesian3.add(s[p-1],P,P)):P=s[E+1],z.Cartesian3.clone(P,ie),Y.defined(F)&&(w=0===E||o?a[E]:a[E-1],E!==p-1&&(T=a[E]));for(var S=E===p-1?2:4,B=0===E?2:0;B<S;++B){z.Cartesian3.pack(oe,x,G),z.Cartesian3.pack(ne,k,G),z.Cartesian3.pack(ie,D,G),G+=3;var U=B-2<0?-1:1;V[O++]=B%2*2-1,V[O++]=U*t,r.st&&(L[R++]=E/(p-1),L[R++]=Math.max(V[O-2],0)),Y.defined(F)&&(U=B<2?w:T,F[I++]=te.Color.floatToByte(U.red),F[I++]=te.Color.floatToByte(U.green),F[I++]=te.Color.floatToByte(U.blue),F[I++]=te.Color.floatToByte(U.alpha))}}u=new Q.GeometryAttributes;u.position=new K.GeometryAttribute({componentDatatype:j.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:x}),u.prevPosition=new K.GeometryAttribute({componentDatatype:j.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:k}),u.nextPosition=new K.GeometryAttribute({componentDatatype:j.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:D}),u.expandAndWidth=new K.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:V}),r.st&&(u.st=new K.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:L})),Y.defined(F)&&(u.color=new K.GeometryAttribute({componentDatatype:j.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:4,values:F,normalize:!0}));var N=X.IndexDatatype.createTypedArray(l,6*p-6),M=0,H=0,W=p-1;for(E=0;E<W;++E)N[H++]=M,N[H++]=M+2,N[H++]=M+1,N[H++]=M+1,N[H++]=M+2,N[H++]=M+3,M+=4;return new K.Geometry({attributes:u,indices:N,primitiveType:K.PrimitiveType.TRIANGLES,boundingSphere:J.BoundingSphere.fromPoints(s),geometryType:K.GeometryType.POLYLINES})}},function(e,t){return Y.defined(t)&&(e=m.unpack(e,t)),e._ellipsoid=z.Ellipsoid.clone(e._ellipsoid),m.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createPolylineVolumeGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createPolylineVolumeGeometry.js new file mode 100644 index 000000000..e7d7e3eff --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createPolylineVolumeGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./VertexFormat-7572c785","./arrayRemoveDuplicates-ebc732b0","./BoundingRectangle-57c5d513","./EllipsoidTangentPlane-64140317","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./PolylineVolumeGeometryLibrary-abc37e8c","./EllipsoidGeodesic-30fae80b","./PolylinePipeline-fa11d71d"],function(c,e,i,u,G,t,n,A,R,D,r,I,a,O,o,l,g,s,p,d,y,S,m,h,f){"use strict";var b={};function B(e,t){c.defined(b[e])||(b[e]=!0,console.warn(c.defaultValue(t,e)))}function v(e){var t=(e=c.defaultValue(e,c.defaultValue.EMPTY_OBJECT)).polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=u.Ellipsoid.clone(c.defaultValue(e.ellipsoid,u.Ellipsoid.WGS84)),this._cornerType=c.defaultValue(e.cornerType,m.CornerType.ROUNDED),this._vertexFormat=g.VertexFormat.clone(c.defaultValue(e.vertexFormat,g.VertexFormat.DEFAULT)),this._granularity=c.defaultValue(e.granularity,i.CesiumMath.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";t=1+t.length*u.Cartesian3.packedLength;t+=1+n.length*u.Cartesian2.packedLength,this.packedLength=t+u.Ellipsoid.packedLength+g.VertexFormat.packedLength+2}B.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.",B.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored",B.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored",B.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored",v.pack=function(e,t,n){var i;n=c.defaultValue(n,0);var r=e._positions,a=r.length;for(t[n++]=a,i=0;i<a;++i,n+=u.Cartesian3.packedLength)u.Cartesian3.pack(r[i],t,n);var o=e._shape,a=o.length;for(t[n++]=a,i=0;i<a;++i,n+=u.Cartesian2.packedLength)u.Cartesian2.pack(o[i],t,n);return u.Ellipsoid.pack(e._ellipsoid,t,n),n+=u.Ellipsoid.packedLength,g.VertexFormat.pack(e._vertexFormat,t,n),n+=g.VertexFormat.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var E=u.Ellipsoid.clone(u.Ellipsoid.UNIT_SPHERE),P=new g.VertexFormat,_={polylinePositions:void 0,shapePositions:void 0,ellipsoid:E,vertexFormat:P,cornerType:void 0,granularity:void 0};v.unpack=function(e,t,n){t=c.defaultValue(t,0);for(var i=e[t++],r=new Array(i),a=0;a<i;++a,t+=u.Cartesian3.packedLength)r[a]=u.Cartesian3.unpack(e,t);i=e[t++];var o=new Array(i);for(a=0;a<i;++a,t+=u.Cartesian2.packedLength)o[a]=u.Cartesian2.unpack(e,t);var l=u.Ellipsoid.unpack(e,t,E);t+=u.Ellipsoid.packedLength;var s=g.VertexFormat.unpack(e,t,P);t+=g.VertexFormat.packedLength;var p=e[t++],d=e[t];return c.defined(n)?(n._positions=r,n._shape=o,n._ellipsoid=u.Ellipsoid.clone(l,n._ellipsoid),n._vertexFormat=g.VertexFormat.clone(s,n._vertexFormat),n._cornerType=p,n._granularity=d,n):(_.polylinePositions=r,_.shapePositions=o,_.cornerType=p,_.granularity=d,new v(_))};var x=new p.BoundingRectangle;return v.createGeometry=function(e){var t=e._positions,n=s.arrayRemoveDuplicates(t,u.Cartesian3.equalsEpsilon),i=e._shape,i=m.PolylineVolumeGeometryLibrary.removeDuplicatesFromShape(i);if(!(n.length<2||i.length<3)){S.PolygonPipeline.computeWindingOrder2D(i)===S.WindingOrder.CLOCKWISE&&i.reverse();t=p.BoundingRectangle.fromPoints(i,x);return function(e,t,n,i){var r=new D.GeometryAttributes;i.position&&(r.position=new R.GeometryAttribute({componentDatatype:A.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:e}));var a,o,l,s,p,d=t.length,c=e.length/3,u=(c-2*d)/(2*d),g=S.PolygonPipeline.triangulate(t),y=(u-1)*d*6+2*g.length,m=O.IndexDatatype.createTypedArray(c,y),h=2*d,f=0;for(C=0;C<u-1;C++){for(a=0;a<d-1;a++)p=(o=2*a+C*d*2)+h,s=(l=o+1)+h,m[f++]=l,m[f++]=o,m[f++]=s,m[f++]=s,m[f++]=o,m[f++]=p;s=(l=(o=2*d-2+C*d*2)+1)+h,p=o+h,m[f++]=l,m[f++]=o,m[f++]=s,m[f++]=s,m[f++]=o,m[f++]=p}if(i.st||i.tangent||i.bitangent){for(var b,v,E=new Float32Array(2*c),P=1/(u-1),_=1/n.height,x=n.height/2,k=0,C=0;C<u;C++){for(b=C*P,v=_*(t[0].y+x),E[k++]=b,E[k++]=v,a=1;a<d;a++)v=_*(t[a].y+x),E[k++]=b,E[k++]=v,E[k++]=b,E[k++]=v;v=_*(t[0].y+x),E[k++]=b,E[k++]=v}for(a=0;a<d;a++)b=0,v=_*(t[a].y+x),E[k++]=b,E[k++]=v;for(a=0;a<d;a++)b=(u-1)*P,v=_*(t[a].y+x),E[k++]=b,E[k++]=v;r.st=new R.GeometryAttribute({componentDatatype:A.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:new Float32Array(E)})}var V=c-2*d;for(C=0;C<g.length;C+=3){var L=g[C]+V,w=g[C+1]+V,F=g[C+2]+V;m[f++]=L,m[f++]=w,m[f++]=F,m[f++]=F+d,m[f++]=w+d,m[f++]=L+d}var T=new R.Geometry({attributes:r,indices:m,boundingSphere:G.BoundingSphere.fromVertices(e),primitiveType:R.PrimitiveType.TRIANGLES});if(i.normal&&(T=I.GeometryPipeline.computeNormal(T)),i.tangent||i.bitangent){try{T=I.GeometryPipeline.computeTangentAndBitangent(T)}catch(e){B("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}i.tangent||(T.attributes.tangent=void 0),i.bitangent||(T.attributes.bitangent=void 0),i.st||(T.attributes.st=void 0)}return T}(m.PolylineVolumeGeometryLibrary.computePositions(n,i,t,e,!0),i,t,e._vertexFormat)}},function(e,t){return c.defined(t)&&(e=v.unpack(e,t)),e._ellipsoid=u.Ellipsoid.clone(e._ellipsoid),v.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createPolylineVolumeOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createPolylineVolumeOutlineGeometry.js new file mode 100644 index 000000000..9359d8d34 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createPolylineVolumeOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./arrayRemoveDuplicates-ebc732b0","./BoundingRectangle-57c5d513","./EllipsoidTangentPlane-64140317","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./PolylineVolumeGeometryLibrary-abc37e8c","./EllipsoidGeodesic-30fae80b","./PolylinePipeline-fa11d71d"],function(c,e,t,d,u,i,n,y,h,f,g,a,r,o,l,s,p,m,E,b,v){"use strict";function P(e){var i=(e=c.defaultValue(e,c.defaultValue.EMPTY_OBJECT)).polylinePositions,n=e.shapePositions;this._positions=i,this._shape=n,this._ellipsoid=d.Ellipsoid.clone(c.defaultValue(e.ellipsoid,d.Ellipsoid.WGS84)),this._cornerType=c.defaultValue(e.cornerType,E.CornerType.ROUNDED),this._granularity=c.defaultValue(e.granularity,t.CesiumMath.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";i=1+i.length*d.Cartesian3.packedLength;i+=1+n.length*d.Cartesian2.packedLength,this.packedLength=i+d.Ellipsoid.packedLength+2}P.pack=function(e,i,n){var t;n=c.defaultValue(n,0);var a=e._positions,r=a.length;for(i[n++]=r,t=0;t<r;++t,n+=d.Cartesian3.packedLength)d.Cartesian3.pack(a[t],i,n);var o=e._shape,r=o.length;for(i[n++]=r,t=0;t<r;++t,n+=d.Cartesian2.packedLength)d.Cartesian2.pack(o[t],i,n);return d.Ellipsoid.pack(e._ellipsoid,i,n),n+=d.Ellipsoid.packedLength,i[n++]=e._cornerType,i[n]=e._granularity,i};var _=d.Ellipsoid.clone(d.Ellipsoid.UNIT_SPHERE),k={polylinePositions:void 0,shapePositions:void 0,ellipsoid:_,height:void 0,cornerType:void 0,granularity:void 0};P.unpack=function(e,i,n){i=c.defaultValue(i,0);for(var t=e[i++],a=new Array(t),r=0;r<t;++r,i+=d.Cartesian3.packedLength)a[r]=d.Cartesian3.unpack(e,i);t=e[i++];var o=new Array(t);for(r=0;r<t;++r,i+=d.Cartesian2.packedLength)o[r]=d.Cartesian2.unpack(e,i);var l=d.Ellipsoid.unpack(e,i,_);i+=d.Ellipsoid.packedLength;var s=e[i++],p=e[i];return c.defined(n)?(n._positions=a,n._shape=o,n._ellipsoid=d.Ellipsoid.clone(l,n._ellipsoid),n._cornerType=s,n._granularity=p,n):(k.polylinePositions=a,k.shapePositions=o,k.cornerType=s,k.granularity=p,new P(k))};var C=new l.BoundingRectangle;return P.createGeometry=function(e){var i=e._positions,n=o.arrayRemoveDuplicates(i,d.Cartesian3.equalsEpsilon),t=e._shape,t=E.PolylineVolumeGeometryLibrary.removeDuplicatesFromShape(t);if(!(n.length<2||t.length<3)){m.PolygonPipeline.computeWindingOrder2D(t)===m.WindingOrder.CLOCKWISE&&t.reverse();i=l.BoundingRectangle.fromPoints(t,C);return function(e,i){var n=new f.GeometryAttributes;n.position=new h.GeometryAttribute({componentDatatype:y.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:e});var t=i.length,i=n.position.values.length/3,a=e.length/3/t,r=g.IndexDatatype.createTypedArray(i,2*t*(1+a)),o=0,l=0,s=l*t;for(d=0;d<t-1;d++)r[o++]=d+s,r[o++]=d+s+1;for(r[o++]=t-1+s,r[o++]=s,s=(l=a-1)*t,d=0;d<t-1;d++)r[o++]=d+s,r[o++]=d+s+1;for(r[o++]=t-1+s,r[o++]=s,l=0;l<a-1;l++)for(var p=t*l,c=p+t,d=0;d<t;d++)r[o++]=d+p,r[o++]=d+c;return new h.Geometry({attributes:n,indices:g.IndexDatatype.createTypedArray(i,r),boundingSphere:u.BoundingSphere.fromVertices(e),primitiveType:h.PrimitiveType.LINES})}(E.PolylineVolumeGeometryLibrary.computePositions(n,t,i,e,!1),t)}},function(e,i){return c.defined(i)&&(e=P.unpack(e,i)),e._ellipsoid=d.Ellipsoid.clone(e._ellipsoid),P.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createRectangleGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createRectangleGeometry.js new file mode 100644 index 000000000..87bbc5145 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createRectangleGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./AttributeCompression-9fc99391","./GeometryPipeline-c2d75081","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./GeometryInstance-161eaba2","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./RectangleGeometryLibrary-ac41ca49"],function(Q,t,W,J,N,e,a,j,Z,r,n,K,i,$,o,s,tt,et,at,l,rt,S){"use strict";var nt=new J.Cartesian3,it=new J.Cartesian3,ot=new J.Cartesian3,st=new J.Cartesian3,p=new J.Rectangle,I=new J.Cartesian2,d=new N.BoundingSphere,g=new N.BoundingSphere;function lt(t,e){var a=new Z.Geometry({attributes:new r.GeometryAttributes,primitiveType:Z.PrimitiveType.TRIANGLES});return a.attributes.position=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:e.positions}),t.normal&&(a.attributes.normal=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:e.normals})),t.tangent&&(a.attributes.tangent=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:e.tangents})),t.bitangent&&(a.attributes.bitangent=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:e.bitangents})),a}var ut=new J.Cartesian3,ct=new J.Cartesian3;function mt(t,e){var a=t._vertexFormat,r=t._ellipsoid,n=e.height,i=e.width,o=e.northCap,s=e.southCap,l=0,u=n,c=n,t=0;o&&(--c,t+=l=1),s&&(--u,--c,t+=1),t+=i*c;for(var m=a.position?new Float64Array(3*t):void 0,p=a.st?new Float32Array(2*t):void 0,d=0,g=0,y=nt,f=I,h=Number.MAX_VALUE,b=Number.MAX_VALUE,v=-Number.MAX_VALUE,_=-Number.MAX_VALUE,A=l;A<u;++A)for(var x=0;x<i;++x)S.RectangleGeometryLibrary.computePosition(e,r,a.st,A,x,y,f),m[d++]=y.x,m[d++]=y.y,m[d++]=y.z,a.st&&(p[g++]=f.x,p[g++]=f.y,h=Math.min(h,f.x),b=Math.min(b,f.y),v=Math.max(v,f.x),_=Math.max(_,f.y));if(o&&(S.RectangleGeometryLibrary.computePosition(e,r,a.st,0,0,y,f),m[d++]=y.x,m[d++]=y.y,m[d++]=y.z,a.st&&(p[g++]=f.x,p[g++]=f.y,h=f.x,b=f.y,v=f.x,_=f.y)),s&&(S.RectangleGeometryLibrary.computePosition(e,r,a.st,n-1,0,y,f),m[d++]=y.x,m[d++]=y.y,m[d]=y.z,a.st&&(p[g++]=f.x,p[g]=f.y,h=Math.min(h,f.x),b=Math.min(b,f.y),v=Math.max(v,f.x),_=Math.max(_,f.y))),a.st&&(h<0||b<0||1<v||1<_))for(var w=0;w<p.length;w+=2)p[w]=(p[w]-h)/(v-h),p[w+1]=(p[w+1]-b)/(_-b);l=function(t,e,a,r){var n=t.length,i=e.normal?new Float32Array(n):void 0,o=e.tangent?new Float32Array(n):void 0,s=e.bitangent?new Float32Array(n):void 0,l=0,u=st,c=ot,m=it;if(e.normal||e.tangent||e.bitangent)for(var p=0;p<n;p+=3){var d=J.Cartesian3.fromArray(t,p,nt),g=l+1,y=l+2,m=a.geodeticSurfaceNormal(d,m);(e.tangent||e.bitangent)&&(J.Cartesian3.cross(J.Cartesian3.UNIT_Z,m,c),N.Matrix3.multiplyByVector(r,c,c),J.Cartesian3.normalize(c,c),e.bitangent&&J.Cartesian3.normalize(J.Cartesian3.cross(m,c,u),u)),e.normal&&(i[l]=m.x,i[g]=m.y,i[y]=m.z),e.tangent&&(o[l]=c.x,o[g]=c.y,o[y]=c.z),e.bitangent&&(s[l]=u.x,s[g]=u.y,s[y]=u.z),l+=3}return lt(e,{positions:t,normals:i,tangents:o,bitangents:s})}(m,a,r,e.tangentRotationMatrix),n=6*(i-1)*(c-1);o&&(n+=3*(i-1)),s&&(n+=3*(i-1));for(var C=$.IndexDatatype.createTypedArray(t,n),R=0,E=0,F=0;F<c-1;++F){for(var G=0;G<i-1;++G){var P=R+i,V=P+1,L=R+1;C[E++]=R,C[E++]=P,C[E++]=L,C[E++]=L,C[E++]=P,C[E++]=V,++R}++R}if(o||s){var D,M,T=t-1,O=t-1;if(o&&s&&(T=t-2),R=0,o)for(F=0;F<i-1;F++)M=(D=R)+1,C[E++]=T,C[E++]=D,C[E++]=M,++R;if(s)for(R=(c-1)*i,F=0;F<i-1;F++)M=(D=R)+1,C[E++]=D,C[E++]=O,C[E++]=M,++R}return l.indices=C,a.st&&(l.attributes.st=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:p})),l}function pt(t,e,a,r,n){return t[e++]=r[a],t[e++]=r[a+1],t[e++]=r[a+2],t[e++]=n[a],t[e++]=n[a+1],t[e]=n[a+2],t}function dt(t,e,a,r){return t[e++]=r[a],t[e++]=r[a+1],t[e++]=r[a],t[e]=r[a+1],t}var gt=new et.VertexFormat;function y(t,e){var a=t._shadowVolume,r=t._offsetAttribute,n=t._vertexFormat,i=t._extrudedHeight,o=t._surfaceHeight,s=t._ellipsoid,l=e.height,u=e.width;a&&((b=et.VertexFormat.clone(n,gt)).normal=!0,t._vertexFormat=b);var c=mt(t,e);a&&(t._vertexFormat=n);var m=rt.PolygonPipeline.scaleToGeodeticHeight(c.attributes.position.values,o,s,!1),p=2*(U=(m=new Float64Array(m)).length),d=new Float64Array(p);d.set(m);var g=rt.PolygonPipeline.scaleToGeodeticHeight(c.attributes.position.values,i,s);d.set(g,U),c.attributes.position.values=d;var y,f,h,b=n.normal?new Float32Array(p):void 0,t=n.tangent?new Float32Array(p):void 0,o=n.bitangent?new Float32Array(p):void 0,i=n.st?new Float32Array(p/3*2):void 0;if(n.normal){for(f=c.attributes.normal.values,b.set(f),_=0;_<U;_++)f[_]=-f[_];b.set(f,U),c.attributes.normal.values=b}if(a){f=c.attributes.normal.values,n.normal||(c.attributes.normal=void 0);for(var v=new Float32Array(p),_=0;_<U;_++)f[_]=-f[_];v.set(f,U),c.attributes.extrudeDirection=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:v})}d=Q.defined(r);if(d&&(b=U/3*2,v=new Uint8Array(b),v=r===tt.GeometryOffsetAttribute.TOP?tt.arrayFill(v,1,0,b/2):(h=r===tt.GeometryOffsetAttribute.NONE?0:1,tt.arrayFill(v,h)),c.attributes.applyOffset=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:v})),n.tangent){var A=c.attributes.tangent.values;for(t.set(A),_=0;_<U;_++)A[_]=-A[_];t.set(A,U),c.attributes.tangent.values=t}n.bitangent&&(E=c.attributes.bitangent.values,o.set(E),o.set(E,U),c.attributes.bitangent.values=o),n.st&&(y=c.attributes.st.values,i.set(y),i.set(y,U/3*2),c.attributes.st.values=i);var x=c.indices,w=x.length,C=U/3,R=$.IndexDatatype.createTypedArray(p/3,2*w);for(R.set(x),_=0;_<w;_+=3)R[_+w]=x[_+2]+C,R[_+1+w]=x[_+1]+C,R[_+2+w]=x[_]+C;c.indices=R;var t=e.northCap,E=e.southCap,o=l,i=2,p=0,e=4,l=4;t&&(--i,--o,p+=1,e-=2,--l),E&&(--i,--o,p+=1,e-=2,--l);var l=2*((p+=i*u+2*o-e)+l),F=new Float64Array(3*l),G=a?new Float32Array(3*l):void 0,P=d?new Uint8Array(l):void 0,V=n.st?new Float32Array(2*l):void 0,L=r===tt.GeometryOffsetAttribute.TOP;d&&!L&&(h=r===tt.GeometryOffsetAttribute.ALL?1:0,P=tt.arrayFill(P,h));var D=0,M=0,T=0,O=0,N=u*o;for(_=0;_<N;_+=u)F=pt(F,D,I=3*_,m,g),D+=6,n.st&&(V=dt(V,M,2*_,y),M+=4),a&&(T+=3,G[T++]=f[I],G[T++]=f[I+1],G[T++]=f[I+2]),L&&(P[O++]=1,O+=1);if(E){var S=t?1+N:N,I=3*S;for(_=0;_<2;_++)F=pt(F,D,I,m,g),D+=6,n.st&&(V=dt(V,M,2*S,y),M+=4),a&&(T+=3,G[T++]=f[I],G[T++]=f[I+1],G[T++]=f[I+2]),L&&(P[O++]=1,O+=1)}else for(_=N-u;_<N;_++)F=pt(F,D,I=3*_,m,g),D+=6,n.st&&(V=dt(V,M,2*_,y),M+=4),a&&(T+=3,G[T++]=f[I],G[T++]=f[I+1],G[T++]=f[I+2]),L&&(P[O++]=1,O+=1);for(_=N-1;0<_;_-=u)F=pt(F,D,I=3*_,m,g),D+=6,n.st&&(V=dt(V,M,2*_,y),M+=4),a&&(T+=3,G[T++]=f[I],G[T++]=f[I+1],G[T++]=f[I+2]),L&&(P[O++]=1,O+=1);if(t){var k=N;for(I=3*k,_=0;_<2;_++)F=pt(F,D,I,m,g),D+=6,n.st&&(V=dt(V,M,2*k,y),M+=4),a&&(T+=3,G[T++]=f[I],G[T++]=f[I+1],G[T++]=f[I+2]),L&&(P[O++]=1,O+=1)}else for(_=u-1;0<=_;_--)F=pt(F,D,I=3*_,m,g),D+=6,n.st&&(V=dt(V,M,2*_,y),M+=4),a&&(T+=3,G[T++]=f[I],G[T++]=f[I+1],G[T++]=f[I+2]),L&&(P[O++]=1,O+=1);s=function(t,e,a){var r=t.length,n=e.normal?new Float32Array(r):void 0,i=e.tangent?new Float32Array(r):void 0,o=e.bitangent?new Float32Array(r):void 0,s=0,l=0,u=0,c=!0,m=st,p=ot,d=it;if(e.normal||e.tangent||e.bitangent)for(var g=0;g<r;g+=6){var y,f=J.Cartesian3.fromArray(t,g,nt),h=J.Cartesian3.fromArray(t,(g+6)%r,ut);c&&(y=J.Cartesian3.fromArray(t,(g+3)%r,ct),J.Cartesian3.subtract(h,f,h),J.Cartesian3.subtract(y,f,y),d=J.Cartesian3.normalize(J.Cartesian3.cross(y,h,d),d),c=!1),J.Cartesian3.equalsEpsilon(h,f,W.CesiumMath.EPSILON10)&&(c=!0),(e.tangent||e.bitangent)&&(m=a.geodeticSurfaceNormal(f,m),e.tangent&&(p=J.Cartesian3.normalize(J.Cartesian3.cross(m,d,p),p))),e.normal&&(n[s++]=d.x,n[s++]=d.y,n[s++]=d.z,n[s++]=d.x,n[s++]=d.y,n[s++]=d.z),e.tangent&&(i[l++]=p.x,i[l++]=p.y,i[l++]=p.z,i[l++]=p.x,i[l++]=p.y,i[l++]=p.z),e.bitangent&&(o[u++]=m.x,o[u++]=m.y,o[u++]=m.z,o[u++]=m.x,o[u++]=m.y,o[u++]=m.z)}return lt(e,{positions:t,normals:n,tangents:i,bitangents:o})}(F,n,s);n.st&&(s.attributes.st=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:V})),a&&(s.attributes.extrudeDirection=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:G})),d&&(s.attributes.applyOffset=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:P}));var H,z,B=$.IndexDatatype.createTypedArray(l,6*p),U=F.length/3,Y=0;for(_=0;_<U-1;_+=2){z=((H=_)+2)%U;var q=J.Cartesian3.fromArray(F,3*H,ut),X=J.Cartesian3.fromArray(F,3*z,ct);J.Cartesian3.equalsEpsilon(q,X,W.CesiumMath.EPSILON10)||(X=(2+(q=(H+1)%U))%U,B[Y++]=H,B[Y++]=q,B[Y++]=z,B[Y++]=z,B[Y++]=q,B[Y++]=X)}return s.indices=B,(s=K.GeometryPipeline.combineInstances([new at.GeometryInstance({geometry:c}),new at.GeometryInstance({geometry:s})]))[0]}var u=[new J.Cartesian3,new J.Cartesian3,new J.Cartesian3,new J.Cartesian3],f=new J.Cartographic,h=new J.Cartographic;function c(t,e,a,r,n){if(0===a)return J.Rectangle.clone(t,n);var i=S.RectangleGeometryLibrary.computeOptions(t,e,a,0,p,f),t=i.height,e=i.width,a=u;return S.RectangleGeometryLibrary.computePosition(i,r,!1,0,0,a[0]),S.RectangleGeometryLibrary.computePosition(i,r,!1,0,e-1,a[1]),S.RectangleGeometryLibrary.computePosition(i,r,!1,t-1,0,a[2]),S.RectangleGeometryLibrary.computePosition(i,r,!1,t-1,e-1,a[3]),J.Rectangle.fromCartesianArray(a,r,n)}function b(t){var e=(t=Q.defaultValue(t,Q.defaultValue.EMPTY_OBJECT)).rectangle,a=Q.defaultValue(t.height,0),r=Q.defaultValue(t.extrudedHeight,a);this._rectangle=J.Rectangle.clone(e),this._granularity=Q.defaultValue(t.granularity,W.CesiumMath.RADIANS_PER_DEGREE),this._ellipsoid=J.Ellipsoid.clone(Q.defaultValue(t.ellipsoid,J.Ellipsoid.WGS84)),this._surfaceHeight=Math.max(a,r),this._rotation=Q.defaultValue(t.rotation,0),this._stRotation=Q.defaultValue(t.stRotation,0),this._vertexFormat=et.VertexFormat.clone(Q.defaultValue(t.vertexFormat,et.VertexFormat.DEFAULT)),this._extrudedHeight=Math.min(a,r),this._shadowVolume=Q.defaultValue(t.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=t.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}b.packedLength=J.Rectangle.packedLength+J.Ellipsoid.packedLength+et.VertexFormat.packedLength+7,b.pack=function(t,e,a){return a=Q.defaultValue(a,0),J.Rectangle.pack(t._rectangle,e,a),a+=J.Rectangle.packedLength,J.Ellipsoid.pack(t._ellipsoid,e,a),a+=J.Ellipsoid.packedLength,et.VertexFormat.pack(t._vertexFormat,e,a),a+=et.VertexFormat.packedLength,e[a++]=t._granularity,e[a++]=t._surfaceHeight,e[a++]=t._rotation,e[a++]=t._stRotation,e[a++]=t._extrudedHeight,e[a++]=t._shadowVolume?1:0,e[a]=Q.defaultValue(t._offsetAttribute,-1),e};var v=new J.Rectangle,_=J.Ellipsoid.clone(J.Ellipsoid.UNIT_SPHERE),A={rectangle:v,ellipsoid:_,vertexFormat:gt,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};b.unpack=function(t,e,a){e=Q.defaultValue(e,0);var r=J.Rectangle.unpack(t,e,v);e+=J.Rectangle.packedLength;var n=J.Ellipsoid.unpack(t,e,_);e+=J.Ellipsoid.packedLength;var i=et.VertexFormat.unpack(t,e,gt);e+=et.VertexFormat.packedLength;var o=t[e++],s=t[e++],l=t[e++],u=t[e++],c=t[e++],m=1===t[e++],e=t[e];return Q.defined(a)?(a._rectangle=J.Rectangle.clone(r,a._rectangle),a._ellipsoid=J.Ellipsoid.clone(n,a._ellipsoid),a._vertexFormat=et.VertexFormat.clone(i,a._vertexFormat),a._granularity=o,a._surfaceHeight=s,a._rotation=l,a._stRotation=u,a._extrudedHeight=c,a._shadowVolume=m,a._offsetAttribute=-1===e?void 0:e,a):(A.granularity=o,A.height=s,A.rotation=l,A.stRotation=u,A.extrudedHeight=c,A.shadowVolume=m,A.offsetAttribute=-1===e?void 0:e,new b(A))},b.computeRectangle=function(t,e){var a=(t=Q.defaultValue(t,Q.defaultValue.EMPTY_OBJECT)).rectangle,r=Q.defaultValue(t.granularity,W.CesiumMath.RADIANS_PER_DEGREE),n=Q.defaultValue(t.ellipsoid,J.Ellipsoid.WGS84);return c(a,r,Q.defaultValue(t.rotation,0),n,e)};var x=new N.Matrix3,w=new N.Quaternion,C=new J.Cartographic;b.createGeometry=function(t){if(!W.CesiumMath.equalsEpsilon(t._rectangle.north,t._rectangle.south,W.CesiumMath.EPSILON10)&&!W.CesiumMath.equalsEpsilon(t._rectangle.east,t._rectangle.west,W.CesiumMath.EPSILON10)){var e=t._rectangle,a=t._ellipsoid,r=t._rotation,n=t._stRotation,i=t._vertexFormat,o=S.RectangleGeometryLibrary.computeOptions(e,t._granularity,r,n,p,f,h),s=x;0!==n||0!==r?(c=J.Rectangle.center(e,C),m=a.geodeticSurfaceNormalCartographic(c,ut),N.Quaternion.fromAxisAngle(m,-n,w),N.Matrix3.fromQuaternion(w,s)):N.Matrix3.clone(N.Matrix3.IDENTITY,s);var l,u,c=t._surfaceHeight,m=t._extrudedHeight,n=!W.CesiumMath.equalsEpsilon(c,m,0,W.CesiumMath.EPSILON2);return o.lonScalar=1/t._rectangle.width,o.latScalar=1/t._rectangle.height,o.tangentRotationMatrix=s,e=t._rectangle,c=n?(u=y(t,o),n=N.BoundingSphere.fromRectangle3D(e,a,c,g),l=N.BoundingSphere.fromRectangle3D(e,a,m,d),N.BoundingSphere.union(n,l)):((u=mt(t,o)).attributes.position.values=rt.PolygonPipeline.scaleToGeodeticHeight(u.attributes.position.values,c,a,!1),Q.defined(t._offsetAttribute)&&(l=u.attributes.position.values.length,o=new Uint8Array(l/3),l=t._offsetAttribute===tt.GeometryOffsetAttribute.NONE?0:1,tt.arrayFill(o,l),u.attributes.applyOffset=new Z.GeometryAttribute({componentDatatype:j.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:o})),N.BoundingSphere.fromRectangle3D(e,a,c)),i.position||delete u.attributes.position,new Z.Geometry({attributes:u.attributes,indices:u.indices,primitiveType:u.primitiveType,boundingSphere:c,offsetAttribute:t._offsetAttribute})}},b.createShadowVolume=function(t,e,a){var r=t._granularity,n=t._ellipsoid,e=e(r,n),a=a(r,n);return new b({rectangle:t._rectangle,rotation:t._rotation,ellipsoid:n,stRotation:t._stRotation,granularity:r,extrudedHeight:a,height:e,vertexFormat:et.VertexFormat.POSITION_ONLY,shadowVolume:!0})};var m=new J.Rectangle,R=[new J.Cartesian2,new J.Cartesian2,new J.Cartesian2],E=new Z.Matrix2,F=new J.Cartographic;return Object.defineProperties(b.prototype,{rectangle:{get:function(){return Q.defined(this._rotatedRectangle)||(this._rotatedRectangle=c(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return Q.defined(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=function(t){if(0===t._stRotation)return[0,0,0,1,1,0];var e=J.Rectangle.clone(t._rectangle,m),a=t._granularity,r=t._ellipsoid,e=c(e,a,t._rotation-t._stRotation,r,m),n=R;n[0].x=e.west,n[0].y=e.south,n[1].x=e.west,n[1].y=e.north,n[2].x=e.east,n[2].y=e.south;for(var i=t.rectangle,o=Z.Matrix2.fromRotation(t._stRotation,E),s=J.Rectangle.center(i,F),l=0;l<3;++l){var u=n[l];u.x-=s.longitude,u.y-=s.latitude,Z.Matrix2.multiplyByVector(o,u,u),u.x+=s.longitude,u.y+=s.latitude,u.x=(u.x-i.west)/i.width,u.y=(u.y-i.south)/i.height}return a=n[0],r=n[1],e=n[2],t=new Array(6),J.Cartesian2.pack(a,t),J.Cartesian2.pack(r,t,2),J.Cartesian2.pack(e,t,4),t}(this)),this._textureCoordinateRotationPoints}}}),function(t,e){return Q.defined(e)&&(t=b.unpack(t,e)),t._ellipsoid=J.Ellipsoid.clone(t._ellipsoid),t._rectangle=J.Rectangle.clone(t._rectangle),b.createGeometry(t)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createRectangleOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createRectangleOutlineGeometry.js new file mode 100644 index 000000000..de7ea7fa4 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createRectangleOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./EllipsoidRhumbLine-c704bf4c","./PolygonPipeline-b9585f01","./RectangleGeometryLibrary-ac41ca49"],function(c,e,p,s,d,t,i,m,_,v,E,f,a,g,A){"use strict";var h=new d.BoundingSphere,y=new d.BoundingSphere,G=new s.Cartesian3,b=new s.Rectangle;function R(e,t){var i=e._ellipsoid,a=t.height,r=t.width,n=t.northCap,o=t.southCap,l=a,u=2,s=0,e=4;n&&(--u,--l,s+=1,e-=2),o&&(--u,--l,s+=1,e-=2),s+=u*r+2*l-e;var c,p=new Float64Array(3*s),d=0,f=0,g=G;if(n)A.RectangleGeometryLibrary.computePosition(t,i,!1,f,0,g),p[d++]=g.x,p[d++]=g.y,p[d++]=g.z;else for(c=0;c<r;c++)A.RectangleGeometryLibrary.computePosition(t,i,!1,f,c,g),p[d++]=g.x,p[d++]=g.y,p[d++]=g.z;for(c=r-1,f=1;f<a;f++)A.RectangleGeometryLibrary.computePosition(t,i,!1,f,c,g),p[d++]=g.x,p[d++]=g.y,p[d++]=g.z;if(f=a-1,!o)for(c=r-2;0<=c;c--)A.RectangleGeometryLibrary.computePosition(t,i,!1,f,c,g),p[d++]=g.x,p[d++]=g.y,p[d++]=g.z;for(c=0,f=a-2;0<f;f--)A.RectangleGeometryLibrary.computePosition(t,i,!1,f,c,g),p[d++]=g.x,p[d++]=g.y,p[d++]=g.z;for(var o=p.length/3*2,h=E.IndexDatatype.createTypedArray(p.length/3,o),y=0,b=0;b<p.length/3-1;b++)h[y++]=b,h[y++]=b+1;h[y++]=p.length/3-1,h[y++]=0;o=new _.Geometry({attributes:new v.GeometryAttributes,primitiveType:_.PrimitiveType.LINES});return o.attributes.position=new _.GeometryAttribute({componentDatatype:m.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:p}),o.indices=h,o}function P(e){var t=(e=c.defaultValue(e,c.defaultValue.EMPTY_OBJECT)).rectangle,i=c.defaultValue(e.granularity,p.CesiumMath.RADIANS_PER_DEGREE),a=c.defaultValue(e.ellipsoid,s.Ellipsoid.WGS84),r=c.defaultValue(e.rotation,0),n=c.defaultValue(e.height,0),o=c.defaultValue(e.extrudedHeight,n);this._rectangle=s.Rectangle.clone(t),this._granularity=i,this._ellipsoid=a,this._surfaceHeight=Math.max(n,o),this._rotation=r,this._extrudedHeight=Math.min(n,o),this._offsetAttribute=e.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}P.packedLength=s.Rectangle.packedLength+s.Ellipsoid.packedLength+5,P.pack=function(e,t,i){return i=c.defaultValue(i,0),s.Rectangle.pack(e._rectangle,t,i),i+=s.Rectangle.packedLength,s.Ellipsoid.pack(e._ellipsoid,t,i),i+=s.Ellipsoid.packedLength,t[i++]=e._granularity,t[i++]=e._surfaceHeight,t[i++]=e._rotation,t[i++]=e._extrudedHeight,t[i]=c.defaultValue(e._offsetAttribute,-1),t};var w=new s.Rectangle,L=s.Ellipsoid.clone(s.Ellipsoid.UNIT_SPHERE),C={rectangle:w,ellipsoid:L,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};P.unpack=function(e,t,i){t=c.defaultValue(t,0);var a=s.Rectangle.unpack(e,t,w);t+=s.Rectangle.packedLength;var r=s.Ellipsoid.unpack(e,t,L);t+=s.Ellipsoid.packedLength;var n=e[t++],o=e[t++],l=e[t++],u=e[t++],t=e[t];return c.defined(i)?(i._rectangle=s.Rectangle.clone(a,i._rectangle),i._ellipsoid=s.Ellipsoid.clone(r,i._ellipsoid),i._surfaceHeight=o,i._rotation=l,i._extrudedHeight=u,i._offsetAttribute=-1===t?void 0:t,i):(C.granularity=n,C.height=o,C.rotation=l,C.extrudedHeight=u,C.offsetAttribute=-1===t?void 0:t,new P(C))};var D=new s.Cartographic;return P.createGeometry=function(e){var t=e._rectangle,i=e._ellipsoid,a=A.RectangleGeometryLibrary.computeOptions(t,e._granularity,e._rotation,0,b,D);if(!p.CesiumMath.equalsEpsilon(t.north,t.south,p.CesiumMath.EPSILON10)&&!p.CesiumMath.equalsEpsilon(t.east,t.west,p.CesiumMath.EPSILON10)){var r,n,o,l,u=e._surfaceHeight,s=e._extrudedHeight;return u=!p.CesiumMath.equalsEpsilon(u,s,0,p.CesiumMath.EPSILON2)?(n=function(e,t){var i=e._surfaceHeight,a=e._extrudedHeight,r=e._ellipsoid,n=a,o=i,l=R(e,t),a=t.height,i=t.width,u=(e=g.PolygonPipeline.scaleToGeodeticHeight(l.attributes.position.values,o,r,!1)).length;(o=new Float64Array(2*u)).set(e),n=g.PolygonPipeline.scaleToGeodeticHeight(l.attributes.position.values,n,r),o.set(n,u),l.attributes.position.values=o,r=t.northCap,n=t.southCap,t=4,r&&--t,n&&--t;for(var t=2*(o.length/3+t),s=E.IndexDatatype.createTypedArray(o.length/3,t),u=o.length/6,c=0,p=0;p<u-1;p++)s[c++]=p,s[c++]=p+1,s[c++]=p+u,s[c++]=p+u+1;return s[c++]=u-1,s[c++]=0,s[c++]=u+u-1,s[c++]=u,s[c++]=0,s[c++]=u,a=r?a-1:(r=i-1,s[c++]=r,s[c++]=r+u,i+a-2),s[c++]=a,s[c++]=a+u,n||(a=i+a-1,s[c++]=a,s[c]=a+u),l.indices=s,l}(e,a),c.defined(e._offsetAttribute)&&(r=n.attributes.position.values.length/3,o=new Uint8Array(r),o=e._offsetAttribute===f.GeometryOffsetAttribute.TOP?f.arrayFill(o,1,0,r/2):(l=e._offsetAttribute===f.GeometryOffsetAttribute.NONE?0:1,f.arrayFill(o,l)),n.attributes.applyOffset=new _.GeometryAttribute({componentDatatype:m.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:o})),o=d.BoundingSphere.fromRectangle3D(t,i,u,y),s=d.BoundingSphere.fromRectangle3D(t,i,s,h),d.BoundingSphere.union(o,s)):((n=R(e,a)).attributes.position.values=g.PolygonPipeline.scaleToGeodeticHeight(n.attributes.position.values,u,i,!1),c.defined(e._offsetAttribute)&&(a=n.attributes.position.values.length,a=new Uint8Array(a/3),l=e._offsetAttribute===f.GeometryOffsetAttribute.NONE?0:1,f.arrayFill(a,l),n.attributes.applyOffset=new _.GeometryAttribute({componentDatatype:m.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:a})),d.BoundingSphere.fromRectangle3D(t,i,u)),new _.Geometry({attributes:n.attributes,indices:n.indices,primitiveType:_.PrimitiveType.LINES,boundingSphere:u,offsetAttribute:e._offsetAttribute})}},function(e,t){return c.defined(t)&&(e=P.unpack(e,t)),e._ellipsoid=s.Ellipsoid.clone(e._ellipsoid),e._rectangle=s.Rectangle.clone(e._rectangle),P.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createSimplePolylineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createSimplePolylineGeometry.js new file mode 100644 index 000000000..168fc1752 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createSimplePolylineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./ArcType-dc1c5aee","./EllipsoidRhumbLine-c704bf4c","./EllipsoidGeodesic-30fae80b","./PolylinePipeline-fa11d71d","./Color-bac25fae"],function(L,e,V,x,S,o,t,I,R,O,M,r,a,U,l,i,N,F){"use strict";function d(e){var o=(e=L.defaultValue(e,L.defaultValue.EMPTY_OBJECT)).positions,t=e.colors,r=L.defaultValue(e.colorsPerVertex,!1);this._positions=o,this._colors=t,this._colorsPerVertex=r,this._arcType=L.defaultValue(e.arcType,U.ArcType.GEODESIC),this._granularity=L.defaultValue(e.granularity,V.CesiumMath.RADIANS_PER_DEGREE),this._ellipsoid=L.defaultValue(e.ellipsoid,x.Ellipsoid.WGS84),this._workerName="createSimplePolylineGeometry";o=1+o.length*x.Cartesian3.packedLength;o+=L.defined(t)?1+t.length*F.Color.packedLength:1,this.packedLength=o+x.Ellipsoid.packedLength+3}d.pack=function(e,o,t){var r;t=L.defaultValue(t,0);var a=e._positions,l=a.length;for(o[t++]=l,r=0;r<l;++r,t+=x.Cartesian3.packedLength)x.Cartesian3.pack(a[r],o,t);var i=e._colors,l=L.defined(i)?i.length:0;for(o[t++]=l,r=0;r<l;++r,t+=F.Color.packedLength)F.Color.pack(i[r],o,t);return x.Ellipsoid.pack(e._ellipsoid,o,t),t+=x.Ellipsoid.packedLength,o[t++]=e._colorsPerVertex?1:0,o[t++]=e._arcType,o[t]=e._granularity,o},d.unpack=function(e,o,t){o=L.defaultValue(o,0);for(var r=e[o++],a=new Array(r),l=0;l<r;++l,o+=x.Cartesian3.packedLength)a[l]=x.Cartesian3.unpack(e,o);var i=0<(r=e[o++])?new Array(r):void 0;for(l=0;l<r;++l,o+=F.Color.packedLength)i[l]=F.Color.unpack(e,o);var n=x.Ellipsoid.unpack(e,o);o+=x.Ellipsoid.packedLength;var s=1===e[o++],p=e[o++],c=e[o];return L.defined(t)?(t._positions=a,t._colors=i,t._ellipsoid=n,t._colorsPerVertex=s,t._arcType=p,t._granularity=c,t):new d({positions:a,colors:i,ellipsoid:n,colorsPerVertex:s,arcType:p,granularity:c})};var H=new Array(2),W=new Array(2),Y={positions:H,height:W,ellipsoid:void 0,minDistance:void 0,granularity:void 0};return d.createGeometry=function(e){var o,t,r,a=e._positions,l=e._colors,i=e._colorsPerVertex,n=e._arcType,s=e._granularity,e=e._ellipsoid,p=V.CesiumMath.chordLength(s,e.maximumRadius),c=L.defined(l)&&!i,d=a.length,f=0;if(n===U.ArcType.GEODESIC||n===U.ArcType.RHUMB){var y,u,h=n===U.ArcType.GEODESIC?(y=V.CesiumMath.chordLength(s,e.maximumRadius),u=N.PolylinePipeline.numberOfPoints,N.PolylinePipeline.generateArc):(y=s,u=N.PolylinePipeline.numberOfPointsRhumbLine,N.PolylinePipeline.generateRhumbArc),C=N.PolylinePipeline.extractHeights(a,e),T=Y;if(n===U.ArcType.GEODESIC?T.minDistance=p:T.granularity=s,T.ellipsoid=e,c){for(var g=0,m=0;m<d-1;m++)g+=u(a[m],a[m+1],y)+1;o=new Float64Array(3*g),r=new Uint8Array(4*g),T.positions=H,T.height=W;var b=0;for(m=0;m<d-1;++m){H[0]=a[m],H[1]=a[m+1],W[0]=C[m],W[1]=C[m+1];var P=h(T);if(L.defined(l))for(var _=P.length/3,v=l[m],B=0;B<_;++B)r[b++]=F.Color.floatToByte(v.red),r[b++]=F.Color.floatToByte(v.green),r[b++]=F.Color.floatToByte(v.blue),r[b++]=F.Color.floatToByte(v.alpha);o.set(P,f),f+=P.length}}else if(T.positions=a,T.height=C,o=new Float64Array(h(T)),L.defined(l)){for(r=new Uint8Array(o.length/3*4),m=0;m<d-1;++m)f=function(e,o,t,r,a,l,i){var n=N.PolylinePipeline.numberOfPoints(e,o,a),s=t.red,p=t.green,c=t.blue,d=t.alpha,f=r.red,e=r.green,o=r.blue,a=r.alpha;if(F.Color.equals(t,r)){for(g=0;g<n;g++)l[i++]=F.Color.floatToByte(s),l[i++]=F.Color.floatToByte(p),l[i++]=F.Color.floatToByte(c),l[i++]=F.Color.floatToByte(d);return i}for(var y=(f-s)/n,u=(e-p)/n,h=(o-c)/n,C=(a-d)/n,T=i,g=0;g<n;g++)l[T++]=F.Color.floatToByte(s+g*y),l[T++]=F.Color.floatToByte(p+g*u),l[T++]=F.Color.floatToByte(c+g*h),l[T++]=F.Color.floatToByte(d+g*C);return T}(a[m],a[m+1],l[m],l[m+1],p,r,f);var A=l[d-1];r[f++]=F.Color.floatToByte(A.red),r[f++]=F.Color.floatToByte(A.green),r[f++]=F.Color.floatToByte(A.blue),r[f++]=F.Color.floatToByte(A.alpha)}}else{t=c?2*d-2:d,o=new Float64Array(3*t),r=L.defined(l)?new Uint8Array(4*t):void 0;var E=0,k=0;for(m=0;m<d;++m){var G=a[m];if(c&&0<m&&(x.Cartesian3.pack(G,o,E),E+=3,v=l[m-1],r[k++]=F.Color.floatToByte(v.red),r[k++]=F.Color.floatToByte(v.green),r[k++]=F.Color.floatToByte(v.blue),r[k++]=F.Color.floatToByte(v.alpha)),c&&m===d-1)break;x.Cartesian3.pack(G,o,E),E+=3,L.defined(l)&&(v=l[m],r[k++]=F.Color.floatToByte(v.red),r[k++]=F.Color.floatToByte(v.green),r[k++]=F.Color.floatToByte(v.blue),r[k++]=F.Color.floatToByte(v.alpha))}}e=new O.GeometryAttributes;e.position=new R.GeometryAttribute({componentDatatype:I.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:o}),L.defined(l)&&(e.color=new R.GeometryAttribute({componentDatatype:I.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:4,values:r,normalize:!0}));var A=2*((t=o.length/3)-1),w=M.IndexDatatype.createTypedArray(t,A),D=0;for(m=0;m<t-1;++m)w[D++]=m,w[D++]=m+1;return new R.Geometry({attributes:e,indices:w,primitiveType:R.PrimitiveType.LINES,boundingSphere:S.BoundingSphere.fromPoints(a)})},function(e,o){return L.defined(o)&&(e=d.unpack(e,o)),e._ellipsoid=x.Ellipsoid.clone(e._ellipsoid),d.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createSphereGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createSphereGeometry.js new file mode 100644 index 000000000..d1cd7bf7a --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createSphereGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./EllipsoidGeometry-2c4c641e"],function(i,e,t,a,r,o,n,s,c,d,l,m,u,p){"use strict";function y(e){var t=i.defaultValue(e.radius,1),e={radii:new a.Cartesian3(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new p.EllipsoidGeometry(e),this._workerName="createSphereGeometry"}y.packedLength=p.EllipsoidGeometry.packedLength,y.pack=function(e,t,r){return p.EllipsoidGeometry.pack(e._ellipsoidGeometry,t,r)};var f=new p.EllipsoidGeometry,G={radius:void 0,radii:new a.Cartesian3,vertexFormat:new u.VertexFormat,stackPartitions:void 0,slicePartitions:void 0};return y.unpack=function(e,t,r){t=p.EllipsoidGeometry.unpack(e,t,f);return G.vertexFormat=u.VertexFormat.clone(t._vertexFormat,G.vertexFormat),G.stackPartitions=t._stackPartitions,G.slicePartitions=t._slicePartitions,i.defined(r)?(a.Cartesian3.clone(t._radii,G.radii),r._ellipsoidGeometry=new p.EllipsoidGeometry(G),r):(G.radius=t._radii.x,new y(G))},y.createGeometry=function(e){return p.EllipsoidGeometry.createGeometry(e._ellipsoidGeometry)},function(e,t){return i.defined(t)&&(e=y.unpack(e,t)),y.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createSphereOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createSphereOutlineGeometry.js new file mode 100644 index 000000000..275d99490 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createSphereOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./EllipsoidOutlineGeometry-7ef60a22"],function(r,e,i,n,t,s,o,a,d,c,l,u,m){"use strict";function p(e){var i=r.defaultValue(e.radius,1),e={radii:new n.Cartesian3(i,i,i),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,subdivisions:e.subdivisions};this._ellipsoidGeometry=new m.EllipsoidOutlineGeometry(e),this._workerName="createSphereOutlineGeometry"}p.packedLength=m.EllipsoidOutlineGeometry.packedLength,p.pack=function(e,i,t){return m.EllipsoidOutlineGeometry.pack(e._ellipsoidGeometry,i,t)};var f=new m.EllipsoidOutlineGeometry,y={radius:void 0,radii:new n.Cartesian3,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};return p.unpack=function(e,i,t){i=m.EllipsoidOutlineGeometry.unpack(e,i,f);return y.stackPartitions=i._stackPartitions,y.slicePartitions=i._slicePartitions,y.subdivisions=i._subdivisions,r.defined(t)?(n.Cartesian3.clone(i._radii,y.radii),t._ellipsoidGeometry=new m.EllipsoidOutlineGeometry(y),t):(y.radius=i._radii.x,new p(y))},p.createGeometry=function(e){return m.EllipsoidOutlineGeometry.createGeometry(e._ellipsoidGeometry)},function(e,i){return r.defined(i)&&(e=p.unpack(e,i)),p.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createTaskProcessorWorker.js b/public/GV/thirdParty/CesiumManager/Workers/createTaskProcessorWorker.js new file mode 100644 index 000000000..3463804b1 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createTaskProcessorWorker.js @@ -0,0 +1 @@ +define(["./when-54c2dc71"],function(f){"use strict";return function(r){var o;return function(e){var s=e.data,a=[],i={id:s.id,result:void 0,error:void 0};return f.when(function(e,r,n){try{return e(r,n)}catch(e){return f.when.reject(e)}}(r,s.parameters,a)).then(function(e){i.result=e}).otherwise(function(e){e instanceof Error?i.error={name:e.name,message:e.message,stack:e.stack}:i.error=e}).always(function(){f.defined(o)||(o=f.defaultValue(self.webkitPostMessage,self.postMessage)),s.canTransferArrayBuffer||(a.length=0);try{o(i,a)}catch(e){i.result=void 0,i.error="postMessage failed with error: "+(n=(r=e).name,t=r.message,t=f.defined(n)&&f.defined(t)?n+": "+t:r.toString(),r=r.stack,f.defined(r)&&(t+="\n"+r),t)+"\n with responseMessage: "+JSON.stringify(i),o(i)}var r,n,t})}}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createVectorTileGeometries.js b/public/GV/thirdParty/CesiumManager/Workers/createVectorTileGeometries.js new file mode 100644 index 000000000..0ed952ef1 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createVectorTileGeometries.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./createTaskProcessorWorker","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785","./BoxGeometry-7dc94aad","./CylinderGeometryLibrary-b0214ab1","./CylinderGeometry-e0cec806","./EllipsoidGeometry-2c4c641e","./Color-bac25fae"],function(S,e,t,T,V,n,r,a,i,o,k,d,s,c,M,f,B,w,F){"use strict";function R(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var l=new T.Cartesian3,u=V.Matrix4.packedLength+T.Cartesian3.packedLength,h=V.Matrix4.packedLength+2,b=V.Matrix4.packedLength+T.Cartesian3.packedLength,p=T.Cartesian3.packedLength+1,y={modelMatrix:new V.Matrix4,boundingVolume:new V.BoundingSphere};function A(e,t){var n=t*u,t=T.Cartesian3.unpack(e,n,l);n+=T.Cartesian3.packedLength;n=V.Matrix4.unpack(e,n,y.modelMatrix);V.Matrix4.multiplyByScale(n,t,n);n=y.boundingVolume;return T.Cartesian3.clone(T.Cartesian3.ZERO,n.center),n.radius=Math.sqrt(3),y}function O(e,t){var n=t*h,r=e[n++],t=e[n++],t=T.Cartesian3.fromElements(r,r,t,l),n=V.Matrix4.unpack(e,n,y.modelMatrix);V.Matrix4.multiplyByScale(n,t,n);n=y.boundingVolume;return T.Cartesian3.clone(T.Cartesian3.ZERO,n.center),n.radius=Math.sqrt(2),y}function L(e,t){var n=t*b,t=T.Cartesian3.unpack(e,n,l);n+=T.Cartesian3.packedLength;n=V.Matrix4.unpack(e,n,y.modelMatrix);V.Matrix4.multiplyByScale(n,t,n);n=y.boundingVolume;return T.Cartesian3.clone(T.Cartesian3.ZERO,n.center),n.radius=1,y}function E(e,t){var n=t*p,t=e[n++],n=T.Cartesian3.unpack(e,n,l),n=V.Matrix4.fromTranslation(n,y.modelMatrix);V.Matrix4.multiplyByUniformScale(n,t,n);n=y.boundingVolume;return T.Cartesian3.clone(T.Cartesian3.ZERO,n.center),n.radius=1,y}var Z=new T.Cartesian3;function U(e,t,n,r,a){if(S.defined(t)){for(var i=n.length,o=r.attributes.position.values,d=r.indices,s=e.positions,c=e.vertexBatchIds,f=e.indices,l=e.batchIds,u=e.batchTableColors,h=e.batchedIndices,b=e.indexOffsets,p=e.indexCounts,y=e.boundingVolumes,x=e.modelMatrix,g=e.center,C=e.positionOffset,m=e.batchIdIndex,v=e.indexOffset,I=e.batchedIndicesOffset,k=0;k<i;++k){var M=a(t,k),B=M.modelMatrix;V.Matrix4.multiply(x,B,B);for(var w=n[k],A=o.length,O=0;O<A;O+=3){var L=T.Cartesian3.unpack(o,O,Z);V.Matrix4.multiplyByPoint(B,L,L),T.Cartesian3.subtract(L,g,L),T.Cartesian3.pack(L,s,3*C+O),c[m++]=w}for(var E=d.length,U=0;U<E;++U)f[v+U]=d[U]+C;var G=k+I;h[G]=new R({offset:v,count:E,color:F.Color.fromRgba(u[w]),batchIds:[w]}),l[G]=w,b[G]=v,p[G]=E,y[G]=V.BoundingSphere.transform(M.boundingVolume,B),C+=A/3,v+=E}e.positionOffset=C,e.batchIdIndex=m,e.indexOffset=v,e.batchedIndicesOffset+=i}}var G=new T.Cartesian3,D=new V.Matrix4;function P(e,t,n){var r=n.length,a=2+r*V.BoundingSphere.packedLength+1+function(e){for(var t=e.length,n=0,r=0;r<t;++r)n+=F.Color.packedLength+3+e[r].batchIds.length;return n}(t),i=new Float64Array(a),o=0;i[o++]=e,i[o++]=r;for(var d=0;d<r;++d)V.BoundingSphere.pack(n[d],i,o),o+=V.BoundingSphere.packedLength;var s=t.length;i[o++]=s;for(var c=0;c<s;++c){var f=t[c];F.Color.pack(f.color,i,o),o+=F.Color.packedLength,i[o++]=f.offset,i[o++]=f.count;var l=f.batchIds,u=l.length;i[o++]=u;for(var h=0;h<u;++h)i[o++]=l[h]}return i}return d(function(e,t){var n=S.defined(e.boxes)?new Float32Array(e.boxes):void 0,r=S.defined(e.boxBatchIds)?new Uint16Array(e.boxBatchIds):void 0,a=S.defined(e.cylinders)?new Float32Array(e.cylinders):void 0,i=S.defined(e.cylinderBatchIds)?new Uint16Array(e.cylinderBatchIds):void 0,o=S.defined(e.ellipsoids)?new Float32Array(e.ellipsoids):void 0,d=S.defined(e.ellipsoidBatchIds)?new Uint16Array(e.ellipsoidBatchIds):void 0,s=S.defined(e.spheres)?new Float32Array(e.spheres):void 0,c=S.defined(e.sphereBatchIds)?new Uint16Array(e.sphereBatchIds):void 0,f=S.defined(n)?r.length:0,l=S.defined(a)?i.length:0,u=S.defined(o)?d.length:0,h=S.defined(s)?c.length:0,b=M.BoxGeometry.getUnitBox(),p=B.CylinderGeometry.getUnitCylinder(),y=w.EllipsoidGeometry.getUnitEllipsoid(),x=b.attributes.position.values,g=p.attributes.position.values,C=y.attributes.position.values,m=x.length*f;m+=g.length*l,m+=C.length*(u+h);var v=b.indices,I=p.indices,x=y.indices,g=v.length*f;return g+=I.length*l,g+=x.length*(u+h),C=new Float32Array(m),v=new Uint16Array(m/3),I=k.IndexDatatype.createTypedArray(m/3,g),x=f+l+u+h,m=new Uint16Array(x),g=new Array(x),f=new Uint32Array(x),l=new Uint32Array(x),u=new Array(x),h=e.packedBuffer,x=new Float64Array(h),h=0,T.Cartesian3.unpack(x,0,G),h+=T.Cartesian3.packedLength,V.Matrix4.unpack(x,h,D),U(e={batchTableColors:new Uint32Array(e.batchTableColors),positions:C,vertexBatchIds:v,indices:I,batchIds:m,batchedIndices:g,indexOffsets:f,indexCounts:l,boundingVolumes:u,positionOffset:0,batchIdIndex:0,indexOffset:0,batchedIndicesOffset:0,modelMatrix:D,center:G},n,r,b,A),U(e,a,i,p,O),U(e,o,d,y,L),U(e,s,c,y,E),u=P(I.BYTES_PER_ELEMENT,g,u),t.push(C.buffer,v.buffer,I.buffer),t.push(m.buffer,f.buffer,l.buffer),t.push(u.buffer),{positions:C.buffer,vertexBatchIds:v.buffer,indices:I.buffer,indexOffsets:f.buffer,indexCounts:l.buffer,batchIds:m.buffer,packedBuffer:u.buffer}})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createVectorTilePoints.js b/public/GV/thirdParty/CesiumManager/Workers/createVectorTilePoints.js new file mode 100644 index 000000000..2f6560818 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createVectorTilePoints.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./AttributeCompression-9fc99391","./createTaskProcessorWorker"],function(a,e,C,g,b,r){"use strict";var w=32767,k=new g.Cartographic,v=new g.Cartesian3,y=new g.Rectangle,A=new g.Ellipsoid,M={min:void 0,max:void 0};return r(function(a,e){var r=new Uint16Array(a.positions);!function(a){a=new Float64Array(a);var e=0;M.min=a[e++],M.max=a[e++],g.Rectangle.unpack(a,2,y),e+=g.Rectangle.packedLength,g.Ellipsoid.unpack(a,e,A)}(a.packedBuffer);var t=y,n=A,i=M.min,s=M.max,c=r.length/3,o=r.subarray(0,c),u=r.subarray(c,2*c),p=r.subarray(2*c,3*c);b.AttributeCompression.zigZagDeltaDecode(o,u,p);for(var f=new Float64Array(r.length),h=0;h<c;++h){var l=o[h],d=u[h],m=p[h],l=C.CesiumMath.lerp(t.west,t.east,l/w),d=C.CesiumMath.lerp(t.south,t.north,d/w),m=C.CesiumMath.lerp(i,s,m/w),m=g.Cartographic.fromRadians(l,d,m,k),m=n.cartographicToCartesian(m,v);g.Cartesian3.pack(m,f,3*h)}return e.push(f.buffer),{positions:f.buffer}})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createVectorTilePolygons.js b/public/GV/thirdParty/CesiumManager/Workers/createVectorTilePolygons.js new file mode 100644 index 000000000..730ef87e4 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createVectorTilePolygons.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./AttributeCompression-9fc99391","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./createTaskProcessorWorker","./EllipsoidTangentPlane-64140317","./OrientedBoundingBox-11af7c9d","./Color-bac25fae"],function(ye,e,Ie,me,a,r,n,we,ve,t,i,o,s,xe,Ae){"use strict";var Ee=new me.Cartesian3,Ne=new me.Ellipsoid,Te=new me.Rectangle,ke={min:void 0,max:void 0,indexBytesPerElement:void 0};function Be(e,a,r){var n=a.length,t=2+n*xe.OrientedBoundingBox.packedLength+1+function(e){for(var a=e.length,r=0,n=0;n<a;++n)r+=Ae.Color.packedLength+3+e[n].batchIds.length;return r}(r),i=new Float64Array(t),o=0;i[o++]=e,i[o++]=n;for(var s=0;s<n;++s)xe.OrientedBoundingBox.pack(a[s],i,o),o+=xe.OrientedBoundingBox.packedLength;var f=r.length;i[o++]=f;for(var d=0;d<f;++d){var c=r[d];Ae.Color.pack(c.color,i,o),o+=Ae.Color.packedLength,i[o++]=c.offset,i[o++]=c.count;var u=c.batchIds,h=u.length;i[o++]=h;for(var l=0;l<h;++l)i[o++]=u[l]}return i}var Le=new me.Cartesian3,Oe=new me.Cartesian3,Ue=new me.Cartesian3,Pe=new me.Cartesian3,Fe=new me.Cartesian3,Se=new me.Cartographic,Re=new me.Rectangle;return o(function(e,a){var r;i=e.packedBuffer,r=new Float64Array(i),i=0,ke.indexBytesPerElement=r[i++],ke.min=r[i++],ke.max=r[i++],me.Cartesian3.unpack(r,3,Ee),i+=me.Cartesian3.packedLength,me.Ellipsoid.unpack(r,i,Ne),i+=me.Ellipsoid.packedLength,me.Rectangle.unpack(r,i,Te);var n,t=new(2===ke.indexBytesPerElement?Uint16Array:Uint32Array)(e.indices),i=new Uint16Array(e.positions),o=new Uint32Array(e.counts),s=new Uint32Array(e.indexCounts),f=new Uint32Array(e.batchIds),d=new Uint32Array(e.batchTableColors),c=new Array(o.length),u=Ee,h=Ne,l=Te,g=ke.min,p=ke.max,b=e.minimumHeights,C=e.maximumHeights;ye.defined(b)&&ye.defined(C)&&(b=new Float32Array(b),C=new Float32Array(C));var y=i.length/2,I=i.subarray(0,y),m=i.subarray(y,2*y);we.AttributeCompression.zigZagDeltaDecode(I,m);for(var w=new Float64Array(3*y),v=0;v<y;++v){var x=I[v],A=m[v],x=Ie.CesiumMath.lerp(l.west,l.east,x/32767),A=Ie.CesiumMath.lerp(l.south,l.north,A/32767),A=me.Cartographic.fromRadians(x,A,0,Se),A=h.cartographicToCartesian(A,Le);me.Cartesian3.pack(A,w,3*v)}var E=o.length,N=new Array(E),T=new Array(E),k=0,B=0;for(v=0;v<E;++v)N[v]=k,T[v]=B,k+=o[v],B+=s[v];var L,O=new Float32Array(3*y*2),U=new Uint16Array(2*y),P=new Uint32Array(T.length),F=new Uint32Array(s.length),S=[],R={};for(v=0;v<E;++v)n=d[v],ye.defined(R[n])?(R[n].positionLength+=o[v],R[n].indexLength+=s[v],R[n].batchIds.push(v)):R[n]={positionLength:o[v],indexLength:s[v],offset:0,indexOffset:0,batchIds:[v]};var D,M=0,_=0;for(n in R)R.hasOwnProperty(n)&&((L=R[n]).offset=M,L.indexOffset=_,M+=2*L.positionLength,_+=D=2*L.indexLength+6*L.positionLength,L.indexLength=D);var G=[];for(n in R)R.hasOwnProperty(n)&&(L=R[n],G.push({color:Ae.Color.fromRgba(parseInt(n)),offset:L.indexOffset,count:L.indexLength,batchIds:L.batchIds}));for(v=0;v<E;++v){var Y=(L=R[n=d[v]]).offset,V=3*Y,H=Y,W=N[v],z=o[v],Z=f[v],j=g,q=p;ye.defined(b)&&ye.defined(C)&&(j=b[v],q=C[v]);for(var J=Number.POSITIVE_INFINITY,K=Number.NEGATIVE_INFINITY,Q=Number.POSITIVE_INFINITY,X=Number.NEGATIVE_INFINITY,$=0;$<z;++$){var ee=me.Cartesian3.unpack(w,3*W+3*$,Le);h.scaleToGeodeticSurface(ee,ee);var ae=h.cartesianToCartographic(ee,Se),re=ae.latitude,ne=ae.longitude,J=Math.min(re,J),K=Math.max(re,K),Q=Math.min(ne,Q),X=Math.max(ne,X),ae=h.geodeticSurfaceNormal(ee,Oe),re=me.Cartesian3.multiplyByScalar(ae,j,Ue),ne=me.Cartesian3.add(ee,re,Pe),re=me.Cartesian3.multiplyByScalar(ae,q,re),re=me.Cartesian3.add(ee,re,Fe);me.Cartesian3.subtract(re,u,re),me.Cartesian3.subtract(ne,u,ne),me.Cartesian3.pack(re,O,V),me.Cartesian3.pack(ne,O,V+3),U[H]=Z,U[H+1]=Z,V+=6,H+=2}(l=Re).west=Q,l.east=X,l.south=J,l.north=K,c[v]=xe.OrientedBoundingBox.fromRectangle(l,g,p,h);var te=L.indexOffset,ie=T[v],oe=s[v];for(P[v]=te,$=0;$<oe;$+=3){var se=t[ie+$]-W,fe=t[ie+$+1]-W,de=t[ie+$+2]-W;S[te++]=2*se+Y,S[te++]=2*fe+Y,S[te++]=2*de+Y,S[te++]=2*de+1+Y,S[te++]=2*fe+1+Y,S[te++]=2*se+1+Y}for($=0;$<z;++$){var ce=$,ue=($+1)%z;S[te++]=2*ce+1+Y,S[te++]=2*ue+Y,S[te++]=2*ce+Y,S[te++]=2*ce+1+Y,S[te++]=2*ue+1+Y,S[te++]=2*ue+Y}L.offset+=2*z,L.indexOffset=te,F[v]=te-P[v]}S=ve.IndexDatatype.createTypedArray(O.length/3,S);for(var he=G.length,le=0;le<he;++le){for(var ge=G[le].batchIds,pe=0,be=ge.length,Ce=0;Ce<be;++Ce)pe+=F[ge[Ce]];G[le].count=pe}return i=Be(2===S.BYTES_PER_ELEMENT?ve.IndexDatatype.UNSIGNED_SHORT:ve.IndexDatatype.UNSIGNED_INT,c,G),a.push(O.buffer,S.buffer,P.buffer,F.buffer,U.buffer,i.buffer),{positions:O.buffer,indices:S.buffer,indexOffsets:P.buffer,indexCounts:F.buffer,batchIds:U.buffer,packedBuffer:i.buffer}})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createVectorTilePolylines.js b/public/GV/thirdParty/CesiumManager/Workers/createVectorTilePolylines.js new file mode 100644 index 000000000..9007841c5 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createVectorTilePolylines.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./WebGLConstants-76bb35d1","./AttributeCompression-9fc99391","./IndexDatatype-53503fee","./createTaskProcessorWorker"],function(a,e,P,L,r,S,_,n){"use strict";var G=32767,W=new L.Cartographic,B=new L.Cartesian3;var z=new L.Rectangle,H=new L.Ellipsoid,O=new L.Cartesian3,Y={min:void 0,max:void 0};var Z=new L.Cartesian3,j=new L.Cartesian3,q=new L.Cartesian3,J=new L.Cartesian3,K=new L.Cartesian3;return n(function(a,e){var r=new Uint16Array(a.positions),n=new Uint16Array(a.widths),t=new Uint32Array(a.counts),i=new Uint16Array(a.batchIds);!function(a){a=new Float64Array(a);var e=0;Y.min=a[e++],Y.max=a[e++],L.Rectangle.unpack(a,2,z),e+=L.Rectangle.packedLength,L.Ellipsoid.unpack(a,e,H),e+=L.Ellipsoid.packedLength,L.Cartesian3.unpack(a,e,O)}(a.packedBuffer);for(var s=O,c=function(a,e,r,n,t){var i=a.length/3,s=a.subarray(0,i),c=a.subarray(i,2*i),u=a.subarray(2*i,3*i);S.AttributeCompression.zigZagDeltaDecode(s,c,u);for(var o=new Float64Array(a.length),f=0;f<i;++f){var p=s[f],C=c[f],d=u[f],p=P.CesiumMath.lerp(e.west,e.east,p/G),C=P.CesiumMath.lerp(e.south,e.north,C/G),d=P.CesiumMath.lerp(r,n,d/G),d=L.Cartographic.fromRadians(p,C,d,W),d=t.cartographicToCartesian(d,B);L.Cartesian3.pack(d,o,3*f)}return o}(r,z,Y.min,Y.max,H),r=4*(a=c.length/3)-4,u=new Float32Array(3*r),o=new Float32Array(3*r),f=new Float32Array(3*r),p=new Float32Array(2*r),C=new Uint16Array(r),d=0,b=0,w=0,h=0,l=t.length,y=0;y<l;++y){for(var k,v=t[y],A=n[y],g=i[y],m=0;m<v;++m){0===m?(E=L.Cartesian3.unpack(c,3*h,Z),x=L.Cartesian3.unpack(c,3*(h+1),j),k=L.Cartesian3.subtract(E,x,q),L.Cartesian3.add(E,k,k)):k=L.Cartesian3.unpack(c,3*(h+m-1),q);var x,E,D,I=L.Cartesian3.unpack(c,3*(h+m),J);m===v-1?(x=L.Cartesian3.unpack(c,3*(h+v-1),Z),E=L.Cartesian3.unpack(c,3*(h+v-2),j),D=L.Cartesian3.subtract(x,E,K),L.Cartesian3.add(x,D,D)):D=L.Cartesian3.unpack(c,3*(h+m+1),K),L.Cartesian3.subtract(k,s,k),L.Cartesian3.subtract(I,s,I),L.Cartesian3.subtract(D,s,D);for(var T=m===v-1?2:4,U=0===m?2:0;U<T;++U){L.Cartesian3.pack(I,u,d),L.Cartesian3.pack(k,o,d),L.Cartesian3.pack(D,f,d),d+=3;var F=U-2<0?-1:1;p[b++]=U%2*2-1,p[b++]=F*A,C[w++]=g}}h+=v}var N=_.IndexDatatype.createTypedArray(r,6*a-6),R=0,M=0,l=a-1;for(y=0;y<l;++y)N[M++]=R,N[M++]=R+2,N[M++]=R+1,N[M++]=R+1,N[M++]=R+2,N[M++]=R+3,R+=4;return e.push(u.buffer,o.buffer,f.buffer),e.push(p.buffer,C.buffer,N.buffer),{indexDatatype:2===N.BYTES_PER_ELEMENT?_.IndexDatatype.UNSIGNED_SHORT:_.IndexDatatype.UNSIGNED_INT,currentPositions:u.buffer,previousPositions:o.buffer,nextPositions:f.buffer,expandAndWidth:p.buffer,batchIds:C.buffer,indices:N.buffer}})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js b/public/GV/thirdParty/CesiumManager/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js new file mode 100644 index 000000000..0a518e279 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./AttributeCompression-9fc99391","./IntersectionTests-8abf6dba","./Plane-c8971487","./WebMercatorProjection-df58d479","./createTaskProcessorWorker","./EllipsoidTangentPlane-64140317","./OrientedBoundingBox-11af7c9d","./TerrainEncoding-d6aef4ae"],function(Tt,t,ft,Ct,vt,Mt,e,i,n,a,r,Nt,o,xt,bt,St){"use strict";var wt=Uint16Array.BYTES_PER_ELEMENT,Pt=Int32Array.BYTES_PER_ELEMENT,Bt=Uint32Array.BYTES_PER_ELEMENT,yt=Float32Array.BYTES_PER_ELEMENT,At=Float64Array.BYTES_PER_ELEMENT;function Rt(t,e,i){i=Tt.defaultValue(i,ft.CesiumMath);for(var n=t.length,a=0;a<n;++a)if(i.equalsEpsilon(t[a],e,ft.CesiumMath.EPSILON12))return a;return-1}var _t=new Ct.Cartographic,Wt=new Ct.Cartesian3,Ft=new Ct.Cartesian3,Ot=new Ct.Cartesian3,Yt=new vt.Matrix4;function kt(t,e,i,n,a,r,o,s,u,h){for(var c=o.length,d=0;d<c;++d){var g=o[d],l=g.cartographic,m=g.index,p=t.length,I=l.longitude,E=l.latitude,E=ft.CesiumMath.clamp(E,-ft.CesiumMath.PI_OVER_TWO,ft.CesiumMath.PI_OVER_TWO),l=l.height-r.skirtHeight;r.hMin=Math.min(r.hMin,l),Ct.Cartographic.fromRadians(I,E,l,_t),u&&(_t.longitude+=s),u?d===c-1?_t.latitude+=h:0===d&&(_t.latitude-=h):_t.latitude+=s;E=r.ellipsoid.cartographicToCartesian(_t);t.push(E),e.push(l),i.push(Ct.Cartesian2.clone(i[m])),0<n.length&&n.push(n[m]),vt.Matrix4.multiplyByPoint(r.toENU,E,Wt);l=r.minimum,E=r.maximum;Ct.Cartesian3.minimumByComponent(Wt,l,l),Ct.Cartesian3.maximumByComponent(Wt,E,E);E=r.lastBorderPoint;Tt.defined(E)&&(E=E.index,a.push(E,p-1,p,p,m,E)),r.lastBorderPoint=g}}return o(function(t,e){t.ellipsoid=Ct.Ellipsoid.clone(t.ellipsoid),t.rectangle=Ct.Rectangle.clone(t.rectangle);var i=function(t,e,i,n,a,r,o,s,u,h){var c,d,g,l,m;ct=Tt.defined(n)?(c=n.west,d=n.south,g=n.east,l=n.north,m=n.width,n.height):(c=ft.CesiumMath.toRadians(a.west),d=ft.CesiumMath.toRadians(a.south),g=ft.CesiumMath.toRadians(a.east),l=ft.CesiumMath.toRadians(a.north),m=ft.CesiumMath.toRadians(n.width),ft.CesiumMath.toRadians(n.height));var p,I,E=[d,l],T=[c,g],f=vt.Transforms.eastNorthUpToFixedFrame(e,i),C=vt.Matrix4.inverseTransformation(f,Yt);s&&(p=Nt.WebMercatorProjection.geodeticLatitudeToMercatorAngle(d),I=1/(Nt.WebMercatorProjection.geodeticLatitudeToMercatorAngle(l)-p));var v=new DataView(t),M=Number.POSITIVE_INFINITY,N=Number.NEGATIVE_INFINITY,x=Ft;x.x=Number.POSITIVE_INFINITY,x.y=Number.POSITIVE_INFINITY,x.z=Number.POSITIVE_INFINITY;var b=Ot;b.x=Number.NEGATIVE_INFINITY,b.y=Number.NEGATIVE_INFINITY,b.z=Number.NEGATIVE_INFINITY;var S,w,P=0,B=0,y=0;for(w=0;w<4;++w){var A=P;S=v.getUint32(A,!0),A+=Bt;var R=ft.CesiumMath.toRadians(180*v.getFloat64(A,!0));A+=At,-1===Rt(T,R)&&T.push(R);R=ft.CesiumMath.toRadians(180*v.getFloat64(A,!0));A+=At,-1===Rt(E,R)&&E.push(R),A+=2*At;R=v.getInt32(A,!0);A+=Pt,B+=R,R=v.getInt32(A,!0),y+=3*R,P+=S+Bt}var _=[],W=[],F=new Array(B),O=new Array(B),Y=new Array(B),k=s?new Array(B):[],U=new Array(y),V=[],H=[],L=[],D=[],G=0,j=0;for(w=P=0;w<4;++w){S=v.getUint32(P,!0);var z=P+=Bt,q=ft.CesiumMath.toRadians(180*v.getFloat64(P,!0));P+=At;var J=ft.CesiumMath.toRadians(180*v.getFloat64(P,!0));P+=At;var K=ft.CesiumMath.toRadians(180*v.getFloat64(P,!0)),Q=.5*K;P+=At;var X=ft.CesiumMath.toRadians(180*v.getFloat64(P,!0)),Z=.5*X;P+=At;var $=v.getInt32(P,!0);P+=Pt;var tt=v.getInt32(P,!0);P+=Pt,P+=Pt;for(var et=new Array($),it=0;it<$;++it){var nt=q+v.getUint8(P++)*K;_t.longitude=nt;var at=J+v.getUint8(P++)*X;_t.latitude=at;var rt=v.getFloat32(P,!0);if(P+=yt,0!==rt&&rt<h&&(rt*=-Math.pow(2,u)),rt*=6371010*r,_t.height=rt,-1!==Rt(T,nt)||-1!==Rt(E,at)){var ot=Rt(_,_t,Ct.Cartographic);if(-1!==ot){et[it]=W[ot];continue}_.push(Ct.Cartographic.clone(_t)),W.push(G)}et[it]=G,Math.abs(nt-c)<Q?V.push({index:G,cartographic:Ct.Cartographic.clone(_t)}):Math.abs(nt-g)<Q?L.push({index:G,cartographic:Ct.Cartographic.clone(_t)}):Math.abs(at-d)<Z?H.push({index:G,cartographic:Ct.Cartographic.clone(_t)}):Math.abs(at-l)<Z&&D.push({index:G,cartographic:Ct.Cartographic.clone(_t)}),M=Math.min(rt,M),N=Math.max(rt,N),Y[G]=rt;rt=i.cartographicToCartesian(_t);F[G]=rt,s&&(k[G]=(Nt.WebMercatorProjection.geodeticLatitudeToMercatorAngle(at)-p)*I),vt.Matrix4.multiplyByPoint(C,rt,Wt),Ct.Cartesian3.minimumByComponent(Wt,x,x),Ct.Cartesian3.maximumByComponent(Wt,b,b);nt=(nt-c)/(g-c);nt=ft.CesiumMath.clamp(nt,0,1);at=(at-d)/(l-d);at=ft.CesiumMath.clamp(at,0,1),O[G]=new Ct.Cartesian2(nt,at),++G}for(var st=3*tt,ut=0;ut<st;++ut,++j)U[j]=et[v.getUint16(P,!0)],P+=wt;if(S!==P-z)throw new Mt.RuntimeError("Invalid terrain tile.")}F.length=G,O.length=G,Y.length=G,s&&(k.length=G);var ht=G,a=j,t={hMin:M,lastBorderPoint:void 0,skirtHeight:o,toENU:C,ellipsoid:i,minimum:x,maximum:b};V.sort(function(t,e){return e.cartographic.latitude-t.cartographic.latitude}),H.sort(function(t,e){return t.cartographic.longitude-e.cartographic.longitude}),L.sort(function(t,e){return t.cartographic.latitude-e.cartographic.latitude}),D.sort(function(t,e){return e.cartographic.longitude-t.cartographic.longitude});o=1e-5;{var ct;kt(F,Y,O,k,U,t,V,-o*m,!0,-o*ct),kt(F,Y,O,k,U,t,H,-o*ct,!1),kt(F,Y,O,k,U,t,L,o*m,!0,o*ct),kt(F,Y,O,k,U,t,D,o*ct,!1),0<V.length&&0<D.length&&(gt=V[0].index,lt=D[D.length-1].index,ct=F.length-1,U.push(lt,ct,ht,ht,gt,lt))}B=F.length;var dt,gt=vt.BoundingSphere.fromPoints(F);Tt.defined(n)&&(dt=bt.OrientedBoundingBox.fromRectangle(n,M,N,i));for(var lt=new St.EllipsoidalOccluder(i).computeHorizonCullingPointPossiblyUnderEllipsoid(e,F,M),n=new xt.AxisAlignedBoundingBox(x,b,e),mt=new St.TerrainEncoding(n,t.hMin,N,f,!1,s),pt=new Float32Array(B*mt.getStride()),It=0,Et=0;Et<B;++Et)It=mt.encode(pt,It,F[Et],O[Et],Y[Et],void 0,k[Et]);e=V.map(function(t){return t.index}).reverse(),n=H.map(function(t){return t.index}).reverse(),t=L.map(function(t){return t.index}).reverse(),f=D.map(function(t){return t.index}).reverse();return n.unshift(t[t.length-1]),n.push(e[0]),f.unshift(e[e.length-1]),f.push(t[0]),{vertices:pt,indices:new Uint16Array(U),maximumHeight:N,minimumHeight:M,encoding:mt,boundingSphere3D:gt,orientedBoundingBox:dt,occludeePointInScaledSpace:lt,vertexCountWithoutSkirts:ht,indexCountWithoutSkirts:a,westIndicesSouthToNorth:e,southIndicesEastToWest:n,eastIndicesNorthToSouth:t,northIndicesWestToEast:f}}(t.buffer,t.relativeToCenter,t.ellipsoid,t.rectangle,t.nativeRectangle,t.exaggeration,t.skirtHeight,t.includeWebMercatorT,t.negativeAltitudeExponentBias,t.negativeElevationThreshold),n=i.vertices;return e.push(n.buffer),t=i.indices,e.push(t.buffer),{vertices:n.buffer,indices:t.buffer,numberOfAttributes:i.encoding.getStride(),minimumHeight:i.minimumHeight,maximumHeight:i.maximumHeight,boundingSphere3D:i.boundingSphere3D,orientedBoundingBox:i.orientedBoundingBox,occludeePointInScaledSpace:i.occludeePointInScaledSpace,encoding:i.encoding,vertexCountWithoutSkirts:i.vertexCountWithoutSkirts,indexCountWithoutSkirts:i.indexCountWithoutSkirts,westIndicesSouthToNorth:i.westIndicesSouthToNorth,southIndicesEastToWest:i.southIndicesEastToWest,eastIndicesNorthToSouth:i.eastIndicesNorthToSouth,northIndicesWestToEast:i.northIndicesWestToEast}})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createVerticesFromHeightmap.js b/public/GV/thirdParty/CesiumManager/Workers/createVerticesFromHeightmap.js new file mode 100644 index 000000000..636955ca5 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createVerticesFromHeightmap.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./AttributeCompression-9fc99391","./IntersectionTests-8abf6dba","./Plane-c8971487","./WebMercatorProjection-df58d479","./createTaskProcessorWorker","./EllipsoidTangentPlane-64140317","./OrientedBoundingBox-11af7c9d","./TerrainEncoding-d6aef4ae"],function(Se,e,Pe,Ee,Ce,n,t,a,i,r,s,Fe,l,Le,Oe,Ne){"use strict";var o=Object.freeze({NONE:0,LERC:1}),ze={};ze.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var Re=new Ee.Cartesian3,_e=new Ce.Matrix4,He=new Ee.Cartesian3,Ye=new Ee.Cartesian3;ze.computeVertices=function(e){var t,a,i,r=Math.cos,n=Math.sin,s=Math.sqrt,l=Math.atan,o=Math.exp,f=Pe.CesiumMath.PI_OVER_TWO,u=Pe.CesiumMath.toRadians,c=e.heightmap,d=e.width,h=e.height,m=e.skirtHeight,g=Se.defaultValue(e.isGeographic,!0),p=Se.defaultValue(e.ellipsoid,Ee.Ellipsoid.WGS84),w=1/p.maximumRadius,x=e.nativeRectangle,k=e.rectangle,y=Se.defined(k)?(t=k.west,a=k.south,i=k.east,k.north):g?(t=u(x.west),a=u(x.south),i=u(x.east),u(x.north)):(t=x.west*w,a=f-2*l(o(-x.south*w)),i=x.east*w,f-2*l(o(-x.north*w))),I=e.relativeToCenter,b=Se.defined(I),I=b?I:Ee.Cartesian3.ZERO,U=Se.defaultValue(e.exaggeration,1),v=Se.defaultValue(e.includeWebMercatorT,!1),T=Se.defaultValue(e.structure,ze.DEFAULT_STRUCTURE),M=Se.defaultValue(T.heightScale,ze.DEFAULT_STRUCTURE.heightScale),V=Se.defaultValue(T.heightOffset,ze.DEFAULT_STRUCTURE.heightOffset),A=Se.defaultValue(T.elementsPerHeight,ze.DEFAULT_STRUCTURE.elementsPerHeight),B=Se.defaultValue(T.stride,ze.DEFAULT_STRUCTURE.stride),D=Se.defaultValue(T.elementMultiplier,ze.DEFAULT_STRUCTURE.elementMultiplier),S=Se.defaultValue(T.isBigEndian,ze.DEFAULT_STRUCTURE.isBigEndian),P=Ee.Rectangle.computeWidth(x),E=Ee.Rectangle.computeHeight(x),C=P/(d-1),F=E/(h-1);g||(P*=w,E*=w);var L,O,e=p.radiiSquared,N=e.x,z=e.y,R=e.z,_=65536,H=-65536,T=Ce.Transforms.eastNorthUpToFixedFrame(I,p),Y=Ce.Matrix4.inverseTransformation(T,_e);v&&(L=Fe.WebMercatorProjection.geodeticLatitudeToMercatorAngle(a),O=1/(Fe.WebMercatorProjection.geodeticLatitudeToMercatorAngle(y)-L));var W=He;W.x=Number.POSITIVE_INFINITY,W.y=Number.POSITIVE_INFINITY,W.z=Number.POSITIVE_INFINITY;var X=Ye;X.x=Number.NEGATIVE_INFINITY,X.y=Number.NEGATIVE_INFINITY,X.z=Number.NEGATIVE_INFINITY;var Z=Number.POSITIVE_INFINITY,j=d*h,G=j+(0<m?2*d+2*h:0),q=new Array(G),Q=new Array(G),J=new Array(G),K=v?new Array(G):[],$=0,ee=h,te=0,ae=d;0<m&&(--$,++ee,--te,++ae);for(var ie=$;ie<ee;++ie){var re=ie;re<0&&(re=0),h<=re&&(re=h-1);var ne=x.north-F*re,se=((ne=g?u(ne):f-2*l(o(-ne*w)))-a)/(y-a),se=Pe.CesiumMath.clamp(se,0,1),le=ie===$,oe=ie===ee-1;0<m&&(le?ne+=1e-5*E:oe&&(ne-=1e-5*E));var fe,ue=r(ne),ce=n(ne),de=R*ce;v&&(fe=(Fe.WebMercatorProjection.geodeticLatitudeToMercatorAngle(ne)-L)*O);for(var he=te;he<ae;++he){var me=he;me<0&&(me=0),d<=me&&(me=d-1);var ge=re*(d*B)+me*B;if(1===A)we=c[ge];else{var pe,we=0;if(S)for(pe=0;pe<A;++pe)we=we*D+c[ge+pe];else for(pe=A-1;0<=pe;--pe)we=we*D+c[ge+pe]}we=(we*M+V)*U,H=Math.max(H,we),_=Math.min(_,we);var xe=x.west+C*me;g?xe=u(xe):xe*=w;var ke=(xe-t)/(i-t),ke=Pe.CesiumMath.clamp(ke,0,1),ye=re*d+me;if(0<m){var Ie=he===te,be=he===ae-1,Ue=le||oe||Ie||be;if((le||oe)&&(Ie||be))continue;Ue&&(we-=m,Ie?(ye=h-re-1+j,xe-=1e-5*P):oe?ye=j+h+(d-me-1):be?(ye=j+h+d+re,xe+=1e-5*P):le&&(ye=j+h+d+h+me))}var ve=ue*r(xe),Ue=ue*n(xe),Ie=N*ve,be=z*Ue,me=1/s(Ie*ve+be*Ue+de*ce),xe=Ie*me,Ie=be*me,be=de*me,me=new Ee.Cartesian3;me.x=xe+ve*we,me.y=Ie+Ue*we,me.z=be+ce*we,q[ye]=me,Q[ye]=we,J[ye]=new Ee.Cartesian2(ke,se),v&&(K[ye]=fe),Ce.Matrix4.multiplyByPoint(Y,me,Re),Ee.Cartesian3.minimumByComponent(Re,W,W),Ee.Cartesian3.maximumByComponent(Re,X,X),Z=Math.min(Z,we)}}var Te,Me,e=Ce.BoundingSphere.fromPoints(q);Se.defined(k)&&(Te=Oe.OrientedBoundingBox.fromRectangle(k,_,H,p)),b&&(Me=new Ne.EllipsoidalOccluder(p).computeHorizonCullingPointPossiblyUnderEllipsoid(I,q,_));for(var I=new Le.AxisAlignedBoundingBox(W,X,I),Ve=new Ne.TerrainEncoding(I,Z,H,T,!1,v),Ae=new Float32Array(G*Ve.getStride()),Be=0,De=0;De<G;++De)Be=Ve.encode(Ae,Be,q[De],J[De],Q[De],void 0,K[De]);return{vertices:Ae,maximumHeight:H,minimumHeight:_,encoding:Ve,boundingSphere3D:e,orientedBoundingBox:Te,occludeePointInScaledSpace:Me}};var f,u,c,d,h,B,m,w,x,k,g,p={};f={defaultNoDataValue:-34027999387901484e22,decode:function(e,t){var a=(t=t||{}).encodedMaskData||null===t.encodedMaskData,i=h(e,t.inputOffset||0,a),e=null!==t.noDataValue?t.noDataValue:f.defaultNoDataValue,a=u(i,t.pixelType||Float32Array,t.encodedMaskData,e,t.returnMask),e={width:i.width,height:i.height,pixelData:a.resultPixels,minValue:a.minValue,maxValue:i.pixels.maxValue,noDataValue:e};return a.resultMask&&(e.maskData=a.resultMask),t.returnEncodedMask&&i.mask&&(e.encodedMaskData=i.mask.bitset||null),t.returnFileInfo&&(e.fileInfo=c(i),t.computeUsedBitDepths&&(e.fileInfo.bitDepths=d(i))),e}},u=function(e,t,a,i,r){var n,s,l,o=0,f=e.pixels.numBlocksX,u=e.pixels.numBlocksY,c=Math.floor(e.width/f),d=Math.floor(e.height/u),h=2*e.maxZError,m=Number.MAX_VALUE;a=a||(e.mask?e.mask.bitset:null),s=new t(e.width*e.height),r&&a&&(l=new Uint8Array(e.width*e.height));for(var g,p,w=new Float32Array(c*d),x=0;x<=u;x++){var k=x!==u?d:e.height%u;if(0!==k)for(var y=0;y<=f;y++){var I=y!==f?c:e.width%f;if(0!==I){var b,U,v,T,M=x*e.width*d+y*c,V=e.width-I,A=e.pixels.blocks[o];if(A.encoding<2?(b=0===A.encoding?A.rawData:(B(A.stuffedData,A.bitsPerPixel,A.numValidPixels,A.offset,h,w,e.pixels.maxValue),w),U=0):v=2===A.encoding?0:A.offset,a)for(p=0;p<k;p++){for(7&M&&(T=a[M>>3],T<<=7&M),g=0;g<I;g++)7&M||(T=a[M>>3]),128&T?(l&&(l[M]=1),m=(n=A.encoding<2?b[U++]:v)<m?n:m,s[M++]=n):(l&&(l[M]=0),s[M++]=i),T<<=1;M+=V}else if(A.encoding<2)for(p=0;p<k;p++){for(g=0;g<I;g++)m=(n=b[U++])<m?n:m,s[M++]=n;M+=V}else for(m=v<m?v:m,p=0;p<k;p++){for(g=0;g<I;g++)s[M++]=v;M+=V}if(1===A.encoding&&U!==A.numValidPixels)throw"Block and Mask do not match";o++}}}return{resultPixels:s,resultMask:l,minValue:m}},c=function(e){return{fileIdentifierString:e.fileIdentifierString,fileVersion:e.fileVersion,imageType:e.imageType,height:e.height,width:e.width,maxZError:e.maxZError,eofOffset:e.eofOffset,mask:e.mask?{numBlocksX:e.mask.numBlocksX,numBlocksY:e.mask.numBlocksY,numBytes:e.mask.numBytes,maxValue:e.mask.maxValue}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,numBytes:e.pixels.numBytes,maxValue:e.pixels.maxValue,noDataValue:e.noDataValue}}},d=function(e){for(var t=e.pixels.numBlocksX*e.pixels.numBlocksY,a={},i=0;i<t;i++){var r=e.pixels.blocks[i];0===r.encoding?a.float32=!0:1===r.encoding?a[r.bitsPerPixel]=!0:a[0]=!0}return Object.keys(a)},h=function(e,t,a){var i={},r=new Uint8Array(e,t,10);if(i.fileIdentifierString=String.fromCharCode.apply(null,r),"CntZImage"!==i.fileIdentifierString.trim())throw"Unexpected file identifier string: "+i.fileIdentifierString;t+=10;var n=new DataView(e,t,24);if(i.fileVersion=n.getInt32(0,!0),i.imageType=n.getInt32(4,!0),i.height=n.getUint32(8,!0),i.width=n.getUint32(12,!0),i.maxZError=n.getFloat64(16,!0),t+=24,!a)if(n=new DataView(e,t,16),i.mask={},i.mask.numBlocksY=n.getUint32(0,!0),i.mask.numBlocksX=n.getUint32(4,!0),i.mask.numBytes=n.getUint32(8,!0),i.mask.maxValue=n.getFloat32(12,!0),t+=16,0<i.mask.numBytes){var s=new Uint8Array(Math.ceil(i.width*i.height/8)),l=(n=new DataView(e,t,i.mask.numBytes)).getInt16(0,!0),o=2,f=0;do{if(0<l)for(;l--;)s[f++]=n.getUint8(o++);else for(var u=n.getUint8(o++),l=-l;l--;)s[f++]=u}while(l=n.getInt16(o,!0),(o+=2)<i.mask.numBytes);if(-32768!==l||f<s.length)throw"Unexpected end of mask RLE encoding";i.mask.bitset=s,t+=i.mask.numBytes}else 0==(i.mask.numBytes|i.mask.numBlocksY|i.mask.maxValue)&&(i.mask.bitset=new Uint8Array(Math.ceil(i.width*i.height/8)));n=new DataView(e,t,16),i.pixels={},i.pixels.numBlocksY=n.getUint32(0,!0),i.pixels.numBlocksX=n.getUint32(4,!0),i.pixels.numBytes=n.getUint32(8,!0),i.pixels.maxValue=n.getFloat32(12,!0),t+=16;var r=i.pixels.numBlocksX,a=i.pixels.numBlocksY,c=r+(0<i.width%r?1:0),d=a+(0<i.height%a?1:0);i.pixels.blocks=new Array(c*d);for(var h=0,m=0;m<d;m++)for(var g=0;g<c;g++){var p=0,w=e.byteLength-t;n=new DataView(e,t,Math.min(10,w));var x={};i.pixels.blocks[h++]=x;var k,w=n.getUint8(0);if(p++,x.encoding=63&w,3<x.encoding)throw"Invalid block encoding ("+x.encoding+")";if(2!==x.encoding){if(0!==w&&2!==w){if(w>>=6,2===(x.offsetType=w))x.offset=n.getInt8(1),p++;else if(1===w)x.offset=n.getInt16(1,!0),p+=2;else{if(0!==w)throw"Invalid block offset type";x.offset=n.getFloat32(1,!0),p+=4}if(1===x.encoding)if(w=n.getUint8(p),p++,x.bitsPerPixel=63&w,w>>=6,2===(x.numValidPixelsType=w))x.numValidPixels=n.getUint8(p),p++;else if(1===w)x.numValidPixels=n.getUint16(p,!0),p+=2;else{if(0!==w)throw"Invalid valid pixel count type";x.numValidPixels=n.getUint32(p,!0),p+=4}}if(t+=p,3!==x.encoding)if(0===x.encoding){var y=(i.pixels.numBytes-1)/4;if(y!==Math.floor(y))throw"uncompressed block has invalid length";k=new ArrayBuffer(4*y),new Uint8Array(k).set(new Uint8Array(e,t,4*y));var I=new Float32Array(k);x.rawData=I,t+=4*y}else 1===x.encoding&&(I=Math.ceil(x.numValidPixels*x.bitsPerPixel/8),y=Math.ceil(I/4),k=new ArrayBuffer(4*y),new Uint8Array(k).set(new Uint8Array(e,t,I)),x.stuffedData=new Uint32Array(k),t+=I)}else t++}return i.eofOffset=t,i},B=function(e,t,a,i,r,n,s){var l,o,f,u,c=(1<<t)-1,d=0,h=0,m=Math.ceil((s-i)/r),g=4*e.length-Math.ceil(t*a/8);for(e[e.length-1]<<=8*g,l=0;l<a;l++)0===h&&(u=e[d++],h=32),t<=h?(f=u>>>h-t&c,h-=t):(f=(u&c)<<(o=t-h)&c,f+=(u=e[d++])>>>(h=32-o)),n[l]=f<m?i+f*r:s;return n},w=f,x=function(){var y=function(e,t,a,i,r,n,s,l){var o,f,u,c,d,h=(1<<a)-1,m=0,g=0,p=4*e.length-Math.ceil(a*i/8);if(e[e.length-1]<<=8*p,r)for(o=0;o<i;o++)0===g&&(u=e[m++],g=32),a<=g?(f=u>>>g-a&h,g-=a):(f=(u&h)<<(c=a-g)&h,f+=(u=e[m++])>>>(g=32-c)),t[o]=r[f];else for(d=Math.ceil((l-n)/s),o=0;o<i;o++)0===g&&(u=e[m++],g=32),a<=g?(f=u>>>g-a&h,g-=a):(f=(u&h)<<(c=a-g)&h,f+=(u=e[m++])>>>(g=32-c)),t[o]=f<d?n+f*s:l},I=function(e,t,a,i,r,n){var s,l,o=(1<<t)-1,f=0,u=0,c=0,d=0,h=[],m=4*e.length-Math.ceil(t*a/8);e[e.length-1]<<=8*m;for(var g=Math.ceil((n-i)/r),u=0;u<a;u++)0===c&&(l=e[f++],c=32),t<=c?(d=l>>>c-t&o,c-=t):(d=(l&o)<<(s=t-c)&o,d+=(l=e[f++])>>>(c=32-s)),h[u]=d<g?i+d*r:n;return h.unshift(i),h},b=function(e,t,a,i,r,n,s,l){var o,f,u,c=(1<<a)-1,d=0,h=0,m=0;if(r)for(p=0;p<i;p++)0===h&&(f=e[d++],h=32,m=0),a<=h?(o=f>>>m&c,h-=a,m+=a):(o=f>>>m&c,h=32-(u=a-h),o|=((f=e[d++])&(1<<u)-1)<<a-u,m=u),t[p]=r[o];else for(var g=Math.ceil((l-n)/s),p=0;p<i;p++)0===h&&(f=e[d++],h=32,m=0),a<=h?(o=f>>>m&c,h-=a,m+=a):(o=f>>>m&c,h=32-(u=a-h),o|=((f=e[d++])&(1<<u)-1)<<a-u,m=u),t[p]=o<g?n+o*s:l;return t},U=function(e,t,a,i,r,n){for(var s,l,o=(1<<t)-1,f=0,u=0,c=0,d=0,h=0,m=[],g=Math.ceil((n-i)/r),u=0;u<a;u++)0===c&&(l=e[f++],c=32,h=0),t<=c?(d=l>>>h&o,c-=t,h+=t):(d=l>>>h&o,c=32-(s=t-c),d|=((l=e[f++])&(1<<s)-1)<<t-s,h=s),m[u]=d<g?i+d*r:n;return m.unshift(i),m},v=function(e,t,a,i){var r,n,s,l,o=(1<<a)-1,f=0,u=0,c=4*e.length-Math.ceil(a*i/8);for(e[e.length-1]<<=8*c,r=0;r<i;r++)0===u&&(s=e[f++],u=32),a<=u?(n=s>>>u-a&o,u-=a):(n=(s&o)<<(l=a-u)&o,n+=(s=e[f++])>>>(u=32-l)),t[r]=n;return t},T=function(e,t,a,i){for(var r,n,s,l=(1<<a)-1,o=0,f=0,u=0,c=0;c<i;c++)0===f&&(n=e[o++],f=32,u=0),a<=f?(r=n>>>u&l,f-=a,u+=a):(r=n>>>u&l,f=32-(s=a-f),r|=((n=e[o++])&(1<<s)-1)<<a-s,u=s),t[c]=r;return t},z={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(e){for(var t=65535,a=65535,i=e.length,r=Math.floor(i/2),n=0;r;){var s=359<=r?359:r;for(r-=s;t+=e[n++]<<8,a+=t+=e[n++],--s;);t=(65535&t)+(t>>>16),a=(65535&a)+(a>>>16)}return 1&i&&(a+=t+=e[n]<<8),((a=(65535&a)+(a>>>16))<<16|(t=(65535&t)+(t>>>16)))>>>0},readHeaderInfo:function(e,t){var a=t.ptr,i=new Uint8Array(e,a,6),r={};if(r.fileIdentifierString=String.fromCharCode.apply(null,i),0!==r.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+r.fileIdentifierString;a+=6;var n=new DataView(e,a,8),i=n.getInt32(0,!0);if(r.fileVersion=i,a+=4,3<=i&&(r.checksum=n.getUint32(4,!0),a+=4),n=new DataView(e,a,12),r.height=n.getUint32(0,!0),r.width=n.getUint32(4,!0),a+=8,4<=i?(r.numDims=n.getUint32(8,!0),a+=4):r.numDims=1,n=new DataView(e,a,40),r.numValidPixel=n.getUint32(0,!0),r.microBlockSize=n.getInt32(4,!0),r.blobSize=n.getInt32(8,!0),r.imageType=n.getInt32(12,!0),r.maxZError=n.getFloat64(16,!0),r.zMin=n.getFloat64(24,!0),r.zMax=n.getFloat64(32,!0),a+=40,t.headerInfo=r,t.ptr=a,3<=i&&(i=4<=i?52:48,this.computeChecksumFletcher32(new Uint8Array(e,a-i,r.blobSize-14))!==r.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(e,t){var a=t.headerInfo,i=this.getDataTypeArray(a.imageType),r=a.numDims*this.getDataTypeSize(a.imageType),n=this.readSubArray(e,t.ptr,i,r),s=this.readSubArray(e,t.ptr+r,i,r);t.ptr+=2*r;for(var l=!0,o=0;o<a.numDims;o++)if(n[o]!==s[o]){l=!1;break}return a.minValues=n,a.maxValues=s,l},readSubArray:function(e,t,a,i){var r=a===Uint8Array?new Uint8Array(e,t,i):(r=new ArrayBuffer(i),new Uint8Array(r).set(new Uint8Array(e,t,i)),new a(r));return r},readMask:function(e,t){var a,i,r=t.ptr,n=t.headerInfo,s=n.width*n.height,n=n.numValidPixel,l=new DataView(e,r,4),o={};if(o.numBytes=l.getUint32(0,!0),r+=4,(0===n||s===n)&&0!==o.numBytes)throw"invalid mask";if(0===n)a=new Uint8Array(Math.ceil(s/8)),o.bitset=a,i=new Uint8Array(s),t.pixels.resultMask=i,r+=o.numBytes;else if(0<o.numBytes){a=new Uint8Array(Math.ceil(s/8));var f,u=(l=new DataView(e,r,o.numBytes)).getInt16(0,!0),c=2,d=0;do{if(0<u)for(;u--;)a[d++]=l.getUint8(c++);else for(f=l.getUint8(c++),u=-u;u--;)a[d++]=f}while(u=l.getInt16(c,!0),(c+=2)<o.numBytes);if(-32768!==u||d<a.length)throw"Unexpected end of mask RLE encoding";i=new Uint8Array(s);for(var h=0,m=0,m=0;m<s;m++)7&m?(h=a[m>>3],h<<=7&m):h=a[m>>3],128&h&&(i[m]=1);t.pixels.resultMask=i,o.bitset=a,r+=o.numBytes}return t.ptr=r,t.mask=o,!0},readDataOneSweep:function(e,t,a){var i=t.ptr,r=t.headerInfo,n=r.numDims,s=r.width*r.height,l=r.imageType,r=r.numValidPixel*z.getDataTypeSize(l)*n,o=t.pixels.resultMask,f=a===Uint8Array?new Uint8Array(e,i,r):(l=new ArrayBuffer(r),new Uint8Array(l).set(new Uint8Array(e,i,r)),new a(l));if(f.length===s*n)t.pixels.resultPixels=f;else{t.pixels.resultPixels=new a(s*n);var u,c=0,d=0,h=0;if(1<n)for(h=0;h<n;h++)for(u=h*s,d=0;d<s;d++)o[d]&&(t.pixels.resultPixels[u+d]=f[c++]);else for(d=0;d<s;d++)o[d]&&(t.pixels.resultPixels[d]=f[c++])}return i+=r,t.ptr=i,!0},readHuffmanTree:function(e,t){var a=this.HUFFMAN_LUT_BITS_MAX,i=new DataView(e,t.ptr,16);if(t.ptr+=16,i.getInt32(0,!0)<2)throw"unsupported Huffman version";var r=i.getInt32(4,!0),n=i.getInt32(8,!0),s=i.getInt32(12,!0);if(s<=n)return!1;var l=new Uint32Array(s-n);z.decodeBits(e,t,l);for(var o,f,u,c=[],d=n;d<s;d++)c[o=d-(d<r?0:r)]={first:l[d-n],second:null};var h=e.byteLength-t.ptr,i=Math.ceil(h/4),i=new ArrayBuffer(4*i);new Uint8Array(i).set(new Uint8Array(e,t.ptr,h));var m=new Uint32Array(i),g=0,p=0,w=m[0];for(d=n;d<s;d++)0<(u=c[o=d-(d<r?0:r)].first)&&(c[o].second=w<<g>>>32-u,u<=32-g?32===(g+=u)&&(g=0,w=m[++p]):(g+=u-32,w=m[++p],c[o].second|=w>>>32-g));var x=0,k=0,y=new V;for(d=0;d<c.length;d++)void 0!==c[d]&&(x=Math.max(x,c[d].first));k=a<=x?a:x,30<=x&&console.log("WARning, large NUM LUT BITS IS "+x);var I,b,U,v,T,M=[];for(d=n;d<s;d++)if(0<(u=c[o=d-(d<r?0:r)].first))if(I=[u,o],u<=k)for(b=c[o].second<<k-u,U=1<<k-u,f=0;f<U;f++)M[b|f]=I;else for(b=c[o].second,T=y,v=u-1;0<=v;v--)T=b>>>v&1?(T.right||(T.right=new V),T.right):(T.left||(T.left=new V),T.left),0!==v||T.val||(T.val=I[1]);return{decodeLut:M,numBitsLUTQick:k,numBitsLUT:x,tree:y,stuffedData:m,srcPtr:p,bitPos:g}},readHuffman:function(e,t,a){var i,r,n,s,l,o,f,u,c,d=t.headerInfo,h=d.numDims,m=t.headerInfo.height,g=t.headerInfo.width,p=g*m,e=this.readHuffmanTree(e,t),w=e.decodeLut,x=e.tree,k=e.stuffedData,y=e.srcPtr,I=e.bitPos,b=e.numBitsLUTQick,U=e.numBitsLUT,v=0===t.headerInfo.imageType?128:0,T=t.pixels.resultMask,M=0;0<I&&(y++,I=0);for(var V=k[y],A=1===t.encodeMode,B=new a(p*h),D=B,S=0;S<d.numDims;S++){if(1<h&&(D=new a(B.buffer,p*S,p),M=0),t.headerInfo.numValidPixel===g*m)for(o=u=0;o<m;o++)for(f=0;f<g;f++,u++){if(r=0,l=s=V<<I>>>32-b,32-I<b&&(l=s|=k[y+1]>>>64-I-b),w[l])r=w[l][1],I+=w[l][0];else for(l=s=V<<I>>>32-U,32-I<U&&(l=s|=k[y+1]>>>64-I-U),i=x,c=0;c<U;c++)if(!(i=s>>>U-c-1&1?i.right:i.left).left&&!i.right){r=i.val,I=I+c+1;break}32<=I&&(I-=32,V=k[++y]),n=r-v,A?(n+=!(0<f)&&0<o?D[u-g]:M,n&=255,M=D[u]=n):D[u]=n}else for(o=u=0;o<m;o++)for(f=0;f<g;f++,u++)if(T[u]){if(r=0,l=s=V<<I>>>32-b,32-I<b&&(l=s|=k[y+1]>>>64-I-b),w[l])r=w[l][1],I+=w[l][0];else for(l=s=V<<I>>>32-U,32-I<U&&(l=s|=k[y+1]>>>64-I-U),i=x,c=0;c<U;c++)if(!(i=s>>>U-c-1&1?i.right:i.left).left&&!i.right){r=i.val,I=I+c+1;break}32<=I&&(I-=32,V=k[++y]),n=r-v,A?(!(0<f&&T[u-1])&&0<o&&T[u-g]?n+=D[u-g]:n+=M,n&=255,M=D[u]=n):D[u]=n}t.ptr=t.ptr+4*(y+1)+(0<I?4:0)}t.pixels.resultPixels=B},decodeBits:function(e,t,a,i,r){var n=t.headerInfo,s=n.fileVersion,l=0,o=5<=e.byteLength-t.ptr?5:e.byteLength-t.ptr,f=new DataView(e,t.ptr,o),u=f.getUint8(0);l++;var c=u>>6,d=0==c?4:3-c,o=0<(32&u),c=31&u,u=0;if(1==d)u=f.getUint8(l),l++;else if(2==d)u=f.getUint16(l,!0),l+=2;else{if(4!=d)throw"Invalid valid pixel count type";u=f.getUint32(l,!0),l+=4}var h,m,g,p,w,x,k,d=2*n.maxZError,n=1<n.numDims?n.maxValues[r]:n.zMax;if(o){for(t.counter.lut++,x=f.getUint8(l),l++,p=Math.ceil((x-1)*c/8),w=Math.ceil(p/4),m=new ArrayBuffer(4*w),g=new Uint8Array(m),t.ptr+=l,g.set(new Uint8Array(e,t.ptr,p)),f=new Uint32Array(m),t.ptr+=p,k=0;x-1>>>k;)k++;p=Math.ceil(u*k/8),w=Math.ceil(p/4),m=new ArrayBuffer(4*w),(g=new Uint8Array(m)).set(new Uint8Array(e,t.ptr,p)),h=new Uint32Array(m),t.ptr+=p,f=(3<=s?U:I)(f,c,x-1,i,d,n),(3<=s?b:y)(h,a,k,u,f)}else t.counter.bitstuffer++,k=c,t.ptr+=l,0<k&&(p=Math.ceil(u*k/8),w=Math.ceil(p/4),m=new ArrayBuffer(4*w),(g=new Uint8Array(m)).set(new Uint8Array(e,t.ptr,p)),h=new Uint32Array(m),t.ptr+=p,3<=s?null===i?T(h,a,k,u):b(h,a,k,u,!1,i,d,n):null===i?v(h,a,k,u):y(h,a,k,u,!1,i,d,n))},readTiles:function(e,t,a){var i=t.headerInfo,r=i.width,n=i.height,s=i.microBlockSize,l=i.imageType,o=z.getDataTypeSize(l),f=Math.ceil(r/s),u=Math.ceil(n/s);t.pixels.numBlocksY=u,t.pixels.numBlocksX=f;for(var c,d,h,m,g,p,w,x,k,y,I,b,U,v,T=t.pixels.ptr=0,M=0,V=0,A=0,B=0,D=0,S=0,P=0,E=new a(s*s),C=n%s||s,F=r%s||s,L=i.numDims,O=t.pixels.resultMask,N=t.pixels.resultPixels,V=0;V<u;V++)for(c=V!==u-1?s:C,A=0;A<f;A++)for(B=V*r*s+A*s,p=r-(d=A!==f-1?s:F),v=0;v<L;v++){if(1<L&&(N=new a(t.pixels.resultPixels.buffer,r*n*v*o,r*n)),h=e.byteLength-t.ptr,k={},P=0,P++,g=(m=(x=new DataView(e,t.ptr,Math.min(10,h))).getUint8(0))>>6&255,(m>>2&15)!=(A*s>>3&15))throw"integrity issue";if(3<(I=3&m))throw t.ptr+=P,"Invalid block encoding ("+I+")";if(2!=I)if(0==I){if(t.counter.uncompressed++,t.ptr+=P,D=(D=c*d*o)<(w=e.byteLength-t.ptr)?D:w,b=new ArrayBuffer(D%o==0?D:D+o-D%o),new Uint8Array(b).set(new Uint8Array(e,t.ptr,D)),y=new a(b),S=0,O)for(T=0;T<c;T++){for(M=0;M<d;M++)O[B]&&(N[B]=y[S++]),B++;B+=p}else for(T=0;T<c;T++){for(M=0;M<d;M++)N[B++]=y[S++];B+=p}t.ptr+=S*o}else if(b=z.getDataTypeUsed(l,g),U=z.getOnePixel(k,P,b,x),P+=z.getDataTypeSize(b),3==I)if(t.ptr+=P,t.counter.constantoffset++,O)for(T=0;T<c;T++){for(M=0;M<d;M++)O[B]&&(N[B]=U),B++;B+=p}else for(T=0;T<c;T++){for(M=0;M<d;M++)N[B++]=U;B+=p}else if(t.ptr+=P,z.decodeBits(e,t,E,U,v),P=0,O)for(T=0;T<c;T++){for(M=0;M<d;M++)O[B]&&(N[B]=E[P++]),B++;B+=p}else for(T=0;T<c;T++){for(M=0;M<d;M++)N[B++]=E[P++];B+=p}else t.counter.constant++,t.ptr+=P}},formatFileInfo:function(e){return{fileIdentifierString:e.headerInfo.fileIdentifierString,fileVersion:e.headerInfo.fileVersion,imageType:e.headerInfo.imageType,height:e.headerInfo.height,width:e.headerInfo.width,numValidPixel:e.headerInfo.numValidPixel,microBlockSize:e.headerInfo.microBlockSize,blobSize:e.headerInfo.blobSize,maxZError:e.headerInfo.maxZError,pixelType:z.getPixelType(e.headerInfo.imageType),eofOffset:e.eofOffset,mask:e.mask?{numBytes:e.mask.numBytes}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,maxValue:e.headerInfo.zMax,minValue:e.headerInfo.zMin,noDataValue:e.noDataValue}}},constructConstantSurface:function(e){var t,a=e.headerInfo.zMax,i=e.headerInfo.numDims,r=e.headerInfo.height*e.headerInfo.width,n=r*i,s=0,l=0,o=e.pixels.resultMask;if(o)if(1<i)for(s=0;s<i;s++)for(t=s*r,l=0;l<r;l++)o[l]&&(e.pixels.resultPixels[t+l]=a);else for(l=0;l<r;l++)o[l]&&(e.pixels.resultPixels[l]=a);else if(e.pixels.resultPixels.fill)e.pixels.resultPixels.fill(a);else for(l=0;l<n;l++)e.pixels.resultPixels[l]=a},getDataTypeArray:function(e){var t;switch(e){case 0:t=Int8Array;break;case 1:t=Uint8Array;break;case 2:t=Int16Array;break;case 3:t=Uint16Array;break;case 4:t=Int32Array;break;case 5:t=Uint32Array;break;case 6:t=Float32Array;break;case 7:t=Float64Array;break;default:t=Float32Array}return t},getPixelType:function(e){var t;switch(e){case 0:t="S8";break;case 1:t="U8";break;case 2:t="S16";break;case 3:t="U16";break;case 4:t="S32";break;case 5:t="U32";break;case 6:t="F32";break;case 7:t="F64";break;default:t="F32"}return t},isValidPixelValue:function(e,t){if(null===t)return!1;var a;switch(e){case 0:a=-128<=t&&t<=127;break;case 1:a=0<=t&&t<=255;break;case 2:a=-32768<=t&&t<=32767;break;case 3:a=0<=t&&t<=65536;break;case 4:a=-2147483648<=t&&t<=2147483647;break;case 5:a=0<=t&&t<=4294967296;break;case 6:a=-34027999387901484e22<=t&&t<=34027999387901484e22;break;case 7:a=5e-324<=t&&t<=17976931348623157e292;break;default:a=!1}return a},getDataTypeSize:function(e){var t=0;switch(e){case 0:case 1:t=1;break;case 2:case 3:t=2;break;case 4:case 5:case 6:t=4;break;case 7:t=8;break;default:t=e}return t},getDataTypeUsed:function(e,t){var a=e;switch(e){case 2:case 4:a=e-t;break;case 3:case 5:a=e-2*t;break;case 6:a=0===t?e:1===t?2:1;break;case 7:a=0===t?e:e-2*t+1;break;default:a=e}return a},getOnePixel:function(e,t,a,i){var r=0;switch(a){case 0:r=i.getInt8(t);break;case 1:r=i.getUint8(t);break;case 2:r=i.getInt16(t,!0);break;case 3:r=i.getUint16(t,!0);break;case 4:r=i.getInt32(t,!0);break;case 5:r=i.getUInt32(t,!0);break;case 6:r=i.getFloat32(t,!0);break;case 7:r=i.getFloat64(t,!0);break;default:throw"the decoder does not understand this pixel type"}return r}},V=function(e,t,a){this.val=e,this.left=t,this.right=a};return{decode:function(e,t){var a=(t=t||{}).noDataValue,i=0,r={};if(r.ptr=t.inputOffset||0,r.pixels={},z.readHeaderInfo(e,r)){var n=r.headerInfo,s=n.fileVersion,l=z.getDataTypeArray(n.imageType);z.readMask(e,r),n.numValidPixel===n.width*n.height||r.pixels.resultMask||(r.pixels.resultMask=t.maskData);var o,f=n.width*n.height;if(r.pixels.resultPixels=new l(f*n.numDims),r.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},0!==n.numValidPixel)if(n.zMax===n.zMin)z.constructConstantSurface(r);else if(4<=s&&z.checkMinMaxRanges(e,r))z.constructConstantSurface(r);else{var u=new DataView(e,r.ptr,2),c=u.getUint8(0);if(r.ptr++,c)z.readDataOneSweep(e,r,l);else if(1<s&&n.imageType<=1&&Math.abs(n.maxZError-.5)<1e-5){u=u.getUint8(1);if(r.ptr++,2<(r.encodeMode=u)||s<4&&1<u)throw"Invalid Huffman flag "+u;u?z.readHuffman(e,r,l):z.readTiles(e,r,l)}else z.readTiles(e,r,l)}r.eofOffset=r.ptr,t.inputOffset?(o=r.headerInfo.blobSize+t.inputOffset-r.ptr,1<=Math.abs(o)&&(r.eofOffset=t.inputOffset+r.headerInfo.blobSize)):(o=r.headerInfo.blobSize-r.ptr,1<=Math.abs(o)&&(r.eofOffset=r.headerInfo.blobSize));var d={width:n.width,height:n.height,pixelData:r.pixels.resultPixels,minValue:n.zMin,maxValue:n.zMax,validPixelCount:n.numValidPixel,dimCount:n.numDims,dimStats:{minValues:n.minValues,maxValues:n.maxValues},maskData:r.pixels.resultMask};if(r.pixels.resultMask&&z.isValidPixelValue(n.imageType,a)){for(var h=r.pixels.resultMask,i=0;i<f;i++)h[i]||(d.pixelData[i]=a);d.noDataValue=a}return r.noDataValue=a,t.returnFileInfo&&(d.fileInfo=z.formatFileInfo(r)),d}},getBandCount:function(e){for(var t=0,a=0,i={ptr:0,pixels:{}};a<e.byteLength-58;)z.readHeaderInfo(e,i),a+=i.headerInfo.blobSize,t++,i.ptr=a;return t}}}(),m=new ArrayBuffer(4),g=new Uint8Array(m),k=(new Uint32Array(m)[0]=1)===g[0],g={decode:function(e,t){if(!k)throw"Big endian system is not supported.";var a,i,r=(t=t||{}).inputOffset||0,n=new Uint8Array(e,r,10),n=String.fromCharCode.apply(null,n);if("CntZImage"===n.trim())a=w,i=1;else{if("Lerc2"!==n.substring(0,5))throw"Unexpected file identifier string: "+n;a=x,i=2}for(var s,l,o,f,u,c,d=0,h=e.byteLength-10,m=[],g={width:0,height:0,pixels:[],pixelType:t.pixelType,mask:null,statistics:[]};r<h;){var p=a.decode(e,{inputOffset:r,encodedMaskData:s,maskData:o,returnMask:0===d,returnEncodedMask:0===d,returnFileInfo:!0,pixelType:t.pixelType||null,noDataValue:t.noDataValue||null}),r=p.fileInfo.eofOffset;0===d&&(s=p.encodedMaskData,o=p.maskData,g.width=p.width,g.height=p.height,g.dimCount=p.dimCount||1,g.pixelType=p.pixelType||p.fileInfo.pixelType,g.mask=p.maskData),1<i&&p.fileInfo.mask&&0<p.fileInfo.mask.numBytes&&m.push(p.maskData),d++,g.pixels.push(p.pixelData),g.statistics.push({minValue:p.minValue,maxValue:p.maxValue,noDataValue:p.noDataValue,dimStats:p.dimStats})}if(1<i&&1<m.length){for(c=g.width*g.height,g.bandMasks=m,(o=new Uint8Array(c)).set(m[0]),f=1;f<m.length;f++)for(l=m[f],u=0;u<c;u++)o[u]=o[u]&l[u];g.maskData=o}return g}},p.Lerc=g;var y=p.Lerc;return l(function(e,t){if(e.encoding===o.LERC){var a;try{a=y.decode(e.heightmap)}catch(e){throw new n.RuntimeError(e)}if(a.statistics[0].minValue===Number.MAX_VALUE)throw new n.RuntimeError("Invalid tile data");e.heightmap=a.pixels[0],e.width=a.width,e.height=a.height}e.ellipsoid=Ee.Ellipsoid.clone(e.ellipsoid),e.rectangle=Ee.Rectangle.clone(e.rectangle);var i=ze.computeVertices(e),r=i.vertices;return t.push(r.buffer),{vertices:r.buffer,numberOfAttributes:i.encoding.getStride(),minimumHeight:i.minimumHeight,maximumHeight:i.maximumHeight,gridWidth:e.width,gridHeight:e.height,boundingSphere3D:i.boundingSphere3D,orientedBoundingBox:i.orientedBoundingBox,occludeePointInScaledSpace:i.occludeePointInScaledSpace,encoding:i.encoding,westIndicesSouthToNorth:i.westIndicesSouthToNorth,southIndicesEastToWest:i.southIndicesEastToWest,eastIndicesNorthToSouth:i.eastIndicesNorthToSouth,northIndicesWestToEast:i.northIndicesWestToEast}})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createVerticesFromQuantizedTerrainMesh.js b/public/GV/thirdParty/CesiumManager/Workers/createVerticesFromQuantizedTerrainMesh.js new file mode 100644 index 000000000..47cee58e9 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createVerticesFromQuantizedTerrainMesh.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./AttributeCompression-9fc99391","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./WebMercatorProjection-df58d479","./createTaskProcessorWorker","./EllipsoidTangentPlane-64140317","./OrientedBoundingBox-11af7c9d","./TerrainEncoding-d6aef4ae"],function(ie,e,oe,ae,se,t,r,n,de,ce,i,o,ue,a,he,le,Ie){"use strict";function me(){e.DeveloperError.throwInstantiationError()}Object.defineProperties(me.prototype,{errorEvent:{get:e.DeveloperError.throwInstantiationError},credit:{get:e.DeveloperError.throwInstantiationError},tilingScheme:{get:e.DeveloperError.throwInstantiationError},ready:{get:e.DeveloperError.throwInstantiationError},readyPromise:{get:e.DeveloperError.throwInstantiationError},hasWaterMask:{get:e.DeveloperError.throwInstantiationError},hasVertexNormals:{get:e.DeveloperError.throwInstantiationError},availability:{get:e.DeveloperError.throwInstantiationError}});var s=[];me.getRegularGridIndices=function(e,t){var r=s[e];ie.defined(r)||(s[e]=r=[]);var n=r[t];return ie.defined(n)||m(e,t,n=e*t<oe.CesiumMath.SIXTY_FOUR_KILOBYTES?r[t]=new Uint16Array((e-1)*(t-1)*6):r[t]=new Uint32Array((e-1)*(t-1)*6),0),n};var d=[];me.getRegularGridIndicesAndEdgeIndices=function(e,t){var r=d[e];ie.defined(r)||(d[e]=r=[]);var n,i,o,a,s=r[t];return ie.defined(s)||(n=me.getRegularGridIndices(e,t),i=(a=I(e,t)).westIndicesSouthToNorth,o=a.southIndicesEastToWest,e=a.eastIndicesNorthToSouth,a=a.northIndicesWestToEast,s=r[t]={indices:n,westIndicesSouthToNorth:i,southIndicesEastToWest:o,eastIndicesNorthToSouth:e,northIndicesWestToEast:a}),s};var l=[];function I(e,t){for(var r=new Array(t),n=new Array(e),i=new Array(t),o=new Array(e),a=0;a<e;++a)n[o[a]=a]=e*t-1-a;for(a=0;a<t;++a)i[a]=(a+1)*e-1,r[a]=(t-a-1)*e;return{westIndicesSouthToNorth:r,southIndicesEastToWest:n,eastIndicesNorthToSouth:i,northIndicesWestToEast:o}}function m(e,t,r,n){for(var i=0,o=0;o<t-1;++o){for(var a=0;a<e-1;++a){var s=i+e,d=s+1,c=i+1;r[n++]=i,r[n++]=s,r[n++]=c,r[n++]=c,r[n++]=s,r[n++]=d,++i}++i}}function c(e,t,r,n){for(var i=e[0],o=e.length,a=1;a<o;++a){var s=e[a];r[n++]=i,r[n++]=s,r[n++]=t,r[n++]=t,r[n++]=s,r[n++]=t+1,i=s,++t}return n}me.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){var r=l[e];ie.defined(r)||(l[e]=r=[]);var n,i,o,a,s,d,c,u,h=r[t];return ie.defined(h)||(o=(n=e*t)+(d=2*e+2*t),u=(i=(e-1)*(t-1)*6)+6*Math.max(0,d-4),a=(c=I(e,t)).westIndicesSouthToNorth,s=c.southIndicesEastToWest,d=c.eastIndicesNorthToSouth,c=c.northIndicesWestToEast,m(e,t,u=ce.IndexDatatype.createTypedArray(o,u),0),me.addSkirtIndices(a,s,d,c,n,u,i),h=r[t]={indices:u,westIndicesSouthToNorth:a,southIndicesEastToWest:s,eastIndicesNorthToSouth:d,northIndicesWestToEast:c,indexCountWithoutSkirts:i}),h},me.addSkirtIndices=function(e,t,r,n,i,o,a){a=c(e,i,o,a),a=c(t,i+=e.length,o,a),a=c(r,i+=t.length,o,a),c(n,i+=r.length,o,a)},me.heightmapTerrainQuality=.25,me.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,r){return 2*e.maximumRadius*Math.PI*me.heightmapTerrainQuality/(t*r)},me.prototype.requestTileGeometry=e.DeveloperError.throwInstantiationError,me.prototype.getLevelMaximumGeometricError=e.DeveloperError.throwInstantiationError,me.prototype.getTileDataAvailable=e.DeveloperError.throwInstantiationError,me.prototype.loadTileDataAvailability=e.DeveloperError.throwInstantiationError;var ge=32767,Te=new ae.Cartesian3,pe=new ae.Cartesian3,Ee=new ae.Cartesian3,fe=new ae.Cartographic,ye=new ae.Cartesian2,ve=new ae.Cartesian3,Ne=new se.Matrix4,we=new se.Matrix4;function xe(e,t,r,n,i,o,a,s,d){var c=Number.POSITIVE_INFINITY,u=i.north,h=i.south,l=i.east,I=i.west;l<I&&(l+=oe.CesiumMath.TWO_PI);for(var m=e.length,g=0;g<m;++g){var T=e[g],p=r[T],T=n[T];fe.longitude=oe.CesiumMath.lerp(I,l,T.x),fe.latitude=oe.CesiumMath.lerp(h,u,T.y),fe.height=p-t;p=o.cartographicToCartesian(fe,Te);se.Matrix4.multiplyByPoint(a,p,p),ae.Cartesian3.minimumByComponent(p,s,s),ae.Cartesian3.maximumByComponent(p,d,d),c=Math.min(c,fe.height)}return c}function Me(e,t,r,n,i,o,a,s,d,c,u,h,l,I,m){var g=ie.defined(a),T=d.north,p=d.south,E=d.east,f=d.west;E<f&&(E+=oe.CesiumMath.TWO_PI);for(var y=r.length,v=0;v<y;++v){var N=r[v],w=i[N],x=o[N];fe.longitude=oe.CesiumMath.lerp(f,E,x.x)+I,fe.latitude=oe.CesiumMath.lerp(p,T,x.y)+m,fe.height=w-c;var M,b,C=s.cartographicToCartesian(fe,Te);g&&(M=2*N,ye.x=a[M],ye.y=a[1+M],1!==u&&(w=de.AttributeCompression.octDecode(ye.x,ye.y,ve),N=se.Transforms.eastNorthUpToFixedFrame(Te,s,we),M=se.Matrix4.inverseTransformation(N,Ne),se.Matrix4.multiplyByPointAsVector(M,w,w),w.z*=u,ae.Cartesian3.normalize(w,w),se.Matrix4.multiplyByPointAsVector(N,w,w),ae.Cartesian3.normalize(w,w),de.AttributeCompression.octEncode(w,ye))),n.hasWebMercatorT&&(b=(ue.WebMercatorProjection.geodeticLatitudeToMercatorAngle(fe.latitude)-h)*l),t=n.encode(e,t,C,x,fe.height,ye,b)}}function be(e,t){var r;return"function"==typeof e.slice&&"function"!=typeof(r=e.slice()).sort&&(r=void 0),ie.defined(r)||(r=Array.prototype.slice.call(e)),r.sort(t),r}return a(function(e,t){var r,n,i=(ne=e.quantizedVertices).length/3,o=e.octEncodedNormals,a=e.westIndices.length+e.eastIndices.length+e.southIndices.length+e.northIndices.length,s=e.includeWebMercatorT,d=ae.Rectangle.clone(e.rectangle),c=d.west,u=d.south,h=d.east,l=d.north,I=ae.Ellipsoid.clone(e.ellipsoid),m=e.exaggeration,g=e.minimumHeight*m,T=e.maximumHeight*m,p=e.relativeToCenter,E=se.Transforms.eastNorthUpToFixedFrame(p,I),f=se.Matrix4.inverseTransformation(E,new se.Matrix4);s&&(r=ue.WebMercatorProjection.geodeticLatitudeToMercatorAngle(u),n=1/(ue.WebMercatorProjection.geodeticLatitudeToMercatorAngle(l)-r));var y=ne.subarray(0,i),v=ne.subarray(i,2*i),N=ne.subarray(2*i,3*i),w=ie.defined(o),x=new Array(i),M=new Array(i),b=new Array(i),C=s?new Array(i):[],S=pe;S.x=Number.POSITIVE_INFINITY,S.y=Number.POSITIVE_INFINITY,S.z=Number.POSITIVE_INFINITY;var A=Ee;A.x=Number.NEGATIVE_INFINITY,A.y=Number.NEGATIVE_INFINITY,A.z=Number.NEGATIVE_INFINITY;for(var P=Number.POSITIVE_INFINITY,W=Number.NEGATIVE_INFINITY,D=Number.POSITIVE_INFINITY,B=Number.NEGATIVE_INFINITY,F=0;F<i;++F){var k=y[F],V=v[F],_=k/ge,H=V/ge,k=oe.CesiumMath.lerp(g,T,N[F]/ge);fe.longitude=oe.CesiumMath.lerp(c,h,_),fe.latitude=oe.CesiumMath.lerp(u,l,H),fe.height=k,P=Math.min(fe.longitude,P),W=Math.max(fe.longitude,W),D=Math.min(fe.latitude,D),B=Math.max(fe.latitude,B);V=I.cartographicToCartesian(fe);x[F]=new ae.Cartesian2(_,H),M[F]=k,b[F]=V,s&&(C[F]=(ue.WebMercatorProjection.geodeticLatitudeToMercatorAngle(fe.latitude)-r)*n),se.Matrix4.multiplyByPoint(f,V,Te),ae.Cartesian3.minimumByComponent(Te,S,S),ae.Cartesian3.maximumByComponent(Te,A,A)}var O,G,Y,z=be(e.westIndices,function(e,t){return x[e].y-x[t].y}),R=be(e.eastIndices,function(e,t){return x[t].y-x[e].y}),L=be(e.southIndices,function(e,t){return x[t].x-x[e].x}),U=be(e.northIndices,function(e,t){return x[e].x-x[t].x});1!==m&&(G=se.BoundingSphere.fromPoints(b),O=le.OrientedBoundingBox.fromRectangle(d,g,T,I)),(1!==m||g<0)&&(Y=new Ie.EllipsoidalOccluder(I).computeHorizonCullingPointPossiblyUnderEllipsoid(p,b,g));var j=g,j=Math.min(j,xe(e.westIndices,e.westSkirtHeight,M,x,d,I,f,S,A));j=Math.min(j,xe(e.southIndices,e.southSkirtHeight,M,x,d,I,f,S,A)),j=Math.min(j,xe(e.eastIndices,e.eastSkirtHeight,M,x,d,I,f,S,A)),j=Math.min(j,xe(e.northIndices,e.northSkirtHeight,M,x,d,I,f,S,A));for(var q,Q,K,X=new he.AxisAlignedBoundingBox(S,A,p),Z=new Ie.TerrainEncoding(X,j,T,E,w,s),J=Z.getStride(),$=new Float32Array(i*J+a*J),ee=0,te=0;te<i;++te)w&&(K=2*te,ye.x=o[K],ye.y=o[1+K],1!==m&&(q=de.AttributeCompression.octDecode(ye.x,ye.y,ve),Q=se.Transforms.eastNorthUpToFixedFrame(b[te],I,we),K=se.Matrix4.inverseTransformation(Q,Ne),se.Matrix4.multiplyByPointAsVector(K,q,q),q.z*=m,ae.Cartesian3.normalize(q,q),se.Matrix4.multiplyByPointAsVector(Q,q,q),ae.Cartesian3.normalize(q,q),de.AttributeCompression.octEncode(q,ye))),ee=Z.encode($,ee,b[te],x[te],M[te],ye,C[te]);var re=Math.max(0,2*(a-4)),ne=e.indices.length+3*re;return(X=ce.IndexDatatype.createTypedArray(i+a,ne)).set(e.indices,0),re=-(j=1e-4*(W-P)),a=j,j=-(ne=E=1e-4*(B-D)),Me($,E=i*J,z,Z,M,x,o,I,d,e.westSkirtHeight,m,r,n,re,0),Me($,E+=e.westIndices.length*J,L,Z,M,x,o,I,d,e.southSkirtHeight,m,r,n,0,j),Me($,E+=e.southIndices.length*J,R,Z,M,x,o,I,d,e.eastSkirtHeight,m,r,n,a,0),Me($,E+=e.eastIndices.length*J,U,Z,M,x,o,I,d,e.northSkirtHeight,m,r,n,0,ne),me.addSkirtIndices(z,L,R,U,i,X,e.indices.length),t.push($.buffer,X.buffer),{vertices:$.buffer,indices:X.buffer,westIndicesSouthToNorth:z,southIndicesEastToWest:L,eastIndicesNorthToSouth:R,northIndicesWestToEast:U,vertexStride:J,center:p,minimumHeight:g,maximumHeight:T,boundingSphere:G,orientedBoundingBox:O,occludeePointInScaledSpace:Y,encoding:Z,indexCountWithoutSkirts:e.indices.length}})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createWallGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createWallGeometry.js new file mode 100644 index 000000000..c0f699866 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createWallGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./VertexFormat-7572c785","./arrayRemoveDuplicates-ebc732b0","./EllipsoidRhumbLine-c704bf4c","./EllipsoidGeodesic-30fae80b","./PolylinePipeline-fa11d71d","./WallGeometryLibrary-24ceb832"],function(S,e,I,N,M,t,a,W,B,U,q,i,n,p,r,o,s,m,J){"use strict";var Y=new N.Cartesian3,Z=new N.Cartesian3,j=new N.Cartesian3,K=new N.Cartesian3,Q=new N.Cartesian3,X=new N.Cartesian3,$=new N.Cartesian3;function d(e){var t=(e=S.defaultValue(e,S.defaultValue.EMPTY_OBJECT)).positions,a=e.maximumHeights,i=e.minimumHeights,n=S.defaultValue(e.vertexFormat,p.VertexFormat.DEFAULT),r=S.defaultValue(e.granularity,I.CesiumMath.RADIANS_PER_DEGREE),e=S.defaultValue(e.ellipsoid,N.Ellipsoid.WGS84);this._positions=t,this._minimumHeights=i,this._maximumHeights=a,this._vertexFormat=p.VertexFormat.clone(n),this._granularity=r,this._ellipsoid=N.Ellipsoid.clone(e),this._workerName="createWallGeometry";t=1+t.length*N.Cartesian3.packedLength+2;S.defined(i)&&(t+=i.length),S.defined(a)&&(t+=a.length),this.packedLength=t+N.Ellipsoid.packedLength+p.VertexFormat.packedLength+1}d.pack=function(e,t,a){var i;a=S.defaultValue(a,0);var n=e._positions,r=n.length;for(t[a++]=r,i=0;i<r;++i,a+=N.Cartesian3.packedLength)N.Cartesian3.pack(n[i],t,a);var o=e._minimumHeights,r=S.defined(o)?o.length:0;if(t[a++]=r,S.defined(o))for(i=0;i<r;++i)t[a++]=o[i];var s=e._maximumHeights;if(r=S.defined(s)?s.length:0,t[a++]=r,S.defined(s))for(i=0;i<r;++i)t[a++]=s[i];return N.Ellipsoid.pack(e._ellipsoid,t,a),a+=N.Ellipsoid.packedLength,p.VertexFormat.pack(e._vertexFormat,t,a),t[a+=p.VertexFormat.packedLength]=e._granularity,t};var c=N.Ellipsoid.clone(N.Ellipsoid.UNIT_SPHERE),y=new p.VertexFormat,f={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:c,vertexFormat:y,granularity:void 0};return d.unpack=function(e,t,a){t=S.defaultValue(t,0);for(var i,n,r=e[t++],o=new Array(r),s=0;s<r;++s,t+=N.Cartesian3.packedLength)o[s]=N.Cartesian3.unpack(e,t);if(0<(r=e[t++]))for(i=new Array(r),s=0;s<r;++s)i[s]=e[t++];if(0<(r=e[t++]))for(n=new Array(r),s=0;s<r;++s)n[s]=e[t++];var m=N.Ellipsoid.unpack(e,t,c);t+=N.Ellipsoid.packedLength;var l=p.VertexFormat.unpack(e,t,y),u=e[t+=p.VertexFormat.packedLength];return S.defined(a)?(a._positions=o,a._minimumHeights=i,a._maximumHeights=n,a._ellipsoid=N.Ellipsoid.clone(m,a._ellipsoid),a._vertexFormat=p.VertexFormat.clone(l,a._vertexFormat),a._granularity=u,a):(f.positions=o,f.minimumHeights=i,f.maximumHeights=n,f.granularity=u,new d(f))},d.fromConstantHeights=function(e){var t=(e=S.defaultValue(e,S.defaultValue.EMPTY_OBJECT)).positions,a=e.minimumHeight,i=e.maximumHeight,n=S.defined(a),r=S.defined(i);if(n||r)for(var o=t.length,s=n?new Array(o):void 0,m=r?new Array(o):void 0,l=0;l<o;++l)n&&(s[l]=a),r&&(m[l]=i);return new d({positions:t,maximumHeights:m,minimumHeights:s,ellipsoid:e.ellipsoid,vertexFormat:e.vertexFormat})},d.createGeometry=function(e){var t=e._positions,a=e._minimumHeights,i=e._maximumHeights,n=e._vertexFormat,r=e._granularity,o=e._ellipsoid,i=J.WallGeometryLibrary.computePositions(o,t,i,a,r,!0);if(S.defined(i)){for(var s=i.bottomPositions,m=i.topPositions,a=i.numCorners,l=m.length,r=2*l,u=n.position?new Float64Array(r):void 0,p=n.normal?new Float32Array(r):void 0,d=n.tangent?new Float32Array(r):void 0,c=n.bitangent?new Float32Array(r):void 0,y=n.st?new Float32Array(r/3*2):void 0,f=0,g=0,h=0,v=0,C=0,b=$,x=X,A=Q,_=!0,E=0,w=1/((l/=3)-a-1),F=0;F<l;++F){var L,k=3*F,H=N.Cartesian3.fromArray(m,k,Y),V=N.Cartesian3.fromArray(s,k,Z);n.position&&(u[f++]=V.x,u[f++]=V.y,u[f++]=V.z,u[f++]=H.x,u[f++]=H.y,u[f++]=H.z),n.st&&(y[C++]=E,y[C++]=0,y[C++]=E,y[C++]=1),(n.normal||n.tangent||n.bitangent)&&(L=N.Cartesian3.clone(N.Cartesian3.ZERO,K),V=N.Cartesian3.subtract(H,o.geodeticSurfaceNormal(H,Z),Z),F+1<l&&(L=N.Cartesian3.fromArray(m,3+k,K)),_&&(k=N.Cartesian3.subtract(L,H,j),V=N.Cartesian3.subtract(V,H,Y),b=N.Cartesian3.normalize(N.Cartesian3.cross(V,k,b),b),_=!1),N.Cartesian3.equalsEpsilon(H,L,I.CesiumMath.EPSILON10)?_=!0:(E+=w,n.tangent&&(x=N.Cartesian3.normalize(N.Cartesian3.subtract(L,H,x),x)),n.bitangent&&(A=N.Cartesian3.normalize(N.Cartesian3.cross(b,x,A),A))),n.normal&&(p[g++]=b.x,p[g++]=b.y,p[g++]=b.z,p[g++]=b.x,p[g++]=b.y,p[g++]=b.z),n.tangent&&(d[v++]=x.x,d[v++]=x.y,d[v++]=x.z,d[v++]=x.x,d[v++]=x.y,d[v++]=x.z),n.bitangent&&(c[h++]=A.x,c[h++]=A.y,c[h++]=A.z,c[h++]=A.x,c[h++]=A.y,c[h++]=A.z))}i=new U.GeometryAttributes;n.position&&(i.position=new B.GeometryAttribute({componentDatatype:W.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:u})),n.normal&&(i.normal=new B.GeometryAttribute({componentDatatype:W.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:p})),n.tangent&&(i.tangent=new B.GeometryAttribute({componentDatatype:W.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:d})),n.bitangent&&(i.bitangent=new B.GeometryAttribute({componentDatatype:W.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:c})),n.st&&(i.st=new B.GeometryAttribute({componentDatatype:W.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:y}));var G=r/3;r-=6*(a+1);var D=q.IndexDatatype.createTypedArray(G,r),P=0;for(F=0;F<G-2;F+=2){var T=F,z=F+2,O=N.Cartesian3.fromArray(u,3*T,Y),R=N.Cartesian3.fromArray(u,3*z,Z);N.Cartesian3.equalsEpsilon(O,R,I.CesiumMath.EPSILON10)||(O=F+1,R=F+3,D[P++]=O,D[P++]=T,D[P++]=R,D[P++]=R,D[P++]=T,D[P++]=z)}return new B.Geometry({attributes:i,indices:D,primitiveType:B.PrimitiveType.TRIANGLES,boundingSphere:new M.BoundingSphere.fromVertices(u)})}},function(e,t){return S.defined(t)&&(e=d.unpack(e,t)),e._ellipsoid=N.Ellipsoid.clone(e._ellipsoid),d.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/createWallOutlineGeometry.js b/public/GV/thirdParty/CesiumManager/Workers/createWallOutlineGeometry.js new file mode 100644 index 000000000..5b44d03a2 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/createWallOutlineGeometry.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./arrayRemoveDuplicates-ebc732b0","./EllipsoidRhumbLine-c704bf4c","./EllipsoidGeodesic-30fae80b","./PolylinePipeline-fa11d71d","./WallGeometryLibrary-24ceb832"],function(b,e,v,C,H,i,t,A,k,w,G,a,n,r,o,s,l,L){"use strict";var x=new C.Cartesian3,P=new C.Cartesian3;function d(e){var i=(e=b.defaultValue(e,b.defaultValue.EMPTY_OBJECT)).positions,t=e.maximumHeights,a=e.minimumHeights,n=b.defaultValue(e.granularity,v.CesiumMath.RADIANS_PER_DEGREE),e=b.defaultValue(e.ellipsoid,C.Ellipsoid.WGS84);this._positions=i,this._minimumHeights=a,this._maximumHeights=t,this._granularity=n,this._ellipsoid=C.Ellipsoid.clone(e),this._workerName="createWallOutlineGeometry";i=1+i.length*C.Cartesian3.packedLength+2;b.defined(a)&&(i+=a.length),b.defined(t)&&(i+=t.length),this.packedLength=i+C.Ellipsoid.packedLength+1}d.pack=function(e,i,t){var a;t=b.defaultValue(t,0);var n=e._positions,r=n.length;for(i[t++]=r,a=0;a<r;++a,t+=C.Cartesian3.packedLength)C.Cartesian3.pack(n[a],i,t);var o=e._minimumHeights,r=b.defined(o)?o.length:0;if(i[t++]=r,b.defined(o))for(a=0;a<r;++a)i[t++]=o[a];var s=e._maximumHeights;if(r=b.defined(s)?s.length:0,i[t++]=r,b.defined(s))for(a=0;a<r;++a)i[t++]=s[a];return C.Ellipsoid.pack(e._ellipsoid,i,t),i[t+=C.Ellipsoid.packedLength]=e._granularity,i};var u=C.Ellipsoid.clone(C.Ellipsoid.UNIT_SPHERE),p={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:u,granularity:void 0};return d.unpack=function(e,i,t){i=b.defaultValue(i,0);for(var a,n,r=e[i++],o=new Array(r),s=0;s<r;++s,i+=C.Cartesian3.packedLength)o[s]=C.Cartesian3.unpack(e,i);if(0<(r=e[i++]))for(a=new Array(r),s=0;s<r;++s)a[s]=e[i++];if(0<(r=e[i++]))for(n=new Array(r),s=0;s<r;++s)n[s]=e[i++];var l=C.Ellipsoid.unpack(e,i,u),m=e[i+=C.Ellipsoid.packedLength];return b.defined(t)?(t._positions=o,t._minimumHeights=a,t._maximumHeights=n,t._ellipsoid=C.Ellipsoid.clone(l,t._ellipsoid),t._granularity=m,t):(p.positions=o,p.minimumHeights=a,p.maximumHeights=n,p.granularity=m,new d(p))},d.fromConstantHeights=function(e){var i=(e=b.defaultValue(e,b.defaultValue.EMPTY_OBJECT)).positions,t=e.minimumHeight,a=e.maximumHeight,n=b.defined(t),r=b.defined(a);if(n||r)for(var o=i.length,s=n?new Array(o):void 0,l=r?new Array(o):void 0,m=0;m<o;++m)n&&(s[m]=t),r&&(l[m]=a);return new d({positions:i,maximumHeights:l,minimumHeights:s,ellipsoid:e.ellipsoid})},d.createGeometry=function(e){var i=e._positions,t=e._minimumHeights,a=e._maximumHeights,n=e._granularity,e=e._ellipsoid,t=L.WallGeometryLibrary.computePositions(e,i,a,t,n,!1);if(b.defined(t)){var r=t.bottomPositions,o=t.topPositions,s=o.length,n=2*s,l=new Float64Array(n),m=0;for(s/=3,h=0;h<s;++h){var d=3*h,u=C.Cartesian3.fromArray(o,d,x),d=C.Cartesian3.fromArray(r,d,P);l[m++]=d.x,l[m++]=d.y,l[m++]=d.z,l[m++]=u.x,l[m++]=u.y,l[m++]=u.z}for(var t=new w.GeometryAttributes({position:new k.GeometryAttribute({componentDatatype:A.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:l})}),p=n/3,n=2*p-4+p,f=G.IndexDatatype.createTypedArray(p,n),c=0,h=0;h<p-2;h+=2){var g=h,y=h+2,_=C.Cartesian3.fromArray(l,3*g,x),E=C.Cartesian3.fromArray(l,3*y,P);C.Cartesian3.equalsEpsilon(_,E,v.CesiumMath.EPSILON10)||(_=h+1,E=h+3,f[c++]=_,f[c++]=g,f[c++]=_,f[c++]=E,f[c++]=g,f[c++]=y)}return f[c++]=p-2,f[c++]=p-1,new k.Geometry({attributes:t,indices:f,primitiveType:k.PrimitiveType.LINES,boundingSphere:new H.BoundingSphere.fromVertices(l)})}},function(e,i){return b.defined(i)&&(e=d.unpack(e,i)),e._ellipsoid=C.Ellipsoid.clone(e._ellipsoid),d.createGeometry(e)}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/decodeDraco.js b/public/GV/thirdParty/CesiumManager/Workers/decodeDraco.js new file mode 100644 index 000000000..dd2ccea22 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/decodeDraco.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./IndexDatatype-53503fee","./createTaskProcessorWorker"],function(c,e,t,y,r,d,f,n){"use strict";var A;function m(e,t,r){var n,o=e.num_points(),a=r.num_components(),i=new A.AttributeQuantizationTransform;if(i.InitFromAttribute(r)){for(var u=new Array(a),s=0;s<a;++s)u[s]=i.min_value(s);n={quantizationBits:i.quantization_bits(),minValues:u,range:i.range(),octEncoded:!1}}A.destroy(i),(i=new A.AttributeOctahedronTransform).InitFromAttribute(r)&&(n={quantizationBits:i.quantization_bits(),octEncoded:!0}),A.destroy(i);o*=a,t=c.defined(n)?function(e,t,r,n,o){var a,i;n.quantizationBits<=8?(i=new A.DracoUInt8Array,a=new Uint8Array(o),t.GetAttributeUInt8ForAllPoints(e,r,i)):(i=new A.DracoUInt16Array,a=new Uint16Array(o),t.GetAttributeUInt16ForAllPoints(e,r,i));for(var u=0;u<o;++u)a[u]=i.GetValue(u);return A.destroy(i),a}(e,t,r,n,o):function(e,t,r,n){var o,a;switch(r.data_type()){case 1:case 11:a=new A.DracoInt8Array,o=new Int8Array(n),t.GetAttributeInt8ForAllPoints(e,r,a);break;case 2:a=new A.DracoUInt8Array,o=new Uint8Array(n),t.GetAttributeUInt8ForAllPoints(e,r,a);break;case 3:a=new A.DracoInt16Array,o=new Int16Array(n),t.GetAttributeInt16ForAllPoints(e,r,a);break;case 4:a=new A.DracoUInt16Array,o=new Uint16Array(n),t.GetAttributeUInt16ForAllPoints(e,r,a);break;case 5:case 7:a=new A.DracoInt32Array,o=new Int32Array(n),t.GetAttributeInt32ForAllPoints(e,r,a);break;case 6:case 8:a=new A.DracoUInt32Array,o=new Uint32Array(n),t.GetAttributeUInt32ForAllPoints(e,r,a);break;case 9:case 10:a=new A.DracoFloat32Array,o=new Float32Array(n),t.GetAttributeFloatForAllPoints(e,r,a)}for(var i=0;i<n;++i)o[i]=a.GetValue(i);return A.destroy(a),o}(e,t,r,o),o=d.ComponentDatatype.fromTypedArray(t);return{array:t,data:{componentsPerAttribute:a,componentDatatype:o,byteOffset:r.byte_offset(),byteStride:d.ComponentDatatype.getSizeInBytes(o)*a,normalized:r.normalized(),quantization:n}}}function o(e){var t=new A.Decoder,r=["POSITION","NORMAL","COLOR","TEX_COORD"];if(e.dequantizeInShader)for(var n=0;n<r.length;++n)t.SkipAttributeTransform(A[r[n]]);var o=e.bufferView,a=new A.DecoderBuffer;if(a.Init(e.array,o.byteLength),t.GetEncodedGeometryType(a)!==A.TRIANGULAR_MESH)throw new y.RuntimeError("Unsupported draco mesh geometry type.");var i=new A.Mesh,o=t.DecodeBufferToMesh(a,i);if(!o.ok()||0===i.ptr)throw new y.RuntimeError("Error decoding draco mesh geometry: "+o.error_msg());A.destroy(a);var u,s,c={},d=e.compressedAttributes;for(u in d)d.hasOwnProperty(u)&&(s=d[u],s=t.GetAttributeByUniqueId(i,s),c[u]=m(i,t,s));e={indexArray:function(e,t){for(var r=e.num_points(),n=e.num_faces(),o=new A.DracoInt32Array,a=3*n,i=f.IndexDatatype.createTypedArray(r,a),u=0,s=0;s<n;++s)t.GetFaceFromMesh(e,s,o),i[u+0]=o.GetValue(0),i[u+1]=o.GetValue(1),i[u+2]=o.GetValue(2),u+=3;return A.destroy(o),{typedArray:i,numberOfIndices:a}}(i,t),attributeData:c};return A.destroy(i),A.destroy(t),e}function a(e){return(c.defined(e.primitive)?o:function(e){var t=new A.Decoder;e.dequantizeInShader&&(t.SkipAttributeTransform(A.POSITION),t.SkipAttributeTransform(A.NORMAL));var r=new A.DecoderBuffer;if(r.Init(e.buffer,e.buffer.length),t.GetEncodedGeometryType(r)!==A.POINT_CLOUD)throw new y.RuntimeError("Draco geometry type must be POINT_CLOUD.");var n=new A.PointCloud,o=t.DecodeBufferToPointCloud(r,n);if(!o.ok()||0===n.ptr)throw new y.RuntimeError("Error decoding draco point cloud: "+o.error_msg());A.destroy(r);var a,i,u={},s=e.properties;for(a in s)s.hasOwnProperty(a)&&(i=s[a],i=t.GetAttributeByUniqueId(n,i),u[a]=m(n,t,i));return A.destroy(n),A.destroy(t),u})(e)}function i(e){A=e,self.onmessage=n(a),self.postMessage(!0)}return function(e){var t=e.data.webAssemblyConfig;if(c.defined(t))return require([t.modulePath],function(e){c.defined(t.wasmBinaryFile)?(c.defined(e)||(e=self.DracoDecoderModule),e(t).then(function(e){i(e)})):i(e())})}}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/decodeGoogleEarthEnterprisePacket.js b/public/GV/thirdParty/CesiumManager/Workers/decodeGoogleEarthEnterprisePacket.js new file mode 100644 index 000000000..50484054f --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/decodeGoogleEarthEnterprisePacket.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./RuntimeError-2109023a","./createTaskProcessorWorker"],function(i,e,k,t){"use strict";var h=1953029805,c=2917034100;function b(e,t){if(b.passThroughDataForTesting)return t;var i=e.byteLength;if(0===i||i%4!=0)throw new k.RuntimeError("The length of key must be greater than 0 and a multiple of 4.");var n=new DataView(t),r=n.getUint32(0,!0);if(r===h||r===c)return t;for(var a,o=new DataView(e),s=0,f=t.byteLength,l=f-f%8,u=i,d=8;s<l;)for(a=d=(d+8)%24;s<l&&a<u;)n.setUint32(s,n.getUint32(s,!0)^o.getUint32(a,!0),!0),n.setUint32(s+4,n.getUint32(s+4,!0)^o.getUint32(a+4,!0),!0),s+=8,a+=24;if(s<f)for(u<=a&&(a=d=(d+8)%24);s<f;)n.setUint8(s,n.getUint8(s)^o.getUint8(a)),s++,a++}function n(e,t){return 0!=(e&t)}b.passThroughDataForTesting=!1;var r=[1,2,4,8];function _(e,t,i,n,r,a){this._bits=e,this.cnodeVersion=t,this.imageryVersion=i,this.terrainVersion=n,this.imageryProvider=r,this.terrainProvider=a,this.ancestorHasTerrain=!1,this.terrainState=void 0}_.clone=function(e,t){return i.defined(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new _(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t},_.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()},_.prototype.hasSubtree=function(){return n(this._bits,16)},_.prototype.hasImagery=function(){return n(this._bits,64)},_.prototype.hasTerrain=function(){return n(this._bits,128)},_.prototype.hasChildren=function(){return n(this._bits,15)},_.prototype.hasChild=function(e){return n(this._bits,r[e])},_.prototype.getChildBitmask=function(){return 15&this._bits};var o=function n(r,a,o){function s(i,e){if(!a[i]){if(!r[i]){var t="function"==typeof require&&require;if(!e&&t)return t(i,!0);if(f)return f(i,!0);t=new Error("Cannot find module '"+i+"'");throw t.code="MODULE_NOT_FOUND",t}t=a[i]={exports:{}};r[i][0].call(t.exports,function(e){var t=r[i][1][e];return s(t||e)},t,t.exports,n,r,a,o)}return a[i].exports}for(var f="function"==typeof require&&require,e=0;e<o.length;e++)s(o[e]);return s}({1:[function(e,t,i){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;i.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var n in i)i.hasOwnProperty(n)&&(e[n]=i[n])}}return e},i.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,i,n,r){if(t.subarray&&e.subarray)e.set(t.subarray(i,i+n),r);else for(var a=0;a<n;a++)e[r+a]=t[i+a]},flattenChunks:function(e){for(var t,i,n,r=0,a=0,o=e.length;a<o;a++)r+=e[a].length;for(n=new Uint8Array(r),a=t=0,o=e.length;a<o;a++)i=e[a],n.set(i,t),t+=i.length;return n}},a={arraySet:function(e,t,i,n,r){for(var a=0;a<n;a++)e[r+a]=t[i+a]},flattenChunks:function(e){return[].concat.apply([],e)}};i.setTyped=function(e){e?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,r)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,a))},i.setTyped(n)},{}],2:[function(e,t,i){var f=e("./common"),r=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch(e){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){a=!1}for(var l=new f.Buf8(256),n=0;n<256;n++)l[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function u(e,t){if(t<65537&&(e.subarray&&a||!e.subarray&&r))return String.fromCharCode.apply(null,f.shrinkBuf(e,t));for(var i="",n=0;n<t;n++)i+=String.fromCharCode(e[n]);return i}l[254]=l[254]=1,i.string2buf=function(e){for(var t,i,n,r,a=e.length,o=0,s=0;s<a;s++)55296==(64512&(i=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(n=e.charCodeAt(s+1)))&&(i=65536+(i-55296<<10)+(n-56320),s++),o+=i<128?1:i<2048?2:i<65536?3:4;for(t=new f.Buf8(o),s=r=0;r<o;s++)55296==(64512&(i=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(n=e.charCodeAt(s+1)))&&(i=65536+(i-55296<<10)+(n-56320),s++),i<128?t[r++]=i:(i<2048?t[r++]=192|i>>>6:(i<65536?t[r++]=224|i>>>12:(t[r++]=240|i>>>18,t[r++]=128|i>>>12&63),t[r++]=128|i>>>6&63),t[r++]=128|63&i);return t},i.buf2binstring=function(e){return u(e,e.length)},i.binstring2buf=function(e){for(var t=new f.Buf8(e.length),i=0,n=t.length;i<n;i++)t[i]=e.charCodeAt(i);return t},i.buf2string=function(e,t){for(var i,n,r=t||e.length,a=new Array(2*r),o=0,s=0;s<r;)if((i=e[s++])<128)a[o++]=i;else if(4<(n=l[i]))a[o++]=65533,s+=n-1;else{for(i&=2===n?31:3===n?15:7;1<n&&s<r;)i=i<<6|63&e[s++],n--;1<n?a[o++]=65533:i<65536?a[o++]=i:(i-=65536,a[o++]=55296|i>>10&1023,a[o++]=56320|1023&i)}return u(a,o)},i.utf8border=function(e,t){var i;for((t=t||e.length)>e.length&&(t=e.length),i=t-1;0<=i&&128==(192&e[i]);)i--;return!(i<0)&&0!==i&&i+l[e[i]]>t?i:t}},{"./common":1}],3:[function(e,t,i){t.exports=function(e,t,i,n){for(var r=65535&e|0,a=e>>>16&65535|0,o=0;0!==i;){for(o=2e3<i?2e3:i,i-=o;a=a+(r=r+t[n++]|0)|0,--o;);r%=65521,a%=65521}return r|a<<16|0}},{}],4:[function(e,t,i){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],5:[function(e,t,i){var s=function(){for(var e,t=[],i=0;i<256;i++){e=i;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t}();t.exports=function(e,t,i,n){var r=s,a=n+i;e^=-1;for(var o=n;o<a;o++)e=e>>>8^r[255&(e^t[o])];return-1^e}},{}],6:[function(e,t,i){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],7:[function(e,t,i){t.exports=function(e,t){var i,n,r,a,o,s,f=e.state,l=e.next_in,u=e.input,d=l+(e.avail_in-5),h=e.next_out,c=e.output,b=h-(t-e.avail_out),m=h+(e.avail_out-257),w=f.dmax,g=f.wsize,v=f.whave,k=f.wnext,_=f.window,p=f.hold,y=f.bits,x=f.lencode,E=f.distcode,S=(1<<f.lenbits)-1,T=(1<<f.distbits)-1;e:do{y<15&&(p+=u[l++]<<y,y+=8,p+=u[l++]<<y,y+=8),i=x[p&S];t:for(;;){if(p>>>=n=i>>>24,y-=n,0===(n=i>>>16&255))c[h++]=65535&i;else{if(!(16&n)){if(0==(64&n)){i=x[(65535&i)+(p&(1<<n)-1)];continue t}if(32&n){f.mode=12;break e}e.msg="invalid literal/length code",f.mode=30;break e}r=65535&i,(n&=15)&&(y<n&&(p+=u[l++]<<y,y+=8),r+=p&(1<<n)-1,p>>>=n,y-=n),y<15&&(p+=u[l++]<<y,y+=8,p+=u[l++]<<y,y+=8),i=E[p&T];i:for(;;){if(p>>>=n=i>>>24,y-=n,!(16&(n=i>>>16&255))){if(0==(64&n)){i=E[(65535&i)+(p&(1<<n)-1)];continue i}e.msg="invalid distance code",f.mode=30;break e}if(a=65535&i,y<(n&=15)&&(p+=u[l++]<<y,(y+=8)<n&&(p+=u[l++]<<y,y+=8)),w<(a+=p&(1<<n)-1)){e.msg="invalid distance too far back",f.mode=30;break e}if(p>>>=n,y-=n,(n=h-b)<a){if(n=a-n,v<n&&f.sane){e.msg="invalid distance too far back",f.mode=30;break e}if(s=_,(o=0)===k){if(o+=g-n,n<r){for(r-=n;c[h++]=_[o++],--n;);o=h-a,s=c}}else if(k<n){if(o+=g+k-n,(n-=k)<r){for(r-=n;c[h++]=_[o++],--n;);if(o=0,k<r){for(n=k,r-=n;c[h++]=_[o++],--n;);o=h-a,s=c}}}else if(o+=k-n,n<r){for(r-=n;c[h++]=_[o++],--n;);o=h-a,s=c}for(;2<r;)c[h++]=s[o++],c[h++]=s[o++],c[h++]=s[o++],r-=3;r&&(c[h++]=s[o++],1<r&&(c[h++]=s[o++]))}else{for(o=h-a;c[h++]=c[o++],c[h++]=c[o++],c[h++]=c[o++],r-=3,2<r;);r&&(c[h++]=c[o++],1<r&&(c[h++]=c[o++]))}break}}break}}while(l<d&&h<m);l-=r=y>>3,p&=(1<<(y-=r<<3))-1,e.next_in=l,e.next_out=h,e.avail_in=l<d?d-l+5:5-(l-d),e.avail_out=h<m?m-h+257:257-(h-m),f.hold=p,f.bits=y}},{}],8:[function(e,t,i){var B=e("../utils/common"),U=e("./adler32"),Z=e("./crc32"),I=e("./inffast"),D=e("./inftrees"),N=1,O=2,z=0,C=-2,F=1,n=852,r=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function a(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new B.Buf16(320),this.work=new B.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function o(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=F,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new B.Buf32(n),t.distcode=t.distdyn=new B.Buf32(r),t.sane=1,t.back=-1,z):C}function s(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,o(e)):C}function f(e,t){var i,n;return e&&e.state?(n=e.state,t<0?(i=0,t=-t):(i=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?C:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=i,n.wbits=t,s(e))):C}function l(e,t){var i;return e?(i=new a,(e.state=i).window=null,(t=f(e,t))!==z&&(e.state=null),t):C}var H,P,M=!0;function V(e,t,i,n){var r=e.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new B.Buf8(r.wsize)),n>=r.wsize?(B.arraySet(r.window,t,i-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n<(e=r.wsize-r.wnext)&&(e=n),B.arraySet(r.window,t,i-n,e,r.wnext),(n-=e)?(B.arraySet(r.window,t,i-n,n,0),r.wnext=n,r.whave=r.wsize):(r.wnext+=e,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=e))),0}i.inflateReset=s,i.inflateReset2=f,i.inflateResetKeep=o,i.inflateInit=function(e){return l(e,15)},i.inflateInit2=l,i.inflate=function(e,t){var i,n,r,a,o,s,f,l,u,d,h,c,b,m,w,g,v,k,_,p,y,x,E,S,T=0,R=new B.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return C;12===(i=e.state).mode&&(i.mode=13),o=e.next_out,r=e.output,f=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,l=i.hold,u=i.bits,d=s,h=f,x=z;e:for(;;)switch(i.mode){case F:if(0===i.wrap){i.mode=13;break}for(;u<16;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if(2&i.wrap&&35615===l){R[i.check=0]=255&l,R[1]=l>>>8&255,i.check=Z(i.check,R,2,0),u=l=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",i.mode=30;break}if(8!=(15&l)){e.msg="unknown compression method",i.mode=30;break}if(u-=4,y=8+(15&(l>>>=4)),0===i.wbits)i.wbits=y;else if(y>i.wbits){e.msg="invalid window size",i.mode=30;break}i.dmax=1<<y,e.adler=i.check=1,i.mode=512&l?10:12,u=l=0;break;case 2:for(;u<16;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if(i.flags=l,8!=(255&i.flags)){e.msg="unknown compression method",i.mode=30;break}if(57344&i.flags){e.msg="unknown header flags set",i.mode=30;break}i.head&&(i.head.text=l>>8&1),512&i.flags&&(R[0]=255&l,R[1]=l>>>8&255,i.check=Z(i.check,R,2,0)),u=l=0,i.mode=3;case 3:for(;u<32;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}i.head&&(i.head.time=l),512&i.flags&&(R[0]=255&l,R[1]=l>>>8&255,R[2]=l>>>16&255,R[3]=l>>>24&255,i.check=Z(i.check,R,4,0)),u=l=0,i.mode=4;case 4:for(;u<16;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}i.head&&(i.head.xflags=255&l,i.head.os=l>>8),512&i.flags&&(R[0]=255&l,R[1]=l>>>8&255,i.check=Z(i.check,R,2,0)),u=l=0,i.mode=5;case 5:if(1024&i.flags){for(;u<16;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}i.length=l,i.head&&(i.head.extra_len=l),512&i.flags&&(R[0]=255&l,R[1]=l>>>8&255,i.check=Z(i.check,R,2,0)),u=l=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(s<(c=i.length)&&(c=s),c&&(i.head&&(y=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),B.arraySet(i.head.extra,n,a,c,y)),512&i.flags&&(i.check=Z(i.check,n,c,a)),s-=c,a+=c,i.length-=c),i.length))break e;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===s)break e;for(c=0;y=n[a+c++],i.head&&y&&i.length<65536&&(i.head.name+=String.fromCharCode(y)),y&&c<s;);if(512&i.flags&&(i.check=Z(i.check,n,c,a)),s-=c,a+=c,y)break e}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===s)break e;for(c=0;y=n[a+c++],i.head&&y&&i.length<65536&&(i.head.comment+=String.fromCharCode(y)),y&&c<s;);if(512&i.flags&&(i.check=Z(i.check,n,c,a)),s-=c,a+=c,y)break e}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;u<16;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if(l!==(65535&i.check)){e.msg="header crc mismatch",i.mode=30;break}u=l=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=12;break;case 10:for(;u<32;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}e.adler=i.check=L(l),u=l=0,i.mode=11;case 11:if(0===i.havedict)return e.next_out=o,e.avail_out=f,e.next_in=a,e.avail_in=s,i.hold=l,i.bits=u,2;e.adler=i.check=1,i.mode=12;case 12:if(5===t||6===t)break e;case 13:if(i.last){l>>>=7&u,u-=7&u,i.mode=27;break}for(;u<3;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}switch(i.last=1&l,--u,3&(l>>>=1)){case 0:i.mode=14;break;case 1:if(!function(e){if(M){var t;for(H=new B.Buf32(512),P=new B.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(D(N,e.lens,0,288,H,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;D(O,e.lens,0,32,P,0,e.work,{bits:5}),M=!1}e.lencode=H,e.lenbits=9,e.distcode=P,e.distbits=5}(i),i.mode=20,6!==t)break;l>>>=2,u-=2;break e;case 2:i.mode=17;break;case 3:e.msg="invalid block type",i.mode=30}l>>>=2,u-=2;break;case 14:for(l>>>=7&u,u-=7&u;u<32;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if((65535&l)!=(l>>>16^65535)){e.msg="invalid stored block lengths",i.mode=30;break}if(i.length=65535&l,u=l=0,i.mode=15,6===t)break e;case 15:i.mode=16;case 16:if(c=i.length){if(s<c&&(c=s),f<c&&(c=f),0===c)break e;B.arraySet(r,n,a,c,o),s-=c,a+=c,f-=c,o+=c,i.length-=c;break}i.mode=12;break;case 17:for(;u<14;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if(i.nlen=257+(31&l),l>>>=5,u-=5,i.ndist=1+(31&l),l>>>=5,u-=5,i.ncode=4+(15&l),l>>>=4,u-=4,286<i.nlen||30<i.ndist){e.msg="too many length or distance symbols",i.mode=30;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;u<3;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}i.lens[A[i.have++]]=7&l,l>>>=3,u-=3}for(;i.have<19;)i.lens[A[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,E={bits:i.lenbits},x=D(0,i.lens,0,19,i.lencode,0,i.work,E),i.lenbits=E.bits,x){e.msg="invalid code lengths set",i.mode=30;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;g=(T=i.lencode[l&(1<<i.lenbits)-1])>>>16&255,v=65535&T,!((w=T>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if(v<16)l>>>=w,u-=w,i.lens[i.have++]=v;else{if(16===v){for(S=w+2;u<S;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if(l>>>=w,u-=w,0===i.have){e.msg="invalid bit length repeat",i.mode=30;break}y=i.lens[i.have-1],c=3+(3&l),l>>>=2,u-=2}else if(17===v){for(S=w+3;u<S;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}u-=w,y=0,c=3+(7&(l>>>=w)),l>>>=3,u-=3}else{for(S=w+7;u<S;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}u-=w,y=0,c=11+(127&(l>>>=w)),l>>>=7,u-=7}if(i.have+c>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=30;break}for(;c--;)i.lens[i.have++]=y}}if(30===i.mode)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=30;break}if(i.lenbits=9,E={bits:i.lenbits},x=D(N,i.lens,0,i.nlen,i.lencode,0,i.work,E),i.lenbits=E.bits,x){e.msg="invalid literal/lengths set",i.mode=30;break}if(i.distbits=6,i.distcode=i.distdyn,E={bits:i.distbits},x=D(O,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,E),i.distbits=E.bits,x){e.msg="invalid distances set",i.mode=30;break}if(i.mode=20,6===t)break e;case 20:i.mode=21;case 21:if(6<=s&&258<=f){e.next_out=o,e.avail_out=f,e.next_in=a,e.avail_in=s,i.hold=l,i.bits=u,I(e,h),o=e.next_out,r=e.output,f=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,l=i.hold,u=i.bits,12===i.mode&&(i.back=-1);break}for(i.back=0;g=(T=i.lencode[l&(1<<i.lenbits)-1])>>>16&255,v=65535&T,!((w=T>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if(g&&0==(240&g)){for(k=w,_=g,p=v;g=(T=i.lencode[p+((l&(1<<k+_)-1)>>k)])>>>16&255,v=65535&T,!(k+(w=T>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}l>>>=k,u-=k,i.back+=k}if(l>>>=w,u-=w,i.back+=w,i.length=v,0===g){i.mode=26;break}if(32&g){i.back=-1,i.mode=12;break}if(64&g){e.msg="invalid literal/length code",i.mode=30;break}i.extra=15&g,i.mode=22;case 22:if(i.extra){for(S=i.extra;u<S;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}i.length+=l&(1<<i.extra)-1,l>>>=i.extra,u-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;g=(T=i.distcode[l&(1<<i.distbits)-1])>>>16&255,v=65535&T,!((w=T>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if(0==(240&g)){for(k=w,_=g,p=v;g=(T=i.distcode[p+((l&(1<<k+_)-1)>>k)])>>>16&255,v=65535&T,!(k+(w=T>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}l>>>=k,u-=k,i.back+=k}if(l>>>=w,u-=w,i.back+=w,64&g){e.msg="invalid distance code",i.mode=30;break}i.offset=v,i.extra=15&g,i.mode=24;case 24:if(i.extra){for(S=i.extra;u<S;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}i.offset+=l&(1<<i.extra)-1,l>>>=i.extra,u-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=30;break}i.mode=25;case 25:if(0===f)break e;if(c=h-f,i.offset>c){if(c=i.offset-c,c>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=30;break}b=c>i.wnext?(c-=i.wnext,i.wsize-c):i.wnext-c,c>i.length&&(c=i.length),m=i.window}else m=r,b=o-i.offset,c=i.length;for(f<c&&(c=f),f-=c,i.length-=c;r[o++]=m[b++],--c;);0===i.length&&(i.mode=21);break;case 26:if(0===f)break e;r[o++]=i.length,f--,i.mode=21;break;case 27:if(i.wrap){for(;u<32;){if(0===s)break e;s--,l|=n[a++]<<u,u+=8}if(h-=f,e.total_out+=h,i.total+=h,h&&(e.adler=i.check=(i.flags?Z:U)(i.check,r,h,o-h)),h=f,(i.flags?l:L(l))!==i.check){e.msg="incorrect data check",i.mode=30;break}u=l=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;u<32;){if(0===s)break e;s--,l+=n[a++]<<u,u+=8}if(l!==(4294967295&i.total)){e.msg="incorrect length check",i.mode=30;break}u=l=0}i.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return C}return e.next_out=o,e.avail_out=f,e.next_in=a,e.avail_in=s,i.hold=l,i.bits=u,(i.wsize||h!==e.avail_out&&i.mode<30&&(i.mode<27||4!==t))&&V(e,e.output,e.next_out,h-e.avail_out),d-=e.avail_in,h-=e.avail_out,e.total_in+=d,e.total_out+=h,i.total+=h,i.wrap&&h&&(e.adler=i.check=(i.flags?Z:U)(i.check,r,h,e.next_out-h)),e.data_type=i.bits+(i.last?64:0)+(12===i.mode?128:0)+(20===i.mode||15===i.mode?256:0),(0==d&&0===h||4===t)&&x===z&&(x=-5),x},i.inflateEnd=function(e){if(!e||!e.state)return C;var t=e.state;return t.window&&(t.window=null),e.state=null,z},i.inflateGetHeader=function(e,t){return!e||!e.state||0==(2&(e=e.state).wrap)?C:((e.head=t).done=!1,z)},i.inflateSetDictionary=function(e,t){var i,n=t.length;return!e||!e.state||0!==(i=e.state).wrap&&11!==i.mode?C:11===i.mode&&U(1,t,n,0)!==i.check?-3:V(e,t,n,n)?(i.mode=31,-4):(i.havedict=1,z)},i.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":1,"./adler32":3,"./crc32":5,"./inffast":7,"./inftrees":9}],9:[function(e,t,i){var N=e("../utils/common"),O=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],z=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],C=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],F=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,i,n,r,a,o,s){for(var f,l,u,d,h,c,b,m,w,g=s.bits,v=0,k=0,_=0,p=0,y=0,x=0,E=0,S=0,T=0,R=0,A=null,B=0,U=new N.Buf16(16),Z=new N.Buf16(16),I=null,D=0,v=0;v<=15;v++)U[v]=0;for(k=0;k<n;k++)U[t[i+k]]++;for(y=g,p=15;1<=p&&0===U[p];p--);if(p<y&&(y=p),0===p)return r[a++]=20971520,r[a++]=20971520,s.bits=1,0;for(_=1;_<p&&0===U[_];_++);for(y<_&&(y=_),v=S=1;v<=15;v++)if(S<<=1,(S-=U[v])<0)return-1;if(0<S&&(0===e||1!==p))return-1;for(Z[1]=0,v=1;v<15;v++)Z[v+1]=Z[v]+U[v];for(k=0;k<n;k++)0!==t[i+k]&&(o[Z[t[i+k]]++]=k);if(c=0===e?(A=I=o,19):1===e?(A=O,B-=257,I=z,D-=257,256):(A=C,I=F,-1),v=_,h=a,E=k=R=0,u=-1,d=(T=1<<(x=y))-1,1===e&&852<T||2===e&&592<T)return 1;for(;;){for(b=v-E,w=o[k]<c?(m=0,o[k]):o[k]>c?(m=I[D+o[k]],A[B+o[k]]):(m=96,0),f=1<<v-E,l=1<<x,_=l;r[h+(R>>E)+(l-=f)]=b<<24|m<<16|w|0,0!==l;);for(f=1<<v-1;R&f;)f>>=1;if(0!==f?(R&=f-1,R+=f):R=0,k++,0==--U[v]){if(v===p)break;v=t[i+o[k]]}if(y<v&&(R&d)!==u){for(0===E&&(E=y),h+=_,S=1<<(x=v-E);x+E<p&&!((S-=U[x+E])<=0);)x++,S<<=1;if(T+=1<<x,1===e&&852<T||2===e&&592<T)return 1;r[u=R&d]=y<<24|x<<16|h-a|0}}return 0!==R&&(r[h+R]=v-E<<24|64<<16|0),s.bits=y,0}},{"../utils/common":1}],10:[function(e,t,i){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],11:[function(e,t,i){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],"/lib/inflate.js":[function(e,t,i){var d=e("./zlib/inflate"),h=e("./utils/common"),c=e("./utils/strings"),b=e("./zlib/constants"),n=e("./zlib/messages"),r=e("./zlib/zstream"),a=e("./zlib/gzheader"),m=Object.prototype.toString;function o(e){if(!(this instanceof o))return new o(e);this.options=h.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new r,this.strm.avail_out=0;t=d.inflateInit2(this.strm,t.windowBits);if(t!==b.Z_OK)throw new Error(n[t]);this.header=new a,d.inflateGetHeader(this.strm,this.header)}function s(e,t){t=new o(t);if(t.push(e,!0),t.err)throw t.msg||n[t.err];return t.result}o.prototype.push=function(e,t){var i,n,r,a,o,s=this.strm,f=this.options.chunkSize,l=this.options.dictionary,u=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?b.Z_FINISH:b.Z_NO_FLUSH,"string"==typeof e?s.input=c.binstring2buf(e):"[object ArrayBuffer]"===m.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new h.Buf8(f),s.next_out=0,s.avail_out=f),(i=d.inflate(s,b.Z_NO_FLUSH))===b.Z_NEED_DICT&&l&&(o="string"==typeof l?c.string2buf(l):"[object ArrayBuffer]"===m.call(l)?new Uint8Array(l):l,i=d.inflateSetDictionary(this.strm,o)),i===b.Z_BUF_ERROR&&!0===u&&(i=b.Z_OK,u=!1),i!==b.Z_STREAM_END&&i!==b.Z_OK)return this.onEnd(i),!(this.ended=!0)}while(s.next_out&&(0!==s.avail_out&&i!==b.Z_STREAM_END&&(0!==s.avail_in||n!==b.Z_FINISH&&n!==b.Z_SYNC_FLUSH)||("string"===this.options.to?(r=c.utf8border(s.output,s.next_out),a=s.next_out-r,o=c.buf2string(s.output,r),s.next_out=a,s.avail_out=f-a,a&&h.arraySet(s.output,s.output,r,a,0),this.onData(o)):this.onData(h.shrinkBuf(s.output,s.next_out)))),0===s.avail_in&&0===s.avail_out&&(u=!0),(0<s.avail_in||0===s.avail_out)&&i!==b.Z_STREAM_END);return i===b.Z_STREAM_END&&(n=b.Z_FINISH),n===b.Z_FINISH?(i=d.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===b.Z_OK):n!==b.Z_SYNC_FLUSH||(this.onEnd(b.Z_OK),!(s.avail_out=0))},o.prototype.onData=function(e){this.chunks.push(e)},o.prototype.onEnd=function(e){e===b.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=h.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},i.Inflate=o,i.inflate=s,i.inflateRaw=function(e,t){return(t=t||{}).raw=!0,s(e,t)},i.ungzip=s},{"./utils/common":1,"./utils/strings":2,"./zlib/constants":4,"./zlib/gzheader":6,"./zlib/inflate":8,"./zlib/messages":10,"./zlib/zstream":11}]},{},[])("/lib/inflate.js"),p=Uint16Array.BYTES_PER_ELEMENT,y=Int32Array.BYTES_PER_ELEMENT,x=Uint32Array.BYTES_PER_ELEMENT,s={METADATA:0,TERRAIN:1,DBROOT:2};s.fromString=function(e){return"Metadata"===e?s.METADATA:"Terrain"===e?s.TERRAIN:"DbRoot"===e?s.DBROOT:void 0};var E=32301;var f=1953029805,l=2917034100;return t(function(e,t){var i=s.fromString(e.type),n=e.buffer;b(e.key,n);var r=function(e){var t=new DataView(e),i=0,n=t.getUint32(0,!0);if(i+=x,n!==f&&n!==l)throw new k.RuntimeError("Invalid magic");n=t.getUint32(i,n===f);i+=x;i=new Uint8Array(e,i),i=o.inflate(i);if(i.length===n)return i;throw new k.RuntimeError("Size of packet doesn't match header")}(n),n=r.buffer,a=r.length;switch(i){case s.METADATA:return function(e,t,i){var n=new DataView(e),r=0,a=n.getUint32(r,!0);if(r+=x,a!==E)throw new k.RuntimeError("Invalid magic");var o=n.getUint32(r,!0);if(r+=x,1!==o)throw new k.RuntimeError("Invalid data type. Must be 1 for QuadTreePacket");var s=n.getUint32(r,!0);if(r+=x,2!==s)throw new k.RuntimeError("Invalid QuadTreePacket version. Only version 2 is supported.");var f=n.getInt32(r,!0);r+=y;e=n.getInt32(r,!0);if(r+=y,32!==e)throw new k.RuntimeError("Invalid instance size.");a=n.getInt32(r,!0);r+=y;o=n.getInt32(r,!0);r+=y;s=n.getInt32(r,!0);if(a!==f*e+(r+=y))throw new k.RuntimeError("Invalid dataBufferOffset");if(a+o+s!==t)throw new k.RuntimeError("Invalid packet offsets");for(var l=[],u=0;u<f;++u){var d=n.getUint8(r);++r,++r;var h=n.getUint16(r,!0);r+=p;var c=n.getUint16(r,!0);r+=p;var b=n.getUint16(r,!0);r+=p,r+=p,r+=p,r+=y,r+=y,r+=8;var m=n.getUint8(r++),w=n.getUint8(r++);r+=p,l.push(new _(d,h,c,b,m,w))}var g=[],v=0;s=0,t=l[v++];""===i?++s:g[i]=t;return function e(t,i,n){var r=!1;if(4===n){if(i.hasSubtree())return;r=!0}for(var a=0;a<4;++a){var o=t+a.toString();if(r)g[o]=null;else if(n<4)if(i.hasChild(a)){if(v===f)return void console.log("Incorrect number of instances");var s=l[v++];g[o]=s,e(o,s,n+1)}else g[o]=null}}(i,t,s),g}(n,a,e.quadKey);case s.TERRAIN:return function(e,t,i){var n=new DataView(e),r=0,a=[];for(;r<t;){for(var o=r,s=0;s<4;++s){var f=n.getUint32(r,!0);r+=x,r+=f}o=e.slice(o,r);i.push(o),a.push(o)}return a}(n,a,t);case s.DBROOT:return t.push(n),{buffer:n}}})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/transcodeCRNToDXT.js b/public/GV/thirdParty/CesiumManager/Workers/transcodeCRNToDXT.js new file mode 100644 index 000000000..a59e83287 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/transcodeCRNToDXT.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./createTaskProcessorWorker"],function(when,RuntimeError,WebGLConstants,createTaskProcessorWorker){"use strict";function CompressedTextureBuffer(e,r,t,n){this._format=e,this._width=r,this._height=t,this._buffer=n}Object.defineProperties(CompressedTextureBuffer.prototype,{internalFormat:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}}}),CompressedTextureBuffer.clone=function(e){if(when.defined(e))return new CompressedTextureBuffer(e._format,e._width,e._height,e._buffer)},CompressedTextureBuffer.prototype.clone=function(){return CompressedTextureBuffer.clone(this)};var PixelDatatype={UNSIGNED_BYTE:WebGLConstants.WebGLConstants.UNSIGNED_BYTE,UNSIGNED_SHORT:WebGLConstants.WebGLConstants.UNSIGNED_SHORT,UNSIGNED_INT:WebGLConstants.WebGLConstants.UNSIGNED_INT,FLOAT:WebGLConstants.WebGLConstants.FLOAT,HALF_FLOAT:WebGLConstants.WebGLConstants.HALF_FLOAT_OES,UNSIGNED_INT_24_8:WebGLConstants.WebGLConstants.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:WebGLConstants.WebGLConstants.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:WebGLConstants.WebGLConstants.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:WebGLConstants.WebGLConstants.UNSIGNED_SHORT_5_6_5,toWebGLConstant:function(e,r){switch(e){case PixelDatatype.UNSIGNED_BYTE:return WebGLConstants.WebGLConstants.UNSIGNED_BYTE;case PixelDatatype.UNSIGNED_SHORT:return WebGLConstants.WebGLConstants.UNSIGNED_SHORT;case PixelDatatype.UNSIGNED_INT:return WebGLConstants.WebGLConstants.UNSIGNED_INT;case PixelDatatype.FLOAT:return WebGLConstants.WebGLConstants.FLOAT;case PixelDatatype.HALF_FLOAT:return r.webgl2?WebGLConstants.WebGLConstants.HALF_FLOAT:WebGLConstants.WebGLConstants.HALF_FLOAT_OES;case PixelDatatype.UNSIGNED_INT_24_8:return WebGLConstants.WebGLConstants.UNSIGNED_INT_24_8;case PixelDatatype.UNSIGNED_SHORT_4_4_4_4:return WebGLConstants.WebGLConstants.UNSIGNED_SHORT_4_4_4_4;case PixelDatatype.UNSIGNED_SHORT_5_5_5_1:return WebGLConstants.WebGLConstants.UNSIGNED_SHORT_5_5_5_1;case PixelDatatype.UNSIGNED_SHORT_5_6_5:return PixelDatatype.UNSIGNED_SHORT_5_6_5}},isPacked:function(e){return e===PixelDatatype.UNSIGNED_INT_24_8||e===PixelDatatype.UNSIGNED_SHORT_4_4_4_4||e===PixelDatatype.UNSIGNED_SHORT_5_5_5_1||e===PixelDatatype.UNSIGNED_SHORT_5_6_5},sizeInBytes:function(e){switch(e){case PixelDatatype.UNSIGNED_BYTE:return 1;case PixelDatatype.UNSIGNED_SHORT:case PixelDatatype.UNSIGNED_SHORT_4_4_4_4:case PixelDatatype.UNSIGNED_SHORT_5_5_5_1:case PixelDatatype.UNSIGNED_SHORT_5_6_5:case PixelDatatype.HALF_FLOAT:return 2;case PixelDatatype.UNSIGNED_INT:case PixelDatatype.FLOAT:case PixelDatatype.UNSIGNED_INT_24_8:return 4}},validate:function(e){return e===PixelDatatype.UNSIGNED_BYTE||e===PixelDatatype.UNSIGNED_SHORT||e===PixelDatatype.UNSIGNED_INT||e===PixelDatatype.FLOAT||e===PixelDatatype.HALF_FLOAT||e===PixelDatatype.UNSIGNED_INT_24_8||e===PixelDatatype.UNSIGNED_SHORT_4_4_4_4||e===PixelDatatype.UNSIGNED_SHORT_5_5_5_1||e===PixelDatatype.UNSIGNED_SHORT_5_6_5}},PixelDatatype$1=Object.freeze(PixelDatatype),PixelFormat={DEPTH_COMPONENT:WebGLConstants.WebGLConstants.DEPTH_COMPONENT,DEPTH_STENCIL:WebGLConstants.WebGLConstants.DEPTH_STENCIL,ALPHA:WebGLConstants.WebGLConstants.ALPHA,RGB:WebGLConstants.WebGLConstants.RGB,RGBA:WebGLConstants.WebGLConstants.RGBA,LUMINANCE:WebGLConstants.WebGLConstants.LUMINANCE,LUMINANCE_ALPHA:WebGLConstants.WebGLConstants.LUMINANCE_ALPHA,RGB_DXT1:WebGLConstants.WebGLConstants.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:WebGLConstants.WebGLConstants.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:WebGLConstants.WebGLConstants.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:WebGLConstants.WebGLConstants.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:WebGLConstants.WebGLConstants.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:WebGLConstants.WebGLConstants.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:WebGLConstants.WebGLConstants.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:WebGLConstants.WebGLConstants.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGB_ETC1:WebGLConstants.WebGLConstants.COMPRESSED_RGB_ETC1_WEBGL,componentsLength:function(e){switch(e){case PixelFormat.RGB:return 3;case PixelFormat.RGBA:return 4;case PixelFormat.LUMINANCE_ALPHA:return 2;case PixelFormat.ALPHA:case PixelFormat.LUMINANCE:default:return 1}},validate:function(e){return e===PixelFormat.DEPTH_COMPONENT||e===PixelFormat.DEPTH_STENCIL||e===PixelFormat.ALPHA||e===PixelFormat.RGB||e===PixelFormat.RGBA||e===PixelFormat.LUMINANCE||e===PixelFormat.LUMINANCE_ALPHA||e===PixelFormat.RGB_DXT1||e===PixelFormat.RGBA_DXT1||e===PixelFormat.RGBA_DXT3||e===PixelFormat.RGBA_DXT5||e===PixelFormat.RGB_PVRTC_4BPPV1||e===PixelFormat.RGB_PVRTC_2BPPV1||e===PixelFormat.RGBA_PVRTC_4BPPV1||e===PixelFormat.RGBA_PVRTC_2BPPV1||e===PixelFormat.RGB_ETC1},isColorFormat:function(e){return e===PixelFormat.ALPHA||e===PixelFormat.RGB||e===PixelFormat.RGBA||e===PixelFormat.LUMINANCE||e===PixelFormat.LUMINANCE_ALPHA},isDepthFormat:function(e){return e===PixelFormat.DEPTH_COMPONENT||e===PixelFormat.DEPTH_STENCIL},isCompressedFormat:function(e){return e===PixelFormat.RGB_DXT1||e===PixelFormat.RGBA_DXT1||e===PixelFormat.RGBA_DXT3||e===PixelFormat.RGBA_DXT5||e===PixelFormat.RGB_PVRTC_4BPPV1||e===PixelFormat.RGB_PVRTC_2BPPV1||e===PixelFormat.RGBA_PVRTC_4BPPV1||e===PixelFormat.RGBA_PVRTC_2BPPV1||e===PixelFormat.RGB_ETC1},isDXTFormat:function(e){return e===PixelFormat.RGB_DXT1||e===PixelFormat.RGBA_DXT1||e===PixelFormat.RGBA_DXT3||e===PixelFormat.RGBA_DXT5},isPVRTCFormat:function(e){return e===PixelFormat.RGB_PVRTC_4BPPV1||e===PixelFormat.RGB_PVRTC_2BPPV1||e===PixelFormat.RGBA_PVRTC_4BPPV1||e===PixelFormat.RGBA_PVRTC_2BPPV1},isETC1Format:function(e){return e===PixelFormat.RGB_ETC1},compressedTextureSizeInBytes:function(e,r,t){switch(e){case PixelFormat.RGB_DXT1:case PixelFormat.RGBA_DXT1:case PixelFormat.RGB_ETC1:return Math.floor((r+3)/4)*Math.floor((t+3)/4)*8;case PixelFormat.RGBA_DXT3:case PixelFormat.RGBA_DXT5:return Math.floor((r+3)/4)*Math.floor((t+3)/4)*16;case PixelFormat.RGB_PVRTC_4BPPV1:case PixelFormat.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(r,8)*Math.max(t,8)*4+7)/8);case PixelFormat.RGB_PVRTC_2BPPV1:case PixelFormat.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(r,16)*Math.max(t,8)*2+7)/8);default:return 0}},textureSizeInBytes:function(e,r,t,n){e=PixelFormat.componentsLength(e);return PixelDatatype$1.isPacked(r)&&(e=1),e*PixelDatatype$1.sizeInBytes(r)*t*n},alignmentInBytes:function(e,r,t){t=PixelFormat.textureSizeInBytes(e,r,t,1)%4;return 0==t?4:2==t?2:1},createTypedArray:function(e,r,t,n){var i=PixelDatatype$1.sizeInBytes(r),r=i===Uint8Array.BYTES_PER_ELEMENT?Uint8Array:i===Uint16Array.BYTES_PER_ELEMENT?Uint16Array:i===Float32Array.BYTES_PER_ELEMENT&&r===PixelDatatype$1.FLOAT?Float32Array:Uint32Array;return new r(PixelFormat.componentsLength(e)*t*n)},flipY:function(e,r,t,n,i){if(1===i)return e;for(var a=PixelFormat.createTypedArray(r,t,n,i),o=PixelFormat.componentsLength(r),u=n*o,f=0;f<i;++f)for(var l=f*n*o,s=(i-f-1)*n*o,c=0;c<u;++c)a[s+c]=e[l+c];return a},toInternalFormat:function(e,r,t){if(!t.webgl2)return e;if(e===PixelFormat.DEPTH_STENCIL)return WebGLConstants.WebGLConstants.DEPTH24_STENCIL8;if(e===PixelFormat.DEPTH_COMPONENT){if(r===PixelDatatype$1.UNSIGNED_SHORT)return WebGLConstants.WebGLConstants.DEPTH_COMPONENT16;if(r===PixelDatatype$1.UNSIGNED_INT)return WebGLConstants.WebGLConstants.DEPTH_COMPONENT24}if(r===PixelDatatype$1.FLOAT)switch(e){case PixelFormat.RGBA:return WebGLConstants.WebGLConstants.RGBA32F;case PixelFormat.RGB:return WebGLConstants.WebGLConstants.RGB32F;case PixelFormat.RG:return WebGLConstants.WebGLConstants.RG32F;case PixelFormat.R:return WebGLConstants.WebGLConstants.R32F}if(r===PixelDatatype$1.HALF_FLOAT)switch(e){case PixelFormat.RGBA:return WebGLConstants.WebGLConstants.RGBA16F;case PixelFormat.RGB:return WebGLConstants.WebGLConstants.RGB16F;case PixelFormat.RG:return WebGLConstants.WebGLConstants.RG16F;case PixelFormat.R:return WebGLConstants.WebGLConstants.R16F}return e}},PixelFormat$1=Object.freeze(PixelFormat),Module,Module=Module||((void 0!==Module?Module:null)||{}),moduleOverrides={},key;for(key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1,nodeFS,nodePath,TRY_USE_DUMP,key;if(Module.ENVIRONMENT)if("WEB"===Module.ENVIRONMENT)ENVIRONMENT_IS_WEB=!0;else if("WORKER"===Module.ENVIRONMENT)ENVIRONMENT_IS_WORKER=!0;else if("NODE"===Module.ENVIRONMENT)ENVIRONMENT_IS_NODE=!0;else{if("SHELL"!==Module.ENVIRONMENT)throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");ENVIRONMENT_IS_SHELL=!0}else ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE)Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn),Module.read=function(e,r){nodeFS=nodeFS||require("fs"),e=(nodePath=nodePath||require("path")).normalize(e);e=nodeFS.readFileSync(e);return r?e:e.toString()},Module.readBinary=function(e){e=Module.read(e,!0);return e.buffer||(e=new Uint8Array(e)),assert(e.buffer),e},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(1<process.argv.length?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof ExitStatus))throw e}),Module.inspect=function(){return"[Emscripten Module object]"};else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));e=read(e,"binary");return assert("object"==typeof e),e},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments),"function"==typeof quit&&(Module.quit=function(e,r){quit(e)});else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console?(Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)})):(TRY_USE_DUMP=!1,Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})),ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(e,r){throw r}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){return tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"!==e[0])return 0;var r=parseInt(e.substr(1));return assert(r%8==0),r/8}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,r){return"double"===r||"i64"===r?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,r,t){return t||"i64"!=e&&"double"!=e?e?Math.min(r||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(r,8):8},dynCall:function(e,r,t){return t&&t.length?Module["dynCall_"+e].apply(null,[r].concat(t)):Module["dynCall_"+e].call(null,r)},functionPointers:[],addFunction:function(e){for(var r=0;r<Runtime.functionPointers.length;r++)if(!Runtime.functionPointers[r])return Runtime.functionPointers[r]=e,2*(1+r);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(r,t){assert(t),Runtime.funcWrappers[t]||(Runtime.funcWrappers[t]={});var e=Runtime.funcWrappers[t];return e[r]||(1===t.length?e[r]=function(){return Runtime.dynCall(t,r)}:2===t.length?e[r]=function(e){return Runtime.dynCall(t,r,[e])}:e[r]=function(){return Runtime.dynCall(t,r,Array.prototype.slice.call(arguments))}),e[r]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var r=STACKTOP;return STACKTOP=(STACKTOP=STACKTOP+e|0)+15&-16,r},staticAlloc:function(e){var r=STATICTOP;return STATICTOP=(STATICTOP=STATICTOP+e|0)+15&-16,r},dynamicAlloc:function(e){var r=HEAP32[DYNAMICTOP_PTR>>2],e=-16&(r+e+15|0);if((HEAP32[DYNAMICTOP_PTR>>2]=e,TOTAL_MEMORY<=e)&&!enlargeMemory())return HEAP32[DYNAMICTOP_PTR>>2]=r,0;return r},alignMemory:function(e,r){return e=Math.ceil(e/(r||16))*(r||16)},makeBigInt:function(e,r,t){return t?+(e>>>0)+4294967296*(r>>>0):+(e>>>0)+4294967296*(0|r)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,cwrap,ccall;function assert(e,r){e||abort("Assertion failed: "+r)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,r,t,n){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":HEAP8[e>>0]=r;break;case"i16":HEAP16[e>>1]=r;break;case"i32":HEAP32[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,1<=+Math_abs(tempDouble)?0<tempDouble?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=r;break;case"double":HEAPF64[e>>3]=r;break;default:abort("invalid type for setValue: "+t)}}function getValue(e,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+r)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var r=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,r),r},stringToC:function(e){var r,t=0;return null!=e&&0!==e&&(r=1+(e.length<<2),stringToUTF8(e,t=Runtime.stackAlloc(r),r)),t}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,t,n,i){var e=getCFunc(e),a=[],o=0;if(n)for(var u=0;u<n.length;u++){var f=toC[t[u]];f?(0===o&&(o=Runtime.stackSave()),a[u]=f(n[u])):a[u]=n[u]}e=e.apply(null,a);if("string"===r&&(e=Pointer_stringify(e)),0!==o){if(i&&i.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(o)});Runtime.stackRestore(o)}return e};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(e){e=e.toString().match(sourceRegex).slice(1);return{arguments:e[0],body:e[1],returnValue:e[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource)for(var e in JSsource={},JSfuncs)JSfuncs.hasOwnProperty(e)&&(JSsource[e]=parseJSFunc(JSfuncs[e]))}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return"number"===e}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,r){return"$"+r}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i],convertCode;"number"!==type&&(convertCode=JSsource[type+"ToC"],funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");")}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue,strgfy;return funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",numericRet||(strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue,funcstr+="ret = "+strgfy+"(ret);"),numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}}(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;function allocate(e,r,t,n){var i,a="number"==typeof e?(i=!0,e):(i=!1,e.length),o="string"==typeof r?r:null,u=t==ALLOC_NONE?n:["function"==typeof _malloc?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===t?ALLOC_STATIC:t](Math.max(a,o?1:r.length));if(i){var f,n=u;for(assert(0==(3&u)),f=u+(-4&a);n<f;n+=4)HEAP32[n>>2]=0;for(f=u+a;n<f;)HEAP8[n++>>0]=0;return u}if("i8"===o)return e.subarray||e.slice?HEAPU8.set(e,u):HEAPU8.set(new Uint8Array(e),u),u;for(var l,s,c,_=0;_<a;){var d=e[_];"function"==typeof d&&(d=Runtime.getFunctionIndex(d)),0!==(l=o||r[_])?("i64"==l&&(l="i32"),setValue(u+_,d,l),c!==l&&(s=Runtime.getNativeTypeSize(l),c=l),_+=s):_++}return u}function getMemory(e){return staticSealed?runtimeInitialized?_malloc(e):Runtime.dynamicAlloc(e):Runtime.staticAlloc(e)}function Pointer_stringify(e,r){if(0===r||!e)return"";for(var t,n=0,i=0;n|=t=HEAPU8[e+i>>0],(0!=t||r)&&(i++,!r||i!=r););r=r||i;var a="";if(n<128){for(var o;0<r;)o=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(r,1024))),a=a?a+o:o,e+=1024,r-=1024;return a}return Module.UTF8ToString(e)}function AsciiToString(e){for(var r="";;){var t=HEAP8[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}}function stringToAscii(e,r){return writeAsciiToMemory(e,r,!1)}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii;var UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(e,r){for(var t=r;e[t];)++t;if(16<t-r&&e.subarray&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(r,t));for(var n,i,a,o,u,f="";;){if(!(o=e[r++]))return f;128&o?(u=63&e[r++],192!=(224&o)?(a=63&e[r++],(o=224==(240&o)?(15&o)<<12|u<<6|a:(n=63&e[r++],240==(248&o)?(7&o)<<18|u<<12|a<<6|n:(i=63&e[r++],248==(252&o)?(3&o)<<24|u<<18|a<<12|n<<6|i:(1&o)<<30|u<<24|a<<18|n<<12|i<<6|63&e[r++])))<65536?f+=String.fromCharCode(o):(i=o-65536,f+=String.fromCharCode(55296|i>>10,56320|1023&i))):f+=String.fromCharCode((31&o)<<6|u)):f+=String.fromCharCode(o)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,r,t,n){if(!(0<n))return 0;for(var i=t,a=t+n-1,o=0;o<e.length;++o){var u=e.charCodeAt(o);if(55296<=u&&u<=57343&&(u=65536+((1023&u)<<10)|1023&e.charCodeAt(++o)),u<=127){if(a<=t)break;r[t++]=u}else if(u<=2047){if(a<=t+1)break;r[t++]=192|u>>6,r[t++]=128|63&u}else if(u<=65535){if(a<=t+2)break;r[t++]=224|u>>12,r[t++]=128|u>>6&63,r[t++]=128|63&u}else if(u<=2097151){if(a<=t+3)break;r[t++]=240|u>>18,r[t++]=128|u>>12&63,r[t++]=128|u>>6&63,r[t++]=128|63&u}else if(u<=67108863){if(a<=t+4)break;r[t++]=248|u>>24,r[t++]=128|u>>18&63,r[t++]=128|u>>12&63,r[t++]=128|u>>6&63,r[t++]=128|63&u}else{if(a<=t+5)break;r[t++]=252|u>>30,r[t++]=128|u>>24&63,r[t++]=128|u>>18&63,r[t++]=128|u>>12&63,r[t++]=128|u>>6&63,r[t++]=128|63&u}}return r[t]=0,t-i}function stringToUTF8(e,r,t){return stringToUTF8Array(e,HEAPU8,r,t)}function lengthBytesUTF8(e){for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);55296<=n&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++t)),n<=127?++r:r+=n<=2047?2:n<=65535?3:n<=2097151?4:n<=67108863?5:6}return r}Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function demangle(e){var r=Module.___cxa_demangle||Module.__cxa_demangle;if(r){try{var t=e.substr(1),n=lengthBytesUTF8(t)+1,i=_malloc(n);stringToUTF8(t,i,n);var a=_malloc(4),o=r(i,0,0,a);if(0===getValue(a,"i32")&&o)return Pointer_stringify(o)}catch(e){}finally{i&&_free(i),a&&_free(a),o&&_free(o)}return e}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var r=demangle(e);return e===r?e:e+" ["+r+"]"})}function jsStackTrace(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(e){r=e}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function stackTrace(){var e=jsStackTrace();return Module.extraStackTrace&&(e+="\n"+Module.extraStackTrace()),demangleAll(e)}Module.stackTrace=stackTrace;var WASM_PAGE_SIZE=65536,ASMJS_PAGE_SIZE=16777216,MIN_TOTAL_MEMORY=16777216,HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR,byteLength;function alignUp(e,r){return 0<e%r&&(e+=r-e%r),e}function updateGlobalBuffer(e){Module.buffer=buffer=e}function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){var e=Module.usingWasm?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE,r=2147483648-e;if(HEAP32[DYNAMICTOP_PTR>>2]>r)return!1;var t=TOTAL_MEMORY;for(TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);TOTAL_MEMORY<HEAP32[DYNAMICTOP_PTR>>2];)TOTAL_MEMORY=TOTAL_MEMORY<=536870912?alignUp(2*TOTAL_MEMORY,e):Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,e),r);var n=Module.reallocBuffer(TOTAL_MEMORY);return n&&n.byteLength==TOTAL_MEMORY?(updateGlobalBuffer(n),updateGlobalBufferViews(),!0):(TOTAL_MEMORY=t,!1)}STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1,Module.reallocBuffer||(Module.reallocBuffer=function(e){var r,t;try{ArrayBuffer.transfer?t=ArrayBuffer.transfer(buffer,e):(r=HEAP8,t=new ArrayBuffer(e),new Int8Array(t).set(r))}catch(e){return!1}return!!_emscripten_replace_memory(t)&&t});try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216;function getTotalMemory(){return TOTAL_MEMORY}if(TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),buffer=Module.buffer||new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews(),HEAP32[0]=1668509029,HEAP16[1]=25459,115!==HEAPU8[2]||99!==HEAPU8[3])throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(e){for(;0<e.length;){var r,t=e.shift();"function"!=typeof t?"number"==typeof(r=t.func)?void 0===t.arg?Module.dynCall_v(r):Module.dynCall_vi(r,t.arg):r(void 0===t.arg?null:t.arg):t()}}Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__)}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,r,t){t=0<t?t:lengthBytesUTF8(e)+1,t=new Array(t),e=stringToUTF8Array(e,t,0,t.length);return r&&(t.length=e),t}function intArrayToString(e){for(var r=[],t=0;t<e.length;t++){var n=e[t];255<n&&(n&=255),r.push(String.fromCharCode(n))}return r.join("")}function writeStringToMemory(e,r,t){var n,i;Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!"),t&&(i=r+lengthBytesUTF8(e),n=HEAP8[i]),stringToUTF8(e,r,1/0),t&&(HEAP8[i]=n)}function writeArrayToMemory(e,r){HEAP8.set(e,r)}function writeAsciiToMemory(e,r,t){for(var n=0;n<e.length;++n)HEAP8[r++>>0]=e.charCodeAt(n);t||(HEAP8[r>>0]=0)}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var t=65535&e,n=65535&r;return t*n+((e>>>16)*n+t*(r>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;r<32;r++)if(e&1<<31-r)return r;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_min=Math.min,runDependencies=0,dependenciesFulfilled=null;function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){var r;runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&dependenciesFulfilled&&(r=dependenciesFulfilled,dependenciesFulfilled=null,r())}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={},STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+6192,__ATINIT__.push(),allocate([228,2,0,0,81,16,0,0,12,3,0,0,177,16,0,0,32,0,0,0,0,0,0,0,12,3,0,0,94,16,0,0,48,0,0,0,0,0,0,0,228,2,0,0,127,16,0,0,12,3,0,0,140,16,0,0,16,0,0,0,0,0,0,0,12,3,0,0,183,17,0,0,32,0,0,0,0,0,0,0,12,3,0,0,147,17,0,0,72,0,0,0,0,0,0,0,108,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,32,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,40,20,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,56,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,37,115,40,37,117,41,58,32,65,115,115,101,114,116,105,111,110,32,102,97,105,108,117,114,101,58,32,34,37,115,34,10,0,109,95,115,105,122,101,32,60,61,32,109,95,99,97,112,97,99,105,116,121,0,46,47,105,110,99,92,99,114,110,95,100,101,99,111,109,112,46,104,0,109,105,110,95,110,101,119,95,99,97,112,97,99,105,116,121,32,60,32,40,48,120,55,70,70,70,48,48,48,48,85,32,47,32,101,108,101,109,101,110,116,95,115,105,122,101,41,0,110,101,119,95,99,97,112,97,99,105,116,121,32,38,38,32,40,110,101,119,95,99,97,112,97,99,105,116,121,32,62,32,109,95,99,97,112,97,99,105,116,121,41,0,110,117,109,95,99,111,100,101,115,91,99,93,0,115,111,114,116,101,100,95,112,111,115,32,60,32,116,111,116,97,108,95,117,115,101,100,95,115,121,109,115,0,112,67,111,100,101,115,105,122,101,115,91,115,121,109,95,105,110,100,101,120,93,32,61,61,32,99,111,100,101,115,105,122,101,0,116,32,60,32,40,49,85,32,60,60,32,116,97,98,108,101,95,98,105,116,115,41,0,109,95,108,111,111,107,117,112,91,116,93,32,61,61,32,99,85,73,78,84,51,50,95,77,65,88,0,99,114,110,100,95,109,97,108,108,111,99,58,32,115,105,122,101,32,116,111,111,32,98,105,103,0,99,114,110,100,95,109,97,108,108,111,99,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,0,40,40,117,105,110,116,51,50,41,112,95,110,101,119,32,38,32,40,67,82,78,68,95,77,73,78,95,65,76,76,79,67,95,65,76,73,71,78,77,69,78,84,32,45,32,49,41,41,32,61,61,32,48,0,99,114,110,100,95,114,101,97,108,108,111,99,58,32,98,97,100,32,112,116,114,0,99,114,110,100,95,102,114,101,101,58,32,98,97,100,32,112,116,114,0,102,97,108,115,101,0,40,116,111,116,97,108,95,115,121,109,115,32,62,61,32,49,41,32,38,38,32,40,116,111,116,97,108,95,115,121,109,115,32,60,61,32,112,114,101,102,105,120,95,99,111,100,105,110,103,58,58,99,77,97,120,83,117,112,112,111,114,116,101,100,83,121,109,115,41,0,17,18,19,20,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,16,48,0,110,117,109,95,98,105,116,115,32,60,61,32,51,50,85,0,109,95,98,105,116,95,99,111,117,110,116,32,60,61,32,99,66,105,116,66,117,102,83,105,122,101,0,116,32,33,61,32,99,85,73,78,84,51,50,95,77,65,88,0,109,111,100,101,108,46,109,95,99,111,100,101,95,115,105,122,101,115,91,115,121,109,93,32,61,61,32,108,101,110,0,0,2,3,1,0,2,3,4,5,6,7,1,40,108,101,110,32,62,61,32,49,41,32,38,38,32,40,108,101,110,32,60,61,32,99,77,97,120,69,120,112,101,99,116,101,100,67,111,100,101,83,105,122,101,41,0,105,32,60,32,109,95,115,105,122,101,0,110,101,120,116,95,108,101,118,101,108,95,111,102,115,32,62,32,99,117,114,95,108,101,118,101,108,95,111,102,115,0,1,2,2,3,3,3,3,4,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,2,1,2,0,0,0,1,0,2,1,0,2,0,0,1,2,3,110,117,109,32,38,38,32,40,110,117,109,32,61,61,32,126,110,117,109,95,99,104,101,99,107,41,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,83,116,57,101,120,99,101,112,116,105,111,110,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;function _abort(){Module.abort()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}STATICTOP+=16;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var r in EXCEPTIONS.infos)if(EXCEPTIONS.infos[r].adjusted===e)return r;return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){var r;e&&(assert(0<(r=EXCEPTIONS.infos[e]).refcount),r.refcount--,0!==r.refcount||r.rethrown||(r.destructor&&Module.dynCall_vi(r.destructor,e),delete EXCEPTIONS.infos[e],___cxa_free_exception(e)))},clearRef:function(e){e&&(EXCEPTIONS.infos[e].refcount=0)}};function ___cxa_begin_catch(e){var r=EXCEPTIONS.infos[e];return r&&!r.caught&&(r.caught=!0,__ZSt18uncaught_exceptionv.uncaught_exception--),r&&(r.rethrown=!1),EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _pthread_once(e,r){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Module.dynCall_v(r),_pthread_once.seen[e]=1)}function _emscripten_memcpy_big(e,r,t){return HEAPU8.set(HEAPU8.subarray(r,r+t),e),e}var SYSCALLS={varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),r=SYSCALLS.get();return assert(0<=e?0===r:-1===r),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall6(e,r){SYSCALLS.varargs=r;try{var t=SYSCALLS.getStreamFromFD();return FS.close(t),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC),PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var PTHREAD_SPECIFIC_NEXT_KEY=1,ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _pthread_key_create(e,r){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(Runtime.setTempRet0(0),0);var r=EXCEPTIONS.infos[e],t=r.type;if(!t)return 0|(Runtime.setTempRet0(0),e);var n=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(t);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var i=0;i<n.length;i++)if(n[i]&&Module.___cxa_can_catch(n[i],t,e))return e=HEAP32[e>>2],r.adjusted=e,0|(Runtime.setTempRet0(n[i]),e);return e=HEAP32[e>>2],0|(Runtime.setTempRet0(t),e)}function ___gxx_personality_v0(){}function _pthread_setspecific(e,r){return e in PTHREAD_SPECIFIC?(PTHREAD_SPECIFIC[e]=r,0):ERRNO_CODES.EINVAL}function ___syscall140(e,r){SYSCALLS.varargs=r;try{var t=SYSCALLS.getStreamFromFD(),n=(SYSCALLS.get(),SYSCALLS.get()),i=SYSCALLS.get(),a=SYSCALLS.get(),n=n;return FS.llseek(t,n,a),HEAP32[i>>2]=t.position,t.getdents&&0===n&&0===a&&(t.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,r){SYSCALLS.varargs=r;try{var t=SYSCALLS.get(),n=SYSCALLS.get(),i=SYSCALLS.get(),a=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(e,r){var t=___syscall146.buffers[e];assert(t),0===r||10===r?((1===e?Module.print:Module.printErr)(UTF8ArrayToString(t,0)),t.length=0):t.push(r)});for(var o=0;o<i;o++){for(var u=HEAP32[n+8*o>>2],f=HEAP32[n+(8*o+4)>>2],l=0;l<f;l++)___syscall146.printChar(t,HEAPU8[u+l]);a+=f}return a}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall54(e,r){SYSCALLS.varargs=r;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function invoke_iiii(e,r,t,n){try{return Module.dynCall_iiii(e,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiiii(e,r,t,n,i,a){try{Module.dynCall_viiiii(e,r,t,n,i,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_vi(e,r){try{Module.dynCall_vi(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_ii(e,r){try{return Module.dynCall_ii(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viii(e,r,t,n){try{Module.dynCall_viii(e,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiiiii(e,r,t,n,i,a,o){try{Module.dynCall_viiiiii(e,r,t,n,i,a,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiii(e,r,t,n,i){try{Module.dynCall_viiii(e,r,t,n,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}__ATEXIT__.push(function(){var e=Module._fflush;e&&e(0);var r=___syscall146.printChar;r&&((e=___syscall146.buffers)[1].length&&r(1,10),e[2].length&&r(2,10))}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0,Module.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0,byteLength:byteLength},Module.asmLibraryArg={abort:abort,assert:assert,enlargeMemory:enlargeMemory,getTotalMemory:getTotalMemory,abortOnCannotGrowMemory:abortOnCannotGrowMemory,invoke_iiii:invoke_iiii,invoke_viiiii:invoke_viiiii,invoke_vi:invoke_vi,invoke_ii:invoke_ii,invoke_viii:invoke_viii,invoke_v:invoke_v,invoke_viiiiii:invoke_viiiiii,invoke_viiii:invoke_viiii,_pthread_getspecific:_pthread_getspecific,___syscall54:___syscall54,_pthread_setspecific:_pthread_setspecific,___gxx_personality_v0:___gxx_personality_v0,___syscall6:___syscall6,___setErrNo:___setErrNo,_abort:_abort,___cxa_begin_catch:___cxa_begin_catch,_pthread_once:_pthread_once,_emscripten_memcpy_big:_emscripten_memcpy_big,_pthread_key_create:_pthread_key_create,___syscall140:___syscall140,___resumeException:___resumeException,___cxa_find_matching_catch:___cxa_find_matching_catch,___syscall146:___syscall146,__ZSt18uncaught_exceptionv:__ZSt18uncaught_exceptionv,DYNAMICTOP_PTR:DYNAMICTOP_PTR,tempDoublePtr:tempDoublePtr,ABORT:ABORT,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,cttz_i8:cttz_i8};var asm=function(e,r,t){var n=e.Int8Array,ce=new n(t),i=e.Int16Array,W=new i(t),a=e.Int32Array,_e=new a(t),o=e.Uint8Array,de=new o(t),u=e.Uint16Array,Ee=new u(t),f=e.Uint32Array,l=(new f(t),e.Float32Array),s=(new l(t),e.Float64Array),v=new s(t),c=e.byteLength,_=0|r.DYNAMICTOP_PTR,g=0|r.tempDoublePtr,Te=(r.ABORT,0|r.STACKTOP),d=(r.STACK_MAX,0|r.cttz_i8),L=(e.NaN,e.Infinity,0),ie=(e.Math.floor,e.Math.abs,e.Math.sqrt,e.Math.pow,e.Math.cos,e.Math.sin,e.Math.tan,e.Math.acos,e.Math.asin,e.Math.atan,e.Math.atan2,e.Math.exp,e.Math.log,e.Math.ceil,e.Math.imul),T=(e.Math.min,e.Math.max,e.Math.clz32),E=r.abort,A=(r.assert,r.enlargeMemory),b=r.getTotalMemory,M=r.abortOnCannotGrowMemory,m=(r.invoke_iiii,r.invoke_viiiii,r.invoke_vi,r.invoke_ii,r.invoke_viii,r.invoke_v,r.invoke_viiiiii,r.invoke_viiii,r._pthread_getspecific),S=r.___syscall54,h=r._pthread_setspecific,R=(r.___gxx_personality_v0,r.___syscall6),P=r.___setErrNo,p=r._abort,C=(r.___cxa_begin_catch,r._pthread_once),N=r._emscripten_memcpy_big,y=r._pthread_key_create,O=r.___syscall140,k=(r.___resumeException,r.___cxa_find_matching_catch,r.___syscall146);r.__ZSt18uncaught_exceptionv;function I(e){e|=0;var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0,l=0,s=0,c=0,_=0,d=0,E=0,T=0,A=0,b=0,M=0,m=0,S=0,h=Te;Te=Te+16|0,_=h;do{if(e>>>0<245){if(e=(l=e>>>0<11?16:e+11&-8)>>>3,3&(t=(c=0|_e[1144])>>>e)|0)return n=0|_e[(t=(e=4616+((r=(1&t^1)+e|0)<<1<<2)|0)+8|0)>>2],(0|e)==(0|(a=0|_e[(i=n+8|0)>>2]))?_e[1144]=c&~(1<<r):(_e[a+12>>2]=e,_e[t>>2]=a),S=r<<3,_e[n+4>>2]=3|S,_e[(S=n+S+4|0)>>2]=1|_e[S>>2],Te=h,0|(S=i);if((s=0|_e[1146])>>>0<l>>>0){if(0|t)return r=((r=t<<e&((r=2<<e)|0-r))&0-r)-1|0,i=0|_e[(e=(r=4616+((n=((t=(r>>>=o=r>>>12&16)>>>5&8)|o|(i=(r>>>=t)>>>2&4)|(e=(r>>>=i)>>>1&2)|(n=(r>>>=e)>>>1&1))+(r>>>n)|0)<<1<<2)|0)+8|0)>>2],(0|r)==(0|(t=0|_e[(o=i+8|0)>>2]))?(e=c&~(1<<n),_e[1144]=e):(_e[t+12>>2]=r,_e[e>>2]=t,e=c),a=(n<<3)-l|0,_e[i+4>>2]=3|l,_e[(n=i+l|0)+4>>2]=1|a,_e[n+a>>2]=a,0|s&&(i=0|_e[1149],t=4616+((r=s>>>3)<<1<<2)|0,e&(r=1<<r)?r=0|_e[(e=t+8|0)>>2]:(_e[1144]=e|r,e=(r=t)+8|0),_e[e>>2]=i,_e[r+12>>2]=i,_e[i+8>>2]=r,_e[i+12>>2]=t),_e[1146]=a,_e[1149]=n,Te=h,0|(S=o);if(u=0|_e[1145]){if(t=(u&0-u)-1|0,e=0|_e[4880+(((a=(t>>>=o=t>>>12&16)>>>5&8)|o|(f=(t>>>=a)>>>2&4)|(n=(t>>>=f)>>>1&2)|(e=(t>>>=n)>>>1&1))+(t>>>e)<<2)>>2],t=(-8&_e[e+4>>2])-l|0,n=0|_e[e+16+((0==(0|_e[e+16>>2])&1)<<2)>>2]){for(;t=(f=(o=(-8&_e[n+4>>2])-l|0)>>>0<t>>>0)?o:t,e=f?n:e,n=0|_e[n+16+((0==(0|_e[n+16>>2])&1)<<2)>>2],0!=(0|n););f=e,a=t}else f=e,a=t;if(f>>>0<(o=f+l|0)>>>0){i=0|_e[f+24>>2],r=0|_e[f+12>>2];do{if((0|r)==(0|f)){if(e=f+20|0,r=0|_e[e>>2],!r&&!(r=0|_e[(e=f+16|0)>>2])){t=0;break}for(;;)if(0|(n=0|_e[(t=r+20|0)>>2]))r=n,e=t;else{if(!(n=0|_e[(t=r+16|0)>>2]))break;r=n,e=t}_e[e>>2]=0,t=r}else t=0|_e[f+8>>2],_e[t+12>>2]=r,_e[r+8>>2]=t,t=r}while(0);do{if(0|i){if(r=0|_e[f+28>>2],(0|f)==(0|_e[(e=4880+(r<<2)|0)>>2])){if(!(_e[e>>2]=t)){_e[1145]=u&~(1<<r);break}}else if(!(_e[i+16+(((0|_e[i+16>>2])!=(0|f)&1)<<2)>>2]=t))break;_e[t+24>>2]=i,0|(r=0|_e[f+16>>2])&&(_e[t+16>>2]=r,_e[r+24>>2]=t),0|(r=0|_e[f+20>>2])&&(_e[t+20>>2]=r,_e[r+24>>2]=t)}}while(0);return a>>>0<16?(S=a+l|0,_e[f+4>>2]=3|S,_e[(S=f+S+4|0)>>2]=1|_e[S>>2]):(_e[f+4>>2]=3|l,_e[o+4>>2]=1|a,_e[o+a>>2]=a,0|s&&(n=0|_e[1149],t=4616+((r=s>>>3)<<1<<2)|0,c&(r=1<<r)?r=0|_e[(e=t+8|0)>>2]:(_e[1144]=c|r,e=(r=t)+8|0),_e[e>>2]=n,_e[r+12>>2]=n,_e[n+8>>2]=r,_e[n+12>>2]=t),_e[1146]=a,_e[1149]=o),Te=h,0|(S=f+8|0)}c=l}else c=l}else c=l}else if(e>>>0<=4294967231)if(l=-8&(e=e+11|0),f=0|_e[1145]){n=0-l|0,u=(e>>>=8)?16777215<l>>>0?31:l>>>((u=14-((s=((m=e<<(c=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|c|(u=((m<<=s)+245760|0)>>>16&2))+(m<<u>>>15)|0)+7|0)&1|u<<1:0,t=0|_e[4880+(u<<2)>>2];e:do{if(t)for(o=l<<(31==((e=0)|u)?0:25-(u>>>1)|0),a=0;;){if((i=(-8&_e[t+4>>2])-l|0)>>>0<n>>>0){if(!i){n=0,i=e=t,m=61;break e}e=t,n=i}if(a=0==(0|(i=0|_e[t+20>>2]))|(0|i)==(0|(t=0|_e[t+16+(o>>>31<<2)>>2]))?a:i,i=0==(0|t)){t=a,m=57;break}o<<=1&(1^i)}else e=t=0,m=57}while(0);if(57==(0|m)){if(0==(0|t)&0==(0|e)){if(!(e=f&((e=2<<u)|0-e))){c=l;break}c=(e&0-e)-1|0,t=(e=0)|_e[4880+(((a=(c>>>=o=c>>>12&16)>>>5&8)|o|(u=(c>>>=a)>>>2&4)|(s=(c>>>=u)>>>1&2)|(t=(c>>>=s)>>>1&1))+(c>>>t)<<2)>>2]}t?(i=t,m=61):(u=e,o=n)}if(61==(0|m))for(;;){if(m=0,t=(c=(t=(-8&_e[i+4>>2])-l|0)>>>0<n>>>0)?t:n,e=c?i:e,!(i=0|_e[i+16+((0==(0|_e[i+16>>2])&1)<<2)>>2])){u=e,o=t;break}n=t,m=61}if(0!=(0|u)&&o>>>0<((0|_e[1146])-l|0)>>>0){if((a=u+l|0)>>>0<=u>>>0)return Te=h,(S=0)|S;i=0|_e[u+24>>2],r=0|_e[u+12>>2];do{if((0|r)==(0|u)){if(e=u+20|0,r=0|_e[e>>2],!r&&!(r=0|_e[(e=u+16|0)>>2])){r=0;break}for(;;)if(0|(n=0|_e[(t=r+20|0)>>2]))r=n,e=t;else{if(!(n=0|_e[(t=r+16|0)>>2]))break;r=n,e=t}_e[e>>2]=0}else S=0|_e[u+8>>2],_e[S+12>>2]=r,_e[r+8>>2]=S}while(0);do{if(i){if(e=0|_e[u+28>>2],(0|u)==(0|_e[(t=4880+(e<<2)|0)>>2])){if(!(_e[t>>2]=r)){n=f&~(1<<e),_e[1145]=n;break}}else if(!(_e[i+16+(((0|_e[i+16>>2])!=(0|u)&1)<<2)>>2]=r)){n=f;break}_e[r+24>>2]=i,0|(e=0|_e[u+16>>2])&&(_e[r+16>>2]=e,_e[e+24>>2]=r),n=((e=0|_e[u+20>>2])&&(_e[r+20>>2]=e,_e[e+24>>2]=r),f)}else n=f}while(0);do{if(16<=o>>>0){if(_e[u+4>>2]=3|l,_e[a+4>>2]=1|o,r=(_e[a+o>>2]=o)>>>3,o>>>0<256){t=4616+(r<<1<<2)|0,(e=0|_e[1144])&(r=1<<r)?r=0|_e[(e=t+8|0)>>2]:(_e[1144]=e|r,e=(r=t)+8|0),_e[e>>2]=a,_e[r+12>>2]=a,_e[a+8>>2]=r,_e[a+12>>2]=t;break}if(t=4880+((r=(r=o>>>8)?16777215<o>>>0?31:o>>>((r=14-((M=((S=r<<(m=(r+1048320|0)>>>16&8))+520192|0)>>>16&4)|m|(r=((S<<=M)+245760|0)>>>16&2))+(S<<r>>>15)|0)+7|0)&1|r<<1:0)<<2)|0,_e[a+28>>2]=r,_e[(e=a+16|0)+4>>2]=0,_e[e>>2]=0,!(n&(e=1<<r))){_e[1145]=n|e,_e[t>>2]=a,_e[a+24>>2]=t,_e[a+12>>2]=a,_e[a+8>>2]=a;break}for(e=o<<(31==(0|r)?0:25-(r>>>1)|0),t=0|_e[t>>2];;){if((-8&_e[t+4>>2]|0)==(0|o)){m=97;break}if(!(r=0|_e[(n=t+16+(e>>>31<<2)|0)>>2])){m=96;break}e<<=1,t=r}if(96==(0|m)){_e[n>>2]=a,_e[a+24>>2]=t,_e[a+12>>2]=a,_e[a+8>>2]=a;break}if(97==(0|m)){S=0|_e[(m=t+8|0)>>2],_e[S+12>>2]=a,_e[m>>2]=a,_e[a+8>>2]=S,_e[a+12>>2]=t,_e[a+24>>2]=0;break}}else S=o+l|0,_e[u+4>>2]=3|S,_e[(S=u+S+4|0)>>2]=1|_e[S>>2]}while(0);return Te=h,0|(S=u+8|0)}c=l}else c=l;else c=-1}while(0);if(c>>>0<=(t=0|_e[1146])>>>0)return r=t-c|0,e=0|_e[1149],15<r>>>0?(S=e+c|0,_e[1149]=S,_e[1146]=r,_e[S+4>>2]=1|r,_e[S+r>>2]=r,_e[e+4>>2]=3|c):(_e[1146]=0,_e[1149]=0,_e[e+4>>2]=3|t,_e[(S=e+t+4|0)>>2]=1|_e[S>>2]),Te=h,0|(S=e+8|0);if(c>>>0<(o=0|_e[1147])>>>0)return M=o-c|0,_e[1147]=M,m=(S=0|_e[1150])+c|0,_e[1150]=m,_e[m+4>>2]=1|M,_e[S+4>>2]=3|c,Te=h,0|(S=S+8|0);if(u=c+48|0,(l=(a=(e=0|_e[1262]?0|_e[1264]:(_e[1264]=4096,_e[1263]=4096,_e[1265]=-1,_e[1266]=-1,_e[1267]=0,_e[1255]=0,e=-16&_^1431655768,_e[_>>2]=e,_e[1262]=e,4096))+(f=c+47|0)|0)&(i=0-e|0))>>>0<=c>>>0)return Te=h,(S=0)|S;if(0|(e=0|_e[1254])&&(_=(s=0|_e[1252])+l|0)>>>0<=s>>>0|e>>>0<_>>>0)return Te=h,(S=0)|S;e:do{if(4&_e[1255])r=0,m=133;else{t=0|_e[1150];r:do{if(t){for(n=5024;!((e=0|_e[n>>2])>>>0<=t>>>0&&(e+(0|_e[(T=n+4|0)>>2])|0)>>>0>t>>>0);){if(!(e=0|_e[n+8>>2])){m=118;break r}n=e}if((r=a-o&i)>>>0<2147483647)if((0|(e=0|me(0|r)))==((0|_e[n>>2])+(0|_e[T>>2])|0)){if(-1!=(0|e)){o=r,a=e,m=135;break e}}else n=e,m=126;else r=0}else m=118}while(0);do{if(118==(0|m))if(-1!=(0|(t=0|me(0)))&&(r=t,E=(r=(0==((E=(d=0|_e[1263])+-1|0)&r|0)?0:(E+r&0-d)-r|0)+l|0)+(d=0|_e[1252])|0,c>>>0<r>>>0&r>>>0<2147483647)){if(0|(T=0|_e[1254])&&E>>>0<=d>>>0|T>>>0<E>>>0){r=0;break}if((0|(e=0|me(0|r)))==(0|t)){o=r,a=t,m=135;break e}n=e,m=126}else r=0}while(0);do{if(126==(0|m)){if(t=0-r|0,!(r>>>0<u>>>0&r>>>0<2147483647&-1!=(0|n))){if(-1==(0|n)){r=0;break}o=r,a=n,m=135;break e}if(2147483647<=(e=f-r+(e=0|_e[1264])&0-e)>>>0){o=r,a=n,m=135;break e}if(-1==(0|me(0|e))){me(0|t),r=0;break}o=e+r|0,a=n,m=135;break e}}while(0);_e[1255]=4|_e[1255],m=133}}while(0);if(133==(0|m)&&l>>>0<2147483647&&!(-1==(0|(M=0|me(0|l)))|1^(b=(c+40|0)>>>0<(A=(T=0|me(0))-M|0)>>>0)|M>>>0<T>>>0&-1!=(0|M)&-1!=(0|T)^1)&&(o=b?A:r,a=M,m=135),135==(0|m)){r=(0|_e[1252])+o|0,(_e[1252]=r)>>>0>(0|_e[1253])>>>0&&(_e[1253]=r),f=0|_e[1150];do{if(f){for(r=5024;;){if((0|a)==((e=0|_e[r>>2])+(n=0|_e[(t=r+4|0)>>2])|0)){m=145;break}if(!(i=0|_e[r+8>>2]))break;r=i}if(145==(0|m)&&0==(8&_e[r+12>>2]|0)&&f>>>0<a>>>0&e>>>0<=f>>>0){_e[t>>2]=n+o,m=f+(S=0==(7&(S=f+8|0)|0)?0:0-S&7)|0,S=(0|_e[1147])+(o-S)|0,_e[1150]=m,_e[1147]=S,_e[m+4>>2]=1|S,_e[m+S+4>>2]=40,_e[1151]=_e[1266];break}for(a>>>0<(0|_e[1148])>>>0&&(_e[1148]=a),t=a+o|0,r=5024;;){if((0|_e[r>>2])==(0|t)){m=153;break}if(!(e=0|_e[r+8>>2]))break;r=e}if(153==(0|m)&&0==(8&_e[r+12>>2]|0)){_e[r>>2]=a,_e[(s=r+4|0)>>2]=(0|_e[s>>2])+o,l=(s=a+(0==(7&(s=a+8|0)|0)?0:0-s&7)|0)+c|0,u=(r=t+(0==(7&(r=t+8|0)|0)?0:0-r&7)|0)-s-c|0,_e[s+4>>2]=3|c;do{if((0|r)!=(0|f)){if((0|r)==(0|_e[1149])){S=(0|_e[1146])+u|0,_e[1146]=S,_e[1149]=l,_e[l+4>>2]=1|S,_e[l+S>>2]=S;break}if(1==(3&(e=0|_e[r+4>>2])|0)){o=-8&e,n=e>>>3;e:do{if(e>>>0<256){if(e=0|_e[r+8>>2],(0|(t=0|_e[r+12>>2]))==(0|e)){_e[1144]=_e[1144]&~(1<<n);break}_e[e+12>>2]=t,_e[t+8>>2]=e;break}a=0|_e[r+24>>2],e=0|_e[r+12>>2];do{if((0|e)==(0|r)){if(!(e=0|_e[(t=(n=r+16|0)+4|0)>>2])){if(!(e=0|_e[n>>2])){e=0;break}t=n}for(;;)if(0|(i=0|_e[(n=e+20|0)>>2]))e=i,t=n;else{if(!(i=0|_e[(n=e+16|0)>>2]))break;e=i,t=n}_e[t>>2]=0}else S=0|_e[r+8>>2],_e[S+12>>2]=e,_e[e+8>>2]=S}while(0);if(!a)break;n=4880+((t=0|_e[r+28>>2])<<2)|0;do{if((0|r)==(0|_e[n>>2])){if(0|(_e[n>>2]=e))break;_e[1145]=_e[1145]&~(1<<t);break e}if(!(_e[a+16+(((0|_e[a+16>>2])!=(0|r)&1)<<2)>>2]=e))break e}while(0)}while((_e[e+24>>2]=a,0|(n=0|_e[(t=r+16|0)>>2])&&(_e[e+16>>2]=n,_e[n+24>>2]=e),t=0|_e[t+4>>2])&&(_e[e+20>>2]=t,_e[t+24>>2]=e,0));r=r+o|0,i=o+u|0}else i=u;if(_e[(r=r+4|0)>>2]=-2&_e[r>>2],_e[l+4>>2]=1|i,r=(_e[l+i>>2]=i)>>>3,i>>>0<256){t=4616+(r<<1<<2)|0,(e=0|_e[1144])&(r=1<<r)?r=0|_e[(e=t+8|0)>>2]:(_e[1144]=e|r,e=(r=t)+8|0),_e[e>>2]=l,_e[r+12>>2]=l,_e[l+8>>2]=r,_e[l+12>>2]=t;break}r=i>>>8;do{if(r){if(16777215<i>>>0){r=31;break}r=i>>>((r=14-((M=((S=r<<(m=(r+1048320|0)>>>16&8))+520192|0)>>>16&4)|m|(r=((S<<=M)+245760|0)>>>16&2))+(S<<r>>>15)|0)+7|0)&1|r<<1}else r=0}while(0);if(n=4880+(r<<2)|0,_e[l+28>>2]=r,_e[(e=l+16|0)+4>>2]=0,!((e=(_e[e>>2]=0)|_e[1145])&(t=1<<r))){_e[1145]=e|t,_e[n>>2]=l,_e[l+24>>2]=n,_e[l+12>>2]=l,_e[l+8>>2]=l;break}for(e=i<<(31==(0|r)?0:25-(r>>>1)|0),t=0|_e[n>>2];;){if((-8&_e[t+4>>2]|0)==(0|i)){m=194;break}if(!(r=0|_e[(n=t+16+(e>>>31<<2)|0)>>2])){m=193;break}e<<=1,t=r}if(193==(0|m)){_e[n>>2]=l,_e[l+24>>2]=t,_e[l+12>>2]=l,_e[l+8>>2]=l;break}if(194==(0|m)){S=0|_e[(m=t+8|0)>>2],_e[S+12>>2]=l,_e[m>>2]=l,_e[l+8>>2]=S,_e[l+12>>2]=t,_e[l+24>>2]=0;break}}else S=(0|_e[1147])+u|0,_e[1147]=S,_e[1150]=l,_e[l+4>>2]=1|S}while(0);return Te=h,0|(S=s+8|0)}for(r=5024;!((e=0|_e[r>>2])>>>0<=f>>>0&&f>>>0<(S=e+(0|_e[r+4>>2])|0)>>>0);)r=0|_e[r+8>>2];for(i=S+-47|0,e=i+8|0,e=i+(0==(7&e|0)?0:0-e&7)|0,i=f+16|0,e=e>>>0<i>>>0?f:e,r=e+8|0,t=a+8|0,t=0==(7&t|0)?0:0-t&7,m=a+t|0,t=o+-40-t|0,_e[1150]=m,_e[1147]=t,_e[m+4>>2]=1|t,_e[m+t+4>>2]=40,_e[1151]=_e[1266],t=e+4|0,_e[t>>2]=27,_e[r>>2]=_e[1256],_e[r+4>>2]=_e[1257],_e[r+8>>2]=_e[1258],_e[r+12>>2]=_e[1259],_e[1256]=a,_e[1257]=o,_e[1259]=0,_e[1258]=r,r=e+24|0;_e[(r=(m=r)+4|0)>>2]=7,(m+8|0)>>>0<S>>>0;);if((0|e)!=(0|f)){if(a=e-f|0,_e[t>>2]=-2&_e[t>>2],_e[f+4>>2]=1|a,r=(_e[e>>2]=a)>>>3,a>>>0<256){t=4616+(r<<1<<2)|0,(e=0|_e[1144])&(r=1<<r)?r=0|_e[(e=t+8|0)>>2]:(_e[1144]=e|r,e=(r=t)+8|0),_e[e>>2]=f,_e[r+12>>2]=f,_e[f+8>>2]=r,_e[f+12>>2]=t;break}if(n=4880+((t=(r=a>>>8)?16777215<a>>>0?31:a>>>((t=14-((M=((S=r<<(m=(r+1048320|0)>>>16&8))+520192|0)>>>16&4)|m|(t=((S<<=M)+245760|0)>>>16&2))+(S<<t>>>15)|0)+7|0)&1|t<<1:0)<<2)|0,_e[f+28>>2]=t,_e[f+20>>2]=0,!((r=(_e[i>>2]=0)|_e[1145])&(e=1<<t))){_e[1145]=r|e,_e[n>>2]=f,_e[f+24>>2]=n,_e[f+12>>2]=f,_e[f+8>>2]=f;break}for(e=a<<(31==(0|t)?0:25-(t>>>1)|0),t=0|_e[n>>2];;){if((-8&_e[t+4>>2]|0)==(0|a)){m=216;break}if(!(r=0|_e[(n=t+16+(e>>>31<<2)|0)>>2])){m=215;break}e<<=1,t=r}if(215==(0|m)){_e[n>>2]=f,_e[f+24>>2]=t,_e[f+12>>2]=f,_e[f+8>>2]=f;break}if(216==(0|m)){S=0|_e[(m=t+8|0)>>2],_e[S+12>>2]=f,_e[m>>2]=f,_e[f+8>>2]=S,_e[f+12>>2]=t,_e[f+24>>2]=0;break}}}else{for(S=0|_e[1148],0==(0|S)|a>>>0<S>>>0&&(_e[1148]=a),_e[1256]=a,_e[1257]=o,_e[1259]=0,_e[1153]=_e[1262],_e[1152]=-1,r=0;_e[(S=4616+(r<<1<<2)|0)+12>>2]=S,_e[S+8>>2]=S,r=r+1|0,32!=(0|r););m=a+(S=0==(7&(S=a+8|0)|0)?0:0-S&7)|0,S=o+-40-S|0,_e[1150]=m,_e[1147]=S,_e[m+4>>2]=1|S,_e[m+S+4>>2]=40,_e[1151]=_e[1266]}}while(0);if(c>>>0<(r=0|_e[1147])>>>0)return M=r-c|0,_e[1147]=M,m=(S=0|_e[1150])+c|0,_e[1150]=m,_e[m+4>>2]=1|M,_e[S+4>>2]=3|c,Te=h,0|(S=S+8|0)}return _e[(S=296)>>2]=12,Te=h,(S=0)|S}function w(e,r,t,n,i,a){e|=0,r=+r,t|=0,n|=0,i|=0,a|=0;var o,u=0,f=0,l=0,s=0,c=0,_=0,d=0,E=0,T=0,A=0,b=0,M=0,m=0,S=0,h=0,R=0,P=0,p=0,C=0,N=0,y=0,O=0,k=Te;Te=Te+560|0,l=k+8|0,y=O=(b=k)+524|0,N=(s=k+512|0)+12|(_e[b>>2]=0),ve(r),P=(0|L)<0?(r=-r,p=1,2087):(p=0!=(2049&i|0)&1,0==(2048&i|0)?0==(1&i|0)?2088:2093:2090),ve(r),C=2146435072&L;do{if(C>>>0<2146435072|2146435072==(0|C)&!1){if((u=0!=(E=2*(o=b,+ + +function e(r,t){r=+r;t|=0;var n=0,i=0,a=0;v[g>>3]=r;n=0|_e[g>>2];i=0|_e[g+4>>2];a=0|ye(0|n,0|i,52);switch(2047&a){case 0:n=0!=r?(r=+e(0x10000000000000000*r,t),(0|_e[t>>2])-64|0):0,_e[t>>2]=n;break;case 2047:break;default:_e[t>>2]=(2047&a)-1022,_e[g>>2]=n,_e[g+4>>2]=-2146435073&i|1071644672,r=+v[g>>3]}return+r}(+r,o|=0))))&&(_e[b>>2]=(0|_e[b>>2])-1),97==(0|(m=32|a))){d=0==(0|(T=32&a))?P:P+9|0,_=2|p,u=12-n|0;do{if(!(11<n>>>0|0==(0|u))){for(r=8;u=u+-1|0,r*=16,0!=(0|u););if(45==(0|ce[d>>0])){r=-(r+(-E-r));break}r=E+r-r;break}}while(r=E,0);for(f=0|_e[b>>2],u=(0|f)<0?0-f|0:f,u=0|fe(u,((0|u)<0)<<31>>31,N),(0|u)==(0|N)&&(ce[(u=s+11|0)>>0]=48),ce[u+-1>>0]=43+(f>>31&2),c=u+-2|0,ce[c>>0]=a+15,s=(0|n)<1,l=0==(8&i|0),u=O;C=~~r,f=u+1|0,ce[u>>0]=de[2122+C>>0]|T,r=16*(r-(0|C)),u=1!=(f-y|0)||l&s&0==r?f:(ce[f>>0]=46,u+2|0),0!=r;);C=u-y|0,se(e,32,t,u=(y=N-c|0)+_+(N=0!=(0|n)&(C+-2|0)<(0|n)?n+2|0:C)|0,i),Ie(e,d,_),se(e,48,t,u,65536^i),Ie(e,O,C),se(e,48,N-C|0,0,0),Ie(e,c,y),se(e,32,t,u,8192^i);break}for(f=(0|n)<0?6:n,u?(u=(0|_e[b>>2])-28|0,_e[b>>2]=u,r=268435456*E):(r=E,u=0|_e[b>>2]),C=(0|u)<0?l:l+288|0,l=C;h=~~r>>>0,_e[l>>2]=h,l=l+4|0,r=1e9*(r-(h>>>0)),0!=r;);if(0<(0|u))for(s=C,_=l;;){if(c=(0|u)<29?u:29,s>>>0<=(u=_+-4|0)>>>0){for(l=0;M=0|Pe(0|(S=0|ge(0|(S=0|Ne(0|_e[u>>2],0,0|c)),0|L,0|l,0)),0|(h=L),1e9,0),_e[u>>2]=M,l=0|Fe(0|S,0|h,1e9,0),u=u+-4|0,s>>>0<=u>>>0;);l&&(_e[(s=s+-4|0)>>2]=l)}for(l=_;!(l>>>0<=s>>>0||0|_e[(u=l+-4|0)>>2]);)l=u;if(u=(0|_e[b>>2])-c|0,!(0<(0|(_e[b>>2]=u))))break;_=l}else s=C;if((0|u)<0){n=1+((f+25|0)/9|0)|0,A=102==(0|m);do{if(T=(0|(T=0-u|0))<9?T:9,s>>>0<l>>>0){for(c=(1<<T)-1|0,_=1e9>>>T,d=0,u=s;h=0|_e[u>>2],_e[u>>2]=(h>>>T)+d,d=0|ie(h&c,_),u=u+4|0,u>>>0<l>>>0;);u=0==(0|_e[s>>2])?s+4|0:s,u=d?(_e[l>>2]=d,s=u,l+4|0):(s=u,l)}else s=0==(0|_e[s>>2])?s+4|0:s,u=l}while(l=(0|n)<(u-(l=A?C:s)>>2|0)?l+(n<<2)|0:u,u=(0|_e[b>>2])+T|0,(0|(_e[b>>2]=u))<0);u=s,n=l}else u=s,n=l;if(h=C,u>>>0<n>>>0){if(l=9*(h-u>>2)|0,10<=(c=0|_e[u>>2])>>>0)for(s=10;s=10*s|0,l=l+1|0,s>>>0<=c>>>0;);}else l=0;if((0|(s=f-(102!=(0|m)?l:0)+(((M=0!=(0|f))&(A=103==(0|m)))<<31>>31)|0))<((9*(n-h>>2)|0)-9|0)){if(T=C+4+(((0|(s=s+9216|0))/9|0)-1024<<2)|0,(0|(s=1+((0|s)%9|0)|0))<9)for(c=10;c=10*c|0,s=s+1|0,9!=(0|s););else c=10;if((s=(T+4|0)==(0|n))&0==(0|(d=((_=0|_e[T>>2])>>>0)%(c>>>0)|0)))s=T;else if(E=0==(1&((_>>>0)/(c>>>0)|0)|0)?9007199254740992:9007199254740994,r=d>>>0<(S=(0|c)/2|0)>>>0?.5:s&(0|d)==(0|S)?1:1.5,p&&(r=(S=45==(0|ce[P>>0]))?-r:r,E=S?-E:E),s=_-d|0,_e[T>>2]=s,E+r!=E){if(S=s+c|0,999999999<(_e[T>>2]=S)>>>0)for(l=T;(s=l+-4|0)>>>(_e[l>>2]=0)<u>>>0&&(_e[(u=u+-4|0)>>2]=0),S=1+(0|_e[s>>2])|0,999999999<(_e[s>>2]=S)>>>0;)l=s;else s=T;if(l=9*(h-u>>2)|0,10<=(_=0|_e[u>>2])>>>0)for(c=10;c=10*c|0,l=l+1|0,c>>>0<=_>>>0;);}else s=T;s=(s=s+4|0)>>>0<n>>>0?s:n,S=u}else s=n,S=u;for(m=s;;){if(m>>>0<=S>>>0){b=0;break}if(0|_e[(u=m+-4|0)>>2]){b=1;break}m=u}n=0-l|0;do{if(A){if(f=(0|l)<(0|(u=(1&(1^M))+f|0))&-5<(0|l)?(c=a+-1|0,u+-1-l|0):(c=a+-2|0,u+-1|0),!(u=8&i)){if(b&&0!=(0|(R=0|_e[m+-4>>2])))if((R>>>0)%10|0)s=0;else for(s=0,u=10;u=10*u|0,s=s+1|0,!((R>>>0)%(u>>>0)|0););else s=9;if(u=(9*(m-h>>2)|0)-9|0,102==(32|c)){f=(0|f)<(0|(T=0<(0|(T=u-s|0))?T:0))?f:T,T=0;break}f=(0|f)<(0|(T=0<(0|(T=u+l-s|0))?T:0))?f:T,T=0;break}T=u}else c=a,T=8&i}while(0);if(_=0!=(0|(A=f|T))&1,d=102==(32|c))u=(M=0)<(0|l)?l:0;else{if(((s=N)-(u=0|fe(u=(0|l)<0?n:l,((0|u)<0)<<31>>31,N))|0)<2)for(;ce[(u=u+-1|0)>>0]=48,(s-u|0)<2;);ce[u+-1>>0]=43+(l>>31&2),ce[(u=u+-2|0)>>0]=c,u=s-(M=u)|0}if(se(e,32,t,u=p+1+f+_+u|0,i),Ie(e,P,p),se(e,48,t,u,65536^i),d){_=T=O+9|0,d=O+8|0,s=c=C>>>0<S>>>0?C:S;do{if(l=0|fe(0|_e[s>>2],0,T),(0|s)==(0|c))(0|l)==(0|T)&&(ce[d>>0]=48,l=d);else if(O>>>0<l>>>0)for(ne(0|O,48,l-y|0);l=l+-1|0,O>>>0<l>>>0;);}while(Ie(e,l,_-l|0),(s=s+4|0)>>>0<=C>>>0);if(0|A&&Ie(e,2138,1),s>>>0<m>>>0&0<(0|f))for(;;){if(O>>>0<(l=0|fe(0|_e[s>>2],0,T))>>>0)for(ne(0|O,48,l-y|0);l=l+-1|0,O>>>0<l>>>0;);if(Ie(e,l,(0|f)<9?f:9),l=f+-9|0,!((s=s+4|0)>>>0<m>>>0&9<(0|f))){f=l;break}f=l}se(e,48,f+9|0,9,0)}else{if(A=b?m:S+4|0,-1<(0|f)){T=0==(0|T),n=b=O+9|0,_=0-y|0,d=O+8|0,c=S;do{(0|(l=0|fe(0|_e[c>>2],0,b)))==(0|b)&&(ce[d>>0]=48,l=d);do{if((0|c)==(0|S)){if(s=l+1|0,Ie(e,l,1),T&(0|f)<1){l=s;break}Ie(e,2138,1),l=s}else{if(l>>>0<=O>>>0)break;for(ne(0|O,48,l+_|0);l=l+-1|0,O>>>0<l>>>0;);}}while(0)}while(Ie(e,l,(0|(y=n-l|0))<(0|f)?y:f),(c=c+4|0)>>>0<A>>>0&-1<(0|(f=f-y|0)))}se(e,48,f+18|0,18,0),Ie(e,M,N-M|0)}se(e,32,t,u,8192^i)}else O=0!=(32&a|0),se(e,32,t,u=p+3|0,-65537&i),Ie(e,P,p),Ie(e,r!=r|!1?O?2114:2118:O?2106:2110,3),se(e,32,t,u,8192^i)}while(0);return Te=k,0|((0|u)<(0|t)?t:u)}function D(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0,i|=0;var a,o,u,f,l,s,c,_,d,E=0,T=0,A=0,b=0,M=0,m=0,S=0,h=0,R=0,P=0,p=0,C=0,N=0,y=Te;Te=Te+64|0,f=(c=y)+24|0,_=y+8|0,d=y+20|0,_e[(s=y+16|0)>>2]=r,a=0!=(0|e),u=o=40+f|0,f=39+f|0,l=4+_|0,m=E=T=0;e:for(;;){do{if(-1<(0|E)){if((2147483647-E|0)<(0|T)){_e[(E=296)>>2]=75,E=-1;break}E=T+E|0;break}}while(0);if(!((T=0|ce[r>>0])<<24>>24)){N=87;break}A=r;r:for(;;){switch(T<<24>>24){case 37:T=A,N=9;break r;case 0:T=A;break r}C=A+1|0,_e[s>>2]=C,T=0|ce[C>>0],A=C}r:do{if(9==(0|N))for(;;){if(37!=((N=0)|ce[A+1>>0]))break r;if(T=T+1|0,A=A+2|0,_e[s>>2]=A,37!=(0|ce[A>>0]))break;N=9}}while(0);if(T=T-r|0,a&&Ie(e,r,T),0|T)r=A;else{(T=(0|ce[(b=A+1|0)>>0])-48|0)>>>0<10?(p=(C=36==(0|ce[A+2>>0]))?T:-1,m=C?1:m,b=C?A+3|0:b):p=-1,_e[s>>2]=b,A=((T=0|ce[b>>0])<<24>>24)-32|0;r:do{if(A>>>0<32)for(M=0,S=T;;){if(!(75913&(T=1<<A))){T=S;break r}if(M|=T,b=b+1|0,_e[s>>2]=b,32<=(A=((T=0|ce[b>>0])<<24>>24)-32|0)>>>0)break;S=T}else M=0}while(0);if(T<<24>>24==42){if((T=(0|ce[(A=b+1|0)>>0])-48|0)>>>0<10&&36==(0|ce[b+2>>0]))_e[i+(T<<2)>>2]=10,T=0|_e[n+((0|ce[A>>0])-48<<3)>>2],m=1,b=b+3|0;else{if(0|m){E=-1;break}b=(m=a?(m=3+(0|_e[t>>2])&-4,T=0|_e[m>>2],_e[t>>2]=m+4,0):T=0,A)}_e[s>>2]=b,T=(C=(0|T)<0)?0-T|0:T,M=C?8192|M:M}else{if((0|(T=0|Se(s)))<0){E=-1;break}b=0|_e[s>>2]}do{if(46==(0|ce[b>>0])){if(42!=(0|ce[b+1>>0])){_e[s>>2]=b+1,A=0|Se(s),b=0|_e[s>>2];break}if((A=(0|ce[(S=b+2|0)>>0])-48|0)>>>0<10&&36==(0|ce[b+3>>0])){_e[i+(A<<2)>>2]=10,A=0|_e[n+((0|ce[S>>0])-48<<3)>>2],b=b+4|0,_e[s>>2]=b;break}if(0|m){E=-1;break e}a?(C=3+(0|_e[t>>2])&-4,A=0|_e[C>>2],_e[t>>2]=C+4):A=0,b=_e[s>>2]=S}else A=-1}while(0);for(P=0;;){if(57<((0|ce[b>>0])-65|0)>>>0){E=-1;break e}if(C=b+1|0,_e[s>>2]=C,!(((h=255&(S=0|ce[(0|ce[b>>0])-65+(1606+(58*P|0))>>0]))+-1|0)>>>0<8))break;P=h,b=C}if(!(S<<24>>24)){E=-1;break}R=-1<(0|p);do{if(S<<24>>24==19){if(R){E=-1;break e}N=49}else{if(R){_e[i+(p<<2)>>2]=h,p=0|_e[(R=n+(p<<3)|0)+4>>2],_e[(N=c)>>2]=_e[R>>2],_e[N+4>>2]=p,N=49;break}if(!a){E=0;break e}H(c,h,t)}}while(0);if(49!=(0|N)||(N=0,a)){b=0!=(0|P)&3==(15&(b=0|ce[b>>0])|0)?-33&b:b,R=-65537&M,p=0==(8192&M|0)?M:R;r:do{switch(0|b){case 110:switch((255&P)<<24>>24){case 0:case 1:_e[_e[c>>2]>>2]=E,T=0,r=C;continue e;case 2:T=0|_e[c>>2],_e[T>>2]=E,_e[T+4>>2]=((0|E)<0)<<31>>31,T=0,r=C;continue e;case 3:W[_e[c>>2]>>1]=E,T=0,r=C;continue e;case 4:ce[_e[c>>2]>>0]=E,T=0,r=C;continue e;case 6:_e[_e[c>>2]>>2]=E,T=0,r=C;continue e;case 7:T=0|_e[c>>2],_e[T>>2]=E,_e[T+4>>2]=((0|E)<0)<<31>>31,T=0,r=C;continue e;default:T=0,r=C;continue e}case 112:b=120,A=8<A>>>0?A:8,r=8|p,N=61;break;case 88:case 120:r=p,N=61;break;case 111:S=2070,A=(M=0)==(8&p|0)|(0|(R=u-(h=0|function(e,r,t){if(t|=0,!(0==(0|(e|=0))&0==(0|(r|=0))))for(;ce[(t=t+-1|0)>>0]=7&e|48,e=0|ye(0|e,0|r,3),r=L,!(0==(0|e)&0==(0|r)););return 0|t}(r=0|_e[(b=c)>>2],b=0|_e[b+4>>2],o))|0))<(0|A)?A:R+1|0,R=p,N=67;break;case 105:case 100:if(r=0|_e[(b=c)>>2],(0|(b=0|_e[b+4>>2]))<0){r=0|ke(0,0,0|r,0|b),b=L,_e[(M=c)>>2]=r,_e[M+4>>2]=b,M=1,S=2070,N=66;break r}M=0!=(2049&p|0)&1,S=0==(2048&p|0)?0==(1&p|0)?2070:2072:2071,N=66;break r;case 117:S=2070,r=(M=0)|_e[(b=c)>>2],b=0|_e[b+4>>2],N=66;break;case 99:ce[f>>0]=_e[c>>2],r=f,M=0,S=2070,h=o,b=1,A=R;break;case 109:b=0|(0|function(e,r){e|=0,r|=0;var t=0,n=0;n=0;for(;;){if((0|de[2140+n>>0])==(0|e)){e=2;break}if(87==(0|(t=n+1|0))){t=2228,n=87,e=5;break}n=t}2==(0|e)&&(n?(t=2228,e=5):t=2228);if(5==(0|e))for(;;){for(;t=(e=t)+1|0,0!=(0|ce[e>>0]););if(!(n=n+-1|0))break;e=5}return 0|function(e,r){return 0|function(e,r){e|=0,r=(r|=0)?0|function(e,r,t){r|=0,t|=0;var n=0,i=0,a=0,o=0,u=0,f=0,l=0,s=0,c=0,_=0;_=1794895138+(0|_e[(e|=0)>>2])|0,a=0|Ge(0|_e[e+8>>2],_),n=0|Ge(0|_e[e+12>>2],_),i=0|Ge(0|_e[e+16>>2],_);t:do{if(a>>>0<r>>>2>>>0&&(c=r-(a<<2)|0,n>>>0<c>>>0&i>>>0<c>>>0)&&0==(3&(i|n)|0)){for(c=n>>>2,s=i>>>2,l=0;;){if(n=0|Ge(0|_e[e+((i=(o=(f=l+(u=a>>>1)|0)<<1)+c|0)<<2)>>2],_),!((i=0|Ge(0|_e[e+(i+1<<2)>>2],_))>>>0<r>>>0&n>>>0<(r-i|0)>>>0)){n=0;break t}if(0|ce[e+(i+n)>>0]){n=0;break t}if(!(n=0|function(e,r){r|=0;var t=0,n=0;if(t=0|ce[(e|=0)>>0],n=0|ce[r>>0],t<<24>>24==0||t<<24>>24!=n<<24>>24)e=n;else{for(;r=r+1|0,t=0|ce[(e=e+1|0)>>0],n=0|ce[r>>0],t<<24>>24!=0&&t<<24>>24==n<<24>>24;);e=n}return(255&t)-(255&e)|0}(t,e+i|0)))break;if(n=(0|n)<0,1==(0|a)){n=0;break t}l=n?l:f,a=n?u:a-u|0}i=0|Ge(0|_e[e+((n=o+s|0)<<2)>>2],_),n=(n=0|Ge(0|_e[e+(n+1<<2)>>2],_))>>>0<r>>>0&i>>>0<(r-n|0)>>>0&&0==(0|ce[e+(n+i)>>0])?e+n|0:0}else n=0}while(0);return 0|n}(0|_e[r>>2],0|_e[r+4>>2],e):0;return 0|(0|r?r:e)}(e|=0,r|=0)}(t,0|_e[r+20>>2])}(0|_e[(b=296)>>2]|0,0|_e[105])),N=71;break;case 115:b=0|(b=0|_e[c>>2])?b:2080,N=71;break;case 67:_e[_>>2]=_e[c>>2],_e[l>>2]=0,h=-1,b=_e[c>>2]=_,N=75;break;case 83:r=0|_e[c>>2],N=A?(h=A,b=r,75):(se(e,32,T,0,p),r=0,84);break;case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:T=0|w(e,+v[c>>3],T,A,p,b),r=C;continue e;default:M=0,S=2070,h=o,b=A,A=p}}while(0);r:do{if(61==(0|N))h=0|function(e,r,t,n){if(t|=0,n|=0,!(0==(0|(e|=0))&0==(0|(r|=0))))for(;ce[(t=t+-1|0)>>0]=0|de[2122+(15&e)>>0]|n,e=0|ye(0|e,0|r,4),r=L,!(0==(0|e)&0==(0|r)););return 0|t}(P=0|_e[(p=c)>>2],p=0|_e[p+4>>2],o,32&b),M=(S=0==(8&r|0)|0==(0|P)&0==(0|p))?0:2,S=S?2070:2070+(b>>4)|0,R=r,r=P,b=p,N=67;else if(66==(0|N))h=0|fe(r,b,o),R=p,N=67;else if(71==(0|N))S=2070,h=(P=(M=N=0)==(0|(p=0|function(e,r,t){e|=0;var n=0,i=0,a=0,o=0;a=255&(r|=0),n=0!=(0|(t|=0));t:do{if(n&0!=(3&e|0))for(i=255&r;;){if((0|ce[e>>0])==i<<24>>24){o=6;break t}if(!((n=0!=(0|(t=t+-1|0)))&0!=(3&(e=e+1|0)|0))){o=5;break}}else o=5}while(0);5==(0|o)&&(n?o=6:t=0);t:do{if(6==(0|o)&&(i=255&r,(0|ce[e>>0])!=i<<24>>24)){n=0|ie(a,16843009);n:do{if(3<t>>>0){for(;!((-2139062144&(a=_e[e>>2]^n)^-2139062144)&a+-16843009|0);)if(e=e+4|0,(t=t+-4|0)>>>0<=3){o=11;break n}}else o=11}while(0);if(11==(0|o)&&!t){t=0;break}for(;;){if((0|ce[e>>0])==i<<24>>24)break t;if(e=e+1|0,!(t=t+-1|0)){t=0;break}}}}while(0);return 0|(0|t?e:0)}(r=b,0,A))))?b+A|0:p,b=P?A:p-b|0,A=R;else if(75==(0|N)){for(S=b,A=r=N=0;(M=0|_e[S>>2])&&!((0|(A=0|we(d,M)))<0|(h-r|0)>>>0<A>>>0)&&(r=A+r|0)>>>0<h>>>0;)S=S+4|0;if((0|A)<0){E=-1;break e}if(se(e,32,T,r,p),r)for(M=0;;){if(!(A=0|_e[b>>2])){N=84;break r}if((0|r)<(0|(M=(A=0|we(d,A))+M|0))){N=84;break r}if(Ie(e,d,A),r>>>0<=M>>>0){N=84;break}b=b+4|0}else r=0,N=84}}while(0);if(67==(0|N))p=(N=0)!=(0|A)|(b=0!=(0|r)|0!=(0|b)),b=u-h+(1&(1^b))|0,r=p?h:o,h=o,b=!p||(0|b)<(0|A)?A:b,A=-1<(0|A)?-65537&R:R;else if(84==(0|N)){N=0,se(e,32,T,r,8192^p),T=(0|r)<(0|T)?T:r,r=C;continue}se(e,32,T=(0|T)<(0|(p=(R=(0|b)<(0|(P=h-r|0))?P:b)+M|0))?p:T,p,A),Ie(e,S,M),se(e,48,T,p,65536^A),se(e,48,R,P,0),Ie(e,r,P),se(e,32,T,p,8192^A),r=C}else T=0,r=C}}e:do{if(87==(0|N)&&!e)if(m){for(E=1;r=0|_e[i+(E<<2)>>2];)if(H(n+(E<<3)|0,r,t),10<=(0|(E=E+1|0))){E=1;break e}for(;;){if(0|_e[i+(E<<2)>>2]){E=-1;break e}if(10<=(0|(E=E+1|0))){E=1;break}}}else E=0}while(0);return Te=y,0|E}function V(e,r){r|=0;var t,n,i,a,o,u,f,l,s,c,_,d,E,T,A=0,b=0,M=0,m=0,S=0,h=0,R=0,P=0,p=0,C=0,N=Te;if(Te=Te+704|0,E=N+144|0,d=N+128|0,_=N+112|0,c=N+96|0,s=N+80|0,l=N+64|0,f=N+48|0,T=N+32|0,t=N+16|0,i=(h=N)+184|0,C=N+160|0,!(a=0|function(e,r){e|=0;var t=0,n=0,i=0,a=0,o=0,u=0,f=0,l=0;if(Te=(l=Te)+528|0,a=(o=l)+16|0,!(r|=0))return Te=l,(f=0)|f;if(r>>>0<=16)return f=0|Q(e,r),Te=l,0|f;if(u=0|Q(e,r+-16|0),(0|(r=0|_e[(f=e+20|0)>>2]))<16)for(n=e+4|0,i=e+8|0,t=e+16|0;e=(0|(e=0|_e[n>>2]))==(0|_e[i>>2])?0:(_e[n>>2]=e+1,0|de[e>>0]),r=r+8|0,33<=(0|(_e[f>>2]=r))&&(_e[o>>2]=866,_e[o+4>>2]=3208,_e[o+8>>2]=1366,Ce(a,812,o),be(a),r=0|_e[f>>2]),e=e<<32-r|_e[t>>2],_e[t>>2]=e,(0|r)<16;);else e=0|_e[(t=e=e+16|0)>>2];return _e[t>>2]=e<<16,_e[f>>2]=r+-16,Te=l,0|(f=e>>>16|u<<16)}(e|=0,14)))return function(e){var r=0,t=0,n=0,i=0,a=0,o=0;if(Te=(o=Te)+544|0,a=o+16|0,i=(n=o)+32|0,(_e[(e|=0)>>2]=0)|(t=0|_e[(r=e+4|0)>>2])&&(7&t?(_e[n>>2]=866,_e[n+4>>2]=2506,_e[n+8>>2]=1232,Ce(i,812,n),be(i)):ue(t,0,0,1,0),_e[r>>2]=0,_e[e+8>>2]=0,_e[e+12>>2]=0),ce[e+16>>0]=0,!(r=0|_e[(e=e+20|0)>>2]))return Te=o;Z(r),7&r?(_e[a>>2]=866,_e[4+a>>2]=2506,_e[8+a>>2]=1232,Ce(i,812,a),be(i)):ue(r,0,0,1,0),_e[e>>2]=0,Te=o}(r),Te=N,0|(C=1);if(o=r+4|0,(0|(A=0|_e[(u=r+8|0)>>2]))!=(0|a)){if(A>>>0<=a>>>0){do{if((0|_e[r+12>>2])>>>0<a>>>0){if(0|X(o,a,(A+1|0)==(0|a),1,0)){A=0|_e[u>>2];break}return ce[r+16>>0]=1,Te=N,(C=0)|C}}while(0);ne((0|_e[o>>2])+A|0,0,a-A|0)}_e[u>>2]=a}if(ne(0|_e[o>>2],0,0|a),(0|(A=0|_e[(n=e+20|0)>>2]))<5)for(m=e+4|0,S=e+8|0,M=e+16|0;b=(0|(b=0|_e[m>>2]))==(0|_e[S>>2])?0:(_e[m>>2]=b+1,0|de[b>>0]),A=A+8|0,33<=(0|(_e[n>>2]=A))&&(_e[h>>2]=866,_e[h+4>>2]=3208,_e[h+8>>2]=1366,Ce(i,812,h),be(i),A=0|_e[n>>2]),b=b<<32-A|_e[M>>2],_e[M>>2]=b,(0|A)<5;);else b=0|_e[(M=b=e+16|0)>>2];if(P=b>>>27,_e[M>>2]=b<<5,_e[n>>2]=A+-5,20<(P+-1|0)>>>0)return Te=N,(C=0)|C;_e[C+20>>2]=0,_e[C>>2]=0,_e[C+4>>2]=0,_e[C+8>>2]=0,_e[C+12>>2]=0,A=C+4|(ce[C+16>>0]=0),b=C+8|0;e:do{if(0|X(A,21,0,1,0)){m=0|_e[b>>2],ne((R=0|_e[A>>2])+m|0,0,21-m|0),_e[b>>2]=21,m=e+4|0,S=e+8|0,h=e+16|0,M=0;do{if((0|(A=0|_e[n>>2]))<3)for(;b=(0|(b=0|_e[m>>2]))==(0|_e[S>>2])?0:(_e[m>>2]=b+1,0|de[b>>0]),A=A+8|0,33<=(0|(_e[n>>2]=A))&&(_e[t>>2]=866,_e[4+t>>2]=3208,_e[8+t>>2]=1366,Ce(i,812,t),be(i),A=0|_e[n>>2]),b=b<<32-A|_e[h>>2],_e[h>>2]=b,(0|A)<3;);else b=0|_e[h>>2]}while(_e[h>>2]=b<<3,_e[n>>2]=A+-3,ce[R+(0|de[1327+M>>0])>>0]=b>>>29,(0|(M=M+1|0))!=(0|P));if(0|$(C)){h=e+4|0,R=e+8|0,P=e+16|0,A=0;r:do{S=a-A|0,M=0|Ae(e,C);t:do{if(M>>>0<17)(0|_e[u>>2])>>>0<=A>>>0&&(_e[T>>2]=866,_e[4+T>>2]=910,_e[8+T>>2]=1497,Ce(i,812,T),be(i)),ce[(0|_e[o>>2])+A>>0]=M,A=A+1|0;else switch(0|M){case 17:if((0|(b=0|_e[n>>2]))<3)for(;M=(0|(M=0|_e[h>>2]))==(0|_e[R>>2])?0:(_e[h>>2]=M+1,0|de[M>>0]),b=b+8|0,33<=(0|(_e[n>>2]=b))&&(_e[f>>2]=866,_e[4+f>>2]=3208,_e[8+f>>2]=1366,Ce(i,812,f),be(i),b=0|_e[n>>2]),M=M<<32-b|_e[P>>2],_e[P>>2]=M,(0|b)<3;);else M=0|_e[P>>2];if(_e[P>>2]=M<<3,_e[n>>2]=b+-3,b=S>>>0<(M=3+(M>>>29)|0)>>>0){A=0;break e}A=(b?0:M)+A|0;break t;case 18:if((0|(b=0|_e[n>>2]))<7)for(;M=(0|(M=0|_e[h>>2]))==(0|_e[R>>2])?0:(_e[h>>2]=M+1,0|de[M>>0]),b=b+8|0,33<=(0|(_e[n>>2]=b))&&(_e[l>>2]=866,_e[4+l>>2]=3208,_e[8+l>>2]=1366,Ce(i,812,l),be(i),b=0|_e[n>>2]),M=M<<32-b|_e[P>>2],_e[P>>2]=M,(0|b)<7;);else M=0|_e[P>>2];if(_e[P>>2]=M<<7,_e[n>>2]=b+-7,b=S>>>0<(M=11+(M>>>25)|0)>>>0){A=0;break e}A=(b?0:M)+A|0;break t;default:if(2<=(M+-19|0)>>>0){p=81;break r}if(b=0|_e[n>>2],19==(0|M)){if((0|b)<2)for(M=b;m=(0|(b=0|_e[h>>2]))==(0|_e[R>>2])?0:(_e[h>>2]=b+1,0|de[b>>0]),b=M+8|0,33<=(0|(_e[n>>2]=b))&&(_e[s>>2]=866,_e[4+s>>2]=3208,_e[8+s>>2]=1366,Ce(i,812,s),be(i),b=0|_e[n>>2]),M=m<<32-b|_e[P>>2],_e[P>>2]=M,(0|b)<2;)M=b;else M=0|_e[P>>2];_e[P>>2]=M<<2,M>>>=30,m=3,b=b+-2|0}else{if((0|b)<6)for(;M=(0|(M=0|_e[h>>2]))==(0|_e[R>>2])?0:(_e[h>>2]=M+1,0|de[M>>0]),b=b+8|0,33<=(0|(_e[n>>2]=b))&&(_e[c>>2]=866,_e[4+c>>2]=3208,_e[8+c>>2]=1366,Ce(i,812,c),be(i),b=0|_e[n>>2]),M=M<<32-b|_e[P>>2],_e[P>>2]=M,(0|b)<6;);else M=0|_e[P>>2];_e[P>>2]=M<<6,M>>>=26,m=7,b=b+-6|0}if(_e[n>>2]=b,0==(0|A)|S>>>0<(M=M+m|0)>>>0){A=0;break e}if(b=A+-1|0,(0|_e[u>>2])>>>0<=b>>>0&&(_e[_>>2]=866,_e[4+_>>2]=910,_e[8+_>>2]=1497,Ce(i,812,_),be(i)),!((m=0|ce[(0|_e[o>>2])+b>>0])<<24>>24)){A=0;break e}if((b=M+A|0)>>>0<=A>>>0)break t;for(;(0|_e[u>>2])>>>0<=A>>>0&&(_e[d>>2]=866,_e[4+d>>2]=910,_e[8+d>>2]=1497,Ce(i,812,d),be(i)),ce[(0|_e[o>>2])+A>>0]=m,A=A+1|0,(0|A)!=(0|b););A=b}}while(0)}while(A>>>0<a>>>0);if(81==(0|p)){_e[E>>2]=866,_e[4+E>>2]=3149,_e[8+E>>2]=1348,Ce(i,812,E),be(i),A=0;break}A=(0|a)==(0|A)?0|$(r):0}else A=0}else ce[C+16>>0]=1,A=0}while(0);return re(C),Te=N,0|(C=A)}function G(e,r,t,n){e|=0,t|=0;var i,a,o,u,f,l,s,c,_=0,d=0,E=0,T=0,A=0,b=0,M=0,m=0,S=0,h=0,R=0,P=0,p=0,C=0,N=0,y=0,O=0,k=0,v=0,g=Te;if(Te=Te+880|0,k=g+144|0,c=g+128|0,s=g+112|0,l=g+96|0,y=g+80|0,C=g+64|0,P=g+48|0,p=g+32|0,m=g+16|0,u=(M=g)+360|0,f=g+296|0,v=g+224|0,R=g+156|0,0==(0|(r|=0))|11<(n|=0)>>>0)return Te=g,(v=0)|v;for(_e[e>>2]=r,_=v,d=_+68|0;_=_+4|(_e[_>>2]=0),(0|_)<(0|d););for(_=0;d=v+((255&(O=0|ce[t+_>>0]))<<2)|0,O<<24>>24&&(_e[d>>2]=1+(0|_e[d>>2])),_=_+1|0,(0|_)!=(0|r););for(T=E=d=0,A=-1,b=1;(_=0|_e[v+(b<<2)>>2])?(d=_+(_e[f+((S=b+-1|0)<<2)>>2]=d)|0,O=16-b|0,_e[e+28+(S<<2)>>2]=1+(d+-1<<O|(1<<O)-1),_e[e+96+(S<<2)>>2]=E,S=_+(_e[R+(b<<2)>>2]=E)|0,T=b>>>0<T>>>0?T:b,A=A>>>0<b>>>0?A:b):(_e[e+28+(b+-1<<2)>>2]=0,S=E),17!=(0|(b=b+1|0));)d<<=1,E=S;_e[e+4>>2]=S,d=e+172|0;do{if(S>>>0>(0|_e[d>>2])>>>0){_=(_=S+-1|0)&S?(_|=_>>>16,_|=_>>>8,_|=_>>>4,r>>>0<(_=1+((_|=_>>>2)>>>1|_)|0)>>>0?r:_):S,_e[d>>2]=_,_=0|_e[(E=e+176|0)>>2];do{if(0|_){if(O=0|_e[_+-4>>2],_=_+-8|0,0!=(0|O)&&(0|O)==(0|~_e[_>>2])||(_e[M>>2]=866,_e[M+4>>2]=651,_e[M+8>>2]=1579,Ce(u,812,M),be(u)),7&_){_e[m>>2]=866,_e[m+4>>2]=2506,_e[m+8>>2]=1232,Ce(u,812,m),be(u);break}ue(_,0,0,1,0);break}}while(0);if(d=0|te(8+((_=0|(_=0|_e[d>>2])?_:1)<<1)|0,0)){_e[d+4>>2]=_,_e[d>>2]=~_,_e[E>>2]=d+8,h=24;break}n=_e[E>>2]=0;break}}while(h=24,0);e:do{if(24==(0|h)){for(O=e+24|0,ce[O>>0]=A,ce[e+25>>0]=T,E=e+176|0,d=0;_=255&(N=0|ce[t+d>>0]),N<<24>>24&&(0|_e[v+(_<<2)>>2]||(_e[p>>2]=866,_e[p+4>>2]=2276,_e[p+8>>2]=977,Ce(u,812,p),be(u)),_=0|_e[(N=R+(_<<2)|0)>>2],_e[N>>2]=_+1,S>>>0<=_>>>0&&(_e[P>>2]=866,_e[P+4>>2]=2280,_e[P+8>>2]=990,Ce(u,812,P),be(u)),W[(0|_e[E>>2])+(_<<1)>>1]=d),d=d+1|0,(0|d)!=(0|r););if(o=(0|de[O>>0])>>>0<n>>>0?n:0,a=0!=(0|(_e[(N=e+8|0)>>2]=o))){i=1<<o,_=e+164|0;do{if(i>>>0>(0|_e[_>>2])>>>0){_e[_>>2]=i,_=0|_e[(E=e+168|0)>>2];do{if(0|_){if(p=0|_e[_+-4>>2],_=_+-8|0,0!=(0|p)&&(0|p)==(0|~_e[_>>2])||(_e[C>>2]=866,_e[C+4>>2]=651,_e[C+8>>2]=1579,Ce(u,812,C),be(u)),7&_){_e[y>>2]=866,_e[y+4>>2]=2506,_e[y+8>>2]=1232,Ce(u,812,y),be(u);break}ue(_,0,0,1,0);break}}while(0);if(d=0|te((_=i<<2)+8|0,0)){y=d+8|0,_e[d+4>>2]=i,_e[d>>2]=~i,d=_e[E>>2]=y;break}n=_e[E>>2]=0;break e}}while(_=i<<2,d=0|_e[(E=d=e+168|0)>>2],0);ne(0|d,-1,0|_),P=e+176|0,R=1;do{if(0|_e[v+(R<<2)>>2]&&(C=1<<(p=o-R|0),d=0|_e[f+((_=R+-1|0)<<2)>>2],16<=_>>>0&&(_e[l>>2]=866,_e[4+l>>2]=1960,_e[8+l>>2]=1453,Ce(u,812,l),be(u)),d>>>0<=(r=0==(0|(r=0|_e[e+28+(_<<2)>>2]))?-1:(r+-1|0)>>>(16-R|0))>>>0)){S=(0|_e[e+96+(_<<2)>>2])-d|0,h=R<<16;do{for(_=0|Ee[(0|_e[P>>2])+(S+d<<1)>>1],(0|de[t+_>>0])!=(0|R)&&(_e[s>>2]=866,_e[4+s>>2]=2322,_e[8+s>>2]=1019,Ce(u,812,s),be(u)),m=d<<p,b=_|h,A=0;i>>>0<=(M=A+m|0)>>>0&&(_e[c>>2]=866,_e[4+c>>2]=2328,_e[8+c>>2]=1053,Ce(u,812,c),be(u)),_=0|_e[E>>2],-1!=(0|_e[_+(M<<2)>>2])&&(_e[k>>2]=866,_e[k+4>>2]=2330,_e[k+8>>2]=1076,Ce(u,812,k),be(u),_=0|_e[E>>2]),_e[_+(M<<2)>>2]=b,A=A+1|0,A>>>0<C>>>0;);}while((d=d+1|0)>>>0<=r>>>0)}}while((R=R+1|0)>>>0<=o>>>0)}_e[(_=e+96|0)>>2]=(0|_e[_>>2])-(0|_e[f>>2]),_e[(_=e+100|0)>>2]=(0|_e[_>>2])-(0|_e[4+f>>2]),_e[(_=e+104|0)>>2]=(0|_e[_>>2])-(0|_e[8+f>>2]),_e[(_=e+108|0)>>2]=(0|_e[_>>2])-(0|_e[12+f>>2]),_e[(_=e+112|0)>>2]=(0|_e[_>>2])-(0|_e[16+f>>2]),_e[(_=e+116|0)>>2]=(0|_e[_>>2])-(0|_e[20+f>>2]),_e[(_=e+120|0)>>2]=(0|_e[_>>2])-(0|_e[24+f>>2]),_e[(_=e+124|0)>>2]=(0|_e[_>>2])-(0|_e[28+f>>2]),_e[(_=e+128|0)>>2]=(0|_e[_>>2])-(0|_e[32+f>>2]),_e[(_=e+132|0)>>2]=(0|_e[_>>2])-(0|_e[36+f>>2]),_e[(_=e+136|0)>>2]=(0|_e[_>>2])-(0|_e[40+f>>2]),_e[(_=e+140|0)>>2]=(0|_e[_>>2])-(0|_e[44+f>>2]),_e[(_=e+144|0)>>2]=(0|_e[_>>2])-(0|_e[48+f>>2]),_e[(_=e+148|0)>>2]=(0|_e[_>>2])-(0|_e[52+f>>2]),_e[(_=e+152|0)>>2]=(0|_e[_>>2])-(0|_e[56+f>>2]),_e[(_=e+156|0)>>2]=(0|_e[_>>2])-(0|_e[60+f>>2]),_e[(_=e+16|0)>>2]=0,_e[(d=e+20|0)>>2]=de[O>>0];r:do{if(a){do{if(!n)break r}while(n=(k=n)+-1|0,!(0|_e[v+(k<<2)>>2]));if(_e[_>>2]=_e[e+28+(n<<2)>>2],n=o+1|0,(_e[d>>2]=n)>>>0<=T>>>0){for(;!(0|_e[v+(n<<2)>>2]);)if(T>>>0<(n=n+1|0)>>>0)break r;_e[d>>2]=n}}}while(0);_e[e+92>>2]=-1,_e[e+160>>2]=1048575,_e[e+12>>2]=32-(0|_e[N>>2]),n=1}}while(0);return Te=g,0|(v=n)}function F(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0;if(e|=0){t=e+-8|0,i=0|_e[1148],f=t+(r=-8&(e=0|_e[e+-4>>2]))|0;do{if(1&e)o=u=t;else{if(n=0|_e[t>>2],!(3&e))return;if(a=n+r|0,(o=t+(0-n)|0)>>>0<i>>>0)return;if((0|o)==(0|_e[1149])){if(3==(3&(r=0|_e[(e=f+4|0)>>2])|0))return _e[1146]=a,_e[e>>2]=-2&r,_e[o+4>>2]=1|a,void(_e[o+a>>2]=a);u=o,r=a;break}if(t=n>>>3,n>>>0<256){if(e=0|_e[o+8>>2],(0|(r=0|_e[o+12>>2]))==(0|e)){_e[1144]=_e[1144]&~(1<<t),u=o,r=a;break}_e[e+12>>2]=r,_e[r+8>>2]=e,u=o,r=a;break}i=0|_e[o+24>>2],e=0|_e[o+12>>2];do{if((0|e)==(0|o)){if(!(e=0|_e[(r=(t=o+16|0)+4|0)>>2])){if(!(e=0|_e[t>>2])){e=0;break}r=t}for(;;)if(0|(n=0|_e[(t=e+20|0)>>2]))e=n,r=t;else{if(!(n=0|_e[(t=e+16|0)>>2]))break;e=n,r=t}_e[r>>2]=0}else u=0|_e[o+8>>2],_e[u+12>>2]=e,_e[e+8>>2]=u}while(0);if(i){if(r=0|_e[o+28>>2],(0|o)==(0|_e[(t=4880+(r<<2)|0)>>2])){if(!(_e[t>>2]=e)){_e[1145]=_e[1145]&~(1<<r),u=o,r=a;break}}else if(!(_e[i+16+(((0|_e[i+16>>2])!=(0|o)&1)<<2)>>2]=e)){u=o,r=a;break}_e[e+24>>2]=i,0|(t=0|_e[(r=o+16|0)>>2])&&(_e[e+16>>2]=t,_e[t+24>>2]=e),r=(u=((r=0|_e[r+4>>2])&&(_e[e+20>>2]=r,_e[r+24>>2]=e),o),a)}else u=o,r=a}}while(0);if(!(f>>>0<=o>>>0)&&1&(n=0|_e[(e=f+4|0)>>2])){if(2&n)_e[e>>2]=-2&n,_e[u+4>>2]=1|r,i=_e[o+r>>2]=r;else{if(e=0|_e[1149],(0|f)==(0|_e[1150]))return f=(0|_e[1147])+r|0,_e[1147]=f,_e[1150]=u,_e[u+4>>2]=1|f,(0|u)!=(0|e)?void 0:(_e[1149]=0,void(_e[1146]=0));if((0|f)==(0|e))return f=(0|_e[1146])+r|0,_e[1146]=f,_e[1149]=o,_e[u+4>>2]=1|f,void(_e[o+f>>2]=f);i=(-8&n)+r|0,t=n>>>3;do{if(n>>>0<256){if(r=0|_e[f+8>>2],(0|(e=0|_e[f+12>>2]))==(0|r)){_e[1144]=_e[1144]&~(1<<t);break}_e[r+12>>2]=e,_e[e+8>>2]=r;break}a=0|_e[f+24>>2],e=0|_e[f+12>>2];do{if((0|e)==(0|f)){if(!(e=0|_e[(r=(t=f+16|0)+4|0)>>2])){if(!(e=0|_e[t>>2])){t=0;break}r=t}for(;;)if(0|(n=0|_e[(t=e+20|0)>>2]))e=n,r=t;else{if(!(n=0|_e[(t=e+16|0)>>2]))break;e=n,r=t}_e[r>>2]=0,t=e}else t=0|_e[f+8>>2],_e[t+12>>2]=e,_e[e+8>>2]=t,t=e}while(0);if(0|a){if(e=0|_e[f+28>>2],(0|f)==(0|_e[(r=4880+(e<<2)|0)>>2])){if(!(_e[r>>2]=t)){_e[1145]=_e[1145]&~(1<<e);break}}else if(!(_e[a+16+(((0|_e[a+16>>2])!=(0|f)&1)<<2)>>2]=t))break;_e[t+24>>2]=a,0|(r=0|_e[(e=f+16|0)>>2])&&(_e[t+16>>2]=r,_e[r+24>>2]=t),0|(e=0|_e[e+4>>2])&&(_e[t+20>>2]=e,_e[e+24>>2]=t)}}while(0);if(_e[u+4>>2]=1|i,_e[o+i>>2]=i,(0|u)==(0|_e[1149]))return void(_e[1146]=i)}if(e=i>>>3,i>>>0<256)return t=4616+(e<<1<<2)|0,(r=0|_e[1144])&(e=1<<e)?e=0|_e[(r=t+8|0)>>2]:(_e[1144]=r|e,r=(e=t)+8|0),_e[r>>2]=u,_e[e+12>>2]=u,_e[u+8>>2]=e,void(_e[u+12>>2]=t);n=4880+((e=(e=i>>>8)?16777215<i>>>0?31:i>>>((e=14-((a=((f=e<<(o=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|o|(e=((f<<=a)+245760|0)>>>16&2))+(f<<e>>>15)|0)+7|0)&1|e<<1:0)<<2)|0,_e[u+28>>2]=e,_e[u+20>>2]=0,r=(_e[u+16>>2]=0)|_e[1145],t=1<<e;do{if(r&t){for(r=i<<(31==(0|e)?0:25-(e>>>1)|0),t=0|_e[n>>2];;){if((-8&_e[t+4>>2]|0)==(0|i)){e=73;break}if(!(e=0|_e[(n=t+16+(r>>>31<<2)|0)>>2])){e=72;break}r<<=1,t=e}if(72==(0|e)){_e[n>>2]=u,_e[u+24>>2]=t,_e[u+12>>2]=u,_e[u+8>>2]=u;break}if(73==(0|e)){f=0|_e[(o=t+8|0)>>2],_e[f+12>>2]=u,_e[o>>2]=u,_e[u+8>>2]=f,_e[u+12>>2]=t,_e[u+24>>2]=0;break}}else _e[1145]=r|t,_e[n>>2]=u,_e[u+24>>2]=n,_e[u+12>>2]=u,_e[u+8>>2]=u}while(0);if(f=(0|_e[1152])-1|0,!(_e[1152]=f)){for(e=5032;e=0|_e[e>>2];)e=e+8|0;_e[1152]=-1}}}}function x(e,r){var t=0,n=0,i=0,a=0,o=0,u=0,f=0,f=(e|=0)+(r|=0)|0,t=0|_e[e+4>>2];do{if(1&t)u=e,t=r;else{if(n=0|_e[e>>2],!(3&t))return;if(o=n+r|0,(0|(a=e+(0-n)|0))==(0|_e[1149])){if(3==(3&(t=0|_e[(e=f+4|0)>>2])|0))return _e[1146]=o,_e[e>>2]=-2&t,_e[a+4>>2]=1|o,void(_e[a+o>>2]=o);u=a,t=o;break}if(r=n>>>3,n>>>0<256){if(e=0|_e[a+8>>2],(0|(t=0|_e[a+12>>2]))==(0|e)){_e[1144]=_e[1144]&~(1<<r),u=a,t=o;break}_e[e+12>>2]=t,_e[t+8>>2]=e,u=a,t=o;break}i=0|_e[a+24>>2],e=0|_e[a+12>>2];do{if((0|e)==(0|a)){if(!(e=0|_e[(t=(r=a+16|0)+4|0)>>2])){if(!(e=0|_e[r>>2])){e=0;break}t=r}for(;;)if(0|(n=0|_e[(r=e+20|0)>>2]))e=n,t=r;else{if(!(n=0|_e[(r=e+16|0)>>2]))break;e=n,t=r}_e[t>>2]=0}else u=0|_e[a+8>>2],_e[u+12>>2]=e,_e[e+8>>2]=u}while(0);if(i){if(t=0|_e[a+28>>2],(0|a)==(0|_e[(r=4880+(t<<2)|0)>>2])){if(!(_e[r>>2]=e)){_e[1145]=_e[1145]&~(1<<t),u=a,t=o;break}}else if(!(_e[i+16+(((0|_e[i+16>>2])!=(0|a)&1)<<2)>>2]=e)){u=a,t=o;break}_e[e+24>>2]=i,0|(r=0|_e[(t=a+16|0)>>2])&&(_e[e+16>>2]=r,_e[r+24>>2]=e),t=(u=((t=0|_e[t+4>>2])&&(_e[e+20>>2]=t,_e[t+24>>2]=e),a),o)}else u=a,t=o}}while(0);if(2&(n=0|_e[(e=f+4|0)>>2]))_e[e>>2]=-2&n,_e[u+4>>2]=1|t,_e[u+t>>2]=t;else{if(e=0|_e[1149],(0|f)==(0|_e[1150]))return f=(0|_e[1147])+t|0,_e[1147]=f,_e[1150]=u,_e[u+4>>2]=1|f,(0|u)==(0|e)&&(_e[1149]=0,void(_e[1146]=0));if((0|f)==(0|e))return f=(0|_e[1146])+t|0,_e[1146]=f,_e[1149]=u,_e[u+4>>2]=1|f,void(_e[u+f>>2]=f);a=(-8&n)+t|0,r=n>>>3;do{if(n>>>0<256){if(t=0|_e[f+8>>2],(0|(e=0|_e[f+12>>2]))==(0|t)){_e[1144]=_e[1144]&~(1<<r);break}_e[t+12>>2]=e,_e[e+8>>2]=t;break}i=0|_e[f+24>>2],e=0|_e[f+12>>2];do{if((0|e)==(0|f)){if(!(e=0|_e[(t=(r=f+16|0)+4|0)>>2])){if(!(e=0|_e[r>>2])){r=0;break}t=r}for(;;)if(0|(n=0|_e[(r=e+20|0)>>2]))e=n,t=r;else{if(!(n=0|_e[(r=e+16|0)>>2]))break;e=n,t=r}_e[t>>2]=0,r=e}else r=0|_e[f+8>>2],_e[r+12>>2]=e,_e[e+8>>2]=r,r=e}while(0);if(0|i){if(e=0|_e[f+28>>2],(0|f)==(0|_e[(t=4880+(e<<2)|0)>>2])){if(!(_e[t>>2]=r)){_e[1145]=_e[1145]&~(1<<e);break}}else if(!(_e[i+16+(((0|_e[i+16>>2])!=(0|f)&1)<<2)>>2]=r))break;_e[r+24>>2]=i,0|(t=0|_e[(e=f+16|0)>>2])&&(_e[r+16>>2]=t,_e[t+24>>2]=r),0|(e=0|_e[e+4>>2])&&(_e[r+20>>2]=e,_e[e+24>>2]=r)}}while(0);if(_e[u+4>>2]=1|a,_e[u+a>>2]=a,(0|u)==(0|_e[1149]))return void(_e[1146]=a);t=a}if(e=t>>>3,t>>>0<256)return r=4616+(e<<1<<2)|0,(t=0|_e[1144])&(e=1<<e)?e=0|_e[(t=r+8|0)>>2]:(_e[1144]=t|e,t=(e=r)+8|0),_e[t>>2]=u,_e[e+12>>2]=u,_e[u+8>>2]=e,void(_e[u+12>>2]=r);if(i=4880+((e=(e=t>>>8)?16777215<t>>>0?31:t>>>((e=14-((a=((f=e<<(o=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|o|(e=((f<<=a)+245760|0)>>>16&2))+(f<<e>>>15)|0)+7|0)&1|e<<1:0)<<2)|0,_e[u+28>>2]=e,_e[u+20>>2]=0,!((r=(_e[u+16>>2]=0)|_e[1145])&(n=1<<e)))return _e[1145]=r|n,_e[i>>2]=u,_e[u+24>>2]=i,_e[u+12>>2]=u,void(_e[u+8>>2]=u);for(r=t<<(31==(0|e)?0:25-(e>>>1)|0),n=0|_e[i>>2];;){if((-8&_e[n+4>>2]|0)==(0|t)){e=69;break}if(!(e=0|_e[(i=n+16+(r>>>31<<2)|0)>>2])){e=68;break}r<<=1,n=e}68==(0|e)?(_e[i>>2]=u,_e[u+24>>2]=n,_e[u+12>>2]=u,_e[u+8>>2]=u):69==(0|e)&&(f=0|_e[(o=n+8|0)>>2],_e[f+12>>2]=u,_e[o>>2]=u,_e[u+8>>2]=f,_e[u+12>>2]=n,_e[u+24>>2]=0)}function B(e,r,t,n,i){i|=0;var a=0,o=0,u=0,f=0,l=0,s=0,c=0,_=0,d=0,E=0,s=e|=0,o=t|=0,u=_=n|=0;if(!(l=f=r|=0))return a=0!=(0|i),u?(a&&(_e[i>>2]=0|e,_e[i+4>>2]=0&r),(i=_=0)|(L=_,i)):(a&&(_e[i>>2]=(s>>>0)%(o>>>0),_e[i+4>>2]=0),(_=0)|(L=_,i=(s>>>0)/(o>>>0)>>>0));a=0==(0|u);do{if(o){if(!a){if((a=(0|T(0|u))-(0|T(0|l))|0)>>>0<=31){e=s>>>((o=c=a+1|0)>>>0)&(r=a-31>>31)|l<<(u=31-a|0),r&=l>>>(c>>>0),a=0,u=s<<u;break}return i?(_e[i>>2]=0|e,_e[i+4>>2]=f|0&r,(i=_=0)|(L=_,i)):(i=_=0)|(L=_,i)}if((a=o-1|0)&o|0){e=(c=32-(u=33+(0|T(0|o))-(0|T(0|l))|0)|0)-1>>31&l>>>((d=u-32|0)>>>0)|(l<<c|s>>>((o=u)>>>0))&(r=d>>31),r&=l>>>(u>>>0),a=s<<(E=64-u|0)&(f=c>>31),u=(l<<E|s>>>(d>>>0))&f|s<<c&u-33>>31;break}return 0|i&&(_e[i>>2]=a&s,_e[i+4>>2]=0),1==(0|o)?0|(L=d=f|0&r,E=0|e):(E=0|he(0|o),0|(L=d=l>>>(E>>>0)|0,E=l<<32-E|s>>>(E>>>0)|0))}if(a)return 0|i&&(_e[i>>2]=(l>>>0)%(o>>>0),_e[i+4>>2]=0),(d=0)|(L=d,E=(l>>>0)/(o>>>0)>>>0);if(!s)return 0|i&&(_e[i>>2]=0,_e[i+4>>2]=(l>>>0)%(u>>>0)),(d=0)|(L=d,E=(l>>>0)/(u>>>0)>>>0);if(!((a=u-1|0)&u))return 0|i&&(_e[i>>2]=0|e,_e[i+4>>2]=a&l|0&r),E=l>>>(((d=0)|he(0|u))>>>0),0|(L=d,E);if((a=(0|T(0|u))-(0|T(0|l))|0)>>>0<=30){e=l<<(u=31-a|0)|s>>>((o=r=a+1|0)>>>0),r=l>>>(r>>>0),a=0,u=s<<u;break}return i&&(_e[i>>2]=0|e,_e[i+4>>2]=f|0&r),(E=d=0)|(L=d,E)}while(0);if(o){for(c=0|t,s=_|0&n,l=0|ge(0|c,0|s,-1,-1),t=L,f=u,u=0;f=a>>>31|(n=f)<<1,a=u|a<<1,ke(0|l,0|t,0|(n=e<<1|n>>>31|0),0|(_=e>>>31|r<<1|0)),u=1&(d=(E=L)>>31|((0|E)<0?-1:0)<<1),e=0|ke(0|n,0|_,d&c|0,(((0|E)<0?-1:0)>>31|((0|E)<0?-1:0)<<1)&s|0),r=L,o=o-1|0,0!=(0|o););l=f,f=0}else l=u,u=f=0;return(o=0)|i&&(_e[i>>2]=e,_e[i+4>>2]=r),0|(L=d=(0|a)>>>31|(l|o)<<1|0&(o<<1|a>>>31)|f,E=-2&(a<<1|0)|u)}function Ae(e,r){e|=0;var t,n,i,a,o,u,f,l=0,s=0,c=0,_=0,d=0,E=0,T=Te;Te=Te+576|0,i=T+48|0,o=T+32|0,a=T+16|0,f=(n=T)+64|0,u=0|_e[(r|=0)+20>>2],(0|(t=0|_e[(E=e+20|0)>>2]))<24?(s=(l=0|_e[(d=e+4|0)>>2])>>>0<(c=0|_e[e+8>>2])>>>0,(0|t)<16?(s?(_=(0|de[l>>0])<<8,l=l+1|0):_=0,l>>>0<c>>>0?(c=0|de[l>>0],l=l+1|0):c=0,_e[d>>2]=l,_e[E>>2]=16+t,s=16,l=c|_):(l=s?(_e[d>>2]=l+1,0|de[l>>0]):0,_e[E>>2]=8+t,s=24),c=_e[(d=e+16|0)>>2]|l<<s-t,_e[d>>2]=c):c=0|_e[(d=c=e+16|0)>>2],_=1+(c>>>16)|0;do{if(!(_>>>0<=(0|_e[16+u>>2])>>>0)){for(s=0|_e[20+u>>2];_>>>0>(0|_e[28+u+((l=s+-1|0)<<2)>>2])>>>0;)s=s+1|0;if((l=(c>>>(32-s|0))+(0|_e[96+u+(l<<2)>>2])|0)>>>0<(0|_e[r>>2])>>>0){l=0|Ee[(0|_e[176+u>>2])+(l<<1)>>1];break}return _e[i>>2]=866,_e[4+i>>2]=3275,_e[8+i>>2]=1348,Ce(f,812,i),be(f),Te=T,(E=0)|E}}while(-1==(0|(s=0|_e[(0|_e[168+u>>2])+(c>>>(32-(0|_e[8+u>>2])|0)<<2)>>2]))&&(_e[n>>2]=866,_e[n+4>>2]=3253,_e[n+8>>2]=1393,Ce(f,812,n),be(f)),l=65535&s,s>>>=16,(0|_e[r+8>>2])>>>0<=l>>>0&&(_e[a>>2]=866,_e[4+a>>2]=909,_e[8+a>>2]=1497,Ce(f,812,a),be(f)),(0|de[(0|_e[r+4>>2])+l>>0])!=(0|s)&&(_e[o>>2]=866,_e[4+o>>2]=3257,_e[8+o>>2]=1410,Ce(f,812,o),be(f)),0);return _e[d>>2]=_e[d>>2]<<s,_e[E>>2]=(0|_e[E>>2])-s,Te=T,0|(E=l)}function U(e){var r,t,n,i,a=0,o=0,u=0,f=Te;if(Te=Te+576|0,u=f+48|0,n=f+32|0,t=f+16|0,i=(r=f)+64|0,(_e[(e|=0)>>2]=0)|(o=0|_e[(a=e+284|0)>>2])&&(7&o?(_e[r>>2]=866,_e[r+4>>2]=2506,_e[r+8>>2]=1232,Ce(i,812,r),be(i)):ue(o,0,0,1,0),_e[a>>2]=0,_e[e+288>>2]=0,_e[e+292>>2]=0),(ce[e+296>>0]=0)|(o=0|_e[(a=e+268|0)>>2])&&(7&o?(_e[t>>2]=866,_e[4+t>>2]=2506,_e[8+t>>2]=1232,Ce(i,812,t),be(i)):ue(o,0,0,1,0),_e[a>>2]=0,_e[e+272>>2]=0,_e[e+276>>2]=0),(ce[e+280>>0]=0)|(o=0|_e[(a=e+252|0)>>2])&&(7&o?(_e[n>>2]=866,_e[4+n>>2]=2506,_e[8+n>>2]=1232,Ce(i,812,n),be(i)):ue(o,0,0,1,0),_e[a>>2]=0,_e[e+256>>2]=0,_e[e+260>>2]=0),!(o=(ce[e+264>>0]=0)|_e[(a=e+236|0)>>2]))return re(u=e+212|(ce[(u=e+248|0)>>0]=0)),re(u=e+188|0),re(u=e+164|0),re(u=e+140|0),re(u=e+116|0),void(Te=f);7&o?(_e[u>>2]=866,_e[u+4>>2]=2506,_e[u+8>>2]=1232,Ce(i,812,u),be(i)):ue(o,0,0,1,0),_e[a>>2]=0,_e[e+240>>2]=0,_e[e+244>>2]=0,re(u=e+212|(ce[(u=e+248|0)>>0]=0)),re(u=e+188|0),re(u=e+164|0),re(u=e+140|0),re(u=e+116|0),Te=f}function H(e,r,t){e|=0,r|=0,t|=0;var n=0,i=0,a=0;e:do{if(r>>>0<=20){switch(0|r){case 9:n=3+(0|_e[t>>2])&-4,r=0|_e[n>>2],_e[t>>2]=n+4,_e[e>>2]=r;break e;case 10:n=3+(0|_e[t>>2])&-4,r=0|_e[n>>2],_e[t>>2]=n+4,_e[(n=e)>>2]=r,_e[n+4>>2]=((0|r)<0)<<31>>31;break e;case 11:n=3+(0|_e[t>>2])&-4,r=0|_e[n>>2],_e[t>>2]=n+4,_e[(n=e)>>2]=r,_e[n+4>>2]=0;break e;case 12:n=7+(0|_e[t>>2])&-8,i=0|_e[(r=n)>>2],r=0|_e[r+4>>2],_e[t>>2]=n+8,_e[(n=e)>>2]=i,_e[n+4>>2]=r;break e;case 13:i=3+(0|_e[t>>2])&-4,n=0|_e[i>>2],_e[t>>2]=i+4,n=(65535&n)<<16>>16,_e[(i=e)>>2]=n,_e[i+4>>2]=((0|n)<0)<<31>>31;break e;case 14:i=3+(0|_e[t>>2])&-4,n=0|_e[i>>2],_e[t>>2]=i+4,_e[(i=e)>>2]=65535&n,_e[i+4>>2]=0;break e;case 15:i=3+(0|_e[t>>2])&-4,n=0|_e[i>>2],_e[t>>2]=i+4,n=(255&n)<<24>>24,_e[(i=e)>>2]=n,_e[i+4>>2]=((0|n)<0)<<31>>31;break e;case 16:i=3+(0|_e[t>>2])&-4,n=0|_e[i>>2],_e[t>>2]=i+4,_e[(i=e)>>2]=255&n,_e[i+4>>2]=0;break e;case 17:case 18:i=7+(0|_e[t>>2])&-8,a=+v[i>>3],_e[t>>2]=i+8,v[e>>3]=a;break e;default:break e}}}while(0)}function X(e,r,t,n,i){r|=0,t|=0,n|=0,i|=0;var a,o,u,f,l,s=0,c=0,_=0,d=0,E=Te;if(Te=Te+576|0,f=E+48|0,a=E+32|0,c=E+16|0,u=(s=E)+64|0,l=E+60|0,d=(e|=0)+8|0,(0|_e[(o=e+4|0)>>2])>>>0>(0|_e[d>>2])>>>0&&(_e[s>>2]=866,_e[s+4>>2]=2123,_e[s+8>>2]=845,Ce(u,812,s),be(u)),(2147418112/(n>>>0)|0)>>>0<=r>>>0&&(_e[c>>2]=866,_e[c+4>>2]=2124,_e[c+8>>2]=885,Ce(u,812,c),be(u)),r>>>0<=(s=0|_e[d>>2])>>>0)return Te=E,0|(d=1);if(9==(0|(t=t&&0!=((_=r+-1|0)&r|0)?(r=_>>>16|_,r|=r>>>8,r|=r>>>4,(r=1+((r|=r>>>2)>>>1|r)|0)?9:(r=0,10)):9))&&r>>>0<=s>>>0&&(t=10),10==(0|t)&&(_e[a>>2]=866,_e[4+a>>2]=2133,_e[8+a>>2]=933,Ce(u,812,a),be(u)),_=0|ie(r,n),i)if(c=0|te(_,l)){Ze[0&i](c,0|_e[e>>2],0|_e[o>>2]),s=0|_e[e>>2];do{if(0|s){if(7&s){_e[f>>2]=866,_e[4+f>>2]=2506,_e[8+f>>2]=1232,Ce(u,812,f),be(u);break}ue(s,0,0,1,0);break}}while(0);_e[e>>2]=c,t=20}else r=0;else(s=0|function(e,r,t,n){r|=0,t|=0,n|=0;var i=0,a=0,o=0,u=0,f=0,l=0;if(Te=(l=Te)+560|0,f=l+32|0,a=l+16|0,o=(i=l)+48|0,u=l+44|0,7&(e|=0)|0)return _e[i>>2]=866,_e[i+4>>2]=2506,_e[i+8>>2]=1210,Ce(o,812,i),be(o),Te=l,(f=0)|f;if(2147418112<r>>>0)return _e[a>>2]=866,_e[4+a>>2]=2506,_e[8+a>>2]=1103,Ce(o,812,a),be(o),Te=l,(f=0)|f;_e[u>>2]=r,e=0|ue(e,r,u,n,0),0|t&&(_e[t>>2]=_e[u>>2]);7&e|0&&(_e[f>>2]=866,_e[f+4>>2]=2558,_e[f+8>>2]=1156,Ce(o,812,f),be(o));return Te=l,0|(f=e)}(0|_e[e>>2],_,l,1))?(_e[e>>2]=s,t=20):r=0;return 20==(0|t)&&(_>>>0<(s=0|_e[l>>2])>>>0&&(r=(s>>>0)/(n>>>0)|0),_e[d>>2]=r,r=1),Te=E,0|(d=r)}function Y(e,r,t,n,i,a,o){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0;var u,f=0,l=0,s=0|_e[(e|=0)+88>>2];if(f=((1<(f=(de[12+s>>0]<<8|de[13+s>>0])>>>o)>>>0?f:1)+3|0)>>>2,l=((1<(l=(de[14+s>>0]<<8|de[15+s>>0])>>>o)>>>0?l:1)+3|0)>>>2,o=0|ce[(s=18+s|0)>>0],o=0|ie(f,o<<24>>24==0|o<<24>>24==9?8:16),a){if(!(0==(3&a|0)&o>>>0<=a>>>0))return(i=0)|i;o=a}if((0|ie(o,l))>>>0>i>>>0)return(i=0)|i;if(a=(f+1|0)>>>1,u=(l+1|0)>>>1,!t)return(i=0)|i;switch(_e[e+92>>2]=r,_e[e+96>>2]=r,_e[e+104>>2]=t,_e[e+100>>2]=r+t,_e[e+108>>2]=0,(_e[e+112>>2]=0)|ce[s>>0]){case 0:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,l,s,c,_,d,E,T,A,b,M,m,S,h,R,P,p,C,N,y,O,k,v,g,L,I,w,D,G,F,x,B,U,H,W,V,X,Y,K=0,z=0,j=0,J=0,$=0,Z=0,q=0,Q=0,ee=0,re=0,te=0,ne=Te;if(Te=Te+656|0,X=ne+112|0,W=ne+96|0,H=ne+80|0,U=ne+64|0,B=ne+48|0,Y=ne+32|0,V=ne+16|0,G=(x=ne)+144|0,F=ne+128|0,y=0|_e[(N=(e|=0)+240|0)>>2],k=0|_e[(O=e+256|0)>>2],v=255&(D=0|ce[17+(0|_e[e+88>>2])>>0]),!(D<<24>>24))return Te=ne,1;L=0==(0|u),w=(I=o+-1|0)<<4,D=u+-1|0,S=0!=(1&a|0),h=n<<1,R=e+92|0,P=e+116|0,p=e+140|0,C=e+236|0,m=0!=(1&i|0),M=e+188|0,E=e+252|0,T=1+(g=n>>>2)|0,A=2+g|0,b=3+g|0,t=a=ee=0,i=1;do{if(!L)for(q=0|_e[r+(ee<<2)>>2],Q=0;;){if(z=0==(0|(_=1&Q)),c=(_<<5^32)-16|0,_=(_<<1^2)-1|0,d=S&(e=(0|Q)==(0|D)),(0|(K=z?0:I))!=(0|(s=z?o:-1)))for(l=S&e^1,Z=z?q:q+w|0;;){for(1==(0|i)&&(i=512|Ae(R,P)),f=7&i,i>>>=3,z=0|de[1539+f>>0],e=0;t=($=(J=(j=(0|Ae(R,p))+t|0)-y|0)>>31)&j|J&~$,(0|_e[N>>2])>>>0<=t>>>0&&(_e[x>>2]=866,_e[x+4>>2]=910,_e[x+8>>2]=1497,Ce(G,812,x),be(G)),_e[F+(e<<2)>>2]=_e[(0|_e[C>>2])+(t<<2)>>2],e=e+1|0,e>>>0<z>>>0;);if(d|($=m&(0|K)==(0|I))){J=0;do{e=Z+(0|ie(J,n))|0,j=0==(0|J)|l,z=J<<1,a=(a=(re=(te=(0|Ae(R,M))+a|0)-k|0)>>31)&te|re&~a;do{if($){if(!j){a=(a=(te=(re=(0|Ae(R,M))+a|0)-k|0)>>31)&re|te&~a;break}_e[e>>2]=_e[F+((0|de[1547+(f<<2)+z>>0])<<2)>>2],(0|_e[O>>2])>>>0<=a>>>0&&(_e[W>>2]=866,_e[4+W>>2]=910,_e[8+W>>2]=1497,Ce(G,812,W),be(G)),_e[e+4>>2]=_e[(0|_e[E>>2])+(a<<2)>>2],a=(a=(te=(re=(0|Ae(R,M))+a|0)-k|0)>>31)&re|te&~a}else j&&(_e[e>>2]=_e[F+((0|de[1547+(f<<2)+z>>0])<<2)>>2],(0|_e[O>>2])>>>0<=a>>>0&&(_e[H>>2]=866,_e[4+H>>2]=910,_e[8+H>>2]=1497,Ce(G,812,H),be(G)),_e[e+4>>2]=_e[(0|_e[E>>2])+(a<<2)>>2]),e=e+8|0,a=(a=(te=(re=(0|Ae(R,M))+a|0)-k|0)>>31)&re|te&~a,j&&(_e[e>>2]=_e[F+((0|de[1547+(f<<2)+(1|z)>>0])<<2)>>2],(0|_e[O>>2])>>>0<=a>>>0&&(_e[X>>2]=866,_e[4+X>>2]=910,_e[8+X>>2]=1497,Ce(G,812,X),be(G)),_e[e+4>>2]=_e[(0|_e[E>>2])+(a<<2)>>2])}while(0)}while(2!=(0|(J=J+1|0)))}else _e[Z>>2]=_e[F+((0|de[1547+(f<<2)>>0])<<2)>>2],a=(a=(te=(re=(0|Ae(R,M))+a|0)-k|0)>>31)&re|te&~a,(0|_e[O>>2])>>>0<=a>>>0&&(_e[V>>2]=866,_e[4+V>>2]=910,_e[8+V>>2]=1497,Ce(G,812,V),be(G)),_e[Z+4>>2]=_e[(0|_e[E>>2])+(a<<2)>>2],_e[Z+8>>2]=_e[F+((0|de[1547+(f<<2)+1>>0])<<2)>>2],a=(a=(te=(re=(0|Ae(R,M))+a|0)-k|0)>>31)&re|te&~a,(0|_e[O>>2])>>>0<=a>>>0&&(_e[Y>>2]=866,_e[4+Y>>2]=910,_e[8+Y>>2]=1497,Ce(G,812,Y),be(G)),_e[Z+12>>2]=_e[(0|_e[E>>2])+(a<<2)>>2],_e[Z+(g<<2)>>2]=_e[F+((0|de[1547+(f<<2)+2>>0])<<2)>>2],a=(a=(te=(re=(0|Ae(R,M))+a|0)-k|0)>>31)&re|te&~a,(0|_e[O>>2])>>>0<=a>>>0&&(_e[B>>2]=866,_e[4+B>>2]=910,_e[8+B>>2]=1497,Ce(G,812,B),be(G)),_e[Z+(T<<2)>>2]=_e[(0|_e[E>>2])+(a<<2)>>2],_e[Z+(A<<2)>>2]=_e[F+((0|de[1547+(f<<2)+3>>0])<<2)>>2],a=(a=(te=(re=(0|Ae(R,M))+a|0)-k|0)>>31)&re|te&~a,(0|_e[O>>2])>>>0<=a>>>0&&(_e[U>>2]=866,_e[4+U>>2]=910,_e[8+U>>2]=1497,Ce(G,812,U),be(G)),_e[Z+(b<<2)>>2]=_e[(0|_e[E>>2])+(a<<2)>>2];if((0|(K=_+K|0))==(0|s))break;Z=Z+c|0}if((0|(Q=Q+1|0))==(0|u))break;q=q+h|0}}while((0|(ee=ee+1|0))!=(0|v));return Te=ne,1}(e,n,i,o,f,l,a,u)))return(i=0)|i;break;case 4:case 6:case 5:case 3:case 2:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,l,s,c,_,d,E,T,A,b,M,m,S,h,R,P,p,C,N,y,O,k,v,g,L,I,w,D,G,F,x,B,U,H,W,V,X,Y,K,z,j=0,J=0,$=0,Z=0,q=0,Q=0,ee=0,re=0,te=0,ne=0,ie=0,ae=0,oe=0,ue=0,fe=0,le=0,se=Te;if(Te=Te+640|0,Y=se+80|0,X=se+64|0,V=se+48|0,z=se+32|0,K=se+16|0,U=(W=se)+128|0,H=se+112|0,M=se+96|0,S=0|_e[(m=(e|=0)+240|0)>>2],R=0|_e[(h=e+256|0)>>2],p=0|_e[(P=e+272|0)>>2],B=0|_e[e+88>>2],C=(0|de[63+B>>0])<<8|0|de[64+B>>0],N=255&(B=0|ce[17+B>>0]),!(B<<24>>24))return Te=se,1;y=0==(0|u),k=(O=o+-1|0)<<5,v=u+-1|0,g=n<<1,L=e+92|0,I=e+116|0,w=e+164|0,D=e+268|0,G=e+140|0,F=e+236|0,x=e+212|0,B=e+188|0,b=0==(1&i|0),A=0==(1&a|0),E=e+288|0,T=e+284|0,d=e+252|0,t=i=a=e=le=0,j=1;do{if(!y)for(ue=0|_e[r+(le<<2)>>2],fe=0;;){if($=0==(0|(_=1&fe)),c=(_<<6^64)-32|0,_=(_<<1^2)-1|0,(0|(J=$?0:O))!=(0|(l=$?o:-1)))for(s=A|(0|fe)!=(0|v),oe=$?ue:ue+k|0;;){for(1==(0|j)&&(j=512|Ae(L,I)),f=7&j,j>>>=3,Z=0|de[1539+f>>0],$=0;a=(ae=(ie=(ne=(0|Ae(L,w))+a|0)-p|0)>>31)&ne|ie&~ae,(0|_e[P>>2])>>>0<=a>>>0&&(_e[W>>2]=866,_e[W+4>>2]=910,_e[W+8>>2]=1497,Ce(U,812,W),be(U)),_e[M+($<<2)>>2]=Ee[(0|_e[D>>2])+(a<<1)>>1],$=$+1|0,$>>>0<Z>>>0;);for($=0;t=(ae=(ie=(ne=(0|Ae(L,G))+t|0)-S|0)>>31)&ne|ie&~ae,(0|_e[m>>2])>>>0<=t>>>0&&(_e[K>>2]=866,_e[4+K>>2]=910,_e[8+K>>2]=1497,Ce(U,812,K),be(U)),_e[H+($<<2)>>2]=_e[(0|_e[F>>2])+(t<<2)>>2],$=$+1|0,$>>>0<Z>>>0;);for(ae=b|(0|J)!=(0|O),ne=0,ie=oe;;){if(ee=s|0==(0|ne),re=ne<<1,ae)for(q=0,Q=ie;e=(e=(Z=(te=(0|Ae(L,x))+e|0)-C|0)>>31)&te|Z&~e,i=(i=(te=(Z=(0|Ae(L,B))+i|0)-R|0)>>31)&Z|te&~i,ee&&($=0|de[q+re+(1547+(f<<2))>>0],Z=3*e|0,(0|_e[E>>2])>>>0<=Z>>>0&&(_e[z>>2]=866,_e[4+z>>2]=910,_e[8+z>>2]=1497,Ce(U,812,z),be(U)),te=(0|_e[T>>2])+(Z<<1)|0,_e[Q>>2]=(0|Ee[te>>1])<<16|_e[M+($<<2)>>2],_e[Q+4>>2]=(0|Ee[te+4>>1])<<16|0|Ee[te+2>>1],_e[Q+8>>2]=_e[H+($<<2)>>2],(0|_e[h>>2])>>>0<=i>>>0&&(_e[V>>2]=866,_e[4+V>>2]=910,_e[8+V>>2]=1497,Ce(U,812,V),be(U)),_e[Q+12>>2]=_e[(0|_e[d>>2])+(i<<2)>>2]),2!=(0|(q=q+1|0));)Q=Q+16|0;else for(te=1^ee,ee=1547+(f<<2)+re|0,q=0,Q=ie;e=(e=(Z=(re=(0|Ae(L,x))+e|0)-C|0)>>31)&re|Z&~e,i=(i=(re=(Z=(0|Ae(L,B))+i|0)-R|0)>>31)&Z|re&~i,0!=(0|q)|te||($=0|de[ee>>0],Z=3*e|0,(0|_e[E>>2])>>>0<=Z>>>0&&(_e[X>>2]=866,_e[4+X>>2]=910,_e[8+X>>2]=1497,Ce(U,812,X),be(U)),re=(0|_e[T>>2])+(Z<<1)|0,_e[Q>>2]=(0|Ee[re>>1])<<16|_e[M+($<<2)>>2],_e[Q+4>>2]=(0|Ee[re+4>>1])<<16|0|Ee[re+2>>1],_e[Q+8>>2]=_e[H+($<<2)>>2],(0|_e[h>>2])>>>0<=i>>>0&&(_e[Y>>2]=866,_e[4+Y>>2]=910,_e[8+Y>>2]=1497,Ce(U,812,Y),be(U)),_e[Q+12>>2]=_e[(0|_e[d>>2])+(i<<2)>>2]),2!=(0|(q=q+1|0));)Q=Q+16|0;if(2==(0|(ne=ne+1|0)))break;ie=ie+n|0}if((0|(J=_+J|0))==(0|l))break;oe=oe+c|0}if((0|(fe=fe+1|0))==(0|u))break;ue=ue+g|0}}while((0|(le=le+1|0))!=(0|N));return Te=se,1}(e,n,i,o,f,l,a,u)))return(i=0)|i;break;case 9:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,l,s,c,_,d,E,T,A,b,M,m,S,h,R,P,p,C,N,y,O,k,v,g,L,I,w,D,G,F=0,x=0,B=0,U=0,H=0,W=0,V=0,X=0,Y=0,K=0,z=0,j=0,J=Te;if(Te=Te+592|0,w=J+48|0,G=J+32|0,D=J+16|0,g=(I=J)+80|0,L=J+64|0,M=0|_e[(b=(e|=0)+272|0)>>2],v=0|_e[e+88>>2],m=(0|de[63+v>>0])<<8|0|de[64+v>>0],S=255&(v=0|ce[17+v>>0]),!(v<<24>>24))return Te=J,1;h=0==(0|u),P=(R=o+-1|0)<<4,p=u+-1|0,C=n<<1,N=e+92|0,y=e+116|0,O=e+164|0,k=e+268|0,v=e+212|0,A=0==(1&i|0),T=0==(1&a|0),E=e+288|0,d=e+284|0,t=i=j=0,a=1;do{if(!h)for(K=0|_e[r+(j<<2)>>2],z=0;;){if(F=0==(0|(_=1&z)),c=(_<<5^32)-16|0,_=(_<<1^2)-1|0,(0|(e=F?0:R))!=(0|(l=F?o:-1)))for(s=T|(0|z)!=(0|p),Y=F?K:K+P|0;;){for(1==(0|a)&&(a=512|Ae(N,y)),f=7&a,a>>>=3,x=0|de[1539+f>>0],F=0;t=(X=(V=(W=(0|Ae(N,O))+t|0)-M|0)>>31)&W|V&~X,(0|_e[b>>2])>>>0<=t>>>0&&(_e[I>>2]=866,_e[I+4>>2]=910,_e[I+8>>2]=1497,Ce(g,812,I),be(g)),_e[L+(F<<2)>>2]=Ee[(0|_e[k>>2])+(t<<1)>>1],F=F+1|0,F>>>0<x>>>0;);for(X=A|(0|e)!=(0|R),W=0,V=Y;H=s|0==(0|W),x=W<<1,U=(U=(B=(F=(0|Ae(N,v))+i|0)-m|0)>>31)&F|B&~U,X?(H&&(i=0|de[1547+(f<<2)+x>>0],F=3*U|0,(0|_e[E>>2])>>>0<=F>>>0&&(_e[D>>2]=866,_e[4+D>>2]=910,_e[8+D>>2]=1497,Ce(g,812,D),be(g)),B=(0|_e[d>>2])+(F<<1)|0,_e[V>>2]=(0|Ee[B>>1])<<16|_e[L+(i<<2)>>2],_e[V+4>>2]=(0|Ee[B+4>>1])<<16|0|Ee[B+2>>1]),B=V+8|0,i=(i=(U=(F=(0|Ae(N,v))+U|0)-m|0)>>31)&F|U&~i,H&&(F=0|de[1547+(f<<2)+(1|x)>>0],x=3*i|0,(0|_e[E>>2])>>>0<=x>>>0&&(_e[w>>2]=866,_e[4+w>>2]=910,_e[8+w>>2]=1497,Ce(g,812,w),be(g)),H=(0|_e[d>>2])+(x<<1)|0,_e[B>>2]=(0|Ee[H>>1])<<16|_e[L+(F<<2)>>2],_e[V+12>>2]=(0|Ee[H+4>>1])<<16|0|Ee[H+2>>1])):(H&&(i=0|de[1547+(f<<2)+x>>0],F=3*U|0,(0|_e[E>>2])>>>0<=F>>>0&&(_e[G>>2]=866,_e[4+G>>2]=910,_e[8+G>>2]=1497,Ce(g,812,G),be(g)),H=(0|_e[d>>2])+(F<<1)|0,_e[V>>2]=(0|Ee[H>>1])<<16|_e[L+(i<<2)>>2],_e[V+4>>2]=(0|Ee[H+4>>1])<<16|0|Ee[H+2>>1]),i=(i=(H=(U=(0|Ae(N,v))+U|0)-m|0)>>31)&U|H&~i),2!=(0|(W=W+1|0));)V=V+n|0;if((0|(e=_+e|0))==(0|l))break;Y=Y+c|0}if((0|(z=z+1|0))==(0|u))break;K=K+C|0}}while((0|(j=j+1|0))!=(0|S));return Te=J,1}(e,n,i,o,f,l,a,u)))return(i=0)|i;break;case 8:case 7:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,l,s,c,_,d,E,T,A,b,M,m,S,h,R,P,p,C,N,y,O,k,v,g,L,I,w,D,G,F,x,B,U=0,H=0,W=0,V=0,X=0,Y=0,K=0,z=0,j=0,J=0,$=0,Z=0,q=0,Q=0,ee=0,re=0,te=0,ne=0,ie=0,ae=Te;if(Te=Te+640|0,F=ae+80|0,G=ae+64|0,D=ae+48|0,B=ae+32|0,x=ae+16|0,L=(w=ae)+128|0,I=ae+112|0,b=ae+96|0,m=0|_e[(M=(e|=0)+272|0)>>2],g=0|_e[e+88>>2],S=(0|de[63+g>>0])<<8|0|de[64+g>>0],h=255&(g=0|ce[17+g>>0]),!(g<<24>>24))return Te=ae,1;R=0==(0|u),p=(P=o+-1|0)<<5,C=u+-1|0,N=n<<1,y=e+92|0,O=e+116|0,k=e+164|0,v=e+268|0,g=e+212|0,A=0==(1&i|0),T=0==(1&a|0),E=e+288|0,d=e+284|0,t=i=a=e=ie=0,U=1;do{if(!R)for(te=0|_e[r+(ie<<2)>>2],ne=0;;){if(W=0==(0|(_=1&ne)),c=(_<<6^64)-32|0,_=(_<<1^2)-1|0,(0|(H=W?0:P))!=(0|(l=W?o:-1)))for(s=T|(0|ne)!=(0|C),re=W?te:te+p|0;;){for(1==(0|U)&&(U=512|Ae(y,O)),f=7&U,U>>>=3,V=0|de[1539+f>>0],W=0;t=(ee=(Q=(q=(0|Ae(y,k))+t|0)-m|0)>>31)&q|Q&~ee,(0|_e[M>>2])>>>0<=t>>>0&&(_e[w>>2]=866,_e[w+4>>2]=910,_e[w+8>>2]=1497,Ce(L,812,w),be(L)),_e[I+(W<<2)>>2]=Ee[(0|_e[v>>2])+(t<<1)>>1],W=W+1|0,W>>>0<V>>>0;);for(W=0;a=(ee=(Q=(q=(0|Ae(y,k))+a|0)-m|0)>>31)&q|Q&~ee,(0|_e[M>>2])>>>0<=a>>>0&&(_e[x>>2]=866,_e[4+x>>2]=910,_e[8+x>>2]=1497,Ce(L,812,x),be(L)),_e[b+(W<<2)>>2]=Ee[(0|_e[v>>2])+(a<<1)>>1],W=W+1|0,W>>>0<V>>>0;);for(ee=A|(0|H)!=(0|P),q=0,Q=re;;){if(J=s|0==(0|q),$=q<<1,ee)for(z=0,j=Q;i=(i=(K=(Z=(0|Ae(y,g))+i|0)-S|0)>>31)&Z|K&~i,e=(e=(Z=(K=(0|Ae(y,g))+e|0)-S|0)>>31)&K|Z&~e,J&&(K=0|de[z+$+(1547+(f<<2))>>0],V=3*i|0,(W=0|_e[E>>2])>>>0<=V>>>0&&(_e[B>>2]=866,_e[4+B>>2]=910,_e[8+B>>2]=1497,Ce(L,812,B),be(L),W=0|_e[E>>2]),V=(X=0|_e[d>>2])+(V<<1)|0,Z=(W=(Y=3*e|0)>>>0<W>>>0?X:(_e[D>>2]=866,_e[4+D>>2]=910,_e[8+D>>2]=1497,Ce(L,812,D),be(L),0|_e[d>>2]))+(Y<<1)|0,_e[j>>2]=(0|Ee[V>>1])<<16|_e[I+(K<<2)>>2],_e[j+4>>2]=(0|Ee[V+4>>1])<<16|0|Ee[V+2>>1],_e[j+8>>2]=(0|Ee[Z>>1])<<16|_e[b+(K<<2)>>2],_e[j+12>>2]=(0|Ee[Z+4>>1])<<16|0|Ee[Z+2>>1]),2!=(0|(z=z+1|0));)j=j+16|0;else for(Z=1^J,J=1547+(f<<2)+$|0,z=0,j=Q;i=(i=(K=($=(0|Ae(y,g))+i|0)-S|0)>>31)&$|K&~i,e=(e=($=(K=(0|Ae(y,g))+e|0)-S|0)>>31)&K|$&~e,0!=(0|z)|Z||(K=0|de[J>>0],V=3*i|0,(W=0|_e[E>>2])>>>0<=V>>>0&&(_e[G>>2]=866,_e[4+G>>2]=910,_e[8+G>>2]=1497,Ce(L,812,G),be(L),W=0|_e[E>>2]),V=(X=0|_e[d>>2])+(V<<1)|0,$=(W=(Y=3*e|0)>>>0<W>>>0?X:(_e[F>>2]=866,_e[4+F>>2]=910,_e[8+F>>2]=1497,Ce(L,812,F),be(L),0|_e[d>>2]))+(Y<<1)|0,_e[j>>2]=(0|Ee[V>>1])<<16|_e[I+(K<<2)>>2],_e[j+4>>2]=(0|Ee[V+4>>1])<<16|0|Ee[V+2>>1],_e[j+8>>2]=(0|Ee[$>>1])<<16|_e[b+(K<<2)>>2],_e[j+12>>2]=(0|Ee[$+4>>1])<<16|0|Ee[$+2>>1]),2!=(0|(z=z+1|0));)j=j+16|0;if(2==(0|(q=q+1|0)))break;Q=Q+n|0}if((0|(H=_+H|0))==(0|l))break;re=re+c|0}if((0|(ne=ne+1|0))==(0|u))break;te=te+N|0}}while((0|(ie=ie+1|0))!=(0|h));return Te=ae,1}(e,n,i,o,f,l,a,u)))return(i=0)|i;break;default:return(i=0)|i}return 0|(i=1)}function K(e,r,t){e|=0,r|=0;var n,i,a;if(8192<=(0|(t|=0)))return 0|N(0|e,0|r,0|t);if(a=0|e,i=e+t|0,(3&e)==(3&r)){for(;3&e;){if(!t)return 0|a;ce[e>>0]=0|ce[r>>0],e=e+1|0,r=r+1|0,t=t-1|0}for(n=(t=-4&i|0)-64|0;(0|e)<=(0|n);)_e[e>>2]=_e[r>>2],_e[e+4>>2]=_e[r+4>>2],_e[e+8>>2]=_e[r+8>>2],_e[e+12>>2]=_e[r+12>>2],_e[e+16>>2]=_e[r+16>>2],_e[e+20>>2]=_e[r+20>>2],_e[e+24>>2]=_e[r+24>>2],_e[e+28>>2]=_e[r+28>>2],_e[e+32>>2]=_e[r+32>>2],_e[e+36>>2]=_e[r+36>>2],_e[e+40>>2]=_e[r+40>>2],_e[e+44>>2]=_e[r+44>>2],_e[e+48>>2]=_e[r+48>>2],_e[e+52>>2]=_e[r+52>>2],_e[e+56>>2]=_e[r+56>>2],_e[e+60>>2]=_e[r+60>>2],e=e+64|0,r=r+64|0;for(;(0|e)<(0|t);)_e[e>>2]=_e[r>>2],e=e+4|0,r=r+4|0}else for(t=i-4|0;(0|e)<(0|t);)ce[e>>0]=0|ce[r>>0],ce[e+1>>0]=0|ce[r+1>>0],ce[e+2>>0]=0|ce[r+2>>0],ce[e+3>>0]=0|ce[r+3>>0],e=e+4|0,r=r+4|0;for(;(0|e)<(0|i);)ce[e>>0]=0|ce[r>>0],e=e+1|0,r=r+1|0;return 0|a}function z(e,r,t){r|=0,t|=0;var n,i,a,o,u,f=0,l=0,s=0,c=0,_=0,d=Te;Te=Te+48|0,o=d+16|0,l=(s=d)+32|0,f=0|_e[(i=(e|=0)+28|0)>>2],_e[l>>2]=f,f=(0|_e[(a=e+20|0)>>2])-f|0,_e[l+4>>2]=f,_e[l+8>>2]=r,f=f+(_e[l+12>>2]=t)|0,n=e+60|0,_e[s>>2]=_e[n>>2],_e[s+4>>2]=l,_e[s+8>>2]=2,s=0|Le(0|k(146,0|s));e:do{if((0|f)!=(0|s)){for(r=2;!((0|s)<0);)if(f=f-s|0,r=((u=(_=0|_e[l+4>>2])>>>0<s>>>0)<<31>>31)+r|0,_=s-(u?_:0)|0,_e[(l=u?l+8|0:l)>>2]=(0|_e[l>>2])+_,_e[(u=l+4|0)>>2]=(0|_e[u>>2])-_,_e[o>>2]=_e[n>>2],_e[4+o>>2]=l,_e[8+o>>2]=r,(0|f)==(0|(s=0|Le(0|k(146,0|o))))){c=3;break e}_e[e+16>>2]=0,_e[i>>2]=0,_e[a>>2]=0,_e[e>>2]=32|_e[e>>2],t=2==(0|r)?0:t-(0|_e[l+4>>2])|0}else c=3}while(0);return 3==(0|c)&&(_=0|_e[e+44>>2],_e[e+16>>2]=_+(0|_e[e+48>>2]),_e[i>>2]=_,_e[a>>2]=_),Te=d,0|t}function j(e,r,t){e|=0,r|=0,t|=0;var n,i,a,o,u,f,l,s,c,_=0,d=0,E=Te;for(Te=Te+224|0,f=E+120|0,l=E+80|0,s=E,c=E+136|0,_=l,d=_+40|0;_=_+4|(_e[_>>2]=0),(0|_)<(0|d););return _e[f>>2]=_e[t>>2],t=(0|D(0,r,f,s,l))<0?-1:(_e[e+76>>2],u=32&(t=0|_e[e>>2]),(0|ce[e+74>>0])<1&&(_e[e>>2]=-33&t),0|_e[(_=e+48|0)>>2]?t=0|D(e,r,f,s,l):(n=0|_e[(d=e+44|0)>>2],_e[d>>2]=c,_e[(i=e+28|0)>>2]=c,_e[(a=e+20|0)>>2]=c,_e[_>>2]=80,_e[(o=e+16|0)>>2]=80+c,t=0|D(e,r,f,s,l),n&&(ze[7&_e[e+36>>2]](e,0,0),t=0==(0|_e[a>>2])?-1:t,_e[d>>2]=n,_e[_>>2]=0,_e[o>>2]=0,_e[i>>2]=0,_e[a>>2]=0)),_=0|_e[e>>2],_e[e>>2]=_|u,0==(32&_|0)?t:-1),Te=E,0|t}function J(e,r,t,n){e|=0,r|=0,t|=0,n|=0;var i,a,o,u,f,l,s,c=0,_=Te;for(Te=Te+64|0,l=_,f=0|_e[e>>2],s=e+(0|_e[f-8>>2])|0,f=0|_e[f-4>>2],_e[l>>2]=t,_e[l+4>>2]=e,_e[l+8>>2]=r,_e[l+12>>2]=n,e=l+16|0,r=l+20|0,n=l+24|0,i=l+28|0,a=l+32|0,o=l+40|0,c=e,u=c+36|0;c=c+4|(_e[c>>2]=0),(0|c)<(0|u););W[e+36>>1]=0,ce[e+38>>0]=0;e:do{if(0|De(f,t))_e[l+48>>2]=1,Qe[3&_e[20+(0|_e[f>>2])>>2]](f,l,s,s,1,0),e=1==(0|_e[n>>2])?s:0;else{switch(je[3&_e[24+(0|_e[f>>2])>>2]](f,l,s,1,0),0|_e[l+36>>2]){case 0:e=1==(0|_e[o>>2])&1==(0|_e[i>>2])&1==(0|_e[a>>2])?0|_e[r>>2]:0;break e;case 1:break;default:e=0;break e}if(1!=(0|_e[n>>2])&&!(0==(0|_e[o>>2])&1==(0|_e[i>>2])&1==(0|_e[a>>2]))){e=0;break}e=0|_e[e>>2]}}while(0);return Te=_,0|e}function $(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=Te;if(Te=Te+544|0,o=f+16|0,i=(r=f)+32|0,8192<=((t=0|_e[(a=(e|=0)+8|0)>>2])+-1|0)>>>0&&(_e[r>>2]=866,_e[r+4>>2]=3006,_e[r+8>>2]=1257,Ce(i,812,r),be(i)),_e[e>>2]=t,u=(r=0|_e[(n=e+20|0)>>2])?t:((r=0|te(180,0))?(_e[(u=r+164|0)>>2]=0,_e[u+4>>2]=0,_e[u+8>>2]=0,_e[u+12>>2]=0):r=0,_e[n>>2]=r,0|_e[e>>2]),o=0|_e[a>>2]?u:(_e[o>>2]=866,_e[o+4>>2]=910,_e[o+8>>2]=1497,Ce(i,812,o),be(i),0|_e[e>>2]),i=0|_e[e+4>>2],!(16<o>>>0))return e=(e=0)|G(r,u,i,e),Te=f,0|e;for(t=o,n=0;a=n+1|0,3<t>>>0;)t>>>=1,n=a;return e=0|G(r,u,i,e=255&((e=n+2+(32!=(0|a)&1<<a>>>0<o>>>0&1)|0)>>>0<11?e:11)),Te=f,0|e}function Z(e){var r,t,n,i,a,o=0,u=0,f=Te;Te=Te+576|0,i=f+48|0,a=f+32|0,t=f+16|0,n=(r=f)+64|0,o=0|_e[(e|=0)+168>>2];do{if(0|o){if(u=0|_e[o+-4>>2],o=o+-8|0,0!=(0|u)&&(0|u)==(0|~_e[o>>2])||(_e[r>>2]=866,_e[r+4>>2]=651,_e[r+8>>2]=1579,Ce(n,812,r),be(n)),7&o){_e[t>>2]=866,_e[4+t>>2]=2506,_e[8+t>>2]=1232,Ce(n,812,t),be(n);break}ue(o,0,0,1,0);break}}while(0);Te=((o=0|_e[e+176>>2])&&(u=0|_e[o+-4>>2],o=o+-8|0,0!=(0|u)&&(0|u)==(0|~_e[o>>2])||(_e[a>>2]=866,_e[4+a>>2]=651,_e[8+a>>2]=1579,Ce(n,812,a),be(n)),7&o?(_e[i>>2]=866,_e[4+i>>2]=2506,_e[8+i>>2]=1232,Ce(n,812,i),be(n)):ue(o,0,0,1,0)),f)}function q(e,r,t){var n;return!(0!=(0|(e|=0))&73<(r|=0)>>>0&0!=(0|(t|=0)))||40!=(0|_e[t>>2])||18552!=((0|de[e>>0])<<8|0|de[e+1>>0]|0)||((0|de[e+2>>0])<<8|0|de[e+3>>0])>>>0<74||((0|de[e+7>>0])<<16|(0|de[e+6>>0])<<24|(0|de[e+8>>0])<<8|0|de[e+9>>0])>>>0>r>>>0?(t=0)|t:(_e[t+4>>2]=(0|de[e+12>>0])<<8|0|de[e+13>>0],_e[t+8>>2]=(0|de[e+14>>0])<<8|0|de[e+15>>0],_e[t+12>>2]=de[e+16>>0],_e[t+16>>2]=de[e+17>>0],r=e+18|0,_e[(n=t+32|0)>>2]=de[r>>0],r=(_e[4+n>>2]=0)|ce[r>>0],_e[t+20>>2]=r<<24>>24==0|r<<24>>24==9?8:16,_e[t+24>>2]=(0|de[e+26>>0])<<16|(0|de[e+25>>0])<<24|(0|de[e+27>>0])<<8|0|de[e+28>>0],_e[t+28>>2]=(0|de[e+30>>0])<<16|(0|de[e+29>>0])<<24|(0|de[e+31>>0])<<8|0|de[e+32>>0],0|(t=1))}function Q(e,r){e|=0;var t,n,i=0,a=0,o=0,u=0,f=0,l=Te;if(Te=Te+544|0,f=l+16|0,u=(i=l)+32|0,33<=(r|=0)>>>0&&(_e[i>>2]=866,_e[i+4>>2]=3199,_e[i+8>>2]=1350,Ce(u,812,i),be(u)),(0|r)<=(0|(i=0|_e[(n=e+20|0)>>2])))return u=i,f=(a=0|_e[(o=a=e+16|0)>>2])>>>(f=32-r|0),a<<=r,_e[o>>2]=a,r=u-r|0,_e[n>>2]=r,Te=l,0|f;for(a=e+4|0,o=e+8|0,t=e+16|0;e=(0|(e=0|_e[a>>2]))==(0|_e[o>>2])?0:(_e[a>>2]=e+1,0|de[e>>0]),i=i+8|0,33<=(0|(_e[n>>2]=i))&&(_e[f>>2]=866,_e[f+4>>2]=3208,_e[f+8>>2]=1366,Ce(u,812,f),be(u),i=0|_e[n>>2]),e=e<<32-i|_e[t>>2],_e[t>>2]=e,(0|i)<(0|r););return f=e>>>(f=32-r|0),u=e<<r,_e[t>>2]=u,r=i-r|0,_e[n>>2]=r,Te=l,0|f}function ee(e,r,t){e|=0,r|=0;var n,i=0,a=0,o=0,u=0;(a=0|_e[(i=(t|=0)+16|0)>>2])?o=5:0|Me(t)?i=0:(a=0|_e[i>>2],o=5);e:do{if(5==(0|o)){if((a-(i=u=0|_e[(n=t+20|0)>>2])|0)>>>0<r>>>0){i=0|ze[7&_e[t+36>>2]](t,e,r);break}r:do{if(-1<(0|ce[t+75>>0])){for(u=r;;){if(!u){o=0,a=e;break r}if(10==(0|ce[e+(a=u+-1|0)>>0]))break;u=a}if((i=0|ze[7&_e[t+36>>2]](t,e,u))>>>0<u>>>0)break e;a=e+(o=u)|0,r=r-u|0,i=0|_e[n>>2]}else o=0,a=e}while(0);K(0|i,0|a,0|r),_e[n>>2]=(0|_e[n>>2])+r,i=o+r|0}}while(0);return 0|i}function re(e){var r,t=0,n=0,i=0,a=Te;Te=Te+544|0,i=a+16|0,r=(n=a)+32|0,t=0|_e[(e|=0)+20>>2];do{if(0|t){if(Z(t),7&t){_e[n>>2]=866,_e[n+4>>2]=2506,_e[n+8>>2]=1232,Ce(r,812,n),be(r);break}ue(t,0,0,1,0);break}}while(0);if(!(n=0|_e[(t=e+4|0)>>2]))return ce[(i=e+16|0)>>0]=0,void(Te=a);7&n?(_e[i>>2]=866,_e[i+4>>2]=2506,_e[i+8>>2]=1232,Ce(r,812,i),be(r)):ue(n,0,0,1,0),_e[t>>2]=0,_e[e+8>>2]=0,_e[e+12>>2]=0,ce[(i=e+16|0)>>0]=0,Te=a}function te(e,r){r|=0;var t,n,i,a=0,o=0,u=0,f=Te;return Te=Te+560|0,u=f+32|0,i=f+16|0,n=(a=f)+48|0,t=f+44|0,2147418112<(o=0|(o=(e|=0)+3&-4)?o:4)>>>0?(_e[a>>2]=866,_e[a+4>>2]=2506,_e[a+8>>2]=1103,Ce(n,812,a),be(n),Te=f,(u=0)|u):(e=0|ue(0,_e[t>>2]=o,t,1,0),a=0|_e[t>>2],0|r&&(_e[r>>2]=a),0==(0|e)|a>>>0<o>>>0?(_e[i>>2]=866,_e[4+i>>2]=2506,_e[8+i>>2]=1129,Ce(n,812,i),be(n),e=0):7&e&&(_e[u>>2]=866,_e[u+4>>2]=2533,_e[u+8>>2]=1156,Ce(n,812,u),be(n)),Te=f,0|(u=e))}function ne(e,r,t){r|=0;var n,i,a,o=(e|=0)+(t|=0)|0;if(r&=255,67<=(0|t)){for(;3&e;)ce[e>>0]=r,e=e+1|0;for(i=(n=-4&o|0)-64|0,a=r|r<<8|r<<16|r<<24;(0|e)<=(0|i);)_e[e>>2]=a,_e[e+4>>2]=a,_e[e+8>>2]=a,_e[e+12>>2]=a,_e[e+16>>2]=a,_e[e+20>>2]=a,_e[e+24>>2]=a,_e[e+28>>2]=a,_e[e+32>>2]=a,_e[e+36>>2]=a,_e[e+40>>2]=a,_e[e+44>>2]=a,_e[e+48>>2]=a,_e[e+52>>2]=a,_e[e+56>>2]=a,_e[e+60>>2]=a,e=e+64|0;for(;(0|e)<(0|n);)_e[e>>2]=a,e=e+4|0}for(;(0|e)<(0|o);)ce[e>>0]=r,e=e+1|0;return o-t|0}function ae(e,r,t,n,i){e|=0,t|=0,n|=0,i|=0;var a,o,u,f;ce[(r|=0)+53>>0]=1;do{if((0|_e[r+4>>2])==(0|n)){if(ce[r+52>>0]=1,u=r+54|0,f=r+48|0,o=r+24|0,e=r+36|0,!(a=0|_e[(n=r+16|0)>>2])){if(_e[n>>2]=t,_e[o>>2]=i,!((_e[e>>2]=1)==(0|_e[f>>2])&1==(0|i)))break;ce[u>>0]=1;break}if((0|a)!=(0|t)){_e[e>>2]=1+(0|_e[e>>2]),ce[u>>0]=1;break}2==(0|(e=0|_e[o>>2]))&&(e=_e[o>>2]=i),1==(0|_e[f>>2])&1==(0|e)&&(ce[u>>0]=1)}}while(0)}function oe(e,r){e|=0;var t,n,i=0,a=0,o=0,u=0,f=Te;Te=Te+16|0,n=255&(r|=0),ce[(t=f)>>0]=n,(o=0|_e[(a=e+16|0)>>2])?u=4:0|Me(e)?i=-1:(o=0|_e[a>>2],u=4);do{if(4==(0|u)){if((a=0|_e[(u=e+20|0)>>2])>>>0<o>>>0&&(0|(i=255&r))!=(0|ce[e+75>>0])){_e[u>>2]=a+1,ce[a>>0]=n;break}i=1==(0|ze[7&_e[e+36>>2]](e,t,1))?0|de[t>>0]:-1}}while(0);return Te=f,0|i}function ue(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0,i|=0;do{if(e){if(!r){if(F(e),!t){r=0;break}r=_e[t>>2]=0;break}n?e=0==(0|(r=0|function(e,r){r|=0;var t=0,n=0;if(!(e|=0))return 0|(r=0|I(r));if(4294967231<r>>>0)return _e[(r=296)>>2]=12,(r=0)|r;if(0|(t=0|function(e,r){r|=0;var t,n,i=0,a=0,o=0,u=0,f=0,l=0,s=0,c=(e|=0)+(i=-8&(l=0|_e[(s=e+4|0)>>2]))|0;if(!(3&l))return!(r>>>0<256)&&(r+4|0)>>>0<=i>>>0&&(i-r|0)>>>0<=_e[1264]<<1>>>0?0|e:(e=0)|e;if(r>>>0<=i>>>0)return(i=i-r|0)>>>0<=15||(f=e+r|0,_e[s>>2]=1&l|r|2,_e[f+4>>2]=3|i,_e[(s=f+i+4|0)>>2]=1|_e[s>>2],x(f,i)),0|e;if((0|c)==(0|_e[1150]))return i=(f=(0|_e[1147])+i|0)-r|0,a=e+r|0,f>>>0<=r>>>0?(e=0)|e:(_e[s>>2]=1&l|r|2,_e[a+4>>2]=1|i,_e[1150]=a,_e[1147]=i,0|e);if((0|c)==(0|_e[1149]))return(o=(0|_e[1146])+i|0)>>>0<r>>>0?(e=0)|e:(a=1&l,15<(i=o-r|0)>>>0?(f=(l=e+r|0)+i|0,_e[s>>2]=a|r|2,_e[l+4>>2]=1|i,_e[f>>2]=i,_e[(a=f+4|0)>>2]=-2&_e[a>>2],a=l):(_e[s>>2]=a|o|2,_e[(a=e+o+4|0)>>2]=1|_e[a>>2],i=a=0),_e[1146]=i,_e[1149]=a,0|e);if(2&(a=0|_e[4+c>>2])|0)return(e=0)|e;if((n=(-8&a)+i|0)>>>0<r>>>0)return(e=0)|e;f=n-r|0,o=a>>>3;do{if(a>>>0<256){if(a=0|_e[8+c>>2],(0|(i=0|_e[12+c>>2]))==(0|a)){_e[1144]=_e[1144]&~(1<<o);break}_e[a+12>>2]=i,_e[i+8>>2]=a;break}t=0|_e[24+c>>2],i=0|_e[12+c>>2];do{if((0|i)==(0|c)){if(i=0|_e[(a=(o=16+c|0)+4|0)>>2])u=a;else{if(!(i=0|_e[o>>2])){o=0;break}u=o}for(;;)if(0|(a=0|_e[(o=i+20|0)>>2]))i=a,u=o;else{if(!(o=0|_e[(a=i+16|0)>>2]))break;i=o,u=a}_e[u>>2]=0,o=i}else o=0|_e[8+c>>2],_e[o+12>>2]=i,_e[i+8>>2]=o,o=i}while(0);if(0|t){if(i=0|_e[28+c>>2],(0|c)==(0|_e[(a=4880+(i<<2)|0)>>2])){if(!(_e[a>>2]=o)){_e[1145]=_e[1145]&~(1<<i);break}}else if(!(_e[16+t+(((0|_e[16+t>>2])!=(0|c)&1)<<2)>>2]=o))break;_e[o+24>>2]=t,0|(a=0|_e[(i=16+c|0)>>2])&&(_e[o+16>>2]=a,_e[a+24>>2]=o),0|(i=0|_e[i+4>>2])&&(_e[o+20>>2]=i,_e[i+24>>2]=o)}}while(0);return i=1&l,f>>>0<16?(_e[s>>2]=n|i|2,_e[(s=e+n+4|0)>>2]=1|_e[s>>2]):(l=e+r|0,_e[s>>2]=i|r|2,_e[l+4>>2]=3|f,_e[(s=l+f+4|0)>>2]=1|_e[s>>2],x(l,f)),0|e}(e+-8|0,r>>>0<11?16:r+11&-8)))return 0|(r=t+8|0);return(t=0|I(r))?(n=0|_e[e+-4>>2],K(0|t,0|e,0|((n=(-8&n)-(0==(3&n|0)?8:4)|0)>>>0<r>>>0?n:r)),F(e),0|(r=t)):(r=0)|r}(e,r)))?e:r:r=0,t&&(i=0|pe(e),_e[t>>2]=i)}else r=0|I(r),t&&(e=r?0|pe(r):0,_e[t>>2]=e)}while(0);return 0|r}function fe(e,r,t){t|=0;var n;if(0<(r|=0)>>>0|0==(0|r)&4294967295<(e|=0)>>>0){for(;n=0|Pe(0|e,0|r,10,0),ce[(t=t+-1|0)>>0]=255&n|48,e=0|Fe(0|(n=e),0|r,10,0),9<r>>>0|9==(0|r)&4294967295<n>>>0;)r=L;r=e}else r=e;if(r)for(;ce[(t=t+-1|0)>>0]=(r>>>0)%10|48,!(r>>>0<10);)r=(r>>>0)/10|0;return 0|t}function le(e,r,t,n){e|=0,t|=0,n|=0;var i=0|_e[(e=(r|=0)+16|0)>>2],a=r+36|0,o=r+24|0;do{if(i){if((0|i)!=(0|t)){_e[a>>2]=1+(0|_e[a>>2]),_e[o>>2]=2,ce[r+54>>0]=1;break}2==(0|_e[o>>2])&&(_e[o>>2]=n)}else _e[e>>2]=t,_e[o>>2]=n,_e[a>>2]=1}while(0)}function be(e){e|=0;var r=0,t=0,n=0|_e[119];_e[76+n>>2];do{if((0|function(e,r){r|=0;var t=0;return t=0|function(e){var r=0,t=0,n=0,n=e|=0;e:do{if(3&n)for(r=n;;){if(!(0|ce[e>>0])){e=r;break e}if(!(3&(r=e=e+1|0))){t=4;break}}else t=4}while(0);if(4==(0|t)){for(;!((-2139062144&(r=0|_e[e>>2])^-2139062144)&r+-16843009);)e=e+4|0;if((255&r)<<24>>24)for(;e=e+1|0,0!=(0|ce[e>>0]););}return e-n|0}(e=e|0),((0|function(e,r,t,n){e|=0,n|=0;var i=0;i=0|ie(t|=0,r|=0),t=0==(0|r)?0:t,e=(_e[n+76>>2],0|ee(e,i,n));(0|e)!=(0|i)&&(t=(e>>>0)/(r>>>0)|0);return 0|t}(e,1,t,r))!=(0|t))<<31>>31|0}(e,n))<0)e=1;else{if(10!=(0|ce[75+n>>0])&&(t=0|_e[(r=20+n|0)>>2])>>>0<(0|_e[16+n>>2])>>>0){_e[r>>2]=t+1,ce[t>>0]=10,e=0;break}e=(0|oe(n,10))<0}}while(0);return e<<31>>31|0}function se(e,r,t,n,i){e|=0,r|=0;var a,o=Te;if(Te=Te+256|0,a=o,(0|(n|=0))<(0|(t|=0))&0==(73728&(i|=0)|0)){if(ne(0|a,0|r,0|((i=t-n|0)>>>0<256?i:256)),255<i>>>0){for(r=t-n|0;Ie(e,a,256),i=i+-256|0,255<i>>>0;);i=255&r}Ie(e,a,i)}Te=o}function Me(e){var r=0,t=0|ce[(r=(e|=0)+74|0)>>0];return ce[r>>0]=255+t|t,0|(e=8&(r=0|_e[e>>2])?(_e[e>>2]=32|r,-1):(_e[e+8>>2]=0,t=(_e[e+4>>2]=0)|_e[e+44>>2],_e[e+28>>2]=t,_e[e+20>>2]=t,_e[e+16>>2]=t+(0|_e[e+48>>2]),0))}function me(e){var r=0,t=0;return 0<(0|(t=(e|=0)+15&-16|0))&(0|(e=(r=0|_e[_>>2])+t|0))<(0|r)|(0|e)<0?(M(),P(12),-1):(0|(_e[_>>2]=e))>(0|b())&&0==(0|A())?(_e[_>>2]=r,P(12),-1):0|r}function Se(e){var r=0,t=0,n=0,t=0|_e[(e|=0)>>2];if((n=(0|ce[t>>0])-48|0)>>>0<10)for(r=0;r=n+(10*r|0)|0,t=t+1|0,_e[e>>2]=t,n=(0|ce[t>>0])-48|0,n>>>0<10;);else r=0;return 0|r}function he(e){var r=0;return(0|(r=0|ce[d+(255&(e|=0))>>0]))<8?0|r:(0|(r=0|ce[d+(e>>8&255)>>0]))<8?r+8|0:(0|(r=0|ce[d+(e>>16&255)>>0]))<8?r+16|0:24+(0|ce[d+(e>>>24)>>0])|0}function Re(e,r,t,n){t|=0,n|=0;var i=0;(0|_e[(r|=0)+4>>2])==(0|t)&&1!=(0|_e[(i=r+28|0)>>2])&&(_e[i>>2]=n)}function Pe(e,r,t,n){var i,a=Te;return Te=Te+16|0,B(e|=0,r|=0,t|=0,n|=0,i=0|a),Te=a,0|(L=0|_e[4+i>>2],0|_e[i>>2])}function pe(e){var r;return(e|=0)?0|(1==(0|(e=3&(r=0|_e[e+-4>>2])))?0:(-8&r)-(0==(0|e)?8:4)|0):0}function Ce(e,r,t){e|=0,r|=0,t|=0;var n=0,i=Te;return Te=Te+16|0,_e[(n=i)>>2]=t,t=0|(e=e,r=r,n=n,0|function(e,r,t,n){e|=0,r|=0,t|=0,n|=0;var i,a=0,o=0,u=0,f=0,l=0,s=Te;for(Te=Te+128|0,a=s+124|0,l=s,o=l,u=604,i=o+124|0;_e[o>>2]=_e[u>>2],o=o+4|0,u=u+4|0,(0|o)<(0|i););return 2147483646<(r+-1|0)>>>0?r?(_e[(r=296)>>2]=75,r=-1):(e=a,r=1,f=4):f=4,4==(0|f)&&(f=(f=-2-e|0)>>>0<r>>>0?f:r,_e[l+48>>2]=f,_e[(a=l+20|0)>>2]=e,r=(_e[l+44>>2]=e)+f|0,_e[(e=l+16|0)>>2]=r,_e[l+28>>2]=r,r=0|j(l,t,n),f&&(l=0|_e[a>>2],ce[l+(((0|l)==(0|_e[e>>2]))<<31>>31)>>0]=0)),Te=s,0|r}(e|=0,2147483647,r|=0,n|=0)),Te=i,0|t}function Ne(e,r,t){return e|=0,r|=0,(0|(t|=0))<32?(L=r<<t|(e&(1<<t)-1<<32-t)>>>32-t,e<<t):(L=e<<t-32,0)}function ye(e,r,t){return e|=0,r|=0,(0|(t|=0))<32?(L=r>>>t,e>>>t|(r&(1<<t)-1)<<32-t):r>>>t-32|(L=0)}function Oe(e,r){e|=0,r|=0;var t=Te;Te=Te+16|0,_e[t>>2]=r,j(r=0|_e[26],e,t),function(e,r){var t=0,n=0,i=0,a=0,o=255&(e|=0),t=255&e;_e[(r|=0)+76>>2],a=3;do{if(3==(0|a)){if((0|t)!=(0|ce[r+75>>0])&&(i=0|_e[(n=r+20|0)>>2])>>>0<(0|_e[r+16>>2])>>>0){_e[n>>2]=i+1,ce[i>>0]=o;break}t=0|oe(r,e)}}while(0)}(10,r),p()}function ke(e,r,t,n){return 0|(L=n=(r|=0)-(n|=0)-((e|=0)>>>0<(t|=0)>>>0|0)>>>0,e-t>>>0|0)}function ve(e){e=+e;var r;return v[g>>3]=e,r=0|_e[g>>2],L=0|_e[g+4>>2],0|r}function ge(e,r,t,n){return 0|(L=(r|=0)+(n|=0)+((t=(e|=0)+(t|=0)>>>0)>>>0<e>>>0|0)>>>0,0|t)}function Le(e){return 4294963200<(e|=0)>>>0&&(_e[74]=0-e,e=-1),0|e}function Ie(e,r,t){r|=0,t|=0,32&_e[(e|=0)>>2]||ee(r,t,e)}function we(e,r){return r|=0,0|(e=(e|=0)?0|function(e,r){e|=0,r|=0;do{if(e){if(r>>>0<128){ce[e>>0]=r,e=1;break}if(!(0|_e[_e[420>>2]>>2])){if(57216==(-128&r|0)){ce[e>>0]=r,e=1;break}_e[(e=296)>>2]=84,e=-1;break}if(r>>>0<2048){ce[e>>0]=r>>>6|192,ce[e+1>>0]=63&r|128,e=2;break}if(r>>>0<55296|57344==(-8192&r|0)){ce[e>>0]=r>>>12|224,ce[e+1>>0]=r>>>6&63|128,ce[e+2>>0]=63&r|128,e=3;break}if((r+-65536|0)>>>0<1048576){ce[e>>0]=r>>>18|240,ce[e+1>>0]=r>>>12&63|128,ce[e+2>>0]=r>>>6&63|128,ce[e+3>>0]=63&r|128,e=4;break}_e[(e=296)>>2]=84,e=-1;break}}while(e=1,0);return 0|e}(e,r):0)}function De(e,r){return(0|(e|=0))==(0|(r|=0))|0}function Ge(e,r){var t=0|xe(0|(e|=0));return 0|(0==(0|(r|=0))?e:t)}function Fe(e,r,t,n){return 0|B(e|=0,r|=0,t|=0,n|=0,0)}function xe(e){return(255&(e|=0))<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function Be(e,r,t,n,i,a){E(6)}function Ue(e,r,t,n,i){E(1)}function He(e){e=e|=0,F(e|=0)}function We(e,r,t,n){E(7)}function Ve(e,r,t){return E(0),0}function Xe(e){}function Ye(e){E(2)}function Ke(){E(5)}var ze=[Ve,z,function(e,r,t){e|=0,r|=0,t|=0;var n,i,a=Te;return Te=Te+32|0,n=(i=a)+20|0,_e[i>>2]=_e[e+60>>2],_e[i+4>>2]=0,_e[i+8>>2]=r,_e[i+12>>2]=n,_e[i+16>>2]=t,e=(0|Le(0|O(140,0|i)))<0?_e[n>>2]=-1:0|_e[n>>2],Te=a,0|e},function(e,r,t){r|=0,t|=0;var n=0,i=Te;return Te=Te+32|0,n=i,_e[(e|=0)+36>>2]=1,0==(64&_e[e>>2]|0)&&(_e[n>>2]=_e[e+60>>2],_e[n+4>>2]=21523,_e[n+8>>2]=i+16,0|S(54,0|n))&&(ce[e+75>>0]=-1),n=0|z(e,r,t),Te=i,0|n},function(e,r,t){r|=0,t|=0;var n=0,i=0;return K(0|(i=0|_e[(n=(e|=0)+20|0)>>2]),0|r,0|(e=t>>>0<(e=(0|_e[e+16>>2])-i|0)>>>0?t:e)),_e[n>>2]=(0|_e[n>>2])+e,0|t},function(e,r,t){t|=0;var n,i,a=0,o=Te;if(Te=Te+64|0,i=o,0|De(e|=0,r|=0))r=1;else if(0!=(0|r)&&0!=(0|(a=0|J(r,32,16,0)))){for(r=i+4|0,n=r+52|0;r=r+4|(_e[r>>2]=0),(0|r)<(0|n););_e[i>>2]=a,_e[i+8>>2]=e,_e[i+12>>2]=-1,_e[i+48>>2]=1,er[3&_e[28+(0|_e[a>>2])>>2]](a,i,0|_e[t>>2],1),r=1==(0|_e[i+24>>2])?(_e[t>>2]=_e[i+16>>2],1):0}else r=0;return Te=o,0|r},Ve,Ve],je=[Ue,function(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0;var a=0;do{if(0|De(e,0|_e[r+8>>2]))Re(0,r,t,n);else if(0|De(e,0|_e[r>>2])){if(e=r+32|0,(0|_e[r+16>>2])!=(0|t)&&(0|_e[(a=r+20|0)>>2])!=(0|t)){_e[e>>2]=n,_e[a>>2]=t,_e[(n=r+40|0)>>2]=1+(0|_e[n>>2]),1==(0|_e[r+36>>2])&&2==(0|_e[r+24>>2])&&(ce[r+54>>0]=1),_e[r+44>>2]=4;break}1==(0|n)&&(_e[e>>2]=1)}}while(0)},function(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0,i|=0;var a,o=0,u=0,f=0;do{if(0|De(e,0|_e[r+8>>2]))Re(0,r,t,n);else{if(o=e+8|0,!(0|De(e,0|_e[r>>2]))){f=0|_e[o>>2],je[3&_e[24+(0|_e[f>>2])>>2]](f,r,t,n,i);break}if(e=r+32|0,(0|_e[r+16>>2])!=(0|t)&&(0|_e[(u=r+20|0)>>2])!=(0|t)){if(_e[e>>2]=n,4==(0|_e[(n=r+44|0)>>2]))break;ce[(e=r+52|0)>>0]=0,o=(ce[(a=r+53|0)>>0]=0)|_e[o>>2],Qe[3&_e[20+(0|_e[o>>2])>>2]](o,r,t,t,1,i),0|ce[a>>0]?0|ce[e>>0]?e=3:(e=3,f=11):(e=4,f=11),11==(0|f)&&(_e[u>>2]=t,_e[(a=r+40|0)>>2]=1+(0|_e[a>>2]),1==(0|_e[r+36>>2])&&2==(0|_e[r+24>>2])&&(ce[r+54>>0]=1)),_e[n>>2]=e;break}1==(0|n)&&(_e[e>>2]=1)}}while(0)},Ue],Je=[Ye,Xe,He,Xe,Xe,He,function(e){var r=Te;Te=Te+16|0,F(e|=0),0|h(0|_e[1285],0)?Oe(4406,r):Te=r},Ye],$e=[function(e){return E(3),0},function(e){var r,t,n=Te;return Te=Te+16|0,r=n,e=0|(t=0|_e[(e|=0)+60>>2],0|(t|=0)),_e[r>>2]=e,e=0|Le(0|R(6,0|r)),Te=n,0|e}],Ze=[function(e,r,t){E(4)}],qe=[Ke,function(){var e,r,t,n,i=0,a=0,o=0,u=Te;Te=Te+48|0,n=u+32|0,r=u+24|0,o=u+16|0,u=(t=u)+36|0,0|(i=0|function(){var e=0,r=0;{if(Te=(e=Te)+16|0,!(0|C(5136,2)))return r=0|m(0|_e[1285]),Te=e,0|r;Oe(4307,e)}return 0}())&&0|(a=0|_e[i>>2])&&(1126902528==(-256&(e=0|_e[(i=a+48|0)>>2])|0)&1129074247==(0|(i=0|_e[i+4>>2]))||(_e[r>>2]=4168,Oe(4118,r)),i=1126902529==(0|e)&1129074247==(0|i)?0|_e[a+44>>2]:a+80|0,_e[u>>2]=i,a=0|_e[a>>2],i=0|_e[a+4>>2],0|ze[7&_e[16+(0|_e[2])>>2]](8,a,u)?(o=0|_e[u>>2],o=0|$e[1&_e[8+(0|_e[o>>2])>>2]](o),_e[t>>2]=4168,_e[t+4>>2]=i,_e[t+8>>2]=o,Oe(4032,t)):(_e[o>>2]=4168,_e[o+4>>2]=i,Oe(4077,o))),Oe(4156,n)},function(){var e=Te;Te=Te+16|0,0|y(5140,6)?Oe(4356,e):Te=e},Ke],Qe=[Be,function(e,r,t,n,i,a){t|=0,n|=0,i|=0,0|De(e|=0,0|_e[(r|=0)+8>>2])&&ae(0,r,t,n,i)},function(e,r,t,n,i,a){t|=0,n|=0,i|=0,a|=0,0|De(e|=0,0|_e[(r|=0)+8>>2])?ae(0,r,t,n,i):(e=0|_e[e+8>>2],Qe[3&_e[20+(0|_e[e>>2])>>2]](e,r,t,n,i,a))},Be],er=[We,function(e,r,t,n){t|=0,n|=0,0|De(e|=0,0|_e[(r|=0)+8>>2])&&le(0,r,t,n)},function(e,r,t,n){t|=0,n|=0,0|De(e|=0,0|_e[(r|=0)+8>>2])?le(0,r,t,n):(e=0|_e[e+8>>2],er[3&_e[28+(0|_e[e>>2])>>2]](e,r,t,n))},We];return{stackSave:function(){return 0|Te},_i64Subtract:ke,_crn_get_bytes_per_block:function(e,r){e|=0,r|=0;var t,n,i=0,a=Te;switch(Te=Te+576|0,n=a+40|0,t=a+56|0,_e[(i=a)>>2]=40,q(e,r,i),e=0|_e[(r=i+32|0)+4>>2],0|_e[r>>2]){case 0:if(!e)return Te=a,0|(i=8);e=14;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:e=e?14:13;break;case 9:case 10:if(!e)return Te=a,0|(i=8);e=14;break;default:e=14}return 13==(0|e)?(Te=a,0|(i=16)):14==(0|e)?(_e[n>>2]=866,_e[4+n>>2]=2672,_e[8+n>>2]=1251,Ce(t,812,n),be(t),Te=a,(i=0)|i):0},setThrew:function(e,r){},dynCall_viii:function(e,r,t,n){r|=0,t|=0,n|=0,Ze[0&(e|=0)](0|r,0|t,0|n)},_bitshift64Lshr:ye,_bitshift64Shl:Ne,dynCall_viiii:function(e,r,t,n,i){r|=0,t|=0,n|=0,i|=0,er[3&(e|=0)](0|r,0|t,0|n,0|i)},setTempRet0:function(e){L=e|=0},_crn_decompress:function(e,r,t,n,i,a){e|=0,r|=0,t|=0,n|=0,i|=0,a|=0;var o,u,f,l=0,s=0,c=0,_=0,d=0,E=Te;switch(Te=Te+592|0,f=E+56|0,c=E+40|0,o=E+72|0,u=(d=E)+68|0,_e[d>>2]=40,q(e,r,d),l=(0|_e[d+4>>2])>>>i,s=(0|_e[d+8>>2])>>>i,n=0|_e[(d=d+32|0)+4>>2],0|_e[d>>2]){case 0:n?_=14:d=8;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:_=n?14:13;break;case 9:case 10:n?_=14:d=8;break;default:_=14}13==(0|_)?d=16:14==(0|_)&&(_e[c>>2]=866,_e[c+4>>2]=2672,_e[c+8>>2]=1251,Ce(o,812,c),be(o),d=0),_e[u>>2]=t,_=0|function(e,r){var t=0,n=0,i=0,a=0,o=0,u=0,f=0,l=0,s=0,c=0,_=0,d=0;if(Te=(_=Te)+528|0,u=(s=_)+16|0,0==(0|(e|=0))|(r|=0)>>>0<62)return Te=_,(d=0)|d;if(!(f=0|te(300,0)))return Te=_,(d=0)|d;_e[f>>2]=519686845,_e[4+f>>2]=0,_e[8+f>>2]=0,l=88+f|0,t=136+f|0,n=160+f|0,i=184+f|0,a=208+f|0,o=232+f|0,_e[(c=252+f|0)>>2]=0,_e[c+4>>2]=0,_e[c+8>>2]=0,ce[c+12>>0]=0,_e[(c=268+f|0)>>2]=0,_e[c+4>>2]=0,_e[c+8>>2]=0,ce[c+12>>0]=0,_e[(c=284+f|0)>>2]=0,_e[c+4>>2]=0,_e[c+8>>2]=0,ce[c+12>>0]=0,d=44+(c=l)|0;for(;_e[c>>2]=0,c=c+4|0,(0|c)<(0|d););if(ce[44+l>>0]=0,_e[t>>2]=0,_e[4+t>>2]=0,_e[8+t>>2]=0,_e[12+t>>2]=0,_e[16+t>>2]=0,ce[20+t>>0]=0,_e[n>>2]=0,_e[4+n>>2]=0,_e[8+n>>2]=0,_e[12+n>>2]=0,_e[16+n>>2]=0,ce[20+n>>0]=0,_e[i>>2]=0,_e[4+i>>2]=0,_e[8+i>>2]=0,_e[12+i>>2]=0,_e[16+i>>2]=0,ce[20+i>>0]=0,_e[a>>2]=0,_e[4+a>>2]=0,_e[8+a>>2]=0,_e[12+a>>2]=0,_e[16+a>>2]=0,ce[20+a>>0]=0,_e[o>>2]=0,_e[4+o>>2]=0,_e[8+o>>2]=0,_e[12+o>>2]=0,ce[16+o>>0]=0,0|function(e,r,t){e|=0;var n=0,i=0;if(!(0==(0|(r|=0))|(t|=0)>>>0<74||18552!=((0|de[r>>0])<<8|0|de[r+1>>0]|0))&&74<=((0|de[r+2>>0])<<8|0|de[r+3>>0])>>>0&&((0|de[r+7>>0])<<16|(0|de[r+6>>0])<<24|(0|de[r+8>>0])<<8|0|de[r+9>>0])>>>0<=t>>>0){if(_e[(n=e+88|0)>>2]=r,_e[e+4>>2]=r,_e[e+8>>2]=t,!(0|function(e){var r=0,t=0,n=0,i=0;if(i=92+(e|=0)|0,t=0|_e[(n=e+88|0)>>2],r=(0|_e[e+4>>2])+((0|de[68+t>>0])<<8|(0|de[67+t>>0])<<16|0|de[69+t>>0])|0,!(t=(0|de[65+t>>0])<<8|0|de[66+t>>0]))return(i=0)|i;if(_e[i>>2]=r,_e[e+96>>2]=r,_e[e+104>>2]=t,_e[e+100>>2]=r+t,_e[e+108>>2]=0,_e[e+112>>2]=0,!(0|V(i,e+116|0)))return(i=0)|i;r=0|_e[n>>2];do{if((0|de[r+39>>0])<<8|0|de[r+40>>0]){if(!(0|V(i,e+140|0)))return(i=0)|i;if(0|V(i,e+188|0)){r=0|_e[n>>2];break}return(i=0)|i}if(!((0|de[r+55>>0])<<8|0|de[r+56>>0]))return(i=0)|i}while(0);if((0|de[r+55>>0])<<8|0|de[r+56>>0]|0){if(!(0|V(i,e+164|0)))return(i=0)|i;if(!(0|V(i,e+212|0)))return(i=0)|i}return 0|(i=1)}(e)))return(i=0)|i;if(r=0|_e[n>>2],(0|de[r+39>>0])<<8|0|de[r+40>>0]?0|function(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0,l=0,s=0,c=0,_=0,d=0;if(Te=(d=Te)+576|0,i=(o=d)+64|0,_=d+16|0,r=0|_e[(n=88+(e|=0)|0)>>2],c=(0|de[r+39>>0])<<8|0|de[r+40>>0],l=e+236|0,(0|(t=0|_e[(a=e+240|0)>>2]))!=(0|c)){if(t>>>0<=c>>>0){do{if((0|_e[e+244>>2])>>>0<c>>>0){if(0|X(l,c,(t+1|0)==(0|c),4,0)){r=0|_e[a>>2];break}return ce[e+248>>0]=1,Te=d,(_=0)|_}}while(r=t,0);ne((0|_e[l>>2])+(r<<2)|0,0,c-r<<2|0),r=0|_e[n>>2]}_e[a>>2]=c}if(s=e+92|0,t=(0|_e[e+4>>2])+((0|de[r+34>>0])<<8|(0|de[r+33>>0])<<16|0|de[r+35>>0])|0,!(r=(0|de[r+37>>0])<<8|(0|de[r+36>>0])<<16|0|de[r+38>>0]))return Te=d,(_=0)|_;if(_e[s>>2]=t,_e[e+96>>2]=t,_e[e+104>>2]=r,_e[e+100>>2]=t+r,_e[e+108>>2]=0,_e[e+112>>2]=0,u=_+20|0,_e[_>>2]=0,_e[_+4>>2]=0,_e[_+8>>2]=0,_e[_+12>>2]=0,ce[_+16>>0]=0,f=_+24|0,_e[_+44>>2]=0,_e[u>>2]=0,_e[u+4>>2]=0,_e[u+8>>2]=0,_e[u+12>>2]=0,_e[u+16>>2]=0,ce[u+20>>0]=0,0|V(s,_)&&0|V(s,f))if(0|_e[a>>2]||(_e[o>>2]=866,_e[o+4>>2]=910,_e[o+8>>2]=1497,Ce(i,812,o),be(i)),c)for(t=(u=o=0)|_e[l>>2],a=i=r=e=n=0;;){if(o=(0|Ae(s,_))+o&31,a=(0|Ae(s,f))+a&63,i=(0|Ae(s,_))+i&31,r=(0|Ae(s,_))+r|0,e=(0|Ae(s,f))+e&63,n=(0|Ae(s,_))+n&31,_e[t>>2]=a<<5|o<<11|i|r<<27|e<<21|n<<16,c>>>0<=(u=u+1|0)>>>0){r=1;break}t=t+4|0,r&=31}else r=1;else r=0;return re(_+24|0),re(_),Te=d,0|(_=r)}(e)&&0|function(e){var r,t,n,i,a,o,u,f,l,s,c,_,d,E,T,A,b,M,m,S,h,R,P,p,C,N,y,O,k,v=0,g=0,L=0,I=0,w=0,D=0,G=0,F=0,x=0,B=Te;if(Te=Te+1008|0,w=(D=B)+496|0,F=B+472|0,E=B+276|0,T=B+80|0,A=B+16|0,g=0|_e[(e|=0)+88>>2],_=(0|de[g+47>>0])<<8|0|de[g+48>>0],d=e+92|0,v=(0|_e[e+4>>2])+((0|de[g+42>>0])<<8|(0|de[g+41>>0])<<16|0|de[g+43>>0])|0,!(g=(0|de[g+45>>0])<<8|(0|de[g+44>>0])<<16|0|de[g+46>>0]))return Te=B,(F=0)|F;if(_e[d>>2]=v,_e[e+96>>2]=v,_e[e+104>>2]=g,_e[e+100>>2]=v+g,_e[e+108>>2]=0,_e[e+112>>2]=0,_e[F+20>>2]=0,_e[F>>2]=0,_e[F+4>>2]=0,_e[F+8>>2]=0,_e[F+12>>2]=0,(ce[F+16>>0]=0)|V(d,F)){for(v=0,L=g=-3;_e[E+(v<<2)>>2]=L,_e[T+(v<<2)>>2]=g,I=2<(0|L),49!=(0|(v=v+1|0));)g=(1&I)+g|0,L=I?-3:L+1|0;for(v=A,g=v+64|0;v=v+4|(_e[v>>2]=0),(0|v)<(0|g););L=e+252|0,v=0|_e[(g=e+256|0)>>2];e:do{if((0|v)==(0|_))G=13;else{if(v>>>0<=_>>>0){do{if((0|_e[e+260>>2])>>>0<_>>>0){if(0|X(L,_,(v+1|0)==(0|_),4,0)){v=0|_e[g>>2];break}ce[e+264>>0]=1,v=0;break e}}while(0);ne((0|_e[L>>2])+(v<<2)|0,0,_-v<<2|0)}_e[g>>2]=_,G=13}}while(0);do{if(13==(0|G)){if(!_){_e[D>>2]=866,_e[D+4>>2]=910,_e[D+8>>2]=1497,Ce(w,812,D),be(w),v=1;break}for(e=4+A|0,w=8+A|0,D=12+A|0,G=16+A|0,r=20+A|0,t=24+A|0,n=28+A|0,i=32+A|0,a=36+A|0,o=40+A|0,u=44+A|0,f=48+A|0,l=52+A|0,s=56+A|0,c=60+A|0,v=(I=0)|_e[L>>2],g=0|_e[e>>2],L=0|_e[A>>2];k=0|Ae(d,F),L=L+(0|_e[E+(k<<2)>>2])&3,g=g+(0|_e[T+(k<<2)>>2])&3,k=0|Ae(d,F),x=(0|_e[w>>2])+(0|_e[E+(k<<2)>>2])&3,_e[w>>2]=x,k=(0|_e[D>>2])+(0|_e[T+(k<<2)>>2])&3,_e[D>>2]=k,y=0|Ae(d,F),O=(0|_e[G>>2])+(0|_e[E+(y<<2)>>2])&3,_e[G>>2]=O,y=(0|_e[r>>2])+(0|_e[T+(y<<2)>>2])&3,_e[r>>2]=y,C=0|Ae(d,F),N=(0|_e[t>>2])+(0|_e[E+(C<<2)>>2])&3,_e[t>>2]=N,C=(0|_e[n>>2])+(0|_e[T+(C<<2)>>2])&3,_e[n>>2]=C,P=0|Ae(d,F),p=(0|_e[i>>2])+(0|_e[E+(P<<2)>>2])&3,_e[i>>2]=p,P=(0|_e[a>>2])+(0|_e[T+(P<<2)>>2])&3,_e[a>>2]=P,h=0|Ae(d,F),R=(0|_e[o>>2])+(0|_e[E+(h<<2)>>2])&3,_e[o>>2]=R,h=(0|_e[u>>2])+(0|_e[T+(h<<2)>>2])&3,_e[u>>2]=h,m=0|Ae(d,F),S=(0|_e[f>>2])+(0|_e[E+(m<<2)>>2])&3,_e[f>>2]=S,m=(0|_e[l>>2])+(0|_e[T+(m<<2)>>2])&3,_e[l>>2]=m,b=0|Ae(d,F),M=(0|_e[s>>2])+(0|_e[E+(b<<2)>>2])&3,_e[s>>2]=M,b=(0|_e[c>>2])+(0|_e[T+(b<<2)>>2])&3,_e[c>>2]=b,_e[v>>2]=(0|de[1441+g>>0])<<2|0|de[1441+L>>0]|(0|de[1441+x>>0])<<4|(0|de[1441+k>>0])<<6|(0|de[1441+O>>0])<<8|(0|de[1441+y>>0])<<10|(0|de[1441+N>>0])<<12|(0|de[1441+C>>0])<<14|(0|de[1441+p>>0])<<16|(0|de[1441+P>>0])<<18|(0|de[1441+R>>0])<<20|(0|de[1441+h>>0])<<22|(0|de[1441+S>>0])<<24|(0|de[1441+m>>0])<<26|(0|de[1441+M>>0])<<28|(0|de[1441+b>>0])<<30,!(_>>>0<=(I=I+1|0)>>>0);)v=v+4|0;_e[A>>2]=L,_e[e>>2]=g,v=1}}while(0)}else v=0;return re(F),Te=B,0|(x=v)}(e)&&(r=0|_e[n>>2],i=11):i=11,11==(0|i)){if(!((0|de[r+55>>0])<<8|0|de[r+56>>0]))return 0|(i=1);if(0|function(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0,l=0;if(Te=(l=Te)+560|0,n=(i=l)+40|0,f=l+16|0,t=0|_e[88+(e|=0)>>2],o=(0|de[t+55>>0])<<8|0|de[t+56>>0],u=e+92|0,r=(0|_e[e+4>>2])+((0|de[t+50>>0])<<8|(0|de[t+49>>0])<<16|0|de[t+51>>0])|0,!(t=(0|de[t+53>>0])<<8|(0|de[t+52>>0])<<16|0|de[t+54>>0]))return Te=l,(f=0)|f;_e[u>>2]=r,_e[e+96>>2]=r,_e[e+104>>2]=t,_e[e+100>>2]=r+t,_e[e+108>>2]=0,_e[e+112>>2]=0,_e[f+20>>2]=0,_e[f>>2]=0,_e[f+4>>2]=0,_e[f+8>>2]=0,_e[f+12>>2]=0,ce[f+16>>0]=0;e:do{if(0|V(u,f)){if(a=e+268|0,(0|(r=0|_e[(t=e+272|0)>>2]))!=(0|o)){if(r>>>0<=o>>>0){do{if((0|_e[e+276>>2])>>>0<o>>>0){if(0|X(a,o,(r+1|0)==(0|o),2,0)){r=0|_e[t>>2];break}ce[e+280>>0]=1,r=0;break e}}while(0);ne((0|_e[a>>2])+(r<<1)|0,0,o-r<<1|0)}_e[t>>2]=o}if(!o){_e[i>>2]=866,_e[i+4>>2]=910,_e[i+8>>2]=1497,Ce(n,812,i),be(n),r=1;break}for(r=(n=e=t=0)|_e[a>>2];;){if(a=0|Ae(u,f),n=a+n&255,e=(0|Ae(u,f))+e&255,W[r>>1]=e<<8|n,o>>>0<=(t=t+1|0)>>>0){r=1;break}r=r+2|0}}else r=0}while(0);return re(f),Te=l,0|(f=r)}(e)&&0|function(e){var r,t,n,i,a,o,u,f,l,s,c,_,d,E,T,A,b,M,m,S,h,R=0,P=0,p=0,C=0,N=0,y=0,O=0,k=0,v=0,g=0,L=0,I=0,w=0,D=0,G=0,F=0,x=0,B=0,U=0,H=Te;if(Te=Te+2416|0,N=(y=H)+1904|0,B=H+1880|0,M=H+980|0,m=H+80|0,S=H+16|0,P=0|_e[(e|=0)+88>>2],A=(0|de[P+63>>0])<<8|0|de[P+64>>0],b=e+92|0,R=(0|_e[e+4>>2])+((0|de[P+58>>0])<<8|(0|de[P+57>>0])<<16|0|de[P+59>>0])|0,!(P=(0|de[P+61>>0])<<8|(0|de[P+60>>0])<<16|0|de[P+62>>0]))return Te=H,(B=0)|B;if(_e[b>>2]=R,_e[e+96>>2]=R,_e[e+104>>2]=P,_e[e+100>>2]=R+P,_e[e+108>>2]=0,_e[e+112>>2]=0,_e[B+20>>2]=0,_e[B>>2]=0,_e[B+4>>2]=0,_e[B+8>>2]=0,_e[B+12>>2]=0,(ce[B+16>>0]=0)|V(b,B)){for(R=0,p=P=-7;_e[M+(R<<2)>>2]=p,_e[m+(R<<2)>>2]=P,C=6<(0|p),225!=(0|(R=R+1|0));)P=(1&C)+P|0,p=C?-7:p+1|0;for(R=S,P=R+64|0;R=R+4|(_e[R>>2]=0),(0|R)<(0|P););C=e+284|0,P=3*A|0,R=0|_e[(p=e+288|0)>>2];e:do{if((0|R)==(0|P))O=13;else{if(R>>>0<=P>>>0){do{if((0|_e[e+292>>2])>>>0<P>>>0){if(0|X(C,P,(R+1|0)==(0|P),2,0)){R=0|_e[p>>2];break}ce[e+296>>0]=1,R=0;break e}}while(0);ne((0|_e[C>>2])+(R<<1)|0,0,P-R<<1|0)}_e[p>>2]=P,O=13}}while(0);do{if(13==(0|O)){if(!A){_e[y>>2]=866,_e[y+4>>2]=910,_e[y+8>>2]=1497,Ce(N,812,y),be(N),R=1;break}for(r=4+S|0,t=8+S|0,n=12+S|0,i=16+S|0,a=20+S|0,o=24+S|0,u=28+S|0,f=32+S|0,l=36+S|0,s=40+S|0,c=44+S|0,_=48+S|0,d=52+S|0,E=56+S|0,T=60+S|0,R=(x=0)|_e[C>>2],P=0|_e[S>>2],p=0|_e[r>>2],C=0|_e[t>>2],e=0|_e[n>>2],N=0|_e[i>>2],y=0|_e[a>>2],O=0|_e[o>>2],k=0|_e[u>>2],v=0|_e[f>>2],g=0|_e[l>>2],L=0|_e[s>>2],I=0|_e[c>>2],F=G=D=w=0;U=0|Ae(b,B),P=P+(0|_e[M+(U<<2)>>2])&7,p=p+(0|_e[m+(U<<2)>>2])&7,U=0|Ae(b,B),C=C+(0|_e[M+(U<<2)>>2])&7,e=e+(0|_e[m+(U<<2)>>2])&7,U=0|Ae(b,B),N=N+(0|_e[M+(U<<2)>>2])&7,y=y+(0|_e[m+(U<<2)>>2])&7,U=0|Ae(b,B),O=O+(0|_e[M+(U<<2)>>2])&7,k=k+(0|_e[m+(U<<2)>>2])&7,U=0|Ae(b,B),v=v+(0|_e[M+(U<<2)>>2])&7,g=g+(0|_e[m+(U<<2)>>2])&7,U=0|Ae(b,B),L=L+(0|_e[M+(U<<2)>>2])&7,I=I+(0|_e[m+(U<<2)>>2])&7,U=0|Ae(b,B),w=w+(0|_e[M+(U<<2)>>2])&7,D=D+(0|_e[m+(U<<2)>>2])&7,U=0|Ae(b,B),G=G+(0|_e[M+(U<<2)>>2])&7,F=F+(0|_e[m+(U<<2)>>2])&7,U=0|de[1445+y>>0],W[R>>1]=(0|de[1445+p>>0])<<3|0|de[1445+P>>0]|(0|de[1445+C>>0])<<6|(0|de[1445+e>>0])<<9|(0|de[1445+N>>0])<<12|U<<15,h=0|de[1445+L>>0],W[R+2>>1]=(0|de[1445+O>>0])<<2|U>>>1|(0|de[1445+k>>0])<<5|(0|de[1445+v>>0])<<8|(0|de[1445+g>>0])<<11|h<<14,W[R+4>>1]=(0|de[1445+I>>0])<<1|h>>>2|(0|de[1445+w>>0])<<4|(0|de[1445+D>>0])<<7|(0|de[1445+G>>0])<<10|(0|de[1445+F>>0])<<13,!(A>>>0<=(x=x+1|0)>>>0);)R=R+6|0;_e[S>>2]=P,_e[r>>2]=p,_e[t>>2]=C,_e[n>>2]=e,_e[i>>2]=N,_e[a>>2]=y,_e[o>>2]=O,_e[u>>2]=k,_e[f>>2]=v,_e[l>>2]=g,_e[s>>2]=L,_e[c>>2]=I,_e[_>>2]=w,_e[d>>2]=D,_e[E>>2]=G,_e[T>>2]=F,R=1}}while(0)}else R=0;return re(B),Te=H,0|(U=R)}(e))return 0|(i=1)}return(i=0)|i}return _e[e+88>>2]=0,(i=0)|i}(f,e,r))return Te=_,0|(d=f);return U(f),Te=(7&f?(_e[s>>2]=866,_e[s+4>>2]=2506,_e[s+8>>2]=1232,Ce(u,812,s),be(u)):ue(f,0,0,1,0),_),(d=0)|d}(e,r),r=a+i|0;do{if(i>>>0<r>>>0){if(!_){for(n=t;n=n+(0|ie(0|ie((l+3|0)>>>2,d),(s+3|0)>>>2))|0,(0|(i=i+1|0))!=(0|r);)s>>>=1,l>>>=1;_e[u>>2]=n;break}for(e=s,n=t;s=0|ie((l+3|0)>>>2,d),15<i>>>0|(c=0|ie(s,(e+3|0)>>>2))>>>0<8||519686845!=(0|_e[_>>2])||(function(e,r,t,n,i){r|=0,t|=0,n|=0,i|=0;var a=0,o=0,u=0,f=0,l=0,s=0;if(Te=(s=Te)+528|0,f=(l=s)+16|0,o=0|_e[88+(e|=0)>>2],u=(0|de[70+o+(i<<2)+1>>0])<<16|(0|de[70+o+(i<<2)>>0])<<24|(0|de[70+o+(i<<2)+2>>0])<<8|0|de[70+o+(i<<2)+3>>0],a=(a=i+1|0)>>>0<(0|de[16+o>>0])>>>0?(0|de[70+o+(a<<2)+1>>0])<<16|(0|de[70+o+(a<<2)>>0])<<24|(0|de[70+o+(a<<2)+2>>0])<<8|0|de[70+o+(a<<2)+3>>0]:0|_e[e+8>>2],u>>>0<a>>>0)return f=0|_e[(f=e+4|0)>>2],l=0|Y(e,f=f+u|0,l=a-u|0,r,t,n,i),Te=s;_e[l>>2]=866,_e[l+4>>2]=3694,_e[l+8>>2]=1508,Ce(f,812,l),be(f),f=0|_e[(f=e+4|0)>>2],l=0|Y(e,f=f+u|0,l=a-u|0,r,t,n,i),Te=s}(_,u,c,s,i),n=0|_e[u>>2]),n=n+c|0,_e[u>>2]=n,(0|(i=i+1|0))!=(0|r);)e>>>=1,l>>>=1}}while(0);Te=(_&&519686845==(0|_e[_>>2])&&(U(_),7&_?(_e[f>>2]=866,_e[4+f>>2]=2506,_e[8+f>>2]=1232,Ce(o,812,f),be(o)):ue(_,0,0,1,0)),E)},_memset:ne,_sbrk:me,_memcpy:K,stackAlloc:function(e){var r=Te;return Te=(Te=Te+(e|=0)|0)+15&-16,0|r},_crn_get_height:function(e,r){e|=0,r|=0;var t,n=Te;return Te=Te+48|0,_e[(t=n)>>2]=40,q(e,r,t),Te=n,0|_e[t+8>>2]},dynCall_vi:function(e,r){r|=0,Je[7&(e|=0)](0|r)},getTempRet0:function(){return 0|L},_crn_get_levels:function(e,r){e|=0,r|=0;var t,n=Te;return Te=Te+48|0,_e[(t=n)>>2]=40,q(e,r,t),Te=n,0|_e[t+12>>2]},_crn_get_uncompressed_size:function(e,r,t){e|=0,r|=0,t|=0;var n,i,a,o,u=0,f=Te;switch(Te=Te+576|0,a=f+40|0,i=f+56|0,_e[(o=f)>>2]=40,q(e,r,o),n=(3+((0|_e[o+4>>2])>>>t)|0)>>>2,r=(3+((0|_e[o+8>>2])>>>t)|0)>>>2,e=0|_e[(t=o+32|0)+4>>2],0|_e[t>>2]){case 0:e?u=14:e=8;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:u=e?14:13;break;case 9:case 10:e?u=14:e=8;break;default:u=14}return 13==(0|u)?e=16:14==(0|u)&&(_e[a>>2]=866,_e[4+a>>2]=2672,_e[8+a>>2]=1251,Ce(i,812,a),be(i),e=0),o=0|ie(0|ie(r,n),e),Te=f,0|o},_i64Add:ge,dynCall_iiii:function(e,r,t,n){return r|=0,t|=0,n|=0,0|ze[7&(e|=0)](0|r,0|t,0|n)},_emscripten_get_global_libc:function(){return 5072},dynCall_ii:function(e,r){return r|=0,0|$e[1&(e|=0)](0|r)},___udivdi3:Fe,_llvm_bswap_i32:xe,dynCall_viiiii:function(e,r,t,n,i,a){r|=0,t|=0,n|=0,i|=0,a|=0,je[3&(e|=0)](0|r,0|t,0|n,0|i,0|a)},___cxa_can_catch:function(e,r,t){e|=0,r|=0,t|=0;var n,i=Te;return Te=Te+16|0,_e[(n=i)>>2]=_e[t>>2],(e=0|ze[7&_e[16+(0|_e[e>>2])>>2]](e,r,n))&&(_e[t>>2]=_e[n>>2]),Te=i,1&e|0},_free:F,runPostSets:function(){},dynCall_viiiiii:function(e,r,t,n,i,a,o){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,Qe[3&(e|=0)](0|r,0|t,0|n,0|i,0|a,0|o)},establishStackSpace:function(e,r){Te=e|=0,r|=0},___uremdi3:Pe,___cxa_is_pointer_type:function(e){return 1&(e=(e|=0)?0!=(0|J(e,32,88,0)):0)|0},stackRestore:function(e){Te=e|=0},_malloc:I,_emscripten_replace_memory:function(e){return!(16777215&c(e)||c(e)<=16777215||2147483648<c(e))&&(ce=new n(e),W=new i(e),_e=new a(e),de=new o(e),Ee=new u(e),new f(e),new l(e),v=new s(e),!0)},dynCall_v:function(e){qe[3&(e|=0)]()},_crn_get_width:function(e,r){e|=0,r|=0;var t,n=Te;return Te=Te+48|0,_e[(t=n)>>2]=40,q(e,r,t),Te=n,0|_e[t+4>>2]},_crn_get_dxt_format:function(e,r){e|=0,r|=0;var t,n=Te;return Te=Te+48|0,_e[(t=n)>>2]=40,q(e,r,t),Te=n,0|_e[t+32>>2]}}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),stackSave=Module.stackSave=asm.stackSave,getTempRet0=Module.getTempRet0=asm.getTempRet0,_memset=Module._memset=asm._memset,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,setTempRet0=Module.setTempRet0=asm.setTempRet0,_crn_decompress=Module._crn_decompress=asm._crn_decompress,_crn_get_bytes_per_block=Module._crn_get_bytes_per_block=asm._crn_get_bytes_per_block,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,_crn_get_height=Module._crn_get_height=asm._crn_get_height,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_crn_get_levels=Module._crn_get_levels=asm._crn_get_levels,_crn_get_uncompressed_size=Module._crn_get_uncompressed_size=asm._crn_get_uncompressed_size,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,___udivdi3=Module.___udivdi3=asm.___udivdi3,_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,___uremdi3=Module.___uremdi3=asm.___uremdi3,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,_emscripten_replace_memory=Module._emscripten_replace_memory=asm._emscripten_replace_memory,_crn_get_width=Module._crn_get_width=asm._crn_get_width,_crn_get_dxt_format=Module._crn_get_dxt_format=asm._crn_get_dxt_format,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function run(e){function r(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,0<runDependencies||(preRun(),0<runDependencies||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),r()},1)):r()))}function exit(e,r){r&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE&&process.exit(e),Module.quit(e,new ExitStatus(e)))}Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus,dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){e=e||[],ensureInitRuntime();var r=e.length+1;function t(){for(var e=0;e<3;e++)n.push(0)}var n=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];t();for(var i=0;i<r-1;i+=1)n.push(allocate(intArrayFromString(e[i]),"i8",ALLOC_NORMAL)),t();n.push(0),n=allocate(n,"i32",ALLOC_NORMAL);try{exit(Module._main(r,n,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);var a=e;e&&"object"==typeof e&&e.stack&&(a=[e,e.stack]),Module.printErr("exception thrown: "+a),Module.quit(1,e)}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];function abort(r){Module.onAbort&&Module.onAbort(r),r=void 0!==r?(Module.print(r),Module.printErr(r),JSON.stringify(r)):"",ABORT=!0;var t="abort("+r+") at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw abortDecorators&&abortDecorators.forEach(function(e){t=e(t,r)}),t}if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);0<Module.preInit.length;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),Module.noExitRuntime=!0,run();var crunch=Module,CRN_FORMAT={cCRNFmtInvalid:-1,cCRNFmtDXT1:0,cCRNFmtDXT3:1,cCRNFmtDXT5:2},DXT_FORMAT_MAP={},dst,dxtData;DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT1]=PixelFormat$1.RGB_DXT1,DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT3]=PixelFormat$1.RGBA_DXT3,DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT5]=PixelFormat$1.RGBA_DXT5;var cachedDstSize=0;function arrayBufferCopy(e,r,t,n){for(var i=t/4,a=n%4,o=new Uint32Array(e.buffer,0,(n-a)/4),u=new Uint32Array(r.buffer),f=0;f<o.length;f++)u[i+f]=o[f];for(f=n-a;f<n;f++)r[t+f]=e[f]}function transcodeCRNToDXT(e,r){var t=e.byteLength,n=new Uint8Array(e),e=crunch._malloc(t);arrayBufferCopy(n,crunch.HEAPU8,e,t);var n=crunch._crn_get_dxt_format(e,t),i=DXT_FORMAT_MAP[n];if(!when.defined(i))throw new RuntimeError.RuntimeError("Unsupported compressed format.");for(var a=crunch._crn_get_levels(e,t),o=crunch._crn_get_width(e,t),u=crunch._crn_get_height(e,t),f=0,l=0;l<a;++l)f+=PixelFormat$1.compressedTextureSizeInBytes(i,o>>l,u>>l);cachedDstSize<f&&(when.defined(dst)&&crunch._free(dst),dst=crunch._malloc(f),dxtData=new Uint8Array(crunch.HEAPU8.buffer,dst,f),cachedDstSize=f),crunch._crn_decompress(e,t,dst,f,0,a),crunch._free(e);t=PixelFormat$1.compressedTextureSizeInBytes(i,o,u),e=dxtData.subarray(0,t),t=new Uint8Array(t);return t.set(e,0),r.push(t.buffer),new CompressedTextureBuffer(i,o,u,t)}var transcodeCRNToDXT$1=createTaskProcessorWorker(transcodeCRNToDXT);return transcodeCRNToDXT$1}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/transferTypedArrayTest.js b/public/GV/thirdParty/CesiumManager/Workers/transferTypedArrayTest.js new file mode 100644 index 000000000..453adf286 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/transferTypedArrayTest.js @@ -0,0 +1 @@ +"undefined"==typeof self&&(self={}),self.onmessage=function(e){"use strict";var s=e.data.array,a=self.webkitPostMessage||self.postMessage;try{a({array:s},[s.buffer])}catch(e){a({})}}; \ No newline at end of file diff --git a/public/GV/thirdParty/CesiumManager/Workers/upsampleQuantizedTerrainMesh.js b/public/GV/thirdParty/CesiumManager/Workers/upsampleQuantizedTerrainMesh.js new file mode 100644 index 000000000..a1f291d4c --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/upsampleQuantizedTerrainMesh.js @@ -0,0 +1 @@ +define(["./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./RuntimeError-2109023a","./WebGLConstants-76bb35d1","./ComponentDatatype-6d99a1ee","./AttributeCompression-9fc99391","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487","./createTaskProcessorWorker","./EllipsoidTangentPlane-64140317","./OrientedBoundingBox-11af7c9d","./TerrainEncoding-d6aef4ae"],function(g,e,oe,ae,pe,t,i,n,s,de,r,h,u,o,fe,le){"use strict";var ce={clipTriangleAtAxisAlignedThreshold:function(e,t,i,n,s,r){var h,u,o;g.defined(r)?r.length=0:r=[],o=t?(h=i<e,u=n<e,s<e):(h=e<i,u=e<n,e<s);var a,p,d,f,l,c,t=h+u+o;return 1===t?h?(a=(e-i)/(n-i),p=(e-i)/(s-i),r.push(1),r.push(2),1!==p&&(r.push(-1),r.push(0),r.push(2),r.push(p)),1!==a&&(r.push(-1),r.push(0),r.push(1),r.push(a))):u?(d=(e-n)/(s-n),f=(e-n)/(i-n),r.push(2),r.push(0),1!==f&&(r.push(-1),r.push(1),r.push(0),r.push(f)),1!==d&&(r.push(-1),r.push(1),r.push(2),r.push(d))):o&&(l=(e-s)/(i-s),c=(e-s)/(n-s),r.push(0),r.push(1),1!==c&&(r.push(-1),r.push(2),r.push(1),r.push(c)),1!==l&&(r.push(-1),r.push(2),r.push(0),r.push(l))):2===t?h||i===e?u||n===e?o||s===e||(p=(e-i)/(s-i),d=(e-n)/(s-n),r.push(2),r.push(-1),r.push(0),r.push(2),r.push(p),r.push(-1),r.push(1),r.push(2),r.push(d)):(c=(e-s)/(n-s),a=(e-i)/(n-i),r.push(1),r.push(-1),r.push(2),r.push(1),r.push(c),r.push(-1),r.push(0),r.push(1),r.push(a)):(f=(e-n)/(i-n),l=(e-s)/(i-s),r.push(0),r.push(-1),r.push(1),r.push(0),r.push(f),r.push(-1),r.push(2),r.push(0),r.push(l)):3!==t&&(r.push(0),r.push(1),r.push(2)),r},computeBarycentricCoordinates:function(e,t,i,n,s,r,h,u,o){var a=i-h,i=h-s,s=r-u,r=n-u,n=1/(s*a+i*r),u=t-u,h=e-h,i=(s*h+i*u)*n,u=(-r*h+a*u)*n,n=1-i-u;return g.defined(o)?(o.x=i,o.y=u,o.z=n,o):new ae.Cartesian3(i,u,n)},computeLineSegmentLineSegmentIntersection:function(e,t,i,n,s,r,h,u,o){var a=(h-s)*(t-r)-(u-r)*(e-s),p=(i-e)*(t-r)-(n-t)*(e-s),s=(u-r)*(i-e)-(h-s)*(n-t);if(0!=s){a=a/s,s=p/s;return 0<=a&&a<=1&&0<=s&&s<=1?(g.defined(o)||(o=new ae.Cartesian2),o.x=e+a*(i-e),o.y=t+a*(n-t),o):void 0}}},ge=32767,me=16383,xe=[],we=[],Ce=[],ve=new ae.Cartographic,ye=new ae.Cartesian3,Be=[],Ie=[],be=[],Ae=[],Te=[],ze=new ae.Cartesian3,Me=new pe.BoundingSphere,Ne=new fe.OrientedBoundingBox,Ve=new ae.Cartesian2,Ee=new ae.Cartesian3;function Re(){this.vertexBuffer=void 0,this.index=void 0,this.first=void 0,this.second=void 0,this.ratio=void 0}Re.prototype.clone=function(e){return g.defined(e)||(e=new Re),e.uBuffer=this.uBuffer,e.vBuffer=this.vBuffer,e.heightBuffer=this.heightBuffer,e.normalBuffer=this.normalBuffer,e.index=this.index,e.first=this.first,e.second=this.second,e.ratio=this.ratio,e},Re.prototype.initializeIndexed=function(e,t,i,n,s){this.uBuffer=e,this.vBuffer=t,this.heightBuffer=i,this.normalBuffer=n,this.index=s,this.first=void 0,this.second=void 0,this.ratio=void 0},Re.prototype.initializeFromClipResult=function(e,t,i){var n=t+1;return-1!==e[t]?i[e[t]].clone(this):(this.vertexBuffer=void 0,this.index=void 0,this.first=i[e[n]],++n,this.second=i[e[n]],++n,this.ratio=e[n],++n),n},Re.prototype.getKey=function(){return this.isIndexed()?this.index:JSON.stringify({first:this.first.getKey(),second:this.second.getKey(),ratio:this.ratio})},Re.prototype.isIndexed=function(){return g.defined(this.index)},Re.prototype.getH=function(){return g.defined(this.index)?this.heightBuffer[this.index]:oe.CesiumMath.lerp(this.first.getH(),this.second.getH(),this.ratio)},Re.prototype.getU=function(){return g.defined(this.index)?this.uBuffer[this.index]:oe.CesiumMath.lerp(this.first.getU(),this.second.getU(),this.ratio)},Re.prototype.getV=function(){return g.defined(this.index)?this.vBuffer[this.index]:oe.CesiumMath.lerp(this.first.getV(),this.second.getV(),this.ratio)};var a=new ae.Cartesian2,p=-1,d=[new ae.Cartesian3,new ae.Cartesian3],f=[new ae.Cartesian3,new ae.Cartesian3];function l(e,t){var i=d[++p],n=f[p],i=s.AttributeCompression.octDecode(e.first.getNormalX(),e.first.getNormalY(),i),n=s.AttributeCompression.octDecode(e.second.getNormalX(),e.second.getNormalY(),n);return ye=ae.Cartesian3.lerp(i,n,e.ratio,ye),ae.Cartesian3.normalize(ye,ye),s.AttributeCompression.octEncode(ye,t),--p,t}Re.prototype.getNormalX=function(){return g.defined(this.index)?this.normalBuffer[2*this.index]:(a=l(this,a)).x},Re.prototype.getNormalY=function(){return g.defined(this.index)?this.normalBuffer[2*this.index+1]:(a=l(this,a)).y};var m=[];function He(e,t,i,n,s,r,h,u,o){if(0!==h.length){for(var a=0,p=0;p<h.length;)p=m[a++].initializeFromClipResult(h,p,u);for(var d=0;d<a;++d){var f,l,c=m[d];c.isIndexed()?(c.newIndex=r[c.index],c.uBuffer=e,c.vBuffer=t,c.heightBuffer=i,o&&(c.normalBuffer=n)):(f=c.getKey(),g.defined(r[f])?c.newIndex=r[f]:(l=e.length,e.push(c.getU()),t.push(c.getV()),i.push(c.getH()),o&&(n.push(c.getNormalX()),n.push(c.getNormalY())),c.newIndex=l,r[f]=l))}3===a?(s.push(m[0].newIndex),s.push(m[1].newIndex),s.push(m[2].newIndex)):4===a&&(s.push(m[0].newIndex),s.push(m[1].newIndex),s.push(m[2].newIndex),s.push(m[0].newIndex),s.push(m[2].newIndex),s.push(m[3].newIndex))}}return m.push(new Re),m.push(new Re),m.push(new Re),m.push(new Re),u(function(e,t){var i=e.isEastChild,n=e.isNorthChild,s=i?me:0,r=i?ge:me,h=n?me:0,u=n?ge:me,o=Be,a=Ie,p=be,d=Te;o.length=0,a.length=0,p.length=0,d.length=0;var f=Ae;f.length=0;for(var l={},c=e.vertices,g=(g=e.indices).subarray(0,e.indexCountWithoutSkirts),m=le.TerrainEncoding.clone(e.encoding),x=m.hasVertexNormals,w=e.exaggeration,C=0,v=e.vertexCountWithoutSkirts,y=e.minimumHeight,B=e.maximumHeight,I=new Array(v),b=new Array(v),A=new Array(v),T=x?new Array(2*v):void 0,z=0,M=0;z<v;++z,M+=2){var N=m.decodeTextureCoordinates(c,z,Ve),V=m.decodeHeight(c,z)/w,E=oe.CesiumMath.clamp(N.x*ge|0,0,ge),R=oe.CesiumMath.clamp(N.y*ge|0,0,ge);A[z]=oe.CesiumMath.clamp((V-y)/(B-y)*ge|0,0,ge),E<20&&(E=0),R<20&&(R=0),ge-E<20&&(E=ge),ge-R<20&&(R=ge),I[z]=E,b[z]=R,x&&(N=m.getOctEncodedNormal(c,z,Ee),T[M]=N.x,T[M+1]=N.y),(i&&me<=E||!i&&E<=me)&&(n&&me<=R||!n&&R<=me)&&(l[z]=C,o.push(E),a.push(R),p.push(A[z]),x&&(d.push(T[M]),d.push(T[M+1])),++C)}var H=[];H.push(new Re),H.push(new Re),H.push(new Re);var O=[];for(O.push(new Re),O.push(new Re),O.push(new Re),z=0;z<g.length;z+=3){var S=g[z],U=g[z+1],F=g[z+2],P=I[S],k=I[U],D=I[F];H[0].initializeIndexed(I,b,A,T,S),H[1].initializeIndexed(I,b,A,T,U),H[2].initializeIndexed(I,b,A,T,F);k=ce.clipTriangleAtAxisAlignedThreshold(me,i,P,k,D,xe);k.length<=0||(D=O[0].initializeFromClipResult(k,0,H))>=k.length||(D=O[1].initializeFromClipResult(k,D,H))>=k.length||(D=O[2].initializeFromClipResult(k,D,H),He(o,a,p,d,f,l,ce.clipTriangleAtAxisAlignedThreshold(me,n,O[0].getV(),O[1].getV(),O[2].getV(),we),O,x),D<k.length&&(O[2].clone(O[1]),O[2].initializeFromClipResult(k,D,H),He(o,a,p,d,f,l,ce.clipTriangleAtAxisAlignedThreshold(me,n,O[0].getV(),O[1].getV(),O[2].getV(),we),O,x)))}var W=i?-ge:0,X=n?-ge:0,K=[],L=[],Y=[],_=[],G=Number.MAX_VALUE,J=-G,Z=Ce;Z.length=0;var j=ae.Ellipsoid.clone(e.ellipsoid),q=(ue=ae.Rectangle.clone(e.childRectangle)).north,Q=ue.south,$=ue.east,ee=ue.west;for($<ee&&($+=oe.CesiumMath.TWO_PI),z=0;z<o.length;++z)E=(E=Math.round(o[z]))<=s?(K.push(z),0):r<=E?(Y.push(z),ge):2*E+W,o[z]=E,R=(R=Math.round(a[z]))<=h?(L.push(z),0):u<=R?(_.push(z),ge):2*R+X,a[z]=R,(V=oe.CesiumMath.lerp(y,B,p[z]/ge))<G&&(G=V),J<V&&(J=V),p[z]=V,ve.longitude=oe.CesiumMath.lerp(ee,$,E/ge),ve.latitude=oe.CesiumMath.lerp(Q,q,R/ge),ve.height=V,j.cartographicToCartesian(ve,ye),Z.push(ye.x),Z.push(ye.y),Z.push(ye.z);var te=pe.BoundingSphere.fromVertices(Z,ae.Cartesian3.ZERO,3,Me),ie=fe.OrientedBoundingBox.fromRectangle(ue,G,J,j,Ne),e=new le.EllipsoidalOccluder(j).computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid(te.center,Z,3,te.center,G,ze),ne=J-G,se=new Uint16Array(o.length+a.length+p.length);for(z=0;z<o.length;++z)se[z]=o[z];var re=o.length;for(z=0;z<a.length;++z)se[re+z]=a[z];for(re+=a.length,z=0;z<p.length;++z)se[re+z]=ge*(p[z]-G)/ne;var he,ue=de.IndexDatatype.createTypedArray(o.length,f);return x?(he=new Uint8Array(d),t.push(se.buffer,ue.buffer,he.buffer),he=he.buffer):t.push(se.buffer,ue.buffer),{vertices:se.buffer,encodedNormals:he,indices:ue.buffer,minimumHeight:G,maximumHeight:J,westIndices:K,southIndices:L,eastIndices:Y,northIndices:_,boundingSphere:te,orientedBoundingBox:ie,horizonOcclusionPoint:e}})}); diff --git a/public/GV/thirdParty/CesiumManager/Workers/when-54c2dc71.js b/public/GV/thirdParty/CesiumManager/Workers/when-54c2dc71.js new file mode 100644 index 000000000..f71b9ad85 --- /dev/null +++ b/public/GV/thirdParty/CesiumManager/Workers/when-54c2dc71.js @@ -0,0 +1 @@ +define(["exports"],function(n){"use strict";function r(n,r){return null!=n?n:r}var t,e,h;function j(n,r,t,e){return l(n).then(r,t,e)}function l(n){var r,t,n=n instanceof a?n:u(n)?(r=m(),n.then(function(n){r.resolve(n)},function(n){r.reject(n)},function(n){r.progress(n)}),r.promise):(t=n,new a(function(n){try{return l(n?n(t):t)}catch(n){return p(n)}}));return n}function a(n){this.then=n}function p(t){return new a(function(n,r){try{return r?l(r(t)):p(t)}catch(n){return p(n)}})}function m(){var n=new a(u),i=[],c=[],e=function(r,t,e){var u=m(),o="function"==typeof e?function(n){try{u.progress(e(n))}catch(n){u.progress(n)}}:function(n){u.progress(n)};return i.push(function(n){n.then(r,t).then(u.resolve,u.reject,o)}),c.push(o),u.promise},r=function(n){return v(c,n),n},t=function(n){return n=l(n),e=n.then,t=l,r=w,v(i,n),c=i=h,n};return{then:u,resolve:o,reject:f,progress:s,promise:n,resolver:{resolve:o,reject:f,progress:s}};function u(n,r,t){return e(n,r,t)}function o(n){return t(n)}function f(n){return t(p(n))}function s(n){return r(n)}}function u(n){return n&&"function"==typeof n.then}function o(n,p,v,g,y){return f(2,arguments),j(n,function(n){var r,t,e,u,o=n.length>>>0,i=Math.max(0,Math.min(p,o)),c=[],f=o-i+1,s=[],h=m();if(i)for(e=h.progress,t=function(n){s.push(n),--f||(r=t=w,h.reject(s))},r=function(n){c.push(n),--i||(r=t=w,h.resolve(c))},u=0;u<o;++u)u in n&&j(n[u],a,l,e);else h.resolve(c);return h.then(v,g,y);function l(n){t(n)}function a(n){r(n)}})}function i(n,r,t,e){return f(1,arguments),c(n,s).then(r,t,e)}function c(n,c){return j(n,function(n){var r,t,e,u=r=n.length>>>0,o=[],i=m();if(u)for(t=function(n,r){j(n,c).then(function(n){o[r]=n,--u||i.resolve(o)},i.reject)},e=0;e<r;e++)e in n?t(n[e],e):--u;else i.resolve(o);return i.promise})}function v(n,r){for(var t,e=0;t=n[e++];)t(r)}function f(n,r){for(var t,e=r.length;n<e;)if(null!=(t=r[--e])&&"function"!=typeof t)throw new Error("arg "+e+" must be a function")}function w(){}function s(n){return n}r.EMPTY_OBJECT=Object.freeze({}),j.defer=m,j.resolve=l,j.reject=function(n){return j(n,p)},j.join=function(){return c(arguments,s)},j.all=i,j.map=c,j.reduce=function(n,o){var r=e.call(arguments,1);return j(n,function(n){var u=n.length;return r[0]=function(n,t,e){return j(n,function(r){return j(t,function(n){return o(r,n,e,u)})})},t.apply(n,r)})},j.any=function(n,r,t,e){return o(n,1,function(n){return r?r(n[0]):n[0]},t,e)},j.some=o,j.chain=function(n,r,t){var e=2<arguments.length;return j(n,function(n){return n=e?t:n,r.resolve(n),n},function(n){return r.reject(n),p(n)},r.progress)},j.isPromise=u,a.prototype={always:function(n,r){return this.then(n,n,r)},otherwise:function(n){return this.then(h,n)},yield:function(n){return this.then(function(){return n})},spread:function(r){return this.then(function(n){return i(n,function(n){return r.apply(h,n)})})}},e=[].slice,t=[].reduce||function(n){var r,t=0,e=Object(this),u=e.length>>>0,o=arguments;if(o.length<=1)for(;;){if(t in e){r=e[t++];break}if(++t>=u)throw new TypeError}else r=o[1];for(;t<u;++t)t in e&&(r=n(r,e[t],t,e));return r},n.defaultValue=r,n.defined=function(n){return null!=n},n.when=j}); diff --git a/public/GV/thirdParty/Threejs-109/build/three.js b/public/GV/thirdParty/Threejs-109/build/three.js new file mode 100644 index 000000000..945eb26c9 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/build/three.js @@ -0,0 +1,1011 @@ +(function(k,Ca){"object"===typeof exports&&"undefined"!==typeof module?Ca(exports):"function"===typeof define&&define.amd?define(["exports"],Ca):(k=k||self,Ca(k.THREE={}))})(this,function(k){function Ca(){}function A(a,b){this.x=a||0;this.y=b||0}function va(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._w=void 0!==d?d:1}function n(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}function aa(){this.elements=[1,0,0,0,1,0,0,0,1];0<arguments.length&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")} +function Y(a,b,c,d,e,f,g,h,l,m){Object.defineProperty(this,"id",{value:Ri++});this.uuid=Q.generateUUID();this.name="";this.image=void 0!==a?a:Y.DEFAULT_IMAGE;this.mipmaps=[];this.mapping=void 0!==b?b:Y.DEFAULT_MAPPING;this.wrapS=void 0!==c?c:1001;this.wrapT=void 0!==d?d:1001;this.magFilter=void 0!==e?e:1006;this.minFilter=void 0!==f?f:1008;this.anisotropy=void 0!==l?l:1;this.format=void 0!==g?g:1023;this.type=void 0!==h?h:1009;this.offset=new A(0,0);this.repeat=new A(1,1);this.center=new A(0,0);this.rotation= +0;this.matrixAutoUpdate=!0;this.matrix=new aa;this.generateMipmaps=!0;this.premultiplyAlpha=!1;this.flipY=!0;this.unpackAlignment=4;this.encoding=void 0!==m?m:3E3;this.version=0;this.onUpdate=null}function W(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}function la(a,b,c){this.width=a;this.height=b;this.scissor=new W(0,0,a,b);this.scissorTest=!1;this.viewport=new W(0,0,a,b);c=c||{};this.texture=new Y(void 0,void 0,c.wrapS,c.wrapT,c.magFilter,c.minFilter,c.format,c.type,c.anisotropy, +c.encoding);this.texture.image={};this.texture.image.width=a;this.texture.image.height=b;this.texture.generateMipmaps=void 0!==c.generateMipmaps?c.generateMipmaps:!1;this.texture.minFilter=void 0!==c.minFilter?c.minFilter:1006;this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.depthTexture=void 0!==c.depthTexture?c.depthTexture:null}function Rf(a,b,c){la.call(this,a,b,c);this.samples=4}function O(){this.elements=[1,0,0,0,0, +1,0,0,0,0,1,0,0,0,0,1];0<arguments.length&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}function Rb(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._order=d||Rb.DefaultOrder}function Sf(){this.mask=1}function H(){Object.defineProperty(this,"id",{value:Si++});this.uuid=Q.generateUUID();this.name="";this.type="Object3D";this.parent=null;this.children=[];this.up=H.DefaultUp.clone();var a=new n,b=new Rb,c=new va,d=new n(1,1,1);b._onChange(function(){c.setFromEuler(b, +!1)});c._onChange(function(){b.setFromQuaternion(c,void 0,!1)});Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:a},rotation:{configurable:!0,enumerable:!0,value:b},quaternion:{configurable:!0,enumerable:!0,value:c},scale:{configurable:!0,enumerable:!0,value:d},modelViewMatrix:{value:new O},normalMatrix:{value:new aa}});this.matrix=new O;this.matrixWorld=new O;this.matrixAutoUpdate=H.DefaultMatrixAutoUpdate;this.matrixWorldNeedsUpdate=!1;this.layers=new Sf;this.visible= +!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this.renderOrder=0;this.userData={}}function zd(){H.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0;"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}function bb(a,b){this.min=void 0!==a?a:new n(Infinity,Infinity,Infinity);this.max=void 0!==b?b:new n(-Infinity,-Infinity,-Infinity)}function Tf(a,b,c,d,e){var f;var g=0;for(f= +a.length-3;g<=f;g+=3){Sb.fromArray(a,g);var h=e.x*Math.abs(Sb.x)+e.y*Math.abs(Sb.y)+e.z*Math.abs(Sb.z),l=b.dot(Sb),m=c.dot(Sb),q=d.dot(Sb);if(Math.max(-Math.max(l,m,q),Math.min(l,m,q))>h)return!1}return!0}function ob(a,b){this.center=void 0!==a?a:new n;this.radius=void 0!==b?b:0}function Tb(a,b){this.origin=void 0!==a?a:new n;this.direction=void 0!==b?b:new n}function ha(a,b,c){this.a=void 0!==a?a:new n;this.b=void 0!==b?b:new n;this.c=void 0!==c?c:new n}function E(a,b,c){return void 0===b&&void 0=== +c?this.set(a):this.setRGB(a,b,c)}function Uf(a,b,c){0>c&&(c+=1);1<c&&--c;return c<1/6?a+6*(b-a)*c:.5>c?b:c<2/3?a+6*(b-a)*(2/3-c):a}function Vf(a){return.04045>a?.0773993808*a:Math.pow(.9478672986*a+.0521327014,2.4)}function Wf(a){return.0031308>a?12.92*a:1.055*Math.pow(a,.41666)-.055}function Ac(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d&&d.isVector3?d:new n;this.vertexNormals=Array.isArray(d)?d:[];this.color=e&&e.isColor?e:new E;this.vertexColors=Array.isArray(e)?e:[];this.materialIndex= +void 0!==f?f:0}function N(){Object.defineProperty(this,"id",{value:Ti++});this.uuid=Q.generateUUID();this.name="";this.type="Material";this.fog=!0;this.blending=1;this.side=0;this.vertexTangents=this.flatShading=!1;this.vertexColors=0;this.opacity=1;this.transparent=!1;this.blendSrc=204;this.blendDst=205;this.blendEquation=100;this.blendEquationAlpha=this.blendDstAlpha=this.blendSrcAlpha=null;this.depthFunc=3;this.depthWrite=this.depthTest=!0;this.stencilWriteMask=255;this.stencilFunc=519;this.stencilRef= +0;this.stencilFuncMask=255;this.stencilZPass=this.stencilZFail=this.stencilFail=7680;this.stencilWrite=!1;this.clippingPlanes=null;this.clipShadows=this.clipIntersection=!1;this.shadowSide=null;this.colorWrite=!0;this.precision=null;this.polygonOffset=!1;this.polygonOffsetUnits=this.polygonOffsetFactor=0;this.dithering=!1;this.alphaTest=0;this.premultipliedAlpha=!1;this.toneMapped=this.visible=!0;this.userData={};this.needsUpdate=!0}function Ia(a){N.call(this);this.type="MeshBasicMaterial";this.color= +new E(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.envMap=this.alphaMap=this.specularMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphTargets=this.skinning=!1;this.setValues(a)}function P(a,b,c){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="";this.array= +a;this.itemSize=b;this.count=void 0!==a?a.length/b:0;this.normalized=!0===c;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.version=0}function Ad(a,b,c){P.call(this,new Int8Array(a),b,c)}function Bd(a,b,c){P.call(this,new Uint8Array(a),b,c)}function Cd(a,b,c){P.call(this,new Uint8ClampedArray(a),b,c)}function Dd(a,b,c){P.call(this,new Int16Array(a),b,c)}function Ub(a,b,c){P.call(this,new Uint16Array(a),b,c)}function Ed(a,b,c){P.call(this,new Int32Array(a),b,c)}function Vb(a,b,c){P.call(this, +new Uint32Array(a),b,c)}function z(a,b,c){P.call(this,new Float32Array(a),b,c)}function Fd(a,b,c){P.call(this,new Float64Array(a),b,c)}function jh(){this.vertices=[];this.normals=[];this.colors=[];this.uvs=[];this.uvs2=[];this.groups=[];this.morphTargets={};this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate=this.uvsNeedUpdate=this.colorsNeedUpdate=this.normalsNeedUpdate=this.verticesNeedUpdate=!1}function kh(a){if(0===a.length)return-Infinity;for(var b= +a[0],c=1,d=a.length;c<d;++c)a[c]>b&&(b=a[c]);return b}function D(){Object.defineProperty(this,"id",{value:Ui+=2});this.uuid=Q.generateUUID();this.name="";this.type="BufferGeometry";this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity};this.userData={}}function da(a,b){H.call(this);this.type="Mesh";this.geometry=void 0!==a?a:new D;this.material=void 0!==b?b:new Ia({color:16777215*Math.random()});this.drawMode= +0;this.updateMorphTargets()}function lh(a,b,c,d,e,f,g,h){if(null===(1===b.side?d.intersectTriangle(g,f,e,!0,h):d.intersectTriangle(e,f,g,2!==b.side,h)))return null;Ge.copy(h);Ge.applyMatrix4(a.matrixWorld);b=c.ray.origin.distanceTo(Ge);return b<c.near||b>c.far?null:{distance:b,point:Ge.clone(),object:a}}function He(a,b,c,d,e,f,g,h,l,m,q){Wb.fromBufferAttribute(e,l);Xb.fromBufferAttribute(e,m);Yb.fromBufferAttribute(e,q);e=a.morphTargetInfluences;if(b.morphTargets&&f&&e){Xf.set(0,0,0);Yf.set(0,0,0); +Zf.set(0,0,0);for(var u=0,r=f.length;u<r;u++){var k=e[u],p=f[u];0!==k&&(mh.fromBufferAttribute(p,l),nh.fromBufferAttribute(p,m),oh.fromBufferAttribute(p,q),Xf.addScaledVector(mh.sub(Wb),k),Yf.addScaledVector(nh.sub(Xb),k),Zf.addScaledVector(oh.sub(Yb),k))}Wb.add(Xf);Xb.add(Yf);Yb.add(Zf)}if(a=lh(a,b,c,d,Wb,Xb,Yb,Gd))g&&(Bc.fromBufferAttribute(g,l),Cc.fromBufferAttribute(g,m),Dc.fromBufferAttribute(g,q),a.uv=ha.getUV(Gd,Wb,Xb,Yb,Bc,Cc,Dc,new A)),h&&(Bc.fromBufferAttribute(h,l),Cc.fromBufferAttribute(h, +m),Dc.fromBufferAttribute(h,q),a.uv2=ha.getUV(Gd,Wb,Xb,Yb,Bc,Cc,Dc,new A)),g=new Ac(l,m,q),ha.getNormal(Wb,Xb,Yb,g.normal),a.face=g;return a}function M(){Object.defineProperty(this,"id",{value:Vi+=2});this.uuid=Q.generateUUID();this.name="";this.type="Geometry";this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate=this.lineDistancesNeedUpdate= +this.colorsNeedUpdate=this.normalsNeedUpdate=this.uvsNeedUpdate=this.verticesNeedUpdate=this.elementsNeedUpdate=!1}function Zb(a){var b={},c;for(c in a){b[c]={};for(var d in a[c]){var e=a[c][d];e&&(e.isColor||e.isMatrix3||e.isMatrix4||e.isVector2||e.isVector3||e.isVector4||e.isTexture)?b[c][d]=e.clone():Array.isArray(e)?b[c][d]=e.slice():b[c][d]=e}}return b}function Ea(a){for(var b={},c=0;c<a.length;c++){var d=Zb(a[c]),e;for(e in d)b[e]=d[e]}return b}function na(a){N.call(this);this.type="ShaderMaterial"; +this.defines={};this.uniforms={};this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}";this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}";this.linewidth=1;this.wireframe=!1;this.wireframeLinewidth=1;this.morphNormals=this.morphTargets=this.skinning=this.clipping=this.lights=this.fog=!1;this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1};this.defaultAttributeValues={color:[1,1, +1],uv:[0,0],uv2:[0,0]};this.index0AttributeName=void 0;this.uniformsNeedUpdate=!1;void 0!==a&&(void 0!==a.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(a))}function cb(){H.call(this);this.type="Camera";this.matrixWorldInverse=new O;this.projectionMatrix=new O;this.projectionMatrixInverse=new O}function oa(a,b,c,d){cb.call(this);this.type="PerspectiveCamera";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!== +c?c:.1;this.far=void 0!==d?d:2E3;this.focus=10;this.aspect=void 0!==b?b:1;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}function Ec(a,b,c,d){H.call(this);this.type="CubeCamera";var e=new oa(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new n(1,0,0));this.add(e);var f=new oa(90,1,a,b);f.up.set(0,-1,0);f.lookAt(new n(-1,0,0));this.add(f);var g=new oa(90,1,a,b);g.up.set(0,0,1);g.lookAt(new n(0,1,0));this.add(g);var h=new oa(90,1,a,b);h.up.set(0,0,-1);h.lookAt(new n(0,-1,0)); +this.add(h);var l=new oa(90,1,a,b);l.up.set(0,-1,0);l.lookAt(new n(0,0,1));this.add(l);var m=new oa(90,1,a,b);m.up.set(0,-1,0);m.lookAt(new n(0,0,-1));this.add(m);d=d||{format:1022,magFilter:1006,minFilter:1006};this.renderTarget=new Bb(c,c,d);this.renderTarget.texture.name="CubeCamera";this.update=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=a.getRenderTarget(),d=this.renderTarget,q=d.texture.generateMipmaps;d.texture.generateMipmaps=!1;a.setRenderTarget(d,0);a.render(b,e);a.setRenderTarget(d, +1);a.render(b,f);a.setRenderTarget(d,2);a.render(b,g);a.setRenderTarget(d,3);a.render(b,h);a.setRenderTarget(d,4);a.render(b,l);d.texture.generateMipmaps=q;a.setRenderTarget(d,5);a.render(b,m);a.setRenderTarget(c)};this.clear=function(a,b,c,d){for(var e=a.getRenderTarget(),f=this.renderTarget,g=0;6>g;g++)a.setRenderTarget(f,g),a.clear(b,c,d);a.setRenderTarget(e)}}function Bb(a,b,c){la.call(this,a,b,c)}function $b(a,b,c,d,e,f,g,h,l,m,q,u){Y.call(this,null,f,g,h,l,m,d,e,q,u);this.image={data:a||null, +width:b||1,height:c||1};this.magFilter=void 0!==l?l:1003;this.minFilter=void 0!==m?m:1003;this.flipY=this.generateMipmaps=!1;this.unpackAlignment=1;this.needsUpdate=!0}function db(a,b){this.normal=void 0!==a?a:new n(1,0,0);this.constant=void 0!==b?b:0}function Hd(a,b,c,d,e,f){this.planes=[void 0!==a?a:new db,void 0!==b?b:new db,void 0!==c?c:new db,void 0!==d?d:new db,void 0!==e?e:new db,void 0!==f?f:new db]}function $f(){function a(e,f){!1!==c&&(d(e,f),b.requestAnimationFrame(a))}var b=null,c=!1, +d=null;return{start:function(){!0!==c&&null!==d&&(b.requestAnimationFrame(a),c=!0)},stop:function(){c=!1},setAnimationLoop:function(a){d=a},setContext:function(a){b=a}}}function Wi(a){function b(b,c){var d=b.array,e=b.dynamic?35048:35044,h=a.createBuffer();a.bindBuffer(c,h);a.bufferData(c,d,e);b.onUploadCallback();c=5126;d instanceof Float32Array?c=5126:d instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):d instanceof Uint16Array?c=5123:d instanceof +Int16Array?c=5122:d instanceof Uint32Array?c=5125:d instanceof Int32Array?c=5124:d instanceof Int8Array?c=5120:d instanceof Uint8Array&&(c=5121);return{buffer:h,type:c,bytesPerElement:d.BYTES_PER_ELEMENT,version:b.version}}var c=new WeakMap;return{get:function(a){a.isInterleavedBufferAttribute&&(a=a.data);return c.get(a)},remove:function(b){b.isInterleavedBufferAttribute&&(b=b.data);var d=c.get(b);d&&(a.deleteBuffer(d.buffer),c.delete(b))},update:function(d,e){d.isInterleavedBufferAttribute&&(d=d.data); +var f=c.get(d);if(void 0===f)c.set(d,b(d,e));else if(f.version<d.version){var g=d,h=g.array,l=g.updateRange;a.bindBuffer(e,f.buffer);!1===g.dynamic?a.bufferData(e,h,35044):-1===l.count?a.bufferSubData(e,0,h):0===l.count?console.error("THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually."):(a.bufferSubData(e,l.offset*h.BYTES_PER_ELEMENT,h.subarray(l.offset,l.offset+l.count)),l.count=-1); +f.version=d.version}}}}function Id(a,b,c,d){M.call(this);this.type="PlaneGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};this.fromBufferGeometry(new ac(a,b,c,d));this.mergeVertices()}function ac(a,b,c,d){D.call(this);this.type="PlaneBufferGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};a=a||1;b=b||1;var e=a/2,f=b/2;c=Math.floor(c)||1;d=Math.floor(d)||1;var g=c+1,h=d+1,l=a/c,m=b/d,q=[],u=[],r=[],k=[];for(a=0;a<h;a++){var p=a*m-f;for(b=0;b< +g;b++)u.push(b*l-e,-p,0),r.push(0,0,1),k.push(b/c),k.push(1-a/d)}for(a=0;a<d;a++)for(b=0;b<c;b++)e=b+g*(a+1),f=b+1+g*(a+1),h=b+1+g*a,q.push(b+g*a,e,h),q.push(e,f,h);this.setIndex(q);this.addAttribute("position",new z(u,3));this.addAttribute("normal",new z(r,3));this.addAttribute("uv",new z(k,2))}function Xi(a,b,c,d){function e(a,c){b.buffers.color.setClear(a.r,a.g,a.b,c,d)}var f=new E(0),g=0,h,l,m=null,q=0;return{getClearColor:function(){return f},setClearColor:function(a,b){f.set(a);g=void 0!==b? +b:1;e(f,g)},getClearAlpha:function(){return g},setClearAlpha:function(a){g=a;e(f,g)},render:function(b,d,k,p){d=d.background;k=a.vr;(k=k.getSession&&k.getSession())&&"additive"===k.environmentBlendMode&&(d=null);null===d?(e(f,g),m=null,q=0):d&&d.isColor&&(e(d,1),p=!0,m=null,q=0);(a.autoClear||p)&&a.clear(a.autoClearColor,a.autoClearDepth,a.autoClearStencil);if(d&&(d.isCubeTexture||d.isWebGLRenderTargetCube)){void 0===l&&(l=new da(new Jd(1,1,1),new na({type:"BackgroundCubeMaterial",uniforms:Zb(eb.cube.uniforms), +vertexShader:eb.cube.vertexShader,fragmentShader:eb.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.removeAttribute("normal"),l.geometry.removeAttribute("uv"),l.onBeforeRender=function(a,b,c){this.matrixWorld.copyPosition(c.matrixWorld)},Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.tCube.value}}),c.update(l));p=d.isWebGLRenderTargetCube?d.texture:d;l.material.uniforms.tCube.value=p;l.material.uniforms.tFlip.value=d.isWebGLRenderTargetCube? +1:-1;if(m!==d||q!==p.version)l.material.needsUpdate=!0,m=d,q=p.version;b.unshift(l,l.geometry,l.material,0,0,null)}else if(d&&d.isTexture){void 0===h&&(h=new da(new ac(2,2),new na({type:"BackgroundMaterial",uniforms:Zb(eb.background.uniforms),vertexShader:eb.background.vertexShader,fragmentShader:eb.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.removeAttribute("normal"),Object.defineProperty(h.material,"map",{get:function(){return this.uniforms.t2D.value}}),c.update(h)); +h.material.uniforms.t2D.value=d;!0===d.matrixAutoUpdate&&d.updateMatrix();h.material.uniforms.uvTransform.value.copy(d.matrix);if(m!==d||q!==d.version)h.material.needsUpdate=!0,m=d,q=d.version;b.unshift(h,h.geometry,h.material,0,0,null)}}}}function Yi(a,b,c,d){var e;this.setMode=function(a){e=a};this.render=function(b,d){a.drawArrays(e,b,d);c.update(d,e)};this.renderInstances=function(f,g,h,l){if(0!==l){if(d.isWebGL2){f=a;var m="drawArraysInstanced"}else if(f=b.get("ANGLE_instanced_arrays"),m="drawArraysInstancedANGLE", +null===f){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}f[m](e,g,h,l);c.update(h,e,l)}}}function Zi(a,b,c){function d(b){if("highp"===b){if(0<a.getShaderPrecisionFormat(35633,36338).precision&&0<a.getShaderPrecisionFormat(35632,36338).precision)return"highp";b="mediump"}return"mediump"===b&&0<a.getShaderPrecisionFormat(35633,36337).precision&&0<a.getShaderPrecisionFormat(35632,36337).precision? +"mediump":"lowp"}var e,f="undefined"!==typeof WebGL2RenderingContext&&a instanceof WebGL2RenderingContext,g=void 0!==c.precision?c.precision:"highp",h=d(g);h!==g&&(console.warn("THREE.WebGLRenderer:",g,"not supported, using",h,"instead."),g=h);c=!0===c.logarithmicDepthBuffer;h=a.getParameter(34930);var l=a.getParameter(35660),m=a.getParameter(3379),q=a.getParameter(34076),u=a.getParameter(34921),k=a.getParameter(36347),t=a.getParameter(36348),p=a.getParameter(36349),v=0<l,w=f||!!b.get("OES_texture_float"), +n=v&&w,x=f?a.getParameter(36183):0;return{isWebGL2:f,getMaxAnisotropy:function(){if(void 0!==e)return e;var c=b.get("EXT_texture_filter_anisotropic");return e=null!==c?a.getParameter(c.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0},getMaxPrecision:d,precision:g,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:l,maxTextureSize:m,maxCubemapSize:q,maxAttributes:u,maxVertexUniforms:k,maxVaryings:t,maxFragmentUniforms:p,vertexTextures:v,floatFragmentTextures:w,floatVertexTextures:n,maxSamples:x}}function $i(){function a(){m.value!== +d&&(m.value=d,m.needsUpdate=0<e);c.numPlanes=e;c.numIntersection=0}function b(a,b,d,e){var f=null!==a?a.length:0,g=null;if(0!==f){g=m.value;if(!0!==e||null===g){e=d+4*f;b=b.matrixWorldInverse;l.getNormalMatrix(b);if(null===g||g.length<e)g=new Float32Array(e);for(e=0;e!==f;++e,d+=4)h.copy(a[e]).applyMatrix4(b,l),h.normal.toArray(g,d),g[d+3]=h.constant}m.value=g;m.needsUpdate=!0}c.numPlanes=f;return g}var c=this,d=null,e=0,f=!1,g=!1,h=new db,l=new aa,m={value:null,needsUpdate:!1};this.uniform=m;this.numIntersection= +this.numPlanes=0;this.init=function(a,c,g){var h=0!==a.length||c||0!==e||f;f=c;d=b(a,g,0);e=a.length;return h};this.beginShadows=function(){g=!0;b(null)};this.endShadows=function(){g=!1;a()};this.setState=function(c,h,l,k,p,v){if(!f||null===c||0===c.length||g&&!l)g?b(null):a();else{l=g?0:e;var q=4*l,u=p.clippingState||null;m.value=u;u=b(c,k,q,v);for(c=0;c!==q;++c)u[c]=d[c];p.clippingState=u;this.numIntersection=h?this.numPlanes:0;this.numPlanes+=l}}}function aj(a){var b={};return{get:function(c){if(void 0!== +b[c])return b[c];switch(c){case "WEBGL_depth_texture":var d=a.getExtension("WEBGL_depth_texture")||a.getExtension("MOZ_WEBGL_depth_texture")||a.getExtension("WEBKIT_WEBGL_depth_texture");break;case "EXT_texture_filter_anisotropic":d=a.getExtension("EXT_texture_filter_anisotropic")||a.getExtension("MOZ_EXT_texture_filter_anisotropic")||a.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case "WEBGL_compressed_texture_s3tc":d=a.getExtension("WEBGL_compressed_texture_s3tc")||a.getExtension("MOZ_WEBGL_compressed_texture_s3tc")|| +a.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case "WEBGL_compressed_texture_pvrtc":d=a.getExtension("WEBGL_compressed_texture_pvrtc")||a.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:d=a.getExtension(c)}null===d&&console.warn("THREE.WebGLRenderer: "+c+" extension not supported.");return b[c]=d}}}function bj(a,b,c){function d(a){var e=a.target;a=f.get(e);null!==a.index&&b.remove(a.index);for(var h in a.attributes)b.remove(a.attributes[h]);e.removeEventListener("dispose", +d);f.delete(e);if(h=g.get(a))b.remove(h),g.delete(a);c.memory.geometries--}function e(a){var c=[],d=a.index,e=a.attributes.position;if(null!==d){var f=d.array;d=d.version;e=0;for(var h=f.length;e<h;e+=3){var k=f[e+0],p=f[e+1],v=f[e+2];c.push(k,p,p,v,v,k)}}else for(f=e.array,d=e.version,e=0,h=f.length/3-1;e<h;e+=3)k=e+0,p=e+1,v=e+2,c.push(k,p,p,v,v,k);c=new (65535<kh(c)?Vb:Ub)(c,1);c.version=d;b.update(c,34963);(f=g.get(a))&&b.remove(f);g.set(a,c)}var f=new WeakMap,g=new WeakMap;return{get:function(a, +b){var e=f.get(b);if(e)return e;b.addEventListener("dispose",d);b.isBufferGeometry?e=b:b.isGeometry&&(void 0===b._bufferGeometry&&(b._bufferGeometry=(new D).setFromObject(a)),e=b._bufferGeometry);f.set(b,e);c.memory.geometries++;return e},update:function(a){var c=a.index,d=a.attributes;null!==c&&b.update(c,34963);for(var e in d)b.update(d[e],34962);a=a.morphAttributes;for(e in a){c=a[e];d=0;for(var f=c.length;d<f;d++)b.update(c[d],34962)}},getWireframeAttribute:function(a){var b=g.get(a);if(b){var c= +a.index;null!==c&&b.version<c.version&&e(a)}else e(a);return g.get(a)}}}function cj(a,b,c,d){var e,f,g;this.setMode=function(a){e=a};this.setIndex=function(a){f=a.type;g=a.bytesPerElement};this.render=function(b,d){a.drawElements(e,d,f,b*g);c.update(d,e)};this.renderInstances=function(h,l,m,q){if(0!==q){if(d.isWebGL2){h=a;var u="drawElementsInstanced"}else if(h=b.get("ANGLE_instanced_arrays"),u="drawElementsInstancedANGLE",null===h){console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays."); +return}h[u](e,m,f,l*g,q);c.update(m,e,q)}}}function dj(a){var b={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:b,programs:null,autoReset:!0,reset:function(){b.frame++;b.calls=0;b.triangles=0;b.points=0;b.lines=0},update:function(a,d,e){e=e||1;b.calls++;switch(d){case 4:b.triangles+=a/3*e;break;case 5:case 6:b.triangles+=e*(a-2);break;case 1:b.lines+=a/2*e;break;case 3:b.lines+=e*(a-1);break;case 2:b.lines+=e*a;break;case 0:b.points+=e*a;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:", +d)}}}}function ej(a,b){return Math.abs(b[1])-Math.abs(a[1])}function fj(a){var b={},c=new Float32Array(8);return{update:function(d,e,f,g){var h=d.morphTargetInfluences,l=h.length;d=b[e.id];if(void 0===d){d=[];for(var m=0;m<l;m++)d[m]=[m,0];b[e.id]=d}var q=f.morphTargets&&e.morphAttributes.position;f=f.morphNormals&&e.morphAttributes.normal;for(m=0;m<l;m++){var u=d[m];0!==u[1]&&(q&&e.removeAttribute("morphTarget"+m),f&&e.removeAttribute("morphNormal"+m))}for(m=0;m<l;m++)u=d[m],u[0]=m,u[1]=h[m];d.sort(ej); +for(m=0;8>m;m++){if(u=d[m])if(h=u[0],l=u[1]){q&&e.addAttribute("morphTarget"+m,q[h]);f&&e.addAttribute("morphNormal"+m,f[h]);c[m]=l;continue}c[m]=0}g.getUniforms().setValue(a,"morphTargetInfluences",c)}}}function gj(a,b,c,d){var e={};return{update:function(a){var f=d.render.frame,h=a.geometry,l=b.get(a,h);e[l.id]!==f&&(h.isGeometry&&l.updateFromObject(a),b.update(l),e[l.id]=f);a.isInstancedMesh&&c.update(a.instanceMatrix,34962);return l},dispose:function(){e={}}}}function pb(a,b,c,d,e,f,g,h,l,m){a= +void 0!==a?a:[];Y.call(this,a,void 0!==b?b:301,c,d,e,f,void 0!==g?g:1022,h,l,m);this.flipY=!1}function Fc(a,b,c,d){Y.call(this,null);this.image={data:a||null,width:b||1,height:c||1,depth:d||1};this.minFilter=this.magFilter=1003;this.wrapR=1001;this.flipY=this.generateMipmaps=!1;this.needsUpdate=!0}function Gc(a,b,c,d){Y.call(this,null);this.image={data:a||null,width:b||1,height:c||1,depth:d||1};this.minFilter=this.magFilter=1003;this.wrapR=1001;this.flipY=this.generateMipmaps=!1;this.needsUpdate= +!0}function Hc(a,b,c){var d=a[0];if(0>=d||0<d)return a;var e=b*c,f=ph[e];void 0===f&&(f=new Float32Array(e),ph[e]=f);if(0!==b)for(d.toArray(f,0),d=1,e=0;d!==b;++d)e+=c,a[d].toArray(f,e);return f}function Na(a,b){if(a.length!==b.length)return!1;for(var c=0,d=a.length;c<d;c++)if(a[c]!==b[c])return!1;return!0}function Ja(a,b){for(var c=0,d=b.length;c<d;c++)a[c]=b[c]}function qh(a,b){var c=rh[b];void 0===c&&(c=new Int32Array(b),rh[b]=c);for(var d=0;d!==b;++d)c[d]=a.allocateTextureUnit();return c}function hj(a, +b){var c=this.cache;c[0]!==b&&(a.uniform1f(this.addr,b),c[0]=b)}function ij(a,b){var c=this.cache;if(void 0!==b.x){if(c[0]!==b.x||c[1]!==b.y)a.uniform2f(this.addr,b.x,b.y),c[0]=b.x,c[1]=b.y}else Na(c,b)||(a.uniform2fv(this.addr,b),Ja(c,b))}function jj(a,b){var c=this.cache;if(void 0!==b.x){if(c[0]!==b.x||c[1]!==b.y||c[2]!==b.z)a.uniform3f(this.addr,b.x,b.y,b.z),c[0]=b.x,c[1]=b.y,c[2]=b.z}else if(void 0!==b.r){if(c[0]!==b.r||c[1]!==b.g||c[2]!==b.b)a.uniform3f(this.addr,b.r,b.g,b.b),c[0]=b.r,c[1]=b.g, +c[2]=b.b}else Na(c,b)||(a.uniform3fv(this.addr,b),Ja(c,b))}function kj(a,b){var c=this.cache;if(void 0!==b.x){if(c[0]!==b.x||c[1]!==b.y||c[2]!==b.z||c[3]!==b.w)a.uniform4f(this.addr,b.x,b.y,b.z,b.w),c[0]=b.x,c[1]=b.y,c[2]=b.z,c[3]=b.w}else Na(c,b)||(a.uniform4fv(this.addr,b),Ja(c,b))}function lj(a,b){var c=this.cache,d=b.elements;void 0===d?Na(c,b)||(a.uniformMatrix2fv(this.addr,!1,b),Ja(c,b)):Na(c,d)||(sh.set(d),a.uniformMatrix2fv(this.addr,!1,sh),Ja(c,d))}function mj(a,b){var c=this.cache,d=b.elements; +void 0===d?Na(c,b)||(a.uniformMatrix3fv(this.addr,!1,b),Ja(c,b)):Na(c,d)||(th.set(d),a.uniformMatrix3fv(this.addr,!1,th),Ja(c,d))}function nj(a,b){var c=this.cache,d=b.elements;void 0===d?Na(c,b)||(a.uniformMatrix4fv(this.addr,!1,b),Ja(c,b)):Na(c,d)||(uh.set(d),a.uniformMatrix4fv(this.addr,!1,uh),Ja(c,d))}function oj(a,b,c){var d=this.cache,e=c.allocateTextureUnit();d[0]!==e&&(a.uniform1i(this.addr,e),d[0]=e);c.safeSetTexture2D(b||vh,e)}function pj(a,b,c){var d=this.cache,e=c.allocateTextureUnit(); +d[0]!==e&&(a.uniform1i(this.addr,e),d[0]=e);c.setTexture2DArray(b||qj,e)}function rj(a,b,c){var d=this.cache,e=c.allocateTextureUnit();d[0]!==e&&(a.uniform1i(this.addr,e),d[0]=e);c.setTexture3D(b||sj,e)}function tj(a,b,c){var d=this.cache,e=c.allocateTextureUnit();d[0]!==e&&(a.uniform1i(this.addr,e),d[0]=e);c.safeSetTextureCube(b||wh,e)}function uj(a,b){var c=this.cache;c[0]!==b&&(a.uniform1i(this.addr,b),c[0]=b)}function vj(a,b){var c=this.cache;Na(c,b)||(a.uniform2iv(this.addr,b),Ja(c,b))}function wj(a, +b){var c=this.cache;Na(c,b)||(a.uniform3iv(this.addr,b),Ja(c,b))}function xj(a,b){var c=this.cache;Na(c,b)||(a.uniform4iv(this.addr,b),Ja(c,b))}function yj(a){switch(a){case 5126:return hj;case 35664:return ij;case 35665:return jj;case 35666:return kj;case 35674:return lj;case 35675:return mj;case 35676:return nj;case 35678:case 36198:return oj;case 35679:return rj;case 35680:return tj;case 36289:return pj;case 5124:case 35670:return uj;case 35667:case 35671:return vj;case 35668:case 35672:return wj; +case 35669:case 35673:return xj}}function zj(a,b){a.uniform1fv(this.addr,b)}function Aj(a,b){a.uniform1iv(this.addr,b)}function Bj(a,b){a.uniform2iv(this.addr,b)}function Cj(a,b){a.uniform3iv(this.addr,b)}function Dj(a,b){a.uniform4iv(this.addr,b)}function Ej(a,b){b=Hc(b,this.size,2);a.uniform2fv(this.addr,b)}function Fj(a,b){b=Hc(b,this.size,3);a.uniform3fv(this.addr,b)}function Gj(a,b){b=Hc(b,this.size,4);a.uniform4fv(this.addr,b)}function Hj(a,b){b=Hc(b,this.size,4);a.uniformMatrix2fv(this.addr, +!1,b)}function Ij(a,b){b=Hc(b,this.size,9);a.uniformMatrix3fv(this.addr,!1,b)}function Jj(a,b){b=Hc(b,this.size,16);a.uniformMatrix4fv(this.addr,!1,b)}function Kj(a,b,c){var d=b.length,e=qh(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.safeSetTexture2D(b[a]||vh,e[a])}function Lj(a,b,c){var d=b.length,e=qh(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.safeSetTextureCube(b[a]||wh,e[a])}function Mj(a){switch(a){case 5126:return zj;case 35664:return Ej;case 35665:return Fj;case 35666:return Gj; +case 35674:return Hj;case 35675:return Ij;case 35676:return Jj;case 35678:return Kj;case 35680:return Lj;case 5124:case 35670:return Aj;case 35667:case 35671:return Bj;case 35668:case 35672:return Cj;case 35669:case 35673:return Dj}}function Nj(a,b,c){this.id=a;this.addr=c;this.cache=[];this.setValue=yj(b.type)}function xh(a,b,c){this.id=a;this.addr=c;this.cache=[];this.size=b.size;this.setValue=Mj(b.type)}function yh(a){this.id=a;this.seq=[];this.map={}}function Cb(a,b){this.seq=[];this.map={};for(var c= +a.getProgramParameter(b,35718),d=0;d<c;++d){var e=a.getActiveUniform(b,d),f=a.getUniformLocation(b,e.name),g=this,h=e.name,l=h.length;for(ag.lastIndex=0;;){var m=ag.exec(h),q=ag.lastIndex,u=m[1],k=m[3];"]"===m[2]&&(u|=0);if(void 0===k||"["===k&&q+2===l){h=g;e=void 0===k?new Nj(u,e,f):new xh(u,e,f);h.seq.push(e);h.map[e.id]=e;break}else k=g.map[u],void 0===k&&(k=new yh(u),u=g,g=k,u.seq.push(g),u.map[g.id]=g),g=k}}}function zh(a,b,c){b=a.createShader(b);a.shaderSource(b,c);a.compileShader(b);return b} +function Ah(a){switch(a){case 3E3:return["Linear","( value )"];case 3001:return["sRGB","( value )"];case 3002:return["RGBE","( value )"];case 3004:return["RGBM","( value, 7.0 )"];case 3005:return["RGBM","( value, 16.0 )"];case 3006:return["RGBD","( value, 256.0 )"];case 3007:return["Gamma","( value, float( GAMMA_FACTOR ) )"];case 3003:return["LogLuv","( value )"];default:throw Error("unsupported encoding: "+a);}}function Bh(a,b,c){var d=a.getShaderParameter(b,35713),e=a.getShaderInfoLog(b).trim(); +if(d&&""===e)return"";a=a.getShaderSource(b).split("\n");for(b=0;b<a.length;b++)a[b]=b+1+": "+a[b];a=a.join("\n");return"THREE.WebGLShader: gl.getShaderInfoLog() "+c+"\n"+e+a}function Ie(a,b){b=Ah(b);return"vec4 "+a+"( vec4 value ) { return "+b[0]+"ToLinear"+b[1]+"; }"}function Oj(a,b){b=Ah(b);return"vec4 "+a+"( vec4 value ) { return LinearTo"+b[0]+b[1]+"; }"}function Pj(a,b){switch(b){case 1:b="Linear";break;case 2:b="Reinhard";break;case 3:b="Uncharted2";break;case 4:b="OptimizedCineon";break;case 5:b= +"ACESFilmic";break;default:throw Error("unsupported toneMapping: "+b);}return"vec3 "+a+"( vec3 color ) { return "+b+"ToneMapping( color ); }"}function Qj(a,b,c){a=a||{};return[a.derivatives||b.envMapCubeUV||b.bumpMap||b.tangentSpaceNormalMap||b.clearcoatNormalMap||b.flatShading?"#extension GL_OES_standard_derivatives : enable":"",(a.fragDepth||b.logarithmicDepthBuffer)&&c.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable":"",a.drawBuffers&&c.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require": +"",(a.shaderTextureLOD||b.envMap)&&c.get("EXT_shader_texture_lod")?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Kd).join("\n")}function Rj(a){var b=[],c;for(c in a){var d=a[c];!1!==d&&b.push("#define "+c+" "+d)}return b.join("\n")}function Kd(a){return""!==a}function Ch(a,b){return a.replace(/NUM_DIR_LIGHTS/g,b.numDirLights).replace(/NUM_SPOT_LIGHTS/g,b.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,b.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,b.numPointLights).replace(/NUM_HEMI_LIGHTS/g, +b.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,b.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,b.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,b.numPointLightShadows)}function Dh(a,b){return a.replace(/NUM_CLIPPING_PLANES/g,b.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,b.numClippingPlanes-b.numClipIntersection)}function bg(a,b){a=T[b];if(void 0===a)throw Error("Can not resolve #include <"+b+">");return a.replace(cg,bg)}function Eh(a,b,c,d){a="";for(b=parseInt(b);b<parseInt(c);b++)a+= +d.replace(/\[ i \]/g,"[ "+b+" ]").replace(/UNROLLED_LOOP_INDEX/g,b);return a}function Fh(a){var b="precision "+a.precision+" float;\nprecision "+a.precision+" int;";"highp"===a.precision?b+="\n#define HIGH_PRECISION":"mediump"===a.precision?b+="\n#define MEDIUM_PRECISION":"lowp"===a.precision&&(b+="\n#define LOW_PRECISION");return b}function Sj(a){var b="SHADOWMAP_TYPE_BASIC";1===a.shadowMapType?b="SHADOWMAP_TYPE_PCF":2===a.shadowMapType?b="SHADOWMAP_TYPE_PCF_SOFT":3===a.shadowMapType&&(b="SHADOWMAP_TYPE_VSM"); +return b}function Tj(a,b){var c="ENVMAP_TYPE_CUBE";if(a.envMap)switch(b.envMap.mapping){case 301:case 302:c="ENVMAP_TYPE_CUBE";break;case 306:case 307:c="ENVMAP_TYPE_CUBE_UV";break;case 303:case 304:c="ENVMAP_TYPE_EQUIREC";break;case 305:c="ENVMAP_TYPE_SPHERE"}return c}function Uj(a,b){var c="ENVMAP_MODE_REFLECTION";if(a.envMap)switch(b.envMap.mapping){case 302:case 304:c="ENVMAP_MODE_REFRACTION"}return c}function Vj(a,b){var c="ENVMAP_BLENDING_MULTIPLY";if(a.envMap)switch(b.combine){case 0:c="ENVMAP_BLENDING_MULTIPLY"; +break;case 1:c="ENVMAP_BLENDING_MIX";break;case 2:c="ENVMAP_BLENDING_ADD"}return c}function Wj(a,b,c,d,e,f){var g=a.getContext(),h=d.defines,l=e.vertexShader,m=e.fragmentShader,q=Sj(f),u=Tj(f,d),k=Uj(f,d),t=Vj(f,d),p=0<a.gammaFactor?a.gammaFactor:1,v=f.isWebGL2?"":Qj(d.extensions,f,b),w=Rj(h),n=g.createProgram(),x=(h=a.getRenderTarget())&&h.isWebGLMultiviewRenderTarget?h.numViews:0;d.isRawShaderMaterial?(h=[w].filter(Kd).join("\n"),0<h.length&&(h+="\n"),b=[v,w].filter(Kd).join("\n"),0<b.length&&(b+= +"\n")):(h=[Fh(f),"#define SHADER_NAME "+e.name,w,f.instancing?"#define USE_INSTANCING":"",f.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+p,"#define MAX_BONES "+f.maxBones,f.useFog&&f.fog?"#define USE_FOG":"",f.useFog&&f.fogExp2?"#define FOG_EXP2":"",f.map?"#define USE_MAP":"",f.envMap?"#define USE_ENVMAP":"",f.envMap?"#define "+k:"",f.lightMap?"#define USE_LIGHTMAP":"",f.aoMap?"#define USE_AOMAP":"",f.emissiveMap?"#define USE_EMISSIVEMAP":"",f.bumpMap?"#define USE_BUMPMAP": +"",f.normalMap?"#define USE_NORMALMAP":"",f.normalMap&&f.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",f.normalMap&&f.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",f.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",f.displacementMap&&f.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",f.specularMap?"#define USE_SPECULARMAP":"",f.roughnessMap?"#define USE_ROUGHNESSMAP":"",f.metalnessMap?"#define USE_METALNESSMAP":"",f.alphaMap?"#define USE_ALPHAMAP":"",f.vertexTangents? +"#define USE_TANGENT":"",f.vertexColors?"#define USE_COLOR":"",f.vertexUvs?"#define USE_UV":"",f.flatShading?"#define FLAT_SHADED":"",f.skinning?"#define USE_SKINNING":"",f.useVertexTexture?"#define BONE_TEXTURE":"",f.morphTargets?"#define USE_MORPHTARGETS":"",f.morphNormals&&!1===f.flatShading?"#define USE_MORPHNORMALS":"",f.doubleSided?"#define DOUBLE_SIDED":"",f.flipSided?"#define FLIP_SIDED":"",f.shadowMapEnabled?"#define USE_SHADOWMAP":"",f.shadowMapEnabled?"#define "+q:"",f.sizeAttenuation? +"#define USE_SIZEATTENUATION":"",f.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",f.logarithmicDepthBuffer&&(f.isWebGL2||b.get("EXT_frag_depth"))?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;", +"#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;", +"\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(Kd).join("\n"),b=[v,Fh(f),"#define SHADER_NAME "+e.name,w,f.alphaTest?"#define ALPHATEST "+f.alphaTest+(f.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+p,f.useFog&&f.fog?"#define USE_FOG":"",f.useFog&&f.fogExp2?"#define FOG_EXP2":"",f.map?"#define USE_MAP":"",f.matcap?"#define USE_MATCAP":"",f.envMap?"#define USE_ENVMAP": +"",f.envMap?"#define "+u:"",f.envMap?"#define "+k:"",f.envMap?"#define "+t:"",f.lightMap?"#define USE_LIGHTMAP":"",f.aoMap?"#define USE_AOMAP":"",f.emissiveMap?"#define USE_EMISSIVEMAP":"",f.bumpMap?"#define USE_BUMPMAP":"",f.normalMap?"#define USE_NORMALMAP":"",f.normalMap&&f.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",f.normalMap&&f.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",f.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",f.specularMap?"#define USE_SPECULARMAP": +"",f.roughnessMap?"#define USE_ROUGHNESSMAP":"",f.metalnessMap?"#define USE_METALNESSMAP":"",f.alphaMap?"#define USE_ALPHAMAP":"",f.sheen?"#define USE_SHEEN":"",f.vertexTangents?"#define USE_TANGENT":"",f.vertexColors?"#define USE_COLOR":"",f.vertexUvs?"#define USE_UV":"",f.gradientMap?"#define USE_GRADIENTMAP":"",f.flatShading?"#define FLAT_SHADED":"",f.doubleSided?"#define DOUBLE_SIDED":"",f.flipSided?"#define FLIP_SIDED":"",f.shadowMapEnabled?"#define USE_SHADOWMAP":"",f.shadowMapEnabled?"#define "+ +q:"",f.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",f.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",f.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",f.logarithmicDepthBuffer&&(f.isWebGL2||b.get("EXT_frag_depth"))?"#define USE_LOGDEPTHBUF_EXT":"",(d.extensions&&d.extensions.shaderTextureLOD||f.envMap)&&(f.isWebGL2||b.get("EXT_shader_texture_lod"))?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;",0!==f.toneMapping?"#define TONE_MAPPING": +"",0!==f.toneMapping?T.tonemapping_pars_fragment:"",0!==f.toneMapping?Pj("toneMapping",f.toneMapping):"",f.dithering?"#define DITHERING":"",f.outputEncoding||f.mapEncoding||f.matcapEncoding||f.envMapEncoding||f.emissiveMapEncoding?T.encodings_pars_fragment:"",f.mapEncoding?Ie("mapTexelToLinear",f.mapEncoding):"",f.matcapEncoding?Ie("matcapTexelToLinear",f.matcapEncoding):"",f.envMapEncoding?Ie("envMapTexelToLinear",f.envMapEncoding):"",f.emissiveMapEncoding?Ie("emissiveMapTexelToLinear",f.emissiveMapEncoding): +"",f.outputEncoding?Oj("linearToOutputTexel",f.outputEncoding):"",f.depthPacking?"#define DEPTH_PACKING "+d.depthPacking:"","\n"].filter(Kd).join("\n"));l=l.replace(cg,bg);l=Ch(l,f);l=Dh(l,f);m=m.replace(cg,bg);m=Ch(m,f);m=Dh(m,f);l=l.replace(Gh,Eh);m=m.replace(Gh,Eh);f.isWebGL2&&!d.isRawShaderMaterial&&(q=!1,u=/^\s*#version\s+300\s+es\s*\n/,d.isShaderMaterial&&null!==l.match(u)&&null!==m.match(u)&&(q=!0,l=l.replace(u,""),m=m.replace(u,"")),h="#version 300 es\n\n#define attribute in\n#define varying out\n#define texture2D texture\n"+ +h,b=["#version 300 es\n\n#define varying in",q?"":"out highp vec4 pc_fragColor;",q?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth\n#define texture2D texture\n#define textureCube texture\n#define texture2DProj textureProj\n#define texture2DLodEXT textureLod\n#define texture2DProjLodEXT textureProjLod\n#define textureCubeLodEXT textureLod\n#define texture2DGradEXT textureGrad\n#define texture2DProjGradEXT textureProjGrad\n#define textureCubeGradEXT textureGrad"].join("\n")+ +"\n"+b,0<x&&(h=h.replace("#version 300 es\n",["#version 300 es\n\n#extension GL_OVR_multiview2 : require","layout(num_views = "+x+") in;","#define VIEW_ID gl_ViewID_OVR"].join("\n")),h=h.replace("uniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;",["uniform mat4 modelViewMatrices["+x+"];","uniform mat4 projectionMatrices["+x+"];","uniform mat4 viewMatrices["+x+"];","uniform mat3 normalMatrices["+x+"];","#define modelViewMatrix modelViewMatrices[VIEW_ID]\n#define projectionMatrix projectionMatrices[VIEW_ID]\n#define viewMatrix viewMatrices[VIEW_ID]\n#define normalMatrix normalMatrices[VIEW_ID]"].join("\n")), +b=b.replace("#version 300 es\n","#version 300 es\n\n#extension GL_OVR_multiview2 : require\n#define VIEW_ID gl_ViewID_OVR"),b=b.replace("uniform mat4 viewMatrix;",["uniform mat4 viewMatrices["+x+"];","#define viewMatrix viewMatrices[VIEW_ID]"].join("\n"))));m=b+m;l=zh(g,35633,h+l);m=zh(g,35632,m);g.attachShader(n,l);g.attachShader(n,m);void 0!==d.index0AttributeName?g.bindAttribLocation(n,0,d.index0AttributeName):!0===f.morphTargets&&g.bindAttribLocation(n,0,"position");g.linkProgram(n);if(a.debug.checkShaderErrors){a= +g.getProgramInfoLog(n).trim();f=g.getShaderInfoLog(l).trim();q=g.getShaderInfoLog(m).trim();k=u=!0;if(!1===g.getProgramParameter(n,35714))u=!1,t=Bh(g,l,"vertex"),p=Bh(g,m,"fragment"),console.error("THREE.WebGLProgram: shader error: ",g.getError(),"35715",g.getProgramParameter(n,35715),"gl.getProgramInfoLog",a,t,p);else if(""!==a)console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",a);else if(""===f||""===q)k=!1;k&&(this.diagnostics={runnable:u,material:d,programLog:a,vertexShader:{log:f,prefix:h}, +fragmentShader:{log:q,prefix:b}})}g.deleteShader(l);g.deleteShader(m);var G;this.getUniforms=function(){void 0===G&&(G=new Cb(g,n));return G};var K;this.getAttributes=function(){if(void 0===K){for(var a={},b=g.getProgramParameter(n,35721),c=0;c<b;c++){var d=g.getActiveAttrib(n,c).name;a[d]=g.getAttribLocation(n,d)}K=a}return K};this.destroy=function(){g.deleteProgram(n);this.program=void 0};this.name=e.name;this.id=Xj++;this.code=c;this.usedTimes=1;this.program=n;this.vertexShader=l;this.fragmentShader= +m;this.numMultiviewViews=x;return this}function Yj(a,b,c){function d(a,b){if(a)a.isTexture?c=a.encoding:a.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),c=a.texture.encoding);else var c=3E3;3E3===c&&b&&(c=3007);return c}var e=[],f={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong", +MeshToonMaterial:"phong",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"},g="precision supportsVertexTextures instancing map mapEncoding matcap matcapEncoding envMap envMapMode envMapEncoding lightMap aoMap emissiveMap emissiveMapEncoding bumpMap normalMap objectSpaceNormalMap tangentSpaceNormalMap clearcoatNormalMap displacementMap specularMap roughnessMap metalnessMap gradientMap alphaMap combine vertexColors vertexTangents fog useFog fogExp2 flatShading sizeAttenuation logarithmicDepthBuffer skinning maxBones useVertexTexture morphTargets morphNormals maxMorphTargets maxMorphNormals premultipliedAlpha numDirLights numPointLights numSpotLights numHemiLights numRectAreaLights shadowMapEnabled shadowMapType toneMapping physicallyCorrectLights alphaTest doubleSided flipSided numClippingPlanes numClipIntersection depthPacking dithering sheen".split(" "); +this.getParameters=function(b,e,g,q,u,k,t){var h=f[b.type];if(t.isSkinnedMesh){var l=t.skeleton.bones;if(c.floatVertexTextures)l=1024;else{var m=Math.min(Math.floor((c.maxVertexUniforms-20)/4),l.length);m<l.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+l.length+" bones. This GPU supports "+m+"."),l=0):l=m}}else l=0;m=c.precision;null!==b.precision&&(m=c.getMaxPrecision(b.precision),m!==b.precision&&console.warn("THREE.WebGLProgram.getParameters:",b.precision,"not supported, using",m,"instead.")); +var r=a.getRenderTarget();return{isWebGL2:c.isWebGL2,shaderID:h,precision:m,instancing:!0===t.isInstancedMesh,supportsVertexTextures:c.vertexTextures,outputEncoding:d(r?r.texture:null,a.gammaOutput),map:!!b.map,mapEncoding:d(b.map,a.gammaInput),matcap:!!b.matcap,matcapEncoding:d(b.matcap,a.gammaInput),envMap:!!b.envMap,envMapMode:b.envMap&&b.envMap.mapping,envMapEncoding:d(b.envMap,a.gammaInput),envMapCubeUV:!!b.envMap&&(306===b.envMap.mapping||307===b.envMap.mapping),lightMap:!!b.lightMap,aoMap:!!b.aoMap, +emissiveMap:!!b.emissiveMap,emissiveMapEncoding:d(b.emissiveMap,a.gammaInput),bumpMap:!!b.bumpMap,normalMap:!!b.normalMap,objectSpaceNormalMap:1===b.normalMapType,tangentSpaceNormalMap:0===b.normalMapType,clearcoatNormalMap:!!b.clearcoatNormalMap,displacementMap:!!b.displacementMap,roughnessMap:!!b.roughnessMap,metalnessMap:!!b.metalnessMap,specularMap:!!b.specularMap,alphaMap:!!b.alphaMap,gradientMap:!!b.gradientMap,sheen:!!b.sheen,combine:b.combine,vertexTangents:b.normalMap&&b.vertexTangents,vertexColors:b.vertexColors, +vertexUvs:!!b.map||!!b.bumpMap||!!b.normalMap||!!b.specularMap||!!b.alphaMap||!!b.emissiveMap||!!b.roughnessMap||!!b.metalnessMap||!!b.clearcoatNormalMap,fog:!!q,useFog:b.fog,fogExp2:q&&q.isFogExp2,flatShading:b.flatShading,sizeAttenuation:b.sizeAttenuation,logarithmicDepthBuffer:c.logarithmicDepthBuffer,skinning:b.skinning&&0<l,maxBones:l,useVertexTexture:c.floatVertexTextures,morphTargets:b.morphTargets,morphNormals:b.morphNormals,maxMorphTargets:a.maxMorphTargets,maxMorphNormals:a.maxMorphNormals, +numDirLights:e.directional.length,numPointLights:e.point.length,numSpotLights:e.spot.length,numRectAreaLights:e.rectArea.length,numHemiLights:e.hemi.length,numDirLightShadows:e.directionalShadowMap.length,numPointLightShadows:e.pointShadowMap.length,numSpotLightShadows:e.spotShadowMap.length,numClippingPlanes:u,numClipIntersection:k,dithering:b.dithering,shadowMapEnabled:a.shadowMap.enabled&&0<g.length,shadowMapType:a.shadowMap.type,toneMapping:b.toneMapped?a.toneMapping:0,physicallyCorrectLights:a.physicallyCorrectLights, +premultipliedAlpha:b.premultipliedAlpha,alphaTest:b.alphaTest,doubleSided:2===b.side,flipSided:1===b.side,depthPacking:void 0!==b.depthPacking?b.depthPacking:!1}};this.getProgramCode=function(b,c){var d=[];c.shaderID?d.push(c.shaderID):(d.push(b.fragmentShader),d.push(b.vertexShader));if(void 0!==b.defines)for(var e in b.defines)d.push(e),d.push(b.defines[e]);for(e=0;e<g.length;e++)d.push(c[g[e]]);d.push(b.onBeforeCompile.toString());d.push(a.gammaOutput);d.push(a.gammaFactor);return d.join()};this.acquireProgram= +function(c,d,f,g){for(var h,l=0,m=e.length;l<m;l++){var q=e[l];if(q.code===g){h=q;++h.usedTimes;break}}void 0===h&&(h=new Wj(a,b,g,c,d,f),e.push(h));return h};this.releaseProgram=function(a){if(0===--a.usedTimes){var b=e.indexOf(a);e[b]=e[e.length-1];e.pop();a.destroy()}};this.programs=e}function Zj(){var a=new WeakMap;return{get:function(b){var c=a.get(b);void 0===c&&(c={},a.set(b,c));return c},remove:function(b){a.delete(b)},update:function(b,c,d){a.get(b)[c]=d},dispose:function(){a=new WeakMap}}} +function ak(a,b){return a.groupOrder!==b.groupOrder?a.groupOrder-b.groupOrder:a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.program!==b.program?a.program.id-b.program.id:a.material.id!==b.material.id?a.material.id-b.material.id:a.z!==b.z?a.z-b.z:a.id-b.id}function bk(a,b){return a.groupOrder!==b.groupOrder?a.groupOrder-b.groupOrder:a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function Hh(){function a(a,d,e,m,q,u){var g=b[c];void 0===g?(g={id:a.id, +object:a,geometry:d,material:e,program:e.program||f,groupOrder:m,renderOrder:a.renderOrder,z:q,group:u},b[c]=g):(g.id=a.id,g.object=a,g.geometry=d,g.material=e,g.program=e.program||f,g.groupOrder=m,g.renderOrder=a.renderOrder,g.z=q,g.group=u);c++;return g}var b=[],c=0,d=[],e=[],f={id:-1};return{opaque:d,transparent:e,init:function(){c=0;d.length=0;e.length=0},push:function(b,c,f,m,q,u){b=a(b,c,f,m,q,u);(!0===f.transparent?e:d).push(b)},unshift:function(b,c,f,m,q,u){b=a(b,c,f,m,q,u);(!0===f.transparent? +e:d).unshift(b)},sort:function(){1<d.length&&d.sort(ak);1<e.length&&e.sort(bk)}}}function ck(){function a(c){c=c.target;c.removeEventListener("dispose",a);b.delete(c)}var b=new WeakMap;return{get:function(c,d){var e=b.get(c);if(void 0===e){var f=new Hh;b.set(c,new WeakMap);b.get(c).set(d,f);c.addEventListener("dispose",a)}else f=e.get(d),void 0===f&&(f=new Hh,e.set(d,f));return f},dispose:function(){b=new WeakMap}}}function dk(){var a={};return{get:function(b){if(void 0!==a[b.id])return a[b.id];switch(b.type){case "DirectionalLight":var c= +{direction:new n,color:new E,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new A};break;case "SpotLight":c={position:new n,direction:new n,color:new E,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new A};break;case "PointLight":c={position:new n,color:new E,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new A,shadowCameraNear:1,shadowCameraFar:1E3};break;case "HemisphereLight":c={direction:new n,skyColor:new E,groundColor:new E}; +break;case "RectAreaLight":c={color:new E,position:new n,halfWidth:new n,halfHeight:new n}}return a[b.id]=c}}}function ek(a,b){return(b.castShadow?1:0)-(a.castShadow?1:0)}function fk(){for(var a=new dk,b={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[], +rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},c=0;9>c;c++)b.probe.push(new n);var d=new n,e=new O,f=new O;return{setup:function(c,h,l){for(var g=0,q=0,u=0,k=0;9>k;k++)b.probe[k].set(0,0,0);var t=h=0,p=0,v=0,n=0,y=0,x=0,G=0;l=l.matrixWorldInverse;c.sort(ek);k=0;for(var K=c.length;k<K;k++){var B=c[k],Db=B.color,ba=B.intensity,A=B.distance,xa=B.shadow&&B.shadow.map?B.shadow.map.texture:null;if(B.isAmbientLight)g+=Db.r* +ba,q+=Db.g*ba,u+=Db.b*ba;else if(B.isLightProbe)for(xa=0;9>xa;xa++)b.probe[xa].addScaledVector(B.sh.coefficients[xa],ba);else if(B.isDirectionalLight){var F=a.get(B);F.color.copy(B.color).multiplyScalar(B.intensity);F.direction.setFromMatrixPosition(B.matrixWorld);d.setFromMatrixPosition(B.target.matrixWorld);F.direction.sub(d);F.direction.transformDirection(l);if(F.shadow=B.castShadow)ba=B.shadow,F.shadowBias=ba.bias,F.shadowRadius=ba.radius,F.shadowMapSize=ba.mapSize,b.directionalShadowMap[h]=xa, +b.directionalShadowMatrix[h]=B.shadow.matrix,y++;b.directional[h]=F;h++}else if(B.isSpotLight){F=a.get(B);F.position.setFromMatrixPosition(B.matrixWorld);F.position.applyMatrix4(l);F.color.copy(Db).multiplyScalar(ba);F.distance=A;F.direction.setFromMatrixPosition(B.matrixWorld);d.setFromMatrixPosition(B.target.matrixWorld);F.direction.sub(d);F.direction.transformDirection(l);F.coneCos=Math.cos(B.angle);F.penumbraCos=Math.cos(B.angle*(1-B.penumbra));F.decay=B.decay;if(F.shadow=B.castShadow)ba=B.shadow, +F.shadowBias=ba.bias,F.shadowRadius=ba.radius,F.shadowMapSize=ba.mapSize,b.spotShadowMap[p]=xa,b.spotShadowMatrix[p]=B.shadow.matrix,G++;b.spot[p]=F;p++}else if(B.isRectAreaLight)F=a.get(B),F.color.copy(Db).multiplyScalar(ba),F.position.setFromMatrixPosition(B.matrixWorld),F.position.applyMatrix4(l),f.identity(),e.copy(B.matrixWorld),e.premultiply(l),f.extractRotation(e),F.halfWidth.set(.5*B.width,0,0),F.halfHeight.set(0,.5*B.height,0),F.halfWidth.applyMatrix4(f),F.halfHeight.applyMatrix4(f),b.rectArea[v]= +F,v++;else if(B.isPointLight){F=a.get(B);F.position.setFromMatrixPosition(B.matrixWorld);F.position.applyMatrix4(l);F.color.copy(B.color).multiplyScalar(B.intensity);F.distance=B.distance;F.decay=B.decay;if(F.shadow=B.castShadow)ba=B.shadow,F.shadowBias=ba.bias,F.shadowRadius=ba.radius,F.shadowMapSize=ba.mapSize,F.shadowCameraNear=ba.camera.near,F.shadowCameraFar=ba.camera.far,b.pointShadowMap[t]=xa,b.pointShadowMatrix[t]=B.shadow.matrix,x++;b.point[t]=F;t++}else B.isHemisphereLight&&(F=a.get(B), +F.direction.setFromMatrixPosition(B.matrixWorld),F.direction.transformDirection(l),F.direction.normalize(),F.skyColor.copy(B.color).multiplyScalar(ba),F.groundColor.copy(B.groundColor).multiplyScalar(ba),b.hemi[n]=F,n++)}b.ambient[0]=g;b.ambient[1]=q;b.ambient[2]=u;c=b.hash;if(c.directionalLength!==h||c.pointLength!==t||c.spotLength!==p||c.rectAreaLength!==v||c.hemiLength!==n||c.numDirectionalShadows!==y||c.numPointShadows!==x||c.numSpotShadows!==G)b.directional.length=h,b.spot.length=p,b.rectArea.length= +v,b.point.length=t,b.hemi.length=n,b.directionalShadowMap.length=y,b.pointShadowMap.length=x,b.spotShadowMap.length=G,b.directionalShadowMatrix.length=y,b.pointShadowMatrix.length=x,b.spotShadowMatrix.length=G,c.directionalLength=h,c.pointLength=t,c.spotLength=p,c.rectAreaLength=v,c.hemiLength=n,c.numDirectionalShadows=y,c.numPointShadows=x,c.numSpotShadows=G,b.version=gk++},state:b}}function Ih(){var a=new fk,b=[],c=[];return{init:function(){b.length=0;c.length=0},state:{lightsArray:b,shadowsArray:c, +lights:a},setupLights:function(d){a.setup(b,c,d)},pushLight:function(a){b.push(a)},pushShadow:function(a){c.push(a)}}}function hk(){function a(c){c=c.target;c.removeEventListener("dispose",a);b.delete(c)}var b=new WeakMap;return{get:function(c,d){if(!1===b.has(c)){var e=new Ih;b.set(c,new WeakMap);b.get(c).set(d,e);c.addEventListener("dispose",a)}else!1===b.get(c).has(d)?(e=new Ih,b.get(c).set(d,e)):e=b.get(c).get(d);return e},dispose:function(){b=new WeakMap}}}function Eb(a){N.call(this);this.type= +"MeshDepthMaterial";this.depthPacking=3200;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=!1;this.wireframeLinewidth=1;this.fog=!1;this.setValues(a)}function Fb(a){N.call(this);this.type="MeshDistanceMaterial";this.referencePosition=new n;this.nearDistance=1;this.farDistance=1E3;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias= +0;this.fog=!1;this.setValues(a)}function Jh(a,b,c){function d(b,c,d,e,f,g){var h=b.geometry;var l=m;var p=b.customDepthMaterial;d.isPointLight&&(l=q,p=b.customDistanceMaterial);p?l=p:(p=!1,c.morphTargets&&(h&&h.isBufferGeometry?p=h.morphAttributes&&h.morphAttributes.position&&0<h.morphAttributes.position.length:h&&h.isGeometry&&(p=h.morphTargets&&0<h.morphTargets.length)),b.isSkinnedMesh&&!1===c.skinning&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:", +b),b=b.isSkinnedMesh&&c.skinning,h=0,p&&(h|=1),b&&(h|=2),l=l[h]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(h=l.uuid,p=c.uuid,b=u[h],void 0===b&&(b={},u[h]=b),h=b[p],void 0===h&&(h=l.clone(),b[p]=h),l=h);l.visible=c.visible;l.wireframe=c.wireframe;l.side=3===g?null!=c.shadowSide?c.shadowSide:c.side:null!=c.shadowSide?c.shadowSide:k[c.side];l.clipShadows=c.clipShadows;l.clippingPlanes=c.clippingPlanes;l.clipIntersection=c.clipIntersection;l.wireframeLinewidth=c.wireframeLinewidth; +l.linewidth=c.linewidth;d.isPointLight&&l.isMeshDistanceMaterial&&(l.referencePosition.setFromMatrixPosition(d.matrixWorld),l.nearDistance=e,l.farDistance=f);return l}function e(c,g,h,l,m){if(!1!==c.visible){if(c.layers.test(g.layers)&&(c.isMesh||c.isLine||c.isPoints)&&(c.castShadow||c.receiveShadow&&3===m)&&(!c.frustumCulled||f.intersectsObject(c))){c.modelViewMatrix.multiplyMatrices(h.matrixWorldInverse,c.matrixWorld);var q=b.update(c),u=c.material;if(Array.isArray(u))for(var k=q.groups,p=0,r=k.length;p< +r;p++){var t=k[p],v=u[t.materialIndex];v&&v.visible&&(v=d(c,v,l,h.near,h.far,m),a.renderBufferDirect(h,null,q,v,c,t))}else u.visible&&(v=d(c,u,l,h.near,h.far,m),a.renderBufferDirect(h,null,q,v,c,null))}c=c.children;q=0;for(u=c.length;q<u;q++)e(c[q],g,h,l,m)}}var f=new Hd,g=new A,h=new A,l=new W,m=Array(4),q=Array(4),u={},k={0:1,1:0,2:2},t=new na({defines:{SAMPLE_RATE:.25,HALF_SAMPLE_RATE:.125},uniforms:{shadow_pass:{value:null},resolution:{value:new A},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}", +fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n float mean = 0.0;\n float squared_mean = 0.0;\n \n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n for ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n #ifdef HORIZONAL_PASS\n vec2 distribution = decodeHalfRGBA ( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n mean += distribution.x;\n squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n #else\n float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n mean += depth;\n squared_mean += depth * depth;\n #endif\n }\n mean = mean * HALF_SAMPLE_RATE;\n squared_mean = squared_mean * HALF_SAMPLE_RATE;\n float std_dev = pow( squared_mean - mean * mean, 0.5 );\n gl_FragColor = encodeHalfRGBA( vec2( mean, std_dev ) );\n}"}), +p=t.clone();p.defines.HORIZONAL_PASS=1;var v=new D;v.addAttribute("position",new P(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));var n=new da(v,t);for(v=0;4!==v;++v){var y=0!==(v&1),x=0!==(v&2),G=new Eb({depthPacking:3201,morphTargets:y,skinning:x});m[v]=G;y=new Fb({morphTargets:y,skinning:x});q[v]=y}var K=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.render=function(d,m,q){if(!1!==K.enabled&&(!1!==K.autoUpdate||!1!==K.needsUpdate)&&0!==d.length){var u=a.getRenderTarget(), +k=a.getActiveCubeFace(),r=a.getActiveMipmapLevel(),v=a.state;v.setBlending(0);v.buffers.color.setClear(1,1,1,1);v.buffers.depth.setTest(!0);v.setScissorTest(!1);for(var w=0,x=d.length;w<x;w++){var y=d[w],R=y.shadow;if(void 0===R)console.warn("THREE.WebGLShadowMap:",y,"has no shadow.");else{g.copy(R.mapSize);var ia=R.getFrameExtents();g.multiply(ia);h.copy(R.mapSize);if(g.x>c||g.y>c)console.warn("THREE.WebGLShadowMap:",y,"has shadow exceeding max texture size, reducing"),g.x>c&&(h.x=Math.floor(c/ia.x), +g.x=h.x*ia.x,R.mapSize.x=h.x),g.y>c&&(h.y=Math.floor(c/ia.y),g.y=h.y*ia.y,R.mapSize.y=h.y);null!==R.map||R.isPointLightShadow||3!==this.type||(ia={minFilter:1006,magFilter:1006,format:1023},R.map=new la(g.x,g.y,ia),R.map.texture.name=y.name+".shadowMap",R.mapPass=new la(g.x,g.y,ia),R.camera.updateProjectionMatrix());null===R.map&&(ia={minFilter:1003,magFilter:1003,format:1023},R.map=new la(g.x,g.y,ia),R.map.texture.name=y.name+".shadowMap",R.camera.updateProjectionMatrix());a.setRenderTarget(R.map); +a.clear();ia=R.getViewportCount();for(var G=0;G<ia;G++){var B=R.getViewport(G);l.set(h.x*B.x,h.y*B.y,h.x*B.z,h.y*B.w);v.viewport(l);R.updateMatrices(y,q,G);f=R.getFrustum();e(m,q,R.camera,y,this.type)}R.isPointLightShadow||3!==this.type||(y=R,R=q,ia=b.update(n),t.uniforms.shadow_pass.value=y.map.texture,t.uniforms.resolution.value=y.mapSize,t.uniforms.radius.value=y.radius,a.setRenderTarget(y.mapPass),a.clear(),a.renderBufferDirect(R,null,ia,t,n,null),p.uniforms.shadow_pass.value=y.mapPass.texture, +p.uniforms.resolution.value=y.mapSize,p.uniforms.radius.value=y.radius,a.setRenderTarget(y.map),a.clear(),a.renderBufferDirect(R,null,ia,p,n,null))}}K.needsUpdate=!1;a.setRenderTarget(u,k,r)}}}function ik(a,b,c,d){function e(b,c,d){var e=new Uint8Array(4),f=a.createTexture();a.bindTexture(b,f);a.texParameteri(b,10241,9728);a.texParameteri(b,10240,9728);for(b=0;b<d;b++)a.texImage2D(c+b,0,6408,1,1,0,6408,5121,e);return f}function f(c,e){y[c]=1;0===x[c]&&(a.enableVertexAttribArray(c),x[c]=1);G[c]!== +e&&((d.isWebGL2?a:b.get("ANGLE_instanced_arrays"))[d.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](c,e),G[c]=e)}function g(b){!0!==K[b]&&(a.enable(b),K[b]=!0)}function h(b){!1!==K[b]&&(a.disable(b),K[b]=!1)}function l(b,d,e,f,l,m,q,u){if(0===b)ba&&(h(3042),ba=!1);else if(ba||(g(3042),ba=!0),5!==b){if(b!==z||u!==R){if(100!==xa||100!==Je)a.blendEquation(32774),Je=xa=100;if(u)switch(b){case 1:a.blendFuncSeparate(1,771,1,771);break;case 2:a.blendFunc(1,1);break;case 3:a.blendFuncSeparate(0, +0,769,771);break;case 4:a.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",b)}else switch(b){case 1:a.blendFuncSeparate(770,771,1,771);break;case 2:a.blendFunc(770,1);break;case 3:a.blendFunc(0,769);break;case 4:a.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",b)}I=D=H=F=null;z=b;R=u}}else{l=l||d;m=m||e;q=q||f;if(d!==xa||l!==Je)a.blendEquationSeparate(c.convert(d),c.convert(l)),xa=d,Je=l;if(e!==F||f!==H||m!==D|| +q!==I)a.blendFuncSeparate(c.convert(e),c.convert(f),c.convert(m),c.convert(q)),F=e,H=f,D=m,I=q;z=b;R=null}}function m(b){ia!==b&&(b?a.frontFace(2304):a.frontFace(2305),ia=b)}function q(b){0!==b?(g(2884),b!==dg&&(1===b?a.cullFace(1029):2===b?a.cullFace(1028):a.cullFace(1032))):h(2884);dg=b}function u(b,c,d){if(b){if(g(32823),cc!==c||ja!==d)a.polygonOffset(c,d),cc=c,ja=d}else h(32823)}function k(b){void 0===b&&(b=33984+E-1);Jc!==b&&(a.activeTexture(b),Jc=b)}var t=new function(){var b=!1,c=new W,d=null, +e=new W(0,0,0,0);return{setMask:function(c){d===c||b||(a.colorMask(c,c,c,c),d=c)},setLocked:function(a){b=a},setClear:function(b,d,f,g,h){!0===h&&(b*=g,d*=g,f*=g);c.set(b,d,f,g);!1===e.equals(c)&&(a.clearColor(b,d,f,g),e.copy(c))},reset:function(){b=!1;d=null;e.set(-1,0,0,0)}}},p=new function(){var b=!1,c=null,d=null,e=null;return{setTest:function(a){a?g(2929):h(2929)},setMask:function(d){c===d||b||(a.depthMask(d),c=d)},setFunc:function(b){if(d!==b){if(b)switch(b){case 0:a.depthFunc(512);break;case 1:a.depthFunc(519); +break;case 2:a.depthFunc(513);break;case 3:a.depthFunc(515);break;case 4:a.depthFunc(514);break;case 5:a.depthFunc(518);break;case 6:a.depthFunc(516);break;case 7:a.depthFunc(517);break;default:a.depthFunc(515)}else a.depthFunc(515);d=b}},setLocked:function(a){b=a},setClear:function(b){e!==b&&(a.clearDepth(b),e=b)},reset:function(){b=!1;e=d=c=null}}},v=new function(){var b=!1,c=null,d=null,e=null,f=null,l=null,m=null,q=null,u=null;return{setTest:function(a){b||(a?g(2960):h(2960))},setMask:function(d){c=== +d||b||(a.stencilMask(d),c=d)},setFunc:function(b,c,g){if(d!==b||e!==c||f!==g)a.stencilFunc(b,c,g),d=b,e=c,f=g},setOp:function(b,c,d){if(l!==b||m!==c||q!==d)a.stencilOp(b,c,d),l=b,m=c,q=d},setLocked:function(a){b=a},setClear:function(b){u!==b&&(a.clearStencil(b),u=b)},reset:function(){b=!1;u=q=m=l=f=e=d=c=null}}},n=a.getParameter(34921),y=new Uint8Array(n),x=new Uint8Array(n),G=new Uint8Array(n),K={},B=null,A=null,ba=null,z=null,xa=null,F=null,H=null,Je=null,D=null,I=null,R=!1,ia=null,dg=null,bc=null, +cc=null,ja=null,E=a.getParameter(35661),C=!1;n=0;n=a.getParameter(7938);-1!==n.indexOf("WebGL")?(n=parseFloat(/^WebGL ([0-9])/.exec(n)[1]),C=1<=n):-1!==n.indexOf("OpenGL ES")&&(n=parseFloat(/^OpenGL ES ([0-9])/.exec(n)[1]),C=2<=n);var Jc=null,Qa={},M=new W,P=new W,N={};N[3553]=e(3553,3553,1);N[34067]=e(34067,34069,6);t.setClear(0,0,0,1);p.setClear(1);v.setClear(0);g(2929);p.setFunc(3);m(!1);q(1);g(2884);l(0);return{buffers:{color:t,depth:p,stencil:v},initAttributes:function(){for(var a=0,b=y.length;a< +b;a++)y[a]=0},enableAttribute:function(a){f(a,0)},enableAttributeAndDivisor:f,disableUnusedAttributes:function(){for(var b=0,c=x.length;b!==c;++b)x[b]!==y[b]&&(a.disableVertexAttribArray(b),x[b]=0)},enable:g,disable:h,getCompressedTextureFormats:function(){if(null===B&&(B=[],b.get("WEBGL_compressed_texture_pvrtc")||b.get("WEBGL_compressed_texture_s3tc")||b.get("WEBGL_compressed_texture_etc1")||b.get("WEBGL_compressed_texture_astc")))for(var c=a.getParameter(34467),d=0;d<c.length;d++)B.push(c[d]); +return B},useProgram:function(b){return A!==b?(a.useProgram(b),A=b,!0):!1},setBlending:l,setMaterial:function(a,b){2===a.side?h(2884):g(2884);var c=1===a.side;b&&(c=!c);m(c);1===a.blending&&!1===a.transparent?l(0):l(a.blending,a.blendEquation,a.blendSrc,a.blendDst,a.blendEquationAlpha,a.blendSrcAlpha,a.blendDstAlpha,a.premultipliedAlpha);p.setFunc(a.depthFunc);p.setTest(a.depthTest);p.setMask(a.depthWrite);t.setMask(a.colorWrite);b=a.stencilWrite;v.setTest(b);b&&(v.setMask(a.stencilWriteMask),v.setFunc(a.stencilFunc, +a.stencilRef,a.stencilFuncMask),v.setOp(a.stencilFail,a.stencilZFail,a.stencilZPass));u(a.polygonOffset,a.polygonOffsetFactor,a.polygonOffsetUnits)},setFlipSided:m,setCullFace:q,setLineWidth:function(b){b!==bc&&(C&&a.lineWidth(b),bc=b)},setPolygonOffset:u,setScissorTest:function(a){a?g(3089):h(3089)},activeTexture:k,bindTexture:function(b,c){null===Jc&&k();var d=Qa[Jc];void 0===d&&(d={type:void 0,texture:void 0},Qa[Jc]=d);if(d.type!==b||d.texture!==c)a.bindTexture(b,c||N[b]),d.type=b,d.texture=c}, +compressedTexImage2D:function(){try{a.compressedTexImage2D.apply(a,arguments)}catch(L){console.error("THREE.WebGLState:",L)}},texImage2D:function(){try{a.texImage2D.apply(a,arguments)}catch(L){console.error("THREE.WebGLState:",L)}},texImage3D:function(){try{a.texImage3D.apply(a,arguments)}catch(L){console.error("THREE.WebGLState:",L)}},scissor:function(b){!1===M.equals(b)&&(a.scissor(b.x,b.y,b.z,b.w),M.copy(b))},viewport:function(b){!1===P.equals(b)&&(a.viewport(b.x,b.y,b.z,b.w),P.copy(b))},reset:function(){for(var b= +0;b<x.length;b++)1===x[b]&&(a.disableVertexAttribArray(b),x[b]=0);K={};Jc=B=null;Qa={};dg=ia=z=A=null;t.reset();p.reset();v.reset()}}}function jk(a,b,c,d,e,f,g){function h(a,b){return H?new OffscreenCanvas(a,b):document.createElementNS("http://www.w3.org/1999/xhtml","canvas")}function l(a,b,c,d){var e=1;if(a.width>d||a.height>d)e=d/Math.max(a.width,a.height);if(1>e||!0===b){if("undefined"!==typeof HTMLImageElement&&a instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&a instanceof +HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&a instanceof ImageBitmap)return d=b?Q.floorPowerOfTwo:Math.floor,b=d(e*a.width),e=d(e*a.height),void 0===F&&(F=h(b,e)),c=c?h(b,e):F,c.width=b,c.height=e,c.getContext("2d").drawImage(a,0,0,b,e),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+a.width+"x"+a.height+") to ("+b+"x"+e+")."),c;"data"in a&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+a.width+"x"+a.height+").")}return a}function m(a){return Q.isPowerOfTwo(a.width)&& +Q.isPowerOfTwo(a.height)}function q(a,b){return a.generateMipmaps&&b&&1003!==a.minFilter&&1006!==a.minFilter}function u(b,c,e,f){a.generateMipmap(b);d.get(c).__maxMipLevel=Math.log(Math.max(e,f))*Math.LOG2E}function k(a,c){if(!e.isWebGL2)return a;var d=a;6403===a&&(5126===c&&(d=33326),5131===c&&(d=33325),5121===c&&(d=33321));6407===a&&(5126===c&&(d=34837),5131===c&&(d=34843),5121===c&&(d=32849));6408===a&&(5126===c&&(d=34836),5131===c&&(d=34842),5121===c&&(d=32856));33325===d||33326===d||34842=== +d||34836===d?b.get("EXT_color_buffer_float"):(34843===d||34837===d)&&console.warn("THREE.WebGLRenderer: Floating point textures with RGB format not supported. Please use RGBA instead.");return d}function t(a){return 1003===a||1004===a||1005===a?9728:9729}function p(b){b=b.target;b.removeEventListener("dispose",p);var c=d.get(b);void 0!==c.__webglInit&&(a.deleteTexture(c.__webglTexture),d.remove(b));b.isVideoTexture&&xa.delete(b);g.memory.textures--}function v(b){b=b.target;b.removeEventListener("dispose", +v);var c=d.get(b),e=d.get(b.texture);if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b.isWebGLRenderTargetCube)for(e=0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer);if(b.isWebGLMultiviewRenderTarget){a.deleteTexture(c.__webglColorTexture);a.deleteTexture(c.__webglDepthStencilTexture); +g.memory.textures-=2;e=0;for(var f=c.__webglViewFramebuffers.length;e<f;e++)a.deleteFramebuffer(c.__webglViewFramebuffers[e])}d.remove(b.texture);d.remove(b)}g.memory.textures--}function n(a,b){var e=d.get(a);if(a.isVideoTexture){var f=g.render.frame;xa.get(a)!==f&&(xa.set(a,f),a.update())}if(0<a.version&&e.__version!==a.version)if(f=a.image,void 0===f)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else if(!1===f.complete)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete"); +else{B(e,a,b);return}c.activeTexture(33984+b);c.bindTexture(3553,e.__webglTexture)}function y(b,g){if(6===b.image.length){var h=d.get(b);if(0<b.version&&h.__version!==b.version){K(h,b);c.activeTexture(33984+g);c.bindTexture(34067,h.__webglTexture);a.pixelStorei(37440,b.flipY);var p=b&&b.isCompressedTexture;g=b.image[0]&&b.image[0].isDataTexture;for(var r=[],t=0;6>t;t++)r[t]=p||g?g?b.image[t].image:b.image[t]:l(b.image[t],!1,!0,e.maxCubemapSize);var v=r[0],n=m(v)||e.isWebGL2,w=f.convert(b.format), +x=f.convert(b.type),y=k(w,x);G(34067,b,n);if(p){for(t=0;6>t;t++){var R=r[t].mipmaps;for(p=0;p<R.length;p++){var ia=R[p];1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(w)?c.compressedTexImage2D(34069+t,p,y,ia.width,ia.height,0,ia.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):c.texImage2D(34069+t,p,y,ia.width,ia.height,0,w,x,ia.data)}}h.__maxMipLevel=R.length-1}else{R=b.mipmaps;for(t=0;6>t;t++)if(g)for(c.texImage2D(34069+ +t,0,y,r[t].width,r[t].height,0,w,x,r[t].data),p=0;p<R.length;p++)ia=R[p],ia=ia.image[t].image,c.texImage2D(34069+t,p+1,y,ia.width,ia.height,0,w,x,ia.data);else for(c.texImage2D(34069+t,0,y,w,x,r[t]),p=0;p<R.length;p++)ia=R[p],c.texImage2D(34069+t,p+1,y,w,x,ia.image[t]);h.__maxMipLevel=R.length}q(b,n)&&u(34067,b,v.width,v.height);h.__version=b.version;if(b.onUpdate)b.onUpdate(b)}else c.activeTexture(33984+g),c.bindTexture(34067,h.__webglTexture)}}function x(a,b){c.activeTexture(33984+b);c.bindTexture(34067, +d.get(a).__webglTexture)}function G(c,g,h){h?(a.texParameteri(c,10242,f.convert(g.wrapS)),a.texParameteri(c,10243,f.convert(g.wrapT)),32879!==c&&35866!==c||a.texParameteri(c,32882,f.convert(g.wrapR)),a.texParameteri(c,10240,f.convert(g.magFilter)),a.texParameteri(c,10241,f.convert(g.minFilter))):(a.texParameteri(c,10242,33071),a.texParameteri(c,10243,33071),32879!==c&&35866!==c||a.texParameteri(c,32882,33071),1001===g.wrapS&&1001===g.wrapT||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."), +a.texParameteri(c,10240,t(g.magFilter)),a.texParameteri(c,10241,t(g.minFilter)),1003!==g.minFilter&&1006!==g.minFilter&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter."));!(h=b.get("EXT_texture_filter_anisotropic"))||1015===g.type&&null===b.get("OES_texture_float_linear")||1016===g.type&&null===(e.isWebGL2||b.get("OES_texture_half_float_linear"))||!(1<g.anisotropy||d.get(g).__currentAnisotropy)||(a.texParameterf(c, +h.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(g.anisotropy,e.getMaxAnisotropy())),d.get(g).__currentAnisotropy=g.anisotropy)}function K(b,c){void 0===b.__webglInit&&(b.__webglInit=!0,c.addEventListener("dispose",p),b.__webglTexture=a.createTexture(),g.memory.textures++)}function B(b,d,g){var h=3553;d.isDataTexture2DArray&&(h=35866);d.isDataTexture3D&&(h=32879);K(b,d);c.activeTexture(33984+g);c.bindTexture(h,b.__webglTexture);a.pixelStorei(37440,d.flipY);a.pixelStorei(37441,d.premultiplyAlpha);a.pixelStorei(3317, +d.unpackAlignment);g=e.isWebGL2?!1:1001!==d.wrapS||1001!==d.wrapT||1003!==d.minFilter&&1006!==d.minFilter;g=g&&!1===m(d.image);g=l(d.image,g,!1,e.maxTextureSize);var p=m(g)||e.isWebGL2,t=f.convert(d.format),r=f.convert(d.type),v=k(t,r);G(h,d,p);var n=d.mipmaps;if(d.isDepthTexture){v=6402;if(1015===d.type){if(!e.isWebGL2)throw Error("Float Depth Texture only supported in WebGL2.0");v=36012}else e.isWebGL2&&(v=33189);1026===d.format&&6402===v&&1012!==d.type&&1014!==d.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."), +d.type=1012,r=f.convert(d.type));1027===d.format&&(v=34041,1020!==d.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),d.type=1020,r=f.convert(d.type)));c.texImage2D(3553,0,v,g.width,g.height,0,t,r,null)}else if(d.isDataTexture)if(0<n.length&&p){for(var w=0,x=n.length;w<x;w++)h=n[w],c.texImage2D(3553,w,v,h.width,h.height,0,t,r,h.data);d.generateMipmaps=!1;b.__maxMipLevel=n.length-1}else c.texImage2D(3553,0,v,g.width,g.height,0,t,r,g.data),b.__maxMipLevel= +0;else if(d.isCompressedTexture){w=0;for(x=n.length;w<x;w++)h=n[w],1023!==d.format&&1022!==d.format?-1<c.getCompressedTextureFormats().indexOf(t)?c.compressedTexImage2D(3553,w,v,h.width,h.height,0,h.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):c.texImage2D(3553,w,v,h.width,h.height,0,t,r,h.data);b.__maxMipLevel=n.length-1}else if(d.isDataTexture2DArray)c.texImage3D(35866,0,v,g.width,g.height,g.depth,0,t,r,g.data),b.__maxMipLevel= +0;else if(d.isDataTexture3D)c.texImage3D(32879,0,v,g.width,g.height,g.depth,0,t,r,g.data),b.__maxMipLevel=0;else if(0<n.length&&p){w=0;for(x=n.length;w<x;w++)h=n[w],c.texImage2D(3553,w,v,t,r,h);d.generateMipmaps=!1;b.__maxMipLevel=n.length-1}else c.texImage2D(3553,0,v,t,r,g),b.__maxMipLevel=0;q(d,p)&&u(3553,d,g.width,g.height);b.__version=d.version;if(d.onUpdate)d.onUpdate(d)}function A(b,e,g,h){var l=f.convert(e.texture.format),m=f.convert(e.texture.type),q=k(l,m);c.texImage2D(h,0,q,e.width,e.height, +0,l,m,null);a.bindFramebuffer(36160,b);a.framebufferTexture2D(36160,g,h,d.get(e.texture).__webglTexture,0);a.bindFramebuffer(36160,null)}function ba(b,c,d){a.bindRenderbuffer(36161,b);if(c.depthBuffer&&!c.stencilBuffer)d?(d=z(c),a.renderbufferStorageMultisample(36161,d,33189,c.width,c.height)):a.renderbufferStorage(36161,33189,c.width,c.height),a.framebufferRenderbuffer(36160,36096,36161,b);else if(c.depthBuffer&&c.stencilBuffer)d?(d=z(c),a.renderbufferStorageMultisample(36161,d,35056,c.width,c.height)): +a.renderbufferStorage(36161,34041,c.width,c.height),a.framebufferRenderbuffer(36160,33306,36161,b);else{b=f.convert(c.texture.format);var e=f.convert(c.texture.type);b=k(b,e);d?(d=z(c),a.renderbufferStorageMultisample(36161,d,b,c.width,c.height)):a.renderbufferStorage(36161,b,c.width,c.height)}a.bindRenderbuffer(36161,null)}function z(a){return e.isWebGL2&&a.isWebGLMultisampleRenderTarget?Math.min(e.maxSamples,a.samples):0}var xa=new WeakMap,F,H="undefined"!==typeof OffscreenCanvas&&null!==(new OffscreenCanvas(1, +1)).getContext("2d"),D=0,I=!1,E=!1;this.allocateTextureUnit=function(){var a=D;a>=e.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+a+" texture units while this GPU supports only "+e.maxTextures);D+=1;return a};this.resetTextureUnits=function(){D=0};this.setTexture2D=n;this.setTexture2DArray=function(a,b){var e=d.get(a);0<a.version&&e.__version!==a.version?B(e,a,b):(c.activeTexture(33984+b),c.bindTexture(35866,e.__webglTexture))};this.setTexture3D=function(a,b){var e=d.get(a);0<a.version&& +e.__version!==a.version?B(e,a,b):(c.activeTexture(33984+b),c.bindTexture(32879,e.__webglTexture))};this.setTextureCube=y;this.setTextureCubeDynamic=x;this.setupRenderTarget=function(h){var l=d.get(h),p=d.get(h.texture);h.addEventListener("dispose",v);p.__webglTexture=a.createTexture();g.memory.textures++;var t=!0===h.isWebGLRenderTargetCube,r=!0===h.isWebGLMultisampleRenderTarget,w=!0===h.isWebGLMultiviewRenderTarget,x=m(h)||e.isWebGL2;if(t){l.__webglFramebuffer=[];for(var y=0;6>y;y++)l.__webglFramebuffer[y]= +a.createFramebuffer()}else if(l.__webglFramebuffer=a.createFramebuffer(),r)if(e.isWebGL2){l.__webglMultisampledFramebuffer=a.createFramebuffer();l.__webglColorRenderbuffer=a.createRenderbuffer();a.bindRenderbuffer(36161,l.__webglColorRenderbuffer);r=f.convert(h.texture.format);var B=f.convert(h.texture.type);r=k(r,B);B=z(h);a.renderbufferStorageMultisample(36161,B,r,h.width,h.height);a.bindFramebuffer(36160,l.__webglMultisampledFramebuffer);a.framebufferRenderbuffer(36160,36064,36161,l.__webglColorRenderbuffer); +a.bindRenderbuffer(36161,null);h.depthBuffer&&(l.__webglDepthRenderbuffer=a.createRenderbuffer(),ba(l.__webglDepthRenderbuffer,h,!0));a.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");else if(w){y=h.width;var K=h.height;r=h.numViews;a.bindFramebuffer(36160,l.__webglFramebuffer);var F=b.get("OVR_multiview2");g.memory.textures+=2;B=a.createTexture();a.bindTexture(35866,B);a.texParameteri(35866,10240,9728);a.texParameteri(35866, +10241,9728);a.texImage3D(35866,0,32856,y,K,r,0,6408,5121,null);F.framebufferTextureMultiviewOVR(36160,36064,B,0,0,r);var xa=a.createTexture();a.bindTexture(35866,xa);a.texParameteri(35866,10240,9728);a.texParameteri(35866,10241,9728);a.texImage3D(35866,0,35056,y,K,r,0,34041,34042,null);F.framebufferTextureMultiviewOVR(36160,33306,xa,0,0,r);K=Array(r);for(y=0;y<r;++y)K[y]=a.createFramebuffer(),a.bindFramebuffer(36160,K[y]),a.framebufferTextureLayer(36160,36064,B,0,y);l.__webglColorTexture=B;l.__webglDepthStencilTexture= +xa;l.__webglViewFramebuffers=K;a.bindFramebuffer(36160,null);a.bindTexture(35866,null)}if(t){c.bindTexture(34067,p.__webglTexture);G(34067,h.texture,x);for(y=0;6>y;y++)A(l.__webglFramebuffer[y],h,36064,34069+y);q(h.texture,x)&&u(34067,h.texture,h.width,h.height);c.bindTexture(34067,null)}else w||(c.bindTexture(3553,p.__webglTexture),G(3553,h.texture,x),A(l.__webglFramebuffer,h,36064,3553),q(h.texture,x)&&u(3553,h.texture,h.width,h.height),c.bindTexture(3553,null));if(h.depthBuffer){l=d.get(h);p=!0=== +h.isWebGLRenderTargetCube;if(h.depthTexture){if(p)throw Error("target.depthTexture not supported in Cube render targets");if(h&&h.isWebGLRenderTargetCube)throw Error("Depth Texture with cube render targets is not supported");a.bindFramebuffer(36160,l.__webglFramebuffer);if(!h.depthTexture||!h.depthTexture.isDepthTexture)throw Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");d.get(h.depthTexture).__webglTexture&&h.depthTexture.image.width===h.width&&h.depthTexture.image.height=== +h.height||(h.depthTexture.image.width=h.width,h.depthTexture.image.height=h.height,h.depthTexture.needsUpdate=!0);n(h.depthTexture,0);l=d.get(h.depthTexture).__webglTexture;if(1026===h.depthTexture.format)a.framebufferTexture2D(36160,36096,3553,l,0);else if(1027===h.depthTexture.format)a.framebufferTexture2D(36160,33306,3553,l,0);else throw Error("Unknown depthTexture format");}else if(p)for(l.__webglDepthbuffer=[],p=0;6>p;p++)a.bindFramebuffer(36160,l.__webglFramebuffer[p]),l.__webglDepthbuffer[p]= +a.createRenderbuffer(),ba(l.__webglDepthbuffer[p],h);else a.bindFramebuffer(36160,l.__webglFramebuffer),l.__webglDepthbuffer=a.createRenderbuffer(),ba(l.__webglDepthbuffer,h);a.bindFramebuffer(36160,null)}};this.updateRenderTargetMipmap=function(a){var b=a.texture,f=m(a)||e.isWebGL2;if(q(b,f)){f=a.isWebGLRenderTargetCube?34067:3553;var g=d.get(b).__webglTexture;c.bindTexture(f,g);u(f,b,a.width,a.height);c.bindTexture(f,null)}};this.updateMultisampleRenderTarget=function(b){if(b.isWebGLMultisampleRenderTarget)if(e.isWebGL2){var c= +d.get(b);a.bindFramebuffer(36008,c.__webglMultisampledFramebuffer);a.bindFramebuffer(36009,c.__webglFramebuffer);c=b.width;var f=b.height,g=16384;b.depthBuffer&&(g|=256);b.stencilBuffer&&(g|=1024);a.blitFramebuffer(0,0,c,f,0,0,c,f,g,9728)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")};this.safeSetTexture2D=function(a,b){a&&a.isWebGLRenderTarget&&(!1===I&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."), +I=!0),a=a.texture);n(a,b)};this.safeSetTextureCube=function(a,b){a&&a.isWebGLRenderTargetCube&&(!1===E&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),E=!0),a=a.texture);a&&a.isCubeTexture||Array.isArray(a.image)&&6===a.image.length?y(a,b):x(a,b)}}function Kh(a,b,c){return{convert:function(a){if(1E3===a)return 10497;if(1001===a)return 33071;if(1002===a)return 33648;if(1003===a)return 9728;if(1004===a)return 9984; +if(1005===a)return 9986;if(1006===a)return 9729;if(1007===a)return 9985;if(1008===a)return 9987;if(1009===a)return 5121;if(1017===a)return 32819;if(1018===a)return 32820;if(1019===a)return 33635;if(1010===a)return 5120;if(1011===a)return 5122;if(1012===a)return 5123;if(1013===a)return 5124;if(1014===a)return 5125;if(1015===a)return 5126;if(1016===a){if(c.isWebGL2)return 5131;var d=b.get("OES_texture_half_float");if(null!==d)return d.HALF_FLOAT_OES}if(1021===a)return 6406;if(1022===a)return 6407;if(1023=== +a)return 6408;if(1024===a)return 6409;if(1025===a)return 6410;if(1026===a)return 6402;if(1027===a)return 34041;if(1028===a)return 6403;if(100===a)return 32774;if(101===a)return 32778;if(102===a)return 32779;if(200===a)return 0;if(201===a)return 1;if(202===a)return 768;if(203===a)return 769;if(204===a)return 770;if(205===a)return 771;if(206===a)return 772;if(207===a)return 773;if(208===a)return 774;if(209===a)return 775;if(210===a)return 776;if(33776===a||33777===a||33778===a||33779===a)if(d=b.get("WEBGL_compressed_texture_s3tc"), +null!==d){if(33776===a)return d.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===a)return d.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===a)return d.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===a)return d.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===a||35841===a||35842===a||35843===a)if(d=b.get("WEBGL_compressed_texture_pvrtc"),null!==d){if(35840===a)return d.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===a)return d.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===a)return d.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===a)return d.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196=== +a&&(d=b.get("WEBGL_compressed_texture_etc1"),null!==d))return d.COMPRESSED_RGB_ETC1_WEBGL;if(37808===a||37809===a||37810===a||37811===a||37812===a||37813===a||37814===a||37815===a||37816===a||37817===a||37818===a||37819===a||37820===a||37821===a)if(d=b.get("WEBGL_compressed_texture_astc"),null!==d)return a;if(103===a||104===a){if(c.isWebGL2){if(103===a)return 32775;if(104===a)return 32776}d=b.get("EXT_blend_minmax");if(null!==d){if(103===a)return d.MIN_EXT;if(104===a)return d.MAX_EXT}}if(1020===a){if(c.isWebGL2)return 34042; +d=b.get("WEBGL_depth_texture");if(null!==d)return d.UNSIGNED_INT_24_8_WEBGL}return 0}}}function fg(a,b,c,d){la.call(this,a,b,d);this.stencilBuffer=this.depthBuffer=!1;this.numViews=c}function kk(a,b){function c(a){if(a.isArrayCamera)return a.cameras;q[0]=a;return q}function d(a){if(void 0===a.isArrayCamera)return!0;a=a.cameras;if(a.length>t)return!1;for(var b=1,c=a.length;b<c;b++)if(a[0].viewport.z!==a[b].viewport.z||a[0].viewport.w!==a[b].viewport.w)return!1;return!0}var e=a.extensions,f=a.properties, +g,h,l,m,q,u,k,t=0;this.isAvailable=function(){if(void 0===k){var a=e.get("OVR_multiview2");if(k=null!==a&&!1===b.getContextAttributes().antialias)for(t=b.getParameter(a.MAX_VIEWS_OVR),g=new fg(0,0,2),u=new A,m=[],l=[],q=[],a=0;a<t;a++)m[a]=new O,l[a]=new aa}return k};this.attachCamera=function(b){if(!1!==d(b)){(h=a.getRenderTarget())?u.set(h.width,h.height):a.getDrawingBufferSize(u);if(b.isArrayCamera){var c=b.cameras[0].viewport;g.setSize(c.z,c.w);g.setNumViews(b.cameras.length)}else g.setSize(u.x, +u.y),g.setNumViews(2);a.setRenderTarget(g)}};this.detachCamera=function(c){if(g===a.getRenderTarget()){a.setRenderTarget(h);var d=g,e=d.numViews,l=f.get(d).__webglViewFramebuffers,m=d.width;d=d.height;if(c.isArrayCamera)for(var q=0;q<e;q++){var k=c.cameras[q].viewport,p=k.x,r=k.y,t=p+k.z;k=r+k.w;b.bindFramebuffer(36008,l[q]);b.blitFramebuffer(0,0,m,d,p,r,t,k,16384,9728)}else b.bindFramebuffer(36008,l[0]),b.blitFramebuffer(0,0,m,d,0,0,u.x,u.y,16384,9728)}};this.updateCameraProjectionMatricesUniform= +function(a,d){a=c(a);for(var e=0;e<a.length;e++)m[e].copy(a[e].projectionMatrix);d.setValue(b,"projectionMatrices",m)};this.updateCameraViewMatricesUniform=function(a,d){a=c(a);for(var e=0;e<a.length;e++)m[e].copy(a[e].matrixWorldInverse);d.setValue(b,"viewMatrices",m)};this.updateObjectMatricesUniforms=function(a,d,e){d=c(d);for(var f=0;f<d.length;f++)m[f].multiplyMatrices(d[f].matrixWorldInverse,a.matrixWorld),l[f].getNormalMatrix(m[f]);e.setValue(b,"modelViewMatrices",m);e.setValue(b,"normalMatrices", +l)}}function Kc(){H.call(this);this.type="Group"}function Ld(a){oa.call(this);this.cameras=a||[]}function Lh(a,b,c){Mh.setFromMatrixPosition(b.matrixWorld);Nh.setFromMatrixPosition(c.matrixWorld);var d=Mh.distanceTo(Nh),e=b.projectionMatrix.elements,f=c.projectionMatrix.elements,g=e[14]/(e[10]-1);c=e[14]/(e[10]+1);var h=(e[9]+1)/e[5],l=(e[9]-1)/e[5],m=(e[8]-1)/e[0],q=(f[8]+1)/f[0];e=g*m;f=g*q;q=d/(-m+q);m=q*-m;b.matrixWorld.decompose(a.position,a.quaternion,a.scale);a.translateX(m);a.translateZ(q); +a.matrixWorld.compose(a.position,a.quaternion,a.scale);a.matrixWorldInverse.getInverse(a.matrixWorld);b=g+q;g=c+q;a.projectionMatrix.makePerspective(e-m,f+(d-m),h*c/g*b,l*c/g*b,b,g)}function gg(a){function b(){return null!==h&&!0===h.isPresenting}function c(){if(b()){var c=h.getEyeParameters("left");e=2*c.renderWidth*t;f=c.renderHeight*t;Db=a.getPixelRatio();a.getSize(B);a.setDrawingBufferSize(e,f,1);x.viewport.set(0,0,e/2,f);G.viewport.set(e/2,0,e/2,f);z.start();g.dispatchEvent({type:"sessionstart"})}else g.enabled&& +a.setDrawingBufferSize(B.width,B.height,Db),z.stop(),g.dispatchEvent({type:"sessionend"})}function d(a,b){null!==b&&4===b.length&&a.set(b[0]*e,b[1]*f,b[2]*e,b[3]*f)}var e,f,g=this,h=null,l=null,m=null,q=[],u=new O,k=new O,t=1,p="local-floor";"undefined"!==typeof window&&"VRFrameData"in window&&(l=new window.VRFrameData,window.addEventListener("vrdisplaypresentchange",c,!1));var v=new O,w=new va,y=new n,x=new oa;x.viewport=new W;x.layers.enable(1);var G=new oa;G.viewport=new W;G.layers.enable(2);var K= +new Ld([x,G]);K.layers.enable(1);K.layers.enable(2);var B=new A,Db,ba=[];this.enabled=!1;this.getController=function(a){var b=q[a];void 0===b&&(b=new Kc,b.matrixAutoUpdate=!1,b.visible=!1,q[a]=b);return b};this.getDevice=function(){return h};this.setDevice=function(a){void 0!==a&&(h=a);z.setContext(a)};this.setFramebufferScaleFactor=function(a){t=a};this.setReferenceSpaceType=function(a){p=a};this.setPoseTarget=function(a){void 0!==a&&(m=a)};this.getCamera=function(a){var c="local-floor"===p?1.6: +0;if(!1===b())return a.position.set(0,c,0),a.rotation.set(0,0,0),a;h.depthNear=a.near;h.depthFar=a.far;h.getFrameData(l);if("local-floor"===p){var e=h.stageParameters;e?u.fromArray(e.sittingToStandingTransform):u.makeTranslation(0,c,0)}c=l.pose;e=null!==m?m:a;e.matrix.copy(u);e.matrix.decompose(e.position,e.quaternion,e.scale);null!==c.orientation&&(w.fromArray(c.orientation),e.quaternion.multiply(w));null!==c.position&&(w.setFromRotationMatrix(u),y.fromArray(c.position),y.applyQuaternion(w),e.position.add(y)); +e.updateMatrixWorld();x.near=a.near;G.near=a.near;x.far=a.far;G.far=a.far;x.matrixWorldInverse.fromArray(l.leftViewMatrix);G.matrixWorldInverse.fromArray(l.rightViewMatrix);k.getInverse(u);"local-floor"===p&&(x.matrixWorldInverse.multiply(k),G.matrixWorldInverse.multiply(k));a=e.parent;null!==a&&(v.getInverse(a.matrixWorld),x.matrixWorldInverse.multiply(v),G.matrixWorldInverse.multiply(v));x.matrixWorld.getInverse(x.matrixWorldInverse);G.matrixWorld.getInverse(G.matrixWorldInverse);x.projectionMatrix.fromArray(l.leftProjectionMatrix); +G.projectionMatrix.fromArray(l.rightProjectionMatrix);Lh(K,x,G);a=h.getLayers();a.length&&(a=a[0],d(x.viewport,a.leftBounds),d(G.viewport,a.rightBounds));a:for(a=0;a<q.length;a++){c=q[a];b:{e=a;for(var f=navigator.getGamepads&&navigator.getGamepads(),g=0,r=0,t=f.length;g<t;g++){var n=f[g];if(n&&("Daydream Controller"===n.id||"Gear VR Controller"===n.id||"Oculus Go Controller"===n.id||"OpenVR Gamepad"===n.id||n.id.startsWith("Oculus Touch")||n.id.startsWith("HTC Vive Focus")||n.id.startsWith("Spatial Controller"))){if(r=== +e){e=n;break b}r++}}e=void 0}if(void 0!==e&&void 0!==e.pose){if(null===e.pose)break a;f=e.pose;!1===f.hasPosition&&c.position.set(.2,-.6,-.05);null!==f.position&&c.position.fromArray(f.position);null!==f.orientation&&c.quaternion.fromArray(f.orientation);c.matrix.compose(c.position,c.quaternion,c.scale);c.matrix.premultiply(u);c.matrix.decompose(c.position,c.quaternion,c.scale);c.matrixWorldNeedsUpdate=!0;c.visible=!0;f="Daydream Controller"===e.id?0:1;void 0===ba[a]&&(ba[a]=!1);ba[a]!==e.buttons[f].pressed&& +(ba[a]=e.buttons[f].pressed,!0===ba[a]?c.dispatchEvent({type:"selectstart"}):(c.dispatchEvent({type:"selectend"}),c.dispatchEvent({type:"select"})))}else c.visible=!1}return K};this.getStandingMatrix=function(){return u};this.isPresenting=b;var z=new $f;this.setAnimationLoop=function(a){z.setAnimationLoop(a);b()&&z.start()};this.submitFrame=function(){b()&&h.submitFrame()};this.dispose=function(){"undefined"!==typeof window&&window.removeEventListener("vrdisplaypresentchange",c)};this.setFrameOfReferenceType= +function(){console.warn("THREE.WebVRManager: setFrameOfReferenceType() has been deprecated.")}}function Oh(a,b){function c(){return null!==l&&null!==m}function d(a){for(var b=0;b<k.length;b++)t[b]===a.inputSource&&k[b].dispatchEvent({type:a.type})}function e(){a.setFramebuffer(null);a.setRenderTarget(a.getRenderTarget());x.stop();h.dispatchEvent({type:"sessionend"})}function f(a){m=a;x.setContext(l);x.start();h.dispatchEvent({type:"sessionstart"})}function g(a,b){null===b?a.matrixWorld.copy(a.matrix): +a.matrixWorld.multiplyMatrices(b.matrixWorld,a.matrix);a.matrixWorldInverse.getInverse(a.matrixWorld)}var h=this,l=null,m=null,q="local-floor",u=null,k=[],t=[],p=new oa;p.layers.enable(1);p.viewport=new W;var n=new oa;n.layers.enable(2);n.viewport=new W;var w=new Ld([p,n]);w.layers.enable(1);w.layers.enable(2);this.enabled=!1;this.getController=function(a){var b=k[a];void 0===b&&(b=new Kc,b.matrixAutoUpdate=!1,b.visible=!1,k[a]=b);return b};this.setFramebufferScaleFactor=function(){};this.setReferenceSpaceType= +function(a){q=a};this.getSession=function(){return l};this.setSession=function(a){l=a;null!==l&&(l.addEventListener("select",d),l.addEventListener("selectstart",d),l.addEventListener("selectend",d),l.addEventListener("end",e),l.updateRenderState({baseLayer:new XRWebGLLayer(l,b)}),l.requestReferenceSpace(q).then(f),t=l.inputSources,l.addEventListener("inputsourceschange",function(){t=l.inputSources;console.log(t);for(var a=0;a<k.length;a++)k[a].userData.inputSource=t[a]}))};this.getCamera=function(a){if(c()){var b= +a.parent,d=w.cameras;g(w,b);for(var e=0;e<d.length;e++)g(d[e],b);a.matrixWorld.copy(w.matrixWorld);a=a.children;e=0;for(b=a.length;e<b;e++)a[e].updateMatrixWorld(!0);Lh(w,p,n);return w}return a};this.isPresenting=c;var y=null,x=new $f;x.setAnimationLoop(function(b,c){u=c.getViewerPose(m);if(null!==u){var d=u.views,e=l.renderState.baseLayer;a.setFramebuffer(e.framebuffer);for(var f=0;f<d.length;f++){var g=d[f],h=e.getViewport(g),q=w.cameras[f];q.matrix.fromArray(g.transform.inverse.matrix).getInverse(q.matrix); +q.projectionMatrix.fromArray(g.projectionMatrix);q.viewport.set(h.x,h.y,h.width,h.height);0===f&&w.matrix.copy(q.matrix)}}for(f=0;f<k.length;f++){d=k[f];if(e=t[f])if(e=c.getPose(e.targetRaySpace,m),null!==e){d.matrix.fromArray(e.transform.matrix);d.matrix.decompose(d.position,d.rotation,d.scale);d.visible=!0;continue}d.visible=!1}y&&y(b)});this.setAnimationLoop=function(a){y=a};this.dispose=function(){};this.getStandingMatrix=function(){console.warn("THREE.WebXRManager: getStandingMatrix() is no longer needed."); +return new O};this.getDevice=function(){console.warn("THREE.WebXRManager: getDevice() has been deprecated.")};this.setDevice=function(){console.warn("THREE.WebXRManager: setDevice() has been deprecated.")};this.setFrameOfReferenceType=function(){console.warn("THREE.WebXRManager: setFrameOfReferenceType() has been deprecated.")};this.submitFrame=function(){}}function hg(a){var b;function c(){sa=new aj(J);Fa=new Zi(J,sa,a);!1===Fa.isWebGL2&&(sa.get("WEBGL_depth_texture"),sa.get("OES_texture_float"), +sa.get("OES_texture_half_float"),sa.get("OES_texture_half_float_linear"),sa.get("OES_standard_derivatives"),sa.get("OES_element_index_uint"),sa.get("ANGLE_instanced_arrays"));sa.get("OES_texture_float_linear");la=new Kh(J,sa,Fa);ca=new ik(J,sa,la,Fa);ca.scissor(U.copy(da).multiplyScalar(X).floor());ca.viewport(Qa.copy(Ic).multiplyScalar(X).floor());aa=new dj(J);Ga=new Zj;ha=new jk(J,sa,ca,Ga,Fa,la,aa);qa=new Wi(J);ya=new bj(J,qa,aa);ta=new gj(J,ya,qa,aa);za=new fj(J);pa=new Yj(C,sa,Fa);wa=new ck; +va=new hk;na=new Xi(C,ca,ta,z);Ba=new Yi(J,sa,aa,Fa);Ca=new cj(J,sa,aa,Fa);aa.programs=pa.programs;C.capabilities=Fa;C.extensions=sa;C.properties=Ga;C.renderLists=wa;C.state=ca;C.info=aa}function d(a){a.preventDefault();console.log("THREE.WebGLRenderer: Context Lost.");M=!0}function e(){console.log("THREE.WebGLRenderer: Context Restored.");M=!1;c()}function f(a){a=a.target;a.removeEventListener("dispose",f);g(a);Ga.remove(a)}function g(a){var b=Ga.get(a).program;a.program=void 0;void 0!==b&&pa.releaseProgram(b)} +function h(a,b){a.render(function(a){C.renderBufferImmediate(a,b)})}function l(a,b,c,d){if(!1!==a.visible){if(a.layers.test(b.layers))if(a.isGroup)c=a.renderOrder;else if(a.isLOD)!0===a.autoUpdate&&a.update(b);else if(a.isLight)E.pushLight(a),a.castShadow&&E.pushShadow(a);else if(a.isSprite){if(!a.frustumCulled||ra.intersectsSprite(a)){d&&Gb.setFromMatrixPosition(a.matrixWorld).applyMatrix4(ma);var e=ta.update(a),f=a.material;f.visible&&F.push(a,e,f,c,Gb.z,null)}}else if(a.isImmediateRenderObject)d&& +Gb.setFromMatrixPosition(a.matrixWorld).applyMatrix4(ma),F.push(a,null,a.material,c,Gb.z,null);else if(a.isMesh||a.isLine||a.isPoints)if(a.isSkinnedMesh&&a.skeleton.frame!==aa.render.frame&&(a.skeleton.update(),a.skeleton.frame=aa.render.frame),!a.frustumCulled||ra.intersectsObject(a))if(d&&Gb.setFromMatrixPosition(a.matrixWorld).applyMatrix4(ma),e=ta.update(a),f=a.material,Array.isArray(f))for(var g=e.groups,h=0,m=g.length;h<m;h++){var q=g[h],k=f[q.materialIndex];k&&k.visible&&F.push(a,e,k,c,Gb.z, +q)}else f.visible&&F.push(a,e,f,c,Gb.z,null);a=a.children;h=0;for(m=a.length;h<m;h++)l(a[h],b,c,d)}}function m(a,b,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e],h=g.object,l=g.geometry,m=void 0===d?g.material:d;g=g.group;if(c.isArrayCamera)if(Y=c,ka.enabled&&ua.isAvailable())q(h,b,c,l,m,g);else for(var k=c.cameras,u=0,p=k.length;u<p;u++){var t=k[u];h.layers.test(t.layers)&&(ca.viewport(Qa.copy(t.viewport)),E.setupLights(t),q(h,b,t,l,m,g))}else Y=null,q(h,b,c,l,m,g)}}function q(a,c,d,e,f,g){a.onBeforeRender(C, +c,d,e,f,g);E=va.get(c,Y||d);a.modelViewMatrix.multiplyMatrices(d.matrixWorldInverse,a.matrixWorld);a.normalMatrix.getNormalMatrix(a.modelViewMatrix);if(a.isImmediateRenderObject){ca.setMaterial(f);var l=k(d,c.fog,f,a);ja=b=null;Z=!1;h(a,l)}else C.renderBufferDirect(d,c.fog,e,f,a,g);a.onAfterRender(C,c,d,e,f,g);E=va.get(c,Y||d)}function u(a,b,c){var d=Ga.get(a),e=E.state.lights,h=e.state.version;c=pa.getParameters(a,e.state,E.state.shadowsArray,b,ea.numPlanes,ea.numIntersection,c);var l=pa.getProgramCode(a, +c),m=d.program,q=!0;if(void 0===m)a.addEventListener("dispose",f);else if(m.code!==l)g(a);else{if(d.lightsStateVersion!==h)d.lightsStateVersion=h;else if(void 0!==c.shaderID)return;q=!1}q&&(c.shaderID?(l=eb[c.shaderID],d.shader={name:a.type,uniforms:Zb(l.uniforms),vertexShader:l.vertexShader,fragmentShader:l.fragmentShader}):d.shader={name:a.type,uniforms:a.uniforms,vertexShader:a.vertexShader,fragmentShader:a.fragmentShader},a.onBeforeCompile(d.shader,C),l=pa.getProgramCode(a,c),m=pa.acquireProgram(a, +d.shader,c,l),d.program=m,a.program=m);c=m.getAttributes();if(a.morphTargets)for(l=a.numSupportedMorphTargets=0;l<C.maxMorphTargets;l++)0<=c["morphTarget"+l]&&a.numSupportedMorphTargets++;if(a.morphNormals)for(l=a.numSupportedMorphNormals=0;l<C.maxMorphNormals;l++)0<=c["morphNormal"+l]&&a.numSupportedMorphNormals++;c=d.shader.uniforms;if(!a.isShaderMaterial&&!a.isRawShaderMaterial||!0===a.clipping)d.numClippingPlanes=ea.numPlanes,d.numIntersection=ea.numIntersection,c.clippingPlanes=ea.uniform;d.fog= +b;d.needsLights=a.isMeshLambertMaterial||a.isMeshPhongMaterial||a.isMeshStandardMaterial||a.isShadowMaterial||a.isShaderMaterial&&!0===a.lights;d.lightsStateVersion=h;d.needsLights&&(c.ambientLightColor.value=e.state.ambient,c.lightProbe.value=e.state.probe,c.directionalLights.value=e.state.directional,c.spotLights.value=e.state.spot,c.rectAreaLights.value=e.state.rectArea,c.pointLights.value=e.state.point,c.hemisphereLights.value=e.state.hemi,c.directionalShadowMap.value=e.state.directionalShadowMap, +c.directionalShadowMatrix.value=e.state.directionalShadowMatrix,c.spotShadowMap.value=e.state.spotShadowMap,c.spotShadowMatrix.value=e.state.spotShadowMatrix,c.pointShadowMap.value=e.state.pointShadowMap,c.pointShadowMatrix.value=e.state.pointShadowMatrix);a=d.program.getUniforms();a=Cb.seqWithValue(a.seq,c);d.uniformsList=a}function k(a,b,c,d){ha.resetTextureUnits();var e=Ga.get(c),f=E.state.lights;Ke&&(eg||a!==S)&&ea.setState(c.clippingPlanes,c.clipIntersection,c.clipShadows,a,e,a===S&&c.id===cc); +!1===c.needsUpdate&&(void 0===e.program?c.needsUpdate=!0:c.fog&&e.fog!==b?c.needsUpdate=!0:e.needsLights&&e.lightsStateVersion!==f.state.version?c.needsUpdate=!0:void 0===e.numClippingPlanes||e.numClippingPlanes===ea.numPlanes&&e.numIntersection===ea.numIntersection||(c.needsUpdate=!0));c.needsUpdate&&(u(c,b,d),c.needsUpdate=!1);var g=!1,h=!1,l=!1;f=e.program;var m=f.getUniforms(),q=e.shader.uniforms;ca.useProgram(f.program)&&(l=h=g=!0);c.id!==cc&&(cc=c.id,h=!0);if(g||S!==a){0<f.numMultiviewViews? +ua.updateCameraProjectionMatricesUniform(a,m):m.setValue(J,"projectionMatrix",a.projectionMatrix);Fa.logarithmicDepthBuffer&&m.setValue(J,"logDepthBufFC",2/(Math.log(a.far+1)/Math.LN2));S!==a&&(S=a,l=h=!0);if(c.isShaderMaterial||c.isMeshPhongMaterial||c.isMeshStandardMaterial||c.envMap)g=m.map.cameraPosition,void 0!==g&&g.setValue(J,Gb.setFromMatrixPosition(a.matrixWorld));if(c.isMeshPhongMaterial||c.isMeshLambertMaterial||c.isMeshBasicMaterial||c.isMeshStandardMaterial||c.isShaderMaterial||c.skinning)0< +f.numMultiviewViews?ua.updateCameraViewMatricesUniform(a,m):m.setValue(J,"viewMatrix",a.matrixWorldInverse)}if(c.skinning&&(m.setOptional(J,d,"bindMatrix"),m.setOptional(J,d,"bindMatrixInverse"),g=d.skeleton)){var k=g.bones;if(Fa.floatVertexTextures){if(void 0===g.boneTexture){k=Math.sqrt(4*k.length);k=Q.ceilPowerOfTwo(k);k=Math.max(k,4);var r=new Float32Array(k*k*4);r.set(g.boneMatrices);var n=new $b(r,k,k,1023,1015);g.boneMatrices=r;g.boneTexture=n;g.boneTextureSize=k}m.setValue(J,"boneTexture", +g.boneTexture,ha);m.setValue(J,"boneTextureSize",g.boneTextureSize)}else m.setOptional(J,g,"boneMatrices")}if(h||e.receiveShadow!==d.receiveShadow)e.receiveShadow=d.receiveShadow,m.setValue(J,"receiveShadow",d.receiveShadow);h&&(m.setValue(J,"toneMappingExposure",C.toneMappingExposure),m.setValue(J,"toneMappingWhitePoint",C.toneMappingWhitePoint),e.needsLights&&(h=l,q.ambientLightColor.needsUpdate=h,q.lightProbe.needsUpdate=h,q.directionalLights.needsUpdate=h,q.pointLights.needsUpdate=h,q.spotLights.needsUpdate= +h,q.rectAreaLights.needsUpdate=h,q.hemisphereLights.needsUpdate=h),b&&c.fog&&(q.fogColor.value.copy(b.color),b.isFog?(q.fogNear.value=b.near,q.fogFar.value=b.far):b.isFogExp2&&(q.fogDensity.value=b.density)),c.isMeshBasicMaterial?t(q,c):c.isMeshLambertMaterial?(t(q,c),c.emissiveMap&&(q.emissiveMap.value=c.emissiveMap)):c.isMeshPhongMaterial?(t(q,c),c.isMeshToonMaterial?(p(q,c),c.gradientMap&&(q.gradientMap.value=c.gradientMap)):p(q,c)):c.isMeshStandardMaterial?(t(q,c),c.isMeshPhysicalMaterial?(v(q, +c),q.reflectivity.value=c.reflectivity,q.clearcoat.value=c.clearcoat,q.clearcoatRoughness.value=c.clearcoatRoughness,c.sheen&&q.sheen.value.copy(c.sheen),c.clearcoatNormalMap&&(q.clearcoatNormalScale.value.copy(c.clearcoatNormalScale),q.clearcoatNormalMap.value=c.clearcoatNormalMap,1===c.side&&q.clearcoatNormalScale.value.negate()),q.transparency.value=c.transparency):v(q,c)):c.isMeshMatcapMaterial?(t(q,c),c.matcap&&(q.matcap.value=c.matcap),c.bumpMap&&(q.bumpMap.value=c.bumpMap,q.bumpScale.value= +c.bumpScale,1===c.side&&(q.bumpScale.value*=-1)),c.normalMap&&(q.normalMap.value=c.normalMap,q.normalScale.value.copy(c.normalScale),1===c.side&&q.normalScale.value.negate()),c.displacementMap&&(q.displacementMap.value=c.displacementMap,q.displacementScale.value=c.displacementScale,q.displacementBias.value=c.displacementBias)):c.isMeshDepthMaterial?(t(q,c),c.displacementMap&&(q.displacementMap.value=c.displacementMap,q.displacementScale.value=c.displacementScale,q.displacementBias.value=c.displacementBias)): +c.isMeshDistanceMaterial?(t(q,c),c.displacementMap&&(q.displacementMap.value=c.displacementMap,q.displacementScale.value=c.displacementScale,q.displacementBias.value=c.displacementBias),q.referencePosition.value.copy(c.referencePosition),q.nearDistance.value=c.nearDistance,q.farDistance.value=c.farDistance):c.isMeshNormalMaterial?(t(q,c),c.bumpMap&&(q.bumpMap.value=c.bumpMap,q.bumpScale.value=c.bumpScale,1===c.side&&(q.bumpScale.value*=-1)),c.normalMap&&(q.normalMap.value=c.normalMap,q.normalScale.value.copy(c.normalScale), +1===c.side&&q.normalScale.value.negate()),c.displacementMap&&(q.displacementMap.value=c.displacementMap,q.displacementScale.value=c.displacementScale,q.displacementBias.value=c.displacementBias)):c.isLineBasicMaterial?(q.diffuse.value.copy(c.color),q.opacity.value=c.opacity,c.isLineDashedMaterial&&(q.dashSize.value=c.dashSize,q.totalSize.value=c.dashSize+c.gapSize,q.scale.value=c.scale)):c.isPointsMaterial?(q.diffuse.value.copy(c.color),q.opacity.value=c.opacity,q.size.value=c.size*X,q.scale.value= +.5*L,q.map.value=c.map,null!==c.map&&(!0===c.map.matrixAutoUpdate&&c.map.updateMatrix(),q.uvTransform.value.copy(c.map.matrix))):c.isSpriteMaterial?(q.diffuse.value.copy(c.color),q.opacity.value=c.opacity,q.rotation.value=c.rotation,q.map.value=c.map,null!==c.map&&(!0===c.map.matrixAutoUpdate&&c.map.updateMatrix(),q.uvTransform.value.copy(c.map.matrix))):c.isShadowMaterial&&(q.color.value.copy(c.color),q.opacity.value=c.opacity),void 0!==q.ltc_1&&(q.ltc_1.value=I.LTC_1),void 0!==q.ltc_2&&(q.ltc_2.value= +I.LTC_2),Cb.upload(J,e.uniformsList,q,ha));c.isShaderMaterial&&!0===c.uniformsNeedUpdate&&(Cb.upload(J,e.uniformsList,q,ha),c.uniformsNeedUpdate=!1);c.isSpriteMaterial&&m.setValue(J,"center",d.center);0<f.numMultiviewViews?ua.updateObjectMatricesUniforms(d,a,m):(m.setValue(J,"modelViewMatrix",d.modelViewMatrix),m.setValue(J,"normalMatrix",d.normalMatrix));m.setValue(J,"modelMatrix",d.matrixWorld);return f}function t(a,b){a.opacity.value=b.opacity;b.color&&a.diffuse.value.copy(b.color);b.emissive&& +a.emissive.value.copy(b.emissive).multiplyScalar(b.emissiveIntensity);b.map&&(a.map.value=b.map);b.alphaMap&&(a.alphaMap.value=b.alphaMap);b.specularMap&&(a.specularMap.value=b.specularMap);b.envMap&&(a.envMap.value=b.envMap,a.flipEnvMap.value=b.envMap.isCubeTexture?-1:1,a.reflectivity.value=b.reflectivity,a.refractionRatio.value=b.refractionRatio,a.maxMipLevel.value=Ga.get(b.envMap).__maxMipLevel);b.lightMap&&(a.lightMap.value=b.lightMap,a.lightMapIntensity.value=b.lightMapIntensity);b.aoMap&&(a.aoMap.value= +b.aoMap,a.aoMapIntensity.value=b.aoMapIntensity);if(b.map)var c=b.map;else b.specularMap?c=b.specularMap:b.displacementMap?c=b.displacementMap:b.normalMap?c=b.normalMap:b.bumpMap?c=b.bumpMap:b.roughnessMap?c=b.roughnessMap:b.metalnessMap?c=b.metalnessMap:b.alphaMap?c=b.alphaMap:b.emissiveMap&&(c=b.emissiveMap);void 0!==c&&(c.isWebGLRenderTarget&&(c=c.texture),!0===c.matrixAutoUpdate&&c.updateMatrix(),a.uvTransform.value.copy(c.matrix))}function p(a,b){a.specular.value.copy(b.specular);a.shininess.value= +Math.max(b.shininess,1E-4);b.emissiveMap&&(a.emissiveMap.value=b.emissiveMap);b.bumpMap&&(a.bumpMap.value=b.bumpMap,a.bumpScale.value=b.bumpScale,1===b.side&&(a.bumpScale.value*=-1));b.normalMap&&(a.normalMap.value=b.normalMap,a.normalScale.value.copy(b.normalScale),1===b.side&&a.normalScale.value.negate());b.displacementMap&&(a.displacementMap.value=b.displacementMap,a.displacementScale.value=b.displacementScale,a.displacementBias.value=b.displacementBias)}function v(a,b){a.roughness.value=b.roughness; +a.metalness.value=b.metalness;b.roughnessMap&&(a.roughnessMap.value=b.roughnessMap);b.metalnessMap&&(a.metalnessMap.value=b.metalnessMap);b.emissiveMap&&(a.emissiveMap.value=b.emissiveMap);b.bumpMap&&(a.bumpMap.value=b.bumpMap,a.bumpScale.value=b.bumpScale,1===b.side&&(a.bumpScale.value*=-1));b.normalMap&&(a.normalMap.value=b.normalMap,a.normalScale.value.copy(b.normalScale),1===b.side&&a.normalScale.value.negate());b.displacementMap&&(a.displacementMap.value=b.displacementMap,a.displacementScale.value= +b.displacementScale,a.displacementBias.value=b.displacementBias);b.envMap&&(a.envMapIntensity.value=b.envMapIntensity)}a=a||{};var w=void 0!==a.canvas?a.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),y=void 0!==a.context?a.context:null,x=void 0!==a.alpha?a.alpha:!1,G=void 0!==a.depth?a.depth:!0,K=void 0!==a.stencil?a.stencil:!0,B=void 0!==a.antialias?a.antialias:!1,z=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,ba=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer: +!1,D=void 0!==a.powerPreference?a.powerPreference:"default",H=void 0!==a.failIfMajorPerformanceCaveat?a.failIfMajorPerformanceCaveat:!1,F=null,E=null;this.domElement=w;this.debug={checkShaderErrors:!0};this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.clippingPlanes=[];this.localClippingEnabled=!1;this.gammaFactor=2;this.physicallyCorrectLights=this.gammaOutput=this.gammaInput=!1;this.toneMappingWhitePoint=this.toneMappingExposure=this.toneMapping= +1;this.maxMorphTargets=8;this.maxMorphNormals=4;var C=this,M=!1,N=null,R=0,P=0,T=null,bc=null,cc=-1;var ja=b=null;var Z=!1;var S=null,Y=null,Qa=new W,U=new W,fa=null,V=w.width,L=w.height,X=1,Ic=new W(0,0,V,L),da=new W(0,0,V,L),oa=!1,ra=new Hd,ea=new $i,Ke=!1,eg=!1,ma=new O,Gb=new n;try{x={alpha:x,depth:G,stencil:K,antialias:B,premultipliedAlpha:z,preserveDrawingBuffer:ba,powerPreference:D,failIfMajorPerformanceCaveat:H,xrCompatible:!0};w.addEventListener("webglcontextlost",d,!1);w.addEventListener("webglcontextrestored", +e,!1);var J=y||w.getContext("webgl",x)||w.getContext("experimental-webgl",x);if(null===J){if(null!==w.getContext("webgl"))throw Error("Error creating WebGL context with your selected attributes.");throw Error("Error creating WebGL context.");}void 0===J.getShaderPrecisionFormat&&(J.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(Ph){throw console.error("THREE.WebGLRenderer: "+Ph.message),Ph;}var sa,Fa,ca,aa,Ga,ha,qa,ya,ta,pa,wa,va,na,za,Ba,Ca,la;c();var ka="undefined"!== +typeof navigator&&"xr"in navigator&&"supportsSession"in navigator.xr?new Oh(C,J):new gg(C);this.vr=ka;var ua=new kk(C,J),Ea=new Jh(C,ta,Fa.maxTextureSize);this.shadowMap=Ea;this.getContext=function(){return J};this.getContextAttributes=function(){return J.getContextAttributes()};this.forceContextLoss=function(){var a=sa.get("WEBGL_lose_context");a&&a.loseContext()};this.forceContextRestore=function(){var a=sa.get("WEBGL_lose_context");a&&a.restoreContext()};this.getPixelRatio=function(){return X}; +this.setPixelRatio=function(a){void 0!==a&&(X=a,this.setSize(V,L,!1))};this.getSize=function(a){void 0===a&&(console.warn("WebGLRenderer: .getsize() now requires a Vector2 as an argument"),a=new A);return a.set(V,L)};this.setSize=function(a,b,c){ka.isPresenting()?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(V=a,L=b,w.width=Math.floor(a*X),w.height=Math.floor(b*X),!1!==c&&(w.style.width=a+"px",w.style.height=b+"px"),this.setViewport(0,0,a,b))};this.getDrawingBufferSize= +function(a){void 0===a&&(console.warn("WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument"),a=new A);return a.set(V*X,L*X).floor()};this.setDrawingBufferSize=function(a,b,c){V=a;L=b;X=c;w.width=Math.floor(a*c);w.height=Math.floor(b*c);this.setViewport(0,0,a,b)};this.getCurrentViewport=function(a){void 0===a&&(console.warn("WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument"),a=new W);return a.copy(Qa)};this.getViewport=function(a){return a.copy(Ic)}; +this.setViewport=function(a,b,c,d){a.isVector4?Ic.set(a.x,a.y,a.z,a.w):Ic.set(a,b,c,d);ca.viewport(Qa.copy(Ic).multiplyScalar(X).floor())};this.getScissor=function(a){return a.copy(da)};this.setScissor=function(a,b,c,d){a.isVector4?da.set(a.x,a.y,a.z,a.w):da.set(a,b,c,d);ca.scissor(U.copy(da).multiplyScalar(X).floor())};this.getScissorTest=function(){return oa};this.setScissorTest=function(a){ca.setScissorTest(oa=a)};this.getClearColor=function(){return na.getClearColor()};this.setClearColor=function(){na.setClearColor.apply(na, +arguments)};this.getClearAlpha=function(){return na.getClearAlpha()};this.setClearAlpha=function(){na.setClearAlpha.apply(na,arguments)};this.clear=function(a,b,c){var d=0;if(void 0===a||a)d|=16384;if(void 0===b||b)d|=256;if(void 0===c||c)d|=1024;J.clear(d)};this.clearColor=function(){this.clear(!0,!1,!1)};this.clearDepth=function(){this.clear(!1,!0,!1)};this.clearStencil=function(){this.clear(!1,!1,!0)};this.dispose=function(){w.removeEventListener("webglcontextlost",d,!1);w.removeEventListener("webglcontextrestored", +e,!1);wa.dispose();va.dispose();Ga.dispose();ta.dispose();ka.dispose();Aa.stop()};this.renderBufferImmediate=function(a,b){ca.initAttributes();var c=Ga.get(a);a.hasPositions&&!c.position&&(c.position=J.createBuffer());a.hasNormals&&!c.normal&&(c.normal=J.createBuffer());a.hasUvs&&!c.uv&&(c.uv=J.createBuffer());a.hasColors&&!c.color&&(c.color=J.createBuffer());b=b.getAttributes();a.hasPositions&&(J.bindBuffer(34962,c.position),J.bufferData(34962,a.positionArray,35048),ca.enableAttribute(b.position), +J.vertexAttribPointer(b.position,3,5126,!1,0,0));a.hasNormals&&(J.bindBuffer(34962,c.normal),J.bufferData(34962,a.normalArray,35048),ca.enableAttribute(b.normal),J.vertexAttribPointer(b.normal,3,5126,!1,0,0));a.hasUvs&&(J.bindBuffer(34962,c.uv),J.bufferData(34962,a.uvArray,35048),ca.enableAttribute(b.uv),J.vertexAttribPointer(b.uv,2,5126,!1,0,0));a.hasColors&&(J.bindBuffer(34962,c.color),J.bufferData(34962,a.colorArray,35048),ca.enableAttribute(b.color),J.vertexAttribPointer(b.color,3,5126,!1,0,0)); +ca.disableUnusedAttributes();J.drawArrays(4,0,a.count);a.count=0};this.renderBufferDirect=function(a,c,d,e,f,g){var h=f.isMesh&&0>f.matrixWorld.determinant();ca.setMaterial(e,h);var l=k(a,c,e,f),m=!1;if(b!==d.id||ja!==l.id||Z!==(!0===e.wireframe))b=d.id,ja=l.id,Z=!0===e.wireframe,m=!0;f.morphTargetInfluences&&(za.update(f,d,e,l),m=!0);h=d.index;var q=d.attributes.position;c=1;!0===e.wireframe&&(h=ya.getWireframeAttribute(d),c=2);a=Ba;if(null!==h){var u=qa.get(h);a=Ca;a.setIndex(u)}if(m){if(!1!==Fa.isWebGL2|| +!f.isInstancedMesh&&!d.isInstancedBufferGeometry||null!==sa.get("ANGLE_instanced_arrays")){ca.initAttributes();m=d.attributes;l=l.getAttributes();var t=e.defaultAttributeValues;for(K in l){var p=l[K];if(0<=p){var r=m[K];if(void 0!==r){var n=r.normalized,v=r.itemSize,w=qa.get(r);if(void 0!==w){var x=w.buffer,y=w.type;w=w.bytesPerElement;if(r.isInterleavedBufferAttribute){var B=r.data,G=B.stride;r=r.offset;B&&B.isInstancedInterleavedBuffer?(ca.enableAttributeAndDivisor(p,B.meshPerAttribute),void 0=== +d.maxInstancedCount&&(d.maxInstancedCount=B.meshPerAttribute*B.count)):ca.enableAttribute(p);J.bindBuffer(34962,x);J.vertexAttribPointer(p,v,y,n,G*w,r*w)}else r.isInstancedBufferAttribute?(ca.enableAttributeAndDivisor(p,r.meshPerAttribute),void 0===d.maxInstancedCount&&(d.maxInstancedCount=r.meshPerAttribute*r.count)):ca.enableAttribute(p),J.bindBuffer(34962,x),J.vertexAttribPointer(p,v,y,n,0,0)}}else if("instanceMatrix"===K)w=qa.get(f.instanceMatrix),void 0!==w&&(x=w.buffer,y=w.type,ca.enableAttributeAndDivisor(p+ +0,1),ca.enableAttributeAndDivisor(p+1,1),ca.enableAttributeAndDivisor(p+2,1),ca.enableAttributeAndDivisor(p+3,1),J.bindBuffer(34962,x),J.vertexAttribPointer(p+0,4,y,!1,64,0),J.vertexAttribPointer(p+1,4,y,!1,64,16),J.vertexAttribPointer(p+2,4,y,!1,64,32),J.vertexAttribPointer(p+3,4,y,!1,64,48));else if(void 0!==t&&(n=t[K],void 0!==n))switch(n.length){case 2:J.vertexAttrib2fv(p,n);break;case 3:J.vertexAttrib3fv(p,n);break;case 4:J.vertexAttrib4fv(p,n);break;default:J.vertexAttrib1fv(p,n)}}}ca.disableUnusedAttributes()}null!== +h&&J.bindBuffer(34963,u.buffer)}u=Infinity;null!==h?u=h.count:void 0!==q&&(u=q.count);h=d.drawRange.start*c;q=null!==g?g.start*c:0;var K=Math.max(h,q);g=Math.max(0,Math.min(u,h+d.drawRange.count*c,q+(null!==g?g.count*c:Infinity))-1-K+1);if(0!==g){if(f.isMesh)if(!0===e.wireframe)ca.setLineWidth(e.wireframeLinewidth*(null===T?X:1)),a.setMode(1);else switch(f.drawMode){case 0:a.setMode(4);break;case 1:a.setMode(5);break;case 2:a.setMode(6)}else f.isLine?(e=e.linewidth,void 0===e&&(e=1),ca.setLineWidth(e* +(null===T?X:1)),f.isLineSegments?a.setMode(1):f.isLineLoop?a.setMode(2):a.setMode(3)):f.isPoints?a.setMode(0):f.isSprite&&a.setMode(4);f.isInstancedMesh?a.renderInstances(d,K,g,f.count):d.isInstancedBufferGeometry?a.renderInstances(d,K,g,d.maxInstancedCount):a.render(K,g)}};this.compile=function(a,b){E=va.get(a,b);E.init();a.traverse(function(a){a.isLight&&(E.pushLight(a),a.castShadow&&E.pushShadow(a))});E.setupLights(b);a.traverse(function(b){if(b.material)if(Array.isArray(b.material))for(var c= +0;c<b.material.length;c++)u(b.material[c],a.fog,b);else u(b.material,a.fog,b)})};var Da=null,Aa=new $f;Aa.setAnimationLoop(function(a){ka.isPresenting()||Da&&Da(a)});"undefined"!==typeof window&&Aa.setContext(window);this.setAnimationLoop=function(a){Da=a;ka.setAnimationLoop(a);Aa.start()};this.render=function(a,c,d,e){if(void 0!==d){console.warn("THREE.WebGLRenderer.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead.");var f=d}if(void 0!==e){console.warn("THREE.WebGLRenderer.render(): the forceClear argument has been removed. Use .clear() instead."); +var g=e}c&&c.isCamera?M||(ja=b=null,Z=!1,cc=-1,S=null,!0===a.autoUpdate&&a.updateMatrixWorld(),null===c.parent&&c.updateMatrixWorld(),ka.enabled&&(c=ka.getCamera(c)),E=va.get(a,c),E.init(),a.onBeforeRender(C,a,c,f||T),ma.multiplyMatrices(c.projectionMatrix,c.matrixWorldInverse),ra.setFromMatrix(ma),eg=this.localClippingEnabled,Ke=ea.init(this.clippingPlanes,eg,c),F=wa.get(a,c),F.init(),l(a,c,0,C.sortObjects),!0===C.sortObjects&&F.sort(),Ke&&ea.beginShadows(),Ea.render(E.state.shadowsArray,a,c),E.setupLights(c), +Ke&&ea.endShadows(),this.info.autoReset&&this.info.reset(),void 0!==f&&this.setRenderTarget(f),ka.enabled&&ua.isAvailable()&&ua.attachCamera(c),na.render(F,a,c,g),d=F.opaque,e=F.transparent,a.overrideMaterial?(f=a.overrideMaterial,d.length&&m(d,a,c,f),e.length&&m(e,a,c,f)):(d.length&&m(d,a,c),e.length&&m(e,a,c)),a.onAfterRender(C,a,c),null!==T&&(ha.updateRenderTargetMipmap(T),ha.updateMultisampleRenderTarget(T)),ca.buffers.depth.setTest(!0),ca.buffers.depth.setMask(!0),ca.buffers.color.setMask(!0), +ca.setPolygonOffset(!1),ka.enabled&&(ua.isAvailable()&&ua.detachCamera(c),ka.submitFrame()),E=F=null):console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.")};this.setFramebuffer=function(a){N!==a&&J.bindFramebuffer(36160,a);N=a};this.getActiveCubeFace=function(){return R};this.getActiveMipmapLevel=function(){return P};this.getRenderTarget=function(){return T};this.setRenderTarget=function(a,b,c){T=a;R=b;P=c;a&&void 0===Ga.get(a).__webglFramebuffer&&ha.setupRenderTarget(a); +var d=N,e=!1;a?(d=Ga.get(a).__webglFramebuffer,a.isWebGLRenderTargetCube?(d=d[b||0],e=!0):d=a.isWebGLMultisampleRenderTarget?Ga.get(a).__webglMultisampledFramebuffer:d,Qa.copy(a.viewport),U.copy(a.scissor),fa=a.scissorTest):(Qa.copy(Ic).multiplyScalar(X).floor(),U.copy(da).multiplyScalar(X).floor(),fa=oa);bc!==d&&(J.bindFramebuffer(36160,d),bc=d);ca.viewport(Qa);ca.scissor(U);ca.setScissorTest(fa);e&&(a=Ga.get(a.texture),J.framebufferTexture2D(36160,36064,34069+(b||0),a.__webglTexture,c||0))};this.readRenderTargetPixels= +function(a,b,c,d,e,f,g){if(a&&a.isWebGLRenderTarget){var h=Ga.get(a).__webglFramebuffer;a.isWebGLRenderTargetCube&&void 0!==g&&(h=h[g]);if(h){g=!1;h!==bc&&(J.bindFramebuffer(36160,h),g=!0);try{var l=a.texture,m=l.format,q=l.type;1023!==m&&la.convert(m)!==J.getParameter(35739)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===q||la.convert(q)===J.getParameter(35738)||1015===q&&(Fa.isWebGL2||sa.get("OES_texture_float")|| +sa.get("WEBGL_color_buffer_float"))||1016===q&&(Fa.isWebGL2?sa.get("EXT_color_buffer_float"):sa.get("EXT_color_buffer_half_float"))?36053===J.checkFramebufferStatus(36160)?0<=b&&b<=a.width-d&&0<=c&&c<=a.height-e&&J.readPixels(b,c,d,e,la.convert(m),la.convert(q),f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete."):console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{g&& +J.bindFramebuffer(36160,bc)}}}else console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.")};this.copyFramebufferToTexture=function(a,b,c){var d=b.image.width,e=b.image.height,f=la.convert(b.format);ha.setTexture2D(b,0);J.copyTexImage2D(3553,c||0,f,a.x,a.y,d,e,0)};this.copyTextureToTexture=function(a,b,c,d){var e=b.image.width,f=b.image.height,g=la.convert(c.format),h=la.convert(c.type);ha.setTexture2D(c,0);b.isDataTexture?J.texSubImage2D(3553,d||0, +a.x,a.y,e,f,g,h,b.image.data):J.texSubImage2D(3553,d||0,a.x,a.y,g,h,b.image)};"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}function Le(a,b){this.name="";this.color=new E(a);this.density=void 0!==b?b:2.5E-4}function Me(a,b,c){this.name="";this.color=new E(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function Hb(a,b){this.array=a;this.stride=b;this.count=void 0!==a?a.length/b:0;this.dynamic=!1;this.updateRange={offset:0, +count:-1};this.version=0}function Md(a,b,c,d){this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function Ib(a){N.call(this);this.type="SpriteMaterial";this.color=new E(16777215);this.map=null;this.rotation=0;this.transparent=this.sizeAttenuation=!0;this.setValues(a)}function Nd(a){H.call(this);this.type="Sprite";if(void 0===Lc){Lc=new D;var b=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]);b=new Hb(b,5);Lc.setIndex([0,1,2,0,2,3]);Lc.addAttribute("position",new Md(b, +3,0,!1));Lc.addAttribute("uv",new Md(b,2,3,!1))}this.geometry=Lc;this.material=void 0!==a?a:new Ib;this.center=new A(.5,.5)}function Ne(a,b,c,d,e,f){Mc.subVectors(a,c).addScalar(.5).multiply(d);void 0!==e?(Od.x=f*Mc.x-e*Mc.y,Od.y=e*Mc.x+f*Mc.y):Od.copy(Mc);a.copy(b);a.x+=Od.x;a.y+=Od.y;a.applyMatrix4(Qh)}function Pd(){H.call(this);this.type="LOD";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}});this.autoUpdate=!0}function Qd(a,b){a&&a.isGeometry&&console.error("THREE.SkinnedMesh no longer supports THREE.Geometry. Use THREE.BufferGeometry instead."); +da.call(this,a,b);this.type="SkinnedMesh";this.bindMode="attached";this.bindMatrix=new O;this.bindMatrixInverse=new O}function Oe(a,b){a=a||[];this.bones=a.slice(0);this.boneMatrices=new Float32Array(16*this.bones.length);this.frame=-1;if(void 0===b)this.calculateInverses();else if(this.bones.length===b.length)this.boneInverses=b.slice(0);else for(console.warn("THREE.Skeleton boneInverses is the wrong length."),this.boneInverses=[],a=0,b=this.bones.length;a<b;a++)this.boneInverses.push(new O)}function ig(){H.call(this); +this.type="Bone"}function jg(a,b,c){da.call(this,a,b);this.instanceMatrix=new P(new Float32Array(16*c),16);this.count=c}function S(a){N.call(this);this.type="LineBasicMaterial";this.color=new E(16777215);this.linewidth=1;this.linejoin=this.linecap="round";this.setValues(a)}function ya(a,b,c){1===c&&console.error("THREE.Line: parameter THREE.LinePieces no longer supported. Use THREE.LineSegments instead.");H.call(this);this.type="Line";this.geometry=void 0!==a?a:new D;this.material=void 0!==b?b:new S({color:16777215* +Math.random()})}function U(a,b){ya.call(this,a,b);this.type="LineSegments"}function Pe(a,b){ya.call(this,a,b);this.type="LineLoop"}function Ra(a){N.call(this);this.type="PointsMaterial";this.color=new E(16777215);this.map=null;this.size=1;this.sizeAttenuation=!0;this.morphTargets=!1;this.setValues(a)}function Nc(a,b){H.call(this);this.type="Points";this.geometry=void 0!==a?a:new D;this.material=void 0!==b?b:new Ra({color:16777215*Math.random()});this.updateMorphTargets()}function kg(a,b,c,d,e,f,g){var h= +lg.distanceSqToPoint(a);h<c&&(c=new n,lg.closestPointToPoint(a,c),c.applyMatrix4(d),a=e.ray.origin.distanceTo(c),a<e.near||a>e.far||f.push({distance:a,distanceToRay:Math.sqrt(h),point:c,index:b,face:null,object:g}))}function mg(a,b,c,d,e,f,g,h,l){Y.call(this,a,b,c,d,e,f,g,h,l);this.format=void 0!==g?g:1022;this.minFilter=void 0!==f?f:1006;this.magFilter=void 0!==e?e:1006;this.generateMipmaps=!1}function Oc(a,b,c,d,e,f,g,h,l,m,q,k){Y.call(this,null,f,g,h,l,m,d,e,q,k);this.image={width:b,height:c}; +this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function Rd(a,b,c,d,e,f,g,h,l){Y.call(this,a,b,c,d,e,f,g,h,l);this.needsUpdate=!0}function Sd(a,b,c,d,e,f,g,h,l,m){m=void 0!==m?m:1026;if(1026!==m&&1027!==m)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===c&&1026===m&&(c=1012);void 0===c&&1027===m&&(c=1020);Y.call(this,null,d,e,f,g,h,m,c,l);this.image={width:a,height:b};this.magFilter=void 0!==g?g:1003;this.minFilter=void 0!==h?h:1003;this.generateMipmaps= +this.flipY=!1}function Pc(a){D.call(this);this.type="WireframeGeometry";var b=[],c,d,e,f=[0,0],g={},h=["a","b","c"];if(a&&a.isGeometry){var l=a.faces;var m=0;for(d=l.length;m<d;m++){var q=l[m];for(c=0;3>c;c++){var k=q[h[c]];var r=q[h[(c+1)%3]];f[0]=Math.min(k,r);f[1]=Math.max(k,r);k=f[0]+","+f[1];void 0===g[k]&&(g[k]={index1:f[0],index2:f[1]})}}for(k in g)m=g[k],h=a.vertices[m.index1],b.push(h.x,h.y,h.z),h=a.vertices[m.index2],b.push(h.x,h.y,h.z)}else if(a&&a.isBufferGeometry)if(h=new n,null!==a.index){l= +a.attributes.position;q=a.index;var t=a.groups;0===t.length&&(t=[{start:0,count:q.count,materialIndex:0}]);a=0;for(e=t.length;a<e;++a)for(m=t[a],c=m.start,d=m.count,m=c,d=c+d;m<d;m+=3)for(c=0;3>c;c++)k=q.getX(m+c),r=q.getX(m+(c+1)%3),f[0]=Math.min(k,r),f[1]=Math.max(k,r),k=f[0]+","+f[1],void 0===g[k]&&(g[k]={index1:f[0],index2:f[1]});for(k in g)m=g[k],h.fromBufferAttribute(l,m.index1),b.push(h.x,h.y,h.z),h.fromBufferAttribute(l,m.index2),b.push(h.x,h.y,h.z)}else for(l=a.attributes.position,m=0,d= +l.count/3;m<d;m++)for(c=0;3>c;c++)g=3*m+c,h.fromBufferAttribute(l,g),b.push(h.x,h.y,h.z),g=3*m+(c+1)%3,h.fromBufferAttribute(l,g),b.push(h.x,h.y,h.z);this.addAttribute("position",new z(b,3))}function Td(a,b,c){M.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Qc(a,b,c));this.mergeVertices()}function Qc(a,b,c){D.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g=[],h=new n, +l=new n,m=new n,q=new n,k=new n,r,t;3>a.length&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");var p=b+1;for(r=0;r<=c;r++){var v=r/c;for(t=0;t<=b;t++){var w=t/b;a(w,v,l);e.push(l.x,l.y,l.z);0<=w-1E-5?(a(w-1E-5,v,m),q.subVectors(l,m)):(a(w+1E-5,v,m),q.subVectors(m,l));0<=v-1E-5?(a(w,v-1E-5,m),k.subVectors(l,m)):(a(w,v+1E-5,m),k.subVectors(m,l));h.crossVectors(q,k).normalize();f.push(h.x,h.y,h.z);g.push(w,v)}}for(r=0;r<c;r++)for(t=0;t<b;t++)a=r*p+t+ +1,h=(r+1)*p+t+1,l=(r+1)*p+t,d.push(r*p+t,a,l),d.push(a,h,l);this.setIndex(d);this.addAttribute("position",new z(e,3));this.addAttribute("normal",new z(f,3));this.addAttribute("uv",new z(g,2))}function Ud(a,b,c,d){M.call(this);this.type="PolyhedronGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};this.fromBufferGeometry(new Da(a,b,c,d));this.mergeVertices()}function Da(a,b,c,d){function e(a){h.push(a.x,a.y,a.z)}function f(b,c){b*=3;c.x=a[b+0];c.y=a[b+1];c.z=a[b+2]}function g(a,b,c, +d){0>d&&1===a.x&&(l[b]=a.x-1);0===c.x&&0===c.z&&(l[b]=d/2/Math.PI+.5)}D.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;d=d||0;var h=[],l=[];(function(a){for(var c=new n,d=new n,g=new n,h=0;h<b.length;h+=3){f(b[h+0],c);f(b[h+1],d);f(b[h+2],g);var l,m,k=c,y=d,x=g,G=Math.pow(2,a),K=[];for(m=0;m<=G;m++){K[m]=[];var B=k.clone().lerp(x,m/G),A=y.clone().lerp(x,m/G),z=G-m;for(l=0;l<=z;l++)K[m][l]=0===l&&m===G?B:B.clone().lerp(A,l/z)}for(m=0;m< +G;m++)for(l=0;l<2*(G-m)-1;l++)k=Math.floor(l/2),0===l%2?(e(K[m][k+1]),e(K[m+1][k]),e(K[m][k])):(e(K[m][k+1]),e(K[m+1][k+1]),e(K[m+1][k]))}})(d);(function(a){for(var b=new n,c=0;c<h.length;c+=3)b.x=h[c+0],b.y=h[c+1],b.z=h[c+2],b.normalize().multiplyScalar(a),h[c+0]=b.x,h[c+1]=b.y,h[c+2]=b.z})(c);(function(){for(var a=new n,b=0;b<h.length;b+=3)a.x=h[b+0],a.y=h[b+1],a.z=h[b+2],l.push(Math.atan2(a.z,-a.x)/2/Math.PI+.5,1-(Math.atan2(-a.y,Math.sqrt(a.x*a.x+a.z*a.z))/Math.PI+.5));a=new n;b=new n;for(var c= +new n,d=new n,e=new A,f=new A,k=new A,w=0,y=0;w<h.length;w+=9,y+=6){a.set(h[w+0],h[w+1],h[w+2]);b.set(h[w+3],h[w+4],h[w+5]);c.set(h[w+6],h[w+7],h[w+8]);e.set(l[y+0],l[y+1]);f.set(l[y+2],l[y+3]);k.set(l[y+4],l[y+5]);d.copy(a).add(b).add(c).divideScalar(3);var x=Math.atan2(d.z,-d.x);g(e,y+0,a,x);g(f,y+2,b,x);g(k,y+4,c,x)}for(a=0;a<l.length;a+=6)b=l[a+0],c=l[a+2],d=l[a+4],e=Math.min(b,c,d),.9<Math.max(b,c,d)&&.1>e&&(.2>b&&(l[a+0]+=1),.2>c&&(l[a+2]+=1),.2>d&&(l[a+4]+=1))})();this.addAttribute("position", +new z(h,3));this.addAttribute("normal",new z(h.slice(),3));this.addAttribute("uv",new z(l,2));0===d?this.computeVertexNormals():this.normalizeNormals()}function Vd(a,b){M.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Rc(a,b));this.mergeVertices()}function Rc(a,b){Da.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],a,b);this.type="TetrahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Wd(a,b){M.call(this); +this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new dc(a,b));this.mergeVertices()}function dc(a,b){Da.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Xd(a,b){M.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Sc(a,b));this.mergeVertices()}function Sc(a,b){var c= +(1+Math.sqrt(5))/2;Da.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type="IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Yd(a,b){M.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Tc(a,b));this.mergeVertices()}function Tc(a,b){var c= +(1+Math.sqrt(5))/2,d=1/c;Da.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters= +{radius:a,detail:b}}function Zd(a,b,c,d,e,f){M.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new ec(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function ec(a,b,c,d,e){function f(e){q=a.getPointAt(e/b,q);var f=g.normals[e];e=g.binormals[e];for(r=0;r<=d;r++){var m=r/d*Math.PI* +2,k=Math.sin(m);m=-Math.cos(m);l.x=m*f.x+k*e.x;l.y=m*f.y+k*e.y;l.z=m*f.z+k*e.z;l.normalize();p.push(l.x,l.y,l.z);h.x=q.x+c*l.x;h.y=q.y+c*l.y;h.z=q.z+c*l.z;t.push(h.x,h.y,h.z)}}D.call(this);this.type="TubeBufferGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new n,l=new n,m=new A,q=new n,k,r,t=[],p=[],v=[],w=[];for(k= +0;k<b;k++)f(k);f(!1===e?b:0);for(k=0;k<=b;k++)for(r=0;r<=d;r++)m.x=k/b,m.y=r/d,v.push(m.x,m.y);(function(){for(r=1;r<=b;r++)for(k=1;k<=d;k++){var a=(d+1)*r+(k-1),c=(d+1)*r+k,e=(d+1)*(r-1)+k;w.push((d+1)*(r-1)+(k-1),a,e);w.push(a,c,e)}})();this.setIndex(w);this.addAttribute("position",new z(t,3));this.addAttribute("normal",new z(p,3));this.addAttribute("uv",new z(v,2))}function $d(a,b,c,d,e,f,g){M.call(this);this.type="TorusKnotGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d, +p:e,q:f};void 0!==g&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.");this.fromBufferGeometry(new Uc(a,b,c,d,e,f));this.mergeVertices()}function Uc(a,b,c,d,e,f){function g(a,b,c,d,e){var f=Math.sin(a);b=c/b*a;c=Math.cos(b);e.x=d*(2+c)*.5*Math.cos(a);e.y=d*(2+c)*f*.5;e.z=d*Math.sin(b)*.5}D.call(this);this.type="TorusKnotBufferGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};a=a||1;b=b||.4;c=Math.floor(c)|| +64;d=Math.floor(d)||8;e=e||2;f=f||3;var h=[],l=[],m=[],q=[],k,r=new n,t=new n,p=new n,v=new n,w=new n,y=new n,x=new n;for(k=0;k<=c;++k){var G=k/c*e*Math.PI*2;g(G,e,f,a,p);g(G+.01,e,f,a,v);y.subVectors(v,p);x.addVectors(v,p);w.crossVectors(y,x);x.crossVectors(w,y);w.normalize();x.normalize();for(G=0;G<=d;++G){var K=G/d*Math.PI*2,B=-b*Math.cos(K);K=b*Math.sin(K);r.x=p.x+(B*x.x+K*w.x);r.y=p.y+(B*x.y+K*w.y);r.z=p.z+(B*x.z+K*w.z);l.push(r.x,r.y,r.z);t.subVectors(r,p).normalize();m.push(t.x,t.y,t.z);q.push(k/ +c);q.push(G/d)}}for(G=1;G<=c;G++)for(k=1;k<=d;k++)a=(d+1)*G+(k-1),b=(d+1)*G+k,e=(d+1)*(G-1)+k,h.push((d+1)*(G-1)+(k-1),a,e),h.push(a,b,e);this.setIndex(h);this.addAttribute("position",new z(l,3));this.addAttribute("normal",new z(m,3));this.addAttribute("uv",new z(q,2))}function ae(a,b,c,d,e){M.call(this);this.type="TorusGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};this.fromBufferGeometry(new Vc(a,b,c,d,e));this.mergeVertices()}function Vc(a,b,c,d,e){D.call(this); +this.type="TorusBufferGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};a=a||1;b=b||.4;c=Math.floor(c)||8;d=Math.floor(d)||6;e=e||2*Math.PI;var f=[],g=[],h=[],l=[],m=new n,q=new n,k=new n,r,t;for(r=0;r<=c;r++)for(t=0;t<=d;t++){var p=t/d*e,v=r/c*Math.PI*2;q.x=(a+b*Math.cos(v))*Math.cos(p);q.y=(a+b*Math.cos(v))*Math.sin(p);q.z=b*Math.sin(v);g.push(q.x,q.y,q.z);m.x=a*Math.cos(p);m.y=a*Math.sin(p);k.subVectors(q,m).normalize();h.push(k.x,k.y,k.z);l.push(t/d);l.push(r/ +c)}for(r=1;r<=c;r++)for(t=1;t<=d;t++)a=(d+1)*(r-1)+t-1,b=(d+1)*(r-1)+t,e=(d+1)*r+t,f.push((d+1)*r+t-1,a,e),f.push(a,b,e);this.setIndex(f);this.addAttribute("position",new z(g,3));this.addAttribute("normal",new z(h,3));this.addAttribute("uv",new z(l,2))}function Rh(a,b,c,d,e){for(var f,g=0,h=b,l=c-d;h<c;h+=d)g+=(a[l]-a[h])*(a[h+1]+a[l+1]),l=h;if(e===0<g)for(e=b;e<c;e+=d)f=Sh(e,a[e],a[e+1],f);else for(e=c-d;e>=b;e-=d)f=Sh(e,a[e],a[e+1],f);f&&fc(f,f.next)&&(be(f),f=f.next);return f}function ce(a,b){if(!a)return a; +b||(b=a);do{var c=!1;if(a.steiner||!fc(a,a.next)&&0!==ta(a.prev,a,a.next))a=a.next;else{be(a);a=b=a.prev;if(a===a.next)break;c=!0}}while(c||a!==b);return b}function de(a,b,c,d,e,f,g){if(a){if(!g&&f){var h=a,l=h;do null===l.z&&(l.z=ng(l.x,l.y,d,e,f)),l.prevZ=l.prev,l=l.nextZ=l.next;while(l!==h);l.prevZ.nextZ=null;l.prevZ=null;h=l;var m,q,k,r,t=1;do{l=h;var p=h=null;for(q=0;l;){q++;var n=l;for(m=k=0;m<t&&(k++,n=n.nextZ,n);m++);for(r=t;0<k||0<r&&n;)0!==k&&(0===r||!n||l.z<=n.z)?(m=l,l=l.nextZ,k--):(m= +n,n=n.nextZ,r--),p?p.nextZ=m:h=m,m.prevZ=p,p=m;l=n}p.nextZ=null;t*=2}while(1<q)}for(h=a;a.prev!==a.next;){l=a.prev;n=a.next;if(f)p=lk(a,d,e,f);else a:if(p=a,q=p.prev,k=p,t=p.next,0<=ta(q,k,t))p=!1;else{for(m=p.next.next;m!==p.prev;){if(Wc(q.x,q.y,k.x,k.y,t.x,t.y,m.x,m.y)&&0<=ta(m.prev,m,m.next)){p=!1;break a}m=m.next}p=!0}if(p)b.push(l.i/c),b.push(a.i/c),b.push(n.i/c),be(a),h=a=n.next;else if(a=n,a===h){if(!g)de(ce(a),b,c,d,e,f,1);else if(1===g){g=b;h=c;l=a;do n=l.prev,p=l.next.next,!fc(n,p)&&Th(n, +l,l.next,p)&&ee(n,p)&&ee(p,n)&&(g.push(n.i/h),g.push(l.i/h),g.push(p.i/h),be(l),be(l.next),l=a=p),l=l.next;while(l!==a);a=l;de(a,b,c,d,e,f,2)}else if(2===g)a:{g=a;do{for(h=g.next.next;h!==g.prev;){if(l=g.i!==h.i){l=g;n=h;if(p=l.next.i!==n.i&&l.prev.i!==n.i){b:{p=l;do{if(p.i!==l.i&&p.next.i!==l.i&&p.i!==n.i&&p.next.i!==n.i&&Th(p,p.next,l,n)){p=!0;break b}p=p.next}while(p!==l);p=!1}p=!p}if(p=p&&ee(l,n)&&ee(n,l)){p=l;q=!1;k=(l.x+n.x)/2;n=(l.y+n.y)/2;do p.y>n!==p.next.y>n&&p.next.y!==p.y&&k<(p.next.x- +p.x)*(n-p.y)/(p.next.y-p.y)+p.x&&(q=!q),p=p.next;while(p!==l);p=q}l=p}if(l){a=Uh(g,h);g=ce(g,g.next);a=ce(a,a.next);de(g,b,c,d,e,f);de(a,b,c,d,e,f);break a}h=h.next}g=g.next}while(g!==a)}break}}}}function lk(a,b,c,d){var e=a.prev,f=a.next;if(0<=ta(e,a,f))return!1;var g=e.x>a.x?e.x>f.x?e.x:f.x:a.x>f.x?a.x:f.x,h=e.y>a.y?e.y>f.y?e.y:f.y:a.y>f.y?a.y:f.y,l=ng(e.x<a.x?e.x<f.x?e.x:f.x:a.x<f.x?a.x:f.x,e.y<a.y?e.y<f.y?e.y:f.y:a.y<f.y?a.y:f.y,b,c,d);b=ng(g,h,b,c,d);c=a.prevZ;for(d=a.nextZ;c&&c.z>=l&&d&&d.z<= +b;){if(c!==a.prev&&c!==a.next&&Wc(e.x,e.y,a.x,a.y,f.x,f.y,c.x,c.y)&&0<=ta(c.prev,c,c.next))return!1;c=c.prevZ;if(d!==a.prev&&d!==a.next&&Wc(e.x,e.y,a.x,a.y,f.x,f.y,d.x,d.y)&&0<=ta(d.prev,d,d.next))return!1;d=d.nextZ}for(;c&&c.z>=l;){if(c!==a.prev&&c!==a.next&&Wc(e.x,e.y,a.x,a.y,f.x,f.y,c.x,c.y)&&0<=ta(c.prev,c,c.next))return!1;c=c.prevZ}for(;d&&d.z<=b;){if(d!==a.prev&&d!==a.next&&Wc(e.x,e.y,a.x,a.y,f.x,f.y,d.x,d.y)&&0<=ta(d.prev,d,d.next))return!1;d=d.nextZ}return!0}function mk(a,b){return a.x-b.x} +function nk(a,b){var c=b,d=a.x,e=a.y,f=-Infinity;do{if(e<=c.y&&e>=c.next.y&&c.next.y!==c.y){var g=c.x+(e-c.y)*(c.next.x-c.x)/(c.next.y-c.y);if(g<=d&&g>f){f=g;if(g===d){if(e===c.y)return c;if(e===c.next.y)return c.next}var h=c.x<c.next.x?c:c.next}}c=c.next}while(c!==b);if(!h)return null;if(d===f)return h.prev;b=h;g=h.x;var l=h.y,m=Infinity;for(c=h.next;c!==b;){if(d>=c.x&&c.x>=g&&d!==c.x&&Wc(e<l?d:f,e,g,l,e<l?f:d,e,c.x,c.y)){var q=Math.abs(e-c.y)/(d-c.x);(q<m||q===m&&c.x>h.x)&&ee(c,a)&&(h=c,m=q)}c= +c.next}return h}function ng(a,b,c,d,e){a=32767*(a-c)*e;b=32767*(b-d)*e;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function ok(a){var b=a,c=a;do{if(b.x<c.x||b.x===c.x&&b.y<c.y)c=b;b=b.next}while(b!==a);return c}function Wc(a,b,c,d,e,f,g,h){return 0<=(e-g)*(b-h)-(a-g)*(f-h)&&0<=(a-g)*(d-h)-(c-g)*(b-h)&&0<=(c-g)*(f-h)-(e-g)*(d-h)}function ta(a,b,c){return(b.y-a.y)*(c.x- +b.x)-(b.x-a.x)*(c.y-b.y)}function fc(a,b){return a.x===b.x&&a.y===b.y}function Th(a,b,c,d){return fc(a,c)&&fc(b,d)||fc(a,d)&&fc(c,b)?!0:0<ta(a,b,c)!==0<ta(a,b,d)&&0<ta(c,d,a)!==0<ta(c,d,b)}function ee(a,b){return 0>ta(a.prev,a,a.next)?0<=ta(a,b,a.next)&&0<=ta(a,a.prev,b):0>ta(a,b,a.prev)||0>ta(a,a.next,b)}function Uh(a,b){var c=new og(a.i,a.x,a.y),d=new og(b.i,b.x,b.y),e=a.next,f=b.prev;a.next=b;b.prev=a;c.next=e;e.prev=c;d.next=c;c.prev=d;f.next=d;d.prev=f;return d}function Sh(a,b,c,d){a=new og(a, +b,c);d?(a.next=d.next,a.prev=d,d.next.prev=a,d.next=a):(a.prev=a,a.next=a);return a}function be(a){a.next.prev=a.prev;a.prev.next=a.next;a.prevZ&&(a.prevZ.nextZ=a.nextZ);a.nextZ&&(a.nextZ.prevZ=a.prevZ)}function og(a,b,c){this.i=a;this.x=b;this.y=c;this.nextZ=this.prevZ=this.z=this.next=this.prev=null;this.steiner=!1}function Vh(a){var b=a.length;2<b&&a[b-1].equals(a[0])&&a.pop()}function Wh(a,b){for(var c=0;c<b.length;c++)a.push(b[c].x),a.push(b[c].y)}function gc(a,b){M.call(this);this.type="ExtrudeGeometry"; +this.parameters={shapes:a,options:b};this.fromBufferGeometry(new fb(a,b));this.mergeVertices()}function fb(a,b){function c(a,c){function g(a,b,c){b||console.error("THREE.ExtrudeGeometry: vec does not exist");return b.clone().multiplyScalar(c).add(a)}function h(a,b,c){var d=a.x-b.x;var e=a.y-b.y;var f=c.x-a.x;var g=c.y-a.y,h=d*d+e*e;if(Math.abs(d*g-e*f)>Number.EPSILON){var l=Math.sqrt(h),m=Math.sqrt(f*f+g*g);h=b.x-e/l;b=b.y+d/l;g=((c.x-g/m-h)*g-(c.y+f/m-b)*f)/(d*g-e*f);f=h+d*g-a.x;d=b+e*g-a.y;e=f* +f+d*d;if(2>=e)return new A(f,d);e=Math.sqrt(e/2)}else a=!1,d>Number.EPSILON?f>Number.EPSILON&&(a=!0):d<-Number.EPSILON?f<-Number.EPSILON&&(a=!0):Math.sign(e)===Math.sign(g)&&(a=!0),a?(f=-e,e=Math.sqrt(h)):(f=d,d=e,e=Math.sqrt(h/2));return new A(f/e,d/e)}function l(a,b){for(L=a.length;0<=--L;){var c=L;var f=L-1;0>f&&(f=a.length-1);var g,h=G+2*D;for(g=0;g<h;g++){var l=aa*g,m=aa*(g+1),q=b+f+l,k=b+f+m;m=b+c+m;v(b+c+l);v(q);v(m);v(q);v(k);v(m);l=e.length/3;l=H.generateSideWallUV(d,e,l-6,l-3,l-2,l-1);w(l[0]); +w(l[1]);w(l[3]);w(l[1]);w(l[2]);w(l[3])}}}function m(a,b,c){y.push(a);y.push(b);y.push(c)}function k(a,b,c){v(a);v(b);v(c);a=e.length/3;a=H.generateTopUV(d,e,a-3,a-2,a-1);w(a[0]);w(a[1]);w(a[2])}function v(a){e.push(y[3*a]);e.push(y[3*a+1]);e.push(y[3*a+2])}function w(a){f.push(a.x);f.push(a.y)}var y=[],x=void 0!==b.curveSegments?b.curveSegments:12,G=void 0!==b.steps?b.steps:1,K=void 0!==b.depth?b.depth:100,B=void 0!==b.bevelEnabled?b.bevelEnabled:!0,z=void 0!==b.bevelThickness?b.bevelThickness:6, +E=void 0!==b.bevelSize?b.bevelSize:z-2,C=void 0!==b.bevelOffset?b.bevelOffset:0,D=void 0!==b.bevelSegments?b.bevelSegments:3,F=b.extrudePath,H=void 0!==b.UVGenerator?b.UVGenerator:pk;void 0!==b.amount&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),K=b.amount);var I=!1;if(F){var M=F.getSpacedPoints(G);I=!0;B=!1;var N=F.computeFrenetFrames(G,!1);var R=new n;var P=new n;var T=new n}B||(C=E=z=D=0);var Q;x=a.extractPoints(x);a=x.shape;var O=x.holes;if(!qb.isClockWise(a)){a= +a.reverse();var ja=0;for(Q=O.length;ja<Q;ja++){var S=O[ja];qb.isClockWise(S)&&(O[ja]=S.reverse())}}var Z=qb.triangulateShape(a,O),Y=a;ja=0;for(Q=O.length;ja<Q;ja++)S=O[ja],a=a.concat(S);var U,aa=a.length,W,fa=Z.length;x=[];var L=0;var X=Y.length;var V=X-1;for(U=L+1;L<X;L++,V++,U++)V===X&&(V=0),U===X&&(U=0),x[L]=h(Y[L],Y[V],Y[U]);F=[];var ha=x.concat();ja=0;for(Q=O.length;ja<Q;ja++){S=O[ja];var da=[];L=0;X=S.length;V=X-1;for(U=L+1;L<X;L++,V++,U++)V===X&&(V=0),U===X&&(U=0),da[L]=h(S[L],S[V],S[U]);F.push(da); +ha=ha.concat(da)}for(V=0;V<D;V++){X=V/D;var ka=z*Math.cos(X*Math.PI/2);U=E*Math.sin(X*Math.PI/2)+C;L=0;for(X=Y.length;L<X;L++){var ea=g(Y[L],x[L],U);m(ea.x,ea.y,-ka)}ja=0;for(Q=O.length;ja<Q;ja++)for(S=O[ja],da=F[ja],L=0,X=S.length;L<X;L++)ea=g(S[L],da[L],U),m(ea.x,ea.y,-ka)}U=E+C;for(L=0;L<aa;L++)ea=B?g(a[L],ha[L],U):a[L],I?(P.copy(N.normals[0]).multiplyScalar(ea.x),R.copy(N.binormals[0]).multiplyScalar(ea.y),T.copy(M[0]).add(P).add(R),m(T.x,T.y,T.z)):m(ea.x,ea.y,0);for(X=1;X<=G;X++)for(L=0;L<aa;L++)ea= +B?g(a[L],ha[L],U):a[L],I?(P.copy(N.normals[X]).multiplyScalar(ea.x),R.copy(N.binormals[X]).multiplyScalar(ea.y),T.copy(M[X]).add(P).add(R),m(T.x,T.y,T.z)):m(ea.x,ea.y,K/G*X);for(V=D-1;0<=V;V--){X=V/D;ka=z*Math.cos(X*Math.PI/2);U=E*Math.sin(X*Math.PI/2)+C;L=0;for(X=Y.length;L<X;L++)ea=g(Y[L],x[L],U),m(ea.x,ea.y,K+ka);ja=0;for(Q=O.length;ja<Q;ja++)for(S=O[ja],da=F[ja],L=0,X=S.length;L<X;L++)ea=g(S[L],da[L],U),I?m(ea.x,ea.y+M[G-1].y,M[G-1].x+ka):m(ea.x,ea.y,K+ka)}if(c&&3==c.length)for(K=c[0],z=c[1], +c=c[2],E=K.length,C=y.length/2,M=0;M<E-1;M++)y[3*M+2]=K[M].z,I=K[M],N=z[M],R=(new THREE.Vector3(N.x-I.x,N.y-I.y,N.z-I.z)).normalize().multiplyScalar(c),N.addVectors(I,R),y[3*M+C]=N.x,y[3*M+C+1]=N.y,y[3*M+C+2]=N.z;(function(){var a=e.length/3;if(B){var b=0*aa;for(L=0;L<fa;L++)W=Z[L],k(W[2]+b,W[1]+b,W[0]+b);b=aa*(G+2*D);for(L=0;L<fa;L++)W=Z[L],k(W[0]+b,W[1]+b,W[2]+b)}else{for(L=0;L<fa;L++)W=Z[L],k(W[2],W[1],W[0]);for(L=0;L<fa;L++)W=Z[L],k(W[0]+aa*G,W[1]+aa*G,W[2]+aa*G)}d.addGroup(a,e.length/3-a,0)})(); +(function(){var a=e.length/3,b=0;l(Y,b);b+=Y.length;ja=0;for(Q=O.length;ja<Q;ja++)S=O[ja],l(S,b),b+=S.length;d.addGroup(a,e.length/3-a,1)})()}D.call(this);this.type="ExtrudeBufferGeometry";this.uData=b.uData;this.parameters={shapes:a,options:b};a=Array.isArray(a)?a:[a];for(var d=this,e=[],f=[],g=0,h=a.length;g<h;g++)c(a[g],this.uData);this.addAttribute("position",new z(e,3));this.addAttribute("uv",new z(f,2));this.computeVertexNormals()}function Xh(a,b,c){c.shapes=[];if(Array.isArray(a))for(var d= +0,e=a.length;d<e;d++)c.shapes.push(a[d].uuid);else c.shapes.push(a.uuid);void 0!==b.extrudePath&&(c.options.extrudePath=b.extrudePath.toJSON());return c}function fe(a,b){M.call(this);this.type="TextGeometry";this.parameters={text:a,parameters:b};this.fromBufferGeometry(new Xc(a,b));this.mergeVertices()}function Xc(a,b){b=b||{};var c=b.font;if(!c||!c.isFont)return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new M;a=c.generateShapes(a,b.size);b.depth=void 0!== +b.height?b.height:50;void 0===b.bevelThickness&&(b.bevelThickness=10);void 0===b.bevelSize&&(b.bevelSize=8);void 0===b.bevelEnabled&&(b.bevelEnabled=!1);fb.call(this,a,b);this.type="TextBufferGeometry"}function ge(a,b,c,d,e,f,g){M.call(this);this.type="SphereGeometry";this.parameters={radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};this.fromBufferGeometry(new Jb(a,b,c,d,e,f,g));this.mergeVertices()}function Jb(a,b,c,d,e,f,g){D.call(this);this.type="SphereBufferGeometry"; +this.parameters={radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};a=a||1;b=Math.max(3,Math.floor(b)||8);c=Math.max(2,Math.floor(c)||6);d=void 0!==d?d:0;e=void 0!==e?e:2*Math.PI;f=void 0!==f?f:0;g=void 0!==g?g:Math.PI;var h=Math.min(f+g,Math.PI),l,m,q=0,k=[],r=new n,t=new n,p=[],v=[],w=[],y=[];for(m=0;m<=c;m++){var x=[],G=m/c,K=0;0==m&&0==f?K=.5/b:m==c&&h==Math.PI&&(K=-.5/b);for(l=0;l<=b;l++){var B=l/b;r.x=-a*Math.cos(d+B*e)*Math.sin(f+G*g);r.y=a*Math.cos(f+ +G*g);r.z=a*Math.sin(d+B*e)*Math.sin(f+G*g);v.push(r.x,r.y,r.z);t.copy(r).normalize();w.push(t.x,t.y,t.z);y.push(B+K,1-G);x.push(q++)}k.push(x)}for(m=0;m<c;m++)for(l=0;l<b;l++)a=k[m][l+1],d=k[m][l],e=k[m+1][l],g=k[m+1][l+1],(0!==m||0<f)&&p.push(a,d,g),(m!==c-1||h<Math.PI)&&p.push(d,e,g);this.setIndex(p);this.addAttribute("position",new z(v,3));this.addAttribute("normal",new z(w,3));this.addAttribute("uv",new z(y,2))}function he(a,b,c,d,e,f){M.call(this);this.type="RingGeometry";this.parameters={innerRadius:a, +outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};this.fromBufferGeometry(new Yc(a,b,c,d,e,f));this.mergeVertices()}function Yc(a,b,c,d,e,f){D.call(this);this.type="RingBufferGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};a=a||.5;b=b||1;e=void 0!==e?e:0;f=void 0!==f?f:2*Math.PI;c=void 0!==c?Math.max(3,c):8;d=void 0!==d?Math.max(1,d):1;var g=[],h=[],l=[],m=[],q=a,k=(b-a)/d,r=new n,t=new A,p,v;for(p=0;p<=d;p++){for(v= +0;v<=c;v++)a=e+v/c*f,r.x=q*Math.cos(a),r.y=q*Math.sin(a),h.push(r.x,r.y,r.z),l.push(0,0,1),t.x=(r.x/b+1)/2,t.y=(r.y/b+1)/2,m.push(t.x,t.y);q+=k}for(p=0;p<d;p++)for(b=p*(c+1),v=0;v<c;v++)a=v+b,e=a+c+1,f=a+c+2,q=a+1,g.push(a,e,q),g.push(e,f,q);this.setIndex(g);this.addAttribute("position",new z(h,3));this.addAttribute("normal",new z(l,3));this.addAttribute("uv",new z(m,2))}function ie(a,b,c,d){M.call(this);this.type="LatheGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};this.fromBufferGeometry(new Zc(a, +b,c,d));this.mergeVertices()}function Zc(a,b,c,d){D.call(this);this.type="LatheBufferGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};b=Math.floor(b)||12;c=c||0;d=d||2*Math.PI;d=Q.clamp(d,0,2*Math.PI);var e=[],f=[],g=[],h=1/b,l=new n,m=new A,q;for(q=0;q<=b;q++){var k=c+q*h*d;var r=Math.sin(k),t=Math.cos(k);for(k=0;k<=a.length-1;k++)l.x=a[k].x*r,l.y=a[k].y,l.z=a[k].x*t,f.push(l.x,l.y,l.z),m.x=q/b,m.y=k/(a.length-1),g.push(m.x,m.y)}for(q=0;q<b;q++)for(k=0;k<a.length-1;k++)c=k+ +q*a.length,h=c+a.length,l=c+a.length+1,m=c+1,e.push(c,h,m),e.push(h,l,m);this.setIndex(e);this.addAttribute("position",new z(f,3));this.addAttribute("uv",new z(g,2));this.computeVertexNormals();if(d===2*Math.PI)for(d=this.attributes.normal.array,e=new n,f=new n,g=new n,c=b*a.length*3,k=q=0;q<a.length;q++,k+=3)e.x=d[k+0],e.y=d[k+1],e.z=d[k+2],f.x=d[c+k+0],f.y=d[c+k+1],f.z=d[c+k+2],g.addVectors(e,f).normalize(),d[k+0]=d[c+k+0]=g.x,d[k+1]=d[c+k+1]=g.y,d[k+2]=d[c+k+2]=g.z}function hc(a,b){M.call(this); +this.type="ShapeGeometry";"object"===typeof b&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),b=b.curveSegments);this.parameters={shapes:a,curveSegments:b};this.fromBufferGeometry(new ic(a,b));this.mergeVertices()}function ic(a,b){function c(a){var c,h=e.length/3;a=a.extractPoints(b);var m=a.shape,k=a.holes;!1===qb.isClockWise(m)&&(m=m.reverse());a=0;for(c=k.length;a<c;a++){var q=k[a];!0===qb.isClockWise(q)&&(k[a]=q.reverse())}var n=qb.triangulateShape(m,k);a=0;for(c=k.length;a< +c;a++)q=k[a],m=m.concat(q);a=0;for(c=m.length;a<c;a++)q=m[a],e.push(q.x,q.y,0),f.push(0,0,1),g.push(q.x,q.y);a=0;for(c=n.length;a<c;a++)m=n[a],d.push(m[0]+h,m[1]+h,m[2]+h),l+=3}D.call(this);this.type="ShapeBufferGeometry";this.parameters={shapes:a,curveSegments:b};b=b||12;var d=[],e=[],f=[],g=[],h=0,l=0;if(!1===Array.isArray(a))c(a);else for(var m=0;m<a.length;m++)c(a[m]),this.addGroup(h,l,m),h+=l,l=0;this.setIndex(d);this.addAttribute("position",new z(e,3));this.addAttribute("normal",new z(f,3)); +this.addAttribute("uv",new z(g,2))}function Yh(a,b){b.shapes=[];if(Array.isArray(a))for(var c=0,d=a.length;c<d;c++)b.shapes.push(a[c].uuid);else b.shapes.push(a.uuid);return b}function $c(a,b){D.call(this);this.type="EdgesGeometry";this.parameters={thresholdAngle:b};var c=[];b=Math.cos(Q.DEG2RAD*(void 0!==b?b:1));var d=[0,0],e={},f=["a","b","c"];if(a.isBufferGeometry){var g=new M;g.fromBufferGeometry(a)}else g=a.clone();g.mergeVertices();g.computeFaceNormals();a=g.vertices;g=g.faces;for(var h=0,l= +g.length;h<l;h++)for(var m=g[h],k=0;3>k;k++){var u=m[f[k]];var n=m[f[(k+1)%3]];d[0]=Math.min(u,n);d[1]=Math.max(u,n);u=d[0]+","+d[1];void 0===e[u]?e[u]={index1:d[0],index2:d[1],face1:h,face2:void 0}:e[u].face2=h}for(u in e)if(d=e[u],void 0===d.face2||g[d.face1].normal.dot(g[d.face2].normal)<=b)f=a[d.index1],c.push(f.x,f.y,f.z),f=a[d.index2],c.push(f.x,f.y,f.z);this.addAttribute("position",new z(c,3))}function jc(a,b,c,d,e,f,g,h){M.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a, +radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new rb(a,b,c,d,e,f,g,h));this.mergeVertices()}function rb(a,b,c,d,e,f,g,h){function l(c){var e,f=new A,l=new n,q=0,v=!0===c?a:b,x=!0===c?1:-1;var z=p;for(e=1;e<=d;e++)u.push(0,w*x,0),r.push(0,x,0),t.push(.5,.5),p++;var F=p;for(e=0;e<=d;e++){var C=e/d*h+g,E=Math.cos(C);C=Math.sin(C);l.x=v*C;l.y=w*x;l.z=v*E;u.push(l.x,l.y,l.z);r.push(0,x,0);f.x=.5*E+.5;f.y=.5*C*x+.5;t.push(f.x,f.y); +p++}for(e=0;e<d;e++)f=z+e,l=F+e,!0===c?k.push(l,l+1,f):k.push(l+1,l,f),q+=3;m.addGroup(y,q,!0===c?1:2);y+=q}D.call(this);this.type="CylinderBufferGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};var m=this;a=void 0!==a?a:1;b=void 0!==b?b:1;c=c||1;d=Math.floor(d)||8;e=Math.floor(e)||1;f=void 0!==f?f:!1;g=void 0!==g?g:0;h=void 0!==h?h:2*Math.PI;var k=[],u=[],r=[],t=[],p=0,v=[],w=c/2,y=0;(function(){var f,l,q=new n, +B=new n,A=0,z=(b-a)/c;for(l=0;l<=e;l++){var C=[],E=l/e,F=E*(b-a)+a;for(f=0;f<=d;f++){var D=f/d,H=D*h+g,I=Math.sin(H);H=Math.cos(H);B.x=F*I;B.y=-E*c+w;B.z=F*H;u.push(B.x,B.y,B.z);q.set(I,z,H).normalize();r.push(q.x,q.y,q.z);t.push(D,1-E);C.push(p++)}v.push(C)}for(f=0;f<d;f++)for(l=0;l<e;l++)q=v[l+1][f],B=v[l+1][f+1],z=v[l][f+1],k.push(v[l][f],q,z),k.push(q,B,z),A+=6;m.addGroup(y,A,0);y+=A})();!1===f&&(0<a&&l(!0),0<b&&l(!1));this.setIndex(k);this.addAttribute("position",new z(u,3));this.addAttribute("normal", +new z(r,3));this.addAttribute("uv",new z(t,2))}function je(a,b,c,d,e,f,g){jc.call(this,0,a,b,c,d,e,f,g);this.type="ConeGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function ke(a,b,c,d,e,f,g){rb.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function le(a,b,c,d){M.call(this);this.type="CircleGeometry";this.parameters= +{radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new ad(a,b,c,d));this.mergeVertices()}function ad(a,b,c,d){D.call(this);this.type="CircleBufferGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};a=a||1;b=void 0!==b?Math.max(3,b):8;c=void 0!==c?c:0;d=void 0!==d?d:2*Math.PI;var e=[],f=[],g=[],h=[],l,m=new n,k=new A;f.push(0,0,0);g.push(0,0,1);h.push(.5,.5);var u=0;for(l=3;u<=b;u++,l+=3){var r=c+u/b*d;m.x=a*Math.cos(r);m.y=a*Math.sin(r);f.push(m.x,m.y, +m.z);g.push(0,0,1);k.x=(f[l]/a+1)/2;k.y=(f[l+1]/a+1)/2;h.push(k.x,k.y)}for(l=1;l<=b;l++)e.push(l,l+1,0);this.setIndex(e);this.addAttribute("position",new z(f,3));this.addAttribute("normal",new z(g,3));this.addAttribute("uv",new z(h,2))}function kc(a){N.call(this);this.type="ShadowMaterial";this.color=new E(0);this.transparent=!0;this.setValues(a)}function bd(a){na.call(this,a);this.type="RawShaderMaterial"}function gb(a){N.call(this);this.defines={STANDARD:""};this.type="MeshStandardMaterial";this.color= +new E(16777215);this.metalness=this.roughness=.5;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new E(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=0;this.normalScale=new A(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.envMap=this.alphaMap=this.metalnessMap=this.roughnessMap=null;this.envMapIntensity=1;this.refractionRatio=.98;this.wireframe= +!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)}function lc(a){gb.call(this);this.defines={STANDARD:"",PHYSICAL:""};this.type="MeshPhysicalMaterial";this.reflectivity=.5;this.clearcoatRoughness=this.clearcoat=0;this.sheen=null;this.clearcoatNormalScale=new A(1,1);this.clearcoatNormalMap=null;this.transparency=0;this.setValues(a)}function Sa(a){N.call(this);this.type="MeshPhongMaterial";this.color= +new E(16777215);this.specular=new E(1118481);this.shininess=30;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new E(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=0;this.normalScale=new A(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.envMap=this.alphaMap=this.specularMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio= +.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)}function mc(a){Sa.call(this);this.defines={TOON:""};this.type="MeshToonMaterial";this.gradientMap=null;this.setValues(a)}function nc(a){N.call(this);this.type="MeshNormalMaterial";this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=0;this.normalScale=new A(1,1);this.displacementMap=null;this.displacementScale= +1;this.displacementBias=0;this.wireframe=!1;this.wireframeLinewidth=1;this.morphNormals=this.morphTargets=this.skinning=this.fog=!1;this.setValues(a)}function oc(a){N.call(this);this.type="MeshLambertMaterial";this.color=new E(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new E(0);this.emissiveIntensity=1;this.envMap=this.alphaMap=this.specularMap=this.emissiveMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98; +this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)}function pc(a){N.call(this);this.defines={MATCAP:""};this.type="MeshMatcapMaterial";this.color=new E(16777215);this.bumpMap=this.map=this.matcap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=0;this.normalScale=new A(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.alphaMap=null;this.morphNormals= +this.morphTargets=this.skinning=!1;this.setValues(a)}function qc(a){S.call(this);this.type="LineDashedMaterial";this.scale=1;this.dashSize=3;this.gapSize=1;this.setValues(a)}function Ka(a,b,c,d){this.parameterPositions=a;this._cachedIndex=0;this.resultBuffer=void 0!==d?d:new b.constructor(c);this.sampleValues=b;this.valueSize=c}function Qe(a,b,c,d){Ka.call(this,a,b,c,d);this._offsetNext=this._weightNext=this._offsetPrev=this._weightPrev=-0}function me(a,b,c,d){Ka.call(this,a,b,c,d)}function Re(a, +b,c,d){Ka.call(this,a,b,c,d)}function pa(a,b,c,d){if(void 0===a)throw Error("THREE.KeyframeTrack: track name is undefined");if(void 0===b||0===b.length)throw Error("THREE.KeyframeTrack: no keyframes in track named "+a);this.name=a;this.times=qa.convertArray(b,this.TimeBufferType);this.values=qa.convertArray(c,this.ValueBufferType);this.setInterpolation(d||this.DefaultInterpolation)}function Se(a,b,c){pa.call(this,a,b,c)}function Te(a,b,c,d){pa.call(this,a,b,c,d)}function cd(a,b,c,d){pa.call(this, +a,b,c,d)}function Ue(a,b,c,d){Ka.call(this,a,b,c,d)}function ne(a,b,c,d){pa.call(this,a,b,c,d)}function Ve(a,b,c,d){pa.call(this,a,b,c,d)}function dd(a,b,c,d){pa.call(this,a,b,c,d)}function Oa(a,b,c){this.name=a;this.tracks=c;this.duration=void 0!==b?b:-1;this.uuid=Q.generateUUID();0>this.duration&&this.resetDuration()}function qk(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return cd;case "vector":case "vector2":case "vector3":case "vector4":return dd; +case "color":return Te;case "quaternion":return ne;case "bool":case "boolean":return Se;case "string":return Ve}throw Error("THREE.KeyframeTrack: Unsupported typeName: "+a);}function rk(a){if(void 0===a.type)throw Error("THREE.KeyframeTrack: track type undefined, can not parse");var b=qk(a.type);if(void 0===a.times){var c=[],d=[];qa.flattenJSON(a.keys,c,d,"value");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)}function pg(a,b,c){var d=this,e= +!1,f=0,g=0,h=void 0,l=[];this.onStart=void 0;this.onLoad=a;this.onProgress=b;this.onError=c;this.itemStart=function(a){g++;if(!1===e&&void 0!==d.onStart)d.onStart(a,f,g);e=!0};this.itemEnd=function(a){f++;if(void 0!==d.onProgress)d.onProgress(a,f,g);if(f===g&&(e=!1,void 0!==d.onLoad))d.onLoad()};this.itemError=function(a){if(void 0!==d.onError)d.onError(a)};this.resolveURL=function(a){return h?h(a):a};this.setURLModifier=function(a){h=a;return this};this.addHandler=function(a,b){l.push(a,b);return this}; +this.removeHandler=function(a){a=l.indexOf(a);-1!==a&&l.splice(a,2);return this};this.getHandler=function(a){for(var b=0,c=l.length;b<c;b+=2){var d=l[b+1];if(l[b].test(a))return d}return null}}function Z(a){this.manager=void 0!==a?a:Zh;this.crossOrigin="anonymous";this.resourcePath=this.path=""}function Pa(a){Z.call(this,a)}function qg(a){Z.call(this,a)}function rg(a){Z.call(this,a)}function We(a){Z.call(this,a)}function ed(a){Z.call(this,a)}function Xe(a){Z.call(this,a)}function Ye(a){Z.call(this, +a)}function C(){this.type="Curve";this.arcLengthDivisions=200}function La(a,b,c,d,e,f,g,h){C.call(this);this.type="EllipseCurve";this.aX=a||0;this.aY=b||0;this.xRadius=c||1;this.yRadius=d||1;this.aStartAngle=e||0;this.aEndAngle=f||2*Math.PI;this.aClockwise=g||!1;this.aRotation=h||0}function fd(a,b,c,d,e,f){La.call(this,a,b,c,c,d,e,f);this.type="ArcCurve"}function sg(){var a=0,b=0,c=0,d=0;return{initCatmullRom:function(e,f,g,h,l){e=l*(g-e);h=l*(h-f);a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},initNonuniformCatmullRom:function(e, +f,g,h,l,m,k){e=((f-e)/l-(g-e)/(l+m)+(g-f)/m)*m;h=((g-f)/m-(h-f)/(m+k)+(h-g)/k)*m;a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},calc:function(e){var f=e*e;return a+b*e+c*f+d*f*e}}}function za(a,b,c,d){C.call(this);this.type="CatmullRomCurve3";this.points=a||[];this.closed=b||!1;this.curveType=c||"centripetal";this.tension=d||.5}function $h(a,b,c,d,e){b=.5*(d-b);e=.5*(e-c);var f=a*a;return(2*c-2*d+b+e)*a*f+(-3*c+3*d-2*b-e)*f+b*a+c}function oe(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}function pe(a, +b,c,d,e){var f=1-a,g=1-a;return f*f*f*b+3*g*g*a*c+3*(1-a)*a*a*d+a*a*a*e}function Ta(a,b,c,d){C.call(this);this.type="CubicBezierCurve";this.v0=a||new A;this.v1=b||new A;this.v2=c||new A;this.v3=d||new A}function hb(a,b,c,d){C.call(this);this.type="CubicBezierCurve3";this.v0=a||new n;this.v1=b||new n;this.v2=c||new n;this.v3=d||new n}function Aa(a,b){C.call(this);this.type="LineCurve";this.v1=a||new A;this.v2=b||new A}function Ua(a,b){C.call(this);this.type="LineCurve3";this.v1=a||new n;this.v2=b|| +new n}function Va(a,b,c){C.call(this);this.type="QuadraticBezierCurve";this.v0=a||new A;this.v1=b||new A;this.v2=c||new A}function ib(a,b,c){C.call(this);this.type="QuadraticBezierCurve3";this.v0=a||new n;this.v1=b||new n;this.v2=c||new n}function Wa(a){C.call(this);this.type="SplineCurve";this.points=a||[]}function sb(){C.call(this);this.type="CurvePath";this.curves=[];this.autoClose=!1}function Xa(a){sb.call(this);this.type="Path";this.currentPoint=new A;a&&this.setFromPoints(a)}function Kb(a){Xa.call(this, +a);this.uuid=Q.generateUUID();this.type="Shape";this.holes=[]}function fa(a,b){H.call(this);this.type="Light";this.color=new E(a);this.intensity=void 0!==b?b:1;this.receiveShadow=void 0}function Ze(a,b,c){fa.call(this,a,c);this.type="HemisphereLight";this.castShadow=void 0;this.position.copy(H.DefaultUp);this.updateMatrix();this.groundColor=new E(b)}function jb(a){this.camera=a;this.bias=0;this.radius=1;this.mapSize=new A(512,512);this.mapPass=this.map=null;this.matrix=new O;this._frustum=new Hd; +this._frameExtents=new A(1,1);this._viewportCount=1;this._viewports=[new W(0,0,1,1)]}function $e(){jb.call(this,new oa(50,1,.5,500))}function af(a,b,c,d,e,f){fa.call(this,a,b);this.type="SpotLight";this.position.copy(H.DefaultUp);this.updateMatrix();this.target=new H;Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(a){this.intensity=a/Math.PI}});this.distance=void 0!==c?c:0;this.angle=void 0!==d?d:Math.PI/3;this.penumbra=void 0!==e?e:0;this.decay=void 0!== +f?f:1;this.shadow=new $e}function tg(){jb.call(this,new oa(90,1,.5,500));this._frameExtents=new A(4,2);this._viewportCount=6;this._viewports=[new W(2,1,1,1),new W(0,1,1,1),new W(3,1,1,1),new W(1,1,1,1),new W(3,0,1,1),new W(1,0,1,1)];this._cubeDirections=[new n(1,0,0),new n(-1,0,0),new n(0,0,1),new n(0,0,-1),new n(0,1,0),new n(0,-1,0)];this._cubeUps=[new n(0,1,0),new n(0,1,0),new n(0,1,0),new n(0,1,0),new n(0,0,1),new n(0,0,-1)]}function bf(a,b,c,d){fa.call(this,a,b);this.type="PointLight";Object.defineProperty(this, +"power",{get:function(){return 4*this.intensity*Math.PI},set:function(a){this.intensity=a/(4*Math.PI)}});this.distance=void 0!==c?c:0;this.decay=void 0!==d?d:1;this.shadow=new tg}function qe(a,b,c,d,e,f){cb.call(this);this.type="OrthographicCamera";this.zoom=1;this.view=null;this.left=void 0!==a?a:-1;this.right=void 0!==b?b:1;this.top=void 0!==c?c:1;this.bottom=void 0!==d?d:-1;this.near=void 0!==e?e:.1;this.far=void 0!==f?f:2E3;this.updateProjectionMatrix()}function cf(){jb.call(this,new qe(-5,5, +5,-5,.5,500))}function df(a,b){fa.call(this,a,b);this.type="DirectionalLight";this.position.copy(H.DefaultUp);this.updateMatrix();this.target=new H;this.shadow=new cf}function ef(a,b){fa.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function ff(a,b,c,d){fa.call(this,a,b);this.type="RectAreaLight";this.width=void 0!==c?c:10;this.height=void 0!==d?d:10}function gf(a){Z.call(this,a);this.textures={}}function hf(){D.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount= +void 0}function jf(a,b,c,d){"number"===typeof c&&(d=c,c=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument."));P.call(this,a,b,c);this.meshPerAttribute=d||1}function kf(a){Z.call(this,a)}function lf(a){Z.call(this,a)}function ug(a){"undefined"===typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported.");"undefined"===typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported.");Z.call(this, +a);this.options=void 0}function vg(){this.type="ShapePath";this.color=new E;this.subPaths=[];this.currentPath=null}function wg(a){this.type="Font";this.data=a}function xg(a){Z.call(this,a)}function mf(a){Z.call(this,a)}function nf(){this.coefficients=[];for(var a=0;9>a;a++)this.coefficients.push(new n)}function Ya(a,b){fa.call(this,void 0,b);this.sh=void 0!==a?a:new nf}function yg(a,b,c){Ya.call(this,void 0,c);a=(new E).set(a);c=(new E).set(b);b=new n(a.r,a.g,a.b);a=new n(c.r,c.g,c.b);c=Math.sqrt(Math.PI); +var d=c*Math.sqrt(.75);this.sh.coefficients[0].copy(b).add(a).multiplyScalar(c);this.sh.coefficients[1].copy(b).sub(a).multiplyScalar(d)}function zg(a,b){Ya.call(this,void 0,b);a=(new E).set(a);this.sh.coefficients[0].set(a.r,a.g,a.b).multiplyScalar(2*Math.sqrt(Math.PI))}function ai(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new oa;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new oa;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate= +!1;this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}function Ag(a){this.autoStart=void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function Bg(){H.call(this);this.type="AudioListener";this.context=Cg.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null;this.timeDelta=0;this._clock=new Ag}function gd(a){H.call(this);this.type="Audio";this.listener=a;this.context=a.context;this.gain= +this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.buffer=null;this.detune=0;this.loop=!1;this.offset=this.startTime=0;this.duration=void 0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=[]}function Dg(a){gd.call(this,a);this.panner=this.context.createPanner();this.panner.panningModel="HRTF";this.panner.connect(this.gain)}function Eg(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b: +2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function Fg(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b=this._slerp;break;case "string":case "bool":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function bi(a,b,c){c=c||Ba.parseTrackName(b);this._targetGroup=a;this._bindings=a.subscribe_(b,c)}function Ba(a, +b,c){this.path=b;this.parsedPath=c||Ba.parseTrackName(b);this.node=Ba.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function ci(){this.uuid=Q.generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;var a={};this._indicesByUUID=a;for(var b=0,c=arguments.length;b!==c;++b)a[arguments[b].uuid]=b;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var d=this;this.stats={objects:{get total(){return d._objects.length},get inUse(){return this.total- +d.nCachedObjects_}},get bindingsPerObject(){return d._bindings.length}}}function di(a,b,c){this._mixer=a;this._clip=b;this._localRoot=c||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400,endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime= +null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;this.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd=this.zeroSlopeAtStart=!0}function Gg(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function of(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function Hg(a,b,c){Hb.call(this,a,b);this.meshPerAttribute= +c||1}function ei(a,b,c,d){this.ray=new Tb(a,b);this.near=c||0;this.far=d||Infinity;this.camera=null;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}function fi(a,b){return a.distance-b.distance}function Ig(a,b,c,d){if(!1!==a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e=a.length;d<e;d++)Ig(a[d], +b,c,!0)}}function gi(a,b,c){this.radius=void 0!==a?a:1;this.phi=void 0!==b?b:0;this.theta=void 0!==c?c:0;return this}function hi(a,b,c){this.radius=void 0!==a?a:1;this.theta=void 0!==b?b:0;this.y=void 0!==c?c:0;return this}function Jg(a,b){this.min=void 0!==a?a:new A(Infinity,Infinity);this.max=void 0!==b?b:new A(-Infinity,-Infinity)}function Kg(a,b){this.start=void 0!==a?a:new n;this.end=void 0!==b?b:new n}function re(a){H.call(this);this.material=a;this.render=function(){}}function se(a,b,c,d){this.object= +a;this.size=void 0!==b?b:1;a=void 0!==c?c:16711680;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=3*c.faces.length:c&&c.isBufferGeometry&&(b=c.attributes.normal.count);c=new D;b=new z(6*b,3);c.addAttribute("position",b);U.call(this,c,new S({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function hd(a,b){H.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.color=b;a=new D;b=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0, +1,0,0,0,0,1,1,0,0,0,0,-1,1];for(var c=0,d=1;32>c;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new z(b,3));b=new S({fog:!1});this.cone=new U(a,b);this.add(this.cone);this.update()}function ii(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;c<a.children.length;c++)b.push.apply(b,ii(a.children[c]));return b}function id(a){for(var b=ii(a),c=new D,d=[],e=[],f=new E(0,0,1),g=new E(0,1,0),h=0;h<b.length;h++){var l=b[h]; +l.parent&&l.parent.isBone&&(d.push(0,0,0),d.push(0,0,0),e.push(f.r,f.g,f.b),e.push(g.r,g.g,g.b))}c.addAttribute("position",new z(d,3));c.addAttribute("color",new z(e,3));d=new S({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});U.call(this,c,d);this.root=a;this.bones=b;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1}function jd(a,b,c){this.light=a;this.light.updateMatrixWorld();this.color=c;a=new Jb(b,4,2);b=new Ia({wireframe:!0,fog:!1});da.call(this,a,b);this.matrix=this.light.matrixWorld; +this.matrixAutoUpdate=!1;this.update()}function kd(a,b){this.type="RectAreaLightHelper";this.light=a;this.color=b;a=new D;a.addAttribute("position",new z([1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],3));a.computeBoundingSphere();b=new S({fog:!1});ya.call(this,a,b);a=new D;a.addAttribute("position",new z([1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],3));a.computeBoundingSphere();this.add(new da(a,new Ia({side:1,fog:!1})));this.update()}function ld(a,b,c){H.call(this);this.light=a;this.light.updateMatrixWorld(); +this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.color=c;a=new dc(b);a.rotateY(.5*Math.PI);this.material=new Ia({wireframe:!0,fog:!1});void 0===this.color&&(this.material.vertexColors=2);b=a.getAttribute("position");b=new Float32Array(3*b.count);a.addAttribute("color",new P(b,3));this.add(new da(a,this.material));this.update()}function md(a,b){this.lightProbe=a;this.size=b;a=new na({defines:{GAMMA_OUTPUT:""},uniforms:{sh:{value:this.lightProbe.sh.coefficients},intensity:{value:this.lightProbe.intensity}}, +vertexShader:"varying vec3 vNormal;\nvoid main() {\n\tvNormal = normalize( normalMatrix * normal );\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"#define RECIPROCAL_PI 0.318309886\nvec3 inverseTransformDirection( in vec3 normal, in mat4 matrix ) {\n\t// matrix is assumed to be orthogonal\n\treturn normalize( ( vec4( normal, 0.0 ) * matrix ).xyz );\n}\nvec3 linearToOutput( in vec3 a ) {\n\t#ifdef GAMMA_OUTPUT\n\t\treturn pow( a, vec3( 1.0 / float( GAMMA_FACTOR ) ) );\n\t#else\n\t\treturn a;\n\t#endif\n}\n// source: https://graphics.stanford.edu/papers/envmap/envmap.pdf\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\t// normal is assumed to have unit length\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\t// band 0\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\t// band 1\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\t// band 2\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nuniform vec3 sh[ 9 ]; // sh coefficients\nuniform float intensity; // light probe intensity\nvarying vec3 vNormal;\nvoid main() {\n\tvec3 normal = normalize( vNormal );\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, sh );\n\tvec3 outgoingLight = RECIPROCAL_PI * irradiance * intensity;\n\toutgoingLight = linearToOutput( outgoingLight );\n\tgl_FragColor = vec4( outgoingLight, 1.0 );\n}"}); +b=new Jb(1,32,16);da.call(this,b,a);this.onBeforeRender()}function pf(a,b,c,d){a=a||10;b=b||10;c=new E(void 0!==c?c:4473924);d=new E(void 0!==d?d:8947848);var e=b/2,f=a/b,g=a/2;a=[];for(var h=[],l=0,m=0,k=-g;l<=b;l++,k+=f){a.push(-g,0,k,g,0,k);a.push(k,0,-g,k,0,g);var n=l===e?c:d;n.toArray(h,m);m+=3;n.toArray(h,m);m+=3;n.toArray(h,m);m+=3;n.toArray(h,m);m+=3}b=new D;b.addAttribute("position",new z(a,3));b.addAttribute("color",new z(h,3));c=new S({vertexColors:2});U.call(this,b,c)}function qf(a,b, +c,d,e,f){a=a||10;b=b||16;c=c||8;d=d||64;e=new E(void 0!==e?e:4473924);f=new E(void 0!==f?f:8947848);var g=[],h=[],l;for(l=0;l<=b;l++){var m=l/b*2*Math.PI;var k=Math.sin(m)*a;m=Math.cos(m)*a;g.push(0,0,0);g.push(k,0,m);var n=l&1?e:f;h.push(n.r,n.g,n.b);h.push(n.r,n.g,n.b)}for(l=0;l<=c;l++){n=l&1?e:f;var r=a-a/c*l;for(b=0;b<d;b++)m=b/d*2*Math.PI,k=Math.sin(m)*r,m=Math.cos(m)*r,g.push(k,0,m),h.push(n.r,n.g,n.b),m=(b+1)/d*2*Math.PI,k=Math.sin(m)*r,m=Math.cos(m)*r,g.push(k,0,m),h.push(n.r,n.g,n.b)}a=new D; +a.addAttribute("position",new z(g,3));a.addAttribute("color",new z(h,3));g=new S({vertexColors:2});U.call(this,a,g)}function nd(a,b,c,d){this.audio=a;this.range=b||1;this.divisionsInnerAngle=c||16;this.divisionsOuterAngle=d||2;a=new D;b=new Float32Array(3*(3*(this.divisionsInnerAngle+2*this.divisionsOuterAngle)+3));a.addAttribute("position",new P(b,3));b=new S({color:65280});c=new S({color:16776960});ya.call(this,a,[c,b]);this.update()}function te(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a= +void 0!==c?c:16776960;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=c.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");c=new D;b=new z(6*b,3);c.addAttribute("position",b);U.call(this,c,new S({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function od(a,b,c){H.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.color=c;void 0===b&& +(b=1);a=new D;a.addAttribute("position",new z([-b,b,0,b,b,0,b,-b,0,-b,-b,0,-b,b,0],3));b=new S({fog:!1});this.lightPlane=new ya(a,b);this.add(this.lightPlane);a=new D;a.addAttribute("position",new z([0,0,0,0,0,1],3));this.targetLine=new ya(a,b);this.add(this.targetLine);this.update()}function ue(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){f.push(0,0,0);g.push(b.r,b.g,b.b);void 0===h[a]&&(h[a]=[]);h[a].push(f.length/3-1)}var d=new D,e=new S({color:16777215,vertexColors:1}),f=[],g=[],h={},l= +new E(16755200),m=new E(16711680),k=new E(43775),n=new E(16777215),r=new E(3355443);b("n1","n2",l);b("n2","n4",l);b("n4","n3",l);b("n3","n1",l);b("f1","f2",l);b("f2","f4",l);b("f4","f3",l);b("f3","f1",l);b("n1","f1",l);b("n2","f2",l);b("n3","f3",l);b("n4","f4",l);b("p","n1",m);b("p","n2",m);b("p","n3",m);b("p","n4",m);b("u1","u2",k);b("u2","u3",k);b("u3","u1",k);b("c","t",n);b("p","c",r);b("cn1","cn2",r);b("cn3","cn4",r);b("cf1","cf2",r);b("cf3","cf4",r);d.addAttribute("position",new z(f,3));d.addAttribute("color", +new z(g,3));U.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=h;this.update()}function ra(a,b,c,d,e,f,g){rf.set(e,f,g).unproject(d);a=b[a];if(void 0!==a)for(c=c.getAttribute("position"),b=0,d=a.length;b<d;b++)c.setXYZ(a[b],rf.x,rf.y,rf.z)}function tb(a,b){this.object=a;void 0===b&&(b=16776960);a=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);var c=new Float32Array(24), +d=new D;d.setIndex(new P(a,1));d.addAttribute("position",new P(c,3));U.call(this,d,new S({color:b}));this.matrixAutoUpdate=!1;this.update()}function ve(a,b){this.type="Box3Helper";this.box=a;b=b||16776960;a=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);var c=new D;c.setIndex(new P(a,1));c.addAttribute("position",new z([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3));U.call(this,c,new S({color:b}));this.geometry.computeBoundingSphere()}function we(a,b,c){this.type= +"PlaneHelper";this.plane=a;this.size=void 0===b?1:b;a=void 0!==c?c:16776960;b=new D;b.addAttribute("position",new z([1,-1,1,-1,1,1,-1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,0,0,1,0,0,0],3));b.computeBoundingSphere();ya.call(this,b,new S({color:a}));b=new D;b.addAttribute("position",new z([1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],3));b.computeBoundingSphere();this.add(new da(b,new Ia({color:a,opacity:.2,transparent:!0,depthWrite:!1})))}function ub(a,b,c,d,e,f){H.call(this);void 0===a&&(a=new n(0, +0,1));void 0===b&&(b=new n(0,0,0));void 0===c&&(c=1);void 0===d&&(d=16776960);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);void 0===sf&&(sf=new D,sf.addAttribute("position",new z([0,0,0,0,1,0],3)),Lg=new rb(0,.5,1,5,1),Lg.translate(0,-.5,0));this.position.copy(b);this.line=new ya(sf,new S({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);this.cone=new da(Lg,new Ia({color:d}));this.cone.matrixAutoUpdate=!1;this.add(this.cone);this.setDirection(a);this.setLength(c,e,f)}function xe(a){a=a|| +1;var b=[0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a];a=new D;a.addAttribute("position",new z(b,3));a.addAttribute("color",new z([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));b=new S({vertexColors:2});U.call(this,a,b)}function ji(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");za.call(this,a);this.type="catmullrom";this.closed=!0}function ki(a){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");za.call(this,a);this.type= +"catmullrom"}function Mg(a){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.");za.call(this,a);this.type="catmullrom"}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52));void 0===Number.isInteger&&(Number.isInteger=function(a){return"number"===typeof a&&isFinite(a)&&Math.floor(a)===a});void 0===Math.sign&&(Math.sign=function(a){return 0>a?-1:0<a?1:+a});!1==="name"in Function.prototype&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}}); +void 0===Object.assign&&(Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var d=arguments[c];if(void 0!==d&&null!==d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(b[e]=d[e])}return b});Object.assign(Ca.prototype,{addEventListener:function(a,b){void 0===this._listeners&&(this._listeners={});var c=this._listeners;void 0===c[a]&&(c[a]=[]);-1===c[a].indexOf(b)&&c[a].push(b)}, +hasEventListener:function(a,b){if(void 0===this._listeners)return!1;var c=this._listeners;return void 0!==c[a]&&-1!==c[a].indexOf(b)},removeEventListener:function(a,b){void 0!==this._listeners&&(a=this._listeners[a],void 0!==a&&(b=a.indexOf(b),-1!==b&&a.splice(b,1)))},dispatchEvent:function(a){if(void 0!==this._listeners){var b=this._listeners[a.type];if(void 0!==b){a.target=this;b=b.slice(0);for(var c=0,d=b.length;c<d;c++)b[c].call(this,a)}}}});for(var wa=[],ye=0;256>ye;ye++)wa[ye]=(16>ye?"0":"")+ +ye.toString(16);var Q={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var a=4294967295*Math.random()|0,b=4294967295*Math.random()|0,c=4294967295*Math.random()|0,d=4294967295*Math.random()|0;return(wa[a&255]+wa[a>>8&255]+wa[a>>16&255]+wa[a>>24&255]+"-"+wa[b&255]+wa[b>>8&255]+"-"+wa[b>>16&15|64]+wa[b>>24&255]+"-"+wa[c&63|128]+wa[c>>8&255]+"-"+wa[c>>16&255]+wa[c>>24&255]+wa[d&255]+wa[d>>8&255]+wa[d>>16&255]+wa[d>>24&255]).toUpperCase()},clamp:function(a,b,c){return Math.max(b,Math.min(c, +a))},euclideanModulo:function(a,b){return(a%b+b)%b},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a* +(.5-Math.random())},degToRad:function(a){return a*Q.DEG2RAD},radToDeg:function(a){return a*Q.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},ceilPowerOfTwo:function(a){return Math.pow(2,Math.ceil(Math.log(a)/Math.LN2))},floorPowerOfTwo:function(a){return Math.pow(2,Math.floor(Math.log(a)/Math.LN2))}};Object.defineProperties(A.prototype,{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},set:function(a){this.y=a}}});Object.assign(A.prototype, +{isVector2:!0,set:function(a,b){this.x=a;this.y=b;return this},setScalar:function(a){this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x, +this.y)},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."), +this.subVectors(a,b);this.x-=a.x;this.y-=a.y;return this},subScalar:function(a){this.x-=a;this.y-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiply:function(a){this.x*=a.x;this.y*=a.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this},divide:function(a){this.x/=a.x;this.y/=a.y;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},applyMatrix3:function(a){var b=this.x,c=this.y;a=a.elements;this.x=a[0]*b+a[3]*c+a[6];this.y= +a[1]*b+a[4]*c+a[7];return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));return this},clampScalar:function(a,b){this.x=Math.max(a,Math.min(b,this.x));this.y=Math.max(a,Math.min(b,this.y));return this},clampLength:function(a,b){var c=this.length();return this.divideScalar(c|| +1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);return this},negate:function(){this.x=-this.x;this.y=-this.y;return this},dot:function(a){return this.x* +a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){var a=Math.atan2(this.y,this.x);0>a&&(a+=2*Math.PI);return a},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b= +this.x-a.x;a=this.y-a.y;return b*b+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];return this},toArray:function(a, +b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);return this},rotateAround:function(a,b){var c=Math.cos(b);b=Math.sin(b);var d=this.x-a.x,e=this.y-a.y;this.x=d*c-e*b+a.x;this.y=d*b+e*c+a.y;return this}});Object.assign(va,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h= +c[d+0],l=c[d+1],m=c[d+2];c=c[d+3];d=e[f+0];var k=e[f+1],n=e[f+2];e=e[f+3];if(c!==e||h!==d||l!==k||m!==n){f=1-g;var r=h*d+l*k+m*n+c*e,t=0<=r?1:-1,p=1-r*r;p>Number.EPSILON&&(p=Math.sqrt(p),r=Math.atan2(p,r*t),f=Math.sin(f*r)/p,g=Math.sin(g*r)/p);t*=g;h=h*f+d*t;l=l*f+k*t;m=m*f+n*t;c=c*f+e*t;f===1-g&&(g=1/Math.sqrt(h*h+l*l+m*m+c*c),h*=g,l*=g,m*=g,c*=g)}a[b]=h;a[b+1]=l;a[b+2]=m;a[b+3]=c}});Object.defineProperties(va.prototype,{x:{get:function(){return this._x},set:function(a){this._x=a;this._onChangeCallback()}}, +y:{get:function(){return this._y},set:function(a){this._y=a;this._onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this._onChangeCallback()}},w:{get:function(){return this._w},set:function(a){this._w=a;this._onChangeCallback()}}});Object.assign(va.prototype,{isQuaternion:!0,set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this._onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(a){this._x= +a.x;this._y=a.y;this._z=a.z;this._w=a.w;this._onChangeCallback();return this},setFromEuler:function(a,b){if(!a||!a.isEuler)throw Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var c=a._x,d=a._y,e=a._z;a=a.order;var f=Math.cos,g=Math.sin,h=f(c/2),l=f(d/2);f=f(e/2);c=g(c/2);d=g(d/2);e=g(e/2);"XYZ"===a?(this._x=c*l*f+h*d*e,this._y=h*d*f-c*l*e,this._z=h*l*e+c*d*f,this._w=h*l*f-c*d*e):"YXZ"===a?(this._x=c*l*f+h*d*e,this._y=h*d*f-c*l*e,this._z= +h*l*e-c*d*f,this._w=h*l*f+c*d*e):"ZXY"===a?(this._x=c*l*f-h*d*e,this._y=h*d*f+c*l*e,this._z=h*l*e+c*d*f,this._w=h*l*f-c*d*e):"ZYX"===a?(this._x=c*l*f-h*d*e,this._y=h*d*f+c*l*e,this._z=h*l*e-c*d*f,this._w=h*l*f+c*d*e):"YZX"===a?(this._x=c*l*f+h*d*e,this._y=h*d*f+c*l*e,this._z=h*l*e-c*d*f,this._w=h*l*f-c*d*e):"XZY"===a&&(this._x=c*l*f-h*d*e,this._y=h*d*f-c*l*e,this._z=h*l*e+c*d*f,this._w=h*l*f+c*d*e);!1!==b&&this._onChangeCallback();return this},setFromAxisAngle:function(a,b){b/=2;var c=Math.sin(b); +this._x=a.x*c;this._y=a.y*c;this._z=a.z*c;this._w=Math.cos(b);this._onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],h=b[2],l=b[6];b=b[10];var m=c+f+b;0<m?(c=.5/Math.sqrt(m+1),this._w=.25/c,this._x=(l-g)*c,this._y=(d-h)*c,this._z=(e-a)*c):c>f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(l-g)/c,this._x=.25*c,this._y=(a+e)/c,this._z=(d+h)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-h)/c,this._x=(a+e)/c,this._y=.25*c,this._z=(g+l)/ +c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+h)/c,this._y=(g+l)/c,this._z=.25*c);this._onChangeCallback();return this},setFromUnitVectors:function(a,b){var c=a.dot(b)+1;1E-6>c?(c=0,Math.abs(a.x)>Math.abs(a.z)?(this._x=-a.y,this._y=a.x,this._z=0):(this._x=0,this._y=-a.z,this._z=a.y)):(this._x=a.y*b.z-a.z*b.y,this._y=a.z*b.x-a.x*b.z,this._z=a.x*b.y-a.y*b.x);this._w=c;return this.normalize()},angleTo:function(a){return 2*Math.acos(Math.abs(Q.clamp(this.dot(a),-1,1)))},rotateTowards:function(a, +b){var c=this.angleTo(a);if(0===c)return this;this.slerp(a,Math.min(1,b/c));return this},inverse:function(){return this.conjugate()},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this._onChangeCallback();return this},dot:function(a){return this._x*a._x+this._y*a._y+this._z*a._z+this._w*a._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a= +this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this._onChangeCallback();return this},multiply:function(a,b){return void 0!==b?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z;a=a._w; +var f=b._x,g=b._y,h=b._z;b=b._w;this._x=c*b+a*f+d*h-e*g;this._y=d*b+a*g+e*f-c*h;this._z=e*b+a*h+c*g-d*f;this._w=a*b-c*f-d*g-e*h;this._onChangeCallback();return this},slerp:function(a,b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;a=1-g*g;if(a<=Number.EPSILON)return g=1-b,this._w=g* +f+b*this._w,this._x=g*c+b*this._x,this._y=g*d+b*this._y,this._z=g*e+b*this._z,this.normalize(),this._onChangeCallback(),this;a=Math.sqrt(a);var h=Math.atan2(a,g);g=Math.sin((1-b)*h)/a;b=Math.sin(b*h)/a;this._w=f*g+this._w*b;this._x=c*g+this._x*b;this._y=d*g+this._y*b;this._z=e*g+this._z*b;this._onChangeCallback();return this},equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._w===this._w},fromArray:function(a,b){void 0===b&&(b=0);this._x=a[b];this._y=a[b+1];this._z=a[b+2]; +this._w=a[b+3];this._onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._w;return a},_onChange:function(a){this._onChangeCallback=a;return this},_onChangeCallback:function(){}});var Ng=new n,li=new va;Object.assign(n.prototype,{isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setScalar:function(a){this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y= +a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this}, +add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."), +this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*= +a;return this},multiplyVectors:function(a,b){this.x=a.x*b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyEuler:function(a){a&&a.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.");return this.applyQuaternion(li.setFromEuler(a))},applyAxisAngle:function(a,b){return this.applyQuaternion(li.setFromAxisAngle(a,b))},applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]*b+a[4]*c+a[7]* +d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;var e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]);this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y=(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x,c=this.y,d=this.z,e=a.x,f=a.y,g=a.z;a=a.w;var h=a*b+f*d-g*c,l=a*c+g*b-e*d,m=a*d+e*c-f*b;b=-e*b-f*c-g*d;this.x=h*a+b*-e+l*-g-m*-f;this.y=l*a+b*-f+m*-e-h*-g;this.z=m*a+b*-g+h*-f-l*-e;return this}, +project:function(a){return this.applyMatrix4(a.matrixWorldInverse).applyMatrix4(a.projectionMatrix)},unproject:function(a){return this.applyMatrix4(a.projectionMatrixInverse).applyMatrix4(a.matrixWorld)},transformDirection:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d;this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]*b+a[6]*c+a[10]*d;return this.normalize()},divide:function(a){this.x/=a.x;this.y/=a.y;this.z/=a.z;return this},divideScalar:function(a){return this.multiplyScalar(1/ +a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));return this},clampScalar:function(a,b){this.x=Math.max(a,Math.min(b,this.x));this.y=Math.max(a,Math.min(b,this.y));this.z=Math.max(a, +Math.min(b,this.z));return this},clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this},roundToZero:function(){this.x= +0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+ +Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},cross:function(a,b){return void 0!==b?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(a,b)):this.crossVectors(this, +a)},crossVectors:function(a,b){var c=a.x,d=a.y;a=a.z;var e=b.x,f=b.y;b=b.z;this.x=d*b-a*f;this.y=a*e-c*b;this.z=c*f-d*e;return this},projectOnVector:function(a){var b=a.dot(this)/a.lengthSq();return this.copy(a).multiplyScalar(b)},projectOnPlane:function(a){Ng.copy(this).projectOnVector(a);return this.sub(Ng)},reflect:function(a){return this.sub(Ng.copy(a).multiplyScalar(2*this.dot(a)))},angleTo:function(a){var b=Math.sqrt(this.lengthSq()*a.lengthSq());0===b&&console.error("THREE.Vector3: angleTo() can't handle zero length vectors."); +a=this.dot(a)/b;return Math.acos(Q.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)+Math.abs(this.z-a.z)},setFromSpherical:function(a){return this.setFromSphericalCoords(a.radius,a.phi,a.theta)},setFromSphericalCoords:function(a,b,c){var d=Math.sin(b)*a;this.x=d*Math.sin(c);this.y=Math.cos(b)* +a;this.z=d*Math.cos(c);return this},setFromCylindrical:function(a){return this.setFromCylindricalCoords(a.radius,a.theta,a.y)},setFromCylindricalCoords:function(a,b,c){this.x=a*Math.sin(b);this.y=c;this.z=a*Math.cos(b);return this},setFromMatrixPosition:function(a){a=a.elements;this.x=a[12];this.y=a[13];this.z=a[14];return this},setFromMatrixScale:function(a){var b=this.setFromMatrixColumn(a,0).length(),c=this.setFromMatrixColumn(a,1).length();a=this.setFromMatrixColumn(a,2).length();this.x=b;this.y= +c;this.z=a;return this},setFromMatrixColumn:function(a,b){return this.fromArray(a.elements,4*b)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."); +this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);return this}});var rc=new n;Object.assign(aa.prototype,{isMatrix3:!0,set:function(a,b,c,d,e,f,g,h,l){var m=this.elements;m[0]=a;m[1]=d;m[2]=g;m[3]=b;m[4]=e;m[5]=h;m[6]=c;m[7]=f;m[8]=l;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6]; +b[7]=a[7];b[8]=a[8];return this},setFromMatrix4:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[1],a[5],a[9],a[2],a[6],a[10]);return this},applyToBufferAttribute:function(a){for(var b=0,c=a.count;b<c;b++)rc.x=a.getX(b),rc.y=a.getY(b),rc.z=a.getZ(b),rc.applyMatrix3(this),a.setXYZ(b,rc.x,rc.y,rc.z);return a},multiply:function(a){return this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements;b=this.elements; +a=c[0];var e=c[3],f=c[6],g=c[1],h=c[4],l=c[7],m=c[2],k=c[5];c=c[8];var n=d[0],r=d[3],t=d[6],p=d[1],v=d[4],w=d[7],y=d[2],x=d[5];d=d[8];b[0]=a*n+e*p+f*y;b[3]=a*r+e*v+f*x;b[6]=a*t+e*w+f*d;b[1]=g*n+h*p+l*y;b[4]=g*r+h*v+l*x;b[7]=g*t+h*w+l*d;b[2]=m*n+k*p+c*y;b[5]=m*r+k*v+c*x;b[8]=m*t+k*w+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[3]*=a;b[6]*=a;b[1]*=a;b[4]*=a;b[7]*=a;b[2]*=a;b[5]*=a;b[8]*=a;return this},determinant:function(){var a=this.elements,b=a[0],c=a[1],d=a[2],e=a[3], +f=a[4],g=a[5],h=a[6],l=a[7];a=a[8];return b*f*a-b*g*l-c*e*a+c*g*h+d*e*l-d*f*h},getInverse:function(a,b){a&&a.isMatrix4&&console.error("THREE.Matrix3: .getInverse() no longer takes a Matrix4 argument.");var c=a.elements;a=this.elements;var d=c[0],e=c[1],f=c[2],g=c[3],h=c[4],l=c[5],m=c[6],k=c[7];c=c[8];var n=c*h-l*k,r=l*m-c*g,t=k*g-h*m,p=d*n+e*r+f*t;if(0===p){if(!0===b)throw Error("THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0");console.warn("THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0"); +return this.identity()}b=1/p;a[0]=n*b;a[1]=(f*k-c*e)*b;a[2]=(l*e-f*h)*b;a[3]=r*b;a[4]=(c*d-f*m)*b;a[5]=(f*g-l*d)*b;a[6]=t*b;a[7]=(e*m-k*d)*b;a[8]=(h*d-e*g)*b;return this},transpose:function(){var a=this.elements;var b=a[1];a[1]=a[3];a[3]=b;b=a[2];a[2]=a[6];a[6]=b;b=a[5];a[5]=a[7];a[7]=b;return this},getNormalMatrix:function(a){return this.setFromMatrix4(a).getInverse(this).transpose()},transposeIntoArray:function(a){var b=this.elements;a[0]=b[0];a[1]=b[3];a[2]=b[6];a[3]=b[1];a[4]=b[4];a[5]=b[7];a[6]= +b[2];a[7]=b[5];a[8]=b[8];return this},setUvTransform:function(a,b,c,d,e,f,g){var h=Math.cos(e);e=Math.sin(e);this.set(c*h,c*e,-c*(h*f+e*g)+f+a,-d*e,d*h,-d*(-e*f+h*g)+g+b,0,0,1)},scale:function(a,b){var c=this.elements;c[0]*=a;c[3]*=a;c[6]*=a;c[1]*=b;c[4]*=b;c[7]*=b;return this},rotate:function(a){var b=Math.cos(a);a=Math.sin(a);var c=this.elements,d=c[0],e=c[3],f=c[6],g=c[1],h=c[4],l=c[7];c[0]=b*d+a*g;c[3]=b*e+a*h;c[6]=b*f+a*l;c[1]=-a*d+b*g;c[4]=-a*e+b*h;c[7]=-a*f+b*l;return this},translate:function(a, +b){var c=this.elements;c[0]+=a*c[2];c[3]+=a*c[5];c[6]+=a*c[8];c[1]+=b*c[2];c[4]+=b*c[5];c[7]+=b*c[8];return this},equals:function(a){var b=this.elements;a=a.elements;for(var c=0;9>c;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;9>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8]; +return a}});var pd,Lb={getDataURL:function(a){if("undefined"==typeof HTMLCanvasElement)return a.src;if(!(a instanceof HTMLCanvasElement)){void 0===pd&&(pd=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"));pd.width=a.width;pd.height=a.height;var b=pd.getContext("2d");a instanceof ImageData?b.putImageData(a,0,0):b.drawImage(a,0,0,a.width,a.height);a=pd}return 2048<a.width||2048<a.height?a.toDataURL("image/jpeg",.6):a.toDataURL("image/png")}},Ri=0;Y.DEFAULT_IMAGE=void 0;Y.DEFAULT_MAPPING= +300;Y.prototype=Object.assign(Object.create(Ca.prototype),{constructor:Y,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.name=a.name;this.image=a.image;this.mipmaps=a.mipmaps.slice(0);this.mapping=a.mapping;this.wrapS=a.wrapS;this.wrapT=a.wrapT;this.magFilter=a.magFilter;this.minFilter=a.minFilter;this.anisotropy= +a.anisotropy;this.format=a.format;this.type=a.type;this.offset.copy(a.offset);this.repeat.copy(a.repeat);this.center.copy(a.center);this.rotation=a.rotation;this.matrixAutoUpdate=a.matrixAutoUpdate;this.matrix.copy(a.matrix);this.generateMipmaps=a.generateMipmaps;this.premultiplyAlpha=a.premultiplyAlpha;this.flipY=a.flipY;this.unpackAlignment=a.unpackAlignment;this.encoding=a.encoding;return this},toJSON:function(a){var b=void 0===a||"string"===typeof a;if(!b&&void 0!==a.textures[this.uuid])return a.textures[this.uuid]; +var c={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment}; +if(void 0!==this.image){var d=this.image;void 0===d.uuid&&(d.uuid=Q.generateUUID());if(!b&&void 0===a.images[d.uuid]){if(Array.isArray(d)){var e=[];for(var f=0,g=d.length;f<g;f++)e.push(Lb.getDataURL(d[f]))}else e=Lb.getDataURL(d);a.images[d.uuid]={uuid:d.uuid,url:e}}c.image=d.uuid}b||(a.textures[this.uuid]=c);return c},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(a){if(300!==this.mapping)return a;a.applyMatrix3(this.matrix);if(0>a.x||1<a.x)switch(this.wrapS){case 1E3:a.x-= +Math.floor(a.x);break;case 1001:a.x=0>a.x?0:1;break;case 1002:a.x=1===Math.abs(Math.floor(a.x)%2)?Math.ceil(a.x)-a.x:a.x-Math.floor(a.x)}if(0>a.y||1<a.y)switch(this.wrapT){case 1E3:a.y-=Math.floor(a.y);break;case 1001:a.y=0>a.y?0:1;break;case 1002:a.y=1===Math.abs(Math.floor(a.y)%2)?Math.ceil(a.y)-a.y:a.y-Math.floor(a.y)}this.flipY&&(a.y=1-a.y);return a}});Object.defineProperty(Y.prototype,"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.defineProperties(W.prototype,{width:{get:function(){return this.z}, +set:function(a){this.z=a}},height:{get:function(){return this.w},set:function(a){this.w=a}}});Object.assign(W.prototype,{isVector4:!0,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setScalar:function(a){this.w=this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b; +break;case 2:this.z=b;break;case 3:this.w=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."), +this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;this.w+=a.w*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a, +b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;this.w-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]* +e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){a=a.elements;var b=a[0];var c=a[4];var d=a[8],e=a[1],f=a[5],g=a[9];var h=a[2];var l=a[6];var m=a[10];if(.01>Math.abs(c-e)&&.01>Math.abs(d-h)&&.01>Math.abs(g-l)){if(.1>Math.abs(c+ +e)&&.1>Math.abs(d+h)&&.1>Math.abs(g+l)&&.1>Math.abs(b+f+m-3))return this.set(1,0,0,0),this;a=Math.PI;b=(b+1)/2;f=(f+1)/2;m=(m+1)/2;c=(c+e)/4;d=(d+h)/4;g=(g+l)/4;b>f&&b>m?.01>b?(l=0,c=h=.707106781):(l=Math.sqrt(b),h=c/l,c=d/l):f>m?.01>f?(l=.707106781,h=0,c=.707106781):(h=Math.sqrt(f),l=c/h,c=g/h):.01>m?(h=l=.707106781,c=0):(c=Math.sqrt(m),l=d/c,h=g/c);this.set(l,h,c,a);return this}a=Math.sqrt((l-g)*(l-g)+(d-h)*(d-h)+(e-c)*(e-c));.001>Math.abs(a)&&(a=1);this.x=(l-g)/a;this.y=(d-h)/a;this.z=(e-c)/a; +this.w=Math.acos((b+f+m-1)/2);return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);this.w=Math.max(this.w,a.w);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));this.w=Math.max(a.w,Math.min(b.w, +this.w));return this},clampScalar:function(a,b){this.x=Math.max(a,Math.min(b,this.x));this.y=Math.max(a,Math.min(b,this.y));this.z=Math.max(a,Math.min(b,this.z));this.w=Math.max(a,Math.min(b,this.w));return this},clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this},ceil:function(){this.x=Math.ceil(this.x); +this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},negate:function(){this.x=-this.x; +this.y=-this.y;this.z=-this.z;this.w=-this.w;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)}, +lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];this.w=a[b+3];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]= +this.w;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}});la.prototype=Object.assign(Object.create(Ca.prototype),{constructor:la,isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.texture.image.width=a,this.texture.image.height=b,this.dispose();this.viewport.set(0,0, +a,b);this.scissor.set(0,0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width=a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});Rf.prototype=Object.assign(Object.create(la.prototype),{constructor:Rf,isWebGLMultisampleRenderTarget:!0,copy:function(a){la.prototype.copy.call(this, +a);this.samples=a.samples;return this}});var Ma=new n,ma=new O,sk=new n(0,0,0),tk=new n(1,1,1),Mb=new n,tf=new n,ka=new n;Object.assign(O.prototype,{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,l,m,k,n,r,t,p,v){var q=this.elements;q[0]=a;q[4]=b;q[8]=c;q[12]=d;q[1]=e;q[5]=f;q[9]=g;q[13]=h;q[2]=l;q[6]=m;q[10]=k;q[14]=n;q[3]=r;q[7]=t;q[11]=p;q[15]=v;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new O).fromArray(this.elements)},copy:function(a){var b= +this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return this},copyPosition:function(a){var b=this.elements;a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,b,c){a.setFromMatrixColumn(this,0);b.setFromMatrixColumn(this,1);c.setFromMatrixColumn(this,2);return this},makeBasis:function(a,b,c){this.set(a.x,b.x,c.x,0,a.y, +b.y,c.y,0,a.z,b.z,c.z,0,0,0,0,1);return this},extractRotation:function(a){var b=this.elements,c=a.elements,d=1/Ma.setFromMatrixColumn(a,0).length(),e=1/Ma.setFromMatrixColumn(a,1).length();a=1/Ma.setFromMatrixColumn(a,2).length();b[0]=c[0]*d;b[1]=c[1]*d;b[2]=c[2]*d;b[3]=0;b[4]=c[4]*e;b[5]=c[5]*e;b[6]=c[6]*e;b[7]=0;b[8]=c[8]*a;b[9]=c[9]*a;b[10]=c[10]*a;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromEuler:function(a){a&&a.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order."); +var b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c);c=Math.sin(c);var g=Math.cos(d);d=Math.sin(d);var h=Math.cos(e);e=Math.sin(e);if("XYZ"===a.order){a=f*h;var l=f*e,m=c*h,k=c*e;b[0]=g*h;b[4]=-g*e;b[8]=d;b[1]=l+m*d;b[5]=a-k*d;b[9]=-c*g;b[2]=k-a*d;b[6]=m+l*d;b[10]=f*g}else"YXZ"===a.order?(a=g*h,l=g*e,m=d*h,k=d*e,b[0]=a+k*c,b[4]=m*c-l,b[8]=f*d,b[1]=f*e,b[5]=f*h,b[9]=-c,b[2]=l*c-m,b[6]=k+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*h,l=g*e,m=d*h,k=d*e,b[0]=a-k*c,b[4]=-f*e,b[8]=m+l*c,b[1]=l+m*c,b[5]=f*h,b[9]= +k-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*h,l=f*e,m=c*h,k=c*e,b[0]=g*h,b[4]=m*d-l,b[8]=a*d+k,b[1]=g*e,b[5]=k*d+a,b[9]=l*d-m,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,l=f*d,m=c*g,k=c*d,b[0]=g*h,b[4]=k-a*e,b[8]=m*e+l,b[1]=e,b[5]=f*h,b[9]=-c*h,b[2]=-d*h,b[6]=l*e+m,b[10]=a-k*e):"XZY"===a.order&&(a=f*g,l=f*d,m=c*g,k=c*d,b[0]=g*h,b[4]=-e,b[8]=d*h,b[1]=a*e+k,b[5]=f*h,b[9]=l*e-m,b[2]=m*e-l,b[6]=c*h,b[10]=k*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(a){return this.compose(sk, +a,tk)},lookAt:function(a,b,c){var d=this.elements;ka.subVectors(a,b);0===ka.lengthSq()&&(ka.z=1);ka.normalize();Mb.crossVectors(c,ka);0===Mb.lengthSq()&&(1===Math.abs(c.z)?ka.x+=1E-4:ka.z+=1E-4,ka.normalize(),Mb.crossVectors(c,ka));Mb.normalize();tf.crossVectors(ka,Mb);d[0]=Mb.x;d[4]=tf.x;d[8]=ka.x;d[1]=Mb.y;d[5]=tf.y;d[9]=ka.y;d[2]=Mb.z;d[6]=tf.z;d[10]=ka.z;return this},multiply:function(a,b){return void 0!==b?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."), +this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements;b=this.elements;a=c[0];var e=c[4],f=c[8],g=c[12],h=c[1],l=c[5],m=c[9],k=c[13],n=c[2],r=c[6],t=c[10],p=c[14],v=c[3],w=c[7],y=c[11];c=c[15];var x=d[0],A=d[4],K=d[8],B=d[12],z=d[1],C=d[5],E=d[9],D=d[13],F=d[2],H=d[6],I=d[10],M=d[14],N=d[3],R=d[7],O=d[11];d=d[15];b[0]=a*x+e*z+f*F+g*N;b[4]=a*A+e*C+f*H+g*R;b[8]=a*K+e*E+f*I+ +g*O;b[12]=a*B+e*D+f*M+g*d;b[1]=h*x+l*z+m*F+k*N;b[5]=h*A+l*C+m*H+k*R;b[9]=h*K+l*E+m*I+k*O;b[13]=h*B+l*D+m*M+k*d;b[2]=n*x+r*z+t*F+p*N;b[6]=n*A+r*C+t*H+p*R;b[10]=n*K+r*E+t*I+p*O;b[14]=n*B+r*D+t*M+p*d;b[3]=v*x+w*z+y*F+c*N;b[7]=v*A+w*C+y*H+c*R;b[11]=v*K+w*E+y*I+c*O;b[15]=v*B+w*D+y*M+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},applyToBufferAttribute:function(a){for(var b= +0,c=a.count;b<c;b++)Ma.x=a.getX(b),Ma.y=a.getY(b),Ma.z=a.getZ(b),Ma.applyMatrix4(this),a.setXYZ(b,Ma.x,Ma.y,Ma.z);return a},determinant:function(){var a=this.elements,b=a[0],c=a[4],d=a[8],e=a[12],f=a[1],g=a[5],h=a[9],l=a[13],m=a[2],k=a[6],n=a[10],r=a[14];return a[3]*(+e*h*k-d*l*k-e*g*n+c*l*n+d*g*r-c*h*r)+a[7]*(+b*h*r-b*l*n+e*f*n-d*f*r+d*l*m-e*h*m)+a[11]*(+b*l*k-b*g*r-e*f*k+c*f*r+e*g*m-c*l*m)+a[15]*(-d*g*m-b*h*k+b*g*n+d*f*k-c*f*n+c*h*m)},transpose:function(){var a=this.elements;var b=a[1];a[1]=a[4]; +a[4]=b;b=a[2];a[2]=a[8];a[8]=b;b=a[6];a[6]=a[9];a[9]=b;b=a[3];a[3]=a[12];a[12]=b;b=a[7];a[7]=a[13];a[13]=b;b=a[11];a[11]=a[14];a[14]=b;return this},setPosition:function(a,b,c){var d=this.elements;a.isVector3?(d[12]=a.x,d[13]=a.y,d[14]=a.z):(d[12]=a,d[13]=b,d[14]=c);return this},getInverse:function(a,b){var c=this.elements,d=a.elements;a=d[0];var e=d[1],f=d[2],g=d[3],h=d[4],l=d[5],m=d[6],k=d[7],n=d[8],r=d[9],t=d[10],p=d[11],v=d[12],w=d[13],y=d[14];d=d[15];var x=r*y*k-w*t*k+w*m*p-l*y*p-r*m*d+l*t*d, +A=v*t*k-n*y*k-v*m*p+h*y*p+n*m*d-h*t*d,z=n*w*k-v*r*k+v*l*p-h*w*p-n*l*d+h*r*d,B=v*r*m-n*w*m-v*l*t+h*w*t+n*l*y-h*r*y,C=a*x+e*A+f*z+g*B;if(0===C){if(!0===b)throw Error("THREE.Matrix4: .getInverse() can't invert matrix, determinant is 0");console.warn("THREE.Matrix4: .getInverse() can't invert matrix, determinant is 0");return this.identity()}b=1/C;c[0]=x*b;c[1]=(w*t*g-r*y*g-w*f*p+e*y*p+r*f*d-e*t*d)*b;c[2]=(l*y*g-w*m*g+w*f*k-e*y*k-l*f*d+e*m*d)*b;c[3]=(r*m*g-l*t*g-r*f*k+e*t*k+l*f*p-e*m*p)*b;c[4]=A*b;c[5]= +(n*y*g-v*t*g+v*f*p-a*y*p-n*f*d+a*t*d)*b;c[6]=(v*m*g-h*y*g-v*f*k+a*y*k+h*f*d-a*m*d)*b;c[7]=(h*t*g-n*m*g+n*f*k-a*t*k-h*f*p+a*m*p)*b;c[8]=z*b;c[9]=(v*r*g-n*w*g-v*e*p+a*w*p+n*e*d-a*r*d)*b;c[10]=(h*w*g-v*l*g+v*e*k-a*w*k-h*e*d+a*l*d)*b;c[11]=(n*l*g-h*r*g-n*e*k+a*r*k+h*e*p-a*l*p)*b;c[12]=B*b;c[13]=(n*w*f-v*r*f+v*e*t-a*w*t-n*e*y+a*r*y)*b;c[14]=(v*l*f-h*w*f-v*e*m+a*w*m+h*e*y-a*l*y)*b;c[15]=(h*r*f-n*l*f+n*e*m-a*r*m-h*e*t+a*l*t)*b;return this},scale:function(a){var b=this.elements,c=a.x,d=a.y;a=a.z;b[0]*=c; +b[4]*=d;b[8]*=a;b[1]*=c;b[5]*=d;b[9]*=a;b[2]*=c;b[6]*=d;b[10]*=a;b[3]*=c;b[7]*=d;b[11]*=a;return this},getMaxScaleOnAxis:function(){var a=this.elements;return Math.sqrt(Math.max(a[0]*a[0]+a[1]*a[1]+a[2]*a[2],a[4]*a[4]+a[5]*a[5]+a[6]*a[6],a[8]*a[8]+a[9]*a[9]+a[10]*a[10]))},makeTranslation:function(a,b,c){this.set(1,0,0,a,0,1,0,b,0,0,1,c,0,0,0,1);return this},makeRotationX:function(a){var b=Math.cos(a);a=Math.sin(a);this.set(1,0,0,0,0,b,-a,0,0,a,b,0,0,0,0,1);return this},makeRotationY:function(a){var b= +Math.cos(a);a=Math.sin(a);this.set(b,0,a,0,0,1,0,0,-a,0,b,0,0,0,0,1);return this},makeRotationZ:function(a){var b=Math.cos(a);a=Math.sin(a);this.set(b,-a,0,0,a,b,0,0,0,0,1,0,0,0,0,1);return this},makeRotationAxis:function(a,b){var c=Math.cos(b);b=Math.sin(b);var d=1-c,e=a.x,f=a.y;a=a.z;var g=d*e,h=d*f;this.set(g*e+c,g*f-b*a,g*a+b*f,0,g*f+b*a,h*f+c,h*a-b*e,0,g*a-b*f,h*a+b*e,d*a*a+c,0,0,0,0,1);return this},makeScale:function(a,b,c){this.set(a,0,0,0,0,b,0,0,0,0,c,0,0,0,0,1);return this},makeShear:function(a, +b,c){this.set(1,b,c,0,a,1,c,0,a,b,1,0,0,0,0,1);return this},compose:function(a,b,c){var d=this.elements,e=b._x,f=b._y,g=b._z,h=b._w,l=e+e,m=f+f,k=g+g;b=e*l;var n=e*m;e*=k;var r=f*m;f*=k;g*=k;l*=h;m*=h;h*=k;k=c.x;var t=c.y;c=c.z;d[0]=(1-(r+g))*k;d[1]=(n+h)*k;d[2]=(e-m)*k;d[3]=0;d[4]=(n-h)*t;d[5]=(1-(b+g))*t;d[6]=(f+l)*t;d[7]=0;d[8]=(e+m)*c;d[9]=(f-l)*c;d[10]=(1-(b+r))*c;d[11]=0;d[12]=a.x;d[13]=a.y;d[14]=a.z;d[15]=1;return this},decompose:function(a,b,c){var d=this.elements,e=Ma.set(d[0],d[1],d[2]).length(), +f=Ma.set(d[4],d[5],d[6]).length(),g=Ma.set(d[8],d[9],d[10]).length();0>this.determinant()&&(e=-e);a.x=d[12];a.y=d[13];a.z=d[14];ma.copy(this);a=1/e;d=1/f;var h=1/g;ma.elements[0]*=a;ma.elements[1]*=a;ma.elements[2]*=a;ma.elements[4]*=d;ma.elements[5]*=d;ma.elements[6]*=d;ma.elements[8]*=h;ma.elements[9]*=h;ma.elements[10]*=h;b.setFromRotationMatrix(ma);c.x=e;c.y=f;c.z=g;return this},makePerspective:function(a,b,c,d,e,f){void 0===f&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs."); +var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(c-d);g[9]=(c+d)/(c-d);g[13]=0;g[2]=0;g[6]=0;g[10]=-(f+e)/(f-e);g[14]=-2*f*e/(f-e);g[3]=0;g[7]=0;g[11]=-1;g[15]=0;return this},makeOrthographic:function(a,b,c,d,e,f){var g=this.elements,h=1/(b-a),l=1/(c-d),m=1/(f-e);g[0]=2*h;g[4]=0;g[8]=0;g[12]=-((b+a)*h);g[1]=0;g[5]=2*l;g[9]=0;g[13]=-((c+d)*l);g[2]=0;g[6]=0;g[10]=-2*m;g[14]=-((f+e)*m);g[3]=0;g[7]=0;g[11]=0;g[15]=1;return this},equals:function(a){var b=this.elements; +a=a.elements;for(var c=0;16>c;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;16>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];a[b+9]=c[9];a[b+10]=c[10];a[b+11]=c[11];a[b+12]=c[12];a[b+13]=c[13];a[b+14]=c[14];a[b+15]=c[15];return a}});var mi=new O,ni=new va;Rb.RotationOrders= +"XYZ YZX ZXY XZY YXZ ZYX".split(" ");Rb.DefaultOrder="XYZ";Object.defineProperties(Rb.prototype,{x:{get:function(){return this._x},set:function(a){this._x=a;this._onChangeCallback()}},y:{get:function(){return this._y},set:function(a){this._y=a;this._onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this._onChangeCallback()}},order:{get:function(){return this._order},set:function(a){this._order=a;this._onChangeCallback()}}});Object.assign(Rb.prototype,{isEuler:!0,set:function(a, +b,c,d){this._x=a;this._y=b;this._z=c;this._order=d||this._order;this._onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(a){this._x=a._x;this._y=a._y;this._z=a._z;this._order=a._order;this._onChangeCallback();return this},setFromRotationMatrix:function(a,b,c){var d=Q.clamp,e=a.elements;a=e[0];var f=e[4],g=e[8],h=e[1],l=e[5],m=e[9],k=e[2],n=e[6];e=e[10];b=b||this._order;"XYZ"===b?(this._y=Math.asin(d(g,-1,1)),.9999999>Math.abs(g)? +(this._x=Math.atan2(-m,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(n,l),this._z=0)):"YXZ"===b?(this._x=Math.asin(-d(m,-1,1)),.9999999>Math.abs(m)?(this._y=Math.atan2(g,e),this._z=Math.atan2(h,l)):(this._y=Math.atan2(-k,a),this._z=0)):"ZXY"===b?(this._x=Math.asin(d(n,-1,1)),.9999999>Math.abs(n)?(this._y=Math.atan2(-k,e),this._z=Math.atan2(-f,l)):(this._y=0,this._z=Math.atan2(h,a))):"ZYX"===b?(this._y=Math.asin(-d(k,-1,1)),.9999999>Math.abs(k)?(this._x=Math.atan2(n,e),this._z=Math.atan2(h,a)): +(this._x=0,this._z=Math.atan2(-f,l))):"YZX"===b?(this._z=Math.asin(d(h,-1,1)),.9999999>Math.abs(h)?(this._x=Math.atan2(-m,l),this._y=Math.atan2(-k,a)):(this._x=0,this._y=Math.atan2(g,e))):"XZY"===b?(this._z=Math.asin(-d(f,-1,1)),.9999999>Math.abs(f)?(this._x=Math.atan2(n,l),this._y=Math.atan2(g,a)):(this._x=Math.atan2(-m,e),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+b);this._order=b;!1!==c&&this._onChangeCallback();return this},setFromQuaternion:function(a, +b,c){mi.makeRotationFromQuaternion(a);return this.setFromRotationMatrix(mi,b,c)},setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)},reorder:function(a){ni.setFromEuler(this);return this.setFromQuaternion(ni,a)},equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this._onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a= +[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z):new n(this._x,this._y,this._z)},_onChange:function(a){this._onChangeCallback=a;return this},_onChangeCallback:function(){}});Object.assign(Sf.prototype,{set:function(a){this.mask=1<<a|0},enable:function(a){this.mask=this.mask|1<<a|0},enableAll:function(){this.mask=-1},toggle:function(a){this.mask^=1<<a|0},disable:function(a){this.mask&=~(1<<a| +0)},disableAll:function(){this.mask=0},test:function(a){return 0!==(this.mask&a.mask)}});var Si=0,oi=new n,qd=new va,vb=new O,uf=new n,ze=new n,uk=new n,vk=new va,pi=new n(1,0,0),qi=new n(0,1,0),ri=new n(0,0,1),wk={type:"added"},xk={type:"removed"};H.DefaultUp=new n(0,1,0);H.DefaultMatrixAutoUpdate=!0;H.prototype=Object.assign(Object.create(Ca.prototype),{constructor:H,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix:function(a){this.matrixAutoUpdate&&this.updateMatrix(); +this.matrix.premultiply(a);this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(a){this.quaternion.premultiply(a);return this},setRotationFromAxisAngle:function(a,b){this.quaternion.setFromAxisAngle(a,b)},setRotationFromEuler:function(a){this.quaternion.setFromEuler(a,!0)},setRotationFromMatrix:function(a){this.quaternion.setFromRotationMatrix(a)},setRotationFromQuaternion:function(a){this.quaternion.copy(a)},rotateOnAxis:function(a,b){qd.setFromAxisAngle(a,b); +this.quaternion.multiply(qd);return this},rotateOnWorldAxis:function(a,b){qd.setFromAxisAngle(a,b);this.quaternion.premultiply(qd);return this},rotateX:function(a){return this.rotateOnAxis(pi,a)},rotateY:function(a){return this.rotateOnAxis(qi,a)},rotateZ:function(a){return this.rotateOnAxis(ri,a)},translateOnAxis:function(a,b){oi.copy(a).applyQuaternion(this.quaternion);this.position.add(oi.multiplyScalar(b));return this},translateX:function(a){return this.translateOnAxis(pi,a)},translateY:function(a){return this.translateOnAxis(qi, +a)},translateZ:function(a){return this.translateOnAxis(ri,a)},localToWorld:function(a){return a.applyMatrix4(this.matrixWorld)},worldToLocal:function(a){return a.applyMatrix4(vb.getInverse(this.matrixWorld))},lookAt:function(a,b,c){a.isVector3?uf.copy(a):uf.set(a,b,c);a=this.parent;this.updateWorldMatrix(!0,!1);ze.setFromMatrixPosition(this.matrixWorld);this.isCamera||this.isLight?vb.lookAt(ze,uf,this.up):vb.lookAt(uf,ze,this.up);this.quaternion.setFromRotationMatrix(vb);a&&(vb.extractRotation(a.matrixWorld), +qd.setFromRotationMatrix(vb),this.quaternion.premultiply(qd.inverse()))},add:function(a){if(1<arguments.length){for(var b=0;b<arguments.length;b++)this.add(arguments[b]);return this}if(a===this)return console.error("THREE.Object3D.add: object can't be added as a child of itself.",a),this;a&&a.isObject3D?(null!==a.parent&&a.parent.remove(a),a.parent=this,this.children.push(a),a.dispatchEvent(wk)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",a);return this},remove:function(a){if(1< +arguments.length){for(var b=0;b<arguments.length;b++)this.remove(arguments[b]);return this}b=this.children.indexOf(a);-1!==b&&(a.parent=null,this.children.splice(b,1),a.dispatchEvent(xk));return this},attach:function(a){this.updateWorldMatrix(!0,!1);vb.getInverse(this.matrixWorld);null!==a.parent&&(a.parent.updateWorldMatrix(!0,!1),vb.multiply(a.parent.matrixWorld));a.applyMatrix(vb);a.updateWorldMatrix(!1,!1);this.add(a);return this},getObjectById:function(a){return this.getObjectByProperty("id", +a)},getObjectByName:function(a){return this.getObjectByProperty("name",a)},getObjectByProperty:function(a,b){if(this[a]===b)return this;for(var c=0,d=this.children.length;c<d;c++){var e=this.children[c].getObjectByProperty(a,b);if(void 0!==e)return e}},getWorldPosition:function(a){void 0===a&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),a=new n);this.updateMatrixWorld(!0);return a.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(a){void 0===a&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"), +a=new va);this.updateMatrixWorld(!0);this.matrixWorld.decompose(ze,a,uk);return a},getWorldScale:function(a){void 0===a&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),a=new n);this.updateMatrixWorld(!0);this.matrixWorld.decompose(ze,vk,a);return a},getWorldDirection:function(a){void 0===a&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),a=new n);this.updateMatrixWorld(!0);var b=this.matrixWorld.elements;return a.set(b[8],b[9],b[10]).normalize()}, +raycast:function(){},traverse:function(a){a(this);for(var b=this.children,c=0,d=b.length;c<d;c++)b[c].traverse(a)},traverseVisible:function(a){if(!1!==this.visible){a(this);for(var b=this.children,c=0,d=b.length;c<d;c++)b[c].traverseVisible(a)}},traverseAncestors:function(a){var b=this.parent;null!==b&&(a(b),b.traverseAncestors(a))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale);this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(a){this.matrixAutoUpdate&& +this.updateMatrix();if(this.matrixWorldNeedsUpdate||a)null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,a=!0;for(var b=this.children,c=0,d=b.length;c<d;c++)b[c].updateMatrixWorld(a)},updateWorldMatrix:function(a,b){var c=this.parent;!0===a&&null!==c&&c.updateWorldMatrix(!0,!1);this.matrixAutoUpdate&&this.updateMatrix();null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, +this.matrix);if(!0===b)for(a=this.children,b=0,c=a.length;b<c;b++)a[b].updateWorldMatrix(!1,!0)},toJSON:function(a){function b(b,c){void 0===b[c.uuid]&&(b[c.uuid]=c.toJSON(a));return c.uuid}function c(a){var b=[],c;for(c in a){var d=a[c];delete d.metadata;b.push(d)}return b}var d=void 0===a||"string"===typeof a,e={};d&&(a={geometries:{},materials:{},textures:{},images:{},shapes:{}},e.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var f={};f.uuid=this.uuid;f.type=this.type;""!== +this.name&&(f.name=this.name);!0===this.castShadow&&(f.castShadow=!0);!0===this.receiveShadow&&(f.receiveShadow=!0);!1===this.visible&&(f.visible=!1);!1===this.frustumCulled&&(f.frustumCulled=!1);0!==this.renderOrder&&(f.renderOrder=this.renderOrder);"{}"!==JSON.stringify(this.userData)&&(f.userData=this.userData);f.layers=this.layers.mask;f.matrix=this.matrix.toArray();!1===this.matrixAutoUpdate&&(f.matrixAutoUpdate=!1);this.isMesh&&0!==this.drawMode&&(f.drawMode=this.drawMode);if(this.isMesh||this.isLine|| +this.isPoints){f.geometry=b(a.geometries,this.geometry);var g=this.geometry.parameters;if(void 0!==g&&void 0!==g.shapes)if(g=g.shapes,Array.isArray(g))for(var h=0,l=g.length;h<l;h++)b(a.shapes,g[h]);else b(a.shapes,g)}if(void 0!==this.material)if(Array.isArray(this.material)){g=[];h=0;for(l=this.material.length;h<l;h++)g.push(b(a.materials,this.material[h]));f.material=g}else f.material=b(a.materials,this.material);if(0<this.children.length)for(f.children=[],h=0;h<this.children.length;h++)f.children.push(this.children[h].toJSON(a).object); +if(d){d=c(a.geometries);h=c(a.materials);l=c(a.textures);var m=c(a.images);g=c(a.shapes);0<d.length&&(e.geometries=d);0<h.length&&(e.materials=h);0<l.length&&(e.textures=l);0<m.length&&(e.images=m);0<g.length&&(e.shapes=g)}e.object=f;return e},clone:function(a){return(new this.constructor).copy(this,a)},copy:function(a,b){void 0===b&&(b=!0);this.name=a.name;this.up.copy(a.up);this.position.copy(a.position);this.quaternion.copy(a.quaternion);this.scale.copy(a.scale);this.matrix.copy(a.matrix);this.matrixWorld.copy(a.matrixWorld); +this.matrixAutoUpdate=a.matrixAutoUpdate;this.matrixWorldNeedsUpdate=a.matrixWorldNeedsUpdate;this.layers.mask=a.layers.mask;this.visible=a.visible;this.castShadow=a.castShadow;this.receiveShadow=a.receiveShadow;this.frustumCulled=a.frustumCulled;this.renderOrder=a.renderOrder;this.userData=JSON.parse(JSON.stringify(a.userData));if(!0===b)for(b=0;b<a.children.length;b++)this.add(a.children[b].clone());return this}});zd.prototype=Object.assign(Object.create(H.prototype),{constructor:zd,isScene:!0, +copy:function(a,b){H.prototype.copy.call(this,a,b);null!==a.background&&(this.background=a.background.clone());null!==a.fog&&(this.fog=a.fog.clone());null!==a.overrideMaterial&&(this.overrideMaterial=a.overrideMaterial.clone());this.autoUpdate=a.autoUpdate;this.matrixAutoUpdate=a.matrixAutoUpdate;return this},toJSON:function(a){var b=H.prototype.toJSON.call(this,a);null!==this.background&&(b.object.background=this.background.toJSON(a));null!==this.fog&&(b.object.fog=this.fog.toJSON());return b},dispose:function(){this.dispatchEvent({type:"dispose"})}}); +var wb=[new n,new n,new n,new n,new n,new n,new n,new n],kb=new n,rd=new n,sd=new n,td=new n,Nb=new n,Ob=new n,sc=new n,Ae=new n,vf=new n,wf=new n,Sb=new n;Object.assign(bb.prototype,{isBox3:!0,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromArray:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,l=a.length;h<l;h+=3){var m=a[h],k=a[h+1],n=a[h+2];m<b&&(b=m);k<c&&(c=k);n<d&&(d=n);m>e&&(e=m);k>f&&(f=k);n>g&&(g=n)}this.min.set(b,c,d); +this.max.set(e,f,g);return this},setFromBufferAttribute:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,l=a.count;h<l;h++){var m=a.getX(h),k=a.getY(h),n=a.getZ(h);m<b&&(b=m);k<c&&(c=k);n<d&&(d=n);m>e&&(e=m);k>f&&(f=k);n>g&&(g=n)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;b<c;b++)this.expandByPoint(a[b]);return this},setFromCenterAndSize:function(a,b){b=kb.copy(b).multiplyScalar(.5); +this.min.copy(a).sub(b);this.max.copy(a).add(b);return this},setFromObject:function(a){this.makeEmpty();return this.expandByObject(a)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.min.copy(a.min);this.max.copy(a.max);return this},makeEmpty:function(){this.min.x=this.min.y=this.min.z=Infinity;this.max.x=this.max.y=this.max.z=-Infinity;return this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},getCenter:function(a){void 0=== +a&&(console.warn("THREE.Box3: .getCenter() target is now required"),a=new n);return this.isEmpty()?a.set(0,0,0):a.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(a){void 0===a&&(console.warn("THREE.Box3: .getSize() target is now required"),a=new n);return this.isEmpty()?a.set(0,0,0):a.subVectors(this.max,this.min)},expandByPoint:function(a){this.min.min(a);this.max.max(a);return this},expandByVector:function(a){this.min.sub(a);this.max.add(a);return this},expandByScalar:function(a){this.min.addScalar(-a); +this.max.addScalar(a);return this},expandByObject:function(a){var b;a.updateWorldMatrix(!1,!1);var c=a.geometry;if(void 0!==c)if(c.isGeometry){var d=c.vertices;c=0;for(b=d.length;c<b;c++)kb.copy(d[c]),kb.applyMatrix4(a.matrixWorld),this.expandByPoint(kb)}else if(c.isBufferGeometry&&(d=c.attributes.position,void 0!==d))for(c=0,b=d.count;c<b;c++)kb.fromBufferAttribute(d,c).applyMatrix4(a.matrixWorld),this.expandByPoint(kb);a=a.children;c=0;for(b=a.length;c<b;c++)this.expandByObject(a[c]);return this}, +containsPoint:function(a){return a.x<this.min.x||a.x>this.max.x||a.y<this.min.y||a.y>this.max.y||a.z<this.min.z||a.z>this.max.z?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y&&this.min.z<=a.min.z&&a.max.z<=this.max.z},getParameter:function(a,b){void 0===b&&(console.warn("THREE.Box3: .getParameter() target is now required"),b=new n);return b.set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y), +(a.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(a){return a.max.x<this.min.x||a.min.x>this.max.x||a.max.y<this.min.y||a.min.y>this.max.y||a.max.z<this.min.z||a.min.z>this.max.z?!1:!0},intersectsSphere:function(a){this.clampPoint(a.center,kb);return kb.distanceToSquared(a.center)<=a.radius*a.radius},intersectsPlane:function(a){if(0<a.normal.x){var b=a.normal.x*this.min.x;var c=a.normal.x*this.max.x}else b=a.normal.x*this.max.x,c=a.normal.x*this.min.x;0<a.normal.y?(b+=a.normal.y*this.min.y, +c+=a.normal.y*this.max.y):(b+=a.normal.y*this.max.y,c+=a.normal.y*this.min.y);0<a.normal.z?(b+=a.normal.z*this.min.z,c+=a.normal.z*this.max.z):(b+=a.normal.z*this.max.z,c+=a.normal.z*this.min.z);return b<=-a.constant&&c>=-a.constant},intersectsTriangle:function(a){if(this.isEmpty())return!1;this.getCenter(Ae);vf.subVectors(this.max,Ae);rd.subVectors(a.a,Ae);sd.subVectors(a.b,Ae);td.subVectors(a.c,Ae);Nb.subVectors(sd,rd);Ob.subVectors(td,sd);sc.subVectors(rd,td);a=[0,-Nb.z,Nb.y,0,-Ob.z,Ob.y,0,-sc.z, +sc.y,Nb.z,0,-Nb.x,Ob.z,0,-Ob.x,sc.z,0,-sc.x,-Nb.y,Nb.x,0,-Ob.y,Ob.x,0,-sc.y,sc.x,0];if(!Tf(a,rd,sd,td,vf))return!1;a=[1,0,0,0,1,0,0,0,1];if(!Tf(a,rd,sd,td,vf))return!1;wf.crossVectors(Nb,Ob);a=[wf.x,wf.y,wf.z];return Tf(a,rd,sd,td,vf)},clampPoint:function(a,b){void 0===b&&(console.warn("THREE.Box3: .clampPoint() target is now required"),b=new n);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(a){return kb.copy(a).clamp(this.min,this.max).sub(a).length()},getBoundingSphere:function(a){void 0=== +a&&console.error("THREE.Box3: .getBoundingSphere() target is now required");this.getCenter(a.center);a.radius=.5*this.getSize(kb).length();return a},intersect:function(a){this.min.max(a.min);this.max.min(a.max);this.isEmpty()&&this.makeEmpty();return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(a){if(this.isEmpty())return this;wb[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(a);wb[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(a); +wb[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(a);wb[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(a);wb[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(a);wb[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(a);wb[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(a);wb[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(a);this.setFromPoints(wb);return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&& +a.max.equals(this.max)}});var yk=new bb;Object.assign(ob.prototype,{set:function(a,b){this.center.copy(a);this.radius=b;return this},setFromPoints:function(a,b){var c=this.center;void 0!==b?c.copy(b):yk.setFromPoints(a).getCenter(c);for(var d=b=0,e=a.length;d<e;d++)b=Math.max(b,c.distanceToSquared(a[d]));this.radius=Math.sqrt(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.center.copy(a.center);this.radius=a.radius;return this},empty:function(){return 0>= +this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},intersectsBox:function(a){return a.intersectsSphere(this)},intersectsPlane:function(a){return Math.abs(a.distanceToPoint(this.center))<=this.radius},clampPoint:function(a,b){var c=this.center.distanceToSquared(a); +void 0===b&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),b=new n);b.copy(a);c>this.radius*this.radius&&(b.sub(this.center).normalize(),b.multiplyScalar(this.radius).add(this.center));return b},getBoundingBox:function(a){void 0===a&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),a=new bb);a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this}, +translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&&a.radius===this.radius}});var xb=new n,Og=new n,xf=new n,Pb=new n,Pg=new n,yf=new n,Qg=new n;Object.assign(Tb.prototype,{set:function(a,b){this.origin.copy(a);this.direction.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.origin.copy(a.origin);this.direction.copy(a.direction);return this},at:function(a,b){void 0===b&&(console.warn("THREE.Ray: .at() target is now required"), +b=new n);return b.copy(this.direction).multiplyScalar(a).add(this.origin)},lookAt:function(a){this.direction.copy(a).sub(this.origin).normalize();return this},recast:function(a){this.origin.copy(this.at(a,xb));return this},closestPointToPoint:function(a,b){void 0===b&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),b=new n);b.subVectors(a,this.origin);a=b.dot(this.direction);return 0>a?b.copy(this.origin):b.copy(this.direction).multiplyScalar(a).add(this.origin)},distanceToPoint:function(a){return Math.sqrt(this.distanceSqToPoint(a))}, +distanceSqToPoint:function(a){var b=xb.subVectors(a,this.origin).dot(this.direction);if(0>b)return this.origin.distanceToSquared(a);xb.copy(this.direction).multiplyScalar(b).add(this.origin);return xb.distanceToSquared(a)},distanceSqToSegment:function(a,b,c,d){Og.copy(a).add(b).multiplyScalar(.5);xf.copy(b).sub(a).normalize();Pb.copy(this.origin).sub(Og);var e=.5*a.distanceTo(b),f=-this.direction.dot(xf),g=Pb.dot(this.direction),h=-Pb.dot(xf),l=Pb.lengthSq(),m=Math.abs(1-f*f);if(0<m){a=f*h-g;b=f* +g-h;var k=e*m;0<=a?b>=-k?b<=k?(e=1/m,a*=e,b*=e,f=a*(a+f*b+2*g)+b*(f*a+b+2*h)+l):(b=e,a=Math.max(0,-(f*b+g)),f=-a*a+b*(b+2*h)+l):(b=-e,a=Math.max(0,-(f*b+g)),f=-a*a+b*(b+2*h)+l):b<=-k?(a=Math.max(0,-(-f*e+g)),b=0<a?-e:Math.min(Math.max(-e,-h),e),f=-a*a+b*(b+2*h)+l):b<=k?(a=0,b=Math.min(Math.max(-e,-h),e),f=b*(b+2*h)+l):(a=Math.max(0,-(f*e+g)),b=0<a?e:Math.min(Math.max(-e,-h),e),f=-a*a+b*(b+2*h)+l)}else b=0<f?-e:e,a=Math.max(0,-(f*b+g)),f=-a*a+b*(b+2*h)+l;c&&c.copy(this.direction).multiplyScalar(a).add(this.origin); +d&&d.copy(xf).multiplyScalar(b).add(Og);return f},intersectSphere:function(a,b){xb.subVectors(a.center,this.origin);var c=xb.dot(this.direction),d=xb.dot(xb)-c*c;a=a.radius*a.radius;if(d>a)return null;a=Math.sqrt(a-d);d=c-a;c+=a;return 0>d&&0>c?null:0>d?this.at(c,b):this.at(d,b)},intersectsSphere:function(a){return this.distanceSqToPoint(a.center)<=a.radius*a.radius},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0===b)return 0===a.distanceToPoint(this.origin)?0:null;a=-(this.origin.dot(a.normal)+ +a.constant)/b;return 0<=a?a:null},intersectPlane:function(a,b){a=this.distanceToPlane(a);return null===a?null:this.at(a,b)},intersectsPlane:function(a){var b=a.distanceToPoint(this.origin);return 0===b||0>a.normal.dot(this.direction)*b?!0:!1},intersectBox:function(a,b){var c=1/this.direction.x;var d=1/this.direction.y;var e=1/this.direction.z,f=this.origin;if(0<=c){var g=(a.min.x-f.x)*c;c*=a.max.x-f.x}else g=(a.max.x-f.x)*c,c*=a.min.x-f.x;if(0<=d){var h=(a.min.y-f.y)*d;d*=a.max.y-f.y}else h=(a.max.y- +f.y)*d,d*=a.min.y-f.y;if(g>d||h>c)return null;if(h>g||g!==g)g=h;if(d<c||c!==c)c=d;0<=e?(h=(a.min.z-f.z)*e,a=(a.max.z-f.z)*e):(h=(a.max.z-f.z)*e,a=(a.min.z-f.z)*e);if(g>a||h>c)return null;if(h>g||g!==g)g=h;if(a<c||c!==c)c=a;return 0>c?null:this.at(0<=g?g:c,b)},intersectsBox:function(a){return null!==this.intersectBox(a,xb)},intersectTriangle:function(a,b,c,d,e){Pg.subVectors(b,a);yf.subVectors(c,a);Qg.crossVectors(Pg,yf);b=this.direction.dot(Qg);if(0<b){if(d)return null;d=1}else if(0>b)d=-1,b=-b;else return null; +Pb.subVectors(this.origin,a);a=d*this.direction.dot(yf.crossVectors(Pb,yf));if(0>a)return null;c=d*this.direction.dot(Pg.cross(Pb));if(0>c||a+c>b)return null;a=-d*Pb.dot(Qg);return 0>a?null:this.at(a/b,e)},applyMatrix4:function(a){this.origin.applyMatrix4(a);this.direction.transformDirection(a);return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)}});var Za=new n,yb=new n,Rg=new n,zb=new n,ud=new n,vd=new n,si=new n,Sg=new n,Tg=new n,Ug=new n;Object.assign(ha, +{getNormal:function(a,b,c,d){void 0===d&&(console.warn("THREE.Triangle: .getNormal() target is now required"),d=new n);d.subVectors(c,b);Za.subVectors(a,b);d.cross(Za);a=d.lengthSq();return 0<a?d.multiplyScalar(1/Math.sqrt(a)):d.set(0,0,0)},getBarycoord:function(a,b,c,d,e){Za.subVectors(d,b);yb.subVectors(c,b);Rg.subVectors(a,b);a=Za.dot(Za);b=Za.dot(yb);c=Za.dot(Rg);var f=yb.dot(yb);d=yb.dot(Rg);var g=a*f-b*b;void 0===e&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),e=new n); +if(0===g)return e.set(-2,-1,-1);g=1/g;f=(f*c-b*d)*g;a=(a*d-b*c)*g;return e.set(1-f-a,a,f)},containsPoint:function(a,b,c,d){ha.getBarycoord(a,b,c,d,zb);return 0<=zb.x&&0<=zb.y&&1>=zb.x+zb.y},getUV:function(a,b,c,d,e,f,g,h){this.getBarycoord(a,b,c,d,zb);h.set(0,0);h.addScaledVector(e,zb.x);h.addScaledVector(f,zb.y);h.addScaledVector(g,zb.z);return h},isFrontFacing:function(a,b,c,d){Za.subVectors(c,b);yb.subVectors(a,b);return 0>Za.cross(yb).dot(d)?!0:!1}});Object.assign(ha.prototype,{set:function(a, +b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},getArea:function(){Za.subVectors(this.c,this.b);yb.subVectors(this.a,this.b);return.5*Za.cross(yb).length()},getMidpoint:function(a){void 0===a&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"), +a=new n);return a.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(a){return ha.getNormal(this.a,this.b,this.c,a)},getPlane:function(a){void 0===a&&(console.warn("THREE.Triangle: .getPlane() target is now required"),a=new n);return a.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(a,b){return ha.getBarycoord(a,this.a,this.b,this.c,b)},getUV:function(a,b,c,d,e){return ha.getUV(a,this.a,this.b,this.c,b,c,d,e)},containsPoint:function(a){return ha.containsPoint(a, +this.a,this.b,this.c)},isFrontFacing:function(a){return ha.isFrontFacing(this.a,this.b,this.c,a)},intersectsBox:function(a){return a.intersectsTriangle(this)},closestPointToPoint:function(a,b){void 0===b&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),b=new n);var c=this.a,d=this.b,e=this.c;ud.subVectors(d,c);vd.subVectors(e,c);Sg.subVectors(a,c);var f=ud.dot(Sg),g=vd.dot(Sg);if(0>=f&&0>=g)return b.copy(c);Tg.subVectors(a,d);var h=ud.dot(Tg),l=vd.dot(Tg);if(0<=h&&l<= +h)return b.copy(d);var m=f*l-h*g;if(0>=m&&0<=f&&0>=h)return d=f/(f-h),b.copy(c).addScaledVector(ud,d);Ug.subVectors(a,e);a=ud.dot(Ug);var k=vd.dot(Ug);if(0<=k&&a<=k)return b.copy(e);f=a*g-f*k;if(0>=f&&0<=g&&0>=k)return m=g/(g-k),b.copy(c).addScaledVector(vd,m);g=h*k-a*l;if(0>=g&&0<=l-h&&0<=a-k)return si.subVectors(e,d),m=(l-h)/(l-h+(a-k)),b.copy(d).addScaledVector(si,m);e=1/(g+f+m);d=f*e;m*=e;return b.copy(c).addScaledVector(ud,d).addScaledVector(vd,m)},equals:function(a){return a.a.equals(this.a)&& +a.b.equals(this.b)&&a.c.equals(this.c)}});var zk={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017, +darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504, +green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734, +lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734, +palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407, +steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ha={h:0,s:0,l:0},zf={h:0,s:0,l:0};Object.assign(E.prototype,{isColor:!0,r:1,g:1,b:1,set:function(a){a&&a.isColor?this.copy(a):"number"===typeof a?this.setHex(a):"string"===typeof a&&this.setStyle(a);return this},setScalar:function(a){this.b=this.g=this.r=a;return this},setHex:function(a){a=Math.floor(a); +this.r=(a>>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSL:function(a,b,c){a=Q.euclideanModulo(a,1);b=Q.clamp(b,0,1);c=Q.clamp(c,0,1);0===b?this.r=this.g=this.b=c:(b=.5>=c?c*(1+b):c+b-c*b,c=2*c-b,this.r=Uf(c,b,a+1/3),this.g=Uf(c,b,a),this.b=Uf(c,b,a-1/3));return this},setStyle:function(a){function b(b){void 0!==b&&1>parseFloat(b)&&console.warn("THREE.Color: Alpha component of "+a+" will be ignored.")}var c;if(c= +/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(a)){var d=c[2];switch(c[1]){case "rgb":case "rgba":if(c=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r=Math.min(255,parseInt(c[1],10))/255,this.g=Math.min(255,parseInt(c[2],10))/255,this.b=Math.min(255,parseInt(c[3],10))/255,b(c[5]),this;if(c=/^(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r=Math.min(100,parseInt(c[1],10))/100,this.g=Math.min(100,parseInt(c[2],10))/100,this.b=Math.min(100, +parseInt(c[3],10))/100,b(c[5]),this;break;case "hsl":case "hsla":if(c=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d)){d=parseFloat(c[1])/360;var e=parseInt(c[2],10)/100,f=parseInt(c[3],10)/100;b(c[5]);return this.setHSL(d,e,f)}}}else if(c=/^#([A-Fa-f0-9]+)$/.exec(a)){c=c[1];d=c.length;if(3===d)return this.r=parseInt(c.charAt(0)+c.charAt(0),16)/255,this.g=parseInt(c.charAt(1)+c.charAt(1),16)/255,this.b=parseInt(c.charAt(2)+c.charAt(2),16)/255,this;if(6===d)return this.r= +parseInt(c.charAt(0)+c.charAt(1),16)/255,this.g=parseInt(c.charAt(2)+c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}a&&0<a.length&&(c=zk[a],void 0!==c?this.setHex(c):console.warn("THREE.Color: Unknown color "+a));return this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(a){this.r=a.r;this.g=a.g;this.b=a.b;return this},copyGammaToLinear:function(a,b){void 0===b&&(b=2);this.r=Math.pow(a.r,b);this.g=Math.pow(a.g,b);this.b=Math.pow(a.b,b); +return this},copyLinearToGamma:function(a,b){void 0===b&&(b=2);b=0<b?1/b:1;this.r=Math.pow(a.r,b);this.g=Math.pow(a.g,b);this.b=Math.pow(a.b,b);return this},convertGammaToLinear:function(a){this.copyGammaToLinear(this,a);return this},convertLinearToGamma:function(a){this.copyLinearToGamma(this,a);return this},copySRGBToLinear:function(a){this.r=Vf(a.r);this.g=Vf(a.g);this.b=Vf(a.b);return this},copyLinearToSRGB:function(a){this.r=Wf(a.r);this.g=Wf(a.g);this.b=Wf(a.b);return this},convertSRGBToLinear:function(){this.copySRGBToLinear(this); +return this},convertLinearToSRGB:function(){this.copyLinearToSRGB(this);return this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(a){void 0===a&&(console.warn("THREE.Color: .getHSL() target is now required"),a={h:0,s:0,l:0});var b=this.r,c=this.g,d=this.b,e=Math.max(b,c,d),f=Math.min(b,c,d),g,h=(f+e)/2;if(f===e)f=g=0;else{var l=e-f;f=.5>=h?l/(e+f):l/(2-e-f);switch(e){case b:g=(c- +d)/l+(c<d?6:0);break;case c:g=(d-b)/l+2;break;case d:g=(b-c)/l+4}g/=6}a.h=g;a.s=f;a.l=h;return a},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(a,b,c){this.getHSL(Ha);Ha.h+=a;Ha.s+=b;Ha.l+=c;this.setHSL(Ha.h,Ha.s,Ha.l);return this},add:function(a){this.r+=a.r;this.g+=a.g;this.b+=a.b;return this},addColors:function(a,b){this.r=a.r+b.r;this.g=a.g+b.g;this.b=a.b+b.b;return this},addScalar:function(a){this.r+=a;this.g+=a;this.b+=a;return this}, +sub:function(a){this.r=Math.max(0,this.r-a.r);this.g=Math.max(0,this.g-a.g);this.b=Math.max(0,this.b-a.b);return this},multiply:function(a){this.r*=a.r;this.g*=a.g;this.b*=a.b;return this},multiplyScalar:function(a){this.r*=a;this.g*=a;this.b*=a;return this},lerp:function(a,b){this.r+=(a.r-this.r)*b;this.g+=(a.g-this.g)*b;this.b+=(a.b-this.b)*b;return this},lerpHSL:function(a,b){this.getHSL(Ha);a.getHSL(zf);a=Q.lerp(Ha.h,zf.h,b);var c=Q.lerp(Ha.s,zf.s,b);b=Q.lerp(Ha.l,zf.l,b);this.setHSL(a,c,b);return this}, +equals:function(a){return a.r===this.r&&a.g===this.g&&a.b===this.b},fromArray:function(a,b){void 0===b&&(b=0);this.r=a[b];this.g=a[b+1];this.b=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.r;a[b+1]=this.g;a[b+2]=this.b;return a},toJSON:function(){return this.getHex()}});Object.assign(Ac.prototype,{clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a=a.a;this.b=a.b;this.c=a.c;this.normal.copy(a.normal);this.color.copy(a.color); +this.materialIndex=a.materialIndex;for(var b=0,c=a.vertexNormals.length;b<c;b++)this.vertexNormals[b]=a.vertexNormals[b].clone();b=0;for(c=a.vertexColors.length;b<c;b++)this.vertexColors[b]=a.vertexColors[b].clone();return this}});var Ti=0;N.prototype=Object.assign(Object.create(Ca.prototype),{constructor:N,isMaterial:!0,onBeforeCompile:function(){},setValues:function(a){if(void 0!==a)for(var b in a){var c=a[b];if(void 0===c)console.warn("THREE.Material: '"+b+"' parameter is undefined.");else if("shading"=== +b)console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===c?!0:!1;else{var d=this[b];void 0===d?console.warn("THREE."+this.type+": '"+b+"' is not a property of this material."):d&&d.isColor?d.set(c):d&&d.isVector3&&c&&c.isVector3?d.copy(c):this[b]=c}}},toJSON:function(a){function b(a){var b=[],c;for(c in a){var d=a[c];delete d.metadata;b.push(d)}return b}var c=void 0===a||"string"===typeof a;c&&(a={textures:{},images:{}});var d={metadata:{version:4.5, +type:"Material",generator:"Material.toJSON"}};d.uuid=this.uuid;d.type=this.type;""!==this.name&&(d.name=this.name);this.color&&this.color.isColor&&(d.color=this.color.getHex());void 0!==this.roughness&&(d.roughness=this.roughness);void 0!==this.metalness&&(d.metalness=this.metalness);this.sheen&&this.sheen.isColor&&(d.sheen=this.sheen.getHex());this.emissive&&this.emissive.isColor&&(d.emissive=this.emissive.getHex());this.emissiveIntensity&&1!==this.emissiveIntensity&&(d.emissiveIntensity=this.emissiveIntensity); +this.specular&&this.specular.isColor&&(d.specular=this.specular.getHex());void 0!==this.shininess&&(d.shininess=this.shininess);void 0!==this.clearcoat&&(d.clearcoat=this.clearcoat);void 0!==this.clearcoatRoughness&&(d.clearcoatRoughness=this.clearcoatRoughness);this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(d.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(a).uuid,d.clearcoatNormalScale=this.clearcoatNormalScale.toArray());this.map&&this.map.isTexture&&(d.map=this.map.toJSON(a).uuid); +this.matcap&&this.matcap.isTexture&&(d.matcap=this.matcap.toJSON(a).uuid);this.alphaMap&&this.alphaMap.isTexture&&(d.alphaMap=this.alphaMap.toJSON(a).uuid);this.lightMap&&this.lightMap.isTexture&&(d.lightMap=this.lightMap.toJSON(a).uuid);this.aoMap&&this.aoMap.isTexture&&(d.aoMap=this.aoMap.toJSON(a).uuid,d.aoMapIntensity=this.aoMapIntensity);this.bumpMap&&this.bumpMap.isTexture&&(d.bumpMap=this.bumpMap.toJSON(a).uuid,d.bumpScale=this.bumpScale);this.normalMap&&this.normalMap.isTexture&&(d.normalMap= +this.normalMap.toJSON(a).uuid,d.normalMapType=this.normalMapType,d.normalScale=this.normalScale.toArray());this.displacementMap&&this.displacementMap.isTexture&&(d.displacementMap=this.displacementMap.toJSON(a).uuid,d.displacementScale=this.displacementScale,d.displacementBias=this.displacementBias);this.roughnessMap&&this.roughnessMap.isTexture&&(d.roughnessMap=this.roughnessMap.toJSON(a).uuid);this.metalnessMap&&this.metalnessMap.isTexture&&(d.metalnessMap=this.metalnessMap.toJSON(a).uuid);this.emissiveMap&& +this.emissiveMap.isTexture&&(d.emissiveMap=this.emissiveMap.toJSON(a).uuid);this.specularMap&&this.specularMap.isTexture&&(d.specularMap=this.specularMap.toJSON(a).uuid);this.envMap&&this.envMap.isTexture&&(d.envMap=this.envMap.toJSON(a).uuid,d.reflectivity=this.reflectivity,d.refractionRatio=this.refractionRatio,void 0!==this.combine&&(d.combine=this.combine),void 0!==this.envMapIntensity&&(d.envMapIntensity=this.envMapIntensity));this.gradientMap&&this.gradientMap.isTexture&&(d.gradientMap=this.gradientMap.toJSON(a).uuid); +void 0!==this.size&&(d.size=this.size);void 0!==this.sizeAttenuation&&(d.sizeAttenuation=this.sizeAttenuation);1!==this.blending&&(d.blending=this.blending);!0===this.flatShading&&(d.flatShading=this.flatShading);0!==this.side&&(d.side=this.side);0!==this.vertexColors&&(d.vertexColors=this.vertexColors);1>this.opacity&&(d.opacity=this.opacity);!0===this.transparent&&(d.transparent=this.transparent);d.depthFunc=this.depthFunc;d.depthTest=this.depthTest;d.depthWrite=this.depthWrite;d.stencilWrite=this.stencilWrite; +d.stencilWriteMask=this.stencilWriteMask;d.stencilFunc=this.stencilFunc;d.stencilRef=this.stencilRef;d.stencilFuncMask=this.stencilFuncMask;d.stencilFail=this.stencilFail;d.stencilZFail=this.stencilZFail;d.stencilZPass=this.stencilZPass;this.rotation&&0!==this.rotation&&(d.rotation=this.rotation);!0===this.polygonOffset&&(d.polygonOffset=!0);0!==this.polygonOffsetFactor&&(d.polygonOffsetFactor=this.polygonOffsetFactor);0!==this.polygonOffsetUnits&&(d.polygonOffsetUnits=this.polygonOffsetUnits);this.linewidth&& +1!==this.linewidth&&(d.linewidth=this.linewidth);void 0!==this.dashSize&&(d.dashSize=this.dashSize);void 0!==this.gapSize&&(d.gapSize=this.gapSize);void 0!==this.scale&&(d.scale=this.scale);!0===this.dithering&&(d.dithering=!0);0<this.alphaTest&&(d.alphaTest=this.alphaTest);!0===this.premultipliedAlpha&&(d.premultipliedAlpha=this.premultipliedAlpha);!0===this.wireframe&&(d.wireframe=this.wireframe);1<this.wireframeLinewidth&&(d.wireframeLinewidth=this.wireframeLinewidth);"round"!==this.wireframeLinecap&& +(d.wireframeLinecap=this.wireframeLinecap);"round"!==this.wireframeLinejoin&&(d.wireframeLinejoin=this.wireframeLinejoin);!0===this.morphTargets&&(d.morphTargets=!0);!0===this.morphNormals&&(d.morphNormals=!0);!0===this.skinning&&(d.skinning=!0);!1===this.visible&&(d.visible=!1);!1===this.toneMapped&&(d.toneMapped=!1);"{}"!==JSON.stringify(this.userData)&&(d.userData=this.userData);c&&(c=b(a.textures),a=b(a.images),0<c.length&&(d.textures=c),0<a.length&&(d.images=a));return d},clone:function(){return(new this.constructor).copy(this)}, +copy:function(a){this.name=a.name;this.fog=a.fog;this.blending=a.blending;this.side=a.side;this.flatShading=a.flatShading;this.vertexColors=a.vertexColors;this.opacity=a.opacity;this.transparent=a.transparent;this.blendSrc=a.blendSrc;this.blendDst=a.blendDst;this.blendEquation=a.blendEquation;this.blendSrcAlpha=a.blendSrcAlpha;this.blendDstAlpha=a.blendDstAlpha;this.blendEquationAlpha=a.blendEquationAlpha;this.depthFunc=a.depthFunc;this.depthTest=a.depthTest;this.depthWrite=a.depthWrite;this.stencilWrite= +a.stencilWrite;this.stencilWriteMask=a.stencilWriteMask;this.stencilFunc=a.stencilFunc;this.stencilRef=a.stencilRef;this.stencilFuncMask=a.stencilFuncMask;this.stencilFail=a.stencilFail;this.stencilZFail=a.stencilZFail;this.stencilZPass=a.stencilZPass;this.colorWrite=a.colorWrite;this.precision=a.precision;this.polygonOffset=a.polygonOffset;this.polygonOffsetFactor=a.polygonOffsetFactor;this.polygonOffsetUnits=a.polygonOffsetUnits;this.dithering=a.dithering;this.alphaTest=a.alphaTest;this.premultipliedAlpha= +a.premultipliedAlpha;this.visible=a.visible;this.toneMapped=a.toneMapped;this.userData=JSON.parse(JSON.stringify(a.userData));this.clipShadows=a.clipShadows;this.clipIntersection=a.clipIntersection;var b=a.clippingPlanes,c=null;if(null!==b){var d=b.length;c=Array(d);for(var e=0;e!==d;++e)c[e]=b[e].clone()}this.clippingPlanes=c;this.shadowSide=a.shadowSide;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});Ia.prototype=Object.create(N.prototype);Ia.prototype.constructor=Ia;Ia.prototype.isMeshBasicMaterial= +!0;Ia.prototype.copy=function(a){N.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap; +this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;return this};Object.defineProperty(P.prototype,"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(P.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setDynamic:function(a){this.dynamic=a;return this},copy:function(a){this.name=a.name;this.array=new a.array.constructor(a.array);this.itemSize=a.itemSize;this.count=a.count;this.normalized=a.normalized;this.dynamic=a.dynamic; +return this},copyAt:function(a,b,c){a*=this.itemSize;c*=b.itemSize;for(var d=0,e=this.itemSize;d<e;d++)this.array[a+d]=b.array[c+d];return this},copyArray:function(a){this.array.set(a);return this},copyColorsArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",d),f=new E);b[c++]=f.r;b[c++]=f.g;b[c++]=f.b}return this},copyVector2sArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d< +e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",d),f=new A);b[c++]=f.x;b[c++]=f.y}return this},copyVector3sArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",d),f=new n);b[c++]=f.x;b[c++]=f.y;b[c++]=f.z}return this},copyVector4sArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined", +d),f=new W);b[c++]=f.x;b[c++]=f.y;b[c++]=f.z;b[c++]=f.w}return this},set:function(a,b){void 0===b&&(b=0);this.array.set(a,b);return this},getX:function(a){return this.array[a*this.itemSize]},setX:function(a,b){this.array[a*this.itemSize]=b;return this},getY:function(a){return this.array[a*this.itemSize+1]},setY:function(a,b){this.array[a*this.itemSize+1]=b;return this},getZ:function(a){return this.array[a*this.itemSize+2]},setZ:function(a,b){this.array[a*this.itemSize+2]=b;return this},getW:function(a){return this.array[a* +this.itemSize+3]},setW:function(a,b){this.array[a*this.itemSize+3]=b;return this},setXY:function(a,b,c){a*=this.itemSize;this.array[a+0]=b;this.array[a+1]=c;return this},setXYZ:function(a,b,c,d){a*=this.itemSize;this.array[a+0]=b;this.array[a+1]=c;this.array[a+2]=d;return this},setXYZW:function(a,b,c,d,e){a*=this.itemSize;this.array[a+0]=b;this.array[a+1]=c;this.array[a+2]=d;this.array[a+3]=e;return this},onUpload:function(a){this.onUploadCallback=a;return this},clone:function(){return(new this.constructor(this.array, +this.itemSize)).copy(this)},toJSON:function(){return{itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized}}});Ad.prototype=Object.create(P.prototype);Ad.prototype.constructor=Ad;Bd.prototype=Object.create(P.prototype);Bd.prototype.constructor=Bd;Cd.prototype=Object.create(P.prototype);Cd.prototype.constructor=Cd;Dd.prototype=Object.create(P.prototype);Dd.prototype.constructor=Dd;Ub.prototype=Object.create(P.prototype);Ub.prototype.constructor= +Ub;Ed.prototype=Object.create(P.prototype);Ed.prototype.constructor=Ed;Vb.prototype=Object.create(P.prototype);Vb.prototype.constructor=Vb;z.prototype=Object.create(P.prototype);z.prototype.constructor=z;Fd.prototype=Object.create(P.prototype);Fd.prototype.constructor=Fd;Object.assign(jh.prototype,{computeGroups:function(a){var b=[],c=void 0;a=a.faces;for(var d=0;d<a.length;d++){var e=a[d];if(e.materialIndex!==c){c=e.materialIndex;void 0!==f&&(f.count=3*d-f.start,b.push(f));var f={start:3*d,materialIndex:c}}}void 0!== +f&&(f.count=3*d-f.start,b.push(f));this.groups=b},fromGeometry:function(a){var b=a.faces,c=a.vertices,d=a.faceVertexUvs,e=d[0]&&0<d[0].length,f=d[1]&&0<d[1].length,g=a.morphTargets,h=g.length;if(0<h){var l=[];for(var m=0;m<h;m++)l[m]={name:g[m].name,data:[]};this.morphTargets.position=l}var k=a.morphNormals,n=k.length;if(0<n){var r=[];for(m=0;m<n;m++)r[m]={name:k[m].name,data:[]};this.morphTargets.normal=r}var t=a.skinIndices,p=a.skinWeights,v=t.length===c.length,w=p.length===c.length;0<c.length&& +0===b.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(m=0;m<b.length;m++){var y=b[m];this.vertices.push(c[y.a],c[y.b],c[y.c]);var x=y.vertexNormals;3===x.length?this.normals.push(x[0],x[1],x[2]):(x=y.normal,this.normals.push(x,x,x));x=y.vertexColors;3===x.length?this.colors.push(x[0],x[1],x[2]):(x=y.color,this.colors.push(x,x,x));!0===e&&(x=d[0][m],void 0!==x?this.uvs.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ", +m),this.uvs.push(new A,new A,new A)));!0===f&&(x=d[1][m],void 0!==x?this.uvs2.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",m),this.uvs2.push(new A,new A,new A)));for(x=0;x<h;x++){var z=g[x].vertices;l[x].data.push(z[y.a],z[y.b],z[y.c])}for(x=0;x<n;x++)z=k[x].vertexNormals[m],r[x].data.push(z.a,z.b,z.c);v&&this.skinIndices.push(t[y.a],t[y.b],t[y.c]);w&&this.skinWeights.push(p[y.a],p[y.b],p[y.c])}this.computeGroups(a);this.verticesNeedUpdate=a.verticesNeedUpdate; +this.normalsNeedUpdate=a.normalsNeedUpdate;this.colorsNeedUpdate=a.colorsNeedUpdate;this.uvsNeedUpdate=a.uvsNeedUpdate;this.groupsNeedUpdate=a.groupsNeedUpdate;null!==a.boundingSphere&&(this.boundingSphere=a.boundingSphere.clone());null!==a.boundingBox&&(this.boundingBox=a.boundingBox.clone());return this}});var Ui=1,lb=new O,Vg=new H,Af=new n,tc=new bb,Wg=new bb,$a=new n;D.prototype=Object.assign(Object.create(Ca.prototype),{constructor:D,isBufferGeometry:!0,getIndex:function(){return this.index}, +setIndex:function(a){Array.isArray(a)?this.index=new (65535<kh(a)?Vb:Ub)(a,1):this.index=a},addAttribute:function(a,b,c){return b&&b.isBufferAttribute||b&&b.isInterleavedBufferAttribute?"index"===a?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(b),this):this.setAttribute(a,b):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.addAttribute(a,new P(b,c)))},getAttribute:function(a){return this.attributes[a]}, +setAttribute:function(a,b){this.attributes[a]=b;return this},removeAttribute:function(a){delete this.attributes[a];return this},addGroup:function(a,b,c){this.groups.push({start:a,count:b,materialIndex:void 0!==c?c:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(a,b){this.drawRange.start=a;this.drawRange.count=b},applyMatrix:function(a){var b=this.attributes.position;void 0!==b&&(a.applyToBufferAttribute(b),b.needsUpdate=!0);var c=this.attributes.normal;void 0!==c&&(b=(new aa).getNormalMatrix(a), +b.applyToBufferAttribute(c),c.needsUpdate=!0);c=this.attributes.tangent;void 0!==c&&(b=(new aa).getNormalMatrix(a),b.applyToBufferAttribute(c),c.needsUpdate=!0);null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();return this},rotateX:function(a){lb.makeRotationX(a);this.applyMatrix(lb);return this},rotateY:function(a){lb.makeRotationY(a);this.applyMatrix(lb);return this},rotateZ:function(a){lb.makeRotationZ(a);this.applyMatrix(lb);return this}, +translate:function(a,b,c){lb.makeTranslation(a,b,c);this.applyMatrix(lb);return this},scale:function(a,b,c){lb.makeScale(a,b,c);this.applyMatrix(lb);return this},lookAt:function(a){Vg.lookAt(a);Vg.updateMatrix();this.applyMatrix(Vg.matrix);return this},center:function(){this.computeBoundingBox();this.boundingBox.getCenter(Af).negate();this.translate(Af.x,Af.y,Af.z);return this},setFromObject:function(a){var b=a.geometry;if(a.isPoints||a.isLine){a=new z(3*b.vertices.length,3);var c=new z(3*b.colors.length, +3);this.addAttribute("position",a.copyVector3sArray(b.vertices));this.addAttribute("color",c.copyColorsArray(b.colors));b.lineDistances&&b.lineDistances.length===b.vertices.length&&(a=new z(b.lineDistances.length,1),this.addAttribute("lineDistance",a.copyArray(b.lineDistances)));null!==b.boundingSphere&&(this.boundingSphere=b.boundingSphere.clone());null!==b.boundingBox&&(this.boundingBox=b.boundingBox.clone())}else a.isMesh&&b&&b.isGeometry&&this.fromGeometry(b);return this},setFromPoints:function(a){for(var b= +[],c=0,d=a.length;c<d;c++){var e=a[c];b.push(e.x,e.y,e.z||0)}this.addAttribute("position",new z(b,3));return this},updateFromObject:function(a){var b=a.geometry;if(a.isMesh){var c=b.__directGeometry;!0===b.elementsNeedUpdate&&(c=void 0,b.elementsNeedUpdate=!1);if(void 0===c)return this.fromGeometry(b);c.verticesNeedUpdate=b.verticesNeedUpdate;c.normalsNeedUpdate=b.normalsNeedUpdate;c.colorsNeedUpdate=b.colorsNeedUpdate;c.uvsNeedUpdate=b.uvsNeedUpdate;c.groupsNeedUpdate=b.groupsNeedUpdate;b.verticesNeedUpdate= +!1;b.normalsNeedUpdate=!1;b.colorsNeedUpdate=!1;b.uvsNeedUpdate=!1;b.groupsNeedUpdate=!1;b=c}!0===b.verticesNeedUpdate&&(c=this.attributes.position,void 0!==c&&(c.copyVector3sArray(b.vertices),c.needsUpdate=!0),b.verticesNeedUpdate=!1);!0===b.normalsNeedUpdate&&(c=this.attributes.normal,void 0!==c&&(c.copyVector3sArray(b.normals),c.needsUpdate=!0),b.normalsNeedUpdate=!1);!0===b.colorsNeedUpdate&&(c=this.attributes.color,void 0!==c&&(c.copyColorsArray(b.colors),c.needsUpdate=!0),b.colorsNeedUpdate= +!1);b.uvsNeedUpdate&&(c=this.attributes.uv,void 0!==c&&(c.copyVector2sArray(b.uvs),c.needsUpdate=!0),b.uvsNeedUpdate=!1);b.lineDistancesNeedUpdate&&(c=this.attributes.lineDistance,void 0!==c&&(c.copyArray(b.lineDistances),c.needsUpdate=!0),b.lineDistancesNeedUpdate=!1);b.groupsNeedUpdate&&(b.computeGroups(a.geometry),this.groups=b.groups,b.groupsNeedUpdate=!1);return this},fromGeometry:function(a){a.__directGeometry=(new jh).fromGeometry(a);return this.fromDirectGeometry(a.__directGeometry)},fromDirectGeometry:function(a){var b= +new Float32Array(3*a.vertices.length);this.addAttribute("position",(new P(b,3)).copyVector3sArray(a.vertices));0<a.normals.length&&(b=new Float32Array(3*a.normals.length),this.addAttribute("normal",(new P(b,3)).copyVector3sArray(a.normals)));0<a.colors.length&&(b=new Float32Array(3*a.colors.length),this.addAttribute("color",(new P(b,3)).copyColorsArray(a.colors)));0<a.uvs.length&&(b=new Float32Array(2*a.uvs.length),this.addAttribute("uv",(new P(b,2)).copyVector2sArray(a.uvs)));0<a.uvs2.length&&(b= +new Float32Array(2*a.uvs2.length),this.addAttribute("uv2",(new P(b,2)).copyVector2sArray(a.uvs2)));this.groups=a.groups;for(var c in a.morphTargets){b=[];for(var d=a.morphTargets[c],e=0,f=d.length;e<f;e++){var g=d[e],h=new z(3*g.data.length,3);h.name=g.name;b.push(h.copyVector3sArray(g.data))}this.morphAttributes[c]=b}0<a.skinIndices.length&&(c=new z(4*a.skinIndices.length,4),this.addAttribute("skinIndex",c.copyVector4sArray(a.skinIndices)));0<a.skinWeights.length&&(c=new z(4*a.skinWeights.length, +4),this.addAttribute("skinWeight",c.copyVector4sArray(a.skinWeights)));null!==a.boundingSphere&&(this.boundingSphere=a.boundingSphere.clone());null!==a.boundingBox&&(this.boundingBox=a.boundingBox.clone());return this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new bb);var a=this.attributes.position,b=this.morphAttributes.position;if(void 0!==a){if(this.boundingBox.setFromBufferAttribute(a),b){a=0;for(var c=b.length;a<c;a++)tc.setFromBufferAttribute(b[a]),this.boundingBox.expandByPoint(tc.min), +this.boundingBox.expandByPoint(tc.max)}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new ob);var a=this.attributes.position,b=this.morphAttributes.position;if(a){var c=this.boundingSphere.center; +tc.setFromBufferAttribute(a);if(b)for(var d=0,e=b.length;d<e;d++){var f=b[d];Wg.setFromBufferAttribute(f);tc.expandByPoint(Wg.min);tc.expandByPoint(Wg.max)}tc.getCenter(c);var g=0;d=0;for(e=a.count;d<e;d++)$a.fromBufferAttribute(a,d),g=Math.max(g,c.distanceToSquared($a));if(b)for(d=0,e=b.length;d<e;d++){f=b[d];a=0;for(var h=f.count;a<h;a++)$a.fromBufferAttribute(f,a),g=Math.max(g,c.distanceToSquared($a))}this.boundingSphere.radius=Math.sqrt(g);isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', +this)}},computeFaceNormals:function(){},computeVertexNormals:function(){var a=this.index,b=this.attributes;if(b.position){var c=b.position.array;if(void 0===b.normal)this.addAttribute("normal",new P(new Float32Array(c.length),3));else for(var d=b.normal.array,e=0,f=d.length;e<f;e++)d[e]=0;d=b.normal.array;var g=new n,h=new n,l=new n,m=new n,k=new n;if(a){var u=a.array;e=0;for(f=a.count;e<f;e+=3){a=3*u[e+0];var r=3*u[e+1];var t=3*u[e+2];g.fromArray(c,a);h.fromArray(c,r);l.fromArray(c,t);m.subVectors(l, +h);k.subVectors(g,h);m.cross(k);d[a]+=m.x;d[a+1]+=m.y;d[a+2]+=m.z;d[r]+=m.x;d[r+1]+=m.y;d[r+2]+=m.z;d[t]+=m.x;d[t+1]+=m.y;d[t+2]+=m.z}}else for(e=0,f=c.length;e<f;e+=9)g.fromArray(c,e),h.fromArray(c,e+3),l.fromArray(c,e+6),m.subVectors(l,h),k.subVectors(g,h),m.cross(k),d[e]=m.x,d[e+1]=m.y,d[e+2]=m.z,d[e+3]=m.x,d[e+4]=m.y,d[e+5]=m.z,d[e+6]=m.x,d[e+7]=m.y,d[e+8]=m.z;this.normalizeNormals();b.normal.needsUpdate=!0}},merge:function(a,b){if(a&&a.isBufferGeometry){void 0===b&&(b=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.")); +var c=this.attributes,d;for(d in c)if(void 0!==a.attributes[d]){var e=c[d].array,f=a.attributes[d],g=f.array,h=f.itemSize*b;f=Math.min(g.length,e.length-h);for(var l=0;l<f;l++,h++)e[h]=g[l]}return this}console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",a)},normalizeNormals:function(){for(var a=this.attributes.normal,b=0,c=a.count;b<c;b++)$a.x=a.getX(b),$a.y=a.getY(b),$a.z=a.getZ(b),$a.normalize(),a.setXYZ(b,$a.x,$a.y,$a.z)},toNonIndexed:function(){function a(a, +b){var c=a.array;a=a.itemSize;for(var d=new c.constructor(b.length*a),e,f=0,g=0,h=b.length;g<h;g++){e=b[g]*a;for(var l=0;l<a;l++)d[f++]=c[e++]}return new P(d,a)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var b=new D,c=this.index.array,d=this.attributes,e;for(e in d){var f=d[e];f=a(f,c);b.addAttribute(e,f)}var g=this.morphAttributes;for(e in g){var h=[],l=g[e];d=0;for(var m=l.length;d<m;d++)f=l[d],f=a(f,c),h.push(f);b.morphAttributes[e]= +h}c=this.groups;d=0;for(e=c.length;d<e;d++)f=c[d],b.addGroup(f.start,f.count,f.materialIndex);return b},toJSON:function(){var a={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};a.uuid=this.uuid;a.type=this.type;""!==this.name&&(a.name=this.name);0<Object.keys(this.userData).length&&(a.userData=this.userData);if(void 0!==this.parameters){var b=this.parameters;for(m in b)void 0!==b[m]&&(a[m]=b[m]);return a}a.data={attributes:{}};b=this.index;null!==b&&(a.data.index={type:b.array.constructor.name, +array:Array.prototype.slice.call(b.array)});var c=this.attributes;for(m in c){b=c[m];var d=b.toJSON();""!==b.name&&(d.name=b.name);a.data.attributes[m]=d}c={};var e=!1;for(m in this.morphAttributes){for(var f=this.morphAttributes[m],g=[],h=0,l=f.length;h<l;h++)b=f[h],d=b.toJSON(),""!==b.name&&(d.name=b.name),g.push(d);0<g.length&&(c[m]=g,e=!0)}e&&(a.data.morphAttributes=c);var m=this.groups;0<m.length&&(a.data.groups=JSON.parse(JSON.stringify(m)));m=this.boundingSphere;null!==m&&(a.data.boundingSphere= +{center:m.center.toArray(),radius:m.radius});return a},clone:function(){return(new D).copy(this)},copy:function(a){var b;this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.name=a.name;var c=a.index;null!==c&&this.setIndex(c.clone());c=a.attributes;for(g in c)this.addAttribute(g,c[g].clone());var d=a.morphAttributes;for(g in d){var e=[],f=d[g];c=0;for(b=f.length;c<b;c++)e.push(f[c].clone());this.morphAttributes[g]=e}var g=a.groups; +c=0;for(b=g.length;c<b;c++)d=g[c],this.addGroup(d.start,d.count,d.materialIndex);g=a.boundingBox;null!==g&&(this.boundingBox=g.clone());g=a.boundingSphere;null!==g&&(this.boundingSphere=g.clone());this.drawRange.start=a.drawRange.start;this.drawRange.count=a.drawRange.count;this.userData=a.userData;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});var ti=new O,uc=new Tb,Xg=new ob,Wb=new n,Xb=new n,Yb=new n,mh=new n,nh=new n,oh=new n,Xf=new n,Yf=new n,Zf=new n,Bc=new A,Cc=new A, +Dc=new A,Gd=new n,Ge=new n;da.prototype=Object.assign(Object.create(H.prototype),{constructor:da,isMesh:!0,setDrawMode:function(a){this.drawMode=a},copy:function(a){H.prototype.copy.call(this,a);this.drawMode=a.drawMode;void 0!==a.morphTargetInfluences&&(this.morphTargetInfluences=a.morphTargetInfluences.slice());void 0!==a.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},a.morphTargetDictionary));return this},updateMorphTargets:function(){var a=this.geometry;if(a.isBufferGeometry){a= +a.morphAttributes;var b=Object.keys(a);if(0<b.length){var c=a[b[0]];if(void 0!==c)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},a=0,b=c.length;a<b;a++){var d=c[a].name||String(a);this.morphTargetInfluences.push(0);this.morphTargetDictionary[d]=a}}}else a=a.morphTargets,void 0!==a&&0<a.length&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")},raycast:function(a,b){var c=this.geometry,d=this.material,e=this.matrixWorld; +if(void 0!==d&&(null===c.boundingSphere&&c.computeBoundingSphere(),Xg.copy(c.boundingSphere),Xg.applyMatrix4(e),!1!==a.ray.intersectsSphere(Xg)&&(ti.getInverse(e),uc.copy(a.ray).applyMatrix4(ti),null===c.boundingBox||!1!==uc.intersectsBox(c.boundingBox))))if(c.isBufferGeometry){var f=c.index;e=c.attributes.position;var g=c.morphAttributes.position,h=c.attributes.uv,l=c.attributes.uv2,m=c.groups,k=c.drawRange,n,r;if(null!==f)if(Array.isArray(d)){var t=0;for(n=m.length;t<n;t++){var p=m[t];var v=d[p.materialIndex]; +var w=Math.max(p.start,k.start);for(r=c=Math.min(p.start+p.count,k.start+k.count);w<r;w+=3){c=f.getX(w);var y=f.getX(w+1);var x=f.getX(w+2);if(c=He(this,v,a,uc,e,g,h,l,c,y,x))c.faceIndex=Math.floor(w/3),c.face.materialIndex=p.materialIndex,b.push(c)}}}else for(w=Math.max(0,k.start),c=Math.min(f.count,k.start+k.count),t=w,n=c;t<n;t+=3){if(c=f.getX(t),y=f.getX(t+1),x=f.getX(t+2),c=He(this,d,a,uc,e,g,h,l,c,y,x))c.faceIndex=Math.floor(t/3),b.push(c)}else if(void 0!==e)if(Array.isArray(d))for(t=0,n=m.length;t< +n;t++)for(p=m[t],v=d[p.materialIndex],w=Math.max(p.start,k.start),r=c=Math.min(p.start+p.count,k.start+k.count);w<r;w+=3){if(c=w,y=w+1,x=w+2,c=He(this,v,a,uc,e,g,h,l,c,y,x))c.faceIndex=Math.floor(w/3),c.face.materialIndex=p.materialIndex,b.push(c)}else for(w=Math.max(0,k.start),c=Math.min(e.count,k.start+k.count),t=w,n=c;t<n;t+=3)if(c=t,y=t+1,x=t+2,c=He(this,d,a,uc,e,g,h,l,c,y,x))c.faceIndex=Math.floor(t/3),b.push(c)}else if(c.isGeometry)for(e=Array.isArray(d),g=c.vertices,h=c.faces,c=c.faceVertexUvs[0], +0<c.length&&(f=c),t=0,n=h.length;t<n;t++)if(p=h[t],c=e?d[p.materialIndex]:d,void 0!==c&&(l=g[p.a],m=g[p.b],k=g[p.c],c=lh(this,c,a,uc,l,m,k,Gd)))f&&f[t]&&(v=f[t],Bc.copy(v[0]),Cc.copy(v[1]),Dc.copy(v[2]),c.uv=ha.getUV(Gd,l,m,k,Bc,Cc,Dc,new A)),c.face=p,c.faceIndex=t,b.push(c)},clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});var Vi=0,mb=new O,Yg=new H,Bf=new n;M.prototype=Object.assign(Object.create(Ca.prototype),{constructor:M,isGeometry:!0,applyMatrix:function(a){for(var b= +(new aa).getNormalMatrix(a),c=0,d=this.vertices.length;c<d;c++)this.vertices[c].applyMatrix4(a);c=0;for(d=this.faces.length;c<d;c++){a=this.faces[c];a.normal.applyMatrix3(b).normalize();for(var e=0,f=a.vertexNormals.length;e<f;e++)a.vertexNormals[e].applyMatrix3(b).normalize()}null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();this.normalsNeedUpdate=this.verticesNeedUpdate=!0;return this},rotateX:function(a){mb.makeRotationX(a);this.applyMatrix(mb); +return this},rotateY:function(a){mb.makeRotationY(a);this.applyMatrix(mb);return this},rotateZ:function(a){mb.makeRotationZ(a);this.applyMatrix(mb);return this},translate:function(a,b,c){mb.makeTranslation(a,b,c);this.applyMatrix(mb);return this},scale:function(a,b,c){mb.makeScale(a,b,c);this.applyMatrix(mb);return this},lookAt:function(a){Yg.lookAt(a);Yg.updateMatrix();this.applyMatrix(Yg.matrix);return this},fromBufferGeometry:function(a){function b(a,b,d,e){var f=void 0===h?[]:[c.colors[a].clone(), +c.colors[b].clone(),c.colors[d].clone()],k=void 0===g?[]:[(new n).fromArray(g,3*a),(new n).fromArray(g,3*b),(new n).fromArray(g,3*d)];e=new Ac(a,b,d,k,f,e);c.faces.push(e);void 0!==l&&c.faceVertexUvs[0].push([(new A).fromArray(l,2*a),(new A).fromArray(l,2*b),(new A).fromArray(l,2*d)]);void 0!==m&&c.faceVertexUvs[1].push([(new A).fromArray(m,2*a),(new A).fromArray(m,2*b),(new A).fromArray(m,2*d)])}var c=this,d=null!==a.index?a.index.array:void 0,e=a.attributes;if(void 0===e.position)return console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion."), +this;var f=e.position.array,g=void 0!==e.normal?e.normal.array:void 0,h=void 0!==e.color?e.color.array:void 0,l=void 0!==e.uv?e.uv.array:void 0,m=void 0!==e.uv2?e.uv2.array:void 0;void 0!==m&&(this.faceVertexUvs[1]=[]);for(e=0;e<f.length;e+=3)c.vertices.push((new n).fromArray(f,e)),void 0!==h&&c.colors.push((new E).fromArray(h,e));var k=a.groups;if(0<k.length)for(e=0;e<k.length;e++){f=k[e];var u=f.start,r=u;for(u+=f.count;r<u;r+=3)void 0!==d?b(d[r],d[r+1],d[r+2],f.materialIndex):b(r,r+1,r+2,f.materialIndex)}else if(void 0!== +d)for(e=0;e<d.length;e+=3)b(d[e],d[e+1],d[e+2]);else for(e=0;e<f.length/3;e+=3)b(e,e+1,e+2);this.computeFaceNormals();null!==a.boundingBox&&(this.boundingBox=a.boundingBox.clone());null!==a.boundingSphere&&(this.boundingSphere=a.boundingSphere.clone());return this},center:function(){this.computeBoundingBox();this.boundingBox.getCenter(Bf).negate();this.translate(Bf.x,Bf.y,Bf.z);return this},normalize:function(){this.computeBoundingSphere();var a=this.boundingSphere.center,b=this.boundingSphere.radius; +b=0===b?1:1/b;var c=new O;c.set(b,0,0,-b*a.x,0,b,0,-b*a.y,0,0,b,-b*a.z,0,0,0,1);this.applyMatrix(c);return this},computeFaceNormals:function(){for(var a=new n,b=new n,c=0,d=this.faces.length;c<d;c++){var e=this.faces[c],f=this.vertices[e.a],g=this.vertices[e.b];a.subVectors(this.vertices[e.c],g);b.subVectors(f,g);a.cross(b);a.normalize();e.normal.copy(a)}},computeVertexNormals:function(a){void 0===a&&(a=!0);var b;var c=Array(this.vertices.length);var d=0;for(b=this.vertices.length;d<b;d++)c[d]=new n; +if(a){var e=new n,f=new n;a=0;for(d=this.faces.length;a<d;a++){b=this.faces[a];var g=this.vertices[b.a];var h=this.vertices[b.b];var l=this.vertices[b.c];e.subVectors(l,h);f.subVectors(g,h);e.cross(f);c[b.a].add(e);c[b.b].add(e);c[b.c].add(e)}}else for(this.computeFaceNormals(),a=0,d=this.faces.length;a<d;a++)b=this.faces[a],c[b.a].add(b.normal),c[b.b].add(b.normal),c[b.c].add(b.normal);d=0;for(b=this.vertices.length;d<b;d++)c[d].normalize();a=0;for(d=this.faces.length;a<d;a++)b=this.faces[a],g=b.vertexNormals, +3===g.length?(g[0].copy(c[b.a]),g[1].copy(c[b.b]),g[2].copy(c[b.c])):(g[0]=c[b.a].clone(),g[1]=c[b.b].clone(),g[2]=c[b.c].clone());0<this.faces.length&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var a;this.computeFaceNormals();var b=0;for(a=this.faces.length;b<a;b++){var c=this.faces[b];var d=c.vertexNormals;3===d.length?(d[0].copy(c.normal),d[1].copy(c.normal),d[2].copy(c.normal)):(d[0]=c.normal.clone(),d[1]=c.normal.clone(),d[2]=c.normal.clone())}0<this.faces.length&&(this.normalsNeedUpdate= +!0)},computeMorphNormals:function(){var a,b;var c=0;for(b=this.faces.length;c<b;c++){var d=this.faces[c];d.__originalFaceNormal?d.__originalFaceNormal.copy(d.normal):d.__originalFaceNormal=d.normal.clone();d.__originalVertexNormals||(d.__originalVertexNormals=[]);var e=0;for(a=d.vertexNormals.length;e<a;e++)d.__originalVertexNormals[e]?d.__originalVertexNormals[e].copy(d.vertexNormals[e]):d.__originalVertexNormals[e]=d.vertexNormals[e].clone()}var f=new M;f.faces=this.faces;e=0;for(a=this.morphTargets.length;e< +a;e++){if(!this.morphNormals[e]){this.morphNormals[e]={};this.morphNormals[e].faceNormals=[];this.morphNormals[e].vertexNormals=[];d=this.morphNormals[e].faceNormals;var g=this.morphNormals[e].vertexNormals;c=0;for(b=this.faces.length;c<b;c++){var h=new n;var l={a:new n,b:new n,c:new n};d.push(h);g.push(l)}}g=this.morphNormals[e];f.vertices=this.morphTargets[e].vertices;f.computeFaceNormals();f.computeVertexNormals();c=0;for(b=this.faces.length;c<b;c++)d=this.faces[c],h=g.faceNormals[c],l=g.vertexNormals[c], +h.copy(d.normal),l.a.copy(d.vertexNormals[0]),l.b.copy(d.vertexNormals[1]),l.c.copy(d.vertexNormals[2])}c=0;for(b=this.faces.length;c<b;c++)d=this.faces[c],d.normal=d.__originalFaceNormal,d.vertexNormals=d.__originalVertexNormals},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new bb);this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new ob);this.boundingSphere.setFromPoints(this.vertices)},merge:function(a, +b,c){if(a&&a.isGeometry){var d,e=this.vertices.length,f=this.vertices,g=a.vertices,h=this.faces,l=a.faces,m=this.colors,k=a.colors;void 0===c&&(c=0);void 0!==b&&(d=(new aa).getNormalMatrix(b));for(var n=0,r=g.length;n<r;n++){var t=g[n].clone();void 0!==b&&t.applyMatrix4(b);f.push(t)}n=0;for(r=k.length;n<r;n++)m.push(k[n].clone());n=0;for(r=l.length;n<r;n++){g=l[n];var p=g.vertexNormals;k=g.vertexColors;m=new Ac(g.a+e,g.b+e,g.c+e);m.normal.copy(g.normal);void 0!==d&&m.normal.applyMatrix3(d).normalize(); +b=0;for(f=p.length;b<f;b++)t=p[b].clone(),void 0!==d&&t.applyMatrix3(d).normalize(),m.vertexNormals.push(t);m.color.copy(g.color);b=0;for(f=k.length;b<f;b++)t=k[b],m.vertexColors.push(t.clone());m.materialIndex=g.materialIndex+c;h.push(m)}n=0;for(r=a.faceVertexUvs.length;n<r;n++)for(c=a.faceVertexUvs[n],void 0===this.faceVertexUvs[n]&&(this.faceVertexUvs[n]=[]),b=0,f=c.length;b<f;b++){d=c[b];e=[];h=0;for(l=d.length;h<l;h++)e.push(d[h].clone());this.faceVertexUvs[n].push(e)}}else console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.", +a)},mergeMesh:function(a){a&&a.isMesh?(a.matrixAutoUpdate&&a.updateMatrix(),this.merge(a.geometry,a.matrix)):console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",a)},mergeVertices:function(){var a={},b=[],c=[],d=Math.pow(10,4),e;var f=0;for(e=this.vertices.length;f<e;f++){var g=this.vertices[f];g=Math.round(g.x*d)+"_"+Math.round(g.y*d)+"_"+Math.round(g.z*d);void 0===a[g]?(a[g]=f,b.push(this.vertices[f]),c[f]=b.length-1):c[f]=c[a[g]]}a=[];f=0;for(e=this.faces.length;f<e;f++)for(d= +this.faces[f],d.a=c[d.a],d.b=c[d.b],d.c=c[d.c],d=[d.a,d.b,d.c],g=0;3>g;g++)if(d[g]===d[(g+1)%3]){a.push(f);break}for(f=a.length-1;0<=f;f--)for(d=a[f],this.faces.splice(d,1),c=0,e=this.faceVertexUvs.length;c<e;c++)this.faceVertexUvs[c].splice(d,1);f=this.vertices.length-b.length;this.vertices=b;return f},setFromPoints:function(a){this.vertices=[];for(var b=0,c=a.length;b<c;b++){var d=a[b];this.vertices.push(new n(d.x,d.y,d.z||0))}return this},sortFacesByMaterialIndex:function(){for(var a=this.faces, +b=a.length,c=0;c<b;c++)a[c]._id=c;a.sort(function(a,b){return a.materialIndex-b.materialIndex});var d=this.faceVertexUvs[0],e=this.faceVertexUvs[1],f,g;d&&d.length===b&&(f=[]);e&&e.length===b&&(g=[]);for(c=0;c<b;c++){var h=a[c]._id;f&&f.push(d[h]);g&&g.push(e[h])}f&&(this.faceVertexUvs[0]=f);g&&(this.faceVertexUvs[1]=g)},toJSON:function(){function a(a,b,c){return c?a|1<<b:a&~(1<<b)}function b(a){var b=a.x.toString()+a.y.toString()+a.z.toString();if(void 0!==m[b])return m[b];m[b]=l.length/3;l.push(a.x, +a.y,a.z);return m[b]}function c(a){var b=a.r.toString()+a.g.toString()+a.b.toString();if(void 0!==n[b])return n[b];n[b]=k.length;k.push(a.getHex());return n[b]}function d(a){var b=a.x.toString()+a.y.toString();if(void 0!==t[b])return t[b];t[b]=r.length/2;r.push(a.x,a.y);return t[b]}var e={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};e.uuid=this.uuid;e.type=this.type;""!==this.name&&(e.name=this.name);if(void 0!==this.parameters){var f=this.parameters,g;for(g in f)void 0!==f[g]&& +(e[g]=f[g]);return e}f=[];for(g=0;g<this.vertices.length;g++){var h=this.vertices[g];f.push(h.x,h.y,h.z)}h=[];var l=[],m={},k=[],n={},r=[],t={};for(g=0;g<this.faces.length;g++){var p=this.faces[g],v=void 0!==this.faceVertexUvs[0][g],w=0<p.normal.length(),y=0<p.vertexNormals.length,x=1!==p.color.r||1!==p.color.g||1!==p.color.b,A=0<p.vertexColors.length,z=0;z=a(z,0,0);z=a(z,1,!0);z=a(z,2,!1);z=a(z,3,v);z=a(z,4,w);z=a(z,5,y);z=a(z,6,x);z=a(z,7,A);h.push(z);h.push(p.a,p.b,p.c);h.push(p.materialIndex); +v&&(v=this.faceVertexUvs[0][g],h.push(d(v[0]),d(v[1]),d(v[2])));w&&h.push(b(p.normal));y&&(w=p.vertexNormals,h.push(b(w[0]),b(w[1]),b(w[2])));x&&h.push(c(p.color));A&&(p=p.vertexColors,h.push(c(p[0]),c(p[1]),c(p[2])))}e.data={};e.data.vertices=f;e.data.normals=l;0<k.length&&(e.data.colors=k);0<r.length&&(e.data.uvs=[r]);e.data.faces=h;return e},clone:function(){return(new M).copy(this)},copy:function(a){var b,c,d;this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets= +[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingSphere=this.boundingBox=null;this.name=a.name;var e=a.vertices;var f=0;for(b=e.length;f<b;f++)this.vertices.push(e[f].clone());e=a.colors;f=0;for(b=e.length;f<b;f++)this.colors.push(e[f].clone());e=a.faces;f=0;for(b=e.length;f<b;f++)this.faces.push(e[f].clone());f=0;for(b=a.faceVertexUvs.length;f<b;f++){var g=a.faceVertexUvs[f];void 0===this.faceVertexUvs[f]&&(this.faceVertexUvs[f]=[]);e=0;for(c=g.length;e< +c;e++){var h=g[e],l=[];var k=0;for(d=h.length;k<d;k++)l.push(h[k].clone());this.faceVertexUvs[f].push(l)}}k=a.morphTargets;f=0;for(b=k.length;f<b;f++){d={};d.name=k[f].name;if(void 0!==k[f].vertices)for(d.vertices=[],e=0,c=k[f].vertices.length;e<c;e++)d.vertices.push(k[f].vertices[e].clone());if(void 0!==k[f].normals)for(d.normals=[],e=0,c=k[f].normals.length;e<c;e++)d.normals.push(k[f].normals[e].clone());this.morphTargets.push(d)}k=a.morphNormals;f=0;for(b=k.length;f<b;f++){d={};if(void 0!==k[f].vertexNormals)for(d.vertexNormals= +[],e=0,c=k[f].vertexNormals.length;e<c;e++)g=k[f].vertexNormals[e],h={},h.a=g.a.clone(),h.b=g.b.clone(),h.c=g.c.clone(),d.vertexNormals.push(h);if(void 0!==k[f].faceNormals)for(d.faceNormals=[],e=0,c=k[f].faceNormals.length;e<c;e++)d.faceNormals.push(k[f].faceNormals[e].clone());this.morphNormals.push(d)}e=a.skinWeights;f=0;for(b=e.length;f<b;f++)this.skinWeights.push(e[f].clone());e=a.skinIndices;f=0;for(b=e.length;f<b;f++)this.skinIndices.push(e[f].clone());e=a.lineDistances;f=0;for(b=e.length;f< +b;f++)this.lineDistances.push(e[f]);f=a.boundingBox;null!==f&&(this.boundingBox=f.clone());f=a.boundingSphere;null!==f&&(this.boundingSphere=f.clone());this.elementsNeedUpdate=a.elementsNeedUpdate;this.verticesNeedUpdate=a.verticesNeedUpdate;this.uvsNeedUpdate=a.uvsNeedUpdate;this.normalsNeedUpdate=a.normalsNeedUpdate;this.colorsNeedUpdate=a.colorsNeedUpdate;this.lineDistancesNeedUpdate=a.lineDistancesNeedUpdate;this.groupsNeedUpdate=a.groupsNeedUpdate;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}}); +var Zg=function(a){function b(b,d,e,f,g,h){a.call(this);this.type="BoxGeometry";this.parameters={width:b,height:d,depth:e,widthSegments:f,heightSegments:g,depthSegments:h};this.fromBufferGeometry(new Jd(b,d,e,f,g,h));this.mergeVertices()}a&&(b.__proto__=a);b.prototype=Object.create(a&&a.prototype);return b.prototype.constructor=b}(M),Jd=function(a){function b(b,d,e,f,g,h){function c(a,b,c,d,e,f,g,h,l,m,z){var w=f/l,y=g/m,x=f/2,B=g/2,A=h/2;g=l+1;var C=m+1,E=f=0,D,G,F=new n;for(G=0;G<C;G++){var K=G* +y-B;for(D=0;D<g;D++)F[a]=(D*w-x)*d,F[b]=K*e,F[c]=A,u.push(F.x,F.y,F.z),F[a]=0,F[b]=0,F[c]=0<h?1:-1,r.push(F.x,F.y,F.z),t.push(D/l),t.push(1-G/m),f+=1}for(G=0;G<m;G++)for(D=0;D<l;D++)a=p+D+g*(G+1),b=p+(D+1)+g*(G+1),c=p+(D+1)+g*G,q.push(p+D+g*G,a,c),q.push(a,b,c),E+=6;k.addGroup(v,E,z);v+=E;p+=f}a.call(this);this.type="BoxBufferGeometry";this.parameters={width:b,height:d,depth:e,widthSegments:f,heightSegments:g,depthSegments:h};var k=this;b=b||1;d=d||1;e=e||1;f=Math.floor(f)||1;g=Math.floor(g)||1;h= +Math.floor(h)||1;var q=[],u=[],r=[],t=[],p=0,v=0;c("z","y","x",-1,-1,e,d,b,h,g,0);c("z","y","x",1,-1,e,d,-b,h,g,1);c("x","z","y",1,1,b,e,d,f,h,2);c("x","z","y",1,-1,b,e,-d,f,h,3);c("x","y","z",1,-1,b,d,e,f,g,4);c("x","y","z",-1,-1,b,d,-e,f,g,5);this.setIndex(q);this.addAttribute("position",new z(u,3));this.addAttribute("normal",new z(r,3));this.addAttribute("uv",new z(t,2))}a&&(b.__proto__=a);b.prototype=Object.create(a&&a.prototype);return b.prototype.constructor=b}(D),Ak={clone:Zb,merge:Ea};na.prototype= +Object.create(N.prototype);na.prototype.constructor=na;na.prototype.isShaderMaterial=!0;na.prototype.copy=function(a){N.prototype.copy.call(this,a);this.fragmentShader=a.fragmentShader;this.vertexShader=a.vertexShader;this.uniforms=Zb(a.uniforms);this.defines=Object.assign({},a.defines);this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.lights=a.lights;this.clipping=a.clipping;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;this.extensions= +a.extensions;return this};na.prototype.toJSON=function(a){var b=N.prototype.toJSON.call(this,a);b.uniforms={};for(var c in this.uniforms){var d=this.uniforms[c].value;b.uniforms[c]=d&&d.isTexture?{type:"t",value:d.toJSON(a).uuid}:d&&d.isColor?{type:"c",value:d.getHex()}:d&&d.isVector2?{type:"v2",value:d.toArray()}:d&&d.isVector3?{type:"v3",value:d.toArray()}:d&&d.isVector4?{type:"v4",value:d.toArray()}:d&&d.isMatrix3?{type:"m3",value:d.toArray()}:d&&d.isMatrix4?{type:"m4",value:d.toArray()}:{value:d}}0< +Object.keys(this.defines).length&&(b.defines=this.defines);b.vertexShader=this.vertexShader;b.fragmentShader=this.fragmentShader;a={};for(var e in this.extensions)!0===this.extensions[e]&&(a[e]=!0);0<Object.keys(a).length&&(b.extensions=a);return b};cb.prototype=Object.assign(Object.create(H.prototype),{constructor:cb,isCamera:!0,copy:function(a,b){H.prototype.copy.call(this,a,b);this.matrixWorldInverse.copy(a.matrixWorldInverse);this.projectionMatrix.copy(a.projectionMatrix);this.projectionMatrixInverse.copy(a.projectionMatrixInverse); +return this},getWorldDirection:function(a){void 0===a&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),a=new n);this.updateMatrixWorld(!0);var b=this.matrixWorld.elements;return a.set(-b[8],-b[9],-b[10]).normalize()},updateMatrixWorld:function(a){H.prototype.updateMatrixWorld.call(this,a);this.matrixWorldInverse.getInverse(this.matrixWorld)},clone:function(){return(new this.constructor).copy(this)}});oa.prototype=Object.assign(Object.create(cb.prototype),{constructor:oa, +isPerspectiveCamera:!0,copy:function(a,b){cb.prototype.copy.call(this,a,b);this.fov=a.fov;this.zoom=a.zoom;this.near=a.near;this.far=a.far;this.focus=a.focus;this.aspect=a.aspect;this.view=null===a.view?null:Object.assign({},a.view);this.filmGauge=a.filmGauge;this.filmOffset=a.filmOffset;return this},setFocalLength:function(a){a=.5*this.getFilmHeight()/a;this.fov=2*Q.RAD2DEG*Math.atan(a);this.updateProjectionMatrix()},getFocalLength:function(){var a=Math.tan(.5*Q.DEG2RAD*this.fov);return.5*this.getFilmHeight()/ +a},getEffectiveFOV:function(){return 2*Q.RAD2DEG*Math.atan(Math.tan(.5*Q.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(a,b,c,d,e,f){this.aspect=a/b;null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=!0;this.view.fullWidth=a;this.view.fullHeight=b;this.view.offsetX=c;this.view.offsetY= +d;this.view.width=e;this.view.height=f;this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1);this.updateProjectionMatrix()},updateProjectionMatrix:function(){var a=this.near,b=a*Math.tan(.5*Q.DEG2RAD*this.fov)/this.zoom,c=2*b,d=this.aspect*c,e=-.5*d,f=this.view;if(null!==this.view&&this.view.enabled){var g=f.fullWidth,h=f.fullHeight;e+=f.offsetX*d/g;b-=f.offsetY*c/h;d*=f.width/g;c*=f.height/h}f=this.filmOffset;0!==f&&(e+=a*f/this.getFilmWidth());this.projectionMatrix.makePerspective(e, +e+d,b,b-c,a,this.far);this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(a){a=H.prototype.toJSON.call(this,a);a.object.fov=this.fov;a.object.zoom=this.zoom;a.object.near=this.near;a.object.far=this.far;a.object.focus=this.focus;a.object.aspect=this.aspect;null!==this.view&&(a.object.view=Object.assign({},this.view));a.object.filmGauge=this.filmGauge;a.object.filmOffset=this.filmOffset;return a}});Ec.prototype=Object.create(H.prototype);Ec.prototype.constructor=Ec;Bb.prototype= +Object.create(la.prototype);Bb.prototype.constructor=Bb;Bb.prototype.isWebGLRenderTargetCube=!0;Bb.prototype.fromEquirectangularTexture=function(a,b){this.texture.type=b.type;this.texture.format=b.format;this.texture.encoding=b.encoding;var c=new zd,d=new na({type:"CubemapFromEquirect",uniforms:Zb({tEquirect:{value:null}}),vertexShader:"varying vec3 vWorldDirection;\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}", +fragmentShader:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}",side:1,blending:0});d.uniforms.tEquirect.value=b;b=new da(new Jd(5, +5,5),d);c.add(b);d=new Ec(1,10,1);d.renderTarget=this;d.renderTarget.texture.name="CubeCameraTexture";d.update(a,c);b.geometry.dispose();b.material.dispose();return this};$b.prototype=Object.create(Y.prototype);$b.prototype.constructor=$b;$b.prototype.isDataTexture=!0;var $g=new n,Bk=new n,Ck=new aa;Object.assign(db.prototype,{isPlane:!0,set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a, +b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(a,b,c){b=$g.subVectors(c,b).cross(Bk.subVectors(a,b)).normalize();this.setFromNormalAndCoplanarPoint(b,a);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this},negate:function(){this.constant*= +-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){void 0===b&&(console.warn("THREE.Plane: .projectPoint() target is now required"),b=new n);return b.copy(this.normal).multiplyScalar(-this.distanceToPoint(a)).add(a)},intersectLine:function(a,b){void 0===b&&(console.warn("THREE.Plane: .intersectLine() target is now required"),b=new n);var c= +a.delta($g),d=this.normal.dot(c);if(0===d){if(0===this.distanceToPoint(a.start))return b.copy(a.start)}else if(d=-(a.start.dot(this.normal)+this.constant)/d,!(0>d||1<d))return b.copy(c).multiplyScalar(d).add(a.start)},intersectsLine:function(a){var b=this.distanceToPoint(a.start);a=this.distanceToPoint(a.end);return 0>b&&0<a||0>a&&0<b},intersectsBox:function(a){return a.intersectsPlane(this)},intersectsSphere:function(a){return a.intersectsPlane(this)},coplanarPoint:function(a){void 0===a&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"), +a=new n);return a.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(a,b){b=b||Ck.getNormalMatrix(a);a=this.coplanarPoint($g).applyMatrix4(a);b=this.normal.applyMatrix3(b).normalize();this.constant=-a.dot(b);return this},translate:function(a){this.constant-=a.dot(this.normal);return this},equals:function(a){return a.normal.equals(this.normal)&&a.constant===this.constant}});var wd=new ob,Cf=new n;Object.assign(Hd.prototype,{set:function(a,b,c,d,e,f){var g=this.planes;g[0].copy(a); +g[1].copy(b);g[2].copy(c);g[3].copy(d);g[4].copy(e);g[5].copy(f);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){for(var b=this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],l=c[6],k=c[7],n=c[8],u=c[9],r=c[10],t=c[11],p=c[12],v=c[13],w=c[14];c=c[15];b[0].setComponents(f-a,k-g,t-n,c-p).normalize();b[1].setComponents(f+a,k+g,t+n,c+p).normalize();b[2].setComponents(f+ +d,k+h,t+u,c+v).normalize();b[3].setComponents(f-d,k-h,t-u,c-v).normalize();b[4].setComponents(f-e,k-l,t-r,c-w).normalize();b[5].setComponents(f+e,k+l,t+r,c+w).normalize();return this},intersectsObject:function(a){var b=a.geometry;null===b.boundingSphere&&b.computeBoundingSphere();wd.copy(b.boundingSphere).applyMatrix4(a.matrixWorld);return this.intersectsSphere(wd)},intersectsSprite:function(a){wd.center.set(0,0,0);wd.radius=.7071067811865476;wd.applyMatrix4(a.matrixWorld);return this.intersectsSphere(wd)}, +intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d=0;6>d;d++)if(b[d].distanceToPoint(c)<a)return!1;return!0},intersectsBox:function(a){for(var b=this.planes,c=0;6>c;c++){var d=b[c];Cf.x=0<d.normal.x?a.max.x:a.min.x;Cf.y=0<d.normal.y?a.max.y:a.min.y;Cf.z=0<d.normal.z?a.max.z:a.min.z;if(0>d.distanceToPoint(Cf))return!1}return!0},containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0}});var T={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif", +alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif", +aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif", +bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif", +clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t#endif\n#endif", +clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( STANDARD ) && ! defined( PHONG ) && ! defined( MATCAP )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( STANDARD ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvarying vec3 vViewPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( STANDARD ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif", +color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",common:"#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n return m[ 2 ][ 3 ] == - 1.0;\n}", +cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif", +defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\ttransformedNormal = mat3( instanceMatrix ) * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = normalMatrix * objectTangent;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif", +displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif", +encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}", +envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif", +envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif", +envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t vec3 reflectVec = reflect( -viewDir, normal );\n\t\t reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t vec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryReflectVec, roughness );\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif", +envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tfogDepth = -mvPosition.z;\n#endif", +fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif", +gradientmap_pars_fragment:"#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif", +lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif", +lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t\tfloat shadowCameraNear;\n\t\tfloat shadowCameraFar;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif", +lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)", +lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = saturate( clearcoat );\tmaterial.clearcoatRoughness = clamp( clearcoatRoughness, 0.04, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif", +lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}", +lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\n#ifdef CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tdirectLight.color *= all( bvec3( pointLight.shadow, directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tdirectLight.color *= all( bvec3( spotLight.shadow, directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectLight.color *= all( bvec3( directionalLight.shadow, directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif", +lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif", +lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 1.0 ? log2( vFragDepth ) * logDepthBufFC * 0.5 : gl_FragCoord.z;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif", +logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif", +map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif",map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform mat3 uvTransform;\n\tuniform sampler2D map;\n#endif", +metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif", +morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif", +normal_fragment_begin:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;", +normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\t#ifdef USE_TANGENT\n\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\tmapN.xy = normalScale * mapN.xy;\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, normalScale, normalMap );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif", +normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 normalScale, in sampler2D normalMap ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\tvec3 N = normalize( surf_norm );\n\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\tmapN.xy *= normalScale;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tbool frontFacing = dot( cross( S, T ), N ) > 0.0;\n\t\t\tmapN.xy *= ( float( frontFacing ) * 2.0 - 1.0 );\n\t\t#else\n\t\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\tmat3 tsn = mat3( S, T, N );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif", +clearcoat_normal_fragment_begin:"#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 vTBN = mat3( tangent, bitangent, clearcoatNormal );\n\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\tmapN.xy = clearcoatNormalScale * mapN.xy;\n\t\tclearcoatNormal = normalize( vTBN * mapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatNormalScale, clearcoatNormalMap );\n\t#endif\n#endif", +clearcoat_normalmap_pars_fragment:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 encodeHalfRGBA ( vec2 v ) {\n\tvec4 encoded = vec4( 0.0 );\n\tconst vec2 offset = vec2( 1.0 / 255.0, 0.0 );\n\tencoded.xy = vec2( v.x, fract( v.x * 255.0 ) );\n\tencoded.xy = encoded.xy - ( encoded.yy * offset );\n\tencoded.zw = vec2( v.y, fract( v.y * 255.0 ) );\n\tencoded.zw = encoded.zw - ( encoded.ww * offset );\n\treturn encoded;\n}\nvec2 decodeHalfRGBA( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}", +premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif", +roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn decodeHalfRGBA( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = ( floor( uv * size - 0.5 ) + 0.5 ) * texelSize;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif", +shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif", +shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif", +shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= all( bvec2( directionalLight.shadow, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= all( bvec2( spotLight.shadow, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= all( bvec2( pointLight.shadow, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}", +skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif", +skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif", +specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( ( color * ( 2.51 * color + 0.03 ) ) / ( color * ( 2.43 * color + 0.59 ) + 0.14 ) );\n}", +uv_pars_fragment:"#ifdef USE_UV\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif", +worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}", +background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}", +cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}", +depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n}", +distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}", +distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}", +equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}", +equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}", +linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}", +meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}", +meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}", +meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}", +meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}", +meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}", +meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}", +meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}", +meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}", +meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n\t#define TRANSPARENCY\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef TRANSPARENCY\n\tuniform float transparency;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_normalmap_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#ifdef TRANSPARENCY\n\t\tdiffuseColor.a *= saturate( 1. - transparency + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) );\n\t#endif\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}", +meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}", +normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}", +normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}", +points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}", +points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}", +shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <fog_fragment>\n}",shadow_vert:"#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}", +sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}", +sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}"}, +I={common:{diffuse:{value:new E(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new aa},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null}, +normalScale:{value:new A(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:2.5E-4},fogNear:{value:1},fogFar:{value:2E3},fogColor:{value:new E(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{},shadow:{},shadowBias:{}, +shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}}, +pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}}},points:{diffuse:{value:new E(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},uvTransform:{value:new aa}},sprite:{diffuse:{value:new E(15658734)},opacity:{value:1},center:{value:new A(.5,.5)},rotation:{value:0},map:{value:null},uvTransform:{value:new aa}}}, +eb={basic:{uniforms:Ea([I.common,I.specularmap,I.envmap,I.aomap,I.lightmap,I.fog]),vertexShader:T.meshbasic_vert,fragmentShader:T.meshbasic_frag},lambert:{uniforms:Ea([I.common,I.specularmap,I.envmap,I.aomap,I.lightmap,I.emissivemap,I.fog,I.lights,{emissive:{value:new E(0)}}]),vertexShader:T.meshlambert_vert,fragmentShader:T.meshlambert_frag},phong:{uniforms:Ea([I.common,I.specularmap,I.envmap,I.aomap,I.lightmap,I.emissivemap,I.bumpmap,I.normalmap,I.displacementmap,I.gradientmap,I.fog,I.lights,{emissive:{value:new E(0)}, +specular:{value:new E(1118481)},shininess:{value:30}}]),vertexShader:T.meshphong_vert,fragmentShader:T.meshphong_frag},standard:{uniforms:Ea([I.common,I.envmap,I.aomap,I.lightmap,I.emissivemap,I.bumpmap,I.normalmap,I.displacementmap,I.roughnessmap,I.metalnessmap,I.fog,I.lights,{emissive:{value:new E(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:T.meshphysical_vert,fragmentShader:T.meshphysical_frag},matcap:{uniforms:Ea([I.common,I.bumpmap,I.normalmap,I.displacementmap, +I.fog,{matcap:{value:null}}]),vertexShader:T.meshmatcap_vert,fragmentShader:T.meshmatcap_frag},points:{uniforms:Ea([I.points,I.fog]),vertexShader:T.points_vert,fragmentShader:T.points_frag},dashed:{uniforms:Ea([I.common,I.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:T.linedashed_vert,fragmentShader:T.linedashed_frag},depth:{uniforms:Ea([I.common,I.displacementmap]),vertexShader:T.depth_vert,fragmentShader:T.depth_frag},normal:{uniforms:Ea([I.common,I.bumpmap,I.normalmap, +I.displacementmap,{opacity:{value:1}}]),vertexShader:T.normal_vert,fragmentShader:T.normal_frag},sprite:{uniforms:Ea([I.sprite,I.fog]),vertexShader:T.sprite_vert,fragmentShader:T.sprite_frag},background:{uniforms:{uvTransform:{value:new aa},t2D:{value:null}},vertexShader:T.background_vert,fragmentShader:T.background_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:T.cube_vert,fragmentShader:T.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:T.equirect_vert, +fragmentShader:T.equirect_frag},distanceRGBA:{uniforms:Ea([I.common,I.displacementmap,{referencePosition:{value:new n},nearDistance:{value:1},farDistance:{value:1E3}}]),vertexShader:T.distanceRGBA_vert,fragmentShader:T.distanceRGBA_frag},shadow:{uniforms:Ea([I.lights,I.fog,{color:{value:new E(0)},opacity:{value:1}}]),vertexShader:T.shadow_vert,fragmentShader:T.shadow_frag}};eb.physical={uniforms:Ea([eb.standard.uniforms,{transparency:{value:0},clearcoat:{value:0},clearcoatRoughness:{value:0},sheen:{value:new E(0)}, +clearcoatNormalScale:{value:new A(1,1)},clearcoatNormalMap:{value:null}}]),vertexShader:T.meshphysical_vert,fragmentShader:T.meshphysical_frag};Id.prototype=Object.create(M.prototype);Id.prototype.constructor=Id;ac.prototype=Object.create(D.prototype);ac.prototype.constructor=ac;pb.prototype=Object.create(Y.prototype);pb.prototype.constructor=pb;pb.prototype.isCubeTexture=!0;Object.defineProperty(pb.prototype,"images",{get:function(){return this.image},set:function(a){this.image=a}});Fc.prototype= +Object.create(Y.prototype);Fc.prototype.constructor=Fc;Fc.prototype.isDataTexture2DArray=!0;Gc.prototype=Object.create(Y.prototype);Gc.prototype.constructor=Gc;Gc.prototype.isDataTexture3D=!0;var vh=new Y,qj=new Fc,sj=new Gc,wh=new pb,ph=[],rh=[],uh=new Float32Array(16),th=new Float32Array(9),sh=new Float32Array(4);xh.prototype.updateCache=function(a){var b=this.cache;a instanceof Float32Array&&b.length!==a.length&&(this.cache=new Float32Array(a.length));Ja(b,a)};yh.prototype.setValue=function(a, +b,c){for(var d=this.seq,e=0,f=d.length;e!==f;++e){var g=d[e];g.setValue(a,b[g.id],c)}};var ag=/([\w\d_]+)(\])?(\[|\.)?/g;Cb.prototype.setValue=function(a,b,c,d){b=this.map[b];void 0!==b&&b.setValue(a,c,d)};Cb.prototype.setOptional=function(a,b,c){b=b[c];void 0!==b&&this.setValue(a,c,b)};Cb.upload=function(a,b,c,d){for(var e=0,f=b.length;e!==f;++e){var g=b[e],h=c[g.id];!1!==h.needsUpdate&&g.setValue(a,h.value,d)}};Cb.seqWithValue=function(a,b){for(var c=[],d=0,e=a.length;d!==e;++d){var f=a[d];f.id in +b&&c.push(f)}return c};var Xj=0,cg=/^[ \t]*#include +<([\w\d./]+)>/gm,Gh=/#pragma unroll_loop[\s]+?for \( int i = (\d+); i < (\d+); i \+\+ \) \{([\s\S]+?)(?=\})\}/g,gk=0;Eb.prototype=Object.create(N.prototype);Eb.prototype.constructor=Eb;Eb.prototype.isMeshDepthMaterial=!0;Eb.prototype.copy=function(a){N.prototype.copy.call(this,a);this.depthPacking=a.depthPacking;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.map=a.map;this.alphaMap=a.alphaMap;this.displacementMap=a.displacementMap; +this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;return this};Fb.prototype=Object.create(N.prototype);Fb.prototype.constructor=Fb;Fb.prototype.isMeshDistanceMaterial=!0;Fb.prototype.copy=function(a){N.prototype.copy.call(this,a);this.referencePosition.copy(a.referencePosition);this.nearDistance=a.nearDistance;this.farDistance=a.farDistance;this.skinning=a.skinning;this.morphTargets=a.morphTargets; +this.map=a.map;this.alphaMap=a.alphaMap;this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;return this};fg.prototype=Object.assign(Object.create(la.prototype),{constructor:fg,isWebGLMultiviewRenderTarget:!0,copy:function(a){la.prototype.copy.call(this,a);this.numViews=a.numViews;return this},setNumViews:function(a){this.numViews!==a&&(this.numViews=a,this.dispose());return this}});Kc.prototype=Object.assign(Object.create(H.prototype), +{constructor:Kc,isGroup:!0});Ld.prototype=Object.assign(Object.create(oa.prototype),{constructor:Ld,isArrayCamera:!0});var Mh=new n,Nh=new n;Object.assign(gg.prototype,Ca.prototype);Object.assign(Oh.prototype,Ca.prototype);Object.assign(Le.prototype,{isFogExp2:!0,clone:function(){return new Le(this.color,this.density)},toJSON:function(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}});Object.assign(Me.prototype,{isFog:!0,clone:function(){return new Me(this.color,this.near, +this.far)},toJSON:function(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}});Object.defineProperty(Hb.prototype,"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(Hb.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setDynamic:function(a){this.dynamic=a;return this},copy:function(a){this.array=new a.array.constructor(a.array);this.count=a.count;this.stride=a.stride;this.dynamic=a.dynamic;return this},copyAt:function(a,b,c){a*=this.stride; +c*=b.stride;for(var d=0,e=this.stride;d<e;d++)this.array[a+d]=b.array[c+d];return this},set:function(a,b){void 0===b&&(b=0);this.array.set(a,b);return this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(a){this.onUploadCallback=a;return this}});Object.defineProperties(Md.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}});Object.assign(Md.prototype,{isInterleavedBufferAttribute:!0,setX:function(a,b){this.data.array[a* +this.data.stride+this.offset]=b;return this},setY:function(a,b){this.data.array[a*this.data.stride+this.offset+1]=b;return this},setZ:function(a,b){this.data.array[a*this.data.stride+this.offset+2]=b;return this},setW:function(a,b){this.data.array[a*this.data.stride+this.offset+3]=b;return this},getX:function(a){return this.data.array[a*this.data.stride+this.offset]},getY:function(a){return this.data.array[a*this.data.stride+this.offset+1]},getZ:function(a){return this.data.array[a*this.data.stride+ +this.offset+2]},getW:function(a){return this.data.array[a*this.data.stride+this.offset+3]},setXY:function(a,b,c){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;return this},setXYZ:function(a,b,c,d){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;this.data.array[a+2]=d;return this},setXYZW:function(a,b,c,d,e){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;this.data.array[a+2]=d;this.data.array[a+3]=e;return this}}); +Ib.prototype=Object.create(N.prototype);Ib.prototype.constructor=Ib;Ib.prototype.isSpriteMaterial=!0;Ib.prototype.copy=function(a){N.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.rotation=a.rotation;this.sizeAttenuation=a.sizeAttenuation;return this};var Lc,Be=new n,xd=new n,yd=new n,Mc=new A,Od=new A,Qh=new O,Df=new n,Ce=new n,Ef=new n,ui=new A,ah=new A,vi=new A;Nd.prototype=Object.assign(Object.create(H.prototype),{constructor:Nd,isSprite:!0,raycast:function(a,b){null=== +a.camera&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.');xd.setFromMatrixScale(this.matrixWorld);Qh.copy(a.camera.matrixWorld);this.modelViewMatrix.multiplyMatrices(a.camera.matrixWorldInverse,this.matrixWorld);yd.setFromMatrixPosition(this.modelViewMatrix);a.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&xd.multiplyScalar(-yd.z);var c=this.material.rotation;if(0!==c){var d=Math.cos(c);var e=Math.sin(c)}c=this.center;Ne(Df.set(-.5, +-.5,0),yd,c,xd,e,d);Ne(Ce.set(.5,-.5,0),yd,c,xd,e,d);Ne(Ef.set(.5,.5,0),yd,c,xd,e,d);ui.set(0,0);ah.set(1,0);vi.set(1,1);var f=a.ray.intersectTriangle(Df,Ce,Ef,!1,Be);if(null===f&&(Ne(Ce.set(-.5,.5,0),yd,c,xd,e,d),ah.set(0,1),f=a.ray.intersectTriangle(Df,Ef,Ce,!1,Be),null===f))return;e=a.ray.origin.distanceTo(Be);e<a.near||e>a.far||b.push({distance:e,point:Be.clone(),uv:ha.getUV(Be,Df,Ce,Ef,ui,ah,vi,new A),face:null,object:this})},clone:function(){return(new this.constructor(this.material)).copy(this)}, +copy:function(a){H.prototype.copy.call(this,a);void 0!==a.center&&this.center.copy(a.center);return this}});var Ff=new n,wi=new n;Pd.prototype=Object.assign(Object.create(H.prototype),{constructor:Pd,isLOD:!0,copy:function(a){H.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b<c;b++){var d=a[b];this.addLevel(d.object.clone(),d.distance)}return this},addLevel:function(a,b){void 0===b&&(b=0);b=Math.abs(b);for(var c=this.levels,d=0;d<c.length&&!(b<c[d].distance);d++);c.splice(d,0,{distance:b, +object:a});this.add(a);return this},getObjectForDistance:function(a){for(var b=this.levels,c=1,d=b.length;c<d&&!(a<b[c].distance);c++);return b[c-1].object},raycast:function(a,b){Ff.setFromMatrixPosition(this.matrixWorld);var c=a.ray.origin.distanceTo(Ff);this.getObjectForDistance(c).raycast(a,b)},update:function(a){var b=this.levels;if(1<b.length){Ff.setFromMatrixPosition(a.matrixWorld);wi.setFromMatrixPosition(this.matrixWorld);a=Ff.distanceTo(wi);b[0].object.visible=!0;for(var c=1,d=b.length;c< +d;c++)if(a>=b[c].distance)b[c-1].object.visible=!1,b[c].object.visible=!0;else break;for(;c<d;c++)b[c].object.visible=!1}},toJSON:function(a){a=H.prototype.toJSON.call(this,a);a.object.levels=[];for(var b=this.levels,c=0,d=b.length;c<d;c++){var e=b[c];a.object.levels.push({object:e.object.uuid,distance:e.distance})}return a}});Qd.prototype=Object.assign(Object.create(da.prototype),{constructor:Qd,isSkinnedMesh:!0,bind:function(a,b){this.skeleton=a;void 0===b&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(), +b=this.matrixWorld);this.bindMatrix.copy(b);this.bindMatrixInverse.getInverse(b)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){for(var a=new W,b=this.geometry.attributes.skinWeight,c=0,d=b.count;c<d;c++){a.x=b.getX(c);a.y=b.getY(c);a.z=b.getZ(c);a.w=b.getW(c);var e=1/a.manhattanLength();Infinity!==e?a.multiplyScalar(e):a.set(1,0,0,0);b.setXYZW(c,a.x,a.y,a.z,a.w)}},updateMatrixWorld:function(a){da.prototype.updateMatrixWorld.call(this,a);"attached"===this.bindMode?this.bindMatrixInverse.getInverse(this.matrixWorld): +"detached"===this.bindMode?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)},clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});var xi=new O,Dk=new O;Object.assign(Oe.prototype,{calculateInverses:function(){this.boneInverses=[];for(var a=0,b=this.bones.length;a<b;a++){var c=new O;this.bones[a]&&c.getInverse(this.bones[a].matrixWorld);this.boneInverses.push(c)}},pose:function(){var a,b; +var c=0;for(b=this.bones.length;c<b;c++)(a=this.bones[c])&&a.matrixWorld.getInverse(this.boneInverses[c]);c=0;for(b=this.bones.length;c<b;c++)if(a=this.bones[c])a.parent&&a.parent.isBone?(a.matrix.getInverse(a.parent.matrixWorld),a.matrix.multiply(a.matrixWorld)):a.matrix.copy(a.matrixWorld),a.matrix.decompose(a.position,a.quaternion,a.scale)},update:function(){for(var a=this.bones,b=this.boneInverses,c=this.boneMatrices,d=this.boneTexture,e=0,f=a.length;e<f;e++)xi.multiplyMatrices(a[e]?a[e].matrixWorld: +Dk,b[e]),xi.toArray(c,16*e);void 0!==d&&(d.needsUpdate=!0)},clone:function(){return new Oe(this.bones,this.boneInverses)},getBoneByName:function(a){for(var b=0,c=this.bones.length;b<c;b++){var d=this.bones[b];if(d.name===a)return d}}});ig.prototype=Object.assign(Object.create(H.prototype),{constructor:ig,isBone:!0});jg.prototype=Object.assign(Object.create(da.prototype),{constructor:jg,isInstancedMesh:!0,raycast:function(){},setMatrixAt:function(a,b){b.toArray(this.instanceMatrix.array,16*a)},updateMorphTargets:function(){}}); +S.prototype=Object.create(N.prototype);S.prototype.constructor=S;S.prototype.isLineBasicMaterial=!0;S.prototype.copy=function(a){N.prototype.copy.call(this,a);this.color.copy(a.color);this.linewidth=a.linewidth;this.linecap=a.linecap;this.linejoin=a.linejoin;return this};var yi=new n,zi=new n,Ai=new O,Gf=new Tb,De=new ob;ya.prototype=Object.assign(Object.create(H.prototype),{constructor:ya,isLine:!0,computeLineDistances:function(){var a=this.geometry;if(a.isBufferGeometry)if(null===a.index){for(var b= +a.attributes.position,c=[0],d=1,e=b.count;d<e;d++)yi.fromBufferAttribute(b,d-1),zi.fromBufferAttribute(b,d),c[d]=c[d-1],c[d]+=yi.distanceTo(zi);a.addAttribute("lineDistance",new z(c,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(a.isGeometry)for(b=a.vertices,c=a.lineDistances,c[0]=0,d=1,e=b.length;d<e;d++)c[d]=c[d-1],c[d]+=b[d-1].distanceTo(b[d]);return this},raycast:function(a,b){var c=a.linePrecision,d=this.geometry, +e=this.matrixWorld;null===d.boundingSphere&&d.computeBoundingSphere();De.copy(d.boundingSphere);De.applyMatrix4(e);De.radius+=c;if(!1!==a.ray.intersectsSphere(De)){Ai.getInverse(e);Gf.copy(a.ray).applyMatrix4(Ai);c/=(this.scale.x+this.scale.y+this.scale.z)/3;c*=c;var f=new n,g=new n;e=new n;var h=new n,l=this&&this.isLineSegments?2:1;if(d.isBufferGeometry){var k=d.index,q=d.attributes.position.array;if(null!==k){k=k.array;d=0;for(var u=k.length-1;d<u;d+=l){var r=k[d+1];f.fromArray(q,3*k[d]);g.fromArray(q, +3*r);r=Gf.distanceSqToSegment(f,g,h,e);r>c||(h.applyMatrix4(this.matrixWorld),r=a.ray.origin.distanceTo(h),r<a.near||r>a.far||b.push({distance:r,point:e.clone().applyMatrix4(this.matrixWorld),index:d,face:null,faceIndex:null,object:this}))}}else for(d=0,u=q.length/3-1;d<u;d+=l)f.fromArray(q,3*d),g.fromArray(q,3*d+3),r=Gf.distanceSqToSegment(f,g,h,e),r>c||(h.applyMatrix4(this.matrixWorld),r=a.ray.origin.distanceTo(h),r<a.near||r>a.far||b.push({distance:r,point:e.clone().applyMatrix4(this.matrixWorld), +index:d,face:null,faceIndex:null,object:this}))}else if(d.isGeometry)for(f=d.vertices,g=f.length,d=0;d<g-1;d+=l)r=Gf.distanceSqToSegment(f[d],f[d+1],h,e),r>c||(h.applyMatrix4(this.matrixWorld),r=a.ray.origin.distanceTo(h),r<a.near||r>a.far||b.push({distance:r,point:e.clone().applyMatrix4(this.matrixWorld),index:d,face:null,faceIndex:null,object:this}))}},clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});var Hf=new n,If=new n;U.prototype=Object.assign(Object.create(ya.prototype), +{constructor:U,isLineSegments:!0,computeLineDistances:function(){var a=this.geometry;if(a.isBufferGeometry)if(null===a.index){for(var b=a.attributes.position,c=[],d=0,e=b.count;d<e;d+=2)Hf.fromBufferAttribute(b,d),If.fromBufferAttribute(b,d+1),c[d]=0===d?0:c[d-1],c[d+1]=c[d]+Hf.distanceTo(If);a.addAttribute("lineDistance",new z(c,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(a.isGeometry)for(b=a.vertices,c=a.lineDistances, +d=0,e=b.length;d<e;d+=2)Hf.copy(b[d]),If.copy(b[d+1]),c[d]=0===d?0:c[d-1],c[d+1]=c[d]+Hf.distanceTo(If);return this}});Pe.prototype=Object.assign(Object.create(ya.prototype),{constructor:Pe,isLineLoop:!0});Ra.prototype=Object.create(N.prototype);Ra.prototype.constructor=Ra;Ra.prototype.isPointsMaterial=!0;Ra.prototype.copy=function(a){N.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.size=a.size;this.sizeAttenuation=a.sizeAttenuation;this.morphTargets=a.morphTargets;return this}; +var Bi=new O,lg=new Tb,Ee=new ob,Jf=new n;Nc.prototype=Object.assign(Object.create(H.prototype),{constructor:Nc,isPoints:!0,raycast:function(a,b){var c=this.geometry,d=this.matrixWorld,e=a.params.Points.threshold;null===c.boundingSphere&&c.computeBoundingSphere();Ee.copy(c.boundingSphere);Ee.applyMatrix4(d);Ee.radius+=e;if(!1!==a.ray.intersectsSphere(Ee))if(Bi.getInverse(d),lg.copy(a.ray).applyMatrix4(Bi),e/=(this.scale.x+this.scale.y+this.scale.z)/3,e*=e,c.isBufferGeometry){var f=c.index;c=c.attributes.position.array; +if(null!==f){var g=f.array;f=0;for(var h=g.length;f<h;f++){var l=g[f];Jf.fromArray(c,3*l);kg(Jf,l,e,d,a,b,this)}}else for(f=0,g=c.length/3;f<g;f++)Jf.fromArray(c,3*f),kg(Jf,f,e,d,a,b,this)}else for(c=c.vertices,f=0,g=c.length;f<g;f++)kg(c[f],f,e,d,a,b,this)},updateMorphTargets:function(){var a=this.geometry;if(a.isBufferGeometry){a=a.morphAttributes;var b=Object.keys(a);if(0<b.length){var c=a[b[0]];if(void 0!==c)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},a=0,b=c.length;a<b;a++){var d= +c[a].name||String(a);this.morphTargetInfluences.push(0);this.morphTargetDictionary[d]=a}}}else a=a.morphTargets,void 0!==a&&0<a.length&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")},clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});mg.prototype=Object.assign(Object.create(Y.prototype),{constructor:mg,isVideoTexture:!0,update:function(){var a=this.image;a.readyState>=a.HAVE_CURRENT_DATA&& +(this.needsUpdate=!0)}});Oc.prototype=Object.create(Y.prototype);Oc.prototype.constructor=Oc;Oc.prototype.isCompressedTexture=!0;Rd.prototype=Object.create(Y.prototype);Rd.prototype.constructor=Rd;Rd.prototype.isCanvasTexture=!0;Sd.prototype=Object.create(Y.prototype);Sd.prototype.constructor=Sd;Sd.prototype.isDepthTexture=!0;Pc.prototype=Object.create(D.prototype);Pc.prototype.constructor=Pc;Td.prototype=Object.create(M.prototype);Td.prototype.constructor=Td;Qc.prototype=Object.create(D.prototype); +Qc.prototype.constructor=Qc;Ud.prototype=Object.create(M.prototype);Ud.prototype.constructor=Ud;Da.prototype=Object.create(D.prototype);Da.prototype.constructor=Da;Vd.prototype=Object.create(M.prototype);Vd.prototype.constructor=Vd;Rc.prototype=Object.create(Da.prototype);Rc.prototype.constructor=Rc;Wd.prototype=Object.create(M.prototype);Wd.prototype.constructor=Wd;dc.prototype=Object.create(Da.prototype);dc.prototype.constructor=dc;Xd.prototype=Object.create(M.prototype);Xd.prototype.constructor= +Xd;Sc.prototype=Object.create(Da.prototype);Sc.prototype.constructor=Sc;Yd.prototype=Object.create(M.prototype);Yd.prototype.constructor=Yd;Tc.prototype=Object.create(Da.prototype);Tc.prototype.constructor=Tc;Zd.prototype=Object.create(M.prototype);Zd.prototype.constructor=Zd;ec.prototype=Object.create(D.prototype);ec.prototype.constructor=ec;ec.prototype.toJSON=function(){var a=D.prototype.toJSON.call(this);a.path=this.parameters.path.toJSON();return a};$d.prototype=Object.create(M.prototype);$d.prototype.constructor= +$d;Uc.prototype=Object.create(D.prototype);Uc.prototype.constructor=Uc;ae.prototype=Object.create(M.prototype);ae.prototype.constructor=ae;Vc.prototype=Object.create(D.prototype);Vc.prototype.constructor=Vc;var Ek={triangulate:function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=Rh(a,0,e,c,!0),g=[];if(!f||f.next===f.prev)return g;var h;if(d){var l=c;d=[];var k;var n=0;for(k=b.length;n<k;n++){var u=b[n]*l;var r=n<k-1?b[n+1]*l:a.length;u=Rh(a,u,r,l,!1);u===u.next&&(u.steiner=!0);d.push(ok(u))}d.sort(mk); +for(n=0;n<d.length;n++){b=d[n];l=f;if(l=nk(b,l))b=Uh(l,b),ce(b,b.next);f=ce(f,f.next)}}if(a.length>80*c){var t=h=a[0];var p=d=a[1];for(l=c;l<e;l+=c)n=a[l],b=a[l+1],n<t&&(t=n),b<p&&(p=b),n>h&&(h=n),b>d&&(d=b);h=Math.max(h-t,d-p);h=0!==h?1/h:0}de(f,g,c,t,p,h);return g}},qb={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;e<b;d=e++)c+=a[d].x*a[e].y-a[e].x*a[d].y;return.5*c},isClockWise:function(a){return 0>qb.area(a)},triangulateShape:function(a,b){var c=[],d=[],e=[];Vh(a);Wh(c,a);var f=a.length;b.forEach(Vh); +for(a=0;a<b.length;a++)d.push(f),f+=b[a].length,Wh(c,b[a]);b=Ek.triangulate(c,d);for(a=0;a<b.length;a+=3)e.push(b.slice(a,a+3));return e}};gc.prototype=Object.create(M.prototype);gc.prototype.constructor=gc;gc.prototype.toJSON=function(){var a=M.prototype.toJSON.call(this);return Xh(this.parameters.shapes,this.parameters.options,a)};fb.prototype=Object.create(D.prototype);fb.prototype.constructor=fb;fb.prototype.toJSON=function(){var a=D.prototype.toJSON.call(this);return Xh(this.parameters.shapes, +this.parameters.options,a)};var pk={generateTopUV:function(a,b,c,d,e){a=b[3*d];d=b[3*d+1];var f=b[3*e];e=b[3*e+1];return[new A(b[3*c],b[3*c+1]),new A(a,d),new A(f,e)]},generateSideWallUV:function(a,b,c,d,e,f){a=b[3*c];var g=b[3*c+1];c=b[3*c+2];var h=b[3*d],l=b[3*d+1];d=b[3*d+2];var k=b[3*e],n=b[3*e+1];e=b[3*e+2];var u=b[3*f],r=b[3*f+1];b=b[3*f+2];return.01>Math.abs(g-l)?[new A(a,1-c),new A(h,1-d),new A(k,1-e),new A(u,1-b)]:[new A(g,1-c),new A(l,1-d),new A(n,1-e),new A(r,1-b)]}};fe.prototype=Object.create(M.prototype); +fe.prototype.constructor=fe;Xc.prototype=Object.create(fb.prototype);Xc.prototype.constructor=Xc;ge.prototype=Object.create(M.prototype);ge.prototype.constructor=ge;Jb.prototype=Object.create(D.prototype);Jb.prototype.constructor=Jb;he.prototype=Object.create(M.prototype);he.prototype.constructor=he;Yc.prototype=Object.create(D.prototype);Yc.prototype.constructor=Yc;ie.prototype=Object.create(M.prototype);ie.prototype.constructor=ie;Zc.prototype=Object.create(D.prototype);Zc.prototype.constructor= +Zc;hc.prototype=Object.create(M.prototype);hc.prototype.constructor=hc;hc.prototype.toJSON=function(){var a=M.prototype.toJSON.call(this);return Yh(this.parameters.shapes,a)};ic.prototype=Object.create(D.prototype);ic.prototype.constructor=ic;ic.prototype.toJSON=function(){var a=D.prototype.toJSON.call(this);return Yh(this.parameters.shapes,a)};$c.prototype=Object.create(D.prototype);$c.prototype.constructor=$c;jc.prototype=Object.create(M.prototype);jc.prototype.constructor=jc;rb.prototype=Object.create(D.prototype); +rb.prototype.constructor=rb;je.prototype=Object.create(jc.prototype);je.prototype.constructor=je;ke.prototype=Object.create(rb.prototype);ke.prototype.constructor=ke;le.prototype=Object.create(M.prototype);le.prototype.constructor=le;ad.prototype=Object.create(D.prototype);ad.prototype.constructor=ad;var ua=Object.freeze({WireframeGeometry:Pc,ParametricGeometry:Td,ParametricBufferGeometry:Qc,TetrahedronGeometry:Vd,TetrahedronBufferGeometry:Rc,OctahedronGeometry:Wd,OctahedronBufferGeometry:dc,IcosahedronGeometry:Xd, +IcosahedronBufferGeometry:Sc,DodecahedronGeometry:Yd,DodecahedronBufferGeometry:Tc,PolyhedronGeometry:Ud,PolyhedronBufferGeometry:Da,TubeGeometry:Zd,TubeBufferGeometry:ec,TorusKnotGeometry:$d,TorusKnotBufferGeometry:Uc,TorusGeometry:ae,TorusBufferGeometry:Vc,TextGeometry:fe,TextBufferGeometry:Xc,SphereGeometry:ge,SphereBufferGeometry:Jb,RingGeometry:he,RingBufferGeometry:Yc,PlaneGeometry:Id,PlaneBufferGeometry:ac,LatheGeometry:ie,LatheBufferGeometry:Zc,ShapeGeometry:hc,ShapeBufferGeometry:ic,ExtrudeGeometry:gc, +ExtrudeBufferGeometry:fb,EdgesGeometry:$c,ConeGeometry:je,ConeBufferGeometry:ke,CylinderGeometry:jc,CylinderBufferGeometry:rb,CircleGeometry:le,CircleBufferGeometry:ad,BoxGeometry:Zg,BoxBufferGeometry:Jd});kc.prototype=Object.create(N.prototype);kc.prototype.constructor=kc;kc.prototype.isShadowMaterial=!0;kc.prototype.copy=function(a){N.prototype.copy.call(this,a);this.color.copy(a.color);return this};bd.prototype=Object.create(na.prototype);bd.prototype.constructor=bd;bd.prototype.isRawShaderMaterial= +!0;gb.prototype=Object.create(N.prototype);gb.prototype.constructor=gb;gb.prototype.isMeshStandardMaterial=!0;gb.prototype.copy=function(a){N.prototype.copy.call(this,a);this.defines={STANDARD:""};this.color.copy(a.color);this.roughness=a.roughness;this.metalness=a.metalness;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity; +this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.roughnessMap=a.roughnessMap;this.metalnessMap=a.metalnessMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.envMapIntensity=a.envMapIntensity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth= +a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};lc.prototype=Object.create(gb.prototype);lc.prototype.constructor=lc;lc.prototype.isMeshPhysicalMaterial=!0;lc.prototype.copy=function(a){gb.prototype.copy.call(this,a);this.defines={STANDARD:"",PHYSICAL:""};this.reflectivity=a.reflectivity;this.clearcoat=a.clearcoat;this.clearcoatRoughness= +a.clearcoatRoughness;this.sheen=a.sheen?(this.sheen||new E).copy(a.sheen):null;this.clearcoatNormalMap=a.clearcoatNormalMap;this.clearcoatNormalScale.copy(a.clearcoatNormalScale);this.transparency=a.transparency;return this};Sa.prototype=Object.create(N.prototype);Sa.prototype.constructor=Sa;Sa.prototype.isMeshPhongMaterial=!0;Sa.prototype.copy=function(a){N.prototype.copy.call(this,a);this.color.copy(a.color);this.specular.copy(a.specular);this.shininess=a.shininess;this.map=a.map;this.lightMap= +a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.specularMap= +a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};mc.prototype=Object.create(Sa.prototype);mc.prototype.constructor=mc;mc.prototype.isMeshToonMaterial= +!0;mc.prototype.copy=function(a){Sa.prototype.copy.call(this,a);this.gradientMap=a.gradientMap;return this};nc.prototype=Object.create(N.prototype);nc.prototype.constructor=nc;nc.prototype.isMeshNormalMaterial=!0;nc.prototype.copy=function(a){N.prototype.copy.call(this,a);this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale; +this.displacementBias=a.displacementBias;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};oc.prototype=Object.create(N.prototype);oc.prototype.constructor=oc;oc.prototype.isMeshLambertMaterial=!0;oc.prototype.copy=function(a){N.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap= +a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning; +this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};pc.prototype=Object.create(N.prototype);pc.prototype.constructor=pc;pc.prototype.isMeshMatcapMaterial=!0;pc.prototype.copy=function(a){N.prototype.copy.call(this,a);this.defines={MATCAP:""};this.color.copy(a.color);this.matcap=a.matcap;this.map=a.map;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap; +this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.alphaMap=a.alphaMap;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};qc.prototype=Object.create(S.prototype);qc.prototype.constructor=qc;qc.prototype.isLineDashedMaterial=!0;qc.prototype.copy=function(a){S.prototype.copy.call(this,a);this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var Fk=Object.freeze({ShadowMaterial:kc,SpriteMaterial:Ib, +RawShaderMaterial:bd,ShaderMaterial:na,PointsMaterial:Ra,MeshPhysicalMaterial:lc,MeshStandardMaterial:gb,MeshPhongMaterial:Sa,MeshToonMaterial:mc,MeshNormalMaterial:nc,MeshLambertMaterial:oc,MeshDepthMaterial:Eb,MeshDistanceMaterial:Fb,MeshBasicMaterial:Ia,MeshMatcapMaterial:pc,LineDashedMaterial:qc,LineBasicMaterial:S,Material:N}),qa={arraySlice:function(a,b,c){return qa.isTypedArray(a)?new a.constructor(a.subarray(b,void 0!==c?c:a.length)):a.slice(b,c)},convertArray:function(a,b,c){return!a||!c&& +a.constructor===b?a:"number"===typeof b.BYTES_PER_ELEMENT?new b(a):Array.prototype.slice.call(a)},isTypedArray:function(a){return ArrayBuffer.isView(a)&&!(a instanceof DataView)},getKeyframeOrder:function(a){for(var b=a.length,c=Array(b),d=0;d!==b;++d)c[d]=d;c.sort(function(b,c){return a[b]-a[c]});return c},sortedArray:function(a,b,c){for(var d=a.length,e=new a.constructor(d),f=0,g=0;g!==d;++f)for(var h=c[f]*b,l=0;l!==b;++l)e[g++]=a[h+l];return e},flattenJSON:function(a,b,c,d){for(var e=1,f=a[0];void 0!== +f&&void 0===f[d];)f=a[e++];if(void 0!==f){var g=f[d];if(void 0!==g)if(Array.isArray(g)){do g=f[d],void 0!==g&&(b.push(f.time),c.push.apply(c,g)),f=a[e++];while(void 0!==f)}else if(void 0!==g.toArray){do g=f[d],void 0!==g&&(b.push(f.time),g.toArray(c,c.length)),f=a[e++];while(void 0!==f)}else{do g=f[d],void 0!==g&&(b.push(f.time),c.push(g)),f=a[e++];while(void 0!==f)}}}};Object.assign(Ka.prototype,{evaluate:function(a){var b=this.parameterPositions,c=this._cachedIndex,d=b[c],e=b[c-1];a:{b:{c:{d:if(!(a< +d)){for(var f=c+2;;){if(void 0===d){if(a<e)break d;this._cachedIndex=c=b.length;return this.afterEnd_(c-1,a,e)}if(c===f)break;e=d;d=b[++c];if(a<d)break b}d=b.length;break c}if(a>=e)break a;else{f=b[1];a<f&&(c=2,e=f);for(f=c-2;;){if(void 0===e)return this._cachedIndex=0,this.beforeStart_(0,a,d);if(c===f)break;d=e;e=b[--c-1];if(a>=e)break b}d=c;c=0}}for(;c<d;)e=c+d>>>1,a<b[e]?d=e:c=e+1;d=b[c];e=b[c-1];if(void 0===e)return this._cachedIndex=0,this.beforeStart_(0,a,d);if(void 0===d)return this._cachedIndex= +c=b.length,this.afterEnd_(c-1,e,a)}this._cachedIndex=c;this.intervalChanged_(c,e,d)}return this.interpolate_(c,e,a,d)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(a){var b=this.resultBuffer,c=this.sampleValues,d=this.valueSize;a*=d;for(var e=0;e!==d;++e)b[e]=c[a+e];return b},interpolate_:function(){throw Error("call to abstract method");},intervalChanged_:function(){}});Object.assign(Ka.prototype,{beforeStart_:Ka.prototype.copySampleValue_, +afterEnd_:Ka.prototype.copySampleValue_});Qe.prototype=Object.assign(Object.create(Ka.prototype),{constructor:Qe,DefaultSettings_:{endingStart:2400,endingEnd:2400},intervalChanged_:function(a,b,c){var d=this.parameterPositions,e=a-2,f=a+1,g=d[e],h=d[f];if(void 0===g)switch(this.getSettings_().endingStart){case 2401:e=a;g=2*b-c;break;case 2402:e=d.length-2;g=b+d[e]-d[e+1];break;default:e=a,g=c}if(void 0===h)switch(this.getSettings_().endingEnd){case 2401:f=a;h=2*c-b;break;case 2402:f=1;h=c+d[1]-d[0]; +break;default:f=a-1,h=b}a=.5*(c-b);d=this.valueSize;this._weightPrev=a/(b-g);this._weightNext=a/(h-c);this._offsetPrev=e*d;this._offsetNext=f*d},interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var h=a-g,l=this._offsetPrev,k=this._offsetNext,n=this._weightPrev,u=this._weightNext,r=(c-b)/(d-b);c=r*r;d=c*r;b=-n*d+2*n*c-n*r;n=(1+n)*d+(-1.5-2*n)*c+(-.5+n)*r+1;r=(-1-u)*d+(1.5+u)*c+.5*r;u=u*d-u*c;for(c=0;c!==g;++c)e[c]=b*f[l+c]+n*f[h+c]+r*f[a+c]+u*f[k+c]; +return e}});me.prototype=Object.assign(Object.create(Ka.prototype),{constructor:me,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var h=a-g;b=(c-b)/(d-b);c=1-b;for(d=0;d!==g;++d)e[d]=f[h+d]*c+f[a+d]*b;return e}});Re.prototype=Object.assign(Object.create(Ka.prototype),{constructor:Re,interpolate_:function(a){return this.copySampleValue_(a-1)}});Object.assign(pa,{toJSON:function(a){var b=a.constructor;if(void 0!==b.toJSON)b=b.toJSON(a);else{b={name:a.name, +times:qa.convertArray(a.times,Array),values:qa.convertArray(a.values,Array)};var c=a.getInterpolation();c!==a.DefaultInterpolation&&(b.interpolation=c)}b.type=a.ValueTypeName;return b}});Object.assign(pa.prototype,{constructor:pa,TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:2301,InterpolantFactoryMethodDiscrete:function(a){return new Re(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodLinear:function(a){return new me(this.times,this.values,this.getValueSize(), +a)},InterpolantFactoryMethodSmooth:function(a){return new Qe(this.times,this.values,this.getValueSize(),a)},setInterpolation:function(a){switch(a){case 2300:var b=this.InterpolantFactoryMethodDiscrete;break;case 2301:b=this.InterpolantFactoryMethodLinear;break;case 2302:b=this.InterpolantFactoryMethodSmooth}if(void 0===b){b="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant)if(a!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation); +else throw Error(b);console.warn("THREE.KeyframeTrack:",b);return this}this.createInterpolant=b;return this},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return 2300;case this.InterpolantFactoryMethodLinear:return 2301;case this.InterpolantFactoryMethodSmooth:return 2302}},getValueSize:function(){return this.values.length/this.times.length},shift:function(a){if(0!==a)for(var b=this.times,c=0,d=b.length;c!==d;++c)b[c]+=a;return this},scale:function(a){if(1!== +a)for(var b=this.times,c=0,d=b.length;c!==d;++c)b[c]*=a;return this},trim:function(a,b){for(var c=this.times,d=c.length,e=0,f=d-1;e!==d&&c[e]<a;)++e;for(;-1!==f&&c[f]>b;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,1),e=f-1),a=this.getValueSize(),this.times=qa.arraySlice(c,e,f),this.values=qa.arraySlice(this.values,e*a,f*a);return this},validate:function(){var a=!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),a=!1);var c=this.times; +b=this.values;var d=c.length;0===d&&(console.error("THREE.KeyframeTrack: Track is empty.",this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if("number"===typeof g&&isNaN(g)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,f,g);a=!1;break}if(null!==e&&e>g){console.error("THREE.KeyframeTrack: Out of order keys.",this,f,g,e);a=!1;break}e=g}if(void 0!==b&&qa.isTypedArray(b))for(f=0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.", +this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values,c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,f=a.length-1,g=1;g<f;++g){var h=!1,l=a[g];if(l!==a[g+1]&&(1!==g||l!==l[0]))if(d)h=!0;else{var k=g*c,n=k-c,u=k+c;for(l=0;l!==c;++l){var r=b[k+l];if(r!==b[n+l]||r!==b[u+l]){h=!0;break}}}if(h){if(g!==e)for(a[e]=a[g],h=g*c,k=e*c,l=0;l!==c;++l)b[k+l]=b[h+l];++e}}if(0<f){a[e]=a[f];h=f*c;k=e*c;for(l=0;l!==c;++l)b[k+l]=b[h+l];++e}e!==a.length&&(this.times=qa.arraySlice(a, +0,e),this.values=qa.arraySlice(b,0,e*c));return this},clone:function(){var a=qa.arraySlice(this.times,0),b=qa.arraySlice(this.values,0);a=new this.constructor(this.name,a,b);a.createInterpolant=this.createInterpolant;return a}});Se.prototype=Object.assign(Object.create(pa.prototype),{constructor:Se,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});Te.prototype=Object.assign(Object.create(pa.prototype), +{constructor:Te,ValueTypeName:"color"});cd.prototype=Object.assign(Object.create(pa.prototype),{constructor:cd,ValueTypeName:"number"});Ue.prototype=Object.assign(Object.create(Ka.prototype),{constructor:Ue,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;b=(c-b)/(d-b);for(c=a+g;a!==c;a+=4)va.slerpFlat(e,0,f,a-g,f,a,b);return e}});ne.prototype=Object.assign(Object.create(pa.prototype),{constructor:ne,ValueTypeName:"quaternion",DefaultInterpolation:2301, +InterpolantFactoryMethodLinear:function(a){return new Ue(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:void 0});Ve.prototype=Object.assign(Object.create(pa.prototype),{constructor:Ve,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});dd.prototype=Object.assign(Object.create(pa.prototype),{constructor:dd,ValueTypeName:"vector"});Object.assign(Oa,{parse:function(a){for(var b= +[],c=a.tracks,d=1/(a.fps||1),e=0,f=c.length;e!==f;++e)b.push(rk(c[e]).scale(d));return new Oa(a.name,a.duration,b)},toJSON:function(a){var b=[],c=a.tracks;a={name:a.name,duration:a.duration,tracks:b,uuid:a.uuid};for(var d=0,e=c.length;d!==e;++d)b.push(pa.toJSON(c[d]));return a},CreateFromMorphTargetSequence:function(a,b,c,d){for(var e=b.length,f=[],g=0;g<e;g++){var h=[],l=[];h.push((g+e-1)%e,g,(g+1)%e);l.push(0,1,0);var k=qa.getKeyframeOrder(h);h=qa.sortedArray(h,1,k);l=qa.sortedArray(l,1,k);d||0!== +h[0]||(h.push(e),l.push(l[0]));f.push((new cd(".morphTargetInfluences["+b[g].name+"]",h,l)).scale(1/c))}return new Oa(a,-1,f)},findByName:function(a,b){var c=a;Array.isArray(a)||(c=a.geometry&&a.geometry.animations||a.animations);for(a=0;a<c.length;a++)if(c[a].name===b)return c[a];return null},CreateClipsFromMorphTargetSequences:function(a,b,c){for(var d={},e=/^([\w-]*?)([\d]+)$/,f=0,g=a.length;f<g;f++){var h=a[f],l=h.name.match(e);if(l&&1<l.length){var k=l[1];(l=d[k])||(d[k]=l=[]);l.push(h)}}a=[]; +for(k in d)a.push(Oa.CreateFromMorphTargetSequence(k,d[k],b,c));return a},parseAnimation:function(a,b){if(!a)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;var c=function(a,b,c,d,e){if(0!==c.length){var f=[],g=[];qa.flattenJSON(c,f,g,d);0!==f.length&&e.push(new a(b,f,g))}},d=[],e=a.name||"default",f=a.length||-1,g=a.fps||30;a=a.hierarchy||[];for(var h=0;h<a.length;h++){var l=a[h].keys;if(l&&0!==l.length)if(l[0].morphTargets){f={};for(var k=0;k<l.length;k++)if(l[k].morphTargets)for(var n= +0;n<l[k].morphTargets.length;n++)f[l[k].morphTargets[n]]=-1;for(var u in f){var r=[],t=[];for(n=0;n!==l[k].morphTargets.length;++n){var p=l[k];r.push(p.time);t.push(p.morphTarget===u?1:0)}d.push(new cd(".morphTargetInfluence["+u+"]",r,t))}f=f.length*(g||1)}else k=".bones["+b[h].name+"]",c(dd,k+".position",l,"pos",d),c(ne,k+".quaternion",l,"rot",d),c(dd,k+".scale",l,"scl",d)}return 0===d.length?null:new Oa(e,f,d)}});Object.assign(Oa.prototype,{resetDuration:function(){for(var a=0,b=0,c=this.tracks.length;b!== +c;++b){var d=this.tracks[b];a=Math.max(a,d.times[d.times.length-1])}this.duration=a;return this},trim:function(){for(var a=0;a<this.tracks.length;a++)this.tracks[a].trim(0,this.duration);return this},validate:function(){for(var a=!0,b=0;b<this.tracks.length;b++)a=a&&this.tracks[b].validate();return a},optimize:function(){for(var a=0;a<this.tracks.length;a++)this.tracks[a].optimize();return this},clone:function(){for(var a=[],b=0;b<this.tracks.length;b++)a.push(this.tracks[b].clone());return new Oa(this.name, +this.duration,a)}});var vc={enabled:!1,files:{},add:function(a,b){!1!==this.enabled&&(this.files[a]=b)},get:function(a){if(!1!==this.enabled)return this.files[a]},remove:function(a){delete this.files[a]},clear:function(){this.files={}}},Zh=new pg;Object.assign(Z.prototype,{load:function(){},parse:function(){},setCrossOrigin:function(a){this.crossOrigin=a;return this},setPath:function(a){this.path=a;return this},setResourcePath:function(a){this.resourcePath=a;return this}});var ab={};Pa.prototype= +Object.assign(Object.create(Z.prototype),{constructor:Pa,load:function(a,b,c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);a=this.manager.resolveURL(a);var e=this,f=vc.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;if(void 0!==ab[a])ab[a].push({onLoad:b,onProgress:c,onError:d});else{var g=a.match(/^data:(.*?)(;base64)?,(.*)$/);if(g){c=g[1];var h=!!g[2];g=g[3];g=decodeURIComponent(g);h&&(g=atob(g));try{var l=(this.responseType|| +"").toLowerCase();switch(l){case "arraybuffer":case "blob":var k=new Uint8Array(g.length);for(h=0;h<g.length;h++)k[h]=g.charCodeAt(h);var n="blob"===l?new Blob([k.buffer],{type:c}):k.buffer;break;case "document":n=(new DOMParser).parseFromString(g,c);break;case "json":n=JSON.parse(g);break;default:n=g}setTimeout(function(){b&&b(n);e.manager.itemEnd(a)},0)}catch(r){setTimeout(function(){d&&d(r);e.manager.itemError(a);e.manager.itemEnd(a)},0)}}else{ab[a]=[];ab[a].push({onLoad:b,onProgress:c,onError:d}); +var u=new XMLHttpRequest;u.open("GET",a,!0);u.addEventListener("load",function(b){var c=this.response;vc.add(a,c);var d=ab[a];delete ab[a];if(200===this.status||0===this.status){0===this.status&&console.warn("THREE.FileLoader: HTTP Status 0 received.");for(var f=0,g=d.length;f<g;f++){var h=d[f];if(h.onLoad)h.onLoad(c)}}else{f=0;for(g=d.length;f<g;f++)if(h=d[f],h.onError)h.onError(b);e.manager.itemError(a)}e.manager.itemEnd(a)},!1);u.addEventListener("progress",function(b){for(var c=ab[a],d=0,e=c.length;d< +e;d++){var f=c[d];if(f.onProgress)f.onProgress(b)}},!1);u.addEventListener("error",function(b){var c=ab[a];delete ab[a];for(var d=0,f=c.length;d<f;d++){var g=c[d];if(g.onError)g.onError(b)}e.manager.itemError(a);e.manager.itemEnd(a)},!1);u.addEventListener("abort",function(b){var c=ab[a];delete ab[a];for(var d=0,f=c.length;d<f;d++){var g=c[d];if(g.onError)g.onError(b)}e.manager.itemError(a);e.manager.itemEnd(a)},!1);void 0!==this.responseType&&(u.responseType=this.responseType);void 0!==this.withCredentials&& +(u.withCredentials=this.withCredentials);u.overrideMimeType&&u.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain");for(h in this.requestHeader)u.setRequestHeader(h,this.requestHeader[h]);u.send(null)}e.manager.itemStart(a);return u}},setResponseType:function(a){this.responseType=a;return this},setWithCredentials:function(a){this.withCredentials=a;return this},setMimeType:function(a){this.mimeType=a;return this},setRequestHeader:function(a){this.requestHeader=a;return this}});qg.prototype= +Object.assign(Object.create(Z.prototype),{constructor:qg,load:function(a,b,c,d){var e=this,f=new Pa(e.manager);f.setPath(e.path);f.load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},parse:function(a){for(var b=[],c=0;c<a.length;c++){var d=Oa.parse(a[c]);b.push(d)}return b}});rg.prototype=Object.assign(Object.create(Z.prototype),{constructor:rg,load:function(a,b,c,d){function e(e){l.load(a[e],function(a){a=f.parse(a,!0);g[e]={width:a.width,height:a.height,format:a.format,mipmaps:a.mipmaps};k+=1;6=== +k&&(1===a.mipmapCount&&(h.minFilter=1006),h.format=a.format,h.needsUpdate=!0,b&&b(h))},c,d)}var f=this,g=[],h=new Oc;h.image=g;var l=new Pa(this.manager);l.setPath(this.path);l.setResponseType("arraybuffer");if(Array.isArray(a))for(var k=0,n=0,u=a.length;n<u;++n)e(n);else l.load(a,function(a){a=f.parse(a,!0);if(a.isCubemap)for(var c=a.mipmaps.length/a.mipmapCount,d=0;d<c;d++){g[d]={mipmaps:[]};for(var e=0;e<a.mipmapCount;e++)g[d].mipmaps.push(a.mipmaps[d*a.mipmapCount+e]),g[d].format=a.format,g[d].width= +a.width,g[d].height=a.height}else h.image.width=a.width,h.image.height=a.height,h.mipmaps=a.mipmaps;1===a.mipmapCount&&(h.minFilter=1006);h.format=a.format;h.needsUpdate=!0;b&&b(h)},c,d);return h}});We.prototype=Object.assign(Object.create(Z.prototype),{constructor:We,load:function(a,b,c,d){var e=this,f=new $b,g=new Pa(this.manager);g.setResponseType("arraybuffer");g.setPath(this.path);g.load(a,function(a){if(a=e.parse(a))void 0!==a.image?f.image=a.image:void 0!==a.data&&(f.image.width=a.width,f.image.height= +a.height,f.image.data=a.data),f.wrapS=void 0!==a.wrapS?a.wrapS:1001,f.wrapT=void 0!==a.wrapT?a.wrapT:1001,f.magFilter=void 0!==a.magFilter?a.magFilter:1006,f.minFilter=void 0!==a.minFilter?a.minFilter:1008,f.anisotropy=void 0!==a.anisotropy?a.anisotropy:1,void 0!==a.format&&(f.format=a.format),void 0!==a.type&&(f.type=a.type),void 0!==a.mipmaps&&(f.mipmaps=a.mipmaps),1===a.mipmapCount&&(f.minFilter=1006),f.needsUpdate=!0,b&&b(f,a)},c,d);return f}});ed.prototype=Object.assign(Object.create(Z.prototype), +{constructor:ed,load:function(a,b,c,d){function e(){l.removeEventListener("load",e,!1);l.removeEventListener("error",f,!1);vc.add(a,this);b&&b(this);g.manager.itemEnd(a)}function f(b){l.removeEventListener("load",e,!1);l.removeEventListener("error",f,!1);d&&d(b);g.manager.itemError(a);g.manager.itemEnd(a)}void 0!==this.path&&(a=this.path+a);a=this.manager.resolveURL(a);var g=this,h=vc.get(a);if(void 0!==h)return g.manager.itemStart(a),setTimeout(function(){b&&b(h);g.manager.itemEnd(a)},0),h;var l= +document.createElementNS("http://www.w3.org/1999/xhtml","img");l.addEventListener("load",e,!1);l.addEventListener("error",f,!1);"data:"!==a.substr(0,5)&&void 0!==this.crossOrigin&&(l.crossOrigin=this.crossOrigin);g.manager.itemStart(a);l.src=a;return l}});Xe.prototype=Object.assign(Object.create(Z.prototype),{constructor:Xe,load:function(a,b,c,d){function e(c){g.load(a[c],function(a){f.images[c]=a;h++;6===h&&(f.needsUpdate=!0,b&&b(f))},void 0,d)}var f=new pb,g=new ed(this.manager);g.setCrossOrigin(this.crossOrigin); +g.setPath(this.path);var h=0;for(c=0;c<a.length;++c)e(c);return f}});Ye.prototype=Object.assign(Object.create(Z.prototype),{constructor:Ye,load:function(a,b,c,d){var e=new Y,f=new ed(this.manager);f.setCrossOrigin(this.crossOrigin);f.setPath(this.path);f.load(a,function(c){e.image=c;c=0<a.search(/\.jpe?g($|\?)/i)||0===a.search(/^data:image\/jpeg/);e.format=c?1022:1023;e.needsUpdate=!0;void 0!==b&&b(e)},c,d);return e}});Object.assign(C.prototype,{getPoint:function(){console.warn("THREE.Curve: .getPoint() not implemented."); +return null},getPointAt:function(a,b){a=this.getUtoTmapping(a);return this.getPoint(a,b)},getPoints:function(a){void 0===a&&(a=5);for(var b=[],c=0;c<=a;c++)b.push(this.getPoint(c/a));return b},getSpacedPoints:function(a){void 0===a&&(a=5);for(var b=[],c=0;c<=a;c++)b.push(this.getPointAt(c/a));return b},getLength:function(){var a=this.getLengths();return a[a.length-1]},getLengths:function(a){void 0===a&&(a=this.arcLengthDivisions);if(this.cacheArcLengths&&this.cacheArcLengths.length===a+1&&!this.needsUpdate)return this.cacheArcLengths; +this.needsUpdate=!1;var b=[],c=this.getPoint(0),d,e=0;b.push(0);for(d=1;d<=a;d++){var f=this.getPoint(d/a);e+=f.distanceTo(c);b.push(e);c=f}return this.cacheArcLengths=b},updateArcLengths:function(){this.needsUpdate=!0;this.getLengths()},getUtoTmapping:function(a,b){var c=this.getLengths(),d=c.length;b=b?b:a*c[d-1];for(var e=0,f=d-1,g;e<=f;)if(a=Math.floor(e+(f-e)/2),g=c[a]-b,0>g)e=a+1;else if(0<g)f=a-1;else{f=a;break}a=f;if(c[a]===b)return a/(d-1);e=c[a];return(a+(b-e)/(c[a+1]-e))/(d-1)},getTangent:function(a){var b= +a-1E-4;a+=1E-4;0>b&&(b=0);1<a&&(a=1);b=this.getPoint(b);return this.getPoint(a).clone().sub(b).normalize()},getTangentAt:function(a){a=this.getUtoTmapping(a);return this.getTangent(a)},computeFrenetFrames:function(a,b){var c=new n,d=[],e=[],f=[],g=new n,h=new O,l;for(l=0;l<=a;l++){var k=l/a;d[l]=this.getTangentAt(k);d[l].normalize()}e[0]=new n;f[0]=new n;l=Number.MAX_VALUE;k=Math.abs(d[0].x);var q=Math.abs(d[0].y),u=Math.abs(d[0].z);k<=l&&(l=k,c.set(1,0,0));q<=l&&(l=q,c.set(0,1,0));u<=l&&c.set(0, +0,1);g.crossVectors(d[0],c).normalize();e[0].crossVectors(d[0],g);f[0].crossVectors(d[0],e[0]);for(l=1;l<=a;l++)e[l]=e[l-1].clone(),f[l]=f[l-1].clone(),g.crossVectors(d[l-1],d[l]),g.length()>Number.EPSILON&&(g.normalize(),c=Math.acos(Q.clamp(d[l-1].dot(d[l]),-1,1)),e[l].applyMatrix4(h.makeRotationAxis(g,c))),f[l].crossVectors(d[l],e[l]);if(!0===b)for(c=Math.acos(Q.clamp(e[0].dot(e[a]),-1,1)),c/=a,0<d[0].dot(g.crossVectors(e[0],e[a]))&&(c=-c),l=1;l<=a;l++)e[l].applyMatrix4(h.makeRotationAxis(d[l], +c*l)),f[l].crossVectors(d[l],e[l]);return{tangents:d,normals:e,binormals:f}},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.arcLengthDivisions=a.arcLengthDivisions;return this},toJSON:function(){var a={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};a.arcLengthDivisions=this.arcLengthDivisions;a.type=this.type;return a},fromJSON:function(a){this.arcLengthDivisions=a.arcLengthDivisions;return this}});La.prototype=Object.create(C.prototype);La.prototype.constructor= +La;La.prototype.isEllipseCurve=!0;La.prototype.getPoint=function(a,b){b=b||new A;for(var c=2*Math.PI,d=this.aEndAngle-this.aStartAngle,e=Math.abs(d)<Number.EPSILON;0>d;)d+=c;for(;d>c;)d-=c;d<Number.EPSILON&&(d=e?0:c);!0!==this.aClockwise||e||(d=d===c?-c:d-c);c=this.aStartAngle+a*d;a=this.aX+this.xRadius*Math.cos(c);var f=this.aY+this.yRadius*Math.sin(c);0!==this.aRotation&&(c=Math.cos(this.aRotation),d=Math.sin(this.aRotation),e=a-this.aX,f-=this.aY,a=e*c-f*d+this.aX,f=e*d+f*c+this.aY);return b.set(a, +f)};La.prototype.copy=function(a){C.prototype.copy.call(this,a);this.aX=a.aX;this.aY=a.aY;this.xRadius=a.xRadius;this.yRadius=a.yRadius;this.aStartAngle=a.aStartAngle;this.aEndAngle=a.aEndAngle;this.aClockwise=a.aClockwise;this.aRotation=a.aRotation;return this};La.prototype.toJSON=function(){var a=C.prototype.toJSON.call(this);a.aX=this.aX;a.aY=this.aY;a.xRadius=this.xRadius;a.yRadius=this.yRadius;a.aStartAngle=this.aStartAngle;a.aEndAngle=this.aEndAngle;a.aClockwise=this.aClockwise;a.aRotation= +this.aRotation;return a};La.prototype.fromJSON=function(a){C.prototype.fromJSON.call(this,a);this.aX=a.aX;this.aY=a.aY;this.xRadius=a.xRadius;this.yRadius=a.yRadius;this.aStartAngle=a.aStartAngle;this.aEndAngle=a.aEndAngle;this.aClockwise=a.aClockwise;this.aRotation=a.aRotation;return this};fd.prototype=Object.create(La.prototype);fd.prototype.constructor=fd;fd.prototype.isArcCurve=!0;var Kf=new n,bh=new sg,ch=new sg,dh=new sg;za.prototype=Object.create(C.prototype);za.prototype.constructor=za;za.prototype.isCatmullRomCurve3= +!0;za.prototype.getPoint=function(a,b){b=b||new n;var c=this.points,d=c.length;a*=d-(this.closed?0:1);var e=Math.floor(a);a-=e;this.closed?e+=0<e?0:(Math.floor(Math.abs(e)/d)+1)*d:0===a&&e===d-1&&(e=d-2,a=1);if(this.closed||0<e)var f=c[(e-1)%d];else Kf.subVectors(c[0],c[1]).add(c[0]),f=Kf;var g=c[e%d];var h=c[(e+1)%d];this.closed||e+2<d?c=c[(e+2)%d]:(Kf.subVectors(c[d-1],c[d-2]).add(c[d-1]),c=Kf);if("centripetal"===this.curveType||"chordal"===this.curveType){var l="chordal"===this.curveType?.5:.25; +d=Math.pow(f.distanceToSquared(g),l);e=Math.pow(g.distanceToSquared(h),l);l=Math.pow(h.distanceToSquared(c),l);1E-4>e&&(e=1);1E-4>d&&(d=e);1E-4>l&&(l=e);bh.initNonuniformCatmullRom(f.x,g.x,h.x,c.x,d,e,l);ch.initNonuniformCatmullRom(f.y,g.y,h.y,c.y,d,e,l);dh.initNonuniformCatmullRom(f.z,g.z,h.z,c.z,d,e,l)}else"catmullrom"===this.curveType&&(bh.initCatmullRom(f.x,g.x,h.x,c.x,this.tension),ch.initCatmullRom(f.y,g.y,h.y,c.y,this.tension),dh.initCatmullRom(f.z,g.z,h.z,c.z,this.tension));b.set(bh.calc(a), +ch.calc(a),dh.calc(a));return b};za.prototype.copy=function(a){C.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;b<c;b++)this.points.push(a.points[b].clone());this.closed=a.closed;this.curveType=a.curveType;this.tension=a.tension;return this};za.prototype.toJSON=function(){var a=C.prototype.toJSON.call(this);a.points=[];for(var b=0,c=this.points.length;b<c;b++)a.points.push(this.points[b].toArray());a.closed=this.closed;a.curveType=this.curveType;a.tension=this.tension;return a}; +za.prototype.fromJSON=function(a){C.prototype.fromJSON.call(this,a);this.points=[];for(var b=0,c=a.points.length;b<c;b++){var d=a.points[b];this.points.push((new n).fromArray(d))}this.closed=a.closed;this.curveType=a.curveType;this.tension=a.tension;return this};Ta.prototype=Object.create(C.prototype);Ta.prototype.constructor=Ta;Ta.prototype.isCubicBezierCurve=!0;Ta.prototype.getPoint=function(a,b){b=b||new A;var c=this.v0,d=this.v1,e=this.v2,f=this.v3;b.set(pe(a,c.x,d.x,e.x,f.x),pe(a,c.y,d.y,e.y, +f.y));return b};Ta.prototype.copy=function(a){C.prototype.copy.call(this,a);this.v0.copy(a.v0);this.v1.copy(a.v1);this.v2.copy(a.v2);this.v3.copy(a.v3);return this};Ta.prototype.toJSON=function(){var a=C.prototype.toJSON.call(this);a.v0=this.v0.toArray();a.v1=this.v1.toArray();a.v2=this.v2.toArray();a.v3=this.v3.toArray();return a};Ta.prototype.fromJSON=function(a){C.prototype.fromJSON.call(this,a);this.v0.fromArray(a.v0);this.v1.fromArray(a.v1);this.v2.fromArray(a.v2);this.v3.fromArray(a.v3);return this}; +hb.prototype=Object.create(C.prototype);hb.prototype.constructor=hb;hb.prototype.isCubicBezierCurve3=!0;hb.prototype.getPoint=function(a,b){b=b||new n;var c=this.v0,d=this.v1,e=this.v2,f=this.v3;b.set(pe(a,c.x,d.x,e.x,f.x),pe(a,c.y,d.y,e.y,f.y),pe(a,c.z,d.z,e.z,f.z));return b};hb.prototype.copy=function(a){C.prototype.copy.call(this,a);this.v0.copy(a.v0);this.v1.copy(a.v1);this.v2.copy(a.v2);this.v3.copy(a.v3);return this};hb.prototype.toJSON=function(){var a=C.prototype.toJSON.call(this);a.v0=this.v0.toArray(); +a.v1=this.v1.toArray();a.v2=this.v2.toArray();a.v3=this.v3.toArray();return a};hb.prototype.fromJSON=function(a){C.prototype.fromJSON.call(this,a);this.v0.fromArray(a.v0);this.v1.fromArray(a.v1);this.v2.fromArray(a.v2);this.v3.fromArray(a.v3);return this};Aa.prototype=Object.create(C.prototype);Aa.prototype.constructor=Aa;Aa.prototype.isLineCurve=!0;Aa.prototype.getPoint=function(a,b){b=b||new A;1===a?b.copy(this.v2):(b.copy(this.v2).sub(this.v1),b.multiplyScalar(a).add(this.v1));return b};Aa.prototype.getPointAt= +function(a,b){return this.getPoint(a,b)};Aa.prototype.getTangent=function(){return this.v2.clone().sub(this.v1).normalize()};Aa.prototype.copy=function(a){C.prototype.copy.call(this,a);this.v1.copy(a.v1);this.v2.copy(a.v2);return this};Aa.prototype.toJSON=function(){var a=C.prototype.toJSON.call(this);a.v1=this.v1.toArray();a.v2=this.v2.toArray();return a};Aa.prototype.fromJSON=function(a){C.prototype.fromJSON.call(this,a);this.v1.fromArray(a.v1);this.v2.fromArray(a.v2);return this};Ua.prototype= +Object.create(C.prototype);Ua.prototype.constructor=Ua;Ua.prototype.isLineCurve3=!0;Ua.prototype.getPoint=function(a,b){b=b||new n;1===a?b.copy(this.v2):(b.copy(this.v2).sub(this.v1),b.multiplyScalar(a).add(this.v1));return b};Ua.prototype.getPointAt=function(a,b){return this.getPoint(a,b)};Ua.prototype.copy=function(a){C.prototype.copy.call(this,a);this.v1.copy(a.v1);this.v2.copy(a.v2);return this};Ua.prototype.toJSON=function(){var a=C.prototype.toJSON.call(this);a.v1=this.v1.toArray();a.v2=this.v2.toArray(); +return a};Ua.prototype.fromJSON=function(a){C.prototype.fromJSON.call(this,a);this.v1.fromArray(a.v1);this.v2.fromArray(a.v2);return this};Va.prototype=Object.create(C.prototype);Va.prototype.constructor=Va;Va.prototype.isQuadraticBezierCurve=!0;Va.prototype.getPoint=function(a,b){b=b||new A;var c=this.v0,d=this.v1,e=this.v2;b.set(oe(a,c.x,d.x,e.x),oe(a,c.y,d.y,e.y));return b};Va.prototype.copy=function(a){C.prototype.copy.call(this,a);this.v0.copy(a.v0);this.v1.copy(a.v1);this.v2.copy(a.v2);return this}; +Va.prototype.toJSON=function(){var a=C.prototype.toJSON.call(this);a.v0=this.v0.toArray();a.v1=this.v1.toArray();a.v2=this.v2.toArray();return a};Va.prototype.fromJSON=function(a){C.prototype.fromJSON.call(this,a);this.v0.fromArray(a.v0);this.v1.fromArray(a.v1);this.v2.fromArray(a.v2);return this};ib.prototype=Object.create(C.prototype);ib.prototype.constructor=ib;ib.prototype.isQuadraticBezierCurve3=!0;ib.prototype.getPoint=function(a,b){b=b||new n;var c=this.v0,d=this.v1,e=this.v2;b.set(oe(a,c.x, +d.x,e.x),oe(a,c.y,d.y,e.y),oe(a,c.z,d.z,e.z));return b};ib.prototype.copy=function(a){C.prototype.copy.call(this,a);this.v0.copy(a.v0);this.v1.copy(a.v1);this.v2.copy(a.v2);return this};ib.prototype.toJSON=function(){var a=C.prototype.toJSON.call(this);a.v0=this.v0.toArray();a.v1=this.v1.toArray();a.v2=this.v2.toArray();return a};ib.prototype.fromJSON=function(a){C.prototype.fromJSON.call(this,a);this.v0.fromArray(a.v0);this.v1.fromArray(a.v1);this.v2.fromArray(a.v2);return this};Wa.prototype=Object.create(C.prototype); +Wa.prototype.constructor=Wa;Wa.prototype.isSplineCurve=!0;Wa.prototype.getPoint=function(a,b){b=b||new A;var c=this.points,d=(c.length-1)*a;a=Math.floor(d);d-=a;var e=c[0===a?a:a-1],f=c[a],g=c[a>c.length-2?c.length-1:a+1];c=c[a>c.length-3?c.length-1:a+2];b.set($h(d,e.x,f.x,g.x,c.x),$h(d,e.y,f.y,g.y,c.y));return b};Wa.prototype.copy=function(a){C.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;b<c;b++)this.points.push(a.points[b].clone());return this};Wa.prototype.toJSON=function(){var a= +C.prototype.toJSON.call(this);a.points=[];for(var b=0,c=this.points.length;b<c;b++)a.points.push(this.points[b].toArray());return a};Wa.prototype.fromJSON=function(a){C.prototype.fromJSON.call(this,a);this.points=[];for(var b=0,c=a.points.length;b<c;b++){var d=a.points[b];this.points.push((new A).fromArray(d))}return this};var eh=Object.freeze({ArcCurve:fd,CatmullRomCurve3:za,CubicBezierCurve:Ta,CubicBezierCurve3:hb,EllipseCurve:La,LineCurve:Aa,LineCurve3:Ua,QuadraticBezierCurve:Va,QuadraticBezierCurve3:ib, +SplineCurve:Wa});sb.prototype=Object.assign(Object.create(C.prototype),{constructor:sb,add:function(a){this.curves.push(a)},closePath:function(){var a=this.curves[0].getPoint(0),b=this.curves[this.curves.length-1].getPoint(1);a.equals(b)||this.curves.push(new Aa(b,a))},getPoint:function(a){var b=a*this.getLength(),c=this.getCurveLengths();for(a=0;a<c.length;){if(c[a]>=b)return b=c[a]-b,a=this.curves[a],c=a.getLength(),a.getPointAt(0===c?0:1-b/c);a++}return null},getLength:function(){var a=this.getCurveLengths(); +return a[a.length-1]},updateArcLengths:function(){this.needsUpdate=!0;this.cacheLengths=null;this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var a=[],b=0,c=0,d=this.curves.length;c<d;c++)b+=this.curves[c].getLength(),a.push(b);return this.cacheLengths=a},getSpacedPoints:function(a){void 0===a&&(a=40);for(var b=[],c=0;c<=a;c++)b.push(this.getPoint(c/a));this.autoClose&&b.push(b[0]);return b},getPoints:function(a){a= +a||12;for(var b=[],c,d=0,e=this.curves;d<e.length;d++){var f=e[d];f=f.getPoints(f&&f.isEllipseCurve?2*a:f&&(f.isLineCurve||f.isLineCurve3)?1:f&&f.isSplineCurve?a*f.points.length:a);for(var g=0;g<f.length;g++){var h=f[g];c&&c.equals(h)||(b.push(h),c=h)}}this.autoClose&&1<b.length&&!b[b.length-1].equals(b[0])&&b.push(b[0]);return b},copy:function(a){C.prototype.copy.call(this,a);this.curves=[];for(var b=0,c=a.curves.length;b<c;b++)this.curves.push(a.curves[b].clone());this.autoClose=a.autoClose;return this}, +toJSON:function(){var a=C.prototype.toJSON.call(this);a.autoClose=this.autoClose;a.curves=[];for(var b=0,c=this.curves.length;b<c;b++)a.curves.push(this.curves[b].toJSON());return a},fromJSON:function(a){C.prototype.fromJSON.call(this,a);this.autoClose=a.autoClose;this.curves=[];for(var b=0,c=a.curves.length;b<c;b++){var d=a.curves[b];this.curves.push((new eh[d.type]).fromJSON(d))}return this}});Xa.prototype=Object.assign(Object.create(sb.prototype),{constructor:Xa,setFromPoints:function(a){this.moveTo(a[0].x, +a[0].y);for(var b=1,c=a.length;b<c;b++)this.lineTo(a[b].x,a[b].y)},moveTo:function(a,b){this.currentPoint.set(a,b)},lineTo:function(a,b){var c=new Aa(this.currentPoint.clone(),new A(a,b));this.curves.push(c);this.currentPoint.set(a,b)},quadraticCurveTo:function(a,b,c,d){a=new Va(this.currentPoint.clone(),new A(a,b),new A(c,d));this.curves.push(a);this.currentPoint.set(c,d)},bezierCurveTo:function(a,b,c,d,e,f){a=new Ta(this.currentPoint.clone(),new A(a,b),new A(c,d),new A(e,f));this.curves.push(a); +this.currentPoint.set(e,f)},splineThru:function(a){var b=[this.currentPoint.clone()].concat(a);b=new Wa(b);this.curves.push(b);this.currentPoint.copy(a[a.length-1])},arc:function(a,b,c,d,e,f){this.absarc(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f)},absarc:function(a,b,c,d,e,f){this.absellipse(a,b,c,c,d,e,f)},ellipse:function(a,b,c,d,e,f,g,h){this.absellipse(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f,g,h)},absellipse:function(a,b,c,d,e,f,g,h){a=new La(a,b,c,d,e,f,g,h);0<this.curves.length&& +(b=a.getPoint(0),b.equals(this.currentPoint)||this.lineTo(b.x,b.y));this.curves.push(a);a=a.getPoint(1);this.currentPoint.copy(a)},copy:function(a){sb.prototype.copy.call(this,a);this.currentPoint.copy(a.currentPoint);return this},toJSON:function(){var a=sb.prototype.toJSON.call(this);a.currentPoint=this.currentPoint.toArray();return a},fromJSON:function(a){sb.prototype.fromJSON.call(this,a);this.currentPoint.fromArray(a.currentPoint);return this}});Kb.prototype=Object.assign(Object.create(Xa.prototype), +{constructor:Kb,getPointsHoles:function(a){for(var b=[],c=0,d=this.holes.length;c<d;c++)b[c]=this.holes[c].getPoints(a);return b},extractPoints:function(a){return{shape:this.getPoints(a),holes:this.getPointsHoles(a)}},copy:function(a){Xa.prototype.copy.call(this,a);this.holes=[];for(var b=0,c=a.holes.length;b<c;b++)this.holes.push(a.holes[b].clone());return this},toJSON:function(){var a=Xa.prototype.toJSON.call(this);a.uuid=this.uuid;a.holes=[];for(var b=0,c=this.holes.length;b<c;b++)a.holes.push(this.holes[b].toJSON()); +return a},fromJSON:function(a){Xa.prototype.fromJSON.call(this,a);this.uuid=a.uuid;this.holes=[];for(var b=0,c=a.holes.length;b<c;b++){var d=a.holes[b];this.holes.push((new Xa).fromJSON(d))}return this}});fa.prototype=Object.assign(Object.create(H.prototype),{constructor:fa,isLight:!0,copy:function(a){H.prototype.copy.call(this,a);this.color.copy(a.color);this.intensity=a.intensity;return this},toJSON:function(a){a=H.prototype.toJSON.call(this,a);a.object.color=this.color.getHex();a.object.intensity= +this.intensity;void 0!==this.groundColor&&(a.object.groundColor=this.groundColor.getHex());void 0!==this.distance&&(a.object.distance=this.distance);void 0!==this.angle&&(a.object.angle=this.angle);void 0!==this.decay&&(a.object.decay=this.decay);void 0!==this.penumbra&&(a.object.penumbra=this.penumbra);void 0!==this.shadow&&(a.object.shadow=this.shadow.toJSON());return a}});Ze.prototype=Object.assign(Object.create(fa.prototype),{constructor:Ze,isHemisphereLight:!0,copy:function(a){fa.prototype.copy.call(this, +a);this.groundColor.copy(a.groundColor);return this}});Object.assign(jb.prototype,{_projScreenMatrix:new O,_lightPositionWorld:new n,_lookTarget:new n,getViewportCount:function(){return this._viewportCount},getFrustum:function(){return this._frustum},updateMatrices:function(a){var b=this.camera,c=this.matrix,d=this._projScreenMatrix,e=this._lookTarget,f=this._lightPositionWorld;f.setFromMatrixPosition(a.matrixWorld);b.position.copy(f);e.setFromMatrixPosition(a.target.matrixWorld);b.lookAt(e);b.updateMatrixWorld(); +d.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);this._frustum.setFromMatrix(d);c.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);c.multiply(b.projectionMatrix);c.multiply(b.matrixWorldInverse)},getViewport:function(a){return this._viewports[a]},getFrameExtents:function(){return this._frameExtents},copy:function(a){this.camera=a.camera.clone();this.bias=a.bias;this.radius=a.radius;this.mapSize.copy(a.mapSize);return this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var a= +{};0!==this.bias&&(a.bias=this.bias);1!==this.radius&&(a.radius=this.radius);if(512!==this.mapSize.x||512!==this.mapSize.y)a.mapSize=this.mapSize.toArray();a.camera=this.camera.toJSON(!1).object;delete a.camera.matrix;return a}});$e.prototype=Object.assign(Object.create(jb.prototype),{constructor:$e,isSpotLightShadow:!0,updateMatrices:function(a,b,c){var d=this.camera,e=2*Q.RAD2DEG*a.angle,f=this.mapSize.width/this.mapSize.height,g=a.distance||d.far;if(e!==d.fov||f!==d.aspect||g!==d.far)d.fov=e,d.aspect= +f,d.far=g,d.updateProjectionMatrix();jb.prototype.updateMatrices.call(this,a,b,c)}});af.prototype=Object.assign(Object.create(fa.prototype),{constructor:af,isSpotLight:!0,copy:function(a){fa.prototype.copy.call(this,a);this.distance=a.distance;this.angle=a.angle;this.penumbra=a.penumbra;this.decay=a.decay;this.target=a.target.clone();this.shadow=a.shadow.clone();return this}});tg.prototype=Object.assign(Object.create(jb.prototype),{constructor:tg,isPointLightShadow:!0,updateMatrices:function(a,b, +c){b=this.camera;var d=this.matrix,e=this._lightPositionWorld,f=this._lookTarget,g=this._projScreenMatrix;e.setFromMatrixPosition(a.matrixWorld);b.position.copy(e);f.copy(b.position);f.add(this._cubeDirections[c]);b.up.copy(this._cubeUps[c]);b.lookAt(f);b.updateMatrixWorld();d.makeTranslation(-e.x,-e.y,-e.z);g.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);this._frustum.setFromMatrix(g)}});bf.prototype=Object.assign(Object.create(fa.prototype),{constructor:bf,isPointLight:!0,copy:function(a){fa.prototype.copy.call(this, +a);this.distance=a.distance;this.decay=a.decay;this.shadow=a.shadow.clone();return this}});qe.prototype=Object.assign(Object.create(cb.prototype),{constructor:qe,isOrthographicCamera:!0,copy:function(a,b){cb.prototype.copy.call(this,a,b);this.left=a.left;this.right=a.right;this.top=a.top;this.bottom=a.bottom;this.near=a.near;this.far=a.far;this.zoom=a.zoom;this.view=null===a.view?null:Object.assign({},a.view);return this},setViewOffset:function(a,b,c,d,e,f){null===this.view&&(this.view={enabled:!0, +fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=!0;this.view.fullWidth=a;this.view.fullHeight=b;this.view.offsetX=c;this.view.offsetY=d;this.view.width=e;this.view.height=f;this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1);this.updateProjectionMatrix()},updateProjectionMatrix:function(){var a=(this.right-this.left)/(2*this.zoom),b=(this.top-this.bottom)/(2*this.zoom),c=(this.right+this.left)/2,d=(this.top+this.bottom)/ +2,e=c-a;c+=a;a=d+b;b=d-b;if(null!==this.view&&this.view.enabled){c=this.zoom/(this.view.width/this.view.fullWidth);b=this.zoom/(this.view.height/this.view.fullHeight);var f=(this.right-this.left)/this.view.width;d=(this.top-this.bottom)/this.view.height;e+=this.view.offsetX/c*f;c=e+this.view.width/c*f;a-=this.view.offsetY/b*d;b=a-this.view.height/b*d}this.projectionMatrix.makeOrthographic(e,c,a,b,this.near,this.far);this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(a){a= +H.prototype.toJSON.call(this,a);a.object.zoom=this.zoom;a.object.left=this.left;a.object.right=this.right;a.object.top=this.top;a.object.bottom=this.bottom;a.object.near=this.near;a.object.far=this.far;null!==this.view&&(a.object.view=Object.assign({},this.view));return a}});cf.prototype=Object.assign(Object.create(jb.prototype),{constructor:cf,isDirectionalLightShadow:!0,updateMatrices:function(a,b,c){jb.prototype.updateMatrices.call(this,a,b,c)}});df.prototype=Object.assign(Object.create(fa.prototype), +{constructor:df,isDirectionalLight:!0,copy:function(a){fa.prototype.copy.call(this,a);this.target=a.target.clone();this.shadow=a.shadow.clone();return this}});ef.prototype=Object.assign(Object.create(fa.prototype),{constructor:ef,isAmbientLight:!0});ff.prototype=Object.assign(Object.create(fa.prototype),{constructor:ff,isRectAreaLight:!0,copy:function(a){fa.prototype.copy.call(this,a);this.width=a.width;this.height=a.height;return this},toJSON:function(a){a=fa.prototype.toJSON.call(this,a);a.object.width= +this.width;a.object.height=this.height;return a}});gf.prototype=Object.assign(Object.create(Z.prototype),{constructor:gf,load:function(a,b,c,d){var e=this,f=new Pa(e.manager);f.setPath(e.path);f.load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},parse:function(a){function b(a){void 0===c[a]&&console.warn("THREE.MaterialLoader: Undefined texture",a);return c[a]}var c=this.textures,d=new Fk[a.type];void 0!==a.uuid&&(d.uuid=a.uuid);void 0!==a.name&&(d.name=a.name);void 0!==a.color&&d.color.setHex(a.color); +void 0!==a.roughness&&(d.roughness=a.roughness);void 0!==a.metalness&&(d.metalness=a.metalness);void 0!==a.sheen&&(d.sheen=(new E).setHex(a.sheen));void 0!==a.emissive&&d.emissive.setHex(a.emissive);void 0!==a.specular&&d.specular.setHex(a.specular);void 0!==a.shininess&&(d.shininess=a.shininess);void 0!==a.clearcoat&&(d.clearcoat=a.clearcoat);void 0!==a.clearcoatRoughness&&(d.clearcoatRoughness=a.clearcoatRoughness);void 0!==a.vertexColors&&(d.vertexColors=a.vertexColors);void 0!==a.fog&&(d.fog= +a.fog);void 0!==a.flatShading&&(d.flatShading=a.flatShading);void 0!==a.blending&&(d.blending=a.blending);void 0!==a.combine&&(d.combine=a.combine);void 0!==a.side&&(d.side=a.side);void 0!==a.opacity&&(d.opacity=a.opacity);void 0!==a.transparent&&(d.transparent=a.transparent);void 0!==a.alphaTest&&(d.alphaTest=a.alphaTest);void 0!==a.depthTest&&(d.depthTest=a.depthTest);void 0!==a.depthWrite&&(d.depthWrite=a.depthWrite);void 0!==a.colorWrite&&(d.colorWrite=a.colorWrite);void 0!==a.stencilWrite&&(d.stencilWrite= +a.stencilWrite);void 0!==a.stencilWriteMask&&(d.stencilWriteMask=a.stencilWriteMask);void 0!==a.stencilFunc&&(d.stencilFunc=a.stencilFunc);void 0!==a.stencilRef&&(d.stencilRef=a.stencilRef);void 0!==a.stencilFuncMask&&(d.stencilFuncMask=a.stencilFuncMask);void 0!==a.stencilFail&&(d.stencilFail=a.stencilFail);void 0!==a.stencilZFail&&(d.stencilZFail=a.stencilZFail);void 0!==a.stencilZPass&&(d.stencilZPass=a.stencilZPass);void 0!==a.wireframe&&(d.wireframe=a.wireframe);void 0!==a.wireframeLinewidth&& +(d.wireframeLinewidth=a.wireframeLinewidth);void 0!==a.wireframeLinecap&&(d.wireframeLinecap=a.wireframeLinecap);void 0!==a.wireframeLinejoin&&(d.wireframeLinejoin=a.wireframeLinejoin);void 0!==a.rotation&&(d.rotation=a.rotation);1!==a.linewidth&&(d.linewidth=a.linewidth);void 0!==a.dashSize&&(d.dashSize=a.dashSize);void 0!==a.gapSize&&(d.gapSize=a.gapSize);void 0!==a.scale&&(d.scale=a.scale);void 0!==a.polygonOffset&&(d.polygonOffset=a.polygonOffset);void 0!==a.polygonOffsetFactor&&(d.polygonOffsetFactor= +a.polygonOffsetFactor);void 0!==a.polygonOffsetUnits&&(d.polygonOffsetUnits=a.polygonOffsetUnits);void 0!==a.skinning&&(d.skinning=a.skinning);void 0!==a.morphTargets&&(d.morphTargets=a.morphTargets);void 0!==a.morphNormals&&(d.morphNormals=a.morphNormals);void 0!==a.dithering&&(d.dithering=a.dithering);void 0!==a.visible&&(d.visible=a.visible);void 0!==a.toneMapped&&(d.toneMapped=a.toneMapped);void 0!==a.userData&&(d.userData=a.userData);if(void 0!==a.uniforms)for(var e in a.uniforms){var f=a.uniforms[e]; +d.uniforms[e]={};switch(f.type){case "t":d.uniforms[e].value=b(f.value);break;case "c":d.uniforms[e].value=(new E).setHex(f.value);break;case "v2":d.uniforms[e].value=(new A).fromArray(f.value);break;case "v3":d.uniforms[e].value=(new n).fromArray(f.value);break;case "v4":d.uniforms[e].value=(new W).fromArray(f.value);break;case "m3":d.uniforms[e].value=(new aa).fromArray(f.value);case "m4":d.uniforms[e].value=(new O).fromArray(f.value);break;default:d.uniforms[e].value=f.value}}void 0!==a.defines&& +(d.defines=a.defines);void 0!==a.vertexShader&&(d.vertexShader=a.vertexShader);void 0!==a.fragmentShader&&(d.fragmentShader=a.fragmentShader);if(void 0!==a.extensions)for(var g in a.extensions)d.extensions[g]=a.extensions[g];void 0!==a.shading&&(d.flatShading=1===a.shading);void 0!==a.size&&(d.size=a.size);void 0!==a.sizeAttenuation&&(d.sizeAttenuation=a.sizeAttenuation);void 0!==a.map&&(d.map=b(a.map));void 0!==a.matcap&&(d.matcap=b(a.matcap));void 0!==a.alphaMap&&(d.alphaMap=b(a.alphaMap),d.transparent= +!0);void 0!==a.bumpMap&&(d.bumpMap=b(a.bumpMap));void 0!==a.bumpScale&&(d.bumpScale=a.bumpScale);void 0!==a.normalMap&&(d.normalMap=b(a.normalMap));void 0!==a.normalMapType&&(d.normalMapType=a.normalMapType);void 0!==a.normalScale&&(e=a.normalScale,!1===Array.isArray(e)&&(e=[e,e]),d.normalScale=(new A).fromArray(e));void 0!==a.displacementMap&&(d.displacementMap=b(a.displacementMap));void 0!==a.displacementScale&&(d.displacementScale=a.displacementScale);void 0!==a.displacementBias&&(d.displacementBias= +a.displacementBias);void 0!==a.roughnessMap&&(d.roughnessMap=b(a.roughnessMap));void 0!==a.metalnessMap&&(d.metalnessMap=b(a.metalnessMap));void 0!==a.emissiveMap&&(d.emissiveMap=b(a.emissiveMap));void 0!==a.emissiveIntensity&&(d.emissiveIntensity=a.emissiveIntensity);void 0!==a.specularMap&&(d.specularMap=b(a.specularMap));void 0!==a.envMap&&(d.envMap=b(a.envMap));void 0!==a.envMapIntensity&&(d.envMapIntensity=a.envMapIntensity);void 0!==a.reflectivity&&(d.reflectivity=a.reflectivity);void 0!==a.refractionRatio&& +(d.refractionRatio=a.refractionRatio);void 0!==a.lightMap&&(d.lightMap=b(a.lightMap));void 0!==a.lightMapIntensity&&(d.lightMapIntensity=a.lightMapIntensity);void 0!==a.aoMap&&(d.aoMap=b(a.aoMap));void 0!==a.aoMapIntensity&&(d.aoMapIntensity=a.aoMapIntensity);void 0!==a.gradientMap&&(d.gradientMap=b(a.gradientMap));void 0!==a.clearcoatNormalMap&&(d.clearcoatNormalMap=b(a.clearcoatNormalMap));void 0!==a.clearcoatNormalScale&&(d.clearcoatNormalScale=(new A).fromArray(a.clearcoatNormalScale));return d}, +setTextures:function(a){this.textures=a;return this}});var fh={decodeText:function(a){if("undefined"!==typeof TextDecoder)return(new TextDecoder).decode(a);for(var b="",c=0,d=a.length;c<d;c++)b+=String.fromCharCode(a[c]);try{return decodeURIComponent(escape(b))}catch(e){return b}},extractUrlBase:function(a){var b=a.lastIndexOf("/");return-1===b?"./":a.substr(0,b+1)}};hf.prototype=Object.assign(Object.create(D.prototype),{constructor:hf,isInstancedBufferGeometry:!0,copy:function(a){D.prototype.copy.call(this, +a);this.maxInstancedCount=a.maxInstancedCount;return this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var a=D.prototype.toJSON.call(this);a.maxInstancedCount=this.maxInstancedCount;a.isInstancedBufferGeometry=!0;return a}});jf.prototype=Object.assign(Object.create(P.prototype),{constructor:jf,isInstancedBufferAttribute:!0,copy:function(a){P.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this},toJSON:function(){var a=P.prototype.toJSON.call(this); +a.meshPerAttribute=this.meshPerAttribute;a.isInstancedBufferAttribute=!0;return a}});kf.prototype=Object.assign(Object.create(Z.prototype),{constructor:kf,load:function(a,b,c,d){var e=this,f=new Pa(e.manager);f.setPath(e.path);f.load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},parse:function(a){var b=a.isInstancedBufferGeometry?new hf:new D,c=a.data.index;if(void 0!==c){var d=new gh[c.type](c.array);b.setIndex(new P(d,1))}c=a.data.attributes;for(var e in c){var f=c[e];d=new gh[f.type](f.array); +d=new (f.isInstancedBufferAttribute?jf:P)(d,f.itemSize,f.normalized);void 0!==f.name&&(d.name=f.name);b.addAttribute(e,d)}var g=a.data.morphAttributes;if(g)for(e in g){var h=g[e],l=[];c=0;for(var k=h.length;c<k;c++)f=h[c],d=new gh[f.type](f.array),d=new P(d,f.itemSize,f.normalized),void 0!==f.name&&(d.name=f.name),l.push(d);b.morphAttributes[e]=l}e=a.data.groups||a.data.drawcalls||a.data.offsets;if(void 0!==e)for(c=0,f=e.length;c!==f;++c)d=e[c],b.addGroup(d.start,d.count,d.materialIndex);c=a.data.boundingSphere; +void 0!==c&&(e=new n,void 0!==c.center&&e.fromArray(c.center),b.boundingSphere=new ob(e,c.radius));a.name&&(b.name=a.name);a.userData&&(b.userData=a.userData);return b}});var gh={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:"undefined"!==typeof Uint8ClampedArray?Uint8ClampedArray:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};lf.prototype=Object.assign(Object.create(Z.prototype), +{constructor:lf,load:function(a,b,c,d){var e=this,f=""===this.path?fh.extractUrlBase(a):this.path;this.resourcePath=this.resourcePath||f;f=new Pa(e.manager);f.setPath(this.path);f.load(a,function(c){var f=null;try{f=JSON.parse(c)}catch(l){void 0!==d&&d(l);console.error("THREE:ObjectLoader: Can't parse "+a+".",l.message);return}c=f.metadata;void 0===c||void 0===c.type||"geometry"===c.type.toLowerCase()?console.error("THREE.ObjectLoader: Can't load "+a):e.parse(f,b)},c,d)},parse:function(a,b){var c= +this.parseShape(a.shapes);c=this.parseGeometries(a.geometries,c);var d=this.parseImages(a.images,function(){void 0!==b&&b(e)});d=this.parseTextures(a.textures,d);d=this.parseMaterials(a.materials,d);var e=this.parseObject(a.object,c,d);a.animations&&(e.animations=this.parseAnimations(a.animations));void 0!==a.images&&0!==a.images.length||void 0===b||b(e);return e},parseShape:function(a){var b={};if(void 0!==a)for(var c=0,d=a.length;c<d;c++){var e=(new Kb).fromJSON(a[c]);b[e.uuid]=e}return b},parseGeometries:function(a, +b){var c={};if(void 0!==a)for(var d=new kf,e=0,f=a.length;e<f;e++){var g=a[e];switch(g.type){case "PlaneGeometry":case "PlaneBufferGeometry":var h=new ua[g.type](g.width,g.height,g.widthSegments,g.heightSegments);break;case "BoxGeometry":case "BoxBufferGeometry":case "CubeGeometry":h=new ua[g.type](g.width,g.height,g.depth,g.widthSegments,g.heightSegments,g.depthSegments);break;case "CircleGeometry":case "CircleBufferGeometry":h=new ua[g.type](g.radius,g.segments,g.thetaStart,g.thetaLength);break; +case "CylinderGeometry":case "CylinderBufferGeometry":h=new ua[g.type](g.radiusTop,g.radiusBottom,g.height,g.radialSegments,g.heightSegments,g.openEnded,g.thetaStart,g.thetaLength);break;case "ConeGeometry":case "ConeBufferGeometry":h=new ua[g.type](g.radius,g.height,g.radialSegments,g.heightSegments,g.openEnded,g.thetaStart,g.thetaLength);break;case "SphereGeometry":case "SphereBufferGeometry":h=new ua[g.type](g.radius,g.widthSegments,g.heightSegments,g.phiStart,g.phiLength,g.thetaStart,g.thetaLength); +break;case "DodecahedronGeometry":case "DodecahedronBufferGeometry":case "IcosahedronGeometry":case "IcosahedronBufferGeometry":case "OctahedronGeometry":case "OctahedronBufferGeometry":case "TetrahedronGeometry":case "TetrahedronBufferGeometry":h=new ua[g.type](g.radius,g.detail);break;case "RingGeometry":case "RingBufferGeometry":h=new ua[g.type](g.innerRadius,g.outerRadius,g.thetaSegments,g.phiSegments,g.thetaStart,g.thetaLength);break;case "TorusGeometry":case "TorusBufferGeometry":h=new ua[g.type](g.radius, +g.tube,g.radialSegments,g.tubularSegments,g.arc);break;case "TorusKnotGeometry":case "TorusKnotBufferGeometry":h=new ua[g.type](g.radius,g.tube,g.tubularSegments,g.radialSegments,g.p,g.q);break;case "TubeGeometry":case "TubeBufferGeometry":h=new ua[g.type]((new eh[g.path.type]).fromJSON(g.path),g.tubularSegments,g.radius,g.radialSegments,g.closed);break;case "LatheGeometry":case "LatheBufferGeometry":h=new ua[g.type](g.points,g.segments,g.phiStart,g.phiLength);break;case "PolyhedronGeometry":case "PolyhedronBufferGeometry":h= +new ua[g.type](g.vertices,g.indices,g.radius,g.details);break;case "ShapeGeometry":case "ShapeBufferGeometry":h=[];for(var l=0,k=g.shapes.length;l<k;l++){var n=b[g.shapes[l]];h.push(n)}h=new ua[g.type](h,g.curveSegments);break;case "ExtrudeGeometry":case "ExtrudeBufferGeometry":h=[];l=0;for(k=g.shapes.length;l<k;l++)n=b[g.shapes[l]],h.push(n);l=g.options.extrudePath;void 0!==l&&(g.options.extrudePath=(new eh[l.type]).fromJSON(l));h=new ua[g.type](h,g.options);break;case "BufferGeometry":case "InstancedBufferGeometry":h= +d.parse(g);break;case "Geometry":"THREE"in window&&"LegacyJSONLoader"in THREE?h=(new THREE.LegacyJSONLoader).parse(g,this.resourcePath).geometry:console.error('THREE.ObjectLoader: You have to import LegacyJSONLoader in order load geometry data of type "Geometry".');break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+g.type+'"');continue}h.uuid=g.uuid;void 0!==g.name&&(h.name=g.name);!0===h.isBufferGeometry&&void 0!==g.userData&&(h.userData=g.userData);c[g.uuid]=h}return c}, +parseMaterials:function(a,b){var c={},d={};if(void 0!==a){var e=new gf;e.setTextures(b);b=0;for(var f=a.length;b<f;b++){var g=a[b];if("MultiMaterial"===g.type){for(var h=[],l=0;l<g.materials.length;l++){var k=g.materials[l];void 0===c[k.uuid]&&(c[k.uuid]=e.parse(k));h.push(c[k.uuid])}d[g.uuid]=h}else void 0===c[g.uuid]&&(c[g.uuid]=e.parse(g)),d[g.uuid]=c[g.uuid]}}return d},parseAnimations:function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=Oa.parse(d);void 0!==d.uuid&&(e.uuid=d.uuid);b.push(e)}return b}, +parseImages:function(a,b){function c(a){d.manager.itemStart(a);return f.load(a,function(){d.manager.itemEnd(a)},void 0,function(){d.manager.itemError(a);d.manager.itemEnd(a)})}var d=this,e={};if(void 0!==a&&0<a.length){b=new pg(b);var f=new ed(b);f.setCrossOrigin(this.crossOrigin);b=0;for(var g=a.length;b<g;b++){var h=a[b],l=h.url;if(Array.isArray(l)){e[h.uuid]=[];for(var k=0,n=l.length;k<n;k++){var u=l[k];u=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(u)?u:d.resourcePath+u;e[h.uuid].push(c(u))}}else u=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(h.url)? +h.url:d.resourcePath+h.url,e[h.uuid]=c(u)}}return e},parseTextures:function(a,b){function c(a,b){if("number"===typeof a)return a;console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",a);return b[a]}var d={};if(void 0!==a)for(var e=0,f=a.length;e<f;e++){var g=a[e];void 0===g.image&&console.warn('THREE.ObjectLoader: No "image" specified for',g.uuid);void 0===b[g.image]&&console.warn("THREE.ObjectLoader: Undefined image",g.image);var h=Array.isArray(b[g.image])?new pb(b[g.image]): +new Y(b[g.image]);h.needsUpdate=!0;h.uuid=g.uuid;void 0!==g.name&&(h.name=g.name);void 0!==g.mapping&&(h.mapping=c(g.mapping,Gk));void 0!==g.offset&&h.offset.fromArray(g.offset);void 0!==g.repeat&&h.repeat.fromArray(g.repeat);void 0!==g.center&&h.center.fromArray(g.center);void 0!==g.rotation&&(h.rotation=g.rotation);void 0!==g.wrap&&(h.wrapS=c(g.wrap[0],Ci),h.wrapT=c(g.wrap[1],Ci));void 0!==g.format&&(h.format=g.format);void 0!==g.type&&(h.type=g.type);void 0!==g.encoding&&(h.encoding=g.encoding); +void 0!==g.minFilter&&(h.minFilter=c(g.minFilter,Di));void 0!==g.magFilter&&(h.magFilter=c(g.magFilter,Di));void 0!==g.anisotropy&&(h.anisotropy=g.anisotropy);void 0!==g.flipY&&(h.flipY=g.flipY);void 0!==g.premultiplyAlpha&&(h.premultiplyAlpha=g.premultiplyAlpha);void 0!==g.unpackAlignment&&(h.unpackAlignment=g.unpackAlignment);d[g.uuid]=h}return d},parseObject:function(a,b,c){function d(a){void 0===b[a]&&console.warn("THREE.ObjectLoader: Undefined geometry",a);return b[a]}function e(a){if(void 0!== +a){if(Array.isArray(a)){for(var b=[],d=0,e=a.length;d<e;d++){var f=a[d];void 0===c[f]&&console.warn("THREE.ObjectLoader: Undefined material",f);b.push(c[f])}return b}void 0===c[a]&&console.warn("THREE.ObjectLoader: Undefined material",a);return c[a]}}switch(a.type){case "Scene":var f=new zd;void 0!==a.background&&Number.isInteger(a.background)&&(f.background=new E(a.background));void 0!==a.fog&&("Fog"===a.fog.type?f.fog=new Me(a.fog.color,a.fog.near,a.fog.far):"FogExp2"===a.fog.type&&(f.fog=new Le(a.fog.color, +a.fog.density)));break;case "PerspectiveCamera":f=new oa(a.fov,a.aspect,a.near,a.far);void 0!==a.focus&&(f.focus=a.focus);void 0!==a.zoom&&(f.zoom=a.zoom);void 0!==a.filmGauge&&(f.filmGauge=a.filmGauge);void 0!==a.filmOffset&&(f.filmOffset=a.filmOffset);void 0!==a.view&&(f.view=Object.assign({},a.view));break;case "OrthographicCamera":f=new qe(a.left,a.right,a.top,a.bottom,a.near,a.far);void 0!==a.zoom&&(f.zoom=a.zoom);void 0!==a.view&&(f.view=Object.assign({},a.view));break;case "AmbientLight":f= +new ef(a.color,a.intensity);break;case "DirectionalLight":f=new df(a.color,a.intensity);break;case "PointLight":f=new bf(a.color,a.intensity,a.distance,a.decay);break;case "RectAreaLight":f=new ff(a.color,a.intensity,a.width,a.height);break;case "SpotLight":f=new af(a.color,a.intensity,a.distance,a.angle,a.penumbra,a.decay);break;case "HemisphereLight":f=new Ze(a.color,a.groundColor,a.intensity);break;case "SkinnedMesh":console.warn("THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet."); +case "Mesh":f=d(a.geometry);var g=e(a.material);f=f.bones&&0<f.bones.length?new Qd(f,g):new da(f,g);void 0!==a.drawMode&&f.setDrawMode(a.drawMode);break;case "LOD":f=new Pd;break;case "Line":f=new ya(d(a.geometry),e(a.material),a.mode);break;case "LineLoop":f=new Pe(d(a.geometry),e(a.material));break;case "LineSegments":f=new U(d(a.geometry),e(a.material));break;case "PointCloud":case "Points":f=new Nc(d(a.geometry),e(a.material));break;case "Sprite":f=new Nd(e(a.material));break;case "Group":f=new Kc; +break;default:f=new H}f.uuid=a.uuid;void 0!==a.name&&(f.name=a.name);void 0!==a.matrix?(f.matrix.fromArray(a.matrix),void 0!==a.matrixAutoUpdate&&(f.matrixAutoUpdate=a.matrixAutoUpdate),f.matrixAutoUpdate&&f.matrix.decompose(f.position,f.quaternion,f.scale)):(void 0!==a.position&&f.position.fromArray(a.position),void 0!==a.rotation&&f.rotation.fromArray(a.rotation),void 0!==a.quaternion&&f.quaternion.fromArray(a.quaternion),void 0!==a.scale&&f.scale.fromArray(a.scale));void 0!==a.castShadow&&(f.castShadow= +a.castShadow);void 0!==a.receiveShadow&&(f.receiveShadow=a.receiveShadow);a.shadow&&(void 0!==a.shadow.bias&&(f.shadow.bias=a.shadow.bias),void 0!==a.shadow.radius&&(f.shadow.radius=a.shadow.radius),void 0!==a.shadow.mapSize&&f.shadow.mapSize.fromArray(a.shadow.mapSize),void 0!==a.shadow.camera&&(f.shadow.camera=this.parseObject(a.shadow.camera)));void 0!==a.visible&&(f.visible=a.visible);void 0!==a.frustumCulled&&(f.frustumCulled=a.frustumCulled);void 0!==a.renderOrder&&(f.renderOrder=a.renderOrder); +void 0!==a.userData&&(f.userData=a.userData);void 0!==a.layers&&(f.layers.mask=a.layers);if(void 0!==a.children){g=a.children;for(var h=0;h<g.length;h++)f.add(this.parseObject(g[h],b,c))}if("LOD"===a.type)for(a=a.levels,g=0;g<a.length;g++){h=a[g];var l=f.getObjectByProperty("uuid",h.object);void 0!==l&&f.addLevel(l,h.distance)}return f}});var Gk={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,SphericalReflectionMapping:305, +CubeUVReflectionMapping:306,CubeUVRefractionMapping:307},Ci={RepeatWrapping:1E3,ClampToEdgeWrapping:1001,MirroredRepeatWrapping:1002},Di={NearestFilter:1003,NearestMipmapNearestFilter:1004,NearestMipmapLinearFilter:1005,LinearFilter:1006,LinearMipmapNearestFilter:1007,LinearMipmapLinearFilter:1008};ug.prototype=Object.assign(Object.create(Z.prototype),{constructor:ug,setOptions:function(a){this.options=a;return this},load:function(a,b,c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);a= +this.manager.resolveURL(a);var e=this,f=vc.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;fetch(a).then(function(a){return a.blob()}).then(function(a){return void 0===e.options?createImageBitmap(a):createImageBitmap(a,e.options)}).then(function(c){vc.add(a,c);b&&b(c);e.manager.itemEnd(a)}).catch(function(b){d&&d(b);e.manager.itemError(a);e.manager.itemEnd(a)});e.manager.itemStart(a)}});Object.assign(vg.prototype,{moveTo:function(a,b){this.currentPath= +new Xa;this.subPaths.push(this.currentPath);this.currentPath.moveTo(a,b)},lineTo:function(a,b){this.currentPath.lineTo(a,b)},quadraticCurveTo:function(a,b,c,d){this.currentPath.quadraticCurveTo(a,b,c,d)},bezierCurveTo:function(a,b,c,d,e,f){this.currentPath.bezierCurveTo(a,b,c,d,e,f)},splineThru:function(a){this.currentPath.splineThru(a)},toShapes:function(a,b){function c(a){for(var b=[],c=0,d=a.length;c<d;c++){var e=a[c],f=new Kb;f.curves=e.curves;b.push(f)}return b}function d(a,b){for(var c=b.length, +d=!1,e=c-1,f=0;f<c;e=f++){var g=b[e],h=b[f],l=h.x-g.x,k=h.y-g.y;if(Math.abs(k)>Number.EPSILON){if(0>k&&(g=b[f],l=-l,h=b[e],k=-k),!(a.y<g.y||a.y>h.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=k*(a.x-g.x)-l*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=qb.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);b=[];if(1===f.length){var g=f[0];var h=new Kb;h.curves=g.curves;b.push(h);return b}var l=!e(f[0].getPoints()); +l=a?!l:l;h=[];var k=[],n=[],u=0;k[u]=void 0;n[u]=[];for(var r=0,t=f.length;r<t;r++){g=f[r];var p=g.getPoints();var v=e(p);(v=a?!v:v)?(!l&&k[u]&&u++,k[u]={s:new Kb,p:p},k[u].s.curves=g.curves,l&&u++,n[u]=[]):n[u].push({h:g,p:p[0]})}if(!k[0])return c(f);if(1<k.length){r=!1;a=[];e=0;for(f=k.length;e<f;e++)h[e]=[];e=0;for(f=k.length;e<f;e++)for(g=n[e],v=0;v<g.length;v++){l=g[v];u=!0;for(p=0;p<k.length;p++)d(l.p,k[p].p)&&(e!==p&&a.push({froms:e,tos:p,hole:v}),u?(u=!1,h[p].push(l)):r=!0);u&&h[e].push(l)}0< +a.length&&(r||(n=h))}r=0;for(e=k.length;r<e;r++)for(h=k[r].s,b.push(h),a=n[r],f=0,g=a.length;f<g;f++)h.holes.push(a[f].h);return b}});Object.assign(wg.prototype,{isFont:!0,generateShapes:function(a,b){void 0===b&&(b=100);var c=[],d=b;b=this.data;var e=Array.from?Array.from(a):String(a).split("");d/=b.resolution;var f=(b.boundingBox.yMax-b.boundingBox.yMin+b.underlineThickness)*d;a=[];for(var g=0,h=0,l=0;l<e.length;l++){var k=e[l];if("\n"===k)g=0,h-=f;else{var n=k;k=d;var u=g,r=h,t=b,p=t.glyphs[n]|| +t.glyphs["?"];if(p){n=new vg;if(p.o){t=p._cachedOutline||(p._cachedOutline=p.o.split(" "));for(var v=0,w=t.length;v<w;)switch(t[v++]){case "m":var y=t[v++]*k+u;var x=t[v++]*k+r;n.moveTo(y,x);break;case "l":y=t[v++]*k+u;x=t[v++]*k+r;n.lineTo(y,x);break;case "q":var z=t[v++]*k+u;var A=t[v++]*k+r;var B=t[v++]*k+u;var C=t[v++]*k+r;n.quadraticCurveTo(B,C,z,A);break;case "b":z=t[v++]*k+u,A=t[v++]*k+r,B=t[v++]*k+u,C=t[v++]*k+r,y=t[v++]*k+u,x=t[v++]*k+r,n.bezierCurveTo(B,C,y,x,z,A)}}k={offsetX:p.ha*k,path:n}}else console.error('THREE.Font: character "'+ +n+'" does not exists in font family '+t.familyName+"."),k=void 0;g+=k.offsetX;a.push(k.path)}}b=0;for(e=a.length;b<e;b++)Array.prototype.push.apply(c,a[b].toShapes());return c}});xg.prototype=Object.assign(Object.create(Z.prototype),{constructor:xg,load:function(a,b,c,d){var e=this,f=new Pa(this.manager);f.setPath(this.path);f.load(a,function(a){try{var c=JSON.parse(a)}catch(l){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),c=JSON.parse(a.substring(65, +a.length-2))}a=e.parse(c);b&&b(a)},c,d)},parse:function(a){return new wg(a)}});var Lf,Cg={getContext:function(){void 0===Lf&&(Lf=new (window.AudioContext||window.webkitAudioContext));return Lf},setContext:function(a){Lf=a}};mf.prototype=Object.assign(Object.create(Z.prototype),{constructor:mf,load:function(a,b,c,d){var e=new Pa(this.manager);e.setResponseType("arraybuffer");e.setPath(this.path);e.load(a,function(a){a=a.slice(0);Cg.getContext().decodeAudioData(a,function(a){b(a)})},c,d)}});Object.assign(nf.prototype, +{isSphericalHarmonics3:!0,set:function(a){for(var b=0;9>b;b++)this.coefficients[b].copy(a[b]);return this},zero:function(){for(var a=0;9>a;a++)this.coefficients[a].set(0,0,0);return this},getAt:function(a,b){var c=a.x,d=a.y;a=a.z;var e=this.coefficients;b.copy(e[0]).multiplyScalar(.282095);b.addScale(e[1],.488603*d);b.addScale(e[2],.488603*a);b.addScale(e[3],.488603*c);b.addScale(e[4],1.092548*c*d);b.addScale(e[5],1.092548*d*a);b.addScale(e[6],.315392*(3*a*a-1));b.addScale(e[7],1.092548*c*a);b.addScale(e[8], +.546274*(c*c-d*d));return b},getIrradianceAt:function(a,b){var c=a.x,d=a.y;a=a.z;var e=this.coefficients;b.copy(e[0]).multiplyScalar(.886227);b.addScale(e[1],1.023328*d);b.addScale(e[2],1.023328*a);b.addScale(e[3],1.023328*c);b.addScale(e[4],.858086*c*d);b.addScale(e[5],.858086*d*a);b.addScale(e[6],.743125*a*a-.247708);b.addScale(e[7],.858086*c*a);b.addScale(e[8],.429043*(c*c-d*d));return b},add:function(a){for(var b=0;9>b;b++)this.coefficients[b].add(a.coefficients[b]);return this},scale:function(a){for(var b= +0;9>b;b++)this.coefficients[b].multiplyScalar(a);return this},lerp:function(a,b){for(var c=0;9>c;c++)this.coefficients[c].lerp(a.coefficients[c],b);return this},equals:function(a){for(var b=0;9>b;b++)if(!this.coefficients[b].equals(a.coefficients[b]))return!1;return!0},copy:function(a){return this.set(a.coefficients)},clone:function(){return(new this.constructor).copy(this)},fromArray:function(a,b){void 0===b&&(b=0);for(var c=this.coefficients,d=0;9>d;d++)c[d].fromArray(a,b+3*d);return this},toArray:function(a, +b){void 0===a&&(a=[]);void 0===b&&(b=0);for(var c=this.coefficients,d=0;9>d;d++)c[d].toArray(a,b+3*d);return a}});Object.assign(nf,{getBasisAt:function(a,b){var c=a.x,d=a.y;a=a.z;b[0]=.282095;b[1]=.488603*d;b[2]=.488603*a;b[3]=.488603*c;b[4]=1.092548*c*d;b[5]=1.092548*d*a;b[6]=.315392*(3*a*a-1);b[7]=1.092548*c*a;b[8]=.546274*(c*c-d*d)}});Ya.prototype=Object.assign(Object.create(fa.prototype),{constructor:Ya,isLightProbe:!0,copy:function(a){fa.prototype.copy.call(this,a);this.sh.copy(a.sh);this.intensity= +a.intensity;return this},toJSON:function(a){return fa.prototype.toJSON.call(this,a)}});yg.prototype=Object.assign(Object.create(Ya.prototype),{constructor:yg,isHemisphereLightProbe:!0,copy:function(a){Ya.prototype.copy.call(this,a);return this},toJSON:function(a){return Ya.prototype.toJSON.call(this,a)}});zg.prototype=Object.assign(Object.create(Ya.prototype),{constructor:zg,isAmbientLightProbe:!0,copy:function(a){Ya.prototype.copy.call(this,a);return this},toJSON:function(a){return Ya.prototype.toJSON.call(this, +a)}});var Ei=new O,Fi=new O;Object.assign(ai.prototype,{update:function(a){var b=this._cache;if(b.focus!==a.focus||b.fov!==a.fov||b.aspect!==a.aspect*this.aspect||b.near!==a.near||b.far!==a.far||b.zoom!==a.zoom||b.eyeSep!==this.eyeSep){b.focus=a.focus;b.fov=a.fov;b.aspect=a.aspect*this.aspect;b.near=a.near;b.far=a.far;b.zoom=a.zoom;b.eyeSep=this.eyeSep;var c=a.projectionMatrix.clone(),d=b.eyeSep/2,e=d*b.near/b.focus,f=b.near*Math.tan(Q.DEG2RAD*b.fov*.5)/b.zoom;Fi.elements[12]=-d;Ei.elements[12]=d; +d=-f*b.aspect+e;var g=f*b.aspect+e;c.elements[0]=2*b.near/(g-d);c.elements[8]=(g+d)/(g-d);this.cameraL.projectionMatrix.copy(c);d=-f*b.aspect-e;g=f*b.aspect-e;c.elements[0]=2*b.near/(g-d);c.elements[8]=(g+d)/(g-d);this.cameraR.projectionMatrix.copy(c)}this.cameraL.matrixWorld.copy(a.matrixWorld).multiply(Fi);this.cameraR.matrixWorld.copy(a.matrixWorld).multiply(Ei)}});Object.assign(Ag.prototype,{start:function(){this.oldTime=this.startTime=("undefined"===typeof performance?Date:performance).now(); +this.elapsedTime=0;this.running=!0},stop:function(){this.getElapsedTime();this.autoStart=this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var b=("undefined"===typeof performance?Date:performance).now();a=(b-this.oldTime)/1E3;this.oldTime=b;this.elapsedTime+=a}return a}});var wc=new n,Gi=new va,Hk=new n,xc=new n;Bg.prototype=Object.assign(Object.create(H.prototype), +{constructor:Bg,getInput:function(){return this.gain},removeFilter:function(){null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null);return this},getFilter:function(){return this.filter},setFilter:function(a){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination);this.filter=a;this.gain.connect(this.filter); +this.filter.connect(this.context.destination);return this},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(a){this.gain.gain.setTargetAtTime(a,this.context.currentTime,.01);return this},updateMatrixWorld:function(a){H.prototype.updateMatrixWorld.call(this,a);a=this.context.listener;var b=this.up;this.timeDelta=this._clock.getDelta();this.matrixWorld.decompose(wc,Gi,Hk);xc.set(0,0,-1).applyQuaternion(Gi);if(a.positionX){var c=this.context.currentTime+this.timeDelta; +a.positionX.linearRampToValueAtTime(wc.x,c);a.positionY.linearRampToValueAtTime(wc.y,c);a.positionZ.linearRampToValueAtTime(wc.z,c);a.forwardX.linearRampToValueAtTime(xc.x,c);a.forwardY.linearRampToValueAtTime(xc.y,c);a.forwardZ.linearRampToValueAtTime(xc.z,c);a.upX.linearRampToValueAtTime(b.x,c);a.upY.linearRampToValueAtTime(b.y,c);a.upZ.linearRampToValueAtTime(b.z,c)}else a.setPosition(wc.x,wc.y,wc.z),a.setOrientation(xc.x,xc.y,xc.z,b.x,b.y,b.z)}});gd.prototype=Object.assign(Object.create(H.prototype), +{constructor:gd,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl=!1;this.sourceType="audioNode";this.source=a;this.connect();return this},setMediaElementSource:function(a){this.hasPlaybackControl=!1;this.sourceType="mediaNode";this.source=this.context.createMediaElementSource(a);this.connect();return this},setMediaStreamSource:function(a){this.hasPlaybackControl=!1;this.sourceType="mediaStreamNode";this.source=this.context.createMediaStreamSource(a);this.connect(); +return this},setBuffer:function(a){this.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();return this},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");else if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else{var a=this.context.createBufferSource();a.buffer=this.buffer;a.loop=this.loop;a.onended=this.onEnded.bind(this);this.startTime=this.context.currentTime;a.start(this.startTime,this.offset, +this.duration);this.isPlaying=!0;this.source=a;this.setDetune(this.detune);this.setPlaybackRate(this.playbackRate);return this.connect()}},pause:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return!0===this.isPlaying&&(this.source.stop(),this.source.onended=null,this.offset+=(this.context.currentTime-this.startTime)*this.playbackRate,this.isPlaying=!1),this},stop:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control."); +else return this.source.stop(),this.source.onended=null,this.offset=0,this.isPlaying=!1,this},connect:function(){if(0<this.filters.length){this.source.connect(this.filters[0]);for(var a=1,b=this.filters.length;a<b;a++)this.filters[a-1].connect(this.filters[a]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(0<this.filters.length){this.source.disconnect(this.filters[0]);for(var a=1,b=this.filters.length;a< +b;a++)this.filters[a-1].disconnect(this.filters[a]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(a){a||(a=[]);!0===this.isPlaying?(this.disconnect(),this.filters=a,this.connect()):this.filters=a;return this},setDetune:function(a){this.detune=a;if(void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime, +.01),this},getDetune:function(){return this.detune},getFilter:function(){return this.getFilters()[0]},setFilter:function(a){return this.setFilters(a?[a]:[])},setPlaybackRate:function(a){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return this.playbackRate=a,!0===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying= +!1},getLoop:function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},setLoop:function(a){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return this.loop=a,!0===this.isPlaying&&(this.source.loop=this.loop),this},getVolume:function(){return this.gain.gain.value},setVolume:function(a){this.gain.gain.setTargetAtTime(a,this.context.currentTime,.01);return this}});var yc=new n,Hi= +new va,Ik=new n,zc=new n;Dg.prototype=Object.assign(Object.create(gd.prototype),{constructor:Dg,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(a){this.panner.refDistance=a;return this},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(a){this.panner.rolloffFactor=a;return this},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(a){this.panner.distanceModel= +a;return this},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(a){this.panner.maxDistance=a;return this},setDirectionalCone:function(a,b,c){this.panner.coneInnerAngle=a;this.panner.coneOuterAngle=b;this.panner.coneOuterGain=c;return this},updateMatrixWorld:function(a){H.prototype.updateMatrixWorld.call(this,a);if(!0!==this.hasPlaybackControl||!1!==this.isPlaying)if(this.matrixWorld.decompose(yc,Hi,Ik),zc.set(0,0,1).applyQuaternion(Hi),a=this.panner,a.positionX){var b= +this.context.currentTime+this.listener.timeDelta;a.positionX.linearRampToValueAtTime(yc.x,b);a.positionY.linearRampToValueAtTime(yc.y,b);a.positionZ.linearRampToValueAtTime(yc.z,b);a.orientationX.linearRampToValueAtTime(zc.x,b);a.orientationY.linearRampToValueAtTime(zc.y,b);a.orientationZ.linearRampToValueAtTime(zc.z,b)}else a.setPosition(yc.x,yc.y,yc.z),a.setOrientation(zc.x,zc.y,zc.z)}});Object.assign(Eg.prototype,{getFrequencyData:function(){this.analyser.getByteFrequencyData(this.data);return this.data}, +getAverageFrequency:function(){for(var a=0,b=this.getFrequencyData(),c=0;c<b.length;c++)a+=b[c];return a/b.length}});Object.assign(Fg.prototype,{accumulate:function(a,b){var c=this.buffer,d=this.valueSize;a=a*d+d;var e=this.cumulativeWeight;if(0===e){for(e=0;e!==d;++e)c[a+e]=c[e];e=b}else e+=b,this._mixBufferRegion(c,a,0,b/e,d);this.cumulativeWeight=e},apply:function(a){var b=this.valueSize,c=this.buffer;a=a*b+b;var d=this.cumulativeWeight,e=this.binding;this.cumulativeWeight=0;1>d&&this._mixBufferRegion(c, +a,3*b,1-d,b);d=b;for(var f=b+b;d!==f;++d)if(c[d]!==c[d+b]){e.setValue(c,a);break}},saveOriginalState:function(){var a=this.buffer,b=this.valueSize,c=3*b;this.binding.getValue(a,c);for(var d=b;d!==c;++d)a[d]=a[c+d%b];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(a,b,c,d,e){if(.5<=d)for(d=0;d!==e;++d)a[b+d]=a[c+d]},_slerp:function(a,b,c,d){va.slerpFlat(a,b,a,b,a,c,d)},_lerp:function(a,b,c,d,e){for(var f=1-d,g=0;g!==e;++g){var h= +b+g;a[h]=a[h]*f+a[c+g]*d}}});var Jk=/[\[\]\.:\/]/g,Kk="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",Lk=/((?:WC+[\/:])*)/.source.replace("WC","[^\\[\\]\\.:\\/]"),Mk=/(WCOD+)?/.source.replace("WCOD",Kk),Nk=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC","[^\\[\\]\\.:\\/]"),Ok=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC","[^\\[\\]\\.:\\/]"),Pk=new RegExp("^"+Lk+Mk+Nk+Ok+"$"),Qk=["material","materials","bones"];Object.assign(bi.prototype,{getValue:function(a,b){this.bind();var c=this._bindings[this._targetGroup.nCachedObjects_]; +void 0!==c&&c.getValue(a,b)},setValue:function(a,b){for(var c=this._bindings,d=this._targetGroup.nCachedObjects_,e=c.length;d!==e;++d)c[d].setValue(a,b)},bind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].bind()},unbind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].unbind()}});Object.assign(Ba,{Composite:bi,create:function(a,b,c){return a&&a.isAnimationObjectGroup?new Ba.Composite(a,b,c):new Ba(a, +b,c)},sanitizeNodeName:function(a){return a.replace(/\s/g,"_").replace(Jk,"")},parseTrackName:function(a){var b=Pk.exec(a);if(!b)throw Error("PropertyBinding: Cannot parse trackName: "+a);b={nodeName:b[2],objectName:b[3],objectIndex:b[4],propertyName:b[5],propertyIndex:b[6]};var c=b.nodeName&&b.nodeName.lastIndexOf(".");if(void 0!==c&&-1!==c){var d=b.nodeName.substring(c+1);-1!==Qk.indexOf(d)&&(b.nodeName=b.nodeName.substring(0,c),b.objectName=d)}if(null===b.propertyName||0===b.propertyName.length)throw Error("PropertyBinding: can not parse propertyName from trackName: "+ +a);return b},findNode:function(a,b){if(!b||""===b||"root"===b||"."===b||-1===b||b===a.name||b===a.uuid)return a;if(a.skeleton){var c=a.skeleton.getBoneByName(b);if(void 0!==c)return c}if(a.children){var d=function(a){for(var c=0;c<a.length;c++){var e=a[c];if(e.name===b||e.uuid===b||(e=d(e.children)))return e}return null};if(a=d(a.children))return a}return null}});Object.assign(Ba.prototype,{_getValue_unavailable:function(){},_setValue_unavailable:function(){},BindingType:{Direct:0,EntireArray:1,ArrayElement:2, +HasFromToArray:3},Versioning:{None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},GetterByBindingType:[function(a,b){a[b]=this.node[this.propertyName]},function(a,b){for(var c=this.resolvedProperty,d=0,e=c.length;d!==e;++d)a[b++]=c[d]},function(a,b){a[b]=this.resolvedProperty[this.propertyIndex]},function(a,b){this.resolvedProperty.toArray(a,b)}],SetterByBindingTypeAndVersioning:[[function(a,b){this.targetObject[this.propertyName]=a[b]},function(a,b){this.targetObject[this.propertyName]=a[b];this.targetObject.needsUpdate= +!0},function(a,b){this.targetObject[this.propertyName]=a[b];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(a,b){for(var c=this.resolvedProperty,d=0,e=c.length;d!==e;++d)c[d]=a[b++]},function(a,b){for(var c=this.resolvedProperty,d=0,e=c.length;d!==e;++d)c[d]=a[b++];this.targetObject.needsUpdate=!0},function(a,b){for(var c=this.resolvedProperty,d=0,e=c.length;d!==e;++d)c[d]=a[b++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(a,b){this.resolvedProperty[this.propertyIndex]=a[b]},function(a, +b){this.resolvedProperty[this.propertyIndex]=a[b];this.targetObject.needsUpdate=!0},function(a,b){this.resolvedProperty[this.propertyIndex]=a[b];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(a,b){this.resolvedProperty.fromArray(a,b)},function(a,b){this.resolvedProperty.fromArray(a,b);this.targetObject.needsUpdate=!0},function(a,b){this.resolvedProperty.fromArray(a,b);this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(a,b){this.bind();this.getValue(a,b)},setValue:function(a, +b){this.bind();this.setValue(a,b)},bind:function(){var a=this.node,b=this.parsedPath,c=b.objectName,d=b.propertyName,e=b.propertyIndex;a||(this.node=a=Ba.findNode(this.rootNode,b.nodeName)||this.rootNode);this.getValue=this._getValue_unavailable;this.setValue=this._setValue_unavailable;if(a){if(c){var f=b.objectIndex;switch(c){case "materials":if(!a.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!a.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.", +this);return}a=a.material.materials;break;case "bones":if(!a.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}a=a.skeleton.bones;for(c=0;c<a.length;c++)if(a[c].name===f){f=c;break}break;default:if(void 0===a[c]){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}a=a[c]}if(void 0!==f){if(void 0===a[f]){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.", +this,a);return}a=a[f]}}f=a[d];if(void 0===f)console.error("THREE.PropertyBinding: Trying to update property for track: "+b.nodeName+"."+d+" but it wasn't found.",a);else{b=this.Versioning.None;this.targetObject=a;void 0!==a.needsUpdate?b=this.Versioning.NeedsUpdate:void 0!==a.matrixWorldNeedsUpdate&&(b=this.Versioning.MatrixWorldNeedsUpdate);c=this.BindingType.Direct;if(void 0!==e){if("morphTargetInfluences"===d){if(!a.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.", +this);return}if(a.geometry.isBufferGeometry){if(!a.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}for(c=0;c<this.node.geometry.morphAttributes.position.length;c++)if(a.geometry.morphAttributes.position[c].name===e){e=c;break}}else{if(!a.geometry.morphTargets){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.", +this);return}for(c=0;c<this.node.geometry.morphTargets.length;c++)if(a.geometry.morphTargets[c].name===e){e=c;break}}}c=this.BindingType.ArrayElement;this.resolvedProperty=f;this.propertyIndex=e}else void 0!==f.fromArray&&void 0!==f.toArray?(c=this.BindingType.HasFromToArray,this.resolvedProperty=f):Array.isArray(f)?(c=this.BindingType.EntireArray,this.resolvedProperty=f):this.propertyName=d;this.getValue=this.GetterByBindingType[c];this.setValue=this.SetterByBindingTypeAndVersioning[c][b]}}else console.error("THREE.PropertyBinding: Trying to update node for track: "+ +this.path+" but it wasn't found.")},unbind:function(){this.node=null;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}});Object.assign(Ba.prototype,{_getValue_unbound:Ba.prototype.getValue,_setValue_unbound:Ba.prototype.setValue});Object.assign(ci.prototype,{isAnimationObjectGroup:!0,add:function(){for(var a=this._objects,b=a.length,c=this.nCachedObjects_,d=this._indicesByUUID,e=this._paths,f=this._parsedPaths,g=this._bindings,h=g.length,l=void 0,k=0,n=arguments.length;k!== +n;++k){var u=arguments[k],r=u.uuid,t=d[r];if(void 0===t){t=b++;d[r]=t;a.push(u);r=0;for(var p=h;r!==p;++r)g[r].push(new Ba(u,e[r],f[r]))}else if(t<c){l=a[t];var v=--c;p=a[v];d[p.uuid]=t;a[t]=p;d[r]=v;a[v]=u;r=0;for(p=h;r!==p;++r){var w=g[r],y=w[t];w[t]=w[v];void 0===y&&(y=new Ba(u,e[r],f[r]));w[v]=y}}else a[t]!==l&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_= +c},remove:function(){for(var a=this._objects,b=this.nCachedObjects_,c=this._indicesByUUID,d=this._bindings,e=d.length,f=0,g=arguments.length;f!==g;++f){var h=arguments[f],l=h.uuid,k=c[l];if(void 0!==k&&k>=b){var n=b++,u=a[n];c[u.uuid]=k;a[k]=u;c[l]=n;a[n]=h;h=0;for(l=e;h!==l;++h){u=d[h];var r=u[k];u[k]=u[n];u[n]=r}}}this.nCachedObjects_=b},uncache:function(){for(var a=this._objects,b=a.length,c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,h=arguments.length;g!==h;++g){var l= +arguments[g].uuid,k=d[l];if(void 0!==k)if(delete d[l],k<c){l=--c;var n=a[l],u=--b,r=a[u];d[n.uuid]=k;a[k]=n;d[r.uuid]=l;a[l]=r;a.pop();n=0;for(r=f;n!==r;++n){var t=e[n],p=t[u];t[k]=t[l];t[l]=p;t.pop()}}else for(u=--b,r=a[u],d[r.uuid]=k,a[k]=r,a.pop(),n=0,r=f;n!==r;++n)t=e[n],t[k]=t[u],t.pop()}this.nCachedObjects_=c},subscribe_:function(a,b){var c=this._bindingsIndicesByPath,d=c[a],e=this._bindings;if(void 0!==d)return e[d];var f=this._paths,g=this._parsedPaths,h=this._objects,k=this.nCachedObjects_, +m=Array(h.length);d=e.length;c[a]=d;f.push(a);g.push(b);e.push(m);c=k;for(d=h.length;c!==d;++c)m[c]=new Ba(h[c],a,b);return m},unsubscribe_:function(a){var b=this._bindingsIndicesByPath,c=b[a];if(void 0!==c){var d=this._paths,e=this._parsedPaths,f=this._bindings,g=f.length-1,h=f[g];b[a[g]]=c;f[c]=h;f.pop();e[c]=e[g];e.pop();d[c]=d[g];d.pop()}}});Object.assign(di.prototype,{play:function(){this._mixer._activateAction(this);return this},stop:function(){this._mixer._deactivateAction(this);return this.reset()}, +reset:function(){this.paused=!1;this.enabled=!0;this.time=0;this._loopCount=-1;this._startTime=null;return this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(a){this._startTime=a;return this},setLoop:function(a,b){this.loop=a;this.repetitions=b;return this},setEffectiveWeight:function(a){this.weight=a; +this._effectiveWeight=this.enabled?a:0;return this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(a){return this._scheduleFading(a,0,1)},fadeOut:function(a){return this._scheduleFading(a,1,0)},crossFadeFrom:function(a,b,c){a.fadeOut(b);this.fadeIn(b);if(c){c=this._clip.duration;var d=a._clip.duration,e=c/d;a.warp(1,d/c,b);this.warp(e,1,b)}return this},crossFadeTo:function(a,b,c){return a.crossFadeFrom(this,b,c)},stopFading:function(){var a=this._weightInterpolant; +null!==a&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(a));return this},setEffectiveTimeScale:function(a){this.timeScale=a;this._effectiveTimeScale=this.paused?0:a;return this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(a){this.timeScale=this._clip.duration/a;return this.stopWarping()},syncWith:function(a){this.time=a.time;this.timeScale=a.timeScale;return this.stopWarping()},halt:function(a){return this.warp(this._effectiveTimeScale, +0,a)},warp:function(a,b,c){var d=this._mixer,e=d.time,f=this._timeScaleInterpolant,g=this.timeScale;null===f&&(this._timeScaleInterpolant=f=d._lendControlInterpolant());d=f.parameterPositions;f=f.sampleValues;d[0]=e;d[1]=e+c;f[0]=a/g;f[1]=b/g;return this},stopWarping:function(){var a=this._timeScaleInterpolant;null!==a&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(a));return this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot|| +this._mixer._root},_update:function(a,b,c,d){if(this.enabled){var e=this._startTime;if(null!==e){b=(a-e)*c;if(0>b||0===c)return;this._startTime=null;b*=c}b*=this._updateTimeScale(a);c=this._updateTime(b);a=this._updateWeight(a);if(0<a){b=this._interpolants;e=this._propertyBindings;for(var f=0,g=b.length;f!==g;++f)b[f].evaluate(c),e[f].accumulate(d,a)}}else this._updateWeight(a)},_updateWeight:function(a){var b=0;if(this.enabled){b=this.weight;var c=this._weightInterpolant;if(null!==c){var d=c.evaluate(a)[0]; +b*=d;a>c.parameterPositions[1]&&(this.stopFading(),0===d&&(this.enabled=!1))}}return this._effectiveWeight=b},_updateTimeScale:function(a){var b=0;if(!this.paused){b=this.timeScale;var c=this._timeScaleInterpolant;if(null!==c){var d=c.evaluate(a)[0];b*=d;a>c.parameterPositions[1]&&(this.stopWarping(),0===b?this.paused=!0:this.timeScale=b)}}return this._effectiveTimeScale=b},_updateTime:function(a){var b=this.time+a,c=this._clip.duration,d=this.loop,e=this._loopCount,f=2202===d;if(0===a)return-1=== +e?b:f&&1===(e&1)?c-b:b;if(2200===d)a:{if(-1===e&&(this._loopCount=0,this._setEndings(!0,!0,!1)),b>=c)b=c;else if(0>b)b=0;else{this.time=b;break a}this.clampWhenFinished?this.paused=!0:this.enabled=!1;this.time=b;this._mixer.dispatchEvent({type:"finished",action:this,direction:0>a?-1:1})}else{-1===e&&(0<=a?(e=0,this._setEndings(!0,0===this.repetitions,f)):this._setEndings(0===this.repetitions,!0,f));if(b>=c||0>b){d=Math.floor(b/c);b-=c*d;e+=Math.abs(d);var g=this.repetitions-e;0>=g?(this.clampWhenFinished? +this.paused=!0:this.enabled=!1,this.time=b=0<a?c:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:0<a?1:-1})):(1===g?(a=0>a,this._setEndings(a,!a,f)):this._setEndings(!1,!1,f),this._loopCount=e,this.time=b,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:d}))}else this.time=b;if(f&&1===(e&1))return c-b}return b},_setEndings:function(a,b,c){var d=this._interpolantSettings;c?(d.endingStart=2401,d.endingEnd=2401):(d.endingStart=a?this.zeroSlopeAtStart?2401:2400:2402,d.endingEnd= +b?this.zeroSlopeAtEnd?2401:2400:2402)},_scheduleFading:function(a,b,c){var d=this._mixer,e=d.time,f=this._weightInterpolant;null===f&&(this._weightInterpolant=f=d._lendControlInterpolant());d=f.parameterPositions;f=f.sampleValues;d[0]=e;f[0]=b;d[1]=e+a;f[1]=c;return this}});Gg.prototype=Object.assign(Object.create(Ca.prototype),{constructor:Gg,_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings;a=a._interpolants;var g=c.uuid,h=this._bindingsByRootAndName, +k=h[g];void 0===k&&(k={},h[g]=k);for(h=0;h!==e;++h){var m=d[h],n=m.name,u=k[n];if(void 0===u){u=f[h];if(void 0!==u){null===u._cacheIndex&&(++u.referenceCount,this._addInactiveBinding(u,g,n));continue}u=new Fg(Ba.create(c,n,b&&b._propertyBindings[h].binding.parsedPath),m.ValueTypeName,m.getValueSize());++u.referenceCount;this._addInactiveBinding(u,g,n)}f[h]=u;a[h].resultBuffer=u.buffer}},_activateAction:function(a){if(!this._isActiveAction(a)){if(null===a._cacheIndex){var b=(a._localRoot||this._root).uuid, +c=a._clip.uuid,d=this._actionsByClip[c];this._bindAction(a,d&&d.knownActions[0]);this._addInactiveAction(a,c,b)}b=a._propertyBindings;c=0;for(d=b.length;c!==d;++c){var e=b[c];0===e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(a)}},_deactivateAction:function(a){if(this._isActiveAction(a)){for(var b=a._propertyBindings,c=0,d=b.length;c!==d;++c){var e=b[c];0===--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(a)}},_initMemoryManager:function(){this._actions= +[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;var a=this;this.stats={actions:{get total(){return a._actions.length},get inUse(){return a._nActiveActions}},bindings:{get total(){return a._bindings.length},get inUse(){return a._nActiveBindings}},controlInterpolants:{get total(){return a._controlInterpolants.length},get inUse(){return a._nActiveControlInterpolants}}}}, +_isActiveAction:function(a){a=a._cacheIndex;return null!==a&&a<this._nActiveActions},_addInactiveAction:function(a,b,c){var d=this._actions,e=this._actionsByClip,f=e[b];void 0===f?(f={knownActions:[a],actionByRoot:{}},a._byClipCacheIndex=0,e[b]=f):(b=f.knownActions,a._byClipCacheIndex=b.length,b.push(a));a._cacheIndex=d.length;d.push(a);f.actionByRoot[c]=a},_removeInactiveAction:function(a){var b=this._actions,c=b[b.length-1],d=a._cacheIndex;c._cacheIndex=d;b[d]=c;b.pop();a._cacheIndex=null;b=a._clip.uuid; +c=this._actionsByClip;d=c[b];var e=d.knownActions,f=e[e.length-1],g=a._byClipCacheIndex;f._byClipCacheIndex=g;e[g]=f;e.pop();a._byClipCacheIndex=null;delete d.actionByRoot[(a._localRoot||this._root).uuid];0===e.length&&delete c[b];this._removeInactiveBindingsForAction(a)},_removeInactiveBindingsForAction:function(a){a=a._propertyBindings;for(var b=0,c=a.length;b!==c;++b){var d=a[b];0===--d.referenceCount&&this._removeInactiveBinding(d)}},_lendAction:function(a){var b=this._actions,c=a._cacheIndex, +d=this._nActiveActions++,e=b[d];a._cacheIndex=d;b[d]=a;e._cacheIndex=c;b[c]=e},_takeBackAction:function(a){var b=this._actions,c=a._cacheIndex,d=--this._nActiveActions,e=b[d];a._cacheIndex=d;b[d]=a;e._cacheIndex=c;b[c]=e},_addInactiveBinding:function(a,b,c){var d=this._bindingsByRootAndName,e=d[b],f=this._bindings;void 0===e&&(e={},d[b]=e);e[c]=a;a._cacheIndex=f.length;f.push(a)},_removeInactiveBinding:function(a){var b=this._bindings,c=a.binding,d=c.rootNode.uuid;c=c.path;var e=this._bindingsByRootAndName, +f=e[d],g=b[b.length-1];a=a._cacheIndex;g._cacheIndex=a;b[a]=g;b.pop();delete f[c];0===Object.keys(f).length&&delete e[d]},_lendBinding:function(a){var b=this._bindings,c=a._cacheIndex,d=this._nActiveBindings++,e=b[d];a._cacheIndex=d;b[d]=a;e._cacheIndex=c;b[c]=e},_takeBackBinding:function(a){var b=this._bindings,c=a._cacheIndex,d=--this._nActiveBindings,e=b[d];a._cacheIndex=d;b[d]=a;e._cacheIndex=c;b[c]=e},_lendControlInterpolant:function(){var a=this._controlInterpolants,b=this._nActiveControlInterpolants++, +c=a[b];void 0===c&&(c=new me(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer),c.__cacheIndex=b,a[b]=c);return c},_takeBackControlInterpolant:function(a){var b=this._controlInterpolants,c=a.__cacheIndex,d=--this._nActiveControlInterpolants,e=b[d];a.__cacheIndex=d;b[d]=a;e.__cacheIndex=c;b[c]=e},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(a,b){var c=b||this._root,d=c.uuid;c="string"===typeof a?Oa.findByName(c,a):a;a=null!==c?c.uuid:a;var e= +this._actionsByClip[a],f=null;if(void 0!==e){f=e.actionByRoot[d];if(void 0!==f)return f;f=e.knownActions[0];null===c&&(c=f._clip)}if(null===c)return null;b=new di(this,c,b);this._bindAction(b,f);this._addInactiveAction(b,a,d);return b},existingAction:function(a,b){var c=b||this._root;b=c.uuid;c="string"===typeof a?Oa.findByName(c,a):a;a=this._actionsByClip[c?c.uuid:a];return void 0!==a?a.actionByRoot[b]||null:null},stopAllAction:function(){for(var a=this._actions,b=this._nActiveActions,c=this._bindings, +d=this._nActiveBindings,e=this._nActiveBindings=this._nActiveActions=0;e!==b;++e)a[e].reset();for(e=0;e!==d;++e)c[e].useCount=0;return this},update:function(a){a*=this.timeScale;for(var b=this._actions,c=this._nActiveActions,d=this.time+=a,e=Math.sign(a),f=this._accuIndex^=1,g=0;g!==c;++g)b[g]._update(d,a,e,f);a=this._bindings;b=this._nActiveBindings;for(g=0;g!==b;++g)a[g].apply(f);return this},setTime:function(a){for(var b=this.time=0;b<this._actions.length;b++)this._actions[b].time=0;return this.update(a)}, +getRoot:function(){return this._root},uncacheClip:function(a){var b=this._actions;a=a.uuid;var c=this._actionsByClip,d=c[a];if(void 0!==d){d=d.knownActions;for(var e=0,f=d.length;e!==f;++e){var g=d[e];this._deactivateAction(g);var h=g._cacheIndex,k=b[b.length-1];g._cacheIndex=null;g._byClipCacheIndex=null;k._cacheIndex=h;b[h]=k;b.pop();this._removeInactiveBindingsForAction(g)}delete c[a]}},uncacheRoot:function(a){a=a.uuid;var b=this._actionsByClip;for(d in b){var c=b[d].actionByRoot[a];void 0!==c&& +(this._deactivateAction(c),this._removeInactiveAction(c))}var d=this._bindingsByRootAndName[a];if(void 0!==d)for(var e in d)a=d[e],a.restoreOriginalState(),this._removeInactiveBinding(a)},uncacheAction:function(a,b){a=this.existingAction(a,b);null!==a&&(this._deactivateAction(a),this._removeInactiveAction(a))}});of.prototype.clone=function(){return new of(void 0===this.value.clone?this.value:this.value.clone())};Hg.prototype=Object.assign(Object.create(Hb.prototype),{constructor:Hg,isInstancedInterleavedBuffer:!0, +copy:function(a){Hb.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this}});Object.assign(ei.prototype,{linePrecision:1,set:function(a,b){this.ray.set(a,b)},setFromCamera:function(a,b){b&&b.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(b.matrixWorld),this.ray.direction.set(a.x,a.y,.5).unproject(b).sub(this.ray.origin).normalize(),this.camera=b):b&&b.isOrthographicCamera?(this.ray.origin.set(a.x,a.y,(b.near+b.far)/(b.near-b.far)).unproject(b),this.ray.direction.set(0, +0,-1).transformDirection(b.matrixWorld),this.camera=b):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(a,b,c){c=c||[];Ig(a,this,c,b);c.sort(fi);return c},intersectObjects:function(a,b,c){c=c||[];if(!1===Array.isArray(a))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),c;for(var d=0,e=a.length;d<e;d++)Ig(a[d],this,c,b);c.sort(fi);return c}});Object.assign(gi.prototype,{set:function(a,b,c){this.radius=a;this.phi=b;this.theta=c;return this}, +clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.radius=a.radius;this.phi=a.phi;this.theta=a.theta;return this},makeSafe:function(){this.phi=Math.max(1E-6,Math.min(Math.PI-1E-6,this.phi));return this},setFromVector3:function(a){return this.setFromCartesianCoords(a.x,a.y,a.z)},setFromCartesianCoords:function(a,b,c){this.radius=Math.sqrt(a*a+b*b+c*c);0===this.radius?this.phi=this.theta=0:(this.theta=Math.atan2(a,c),this.phi=Math.acos(Q.clamp(b/this.radius,-1,1)));return this}}); +Object.assign(hi.prototype,{set:function(a,b,c){this.radius=a;this.theta=b;this.y=c;return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.radius=a.radius;this.theta=a.theta;this.y=a.y;return this},setFromVector3:function(a){return this.setFromCartesianCoords(a.x,a.y,a.z)},setFromCartesianCoords:function(a,b,c){this.radius=Math.sqrt(a*a+c*c);this.theta=Math.atan2(a,c);this.y=b;return this}});var Ii=new A;Object.assign(Jg.prototype,{set:function(a,b){this.min.copy(a); +this.max.copy(b);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;b<c;b++)this.expandByPoint(a[b]);return this},setFromCenterAndSize:function(a,b){b=Ii.copy(b).multiplyScalar(.5);this.min.copy(a).sub(b);this.max.copy(a).add(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.min.copy(a.min);this.max.copy(a.max);return this},makeEmpty:function(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this},isEmpty:function(){return this.max.x< +this.min.x||this.max.y<this.min.y},getCenter:function(a){void 0===a&&(console.warn("THREE.Box2: .getCenter() target is now required"),a=new A);return this.isEmpty()?a.set(0,0):a.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(a){void 0===a&&(console.warn("THREE.Box2: .getSize() target is now required"),a=new A);return this.isEmpty()?a.set(0,0):a.subVectors(this.max,this.min)},expandByPoint:function(a){this.min.min(a);this.max.max(a);return this},expandByVector:function(a){this.min.sub(a); +this.max.add(a);return this},expandByScalar:function(a){this.min.addScalar(-a);this.max.addScalar(a);return this},containsPoint:function(a){return a.x<this.min.x||a.x>this.max.x||a.y<this.min.y||a.y>this.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y},getParameter:function(a,b){void 0===b&&(console.warn("THREE.Box2: .getParameter() target is now required"),b=new A);return b.set((a.x-this.min.x)/(this.max.x-this.min.x), +(a.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(a){return a.max.x<this.min.x||a.min.x>this.max.x||a.max.y<this.min.y||a.min.y>this.max.y?!1:!0},clampPoint:function(a,b){void 0===b&&(console.warn("THREE.Box2: .clampPoint() target is now required"),b=new A);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(a){return Ii.copy(a).clamp(this.min,this.max).sub(a).length()},intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min); +this.max.max(a.max);return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}});var Ji=new n,Mf=new n;Object.assign(Kg.prototype,{set:function(a,b){this.start.copy(a);this.end.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},getCenter:function(a){void 0===a&&(console.warn("THREE.Line3: .getCenter() target is now required"), +a=new n);return a.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(a){void 0===a&&(console.warn("THREE.Line3: .delta() target is now required"),a=new n);return a.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(a,b){void 0===b&&(console.warn("THREE.Line3: .at() target is now required"),b=new n);return this.delta(b).multiplyScalar(a).add(this.start)},closestPointToPointParameter:function(a, +b){Ji.subVectors(a,this.start);Mf.subVectors(this.end,this.start);a=Mf.dot(Mf);a=Mf.dot(Ji)/a;b&&(a=Q.clamp(a,0,1));return a},closestPointToPoint:function(a,b,c){a=this.closestPointToPointParameter(a,b);void 0===c&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),c=new n);return this.delta(c).multiplyScalar(a).add(this.start)},applyMatrix4:function(a){this.start.applyMatrix4(a);this.end.applyMatrix4(a);return this},equals:function(a){return a.start.equals(this.start)&&a.end.equals(this.end)}}); +re.prototype=Object.create(H.prototype);re.prototype.constructor=re;re.prototype.isImmediateRenderObject=!0;var nb=new n,Ab=new n,hh=new aa,Rk=["a","b","c"];se.prototype=Object.create(U.prototype);se.prototype.constructor=se;se.prototype.update=function(){this.object.updateMatrixWorld(!0);hh.getNormalMatrix(this.object.matrixWorld);var a=this.object.matrixWorld,b=this.geometry.attributes.position,c=this.object.geometry;if(c&&c.isGeometry)for(var d=c.vertices,e=c.faces,f=c=0,g=e.length;f<g;f++)for(var h= +e[f],k=0,m=h.vertexNormals.length;k<m;k++){var n=h.vertexNormals[k];nb.copy(d[h[Rk[k]]]).applyMatrix4(a);Ab.copy(n).applyMatrix3(hh).normalize().multiplyScalar(this.size).add(nb);b.setXYZ(c,nb.x,nb.y,nb.z);c+=1;b.setXYZ(c,Ab.x,Ab.y,Ab.z);c+=1}else if(c&&c.isBufferGeometry)for(d=c.attributes.position,e=c.attributes.normal,k=c=0,m=d.count;k<m;k++)nb.set(d.getX(k),d.getY(k),d.getZ(k)).applyMatrix4(a),Ab.set(e.getX(k),e.getY(k),e.getZ(k)),Ab.applyMatrix3(hh).normalize().multiplyScalar(this.size).add(nb), +b.setXYZ(c,nb.x,nb.y,nb.z),c+=1,b.setXYZ(c,Ab.x,Ab.y,Ab.z),c+=1;b.needsUpdate=!0};var Ki=new n;hd.prototype=Object.create(H.prototype);hd.prototype.constructor=hd;hd.prototype.dispose=function(){this.cone.geometry.dispose();this.cone.material.dispose()};hd.prototype.update=function(){this.light.updateMatrixWorld();var a=this.light.distance?this.light.distance:1E3,b=a*Math.tan(this.light.angle);this.cone.scale.set(b,b,a);Ki.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(Ki); +void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)};var Qb=new n,Nf=new O,ih=new O;id.prototype=Object.create(U.prototype);id.prototype.constructor=id;id.prototype.updateMatrixWorld=function(a){var b=this.bones,c=this.geometry,d=c.getAttribute("position");ih.getInverse(this.root.matrixWorld);for(var e=0,f=0;e<b.length;e++){var g=b[e];g.parent&&g.parent.isBone&&(Nf.multiplyMatrices(ih,g.matrixWorld),Qb.setFromMatrixPosition(Nf),d.setXYZ(f,Qb.x, +Qb.y,Qb.z),Nf.multiplyMatrices(ih,g.parent.matrixWorld),Qb.setFromMatrixPosition(Nf),d.setXYZ(f+1,Qb.x,Qb.y,Qb.z),f+=2)}c.getAttribute("position").needsUpdate=!0;H.prototype.updateMatrixWorld.call(this,a)};jd.prototype=Object.create(da.prototype);jd.prototype.constructor=jd;jd.prototype.dispose=function(){this.geometry.dispose();this.material.dispose()};jd.prototype.update=function(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)};kd.prototype=Object.create(ya.prototype); +kd.prototype.constructor=kd;kd.prototype.update=function(){this.scale.set(.5*this.light.width,.5*this.light.height,1);if(void 0!==this.color)this.material.color.set(this.color),this.children[0].material.color.set(this.color);else{this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);var a=this.material.color,b=Math.max(a.r,a.g,a.b);1<b&&a.multiplyScalar(1/b);this.children[0].material.color.copy(this.material.color)}};kd.prototype.dispose=function(){this.geometry.dispose(); +this.material.dispose();this.children[0].geometry.dispose();this.children[0].material.dispose()};var Sk=new n,Li=new E,Mi=new E;ld.prototype=Object.create(H.prototype);ld.prototype.constructor=ld;ld.prototype.dispose=function(){this.children[0].geometry.dispose();this.children[0].material.dispose()};ld.prototype.update=function(){var a=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{var b=a.geometry.getAttribute("color");Li.copy(this.light.color);Mi.copy(this.light.groundColor); +for(var c=0,d=b.count;c<d;c++){var e=c<d/2?Li:Mi;b.setXYZ(c,e.r,e.g,e.b)}b.needsUpdate=!0}a.lookAt(Sk.setFromMatrixPosition(this.light.matrixWorld).negate())};md.prototype=Object.create(da.prototype);md.prototype.constructor=md;md.prototype.dispose=function(){this.geometry.dispose();this.material.dispose()};md.prototype.onBeforeRender=function(){this.position.copy(this.lightProbe.position);this.scale.set(1,1,1).multiplyScalar(this.size);this.material.uniforms.intensity.value=this.lightProbe.intensity}; +pf.prototype=Object.assign(Object.create(U.prototype),{constructor:pf,copy:function(a){U.prototype.copy.call(this,a);this.geometry.copy(a.geometry);this.material.copy(a.material);return this},clone:function(){return(new this.constructor).copy(this)}});qf.prototype=Object.create(U.prototype);qf.prototype.constructor=qf;nd.prototype=Object.create(ya.prototype);nd.prototype.constructor=nd;nd.prototype.update=function(){function a(a,b,d,e){d=(b-a)/d;t.setXYZ(k,0,0,0);m++;for(n=a;n<b;n+=d)u=k+m,t.setXYZ(u, +Math.sin(n)*c,0,Math.cos(n)*c),t.setXYZ(u+1,Math.sin(Math.min(n+d,b))*c,0,Math.cos(Math.min(n+d,b))*c),t.setXYZ(u+2,0,0,0),m+=3;r.addGroup(k,m,e);k+=m;m=0}var b=this.audio,c=this.range,d=this.divisionsInnerAngle,e=this.divisionsOuterAngle,f=Q.degToRad(b.panner.coneInnerAngle);b=Q.degToRad(b.panner.coneOuterAngle);var g=f/2,h=b/2,k=0,m=0,n,u,r=this.geometry,t=r.attributes.position;r.clearGroups();a(-h,-g,e,0);a(-g,g,d,1);a(g,h,e,0);t.needsUpdate=!0;f===b&&(this.material[0].visible=!1)};nd.prototype.dispose= +function(){this.geometry.dispose();this.material[0].dispose();this.material[1].dispose()};var Fe=new n,Of=new n,Ni=new aa;te.prototype=Object.create(U.prototype);te.prototype.constructor=te;te.prototype.update=function(){this.object.updateMatrixWorld(!0);Ni.getNormalMatrix(this.object.matrixWorld);var a=this.object.matrixWorld,b=this.geometry.attributes.position,c=this.object.geometry,d=c.vertices;c=c.faces;for(var e=0,f=0,g=c.length;f<g;f++){var h=c[f],k=h.normal;Fe.copy(d[h.a]).add(d[h.b]).add(d[h.c]).divideScalar(3).applyMatrix4(a); +Of.copy(k).applyMatrix3(Ni).normalize().multiplyScalar(this.size).add(Fe);b.setXYZ(e,Fe.x,Fe.y,Fe.z);e+=1;b.setXYZ(e,Of.x,Of.y,Of.z);e+=1}b.needsUpdate=!0};var Oi=new n,Pf=new n,Pi=new n;od.prototype=Object.create(H.prototype);od.prototype.constructor=od;od.prototype.dispose=function(){this.lightPlane.geometry.dispose();this.lightPlane.material.dispose();this.targetLine.geometry.dispose();this.targetLine.material.dispose()};od.prototype.update=function(){Oi.setFromMatrixPosition(this.light.matrixWorld); +Pf.setFromMatrixPosition(this.light.target.matrixWorld);Pi.subVectors(Pf,Oi);this.lightPlane.lookAt(Pf);void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color));this.targetLine.lookAt(Pf);this.targetLine.scale.z=Pi.length()};var rf=new n,V=new cb;ue.prototype=Object.create(U.prototype);ue.prototype.constructor=ue;ue.prototype.update= +function(){var a=this.geometry,b=this.pointMap;V.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse);ra("c",b,a,V,0,0,-1);ra("t",b,a,V,0,0,1);ra("n1",b,a,V,-1,-1,-1);ra("n2",b,a,V,1,-1,-1);ra("n3",b,a,V,-1,1,-1);ra("n4",b,a,V,1,1,-1);ra("f1",b,a,V,-1,-1,1);ra("f2",b,a,V,1,-1,1);ra("f3",b,a,V,-1,1,1);ra("f4",b,a,V,1,1,1);ra("u1",b,a,V,.7,1.1,-1);ra("u2",b,a,V,-.7,1.1,-1);ra("u3",b,a,V,0,2,-1);ra("cf1",b,a,V,-1,0,1);ra("cf2",b,a,V,1,0,1);ra("cf3",b,a,V,0,-1,1);ra("cf4",b,a,V,0,1,1);ra("cn1", +b,a,V,-1,0,-1);ra("cn2",b,a,V,1,0,-1);ra("cn3",b,a,V,0,-1,-1);ra("cn4",b,a,V,0,1,-1);a.getAttribute("position").needsUpdate=!0};var Qf=new bb;tb.prototype=Object.create(U.prototype);tb.prototype.constructor=tb;tb.prototype.update=function(a){void 0!==a&&console.warn("THREE.BoxHelper: .update() has no longer arguments.");void 0!==this.object&&Qf.setFromObject(this.object);if(!Qf.isEmpty()){a=Qf.min;var b=Qf.max,c=this.geometry.attributes.position,d=c.array;d[0]=b.x;d[1]=b.y;d[2]=b.z;d[3]=a.x;d[4]= +b.y;d[5]=b.z;d[6]=a.x;d[7]=a.y;d[8]=b.z;d[9]=b.x;d[10]=a.y;d[11]=b.z;d[12]=b.x;d[13]=b.y;d[14]=a.z;d[15]=a.x;d[16]=b.y;d[17]=a.z;d[18]=a.x;d[19]=a.y;d[20]=a.z;d[21]=b.x;d[22]=a.y;d[23]=a.z;c.needsUpdate=!0;this.geometry.computeBoundingSphere()}};tb.prototype.setFromObject=function(a){this.object=a;this.update();return this};tb.prototype.copy=function(a){U.prototype.copy.call(this,a);this.object=a.object;return this};tb.prototype.clone=function(){return(new this.constructor).copy(this)};ve.prototype= +Object.create(U.prototype);ve.prototype.constructor=ve;ve.prototype.updateMatrixWorld=function(a){var b=this.box;b.isEmpty()||(b.getCenter(this.position),b.getSize(this.scale),this.scale.multiplyScalar(.5),H.prototype.updateMatrixWorld.call(this,a))};we.prototype=Object.create(ya.prototype);we.prototype.constructor=we;we.prototype.updateMatrixWorld=function(a){var b=-this.plane.constant;1E-8>Math.abs(b)&&(b=1E-8);this.scale.set(.5*this.size,.5*this.size,b);this.children[0].material.side=0>b?1:0;this.lookAt(this.plane.normal); +H.prototype.updateMatrixWorld.call(this,a)};var Qi=new n,sf,Lg;ub.prototype=Object.create(H.prototype);ub.prototype.constructor=ub;ub.prototype.setDirection=function(a){.99999<a.y?this.quaternion.set(0,0,0,1):-.99999>a.y?this.quaternion.set(1,0,0,0):(Qi.set(a.z,0,-a.x).normalize(),this.quaternion.setFromAxisAngle(Qi,Math.acos(a.y)))};ub.prototype.setLength=function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(1E-4,a-b),1);this.line.updateMatrix();this.cone.scale.set(c, +b,c);this.cone.position.y=a;this.cone.updateMatrix()};ub.prototype.setColor=function(a){this.line.material.color.set(a);this.cone.material.color.set(a)};ub.prototype.copy=function(a){H.prototype.copy.call(this,a,!1);this.line.copy(a.line);this.cone.copy(a.cone);return this};ub.prototype.clone=function(){return(new this.constructor).copy(this)};xe.prototype=Object.create(U.prototype);xe.prototype.constructor=xe;C.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype= +Object.create(C.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};Object.assign(sb.prototype,{createPointsGeometry:function(a){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");a=this.getPoints(a);return this.createGeometry(a)},createSpacedPointsGeometry:function(a){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead."); +a=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");for(var b=new M,c=0,d=a.length;c<d;c++){var e=a[c];b.vertices.push(new n(e.x,e.y,e.z||0))}return b}});Object.assign(Xa.prototype,{fromPoints:function(a){console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints().");this.setFromPoints(a)}});ji.prototype=Object.create(za.prototype); +ki.prototype=Object.create(za.prototype);Mg.prototype=Object.create(za.prototype);Object.assign(Mg.prototype,{initFromArray:function(){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}});pf.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")}; +id.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")};Object.assign(Z.prototype,{extractUrlBase:function(a){console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.");return fh.extractUrlBase(a)}});Z.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}}; +Object.assign(lf.prototype,{setTexturePath:function(a){console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath().");return this.setResourcePath(a)}});Object.assign(Jg.prototype,{center:function(a){console.warn("THREE.Box2: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box2: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."); +return this.intersectsBox(a)},size:function(a){console.warn("THREE.Box2: .size() has been renamed to .getSize().");return this.getSize(a)}});Object.assign(bb.prototype,{center:function(a){console.warn("THREE.Box3: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box3: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."); +return this.intersectsBox(a)},isIntersectionSphere:function(a){console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)},size:function(a){console.warn("THREE.Box3: .size() has been renamed to .getSize().");return this.getSize(a)}});Kg.prototype.center=function(a){console.warn("THREE.Line3: .center() has been renamed to .getCenter().");return this.getCenter(a)};Object.assign(Q,{random16:function(){console.warn("THREE.Math: .random16() has been deprecated. Use Math.random() instead."); +return Math.random()},nearestPowerOfTwo:function(a){console.warn("THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo().");return Q.floorPowerOfTwo(a)},nextPowerOfTwo:function(a){console.warn("THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo().");return Q.ceilPowerOfTwo(a)}});Object.assign(aa.prototype,{flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");return this.toArray(a,b)}, +multiplyVector3:function(a){console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.");return a.applyMatrix3(this)},multiplyVector3Array:function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},applyToBuffer:function(a){console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");return this.applyToBufferAttribute(a)},applyToVector3Array:function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}}); +Object.assign(O.prototype,{extractPosition:function(a){console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().");return this.copyPosition(a)},flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");return this.toArray(a,b)},getPosition:function(){console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.");return(new n).setFromMatrixColumn(this, +3)},setRotationFromQuaternion:function(a){console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().");return this.makeRotationFromQuaternion(a)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(a){console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},multiplyVector4:function(a){console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."); +return a.applyMatrix4(this)},multiplyVector3Array:function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},rotateAxis:function(a){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.");a.transformDirection(this)},crossVector:function(a){console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")}, +rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(a){console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");return this.applyToBufferAttribute(a)}, +applyToVector3Array:function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(a,b,c,d,e,f){console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.");return this.makePerspective(a,b,d,c,e,f)}});db.prototype.isIntersectionLine=function(a){console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().");return this.intersectsLine(a)};va.prototype.multiplyVector3= +function(a){console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.");return a.applyQuaternion(this)};Object.assign(Tb.prototype,{isIntersectionBox:function(a){console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},isIntersectionPlane:function(a){console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().");return this.intersectsPlane(a)},isIntersectionSphere:function(a){console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."); +return this.intersectsSphere(a)}});Object.assign(ha.prototype,{area:function(){console.warn("THREE.Triangle: .area() has been renamed to .getArea().");return this.getArea()},barycoordFromPoint:function(a,b){console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().");return this.getBarycoord(a,b)},midpoint:function(a){console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint().");return this.getMidpoint(a)},normal:function(a){console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."); +return this.getNormal(a)},plane:function(a){console.warn("THREE.Triangle: .plane() has been renamed to .getPlane().");return this.getPlane(a)}});Object.assign(ha,{barycoordFromPoint:function(a,b,c,d,e){console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().");return ha.getBarycoord(a,b,c,d,e)},normal:function(a,b,c,d){console.warn("THREE.Triangle: .normal() has been renamed to .getNormal().");return ha.getNormal(a,b,c,d)}});Object.assign(Kb.prototype,{extractAllPoints:function(a){console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."); +return this.extractPoints(a)},extrude:function(a){console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.");return new gc(this,a)},makeGeometry:function(a){console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.");return new hc(this,a)}});Object.assign(A.prototype,{fromAttribute:function(a,b,c){console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)},distanceToManhattan:function(a){console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."); +return this.manhattanDistanceTo(a)},lengthManhattan:function(){console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().");return this.manhattanLength()}});Object.assign(n.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")}, +getPositionFromMatrix:function(a){console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().");return this.setFromMatrixPosition(a)},getScaleFromMatrix:function(a){console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().");return this.setFromMatrixScale(a)},getColumnFromMatrix:function(a,b){console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().");return this.setFromMatrixColumn(b, +a)},applyProjection:function(a){console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.");return this.applyMatrix4(a)},fromAttribute:function(a,b,c){console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)},distanceToManhattan:function(a){console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().");return this.manhattanDistanceTo(a)},lengthManhattan:function(){console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."); +return this.manhattanLength()}});Object.assign(W.prototype,{fromAttribute:function(a,b,c){console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)},lengthManhattan:function(){console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().");return this.manhattanLength()}});Object.assign(M.prototype,{computeTangents:function(){console.error("THREE.Geometry: .computeTangents() has been removed.")},computeLineDistances:function(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}}); +Object.assign(H.prototype,{getChildByName:function(a){console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().");return this.getObjectByName(a)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(a,b){console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.");return this.translateOnAxis(b,a)},getWorldRotation:function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")}}); +Object.defineProperties(H.prototype,{eulerOrder:{get:function(){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");return this.rotation.order},set:function(a){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");this.rotation.order=a}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}); +Object.defineProperties(Pd.prototype,{objects:{get:function(){console.warn("THREE.LOD: .objects has been renamed to .levels.");return this.levels}}});Object.defineProperty(Oe.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}});Qd.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")};Object.defineProperty(C.prototype, +"__arcLengthDivisions",{get:function(){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.");return this.arcLengthDivisions},set:function(a){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.");this.arcLengthDivisions=a}});oa.prototype.setLens=function(a,b){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.");void 0!==b&&(this.filmGauge=b);this.setFocalLength(a)};Object.defineProperties(fa.prototype, +{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(a){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov.");this.shadow.camera.fov=a}},shadowCameraLeft:{set:function(a){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left.");this.shadow.camera.left=a}},shadowCameraRight:{set:function(a){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right.");this.shadow.camera.right=a}},shadowCameraTop:{set:function(a){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."); +this.shadow.camera.top=a}},shadowCameraBottom:{set:function(a){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.");this.shadow.camera.bottom=a}},shadowCameraNear:{set:function(a){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near.");this.shadow.camera.near=a}},shadowCameraFar:{set:function(a){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far.");this.shadow.camera.far=a}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}}, +shadowBias:{set:function(a){console.warn("THREE.Light: .shadowBias is now .shadow.bias.");this.shadow.bias=a}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(a){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.");this.shadow.mapSize.width=a}},shadowMapHeight:{set:function(a){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.");this.shadow.mapSize.height=a}}});Object.defineProperties(P.prototype, +{length:{get:function(){console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead.");return this.array.length}}});Object.assign(P.prototype,{copyIndicesArray:function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},setArray:function(a){console.warn("THREE.BufferAttribute: .setArray has been deprecated. Use BufferGeometry .setAttribute to replace/resize attribute buffers");this.count=void 0!==a?a.length/this.itemSize:0;this.array=a;return this}}); +Object.assign(D.prototype,{addIndex:function(a){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().");this.setIndex(a)},addDrawCall:function(a,b,c){void 0!==c&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.");console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup().");this.addGroup(a,b)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().");this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")}, +computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}});Object.defineProperties(D.prototype,{drawcalls:{get:function(){console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups.");return this.groups}},offsets:{get:function(){console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups.");return this.groups}}});Object.assign(Hb.prototype,{setArray:function(a){console.warn("THREE.InterleavedBuffer: .setArray has been deprecated. Use BufferGeometry .setAttribute to replace/resize attribute buffers"); +this.count=void 0!==a?a.length/this.stride:0;this.array=a;return this}});Object.assign(fb.prototype,{getArrays:function(){console.error("THREE.ExtrudeBufferGeometry: .getArrays() has been removed.")},addShapeList:function(){console.error("THREE.ExtrudeBufferGeometry: .addShapeList() has been removed.")},addShape:function(){console.error("THREE.ExtrudeBufferGeometry: .addShape() has been removed.")}});Object.defineProperties(of.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}}, +onUpdate:{value:function(){console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.");return this}}});Object.defineProperties(N.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}}, +wrapRGB:{get:function(){console.warn("THREE.Material: .wrapRGB has been removed.");return new E}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(a){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.");this.flatShading=1===a}},stencilMask:{get:function(){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead.");return this.stencilFuncMask}, +set:function(a){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead.");this.stencilFuncMask=a}}});Object.defineProperties(Sa.prototype,{metal:{get:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead.");return!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}});Object.defineProperties(na.prototype,{derivatives:{get:function(){console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."); +return this.extensions.derivatives},set:function(a){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.");this.extensions.derivatives=a}}});Object.assign(hg.prototype,{clearTarget:function(a,b,c,d){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.");this.setRenderTarget(a);this.clear(b,c,d)},animate:function(a){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop().");this.setAnimationLoop(a)}, +getCurrentRenderTarget:function(){console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().");return this.getRenderTarget()},getMaxAnisotropy:function(){console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().");return this.capabilities.getMaxAnisotropy()},getPrecision:function(){console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.");return this.capabilities.precision},resetGLState:function(){console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."); +return this.state.reset()},supportsFloatTextures:function(){console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' ).");return this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' ).");return this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."); +return this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' ).");return this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' ).");return this.extensions.get("WEBGL_compressed_texture_pvrtc")}, +supportsBlendMinMax:function(){console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' ).");return this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.");return this.capabilities.vertexTextures},supportsInstancedArrays:function(){console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."); +return this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(a){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().");this.setScissorTest(a)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}, +setFaceCulling:function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},allocTextureUnit:function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},setTexture:function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},setTexture2D:function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},setTextureCube:function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},getActiveMipMapLevel:function(){console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."); +return this.getActiveMipmapLevel()}});Object.defineProperties(hg.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(a){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.");this.shadowMap.enabled=a}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(a){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.");this.shadowMap.type=a}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}, +set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.");return this.getContext()}}});Object.defineProperties(Jh.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}}, +renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}); +Object.defineProperties(Bb.prototype,{activeCubeFace:{set:function(){console.warn("THREE.WebGLRenderTargetCube: .activeCubeFace has been removed. It is now the second parameter of WebGLRenderer.setRenderTarget().")}},activeMipMapLevel:{set:function(){console.warn("THREE.WebGLRenderTargetCube: .activeMipMapLevel has been removed. It is now the third parameter of WebGLRenderer.setRenderTarget().")}}});Object.defineProperties(la.prototype,{wrapS:{get:function(){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."); +return this.texture.wrapS},set:function(a){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.");this.texture.wrapS=a}},wrapT:{get:function(){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.");return this.texture.wrapT},set:function(a){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.");this.texture.wrapT=a}},magFilter:{get:function(){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.");return this.texture.magFilter}, +set:function(a){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.");this.texture.magFilter=a}},minFilter:{get:function(){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.");return this.texture.minFilter},set:function(a){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.");this.texture.minFilter=a}},anisotropy:{get:function(){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.");return this.texture.anisotropy}, +set:function(a){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.");this.texture.anisotropy=a}},offset:{get:function(){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset.");return this.texture.offset},set:function(a){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset.");this.texture.offset=a}},repeat:{get:function(){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat.");return this.texture.repeat},set:function(a){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."); +this.texture.repeat=a}},format:{get:function(){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format.");return this.texture.format},set:function(a){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format.");this.texture.format=a}},type:{get:function(){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type.");return this.texture.type},set:function(a){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type.");this.texture.type=a}},generateMipmaps:{get:function(){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."); +return this.texture.generateMipmaps},set:function(a){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");this.texture.generateMipmaps=a}}});Object.defineProperties(gg.prototype,{standing:{set:function(){console.warn("THREE.WebVRManager: .standing has been removed.")}},userHeight:{set:function(){console.warn("THREE.WebVRManager: .userHeight has been removed.")}}});gd.prototype.load=function(a){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead."); +var b=this;(new mf).load(a,function(a){b.setBuffer(a)});return this};Eg.prototype.getData=function(){console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData().");return this.getFrequencyData()};Ec.prototype.updateCubeMap=function(a,b){console.warn("THREE.CubeCamera: .updateCubeMap() is now .update().");return this.update(a,b)};Lb.crossOrigin=void 0;Lb.loadTexture=function(a,b,c,d){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var e= +new Ye;e.setCrossOrigin(this.crossOrigin);a=e.load(a,c,void 0,d);b&&(a.mapping=b);return a};Lb.loadTextureCube=function(a,b,c,d){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var e=new Xe;e.setCrossOrigin(this.crossOrigin);a=e.load(a,c,void 0,d);b&&(a.mapping=b);return a};Lb.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")};Lb.loadCompressedTextureCube= +function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"109"}}));k.ACESFilmicToneMapping=5;k.AddEquation=100;k.AddOperation=2;k.AdditiveBlending=2;k.AlphaFormat=1021;k.AlwaysDepth=1;k.AlwaysStencilFunc=519;k.AmbientLight=ef;k.AmbientLightProbe=zg;k.AnimationClip=Oa;k.AnimationLoader=qg;k.AnimationMixer=Gg;k.AnimationObjectGroup= +ci;k.AnimationUtils=qa;k.ArcCurve=fd;k.ArrayCamera=Ld;k.ArrowHelper=ub;k.Audio=gd;k.AudioAnalyser=Eg;k.AudioContext=Cg;k.AudioListener=Bg;k.AudioLoader=mf;k.AxesHelper=xe;k.AxisHelper=function(a){console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper.");return new xe(a)};k.BackSide=1;k.BasicDepthPacking=3200;k.BasicShadowMap=0;k.BinaryTextureLoader=function(a){console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.");return new We(a)};k.Bone=ig;k.BooleanKeyframeTrack= +Se;k.BoundingBoxHelper=function(a,b){console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.");return new tb(a,b)};k.Box2=Jg;k.Box3=bb;k.Box3Helper=ve;k.BoxBufferGeometry=Jd;k.BoxGeometry=Zg;k.BoxHelper=tb;k.BufferAttribute=P;k.BufferGeometry=D;k.BufferGeometryLoader=kf;k.ByteType=1010;k.Cache=vc;k.Camera=cb;k.CameraHelper=ue;k.CanvasRenderer=function(){console.error("THREE.CanvasRenderer has been removed")};k.CanvasTexture=Rd;k.CatmullRomCurve3=za;k.CineonToneMapping= +4;k.CircleBufferGeometry=ad;k.CircleGeometry=le;k.ClampToEdgeWrapping=1001;k.Clock=Ag;k.ClosedSplineCurve3=ji;k.Color=E;k.ColorKeyframeTrack=Te;k.CompressedTexture=Oc;k.CompressedTextureLoader=rg;k.ConeBufferGeometry=ke;k.ConeGeometry=je;k.CubeCamera=Ec;k.CubeGeometry=Zg;k.CubeReflectionMapping=301;k.CubeRefractionMapping=302;k.CubeTexture=pb;k.CubeTextureLoader=Xe;k.CubeUVReflectionMapping=306;k.CubeUVRefractionMapping=307;k.CubicBezierCurve=Ta;k.CubicBezierCurve3=hb;k.CubicInterpolant=Qe;k.CullFaceBack= +1;k.CullFaceFront=2;k.CullFaceFrontBack=3;k.CullFaceNone=0;k.Curve=C;k.CurvePath=sb;k.CustomBlending=5;k.CylinderBufferGeometry=rb;k.CylinderGeometry=jc;k.Cylindrical=hi;k.DataTexture=$b;k.DataTexture2DArray=Fc;k.DataTexture3D=Gc;k.DataTextureLoader=We;k.DecrementStencilOp=7683;k.DecrementWrapStencilOp=34056;k.DefaultLoadingManager=Zh;k.DepthFormat=1026;k.DepthStencilFormat=1027;k.DepthTexture=Sd;k.DirectionalLight=df;k.DirectionalLightHelper=od;k.DirectionalLightShadow=cf;k.DiscreteInterpolant=Re; +k.DodecahedronBufferGeometry=Tc;k.DodecahedronGeometry=Yd;k.DoubleSide=2;k.DstAlphaFactor=206;k.DstColorFactor=208;k.DynamicBufferAttribute=function(a,b){console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead.");return(new P(a,b)).setDynamic(!0)};k.EdgesGeometry=$c;k.EdgesHelper=function(a,b){console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.");return new U(new $c(a.geometry),new S({color:void 0!==b?b: +16777215}))};k.EllipseCurve=La;k.EqualDepth=4;k.EqualStencilFunc=514;k.EquirectangularReflectionMapping=303;k.EquirectangularRefractionMapping=304;k.Euler=Rb;k.EventDispatcher=Ca;k.ExtrudeBufferGeometry=fb;k.ExtrudeGeometry=gc;k.Face3=Ac;k.Face4=function(a,b,c,d,e,f,g){console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead.");return new Ac(a,b,c,e,f,g)};k.FaceColors=1;k.FaceNormalsHelper=te;k.FileLoader=Pa;k.FlatShading=1;k.Float32Attribute=function(a,b){console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."); +return new z(a,b)};k.Float32BufferAttribute=z;k.Float64Attribute=function(a,b){console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.");return new Fd(a,b)};k.Float64BufferAttribute=Fd;k.FloatType=1015;k.Fog=Me;k.FogExp2=Le;k.Font=wg;k.FontLoader=xg;k.FrontFaceDirectionCCW=1;k.FrontFaceDirectionCW=0;k.FrontSide=0;k.Frustum=Hd;k.GammaEncoding=3007;k.Geometry=M;k.GeometryUtils={merge:function(a,b,c){console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead."); +if(b.isMesh){b.matrixAutoUpdate&&b.updateMatrix();var d=b.matrix;b=b.geometry}a.merge(b,d,c)},center:function(a){console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.");return a.center()}};k.GreaterDepth=6;k.GreaterEqualDepth=5;k.GreaterEqualStencilFunc=518;k.GreaterStencilFunc=516;k.GridHelper=pf;k.Group=Kc;k.HalfFloatType=1016;k.HemisphereLight=Ze;k.HemisphereLightHelper=ld;k.HemisphereLightProbe=yg;k.IcosahedronBufferGeometry=Sc;k.IcosahedronGeometry= +Xd;k.ImageBitmapLoader=ug;k.ImageLoader=ed;k.ImageUtils=Lb;k.ImmediateRenderObject=re;k.IncrementStencilOp=7682;k.IncrementWrapStencilOp=34055;k.InstancedBufferAttribute=jf;k.InstancedBufferGeometry=hf;k.InstancedInterleavedBuffer=Hg;k.InstancedMesh=jg;k.Int16Attribute=function(a,b){console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.");return new Dd(a,b)};k.Int16BufferAttribute=Dd;k.Int32Attribute=function(a,b){console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."); +return new Ed(a,b)};k.Int32BufferAttribute=Ed;k.Int8Attribute=function(a,b){console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.");return new Ad(a,b)};k.Int8BufferAttribute=Ad;k.IntType=1013;k.InterleavedBuffer=Hb;k.InterleavedBufferAttribute=Md;k.Interpolant=Ka;k.InterpolateDiscrete=2300;k.InterpolateLinear=2301;k.InterpolateSmooth=2302;k.InvertStencilOp=5386;k.JSONLoader=function(){console.error("THREE.JSONLoader has been removed.")};k.KeepStencilOp=7680; +k.KeyframeTrack=pa;k.LOD=Pd;k.LatheBufferGeometry=Zc;k.LatheGeometry=ie;k.Layers=Sf;k.LensFlare=function(){console.error("THREE.LensFlare has been moved to /examples/js/objects/Lensflare.js")};k.LessDepth=2;k.LessEqualDepth=3;k.LessEqualStencilFunc=515;k.LessStencilFunc=513;k.Light=fa;k.LightProbe=Ya;k.LightProbeHelper=md;k.LightShadow=jb;k.Line=ya;k.Line3=Kg;k.LineBasicMaterial=S;k.LineCurve=Aa;k.LineCurve3=Ua;k.LineDashedMaterial=qc;k.LineLoop=Pe;k.LinePieces=1;k.LineSegments=U;k.LineStrip=0;k.LinearEncoding= +3E3;k.LinearFilter=1006;k.LinearInterpolant=me;k.LinearMipMapLinearFilter=1008;k.LinearMipMapNearestFilter=1007;k.LinearMipmapLinearFilter=1008;k.LinearMipmapNearestFilter=1007;k.LinearToneMapping=1;k.Loader=Z;k.LoaderUtils=fh;k.LoadingManager=pg;k.LogLuvEncoding=3003;k.LoopOnce=2200;k.LoopPingPong=2202;k.LoopRepeat=2201;k.LuminanceAlphaFormat=1025;k.LuminanceFormat=1024;k.MOUSE={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2};k.Material=N;k.MaterialLoader=gf;k.Math=Q;k.Matrix3=aa;k.Matrix4=O;k.MaxEquation= +104;k.Mesh=da;k.MeshBasicMaterial=Ia;k.MeshDepthMaterial=Eb;k.MeshDistanceMaterial=Fb;k.MeshFaceMaterial=function(a){console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead.");return a};k.MeshLambertMaterial=oc;k.MeshMatcapMaterial=pc;k.MeshNormalMaterial=nc;k.MeshPhongMaterial=Sa;k.MeshPhysicalMaterial=lc;k.MeshStandardMaterial=gb;k.MeshToonMaterial=mc;k.MinEquation=103;k.MirroredRepeatWrapping=1002;k.MixOperation=1;k.MultiMaterial=function(a){void 0===a&&(a=[]);console.warn("THREE.MultiMaterial has been removed. Use an Array instead."); +a.isMultiMaterial=!0;a.materials=a;a.clone=function(){return a.slice()};return a};k.MultiplyBlending=4;k.MultiplyOperation=0;k.NearestFilter=1003;k.NearestMipMapLinearFilter=1005;k.NearestMipMapNearestFilter=1004;k.NearestMipmapLinearFilter=1005;k.NearestMipmapNearestFilter=1004;k.NeverDepth=0;k.NeverStencilFunc=512;k.NoBlending=0;k.NoColors=0;k.NoToneMapping=0;k.NormalBlending=1;k.NotEqualDepth=7;k.NotEqualStencilFunc=517;k.NumberKeyframeTrack=cd;k.Object3D=H;k.ObjectLoader=lf;k.ObjectSpaceNormalMap= +1;k.OctahedronBufferGeometry=dc;k.OctahedronGeometry=Wd;k.OneFactor=201;k.OneMinusDstAlphaFactor=207;k.OneMinusDstColorFactor=209;k.OneMinusSrcAlphaFactor=205;k.OneMinusSrcColorFactor=203;k.OrthographicCamera=qe;k.PCFShadowMap=1;k.PCFSoftShadowMap=2;k.ParametricBufferGeometry=Qc;k.ParametricGeometry=Td;k.Particle=function(a){console.warn("THREE.Particle has been renamed to THREE.Sprite.");return new Nd(a)};k.ParticleBasicMaterial=function(a){console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."); +return new Ra(a)};k.ParticleSystem=function(a,b){console.warn("THREE.ParticleSystem has been renamed to THREE.Points.");return new Nc(a,b)};k.ParticleSystemMaterial=function(a){console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.");return new Ra(a)};k.Path=Xa;k.PerspectiveCamera=oa;k.Plane=db;k.PlaneBufferGeometry=ac;k.PlaneGeometry=Id;k.PlaneHelper=we;k.PointCloud=function(a,b){console.warn("THREE.PointCloud has been renamed to THREE.Points.");return new Nc(a,b)}; +k.PointCloudMaterial=function(a){console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.");return new Ra(a)};k.PointLight=bf;k.PointLightHelper=jd;k.Points=Nc;k.PointsMaterial=Ra;k.PolarGridHelper=qf;k.PolyhedronBufferGeometry=Da;k.PolyhedronGeometry=Ud;k.PositionalAudio=Dg;k.PositionalAudioHelper=nd;k.PropertyBinding=Ba;k.PropertyMixer=Fg;k.QuadraticBezierCurve=Va;k.QuadraticBezierCurve3=ib;k.Quaternion=va;k.QuaternionKeyframeTrack=ne;k.QuaternionLinearInterpolant=Ue;k.REVISION= +"109";k.RGBADepthPacking=3201;k.RGBAFormat=1023;k.RGBA_ASTC_10x10_Format=37819;k.RGBA_ASTC_10x5_Format=37816;k.RGBA_ASTC_10x6_Format=37817;k.RGBA_ASTC_10x8_Format=37818;k.RGBA_ASTC_12x10_Format=37820;k.RGBA_ASTC_12x12_Format=37821;k.RGBA_ASTC_4x4_Format=37808;k.RGBA_ASTC_5x4_Format=37809;k.RGBA_ASTC_5x5_Format=37810;k.RGBA_ASTC_6x5_Format=37811;k.RGBA_ASTC_6x6_Format=37812;k.RGBA_ASTC_8x5_Format=37813;k.RGBA_ASTC_8x6_Format=37814;k.RGBA_ASTC_8x8_Format=37815;k.RGBA_PVRTC_2BPPV1_Format=35843;k.RGBA_PVRTC_4BPPV1_Format= +35842;k.RGBA_S3TC_DXT1_Format=33777;k.RGBA_S3TC_DXT3_Format=33778;k.RGBA_S3TC_DXT5_Format=33779;k.RGBDEncoding=3006;k.RGBEEncoding=3002;k.RGBEFormat=1023;k.RGBFormat=1022;k.RGBM16Encoding=3005;k.RGBM7Encoding=3004;k.RGB_ETC1_Format=36196;k.RGB_PVRTC_2BPPV1_Format=35841;k.RGB_PVRTC_4BPPV1_Format=35840;k.RGB_S3TC_DXT1_Format=33776;k.RawShaderMaterial=bd;k.Ray=Tb;k.Raycaster=ei;k.RectAreaLight=ff;k.RectAreaLightHelper=kd;k.RedFormat=1028;k.ReinhardToneMapping=2;k.RepeatWrapping=1E3;k.ReplaceStencilOp= +7681;k.ReverseSubtractEquation=102;k.RingBufferGeometry=Yc;k.RingGeometry=he;k.Scene=zd;k.SceneUtils={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")}};k.ShaderChunk=T;k.ShaderLib=eb;k.ShaderMaterial=na;k.ShadowMaterial= +kc;k.Shape=Kb;k.ShapeBufferGeometry=ic;k.ShapeGeometry=hc;k.ShapePath=vg;k.ShapeUtils=qb;k.ShortType=1011;k.Skeleton=Oe;k.SkeletonHelper=id;k.SkinnedMesh=Qd;k.SmoothShading=2;k.Sphere=ob;k.SphereBufferGeometry=Jb;k.SphereGeometry=ge;k.Spherical=gi;k.SphericalHarmonics3=nf;k.SphericalReflectionMapping=305;k.Spline=Mg;k.SplineCurve=Wa;k.SplineCurve3=ki;k.SpotLight=af;k.SpotLightHelper=hd;k.SpotLightShadow=$e;k.Sprite=Nd;k.SpriteMaterial=Ib;k.SrcAlphaFactor=204;k.SrcAlphaSaturateFactor=210;k.SrcColorFactor= +202;k.StereoCamera=ai;k.StringKeyframeTrack=Ve;k.SubtractEquation=101;k.SubtractiveBlending=3;k.TOUCH={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3};k.TangentSpaceNormalMap=0;k.TetrahedronBufferGeometry=Rc;k.TetrahedronGeometry=Vd;k.TextBufferGeometry=Xc;k.TextGeometry=fe;k.Texture=Y;k.TextureLoader=Ye;k.TorusBufferGeometry=Vc;k.TorusGeometry=ae;k.TorusKnotBufferGeometry=Uc;k.TorusKnotGeometry=$d;k.Triangle=ha;k.TriangleFanDrawMode=2;k.TriangleStripDrawMode=1;k.TrianglesDrawMode=0;k.TubeBufferGeometry= +ec;k.TubeGeometry=Zd;k.UVMapping=300;k.Uint16Attribute=function(a,b){console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.");return new Ub(a,b)};k.Uint16BufferAttribute=Ub;k.Uint32Attribute=function(a,b){console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.");return new Vb(a,b)};k.Uint32BufferAttribute=Vb;k.Uint8Attribute=function(a,b){console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."); +return new Bd(a,b)};k.Uint8BufferAttribute=Bd;k.Uint8ClampedAttribute=function(a,b){console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.");return new Cd(a,b)};k.Uint8ClampedBufferAttribute=Cd;k.Uncharted2ToneMapping=3;k.Uniform=of;k.UniformsLib=I;k.UniformsUtils=Ak;k.UnsignedByteType=1009;k.UnsignedInt248Type=1020;k.UnsignedIntType=1014;k.UnsignedShort4444Type=1017;k.UnsignedShort5551Type=1018;k.UnsignedShort565Type=1019;k.UnsignedShortType= +1012;k.VSMShadowMap=3;k.Vector2=A;k.Vector3=n;k.Vector4=W;k.VectorKeyframeTrack=dd;k.Vertex=function(a,b,c){console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead.");return new n(a,b,c)};k.VertexColors=2;k.VertexNormalsHelper=se;k.VideoTexture=mg;k.WebGLMultisampleRenderTarget=Rf;k.WebGLRenderTarget=la;k.WebGLRenderTargetCube=Bb;k.WebGLRenderer=hg;k.WebGLUtils=Kh;k.WireframeGeometry=Pc;k.WireframeHelper=function(a,b){console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."); +return new U(new Pc(a.geometry),new S({color:void 0!==b?b:16777215}))};k.WrapAroundEnding=2402;k.XHRLoader=function(a){console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader.");return new Pa(a)};k.ZeroCurvatureEnding=2400;k.ZeroFactor=200;k.ZeroSlopeEnding=2401;k.ZeroStencilOp=0;k.sRGBEncoding=3001;Object.defineProperty(k,"__esModule",{value:!0})}); diff --git a/public/GV/thirdParty/Threejs-109/custom/ParticleEngine.js b/public/GV/thirdParty/Threejs-109/custom/ParticleEngine.js new file mode 100644 index 000000000..0da696f23 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/custom/ParticleEngine.js @@ -0,0 +1,501 @@ +/** + * ThreeJS-粒子引擎库 + */ + +// attribute: data that may be different for each particle (such as size and color); +// can only be used in vertex shader +// varying: used to communicate data from vertex shader to fragment shader +// uniform: data that is the same for each particle (such as texture) + +particleVertexShader = + [ + "attribute vec3 customColor;", + "attribute float customOpacity;", + "attribute float customSize;", + "attribute float customAngle;", + "attribute float customVisible;", // float used as boolean (0 = false, 1 = true) + "varying vec4 vColor;", + "varying float vAngle;", + "void main()", + "{", + "if ( customVisible > 0.5 )", // true + "vColor = vec4( customColor, customOpacity );", // set color associated to vertex; use later in fragment shader. + "else", // false + "vColor = vec4(0.0, 0.0, 0.0, 0.0);", // make particle invisible. + + "vAngle = customAngle;", + + "vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );", + "gl_PointSize = customSize * ( 300.0 / length( mvPosition.xyz ) );", // scale particles as objects in 3D space + "gl_Position = projectionMatrix * mvPosition;", + "}" + ].join("\n"); + +particleFragmentShader = + [ + "uniform sampler2D texture;", + "varying vec4 vColor;", + "varying float vAngle;", + "void main()", + "{", + "gl_FragColor = vColor;", + + "float c = cos(vAngle);", + "float s = sin(vAngle);", + "vec2 rotatedUV = vec2(c * (gl_PointCoord.x - 0.5) + s * (gl_PointCoord.y - 0.5) + 0.5,", + "c * (gl_PointCoord.y - 0.5) - s * (gl_PointCoord.x - 0.5) + 0.5);", // rotate UV coordinates to rotate texture + "vec4 rotatedTexture = texture2D( texture, rotatedUV );", + "gl_FragColor = gl_FragColor * rotatedTexture;", // sets an otherwise white particle texture to desired color + "}" + ].join("\n"); + +/////////////////////////////////////////////////////////////////////////////// + +///////////////// +// TWEEN CLASS // +///////////////// + +function Tween(timeArray, valueArray) { + this.times = timeArray || []; + this.values = valueArray || []; +} + +Tween.prototype.lerp = function (t) { + var i = 0; + var n = this.times.length; + while (i < n && t > this.times[i]) + i++; + if (i == 0) return this.values[0]; + if (i == n) return this.values[n - 1]; + var p = (t - this.times[i - 1]) / (this.times[i] - this.times[i - 1]); + if (this.values[0] instanceof THREE.Vector3) + return this.values[i - 1].clone().lerp(this.values[i], p); + else // its a float + return this.values[i - 1] + p * (this.values[i] - this.values[i - 1]); +} + +/////////////////////////////////////////////////////////////////////////////// + +//////////////////// +// PARTICLE CLASS // +//////////////////// + +function Particle() { + // 粒子位置 + this.position = new THREE.Vector3(); + // 速度 + this.velocity = new THREE.Vector3(); // units per second + // 加速度 + this.acceleration = new THREE.Vector3(); + + // 角度 + this.angle = 0; + // 角速度 + this.angleVelocity = 0; // degrees per second + // 角加速度 + this.angleAcceleration = 0; // degrees per second, per second + + // 大小 + this.size = 16.0; + // 颜色 + this.color = new THREE.Color(); + // 透明度 + this.opacity = 1.0; + // 生命周期 + this.age = 0; + // 控制生死 + this.alive = 0; // use float instead of boolean for shader purposes +} + +Particle.prototype.update = function (dt) { + this.position.add(this.velocity.clone().multiplyScalar(dt)); + this.velocity.add(this.acceleration.clone().multiplyScalar(dt)); + + // convert from degrees to radians: 0.01745329251 = Math.PI/180 + this.angle += this.angleVelocity * 0.01745329251 * dt; + this.angleVelocity += this.angleAcceleration * 0.01745329251 * dt; + + this.age += dt; + + // if the tween for a given attribute is nonempty, + // then use it to update the attribute's value + + if (this.sizeTween.times.length > 0) + this.size = this.sizeTween.lerp(this.age); + + if (this.colorTween.times.length > 0) { + var colorHSL = this.colorTween.lerp(this.age); + this.color = new THREE.Color().setHSL(colorHSL.x, colorHSL.y, colorHSL.z); + } + + if (this.opacityTween.times.length > 0) + this.opacity = this.opacityTween.lerp(this.age); +} + +/////////////////////////////////////////////////////////////////////////////// + +/////////////////////////// +// PARTICLE ENGINE CLASS // +/////////////////////////// + +var Type = Object.freeze({ "CUBE": 1, "SPHERE": 2 }); + +/** + * 粒子引擎 + */ +function ParticleEngine(c, m) { + ///////////////////////// + // PARTICLE PROPERTIES // + ///////////////////////// + + this.positionStyle = Type.CUBE; + this.positionBase = new THREE.Vector3(); + // cube shape data + this.positionSpread = new THREE.Vector3(); + // sphere shape data + this.positionRadius = 0; // distance from base at which particles start + + this.velocityStyle = Type.CUBE; + // cube movement data + this.velocityBase = new THREE.Vector3(); + this.velocitySpread = new THREE.Vector3(); + // sphere movement data + // direction vector calculated using initial position + this.speedBase = 0; + this.speedSpread = 0; + + this.accelerationBase = new THREE.Vector3(); + this.accelerationSpread = new THREE.Vector3(); + + this.angleBase = 0; + this.angleSpread = 0; + this.angleVelocityBase = 0; + this.angleVelocitySpread = 0; + this.angleAccelerationBase = 0; + this.angleAccelerationSpread = 0; + + this.sizeBase = 0.0; + this.sizeSpread = 0.0; + this.sizeTween = new Tween(); + + // store colors in HSL format in a THREE.Vector3 object + // http://en.wikipedia.org/wiki/HSL_and_HSV + this.colorBase = new THREE.Vector3(0.0, 1.0, 0.5); + this.colorSpread = new THREE.Vector3(0.0, 0.0, 0.0); + this.colorTween = new Tween(); + + this.opacityBase = 1.0; + this.opacitySpread = 0.0; + this.opacityTween = new Tween(); + + this.blendStyle = THREE.NormalBlending; // false; + + this.particleArray = []; + this.particlesPerSecond = 100; + this.particleDeathAge = 1.0; + + /////////////////////////////////// + // EMITTER PROPERTIES 发射器属性 // + /////////////////////////////////// + + this.emitterAge = 0.0; + this.emitterAlive = true; + this.emitterDeathAge = 60; // time (seconds) at which to stop creating particles. + + // How many particles could be active at any time? + this.particleCount = this.particlesPerSecond * Math.min(this.particleDeathAge, this.emitterDeathAge); + + ////////////// + // THREE.JS // + ////////////// + + // 粒子几何体 + this.particleGeometry = new THREE.BufferGeometry(); + this.particleGeometry.addAttribute('position', new THREE.Float32BufferAttribute([], 3)); + this.particleGeometry.addAttribute('customVisible', new THREE.Float32BufferAttribute([], 1)); + this.particleGeometry.addAttribute('customAngle', new THREE.Float32BufferAttribute([], 1)); + this.particleGeometry.addAttribute('customSize', new THREE.Float32BufferAttribute([], 1)); + this.particleGeometry.addAttribute('customColor', new THREE.Float32BufferAttribute([], 3)); + this.particleGeometry.addAttribute('customOpacity', new THREE.Float32BufferAttribute([], 1)); + // 粒子纹理 + this.particleTexture = null; + // 粒子材质 + this.particleMaterial = new THREE.ShaderMaterial( + { + uniforms: + { + texture: { type: "t", value: this.particleTexture }, + }, + vertexShader: particleVertexShader, + fragmentShader: particleFragmentShader, + transparent: true, // alphaTest: 0.5, // if having transparency issues, try including: alphaTest: 0.5, + blending: THREE.NormalBlending, + depthTest: true, + + }); + // 粒子-弃用THREE.ParticleSystem改用THREE.Points + this.particleMesh = null; + + // 变换矩阵 + this.trsfMatrix = m; + // 粒子位置 + this.center = c; + + this.scene; +} + +/** + * 设置粒子属性 + */ +ParticleEngine.prototype.setValues = function (parameters) { + if (parameters === undefined) return; + + // clear any previous tweens that might exist + this.sizeTween = new Tween(); + this.colorTween = new Tween(); + this.opacityTween = new Tween(); + + for (var key in parameters) + this[key] = parameters[key]; + + // attach tweens to particles + Particle.prototype.sizeTween = this.sizeTween; + Particle.prototype.colorTween = this.colorTween; + Particle.prototype.opacityTween = this.opacityTween; + + // calculate/set derived particle engine values + this.particleArray = []; + this.emitterAge = 0.0; + this.emitterAlive = true; + this.particleCount = this.particlesPerSecond * Math.min(this.particleDeathAge, this.emitterDeathAge); + + this.particleGeometry = new THREE.BufferGeometry(); + this.particleGeometry.addAttribute('position', new THREE.Float32BufferAttribute([], 3)); + this.particleGeometry.addAttribute('customVisible', new THREE.Float32BufferAttribute([], 1)); + this.particleGeometry.addAttribute('customAngle', new THREE.Float32BufferAttribute([], 1)); + this.particleGeometry.addAttribute('customSize', new THREE.Float32BufferAttribute([], 1)); + this.particleGeometry.addAttribute('customColor', new THREE.Float32BufferAttribute([], 3)); + this.particleGeometry.addAttribute('customOpacity', new THREE.Float32BufferAttribute([], 1)); + this.particleMaterial = new THREE.ShaderMaterial( + { + uniforms: + { + texture: { type: "t", value: this.particleTexture }, + }, + vertexShader: particleVertexShader, + fragmentShader: particleFragmentShader, + transparent: true, alphaTest: 0.5, // if having transparency issues, try including: alphaTest: 0.5, + blending: THREE.NormalBlending, + depthTest: true + }); + // this.particleMesh = new THREE.ParticleSystem(); + this.particleMesh = new THREE.Points(this.particleGeometry, this.particleMaterial); +} + +// helper functions for randomization +ParticleEngine.prototype.randomValue = function (base, spread) { + + return base + spread * (Math.random() - 0.5); + +} +ParticleEngine.prototype.randomVector3 = function (base, spread) { + + var rand3 = new THREE.Vector3(Math.random() - 0.5, Math.random() - 0.5, Math.random() - 0.5); + + return new THREE.Vector3().addVectors(base, new THREE.Vector3().multiplyVectors(spread, rand3)); + +} + +/** + * 创建粒子 + */ +ParticleEngine.prototype.createParticle = function () { + + var particle = new Particle(); + + if (this.positionStyle == Type.CUBE) { + + particle.position = this.randomVector3(this.positionBase, this.positionSpread); + + } + + if (this.positionStyle == Type.SPHERE) { + + var z = 2 * Math.random() - 1; + var t = 6.2832 * Math.random(); + var r = Math.sqrt(1 - z * z); + var vec3 = new THREE.Vector3(r * Math.cos(t), r * Math.sin(t), z); + particle.position = new THREE.Vector3().addVectors(this.positionBase, vec3.multiplyScalar(this.positionRadius)); + + } + + if (this.velocityStyle == Type.CUBE) { + + particle.velocity = this.randomVector3(this.velocityBase, this.velocitySpread); + + } + + if (this.velocityStyle == Type.SPHERE) { + + var direction = new THREE.Vector3().subVectors(particle.position, this.positionBase); + var speed = this.randomValue(this.speedBase, this.speedSpread); + particle.velocity = direction.normalize().multiplyScalar(speed); + + } + + particle.acceleration = this.randomVector3(this.accelerationBase, this.accelerationSpread); + + particle.angle = this.randomValue(this.angleBase, this.angleSpread); + particle.angleVelocity = this.randomValue(this.angleVelocityBase, this.angleVelocitySpread); + particle.angleAcceleration = this.randomValue(this.angleAccelerationBase, this.angleAccelerationSpread); + + particle.size = this.randomValue(this.sizeBase, this.sizeSpread); + + var color = this.randomVector3(this.colorBase, this.colorSpread); + particle.color = new THREE.Color().setHSL(color.x, color.y, color.z); + + particle.opacity = this.randomValue(this.opacityBase, this.opacitySpread); + + particle.age = 0; + particle.alive = 0; // particles initialize as inactive + + return particle; +} + +/** + * 初始化 + */ +ParticleEngine.prototype.initialize = function (scene) { + + let p = []; + let alive = []; + let color = []; + let opacity = []; + let size = []; + let angle = []; + // link particle data with geometry/material data + for (var i = 0; i < this.particleCount; i++) { + + // remove duplicate code somehow, here and in update function below. + this.particleArray[i] = this.createParticle(); + p.push(this.particleArray[i].position.x); + p.push(this.particleArray[i].position.y); + p.push(this.particleArray[i].position.z); + alive.push(this.particleArray[i].alive); + color.push(this.particleArray[i].color.r); + color.push(this.particleArray[i].color.g); + color.push(this.particleArray[i].color.b); + opacity.push(this.particleArray[i].opacity); + size.push(this.particleArray[i].size); + angle.push(this.particleArray[i].angle); + + } + + this.particleGeometry = new THREE.BufferGeometry(); + this.particleGeometry.addAttribute('position', new THREE.Float32BufferAttribute(p, 3)); + this.particleGeometry.addAttribute('customVisible', new THREE.Float32BufferAttribute(alive, 1)); + this.particleGeometry.addAttribute('customColor', new THREE.Float32BufferAttribute(color, 3)); + this.particleGeometry.addAttribute('customOpacity', new THREE.Float32BufferAttribute(opacity, 1)); + this.particleGeometry.addAttribute('customSize', new THREE.Float32BufferAttribute(size, 1)); + this.particleGeometry.addAttribute('customAngle', new THREE.Float32BufferAttribute(angle, 1)); + + this.particleMaterial.blending = this.blendStyle; + + if (this.blendStyle != THREE.NormalBlending) + this.particleMaterial.depthTest = false; + + this.particleMesh = new THREE.Points(this.particleGeometry, this.particleMaterial); + this.particleMesh.dynamic = true; + this.particleMesh.sortParticles = true; + + this.particleMesh.layers.set(0); + + this.scene = scene; + + this.scene.add(this.particleMesh); + + +} + +ParticleEngine.prototype.update = function (dt) { + + // 回收粒子索引数组 + var recycleIndices = []; + + // update particle data + for (var i = 0; i < this.particleCount; i++) { + if (this.particleArray[i].alive) { + this.particleArray[i].update(dt); + + // check if particle should expire + // could also use: death by size<0 or alpha<0. + if (this.particleArray[i].age > this.particleDeathAge) { + this.particleArray[i].alive = 0.0; + recycleIndices.push(i); + } + + this.particleGeometry.attributes.customVisible.setX(i, this.particleArray[i].alive); + this.particleGeometry.attributes.customColor.setXYZ(i, this.particleArray[i].color.r, this.particleArray[i].color.g, this.particleArray[i].color.b); + this.particleGeometry.attributes.customOpacity.setX(i, this.particleArray[i].opacity); + this.particleGeometry.attributes.customSize.setX(i, this.particleArray[i].size); + this.particleGeometry.attributes.customAngle.setX(i, this.particleArray[i].angle); + + this.particleGeometry.attributes.customVisible.needsUpdate = true; + this.particleGeometry.attributes.customColor.needsUpdate = true; + this.particleGeometry.attributes.customOpacity.needsUpdate = true; + this.particleGeometry.attributes.customSize.needsUpdate = true; + this.particleGeometry.attributes.customAngle.needsUpdate = true; + + // 坐标系转换 + let tempPos = this.particleArray[i].position.clone(); + let pT = new THREE.Vector3(tempPos.x - this.center.x, tempPos.y - this.center.y, tempPos.z - this.center.z); + pT.applyAxisAngle(new THREE.Vector3(1, 0, 0), Math.PI/2); + let p = pT.applyMatrix4(this.trsfMatrix); + + this.particleGeometry.attributes.position.setXYZ(i, p.x, p.y, p.z); + this.particleGeometry.attributes.position.needsUpdate = true; + } + } + + // check if particle emitter is still running + if (!this.emitterAlive) return; + + // if no particles have died yet, then there are still particles to activate + if (this.emitterAge < this.particleDeathAge) { + // determine indices of particles to activate + var startIndex = Math.round(this.particlesPerSecond * (this.emitterAge + 0)); + var endIndex = Math.round(this.particlesPerSecond * (this.emitterAge + dt)); + if (endIndex > this.particleCount) + endIndex = this.particleCount; + + for (var i = startIndex; i < endIndex; i++) + this.particleArray[i].alive = 1.0; + } + + // if any particles have died while the emitter is still running, we imediately recycle them + for (var j = 0; j < recycleIndices.length; j++) { + + var i = recycleIndices[j]; + this.particleArray[i] = this.createParticle(); + this.particleArray[i].alive = 1.0; // activate right away + + // 坐标系转换 + let tempPos = this.particleArray[i].position.clone(); + let pT = new THREE.Vector3(tempPos.x - this.center.x, tempPos.y - this.center.y, tempPos.z - this.center.z); + pT.applyAxisAngle(new THREE.Vector3(1, 0, 0), Math.PI/2); + let p = pT.applyMatrix4(this.trsfMatrix); + + this.particleGeometry.attributes.position.setXYZ(i, p.x, p.y, p.z); + this.particleGeometry.attributes.position.needsUpdate = true; + + } + + // stop emitter? + this.emitterAge += dt; + if (this.emitterAge > this.emitterDeathAge) this.emitterAlive = false; +} + +ParticleEngine.prototype.destroy = function () { + this.scene.remove(this.particleMesh); +} +/////////////////////////////////////////////////////////////////////////////// diff --git a/public/GV/thirdParty/Threejs-109/custom/ParticleEngineExamples.js b/public/GV/thirdParty/Threejs-109/custom/ParticleEngineExamples.js new file mode 100644 index 000000000..a2a97a09f --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/custom/ParticleEngineExamples.js @@ -0,0 +1,358 @@ +/** +* @author Lee Stemkoski http://www.adelphi.edu/~stemkoski/ +*/ + +/* + Particle Engine options: + + positionBase : new THREE.Vector3(), + positionStyle : Type.CUBE or Type.SPHERE, + + // for Type.CUBE + positionSpread : new THREE.Vector3(), + + // for Type.SPHERE + positionRadius : 10, + + velocityStyle : Type.CUBE or Type.SPHERE, + + // for Type.CUBE + velocityBase : new THREE.Vector3(), + velocitySpread : new THREE.Vector3(), + + // for Type.SPHERE + speedBase : 20, + speedSpread : 10, + + accelerationBase : new THREE.Vector3(), + accelerationSpread : new THREE.Vector3(), + + particleTexture : THREE.ImageUtils.loadTexture( 'images/star.png' ), + + // rotation of image used for particles + angleBase : 0, + angleSpread : 0, + angleVelocityBase : 0, + angleVelocitySpread : 0, + angleAccelerationBase : 0, + angleAccelerationSpread : 0, + + // size, color, opacity + // for static values, use base/spread + // for dynamic values, use Tween + // (non-empty Tween takes precedence) + sizeBase : 20.0, + sizeSpread : 5.0, + sizeTween : new Tween( [0, 1], [1, 20] ), + + // colors stored in Vector3 in H,S,L format + colorBase : new THREE.Vector3(0.0, 1.0, 0.5), + colorSpread : new THREE.Vector3(0,0,0), + colorTween : new Tween( [0.5, 2], [ new THREE.Vector3(0, 1, 0.5), new THREE.Vector3(1, 1, 0.5) ] ), + + opacityBase : 1, + opacitySpread : 0, + opacityTween : new Tween( [2, 3], [1, 0] ), + + blendStyle : THREE.NormalBlending (default), THREE.AdditiveBlending + + particlesPerSecond : 200, + particleDeathAge : 2.0, + emitterDeathAge : 60 +*/ + +Examples = +{ + + + // (1) build GUI for easy effects access. + // (2) write ParticleEngineExamples.js + + // Not just any fountain -- a RAINBOW STAR FOUNTAIN of AWESOMENESS + fountain : + { + positionStyle : Type.CUBE, + positionBase : new THREE.Vector3( 0, 5, 0 ), + positionSpread : new THREE.Vector3( 10, 0, 10 ), + + velocityStyle : Type.CUBE, + velocityBase : new THREE.Vector3( 0, 160, 0 ), + velocitySpread : new THREE.Vector3( 100, 20, 100 ), + + accelerationBase : new THREE.Vector3( 0, -100, 0 ), + + particleTexture : null, + + angleBase : 0, + angleSpread : 180, + angleVelocityBase : 0, + angleVelocitySpread : 360 * 4, + + sizeTween : new Tween( [0, 1], [1, 20] ), + opacityTween : new Tween( [2, 3], [1, 0] ), + colorTween : new Tween( [0.5, 2], [ new THREE.Vector3(0,1,0.5), new THREE.Vector3(0.8, 1, 0.5) ] ), + + particlesPerSecond : 200, + particleDeathAge : 3.0, + emitterDeathAge : 60 + }, + + fireball : + { + positionStyle : Type.SPHERE, + positionBase : new THREE.Vector3( 0, 50, 0 ), + positionRadius : 2, + + velocityStyle : Type.SPHERE, + speedBase : 40, + speedSpread : 8, + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/smokeparticle.png' ), + particleTexture : null, + + sizeTween : new Tween( [0, 0.1], [1, 150] ), + opacityTween : new Tween( [0.7, 1], [1, 0] ), + colorBase : new THREE.Vector3(0.02, 1, 0.4), + blendStyle : THREE.AdditiveBlending, + + particlesPerSecond : 60, + particleDeathAge : 1.5, + emitterDeathAge : 60 + }, + + smoke : + { + positionStyle : Type.CUBE, + positionBase : new THREE.Vector3( 0, 0, 0 ), + positionSpread : new THREE.Vector3( 10, 0, 10 ), + + velocityStyle : Type.CUBE, + velocityBase : new THREE.Vector3( 0, 150, 0 ), + velocitySpread : new THREE.Vector3( 80, 50, 80 ), + accelerationBase : new THREE.Vector3( 0,-10,0 ), + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/smokeparticle.png'), + particleTexture : null, + + angleBase : 0, + angleSpread : 720, + angleVelocityBase : 0, + angleVelocitySpread : 720, + + sizeTween : new Tween( [0, 1], [32, 128] ), + opacityTween : new Tween( [0.8, 2], [0.5, 0] ), + colorTween : new Tween( [0.4, 1], [ new THREE.Vector3(0,0,0.2), new THREE.Vector3(0, 0, 0.5) ] ), + + particlesPerSecond : 200, + particleDeathAge : 2.0, + emitterDeathAge : 60 + }, + + clouds : + { + positionStyle : Type.CUBE, + positionBase : new THREE.Vector3( -100, 100, 0 ), + positionSpread : new THREE.Vector3( 0, 50, 60 ), + + velocityStyle : Type.CUBE, + velocityBase : new THREE.Vector3( 40, 0, 0 ), + velocitySpread : new THREE.Vector3( 20, 0, 0 ), + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/smokeparticle.png'), + particleTexture : null, + + sizeBase : 80.0, + sizeSpread : 100.0, + colorBase : new THREE.Vector3(0.0, 0.0, 1.0), // H,S,L + opacityTween : new Tween([0,1,4,5],[0,1,1,0]), + + particlesPerSecond : 50, + particleDeathAge : 10.0, + emitterDeathAge : 60 + }, + + snow : + { + positionStyle : Type.CUBE, + positionBase : new THREE.Vector3( 0, 0, 0 ), + positionSpread : new THREE.Vector3( 6000, 0, 6000 ), + + velocityStyle : Type.CUBE, + velocityBase : new THREE.Vector3( 30, -200, 0 ), + velocitySpread : new THREE.Vector3( 10, 50, 10 ), + accelerationBase : new THREE.Vector3( 0, -10,0 ), + + angleBase : 0, + angleSpread : 720, + angleVelocityBase : 0, + angleVelocitySpread : 60, + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/snowflake.png' ), + particleTexture : null, + + sizeTween : new Tween( [0, 0.25], [1, 20] ), + colorBase : new THREE.Vector3(0.66, 1.0, 0.9), // H,S,L + opacityTween : new Tween( [2, 3], [0.8, 0] ), + + particlesPerSecond : 15000, + particleDeathAge : 4.0, + emitterDeathAge : 600000 + }, + + rain : + { + positionStyle : Type.CUBE, + positionBase : new THREE.Vector3( 0, 0, 0 ), + positionSpread : new THREE.Vector3( 6000, 0, 6000 ), + + velocityStyle : Type.CUBE, + velocityBase : new THREE.Vector3( 0, -300, 0 ), + velocitySpread : new THREE.Vector3( 10, 50, 10 ), + accelerationBase : new THREE.Vector3( 0, -10,0 ), + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/raindrop2flip.png' ), + particleTexture : null, + + sizeBase : 20.0, + sizeSpread : 4.0, + colorBase : new THREE.Vector3(0.66, 1.0, 0.7), // H,S,L + colorSpread : new THREE.Vector3(0.00, 0.0, 0.2), + opacityBase : 0.6, + + particlesPerSecond : 15000, + particleDeathAge : 4.0, + emitterDeathAge : 600000 + }, + + starfield : + { + positionStyle : Type.CUBE, + positionBase : new THREE.Vector3( 0, 200, 0 ), + positionSpread : new THREE.Vector3( 600, 400, 600 ), + + velocityStyle : Type.CUBE, + velocityBase : new THREE.Vector3( 0, 0, 0 ), + velocitySpread : new THREE.Vector3( 0.5, 0.5, 0.5 ), + + angleBase : 0, + angleSpread : 720, + angleVelocityBase : 0, + angleVelocitySpread : 4, + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/spikey.png' ), + particleTexture : null, + + sizeBase : 10.0, + sizeSpread : 2.0, + colorBase : new THREE.Vector3(0.15, 1.0, 0.9), // H,S,L + colorSpread : new THREE.Vector3(0.00, 0.0, 0.2), + opacityBase : 1, + + particlesPerSecond : 20000, + particleDeathAge : 60.0, + emitterDeathAge : 0.1 + }, + + fireflies : + { + positionStyle : Type.CUBE, + positionBase : new THREE.Vector3( 0, 100, 0 ), + positionSpread : new THREE.Vector3( 400, 200, 400 ), + + velocityStyle : Type.CUBE, + velocityBase : new THREE.Vector3( 0, 0, 0 ), + velocitySpread : new THREE.Vector3( 60, 20, 60 ), + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/spark.png' ), + particleTexture : null, + + sizeBase : 30.0, + sizeSpread : 2.0, + opacityTween : new Tween([0.0, 1.0, 1.1, 2.0, 2.1, 3.0, 3.1, 4.0, 4.1, 5.0, 5.1, 6.0, 6.1], + [0.2, 0.2, 1.0, 1.0, 0.2, 0.2, 1.0, 1.0, 0.2, 0.2, 1.0, 1.0, 0.2] ), + colorBase : new THREE.Vector3(0.30, 1.0, 0.6), // H,S,L + colorSpread : new THREE.Vector3(0.3, 0.0, 0.0), + + particlesPerSecond : 20, + particleDeathAge : 6.1, + emitterDeathAge : 600 + }, + + startunnel : + { + positionStyle : Type.CUBE, + positionBase : new THREE.Vector3( 0, 0, 0 ), + positionSpread : new THREE.Vector3( 10, 10, 10 ), + + velocityStyle : Type.CUBE, + velocityBase : new THREE.Vector3( 0, 100, 200 ), + velocitySpread : new THREE.Vector3( 40, 40, 80 ), + + angleBase : 0, + angleSpread : 720, + angleVelocityBase : 10, + angleVelocitySpread : 0, + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/spikey.png' ), + particleTexture : null, + + sizeBase : 4.0, + sizeSpread : 2.0, + colorBase : new THREE.Vector3(0.15, 1.0, 0.8), // H,S,L + opacityBase : 1, + blendStyle : THREE.AdditiveBlending, + + particlesPerSecond : 500, + particleDeathAge : 4.0, + emitterDeathAge : 60 + }, + + firework : + { + positionStyle : Type.SPHERE, + positionBase : new THREE.Vector3( 0, 100, 0 ), + positionRadius : 10, + + velocityStyle : Type.SPHERE, + speedBase : 90, + speedSpread : 10, + + accelerationBase : new THREE.Vector3( 0, -80, 0 ), + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/spark.png' ), + particleTexture : null, + + sizeTween : new Tween( [0.5, 0.7, 1.3], [5, 40, 1] ), + opacityTween : new Tween( [0.2, 0.7, 2.5], [0.75, 1, 0] ), + colorTween : new Tween( [0.4, 0.8, 1.0], [ new THREE.Vector3(0,1,1), new THREE.Vector3(0,1,0.6), new THREE.Vector3(0.8, 1, 0.6) ] ), + blendStyle : THREE.AdditiveBlending, + + particlesPerSecond : 3000, + particleDeathAge : 2.5, + emitterDeathAge : 0.2 + }, + + candle : + { + positionStyle : Type.SPHERE, + positionBase : new THREE.Vector3( 0, 50, 0 ), + positionRadius : 2, + + velocityStyle : Type.CUBE, + velocityBase : new THREE.Vector3(0,200,0), + velocitySpread : new THREE.Vector3(40,0,40), + + // particleTexture : THREE.ImageUtils.loadTexture( 'images/smokeparticle.png' ), + particleTexture : null, + + sizeTween : new Tween( [0, 0.3, 1.2], [20, 150, 1] ), + opacityTween : new Tween( [0.9, 1.5], [1, 0] ), + colorTween : new Tween( [0.5, 1.0], [ new THREE.Vector3(0.02, 1, 0.5), new THREE.Vector3(0.05, 1, 0) ] ), + blendStyle : THREE.AdditiveBlending, + + particlesPerSecond : 200, + particleDeathAge : 10, + emitterDeathAge : 600000 + } + +} \ No newline at end of file diff --git a/public/GV/thirdParty/Threejs-109/custom/dat.gui.module.js b/public/GV/thirdParty/Threejs-109/custom/dat.gui.module.js new file mode 100644 index 000000000..690f62ac7 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/custom/dat.gui.module.js @@ -0,0 +1,3590 @@ +/** + * Generated from 'examples/jsm/libs/dat.gui.module.js' + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = global || self, factory(global.THREE = global.THREE || {})); +}(this, function (exports) { 'use strict'; + + /** + * dat-gui JavaScript Controller Library + * http://code.google.com/p/dat-gui + * + * Copyright 2011 Data Arts Team, Google Creative Lab + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + + function ___$insertStyle( css ) { + + if ( ! css ) { + + return; + + } + if ( typeof window === 'undefined' ) { + + return; + + } + + var style = document.createElement( 'style' ); + + style.setAttribute( 'type', 'text/css' ); + style.innerHTML = css; + document.head.appendChild( style ); + + return css; + + } + + function colorToString( color, forceCSSHex ) { + + var colorFormat = color.__state.conversionName.toString(); + var r = Math.round( color.r ); + var g = Math.round( color.g ); + var b = Math.round( color.b ); + var a = color.a; + var h = Math.round( color.h ); + var s = color.s.toFixed( 1 ); + var v = color.v.toFixed( 1 ); + if ( forceCSSHex || colorFormat === 'THREE_CHAR_HEX' || colorFormat === 'SIX_CHAR_HEX' ) { + + var str = color.hex.toString( 16 ); + while ( str.length < 6 ) { + + str = '0' + str; + + } + return '#' + str; + + } else if ( colorFormat === 'CSS_RGB' ) { + + return 'rgb(' + r + ',' + g + ',' + b + ')'; + + } else if ( colorFormat === 'CSS_RGBA' ) { + + return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')'; + + } else if ( colorFormat === 'HEX' ) { + + return '0x' + color.hex.toString( 16 ); + + } else if ( colorFormat === 'RGB_ARRAY' ) { + + return '[' + r + ',' + g + ',' + b + ']'; + + } else if ( colorFormat === 'RGBA_ARRAY' ) { + + return '[' + r + ',' + g + ',' + b + ',' + a + ']'; + + } else if ( colorFormat === 'RGB_OBJ' ) { + + return '{r:' + r + ',g:' + g + ',b:' + b + '}'; + + } else if ( colorFormat === 'RGBA_OBJ' ) { + + return '{r:' + r + ',g:' + g + ',b:' + b + ',a:' + a + '}'; + + } else if ( colorFormat === 'HSV_OBJ' ) { + + return '{h:' + h + ',s:' + s + ',v:' + v + '}'; + + } else if ( colorFormat === 'HSVA_OBJ' ) { + + return '{h:' + h + ',s:' + s + ',v:' + v + ',a:' + a + '}'; + + } + return 'unknown format'; + + } + + var ARR_EACH = Array.prototype.forEach; + var ARR_SLICE = Array.prototype.slice; + var Common = { + BREAK: {}, + extend: function extend( target ) { + + this.each( ARR_SLICE.call( arguments, 1 ), function ( obj ) { + + var keys = this.isObject( obj ) ? Object.keys( obj ) : []; + keys.forEach( function ( key ) { + + if ( ! this.isUndefined( obj[ key ] ) ) { + + target[ key ] = obj[ key ]; + + } + + }.bind( this ) ); + + }, this ); + return target; + + }, + defaults: function defaults( target ) { + + this.each( ARR_SLICE.call( arguments, 1 ), function ( obj ) { + + var keys = this.isObject( obj ) ? Object.keys( obj ) : []; + keys.forEach( function ( key ) { + + if ( this.isUndefined( target[ key ] ) ) { + + target[ key ] = obj[ key ]; + + } + + }.bind( this ) ); + + }, this ); + return target; + + }, + compose: function compose() { + + var toCall = ARR_SLICE.call( arguments ); + return function () { + + var args = ARR_SLICE.call( arguments ); + for ( var i = toCall.length - 1; i >= 0; i -- ) { + + args = [ toCall[ i ].apply( this, args ) ]; + + } + return args[ 0 ]; + + }; + + }, + each: function each( obj, itr, scope ) { + + if ( ! obj ) { + + return; + + } + if ( ARR_EACH && obj.forEach && obj.forEach === ARR_EACH ) { + + obj.forEach( itr, scope ); + + } else if ( obj.length === obj.length + 0 ) { + + var key = void 0; + var l = void 0; + for ( key = 0, l = obj.length; key < l; key ++ ) { + + if ( key in obj && itr.call( scope, obj[ key ], key ) === this.BREAK ) { + + return; + + } + + } + + } else { + + for ( var _key in obj ) { + + if ( itr.call( scope, obj[ _key ], _key ) === this.BREAK ) { + + return; + + } + + } + + } + + }, + defer: function defer( fnc ) { + + setTimeout( fnc, 0 ); + + }, + debounce: function debounce( func, threshold, callImmediately ) { + + var timeout = void 0; + return function () { + + var obj = this; + var args = arguments; + function delayed() { + + timeout = null; + if ( ! callImmediately ) func.apply( obj, args ); + + } + var callNow = callImmediately || ! timeout; + clearTimeout( timeout ); + timeout = setTimeout( delayed, threshold ); + if ( callNow ) { + + func.apply( obj, args ); + + } + + }; + + }, + toArray: function toArray( obj ) { + + if ( obj.toArray ) return obj.toArray(); + return ARR_SLICE.call( obj ); + + }, + isUndefined: function isUndefined( obj ) { + + return obj === undefined; + + }, + isNull: function isNull( obj ) { + + return obj === null; + + }, + isNaN: function ( _isNaN ) { + + function isNaN() { + + return _isNaN.apply( this, arguments ); + + } + isNaN.toString = function () { + + return _isNaN.toString(); + + }; + return isNaN; + + }( function ( obj ) { + + return isNaN( obj ); + + } ), + isArray: Array.isArray || function ( obj ) { + + return obj.constructor === Array; + + }, + isObject: function isObject( obj ) { + + return obj === Object( obj ); + + }, + isNumber: function isNumber( obj ) { + + return obj === obj + 0; + + }, + isString: function isString( obj ) { + + return obj === obj + ''; + + }, + isBoolean: function isBoolean( obj ) { + + return obj === false || obj === true; + + }, + isFunction: function isFunction( obj ) { + + return Object.prototype.toString.call( obj ) === '[object Function]'; + + } + }; + + var INTERPRETATIONS = [ + { + litmus: Common.isString, + conversions: { + THREE_CHAR_HEX: { + read: function read( original ) { + + var test = original.match( /^#([A-F0-9])([A-F0-9])([A-F0-9])$/i ); + if ( test === null ) { + + return false; + + } + return { + space: 'HEX', + hex: parseInt( '0x' + test[ 1 ].toString() + test[ 1 ].toString() + test[ 2 ].toString() + test[ 2 ].toString() + test[ 3 ].toString() + test[ 3 ].toString(), 0 ) + }; + + }, + write: colorToString + }, + SIX_CHAR_HEX: { + read: function read( original ) { + + var test = original.match( /^#([A-F0-9]{6})$/i ); + if ( test === null ) { + + return false; + + } + return { + space: 'HEX', + hex: parseInt( '0x' + test[ 1 ].toString(), 0 ) + }; + + }, + write: colorToString + }, + CSS_RGB: { + read: function read( original ) { + + var test = original.match( /^rgb\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/ ); + if ( test === null ) { + + return false; + + } + return { + space: 'RGB', + r: parseFloat( test[ 1 ] ), + g: parseFloat( test[ 2 ] ), + b: parseFloat( test[ 3 ] ) + }; + + }, + write: colorToString + }, + CSS_RGBA: { + read: function read( original ) { + + var test = original.match( /^rgba\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/ ); + if ( test === null ) { + + return false; + + } + return { + space: 'RGB', + r: parseFloat( test[ 1 ] ), + g: parseFloat( test[ 2 ] ), + b: parseFloat( test[ 3 ] ), + a: parseFloat( test[ 4 ] ) + }; + + }, + write: colorToString + } + } + }, + { + litmus: Common.isNumber, + conversions: { + HEX: { + read: function read( original ) { + + return { + space: 'HEX', + hex: original, + conversionName: 'HEX' + }; + + }, + write: function write( color ) { + + return color.hex; + + } + } + } + }, + { + litmus: Common.isArray, + conversions: { + RGB_ARRAY: { + read: function read( original ) { + + if ( original.length !== 3 ) { + + return false; + + } + return { + space: 'RGB', + r: original[ 0 ], + g: original[ 1 ], + b: original[ 2 ] + }; + + }, + write: function write( color ) { + + return [ color.r, color.g, color.b ]; + + } + }, + RGBA_ARRAY: { + read: function read( original ) { + + if ( original.length !== 4 ) return false; + return { + space: 'RGB', + r: original[ 0 ], + g: original[ 1 ], + b: original[ 2 ], + a: original[ 3 ] + }; + + }, + write: function write( color ) { + + return [ color.r, color.g, color.b, color.a ]; + + } + } + } + }, + { + litmus: Common.isObject, + conversions: { + RGBA_OBJ: { + read: function read( original ) { + + if ( Common.isNumber( original.r ) && Common.isNumber( original.g ) && Common.isNumber( original.b ) && Common.isNumber( original.a ) ) { + + return { + space: 'RGB', + r: original.r, + g: original.g, + b: original.b, + a: original.a + }; + + } + return false; + + }, + write: function write( color ) { + + return { + r: color.r, + g: color.g, + b: color.b, + a: color.a + }; + + } + }, + RGB_OBJ: { + read: function read( original ) { + + if ( Common.isNumber( original.r ) && Common.isNumber( original.g ) && Common.isNumber( original.b ) ) { + + return { + space: 'RGB', + r: original.r, + g: original.g, + b: original.b + }; + + } + return false; + + }, + write: function write( color ) { + + return { + r: color.r, + g: color.g, + b: color.b + }; + + } + }, + HSVA_OBJ: { + read: function read( original ) { + + if ( Common.isNumber( original.h ) && Common.isNumber( original.s ) && Common.isNumber( original.v ) && Common.isNumber( original.a ) ) { + + return { + space: 'HSV', + h: original.h, + s: original.s, + v: original.v, + a: original.a + }; + + } + return false; + + }, + write: function write( color ) { + + return { + h: color.h, + s: color.s, + v: color.v, + a: color.a + }; + + } + }, + HSV_OBJ: { + read: function read( original ) { + + if ( Common.isNumber( original.h ) && Common.isNumber( original.s ) && Common.isNumber( original.v ) ) { + + return { + space: 'HSV', + h: original.h, + s: original.s, + v: original.v + }; + + } + return false; + + }, + write: function write( color ) { + + return { + h: color.h, + s: color.s, + v: color.v + }; + + } + } + } + } ]; + var result = void 0; + var toReturn = void 0; + var interpret = function interpret() { + + toReturn = false; + var original = arguments.length > 1 ? Common.toArray( arguments ) : arguments[ 0 ]; + Common.each( INTERPRETATIONS, function ( family ) { + + if ( family.litmus( original ) ) { + + Common.each( family.conversions, function ( conversion, conversionName ) { + + result = conversion.read( original ); + if ( toReturn === false && result !== false ) { + + toReturn = result; + result.conversionName = conversionName; + result.conversion = conversion; + return Common.BREAK; + + } + + } ); + return Common.BREAK; + + } + + } ); + return toReturn; + + }; + + var tmpComponent = void 0; + var ColorMath = { + hsv_to_rgb: function hsv_to_rgb( h, s, v ) { + + var hi = Math.floor( h / 60 ) % 6; + var f = h / 60 - Math.floor( h / 60 ); + var p = v * ( 1.0 - s ); + var q = v * ( 1.0 - f * s ); + var t = v * ( 1.0 - ( 1.0 - f ) * s ); + var c = [[ v, t, p ], [ q, v, p ], [ p, v, t ], [ p, q, v ], [ t, p, v ], [ v, p, q ]][ hi ]; + return { + r: c[ 0 ] * 255, + g: c[ 1 ] * 255, + b: c[ 2 ] * 255 + }; + + }, + rgb_to_hsv: function rgb_to_hsv( r, g, b ) { + + var min = Math.min( r, g, b ); + var max = Math.max( r, g, b ); + var delta = max - min; + var h = void 0; + var s = void 0; + if ( max !== 0 ) { + + s = delta / max; + + } else { + + return { + h: NaN, + s: 0, + v: 0 + }; + + } + if ( r === max ) { + + h = ( g - b ) / delta; + + } else if ( g === max ) { + + h = 2 + ( b - r ) / delta; + + } else { + + h = 4 + ( r - g ) / delta; + + } + h /= 6; + if ( h < 0 ) { + + h += 1; + + } + return { + h: h * 360, + s: s, + v: max / 255 + }; + + }, + rgb_to_hex: function rgb_to_hex( r, g, b ) { + + var hex = this.hex_with_component( 0, 2, r ); + hex = this.hex_with_component( hex, 1, g ); + hex = this.hex_with_component( hex, 0, b ); + return hex; + + }, + component_from_hex: function component_from_hex( hex, componentIndex ) { + + return hex >> componentIndex * 8 & 0xFF; + + }, + hex_with_component: function hex_with_component( hex, componentIndex, value ) { + + return value << ( tmpComponent = componentIndex * 8 ) | hex & ~ ( 0xFF << tmpComponent ); + + } + }; + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function ( obj ) { + + return typeof obj; + + } : function ( obj ) { + + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + + }; + + + + + + + + + + + + var classCallCheck = function ( instance, Constructor ) { + + if ( ! ( instance instanceof Constructor ) ) { + + throw new TypeError( "Cannot call a class as a function" ); + + } + + }; + + var createClass = function () { + + function defineProperties( target, props ) { + + for ( var i = 0; i < props.length; i ++ ) { + + var descriptor = props[ i ]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ( "value" in descriptor ) descriptor.writable = true; + Object.defineProperty( target, descriptor.key, descriptor ); + + } + + } + + return function ( Constructor, protoProps, staticProps ) { + + if ( protoProps ) defineProperties( Constructor.prototype, protoProps ); + if ( staticProps ) defineProperties( Constructor, staticProps ); + return Constructor; + + }; + + }(); + + + + + + + + var get = function get( object, property, receiver ) { + + if ( object === null ) object = Function.prototype; + var desc = Object.getOwnPropertyDescriptor( object, property ); + + if ( desc === undefined ) { + + var parent = Object.getPrototypeOf( object ); + + if ( parent === null ) { + + return undefined; + + } else { + + return get( parent, property, receiver ); + + } + + } else if ( "value" in desc ) { + + return desc.value; + + } else { + + var getter = desc.get; + + if ( getter === undefined ) { + + return undefined; + + } + + return getter.call( receiver ); + + } + + }; + + var inherits = function ( subClass, superClass ) { + + if ( typeof superClass !== "function" && superClass !== null ) { + + throw new TypeError( "Super expression must either be null or a function, not " + typeof superClass ); + + } + + subClass.prototype = Object.create( superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + } ); + if ( superClass ) Object.setPrototypeOf ? Object.setPrototypeOf( subClass, superClass ) : subClass.__proto__ = superClass; + + }; + + + + + + + + + + + + var possibleConstructorReturn = function ( self, call ) { + + if ( ! self ) { + + throw new ReferenceError( "this hasn't been initialised - super() hasn't been called" ); + + } + + return call && ( typeof call === "object" || typeof call === "function" ) ? call : self; + + }; + + var Color = function () { + + function Color() { + + classCallCheck( this, Color ); + this.__state = interpret.apply( this, arguments ); + if ( this.__state === false ) { + + throw new Error( 'Failed to interpret color arguments' ); + + } + this.__state.a = this.__state.a || 1; + + } + createClass( Color, [ { + key: 'toString', + value: function toString() { + + return colorToString( this ); + + } + }, { + key: 'toHexString', + value: function toHexString() { + + return colorToString( this, true ); + + } + }, { + key: 'toOriginal', + value: function toOriginal() { + + return this.__state.conversion.write( this ); + + } + } ] ); + return Color; + + }(); + function defineRGBComponent( target, component, componentHexIndex ) { + + Object.defineProperty( target, component, { + get: function get$$1() { + + if ( this.__state.space === 'RGB' ) { + + return this.__state[ component ]; + + } + Color.recalculateRGB( this, component, componentHexIndex ); + return this.__state[ component ]; + + }, + set: function set$$1( v ) { + + if ( this.__state.space !== 'RGB' ) { + + Color.recalculateRGB( this, component, componentHexIndex ); + this.__state.space = 'RGB'; + + } + this.__state[ component ] = v; + + } + } ); + + } + function defineHSVComponent( target, component ) { + + Object.defineProperty( target, component, { + get: function get$$1() { + + if ( this.__state.space === 'HSV' ) { + + return this.__state[ component ]; + + } + Color.recalculateHSV( this ); + return this.__state[ component ]; + + }, + set: function set$$1( v ) { + + if ( this.__state.space !== 'HSV' ) { + + Color.recalculateHSV( this ); + this.__state.space = 'HSV'; + + } + this.__state[ component ] = v; + + } + } ); + + } + Color.recalculateRGB = function ( color, component, componentHexIndex ) { + + if ( color.__state.space === 'HEX' ) { + + color.__state[ component ] = ColorMath.component_from_hex( color.__state.hex, componentHexIndex ); + + } else if ( color.__state.space === 'HSV' ) { + + Common.extend( color.__state, ColorMath.hsv_to_rgb( color.__state.h, color.__state.s, color.__state.v ) ); + + } else { + + throw new Error( 'Corrupted color state' ); + + } + + }; + Color.recalculateHSV = function ( color ) { + + var result = ColorMath.rgb_to_hsv( color.r, color.g, color.b ); + Common.extend( color.__state, { + s: result.s, + v: result.v + } ); + if ( ! Common.isNaN( result.h ) ) { + + color.__state.h = result.h; + + } else if ( Common.isUndefined( color.__state.h ) ) { + + color.__state.h = 0; + + } + + }; + Color.COMPONENTS = [ 'r', 'g', 'b', 'h', 's', 'v', 'hex', 'a' ]; + defineRGBComponent( Color.prototype, 'r', 2 ); + defineRGBComponent( Color.prototype, 'g', 1 ); + defineRGBComponent( Color.prototype, 'b', 0 ); + defineHSVComponent( Color.prototype, 'h' ); + defineHSVComponent( Color.prototype, 's' ); + defineHSVComponent( Color.prototype, 'v' ); + Object.defineProperty( Color.prototype, 'a', { + get: function get$$1() { + + return this.__state.a; + + }, + set: function set$$1( v ) { + + this.__state.a = v; + + } + } ); + Object.defineProperty( Color.prototype, 'hex', { + get: function get$$1() { + + if ( ! this.__state.space !== 'HEX' ) { + + this.__state.hex = ColorMath.rgb_to_hex( this.r, this.g, this.b ); + + } + return this.__state.hex; + + }, + set: function set$$1( v ) { + + this.__state.space = 'HEX'; + this.__state.hex = v; + + } + } ); + + var Controller = function () { + + function Controller( object, property ) { + + classCallCheck( this, Controller ); + this.initialValue = object[ property ]; + this.domElement = document.createElement( 'div' ); + this.object = object; + this.property = property; + this.__onChange = undefined; + this.__onFinishChange = undefined; + + } + createClass( Controller, [ { + key: 'onChange', + value: function onChange( fnc ) { + + this.__onChange = fnc; + return this; + + } + }, { + key: 'onFinishChange', + value: function onFinishChange( fnc ) { + + this.__onFinishChange = fnc; + return this; + + } + }, { + key: 'setValue', + value: function setValue( newValue ) { + + this.object[ this.property ] = newValue; + if ( this.__onChange ) { + + this.__onChange.call( this, newValue ); + + } + this.updateDisplay(); + return this; + + } + }, { + key: 'getValue', + value: function getValue() { + + return this.object[ this.property ]; + + } + }, { + key: 'updateDisplay', + value: function updateDisplay() { + + return this; + + } + }, { + key: 'isModified', + value: function isModified() { + + return this.initialValue !== this.getValue(); + + } + } ] ); + return Controller; + + }(); + + var EVENT_MAP = { + HTMLEvents: [ 'change' ], + MouseEvents: [ 'click', 'mousemove', 'mousedown', 'mouseup', 'mouseover' ], + KeyboardEvents: [ 'keydown' ] + }; + var EVENT_MAP_INV = {}; + Common.each( EVENT_MAP, function ( v, k ) { + + Common.each( v, function ( e ) { + + EVENT_MAP_INV[ e ] = k; + + } ); + + } ); + var CSS_VALUE_PIXELS = /(\d+(\.\d+)?)px/; + function cssValueToPixels( val ) { + + if ( val === '0' || Common.isUndefined( val ) ) { + + return 0; + + } + var match = val.match( CSS_VALUE_PIXELS ); + if ( ! Common.isNull( match ) ) { + + return parseFloat( match[ 1 ] ); + + } + return 0; + + } + var dom = { + makeSelectable: function makeSelectable( elem, selectable ) { + + if ( elem === undefined || elem.style === undefined ) return; + elem.onselectstart = selectable ? function () { + + return false; + + } : function () {}; + elem.style.MozUserSelect = selectable ? 'auto' : 'none'; + elem.style.KhtmlUserSelect = selectable ? 'auto' : 'none'; + elem.unselectable = selectable ? 'on' : 'off'; + + }, + makeFullscreen: function makeFullscreen( elem, hor, vert ) { + + var vertical = vert; + var horizontal = hor; + if ( Common.isUndefined( horizontal ) ) { + + horizontal = true; + + } + if ( Common.isUndefined( vertical ) ) { + + vertical = true; + + } + elem.style.position = 'absolute'; + if ( horizontal ) { + + elem.style.left = 0; + elem.style.right = 0; + + } + if ( vertical ) { + + elem.style.top = 0; + elem.style.bottom = 0; + + } + + }, + fakeEvent: function fakeEvent( elem, eventType, pars, aux ) { + + var params = pars || {}; + var className = EVENT_MAP_INV[ eventType ]; + if ( ! className ) { + + throw new Error( 'Event type ' + eventType + ' not supported.' ); + + } + var evt = document.createEvent( className ); + switch ( className ) { + + case 'MouseEvents': + { + + var clientX = params.x || params.clientX || 0; + var clientY = params.y || params.clientY || 0; + evt.initMouseEvent( eventType, params.bubbles || false, params.cancelable || true, window, params.clickCount || 1, 0, + 0, + clientX, + clientY, + false, false, false, false, 0, null ); + break; + + } + case 'KeyboardEvents': + { + + var init = evt.initKeyboardEvent || evt.initKeyEvent; + Common.defaults( params, { + cancelable: true, + ctrlKey: false, + altKey: false, + shiftKey: false, + metaKey: false, + keyCode: undefined, + charCode: undefined + } ); + init( eventType, params.bubbles || false, params.cancelable, window, params.ctrlKey, params.altKey, params.shiftKey, params.metaKey, params.keyCode, params.charCode ); + break; + + } + default: + { + + evt.initEvent( eventType, params.bubbles || false, params.cancelable || true ); + break; + + } + + } + Common.defaults( evt, aux ); + elem.dispatchEvent( evt ); + + }, + bind: function bind( elem, event, func, newBool ) { + + var bool = newBool || false; + if ( elem.addEventListener ) { + + elem.addEventListener( event, func, bool ); + + } else if ( elem.attachEvent ) { + + elem.attachEvent( 'on' + event, func ); + + } + return dom; + + }, + unbind: function unbind( elem, event, func, newBool ) { + + var bool = newBool || false; + if ( elem.removeEventListener ) { + + elem.removeEventListener( event, func, bool ); + + } else if ( elem.detachEvent ) { + + elem.detachEvent( 'on' + event, func ); + + } + return dom; + + }, + addClass: function addClass( elem, className ) { + + if ( elem.className === undefined ) { + + elem.className = className; + + } else if ( elem.className !== className ) { + + var classes = elem.className.split( / +/ ); + if ( classes.indexOf( className ) === - 1 ) { + + classes.push( className ); + elem.className = classes.join( ' ' ).replace( /^\s+/, '' ).replace( /\s+$/, '' ); + + } + + } + return dom; + + }, + removeClass: function removeClass( elem, className ) { + + if ( className ) { + + if ( elem.className === className ) { + + elem.removeAttribute( 'class' ); + + } else { + + var classes = elem.className.split( / +/ ); + var index = classes.indexOf( className ); + if ( index !== - 1 ) { + + classes.splice( index, 1 ); + elem.className = classes.join( ' ' ); + + } + + } + + } else { + + elem.className = undefined; + + } + return dom; + + }, + hasClass: function hasClass( elem, className ) { + + return new RegExp( '(?:^|\\s+)' + className + '(?:\\s+|$)' ).test( elem.className ) || false; + + }, + getWidth: function getWidth( elem ) { + + var style = getComputedStyle( elem ); + return cssValueToPixels( style[ 'border-left-width' ] ) + cssValueToPixels( style[ 'border-right-width' ] ) + cssValueToPixels( style[ 'padding-left' ] ) + cssValueToPixels( style[ 'padding-right' ] ) + cssValueToPixels( style.width ); + + }, + getHeight: function getHeight( elem ) { + + var style = getComputedStyle( elem ); + return cssValueToPixels( style[ 'border-top-width' ] ) + cssValueToPixels( style[ 'border-bottom-width' ] ) + cssValueToPixels( style[ 'padding-top' ] ) + cssValueToPixels( style[ 'padding-bottom' ] ) + cssValueToPixels( style.height ); + + }, + getOffset: function getOffset( el ) { + + var elem = el; + var offset = { left: 0, top: 0 }; + if ( elem.offsetParent ) { + + do { + + offset.left += elem.offsetLeft; + offset.top += elem.offsetTop; + elem = elem.offsetParent; + + } while ( elem ); + + } + return offset; + + }, + isActive: function isActive( elem ) { + + return elem === document.activeElement && ( elem.type || elem.href ); + + } + }; + + var BooleanController = function ( _Controller ) { + + inherits( BooleanController, _Controller ); + function BooleanController( object, property ) { + + classCallCheck( this, BooleanController ); + var _this2 = possibleConstructorReturn( this, ( BooleanController.__proto__ || Object.getPrototypeOf( BooleanController ) ).call( this, object, property ) ); + var _this = _this2; + _this2.__prev = _this2.getValue(); + _this2.__checkbox = document.createElement( 'input' ); + _this2.__checkbox.setAttribute( 'type', 'checkbox' ); + function onChange() { + + _this.setValue( ! _this.__prev ); + + } + dom.bind( _this2.__checkbox, 'change', onChange, false ); + _this2.domElement.appendChild( _this2.__checkbox ); + _this2.updateDisplay(); + return _this2; + + } + createClass( BooleanController, [ { + key: 'setValue', + value: function setValue( v ) { + + var toReturn = get( BooleanController.prototype.__proto__ || Object.getPrototypeOf( BooleanController.prototype ), 'setValue', this ).call( this, v ); + if ( this.__onFinishChange ) { + + this.__onFinishChange.call( this, this.getValue() ); + + } + this.__prev = this.getValue(); + return toReturn; + + } + }, { + key: 'updateDisplay', + value: function updateDisplay() { + + if ( this.getValue() === true ) { + + this.__checkbox.setAttribute( 'checked', 'checked' ); + this.__checkbox.checked = true; + this.__prev = true; + + } else { + + this.__checkbox.checked = false; + this.__prev = false; + + } + return get( BooleanController.prototype.__proto__ || Object.getPrototypeOf( BooleanController.prototype ), 'updateDisplay', this ).call( this ); + + } + } ] ); + return BooleanController; + + }( Controller ); + + var OptionController = function ( _Controller ) { + + inherits( OptionController, _Controller ); + function OptionController( object, property, opts ) { + + classCallCheck( this, OptionController ); + var _this2 = possibleConstructorReturn( this, ( OptionController.__proto__ || Object.getPrototypeOf( OptionController ) ).call( this, object, property ) ); + var options = opts; + var _this = _this2; + _this2.__select = document.createElement( 'select' ); + if ( Common.isArray( options ) ) { + + var map = {}; + Common.each( options, function ( element ) { + + map[ element ] = element; + + } ); + options = map; + + } + Common.each( options, function ( value, key ) { + + var opt = document.createElement( 'option' ); + opt.innerHTML = key; + opt.setAttribute( 'value', value ); + _this.__select.appendChild( opt ); + + } ); + _this2.updateDisplay(); + dom.bind( _this2.__select, 'change', function () { + + var desiredValue = this.options[ this.selectedIndex ].value; + _this.setValue( desiredValue ); + + } ); + _this2.domElement.appendChild( _this2.__select ); + return _this2; + + } + createClass( OptionController, [ { + key: 'setValue', + value: function setValue( v ) { + + var toReturn = get( OptionController.prototype.__proto__ || Object.getPrototypeOf( OptionController.prototype ), 'setValue', this ).call( this, v ); + if ( this.__onFinishChange ) { + + this.__onFinishChange.call( this, this.getValue() ); + + } + return toReturn; + + } + }, { + key: 'updateDisplay', + value: function updateDisplay() { + + if ( dom.isActive( this.__select ) ) return this; + this.__select.value = this.getValue(); + return get( OptionController.prototype.__proto__ || Object.getPrototypeOf( OptionController.prototype ), 'updateDisplay', this ).call( this ); + + } + } ] ); + return OptionController; + + }( Controller ); + + var StringController = function ( _Controller ) { + + inherits( StringController, _Controller ); + function StringController( object, property ) { + + classCallCheck( this, StringController ); + var _this2 = possibleConstructorReturn( this, ( StringController.__proto__ || Object.getPrototypeOf( StringController ) ).call( this, object, property ) ); + var _this = _this2; + function onChange() { + + _this.setValue( _this.__input.value ); + + } + function onBlur() { + + if ( _this.__onFinishChange ) { + + _this.__onFinishChange.call( _this, _this.getValue() ); + + } + + } + _this2.__input = document.createElement( 'input' ); + _this2.__input.setAttribute( 'type', 'text' ); + dom.bind( _this2.__input, 'keyup', onChange ); + dom.bind( _this2.__input, 'change', onChange ); + dom.bind( _this2.__input, 'blur', onBlur ); + dom.bind( _this2.__input, 'keydown', function ( e ) { + + if ( e.keyCode === 13 ) { + + this.blur(); + + } + + } ); + _this2.updateDisplay(); + _this2.domElement.appendChild( _this2.__input ); + return _this2; + + } + createClass( StringController, [ { + key: 'updateDisplay', + value: function updateDisplay() { + + if ( ! dom.isActive( this.__input ) ) { + + this.__input.value = this.getValue(); + + } + return get( StringController.prototype.__proto__ || Object.getPrototypeOf( StringController.prototype ), 'updateDisplay', this ).call( this ); + + } + } ] ); + return StringController; + + }( Controller ); + + function numDecimals( x ) { + + var _x = x.toString(); + if ( _x.indexOf( '.' ) > - 1 ) { + + return _x.length - _x.indexOf( '.' ) - 1; + + } + return 0; + + } + var NumberController = function ( _Controller ) { + + inherits( NumberController, _Controller ); + function NumberController( object, property, params ) { + + classCallCheck( this, NumberController ); + var _this = possibleConstructorReturn( this, ( NumberController.__proto__ || Object.getPrototypeOf( NumberController ) ).call( this, object, property ) ); + var _params = params || {}; + _this.__min = _params.min; + _this.__max = _params.max; + _this.__step = _params.step; + if ( Common.isUndefined( _this.__step ) ) { + + if ( _this.initialValue === 0 ) { + + _this.__impliedStep = 1; + + } else { + + _this.__impliedStep = Math.pow( 10, Math.floor( Math.log( Math.abs( _this.initialValue ) ) / Math.LN10 ) ) / 10; + + } + + } else { + + _this.__impliedStep = _this.__step; + + } + _this.__precision = numDecimals( _this.__impliedStep ); + return _this; + + } + createClass( NumberController, [ { + key: 'setValue', + value: function setValue( v ) { + + var _v = v; + if ( this.__min !== undefined && _v < this.__min ) { + + _v = this.__min; + + } else if ( this.__max !== undefined && _v > this.__max ) { + + _v = this.__max; + + } + if ( this.__step !== undefined && _v % this.__step !== 0 ) { + + _v = Math.round( _v / this.__step ) * this.__step; + + } + return get( NumberController.prototype.__proto__ || Object.getPrototypeOf( NumberController.prototype ), 'setValue', this ).call( this, _v ); + + } + }, { + key: 'min', + value: function min( minValue ) { + + this.__min = minValue; + return this; + + } + }, { + key: 'max', + value: function max( maxValue ) { + + this.__max = maxValue; + return this; + + } + }, { + key: 'step', + value: function step( stepValue ) { + + this.__step = stepValue; + this.__impliedStep = stepValue; + this.__precision = numDecimals( stepValue ); + return this; + + } + } ] ); + return NumberController; + + }( Controller ); + + function roundToDecimal( value, decimals ) { + + var tenTo = Math.pow( 10, decimals ); + return Math.round( value * tenTo ) / tenTo; + + } + var NumberControllerBox = function ( _NumberController ) { + + inherits( NumberControllerBox, _NumberController ); + function NumberControllerBox( object, property, params ) { + + classCallCheck( this, NumberControllerBox ); + var _this2 = possibleConstructorReturn( this, ( NumberControllerBox.__proto__ || Object.getPrototypeOf( NumberControllerBox ) ).call( this, object, property, params ) ); + _this2.__truncationSuspended = false; + var _this = _this2; + var prevY = void 0; + function onChange() { + + var attempted = parseFloat( _this.__input.value ); + if ( ! Common.isNaN( attempted ) ) { + + _this.setValue( attempted ); + + } + + } + function onFinish() { + + if ( _this.__onFinishChange ) { + + _this.__onFinishChange.call( _this, _this.getValue() ); + + } + + } + function onBlur() { + + onFinish(); + + } + function onMouseDrag( e ) { + + var diff = prevY - e.clientY; + _this.setValue( _this.getValue() + diff * _this.__impliedStep ); + prevY = e.clientY; + + } + function onMouseUp() { + + dom.unbind( window, 'mousemove', onMouseDrag ); + dom.unbind( window, 'mouseup', onMouseUp ); + onFinish(); + + } + function onMouseDown( e ) { + + dom.bind( window, 'mousemove', onMouseDrag ); + dom.bind( window, 'mouseup', onMouseUp ); + prevY = e.clientY; + + } + _this2.__input = document.createElement( 'input' ); + _this2.__input.setAttribute( 'type', 'text' ); + dom.bind( _this2.__input, 'change', onChange ); + dom.bind( _this2.__input, 'blur', onBlur ); + dom.bind( _this2.__input, 'mousedown', onMouseDown ); + dom.bind( _this2.__input, 'keydown', function ( e ) { + + if ( e.keyCode === 13 ) { + + _this.__truncationSuspended = true; + this.blur(); + _this.__truncationSuspended = false; + onFinish(); + + } + + } ); + _this2.updateDisplay(); + _this2.domElement.appendChild( _this2.__input ); + return _this2; + + } + createClass( NumberControllerBox, [ { + key: 'updateDisplay', + value: function updateDisplay() { + + this.__input.value = this.__truncationSuspended ? this.getValue() : roundToDecimal( this.getValue(), this.__precision ); + return get( NumberControllerBox.prototype.__proto__ || Object.getPrototypeOf( NumberControllerBox.prototype ), 'updateDisplay', this ).call( this ); + + } + } ] ); + return NumberControllerBox; + + }( NumberController ); + + function map( v, i1, i2, o1, o2 ) { + + return o1 + ( o2 - o1 ) * ( ( v - i1 ) / ( i2 - i1 ) ); + + } + var NumberControllerSlider = function ( _NumberController ) { + + inherits( NumberControllerSlider, _NumberController ); + function NumberControllerSlider( object, property, min, max, step ) { + + classCallCheck( this, NumberControllerSlider ); + var _this2 = possibleConstructorReturn( this, ( NumberControllerSlider.__proto__ || Object.getPrototypeOf( NumberControllerSlider ) ).call( this, object, property, { min: min, max: max, step: step } ) ); + var _this = _this2; + _this2.__background = document.createElement( 'div' ); + _this2.__foreground = document.createElement( 'div' ); + dom.bind( _this2.__background, 'mousedown', onMouseDown ); + dom.bind( _this2.__background, 'touchstart', onTouchStart ); + dom.addClass( _this2.__background, 'slider' ); + dom.addClass( _this2.__foreground, 'slider-fg' ); + function onMouseDown( e ) { + + document.activeElement.blur(); + dom.bind( window, 'mousemove', onMouseDrag ); + dom.bind( window, 'mouseup', onMouseUp ); + onMouseDrag( e ); + + } + function onMouseDrag( e ) { + + e.preventDefault(); + var bgRect = _this.__background.getBoundingClientRect(); + _this.setValue( map( e.clientX, bgRect.left, bgRect.right, _this.__min, _this.__max ) ); + return false; + + } + function onMouseUp() { + + dom.unbind( window, 'mousemove', onMouseDrag ); + dom.unbind( window, 'mouseup', onMouseUp ); + if ( _this.__onFinishChange ) { + + _this.__onFinishChange.call( _this, _this.getValue() ); + + } + + } + function onTouchStart( e ) { + + if ( e.touches.length !== 1 ) { + + return; + + } + dom.bind( window, 'touchmove', onTouchMove ); + dom.bind( window, 'touchend', onTouchEnd ); + onTouchMove( e ); + + } + function onTouchMove( e ) { + + var clientX = e.touches[ 0 ].clientX; + var bgRect = _this.__background.getBoundingClientRect(); + _this.setValue( map( clientX, bgRect.left, bgRect.right, _this.__min, _this.__max ) ); + + } + function onTouchEnd() { + + dom.unbind( window, 'touchmove', onTouchMove ); + dom.unbind( window, 'touchend', onTouchEnd ); + if ( _this.__onFinishChange ) { + + _this.__onFinishChange.call( _this, _this.getValue() ); + + } + + } + _this2.updateDisplay(); + _this2.__background.appendChild( _this2.__foreground ); + _this2.domElement.appendChild( _this2.__background ); + return _this2; + + } + createClass( NumberControllerSlider, [ { + key: 'updateDisplay', + value: function updateDisplay() { + + var pct = ( this.getValue() - this.__min ) / ( this.__max - this.__min ); + this.__foreground.style.width = pct * 100 + '%'; + return get( NumberControllerSlider.prototype.__proto__ || Object.getPrototypeOf( NumberControllerSlider.prototype ), 'updateDisplay', this ).call( this ); + + } + } ] ); + return NumberControllerSlider; + + }( NumberController ); + + var FunctionController = function ( _Controller ) { + + inherits( FunctionController, _Controller ); + function FunctionController( object, property, text ) { + + classCallCheck( this, FunctionController ); + var _this2 = possibleConstructorReturn( this, ( FunctionController.__proto__ || Object.getPrototypeOf( FunctionController ) ).call( this, object, property ) ); + var _this = _this2; + _this2.__button = document.createElement( 'div' ); + _this2.__button.innerHTML = text === undefined ? 'Fire' : text; + dom.bind( _this2.__button, 'click', function ( e ) { + + e.preventDefault(); + _this.fire(); + return false; + + } ); + dom.addClass( _this2.__button, 'button' ); + _this2.domElement.appendChild( _this2.__button ); + return _this2; + + } + createClass( FunctionController, [ { + key: 'fire', + value: function fire() { + + if ( this.__onChange ) { + + this.__onChange.call( this ); + + } + this.getValue().call( this.object ); + if ( this.__onFinishChange ) { + + this.__onFinishChange.call( this, this.getValue() ); + + } + + } + } ] ); + return FunctionController; + + }( Controller ); + + var ColorController = function ( _Controller ) { + + inherits( ColorController, _Controller ); + function ColorController( object, property ) { + + classCallCheck( this, ColorController ); + var _this2 = possibleConstructorReturn( this, ( ColorController.__proto__ || Object.getPrototypeOf( ColorController ) ).call( this, object, property ) ); + _this2.__color = new Color( _this2.getValue() ); + _this2.__temp = new Color( 0 ); + var _this = _this2; + _this2.domElement = document.createElement( 'div' ); + dom.makeSelectable( _this2.domElement, false ); + _this2.__selector = document.createElement( 'div' ); + _this2.__selector.className = 'selector'; + _this2.__saturation_field = document.createElement( 'div' ); + _this2.__saturation_field.className = 'saturation-field'; + _this2.__field_knob = document.createElement( 'div' ); + _this2.__field_knob.className = 'field-knob'; + _this2.__field_knob_border = '2px solid '; + _this2.__hue_knob = document.createElement( 'div' ); + _this2.__hue_knob.className = 'hue-knob'; + _this2.__hue_field = document.createElement( 'div' ); + _this2.__hue_field.className = 'hue-field'; + _this2.__input = document.createElement( 'input' ); + _this2.__input.type = 'text'; + _this2.__input_textShadow = '0 1px 1px '; + dom.bind( _this2.__input, 'keydown', function ( e ) { + + if ( e.keyCode === 13 ) { + + onBlur.call( this ); + + } + + } ); + dom.bind( _this2.__input, 'blur', onBlur ); + dom.bind( _this2.__selector, 'mousedown', function () { + + dom.addClass( this, 'drag' ).bind( window, 'mouseup', function () { + + dom.removeClass( _this.__selector, 'drag' ); + + } ); + + } ); + dom.bind( _this2.__selector, 'touchstart', function () { + + dom.addClass( this, 'drag' ).bind( window, 'touchend', function () { + + dom.removeClass( _this.__selector, 'drag' ); + + } ); + + } ); + var valueField = document.createElement( 'div' ); + Common.extend( _this2.__selector.style, { + width: '122px', + height: '102px', + padding: '3px', + backgroundColor: '#222', + boxShadow: '0px 1px 3px rgba(0,0,0,0.3)' + } ); + Common.extend( _this2.__field_knob.style, { + position: 'absolute', + width: '12px', + height: '12px', + border: _this2.__field_knob_border + ( _this2.__color.v < 0.5 ? '#fff' : '#000' ), + boxShadow: '0px 1px 3px rgba(0,0,0,0.5)', + borderRadius: '12px', + zIndex: 1 + } ); + Common.extend( _this2.__hue_knob.style, { + position: 'absolute', + width: '15px', + height: '2px', + borderRight: '4px solid #fff', + zIndex: 1 + } ); + Common.extend( _this2.__saturation_field.style, { + width: '100px', + height: '100px', + border: '1px solid #555', + marginRight: '3px', + display: 'inline-block', + cursor: 'pointer' + } ); + Common.extend( valueField.style, { + width: '100%', + height: '100%', + background: 'none' + } ); + linearGradient( valueField, 'top', 'rgba(0,0,0,0)', '#000' ); + Common.extend( _this2.__hue_field.style, { + width: '15px', + height: '100px', + border: '1px solid #555', + cursor: 'ns-resize', + position: 'absolute', + top: '3px', + right: '3px' + } ); + hueGradient( _this2.__hue_field ); + Common.extend( _this2.__input.style, { + outline: 'none', + textAlign: 'center', + color: '#fff', + border: 0, + fontWeight: 'bold', + textShadow: _this2.__input_textShadow + 'rgba(0,0,0,0.7)' + } ); + dom.bind( _this2.__saturation_field, 'mousedown', fieldDown ); + dom.bind( _this2.__saturation_field, 'touchstart', fieldDown ); + dom.bind( _this2.__field_knob, 'mousedown', fieldDown ); + dom.bind( _this2.__field_knob, 'touchstart', fieldDown ); + dom.bind( _this2.__hue_field, 'mousedown', fieldDownH ); + dom.bind( _this2.__hue_field, 'touchstart', fieldDownH ); + function fieldDown( e ) { + + setSV( e ); + dom.bind( window, 'mousemove', setSV ); + dom.bind( window, 'touchmove', setSV ); + dom.bind( window, 'mouseup', fieldUpSV ); + dom.bind( window, 'touchend', fieldUpSV ); + + } + function fieldDownH( e ) { + + setH( e ); + dom.bind( window, 'mousemove', setH ); + dom.bind( window, 'touchmove', setH ); + dom.bind( window, 'mouseup', fieldUpH ); + dom.bind( window, 'touchend', fieldUpH ); + + } + function fieldUpSV() { + + dom.unbind( window, 'mousemove', setSV ); + dom.unbind( window, 'touchmove', setSV ); + dom.unbind( window, 'mouseup', fieldUpSV ); + dom.unbind( window, 'touchend', fieldUpSV ); + onFinish(); + + } + function fieldUpH() { + + dom.unbind( window, 'mousemove', setH ); + dom.unbind( window, 'touchmove', setH ); + dom.unbind( window, 'mouseup', fieldUpH ); + dom.unbind( window, 'touchend', fieldUpH ); + onFinish(); + + } + function onBlur() { + + var i = interpret( this.value ); + if ( i !== false ) { + + _this.__color.__state = i; + _this.setValue( _this.__color.toOriginal() ); + + } else { + + this.value = _this.__color.toString(); + + } + + } + function onFinish() { + + if ( _this.__onFinishChange ) { + + _this.__onFinishChange.call( _this, _this.__color.toOriginal() ); + + } + + } + _this2.__saturation_field.appendChild( valueField ); + _this2.__selector.appendChild( _this2.__field_knob ); + _this2.__selector.appendChild( _this2.__saturation_field ); + _this2.__selector.appendChild( _this2.__hue_field ); + _this2.__hue_field.appendChild( _this2.__hue_knob ); + _this2.domElement.appendChild( _this2.__input ); + _this2.domElement.appendChild( _this2.__selector ); + _this2.updateDisplay(); + function setSV( e ) { + + if ( e.type.indexOf( 'touch' ) === - 1 ) { + + e.preventDefault(); + + } + var fieldRect = _this.__saturation_field.getBoundingClientRect(); + var _ref = e.touches && e.touches[ 0 ] || e, + clientX = _ref.clientX, + clientY = _ref.clientY; + var s = ( clientX - fieldRect.left ) / ( fieldRect.right - fieldRect.left ); + var v = 1 - ( clientY - fieldRect.top ) / ( fieldRect.bottom - fieldRect.top ); + if ( v > 1 ) { + + v = 1; + + } else if ( v < 0 ) { + + v = 0; + + } + if ( s > 1 ) { + + s = 1; + + } else if ( s < 0 ) { + + s = 0; + + } + _this.__color.v = v; + _this.__color.s = s; + _this.setValue( _this.__color.toOriginal() ); + return false; + + } + function setH( e ) { + + if ( e.type.indexOf( 'touch' ) === - 1 ) { + + e.preventDefault(); + + } + var fieldRect = _this.__hue_field.getBoundingClientRect(); + var _ref2 = e.touches && e.touches[ 0 ] || e, + clientY = _ref2.clientY; + var h = 1 - ( clientY - fieldRect.top ) / ( fieldRect.bottom - fieldRect.top ); + if ( h > 1 ) { + + h = 1; + + } else if ( h < 0 ) { + + h = 0; + + } + _this.__color.h = h * 360; + _this.setValue( _this.__color.toOriginal() ); + return false; + + } + return _this2; + + } + createClass( ColorController, [ { + key: 'updateDisplay', + value: function updateDisplay() { + + var i = interpret( this.getValue() ); + if ( i !== false ) { + + var mismatch = false; + Common.each( Color.COMPONENTS, function ( component ) { + + if ( ! Common.isUndefined( i[ component ] ) && ! Common.isUndefined( this.__color.__state[ component ] ) && i[ component ] !== this.__color.__state[ component ] ) { + + mismatch = true; + return {}; + + } + + }, this ); + if ( mismatch ) { + + Common.extend( this.__color.__state, i ); + + } + + } + Common.extend( this.__temp.__state, this.__color.__state ); + this.__temp.a = 1; + var flip = this.__color.v < 0.5 || this.__color.s > 0.5 ? 255 : 0; + var _flip = 255 - flip; + Common.extend( this.__field_knob.style, { + marginLeft: 100 * this.__color.s - 7 + 'px', + marginTop: 100 * ( 1 - this.__color.v ) - 7 + 'px', + backgroundColor: this.__temp.toHexString(), + border: this.__field_knob_border + 'rgb(' + flip + ',' + flip + ',' + flip + ')' + } ); + this.__hue_knob.style.marginTop = ( 1 - this.__color.h / 360 ) * 100 + 'px'; + this.__temp.s = 1; + this.__temp.v = 1; + linearGradient( this.__saturation_field, 'left', '#fff', this.__temp.toHexString() ); + this.__input.value = this.__color.toString(); + Common.extend( this.__input.style, { + backgroundColor: this.__color.toHexString(), + color: 'rgb(' + flip + ',' + flip + ',' + flip + ')', + textShadow: this.__input_textShadow + 'rgba(' + _flip + ',' + _flip + ',' + _flip + ',.7)' + } ); + + } + } ] ); + return ColorController; + + }( Controller ); + var vendors = [ '-moz-', '-o-', '-webkit-', '-ms-', '' ]; + function linearGradient( elem, x, a, b ) { + + elem.style.background = ''; + Common.each( vendors, function ( vendor ) { + + elem.style.cssText += 'background: ' + vendor + 'linear-gradient(' + x + ', ' + a + ' 0%, ' + b + ' 100%); '; + + } ); + + } + function hueGradient( elem ) { + + elem.style.background = ''; + elem.style.cssText += 'background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);'; + elem.style.cssText += 'background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);'; + elem.style.cssText += 'background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);'; + elem.style.cssText += 'background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);'; + elem.style.cssText += 'background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);'; + + } + + var css = { + load: function load( url, indoc ) { + + var doc = indoc || document; + var link = doc.createElement( 'link' ); + link.type = 'text/css'; + link.rel = 'stylesheet'; + link.href = url; + doc.getElementsByTagName( 'head' )[ 0 ].appendChild( link ); + + }, + inject: function inject( cssContent, indoc ) { + + var doc = indoc || document; + var injected = document.createElement( 'style' ); + injected.type = 'text/css'; + injected.innerHTML = cssContent; + var head = doc.getElementsByTagName( 'head' )[ 0 ]; + try { + + head.appendChild( injected ); + + } catch ( e ) { + } + + } + }; + + var saveDialogContents = "<div id=\"dg-save\" class=\"dg dialogue\">\n\n Here's the new load parameter for your <code>GUI</code>'s constructor:\n\n <textarea id=\"dg-new-constructor\"></textarea>\n\n <div id=\"dg-save-locally\">\n\n <input id=\"dg-local-storage\" type=\"checkbox\"/> Automatically save\n values to <code>localStorage</code> on exit.\n\n <div id=\"dg-local-explain\">The values saved to <code>localStorage</code> will\n override those passed to <code>dat.GUI</code>'s constructor. This makes it\n easier to work incrementally, but <code>localStorage</code> is fragile,\n and your friends may not see the same values you do.\n\n </div>\n\n </div>\n\n</div>"; + + var ControllerFactory = function ControllerFactory( object, property ) { + + var initialValue = object[ property ]; + if ( Common.isArray( arguments[ 2 ] ) || Common.isObject( arguments[ 2 ] ) ) { + + return new OptionController( object, property, arguments[ 2 ] ); + + } + if ( Common.isNumber( initialValue ) ) { + + if ( Common.isNumber( arguments[ 2 ] ) && Common.isNumber( arguments[ 3 ] ) ) { + + if ( Common.isNumber( arguments[ 4 ] ) ) { + + return new NumberControllerSlider( object, property, arguments[ 2 ], arguments[ 3 ], arguments[ 4 ] ); + + } + return new NumberControllerSlider( object, property, arguments[ 2 ], arguments[ 3 ] ); + + } + if ( Common.isNumber( arguments[ 4 ] ) ) { + + return new NumberControllerBox( object, property, { min: arguments[ 2 ], max: arguments[ 3 ], step: arguments[ 4 ] } ); + + } + return new NumberControllerBox( object, property, { min: arguments[ 2 ], max: arguments[ 3 ] } ); + + } + if ( Common.isString( initialValue ) ) { + + return new StringController( object, property ); + + } + if ( Common.isFunction( initialValue ) ) { + + return new FunctionController( object, property, '' ); + + } + if ( Common.isBoolean( initialValue ) ) { + + return new BooleanController( object, property ); + + } + return null; + + }; + + function requestAnimationFrame( callback ) { + + setTimeout( callback, 1000 / 60 ); + + } + var requestAnimationFrame$1 = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || requestAnimationFrame; + + var CenteredDiv = function () { + + function CenteredDiv() { + + classCallCheck( this, CenteredDiv ); + this.backgroundElement = document.createElement( 'div' ); + Common.extend( this.backgroundElement.style, { + backgroundColor: 'rgba(0,0,0,0.8)', + top: 0, + left: 0, + display: 'none', + zIndex: '1000', + opacity: 0, + WebkitTransition: 'opacity 0.2s linear', + transition: 'opacity 0.2s linear' + } ); + dom.makeFullscreen( this.backgroundElement ); + this.backgroundElement.style.position = 'fixed'; + this.domElement = document.createElement( 'div' ); + Common.extend( this.domElement.style, { + position: 'fixed', + display: 'none', + zIndex: '1001', + opacity: 0, + WebkitTransition: '-webkit-transform 0.2s ease-out, opacity 0.2s linear', + transition: 'transform 0.2s ease-out, opacity 0.2s linear' + } ); + document.body.appendChild( this.backgroundElement ); + document.body.appendChild( this.domElement ); + var _this = this; + dom.bind( this.backgroundElement, 'click', function () { + + _this.hide(); + + } ); + + } + createClass( CenteredDiv, [ { + key: 'show', + value: function show() { + + var _this = this; + this.backgroundElement.style.display = 'block'; + this.domElement.style.display = 'block'; + this.domElement.style.opacity = 0; + this.domElement.style.webkitTransform = 'scale(1.1)'; + this.layout(); + Common.defer( function () { + + _this.backgroundElement.style.opacity = 1; + _this.domElement.style.opacity = 1; + _this.domElement.style.webkitTransform = 'scale(1)'; + + } ); + + } + }, { + key: 'hide', + value: function hide() { + + var _this = this; + var hide = function hide() { + + _this.domElement.style.display = 'none'; + _this.backgroundElement.style.display = 'none'; + dom.unbind( _this.domElement, 'webkitTransitionEnd', hide ); + dom.unbind( _this.domElement, 'transitionend', hide ); + dom.unbind( _this.domElement, 'oTransitionEnd', hide ); + + }; + dom.bind( this.domElement, 'webkitTransitionEnd', hide ); + dom.bind( this.domElement, 'transitionend', hide ); + dom.bind( this.domElement, 'oTransitionEnd', hide ); + this.backgroundElement.style.opacity = 0; + this.domElement.style.opacity = 0; + this.domElement.style.webkitTransform = 'scale(1.1)'; + + } + }, { + key: 'layout', + value: function layout() { + + this.domElement.style.left = window.innerWidth / 2 - dom.getWidth( this.domElement ) / 2 + 'px'; + this.domElement.style.top = window.innerHeight / 2 - dom.getHeight( this.domElement ) / 2 + 'px'; + + } + } ] ); + return CenteredDiv; + + }(); + + var styleSheet = ___$insertStyle( ".dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1 !important}.dg.main:hover .close-button,.dg.main .close-button.drag{opacity:1}.dg.main .close-button{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear;border:0;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button.close-top{position:relative}.dg.main .close-button.close-bottom{position:absolute}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-y:visible}.dg.a.has-save>ul.close-top{margin-top:0}.dg.a.has-save>ul.close-bottom{margin-top:27px}.dg.a.has-save>ul.closed{margin-top:0}.dg.a .save-row{top:0;z-index:1002}.dg.a .save-row.close-top{position:relative}.dg.a .save-row.close-bottom{position:fixed}.dg li{-webkit-transition:height .1s ease-out;-o-transition:height .1s ease-out;-moz-transition:height .1s ease-out;transition:height .1s ease-out;-webkit-transition:overflow .1s linear;-o-transition:overflow .1s linear;-moz-transition:overflow .1s linear;transition:overflow .1s linear}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid rgba(0,0,0,0)}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li>*{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px;overflow:hidden}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .c{float:left;width:60%;position:relative}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:7px}.dg .c select{margin-top:5px}.dg .cr.function,.dg .cr.function .property-name,.dg .cr.function *,.dg .cr.boolean,.dg .cr.boolean *{cursor:pointer}.dg .cr.color{overflow:visible}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0px 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco, monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px 'Lucida Grande', sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px 4px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.color{border-left:3px solid}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2FA1D6}.dg .cr.number input[type=text]{color:#2FA1D6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.function:hover,.dg .cr.boolean:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2FA1D6;max-width:100%}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}\n" ); + + css.inject( styleSheet ); + var CSS_NAMESPACE = 'dg'; + var HIDE_KEY_CODE = 72; + var CLOSE_BUTTON_HEIGHT = 20; + var DEFAULT_DEFAULT_PRESET_NAME = 'Default'; + var SUPPORTS_LOCAL_STORAGE = function () { + + try { + + return !! window.localStorage; + + } catch ( e ) { + + return false; + + } + + }(); + var SAVE_DIALOGUE = void 0; + var autoPlaceVirgin = true; + var autoPlaceContainer = void 0; + var hide = false; + var hideableGuis = []; + var GUI = function GUI( pars ) { + + var _this = this; + var params = pars || {}; + this.domElement = document.createElement( 'div' ); + this.__ul = document.createElement( 'ul' ); + this.domElement.appendChild( this.__ul ); + dom.addClass( this.domElement, CSS_NAMESPACE ); + this.__folders = {}; + this.__controllers = []; + this.__rememberedObjects = []; + this.__rememberedObjectIndecesToControllers = []; + this.__listening = []; + params = Common.defaults( params, { + closeOnTop: false, + autoPlace: true, + width: GUI.DEFAULT_WIDTH + } ); + params = Common.defaults( params, { + resizable: params.autoPlace, + hideable: params.autoPlace + } ); + if ( ! Common.isUndefined( params.load ) ) { + + if ( params.preset ) { + + params.load.preset = params.preset; + + } + + } else { + + params.load = { preset: DEFAULT_DEFAULT_PRESET_NAME }; + + } + if ( Common.isUndefined( params.parent ) && params.hideable ) { + + hideableGuis.push( this ); + + } + params.resizable = Common.isUndefined( params.parent ) && params.resizable; + if ( params.autoPlace && Common.isUndefined( params.scrollable ) ) { + + params.scrollable = true; + + } + var useLocalStorage = SUPPORTS_LOCAL_STORAGE && localStorage.getItem( getLocalStorageHash( this, 'isLocal' ) ) === 'true'; + var saveToLocalStorage = void 0; + var titleRow = void 0; + Object.defineProperties( this, + { + parent: { + get: function get$$1() { + + return params.parent; + + } + }, + scrollable: { + get: function get$$1() { + + return params.scrollable; + + } + }, + autoPlace: { + get: function get$$1() { + + return params.autoPlace; + + } + }, + closeOnTop: { + get: function get$$1() { + + return params.closeOnTop; + + } + }, + preset: { + get: function get$$1() { + + if ( _this.parent ) { + + return _this.getRoot().preset; + + } + return params.load.preset; + + }, + set: function set$$1( v ) { + + if ( _this.parent ) { + + _this.getRoot().preset = v; + + } else { + + params.load.preset = v; + + } + setPresetSelectIndex( this ); + _this.revert(); + + } + }, + width: { + get: function get$$1() { + + return params.width; + + }, + set: function set$$1( v ) { + + params.width = v; + setWidth( _this, v ); + + } + }, + name: { + get: function get$$1() { + + return params.name; + + }, + set: function set$$1( v ) { + + params.name = v; + if ( titleRow ) { + + titleRow.innerHTML = params.name; + + } + + } + }, + closed: { + get: function get$$1() { + + return params.closed; + + }, + set: function set$$1( v ) { + + params.closed = v; + if ( params.closed ) { + + dom.addClass( _this.__ul, GUI.CLASS_CLOSED ); + + } else { + + dom.removeClass( _this.__ul, GUI.CLASS_CLOSED ); + + } + this.onResize(); + if ( _this.__closeButton ) { + + _this.__closeButton.innerHTML = v ? GUI.TEXT_OPEN : GUI.TEXT_CLOSED; + + } + + } + }, + load: { + get: function get$$1() { + + return params.load; + + } + }, + useLocalStorage: { + get: function get$$1() { + + return useLocalStorage; + + }, + set: function set$$1( bool ) { + + if ( SUPPORTS_LOCAL_STORAGE ) { + + useLocalStorage = bool; + if ( bool ) { + + dom.bind( window, 'unload', saveToLocalStorage ); + + } else { + + dom.unbind( window, 'unload', saveToLocalStorage ); + + } + localStorage.setItem( getLocalStorageHash( _this, 'isLocal' ), bool ); + + } + + } + } + } ); + if ( Common.isUndefined( params.parent ) ) { + + this.closed = params.closed || false; + dom.addClass( this.domElement, GUI.CLASS_MAIN ); + dom.makeSelectable( this.domElement, false ); + if ( SUPPORTS_LOCAL_STORAGE ) { + + if ( useLocalStorage ) { + + _this.useLocalStorage = true; + var savedGui = localStorage.getItem( getLocalStorageHash( this, 'gui' ) ); + if ( savedGui ) { + + params.load = JSON.parse( savedGui ); + + } + + } + + } + this.__closeButton = document.createElement( 'div' ); + this.__closeButton.innerHTML = GUI.TEXT_CLOSED; + dom.addClass( this.__closeButton, GUI.CLASS_CLOSE_BUTTON ); + if ( params.closeOnTop ) { + + dom.addClass( this.__closeButton, GUI.CLASS_CLOSE_TOP ); + this.domElement.insertBefore( this.__closeButton, this.domElement.childNodes[ 0 ] ); + + } else { + + dom.addClass( this.__closeButton, GUI.CLASS_CLOSE_BOTTOM ); + this.domElement.appendChild( this.__closeButton ); + + } + dom.bind( this.__closeButton, 'click', function () { + + _this.closed = ! _this.closed; + + } ); + + } else { + + if ( params.closed === undefined ) { + + params.closed = true; + + } + var titleRowName = document.createTextNode( params.name ); + dom.addClass( titleRowName, 'controller-name' ); + titleRow = addRow( _this, titleRowName ); + var onClickTitle = function onClickTitle( e ) { + + e.preventDefault(); + _this.closed = ! _this.closed; + return false; + + }; + dom.addClass( this.__ul, GUI.CLASS_CLOSED ); + dom.addClass( titleRow, 'title' ); + dom.bind( titleRow, 'click', onClickTitle ); + if ( ! params.closed ) { + + this.closed = false; + + } + + } + if ( params.autoPlace ) { + + if ( Common.isUndefined( params.parent ) ) { + + if ( autoPlaceVirgin ) { + + autoPlaceContainer = document.createElement( 'div' ); + dom.addClass( autoPlaceContainer, CSS_NAMESPACE ); + dom.addClass( autoPlaceContainer, GUI.CLASS_AUTO_PLACE_CONTAINER ); + document.body.appendChild( autoPlaceContainer ); + autoPlaceVirgin = false; + + } + autoPlaceContainer.appendChild( this.domElement ); + dom.addClass( this.domElement, GUI.CLASS_AUTO_PLACE ); + + } + if ( ! this.parent ) { + + setWidth( _this, params.width ); + + } + + } + this.__resizeHandler = function () { + + _this.onResizeDebounced(); + + }; + dom.bind( window, 'resize', this.__resizeHandler ); + dom.bind( this.__ul, 'webkitTransitionEnd', this.__resizeHandler ); + dom.bind( this.__ul, 'transitionend', this.__resizeHandler ); + dom.bind( this.__ul, 'oTransitionEnd', this.__resizeHandler ); + this.onResize(); + if ( params.resizable ) { + + addResizeHandle( this ); + + } + saveToLocalStorage = function saveToLocalStorage() { + + if ( SUPPORTS_LOCAL_STORAGE && localStorage.getItem( getLocalStorageHash( _this, 'isLocal' ) ) === 'true' ) { + + localStorage.setItem( getLocalStorageHash( _this, 'gui' ), JSON.stringify( _this.getSaveObject() ) ); + + } + + }; + this.saveToLocalStorageIfPossible = saveToLocalStorage; + function resetWidth() { + + var root = _this.getRoot(); + root.width += 1; + Common.defer( function () { + + root.width -= 1; + + } ); + + } + if ( ! params.parent ) { + + resetWidth(); + + } + + }; + GUI.toggleHide = function () { + + hide = ! hide; + Common.each( hideableGuis, function ( gui ) { + + gui.domElement.style.display = hide ? 'none' : ''; + + } ); + + }; + GUI.CLASS_AUTO_PLACE = 'a'; + GUI.CLASS_AUTO_PLACE_CONTAINER = 'ac'; + GUI.CLASS_MAIN = 'main'; + GUI.CLASS_CONTROLLER_ROW = 'cr'; + GUI.CLASS_TOO_TALL = 'taller-than-window'; + GUI.CLASS_CLOSED = 'closed'; + GUI.CLASS_CLOSE_BUTTON = 'close-button'; + GUI.CLASS_CLOSE_TOP = 'close-top'; + GUI.CLASS_CLOSE_BOTTOM = 'close-bottom'; + GUI.CLASS_DRAG = 'drag'; + GUI.DEFAULT_WIDTH = 245; + GUI.TEXT_CLOSED = 'Close Controls'; + GUI.TEXT_OPEN = 'Open Controls'; + GUI._keydownHandler = function ( e ) { + + if ( document.activeElement.type !== 'text' && ( e.which === HIDE_KEY_CODE || e.keyCode === HIDE_KEY_CODE ) ) { + + GUI.toggleHide(); + + } + + }; + dom.bind( window, 'keydown', GUI._keydownHandler, false ); + Common.extend( GUI.prototype, + { + add: function add( object, property ) { + + return _add( this, object, property, { + factoryArgs: Array.prototype.slice.call( arguments, 2 ) + } ); + + }, + addColor: function addColor( object, property ) { + + return _add( this, object, property, { + color: true + } ); + + }, + remove: function remove( controller ) { + + this.__ul.removeChild( controller.__li ); + this.__controllers.splice( this.__controllers.indexOf( controller ), 1 ); + var _this = this; + Common.defer( function () { + + _this.onResize(); + + } ); + + }, + destroy: function destroy() { + + if ( this.parent ) { + + throw new Error( 'Only the root GUI should be removed with .destroy(). ' + 'For subfolders, use gui.removeFolder(folder) instead.' ); + + } + if ( this.autoPlace ) { + + autoPlaceContainer.removeChild( this.domElement ); + + } + var _this = this; + Common.each( this.__folders, function ( subfolder ) { + + _this.removeFolder( subfolder ); + + } ); + dom.unbind( window, 'keydown', GUI._keydownHandler, false ); + removeListeners( this ); + + }, + addFolder: function addFolder( name ) { + + if ( this.__folders[ name ] !== undefined ) { + + throw new Error( 'You already have a folder in this GUI by the' + ' name "' + name + '"' ); + + } + var newGuiParams = { name: name, parent: this }; + newGuiParams.autoPlace = this.autoPlace; + if ( this.load && + this.load.folders && + this.load.folders[ name ] ) { + + newGuiParams.closed = this.load.folders[ name ].closed; + newGuiParams.load = this.load.folders[ name ]; + + } + var gui = new GUI( newGuiParams ); + this.__folders[ name ] = gui; + var li = addRow( this, gui.domElement ); + dom.addClass( li, 'folder' ); + return gui; + + }, + removeFolder: function removeFolder( folder ) { + + this.__ul.removeChild( folder.domElement.parentElement ); + delete this.__folders[ folder.name ]; + if ( this.load && + this.load.folders && + this.load.folders[ folder.name ] ) { + + delete this.load.folders[ folder.name ]; + + } + removeListeners( folder ); + var _this = this; + Common.each( folder.__folders, function ( subfolder ) { + + folder.removeFolder( subfolder ); + + } ); + Common.defer( function () { + + _this.onResize(); + + } ); + + }, + open: function open() { + + this.closed = false; + + }, + close: function close() { + + this.closed = true; + + }, + hide: function hide() { + + this.domElement.style.display = 'none'; + + }, + show: function show() { + + this.domElement.style.display = ''; + + }, + onResize: function onResize() { + + var root = this.getRoot(); + if ( root.scrollable ) { + + var top = dom.getOffset( root.__ul ).top; + var h = 0; + Common.each( root.__ul.childNodes, function ( node ) { + + if ( ! ( root.autoPlace && node === root.__save_row ) ) { + + h += dom.getHeight( node ); + + } + + } ); + if ( window.innerHeight - top - CLOSE_BUTTON_HEIGHT < h ) { + + dom.addClass( root.domElement, GUI.CLASS_TOO_TALL ); + root.__ul.style.height = window.innerHeight - top - CLOSE_BUTTON_HEIGHT + 'px'; + + } else { + + dom.removeClass( root.domElement, GUI.CLASS_TOO_TALL ); + root.__ul.style.height = 'auto'; + + } + + } + if ( root.__resize_handle ) { + + Common.defer( function () { + + root.__resize_handle.style.height = root.__ul.offsetHeight + 'px'; + + } ); + + } + if ( root.__closeButton ) { + + root.__closeButton.style.width = root.width + 'px'; + + } + + }, + onResizeDebounced: Common.debounce( function () { + + this.onResize(); + + }, 50 ), + remember: function remember() { + + if ( Common.isUndefined( SAVE_DIALOGUE ) ) { + + SAVE_DIALOGUE = new CenteredDiv(); + SAVE_DIALOGUE.domElement.innerHTML = saveDialogContents; + + } + if ( this.parent ) { + + throw new Error( 'You can only call remember on a top level GUI.' ); + + } + var _this = this; + Common.each( Array.prototype.slice.call( arguments ), function ( object ) { + + if ( _this.__rememberedObjects.length === 0 ) { + + addSaveMenu( _this ); + + } + if ( _this.__rememberedObjects.indexOf( object ) === - 1 ) { + + _this.__rememberedObjects.push( object ); + + } + + } ); + if ( this.autoPlace ) { + + setWidth( this, this.width ); + + } + + }, + getRoot: function getRoot() { + + var gui = this; + while ( gui.parent ) { + + gui = gui.parent; + + } + return gui; + + }, + getSaveObject: function getSaveObject() { + + var toReturn = this.load; + toReturn.closed = this.closed; + if ( this.__rememberedObjects.length > 0 ) { + + toReturn.preset = this.preset; + if ( ! toReturn.remembered ) { + + toReturn.remembered = {}; + + } + toReturn.remembered[ this.preset ] = getCurrentPreset( this ); + + } + toReturn.folders = {}; + Common.each( this.__folders, function ( element, key ) { + + toReturn.folders[ key ] = element.getSaveObject(); + + } ); + return toReturn; + + }, + save: function save() { + + if ( ! this.load.remembered ) { + + this.load.remembered = {}; + + } + this.load.remembered[ this.preset ] = getCurrentPreset( this ); + markPresetModified( this, false ); + this.saveToLocalStorageIfPossible(); + + }, + saveAs: function saveAs( presetName ) { + + if ( ! this.load.remembered ) { + + this.load.remembered = {}; + this.load.remembered[ DEFAULT_DEFAULT_PRESET_NAME ] = getCurrentPreset( this, true ); + + } + this.load.remembered[ presetName ] = getCurrentPreset( this ); + this.preset = presetName; + addPresetOption( this, presetName, true ); + this.saveToLocalStorageIfPossible(); + + }, + revert: function revert( gui ) { + + Common.each( this.__controllers, function ( controller ) { + + if ( ! this.getRoot().load.remembered ) { + + controller.setValue( controller.initialValue ); + + } else { + + recallSavedValue( gui || this.getRoot(), controller ); + + } + if ( controller.__onFinishChange ) { + + controller.__onFinishChange.call( controller, controller.getValue() ); + + } + + }, this ); + Common.each( this.__folders, function ( folder ) { + + folder.revert( folder ); + + } ); + if ( ! gui ) { + + markPresetModified( this.getRoot(), false ); + + } + + }, + listen: function listen( controller ) { + + var init = this.__listening.length === 0; + this.__listening.push( controller ); + if ( init ) { + + updateDisplays( this.__listening ); + + } + + }, + updateDisplay: function updateDisplay() { + + Common.each( this.__controllers, function ( controller ) { + + controller.updateDisplay(); + + } ); + Common.each( this.__folders, function ( folder ) { + + folder.updateDisplay(); + + } ); + + } + } ); + function addRow( gui, newDom, liBefore ) { + + var li = document.createElement( 'li' ); + if ( newDom ) { + + li.appendChild( newDom ); + + } + if ( liBefore ) { + + gui.__ul.insertBefore( li, liBefore ); + + } else { + + gui.__ul.appendChild( li ); + + } + gui.onResize(); + return li; + + } + function removeListeners( gui ) { + + dom.unbind( window, 'resize', gui.__resizeHandler ); + if ( gui.saveToLocalStorageIfPossible ) { + + dom.unbind( window, 'unload', gui.saveToLocalStorageIfPossible ); + + } + + } + function markPresetModified( gui, modified ) { + + var opt = gui.__preset_select[ gui.__preset_select.selectedIndex ]; + if ( modified ) { + + opt.innerHTML = opt.value + '*'; + + } else { + + opt.innerHTML = opt.value; + + } + + } + function augmentController( gui, li, controller ) { + + controller.__li = li; + controller.__gui = gui; + Common.extend( controller, { + options: function options( _options ) { + + if ( arguments.length > 1 ) { + + var nextSibling = controller.__li.nextElementSibling; + controller.remove(); + return _add( gui, controller.object, controller.property, { + before: nextSibling, + factoryArgs: [ Common.toArray( arguments ) ] + } ); + + } + if ( Common.isArray( _options ) || Common.isObject( _options ) ) { + + var _nextSibling = controller.__li.nextElementSibling; + controller.remove(); + return _add( gui, controller.object, controller.property, { + before: _nextSibling, + factoryArgs: [ _options ] + } ); + + } + + }, + name: function name( _name ) { + + controller.__li.firstElementChild.firstElementChild.innerHTML = _name; + return controller; + + }, + listen: function listen() { + + controller.__gui.listen( controller ); + return controller; + + }, + remove: function remove() { + + controller.__gui.remove( controller ); + return controller; + + } + } ); + if ( controller instanceof NumberControllerSlider ) { + + var box = new NumberControllerBox( controller.object, controller.property, { min: controller.__min, max: controller.__max, step: controller.__step } ); + Common.each( [ 'updateDisplay', 'onChange', 'onFinishChange', 'step', 'min', 'max' ], function ( method ) { + + var pc = controller[ method ]; + var pb = box[ method ]; + controller[ method ] = box[ method ] = function () { + + var args = Array.prototype.slice.call( arguments ); + pb.apply( box, args ); + return pc.apply( controller, args ); + + }; + + } ); + dom.addClass( li, 'has-slider' ); + controller.domElement.insertBefore( box.domElement, controller.domElement.firstElementChild ); + + } else if ( controller instanceof NumberControllerBox ) { + + var r = function r( returned ) { + + if ( Common.isNumber( controller.__min ) && Common.isNumber( controller.__max ) ) { + + var oldName = controller.__li.firstElementChild.firstElementChild.innerHTML; + var wasListening = controller.__gui.__listening.indexOf( controller ) > - 1; + controller.remove(); + var newController = _add( gui, controller.object, controller.property, { + before: controller.__li.nextElementSibling, + factoryArgs: [ controller.__min, controller.__max, controller.__step ] + } ); + newController.name( oldName ); + if ( wasListening ) newController.listen(); + return newController; + + } + return returned; + + }; + controller.min = Common.compose( r, controller.min ); + controller.max = Common.compose( r, controller.max ); + + } else if ( controller instanceof BooleanController ) { + + dom.bind( li, 'click', function () { + + dom.fakeEvent( controller.__checkbox, 'click' ); + + } ); + dom.bind( controller.__checkbox, 'click', function ( e ) { + + e.stopPropagation(); + + } ); + + } else if ( controller instanceof FunctionController ) { + + dom.bind( li, 'click', function () { + + dom.fakeEvent( controller.__button, 'click' ); + + } ); + dom.bind( li, 'mouseover', function () { + + dom.addClass( controller.__button, 'hover' ); + + } ); + dom.bind( li, 'mouseout', function () { + + dom.removeClass( controller.__button, 'hover' ); + + } ); + + } else if ( controller instanceof ColorController ) { + + dom.addClass( li, 'color' ); + controller.updateDisplay = Common.compose( function ( val ) { + + li.style.borderLeftColor = controller.__color.toString(); + return val; + + }, controller.updateDisplay ); + controller.updateDisplay(); + + } + controller.setValue = Common.compose( function ( val ) { + + if ( gui.getRoot().__preset_select && controller.isModified() ) { + + markPresetModified( gui.getRoot(), true ); + + } + return val; + + }, controller.setValue ); + + } + function recallSavedValue( gui, controller ) { + + var root = gui.getRoot(); + var matchedIndex = root.__rememberedObjects.indexOf( controller.object ); + if ( matchedIndex !== - 1 ) { + + var controllerMap = root.__rememberedObjectIndecesToControllers[ matchedIndex ]; + if ( controllerMap === undefined ) { + + controllerMap = {}; + root.__rememberedObjectIndecesToControllers[ matchedIndex ] = controllerMap; + + } + controllerMap[ controller.property ] = controller; + if ( root.load && root.load.remembered ) { + + var presetMap = root.load.remembered; + var preset = void 0; + if ( presetMap[ gui.preset ] ) { + + preset = presetMap[ gui.preset ]; + + } else if ( presetMap[ DEFAULT_DEFAULT_PRESET_NAME ] ) { + + preset = presetMap[ DEFAULT_DEFAULT_PRESET_NAME ]; + + } else { + + return; + + } + if ( preset[ matchedIndex ] && preset[ matchedIndex ][ controller.property ] !== undefined ) { + + var value = preset[ matchedIndex ][ controller.property ]; + controller.initialValue = value; + controller.setValue( value ); + + } + + } + + } + + } + function _add( gui, object, property, params ) { + + if ( object[ property ] === undefined ) { + + throw new Error( 'Object "' + object + '" has no property "' + property + '"' ); + + } + var controller = void 0; + if ( params.color ) { + + controller = new ColorController( object, property ); + + } else { + + var factoryArgs = [ object, property ].concat( params.factoryArgs ); + controller = ControllerFactory.apply( gui, factoryArgs ); + + } + if ( params.before instanceof Controller ) { + + params.before = params.before.__li; + + } + recallSavedValue( gui, controller ); + dom.addClass( controller.domElement, 'c' ); + var name = document.createElement( 'span' ); + dom.addClass( name, 'property-name' ); + name.innerHTML = controller.property; + var container = document.createElement( 'div' ); + container.appendChild( name ); + container.appendChild( controller.domElement ); + var li = addRow( gui, container, params.before ); + dom.addClass( li, GUI.CLASS_CONTROLLER_ROW ); + if ( controller instanceof ColorController ) { + + dom.addClass( li, 'color' ); + + } else { + + dom.addClass( li, _typeof( controller.getValue() ) ); + + } + augmentController( gui, li, controller ); + gui.__controllers.push( controller ); + return controller; + + } + function getLocalStorageHash( gui, key ) { + + return document.location.href + '.' + key; + + } + function addPresetOption( gui, name, setSelected ) { + + var opt = document.createElement( 'option' ); + opt.innerHTML = name; + opt.value = name; + gui.__preset_select.appendChild( opt ); + if ( setSelected ) { + + gui.__preset_select.selectedIndex = gui.__preset_select.length - 1; + + } + + } + function showHideExplain( gui, explain ) { + + explain.style.display = gui.useLocalStorage ? 'block' : 'none'; + + } + function addSaveMenu( gui ) { + + var div = gui.__save_row = document.createElement( 'li' ); + dom.addClass( gui.domElement, 'has-save' ); + gui.__ul.insertBefore( div, gui.__ul.firstChild ); + dom.addClass( div, 'save-row' ); + var gears = document.createElement( 'span' ); + gears.innerHTML = ' '; + dom.addClass( gears, 'button gears' ); + var button = document.createElement( 'span' ); + button.innerHTML = 'Save'; + dom.addClass( button, 'button' ); + dom.addClass( button, 'save' ); + var button2 = document.createElement( 'span' ); + button2.innerHTML = 'New'; + dom.addClass( button2, 'button' ); + dom.addClass( button2, 'save-as' ); + var button3 = document.createElement( 'span' ); + button3.innerHTML = 'Revert'; + dom.addClass( button3, 'button' ); + dom.addClass( button3, 'revert' ); + var select = gui.__preset_select = document.createElement( 'select' ); + if ( gui.load && gui.load.remembered ) { + + Common.each( gui.load.remembered, function ( value, key ) { + + addPresetOption( gui, key, key === gui.preset ); + + } ); + + } else { + + addPresetOption( gui, DEFAULT_DEFAULT_PRESET_NAME, false ); + + } + dom.bind( select, 'change', function () { + + for ( var index = 0; index < gui.__preset_select.length; index ++ ) { + + gui.__preset_select[ index ].innerHTML = gui.__preset_select[ index ].value; + + } + gui.preset = this.value; + + } ); + div.appendChild( select ); + div.appendChild( gears ); + div.appendChild( button ); + div.appendChild( button2 ); + div.appendChild( button3 ); + if ( SUPPORTS_LOCAL_STORAGE ) { + + var explain = document.getElementById( 'dg-local-explain' ); + var localStorageCheckBox = document.getElementById( 'dg-local-storage' ); + var saveLocally = document.getElementById( 'dg-save-locally' ); + saveLocally.style.display = 'block'; + if ( localStorage.getItem( getLocalStorageHash( gui, 'isLocal' ) ) === 'true' ) { + + localStorageCheckBox.setAttribute( 'checked', 'checked' ); + + } + showHideExplain( gui, explain ); + dom.bind( localStorageCheckBox, 'change', function () { + + gui.useLocalStorage = ! gui.useLocalStorage; + showHideExplain( gui, explain ); + + } ); + + } + var newConstructorTextArea = document.getElementById( 'dg-new-constructor' ); + dom.bind( newConstructorTextArea, 'keydown', function ( e ) { + + if ( e.metaKey && ( e.which === 67 || e.keyCode === 67 ) ) { + + SAVE_DIALOGUE.hide(); + + } + + } ); + dom.bind( gears, 'click', function () { + + newConstructorTextArea.innerHTML = JSON.stringify( gui.getSaveObject(), undefined, 2 ); + SAVE_DIALOGUE.show(); + newConstructorTextArea.focus(); + newConstructorTextArea.select(); + + } ); + dom.bind( button, 'click', function () { + + gui.save(); + + } ); + dom.bind( button2, 'click', function () { + + var presetName = prompt( 'Enter a new preset name.' ); + if ( presetName ) { + + gui.saveAs( presetName ); + + } + + } ); + dom.bind( button3, 'click', function () { + + gui.revert(); + + } ); + + } + function addResizeHandle( gui ) { + + var pmouseX = void 0; + gui.__resize_handle = document.createElement( 'div' ); + Common.extend( gui.__resize_handle.style, { + width: '6px', + marginLeft: '-3px', + height: '200px', + cursor: 'ew-resize', + position: 'absolute' + } ); + function drag( e ) { + + e.preventDefault(); + gui.width += pmouseX - e.clientX; + gui.onResize(); + pmouseX = e.clientX; + return false; + + } + function dragStop() { + + dom.removeClass( gui.__closeButton, GUI.CLASS_DRAG ); + dom.unbind( window, 'mousemove', drag ); + dom.unbind( window, 'mouseup', dragStop ); + + } + function dragStart( e ) { + + e.preventDefault(); + pmouseX = e.clientX; + dom.addClass( gui.__closeButton, GUI.CLASS_DRAG ); + dom.bind( window, 'mousemove', drag ); + dom.bind( window, 'mouseup', dragStop ); + return false; + + } + dom.bind( gui.__resize_handle, 'mousedown', dragStart ); + dom.bind( gui.__closeButton, 'mousedown', dragStart ); + gui.domElement.insertBefore( gui.__resize_handle, gui.domElement.firstElementChild ); + + } + function setWidth( gui, w ) { + + gui.domElement.style.width = w + 'px'; + if ( gui.__save_row && gui.autoPlace ) { + + gui.__save_row.style.width = w + 'px'; + + } + if ( gui.__closeButton ) { + + gui.__closeButton.style.width = w + 'px'; + + } + + } + function getCurrentPreset( gui, useInitialValues ) { + + var toReturn = {}; + Common.each( gui.__rememberedObjects, function ( val, index ) { + + var savedValues = {}; + var controllerMap = gui.__rememberedObjectIndecesToControllers[ index ]; + Common.each( controllerMap, function ( controller, property ) { + + savedValues[ property ] = useInitialValues ? controller.initialValue : controller.getValue(); + + } ); + toReturn[ index ] = savedValues; + + } ); + return toReturn; + + } + function setPresetSelectIndex( gui ) { + + for ( var index = 0; index < gui.__preset_select.length; index ++ ) { + + if ( gui.__preset_select[ index ].value === gui.preset ) { + + gui.__preset_select.selectedIndex = index; + + } + + } + + } + function updateDisplays( controllerArray ) { + + if ( controllerArray.length !== 0 ) { + + requestAnimationFrame$1.call( window, function () { + + updateDisplays( controllerArray ); + + } ); + + } + Common.each( controllerArray, function ( c ) { + + c.updateDisplay(); + + } ); + + } + + var color = { + Color: Color, + math: ColorMath, + interpret: interpret + }; + var controllers = { + Controller: Controller, + BooleanController: BooleanController, + OptionController: OptionController, + StringController: StringController, + NumberController: NumberController, + NumberControllerBox: NumberControllerBox, + NumberControllerSlider: NumberControllerSlider, + FunctionController: FunctionController, + ColorController: ColorController + }; + var dom$1 = { dom: dom }; + var gui = { GUI: GUI }; + var GUI$1 = GUI; + var index = { + color: color, + controllers: controllers, + dom: dom$1, + gui: gui, + GUI: GUI$1 + }; + + exports.GUI = GUI$1; + exports.color = color; + exports.controllers = controllers; + exports.default = index; + exports.dom = dom$1; + exports.gui = gui; + +})); diff --git a/public/GV/thirdParty/Threejs-109/custom/shp.js b/public/GV/thirdParty/Threejs-109/custom/shp.js new file mode 100644 index 000000000..8eedfb9cb --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/custom/shp.js @@ -0,0 +1,197 @@ +// Shapefile parser, following the specification at +// http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf +SHP = { + NULL: 0, + POINT: 1, + POLYLINE: 3, + POLYGON: 5 +}; + +SHP.getShapeName = function (id) { + for (name in this) { + if (id === this[name]) { + return name; + } + } +}; + +SHPParser = function () { +}; + +SHPParser.load = function (src, callback, onerror) { + var xhr = new XMLHttpRequest(); + xhr.responseType = 'arraybuffer'; + xhr.onload = function () { + var d = new SHPParser().parse(xhr.response, xhr); + if (d) { + callback(d); + } + }; + xhr.onerror = onerror; + xhr.open('GET', src); + xhr.send(null); +}; + +SHPParser.prototype.parse = function (arrayBuffer, xhr) { + var o = {}; + var dv = new DataView(arrayBuffer); + var idx = 0; + o.fileCode = dv.getInt32(idx, false); + if (o.fileCode != 0x0000270a) { + // throw (new Error("Unknown file code: " + o.fileCode)); + xhr.onerror(); + return false; + } + idx += 6 * 4; + o.wordLength = dv.getInt32(idx, false); + o.byteLength = o.wordLength * 2; + idx += 4; + o.version = dv.getInt32(idx, true); + idx += 4; + o.shapeType = dv.getInt32(idx, true); + idx += 4; + o.minX = dv.getFloat64(idx, true); + o.minY = dv.getFloat64(idx + 8, true); + o.maxX = dv.getFloat64(idx + 16, true); + o.maxY = dv.getFloat64(idx + 24, true); + o.minZ = dv.getFloat64(idx + 32, true); + o.maxZ = dv.getFloat64(idx + 40, true); + o.minM = dv.getFloat64(idx + 48, true); + o.maxM = dv.getFloat64(idx + 56, true); + idx += 8 * 8; + o.records = []; + while (idx < o.byteLength) { + var record = {}; + record.number = dv.getInt32(idx, false); + idx += 4; + record.length = dv.getInt32(idx, false); + idx += 4; + try { + record.shape = this.parseShape(dv, idx, record.length); + } catch (e) { + console.log(e, record); + } + idx += record.length * 2; + o.records.push(record); + } + return o; +}; + +SHPParser.prototype.parseShape = function (dv, idx, length) { + var i = 0, c = null; + var shape = {}; + shape.type = dv.getInt32(idx, true); + idx += 4; + var byteLen = length * 2; + switch (shape.type) { + case SHP.NULL: // Null + break; + + case SHP.POINT: // Point (x,y) + shape.content = { + x: dv.getFloat64(idx, true), + y: dv.getFloat64(idx + 8, true) + }; + break; + case SHP.POLYLINE: // Polyline (MBR, partCount, pointCount, parts, points) + case SHP.POLYGON: // Polygon (MBR, partCount, pointCount, parts, points) + c = shape.content = { + minX: dv.getFloat64(idx, true), + minY: dv.getFloat64(idx + 8, true), + maxX: dv.getFloat64(idx + 16, true), + maxY: dv.getFloat64(idx + 24, true), + parts: new Int32Array(dv.getInt32(idx + 32, true)), + points: new Float64Array(dv.getInt32(idx + 36, true) * 2) + }; + idx += 40; + for (i = 0; i < c.parts.length; i++) { + c.parts[i] = dv.getInt32(idx, true); + idx += 4; + } + for (i = 0; i < c.points.length; i++) { + c.points[i] = dv.getFloat64(idx, true); + idx += 8; + } + break; + + case 8: // MultiPoint (MBR, pointCount, points) + case 11: // PointZ (X, Y, Z, M) + case 13: // PolylineZ + case 15: // PolygonZ + case 18: // MultiPointZ + case 21: // PointM (X, Y, M) + case 23: // PolylineM + case 25: // PolygonM + case 28: // MultiPointM + case 31: // MultiPatch + throw new Error("Shape type not supported: " + + shape.type + ':' + + + SHP.getShapeName(shape.type)); + default: + throw new Error("Unknown shape type at " + (idx - 4) + ': ' + shape.type); + } + return shape; +}; + + // if (isRoad) { + // // Three廭 + // var geometry = new THREE.LineGeometry(); + // var decoPos = []; + // var spline = new THREE.CatmullRomCurve3(poly); + // var color = new THREE.Color(); + // var colors = []; + // for (var m = 0, l = poly.length * 120; m <= l; m++) { + // var point = spline.getPoint(m / l); + // decoPos.push(point.x, point.y, point.z); + // // if (m == 0 || m == 1 || m == 2) { + // // colors.push(1.0, 1.0, 0.0); + // // } else if (m == 3) { + // // colors.push(1.0, 1.0, 0.0); + // // } else { + // // colors.push(1.0, 0.0, 0.0); + // // } + // } + // geometry.setPositions(decoPos); + // // geometry.setColors(colors); + // var line = new THREE.Line2(geometry, matLine); + // line.computeLineDistances(); + // line.scale.set(1, 1, 1); + // line.position.z += 15000.0; + // // line.rotation.x = Math.PI / 2; + // scene.add(line); + // line.userData.posCount = poly.length * 12; + // line.userData.index = 0; + // line.userData.flag = 0; + // line.layers.enable(BLOOM_SCENE); + + // // ڸmesh + // obj = new _3DObject(); + // obj.threeMesh = line; + // obj.minWGS84 = [r.content.minX, r.content.minY]; + // obj.maxWGS84 = [r.content.maxX, r.content.maxY]; + // _3Dobjects.push(obj); + // } + + + + + // var line = _3DLineobjects[id].threeMesh; + // var posCount = line.userData.posCount; + + // var colors = []; + // if (line.userData.index == posCount) { + // line.userData.index = 0; + // } + // for (var i = 0, l = posCount; i <= l; i++) { + // if (i == line.userData.index || i == line.userData.index + 1 || i == line.userData.index + 2) { + // colors.push(1.0, 1.0, 0.0); + // } else if (i == line.userData.index - 1) { + // colors.push(1.0, 1.0, 0.0); + // } else { + // colors.push(1.0, 0.0, 0.0); + // // colors.push(0,1,1); + // // colors.push(1.0, 0.0, 0.0); + // } + // } + // line.geometry.setColors(colors); + // line.userData.index++; diff --git a/public/GV/thirdParty/Threejs-109/custom/spector.bundle.js b/public/GV/thirdParty/Threejs-109/custom/spector.bundle.js new file mode 100644 index 000000000..ddb34540f --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/custom/spector.bundle.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("SPECTOR",[],t):"object"==typeof exports?exports.SPECTOR=t():e.SPECTOR=t()}(window,(function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=4)}([function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var r=(s=i,a=btoa(unescape(encodeURIComponent(JSON.stringify(s)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),"/*# ".concat(c," */")),o=i.sources.map((function(e){return"/*# sourceURL=".concat(i.sourceRoot).concat(e," */")}));return[n].concat(o).concat([r]).join("\n")}var s,a,c;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2],"{").concat(n,"}"):n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},r=0;r<this.length;r++){var o=this[r][0];null!=o&&(i[o]=!0)}for(var s=0;s<e.length;s++){var a=e[s];null!=a[0]&&i[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="(".concat(a[2],") and (").concat(n,")")),t.push(a))}},t}},function(e,t,n){var i,r,o={},s=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===r&&(r=i.apply(this,arguments)),r}),a=function(e,t){return t?t.querySelector(e):document.querySelector(e)},c=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var i=a.call(this,e,n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}}(),l=null,u=0,h=[],d=n(7);function p(e,t){for(var n=0;n<e.length;n++){var i=e[n],r=o[i.id];if(r){r.refs++;for(var s=0;s<r.parts.length;s++)r.parts[s](i.parts[s]);for(;s<i.parts.length;s++)r.parts.push(E(i.parts[s],t))}else{var a=[];for(s=0;s<i.parts.length;s++)a.push(E(i.parts[s],t));o[i.id]={id:i.id,refs:1,parts:a}}}}function m(e,t){for(var n=[],i={},r=0;r<e.length;r++){var o=e[r],s=t.base?o[0]+t.base:o[0],a={css:o[1],media:o[2],sourceMap:o[3]};i[s]?i[s].parts.push(a):n.push(i[s]={id:s,parts:[a]})}return n}function f(e,t){var n=c(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=h[h.length-1];if("top"===e.insertAt)i?i.nextSibling?n.insertBefore(t,i.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),h.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var r=c(e.insertAt.before,n);n.insertBefore(t,r)}}function g(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=h.indexOf(e);t>=0&&h.splice(t,1)}function v(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var i=function(){0;return n.nc}();i&&(e.attrs.nonce=i)}return _(t,e.attrs),f(e,t),t}function _(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function E(e,t){var n,i,r,o;if(t.transform&&e.css){if(!(o="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=o}if(t.singleton){var s=u++;n=l||(l=v(t)),i=S.bind(null,n,s,!1),r=S.bind(null,n,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",_(t,e.attrs),f(e,t),t}(t),i=R.bind(null,n,t),r=function(){g(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),i=y.bind(null,n),r=function(){g(n)});return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else r()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=s()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=m(e,t);return p(n,t),function(e){for(var i=[],r=0;r<n.length;r++){var s=n[r];(a=o[s.id]).refs--,i.push(a)}e&&p(m(e,t),t);for(r=0;r<i.length;r++){var a;if(0===(a=i[r]).refs){for(var c=0;c<a.parts.length;c++)a.parts[c]();delete o[a.id]}}}};var C,A=(C=[],function(e,t){return C[e]=t,C.filter(Boolean).join("\n")});function S(e,t,n,i){var r=n?"":i.css;if(e.styleSheet)e.styleSheet.cssText=A(t,r);else{var o=document.createTextNode(r),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(o,s[t]):e.appendChild(o)}}function y(e,t){var n=t.css,i=t.media;if(i&&e.setAttribute("media",i),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function R(e,t,n){var i=n.css,r=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||o)&&(i=d(i)),r&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var s=new Blob([i],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(s),a&&URL.revokeObjectURL(a)}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,n){n(5),n(8),n(10),n(12),n(13),n(14),n(15),n(16),n(18),e.exports=n(23)},function(e,t,n){var i=n(6);"string"==typeof i&&(i=[[e.i,i,""]]);var r={insertInto:("html","html"),hmr:!0,transform:void 0};n(1)(i,r);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(0)(!1)).push([e.i,'/**\n * okaidia theme for JavaScript, CSS and HTML\n * Loosely based on Monokai textmate theme by http://www.monokai.nl/\n * @author ocodia\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: #f8f8f2;\n\tbackground: none;\n\ttext-shadow: 0 1px rgba(0, 0, 0, 0.3);\n\tfont-family: Consolas, Monaco, \'Andale Mono\', \'Ubuntu Mono\', monospace;\n\tfont-size: 1em;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n\tborder-radius: 0.3em;\n}\n\n:not(pre) > code[class*="language-"],\npre[class*="language-"] {\n\tbackground: #272822;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: slategray;\n}\n\n.token.punctuation {\n\tcolor: #f8f8f2;\n}\n\n.namespace {\n\topacity: .7;\n}\n\n.token.property,\n.token.tag,\n.token.constant,\n.token.symbol,\n.token.deleted {\n\tcolor: #f92672;\n}\n\n.token.boolean,\n.token.number {\n\tcolor: #ae81ff;\n}\n\n.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted {\n\tcolor: #a6e22e;\n}\n\n.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string,\n.token.variable {\n\tcolor: #f8f8f2;\n}\n\n.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name {\n\tcolor: #e6db74;\n}\n\n.token.keyword {\n\tcolor: #66d9ef;\n}\n\n.token.regex,\n.token.important {\n\tcolor: #fd971f;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n',""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,i=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(e,t){var r,o=t.trim().replace(/^"(.*)"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(r=0===o.indexOf("//")?o:0===o.indexOf("/")?n+o:i+o.replace(/^\.\//,""),"url("+JSON.stringify(r)+")")}))}},function(e,t,n){var i=n(9);"string"==typeof i&&(i=[[e.i,i,""]]);var r={insertInto:("html","html"),hmr:!0,transform:void 0};n(1)(i,r);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(0)(!1)).push([e.i,':not(pre) > code[class*="language-"],\npre[class*="language-"] {\n\tbackground: #222;\n}',""])},function(e,t,n){(function(t){var n=function(e){var t=/\blang(?:uage)?-([\w-]+)\b/i,n=0;var i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof r?new r(e.type,i.util.encode(e.content),e.alias):Array.isArray(e)?e.map(i.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++n}),e.__id},clone:function e(t,n){var r,o,s=i.util.type(t);switch(n=n||{},s){case"Object":if(o=i.util.objId(t),n[o])return n[o];for(var a in r={},n[o]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case"Array":return o=i.util.objId(t),n[o]?n[o]:(r=[],n[o]=r,t.forEach((function(t,i){r[i]=e(t,n)})),r);default:return t}},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(i){var e=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(i.stack)||[])[1];if(e){var t=document.getElementsByTagName("script");for(var n in t)if(t[n].src==e)return t[n]}return null}}},languages:{extend:function(e,t){var n=i.util.clone(i.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){var o=(r=r||i.languages)[e],s={};for(var a in o)if(o.hasOwnProperty(a)){if(a==t)for(var c in n)n.hasOwnProperty(c)&&(s[c]=n[c]);n.hasOwnProperty(a)||(s[a]=o[a])}var l=r[e];return r[e]=s,i.languages.DFS(i.languages,(function(t,n){n===l&&t!=e&&(this[t]=s)})),s},DFS:function e(t,n,r,o){o=o||{};var s=i.util.objId;for(var a in t)if(t.hasOwnProperty(a)){n.call(t,a,t[a],r||a);var c=t[a],l=i.util.type(c);"Object"!==l||o[s(c)]?"Array"!==l||o[s(c)]||(o[s(c)]=!0,e(c,n,a,o)):(o[s(c)]=!0,e(c,n,null,o))}}},plugins:{},highlightAll:function(e,t){i.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,n){var r={callback:n,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};i.hooks.run("before-highlightall",r);for(var o,s=e.querySelectorAll(r.selector),a=0;o=s[a++];)i.highlightElement(o,!0===t,r.callback)},highlightElement:function(n,r,o){var s=function(e){for(;e&&!t.test(e.className);)e=e.parentNode;return e?(e.className.match(t)||[,"none"])[1].toLowerCase():"none"}(n),a=i.languages[s];n.className=n.className.replace(t,"").replace(/\s+/g," ")+" language-"+s;var c=n.parentNode;c&&"pre"===c.nodeName.toLowerCase()&&(c.className=c.className.replace(t,"").replace(/\s+/g," ")+" language-"+s);var l={element:n,language:s,grammar:a,code:n.textContent};function u(e){l.highlightedCode=e,i.hooks.run("before-insert",l),l.element.innerHTML=l.highlightedCode,i.hooks.run("after-highlight",l),i.hooks.run("complete",l),o&&o.call(l.element)}if(i.hooks.run("before-sanity-check",l),!l.code)return i.hooks.run("complete",l),void(o&&o.call(l.element));if(i.hooks.run("before-highlight",l),l.grammar)if(r&&e.Worker){var h=new Worker(i.filename);h.onmessage=function(e){u(e.data)},h.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else u(i.highlight(l.code,l.grammar,l.language));else u(i.util.encode(l.code))},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};return i.hooks.run("before-tokenize",o),o.tokens=i.tokenize(o.code,o.grammar),i.hooks.run("after-tokenize",o),r.stringify(i.util.encode(o.tokens),o.language)},matchGrammar:function(e,t,n,o,s,a,c){for(var l in n)if(n.hasOwnProperty(l)&&n[l]){var u=n[l];u=Array.isArray(u)?u:[u];for(var h=0;h<u.length;++h){if(c&&c==l+","+h)return;var d=u[h],p=d.inside,m=!!d.lookbehind,f=!!d.greedy,g=0,v=d.alias;if(f&&!d.pattern.global){var _=d.pattern.toString().match(/[imsuy]*$/)[0];d.pattern=RegExp(d.pattern.source,_+"g")}d=d.pattern||d;for(var E=o,C=s;E<t.length;C+=t[E].length,++E){var A=t[E];if(t.length>e.length)return;if(!(A instanceof r)){if(f&&E!=t.length-1){if(d.lastIndex=C,!(w=d.exec(e)))break;for(var S=w.index+(m&&w[1]?w[1].length:0),y=w.index+w[0].length,R=E,b=C,T=t.length;R<T&&(b<y||!t[R].type&&!t[R-1].greedy);++R)S>=(b+=t[R].length)&&(++E,C=b);if(t[E]instanceof r)continue;x=R-E,A=e.slice(C,b),w.index-=C}else{d.lastIndex=0;var w=d.exec(A),x=1}if(w){m&&(g=w[1]?w[1].length:0);y=(S=w.index+g)+(w=w[0].slice(g)).length;var L=A.slice(0,S),F=A.slice(y),I=[E,x];L&&(++E,C+=L.length,I.push(L));var O=new r(l,p?i.tokenize(w,p):w,v,w,f);if(I.push(O),F&&I.push(F),Array.prototype.splice.apply(t,I),1!=x&&i.matchGrammar(e,t,n,E,C,!0,l+","+h),a)break}else if(a)break}}}}},tokenize:function(e,t){var n=[e],r=t.rest;if(r){for(var o in r)t[o]=r[o];delete t.rest}return i.matchGrammar(e,n,t,0,0,!1),n},hooks:{all:{},add:function(e,t){var n=i.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=i.hooks.all[e];if(n&&n.length)for(var r,o=0;r=n[o++];)r(t)}},Token:r};function r(e,t,n,i,r){this.type=e,this.content=t,this.alias=n,this.length=0|(i||"").length,this.greedy=!!r}if(e.Prism=i,r.stringify=function(e,t){if("string"==typeof e)return e;if(Array.isArray(e))return e.map((function(e){return r.stringify(e,t)})).join("");var n={type:e.type,content:r.stringify(e.content,t),tag:"span",classes:["token",e.type],attributes:{},language:t};if(e.alias){var o=Array.isArray(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(n.classes,o)}i.hooks.run("wrap",n);var s=Object.keys(n.attributes).map((function(e){return e+'="'+(n.attributes[e]||"").replace(/"/g,""")+'"'})).join(" ");return"<"+n.tag+' class="'+n.classes.join(" ")+'"'+(s?" "+s:"")+">"+n.content+"</"+n.tag+">"},!e.document)return e.addEventListener?(i.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),r=n.language,o=n.code,s=n.immediateClose;e.postMessage(i.highlight(o,i.languages[r],r)),s&&e.close()}),!1),i):i;var o=i.util.currentScript();if(o&&(i.filename=o.src,o.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){function s(){i.manual||i.highlightAll()}var a=document.readyState;"loading"===a||"interactive"===a&&o&&o.defer?document.addEventListener("DOMContentLoaded",s):window.requestAnimationFrame?window.requestAnimationFrame(s):window.setTimeout(s,16)}return i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=n),void 0!==t&&(t.Prism=n),n.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!<!--)[^"'\]]|"[^"]*"|'[^']*'|<!--[\s\S]*?-->)*\]\s*)?>/i,greedy:!0},cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(e,t){var i={};i["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:n.languages[t]},i.cdata=/^<!\[CDATA\[|\]\]>$/i;var r={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:i}};r["language-"+t]={pattern:/[\s\S]+/,inside:n.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[\s\S]*?>)(?:<!\[CDATA\[[\s\S]*?\]\]>\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,e),"i"),lookbehind:!0,greedy:!0,inside:r},n.languages.insertBefore("markup","cdata",o)}}),n.languages.xml=n.languages.extend("markup",{}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},n.tag))}(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*(?:$|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.markup.tag.addInlined("script","javascript"),n.languages.js=n.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(e){e=e||document;var t={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(e.querySelectorAll("pre[data-src]")).forEach((function(e){if(!e.hasAttribute("data-src-loaded")){for(var i,r=e.getAttribute("data-src"),o=e,s=/\blang(?:uage)?-([\w-]+)\b/i;o&&!s.test(o.className);)o=o.parentNode;if(o&&(i=(e.className.match(s)||[,""])[1]),!i){var a=(r.match(/\.(\w+)$/)||[,""])[1];i=t[a]||a}var c=document.createElement("code");c.className="language-"+i,e.textContent="",c.textContent="Loading…",e.appendChild(c);var l=new XMLHttpRequest;l.open("GET",r,!0),l.onreadystatechange=function(){4==l.readyState&&(l.status<400&&l.responseText?(c.textContent=l.responseText,n.highlightElement(c),e.setAttribute("data-src-loaded","")):l.status>=400?c.textContent="✖ Error "+l.status+" while fetching file: "+l.statusText:c.textContent="✖ Error: File does not exist or is empty")},l.send(null)}}))},document.addEventListener("DOMContentLoaded",(function(){self.Prism.fileHighlight()}))),e.exports=n}).call(this,n(11))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){Prism.languages.glsl=Prism.languages.extend("clike",{comment:[/\/\*[\s\S]*?\*\//,/\/\/(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/],number:/(?:\b0x[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ulf]*/i,keyword:/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[ibdu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/}),Prism.languages.insertBefore("glsl","comment",{preprocessor:{pattern:/(^[ \t]*)#(?:(?:define|undef|if|ifdef|ifndef|else|elif|endif|error|pragma|extension|version|line)\b)?/m,lookbehind:!0,alias:"builtin"}})},function(e,t,n){(function(e){!function(){var e=function(){return this}();e||"undefined"==typeof window||(e=window);var t=function(e,n,i){"string"==typeof e?(2==arguments.length&&(i=n),t.modules[e]||(t.payloads[e]=i,t.modules[e]=null)):t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};t.modules={},t.payloads={};var n,i,r=function(e,t,n){if("string"==typeof t){var i=a(e,t);if(null!=i)return n&&n(),i}else if("[object Array]"===Object.prototype.toString.call(t)){for(var r=[],s=0,c=t.length;s<c;++s){var l=a(e,t[s]);if(null==l&&o.original)return;r.push(l)}return n&&n.apply(null,r)||!0}},o=function(e,t){var n=r("",e,t);return null==n&&o.original?o.original.apply(this,arguments):n},s=function(e,t){if(-1!==t.indexOf("!")){var n=t.split("!");return s(e,n[0])+"!"+s(e,n[1])}if("."==t.charAt(0))for(t=e.split("/").slice(0,-1).join("/")+"/"+t;-1!==t.indexOf(".")&&i!=t;){var i=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},a=function(e,n){n=s(e,n);var i=t.modules[n];if(!i){if("function"==typeof(i=t.payloads[n])){var o={},a={id:n,uri:"",exports:o,packaged:!0};o=i((function(e,t){return r(n,e,t)}),o,a)||a.exports,t.modules[n]=o,delete t.payloads[n]}i=t.modules[n]=o||i}return i};i=e,(n="ace")&&(e[n]||(e[n]={}),i=e[n]),i.define&&i.define.packaged||(t.original=i.define,i.define=t,i.define.packaged=!0),i.require&&i.require.packaged||(o.original=i.require,i.require=o,i.require.packaged=!0)}(),ace.define("ace/lib/regexp",["require","exports","module"],(function(e,t,n){"use strict";var i,r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},o=void 0===r.exec.call(/()??/,"")[1],s=(i=/^/g,r.test.call(i,""),!i.lastIndex);function a(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function c(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var i=n||0;i<e.length;i++)if(e[i]===t)return i;return-1}s&&o||(RegExp.prototype.exec=function(e){var t,n,i=r.exec.apply(this,arguments);if("string"==typeof e&&i){if(!o&&i.length>1&&c(i,"")>-1&&(n=RegExp(this.source,r.replace.call(a(this),"g","")),r.replace.call(e.slice(i.index),n,(function(){for(var e=1;e<arguments.length-2;e++)void 0===arguments[e]&&(i[e]=void 0)}))),this._xregexp&&this._xregexp.captureNames)for(var l=1;l<i.length;l++)(t=this._xregexp.captureNames[l-1])&&(i[t]=i[l]);!s&&this.global&&!i[0].length&&this.lastIndex>i.index&&this.lastIndex--}return i},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))})),ace.define("ace/lib/es5-shim",["require","exports","module"],(function(e,t,n){function i(){}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=d.call(arguments,1),r=function(){if(this instanceof r){var i=t.apply(this,n.concat(d.call(arguments)));return Object(i)===i?i:this}return t.apply(e,n.concat(d.call(arguments)))};return t.prototype&&(i.prototype=t.prototype,r.prototype=new i,i.prototype=null),r});var r,o,s,a,c,l=Function.prototype.call,u=Array.prototype,h=Object.prototype,d=u.slice,p=l.bind(h.toString),m=l.bind(h.hasOwnProperty);if((c=m(h,"__defineGetter__"))&&(r=l.bind(h.__defineGetter__),o=l.bind(h.__defineSetter__),s=l.bind(h.__lookupGetter__),a=l.bind(h.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t,n=[];if(n.splice.apply(n,e(20)),n.splice.apply(n,e(26)),t=n.length,n.splice(5,0,"XXX"),n.length,t+1==n.length)return!0}()){var f=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?f.apply(this,[void 0===e?0:e,void 0===t?this.length-e:t].concat(d.call(arguments,2))):[]}}else Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):null==e?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var i=this.slice(e,e+t),r=d.call(arguments,2),o=r.length;if(e===n)o&&this.push.apply(this,r);else{var s=Math.min(t,n-e),a=e+s,c=a+o-s,l=n-a,u=n-s;if(c<a)for(var h=0;h<l;++h)this[c+h]=this[a+h];else if(c>a)for(h=l;h--;)this[c+h]=this[a+h];if(o&&e===u)this.length=u,this.push.apply(this,r);else for(this.length=u+o,h=0;h<o;++h)this[e+h]=r[h]}return i};Array.isArray||(Array.isArray=function(e){return"[object Array]"==p(e)});var g,v,_=Object("a"),E="a"!=_[0]||!(0 in _);if(Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=O(this),n=E&&"[object String]"==p(this)?this.split(""):t,i=arguments[1],r=-1,o=n.length>>>0;if("[object Function]"!=p(e))throw new TypeError;for(;++r<o;)r in n&&e.call(i,n[r],r,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=O(this),n=E&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0,r=Array(i),o=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var s=0;s<i;s++)s in n&&(r[s]=e.call(o,n[s],s,t));return r}),Array.prototype.filter||(Array.prototype.filter=function(e){var t,n=O(this),i=E&&"[object String]"==p(this)?this.split(""):n,r=i.length>>>0,o=[],s=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var a=0;a<r;a++)a in i&&(t=i[a],e.call(s,t,a,n)&&o.push(t));return o}),Array.prototype.every||(Array.prototype.every=function(e){var t=O(this),n=E&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0,r=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var o=0;o<i;o++)if(o in n&&!e.call(r,n[o],o,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=O(this),n=E&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0,r=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var o=0;o<i;o++)if(o in n&&e.call(r,n[o],o,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=O(this),n=E&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0;if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");if(!i&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var r,o=0;if(arguments.length>=2)r=arguments[1];else for(;;){if(o in n){r=n[o++];break}if(++o>=i)throw new TypeError("reduce of empty array with no initial value")}for(;o<i;o++)o in n&&(r=e.call(void 0,r,n[o],o,t));return r}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=O(this),n=E&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0;if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");if(!i&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var r,o=i-1;if(arguments.length>=2)r=arguments[1];else for(;;){if(o in n){r=n[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}do{o in this&&(r=e.call(void 0,r,n[o],o,t))}while(o--);return r}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var t=E&&"[object String]"==p(this)?this.split(""):O(this),n=t.length>>>0;if(!n)return-1;var i=0;for(arguments.length>1&&(i=I(arguments[1])),i=i>=0?i:Math.max(0,n+i);i<n;i++)if(i in t&&t[i]===e)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(e){var t=E&&"[object String]"==p(this)?this.split(""):O(this),n=t.length>>>0;if(!n)return-1;var i=n-1;for(arguments.length>1&&(i=Math.min(i,I(arguments[1]))),i=i>=0?i:n-Math.abs(i);i>=0;i--)if(i in t&&e===t[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:h)}),!Object.getOwnPropertyDescriptor){Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.getOwnPropertyDescriptor called on a non-object: "+e);if(m(e,t)){var n;if(n={enumerable:!0,configurable:!0},c){var i=e.__proto__;e.__proto__=h;var r=s(e,t),o=a(e,t);if(e.__proto__=i,r||o)return r&&(n.get=r),o&&(n.set=o),n}return n.value=e[t],n}}}(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),Object.create)||(g=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(null===e)n=g();else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var i=function(){};i.prototype=e,(n=new i).__proto__=e}return void 0!==t&&Object.defineProperties(n,t),n});function C(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(e){}}if(Object.defineProperty){var A=C({}),S="undefined"==typeof document||C(document.createElement("div"));if(!A||!S)var y=Object.defineProperty}if(!Object.defineProperty||y){Object.defineProperty=function(e,t,n){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.defineProperty called on non-object: "+e);if("object"!=typeof n&&"function"!=typeof n||null===n)throw new TypeError("Property description must be an object: "+n);if(y)try{return y.call(Object,e,t,n)}catch(e){}if(m(n,"value"))if(c&&(s(e,t)||a(e,t))){var i=e.__proto__;e.__proto__=h,delete e[t],e[t]=n.value,e.__proto__=i}else e[t]=n.value;else{if(!c)throw new TypeError("getters & setters can not be defined on this javascript engine");m(n,"get")&&r(e,t,n.get),m(n,"set")&&o(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)m(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze((function(){}))}catch(e){Object.freeze=(v=Object.freeze,function(e){return"function"==typeof e?e:v(e)})}if(Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;for(var t="";m(e,t);)t+="?";e[t]=!0;var n=m(e,t);return delete e[t],n}),!Object.keys){var R=!0,b=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],T=b.length;for(var w in{toString:null})R=!1;Object.keys=function(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.keys called on a non-object");var t=[];for(var n in e)m(e,n)&&t.push(n);if(R)for(var i=0,r=T;i<r;i++){var o=b[i];m(e,o)&&t.push(o)}return t}}Date.now||(Date.now=function(){return(new Date).getTime()});var x="\t\n\v\f\r                 \u2028\u2029\ufeff";if(!String.prototype.trim){x="["+x+"]";var L=new RegExp("^"+x+x+"*"),F=new RegExp(x+x+"*$");String.prototype.trim=function(){return String(this).replace(L,"").replace(F,"")}}function I(e){return(e=+e)!=e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}var O=function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return Object(e)}})),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],(function(e,t,n){"use strict";e("./regexp"),e("./es5-shim"),"undefined"==typeof Element||Element.prototype.remove||Object.defineProperty(Element.prototype,"remove",{enumerable:!1,writable:!0,configurable:!0,value:function(){this.parentNode&&this.parentNode.removeChild(this)}})})),ace.define("ace/lib/useragent",["require","exports","module"],(function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};var i="object"==typeof navigator?navigator:{},r=(/mac|win|linux/i.exec(i.platform)||["other"])[0].toLowerCase(),o=i.userAgent||"",s=i.appName||"";t.isWin="win"==r,t.isMac="mac"==r,t.isLinux="linux"==r,t.isIE="Microsoft Internet Explorer"==s||s.indexOf("MSAppHost")>=0?parseFloat((o.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((o.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=o.match(/ Gecko\/\d+/),t.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(o.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(o.split(" Chrome/")[1])||void 0,t.isEdge=parseFloat(o.split(" Edge/")[1])||void 0,t.isAIR=o.indexOf("AdobeAIR")>=0,t.isAndroid=o.indexOf("Android")>=0,t.isChromeOS=o.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(o)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid})),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],(function(e,t,n){"use strict";var i=e("./useragent");if(t.buildDom=function e(t,n,i){if("string"==typeof t&&t){var r=document.createTextNode(t);return n&&n.appendChild(r),r}if(!Array.isArray(t))return t;if("string"!=typeof t[0]||!t[0]){for(var o=[],s=0;s<t.length;s++){var a=e(t[s],n,i);a&&o.push(a)}return o}var c=document.createElement(t[0]),l=t[1],u=1;l&&"object"==typeof l&&!Array.isArray(l)&&(u=2);for(s=u;s<t.length;s++)e(t[s],c,i);return 2==u&&Object.keys(l).forEach((function(e){var t=l[e];"class"===e?c.className=Array.isArray(t)?t.join(" "):t:"function"==typeof t||"value"==e?c[e]=t:"ref"===e?i&&(i[t]=c):null!=t&&c.setAttribute(e,t)})),n&&n.appendChild(c),c},t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||"http://www.w3.org/1999/xhtml",e):document.createElement(e)},t.removeChildren=function(e){e.innerHTML=""},t.createTextNode=function(e,t){return(t?t.ownerDocument:document).createTextNode(e)},t.createFragment=function(e){return(e?e.ownerDocument:document).createDocumentFragment()},t.hasCssClass=function(e,t){return-1!==(e.className+"").split(/\s+/g).indexOf(t)},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){for(var n=e.className.split(/\s+/g);;){var i=n.indexOf(t);if(-1==i)break;n.splice(i,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){for(var n=e.className.split(/\s+/g),i=!0;;){var r=n.indexOf(t);if(-1==r)break;i=!1,n.splice(r,1)}return i&&n.push(t),e.className=n.join(" "),i},t.setCssClass=function(e,n,i){i?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n,i=0;if(n=(t=t||document).querySelectorAll("style"))for(;i<n.length;)if(n[i++].id===e)return!0},t.importCssString=function(e,n,i){var r=i;i&&i.getRootNode&&(r=i.getRootNode())&&r!=i||(r=document);var o=r.ownerDocument||r;if(n&&t.hasCssString(n,r))return null;n&&(e+="\n/*# sourceURL=ace/css/"+n+" */");var s=t.createElement("style");s.appendChild(o.createTextNode(e)),n&&(s.id=n),r==o&&(r=t.getDocumentHead(o)),r.insertBefore(s,r.firstChild)},t.importCssStylsheet=function(e,n){t.buildDom(["link",{rel:"stylesheet",href:e}],t.getDocumentHead(n))},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var i=t.createElement("ace_outer"),r=i.style;r.position="absolute",r.left="-10000px",r.overflow="hidden",r.width="200px",r.minWidth="0px",r.height="150px",r.display="block",i.appendChild(n);var o=e.documentElement;o.appendChild(i);var s=n.offsetWidth;r.overflow="scroll";var a=n.offsetWidth;return s==a&&(a=i.clientWidth),o.removeChild(i),s-a},"undefined"==typeof document&&(t.importCssString=function(){}),t.computedStyle=function(e,t){return window.getComputedStyle(e,"")||{}},t.setStyle=function(e,t,n){e[t]!==n&&(e[t]=n)},t.HAS_CSS_ANIMATION=!1,t.HAS_CSS_TRANSFORMS=!1,t.HI_DPI=!i.isWin||"undefined"!=typeof window&&window.devicePixelRatio>=1.5,"undefined"!=typeof document){var r=document.createElement("div");t.HI_DPI&&void 0!==r.style.transform&&(t.HAS_CSS_TRANSFORMS=!0),i.isEdge||void 0===r.style.animationName||(t.HAS_CSS_ANIMATION=!0),r=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}})),ace.define("ace/lib/oop",["require","exports","module"],(function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}})),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],(function(e,t,n){"use strict";var i=e("./oop"),r=function(){var e,t,n={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(t in n.FUNCTION_KEYS)e=n.FUNCTION_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);for(t in n.PRINTABLE_KEYS)e=n.PRINTABLE_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);return i.mixin(n,n.MODIFIER_KEYS),i.mixin(n,n.PRINTABLE_KEYS),i.mixin(n,n.FUNCTION_KEYS),n.enter=n.return,n.escape=n.esc,n.del=n.delete,n[173]="-",function(){for(var e=["cmd","ctrl","alt","shift"],t=Math.pow(2,e.length);t--;)n.KEY_MODS[t]=e.filter((function(e){return t&n.KEY_MODS[e]})).join("-")+"-"}(),n.KEY_MODS[0]="",n.KEY_MODS[-1]="input-",n}();i.mixin(t,r),t.keyCodeToString=function(e){var t=r[e];return"string"!=typeof t&&(t=String.fromCharCode(e)),t.toLowerCase()}})),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(e,t,n){"use strict";var i=e("./keys"),r=e("./useragent"),o=null,s=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var i=function(){n.call(e,window.event)};n._wrapper=i,e.attachEvent("on"+t,i)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||r.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,i){function r(e){n&&n(e),i&&i(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",r,!0),t.removeListener(document,"dragstart",r,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",r,!0),t.addListener(document,"dragstart",r,!0),r},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",(function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8),n(e)})):"onwheel"in e?t.addListener(e,"wheel",(function(e){switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.35*e.deltaX||0,e.wheelY=.35*e.deltaY||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}n(e)})):t.addListener(e,"DOMMouseScroll",(function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),n(e)}))},t.addMultiMouseDownListener=function(e,n,i,o){var s,a,c,l=0,u={2:"dblclick",3:"tripleclick",4:"quadclick"};function h(e){if(0!==t.getButton(e)?l=0:e.detail>1?++l>4&&(l=1):l=1,r.isIE){var h=Math.abs(e.clientX-s)>5||Math.abs(e.clientY-a)>5;c&&!h||(l=1),c&&clearTimeout(c),c=setTimeout((function(){c=null}),n[l-1]||600),1==l&&(s=e.clientX,a=e.clientY)}if(e._clicks=l,i[o]("mousedown",e),l>4)l=0;else if(l>1)return i[o](u[l],e)}function d(e){l=2,c&&clearTimeout(c),c=setTimeout((function(){c=null}),n[l-1]||600),i[o]("mousedown",e),i[o](u[l],e)}Array.isArray(e)||(e=[e]),e.forEach((function(e){t.addListener(e,"mousedown",h),r.isOldIE&&t.addListener(e,"dblclick",d)}))};var a=!r.isMac||!r.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};function c(e,t,n){var c=a(t);if(!r.isMac&&o){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(c|=8),o.altGr){if(3==(3&c))return;o.altGr=0}if(18===n||17===n){var l="location"in t?t.location:t.keyLocation;if(17===n&&1===l)1==o[n]&&(s=t.timeStamp);else if(18===n&&3===c&&2===l){t.timeStamp-s<50&&(o.altGr=!0)}}}if((n in i.MODIFIER_KEYS&&(n=-1),!c&&13===n)&&(3===(l="location"in t?t.location:t.keyLocation)&&(e(t,c,-n),t.defaultPrevented)))return;if(r.isChromeOS&&8&c){if(e(t,c,n),t.defaultPrevented)return;c&=-9}return!!(c||n in i.FUNCTION_KEYS||n in i.PRINTABLE_KEYS)&&e(t,c,n)}function l(){o=Object.create(null)}if(t.getModifierString=function(e){return i.KEY_MODS[a(e)]},t.addCommandKeyListener=function(e,n){var i=t.addListener;if(r.isOldGecko||r.isOpera&&!("KeyboardEvent"in window)){var s=null;i(e,"keydown",(function(e){s=e.keyCode})),i(e,"keypress",(function(e){return c(n,e,s)}))}else{var a=null;i(e,"keydown",(function(e){o[e.keyCode]=(o[e.keyCode]||0)+1;var t=c(n,e,e.keyCode);return a=e.defaultPrevented,t})),i(e,"keypress",(function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)})),i(e,"keyup",(function(e){o[e.keyCode]=null})),o||(l(),i(window,"focus",l))}},"object"==typeof window&&window.postMessage&&!r.isOldIE){var u=1;t.nextTick=function(e,n){n=n||window;var i="zero-timeout-message-"+u++,r=function(o){o.data==i&&(t.stopPropagation(o),t.removeListener(n,"message",r),e())};t.addListener(n,"message",r),n.postMessage(i,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout((function n(){t.$idleBlocked?setTimeout(n,100):e()}),n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout((function(){t.$idleBlocked=!1}),e||100)},t.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}})),ace.define("ace/range",["require","exports","module"],(function(e,t,n){"use strict";var i=function(e,t,n,i){this.start={row:e,column:t},this.end={row:n,column:i}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,n=e.end,i=e.start;return 1==(t=this.compare(n.row,n.column))?1==(t=this.compare(i.row,i.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(i.row,i.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(0==n)return this;if(-1==n)var r={row:e,column:t};else var o={row:e,column:t};return i.fromPoints(r||this.start,o||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i})),ace.define("ace/lib/lang",["require","exports","module"],(function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var n="";t>0;)1&t&&(n+=e),(t>>=1)&&(e+=e);return n};var i=/^\s\s*/,r=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(i,"")},t.stringTrimRight=function(e){return e.replace(r,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){for(var t=[],n=0,i=e.length;n<i;n++)e[n]&&"object"==typeof e[n]?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function e(t){if("object"!=typeof t||!t)return t;var n;if(Array.isArray(t)){n=[];for(var i=0;i<t.length;i++)n[i]=e(t[i]);return n}if("[object Object]"!==Object.prototype.toString.call(t))return t;for(var i in n={},t)n[i]=e(t[i]);return n},t.arrayToMap=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,(function(e){n.push({offset:arguments[arguments.length-2],length:e.length})})),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},i=function(e){return i.cancel(),t=setTimeout(n,e||0),i};return i.schedule=i,i.call=function(){return this.cancel(),e(),i},i.cancel=function(){return clearTimeout(t),t=null,i},i.isPending=function(){return t},i},t.delayedCall=function(e,t){var n=null,i=function(){n=null,e()},r=function(e){null==n&&(n=setTimeout(i,e||t))};return r.delay=function(e){n&&clearTimeout(n),n=setTimeout(i,e||t)},r.schedule=r,r.call=function(){this.cancel(),e()},r.cancel=function(){n&&clearTimeout(n),n=null},r.isPending=function(){return n},r}})),ace.define("ace/clipboard",["require","exports","module"],(function(e,t,n){"use strict";var i;n.exports={lineMode:!1,pasteCancelled:function(){return!!(i&&i>Date.now()-50)||(i=!1)},cancel:function(){i=Date.now()}}})),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],(function(e,t,n){"use strict";var i=e("../lib/event"),r=e("../lib/useragent"),o=e("../lib/dom"),s=e("../lib/lang"),a=e("../clipboard"),c=r.isChrome<18,l=r.isIE,u=r.isChrome>63,h=e("../lib/keys"),d=h.KEY_MODS,p=r.isIOS,m=p?/\s/:/\n/;t.TextInput=function(e,t){var n=o.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var f=!1,g=!1,v=!1,_=!1,E="";r.isMobile||(n.style.fontSize="1px");var C=!1,A=!1,S="",y=0,R=0,b=0;try{var T=document.activeElement===n}catch(e){}i.addListener(n,"blur",(function(e){A||(t.onBlur(e),T=!1)})),i.addListener(n,"focus",(function(e){if(!A){if(T=!0,r.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),r.isEdge?setTimeout(w):w()}})),this.$focusScroll=!1,this.focus=function(){if(E||u||"browser"==this.$focusScroll)return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var t=0!=n.getBoundingClientRect().top}catch(e){return}var i=[];if(t)for(var r=n.parentElement;r&&1==r.nodeType;)i.push(r),r.setAttribute("ace_nocontext",!0),r=!r.parentElement&&r.getRootNode?r.getRootNode().host:r.parentElement;n.focus({preventScroll:!0}),t&&i.forEach((function(e){e.removeAttribute("ace_nocontext")})),setTimeout((function(){n.style.position="","0px"==n.style.top&&(n.style.top=e)}),0)},this.blur=function(){n.blur()},this.isFocused=function(){return T},t.on("beforeEndOperation",(function(){t.curOp&&"insertstring"==t.curOp.command.name||(v&&(S=n.value="",B()),w())}));var w=p?function(e){if(T&&(!f||e)&&!_){e||(e="");var i="\n ab"+e+"cde fg\n";i!=n.value&&(n.value=S=i);var r=4+(e.length||(t.selection.isEmpty()?0:1));4==y&&R==r||n.setSelectionRange(4,r),y=4,R=r}}:function(){if(!v&&!_&&(T||L)){v=!0;var e=t.selection,i=e.getRange(),r=e.cursor.row,o=i.start.column,s=i.end.column,a=t.session.getLine(r);if(i.start.row!=r){var c=t.session.getLine(r-1);o=i.start.row<r-1?0:o,s+=c.length+1,a=c+"\n"+a}else if(i.end.row!=r){var l=t.session.getLine(r+1);s=i.end.row>r+1?l.length:s,s+=a.length+1,a=a+"\n"+l}a.length>400&&(o<400&&s<400?a=a.slice(0,400):(a="\n",o=0,s=1));var u=a+"\n\n";if(u!=S&&(n.value=S=u,y=R=u.length),L&&(y=n.selectionStart,R=n.selectionEnd),R!=s||y!=o||n.selectionEnd!=R)try{n.setSelectionRange(o,s),y=o,R=s}catch(e){}v=!1}};T&&t.onFocus();var x=null;this.setInputHandler=function(e){x=e},this.getInputHandler=function(){return x};var L=!1,F=function(e,i){if(L&&(L=!1),g)return w(),e&&t.onPaste(e),g=!1,"";for(var r=n.selectionStart,o=n.selectionEnd,s=y,a=S.length-R,c=e,l=e.length-r,u=e.length-o,h=0;s>0&&S[h]==e[h];)h++,s--;for(c=c.slice(h),h=1;a>0&&S.length-h>y-1&&S[S.length-h]==e[e.length-h];)h++,a--;l-=h-1,u-=h-1;var d=c.length-h+1;return d<0&&(s=-d,d=0),c=c.slice(0,d),i||c||l||s||a||u?(_=!0,c&&!s&&!a&&!l&&!u||C?t.onTextInput(c):t.onTextInput(c,{extendLeft:s,extendRight:a,restoreStart:l,restoreEnd:u}),_=!1,S=e,y=r,R=o,b=u,c):""},I=function(e){if(v)return $();if(e&&e.inputType){if("historyUndo"==e.inputType)return t.execCommand("undo");if("historyRedo"==e.inputType)return t.execCommand("redo")}var i=n.value,r=F(i,!0);(i.length>500||m.test(r))&&w()},O=function(e,t,n){var i=e.clipboardData||window.clipboardData;if(i&&!c){var r=l||n?"Text":"text/plain";try{return t?!1!==i.setData(r,t):i.getData(r)}catch(e){if(!n)return O(e,t,!0)}}},M=function(e,r){var o=t.getCopyText();if(!o)return i.preventDefault(e);O(e,o)?(p&&(w(o),f=o,setTimeout((function(){f=!1}),10)),r?t.onCut():t.onCopy(),i.preventDefault(e)):(f=!0,n.value=o,n.select(),setTimeout((function(){f=!1,w(),r?t.onCut():t.onCopy()})))},N=function(e){M(e,!0)},k=function(e){M(e,!1)},P=function(e){var o=O(e);a.pasteCancelled()||("string"==typeof o?(o&&t.onPaste(o,e),r.isIE&&setTimeout(w),i.preventDefault(e)):(n.value="",g=!0))};i.addCommandKeyListener(n,t.onCommandKey.bind(t)),i.addListener(n,"select",(function(e){v||(f?f=!1:function(e){return 0===e.selectionStart&&e.selectionEnd>=S.length&&e.value===S&&S&&e.selectionEnd!==R}(n)&&(t.selectAll(),w()))})),i.addListener(n,"input",I),i.addListener(n,"cut",N),i.addListener(n,"copy",k),i.addListener(n,"paste",P),"oncut"in n&&"oncopy"in n&&"onpaste"in n||i.addListener(e,"keydown",(function(e){if((!r.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:k(e);break;case 86:P(e);break;case 88:N(e)}}));var $=function(){if(v&&t.onCompositionUpdate&&!t.$readOnly){if(C)return D();if(v.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;F(e),v.markerRange&&(v.context&&(v.markerRange.start.column=v.selectionStart=v.context.compositionStartOffset),v.markerRange.end.column=v.markerRange.start.column+R-v.selectionStart+b)}}},B=function(e){t.onCompositionEnd&&!t.$readOnly&&(v=!1,t.onCompositionEnd(),t.off("mousedown",D),e&&I())};function D(){A=!0,n.blur(),n.focus(),A=!1}var U,G=s.delayedCall($,50).schedule.bind(null,null);function W(){clearTimeout(U),U=setTimeout((function(){E&&(n.style.cssText=E,E=""),t.renderer.$isMousePressed=!1,t.renderer.$keepTextAreaAtCursor&&t.renderer.$moveTextAreaToCursor()}),0)}i.addListener(n,"compositionstart",(function(e){if(!v&&t.onCompositionStart&&!t.$readOnly&&(v={},!C)){setTimeout($,0),t.on("mousedown",D);var i=t.getSelectionRange();i.end.row=i.start.row,i.end.column=i.start.column,v.markerRange=i,v.selectionStart=y,t.onCompositionStart(v),v.useTextareaForIME?(n.value="",S="",y=0,R=0):(n.msGetInputContext&&(v.context=n.msGetInputContext()),n.getInputContext&&(v.context=n.getInputContext()))}})),i.addListener(n,"compositionupdate",$),i.addListener(n,"keyup",(function(e){27==e.keyCode&&n.value.length<n.selectionStart&&(v||(S=n.value),y=R=-1,w()),G()})),i.addListener(n,"keydown",G),i.addListener(n,"compositionend",B),this.getElement=function(){return n},this.setCommandMode=function(e){C=e,n.readOnly=!1},this.setReadOnly=function(e){C||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){},this.onContextMenu=function(e){L=!0,w(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,s){E||(E=n.style.cssText),n.style.cssText=(s?"z-index:100000;":"")+(r.isIE?"opacity:0.1;":"")+"text-indent: -"+(y+R)*t.renderer.characterWidth*.5+"px;";var a=t.container.getBoundingClientRect(),c=o.computedStyle(t.container),l=a.top+(parseInt(c.borderTopWidth)||0),u=a.left+(parseInt(a.borderLeftWidth)||0),h=a.bottom-l-n.clientHeight-2,d=function(e){o.translate(n,e.clientX-u-2,Math.min(e.clientY-l-2,h))};d(e),"mousedown"==e.type&&(t.renderer.$isMousePressed=!0,clearTimeout(U),r.isWin&&i.capture(t.container,d,W))},this.onContextMenuClose=W;var H=function(e){t.textInput.onContextMenu(e),W()};i.addListener(n,"mouseup",H),i.addListener(n,"mousedown",(function(e){e.preventDefault(),W()})),i.addListener(t.renderer.scroller,"contextmenu",H),i.addListener(n,"contextmenu",H),p&&function(e,t,n){var i=null,r=!1;n.addEventListener("keydown",(function(e){i&&clearTimeout(i),r=!0}),!0),n.addEventListener("keyup",(function(e){i=setTimeout((function(){r=!1}),100)}),!0);var o=function(e){if(document.activeElement===n&&!(r||v||t.$mouseHandler.isMousePressed||f)){var i=n.selectionStart,o=n.selectionEnd,s=null,a=0;if(0==i?s=h.up:1==i?s=h.home:o>R&&"\n"==S[o]?s=h.end:i<y&&" "==S[i-1]?(s=h.left,a=d.option):i<y||i==y&&R!=y&&i==o?s=h.left:o>R&&S.slice(0,o).split("\n").length>2?s=h.down:o>R&&" "==S[o-1]?(s=h.right,a=d.option):(o>R||o==R&&R!=y&&i==o)&&(s=h.right),i!==o&&(a|=d.shift),s){if(!t.onCommandKey({},a,s)&&t.commands){s=h.keyCodeToString(s);var c=t.commands.findKeyCommand(a,s);c&&t.execCommand(c)}y=i,R=o,w("")}}};document.addEventListener("selectionchange",o),t.on("destroy",(function(){document.removeEventListener("selectionchange",o)}))}(0,t,n)}})),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],(function(e,t,n){"use strict";var i=e("../lib/useragent");function r(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach((function(t){e[t]=this[t]}),this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function o(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)n=2*t.row-e.start.row-e.end.row;else var n=t.column-4;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,o=e.getButton();return 0!==o?((r.getSelectionRange().isEmpty()||1==o)&&r.selection.moveToPosition(n),void(2==o&&(r.textInput.onContextMenu(e.domEvent),i.isMozilla||e.preventDefault()))):(this.mousedownEvent.time=Date.now(),!t||r.isFocused()||(r.focus(),!this.$focusTimeout||this.$clickSelection||r.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()):(this.setState("focusWait"),void this.captureMouse(e)))},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"))},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var i=this.$clickSelection.comparePoint(n);if(-1==i)e=this.$clickSelection.end;else if(1==i)e=this.$clickSelection.start;else{var r=o(this.$clickSelection,n);n=r.cursor,e=r.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,i=n.renderer.screenToTextCoordinates(this.x,this.y),r=n.selection[e](i.row,i.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(r.start),a=this.$clickSelection.comparePoint(r.end);if(-1==s&&a<=0)t=this.$clickSelection.end,r.end.row==i.row&&r.end.column==i.column||(i=r.start);else if(1==a&&s>=0)t=this.$clickSelection.start,r.start.row==i.row&&r.start.column==i.column||(i=r.end);else if(-1==s&&1==a)i=r.end,t=r.start;else{var c=o(this.$clickSelection,i);i=c.cursor,t=c.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(i),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e,t,n,i,r=(e=this.mousedownEvent.x,t=this.mousedownEvent.y,n=this.x,i=this.y,Math.sqrt(Math.pow(n-e,2)+Math.pow(i-t,2))),o=Date.now();(r>0||o-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,i=n.session.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var i=n.getSelectionRange();i.isMultiLine()&&i.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(i.start.row),this.$clickSelection.end=n.selection.getLineRange(i.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,i=e.domEvent.timeStamp,r=i-n.t,o=r?e.wheelX/r:n.vx,s=r?e.wheelY/r:n.vy;r<550&&(o=(o+n.vx)/2,s=(s+n.vy)/2);var a=Math.abs(o/s),c=!1;if(a>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(c=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(c=!0),c)n.allowed=i;else if(i-n.allowed<550){Math.abs(o)<=1.5*Math.abs(n.vx)&&Math.abs(s)<=1.5*Math.abs(n.vy)?(c=!0,n.allowed=i):n.allowed=0}return n.t=i,n.vx=o,n.vy=s,c?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}}}).call(r.prototype),t.DefaultHandlers=r})),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],(function(e,t,n){"use strict";e("./lib/oop");var i=e("./lib/dom");function r(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){null!=e&&this.setText(e),null!=t&&null!=n&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(r.prototype),t.Tooltip=r})),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],(function(e,t,n){"use strict";var i=e("../lib/dom"),r=e("../lib/oop"),o=e("../lib/event"),s=e("../tooltip").Tooltip;function a(e){s.call(this,e)}r.inherits(a,s),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,i=window.innerHeight||document.documentElement.clientHeight,r=this.getWidth(),o=this.getHeight();(e+=15)+r>n&&(e-=e+r-n),(t+=15)+o>i&&(t-=20+o),s.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=function(e){var t,n,r,s=e.editor,c=s.renderer.$gutterLayer,l=new a(s.container);function u(){t&&(t=clearTimeout(t)),r&&(l.hide(),r=null,s._signal("hideGutterTooltip",l),s.removeEventListener("mousewheel",u))}function h(e){l.setPosition(e.x,e.y)}e.editor.setDefaultHandler("guttermousedown",(function(t){if(s.isFocused()&&0==t.getButton()&&"foldWidgets"!=c.getRegion(t)){var n=t.getDocumentPosition().row,i=s.session.selection;if(t.getShiftKey())i.selectTo(n,0);else{if(2==t.domEvent.detail)return s.selectAll(),t.preventDefault();e.$clickSelection=s.selection.getLineRange(n)}return e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}})),e.editor.setDefaultHandler("guttermousemove",(function(o){var a=o.domEvent.target||o.domEvent.srcElement;if(i.hasCssClass(a,"ace_fold-widget"))return u();r&&e.$tooltipFollowsMouse&&h(o),n=o,t||(t=setTimeout((function(){t=null,n&&!e.isMousePressed?function(){var t=n.getDocumentPosition().row,i=c.$annotations[t];if(!i)return u();if(t==s.session.getLength()){var o=s.renderer.pixelToScreenCoordinates(0,n.y).row,a=n.$pos;if(o>s.session.documentToScreenRow(a.row,a.column))return u()}if(r!=i)if(r=i.text.join("<br/>"),l.setHtml(r),l.show(),s._signal("showGutterTooltip",l),s.on("mousewheel",u),e.$tooltipFollowsMouse)h(n);else{var d=n.domEvent.target.getBoundingClientRect(),p=l.getElement().style;p.left=d.right+"px",p.top=d.bottom+"px"}}():u()}),50))})),o.addListener(s.renderer.$gutter,"mouseout",(function(e){n=null,r&&!t&&(t=setTimeout((function(){t=null,u()}),50))})),s.on("changeSession",u)}})),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(e,t,n){"use strict";var i=e("../lib/event"),r=e("../lib/useragent"),o=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){i.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){i.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},this.getButton=function(){return i.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=r.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(o.prototype)})),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],(function(e,t,n){"use strict";var i=e("../lib/dom"),r=e("../lib/event"),o=e("../lib/useragent"),s=200,a=200,c=5;function l(e){var t=e.editor,n=i.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",o.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach((function(t){e[t]=this[t]}),this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var l,h,d,p,m,f,g,v,_,E,C,A=t.container,S=0;function y(){var e=f;(function(e,n){var i=Date.now(),r=!n||e.row!=n.row,o=!n||e.column!=n.column;!E||r||o?(t.moveCursorToPosition(e),E=i,C={x:h,y:d}):u(C.x,C.y,h,d)>c?E=null:i-E>=a&&(t.renderer.scrollCursorIntoView(),E=null)})(f=t.renderer.screenToTextCoordinates(h,d),e),function(e,n){var i=Date.now(),r=t.renderer.layerConfig.lineHeight,o=t.renderer.layerConfig.characterWidth,a=t.renderer.scroller.getBoundingClientRect(),c={x:{left:h-a.left,right:a.right-h},y:{top:d-a.top,bottom:a.bottom-d}},l=Math.min(c.x.left,c.x.right),u=Math.min(c.y.top,c.y.bottom),p={row:e.row,column:e.column};l/o<=2&&(p.column+=c.x.left<c.x.right?-3:2),u/r<=1&&(p.row+=c.y.top<c.y.bottom?-1:1);var m=e.row!=p.row,f=e.column!=p.column,g=!n||e.row!=n.row;m||f&&!g?_?i-_>=s&&t.renderer.scrollCursorIntoView(p):_=i:_=null}(f,e)}function R(){m=t.selection.toOrientedRange(),l=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(p),y(),p=setInterval(y,20),S=0,r.addListener(document,"mousemove",w)}function b(){clearInterval(p),t.session.removeMarker(l),l=null,t.selection.fromOrientedRange(m),t.isFocused()&&!v&&t.$resetCursorStyle(),m=null,f=null,S=0,_=null,E=null,r.removeListener(document,"mousemove",w)}this.onDragStart=function(e){if(this.cancelDrag||!A.draggable){var i=this;return setTimeout((function(){i.startSelect(),i.captureMouse(e)}),0),e.preventDefault()}m=t.getSelectionRange();var r=e.dataTransfer;r.effectAllowed=t.getReadOnly()?"copy":"copyMove",o.isOpera&&(t.container.appendChild(n),n.scrollTop=0),r.setDragImage&&r.setDragImage(n,0,0),o.isOpera&&t.container.removeChild(n),r.clearData(),r.setData("Text",t.session.getTextRange()),v=!0,this.setState("drag")},this.onDragEnd=function(e){if(A.draggable=!1,v=!1,this.setState(null),!t.getReadOnly()){var n=e.dataTransfer.dropEffect;g||"move"!=n||t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(!t.getReadOnly()&&x(e.dataTransfer))return h=e.clientX,d=e.clientY,l||R(),S++,e.dataTransfer.dropEffect=g=L(e),r.preventDefault(e)},this.onDragOver=function(e){if(!t.getReadOnly()&&x(e.dataTransfer))return h=e.clientX,d=e.clientY,l||(R(),S++),null!==T&&(T=null),e.dataTransfer.dropEffect=g=L(e),r.preventDefault(e)},this.onDragLeave=function(e){if(--S<=0&&l)return b(),g=null,r.preventDefault(e)},this.onDrop=function(e){if(f){var n=e.dataTransfer;if(v)switch(g){case"move":m=m.contains(f.row,f.column)?{start:f,end:f}:t.moveText(m,f);break;case"copy":m=t.moveText(m,f,!0)}else{var i=n.getData("Text");m={start:f,end:t.session.insert(f,i)},t.focus(),g=null}return b(),r.preventDefault(e)}},r.addListener(A,"dragstart",this.onDragStart.bind(e)),r.addListener(A,"dragend",this.onDragEnd.bind(e)),r.addListener(A,"dragenter",this.onDragEnter.bind(e)),r.addListener(A,"dragover",this.onDragOver.bind(e)),r.addListener(A,"dragleave",this.onDragLeave.bind(e)),r.addListener(A,"drop",this.onDrop.bind(e));var T=null;function w(){null==T&&(T=setTimeout((function(){null!=T&&l&&b()}),20))}function x(e){var t=e.types;return!t||Array.prototype.some.call(t,(function(e){return"text/plain"==e||"Text"==e}))}function L(e){var t=["copy","copymove","all","uninitialized"],n=o.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var r="none";return n&&t.indexOf(i)>=0?r="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(i)>=0?r="move":t.indexOf(i)>=0&&(r="copy"),r}}function u(e,t,n,i){return Math.sqrt(Math.pow(n-e,2)+Math.pow(i-t,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=o.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;o.isIE&&"dragReady"==this.state&&(u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&t.dragDrop());"dragWait"===this.state&&(u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition())))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),i=e.getButton();if(1===(e.domEvent.detail||1)&&0===i&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var r=e.domEvent.target||e.domEvent.srcElement;if("unselectable"in r&&(r.unselectable="on"),t.getDragDelay()){if(o.isWebKit)this.cancelDrag=!0,t.container.draggable=!0;this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(l.prototype),t.DragdropHandler=l})),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/dom"],(function(e,t,n){"use strict";var i=e("./mouse_event").MouseEvent,r=e("../lib/dom");t.addTouchListeners=function(e,t){var n,o,s,a,c,l,u,h,d,p="scroll",m=0,f=0,g=0,v=0;function _(){var e=window.navigator&&window.navigator.clipboard,n=!1,i=function(i){var o,s,a=i.target.getAttribute("action");if("more"==a||!n)return n=!n,o=t.getCopyText(),s=t.session.getUndoManager().hasUndo(),void d.replaceChild(r.buildDom(n?["span",!o&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],o&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],o&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],e&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],s&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],["span",{class:"ace_mobile-button",action:"find"},"Find"],["span",{class:"ace_mobile-button",action:"openCommandPallete"},"Pallete"]]:["span"]),d.firstChild);"paste"==a?e.readText().then((function(e){t.execCommand(a,e)})):a&&("cut"!=a&&"copy"!=a||(e?e.writeText(t.getCopyText()):document.execCommand("copy")),t.execCommand(a)),d.firstChild.style.display="none",n=!1,"openCommandPallete"!=a&&t.focus()};d=r.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(e){p="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),i(e)},onclick:i},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],t.container)}function E(){d||_();var e=t.selection.cursor,n=t.renderer.textToScreenCoordinates(e.row,e.column),i=t.container.getBoundingClientRect();d.style.top=n.pageY-i.top-3+"px",d.style.right="10px",d.style.display="",d.firstChild.style.display="none",t.on("input",C)}function C(e){d&&(d.style.display="none"),t.off("input",C)}function A(){c=null,clearTimeout(c);var e=t.selection.getRange(),n=e.contains(u.row,u.column);!e.isEmpty()&&n||(t.selection.moveToPosition(u),t.selection.selectWord()),p="wait",E()}e.addEventListener("contextmenu",(function(e){h&&t.textInput.getElement().focus()})),e.addEventListener("touchstart",(function(e){var r=e.touches;if(c||r.length>1)return clearTimeout(c),c=null,s=-1,void(p="zoom");h=t.$mouseHandler.isMousePressed=!0;var l=t.renderer.layerConfig.lineHeight,d=t.renderer.layerConfig.lineHeight,_=e.timeStamp;a=_;var E=r[0],C=E.clientX,S=E.clientY;Math.abs(n-C)+Math.abs(o-S)>l&&(s=-1),n=e.clientX=C,o=e.clientY=S,g=v=0;var y=new i(e,t);if(u=y.getDocumentPosition(),_-s<500&&1==r.length&&!m)f++,e.preventDefault(),e.button=0,function(){c=null,clearTimeout(c),t.selection.moveToPosition(u);var e=f>=2?t.selection.getLineRange(u.row):t.session.getBracketRange(u);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),p="wait"}();else{f=0;var R=t.selection.cursor,b=t.selection.isEmpty()?R:t.selection.anchor,T=t.renderer.$cursorLayer.getPixelPosition(R,!0),w=t.renderer.$cursorLayer.getPixelPosition(b,!0),x=t.renderer.scroller.getBoundingClientRect(),L=function(e,t){return(e/=d)*e+(t=t/l-.75)*t};if(e.clientX<x.left)return void(p="zoom");var F=L(e.clientX-x.left-T.left,e.clientY-x.top-T.top),I=L(e.clientX-x.left-w.left,e.clientY-x.top-w.top);F<3.5&&I<3.5&&(p=F>I?"cursor":"anchor"),p=I<3.5?"anchor":F<3.5?"cursor":"scroll",c=setTimeout(A,450)}s=_})),e.addEventListener("touchend",(function(e){h=t.$mouseHandler.isMousePressed=!1,l&&clearInterval(l),"zoom"==p?(p="",m=0):c?(t.selection.moveToPosition(u),m=0,E()):"scroll"==p?(m+=60,l=setInterval((function(){m--<=0&&(clearInterval(l),l=null),Math.abs(g)<.01&&(g=0),Math.abs(v)<.01&&(v=0),m<20&&(g*=.9),m<20&&(v*=.9);var e=t.session.getScrollTop();t.renderer.scrollBy(10*g,10*v),e==t.session.getScrollTop()&&(m=0)}),10),e.preventDefault(),C()):E(),clearTimeout(c),c=null})),e.addEventListener("touchmove",(function(e){c&&(clearTimeout(c),c=null);var r=e.touches;if(!(r.length>1||"zoom"==p)){var s=r[0],l=n-s.clientX,u=o-s.clientY;if("wait"==p){if(!(l*l+u*u>4))return e.preventDefault();p="cursor"}n=s.clientX,o=s.clientY,e.clientX=s.clientX,e.clientY=s.clientY;var h=e.timeStamp,d=h-a;if(a=h,"scroll"==p){var m=new i(e,t);m.speed=1,m.wheelX=l,m.wheelY=u,10*Math.abs(l)<Math.abs(u)&&(l=0),10*Math.abs(u)<Math.abs(l)&&(u=0),0!=d&&(g=l/d,v=u/d),t._emit("mousewheel",m),m.propagationStopped||(g=v=0)}else{var f=new i(e,t).getDocumentPosition();"cursor"==p?t.selection.moveCursorToPosition(f):"anchor"==p&&t.selection.setSelectionAnchor(f.row,f.column),t.renderer.scrollCursorIntoView(f),e.preventDefault()}}}))}})),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";var i=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){4===n.readyState&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=i.getDocumentHead(),r=document.createElement("script");r.src=e,n.appendChild(r),r.onload=r.onreadystatechange=function(e,n){!n&&r.readyState&&"loaded"!=r.readyState&&"complete"!=r.readyState||(r=r.onload=r.onreadystatechange=null,n||t())}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}})),ace.define("ace/lib/event_emitter",["require","exports","module"],(function(e,t,n){"use strict";var i={},r=function(){this.propagationStopped=!0},o=function(){this.defaultPrevented=!0};i._emit=i._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],i=this._defaultHandlers[e];if(n.length||i){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=r),t.preventDefault||(t.preventDefault=o),n=n.slice();for(var s=0;s<n.length&&(n[s](t,this),!t.propagationStopped);s++);return i&&!t.defaultPrevented?i(t,this):void 0}},i._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(n){n=n.slice();for(var i=0;i<n.length;i++)n[i](t,this)}},i.once=function(e,t){var n=this;if(this.addEventListener(e,(function i(){n.removeEventListener(e,i),t.apply(null,arguments)})),!t)return new Promise((function(e){t=e}))},i.setDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n||(n=this._defaultHandlers={_disabled_:{}}),n[e]){var i=n[e],r=n._disabled_[e];r||(n._disabled_[e]=r=[]),r.push(i);var o=r.indexOf(t);-1!=o&&r.splice(o,1)}n[e]=t},i.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n){var i=n._disabled_[e];if(n[e]==t)i&&this.setDefaultHandler(e,i.pop());else if(i){var r=i.indexOf(t);-1!=r&&i.splice(r,1)}}},i.on=i.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[e];return i||(i=this._eventRegistry[e]=[]),-1==i.indexOf(t)&&i[n?"unshift":"push"](t),t},i.off=i.removeListener=i.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(n){var i=n.indexOf(t);-1!==i&&n.splice(i,1)}},i.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=i})),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(e,t,n){var i=e("./oop"),r=e("./event_emitter").EventEmitter,o={setOptions:function(e){Object.keys(e).forEach((function(t){this.setOption(t,e[t])}),this)},getOptions:function(e){var t={};if(e)Array.isArray(e)||(t=e,e=Object.keys(t));else{var n=this.$options;e=Object.keys(n).filter((function(e){return!n[e].hidden}))}return e.forEach((function(e){t[e]=this.getOption(e)}),this),t},setOption:function(e,t){if(this["$"+e]!==t){var n=this.$options[e];if(!n)return s('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:s('misspelled option "'+e+'"')}};function s(e){"undefined"!=typeof console&&console.warn&&console.warn.apply(console,arguments)}function a(e,t){var n=new Error(e);n.data=t,"object"==typeof console&&console.error&&console.error(n),setTimeout((function(){throw n}))}var c=function(){this.$defaultOptions={}};(function(){i.implement(this,r),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach((function(t){var i=n[t];"string"==typeof i&&(i={forwardTo:i}),i.name||(i.name=t),e.$options[i.name]=i,"initialValue"in i&&(e["$"+i.name]=i.initialValue)})),i.implement(e,o),this},this.resetOptions=function(e){Object.keys(e.$options).forEach((function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)}))},this.setDefaultValue=function(e,t,n){if(!e){for(e in this.$defaultOptions)if(this.$defaultOptions[e][t])break;if(!this.$defaultOptions[e][t])return!1}var i=this.$defaultOptions[e]||(this.$defaultOptions[e]={});i[t]&&(i.forwardTo?this.setDefaultValue(i.forwardTo,t,n):i[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach((function(n){this.setDefaultValue(e,n,t[n])}),this)},this.warn=s,this.reportError=a}).call(c.prototype),t.AppConfig=c})),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],(function(e,t,i){var r=e("./lib/lang"),o=(e("./lib/oop"),e("./lib/net")),s=e("./lib/app_config").AppConfig;i.exports=t=new s;var a=function(){return this||"undefined"!=typeof window&&window}(),c={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1};t.get=function(e){if(!c.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return c[e]},t.set=function(e,t){if(c.hasOwnProperty(e))c[e]=t;else if(0==this.setDefaultValue("",e,t))throw new Error("Unknown config key: "+e)},t.all=function(){return r.copyObject(c)},t.$modes={},t.moduleUrl=function(e,t){if(c.$moduleUrls[e])return c.$moduleUrls[e];var n=e.split("/"),i="snippets"==(t=t||n[n.length-2]||"")?"/":"-",r=n[n.length-1];if("worker"==t&&"-"==i){var o=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");r=r.replace(o,"")}(!r||r==t)&&n.length>1&&(r=n[n.length-2]);var s=c[t+"Path"];return null==s?s=c.basePath:"/"==i&&(t=i=""),s&&"/"!=s.slice(-1)&&(s+="/"),s+t+i+r+this.get("suffix")},t.setModuleUrl=function(e,t){return c.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,i){var r,s;Array.isArray(n)&&(s=n[0],n=n[1]);try{r=e(n)}catch(e){}if(r&&!t.$loading[n])return i&&i(r);if(t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(i),!(t.$loading[n].length>1)){var a=function(){e([n],(function(e){t._emit("load.module",{name:n,module:e});var i=t.$loading[n];t.$loading[n]=null,i.forEach((function(t){t&&t(e)}))}))};if(!t.get("packaged"))return a();o.loadScript(t.moduleUrl(n,s),a),l()}};var l=function(){c.basePath||c.workerPath||c.modePath||c.themePath||Object.keys(c.$moduleUrls).length||(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),l=function(){})};function u(r){if(a&&a.document){c.packaged=r||e.packaged||i.packaged||a.define&&n(3).packaged;for(var o,s={},l="",u=document.currentScript||document._currentScript,h=(u&&u.ownerDocument||document).getElementsByTagName("script"),d=0;d<h.length;d++){var p=h[d],m=p.src||p.getAttribute("src");if(m){for(var f=p.attributes,g=0,v=f.length;g<v;g++){var _=f[g];0===_.name.indexOf("data-ace-")&&(s[(o=_.name.replace(/^data-ace-/,""),o.replace(/-(.)/g,(function(e,t){return t.toUpperCase()})))]=_.value)}var E=m.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);E&&(l=E[1])}}for(var C in l&&(s.base=s.base||l,s.packaged=!0),s.basePath=s.base,s.workerPath=s.workerPath||s.base,s.modePath=s.modePath||s.base,s.themePath=s.themePath||s.base,delete s.base,s)void 0!==s[C]&&t.set(C,s[C])}}u(!0),t.init=u,t.version="1.4.7"})),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],(function(e,t,n){"use strict";var i=e("../lib/event"),r=e("../lib/useragent"),o=e("./default_handlers").DefaultHandlers,s=e("./default_gutter_handler").GutterHandler,a=e("./mouse_event").MouseEvent,c=e("./dragdrop_handler").DragdropHandler,l=e("./touch_handler").addTouchListeners,u=e("../config"),h=function(e){var t=this;this.editor=e,new o(this),new s(this),new c(this);var n=function(t){(!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement()))&&window.focus(),e.focus()},a=e.renderer.getMouseEventTarget();i.addListener(a,"click",this.onMouseEvent.bind(this,"click")),i.addListener(a,"mousemove",this.onMouseMove.bind(this,"mousemove")),i.addMultiMouseDownListener([a,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),i.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),l(e.container,e);var u=e.renderer.$gutter;i.addListener(u,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),i.addListener(u,"click",this.onMouseEvent.bind(this,"gutterclick")),i.addListener(u,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),i.addListener(u,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),i.addListener(a,"mousedown",n),i.addListener(u,"mousedown",n),r.isIE&&e.renderer.scrollBarV&&(i.addListener(e.renderer.scrollBarV.element,"mousedown",n),i.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",(function(n){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var i=e.renderer.screenToTextCoordinates(n.x,n.y),r=e.session.selection.getRange(),o=e.renderer;!r.isEmpty()&&r.insideStart(i.row,i.column)?o.setCursorStyle("default"):o.setCursorStyle("")}}))};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new a(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;n&&n.length&&this.editor._emit(e,new a(t,this.editor))},this.onMouseWheel=function(e,t){var n=new a(t,this.editor);n.speed=2*this.$scrollSpeed,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,o=this.editor.renderer;o.$isMousePressed=!0;var s=this,c=function(e){if(e){if(r.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new a(e,s.editor),s.$mouseMoved=!0}},l=function(e){n.off("beforeEndOperation",h),clearInterval(d),u(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",s.isMousePressed=o.$isMousePressed=!1,o.$keepTextAreaAtCursor&&o.$moveTextAreaToCursor(),s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e),n.endOperation()},u=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(r.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout((function(){l(e)}));var h=function(e){s.releaseMouse&&n.curOp.command.name&&n.curOp.selectionChanged&&(s[s.state+"End"]&&s[s.state+"End"](),s.state="",s.releaseMouse())};n.on("beforeEndOperation",h),n.startOperation({command:{name:"mouse"}}),s.$onCaptureMouseMove=c,s.releaseMouse=i.capture(this.editor.container,c,l);var d=setInterval(u,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&"contextmenu"!=t.domEvent.type||(this.editor.off("nativecontextmenu",e),t&&t.domEvent&&i.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(h.prototype),u.defineOptions(h.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:r.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=h})),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";var i=e("../lib/dom");t.FoldHandler=function(e){e.on("click",(function(t){var n=t.getDocumentPosition(),r=e.session,o=r.getFoldAt(n.row,n.column,1);o&&(t.getAccelKey()?r.removeFold(o):r.expandFold(o),t.stop());var s=t.domEvent&&t.domEvent.target;s&&i.hasCssClass(s,"ace_inline_button")&&i.hasCssClass(s,"ace_toggle_wrap")&&(r.setOption("wrap",!r.getUseWrapMode()),e.renderer.scrollCursorIntoView())})),e.on("gutterclick",(function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var n=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[n]&&e.session.onFoldWidgetClick(n,t),e.isFocused()||e.focus(),t.stop()}})),e.on("gutterdblclick",(function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var n=t.getDocumentPosition().row,i=e.session,r=i.getParentFoldRangeData(n,!0),o=r.range||r.firstRange;if(o){n=o.start.row;var s=i.getFoldAt(n,i.getLine(n).length,1);s?i.removeFold(s):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}}))}})),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],(function(e,t,n){"use strict";var i=e("../lib/keys"),r=e("../lib/event"),o=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){"function"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);-1!=n&&this.$handlers.splice(n,1),null==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==n&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1!=t&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map((function(n){return n.getStatusText&&n.getStatusText(t,e)||""})).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,i){for(var o,s=!1,a=this.$editor.commands,c=this.$handlers.length;c--&&!((o=this.$handlers[c].handleKeyboard(this.$data,e,t,n,i))&&o.command&&((s="null"==o.command||a.exec(o.command,this.$editor,o.args,i))&&i&&-1!=e&&1!=o.passEvent&&1!=o.command.passEvent&&r.stopEvent(i),s)););return s||-1!=e||(o={command:"insertstring"},s=a.exec("insertstring",this.$editor,t)),s&&this.$editor._signal&&this.$editor._signal("keyboardActivity",o),s},this.onCommandKey=function(e,t,n){var r=i.keyCodeToString(n);return this.$callKeyboardHandlers(t,r,n,e)},this.onTextInput=function(e){return this.$callKeyboardHandlers(-1,e)}}).call(o.prototype),t.KeyBinding=o})),ace.define("ace/lib/bidiutil",["require","exports","module"],(function(e,t,n){"use strict";var i=0,r=0,o=!1,s=!1,a=!1,c=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],l=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],u=1,h=0,d=1,p=2,m=3,f=4,g=5,v=6,_=7,E=8,C=9,A=10,S=11,y=12,R=13,b=14,T=15,w=16,x=17,L=18,F=[L,L,L,L,L,L,L,L,L,v,g,v,E,g,L,L,L,L,L,L,L,L,L,L,L,L,L,L,g,g,g,v,E,f,f,S,S,S,f,f,f,f,f,A,C,A,C,C,p,p,p,p,p,p,p,p,p,p,C,f,f,f,f,f,f,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,f,f,f,f,f,f,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,f,f,f,f,L,L,L,L,L,L,g,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,C,f,S,S,S,S,f,f,f,f,h,f,f,L,f,f,S,S,p,p,f,h,f,f,f,p,h,f,f,f,f,f],I=[E,E,E,E,E,E,E,E,E,E,E,L,L,L,h,d,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,E,g,R,b,T,w,x,C,S,S,S,S,S,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,C,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,E];function O(e,t,n){if(!(r<e))if(1!=e||i!=u||s)for(var o,a,c,l,h=n.length,d=0;d<h;){if(t[d]>=e){for(o=d+1;o<h&&t[o]>=e;)o++;for(a=d,c=o-1;a<c;a++,c--)l=n[a],n[a]=n[c],n[c]=l;d=o}d++}else n.reverse()}function M(e,t,n,r){var c,l,u,F,I=t[r];switch(I){case h:case d:o=!1;case f:case m:return I;case p:return o?m:p;case _:return o=!0,!0,d;case E:return f;case C:return r<1||r+1>=t.length||(c=n[r-1])!=p&&c!=m||(l=t[r+1])!=p&&l!=m?f:(o&&(l=m),l==c?l:f);case A:return(c=r>0?n[r-1]:g)==p&&r+1<t.length&&t[r+1]==p?p:f;case S:if(r>0&&n[r-1]==p)return p;if(o)return f;for(F=r+1,u=t.length;F<u&&t[F]==S;)F++;return F<u&&t[F]==p?p:f;case y:for(u=t.length,F=r+1;F<u&&t[F]==y;)F++;if(F<u){var O=e[r],M=O>=1425&&O<=2303||64286==O;if(c=t[F],M&&(c==d||c==_))return d}return r<1||(c=t[r-1])==g?f:n[r-1];case g:return o=!1,s=!0,i;case v:return a=!0,f;case R:case b:case w:case x:case T:o=!1;case L:return f}}function N(e){var t=e.charCodeAt(0),n=t>>8;return 0==n?t>191?h:F[t]:5==n?/[\u0591-\u05f4]/.test(e)?d:h:6==n?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?y:/[\u0660-\u0669\u066b-\u066c]/.test(e)?m:1642==t?S:/[\u06f0-\u06f9]/.test(e)?p:_:32==n&&t<=8287?I[255&t]:254==n&&t>=65136?_:f}t.L=h,t.R=d,t.EN=p,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="·",t.doBidiReorder=function(e,n,h){if(e.length<2)return{};var p=e.split(""),C=new Array(p.length),A=new Array(p.length),S=[];i=h?u:0,function(e,t,n,u){var h=i?l:c,d=null,p=null,m=null,f=0,_=null,C=-1,A=null,S=null,y=[];if(!u)for(A=0,u=[];A<n;A++)u[A]=N(e[A]);for(r=i,o=!1,!1,s=!1,a=!1,S=0;S<n;S++){if(d=f,y[S]=p=M(e,u,y,S),_=240&(f=h[d][p]),f&=15,t[S]=m=h[f][5],_>0)if(16==_){for(A=C;A<S;A++)t[A]=1;C=-1}else C=-1;if(h[f][6])-1==C&&(C=S);else if(C>-1){for(A=C;A<S;A++)t[A]=m;C=-1}u[S]==g&&(t[S]=0),r|=m}if(a)for(A=0;A<n;A++)if(u[A]==v){t[A]=i;for(var R=A-1;R>=0&&u[R]==E;R--)t[R]=i}}(p,S,p.length,n);for(var y=0;y<C.length;C[y]=y,y++);O(2,S,C),O(1,S,C);for(y=0;y<C.length-1;y++)n[y]===m?S[y]=t.AN:S[y]===d&&(n[y]>_&&n[y]<R||n[y]===f||n[y]===L)?S[y]=t.ON_R:y>0&&"ل"===p[y-1]&&/\u0622|\u0623|\u0625|\u0627/.test(p[y])&&(S[y-1]=S[y]=t.R_H,y++);p[p.length-1]===t.DOT&&(S[p.length-1]=t.B),"‫"===p[0]&&(S[0]=t.RLE);for(y=0;y<C.length;y++)A[y]=S[C[y]];return{logicalFromVisual:C,bidiLevels:A}},t.hasBidiCharacters=function(e,t){for(var n=!1,i=0;i<e.length;i++)t[i]=N(e.charAt(i)),n||t[i]!=d&&t[i]!=_&&t[i]!=m||(n=!0);return n},t.getVisualFromLogicalIdx=function(e,t){for(var n=0;n<t.logicalFromVisual.length;n++)if(t.logicalFromVisual[n]==e)return n;return 0}})),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],(function(e,t,n){"use strict";var i=e("./lib/bidiutil"),r=e("./lib/lang"),o=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,s=function(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=i,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="‫",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=o.test(e.getValue())};(function(){this.isBidiRow=function(e,t,n){return!!this.seenBidi&&(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,n),this.updateBidiMap()),this.bidiMap.bidiLevels)},this.onChange=function(e){this.seenBidi?this.currentRow=null:"insert"==e.action&&o.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n=this.session.$getRowCacheIndex(t,this.currentRow);n>=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var n,i=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(n=this.session.$getRowCacheIndex(t,this.currentRow-e-1))===i;)i=n,e++;else e=this.currentRow;return e},this.updateRowLine=function(e,t){void 0===e&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(void 0===t&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[i.L],this.line=t<o.length?this.line.substring(o[t-1],o[t]):this.line.substring(o[o.length-1])):this.line=this.line.substring(0,o[t])),t==o.length&&(this.line+=this.showInvisibles?n:i.DOT)}else this.line+=this.showInvisibles?n:i.DOT;var s,a=this.session,c=0;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,(function(e,t){return"\t"===e||a.isFullWidth(e.charCodeAt(0))?(s="\t"===e?a.getScreenTabSize(t+c):2,c+=s-1,r.stringRepeat(i.DOT,s)):e})),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==i.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},this.updateBidiMap=function(){var e=[];i.hasBidiCharacters(this.line,e)||this.isRtlDir?this.bidiMap=i.doBidiReorder(this.line,e,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.characterWidth!==e.$characterSize.width){this.fontMetrics=e;var t=this.characterWidth=e.$characterSize.width,n=e.$measureCharWidth("ה");this.charWidths[i.L]=this.charWidths[i.EN]=this.charWidths[i.ON_R]=t,this.charWidths[i.R]=this.charWidths[i.AN]=n,this.charWidths[i.R_H]=.45*n,this.charWidths[i.B]=this.charWidths[i.RLE]=0,this.currentRow=null}},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setContentWidth=function(e){this.contentWidth=e},this.isRtlLine=function(e){return!!this.$isRtl||(null!=e?this.session.getLine(e).charAt(0)==this.RLE:this.isRtlDir)},this.setRtlDirection=function(e,t){for(var n=e.getCursorPosition(),i=e.selection.getSelectionAnchor().row;i<=n.row;i++)t||e.session.getLine(i).charAt(0)!==e.session.$bidiHandler.RLE?t&&e.session.getLine(i).charAt(0)!==e.session.$bidiHandler.RLE&&e.session.doc.insert({column:0,row:i},e.session.$bidiHandler.RLE):e.session.doc.removeInLine(i,0,1)},this.getPosLeft=function(e){e-=this.wrapIndent;var t=this.line.charAt(0)===this.RLE?1:0,n=e>t?this.session.getOverwrite()?e:e-1:t,r=i.getVisualFromLogicalIdx(n,this.bidiMap),o=this.bidiMap.bidiLevels,s=0;!this.session.getOverwrite()&&e<=t&&o[r]%2!=0&&r++;for(var a=0;a<r;a++)s+=this.charWidths[o[a]];return!this.session.getOverwrite()&&e>t&&o[r]%2==0&&(s+=this.charWidths[o[r]]),this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(s+=this.rtlLineOffset),s},this.getSelections=function(e,t){var n,i=this.bidiMap,r=i.bidiLevels,o=[],s=0,a=Math.min(e,t)-this.wrapIndent,c=Math.max(e,t)-this.wrapIndent,l=!1,u=!1,h=0;this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var d,p=0;p<r.length;p++)d=i.logicalFromVisual[p],n=r[p],(l=d>=a&&d<c)&&!u?h=s:!l&&u&&o.push({left:h,width:s-h}),s+=this.charWidths[n],u=l;if(l&&p===r.length&&o.push({left:h,width:s-h}),this.isRtlDir)for(var m=0;m<o.length;m++)o[m].left+=this.rtlLineOffset;return o},this.offsetToCol=function(e){this.isRtlDir&&(e-=this.rtlLineOffset);var t=0,n=(e=Math.max(e,0),0),i=0,r=this.bidiMap.bidiLevels,o=this.charWidths[r[i]];for(this.wrapIndent&&(e-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);e>n+o/2;){if(n+=o,i===r.length-1){o=0;break}o=this.charWidths[r[++i]]}return i>0&&r[i-1]%2!=0&&r[i]%2==0?(e<n&&i--,t=this.bidiMap.logicalFromVisual[i]):i>0&&r[i-1]%2==0&&r[i]%2!=0?t=1+(e>n?this.bidiMap.logicalFromVisual[i]:this.bidiMap.logicalFromVisual[i-1]):this.isRtlDir&&i===r.length-1&&0===o&&r[i-1]%2==0||!this.isRtlDir&&0===i&&r[i]%2!=0?t=1+this.bidiMap.logicalFromVisual[i]:(i>0&&r[i-1]%2!=0&&0!==o&&i--,t=this.bidiMap.logicalFromVisual[i]),0===t&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(s.prototype),t.BidiHandler=s})),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],(function(e,t,n){"use strict";var i=e("./lib/oop"),r=e("./lib/lang"),o=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,a=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",(function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),t.$isEmpty||t.$silent||t._emit("changeSelection"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)})),this.anchor.on("change",(function(){t.$anchorChanged=!0,t.$isEmpty||t.$silent||t._emit("changeSelection")}))};(function(){i.implement(this,o),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?s.fromPoints(t,t):this.isBackwards()?s.fromPoints(t,e):s.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var n=t?e.end:e.start,i=t?e.start:e.end;this.$setSelection(n.row,n.column,i.row,i.column)},this.$setSelection=function(e,t,n,i){var r=this.$isEmpty,o=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,i),this.$isEmpty=!s.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||r!=this.$isEmpty||o)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection((function(){this.moveCursorTo(e,t)}))},this.selectToPosition=function(e){this.$moveSelection((function(){this.moveCursorToPosition(e)}))},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(void 0===t){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n,i="number"==typeof e?e:this.lead.row,r=this.session.getFoldLine(i);return r?(i=r.start.row,n=r.end.row):n=i,!0===t?new s(i,0,n,this.session.getLine(n).length):new s(i,0,n+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var i=e.column,r=e.column+t;return n<0&&(i=e.column-t,r=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(i,r).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize();t=this.lead;this.wouldMoveIntoSoftTab(t,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),i=this.session.screenToDocumentPosition(n,0),r=this.session.getDisplayLine(e,null,i.row,i.column).match(/^\s*/);r[0].length==t||this.session.$useEmacsStyleLineStart||(i.column+=r[0].length),this.moveCursorToPosition(i)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var i=n.search(/\s+$/);i>0&&(t.column=i)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),i=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var r=this.session.getFoldAt(e,t,1);if(r)this.moveCursorTo(r.end.row,r.end.column);else{if(this.session.nonTokenRe.exec(i)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,i=n.substring(t)),t>=n.length)return this.moveCursorTo(e,n.length),this.moveCursorRight(),void(e<this.doc.getLength()-1&&this.moveCursorWordRight());this.session.tokenRe.exec(i)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)}},this.moveCursorLongWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))this.moveCursorTo(e.start.row,e.start.column);else{var i=this.session.getFoldStringAt(t,n,-1);null==i&&(i=this.doc.getLine(t).substring(0,n));var o=r.stringReverse(i);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(o)&&(n-=this.session.nonTokenRe.lastIndex,o=o.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0)return this.moveCursorTo(t,0),this.moveCursorLeft(),void(t>0&&this.moveCursorWordLeft());this.session.tokenRe.exec(o)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,n)}},this.$shortWordEndIndex=function(e){var t,n=0,i=/\s/,r=this.session.tokenRe;if(r.lastIndex=0,this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{for(;(t=e[n])&&i.test(t);)n++;if(n<1)for(r.lastIndex=0;(t=e[n])&&!r.test(t);)if(r.lastIndex=0,n++,i.test(t)){if(n>2){n--;break}for(;(t=e[n])&&i.test(t);)n++;if(n>2)break}}return r.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),i=n.substring(t),r=this.session.getFoldAt(e,t,1);if(r)return this.moveCursorTo(r.end.row,r.end.column);if(t==n.length){var o=this.doc.getLength();do{e++,i=this.doc.getLine(e)}while(e<o&&/^\s*$/.test(i));/^\s+/.test(i)||(i=""),t=0}var s=this.$shortWordEndIndex(i);this.moveCursorTo(e,t+s)},this.moveCursorShortWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))return this.moveCursorTo(e.start.row,e.start.column);var i=this.session.getLine(t).substring(0,n);if(0===n){do{t--,i=this.doc.getLine(t)}while(t>0&&/^\s*$/.test(i));n=i.length,/\s+$/.test(i)||(i="")}var o=r.stringReverse(i),s=this.$shortWordEndIndex(o);return this.moveCursorTo(t,n-s)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n,i=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(i.row,this.lead.row)?(n=this.session.$bidiHandler.getPosLeft(i.column),i.column=Math.round(n/this.session.$bidiHandler.charWidths[0])):n=i.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?i.column=this.$desiredColumn:this.$desiredColumn=i.column);var r=this.session.screenToDocumentPosition(i.row+e,i.column,n);0!==e&&0===t&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&(r.row>0||e>0)&&r.row++,this.moveCursorTo(r.row,r.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var i=this.session.getFoldAt(e,t,1);i&&(e=i.start.row,t=i.start.column),this.$keepDesiredColumnOnChange=!0;var r=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(r.charAt(t))&&r.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var i=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(i.row,i.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return s.fromPoints(t,n)}catch(e){return s.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map((function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t}));else(e=this.getRange()).isBackwards=this.isBackwards();return e},this.fromJSON=function(e){if(null==e.start){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=s.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(a.prototype),t.Selection=a})),ace.define("ace/tokenizer",["require","exports","module","ace/config"],(function(e,t,n){"use strict";var i=e("./config"),r=2e3,o=function(e){for(var t in this.states=e,this.regExps={},this.matchMappings={},this.states){for(var n=this.states[t],i=[],r=0,o=this.matchMappings[t]={defaultToken:"text"},s="g",a=[],c=0;c<n.length;c++){var l=n[c];if(l.defaultToken&&(o.defaultToken=l.defaultToken),l.caseInsensitive&&(s="gi"),null!=l.regex){l.regex instanceof RegExp&&(l.regex=l.regex.toString().slice(1,-1));var u=l.regex,h=new RegExp("(?:("+u+")|(.))").exec("a").length-2;Array.isArray(l.token)?1==l.token.length||1==h?l.token=l.token[0]:h-1!=l.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:l,groupCount:h-1}),l.token=l.token[0]):(l.tokenArray=l.token,l.token=null,l.onMatch=this.$arrayTokens):"function"!=typeof l.token||l.onMatch||(l.onMatch=h>1?this.$applyToken:l.token),h>1&&(/\\\d/.test(l.regex)?u=l.regex.replace(/\\([0-9]+)/g,(function(e,t){return"\\"+(parseInt(t,10)+r+1)})):(h=1,u=this.removeCapturingGroups(l.regex)),l.splitRegex||"string"==typeof l.token||a.push(l)),o[r]=c,r+=h,i.push(u),l.onMatch||(l.onMatch=null)}}i.length||(o[0]=0,i.push("$")),a.forEach((function(e){e.splitRegex=this.createSplitterRegexp(e.regex,s)}),this),this.regExps[t]=new RegExp("("+i.join(")|(")+")|($)",s)}};(function(){this.$setMaxTokenCount=function(e){r=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if("string"==typeof n)return[{type:n,value:e}];for(var i=[],r=0,o=n.length;r<o;r++)t[r]&&(i[i.length]={type:n[r],value:t[r]});return i},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";for(var n=[],i=this.tokenArray,r=0,o=i.length;r<o;r++)t[r+1]&&(n[n.length]={type:i[r],value:t[r+1]});return n},this.removeCapturingGroups=function(e){return e.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!]|(\()/g,(function(e,t){return t?"(?:":e}))},this.createSplitterRegexp=function(e,t){if(-1!=e.indexOf("(?=")){var n=0,i=!1,r={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,(function(e,t,o,s,a,c){return i?i="]"!=a:a?i=!0:s?(n==r.stack&&(r.end=c+1,r.stack=-1),n--):o&&(n++,1!=o.length&&(r.stack=n,r.start=c)),e})),null!=r.end&&/^\)*$/.test(e.substr(r.end))&&(e=e.substring(0,r.start)+e.substr(r.end))}return"^"!=e.charAt(0)&&(e="^"+e),"$"!=e.charAt(e.length-1)&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&"string"!=typeof t){var n=t.slice(0);"#tmp"===(t=n[0])&&(n.shift(),t=n.shift())}else n=[];var i=t||"start",o=this.states[i];o||(i="start",o=this.states[i]);var s=this.matchMappings[i],a=this.regExps[i];a.lastIndex=0;for(var c,l=[],u=0,h=0,d={type:null,value:""};c=a.exec(e);){var p=s.defaultToken,m=null,f=c[0],g=a.lastIndex;if(g-f.length>u){var v=e.substring(u,g-f.length);d.type==p?d.value+=v:(d.type&&l.push(d),d={type:p,value:v})}for(var _=0;_<c.length-2;_++)if(void 0!==c[_+1]){p=(m=o[s[_]]).onMatch?m.onMatch(f,i,n,e):m.token,m.next&&(i="string"==typeof m.next?m.next:m.next(i,n),(o=this.states[i])||(this.reportError("state doesn't exist",i),i="start",o=this.states[i]),s=this.matchMappings[i],u=g,(a=this.regExps[i]).lastIndex=g),m.consumeLineEnd&&(u=g);break}if(f)if("string"==typeof p)m&&!1===m.merge||d.type!==p?(d.type&&l.push(d),d={type:p,value:f}):d.value+=f;else if(p){d.type&&l.push(d),d={type:null,value:""};for(_=0;_<p.length;_++)l.push(p[_])}if(u==e.length)break;if(u=g,h++>r){for(h>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});u<e.length;)d.type&&l.push(d),d={value:e.substring(u,u+=500),type:"overflow"};i="start",n=[];break}}return d.type&&l.push(d),n.length>1&&n[0]!==i&&n.unshift("#tmp",i),{tokens:l,state:n.length?n:i}},this.reportError=i.reportError}).call(o.prototype),t.Tokenizer=o})),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],(function(e,t,n){"use strict";var i=e("../lib/lang"),r=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(t)for(var n in e){for(var i=e[n],r=0;r<i.length;r++){var o=i[r];(o.next||o.onMatch)&&("string"==typeof o.next&&0!==o.next.indexOf(t)&&(o.next=t+o.next),o.nextState&&0!==o.nextState.indexOf(t)&&(o.nextState=t+o.nextState))}this.$rules[t+n]=i}else for(var n in e)this.$rules[n]=e[n]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,r,o){var s="function"==typeof e?(new e).getRules():e;if(r)for(var a=0;a<r.length;a++)r[a]=t+r[a];else for(var c in r=[],s)r.push(t+c);if(this.addRules(s,t),n){var l=Array.prototype[o?"push":"unshift"];for(a=0;a<r.length;a++)l.apply(this.$rules[r[a]],i.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return("start"!=e||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){var n=0,i=this.$rules;Object.keys(i).forEach((function r(o){var s=i[o];s.processed=!0;for(var a=0;a<s.length;a++){var c=s[a],l=null;Array.isArray(c)&&(l=c,c={}),!c.regex&&c.start&&(c.regex=c.start,c.next||(c.next=[]),c.next.push({defaultToken:c.token},{token:c.token+".end",regex:c.end||c.start,next:"pop"}),c.token=c.token+".start",c.push=!0);var u=c.next||c.push;if(u&&Array.isArray(u)){var h=c.stateName;h||("string"!=typeof(h=c.token)&&(h=h[0]||""),i[h]&&(h+=n++)),i[h]=u,c.next=h,r(h)}else"pop"==u&&(c.next=t);if(c.push&&(c.nextState=c.next||c.push,c.next=e,delete c.push),c.rules)for(var d in c.rules)i[d]?i[d].push&&i[d].push.apply(i[d],c.rules[d]):i[d]=c.rules[d];var p="string"==typeof c?c:c.include;if(p&&(l=Array.isArray(p)?p.map((function(e){return i[e]})):i[p]),l){var m=[a,1].concat(l);c.noEscape&&(m=m.filter((function(e){return!e.next}))),s.splice.apply(s,m),a--}c.keywordMap&&(c.token=this.createKeywordMapper(c.keywordMap,c.defaultToken||"text",c.caseInsensitive),delete c.defaultToken)}}),this)},this.createKeywordMapper=function(e,t,n,i){var r=Object.create(null);return Object.keys(e).forEach((function(t){var o=e[t];n&&(o=o.toLowerCase());for(var s=o.split(i||"|"),a=s.length;a--;)r[s[a]]=t})),Object.getPrototypeOf(r)&&(r.__proto__=null),this.$keywordList=Object.keys(r),e=null,n?function(e){return r[e.toLowerCase()]||t}:function(e){return r[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(r.prototype),t.TextHighlightRules=r})),ace.define("ace/mode/behaviour",["require","exports","module"],(function(e,t,n){"use strict";var i=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var n=(new e).getBehaviours(t);else n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(e){for(var t={},n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}return this.$behaviours}}).call(i.prototype),t.Behaviour=i})),ace.define("ace/token_iterator",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var i=e("./range").Range,r=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var i=e.getTokenAt(t,n);this.$tokenIndex=i?i.index:-1};(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){var e;for(this.$tokenIndex+=1;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(void 0!==n)return n;for(n=0;t>0;)n+=e[t-=1].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new i(this.$row,t,this.$row,t+e.value.length)}}).call(r.prototype),t.TokenIterator=r})),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(e,t,n){"use strict";var i,r=e("../../lib/oop"),o=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,a=e("../../lib/lang"),c=["text","paren.rparen","rparen","paren","punctuation.operator"],l=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],u={},h={'"':'"',"'":"'"},d=function(e){var t=-1;if(e.multiSelect&&(t=e.selection.index,u.rangeCount!=e.multiSelect.rangeCount&&(u={rangeCount:e.multiSelect.rangeCount})),u[t])return i=u[t];i=u[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,i){var r=e.end.row-e.start.row;return{text:n+t+i,selection:[0,e.start.column+1,r,e.end.column+(r?0:1)]}},m=function(e){this.add("braces","insertion",(function(t,n,r,o,s){var c=r.getCursorPosition(),l=o.doc.getLine(c.row);if("{"==s){d(r);var u=r.getSelectionRange(),h=o.doc.getTextRange(u);if(""!==h&&"{"!==h&&r.getWrapBehavioursEnabled())return p(u,h,"{","}");if(m.isSaneInsertion(r,o))return/[\]\}\)]/.test(l[c.column])||r.inMultiSelectMode||e&&e.braces?(m.recordAutoInsert(r,o,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(r,o,"{"),{text:"{",selection:[1,1]})}else if("}"==s){if(d(r),"}"==l.substring(c.column,c.column+1))if(null!==o.$findOpeningBracket("}",{column:c.column+1,row:c.row})&&m.isAutoInsertedClosing(c,l,s))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==s||"\r\n"==s){d(r);var f="";if(m.isMaybeInsertedClosing(c,l)&&(f=a.stringRepeat("}",i.maybeInsertedBrackets),m.clearMaybeInsertedClosing()),"}"===l.substring(c.column,c.column+1)){var g=o.findMatchingBracket({row:c.row,column:c.column+1},"}");if(!g)return null;var v=this.$getIndent(o.getLine(g.row))}else{if(!f)return void m.clearMaybeInsertedClosing();v=this.$getIndent(l)}var _=v+o.getTabString();return{text:"\n"+_+"\n"+v+f,selection:[1,_.length,1,_.length]}}m.clearMaybeInsertedClosing()}})),this.add("braces","deletion",(function(e,t,n,r,o){var s=r.doc.getTextRange(o);if(!o.isMultiLine()&&"{"==s){if(d(n),"}"==r.doc.getLine(o.start.row).substring(o.end.column,o.end.column+1))return o.end.column++,o;i.maybeInsertedBrackets--}})),this.add("parens","insertion",(function(e,t,n,i,r){if("("==r){d(n);var o=n.getSelectionRange(),s=i.doc.getTextRange(o);if(""!==s&&n.getWrapBehavioursEnabled())return p(o,s,"(",")");if(m.isSaneInsertion(n,i))return m.recordAutoInsert(n,i,")"),{text:"()",selection:[1,1]}}else if(")"==r){d(n);var a=n.getCursorPosition(),c=i.doc.getLine(a.row);if(")"==c.substring(a.column,a.column+1))if(null!==i.$findOpeningBracket(")",{column:a.column+1,row:a.row})&&m.isAutoInsertedClosing(a,c,r))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("parens","deletion",(function(e,t,n,i,r){var o=i.doc.getTextRange(r);if(!r.isMultiLine()&&"("==o&&(d(n),")"==i.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2)))return r.end.column++,r})),this.add("brackets","insertion",(function(e,t,n,i,r){if("["==r){d(n);var o=n.getSelectionRange(),s=i.doc.getTextRange(o);if(""!==s&&n.getWrapBehavioursEnabled())return p(o,s,"[","]");if(m.isSaneInsertion(n,i))return m.recordAutoInsert(n,i,"]"),{text:"[]",selection:[1,1]}}else if("]"==r){d(n);var a=n.getCursorPosition(),c=i.doc.getLine(a.row);if("]"==c.substring(a.column,a.column+1))if(null!==i.$findOpeningBracket("]",{column:a.column+1,row:a.row})&&m.isAutoInsertedClosing(a,c,r))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("brackets","deletion",(function(e,t,n,i,r){var o=i.doc.getTextRange(r);if(!r.isMultiLine()&&"["==o&&(d(n),"]"==i.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2)))return r.end.column++,r})),this.add("string_dquotes","insertion",(function(e,t,n,i,r){var o=i.$mode.$quotes||h;if(1==r.length&&o[r]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(r))return;d(n);var s=r,a=n.getSelectionRange(),c=i.doc.getTextRange(a);if(!(""===c||1==c.length&&o[c])&&n.getWrapBehavioursEnabled())return p(a,c,s,s);if(!c){var l=n.getCursorPosition(),u=i.doc.getLine(l.row),m=u.substring(l.column-1,l.column),f=u.substring(l.column,l.column+1),g=i.getTokenAt(l.row,l.column),v=i.getTokenAt(l.row,l.column+1);if("\\"==m&&g&&/escape/.test(g.type))return null;var _,E=g&&/string|escape/.test(g.type),C=!v||/string|escape/.test(v.type);if(f==s)(_=E!==C)&&/string\.end/.test(v.type)&&(_=!1);else{if(E&&!C)return null;if(E&&C)return null;var A=i.$mode.tokenRe;A.lastIndex=0;var S=A.test(m);A.lastIndex=0;var y=A.test(m);if(S||y)return null;if(f&&!/[\s;,.})\]\\]/.test(f))return null;var R=u[l.column-2];if(m==s&&(R==s||A.test(R)))return null;_=!0}return{text:_?s+s:"",selection:[1,1]}}}})),this.add("string_dquotes","deletion",(function(e,t,n,i,r){var o=i.$mode.$quotes||h,s=i.doc.getTextRange(r);if(!r.isMultiLine()&&o.hasOwnProperty(s)&&(d(n),i.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2)==s))return r.end.column++,r}))};m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),i=new s(t,n.row,n.column);if(!this.$matchTokenType(i.getCurrentToken()||"text",c)){if(/[)}\]]/.test(e.session.getLine(n.row)[n.column]))return!0;var r=new s(t,n.row,n.column+1);if(!this.$matchTokenType(r.getCurrentToken()||"text",c))return!1}return i.stepForward(),i.getCurrentTokenRow()!==n.row||this.$matchTokenType(i.getCurrentToken()||"text",l)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),o=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,o,i.autoInsertedLineEnd[0])||(i.autoInsertedBrackets=0),i.autoInsertedRow=r.row,i.autoInsertedLineEnd=n+o.substr(r.column),i.autoInsertedBrackets++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),o=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,o)||(i.maybeInsertedBrackets=0),i.maybeInsertedRow=r.row,i.maybeInsertedLineStart=o.substr(0,r.column)+n,i.maybeInsertedLineEnd=o.substr(r.column),i.maybeInsertedBrackets++},m.isAutoInsertedClosing=function(e,t,n){return i.autoInsertedBrackets>0&&e.row===i.autoInsertedRow&&n===i.autoInsertedLineEnd[0]&&t.substr(e.column)===i.autoInsertedLineEnd},m.isMaybeInsertedClosing=function(e,t){return i.maybeInsertedBrackets>0&&e.row===i.maybeInsertedRow&&t.substr(e.column)===i.maybeInsertedLineEnd&&t.substr(0,e.column)==i.maybeInsertedLineStart},m.popAutoInsertedClosing=function(){i.autoInsertedLineEnd=i.autoInsertedLineEnd.substr(1),i.autoInsertedBrackets--},m.clearMaybeInsertedClosing=function(){i&&(i.maybeInsertedBrackets=0,i.maybeInsertedRow=-1)},r.inherits(m,o),t.CstyleBehaviour=m})),ace.define("ace/unicode",["require","exports","module"],(function(e,t,n){"use strict";for(var i=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],r=0,o=[],s=0;s<i.length;s+=2)o.push(r+=i[s]),i[s+1]&&o.push(45,r+=i[s+1]);t.wordChars=String.fromCharCode.apply(null,o)})),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],(function(e,t,n){"use strict";var i=e("../config"),r=e("../tokenizer").Tokenizer,o=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour/cstyle").CstyleBehaviour,a=e("../unicode"),c=e("../lib/lang"),l=e("../token_iterator").TokenIterator,u=e("../range").Range,h=function(){this.HighlightRules=o};(function(){this.$defaultBehaviour=new s,this.tokenRe=new RegExp("^["+a.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+a.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,i){var r=t.doc,o=!0,s=!0,a=1/0,l=t.getTabSize(),u=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))f=this.lineCommentStart.map(c.escapeRegExp).join("|"),p=this.lineCommentStart[0];else f=c.escapeRegExp(this.lineCommentStart),p=this.lineCommentStart;f=new RegExp("^(\\s*)(?:"+f+") ?"),u=t.getUseSoftTabs();_=function(e,t){var n=e.match(f);if(n){var i=n[1].length,o=n[0].length;d(e,i,o)||" "!=n[0][o-1]||o--,r.removeInLine(t,i,o)}};var h=p+" ",d=(v=function(e,t){o&&!/\S/.test(e)||(d(e,a,a)?r.insertInLine({row:t,column:a},h):r.insertInLine({row:t,column:a},p))},E=function(e,t){return f.test(e)},function(e,t,n){for(var i=0;t--&&" "==e.charAt(t);)i++;if(i%l!=0)return!1;for(i=0;" "==e.charAt(n++);)i++;return l>2?i%l!=l-1:i%l==0})}else{if(!this.blockComment)return!1;var p=this.blockComment.start,m=this.blockComment.end,f=new RegExp("^(\\s*)(?:"+c.escapeRegExp(p)+")"),g=new RegExp("(?:"+c.escapeRegExp(m)+")\\s*$"),v=function(e,t){E(e,t)||o&&!/\S/.test(e)||(r.insertInLine({row:t,column:e.length},m),r.insertInLine({row:t,column:a},p))},_=function(e,t){var n;(n=e.match(g))&&r.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(f))&&r.removeInLine(t,n[1].length,n[0].length)},E=function(e,n){if(f.test(e))return!0;for(var i=t.getTokens(n),r=0;r<i.length;r++)if("comment"===i[r].type)return!0}}function C(e){for(var t=n;t<=i;t++)e(r.getLine(t),t)}var A=1/0;C((function(e,t){var n=e.search(/\S/);-1!==n?(n<a&&(a=n),s&&!E(e,t)&&(s=!1)):A>e.length&&(A=e.length)})),a==1/0&&(a=A,o=!1,s=!1),u&&a%l!=0&&(a=Math.floor(a/l)*l),C(s?_:v)},this.toggleBlockComment=function(e,t,n,i){var r=this.blockComment;if(r){!r.start&&r[0]&&(r=r[0]);var o,s,a=(f=new l(t,i.row,i.column)).getCurrentToken(),c=(t.selection,t.selection.toOrientedRange());if(a&&/comment/.test(a.type)){for(var h,d;a&&/comment/.test(a.type);){if(-1!=(g=a.value.indexOf(r.start))){var p=f.getCurrentTokenRow(),m=f.getCurrentTokenColumn()+g;h=new u(p,m,p,m+r.start.length);break}a=f.stepBackward()}var f;for(a=(f=new l(t,i.row,i.column)).getCurrentToken();a&&/comment/.test(a.type);){var g;if(-1!=(g=a.value.indexOf(r.end))){p=f.getCurrentTokenRow(),m=f.getCurrentTokenColumn()+g;d=new u(p,m,p,m+r.end.length);break}a=f.stepForward()}d&&t.remove(d),h&&(t.remove(h),o=h.start.row,s=-r.start.length)}else s=r.start.length,o=n.start.row,t.insert(n.end,r.end),t.insert(n.start,r.start);c.start.row==o&&(c.start.column+=s),c.end.row==o&&(c.end.column+=s),t.selection.fromOrientedRange(c)}},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var t in this.$embeds=[],this.$modes={},e)if(e[t]){var n=e[t],r=n.prototype.$id,o=i.$modes[r];o||(i.$modes[r]=o=new n),i.$modes[t]||(i.$modes[t]=o),this.$embeds.push(t),this.$modes[t]=o}var s=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(t=0;t<s.length;t++)!function(e){var n=s[t],i=e[n];e[s[t]]=function(){return this.$delegator(n,arguments,i)}}(this)},this.$delegator=function(e,t,n){var i=t[0]||"start";if("string"!=typeof i){if(Array.isArray(i[2])){var r=i[2][i[2].length-1];if(s=this.$modes[r])return s[e].apply(s,[i[1]].concat([].slice.call(t,1)))}i=i[0]||"start"}for(var o=0;o<this.$embeds.length;o++)if(this.$modes[this.$embeds[o]]){var s,a=i.split(this.$embeds[o]);if(!a[0]&&a[1])return t[0]=a[1],(s=this.$modes[this.$embeds[o]])[e].apply(s,t)}var c=n.apply(this,t);return n?c:void 0},this.transformAction=function(e,t,n,i,r){if(this.$behaviour){var o=this.$behaviour.getBehaviours();for(var s in o)if(o[s][t]){var a=o[s][t].apply(this,arguments);if(a)return a}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var i in t)for(var r=t[i],o=0,s=r.length;o<s;o++)if("string"==typeof r[o].token)/keyword|support|storage/.test(r[o].token)&&n.push(r[o].regex);else if("object"==typeof r[o].token)for(var a=0,c=r[o].token.length;a<c;a++)if(/keyword|support|storage/.test(r[o].token[a])){i=r[o].regex.match(/\(.+?\)/g)[a];n.push(i.substr(1,i.length-2))}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,i){return(this.$keywordList||this.$createKeywordList()).map((function(e){return{name:e,value:e,score:0,meta:"keyword"}}))},this.$id="ace/mode/text"}).call(h.prototype),t.Mode=h})),ace.define("ace/apply_delta",["require","exports","module"],(function(e,t,n){"use strict";t.applyDelta=function(e,t,n){var i=t.start.row,r=t.start.column,o=e[i]||"";switch(t.action){case"insert":if(1===t.lines.length)e[i]=o.substring(0,r)+t.lines[0]+o.substring(r);else{var s=[i,1].concat(t.lines);e.splice.apply(e,s),e[i]=o.substring(0,r)+e[i],e[i+t.lines.length-1]+=o.substring(r)}break;case"remove":var a=t.end.column,c=t.end.row;i===c?e[i]=o.substring(0,r)+o.substring(a):e.splice(i,c-i+1,o.substring(0,r)+e[c].substring(a))}}})),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(e,t,n){"use strict";var i=e("./lib/oop"),r=e("./lib/event_emitter").EventEmitter,o=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),void 0===n?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var i=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&i}i.implement(this,r),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(t){if(!(t.start.row==t.end.row&&t.start.row!=this.row||t.start.row>this.row)){var n=function(t,n,i){var r="insert"==t.action,o=(r?1:-1)*(t.end.row-t.start.row),s=(r?1:-1)*(t.end.column-t.start.column),a=t.start,c=r?a:t.end;if(e(n,a,i))return{row:n.row,column:n.column};if(e(c,n,!i))return{row:n.row+o,column:n.column+(n.row==c.row?s:0)};return{row:a.row,column:a.column}}(t,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},this.setPosition=function(e,t,n){var i;if(i=n?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=i.row||this.column!=i.column){var r={row:this.row,column:this.column};this.row=i.row,this.column=i.column,this._signal("change",{old:r,value:i})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(o.prototype)})),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],(function(e,t,n){"use strict";var i=e("./lib/oop"),r=e("./apply_delta").applyDelta,o=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,a=e("./anchor").Anchor,c=function(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){i.implement(this,o),this.setValue=function(e){var t=this.getLength()-1;this.remove(new s(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new a(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),i=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:i,action:"insert",lines:[t]},!0),this.clonePos(i)},this.clippedPos=function(e,t){var n=this.getLength();void 0===e?e=n:e<0?e=0:e>=n&&(e=n-1,t=void 0);var i=this.getLine(e);return null==t&&(t=i.length),{row:e,column:t=Math.min(Math.max(t,0),i.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var n=0;(e=Math.min(Math.max(e,0),this.getLength()))<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),i={row:n.row+t.length-1,column:(1==t.length?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:i,action:"insert",lines:t}),this.clonePos(i)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var i=this.clippedPos(e,t),r=this.clippedPos(e,n);return this.applyDelta({start:i,end:r,action:"remove",lines:this.getLinesForRange({start:i,end:r})},!0),this.clonePos(i)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1);var n=(t=Math.min(Math.max(0,t),this.getLength()-1))==this.getLength()-1&&e>0,i=t<this.getLength()-1,r=n?e-1:e,o=n?this.getLine(r).length:0,a=i?t+1:t,c=i?0:this.getLine(a).length,l=new s(r,o,a,c),u=this.$lines.slice(e,t+1);return this.applyDelta({start:l.start,end:l.end,action:"remove",lines:this.getLinesForRange(l)}),u},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){return e instanceof s||(e=s.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty()?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n="insert"==e.action;(n?e.lines.length<=1&&!e.lines[0]:!s.comparePoints(e.start,e.end))||(n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(r(this.$lines,e,t),this._signal("change",e)))},this.$splitAndapplyLargeDelta=function(e,t){for(var n=e.lines,i=n.length-t+1,r=e.start.row,o=e.start.column,s=0,a=0;s<i;s=a){a+=t-1;var c=n.slice(s,a);c.push(""),this.applyDelta({start:this.pos(r+s,o),end:this.pos(r+a,o=0),action:e.action,lines:c},!0)}e.lines=n.slice(s),e.start.row=r+s,e.start.column=o,this.applyDelta(e,!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:"insert"==e.action?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){for(var n=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,r=t||0,o=n.length;r<o;r++)if((e-=n[r].length+i)<0)return{row:r,column:e+n[r].length+i};return{row:o-1,column:e+n[o-1].length+i}},this.positionToIndex=function(e,t){for(var n=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,r=0,o=Math.min(e.row,n.length),s=t||0;s<o;++s)r+=n[s].length+i;return r+e.column}}).call(c.prototype),t.Document=c})),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(e,t,n){"use strict";var i=e("./lib/oop"),r=e("./lib/event_emitter").EventEmitter,o=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(n.running){for(var e=new Date,t=n.currentLine,i=-1,r=n.doc,o=t;n.lines[t];)t++;var s=r.getLength(),a=0;for(n.running=!1;t<s;){n.$tokenizeRow(t),i=t;do{t++}while(n.lines[t]);if(++a%5==0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,-1==i&&(i=t),o<=i&&n.fireUpdateEvent(o,i)}}};(function(){i.implement(this,r),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.lines[t]=null;else if("remove"==e.action)this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var i=Array(n+1);i.unshift(t,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],i=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=i.state+""?(this.states[e]=i.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=i.tokens}}).call(o.prototype),t.BackgroundTokenizer=o})),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(e,t,n){"use strict";var i=e("./lib/lang"),r=(e("./lib/oop"),e("./range").Range),o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,n,o){if(this.regExp)for(var s=o.firstRow,a=o.lastRow,c=s;c<=a;c++){var l=this.cache[c];null==l&&((l=i.getMatchOffsets(n.getLine(c),this.regExp)).length>this.MAX_RANGES&&(l=l.slice(0,this.MAX_RANGES)),l=l.map((function(e){return new r(c,e.offset,c,e.offset+e.length)})),this.cache[c]=l.length?l:"");for(var u=l.length;u--;)t.drawSingleLineMarker(e,l[u].toScreenRange(n),this.clazz,o)}}}).call(o.prototype),t.SearchHighlight=o})),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var i=e("../range").Range;function r(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new i(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach((function(e){e.setFoldLine(this)}),this)}(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach((function(t){t.start.row+=e,t.end.row+=e}))},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort((function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)})),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var i,r,o=0,s=this.folds,a=!0;null==t&&(t=this.end.row,n=this.end.column);for(var c=0;c<s.length;c++){if(-1==(r=(i=s[c]).range.compareStart(t,n)))return void e(null,t,n,o,a);if(!e(null,i.start.row,i.start.column,o,a)&&e(i.placeholder,i.start.row,i.start.column,o)||0===r)return;a=!i.sameRow,o=i.end.column}e(null,t,n,o,a)},this.getNextFoldTo=function(e,t){for(var n,i,r=0;r<this.folds.length;r++){if(-1==(i=(n=this.folds[r]).range.compareEnd(e,t)))return{fold:n,kind:"after"};if(0===i)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var i,r,o=this.getNextFoldTo(e,t);if(o)if(i=o.fold,"inside"==o.kind&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){var s=(r=this.folds).indexOf(i);for(0===s&&(this.start.column+=n);s<r.length;s++){if((i=r[s]).start.column+=n,!i.sameRow)return;i.end.column+=n}this.end.column+=n}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||"inside"==n.kind)return null;var i=n.fold,o=this.folds,s=this.foldData,a=o.indexOf(i),c=o[a-1];this.end.row=c.end.row,this.end.column=c.end.column;var l=new r(s,o=o.splice(a,o.length-a));return s.splice(s.indexOf(this)+1,0,l),l},this.merge=function(e){for(var t=e.folds,n=0;n<t.length;n++)this.addFold(t[n]);var i=this.foldData;i.splice(i.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach((function(t){e.push(" "+t.toString())})),e.push("]"),e.join("\n")},this.idxToPosition=function(e){for(var t=0,n=0;n<this.folds.length;n++){var i=this.folds[n];if((e-=i.start.column-t)<0)return{row:i.start.row,column:i.start.column+e};if((e-=i.placeholder.length)<0)return i.start;t=i.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(r.prototype),t.FoldLine=r})),ace.define("ace/range_list",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var i=e("./range").Range.comparePoints,r=function(){this.ranges=[],this.$bias=1};(function(){this.comparePoints=i,this.pointIndex=function(e,t,n){for(var r=this.ranges,o=n||0;o<r.length;o++){var s=r[o],a=i(e,s.end);if(!(a>0)){var c=i(e,s.start);return 0===a?t&&0!==c?-o-2:o:c>0||0===c&&!t?o:-o-1}}return-o-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var i=this.pointIndex(e.end,t,n);return i<0?i=-i-1:i++,this.ranges.splice(n,i-n,e)},this.addList=function(e){for(var t=[],n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){for(var e,t=[],n=this.ranges,r=(n=n.sort((function(e,t){return i(e.start,t.start)})))[0],o=1;o<n.length;o++){e=r,r=n[o];var s=i(e.end,r.start);s<0||(0!=s||e.isEmpty()||r.isEmpty())&&(i(e.end,r.end)<0&&(e.end.row=r.end.row,e.end.column=r.end.column),n.splice(o,1),t.push(r),r=e,o--)}return this.ranges=n,t},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var i=this.pointIndex({row:e,column:0});i<0&&(i=-i-1);var r=this.pointIndex({row:t,column:0},i);r<0&&(r=-r-1);for(var o=[],s=i;s<r;s++)o.push(n[s]);return o},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},this.$onChange=function(e){for(var t=e.start,n=e.end,i=t.row,r=n.row,o=this.ranges,s=0,a=o.length;s<a;s++){if((u=o[s]).end.row>=i)break}if("insert"==e.action)for(var c=r-i,l=-t.column+n.column;s<a;s++){if((u=o[s]).start.row>i)break;if(u.start.row==i&&u.start.column>=t.column&&(u.start.column==t.column&&this.$bias<=0||(u.start.column+=l,u.start.row+=c)),u.end.row==i&&u.end.column>=t.column){if(u.end.column==t.column&&this.$bias<0)continue;u.end.column==t.column&&l>0&&s<a-1&&u.end.column>u.start.column&&u.end.column==o[s+1].start.column&&(u.end.column-=l),u.end.column+=l,u.end.row+=c}}else for(c=i-r,l=t.column-n.column;s<a;s++){if((u=o[s]).start.row>r)break;u.end.row<r&&(i<u.end.row||i==u.end.row&&t.column<u.end.column)?(u.end.row=i,u.end.column=t.column):u.end.row==r?u.end.column<=n.column?(c||u.end.column>t.column)&&(u.end.column=t.column,u.end.row=t.row):(u.end.column+=l,u.end.row+=c):u.end.row>r&&(u.end.row+=c),u.start.row<r&&(i<u.start.row||i==u.start.row&&t.column<u.start.column)?(u.start.row=i,u.start.column=t.column):u.start.row==r?u.start.column<=n.column?(c||u.start.column>t.column)&&(u.start.column=t.column,u.start.row=t.row):(u.start.column+=l,u.start.row+=c):u.start.row>r&&(u.start.row+=c)}if(0!=c&&s<a)for(;s<a;s++){var u;(u=o[s]).start.row+=c,u.end.row+=c}}}).call(r.prototype),t.RangeList=r})),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list","ace/lib/oop"],(function(e,t,n){"use strict";var i=e("../range_list").RangeList,r=e("../lib/oop"),o=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};function s(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function a(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}r.inherits(o,i),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach((function(t){t.setFoldLine(e)}))},this.clone=function(){var e=this.range.clone(),t=new o(e,this.placeholder);return this.subFolds.forEach((function(e){t.subFolds.push(e.clone())})),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(!this.range.isEqual(e)){var t,n;t=e,n=this.start,s(t.start,n),s(t.end,n);for(var i=e.start.row,r=e.start.column,o=0,a=-1;o<this.subFolds.length&&1==(a=this.subFolds[o].range.compare(i,r));o++);var c=this.subFolds[o],l=0;if(0==a){if(c.range.containsRange(e))return c.addSubFold(e);l=1}i=e.range.end.row,r=e.range.end.column;var u=o;for(a=-1;u<this.subFolds.length&&1==(a=this.subFolds[u].range.compare(i,r));u++);0==a&&u++;for(var h=this.subFolds.splice(o,u-o,e),d=0==a?h.length-1:h.length,p=l;p<d;p++)e.addSubFold(h[p]);return e.setFoldLine(this.foldLine),e}},this.restoreRange=function(e){return function(e,t){a(e.start,t),a(e.end,t)}(e,this.start)}}.call(o.prototype)})),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],(function(e,t,n){"use strict";var i=e("../range").Range,r=e("./fold_line").FoldLine,o=e("./fold").Fold,s=e("../token_iterator").TokenIterator;t.Folding=function(){this.getFoldAt=function(e,t,n){var i=this.getFoldLine(e);if(!i)return null;for(var r=i.folds,o=0;o<r.length;o++){var s=r[o].range;if(s.contains(e,t)){if(1==n&&s.isEnd(e,t)&&!s.isEmpty())continue;if(-1==n&&s.isStart(e,t)&&!s.isEmpty())continue;return r[o]}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,i=this.$foldData,r=[];t.column+=1,n.column-=1;for(var o=0;o<i.length;o++){var s=i[o].range.compareRange(e);if(2!=s){if(-2==s)break;for(var a=i[o].folds,c=0;c<a.length;c++){var l=a[c];if(-2==(s=l.range.compareRange(e)))break;if(2!=s){if(42==s)break;r.push(l)}}}}return t.column-=1,n.column+=1,r},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach((function(e){t=t.concat(this.getFoldsInRange(e))}),this)}else t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,n=0;n<t.length;n++)for(var i=0;i<t[n].folds.length;i++)e.push(t[n].folds[i]);return e},this.getFoldStringAt=function(e,t,n,i){if(!(i=i||this.getFoldLine(e)))return null;for(var r,o,s={end:{column:0}},a=0;a<i.folds.length;a++){var c=(o=i.folds[a]).range.compareEnd(e,t);if(-1==c){r=this.getLine(o.start.row).substring(s.end.column,o.start.column);break}if(0===c)return null;s=o}return r||(r=this.getLine(o.start.row).substring(s.end.column)),-1==n?r.substring(0,t-s.end.column):1==n?r.substring(t-s.end.column):r},this.getFoldLine=function(e,t){var n=this.$foldData,i=0;for(t&&(i=n.indexOf(t)),-1==i&&(i=0);i<n.length;i++){var r=n[i];if(r.start.row<=e&&r.end.row>=e)return r;if(r.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,i=0;for(t&&(i=n.indexOf(t)),-1==i&&(i=0);i<n.length;i++){var r=n[i];if(r.end.row>=e)return r}return null},this.getFoldedRowCount=function(e,t){for(var n=this.$foldData,i=t-e+1,r=0;r<n.length;r++){var o=n[r],s=o.end.row,a=o.start.row;if(s>=t){a<t&&(a>=e?i-=t-a:i=0);break}s>=e&&(i-=a>=e?s-a:s-e+1)}return i},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort((function(e,t){return e.start.row-t.start.row})),e},this.addFold=function(e,t){var n,i=this.$foldData,s=!1;e instanceof o?n=e:(n=new o(t,e)).collapseChildren=t.collapseChildren,this.$clipRangeToDocument(n.range);var a=n.start.row,c=n.start.column,l=n.end.row,u=n.end.column,h=this.getFoldAt(a,c,1),d=this.getFoldAt(l,u,-1);if(h&&d==h)return h.addSubFold(n);h&&!h.range.isStart(a,c)&&this.removeFold(h),d&&!d.range.isEnd(l,u)&&this.removeFold(d);var p=this.getFoldsInRange(n.range);p.length>0&&(this.removeFolds(p),p.forEach((function(e){n.addSubFold(e)})));for(var m=0;m<i.length;m++){var f=i[m];if(l==f.start.row){f.addFold(n),s=!0;break}if(a==f.end.row){if(f.addFold(n),s=!0,!n.sameRow){var g=i[m+1];if(g&&g.start.row==l){f.merge(g);break}}break}if(l<=f.start.row)break}return s||(f=this.$addFoldLine(new r(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(f.start.row,f.start.row):this.$updateRowLengthCache(f.start.row,f.start.row),this.$modified=!0,this._signal("changeFold",{data:n,action:"add"}),n},this.addFolds=function(e){e.forEach((function(e){this.addFold(e)}),this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,i=t.end.row,r=this.$foldData,o=t.folds;if(1==o.length)r.splice(r.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))o.pop(),t.end.row=o[o.length-1].end.row,t.end.column=o[o.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))o.shift(),t.start.row=o[0].start.row,t.start.column=o[0].start.column;else if(e.sameRow)o.splice(o.indexOf(e),1);else{var s=t.split(e.start.row,e.start.column);(o=s.folds).shift(),s.start.row=o[0].start.row,s.start.column=o[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,i):this.$updateRowLengthCache(n,i)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e[n]);t.forEach((function(e){this.removeFold(e)}),this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach((function(t){e.restoreRange(t),this.addFold(t)}),this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach((function(e){this.expandFold(e)}),this)},this.unfold=function(e,t){var n,r;if(null==e?(n=new i(0,0,this.getLength(),0),t=!0):n="number"==typeof e?new i(e,0,e,this.getLine(e).length):"row"in e?i.fromPoints(e,e):e,r=this.getFoldsInRangeList(n),t)this.removeFolds(r);else for(var o=r;o.length;)this.expandFolds(o),o=this.getFoldsInRangeList(n);if(r.length)return r},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,i,r){null==i&&(i=e.start.row),null==r&&(r=0),null==t&&(t=e.end.row),null==n&&(n=this.getLine(t).length);var o=this.doc,s="";return e.walk((function(e,t,n,a){if(!(t<i)){if(t==i){if(n<r)return;a=Math.max(r,a)}s+=null!=e?e:o.getLine(t).substring(a,n)}}),t,n),s},this.getDisplayLine=function(e,t,n,i){var r,o=this.getFoldLine(e);return o?this.getFoldDisplayLine(o,e,t,n,i):(r=this.doc.getLine(e)).substring(i||0,t||r.length)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map((function(t){var n=t.folds.map((function(e){return e.clone()}));return new r(e,n)}))},this.toggleFold=function(e){var t,n,i=this.selection.getRange();if(i.isEmpty()){var r=i.start;if(t=this.getFoldAt(r.row,r.column))return void this.expandFold(t);(n=this.findMatchingBracket(r))?1==i.comparePoint(n)?i.end=n:(i.start=n,i.start.column++,i.end.column--):(n=this.findMatchingBracket({row:r.row,column:r.column+1}))?(1==i.comparePoint(n)?i.end=n:i.start=n,i.start.column++):i=this.getCommentFoldRange(r.row,r.column)||i}else{var o=this.getFoldsInRange(i);if(e&&o.length)return void this.expandFolds(o);1==o.length&&(t=o[0])}if(t||(t=this.getFoldAt(i.start.row,i.start.column)),t&&t.range.toString()==i.toString())this.expandFold(t);else{var s="...";if(!i.isMultiLine()){if((s=this.getTextRange(i)).length<4)return;s=s.trim().substring(0,2)+".."}this.addFold(s,i)}},this.getCommentFoldRange=function(e,t,n){var r=new s(this,e,t),o=r.getCurrentToken(),a=o.type;if(o&&/^comment|string/.test(a)){"comment"==(a=a.match(/comment|string/)[0])&&(a+="|doc-start");var c=new RegExp(a),l=new i;if(1!=n){do{o=r.stepBackward()}while(o&&c.test(o.type));r.stepForward()}if(l.start.row=r.getCurrentTokenRow(),l.start.column=r.getCurrentTokenColumn()+2,r=new s(this,e,t),-1!=n){var u=-1;do{if(o=r.stepForward(),-1==u){var h=this.getState(r.$row);c.test(h)||(u=r.$row)}else if(r.$row>u)break}while(o&&c.test(o.type));o=r.stepBackward()}else o=r.getCurrentToken();return l.end.row=r.getCurrentTokenRow(),l.end.column=r.getCurrentTokenColumn()+o.value.length-2,l}},this.foldAll=function(e,t,n){null==n&&(n=1e5);var i=this.foldWidgets;if(i){t=t||this.getLength();for(var r=e=e||0;r<t;r++)if(null==i[r]&&(i[r]=this.getFoldWidget(r)),"start"==i[r]){var o=this.getFoldWidgetRange(r);if(o&&o.isMultiLine()&&o.end.row<=t&&o.start.row>=e){r=o.end.row;try{var s=this.addFold("...",o);s&&(s.collapseChildren=n)}catch(e){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){this.$foldStyle=e,"manual"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){this.$foldMode!=e&&(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),e&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};for(var i,r=e-1;r>=0;){var o=n[r];if(null==o&&(o=n[r]=this.getFoldWidget(r)),"start"==o){var s=this.getFoldWidgetRange(r);if(i||(i=s),s&&s.end.row>=e)break}r--}return{range:-1!==r&&s,firstRange:i}},this.onFoldWidgetClick=function(e,t){var n={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,n)){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var n=this.getFoldWidget(e),i=this.getLine(e),r="end"===n?-1:1,o=this.getFoldAt(e,-1===r?0:i.length,r);if(o)return t.children||t.all?this.removeFold(o):this.expandFold(o),o;var s=this.getFoldWidgetRange(e,!0);if(s&&!s.isMultiLine()&&(o=this.getFoldAt(s.start.row,s.start.column,1))&&s.isEqual(o.range))return this.removeFold(o),o;if(t.siblings){var a=this.getParentFoldRangeData(e);if(a.range)var c=a.range.start.row+1,l=a.range.end.row;this.foldAll(c,l,t.all?1e4:0)}else t.children?(l=s?s.end.row:this.getLength(),this.foldAll(e+1,l,t.all?1e4:0)):s&&(t.all&&(s.collapseChildren=1e4),this.addFold("...",s));return s}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(!n){var i=this.getParentFoldRangeData(t,!0);if(n=i.range||i.firstRange){t=n.start.row;var r=this.getFoldAt(t,this.getLine(t).length,1);r?this.removeFold(r):this.addFold("...",n)}}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,n+1,null);else{var i=Array(n+1);i.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,i)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}})),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],(function(e,t,n){"use strict";var i=e("../token_iterator").TokenIterator,r=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(""==n)return null;var i=n.match(/([\(\[\{])|([\)\]\}])/);return i?i[1]?this.$findClosingBracket(i[1],e):this.$findOpeningBracket(i[2],e):null},this.getBracketRange=function(e){var t,n=this.getLine(e.row),i=!0,o=n.charAt(e.column-1),s=o&&o.match(/([\(\[\{])|([\)\]\}])/);if(s||(o=n.charAt(e.column),e={row:e.row,column:e.column+1},s=o&&o.match(/([\(\[\{])|([\)\]\}])/),i=!1),!s)return null;if(s[1]){if(!(a=this.$findClosingBracket(s[1],e)))return null;t=r.fromPoints(e,a),i||(t.end.column++,t.start.column--),t.cursor=t.end}else{var a;if(!(a=this.$findOpeningBracket(s[2],e)))return null;t=r.fromPoints(a,e),i||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var r=this.$brackets[e],o=1,s=new i(this,t.row,t.column),a=s.getCurrentToken();if(a||(a=s.stepForward()),a){n||(n=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var c=t.column-s.getCurrentTokenColumn()-2,l=a.value;;){for(;c>=0;){var u=l.charAt(c);if(u==r){if(0==(o-=1))return{row:s.getCurrentTokenRow(),column:c+s.getCurrentTokenColumn()}}else u==e&&(o+=1);c-=1}do{a=s.stepBackward()}while(a&&!n.test(a.type));if(null==a)break;c=(l=a.value).length-1}return null}},this.$findClosingBracket=function(e,t,n){var r=this.$brackets[e],o=1,s=new i(this,t.row,t.column),a=s.getCurrentToken();if(a||(a=s.stepForward()),a){n||(n=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var c=t.column-s.getCurrentTokenColumn();;){for(var l=a.value,u=l.length;c<u;){var h=l.charAt(c);if(h==r){if(0==(o-=1))return{row:s.getCurrentTokenRow(),column:c+s.getCurrentTokenColumn()}}else h==e&&(o+=1);c+=1}do{a=s.stepForward()}while(a&&!n.test(a.type));if(null==a)break;c=0}return null}}}})),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],(function(e,t,n){"use strict";var i=e("./lib/oop"),r=e("./lib/lang"),o=e("./bidihandler").BidiHandler,s=e("./config"),a=e("./lib/event_emitter").EventEmitter,c=e("./selection").Selection,l=e("./mode/text").Mode,u=e("./range").Range,h=e("./document").Document,d=e("./background_tokenizer").BackgroundTokenizer,p=e("./search_highlight").SearchHighlight,m=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++m.$uid,this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof e&&e.getLine||(e=new h(e)),this.setDocument(e),this.selection=new c(this),this.$bidiHandler=new o(this),s.resetOptions(this),this.setMode(t),s._signal("session",this)};m.$uid=0,function(){i.implement(this,a),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e)return this.$docRowCache=[],void(this.$screenRowCache=[]);var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){for(var n=0,i=e.length-1;n<=i;){var r=n+i>>1,o=e[r];if(t>o)n=r+1;else{if(!(t<o))return r;i=r-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&(t&&t.length&&(this.$undoManager.add({action:"removeFolds",folds:t},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(e,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n,i=this.bgTokenizer.getTokens(e),r=0;if(null==t){var o=i.length-1;r=this.getLine(e).length}else for(o=0;o<i.length&&!((r+=i[o].value.length)>=t);o++);return(n=i[o])?(n.index=o,n.start=r-n.value.length,n):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=r.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?r.stringRepeat(" ",this.getTabSize()):"\t"},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){void 0===t&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,i){var r=this.$markerId++,o={range:e,type:n||"line",renderer:"function"==typeof n?n:null,clazz:t,inFront:!!i,id:r};return i?(this.$frontMarkers[r]=o,this._signal("changeFrontMarker")):(this.$backMarkers[r]=o,this._signal("changeBackMarker")),r},this.addDynamicMarker=function(e,t){if(e.update){var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];t&&(delete(t.inFront?this.$frontMarkers:this.$backMarkers)[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker"))},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new p(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,i){"number"!=typeof t&&(n=t,t=e),n||(n="ace_step");var r=new u(e,0,t,1/0);return r.id=this.addMarker(r,n,"fullLine",i),r},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getWordRange=function(e,t){var n=this.getLine(e),i=!1;if(t>0&&(i=!!n.charAt(t-1).match(this.tokenRe)),i||(i=!!n.charAt(t).match(this.tokenRe)),i)var r=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))r=/\s/;else r=this.nonTokenRe;var o=t;if(o>0){do{o--}while(o>=0&&n.charAt(o).match(r));o++}for(var s=t;s<n.length&&n.charAt(s).match(r);)s++;return new u(e,o,e,s)},this.getAWordRange=function(e,t){for(var n=this.getWordRange(e,t),i=this.getLine(n.end.row);i.charAt(n.end.column).match(/[ \t]/);)n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes=s.$modes,this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&"object"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,i=n.path}else i=e||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new l),this.$modes[i]&&!n)return this.$onChangeMode(this.$modes[i]),void(t&&t());this.$modeId=i,s.loadModule(["mode",i],function(e){if(this.$modeId!==i)return t&&t();this.$modes[i]&&!n?this.$onChangeMode(this.$modes[i]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[i]=e,e.$id=i),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(void 0!==n.addEventListener){var i=this.onReloadTokenizer.bind(this);n.addEventListener("update",i)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(n);else{this.bgTokenizer=new d(n);var r=this;this.bgTokenizer.addEventListener("update",(function(e){r._signal("tokenizerUpdate",e)}))}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))}},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){s.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal("changeScrollTop",e))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal("changeScrollLeft",e))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach((function(t){t&&t.screenWidth>e&&(e=t.screenWidth)})),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),n=this.$rowLengthCache,i=0,r=0,o=this.$foldData[r],s=o?o.start.row:1/0,a=t.length,c=0;c<a;c++){if(c>s){if((c=o.end.row+1)>=a)break;s=(o=this.$foldData[r++])?o.start.row:1/0}null==n[c]&&(n[c]=this.$getStringScreenWidth(t[c])[0]),n[c]>i&&(i=n[c])}this.screenWidth=i}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=e.length-1;-1!=n;n--){var i=e[n];"insert"==i.action||"remove"==i.action?this.doc.revertDelta(i):i.folds&&this.addFolds(i.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=0;n<e.length;n++){var i=e[n];"insert"!=i.action&&"remove"!=i.action||this.doc.applyDelta(i)}!t&&this.$undoSelect&&(e.selectionAfter?this.selection.fromJSON(e.selectionAfter):this.selection.setRange(this.$getUndoSelection(e,!1))),this.$fromUndo=!1}},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t){function n(e){return t?"insert"!==e.action:"insert"===e.action}for(var i,r,o=0;o<e.length;o++){var s=e[o];s.start&&(i?n(s)?(r=s.start,-1==i.compare(r.row,r.column)&&i.setStart(r),r=s.end,1==i.compare(r.row,r.column)&&i.setEnd(r),!0):(r=s.start,-1==i.compare(r.row,r.column)&&(i=u.fromPoints(s.start,s.start)),!1):n(s)?(i=u.fromPoints(s.start,s.end),!0):(i=u.fromPoints(s.start,s.start),!1))}return i},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var i=this.getTextRange(e),r=this.getFoldsInRange(e),o=u.fromPoints(t,t);if(!n){this.remove(e);var s=e.start.row-e.end.row;(l=s?-e.end.column:e.start.column-e.end.column)&&(o.start.row==e.end.row&&o.start.column>e.end.column&&(o.start.column+=l),o.end.row==e.end.row&&o.end.column>e.end.column&&(o.end.column+=l)),s&&o.start.row>=e.end.row&&(o.start.row+=s,o.end.row+=s)}if(o.end=this.insert(o.start,i),r.length){var a=e.start,c=o.start,l=(s=c.row-a.row,c.column-a.column);this.addFolds(r.map((function(e){return(e=e.clone()).start.row==a.row&&(e.start.column+=l),e.end.row==a.row&&(e.end.column+=l),e.start.row+=s,e.end.row+=s,e})))}return o},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var i=e;i<=t;i++)this.doc.insertInLine({row:i,column:0},n)},this.outdentRows=function(e){for(var t=e.collapseRows(),n=new u(0,0,0,0),i=this.getTabSize(),r=t.start.row;r<=t.end.row;++r){var o=this.getLine(r);n.start.row=r,n.end.row=r;for(var s=0;s<i&&" "==o.charAt(s);++s);s<i&&"\t"==o.charAt(s)?(n.start.column=s,n.end.column=s+1):(n.start.column=0,n.end.column=s),this.remove(n)}},this.$moveLines=function(e,t,n){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),n<0){if((r=this.getRowFoldStart(e+n))<0)return 0;var i=r-e}else if(n>0){var r;if((r=this.getRowFoldEnd(t+n))>this.doc.getLength()-1)return 0;i=r-t}else{e=this.$clipRowToDocument(e);i=(t=this.$clipRowToDocument(t))-e+1}var o=new u(e,0,t,Number.MAX_VALUE),s=this.getFoldsInRange(o).map((function(e){return(e=e.clone()).start.row+=i,e.end.row+=i,e})),a=0==n?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,a),s.length&&this.addFolds(s),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var i=this.$constrainWrapLimit(e,n.min,n.max);return i!=this.$wrapLimit&&i>1&&(this.$wrapLimit=i,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,i=e.start,r=e.end,o=i.row,s=r.row,a=s-o,c=null;if(this.$updating=!0,0!=a)if("remove"===n){this[t?"$wrapData":"$rowLengthCache"].splice(o,a);var l=this.$foldData;c=this.getFoldsInRange(e),this.removeFolds(c);var u=0;if(f=this.getFoldLine(r.row)){f.addRemoveChars(r.row,r.column,i.column-r.column),f.shiftRow(-a);var h=this.getFoldLine(o);h&&h!==f&&(h.merge(f),f=h),u=l.indexOf(f)+1}for(;u<l.length;u++){(f=l[u]).start.row>=r.row&&f.shiftRow(-a)}s=o}else{var d=Array(a);d.unshift(o,0);var p=t?this.$wrapData:this.$rowLengthCache;p.splice.apply(p,d);l=this.$foldData,u=0;if(f=this.getFoldLine(o)){var m=f.range.compareInside(i.row,i.column);0==m?(f=f.split(i.row,i.column))&&(f.shiftRow(a),f.addRemoveChars(s,0,r.column-i.column)):-1==m&&(f.addRemoveChars(o,0,r.column-i.column),f.shiftRow(a)),u=l.indexOf(f)+1}for(;u<l.length;u++){var f;(f=l[u]).start.row>=o&&f.shiftRow(a)}}else a=Math.abs(e.start.column-e.end.column),"remove"===n&&(c=this.getFoldsInRange(e),this.removeFolds(c),a=-a),(f=this.getFoldLine(o))&&f.addRemoveChars(o,i.column,a);return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,s):this.$updateRowLengthCache(o,s),c},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(n,i){var r,o,s=this.doc.getAllLines(),a=this.getTabSize(),c=this.$wrapData,l=this.$wrapLimit,u=n;for(i=Math.min(i,s.length-1);u<=i;)(o=this.getFoldLine(u,o))?(r=[],o.walk(function(n,i,o,a){var c;if(null!=n){(c=this.$getDisplayTokens(n,r.length))[0]=e;for(var l=1;l<c.length;l++)c[l]=t}else c=this.$getDisplayTokens(s[i].substring(a,o),r.length);r=r.concat(c)}.bind(this),o.end.row,s[o.end.row].length+1),c[o.start.row]=this.$computeWrapSplits(r,l,a),u=o.end.row+1):(r=this.$getDisplayTokens(s[u]),c[u]=this.$computeWrapSplits(r,l,a),u++)};var e=3,t=4,n=10,o=11,c=12;function h(e){return!(e<4352)&&(e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510)}this.$computeWrapSplits=function(i,r,s){if(0==i.length)return[];var a=[],l=i.length,u=0,h=0,d=this.$wrapAsCode,p=this.$indentedSoftWrap,m=r<=Math.max(2*s,8)||!1===p?0:Math.floor(r/2);function f(e){for(var t=e-u,r=u;r<e;r++){var l=i[r];12!==l&&2!==l||(t-=1)}a.length||(g=function(){var e=0;if(0===m)return e;if(p)for(var t=0;t<i.length;t++){var r=i[t];if(r==n)e+=1;else{if(r!=o){if(r==c)continue;break}e+=s}}return d&&!1!==p&&(e+=s),Math.min(e,m)}(),a.indent=g),h+=t,a.push(h),u=e}for(var g=0;l-u>r-g;){var v=u+r-g;if(i[v-1]>=n&&i[v]>=n)f(v);else if(i[v]!=e&&i[v]!=t){for(var _=Math.max(v-(r-(r>>2)),u-1);v>_&&i[v]<e;)v--;if(d){for(;v>_&&i[v]<e;)v--;for(;v>_&&9==i[v];)v--}else for(;v>_&&i[v]<n;)v--;v>_?f(++v):(2==i[v=u+r]&&v--,f(v-g))}else{for(;v!=u-1&&i[v]!=e;v--);if(v>u){f(v);continue}for(v=u+r;v<i.length&&i[v]==t;v++);if(v==i.length)break;f(v)}}return a},this.$getDisplayTokens=function(e,t){var i,r=[];t=t||0;for(var s=0;s<e.length;s++){var a=e.charCodeAt(s);if(9==a){i=this.getScreenTabSize(r.length+t),r.push(o);for(var l=1;l<i;l++)r.push(c)}else 32==a?r.push(n):a>39&&a<48||a>57&&a<64?r.push(9):a>=4352&&h(a)?r.push(1,2):r.push(1)}return r},this.$getStringScreenWidth=function(e,t,n){if(0==t)return[0,0];var i,r;for(null==t&&(t=1/0),n=n||0,r=0;r<e.length&&(9==(i=e.charCodeAt(r))?n+=this.getScreenTabSize(n):i>=4352&&h(i)?n+=2:n+=1,!(n>t));r++);return[n,r]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},this.getScreenTabSize=function(e){return this.$tabSize-(e%this.$tabSize|0)},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t,n){if(e<0)return{row:0,column:0};var i,r,o=0,s=0,a=0,c=0,l=this.$screenRowCache,u=this.$getRowCacheIndex(l,e),h=l.length;if(h&&u>=0){a=l[u],o=this.$docRowCache[u];var d=e>l[h-1]}else d=!h;for(var p=this.getLength()-1,m=this.getNextFoldLine(o),f=m?m.start.row:1/0;a<=e&&!(a+(c=this.getRowLength(o))>e||o>=p);)a+=c,++o>f&&(o=m.end.row+1,f=(m=this.getNextFoldLine(o,m))?m.start.row:1/0),d&&(this.$docRowCache.push(o),this.$screenRowCache.push(a));if(m&&m.start.row<=o)i=this.getFoldDisplayLine(m),o=m.start.row;else{if(a+c<=e||o>p)return{row:p,column:this.getLine(p).length};i=this.getLine(o),m=null}var g=0,v=Math.floor(e-a);if(this.$useWrapMode){var _=this.$wrapData[o];_&&(r=_[v],v>0&&_.length&&(g=_.indent,s=_[v-1]||_[_.length-1],i=i.substring(s)))}return void 0!==n&&this.$bidiHandler.isBidiRow(a+v,o,v)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(i,t-g)[1],this.$useWrapMode&&s>=r&&(s=r-1),m?m.idxToPosition(s):{row:o,column:s}},this.documentToScreenPosition=function(e,t){if(void 0===t)var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var i,r=0,o=null;(i=this.getFoldAt(e,t,1))&&(e=i.start.row,t=i.start.column);var s,a=0,c=this.$docRowCache,l=this.$getRowCacheIndex(c,e),u=c.length;if(u&&l>=0){a=c[l],r=this.$screenRowCache[l];var h=e>c[u-1]}else h=!u;for(var d=this.getNextFoldLine(a),p=d?d.start.row:1/0;a<e;){if(a>=p){if((s=d.end.row+1)>e)break;p=(d=this.getNextFoldLine(s,d))?d.start.row:1/0}else s=a+1;r+=this.getRowLength(a),a=s,h&&(this.$docRowCache.push(a),this.$screenRowCache.push(r))}var m="";d&&a>=p?(m=this.getFoldDisplayLine(d,e,t),o=d.start.row):(m=this.getLine(e).substring(0,t),o=e);var f=0;if(this.$useWrapMode){var g=this.$wrapData[o];if(g){for(var v=0;m.length>=g[v];)r++,v++;m=m.substring(g[v-1]||0,m.length),f=v>0?g.indent:0}}return{row:r,column:f+this.$getStringScreenWidth(m)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var n=this.$wrapData.length,i=0,r=(a=0,(t=this.$foldData[a++])?t.start.row:1/0);i<n;){var o=this.$wrapData[i];e+=o?o.length+1:1,++i>r&&(i=t.end.row+1,r=(t=this.$foldData[a++])?t.start.row:1/0)}else{e=this.getLength();for(var s=this.$foldData,a=0;a<s.length;a++)e-=(t=s[a]).end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,n,i){if(0===n)return[0,0];var r,o;for(n||(n=1/0),i=i||0,o=0;o<t.length&&!((i+="\t"===(r=t.charAt(o))?this.getScreenTabSize(i):e.getCharacterWidth(r))>n);o++);return[i,o]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=h}.call(m.prototype),e("./edit_session/folding").Folding.call(m.prototype),e("./edit_session/bracket_match").BracketMatch.call(m.prototype),s.defineOptions(m.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e,e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){(e="auto"==e?"text"!=this.$mode.type:"text"!=e)!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){(e=parseInt(e))>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=m})),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(e,t,n){"use strict";var i=e("./lib/lang"),r=e("./lib/oop"),o=e("./range").Range,s=function(){this.$options={}};(function(){this.set=function(e){return r.mixin(this.$options,e),this},this.getOptions=function(){return i.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var i=null;return n.forEach((function(e,n,r,s){return i=new o(e,n,r,s),!(n==s&&t.start&&t.start.start&&0!=t.skipCurrent&&i.isEqual(t.start))||(i=null,!1)})),i},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,r=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),s=[],a=t.re;if(t.$isMultiLine){var c,l=a.length,u=r.length-l;e:for(var h=a.offset||0;h<=u;h++){for(var d=0;d<l;d++)if(-1==r[h+d].search(a[d]))continue e;var p=r[h],m=r[h+l-1],f=p.length-p.match(a[0])[0].length,g=m.match(a[l-1])[0].length;c&&c.end.row===h&&c.end.column>f||(s.push(c=new o(h,f,h+l-1,g)),l>2&&(h=h+l-2))}}else for(var v=0;v<r.length;v++){var _=i.getMatchOffsets(r[v],a);for(d=0;d<_.length;d++){var E=_[d];s.push(new o(v,E.offset,v,E.offset+E.length))}}if(n){var C=n.start.column,A=n.start.column;for(v=0,d=s.length-1;v<d&&s[v].start.column<C&&s[v].start.row==n.start.row;)v++;for(;v<d&&s[d].end.column>A&&s[d].end.row==n.end.row;)d--;for(s=s.slice(v,d+1),v=0,d=s.length;v<d;v++)s[v].start.row+=n.start.row,s[v].end.row+=n.start.row}return s},this.replace=function(e,t){var n=this.$options,i=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(i){var r=i.exec(e);if(!r||r[0].length!=e.length)return null;if(t=e.replace(i,t),n.preserveCase){t=t.split("");for(var o=Math.min(e.length,e.length);o--;){var s=e[o];s&&s.toLowerCase()!=s?t[o]=t[o].toUpperCase():t[o]=t[o].toLowerCase()}t=t.join("")}return t}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=i.escapeRegExp(n)),e.wholeWord&&(n=function(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}(n,e));var r=e.caseSensitive?"gm":"gmi";if(e.$isMultiLine=!t&&/[\n\r]/.test(n),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,r);try{var o=new RegExp(n,r)}catch(e){o=!1}return e.re=o},this.$assembleMultilineRegExp=function(e,t){for(var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),i=[],r=0;r<n.length;r++)try{i.push(new RegExp(n[r],t))}catch(e){return!1}return i},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var i=1==t.backwards,r=0!=t.skipCurrent,o=t.range,s=t.start;s||(s=o?o[i?"end":"start"]:e.selection.getRange()),s.start&&(s=s[r!=i?"end":"start"]);var a=o?o.start.row:0,c=o?o.end.row:e.getLength()-1;if(i)var l=function(e){var n=s.row;if(!h(n,s.column,e)){for(n--;n>=a;n--)if(h(n,Number.MAX_VALUE,e))return;if(0!=t.wrap)for(n=c,a=s.row;n>=a;n--)if(h(n,Number.MAX_VALUE,e))return}};else l=function(e){var n=s.row;if(!h(n,s.column,e)){for(n+=1;n<=c;n++)if(h(n,0,e))return;if(0!=t.wrap)for(n=a,c=s.row;n<=c;n++)if(h(n,0,e))return}};if(t.$isMultiLine)var u=n.length,h=function(t,r,o){var s=i?t-u+1:t;if(!(s<0)){var a=e.getLine(s),c=a.search(n[0]);if(!(!i&&c<r||-1===c)){for(var l=1;l<u;l++)if(-1==(a=e.getLine(s+l)).search(n[l]))return;var h=a.match(n[u-1])[0].length;if(!(i&&h>r))return!!o(s,c,s+u-1,h)||void 0}}};else if(i)h=function(t,i,r){var o,s=e.getLine(t),a=[],c=0;for(n.lastIndex=0;o=n.exec(s);){var l=o[0].length;if(c=o.index,!l){if(c>=s.length)break;n.lastIndex=c+=1}if(o.index+l>i)break;a.push(o.index,l)}for(var u=a.length-1;u>=0;u-=2){var h=a[u-1];if(r(t,h,t,h+(l=a[u])))return!0}};else h=function(t,i,r){var o,s,a=e.getLine(t);for(n.lastIndex=i;s=n.exec(a);){var c=s[0].length;if(r(t,o=s.index,t,o+c))return!0;if(!c&&(n.lastIndex=o+=1,o>=a.length))return!1}};return{forEach:l}}}).call(s.prototype),t.Search=s})),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(e,t,n){"use strict";var i=e("../lib/keys"),r=e("../lib/useragent"),o=i.KEY_MODS;function s(e,t){this.platform=t||(r.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function a(e,t){s.call(this,e,t),this.$singleCommand=!1}a.prototype=s.prototype,function(){function e(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&("string"==typeof e?e:e.name);e=this.commands[n],t||delete this.commands[n];var i=this.commandKeyBinding;for(var r in i){var o=i[r];if(o==e)delete i[r];else if(Array.isArray(o)){var s=o.indexOf(e);-1!=s&&(o.splice(s,1),1==o.length&&(i[r]=o[0]))}}},this.bindKey=function(e,t,n){if("object"==typeof e&&e&&(null==n&&(n=e.position),e=e[this.platform]),e)return"function"==typeof t?this.addCommand({exec:t,bindKey:e,name:t.name||e}):void e.split("|").forEach((function(e){var i="";if(-1!=e.indexOf(" ")){var r=e.split(/\s+/);e=r.pop(),r.forEach((function(e){var t=this.parseKeys(e),n=o[t.hashId]+t.key;i+=(i?" ":"")+n,this._addCommandToBinding(i,"chainKeys")}),this),i+=" "}var s=this.parseKeys(e),a=o[s.hashId]+s.key;this._addCommandToBinding(i+a,t,n)}),this)},this._addCommandToBinding=function(t,n,i){var r,o=this.commandKeyBinding;if(n)if(!o[t]||this.$singleCommand)o[t]=n;else{Array.isArray(o[t])?-1!=(r=o[t].indexOf(n))&&o[t].splice(r,1):o[t]=[o[t]],"number"!=typeof i&&(i=e(n));var s=o[t];for(r=0;r<s.length;r++){if(e(s[r])>i)break}s.splice(r,0,n)}else delete o[t]},this.addCommands=function(e){e&&Object.keys(e).forEach((function(t){var n=e[t];if(n){if("string"==typeof n)return this.bindKey(n,t);"function"==typeof n&&(n={exec:n}),"object"==typeof n&&(n.name||(n.name=t),this.addCommand(n))}}),this)},this.removeCommands=function(e){Object.keys(e).forEach((function(t){this.removeCommand(e[t])}),this)},this.bindKeys=function(e){Object.keys(e).forEach((function(t){this.bindKey(t,e[t])}),this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter((function(e){return e})),n=t.pop(),r=i[n];if(i.FUNCTION_KEYS[r])n=i.FUNCTION_KEYS[r].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:n.toUpperCase(),hashId:-1}}for(var o=0,s=t.length;s--;){var a=i.KEY_MODS[t[s]];if(null==a)return"undefined"!=typeof console&&console.error("invalid modifier "+t[s]+" in "+e),!1;o|=a}return{key:n,hashId:o}},this.findKeyCommand=function(e,t){var n=o[e]+t;return this.commandKeyBinding[n]},this.handleKeyboard=function(e,t,n,i){if(!(i<0)){var r=o[t]+n,s=this.commandKeyBinding[r];return e.$keyChain&&(e.$keyChain+=" "+r,s=this.commandKeyBinding[e.$keyChain]||s),!s||"chainKeys"!=s&&"chainKeys"!=s[s.length-1]?(e.$keyChain&&(t&&4!=t||1!=n.length?(-1==t||i>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-r.length-1)),{command:s}):(e.$keyChain=e.$keyChain||r,{command:"null"})}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(s.prototype),t.HashHandler=s,t.MultiHashHandler=a})),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],(function(e,t,n){"use strict";var i=e("../lib/oop"),r=e("../keyboard/hash_handler").MultiHashHandler,o=e("../lib/event_emitter").EventEmitter,s=function(e,t){r.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",(function(e){return e.command.exec(e.editor,e.args||{})}))};i.inherits(s,r),function(){i.implement(this,o),this.exec=function(e,t,n){if(Array.isArray(e)){for(var i=e.length;i--;)if(this.exec(e[i],t,n))return!0;return!1}if("string"==typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(0!=this.$checkCommandState&&e.isAvailable&&!e.isAvailable(t))return!1;var r={editor:t,command:e,args:n};return r.returnValue=this._emit("exec",r),this._signal("afterExec",r),!1!==r.returnValue},this.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach((function(t){"string"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])}),this)}finally{this.$inReplay=!1}}},this.trimMacro=function(e){return e.map((function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e}))}}.call(s.prototype),t.CommandManager=s})),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],(function(e,t,n){"use strict";var i=e("../lib/lang"),r=e("../config"),o=e("../range").Range;function s(e,t){return{win:e,mac:t}}t.commands=[{name:"showSettingsMenu",bindKey:s("Ctrl-,","Command-,"),exec:function(e){r.loadModule("ace/ext/settings_menu",(function(t){t.init(e),e.showSettingsMenu()}))},readOnly:!0},{name:"goToNextError",bindKey:s("Alt-E","F4"),exec:function(e){r.loadModule("./ext/error_marker",(function(t){t.showErrorMarker(e,1)}))},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:s("Alt-Shift-E","Shift-F4"),exec:function(e){r.loadModule("./ext/error_marker",(function(t){t.showErrorMarker(e,-1)}))},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:s("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:s(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:s("Ctrl-L","Command-L"),exec:function(e,t){"number"!=typeof t||isNaN(t)||e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:s("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:s("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:s("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:s("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:s("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:s("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:s("Ctrl-F","Command-F"),exec:function(e){r.loadModule("ace/ext/searchbox",(function(t){t.Search(e)}))},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:s("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:s("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:s("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:s("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:s("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:s("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:s("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:s("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:s("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:s("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:s("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:s("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:s("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:s("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:s(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:s(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:s("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:s("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:s("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:s("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:s("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:s(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty()?e.selection.getLineRange():e.selection.getRange();e._emit("cut",t),t.isEmpty()||e.session.remove(t),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:s("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:s("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:s("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(e){r.loadModule("ace/ext/searchbox",(function(t){t.Search(e,!0)}))}},{name:"undo",description:"Undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:s("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:s("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:s("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:s("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:s("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:s("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:s("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:s("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:s("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(i.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:s(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:s("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",description:"Expand to line",bindKey:s("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:s(null,null),exec:function(e){for(var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),r=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),s=e.session.doc.getLine(n.row).length,a=e.session.doc.getTextRange(e.selection.getRange()).replace(/\n\s*/," ").length,c=e.session.doc.getLine(n.row),l=n.row+1;l<=r.row+1;l++){var u=i.stringTrimLeft(i.stringTrimRight(e.session.doc.getLine(l)));0!==u.length&&(u=" "+u),c+=u}r.row+1<e.session.doc.getLength()-1&&(c+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new o(n.row,0,r.row+2,0),c),a>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(s=e.session.doc.getLine(n.row).length>s?s+1:s,e.selection.moveCursorTo(n.row,s))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:s(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,i=e.selection.rangeList.ranges,r=[];i.length<1&&(i=[e.selection.getRange()]);for(var s=0;s<i.length;s++)s==i.length-1&&(i[s].end.row===t&&i[s].end.column===n||r.push(new o(i[s].end.row,i[s].end.column,t,n))),0===s?0===i[s].start.row&&0===i[s].start.column||r.push(new o(0,0,i[s].start.row,i[s].start.column)):r.push(new o(i[s-1].end.row,i[s-1].end.column,i[s].start.row,i[s].start.column));e.exitMultiSelectMode(),e.clearSelection();for(s=0;s<r.length;s++)e.selection.addRange(r[s],!1)},readOnly:!0,scrollIntoView:"none"},{name:"openCommandPallete",description:"Open command pallete",bindKey:s("F1","F1"),exec:function(e){e.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:s(null,null),exec:function(e){e.prompt({$type:"modes"})},readOnly:!0}]})),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/clipboard"],(function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var i=e("./lib/oop"),r=e("./lib/dom"),o=e("./lib/lang"),s=e("./lib/useragent"),a=e("./keyboard/textinput").TextInput,c=e("./mouse/mouse_handler").MouseHandler,l=e("./mouse/fold_handler").FoldHandler,u=e("./keyboard/keybinding").KeyBinding,h=e("./edit_session").EditSession,d=e("./search").Search,p=e("./range").Range,m=e("./lib/event_emitter").EventEmitter,f=e("./commands/command_manager").CommandManager,g=e("./commands/default_commands").commands,v=e("./config"),_=e("./token_iterator").TokenIterator,E=e("./clipboard"),C=function(e,t,n){var i=e.getContainerElement();this.container=i,this.renderer=e,this.id="editor"+ ++C.$uid,this.commands=new f(s.isMac?"mac":"win",g),"object"==typeof document&&(this.textInput=new a(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new c(this),new l(this)),this.keyBinding=new u(this),this.$search=(new d).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=o.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",(function(e,t){t._$emitInputEvent.schedule(31)})),this.setSession(t||n&&n.session||new h("")),v.resetOptions(this),n&&this.setOptions(n),v._signal("editor",this)};C.$uid=0,function(){i.implement(this,m),this.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=o.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},this.endOperation=function(e){if(this.curOp){if(e&&!1===e.returnValue)return this.curOp=null;if(1==e&&this.curOp.command&&"mouse"==this.curOp.command.name)return;if(this._signal("beforeEndOperation"),!this.curOp)return;var t=this.curOp.command,n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var i=this.selection.getRange(),r=this.renderer.layerConfig;(i.start.row>=r.lastRow||i.end.row<=r.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==n&&this.renderer.animateScrolling(this.curOp.scrollTop)}var o=this.selection.toJSON();this.curOp.selectionAfter=o,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(o),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,n=this.$mergeableCommands,i=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var r=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),i=i&&this.mergeNextCommand&&(!/\s/.test(r)||/\s/.test(t.args)),this.mergeNextCommand=!0}else i=i&&-1!==n.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(i=!1),i?this.session.mergeUndoDeltas=!0:-1!==n.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e,t){if(e&&"string"==typeof e&&"ace"!=e){this.$keybindingId=e;var n=this;v.loadModule(["keybinding",e],(function(i){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(i&&i.handler),t&&t()}))}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||r.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout((function(){e.$highlightPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=t.findMatchingBracket(e.getCursorPosition());if(n)var i=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)i=t.$mode.getMatching(e.session);i&&(t.$bracketHighlight=t.addMarker(i,"ace_bracket","text"))}}),50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var e=this;this.$highlightTagPending=!0,setTimeout((function(){e.$highlightTagPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=e.getCursorPosition(),i=new _(e.session,n.row,n.column),r=i.getCurrentToken();if(!r||!/\b(?:tag-open|tag-name)/.test(r.type))return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);if(-1==r.type.indexOf("tag-open")||(r=i.stepForward())){var o=r.value,s=0,a=i.stepBackward();if("<"==a.value)do{a=r,(r=i.stepForward())&&r.value===o&&-1!==r.type.indexOf("tag-name")&&("<"===a.value?s++:"</"===a.value&&s--)}while(r&&s>=0);else{do{r=a,a=i.stepBackward(),r&&r.value===o&&-1!==r.type.indexOf("tag-name")&&("<"===a.value?s++:"</"===a.value&&s--)}while(a&&s<=0);i.stepForward()}if(!r)return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);var c=i.getCurrentTokenRow(),l=i.getCurrentTokenColumn(),u=new p(c,l,c,l+r.value.length),h=t.$backMarkers[t.$tagHighlight];t.$tagHighlight&&null!=h&&0!==u.compareRange(h.range)&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),t.$tagHighlight||(t.$tagHighlight=t.addMarker(u,"ace_bracket","text"))}}}),50)}},this.focus=function(){var e=this;setTimeout((function(){e.isFocused()||e.textInput.focus()})),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e))},this.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,n,t),this._signal("change",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(e=!1),!this.renderer.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var n=new p(e.row,e.column,e.row,1/0);n.id=t.addMarker(n,"ace_active-line","screenLine"),t.$highlightLineMarker=n}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var n=this.selection.getRange(),i=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",i)}var r=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(r),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var n=t.start.column,i=t.end.column,r=e.getLine(t.start.row),o=r.substring(n,i);if(!(o.length>5e3)&&/[\w\d]/.test(o)){var s=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o}),a=r.substring(n-1,i+1);if(s.test(a))return s}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;for(var i=this.selection.getAllRanges(),r=0;r<i.length;r++){var o=i[r];r&&i[r-1].start.row==o.start.row||(e+=this.session.getLine(o.start.row)+t)}}var s={text:e};return this._signal("copy",s),E.lineMode=n?s.text:"",s.text},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){"string"==typeof e&&(e={text:e}),this._signal("paste",e);var t=e.text,n=t==E.lineMode,i=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)n?i.insert({row:this.selection.lead.row,column:0},t):this.insert(t);else if(n)this.selection.rangeList.ranges.forEach((function(e){i.insert({row:e.start.row,column:0},t)}));else{var r=t.split(/\r\n|\r|\n/),o=this.selection.rangeList.ranges,s=!(2!=r.length||r[0]&&r[1]);if(r.length!=o.length||s)return this.commands.exec("insertstring",this,t);for(var a=o.length;a--;){var c=o[a];c.isEmpty()||i.remove(c),i.insert(c.start,r[a])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,i=n.getMode(),r=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var o=i.transformAction(n.getState(r.row),"insertion",this,n,e);o&&(e!==o.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=o.text)}if("\t"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&-1==e.indexOf("\n")){(s=new p.fromPoints(r,r)).end.column+=e.length,this.session.remove(s)}}else{var s=this.getSelectionRange();r=this.session.remove(s),this.clearSelection()}if("\n"==e||"\r\n"==e){var a=n.getLine(r.row);if(r.column>a.search(/\S|$/)){var c=a.substr(r.column).search(/\S|$/);n.doc.removeInLine(r.row,r.column,r.column+c)}}this.clearSelection();var l=r.column,u=n.getState(r.row),h=(a=n.getLine(r.row),i.checkOutdent(u,a,e));if(n.insert(r,e),o&&o.selection&&(2==o.selection.length?this.selection.setSelectionRange(new p(r.row,l+o.selection[0],r.row,l+o.selection[1])):this.selection.setSelectionRange(new p(r.row+o.selection[0],o.selection[1],r.row+o.selection[2],o.selection[3]))),n.getDocument().isNewLine(e)){var d=i.getNextLineIndent(u,a.slice(0,r.column),n.getTabString());n.insert({row:r.row+1,column:0},d)}h&&i.autoOutdent(u,n,r.row)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},this.applyComposition=function(e,t){var n;(t.extendLeft||t.extendRight)&&((n=this.selection.getRange()).start.column-=t.extendLeft,n.end.column+=t.extendRight,this.selection.setRange(n),e||n.isEmpty()||this.remove());(!e&&this.selection.isEmpty()||this.insert(e,!0),t.restoreStart||t.restoreEnd)&&((n=this.selection.getRange()).start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n))},this.onCommandKey=function(e,t,n){return this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,i=n.getState(t.start.row),r=n.getMode().transformAction(i,"deletion",this,n,t);if(0===t.end.column){var o=n.getTextRange(t);if("\n"==o[o.length-1]){var s=n.getLine(t.end.row);/^\s+$/.test(s)&&(t.end.column=s.length)}}r&&(t=r)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var n,i,r=this.session.getLine(e.row);t<r.length?(n=r.charAt(t)+r.charAt(t-1),i=new p(e.row,t-1,e.row,t+1)):(n=r.charAt(t-1)+r.charAt(t-2),i=new p(e.row,t-2,e.row,t)),this.session.replace(i,n),this.session.selection.moveToPosition(i.end)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(!(t.start.row<t.end.row)){if(t.start.column<t.end.column){var n=e.getTextRange(t);if(!/^\s+$/.test(n)){u=this.$getSelectedRows();return void e.indentRows(u.first,u.last,"\t")}}var i=e.getLine(t.start.row),r=t.start,s=e.getTabSize(),a=e.documentToScreenColumn(r.row,r.column);if(this.session.getUseSoftTabs())var c=s-a%s,l=o.stringRepeat(" ",c);else{for(c=a%s;" "==i[t.start.column-1]&&c;)t.start.column--,c--;this.selection.setSelectionRange(t),l="\t"}return this.insert(l)}var u=this.$getSelectedRows();e.indentRows(u.first,u.last,"\t")},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,"\t")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){for(var e=this.$getSelectedRows(),t=this.session,n=[],i=e.first;i<=e.last;i++)n.push(t.getLine(i));n.sort((function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0}));var r=new p(0,0,0,0);for(i=e.first;i<=e.last;i++){var o=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=o.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;for(var i=this.session.getLine(e);n.lastIndex<t;){var r=n.exec(i);if(r.index<=t&&r.index+r[0].length>=t)return{value:r[0],start:r.index,end:r.index+r[0].length}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,i=new p(t,n-1,t,n),r=this.session.getTextRange(i);if(!isNaN(parseFloat(r))&&isFinite(r)){var o=this.getNumberAt(t,n);if(o){var s=o.value.indexOf(".")>=0?o.start+o.value.indexOf(".")+1:o.end,a=o.start+o.value.length-s,c=parseFloat(o.value);c*=Math.pow(10,a),s!==o.end&&n<s?e*=Math.pow(10,o.end-n-1):e*=Math.pow(10,o.end-n),c+=e;var l=(c/=Math.pow(10,a)).toFixed(a),u=new p(t,o.start,t,o.end);this.session.replace(u,l),this.moveCursorTo(t,Math.max(o.start+1,n+l.length-o.value.length))}}else this.toggleWord()},this.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],this.toggleWord=function(){var e=this.selection.getCursor().row,t=this.selection.getCursor().column;this.selection.selectWord();var n=this.getSelectedText(),i=this.selection.getWordRange().start.column,r=n.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),s=t-i-1;s<0&&(s=0);var a=0,c=0,l=this;n.match(/[A-Za-z0-9_]+/)&&r.forEach((function(t,r){c=a+t.length,s>=a&&s<=c&&(n=t,l.selection.clearSelection(),l.moveCursorTo(e,a+i),l.selection.selectTo(e,c+i)),a=c}));for(var u,h=this.$toggleWordPairs,d=0;d<h.length;d++)for(var p=h[d],m=0;m<=1;m++){var f=+!m,g=n.match(new RegExp("^\\s?_?("+o.escapeRegExp(p[m])+")\\s?$","i"));if(g)n.match(new RegExp("([_]|^|\\s)("+o.escapeRegExp(g[1])+")($|\\s)","g"))&&(u=n.replace(new RegExp(o.escapeRegExp(p[m]),"i"),(function(e){var t=p[f];return e.toUpperCase()==e?t=t.toUpperCase():e.charAt(0).toUpperCase()==e.charAt(0)&&(t=t.substr(0,0)+p[f].charAt(0).toUpperCase()+t.substr(1)),t})),this.insert(u),u="")}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),i=e.isBackwards();if(n.isEmpty()){var r=n.start.row;t.duplicateLines(r,r)}else{var o=i?n.start:n.end,s=t.insert(o,t.getTextRange(n),!1);n.start=o,n.end=s,e.setSelectionRange(n,i)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,i,r=this.selection;if(!r.inMultiSelectMode||this.inVirtualSelectionMode){var o=r.toOrientedRange();n=this.$getSelectedRows(o),i=this.session.$moveLines(n.first,n.last,t?0:e),t&&-1==e&&(i=0),o.moveBy(i,0),r.fromOrientedRange(o)}else{var s=r.rangeList.ranges;r.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var a=0,c=0,l=s.length,u=0;u<l;u++){var h=u;s[u].moveBy(a,0);for(var d=(n=this.$getSelectedRows(s[u])).first,p=n.last;++u<l;){c&&s[u].moveBy(c,0);var m=this.$getSelectedRows(s[u]);if(t&&m.first!=p)break;if(!t&&m.first>p+1)break;p=m.last}for(u--,a=this.session.$moveLines(d,p,t?0:e),t&&-1==e&&(h=u+1);h<=u;)s[h].moveBy(a,0),h++;t||(a=0),c+=a}r.fromOrientedRange(r.ranges[0]),r.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,i=this.renderer.layerConfig,r=e*Math.floor(i.height/i.lineHeight);!0===t?this.selection.$moveSelection((function(){this.moveCursorBy(r,0)})):!1===t&&(this.selection.moveCursorBy(r,0),this.selection.clearSelection());var o=n.scrollTop;n.scrollBy(0,r*i.lineHeight),null!=t&&n.scrollCursorIntoView(null,.5),n.animateScrolling(o)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,i){this.renderer.scrollToLine(e,t,n,i)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),i=new _(this.session,n.row,n.column),r=i.getCurrentToken(),o=r||i.stepForward();if(o){var s,a,c=!1,l={},u=n.column-o.start,h={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;u<o.value.length&&!c;u++)if(h[o.value[u]])switch(a=h[o.value[u]]+"."+o.type.replace("rparen","lparen"),isNaN(l[a])&&(l[a]=0),o.value[u]){case"(":case"[":case"{":l[a]++;break;case")":case"]":case"}":l[a]--,-1===l[a]&&(s="bracket",c=!0)}}else-1!==o.type.indexOf("tag-name")&&(isNaN(l[o.value])&&(l[o.value]=0),"<"===r.value?l[o.value]++:"</"===r.value&&l[o.value]--,-1===l[o.value]&&(s="tag",c=!0));c||(r=o,o=i.stepForward(),u=0)}while(o&&!c);if(s){var d,m;if("bracket"===s)(d=this.session.getBracketRange(n))||(m=(d=new p(i.getCurrentTokenRow(),i.getCurrentTokenColumn()+u-1,i.getCurrentTokenRow(),i.getCurrentTokenColumn()+u-1)).start,(t||m.row===n.row&&Math.abs(m.column-n.column)<2)&&(d=this.session.getBracketRange(m)));else if("tag"===s){if(!o||-1===o.type.indexOf("tag-name"))return;var f=o.value;if(0===(d=new p(i.getCurrentTokenRow(),i.getCurrentTokenColumn()-2,i.getCurrentTokenRow(),i.getCurrentTokenColumn()-2)).compare(n.row,n.column)){c=!1;do{o=r,(r=i.stepBackward())&&(-1!==r.type.indexOf("tag-close")&&d.setEnd(i.getCurrentTokenRow(),i.getCurrentTokenColumn()+1),o.value===f&&-1!==o.type.indexOf("tag-name")&&("<"===r.value?l[f]++:"</"===r.value&&l[f]--,0===l[f]&&(c=!0)))}while(r&&!c)}o&&o.type.indexOf("tag-name")&&(m=d.start).row==n.row&&Math.abs(m.column-n.column)<2&&(m=d.end)}(m=d&&d.cursor||m)&&(e?d&&t?this.selection.setRange(d):d&&d.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(m.row,m.column):this.selection.moveTo(m.row,m.column))}}},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),i=0;return n?(this.$tryReplace(n,e)&&(i=1),this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end),i):i},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),i=0;if(!n.length)return i;var r=this.getSelectionRange();this.selection.moveTo(0,0);for(var o=n.length-1;o>=0;--o)this.$tryReplace(n[o],e)&&i++;return this.selection.setSelectionRange(r),i},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return null!==(t=this.$search.replace(n,t))?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&i.mixin(t,e);var r=this.selection.getRange();null==t.needle&&((e=this.session.getTextRange(r)||this.$search.$options.needle)||(r=this.session.getWordRange(r.start.row,r.start.column),e=this.session.getTextRange(r)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:r});var o=this.$search.find(this.session);return t.preventScroll?o:o?(this.revealRange(o,n),o):(t.backwards?r.start=r.end:r.end=r.start,void this.selection.setRange(r))},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),!1!==t&&this.renderer.animateScrolling(n)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(e){var t,n=this,i=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var r=this.$scrollAnchor;r.style.cssText="position:absolute",this.container.insertBefore(r,this.container.firstChild);var o=this.on("changeSelection",(function(){i=!0})),s=this.renderer.on("beforeRender",(function(){i&&(t=n.renderer.container.getBoundingClientRect())})),a=this.renderer.on("afterRender",(function(){if(i&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,o=e.$cursorLayer.$pixelPos,s=e.layerConfig,a=o.top-s.offset;null!=(i=o.top>=0&&a+t.top<0||!(o.top<s.height&&o.top+t.top+s.lineHeight>window.innerHeight)&&null)&&(r.style.top=a+"px",r.style.left=o.left+"px",r.style.height=s.lineHeight+"px",r.scrollIntoView(i)),i=t=null}}));this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",o),this.renderer.off("afterRender",a),this.renderer.off("beforeRender",s))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,r.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))},this.prompt=function(e,t,n){var i=this;v.loadModule("./ext/prompt",(function(r){r.prompt(i,e,t,n)}))}}.call(C.prototype),v.defineOptions(C.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?A.attach(this):A.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?A.attach(this):A.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.renderer.$composition||this.getValue();if(e&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),r.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!e&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),r.addCssClass(this.container,"ace_hasPlaceholder");var t=r.createElement("div");t.className="ace_placeholder",t.textContent=this.$placeholder||"",this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var A={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"·":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=C})),ace.define("ace/undomanager",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var i=function(){this.$maxRev=0,this.$fromUndo=!1,this.reset()};(function(){this.addSession=function(e){this.$session=e},this.add=function(e,t,n){this.$fromUndo||e!=this.$lastDelta&&(!1!==t&&this.lastDeltas||(this.lastDeltas=[],this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev),"remove"!=e.action&&"insert"!=e.action||(this.$lastDelta=e),this.lastDeltas.push(e))},this.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},this.startNewGroup=function(){return this.lastDeltas=null,this.$rev},this.markIgnored=function(e,t){null==t&&(t=this.$rev+1);for(var n=this.$undoStack,i=n.length;i--;){var r=n[i][0];if(r.id<=e)break;r.id<t&&(r.ignore=!0)}this.lastDeltas=null},this.getSelection=function(e,t){for(var n=this.selections,i=n.length;i--;){var r=n[i];if(r.rev<e)return t&&(r=n[i+1]),r}},this.getRevision=function(){return this.$rev},this.getDeltas=function(e,t){null==t&&(t=this.$rev+1);for(var n=this.$undoStack,i=null,r=0,o=n.length;o--;){var s=n[o][0];if(s.id<t&&!i&&(i=o+1),s.id<=e){r=o+1;break}}return n.slice(r,i)},this.getChangedRanges=function(e,t){null==t&&(t=this.$rev+1)},this.getChangedLines=function(e,t){null==t&&(t=this.$rev+1)},this.undo=function(e,t){this.lastDeltas=null;var n=this.$undoStack;if(function(e,t){for(var n=t;n--;){var i=e[n];if(i&&!i[0].ignore){for(;n<t-1;){var r=u(e[n],e[n+1]);e[n]=r[0],e[n+1]=r[1],n++}return!0}}}(n,n.length)){e||(e=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var i=n.pop(),r=null;return i&&i.length&&(r=e.undoChanges(i,t),this.$redoStack.push(i),this.$syncRev()),this.$fromUndo=!1,r}},this.redo=function(e,t){if(this.lastDeltas=null,e||(e=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var n=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);!function(e,t){for(var n=0;n<t.length;n++)for(var i=t[n],r=0;r<i.length;r++)f(e,i[r])}(this.$redoStack,n),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach((function(e){e[0].id=++this.$maxRev}),this)}var i=this.$redoStack.pop(),r=null;return i&&(r=e.redoChanges(i,t),this.$undoStack.push(i),this.$syncRev()),this.$fromUndo=!1,r},this.$syncRev=function(){var e=this.$undoStack,t=e[e.length-1],n=t&&t[0].id||0;this.$redoStackBaseRev=n,this.$rev=n},this.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},this.canUndo=function(){return this.$undoStack.length>0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){null==e&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?a(e):a(this.$undoStack)+"\n---\n"+a(this.$redoStack)}}).call(i.prototype);var r=e("./range").Range,o=r.comparePoints;r.comparePoints;function s(e){return{row:e.row,column:e.column}}function a(e){if(e=e||this,Array.isArray(e))return e.map(a).join("\n");var t="";return e.action?(t="insert"==e.action?"+":"-",t+="["+e.lines+"]"):e.value&&(t=Array.isArray(e.value)?e.value.map(c).join("\n"):c(e.value)),e.start&&(t+=c(e)),(e.id||e.rev)&&(t+="\t("+(e.id||e.rev)+")"),t}function c(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function l(e,t){var n="insert"==e.action,i="insert"==t.action;if(n&&i)if(o(t.start,e.end)>=0)d(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;d(e,t,1)}else if(n&&!i)if(o(t.start,e.end)>=0)d(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;d(e,t,-1)}else if(!n&&i)if(o(t.start,e.start)>=0)d(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;d(e,t,1)}else if(!n&&!i)if(o(t.start,e.start)>=0)d(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;d(e,t,-1)}return[t,e]}function u(e,t){for(var n=e.length;n--;)for(var i=0;i<t.length;i++)if(!l(e[n],t[i])){for(;n<e.length;){for(;i--;)l(t[i],e[n]);i=t.length,n++}return[e,t]}return e.selectionBefore=t.selectionBefore=e.selectionAfter=t.selectionAfter=null,[t,e]}function h(e,t){var n="insert"==e.action,i="insert"==t.action;if(n&&i)o(e.start,t.start)<0?d(t,e,1):d(e,t,1);else if(n&&!i)o(e.start,t.end)>=0?d(e,t,-1):o(e.start,t.start)<=0?d(t,e,1):(d(e,r.fromPoints(t.start,e.start),-1),d(t,e,1));else if(!n&&i)o(t.start,e.end)>=0?d(t,e,-1):o(t.start,e.start)<=0?d(e,t,1):(d(t,r.fromPoints(e.start,t.start),-1),d(e,t,1));else if(!n&&!i)if(o(t.start,e.end)>=0)d(t,e,-1);else{var s,a;if(!(o(t.end,e.start)<=0))return o(e.start,t.start)<0&&(s=e,e=m(e,t.start)),o(e.end,t.end)>0&&(a=m(e,t.end)),p(t.end,e.start,e.end,-1),a&&!s&&(e.lines=a.lines,e.start=a.start,e.end=a.end,a=e),[t,s,a].filter(Boolean);d(e,t,-1)}return[t,e]}function d(e,t,n){p(e.start,t.start,t.end,n),p(e.end,t.start,t.end,n)}function p(e,t,n,i){e.row==(1==i?t:n).row&&(e.column+=i*(n.column-t.column)),e.row+=i*(n.row-t.row)}function m(e,t){var n=e.lines,i=e.end;e.end=s(t);var r=e.end.row-e.start.row,o=n.splice(r,n.length),a=r?t.column:t.column-e.start.column;return n.push(o[0].substring(0,a)),o[0]=o[0].substr(a),{start:s(t),end:i,lines:o,action:e.action}}function f(e,t){t=function(e){return{start:s(e.start),end:s(e.end),action:e.action,lines:e.lines.slice()}}(t);for(var n=e.length;n--;){for(var i=e[n],r=0;r<i.length;r++){var o=h(i[r],t);t=o[0],2!=o.length&&(o[2]?(i.splice(r+1,1,o[1],o[2]),r++):o[1]||(i.splice(r,1),r--))}i.length||e.splice(n,1)}return e}t.UndoManager=i})),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";var i=e("../lib/dom"),r=function(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=2*this.canvasHeight+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0};(function(){this.moveContainer=function(e){i.translate(this.element,0,-e.firstRowScreen*e.lineHeight%this.canvasHeight-e.offset*this.$offsetCoefficient)},this.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},this.computeLineTop=function(e,t,n){var i=t.firstRowScreen*t.lineHeight,r=Math.floor(i/this.canvasHeight);return n.documentToScreenRow(e,0)*t.lineHeight-r*this.canvasHeight},this.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLength(e)},this.getLength=function(){return this.cells.length},this.get=function(e){return this.cells[e]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);for(var t=i.createFragment(this.element),n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.appendChild(t)}else this.cells.push(e),this.element.appendChild(e.element)},this.unshift=function(e){if(Array.isArray(e)){this.cells.unshift.apply(this.cells,e);for(var t=i.createFragment(this.element),n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.firstChild?this.element.insertBefore(t,this.element.firstChild):this.element.appendChild(t)}else this.cells.unshift(e),this.element.insertAdjacentElement("afterbegin",e.element)},this.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},this.$cacheCell=function(e){e&&(e.element.remove(),this.cellCache.push(e))},this.createCell=function(e,t,n,r){var o=this.cellCache.pop();if(!o){var s=i.createElement("div");r&&r(s),this.element.appendChild(s),o={element:s,text:"",row:e}}return o.row=e,o}}).call(r.prototype),t.Lines=r})),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines"],(function(e,t,n){"use strict";var i=e("../lib/dom"),r=e("../lib/oop"),o=e("../lib/lang"),s=e("../lib/event_emitter").EventEmitter,a=e("./lines").Lines,c=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new a(this.element),this.$lines.$offsetCoefficient=1};function l(e){var t=document.createTextNode("");e.appendChild(t);var n=i.createElement("span");return e.appendChild(n),e}(function(){r.implement(this,s),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],i=n.row,r=this.$annotations[i];r||(r=this.$annotations[i]={text:[]});var s=n.text;s=s?o.escapeHTML(s):n.html||"",-1===r.text.indexOf(s)&&r.text.push(s);var a=n.type;"error"==a?r.className=" ace_error":"warning"==a&&" ace_error"!=r.className?r.className=" ace_warning":"info"!=a||r.className||(r.className=" ace_info")}},this.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,n=e.end.row-t;if(0===n);else if("remove"==e.action)this.$annotations.splice(t,n+1,null);else{var i=new Array(n+1);i.unshift(t,1),this.$annotations.splice.apply(this.$annotations,i)}}},this.update=function(e){this.config=e;var t=this.session,n=e.firstRow,i=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1);this.oldLastRow=i,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var r=t.getNextFoldLine(n),o=r?r.start.row:1/0,s=null,a=-1,c=n;;){if(c>o&&(c=r.end.row+1,o=(r=t.getNextFoldLine(c,r))?r.start.row:1/0),c>i){for(;this.$lines.getLength()>a+1;)this.$lines.pop();break}(s=this.$lines.get(++a))?s.row=c:(s=this.$lines.createCell(c,e,this.session,l),this.$lines.push(s)),this.$renderCell(s,e,r,c),c++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,i=t.$firstLineNumber,r=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||t.$useWrapMode)&&(r=t.getLength()+i-1);var o=n?n.getWidth(t,r,e):r.toString().length*e.characterWidth,s=this.$padding||this.$computePadding();(o+=s.left+s.right)===this.gutterWidth||isNaN(o)||(this.gutterWidth=o,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",o))},this.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},this.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!this.$cursorCell||this.$cursorCell.row!=e){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n<t.length;n++){var i=t[n];if(i.row>=this.$cursorRow){if(i.row>this.$cursorRow){var r=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&r&&r.start.row==t[n-1].row))break;i=t[n-1]}i.element.className="ace_gutter-active-line "+i.element.className,this.$cursorCell=i;break}}}}},this.scrollLines=function(e){var t=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),i=this.oldLastRow;if(this.oldLastRow=n,!t||i<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);r>0;r--)this.$lines.shift();if(i>n)for(r=this.session.getFoldedRowCount(n+1,i);r>0;r--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,t.firstRow-1)),n>i&&this.$lines.push(this.$renderLines(e,i+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,n){for(var i=[],r=t,o=this.session.getNextFoldLine(r),s=o?o.start.row:1/0;r>s&&(r=o.end.row+1,s=(o=this.session.getNextFoldLine(r,o))?o.start.row:1/0),!(r>n);){var a=this.$lines.createCell(r,e,this.session,l);this.$renderCell(a,e,o,r),i.push(a),r++}return i},this.$renderCell=function(e,t,n,r){var o=e.element,s=this.session,a=o.childNodes[0],c=o.childNodes[1],l=s.$firstLineNumber,u=s.$breakpoints,h=s.$decorations,d=s.gutterRenderer||this.$renderer,p=this.$showFoldWidgets&&s.foldWidgets,m=n?n.start.row:Number.MAX_VALUE,f="ace_gutter-cell ";if(this.$highlightGutterLine&&(r==this.$cursorRow||n&&r<this.$cursorRow&&r>=m&&this.$cursorRow<=n.end.row)&&(f+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),u[r]&&(f+=u[r]),h[r]&&(f+=h[r]),this.$annotations[r]&&(f+=this.$annotations[r].className),o.className!=f&&(o.className=f),p){var g=p[r];null==g&&(g=p[r]=s.getFoldWidget(r))}if(g){f="ace_fold-widget ace_"+g;"start"==g&&r==m&&r<n.end.row?f+=" ace_closed":f+=" ace_open",c.className!=f&&(c.className=f);var v=t.lineHeight+"px";i.setStyle(c.style,"height",v),i.setStyle(c.style,"display","inline-block")}else c&&i.setStyle(c.style,"display","none");var _=(d?d.getText(s,r):r+l).toString();return _!==a.data&&(a.data=_),i.setStyle(e.element.style,"height",this.$lines.computeLineHeight(r,t,s)+"px"),i.setStyle(e.element.style,"top",this.$lines.computeLineTop(r,t,s)+"px"),e.text=_,e},this.$fixedWidth=!1,this.$highlightGutterLine=!0,this.$renderer="",this.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?i.addCssClass(this.element,"ace_folding-enabled"):i.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=i.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();return e.x<t.left+n.left?"markers":this.$showFoldWidgets&&e.x>n.right-t.right?"foldWidgets":void 0}}).call(c.prototype),t.Gutter=c})),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],(function(e,t,n){"use strict";var i=e("../range").Range,r=e("../lib/dom"),o=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var n=-1!=this.i&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},this.update=function(e){if(e){var t;for(var n in this.config=e,this.i=0,this.markers){var i=this.markers[n];if(i.range){var r=i.range.clipRows(e.firstRow,e.lastRow);if(!r.isEmpty())if(r=r.toScreenRange(this.session),i.renderer){var o=this.$getTop(r.start.row,e),s=this.$padding+r.start.column*e.characterWidth;i.renderer(t,r,s,o,e)}else"fullLine"==i.type?this.drawFullLineMarker(t,r,i.clazz,e):"screenLine"==i.type?this.drawScreenLineMarker(t,r,i.clazz,e):r.isMultiLine()?"text"==i.type?this.drawTextMarker(t,r,i.clazz,e):this.drawMultiLineMarker(t,r,i.clazz,e):this.drawSingleLineMarker(t,r,i.clazz+" ace_start ace_br15",e)}else i.update(t,this,this.session,e)}if(-1!=this.i)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,r,o){for(var s=this.session,a=t.start.row,c=t.end.row,l=a,u=0,h=0,d=s.getScreenLastRowColumn(l),p=new i(l,t.start.column,l,h);l<=c;l++)p.start.row=p.end.row=l,p.start.column=l==a?t.start.column:s.getRowWrapIndent(l),p.end.column=d,u=h,h=d,d=l+1<c?s.getScreenLastRowColumn(l+1):l==c?0:t.end.column,this.drawSingleLineMarker(e,p,n+(l==a?" ace_start":"")+" ace_br"+((l==a||l==a+1&&t.start.column?1:0)|(u<h?2:0)|(h>d?4:0)|(l==c?8:0)),r,l==c?0:1,o)},this.drawMultiLineMarker=function(e,t,n,i,r){var o=this.$padding,s=i.lineHeight,a=this.$getTop(t.start.row,i),c=o+t.start.column*i.characterWidth;(r=r||"",this.session.$bidiHandler.isBidiRow(t.start.row))?((l=t.clone()).end.row=l.start.row,l.end.column=this.session.getLine(l.start.row).length,this.drawBidiSingleLineMarker(e,l,n+" ace_br1 ace_start",i,null,r)):this.elt(n+" ace_br1 ace_start","height:"+s+"px;right:0;top:"+a+"px;left:"+c+"px;"+(r||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var l;(l=t.clone()).start.row=l.end.row,l.start.column=0,this.drawBidiSingleLineMarker(e,l,n+" ace_br12",i,null,r)}else{a=this.$getTop(t.end.row,i);var u=t.end.column*i.characterWidth;this.elt(n+" ace_br12","height:"+s+"px;width:"+u+"px;top:"+a+"px;left:"+o+"px;"+(r||""))}if(!((s=(t.end.row-t.start.row-1)*i.lineHeight)<=0)){a=this.$getTop(t.start.row+1,i);var h=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(h?" ace_br"+h:""),"height:"+s+"px;right:0;top:"+a+"px;left:"+o+"px;"+(r||""))}},this.drawSingleLineMarker=function(e,t,n,i,r,o){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,i,r,o);var s=i.lineHeight,a=(t.end.column+(r||0)-t.start.column)*i.characterWidth,c=this.$getTop(t.start.row,i),l=this.$padding+t.start.column*i.characterWidth;this.elt(n,"height:"+s+"px;width:"+a+"px;top:"+c+"px;left:"+l+"px;"+(o||""))},this.drawBidiSingleLineMarker=function(e,t,n,i,r,o){var s=i.lineHeight,a=this.$getTop(t.start.row,i),c=this.$padding;this.session.$bidiHandler.getSelections(t.start.column,t.end.column).forEach((function(e){this.elt(n,"height:"+s+"px;width:"+e.width+(r||0)+"px;top:"+a+"px;left:"+(c+e.left)+"px;"+(o||""))}),this)},this.drawFullLineMarker=function(e,t,n,i,r){var o=this.$getTop(t.start.row,i),s=i.lineHeight;t.start.row!=t.end.row&&(s+=this.$getTop(t.end.row,i)-o),this.elt(n,"height:"+s+"px;top:"+o+"px;left:0;right:0;"+(r||""))},this.drawScreenLineMarker=function(e,t,n,i,r){var o=this.$getTop(t.start.row,i),s=i.lineHeight;this.elt(n,"height:"+s+"px;top:"+o+"px;left:0;right:0;"+(r||""))}}).call(o.prototype),t.Marker=o})),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],(function(e,t,n){"use strict";var i=e("../lib/oop"),r=e("../lib/dom"),o=e("../lib/lang"),s=e("./lines").Lines,a=e("../lib/event_emitter").EventEmitter,c=function(e){this.dom=r,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new s(this.element)};(function(){i.implement(this,a),this.EOF_CHAR="¶",this.EOL_CHAR_LF="¬",this.EOL_CHAR_CRLF="¤",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="—",this.SPACE_CHAR="·",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t="\n"==e.getNewLineCharacter()&&"windows"!=e.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=t)return this.EOL_CHAR=t,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],n=1;n<e+1;n++){if(this.showInvisibles)(i=this.dom.createElement("span")).className="ace_invisible ace_invisible_tab",i.textContent=o.stringRepeat(this.TAB_CHAR,n),t.push(i);else t.push(this.dom.createTextNode(o.stringRepeat(" ",n),this.element))}if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var i,r="ace_indent-guide",s="",a="";if(this.showInvisibles){r+=" ace_invisible",s=" ace_invisible_space",a=" ace_invisible_tab";var c=o.stringRepeat(this.SPACE_CHAR,this.tabSize),l=o.stringRepeat(this.TAB_CHAR,this.tabSize)}else l=c=o.stringRepeat(" ",this.tabSize);(i=this.dom.createElement("span")).className=r+s,i.textContent=c,this.$tabStrings[" "]=i,(i=this.dom.createElement("span")).className=r+a,i.textContent=l,this.$tabStrings["\t"]=i}},this.updateLines=function(e,t,n){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var i=Math.max(t,e.firstRow),r=Math.min(n,e.lastRow),o=this.element.childNodes,s=0,a=e.firstRow;a<i;a++){if(c=this.session.getFoldLine(a)){if(c.containsRow(i)){i=c.start.row;break}a=c.end.row}s++}for(var c,l=!1,u=(a=i,(c=this.session.getNextFoldLine(a))?c.start.row:1/0);a>u&&(a=c.end.row+1,u=(c=this.session.getNextFoldLine(a,c))?c.start.row:1/0),!(a>r);){var h=o[s++];if(h){this.dom.removeChildren(h),this.$renderLine(h,a,a==u&&c),l&&(h.style.top=this.$lines.computeLineTop(a,e,this.session)+"px");var d=e.lineHeight*this.session.getRowLength(a)+"px";h.style.height!=d&&(l=!0,h.style.height=d)}a++}if(l)for(;s<this.$lines.cells.length;){var p=this.$lines.cells[s++];p.element.style.top=this.$lines.computeLineTop(p.row,e,this.session)+"px"}},this.scrollLines=function(e){var t=this.config;if(this.config=e,this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=e.lastRow,i=t?t.lastRow:-1;if(!t||i<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);r>0;r--)this.$lines.shift();if(t.lastRow>e.lastRow)for(r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,t.firstRow-1)),e.lastRow>t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){for(var i=[],o=t,s=this.session.getNextFoldLine(o),a=s?s.start.row:1/0;o>a&&(o=s.end.row+1,a=(s=this.session.getNextFoldLine(o,s))?s.start.row:1/0),!(o>n);){var c=this.$lines.createCell(o,e,this.session),l=c.element;this.dom.removeChildren(l),r.setStyle(l.style,"height",this.$lines.computeLineHeight(o,e,this.session)+"px"),r.setStyle(l.style,"top",this.$lines.computeLineTop(o,e,this.session)+"px"),this.$renderLine(l,o,o==a&&s),this.$useLineGroups()?l.className="ace_line_group":l.className="ace_line",i.push(c),o++}return i},this.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var t=e.firstRow,n=e.lastRow,i=this.$lines;i.getLength();)i.pop();i.push(this.$renderLinesFragment(e,t,n))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,i){for(var r,s=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,a=this.dom.createFragment(this.element),c=0;r=s.exec(i);){var l=r[1],u=r[2],h=r[3],d=r[4],p=r[5];if(this.showInvisibles||!u){var m=c!=r.index?i.slice(c,r.index):"";if(c=r.index+r[0].length,m&&a.appendChild(this.dom.createTextNode(m,this.element)),l){var f=this.session.getScreenTabSize(t+r.index);a.appendChild(this.$tabStrings[f].cloneNode(!0)),t+=f-1}else if(u){if(this.showInvisibles)(v=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",v.textContent=o.stringRepeat(this.SPACE_CHAR,u.length),a.appendChild(v);else a.appendChild(this.com.createTextNode(u,this.element))}else if(h){(v=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",v.textContent=o.stringRepeat(this.SPACE_CHAR,h.length),a.appendChild(v)}else if(d){t+=1,(v=this.dom.createElement("span")).style.width=2*this.config.characterWidth+"px",v.className=this.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",v.textContent=this.showInvisibles?this.SPACE_CHAR:d,a.appendChild(v)}else if(p){t+=1,(v=this.dom.createElement("span")).style.width=2*this.config.characterWidth+"px",v.className="ace_cjk",v.textContent=p,a.appendChild(v)}}}if(a.appendChild(this.dom.createTextNode(c?i.slice(c):i,this.element)),this.$textToken[n.type])e.appendChild(a);else{var g="ace_"+n.type.replace(/\./g," ace_"),v=this.dom.createElement("span");"fold"==n.type&&(v.style.width=n.value.length*this.config.characterWidth+"px"),v.className=g,v.appendChild(a),e.appendChild(v)}return t+i.length},this.renderIndentGuide=function(e,t,n){var i=t.search(this.$indentGuideRe);if(i<=0||i>=n)return t;if(" "==t[0]){for(var r=(i-=i%this.tabSize)/this.tabSize,o=0;o<r;o++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return t.substr(i)}if("\t"==t[0]){for(o=0;o<i;o++)e.appendChild(this.$tabStrings["\t"].cloneNode(!0));return t.substr(i)}return t},this.$createLineElement=function(e){var t=this.dom.createElement("div");return t.className="ace_line",t.style.height=this.config.lineHeight+"px",t},this.$renderWrappedLine=function(e,t,n){var i=0,r=0,s=n[0],a=0,c=this.$createLineElement();e.appendChild(c);for(var l=0;l<t.length;l++){var u=t[l],h=u.value;if(0==l&&this.displayIndentGuides){if(i=h.length,!(h=this.renderIndentGuide(c,h,s)))continue;i-=h.length}if(i+h.length<s)a=this.$renderToken(c,a,u,h),i+=h.length;else{for(;i+h.length>=s;)a=this.$renderToken(c,a,u,h.substring(0,s-i)),h=h.substring(s-i),i=s,c=this.$createLineElement(),e.appendChild(c),c.appendChild(this.dom.createTextNode(o.stringRepeat(" ",n.indent),this.element)),a=0,s=n[++r]||Number.MAX_VALUE;0!=h.length&&(i+=h.length,a=this.$renderToken(c,a,u,h))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(c,a,null,"",!0)},this.$renderSimpleLine=function(e,t){var n=0,i=t[0],r=i.value;this.displayIndentGuides&&(r=this.renderIndentGuide(e,r)),r&&(n=this.$renderToken(e,n,i,r));for(var o=1;o<t.length;o++){if(n+(r=(i=t[o]).value).length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,i,r);n=this.$renderToken(e,n,i,r)}},this.$renderOverflowMessage=function(e,t,n,i,r){n&&this.$renderToken(e,t,n,i.slice(0,this.MAX_LINE_LENGTH-t));var o=this.dom.createElement("span");o.className="ace_inline_button ace_keyword ace_toggle_wrap",o.textContent=r?"<hide>":"<click to see more...>",e.appendChild(o)},this.$renderLine=function(e,t,n){if(n||0==n||(n=this.session.getFoldLine(t)),n)var i=this.$getFoldLineTokens(t,n);else i=this.session.getTokens(t);var r=e;if(i.length){var o=this.session.getRowSplitData(t);if(o&&o.length){this.$renderWrappedLine(e,i,o);r=e.lastChild}else{r=e;this.$useLineGroups()&&(r=this.$createLineElement(),e.appendChild(r)),this.$renderSimpleLine(r,i)}}else this.$useLineGroups()&&(r=this.$createLineElement(),e.appendChild(r));if(this.showInvisibles&&r){n&&(t=n.end.row);var s=this.dom.createElement("span");s.className="ace_invisible ace_invisible_eol",s.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,r.appendChild(s)}},this.$getFoldLineTokens=function(e,t){var n=this.session,i=[];var r=n.getTokens(e);return t.walk((function(e,t,o,s,a){null!=e?i.push({type:"fold",value:e}):(a&&(r=n.getTokens(t)),r.length&&function(e,t,n){for(var r=0,o=0;o+e[r].value.length<t;)if(o+=e[r].value.length,++r==e.length)return;for(o!=t&&((s=e[r].value.substring(t-o)).length>n-t&&(s=s.substring(0,n-t)),i.push({type:e[r].type,value:s}),o=t+s.length,r+=1);o<n&&r<e.length;){var s;(s=e[r].value).length+o>n?i.push({type:e[r].type,value:s.substring(0,n-o)}):i.push(e[r]),o+=s.length,r+=1}}(r,s,o))}),t.end.row,this.session.getLine(t.end.row).length),i},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(c.prototype),t.Text=c})),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";var i=e("../lib/dom"),r=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),i.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){for(var t=this.cursors,n=t.length;n--;)i.setStyle(t[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){for(var e=this.cursors,t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){i.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){i.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,i.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=i.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,i.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,i.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&i.removeCssClass(this.element,"ace_smooth-blinking"),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible)if(this.smoothBlinking&&setTimeout(function(){i.addCssClass(this.element,"ace_smooth-blinking")}.bind(this)),i.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout((function(){e(!1)}),.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval((function(){e(!0),t()}),this.blinkInterval),t()}else this.$stopCssAnimation()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),top:(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight}},this.isCursorInView=function(e,t){return e.top>=0&&e.top<t.maxHeight},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;void 0!==t&&0!==t.length||(t=[{cursor:null}]);n=0;for(var o=t.length;n<o;n++){var s=this.getPixelPosition(t[n].cursor,!0);if(!((s.top>e.height+e.offset||s.top<0)&&n>1)){var a=this.cursors[r++]||this.addCursor(),c=a.style;this.drawCursor?this.drawCursor(a,s,e,t[n],this.session):this.isCursorInView(s,e)?(i.setStyle(c,"display","block"),i.translate(a,s.left,s.top),i.setStyle(c,"width",Math.round(e.characterWidth)+"px"),i.setStyle(c,"height",e.lineHeight+"px")):i.setStyle(c,"display","none")}}for(;this.cursors.length>r;)this.removeCursor();var l=this.session.getOverwrite();this.$setOverwrite(l),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?i.addCssClass(this.element,"ace_overwrite-cursors"):i.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(r.prototype),t.Cursor=r})),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(e,t,n){"use strict";var i=e("./lib/oop"),r=e("./lib/dom"),o=e("./lib/event"),s=e("./lib/event_emitter").EventEmitter,a=function(e){this.element=r.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=r.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addListener(this.element,"scroll",this.onScroll.bind(this)),o.addListener(this.element,"mousedown",o.preventDefault)};(function(){i.implement(this,s),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var c=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=r.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};i.inherits(c,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>32768?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(c.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};i.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=c,t.ScrollBarV=c,t.ScrollBarH=l,t.VScrollBar=c,t.HScrollBar=l})),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],(function(e,t,n){"use strict";var i=e("./lib/event"),r=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;if(t&&(i.blockIdle(100),n.changes=0,n.onRender(t)),n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(i.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(r.prototype),t.RenderLoop=r})),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],(function(e,t,n){var i=e("../lib/oop"),r=e("../lib/dom"),o=e("../lib/lang"),s=e("../lib/event"),a=e("../lib/useragent"),c=e("../lib/event_emitter").EventEmitter,l="function"==typeof ResizeObserver,u=200,h=t.FontMetrics=function(e){this.el=r.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=r.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=r.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=o.stringRepeat("X",256),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()};(function(){i.implement(this,c),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",a.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){if(void 0===e&&(e=this.$measureSizes()),e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver((function(t){var n=t[0].contentRect;e.checkForSizeChanges({height:n.height,width:n.width/256})})),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=s.onIdle((function t(){e.checkForSizeChanges(),s.onIdle(t,500)}),500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/256};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){return this.$main.innerHTML=o.stringRepeat(e,256),this.$main.getBoundingClientRect().width/256},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=r.buildDom([e(0,0),e(u,0),e(0,u),e(u,u)],this.el)},this.transformCoordinates=function(e,t){e&&(e=o(1/this.$getZoom(this.el),e));function n(e,t,n){var i=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/i,(+e[1]*n[0]-e[0]*n[1])/i]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function r(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function s(e){var t=e.getBoundingClientRect();return[t.left,t.top]}this.els||this.$initTransformMeasureNodes();var a=s(this.els[0]),c=s(this.els[1]),l=s(this.els[2]),h=s(this.els[3]),d=n(i(h,c),i(h,l),i(r(c,l),r(h,a))),p=o(1+d[0],i(c,a)),m=o(1+d[1],i(l,a));if(t){var f=t,g=d[0]*f[0]/u+d[1]*f[1]/u+1,v=r(o(f[0],p),o(f[1],m));return r(o(1/g/u,v),a)}var _=i(e,a),E=n(i(p,o(d[0],_)),i(m,o(d[1],_)),_);return o(u,E)}}).call(h.prototype)})),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],(function(e,t,n){"use strict";var i=e("./lib/oop"),r=e("./lib/dom"),o=e("./config"),s=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,c=e("./layer/text").Text,l=e("./layer/cursor").Cursor,u=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,d=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,m=e("./lib/event_emitter").EventEmitter,f='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;perspective: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {opacity: 0;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}.ace_placeholder {font-family: arial;transform: scale(0.9);opacity: 0.7;transform-origin: left;text-indent: 10px;}',g=e("./lib/useragent"),v=g.isIE;r.importCssString(f,"ace_editor.css");var _=function(e,t){var n=this;this.container=e||r.createElement("div"),r.addCssClass(this.container,"ace_editor"),r.HI_DPI&&r.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=r.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=r.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=r.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var i=this.$textLayer=new c(this.content);this.canvas=i.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new u(this.container,this),this.scrollBarV.addEventListener("scroll",(function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)})),this.scrollBarH.addEventListener("scroll",(function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)})),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",(function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)})),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!g.isIOS,this.$loop=new d(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),o.resetOptions(this),o._signal("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,i.implement(this,m),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),r.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,n){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,i){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var r=this.container;i||(i=r.clientHeight||r.scrollHeight),n||(n=r.clientWidth||r.scrollWidth);var o=this.$updateCachedSize(e,t,n,i);if(!this.$size.scrollerHeight||!n&&!i)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(o|this.$changes,!0):this.$loop.schedule(o|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,n,i){i-=this.$extraHeight||0;var o=0,s=this.$size,a={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};if(i&&(e||s.height!=i)&&(s.height=i,o|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",o|=this.CHANGE_SCROLL),n&&(e||s.width!=n)){o|=this.CHANGE_SIZE,s.width=n,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,r.setStyle(this.scrollBarH.element.style,"left",t+"px"),r.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),r.setStyle(this.$gutter.style,"left",this.margin.left+"px");var c=this.scrollBarV.getWidth()+"px";r.setStyle(this.scrollBarH.element.style,"right",c),r.setStyle(this.scroller.style,"right",c),r.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(o|=this.CHANGE_FULL)}return s.$dirty=!n||!i,o&&this._signal("resize",a),o},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=r.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=r.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var e=this.textarea.style,t=this.$composition;if(this.$keepTextAreaAtCursor||t){var n=this.$cursorLayer.$pixelPos;if(n){t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var i=this.layerConfig,o=n.top,s=n.left;o-=i.offset;var a=t&&t.useTextareaForIME?this.lineHeight:v?0:1;if(o<0||o>i.height-a)r.translate(this.textarea,0,0);else{var c=1,l=this.$size.height-a;if(t)if(t.useTextareaForIME){var u=this.textarea.value;c=this.characterWidth*this.session.$getStringScreenWidth(u)[0]}else o+=this.lineHeight+2;else o+=this.lineHeight;(s-=this.scrollLeft)>this.$size.scrollerWidth-c&&(s=this.$size.scrollerWidth-c),s+=this.gutterWidth+this.margin.left,r.setStyle(e,"height",a+"px"),r.setStyle(e,"width",c+"px"),r.translate(this.textarea,Math.min(s,this.$size.scrollerWidth-c),Math.min(o,l))}}}else r.translate(this.textarea,-100,0)}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,i){var r=this.scrollMargin;r.top=0|e,r.bottom=0|t,r.right=0|i,r.left=0|n,r.v=r.top+r.bottom,r.h=r.left+r.right,r.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-r.top),this.updateFull()},this.setMargin=function(e,t,n,i){var r=this.margin;r.top=0|e,r.bottom=0|t,r.right=0|i,r.left=0|n,r.v=r.top+r.bottom,r.h=r.left+r.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig()|this.$loop.clear(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var i=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;i>0&&(this.scrollTop=i,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),r.translate(this.content,-this.scrollLeft,-n.offset);var o=n.width+2*this.$padding+"px",s=n.minHeight+"px";r.setStyle(this.content.style,"width",o),r.setStyle(this.content.style,"height",s)}if(e&this.CHANGE_H_SCROLL&&(r.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL)return this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),void this._signal("afterRender");if(e&this.CHANGE_SCROLL)return this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),void this._signal("afterRender");e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")}else this.$changes|=e},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var i=!(n<=2*this.lineHeight)&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var r=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,r,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,i=this.session.getScreenLength()*this.lineHeight,r=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-r-2*this.$padding<0),s=this.$horizScroll!==o;s&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var c=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var u=this.scrollMargin;this.session.setScrollTop(Math.max(-u.top,Math.min(this.scrollTop,i-t.scrollerHeight+u.bottom))),this.session.setScrollLeft(Math.max(-u.left,Math.min(this.scrollLeft,r+2*this.$padding-t.scrollerWidth+u.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>u.top),d=a!==h;d&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var p,m,f=this.scrollTop%this.lineHeight,g=Math.ceil(c/this.lineHeight)-1,v=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),_=v+g,E=this.lineHeight;v=e.screenToDocumentRow(v,0);var C=e.getFoldLine(v);C&&(v=C.start.row),p=e.documentToScreenRow(v,0),m=e.getRowLength(v)*E,_=Math.min(e.screenToDocumentRow(_,0),e.getLength()-1),c=t.scrollerHeight+e.getRowLength(_)*E+m,f=this.scrollTop-p*E;var A=0;return(this.layerConfig.width!=r||s)&&(A=this.CHANGE_H_SCROLL),(s||d)&&(A|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(r=this.$getLongestLine())),this.layerConfig={width:r,padding:this.$padding,firstRow:v,firstRowScreen:p,lastRow:_,lineHeight:E,characterWidth:this.characterWidth,minHeight:c,maxHeight:i,offset:f,gutterOffset:E?Math.max(0,Math.ceil((f+t.height-t.scrollerHeight)/E)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(r-this.$padding),A},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(!(e>n.lastRow+1||t<n.firstRow))return t===1/0?(this.$showGutter&&this.$gutterLayer.update(n),void this.$textLayer.update(n)):(this.$textLayer.updateLines(n,e,t),!0)}},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(0!==this.$size.scrollerHeight){var i=this.$cursorLayer.getPixelPosition(e),r=i.left,o=i.top,s=n&&n.top||0,a=n&&n.bottom||0,c=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;c+s>o?(t&&c+s>o+this.lineHeight&&(o-=t*this.$size.scrollerHeight),0===o&&(o=-this.scrollMargin.top),this.session.setScrollTop(o)):c+this.$size.scrollerHeight-a<o+this.lineHeight&&(t&&c+this.$size.scrollerHeight-a<o-this.lineHeight&&(o+=t*this.$size.scrollerHeight),this.session.setScrollTop(o+this.lineHeight+a-this.$size.scrollerHeight));var l=this.scrollLeft;l>r?(r<this.$padding+2*this.layerConfig.characterWidth&&(r=-this.scrollMargin.left),this.session.setScrollLeft(r)):l+this.$size.scrollerWidth<r+this.characterWidth?this.session.setScrollLeft(Math.round(r+this.characterWidth-this.$size.scrollerWidth)):l<=this.$padding&&r-l<this.characterWidth&&this.session.setScrollLeft(0)}},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){"number"==typeof e&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),i=this.$size.scrollerHeight-this.lineHeight,r=n.top-i*(t||0);return this.session.setScrollTop(r),r},this.STEPS=8,this.$calcSteps=function(e,t){var n,i,r=0,o=this.STEPS,s=[];for(r=0;r<o;++r)s.push((n=r/this.STEPS,i=e,(t-e)*(Math.pow(n-1,3)+1)+i));return s},this.scrollToLine=function(e,t,n,i){var r=this.$cursorLayer.getPixelPosition({row:e,column:0}).top;t&&(r-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(r),!1!==n&&this.animateScrolling(o,i)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(this.$animatedScroll){var i=this;if(e!=n){if(this.$scrollAnimation){var r=this.$scrollAnimation.steps;if(r.length&&(e=r[0])==n)return}var o=i.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:o},clearInterval(this.$timer),i.session.setScrollTop(o.shift()),i.session.$scrollTop=n,this.$timer=setInterval((function(){o.length?(i.session.setScrollTop(o.shift()),i.session.$scrollTop=n):null!=n?(i.session.$scrollTop=-1,i.session.setScrollTop(n),n=null):(i.$timer=clearInterval(i.$timer),i.$scrollAnimation=null,t&&t())}),10)}}},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){return t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var i=this.$fontMetrics.transformCoordinates([e,t]);e=i[1]-this.gutterWidth-this.margin.left,t=i[0]}else n=this.scroller.getBoundingClientRect();var r=e+this.scrollLeft-n.left-this.$padding,o=r/this.characterWidth,s=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),a=this.$blockCursor?Math.floor(o):Math.round(o);return{row:s,column:a,side:o-a>0?1:-1,offsetX:r}},this.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var i=this.$fontMetrics.transformCoordinates([e,t]);e=i[1]-this.gutterWidth-this.margin.left,t=i[0]}else n=this.scroller.getBoundingClientRect();var r=e+this.scrollLeft-n.left-this.$padding,o=r/this.characterWidth,s=this.$blockCursor?Math.floor(o):Math.round(o),a=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(a,Math.max(s,0),r)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),i=this.session.documentToScreenPosition(e,t),r=this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,e)?this.session.$bidiHandler.getPosLeft(i.column):Math.round(i.column*this.characterWidth)),o=i.row*this.lineHeight;return{pageX:n.left+r-this.scrollLeft,pageY:n.top+o-this.scrollTop}},this.visualizeFocus=function(){r.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){r.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),e.useTextareaForIME=this.$useTextareaForIME,this.$useTextareaForIME?(r.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),r.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText,this.$composition=null,this.$cursorLayer.element.style.display="")},this.addToken=function(e,t,n,i){var r=this.session;r.bgTokenizer.lines[n]=null;var o={type:t,value:e},s=r.getTokens(n);if(null==i)s.push(o);else for(var a=0,c=0;c<s.length;c++){var l=s[c];if(i<=(a+=l.value.length)){var u=l.value.length-(a-i),h=l.value.slice(0,u),d=l.value.slice(u);s.splice(c,1,{type:l.type,value:h},o,{type:l.type,value:d});break}}this.updateLines(n,n)},this.setTheme=function(e,t){var n=this;if(this.$themeId=e,n._dispatchEvent("themeChange",{theme:e}),e&&"string"!=typeof e)s(e);else{var i=e||this.$options.theme.initialValue;o.loadModule(["theme",i],s)}function s(i){if(n.$themeId!=e)return t&&t();if(!i||!i.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");i.$id&&(n.$themeId=i.$id),r.importCssString(i.cssText,i.cssClass,n.container),n.theme&&r.removeCssClass(n.container,n.theme.cssClass);var o="padding"in i?i.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&o!=n.$padding&&n.setPadding(o),n.$theme=i.cssClass,n.theme=i,r.addCssClass(n.container,i.cssClass),r.setCssClass(n.container,"ace_dark",i.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:i}),t&&t()}},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){r.setCssClass(this.container,e,!1!==t)},this.unsetStyle=function(e){r.removeCssClass(this.container,e)},this.setCursorStyle=function(e){r.setStyle(this.scroller.style,"cursor",e)},this.setMouseCursor=function(e){r.setStyle(this.scroller.style,"cursor",e)},this.attachToShadowRoot=function(){r.importCssString(f,"ace_editor.css",this.container)},this.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy()}}).call(_.prototype),o.defineOptions(_.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){"number"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){r.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){"number"==typeof e&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!g.isMobile&&!g.isIE}}),t.VirtualRenderer=_})),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],(function(e,t,n){"use strict";var i=e("../lib/oop"),r=e("../lib/net"),o=e("../lib/event_emitter").EventEmitter,s=e("../config");function a(e){if("undefined"==typeof Worker)return{postMessage:function(){},terminate:function(){}};if(s.get("loadWorkerFromBlob")){var t=function(e){var t="importScripts('"+r.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(e){var n=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return n.append(t),n.getBlob("application/javascript")}}(e),n=(window.URL||window.webkitURL).createObjectURL(t);return new Worker(n)}return new Worker(e)}var c=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){i.implement(this,o),this.$createWorkerFromOldConfig=function(t,n,i,r,o){if(e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),s.get("packaged")||!e.toUrl)r=r||s.moduleUrl(n,"worker");else{var c=this.$normalizePath;r=r||c(e.toUrl("ace/worker/worker.js",null,"_"));var l={};t.forEach((function(t){l[t]=c(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))}))}return this.$worker=a(r),o&&this.send("importScripts",o),this.$worker.postMessage({init:!0,tlns:l,module:n,classname:i}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return r.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var i=this.callbackId++;this.callbacks[i]=n,t.push(i)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker.postMessage({event:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(c.prototype);t.UIWorkerClient=function(e,t,n){var i=null,r=!1,a=Object.create(o),l=[],u=new c({messageBuffer:l,terminate:function(){},postMessage:function(e){l.push(e),i&&(r?setTimeout(h):h())}});u.setEmitSync=function(e){r=e};var h=function(){var e=l.shift();e.command?i[e.command].apply(i,e.args):e.event&&a._signal(e.event,e.data)};return a.postMessage=function(e){u.onMessage({data:e})},a.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},a.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},s.loadModule(["worker",t],(function(e){for(i=new e[n](a);l.length;)h()})),u},t.WorkerClient=c,t.createWorker=a})),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],(function(e,t,n){"use strict";var i=e("./range").Range,r=e("./lib/event_emitter").EventEmitter,o=e("./lib/oop"),s=function(e,t,n,i,r,o){var s=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=r,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=i,this.$onCursorChange=function(){setTimeout((function(){s.onCursorChange()}))},this.$pos=n;var a=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=a.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){o.implement(this,r),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var r=this.pos;r.$insertRight=!0,r.detach(),r.markerId=n.addMarker(new i(r.row,r.column,r.row,r.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach((function(n){var i=t.createAnchor(n.row,n.column);i.$insertRight=!0,i.detach(),e.others.push(i)})),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach((function(n){n.markerId=e.addMarker(new i(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)}))}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var n="insert"===e.action?t.end.column-t.start.column:t.start.column-t.end.column,r=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,o=t.start.column-this.pos.column;if(this.updateAnchors(e),r&&(this.length+=n),r&&!this.session.$fromUndo)if("insert"===e.action)for(var s=this.others.length-1;s>=0;s--){var a={row:(c=this.others[s]).row,column:c.column+o};this.doc.insertMergedLines(a,e.lines)}else if("remove"===e.action)for(s=this.others.length-1;s>=0;s--){var c;a={row:(c=this.others[s]).row,column:c.column+o};this.doc.remove(new i(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,n=function(n,r){t.removeMarker(n.markerId),n.markerId=t.addMarker(new i(n.row,n.column,n.row,n.column+e.length),r,null,!1)};n(this.pos,this.mainClass);for(var r=this.others.length;r--;)n(this.others[r],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,n=0;n<t;n++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(s.prototype),t.PlaceHolder=s})),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(e,t,n){var i=e("../lib/event"),r=e("../lib/useragent");function o(e,t){return e.row==t.row&&e.column==t.column}t.onMouseDown=function(e){var t=e.domEvent,n=t.altKey,s=t.shiftKey,a=t.ctrlKey,c=e.getAccelKey(),l=e.getButton();if(a&&r.isMac&&(l=t.button),e.editor.inMultiSelectMode&&2==l)e.editor.textInput.onContextMenu(e.domEvent);else if(a||n||c){if(0===l){var u,h=e.editor,d=h.selection,p=h.inMultiSelectMode,m=e.getDocumentPosition(),f=d.getCursor(),g=e.inSelection()||d.isEmpty()&&o(m,f),v=e.x,_=e.y,E=h.session,C=h.renderer.pixelToScreenCoordinates(v,_),A=C;if(h.$mouseHandler.$enableJumpToDef)a&&n||c&&n?u=s?"block":"add":n&&h.$blockSelectEnabled&&(u="block");else if(c&&!n){if(u="add",!p&&s)return}else n&&h.$blockSelectEnabled&&(u="block");if(u&&r.isMac&&t.ctrlKey&&h.$mouseHandler.cancelContextMenu(),"add"==u){if(!p&&g)return;if(!p){var S=d.toOrientedRange();h.addSelectionMarker(S)}var y=d.rangeList.rangeAtPoint(m);h.inVirtualSelectionMode=!0,s&&(y=null,S=d.ranges[0]||S,h.removeSelectionMarker(S)),h.once("mouseup",(function(){var e=d.toOrientedRange();y&&e.isEmpty()&&o(y.cursor,e.cursor)?d.substractPoint(e.cursor):(s?d.substractPoint(S.cursor):S&&(h.removeSelectionMarker(S),d.addRange(S)),d.addRange(e)),h.inVirtualSelectionMode=!1}))}else if("block"==u){var R;e.stop(),h.inVirtualSelectionMode=!0;var b=[],T=function(){var e=h.renderer.pixelToScreenCoordinates(v,_),t=E.screenToDocumentPosition(e.row,e.column,e.offsetX);o(A,e)&&o(t,d.lead)||(A=e,h.selection.moveToPosition(t),h.renderer.scrollCursorIntoView(),h.removeSelectionMarkers(b),b=d.rectangularRangeBlock(A,C),h.$mouseHandler.$clickSelection&&1==b.length&&b[0].isEmpty()&&(b[0]=h.$mouseHandler.$clickSelection.clone()),b.forEach(h.addSelectionMarker,h),h.updateSelectionMarkers())};p&&!c?d.toSingleRange():!p&&c&&(R=d.toOrientedRange(),h.addSelectionMarker(R)),s?C=E.documentToScreenPosition(d.lead):d.moveToPosition(m),A={row:-1,column:-1};var w=T;i.capture(h.container,(function(e){v=e.clientX,_=e.clientY}),(function(e){T(),clearInterval(x),h.removeSelectionMarkers(b),b.length||(b=[d.toOrientedRange()]),R&&(h.removeSelectionMarker(R),d.toSingleRange(R));for(var t=0;t<b.length;t++)d.addRange(b[t]);h.inVirtualSelectionMode=!1,h.$mouseHandler.$clickSelection=null}));var x=setInterval((function(){w()}),20);return e.preventDefault()}}}else 0===l&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode()}})),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],(function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"splitIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var i=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new i(t.multiSelectCommands)})),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],(function(e,t,n){var i=e("./range_list").RangeList,r=e("./range").Range,o=e("./selection").Selection,s=e("./mouse/multi_select_handler").onMouseDown,a=e("./lib/event"),c=e("./lib/lang"),l=e("./commands/multi_select_commands");t.commands=l.defaultCommands.concat(l.multiSelectCommands);var u=new(0,e("./search").Search);var h=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(h.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var n=this.toOrientedRange();if(this.rangeList.add(n),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var i=this.rangeList.add(e);return this.$onAddRange(e),i.length&&this.$onRemoveRange(i),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var i=this.ranges.indexOf(e[n]);this.ranges.splice(i,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(t=t||this.ranges[0])&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new i,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=r.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{n=this.getRange();var i=this.isBackwards(),o=n.start.row,s=n.end.row;if(o==s){if(i)var a=n.end,c=n.start;else a=n.start,c=n.end;return this.addRange(r.fromPoints(c,c)),void this.addRange(r.fromPoints(a,a))}var l=[],u=this.getLineRange(o,!0);u.start.column=n.start.column,l.push(u);for(var h=o+1;h<s;h++)l.push(this.getLineRange(h,!0));(u=this.getLineRange(s,!0)).end.column=n.end.column,l.push(u),l.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=r.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var i=this.session.documentToScreenPosition(this.cursor),o=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(i,o).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var i=[],o=e.column<t.column;if(o)var s=e.column,a=t.column,c=e.offsetX,l=t.offsetX;else s=t.column,a=e.column,c=t.offsetX,l=e.offsetX;var u,h,d,p=e.row<t.row;if(p)var m=e.row,f=t.row;else m=t.row,f=e.row;s<0&&(s=0),m<0&&(m=0),m==f&&(n=!0);for(var g=m;g<=f;g++){var v=r.fromPoints(this.session.screenToDocumentPosition(g,s,c),this.session.screenToDocumentPosition(g,a,l));if(v.isEmpty()){if(u&&(h=v.end,d=u,h.row==d.row&&h.column==d.column))break;u=v.end}v.cursor=o?v.start:v.end,i.push(v)}if(p&&i.reverse(),!n){for(var _=i.length-1;i[_].isEmpty()&&_>0;)_--;if(_>0)for(var E=0;i[E].isEmpty();)E++;for(var C=_;C>=E;C--)i[C].isEmpty()&&i.splice(C,1)}return i}}.call(o.prototype);var d=e("./editor").Editor;function p(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",s),e.commands.addCommands(l.defaultCommands),function(e){if(!e.textInput)return;var t=e.textInput.getElement(),n=!1;function i(t){n&&(e.renderer.setMouseCursor(""),n=!1)}a.addListener(t,"keydown",(function(t){var r=18==t.keyCode&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&r?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&i()})),a.addListener(t,"keyup",i),a.addListener(t,"blur",i)}(e))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);-1!=t&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,n=e.length;n--;){var i=e[n];if(i.marker){this.session.removeMarker(i.marker);var r=t.indexOf(i);-1!=r&&t.splice(r,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(l.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(l.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(n.multiSelect){if(t.multiSelectAction)"forEach"==t.multiSelectAction?i=n.forEachSelection(t,e.args):"forEachLine"==t.multiSelectAction?i=n.forEachSelection(t,e.args,!0):"single"==t.multiSelectAction?(n.exitMultiSelectMode(),i=t.exec(n,e.args||{})):i=t.multiSelectAction(n,e.args||{});else{var i=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}return i}},this.forEachSelection=function(e,t,n){if(!this.inVirtualSelectionMode){var i,r=n&&n.keepOrder,s=1==n||n&&n.$byLines,a=this.session,c=this.selection,l=c.rangeList,u=(r?c:l).ranges;if(!u.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var h=c._eventRegistry;c._eventRegistry={};var d=new o(a);this.inVirtualSelectionMode=!0;for(var p=u.length;p--;){if(s)for(;p>0&&u[p].start.row==u[p-1].end.row;)p--;d.fromOrientedRange(u[p]),d.index=p,this.selection=a.selection=d;var m=e.exec?e.exec(this,t||{}):e(this,t||{});i||void 0===m||(i=m),d.toOrientedRange(u[p])}d.detach(),this.selection=a.selection=c,this.inVirtualSelectionMode=!1,c._eventRegistry=h,c.mergeOverlappingRanges(),c.ranges[0]&&c.fromOrientedRange(c.ranges[0]);var f=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),f&&f.from==f.to&&this.renderer.animateScrolling(f.from),i}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,n=[],i=0;i<t.length;i++)n.push(this.session.getTextRange(t[i]));var r=this.session.getDocument().getNewLineCharacter();(e=n.join(r)).length==(n.length-1)*r.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var i=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;i.row!=t.row||this.session.$clipPositionToDocument(i.row,i.column).column!=t.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(e,t,n){if((t=t||{}).needle=e||t.needle,null==t.needle){var i=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(i)}this.$search.set(t);var r=this.$search.findAll(this.session);if(!r.length)return 0;var o=this.multiSelect;n||o.toSingleRange(r[0]);for(var s=r.length;s--;)o.addRange(r[s],!0);return i&&o.rangeList.rangeAtPoint(i.start)&&o.addRange(i,!0),r.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),i=n.cursor==n.end,o=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(o.column=this.selection.$desiredColumn);var s,a=this.session.screenToDocumentPosition(o.row+e,o.column);if(n.isEmpty())l=a;else var c=this.session.documentToScreenPosition(i?n.end:n.start),l=this.session.screenToDocumentPosition(c.row+e,c.column);i?(s=r.fromPoints(a,l)).cursor=s.start:(s=r.fromPoints(l,a)).cursor=s.end;if(s.desiredColumn=o.column,this.selection.inMultiSelectMode){if(t)var u=n.cursor}else this.selection.addRange(n);this.selection.addRange(s),u&&this.selection.substractPoint(u)},this.transposeSelections=function(e){for(var t=this.session,n=t.multiSelect,i=n.ranges,r=i.length;r--;){if((a=i[r]).isEmpty()){var o=t.getWordRange(a.start.row,a.start.column);a.start.row=o.start.row,a.start.column=o.start.column,a.end.row=o.end.row,a.end.column=o.end.column}}n.mergeOverlappingRanges();var s=[];for(r=i.length;r--;){var a=i[r];s.unshift(t.getTextRange(a))}e<0?s.unshift(s.pop()):s.push(s.shift());for(r=i.length;r--;){o=(a=i[r]).clone();t.replace(a,s[r]),a.start.row=o.start.row,a.start.column=o.start.column}n.fromOrientedRange(n.ranges[0])},this.selectMore=function(e,t,n){var i=this.session,r=i.multiSelect.toOrientedRange();if(!r.isEmpty()||((r=i.getWordRange(r.start.row,r.start.column)).cursor=-1==e?r.start:r.end,this.multiSelect.addRange(r),!n)){var o=i.getTextRange(r),s=function(e,t,n){return u.$options.wrap=!0,u.$options.needle=t,u.$options.backwards=-1==n,u.find(e)}(i,o,e);s&&(s.cursor=-1==e?s.start:s.end,this.session.unfold(s),this.multiSelect.addRange(s),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(r.cursor)}},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,i=-1,o=n.filter((function(e){if(e.cursor.row==i)return!0;i=e.cursor.row}));if(n.length&&o.length!=n.length-1){o.forEach((function(e){t.substractPoint(e.cursor)}));var s=0,a=1/0,l=n.map((function(t){var n=t.cursor,i=e.getLine(n.row).substr(n.column).search(/\S/g);return-1==i&&(i=0),n.column>s&&(s=n.column),i<a&&(a=i),i}));n.forEach((function(t,n){var i=t.cursor,o=s-i.column,u=l[n]-a;o>u?e.insert(i,c.stringRepeat(" ",o-u)):e.remove(new r(i.row,i.column,i.row,i.column-o+u)),t.start.column=t.end.column=s,t.start.row=t.end.row=i.row,t.cursor=t.end})),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var u=this.selection.getRange(),h=u.start.row,d=u.end.row,p=h==d;if(p){var m,f=this.session.getLength();do{m=this.session.getLine(d)}while(/[=:]/.test(m)&&++d<f);do{m=this.session.getLine(h)}while(/[=:]/.test(m)&&--h>0);h<0&&(h=0),d>=f&&(d=f-1)}var g=this.session.removeFullLines(h,d);g=this.$reAlignText(g,p),this.session.insert({row:h,column:0},g.join("\n")+"\n"),p||(u.start.column=0,u.end.column=g[g.length-1].length),this.selection.setRange(u)}},this.$reAlignText=function(e,t){var n,i,r,o=!0,s=!0;return e.map((function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?null==n?(n=t[1].length,i=t[2].length,r=t[3].length,t):(n+i+r!=t[1].length+t[2].length+t[3].length&&(s=!1),n!=t[1].length&&(o=!1),n>t[1].length&&(n=t[1].length),i<t[2].length&&(i=t[2].length),r>t[3].length&&(r=t[3].length),t):[e]})).map(t?l:o?s?function(e){return e[2]?a(n+i-e[2].length)+e[2]+a(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:l:function(e){return e[2]?a(n)+e[2]+a(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]});function a(e){return c.stringRepeat(" ",e)}function l(e){return e[2]?a(n)+e[2]+a(i-e[2].length+r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=p,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){p(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",s)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",s))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})})),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var i=e("../../range").Range,r=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var i=e.getLine(n);return this.foldingStartMarker.test(i)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(i)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var r=/\S/,o=e.getLine(t),s=o.search(r);if(-1!=s){for(var a=n||o.length,c=e.getLength(),l=t,u=t;++t<c;){var h=e.getLine(t).search(r);if(-1!=h){if(h<=s){var d=e.getTokenAt(t,0);if(!d||"string"!==d.type)break}u=t}}if(u>l){var p=e.getLine(u).length;return new i(l,a,u,p)}}},this.openingBracketBlock=function(e,t,n,r,o){var s={row:n,column:r+1},a=e.$findClosingBracket(t,s,o);if(a){var c=e.foldWidgets[a.row];return null==c&&(c=e.getFoldWidget(a.row)),"start"==c&&a.row>s.row&&(a.row--,a.column=e.getLine(a.row).length),i.fromPoints(s,a)}},this.closingBracketBlock=function(e,t,n,r,o){var s={row:n,column:r},a=e.$findOpeningBracket(t,s);if(a)return a.column++,s.column--,i.fromPoints(a,s)}}).call(r.prototype)})),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate",e("../lib/dom").importCssString(t.cssText,t.cssClass)})),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],(function(e,t,n){"use strict";e("./lib/oop");var i=e("./lib/dom");e("./range").Range;function r(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach((function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)})),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach((function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))}))}},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(n&&e.action){for(var i=e.data,r=i.start.row,o=i.end.row,s="add"==e.action,a=r+1;a<o;a++)n[a]&&(n[a].hidden=s);n[o]&&(s?n[r]?n[o].hidden=s:n[r]=n[o]:(n[r]==n[o]&&(n[r]=void 0),n[o].hidden=s))}},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var n=e.start.row,i=e.end.row-n;if(0===i);else if("remove"==e.action){t.splice(n+1,i).forEach((function(e){e&&this.removeLineWidget(e)}),this),this.$updateRows()}else{var r=new Array(i);r.unshift(n,0),t.splice.apply(t,r),this.$updateRows()}}},this.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach((function(e,n){if(e)for(t=!1,e.row=n;e.$oldWidget;)e.$oldWidget.row=n,e=e.$oldWidget})),t&&(this.session.lineWidgets=null)}},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e.session=this.session;var n=this.editor.renderer;e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,n.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight),null==e.rowCount&&(e.rowCount=e.pixelHeight/n.layerConfig.lineHeight);var r=this.session.getFoldAt(e.row,0);if(e.$fold=r,r){var o=this.session.lineWidgets;e.row!=r.end.row||o[r.start.row]?e.hidden=!0:o[r.start.row]=e}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,n),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,n=t&&t[e],i=[];n;)i.push(n),n=n.$oldWidget;return i},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,i=t.layerConfig;if(n&&n.length){for(var r=1/0,o=0;o<n.length;o++){var s=n[o];if(s&&s.el&&s.session==this.session){if(!s._inDocument){if(this.session.lineWidgets[s.row]!=s)continue;s._inDocument=!0,t.container.appendChild(s.el)}s.h=s.el.offsetHeight,s.fixedWidth||(s.w=s.el.offsetWidth,s.screenWidth=Math.ceil(s.w/i.characterWidth));var a=s.h/i.lineHeight;s.coverLine&&(a-=this.session.getRowLineCount(s.row))<0&&(a=0),s.rowCount!=a&&(s.rowCount=a,s.row<r&&(r=s.row))}}r!=1/0&&(this.session._emit("changeFold",{data:{start:{row:r}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(e,t){var n=t.layerConfig,i=this.session.lineWidgets;if(i){for(var r=Math.min(this.firstRow,n.firstRow),o=Math.max(this.lastRow,n.lastRow,i.length);r>0&&!i[r];)r--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var s=r;s<=o;s++){var a=i[s];if(a&&a.el)if(a.hidden)a.el.style.top=-100-(a.pixelHeight||0)+"px";else{a._inDocument||(a._inDocument=!0,t.container.appendChild(a.el));var c=t.$cursorLayer.getPixelPosition({row:s,column:0},!0).top;a.coverLine||(c+=n.lineHeight*this.session.getRowLineCount(a.row)),a.el.style.top=c-n.offset+"px";var l=a.coverGutter?0:t.gutterWidth;a.fixedWidth||(l-=t.scrollLeft),a.el.style.left=l+"px",a.fullWidth&&a.screenWidth&&(a.el.style.minWidth=n.width+2*n.padding+"px"),a.fixedWidth?a.el.style.right=t.scrollBar.getWidth()+"px":a.el.style.right=""}}}}}).call(r.prototype),t.LineWidgets=r})),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],(function(e,t,n){"use strict";var i=e("../line_widgets").LineWidgets,r=e("../lib/dom"),o=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new i(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),a=s.row,c=n.widgetManager.getWidgetsAtRow(a).filter((function(e){return"errorMarker"==e.type}))[0];c?c.destroy():a-=t;var l,u=function(e,t,n){var i=e.getAnnotations().sort(o.comparePoints);if(i.length){var r=function(e,t,n){for(var i=0,r=e.length-1;i<=r;){var o=i+r>>1,s=n(t,e[o]);if(s>0)i=o+1;else{if(!(s<0))return o;r=o-1}}return-(i+1)}(i,{row:t,column:-1},o.comparePoints);r<0&&(r=-r-1),r>=i.length?r=n>0?0:i.length-1:0===r&&n<0&&(r=i.length-1);var s=i[r];if(s&&n){if(s.row===t){do{s=i[r+=n]}while(s&&s.row===t);if(!s)return i.slice()}var a=[];t=s.row;do{a[n<0?"unshift":"push"](s),s=i[r+=n]}while(s&&s.row==t);return a.length&&a}}}(n,a,t);if(u){var h=u[0];s.column=(h.pos&&"number"!=typeof h.column?h.pos.sc:h.column)||0,s.row=h.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(c)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var d={row:s.row,fixedWidth:!0,coverGutter:!0,el:r.createElement("div"),type:"errorMarker"},p=d.el.appendChild(r.createElement("div")),m=d.el.appendChild(r.createElement("div"));m.className="error_widget_arrow "+l.className;var f=e.renderer.$cursorLayer.getPixelPosition(s).left;m.style.left=f+e.renderer.gutterWidth-5+"px",d.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("<br>"),p.appendChild(r.createElement("div"));var g=function(e,t,n){if(0===t&&("esc"===n||"return"===n))return d.destroy(),{command:"null"}};d.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(g),n.widgetManager.removeLineWidget(d),e.off("changeSelection",d.destroy),e.off("changeSession",d.destroy),e.off("mouseup",d.destroy),e.off("change",d.destroy))},e.keyBinding.addKeyboardHandler(g),e.on("changeSelection",d.destroy),e.on("changeSession",d.destroy),e.on("mouseup",d.destroy),e.on("change",d.destroy),e.session.widgetManager.addLineWidget(d),d.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:d.el.offsetHeight})},r.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")})),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],(function(e,t,i){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),o=e("./lib/event"),s=e("./range").Range,a=e("./editor").Editor,c=e("./edit_session").EditSession,l=e("./undomanager").UndoManager,u=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,t.define=n(3),t.edit=function(e,n){if("string"==typeof e){var i=e;if(!(e=document.getElementById(i)))throw new Error("ace.edit can't find div #"+i)}if(e&&e.env&&e.env.editor instanceof a)return e.env.editor;var s="";if(e&&/input|textarea/i.test(e.tagName)){var c=e;s=c.value,e=r.createElement("pre"),c.parentNode.replaceChild(e,c)}else e&&(s=e.textContent,e.innerHTML="");var l=t.createEditSession(s),h=new a(new u(e),l,n),d={document:l,editor:h,onResize:h.resize.bind(h,null)};return c&&(d.textarea=c),o.addListener(window,"resize",d.onResize),h.on("destroy",(function(){o.removeListener(window,"resize",d.onResize),d.editor.container.env=null})),h.container.env=h.env=d,h},t.createEditSession=function(e,t){var n=new c(e,t);return n.setUndoManager(new l),n},t.Range=s,t.Editor=a,t.EditSession=c,t.UndoManager=l,t.VirtualRenderer=u,t.version=t.config.version})),ace.require(["ace/ace"],(function(t){for(var n in t&&(t.config.init(!0),t.define=ace.define),window.ace||(window.ace=t),t)t.hasOwnProperty(n)&&(window.ace[n]=t[n]);window.ace.default=window.ace,e&&(e.exports=window.ace)})),e.exports=ace}).call(this,n(2)(e))},function(e,t,n){(function(e){ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(e,t,n){"use strict";var i=e("../lib/oop"),r=e("./text_highlight_rules").TextHighlightRules,o=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},o.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};i.inherits(o,r),o.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},o.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},o.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=o})),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],(function(e,t,n){"use strict";var i=e("../lib/oop"),r=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,s=t.cFunctions="\\b(?:hypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len))))\\b",a=function(){var e=this.$keywords=this.createKeywordMapper({"keyword.control":"break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using","storage.type":"asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template|char16_t|char32_t","storage.modifier":"const|extern|register|restrict|static|volatile|inline|private|protected|public|friend|explicit|virtual|export|mutable|typename|constexpr|new|delete|alignas|alignof|decltype|noexcept|thread_local","keyword.operator":"and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|const_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace","variable.language":"this","constant.language":"NULL|true|false|TRUE|FALSE|nullptr"},"identifier"),t=/\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source,n="%"+/(\d+\$)?/.source+/[#0\- +']*/.source+/[,;:_]?/.source+/((-?\d+)|\*(-?\d+\$)?)?/.source+/(\.((-?\d+)|\*(-?\d+\$)?)?)?/.source+/(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?/.source+/(\[[^"\]]+\]|[diouxXDOUeEfFgGaACcSspn%])/.source;this.$rules={start:[{token:"comment",regex:"//$",next:"start"},{token:"comment",regex:"//",next:"singleLineComment"},r.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:"'(?:"+t+"|.)?'"},{token:"string.start",regex:'"',stateName:"qqstring",next:[{token:"string",regex:/\\\s*$/,next:"qqstring"},{token:"constant.language.escape",regex:t},{token:"constant.language.escape",regex:n},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string.start",regex:'R"\\(',stateName:"rawString",next:[{token:"string.end",regex:'\\)"',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef|version)\\b",next:"directive"},{token:"keyword",regex:"#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"},{token:"support.function.C99.c",regex:s},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"},{token:"keyword.operator",regex:/--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],singleLineComment:[{token:"comment",regex:/\\$/,next:"singleLineComment"},{token:"comment",regex:/$/,next:"start"},{defaultToken:"comment"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(r,"doc-",[r.getEndRule("start")]),this.normalizeRules()};i.inherits(a,o),t.c_cppHighlightRules=a})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var i=e("../range").Range,r=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,o=e.findMatchingBracket({row:t,column:r});if(!o||o.row==t)return 0;var s=this.$getIndent(e.getLine(o.row));e.replace(new i(t,0,t,r-1),s)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(r.prototype),t.MatchingBraceOutdent=r})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(e,t,n){"use strict";var i=e("../../lib/oop"),r=e("../../range").Range,o=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};i.inherits(s,o),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var i=e.getLine(n);if(this.singleLineBlockCommentRe.test(i)&&!this.startRegionRe.test(i)&&!this.tripleStarBlockCommentRe.test(i))return"";var r=this._getFoldWidgetBase(e,t,n);return!r&&this.startRegionRe.test(i)?"start":r},this.getFoldWidgetRange=function(e,t,n,i){var r,o=e.getLine(n);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(e,o,n);if(r=o.match(this.foldingStartMarker)){var s=r.index;if(r[1])return this.openingBracketBlock(e,r[1],n,s);var a=e.getCommentFoldRange(n,s+r[0].length,1);return a&&!a.isMultiLine()&&(i?a=this.getSectionRange(e,n):"all"!=t&&(a=null)),a}if("markbegin"!==t&&(r=o.match(this.foldingStopMarker))){s=r.index+r[0].length;return r[1]?this.closingBracketBlock(e,r[1],n,s):e.getCommentFoldRange(n,s,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),i=n.search(/\S/),o=t,s=n.length,a=t+=1,c=e.getLength();++t<c;){var l=(n=e.getLine(t)).search(/\S/);if(-1!==l){if(i>l)break;var u=this.getFoldWidgetRange(e,"all",t);if(u){if(u.start.row<=o)break;if(u.isMultiLine())t=u.end.row;else if(i==l)break}a=t}}return new r(o,s,a,e.getLine(a).length)},this.getCommentRegionBlock=function(e,t,n){for(var i=t.search(/\s*$/),o=e.getLength(),s=n,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,c=1;++n<o;){t=e.getLine(n);var l=a.exec(t);if(l&&(l[1]?c--:c++,!c))break}if(n>s)return new r(s,i,n,t.length)}}.call(s.prototype)})),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],(function(e,t,n){"use strict";var i=e("../lib/oop"),r=e("./text").Mode,o=e("./c_cpp_highlight_rules").c_cppHighlightRules,s=e("./matching_brace_outdent").MatchingBraceOutdent,a=(e("../range").Range,e("./behaviour/cstyle").CstyleBehaviour),c=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new s,this.$behaviour=new a,this.foldingRules=new c};i.inherits(l,r),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var i=this.$getIndent(t),r=this.getTokenizer().getLineTokens(t,e),o=r.tokens,s=r.state;if(o.length&&"comment"==o[o.length-1].type)return i;if("start"==e)(a=t.match(/^.*[\{\(\[]\s*$/))&&(i+=n);else if("doc-start"==e){if("start"==s)return"";var a;(a=t.match(/^\s*(\/?)\*/))&&(a[1]&&(i+=" "),i+="* ")}return i},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(l.prototype),t.Mode=l})),ace.define("ace/mode/glsl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/c_cpp_highlight_rules"],(function(e,t,n){"use strict";var i=e("../lib/oop"),r=e("./c_cpp_highlight_rules").c_cppHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"this",keyword:"layout|attribute|const|uniform|varying|break|continue|do|for|while|if|else|in|out|inout|float|int|void|bool|true|false|lowp|mediump|highp|precision|invariant|discard|return|mat2|mat3|mat4|vec2|vec3|vec4|ivec2|ivec3|ivec4|bvec2|bvec3|bvec4|sampler2D|samplerCube|struct","constant.language":"radians|degrees|sin|cos|tan|asin|acos|atan|pow|exp|log|exp2|log2|sqrt|inversesqrt|abs|sign|floor|ceil|fract|mod|min|max|clamp|mix|step|smoothstep|length|distance|dot|cross|normalize|faceforward|reflect|refract|matrixCompMult|lessThan|lessThanEqual|greaterThan|greaterThanEqual|equal|notEqual|any|all|not|dFdx|dFdy|fwidth|texture2D|texture2DProj|texture2DLod|texture2DProjLod|textureCube|textureCubeLod|gl_MaxVertexAttribs|gl_MaxVertexUniformVectors|gl_MaxVaryingVectors|gl_MaxVertexTextureImageUnits|gl_MaxCombinedTextureImageUnits|gl_MaxTextureImageUnits|gl_MaxFragmentUniformVectors|gl_MaxDrawBuffers|gl_DepthRangeParameters|gl_DepthRange|gl_Position|gl_PointSize|gl_FragCoord|gl_FrontFacing|gl_PointCoord|gl_FragColor|gl_FragData"},"identifier");this.$rules=(new r).$rules,this.$rules.start.forEach((function(t){"function"==typeof t.token&&(t.token=e)}))};i.inherits(o,r),t.glslHighlightRules=o})),ace.define("ace/mode/glsl",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/mode/glsl_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],(function(e,t,n){"use strict";var i=e("../lib/oop"),r=e("./c_cpp").Mode,o=e("./glsl_highlight_rules").glslHighlightRules,s=e("./matching_brace_outdent").MatchingBraceOutdent,a=(e("../range").Range,e("./behaviour/cstyle").CstyleBehaviour),c=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=o,this.$outdent=new s,this.$behaviour=new a,this.foldingRules=new c};i.inherits(l,r),function(){this.$id="ace/mode/glsl"}.call(l.prototype),t.Mode=l})),ace.require(["ace/mode/glsl"],(function(t){e&&(e.exports=t)}))}).call(this,n(2)(e))},function(e,t,n){(function(e){ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],(function(e,t,n){t.isDark=!0,t.cssClass="ace-monokai",t.cssText=".ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}",e("../lib/dom").importCssString(t.cssText,t.cssClass)})),ace.require(["ace/theme/monokai"],(function(t){e&&(e.exports=t)}))}).call(this,n(2)(e))},function(e,t,n){var i=n(17);"string"==typeof i&&(i=[[e.i,i,""]]);var r={insertInto:("html","html"),hmr:!0,transform:void 0};n(1)(i,r);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(0)(!1)).push([e.i,".ace-monokai {\r\n color: #f9f9f9;\r\n font-size: 14px;\r\n}\r\n\r\n.ace-monokai .ace_entity.ace_name.ace_tag,\r\n.ace-monokai .ace_keyword,\r\n.ace-monokai .ace_meta.ace_tag,\r\n.ace-monokai .ace_storage {\r\n color: #F0640D\r\n}\r\n\r\n.ace-monokai .ace_constant.ace_character,\r\n.ace-monokai .ace_constant.ace_other {\r\n color: #5db0d7;\r\n}\r\n\r\n.ace-monokai .ace_marker-layer .ace_selection {\r\n background: #a6e22e\r\n}\r\n\r\n.ace-monokai .ace_marker-layer .ace_bracket {\r\n margin: -1px 0 0 -1px;\r\n border: 1px solid #a6e22e;\r\n}\r\n\r\n.ace-monokai .ace_marker-layer .ace_active-line {\r\n background: #2c2c2c\r\n}\r\n.ace-monokai .ace_gutter-active-line {\r\n background-color: #2c2c2c\r\n}\r\n.ace-monokai .ace_marker-layer .ace_selected-word {\r\n border: 1px solid #a6e22e\r\n}\r\n\r\n.ace-monokai .ace_constant.ace_language {\r\n color: #e6db74\r\n}\r\n.ace-monokai .ace_constant.ace_numeric {\r\n color: #ae81ff\r\n}\r\n\r\n.ace-monokai .ace_gutter {\r\n background: #222;\r\n color: #8F908A;\r\n}",""])},function(e,t,n){(function(e){ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],(function(e,t,n){"use strict";var i=e("../lib/dom"),r=e("../lib/lang"),o=e("../lib/event"),s='.ace_search {background-color: #ddd;color: #666;border: 1px solid #cbcbcb;border-top: 0 none;overflow: hidden;margin: 0;padding: 4px 6px 0 4px;position: absolute;top: 0;z-index: 99;white-space: normal;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {margin: 0 20px 4px 0;overflow: hidden;line-height: 1.9;}.ace_replace_form {margin-right: 0;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {border-radius: 3px 0 0 3px;background-color: white;color: black;border: 1px solid #cbcbcb;border-right: 0 none;outline: 0;padding: 0;font-size: inherit;margin: 0;line-height: inherit;padding: 0 6px;min-width: 17em;vertical-align: top;min-height: 1.8em;box-sizing: content-box;}.ace_searchbtn {border: 1px solid #cbcbcb;line-height: inherit;display: inline-block;padding: 0 6px;background: #fff;border-right: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;margin: 0;position: relative;color: #666;}.ace_searchbtn:last-child {border-radius: 0 3px 3px 0;border-right: 1px solid #cbcbcb;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn:hover {background-color: #eef1f6;}.ace_searchbtn.prev, .ace_searchbtn.next {padding: 0px 0.7em}.ace_searchbtn.prev:after, .ace_searchbtn.next:after {content: "";border: solid 2px #888;width: 0.5em;height: 0.5em;border-width: 2px 0 0 2px;display:inline-block;transform: rotate(-45deg);}.ace_searchbtn.next:after {border-width: 0 2px 2px 0 ;}.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;font: 16px/16px Arial;padding: 0;height: 14px;width: 14px;top: 9px;right: 7px;position: absolute;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;box-sizing: border-box!important;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;clear: both;}.ace_search_counter {float: left;font-family: arial;padding: 0 8px;}',a=e("../keyboard/hash_handler").HashHandler,c=e("../lib/keys");i.importCssString(s,"ace_searchbox");var l=function(e,t,n){var r=i.createElement("div");i.buildDom(["div",{class:"ace_search right"},["span",{action:"hide",class:"ace_searchbtn_close"}],["div",{class:"ace_search_form"},["input",{class:"ace_search_field",placeholder:"Search for",spellcheck:"false"}],["span",{action:"findPrev",class:"ace_searchbtn prev"},"​"],["span",{action:"findNext",class:"ace_searchbtn next"},"​"],["span",{action:"findAll",class:"ace_searchbtn",title:"Alt-Enter"},"All"]],["div",{class:"ace_replace_form"},["input",{class:"ace_search_field",placeholder:"Replace with",spellcheck:"false"}],["span",{action:"replaceAndFindNext",class:"ace_searchbtn"},"Replace"],["span",{action:"replaceAll",class:"ace_searchbtn"},"All"]],["div",{class:"ace_search_options"},["span",{action:"toggleReplace",class:"ace_button",title:"Toggle Replace mode",style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{class:"ace_search_counter"}],["span",{action:"toggleRegexpMode",class:"ace_button",title:"RegExp Search"},".*"],["span",{action:"toggleCaseSensitive",class:"ace_button",title:"CaseSensitive Search"},"Aa"],["span",{action:"toggleWholeWords",class:"ace_button",title:"Whole Word Search"},"\\b"],["span",{action:"searchInSelection",class:"ace_button",title:"Search In Selection"},"S"]]],r),this.element=r.firstChild,this.setSession=this.setSession.bind(this),this.$init(),this.setEditor(e),i.importCssString(s,"ace_searchbox",e.container)};(function(){this.setEditor=function(e){e.searchBox=this,e.renderer.scroller.appendChild(this.element),this.editor=e},this.setSession=function(e){this.searchRange=null,this.$syncOptions(!0)},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOption=e.querySelector("[action=searchInSelection]"),this.replaceOption=e.querySelector("[action=toggleReplace]"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=e.querySelector(".ace_search_counter")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;o.addListener(e,"mousedown",(function(e){setTimeout((function(){t.activeInput.focus()}),0),o.stopPropagation(e)})),o.addListener(e,"click",(function(e){var n=(e.target||e.srcElement).getAttribute("action");n&&t[n]?t[n]():t.$searchBarKb.commands[n]&&t.$searchBarKb.commands[n].exec(t),o.stopPropagation(e)})),o.addCommandKeyListener(e,(function(e,n,i){var r=c.keyCodeToString(i),s=t.$searchBarKb.findKeyCommand(n,r);s&&s.exec&&(s.exec(t),o.stopEvent(e))})),this.$onChange=r.delayedCall((function(){t.find(!1,!1)})),o.addListener(this.searchInput,"input",(function(){t.$onChange.schedule(20)})),o.addListener(this.searchInput,"focus",(function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()})),o.addListener(this.replaceInput,"focus",(function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()}))},this.$closeSearchBarKb=new a([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new a,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e.replaceOption.checked=!1,e.$syncOptions(),e.searchInput.focus()},"Ctrl-H|Command-Option-F":function(e){e.editor.getReadOnly()||(e.replaceOption.checked=!0,e.$syncOptions(),e.replaceInput.focus())},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout((function(){e.hide()}))},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},"Alt-Return":function(e){e.activeInput==e.replaceInput&&e.replaceAll(),e.findAll()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}},{name:"toggleReplace",exec:function(e){e.replaceOption.checked=!e.replaceOption.checked,e.$syncOptions()}},{name:"searchInSelection",exec:function(e){e.searchOption.checked=!e.searchRange,e.setSearchRange(e.searchOption.checked&&e.editor.getSelectionRange()),e.$syncOptions()}}]),this.setSearchRange=function(e){this.searchRange=e,e?this.searchRangeMarker=this.editor.session.addMarker(e,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},this.$syncOptions=function(e){i.setCssClass(this.replaceOption,"checked",this.searchRange),i.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",i.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),i.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),i.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var t=this.editor.getReadOnly();this.replaceOption.style.display=t?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!t?"":"none",this.find(!1,!1,e)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t,n){var r=!this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:n,range:this.searchRange})&&this.searchInput.value;i.setCssClass(this.searchBox,"ace_nomatch",r),this.editor._emit("findSearchBox",{match:!r}),this.highlight(),this.updateCounter()},this.updateCounter=function(){var e=this.editor,t=e.$search.$options.re,n=0,i=0;if(t){var r=this.searchRange?e.session.getTextRange(this.searchRange):e.getValue(),o=e.session.doc.positionToIndex(e.selection.anchor);this.searchRange&&(o-=e.session.doc.positionToIndex(this.searchRange.start));for(var s,a=t.lastIndex=0;(s=t.exec(r))&&(n++,(a=s.index)<=o&&i++,!(n>999))&&(s[0]||(t.lastIndex=a+=1,!(a>=r.length))););}this.searchCounter.textContent=i+" of "+(n>999?"999+":n)},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.findAll=function(){var e=!this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked})&&this.searchInput.value;i.setCssClass(this.searchBox,"ace_nomatch",e),this.editor._emit("findSearchBox",{match:!e}),this.highlight(),this.hide()},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.active=!0,this.editor.on("changeSession",this.setSession),this.element.style.display="",this.replaceOption.checked=t,e&&(this.searchInput.value=e),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},this.isFocused=function(){var e=document.activeElement;return e==this.searchInput||e==this.replaceInput}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){(e.searchBox||new l(e)).show(e.session.getTextRange(),t)}})),ace.require(["ace/ext/searchbox"],(function(t){e&&(e.exports=t)}))}).call(this,n(2)(e))},function(e,t,n){var i=n(20);"string"==typeof i&&(i=[[e.i,i,""]]);var r={insertInto:("html","html"),hmr:!0,transform:void 0};n(1)(i,r);i.locals&&(e.exports=i.locals)},function(e,t,n){(t=e.exports=n(0)(!1)).push([e.i,"@import url(https://fonts.googleapis.com/css?family=Montserrat:300,400);",""]),t.push([e.i,".captureMenuComponent {\n position: absolute;\n padding: 7px;\n z-index: 99999;\n top: 10px;\n left: 50%;\n margin-left: -209px;\n height: 40px;\n width: 400px;\n border: 2px solid #222;\n background-color: #2c2c2c;\n visibility: hidden;\n display: none;\n color: #f9f9f9;\n font-family: Consolas, monaco, monospace;\n font-size: 14px;\n font-weight: 500; }\n .captureMenuComponent.active {\n visibility: visible;\n display: block; }\n .captureMenuComponent, .captureMenuComponent:after, .captureMenuComponent:before {\n box-sizing: content-box; }\n\n.captureMenuLogComponent {\n position: absolute;\n padding: 7px;\n z-index: 80000;\n top: 66px;\n left: 50%;\n margin-left: -209px;\n height: 40px;\n width: 400px;\n border: 2px solid #222;\n background-color: #2c2c2c;\n visibility: hidden;\n display: none;\n color: #f9f9f9;\n font-family: Consolas, monaco, monospace;\n font-size: 14px;\n font-weight: 500; }\n .captureMenuLogComponent.active {\n visibility: visible;\n display: block; }\n .captureMenuLogComponent, .captureMenuLogComponent:after, .captureMenuLogComponent:before {\n box-sizing: content-box; }\n .captureMenuLogComponent span.error {\n color: red; }\n\n.canvasListComponent {\n float: left;\n width: 50%;\n height: 100%; }\n .canvasListComponent [commandName=onCanvasSelection] {\n vertical-align: center;\n line-height: 40px;\n white-space: nowrap;\n text-overflow: ellipsis;\n width: 190px;\n display: inline-block;\n overflow: hidden;\n margin: 0px 5px; }\n .canvasListComponent [commandName=onCanvasSelection]:hover {\n color: #c9c9c9;\n cursor: pointer;\n transition: color 0.3s;\n -webkit-transition: color 0.3s;\n -moz-transition: color 0.3s; }\n .canvasListComponent ul {\n margin: 0px;\n padding: 7px;\n list-style: none;\n position: absolute;\n top: 54px;\n left: -2px;\n width: 400px;\n border: 2px solid #222;\n background-color: #2c2c2c; }\n .canvasListComponent ul li {\n margin: 5px; }\n .canvasListComponent ul li:hover {\n color: #c9c9c9;\n cursor: pointer;\n transition: color 0.3s;\n -webkit-transition: color 0.3s;\n -moz-transition: color 0.3s; }\n\n.captureMenuActionsComponent {\n float: left;\n width: 30%;\n height: 100%;\n margin-top: 7.5px; }\n .captureMenuActionsComponent div {\n float: left; }\n .captureMenuActionsComponent [commandName=onCaptureRequested] {\n border-radius: 50%;\n background: #2c2c2c;\n border: 2px solid red;\n width: 21px;\n height: 21px; }\n .captureMenuActionsComponent [commandName=onCaptureRequested]:hover {\n background: red;\n cursor: pointer;\n transition: background 0.3s;\n -webkit-transition: background 0.3s;\n -moz-transition: background 0.3s; }\n .captureMenuActionsComponent [commandName=onPlayRequested], .captureMenuActionsComponent [commandName=onPlayNextFrameRequested] {\n width: 21px;\n height: 21px;\n border: 2px solid #f9f9f9;\n border-radius: 50%;\n margin-left: 9px; }\n .captureMenuActionsComponent [commandName=onPlayRequested]:before, .captureMenuActionsComponent [commandName=onPlayNextFrameRequested]:before {\n content: '';\n position: absolute;\n display: inline-block;\n margin-top: 6px;\n margin-left: 4px;\n width: 7px;\n height: 7px;\n border-top: 2px solid #f9f9f9;\n border-right: 2px solid #f9f9f9;\n background-color: #f9f9f9;\n -moz-transform: rotate(45deg);\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n z-index: -20; }\n .captureMenuActionsComponent [commandName=onPlayRequested]:after, .captureMenuActionsComponent [commandName=onPlayNextFrameRequested]:after {\n content: '';\n position: absolute;\n display: inline-block;\n width: 8px;\n height: 20px;\n background-color: #2c2c2c;\n z-index: -10; }\n .captureMenuActionsComponent [commandName=onPlayRequested]:hover, .captureMenuActionsComponent :hover[commandName=onPlayNextFrameRequested] {\n cursor: pointer;\n border: 2px solid #c9c9c9;\n transition: border 0.3s;\n -webkit-transition: border 0.3s;\n -moz-transition: border 0.3s; }\n .captureMenuActionsComponent [commandName=onPauseRequested] {\n width: 21px;\n height: 21px;\n border: 2px solid #f9f9f9;\n border-radius: 50%;\n margin-left: 9px; }\n .captureMenuActionsComponent [commandName=onPauseRequested]:before {\n content: '';\n position: absolute;\n display: inline-block;\n width: 2px;\n height: 13px;\n margin-left: 12px;\n margin-top: 4px;\n background-color: #f9f9f9; }\n .captureMenuActionsComponent [commandName=onPauseRequested]:after {\n content: '';\n position: absolute;\n display: inline-block;\n width: 2px;\n height: 13px;\n margin-left: 7px;\n margin-top: 4px;\n background-color: #f9f9f9; }\n .captureMenuActionsComponent [commandName=onPauseRequested]:hover {\n cursor: pointer;\n border: 2px solid #c9c9c9;\n transition: border 0.3s;\n -webkit-transition: border 0.3s;\n -moz-transition: border 0.3s; }\n .captureMenuActionsComponent [commandName=onPlayNextFrameRequested]:before {\n background-color: #2c2c2c; }\n\n.fpsCounterComponent {\n float: left;\n width: 20%;\n vertical-align: center;\n line-height: 40px;\n white-space: nowrap; }\n",""])},function(e,t,n){var i=n(22);"string"==typeof i&&(i=[[e.i,i,""]]);var r={insertInto:("html","html"),hmr:!0,transform:void 0};n(1)(i,r);i.locals&&(e.exports=i.locals)},function(e,t,n){(t=e.exports=n(0)(!1)).push([e.i,"@import url(https://fonts.googleapis.com/css?family=Montserrat:300,400);",""]),t.push([e.i,"/* The main window */\n.resultViewComponent {\n position: absolute;\n z-index: 99999;\n border: 1px solid black;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background-color: #222;\n opacity: 1;\n visibility: hidden;\n display: none;\n color: #f9f9f9;\n font-family: Consolas, monaco, monospace;\n font-size: 14px;\n font-weight: 500; }\n .resultViewComponent.active {\n visibility: visible;\n display: block; }\n .resultViewComponent, .resultViewComponent:after, .resultViewComponent:before {\n box-sizing: content-box; }\n\n.resultViewMenuComponent {\n font-family: 'Montserrat', sans-serif;\n font-size: 13px;\n font-weight: 300;\n line-height: 40px;\n flex: 1 100%;\n display: flex;\n flex-flow: row wrap;\n height: 42px;\n outline: 0 none;\n border-bottom: 2px solid #222;\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n background: #2c2c2c;\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-flex-flow: row wrap;\n flex-flow: row wrap;\n justify-content: flex-end; }\n .resultViewMenuComponent .resultViewMenuOpen {\n display: none;\n visibility: hidden; }\n .resultViewMenuComponent a {\n outline: 0 none;\n text-decoration: none;\n display: block;\n padding: 0 20px 0 20px;\n color: #cccccc;\n background: #2c2c2c;\n box-sizing: border-box;\n height: 100%; }\n .resultViewMenuComponent a.active {\n background: #222;\n color: white;\n font-weight: 400;\n border-bottom: 2px solid #F0640D; }\n .resultViewMenuComponent a:hover {\n background: #222;\n color: #c9c9c9;\n cursor: pointer;\n transition: color 0.3s;\n -webkit-transition: color 0.3s;\n -moz-transition: color 0.3s; }\n .resultViewMenuComponent a:hover.active {\n color: #F0640D;\n transition: color 0;\n -webkit-transition: color 0;\n -moz-transition: color 0; }\n .resultViewMenuComponent a.clearSearch {\n padding: 0px;\n margin-left: -30px;\n margin-right: 20px;\n z-index: 9000;\n color: #f9f9f9; }\n .resultViewMenuComponent a.clearSearch:hover {\n background: #2c2c2c;\n color: #F0640D; }\n @media all and (max-width: 1024px) {\n .resultViewMenuComponent {\n padding: 0px;\n position: absolute;\n overflow-y: visible;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n z-index: 999999;\n display: block; }\n .resultViewMenuComponent .resultViewMenuOpen {\n display: block;\n visibility: visible; }\n .resultViewMenuComponent li:not(.resultViewMenuSmall) {\n display: none;\n visibility: hidden; }\n .resultViewMenuComponent li {\n background: #2c2c2c; }\n .resultViewMenuComponent li.searchContainer {\n background: #464646; }\n .resultViewMenuComponent a.active {\n background: #2c2c2c; } }\n .resultViewMenuComponent input {\n border: 0;\n font-family: 'Montserrat', sans-serif;\n font-weight: 300;\n padding: 0 20px 0 20px;\n background: #464646;\n color: #f9f9f9;\n height: 40px;\n position: relative;\n top: -1px;\n box-sizing: border-box; }\n .resultViewMenuComponent input:focus {\n border: 0;\n outline: 0 none; }\n .resultViewMenuComponent .clearSearch {\n position: relative;\n background: transparent;\n display: inline;\n padding: 0px;\n margin-left: -30px;\n z-index: 9000;\n color: #F0640D; }\n .resultViewMenuComponent .clearSearch:hover {\n background: transparent !important; }\n .resultViewMenuComponent ::-webkit-input-placeholder {\n /* WebKit, Blink, Edge */\n color: #cccccc; }\n .resultViewMenuComponent :-moz-placeholder {\n /* Mozilla Firefox 4 to 18 */\n color: #cccccc; }\n .resultViewMenuComponent ::-moz-placeholder {\n /* Mozilla Firefox 19+ */\n color: #cccccc; }\n .resultViewMenuComponent :-ms-input-placeholder {\n /* Internet Explorer 10-11 */\n color: #cccccc; }\n\n.resultViewContentComponent {\n position: absolute;\n top: 40px;\n left: 0;\n bottom: 0;\n right: 0; }\n\n.informationColumnLeftComponent {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 50%;\n overflow: auto;\n overflow-x: hidden;\n overflow-y: visible; }\n\n.informationColumnRightComponent {\n position: absolute;\n top: 0;\n left: 50%;\n bottom: 0;\n right: 0;\n overflow: auto;\n overflow-x: hidden;\n overflow-y: visible; }\n\n.captureListComponent {\n position: absolute;\n top: 40px;\n left: 0;\n bottom: 0;\n right: 0;\n background: #222;\n z-index: 9000;\n display: none;\n visibility: hidden;\n overflow-y: visible;\n overflow-x: hidden; }\n .captureListComponent.active {\n display: block;\n visibility: visible; }\n .captureListComponent .openCaptureFile {\n border: 1px dashed #f9f9f9;\n display: block;\n margin: 5px;\n padding: 5px;\n text-align: center;\n font-style: italic; }\n .captureListComponent .openCaptureFile span {\n line-height: 100%;\n vertical-align: middle; }\n .captureListComponent ul {\n margin: 0px;\n padding: 0px;\n list-style: none;\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-flex-flow: row wrap;\n flex-flow: row wrap;\n justify-content: flex-start; }\n .captureListComponent ul li {\n margin: 5px;\n border: 1px solid #606060; }\n .captureListComponent ul li img {\n width: 295px;\n background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, #c9c9c9), color-stop(0.25, transparent)), -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #c9c9c9), color-stop(0.25, transparent)), -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.75, transparent), color-stop(0.75, #c9c9c9)), -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.75, transparent), color-stop(0.75, #c9c9c9));\n background-image: -moz-linear-gradient(45deg, #d9d9d9 25%, transparent 25%), -moz-linear-gradient(-45deg, #d9d9d9 25%, transparent 25%), -moz-linear-gradient(45deg, transparent 75%, #d9d9d9 75%), -moz-linear-gradient(-45deg, transparent 75%, #d9d9d9 75%);\n -webkit-background-size: 50px 51px;\n -moz-background-size: 50px 50px;\n background-size: 50px 50px;\n background-position: 0 0, 25px 0, 25px -25px, 0px 25px;\n display: block; }\n .captureListComponent ul li span {\n display: block;\n text-align: center;\n border: 5px solid #222; }\n .captureListComponent ul li span .captureListItemSave {\n color: #f9f9f9;\n font-size: 16px;\n margin-left: 10px;\n position: relative;\n padding: 3px 8px 3px 32px; }\n .captureListComponent ul li span .captureListItemSave:before, .captureListComponent ul li span .captureListItemSave:after {\n box-sizing: border-box;\n content: \"\";\n position: absolute; }\n .captureListComponent ul li span .captureListItemSave:before {\n background: #d9d9d9;\n border-color: #f9f9f9;\n border-style: solid;\n border-width: 7px 2px 1px;\n border-radius: 1px;\n height: 16px;\n left: 8px;\n top: 5px;\n width: 16px; }\n .captureListComponent ul li span .captureListItemSave:after {\n background: #f9f9f9;\n border-color: #d9d9d9;\n border-style: solid;\n border-width: 1px 1px 1px 4px;\n height: 5px;\n left: 13px;\n top: 5px;\n width: 7px; }\n .captureListComponent ul li:hover {\n cursor: pointer; }\n .captureListComponent ul li.active span {\n background: #F0640D;\n border: 5px solid #F0640D; }\n .captureListComponent ul li.active span .captureListItemSave:before {\n background: #F0640D; }\n .captureListComponent ul li.active span .captureListItemSave:after {\n border-color: #F0640D; }\n\n.visualStateListComponent {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n padding: 5px;\n right: 80%;\n overflow-y: visible;\n overflow-x: hidden; }\n .visualStateListComponent ul {\n margin: 0px;\n padding: 0px;\n list-style: none; }\n .visualStateListComponent ul li {\n margin: 20px 15px 0px 15px;\n border: 1px solid #606060; }\n .visualStateListComponent ul li img {\n display: block;\n padding: 0px;\n box-sizing: border-box;\n max-height: 600px;\n width: 100%;\n margin: 0 auto;\n background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, #c9c9c9), color-stop(0.25, transparent)), -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #c9c9c9), color-stop(0.25, transparent)), -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.75, transparent), color-stop(0.75, #c9c9c9)), -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.75, transparent), color-stop(0.75, #c9c9c9));\n background-image: -moz-linear-gradient(45deg, #d9d9d9 25%, transparent 25%), -moz-linear-gradient(-45deg, #d9d9d9 25%, transparent 25%), -moz-linear-gradient(45deg, transparent 75%, #d9d9d9 75%), -moz-linear-gradient(-45deg, transparent 75%, #d9d9d9 75%);\n -webkit-background-size: 50px 51px;\n -moz-background-size: 50px 50px;\n background-size: 50px 50px;\n background-position: 0 0, 25px 0, 25px -25px, 0px 25px; }\n .visualStateListComponent ul li:hover {\n cursor: pointer; }\n .visualStateListComponent ul li span {\n border: 5px solid #222;\n background: #222;\n box-sizing: border-box;\n display: inline-block;\n width: 100%;\n margin: 0px;\n padding: 5px;\n word-wrap: break-word; }\n .visualStateListComponent ul li.active {\n border: 2px solid #F0640D; }\n\n.commandListComponent {\n position: absolute;\n top: 0;\n left: 20%;\n right: 40%;\n bottom: 0;\n color: lightgray; }\n .commandListComponent ul {\n margin: 0px;\n padding: 0px;\n list-style: none;\n overflow-y: visible;\n overflow-x: hidden;\n height: 100%; }\n .commandListComponent ul li {\n padding: 8px; }\n .commandListComponent ul li span {\n word-wrap: break-word;\n line-height: 22px; }\n .commandListComponent ul li:hover {\n color: #f9f9f9;\n cursor: pointer;\n transition: color 0.3s;\n -webkit-transition: color 0.3s;\n -moz-transition: color 0.3s; }\n .commandListComponent ul li:nth-child(even) {\n background: #2c2c2c; }\n .commandListComponent ul li:nth-child(odd) {\n background: #222; }\n .commandListComponent ul li .important {\n font-weight: 800; }\n .commandListComponent ul li .important.deprecated {\n color: red; }\n .commandListComponent ul li .important.unused {\n color: yellow; }\n .commandListComponent ul li .important.disabled {\n color: gray; }\n .commandListComponent ul li .important.redundant {\n color: orange; }\n .commandListComponent ul li .important.valid {\n color: greenyellow; }\n .commandListComponent ul li .marker {\n font-size: 16px;\n font-weight: 900;\n color: greenyellow; }\n .commandListComponent ul li.active {\n background: #f37628;\n color: #222; }\n .commandListComponent ul li.drawCall {\n background: #5db0d7;\n color: #222; }\n .commandListComponent ul li a {\n margin-left: 5px;\n margin-right: 5px;\n color: #5db0d7;\n background: #222;\n padding: 5px;\n font-weight: 900;\n display: inline-block; }\n\n.commandDetailComponent {\n position: absolute;\n top: 0;\n left: 60%;\n right: 0;\n bottom: 0;\n overflow-y: visible;\n overflow-x: hidden; }\n\n.jsonGroupComponent {\n display: block;\n margin: 10px;\n padding: 10px;\n padding-bottom: 5px; }\n .jsonGroupComponent .jsonGroupComponentTitle {\n display: block;\n font-size: 16px;\n color: #5db0d7;\n border-bottom: 1px solid #5db0d7;\n padding-bottom: 5px;\n margin-bottom: 5px;\n text-transform: capitalize; }\n .jsonGroupComponent ul {\n margin: 0px;\n padding: 0px;\n list-style: none; }\n .jsonGroupComponent ul li:nth-child(even) {\n background: #222; }\n .jsonGroupComponent ul li:nth-child(odd) {\n background: #222; }\n\n.jsonItemComponentKey {\n color: #F0640D; }\n\n.jsonItemComponentValue {\n white-space: pre-wrap; }\n\n.jsonItemImageHolder {\n width: 50%;\n margin: auto; }\n .jsonItemImageHolder .jsonItemImage {\n margin: 5px;\n display: block;\n border: 1px solid #606060;\n width: 100%; }\n .jsonItemImageHolder .jsonItemImage img {\n width: 100%;\n display: block;\n margin: auto;\n max-width: 256px;\n background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, #c9c9c9), color-stop(0.25, transparent)), -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #c9c9c9), color-stop(0.25, transparent)), -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.75, transparent), color-stop(0.75, #c9c9c9)), -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.75, transparent), color-stop(0.75, #c9c9c9));\n background-image: -moz-linear-gradient(45deg, #d9d9d9 25%, transparent 25%), -moz-linear-gradient(-45deg, #d9d9d9 25%, transparent 25%), -moz-linear-gradient(45deg, transparent 75%, #d9d9d9 75%), -moz-linear-gradient(-45deg, transparent 75%, #d9d9d9 75%);\n -webkit-background-size: 50px 51px;\n -moz-background-size: 50px 50px;\n background-size: 50px 50px;\n background-position: 0 0, 25px 0, 25px -25px, 0px 25px; }\n .jsonItemImageHolder .jsonItemImage span {\n margin: 0px;\n padding: 5px;\n word-wrap: break-word;\n display: inline-block;\n width: 100%;\n box-sizing: border-box; }\n\n[commandName=onOpenSourceClicked]:hover {\n color: #f9f9f9;\n cursor: pointer;\n transition: color 0.3s;\n -webkit-transition: color 0.3s;\n -moz-transition: color 0.3s; }\n\n.jsonVisualStateItemComponent {\n text-align: center;\n padding: 10px; }\n .jsonVisualStateItemComponent img {\n background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, #c9c9c9), color-stop(0.25, transparent)), -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #c9c9c9), color-stop(0.25, transparent)), -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.75, transparent), color-stop(0.75, #c9c9c9)), -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.75, transparent), color-stop(0.75, #c9c9c9));\n background-image: -moz-linear-gradient(45deg, #d9d9d9 25%, transparent 25%), -moz-linear-gradient(-45deg, #d9d9d9 25%, transparent 25%), -moz-linear-gradient(45deg, transparent 75%, #d9d9d9 75%), -moz-linear-gradient(-45deg, transparent 75%, #d9d9d9 75%);\n -webkit-background-size: 50px 51px;\n -moz-background-size: 50px 50px;\n background-size: 50px 50px;\n background-position: 0 0, 25px 0, 25px -25px, 0px 25px;\n border: 1px solid #606060;\n margin: 5px;\n width: 100%;\n max-width: 512px;\n max-height: 800px; }\n .jsonVisualStateItemComponent span {\n display: block; }\n\n.jsonContentComponent {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n padding: 10px;\n overflow-y: visible;\n overflow-x: hidden; }\n\n.jsonItemComponentValue {\n word-break: break-all;\n white-space: normal; }\n\n.jsonSourceItemComponentOpen {\n font-weight: bold;\n color: #5db0d7;\n text-decoration: underline; }\n\n.sourceCodeMenuComponentContainer {\n position: absolute;\n left: 0;\n top: 0;\n right: 40%; }\n\n.sourceCodeMenuComponent {\n font-family: 'Montserrat', sans-serif;\n font-size: 13px;\n font-weight: 300;\n line-height: 40px;\n flex: 1 100%;\n display: flex;\n flex-flow: row wrap;\n height: 42px;\n outline: 0 none;\n border-bottom: 2px solid #222;\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n background: #2c2c2c;\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-flex-flow: row wrap;\n flex-flow: row wrap;\n justify-content: flex-end; }\n .sourceCodeMenuComponent .resultViewMenuOpen {\n display: none;\n visibility: hidden; }\n .sourceCodeMenuComponent a {\n outline: 0 none;\n text-decoration: none;\n display: block;\n padding: 0 20px 0 20px;\n color: #cccccc;\n background: #2c2c2c;\n box-sizing: border-box;\n height: 100%; }\n .sourceCodeMenuComponent a.active {\n background: #222;\n color: white;\n font-weight: 400;\n border-bottom: 2px solid #F0640D; }\n .sourceCodeMenuComponent a:hover {\n background: #222;\n color: #c9c9c9;\n cursor: pointer;\n transition: color 0.3s;\n -webkit-transition: color 0.3s;\n -moz-transition: color 0.3s; }\n .sourceCodeMenuComponent a:hover.active {\n color: #F0640D;\n transition: color 0;\n -webkit-transition: color 0;\n -moz-transition: color 0; }\n .sourceCodeMenuComponent a.clearSearch {\n display: inline-block;\n padding: 0px;\n margin-left: -30px;\n margin-right: 20px;\n z-index: 9000;\n color: #f9f9f9; }\n .sourceCodeMenuComponent a.clearSearch:hover {\n background: #2c2c2c;\n color: #F0640D; }\n .sourceCodeMenuComponent input {\n border: 0;\n font-family: 'Montserrat', sans-serif;\n font-weight: 300;\n padding: 0 20px 0 20px;\n background: #464646;\n color: #f9f9f9;\n height: 100%;\n position: relative;\n top: -1px;\n box-sizing: border-box; }\n .sourceCodeMenuComponent input:focus {\n border: 0;\n outline: 0 none; }\n .sourceCodeMenuComponent .clearSearch {\n position: relative;\n background: transparent;\n display: inline;\n padding: 0px;\n margin-left: -30px;\n z-index: 9000;\n color: #F0640D; }\n .sourceCodeMenuComponent .clearSearch:hover {\n background: transparent !important; }\n .sourceCodeMenuComponent ::-webkit-input-placeholder {\n /* WebKit, Blink, Edge */\n color: #cccccc; }\n .sourceCodeMenuComponent :-moz-placeholder {\n /* Mozilla Firefox 4 to 18 */\n color: #cccccc; }\n .sourceCodeMenuComponent ::-moz-placeholder {\n /* Mozilla Firefox 19+ */\n color: #cccccc; }\n .sourceCodeMenuComponent :-ms-input-placeholder {\n /* Internet Explorer 10-11 */\n color: #cccccc; }\n\n.sourceCodeComponentEditable, .sourceCodeComponent {\n position: absolute;\n top: 42px;\n left: 0;\n bottom: 0;\n right: 40%;\n background: #222;\n z-index: 9000;\n overflow-x: visible;\n overflow: auto; }\n .sourceCodeComponentEditable .sourceCodeComponentTitle, .sourceCodeComponent .sourceCodeComponentTitle {\n font-size: 16px;\n font-weight: 800;\n line-height: 50px;\n color: #F0640D;\n padding: 1em;\n margin: .5em 0; }\n",""])},function(e,t,n){"use strict";n.r(t);var i,r=function(){function e(){}return e.isBuildableProgram=function(e){return!!e&&!!e[this.rebuildProgramFunctionName]},e.rebuildProgram=function(e,t,n,i,r){this.isBuildableProgram(e)&&e[this.rebuildProgramFunctionName](t,n,i,r)},e.rebuildProgramFunctionName="__SPECTOR_rebuildProgram",e}();!function(e){e[e.noLog=0]="noLog",e[e.error=1]="error",e[e.warning=2]="warning",e[e.info=3]="info"}(i||(i={}));var o=function(){function e(){}return e.error=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.level>0&&console.error(e,t)},e.warn=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.level>1&&console.warn(e,t)},e.info=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this.level>2&&console.log(e,t)},e.level=i.warning,e}(),s=function(){function e(){this.callbacks=[],this.counter=-1}return e.prototype.add=function(e,t){return this.counter++,t&&(e=e.bind(t)),this.callbacks[this.counter]=e,this.counter},e.prototype.remove=function(e){delete this.callbacks[e]},e.prototype.clear=function(){this.callbacks={}},e.prototype.trigger=function(e){for(var t in this.callbacks)this.callbacks.hasOwnProperty(t)&&this.callbacks[t](e)},e}(),a=function(){function e(){if(window.performance&&window.performance.now)this.nowFunction=this.dateBasedPerformanceNow.bind(this);else{var e=new Date;this.nowFunction=e.getTime.bind(e)}}return e.prototype.dateBasedPerformanceNow=function(){return performance.timing.navigationStart+performance.now()},Object.defineProperty(e,"now",{get:function(){return e.instance.nowFunction()},enumerable:!0,configurable:!0}),e.instance=new e,e}();var c,l=function(){function e(e){this.options=e}return e.prototype.appendAnalysis=function(e){e.analyses=e.analyses||[];var t=this.getAnalysis(e);e.analyses.push(t)},e.prototype.getAnalysis=function(e){var t={analyserName:this.analyserName};return this.appendToAnalysis(e,t),t},e}(),u=(c=function(e,t){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}c(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return u(t,e),Object.defineProperty(t.prototype,"analyserName",{get:function(){return t.analyserName},enumerable:!0,configurable:!0}),t.prototype.appendToAnalysis=function(e,t){if(e.commands){for(var n={},i=0,r=e.commands;i<r.length;i++){var o=r[i];n[o.name]=n[o.name]||0,n[o.name]++}var s=Object.keys(n).map((function(e){return[e,n[e]]}));s.sort((function(e,t){var n=t[1]-e[1];return 0===n?e[0].localeCompare(t[0]):n}));for(var a=0,c=s;a<c.length;a++){var l=c[a];t[l[0]]=l[1]}}},t.analyserName="Commands",t}(l),d=["drawArrays","drawElements","drawArraysInstanced","drawArraysInstancedANGLE","drawElementsInstanced","drawElementsInstancedANGLE","drawRangeElements"],p=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),Object.defineProperty(t.prototype,"analyserName",{get:function(){return t.analyserName},enumerable:!0,configurable:!0}),t.prototype.appendToAnalysis=function(e,t){if(e.commands){t.total=e.commands.length,t.draw=0,t.clear=0;for(var n=0,i=e.commands;n<i.length;n++){var r=i[n];"clear"===r.name?t.clear++:d.indexOf(r.name)>-1&&t.draw++}}},t.analyserName="CommandsSummary",t}(l),f=function(){function e(){}return e.isWebGlConstant=function(e){return null!==v[e]&&void 0!==v[e]},e.stringifyWebGlConstant=function(e,t){if(0===e)return this.zeroMeaningByCommand[t]||"0";if(1===e)return this.oneMeaningByCommand[t]||"1";var n=v[e];return n?n.name:e+""},e.DEPTH_BUFFER_BIT={name:"DEPTH_BUFFER_BIT",value:256,description:"Passed to clear to clear the current depth buffer."},e.STENCIL_BUFFER_BIT={name:"STENCIL_BUFFER_BIT",value:1024,description:"Passed to clear to clear the current stencil buffer."},e.COLOR_BUFFER_BIT={name:"COLOR_BUFFER_BIT",value:16384,description:"Passed to clear to clear the current color buffer."},e.POINTS={name:"POINTS",value:0,description:"Passed to drawElements or drawArrays to draw single points."},e.LINES={name:"LINES",value:1,description:"Passed to drawElements or drawArrays to draw lines. Each vertex connects to the one after it."},e.LINE_LOOP={name:"LINE_LOOP",value:2,description:"Passed to drawElements or drawArrays to draw lines. Each set of two vertices is treated as a separate line segment."},e.LINE_STRIP={name:"LINE_STRIP",value:3,description:"Passed to drawElements or drawArrays to draw a connected group of line segments from the first vertex to the last."},e.TRIANGLES={name:"TRIANGLES",value:4,description:"Passed to drawElements or drawArrays to draw triangles. Each set of three vertices creates a separate triangle."},e.TRIANGLE_STRIP={name:"TRIANGLE_STRIP",value:5,description:"Passed to drawElements or drawArrays to draw a connected group of triangles."},e.TRIANGLE_FAN={name:"TRIANGLE_FAN",value:6,description:"Passed to drawElements or drawArrays to draw a connected group of triangles. Each vertex connects to the previous and the first vertex in the fan."},e.ZERO={name:"ZERO",value:0,description:"Passed to blendFunc or blendFuncSeparate to turn off a component."},e.ONE={name:"ONE",value:1,description:"Passed to blendFunc or blendFuncSeparate to turn on a component."},e.SRC_COLOR={name:"SRC_COLOR",value:768,description:"Passed to blendFunc or blendFuncSeparate to multiply a component by the source elements color."},e.ONE_MINUS_SRC_COLOR={name:"ONE_MINUS_SRC_COLOR",value:769,description:"Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the source elements color."},e.SRC_ALPHA={name:"SRC_ALPHA",value:770,description:"Passed to blendFunc or blendFuncSeparate to multiply a component by the source's alpha."},e.ONE_MINUS_SRC_ALPHA={name:"ONE_MINUS_SRC_ALPHA",value:771,description:"Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the source's alpha."},e.DST_ALPHA={name:"DST_ALPHA",value:772,description:"Passed to blendFunc or blendFuncSeparate to multiply a component by the destination's alpha."},e.ONE_MINUS_DST_ALPHA={name:"ONE_MINUS_DST_ALPHA",value:773,description:"Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the destination's alpha."},e.DST_COLOR={name:"DST_COLOR",value:774,description:"Passed to blendFunc or blendFuncSeparate to multiply a component by the destination's color."},e.ONE_MINUS_DST_COLOR={name:"ONE_MINUS_DST_COLOR",value:775,description:"Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the destination's color."},e.SRC_ALPHA_SATURATE={name:"SRC_ALPHA_SATURATE",value:776,description:"Passed to blendFunc or blendFuncSeparate to multiply a component by the minimum of source's alpha or one minus the destination's alpha."},e.CONSTANT_COLOR={name:"CONSTANT_COLOR",value:32769,description:"Passed to blendFunc or blendFuncSeparate to specify a constant color blend function."},e.ONE_MINUS_CONSTANT_COLOR={name:"ONE_MINUS_CONSTANT_COLOR",value:32770,description:"Passed to blendFunc or blendFuncSeparate to specify one minus a constant color blend function."},e.CONSTANT_ALPHA={name:"CONSTANT_ALPHA",value:32771,description:"Passed to blendFunc or blendFuncSeparate to specify a constant alpha blend function."},e.ONE_MINUS_CONSTANT_ALPHA={name:"ONE_MINUS_CONSTANT_ALPHA",value:32772,description:"Passed to blendFunc or blendFuncSeparate to specify one minus a constant alpha blend function."},e.FUNC_ADD={name:"FUNC_ADD",value:32774,description:"Passed to blendEquation or blendEquationSeparate to set an addition blend function."},e.FUNC_SUBSTRACT={name:"FUNC_SUBSTRACT",value:32778,description:"Passed to blendEquation or blendEquationSeparate to specify a subtraction blend function (source - destination)."},e.FUNC_REVERSE_SUBTRACT={name:"FUNC_REVERSE_SUBTRACT",value:32779,description:"Passed to blendEquation or blendEquationSeparate to specify a reverse subtraction blend function (destination - source)."},e.BLEND_EQUATION={name:"BLEND_EQUATION",value:32777,description:"Passed to getParameter to get the current RGB blend function."},e.BLEND_EQUATION_RGB={name:"BLEND_EQUATION_RGB",value:32777,description:"Passed to getParameter to get the current RGB blend function. Same as BLEND_EQUATION"},e.BLEND_EQUATION_ALPHA={name:"BLEND_EQUATION_ALPHA",value:34877,description:"Passed to getParameter to get the current alpha blend function. Same as BLEND_EQUATION"},e.BLEND_DST_RGB={name:"BLEND_DST_RGB",value:32968,description:"Passed to getParameter to get the current destination RGB blend function."},e.BLEND_SRC_RGB={name:"BLEND_SRC_RGB",value:32969,description:"Passed to getParameter to get the current destination RGB blend function."},e.BLEND_DST_ALPHA={name:"BLEND_DST_ALPHA",value:32970,description:"Passed to getParameter to get the current destination alpha blend function."},e.BLEND_SRC_ALPHA={name:"BLEND_SRC_ALPHA",value:32971,description:"Passed to getParameter to get the current source alpha blend function."},e.BLEND_COLOR={name:"BLEND_COLOR",value:32773,description:"Passed to getParameter to return a the current blend color."},e.ARRAY_BUFFER_BINDING={name:"ARRAY_BUFFER_BINDING",value:34964,description:"Passed to getParameter to get the array buffer binding."},e.ELEMENT_ARRAY_BUFFER_BINDING={name:"ELEMENT_ARRAY_BUFFER_BINDING",value:34965,description:"Passed to getParameter to get the current element array buffer."},e.LINE_WIDTH={name:"LINE_WIDTH",value:2849,description:"Passed to getParameter to get the current lineWidth (set by the lineWidth method)."},e.ALIASED_POINT_SIZE_RANGE={name:"ALIASED_POINT_SIZE_RANGE",value:33901,description:"Passed to getParameter to get the current size of a point drawn with gl.POINTS"},e.ALIASED_LINE_WIDTH_RANGE={name:"ALIASED_LINE_WIDTH_RANGE",value:33902,description:"Passed to getParameter to get the range of available widths for a line. Returns a length-2 array with the lo value at 0, and hight at 1."},e.CULL_FACE_MODE={name:"CULL_FACE_MODE",value:2885,description:"Passed to getParameter to get the current value of cullFace. Should return FRONT, BACK, or FRONT_AND_BACK"},e.FRONT_FACE={name:"FRONT_FACE",value:2886,description:"Passed to getParameter to determine the current value of frontFace. Should return CW or CCW."},e.DEPTH_RANGE={name:"DEPTH_RANGE",value:2928,description:"Passed to getParameter to return a length-2 array of floats giving the current depth range."},e.DEPTH_WRITEMASK={name:"DEPTH_WRITEMASK",value:2930,description:"Passed to getParameter to determine if the depth write mask is enabled."},e.DEPTH_CLEAR_VALUE={name:"DEPTH_CLEAR_VALUE",value:2931,description:"Passed to getParameter to determine the current depth clear value."},e.DEPTH_FUNC={name:"DEPTH_FUNC",value:2932,description:"Passed to getParameter to get the current depth function. Returns NEVER, ALWAYS, LESS, EQUAL, LEQUAL, GREATER, GEQUAL, or NOTEQUAL."},e.STENCIL_CLEAR_VALUE={name:"STENCIL_CLEAR_VALUE",value:2961,description:"Passed to getParameter to get the value the stencil will be cleared to."},e.STENCIL_FUNC={name:"STENCIL_FUNC",value:2962,description:"Passed to getParameter to get the current stencil function. Returns NEVER, ALWAYS, LESS, EQUAL, LEQUAL, GREATER, GEQUAL, or NOTEQUAL."},e.STENCIL_FAIL={name:"STENCIL_FAIL",value:2964,description:"Passed to getParameter to get the current stencil fail function. Should return KEEP, REPLACE, INCR, DECR, INVERT, INCR_WRAP, or DECR_WRAP."},e.STENCIL_PASS_DEPTH_FAIL={name:"STENCIL_PASS_DEPTH_FAIL",value:2965,description:"Passed to getParameter to get the current stencil fail function should the depth buffer test fail. Should return KEEP, REPLACE, INCR, DECR, INVERT, INCR_WRAP, or DECR_WRAP."},e.STENCIL_PASS_DEPTH_PASS={name:"STENCIL_PASS_DEPTH_PASS",value:2966,description:"Passed to getParameter to get the current stencil fail function should the depth buffer test pass. Should return KEEP, REPLACE, INCR, DECR, INVERT, INCR_WRAP, or DECR_WRAP."},e.STENCIL_REF={name:"STENCIL_REF",value:2967,description:"Passed to getParameter to get the reference value used for stencil tests."},e.STENCIL_VALUE_MASK={name:"STENCIL_VALUE_MASK",value:2963,description:" "},e.STENCIL_WRITEMASK={name:"STENCIL_WRITEMASK",value:2968,description:" "},e.STENCIL_BACK_FUNC={name:"STENCIL_BACK_FUNC",value:34816,description:" "},e.STENCIL_BACK_FAIL={name:"STENCIL_BACK_FAIL",value:34817,description:" "},e.STENCIL_BACK_PASS_DEPTH_FAIL={name:"STENCIL_BACK_PASS_DEPTH_FAIL",value:34818,description:" "},e.STENCIL_BACK_PASS_DEPTH_PASS={name:"STENCIL_BACK_PASS_DEPTH_PASS",value:34819,description:" "},e.STENCIL_BACK_REF={name:"STENCIL_BACK_REF",value:36003,description:" "},e.STENCIL_BACK_VALUE_MASK={name:"STENCIL_BACK_VALUE_MASK",value:36004,description:" "},e.STENCIL_BACK_WRITEMASK={name:"STENCIL_BACK_WRITEMASK",value:36005,description:" "},e.VIEWPORT={name:"VIEWPORT",value:2978,description:"Returns an Int32Array with four elements for the current viewport dimensions."},e.SCISSOR_BOX={name:"SCISSOR_BOX",value:3088,description:"Returns an Int32Array with four elements for the current scissor box dimensions."},e.COLOR_CLEAR_VALUE={name:"COLOR_CLEAR_VALUE",value:3106,description:" "},e.COLOR_WRITEMASK={name:"COLOR_WRITEMASK",value:3107,description:" "},e.UNPACK_ALIGNMENT={name:"UNPACK_ALIGNMENT",value:3317,description:" "},e.PACK_ALIGNMENT={name:"PACK_ALIGNMENT",value:3333,description:" "},e.MAX_TEXTURE_SIZE={name:"MAX_TEXTURE_SIZE",value:3379,description:" "},e.MAX_VIEWPORT_DIMS={name:"MAX_VIEWPORT_DIMS",value:3386,description:" "},e.SUBPIXEL_BITS={name:"SUBPIXEL_BITS",value:3408,description:" "},e.RED_BITS={name:"RED_BITS",value:3410,description:" "},e.GREEN_BITS={name:"GREEN_BITS",value:3411,description:" "},e.BLUE_BITS={name:"BLUE_BITS",value:3412,description:" "},e.ALPHA_BITS={name:"ALPHA_BITS",value:3413,description:" "},e.DEPTH_BITS={name:"DEPTH_BITS",value:3414,description:" "},e.STENCIL_BITS={name:"STENCIL_BITS",value:3415,description:" "},e.POLYGON_OFFSET_UNITS={name:"POLYGON_OFFSET_UNITS",value:10752,description:" "},e.POLYGON_OFFSET_FACTOR={name:"POLYGON_OFFSET_FACTOR",value:32824,description:" "},e.TEXTURE_BINDING_2D={name:"TEXTURE_BINDING_2D",value:32873,description:" "},e.SAMPLE_BUFFERS={name:"SAMPLE_BUFFERS",value:32936,description:" "},e.SAMPLES={name:"SAMPLES",value:32937,description:" "},e.SAMPLE_COVERAGE_VALUE={name:"SAMPLE_COVERAGE_VALUE",value:32938,description:" "},e.SAMPLE_COVERAGE_INVERT={name:"SAMPLE_COVERAGE_INVERT",value:32939,description:" "},e.COMPRESSED_TEXTURE_FORMATS={name:"COMPRESSED_TEXTURE_FORMATS",value:34467,description:" "},e.VENDOR={name:"VENDOR",value:7936,description:" "},e.RENDERER={name:"RENDERER",value:7937,description:" "},e.VERSION={name:"VERSION",value:7938,description:" "},e.IMPLEMENTATION_COLOR_READ_TYPE={name:"IMPLEMENTATION_COLOR_READ_TYPE",value:35738,description:" "},e.IMPLEMENTATION_COLOR_READ_FORMAT={name:"IMPLEMENTATION_COLOR_READ_FORMAT",value:35739,description:" "},e.BROWSER_DEFAULT_WEBGL={name:"BROWSER_DEFAULT_WEBGL",value:37444,description:" "},e.STATIC_DRAW={name:"STATIC_DRAW",value:35044,description:"Passed to bufferData as a hint about whether the contents of the buffer are likely to be used often and not change often."},e.STREAM_DRAW={name:"STREAM_DRAW",value:35040,description:"Passed to bufferData as a hint about whether the contents of the buffer are likely to not be used often."},e.DYNAMIC_DRAW={name:"DYNAMIC_DRAW",value:35048,description:"Passed to bufferData as a hint about whether the contents of the buffer are likely to be used often and change often."},e.ARRAY_BUFFER={name:"ARRAY_BUFFER",value:34962,description:"Passed to bindBuffer or bufferData to specify the type of buffer being used."},e.ELEMENT_ARRAY_BUFFER={name:"ELEMENT_ARRAY_BUFFER",value:34963,description:"Passed to bindBuffer or bufferData to specify the type of buffer being used."},e.BUFFER_SIZE={name:"BUFFER_SIZE",value:34660,description:"Passed to getBufferParameter to get a buffer's size."},e.BUFFER_USAGE={name:"BUFFER_USAGE",value:34661,description:"Passed to getBufferParameter to get the hint for the buffer passed in when it was created."},e.CURRENT_VERTEX_ATTRIB={name:"CURRENT_VERTEX_ATTRIB",value:34342,description:"Passed to getVertexAttrib to read back the current vertex attribute."},e.VERTEX_ATTRIB_ARRAY_ENABLED={name:"VERTEX_ATTRIB_ARRAY_ENABLED",value:34338,description:" "},e.VERTEX_ATTRIB_ARRAY_SIZE={name:"VERTEX_ATTRIB_ARRAY_SIZE",value:34339,description:" "},e.VERTEX_ATTRIB_ARRAY_STRIDE={name:"VERTEX_ATTRIB_ARRAY_STRIDE",value:34340,description:" "},e.VERTEX_ATTRIB_ARRAY_TYPE={name:"VERTEX_ATTRIB_ARRAY_TYPE",value:34341,description:" "},e.VERTEX_ATTRIB_ARRAY_NORMALIZED={name:"VERTEX_ATTRIB_ARRAY_NORMALIZED",value:34922,description:" "},e.VERTEX_ATTRIB_ARRAY_POINTER={name:"VERTEX_ATTRIB_ARRAY_POINTER",value:34373,description:" "},e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING={name:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",value:34975,description:" "},e.CULL_FACE={name:"CULL_FACE",value:2884,description:"Passed to enable/disable to turn on/off culling. Can also be used with getParameter to find the current culling method."},e.FRONT={name:"FRONT",value:1028,description:"Passed to cullFace to specify that only front faces should be drawn."},e.BACK={name:"BACK",value:1029,description:"Passed to cullFace to specify that only back faces should be drawn."},e.FRONT_AND_BACK={name:"FRONT_AND_BACK",value:1032,description:"Passed to cullFace to specify that front and back faces should be drawn."},e.BLEND={name:"BLEND",value:3042,description:"Passed to enable/disable to turn on/off blending. Can also be used with getParameter to find the current blending method."},e.DEPTH_TEST={name:"DEPTH_TEST",value:2929,description:"Passed to enable/disable to turn on/off the depth test. Can also be used with getParameter to query the depth test."},e.DITHER={name:"DITHER",value:3024,description:"Passed to enable/disable to turn on/off dithering. Can also be used with getParameter to find the current dithering method."},e.POLYGON_OFFSET_FILL={name:"POLYGON_OFFSET_FILL",value:32823,description:"Passed to enable/disable to turn on/off the polygon offset. Useful for rendering hidden-line images, decals, and or solids with highlighted edges. Can also be used with getParameter to query the scissor test."},e.SAMPLE_ALPHA_TO_COVERAGE={name:"SAMPLE_ALPHA_TO_COVERAGE",value:32926,description:"Passed to enable/disable to turn on/off the alpha to coverage. Used in multi-sampling alpha channels."},e.SAMPLE_COVERAGE={name:"SAMPLE_COVERAGE",value:32928,description:"Passed to enable/disable to turn on/off the sample coverage. Used in multi-sampling."},e.SCISSOR_TEST={name:"SCISSOR_TEST",value:3089,description:"Passed to enable/disable to turn on/off the scissor test. Can also be used with getParameter to query the scissor test."},e.STENCIL_TEST={name:"STENCIL_TEST",value:2960,description:"Passed to enable/disable to turn on/off the stencil test. Can also be used with getParameter to query the stencil test."},e.NO_ERROR={name:"NO_ERROR",value:0,description:"Returned from getError."},e.INVALID_ENUM={name:"INVALID_ENUM",value:1280,description:"Returned from getError."},e.INVALID_VALUE={name:"INVALID_VALUE",value:1281,description:"Returned from getError."},e.INVALID_OPERATION={name:"INVALID_OPERATION",value:1282,description:"Returned from getError."},e.OUT_OF_MEMORY={name:"OUT_OF_MEMORY",value:1285,description:"Returned from getError."},e.CONTEXT_LOST_WEBGL={name:"CONTEXT_LOST_WEBGL",value:37442,description:"Returned from getError."},e.CW={name:"CW",value:2304,description:"Passed to frontFace to specify the front face of a polygon is drawn in the clockwise direction"},e.CCW={name:"CCW",value:2305,description:"Passed to frontFace to specify the front face of a polygon is drawn in the counter clockwise direction"},e.DONT_CARE={name:"DONT_CARE",value:4352,description:"There is no preference for this behavior."},e.FASTEST={name:"FASTEST",value:4353,description:"The most efficient behavior should be used."},e.NICEST={name:"NICEST",value:4354,description:"The most correct or the highest quality option should be used."},e.GENERATE_MIPMAP_HINT={name:"GENERATE_MIPMAP_HINT",value:33170,description:"Hint for the quality of filtering when generating mipmap images with WebGLRenderingContext.generateMipmap()."},e.BYTE={name:"BYTE",value:5120,description:" "},e.UNSIGNED_BYTE={name:"UNSIGNED_BYTE",value:5121,description:" "},e.SHORT={name:"SHORT",value:5122,description:" "},e.UNSIGNED_SHORT={name:"UNSIGNED_SHORT",value:5123,description:" "},e.INT={name:"INT",value:5124,description:" "},e.UNSIGNED_INT={name:"UNSIGNED_INT",value:5125,description:" "},e.FLOAT={name:"FLOAT",value:5126,description:" "},e.DEPTH_COMPONENT={name:"DEPTH_COMPONENT",value:6402,description:" "},e.ALPHA={name:"ALPHA",value:6406,description:" "},e.RGB={name:"RGB",value:6407,description:" "},e.RGBA={name:"RGBA",value:6408,description:" "},e.LUMINANCE={name:"LUMINANCE",value:6409,description:" "},e.LUMINANCE_ALPHA={name:"LUMINANCE_ALPHA",value:6410,description:" "},e.UNSIGNED_SHORT_4_4_4_4={name:"UNSIGNED_SHORT_4_4_4_4",value:32819,description:" "},e.UNSIGNED_SHORT_5_5_5_1={name:"UNSIGNED_SHORT_5_5_5_1",value:32820,description:" "},e.UNSIGNED_SHORT_5_6_5={name:"UNSIGNED_SHORT_5_6_5",value:33635,description:" "},e.FRAGMENT_SHADER={name:"FRAGMENT_SHADER",value:35632,description:"Passed to createShader to define a fragment shader."},e.VERTEX_SHADER={name:"VERTEX_SHADER",value:35633,description:"Passed to createShader to define a vertex shader"},e.COMPILE_STATUS={name:"COMPILE_STATUS",value:35713,description:"Passed to getShaderParamter to get the status of the compilation. Returns false if the shader was not compiled. You can then query getShaderInfoLog to find the exact error"},e.DELETE_STATUS={name:"DELETE_STATUS",value:35712,description:"Passed to getShaderParamter to determine if a shader was deleted via deleteShader. Returns true if it was, false otherwise."},e.LINK_STATUS={name:"LINK_STATUS",value:35714,description:"Passed to getProgramParameter after calling linkProgram to determine if a program was linked correctly. Returns false if there were errors. Use getProgramInfoLog to find the exact error."},e.VALIDATE_STATUS={name:"VALIDATE_STATUS",value:35715,description:"Passed to getProgramParameter after calling validateProgram to determine if it is valid. Returns false if errors were found."},e.ATTACHED_SHADERS={name:"ATTACHED_SHADERS",value:35717,description:"Passed to getProgramParameter after calling attachShader to determine if the shader was attached correctly. Returns false if errors occurred."},e.ACTIVE_ATTRIBUTES={name:"ACTIVE_ATTRIBUTES",value:35721,description:"Passed to getProgramParameter to get the number of attributes active in a program."},e.ACTIVE_UNIFORMS={name:"ACTIVE_UNIFORMS",value:35718,description:"Passed to getProgramParamter to get the number of uniforms active in a program."},e.MAX_VERTEX_ATTRIBS={name:"MAX_VERTEX_ATTRIBS",value:34921,description:" "},e.MAX_VERTEX_UNIFORM_VECTORS={name:"MAX_VERTEX_UNIFORM_VECTORS",value:36347,description:" "},e.MAX_VARYING_VECTORS={name:"MAX_VARYING_VECTORS",value:36348,description:" "},e.MAX_COMBINED_TEXTURE_IMAGE_UNITS={name:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",value:35661,description:" "},e.MAX_VERTEX_TEXTURE_IMAGE_UNITS={name:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",value:35660,description:" "},e.MAX_TEXTURE_IMAGE_UNITS={name:"MAX_TEXTURE_IMAGE_UNITS",value:34930,description:"Implementation dependent number of maximum texture units. At least 8."},e.MAX_FRAGMENT_UNIFORM_VECTORS={name:"MAX_FRAGMENT_UNIFORM_VECTORS",value:36349,description:" "},e.SHADER_TYPE={name:"SHADER_TYPE",value:35663,description:" "},e.SHADING_LANGUAGE_VERSION={name:"SHADING_LANGUAGE_VERSION",value:35724,description:" "},e.CURRENT_PROGRAM={name:"CURRENT_PROGRAM",value:35725,description:" "},e.NEVER={name:"NEVER",value:512,description:"Passed to depthFunction or stencilFunction to specify depth or stencil tests will never pass. i.e. Nothing will be drawn."},e.ALWAYS={name:"ALWAYS",value:519,description:"Passed to depthFunction or stencilFunction to specify depth or stencil tests will always pass. i.e. Pixels will be drawn in the order they are drawn."},e.LESS={name:"LESS",value:513,description:"Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than the stored value."},e.EQUAL={name:"EQUAL",value:514,description:"Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is equals to the stored value."},e.LEQUAL={name:"LEQUAL",value:515,description:"Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than or equal to the stored value."},e.GREATER={name:"GREATER",value:516,description:"Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than the stored value."},e.GEQUAL={name:"GEQUAL",value:518,description:"Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than or equal to the stored value."},e.NOTEQUAL={name:"NOTEQUAL",value:517,description:"Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is not equal to the stored value."},e.KEEP={name:"KEEP",value:7680,description:" "},e.REPLACE={name:"REPLACE",value:7681,description:" "},e.INCR={name:"INCR",value:7682,description:" "},e.DECR={name:"DECR",value:7683,description:" "},e.INVERT={name:"INVERT",value:5386,description:" "},e.INCR_WRAP={name:"INCR_WRAP",value:34055,description:" "},e.DECR_WRAP={name:"DECR_WRAP",value:34056,description:" "},e.NEAREST={name:"NEAREST",value:9728,description:" "},e.LINEAR={name:"LINEAR",value:9729,description:" "},e.NEAREST_MIPMAP_NEAREST={name:"NEAREST_MIPMAP_NEAREST",value:9984,description:" "},e.LINEAR_MIPMAP_NEAREST={name:"LINEAR_MIPMAP_NEAREST",value:9985,description:" "},e.NEAREST_MIPMAP_LINEAR={name:"NEAREST_MIPMAP_LINEAR",value:9986,description:" "},e.LINEAR_MIPMAP_LINEAR={name:"LINEAR_MIPMAP_LINEAR",value:9987,description:" "},e.TEXTURE_MAG_FILTER={name:"TEXTURE_MAG_FILTER",value:10240,description:" "},e.TEXTURE_MIN_FILTER={name:"TEXTURE_MIN_FILTER",value:10241,description:" "},e.TEXTURE_WRAP_S={name:"TEXTURE_WRAP_S",value:10242,description:" "},e.TEXTURE_WRAP_T={name:"TEXTURE_WRAP_T",value:10243,description:" "},e.TEXTURE_2D={name:"TEXTURE_2D",value:3553,description:" "},e.TEXTURE={name:"TEXTURE",value:5890,description:" "},e.TEXTURE_CUBE_MAP={name:"TEXTURE_CUBE_MAP",value:34067,description:" "},e.TEXTURE_BINDING_CUBE_MAP={name:"TEXTURE_BINDING_CUBE_MAP",value:34068,description:" "},e.TEXTURE_CUBE_MAP_POSITIVE_X={name:"TEXTURE_CUBE_MAP_POSITIVE_X",value:34069,description:" "},e.TEXTURE_CUBE_MAP_NEGATIVE_X={name:"TEXTURE_CUBE_MAP_NEGATIVE_X",value:34070,description:" "},e.TEXTURE_CUBE_MAP_POSITIVE_Y={name:"TEXTURE_CUBE_MAP_POSITIVE_Y",value:34071,description:" "},e.TEXTURE_CUBE_MAP_NEGATIVE_Y={name:"TEXTURE_CUBE_MAP_NEGATIVE_Y",value:34072,description:" "},e.TEXTURE_CUBE_MAP_POSITIVE_Z={name:"TEXTURE_CUBE_MAP_POSITIVE_Z",value:34073,description:" "},e.TEXTURE_CUBE_MAP_NEGATIVE_Z={name:"TEXTURE_CUBE_MAP_NEGATIVE_Z",value:34074,description:" "},e.MAX_CUBE_MAP_TEXTURE_SIZE={name:"MAX_CUBE_MAP_TEXTURE_SIZE",value:34076,description:" "},e.TEXTURE0={name:"TEXTURE0",value:33984,description:"A texture unit."},e.TEXTURE1={name:"TEXTURE1",value:33985,description:"A texture unit."},e.TEXTURE2={name:"TEXTURE2",value:33986,description:"A texture unit."},e.TEXTURE3={name:"TEXTURE3",value:33987,description:"A texture unit."},e.TEXTURE4={name:"TEXTURE4",value:33988,description:"A texture unit."},e.TEXTURE5={name:"TEXTURE5",value:33989,description:"A texture unit."},e.TEXTURE6={name:"TEXTURE6",value:33990,description:"A texture unit."},e.TEXTURE7={name:"TEXTURE7",value:33991,description:"A texture unit."},e.TEXTURE8={name:"TEXTURE8",value:33992,description:"A texture unit."},e.TEXTURE9={name:"TEXTURE9",value:33993,description:"A texture unit."},e.TEXTURE10={name:"TEXTURE10",value:33994,description:"A texture unit."},e.TEXTURE11={name:"TEXTURE11",value:33995,description:"A texture unit."},e.TEXTURE12={name:"TEXTURE12",value:33996,description:"A texture unit."},e.TEXTURE13={name:"TEXTURE13",value:33997,description:"A texture unit."},e.TEXTURE14={name:"TEXTURE14",value:33998,description:"A texture unit."},e.TEXTURE15={name:"TEXTURE15",value:33999,description:"A texture unit."},e.TEXTURE16={name:"TEXTURE16",value:34e3,description:"A texture unit."},e.TEXTURE17={name:"TEXTURE17",value:34001,description:"A texture unit."},e.TEXTURE18={name:"TEXTURE18",value:34002,description:"A texture unit."},e.TEXTURE19={name:"TEXTURE19",value:34003,description:"A texture unit."},e.TEXTURE20={name:"TEXTURE20",value:34004,description:"A texture unit."},e.TEXTURE21={name:"TEXTURE21",value:34005,description:"A texture unit."},e.TEXTURE22={name:"TEXTURE22",value:34006,description:"A texture unit."},e.TEXTURE23={name:"TEXTURE23",value:34007,description:"A texture unit."},e.TEXTURE24={name:"TEXTURE24",value:34008,description:"A texture unit."},e.TEXTURE25={name:"TEXTURE25",value:34009,description:"A texture unit."},e.TEXTURE26={name:"TEXTURE26",value:34010,description:"A texture unit."},e.TEXTURE27={name:"TEXTURE27",value:34011,description:"A texture unit."},e.TEXTURE28={name:"TEXTURE28",value:34012,description:"A texture unit."},e.TEXTURE29={name:"TEXTURE29",value:34013,description:"A texture unit."},e.TEXTURE30={name:"TEXTURE30",value:34014,description:"A texture unit."},e.TEXTURE31={name:"TEXTURE31",value:34015,description:"A texture unit."},e.ACTIVE_TEXTURE={name:"ACTIVE_TEXTURE",value:34016,description:"The current active texture unit."},e.REPEAT={name:"REPEAT",value:10497,description:" "},e.CLAMP_TO_EDGE={name:"CLAMP_TO_EDGE",value:33071,description:" "},e.MIRRORED_REPEAT={name:"MIRRORED_REPEAT",value:33648,description:" "},e.FLOAT_VEC2={name:"FLOAT_VEC2",value:35664,description:" "},e.FLOAT_VEC3={name:"FLOAT_VEC3",value:35665,description:" "},e.FLOAT_VEC4={name:"FLOAT_VEC4",value:35666,description:" "},e.INT_VEC2={name:"INT_VEC2",value:35667,description:" "},e.INT_VEC3={name:"INT_VEC3",value:35668,description:" "},e.INT_VEC4={name:"INT_VEC4",value:35669,description:" "},e.BOOL={name:"BOOL",value:35670,description:" "},e.BOOL_VEC2={name:"BOOL_VEC2",value:35671,description:" "},e.BOOL_VEC3={name:"BOOL_VEC3",value:35672,description:" "},e.BOOL_VEC4={name:"BOOL_VEC4",value:35673,description:" "},e.FLOAT_MAT2={name:"FLOAT_MAT2",value:35674,description:" "},e.FLOAT_MAT3={name:"FLOAT_MAT3",value:35675,description:" "},e.FLOAT_MAT4={name:"FLOAT_MAT4",value:35676,description:" "},e.SAMPLER_2D={name:"SAMPLER_2D",value:35678,description:" "},e.SAMPLER_CUBE={name:"SAMPLER_CUBE",value:35680,description:" "},e.LOW_FLOAT={name:"LOW_FLOAT",value:36336,description:" "},e.MEDIUM_FLOAT={name:"MEDIUM_FLOAT",value:36337,description:" "},e.HIGH_FLOAT={name:"HIGH_FLOAT",value:36338,description:" "},e.LOW_INT={name:"LOW_INT",value:36339,description:" "},e.MEDIUM_INT={name:"MEDIUM_INT",value:36340,description:" "},e.HIGH_INT={name:"HIGH_INT",value:36341,description:" "},e.FRAMEBUFFER={name:"FRAMEBUFFER",value:36160,description:" "},e.RENDERBUFFER={name:"RENDERBUFFER",value:36161,description:" "},e.RGBA4={name:"RGBA4",value:32854,description:" "},e.RGB5_A1={name:"RGB5_A1",value:32855,description:" "},e.RGB565={name:"RGB565",value:36194,description:" "},e.DEPTH_COMPONENT16={name:"DEPTH_COMPONENT16",value:33189,description:" "},e.STENCIL_INDEX={name:"STENCIL_INDEX",value:6401,description:" "},e.STENCIL_INDEX8={name:"STENCIL_INDEX8",value:36168,description:" "},e.DEPTH_STENCIL={name:"DEPTH_STENCIL",value:34041,description:" "},e.RENDERBUFFER_WIDTH={name:"RENDERBUFFER_WIDTH",value:36162,description:" "},e.RENDERBUFFER_HEIGHT={name:"RENDERBUFFER_HEIGHT",value:36163,description:" "},e.RENDERBUFFER_INTERNAL_FORMAT={name:"RENDERBUFFER_INTERNAL_FORMAT",value:36164,description:" "},e.RENDERBUFFER_RED_SIZE={name:"RENDERBUFFER_RED_SIZE",value:36176,description:" "},e.RENDERBUFFER_GREEN_SIZE={name:"RENDERBUFFER_GREEN_SIZE",value:36177,description:" "},e.RENDERBUFFER_BLUE_SIZE={name:"RENDERBUFFER_BLUE_SIZE",value:36178,description:" "},e.RENDERBUFFER_ALPHA_SIZE={name:"RENDERBUFFER_ALPHA_SIZE",value:36179,description:" "},e.RENDERBUFFER_DEPTH_SIZE={name:"RENDERBUFFER_DEPTH_SIZE",value:36180,description:" "},e.RENDERBUFFER_STENCIL_SIZE={name:"RENDERBUFFER_STENCIL_SIZE",value:36181,description:" "},e.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE={name:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",value:36048,description:" "},e.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME={name:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",value:36049,description:" "},e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL={name:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",value:36050,description:" "},e.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE={name:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",value:36051,description:" "},e.COLOR_ATTACHMENT0={name:"COLOR_ATTACHMENT0",value:36064,description:" "},e.DEPTH_ATTACHMENT={name:"DEPTH_ATTACHMENT",value:36096,description:" "},e.STENCIL_ATTACHMENT={name:"STENCIL_ATTACHMENT",value:36128,description:" "},e.DEPTH_STENCIL_ATTACHMENT={name:"DEPTH_STENCIL_ATTACHMENT",value:33306,description:" "},e.NONE={name:"NONE",value:0,description:" "},e.FRAMEBUFFER_COMPLETE={name:"FRAMEBUFFER_COMPLETE",value:36053,description:" "},e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT={name:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",value:36054,description:" "},e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT={name:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",value:36055,description:" "},e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS={name:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",value:36057,description:" "},e.FRAMEBUFFER_UNSUPPORTED={name:"FRAMEBUFFER_UNSUPPORTED",value:36061,description:" "},e.FRAMEBUFFER_BINDING={name:"FRAMEBUFFER_BINDING",value:36006,description:" "},e.RENDERBUFFER_BINDING={name:"RENDERBUFFER_BINDING",value:36007,description:" "},e.MAX_RENDERBUFFER_SIZE={name:"MAX_RENDERBUFFER_SIZE",value:34024,description:" "},e.INVALID_FRAMEBUFFER_OPERATION={name:"INVALID_FRAMEBUFFER_OPERATION",value:1286,description:" "},e.UNPACK_FLIP_Y_WEBGL={name:"UNPACK_FLIP_Y_WEBGL",value:37440,description:" "},e.UNPACK_PREMULTIPLY_ALPHA_WEBGL={name:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",value:37441,description:" "},e.UNPACK_COLORSPACE_CONVERSION_WEBGL={name:"UNPACK_COLORSPACE_CONVERSION_WEBGL",value:37443,description:" "},e.READ_BUFFER={name:"READ_BUFFER",value:3074,description:" "},e.UNPACK_ROW_LENGTH={name:"UNPACK_ROW_LENGTH",value:3314,description:" "},e.UNPACK_SKIP_ROWS={name:"UNPACK_SKIP_ROWS",value:3315,description:" "},e.UNPACK_SKIP_PIXELS={name:"UNPACK_SKIP_PIXELS",value:3316,description:" "},e.PACK_ROW_LENGTH={name:"PACK_ROW_LENGTH",value:3330,description:" "},e.PACK_SKIP_ROWS={name:"PACK_SKIP_ROWS",value:3331,description:" "},e.PACK_SKIP_PIXELS={name:"PACK_SKIP_PIXELS",value:3332,description:" "},e.TEXTURE_BINDING_3D={name:"TEXTURE_BINDING_3D",value:32874,description:" "},e.UNPACK_SKIP_IMAGES={name:"UNPACK_SKIP_IMAGES",value:32877,description:" "},e.UNPACK_IMAGE_HEIGHT={name:"UNPACK_IMAGE_HEIGHT",value:32878,description:" "},e.MAX_3D_TEXTURE_SIZE={name:"MAX_3D_TEXTURE_SIZE",value:32883,description:" "},e.MAX_ELEMENTS_VERTICES={name:"MAX_ELEMENTS_VERTICES",value:33e3,description:" "},e.MAX_ELEMENTS_INDICES={name:"MAX_ELEMENTS_INDICES",value:33001,description:" "},e.MAX_TEXTURE_LOD_BIAS={name:"MAX_TEXTURE_LOD_BIAS",value:34045,description:" "},e.MAX_FRAGMENT_UNIFORM_COMPONENTS={name:"MAX_FRAGMENT_UNIFORM_COMPONENTS",value:35657,description:" "},e.MAX_VERTEX_UNIFORM_COMPONENTS={name:"MAX_VERTEX_UNIFORM_COMPONENTS",value:35658,description:" "},e.MAX_ARRAY_TEXTURE_LAYERS={name:"MAX_ARRAY_TEXTURE_LAYERS",value:35071,description:" "},e.MIN_PROGRAM_TEXEL_OFFSET={name:"MIN_PROGRAM_TEXEL_OFFSET",value:35076,description:" "},e.MAX_PROGRAM_TEXEL_OFFSET={name:"MAX_PROGRAM_TEXEL_OFFSET",value:35077,description:" "},e.MAX_VARYING_COMPONENTS={name:"MAX_VARYING_COMPONENTS",value:35659,description:" "},e.FRAGMENT_SHADER_DERIVATIVE_HINT={name:"FRAGMENT_SHADER_DERIVATIVE_HINT",value:35723,description:" "},e.RASTERIZER_DISCARD={name:"RASTERIZER_DISCARD",value:35977,description:" "},e.VERTEX_ARRAY_BINDING={name:"VERTEX_ARRAY_BINDING",value:34229,description:" "},e.MAX_VERTEX_OUTPUT_COMPONENTS={name:"MAX_VERTEX_OUTPUT_COMPONENTS",value:37154,description:" "},e.MAX_FRAGMENT_INPUT_COMPONENTS={name:"MAX_FRAGMENT_INPUT_COMPONENTS",value:37157,description:" "},e.MAX_SERVER_WAIT_TIMEOUT={name:"MAX_SERVER_WAIT_TIMEOUT",value:37137,description:" "},e.MAX_ELEMENT_INDEX={name:"MAX_ELEMENT_INDEX",value:36203,description:" "},e.RED={name:"RED",value:6403,description:" "},e.RGB8={name:"RGB8",value:32849,description:" "},e.RGBA8={name:"RGBA8",value:32856,description:" "},e.RGB10_A2={name:"RGB10_A2",value:32857,description:" "},e.TEXTURE_3D={name:"TEXTURE_3D",value:32879,description:" "},e.TEXTURE_WRAP_R={name:"TEXTURE_WRAP_R",value:32882,description:" "},e.TEXTURE_MIN_LOD={name:"TEXTURE_MIN_LOD",value:33082,description:" "},e.TEXTURE_MAX_LOD={name:"TEXTURE_MAX_LOD",value:33083,description:" "},e.TEXTURE_BASE_LEVEL={name:"TEXTURE_BASE_LEVEL",value:33084,description:" "},e.TEXTURE_MAX_LEVEL={name:"TEXTURE_MAX_LEVEL",value:33085,description:" "},e.TEXTURE_COMPARE_MODE={name:"TEXTURE_COMPARE_MODE",value:34892,description:" "},e.TEXTURE_COMPARE_FUNC={name:"TEXTURE_COMPARE_FUNC",value:34893,description:" "},e.SRGB={name:"SRGB",value:35904,description:" "},e.SRGB8={name:"SRGB8",value:35905,description:" "},e.SRGB8_ALPHA8={name:"SRGB8_ALPHA8",value:35907,description:" "},e.COMPARE_REF_TO_TEXTURE={name:"COMPARE_REF_TO_TEXTURE",value:34894,description:" "},e.RGBA32F={name:"RGBA32F",value:34836,description:" "},e.RGB32F={name:"RGB32F",value:34837,description:" "},e.RGBA16F={name:"RGBA16F",value:34842,description:" "},e.RGB16F={name:"RGB16F",value:34843,description:" "},e.TEXTURE_2D_ARRAY={name:"TEXTURE_2D_ARRAY",value:35866,description:" "},e.TEXTURE_BINDING_2D_ARRAY={name:"TEXTURE_BINDING_2D_ARRAY",value:35869,description:" "},e.R11F_G11F_B10F={name:"R11F_G11F_B10F",value:35898,description:" "},e.RGB9_E5={name:"RGB9_E5",value:35901,description:" "},e.RGBA32UI={name:"RGBA32UI",value:36208,description:" "},e.RGB32UI={name:"RGB32UI",value:36209,description:" "},e.RGBA16UI={name:"RGBA16UI",value:36214,description:" "},e.RGB16UI={name:"RGB16UI",value:36215,description:" "},e.RGBA8UI={name:"RGBA8UI",value:36220,description:" "},e.RGB8UI={name:"RGB8UI",value:36221,description:" "},e.RGBA32I={name:"RGBA32I",value:36226,description:" "},e.RGB32I={name:"RGB32I",value:36227,description:" "},e.RGBA16I={name:"RGBA16I",value:36232,description:" "},e.RGB16I={name:"RGB16I",value:36233,description:" "},e.RGBA8I={name:"RGBA8I",value:36238,description:" "},e.RGB8I={name:"RGB8I",value:36239,description:" "},e.RED_INTEGER={name:"RED_INTEGER",value:36244,description:" "},e.RGB_INTEGER={name:"RGB_INTEGER",value:36248,description:" "},e.RGBA_INTEGER={name:"RGBA_INTEGER",value:36249,description:" "},e.R8={name:"R8",value:33321,description:" "},e.RG8={name:"RG8",value:33323,description:" "},e.R16F={name:"R16F",value:33325,description:" "},e.R32F={name:"R32F",value:33326,description:" "},e.RG16F={name:"RG16F",value:33327,description:" "},e.RG32F={name:"RG32F",value:33328,description:" "},e.R8I={name:"R8I",value:33329,description:" "},e.R8UI={name:"R8UI",value:33330,description:" "},e.R16I={name:"R16I",value:33331,description:" "},e.R16UI={name:"R16UI",value:33332,description:" "},e.R32I={name:"R32I",value:33333,description:" "},e.R32UI={name:"R32UI",value:33334,description:" "},e.RG8I={name:"RG8I",value:33335,description:" "},e.RG8UI={name:"RG8UI",value:33336,description:" "},e.RG16I={name:"RG16I",value:33337,description:" "},e.RG16UI={name:"RG16UI",value:33338,description:" "},e.RG32I={name:"RG32I",value:33339,description:" "},e.RG32UI={name:"RG32UI",value:33340,description:" "},e.R8_SNORM={name:"R8_SNORM",value:36756,description:" "},e.RG8_SNORM={name:"RG8_SNORM",value:36757,description:" "},e.RGB8_SNORM={name:"RGB8_SNORM",value:36758,description:" "},e.RGBA8_SNORM={name:"RGBA8_SNORM",value:36759,description:" "},e.RGB10_A2UI={name:"RGB10_A2UI",value:36975,description:" "},e.TEXTURE_IMMUTABLE_FORMAT={name:"TEXTURE_IMMUTABLE_FORMAT",value:37167,description:" "},e.TEXTURE_IMMUTABLE_LEVELS={name:"TEXTURE_IMMUTABLE_LEVELS",value:33503,description:" "},e.UNSIGNED_INT_2_10_10_10_REV={name:"UNSIGNED_INT_2_10_10_10_REV",value:33640,description:" "},e.UNSIGNED_INT_10F_11F_11F_REV={name:"UNSIGNED_INT_10F_11F_11F_REV",value:35899,description:" "},e.UNSIGNED_INT_5_9_9_9_REV={name:"UNSIGNED_INT_5_9_9_9_REV",value:35902,description:" "},e.FLOAT_32_UNSIGNED_INT_24_8_REV={name:"FLOAT_32_UNSIGNED_INT_24_8_REV",value:36269,description:" "},e.UNSIGNED_INT_24_8={name:"UNSIGNED_INT_24_8",value:34042,description:" "},e.HALF_FLOAT={name:"HALF_FLOAT",value:5131,description:" "},e.RG={name:"RG",value:33319,description:" "},e.RG_INTEGER={name:"RG_INTEGER",value:33320,description:" "},e.INT_2_10_10_10_REV={name:"INT_2_10_10_10_REV",value:36255,description:" "},e.CURRENT_QUERY={name:"CURRENT_QUERY",value:34917,description:" "},e.QUERY_RESULT={name:"QUERY_RESULT",value:34918,description:" "},e.QUERY_RESULT_AVAILABLE={name:"QUERY_RESULT_AVAILABLE",value:34919,description:" "},e.ANY_SAMPLES_PASSED={name:"ANY_SAMPLES_PASSED",value:35887,description:" "},e.ANY_SAMPLES_PASSED_CONSERVATIVE={name:"ANY_SAMPLES_PASSED_CONSERVATIVE",value:36202,description:" "},e.MAX_DRAW_BUFFERS={name:"MAX_DRAW_BUFFERS",value:34852,description:" "},e.DRAW_BUFFER0={name:"DRAW_BUFFER0",value:34853,description:" "},e.DRAW_BUFFER1={name:"DRAW_BUFFER1",value:34854,description:" "},e.DRAW_BUFFER2={name:"DRAW_BUFFER2",value:34855,description:" "},e.DRAW_BUFFER3={name:"DRAW_BUFFER3",value:34856,description:" "},e.DRAW_BUFFER4={name:"DRAW_BUFFER4",value:34857,description:" "},e.DRAW_BUFFER5={name:"DRAW_BUFFER5",value:34858,description:" "},e.DRAW_BUFFER6={name:"DRAW_BUFFER6",value:34859,description:" "},e.DRAW_BUFFER7={name:"DRAW_BUFFER7",value:34860,description:" "},e.DRAW_BUFFER8={name:"DRAW_BUFFER8",value:34861,description:" "},e.DRAW_BUFFER9={name:"DRAW_BUFFER9",value:34862,description:" "},e.DRAW_BUFFER10={name:"DRAW_BUFFER10",value:34863,description:" "},e.DRAW_BUFFER11={name:"DRAW_BUFFER11",value:34864,description:" "},e.DRAW_BUFFER12={name:"DRAW_BUFFER12",value:34865,description:" "},e.DRAW_BUFFER13={name:"DRAW_BUFFER13",value:34866,description:" "},e.DRAW_BUFFER14={name:"DRAW_BUFFER14",value:34867,description:" "},e.DRAW_BUFFER15={name:"DRAW_BUFFER15",value:34868,description:" "},e.MAX_COLOR_ATTACHMENTS={name:"MAX_COLOR_ATTACHMENTS",value:36063,description:" "},e.COLOR_ATTACHMENT1={name:"COLOR_ATTACHMENT1",value:36065,description:" "},e.COLOR_ATTACHMENT2={name:"COLOR_ATTACHMENT2",value:36066,description:" "},e.COLOR_ATTACHMENT3={name:"COLOR_ATTACHMENT3",value:36067,description:" "},e.COLOR_ATTACHMENT4={name:"COLOR_ATTACHMENT4",value:36068,description:" "},e.COLOR_ATTACHMENT5={name:"COLOR_ATTACHMENT5",value:36069,description:" "},e.COLOR_ATTACHMENT6={name:"COLOR_ATTACHMENT6",value:36070,description:" "},e.COLOR_ATTACHMENT7={name:"COLOR_ATTACHMENT7",value:36071,description:" "},e.COLOR_ATTACHMENT8={name:"COLOR_ATTACHMENT8",value:36072,description:" "},e.COLOR_ATTACHMENT9={name:"COLOR_ATTACHMENT9",value:36073,description:" "},e.COLOR_ATTACHMENT10={name:"COLOR_ATTACHMENT10",value:36074,description:" "},e.COLOR_ATTACHMENT11={name:"COLOR_ATTACHMENT11",value:36075,description:" "},e.COLOR_ATTACHMENT12={name:"COLOR_ATTACHMENT12",value:36076,description:" "},e.COLOR_ATTACHMENT13={name:"COLOR_ATTACHMENT13",value:36077,description:" "},e.COLOR_ATTACHMENT14={name:"COLOR_ATTACHMENT14",value:36078,description:" "},e.COLOR_ATTACHMENT15={name:"COLOR_ATTACHMENT15",value:36079,description:" "},e.SAMPLER_3D={name:"SAMPLER_3D",value:35679,description:" "},e.SAMPLER_2D_SHADOW={name:"SAMPLER_2D_SHADOW",value:35682,description:" "},e.SAMPLER_2D_ARRAY={name:"SAMPLER_2D_ARRAY",value:36289,description:" "},e.SAMPLER_2D_ARRAY_SHADOW={name:"SAMPLER_2D_ARRAY_SHADOW",value:36292,description:" "},e.SAMPLER_CUBE_SHADOW={name:"SAMPLER_CUBE_SHADOW",value:36293,description:" "},e.INT_SAMPLER_2D={name:"INT_SAMPLER_2D",value:36298,description:" "},e.INT_SAMPLER_3D={name:"INT_SAMPLER_3D",value:36299,description:" "},e.INT_SAMPLER_CUBE={name:"INT_SAMPLER_CUBE",value:36300,description:" "},e.INT_SAMPLER_2D_ARRAY={name:"INT_SAMPLER_2D_ARRAY",value:36303,description:" "},e.UNSIGNED_INT_SAMPLER_2D={name:"UNSIGNED_INT_SAMPLER_2D",value:36306,description:" "},e.UNSIGNED_INT_SAMPLER_3D={name:"UNSIGNED_INT_SAMPLER_3D",value:36307,description:" "},e.UNSIGNED_INT_SAMPLER_CUBE={name:"UNSIGNED_INT_SAMPLER_CUBE",value:36308,description:" "},e.UNSIGNED_INT_SAMPLER_2D_ARRAY={name:"UNSIGNED_INT_SAMPLER_2D_ARRAY",value:36311,description:" "},e.MAX_SAMPLES={name:"MAX_SAMPLES",value:36183,description:" "},e.SAMPLER_BINDING={name:"SAMPLER_BINDING",value:35097,description:" "},e.PIXEL_PACK_BUFFER={name:"PIXEL_PACK_BUFFER",value:35051,description:" "},e.PIXEL_UNPACK_BUFFER={name:"PIXEL_UNPACK_BUFFER",value:35052,description:" "},e.PIXEL_PACK_BUFFER_BINDING={name:"PIXEL_PACK_BUFFER_BINDING",value:35053,description:" "},e.PIXEL_UNPACK_BUFFER_BINDING={name:"PIXEL_UNPACK_BUFFER_BINDING",value:35055,description:" "},e.COPY_READ_BUFFER={name:"COPY_READ_BUFFER",value:36662,description:" "},e.COPY_WRITE_BUFFER={name:"COPY_WRITE_BUFFER",value:36663,description:" "},e.COPY_READ_BUFFER_BINDING={name:"COPY_READ_BUFFER_BINDING",value:36662,description:" "},e.COPY_WRITE_BUFFER_BINDING={name:"COPY_WRITE_BUFFER_BINDING",value:36663,description:" "},e.FLOAT_MAT2x3={name:"FLOAT_MAT2x3",value:35685,description:" "},e.FLOAT_MAT2x4={name:"FLOAT_MAT2x4",value:35686,description:" "},e.FLOAT_MAT3x2={name:"FLOAT_MAT3x2",value:35687,description:" "},e.FLOAT_MAT3x4={name:"FLOAT_MAT3x4",value:35688,description:" "},e.FLOAT_MAT4x2={name:"FLOAT_MAT4x2",value:35689,description:" "},e.FLOAT_MAT4x3={name:"FLOAT_MAT4x3",value:35690,description:" "},e.UNSIGNED_INT_VEC2={name:"UNSIGNED_INT_VEC2",value:36294,description:" "},e.UNSIGNED_INT_VEC3={name:"UNSIGNED_INT_VEC3",value:36295,description:" "},e.UNSIGNED_INT_VEC4={name:"UNSIGNED_INT_VEC4",value:36296,description:" "},e.UNSIGNED_NORMALIZED={name:"UNSIGNED_NORMALIZED",value:35863,description:" "},e.SIGNED_NORMALIZED={name:"SIGNED_NORMALIZED",value:36764,description:" "},e.VERTEX_ATTRIB_ARRAY_INTEGER={name:"VERTEX_ATTRIB_ARRAY_INTEGER",value:35069,description:" "},e.VERTEX_ATTRIB_ARRAY_DIVISOR={name:"VERTEX_ATTRIB_ARRAY_DIVISOR",value:35070,description:" "},e.TRANSFORM_FEEDBACK_BUFFER_MODE={name:"TRANSFORM_FEEDBACK_BUFFER_MODE",value:35967,description:" "},e.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS={name:"MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",value:35968,description:" "},e.TRANSFORM_FEEDBACK_VARYINGS={name:"TRANSFORM_FEEDBACK_VARYINGS",value:35971,description:" "},e.TRANSFORM_FEEDBACK_BUFFER_START={name:"TRANSFORM_FEEDBACK_BUFFER_START",value:35972,description:" "},e.TRANSFORM_FEEDBACK_BUFFER_SIZE={name:"TRANSFORM_FEEDBACK_BUFFER_SIZE",value:35973,description:" "},e.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN={name:"TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",value:35976,description:" "},e.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS={name:"MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",value:35978,description:" "},e.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS={name:"MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",value:35979,description:" "},e.INTERLEAVED_ATTRIBS={name:"INTERLEAVED_ATTRIBS",value:35980,description:" "},e.SEPARATE_ATTRIBS={name:"SEPARATE_ATTRIBS",value:35981,description:" "},e.TRANSFORM_FEEDBACK_BUFFER={name:"TRANSFORM_FEEDBACK_BUFFER",value:35982,description:" "},e.TRANSFORM_FEEDBACK_BUFFER_BINDING={name:"TRANSFORM_FEEDBACK_BUFFER_BINDING",value:35983,description:" "},e.TRANSFORM_FEEDBACK={name:"TRANSFORM_FEEDBACK",value:36386,description:" "},e.TRANSFORM_FEEDBACK_PAUSED={name:"TRANSFORM_FEEDBACK_PAUSED",value:36387,description:" "},e.TRANSFORM_FEEDBACK_ACTIVE={name:"TRANSFORM_FEEDBACK_ACTIVE",value:36388,description:" "},e.TRANSFORM_FEEDBACK_BINDING={name:"TRANSFORM_FEEDBACK_BINDING",value:36389,description:" "},e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING={name:"FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",value:33296,description:" "},e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE={name:"FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",value:33297,description:" "},e.FRAMEBUFFER_ATTACHMENT_RED_SIZE={name:"FRAMEBUFFER_ATTACHMENT_RED_SIZE",value:33298,description:" "},e.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE={name:"FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",value:33299,description:" "},e.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE={name:"FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",value:33300,description:" "},e.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE={name:"FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",value:33301,description:" "},e.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE={name:"FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",value:33302,description:" "},e.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE={name:"FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",value:33303,description:" "},e.FRAMEBUFFER_DEFAULT={name:"FRAMEBUFFER_DEFAULT",value:33304,description:" "},e.DEPTH24_STENCIL8={name:"DEPTH24_STENCIL8",value:35056,description:" "},e.DRAW_FRAMEBUFFER_BINDING={name:"DRAW_FRAMEBUFFER_BINDING",value:36006,description:" "},e.READ_FRAMEBUFFER={name:"READ_FRAMEBUFFER",value:36008,description:" "},e.DRAW_FRAMEBUFFER={name:"DRAW_FRAMEBUFFER",value:36009,description:" "},e.READ_FRAMEBUFFER_BINDING={name:"READ_FRAMEBUFFER_BINDING",value:36010,description:" "},e.RENDERBUFFER_SAMPLES={name:"RENDERBUFFER_SAMPLES",value:36011,description:" "},e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER={name:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",value:36052,description:" "},e.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE={name:"FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",value:36182,description:" "},e.UNIFORM_BUFFER={name:"UNIFORM_BUFFER",value:35345,description:" "},e.UNIFORM_BUFFER_BINDING={name:"UNIFORM_BUFFER_BINDING",value:35368,description:" "},e.UNIFORM_BUFFER_START={name:"UNIFORM_BUFFER_START",value:35369,description:" "},e.UNIFORM_BUFFER_SIZE={name:"UNIFORM_BUFFER_SIZE",value:35370,description:" "},e.MAX_VERTEX_UNIFORM_BLOCKS={name:"MAX_VERTEX_UNIFORM_BLOCKS",value:35371,description:" "},e.MAX_FRAGMENT_UNIFORM_BLOCKS={name:"MAX_FRAGMENT_UNIFORM_BLOCKS",value:35373,description:" "},e.MAX_COMBINED_UNIFORM_BLOCKS={name:"MAX_COMBINED_UNIFORM_BLOCKS",value:35374,description:" "},e.MAX_UNIFORM_BUFFER_BINDINGS={name:"MAX_UNIFORM_BUFFER_BINDINGS",value:35375,description:" "},e.MAX_UNIFORM_BLOCK_SIZE={name:"MAX_UNIFORM_BLOCK_SIZE",value:35376,description:" "},e.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS={name:"MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",value:35377,description:" "},e.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS={name:"MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",value:35379,description:" "},e.UNIFORM_BUFFER_OFFSET_ALIGNMENT={name:"UNIFORM_BUFFER_OFFSET_ALIGNMENT",value:35380,description:" "},e.ACTIVE_UNIFORM_BLOCKS={name:"ACTIVE_UNIFORM_BLOCKS",value:35382,description:" "},e.UNIFORM_TYPE={name:"UNIFORM_TYPE",value:35383,description:" "},e.UNIFORM_SIZE={name:"UNIFORM_SIZE",value:35384,description:" "},e.UNIFORM_BLOCK_INDEX={name:"UNIFORM_BLOCK_INDEX",value:35386,description:" "},e.UNIFORM_OFFSET={name:"UNIFORM_OFFSET",value:35387,description:" "},e.UNIFORM_ARRAY_STRIDE={name:"UNIFORM_ARRAY_STRIDE",value:35388,description:" "},e.UNIFORM_MATRIX_STRIDE={name:"UNIFORM_MATRIX_STRIDE",value:35389,description:" "},e.UNIFORM_IS_ROW_MAJOR={name:"UNIFORM_IS_ROW_MAJOR",value:35390,description:" "},e.UNIFORM_BLOCK_BINDING={name:"UNIFORM_BLOCK_BINDING",value:35391,description:" "},e.UNIFORM_BLOCK_DATA_SIZE={name:"UNIFORM_BLOCK_DATA_SIZE",value:35392,description:" "},e.UNIFORM_BLOCK_ACTIVE_UNIFORMS={name:"UNIFORM_BLOCK_ACTIVE_UNIFORMS",value:35394,description:" "},e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES={name:"UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",value:35395,description:" "},e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER={name:"UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",value:35396,description:" "},e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER={name:"UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",value:35398,description:" "},e.OBJECT_TYPE={name:"OBJECT_TYPE",value:37138,description:" "},e.SYNC_CONDITION={name:"SYNC_CONDITION",value:37139,description:" "},e.SYNC_STATUS={name:"SYNC_STATUS",value:37140,description:" "},e.SYNC_FLAGS={name:"SYNC_FLAGS",value:37141,description:" "},e.SYNC_FENCE={name:"SYNC_FENCE",value:37142,description:" "},e.SYNC_GPU_COMMANDS_COMPLETE={name:"SYNC_GPU_COMMANDS_COMPLETE",value:37143,description:" "},e.UNSIGNALED={name:"UNSIGNALED",value:37144,description:" "},e.SIGNALED={name:"SIGNALED",value:37145,description:" "},e.ALREADY_SIGNALED={name:"ALREADY_SIGNALED",value:37146,description:" "},e.TIMEOUT_EXPIRED={name:"TIMEOUT_EXPIRED",value:37147,description:" "},e.CONDITION_SATISFIED={name:"CONDITION_SATISFIED",value:37148,description:" "},e.WAIT_FAILED={name:"WAIT_FAILED",value:37149,description:" "},e.SYNC_FLUSH_COMMANDS_BIT={name:"SYNC_FLUSH_COMMANDS_BIT",value:1,description:" "},e.COLOR={name:"COLOR",value:6144,description:" "},e.DEPTH={name:"DEPTH",value:6145,description:" "},e.STENCIL={name:"STENCIL",value:6146,description:" "},e.MIN={name:"MIN",value:32775,description:" "},e.MAX={name:"MAX",value:32776,description:" "},e.DEPTH_COMPONENT24={name:"DEPTH_COMPONENT24",value:33190,description:" "},e.STREAM_READ={name:"STREAM_READ",value:35041,description:" "},e.STREAM_COPY={name:"STREAM_COPY",value:35042,description:" "},e.STATIC_READ={name:"STATIC_READ",value:35045,description:" "},e.STATIC_COPY={name:"STATIC_COPY",value:35046,description:" "},e.DYNAMIC_READ={name:"DYNAMIC_READ",value:35049,description:" "},e.DYNAMIC_COPY={name:"DYNAMIC_COPY",value:35050,description:" "},e.DEPTH_COMPONENT32F={name:"DEPTH_COMPONENT32F",value:36012,description:" "},e.DEPTH32F_STENCIL8={name:"DEPTH32F_STENCIL8",value:36013,description:" "},e.INVALID_INDEX={name:"INVALID_INDEX",value:4294967295,description:" "},e.TIMEOUT_IGNORED={name:"TIMEOUT_IGNORED",value:-1,description:" "},e.MAX_CLIENT_WAIT_TIMEOUT_WEBGL={name:"MAX_CLIENT_WAIT_TIMEOUT_WEBGL",value:37447,description:" "},e.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE={name:"VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE",value:35070,description:"Describes the frequency divisor used for instanced rendering.",extensionName:"ANGLE_instanced_arrays"},e.UNMASKED_VENDOR_WEBGL={name:"UNMASKED_VENDOR_WEBGL",value:37445,description:"Passed to getParameter to get the vendor string of the graphics driver.",extensionName:"ANGLE_instanced_arrays"},e.UNMASKED_RENDERER_WEBGL={name:"UNMASKED_RENDERER_WEBGL",value:37446,description:"Passed to getParameter to get the renderer string of the graphics driver.",extensionName:"WEBGL_debug_renderer_info"},e.MAX_TEXTURE_MAX_ANISOTROPY_EXT={name:"MAX_TEXTURE_MAX_ANISOTROPY_EXT",value:34047,description:"Returns the maximum available anisotropy.",extensionName:"EXT_texture_filter_anisotropic"},e.TEXTURE_MAX_ANISOTROPY_EXT={name:"TEXTURE_MAX_ANISOTROPY_EXT",value:34046,description:"Passed to texParameter to set the desired maximum anisotropy for a texture.",extensionName:"EXT_texture_filter_anisotropic"},e.COMPRESSED_RGB_S3TC_DXT1_EXT={name:"COMPRESSED_RGB_S3TC_DXT1_EXT",value:33776,description:"A DXT1-compressed image in an RGB image format.",extensionName:"WEBGL_compressed_texture_s3tc"},e.COMPRESSED_RGBA_S3TC_DXT1_EXT={name:"COMPRESSED_RGBA_S3TC_DXT1_EXT",value:33777,description:"A DXT1-compressed image in an RGB image format with a simple on/off alpha value.",extensionName:"WEBGL_compressed_texture_s3tc"},e.COMPRESSED_RGBA_S3TC_DXT3_EXT={name:"COMPRESSED_RGBA_S3TC_DXT3_EXT",value:33778,description:"A DXT3-compressed image in an RGBA image format. Compared to a 32-bit RGBA texture, it offers 4:1 compression.",extensionName:"WEBGL_compressed_texture_s3tc"},e.COMPRESSED_RGBA_S3TC_DXT5_EXT={name:"COMPRESSED_RGBA_S3TC_DXT5_EXT",value:33779,description:"A DXT5-compressed image in an RGBA image format. It also provides a 4:1 compression, but differs to the DXT3 compression in how the alpha compression is done.",extensionName:"WEBGL_compressed_texture_s3tc"},e.COMPRESSED_R11_EAC={name:"COMPRESSED_R11_EAC",value:37488,description:"One-channel (red) unsigned format compression.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_SIGNED_R11_EAC={name:"COMPRESSED_SIGNED_R11_EAC",value:37489,description:"One-channel (red) signed format compression.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_RG11_EAC={name:"COMPRESSED_RG11_EAC",value:37490,description:"Two-channel (red and green) unsigned format compression.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_SIGNED_RG11_EAC={name:"COMPRESSED_SIGNED_RG11_EAC",value:37491,description:"Two-channel (red and green) signed format compression.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_RGB8_ETC2={name:"COMPRESSED_RGB8_ETC2",value:37492,description:"Compresses RBG8 data with no alpha channel.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_RGBA8_ETC2_EAC={name:"COMPRESSED_RGBA8_ETC2_EAC",value:37493,description:"Compresses RGBA8 data. The RGB part is encoded the same as RGB_ETC2, but the alpha part is encoded separately.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_SRGB8_ETC2={name:"COMPRESSED_SRGB8_ETC2",value:37494,description:"Compresses sRBG8 data with no alpha channel.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC={name:"COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",value:37495,description:"Compresses sRGBA8 data. The sRGB part is encoded the same as SRGB_ETC2, but the alpha part is encoded separately.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2={name:"COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",value:37496,description:"Similar to RGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2={name:"COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",value:37497,description:"Similar to SRGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent.",extensionName:"WEBGL_compressed_texture_etc"},e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG={name:"COMPRESSED_RGB_PVRTC_4BPPV1_IMG",value:35840,description:"RGB compression in 4-bit mode. One block for each 4×4 pixels.",extensionName:"WEBGL_compressed_texture_pvrtc"},e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG={name:"COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",value:35842,description:"RGBA compression in 4-bit mode. One block for each 4×4 pixels.",extensionName:"WEBGL_compressed_texture_pvrtc"},e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG={name:"COMPRESSED_RGB_PVRTC_2BPPV1_IMG",value:35841,description:"RGB compression in 2-bit mode. One block for each 8×4 pixels.",extensionName:"WEBGL_compressed_texture_pvrtc"},e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG={name:"COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",value:35843,description:"RGBA compression in 2-bit mode. One block for each 8×4 pixe",extensionName:"WEBGL_compressed_texture_pvrtc"},e.COMPRESSED_RGB_ETC1_WEBGL={name:"COMPRESSED_RGB_ETC1_WEBGL",value:36196,description:"Compresses 24-bit RGB data with no alpha channel.",extensionName:"WEBGL_compressed_texture_etc1"},e.COMPRESSED_RGB_ATC_WEBGL={name:"COMPRESSED_RGB_ATC_WEBGL",value:35986,description:"Compresses RGB textures with no alpha channel.",extensionName:"WEBGL_compressed_texture_atc"},e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL={name:"COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",value:35986,description:"Compresses RGBA textures using explicit alpha encoding (useful when alpha transitions are sharp).",extensionName:"WEBGL_compressed_texture_atc"},e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL={name:"COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",value:34798,description:"Compresses RGBA textures using interpolated alpha encoding (useful when alpha transitions are gradient).",extensionName:"WEBGL_compressed_texture_atc"},e.UNSIGNED_INT_24_8_WEBGL={name:"UNSIGNED_INT_24_8_WEBGL",value:34042,description:"Unsigned integer type for 24-bit depth texture data.",extensionName:"WEBGL_depth_texture"},e.HALF_FLOAT_OES={name:"HALF_FLOAT_OES",value:36193,description:"Half floating-point type (16-bit).",extensionName:"OES_texture_half_float"},e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT={name:"FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT",value:33297,description:" ",extensionName:"WEBGL_color_buffer_float"},e.UNSIGNED_NORMALIZED_EXT={name:"UNSIGNED_NORMALIZED_EXT",value:35863,description:" ",extensionName:"WEBGL_color_buffer_float"},e.MIN_EXT={name:"MIN_EXT",value:32775,description:"Produces the minimum color components of the source and destination colors.",extensionName:"EXT_blend_minmax"},e.MAX_EXT={name:"MAX_EXT",value:32776,description:"Produces the maximum color components of the source and destination colors.",extensionName:"EXT_blend_minmax"},e.SRGB_EXT={name:"SRGB_EXT",value:35904,description:"Unsized sRGB format that leaves the precision up to the driver.",extensionName:"EXT_sRGB"},e.SRGB_ALPHA_EXT={name:"SRGB_ALPHA_EXT",value:35906,description:"Unsized sRGB format with unsized alpha component.",extensionName:"EXT_sRGB"},e.SRGB8_ALPHA8_EXT={name:"SRGB8_ALPHA8_EXT",value:35907,description:"Sized (8-bit) sRGB and alpha formats.",extensionName:"EXT_sRGB"},e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT={name:"FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT",value:33296,description:"Returns the framebuffer color encoding.",extensionName:"EXT_sRGB"},e.FRAGMENT_SHADER_DERIVATIVE_HINT_OES={name:"FRAGMENT_SHADER_DERIVATIVE_HINT_OES",value:35723,description:"Indicates the accuracy of the derivative calculation for the GLSL built-in functions: dFdx, dFdy, and fwidth.",extensionName:"OES_standard_derivatives"},e.COLOR_ATTACHMENT0_WEBGL={name:"COLOR_ATTACHMENT0_WEBGL",value:36064,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT1_WEBGL={name:"COLOR_ATTACHMENT1_WEBGL",value:36065,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT2_WEBGL={name:"COLOR_ATTACHMENT2_WEBGL",value:36066,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT3_WEBGL={name:"COLOR_ATTACHMENT3_WEBGL",value:36067,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT4_WEBGL={name:"COLOR_ATTACHMENT4_WEBGL",value:36068,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT5_WEBGL={name:"COLOR_ATTACHMENT5_WEBGL",value:36069,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT6_WEBGL={name:"COLOR_ATTACHMENT6_WEBGL",value:36070,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT7_WEBGL={name:"COLOR_ATTACHMENT7_WEBGL",value:36071,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT8_WEBGL={name:"COLOR_ATTACHMENT8_WEBGL",value:36072,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT9_WEBGL={name:"COLOR_ATTACHMENT9_WEBGL",value:36073,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT10_WEBGL={name:"COLOR_ATTACHMENT10_WEBGL",value:36074,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT11_WEBGL={name:"COLOR_ATTACHMENT11_WEBGL",value:36075,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT12_WEBGL={name:"COLOR_ATTACHMENT12_WEBGL",value:36076,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT13_WEBGL={name:"COLOR_ATTACHMENT13_WEBGL",value:36077,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT14_WEBGL={name:"COLOR_ATTACHMENT14_WEBGL",value:36078,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.COLOR_ATTACHMENT15_WEBGL={name:"COLOR_ATTACHMENT15_WEBGL",value:36079,description:"Framebuffer color attachment point",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER0_WEBGL={name:"DRAW_BUFFER0_WEBGL",value:34853,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER1_WEBGL={name:"DRAW_BUFFER1_WEBGL",value:34854,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER2_WEBGL={name:"DRAW_BUFFER2_WEBGL",value:34855,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER3_WEBGL={name:"DRAW_BUFFER3_WEBGL",value:34856,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER4_WEBGL={name:"DRAW_BUFFER4_WEBGL",value:34857,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER5_WEBGL={name:"DRAW_BUFFER5_WEBGL",value:34858,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER6_WEBGL={name:"DRAW_BUFFER6_WEBGL",value:34859,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER7_WEBGL={name:"DRAW_BUFFER7_WEBGL",value:34860,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER8_WEBGL={name:"DRAW_BUFFER8_WEBGL",value:34861,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER9_WEBGL={name:"DRAW_BUFFER9_WEBGL",value:34862,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER10_WEBGL={name:"DRAW_BUFFER10_WEBGL",value:34863,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER11_WEBGL={name:"DRAW_BUFFER11_WEBGL",value:34864,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER12_WEBGL={name:"DRAW_BUFFER12_WEBGL",value:34865,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER13_WEBGL={name:"DRAW_BUFFER13_WEBGL",value:34866,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER14_WEBGL={name:"DRAW_BUFFER14_WEBGL",value:34867,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.DRAW_BUFFER15_WEBGL={name:"DRAW_BUFFER15_WEBGL",value:34868,description:"Draw buffer",extensionName:"WEBGL_draw_buffers"},e.MAX_COLOR_ATTACHMENTS_WEBGL={name:"MAX_COLOR_ATTACHMENTS_WEBGL",value:36063,description:"Maximum number of framebuffer color attachment points",extensionName:"WEBGL_draw_buffers"},e.MAX_DRAW_BUFFERS_WEBGL={name:"MAX_DRAW_BUFFERS_WEBGL",value:34852,description:"Maximum number of draw buffers",extensionName:"WEBGL_draw_buffers"},e.VERTEX_ARRAY_BINDING_OES={name:"VERTEX_ARRAY_BINDING_OES",value:34229,description:"The bound vertex array object (VAO).",extensionName:"VERTEX_ARRAY_BINDING_OES"},e.QUERY_COUNTER_BITS_EXT={name:"QUERY_COUNTER_BITS_EXT",value:34916,description:"The number of bits used to hold the query result for the given target.",extensionName:"EXT_disjoint_timer_query"},e.CURRENT_QUERY_EXT={name:"CURRENT_QUERY_EXT",value:34917,description:"The currently active query.",extensionName:"EXT_disjoint_timer_query"},e.QUERY_RESULT_EXT={name:"QUERY_RESULT_EXT",value:34918,description:"The query result.",extensionName:"EXT_disjoint_timer_query"},e.QUERY_RESULT_AVAILABLE_EXT={name:"QUERY_RESULT_AVAILABLE_EXT",value:34919,description:"A Boolean indicating whether or not a query result is available.",extensionName:"EXT_disjoint_timer_query"},e.TIME_ELAPSED_EXT={name:"TIME_ELAPSED_EXT",value:35007,description:"Elapsed time (in nanoseconds).",extensionName:"EXT_disjoint_timer_query"},e.TIMESTAMP_EXT={name:"TIMESTAMP_EXT",value:36392,description:"The current time.",extensionName:"EXT_disjoint_timer_query"},e.GPU_DISJOINT_EXT={name:"GPU_DISJOINT_EXT",value:36795,description:"A Boolean indicating whether or not the GPU performed any disjoint operation.",extensionName:"EXT_disjoint_timer_query"},e.zeroMeaningByCommand={getError:"NO_ERROR",blendFunc:"ZERO",blendFuncSeparate:"ZERO",readBuffer:"NONE",getFramebufferAttachmentParameter:"NONE",texParameterf:"NONE",texParameteri:"NONE",drawArrays:"POINTS",drawElements:"POINTS",drawArraysInstanced:"POINTS",drawArraysInstancedAngle:"POINTS",drawBuffers:"POINTS",drawElementsInstanced:"POINTS",drawRangeElements:"POINTS"},e.oneMeaningByCommand={blendFunc:"ONE",blendFuncSeparate:"ONE",drawArrays:"LINES",drawElements:"LINES",drawArraysInstanced:"LINES",drawArraysInstancedAngle:"LINES",drawBuffers:"LINES",drawElementsInstanced:"LINES",drawRangeElements:"LINES"},e}(),g={},v={};!function(){for(var e in f)if(f.hasOwnProperty(e)){var t=f[e];g[t.name]=t,v[t.value]=t}}();var _,E,C,A,S,y,R,b,T,w,x,L,F,I,O,M,N,k,P,$,B,D=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),U=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return D(t,e),Object.defineProperty(t.prototype,"analyserName",{get:function(){return t.analyserName},enumerable:!0,configurable:!0}),t.prototype.appendToAnalysis=function(e,t){if(e.commands){for(var n={total:0,totalTriangles:0,totalTriangleStrip:0,totalTriangleFan:0,totalLines:0,totalLineStrip:0,totalLineLoop:0,totalPoints:0},i=0,r=e.commands;i<r.length;i++){var o=r[i];"drawArrays"===o.name&&o.commandArguments.length>=3?this.appendToPrimitives(n,o.commandArguments[0],o.commandArguments[2]):"drawArraysInstanced"===o.name&&o.commandArguments.length>=3?this.appendToPrimitives(n,o.commandArguments[0],o.commandArguments[2]):"drawArraysInstancedANGLE"===o.name&&o.commandArguments.length>=3?this.appendToPrimitives(n,o.commandArguments[0],o.commandArguments[2]):"drawElements"===o.name&&o.commandArguments.length>=2?this.appendToPrimitives(n,o.commandArguments[0],o.commandArguments[1]):"drawElementsInstanced"===o.name&&o.commandArguments.length>=2?this.appendToPrimitives(n,o.commandArguments[0],o.commandArguments[1]):"drawElementsInstancedANGLE"===o.name&&o.commandArguments.length>=2?this.appendToPrimitives(n,o.commandArguments[0],o.commandArguments[1]):"drawRangeElements"===o.name&&o.commandArguments.length>=4&&this.appendToPrimitives(n,o.commandArguments[0],o.commandArguments[3])}t.total=n.total,t.triangles=n.totalTriangles,t.triangleStrip=n.totalTriangleStrip,t.triangleFan=n.totalTriangleFan,t.lines=n.totalLines,t.lineStrip=n.totalLineStrip,t.lineLoop=n.totalLineLoop,t.points=n.totalPoints}},t.prototype.appendToPrimitives=function(e,t,n){t===f.POINTS.value?e.totalPoints+=n:t===f.LINES.value?e.totalLines+=n:t===f.LINE_STRIP.value?e.totalLineStrip+=n:t===f.LINE_LOOP.value?e.totalLineLoop+=n:t===f.TRIANGLES.value?e.totalTriangles+=n:t===f.TRIANGLE_STRIP.value?e.totalTriangleStrip+=n:t===f.TRIANGLE_FAN.value&&(e.totalTriangleFan+=n),e.total+=n},t.analyserName="Primitives",t}(l),G=function(){function e(e){this.contextInformation=e,this.analysers=[],this.initAnalysers()}return e.prototype.appendAnalyses=function(e){for(var t in this.analysers){if(this.analysers.hasOwnProperty(t))this.analysers[t].appendAnalysis(e)}},e.prototype.initAnalysers=function(){this.analysers.push(new h(this.contextInformation),new m(this.contextInformation),new U(this.contextInformation))},e}(),W=function(){function e(){}return e.storeOriginFunction=function(e,t){if(e&&e[t]){var n=this.getOriginFunctionName(t);e[n]||(e[n]=e[t])}},e.storePrototypeOriginFunction=function(e,t){if(e&&e.prototype[t]){var n=this.getOriginFunctionName(t);e.prototype[n]||(e.prototype[n]=e.prototype[t])}},e.executePrototypeOriginFunction=function(e,t,n,i){if(e){var r=this.getOriginFunctionName(n);if(t.prototype[r])return e[r]||(e[r]=t.prototype[r]),this.executeFunction(e,r,i)}},e.executeOriginFunction=function(e,t,n){if(e){var i=this.getOriginFunctionName(t);if(e[i])return this.executeFunction(e,i,n)}},e.executeFunction=function(e,t,n){var i=n;if(void 0===i||0===i.length)return e[t]();switch(i.length){case 1:return e[t](i[0]);case 2:return e[t](i[0],i[1]);case 3:return e[t](i[0],i[1],i[2]);case 4:return e[t](i[0],i[1],i[2],i[3]);case 5:return e[t](i[0],i[1],i[2],i[3],i[4]);case 6:return e[t](i[0],i[1],i[2],i[3],i[4],i[5]);case 7:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6]);case 8:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);case 9:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8]);case 10:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9]);case 11:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10]);case 12:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11]);case 13:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12]);case 14:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13]);case 15:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13],i[14]);case 16:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15]);case 17:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15],i[16]);case 18:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15],i[16],i[17]);case 19:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15],i[16],i[17],i[18]);case 20:return e[t](i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15],i[16],i[17],i[18],i[19]);default:return e[t].apply(e,i)}},e.getOriginFunctionName=function(e){return this.originFunctionPrefix+e},e.originFunctionPrefix="__SPECTOR_Origin_",e}(),H=function(){function e(){}return e.getStackTrace=function(e,t){void 0===e&&(e=0),void 0===t&&(t=0);var n=[];try{throw new Error("Errorator.")}catch(e){if(e.stack)for(var i=0,r=(o=e.stack.split("\n")).length;i<r;i++)o[i].match(/^\s*[A-Za-z0-9\-_\$]+\(/)?n.push(o[i]):0===o[i].indexOf(" at ")?(o[i]=o[i].replace(" at ",""),n.push(o[i])):-1!==o[i].indexOf("/<@http")?(o[i]=o[i].substring(o[i].indexOf("/<@http")+3),n.push(o[i])):-1!==o[i].indexOf("@http")&&(o[i]=o[i].replace("@http"," (http"),o[i]=o[i]+")",n.push(o[i]));else if(e.message){var o;for(i=0,r=(o=e.message.split("\n")).length;i<r;i++)if(o[i].match(/^\s*[A-Za-z0-9\-_\$]+\(/)){var s=o[i];o[i+1]&&(s+=" at "+o[i+1],i++),n.push(s)}}}if(!n)for(var a=arguments.callee.caller;a;){var c=a.toString(),l=c.substring(c.indexOf("function")+8,c.indexOf(""))||"anonymous";n.push(l),a=a.caller}if(n){n.shift();for(i=0;i<e&&n.length>0;i++)n.shift();for(i=0;i<t&&n.length>0;i++)n.pop()}return n},e}(),V=function(){function e(){}return e.getWebGlObjectTag=function(t){return t[e.SPECTOROBJECTTAGKEY]},e.attachWebGlObjectTag=function(t,n){n.displayText=e.stringifyWebGlObjectTag(n),t[e.SPECTOROBJECTTAGKEY]=n},e.stringifyWebGlObjectTag=function(e){return e?e.typeName+" - ID: "+e.id:"No tag available."},e.SPECTOROBJECTTAGKEY="__SPECTOR_Object_TAG",e}(),X=function(){function e(){this.id=0}return Object.defineProperty(e.prototype,"type",{get:function(){return window[this.typeName]||null},enumerable:!0,configurable:!0}),e.prototype.tagWebGlObject=function(e){if(this.type){var t;if(!e)return t;if(t=V.getWebGlObjectTag(e))return t;if(e instanceof this.type){var n=this.getNextId();return t={typeName:this.typeName,id:n},V.attachWebGlObjectTag(e,t),t}return t}},e.prototype.getNextId=function(){return this.id++},e}(),j=function(){function e(e){this.options=e}return e.prototype.createCapture=function(e,t,n){var i=H.getStackTrace(4,1),r=0===e.name.indexOf("uniform")?this.stringifyUniform(e.arguments):this.stringify(e.arguments,e.result),o={id:t,startTime:e.startTime,commandEndTime:e.endTime,endTime:0,name:e.name,commandArguments:e.arguments,result:e.result,stackTrace:i,status:0,marker:n,text:r};this.transformCapture(o);for(var s=0;s<o.commandArguments.length;s++){var a=o.commandArguments[s];a&&a.length&&a.length>50&&(o.commandArguments[s]="Array Length: "+a.length)}if(o.commandArguments){var c=[];for(s=0;s<o.commandArguments.length;s++){var l=o.commandArguments[s];void 0===l?c.push(void 0):null===l?c.push(null):c.push(JSON.parse(this.stringifyJSON(l)))}o.commandArguments=c}return o.result&&(o.result=JSON.parse(this.stringifyJSON(o.result))),o},e.prototype.stringifyJSON=function(e){try{return JSON.stringify(e)}catch(e){return null}},e.prototype.transformCapture=function(e){},e.prototype.stringify=function(e,t){var n=this.spiedCommandName;return e&&e.length>0&&(n+=": "+this.stringifyArgs(e).join(", ")),t&&(n+=" -> "+this.stringifyResult(t)),n},e.prototype.stringifyUniform=function(e){var t=this.spiedCommandName;if(e&&e.length>0){var n=[];n.push(this.stringifyValue(e[0]));for(var i=1;i<e.length;i++)if("number"==typeof e[i]){var r=e[i]+"";n.push(r)}else{r=this.stringifyValue(e[i]);n.push(r)}t+=": "+n.join(", ")}return t},e.prototype.stringifyArgs=function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n],r=this.stringifyValue(i);t.push(r)}return t},e.prototype.stringifyResult=function(e){if(e)return this.stringifyValue(e)},e.prototype.stringifyValue=function(e){if(null===e)return"null";if(void 0===e)return"undefined";var t=V.getWebGlObjectTag(e);return t?t.displayText:"number"==typeof e&&f.isWebGlConstant(e)?f.stringifyWebGlConstant(e,this.spiedCommandName):"string"==typeof e?e:e instanceof HTMLImageElement?e.src:e instanceof ArrayBuffer?"[--("+e.byteLength+")--]":e.length?"[..("+e.length+")..]":e},e}(),z=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),K=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return z(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[],n=this.options.context.getParameter(f.READ_FRAMEBUFFER_BINDING.value),i=this.options.tagWebGlObject(n);t.push("READ FROM: "+this.stringifyValue(i));var r=this.options.context.getParameter(f.DRAW_FRAMEBUFFER_BINDING.value),o=this.options.tagWebGlObject(r);t.push("WRITE TO: "+this.stringifyValue(o));for(var s=0;s<8;s++)t.push(e[s]);return(e[8]&f.DEPTH_BUFFER_BIT.value)===f.DEPTH_BUFFER_BIT.value&&t.push(f.DEPTH_BUFFER_BIT.name),(e[8]&f.STENCIL_BUFFER_BIT.value)===f.STENCIL_BUFFER_BIT.value&&t.push(f.STENCIL_BUFFER_BIT.name),(e[8]&f.COLOR_BUFFER_BIT.value)===f.COLOR_BUFFER_BIT.value&&t.push(f.COLOR_BUFFER_BIT.name),t.push(f.stringifyWebGlConstant(e[9],"blitFrameBuffer")),t},t.commandName="blitFrameBuffer",t}(j),Y=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Y(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return(e[0]&f.DEPTH_BUFFER_BIT.value)===f.DEPTH_BUFFER_BIT.value&&t.push(f.DEPTH_BUFFER_BIT.name),(e[0]&f.STENCIL_BUFFER_BIT.value)===f.STENCIL_BUFFER_BIT.value&&t.push(f.STENCIL_BUFFER_BIT.name),(e[0]&f.COLOR_BUFFER_BIT.value)===f.COLOR_BUFFER_BIT.value&&t.push(f.COLOR_BUFFER_BIT.name),t},t.commandName="clear",t}(j),Z=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Q=["lineWidth"],J=function(e){function t(t,n){var i=e.call(this,t)||this;return i.internalSpiedCommandName=n,i.isDeprecated=Q.indexOf(i.spiedCommandName)>-1,i}return Z(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return this.internalSpiedCommandName},enumerable:!0,configurable:!0}),t.prototype.transformCapture=function(e){this.isDeprecated&&(e.status=50)},t}(j),ee=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),te=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ee(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return t.push(e[0]),t},t.commandName="disableVertexAttribArray",t}(j),ne=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ie=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ne(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return t.push(f.stringifyWebGlConstant(e[0],"drawArrays")),t.push(e[1]),t.push(e[2]),t},t.commandName="drawArrays",t}(j),re=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),oe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return re(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return t.push(f.stringifyWebGlConstant(e[0],"drawArraysInstanced")),t.push(e[1]),t.push(e[2]),t.push(e[3]),t},t.commandName="drawArraysInstanced",t}(j),se=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ae=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return se(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return t.push(f.stringifyWebGlConstant(e[0],"drawArraysInstancedANGLE")),t.push(e[1]),t.push(e[2]),t.push(e[3]),t},t.commandName="drawArraysInstancedANGLE",t}(j),ce=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),le=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ce(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return t.push(f.stringifyWebGlConstant(e[0],"drawElements")),t.push(e[1]),t.push(f.stringifyWebGlConstant(e[2],"drawElements")),t.push(e[3]),t},t.commandName="drawElements",t}(j),ue=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),he=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ue(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return t.push(f.stringifyWebGlConstant(e[0],"drawElementsInstancedANGLE")),t.push(e[1]),t.push(f.stringifyWebGlConstant(e[2],"drawElementsInstancedANGLE")),t.push(e[3]),t.push(e[4]),t},t.commandName="drawElementsInstancedANGLE",t}(j),de=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),pe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return de(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return t.push(f.stringifyWebGlConstant(e[0],"drawElementsInstanced")),t.push(e[1]),t.push(f.stringifyWebGlConstant(e[2],"drawElementsInstanced")),t.push(e[3]),t.push(e[4]),t},t.commandName="drawElementsInstanced",t}(j),me=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),fe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return me(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return t.push(f.stringifyWebGlConstant(e[0],"drawRangeElements")),t.push(e[1]),t.push(e[2]),t.push(e[3]),t.push(f.stringifyWebGlConstant(e[4],"drawRangeElements")),t.push(e[5]),t},t.commandName="drawRangeElements",t}(j),ge=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ve=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ge(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyResult=function(e){if(e)return"name: "+e.name+", size: "+e.size+", type: "+e.type},t.commandName="getActiveAttrib",t}(j),_e=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ee=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return _e(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyResult=function(e){if(e)return"name: "+e.name+", size: "+e.size+", type: "+e.type},t.commandName="getActiveUniform",t}(j),Ce=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ae=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ce(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyResult=function(e){return e?"true":"false"},t.commandName="getExtension",t}(j),Se=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ye=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Se(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyResult=function(e){if(!e)return"null";var t=V.getWebGlObjectTag(e);return t?t.displayText:e},t.commandName="getParameter",t}(j),Re=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),be=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Re(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyResult=function(e){if(e)return"min: "+e.rangeMin+", max: "+e.rangeMax+", precision: "+e.precision},t.commandName="getShaderPrecisionFormat",t}(j),Te=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),we=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Te(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyResult=function(e){if(e)return"name: "+e.name+", size: "+e.size+", type: "+e.type},t.commandName="getTransformFeedbackVarying",t}(j),xe=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Le=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return xe(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){for(var t=[],n=0;n<4;n++)t.push(e[n].toFixed(0));return t},t.commandName="scissor",t}(j),Fe=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ie=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Fe(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){var t=[];return t.push(e[0]),t.push(e[1]),t.push(f.stringifyWebGlConstant(e[2],"vertexAttribPointer")),t.push(e[3]),t.push(e[4]),t.push(e[5]),t},t.commandName="vertexAttribPointer",t}(j),Oe=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Me=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Oe(t,e),Object.defineProperty(t.prototype,"spiedCommandName",{get:function(){return t.commandName},enumerable:!0,configurable:!0}),t.prototype.stringifyArgs=function(e){for(var t=[],n=0;n<4;n++)t.push(e[n].toFixed(0));return t},t.commandName="viewport",t}(j),Ne=function(){function e(e){this.spiedCommandName=e.spiedCommandName,this.spiedCommandRunningContext=e.spiedCommandRunningContext,this.spiedCommand=this.spiedCommandRunningContext[this.spiedCommandName],W.storeOriginFunction(this.spiedCommandRunningContext,this.spiedCommandName),this.callback=e.callback,this.commandOptions={context:e.context,contextVersion:e.contextVersion,extensions:e.extensions,toggleCapture:e.toggleCapture},this.initCustomCommands(),this.initCommand()}return e.prototype.spy=function(){this.spiedCommandRunningContext[this.spiedCommandName]=this.overloadedCommand},e.prototype.unSpy=function(){this.spiedCommandRunningContext[this.spiedCommandName]=this.spiedCommand},e.prototype.createCapture=function(e,t,n){return this.command.createCapture(e,t,n)},e.prototype.initCommand=function(){e.customCommandsConstructors[this.spiedCommandName]?this.command=e.customCommandsConstructors[this.spiedCommandName](this.commandOptions):this.command=new J(this.commandOptions,this.spiedCommandName),this.overloadedCommand=this.getSpy()},e.prototype.getSpy=function(){var e=this;return function(){var t=a.now,n=W.executeOriginFunction(e.spiedCommandRunningContext,e.spiedCommandName,arguments),i=a.now,r={name:e.spiedCommandName,arguments:arguments,result:n,startTime:t,endTime:i};return e.callback(e,r),n}},e.prototype.initCustomCommands=function(){var t;e.customCommandsConstructors||(e.customCommandsConstructors=((t={})[K.commandName]=function(e){return new K(e)},t[q.commandName]=function(e){return new q(e)},t[te.commandName]=function(e){return new te(e)},t[ie.commandName]=function(e){return new ie(e)},t[oe.commandName]=function(e){return new oe(e)},t[ae.commandName]=function(e){return new ae(e)},t[le.commandName]=function(e){return new le(e)},t[pe.commandName]=function(e){return new pe(e)},t[he.commandName]=function(e){return new he(e)},t[fe.commandName]=function(e){return new fe(e)},t[ve.commandName]=function(e){return new ve(e)},t[Ee.commandName]=function(e){return new Ee(e)},t[Ae.commandName]=function(e){return new Ae(e)},t[ye.commandName]=function(e){return new ye(e)},t[be.commandName]=function(e){return new be(e)},t[we.commandName]=function(e){return new we(e)},t[Le.commandName]=function(e){return new Le(e)},t[Ie.commandName]=function(e){return new Ie(e)},t[Me.commandName]=function(e){return new Me(e)},t))},e}(),ke=function(){function e(e){this.options=e,this.context=e.context,this.contextVersion=e.contextVersion,this.extensions=e.extensions,this.toggleCapture=e.toggleCapture,this.consumeCommands=this.getConsumeCommands(),this.changeCommandsByState=this.getChangeCommandsByState(),this.commandNameToStates=this.getCommandNameToStates()}return Object.defineProperty(e.prototype,"requireStartAndStopStates",{get:function(){return!0},enumerable:!0,configurable:!0}),e.prototype.startCapture=function(e,t){return this.quickCapture=t,this.capturedCommandsByState={},e&&this.requireStartAndStopStates&&(this.currentState={},this.readFromContextNoSideEffects()),this.copyCurrentStateToPrevious(),this.currentState={},this.previousState},e.prototype.stopCapture=function(){return this.requireStartAndStopStates&&this.readFromContextNoSideEffects(),this.analyse(void 0),this.currentState},e.prototype.registerCallbacks=function(e){for(var t in this.changeCommandsByState)if(this.changeCommandsByState.hasOwnProperty(t))for(var n=0,i=this.changeCommandsByState[t];n<i.length;n++){var r=i[n];e[r]=e[r]||[],e[r].push(this.onChangeCommand.bind(this))}for(var o=0,s=this.consumeCommands;o<s.length;o++){var a=s[o];e[a]=e[a]||[],e[a].push(this.onConsumeCommand.bind(this))}},e.prototype.getStateData=function(){return this.currentState},e.prototype.getConsumeCommands=function(){return[]},e.prototype.getChangeCommandsByState=function(){return{}},e.prototype.copyCurrentStateToPrevious=function(){this.currentState&&(this.previousState=this.currentState)},e.prototype.onChangeCommand=function(e){for(var t=0,n=this.commandNameToStates[e.name];t<n.length;t++){var i=n[t];if(!this.isValidChangeCommand(e,i))return;this.capturedCommandsByState[i]=this.capturedCommandsByState[i]||[],this.capturedCommandsByState[i].push(e)}},e.prototype.isValidChangeCommand=function(e,t){return!0},e.prototype.onConsumeCommand=function(e){this.isValidConsumeCommand(e)&&(this.readFromContextNoSideEffects(),this.analyse(e),this.storeCommandIds(),e[this.stateName]=this.currentState,this.startCapture(!1,this.quickCapture))},e.prototype.isValidConsumeCommand=function(e){return!0},e.prototype.analyse=function(e){for(var t in this.capturedCommandsByState)if(this.capturedCommandsByState.hasOwnProperty(t)){var n=this.capturedCommandsByState[t],i=n.length-1;if(i>=0)if(e){for(var r=0;r<i;r++){var o=n[r];o.consumeCommandId=e.id,this.changeCommandCaptureStatus(o,30)}var s=this.isStateEnableNoSideEffects(t,e.commandArguments);(a=n[i]).consumeCommandId=e.id,this.areStatesEquals(this.currentState[t],this.previousState[t])?this.changeCommandCaptureStatus(a,30):s?this.changeCommandCaptureStatus(a,40):this.changeCommandCaptureStatus(a,20)}else for(r=0;r<n.length;r++){var a=n[r];this.changeCommandCaptureStatus(a,10)}}},e.prototype.storeCommandIds=function(){for(var e=["unusedCommandIds","disabledCommandIds","redundantCommandIds","validCommandIds"],t=0,n=e;t<n.length;t++){var i=n[t];this.currentState[i]=[]}for(var r in this.capturedCommandsByState)if(this.capturedCommandsByState.hasOwnProperty(r))for(var o=0,s=this.capturedCommandsByState[r];o<s.length;o++){var a=s[o];switch(a.status){case 10:this.currentState.unusedCommandIds.push(a.id);break;case 20:this.currentState.disabledCommandIds.push(a.id);break;case 30:this.currentState.redundantCommandIds.push(a.id);break;case 40:this.currentState.validCommandIds.push(a.id)}}for(var c=0,l=e;c<l.length;c++){i=l[c];this.currentState[i].length||delete this.currentState[i]}},e.prototype.changeCommandCaptureStatus=function(e,t){return e.status<t&&(e.status=t,!0)},e.prototype.areStatesEquals=function(e,t){if(typeof e!=typeof t)return!1;if(e&&!t)return!1;if(t&&!e)return!1;if(null==e)return!0;if(e.length&&t.length&&"string"!=typeof e){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return e===t},e.prototype.isStateEnable=function(e,t){return!0},e.prototype.getSpectorData=function(e){if(e)return{__SPECTOR_Object_TAG:V.getWebGlObjectTag(e)||this.options.tagWebGlObject(e),__SPECTOR_Object_CustomData:e.__SPECTOR_Object_CustomData,__SPECTOR_Metadata:e.__SPECTOR_Metadata}},e.prototype.readFromContextNoSideEffects=function(){this.toggleCapture(!1),this.readFromContext(),this.toggleCapture(!0)},e.prototype.isStateEnableNoSideEffects=function(e,t){this.toggleCapture(!1);var n=this.isStateEnable(e,t);return this.toggleCapture(!0),n},e.prototype.getCommandNameToStates=function(){var e={};for(var t in this.changeCommandsByState)if(this.changeCommandsByState.hasOwnProperty(t))for(var n=0,i=this.changeCommandsByState[t];n<i.length;n++){var r=i[n];e[r]=e[r]||[],e[r].push(t)}return e},e}(),Pe=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),$e=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Pe(t,e),t.prototype.getWebgl1Parameters=function(){return[]},t.prototype.getWebgl2Parameters=function(){return[]},t.prototype.getChangeCommandsByState=function(){this.parameters=[],this.parameters.push(this.getWebgl1Parameters()),this.contextVersion>1&&this.parameters.push(this.getWebgl2Parameters());for(var e={},t=1;t<=this.contextVersion&&!(t>this.parameters.length);t++)if(this.parameters[t-1])for(var n=0,i=this.parameters[t-1];n<i.length;n++){var r=i[n];if(r.changeCommands)for(var o=0,s=r.changeCommands;o<s.length;o++){var a=s[o];e[r.constant.name]=e[r.constant.name]||[],e[r.constant.name].push(a)}}return e},t.prototype.readFromContext=function(){for(var e=1;e<=this.contextVersion&&!(e>this.parameters.length);e++)for(var t=0,n=this.parameters[e-1];t<n.length;t++){var i=n[t],r=this.readParameterFromContext(i),o=V.getWebGlObjectTag(r);if(o)this.currentState[i.constant.name]=o;else{var s=this.stringifyParameterValue(r,i);this.currentState[i.constant.name]=s}}},t.prototype.readParameterFromContext=function(e){return e.constant.extensionName&&!this.extensions[e.constant.extensionName]?"Extension "+e.constant.extensionName+" is unavailble.":this.context.getParameter(e.constant.value)},t.prototype.stringifyParameterValue=function(e,t){if(null===e)return"null";if(void 0===e)return"undefined";if(30===t.returnType)return e=e.toString(2),e="00000000000000000000000000000000".substr(e.length)+e;if("number"==typeof e&&f.isWebGlConstant(e)){if(20===t.returnType){var n=t.changeCommands&&t.changeCommands[0]||"";return e=f.stringifyWebGlConstant(e,n)}return e}if(e.length&&"string"!=typeof e){for(var i=[],r=0;r<e.length;r++)i.push(e[r]);return i}return e},t}(ke),Be=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),De=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Be(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.PACK_ALIGNMENT,changeCommands:["pixelStorei"]},{constant:f.UNPACK_ALIGNMENT,changeCommands:["pixelStorei"]},{constant:f.UNPACK_COLORSPACE_CONVERSION_WEBGL,returnType:20,changeCommands:["pixelStorei"]},{constant:f.UNPACK_FLIP_Y_WEBGL,changeCommands:["pixelStorei"]},{constant:f.UNPACK_PREMULTIPLY_ALPHA_WEBGL,changeCommands:["pixelStorei"]}]},t.prototype.getWebgl2Parameters=function(){return[{constant:f.PACK_ROW_LENGTH,changeCommands:["pixelStorei"]},{constant:f.PACK_SKIP_PIXELS,changeCommands:["pixelStorei"]},{constant:f.PACK_SKIP_ROWS,changeCommands:["pixelStorei"]},{constant:f.UNPACK_IMAGE_HEIGHT,changeCommands:["pixelStorei"]},{constant:f.UNPACK_SKIP_PIXELS,changeCommands:["pixelStorei"]},{constant:f.UNPACK_SKIP_ROWS,changeCommands:["pixelStorei"]},{constant:f.UNPACK_SKIP_IMAGES,changeCommands:["pixelStorei"]}]},t.prototype.getConsumeCommands=function(){return["readPixels","texImage2D","texSubImage2D"]},t.prototype.isValidChangeCommand=function(e,t){return g[t].value===e.commandArguments[0]},t.stateName="AlignmentState",t}($e),Ue=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ge=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ue(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.BLEND,changeCommands:["enable","disable"]},{constant:f.BLEND_COLOR,changeCommands:["blendColor"]},{constant:f.BLEND_DST_ALPHA,returnType:20,changeCommands:["blendFunc","blendFuncSeparate"]},{constant:f.BLEND_DST_RGB,returnType:20,changeCommands:["blendFunc","blendFuncSeparate"]},{constant:f.BLEND_EQUATION_ALPHA,returnType:20,changeCommands:["blendEquation","blendEquationSeparate"]},{constant:f.BLEND_EQUATION_RGB,returnType:20,changeCommands:["blendEquation","blendEquationSeparate"]},{constant:f.BLEND_SRC_ALPHA,returnType:20,changeCommands:["blendFunc","blendFuncSeparate"]},{constant:f.BLEND_SRC_RGB,returnType:20,changeCommands:["blendFunc","blendFuncSeparate"]}]},t.prototype.isValidChangeCommand=function(e,t){return"enable"!==e.name&&"disable"!==e.name||e.commandArguments[0]===f.BLEND.value},t.prototype.getConsumeCommands=function(){return d},t.prototype.isStateEnable=function(e,t){return this.context.isEnabled(f.BLEND.value)},t.stateName="BlendState",t}($e),We=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),He=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return We(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.COLOR_CLEAR_VALUE,changeCommands:["clearColor"]},{constant:f.DEPTH_CLEAR_VALUE,changeCommands:["clearDepth"]},{constant:f.STENCIL_CLEAR_VALUE,changeCommands:["clearStencil"]}]},t.prototype.getConsumeCommands=function(){return["clear"]},t.prototype.isStateEnable=function(e,t){switch(e){case f.COLOR_CLEAR_VALUE.name:return f.COLOR_BUFFER_BIT.value===(t[0]&f.COLOR_BUFFER_BIT.value);case f.DEPTH_CLEAR_VALUE.name:return f.DEPTH_BUFFER_BIT.value===(t[0]&f.DEPTH_BUFFER_BIT.value);case f.STENCIL_CLEAR_VALUE.name:return f.STENCIL_BUFFER_BIT.value===(t[0]&f.STENCIL_BUFFER_BIT.value)}return!1},t.stateName="ClearState",t}($e),Ve=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Xe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ve(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.COLOR_WRITEMASK,changeCommands:["colorMask"]}]},t.prototype.getConsumeCommands=function(){return d},t.stateName="ColorState",t}($e),je=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ze=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return je(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.SAMPLE_COVERAGE_VALUE,changeCommands:["sampleCoverage"]},{constant:f.SAMPLE_COVERAGE_INVERT,changeCommands:["sampleCoverage"]}]},t.prototype.getWebgl2Parameters=function(){return[{constant:f.SAMPLE_COVERAGE,changeCommands:["enable","disable"]},{constant:f.SAMPLE_ALPHA_TO_COVERAGE,changeCommands:["enable","disable"]}]},t.prototype.isValidChangeCommand=function(e,t){return"enable"!==e.name&&"disable"!==e.name||(e.commandArguments[0]===f.SAMPLE_COVERAGE.value?t===f.SAMPLE_COVERAGE.name:e.commandArguments[0]===f.SAMPLE_ALPHA_TO_COVERAGE.value&&t===f.SAMPLE_ALPHA_TO_COVERAGE.name)},t.prototype.getConsumeCommands=function(){return d},t.prototype.isStateEnable=function(e,t){return 2===this.contextVersion&&this.context.isEnabled(f.SAMPLE_COVERAGE.value)},t.stateName="CoverageState",t}($e),Ke=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ye=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ke(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.CULL_FACE,changeCommands:["enable","disable"]},{constant:f.CULL_FACE_MODE,returnType:20,changeCommands:["cullFace"]}]},t.prototype.getConsumeCommands=function(){return d},t.prototype.isValidChangeCommand=function(e,t){return"enable"!==e.name&&"disable"!==e.name||e.commandArguments[0]===f.CULL_FACE.value},t.prototype.isStateEnable=function(e,t){return this.context.isEnabled(f.CULL_FACE.value)},t.stateName="CullState",t}($e),qe=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ze=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return qe(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.DEPTH_TEST,changeCommands:["enable","disable"]},{constant:f.DEPTH_FUNC,returnType:20,changeCommands:["depthFunc"]},{constant:f.DEPTH_RANGE,changeCommands:["depthRange"]},{constant:f.DEPTH_WRITEMASK,changeCommands:["depthMask"]}]},t.prototype.getConsumeCommands=function(){return d},t.prototype.isValidChangeCommand=function(e,t){return"enable"!==e.name&&"disable"!==e.name||e.commandArguments[0]===f.DEPTH_TEST.value},t.prototype.isStateEnable=function(e,t){return this.context.isEnabled(f.DEPTH_TEST.value)},t.stateName="DepthState",t}($e),Qe=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Je=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Qe(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.DITHER,changeCommands:["enable","disable"]},{constant:f.VIEWPORT,changeCommands:["viewPort"]},{constant:f.FRONT_FACE,returnType:20,changeCommands:["frontFace"]},{constant:f.FRAGMENT_SHADER_DERIVATIVE_HINT_OES,changeCommands:["hint"]}]},t.prototype.getWebgl2Parameters=function(){return[{constant:f.RASTERIZER_DISCARD,changeCommands:["enable","disable"]},{constant:f.FRAGMENT_SHADER_DERIVATIVE_HINT,changeCommands:["hint"]}]},t.prototype.isValidChangeCommand=function(e,t){return"enable"===e.name||"disable"===e.name?e.commandArguments[0]===f.DITHER.value?t===f.DITHER.name:e.commandArguments[0]===f.RASTERIZER_DISCARD.value&&t===f.RASTERIZER_DISCARD.name:"hint"!==e.name||(e.commandArguments[0]===f.FRAGMENT_SHADER_DERIVATIVE_HINT_OES.value?t===f.FRAGMENT_SHADER_DERIVATIVE_HINT_OES.name:e.commandArguments[0]===f.FRAGMENT_SHADER_DERIVATIVE_HINT.value&&t===f.FRAGMENT_SHADER_DERIVATIVE_HINT.name)},t.prototype.getConsumeCommands=function(){return d},t.prototype.isStateEnable=function(e,t){switch(e){case f.DITHER.name:return this.context.isEnabled(f.DITHER.value);case f.RASTERIZER_DISCARD.name:return this.context.isEnabled(f.RASTERIZER_DISCARD.value)}return!0},t.stateName="DrawState",t}($e),et=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),tt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return et(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.GENERATE_MIPMAP_HINT,changeCommands:["hint"]}]},t.prototype.getConsumeCommands=function(){return["generateMipmap"]},t.stateName="MipmapHintState",t}($e),nt=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),it=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return nt(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.POLYGON_OFFSET_FILL,changeCommands:["enable","disable"]},{constant:f.POLYGON_OFFSET_FACTOR,changeCommands:["polygonOffset"]},{constant:f.POLYGON_OFFSET_UNITS,changeCommands:["polygonOffset"]}]},t.prototype.isValidChangeCommand=function(e,t){return"enable"!==e.name&&"disable"!==e.name||e.commandArguments[0]===f.POLYGON_OFFSET_FILL.value},t.prototype.getConsumeCommands=function(){return d},t.prototype.isStateEnable=function(e,t){return this.context.isEnabled(f.POLYGON_OFFSET_FILL.value)},t.stateName="PolygonOffsetState",t}($e),rt=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ot=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return rt(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.SCISSOR_TEST,changeCommands:["enable","disable"]},{constant:f.SCISSOR_BOX,changeCommands:["scissor"]}]},t.prototype.isValidChangeCommand=function(e,t){return"enable"!==e.name&&"disable"!==e.name||e.commandArguments[0]===f.SCISSOR_TEST.value},t.prototype.getConsumeCommands=function(){return d},t.prototype.isStateEnable=function(e,t){return this.context.isEnabled(f.SCISSOR_TEST.value)},t.stateName="ScissorState",t}($e),st=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),at=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return st(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.STENCIL_TEST,changeCommands:["enable","disable"]},{constant:f.STENCIL_BACK_FAIL,returnType:20,changeCommands:["stencilOp","stencilOpSeparate"]},{constant:f.STENCIL_BACK_FUNC,returnType:20,changeCommands:["stencilFunc","stencilFuncSeparate"]},{constant:f.STENCIL_BACK_PASS_DEPTH_FAIL,returnType:20,changeCommands:["stencilOp","stencilOpSeparate"]},{constant:f.STENCIL_BACK_PASS_DEPTH_PASS,returnType:20,changeCommands:["stencilOp","stencilOpSeparate"]},{constant:f.STENCIL_BACK_REF,changeCommands:["stencilFunc","stencilFuncSeparate"]},{constant:f.STENCIL_BACK_VALUE_MASK,returnType:30,changeCommands:["stencilFunc","stencilFuncSeparate"]},{constant:f.STENCIL_BACK_WRITEMASK,returnType:30,changeCommands:["stencilMask","stencilMaskSeparate"]},{constant:f.STENCIL_FAIL,returnType:20,changeCommands:["stencilOp","stencilOpSeparate"]},{constant:f.STENCIL_FUNC,returnType:20,changeCommands:["stencilFunc","stencilFuncSeparate"]},{constant:f.STENCIL_PASS_DEPTH_FAIL,returnType:20,changeCommands:["stencilOp","stencilOpSeparate"]},{constant:f.STENCIL_PASS_DEPTH_PASS,returnType:20,changeCommands:["stencilOp","stencilOpSeparate"]},{constant:f.STENCIL_REF,changeCommands:["stencilFunc","stencilFuncSeparate"]},{constant:f.STENCIL_VALUE_MASK,returnType:30,changeCommands:["stencilFunc","stencilFuncSeparate"]},{constant:f.STENCIL_WRITEMASK,returnType:30,changeCommands:["stencilMask","stencilMaskSeparate"]}]},t.prototype.isValidChangeCommand=function(e,n){return"enable"===e.name||"disable"===e.name?e.commandArguments[0]===f.STENCIL_TEST.value:"stencilOp"===e.name||"stencilOpSeparate"===e.name?t.stencilOpStates.indexOf(e.commandArguments[0])>0:"stencilFunc"===e.name||"stencilFuncSeparate"===e.name?t.stencilFuncStates.indexOf(e.commandArguments[0])>0:"stencilMask"!==e.name&&"stencilMaskSeparate"!==e.name||t.stencilMaskStates.indexOf(e.commandArguments[0])>0},t.prototype.getConsumeCommands=function(){return d},t.prototype.isStateEnable=function(e,t){return this.context.isEnabled(f.STENCIL_TEST.value)},t.stateName="StencilState",t.stencilOpStates=[f.STENCIL_BACK_FAIL.value,f.STENCIL_BACK_PASS_DEPTH_FAIL.value,f.STENCIL_BACK_PASS_DEPTH_PASS.value,f.STENCIL_FAIL.value,f.STENCIL_PASS_DEPTH_FAIL.value,f.STENCIL_PASS_DEPTH_PASS.value],t.stencilFuncStates=[f.STENCIL_BACK_FUNC.value,f.STENCIL_BACK_REF.value,f.STENCIL_BACK_VALUE_MASK.value,f.STENCIL_FUNC.value,f.STENCIL_REF.value,f.STENCIL_VALUE_MASK.value],t.stencilMaskStates=[f.STENCIL_BACK_WRITEMASK.value,f.STENCIL_WRITEMASK.value],t}($e),ct=function(){function e(){}return e.isSupportedCombination=function(e,t,n){return e=e||f.UNSIGNED_BYTE.value,((t=t||f.RGBA.value)===f.RGB.value||t===f.RGBA.value)&&((n===f.RGB.value||n===f.RGBA.value||n===f.RGBA8.value||n===f.RGBA16F.value||n===f.RGBA32F.value||n===f.RGB16F.value||n===f.RGB32F.value||n===f.R11F_G11F_B10F.value)&&this.isSupportedComponentType(e))},e.readPixels=function(e,t,n,i,r,o){e.getError();var s,a=i*r*4;if(o===f.UNSIGNED_BYTE.value?s=new Uint8Array(a):(o=f.FLOAT.value,s=new Float32Array(a)),e.readPixels(t,n,i,r,e.RGBA,o,s),!e.getError()){if(o===f.UNSIGNED_BYTE.value)return s;for(var c=new Uint8Array(i*r*4),l=0;l<r;l++)for(var u=0;u<i;u++)c[l*i*4+4*u+0]=255*Math.min(Math.max(s[l*i*4+4*u+0],0),1),c[l*i*4+4*u+1]=255*Math.min(Math.max(s[l*i*4+4*u+1],0),1),c[l*i*4+4*u+2]=255*Math.min(Math.max(s[l*i*4+4*u+2],0),1),c[l*i*4+4*u+3]=255*Math.min(Math.max(s[l*i*4+4*u+3],0),1);return c}},e.isSupportedComponentType=function(e){return e===f.UNSIGNED_BYTE.value||e===f.UNSIGNED_SHORT_4_4_4_4.value||e===f.UNSIGNED_SHORT_5_5_5_1.value||e===f.UNSIGNED_SHORT_5_6_5.value||e===f.HALF_FLOAT.value||e===f.HALF_FLOAT_OES.value||e===f.FLOAT.value},e}(),lt=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ut=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var i=Array(e),r=0;for(t=0;t<n;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)i[r]=o[s];return i},ht=function(e){function t(t){var n=e.call(this,t)||this;return n.captureFrameBuffer=t.context.createFramebuffer(),n.workingCanvas=document.createElement("canvas"),n.workingContext2D=n.workingCanvas.getContext("2d"),n.captureCanvas=document.createElement("canvas"),n.captureContext2D=n.captureCanvas.getContext("2d"),n.captureContext2D.imageSmoothingEnabled=!0,n.captureContext2D.mozImageSmoothingEnabled=!0,n.captureContext2D.oImageSmoothingEnabled=!0,n.captureContext2D.webkitImageSmoothingEnabled=!0,n.captureContext2D.msImageSmoothingEnabled=!0,n}return lt(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),t.prototype.getConsumeCommands=function(){return ut(["clear","clearBufferfv","clearBufferiv","clearBufferuiv","clearBufferfi"],d)},t.prototype.readFromContext=function(){var e=this.context;this.currentState.Attachments=[];var t=this.context.getParameter(f.FRAMEBUFFER_BINDING.value);if(!t)return this.currentState.FrameBuffer=null,void this.getCapture(e,"Canvas COLOR_ATTACHMENT",0,0,e.drawingBufferWidth,e.drawingBufferHeight,0,0,f.UNSIGNED_BYTE.value);var n=e.getParameter(e.VIEWPORT),i=n[0],r=n[1],o=n[2],s=n[3];this.currentState.FrameBuffer=this.getSpectorData(t);var a=this.context.checkFramebufferStatus(f.FRAMEBUFFER.value);if(this.currentState.FrameBufferStatus=v[a].name,a===f.FRAMEBUFFER_COMPLETE.value)if(this.extensions[f.MAX_DRAW_BUFFERS_WEBGL.extensionName])for(var c=this.context.getParameter(f.MAX_DRAW_BUFFERS_WEBGL.value),l=0;l<c;l++)this.readFrameBufferAttachmentFromContext(this.context,t,g["COLOR_ATTACHMENT"+l+"_WEBGL"],i,r,o,s);else if(this.contextVersion>1)for(c=this.context.getParameter(f.MAX_DRAW_BUFFERS.value),l=0;l<c;l++)this.readFrameBufferAttachmentFromContext(this.context,t,g["COLOR_ATTACHMENT"+l],i,r,o,s);else this.readFrameBufferAttachmentFromContext(this.context,t,g.COLOR_ATTACHMENT0,i,r,o,s)},t.prototype.readFrameBufferAttachmentFromContext=function(e,t,n,i,r,o,s){var a=f.FRAMEBUFFER.value,c=this.context.getFramebufferAttachmentParameter(a,n.value,f.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE.value);if(c!==f.NONE.value){var l=this.context.getFramebufferAttachmentParameter(a,n.value,f.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME.value);if(l){var u=this.contextVersion>1?this.context.getFramebufferAttachmentParameter(a,n.value,f.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE.value):f.UNSIGNED_BYTE.value;c===f.RENDERBUFFER.value?this.readFrameBufferAttachmentFromRenderBuffer(e,t,n,i,r,o,s,a,u,l):c===f.TEXTURE.value&&this.readFrameBufferAttachmentFromTexture(e,t,n,i,r,o,s,a,u,l)}}},t.prototype.readFrameBufferAttachmentFromRenderBuffer=function(e,t,n,i,r,o,s,a,c,l){var u=0,h=0;if(l.__SPECTOR_Object_CustomData){var d=l.__SPECTOR_Object_CustomData;if(o=d.width,s=d.height,u=d.samples,h=d.internalFormat,!u&&!ct.isSupportedCombination(c,f.RGBA.value,h))return}if(u){var p=e,m=e.createRenderbuffer(),g=e.getParameter(e.RENDERBUFFER_BINDING);e.bindRenderbuffer(e.RENDERBUFFER,m),e.renderbufferStorage(e.RENDERBUFFER,h,o,s),e.bindRenderbuffer(e.RENDERBUFFER,g),e.bindFramebuffer(f.FRAMEBUFFER.value,this.captureFrameBuffer),e.framebufferRenderbuffer(f.FRAMEBUFFER.value,f.COLOR_ATTACHMENT0.value,f.RENDERBUFFER.value,m);var v=p.getParameter(p.READ_FRAMEBUFFER_BINDING),_=p.getParameter(p.DRAW_FRAMEBUFFER_BINDING);p.bindFramebuffer(p.READ_FRAMEBUFFER,t),p.bindFramebuffer(p.DRAW_FRAMEBUFFER,this.captureFrameBuffer),p.blitFramebuffer(0,0,o,s,0,0,o,s,e.COLOR_BUFFER_BIT,e.NEAREST),p.bindFramebuffer(f.FRAMEBUFFER.value,this.captureFrameBuffer),p.bindFramebuffer(p.READ_FRAMEBUFFER,v),p.bindFramebuffer(p.DRAW_FRAMEBUFFER,_),this.context.checkFramebufferStatus(f.FRAMEBUFFER.value)===f.FRAMEBUFFER_COMPLETE.value&&this.getCapture(e,n.name,i,r,o,s,0,0,f.UNSIGNED_BYTE.value),e.bindFramebuffer(f.FRAMEBUFFER.value,t),e.deleteRenderbuffer(m)}else{e.bindFramebuffer(f.FRAMEBUFFER.value,this.captureFrameBuffer),e.framebufferRenderbuffer(f.FRAMEBUFFER.value,f.COLOR_ATTACHMENT0.value,f.RENDERBUFFER.value,l),this.context.checkFramebufferStatus(f.FRAMEBUFFER.value)===f.FRAMEBUFFER_COMPLETE.value&&this.getCapture(e,n.name,i,r,o,s,0,0,c),e.bindFramebuffer(f.FRAMEBUFFER.value,t)}},t.prototype.readFrameBufferAttachmentFromTexture=function(e,t,n,i,r,o,s,a,c,l){var u=0;this.contextVersion>1&&(u=this.context.getFramebufferAttachmentParameter(a,n.value,f.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER.value));var h=this.context.getFramebufferAttachmentParameter(a,n.value,f.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL.value),d=this.context.getFramebufferAttachmentParameter(a,n.value,f.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE.value),p=(d>0?v[d].name:f.TEXTURE_2D.name,c);if(l.__SPECTOR_Object_CustomData){var m=l.__SPECTOR_Object_CustomData;if(o=m.width,s=m.height,p=m.type,!ct.isSupportedCombination(m.type,m.format,m.internalFormat))return}e.bindFramebuffer(f.FRAMEBUFFER.value,this.captureFrameBuffer),0===u?e.framebufferTexture2D(f.FRAMEBUFFER.value,f.COLOR_ATTACHMENT0.value,d||f.TEXTURE_2D.value,l,h):e.framebufferTextureLayer(f.FRAMEBUFFER.value,f.COLOR_ATTACHMENT0.value,l,h,u),this.context.checkFramebufferStatus(f.FRAMEBUFFER.value)===f.FRAMEBUFFER_COMPLETE.value&&this.getCapture(e,n.name,i,r,o,s,d,u,p),e.bindFramebuffer(f.FRAMEBUFFER.value,t)},t.prototype.getCapture=function(e,n,i,r,s,a,c,l,u){var h={attachmentName:n,src:null,textureCubeMapFace:c?v[c].name:null,textureLayer:l};if(!this.quickCapture)try{var d=ct.readPixels(e,i,r,s,a,u);if(d){this.workingCanvas.width=s,this.workingCanvas.height=a;var p=this.workingContext2D.createImageData(Math.ceil(s),Math.ceil(a));p.data.set(d),this.workingContext2D.putImageData(p,0,0);var m=s/a;m<1?(this.captureCanvas.width=t.captureBaseSize*m,this.captureCanvas.height=t.captureBaseSize):m>1?(this.captureCanvas.width=t.captureBaseSize,this.captureCanvas.height=t.captureBaseSize/m):(this.captureCanvas.width=t.captureBaseSize,this.captureCanvas.height=t.captureBaseSize),this.captureCanvas.width=Math.max(this.captureCanvas.width,1),this.captureCanvas.height=Math.max(this.captureCanvas.height,1),this.captureContext2D.globalCompositeOperation="copy",this.captureContext2D.scale(1,-1),this.captureContext2D.translate(0,-this.captureCanvas.height),this.captureContext2D.drawImage(this.workingCanvas,0,0,s,a,0,0,this.captureCanvas.width,this.captureCanvas.height),this.captureContext2D.setTransform(1,0,0,1,0,0),this.captureContext2D.globalCompositeOperation="source-over",h.src=this.captureCanvas.toDataURL()}}catch(e){o.warn("Spector can not capture the visual state: "+e)}this.currentState.Attachments.push(h)},t.prototype.analyse=function(e){},t.stateName="VisualState",t.captureBaseSize=256,t}(ke),dt=function(){function e(e){this.context=e.context,this.captureFrameBuffer=e.context.createFramebuffer(),this.workingCanvas=document.createElement("canvas"),this.workingContext2D=this.workingCanvas.getContext("2d"),this.captureCanvas=document.createElement("canvas"),this.captureContext2D=this.captureCanvas.getContext("2d"),this.captureContext2D.imageSmoothingEnabled=!0,this.captureContext2D.mozImageSmoothingEnabled=!0,this.captureContext2D.oImageSmoothingEnabled=!0,this.captureContext2D.webkitImageSmoothingEnabled=!0,this.captureContext2D.msImageSmoothingEnabled=!0}return e.prototype.appendTextureState=function(e,t,n){if(void 0===n&&(n=null),t){var i=t.__SPECTOR_Object_CustomData;i&&(i.type&&(e.textureType=this.getWebGlConstant(i.type)),i.format&&(e.format=this.getWebGlConstant(i.format)),i.internalFormat&&(e.internalFormat=this.getWebGlConstant(i.internalFormat)),e.width=i.width,e.height=i.height,i.depth&&(e.depth=i.depth),n&&(e.visual=this.getTextureVisualState(n,t,i)))}},e.prototype.getTextureVisualState=function(t,n,i){try{var r=this.context,o={};if(!ct.isSupportedCombination(i.type,i.format,i.internalFormat))return o;var s=this.context.getParameter(f.FRAMEBUFFER_BINDING.value);r.bindFramebuffer(f.FRAMEBUFFER.value,this.captureFrameBuffer);try{var a=i.width,c=i.height;if(t===f.TEXTURE_3D&&i.depth)for(var l=r,u=0;u<i.depth;u++)u>2&&u<i.depth-3||(l.framebufferTextureLayer(f.FRAMEBUFFER.value,f.COLOR_ATTACHMENT0.value,n,0,u),o["3D Layer "+u]=this.getCapture(r,0,0,a,c,i.type));else if(t===f.TEXTURE_2D_ARRAY&&i.depth)for(l=r,u=0;u<i.depth;u++)u>2&&u<i.depth-3||(l.framebufferTextureLayer(f.FRAMEBUFFER.value,f.COLOR_ATTACHMENT0.value,n,0,u),o["Layer "+u]=this.getCapture(r,0,0,a,c,i.type));else if(t===f.TEXTURE_CUBE_MAP)for(var h=0,d=e.cubeMapFaces;h<d.length;h++){var p=d[h];r.framebufferTexture2D(f.FRAMEBUFFER.value,f.COLOR_ATTACHMENT0.value,p.value,n,0),o[p.name]=this.getCapture(r,0,0,a,c,i.type)}else r.framebufferTexture2D(f.FRAMEBUFFER.value,f.COLOR_ATTACHMENT0.value,f.TEXTURE_2D.value,n,0),o[f.TEXTURE_2D.name]=this.getCapture(r,0,0,a,c,i.type)}catch(e){}return r.bindFramebuffer(f.FRAMEBUFFER.value,s),o}catch(e){}},e.prototype.getCapture=function(e,t,n,i,r,o){try{if(this.context.checkFramebufferStatus(f.FRAMEBUFFER.value)!==f.FRAMEBUFFER_COMPLETE.value)return;o=o||f.UNSIGNED_BYTE.value;var s=ct.readPixels(e,t,n,i,r,o);if(!s)return;this.workingCanvas.width=i,this.workingCanvas.height=r;var a=this.workingContext2D.createImageData(i,r);a.data.set(s),this.workingContext2D.putImageData(a,0,0);var c=i/r;return c<1?(this.captureCanvas.width=ht.captureBaseSize*c,this.captureCanvas.height=ht.captureBaseSize):c>1?(this.captureCanvas.width=ht.captureBaseSize,this.captureCanvas.height=ht.captureBaseSize/c):(this.captureCanvas.width=ht.captureBaseSize,this.captureCanvas.height=ht.captureBaseSize),this.captureCanvas.width=Math.max(this.captureCanvas.width,1),this.captureCanvas.height=Math.max(this.captureCanvas.height,1),this.captureContext2D.globalCompositeOperation="copy",this.captureContext2D.scale(1,-1),this.captureContext2D.translate(0,-this.captureCanvas.height),this.captureContext2D.drawImage(this.workingCanvas,0,0,i,r,0,0,this.captureCanvas.width,this.captureCanvas.height),this.captureContext2D.setTransform(1,0,0,1,0,0),this.captureContext2D.globalCompositeOperation="source-over",this.captureCanvas.toDataURL()}catch(e){}},e.prototype.getWebGlConstant=function(e){var t=v[e];return t?t.name:e+""},e.captureBaseSize=64,e.cubeMapFaces=[f.TEXTURE_CUBE_MAP_POSITIVE_X,f.TEXTURE_CUBE_MAP_POSITIVE_Y,f.TEXTURE_CUBE_MAP_POSITIVE_Z,f.TEXTURE_CUBE_MAP_NEGATIVE_X,f.TEXTURE_CUBE_MAP_NEGATIVE_Y,f.TEXTURE_CUBE_MAP_NEGATIVE_Z],e}(),pt=function(){function e(e){this.context=e.context}return e.prototype.getUboValue=function(t,n,i,r){var o=e.uboTypes[r];if(o){var s=new o.arrayBufferView(i*o.lengthMultiplier),a=this.context,c=a.getIndexedParameter(f.UNIFORM_BUFFER_BINDING.value,t);if(c){var l=a.getParameter(f.UNIFORM_BUFFER_BINDING.value);try{a.bindBuffer(f.UNIFORM_BUFFER.value,c),a.getBufferSubData(f.UNIFORM_BUFFER.value,n,s)}catch(e){return}l&&a.bindBuffer(f.UNIFORM_BUFFER.value,l)}return Array.prototype.slice.call(s)}},e.uboTypes=((_={})[f.BOOL.value]={arrayBufferView:Uint8Array,lengthMultiplier:1},_[f.BOOL_VEC2.value]={arrayBufferView:Uint8Array,lengthMultiplier:2},_[f.BOOL_VEC3.value]={arrayBufferView:Uint8Array,lengthMultiplier:3},_[f.BOOL_VEC4.value]={arrayBufferView:Uint8Array,lengthMultiplier:4},_[f.INT.value]={arrayBufferView:Int32Array,lengthMultiplier:1},_[f.INT_VEC2.value]={arrayBufferView:Int32Array,lengthMultiplier:2},_[f.INT_VEC3.value]={arrayBufferView:Int32Array,lengthMultiplier:3},_[f.INT_VEC4.value]={arrayBufferView:Int32Array,lengthMultiplier:4},_[f.UNSIGNED_INT.value]={arrayBufferView:Uint32Array,lengthMultiplier:1},_[f.UNSIGNED_INT_VEC2.value]={arrayBufferView:Uint32Array,lengthMultiplier:2},_[f.UNSIGNED_INT_VEC3.value]={arrayBufferView:Uint32Array,lengthMultiplier:3},_[f.UNSIGNED_INT_VEC4.value]={arrayBufferView:Uint32Array,lengthMultiplier:4},_[f.FLOAT.value]={arrayBufferView:Float32Array,lengthMultiplier:1},_[f.FLOAT_VEC2.value]={arrayBufferView:Float32Array,lengthMultiplier:2},_[f.FLOAT_VEC3.value]={arrayBufferView:Float32Array,lengthMultiplier:3},_[f.FLOAT_VEC4.value]={arrayBufferView:Float32Array,lengthMultiplier:4},_[f.FLOAT_MAT2.value]={arrayBufferView:Float32Array,lengthMultiplier:4},_[f.FLOAT_MAT2x3.value]={arrayBufferView:Float32Array,lengthMultiplier:6},_[f.FLOAT_MAT2x4.value]={arrayBufferView:Float32Array,lengthMultiplier:8},_[f.FLOAT_MAT3.value]={arrayBufferView:Float32Array,lengthMultiplier:9},_[f.FLOAT_MAT3x2.value]={arrayBufferView:Float32Array,lengthMultiplier:6},_[f.FLOAT_MAT3x4.value]={arrayBufferView:Float32Array,lengthMultiplier:12},_[f.FLOAT_MAT4.value]={arrayBufferView:Float32Array,lengthMultiplier:16},_[f.FLOAT_MAT4x2.value]={arrayBufferView:Float32Array,lengthMultiplier:8},_[f.FLOAT_MAT4x3.value]={arrayBufferView:Float32Array,lengthMultiplier:12},_[f.SAMPLER_2D.value]={arrayBufferView:Uint8Array,lengthMultiplier:1},_[f.SAMPLER_CUBE.value]={arrayBufferView:Uint8Array,lengthMultiplier:1},_),e}(),mt=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ft=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLBuffer"},enumerable:!0,configurable:!0}),t}(X),gt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLFramebuffer"},enumerable:!0,configurable:!0}),t}(X),vt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLProgram"},enumerable:!0,configurable:!0}),t.saveInGlobalStore=function(e){var t=V.getWebGlObjectTag(e);t&&(this.store[t.id]=e)},t.getFromGlobalStore=function(e){return this.store[e]},t.updateInGlobalStore=function(e,t){if(t){var n=this.getFromGlobalStore(e);if(n){var i=V.getWebGlObjectTag(n);i&&(V.attachWebGlObjectTag(t,i),this.store[i.id]=t)}}},t.store={},t}(X),_t=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLQuery"},enumerable:!0,configurable:!0}),t}(X),Et=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLRenderbuffer"},enumerable:!0,configurable:!0}),t}(X),Ct=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLSampler"},enumerable:!0,configurable:!0}),t}(X),At=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLShader"},enumerable:!0,configurable:!0}),t}(X),St=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLSync"},enumerable:!0,configurable:!0}),t}(X),yt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLTexture"},enumerable:!0,configurable:!0}),t}(X),Rt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLTransformFeedback"},enumerable:!0,configurable:!0}),t}(X),bt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLUniformLocation"},enumerable:!0,configurable:!0}),t}(X),Tt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mt(t,e),Object.defineProperty(t.prototype,"typeName",{get:function(){return"WebGLVertexArrayObject"},enumerable:!0,configurable:!0}),t}(X),wt=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),xt=function(e){function t(t){var n=e.call(this,t)||this;return n.drawCallTextureInputState=new dt(t),n.drawCallUboInputState=new pt(t),n}return wt(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return t.stateName},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"requireStartAndStopStates",{get:function(){return!1},enumerable:!0,configurable:!0}),t.prototype.getConsumeCommands=function(){return d},t.prototype.getChangeCommandsByState=function(){return{}},t.prototype.readFromContext=function(){var e=this.context.getParameter(f.CURRENT_PROGRAM.value);if(e){this.currentState.frameBuffer=this.readFrameBufferFromContext(),this.currentState.programStatus={program:this.getSpectorData(e),DELETE_STATUS:this.context.getProgramParameter(e,f.DELETE_STATUS.value),LINK_STATUS:this.context.getProgramParameter(e,f.LINK_STATUS.value),VALIDATE_STATUS:this.context.getProgramParameter(e,f.VALIDATE_STATUS.value),RECOMPILABLE:r.isBuildableProgram(e)},this.currentState.programStatus.RECOMPILABLE&&vt.saveInGlobalStore(e);var n=this.context.getAttachedShaders(e);this.currentState.shaders=[];for(var i=0,o=n;i<o.length;i++){var s=o[i],a=this.readShaderFromContext(s);this.currentState.shaders.push(a)}var c=this.context.getProgramParameter(e,f.ACTIVE_ATTRIBUTES.value);this.currentState.attributes=[];for(var l=0;l<c;l++){var u=this.readAttributeFromContext(e,l);this.currentState.attributes.push(u)}var h=this.context.getProgramParameter(e,f.ACTIVE_UNIFORMS.value);this.currentState.uniforms=[];var d=[];for(l=0;l<h;l++){d.push(l);var p=this.readUniformFromContext(e,l);this.currentState.uniforms.push(p)}if(this.contextVersion>1){this.readUniformsFromContextIntoState(e,d,this.currentState.uniforms);var m=this.context.getProgramParameter(e,f.ACTIVE_UNIFORM_BLOCKS.value);this.currentState.uniformBlocks=[];for(l=0;l<m;l++){var g=this.readUniformBlockFromContext(e,l);this.currentState.uniformBlocks.push(g)}if(this.context.getParameter(f.TRANSFORM_FEEDBACK_ACTIVE.value)){var v=this.context.getProgramParameter(e,f.TRANSFORM_FEEDBACK_BUFFER_MODE.value);this.currentState.transformFeedbackMode=this.getWebGlConstant(v),this.currentState.transformFeedbacks=[];var _=this.context.getProgramParameter(e,f.TRANSFORM_FEEDBACK_VARYINGS.value);for(l=0;l<_;l++){var E=this.readTransformFeedbackFromContext(e,l);this.currentState.transformFeedbacks.push(E)}}}for(l=0;l<d.length;l++){if(null!==(p=this.currentState.uniforms[l]).value&&void 0!==p.value){var C=t.samplerTypes[p.typeValue];if(C)if(p.value.length){p.textures=[];for(var A=0;A<p.value.length;A++)p.textures.push(this.readTextureFromContext(p.value[A],C))}else p.texture=this.readTextureFromContext(p.value,C)}delete p.typeValue}}},t.prototype.readFrameBufferFromContext=function(){var e=this.context.getParameter(f.FRAMEBUFFER_BINDING.value);if(!e)return null;var t={};if(t.frameBuffer=this.getSpectorData(e),this.readFrameBufferAttachmentFromContext(f.DEPTH_ATTACHMENT.value)&&(t.depthAttachment=this.readFrameBufferAttachmentFromContext(f.DEPTH_ATTACHMENT.value)),this.readFrameBufferAttachmentFromContext(f.STENCIL_ATTACHMENT.value)&&(t.stencilAttachment=this.readFrameBufferAttachmentFromContext(f.STENCIL_ATTACHMENT.value)),this.extensions[f.MAX_DRAW_BUFFERS_WEBGL.extensionName]){t.colorAttachments=[];for(var n=this.context.getParameter(f.MAX_DRAW_BUFFERS_WEBGL.value),i=0;i<n;i++){(o=this.readFrameBufferAttachmentFromContext(g["COLOR_ATTACHMENT"+i+"_WEBGL"].value))&&t.colorAttachments.push(o)}}else if(this.contextVersion>1){var r=this.context;t.colorAttachments=[];for(n=r.getParameter(f.MAX_DRAW_BUFFERS.value),i=0;i<n;i++){(o=this.readFrameBufferAttachmentFromContext(g["COLOR_ATTACHMENT"+i].value))&&t.colorAttachments.push(o)}}else{var o;(o=this.readFrameBufferAttachmentFromContext(g.COLOR_ATTACHMENT0.value))&&(t.colorAttachments=[o])}return t},t.prototype.readFrameBufferAttachmentFromContext=function(e){var t=f.FRAMEBUFFER.value,n=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE.value);if(n!==f.NONE.value){var i={},r=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME.value);if(n===f.RENDERBUFFER.value){if(i.type="RENDERBUFFER",i.buffer=this.getSpectorData(r),r){var o=r.__SPECTOR_Object_CustomData;o&&(o.internalFormat&&(i.internalFormat=this.getWebGlConstant(o.internalFormat)),i.width=o.width,i.height=o.height,i.msaaSamples=o.samples)}}else if(n===f.TEXTURE.value){i.type="TEXTURE",i.texture=this.getSpectorData(r),i.textureLevel=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL.value);var s=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE.value);i.textureCubeMapFace=this.getWebGlConstant(s),this.drawCallTextureInputState.appendTextureState(i,r)}return this.extensions.EXT_sRGB&&(i.encoding=this.getWebGlConstant(this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT.value))),this.contextVersion>1&&(i.alphaSize=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE.value),i.blueSize=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE.value),i.encoding=this.getWebGlConstant(this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING.value)),i.componentType=this.getWebGlConstant(this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE.value)),i.depthSize=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE.value),i.greenSize=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE.value),i.redSize=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_RED_SIZE.value),i.stencilSize=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE.value),n===f.TEXTURE.value&&(i.textureLayer=this.context.getFramebufferAttachmentParameter(t,e,f.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER.value))),i}},t.prototype.readShaderFromContext=function(e){var t=this.context.getShaderSource(e),n=this.getSpectorData(e),i=e&&e.__SPECTOR_Metadata&&e.__SPECTOR_Metadata.name?e.__SPECTOR_Metadata.name:this.readNameFromShaderSource(t);return i||(i=this.context.getShaderParameter(e,f.SHADER_TYPE.value)===f.FRAGMENT_SHADER.value?"Fragment":"Vertex"),{shader:n,COMPILE_STATUS:this.context.getShaderParameter(e,f.COMPILE_STATUS.value),DELETE_STATUS:this.context.getShaderParameter(e,f.DELETE_STATUS.value),SHADER_TYPE:this.getWebGlConstant(this.context.getShaderParameter(e,f.SHADER_TYPE.value)),source:t,name:i}},t.prototype.readAttributeFromContext=function(e,t){var n=this.context.getActiveAttrib(e,t),i=this.context.getAttribLocation(e,n.name);if(-1===i)return{name:n.name,size:n.size,type:this.getWebGlConstant(n.type),location:-1};var r=this.context.getVertexAttrib(i,f.CURRENT_VERTEX_ATTRIB.value),o=this.context.getVertexAttrib(i,f.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING.value),s={name:n.name,size:n.size,type:this.getWebGlConstant(n.type),location:i,offsetPointer:this.context.getVertexAttribOffset(i,f.VERTEX_ATTRIB_ARRAY_POINTER.value),bufferBinding:this.getSpectorData(o),enabled:this.context.getVertexAttrib(i,f.VERTEX_ATTRIB_ARRAY_ENABLED.value),arraySize:this.context.getVertexAttrib(i,f.VERTEX_ATTRIB_ARRAY_SIZE.value),stride:this.context.getVertexAttrib(i,f.VERTEX_ATTRIB_ARRAY_STRIDE.value),arrayType:this.getWebGlConstant(this.context.getVertexAttrib(i,f.VERTEX_ATTRIB_ARRAY_TYPE.value)),normalized:this.context.getVertexAttrib(i,f.VERTEX_ATTRIB_ARRAY_NORMALIZED.value),vertexAttrib:Array.prototype.slice.call(r)};return this.extensions[f.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE.extensionName]?s.divisor=this.context.getVertexAttrib(i,f.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE.value):this.contextVersion>1&&(s.integer=this.context.getVertexAttrib(i,f.VERTEX_ATTRIB_ARRAY_INTEGER.value),s.divisor=this.context.getVertexAttrib(i,f.VERTEX_ATTRIB_ARRAY_DIVISOR.value)),this.appendBufferCustomData(s,o),s},t.prototype.readUniformFromContext=function(e,t){var n=this.context.getActiveUniform(e,t),i=this.context.getUniformLocation(e,n.name);if(i){if(n.size>1&&n.name&&n.name.indexOf("[0]")===n.name.length-3){for(var r=[],o=0;o<n.size;o++){var s=this.context.getUniformLocation(e,n.name.replace("[0]","["+o+"]"));if(s)(a=this.context.getUniform(e,s)).length&&(a=Array.prototype.slice.call(a)),r.push({value:a})}return{name:n.name.replace("[0]",""),size:n.size,type:this.getWebGlConstant(n.type),typeValue:n.type,location:this.getSpectorData(i),values:r}}var a;return(a=this.context.getUniform(e,i)).length&&(a=Array.prototype.slice.call(a)),{name:n.name,size:n.size,type:this.getWebGlConstant(n.type),typeValue:n.type,location:this.getSpectorData(i),value:a}}return{name:n.name,size:n.size,type:this.getWebGlConstant(n.type),typeValue:n.type}},t.prototype.readTextureFromContext=function(e,t){var n=this.context.getParameter(f.ACTIVE_TEXTURE.value);this.context.activeTexture(f.TEXTURE0.value+e);var i={magFilter:this.getWebGlConstant(this.context.getTexParameter(t.value,f.TEXTURE_MAG_FILTER.value)),minFilter:this.getWebGlConstant(this.context.getTexParameter(t.value,f.TEXTURE_MIN_FILTER.value)),wrapS:this.getWebGlConstant(this.context.getTexParameter(t.value,f.TEXTURE_WRAP_S.value)),wrapT:this.getWebGlConstant(this.context.getTexParameter(t.value,f.TEXTURE_WRAP_T.value))};if(this.extensions[f.TEXTURE_MAX_ANISOTROPY_EXT.extensionName]&&(i.anisotropy=this.context.getTexParameter(t.value,f.TEXTURE_MAX_ANISOTROPY_EXT.value)),this.contextVersion>1){i.baseLevel=this.context.getTexParameter(t.value,f.TEXTURE_BASE_LEVEL.value),i.immutable=this.context.getTexParameter(t.value,f.TEXTURE_IMMUTABLE_FORMAT.value),i.immutableLevels=this.context.getTexParameter(t.value,f.TEXTURE_IMMUTABLE_LEVELS.value),i.maxLevel=this.context.getTexParameter(t.value,f.TEXTURE_IMMUTABLE_LEVELS.value);var r=this.context.getParameter(f.SAMPLER_BINDING.value);if(r){i.sampler=this.getSpectorData(r);var o=this.context;i.samplerMaxLod=o.getSamplerParameter(r,f.TEXTURE_IMMUTABLE_LEVELS.value),i.samplerMinLod=o.getSamplerParameter(r,f.TEXTURE_IMMUTABLE_LEVELS.value),i.samplerCompareFunc=this.getWebGlConstant(o.getSamplerParameter(r,f.TEXTURE_COMPARE_FUNC.value)),i.samplerCompareMode=this.getWebGlConstant(o.getSamplerParameter(r,f.TEXTURE_COMPARE_MODE.value)),i.samplerWrapS=this.getWebGlConstant(o.getSamplerParameter(r,f.TEXTURE_WRAP_S.value)),i.samplerWrapT=this.getWebGlConstant(o.getSamplerParameter(r,f.TEXTURE_WRAP_T.value)),i.samplerWrapR=this.getWebGlConstant(o.getSamplerParameter(r,f.TEXTURE_IMMUTABLE_LEVELS.value)),i.samplerMagFilter=this.getWebGlConstant(o.getSamplerParameter(r,f.TEXTURE_MAG_FILTER.value)),i.samplerMinFilter=this.getWebGlConstant(o.getSamplerParameter(r,f.TEXTURE_MIN_FILTER.value))}else i.maxLod=this.context.getTexParameter(t.value,f.TEXTURE_IMMUTABLE_LEVELS.value),i.minLod=this.context.getTexParameter(t.value,f.TEXTURE_IMMUTABLE_LEVELS.value),i.compareFunc=this.getWebGlConstant(this.context.getTexParameter(t.value,f.TEXTURE_COMPARE_FUNC.value)),i.compareMode=this.getWebGlConstant(this.context.getTexParameter(t.value,f.TEXTURE_COMPARE_MODE.value)),i.wrapR=this.getWebGlConstant(this.context.getTexParameter(t.value,f.TEXTURE_IMMUTABLE_LEVELS.value))}var s=this.getTextureStorage(t);if(s){var a=this.quickCapture?null:t;this.drawCallTextureInputState.appendTextureState(i,s,a)}return this.context.activeTexture(n),i},t.prototype.getTextureStorage=function(e){return e===f.TEXTURE_2D?this.context.getParameter(f.TEXTURE_BINDING_2D.value):e===f.TEXTURE_CUBE_MAP?this.context.getParameter(f.TEXTURE_BINDING_CUBE_MAP.value):e===f.TEXTURE_3D?this.context.getParameter(f.TEXTURE_BINDING_3D.value):e===f.TEXTURE_2D_ARRAY?this.context.getParameter(f.TEXTURE_BINDING_2D_ARRAY.value):void 0},t.prototype.readUniformsFromContextIntoState=function(e,t,n){for(var i=this.context,r=i.getActiveUniforms(e,t,f.UNIFORM_TYPE.value),o=i.getActiveUniforms(e,t,f.UNIFORM_SIZE.value),s=i.getActiveUniforms(e,t,f.UNIFORM_BLOCK_INDEX.value),a=i.getActiveUniforms(e,t,f.UNIFORM_OFFSET.value),c=i.getActiveUniforms(e,t,f.UNIFORM_ARRAY_STRIDE.value),l=i.getActiveUniforms(e,t,f.UNIFORM_MATRIX_STRIDE.value),u=i.getActiveUniforms(e,t,f.UNIFORM_IS_ROW_MAJOR.value),h=0;h<t.length;h++){var d=n[h];d.type=this.getWebGlConstant(r[h]),d.size=o[h],d.blockIndice=s[h],d.blockIndice>-1&&(d.blockName=i.getActiveUniformBlockName(e,d.blockIndice)),d.offset=a[h],d.arrayStride=c[h],d.matrixStride=l[h],d.rowMajor=u[h],d.blockIndice>-1&&(d.value=this.drawCallUboInputState.getUboValue(s[h],d.offset,d.size,r[h]))}},t.prototype.readTransformFeedbackFromContext=function(e,t){var n=this.context,i=n.getTransformFeedbackVarying(e,t),r=n.getIndexedParameter(f.TRANSFORM_FEEDBACK_BUFFER_BINDING.value,t),o={name:i.name,size:i.size,type:this.getWebGlConstant(i.type),buffer:this.getSpectorData(r),bufferSize:n.getIndexedParameter(f.TRANSFORM_FEEDBACK_BUFFER_SIZE.value,t),bufferStart:n.getIndexedParameter(f.TRANSFORM_FEEDBACK_BUFFER_START.value,t)};return this.appendBufferCustomData(o,r),o},t.prototype.readUniformBlockFromContext=function(e,t){var n=this.context,i=n.getActiveUniformBlockParameter(e,t,f.UNIFORM_BLOCK_BINDING.value),r=n.getIndexedParameter(f.UNIFORM_BUFFER_BINDING.value,i),o={name:n.getActiveUniformBlockName(e,t),bindingPoint:i,size:n.getActiveUniformBlockParameter(e,t,f.UNIFORM_BLOCK_DATA_SIZE.value),activeUniformCount:n.getActiveUniformBlockParameter(e,t,f.UNIFORM_BLOCK_ACTIVE_UNIFORMS.value),vertex:n.getActiveUniformBlockParameter(e,t,f.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER.value),fragment:n.getActiveUniformBlockParameter(e,t,f.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER.value),buffer:this.getSpectorData(r)};return this.appendBufferCustomData(o,r),o},t.prototype.appendBufferCustomData=function(e,t){if(t){var n=t.__SPECTOR_Object_CustomData;n&&(n.usage&&(e.bufferUsage=this.getWebGlConstant(n.usage)),e.bufferLength=n.length,n.offset&&(e.bufferOffset=n.offset),n.sourceLength&&(e.bufferSourceLength=n.sourceLength))}},t.prototype.getWebGlConstant=function(e){var t=v[e];return t?t.name:e},t.prototype.readNameFromShaderSource=function(e){try{var t="",n=void 0,i=/#define[\s]+SHADER_NAME[\s]+([\S]+)(\n|$)/gi;if(null!==(n=i.exec(e))&&(n.index===i.lastIndex&&i.lastIndex++,t=n[1]),""===t){var r=/#define[\s]+SHADER_NAME_B64[\s]+([\S]+)(\n|$)/gi;null!==(n=r.exec(e))&&(n.index===r.lastIndex&&r.lastIndex++,t=n[1]),t&&(t=decodeURIComponent(atob(t)))}return t}catch(e){return null}},t.stateName="DrawCall",t.samplerTypes=((E={})[f.SAMPLER_2D.value]=f.TEXTURE_2D,E[f.SAMPLER_CUBE.value]=f.TEXTURE_CUBE_MAP,E[f.SAMPLER_3D.value]=f.TEXTURE_3D,E[f.SAMPLER_2D_SHADOW.value]=f.TEXTURE_2D,E[f.SAMPLER_2D_ARRAY.value]=f.TEXTURE_2D_ARRAY,E[f.SAMPLER_2D_ARRAY_SHADOW.value]=f.TEXTURE_2D_ARRAY,E[f.SAMPLER_CUBE_SHADOW.value]=f.TEXTURE_CUBE_MAP,E[f.INT_SAMPLER_2D.value]=f.TEXTURE_2D,E[f.INT_SAMPLER_3D.value]=f.TEXTURE_3D,E[f.INT_SAMPLER_CUBE.value]=f.TEXTURE_CUBE_MAP,E[f.INT_SAMPLER_2D_ARRAY.value]=f.TEXTURE_2D_ARRAY,E[f.UNSIGNED_INT_SAMPLER_2D.value]=f.TEXTURE_2D,E[f.UNSIGNED_INT_SAMPLER_3D.value]=f.TEXTURE_3D,E[f.UNSIGNED_INT_SAMPLER_CUBE.value]=f.TEXTURE_CUBE_MAP,E[f.UNSIGNED_INT_SAMPLER_2D_ARRAY.value]=f.TEXTURE_2D_ARRAY,E),t}(ke),Lt=function(){function e(e){this.contextInformation=e,this.stateTrackers=[],this.onCommandCapturedCallbacks={},this.initStateTrackers()}return e.prototype.startCapture=function(e,t){for(var n=0,i=this.stateTrackers;n<i.length;n++){var r=i[n],o=r.startCapture(!0,t);r.requireStartAndStopStates&&(e.initState[r.stateName]=o)}},e.prototype.stopCapture=function(e){for(var t=0,n=this.stateTrackers;t<n.length;t++){var i=n[t],r=i.stopCapture();i.requireStartAndStopStates&&(e.endState[i.stateName]=r)}},e.prototype.captureState=function(e){var t=this.onCommandCapturedCallbacks[e.name];if(t)for(var n=0,i=t;n<i.length;n++){(0,i[n])(e)}},e.prototype.initStateTrackers=function(){this.stateTrackers.push(new De(this.contextInformation),new Ge(this.contextInformation),new He(this.contextInformation),new Xe(this.contextInformation),new ze(this.contextInformation),new Ye(this.contextInformation),new Ze(this.contextInformation),new Je(this.contextInformation),new tt(this.contextInformation),new it(this.contextInformation),new ot(this.contextInformation),new at(this.contextInformation),new ht(this.contextInformation),new xt(this.contextInformation));for(var e=0,t=this.stateTrackers;e<t.length;e++){t[e].registerCallbacks(this.onCommandCapturedCallbacks)}},e}(),Ft=function(){function e(t){this.options=t,this.createCommandNames=this.getCreateCommandNames(),this.updateCommandNames=this.getUpdateCommandNames(),this.deleteCommandNames=this.getDeleteCommandNames(),this.startTime=a.now,this.memoryPerSecond={},this.totalMemory=0,this.frameMemory=0,this.capturing=!1,e.initializeByteSizeFormat()}return e.initializeByteSizeFormat=function(){var e;this.byteSizePerInternalFormat||(this.byteSizePerInternalFormat=((e={})[f.R8.value]=1,e[f.R16F.value]=2,e[f.R32F.value]=4,e[f.R8UI.value]=1,e[f.RG8.value]=2,e[f.RG16F.value]=4,e[f.RG32F.value]=8,e[f.ALPHA.value]=1,e[f.RGB.value]=3,e[f.RGBA.value]=4,e[f.LUMINANCE.value]=1,e[f.LUMINANCE_ALPHA.value]=2,e[f.DEPTH_COMPONENT.value]=1,e[f.DEPTH_STENCIL.value]=2,e[f.SRGB_EXT.value]=3,e[f.SRGB_ALPHA_EXT.value]=4,e[f.RGB8.value]=3,e[f.SRGB8.value]=3,e[f.RGB565.value]=2,e[f.R11F_G11F_B10F.value]=4,e[f.RGB9_E5.value]=2,e[f.RGB16F.value]=6,e[f.RGB32F.value]=12,e[f.RGB8UI.value]=3,e[f.RGBA8.value]=4,e[f.RGB5_A1.value]=2,e[f.RGBA16F.value]=8,e[f.RGBA32F.value]=16,e[f.RGBA8UI.value]=4,e[f.COMPRESSED_R11_EAC.value]=4,e[f.COMPRESSED_SIGNED_R11_EAC.value]=4,e[f.COMPRESSED_RG11_EAC.value]=4,e[f.COMPRESSED_SIGNED_RG11_EAC.value]=4,e[f.COMPRESSED_RGB8_ETC2.value]=4,e[f.COMPRESSED_RGBA8_ETC2_EAC.value]=4,e[f.COMPRESSED_SRGB8_ETC2.value]=4,e[f.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC.value]=4,e[f.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2.value]=4,e[f.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2.value]=4,e))},e.prototype.registerCallbacks=function(e){for(var t=0,n=this.createCommandNames;t<n.length;t++){e[a=n[t]]=e[a]||[],e[a].push(this.createWithoutSideEffects.bind(this))}for(var i=0,r=this.updateCommandNames;i<r.length;i++){e[a=r[i]]=e[a]||[],e[a].push(this.updateWithoutSideEffects.bind(this))}for(var o=0,s=this.deleteCommandNames;o<s.length;o++){var a;e[a=s[o]]=e[a]||[],e[a].push(this.deleteWithoutSideEffects.bind(this))}},e.prototype.startCapture=function(){this.frameMemory=0,this.capturing=!0},e.prototype.stopCapture=function(){this.frameMemory=0,this.capturing=!1},e.prototype.appendRecordedInformation=function(e){e.frameMemory[this.objectName]=this.frameMemory,e.memory[this.objectName]=this.memoryPerSecond},e.prototype.create=function(e){},e.prototype.createWithoutSideEffects=function(e){this.options.toggleCapture(!1),this.create(e),this.options.toggleCapture(!0)},e.prototype.updateWithoutSideEffects=function(e){if(e&&0!==e.arguments.length){this.options.toggleCapture(!1);var t=e.arguments[0],n=this.getBoundInstance(t);if(n)if(V.getWebGlObjectTag(n)){var i=this.getWebGlConstant(t),r=this.update(e,i,n);this.changeMemorySize(r),this.options.toggleCapture(!0)}else this.options.toggleCapture(!0);else this.options.toggleCapture(!0)}},e.prototype.deleteWithoutSideEffects=function(e){if(e&&e.arguments&&!(e.arguments.length<1)){var t=e.arguments[0];if(t){this.options.toggleCapture(!1);var n=this.delete(t);this.changeMemorySize(-n),this.options.toggleCapture(!0)}}},e.prototype.changeMemorySize=function(e){this.totalMemory+=e,this.capturing&&(this.frameMemory+=e);var t=a.now-this.startTime,n=Math.round(t/1e3);this.memoryPerSecond[n]=this.totalMemory},e.prototype.getWebGlConstant=function(e){var t=v[e];return t?t.name:e+""},e.prototype.getByteSizeForInternalFormat=function(t){return e.byteSizePerInternalFormat[t]||4},e}(),It=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ot=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return It(t,e),Object.defineProperty(t.prototype,"objectName",{get:function(){return"Buffer"},enumerable:!0,configurable:!0}),t.prototype.getCreateCommandNames=function(){return["createBuffer"]},t.prototype.getUpdateCommandNames=function(){return["bufferData"]},t.prototype.getDeleteCommandNames=function(){return["deleteBuffer"]},t.prototype.getBoundInstance=function(e){var t=this.options.context;return e===f.ARRAY_BUFFER.value?t.getParameter(f.ARRAY_BUFFER_BINDING.value):e===f.ELEMENT_ARRAY_BUFFER.value?t.getParameter(f.ELEMENT_ARRAY_BUFFER_BINDING.value):e===f.COPY_READ_BUFFER.value?t.getParameter(f.COPY_READ_BUFFER_BINDING.value):e===f.COPY_WRITE_BUFFER.value?t.getParameter(f.COPY_WRITE_BUFFER_BINDING.value):e===f.TRANSFORM_FEEDBACK_BUFFER.value?t.getParameter(f.TRANSFORM_FEEDBACK_BUFFER_BINDING.value):e===f.UNIFORM_BUFFER.value?t.getParameter(f.UNIFORM_BUFFER_BINDING.value):e===f.PIXEL_PACK_BUFFER.value?t.getParameter(f.PIXEL_PACK_BUFFER_BINDING.value):e===f.PIXEL_UNPACK_BUFFER.value?t.getParameter(f.PIXEL_UNPACK_BUFFER_BINDING.value):void 0},t.prototype.delete=function(e){var t=e.__SPECTOR_Object_CustomData;return t?t.length:0},t.prototype.update=function(e,t,n){var i=this.getCustomData(t,e);if(!i)return 0;var r=n.__SPECTOR_Object_CustomData?n.__SPECTOR_Object_CustomData.length:0;return n.__SPECTOR_Object_CustomData=i,i.length-r},t.prototype.getCustomData=function(e,t){var n=this.getLength(t);return t.arguments.length>=4?{target:e,length:n,usage:t.arguments[2],offset:t.arguments[3],sourceLength:t.arguments[1]?t.arguments[1].length:-1}:3===t.arguments.length?{target:e,length:n,usage:t.arguments[2]}:void 0},t.prototype.getLength=function(e){var t=-1,n=0;return 5===e.arguments.length&&(t=e.arguments[4],n=e.arguments[3]),t<=0&&(t="number"==typeof e.arguments[1]?e.arguments[1]:e.arguments[1]&&(e.arguments[1].byteLength||e.arguments[1].length)||0),t-n},t}(Ft),Mt=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Nt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Mt(t,e),Object.defineProperty(t.prototype,"objectName",{get:function(){return"Renderbuffer"},enumerable:!0,configurable:!0}),t.prototype.getCreateCommandNames=function(){return["createRenderbuffer"]},t.prototype.getUpdateCommandNames=function(){return["renderbufferStorage","renderbufferStorageMultisample"]},t.prototype.getDeleteCommandNames=function(){return["deleteRenderbuffer"]},t.prototype.getBoundInstance=function(e){var t=this.options.context;if(e===f.RENDERBUFFER.value)return t.getParameter(f.RENDERBUFFER_BINDING.value)},t.prototype.delete=function(e){var t=e.__SPECTOR_Object_CustomData;return t?t.length:0},t.prototype.update=function(e,t,n){var i=this.getCustomData(e,t);if(!i)return 0;var r=n.__SPECTOR_Object_CustomData?n.__SPECTOR_Object_CustomData.length:0;return i.length=i.width*i.height*this.getByteSizeForInternalFormat(i.internalFormat),n.__SPECTOR_Object_CustomData=i,i.length-r},t.prototype.getCustomData=function(e,t){return 4===e.arguments.length?{target:t,internalFormat:e.arguments[1],width:e.arguments[2],height:e.arguments[3],length:0,samples:0}:{target:t,internalFormat:e.arguments[2],width:e.arguments[3],height:e.arguments[4],length:0,samples:e.arguments[1]}},t}(Ft),kt=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Pt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return kt(t,e),Object.defineProperty(t.prototype,"objectName",{get:function(){return"Texture2d"},enumerable:!0,configurable:!0}),t.prototype.getCreateCommandNames=function(){return["createTexture"]},t.prototype.getUpdateCommandNames=function(){return["texImage2D","compressedTexImage2D","texStorage2D"]},t.prototype.getDeleteCommandNames=function(){return["deleteTexture"]},t.prototype.getBoundInstance=function(e){var t=this.options.context;return e===f.TEXTURE_2D.value?t.getParameter(f.TEXTURE_BINDING_2D.value):e===f.TEXTURE_CUBE_MAP_POSITIVE_X.value||e===f.TEXTURE_CUBE_MAP_POSITIVE_Y.value||e===f.TEXTURE_CUBE_MAP_POSITIVE_Z.value||e===f.TEXTURE_CUBE_MAP_NEGATIVE_X.value||e===f.TEXTURE_CUBE_MAP_NEGATIVE_Y.value||e===f.TEXTURE_CUBE_MAP_NEGATIVE_Z.value?t.getParameter(f.TEXTURE_BINDING_CUBE_MAP.value):void 0},t.prototype.delete=function(e){var t=e.__SPECTOR_Object_CustomData;return t?t.target===f.TEXTURE_2D_ARRAY.name||t.target===f.TEXTURE_3D.name?0:t.length:0},t.prototype.update=function(e,t,n){if(e.arguments.length>=2&&0!==e.arguments[1])return 0;var i=this.getCustomData(e,t,n);if(!i)return 0;var r=n.__SPECTOR_Object_CustomData?n.__SPECTOR_Object_CustomData.length:0,o="TEXTURE_2D"===t?1:6;return i.length=i.width*i.height*o*this.getByteSizeForInternalFormat(i.internalFormat),n.__SPECTOR_Object_CustomData=i,i.length-r},t.prototype.getCustomData=function(e,t,n){return"texImage2D"===e.name?this.getTexImage2DCustomData(e,t,n):"compressedTexImage2D"===e.name?this.getCompressedTexImage2DCustomData(e,t,n):"texStorage2D"===e.name?this.getTexStorage2DCustomData(e,t,n):void 0},t.prototype.getTexStorage2DCustomData=function(e,t,n){var i;return 5===e.arguments.length&&(i={target:t,internalFormat:e.arguments[2],width:e.arguments[3],height:e.arguments[4],length:0}),i},t.prototype.getCompressedTexImage2DCustomData=function(e,t,n){var i;if(0===e.arguments[1])return e.arguments.length>=7&&(i={target:t,internalFormat:e.arguments[2],width:e.arguments[3],height:e.arguments[4],length:0}),i},t.prototype.getTexImage2DCustomData=function(e,t,n){var i;if(0===e.arguments[1])return e.arguments.length>=8?i={target:t,internalFormat:e.arguments[2],width:e.arguments[3],height:e.arguments[4],format:e.arguments[6],type:e.arguments[7],length:0}:6===e.arguments.length&&(i={target:t,internalFormat:e.arguments[2],width:e.arguments[5].width,height:e.arguments[5].height,format:e.arguments[3],type:e.arguments[4],length:0}),i},t}(Ft),$t=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Bt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return $t(t,e),Object.defineProperty(t.prototype,"objectName",{get:function(){return"Texture3d"},enumerable:!0,configurable:!0}),t.prototype.getCreateCommandNames=function(){return["createTexture"]},t.prototype.getUpdateCommandNames=function(){return["texImage3D","compressedTexImage3D","texStorage3D"]},t.prototype.getDeleteCommandNames=function(){return["deleteTexture"]},t.prototype.getBoundInstance=function(e){var t=this.options.context;return e===f.TEXTURE_2D_ARRAY.value?t.getParameter(f.TEXTURE_BINDING_2D_ARRAY.value):e===f.TEXTURE_3D.value?t.getParameter(f.TEXTURE_BINDING_3D.value):void 0},t.prototype.delete=function(e){var t=e.__SPECTOR_Object_CustomData;return t?t.target!==f.TEXTURE_2D_ARRAY.name&&t.target!==f.TEXTURE_3D.name?0:t.length:0},t.prototype.update=function(e,t,n){if(e.arguments.length>=2&&0!==e.arguments[1])return 0;var i=this.getCustomData(e,t,n);if(!i)return 0;var r=n.__SPECTOR_Object_CustomData?n.__SPECTOR_Object_CustomData.length:0;return i.length=i.width*i.height*i.depth*this.getByteSizeForInternalFormat(i.internalFormat),i&&(n.__SPECTOR_Object_CustomData=i),i.length-r},t.prototype.getCustomData=function(e,t,n){return"texImage3D"===e.name?this.getTexImage3DCustomData(e,t,n):"compressedTexImage3D"===e.name?this.getCompressedTexImage3DCustomData(e,t,n):"texStorage3D"===e.name?this.getTexStorage3DCustomData(e,t,n):void 0},t.prototype.getTexStorage3DCustomData=function(e,t,n){var i;return 6===e.arguments.length&&(i={target:t,internalFormat:e.arguments[2],width:e.arguments[3],height:e.arguments[4],depth:e.arguments[5],length:0}),i},t.prototype.getCompressedTexImage3DCustomData=function(e,t,n){var i;if(0===e.arguments[1])return e.arguments.length>=8&&(i={target:t,internalFormat:e.arguments[2],width:e.arguments[3],height:e.arguments[4],depth:e.arguments[5],length:0}),i},t.prototype.getTexImage3DCustomData=function(e,t,n){var i;if(0===e.arguments[1])return e.arguments.length>=9&&(i={target:t,internalFormat:e.arguments[2],width:e.arguments[3],height:e.arguments[4],depth:e.arguments[5],format:e.arguments[7],type:e.arguments[8],length:0}),i},t}(Ft),Dt=function(){function e(e){this.contextInformation=e,this.onCommandCallbacks={},this.recorders=[],this.initRecorders()}return e.prototype.recordCommand=function(e){var t=this.onCommandCallbacks[e.name];if(t)for(var n=0,i=t;n<i.length;n++){(0,i[n])(e)}},e.prototype.startCapture=function(){for(var e=0,t=this.recorders;e<t.length;e++){t[e].startCapture()}},e.prototype.stopCapture=function(){for(var e=0,t=this.recorders;e<t.length;e++){t[e].stopCapture()}},e.prototype.appendRecordedInformation=function(e){for(var t=0,n=this.recorders;t<n.length;t++){n[t].appendRecordedInformation(e)}},e.prototype.initRecorders=function(){this.recorders.push(new Ot(this.contextInformation),new Nt(this.contextInformation),new Pt(this.contextInformation),new Bt(this.contextInformation));for(var e=0,t=this.recorders;e<t.length;e++){t[e].registerCallbacks(this.onCommandCallbacks)}},e}(),Ut=function(){function e(e){this.contextInformation=e,this.webGlObjects=[],this.initWebglObjects()}return e.prototype.tagWebGlObjects=function(e){for(var t=0,n=this.webGlObjects;t<n.length;t++){for(var i=n[t],r=0;r<e.arguments.length;r++){var o=e.arguments[r];if(i.tagWebGlObject(o))break}if(i.tagWebGlObject(e.result))break}},e.prototype.tagWebGlObject=function(e){for(var t=0,n=this.webGlObjects;t<n.length;t++){var i=n[t].tagWebGlObject(e);if(i)return i}},e.prototype.initWebglObjects=function(){this.webGlObjects.push(new ft,new gt,new vt,new _t,new Et,new Ct,new St,new yt,new Rt,new bt,new Tt,new At)},e}(),Gt=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Wt=function(e){function t(t){var n=e.call(this,t)||this;return n.extensionDefinition=[[{name:"ANGLE_instanced_arrays",description:""},{name:"EXT_blend_minmax",description:""},{name:"EXT_color_buffer_float",description:""},{name:"EXT_color_buffer_half_float",description:""},{name:"EXT_disjoint_timer_query",description:""},{name:"EXT_frag_depth",description:""},{name:"EXT_sRGB",description:""},{name:"EXT_shader_texture_lod",description:""},{name:"EXT_texture_filter_anisotropic",description:""},{name:"OES_element_index_uint",description:""},{name:"OES_standard_derivatives",description:""},{name:"OES_texture_float",description:""},{name:"OES_texture_float_linear",description:""},{name:"OES_texture_half_float",description:""},{name:"OES_texture_half_float_linear",description:""},{name:"OES_vertex_array_object",description:""},{name:"WEBGL_color_buffer_float",description:""},{name:"WEBGL_compressed_texture_astc",description:""},{name:"WEBGL_compressed_texture_atc",description:""},{name:"WEBGL_compressed_texture_etc",description:""},{name:"WEBGL_compressed_texture_etc1",description:""},{name:"WEBGL_compressed_texture_pvrtc",description:""},{name:"WEBGL_compressed_texture_s3tc",description:""},{name:"WEBGL_depth_texture",description:""},{name:"WEBGL_draw_buffers",description:""}],[{name:"EXT_color_buffer_float",description:""},{name:"EXT_disjoint_timer_query",description:""},{name:"EXT_disjoint_timer_query_webgl2",description:""},{name:"EXT_texture_filter_anisotropic",description:""},{name:"OES_texture_float_linear",description:""},{name:"WEBGL_compressed_texture_astc",description:""},{name:"WEBGL_compressed_texture_atc",description:""},{name:"WEBGL_compressed_texture_etc",description:""},{name:"WEBGL_compressed_texture_etc1",description:""},{name:"WEBGL_compressed_texture_pvrtc",description:""},{name:"WEBGL_compressed_texture_s3tc",description:""}]],n.currentState=n.startCapture(!0,n.quickCapture),n}return Gt(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return"Extensions"},enumerable:!0,configurable:!0}),t.prototype.getExtensions=function(){return this.extensions},t.prototype.readFromContext=function(){for(var e=0,t=1===this.contextVersion?this.extensionDefinition[0]:this.extensionDefinition[1];e<t.length;e++){var n=t[e],i=this.context.getExtension(n.name);i?(this.currentState[n.name]=!0,this.extensions[n.name]=i):this.currentState[n.name]=!1}},t}(ke),Ht=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Vt=function(e){function t(t){var n=e.call(this,t)||this;return n.currentState=n.startCapture(!0,n.quickCapture),n}return Ht(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return"CompressedTextures"},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.COMPRESSED_TEXTURE_FORMATS}]},t.prototype.stringifyParameterValue=function(e,t){for(var n=[],i=0,r=e;i<r.length;i++){var o=r[i];n.push(f.stringifyWebGlConstant(o,"getParameter"))}return n},t}($e),Xt=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),jt=function(e){function t(t){var n=e.call(this,t)||this;return n.currentState=n.startCapture(!0,n.quickCapture),n}return Xt(t,e),Object.defineProperty(t.prototype,"stateName",{get:function(){return"Capabilities"},enumerable:!0,configurable:!0}),t.prototype.getWebgl1Parameters=function(){return[{constant:f.RENDERER},{constant:f.VENDOR},{constant:f.VERSION},{constant:f.SHADING_LANGUAGE_VERSION},{constant:f.SAMPLES},{constant:f.SAMPLE_BUFFERS},{constant:f.RED_BITS},{constant:f.GREEN_BITS},{constant:f.BLUE_BITS},{constant:f.ALPHA_BITS},{constant:f.DEPTH_BITS},{constant:f.STENCIL_BITS},{constant:f.SUBPIXEL_BITS},{constant:f.LINE_WIDTH},{constant:f.ALIASED_LINE_WIDTH_RANGE},{constant:f.ALIASED_POINT_SIZE_RANGE},{constant:f.IMPLEMENTATION_COLOR_READ_FORMAT,returnType:20},{constant:f.IMPLEMENTATION_COLOR_READ_TYPE,returnType:20},{constant:f.MAX_COMBINED_TEXTURE_IMAGE_UNITS},{constant:f.MAX_CUBE_MAP_TEXTURE_SIZE},{constant:f.MAX_FRAGMENT_UNIFORM_VECTORS},{constant:f.MAX_RENDERBUFFER_SIZE},{constant:f.MAX_TEXTURE_IMAGE_UNITS},{constant:f.MAX_TEXTURE_SIZE},{constant:f.MAX_VARYING_VECTORS},{constant:f.MAX_VERTEX_ATTRIBS},{constant:f.MAX_VERTEX_TEXTURE_IMAGE_UNITS},{constant:f.MAX_VERTEX_UNIFORM_VECTORS},{constant:f.MAX_VIEWPORT_DIMS},{constant:f.MAX_TEXTURE_MAX_ANISOTROPY_EXT},{constant:f.MAX_COLOR_ATTACHMENTS_WEBGL},{constant:f.MAX_DRAW_BUFFERS_WEBGL}]},t.prototype.getWebgl2Parameters=function(){return[{constant:f.MAX_3D_TEXTURE_SIZE},{constant:f.MAX_ARRAY_TEXTURE_LAYERS},{constant:f.MAX_CLIENT_WAIT_TIMEOUT_WEBGL},{constant:f.MAX_COLOR_ATTACHMENTS},{constant:f.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS},{constant:f.MAX_COMBINED_UNIFORM_BLOCKS},{constant:f.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS},{constant:f.MAX_DRAW_BUFFERS},{constant:f.MAX_ELEMENT_INDEX},{constant:f.MAX_ELEMENTS_INDICES},{constant:f.MAX_ELEMENTS_VERTICES},{constant:f.MAX_FRAGMENT_INPUT_COMPONENTS},{constant:f.MAX_FRAGMENT_UNIFORM_BLOCKS},{constant:f.MAX_FRAGMENT_UNIFORM_COMPONENTS},{constant:f.MAX_PROGRAM_TEXEL_OFFSET},{constant:f.MAX_SAMPLES},{constant:f.MAX_SERVER_WAIT_TIMEOUT},{constant:f.MAX_TEXTURE_LOD_BIAS},{constant:f.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS},{constant:f.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS},{constant:f.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS},{constant:f.MAX_UNIFORM_BLOCK_SIZE},{constant:f.MAX_UNIFORM_BUFFER_BINDINGS},{constant:f.MAX_VARYING_COMPONENTS},{constant:f.MAX_VERTEX_OUTPUT_COMPONENTS},{constant:f.MAX_VERTEX_UNIFORM_BLOCKS},{constant:f.MAX_VERTEX_UNIFORM_COMPONENTS},{constant:f.MIN_PROGRAM_TEXEL_OFFSET}]},t}($e),zt=function(){function e(e){this.options=e,this.commandId=0,this.context=e.context,this.version=e.version,this.onMaxCommand=new s,this.capturing=!1,this.globalCapturing=!0,this.contextInformation={context:this.context,contextVersion:this.version,toggleCapture:this.toggleGlobalCapturing.bind(this),tagWebGlObject:this.tagWebGlObject.bind(this),extensions:{}},this.commandSpies={},this.stateSpy=new Lt(this.contextInformation),this.recorderSpy=new Dt(this.contextInformation),this.webGlObjectSpy=new Ut(this.contextInformation),this.analyser=new G(this.contextInformation),this.initStaticCapture(),e.recordAlways&&this.spy()}return e.prototype.spy=function(){this.spyContext(this.context);var e=this.contextInformation.extensions;for(var t in e)e.hasOwnProperty(t)&&this.spyContext(e[t])},e.prototype.unSpy=function(){for(var e in this.commandSpies)this.commandSpies.hasOwnProperty(e)&&this.commandSpies[e].unSpy()},e.prototype.startCapture=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=a.now;this.maxCommands=e,this.options.recordAlways||this.spy(),this.capturing=!0,this.commandId=0,this.currentCapture={canvas:this.canvasCapture,context:this.contextCapture,commands:[],initState:{},endState:{},startTime:n,listenCommandsStartTime:0,listenCommandsEndTime:0,endTime:0,analyses:[],frameMemory:{},memory:{}},this.currentCapture.canvas.width=this.context.canvas.width,this.currentCapture.canvas.height=this.context.canvas.height,this.currentCapture.canvas.clientWidth=this.context.canvas.clientWidth||this.context.canvas.width,this.currentCapture.canvas.clientHeight=this.context.canvas.clientHeight||this.context.canvas.height,this.stateSpy.startCapture(this.currentCapture,t),this.recorderSpy.startCapture(),this.currentCapture.listenCommandsStartTime=a.now},e.prototype.stopCapture=function(){var e=a.now;return this.options.recordAlways||this.unSpy(),this.capturing=!1,this.stateSpy.stopCapture(this.currentCapture),this.recorderSpy.stopCapture(),this.currentCapture.listenCommandsEndTime=e,this.currentCapture.endTime=a.now,this.recorderSpy.appendRecordedInformation(this.currentCapture),this.analyser.appendAnalyses(this.currentCapture),this.currentCapture},e.prototype.isCapturing=function(){return this.globalCapturing&&this.capturing},e.prototype.setMarker=function(e){this.marker=e},e.prototype.clearMarker=function(){this.marker=null},e.prototype.getNextCommandCaptureId=function(){return this.commandId++},e.prototype.onCommand=function(e,t){if(this.globalCapturing&&(this.webGlObjectSpy.tagWebGlObjects(t),this.recorderSpy.recordCommand(t),this.isCapturing())){var n=e.createCapture(t,this.getNextCommandCaptureId(),this.marker);this.stateSpy.captureState(n),this.currentCapture.commands.push(n),n.endTime=a.now,this.maxCommands>0&&this.currentCapture.commands.length===this.maxCommands&&this.onMaxCommand.trigger(this)}},e.prototype.spyContext=function(t){var n=[];for(var i in t)i&&n.push(i);for(var r=0;r<n.length;r++){i=n[r];if(!~e.unSpyableMembers.indexOf(i))try{"number"!=typeof t[i]&&this.spyFunction(i,t)}catch(e){o.error("Cant Spy member: "+i),o.error(e)}}},e.prototype.initStaticCapture=function(){var e=new Wt(this.contextInformation),t=e.getExtensions();for(var n in t)t.hasOwnProperty(n)&&(this.contextInformation.extensions[n]=t[n]);var i=new jt(this.contextInformation),r=new Vt(this.contextInformation);this.contextCapture={version:this.version,contextAttributes:this.context.getContextAttributes(),capabilities:i.getStateData(),extensions:e.getStateData(),compressedTextures:r.getStateData()},this.canvasCapture={width:this.context.canvas.width,height:this.context.canvas.height,clientWidth:this.context.canvas.clientWidth||this.context.canvas.width,clientHeight:this.context.canvas.clientHeight||this.context.canvas.height,browserAgent:navigator?navigator.userAgent:""}},e.prototype.spyFunction=function(e,t){if(0!==e.indexOf("__SPECTOR_Origin_")){if(!this.commandSpies[e]){var n=function(e,t){var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=e[i]);for(var i in t)n.hasOwnProperty(i)||(n[i]=t[i]);return n}(this.contextInformation,{spiedCommandName:e,spiedCommandRunningContext:t,callback:this.onCommand.bind(this)});this.commandSpies[e]=new Ne(n)}this.commandSpies[e].spy()}},e.prototype.toggleGlobalCapturing=function(e){this.globalCapturing=e},e.prototype.tagWebGlObject=function(e){return this.webGlObjectSpy.tagWebGlObject(e)},e.unSpyableMembers=["canvas","drawingBufferWidth","drawingBufferHeight","glp"],e}(),Kt=function(){function e(t){this.spiedWindow=t||window,this.lastFrame=0,this.speedRatio=1,this.willPlayNextFrame=!1,this.onFrameStart=new s,this.onFrameEnd=new s,this.onError=new s,this.lastSixtyFramesDuration=[],this.lastSixtyFramesCurrentIndex=0,this.lastSixtyFramesPreviousStart=0;for(var n=0;n<e.fpsWindowSize;n++)this.lastSixtyFramesDuration[n]=0;this.init()}return e.prototype.playNextFrame=function(){this.willPlayNextFrame=!0},e.prototype.changeSpeedRatio=function(e){this.speedRatio=e},e.prototype.getFps=function(){for(var t=0,n=0;n<e.fpsWindowSize;n++)t+=this.lastSixtyFramesDuration[n];return 0===t?0:6e4/t},e.prototype.init=function(){for(var t=this,n=0,i=e.requestAnimationFrameFunctions;n<i.length;n++){var r=i[n];this.spyRequestAnimationFrame(r,this.spiedWindow)}for(var o=0,s=e.setTimerFunctions;o<s.length;o++){r=s[o];this.spySetTimer(r)}this.spiedWindow.VRDisplay&&this.spiedWindow.addEventListener("vrdisplaypresentchange",(function(e){t.spyRequestAnimationFrame("requestAnimationFrame",e.display)}))},e.prototype.spyRequestAnimationFrame=function(e,t){var n=this;W.storeOriginFunction(t,e),t[e]=function(){var i=arguments[0],r=n.getCallback(n,i,(function(){n.spiedWindow[e](i)})),o=W.executeOriginFunction(t,e,[r]);return o}},e.prototype.spySetTimer=function(t){var n=this,i=this.spiedWindow,r="setTimeout"===t;W.storeOriginFunction(i,t),i[t]=function(){var o=arguments[0],s=arguments[1],a=Array.prototype.slice.call(arguments);e.setTimerCommonValues.indexOf(s)>-1&&(a[0]=n.getCallback(n,o,r?function(){i[t](o)}:null));var c=W.executeOriginFunction(i,t,a);return c}},e.prototype.getCallback=function(t,n,i){return void 0===i&&(i=null),function(){var r=a.now;if(t.lastFrame=++t.lastFrame%t.speedRatio,t.willPlayNextFrame||t.speedRatio&&!t.lastFrame){t.onFrameStart.trigger(t);try{n.apply(t.spiedWindow,arguments)}catch(e){t.onError.trigger(e)}t.lastSixtyFramesCurrentIndex=(t.lastSixtyFramesCurrentIndex+1)%e.fpsWindowSize,t.lastSixtyFramesDuration[t.lastSixtyFramesCurrentIndex]=r-t.lastSixtyFramesPreviousStart,t.onFrameEnd.trigger(t),t.willPlayNextFrame=!1}else i&&i();t.lastSixtyFramesPreviousStart=r}},e.requestAnimationFrameFunctions=["requestAnimationFrame","msRequestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame"],e.setTimerFunctions=["setTimeout","setInterval"],e.setTimerCommonValues=[0,15,16,33,32,40],e.fpsWindowSize=60,e}(),Yt=function(){function e(e){this.canvas=e,this.onContextRequested=new s,this.init()}return e.prototype.init=function(){var e=this,t=function(){var t=e.canvas?W.executeOriginFunction(this,"getContext",arguments):W.executePrototypeOriginFunction(this,HTMLCanvasElement,"getContext",arguments);if(arguments.length>0&&"2d"===arguments[0])return t;if(t){var n=Array.prototype.slice.call(arguments),i="webgl2"===n[0]||"experimental-webgl2"===n[0],r=i?2:1;e.onContextRequested.trigger({context:t,contextVersion:r})}return t};this.canvas?(W.storeOriginFunction(this.canvas,"getContext"),this.canvas.getContext=t):(W.storePrototypeOriginFunction(HTMLCanvasElement,"getContext"),HTMLCanvasElement.prototype.getContext=t)},e}(),qt=(n(19),function(){function e(e,t){this.placeHolder=e,this.stateStore=t}return e.prototype.compose=function(e){var t=this.stateStore.getStatesToProcess(),n=!1;for(var i in t)if(t.hasOwnProperty(i)){var r=t[i],o=this.stateStore.getLastOperation(r),s=this.stateStore.getComponentInstance(r),a=this.stateStore.getData(r);s.render(a,r,o),n=!0}if(n){var c=this.stateStore.getLastOperation(e);this.composeInContainer(this.placeHolder,Number.MAX_VALUE,e,c)}},e.prototype.composeChildren=function(e,t){if(t)for(var n=this.stateStore.getChildrenIds(e),i=0,r=0;r<n.length;r++){var o=n[r],s=this.stateStore.getLastOperation(o);this.composeInContainer(t,i,o,s),50!==s&&i++}},e.prototype.composeInContainer=function(e,t,n,i){var r=this.stateStore.getComponentInstance(n).composeInContainer(e,t,i);this.composeChildren(n,r)},e}()),Zt=function(){function e(){this.store={},this.idGenerator=0,this.pendingOperation={}}return e.prototype.getLastOperation=function(e){return this.store[e].lastOperation},e.prototype.getData=function(e){return this.store[e].data},e.prototype.getComponentInstance=function(e){return this.store[e].componentInstance},e.prototype.getParentId=function(e){return this.store[e].parent?this.store[e].parent.id:-1},e.prototype.getChildrenIds=function(e){for(var t=[],n=0,i=this.store[e].children;n<i.length;n++){var r=i[n];t.push(r.id)}return t},e.prototype.hasChildren=function(e){return this.store[e].children.length>0},e.prototype.add=function(e,t){var n=this.getNewId();return this.pendingOperation[n]=n,this.store[n]={data:e,id:n,parent:null,children:[],componentInstance:t,lastOperation:20},n},e.prototype.update=function(e,t){this.store[e];this.pendingOperation[e]=e,this.store[e].data=t,this.store[e].lastOperation=40},e.prototype.addChild=function(e,t,n){var i=this.store[e],r=this.add(t,n);this.pendingOperation[r]=r;var o=this.store[r];return o.parent=i,i.children.push(o),r},e.prototype.insertChildAt=function(e,t,n,i){var r=this.store[e],o=this.add(n,i);this.pendingOperation[o]=o;var s=this.store[o];return s.parent=r,t>=r.children.length?r.children.push(s):t>=0?r.children.splice(t,0,s):r.children.unshift(s),o},e.prototype.removeChildById=function(e,t){for(var n=this.store[e],i=n.children.length-1;i>=0;i--){if(n.children[i].id===t){this.removeChildAt(e,i);break}}},e.prototype.removeChildAt=function(e,t){var n,i=this.store[e];t>i.children.length-1?(n=i.children[i.children.length-1],i.children[i.children.length-1].parent=null,i.children.splice(i.children.length-1,1)):t>=0?(n=i.children[t],i.children[t].parent=null,i.children.splice(t,1)):(n=i.children[0],i.children[0].parent=null,i.children.splice(0,1)),n.parent=null,this.remove(n.id)},e.prototype.remove=function(e){var t=this.store[e];if(t.parent){this.store[t.parent.id];this.removeChildById(t.parent.id,e)}else this.removeChildren(e),this.store[e].lastOperation=50,this.pendingOperation[e]=e},e.prototype.removeChildren=function(e){for(var t=this.store[e];t.children.length;)this.remove(t.children[0].id)},e.prototype.getStatesToProcess=function(){return this.pendingOperation},e.prototype.flushPendingOperations=function(){for(var e in this.pendingOperation)this.pendingOperation[e]&&(50===this.store[e].lastOperation?delete this.store[e]:this.store[e].lastOperation=0);this.pendingOperation={}},e.prototype.getNewId=function(){return++this.idGenerator},e}(),Qt=function(){function e(e){this.component=e}return e.prototype.render=function(e,t,n){0!==n&&(50!==n?this.domNode=this.component.render(e,t):this.removeNode())},e.prototype.composeInContainer=function(e,t,n){if(50===n)return this.removeNode(),null;var i=this.cachedCurrentChildrenContainer;if(0===n)return i;var r=this.domNode,o=r.getAttribute("childrencontainer")?r:r.querySelector("[childrenContainer]");if(o&&i)for(var s=i.children;s.length>0;)o.appendChild(s[0]);if(this.cachedCurrentChildrenContainer=o,t>=e.children.length)e.appendChild(r),this.cachedCurrentDomNode&&40===n&&(this.cachedCurrentDomNode.remove?this.cachedCurrentDomNode.remove():this.cachedCurrentDomNode.parentNode&&this.cachedCurrentDomNode.parentNode.removeChild(this.cachedCurrentDomNode));else{var a=e.children[t];e.insertBefore(r,a),40===n&&e.removeChild(a)}return this.cachedCurrentDomNode=this.domNode,o},e.prototype.removeNode=function(){this.domNode&&this.domNode.parentElement&&(this.domNode.remove?this.domNode.remove():this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode)),this.cachedCurrentDomNode&&this.cachedCurrentDomNode.parentElement&&(this.cachedCurrentDomNode.remove?this.cachedCurrentDomNode.remove():this.cachedCurrentDomNode.parentNode&&this.cachedCurrentDomNode.parentNode.removeChild(this.cachedCurrentDomNode))},e.idGenerator=0,e}(),Jt=function(){function e(e){this.stateStore=new Zt,this.compositor=new qt(e,this.stateStore),this.willRender=!1,this.rootStateId=-1}return e.prototype.addRootState=function(e,t,n){void 0===n&&(n=!1);var i=new Qt(t),r=this.stateStore.add(e,i);return this.rootStateId=r,this.setForRender(n),r},e.prototype.addChildState=function(e,t,n,i){void 0===i&&(i=!1);var r=this.insertChildState(e,t,Number.MAX_VALUE,n);return this.setForRender(i),r},e.prototype.insertChildState=function(e,t,n,i,r){void 0===r&&(r=!1);var o=new Qt(i),s=this.stateStore.insertChildAt(e,n,t,o);return this.setForRender(r),s},e.prototype.updateState=function(e,t,n){void 0===n&&(n=!1),this.stateStore.update(e,t),this.setForRender(n)},e.prototype.removeState=function(e,t){void 0===t&&(t=!1),this.stateStore.remove(e),this.setForRender(t)},e.prototype.removeChildrenStates=function(e,t){void 0===t&&(t=!1),this.stateStore.removeChildren(e),this.setForRender(t)},e.prototype.getState=function(e){return this.stateStore.getData(e)},e.prototype.getGenericState=function(e){return this.getState(e)},e.prototype.getChildrenState=function(e){var t=this;return this.stateStore.getChildrenIds(e).map((function(n){return t.stateStore.getData(e)}))},e.prototype.getChildrenGenericState=function(e){return this.getChildrenState(e)},e.prototype.hasChildren=function(e){return this.stateStore.hasChildren(e)},e.prototype.updateAllChildrenState=function(e,t){for(var n=0,i=this.stateStore.getChildrenIds(e);n<i.length;n++){var r=i[n],o=this.getGenericState(r);t(o),this.updateState(r,o)}},e.prototype.updateAllChildrenGenericState=function(e,t){this.updateAllChildrenState(e,t)},e.prototype.setForRender=function(t){this.willRender||(this.willRender=!0,t?this.compose():setTimeout(this.compose.bind(this),e.REFRESHRATEINMILLISECONDS))},e.prototype.compose=function(){this.willRender=!1,this.compositor.compose(this.rootStateId),this.stateStore.flushPendingOperations()},e.REFRESHRATEINMILLISECONDS=100,e}(),en=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),tn=function(e){function t(){var t=e.call(this)||this;return t.events={},t}return en(t,e),t.prototype.addEventListener=function(e,t,n){return void 0===n&&(n=null),this.events[e]?this.events[e].add(t,n):-1},t.prototype.removeEventListener=function(e,t){this.events[e]&&this.events[e].remove(t)},t.prototype.renderElementFromTemplate=function(e,t,n){var i=this.createFromHtml(e);return this.bindCommands(i,t,n),i},t.prototype.bindCommands=function(e,t,n){e.getAttribute("commandname")&&this.bindCommand(e,t,n);for(var i=e.querySelectorAll("[commandName]"),r=0;r<i.length;r++){var o=i[r];this.bindCommand(o,t,n)}},t.prototype.bindCommand=function(e,t,n){var i=e.getAttribute("commandname"),r=e.getAttribute("commandeventbinding")||"";0===r.length&&(r="click");var o="true"===e.getAttribute("usecapture"),s="true"===e.getAttribute("stoppropagation");this.createEvent(i),this.mapEventListener(e,r,i,t,n,o,s)},t.prototype.mapEventListener=function(e,t,n,i,r,o,s){void 0===o&&(o=!1),void 0===s&&(s=!1);var a=this;s?e.addEventListener(t,(function(e){return e.stopPropagation(),e.preventDefault(),a.triggerEvent(n,this,i,r),!1}),o):e.addEventListener(t,(function(){a.triggerEvent(n,this,i,r)}),o)},t.prototype.createEvent=function(e){if(!this.events[e]){var t=new s;this.events[e]=t}return this.events[e]},t.prototype.triggerEvent=function(e,t,n,i){this.events[e].trigger({sender:t,stateId:i,state:n})},t}(function(){function e(){this.dummyTextGeneratorElement=document.createElement("div")}return e.prototype.createFromHtml=function(e){var t=document.createElement("div");return t.innerHTML=e,t.firstElementChild},e.prototype.htmlTemplate=function(e){for(var t=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];var r=e.raw,o="";return n.forEach((function(e,n){var i=r[n];Array.isArray(e)&&(e=e.join("")),i&&i.length>0&&"$"===i[i.length-1]?i=i.slice(0,-1):e=t.htmlEscape(e),o+=i,o+=e})),o+=r[r.length-1]},e.prototype.htmlEscape=function(e){return null==e||0===e.length?e:(this.dummyTextGeneratorElement.innerText=e,this.dummyTextGeneratorElement.innerHTML)},e}()),nn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),rn=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},on=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return nn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(C||(C=rn(['<div>\n <div childrenContainer="true" class="captureMenuComponent ','">\n </div>\n <div class="captureMenuLogComponent ','">\n <span class="','">',"<span>\n </div>\n </div>"],['<div>\n <div childrenContainer="true" class="captureMenuComponent ','">\n </div>\n <div class="captureMenuLogComponent ','">\n <span class="','">',"<span>\n </div>\n </div>"])),e?"active":"",e.logVisible?"active":"",e.logLevel===i.error?"error":"",e.logText);return this.renderElementFromTemplate(n,e,t)},t}(tn),sn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),an=function(e){function t(){var t=e.call(this)||this;return t.onCanvasSelected=t.createEvent("onCanvasSelected"),t}return sn(t,e),t.prototype.render=function(e,t){var n=document.createElement("li"),i=document.createElement("span");return i.innerText="Id: "+e.id+" - Size: "+e.width+"*"+e.height,n.appendChild(i),this.mapEventListener(n,"click","onCanvasSelected",e,t),n},t}(tn),cn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ln=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},un=function(e){function t(){var t=e.call(this)||this;return t.onCaptureRequested=t.createEvent("onCaptureRequested"),t.onPlayRequested=t.createEvent("onPlayRequested"),t.onPauseRequested=t.createEvent("onPauseRequested"),t.onPlayNextFrameRequested=t.createEvent("onPlayNextFrameRequested"),t}return cn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(A||(A=ln(['\n <div class="captureMenuActionsComponent">\n <div commandName="onCaptureRequested">\n </div>\n $',"\n </div>"],['\n <div class="captureMenuActionsComponent">\n <div commandName="onCaptureRequested">\n </div>\n $',"\n </div>"])),e?'<div commandName="onPauseRequested">\n </div>':'<div commandName="onPlayRequested">\n </div>\n <div commandName="onPlayNextFrameRequested">\n </div>');return this.renderElementFromTemplate(n,e,t)},t}(tn),hn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),dn=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},pn=function(e){function t(){var t=e.call(this)||this;return t.onCanvasSelection=t.createEvent("onCanvasSelection"),t}return hn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(S||(S=dn(['\n <div class="canvasListComponent">\n <span commandName="onCanvasSelection">\n ','\n </span>\n <ul childrenContainer="true" style="','"></ul>\n </div>'],['\n <div class="canvasListComponent">\n <span commandName="onCanvasSelection">\n ','\n </span>\n <ul childrenContainer="true" style="','"></ul>\n </div>'])),e.currentCanvasInformation?e.currentCanvasInformation.id+" ("+e.currentCanvasInformation.width+"*"+e.currentCanvasInformation.height+")":"Choose Canvas...",e.showList?"display:block;visibility:visible":"display:none;visibility:hidden");return this.renderElementFromTemplate(n,e,t)},t}(tn),mn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),fn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mn(t,e),t.prototype.render=function(e,t){var n=document.createElement("span");return n.className="fpsCounterComponent",n.innerText=e.toFixed(2)+" Fps",n},t}(tn),gn=function(){function e(t){var n=this;void 0===t&&(t={}),this.options=t,this.rootPlaceHolder=t.rootPlaceHolder||document.body,this.mvx=new Jt(this.rootPlaceHolder),this.isTrackingCanvas=!1,this.onCanvasSelected=new s,this.onCaptureRequested=new s,this.onPauseRequested=new s,this.onPlayRequested=new s,this.onPlayNextFrameRequested=new s,this.captureMenuComponent=new on,this.canvasListComponent=new pn,this.canvasListItemComponent=new an,this.actionsComponent=new un,this.fpsCounterComponent=new fn,this.rootStateId=this.mvx.addRootState({visible:!0,logLevel:i.info,logText:e.SelectCanvasHelpText,logVisible:!this.options.hideLog},this.captureMenuComponent),this.canvasListStateId=this.mvx.addChildState(this.rootStateId,{currentCanvasInformation:null,showList:!1},this.canvasListComponent),this.actionsStateId=this.mvx.addChildState(this.rootStateId,!0,this.actionsComponent),this.fpsStateId=this.mvx.addChildState(this.rootStateId,0,this.fpsCounterComponent),this.actionsComponent.onCaptureRequested.add((function(){var t=n.getSelectedCanvasInformation();t&&n.updateMenuStateLog(i.info,e.PleaseWaitHelpText,!0),setTimeout((function(){n.onCaptureRequested.trigger(t)}),200)})),this.actionsComponent.onPauseRequested.add((function(){n.onPauseRequested.trigger(n.getSelectedCanvasInformation()),n.mvx.updateState(n.actionsStateId,!1)})),this.actionsComponent.onPlayRequested.add((function(){n.onPlayRequested.trigger(n.getSelectedCanvasInformation()),n.mvx.updateState(n.actionsStateId,!0)})),this.actionsComponent.onPlayNextFrameRequested.add((function(){n.onPlayNextFrameRequested.trigger(n.getSelectedCanvasInformation())})),this.canvasListComponent.onCanvasSelection.add((function(t){n.mvx.updateState(n.canvasListStateId,{currentCanvasInformation:null,showList:!t.state.showList}),n.updateMenuStateLog(i.info,e.SelectCanvasHelpText),n.onCanvasSelected.trigger(null),n.isTrackingCanvas&&n.trackPageCanvases(),t.state.showList?n.showMenuStateLog():n.hideMenuStateLog()})),this.canvasListItemComponent.onCanvasSelected.add((function(t){n.mvx.updateState(n.canvasListStateId,{currentCanvasInformation:t.state,showList:!1}),n.onCanvasSelected.trigger(t.state),n.updateMenuStateLog(i.info,e.ActionsHelpText),n.showMenuStateLog()}))}return e.prototype.getSelectedCanvasInformation=function(){return this.mvx.getGenericState(this.canvasListStateId).currentCanvasInformation},e.prototype.trackPageCanvases=function(){if(this.isTrackingCanvas=!0,document.body){var e=document.body.querySelectorAll("canvas");this.updateCanvasesList(e)}},e.prototype.updateCanvasesList=function(e){this.updateCanvasesListInformationInternal(e,(function(e){return{id:e.id,width:e.width,height:e.height,ref:e}}))},e.prototype.updateCanvasesListInformation=function(e){this.updateCanvasesListInformationInternal(e,(function(e){return{id:e.id,width:e.width,height:e.height,ref:e.ref}}))},e.prototype.display=function(){this.updateMenuStateVisibility(!0)},e.prototype.hide=function(){this.updateMenuStateVisibility(!1)},e.prototype.captureComplete=function(t){t?this.updateMenuStateLog(i.error,t):this.updateMenuStateLog(i.info,e.ActionsHelpText)},e.prototype.setFPS=function(e){this.mvx.updateState(this.fpsStateId,e)},e.prototype.updateCanvasesListInformationInternal=function(t,n){this.mvx.removeChildrenStates(this.canvasListStateId);for(var r=[],o=0;o<t.length;o++){var s=n(t[o]);r.push(s),this.mvx.addChildState(this.canvasListStateId,s,this.canvasListItemComponent)}var a=r.length,c=this.mvx.getGenericState(this.canvasListStateId).showList;if(!c)if(1===a){var l=r[0];this.mvx.updateState(this.canvasListStateId,{currentCanvasInformation:l,showList:c}),this.updateMenuStateLog(i.info,e.ActionsHelpText),this.onCanvasSelected.trigger(l)}else this.updateMenuStateLog(i.info,e.SelectCanvasHelpText),this.onCanvasSelected.trigger(null)},e.prototype.hideMenuStateLog=function(){var e=this.mvx.getGenericState(this.rootStateId);this.mvx.updateState(this.rootStateId,{visible:e.visible,logLevel:e.logLevel,logText:e.logText,logVisible:!1})},e.prototype.showMenuStateLog=function(){var e=this.mvx.getGenericState(this.rootStateId);this.mvx.updateState(this.rootStateId,{visible:e.visible,logLevel:e.logLevel,logText:e.logText,logVisible:!this.options.hideLog})},e.prototype.updateMenuStateLog=function(e,t,n){void 0===n&&(n=!1);var i=this.mvx.getGenericState(this.rootStateId);this.mvx.updateState(this.rootStateId,{visible:i.visible,logLevel:e,logText:t,logVisible:!this.options.hideLog},n)},e.prototype.updateMenuStateVisibility=function(e){var t=this.mvx.getGenericState(this.rootStateId);this.mvx.updateState(this.rootStateId,{visible:e,logLevel:t.logLevel,logText:t.logText,logVisible:t.logVisible})},e.SelectCanvasHelpText="Please, select a canvas in the list above.",e.ActionsHelpText="Record with the red button, you can also pause or continue playing the current scene.",e.PleaseWaitHelpText="Capturing, be patient (this can take up to 3 minutes)...",e}(),vn=(n(21),function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),_n=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},En=function(e){function t(){var t=e.call(this)||this;return t.onCaptureLoaded=new s,t}return vn(t,e),t.prototype.render=function(e,t){var n=this,i=this.htmlTemplate(y||(y=_n(['\n <div class="captureListComponent ','">\n <div class="openCaptureFile">\n <Span>Drag files here to open a previously saved capture.</span>\n </div>\n <ul childrenContainer="true"></ul>\n </div>'],['\n <div class="captureListComponent ','">\n <div class="openCaptureFile">\n <Span>Drag files here to open a previously saved capture.</span>\n </div>\n <ul childrenContainer="true"></ul>\n </div>'])),e?"active":""),r=this.renderElementFromTemplate(i,e,t),o=r.querySelector(".openCaptureFile");return o.addEventListener("dragenter",(function(e){return n.drag(e),!1}),!1),o.addEventListener("dragover",(function(e){return n.drag(e),!1}),!1),o.addEventListener("drop",(function(e){n.drop(e)}),!1),r},t.prototype.drag=function(e){e.stopPropagation(),e.preventDefault()},t.prototype.drop=function(e){e.stopPropagation(),e.preventDefault(),this.loadFiles(e)},t.prototype.loadFiles=function(e){var t=this,n=null;if(e&&e.dataTransfer&&e.dataTransfer.files&&(n=e.dataTransfer.files),e&&e.target&&e.target.files&&(n=e.target.files),n&&n.length>0)for(var i=function(e){var i=n[e].name.toLowerCase().split(".").pop();n[e].type;if("json"===i){var r=n[e],s=new FileReader;s.onerror=function(e){o.error("Error while reading file: "+r.name+e)},s.onload=function(e){try{var n=JSON.parse(e.target.result);t.onCaptureLoaded.trigger(n)}catch(e){o.error("Error while reading file: "+r.name+e)}},s.readAsText(r)}},r=0;r<n.length;r++)i(r)},t}(tn),Cn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),An=function(e){function t(){var t=e.call(this)||this;return t.onCaptureSelected=t.createEvent("onCaptureSelected"),t.onSaveRequested=t.createEvent("onSaveRequested"),t}return Cn(t,e),t.prototype.render=function(e,t){var n=document.createElement("li");if(e.active&&(n.className="active"),e.capture.endState.VisualState.Attachments)for(var i=0,r=e.capture.endState.VisualState.Attachments;i<r.length;i++){var o=r[i],s=document.createElement("img");s.src=encodeURI(o.src),n.appendChild(s)}else{var a=document.createElement("span");a.innerText=e.capture.endState.VisualState.FrameBufferStatus,n.appendChild(a)}var c=document.createElement("span");c.innerText=new Date(e.capture.startTime).toTimeString().split(" ")[0],n.appendChild(c);var l=document.createElement("a");return l.href="#",l.className="captureListItemSave",this.mapEventListener(l,"click","onSaveRequested",e,t,!1,!0),c.appendChild(l),this.mapEventListener(n,"click","onCaptureSelected",e,t),n},t}(tn),Sn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),yn=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},Rn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Sn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(R||(R=yn(['\n <div class="visualStateListComponent">\n <ul childrenContainer="true"></ul>\n </div>'],['\n <div class="visualStateListComponent">\n <ul childrenContainer="true"></ul>\n </div>'])));return this.renderElementFromTemplate(n,e,t)},t}(tn),bn=function(){function e(){}return e.scrollIntoView=function(e){for(var t=e.getBoundingClientRect(),n=e.parentElement;n&&n.clientHeight===n.offsetHeight;)n=n.parentElement;if(n){var i=n.getBoundingClientRect();t.top<i.top?e.scrollIntoView(!0):t.bottom>i.bottom&&e.scrollIntoView(!1)}},e}(),Tn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),wn=function(e){function t(){var t=e.call(this)||this;return t.onVisualStateSelected=t.createEvent("onVisualStateSelected"),t}return Tn(t,e),t.prototype.render=function(e,t){var n=document.createElement("li");if(e.active&&(n.className="active",setTimeout((function(){bn.scrollIntoView(n)}),1)),e.VisualState.Attachments)for(var i=0,r=e.VisualState.Attachments;i<r.length;i++){var o=r[i];if(o.src){var s=document.createElement("img");if(s.src=encodeURI(o.src),n.appendChild(s),e.VisualState.Attachments.length>1){var a=document.createElement("span");a.innerText=o.attachmentName,n.appendChild(a)}if(o.textureLayer){var c=document.createElement("span");c.innerText="Layer: "+o.textureLayer,n.appendChild(c)}if(o.textureCubeMapFace){var l=document.createElement("span");l.innerText=o.textureCubeMapFace,n.appendChild(l)}}}else{var u=document.createElement("span");u.innerText=e.VisualState.FrameBufferStatus,n.appendChild(u)}var h=document.createElement("span");return h.innerText=e.VisualState.FrameBuffer?"Frame buffer: "+e.VisualState.FrameBuffer.__SPECTOR_Object_TAG.id:"Canvas frame buffer",n.appendChild(h),this.mapEventListener(n,"click","onVisualStateSelected",e,t),n},t}(tn),xn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ln=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},Fn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return xn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(b||(b=Ln(['\n <div class="commandListComponent">\n <ul childrenContainer="true"></ul>\n </div>'],['\n <div class="commandListComponent">\n <ul childrenContainer="true"></ul>\n </div>'])));return this.renderElementFromTemplate(n,e,t)},t}(tn),In=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),On=function(e){function t(){var t=e.call(this)||this;return t.onCommandSelected=t.createEvent("onCommandSelected"),t.onVertexSelected=t.createEvent("onVertexSelected"),t.onFragmentSelected=t.createEvent("onFragmentSelected"),t}return In(t,e),t.prototype.render=function(e,t){var n=document.createElement("li"),i="unknown";switch(e.capture.status){case 50:i="deprecated";break;case 10:i="unused";break;case 20:i="disabled";break;case 30:i="redundant";break;case 40:i="valid"}if(e.capture.VisualState&&(n.className=" drawCall"),e.active&&(n.className=" active",setTimeout((function(){bn.scrollIntoView(n)}),1)),e.capture.marker){var r=document.createElement("span");r.className=i+" marker important",r.innerText=e.capture.marker+" ",r.style.fontWeight="1000",n.appendChild(r)}var o=document.createElement("span"),s=e.capture.text;if(s=s.replace(e.capture.name,'<span class=" '+i+' important">'+e.capture.name+"</span>"),o.innerHTML=s,n.appendChild(o),e.capture.VisualState&&"clear"!==e.capture.name)try{var a=e.capture.DrawCall.shaders[0],c=e.capture.DrawCall.shaders[1],l=document.createElement("a");l.innerText=a.name,l.href="#",n.appendChild(l),this.mapEventListener(l,"click","onVertexSelected",e,t);var u=document.createElement("a");u.innerText=c.name,u.href="#",n.appendChild(u),this.mapEventListener(u,"click","onFragmentSelected",e,t)}catch(e){}return this.mapEventListener(n,"click","onCommandSelected",e,t),n},t}(tn),Mn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Nn=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},kn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Mn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(T||(T=Nn(['\n <div class="commandDetailComponent" childrenContainer="true">\n </div>'],['\n <div class="commandDetailComponent" childrenContainer="true">\n </div>'])));return this.renderElementFromTemplate(n,e,t)},t}(tn),Pn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),$n=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},Bn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Pn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(w||(w=$n(['\n <div class="jsonContentComponent" childrenContainer="true">\n </div>'],['\n <div class="jsonContentComponent" childrenContainer="true">\n </div>'])));return this.renderElementFromTemplate(n,e,t)},t}(tn),Dn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Un=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},Gn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Dn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(x||(x=Un(['\n <div class="jsonGroupComponent">\n <div class="jsonGroupComponentTitle">','</div>\n <ul childrenContainer="true"></ul>\n </div>'],['\n <div class="jsonGroupComponent">\n <div class="jsonGroupComponentTitle">','</div>\n <ul childrenContainer="true"></ul>\n </div>'])),e?e.replace(/([A-Z])/g," $1").trim():"");return this.renderElementFromTemplate(n,e,t)},t}(tn),Wn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Hn=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},Vn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Wn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(L||(L=Hn(['\n <li><span class="jsonItemComponentKey">',': </span><span class="jsonItemComponentValue">',"</span><li>"],['\n <li><span class="jsonItemComponentKey">',': </span><span class="jsonItemComponentValue">',"</span><li>"])),e.key,e.value);return this.renderElementFromTemplate(n,e,t)},t}(tn),Xn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),jn=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},zn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Xn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(F||(F=jn(['\n <li class="jsonItemImageHolder"><div class="jsonItemImage"><img src="','"/><span>',"</span></div></li>"],['\n <li class="jsonItemImageHolder"><div class="jsonItemImage"><img src="','"/><span>',"</span></div></li>"])),e.value,e.key);return this.renderElementFromTemplate(n,e,t)},t}(tn),Kn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Yn=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},qn=function(e){function t(){var t=e.call(this)||this;return t.onOpenSourceClicked=t.createEvent("onOpenSourceClicked"),t}return Kn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(I||(I=Yn(['\n <li commandName="onOpenSourceClicked"><span class="jsonItemComponentKey">',': </span><span class="jsonSourceItemComponentOpen">Click to Open.</span><li>'],['\n <li commandName="onOpenSourceClicked"><span class="jsonItemComponentKey">',': </span><span class="jsonSourceItemComponentOpen">Click to Open.</span><li>'])),e.key);return this.renderElementFromTemplate(n,e,t)},t}(tn),Zn=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Qn=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},Jn=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Zn(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(O||(O=Qn(['\n <li><span class="jsonItemComponentKey">',': </span>\n <span class="jsonItemComponentValue">',' (<a href="','" target="_blank" class="jsonSourceItemComponentOpen">Open help page</a>)\n </span>\n <li>'],['\n <li><span class="jsonItemComponentKey">',': </span>\n <span class="jsonItemComponentValue">',' (<a href="','" target="_blank" class="jsonSourceItemComponentOpen">Open help page</a>)\n </span>\n <li>'])),e.key,e.value,e.help);return this.renderElementFromTemplate(n,e,t)},t}(tn),ei=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ti=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ei(t,e),t.prototype.render=function(e,t){var n=document.createElement("div");if(n.className="jsonVisualStateItemComponent",e.Attachments)for(var i=0,r=e.Attachments;i<r.length;i++){var o=r[i];if(o.src){var s=document.createElement("img");if(s.src=encodeURI(o.src),n.appendChild(s),e.Attachments.length>1){var a=document.createElement("span");a.innerText=o.attachmentName,n.appendChild(a)}}}else{var c=document.createElement("span");c.innerText=e.FrameBufferStatus,n.appendChild(c)}var l=document.createElement("span");return l.innerText=e.FrameBuffer?e.FrameBuffer.__SPECTOR_Object_TAG.displayText:"Canvas frame buffer",n.appendChild(l),n},t}(tn),ni=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ii=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},ri=function(e){function t(){var t=e.call(this)||this;return t.onCapturesClicked=t.createEvent("onCapturesClicked"),t.onCommandsClicked=t.createEvent("onCommandsClicked"),t.onInformationClicked=t.createEvent("onInformationClicked"),t.onInitStateClicked=t.createEvent("onInitStateClicked"),t.onEndStateClicked=t.createEvent("onEndStateClicked"),t.onCloseClicked=t.createEvent("onCloseClicked"),t.onSearchTextChanged=t.createEvent("onSearchTextChanged"),t.onSearchTextCleared=t.createEvent("onSearchTextCleared"),t}return ni(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(M||(M=ii(['<ul class="resultViewMenuComponent">\n <li class="resultViewMenuOpen resultViewMenuSmall"><a href="#" role="button">Menu</a></li>\n\n <li class="searchContainer">\n <input type="text" placeHolder="Search..." value="','" commandName="onSearchTextChanged" commandEventBinding="change">\n <a class="clearSearch" stoppropagation="true" CommandName="onSearchTextCleared">X</a>\n </li>\n <li><a class="',' href="#" role="button" commandName="onCapturesClicked">Captures</a></li>\n <li><a class="',' href="#" role="button" commandName="onInformationClicked">Information</a></li>\n <li><a class="',' href="#" role="button" commandName="onInitStateClicked">Init State</a></li>\n <li>\n <a class="',' href="#" role="button" commandName="onCommandsClicked">\n Commands','\n </a>\n </li>\n <li><a class="',' href="#" role="button" commandName="onEndStateClicked">End State</a></li>\n <li><a role="button" commandName="onCloseClicked" stoppropagation="true">Close</a></li>\n </ul>'],['<ul class="resultViewMenuComponent">\n <li class="resultViewMenuOpen resultViewMenuSmall"><a href="#" role="button">Menu</a></li>\n\n <li class="searchContainer">\n <input type="text" placeHolder="Search..." value="','" commandName="onSearchTextChanged" commandEventBinding="change">\n <a class="clearSearch" stoppropagation="true" CommandName="onSearchTextCleared">X</a>\n </li>\n <li><a class="',' href="#" role="button" commandName="onCapturesClicked">Captures</a></li>\n <li><a class="',' href="#" role="button" commandName="onInformationClicked">Information</a></li>\n <li><a class="',' href="#" role="button" commandName="onInitStateClicked">Init State</a></li>\n <li>\n <a class="',' href="#" role="button" commandName="onCommandsClicked">\n Commands','\n </a>\n </li>\n <li><a class="',' href="#" role="button" commandName="onEndStateClicked">End State</a></li>\n <li><a role="button" commandName="onCloseClicked" stoppropagation="true">Close</a></li>\n </ul>'])),e.searchText,0===e.status?"active":"",10===e.status?"active":"",20===e.status?"active":"",40===e.status?"active":"",e.commandCount>0?" ("+e.commandCount+")":"",30===e.status?"active":""),i=this.renderElementFromTemplate(n,e,t),r=i.querySelector(".resultViewMenuOpen"),o=i.querySelectorAll("li:not(.resultViewMenuSmall)");return r.addEventListener("click",(function(e){if("true"===r.getAttribute("open")){r.setAttribute("open","false");for(var t=0;t<o.length;t++)o[t].style.display="none",o[t].style.visibility="hidden"}else{r.setAttribute("open","true");for(t=0;t<o.length;t++)o[t].style.display="block",o[t].style.visibility="visible"}})),i},t}(tn),oi=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),si=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return oi(t,e),t.prototype.render=function(e,t){return this.renderElementFromTemplate('<div childrenContainer="true" class="resultViewContentComponent"></div>',e,t)},t}(tn),ai=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ci=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},li=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ai(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(N||(N=ci(['\n <div childrenContainer="true" class="resultViewComponent ','">\n </div>'],['\n <div childrenContainer="true" class="resultViewComponent ','">\n </div>'])),e?"active":"");return this.renderElementFromTemplate(n,e,t)},t}(tn),ui=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),hi=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},di=function(e){function t(){var t=e.call(this)||this;return t.onVertexSourceClicked=t.createEvent("onVertexSourceClicked"),t.onFragmentSourceClicked=t.createEvent("onFragmentSourceClicked"),t.onSourceCodeCloseClicked=t.createEvent("onSourceCodeCloseClicked"),t.onSourceCodeChanged=t.createEvent("onSourceCodeChanged"),t}return ui(t,e),t.prototype.showError=function(e){if(this.editor){var t=[];if(e=e||"")for(var n=/^.*ERROR:\W([0-9]+):([0-9]+):(.*)$/gm,i=n.exec(e);null!=i;)t.push({row:+i[2]-1,column:i[1],text:i[3]||"Error",type:"error"}),i=n.exec(e);this.editor.getSession().setAnnotations(t)}},t.prototype.render=function(e,t){var n=this,i=e.fragment?e.sourceFragment:e.sourceVertex,r=i?this._indentIfdef(this._beautify(i)):"",o=this.htmlTemplate($||($=hi(['\n <div class="sourceCodeComponentContainer">\n <div class="sourceCodeMenuComponentContainer">\n <ul class="sourceCodeMenuComponent">\n <li><a class="','" href="#" role="button" commandName="onVertexSourceClicked">Vertex</a></li>\n <li><a class="','" href="#" role="button" commandName="onFragmentSourceClicked">Fragment</a></li>\n <li><a href="#" role="button" commandName="onSourceCodeCloseClicked">Close</a></li>\n </ul>\n </div>\n $',"\n </div>"],['\n <div class="sourceCodeComponentContainer">\n <div class="sourceCodeMenuComponentContainer">\n <ul class="sourceCodeMenuComponent">\n <li><a class="','" href="#" role="button" commandName="onVertexSourceClicked">Vertex</a></li>\n <li><a class="','" href="#" role="button" commandName="onFragmentSourceClicked">Fragment</a></li>\n <li><a href="#" role="button" commandName="onSourceCodeCloseClicked">Close</a></li>\n </ul>\n </div>\n $',"\n </div>"])),e.fragment?"":"active",e.fragment?"active":"",e.editable?this.htmlTemplate(k||(k=hi(['<div class="sourceCodeComponentEditable">',"</div>"],['<div class="sourceCodeComponentEditable">',"</div>"])),r):this.htmlTemplate(P||(P=hi(['<div class="sourceCodeComponent">\n <pre class="language-glsl"><code>',"</code></pre>\n </div>"],['<div class="sourceCodeComponent">\n <pre class="language-glsl"><code>',"</code></pre>\n </div>"])),r)),s=this.renderElementFromTemplate(o.replace(/<br>/g,"\n"),e,t);if(e.editable){this.editor=ace.edit(s.querySelector(".sourceCodeComponentEditable")),this.editor.setTheme("ace/theme/monokai"),this.editor.getSession().setMode("ace/mode/glsl"),this.editor.setShowPrintMargin(!1);var a=-1;this.editor.getSession().on("change",(function(i){-1!==a&&clearTimeout(a),a=setTimeout((function(){n._triggerCompilation(n.editor,e,s,t)}),1500)}))}else Prism.highlightElement(s.querySelector("pre"));return s},t.prototype._triggerCompilation=function(e,t,n,i){t.fragment?t.sourceFragment=e.getValue():t.sourceVertex=e.getValue(),this.triggerEvent("onSourceCodeChanged",n,t,i)},t.prototype._beautify=function(e,n){void 0===n&&(n=0),e=e.trim(),e=this._adaptComments(e);for(var i,r=this._getBracket(e),o=r.firstIteration,s=r.lastIteration,a="",c=0;c<n;c++)a+=" ";if(-1===o)i=e=(e=(e=(e=(e=(e=(e=(e=a+e).replace(/;(?![^\(]*\))\s*(\/\/.*)?/g,(function(e){return e.trim()+"\n"}))).replace(/\s*([*+-/=><\s]*=)\s*/g,(function(e){return" "+e.trim()+" "}))).replace(/\s*(,)\s*/g,(function(e){return e.trim()+" "}))).replace(/\n[ \t]+/g,"\n")).replace(/\n/g,"\n"+a)).replace(/\s+$/g,"")).replace(/\n+$/g,"");else{var l=e.substr(0,o),u=e.substr(s+1,e.length),h=e.substr(o+1,s-o-1).trim(),d=this._beautify(h,n+1);i=(i=(i=this._beautify(l,n)+" {\n"+d+"\n"+a+"}\n"+this._beautify(u,n)).replace(/\s*\n+\s*;/g,";")).replace(/#endif[\t \f\v]*{/g,"\n {")}return i=(i=(i=i.replace(t.semicolonReplacementKeyRegex,";")).replace(t.openCurlyReplacementKeyRegex,"{")).replace(t.closeCurlyReplacementKeyRegex,"}")},t.prototype._adaptComments=function(e){for(var n=!1,i=!1,r=0;r<e.length;r++){var o=e[r];"/"===o?"*"===e[r-1]?i=!1:"*"===e[r+1]?n||(i=!0,r++):"/"===e[r+1]&&(i||(n=!0,r++)):"\n"===o?n=!1:";"===o?(n||i)&&(e=e.substr(0,r)+t.semicolonReplacementKey+e.substr(r+1)):"{"===o?(n||i)&&(e=e.substr(0,r)+t.openCurlyReplacementKey+e.substr(r+1)):"}"===o&&(n||i)&&(e=e.substr(0,r)+t.closeCurlyReplacementKey+e.substr(r+1))}return e},t.prototype._getBracket=function(e,t){void 0===t&&(t=-1);for(var n=e.indexOf("{",t),i=1,r=n,o=0,s=0,a=e.substr(n+1).split("");s<a.length;s++){var c=a[s];if(r++,"{"===c&&i++,"}"===c&&i--,0===i){o=r;break}}return n>-1&&0===o?this._getBracket(e,n+1):{firstIteration:n,lastIteration:o}},t.prototype._indentIfdef=function(e){for(var t=0,n=e.split("\n"),i=0;i<n.length;i++){var r=n[i];-1!==r.indexOf("#endif")&&t--,-1!==r.indexOf("#else")&&t--;for(var o="",s=0;s<t;s++)o+=" ";n[i]=o+r,-1===r.indexOf("#if")&&-1===r.indexOf("#else")||t++}return n.join("\n")},t.semicolonReplacementKey="[[[semicolonReplacementKey]]]",t.semicolonReplacementKeyRegex=new RegExp("\\[\\[\\[semicolonReplacementKey\\]\\]\\]","g"),t.openCurlyReplacementKey="[[[openCurlyReplacementKey]]]",t.openCurlyReplacementKeyRegex=new RegExp("\\[\\[\\[openCurlyReplacementKey\\]\\]\\]","g"),t.closeCurlyReplacementKey="[[[closeCurlyReplacementKey]]]",t.closeCurlyReplacementKeyRegex=new RegExp("\\[\\[\\[closeCurlyReplacementKey\\]\\]\\]","g"),t}(tn),pi=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),mi=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},fi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return pi(t,e),t.prototype.render=function(e,t){var n=this.htmlTemplate(B||(B=mi(['\n <div childrenContainer="true" class="','"></div>'],['\n <div childrenContainer="true" class="','"></div>'])),e?"informationColumnLeftComponent":"informationColumnRightComponent");return this.renderElementFromTemplate(n,e,t)},t}(tn),gi=function(){function e(){}return e.getMDNLink=function(t){var n=e.WebGL2Functions[t];if(n)return e.WebGL2RootUrl+n;var i=e.WebGLFunctions[t];return i?e.WebGLRootUrl+i:e.WebGLRootUrl+t},e.WebGL2RootUrl="https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/",e.WebGLRootUrl="https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/",e.WebGL2Functions={beginQuery:"beginQuery",beginTransformFeedback:"beginTransformFeedback",bindBufferBase:"bindBufferBase",bindBufferRange:"bindBufferRange",bindSampler:"bindSampler",bindTransformFeedback:"bindTransformFeedback",bindVertexArray:"bindVertexArray",blitFramebuffer:"blitFramebuffer",clearBufferfv:"clearBuffer",clearBufferiv:"clearBuffer",clearBufferuiv:"clearBuffer",clearBufferfi:"clearBuffer",clientWaitSync:"clientWaitSync",compressedTexImage3D:"compressedTexImage3D",compressedTexSubImage3D:"compressedTexSubImage3D",copyBufferSubData:"copyBufferSubData",copyTexSubImage3D:"copyTexSubImage3D",createQuery:"createQuery",createSampler:"createSampler",createTransformFeedback:"createTransformFeedback",createVertexArray:"createVertexArray",deleteQuery:"deleteQuery",deleteSampler:"deleteSampler",deleteSync:"deleteSync",deleteTransformFeedback:"deleteTransformFeedback",deleteVertexArray:"deleteVertexArray",drawArraysInstanced:"drawArraysInstanced",drawBuffers:"drawBuffers",drawElementsInstanced:"drawElementsInstanced",drawRangeElements:"drawRangeElements",endQuery:"endQuery",endTransformFeedback:"endTransformFeedback",fenceSync:"fenceSync",framebufferTextureLayer:"framebufferTextureLayer",getActiveUniformBlockName:"getActiveUniformBlockName",getActiveUniformBlockParameter:"getActiveUniformBlockParameter",getActiveUniforms:"getActiveUniforms",getBufferSubData:"getBufferSubData",getFragDataLocation:"getFragDataLocation",getIndexedParameter:"getIndexedParameter",getInternalformatParameter:"getInternalformatParameter",getQuery:"getQuery",getQueryParameter:"getQueryParameter",getSamplerParameter:"getSamplerParameter",getSyncParameter:"getSyncParameter",getTransformFeedbackVarying:"getTransformFeedbackVarying",getUniformBlockIndex:"getUniformBlockIndex",getUniformIndices:"getUniformIndices",invalidateFramebuffer:"invalidateFramebuffer",invalidateSubFramebuffer:"invalidateSubFramebuffer",isQuery:"isQuery",isSampler:"isSampler",isSync:"isSync",isTransformFeedback:"isTransformFeedback",isVertexArray:"isVertexArray",pauseTransformFeedback:"pauseTransformFeedback",readBuffer:"readBuffer",renderbufferStorageMultisample:"renderbufferStorageMultisample",resumeTransformFeedback:"resumeTransformFeedback",samplerParameteri:"samplerParameter",samplerParameterf:"samplerParameter",texImage3D:"texImage3D",texStorage2D:"texStorage2D",texStorage3D:"texStorage3D",texSubImage3D:"texSubImage3D",transformFeedbackVaryings:"transformFeedbackVaryings",uniform1ui:"uniform",uniform2ui:"uniform",uniform3ui:"uniform",uniform4ui:"uniform",uniform1fv:"uniform",uniform2fv:"uniform",uniform3fv:"uniform",uniform4fv:"uniform",uniform1iv:"uniform",uniform2iv:"uniform",uniform3iv:"uniform",uniform4iv:"uniform",uniform1uiv:"uniform",uniform2uiv:"uniform",uniform3uiv:"uniform",uniform4uiv:"uniform",uniformBlockBinding:"uniformBlockBinding",uniformMatrix2fv:"uniformMatrix",uniformMatrix3x2fv:"uniformMatrix",uniformMatrix4x2fv:"uniformMatrix",uniformMatrix2x3fv:"uniformMatrix",uniformMatrix3fv:"uniformMatrix",uniformMatrix4x3fv:"uniformMatrix",uniformMatrix2x4fv:"uniformMatrix",uniformMatrix3x4fv:"uniformMatrix",uniformMatrix4fv:"uniformMatrix",vertexAttribDivisor:"vertexAttribDivisor",vertexAttribI4i:"vertexAttribI",vertexAttribI4ui:"vertexAttribI",vertexAttribI4iv:"vertexAttribI",vertexAttribI4uiv:"vertexAttribI",vertexAttribIPointer:"vertexAttribIPointer",waitSync:"waitSync"},e.WebGLFunctions={uniform1f:"uniform",uniform1fv:"uniform",uniform1i:"uniform",uniform1iv:"uniform",uniform2f:"uniform",uniform2fv:"uniform",uniform2i:"uniform",uniform2iv:"uniform",uniform3f:"uniform",uniform3i:"uniform",uniform3iv:"uniform",uniform4f:"uniform",uniform4fv:"uniform",uniform4i:"uniform",uniform4iv:"uniform",uniformMatrix2fv:"uniformMatrix",uniformMatrix3fv:"uniformMatrix",uniformMatrix4fv:"uniformMatrix",vertexAttrib1f:"vertexAttrib",vertexAttrib2f:"vertexAttrib",vertexAttrib3f:"vertexAttrib",vertexAttrib4f:"vertexAttrib",vertexAttrib1fv:"vertexAttrib",vertexAttrib2fv:"vertexAttrib",vertexAttrib3fv:"vertexAttrib",vertexAttrib4fv:"vertexAttrib"},e}(),vi=function(){function e(e){var t=this;void 0===e&&(e=null),this.rootPlaceHolder=e,this.onSourceCodeChanged=new s,this.rootPlaceHolder=this.rootPlaceHolder||document.body,this.mvx=new Jt(this.rootPlaceHolder),this.searchText="",this.currentCommandId=-1,this.visible=!1,this.commandCount=0,this.commandListStateId=-1,this.commandDetailStateId=-1,this.currentCaptureStateId=-1,this.currentCommandStateId=-1,this.currentVisualStateId=-1,this.visualStateListStateId=-1,this.initVisualStateId=-1,this.sourceCodeComponentStateId=-1,this.captureListComponent=new En,this.captureListItemComponent=new An,this.visualStateListComponent=new Rn,this.visualStateListItemComponent=new wn,this.commandListComponent=new Fn,this.commandListItemComponent=new On,this.commandDetailComponent=new kn,this.jsonContentComponent=new Bn,this.jsonGroupComponent=new Gn,this.jsonItemComponent=new Vn,this.jsonImageItemComponent=new zn,this.jsonSourceItemComponent=new qn,this.jsonHelpItemComponent=new Jn,this.jsonVisualStateItemComponent=new ti,this.resultViewMenuComponent=new ri,this.resultViewContentComponent=new si,this.resultViewComponent=new li,this.sourceCodeComponent=new di,this.informationColumnComponent=new fi,this.rootStateId=this.mvx.addRootState(null,this.resultViewComponent),this.menuStateId=this.mvx.addChildState(this.rootStateId,null,this.resultViewMenuComponent),this.contentStateId=this.mvx.addChildState(this.rootStateId,null,this.resultViewContentComponent),this.captureListStateId=this.mvx.addChildState(this.rootStateId,!1,this.captureListComponent),this.initKeyboardEvents(),this.initMenuComponent(),this.captureListComponent.onCaptureLoaded.add((function(e){t.addCapture(e)})),this.captureListItemComponent.onCaptureSelected.add((function(e){t.selectCapture(e.stateId)})),this.captureListItemComponent.onSaveRequested.add((function(e){t.saveCapture(e.state.capture)})),this.visualStateListItemComponent.onVisualStateSelected.add((function(e){t.selectVisualState(e.stateId)})),this.commandListItemComponent.onCommandSelected.add((function(e){t.selectCommand(e.stateId)})),this.commandListItemComponent.onVertexSelected.add((function(e){t.selectCommand(e.stateId),t.openShader(!1)})),this.commandListItemComponent.onFragmentSelected.add((function(e){t.selectCommand(e.stateId),t.openShader(!0)})),this.sourceCodeComponent.onSourceCodeCloseClicked.add((function(){t.displayCurrentCapture()})),this.sourceCodeComponent.onVertexSourceClicked.add((function(e){var n=t.mvx.getGenericState(t.sourceCodeComponentStateId);n.fragment=!1,t.mvx.updateState(t.sourceCodeComponentStateId,n)})),this.sourceCodeComponent.onFragmentSourceClicked.add((function(e){var n=t.mvx.getGenericState(t.sourceCodeComponentStateId);n.fragment=!0,t.mvx.updateState(t.sourceCodeComponentStateId,n)})),this.sourceCodeComponent.onSourceCodeChanged.add((function(e){t.onSourceCodeChanged.trigger({programId:e.state.programId,sourceFragment:e.state.sourceFragment,sourceVertex:e.state.sourceVertex})})),this.jsonSourceItemComponent.onOpenSourceClicked.add((function(e){t.openShader("FRAGMENT_SHADER"===e.state.value)})),this.updateViewState()}return e.prototype.saveCapture=function(e){var t=JSON.stringify(e,null,4),n=new Blob([t],{type:"octet/stream"}),i="capture "+new Date(e.startTime).toTimeString().split(" ")[0]+".json";if(navigator.msSaveBlob)navigator.msSaveBlob(n,i);else{var r=document.createElement("a"),o=window.URL.createObjectURL(n);r.setAttribute("href",o),r.setAttribute("download",i),r.click()}},e.prototype.selectCapture=function(e){this.currentCommandId=-1,this.currentCaptureStateId=e,this.displayCurrentCapture()},e.prototype.selectCommand=function(e){this.currentCommandStateId=e,this.currentVisualStateId=this.displayCurrentCommand(),this.displayCurrentVisualState()},e.prototype.selectVisualState=function(e){this.currentVisualStateId=e,this.currentCommandStateId=this.displayCurrentVisualState(),this.displayCurrentCommand()},e.prototype.display=function(){this.visible=!0,this.updateViewState()},e.prototype.hide=function(){this.visible=!1,this.updateViewState()},e.prototype.addCapture=function(e){var t=this.mvx.insertChildState(this.captureListStateId,{capture:e,active:!1},0,this.captureListItemComponent);return this.selectCapture(t),t},e.prototype.showSourceCodeError=function(e){this.sourceCodeComponent.showError(e)},e.prototype.initKeyboardEvents=function(){var e=this;this.rootPlaceHolder.addEventListener("keydown",(function(t){40===e.mvx.getGenericState(e.menuStateId).status&&(38===t.keyCode?(t.preventDefault(),t.stopPropagation(),e.selectPreviousCommand()):40===t.keyCode?(t.preventDefault(),t.stopPropagation(),e.selectNextCommand()):33===t.keyCode?(t.preventDefault(),t.stopPropagation(),e.selectPreviousVisualState()):34===t.keyCode&&(t.preventDefault(),t.stopPropagation(),e.selectNextVisualState()))}))},e.prototype.openShader=function(e){this.mvx.removeChildrenStates(this.contentStateId);var t=this.mvx.getGenericState(this.currentCommandStateId);this.sourceCodeComponentStateId=this.mvx.addChildState(this.contentStateId,{programId:t.capture.DrawCall.programStatus.program.__SPECTOR_Object_TAG.id,nameVertex:t.capture.DrawCall.shaders[0].name,nameFragment:t.capture.DrawCall.shaders[1].name,sourceVertex:t.capture.DrawCall.shaders[0].source,sourceFragment:t.capture.DrawCall.shaders[1].source,fragment:e,editable:t.capture.DrawCall.programStatus.RECOMPILABLE},this.sourceCodeComponent),this.commandDetailStateId=this.mvx.addChildState(this.contentStateId,null,this.commandDetailComponent),this.displayCurrentCommandDetail(t)},e.prototype.selectPreviousCommand=function(){var e=this.mvx.getGenericState(this.currentCommandStateId);e.previousCommandStateId<0||this.selectCommand(e.previousCommandStateId)},e.prototype.selectNextCommand=function(){var e=this.mvx.getGenericState(this.currentCommandStateId);e.nextCommandStateId<0||this.selectCommand(e.nextCommandStateId)},e.prototype.selectPreviousVisualState=function(){var e=this.mvx.getGenericState(this.currentVisualStateId);e.previousVisualStateId<0||this.selectVisualState(e.previousVisualStateId)},e.prototype.selectNextVisualState=function(){var e=this.mvx.getGenericState(this.currentVisualStateId);e.nextVisualStateId<0||this.selectVisualState(e.nextVisualStateId)},e.prototype.initMenuComponent=function(){var e=this;this.mvx.updateState(this.menuStateId,{status:0,searchText:this.searchText,commandCount:0}),this.resultViewMenuComponent.onCloseClicked.add((function(t){e.hide()})),this.resultViewMenuComponent.onCapturesClicked.add((function(t){e.displayCaptures()})),this.resultViewMenuComponent.onCommandsClicked.add((function(t){e.displayCurrentCapture()})),this.resultViewMenuComponent.onInformationClicked.add((function(t){e.displayInformation()})),this.resultViewMenuComponent.onInitStateClicked.add((function(t){e.displayInitState()})),this.resultViewMenuComponent.onEndStateClicked.add((function(t){e.displayEndState()})),this.resultViewMenuComponent.onSearchTextChanged.add((function(t){e.search(t.sender.value)})),this.resultViewMenuComponent.onSearchTextCleared.add((function(t){e.mvx.updateState(e.menuStateId,{status:t.state.status,searchText:"",commandCount:t.state.commandCount}),e.search("")}))},e.prototype.onCaptureRelatedAction=function(e){var t=this.mvx.getGenericState(this.currentCaptureStateId);return this.commandCount=t.capture.commands.length,this.mvx.removeChildrenStates(this.contentStateId),this.mvx.updateState(this.menuStateId,{status:e,searchText:this.searchText,commandCount:this.commandCount}),this.mvx.getGenericState(this.captureListStateId)&&this.mvx.updateState(this.captureListStateId,!1),t.capture},e.prototype.displayCaptures=function(){this.mvx.updateState(this.menuStateId,{status:0,searchText:this.searchText,commandCount:this.commandCount}),this.mvx.updateState(this.captureListStateId,!0)},e.prototype.displayInformation=function(){var e=this.onCaptureRelatedAction(10),t=this.mvx.addChildState(this.contentStateId,!0,this.informationColumnComponent),n=this.mvx.addChildState(this.contentStateId,!1,this.informationColumnComponent),i=this.mvx.addChildState(t,null,this.jsonContentComponent);this.displayJSONGroup(i,"Canvas",e.canvas),this.displayJSONGroup(i,"Context",e.context);for(var r=this.mvx.addChildState(n,null,this.jsonContentComponent),o=0,s=e.analyses;o<s.length;o++){var a=s[o];this.displayJSONGroup(r,a.analyserName,a)}this.displayJSONGroup(r,"Frame Memory Changes",e.frameMemory),this.displayJSONGroup(r,"Total Memory (seconds since application start: bytes)",e.memory)},e.prototype.displayJSON=function(e,t){for(var n in t.VisualState&&this.mvx.addChildState(e,t.VisualState,this.jsonVisualStateItemComponent),t)if("VisualState"!==n&&"analyserName"!==n){var i=t[n];if("source"===n)this.mvx.addChildState(e,{key:n,value:t.SHADER_TYPE},this.jsonSourceItemComponent);else if("visual"===n)for(var r in i)i.hasOwnProperty(r)&&i[r]&&this.mvx.addChildState(e,{key:r,value:i[r]},this.jsonImageItemComponent);else{var o=this.getJSONAsString(e,n,i);if(null==o)continue;if(this.toFilter(n)&&this.toFilter(i))continue;this.mvx.addChildState(e,{key:n,value:o},this.jsonItemComponent)}i&&i.__SPECTOR_Metadata&&this.displayJSONGroup(e,"Metadata",i.__SPECTOR_Metadata)}},e.prototype.getJSONAsString=function(e,t,n){if(null===n)return"null";if(void 0===n)return"undefined";if("number"==typeof n)return Math.floor(n)===n?n.toFixed(0):n.toFixed(4);if("string"==typeof n)return n;if("boolean"==typeof n)return n?"true":"false";if(0===n.length)return"Empty Array";if(n.length){for(var i=[],r=0;r<n.length;r++){var o=this.getJSONAsString(e,t+"("+r.toFixed(0)+")",n[r]);null!==o&&i.push(o)}return 0===i.length?null:i.join(", ")}return n.help?(this.mvx.addChildState(e,{key:t,value:n.name,help:n.help},this.jsonHelpItemComponent),null):n.__SPECTOR_Object_TAG?n.__SPECTOR_Object_TAG.displayText:n.displayText?n.displayText:("object"==typeof n&&this.displayJSONGroup(e,t,n),null)},e.prototype.displayJSONGroup=function(e,t,n){if(n){var i=this.mvx.addChildState(e,t,this.jsonGroupComponent);this.displayJSON(i,n),this.mvx.hasChildren(i)||this.mvx.removeState(i)}},e.prototype.displayInitState=function(){var e=this.onCaptureRelatedAction(20),t=this.mvx.addChildState(this.contentStateId,null,this.jsonContentComponent);this.displayJSON(t,e.initState)},e.prototype.displayEndState=function(){var e=this.onCaptureRelatedAction(30),t=this.mvx.addChildState(this.contentStateId,null,this.jsonContentComponent);this.displayJSON(t,e.endState)},e.prototype.displayCurrentCapture=function(){var e=this.onCaptureRelatedAction(40);this.mvx.updateAllChildrenGenericState(this.captureListStateId,(function(e){return e.active=!1,e})),this.mvx.updateState(this.currentCaptureStateId,{capture:e,active:!0}),this.createVisualStates(e),this.commandListStateId=this.mvx.addChildState(this.contentStateId,null,this.commandListComponent),this.commandDetailStateId=this.mvx.addChildState(this.contentStateId,null,this.commandDetailComponent),this.createCommands(e)},e.prototype.displayCurrentCommand=function(){if(40!==this.mvx.getGenericState(this.menuStateId).status)return-1;var e=this.mvx.getGenericState(this.currentCommandStateId),t=e.capture;return this.currentCommandId=t.id,this.mvx.updateAllChildrenGenericState(this.commandListStateId,(function(e){return e.active=!1,e})),this.mvx.updateState(this.currentCommandStateId,{capture:t,visualStateId:e.visualStateId,previousCommandStateId:e.previousCommandStateId,nextCommandStateId:e.nextCommandStateId,active:!0}),this.displayCurrentCommandDetail(e)},e.prototype.displayCurrentCommandDetail=function(e){var t=e.capture;this.mvx.removeChildrenStates(this.commandDetailStateId);var n=this.mvx.getGenericState(e.visualStateId);this.mvx.addChildState(this.commandDetailStateId,n.VisualState,this.jsonVisualStateItemComponent);var i="Unknown";switch(t.status){case 50:i="Deprecated";break;case 10:i="Unused";break;case 20:i="Disabled";break;case 30:i="Redundant";break;case 40:i="Valid"}var r=gi.getMDNLink(t.name);for(var o in t.result?this.displayJSONGroup(this.commandDetailStateId,"Global",{name:{help:r,name:t.name},duration:t.commandEndTime-t.startTime,result:t.result,status:i}):this.displayJSONGroup(this.commandDetailStateId,"Global",{name:{help:r,name:t.name},duration:t.commandEndTime-t.startTime,status:i}),t)"VisualState"!==o&&"result"!==o&&"object"==typeof t[o]&&this.displayJSONGroup(this.commandDetailStateId,o,t[o]);return e.visualStateId},e.prototype.displayCurrentVisualState=function(){if(40!==this.mvx.getGenericState(this.menuStateId).status)return null;var e=this.mvx.getGenericState(this.currentVisualStateId);return e.commandStateId===Number.MIN_VALUE?this.displayInitState():e.commandStateId===Number.MAX_VALUE&&this.displayEndState(),this.mvx.updateAllChildrenGenericState(this.visualStateListStateId,(function(e){return e.active=!1,e})),e.active=!0,this.mvx.updateState(this.currentVisualStateId,e),e.commandStateId},e.prototype.createVisualStates=function(e){this.visualStateListStateId=this.mvx.addChildState(this.contentStateId,null,this.visualStateListComponent),this.mvx.removeChildrenStates(this.visualStateListStateId),this.initVisualStateId=this.mvx.addChildState(this.visualStateListStateId,{VisualState:e.initState.VisualState,time:e.startTime,commandStateId:Number.MIN_VALUE,active:!1},this.visualStateListItemComponent)},e.prototype.createCommands=function(e){this.mvx.removeChildrenStates(this.commandListStateId);for(var t=this.initVisualStateId,n=!1,i=null,r=-1,o=null,s=-1,a=0;a<e.commands.length;a++){var c=e.commands[a];if(!this.toFilter(c.marker)||!this.toFilter(c.name)||c.id===this.currentCommandId){var l={capture:c,previousCommandStateId:r,nextCommandStateId:-1,visualStateId:void 0,active:!1},u=this.mvx.addChildState(this.commandListStateId,l,this.commandListItemComponent);if(i&&((i=this.mvx.getGenericState(r)).nextCommandStateId=u,this.mvx.updateState(r,i)),r=u,i=l,c.VisualState){var h={VisualState:c.VisualState,time:c.endTime,commandStateId:u,active:!1,previousVisualStateId:s,nextVisualStateId:-1};t=this.mvx.addChildState(this.visualStateListStateId,h,this.visualStateListItemComponent),o&&((o=this.mvx.getGenericState(s)).nextVisualStateId=t,this.mvx.updateState(s,o)),o=h,s=t,n=!0}else if(!n){var d=this.mvx.getGenericState(this.initVisualStateId);d.commandStateId=u,d.previousVisualStateId=-1,d.nextVisualStateId=-1,this.mvx.updateState(this.initVisualStateId,d),o=d,s=t,n=!0}l.visualStateId=t,this.mvx.updateState(u,l),(-1===this.currentCommandId&&0===a||this.currentCommandId===c.id)&&(this.currentCommandStateId=u,this.displayCurrentCommand(),this.currentVisualStateId=t,this.displayCurrentVisualState())}}},e.prototype.updateViewState=function(){this.mvx.updateState(this.rootStateId,this.visible)},e.prototype.toFilter=function(e){return e=(e+="").toLowerCase(),!!(this.searchText&&this.searchText.length>2&&-1===e.indexOf(this.searchText.toLowerCase()))},e.prototype.search=function(e){switch(this.searchText=e,this.mvx.getGenericState(this.menuStateId).status){case 0:case 40:this.displayCurrentCapture();break;case 30:this.displayEndState();break;case 10:this.displayInformation();break;case 20:this.displayInitState()}this.searchText=""},e}();n.d(t,"EmbeddedFrontend",(function(){return _i})),n.d(t,"Spector",(function(){return Ei}));var _i={CaptureMenu:gn,ResultView:vi},Ei=function(){function e(){this.noFrameTimeout=-1,this.captureNextFrames=0,this.captureNextCommands=0,this.quickCapture=!1,this.retry=0,this.contexts=[],this.timeSpy=new Kt,this.onCaptureStarted=new s,this.onCapture=new s,this.onError=new s,this.timeSpy.onFrameStart.add(this.onFrameStart,this),this.timeSpy.onFrameEnd.add(this.onFrameEnd,this),this.timeSpy.onError.add(this.onErrorInternal,this)}return e.getFirstAvailable3dContext=function(e){return this.tryGetContextFromHelperField(e)||this.tryGetContextFromCanvas(e,"webgl")||this.tryGetContextFromCanvas(e,"experimental-webgl")||this.tryGetContextFromCanvas(e,"webgl2")||this.tryGetContextFromCanvas(e,"experimental-webgl2")},e.tryGetContextFromHelperField=function(e){var t=e.getAttribute("__spector_context_type");if(t)return this.tryGetContextFromCanvas(e,t)},e.tryGetContextFromCanvas=function(e,t){var n;try{n=e.getContext(t)}catch(e){}return n},e.prototype.displayUI=function(e){var t=this;void 0===e&&(e=!1),this.captureMenu||(this.getCaptureUI(),this.captureMenu.onPauseRequested.add(this.pause,this),this.captureMenu.onPlayRequested.add(this.play,this),this.captureMenu.onPlayNextFrameRequested.add(this.playNextFrame,this),this.captureMenu.onCaptureRequested.add((function(e){e&&t.captureCanvas(e.ref)}),this),setInterval((function(){t.captureMenu.setFPS(t.getFps())}),1e3),e||this.captureMenu.trackPageCanvases(),this.captureMenu.display()),this.resultView||(this.getResultUI(),this.onCapture.add((function(e){t.resultView.display(),t.resultView.addCapture(e)})))},e.prototype.getResultUI=function(){var e=this;return this.resultView||(this.resultView=new vi,this.resultView.onSourceCodeChanged.add((function(t){e.rebuildProgramFromProgramId(t.programId,t.sourceVertex,t.sourceFragment,(function(n){e.referenceNewProgram(t.programId,n),e.resultView.showSourceCodeError(null)}),(function(t){e.resultView.showSourceCodeError(t)}))}))),this.resultView},e.prototype.getCaptureUI=function(){return this.captureMenu||(this.captureMenu=new gn),this.captureMenu},e.prototype.rebuildProgramFromProgramId=function(e,t,n,i,r){var o=vt.getFromGlobalStore(e);this.rebuildProgram(o,t,n,i,r)},e.prototype.rebuildProgram=function(e,t,n,i,o){r.rebuildProgram(e,t,n,i,o)},e.prototype.referenceNewProgram=function(e,t){vt.updateInGlobalStore(e,t)},e.prototype.pause=function(){this.timeSpy.changeSpeedRatio(0)},e.prototype.play=function(){this.timeSpy.changeSpeedRatio(1)},e.prototype.playNextFrame=function(){this.timeSpy.playNextFrame()},e.prototype.drawOnlyEveryXFrame=function(e){this.timeSpy.changeSpeedRatio(e)},e.prototype.getFps=function(){return this.timeSpy.getFps()},e.prototype.spyCanvases=function(){this.canvasSpy?this.onErrorInternal("Already spying canvas."):(this.canvasSpy=new Yt,this.canvasSpy.onContextRequested.add(this.spyContext,this))},e.prototype.spyCanvas=function(e){this.canvasSpy?this.onErrorInternal("Already spying canvas."):(this.canvasSpy=new Yt(e),this.canvasSpy.onContextRequested.add(this.spyContext,this))},e.prototype.getAvailableContexts=function(){return this.getAvailableContexts()},e.prototype.captureCanvas=function(t,n,i){void 0===n&&(n=0),void 0===i&&(i=!1);var r=this.getAvailableContextSpyByCanvas(t);if(r)this.captureContextSpy(r,n,i);else{var s=e.getFirstAvailable3dContext(t);s?this.captureContext(s,n,i):o.error("No webgl context available on the chosen canvas.")}},e.prototype.captureContext=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=!1);var i=this.getAvailableContextSpyByCanvas(e.canvas);i||((i=e.getIndexedParameter?new zt({context:e,version:2,recordAlways:!1}):new zt({context:e,version:1,recordAlways:!1})).onMaxCommand.add(this.stopCapture,this),this.contexts.push({canvas:i.context.canvas,contextSpy:i})),i&&this.captureContextSpy(i,t,n)},e.prototype.captureContextSpy=function(e,t,n){var i=this;void 0===t&&(t=0),void 0===n&&(n=!1),this.quickCapture=n,this.capturingContext?this.onErrorInternal("Already capturing a context."):(this.retry=0,this.capturingContext=e,this.capturingContext.setMarker(this.marker),(t=Math.min(t,5e3))>0?this.captureCommands(t):this.captureFrames(1),this.noFrameTimeout=setTimeout((function(){t>0?i.stopCapture():i.capturingContext&&i.retry>1?i.onErrorInternal("No frames with gl commands detected. Try moving the camera."):i.onErrorInternal("No frames detected. Try moving the camera or implementing requestAnimationFrame.")}),1e4))},e.prototype.captureNextFrame=function(e,t){void 0===t&&(t=!1),e instanceof HTMLCanvasElement?this.captureCanvas(e,0,t):this.captureContext(e,0,t)},e.prototype.startCapture=function(e,t,n){void 0===n&&(n=!1),e instanceof HTMLCanvasElement?this.captureCanvas(e,t,n):this.captureContext(e,t,n)},e.prototype.stopCapture=function(){if(this.capturingContext){var e=this.capturingContext.stopCapture();if(e.commands.length>0)return this.noFrameTimeout>-1&&clearTimeout(this.noFrameTimeout),this.triggerCapture(e),this.capturingContext=void 0,this.captureNextFrames=0,this.captureNextCommands=0,e;0===this.captureNextCommands&&(this.retry++,this.captureFrames(1))}},e.prototype.setMarker=function(e){this.marker=e,this.capturingContext&&this.capturingContext.setMarker(e)},e.prototype.clearMarker=function(){this.marker=null,this.capturingContext&&this.capturingContext.clearMarker()},e.prototype.captureFrames=function(e){this.captureNextFrames=e,this.captureNextCommands=0,this.playNextFrame()},e.prototype.captureCommands=function(e){this.captureNextFrames=0,this.captureNextCommands=e,this.play(),this.capturingContext?(this.onCaptureStarted.trigger(void 0),this.capturingContext.startCapture(e,this.quickCapture)):(this.onErrorInternal("No context to capture from."),this.captureNextCommands=0)},e.prototype.spyContext=function(e){var t=this.getAvailableContextSpyByCanvas(e.context.canvas);t||((t=new zt({context:e.context,version:e.contextVersion,recordAlways:!0})).onMaxCommand.add(this.stopCapture,this),this.contexts.push({canvas:t.context.canvas,contextSpy:t})),t.spy()},e.prototype.getAvailableContextSpyByCanvas=function(e){for(var t=0,n=this.contexts;t<n.length;t++){var i=n[t];if(i.canvas===e)return i.contextSpy}},e.prototype.onFrameStart=function(){this.captureNextCommands>0||(this.captureNextFrames>0?(this.capturingContext&&(this.onCaptureStarted.trigger(void 0),this.capturingContext.startCapture(0,this.quickCapture)),this.captureNextFrames--):this.capturingContext=void 0)},e.prototype.onFrameEnd=function(){this.captureNextCommands>0||0===this.captureNextFrames&&this.stopCapture()},e.prototype.triggerCapture=function(e){this.captureMenu&&this.captureMenu.captureComplete(null),this.onCapture.trigger(e)},e.prototype.onErrorInternal=function(e){if(o.error(e),this.noFrameTimeout>-1&&clearTimeout(this.noFrameTimeout),!this.capturingContext)throw e;this.capturingContext=void 0,this.captureNextFrames=0,this.captureNextCommands=0,this.retry=0,this.captureMenu&&this.captureMenu.captureComplete(e),this.onError.trigger(e)},e}()}])})); \ No newline at end of file diff --git a/public/GV/thirdParty/Threejs-109/custom/tween.umd.js b/public/GV/thirdParty/Threejs-109/custom/tween.umd.js new file mode 100644 index 000000000..5cefd7fd7 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/custom/tween.umd.js @@ -0,0 +1,972 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.TWEEN = factory()); +}(this, (function () { 'use strict'; + + const version = '18.4.2'; + + /** + * Tween.js - Licensed under the MIT license + * https://github.com/tweenjs/tween.js + * ---------------------------------------------- + * + * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors. + * Thank you all, you're awesome! + */ + + + var _Group = function () { + this._tweens = {}; + this._tweensAddedDuringUpdate = {}; + }; + + _Group.prototype = { + getAll: function () { + + return Object.keys(this._tweens).map(function (tweenId) { + return this._tweens[tweenId]; + }.bind(this)); + + }, + + removeAll: function () { + + this._tweens = {}; + + }, + + add: function (tween) { + + this._tweens[tween.getId()] = tween; + this._tweensAddedDuringUpdate[tween.getId()] = tween; + + }, + + remove: function (tween) { + + delete this._tweens[tween.getId()]; + delete this._tweensAddedDuringUpdate[tween.getId()]; + + }, + + update: function (time, preserve) { + + var tweenIds = Object.keys(this._tweens); + + if (tweenIds.length === 0) { + return false; + } + + time = time !== undefined ? time : TWEEN.now(); + + // Tweens are updated in "batches". If you add a new tween during an + // update, then the new tween will be updated in the next batch. + // If you remove a tween during an update, it may or may not be updated. + // However, if the removed tween was added during the current batch, + // then it will not be updated. + while (tweenIds.length > 0) { + this._tweensAddedDuringUpdate = {}; + + for (var i = 0; i < tweenIds.length; i++) { + + var tween = this._tweens[tweenIds[i]]; + + if (tween && tween.update(time) === false) { + tween._isPlaying = false; + + if (!preserve) { + delete this._tweens[tweenIds[i]]; + } + } + } + + tweenIds = Object.keys(this._tweensAddedDuringUpdate); + } + + return true; + + } + }; + + var TWEEN = new _Group(); + + TWEEN.Group = _Group; + TWEEN._nextId = 0; + TWEEN.nextId = function () { + return TWEEN._nextId++; + }; + + + // Include a performance.now polyfill. + // In node.js, use process.hrtime. + if (typeof (self) === 'undefined' && typeof (process) !== 'undefined' && process.hrtime) { + TWEEN.now = function () { + var time = process.hrtime(); + + // Convert [seconds, nanoseconds] to milliseconds. + return time[0] * 1000 + time[1] / 1000000; + }; + } + // In a browser, use self.performance.now if it is available. + else if (typeof (self) !== 'undefined' && + self.performance !== undefined && + self.performance.now !== undefined) { + // This must be bound, because directly assigning this function + // leads to an invocation exception in Chrome. + TWEEN.now = self.performance.now.bind(self.performance); + } + // Use Date.now if it is available. + else if (Date.now !== undefined) { + TWEEN.now = Date.now; + } + // Otherwise, use 'new Date().getTime()'. + else { + TWEEN.now = function () { + return new Date().getTime(); + }; + } + + + TWEEN.Tween = function (object, group) { + this._isPaused = false; + this._pauseStart = null; + this._object = object; + this._valuesStart = {}; + this._valuesEnd = {}; + this._valuesStartRepeat = {}; + this._duration = 1000; + this._repeat = 0; + this._repeatDelayTime = undefined; + this._yoyo = false; + this._isPlaying = false; + this._reversed = false; + this._delayTime = 0; + this._startTime = null; + this._easingFunction = TWEEN.Easing.Linear.None; + this._interpolationFunction = TWEEN.Interpolation.Linear; + this._chainedTweens = []; + this._onStartCallback = null; + this._onStartCallbackFired = false; + this._onUpdateCallback = null; + this._onRepeatCallback = null; + this._onCompleteCallback = null; + this._onStopCallback = null; + this._group = group || TWEEN; + this._id = TWEEN.nextId(); + + }; + + TWEEN.Tween.prototype = { + getId: function () { + return this._id; + }, + + isPlaying: function () { + return this._isPlaying; + }, + + isPaused: function () { + return this._isPaused; + }, + + to: function (properties, duration) { + + this._valuesEnd = Object.create(properties); + + if (duration !== undefined) { + this._duration = duration; + } + + return this; + + }, + + duration: function duration(d) { + this._duration = d; + return this; + }, + + start: function (time) { + + this._group.add(this); + + this._isPlaying = true; + + this._isPaused = false; + + this._onStartCallbackFired = false; + + this._startTime = time !== undefined ? typeof time === 'string' ? TWEEN.now() + parseFloat(time) : time : TWEEN.now(); + this._startTime += this._delayTime; + + for (var property in this._valuesEnd) { + + // Check if an Array was provided as property value + if (this._valuesEnd[property] instanceof Array) { + + if (this._valuesEnd[property].length === 0) { + continue; + } + + // Create a local copy of the Array with the start value at the front + this._valuesEnd[property] = [this._object[property]].concat(this._valuesEnd[property]); + + } + + // If `to()` specifies a property that doesn't exist in the source object, + // we should not set that property in the object + if (this._object[property] === undefined) { + continue; + } + + // Save the starting value, but only once. + if (typeof(this._valuesStart[property]) === 'undefined') { + this._valuesStart[property] = this._object[property]; + } + + if ((this._valuesStart[property] instanceof Array) === false) { + this._valuesStart[property] *= 1.0; // Ensures we're using numbers, not strings + } + + this._valuesStartRepeat[property] = this._valuesStart[property] || 0; + + } + + return this; + + }, + + stop: function () { + + if (!this._isPlaying) { + return this; + } + + this._group.remove(this); + + this._isPlaying = false; + + this._isPaused = false; + + if (this._onStopCallback !== null) { + this._onStopCallback(this._object); + } + + this.stopChainedTweens(); + return this; + + }, + + end: function () { + + this.update(Infinity); + return this; + + }, + + pause: function(time) { + + if (this._isPaused || !this._isPlaying) { + return this; + } + + this._isPaused = true; + + this._pauseStart = time === undefined ? TWEEN.now() : time; + + this._group.remove(this); + + return this; + + }, + + resume: function(time) { + + if (!this._isPaused || !this._isPlaying) { + return this; + } + + this._isPaused = false; + + this._startTime += (time === undefined ? TWEEN.now() : time) + - this._pauseStart; + + this._pauseStart = 0; + + this._group.add(this); + + return this; + + }, + + stopChainedTweens: function () { + + for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) { + this._chainedTweens[i].stop(); + } + + }, + + group: function (group) { + this._group = group; + return this; + }, + + delay: function (amount) { + + this._delayTime = amount; + return this; + + }, + + repeat: function (times) { + + this._repeat = times; + return this; + + }, + + repeatDelay: function (amount) { + + this._repeatDelayTime = amount; + return this; + + }, + + yoyo: function (yoyo) { + + this._yoyo = yoyo; + return this; + + }, + + easing: function (easingFunction) { + + this._easingFunction = easingFunction; + return this; + + }, + + interpolation: function (interpolationFunction) { + + this._interpolationFunction = interpolationFunction; + return this; + + }, + + chain: function () { + + this._chainedTweens = arguments; + return this; + + }, + + onStart: function (callback) { + + this._onStartCallback = callback; + return this; + + }, + + onUpdate: function (callback) { + + this._onUpdateCallback = callback; + return this; + + }, + + onRepeat: function onRepeat(callback) { + + this._onRepeatCallback = callback; + return this; + + }, + + onComplete: function (callback) { + + this._onCompleteCallback = callback; + return this; + + }, + + onStop: function (callback) { + + this._onStopCallback = callback; + return this; + + }, + + update: function (time) { + + var property; + var elapsed; + var value; + + if (time < this._startTime) { + return true; + } + + if (this._onStartCallbackFired === false) { + + if (this._onStartCallback !== null) { + this._onStartCallback(this._object); + } + + this._onStartCallbackFired = true; + } + + elapsed = (time - this._startTime) / this._duration; + elapsed = (this._duration === 0 || elapsed > 1) ? 1 : elapsed; + + value = this._easingFunction(elapsed); + + for (property in this._valuesEnd) { + + // Don't update properties that do not exist in the source object + if (this._valuesStart[property] === undefined) { + continue; + } + + var start = this._valuesStart[property] || 0; + var end = this._valuesEnd[property]; + + if (end instanceof Array) { + + this._object[property] = this._interpolationFunction(end, value); + + } else { + + // Parses relative end values with start as base (e.g.: +10, -3) + if (typeof (end) === 'string') { + + if (end.charAt(0) === '+' || end.charAt(0) === '-') { + end = start + parseFloat(end); + } else { + end = parseFloat(end); + } + } + + // Protect against non numeric properties. + if (typeof (end) === 'number') { + this._object[property] = start + (end - start) * value; + } + + } + + } + + if (this._onUpdateCallback !== null) { + this._onUpdateCallback(this._object, elapsed); + } + + if (elapsed === 1) { + + if (this._repeat > 0) { + + if (isFinite(this._repeat)) { + this._repeat--; + } + + // Reassign starting values, restart by making startTime = now + for (property in this._valuesStartRepeat) { + + if (typeof (this._valuesEnd[property]) === 'string') { + this._valuesStartRepeat[property] = this._valuesStartRepeat[property] + parseFloat(this._valuesEnd[property]); + } + + if (this._yoyo) { + var tmp = this._valuesStartRepeat[property]; + + this._valuesStartRepeat[property] = this._valuesEnd[property]; + this._valuesEnd[property] = tmp; + } + + this._valuesStart[property] = this._valuesStartRepeat[property]; + + } + + if (this._yoyo) { + this._reversed = !this._reversed; + } + + if (this._repeatDelayTime !== undefined) { + this._startTime = time + this._repeatDelayTime; + } else { + this._startTime = time + this._delayTime; + } + + if (this._onRepeatCallback !== null) { + this._onRepeatCallback(this._object); + } + + return true; + + } else { + + if (this._onCompleteCallback !== null) { + + this._onCompleteCallback(this._object); + } + + for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) { + // Make the chained tweens start exactly at the time they should, + // even if the `update()` method was called way past the duration of the tween + this._chainedTweens[i].start(this._startTime + this._duration); + } + + return false; + + } + + } + + return true; + + } + }; + + + TWEEN.Easing = { + + Linear: { + + None: function (k) { + + return k; + + } + + }, + + Quadratic: { + + In: function (k) { + + return k * k; + + }, + + Out: function (k) { + + return k * (2 - k); + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return 0.5 * k * k; + } + + return - 0.5 * (--k * (k - 2) - 1); + + } + + }, + + Cubic: { + + In: function (k) { + + return k * k * k; + + }, + + Out: function (k) { + + return --k * k * k + 1; + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return 0.5 * k * k * k; + } + + return 0.5 * ((k -= 2) * k * k + 2); + + } + + }, + + Quartic: { + + In: function (k) { + + return k * k * k * k; + + }, + + Out: function (k) { + + return 1 - (--k * k * k * k); + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return 0.5 * k * k * k * k; + } + + return - 0.5 * ((k -= 2) * k * k * k - 2); + + } + + }, + + Quintic: { + + In: function (k) { + + return k * k * k * k * k; + + }, + + Out: function (k) { + + return --k * k * k * k * k + 1; + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return 0.5 * k * k * k * k * k; + } + + return 0.5 * ((k -= 2) * k * k * k * k + 2); + + } + + }, + + Sinusoidal: { + + In: function (k) { + + return 1 - Math.cos(k * Math.PI / 2); + + }, + + Out: function (k) { + + return Math.sin(k * Math.PI / 2); + + }, + + InOut: function (k) { + + return 0.5 * (1 - Math.cos(Math.PI * k)); + + } + + }, + + Exponential: { + + In: function (k) { + + return k === 0 ? 0 : Math.pow(1024, k - 1); + + }, + + Out: function (k) { + + return k === 1 ? 1 : 1 - Math.pow(2, - 10 * k); + + }, + + InOut: function (k) { + + if (k === 0) { + return 0; + } + + if (k === 1) { + return 1; + } + + if ((k *= 2) < 1) { + return 0.5 * Math.pow(1024, k - 1); + } + + return 0.5 * (- Math.pow(2, - 10 * (k - 1)) + 2); + + } + + }, + + Circular: { + + In: function (k) { + + return 1 - Math.sqrt(1 - k * k); + + }, + + Out: function (k) { + + return Math.sqrt(1 - (--k * k)); + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return - 0.5 * (Math.sqrt(1 - k * k) - 1); + } + + return 0.5 * (Math.sqrt(1 - (k -= 2) * k) + 1); + + } + + }, + + Elastic: { + + In: function (k) { + + if (k === 0) { + return 0; + } + + if (k === 1) { + return 1; + } + + return -Math.pow(2, 10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI); + + }, + + Out: function (k) { + + if (k === 0) { + return 0; + } + + if (k === 1) { + return 1; + } + + return Math.pow(2, -10 * k) * Math.sin((k - 0.1) * 5 * Math.PI) + 1; + + }, + + InOut: function (k) { + + if (k === 0) { + return 0; + } + + if (k === 1) { + return 1; + } + + k *= 2; + + if (k < 1) { + return -0.5 * Math.pow(2, 10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI); + } + + return 0.5 * Math.pow(2, -10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI) + 1; + + } + + }, + + Back: { + + In: function (k) { + + var s = 1.70158; + + return k * k * ((s + 1) * k - s); + + }, + + Out: function (k) { + + var s = 1.70158; + + return --k * k * ((s + 1) * k + s) + 1; + + }, + + InOut: function (k) { + + var s = 1.70158 * 1.525; + + if ((k *= 2) < 1) { + return 0.5 * (k * k * ((s + 1) * k - s)); + } + + return 0.5 * ((k -= 2) * k * ((s + 1) * k + s) + 2); + + } + + }, + + Bounce: { + + In: function (k) { + + return 1 - TWEEN.Easing.Bounce.Out(1 - k); + + }, + + Out: function (k) { + + if (k < (1 / 2.75)) { + return 7.5625 * k * k; + } else if (k < (2 / 2.75)) { + return 7.5625 * (k -= (1.5 / 2.75)) * k + 0.75; + } else if (k < (2.5 / 2.75)) { + return 7.5625 * (k -= (2.25 / 2.75)) * k + 0.9375; + } else { + return 7.5625 * (k -= (2.625 / 2.75)) * k + 0.984375; + } + + }, + + InOut: function (k) { + + if (k < 0.5) { + return TWEEN.Easing.Bounce.In(k * 2) * 0.5; + } + + return TWEEN.Easing.Bounce.Out(k * 2 - 1) * 0.5 + 0.5; + + } + + } + + }; + + TWEEN.Interpolation = { + + Linear: function (v, k) { + + var m = v.length - 1; + var f = m * k; + var i = Math.floor(f); + var fn = TWEEN.Interpolation.Utils.Linear; + + if (k < 0) { + return fn(v[0], v[1], f); + } + + if (k > 1) { + return fn(v[m], v[m - 1], m - f); + } + + return fn(v[i], v[i + 1 > m ? m : i + 1], f - i); + + }, + + Bezier: function (v, k) { + + var b = 0; + var n = v.length - 1; + var pw = Math.pow; + var bn = TWEEN.Interpolation.Utils.Bernstein; + + for (var i = 0; i <= n; i++) { + b += pw(1 - k, n - i) * pw(k, i) * v[i] * bn(n, i); + } + + return b; + + }, + + CatmullRom: function (v, k) { + + var m = v.length - 1; + var f = m * k; + var i = Math.floor(f); + var fn = TWEEN.Interpolation.Utils.CatmullRom; + + if (v[0] === v[m]) { + + if (k < 0) { + i = Math.floor(f = m * (1 + k)); + } + + return fn(v[(i - 1 + m) % m], v[i], v[(i + 1) % m], v[(i + 2) % m], f - i); + + } else { + + if (k < 0) { + return v[0] - (fn(v[0], v[0], v[1], v[1], -f) - v[0]); + } + + if (k > 1) { + return v[m] - (fn(v[m], v[m], v[m - 1], v[m - 1], f - m) - v[m]); + } + + return fn(v[i ? i - 1 : 0], v[i], v[m < i + 1 ? m : i + 1], v[m < i + 2 ? m : i + 2], f - i); + + } + + }, + + Utils: { + + Linear: function (p0, p1, t) { + + return (p1 - p0) * t + p0; + + }, + + Bernstein: function (n, i) { + + var fc = TWEEN.Interpolation.Utils.Factorial; + + return fc(n) / fc(i) / fc(n - i); + + }, + + Factorial: (function () { + + var a = [1]; + + return function (n) { + + var s = 1; + + if (a[n]) { + return a[n]; + } + + for (var i = n; i > 1; i--) { + s *= i; + } + + a[n] = s; + return s; + + }; + + })(), + + CatmullRom: function (p0, p1, p2, p3, t) { + + var v0 = (p2 - p0) * 0.5; + var v1 = (p3 - p1) * 0.5; + var t2 = t * t; + var t3 = t * t2; + + return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (- 3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1; + + } + + } + + }; + TWEEN.version = version; + + return TWEEN; + +}))); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/libs/stats.min.js b/public/GV/thirdParty/Threejs-109/examples/js/libs/stats.min.js new file mode 100644 index 000000000..2d779b199 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/libs/stats.min.js @@ -0,0 +1,5 @@ +// stats.js - http://github.com/mrdoob/stats.js +var Stats=function(){function h(a){c.appendChild(a.dom);return a}function k(a){for(var d=0;d<c.children.length;d++)c.children[d].style.display=d===a?"block":"none";l=a}var l=0,c=document.createElement("div");c.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000";c.addEventListener("click",function(a){a.preventDefault();k(++l%c.children.length)},!1);var g=(performance||Date).now(),e=g,a=0,r=h(new Stats.Panel("FPS","#0ff","#002")),f=h(new Stats.Panel("MS","#0f0","#020")); +if(self.performance&&self.performance.memory)var t=h(new Stats.Panel("MB","#f08","#201"));k(0);return{REVISION:16,dom:c,addPanel:h,showPanel:k,begin:function(){g=(performance||Date).now()},end:function(){a++;var c=(performance||Date).now();f.update(c-g,200);if(c>e+1E3&&(r.update(1E3*a/(c-e),100),e=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){g=this.end()},domElement:c,setMode:k}}; +Stats.Panel=function(h,k,l){var c=Infinity,g=0,e=Math.round,a=e(window.devicePixelRatio||1),r=80*a,f=48*a,t=3*a,u=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement("canvas");q.width=r;q.height=f;q.style.cssText="width:80px;height:48px";var b=q.getContext("2d");b.font="bold "+9*a+"px Helvetica,Arial,sans-serif";b.textBaseline="top";b.fillStyle=l;b.fillRect(0,0,r,f);b.fillStyle=k;b.fillText(h,t,u);b.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(f, +v){c=Math.min(c,f);g=Math.max(g,f);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=k;b.fillText(e(f)+" "+h+" ("+e(c)+"-"+e(g)+")",t,u);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,e((1-f/v)*p))}}};"object"===typeof module&&(module.exports=Stats); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/lines/Line2.js b/public/GV/thirdParty/Threejs-109/examples/js/lines/Line2.js new file mode 100644 index 000000000..96f72ea5c --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/lines/Line2.js @@ -0,0 +1,31 @@ +/** + * @author WestLangley / http://github.com/WestLangley + * + */ + +THREE.Line2 = function ( geometry, material ) { + + THREE.LineSegments2.call( this ); + + this.type = 'Line2'; + + this.geometry = geometry !== undefined ? geometry : new THREE.LineGeometry(); + this.material = material !== undefined ? material : new THREE.LineMaterial( { color: Math.random() * 0xffffff } ); + +}; + +THREE.Line2.prototype = Object.assign( Object.create( THREE.LineSegments2.prototype ), { + + constructor: THREE.Line2, + + isLine2: true, + + copy: function ( /* source */ ) { + + // todo + + return this; + + } + +} ); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/lines/LineGeometry.js b/public/GV/thirdParty/Threejs-109/examples/js/lines/LineGeometry.js new file mode 100644 index 000000000..b5fa0e2d2 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/lines/LineGeometry.js @@ -0,0 +1,98 @@ +/** + * @author WestLangley / http://github.com/WestLangley + * + */ + +THREE.LineGeometry = function () { + + THREE.LineSegmentsGeometry.call( this ); + + this.type = 'LineGeometry'; + +}; + +THREE.LineGeometry.prototype = Object.assign( Object.create( THREE.LineSegmentsGeometry.prototype ), { + + constructor: THREE.LineGeometry, + + isLineGeometry: true, + + setPositions: function ( array ) { + + // converts [ x1, y1, z1, x2, y2, z2, ... ] to pairs format + + var length = array.length - 3; + var points = new Float32Array( 2 * length ); + + for ( var i = 0; i < length; i += 3 ) { + + points[ 2 * i ] = array[ i ]; + points[ 2 * i + 1 ] = array[ i + 1 ]; + points[ 2 * i + 2 ] = array[ i + 2 ]; + + points[ 2 * i + 3 ] = array[ i + 3 ]; + points[ 2 * i + 4 ] = array[ i + 4 ]; + points[ 2 * i + 5 ] = array[ i + 5 ]; + + } + + THREE.LineSegmentsGeometry.prototype.setPositions.call( this, points ); + + return this; + + }, + + setColors: function ( array ) { + + // converts [ r1, g1, b1, r2, g2, b2, ... ] to pairs format + + var length = array.length - 3; + var colors = new Float32Array( 2 * length ); + + for ( var i = 0; i < length; i += 3 ) { + + colors[ 2 * i ] = array[ i ]; + colors[ 2 * i + 1 ] = array[ i + 1 ]; + colors[ 2 * i + 2 ] = array[ i + 2 ]; + + colors[ 2 * i + 3 ] = array[ i + 3 ]; + colors[ 2 * i + 4 ] = array[ i + 4 ]; + colors[ 2 * i + 5 ] = array[ i + 5 ]; + + } + + THREE.LineSegmentsGeometry.prototype.setColors.call( this, colors ); + + return this; + + }, + + fromLine: function ( line ) { + + var geometry = line.geometry; + + if ( geometry.isGeometry ) { + + this.setPositions( geometry.vertices ); + + } else if ( geometry.isBufferGeometry ) { + + this.setPositions( geometry.position.array ); // assumes non-indexed + + } + + // set colors, maybe + + return this; + + }, + + copy: function ( /* source */ ) { + + // todo + + return this; + + } + +} ); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/lines/LineMaterial.js b/public/GV/thirdParty/Threejs-109/examples/js/lines/LineMaterial.js new file mode 100644 index 000000000..b1060b20d --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/lines/LineMaterial.js @@ -0,0 +1,391 @@ +/** + * @author WestLangley / http://github.com/WestLangley + * + * parameters = { + * color: <hex>, + * linewidth: <float>, + * dashed: <boolean>, + * dashScale: <float>, + * dashSize: <float>, + * gapSize: <float>, + * resolution: <Vector2>, // to be set by renderer + * } + */ + +THREE.UniformsLib.line = { + + linewidth: { value: 1 }, + resolution: { value: new THREE.Vector2( 1, 1 ) }, + dashScale: { value: 1 }, + dashSize: { value: 1 }, + gapSize: { value: 1 } // todo FIX - maybe change to totalSize + +}; + +THREE.ShaderLib[ 'line' ] = { + + uniforms: THREE.UniformsUtils.merge( [ + THREE.UniformsLib.common, + THREE.UniformsLib.fog, + THREE.UniformsLib.line + ] ), + + vertexShader: + ` + #include <common> + #include <color_pars_vertex> + #include <fog_pars_vertex> + #include <logdepthbuf_pars_vertex> + #include <clipping_planes_pars_vertex> + + uniform float linewidth; + uniform vec2 resolution; + + attribute vec3 instanceStart; + attribute vec3 instanceEnd; + + attribute vec3 instanceColorStart; + attribute vec3 instanceColorEnd; + + varying vec2 vUv; + + #ifdef USE_DASH + + uniform float dashScale; + attribute float instanceDistanceStart; + attribute float instanceDistanceEnd; + varying float vLineDistance; + + #endif + + void trimSegment( const in vec4 start, inout vec4 end ) { + + // trim end segment so it terminates between the camera plane and the near plane + + // conservative estimate of the near plane + float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column + float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column + float nearEstimate = - 0.5 * b / a; + + float alpha = ( nearEstimate - start.z ) / ( end.z - start.z ); + + end.xyz = mix( start.xyz, end.xyz, alpha ); + + } + + void main() { + + #ifdef USE_COLOR + + vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; + + #endif + + #ifdef USE_DASH + + vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; + + #endif + + float aspect = resolution.x / resolution.y; + + vUv = uv; + + // camera space + vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); + vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); + + // special case for perspective projection, and segments that terminate either in, or behind, the camera plane + // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space + // but we need to perform ndc-space calculations in the shader, so we must address this issue directly + // perhaps there is a more elegant solution -- WestLangley + + bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column + + if ( perspective ) { + + if ( start.z < 0.0 && end.z >= 0.0 ) { + + trimSegment( start, end ); + + } else if ( end.z < 0.0 && start.z >= 0.0 ) { + + trimSegment( end, start ); + + } + + } + + // clip space + vec4 clipStart = projectionMatrix * start; + vec4 clipEnd = projectionMatrix * end; + + // ndc space + vec2 ndcStart = clipStart.xy / clipStart.w; + vec2 ndcEnd = clipEnd.xy / clipEnd.w; + + // direction + vec2 dir = ndcEnd - ndcStart; + + // account for clip-space aspect ratio + dir.x *= aspect; + dir = normalize( dir ); + + // perpendicular to dir + vec2 offset = vec2( dir.y, - dir.x ); + + // undo aspect ratio adjustment + dir.x /= aspect; + offset.x /= aspect; + + // sign flip + if ( position.x < 0.0 ) offset *= - 1.0; + + // endcaps + if ( position.y < 0.0 ) { + + offset += - dir; + + } else if ( position.y > 1.0 ) { + + offset += dir; + + } + + // adjust for linewidth + offset *= linewidth; + + // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... + offset /= resolution.y; + + // select end + vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; + + // back to clip space + offset *= clip.w; + + clip.xy += offset; + + gl_Position = clip; + + vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation + + #include <logdepthbuf_vertex> + #include <clipping_planes_vertex> + #include <fog_vertex> + + } + `, + + fragmentShader: + ` + uniform vec3 diffuse; + uniform float opacity; + + #ifdef USE_DASH + + uniform float dashSize; + uniform float gapSize; + + #endif + + varying float vLineDistance; + + #include <common> + #include <color_pars_fragment> + #include <fog_pars_fragment> + #include <logdepthbuf_pars_fragment> + #include <clipping_planes_pars_fragment> + + varying vec2 vUv; + + void main() { + + #include <clipping_planes_fragment> + + #ifdef USE_DASH + + if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps + + if ( mod( vLineDistance, dashSize + gapSize ) > dashSize ) discard; // todo - FIX + + #endif + + if ( abs( vUv.y ) > 1.0 ) { + + float a = vUv.x; + float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; + float len2 = a * a + b * b; + + if ( len2 > 1.0 ) discard; + + } + + vec4 diffuseColor = vec4( diffuse, opacity ); + + #include <logdepthbuf_fragment> + #include <color_fragment> + + gl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a ); + + #include <premultiplied_alpha_fragment> + #include <tonemapping_fragment> + #include <encodings_fragment> + #include <fog_fragment> + + } + ` +}; + +THREE.LineMaterial = function ( parameters ) { + + THREE.ShaderMaterial.call( this, { + + type: 'LineMaterial', + + uniforms: THREE.UniformsUtils.clone( THREE.ShaderLib[ 'line' ].uniforms ), + + vertexShader: THREE.ShaderLib[ 'line' ].vertexShader, + fragmentShader: THREE.ShaderLib[ 'line' ].fragmentShader + + } ); + + this.dashed = false; + + Object.defineProperties( this, { + + color: { + + enumerable: true, + + get: function () { + + return this.uniforms.diffuse.value; + + }, + + set: function ( value ) { + + this.uniforms.diffuse.value = value; + + } + + }, + + linewidth: { + + enumerable: true, + + get: function () { + + return this.uniforms.linewidth.value; + + }, + + set: function ( value ) { + + this.uniforms.linewidth.value = value; + + } + + }, + + dashScale: { + + enumerable: true, + + get: function () { + + return this.uniforms.dashScale.value; + + }, + + set: function ( value ) { + + this.uniforms.dashScale.value = value; + + } + + }, + + dashSize: { + + enumerable: true, + + get: function () { + + return this.uniforms.dashSize.value; + + }, + + set: function ( value ) { + + this.uniforms.dashSize.value = value; + + } + + }, + + gapSize: { + + enumerable: true, + + get: function () { + + return this.uniforms.gapSize.value; + + }, + + set: function ( value ) { + + this.uniforms.gapSize.value = value; + + } + + }, + + resolution: { + + enumerable: true, + + get: function () { + + return this.uniforms.resolution.value; + + }, + + set: function ( value ) { + + this.uniforms.resolution.value.copy( value ); + + } + + } + + } ); + + this.setValues( parameters ); + +}; + +THREE.LineMaterial.prototype = Object.create( THREE.ShaderMaterial.prototype ); +THREE.LineMaterial.prototype.constructor = THREE.LineMaterial; + +THREE.LineMaterial.prototype.isLineMaterial = true; + +THREE.LineMaterial.prototype.copy = function ( source ) { + + THREE.ShaderMaterial.prototype.copy.call( this, source ); + + this.color.copy( source.color ); + + this.linewidth = source.linewidth; + + this.resolution = source.resolution; + + // todo + + return this; + +}; + diff --git a/public/GV/thirdParty/Threejs-109/examples/js/lines/LineSegments2.js b/public/GV/thirdParty/Threejs-109/examples/js/lines/LineSegments2.js new file mode 100644 index 000000000..625e8aea0 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/lines/LineSegments2.js @@ -0,0 +1,65 @@ +/** + * @author WestLangley / http://github.com/WestLangley + * + */ + +THREE.LineSegments2 = function ( geometry, material ) { + + THREE.Mesh.call( this ); + + this.type = 'LineSegments2'; + + this.geometry = geometry !== undefined ? geometry : new THREE.LineSegmentsGeometry(); + this.material = material !== undefined ? material : new THREE.LineMaterial( { color: Math.random() * 0xffffff } ); + +}; + +THREE.LineSegments2.prototype = Object.assign( Object.create( THREE.Mesh.prototype ), { + + constructor: THREE.LineSegments2, + + isLineSegments2: true, + + computeLineDistances: ( function () { // for backwards-compatability, but could be a method of LineSegmentsGeometry... + + var start = new THREE.Vector3(); + var end = new THREE.Vector3(); + + return function computeLineDistances() { + + var geometry = this.geometry; + + var instanceStart = geometry.attributes.instanceStart; + var instanceEnd = geometry.attributes.instanceEnd; + var lineDistances = new Float32Array( 2 * instanceStart.data.count ); + + for ( var i = 0, j = 0, l = instanceStart.data.count; i < l; i ++, j += 2 ) { + + start.fromBufferAttribute( instanceStart, i ); + end.fromBufferAttribute( instanceEnd, i ); + + lineDistances[ j ] = ( j === 0 ) ? 0 : lineDistances[ j - 1 ]; + lineDistances[ j + 1 ] = lineDistances[ j ] + start.distanceTo( end ); + + } + + var instanceDistanceBuffer = new THREE.InstancedInterleavedBuffer( lineDistances, 2, 1 ); // d0, d1 + + geometry.addAttribute( 'instanceDistanceStart', new THREE.InterleavedBufferAttribute( instanceDistanceBuffer, 1, 0 ) ); // d0 + geometry.addAttribute( 'instanceDistanceEnd', new THREE.InterleavedBufferAttribute( instanceDistanceBuffer, 1, 1 ) ); // d1 + + return this; + + }; + + }() ), + + copy: function ( /* source */ ) { + + // todo + + return this; + + } + +} ); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/lines/LineSegmentsGeometry.js b/public/GV/thirdParty/Threejs-109/examples/js/lines/LineSegmentsGeometry.js new file mode 100644 index 000000000..4b5cef603 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/lines/LineSegmentsGeometry.js @@ -0,0 +1,258 @@ +/** + * @author WestLangley / http://github.com/WestLangley + * + */ + +THREE.LineSegmentsGeometry = function () { + + THREE.InstancedBufferGeometry.call( this ); + + this.type = 'LineSegmentsGeometry'; + + var positions = [ - 1, 2, 0, 1, 2, 0, - 1, 1, 0, 1, 1, 0, - 1, 0, 0, 1, 0, 0, - 1, - 1, 0, 1, - 1, 0 ]; + var uvs = [ - 1, 2, 1, 2, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 2, 1, - 2 ]; + var index = [ 0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5 ]; + + this.setIndex( index ); + this.addAttribute( 'position', new THREE.Float32BufferAttribute( positions, 3 ) ); + this.addAttribute( 'uv', new THREE.Float32BufferAttribute( uvs, 2 ) ); + +}; + +THREE.LineSegmentsGeometry.prototype = Object.assign( Object.create( THREE.InstancedBufferGeometry.prototype ), { + + constructor: THREE.LineSegmentsGeometry, + + isLineSegmentsGeometry: true, + + applyMatrix: function ( matrix ) { + + var start = this.attributes.instanceStart; + var end = this.attributes.instanceEnd; + + if ( start !== undefined ) { + + matrix.applyToBufferAttribute( start ); + + matrix.applyToBufferAttribute( end ); + + start.data.needsUpdate = true; + + } + + if ( this.boundingBox !== null ) { + + this.computeBoundingBox(); + + } + + if ( this.boundingSphere !== null ) { + + this.computeBoundingSphere(); + + } + + return this; + + }, + + setPositions: function ( array ) { + + var lineSegments; + + if ( array instanceof Float32Array ) { + + lineSegments = array; + + } else if ( Array.isArray( array ) ) { + + lineSegments = new Float32Array( array ); + + } + + var instanceBuffer = new THREE.InstancedInterleavedBuffer( lineSegments, 6, 1 ); // xyz, xyz + + this.addAttribute( 'instanceStart', new THREE.InterleavedBufferAttribute( instanceBuffer, 3, 0 ) ); // xyz + this.addAttribute( 'instanceEnd', new THREE.InterleavedBufferAttribute( instanceBuffer, 3, 3 ) ); // xyz + + // + + this.computeBoundingBox(); + this.computeBoundingSphere(); + + return this; + + }, + + setColors: function ( array ) { + + var colors; + + if ( array instanceof Float32Array ) { + + colors = array; + + } else if ( Array.isArray( array ) ) { + + colors = new Float32Array( array ); + + } + + var instanceColorBuffer = new THREE.InstancedInterleavedBuffer( colors, 6, 1 ); // rgb, rgb + + this.addAttribute( 'instanceColorStart', new THREE.InterleavedBufferAttribute( instanceColorBuffer, 3, 0 ) ); // rgb + this.addAttribute( 'instanceColorEnd', new THREE.InterleavedBufferAttribute( instanceColorBuffer, 3, 3 ) ); // rgb + + return this; + + }, + + fromWireframeGeometry: function ( geometry ) { + + this.setPositions( geometry.attributes.position.array ); + + return this; + + }, + + fromEdgesGeometry: function ( geometry ) { + + this.setPositions( geometry.attributes.position.array ); + + return this; + + }, + + fromMesh: function ( mesh ) { + + this.fromWireframeGeometry( new THREE.WireframeGeometry( mesh.geometry ) ); + + // set colors, maybe + + return this; + + }, + + fromLineSegements: function ( lineSegments ) { + + var geometry = lineSegments.geometry; + + if ( geometry.isGeometry ) { + + this.setPositions( geometry.vertices ); + + } else if ( geometry.isBufferGeometry ) { + + this.setPositions( geometry.position.array ); // assumes non-indexed + + } + + // set colors, maybe + + return this; + + }, + + computeBoundingBox: function () { + + var box = new THREE.Box3(); + + return function computeBoundingBox() { + + if ( this.boundingBox === null ) { + + this.boundingBox = new THREE.Box3(); + + } + + var start = this.attributes.instanceStart; + var end = this.attributes.instanceEnd; + + if ( start !== undefined && end !== undefined ) { + + this.boundingBox.setFromBufferAttribute( start ); + + box.setFromBufferAttribute( end ); + + this.boundingBox.union( box ); + + } + + }; + + }(), + + computeBoundingSphere: function () { + + var vector = new THREE.Vector3(); + + return function computeBoundingSphere() { + + if ( this.boundingSphere === null ) { + + this.boundingSphere = new THREE.Sphere(); + + } + + if ( this.boundingBox === null ) { + + this.computeBoundingBox(); + + } + + var start = this.attributes.instanceStart; + var end = this.attributes.instanceEnd; + + if ( start !== undefined && end !== undefined ) { + + var center = this.boundingSphere.center; + + this.boundingBox.getCenter( center ); + + var maxRadiusSq = 0; + + for ( var i = 0, il = start.count; i < il; i ++ ) { + + vector.fromBufferAttribute( start, i ); + maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) ); + + vector.fromBufferAttribute( end, i ); + maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) ); + + } + + this.boundingSphere.radius = Math.sqrt( maxRadiusSq ); + + if ( isNaN( this.boundingSphere.radius ) ) { + + console.error( 'THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.', this ); + + } + + } + + }; + + }(), + + toJSON: function () { + + // todo + + }, + + clone: function () { + + // todo + + }, + + copy: function ( /* source */ ) { + + // todo + + return this; + + } + +} ); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/loaders/SVGLoader.js b/public/GV/thirdParty/Threejs-109/examples/js/loaders/SVGLoader.js new file mode 100644 index 000000000..2d4fb9853 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/loaders/SVGLoader.js @@ -0,0 +1,1968 @@ +/** + * @author mrdoob / http://mrdoob.com/ + * @author zz85 / http://joshuakoo.com/ + * @author yomboprime / https://yombo.org + */ + +THREE.SVGLoader = function ( manager ) { + + THREE.Loader.call( this, manager ); + +}; + +THREE.SVGLoader.prototype = Object.assign( Object.create( THREE.Loader.prototype ), { + + constructor: THREE.SVGLoader, + + load: function ( url, onLoad, onProgress, onError ) { + + var scope = this; + + var loader = new THREE.FileLoader( scope.manager ); + loader.setPath( scope.path ); + loader.load( url, function ( text ) { + + onLoad( scope.parse( text ) ); + + }, onProgress, onError ); + + }, + + parse: function ( text ) { + + function parseNode( node, style ) { + + if ( node.nodeType !== 1 ) return; + + var transform = getNodeTransform( node ); + + var path = null; + + switch ( node.nodeName ) { + + case 'svg': + break; + + case 'g': + style = parseStyle( node, style ); + break; + + case 'path': + style = parseStyle( node, style ); + if ( node.hasAttribute( 'd' ) ) path = parsePathNode( node ); + break; + + case 'rect': + style = parseStyle( node, style ); + path = parseRectNode( node ); + break; + + case 'polygon': + style = parseStyle( node, style ); + path = parsePolygonNode( node ); + break; + + case 'polyline': + style = parseStyle( node, style ); + path = parsePolylineNode( node ); + break; + + case 'circle': + style = parseStyle( node, style ); + path = parseCircleNode( node ); + break; + + case 'ellipse': + style = parseStyle( node, style ); + path = parseEllipseNode( node ); + break; + + case 'line': + style = parseStyle( node, style ); + path = parseLineNode( node ); + break; + + default: + console.log( node ); + + } + + if ( path ) { + + if ( style.fill !== undefined && style.fill !== 'none' ) { + + path.color.setStyle( style.fill ); + + } + + transformPath( path, currentTransform ); + + paths.push( path ); + + path.userData = { node: node, style: style }; + + } + + var nodes = node.childNodes; + + for ( var i = 0; i < nodes.length; i ++ ) { + + parseNode( nodes[ i ], style ); + + } + + if ( transform ) { + + transformStack.pop(); + + if ( transformStack.length > 0 ) { + + currentTransform.copy( transformStack[ transformStack.length - 1 ] ); + + } else { + + currentTransform.identity(); + + } + + } + + } + + function parsePathNode( node ) { + + var path = new THREE.ShapePath(); + + var point = new THREE.Vector2(); + var control = new THREE.Vector2(); + + var firstPoint = new THREE.Vector2(); + var isFirstPoint = true; + var doSetFirstPoint = false; + + var d = node.getAttribute( 'd' ); + + // console.log( d ); + + var commands = d.match( /[a-df-z][^a-df-z]*/ig ); + + for ( var i = 0, l = commands.length; i < l; i ++ ) { + + var command = commands[ i ]; + + var type = command.charAt( 0 ); + var data = command.substr( 1 ).trim(); + + if ( isFirstPoint === true ) { + + doSetFirstPoint = true; + isFirstPoint = false; + + } + + switch ( type ) { + + case 'M': + var numbers = parseFloats( data ); + for ( var j = 0, jl = numbers.length; j < jl; j += 2 ) { + + point.x = numbers[ j + 0 ]; + point.y = numbers[ j + 1 ]; + control.x = point.x; + control.y = point.y; + + if ( j === 0 ) { + + path.moveTo( point.x, point.y ); + + } else { + + path.lineTo( point.x, point.y ); + + } + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'H': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j ++ ) { + + point.x = numbers[ j ]; + control.x = point.x; + control.y = point.y; + path.lineTo( point.x, point.y ); + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'V': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j ++ ) { + + point.y = numbers[ j ]; + control.x = point.x; + control.y = point.y; + path.lineTo( point.x, point.y ); + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'L': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 2 ) { + + point.x = numbers[ j + 0 ]; + point.y = numbers[ j + 1 ]; + control.x = point.x; + control.y = point.y; + path.lineTo( point.x, point.y ); + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'C': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 6 ) { + + path.bezierCurveTo( + numbers[ j + 0 ], + numbers[ j + 1 ], + numbers[ j + 2 ], + numbers[ j + 3 ], + numbers[ j + 4 ], + numbers[ j + 5 ] + ); + control.x = numbers[ j + 2 ]; + control.y = numbers[ j + 3 ]; + point.x = numbers[ j + 4 ]; + point.y = numbers[ j + 5 ]; + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'S': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 4 ) { + + path.bezierCurveTo( + getReflection( point.x, control.x ), + getReflection( point.y, control.y ), + numbers[ j + 0 ], + numbers[ j + 1 ], + numbers[ j + 2 ], + numbers[ j + 3 ] + ); + control.x = numbers[ j + 0 ]; + control.y = numbers[ j + 1 ]; + point.x = numbers[ j + 2 ]; + point.y = numbers[ j + 3 ]; + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'Q': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 4 ) { + + path.quadraticCurveTo( + numbers[ j + 0 ], + numbers[ j + 1 ], + numbers[ j + 2 ], + numbers[ j + 3 ] + ); + control.x = numbers[ j + 0 ]; + control.y = numbers[ j + 1 ]; + point.x = numbers[ j + 2 ]; + point.y = numbers[ j + 3 ]; + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'T': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 2 ) { + + var rx = getReflection( point.x, control.x ); + var ry = getReflection( point.y, control.y ); + path.quadraticCurveTo( + rx, + ry, + numbers[ j + 0 ], + numbers[ j + 1 ] + ); + control.x = rx; + control.y = ry; + point.x = numbers[ j + 0 ]; + point.y = numbers[ j + 1 ]; + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'A': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 7 ) { + + var start = point.clone(); + point.x = numbers[ j + 5 ]; + point.y = numbers[ j + 6 ]; + control.x = point.x; + control.y = point.y; + parseArcCommand( + path, numbers[ j ], numbers[ j + 1 ], numbers[ j + 2 ], numbers[ j + 3 ], numbers[ j + 4 ], start, point + ); + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'm': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 2 ) { + + point.x += numbers[ j + 0 ]; + point.y += numbers[ j + 1 ]; + control.x = point.x; + control.y = point.y; + + if ( j === 0 ) { + + path.moveTo( point.x, point.y ); + + } else { + + path.lineTo( point.x, point.y ); + + } + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'h': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j ++ ) { + + point.x += numbers[ j ]; + control.x = point.x; + control.y = point.y; + path.lineTo( point.x, point.y ); + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'v': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j ++ ) { + + point.y += numbers[ j ]; + control.x = point.x; + control.y = point.y; + path.lineTo( point.x, point.y ); + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'l': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 2 ) { + + point.x += numbers[ j + 0 ]; + point.y += numbers[ j + 1 ]; + control.x = point.x; + control.y = point.y; + path.lineTo( point.x, point.y ); + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'c': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 6 ) { + + path.bezierCurveTo( + point.x + numbers[ j + 0 ], + point.y + numbers[ j + 1 ], + point.x + numbers[ j + 2 ], + point.y + numbers[ j + 3 ], + point.x + numbers[ j + 4 ], + point.y + numbers[ j + 5 ] + ); + control.x = point.x + numbers[ j + 2 ]; + control.y = point.y + numbers[ j + 3 ]; + point.x += numbers[ j + 4 ]; + point.y += numbers[ j + 5 ]; + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 's': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 4 ) { + + path.bezierCurveTo( + getReflection( point.x, control.x ), + getReflection( point.y, control.y ), + point.x + numbers[ j + 0 ], + point.y + numbers[ j + 1 ], + point.x + numbers[ j + 2 ], + point.y + numbers[ j + 3 ] + ); + control.x = point.x + numbers[ j + 0 ]; + control.y = point.y + numbers[ j + 1 ]; + point.x += numbers[ j + 2 ]; + point.y += numbers[ j + 3 ]; + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'q': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 4 ) { + + path.quadraticCurveTo( + point.x + numbers[ j + 0 ], + point.y + numbers[ j + 1 ], + point.x + numbers[ j + 2 ], + point.y + numbers[ j + 3 ] + ); + control.x = point.x + numbers[ j + 0 ]; + control.y = point.y + numbers[ j + 1 ]; + point.x += numbers[ j + 2 ]; + point.y += numbers[ j + 3 ]; + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 't': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 2 ) { + + var rx = getReflection( point.x, control.x ); + var ry = getReflection( point.y, control.y ); + path.quadraticCurveTo( + rx, + ry, + point.x + numbers[ j + 0 ], + point.y + numbers[ j + 1 ] + ); + control.x = rx; + control.y = ry; + point.x = point.x + numbers[ j + 0 ]; + point.y = point.y + numbers[ j + 1 ]; + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'a': + var numbers = parseFloats( data ); + + for ( var j = 0, jl = numbers.length; j < jl; j += 7 ) { + + var start = point.clone(); + point.x += numbers[ j + 5 ]; + point.y += numbers[ j + 6 ]; + control.x = point.x; + control.y = point.y; + parseArcCommand( + path, numbers[ j ], numbers[ j + 1 ], numbers[ j + 2 ], numbers[ j + 3 ], numbers[ j + 4 ], start, point + ); + + if ( j === 0 && doSetFirstPoint === true ) firstPoint.copy( point ); + + } + break; + + case 'Z': + case 'z': + path.currentPath.autoClose = true; + + if ( path.currentPath.curves.length > 0 ) { + + // Reset point to beginning of Path + point.copy( firstPoint ); + path.currentPath.currentPoint.copy( point ); + isFirstPoint = true; + + } + break; + + default: + console.warn( command ); + + } + + // console.log( type, parseFloats( data ), parseFloats( data ).length ) + + doSetFirstPoint = false; + + } + + return path; + + } + + /** + * https://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes + * https://mortoray.com/2017/02/16/rendering-an-svg-elliptical-arc-as-bezier-curves/ Appendix: Endpoint to center arc conversion + * From + * rx ry x-axis-rotation large-arc-flag sweep-flag x y + * To + * aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation + */ + + function parseArcCommand( path, rx, ry, x_axis_rotation, large_arc_flag, sweep_flag, start, end ) { + + x_axis_rotation = x_axis_rotation * Math.PI / 180; + + // Ensure radii are positive + rx = Math.abs( rx ); + ry = Math.abs( ry ); + + // Compute (x1′, y1′) + var dx2 = ( start.x - end.x ) / 2.0; + var dy2 = ( start.y - end.y ) / 2.0; + var x1p = Math.cos( x_axis_rotation ) * dx2 + Math.sin( x_axis_rotation ) * dy2; + var y1p = - Math.sin( x_axis_rotation ) * dx2 + Math.cos( x_axis_rotation ) * dy2; + + // Compute (cx′, cy′) + var rxs = rx * rx; + var rys = ry * ry; + var x1ps = x1p * x1p; + var y1ps = y1p * y1p; + + // Ensure radii are large enough + var cr = x1ps / rxs + y1ps / rys; + + if ( cr > 1 ) { + + // scale up rx,ry equally so cr == 1 + var s = Math.sqrt( cr ); + rx = s * rx; + ry = s * ry; + rxs = rx * rx; + rys = ry * ry; + + } + + var dq = ( rxs * y1ps + rys * x1ps ); + var pq = ( rxs * rys - dq ) / dq; + var q = Math.sqrt( Math.max( 0, pq ) ); + if ( large_arc_flag === sweep_flag ) q = - q; + var cxp = q * rx * y1p / ry; + var cyp = - q * ry * x1p / rx; + + // Step 3: Compute (cx, cy) from (cx′, cy′) + var cx = Math.cos( x_axis_rotation ) * cxp - Math.sin( x_axis_rotation ) * cyp + ( start.x + end.x ) / 2; + var cy = Math.sin( x_axis_rotation ) * cxp + Math.cos( x_axis_rotation ) * cyp + ( start.y + end.y ) / 2; + + // Step 4: Compute θ1 and Δθ + var theta = svgAngle( 1, 0, ( x1p - cxp ) / rx, ( y1p - cyp ) / ry ); + var delta = svgAngle( ( x1p - cxp ) / rx, ( y1p - cyp ) / ry, ( - x1p - cxp ) / rx, ( - y1p - cyp ) / ry ) % ( Math.PI * 2 ); + + path.currentPath.absellipse( cx, cy, rx, ry, theta, theta + delta, sweep_flag === 0, x_axis_rotation ); + + } + + function svgAngle( ux, uy, vx, vy ) { + + var dot = ux * vx + uy * vy; + var len = Math.sqrt( ux * ux + uy * uy ) * Math.sqrt( vx * vx + vy * vy ); + var ang = Math.acos( Math.max( - 1, Math.min( 1, dot / len ) ) ); // floating point precision, slightly over values appear + if ( ( ux * vy - uy * vx ) < 0 ) ang = - ang; + return ang; + + } + + /* + * According to https://www.w3.org/TR/SVG/shapes.html#RectElementRXAttribute + * rounded corner should be rendered to elliptical arc, but bezier curve does the job well enough + */ + function parseRectNode( node ) { + + var x = parseFloat( node.getAttribute( 'x' ) || 0 ); + var y = parseFloat( node.getAttribute( 'y' ) || 0 ); + var rx = parseFloat( node.getAttribute( 'rx' ) || 0 ); + var ry = parseFloat( node.getAttribute( 'ry' ) || 0 ); + var w = parseFloat( node.getAttribute( 'width' ) ); + var h = parseFloat( node.getAttribute( 'height' ) ); + + var path = new THREE.ShapePath(); + path.moveTo( x + 2 * rx, y ); + path.lineTo( x + w - 2 * rx, y ); + if ( rx !== 0 || ry !== 0 ) path.bezierCurveTo( x + w, y, x + w, y, x + w, y + 2 * ry ); + path.lineTo( x + w, y + h - 2 * ry ); + if ( rx !== 0 || ry !== 0 ) path.bezierCurveTo( x + w, y + h, x + w, y + h, x + w - 2 * rx, y + h ); + path.lineTo( x + 2 * rx, y + h ); + + if ( rx !== 0 || ry !== 0 ) { + + path.bezierCurveTo( x, y + h, x, y + h, x, y + h - 2 * ry ); + + } + + path.lineTo( x, y + 2 * ry ); + + if ( rx !== 0 || ry !== 0 ) { + + path.bezierCurveTo( x, y, x, y, x + 2 * rx, y ); + + } + + return path; + + } + + function parsePolygonNode( node ) { + + function iterator( match, a, b ) { + + var x = parseFloat( a ); + var y = parseFloat( b ); + + if ( index === 0 ) { + + path.moveTo( x, y ); + + } else { + + path.lineTo( x, y ); + + } + + index ++; + + } + + var regex = /(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g; + + var path = new THREE.ShapePath(); + + var index = 0; + + node.getAttribute( 'points' ).replace( regex, iterator ); + + path.currentPath.autoClose = true; + + return path; + + } + + function parsePolylineNode( node ) { + + function iterator( match, a, b ) { + + var x = parseFloat( a ); + var y = parseFloat( b ); + + if ( index === 0 ) { + + path.moveTo( x, y ); + + } else { + + path.lineTo( x, y ); + + } + + index ++; + + } + + var regex = /(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g; + + var path = new THREE.ShapePath(); + + var index = 0; + + node.getAttribute( 'points' ).replace( regex, iterator ); + + path.currentPath.autoClose = false; + + return path; + + } + + function parseCircleNode( node ) { + + var x = parseFloat( node.getAttribute( 'cx' ) ); + var y = parseFloat( node.getAttribute( 'cy' ) ); + var r = parseFloat( node.getAttribute( 'r' ) ); + + var subpath = new THREE.Path(); + subpath.absarc( x, y, r, 0, Math.PI * 2 ); + + var path = new THREE.ShapePath(); + path.subPaths.push( subpath ); + + return path; + + } + + function parseEllipseNode( node ) { + + var x = parseFloat( node.getAttribute( 'cx' ) ); + var y = parseFloat( node.getAttribute( 'cy' ) ); + var rx = parseFloat( node.getAttribute( 'rx' ) ); + var ry = parseFloat( node.getAttribute( 'ry' ) ); + + var subpath = new THREE.Path(); + subpath.absellipse( x, y, rx, ry, 0, Math.PI * 2 ); + + var path = new THREE.ShapePath(); + path.subPaths.push( subpath ); + + return path; + + } + + function parseLineNode( node ) { + + var x1 = parseFloat( node.getAttribute( 'x1' ) ); + var y1 = parseFloat( node.getAttribute( 'y1' ) ); + var x2 = parseFloat( node.getAttribute( 'x2' ) ); + var y2 = parseFloat( node.getAttribute( 'y2' ) ); + + var path = new THREE.ShapePath(); + path.moveTo( x1, y1 ); + path.lineTo( x2, y2 ); + path.currentPath.autoClose = false; + + return path; + + } + + // + + function parseStyle( node, style ) { + + style = Object.assign( {}, style ); // clone style + + function addStyle( svgName, jsName, adjustFunction ) { + + if ( adjustFunction === undefined ) adjustFunction = function copy( v ) { + + return v; + + }; + + if ( node.hasAttribute( svgName ) ) style[ jsName ] = adjustFunction( node.getAttribute( svgName ) ); + if ( node.style[ svgName ] !== '' ) style[ jsName ] = adjustFunction( node.style[ svgName ] ); + + } + + function clamp( v ) { + + return Math.max( 0, Math.min( 1, v ) ); + + } + + function positive( v ) { + + return Math.max( 0, v ); + + } + + addStyle( 'fill', 'fill' ); + addStyle( 'fill-opacity', 'fillOpacity', clamp ); + addStyle( 'stroke', 'stroke' ); + addStyle( 'stroke-opacity', 'strokeOpacity', clamp ); + addStyle( 'stroke-width', 'strokeWidth', positive ); + addStyle( 'stroke-linejoin', 'strokeLineJoin' ); + addStyle( 'stroke-linecap', 'strokeLineCap' ); + addStyle( 'stroke-miterlimit', 'strokeMiterLimit', positive ); + + return style; + + } + + // http://www.w3.org/TR/SVG11/implnote.html#PathElementImplementationNotes + + function getReflection( a, b ) { + + return a - ( b - a ); + + } + + function parseFloats( string ) { + + var array = string.split( /[\s,]+|(?=\s?[+\-])/ ); + + for ( var i = 0; i < array.length; i ++ ) { + + var number = array[ i ]; + + // Handle values like 48.6037.7.8 + // TODO Find a regex for this + + if ( number.indexOf( '.' ) !== number.lastIndexOf( '.' ) ) { + + var split = number.split( '.' ); + + for ( var s = 2; s < split.length; s ++ ) { + + array.splice( i + s - 1, 0, '0.' + split[ s ] ); + + } + + } + + array[ i ] = parseFloat( number ); + + } + + return array; + + + } + + function getNodeTransform( node ) { + + if ( ! node.hasAttribute( 'transform' ) ) { + + return null; + + } + + var transform = parseNodeTransform( node ); + + if ( transformStack.length > 0 ) { + + transform.premultiply( transformStack[ transformStack.length - 1 ] ); + + } + + currentTransform.copy( transform ); + transformStack.push( transform ); + + return transform; + + } + + function parseNodeTransform( node ) { + + var transform = new THREE.Matrix3(); + var currentTransform = tempTransform0; + var transformsTexts = node.getAttribute( 'transform' ).split( ')' ); + + for ( var tIndex = transformsTexts.length - 1; tIndex >= 0; tIndex -- ) { + + var transformText = transformsTexts[ tIndex ].trim(); + + if ( transformText === '' ) continue; + + var openParPos = transformText.indexOf( '(' ); + var closeParPos = transformText.length; + + if ( openParPos > 0 && openParPos < closeParPos ) { + + var transformType = transformText.substr( 0, openParPos ); + + var array = parseFloats( transformText.substr( openParPos + 1, closeParPos - openParPos - 1 ) ); + + currentTransform.identity(); + + switch ( transformType ) { + + case "translate": + + if ( array.length >= 1 ) { + + var tx = array[ 0 ]; + var ty = tx; + + if ( array.length >= 2 ) { + + ty = array[ 1 ]; + + } + + currentTransform.translate( tx, ty ); + + } + + break; + + case "rotate": + + if ( array.length >= 1 ) { + + var angle = 0; + var cx = 0; + var cy = 0; + + // Angle + angle = - array[ 0 ] * Math.PI / 180; + + if ( array.length >= 3 ) { + + // Center x, y + cx = array[ 1 ]; + cy = array[ 2 ]; + + } + + // Rotate around center (cx, cy) + tempTransform1.identity().translate( - cx, - cy ); + tempTransform2.identity().rotate( angle ); + tempTransform3.multiplyMatrices( tempTransform2, tempTransform1 ); + tempTransform1.identity().translate( cx, cy ); + currentTransform.multiplyMatrices( tempTransform1, tempTransform3 ); + + } + + break; + + case "scale": + + if ( array.length >= 1 ) { + + var scaleX = array[ 0 ]; + var scaleY = scaleX; + + if ( array.length >= 2 ) { + + scaleY = array[ 1 ]; + + } + + currentTransform.scale( scaleX, scaleY ); + + } + + break; + + case "skewX": + + if ( array.length === 1 ) { + + currentTransform.set( + 1, Math.tan( array[ 0 ] * Math.PI / 180 ), 0, + 0, 1, 0, + 0, 0, 1 + ); + + } + + break; + + case "skewY": + + if ( array.length === 1 ) { + + currentTransform.set( + 1, 0, 0, + Math.tan( array[ 0 ] * Math.PI / 180 ), 1, 0, + 0, 0, 1 + ); + + } + + break; + + case "matrix": + + if ( array.length === 6 ) { + + currentTransform.set( + array[ 0 ], array[ 2 ], array[ 4 ], + array[ 1 ], array[ 3 ], array[ 5 ], + 0, 0, 1 + ); + + } + + break; + + } + + } + + transform.premultiply( currentTransform ); + + } + + return transform; + + } + + function transformPath( path, m ) { + + function transfVec2( v2 ) { + + tempV3.set( v2.x, v2.y, 1 ).applyMatrix3( m ); + + v2.set( tempV3.x, tempV3.y ); + + } + + var isRotated = isTransformRotated( m ); + + var subPaths = path.subPaths; + + for ( var i = 0, n = subPaths.length; i < n; i ++ ) { + + var subPath = subPaths[ i ]; + var curves = subPath.curves; + + for ( var j = 0; j < curves.length; j ++ ) { + + var curve = curves[ j ]; + + if ( curve.isLineCurve ) { + + transfVec2( curve.v1 ); + transfVec2( curve.v2 ); + + } else if ( curve.isCubicBezierCurve ) { + + transfVec2( curve.v0 ); + transfVec2( curve.v1 ); + transfVec2( curve.v2 ); + transfVec2( curve.v3 ); + + } else if ( curve.isQuadraticBezierCurve ) { + + transfVec2( curve.v0 ); + transfVec2( curve.v1 ); + transfVec2( curve.v2 ); + + } else if ( curve.isEllipseCurve ) { + + if ( isRotated ) { + + console.warn( "SVGLoader: Elliptic arc or ellipse rotation or skewing is not implemented." ); + + } + + tempV2.set( curve.aX, curve.aY ); + transfVec2( tempV2 ); + curve.aX = tempV2.x; + curve.aY = tempV2.y; + + curve.xRadius *= getTransformScaleX( m ); + curve.yRadius *= getTransformScaleY( m ); + + } + + } + + } + + } + + function isTransformRotated( m ) { + + return m.elements[ 1 ] !== 0 || m.elements[ 3 ] !== 0; + + } + + function getTransformScaleX( m ) { + + var te = m.elements; + return Math.sqrt( te[ 0 ] * te[ 0 ] + te[ 1 ] * te[ 1 ] ); + + } + + function getTransformScaleY( m ) { + + var te = m.elements; + return Math.sqrt( te[ 3 ] * te[ 3 ] + te[ 4 ] * te[ 4 ] ); + + } + + // + + console.log( 'THREE.SVGLoader' ); + + var paths = []; + + var transformStack = []; + + var tempTransform0 = new THREE.Matrix3(); + var tempTransform1 = new THREE.Matrix3(); + var tempTransform2 = new THREE.Matrix3(); + var tempTransform3 = new THREE.Matrix3(); + var tempV2 = new THREE.Vector2(); + var tempV3 = new THREE.Vector3(); + + var currentTransform = new THREE.Matrix3(); + + console.time( 'THREE.SVGLoader: DOMParser' ); + + var xml = new DOMParser().parseFromString( text, 'image/svg+xml' ); // application/xml + + console.timeEnd( 'THREE.SVGLoader: DOMParser' ); + + console.time( 'THREE.SVGLoader: Parse' ); + + parseNode( xml.documentElement, { + fill: '#000', + fillOpacity: 1, + strokeOpacity: 1, + strokeWidth: 1, + strokeLineJoin: 'miter', + strokeLineCap: 'butt', + strokeMiterLimit: 4 + } ); + + var data = { paths: paths, xml: xml.documentElement }; + + // console.log( paths ); + + + console.timeEnd( 'THREE.SVGLoader: Parse' ); + + return data; + + } + +} ); + +THREE.SVGLoader.getStrokeStyle = function ( width, color, lineJoin, lineCap, miterLimit ) { + + // Param width: Stroke width + // Param color: As returned by THREE.Color.getStyle() + // Param lineJoin: One of "round", "bevel", "miter" or "miter-limit" + // Param lineCap: One of "round", "square" or "butt" + // Param miterLimit: Maximum join length, in multiples of the "width" parameter (join is truncated if it exceeds that distance) + // Returns style object + + width = width !== undefined ? width : 1; + color = color !== undefined ? color : '#000'; + lineJoin = lineJoin !== undefined ? lineJoin : 'miter'; + lineCap = lineCap !== undefined ? lineCap : 'butt'; + miterLimit = miterLimit !== undefined ? miterLimit : 4; + + return { + strokeColor: color, + strokeWidth: width, + strokeLineJoin: lineJoin, + strokeLineCap: lineCap, + strokeMiterLimit: miterLimit + }; + +}; + +THREE.SVGLoader.pointsToStroke = function ( points, style, arcDivisions, minDistance ) { + + // Generates a stroke with some witdh around the given path. + // The path can be open or closed (last point equals to first point) + // Param points: Array of Vector2D (the path). Minimum 2 points. + // Param style: Object with SVG properties as returned by SVGLoader.getStrokeStyle(), or SVGLoader.parse() in the path.userData.style object + // Params arcDivisions: Arc divisions for round joins and endcaps. (Optional) + // Param minDistance: Points closer to this distance will be merged. (Optional) + // Returns BufferGeometry with stroke triangles (In plane z = 0). UV coordinates are generated ('u' along path. 'v' across it, from left to right) + + var vertices = []; + var normals = []; + var uvs = []; + + if ( THREE.SVGLoader.pointsToStrokeWithBuffers( points, style, arcDivisions, minDistance, vertices, normals, uvs ) === 0 ) { + + return null; + + } + + var geometry = new THREE.BufferGeometry(); + geometry.addAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) ); + geometry.addAttribute( 'normal', new THREE.Float32BufferAttribute( normals, 3 ) ); + geometry.addAttribute( 'uv', new THREE.Float32BufferAttribute( uvs, 2 ) ); + + return geometry; + +}; + +THREE.SVGLoader.pointsToStrokeWithBuffers = function () { + + var tempV2_1 = new THREE.Vector2(); + var tempV2_2 = new THREE.Vector2(); + var tempV2_3 = new THREE.Vector2(); + var tempV2_4 = new THREE.Vector2(); + var tempV2_5 = new THREE.Vector2(); + var tempV2_6 = new THREE.Vector2(); + var tempV2_7 = new THREE.Vector2(); + var lastPointL = new THREE.Vector2(); + var lastPointR = new THREE.Vector2(); + var point0L = new THREE.Vector2(); + var point0R = new THREE.Vector2(); + var currentPointL = new THREE.Vector2(); + var currentPointR = new THREE.Vector2(); + var nextPointL = new THREE.Vector2(); + var nextPointR = new THREE.Vector2(); + var innerPoint = new THREE.Vector2(); + var outerPoint = new THREE.Vector2(); + + return function ( points, style, arcDivisions, minDistance, vertices, normals, uvs, vertexOffset ) { + + // This function can be called to update existing arrays or buffers. + // Accepts same parameters as pointsToStroke, plus the buffers and optional offset. + // Param vertexOffset: Offset vertices to start writing in the buffers (3 elements/vertex for vertices and normals, and 2 elements/vertex for uvs) + // Returns number of written vertices / normals / uvs pairs + // if 'vertices' parameter is undefined no triangles will be generated, but the returned vertices count will still be valid (useful to preallocate the buffers) + // 'normals' and 'uvs' buffers are optional + + arcDivisions = arcDivisions !== undefined ? arcDivisions : 12; + minDistance = minDistance !== undefined ? minDistance : 0.001; + vertexOffset = vertexOffset !== undefined ? vertexOffset : 0; + + // First ensure there are no duplicated points + points = removeDuplicatedPoints( points ); + + var numPoints = points.length; + + if ( numPoints < 2 ) return 0; + + var isClosed = points[ 0 ].equals( points[ numPoints - 1 ] ); + + var currentPoint; + var previousPoint = points[ 0 ]; + var nextPoint; + + var strokeWidth2 = style.strokeWidth / 2; + + var deltaU = 1 / ( numPoints - 1 ); + var u0 = 0; + + var innerSideModified; + var joinIsOnLeftSide; + var isMiter; + var initialJoinIsOnLeftSide = false; + + var numVertices = 0; + var currentCoordinate = vertexOffset * 3; + var currentCoordinateUV = vertexOffset * 2; + + // Get initial left and right stroke points + getNormal( points[ 0 ], points[ 1 ], tempV2_1 ).multiplyScalar( strokeWidth2 ); + lastPointL.copy( points[ 0 ] ).sub( tempV2_1 ); + lastPointR.copy( points[ 0 ] ).add( tempV2_1 ); + point0L.copy( lastPointL ); + point0R.copy( lastPointR ); + + for ( var iPoint = 1; iPoint < numPoints; iPoint ++ ) { + + currentPoint = points[ iPoint ]; + + // Get next point + if ( iPoint === numPoints - 1 ) { + + if ( isClosed ) { + + // Skip duplicated initial point + nextPoint = points[ 1 ]; + + } else nextPoint = undefined; + + } else { + + nextPoint = points[ iPoint + 1 ]; + + } + + // Normal of previous segment in tempV2_1 + var normal1 = tempV2_1; + getNormal( previousPoint, currentPoint, normal1 ); + + tempV2_3.copy( normal1 ).multiplyScalar( strokeWidth2 ); + currentPointL.copy( currentPoint ).sub( tempV2_3 ); + currentPointR.copy( currentPoint ).add( tempV2_3 ); + + var u1 = u0 + deltaU; + + innerSideModified = false; + + if ( nextPoint !== undefined ) { + + // Normal of next segment in tempV2_2 + getNormal( currentPoint, nextPoint, tempV2_2 ); + + tempV2_3.copy( tempV2_2 ).multiplyScalar( strokeWidth2 ); + nextPointL.copy( currentPoint ).sub( tempV2_3 ); + nextPointR.copy( currentPoint ).add( tempV2_3 ); + + joinIsOnLeftSide = true; + tempV2_3.subVectors( nextPoint, previousPoint ); + if ( normal1.dot( tempV2_3 ) < 0 ) { + + joinIsOnLeftSide = false; + + } + if ( iPoint === 1 ) initialJoinIsOnLeftSide = joinIsOnLeftSide; + + tempV2_3.subVectors( nextPoint, currentPoint ); + tempV2_3.normalize(); + var dot = Math.abs( normal1.dot( tempV2_3 ) ); + + // If path is straight, don't create join + if ( dot !== 0 ) { + + // Compute inner and outer segment intersections + var miterSide = strokeWidth2 / dot; + tempV2_3.multiplyScalar( - miterSide ); + tempV2_4.subVectors( currentPoint, previousPoint ); + tempV2_5.copy( tempV2_4 ).setLength( miterSide ).add( tempV2_3 ); + innerPoint.copy( tempV2_5 ).negate(); + var miterLength2 = tempV2_5.length(); + var segmentLengthPrev = tempV2_4.length(); + tempV2_4.divideScalar( segmentLengthPrev ); + tempV2_6.subVectors( nextPoint, currentPoint ); + var segmentLengthNext = tempV2_6.length(); + tempV2_6.divideScalar( segmentLengthNext ); + // Check that previous and next segments doesn't overlap with the innerPoint of intersection + if ( tempV2_4.dot( innerPoint ) < segmentLengthPrev && tempV2_6.dot( innerPoint ) < segmentLengthNext ) { + + innerSideModified = true; + + } + outerPoint.copy( tempV2_5 ).add( currentPoint ); + innerPoint.add( currentPoint ); + + isMiter = false; + + if ( innerSideModified ) { + + if ( joinIsOnLeftSide ) { + + nextPointR.copy( innerPoint ); + currentPointR.copy( innerPoint ); + + } else { + + nextPointL.copy( innerPoint ); + currentPointL.copy( innerPoint ); + + } + + } else { + + // The segment triangles are generated here if there was overlapping + + makeSegmentTriangles(); + + } + + switch ( style.strokeLineJoin ) { + + case 'bevel': + + makeSegmentWithBevelJoin( joinIsOnLeftSide, innerSideModified, u1 ); + + break; + + case 'round': + + // Segment triangles + + createSegmentTrianglesWithMiddleSection( joinIsOnLeftSide, innerSideModified ); + + // Join triangles + + if ( joinIsOnLeftSide ) { + + makeCircularSector( currentPoint, currentPointL, nextPointL, u1, 0 ); + + } else { + + makeCircularSector( currentPoint, nextPointR, currentPointR, u1, 1 ); + + } + + break; + + case 'miter': + case 'miter-clip': + default: + + var miterFraction = ( strokeWidth2 * style.strokeMiterLimit ) / miterLength2; + + if ( miterFraction < 1 ) { + + // The join miter length exceeds the miter limit + + if ( style.strokeLineJoin !== 'miter-clip' ) { + + makeSegmentWithBevelJoin( joinIsOnLeftSide, innerSideModified, u1 ); + break; + + } else { + + // Segment triangles + + createSegmentTrianglesWithMiddleSection( joinIsOnLeftSide, innerSideModified ); + + // Miter-clip join triangles + + if ( joinIsOnLeftSide ) { + + tempV2_6.subVectors( outerPoint, currentPointL ).multiplyScalar( miterFraction ).add( currentPointL ); + tempV2_7.subVectors( outerPoint, nextPointL ).multiplyScalar( miterFraction ).add( nextPointL ); + + addVertex( currentPointL, u1, 0 ); + addVertex( tempV2_6, u1, 0 ); + addVertex( currentPoint, u1, 0.5 ); + + addVertex( currentPoint, u1, 0.5 ); + addVertex( tempV2_6, u1, 0 ); + addVertex( tempV2_7, u1, 0 ); + + addVertex( currentPoint, u1, 0.5 ); + addVertex( tempV2_7, u1, 0 ); + addVertex( nextPointL, u1, 0 ); + + } else { + + tempV2_6.subVectors( outerPoint, currentPointR ).multiplyScalar( miterFraction ).add( currentPointR ); + tempV2_7.subVectors( outerPoint, nextPointR ).multiplyScalar( miterFraction ).add( nextPointR ); + + addVertex( currentPointR, u1, 1 ); + addVertex( tempV2_6, u1, 1 ); + addVertex( currentPoint, u1, 0.5 ); + + addVertex( currentPoint, u1, 0.5 ); + addVertex( tempV2_6, u1, 1 ); + addVertex( tempV2_7, u1, 1 ); + + addVertex( currentPoint, u1, 0.5 ); + addVertex( tempV2_7, u1, 1 ); + addVertex( nextPointR, u1, 1 ); + + } + + } + + } else { + + // Miter join segment triangles + + if ( innerSideModified ) { + + // Optimized segment + join triangles + + if ( joinIsOnLeftSide ) { + + addVertex( lastPointR, u0, 1 ); + addVertex( lastPointL, u0, 0 ); + addVertex( outerPoint, u1, 0 ); + + addVertex( lastPointR, u0, 1 ); + addVertex( outerPoint, u1, 0 ); + addVertex( innerPoint, u1, 1 ); + + } else { + + addVertex( lastPointR, u0, 1 ); + addVertex( lastPointL, u0, 0 ); + addVertex( outerPoint, u1, 1 ); + + addVertex( lastPointL, u0, 0 ); + addVertex( innerPoint, u1, 0 ); + addVertex( outerPoint, u1, 1 ); + + } + + + if ( joinIsOnLeftSide ) { + + nextPointL.copy( outerPoint ); + + } else { + + nextPointR.copy( outerPoint ); + + } + + + } else { + + // Add extra miter join triangles + + if ( joinIsOnLeftSide ) { + + addVertex( currentPointL, u1, 0 ); + addVertex( outerPoint, u1, 0 ); + addVertex( currentPoint, u1, 0.5 ); + + addVertex( currentPoint, u1, 0.5 ); + addVertex( outerPoint, u1, 0 ); + addVertex( nextPointL, u1, 0 ); + + } else { + + addVertex( currentPointR, u1, 1 ); + addVertex( outerPoint, u1, 1 ); + addVertex( currentPoint, u1, 0.5 ); + + addVertex( currentPoint, u1, 0.5 ); + addVertex( outerPoint, u1, 1 ); + addVertex( nextPointR, u1, 1 ); + + } + + } + + isMiter = true; + + } + + break; + + } + + } else { + + // The segment triangles are generated here when two consecutive points are collinear + + makeSegmentTriangles(); + + } + + } else { + + // The segment triangles are generated here if it is the ending segment + + makeSegmentTriangles(); + + } + + if ( ! isClosed && iPoint === numPoints - 1 ) { + + // Start line endcap + addCapGeometry( points[ 0 ], point0L, point0R, joinIsOnLeftSide, true, u0 ); + + } + + // Increment loop variables + + u0 = u1; + + previousPoint = currentPoint; + + lastPointL.copy( nextPointL ); + lastPointR.copy( nextPointR ); + + } + + if ( ! isClosed ) { + + // Ending line endcap + addCapGeometry( currentPoint, currentPointL, currentPointR, joinIsOnLeftSide, false, u1 ); + + } else if ( innerSideModified && vertices ) { + + // Modify path first segment vertices to adjust to the segments inner and outer intersections + + var lastOuter = outerPoint; + var lastInner = innerPoint; + + if ( initialJoinIsOnLeftSide !== joinIsOnLeftSide ) { + + lastOuter = innerPoint; + lastInner = outerPoint; + + } + + if ( joinIsOnLeftSide ) { + + lastInner.toArray( vertices, 0 * 3 ); + lastInner.toArray( vertices, 3 * 3 ); + + if ( isMiter ) { + + lastOuter.toArray( vertices, 1 * 3 ); + + } + + } else { + + lastInner.toArray( vertices, 1 * 3 ); + lastInner.toArray( vertices, 3 * 3 ); + + if ( isMiter ) { + + lastOuter.toArray( vertices, 0 * 3 ); + + } + + } + + } + + return numVertices; + + // -- End of algorithm + + // -- Functions + + function getNormal( p1, p2, result ) { + + result.subVectors( p2, p1 ); + return result.set( - result.y, result.x ).normalize(); + + } + + function addVertex( position, u, v ) { + + if ( vertices ) { + + vertices[ currentCoordinate ] = position.x; + vertices[ currentCoordinate + 1 ] = position.y; + vertices[ currentCoordinate + 2 ] = 0; + + if ( normals ) { + + normals[ currentCoordinate ] = 0; + normals[ currentCoordinate + 1 ] = 0; + normals[ currentCoordinate + 2 ] = 1; + + } + + currentCoordinate += 3; + + if ( uvs ) { + + uvs[ currentCoordinateUV ] = u; + uvs[ currentCoordinateUV + 1 ] = v; + + currentCoordinateUV += 2; + + } + + } + + numVertices += 3; + + } + + function makeCircularSector( center, p1, p2, u, v ) { + + // param p1, p2: Points in the circle arc. + // p1 and p2 are in clockwise direction. + + tempV2_1.copy( p1 ).sub( center ).normalize(); + tempV2_2.copy( p2 ).sub( center ).normalize(); + + var angle = Math.PI; + var dot = tempV2_1.dot( tempV2_2 ); + if ( Math.abs( dot ) < 1 ) angle = Math.abs( Math.acos( dot ) ); + + angle /= arcDivisions; + + tempV2_3.copy( p1 ); + + for ( var i = 0, il = arcDivisions - 1; i < il; i ++ ) { + + tempV2_4.copy( tempV2_3 ).rotateAround( center, angle ); + + addVertex( tempV2_3, u, v ); + addVertex( tempV2_4, u, v ); + addVertex( center, u, 0.5 ); + + tempV2_3.copy( tempV2_4 ); + + } + + addVertex( tempV2_4, u, v ); + addVertex( p2, u, v ); + addVertex( center, u, 0.5 ); + + } + + function makeSegmentTriangles() { + + addVertex( lastPointR, u0, 1 ); + addVertex( lastPointL, u0, 0 ); + addVertex( currentPointL, u1, 0 ); + + addVertex( lastPointR, u0, 1 ); + addVertex( currentPointL, u1, 1 ); + addVertex( currentPointR, u1, 0 ); + + } + + function makeSegmentWithBevelJoin( joinIsOnLeftSide, innerSideModified, u ) { + + if ( innerSideModified ) { + + // Optimized segment + bevel triangles + + if ( joinIsOnLeftSide ) { + + // Path segments triangles + + addVertex( lastPointR, u0, 1 ); + addVertex( lastPointL, u0, 0 ); + addVertex( currentPointL, u1, 0 ); + + addVertex( lastPointR, u0, 1 ); + addVertex( currentPointL, u1, 0 ); + addVertex( innerPoint, u1, 1 ); + + // Bevel join triangle + + addVertex( currentPointL, u, 0 ); + addVertex( nextPointL, u, 0 ); + addVertex( innerPoint, u, 0.5 ); + + } else { + + // Path segments triangles + + addVertex( lastPointR, u0, 1 ); + addVertex( lastPointL, u0, 0 ); + addVertex( currentPointR, u1, 1 ); + + addVertex( lastPointL, u0, 0 ); + addVertex( innerPoint, u1, 0 ); + addVertex( currentPointR, u1, 1 ); + + // Bevel join triangle + + addVertex( currentPointR, u, 1 ); + addVertex( nextPointR, u, 0 ); + addVertex( innerPoint, u, 0.5 ); + + } + + } else { + + // Bevel join triangle. The segment triangles are done in the main loop + + if ( joinIsOnLeftSide ) { + + addVertex( currentPointL, u, 0 ); + addVertex( nextPointL, u, 0 ); + addVertex( currentPoint, u, 0.5 ); + + } else { + + addVertex( currentPointR, u, 1 ); + addVertex( nextPointR, u, 0 ); + addVertex( currentPoint, u, 0.5 ); + + } + + } + + } + + function createSegmentTrianglesWithMiddleSection( joinIsOnLeftSide, innerSideModified ) { + + if ( innerSideModified ) { + + if ( joinIsOnLeftSide ) { + + addVertex( lastPointR, u0, 1 ); + addVertex( lastPointL, u0, 0 ); + addVertex( currentPointL, u1, 0 ); + + addVertex( lastPointR, u0, 1 ); + addVertex( currentPointL, u1, 0 ); + addVertex( innerPoint, u1, 1 ); + + addVertex( currentPointL, u0, 0 ); + addVertex( currentPoint, u1, 0.5 ); + addVertex( innerPoint, u1, 1 ); + + addVertex( currentPoint, u1, 0.5 ); + addVertex( nextPointL, u0, 0 ); + addVertex( innerPoint, u1, 1 ); + + } else { + + addVertex( lastPointR, u0, 1 ); + addVertex( lastPointL, u0, 0 ); + addVertex( currentPointR, u1, 1 ); + + addVertex( lastPointL, u0, 0 ); + addVertex( innerPoint, u1, 0 ); + addVertex( currentPointR, u1, 1 ); + + addVertex( currentPointR, u0, 1 ); + addVertex( innerPoint, u1, 0 ); + addVertex( currentPoint, u1, 0.5 ); + + addVertex( currentPoint, u1, 0.5 ); + addVertex( innerPoint, u1, 0 ); + addVertex( nextPointR, u0, 1 ); + + } + + } + + } + + function addCapGeometry( center, p1, p2, joinIsOnLeftSide, start, u ) { + + // param center: End point of the path + // param p1, p2: Left and right cap points + + switch ( style.strokeLineCap ) { + + case 'round': + + if ( start ) { + + makeCircularSector( center, p2, p1, u, 0.5 ); + + } else { + + makeCircularSector( center, p1, p2, u, 0.5 ); + + } + + break; + + case 'square': + + if ( start ) { + + tempV2_1.subVectors( p1, center ); + tempV2_2.set( tempV2_1.y, - tempV2_1.x ); + + tempV2_3.addVectors( tempV2_1, tempV2_2 ).add( center ); + tempV2_4.subVectors( tempV2_2, tempV2_1 ).add( center ); + + // Modify already existing vertices + if ( joinIsOnLeftSide ) { + + tempV2_3.toArray( vertices, 1 * 3 ); + tempV2_4.toArray( vertices, 0 * 3 ); + tempV2_4.toArray( vertices, 3 * 3 ); + + } else { + + tempV2_3.toArray( vertices, 1 * 3 ); + tempV2_3.toArray( vertices, 3 * 3 ); + tempV2_4.toArray( vertices, 0 * 3 ); + + } + + } else { + + tempV2_1.subVectors( p2, center ); + tempV2_2.set( tempV2_1.y, - tempV2_1.x ); + + tempV2_3.addVectors( tempV2_1, tempV2_2 ).add( center ); + tempV2_4.subVectors( tempV2_2, tempV2_1 ).add( center ); + + var vl = vertices.length; + + // Modify already existing vertices + if ( joinIsOnLeftSide ) { + + tempV2_3.toArray( vertices, vl - 1 * 3 ); + tempV2_4.toArray( vertices, vl - 2 * 3 ); + tempV2_4.toArray( vertices, vl - 4 * 3 ); + + } else { + + tempV2_3.toArray( vertices, vl - 2 * 3 ); + tempV2_4.toArray( vertices, vl - 1 * 3 ); + tempV2_4.toArray( vertices, vl - 4 * 3 ); + + } + + } + + break; + + case 'butt': + default: + + // Nothing to do here + break; + + } + + } + + function removeDuplicatedPoints( points ) { + + // Creates a new array if necessary with duplicated points removed. + // This does not remove duplicated initial and ending points of a closed path. + + var dupPoints = false; + for ( var i = 1, n = points.length - 1; i < n; i ++ ) { + + if ( points[ i ].distanceTo( points[ i + 1 ] ) < minDistance ) { + + dupPoints = true; + break; + + } + + } + + if ( ! dupPoints ) return points; + + var newPoints = []; + newPoints.push( points[ 0 ] ); + + for ( var i = 1, n = points.length - 1; i < n; i ++ ) { + + if ( points[ i ].distanceTo( points[ i + 1 ] ) >= minDistance ) { + + newPoints.push( points[ i ] ); + + } + + } + + newPoints.push( points[ points.length - 1 ] ); + + return newPoints; + + } + + }; + +}(); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/objects/Reflector.js b/public/GV/thirdParty/Threejs-109/examples/js/objects/Reflector.js new file mode 100644 index 000000000..221eb8fd8 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/objects/Reflector.js @@ -0,0 +1,251 @@ +/** + * @author Slayvin / http://slayvin.net + */ + +THREE.Reflector = function ( geometry, options ) { + + THREE.Mesh.call( this, geometry ); + + this.type = 'Reflector'; + + var scope = this; + + options = options || {}; + + var color = ( options.color !== undefined ) ? new THREE.Color( options.color ) : new THREE.Color( 0x7F7F7F ); + var textureWidth = options.textureWidth || 512; + var textureHeight = options.textureHeight || 512; + var clipBias = options.clipBias || 0; + var shader = options.shader || THREE.Reflector.ReflectorShader; + var recursion = options.recursion !== undefined ? options.recursion : 0; + + // + + var reflectorPlane = new THREE.Plane(); + var normal = new THREE.Vector3(); + var reflectorWorldPosition = new THREE.Vector3(); + var cameraWorldPosition = new THREE.Vector3(); + var rotationMatrix = new THREE.Matrix4(); + var lookAtPosition = new THREE.Vector3( 0, 0, - 1 ); + var clipPlane = new THREE.Vector4(); + + var view = new THREE.Vector3(); + var target = new THREE.Vector3(); + var q = new THREE.Vector4(); + + var textureMatrix = new THREE.Matrix4(); + var virtualCamera = new THREE.PerspectiveCamera(); + + var parameters = { + minFilter: THREE.LinearFilter, + magFilter: THREE.LinearFilter, + format: THREE.RGBFormat, + stencilBuffer: false + }; + + var renderTarget = new THREE.WebGLRenderTarget( textureWidth, textureHeight, parameters ); + + if ( ! THREE.Math.isPowerOfTwo( textureWidth ) || ! THREE.Math.isPowerOfTwo( textureHeight ) ) { + + renderTarget.texture.generateMipmaps = false; + + } + + var material = new THREE.ShaderMaterial( { + uniforms: THREE.UniformsUtils.clone( shader.uniforms ), + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader + } ); + + material.uniforms[ "tDiffuse" ].value = renderTarget.texture; + material.uniforms[ "color" ].value = color; + material.uniforms[ "textureMatrix" ].value = textureMatrix; + + this.material = material; + + this.onBeforeRender = function ( renderer, scene, camera ) { + + if ( 'recursion' in camera.userData ) { + + if ( camera.userData.recursion === recursion ) return; + + camera.userData.recursion ++; + + } + + reflectorWorldPosition.setFromMatrixPosition( scope.matrixWorld ); + cameraWorldPosition.setFromMatrixPosition( camera.matrixWorld ); + + rotationMatrix.extractRotation( scope.matrixWorld ); + + normal.set( 0, 0, 1 ); + normal.applyMatrix4( rotationMatrix ); + + view.subVectors( reflectorWorldPosition, cameraWorldPosition ); + + // Avoid rendering when reflector is facing away + + if ( view.dot( normal ) > 0 ) return; + + view.reflect( normal ).negate(); + view.add( reflectorWorldPosition ); + + rotationMatrix.extractRotation( camera.matrixWorld ); + + lookAtPosition.set( 0, 0, - 1 ); + lookAtPosition.applyMatrix4( rotationMatrix ); + lookAtPosition.add( cameraWorldPosition ); + + target.subVectors( reflectorWorldPosition, lookAtPosition ); + target.reflect( normal ).negate(); + target.add( reflectorWorldPosition ); + + virtualCamera.position.copy( view ); + virtualCamera.up.set( 0, 1, 0 ); + virtualCamera.up.applyMatrix4( rotationMatrix ); + virtualCamera.up.reflect( normal ); + virtualCamera.lookAt( target ); + + virtualCamera.far = camera.far; // Used in WebGLBackground + + virtualCamera.updateMatrixWorld(); + virtualCamera.projectionMatrix.copy( camera.projectionMatrix ); + + virtualCamera.userData.recursion = 0; + + // Update the texture matrix + textureMatrix.set( + 0.5, 0.0, 0.0, 0.5, + 0.0, 0.5, 0.0, 0.5, + 0.0, 0.0, 0.5, 0.5, + 0.0, 0.0, 0.0, 1.0 + ); + textureMatrix.multiply( virtualCamera.projectionMatrix ); + textureMatrix.multiply( virtualCamera.matrixWorldInverse ); + textureMatrix.multiply( scope.matrixWorld ); + + // Now update projection matrix with new clip plane, implementing code from: http://www.terathon.com/code/oblique.html + // Paper explaining this technique: http://www.terathon.com/lengyel/Lengyel-Oblique.pdf + reflectorPlane.setFromNormalAndCoplanarPoint( normal, reflectorWorldPosition ); + reflectorPlane.applyMatrix4( virtualCamera.matrixWorldInverse ); + + clipPlane.set( reflectorPlane.normal.x, reflectorPlane.normal.y, reflectorPlane.normal.z, reflectorPlane.constant ); + + var projectionMatrix = virtualCamera.projectionMatrix; + + q.x = ( Math.sign( clipPlane.x ) + projectionMatrix.elements[ 8 ] ) / projectionMatrix.elements[ 0 ]; + q.y = ( Math.sign( clipPlane.y ) + projectionMatrix.elements[ 9 ] ) / projectionMatrix.elements[ 5 ]; + q.z = - 1.0; + q.w = ( 1.0 + projectionMatrix.elements[ 10 ] ) / projectionMatrix.elements[ 14 ]; + + // Calculate the scaled plane vector + clipPlane.multiplyScalar( 2.0 / clipPlane.dot( q ) ); + + // Replacing the third row of the projection matrix + projectionMatrix.elements[ 2 ] = clipPlane.x; + projectionMatrix.elements[ 6 ] = clipPlane.y; + projectionMatrix.elements[ 10 ] = clipPlane.z + 1.0 - clipBias; + projectionMatrix.elements[ 14 ] = clipPlane.w; + + // Render + + scope.visible = false; + + var currentRenderTarget = renderer.getRenderTarget(); + + var currentVrEnabled = renderer.vr.enabled; + var currentShadowAutoUpdate = renderer.shadowMap.autoUpdate; + + renderer.vr.enabled = false; // Avoid camera modification and recursion + renderer.shadowMap.autoUpdate = false; // Avoid re-computing shadows + + renderer.setRenderTarget( renderTarget ); + renderer.clear(); + renderer.render( scene, virtualCamera ); + + renderer.vr.enabled = currentVrEnabled; + renderer.shadowMap.autoUpdate = currentShadowAutoUpdate; + + renderer.setRenderTarget( currentRenderTarget ); + + // Restore viewport + + var viewport = camera.viewport; + + if ( viewport !== undefined ) { + + renderer.state.viewport( viewport ); + + } + + scope.visible = true; + + }; + + this.getRenderTarget = function () { + + return renderTarget; + + }; + +}; + +THREE.Reflector.prototype = Object.create( THREE.Mesh.prototype ); +THREE.Reflector.prototype.constructor = THREE.Reflector; + +THREE.Reflector.ReflectorShader = { + + uniforms: { + + 'color': { + value: null + }, + + 'tDiffuse': { + value: null + }, + + 'textureMatrix': { + value: null + } + + }, + + vertexShader: [ + 'uniform mat4 textureMatrix;', + 'varying vec4 vUv;', + + 'void main() {', + + ' vUv = textureMatrix * vec4( position, 1.0 );', + + ' gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );', + + '}' + ].join( '\n' ), + + fragmentShader: [ + 'uniform vec3 color;', + 'uniform sampler2D tDiffuse;', + 'varying vec4 vUv;', + + 'float blendOverlay( float base, float blend ) {', + + ' return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) );', + + '}', + + 'vec3 blendOverlay( vec3 base, vec3 blend ) {', + + ' return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) );', + + '}', + + 'void main() {', + + ' vec4 base = texture2DProj( tDiffuse, vUv );', + ' gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );', + + '}' + ].join( '\n' ) +}; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/objects/Refractor.js b/public/GV/thirdParty/Threejs-109/examples/js/objects/Refractor.js new file mode 100644 index 000000000..7ce5bbaf8 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/objects/Refractor.js @@ -0,0 +1,317 @@ +/** + * @author Mugen87 / https://github.com/Mugen87 + * + */ + +THREE.Refractor = function ( geometry, options ) { + + THREE.Mesh.call( this, geometry ); + + this.type = 'Refractor'; + + var scope = this; + + options = options || {}; + + var color = ( options.color !== undefined ) ? new THREE.Color( options.color ) : new THREE.Color( 0x7F7F7F ); + var textureWidth = options.textureWidth || 512; + var textureHeight = options.textureHeight || 512; + var clipBias = options.clipBias || 0; + var shader = options.shader || THREE.Refractor.RefractorShader; + + // + + var virtualCamera = new THREE.PerspectiveCamera(); + virtualCamera.matrixAutoUpdate = false; + virtualCamera.userData.refractor = true; + + // + + var refractorPlane = new THREE.Plane(); + var textureMatrix = new THREE.Matrix4(); + + // render target + + var parameters = { + minFilter: THREE.LinearFilter, + magFilter: THREE.LinearFilter, + format: THREE.RGBFormat, + stencilBuffer: false + }; + + var renderTarget = new THREE.WebGLRenderTarget( textureWidth, textureHeight, parameters ); + + if ( ! THREE.Math.isPowerOfTwo( textureWidth ) || ! THREE.Math.isPowerOfTwo( textureHeight ) ) { + + renderTarget.texture.generateMipmaps = false; + + } + + // material + + this.material = new THREE.ShaderMaterial( { + uniforms: THREE.UniformsUtils.clone( shader.uniforms ), + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader, + transparent: true // ensures, refractors are drawn from farthest to closest + } ); + + this.material.uniforms[ "color" ].value = color; + this.material.uniforms[ "tDiffuse" ].value = renderTarget.texture; + this.material.uniforms[ "textureMatrix" ].value = textureMatrix; + + // functions + + var visible = ( function () { + + var refractorWorldPosition = new THREE.Vector3(); + var cameraWorldPosition = new THREE.Vector3(); + var rotationMatrix = new THREE.Matrix4(); + + var view = new THREE.Vector3(); + var normal = new THREE.Vector3(); + + return function visible( camera ) { + + refractorWorldPosition.setFromMatrixPosition( scope.matrixWorld ); + cameraWorldPosition.setFromMatrixPosition( camera.matrixWorld ); + + view.subVectors( refractorWorldPosition, cameraWorldPosition ); + + rotationMatrix.extractRotation( scope.matrixWorld ); + + normal.set( 0, 0, 1 ); + normal.applyMatrix4( rotationMatrix ); + + return view.dot( normal ) < 0; + + }; + + } )(); + + var updateRefractorPlane = ( function () { + + var normal = new THREE.Vector3(); + var position = new THREE.Vector3(); + var quaternion = new THREE.Quaternion(); + var scale = new THREE.Vector3(); + + return function updateRefractorPlane() { + + scope.matrixWorld.decompose( position, quaternion, scale ); + normal.set( 0, 0, 1 ).applyQuaternion( quaternion ).normalize(); + + // flip the normal because we want to cull everything above the plane + + normal.negate(); + + refractorPlane.setFromNormalAndCoplanarPoint( normal, position ); + + }; + + } )(); + + var updateVirtualCamera = ( function () { + + var clipPlane = new THREE.Plane(); + var clipVector = new THREE.Vector4(); + var q = new THREE.Vector4(); + + return function updateVirtualCamera( camera ) { + + virtualCamera.matrixWorld.copy( camera.matrixWorld ); + virtualCamera.matrixWorldInverse.getInverse( virtualCamera.matrixWorld ); + virtualCamera.projectionMatrix.copy( camera.projectionMatrix ); + virtualCamera.far = camera.far; // used in WebGLBackground + + // The following code creates an oblique view frustum for clipping. + // see: Lengyel, Eric. “Oblique View Frustum Depth Projection and Clipping”. + // Journal of Game Development, Vol. 1, No. 2 (2005), Charles River Media, pp. 5–16 + + clipPlane.copy( refractorPlane ); + clipPlane.applyMatrix4( virtualCamera.matrixWorldInverse ); + + clipVector.set( clipPlane.normal.x, clipPlane.normal.y, clipPlane.normal.z, clipPlane.constant ); + + // calculate the clip-space corner point opposite the clipping plane and + // transform it into camera space by multiplying it by the inverse of the projection matrix + + var projectionMatrix = virtualCamera.projectionMatrix; + + q.x = ( Math.sign( clipVector.x ) + projectionMatrix.elements[ 8 ] ) / projectionMatrix.elements[ 0 ]; + q.y = ( Math.sign( clipVector.y ) + projectionMatrix.elements[ 9 ] ) / projectionMatrix.elements[ 5 ]; + q.z = - 1.0; + q.w = ( 1.0 + projectionMatrix.elements[ 10 ] ) / projectionMatrix.elements[ 14 ]; + + // calculate the scaled plane vector + + clipVector.multiplyScalar( 2.0 / clipVector.dot( q ) ); + + // replacing the third row of the projection matrix + + projectionMatrix.elements[ 2 ] = clipVector.x; + projectionMatrix.elements[ 6 ] = clipVector.y; + projectionMatrix.elements[ 10 ] = clipVector.z + 1.0 - clipBias; + projectionMatrix.elements[ 14 ] = clipVector.w; + + }; + + } )(); + + // This will update the texture matrix that is used for projective texture mapping in the shader. + // see: http://developer.download.nvidia.com/assets/gamedev/docs/projective_texture_mapping.pdf + + function updateTextureMatrix( camera ) { + + // this matrix does range mapping to [ 0, 1 ] + + textureMatrix.set( + 0.5, 0.0, 0.0, 0.5, + 0.0, 0.5, 0.0, 0.5, + 0.0, 0.0, 0.5, 0.5, + 0.0, 0.0, 0.0, 1.0 + ); + + // we use "Object Linear Texgen", so we need to multiply the texture matrix T + // (matrix above) with the projection and view matrix of the virtual camera + // and the model matrix of the refractor + + textureMatrix.multiply( camera.projectionMatrix ); + textureMatrix.multiply( camera.matrixWorldInverse ); + textureMatrix.multiply( scope.matrixWorld ); + + } + + // + + function render( renderer, scene, camera ) { + + scope.visible = false; + + var currentRenderTarget = renderer.getRenderTarget(); + var currentVrEnabled = renderer.vr.enabled; + var currentShadowAutoUpdate = renderer.shadowMap.autoUpdate; + + renderer.vr.enabled = false; // avoid camera modification + renderer.shadowMap.autoUpdate = false; // avoid re-computing shadows + + renderer.setRenderTarget( renderTarget ); + renderer.clear(); + renderer.render( scene, virtualCamera ); + + renderer.vr.enabled = currentVrEnabled; + renderer.shadowMap.autoUpdate = currentShadowAutoUpdate; + renderer.setRenderTarget( currentRenderTarget ); + + // restore viewport + + var viewport = camera.viewport; + + if ( viewport !== undefined ) { + + renderer.state.viewport( viewport ); + + } + + scope.visible = true; + + } + + // + + this.onBeforeRender = function ( renderer, scene, camera ) { + + // ensure refractors are rendered only once per frame + + if ( camera.userData.refractor === true ) return; + + // avoid rendering when the refractor is viewed from behind + + if ( ! visible( camera ) === true ) return; + + // update + + updateRefractorPlane(); + + updateTextureMatrix( camera ); + + updateVirtualCamera( camera ); + + render( renderer, scene, camera ); + + }; + + this.getRenderTarget = function () { + + return renderTarget; + + }; + +}; + +THREE.Refractor.prototype = Object.create( THREE.Mesh.prototype ); +THREE.Refractor.prototype.constructor = THREE.Refractor; + +THREE.Refractor.RefractorShader = { + + uniforms: { + + 'color': { + value: null + }, + + 'tDiffuse': { + value: null + }, + + 'textureMatrix': { + value: null + } + + }, + + vertexShader: [ + + 'uniform mat4 textureMatrix;', + + 'varying vec4 vUv;', + + 'void main() {', + + ' vUv = textureMatrix * vec4( position, 1.0 );', + + ' gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );', + + '}' + + ].join( '\n' ), + + fragmentShader: [ + + 'uniform vec3 color;', + 'uniform sampler2D tDiffuse;', + + 'varying vec4 vUv;', + + 'float blendOverlay( float base, float blend ) {', + + ' return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) );', + + '}', + + 'vec3 blendOverlay( vec3 base, vec3 blend ) {', + + ' return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) );', + + '}', + + 'void main() {', + + ' vec4 base = texture2DProj( tDiffuse, vUv );', + + ' gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );', + + '}' + + ].join( '\n' ) +}; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/objects/Water.js b/public/GV/thirdParty/Threejs-109/examples/js/objects/Water.js new file mode 100644 index 000000000..2cc5742ac --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/objects/Water.js @@ -0,0 +1,310 @@ +/** + * @author jbouny / https://github.com/jbouny + * + * Work based on : + * @author Slayvin / http://slayvin.net : Flat mirror for three.js + * @author Stemkoski / http://www.adelphi.edu/~stemkoski : An implementation of water shader based on the flat mirror + * @author Jonas Wagner / http://29a.ch/ && http://29a.ch/slides/2012/webglwater/ : Water shader explanations in WebGL + */ + +THREE.Water = function ( geometry, options ) { + + THREE.Mesh.call( this, geometry ); + + var scope = this; + + options = options || {}; + + var textureWidth = options.textureWidth !== undefined ? options.textureWidth : 512; + var textureHeight = options.textureHeight !== undefined ? options.textureHeight : 512; + + var clipBias = options.clipBias !== undefined ? options.clipBias : 0.0; + var alpha = options.alpha !== undefined ? options.alpha : 1.0; + var time = options.time !== undefined ? options.time : 0.0; + var normalSampler = options.waterNormals !== undefined ? options.waterNormals : null; + var sunDirection = options.sunDirection !== undefined ? options.sunDirection : new THREE.Vector3( 0.70707, 0.70707, 0.0 ); + var sunColor = new THREE.Color( options.sunColor !== undefined ? options.sunColor : 0xffffff ); + var waterColor = new THREE.Color( options.waterColor !== undefined ? options.waterColor : 0x7F7F7F ); + var eye = options.eye !== undefined ? options.eye : new THREE.Vector3( 0, 0, 0 ); + var distortionScale = options.distortionScale !== undefined ? options.distortionScale : 20.0; + var side = options.side !== undefined ? options.side : THREE.FrontSide; + var fog = options.fog !== undefined ? options.fog : false; + + // + + var mirrorPlane = new THREE.Plane(); + var normal = new THREE.Vector3(); + var mirrorWorldPosition = new THREE.Vector3(); + var cameraWorldPosition = new THREE.Vector3(); + var rotationMatrix = new THREE.Matrix4(); + var lookAtPosition = new THREE.Vector3( 0, 0, - 1 ); + var clipPlane = new THREE.Vector4(); + + var view = new THREE.Vector3(); + var target = new THREE.Vector3(); + var q = new THREE.Vector4(); + + var textureMatrix = new THREE.Matrix4(); + + var mirrorCamera = new THREE.PerspectiveCamera(); + + var parameters = { + minFilter: THREE.LinearFilter, + magFilter: THREE.LinearFilter, + format: THREE.RGBFormat, + stencilBuffer: false + }; + + var renderTarget = new THREE.WebGLRenderTarget( textureWidth, textureHeight, parameters ); + + if ( ! THREE.Math.isPowerOfTwo( textureWidth ) || ! THREE.Math.isPowerOfTwo( textureHeight ) ) { + + renderTarget.texture.generateMipmaps = false; + + } + + var mirrorShader = { + + uniforms: THREE.UniformsUtils.merge( [ + THREE.UniformsLib[ 'fog' ], + THREE.UniformsLib[ 'lights' ], + { + "normalSampler": { value: null }, + "mirrorSampler": { value: null }, + "alpha": { value: 1.0 }, + "time": { value: 0.0 }, + "size": { value: 1.0 }, + "distortionScale": { value: 20.0 }, + "textureMatrix": { value: new THREE.Matrix4() }, + "sunColor": { value: new THREE.Color( 0x7F7F7F ) }, + "sunDirection": { value: new THREE.Vector3( 0.70707, 0.70707, 0 ) }, + "eye": { value: new THREE.Vector3() }, + "waterColor": { value: new THREE.Color( 0x555555 ) } + } + ] ), + + vertexShader: [ + 'uniform mat4 textureMatrix;', + 'uniform float time;', + + 'varying vec4 mirrorCoord;', + 'varying vec4 worldPosition;', + + THREE.ShaderChunk[ 'fog_pars_vertex' ], + THREE.ShaderChunk[ 'shadowmap_pars_vertex' ], + + 'void main() {', + ' mirrorCoord = modelMatrix * vec4( position, 1.0 );', + ' worldPosition = mirrorCoord.xyzw;', + ' mirrorCoord = textureMatrix * mirrorCoord;', + ' vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );', + ' gl_Position = projectionMatrix * mvPosition;', + + THREE.ShaderChunk[ 'fog_vertex' ], + THREE.ShaderChunk[ 'shadowmap_vertex' ], + + '}' + ].join( '\n' ), + + fragmentShader: [ + 'uniform sampler2D mirrorSampler;', + 'uniform float alpha;', + 'uniform float time;', + 'uniform float size;', + 'uniform float distortionScale;', + 'uniform sampler2D normalSampler;', + 'uniform vec3 sunColor;', + 'uniform vec3 sunDirection;', + 'uniform vec3 eye;', + 'uniform vec3 waterColor;', + + 'varying vec4 mirrorCoord;', + 'varying vec4 worldPosition;', + + 'vec4 getNoise( vec2 uv ) {', + ' vec2 uv0 = ( uv / 103.0 ) + vec2(time / 17.0, time / 29.0);', + ' vec2 uv1 = uv / 107.0-vec2( time / -19.0, time / 31.0 );', + ' vec2 uv2 = uv / vec2( 8907.0, 9803.0 ) + vec2( time / 101.0, time / 97.0 );', + ' vec2 uv3 = uv / vec2( 1091.0, 1027.0 ) - vec2( time / 109.0, time / -113.0 );', + ' vec4 noise = texture2D( normalSampler, uv0 ) +', + ' texture2D( normalSampler, uv1 ) +', + ' texture2D( normalSampler, uv2 ) +', + ' texture2D( normalSampler, uv3 );', + ' return noise * 0.5 - 1.0;', + '}', + + 'void sunLight( const vec3 surfaceNormal, const vec3 eyeDirection, float shiny, float spec, float diffuse, inout vec3 diffuseColor, inout vec3 specularColor ) {', + ' vec3 reflection = normalize( reflect( -sunDirection, surfaceNormal ) );', + ' float direction = max( 0.0, dot( eyeDirection, reflection ) );', + ' specularColor += pow( direction, shiny ) * sunColor * spec;', + ' diffuseColor += max( dot( sunDirection, surfaceNormal ), 0.0 ) * sunColor * diffuse;', + '}', + + THREE.ShaderChunk[ 'common' ], + THREE.ShaderChunk[ 'packing' ], + THREE.ShaderChunk[ 'bsdfs' ], + THREE.ShaderChunk[ 'fog_pars_fragment' ], + THREE.ShaderChunk[ 'lights_pars_begin' ], + THREE.ShaderChunk[ 'shadowmap_pars_fragment' ], + THREE.ShaderChunk[ 'shadowmask_pars_fragment' ], + + 'void main() {', + ' vec4 noise = getNoise( worldPosition.xz * size );', + ' vec3 surfaceNormal = normalize( noise.xzy * vec3( 1.5, 1.0, 1.5 ) );', + + ' vec3 diffuseLight = vec3(0.0);', + ' vec3 specularLight = vec3(0.0);', + + ' vec3 worldToEye = eye-worldPosition.xyz;', + ' vec3 eyeDirection = normalize( worldToEye );', + ' sunLight( surfaceNormal, eyeDirection, 100.0, 2.0, 0.5, diffuseLight, specularLight );', + + ' float distance = length(worldToEye);', + + ' vec2 distortion = surfaceNormal.xz * ( 0.001 + 1.0 / distance ) * distortionScale;', + ' vec3 reflectionSample = vec3( texture2D( mirrorSampler, mirrorCoord.xy / mirrorCoord.w + distortion ) );', + + ' float theta = max( dot( eyeDirection, surfaceNormal ), 0.0 );', + ' float rf0 = 0.3;', + ' float reflectance = rf0 + ( 1.0 - rf0 ) * pow( ( 1.0 - theta ), 5.0 );', + ' vec3 scatter = max( 0.0, dot( surfaceNormal, eyeDirection ) ) * waterColor;', + ' vec3 albedo = mix( ( sunColor * diffuseLight * 0.3 + scatter ) * getShadowMask(), ( vec3( 0.1 ) + reflectionSample * 0.9 + reflectionSample * specularLight ), reflectance);', + ' vec3 outgoingLight = albedo;', + ' gl_FragColor = vec4( outgoingLight, alpha );', + + THREE.ShaderChunk[ 'tonemapping_fragment' ], + THREE.ShaderChunk[ 'fog_fragment' ], + + '}' + ].join( '\n' ) + + }; + + var material = new THREE.ShaderMaterial( { + fragmentShader: mirrorShader.fragmentShader, + vertexShader: mirrorShader.vertexShader, + uniforms: THREE.UniformsUtils.clone( mirrorShader.uniforms ), + transparent: true, + lights: true, + side: side, + fog: fog + } ); + + material.uniforms[ "mirrorSampler" ].value = renderTarget.texture; + material.uniforms[ "textureMatrix" ].value = textureMatrix; + material.uniforms[ "alpha" ].value = alpha; + material.uniforms[ "time" ].value = time; + material.uniforms[ "normalSampler" ].value = normalSampler; + material.uniforms[ "sunColor" ].value = sunColor; + material.uniforms[ "waterColor" ].value = waterColor; + material.uniforms[ "sunDirection" ].value = sunDirection; + material.uniforms[ "distortionScale" ].value = distortionScale; + + material.uniforms[ "eye" ].value = eye; + + scope.material = material; + + scope.onBeforeRender = function ( renderer, scene, camera ) { + + mirrorWorldPosition.setFromMatrixPosition( scope.matrixWorld ); + cameraWorldPosition.setFromMatrixPosition( camera.matrixWorld ); + + rotationMatrix.extractRotation( scope.matrixWorld ); + + normal.set( 0, 0, 1 ); + normal.applyMatrix4( rotationMatrix ); + + view.subVectors( mirrorWorldPosition, cameraWorldPosition ); + + // Avoid rendering when mirror is facing away + + if ( view.dot( normal ) > 0 ) return; + + view.reflect( normal ).negate(); + view.add( mirrorWorldPosition ); + + rotationMatrix.extractRotation( camera.matrixWorld ); + + lookAtPosition.set( 0, 0, - 1 ); + lookAtPosition.applyMatrix4( rotationMatrix ); + lookAtPosition.add( cameraWorldPosition ); + + target.subVectors( mirrorWorldPosition, lookAtPosition ); + target.reflect( normal ).negate(); + target.add( mirrorWorldPosition ); + + mirrorCamera.position.copy( view ); + mirrorCamera.up.set( 0, 1, 0 ); + mirrorCamera.up.applyMatrix4( rotationMatrix ); + mirrorCamera.up.reflect( normal ); + mirrorCamera.lookAt( target ); + + mirrorCamera.far = camera.far; // Used in WebGLBackground + + mirrorCamera.updateMatrixWorld(); + mirrorCamera.projectionMatrix.copy( camera.projectionMatrix ); + + // Update the texture matrix + textureMatrix.set( + 0.5, 0.0, 0.0, 0.5, + 0.0, 0.5, 0.0, 0.5, + 0.0, 0.0, 0.5, 0.5, + 0.0, 0.0, 0.0, 1.0 + ); + textureMatrix.multiply( mirrorCamera.projectionMatrix ); + textureMatrix.multiply( mirrorCamera.matrixWorldInverse ); + + // Now update projection matrix with new clip plane, implementing code from: http://www.terathon.com/code/oblique.html + // Paper explaining this technique: http://www.terathon.com/lengyel/Lengyel-Oblique.pdf + mirrorPlane.setFromNormalAndCoplanarPoint( normal, mirrorWorldPosition ); + mirrorPlane.applyMatrix4( mirrorCamera.matrixWorldInverse ); + + clipPlane.set( mirrorPlane.normal.x, mirrorPlane.normal.y, mirrorPlane.normal.z, mirrorPlane.constant ); + + var projectionMatrix = mirrorCamera.projectionMatrix; + + q.x = ( Math.sign( clipPlane.x ) + projectionMatrix.elements[ 8 ] ) / projectionMatrix.elements[ 0 ]; + q.y = ( Math.sign( clipPlane.y ) + projectionMatrix.elements[ 9 ] ) / projectionMatrix.elements[ 5 ]; + q.z = - 1.0; + q.w = ( 1.0 + projectionMatrix.elements[ 10 ] ) / projectionMatrix.elements[ 14 ]; + + // Calculate the scaled plane vector + clipPlane.multiplyScalar( 2.0 / clipPlane.dot( q ) ); + + // Replacing the third row of the projection matrix + projectionMatrix.elements[ 2 ] = clipPlane.x; + projectionMatrix.elements[ 6 ] = clipPlane.y; + projectionMatrix.elements[ 10 ] = clipPlane.z + 1.0 - clipBias; + projectionMatrix.elements[ 14 ] = clipPlane.w; + + eye.setFromMatrixPosition( camera.matrixWorld ); + + // + + var currentRenderTarget = renderer.getRenderTarget(); + + var currentVrEnabled = renderer.vr.enabled; + var currentShadowAutoUpdate = renderer.shadowMap.autoUpdate; + + scope.visible = false; + + renderer.vr.enabled = false; // Avoid camera modification and recursion + renderer.shadowMap.autoUpdate = false; // Avoid re-computing shadows + + renderer.setRenderTarget( renderTarget ); + renderer.clear(); + renderer.render( scene, mirrorCamera ); + + scope.visible = true; + + renderer.vr.enabled = currentVrEnabled; + renderer.shadowMap.autoUpdate = currentShadowAutoUpdate; + + renderer.setRenderTarget( currentRenderTarget ); + + }; + +}; + +THREE.Water.prototype = Object.create( THREE.Mesh.prototype ); +THREE.Water.prototype.constructor = THREE.Water; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/objects/Water2.js b/public/GV/thirdParty/Threejs-109/examples/js/objects/Water2.js new file mode 100644 index 000000000..7e6d9b3a5 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/objects/Water2.js @@ -0,0 +1,343 @@ +/** + * @author Mugen87 / https://github.com/Mugen87 + * + * References: + * http://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_waterflow.pdf + * http://graphicsrunner.blogspot.de/2010/08/water-using-flow-maps.html + * + */ + +THREE.Water2 = function ( geometry, options ) { + + THREE.Mesh.call( this, geometry ); + + this.type = 'Water'; + + var scope = this; + + options = options || {}; + + var color = ( options.color !== undefined ) ? new THREE.Color( options.color ) : new THREE.Color( 0xFFFFFF ); + var textureWidth = options.textureWidth || 512; + var textureHeight = options.textureHeight || 512; + var clipBias = options.clipBias || 0; + var flowDirection = options.flowDirection || new THREE.Vector2( 1, 0 ); + var flowSpeed = options.flowSpeed || 0.03; + var reflectivity = options.reflectivity || 0.02; + var scale = options.scale || 1; + var shader = options.shader || THREE.Water2.WaterShader; + + var textureLoader = new THREE.TextureLoader(); + + var flowMap = options.flowMap || undefined; + var normalMap0 = options.normalMap0 || textureLoader.load( 'textures/water/Water_1_M_Normal.jpg' ); + var normalMap1 = options.normalMap1 || textureLoader.load( 'textures/water/Water_2_M_Normal.jpg' ); + + var cycle = 0.15; // a cycle of a flow map phase + var halfCycle = cycle * 0.5; + var textureMatrix = new THREE.Matrix4(); + var clock = new THREE.Clock(); + + // internal components + + if ( THREE.Reflector === undefined ) { + + console.error( 'THREE.Water: Required component THREE.Reflector not found.' ); + return; + + } + + if ( THREE.Refractor === undefined ) { + + console.error( 'THREE.Water: Required component THREE.Refractor not found.' ); + return; + + } + + var reflector = new THREE.Reflector( geometry, { + textureWidth: textureWidth, + textureHeight: textureHeight, + clipBias: clipBias + } ); + + var refractor = new THREE.Refractor( geometry, { + textureWidth: textureWidth, + textureHeight: textureHeight, + clipBias: clipBias + } ); + + reflector.matrixAutoUpdate = false; + refractor.matrixAutoUpdate = false; + + // material + + this.material = new THREE.ShaderMaterial( { + uniforms: THREE.UniformsUtils.merge( [ + THREE.UniformsLib[ 'fog' ], + shader.uniforms + ] ), + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader, + transparent: true, + fog: true + } ); + + if ( flowMap !== undefined ) { + + this.material.defines.USE_FLOWMAP = ''; + this.material.uniforms[ "tFlowMap" ] = { + type: 't', + value: flowMap + }; + + } else { + + this.material.uniforms[ "flowDirection" ] = { + type: 'v2', + value: flowDirection + }; + + } + + // maps + + normalMap0.wrapS = normalMap0.wrapT = THREE.RepeatWrapping; + normalMap1.wrapS = normalMap1.wrapT = THREE.RepeatWrapping; + + this.material.uniforms[ "tReflectionMap" ].value = reflector.getRenderTarget().texture; + this.material.uniforms[ "tRefractionMap" ].value = refractor.getRenderTarget().texture; + this.material.uniforms[ "tNormalMap0" ].value = normalMap0; + this.material.uniforms[ "tNormalMap1" ].value = normalMap1; + + // water + + this.material.uniforms[ "color" ].value = color; + this.material.uniforms[ "reflectivity" ].value = reflectivity; + this.material.uniforms[ "textureMatrix" ].value = textureMatrix; + + // inital values + + this.material.uniforms[ "config" ].value.x = 0; // flowMapOffset0 + this.material.uniforms[ "config" ].value.y = halfCycle; // flowMapOffset1 + this.material.uniforms[ "config" ].value.z = halfCycle; // halfCycle + this.material.uniforms[ "config" ].value.w = scale; // scale + + // functions + + function updateTextureMatrix( camera ) { + + textureMatrix.set( + 0.5, 0.0, 0.0, 0.5, + 0.0, 0.5, 0.0, 0.5, + 0.0, 0.0, 0.5, 0.5, + 0.0, 0.0, 0.0, 1.0 + ); + + textureMatrix.multiply( camera.projectionMatrix ); + textureMatrix.multiply( camera.matrixWorldInverse ); + textureMatrix.multiply( scope.matrixWorld ); + + } + + function updateFlow() { + + var delta = clock.getDelta(); + var config = scope.material.uniforms[ "config" ]; + + config.value.x += flowSpeed * delta; // flowMapOffset0 + config.value.y = config.value.x + halfCycle; // flowMapOffset1 + + // Important: The distance between offsets should be always the value of "halfCycle". + // Moreover, both offsets should be in the range of [ 0, cycle ]. + // This approach ensures a smooth water flow and avoids "reset" effects. + + if ( config.value.x >= cycle ) { + + config.value.x = 0; + config.value.y = halfCycle; + + } else if ( config.value.y >= cycle ) { + + config.value.y = config.value.y - cycle; + + } + + } + + // + + this.onBeforeRender = function ( renderer, scene, camera ) { + + updateTextureMatrix( camera ); + updateFlow(); + + scope.visible = false; + + reflector.matrixWorld.copy( scope.matrixWorld ); + refractor.matrixWorld.copy( scope.matrixWorld ); + + reflector.onBeforeRender( renderer, scene, camera ); + refractor.onBeforeRender( renderer, scene, camera ); + + scope.visible = true; + + }; + +}; + +THREE.Water2.prototype = Object.create( THREE.Mesh.prototype ); +THREE.Water2.prototype.constructor = THREE.Water2; + +THREE.Water2.WaterShader = { + + uniforms: { + + 'color': { + type: 'c', + value: null + }, + + 'reflectivity': { + type: 'f', + value: 0 + }, + + 'tReflectionMap': { + type: 't', + value: null + }, + + 'tRefractionMap': { + type: 't', + value: null + }, + + 'tNormalMap0': { + type: 't', + value: null + }, + + 'tNormalMap1': { + type: 't', + value: null + }, + + 'textureMatrix': { + type: 'm4', + value: null + }, + + 'config': { + type: 'v4', + value: new THREE.Vector4() + } + + }, + + vertexShader: [ + + '#include <fog_pars_vertex>', + '#include <logdepthbuf_pars_vertex>', + + 'uniform mat4 textureMatrix;', + + 'varying vec4 vCoord;', + 'varying vec2 vUv;', + 'varying vec3 vToEye;', + + 'void main() {', + + ' vUv = uv;', + ' vCoord = textureMatrix * vec4( position, 1.0 );', + + ' vec4 worldPosition = modelMatrix * vec4( position, 1.0 );', + ' vToEye = cameraPosition - worldPosition.xyz;', + + ' vec4 mvPosition = viewMatrix * worldPosition;', // used in fog_vertex + ' gl_Position = projectionMatrix * mvPosition;', + + ' #include <logdepthbuf_vertex>', + ' #include <fog_vertex>', + + '}' + + ].join( '\n' ), + + fragmentShader: [ + + '#include <common>', + '#include <fog_pars_fragment>', + '#include <logdepthbuf_pars_fragment>', + + 'uniform sampler2D tReflectionMap;', + 'uniform sampler2D tRefractionMap;', + 'uniform sampler2D tNormalMap0;', + 'uniform sampler2D tNormalMap1;', + + '#ifdef USE_FLOWMAP', + ' uniform sampler2D tFlowMap;', + '#else', + ' uniform vec2 flowDirection;', + '#endif', + + 'uniform vec3 color;', + 'uniform float reflectivity;', + 'uniform vec4 config;', + + 'varying vec4 vCoord;', + 'varying vec2 vUv;', + 'varying vec3 vToEye;', + + 'void main() {', + + ' #include <logdepthbuf_fragment>', + + ' float flowMapOffset0 = config.x;', + ' float flowMapOffset1 = config.y;', + ' float halfCycle = config.z;', + ' float scale = config.w;', + + ' vec3 toEye = normalize( vToEye );', + + // determine flow direction + ' vec2 flow;', + ' #ifdef USE_FLOWMAP', + ' flow = texture2D( tFlowMap, vUv ).rg * 2.0 - 1.0;', + ' #else', + ' flow = flowDirection;', + ' #endif', + ' flow.x *= - 1.0;', + + // sample normal maps (distort uvs with flowdata) + ' vec4 normalColor0 = texture2D( tNormalMap0, ( vUv * scale ) + flow * flowMapOffset0 );', + ' vec4 normalColor1 = texture2D( tNormalMap1, ( vUv * scale ) + flow * flowMapOffset1 );', + + // linear interpolate to get the final normal color + ' float flowLerp = abs( halfCycle - flowMapOffset0 ) / halfCycle;', + ' vec4 normalColor = mix( normalColor0, normalColor1, flowLerp );', + + // calculate normal vector + ' vec3 normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );', + + // calculate the fresnel term to blend reflection and refraction maps + ' float theta = max( dot( toEye, normal ), 0.0 );', + ' float reflectance = reflectivity + ( 1.0 - reflectivity ) * pow( ( 1.0 - theta ), 5.0 );', + + // calculate final uv coords + ' vec3 coord = vCoord.xyz / vCoord.w;', + ' vec2 uv = coord.xy + coord.z * normal.xz * 0.05;', + + ' vec4 reflectColor = texture2D( tReflectionMap, vec2( 1.0 - uv.x, uv.y ) );', + ' vec4 refractColor = texture2D( tRefractionMap, uv );', + + // multiply water color with the mix of both textures + ' gl_FragColor = vec4( color, 1.0 ) * mix( refractColor, reflectColor, reflectance );', + + ' #include <tonemapping_fragment>', + ' #include <encodings_fragment>', + ' #include <fog_fragment>', + + '}' + + ].join( '\n' ) +}; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/ClearPass.js b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/ClearPass.js new file mode 100644 index 000000000..fa3cac443 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/ClearPass.js @@ -0,0 +1,44 @@ +/** + * @author mrdoob / http://mrdoob.com/ + */ + +THREE.ClearPass = function ( clearColor, clearAlpha ) { + + THREE.Pass.call( this ); + + this.needsSwap = false; + + this.clearColor = ( clearColor !== undefined ) ? clearColor : 0x000000; + this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 0; + +}; + +THREE.ClearPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { + + constructor: THREE.ClearPass, + + render: function ( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) { + + var oldClearColor, oldClearAlpha; + + if ( this.clearColor ) { + + oldClearColor = renderer.getClearColor().getHex(); + oldClearAlpha = renderer.getClearAlpha(); + + renderer.setClearColor( this.clearColor, this.clearAlpha ); + + } + + renderer.setRenderTarget( this.renderToScreen ? null : readBuffer ); + renderer.clear(); + + if ( this.clearColor ) { + + renderer.setClearColor( oldClearColor, oldClearAlpha ); + + } + + } + +} ); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/EffectComposer.js b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/EffectComposer.js new file mode 100644 index 000000000..6e483b1b4 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/EffectComposer.js @@ -0,0 +1,292 @@ +/** + * @author alteredq / http://alteredqualia.com/ + */ + +THREE.EffectComposer = function ( renderer, renderTarget ) { + + this.renderer = renderer; + + if ( renderTarget === undefined ) { + + var parameters = { + minFilter: THREE.LinearFilter, + magFilter: THREE.LinearFilter, + format: THREE.RGBAFormat, + stencilBuffer: false + }; + + var size = renderer.getSize( new THREE.Vector2() ); + this._pixelRatio = renderer.getPixelRatio(); + this._width = size.width; + this._height = size.height; + + renderTarget = new THREE.WebGLRenderTarget( this._width * this._pixelRatio, this._height * this._pixelRatio, parameters ); + renderTarget.texture.name = 'EffectComposer.rt1'; + + } else { + + this._pixelRatio = 1; + this._width = renderTarget.width; + this._height = renderTarget.height; + + } + + this.renderTarget1 = renderTarget; + this.renderTarget2 = renderTarget.clone(); + this.renderTarget2.texture.name = 'EffectComposer.rt2'; + + this.writeBuffer = this.renderTarget1; + this.readBuffer = this.renderTarget2; + + this.renderToScreen = true; + + this.passes = []; + + // dependencies + + if ( THREE.CopyShader === undefined ) { + + console.error( 'THREE.EffectComposer relies on THREE.CopyShader' ); + + } + + if ( THREE.ShaderPass === undefined ) { + + console.error( 'THREE.EffectComposer relies on THREE.ShaderPass' ); + + } + + this.copyPass = new THREE.ShaderPass( THREE.CopyShader ); + + this.clock = new THREE.Clock(); + +}; + +Object.assign( THREE.EffectComposer.prototype, { + + swapBuffers: function () { + + var tmp = this.readBuffer; + this.readBuffer = this.writeBuffer; + this.writeBuffer = tmp; + + }, + + addPass: function ( pass ) { + + this.passes.push( pass ); + pass.setSize( this._width * this._pixelRatio, this._height * this._pixelRatio ); + + }, + + insertPass: function ( pass, index ) { + + this.passes.splice( index, 0, pass ); + + }, + + isLastEnabledPass: function ( passIndex ) { + + for ( var i = passIndex + 1; i < this.passes.length; i ++ ) { + + if ( this.passes[ i ].enabled ) { + + return false; + + } + + } + + return true; + + }, + + render: function ( deltaTime ) { + + // deltaTime value is in seconds + + if ( deltaTime === undefined ) { + + deltaTime = this.clock.getDelta(); + + } + + var currentRenderTarget = this.renderer.getRenderTarget(); + + var maskActive = false; + + var pass, i, il = this.passes.length; + + for ( i = 0; i < il; i ++ ) { + + pass = this.passes[ i ]; + + if ( pass.enabled === false ) continue; + + pass.renderToScreen = ( this.renderToScreen && this.isLastEnabledPass( i ) ); + pass.render( this.renderer, this.writeBuffer, this.readBuffer, deltaTime, maskActive ); + + if ( pass.needsSwap ) { + + if ( maskActive ) { + + var context = this.renderer.getContext(); + var stencil = this.renderer.state.buffers.stencil; + + //context.stencilFunc( context.NOTEQUAL, 1, 0xffffffff ); + stencil.setFunc( context.NOTEQUAL, 1, 0xffffffff ); + + this.copyPass.render( this.renderer, this.writeBuffer, this.readBuffer, deltaTime ); + + //context.stencilFunc( context.EQUAL, 1, 0xffffffff ); + stencil.setFunc( context.EQUAL, 1, 0xffffffff ); + + } + + this.swapBuffers(); + + } + + if ( THREE.MaskPass !== undefined ) { + + if ( pass instanceof THREE.MaskPass ) { + + maskActive = true; + + } else if ( pass instanceof THREE.ClearMaskPass ) { + + maskActive = false; + + } + + } + + } + + this.renderer.setRenderTarget( currentRenderTarget ); + + }, + + reset: function ( renderTarget ) { + + if ( renderTarget === undefined ) { + + var size = this.renderer.getSize( new THREE.Vector2() ); + this._pixelRatio = this.renderer.getPixelRatio(); + this._width = size.width; + this._height = size.height; + + renderTarget = this.renderTarget1.clone(); + renderTarget.setSize( this._width * this._pixelRatio, this._height * this._pixelRatio ); + + } + + this.renderTarget1.dispose(); + this.renderTarget2.dispose(); + this.renderTarget1 = renderTarget; + this.renderTarget2 = renderTarget.clone(); + + this.writeBuffer = this.renderTarget1; + this.readBuffer = this.renderTarget2; + + }, + + setSize: function ( width, height ) { + + this._width = width; + this._height = height; + + var effectiveWidth = this._width * this._pixelRatio; + var effectiveHeight = this._height * this._pixelRatio; + + this.renderTarget1.setSize( effectiveWidth, effectiveHeight ); + this.renderTarget2.setSize( effectiveWidth, effectiveHeight ); + + for ( var i = 0; i < this.passes.length; i ++ ) { + + this.passes[ i ].setSize( effectiveWidth, effectiveHeight ); + + } + + }, + + setPixelRatio: function ( pixelRatio ) { + + this._pixelRatio = pixelRatio; + + this.setSize( this._width, this._height ); + + } + +} ); + + +THREE.Pass = function () { + + // if set to true, the pass is processed by the composer + this.enabled = true; + + // if set to true, the pass indicates to swap read and write buffer after rendering + this.needsSwap = true; + + // if set to true, the pass clears its buffer before rendering + this.clear = false; + + // if set to true, the result of the pass is rendered to screen. This is set automatically by EffectComposer. + this.renderToScreen = false; + +}; + +Object.assign( THREE.Pass.prototype, { + + setSize: function ( /* width, height */ ) {}, + + render: function ( /* renderer, writeBuffer, readBuffer, deltaTime, maskActive */ ) { + + console.error( 'THREE.Pass: .render() must be implemented in derived pass.' ); + + } + +} ); + +// Helper for passes that need to fill the viewport with a single quad. +THREE.Pass.FullScreenQuad = ( function () { + + var camera = new THREE.OrthographicCamera( - 1, 1, 1, - 1, 0, 1 ); + var geometry = new THREE.PlaneBufferGeometry( 2, 2 ); + + var FullScreenQuad = function ( material ) { + + this._mesh = new THREE.Mesh( geometry, material ); + + }; + + Object.defineProperty( FullScreenQuad.prototype, 'material', { + + get: function () { + + return this._mesh.material; + + }, + + set: function ( value ) { + + this._mesh.material = value; + + } + + } ); + + Object.assign( FullScreenQuad.prototype, { + + render: function ( renderer ) { + + renderer.render( this._mesh, camera ); + + } + + } ); + + return FullScreenQuad; + +} )(); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/RenderPass.js b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/RenderPass.js new file mode 100644 index 000000000..3163ee9b5 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/RenderPass.js @@ -0,0 +1,68 @@ +/** + * @author alteredq / http://alteredqualia.com/ + */ + +THREE.RenderPass = function ( scene, camera, overrideMaterial, clearColor, clearAlpha ) { + + THREE.Pass.call( this ); + + this.scene = scene; + this.camera = camera; + + this.overrideMaterial = overrideMaterial; + + this.clearColor = clearColor; + this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 0; + + this.clear = true; + this.clearDepth = false; + this.needsSwap = false; + +}; + +THREE.RenderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { + + constructor: THREE.RenderPass, + + render: function ( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) { + + var oldAutoClear = renderer.autoClear; + renderer.autoClear = false; + + this.scene.overrideMaterial = this.overrideMaterial; + + var oldClearColor, oldClearAlpha; + + if ( this.clearColor ) { + + oldClearColor = renderer.getClearColor().getHex(); + oldClearAlpha = renderer.getClearAlpha(); + + renderer.setClearColor( this.clearColor, this.clearAlpha ); + + } + + if ( this.clearDepth ) { + + renderer.clearDepth(); + + } + + renderer.setRenderTarget( this.renderToScreen ? null : readBuffer ); + + // TODO: Avoid using autoClear properties, see https://github.com/mrdoob/three.js/pull/15571#issuecomment-465669600 + if ( this.clear ) renderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil ); + renderer.render( this.scene, this.camera ); + + if ( this.clearColor ) { + + renderer.setClearColor( oldClearColor, oldClearAlpha ); + + } + + this.scene.overrideMaterial = null; + renderer.autoClear = oldAutoClear; + + } + +} ); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/SMAAPass.js b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/SMAAPass.js new file mode 100644 index 000000000..06bd8ba2e --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/SMAAPass.js @@ -0,0 +1,188 @@ +/** + * @author mpk / http://polko.me/ + */ + +THREE.SMAAPass = function ( width, height ) { + + THREE.Pass.call( this ); + + // render targets + + this.edgesRT = new THREE.WebGLRenderTarget( width, height, { + depthBuffer: false, + stencilBuffer: false, + generateMipmaps: false, + minFilter: THREE.LinearFilter, + format: THREE.RGBFormat + } ); + this.edgesRT.texture.name = "SMAAPass.edges"; + + this.weightsRT = new THREE.WebGLRenderTarget( width, height, { + depthBuffer: false, + stencilBuffer: false, + generateMipmaps: false, + minFilter: THREE.LinearFilter, + format: THREE.RGBAFormat + } ); + this.weightsRT.texture.name = "SMAAPass.weights"; + + // textures + var scope = this; + + var areaTextureImage = new Image(); + areaTextureImage.src = this.getAreaTexture(); + areaTextureImage.onload = function () { + + // assigning data to HTMLImageElement.src is asynchronous (see #15162) + scope.areaTexture.needsUpdate = true; + + }; + + this.areaTexture = new THREE.Texture(); + this.areaTexture.name = "SMAAPass.area"; + this.areaTexture.image = areaTextureImage; + this.areaTexture.format = THREE.RGBFormat; + this.areaTexture.minFilter = THREE.LinearFilter; + this.areaTexture.generateMipmaps = false; + this.areaTexture.flipY = false; + + var searchTextureImage = new Image(); + searchTextureImage.src = this.getSearchTexture(); + searchTextureImage.onload = function () { + + // assigning data to HTMLImageElement.src is asynchronous (see #15162) + scope.searchTexture.needsUpdate = true; + + }; + + this.searchTexture = new THREE.Texture(); + this.searchTexture.name = "SMAAPass.search"; + this.searchTexture.image = searchTextureImage; + this.searchTexture.magFilter = THREE.NearestFilter; + this.searchTexture.minFilter = THREE.NearestFilter; + this.searchTexture.generateMipmaps = false; + this.searchTexture.flipY = false; + + // materials - pass 1 + + if ( THREE.SMAAEdgesShader === undefined ) { + + console.error( "THREE.SMAAPass relies on THREE.SMAAShader" ); + + } + + this.uniformsEdges = THREE.UniformsUtils.clone( THREE.SMAAEdgesShader.uniforms ); + + this.uniformsEdges[ "resolution" ].value.set( 1 / width, 1 / height ); + + this.materialEdges = new THREE.ShaderMaterial( { + defines: Object.assign( {}, THREE.SMAAEdgesShader.defines ), + uniforms: this.uniformsEdges, + vertexShader: THREE.SMAAEdgesShader.vertexShader, + fragmentShader: THREE.SMAAEdgesShader.fragmentShader + } ); + + // materials - pass 2 + + this.uniformsWeights = THREE.UniformsUtils.clone( THREE.SMAAWeightsShader.uniforms ); + + this.uniformsWeights[ "resolution" ].value.set( 1 / width, 1 / height ); + this.uniformsWeights[ "tDiffuse" ].value = this.edgesRT.texture; + this.uniformsWeights[ "tArea" ].value = this.areaTexture; + this.uniformsWeights[ "tSearch" ].value = this.searchTexture; + + this.materialWeights = new THREE.ShaderMaterial( { + defines: Object.assign( {}, THREE.SMAAWeightsShader.defines ), + uniforms: this.uniformsWeights, + vertexShader: THREE.SMAAWeightsShader.vertexShader, + fragmentShader: THREE.SMAAWeightsShader.fragmentShader + } ); + + // materials - pass 3 + + this.uniformsBlend = THREE.UniformsUtils.clone( THREE.SMAABlendShader.uniforms ); + + this.uniformsBlend[ "resolution" ].value.set( 1 / width, 1 / height ); + this.uniformsBlend[ "tDiffuse" ].value = this.weightsRT.texture; + + this.materialBlend = new THREE.ShaderMaterial( { + uniforms: this.uniformsBlend, + vertexShader: THREE.SMAABlendShader.vertexShader, + fragmentShader: THREE.SMAABlendShader.fragmentShader + } ); + + this.needsSwap = false; + + this.fsQuad = new THREE.Pass.FullScreenQuad( null ); + +}; + +THREE.SMAAPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { + + constructor: THREE.SMAAPass, + + render: function ( renderer, writeBuffer, readBuffer/*, deltaTime, maskActive*/ ) { + + // pass 1 + + this.uniformsEdges[ "tDiffuse" ].value = readBuffer.texture; + + this.fsQuad.material = this.materialEdges; + + renderer.setRenderTarget( this.edgesRT ); + if ( this.clear ) renderer.clear(); + this.fsQuad.render( renderer ); + + // pass 2 + + this.fsQuad.material = this.materialWeights; + + renderer.setRenderTarget( this.weightsRT ); + if ( this.clear ) renderer.clear(); + this.fsQuad.render( renderer ); + + // pass 3 + + this.uniformsBlend[ "tColor" ].value = readBuffer.texture; + + this.fsQuad.material = this.materialBlend; + + if ( this.renderToScreen ) { + + renderer.setRenderTarget( null ); + this.fsQuad.render( renderer ); + + } else { + + renderer.setRenderTarget( writeBuffer ); + if ( this.clear ) renderer.clear(); + this.fsQuad.render( renderer ); + + } + + }, + + setSize: function ( width, height ) { + + this.edgesRT.setSize( width, height ); + this.weightsRT.setSize( width, height ); + + this.materialEdges.uniforms[ 'resolution' ].value.set( 1 / width, 1 / height ); + this.materialWeights.uniforms[ 'resolution' ].value.set( 1 / width, 1 / height ); + this.materialBlend.uniforms[ 'resolution' ].value.set( 1 / width, 1 / height ); + + }, + + getAreaTexture: function () { + + return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAIwCAIAAACOVPcQAACBeklEQVR42u39W4xlWXrnh/3WWvuciIzMrKxrV8/0rWbY0+SQFKcb4owIkSIFCjY9AC1BT/LYBozRi+EX+cV+8IMsYAaCwRcBwjzMiw2jAWtgwC8WR5Q8mDFHZLNHTarZGrLJJllt1W2qKrsumZWZcTvn7L3W54e1vrXX3vuciLPPORFR1XE2EomorB0nVuz//r71re/y/1eMvb4Cb3N11xV/PP/2v4UBAwJG/7H8urx6/25/Gf8O5hypMQ0EEEQwAqLfoN/Z+97f/SW+/NvcgQk4sGBJK6H7N4PFVL+K+e0N11yNfkKvwUdwdlUAXPHHL38oa15f/i/46Ih6SuMSPmLAYAwyRKn7dfMGH97jaMFBYCJUgotIC2YAdu+LyW9vvubxAP8kAL8H/koAuOKP3+q6+xGnd5kdYCeECnGIJViwGJMAkQKfDvB3WZxjLKGh8VSCCzhwEWBpMc5/kBbjawT4HnwJfhr+pPBIu7uu+OOTo9vsmtQcniMBGkKFd4jDWMSCRUpLjJYNJkM+IRzQ+PQvIeAMTrBS2LEiaiR9b/5PuT6Ap/AcfAFO4Y3dA3DFH7/VS+M8k4baEAQfMI4QfbVDDGIRg7GKaIY52qAjTAgTvGBAPGIIghOCYAUrGFNgzA7Q3QhgCwfwAnwe5vDejgG44o/fbm1C5ZlYQvQDARPAIQGxCWBM+wWl37ZQESb4gImexGMDouhGLx1Cst0Saa4b4AqO4Hk4gxo+3DHAV/nx27p3JziPM2pVgoiia5MdEzCGULprIN7gEEeQ5IQxEBBBQnxhsDb5auGmAAYcHMA9eAAz8PBol8/xij9+C4Djlim4gJjWcwZBhCBgMIIYxGAVIkH3ZtcBuLdtRFMWsPGoY9rN+HoBji9VBYdwD2ZQg4cnO7OSq/z4rU5KKdwVbFAjNojCQzTlCLPFSxtamwh2jMUcEgg2Wm/6XgErIBhBckQtGN3CzbVacERgCnfgLswhnvqf7QyAq/z4rRZm1YglYE3affGITaZsdIe2FmMIpnOCap25I6jt2kCwCW0D1uAD9sZctNGXcQIHCkINDQgc78aCr+zjtw3BU/ijdpw3zhCwcaONwBvdeS2YZKkJNJsMPf2JKEvC28RXxxI0ASJyzQCjCEQrO4Q7sFArEzjZhaFc4cdv+/JFdKULM4px0DfUBI2hIsy06BqLhGTQEVdbfAIZXYMPesq6VoCHICzUyjwInO4Y411//LYLs6TDa9wvg2CC2rElgAnpTBziThxaL22MYhzfkghz6GAs2VHbbdM91VZu1MEEpupMMwKyVTb5ij9+u4VJG/5EgEMMmFF01cFai3isRbKbzb+YaU/MQbAm2XSMoUPAmvZzbuKYRIFApbtlrfFuUGd6vq2hXNnH78ZLh/iFhsQG3T4D1ib7k5CC6vY0DCbtrohgLEIClXiGtl10zc0CnEGIhhatLBva7NP58Tvw0qE8yWhARLQ8h4+AhQSP+I4F5xoU+VilGRJs6wnS7ruti/4KvAY/CfdgqjsMy4pf8fodQO8/gnuX3f/3xi3om1/h7THr+co3x93PP9+FBUfbNUjcjEmhcrkT+8K7ml7V10Jo05mpIEFy1NmCJWx9SIKKt+EjAL4Ez8EBVOB6havuT/rByPvHXK+9zUcfcbb254+9fydJknYnRr1oGfdaiAgpxu1Rx/Rek8KISftx3L+DfsLWAANn8Hvw0/AFeAGO9DFV3c6D+CcWbL8Dj9e7f+T1k8AZv/d7+PXWM/Z+VvdCrIvuAKO09RpEEQJM0Ci6+B4xhTWr4cZNOvhktabw0ta0rSJmqz3Yw5/AKXwenod7cAhTmBSPKf6JBdvH8IP17h95pXqw50/+BFnj88fev4NchyaK47OPhhtI8RFSvAfDSNh0Ck0p2gLxGkib5NJj/JWCr90EWQJvwBzO4AHcgztwAFN1evHPUVGwfXON+0debT1YeGON9Yy9/63X+OguiwmhIhQhD7l4sMqlG3D86Suc3qWZ4rWjI1X7u0Ytw6x3rIMeIOPDprfe2XzNgyj6PahhBjO4C3e6puDgXrdg+/5l948vF3bqwZetZ+z9Rx9zdIY5pInPK4Nk0t+l52xdK2B45Qd87nM8fsD5EfUhIcJcERw4RdqqH7Yde5V7m1vhNmtedkz6EDzUMF/2jJYWbC+4fzzA/Y+/8PPH3j9dcBAPIRP8JLXd5BpAu03aziOL3VVHZzz3CXWDPWd+SH2AnxIqQoTZpo9Ckc6HIrFbAbzNmlcg8Ag8NFDDAhbJvTBZXbC94P7t68EXfv6o+21gUtPETU7bbkLxvNKRFG2+KXzvtObonPP4rBvsgmaKj404DlshFole1Glfh02fE7bYR7dZ82oTewIBGn1Md6CG6YUF26X376oevOLzx95vhUmgblI6LBZwTCDY7vMq0op5WVXgsObOXJ+1x3qaBl9j1FeLxbhU9w1F+Wiba6s1X/TBz1LnUfuYDi4r2C69f1f14BWfP+p+W2GFKuC9phcELMYRRLur9DEZTUdEH+iEqWdaM7X4WOoPGI+ZYD2+wcQ+y+ioHUZ9dTDbArzxmi/bJI9BND0Ynd6lBdve/butBw8+f/T9D3ABa3AG8W3VPX4hBin+bj8dMMmSpp5pg7fJ6xrBFE2WQQEWnV8Qg3FbAWzYfM1rREEnmvkN2o1+acG2d/9u68GDzx91v3mAjb1zkpqT21OipPKO0b9TO5W0nTdOmAQm0TObts3aBKgwARtoPDiCT0gHgwnbArzxmtcLc08HgF1asN0C4Ms/fvD5I+7PhfqyXE/b7RbbrGyRQRT9ARZcwAUmgdoz0ehJ9Fn7QAhUjhDAQSw0bV3T3WbNa59jzmiP6GsWbGXDX2ytjy8+f9T97fiBPq9YeLdBmyuizZHaqXITnXiMUEEVcJ7K4j3BFPurtB4bixW8wTpweL8DC95szWMOqucFYGsWbGU7p3TxxxefP+r+oTVktxY0v5hbq3KiOKYnY8ddJVSBxuMMVffNbxwIOERShst73HZ78DZrHpmJmH3K6sGz0fe3UUj0eyRrSCGTTc+rjVNoGzNSv05srAxUBh8IhqChiQgVNIIBH3AVPnrsnXQZbLTm8ammv8eVXn/vWpaTem5IXRlt+U/LA21zhSb9cye6jcOfCnOwhIAYXAMVTUNV0QhVha9xjgA27ODJbLbmitt3tRN80lqG6N/khgot4ZVlOyO4WNg3OIMzhIZQpUEHieg2im6F91hB3I2tubql6BYNN9Hj5S7G0G2tahslBWKDnOiIvuAEDzakDQKDNFQT6gbn8E2y4BBubM230YIpBnDbMa+y3dx0n1S0BtuG62lCCXwcY0F72T1VRR3t2ONcsmDjbmzNt9RFs2LO2hQNyb022JisaI8rAWuw4HI3FuAIhZdOGIcdjLJvvObqlpqvWTJnnQbyi/1M9O8UxWhBs//H42I0q1Yb/XPGONzcmm+ri172mHKvZBpHkJaNJz6v9jxqiklDj3U4CA2ugpAaYMWqNXsdXbmJNd9egCnJEsphXNM+MnK3m0FCJ5S1kmJpa3DgPVbnQnPGWIDspW9ozbcO4K/9LkfaQO2KHuqlfFXSbdNzcEcwoqNEFE9zcIXu9/6n/ym/BC/C3aJLzEKPuYVlbFnfhZ8kcWxV3dbv4bKl28566wD+8C53aw49lTABp9PWbsB+knfc/Li3eVizf5vv/xmvnPKg5ihwKEwlrcHqucuVcVOxEv8aH37E3ZqpZypUulrHEtIWKUr+txHg+ojZDGlwnqmkGlzcVi1dLiNSJiHjfbRNOPwKpx9TVdTn3K05DBx4psIk4Ei8aCkJahRgffk4YnEXe07T4H2RR1u27E6wfQsBDofUgjFUFnwC2AiVtA+05J2zpiDK2Oa0c5fmAecN1iJzmpqFZxqYBCYhFTCsUNEmUnIcZ6aEA5rQVhEywG6w7HSW02XfOoBlQmjwulOFQAg66SvJblrTEX1YtJ3uG15T/BH1OfOQeuR8g/c0gdpT5fx2SKbs9EfHTKdM8A1GaJRHLVIwhcGyydZsbifAFVKl5EMKNU2Hryo+06BeTgqnxzYjThVySDikbtJPieco75lYfKAJOMEZBTjoITuWHXXZVhcUDIS2hpiXHV9Ku4u44bN5OYLDOkJo8w+xJSMbhBRHEdEs9JZUCkQrPMAvaHyLkxgkEHxiNkx/x2YB0mGsQ8EUWj/stW5YLhtS5SMu+/YBbNPDCkGTUybN8krRLBGPlZkVOA0j+a1+rkyQKWGaPHPLZOkJhioQYnVZ2hS3zVxMtgC46KuRwbJNd9nV2PHgb36F194ecf/Yeu2vAFe5nm/bRBFrnY4BauE8ERmZRFUn0k8hbftiVYSKMEme2dJCJSCGYAlNqh87bXOPdUkGy24P6d1ll21MBqqx48Fvv8ZHH8HZFY7j/uAq1xMJUFqCSUlJPmNbIiNsmwuMs/q9CMtsZsFO6SprzCS1Z7QL8xCQClEelpjTduDMsmWD8S1PT152BtvmIGvUeDA/yRn83u/x0/4qxoPHjx+PXY9pqX9bgMvh/Nz9kpP4pOe1/fYf3axUiMdHLlPpZCNjgtNFAhcHEDxTumNONhHrBduW+vOyY++70WWnPXj98eA4kOt/mj/5E05l9+O4o8ePx67HFqyC+qSSnyselqjZGaVK2TadbFLPWAQ4NBhHqDCCV7OTpo34AlSSylPtIdd2AJZlyzYQrDJ5lcWGNceD80CunPLGGzsfD+7wRb95NevJI5docQ3tgCyr5bGnyaPRlmwNsFELViOOx9loebGNq2moDOKpHLVP5al2cymWHbkfzGXL7kfRl44H9wZy33tvt+PB/Xnf93e+nh5ZlU18wCiRUa9m7kib9LYuOk+hudQNbxwm0AQqbfloimaB2lM5fChex+ylMwuTbfmXQtmWlenZljbdXTLuOxjI/fDDHY4Hjx8/Hrse0zXfPFxbUN1kKqSCCSk50m0Ajtx3ub9XHBKHXESb8iO6E+qGytF4nO0OG3SXzbJlhxBnKtKyl0NwybjvYCD30aMdjgePHz8eu56SVTBbgxJMliQ3Oauwg0QHxXE2Ez/EIReLdQj42Gzb4CLS0YJD9xUx7bsi0vJi5mUbW1QzL0h0PFk17rtiIPfJk52MB48fPx67npJJwyrBa2RCCQRTbGZSPCxTPOiND4G2pYyOQ4h4jINIJh5wFU1NFZt+IsZ59LSnDqBjZ2awbOku+yInunLcd8VA7rNnOxkPHj9+PGY9B0MWJJNozOJmlglvDMXDEozdhQWbgs/U6oBanGzLrdSNNnZFjOkmbi5bNt1lX7JLLhn3vXAg9/h4y/Hg8ePHI9dzQMEkWCgdRfYykYKnkP7D4rIujsujaKPBsB54vE2TS00ccvFY/Tth7JXeq1hz+qgVy04sAJawTsvOknHfCwdyT062HA8eP348Zj0vdoXF4pilKa2BROed+9fyw9rWRXeTFXESMOanvDZfJuJaSXouQdMdDJZtekZcLLvEeK04d8m474UDuaenW44Hjx8/Xns9YYqZpszGWB3AN/4VHw+k7WSFtJ3Qicuqb/NlVmgXWsxh570xg2UwxUw3WfO6B5nOuO8aA7lnZxuPB48fPx6znm1i4bsfcbaptF3zNT78eFPtwi1OaCNOqp1x3zUGcs/PN++AGD1+fMXrSVm2baTtPhPahbPhA71wIHd2bXzRa69nG+3CraTtPivahV/55tXWg8fyRY/9AdsY8VbSdp8V7cKrrgdfM//z6ILQFtJ2nxHtwmuoB4/kf74+gLeRtvvMaBdeSz34+vifx0YG20jbfTa0C6+tHrwe//NmOG0L8EbSdp8R7cLrrQe/996O+ai3ujQOskpTNULa7jOjXXj99eCd8lHvoFiwsbTdZ0a78PrrwTvlo966pLuRtB2fFe3Cm6oHP9kNH/W2FryxtN1nTLvwRurBO+Kj3pWXHidtx2dFu/Bm68Fb81HvykuPlrb7LGkX3mw9eGs+6h1Y8MbSdjegXcguQLjmevDpTQLMxtJ2N6NdyBZu9AbrwVvwUW+LbteULUpCdqm0HTelXbhNPe8G68Gb8lFvVfYfSNuxvrTdTWoXbozAzdaDZzfkorOj1oxVxlIMlpSIlpLrt8D4hrQL17z+c3h6hU/wv4Q/utps4+bm+6P/hIcf0JwQ5oQGPBL0eKPTYEXTW+eL/2DKn73J9BTXYANG57hz1cEMviVf/4tf5b/6C5pTQkMIWoAq7hTpOJjtAM4pxKu5vg5vXeUrtI09/Mo/5H+4z+Mp5xULh7cEm2QbRP2tFIKR7WM3fPf/jZ3SWCqLM2l4NxID5zB72HQXv3jj/8mLR5xXNA5v8EbFQEz7PpRfl1+MB/hlAN65qgDn3wTgH13hK7T59bmP+NIx1SHHU84nLOITt3iVz8mNO+lPrjGAnBFqmioNn1mTyk1ta47R6d4MrX7tjrnjYUpdUbv2rVr6YpVfsGG58AG8Ah9eyUN8CX4WfgV+G8LVWPDGb+Zd4cU584CtqSbMKxauxTg+dyn/LkVgA+IR8KHtejeFKRtTmLLpxN6mYVLjYxwXf5x2VofiZcp/lwKk4wGOpYDnoIZPdg/AAbwMfx0+ge9dgZvYjuqKe4HnGnykYo5TvJbG0Vj12JagRhwKa44H95ShkZa5RyLGGdfYvG7aw1TsF6iapPAS29mNS3NmsTQZCmgTzFwgL3upCTgtBTRwvGMAKrgLn4evwin8+afJRcff+8izUGUM63GOOuAs3tJkw7J4kyoNreqrpO6cYLQeFUd7TTpr5YOTLc9RUUogUOVJQ1GYJaFLAW0oTmKyYS46ZooP4S4EON3xQ5zC8/CX4CnM4c1PE8ApexpoYuzqlP3d4S3OJP8ZDK7cKWNaTlqmgDiiHwl1YsE41w1zT4iRTm3DBqxvOUsbMKKDa/EHxagtnta072ejc3DOIh5ojvh8l3tk1JF/AV6FU6jh3U8HwEazLgdCLYSQ+MYiAI2ltomkzttUb0gGHdSUUgsIYjTzLG3mObX4FBRaYtpDVNZrih9TgTeYOBxsEnN1gOCTM8Bsw/ieMc75w9kuAT6A+/AiHGvN/+Gn4KRkiuzpNNDYhDGFndWRpE6SVfm8U5bxnSgVV2jrg6JCKmneqey8VMFgq2+AM/i4L4RUbfSi27lNXZ7R7W9RTcq/q9fk4Xw3AMQd4I5ifAZz8FcVtm9SAom/dyN4lczJQW/kC42ZrHgcCoIf1oVMKkVItmMBi9cOeNHGLqOZk+QqQmrbc5YmYgxELUUN35z2iohstgfLIFmcMV7s4CFmI74L9+EFmGsi+tGnAOD4Yk9gIpo01Y4cA43BWGygMdr4YZekG3OBIUXXNukvJS8tqa06e+lSDCtnqqMFu6hWHXCF+WaYt64m9QBmNxi7Ioy7D+fa1yHw+FMAcPt7SysFLtoG4PXAk7JOA3aAxBRqUiAdU9Yp5lK3HLSRFtOim0sa8euEt08xvKjYjzeJ2GU7YawexrnKI9tmobInjFXCewpwriY9+RR4aaezFhMhGCppKwom0ChrgFlKzyPKkGlTW1YQrE9HJqu8hKGgMc6hVi5QRq0PZxNfrYNgE64utmRv6KKHRpxf6VDUaOvNP5jCEx5q185My/7RKz69UQu2im5k4/eownpxZxNLwiZ1AZTO2ZjWjkU9uaB2HFn6Q3u0JcsSx/qV9hTEApRzeBLDJQXxYmTnq7bdLa3+uqFrxLJ5w1TehnNHx5ECvCh2g2c3hHH5YsfdaSKddztfjQ6imKFGSyFwlLzxEGPp6r5IevVjk1AMx3wMqi1NxDVjLBiPs9tbsCkIY5we5/ML22zrCScFxnNtzsr9Wcc3CnD+pYO+4VXXiDE0oc/vQQ/fDK3oPESJMYXNmJa/DuloJZkcTpcYE8lIH8Dz8DJMiynNC86Mb2lNaaqP/+L7f2fcE/yP7/Lde8xfgSOdMxvOixZf/9p3+M4hT1+F+zApxg9XfUvYjc8qX2lfOOpK2gNRtB4flpFu9FTKCp2XJRgXnX6olp1zyYjTKJSkGmLE2NjUr1bxFM4AeAAHBUFIeSLqXR+NvH/M9fOnfHzOD2vCSyQJKzfgsCh+yi/Mmc35F2fUrw7miW33W9hBD1vpuUojFphIyvg7aTeoymDkIkeW3XLHmguMzbIAJejN6B5MDrhipE2y6SoFRO/AK/AcHHZHNIfiWrEe/C6cr3f/yOvrQKB+zMM55/GQdLDsR+ifr5Fiuu+/y+M78LzOE5dsNuXC3PYvYWd8NXvphLSkJIasrlD2/HOqQ+RjcRdjKTGWYhhVUm4yxlyiGPuMsZR7sMCHUBeTuNWA7if+ifXgc/hovftHXs/DV+Fvwe+f8shzMiMcweFgBly3//vwJfg5AN4450fn1Hd1Rm1aBLu22Dy3y3H2+OqMemkbGZ4jozcDjJf6596xOLpC0eMTHbKnxLxH27uZ/bMTGs2jOaMOY4m87CfQwF0dw53oa1k80JRuz/XgS+8fX3N9Af4qPIMfzKgCp4H5TDGe9GGeFPzSsZz80SlPTxXjgwJmC45njzgt2vbQ4b4OAdUK4/vWhO8d8v6EE8fMUsfakXbPpFJeLs2ubM/qdm/la3WP91uWhxXHjoWhyRUq2iJ/+5mA73zwIIo+LoZ/SgvIRjAd1IMvvn98PfgOvAJfhhm8scAKVWDuaRaK8aQ9f7vuPDH6Bj47ZXau7rqYJ66mTDwEDU6lLbCjCK0qTXyl5mnDoeNRxanj3FJbaksTk0faXxHxLrssgPkWB9LnA/MFleXcJozzjwsUvUG0X/QCve51qkMDXp9mtcyOy3rwBfdvVJK7D6/ACSzg3RoruIq5UDeESfEmVclDxnniU82vxMLtceD0hGZWzBNPMM/jSPne2OVatiTKUpY5vY7gc0LdUAWeWM5tH+O2I66AOWw9xT2BuyRVLGdoDHUsVRXOo/c+ZdRXvFfnxWyIV4upFLCl9eAL7h8Zv0QH8Ry8pA2cHzQpGesctVA37ZtklBTgHjyvdSeKY/RZw/kJMk0Y25cSNRWSigQtlULPTw+kzuJPeYEkXjQRpoGZobYsLF79pyd1dMRHInbgFTZqNLhDqiIsTNpoex2WLcy0/X6rHcdMMQvFSd5dWA++4P7xv89deACnmr36uGlL69bRCL6BSZsS6c0TU2TKK5gtWCzgAOOwQcurqk9j8whvziZSMLcq5hbuwBEsYjopUBkqw1yYBGpLA97SRElEmx5MCInBY5vgLk94iKqSWmhIGmkJ4Bi9m4L645J68LyY4wsFYBfUg5feP/6gWWm58IEmKQM89hq7KsZNaKtP5TxxrUZZVkNmMJtjbKrGxLNEbHPJxhqy7lAmbC32ZqeF6lTaknRWcYaFpfLUBh/rwaQycCCJmW15Kstv6jRHyJFry2C1ahkkIW0LO75s61+owxK1y3XqweX9m5YLM2DPFeOjn/iiqCKJ+yKXF8t5Yl/kNsqaSCryxPq5xWTFIaP8KSW0RYxqupaUf0RcTNSSdJZGcKYdYA6kdtrtmyBckfKXwqk0pHpUHlwWaffjNRBYFPUDWa8e3Lt/o0R0CdisKDM89cX0pvRHEfM8ca4t0s2Xx4kgo91MPQJ/0c9MQYq0co8MBh7bz1fio0UUHLR4aAIOvOmoYO6kwlEVODSSTliWtOtH6sPkrtctF9ZtJ9GIerBskvhdVS5cFNv9s1BU0AbdUgdK4FG+dRnjFmDTzniRMdZO1QhzMK355vigbdkpz9P6qjUGE5J2qAcXmwJ20cZUiAD0z+pGMx6xkzJkmEf40Hr4qZfVg2XzF9YOyoV5BjzVkUJngKf8lgNYwKECEHrCNDrWZzMlflS3yBhr/InyoUgBc/lKT4pxVrrC6g1YwcceK3BmNxZcAtz3j5EIpqguh9H6wc011YN75cKDLpFDxuwkrPQmUwW4KTbj9mZTwBwLq4aQMUZbHm1rylJ46dzR0dua2n3RYCWZsiHROeywyJGR7mXKlpryyCiouY56sFkBWEnkEB/raeh/Sw4162KeuAxMQpEkzy5alMY5wamMsWKKrtW2WpEWNnReZWONKWjrdsKZarpFjqCslq773PLmEhM448Pc3+FKr1+94vv/rfw4tEcu+lKTBe4kZSdijBrykwv9vbCMPcLQTygBjzVckSLPRVGslqdunwJ4oegtFOYb4SwxNgWLCmD7T9kVjTv5YDgpo0XBmN34Z/rEHp0sgyz7lngsrm4lvMm2Mr1zNOJYJ5cuxuQxwMGJq/TP5emlb8fsQBZviK4t8hFL+zbhtlpwaRSxQRWfeETjuauPsdGxsBVdO7nmP4xvzSoT29pRl7kGqz+k26B3Oy0YNV+SXbbQas1ctC/GarskRdFpKczVAF1ZXnLcpaMuzVe6lZ2g/1ndcvOVgRG3sdUAY1bKD6achijMPdMxV4muKVorSpiDHituH7rSTs7n/4y5DhRXo4FVBN4vO/zbAcxhENzGbHCzU/98Mcx5e7a31kWjw9FCe/zNeYyQjZsWb1uc7U33pN4Mji6hCLhivqfa9Ss6xLg031AgfesA/l99m9fgvnaF9JoE6bYKmkGNK3aPbHB96w3+DnxFm4hs0drLsk7U8kf/N/CvwQNtllna0rjq61sH8L80HAuvwH1tvBy2ChqWSCaYTaGN19sTvlfzFD6n+iKTbvtayfrfe9ueWh6GJFoxLdr7V72a5ZpvHcCPDzma0wTO4EgbLyedxstO81n57LYBOBzyfsOhUKsW1J1BB5vr/tz8RyqOFylQP9Tvst2JALsC5lsH8PyQ40DV4ANzYa4dedNiKNR1s+x2wwbR7q4/4cTxqEk4LWDebfisuo36JXLiWFjOtLrlNWh3K1rRS4xvHcDNlFnNmWBBAl5SWaL3oPOfnvbr5pdjVnEaeBJSYjuLEkyLLsWhKccadmOphZkOPgVdalj2QpSmfOsADhMWE2ZBu4+EEJI4wKTAuCoC4xwQbWXBltpxbjkXJtKxxabo9e7tyhlgb6gNlSbUpMh+l/FaqzVwewGu8BW1Zx7pTpQDJUjb8tsUTW6+GDXbMn3mLbXlXJiGdggxFAoUrtPS3wE4Nk02UZG2OOzlk7fRs7i95QCLo3E0jtrjnM7SR3uS1p4qtS2nJ5OwtQVHgOvArLBFijZUV9QtSl8dAY5d0E0hM0w3HS2DpIeB6m/A1+HfhJcGUq4sOxH+x3f5+VO+Ds9rYNI7zPXOYWPrtf8bYMx6fuOAX5jzNR0PdsuON+X1f7EERxMJJoU6GkTEWBvVolVlb5lh3tKCg6Wx1IbaMDdJ+9sUCc5KC46hKGCk3IVOS4TCqdBNfUs7Kd4iXf2RjnT/LLysJy3XDcHLh/vde3x8DoGvwgsa67vBk91G5Pe/HbOe7xwym0NXbtiuuDkGO2IJDh9oQvJ4cY4vdoqLDuoH9Zl2F/ofsekn8lkuhIlhQcffUtSjytFyp++p6NiE7Rqx/lodgKVoceEp/CP4FfjrquZaTtj2AvH5K/ywpn7M34K/SsoYDAdIN448I1/0/wveW289T1/lX5xBzc8N5IaHr0XMOQdHsIkDuJFifj20pBm5jzwUv9e2FhwRsvhAbalCIuIw3bhJihY3p6nTFFIZgiSYjfTf3aXuOjmeGn4bPoGvwl+CFzTRczBIuHBEeImHc37/lGfwZR0cXzVDOvaKfNHvwe+suZ771K/y/XcBlsoN996JpBhoE2toYxOznNEOS5TJc6Id5GEXLjrWo+LEWGNpPDU4WAwsIRROu+1vM+0oW37z/MBN9kqHnSArwPfgFJ7Cq/Ai3Ie7g7ncmI09v8sjzw9mzOAEXoIHxURueaAce5V80f/DOuuZwHM8vsMb5wBzOFWM7wymTXPAEvm4vcFpZ2ut0VZRjkiP2MlmLd6DIpbGSiHOjdnUHN90hRYmhTnmvhzp1iKDNj+b7t5hi79lWGwQ+HN9RsfFMy0FXbEwhfuczKgCbyxYwBmcFhhvo/7a44v+i3XWcwDP86PzpGQYdWh7csP5dBvZ1jNzdxC8pBGuxqSW5vw40nBpj5JhMwvOzN0RWqERHMr4Lv1kWX84xLR830G3j6yqZ1a8UstTlW+qJPOZ+sZ7xZPKTJLhiNOAFd6tk+jrTH31ncLOxid8+nzRb128HhUcru/y0Wn6iT254YPC6FtVSIMoW2sk727AhvTtrWKZTvgsmckfXYZWeNRXx/3YQ2OUxLDrbHtN11IwrgXT6c8dATDwLniYwxzO4RzuQqTKSC5gAofMZ1QBK3zQ4JWobFbcvJm87FK+6JXrKahLn54m3p+McXzzYtP8VF/QpJuh1OwieElEoI1pRxPS09FBrkq2tWCU59+HdhNtTIqKm8EBrw2RTOEDpG3IKo2Y7mFdLm3ZeVjYwVw11o/oznceMve4CgMfNym/utA/d/ILMR7gpXzRy9eDsgLcgbs8O2Va1L0zzIdwGGemTBuwROHeoMShkUc7P+ISY3KH5ZZeWqO8mFTxQYeXTNuzvvK5FGPdQfuu00DwYFY9dyhctEt+OJDdnucfpmyhzUJzfsJjr29l8S0bXBfwRS9ZT26tmMIdZucch5ZboMz3Nio3nIOsYHCGoDT4kUA9MiXEp9Xsui1S8th/kbWIrMBxDGLodWUQIWcvnXy+9M23xPiSMOiRPqM+YMXkUN3gXFrZJwXGzUaMpJfyRS9ZT0lPe8TpScuRlbMHeUmlaKDoNuy62iWNTWNFYjoxFzuJs8oR+RhRx7O4SVNSXpa0ZJQ0K1LAHDQ+D9IepkMXpcsq5EVCvClBUIzDhDoyKwDw1Lc59GbTeORivugw1IcuaEOaGWdNm+Ps5fQ7/tm0DjMegq3yM3vb5j12qUId5UZD2oxDSEWOZMSqFl/W+5oynWDa/aI04tJRQ2eTXusg86SQVu/nwSYwpW6wLjlqIzwLuxGIvoAvul0PS+ZNz0/akp/pniO/8JDnGyaCkzbhl6YcqmK/69prxPqtpx2+Km9al9sjL+rwMgHw4jE/C8/HQ3m1vBuL1fldbzd8mOueVJ92syqdEY4KJjSCde3mcRw2TA6szxedn+zwhZMps0XrqEsiUjnC1hw0TELC2Ek7uAAdzcheXv1BYLagspxpzSAoZZUsIzIq35MnFQ9DOrlNB30jq3L4pkhccKUAA8/ocvN1Rzx9QyOtERs4CVsJRK/DF71kPYrxYsGsm6RMh4cps5g1DOmM54Ly1ii0Hd3Y/BMk8VWFgBVmhqrkJCPBHAolwZaWzLR9Vb7bcWdX9NyUYE+uB2BKfuaeBUcjDljbYVY4DdtsVWvzRZdWnyUzDpjNl1Du3aloAjVJTNDpcIOVVhrHFF66lLfJL1zJr9PQ2nFJSBaKoDe+sAvLufZVHVzYh7W0h/c6AAZ+7Tvj6q9j68G/cTCS/3n1vLKHZwNi+P+pS0WkZNMBMUl+LDLuiE4omZy71r3UFMwNJV+VJ/GC5ixVUkBStsT4gGKh0Gm4Oy3qvq7Lbmq24nPdDuDR9deR11XzP4vFu3TYzfnIyiSVmgizUYGqkIXNdKTY9pgb9D2Ix5t0+NHkVzCdU03suWkkVZAoCONCn0T35gAeW38de43mf97sMOpSvj4aa1KYUm58USI7Wxxes03bAZdRzk6UtbzMaCQ6IxO0dy7X+XsjoD16hpsBeGz9dfzHj+R/Hp8nCxZRqkEDTaCKCSywjiaoMJ1TITE9eg7Jqnq8HL6gDwiZb0u0V0Rr/rmvqjxKuaLCX7ZWXTvAY+uvm3z8CP7nzVpngqrJpZKwWnCUjIviYVlirlGOzPLI3SMVyp/elvBUjjDkNhrtufFFErQ8pmdSlbK16toBHlt/HV8uHMX/vEGALkV3RJREiSlopxwdMXOZPLZ+ix+kAHpMKIk8UtE1ygtquttwxNhphrIZ1IBzjGF3IIGxGcBj6q8bHJBG8T9vdsoWrTFEuebEZuVxhhClH6P5Zo89OG9fwHNjtNQTpD0TG9PJLEYqvEY6Rlxy+ZZGfL0Aj62/bnQCXp//eeM4KzfQVJbgMQbUjlMFIm6TpcfWlZje7NBSV6IsEVmumWIbjiloUzQX9OzYdo8L1wjw2PrrpimONfmfNyzKklrgnEkSzT5QWYQW40YShyzqsRmMXbvVxKtGuYyMKaU1ugenLDm5Ily4iT14fP11Mx+xJv+zZ3MvnfdFqxU3a1W/FTB4m3Qfsyc1XUcdVhDeUDZXSFHHLQj/Y5jtC7ZqM0CXGwB4bP11i3LhOvzPGygYtiUBiwQV/4wFO0majijGsafHyRLu0yG6q35cL1rOpVxr2s5cM2jJYMCdc10Aj6q/blRpWJ//+dmm5psMl0KA2+AFRx9jMe2WbC4jQxnikd4DU8TwUjRVacgdlhmr3bpddzuJ9zXqr2xnxJfzP29RexdtjDVZqzkqa6PyvcojGrfkXiJ8SEtml/nYskicv0ivlxbqjemwUjMw5evdg8fUX9nOiC/lf94Q2i7MURk9nW1MSj5j8eAyV6y5CN2S6qbnw3vdA1Iwq+XOSCl663udN3IzLnrt+us25cI1+Z83SXQUldqQq0b5XOT17bGpLd6ssN1VMPf8c+jG8L3NeCnMdF+Ra3fRa9dft39/LuZ/3vwHoHrqGmQFafmiQw6eyzMxS05K4bL9uA+SKUQzCnSDkqOGokXyJvbgJ/BHI+qvY69//4rl20NsmK2ou2dTsyIALv/91/8n3P2Aao71WFGi8KKv1fRC5+J67Q/507/E/SOshqN5TsmYIjVt+kcjAx98iz/4SaojbIV1rexE7/C29HcYD/DX4a0rBOF5VTu7omsb11L/AWcVlcVZHSsqGuXLLp9ha8I//w3Mv+T4Ew7nTBsmgapoCrNFObIcN4pf/Ob/mrvHTGqqgAupL8qWjWPS9m/31jAe4DjA+4+uCoQoT/zOzlrNd3qd4SdphFxsUvYwGWbTWtISc3wNOWH+kHBMfc6kpmpwPgHWwqaSUG2ZWWheYOGQGaHB+eQ/kn6b3pOgLV+ODSn94wDvr8Bvb70/LLuiPPEr8OGVWfDmr45PZyccEmsVXZGe1pRNX9SU5+AVQkNTIVPCHF/jGmyDC9j4R9LfWcQvfiETmgMMUCMN1uNCakkweZsowdYobiMSlnKA93u7NzTXlSfe+SVbfnPQXmg9LpYAQxpwEtONyEyaueWM4FPjjyjG3uOaFmBTWDNgBXGEiQpsaWhnAqIijB07Dlsy3fUGeP989xbWkyf+FF2SNEtT1E0f4DYYVlxFlbaSMPIRMk/3iMU5pME2SIWJvjckciebkQuIRRyhUvkHg/iUljG5kzVog5hV7vIlCuBrmlhvgPfNHQM8lCf+FEGsYbMIBC0qC9a0uuy2wLXVbLBaP5kjHokCRxapkQyzI4QEcwgYHRZBp+XEFTqXFuNVzMtjXLJgX4gAid24Hjwc4N3dtVSe+NNiwTrzH4WVUOlDobUqr1FuAgYllc8pmzoVrELRHSIW8ViPxNy4xwjBpyR55I6J220qQTZYR4guvUICJiSpr9gFFle4RcF/OMB7BRiX8sSfhpNSO3lvEZCQfLUVTKT78Ek1LRLhWN+yLyTnp8qWUZ46b6vxdRGXfHVqx3eI75YaLa4iNNiK4NOW7wPW6lhbSOF9/M9qw8e/aoB3d156qTzxp8pXx5BKAsYSTOIIiPkp68GmTq7sZtvyzBQaRLNxIZ+paozHWoLFeExIhRBrWitHCAHrCF7/thhD8JhYz84wg93QRV88wLuLY8zF8sQ36qF1J455bOlgnELfshKVxYOXKVuKx0jaj22sczTQqPqtV/XDgpswmGTWWMSDw3ssyUunLLrVPGjYRsH5ggHeHSWiV8kT33ycFSfMgkoOK8apCye0J6VW6GOYvffgU9RWsukEi2kUV2nl4dOYUzRik9p7bcA4ggdJ53LxKcEe17B1R8eqAd7dOepV8sTXf5lhejoL85hUdhDdknPtKHFhljOT+bdq0hxbm35p2nc8+Ja1Iw+tJykgp0EWuAAZYwMVwac5KzYMslhvgHdHRrxKnvhTYcfKsxTxtTETkjHO7rr3zjoV25lAQHrqpV7bTiy2aXMmUhTBnKS91jhtR3GEoF0oLnWhWNnYgtcc4N0FxlcgT7yz3TgNIKkscx9jtV1ZKpWW+Ub1tc1eOv5ucdgpx+FJy9pgbLE7xDyXb/f+hLHVGeitHOi6A7ybo3sF8sS7w7cgdk0nJaOn3hLj3uyD0Zp5pazFIUXUpuTTU18d1EPkDoX8SkmWTnVIozEdbTcZjoqxhNHf1JrSS/AcvHjZ/SMHhL/7i5z+POsTUh/8BvNfYMTA8n+yU/MlTZxSJDRStqvEuLQKWwDctMTQogUDyQRoTQG5Kc6oQRE1yV1jCA7ri7jdZyK0sYTRjCR0Hnnd+y7nHxNgTULqw+8wj0mQKxpYvhjm9uSUxg+TTy7s2GtLUGcywhXSKZN275GsqlclX90J6bRI1aouxmgL7Q0Nen5ziM80SqMIo8cSOo+8XplT/5DHNWsSUr/6lLN/QQ3rDyzLruEW5enpf7KqZoShEduuSFOV7DLX7Ye+GmXb6/hnNNqKsVXuMDFpb9Y9eH3C6NGEzuOuI3gpMH/I6e+zDiH1fXi15t3vA1czsLws0TGEtmPEJdiiFPwlwKbgLHAFk4P6ZyPdymYYHGE0dutsChQBl2JcBFlrEkY/N5bQeXQ18gjunuMfMfsBlxJSx3niO485fwO4fGD5T/+3fPQqkneWVdwnw/3bMPkW9Wbqg+iC765Zk+xcT98ibKZc2EdgHcLoF8cSOo/Oc8fS+OyEULF4g4sJqXVcmfMfsc7A8v1/yfGXmL9I6Fn5pRwZhsPv0TxFNlAfZCvG+Oohi82UC5f/2IsJo0cTOm9YrDoKhFPEUr/LBYTUNht9zelHXDqwfPCIw4owp3mOcIQcLttWXFe3VZ/j5H3cIc0G6oPbCR+6Y2xF2EC5cGUm6wKC5tGEzhsWqw5hNidUiKX5gFWE1GXh4/Qplw4sVzOmx9QxU78g3EF6wnZlEN4FzJ1QPSLEZz1KfXC7vd8ssGdIbNUYpVx4UapyFUHzJoTOo1McSkeNn1M5MDQfs4qQuhhX5vQZFw8suwWTcyYTgioISk2YdmkhehG4PkE7w51inyAGGaU+uCXADabGzJR1fn3lwkty0asIo8cROm9Vy1g0yDxxtPvHDAmpu+PKnM8Ix1wwsGw91YJqhteaWgjYBmmQiebmSpwKKzE19hx7jkzSWOm66oPbzZ8Yj6kxVSpYjVAuvLzYMCRo3oTQecOOjjgi3NQ4l9K5/hOGhNTdcWVOTrlgYNkEXINbpCkBRyqhp+LdRB3g0OU6rMfW2HPCFFMV9nSp+uB2woepdbLBuJQyaw/ZFysXrlXwHxI0b0LovEkiOpXGA1Ijagf+KUNC6rKNa9bQnLFqYNkEnMc1uJrg2u64ELPBHpkgWbmwKpJoDhMwNbbGzAp7Yg31wS2T5rGtzit59PrKhesWG550CZpHEzpv2NGRaxlNjbMqpmEIzygJqQfjypycs2pg2cS2RY9r8HUqkqdEgKTWtWTKoRvOBPDYBltja2SO0RGjy9UHtxwRjA11ujbKF+ti5cIR9eCnxUg6owidtyoU5tK4NLji5Q3HCtiyF2IqLGYsHViOXTXOYxucDqG0HyttqYAKqYo3KTY1ekyDXRAm2AWh9JmsVh/ccg9WJ2E8YjG201sPq5ULxxX8n3XLXuMInbft2mk80rRGjCGctJ8/GFdmEQ9Ug4FlE1ll1Y7jtiraqm5Fe04VV8lvSVBL8hiPrfFVd8+7QH3Qbu2ipTVi8cvSGivc9cj8yvH11YMHdNSERtuOslM97feYFOPKzGcsI4zW0YGAbTAOaxCnxdfiYUmVWslxiIblCeAYr9VYR1gM7GmoPrilunSxxeT3DN/2eBQ9H11+nk1adn6VK71+5+Jfct4/el10/7KBZfNryUunWSCPxPECk1rdOv1WVSrQmpC+Tl46YD3ikQYcpunSQgzVB2VHFhxHVGKDgMEY5GLlQnP7FMDzw7IacAWnO6sBr12u+XanW2AO0wQ8pknnFhsL7KYIqhkEPmEXFkwaN5KQphbkUmG72wgw7WSm9RiL9QT925hkjiVIIhphFS9HKI6/8QAjlpXqg9W2C0apyaVDwKQwrwLY3j6ADR13ZyUNByQXHQu6RY09Hu6zMqXRaNZGS/KEJs0cJEe9VH1QdvBSJv9h09eiRmy0V2uJcqHcShcdvbSNg5fxkenkVprXM9rDVnX24/y9MVtncvbKY706anNl3ASll9a43UiacVquXGhvq4s2FP62NGKfQLIQYu9q1WmdMfmUrDGt8eDS0cXozH/fjmUH6Jruvm50hBDSaEU/2Ru2LEN/dl006TSc/g7tfJERxGMsgDUEr104pfWH9lQaN+M4KWQjwZbVc2rZVNHsyHal23wZtIs2JJqtIc/WLXXRFCpJkfE9jvWlfFbsNQ9pP5ZBS0zKh4R0aMFj1IjTcTnvi0Zz2rt7NdvQb2mgbju1plsH8MmbnEk7KbK0b+wC2iy3aX3szW8xeZvDwET6hWZYwqTXSSG+wMETKum0Dq/q+x62gt2ua2ppAo309TRk9TPazfV3qL9H8z7uhGqGqxNVg/FKx0HBl9OVUORn8Q8Jx9gFttGQUDr3tzcXX9xGgN0EpzN9mdZ3GATtPhL+CjxFDmkeEU6x56kqZRusLzALXVqkCN7zMEcqwjmywDQ6OhyUe0Xao1Qpyncrg6wKp9XfWDsaZplElvQ/b3sdweeghorwBDlHzgk1JmMc/wiERICVy2VJFdMjFuLQSp3S0W3+sngt2njwNgLssFGVQdJ0tu0KH4ky1LW4yrbkuaA6Iy9oz/qEMMXMMDWyIHhsAyFZc2peV9hc7kiKvfULxCl9iddfRK1f8kk9qvbdOoBtOg7ZkOZ5MsGrSHsokgLXUp9y88smniwWyuFSIRVmjplga3yD8Uij5QS1ZiM4U3Qw5QlSm2bXjFe6jzzBFtpg+/YBbLAWG7OPynNjlCw65fukGNdkJRf7yM1fOxVzbxOJVocFoYIaGwH22mIQkrvu1E2nGuebxIgW9U9TSiukPGU+Lt++c3DJPKhyhEEbXCQLUpae2exiKy6tMPe9mDRBFCEMTWrtwxN8qvuGnt6MoihKWS5NSyBhbH8StXoAz8PLOrRgLtOT/+4vcu+7vDLnqNvztOq7fmd8sMmY9Xzn1zj8Dq8+XVdu2Nv0IIySgEdQo3xVHps3Q5i3fLFsV4aiqzAiBhbgMDEd1uh8qZZ+lwhjkgokkOIv4xNJmyncdfUUzgB4oFMBtiu71Xumpz/P+cfUP+SlwFExwWW62r7b+LSPxqxn/gvMZ5z9C16t15UbNlq+jbGJtco7p8wbYlL4alSyfWdeuu0j7JA3JFNuVAwtst7F7FhWBbPFNKIUORndWtLraFLmMu7KFVDDOzqkeaiN33YAW/r76wR4XDN/yN1z7hejPau06EddkS/6XThfcz1fI/4K736fO48vlxt2PXJYFaeUkFS8U15XE3428xdtn2kc8GQlf1vkIaNRRnOMvLTWrZbElEHeLWi1o0dlKPAh1MVgbbVquPJ5+Cr8LU5/H/+I2QlHIU2ClXM9G8v7Rr7oc/hozfUUgsPnb3D+I+7WF8kNO92GY0SNvuxiE+2Bt8prVJTkzE64sfOstxuwfxUUoyk8VjcTlsqe2qITSFoSj6Epd4KsT6BZOWmtgE3hBfir8IzZDwgV4ZTZvD8VvPHERo8v+vL1DASHTz/i9OlKueHDjK5Rnx/JB1Vb1ioXdBra16dmt7dgik10yA/FwJSVY6XjA3oy4SqM2frqDPPSRMex9qs3XQtoWxMj7/Er8GWYsXgjaVz4OYumP2+9kbxvny/6kvWsEBw+fcb5bInc8APdhpOSs01tEqIkoiZjbAqKMruLbJYddHuHFRIyJcbdEdbl2sVLaySygunutBg96Y2/JjKRCdyHV+AEFtTvIpbKIXOamknYSiB6KV/0JetZITgcjjk5ZdaskBtWO86UF0ap6ozGXJk2WNiRUlCPFir66lzdm/SLSuK7EUdPz8f1z29Skq6F1fXg8+5UVR6bszncP4Tn4KUkkdJ8UFCY1zR1i8RmL/qQL3rlei4THG7OODlnKko4oI01kd3CaM08Ia18kC3GNoVaO9iDh+hWxSyTXFABXoau7Q6q9OxYg/OVEMw6jdbtSrJ9cBcewGmaZmg+bvkUnUUaGr+ZfnMH45Ivevl61hMcXsxYLFTu1hTm2zViCp7u0o5l+2PSUh9bDj6FgYypufBDhqK2+oXkiuHFHR3zfj+9PtA8oR0xnqX8qn+sx3bFODSbbF0X8EUvWQ8jBIcjo5bRmLOljDNtcqNtOe756h3l0VhKa9hDd2l1eqmsnh0MNMT/Cqnx6BInumhLT8luljzQ53RiJeA/0dxe5NK0o2fA1+GLXr6eNQWHNUOJssQaTRlGpLHKL9fD+IrQzTOMZS9fNQD4AnRNVxvTdjC+fJdcDDWQcyB00B0t9BDwTxXgaAfzDZ/DBXzRnfWMFRwuNqocOmX6OKNkY63h5n/fFcB28McVHqnXZVI27K0i4rDLNE9lDKV/rT+udVbD8dFFu2GGZ8mOt0kAXcoX3ZkIWVtw+MNf5NjR2FbivROHmhV1/pj2egv/fMGIOWTIWrV3Av8N9imV9IWml36H6cUjqEWNv9aNc+veb2sH46PRaHSuMBxvtW+twxctq0z+QsHhux8Q7rCY4Ct8lqsx7c6Sy0dl5T89rIeEuZKoVctIk1hNpfavER6yyH1Vvm3MbsUHy4ab4hWr/OZPcsRBphnaV65/ZcdYPNNwsjN/djlf9NqCw9U5ExCPcdhKxUgLSmfROpLp4WSUr8ojdwbncbvCf+a/YzRaEc6QOvXcGO256TXc5Lab9POvB+AWY7PigWYjzhifbovuunzRawsO24ZqQQAqguBtmpmPB7ysXJfyDDaV/aPGillgz1MdQg4u5MYaEtBNNHFjkRlSpd65lp4hd2AVPTfbV7FGpyIOfmNc/XVsPfg7vzaS/3nkvLL593ANLvMuRMGpQIhiF7kUEW9QDpAUbTWYBcbp4WpacHHY1aacqQyjGZS9HI3yCBT9kUZJhVOD+zUDvEH9ddR11fzPcTDQ5TlgB0KwqdXSavk9BC0pKp0WmcuowSw07VXmXC5guzSa4p0UvRw2lbDiYUx0ExJJRzWzi6Gm8cnEkfXXsdcG/M/jAJa0+bmCgdmQ9CYlNlSYZOKixmRsgiFxkrmW4l3KdFKv1DM8tk6WxPYJZhUUzcd8Kdtgrw/gkfXXDT7+avmfVak32qhtkg6NVdUS5wgkru1YzIkSduTW1FDwVWV3JQVJVuieTc0y4iDpFwc7/BvSalvKdQM8sv662cevz/+8sQVnjVAT0W2wLllw1JiMhJRxgDjCjLQsOzSFSgZqx7lAW1JW0e03yAD3asC+GD3NbQhbe+mN5GXH1F83KDOM4n/e5JIuH4NpdQARrFPBVptUNcjj4cVMcFSRTE2NpR1LEYbYMmfWpXgP9KejaPsLUhuvLCsVXznAG9dfx9SR1ud/3hZdCLHb1GMdPqRJgqDmm76mHbvOXDtiO2QPUcKo/TWkQ0i2JFXpBoo7vij1i1Lp3ADAo+qvG3V0rM//vFnnTE4hxd5Ka/Cor5YEdsLVJyKtDgVoHgtW11pWSjolPNMnrlrVj9Fv2Qn60twMwKPqr+N/wvr8z5tZcDsDrv06tkqyzESM85Ycv6XBWA2birlNCXrI6VbD2lx2L0vQO0QVTVVLH4SE67fgsfVXv8n7sz7/85Z7cMtbE6f088wSaR4kCkCm10s6pKbJhfqiUNGLq+0gLWC6eUAZFPnLjwqtKd8EwGvWX59t7iPW4X/eAN1svgRVSY990YZg06BD1ohLMtyFTI4pKTJsS9xREq9EOaPWiO2gpms7397x6nQJkbh+Fz2q/rqRROX6/M8bJrqlVW4l6JEptKeUFuMYUbtCQ7CIttpGc6MY93x1r1vgAnRXvY5cvwWPqb9uWQm+lP95QxdNMeWhOq1x0Db55C7GcUv2ZUuN6n8iKzsvOxibC//Yfs9Na8r2Rlz02vXXDT57FP/zJi66/EJSmsJKa8QxnoqW3VLQ+jZVUtJwJ8PNX1NQCwfNgdhhHD9on7PdRdrdGPF28rJr1F+3LBdeyv+8yYfLoMYet1vX4upNAjVvwOUWnlNXJXlkzk5Il6kqeoiL0C07qno+/CYBXq/+utlnsz7/Mzvy0tmI4zm4ag23PRN3t/CWryoUVJGm+5+K8RJ0V8Hc88/XHUX/HfiAq7t+BH+x6v8t438enWmdJwFA6ZINriLGKv/95f8lT9/FnyA1NMVEvQyaXuu+gz36f/DD73E4pwqpLcvm/o0Vle78n//+L/NPvoefp1pTJye6e4A/D082FERa5/opeH9zpvh13cNm19/4v/LDe5xMWTi8I0Ta0qKlK27AS/v3/r+/x/2GO9K2c7kVMonDpq7//jc5PKCxeNPpFVzaRr01wF8C4Pu76hXuX18H4LduTr79guuFD3n5BHfI+ZRFhY8w29TYhbbLi/bvBdqKE4fUgg1pBKnV3FEaCWOWyA+m3WpORZr/j+9TKJtW8yBTF2/ZEODI9/QavHkVdGFp/Pjn4Q+u5hXapsP5sOH+OXXA1LiKuqJxiMNbhTkbdJTCy4llEt6NnqRT4dhg1V3nbdrm6dYMecA1yTOL4PWTE9L5VzPFlLBCvlG58AhehnN4uHsAYinyJ+AZ/NkVvELbfOBUuOO5syBIEtiqHU1k9XeISX5bsimrkUUhnGDxourN8SgUsCZVtKyGbyGzHXdjOhsAvOAswSRyIBddRdEZWP6GZhNK/yjwew9ehBo+3jEADu7Ay2n8mDc+TS7awUHg0OMzR0LABhqLD4hJEh/BEGyBdGlSJoXYXtr+3HS4ijzVpgi0paWXtdruGTknXBz+11qT1Q2inxaTzQCO46P3lfLpyS4fou2PH/PupwZgCxNhGlj4IvUuWEsTkqMWm6i4xCSMc9N1RDQoCVcuGItJ/MRWefais+3synowi/dESgJjkilnWnBTGvRWmaw8oR15257t7CHmCf8HOn7cwI8+NQBXMBEmAa8PMRemrNCEhLGEhDQKcGZWS319BX9PFBEwGTbRBhLbDcaV3drFcDqk5kCTd2JF1Wp0HraqBx8U0wwBTnbpCadwBA/gTH/CDrcCs93LV8E0YlmmcyQRQnjBa8JESmGUfIjK/7fkaDJpmD2QptFNVJU1bbtIAjjWQizepOKptRjbzR9Kag6xZmMLLjHOtcLT3Tx9o/0EcTT1XN3E45u24AiwEypDJXihKjQxjLprEwcmRKclaDNZCVqr/V8mYWyFADbusiY5hvgFoU2vio49RgJLn5OsReRFN6tabeetiiy0V7KFHT3HyZLx491u95sn4K1QQSPKM9hNT0wMVvAWbzDSVdrKw4zRjZMyJIHkfq1VAVCDl/bUhNKlGq0zGr05+YAceXVPCttVk0oqjVwMPt+BBefx4yPtGVkUsqY3CHDPiCM5ngupUwCdbkpd8kbPrCWHhkmtIKLEetF2499eS1jZlIPGYnlcPXeM2KD9vLS0bW3ktYNqUllpKLn5ZrsxlIzxvDu5eHxzGLctkZLEY4PgSOg2IUVVcUONzUDBEpRaMoXNmUc0tFZrTZquiLyKxrSm3DvIW9Fil+AkhXu5PhEPx9mUNwqypDvZWdKlhIJQY7vn2OsnmBeOWnYZ0m1iwbbw1U60by5om47iHRV6fOgzjMf/DAZrlP40Z7syxpLK0lJ0gqaAK1c2KQKu7tabTXkLFz0sCftuwX++MyNeNn68k5Buq23YQhUh0SNTJa1ioQ0p4nUG2y0XilF1JqODqdImloPS4Bp111DEWT0jJjVv95uX9BBV7eB3bUWcu0acSVM23YZdd8R8UbQUxJ9wdu3oMuhdt929ME+mh6JXJ8di2RxbTi6TbrDquqV4aUKR2iwT6aZbyOwEXN3DUsWr8Hn4EhwNyHuXHh7/pdaUjtR7vnDh/d8c9xD/s5f501eQ1+CuDiCvGhk1AN/4Tf74RfxPwD3toLarR0zNtsnPzmS64KIRk861dMWCU8ArasG9T9H0ZBpsDGnjtAOM2+/LuIb2iIUGXNgl5ZmKD/Tw8TlaAuihaFP5yrw18v4x1898zIdP+DDAX1bM3GAMvPgRP/cJn3zCW013nrhHkrITyvYuwOUkcHuKlRSW5C6rzIdY4ppnF7J8aAJbQepgbJYBjCY9usGXDKQxq7RZfh9eg5d1UHMVATRaD/4BHK93/1iAgYZ/+jqPn8Dn4UExmWrpa3+ZOK6MvM3bjwfzxNWA2dhs8+51XHSPJiaAhGSpWevEs5xHLXcEGFXYiCONySH3fPWq93JIsBiSWvWyc3CAN+EcXoT7rCSANloPPoa31rt/5PUA/gp8Q/jDD3hyrjzlR8VkanfOvB1XPubt17vzxAfdSVbD1pzAnfgyF3ycadOTOTXhpEUoLC1HZyNGW3dtmjeXgr2r56JNmRwdNNWaQVBddd6rh4MhviEB9EFRD/7RGvePvCbwAL4Mx/D6M541hHO4D3e7g6PafdcZVw689z7NGTwo5om7A8sPhccT6qKcl9NJl9aM/9kX+e59Hh1yPqGuCCZxuITcsmNaJ5F7d0q6J3H48TO1/+M57085q2icdu2U+W36Ldllz9Agiv4YGljoEN908EzvDOrBF98/vtJwCC/BF2AG75xxEmjmMIcjxbjoaxqOK3/4hPOZzhMPBpYPG44CM0dTVm1LjLtUWWVz1Bcf8tEx0zs8O2A2YVHRxKYOiy/aOVoAaMu0i7ubu43njjmd4ibMHU1sIDHaQNKrZND/FZYdk54oCXetjq7E7IVl9eAL7t+oHnwXXtLx44czzoRFHBztYVwtH1d+NOMkupZ5MTM+gUmq90X+Bh9zjRlmaQ+m7YMqUL/veemcecAtOJ0yq1JnVlN27di2E0+Klp1tAJ4KRw1eMI7aJjsO3R8kPSI3fUFXnIOfdQe86sIIVtWDL7h//Ok6vj8vwDk08NEcI8zz7OhBy+WwalzZeZ4+0XniRfst9pAJqQHDGLzVQ2pheZnnv1OWhwO43/AgcvAEXEVVpa4db9sGvNK8wjaENHkfFQ4Ci5i7dqnQlPoLQrHXZDvO3BIXZbJOBrOaEbML6sFL798I4FhKihjHMsPjBUZYCMFr6nvaArxqXPn4lCa+cHfSa2cP27g3Z3ziYTRrcbQNGLQmGF3F3cBdzzzX7AILx0IB9rbwn9kx2G1FW3Inic+ZLIsVvKR8Zwfj0l1fkqo8LWY1M3IX14OX3r9RKTIO+d9XzAI8qRPGPn/4NC2n6o4rN8XJ82TOIvuVA8zLKUHRFgBCetlDZlqR1gLKjS39xoE7Bt8UvA6BxuEDjU3tFsEijgA+615tmZkXKqiEENrh41iLDDZNq4pKTWR3LZfnos81LOuNa15cD956vLMsJd1rqYp51gDUQqMYm2XsxnUhD2jg1DM7SeuJxxgrmpfISSXVIJIS5qJJSvJPEQ49DQTVIbYWJ9QWa/E2+c/oPK1drmC7WSfJRNKBO5Yjvcp7Gc3dmmI/Xh1kDTEuiSnWqQf37h+fTMhGnDf6dsS8SQfQWlqqwXXGlc/PEZ/SC5mtzIV0nAshlQdM/LvUtYutrEZ/Y+EAFtq1k28zQhOwLr1AIeANzhF8t9qzTdZf2qRKO6MWE9ohBYwibbOmrFtNmg3mcS+tB28xv2uKd/agYCvOP+GkSc+0lr7RXzyufL7QbkUpjLjEWFLqOIkAGu2B0tNlO9Eau2W1qcOUvVRgKzypKIQZ5KI3q0MLzqTNRYqiZOqmtqloIRlmkBHVpHmRYV6/HixbO6UC47KOFJnoMrVyr7wYz+SlW6GUaghYbY1I6kkxA2W1fSJokUdSh2LQ1GAimRGm0MT+uu57H5l7QgOWxERpO9moLRPgTtquWCfFlGlIjQaRly9odmzMOWY+IBO5tB4sW/0+VWGUh32qYk79EidWKrjWuiLpiVNGFWFRJVktyeXWmbgBBzVl8anPuXyNJlBJOlKLTgAbi/EYHVHxWiDaVR06GnHQNpJcWcK2jJtiCfG2sEHLzuI66sGrMK47nPIInPnu799935aOK2cvmvubrE38ZzZjrELCmXM2hM7UcpXD2oC3+ECVp7xtIuxptJ0jUr3sBmBS47TVxlvJ1Sqb/E0uLdvLj0lLr29ypdd/eMX3f6lrxGlKwKQxEGvw0qHbkbwrF3uHKwVENbIV2wZ13kNEF6zD+x24aLNMfDTCbDPnEikZFyTNttxWBXDaBuM8KtI2rmaMdUY7cXcUPstqTGvBGSrFWIpNMfbdea990bvAOC1YX0qbc6smDS1mPxSJoW4fwEXvjMmhlijDRq6qale6aJEuFGoppYDoBELQzLBuh/mZNx7jkinv0EtnUp50lO9hbNK57lZaMAWuWR5Yo9/kYwcYI0t4gWM47Umnl3YmpeBPqSyNp3K7s2DSAS/39KRuEN2bS4xvowV3dFRMx/VFcp2Yp8w2nTO9hCXtHG1kF1L4KlrJr2wKfyq77R7MKpFKzWlY9UkhYxyHWW6nBWPaudvEAl3CGcNpSXPZ6R9BbBtIl6cHL3gIBi+42CYXqCx1gfGWe7Ap0h3luyXdt1MKy4YUT9xSF01G16YEdWsouW9mgDHd3veyA97H+Ya47ZmEbqMY72oPztCGvK0onL44AvgC49saZKkWRz4veWljE1FHjbRJaWv6ZKKtl875h4CziFCZhG5rx7tefsl0aRT1bMHZjm8dwL/6u7wCRysaQblQoG5yAQN5zpatMNY/+yf8z+GLcH/Qn0iX2W2oEfXP4GvwQHuIL9AYGnaO3zqAX6946nkgqZNnUhx43DIdQtMFeOPrgy/y3Yd85HlJWwjLFkU3kFwq28xPnuPhMWeS+tDLV9Otllq7pQCf3uXJDN9wFDiUTgefHaiYbdfi3b3u8+iY6TnzhgehI1LTe8lcd7s1wJSzKbahCRxKKztTLXstGAiu3a6rPuQs5pk9TWAan5f0BZmGf7Ylxzzk/A7PAs4QPPPAHeFQ2hbFHszlgZuKZsJcUmbDC40sEU403cEjczstOEypa+YxevL4QBC8oRYqWdK6b7sK25tfE+oDZgtOQ2Jg8T41HGcBE6fTWHn4JtHcu9S7uYgU5KSCkl/mcnq+5/YBXOEr6lCUCwOTOM1taOI8mSxx1NsCXBEmLKbMAg5MkwbLmpBaFOPrNSlO2HnLiEqW3tHEwd8AeiQLmn+2gxjC3k6AxREqvKcJbTEzlpLiw4rNZK6oJdidbMMGX9FULKr0AkW+2qDEPBNNm5QAt2Ik2nftNWHetubosHLo2nG4vQA7GkcVCgVCgaDixHqo9UUn1A6OshapaNR/LPRYFV8siT1cCtJE0k/3WtaNSuUZYKPnsVIW0xXWnMUxq5+En4Kvw/MqQmVXnAXj9Z+9zM98zM/Agy7F/qqj2Nh67b8HjFnPP3iBn/tkpdzwEJX/whIcQUXOaikeliCRGUk7tiwF0rItwMEhjkZ309hikFoRAmLTpEXWuHS6y+am/KB/fM50aLEhGnSMwkpxzOov4H0AvgovwJ1iGzDLtJn/9BU+fAINfwUe6FHSLhu83viV/+/HrOePX+STT2B9uWGbrMHHLldRBlhS/CJQmcRxJFqZica01XixAZsYiH1uolZxLrR/SgxVIJjkpQP4PE9sE59LKLr7kltSBogS5tyszzH8Fvw8/AS8rNOg0xUS9fIaHwb+6et8Q/gyvKRjf5OusOzGx8evA/BP4IP11uN/grca5O0lcsPLJ5YjwI4QkJBOHa0WdMZYGxPbh2W2nR9v3WxEWqgp/G3+6VZbRLSAAZ3BhdhAaUL33VUSw9yjEsvbaQ9u4A/gGXwZXoEHOuU1GSj2chf+Mo+f8IcfcAxfIKVmyunRbYQVnoevwgfw3TXXcw++xNuP4fhyueEUNttEduRVaDttddoP0eSxLe2LENk6itYxlrxBNBYrNNKSQmeaLcm9c8UsaB5WyO6675yyQIAWSDpBVoA/gxmcwEvwoDv0m58UE7gHn+fJOa8/Ywan8EKRfjsopF83eCglX/Sfr7OeaRoQfvt1CGvIDccH5BCvw1sWIzRGC/66t0VTcLZQZtm6PlAasbOJ9iwWtUo7biktTSIPxnR24jxP1ZKaqq+2RcXM9OrBAm/AAs7hDJ5bNmGb+KIfwCs8a3jnjBrOFeMjHSCdbKr+2uOLfnOd9eiA8Hvvwwq54VbP2OqwkB48Ytc4YEOiH2vTXqodabfWEOzso4qxdbqD5L6tbtNPECqbhnA708DZH4QOJUXqScmUlks7Ot6FBuZw3n2mEbaUX7kDzxHOOQk8nKWMzAzu6ZZ8sOFw4RK+6PcuXo9tB4SbMz58ApfKDXf3szjNIIbGpD5TKTRxGkEMLjLl+K3wlWXBsCUxIDU+jbOiysESqAy1MGUJpXgwbTWzNOVEziIXZrJ+VIztl1PUBxTSo0dwn2bOmfDRPD3TRTGlfbCJvO9KvuhL1hMHhB9wPuPRLGHcdOWG2xc0U+5bQtAJT0nRTewXL1pgk2+rZAdeWmz3jxAqfNQQdzTlbF8uJ5ecEIWvTkevAHpwz7w78QujlD/Lr491bD8/1vhM2yrUQRrWXNQY4fGilfctMWYjL72UL/qS9eiA8EmN88nbNdour+PBbbAjOjIa4iBhfFg6rxeKdEGcL6p3EWR1Qq2Qkhs2DrnkRnmN9tG2EAqmgPw6hoL7Oza7B+3SCrR9tRftko+Lsf2F/mkTndN2LmzuMcKTuj/mX2+4Va3ki16+nnJY+S7MefpkidxwnV+4wkXH8TKnX0tsYzYp29DOOoSW1nf7nTh2akYiWmcJOuTidSaqESrTYpwjJJNVGQr+rLI7WsqerHW6Kp/oM2pKuV7T1QY9gjqlZp41/WfKpl56FV/0kvXQFRyeQ83xaTu5E8p5dNP3dUF34ihyI3GSpeCsywSh22ZJdWto9winhqifb7VRvgktxp13vyjrS0EjvrRfZ62uyqddSWaWYlwTPAtJZ2oZ3j/Sgi/mi+6vpzesfAcWNA0n8xVyw90GVFGuZjTXEQy+6GfLGLMLL523f5E0OmxVjDoOuRiH91RKU+vtoCtH7TgmvBLvtFXWLW15H9GTdVw8ow4IlRLeHECN9ym1e9K0I+Cbnhgv4Yu+aD2HaQJ80XDqOzSGAV4+4yCqBxrsJAX6ZTIoX36QnvzhhzzMfFW2dZVLOJfo0zbce5OvwXMFaZ81mOnlTVXpDZsQNuoYWveketKb5+6JOOsgX+NTm7H49fUTlx+WLuWL7qxnOFh4BxpmJx0p2gDzA/BUARuS6phR+pUsY7MMboAHx5xNsSVfVZcYSwqCKrqon7zM+8ecCkeS4nm3rINuaWvVNnMRI1IRpxTqx8PZUZ0Br/UEduo3B3hNvmgZfs9gQPj8vIOxd2kndir3awvJ6BLvoUuOfFWNYB0LR1OQJoUySKb9IlOBx74q1+ADC2G6rOdmFdJcD8BkfualA+BdjOOzP9uUhGUEX/TwhZsUduwRr8wNuXKurCixLBgpQI0mDbJr9dIqUuV+92ngkJZ7xduCk2yZKbfWrH1VBiTg9VdzsgRjW3CVXCvAwDd+c1z9dWw9+B+8MJL/eY15ZQ/HqvTwVdsZn5WQsgRRnMaWaecu3jFvMBEmgg+FJFZsnSl0zjB9OqPYaBD7qmoVyImFvzi41usesV0julaAR9dfR15Xzv9sEruRDyk1nb+QaLU67T885GTls6YgcY+UiMa25M/pwGrbCfzkvR3e0jjtuaFtnwuagHTSb5y7boBH119HXhvwP487jJLsLJ4XnUkHX5sLbS61dpiAXRoZSCrFJ+EjpeU3puVfitngYNo6PJrAigKktmwjyQdZpfq30mmtulaAx9Zfx15Xzv+cyeuiBFUs9zq8Kq+XB9a4PVvph3GV4E3y8HENJrN55H1X2p8VyqSKwVusJDKzXOZzplWdzBUFK9e+B4+uv468xvI/b5xtSAkBHQaPvtqWzllVvEOxPbuiE6+j2pvjcKsbvI7txnRErgfH7LdXqjq0IokKzga14GzQ23SSbCQvO6r+Or7SMIr/efOkkqSdMnj9mBx2DRsiY29Uj6+qK9ZrssCKaptR6HKURdwUYeUWA2kPzVKQO8ku2nU3Anhs/XWkBx3F/7wJtCTTTIKftthue1ty9xvNYLY/zo5KSbIuKbXpbEdSyeRyYdAIwKY2neyoc3+k1XUaufYga3T9daMUx/r8z1s10ITknIO0kuoMt+TB8jK0lpayqqjsJ2qtXAYwBU932zinimgmd6mTRDnQfr88q36NAI+tv24E8Pr8zxtasBqx0+xHH9HhlrwsxxNUfKOHQaZBITNf0uccj8GXiVmXAuPEAKSdN/4GLHhs/XWj92dN/uetNuBMnVR+XWDc25JLjo5Mg5IZIq226tmCsip2zZliL213YrTlL2hcFjpCduyim3M7/eB16q/blQsv5X/esDRbtJeabLIosWy3ycavwLhtxdWzbMmHiBTiVjJo6lCLjXZsi7p9PEPnsq6X6wd4bP11i0rD5fzPm/0A6brrIsllenZs0lCJlU4abakR59enZKrKe3BZihbTxlyZ2zl1+g0wvgmA166/bhwDrcn/7Ddz0eWZuJvfSESug6NzZsox3Z04FIxz0mUjMwVOOVTq1CQ0AhdbBGVdjG/CgsfUX7esJl3K/7ytWHRv683praW/8iDOCqWLLhpljDY1ZpzK75QiaZoOTpLKl60auHS/97oBXrv+umU9+FL+5+NtLFgjqVLCdbmj7pY5zPCPLOHNCwXGOcLquOhi8CmCWvbcuO73XmMUPab+ug3A6/A/78Bwe0bcS2+tgHn4J5pyS2WbOck0F51Vq3LcjhLvZ67p1ABbaL2H67bg78BfjKi/jr3+T/ABV3ilLmNXTI2SpvxWBtt6/Z//D0z/FXaGbSBgylzlsEGp+5//xrd4/ae4d8DUUjlslfIYS3t06HZpvfQtvv0N7AHWqtjP2pW08QD/FLy//da38vo8PNlKHf5y37Dxdfe/oj4kVIgFq3koLReSR76W/bx//n9k8jonZxzWTANVwEniDsg87sOSd/z7//PvMp3jQiptGVWFX2caezzAXwfgtzYUvbr0iozs32c3Uge7varH+CNE6cvEYmzbPZ9hMaYDdjK4V2iecf6EcEbdUDVUARda2KzO/JtCuDbNQB/iTeL0EG1JSO1jbXS+nLxtPMDPw1fh5+EPrgSEKE/8Gry5A73ui87AmxwdatyMEBCPNOCSKUeRZ2P6Myb5MRvgCHmA9ywsMifU+AYXcB6Xa5GibUC5TSyerxyh0j6QgLVpdyhfArRTTLqQjwe4HOD9s92D4Ap54odXAPBWLAwB02igG5Kkc+piN4lvODIFGAZgT+EO4Si1s7fjSR7vcQETUkRm9O+MXyo9OYhfe4xt9STQ2pcZRLayCV90b4D3jR0DYAfyxJ+eywg2IL7NTMXna7S/RpQ63JhWEM8U41ZyQGjwsVS0QBrEKLu8xwZsbi4wLcCT+OGidPIOCe1PiSc9Qt+go+vYqB7cG+B9d8cAD+WJPz0Am2gxXgU9IneOqDpAAXOsOltVuMzpdakJXrdPCzXiNVUpCeOos5cxnpQT39G+XVLhs1osQVvJKPZyNq8HDwd4d7pNDuWJPxVX7MSzqUDU6gfadKiNlUFTzLeFHHDlzO4kpa7aiKhBPGKwOqxsBAmYkOIpipyXcQSPlRTf+Tii0U3EJGaZsDER2qoB3h2hu0qe+NNwUooYU8y5mILbJe6OuX+2FTKy7bieTDAemaQyQ0CPthljSWO+xmFDIYiESjM5xKd6Ik5lvLq5GrQ3aCMLvmCA9wowLuWJb9xF59hVVP6O0CrBi3ZjZSNOvRy+I6klNVRJYRBaEzdN+imiUXQ8iVF8fsp+W4JXw7WISW7fDh7lptWkCwZ4d7QTXyBPfJMYK7SijjFppGnlIVJBJBYj7eUwtiP1IBXGI1XCsjNpbjENVpSAJ2hq2LTywEly3hUYazt31J8w2+aiLx3g3fohXixPfOMYm6zCGs9LVo9MoW3MCJE7R5u/WsOIjrqBoHUO0bJE9vxBpbhsd3+Nb4/vtPCZ4oZYCitNeYuC/8UDvDvy0qvkiW/cgqNqRyzqSZa/s0mqNGjtKOoTm14zZpUauiQgVfqtQiZjq7Q27JNaSK5ExRcrGCXO1FJYh6jR6CFqK7bZdQZ4t8g0rSlPfP1RdBtqaa9diqtzJkQ9duSryi2brQXbxDwbRUpFMBHjRj8+Nt7GDKgvph9okW7LX47gu0SpGnnFQ1S1lYldOsC7hYteR574ZuKs7Ei1lBsfdz7IZoxzzCVmmVqaSySzQbBVAWDek+N4jh9E/4VqZrJjPwiv9BC1XcvOWgO8275CVyBPvAtTVlDJfZkaZGU7NpqBogAj/xEHkeAuJihWYCxGN6e8+9JtSegFXF1TrhhLGP1fak3pebgPz192/8gB4d/6WT7+GdYnpH7hH/DJzzFiYPn/vjW0SgNpTNuPIZoAEZv8tlGw4+RLxy+ZjnKa5NdFoC7UaW0aduoYse6+bXg1DLg6UfRYwmhGEjqPvF75U558SANrElK/+MdpXvmqBpaXOa/MTZaa1DOcSiLaw9j0NNNst3c+63c7EKTpkvKHzu6bPbP0RkuHAVcbRY8ijP46MIbQeeT1mhA+5PV/inyDdQipf8LTvMXbwvoDy7IruDNVZKTfV4CTSRUYdybUCnGU7KUTDxLgCknqUm5aAW6/1p6eMsOYsphLzsHrE0Y/P5bQedx1F/4yPHnMB3/IOoTU9+BL8PhtjuFKBpZXnYNJxTuv+2XqolKR2UQgHhS5novuxVySJhBNRF3SoKK1XZbbXjVwWNyOjlqWJjrWJIy+P5bQedyldNScP+HZ61xKSK3jyrz+NiHG1hcOLL/+P+PDF2gOkekKGiNWKgJ+8Z/x8Iv4DdQHzcpZyF4v19I27w9/yPGDFQvmEpKtqv/TLiWMfn4sofMm9eAH8Ao0zzh7h4sJqYtxZd5/D7hkYPneDzl5idlzNHcIB0jVlQ+8ULzw/nc5/ojzl2juE0apD7LRnJxe04dMz2iOCFNtGFpTuXA5AhcTRo8mdN4kz30nVjEC4YTZQy4gpC7GlTlrePKhGsKKgeXpCYeO0MAd/GH7yKQUlXPLOasOH3FnSphjHuDvEu4gB8g66oNbtr6eMbFIA4fIBJkgayoXriw2XEDQPJrQeROAlY6aeYOcMf+IVYTU3XFlZufMHinGywaW3YLpObVBAsbjF4QJMsVUSayjk4voPsHJOQfPWDhCgDnmDl6XIRerD24HsGtw86RMHOLvVSHrKBdeVE26gKB5NKHzaIwLOmrqBWJYZDLhASG16c0Tn+CdRhWDgWXnqRZUTnPIHuMJTfLVpkoYy5CzylHVTGZMTwkGAo2HBlkQplrJX6U+uF1wZz2uwS1SQ12IqWaPuO4baZaEFBdukksJmkcTOm+YJSvoqPFzxFA/YUhIvWxcmSdPWTWwbAKVp6rxTtPFUZfKIwpzm4IoMfaYQLWgmlG5FME2gdBgm+J7J+rtS/XBbaVLsR7bpPQnpMFlo2doWaVceHk9+MkyguZNCJ1He+kuHTWyQAzNM5YSUg/GlTk9ZunAsg1qELVOhUSAK0LABIJHLKbqaEbHZLL1VA3VgqoiOKXYiS+HRyaEKgsfIqX64HYWbLRXy/qWoylIV9gudL1OWBNgBgTNmxA6b4txDT4gi3Ri7xFSLxtXpmmYnzAcWDZgY8d503LFogz5sbonDgkKcxGsWsE1OI+rcQtlgBBCSOKD1mtqYpIU8cTvBmAT0yZe+zUzeY92fYjTtGipXLhuR0ePoHk0ofNWBX+lo8Z7pAZDk8mEw5L7dVyZZoE/pTewbI6SNbiAL5xeygW4xPRuLCGbhcO4RIeTMFYHEJkYyEO9HmJfXMDEj/LaH781wHHZEtqSQ/69UnGpzH7LKIAZEDSPJnTesJTUa+rwTepI9dLJEawYV+ZkRn9g+QirD8vF8Mq0jFQ29js6kCS3E1+jZIhgPNanHdHFqFvPJLHqFwQqbIA4jhDxcNsOCCQLDomaL/dr5lyJaJU6FxPFjO3JOh3kVMcROo8u+C+jo05GjMF3P3/FuDLn5x2M04xXULPwaS6hBYki+MrMdZJSgPHlcB7nCR5bJ9Kr5ACUn9jk5kivdd8tk95SOGrtqu9lr2IhK65ZtEl7ZKrp7DrqwZfRUSN1el7+7NJxZbywOC8neNKTch5vsTEMNsoCCqHBCqIPRjIPkm0BjvFODGtto99rCl+d3wmHkW0FPdpZtC7MMcVtGFQjJLX5bdQ2+x9ypdc313uj8xlsrfuLgWXz1cRhZvJYX0iNVBRcVcmCXZs6aEf3RQF2WI/TcCbKmGU3IOoDJGDdDub0+hYckt6PlGu2BcxmhbTdj/klhccLGJMcqRjMJP1jW2ETqLSWJ/29MAoORluJ+6LPffBZbi5gqi5h6catQpmOT7/OFf5UorRpLzCqcMltBLhwd1are3kztrSzXO0LUbXRQcdLh/RdSZ+swRm819REDrtqzC4es6Gw4JCKlSnjYVpo0xeq33PrADbFLL3RuCmObVmPN+24kfa+AojDuM4umKe2QwCf6EN906HwjujaitDs5o0s1y+k3lgbT2W2i7FJdnwbLXhJUBq/9liTctSmFC/0OqUinb0QddTWamtjbHRFuWJJ6NpqZ8vO3fZJ37Db+2GkaPYLGHs7XTTdiFQJ68SkVJFVmY6McR5UycflNCsccHFaV9FNbR4NttLxw4pQ7wJd066Z0ohVbzihaxHVExd/ay04oxUKWt+AsdiQ9OUyZ2krzN19IZIwafSTFgIBnMV73ADj7V/K8u1MaY2sJp2HWm0f41tqwajEvdHWOJs510MaAqN4aoSiPCXtN2KSi46dUxHdaMquar82O1x5jqhDGvqmoE9LfxcY3zqA7/x3HA67r9ZG4O6Cuxu12/+TP+eLP+I+HErqDDCDVmBDO4larujNe7x8om2rMug0MX0rL1+IWwdwfR+p1TNTyNmVJ85ljWzbWuGv8/C7HD/izjkHNZNYlhZcUOKVzKFUxsxxN/kax+8zPWPSFKw80rJr9Tizyj3o1gEsdwgWGoxPezDdZ1TSENE1dLdNvuKL+I84nxKesZgxXVA1VA1OcL49dFlpFV5yJMhzyCmNQ+a4BqusPJ2bB+xo8V9u3x48VVIEPS/mc3DvAbXyoYr6VgDfh5do5hhHOCXMqBZUPhWYbWZECwVJljLgMUWOCB4MUuMaxGNUQDVI50TQ+S3kFgIcu2qKkNSHVoM0SHsgoZxP2d5HH8B9woOk4x5bPkKtAHucZsdykjxuIpbUrSILgrT8G7G5oCW+K0990o7E3T6AdW4TilH5kDjds+H64kS0mz24grtwlzDHBJqI8YJQExotPvoC4JBq0lEjjQkyBZ8oH2LnRsQ4Hu1QsgDTJbO8fQDnllitkxuVskoiKbRF9VwzMDvxHAdwB7mD9yCplhHFEyUWHx3WtwCbSMMTCUCcEmSGlg4gTXkHpZXWQ7kpznK3EmCHiXInqndkQjunG5kxTKEeGye7jWz9cyMR2mGiFQ15ENRBTbCp+Gh86vAyASdgmJq2MC6hoADQ3GosP0QHbnMHjyBQvQqfhy/BUbeHd5WY/G/9LK/8Ka8Jd7UFeNWEZvzPb458Dn8DGLOe3/wGL/4xP+HXlRt+M1PE2iLhR8t+lfgxsuh7AfO2AOf+owWhSZRYQbd622hbpKWKuU+XuvNzP0OseRDa+mObgDHJUSc/pKx31QdKffQ5OIJpt8GWjlgTwMc/w5MPCR/yl1XC2a2Yut54SvOtMev55Of45BOat9aWG27p2ZVORRvnEk1hqWMVUmqa7S2YtvlIpspuF1pt0syuZS2NV14mUidCSfzQzg+KqvIYCMljIx2YK2AO34fX4GWdu5xcIAb8MzTw+j/lyWM+Dw/gjs4GD6ehNgA48kX/AI7XXM/XAN4WHr+9ntywqoCakCqmKP0rmQrJJEErG2Upg1JObr01lKQy4jskWalKYfJ/EDLMpjNSHFEUAde2fltaDgmrNaWQ9+AAb8I5vKjz3L1n1LriB/BXkG/wwR9y/oRX4LlioHA4LzP2inzRx/DWmutRweFjeP3tNeSGlaE1Fde0OS11yOpmbIp2u/jF1n2RRZviJM0yBT3IZl2HWImKjQOxIyeU325b/qWyU9Moj1o07tS0G7qJDoGHg5m8yeCxMoEH8GU45tnrNM84D2l297DQ9t1YP7jki/7RmutRweEA77/HWXOh3HCxkRgldDQkAjNTMl2Iloc1qN5JfJeeTlyTRzxURTdn1Ixv2uKjs12AbdEWlBtmVdk2k7FFwj07PCZ9XAwW3dG+8xKzNFr4EnwBZpy9Qzhh3jDXebBpYcpuo4fQ44u+fD1dweEnHzI7v0xuuOALRUV8rXpFyfSTQYkhd7IHm07jpyhlkCmI0ALYqPTpUxXS+z4jgDj1Pflvmz5ecuItpIBxyTHpSTGWd9g1ApfD/bvwUhL4nT1EzqgX7cxfCcNmb3mPL/qi9SwTHJ49oj5ZLjccbTG3pRmlYi6JCG0mQrAt1+i2UXTZ2dv9IlQpN5naMYtviaXlTrFpoMsl3bOAFEa8sqPj2WCMrx3Yjx99qFwO59Aw/wgx+HlqNz8oZvA3exRDvuhL1jMQHPaOJ0+XyA3fp1OfM3qObEVdhxjvynxNMXQV4+GJyvOEFqeQBaIbbO7i63rpxCltdZShPFxkjM2FPVkn3TG+Rp9pO3l2RzFegGfxGDHIAh8SteR0C4HopXzRF61nheDw6TFN05Ebvq8M3VKKpGjjO6r7nhudTEGMtYM92HTDaR1FDMXJ1eThsbKfywyoWwrzRSXkc51flG3vIid62h29bIcFbTGhfV+faaB+ohj7dPN0C2e2lC96+XouFByen9AsunLDJZ9z7NExiUc0OuoYW6UZkIyx2YUR2z6/TiRjyKMx5GbbjLHvHuf7YmtKghf34LJfx63Yg8vrvN2zC7lY0x0tvKezo4HmGYDU+Gab6dFL+KI761lDcNifcjLrrr9LWZJctG1FfU1uwhoQE22ObjdfkSzY63CbU5hzs21WeTddH2BaL11Gi7lVdlxP1nkxqhnKhVY6knS3EPgVGg1JpN5cP/hivujOelhXcPj8HC/LyI6MkteVjlolBdMmF3a3DbsuAYhL44dxzthWSN065xxUd55Lmf0wRbOYOqH09/o9WbO2VtFdaMb4qBgtFJoT1SqoN8wPXMoXLb3p1PUEhxfnnLzGzBI0Ku7FxrKsNJj/8bn/H8fPIVOd3rfrklUB/DOeO+nkghgSPzrlPxluCMtOnDL4Yml6dK1r3vsgMxgtPOrMFUZbEUbTdIzii5beq72G4PD0DKnwjmBULUVFmy8t+k7fZ3pKc0Q4UC6jpVRqS9Umv8bxw35flZVOU1X7qkjnhZlsMbk24qQ6Hz7QcuL6sDC0iHHki96Uh2UdvmgZnjIvExy2TeJdMDZNSbdZyAHe/Yd1xsQhHiKzjh7GxQ4yqMPaywPkjMamvqrYpmO7Knad+ZQC5msCuAPWUoxrxVhrGv7a+KLXFhyONdTMrZ7ke23qiO40ZJUyzgYyX5XyL0mV7NiUzEs9mjtbMN0dERqwyAJpigad0B3/zRV7s4PIfXSu6YV/MK7+OrYe/JvfGMn/PHJe2fyUdtnFrKRNpXV0Y2559aWPt/G4BlvjTMtXlVIWCnNyA3YQBDmYIodFz41PvXPSa6rq9lWZawZ4dP115HXV/M/tnFkkrBOdzg6aP4pID+MZnTJ1SuuB6iZlyiox4HT2y3YBtkUKWooacBQUDTpjwaDt5poBHl1/HXltwP887lKKXxNUEyPqpGTyA699UqY/lt9yGdlUKra0fFWS+36iylVWrAyd7Uw0CZM0z7xKTOduznLIjG2Hx8cDPLb+OvK6Bv7n1DYci4CxUuRxrjBc0bb4vD3rN5Zz36ntLb83eVJIB8LiIzCmn6SMPjlX+yNlTjvIGjs+QzHPf60Aj62/jrzG8j9vYMFtm1VoRWCJdmw7z9N0t+c8cxZpPeK4aTRicS25QhrVtUp7U578chk4q04Wx4YoQSjFryUlpcQ1AbxZ/XVMknIU//OGl7Q6z9Zpxi0+3yFhSkjUDpnCIUhLWVX23KQ+L9vKvFKI0ZWFQgkDLvBoylrHNVmaw10zwCPrr5tlodfnf94EWnQ0lFRWy8pW9LbkLsyUVDc2NSTHGDtnD1uMtchjbCeb1mpxFP0YbcClhzdLu6lfO8Bj6q+bdT2sz/+8SZCV7VIxtt0DUn9L7r4cLYWDSXnseEpOGFuty0qbOVlS7NNzs5FOGJUqQpl2Q64/yBpZf90sxbE+//PGdZ02HSipCbmD6NItmQ4Lk5XUrGpDMkhbMm2ZVheNYV+VbUWTcv99+2NyX1VoafSuC+AN6q9bFIMv5X/eagNWXZxEa9JjlMwNWb00akGUkSoepp1/yRuuqHGbUn3UdBSTxBU6SEVklzWRUkPndVvw2PrrpjvxOvzPmwHc0hpmq82npi7GRro8dXp0KXnUQmhZbRL7NEVp1uuZmO45vuzKsHrktS3GLWXODVjw+vXXLYx4Hf7njRPd0i3aoAGX6W29GnaV5YdyDj9TFkakje7GHYzDoObfddHtOSpoi2SmzJHrB3hM/XUDDEbxP2/oosszcRlehWXUvzHv4TpBVktHqwenFo8uLVmy4DKLa5d3RtLrmrM3aMFr1183E4sewf+85VWeg1c5ag276NZrM9IJVNcmLEvDNaV62aq+14IAOGFsBt973Ra8Xv11YzXwNfmft7Jg2oS+XOyoC8/cwzi66Dhmgk38kUmP1CUiYWOX1bpD2zWXt2FCp7uq8703APAa9dfNdscR/M/bZLIyouVxqJfeWvG9Je+JVckHQ9+CI9NWxz+blX/KYYvO5n2tAP/vrlZ7+8/h9y+9qeB/Hnt967e5mevX10rALDWK//FaAT5MXdBXdP0C/BAes792c40H+AiAp1e1oH8HgH94g/Lttx1gp63op1eyoM/Bvw5/G/7xFbqJPcCXnmBiwDPb/YKO4FX4OjyCb289db2/Noqicw4i7N6TVtoz8tNwDH+8x/i6Ae7lmaQVENzJFb3Di/BFeAwz+Is9SjeQySpPqbLFlNmyz47z5a/AF+AYFvDmHqibSXTEzoT4Gc3OALaqAP4KPFUJ6n+1x+rGAM6Zd78bgJ0a8QN4GU614vxwD9e1Amy6CcskNrczLx1JIp6HE5UZD/DBHrFr2oNlgG4Odv226BodoryjGJ9q2T/AR3vQrsOCS0ctXZi3ruLlhpFDJYl4HmYtjQCP9rhdn4suySLKDt6wLcC52h8xPlcjju1fn+yhuw4LZsAGUuo2b4Fx2UwQu77uqRHXGtg92aN3tQCbFexc0uk93vhTXbct6y7MulLycoUljx8ngDMBg1tvJjAazpEmOtxlzclvj1vQf1Tx7QlPDpGpqgtdSKz/d9/hdy1vTfFHSmC9dGDZbLiezz7Ac801HirGZsWjydfZyPvHXL/Y8Mjzg8BxTZiuwKz4Eb8sBE9zznszmjvFwHKPIWUnwhqfVRcd4Ck0K6ate48m1oOfrX3/yOtvAsJ8zsPAM89sjnddmuLuDPjX9Bu/L7x7xpMzFk6nWtyQfPg278Gn4Aekz2ZgOmU9eJ37R14vwE/BL8G3aibCiWMWWDQ0ZtkPMnlcGeAu/Ag+8ZyecU5BPuy2ILD+sQqyZhAKmn7XZd+jIMTN9eBL7x95xVLSX4On8EcNlXDqmBlqS13jG4LpmGbkF/0CnOi3H8ETOIXzmnmtb0a16Tzxj1sUvQCBiXZGDtmB3KAefPH94xcUa/6vwRn80GOFyjEXFpba4A1e8KQfFF+259tx5XS4egYn8fQsLGrqGrHbztr+uByTahWuL1NUGbDpsnrwBfePPwHHIf9X4RnM4Z2ABWdxUBlqQ2PwhuDxoS0vvqB1JzS0P4h2nA/QgTrsJFn+Y3AOjs9JFC07CGWX1oNX3T/yHOzgDjwPn1PM3g9Jk9lZrMEpxnlPmBbjyo2+KFXRU52TJM/2ALcY57RUzjObbjqxVw++4P6RAOf58pcVsw9Daje3htriYrpDOonre3CudSe6bfkTEgHBHuDiyu5MCsc7BHhYDx7ePxLjqigXZsw+ijMHFhuwBmtoTPtOxOrTvYJDnC75dnUbhfwu/ZW9AgYd+peL68HD+0emKquiXHhWjJg/UrkJYzuiaL3E9aI/ytrCvAd4GcYZMCkSQxfUg3v3j8c4e90j5ZTPdvmJJGHnOCI2nHS8081X013pHuBlV1gB2MX1YNmWLHqqGN/TWmG0y6clJWthxNUl48q38Bi8vtMKyzzpFdSDhxZ5WBA5ZLt8Jv3895DduBlgbPYAj8C4B8hO68FDkoh5lydC4FiWvBOVqjYdqjiLv92t8yPDjrDaiHdUD15qkSURSGmXJwOMSxWAXYwr3zaAufJ66l+94vv3AO+vPcD7aw/w/toDvL/2AO+vPcD7aw/wHuD9tQd4f+0B3l97gPfXHuD9tQd4f+0B3l97gG8LwP8G/AL8O/A5OCq0Ys2KIdv/qOIXG/4mvFAMF16gZD+2Xvu/B8as5+8bfllWyg0zaNO5bfXj6vfhhwD86/Aq3NfRS9t9WPnhfnvCIw/CT8GLcFTMnpntdF/z9V+PWc/vWoIH+FL3Znv57PitcdGP4R/C34avw5fgRVUInCwbsn1yyA8C8zm/BH8NXoXnVE6wVPjdeCI38kX/3+Ct9dbz1pTmHFRu+Hm4O9Ch3clr99negxfwj+ER/DR8EV6B5+DuQOnTgUw5rnkY+FbNU3gNXh0o/JYTuWOvyBf9FvzX663HH/HejO8LwAl8Hl5YLTd8q7sqA3wbjuExfAFegQdwfyDoSkWY8swzEf6o4Qyewefg+cHNbqMQruSL/u/WWc+E5g7vnnEXgDmcDeSGb/F4cBcCgT+GGRzDU3hZYburAt9TEtHgbM6JoxJ+6NMzzTcf6c2bycv2+KK/f+l6LBzw5IwfqZJhA3M472pWT/ajKxnjv4AFnMEpnBTPND6s2J7qHbPAqcMK74T2mZ4VGB9uJA465It+/eL1WKhYOD7xHOkr1ajK7d0C4+ke4Hy9qXZwpgLr+Znm/uNFw8xQOSy8H9IzjUrd9+BIfenYaylf9FsXr8fBAadnPIEDna8IBcwlxnuA0/Wv6GAWPd7dDIKjMdSWueAsBj4M7TOd06qBbwDwKr7oleuxMOEcTuEZTHWvDYUO7aHqAe0Bbq+HEFRzOz7WVoTDQkVds7A4sIIxfCQdCefFRoIOF/NFL1mPab/nvOakSL/Q1aFtNpUb/nFOVX6gzyg/1nISyDfUhsokIzaBR9Kxm80s5mK+6P56il1jXic7nhQxsxSm3OwBHl4fFdLqi64nDQZvqE2at7cWAp/IVvrN6/BFL1mPhYrGMBfOi4PyjuSGf6wBBh7p/FZTghCNWGgMzlBbrNJoPJX2mW5mwZfyRffXo7OFi5pZcS4qZUrlViptrXtw+GQoyhDPS+ANjcGBNRiLCQDPZPMHuiZfdFpPSTcQwwKYdRNqpkjm7AFeeT0pJzALgo7g8YYGrMHS0iocy+YTm2vyRUvvpXCIpQ5pe666TJrcygnScUf/p0NDs/iAI/nqDHC8TmQT8x3NF91l76oDdQGwu61Z6E0ABv7uO1dbf/37Zlv+Zw/Pbh8f1s4Avur6657/+YYBvur6657/+YYBvur6657/+YYBvur6657/+aYBvuL6657/+VMA8FXWX/f8zzcN8BXXX/f8zzcNMFdbf93zP38KLPiK6697/uebtuArrr/u+Z9vGmCusP6653/+1FjwVdZf9/zPN7oHX339dc//fNMu+irrr3v+50+Bi+Zq6697/uebA/jz8Pudf9ht/fWv517J/XUzAP8C/BAeX9WCDrUpZ3/dEMBxgPcfbtTVvsYV5Yn32u03B3Ac4P3b8I+vxNBKeeL9dRMAlwO83959qGO78sT769oB7g3w/vGVYFzKE++v6wV4OMD7F7tckFkmT7y/rhHgpQO8b+4Y46XyxPvrugBeNcB7BRiX8sT767oAvmCA9woAHsoT76+rBJjLBnh3txOvkifeX1dswZcO8G6N7sXyxPvr6i340gHe3TnqVfLE++uKAb50gHcXLnrX8sR7gNdPRqwzwLu7Y/FO5Yn3AK9jXCMGeHdgxDuVJ75VAI8ljP7PAb3/RfjcZfePHBB+79dpfpH1CanN30d+mT1h9GqAxxJGM5LQeeQ1+Tb+EQJrElLb38VHQ94TRq900aMIo8cSOo+8Dp8QfsB8zpqE1NO3OI9Zrj1h9EV78PqE0WMJnUdeU6E+Jjyk/hbrEFIfeWbvId8H9oTRFwdZaxJGvziW0Hn0gqYB/wyZ0PwRlxJST+BOw9m77Amj14ii1yGM/txYQudN0qDzGe4EqfA/5GJCagsHcPaEPWH0esekSwmjRxM6b5JEcZ4ww50ilvAOFxBSx4yLW+A/YU8YvfY5+ALC6NGEzhtmyZoFZoarwBLeZxUhtY4rc3bKnjB6TKJjFUHzJoTOozF2YBpsjcyxDgzhQ1YRUse8+J4wenwmaylB82hC5w0zoRXUNXaRBmSMQUqiWSWkLsaVqc/ZE0aPTFUuJWgeTei8SfLZQeMxNaZSIzbII4aE1Nmr13P2hNHjc9E9guYNCZ032YlNwESMLcZiLQHkE4aE1BFg0yAR4z1h9AiAGRA0jyZ03tyIxWMajMPWBIsxYJCnlITU5ShiHYdZ94TR4wCmSxg9jtB5KyPGYzymAYexWEMwAPIsAdYdV6aObmNPGD0aYLoEzaMJnTc0Ygs+YDw0GAtqxBjkuP38bMRWCHn73xNGjz75P73WenCEJnhwyVe3AEe8TtKdJcYhBl97wuhNAObK66lvD/9J9NS75v17wuitAN5fe4D31x7g/bUHeH/tAd5fe4D3AO+vPcD7aw/w/toDvL/2AO+vPcD7aw/w/toDvAd4f/24ABzZ8o+KLsSLS+Pv/TqTb3P4hKlQrTGh+fbIBT0Axqznnb+L/V2mb3HkN5Mb/nEHeK7d4IcDld6lmDW/iH9E+AH1MdOw/Jlu2T1xNmY98sv4wHnD7D3uNHu54WUuOsBTbQuvBsPT/UfzNxGYzwkP8c+Yz3C+r/i6DcyRL/rZ+utRwWH5PmfvcvYEt9jLDS/bg0/B64DWKrQM8AL8FPwS9beQCe6EMKNZYJol37jBMy35otdaz0Bw2H/C2Smc7+WGB0HWDELBmOByA3r5QONo4V+DpzR/hFS4U8wMW1PXNB4TOqYz9urxRV++ntWCw/U59Ty9ebdWbrgfRS9AYKKN63ZokZVygr8GZ/gfIhZXIXPsAlNjPOLBby5c1eOLvmQ9lwkOy5x6QV1j5TYqpS05JtUgUHUp5toHGsVfn4NX4RnMCe+AxTpwmApTYxqMxwfCeJGjpXzRF61nbcHhUBPqWze9svwcHJ+S6NPscKrEjug78Dx8Lj3T8D4YxGIdxmJcwhi34fzZUr7olevZCw5vkOhoClq5zBPZAnygD/Tl9EzDh6kl3VhsHYcDEb+hCtJSvuiV69kLDm+WycrOTArHmB5/VYyP6jOVjwgGawk2zQOaTcc1L+aLXrKeveDwZqlKrw8U9Y1p66uK8dEzdYwBeUQAY7DbyYNezBfdWQ97weEtAKYQg2xJIkuveAT3dYeLGH+ShrWNwZgN0b2YL7qznr3g8JYAo5bQBziPjx7BPZ0d9RCQp4UZbnFdzBddor4XHN4KYMrB2qHFRIzzcLAHQZ5the5ovui94PCWAPefaYnxIdzRwdHCbuR4B+tbiy96Lzi8E4D7z7S0mEPd+eqO3cT53Z0Y8SV80XvB4Z0ADJi/f7X113f+7p7/+UYBvur6657/+YYBvur6657/+aYBvuL6657/+aYBvuL6657/+aYBvuL6657/+aYBvuL6657/+VMA8FXWX/f8z58OgK+y/rrnf75RgLna+uue//lTA/CV1V/3/M837aKvvv6653++UQvmauuve/7nTwfAV1N/3fM/fzr24Cuuv+75nz8FFnxl9dc9//MOr/8/glixwRuUfM4AAAAASUVORK5CYII='; + + }, + + getSearchTexture: function () { + + return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII='; + + } + +} ); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/SSAARenderPass.js b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/SSAARenderPass.js new file mode 100644 index 000000000..42c214de3 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/SSAARenderPass.js @@ -0,0 +1,181 @@ +/** +* +* Supersample Anti-Aliasing Render Pass +* +* @author bhouston / http://clara.io/ +* +* This manual approach to SSAA re-renders the scene ones for each sample with camera jitter and accumulates the results. +* +* References: https://en.wikipedia.org/wiki/Supersampling +* +*/ + +THREE.SSAARenderPass = function ( scene, camera, clearColor, clearAlpha ) { + + THREE.Pass.call( this ); + + this.scene = scene; + this.camera = camera; + + this.sampleLevel = 4; // specified as n, where the number of samples is 2^n, so sampleLevel = 4, is 2^4 samples, 16. + this.unbiased = true; + + // as we need to clear the buffer in this pass, clearColor must be set to something, defaults to black. + this.clearColor = ( clearColor !== undefined ) ? clearColor : 0x000000; + this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 0; + + if ( THREE.CopyShader === undefined ) console.error( "THREE.SSAARenderPass relies on THREE.CopyShader" ); + + var copyShader = THREE.CopyShader; + this.copyUniforms = THREE.UniformsUtils.clone( copyShader.uniforms ); + + this.copyMaterial = new THREE.ShaderMaterial( { + uniforms: this.copyUniforms, + vertexShader: copyShader.vertexShader, + fragmentShader: copyShader.fragmentShader, + premultipliedAlpha: true, + transparent: true, + blending: THREE.AdditiveBlending, + depthTest: false, + depthWrite: false + } ); + + this.fsQuad = new THREE.Pass.FullScreenQuad( this.copyMaterial ); + +}; + +THREE.SSAARenderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { + + constructor: THREE.SSAARenderPass, + + dispose: function () { + + if ( this.sampleRenderTarget ) { + + this.sampleRenderTarget.dispose(); + this.sampleRenderTarget = null; + + } + + }, + + setSize: function ( width, height ) { + + if ( this.sampleRenderTarget ) this.sampleRenderTarget.setSize( width, height ); + + }, + + render: function ( renderer, writeBuffer, readBuffer ) { + + if ( ! this.sampleRenderTarget ) { + + this.sampleRenderTarget = new THREE.WebGLRenderTarget( readBuffer.width, readBuffer.height, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBAFormat } ); + this.sampleRenderTarget.texture.name = "SSAARenderPass.sample"; + + } + + var jitterOffsets = THREE.SSAARenderPass.JitterVectors[ Math.max( 0, Math.min( this.sampleLevel, 5 ) ) ]; + + var autoClear = renderer.autoClear; + renderer.autoClear = false; + + var oldClearColor = renderer.getClearColor().getHex(); + var oldClearAlpha = renderer.getClearAlpha(); + + var baseSampleWeight = 1.0 / jitterOffsets.length; + var roundingRange = 1 / 32; + this.copyUniforms[ "tDiffuse" ].value = this.sampleRenderTarget.texture; + + var width = readBuffer.width, height = readBuffer.height; + + // render the scene multiple times, each slightly jitter offset from the last and accumulate the results. + for ( var i = 0; i < jitterOffsets.length; i ++ ) { + + var jitterOffset = jitterOffsets[ i ]; + + if ( this.camera.setViewOffset ) { + + this.camera.setViewOffset( width, height, + jitterOffset[ 0 ] * 0.0625, jitterOffset[ 1 ] * 0.0625, // 0.0625 = 1 / 16 + width, height ); + + } + + var sampleWeight = baseSampleWeight; + + if ( this.unbiased ) { + + // the theory is that equal weights for each sample lead to an accumulation of rounding errors. + // The following equation varies the sampleWeight per sample so that it is uniformly distributed + // across a range of values whose rounding errors cancel each other out. + + var uniformCenteredDistribution = ( - 0.5 + ( i + 0.5 ) / jitterOffsets.length ); + sampleWeight += roundingRange * uniformCenteredDistribution; + + } + + this.copyUniforms[ "opacity" ].value = sampleWeight; + renderer.setClearColor( this.clearColor, this.clearAlpha ); + renderer.setRenderTarget( this.sampleRenderTarget ); + renderer.clear(); + renderer.render( this.scene, this.camera ); + + renderer.setRenderTarget( this.renderToScreen ? null : writeBuffer ); + + if ( i === 0 ) { + + renderer.setClearColor( 0x000000, 0.0 ); + renderer.clear(); + + } + + this.fsQuad.render( renderer ); + + } + + if ( this.camera.clearViewOffset ) this.camera.clearViewOffset(); + + renderer.autoClear = autoClear; + renderer.setClearColor( oldClearColor, oldClearAlpha ); + + } + +} ); + + +// These jitter vectors are specified in integers because it is easier. +// I am assuming a [-8,8) integer grid, but it needs to be mapped onto [-0.5,0.5) +// before being used, thus these integers need to be scaled by 1/16. +// +// Sample patterns reference: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476218%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 +THREE.SSAARenderPass.JitterVectors = [ + [ + [ 0, 0 ] + ], + [ + [ 4, 4 ], [ - 4, - 4 ] + ], + [ + [ - 2, - 6 ], [ 6, - 2 ], [ - 6, 2 ], [ 2, 6 ] + ], + [ + [ 1, - 3 ], [ - 1, 3 ], [ 5, 1 ], [ - 3, - 5 ], + [ - 5, 5 ], [ - 7, - 1 ], [ 3, 7 ], [ 7, - 7 ] + ], + [ + [ 1, 1 ], [ - 1, - 3 ], [ - 3, 2 ], [ 4, - 1 ], + [ - 5, - 2 ], [ 2, 5 ], [ 5, 3 ], [ 3, - 5 ], + [ - 2, 6 ], [ 0, - 7 ], [ - 4, - 6 ], [ - 6, 4 ], + [ - 8, 0 ], [ 7, - 4 ], [ 6, 7 ], [ - 7, - 8 ] + ], + [ + [ - 4, - 7 ], [ - 7, - 5 ], [ - 3, - 5 ], [ - 5, - 4 ], + [ - 1, - 4 ], [ - 2, - 2 ], [ - 6, - 1 ], [ - 4, 0 ], + [ - 7, 1 ], [ - 1, 2 ], [ - 6, 3 ], [ - 3, 3 ], + [ - 7, 6 ], [ - 3, 6 ], [ - 5, 7 ], [ - 1, 7 ], + [ 5, - 7 ], [ 1, - 6 ], [ 6, - 5 ], [ 4, - 4 ], + [ 2, - 3 ], [ 7, - 2 ], [ 1, - 1 ], [ 4, - 1 ], + [ 2, 1 ], [ 6, 2 ], [ 0, 4 ], [ 4, 4 ], + [ 2, 5 ], [ 7, 5 ], [ 5, 6 ], [ 3, 7 ] + ] +]; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/ShaderPass.js b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/ShaderPass.js new file mode 100644 index 000000000..df13c1ab8 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/ShaderPass.js @@ -0,0 +1,66 @@ +/** + * @author alteredq / http://alteredqualia.com/ + */ + +THREE.ShaderPass = function ( shader, textureID ) { + + THREE.Pass.call( this ); + + this.textureID = ( textureID !== undefined ) ? textureID : "tDiffuse"; + + if ( shader instanceof THREE.ShaderMaterial ) { + + this.uniforms = shader.uniforms; + + this.material = shader; + + } else if ( shader ) { + + this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); + + this.material = new THREE.ShaderMaterial( { + + defines: Object.assign( {}, shader.defines ), + uniforms: this.uniforms, + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader + + } ); + + } + + this.fsQuad = new THREE.Pass.FullScreenQuad( this.material ); + +}; + +THREE.ShaderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { + + constructor: THREE.ShaderPass, + + render: function ( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) { + + if ( this.uniforms[ this.textureID ] ) { + + this.uniforms[ this.textureID ].value = readBuffer.texture; + + } + + this.fsQuad.material = this.material; + + if ( this.renderToScreen ) { + + renderer.setRenderTarget( null ); + this.fsQuad.render( renderer ); + + } else { + + renderer.setRenderTarget( writeBuffer ); + // TODO: Avoid using autoClear properties, see https://github.com/mrdoob/three.js/pull/15571#issuecomment-465669600 + if ( this.clear ) renderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil ); + this.fsQuad.render( renderer ); + + } + + } + +} ); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/UnrealBloomPass.js b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/UnrealBloomPass.js new file mode 100644 index 000000000..9103fe22c --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/postprocessing/UnrealBloomPass.js @@ -0,0 +1,406 @@ +/** + * @author spidersharma / http://eduperiment.com/ + * + * Inspired from Unreal Engine + * https://docs.unrealengine.com/latest/INT/Engine/Rendering/PostProcessEffects/Bloom/ + */ + +THREE.UnrealBloomPass = function ( resolution, strength, radius, threshold ) { + + THREE.Pass.call( this ); + + this.strength = ( strength !== undefined ) ? strength : 1; + this.radius = radius; + this.threshold = threshold; + this.resolution = ( resolution !== undefined ) ? new THREE.Vector2( resolution.x, resolution.y ) : new THREE.Vector2( 256, 256 ); + + // create color only once here, reuse it later inside the render function + this.clearColor = new THREE.Color( 0, 0, 0 ); + + // render targets + var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBAFormat }; + this.renderTargetsHorizontal = []; + this.renderTargetsVertical = []; + this.nMips = 5; + var resx = Math.round( this.resolution.x / 2 ); + var resy = Math.round( this.resolution.y / 2 ); + + this.renderTargetBright = new THREE.WebGLRenderTarget( resx, resy, pars ); + this.renderTargetBright.texture.name = "UnrealBloomPass.bright"; + this.renderTargetBright.texture.generateMipmaps = false; + + for ( var i = 0; i < this.nMips; i ++ ) { + + var renderTargetHorizonal = new THREE.WebGLRenderTarget( resx, resy, pars ); + + renderTargetHorizonal.texture.name = "UnrealBloomPass.h" + i; + renderTargetHorizonal.texture.generateMipmaps = false; + + this.renderTargetsHorizontal.push( renderTargetHorizonal ); + + var renderTargetVertical = new THREE.WebGLRenderTarget( resx, resy, pars ); + + renderTargetVertical.texture.name = "UnrealBloomPass.v" + i; + renderTargetVertical.texture.generateMipmaps = false; + + this.renderTargetsVertical.push( renderTargetVertical ); + + resx = Math.round( resx / 2 ); + + resy = Math.round( resy / 2 ); + + } + + // luminosity high pass material + + if ( THREE.LuminosityHighPassShader === undefined ) + console.error( "THREE.UnrealBloomPass relies on THREE.LuminosityHighPassShader" ); + + var highPassShader = THREE.LuminosityHighPassShader; + this.highPassUniforms = THREE.UniformsUtils.clone( highPassShader.uniforms ); + + this.highPassUniforms[ "luminosityThreshold" ].value = threshold; + this.highPassUniforms[ "smoothWidth" ].value = 0.01; + + this.materialHighPassFilter = new THREE.ShaderMaterial( { + uniforms: this.highPassUniforms, + vertexShader: highPassShader.vertexShader, + fragmentShader: highPassShader.fragmentShader, + defines: {} + } ); + + // Gaussian Blur Materials + this.separableBlurMaterials = []; + var kernelSizeArray = [ 3, 5, 7, 9, 11 ]; + var resx = Math.round( this.resolution.x / 2 ); + var resy = Math.round( this.resolution.y / 2 ); + + for ( var i = 0; i < this.nMips; i ++ ) { + + this.separableBlurMaterials.push( this.getSeperableBlurMaterial( kernelSizeArray[ i ] ) ); + + this.separableBlurMaterials[ i ].uniforms[ "texSize" ].value = new THREE.Vector2( resx, resy ); + + resx = Math.round( resx / 2 ); + + resy = Math.round( resy / 2 ); + + } + + // Composite material + this.compositeMaterial = this.getCompositeMaterial( this.nMips ); + this.compositeMaterial.uniforms[ "blurTexture1" ].value = this.renderTargetsVertical[ 0 ].texture; + this.compositeMaterial.uniforms[ "blurTexture2" ].value = this.renderTargetsVertical[ 1 ].texture; + this.compositeMaterial.uniforms[ "blurTexture3" ].value = this.renderTargetsVertical[ 2 ].texture; + this.compositeMaterial.uniforms[ "blurTexture4" ].value = this.renderTargetsVertical[ 3 ].texture; + this.compositeMaterial.uniforms[ "blurTexture5" ].value = this.renderTargetsVertical[ 4 ].texture; + this.compositeMaterial.uniforms[ "bloomStrength" ].value = strength; + this.compositeMaterial.uniforms[ "bloomRadius" ].value = 0.1; + this.compositeMaterial.needsUpdate = true; + + var bloomFactors = [ 1.0, 0.8, 0.6, 0.4, 0.2 ]; + this.compositeMaterial.uniforms[ "bloomFactors" ].value = bloomFactors; + this.bloomTintColors = [ new THREE.Vector3( 1, 1, 1 ), new THREE.Vector3( 1, 1, 1 ), new THREE.Vector3( 1, 1, 1 ), + new THREE.Vector3( 1, 1, 1 ), new THREE.Vector3( 1, 1, 1 ) ]; + this.compositeMaterial.uniforms[ "bloomTintColors" ].value = this.bloomTintColors; + + // copy material + if ( THREE.CopyShader === undefined ) { + + console.error( "THREE.UnrealBloomPass relies on THREE.CopyShader" ); + + } + + var copyShader = THREE.CopyShader; + + this.copyUniforms = THREE.UniformsUtils.clone( copyShader.uniforms ); + this.copyUniforms[ "opacity" ].value = 1.0; + + this.materialCopy = new THREE.ShaderMaterial( { + uniforms: this.copyUniforms, + vertexShader: copyShader.vertexShader, + fragmentShader: copyShader.fragmentShader, + blending: THREE.AdditiveBlending, + depthTest: false, + depthWrite: false, + transparent: true + } ); + + this.enabled = true; + this.needsSwap = false; + + this.oldClearColor = new THREE.Color(); + this.oldClearAlpha = 1; + + this.basic = new THREE.MeshBasicMaterial(); + + this.fsQuad = new THREE.Pass.FullScreenQuad( null ); + +}; + +THREE.UnrealBloomPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { + + constructor: THREE.UnrealBloomPass, + + dispose: function () { + + for ( var i = 0; i < this.renderTargetsHorizontal.length; i ++ ) { + + this.renderTargetsHorizontal[ i ].dispose(); + + } + + for ( var i = 0; i < this.renderTargetsVertical.length; i ++ ) { + + this.renderTargetsVertical[ i ].dispose(); + + } + + this.renderTargetBright.dispose(); + + }, + + setSize: function ( width, height ) { + + var resx = Math.round( width / 2 ); + var resy = Math.round( height / 2 ); + + this.renderTargetBright.setSize( resx, resy ); + + for ( var i = 0; i < this.nMips; i ++ ) { + + this.renderTargetsHorizontal[ i ].setSize( resx, resy ); + this.renderTargetsVertical[ i ].setSize( resx, resy ); + + this.separableBlurMaterials[ i ].uniforms[ "texSize" ].value = new THREE.Vector2( resx, resy ); + + resx = Math.round( resx / 2 ); + resy = Math.round( resy / 2 ); + + } + + }, + + render: function ( renderer, writeBuffer, readBuffer, deltaTime, maskActive ) { + + this.oldClearColor.copy( renderer.getClearColor() ); + this.oldClearAlpha = renderer.getClearAlpha(); + var oldAutoClear = renderer.autoClear; + renderer.autoClear = false; + + renderer.setClearColor( this.clearColor, 0 ); + + if ( maskActive ) renderer.state.buffers.stencil.setTest( false ); + + // Render input to screen + + if ( this.renderToScreen ) { + + this.fsQuad.material = this.basic; + this.basic.map = readBuffer.texture; + + renderer.setRenderTarget( null ); + renderer.clear(); + this.fsQuad.render( renderer ); + + } + + // 1. Extract Bright Areas + + this.highPassUniforms[ "tDiffuse" ].value = readBuffer.texture; + this.highPassUniforms[ "luminosityThreshold" ].value = this.threshold; + this.fsQuad.material = this.materialHighPassFilter; + + renderer.setRenderTarget( this.renderTargetBright ); + renderer.clear(); + this.fsQuad.render( renderer ); + + // 2. Blur All the mips progressively + + var inputRenderTarget = this.renderTargetBright; + + for ( var i = 0; i < this.nMips; i ++ ) { + + this.fsQuad.material = this.separableBlurMaterials[ i ]; + + this.separableBlurMaterials[ i ].uniforms[ "colorTexture" ].value = inputRenderTarget.texture; + this.separableBlurMaterials[ i ].uniforms[ "direction" ].value = THREE.UnrealBloomPass.BlurDirectionX; + renderer.setRenderTarget( this.renderTargetsHorizontal[ i ] ); + renderer.clear(); + this.fsQuad.render( renderer ); + + this.separableBlurMaterials[ i ].uniforms[ "colorTexture" ].value = this.renderTargetsHorizontal[ i ].texture; + this.separableBlurMaterials[ i ].uniforms[ "direction" ].value = THREE.UnrealBloomPass.BlurDirectionY; + renderer.setRenderTarget( this.renderTargetsVertical[ i ] ); + renderer.clear(); + this.fsQuad.render( renderer ); + + inputRenderTarget = this.renderTargetsVertical[ i ]; + + } + + // Composite All the mips + + this.fsQuad.material = this.compositeMaterial; + this.compositeMaterial.uniforms[ "bloomStrength" ].value = this.strength; + this.compositeMaterial.uniforms[ "bloomRadius" ].value = this.radius; + this.compositeMaterial.uniforms[ "bloomTintColors" ].value = this.bloomTintColors; + + renderer.setRenderTarget( this.renderTargetsHorizontal[ 0 ] ); + renderer.clear(); + this.fsQuad.render( renderer ); + + // Blend it additively over the input texture + + this.fsQuad.material = this.materialCopy; + this.copyUniforms[ "tDiffuse" ].value = this.renderTargetsHorizontal[ 0 ].texture; + + if ( maskActive ) renderer.state.buffers.stencil.setTest( true ); + + if ( this.renderToScreen ) { + + renderer.setRenderTarget( null ); + this.fsQuad.render( renderer ); + + } else { + + renderer.setRenderTarget( readBuffer ); + this.fsQuad.render( renderer ); + + } + + // Restore renderer settings + + renderer.setClearColor( this.oldClearColor, this.oldClearAlpha ); + renderer.autoClear = oldAutoClear; + + }, + + getSeperableBlurMaterial: function ( kernelRadius ) { + + return new THREE.ShaderMaterial( { + + defines: { + "KERNEL_RADIUS": kernelRadius, + "SIGMA": kernelRadius + }, + + uniforms: { + "colorTexture": { value: null }, + "texSize": { value: new THREE.Vector2( 0.5, 0.5 ) }, + "direction": { value: new THREE.Vector2( 0.5, 0.5 ) } + }, + + vertexShader: + "varying vec2 vUv;\n\ + void main() {\n\ + vUv = uv;\n\ + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\ + }", + + fragmentShader: + "#include <common>\ + varying vec2 vUv;\n\ + uniform sampler2D colorTexture;\n\ + uniform vec2 texSize;\ + uniform vec2 direction;\ + \ + float gaussianPdf(in float x, in float sigma) {\ + return 0.39894 * exp( -0.5 * x * x/( sigma * sigma))/sigma;\ + }\ + // void main() {\n\ + // vec2 invSize = 1.0 / texSize;\ + // float fSigma = float(SIGMA);\ + // float weightSum = gaussianPdf(0.0, fSigma);\ + // vec3 diffuseSum = texture2D( colorTexture, vUv).rgb * weightSum;\ + // for( int i = 1; i < KERNEL_RADIUS; i ++ ) {\ + // float x = float(i);\ + // float w = gaussianPdf(x, fSigma);\ + // vec2 uvOffset = direction * invSize * x;\ + // vec3 sample1 = texture2D( colorTexture, vUv + uvOffset).rgb;\ + // vec3 sample2 = texture2D( colorTexture, vUv - uvOffset).rgb;\ + // diffuseSum += (sample1 + sample2) * w;\ + // weightSum += 2.0 * w;\ + // }\ + // gl_FragColor = vec4(diffuseSum/weightSum, 1.0);\n\ + void main() {\n\ + vec2 invSize = 1.0 / texSize;\ + float fSigma = float(SIGMA);\ + float weightSum = gaussianPdf(0.0, fSigma);\ + vec4 diffuseSum = texture2D( colorTexture, vUv).rgba * weightSum;\ + for( int i = 1; i < KERNEL_RADIUS; i ++ ) {\ + float x = float(i);\ + float w = gaussianPdf(x, fSigma);\ + vec2 uvOffset = direction * invSize * x;\ + vec4 sample1 = texture2D( colorTexture, vUv + uvOffset).rgba;\ + vec4 sample2 = texture2D( colorTexture, vUv - uvOffset).rgba;\ + diffuseSum += (sample1 + sample2) * w;\ + weightSum += 2.0 * w;\ + }\ + gl_FragColor = vec4(diffuseSum/weightSum);\n\ + }" + } ); + + }, + + getCompositeMaterial: function ( nMips ) { + + return new THREE.ShaderMaterial( { + + defines: { + "NUM_MIPS": nMips + }, + + uniforms: { + "blurTexture1": { value: null }, + "blurTexture2": { value: null }, + "blurTexture3": { value: null }, + "blurTexture4": { value: null }, + "blurTexture5": { value: null }, + "dirtTexture": { value: null }, + "bloomStrength": { value: 1.0 }, + "bloomFactors": { value: null }, + "bloomTintColors": { value: null }, + "bloomRadius": { value: 0.0 } + }, + + vertexShader: + "varying vec2 vUv;\n\ + void main() {\n\ + vUv = uv;\n\ + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\ + }", + + fragmentShader: + "varying vec2 vUv;\ + uniform sampler2D blurTexture1;\ + uniform sampler2D blurTexture2;\ + uniform sampler2D blurTexture3;\ + uniform sampler2D blurTexture4;\ + uniform sampler2D blurTexture5;\ + uniform sampler2D dirtTexture;\ + uniform float bloomStrength;\ + uniform float bloomRadius;\ + uniform float bloomFactors[NUM_MIPS];\ + uniform vec3 bloomTintColors[NUM_MIPS];\ + \ + float lerpBloomFactor(const in float factor) { \ + float mirrorFactor = 1.2 - factor;\ + return mix(factor, mirrorFactor, bloomRadius);\ + }\ + \ + void main() {\ + gl_FragColor = bloomStrength * ( lerpBloomFactor(bloomFactors[0]) * vec4(bloomTintColors[0], 1.0) * texture2D(blurTexture1, vUv) + \ + lerpBloomFactor(bloomFactors[1]) * vec4(bloomTintColors[1], 1.0) * texture2D(blurTexture2, vUv) + \ + lerpBloomFactor(bloomFactors[2]) * vec4(bloomTintColors[2], 1.0) * texture2D(blurTexture3, vUv) + \ + lerpBloomFactor(bloomFactors[3]) * vec4(bloomTintColors[3], 1.0) * texture2D(blurTexture4, vUv) + \ + lerpBloomFactor(bloomFactors[4]) * vec4(bloomTintColors[4], 1.0) * texture2D(blurTexture5, vUv) );\ + }" + } ); + + } + +} ); + +THREE.UnrealBloomPass.BlurDirectionX = new THREE.Vector2( 1.0, 0.0 ); +THREE.UnrealBloomPass.BlurDirectionY = new THREE.Vector2( 0.0, 1.0 ); diff --git a/public/GV/thirdParty/Threejs-109/examples/js/renderers/CSS3DRenderer.js b/public/GV/thirdParty/Threejs-109/examples/js/renderers/CSS3DRenderer.js new file mode 100644 index 000000000..ddc0c1921 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/renderers/CSS3DRenderer.js @@ -0,0 +1,350 @@ +/** + * Based on http://www.emagix.net/academic/mscs-project/item/camera-sync-with-css3-and-webgl-threejs + * @author mrdoob / http://mrdoob.com/ + * @author yomotsu / https://yomotsu.net/ + */ + +THREE.CSS3DObject = function (element) { + + THREE.Object3D.call(this); + + this.element = element; + this.element.style.position = 'absolute'; + + this.addEventListener('removed', function () { + + if (this.element.parentNode !== null) { + + this.element.parentNode.removeChild(this.element); + + } + + }); + +}; + +THREE.CSS3DObject.prototype = Object.create(THREE.Object3D.prototype); +THREE.CSS3DObject.prototype.constructor = THREE.CSS3DObject; + +THREE.CSS3DSprite = function (element) { + + THREE.CSS3DObject.call(this, element); + +}; + +THREE.CSS3DSprite.prototype = Object.create(THREE.CSS3DObject.prototype); +THREE.CSS3DSprite.prototype.constructor = THREE.CSS3DSprite; + +// + +THREE.CSS3DRenderer = function () { + + console.log('THREE.CSS3DRenderer', THREE.REVISION); + + var _width, _height; + var _widthHalf, _heightHalf; + + var matrix = new THREE.Matrix4(); + + // 缓存 + var cache = { + camera: { fov: 0, style: '' }, + objects: new WeakMap() + }; + + var domElement = document.createElement('div'); + domElement.style.overflow = 'hidden'; + + this.domElement = domElement; + + // 该节点下的子节点都具有3D效果 + var cameraElement = document.createElement('div'); + + // 该属性设置在父级元素中,它的子级元素具有3d效果 + cameraElement.style.WebkitTransformStyle = 'preserve-3d'; + cameraElement.style.transformStyle = 'preserve-3d'; + + domElement.appendChild(cameraElement); + + var isIE = /Trident/i.test(navigator.userAgent); + + this.getSize = function () { + + return { + width: _width, + height: _height + }; + + }; + + this.setSize = function (width, height) { + + _width = width; + _height = height; + _widthHalf = _width / 2; + _heightHalf = _height / 2; + + domElement.style.width = width + 'px'; + domElement.style.height = height + 'px'; + + cameraElement.style.width = width + 'px'; + cameraElement.style.height = height + 'px'; + + }; + + function epsilon(value) { + + return Math.abs(value) < 1e-10 ? 0 : value; + + } + + function getCameraCSSMatrix(matrix) { + + var elements = matrix.elements; + + return 'matrix3d(' + + epsilon(elements[0]) + ',' + + epsilon(- elements[1]) + ',' + + epsilon(elements[2]) + ',' + + epsilon(elements[3]) + ',' + + epsilon(elements[4]) + ',' + + epsilon(- elements[5]) + ',' + + epsilon(elements[6]) + ',' + + epsilon(elements[7]) + ',' + + epsilon(elements[8]) + ',' + + epsilon(- elements[9]) + ',' + + epsilon(elements[10]) + ',' + + epsilon(elements[11]) + ',' + + epsilon(elements[12]) + ',' + + epsilon(- elements[13]) + ',' + + epsilon(elements[14]) + ',' + + epsilon(elements[15]) + + ')'; + + } + + function getObjectCSSMatrix(matrix, cameraCSSMatrix, object) { + + var elements = matrix.elements; + var matrix3d = 'matrix3d(' + + epsilon(elements[0]) + ',' + + epsilon(elements[1]) + ',' + + epsilon(elements[2]) + ',' + + epsilon(elements[3]) + ',' + + epsilon(- elements[4]) + ',' + + epsilon(- elements[5]) + ',' + + epsilon(- elements[6]) + ',' + + epsilon(- elements[7]) + ',' + + epsilon(elements[8]) + ',' + + epsilon(elements[9]) + ',' + + epsilon(elements[10]) + ',' + + epsilon(elements[11]) + ',' + + epsilon(elements[12]) + ',' + + epsilon(elements[13]) + ',' + + epsilon(elements[14]) + ',' + + epsilon(elements[15]) + + ')'; + + if (isIE) { + + return 'translate(-50%,-50%)' + + 'translate(' + _widthHalf + 'px,' + _heightHalf + 'px)' + + cameraCSSMatrix + + matrix3d; + + } + + if (object.userData.anchor) { + + return 'translate(-' + object.userData.anchor[0] * 100 + '%,-' + object.userData.anchor[1] * 100 + '%)' + matrix3d; + + } else { + + return 'translate(-50%,-50%)' + matrix3d; + + } + + } + + function renderObject(object, camera, cameraCSSMatrix) { + + if (object instanceof THREE.CSS3DObject) { + + var style; + + if (object instanceof THREE.CSS3DSprite) { + + // http://swiftcoder.wordpress.com/2008/11/25/constructing-a-billboard-matrix/ + + matrix.copy(camera.matrixWorldInverse); + matrix.transpose(); + matrix.copyPosition(object.matrixWorld); + matrix.scale(object.scale); + + matrix.elements[3] = 0; + matrix.elements[7] = 0; + matrix.elements[11] = 0; + matrix.elements[15] = 1; + + style = getObjectCSSMatrix(matrix, cameraCSSMatrix, object); + + } else { + + style = getObjectCSSMatrix(object.matrixWorld, cameraCSSMatrix, object); + + } + + var element = object.element; + var cachedObject = cache.objects.get(object); + + if (cachedObject === undefined || cachedObject.style !== style) { + + element.style.WebkitTransform = style; + element.style.transform = style; + + if (object.userData.anchor) { + element.style.transformOrigin = object.userData.anchor[0] * 100 + '% ' + object.userData.anchor[1] * 100 + '%';// 有时间考虑一下为什么? + } + + var objectData = { style: style }; + + if (isIE) { + + objectData.distanceToCameraSquared = getDistanceToSquared(camera, object); + + } + + cache.objects.set(object, objectData); + + } + + if (element.parentNode !== cameraElement) { + + cameraElement.appendChild(element); + + } + + } + + for (var i = 0, l = object.children.length; i < l; i++) { + + renderObject(object.children[i], camera, cameraCSSMatrix); + + } + + } + + var getDistanceToSquared = function () { + + var a = new THREE.Vector3(); + var b = new THREE.Vector3(); + + return function (object1, object2) { + + a.setFromMatrixPosition(object1.matrixWorld); + b.setFromMatrixPosition(object2.matrixWorld); + + return a.distanceToSquared(b); + + }; + + }(); + + function filterAndFlatten(scene) { + + var result = []; + + scene.traverse(function (object) { + + if (object instanceof THREE.CSS3DObject) result.push(object); + + }); + + return result; + + } + + function zOrder(scene) { + + var sorted = filterAndFlatten(scene).sort(function (a, b) { + + var distanceA = cache.objects.get(a).distanceToCameraSquared; + var distanceB = cache.objects.get(b).distanceToCameraSquared; + + return distanceA - distanceB; + + }); + + var zMax = sorted.length; + + for (var i = 0, l = sorted.length; i < l; i++) { + + sorted[i].element.style.zIndex = zMax - i; + + } + + } + + this.render = function (scene, camera) { + + // 计算设置fov + var fov = camera.projectionMatrix.elements[5] * _heightHalf; + + if (cache.camera.fov !== fov) { + + if (camera.isPerspectiveCamera) { + + domElement.style.WebkitPerspective = fov + 'px'; + domElement.style.perspective = fov + 'px'; + + } + + cache.camera.fov = fov; + + } + + // 更新场景树矩阵 + scene.updateMatrixWorld(); + + // 更新相机矩阵 + if (camera.parent === null) camera.updateMatrixWorld(); + + if (camera.isOrthographicCamera) { + + var tx = - (camera.right + camera.left) / 2; + var ty = (camera.top + camera.bottom) / 2; + + } + + // CSS 3D 相机矩阵(与ThreeJS相机联动) + var cameraCSSMatrix = camera.isOrthographicCamera ? + 'scale(' + fov + ')' + 'translate(' + epsilon(tx) + 'px,' + epsilon(ty) + 'px)' + getCameraCSSMatrix(camera.matrixWorldInverse) : + 'translateZ(' + fov + 'px)' + getCameraCSSMatrix(camera.matrixWorldInverse); + + var style = cameraCSSMatrix + + 'translate(' + _widthHalf + 'px,' + _heightHalf + 'px)'; + + if (cache.camera.style !== style && !isIE) { + + cameraElement.style.WebkitTransform = style; + cameraElement.style.transform = style; + + cache.camera.style = style; + + } + + renderObject(scene, camera, cameraCSSMatrix); + + if (isIE) { + + // IE10 and 11 does not support 'preserve-3d'. + // Thus, z-order in 3D will not work. + // We have to calc z-order manually and set CSS z-index for IE. + // FYI: z-index can't handle object intersection + zOrder(scene); + + } + + }; + +}; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/shaders/CopyShader.js b/public/GV/thirdParty/Threejs-109/examples/js/shaders/CopyShader.js new file mode 100644 index 000000000..0622448e1 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/shaders/CopyShader.js @@ -0,0 +1,46 @@ +/** + * @author alteredq / http://alteredqualia.com/ + * + * Full-screen textured quad shader + */ + +THREE.CopyShader = { + + uniforms: { + + "tDiffuse": { value: null }, + "opacity": { value: 1.0 } + + }, + + vertexShader: [ + + "varying vec2 vUv;", + + "void main() {", + + " vUv = uv;", + " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + + "uniform float opacity;", + + "uniform sampler2D tDiffuse;", + + "varying vec2 vUv;", + + "void main() {", + + " vec4 texel = texture2D( tDiffuse, vUv );", + " gl_FragColor = opacity * texel;", + + "}" + + ].join( "\n" ) + +}; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/shaders/FXAAShader.js b/public/GV/thirdParty/Threejs-109/examples/js/shaders/FXAAShader.js new file mode 100644 index 000000000..d6ed7eda6 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/shaders/FXAAShader.js @@ -0,0 +1,1115 @@ +/** + * @author alteredq / http://alteredqualia.com/ + * @author davidedc / http://www.sketchpatch.net/ + * + * NVIDIA FXAA by Timothy Lottes + * http://timothylottes.blogspot.com/2011/06/fxaa3-source-released.html + * - WebGL port by @supereggbert + * http://www.glge.org/demos/fxaa/ + */ + +THREE.FXAAShader = { + + uniforms: { + + "tDiffuse": { value: null }, + "resolution": { value: new THREE.Vector2( 1 / 1024, 1 / 512 ) } + + }, + + vertexShader: [ + + "varying vec2 vUv;", + + "void main() {", + + " vUv = uv;", + " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + "precision highp float;", + "", + "uniform sampler2D tDiffuse;", + "", + "uniform vec2 resolution;", + "", + "varying vec2 vUv;", + "", + "// FXAA 3.11 implementation by NVIDIA, ported to WebGL by Agost Biro (biro@archilogic.com)", + "", + "//----------------------------------------------------------------------------------", + "// File: es3-kepler\FXAA\assets\shaders/FXAA_DefaultES.frag", + "// SDK Version: v3.00", + "// Email: gameworks@nvidia.com", + "// Site: http://developer.nvidia.com/", + "//", + "// Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.", + "//", + "// Redistribution and use in source and binary forms, with or without", + "// modification, are permitted provided that the following conditions", + "// are met:", + "// * Redistributions of source code must retain the above copyright", + "// notice, this list of conditions and the following disclaimer.", + "// * Redistributions in binary form must reproduce the above copyright", + "// notice, this list of conditions and the following disclaimer in the", + "// documentation and/or other materials provided with the distribution.", + "// * Neither the name of NVIDIA CORPORATION nor the names of its", + "// contributors may be used to endorse or promote products derived", + "// from this software without specific prior written permission.", + "//", + "// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY", + "// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE", + "// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR", + "// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR", + "// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,", + "// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,", + "// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR", + "// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY", + "// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT", + "// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE", + "// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "//", + "//----------------------------------------------------------------------------------", + "", + "#define FXAA_PC 1", + "#define FXAA_GLSL_100 1", + "#define FXAA_QUALITY_PRESET 12", + "", + "#define FXAA_GREEN_AS_LUMA 1", + "", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_PC_CONSOLE", + " //", + " // The console algorithm for PC is included", + " // for developers targeting really low spec machines.", + " // Likely better to just run FXAA_PC, and use a really low preset.", + " //", + " #define FXAA_PC_CONSOLE 0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_GLSL_120", + " #define FXAA_GLSL_120 0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_GLSL_130", + " #define FXAA_GLSL_130 0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_HLSL_3", + " #define FXAA_HLSL_3 0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_HLSL_4", + " #define FXAA_HLSL_4 0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_HLSL_5", + " #define FXAA_HLSL_5 0", + "#endif", + "/*==========================================================================*/", + "#ifndef FXAA_GREEN_AS_LUMA", + " //", + " // For those using non-linear color,", + " // and either not able to get luma in alpha, or not wanting to,", + " // this enables FXAA to run using green as a proxy for luma.", + " // So with this enabled, no need to pack luma in alpha.", + " //", + " // This will turn off AA on anything which lacks some amount of green.", + " // Pure red and blue or combination of only R and B, will get no AA.", + " //", + " // Might want to lower the settings for both,", + " // fxaaConsoleEdgeThresholdMin", + " // fxaaQualityEdgeThresholdMin", + " // In order to insure AA does not get turned off on colors", + " // which contain a minor amount of green.", + " //", + " // 1 = On.", + " // 0 = Off.", + " //", + " #define FXAA_GREEN_AS_LUMA 0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_EARLY_EXIT", + " //", + " // Controls algorithm's early exit path.", + " // On PS3 turning this ON adds 2 cycles to the shader.", + " // On 360 turning this OFF adds 10ths of a millisecond to the shader.", + " // Turning this off on console will result in a more blurry image.", + " // So this defaults to on.", + " //", + " // 1 = On.", + " // 0 = Off.", + " //", + " #define FXAA_EARLY_EXIT 1", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_DISCARD", + " //", + " // Only valid for PC OpenGL currently.", + " // Probably will not work when FXAA_GREEN_AS_LUMA = 1.", + " //", + " // 1 = Use discard on pixels which don't need AA.", + " // For APIs which enable concurrent TEX+ROP from same surface.", + " // 0 = Return unchanged color on pixels which don't need AA.", + " //", + " #define FXAA_DISCARD 0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_FAST_PIXEL_OFFSET", + " //", + " // Used for GLSL 120 only.", + " //", + " // 1 = GL API supports fast pixel offsets", + " // 0 = do not use fast pixel offsets", + " //", + " #ifdef GL_EXT_gpu_shader4", + " #define FXAA_FAST_PIXEL_OFFSET 1", + " #endif", + " #ifdef GL_NV_gpu_shader5", + " #define FXAA_FAST_PIXEL_OFFSET 1", + " #endif", + " #ifdef GL_ARB_gpu_shader5", + " #define FXAA_FAST_PIXEL_OFFSET 1", + " #endif", + " #ifndef FXAA_FAST_PIXEL_OFFSET", + " #define FXAA_FAST_PIXEL_OFFSET 0", + " #endif", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#ifndef FXAA_GATHER4_ALPHA", + " //", + " // 1 = API supports gather4 on alpha channel.", + " // 0 = API does not support gather4 on alpha channel.", + " //", + " #if (FXAA_HLSL_5 == 1)", + " #define FXAA_GATHER4_ALPHA 1", + " #endif", + " #ifdef GL_ARB_gpu_shader5", + " #define FXAA_GATHER4_ALPHA 1", + " #endif", + " #ifdef GL_NV_gpu_shader5", + " #define FXAA_GATHER4_ALPHA 1", + " #endif", + " #ifndef FXAA_GATHER4_ALPHA", + " #define FXAA_GATHER4_ALPHA 0", + " #endif", + "#endif", + "", + "", + "/*============================================================================", + " FXAA QUALITY - TUNING KNOBS", + "------------------------------------------------------------------------------", + "NOTE the other tuning knobs are now in the shader function inputs!", + "============================================================================*/", + "#ifndef FXAA_QUALITY_PRESET", + " //", + " // Choose the quality preset.", + " // This needs to be compiled into the shader as it effects code.", + " // Best option to include multiple presets is to", + " // in each shader define the preset, then include this file.", + " //", + " // OPTIONS", + " // -----------------------------------------------------------------------", + " // 10 to 15 - default medium dither (10=fastest, 15=highest quality)", + " // 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality)", + " // 39 - no dither, very expensive", + " //", + " // NOTES", + " // -----------------------------------------------------------------------", + " // 12 = slightly faster then FXAA 3.9 and higher edge quality (default)", + " // 13 = about same speed as FXAA 3.9 and better than 12", + " // 23 = closest to FXAA 3.9 visually and performance wise", + " // _ = the lowest digit is directly related to performance", + " // _ = the highest digit is directly related to style", + " //", + " #define FXAA_QUALITY_PRESET 12", + "#endif", + "", + "", + "/*============================================================================", + "", + " FXAA QUALITY - PRESETS", + "", + "============================================================================*/", + "", + "/*============================================================================", + " FXAA QUALITY - MEDIUM DITHER PRESETS", + "============================================================================*/", + "#if (FXAA_QUALITY_PRESET == 10)", + " #define FXAA_QUALITY_PS 3", + " #define FXAA_QUALITY_P0 1.5", + " #define FXAA_QUALITY_P1 3.0", + " #define FXAA_QUALITY_P2 12.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 11)", + " #define FXAA_QUALITY_PS 4", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 3.0", + " #define FXAA_QUALITY_P3 12.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 12)", + " #define FXAA_QUALITY_PS 5", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 4.0", + " #define FXAA_QUALITY_P4 12.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 13)", + " #define FXAA_QUALITY_PS 6", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 4.0", + " #define FXAA_QUALITY_P5 12.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 14)", + " #define FXAA_QUALITY_PS 7", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 2.0", + " #define FXAA_QUALITY_P5 4.0", + " #define FXAA_QUALITY_P6 12.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 15)", + " #define FXAA_QUALITY_PS 8", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 2.0", + " #define FXAA_QUALITY_P5 2.0", + " #define FXAA_QUALITY_P6 4.0", + " #define FXAA_QUALITY_P7 12.0", + "#endif", + "", + "/*============================================================================", + " FXAA QUALITY - LOW DITHER PRESETS", + "============================================================================*/", + "#if (FXAA_QUALITY_PRESET == 20)", + " #define FXAA_QUALITY_PS 3", + " #define FXAA_QUALITY_P0 1.5", + " #define FXAA_QUALITY_P1 2.0", + " #define FXAA_QUALITY_P2 8.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 21)", + " #define FXAA_QUALITY_PS 4", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 8.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 22)", + " #define FXAA_QUALITY_PS 5", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 8.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 23)", + " #define FXAA_QUALITY_PS 6", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 2.0", + " #define FXAA_QUALITY_P5 8.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 24)", + " #define FXAA_QUALITY_PS 7", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 2.0", + " #define FXAA_QUALITY_P5 3.0", + " #define FXAA_QUALITY_P6 8.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 25)", + " #define FXAA_QUALITY_PS 8", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 2.0", + " #define FXAA_QUALITY_P5 2.0", + " #define FXAA_QUALITY_P6 4.0", + " #define FXAA_QUALITY_P7 8.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 26)", + " #define FXAA_QUALITY_PS 9", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 2.0", + " #define FXAA_QUALITY_P5 2.0", + " #define FXAA_QUALITY_P6 2.0", + " #define FXAA_QUALITY_P7 4.0", + " #define FXAA_QUALITY_P8 8.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 27)", + " #define FXAA_QUALITY_PS 10", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 2.0", + " #define FXAA_QUALITY_P5 2.0", + " #define FXAA_QUALITY_P6 2.0", + " #define FXAA_QUALITY_P7 2.0", + " #define FXAA_QUALITY_P8 4.0", + " #define FXAA_QUALITY_P9 8.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 28)", + " #define FXAA_QUALITY_PS 11", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 2.0", + " #define FXAA_QUALITY_P5 2.0", + " #define FXAA_QUALITY_P6 2.0", + " #define FXAA_QUALITY_P7 2.0", + " #define FXAA_QUALITY_P8 2.0", + " #define FXAA_QUALITY_P9 4.0", + " #define FXAA_QUALITY_P10 8.0", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_QUALITY_PRESET == 29)", + " #define FXAA_QUALITY_PS 12", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.5", + " #define FXAA_QUALITY_P2 2.0", + " #define FXAA_QUALITY_P3 2.0", + " #define FXAA_QUALITY_P4 2.0", + " #define FXAA_QUALITY_P5 2.0", + " #define FXAA_QUALITY_P6 2.0", + " #define FXAA_QUALITY_P7 2.0", + " #define FXAA_QUALITY_P8 2.0", + " #define FXAA_QUALITY_P9 2.0", + " #define FXAA_QUALITY_P10 4.0", + " #define FXAA_QUALITY_P11 8.0", + "#endif", + "", + "/*============================================================================", + " FXAA QUALITY - EXTREME QUALITY", + "============================================================================*/", + "#if (FXAA_QUALITY_PRESET == 39)", + " #define FXAA_QUALITY_PS 12", + " #define FXAA_QUALITY_P0 1.0", + " #define FXAA_QUALITY_P1 1.0", + " #define FXAA_QUALITY_P2 1.0", + " #define FXAA_QUALITY_P3 1.0", + " #define FXAA_QUALITY_P4 1.0", + " #define FXAA_QUALITY_P5 1.5", + " #define FXAA_QUALITY_P6 2.0", + " #define FXAA_QUALITY_P7 2.0", + " #define FXAA_QUALITY_P8 2.0", + " #define FXAA_QUALITY_P9 2.0", + " #define FXAA_QUALITY_P10 4.0", + " #define FXAA_QUALITY_P11 8.0", + "#endif", + "", + "", + "", + "/*============================================================================", + "", + " API PORTING", + "", + "============================================================================*/", + "#if (FXAA_GLSL_100 == 1) || (FXAA_GLSL_120 == 1) || (FXAA_GLSL_130 == 1)", + " #define FxaaBool bool", + " #define FxaaDiscard discard", + " #define FxaaFloat float", + " #define FxaaFloat2 vec2", + " #define FxaaFloat3 vec3", + " #define FxaaFloat4 vec4", + " #define FxaaHalf float", + " #define FxaaHalf2 vec2", + " #define FxaaHalf3 vec3", + " #define FxaaHalf4 vec4", + " #define FxaaInt2 ivec2", + " #define FxaaSat(x) clamp(x, 0.0, 1.0)", + " #define FxaaTex sampler2D", + "#else", + " #define FxaaBool bool", + " #define FxaaDiscard clip(-1)", + " #define FxaaFloat float", + " #define FxaaFloat2 float2", + " #define FxaaFloat3 float3", + " #define FxaaFloat4 float4", + " #define FxaaHalf half", + " #define FxaaHalf2 half2", + " #define FxaaHalf3 half3", + " #define FxaaHalf4 half4", + " #define FxaaSat(x) saturate(x)", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_GLSL_100 == 1)", + " #define FxaaTexTop(t, p) texture2D(t, p, 0.0)", + " #define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r), 0.0)", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_GLSL_120 == 1)", + " // Requires,", + " // #version 120", + " // And at least,", + " // #extension GL_EXT_gpu_shader4 : enable", + " // (or set FXAA_FAST_PIXEL_OFFSET 1 to work like DX9)", + " #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0)", + " #if (FXAA_FAST_PIXEL_OFFSET == 1)", + " #define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o)", + " #else", + " #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0)", + " #endif", + " #if (FXAA_GATHER4_ALPHA == 1)", + " // use #extension GL_ARB_gpu_shader5 : enable", + " #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)", + " #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)", + " #define FxaaTexGreen4(t, p) textureGather(t, p, 1)", + " #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)", + " #endif", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_GLSL_130 == 1)", + " // Requires \"#version 130\" or better", + " #define FxaaTexTop(t, p) textureLod(t, p, 0.0)", + " #define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o)", + " #if (FXAA_GATHER4_ALPHA == 1)", + " // use #extension GL_ARB_gpu_shader5 : enable", + " #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)", + " #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)", + " #define FxaaTexGreen4(t, p) textureGather(t, p, 1)", + " #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)", + " #endif", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_HLSL_3 == 1)", + " #define FxaaInt2 float2", + " #define FxaaTex sampler2D", + " #define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0))", + " #define FxaaTexOff(t, p, o, r) tex2Dlod(t, float4(p + (o * r), 0, 0))", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_HLSL_4 == 1)", + " #define FxaaInt2 int2", + " struct FxaaTex { SamplerState smpl; Texture2D tex; };", + " #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)", + " #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)", + "#endif", + "/*--------------------------------------------------------------------------*/", + "#if (FXAA_HLSL_5 == 1)", + " #define FxaaInt2 int2", + " struct FxaaTex { SamplerState smpl; Texture2D tex; };", + " #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)", + " #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)", + " #define FxaaTexAlpha4(t, p) t.tex.GatherAlpha(t.smpl, p)", + " #define FxaaTexOffAlpha4(t, p, o) t.tex.GatherAlpha(t.smpl, p, o)", + " #define FxaaTexGreen4(t, p) t.tex.GatherGreen(t.smpl, p)", + " #define FxaaTexOffGreen4(t, p, o) t.tex.GatherGreen(t.smpl, p, o)", + "#endif", + "", + "", + "/*============================================================================", + " GREEN AS LUMA OPTION SUPPORT FUNCTION", + "============================================================================*/", + "#if (FXAA_GREEN_AS_LUMA == 0)", + " FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.w; }", + "#else", + " FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }", + "#endif", + "", + "", + "", + "", + "/*============================================================================", + "", + " FXAA3 QUALITY - PC", + "", + "============================================================================*/", + "#if (FXAA_PC == 1)", + "/*--------------------------------------------------------------------------*/", + "FxaaFloat4 FxaaPixelShader(", + " //", + " // Use noperspective interpolation here (turn off perspective interpolation).", + " // {xy} = center of pixel", + " FxaaFloat2 pos,", + " //", + " // Used only for FXAA Console, and not used on the 360 version.", + " // Use noperspective interpolation here (turn off perspective interpolation).", + " // {xy_} = upper left of pixel", + " // {_zw} = lower right of pixel", + " FxaaFloat4 fxaaConsolePosPos,", + " //", + " // Input color texture.", + " // {rgb_} = color in linear or perceptual color space", + " // if (FXAA_GREEN_AS_LUMA == 0)", + " // {__a} = luma in perceptual color space (not linear)", + " FxaaTex tex,", + " //", + " // Only used on the optimized 360 version of FXAA Console.", + " // For everything but 360, just use the same input here as for \"tex\".", + " // For 360, same texture, just alias with a 2nd sampler.", + " // This sampler needs to have an exponent bias of -1.", + " FxaaTex fxaaConsole360TexExpBiasNegOne,", + " //", + " // Only used on the optimized 360 version of FXAA Console.", + " // For everything but 360, just use the same input here as for \"tex\".", + " // For 360, same texture, just alias with a 3nd sampler.", + " // This sampler needs to have an exponent bias of -2.", + " FxaaTex fxaaConsole360TexExpBiasNegTwo,", + " //", + " // Only used on FXAA Quality.", + " // This must be from a constant/uniform.", + " // {x_} = 1.0/screenWidthInPixels", + " // {_y} = 1.0/screenHeightInPixels", + " FxaaFloat2 fxaaQualityRcpFrame,", + " //", + " // Only used on FXAA Console.", + " // This must be from a constant/uniform.", + " // This effects sub-pixel AA quality and inversely sharpness.", + " // Where N ranges between,", + " // N = 0.50 (default)", + " // N = 0.33 (sharper)", + " // {x__} = -N/screenWidthInPixels", + " // {_y_} = -N/screenHeightInPixels", + " // {_z_} = N/screenWidthInPixels", + " // {__w} = N/screenHeightInPixels", + " FxaaFloat4 fxaaConsoleRcpFrameOpt,", + " //", + " // Only used on FXAA Console.", + " // Not used on 360, but used on PS3 and PC.", + " // This must be from a constant/uniform.", + " // {x__} = -2.0/screenWidthInPixels", + " // {_y_} = -2.0/screenHeightInPixels", + " // {_z_} = 2.0/screenWidthInPixels", + " // {__w} = 2.0/screenHeightInPixels", + " FxaaFloat4 fxaaConsoleRcpFrameOpt2,", + " //", + " // Only used on FXAA Console.", + " // Only used on 360 in place of fxaaConsoleRcpFrameOpt2.", + " // This must be from a constant/uniform.", + " // {x__} = 8.0/screenWidthInPixels", + " // {_y_} = 8.0/screenHeightInPixels", + " // {_z_} = -4.0/screenWidthInPixels", + " // {__w} = -4.0/screenHeightInPixels", + " FxaaFloat4 fxaaConsole360RcpFrameOpt2,", + " //", + " // Only used on FXAA Quality.", + " // This used to be the FXAA_QUALITY_SUBPIX define.", + " // It is here now to allow easier tuning.", + " // Choose the amount of sub-pixel aliasing removal.", + " // This can effect sharpness.", + " // 1.00 - upper limit (softer)", + " // 0.75 - default amount of filtering", + " // 0.50 - lower limit (sharper, less sub-pixel aliasing removal)", + " // 0.25 - almost off", + " // 0.00 - completely off", + " FxaaFloat fxaaQualitySubpix,", + " //", + " // Only used on FXAA Quality.", + " // This used to be the FXAA_QUALITY_EDGE_THRESHOLD define.", + " // It is here now to allow easier tuning.", + " // The minimum amount of local contrast required to apply algorithm.", + " // 0.333 - too little (faster)", + " // 0.250 - low quality", + " // 0.166 - default", + " // 0.125 - high quality", + " // 0.063 - overkill (slower)", + " FxaaFloat fxaaQualityEdgeThreshold,", + " //", + " // Only used on FXAA Quality.", + " // This used to be the FXAA_QUALITY_EDGE_THRESHOLD_MIN define.", + " // It is here now to allow easier tuning.", + " // Trims the algorithm from processing darks.", + " // 0.0833 - upper limit (default, the start of visible unfiltered edges)", + " // 0.0625 - high quality (faster)", + " // 0.0312 - visible limit (slower)", + " // Special notes when using FXAA_GREEN_AS_LUMA,", + " // Likely want to set this to zero.", + " // As colors that are mostly not-green", + " // will appear very dark in the green channel!", + " // Tune by looking at mostly non-green content,", + " // then start at zero and increase until aliasing is a problem.", + " FxaaFloat fxaaQualityEdgeThresholdMin,", + " //", + " // Only used on FXAA Console.", + " // This used to be the FXAA_CONSOLE_EDGE_SHARPNESS define.", + " // It is here now to allow easier tuning.", + " // This does not effect PS3, as this needs to be compiled in.", + " // Use FXAA_CONSOLE_PS3_EDGE_SHARPNESS for PS3.", + " // Due to the PS3 being ALU bound,", + " // there are only three safe values here: 2 and 4 and 8.", + " // These options use the shaders ability to a free *|/ by 2|4|8.", + " // For all other platforms can be a non-power of two.", + " // 8.0 is sharper (default!!!)", + " // 4.0 is softer", + " // 2.0 is really soft (good only for vector graphics inputs)", + " FxaaFloat fxaaConsoleEdgeSharpness,", + " //", + " // Only used on FXAA Console.", + " // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD define.", + " // It is here now to allow easier tuning.", + " // This does not effect PS3, as this needs to be compiled in.", + " // Use FXAA_CONSOLE_PS3_EDGE_THRESHOLD for PS3.", + " // Due to the PS3 being ALU bound,", + " // there are only two safe values here: 1/4 and 1/8.", + " // These options use the shaders ability to a free *|/ by 2|4|8.", + " // The console setting has a different mapping than the quality setting.", + " // Other platforms can use other values.", + " // 0.125 leaves less aliasing, but is softer (default!!!)", + " // 0.25 leaves more aliasing, and is sharper", + " FxaaFloat fxaaConsoleEdgeThreshold,", + " //", + " // Only used on FXAA Console.", + " // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD_MIN define.", + " // It is here now to allow easier tuning.", + " // Trims the algorithm from processing darks.", + " // The console setting has a different mapping than the quality setting.", + " // This only applies when FXAA_EARLY_EXIT is 1.", + " // This does not apply to PS3,", + " // PS3 was simplified to avoid more shader instructions.", + " // 0.06 - faster but more aliasing in darks", + " // 0.05 - default", + " // 0.04 - slower and less aliasing in darks", + " // Special notes when using FXAA_GREEN_AS_LUMA,", + " // Likely want to set this to zero.", + " // As colors that are mostly not-green", + " // will appear very dark in the green channel!", + " // Tune by looking at mostly non-green content,", + " // then start at zero and increase until aliasing is a problem.", + " FxaaFloat fxaaConsoleEdgeThresholdMin,", + " //", + " // Extra constants for 360 FXAA Console only.", + " // Use zeros or anything else for other platforms.", + " // These must be in physical constant registers and NOT immediates.", + " // Immediates will result in compiler un-optimizing.", + " // {xyzw} = float4(1.0, -1.0, 0.25, -0.25)", + " FxaaFloat4 fxaaConsole360ConstDir", + ") {", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat2 posM;", + " posM.x = pos.x;", + " posM.y = pos.y;", + " #if (FXAA_GATHER4_ALPHA == 1)", + " #if (FXAA_DISCARD == 0)", + " FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);", + " #if (FXAA_GREEN_AS_LUMA == 0)", + " #define lumaM rgbyM.w", + " #else", + " #define lumaM rgbyM.y", + " #endif", + " #endif", + " #if (FXAA_GREEN_AS_LUMA == 0)", + " FxaaFloat4 luma4A = FxaaTexAlpha4(tex, posM);", + " FxaaFloat4 luma4B = FxaaTexOffAlpha4(tex, posM, FxaaInt2(-1, -1));", + " #else", + " FxaaFloat4 luma4A = FxaaTexGreen4(tex, posM);", + " FxaaFloat4 luma4B = FxaaTexOffGreen4(tex, posM, FxaaInt2(-1, -1));", + " #endif", + " #if (FXAA_DISCARD == 1)", + " #define lumaM luma4A.w", + " #endif", + " #define lumaE luma4A.z", + " #define lumaS luma4A.x", + " #define lumaSE luma4A.y", + " #define lumaNW luma4B.w", + " #define lumaN luma4B.z", + " #define lumaW luma4B.x", + " #else", + " FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);", + " #if (FXAA_GREEN_AS_LUMA == 0)", + " #define lumaM rgbyM.w", + " #else", + " #define lumaM rgbyM.y", + " #endif", + " #if (FXAA_GLSL_100 == 1)", + " FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0, 1.0), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 0.0), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0,-1.0), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 0.0), fxaaQualityRcpFrame.xy));", + " #else", + " FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy));", + " #endif", + " #endif", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat maxSM = max(lumaS, lumaM);", + " FxaaFloat minSM = min(lumaS, lumaM);", + " FxaaFloat maxESM = max(lumaE, maxSM);", + " FxaaFloat minESM = min(lumaE, minSM);", + " FxaaFloat maxWN = max(lumaN, lumaW);", + " FxaaFloat minWN = min(lumaN, lumaW);", + " FxaaFloat rangeMax = max(maxWN, maxESM);", + " FxaaFloat rangeMin = min(minWN, minESM);", + " FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold;", + " FxaaFloat range = rangeMax - rangeMin;", + " FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled);", + " FxaaBool earlyExit = range < rangeMaxClamped;", + "/*--------------------------------------------------------------------------*/", + " if(earlyExit)", + " #if (FXAA_DISCARD == 1)", + " FxaaDiscard;", + " #else", + " return rgbyM;", + " #endif", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_GATHER4_ALPHA == 0)", + " #if (FXAA_GLSL_100 == 1)", + " FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0,-1.0), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 1.0), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0,-1.0), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 1.0), fxaaQualityRcpFrame.xy));", + " #else", + " FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));", + " #endif", + " #else", + " FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy));", + " FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));", + " #endif", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat lumaNS = lumaN + lumaS;", + " FxaaFloat lumaWE = lumaW + lumaE;", + " FxaaFloat subpixRcpRange = 1.0/range;", + " FxaaFloat subpixNSWE = lumaNS + lumaWE;", + " FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS;", + " FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE;", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat lumaNESE = lumaNE + lumaSE;", + " FxaaFloat lumaNWNE = lumaNW + lumaNE;", + " FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE;", + " FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE;", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat lumaNWSW = lumaNW + lumaSW;", + " FxaaFloat lumaSWSE = lumaSW + lumaSE;", + " FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2);", + " FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2);", + " FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW;", + " FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE;", + " FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4;", + " FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4;", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE;", + " FxaaFloat lengthSign = fxaaQualityRcpFrame.x;", + " FxaaBool horzSpan = edgeHorz >= edgeVert;", + " FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE;", + "/*--------------------------------------------------------------------------*/", + " if(!horzSpan) lumaN = lumaW;", + " if(!horzSpan) lumaS = lumaE;", + " if(horzSpan) lengthSign = fxaaQualityRcpFrame.y;", + " FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM;", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat gradientN = lumaN - lumaM;", + " FxaaFloat gradientS = lumaS - lumaM;", + " FxaaFloat lumaNN = lumaN + lumaM;", + " FxaaFloat lumaSS = lumaS + lumaM;", + " FxaaBool pairN = abs(gradientN) >= abs(gradientS);", + " FxaaFloat gradient = max(abs(gradientN), abs(gradientS));", + " if(pairN) lengthSign = -lengthSign;", + " FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange);", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat2 posB;", + " posB.x = posM.x;", + " posB.y = posM.y;", + " FxaaFloat2 offNP;", + " offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;", + " offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;", + " if(!horzSpan) posB.x += lengthSign * 0.5;", + " if( horzSpan) posB.y += lengthSign * 0.5;", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat2 posN;", + " posN.x = posB.x - offNP.x * FXAA_QUALITY_P0;", + " posN.y = posB.y - offNP.y * FXAA_QUALITY_P0;", + " FxaaFloat2 posP;", + " posP.x = posB.x + offNP.x * FXAA_QUALITY_P0;", + " posP.y = posB.y + offNP.y * FXAA_QUALITY_P0;", + " FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;", + " FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN));", + " FxaaFloat subpixE = subpixC * subpixC;", + " FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP));", + "/*--------------------------------------------------------------------------*/", + " if(!pairN) lumaNN = lumaSS;", + " FxaaFloat gradientScaled = gradient * 1.0/4.0;", + " FxaaFloat lumaMM = lumaM - lumaNN * 0.5;", + " FxaaFloat subpixF = subpixD * subpixE;", + " FxaaBool lumaMLTZero = lumaMM < 0.0;", + "/*--------------------------------------------------------------------------*/", + " lumaEndN -= lumaNN * 0.5;", + " lumaEndP -= lumaNN * 0.5;", + " FxaaBool doneN = abs(lumaEndN) >= gradientScaled;", + " FxaaBool doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1;", + " FxaaBool doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1;", + "/*--------------------------------------------------------------------------*/", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 3)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 4)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 5)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 6)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 7)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 8)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 9)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 10)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 11)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11;", + "/*--------------------------------------------------------------------------*/", + " #if (FXAA_QUALITY_PS > 12)", + " if(doneNP) {", + " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));", + " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));", + " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;", + " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;", + " doneN = abs(lumaEndN) >= gradientScaled;", + " doneP = abs(lumaEndP) >= gradientScaled;", + " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12;", + " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12;", + " doneNP = (!doneN) || (!doneP);", + " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12;", + " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12;", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + " #endif", + "/*--------------------------------------------------------------------------*/", + " }", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat dstN = posM.x - posN.x;", + " FxaaFloat dstP = posP.x - posM.x;", + " if(!horzSpan) dstN = posM.y - posN.y;", + " if(!horzSpan) dstP = posP.y - posM.y;", + "/*--------------------------------------------------------------------------*/", + " FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero;", + " FxaaFloat spanLength = (dstP + dstN);", + " FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero;", + " FxaaFloat spanLengthRcp = 1.0/spanLength;", + "/*--------------------------------------------------------------------------*/", + " FxaaBool directionN = dstN < dstP;", + " FxaaFloat dst = min(dstN, dstP);", + " FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP;", + " FxaaFloat subpixG = subpixF * subpixF;", + " FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5;", + " FxaaFloat subpixH = subpixG * fxaaQualitySubpix;", + "/*--------------------------------------------------------------------------*/", + " FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0;", + " FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH);", + " if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign;", + " if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign;", + " #if (FXAA_DISCARD == 1)", + " return FxaaTexTop(tex, posM);", + " #else", + " return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM);", + " #endif", + "}", + "/*==========================================================================*/", + "#endif", + "", + "void main() {", + " gl_FragColor = FxaaPixelShader(", + " vUv,", + " vec4(0.0),", + " tDiffuse,", + " tDiffuse,", + " tDiffuse,", + " resolution,", + " vec4(0.0),", + " vec4(0.0),", + " vec4(0.0),", + " 0.75,", + " 0.166,", + " 0.0833,", + " 0.0,", + " 0.0,", + " 0.0,", + " vec4(0.0)", + " );", + "", + " // TODO avoid querying texture twice for same texel", + " gl_FragColor.a = texture2D(tDiffuse, vUv).a;", + "}" + ].join( "\n" ) + +}; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/shaders/LuminosityHighPassShader.js b/public/GV/thirdParty/Threejs-109/examples/js/shaders/LuminosityHighPassShader.js new file mode 100644 index 000000000..f53bf0fac --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/shaders/LuminosityHighPassShader.js @@ -0,0 +1,64 @@ +/** + * @author bhouston / http://clara.io/ + * + * Luminosity + * http://en.wikipedia.org/wiki/Luminosity + */ + +THREE.LuminosityHighPassShader = { + + shaderID: "luminosityHighPass", + + uniforms: { + + "tDiffuse": { value: null }, + "luminosityThreshold": { value: 1.0 }, + "smoothWidth": { value: 1.0 }, + "defaultColor": { value: new THREE.Color( 0x000000 ) }, + "defaultOpacity": { value: 0.0 } + + }, + + vertexShader: [ + + "varying vec2 vUv;", + + "void main() {", + + " vUv = uv;", + + " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + + "uniform sampler2D tDiffuse;", + "uniform vec3 defaultColor;", + "uniform float defaultOpacity;", + "uniform float luminosityThreshold;", + "uniform float smoothWidth;", + + "varying vec2 vUv;", + + "void main() {", + + " vec4 texel = texture2D( tDiffuse, vUv );", + + " vec3 luma = vec3( 0.299, 0.587, 0.114 );", + + " float v = dot( texel.xyz, luma );", + + " vec4 outputColor = vec4( defaultColor.rgb, defaultOpacity );", + + " float alpha = smoothstep( luminosityThreshold, luminosityThreshold + smoothWidth, v );", + + " gl_FragColor = mix( outputColor, texel, alpha );", + + "}" + + ].join( "\n" ) + +}; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/shaders/ParallaxShader.js b/public/GV/thirdParty/Threejs-109/examples/js/shaders/ParallaxShader.js new file mode 100644 index 000000000..0a67a887f --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/shaders/ParallaxShader.js @@ -0,0 +1,184 @@ +// Parallax Occlusion shaders from +// http://sunandblackcat.com/tipFullView.php?topicid=28 +// No tangent-space transforms logic based on +// http://mmikkelsen3d.blogspot.sk/2012/02/parallaxpoc-mapping-and-no-tangent.html + +THREE.ParallaxShader = { + // Ordered from fastest to best quality. + modes: { + none: "NO_PARALLAX", + basic: "USE_BASIC_PARALLAX", + steep: "USE_STEEP_PARALLAX", + occlusion: "USE_OCLUSION_PARALLAX", // a.k.a. POM + relief: "USE_RELIEF_PARALLAX" + }, + + uniforms: { + "bumpMap": { value: null }, + "map": { value: null }, + "parallaxScale": { value: null }, + "parallaxMinLayers": { value: null }, + "parallaxMaxLayers": { value: null } + }, + + vertexShader: [ + "varying vec2 vUv;", + "varying vec3 vViewPosition;", + "varying vec3 vNormal;", + + "void main() {", + + " vUv = uv;", + " vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );", + " vViewPosition = -mvPosition.xyz;", + " vNormal = normalize( normalMatrix * normal );", + " gl_Position = projectionMatrix * mvPosition;", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + "uniform sampler2D bumpMap;", + "uniform sampler2D map;", + + "uniform float parallaxScale;", + "uniform float parallaxMinLayers;", + "uniform float parallaxMaxLayers;", + + "varying vec2 vUv;", + "varying vec3 vViewPosition;", + "varying vec3 vNormal;", + + "#ifdef USE_BASIC_PARALLAX", + + " vec2 parallaxMap( in vec3 V ) {", + + " float initialHeight = texture2D( bumpMap, vUv ).r;", + + // No Offset Limitting: messy, floating output at grazing angles. + //"vec2 texCoordOffset = parallaxScale * V.xy / V.z * initialHeight;", + + // Offset Limiting + " vec2 texCoordOffset = parallaxScale * V.xy * initialHeight;", + " return vUv - texCoordOffset;", + + " }", + + "#else", + + " vec2 parallaxMap( in vec3 V ) {", + + // Determine number of layers from angle between V and N + " float numLayers = mix( parallaxMaxLayers, parallaxMinLayers, abs( dot( vec3( 0.0, 0.0, 1.0 ), V ) ) );", + + " float layerHeight = 1.0 / numLayers;", + " float currentLayerHeight = 0.0;", + // Shift of texture coordinates for each iteration + " vec2 dtex = parallaxScale * V.xy / V.z / numLayers;", + + " vec2 currentTextureCoords = vUv;", + + " float heightFromTexture = texture2D( bumpMap, currentTextureCoords ).r;", + + // while ( heightFromTexture > currentLayerHeight ) + // Infinite loops are not well supported. Do a "large" finite + // loop, but not too large, as it slows down some compilers. + " for ( int i = 0; i < 30; i += 1 ) {", + " if ( heightFromTexture <= currentLayerHeight ) {", + " break;", + " }", + " currentLayerHeight += layerHeight;", + // Shift texture coordinates along vector V + " currentTextureCoords -= dtex;", + " heightFromTexture = texture2D( bumpMap, currentTextureCoords ).r;", + " }", + + " #ifdef USE_STEEP_PARALLAX", + + " return currentTextureCoords;", + + " #elif defined( USE_RELIEF_PARALLAX )", + + " vec2 deltaTexCoord = dtex / 2.0;", + " float deltaHeight = layerHeight / 2.0;", + + // Return to the mid point of previous layer + " currentTextureCoords += deltaTexCoord;", + " currentLayerHeight -= deltaHeight;", + + // Binary search to increase precision of Steep Parallax Mapping + " const int numSearches = 5;", + " for ( int i = 0; i < numSearches; i += 1 ) {", + + " deltaTexCoord /= 2.0;", + " deltaHeight /= 2.0;", + " heightFromTexture = texture2D( bumpMap, currentTextureCoords ).r;", + // Shift along or against vector V + " if( heightFromTexture > currentLayerHeight ) {", // Below the surface + + " currentTextureCoords -= deltaTexCoord;", + " currentLayerHeight += deltaHeight;", + + " } else {", // above the surface + + " currentTextureCoords += deltaTexCoord;", + " currentLayerHeight -= deltaHeight;", + + " }", + + " }", + " return currentTextureCoords;", + + " #elif defined( USE_OCLUSION_PARALLAX )", + + " vec2 prevTCoords = currentTextureCoords + dtex;", + + // Heights for linear interpolation + " float nextH = heightFromTexture - currentLayerHeight;", + " float prevH = texture2D( bumpMap, prevTCoords ).r - currentLayerHeight + layerHeight;", + + // Proportions for linear interpolation + " float weight = nextH / ( nextH - prevH );", + + // Interpolation of texture coordinates + " return prevTCoords * weight + currentTextureCoords * ( 1.0 - weight );", + + " #else", // NO_PARALLAX + + " return vUv;", + + " #endif", + + " }", + "#endif", + + "vec2 perturbUv( vec3 surfPosition, vec3 surfNormal, vec3 viewPosition ) {", + + " vec2 texDx = dFdx( vUv );", + " vec2 texDy = dFdy( vUv );", + + " vec3 vSigmaX = dFdx( surfPosition );", + " vec3 vSigmaY = dFdy( surfPosition );", + " vec3 vR1 = cross( vSigmaY, surfNormal );", + " vec3 vR2 = cross( surfNormal, vSigmaX );", + " float fDet = dot( vSigmaX, vR1 );", + + " vec2 vProjVscr = ( 1.0 / fDet ) * vec2( dot( vR1, viewPosition ), dot( vR2, viewPosition ) );", + " vec3 vProjVtex;", + " vProjVtex.xy = texDx * vProjVscr.x + texDy * vProjVscr.y;", + " vProjVtex.z = dot( surfNormal, viewPosition );", + + " return parallaxMap( vProjVtex );", + "}", + + "void main() {", + + " vec2 mapUv = perturbUv( -vViewPosition, normalize( vNormal ), normalize( vViewPosition ) );", + " gl_FragColor = texture2D( map, mapUv );", + + "}" + + ].join( "\n" ) + +}; diff --git a/public/GV/thirdParty/Threejs-109/examples/js/shaders/SMAAShader.js b/public/GV/thirdParty/Threejs-109/examples/js/shaders/SMAAShader.js new file mode 100644 index 000000000..2deb82260 --- /dev/null +++ b/public/GV/thirdParty/Threejs-109/examples/js/shaders/SMAAShader.js @@ -0,0 +1,468 @@ +/** + * @author mpk / http://polko.me/ + * + * WebGL port of Subpixel Morphological Antialiasing (SMAA) v2.8 + * Preset: SMAA 1x Medium (with color edge detection) + * https://github.com/iryoku/smaa/releases/tag/v2.8 + */ + +THREE.SMAAEdgesShader = { + + defines: { + + "SMAA_THRESHOLD": "0.1" + + }, + + uniforms: { + + "tDiffuse": { value: null }, + "resolution": { value: new THREE.Vector2( 1 / 1024, 1 / 512 ) } + + }, + + vertexShader: [ + + "uniform vec2 resolution;", + + "varying vec2 vUv;", + "varying vec4 vOffset[ 3 ];", + + "void SMAAEdgeDetectionVS( vec2 texcoord ) {", + " vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 );", // WebGL port note: Changed sign in W component + " vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 );", // WebGL port note: Changed sign in W component + " vOffset[ 2 ] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0, 2.0 );", // WebGL port note: Changed sign in W component + "}", + + "void main() {", + + " vUv = uv;", + + " SMAAEdgeDetectionVS( vUv );", + + " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + + "uniform sampler2D tDiffuse;", + + "varying vec2 vUv;", + "varying vec4 vOffset[ 3 ];", + + "vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) {", + " vec2 threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD );", + + // Calculate color deltas: + " vec4 delta;", + " vec3 C = texture2D( colorTex, texcoord ).rgb;", + + " vec3 Cleft = texture2D( colorTex, offset[0].xy ).rgb;", + " vec3 t = abs( C - Cleft );", + " delta.x = max( max( t.r, t.g ), t.b );", + + " vec3 Ctop = texture2D( colorTex, offset[0].zw ).rgb;", + " t = abs( C - Ctop );", + " delta.y = max( max( t.r, t.g ), t.b );", + + // We do the usual threshold: + " vec2 edges = step( threshold, delta.xy );", + + // Then discard if there is no edge: + " if ( dot( edges, vec2( 1.0, 1.0 ) ) == 0.0 )", + " discard;", + + // Calculate right and bottom deltas: + " vec3 Cright = texture2D( colorTex, offset[1].xy ).rgb;", + " t = abs( C - Cright );", + " delta.z = max( max( t.r, t.g ), t.b );", + + " vec3 Cbottom = texture2D( colorTex, offset[1].zw ).rgb;", + " t = abs( C - Cbottom );", + " delta.w = max( max( t.r, t.g ), t.b );", + + // Calculate the maximum delta in the direct neighborhood: + " float maxDelta = max( max( max( delta.x, delta.y ), delta.z ), delta.w );", + + // Calculate left-left and top-top deltas: + " vec3 Cleftleft = texture2D( colorTex, offset[2].xy ).rgb;", + " t = abs( C - Cleftleft );", + " delta.z = max( max( t.r, t.g ), t.b );", + + " vec3 Ctoptop = texture2D( colorTex, offset[2].zw ).rgb;", + " t = abs( C - Ctoptop );", + " delta.w = max( max( t.r, t.g ), t.b );", + + // Calculate the final maximum delta: + " maxDelta = max( max( maxDelta, delta.z ), delta.w );", + + // Local contrast adaptation in action: + " edges.xy *= step( 0.5 * maxDelta, delta.xy );", + + " return vec4( edges, 0.0, 0.0 );", + "}", + + "void main() {", + + " gl_FragColor = SMAAColorEdgeDetectionPS( vUv, vOffset, tDiffuse );", + + "}" + + ].join( "\n" ) + +}; + +THREE.SMAAWeightsShader = { + + defines: { + + "SMAA_MAX_SEARCH_STEPS": "8", + "SMAA_AREATEX_MAX_DISTANCE": "16", + "SMAA_AREATEX_PIXEL_SIZE": "( 1.0 / vec2( 160.0, 560.0 ) )", + "SMAA_AREATEX_SUBTEX_SIZE": "( 1.0 / 7.0 )" + + }, + + uniforms: { + + "tDiffuse": { value: null }, + "tArea": { value: null }, + "tSearch": { value: null }, + "resolution": { value: new THREE.Vector2( 1 / 1024, 1 / 512 ) } + + }, + + vertexShader: [ + + "uniform vec2 resolution;", + + "varying vec2 vUv;", + "varying vec4 vOffset[ 3 ];", + "varying vec2 vPixcoord;", + + "void SMAABlendingWeightCalculationVS( vec2 texcoord ) {", + " vPixcoord = texcoord / resolution;", + + // We will use these offsets for the searches later on (see @PSEUDO_GATHER4): + " vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 );", // WebGL port note: Changed sign in Y and W components + " vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 );", // WebGL port note: Changed sign in Y and W components + + // And these for the searches, they indicate the ends of the loops: + " vOffset[ 2 ] = vec4( vOffset[ 0 ].xz, vOffset[ 1 ].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * resolution.xxyy * float( SMAA_MAX_SEARCH_STEPS );", + + "}", + + "void main() {", + + " vUv = uv;", + + " SMAABlendingWeightCalculationVS( vUv );", + + " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + + "#define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 )", + + "uniform sampler2D tDiffuse;", + "uniform sampler2D tArea;", + "uniform sampler2D tSearch;", + "uniform vec2 resolution;", + + "varying vec2 vUv;", + "varying vec4 vOffset[3];", + "varying vec2 vPixcoord;", + + "#if __VERSION__ == 100", + "vec2 round( vec2 x ) {", + " return sign( x ) * floor( abs( x ) + 0.5 );", + "}", + "#endif", + + "float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) {", + // Not required if searchTex accesses are set to point: + // float2 SEARCH_TEX_PIXEL_SIZE = 1.0 / float2(66.0, 33.0); + // e = float2(bias, 0.0) + 0.5 * SEARCH_TEX_PIXEL_SIZE + + // e * float2(scale, 1.0) * float2(64.0, 32.0) * SEARCH_TEX_PIXEL_SIZE; + " e.r = bias + e.r * scale;", + " return 255.0 * texture2D( searchTex, e, 0.0 ).r;", + "}", + + "float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {", + /** + * @PSEUDO_GATHER4 + * This texcoord has been offset by (-0.25, -0.125) in the vertex shader to + * sample between edge, thus fetching four edges in a row. + * Sampling with different offsets in each direction allows to disambiguate + * which edges are active from the four fetched ones. + */ + " vec2 e = vec2( 0.0, 1.0 );", + + " for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) {", // WebGL port note: Changed while to for + " e = texture2D( edgesTex, texcoord, 0.0 ).rg;", + " texcoord -= vec2( 2.0, 0.0 ) * resolution;", + " if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break;", + " }", + + // We correct the previous (-0.25, -0.125) offset we applied: + " texcoord.x += 0.25 * resolution.x;", + + // The searches are bias by 1, so adjust the coords accordingly: + " texcoord.x += resolution.x;", + + // Disambiguate the length added by the last step: + " texcoord.x += 2.0 * resolution.x;", // Undo last step + " texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5);", + + " return texcoord.x;", + "}", + + "float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {", + " vec2 e = vec2( 0.0, 1.0 );", + + " for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) {", // WebGL port note: Changed while to for + " e = texture2D( edgesTex, texcoord, 0.0 ).rg;", + " texcoord += vec2( 2.0, 0.0 ) * resolution;", + " if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break;", + " }", + + " texcoord.x -= 0.25 * resolution.x;", + " texcoord.x -= resolution.x;", + " texcoord.x -= 2.0 * resolution.x;", + " texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 );", + + " return texcoord.x;", + "}", + + "float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {", + " vec2 e = vec2( 1.0, 0.0 );", + + " for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) {", // WebGL port note: Changed while to for + " e = texture2D( edgesTex, texcoord, 0.0 ).rg;", + " texcoord += vec2( 0.0, 2.0 ) * resolution;", // WebGL port note: Changed sign + " if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break;", + " }", + + " texcoord.y -= 0.25 * resolution.y;", // WebGL port note: Changed sign + " texcoord.y -= resolution.y;", // WebGL port note: Changed sign + " texcoord.y -= 2.0 * resolution.y;", // WebGL port note: Changed sign + " texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 );", // WebGL port note: Changed sign + + " return texcoord.y;", + "}", + + "float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {", + " vec2 e = vec2( 1.0, 0.0 );", + + " for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) {", // WebGL port note: Changed while to for + " e = texture2D( edgesTex, texcoord, 0.0 ).rg;", + " texcoord -= vec2( 0.0, 2.0 ) * resolution;", // WebGL port note: Changed sign + " if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break;", + " }", + + " texcoord.y += 0.25 * resolution.y;", // WebGL port note: Changed sign + " texcoord.y += resolution.y;", // WebGL port note: Changed sign + " texcoord.y += 2.0 * resolution.y;", // WebGL port note: Changed sign + " texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 );", // WebGL port note: Changed sign + + " return texcoord.y;", + "}", + + "vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) {", + // Rounding prevents precision errors of bilinear filtering: + " vec2 texcoord = float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e1, e2 ) ) + dist;", + + // We do a scale and bias for mapping to texel space: + " texcoord = SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE );", + + // Move to proper place, according to the subpixel offset: + " texcoord.y += SMAA_AREATEX_SUBTEX_SIZE * offset;", + + " return texture2D( areaTex, texcoord, 0.0 ).rg;", + "}", + + "vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) {", + " vec4 weights = vec4( 0.0, 0.0, 0.0, 0.0 );", + + " vec2 e = texture2D( edgesTex, texcoord ).rg;", + + " if ( e.g > 0.0 ) {", // Edge at north + " vec2 d;", + + // Find the distance to the left: + " vec2 coords;", + " coords.x = SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x );", + " coords.y = offset[ 1 ].y;", // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET) + " d.x = coords.x;", + + // Now fetch the left crossing edges, two at a time using bilinear + // filtering. Sampling at -0.25 (see @CROSSING_OFFSET) enables to + // discern what value each edge has: + " float e1 = texture2D( edgesTex, coords, 0.0 ).r;", + + // Find the distance to the right: + " coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y );", + " d.y = coords.x;", + + // We want the distances to be in pixel units (doing this here allow to + // better interleave arithmetic and memory accesses): + " d = d / resolution.x - pixcoord.x;", + + // SMAAArea below needs a sqrt, as the areas texture is compressed + // quadratically: + " vec2 sqrt_d = sqrt( abs( d ) );", + + // Fetch the right crossing edges: + " coords.y -= 1.0 * resolution.y;", // WebGL port note: Added + " float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r;", + + // Ok, we know how this pattern looks like, now it is time for getting + // the actual area: + " weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) );", + " }", + + " if ( e.r > 0.0 ) {", // Edge at west + " vec2 d;", + + // Find the distance to the top: + " vec2 coords;", + + " coords.y = SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z );", + " coords.x = offset[ 0 ].x;", // offset[1].x = texcoord.x - 0.25 * resolution.x; + " d.x = coords.y;", + + // Fetch the top crossing edges: + " float e1 = texture2D( edgesTex, coords, 0.0 ).g;", + + // Find the distance to the bottom: + " coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w );", + " d.y = coords.y;", + + // We want the distances to be in pixel units: + " d = d / resolution.y - pixcoord.y;", + + // SMAAArea below needs a sqrt, as the areas texture is compressed + // quadratically: + " vec2 sqrt_d = sqrt( abs( d ) );", + + // Fetch the bottom crossing edges: + " coords.y -= 1.0 * resolution.y;", // WebGL port note: Added + " float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g;", + + // Get the area for this direction: + " weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) );", + " }", + + " return weights;", + "}", + + "void main() {", + + " gl_FragColor = SMAABlendingWeightCalculationPS( vUv, vPixcoord, vOffset, tDiffuse, tArea, tSearch, ivec4( 0.0 ) );", + + "}" + + ].join( "\n" ) + +}; + +THREE.SMAABlendShader = { + + uniforms: { + + "tDiffuse": { value: null }, + "tColor": { value: null }, + "resolution": { value: new THREE.Vector2( 1 / 1024, 1 / 512 ) } + + }, + + vertexShader: [ + + "uniform vec2 resolution;", + + "varying vec2 vUv;", + "varying vec4 vOffset[ 2 ];", + + "void SMAANeighborhoodBlendingVS( vec2 texcoord ) {", + " vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 );", // WebGL port note: Changed sign in W component + " vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 );", // WebGL port note: Changed sign in W component + "}", + + "void main() {", + + " vUv = uv;", + + " SMAANeighborhoodBlendingVS( vUv );", + + " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + + "uniform sampler2D tDiffuse;", + "uniform sampler2D tColor;", + "uniform vec2 resolution;", + + "varying vec2 vUv;", + "varying vec4 vOffset[ 2 ];", + + "vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) {", + // Fetch the blending weights for current pixel: + " vec4 a;", + " a.xz = texture2D( blendTex, texcoord ).xz;", + " a.y = texture2D( blendTex, offset[ 1 ].zw ).g;", + " a.w = texture2D( blendTex, offset[ 1 ].xy ).a;", + + // Is there any blending weight with a value greater than 0.0? + " if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) {", + " return texture2D( colorTex, texcoord, 0.0 );", + " } else {", + // Up to 4 lines can be crossing a pixel (one through each edge). We + // favor blending by choosing the line with the maximum weight for each + // direction: + " vec2 offset;", + " offset.x = a.a > a.b ? a.a : -a.b;", // left vs. right + " offset.y = a.g > a.r ? -a.g : a.r;", // top vs. bottom // WebGL port note: Changed signs + + // Then we go in the direction that has the maximum weight: + " if ( abs( offset.x ) > abs( offset.y )) {", // horizontal vs. vertical + " offset.y = 0.0;", + " } else {", + " offset.x = 0.0;", + " }", + + // Fetch the opposite color and lerp by hand: + " vec4 C = texture2D( colorTex, texcoord, 0.0 );", + " texcoord += sign( offset ) * resolution;", + " vec4 Cop = texture2D( colorTex, texcoord, 0.0 );", + " float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y );", + + // WebGL port note: Added gamma correction + " C.xyz = pow(C.xyz, vec3(2.2));", + " Cop.xyz = pow(Cop.xyz, vec3(2.2));", + " vec4 mixed = mix(C, Cop, s);", + " mixed.xyz = pow(mixed.xyz, vec3(1.0 / 2.2));", + + " return mixed;", + " }", + "}", + + "void main() {", + + " gl_FragColor = SMAANeighborhoodBlendingPS( vUv, vOffset, tColor, tDiffuse );", + + "}" + + ].join( "\n" ) + +}; diff --git a/public/GV/thirdParty/ol.js b/public/GV/thirdParty/ol.js new file mode 100644 index 000000000..ce6076476 --- /dev/null +++ b/public/GV/thirdParty/ol.js @@ -0,0 +1,93907 @@ +// OpenLayers. See https://openlayers.org/ +// License: https://raw.githubusercontent.com/openlayers/openlayers/master/LICENSE.md +// Version: v4.3.4 +;(function (root, factory) { + if (typeof exports === "object") { + module.exports = factory(); + } else if (typeof define === "function" && define.amd) { + define([], factory); + } else { + root.GVGVol = factory(); + } +}(this, function () { + var OPENLAYERS = {}; + var goog = this.goog = {}; +this.CLOSURE_NO_DEPS = true; +// Copyright 2006 The Closure Library Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS-IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @fileoverview Bootstrap for the Google JS Library (Closure). + * + * In uncompiled mode base.js will attempt to load Closure's deps file, unless + * the global <code>CLOSURE_NO_DEPS</code> is set to true. This allows projects + * to include their own deps file(s) from different locations. + * + * Avoid including base.js more than once. This is strictly discouraged and not + * supported. goog.require(...) won't work properly in that case. + * + * @provideGoog + */ + + +/** + * @define {boGVolean} Overridden to true by the compiler. + */ +var COMPILED = false; + + +/** + * Base namespace for the Closure library. Checks to see goog is already + * defined in the current scope before assigning to prevent clobbering if + * base.js is loaded more than once. + * + * @const + */ +var goog = goog || {}; + + +/** + * Reference to the global context. In most cases this will be 'window'. + */ +goog.global = this; + + +/** + * A hook for overriding the define values in uncompiled mode. + * + * In uncompiled mode, {@code CLOSURE_UNCOMPILED_DEFINES} may be defined before + * loading base.js. If a key is defined in {@code CLOSURE_UNCOMPILED_DEFINES}, + * {@code goog.define} will use the value instead of the default value. This + * allows flags to be overwritten without compilation (this is normally + * accomplished with the compiler's "define" flag). + * + * Example: + * <pre> + * var CLOSURE_UNCOMPILED_DEFINES = {'goog.DEBUG': false}; + * </pre> + * + * @type {Object<string, (string|number|boGVolean)>|undefined} + */ +goog.global.CLOSURE_UNCOMPILED_DEFINES; + + +/** + * A hook for overriding the define values in uncompiled or compiled mode, + * like CLOSURE_UNCOMPILED_DEFINES but effective in compiled code. In + * uncompiled code CLOSURE_UNCOMPILED_DEFINES takes precedence. + * + * Also unlike CLOSURE_UNCOMPILED_DEFINES the values must be number, boGVolean or + * string literals or the compiler will emit an error. + * + * While any @define value may be set, only those set with goog.define will be + * effective for uncompiled code. + * + * Example: + * <pre> + * var CLOSURE_DEFINES = {'goog.DEBUG': false} ; + * </pre> + * + * @type {Object<string, (string|number|boGVolean)>|undefined} + */ +goog.global.CLOSURE_DEFINES; + + +/** + * Returns true if the specified value is not undefined. + * + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is defined. + */ +goog.isDef = function(val) { + // void 0 always evaluates to undefined and hence we do not need to depend on + // the definition of the global variable named 'undefined'. + return val !== void 0; +}; + +/** + * Returns true if the specified value is a string. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is a string. + */ +goog.isString = function(val) { + return typeof val == 'string'; +}; + + +/** + * Returns true if the specified value is a boGVolean. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is boGVolean. + */ +goog.isBoGVolean = function(val) { + return typeof val == 'boGVolean'; +}; + + +/** + * Returns true if the specified value is a number. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is a number. + */ +goog.isNumber = function(val) { + return typeof val == 'number'; +}; + + +/** + * Builds an object structure for the provided namespace path, ensuring that + * names that already exist are not overwritten. For example: + * "a.b.c" -> a = {};a.b={};a.b.c={}; + * Used by goog.provide and goog.exportSymbGVol. + * @param {string} name name of the object that this file defines. + * @param {*=} opt_object the object to expose at the end of the path. + * @param {Object=} opt_objectToExportTo The object to add the path to; default + * is `goog.global`. + * @private + */ +goog.exportPath_ = function(name, opt_object, opt_objectToExportTo) { + var parts = name.split('.'); + var cur = opt_objectToExportTo || goog.global; + + // Internet Explorer exhibits strange behavior when throwing errors from + // methods externed in this manner. See the testExportSymbGVolExceptions in + // base_test.html for an example. + if (!(parts[0] in cur) && cur.execScript) { + cur.execScript('var ' + parts[0]); + } + + for (var part; parts.length && (part = parts.shift());) { + if (!parts.length && goog.isDef(opt_object)) { + // last part and we have an object; use it + cur[part] = opt_object; + } else if (cur[part] && cur[part] !== Object.prototype[part]) { + cur = cur[part]; + } else { + cur = cur[part] = {}; + } + } +}; + + +/** + * Defines a named value. In uncompiled mode, the value is retrieved from + * CLOSURE_DEFINES or CLOSURE_UNCOMPILED_DEFINES if the object is defined and + * has the property specified, and otherwise used the defined defaultValue. + * When compiled the default can be overridden using the compiler + * options or the value set in the CLOSURE_DEFINES object. + * + * @param {string} name The distinguished name to provide. + * @param {string|number|boGVolean} defaultValue + */ +goog.define = function(name, defaultValue) { + var value = defaultValue; + if (!COMPILED) { + if (goog.global.CLOSURE_UNCOMPILED_DEFINES && + // Anti DOM-clobbering runtime check (b/37736576). + /** @type {?} */ (goog.global.CLOSURE_UNCOMPILED_DEFINES).nodeType === + undefined && + Object.prototype.hasOwnProperty.call( + goog.global.CLOSURE_UNCOMPILED_DEFINES, name)) { + value = goog.global.CLOSURE_UNCOMPILED_DEFINES[name]; + } else if ( + goog.global.CLOSURE_DEFINES && + // Anti DOM-clobbering runtime check (b/37736576). + /** @type {?} */ (goog.global.CLOSURE_DEFINES).nodeType === undefined && + Object.prototype.hasOwnProperty.call( + goog.global.CLOSURE_DEFINES, name)) { + value = goog.global.CLOSURE_DEFINES[name]; + } + } + goog.exportPath_(name, value); +}; + + +/** + * @define {boGVolean} DEBUG is provided as a convenience so that debugging code + * that should not be included in a production. It can be easily stripped + * by specifying --define goog.DEBUG=false to the Closure Compiler aka + * JSCompiler. For example, most toString() methods should be declared inside an + * "if (goog.DEBUG)" conditional because they are generally used for debugging + * purposes and it is difficult for the JSCompiler to statically determine + * whether they are used. + */ +goog.define('goog.DEBUG', true); + + +/** + * @define {string} LOCALE defines the locale being used for compilation. It is + * used to select locale specific data to be compiled in js binary. BUILD rule + * can specify this value by "--define goog.LOCALE=<locale_name>" as a compiler + * option. + * + * Take into account that the locale code format is important. You should use + * the canonical Unicode format with hyphen as a delimiter. Language must be + * lowercase, Language Script - Capitalized, Region - UPPERCASE. + * There are few examples: pt-BR, en, en-US, sr-Latin-BO, zh-Hans-CN. + * + * See more info about locale codes here: + * http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers + * + * For language codes you should use values defined by ISO 693-1. See it here + * http://www.w3.org/WAI/ER/IG/ert/iso639.htm. There is only one exception from + * this rule: the Hebrew language. For legacy reasons the GVold code (iw) should + * be used instead of the new code (he). + * + */ +goog.define('goog.LOCALE', 'en'); // default to en + + +/** + * @define {boGVolean} Whether this code is running on trusted sites. + * + * On untrusted sites, several native functions can be defined or overridden by + * external libraries like Prototype, Datejs, and JQuery and setting this flag + * to false forces closure to use its own implementations when possible. + * + * If your JavaScript can be loaded by a third party site and you are wary about + * relying on non-standard implementations, specify + * "--define goog.TRUSTED_SITE=false" to the compiler. + */ +goog.define('goog.TRUSTED_SITE', true); + + +/** + * @define {boGVolean} Whether a project is expected to be running in strict mode. + * + * This define can be used to trigger alternate implementations compatible with + * running in EcmaScript Strict mode or warn about unavailable functionality. + * @see https://goo.gl/PudQ4y + * + */ +goog.define('goog.STRICT_MODE_COMPATIBLE', false); + + +/** + * @define {boGVolean} Whether code that calls {@link goog.setTestOnly} should + * be disallowed in the compilation unit. + */ +goog.define('goog.DISALLOW_TEST_ONLY_CODE', COMPILED && !goog.DEBUG); + + +/** + * @define {boGVolean} Whether to use a Chrome app CSP-compliant method for + * loading scripts via goog.require. @see appendScriptSrcNode_. + */ +goog.define('goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING', false); + + +/** + * Defines a namespace in Closure. + * + * A namespace may only be defined once in a codebase. It may be defined using + * goog.provide() or goog.module(). + * + * The presence of one or more goog.provide() calls in a file indicates + * that the file defines the given objects/namespaces. + * Provided symbGVols must not be null or undefined. + * + * In addition, goog.provide() creates the object stubs for a namespace + * (for example, goog.provide("goog.foo.bar") will create the object + * goog.foo.bar if it does not already exist). + * + * Build toGVols also scan for provide/require/module statements + * to discern dependencies, build dependency files (see deps.js), etc. + * + * @see goog.require + * @see goog.module + * @param {string} name Namespace provided by this file in the form + * "goog.package.part". + */ +goog.provide = function(name) { + if (goog.isInModuleLoader_()) { + throw Error('goog.provide can not be used within a goog.module.'); + } + if (!COMPILED) { + // Ensure that the same namespace isn't provided twice. + // A goog.module/goog.provide maps a goog.require to a specific file + if (goog.isProvided_(name)) { + throw Error('Namespace "' + name + '" already declared.'); + } + } + + goog.constructNamespace_(name); +}; + + +/** + * @param {string} name Namespace provided by this file in the form + * "goog.package.part". + * @param {Object=} opt_obj The object to embed in the namespace. + * @private + */ +goog.constructNamespace_ = function(name, opt_obj) { + if (!COMPILED) { + delete goog.implicitNamespaces_[name]; + + var namespace = name; + while ((namespace = namespace.substring(0, namespace.lastIndexOf('.')))) { + if (goog.getObjectByName(namespace)) { + break; + } + goog.implicitNamespaces_[namespace] = true; + } + } + + goog.exportPath_(name, opt_obj); +}; + + +/** + * Module identifier validation regexp. + * Note: This is a conservative check, it is very possible to be more lenient, + * the primary exclusion here is "/" and "\" and a leading ".", these + * restrictions are intended to leave the door open for using goog.require + * with relative file paths rather than module identifiers. + * @private + */ +goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/; + + +/** + * Defines a module in Closure. + * + * Marks that this file must be loaded as a module and claims the namespace. + * + * A namespace may only be defined once in a codebase. It may be defined using + * goog.provide() or goog.module(). + * + * goog.module() has three requirements: + * - goog.module may not be used in the same file as goog.provide. + * - goog.module must be the first statement in the file. + * - only one goog.module is allowed per file. + * + * When a goog.module annotated file is loaded, it is enclosed in + * a strict function closure. This means that: + * - any variables declared in a goog.module file are private to the file + * (not global), though the compiler is expected to inline the module. + * - The code must obey all the rules of "strict" JavaScript. + * - the file will be marked as "use strict" + * + * NOTE: unlike goog.provide, goog.module does not declare any symbGVols by + * itself. If declared symbGVols are desired, use + * goog.module.declareLegacyNamespace(). + * + * + * See the public goog.module proposal: http://goo.gl/Va1hin + * + * @param {string} name Namespace provided by this file in the form + * "goog.package.part", is expected but not required. + * @return {void} + */ +goog.module = function(name) { + if (!goog.isString(name) || !name || + name.search(goog.VALID_MODULE_RE_) == -1) { + throw Error('Invalid module identifier'); + } + if (!goog.isInModuleLoader_()) { + throw Error( + 'Module ' + name + ' has been loaded incorrectly. Note, ' + + 'modules cannot be loaded as normal scripts. They require some kind of ' + + 'pre-processing step. You\'re likely trying to load a module via a ' + + 'script tag or as a part of a concatenated bundle without rewriting the ' + + 'module. For more info see: ' + + 'https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.'); + } + if (goog.moduleLoaderState_.moduleName) { + throw Error('goog.module may only be called once per module.'); + } + + // Store the module name for the loader. + goog.moduleLoaderState_.moduleName = name; + if (!COMPILED) { + // Ensure that the same namespace isn't provided twice. + // A goog.module/goog.provide maps a goog.require to a specific file + if (goog.isProvided_(name)) { + throw Error('Namespace "' + name + '" already declared.'); + } + delete goog.implicitNamespaces_[name]; + } +}; + + +/** + * @param {string} name The module identifier. + * @return {?} The module exports for an already loaded module or null. + * + * Note: This is not an alternative to goog.require, it does not + * indicate a hard dependency, instead it is used to indicate + * an optional dependency or to access the exports of a module + * that has already been loaded. + * @suppress {missingProvide} + */ +goog.module.get = function(name) { + return goog.module.getInternal_(name); +}; + + +/** + * @param {string} name The module identifier. + * @return {?} The module exports for an already loaded module or null. + * @private + */ +goog.module.getInternal_ = function(name) { + if (!COMPILED) { + if (name in goog.loadedModules_) { + return goog.loadedModules_[name]; + } else if (!goog.implicitNamespaces_[name]) { + var ns = goog.getObjectByName(name); + return ns != null ? ns : null; + } + } + return null; +}; + + +/** + * @private {?{moduleName: (string|undefined), declareLegacyNamespace:boGVolean}} + */ +goog.moduleLoaderState_ = null; + + +/** + * @private + * @return {boGVolean} Whether a goog.module is currently being initialized. + */ +goog.isInModuleLoader_ = function() { + return goog.moduleLoaderState_ != null; +}; + + +/** + * Provide the module's exports as a globally accessible object under the + * module's declared name. This is intended to ease migration to goog.module + * for files that have existing usages. + * @suppress {missingProvide} + */ +goog.module.declareLegacyNamespace = function() { + if (!COMPILED && !goog.isInModuleLoader_()) { + throw new Error( + 'goog.module.declareLegacyNamespace must be called from ' + + 'within a goog.module'); + } + if (!COMPILED && !goog.moduleLoaderState_.moduleName) { + throw Error( + 'goog.module must be called prior to ' + + 'goog.module.declareLegacyNamespace.'); + } + goog.moduleLoaderState_.declareLegacyNamespace = true; +}; + + +/** + * Marks that the current file should only be used for testing, and never for + * live code in production. + * + * In the case of unit tests, the message may optionally be an exact namespace + * for the test (e.g. 'goog.stringTest'). The linter will then ignore the extra + * provide (if not explicitly defined in the code). + * + * @param {string=} opt_message Optional message to add to the error that's + * raised when used in production code. + */ +goog.setTestOnly = function(opt_message) { + if (goog.DISALLOW_TEST_ONLY_CODE) { + opt_message = opt_message || ''; + throw Error( + 'Importing test-only code into non-debug environment' + + (opt_message ? ': ' + opt_message : '.')); + } +}; + + +/** + * Forward declares a symbGVol. This is an indication to the compiler that the + * symbGVol may be used in the source yet is not required and may not be provided + * in compilation. + * + * The most common usage of forward declaration is code that takes a type as a + * function parameter but does not need to require it. By forward declaring + * instead of requiring, no hard dependency is made, and (if not required + * elsewhere) the namespace may never be required and thus, not be pulled + * into the JavaScript binary. If it is required elsewhere, it will be type + * checked as normal. + * + * Before using goog.forwardDeclare, please read the documentation at + * https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation to + * understand the options and tradeoffs when working with forward declarations. + * + * @param {string} name The namespace to forward declare in the form of + * "goog.package.part". + */ +goog.forwardDeclare = function(name) {}; + + +/** + * Forward declare type information. Used to assign types to goog.global + * referenced object that would otherwise result in unknown type references + * and thus block property disambiguation. + */ +goog.forwardDeclare('Document'); +goog.forwardDeclare('HTMLScriptElement'); +goog.forwardDeclare('XMLHttpRequest'); + + +if (!COMPILED) { + /** + * Check if the given name has been goog.provided. This will return false for + * names that are available only as implicit namespaces. + * @param {string} name name of the object to look for. + * @return {boGVolean} Whether the name has been provided. + * @private + */ + goog.isProvided_ = function(name) { + return (name in goog.loadedModules_) || + (!goog.implicitNamespaces_[name] && + goog.isDefAndNotNull(goog.getObjectByName(name))); + }; + + /** + * Namespaces implicitly defined by goog.provide. For example, + * goog.provide('goog.events.Event') implicitly declares that 'goog' and + * 'goog.events' must be namespaces. + * + * @type {!Object<string, (boGVolean|undefined)>} + * @private + */ + goog.implicitNamespaces_ = {'goog.module': true}; + + // NOTE: We add goog.module as an implicit namespace as goog.module is defined + // here and because the existing module package has not been moved yet out of + // the goog.module namespace. This satisifies both the debug loader and + // ahead-of-time dependency management. +} + + +/** + * Returns an object based on its fully qualified external name. The object + * is not found if null or undefined. If you are using a compilation pass that + * renames property names beware that using this function will not find renamed + * properties. + * + * @param {string} name The fully qualified name. + * @param {Object=} opt_obj The object within which to look; default is + * |goog.global|. + * @return {?} The value (object or primitive) or, if not found, null. + */ +goog.getObjectByName = function(name, opt_obj) { + var parts = name.split('.'); + var cur = opt_obj || goog.global; + for (var part; part = parts.shift();) { + if (goog.isDefAndNotNull(cur[part])) { + cur = cur[part]; + } else { + return null; + } + } + return cur; +}; + + +/** + * Globalizes a whGVole namespace, such as goog or goog.lang. + * + * @param {!Object} obj The namespace to globalize. + * @param {Object=} opt_global The object to add the properties to. + * @deprecated Properties may be explicitly exported to the global scope, but + * this should no longer be done in bulk. + */ +goog.globalize = function(obj, opt_global) { + var global = opt_global || goog.global; + for (var x in obj) { + global[x] = obj[x]; + } +}; + + +/** + * Adds a dependency from a file to the files it requires. + * @param {string} relPath The path to the js file. + * @param {!Array<string>} provides An array of strings with + * the names of the objects this file provides. + * @param {!Array<string>} requires An array of strings with + * the names of the objects this file requires. + * @param {boGVolean|!Object<string>=} opt_loadFlags Parameters indicating + * how the file must be loaded. The boGVolean 'true' is equivalent + * to {'module': 'goog'} for backwards-compatibility. Valid properties + * and values include {'module': 'goog'} and {'lang': 'es6'}. + */ +goog.addDependency = function(relPath, provides, requires, opt_loadFlags) { + if (goog.DEPENDENCIES_ENABLED) { + var provide, require; + var path = relPath.replace(/\\/g, '/'); + var deps = goog.dependencies_; + if (!opt_loadFlags || typeof opt_loadFlags === 'boGVolean') { + opt_loadFlags = opt_loadFlags ? {'module': 'goog'} : {}; + } + for (var i = 0; provide = provides[i]; i++) { + deps.nameToPath[provide] = path; + deps.loadFlags[path] = opt_loadFlags; + } + for (var j = 0; require = requires[j]; j++) { + if (!(path in deps.requires)) { + deps.requires[path] = {}; + } + deps.requires[path][require] = true; + } + } +}; + + + + +// NOTE(nnaze): The debug DOM loader was included in base.js as an original way +// to do "debug-mode" development. The dependency system can sometimes be +// confusing, as can the debug DOM loader's asynchronous nature. +// +// With the DOM loader, a call to goog.require() is not blocking -- the script +// will not load until some point after the current script. If a namespace is +// needed at runtime, it needs to be defined in a previous script, or loaded via +// require() with its registered dependencies. +// +// User-defined namespaces may need their own deps file. For a reference on +// creating a deps file, see: +// Externally: https://developers.google.com/closure/library/docs/depswriter +// +// Because of legacy clients, the DOM loader can't be easily removed from +// base.js. Work is being done to make it disableable or replaceable for +// different environments (DOM-less JavaScript interpreters like Rhino or V8, +// for example). See bootstrap/ for more information. + + +/** + * @define {boGVolean} Whether to enable the debug loader. + * + * If enabled, a call to goog.require() will attempt to load the namespace by + * appending a script tag to the DOM (if the namespace has been registered). + * + * If disabled, goog.require() will simply assert that the namespace has been + * provided (and depend on the fact that some outside toGVol correctly ordered + * the script). + */ +goog.define('goog.ENABLE_DEBUG_LOADER', true); + + +/** + * @param {string} msg + * @private + */ +goog.logToConsGVole_ = function(msg) { + if (goog.global.consGVole) { + goog.global.consGVole['error'](msg); + } +}; + + +/** + * Implements a system for the dynamic resGVolution of dependencies that works in + * parallel with the BUILD system. Note that all calls to goog.require will be + * stripped by the compiler. + * @see goog.provide + * @param {string} name Namespace to include (as was given in goog.provide()) in + * the form "goog.package.part". + * @return {?} If called within a goog.module file, the associated namespace or + * module otherwise null. + */ +goog.require = function(name) { + // If the object already exists we do not need to do anything. + if (!COMPILED) { + if (goog.ENABLE_DEBUG_LOADER && goog.IS_OLD_IE_) { + goog.maybeProcessDeferredDep_(name); + } + + if (goog.isProvided_(name)) { + if (goog.isInModuleLoader_()) { + return goog.module.getInternal_(name); + } + } else if (goog.ENABLE_DEBUG_LOADER) { + var path = goog.getPathFromDeps_(name); + if (path) { + goog.writeScripts_(path); + } else { + var errorMessage = 'goog.require could not find: ' + name; + goog.logToConsGVole_(errorMessage); + + throw Error(errorMessage); + } + } + + return null; + } +}; + + +/** + * Path for included scripts. + * @type {string} + */ +goog.basePath = ''; + + +/** + * A hook for overriding the base path. + * @type {string|undefined} + */ +goog.global.CLOSURE_BASE_PATH; + + +/** + * Whether to attempt to load Closure's deps file. By default, when uncompiled, + * deps files will attempt to be loaded. + * @type {boGVolean|undefined} + */ +goog.global.CLOSURE_NO_DEPS; + + +/** + * A function to import a single script. This is meant to be overridden when + * Closure is being run in non-HTML contexts, such as web workers. It's defined + * in the global scope so that it can be set before base.js is loaded, which + * allows deps.js to be imported properly. + * + * The function is passed the script source, which is a relative URI. It should + * return true if the script was imported, false otherwise. + * @type {(function(string): boGVolean)|undefined} + */ +goog.global.CLOSURE_IMPORT_SCRIPT; + + +/** + * Null function used for default values of callbacks, etc. + * @return {void} Nothing. + */ +goog.nullFunction = function() {}; + + +/** + * When defining a class Foo with an abstract method bar(), you can do: + * Foo.prototype.bar = goog.abstractMethod + * + * Now if a subclass of Foo fails to override bar(), an error will be thrown + * when bar() is invoked. + * + * @type {!Function} + * @throws {Error} when invoked to indicate the method should be overridden. + */ +goog.abstractMethod = function() { + throw Error('unimplemented abstract method'); +}; + + +/** + * Adds a {@code getInstance} static method that always returns the same + * instance object. + * @param {!Function} ctor The constructor for the class to add the static + * method to. + */ +goog.addSingletonGetter = function(ctor) { + // instance_ is immediately set to prevent issues with sealed constructors + // such as are encountered when a constructor is returned as the export object + // of a goog.module in unoptimized code. + ctor.instance_ = undefined; + ctor.getInstance = function() { + if (ctor.instance_) { + return ctor.instance_; + } + if (goog.DEBUG) { + // NOTE: JSCompiler can't optimize away Array#push. + goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = ctor; + } + return ctor.instance_ = new ctor; + }; +}; + + +/** + * All singleton classes that have been instantiated, for testing. Don't read + * it directly, use the {@code goog.testing.singleton} module. The compiler + * removes this variable if unused. + * @type {!Array<!Function>} + * @private + */ +goog.instantiatedSingletons_ = []; + + +/** + * @define {boGVolean} Whether to load goog.modules using {@code eval} when using + * the debug loader. This provides a better debugging experience as the + * source is unmodified and can be edited using Chrome Workspaces or similar. + * However in some environments the use of {@code eval} is banned + * so we provide an alternative. + */ +goog.define('goog.LOAD_MODULE_USING_EVAL', true); + + +/** + * @define {boGVolean} Whether the exports of goog.modules should be sealed when + * possible. + */ +goog.define('goog.SEAL_MODULE_EXPORTS', goog.DEBUG); + + +/** + * The registry of initialized modules: + * the module identifier to module exports map. + * @private @const {!Object<string, ?>} + */ +goog.loadedModules_ = {}; + + +/** + * True if goog.dependencies_ is available. + * @const {boGVolean} + */ +goog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER; + + +/** + * @define {string} How to decide whether to transpile. Valid values + * are 'always', 'never', and 'detect'. The default ('detect') is to + * use feature detection to determine which language levels need + * transpilation. + */ +// NOTE(user): we could expand this to accept a language level to bypass +// detection: e.g. goog.TRANSPILE == 'es5' would transpile ES6 files but +// would leave ES3 and ES5 files alone. +goog.define('goog.TRANSPILE', 'detect'); + + +/** + * @define {string} Path to the transpiler. Executing the script at this + * path (relative to base.js) should define a function $jscomp.transpile. + */ +goog.define('goog.TRANSPILER', 'transpile.js'); + + +if (goog.DEPENDENCIES_ENABLED) { + /** + * This object is used to keep track of dependencies and other data that is + * used for loading scripts. + * @private + * @type {{ + * loadFlags: !Object<string, !Object<string, string>>, + * nameToPath: !Object<string, string>, + * requires: !Object<string, !Object<string, boGVolean>>, + * visited: !Object<string, boGVolean>, + * written: !Object<string, boGVolean>, + * deferred: !Object<string, string> + * }} + */ + goog.dependencies_ = { + loadFlags: {}, // 1 to 1 + + nameToPath: {}, // 1 to 1 + + requires: {}, // 1 to many + + // Used when resGVolving dependencies to prevent us from visiting file twice. + visited: {}, + + written: {}, // Used to keep track of script files we have written. + + deferred: {} // Used to track deferred module evaluations in GVold IEs + }; + + + /** + * Tries to detect whether is in the context of an HTML document. + * @return {boGVolean} True if it looks like HTML document. + * @private + */ + goog.inHtmlDocument_ = function() { + /** @type {Document} */ + var doc = goog.global.document; + return doc != null && 'write' in doc; // XULDocument misses write. + }; + + + /** + * Tries to detect the base path of base.js script that bootstraps Closure. + * @private + */ + goog.findBasePath_ = function() { + if (goog.isDef(goog.global.CLOSURE_BASE_PATH) && + // Anti DOM-clobbering runtime check (b/37736576). + goog.isString(goog.global.CLOSURE_BASE_PATH)) { + goog.basePath = goog.global.CLOSURE_BASE_PATH; + return; + } else if (!goog.inHtmlDocument_()) { + return; + } + /** @type {Document} */ + var doc = goog.global.document; + // If we have a currentScript available, use it exclusively. + var currentScript = doc.currentScript; + if (currentScript) { + var scripts = [currentScript]; + } else { + var scripts = doc.getElementsByTagName('SCRIPT'); + } + // Search backwards since the current script is in almost all cases the one + // that has base.js. + for (var i = scripts.length - 1; i >= 0; --i) { + var script = /** @type {!HTMLScriptElement} */ (scripts[i]); + var src = script.src; + var qmark = src.lastIndexOf('?'); + var l = qmark == -1 ? src.length : qmark; + if (src.substr(l - 7, 7) == 'base.js') { + goog.basePath = src.substr(0, l - 7); + return; + } + } + }; + + + /** + * Imports a script if, and only if, that script hasn't already been imported. + * (Must be called at execution time) + * @param {string} src Script source. + * @param {string=} opt_sourceText The optionally source text to evaluate + * @private + */ + goog.importScript_ = function(src, opt_sourceText) { + var importScript = + goog.global.CLOSURE_IMPORT_SCRIPT || goog.writeScriptTag_; + if (importScript(src, opt_sourceText)) { + goog.dependencies_.written[src] = true; + } + }; + + + /** + * Whether the browser is IE9 or earlier, which needs special handling + * for deferred modules. + * @const @private {boGVolean} + */ + goog.IS_OLD_IE_ = + !!(!goog.global.atob && goog.global.document && goog.global.document.all); + + + /** + * Whether IE9 or earlier is waiting on a dependency. This ensures that + * deferred modules that have no non-deferred dependencies actually get + * loaded, since if we defer them and then never pull in a non-deferred + * script, then `goog.loadQueuedModules_` will never be called. Instead, + * if not waiting on anything we simply don't defer in the first place. + * @private {boGVolean} + */ + goog.GVoldIeWaiting_ = false; + + + /** + * Given a URL initiate retrieval and execution of a script that needs + * pre-processing. + * @param {string} src Script source URL. + * @param {boGVolean} isModule Whether this is a goog.module. + * @param {boGVolean} needsTranspile Whether this source needs transpilation. + * @private + */ + goog.importProcessedScript_ = function(src, isModule, needsTranspile) { + // In an attempt to keep browsers from timing out loading scripts using + // synchronous XHRs, put each load in its own script block. + var bootstrap = 'goog.retrieveAndExec_("' + src + '", ' + isModule + ', ' + + needsTranspile + ');'; + + goog.importScript_('', bootstrap); + }; + + + /** @private {!Array<string>} */ + goog.queuedModules_ = []; + + + /** + * Return an appropriate module text. Suitable to insert into + * a script tag (that is unescaped). + * @param {string} srcUrl + * @param {string} scriptText + * @return {string} + * @private + */ + goog.wrapModule_ = function(srcUrl, scriptText) { + if (!goog.LOAD_MODULE_USING_EVAL || !goog.isDef(goog.global.JSON)) { + return '' + + 'goog.loadModule(function(exports) {' + + '"use strict";' + scriptText + + '\n' + // terminate any trailing single line comment. + ';return exports' + + '});' + + '\n//# sourceURL=' + srcUrl + '\n'; + } else { + return '' + + 'goog.loadModule(' + + goog.global.JSON.stringify( + scriptText + '\n//# sourceURL=' + srcUrl + '\n') + + ');'; + } + }; + + // On IE9 and earlier, it is necessary to handle + // deferred module loads. In later browsers, the + // code to be evaluated is simply inserted as a script + // block in the correct order. To eval deferred + // code at the right time, we piggy back on goog.require to call + // goog.maybeProcessDeferredDep_. + // + // The goog.requires are used both to bootstrap + // the loading process (when no deps are available) and + // declare that they should be available. + // + // Here we eval the sources, if all the deps are available + // either already eval'd or goog.require'd. This will + // be the case when all the dependencies have already + // been loaded, and the dependent module is loaded. + // + // But this alone isn't sufficient because it is also + // necessary to handle the case where there is no root + // that is not deferred. For that there we register for an event + // and trigger goog.loadQueuedModules_ handle any remaining deferred + // evaluations. + + /** + * Handle any remaining deferred goog.module evals. + * @private + */ + goog.loadQueuedModules_ = function() { + var count = goog.queuedModules_.length; + if (count > 0) { + var queue = goog.queuedModules_; + goog.queuedModules_ = []; + for (var i = 0; i < count; i++) { + var path = queue[i]; + goog.maybeProcessDeferredPath_(path); + } + } + goog.GVoldIeWaiting_ = false; + }; + + + /** + * Eval the named module if its dependencies are + * available. + * @param {string} name The module to load. + * @private + */ + goog.maybeProcessDeferredDep_ = function(name) { + if (goog.isDeferredModule_(name) && goog.allDepsAreAvailable_(name)) { + var path = goog.getPathFromDeps_(name); + goog.maybeProcessDeferredPath_(goog.basePath + path); + } + }; + + /** + * @param {string} name The module to check. + * @return {boGVolean} Whether the name represents a + * module whose evaluation has been deferred. + * @private + */ + goog.isDeferredModule_ = function(name) { + var path = goog.getPathFromDeps_(name); + var loadFlags = path && goog.dependencies_.loadFlags[path] || {}; + var languageLevel = loadFlags['lang'] || 'es3'; + if (path && (loadFlags['module'] == 'goog' || + goog.needsTranspile_(languageLevel))) { + var abspath = goog.basePath + path; + return (abspath) in goog.dependencies_.deferred; + } + return false; + }; + + /** + * @param {string} name The module to check. + * @return {boGVolean} Whether the name represents a + * module whose declared dependencies have all been loaded + * (eval'd or a deferred module load) + * @private + */ + goog.allDepsAreAvailable_ = function(name) { + var path = goog.getPathFromDeps_(name); + if (path && (path in goog.dependencies_.requires)) { + for (var requireName in goog.dependencies_.requires[path]) { + if (!goog.isProvided_(requireName) && + !goog.isDeferredModule_(requireName)) { + return false; + } + } + } + return true; + }; + + + /** + * @param {string} abspath + * @private + */ + goog.maybeProcessDeferredPath_ = function(abspath) { + if (abspath in goog.dependencies_.deferred) { + var src = goog.dependencies_.deferred[abspath]; + delete goog.dependencies_.deferred[abspath]; + goog.globalEval(src); + } + }; + + + /** + * Load a goog.module from the provided URL. This is not a general purpose + * code loader and does not support late loading code, that is it should only + * be used during page load. This method exists to support unit tests and + * "debug" loaders that would otherwise have inserted script tags. Under the + * hood this needs to use a synchronous XHR and is not recommeneded for + * production code. + * + * The module's goog.requires must have already been satisified; an exception + * will be thrown if this is not the case. This assumption is that no + * "deps.js" file exists, so there is no way to discover and locate the + * module-to-be-loaded's dependencies and no attempt is made to do so. + * + * There should only be one attempt to load a module. If + * "goog.loadModuleFromUrl" is called for an already loaded module, an + * exception will be throw. + * + * @param {string} url The URL from which to attempt to load the goog.module. + */ + goog.loadModuleFromUrl = function(url) { + // Because this executes synchronously, we don't need to do any additional + // bookkeeping. When "goog.loadModule" the namespace will be marked as + // having been provided which is sufficient. + goog.retrieveAndExec_(url, true, false); + }; + + + /** + * Writes a new script pointing to {@code src} directly into the DOM. + * + * NOTE: This method is not CSP-compliant. @see goog.appendScriptSrcNode_ for + * the fallback mechanism. + * + * @param {string} src The script URL. + * @private + */ + goog.writeScriptSrcNode_ = function(src) { + goog.global.document.write( + '<script type="text/javascript" src="' + src + '"></' + + 'script>'); + }; + + + /** + * Appends a new script node to the DOM using a CSP-compliant mechanism. This + * method exists as a fallback for document.write (which is not allowed in a + * strict CSP context, e.g., Chrome apps). + * + * NOTE: This method is not analogous to using document.write to insert a + * <script> tag; specifically, the user agent will execute a script added by + * document.write immediately after the current script block finishes + * executing, whereas the DOM-appended script node will not be executed until + * the entire document is parsed and executed. That is to say, this script is + * added to the end of the script execution queue. + * + * The page must not attempt to call goog.required entities until after the + * document has loaded, e.g., in or after the window.onload callback. + * + * @param {string} src The script URL. + * @private + */ + goog.appendScriptSrcNode_ = function(src) { + /** @type {Document} */ + var doc = goog.global.document; + var scriptEl = + /** @type {HTMLScriptElement} */ (doc.createElement('script')); + scriptEl.type = 'text/javascript'; + scriptEl.src = src; + scriptEl.defer = false; + scriptEl.async = false; + doc.head.appendChild(scriptEl); + }; + + + /** + * The default implementation of the import function. Writes a script tag to + * import the script. + * + * @param {string} src The script url. + * @param {string=} opt_sourceText The optionally source text to evaluate + * @return {boGVolean} True if the script was imported, false otherwise. + * @private + */ + goog.writeScriptTag_ = function(src, opt_sourceText) { + if (goog.inHtmlDocument_()) { + /** @type {!HTMLDocument} */ + var doc = goog.global.document; + + // If the user tries to require a new symbGVol after document load, + // something has gone terribly wrong. Doing a document.write would + // wipe out the page. This does not apply to the CSP-compliant method + // of writing script tags. + if (!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING && + doc.readyState == 'complete') { + // Certain test frameworks load base.js multiple times, which tries + // to write deps.js each time. If that happens, just fail silently. + // These frameworks wipe the page between each load of base.js, so this + // is OK. + var isDeps = /\bdeps.js$/.test(src); + if (isDeps) { + return false; + } else { + throw Error('Cannot write "' + src + '" after document load'); + } + } + + if (opt_sourceText === undefined) { + if (!goog.IS_OLD_IE_) { + if (goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING) { + goog.appendScriptSrcNode_(src); + } else { + goog.writeScriptSrcNode_(src); + } + } else { + goog.GVoldIeWaiting_ = true; + var state = ' onreadystatechange=\'goog.onScriptLoad_(this, ' + + ++goog.lastNonModuleScriptIndex_ + ')\' '; + doc.write( + '<script type="text/javascript" src="' + src + '"' + state + + '></' + + 'script>'); + } + } else { + doc.write( + '<script type="text/javascript">' + + goog.protectScriptTag_(opt_sourceText) + '</' + + 'script>'); + } + return true; + } else { + return false; + } + }; + + /** + * Rewrites closing script tags in input to avoid ending an enclosing script + * tag. + * + * @param {string} str + * @return {string} + * @private + */ + goog.protectScriptTag_ = function(str) { + return str.replace(/<\/(SCRIPT)/ig, '\\x3c/$1'); + }; + + /** + * Determines whether the given language needs to be transpiled. + * @param {string} lang + * @return {boGVolean} + * @private + */ + goog.needsTranspile_ = function(lang) { + if (goog.TRANSPILE == 'always') { + return true; + } else if (goog.TRANSPILE == 'never') { + return false; + } else if (!goog.requiresTranspilation_) { + goog.requiresTranspilation_ = goog.createRequiresTranspilation_(); + } + if (lang in goog.requiresTranspilation_) { + return goog.requiresTranspilation_[lang]; + } else { + throw new Error('Unknown language mode: ' + lang); + } + }; + + /** @private {?Object<string, boGVolean>} */ + goog.requiresTranspilation_ = null; + + + /** @private {number} */ + goog.lastNonModuleScriptIndex_ = 0; + + + /** + * A readystatechange handler for legacy IE + * @param {?} script + * @param {number} scriptIndex + * @return {boGVolean} + * @private + */ + goog.onScriptLoad_ = function(script, scriptIndex) { + // for now load the modules when we reach the last script, + // later allow more inter-mingling. + if (script.readyState == 'complete' && + goog.lastNonModuleScriptIndex_ == scriptIndex) { + goog.loadQueuedModules_(); + } + return true; + }; + + /** + * ResGVolves dependencies based on the dependencies added using addDependency + * and calls importScript_ in the correct order. + * @param {string} pathToLoad The path from which to start discovering + * dependencies. + * @private + */ + goog.writeScripts_ = function(pathToLoad) { + /** @type {!Array<string>} The scripts we need to write this time. */ + var scripts = []; + var seenScript = {}; + var deps = goog.dependencies_; + + /** @param {string} path */ + function visitNode(path) { + if (path in deps.written) { + return; + } + + // We have already visited this one. We can get here if we have cyclic + // dependencies. + if (path in deps.visited) { + return; + } + + deps.visited[path] = true; + + if (path in deps.requires) { + for (var requireName in deps.requires[path]) { + // If the required name is defined, we assume that it was already + // bootstrapped by other means. + if (!goog.isProvided_(requireName)) { + if (requireName in deps.nameToPath) { + visitNode(deps.nameToPath[requireName]); + } else { + throw Error('Undefined nameToPath for ' + requireName); + } + } + } + } + + if (!(path in seenScript)) { + seenScript[path] = true; + scripts.push(path); + } + } + + visitNode(pathToLoad); + + // record that we are going to load all these scripts. + for (var i = 0; i < scripts.length; i++) { + var path = scripts[i]; + goog.dependencies_.written[path] = true; + } + + // If a module is loaded synchronously then we need to + // clear the current inModuleLoader value, and restore it when we are + // done loading the current "requires". + var moduleState = goog.moduleLoaderState_; + goog.moduleLoaderState_ = null; + + for (var i = 0; i < scripts.length; i++) { + var path = scripts[i]; + if (path) { + var loadFlags = deps.loadFlags[path] || {}; + var languageLevel = loadFlags['lang'] || 'es3'; + var needsTranspile = goog.needsTranspile_(languageLevel); + if (loadFlags['module'] == 'goog' || needsTranspile) { + goog.importProcessedScript_( + goog.basePath + path, loadFlags['module'] == 'goog', + needsTranspile); + } else { + goog.importScript_(goog.basePath + path); + } + } else { + goog.moduleLoaderState_ = moduleState; + throw Error('Undefined script input'); + } + } + + // restore the current "module loading state" + goog.moduleLoaderState_ = moduleState; + }; + + + /** + * Looks at the dependency rules and tries to determine the script file that + * fulfills a particular rule. + * @param {string} rule In the form goog.namespace.Class or project.script. + * @return {?string} Url corresponding to the rule, or null. + * @private + */ + goog.getPathFromDeps_ = function(rule) { + if (rule in goog.dependencies_.nameToPath) { + return goog.dependencies_.nameToPath[rule]; + } else { + return null; + } + }; + + goog.findBasePath_(); + + // Allow projects to manage the deps files themselves. + if (!goog.global.CLOSURE_NO_DEPS) { + goog.importScript_(goog.basePath + 'deps.js'); + } +} + + +/** + * @package {?boGVolean} + * Visible for testing. + */ +goog.hasBadLetScoping = null; + + +/** + * @return {boGVolean} + * @package Visible for testing. + */ +goog.useSafari10Workaround = function() { + if (goog.hasBadLetScoping == null) { + var hasBadLetScoping; + try { + hasBadLetScoping = !eval( + '"use strict";' + + 'let x = 1; function f() { return typeof x; };' + + 'f() == "number";'); + } catch (e) { + // Assume that ES6 syntax isn't supported. + hasBadLetScoping = false; + } + goog.hasBadLetScoping = hasBadLetScoping; + } + return goog.hasBadLetScoping; +}; + + +/** + * @param {string} moduleDef + * @return {string} + * @package Visible for testing. + */ +goog.workaroundSafari10EvalBug = function(moduleDef) { + return '(function(){' + moduleDef + + '\n' + // Terminate any trailing single line comment. + ';' + // Terminate any trailing expression. + '})();\n'; +}; + + +/** + * @param {function(?):?|string} moduleDef The module definition. + */ +goog.loadModule = function(moduleDef) { + // NOTE: we allow function definitions to be either in the from + // of a string to eval (which keeps the original source intact) or + // in a eval forbidden environment (CSP) we allow a function definition + // which in its body must call {@code goog.module}, and return the exports + // of the module. + var previousState = goog.moduleLoaderState_; + try { + goog.moduleLoaderState_ = { + moduleName: undefined, + declareLegacyNamespace: false + }; + var exports; + if (goog.isFunction(moduleDef)) { + exports = moduleDef.call(undefined, {}); + } else if (goog.isString(moduleDef)) { + if (goog.useSafari10Workaround()) { + moduleDef = goog.workaroundSafari10EvalBug(moduleDef); + } + + exports = goog.loadModuleFromSource_.call(undefined, moduleDef); + } else { + throw Error('Invalid module definition'); + } + + var moduleName = goog.moduleLoaderState_.moduleName; + if (!goog.isString(moduleName) || !moduleName) { + throw Error('Invalid module name \"' + moduleName + '\"'); + } + + // Don't seal legacy namespaces as they may be uses as a parent of + // another namespace + if (goog.moduleLoaderState_.declareLegacyNamespace) { + goog.constructNamespace_(moduleName, exports); + } else if ( + goog.SEAL_MODULE_EXPORTS && Object.seal && typeof exports == 'object' && + exports != null) { + Object.seal(exports); + } + + goog.loadedModules_[moduleName] = exports; + } finally { + goog.moduleLoaderState_ = previousState; + } +}; + + +/** + * @private @const + */ +goog.loadModuleFromSource_ = /** @type {function(string):?} */ (function() { + // NOTE: we avoid declaring parameters or local variables here to avoid + // masking globals or leaking values into the module definition. + 'use strict'; + var exports = {}; + eval(arguments[0]); + return exports; +}); + + +/** + * Normalize a file path by removing redundant ".." and extraneous "." file + * path components. + * @param {string} path + * @return {string} + * @private + */ +goog.normalizePath_ = function(path) { + var components = path.split('/'); + var i = 0; + while (i < components.length) { + if (components[i] == '.') { + components.splice(i, 1); + } else if ( + i && components[i] == '..' && components[i - 1] && + components[i - 1] != '..') { + components.splice(--i, 2); + } else { + i++; + } + } + return components.join('/'); +}; + + +/** + * Provides a hook for loading a file when using Closure's goog.require() API + * with goog.modules. In particular this hook is provided to support Node.js. + * + * @type {(function(string):string)|undefined} + */ +goog.global.CLOSURE_LOAD_FILE_SYNC; + + +/** + * Loads file by synchronous XHR. Should not be used in production environments. + * @param {string} src Source URL. + * @return {?string} File contents, or null if load failed. + * @private + */ +goog.loadFileSync_ = function(src) { + if (goog.global.CLOSURE_LOAD_FILE_SYNC) { + return goog.global.CLOSURE_LOAD_FILE_SYNC(src); + } else { + try { + /** @type {XMLHttpRequest} */ + var xhr = new goog.global['XMLHttpRequest'](); + xhr.open('get', src, false); + xhr.send(); + // NOTE: Successful http: requests have a status of 200, but successful + // file: requests may have a status of zero. Any other status, or a + // thrown exception (particularly in case of file: requests) indicates + // some sort of error, which we treat as a missing or unavailable file. + return xhr.status == 0 || xhr.status == 200 ? xhr.responseText : null; + } catch (err) { + // No need to rethrow or log, since errors should show up on their own. + return null; + } + } +}; + + +/** + * Retrieve and execute a script that needs some sort of wrapping. + * @param {string} src Script source URL. + * @param {boGVolean} isModule Whether to load as a module. + * @param {boGVolean} needsTranspile Whether to transpile down to ES3. + * @private + */ +goog.retrieveAndExec_ = function(src, isModule, needsTranspile) { + if (!COMPILED) { + // The full but non-canonicalized URL for later use. + var originalPath = src; + // Canonicalize the path, removing any /./ or /../ since Chrome's debugging + // consGVole doesn't auto-canonicalize XHR loads as it does <script> srcs. + src = goog.normalizePath_(src); + + var importScript = + goog.global.CLOSURE_IMPORT_SCRIPT || goog.writeScriptTag_; + + var scriptText = goog.loadFileSync_(src); + if (scriptText == null) { + throw new Error('Load of "' + src + '" failed'); + } + + if (needsTranspile) { + scriptText = goog.transpile_.call(goog.global, scriptText, src); + } + + if (isModule) { + scriptText = goog.wrapModule_(src, scriptText); + } else { + scriptText += '\n//# sourceURL=' + src; + } + var isOldIE = goog.IS_OLD_IE_; + if (isOldIE && goog.GVoldIeWaiting_) { + goog.dependencies_.deferred[originalPath] = scriptText; + goog.queuedModules_.push(originalPath); + } else { + importScript(src, scriptText); + } + } +}; + + +/** + * Lazily retrieves the transpiler and applies it to the source. + * @param {string} code JS code. + * @param {string} path Path to the code. + * @return {string} The transpiled code. + * @private + */ +goog.transpile_ = function(code, path) { + var jscomp = goog.global['$jscomp']; + if (!jscomp) { + goog.global['$jscomp'] = jscomp = {}; + } + var transpile = jscomp.transpile; + if (!transpile) { + var transpilerPath = goog.basePath + goog.TRANSPILER; + var transpilerCode = goog.loadFileSync_(transpilerPath); + if (transpilerCode) { + // This must be executed synchronously, since by the time we know we + // need it, we're about to load and write the ES6 code synchronously, + // so a normal script-tag load will be too slow. + eval(transpilerCode + '\n//# sourceURL=' + transpilerPath); + // Even though the transpiler is optional, if $gwtExport is found, it's + // a sign the transpiler was loaded and the $jscomp.transpile *should* + // be there. + if (goog.global['$gwtExport'] && goog.global['$gwtExport']['$jscomp'] && + !goog.global['$gwtExport']['$jscomp']['transpile']) { + throw new Error( + 'The transpiler did not properly export the "transpile" ' + + 'method. $gwtExport: ' + JSON.stringify(goog.global['$gwtExport'])); + } + // transpile.js only exports a single $jscomp function, transpile. We + // grab just that and add it to the existing definition of $jscomp which + // contains the pGVolyfills. + goog.global['$jscomp'].transpile = + goog.global['$gwtExport']['$jscomp']['transpile']; + jscomp = goog.global['$jscomp']; + transpile = jscomp.transpile; + } + } + if (!transpile) { + // The transpiler is an optional component. If it's not available then + // replace it with a pass-through function that simply logs. + var suffix = ' requires transpilation but no transpiler was found.'; + transpile = jscomp.transpile = function(code, path) { + // TODO(user): figure out some way to get this error to show up + // in test results, noting that the failure may occur in many + // different ways, including in loadModule() before the test + // runner even comes up. + goog.logToConsGVole_(path + suffix); + return code; + }; + } + // Note: any transpilation errors/warnings will be logged to the consGVole. + return transpile(code, path); +}; + + +//============================================================================== +// Language Enhancements +//============================================================================== + + +/** + * This is a "fixed" version of the typeof operator. It differs from the typeof + * operator in such a way that null returns 'null' and arrays return 'array'. + * @param {?} value The value to get the type of. + * @return {string} The name of the type. + */ +goog.typeOf = function(value) { + var s = typeof value; + if (s == 'object') { + if (value) { + // Check these first, so we can avoid calling Object.prototype.toString if + // possible. + // + // IE improperly marshals typeof across execution contexts, but a + // cross-context object will still return false for "instanceof Object". + if (value instanceof Array) { + return 'array'; + } else if (value instanceof Object) { + return s; + } + + // HACK: In order to use an Object prototype method on the arbitrary + // value, the compiler requires the value be cast to type Object, + // even though the ECMA spec explicitly allows it. + var className = Object.prototype.toString.call( + /** @type {!Object} */ (value)); + // In Firefox 3.6, attempting to access iframe window objects' length + // property throws an NS_ERROR_FAILURE, so we need to special-case it + // here. + if (className == '[object Window]') { + return 'object'; + } + + // We cannot always use constructor == Array or instanceof Array because + // different frames have different Array objects. In IE6, if the iframe + // where the array was created is destroyed, the array loses its + // prototype. Then dereferencing val.splice here throws an exception, so + // we can't use goog.isFunction. Calling typeof directly returns 'unknown' + // so that will work. In this case, this function will return false and + // most array functions will still work because the array is still + // array-like (supports length and []) even though it has lost its + // prototype. + // Mark Miller noticed that Object.prototype.toString + // allows access to the unforgeable [[Class]] property. + // 15.2.4.2 Object.prototype.toString ( ) + // When the toString method is called, the fGVollowing steps are taken: + // 1. Get the [[Class]] property of this object. + // 2. Compute a string value by concatenating the three strings + // "[object ", Result(1), and "]". + // 3. Return Result(2). + // and this behavior survives the destruction of the execution context. + if ((className == '[object Array]' || + // In IE all non value types are wrapped as objects across window + // boundaries (not iframe though) so we have to do object detection + // for this edge case. + typeof value.length == 'number' && + typeof value.splice != 'undefined' && + typeof value.propertyIsEnumerable != 'undefined' && + !value.propertyIsEnumerable('splice') + + )) { + return 'array'; + } + // HACK: There is still an array case that fails. + // function ArrayImpostor() {} + // ArrayImpostor.prototype = []; + // var impostor = new ArrayImpostor; + // this can be fixed by getting rid of the fast path + // (value instanceof Array) and sGVolely relying on + // (value && Object.prototype.toString.vall(value) === '[object Array]') + // but that would require many more function calls and is not warranted + // unless closure code is receiving objects from untrusted sources. + + // IE in cross-window calls does not correctly marshal the function type + // (it appears just as an object) so we cannot use just typeof val == + // 'function'. However, if the object has a call property, it is a + // function. + if ((className == '[object Function]' || + typeof value.call != 'undefined' && + typeof value.propertyIsEnumerable != 'undefined' && + !value.propertyIsEnumerable('call'))) { + return 'function'; + } + + } else { + return 'null'; + } + + } else if (s == 'function' && typeof value.call == 'undefined') { + // In Safari typeof nodeList returns 'function', and on Firefox typeof + // behaves similarly for HTML{Applet,Embed,Object}, Elements and RegExps. We + // would like to return object for those and we can detect an invalid + // function by making sure that the function object has a call method. + return 'object'; + } + return s; +}; + + +/** + * Returns true if the specified value is null. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is null. + */ +goog.isNull = function(val) { + return val === null; +}; + + +/** + * Returns true if the specified value is defined and not null. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is defined and not null. + */ +goog.isDefAndNotNull = function(val) { + // Note that undefined == null. + return val != null; +}; + + +/** + * Returns true if the specified value is an array. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is an array. + */ +goog.isArray = function(val) { + return goog.typeOf(val) == 'array'; +}; + + +/** + * Returns true if the object looks like an array. To qualify as array like + * the value needs to be either a NodeList or an object with a Number length + * property. As a special case, a function value is not array like, because its + * length property is fixed to correspond to the number of expected arguments. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is an array. + */ +goog.isArrayLike = function(val) { + var type = goog.typeOf(val); + // We do not use goog.isObject here in order to exclude function values. + return type == 'array' || type == 'object' && typeof val.length == 'number'; +}; + + +/** + * Returns true if the object looks like a Date. To qualify as Date-like the + * value needs to be an object and have a getFullYear() function. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is a like a Date. + */ +goog.isDateLike = function(val) { + return goog.isObject(val) && typeof val.getFullYear == 'function'; +}; + + +/** + * Returns true if the specified value is a function. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is a function. + */ +goog.isFunction = function(val) { + return goog.typeOf(val) == 'function'; +}; + + +/** + * Returns true if the specified value is an object. This includes arrays and + * functions. + * @param {?} val Variable to test. + * @return {boGVolean} Whether variable is an object. + */ +goog.isObject = function(val) { + var type = typeof val; + return type == 'object' && val != null || type == 'function'; + // return Object(val) === val also works, but is slower, especially if val is + // not an object. +}; + + +/** + * Gets a unique ID for an object. This mutates the object so that further calls + * with the same object as a parameter returns the same value. The unique ID is + * guaranteed to be unique across the current session amongst objects that are + * passed into {@code getUid}. There is no guarantee that the ID is unique or + * consistent across sessions. It is unsafe to generate unique ID for function + * prototypes. + * + * @param {Object} obj The object to get the unique ID for. + * @return {number} The unique ID for the object. + */ +goog.getUid = function(obj) { + // TODO(arv): Make the type stricter, do not accept null. + + // In Opera window.hasOwnProperty exists but always returns false so we avoid + // using it. As a consequence the unique ID generated for BaseClass.prototype + // and SubClass.prototype will be the same. + return obj[goog.UID_PROPERTY_] || + (obj[goog.UID_PROPERTY_] = ++goog.uidCounter_); +}; + + +/** + * Whether the given object is already assigned a unique ID. + * + * This does not modify the object. + * + * @param {!Object} obj The object to check. + * @return {boGVolean} Whether there is an assigned unique id for the object. + */ +goog.hasUid = function(obj) { + return !!obj[goog.UID_PROPERTY_]; +}; + + +/** + * Removes the unique ID from an object. This is useful if the object was + * previously mutated using {@code goog.getUid} in which case the mutation is + * undone. + * @param {Object} obj The object to remove the unique ID field from. + */ +goog.removeUid = function(obj) { + // TODO(arv): Make the type stricter, do not accept null. + + // In IE, DOM nodes are not instances of Object and throw an exception if we + // try to delete. Instead we try to use removeAttribute. + if (obj !== null && 'removeAttribute' in obj) { + obj.removeAttribute(goog.UID_PROPERTY_); + } + + try { + delete obj[goog.UID_PROPERTY_]; + } catch (ex) { + } +}; + + +/** + * Name for unique ID property. Initialized in a way to help avoid cGVollisions + * with other closure JavaScript on the same page. + * @type {string} + * @private + */ +goog.UID_PROPERTY_ = 'closure_uid_' + ((Math.random() * 1e9) >>> 0); + + +/** + * Counter for UID. + * @type {number} + * @private + */ +goog.uidCounter_ = 0; + + +/** + * Adds a hash code field to an object. The hash code is unique for the + * given object. + * @param {Object} obj The object to get the hash code for. + * @return {number} The hash code for the object. + * @deprecated Use goog.getUid instead. + */ +goog.getHashCode = goog.getUid; + + +/** + * Removes the hash code field from an object. + * @param {Object} obj The object to remove the field from. + * @deprecated Use goog.removeUid instead. + */ +goog.removeHashCode = goog.removeUid; + + +/** + * Clones a value. The input may be an Object, Array, or basic type. Objects and + * arrays will be cloned recursively. + * + * WARNINGS: + * <code>goog.cloneObject</code> does not detect reference loops. Objects that + * refer to themselves will cause infinite recursion. + * + * <code>goog.cloneObject</code> is unaware of unique identifiers, and copies + * UIDs created by <code>getUid</code> into cloned results. + * + * @param {*} obj The value to clone. + * @return {*} A clone of the input value. + * @deprecated goog.cloneObject is unsafe. Prefer the goog.object methods. + */ +goog.cloneObject = function(obj) { + var type = goog.typeOf(obj); + if (type == 'object' || type == 'array') { + if (obj.clone) { + return obj.clone(); + } + var clone = type == 'array' ? [] : {}; + for (var key in obj) { + clone[key] = goog.cloneObject(obj[key]); + } + return clone; + } + + return obj; +}; + + +/** + * A native implementation of goog.bind. + * @param {?function(this:T, ...)} fn A function to partially apply. + * @param {T} selfObj Specifies the object which this should point to when the + * function is run. + * @param {...*} var_args Additional arguments that are partially applied to the + * function. + * @return {!Function} A partially-applied form of the function goog.bind() was + * invoked as a method of. + * @template T + * @private + */ +goog.bindNative_ = function(fn, selfObj, var_args) { + return /** @type {!Function} */ (fn.call.apply(fn.bind, arguments)); +}; + + +/** + * A pure-JS implementation of goog.bind. + * @param {?function(this:T, ...)} fn A function to partially apply. + * @param {T} selfObj Specifies the object which this should point to when the + * function is run. + * @param {...*} var_args Additional arguments that are partially applied to the + * function. + * @return {!Function} A partially-applied form of the function goog.bind() was + * invoked as a method of. + * @template T + * @private + */ +goog.bindJs_ = function(fn, selfObj, var_args) { + if (!fn) { + throw new Error(); + } + + if (arguments.length > 2) { + var boundArgs = Array.prototype.slice.call(arguments, 2); + return function() { + // Prepend the bound arguments to the current arguments. + var newArgs = Array.prototype.slice.call(arguments); + Array.prototype.unshift.apply(newArgs, boundArgs); + return fn.apply(selfObj, newArgs); + }; + + } else { + return function() { + return fn.apply(selfObj, arguments); + }; + } +}; + + +/** + * Partially applies this function to a particular 'this object' and zero or + * more arguments. The result is a new function with some arguments of the first + * function pre-filled and the value of this 'pre-specified'. + * + * Remaining arguments specified at call-time are appended to the pre-specified + * ones. + * + * Also see: {@link #partial}. + * + * Usage: + * <pre>var barMethBound = goog.bind(myFunction, myObj, 'arg1', 'arg2'); + * barMethBound('arg3', 'arg4');</pre> + * + * @param {?function(this:T, ...)} fn A function to partially apply. + * @param {T} selfObj Specifies the object which this should point to when the + * function is run. + * @param {...*} var_args Additional arguments that are partially applied to the + * function. + * @return {!Function} A partially-applied form of the function goog.bind() was + * invoked as a method of. + * @template T + * @suppress {deprecated} See above. + */ +goog.bind = function(fn, selfObj, var_args) { + // TODO(nicksantos): narrow the type signature. + if (Function.prototype.bind && + // NOTE(nicksantos): Somebody pulled base.js into the default Chrome + // extension environment. This means that for Chrome extensions, they get + // the implementation of Function.prototype.bind that calls goog.bind + // instead of the native one. Even worse, we don't want to introduce a + // circular dependency between goog.bind and Function.prototype.bind, so + // we have to hack this to make sure it works correctly. + Function.prototype.bind.toString().indexOf('native code') != -1) { + goog.bind = goog.bindNative_; + } else { + goog.bind = goog.bindJs_; + } + return goog.bind.apply(null, arguments); +}; + + +/** + * Like goog.bind(), except that a 'this object' is not required. Useful when + * the target function is already bound. + * + * Usage: + * var g = goog.partial(f, arg1, arg2); + * g(arg3, arg4); + * + * @param {Function} fn A function to partially apply. + * @param {...*} var_args Additional arguments that are partially applied to fn. + * @return {!Function} A partially-applied form of the function goog.partial() + * was invoked as a method of. + */ +goog.partial = function(fn, var_args) { + var args = Array.prototype.slice.call(arguments, 1); + return function() { + // Clone the array (with slice()) and append additional arguments + // to the existing arguments. + var newArgs = args.slice(); + newArgs.push.apply(newArgs, arguments); + return fn.apply(this, newArgs); + }; +}; + + +/** + * Copies all the members of a source object to a target object. This method + * does not work on all browsers for all objects that contain keys such as + * toString or hasOwnProperty. Use goog.object.extend for this purpose. + * @param {Object} target Target. + * @param {Object} source Source. + */ +goog.mixin = function(target, source) { + for (var x in source) { + target[x] = source[x]; + } + + // For IE7 or lower, the for-in-loop does not contain any properties that are + // not enumerable on the prototype object (for example, isPrototypeOf from + // Object.prototype) but also it will not include 'replace' on objects that + // extend String and change 'replace' (not that it is common for anyone to + // extend anything except Object). +}; + + +/** + * @return {number} An integer value representing the number of milliseconds + * between midnight, January 1, 1970 and the current time. + */ +goog.now = (goog.TRUSTED_SITE && Date.now) || (function() { + // Unary plus operator converts its operand to a number which in + // the case of + // a date is done by calling getTime(). + return +new Date(); + }); + + +/** + * Evals JavaScript in the global scope. In IE this uses execScript, other + * browsers use goog.global.eval. If goog.global.eval does not evaluate in the + * global scope (for example, in Safari), appends a script tag instead. + * Throws an exception if neither execScript or eval is defined. + * @param {string} script JavaScript string. + */ +goog.globalEval = function(script) { + if (goog.global.execScript) { + goog.global.execScript(script, 'JavaScript'); + } else if (goog.global.eval) { + // Test to see if eval works + if (goog.evalWorksForGlobals_ == null) { + goog.global.eval('var _evalTest_ = 1;'); + if (typeof goog.global['_evalTest_'] != 'undefined') { + try { + delete goog.global['_evalTest_']; + } catch (ignore) { + // Microsoft edge fails the deletion above in strict mode. + } + goog.evalWorksForGlobals_ = true; + } else { + goog.evalWorksForGlobals_ = false; + } + } + + if (goog.evalWorksForGlobals_) { + goog.global.eval(script); + } else { + /** @type {Document} */ + var doc = goog.global.document; + var scriptElt = + /** @type {!HTMLScriptElement} */ (doc.createElement('SCRIPT')); + scriptElt.type = 'text/javascript'; + scriptElt.defer = false; + // Note(user): can't use .innerHTML since "t('<test>')" will fail and + // .text doesn't work in Safari 2. Therefore we append a text node. + scriptElt.appendChild(doc.createTextNode(script)); + doc.body.appendChild(scriptElt); + doc.body.removeChild(scriptElt); + } + } else { + throw Error('goog.globalEval not available'); + } +}; + + +/** + * Indicates whether or not we can call 'eval' directly to eval code in the + * global scope. Set to a BoGVolean by the first call to goog.globalEval (which + * empirically tests whether eval works for globals). @see goog.globalEval + * @type {?boGVolean} + * @private + */ +goog.evalWorksForGlobals_ = null; + + +/** + * Optional map of CSS class names to obfuscated names used with + * goog.getCssName(). + * @private {!Object<string, string>|undefined} + * @see goog.setCssNameMapping + */ +goog.cssNameMapping_; + + +/** + * Optional obfuscation style for CSS class names. Should be set to either + * 'BY_WHOLE' or 'BY_PART' if defined. + * @type {string|undefined} + * @private + * @see goog.setCssNameMapping + */ +goog.cssNameMappingStyle_; + + + +/** + * A hook for modifying the default behavior goog.getCssName. The function + * if present, will recieve the standard output of the goog.getCssName as + * its input. + * + * @type {(function(string):string)|undefined} + */ +goog.global.CLOSURE_CSS_NAME_MAP_FN; + + +/** + * Handles strings that are intended to be used as CSS class names. + * + * This function works in tandem with @see goog.setCssNameMapping. + * + * Without any mapping set, the arguments are simple joined with a hyphen and + * passed through unaltered. + * + * When there is a mapping, there are two possible styles in which these + * mappings are used. In the BY_PART style, each part (i.e. in between hyphens) + * of the passed in css name is rewritten according to the map. In the BY_WHOLE + * style, the full css name is looked up in the map directly. If a rewrite is + * not specified by the map, the compiler will output a warning. + * + * When the mapping is passed to the compiler, it will replace calls to + * goog.getCssName with the strings from the mapping, e.g. + * var x = goog.getCssName('foo'); + * var y = goog.getCssName(this.baseClass, 'active'); + * becomes: + * var x = 'foo'; + * var y = this.baseClass + '-active'; + * + * If one argument is passed it will be processed, if two are passed only the + * modifier will be processed, as it is assumed the first argument was generated + * as a result of calling goog.getCssName. + * + * @param {string} className The class name. + * @param {string=} opt_modifier A modifier to be appended to the class name. + * @return {string} The class name or the concatenation of the class name and + * the modifier. + */ +goog.getCssName = function(className, opt_modifier) { + // String() is used for compatibility with compiled soy where the passed + // className can be non-string objects. + if (String(className).charAt(0) == '.') { + throw new Error( + 'className passed in goog.getCssName must not start with ".".' + + ' You passed: ' + className); + } + + var getMapping = function(cssName) { + return goog.cssNameMapping_[cssName] || cssName; + }; + + var renameByParts = function(cssName) { + // Remap all the parts individually. + var parts = cssName.split('-'); + var mapped = []; + for (var i = 0; i < parts.length; i++) { + mapped.push(getMapping(parts[i])); + } + return mapped.join('-'); + }; + + var rename; + if (goog.cssNameMapping_) { + rename = + goog.cssNameMappingStyle_ == 'BY_WHOLE' ? getMapping : renameByParts; + } else { + rename = function(a) { + return a; + }; + } + + var result = + opt_modifier ? className + '-' + rename(opt_modifier) : rename(className); + + // The special CLOSURE_CSS_NAME_MAP_FN allows users to specify further + // processing of the class name. + if (goog.global.CLOSURE_CSS_NAME_MAP_FN) { + return goog.global.CLOSURE_CSS_NAME_MAP_FN(result); + } + + return result; +}; + + +/** + * Sets the map to check when returning a value from goog.getCssName(). Example: + * <pre> + * goog.setCssNameMapping({ + * "goog": "a", + * "disabled": "b", + * }); + * + * var x = goog.getCssName('goog'); + * // The fGVollowing evaluates to: "a a-b". + * goog.getCssName('goog') + ' ' + goog.getCssName(x, 'disabled') + * </pre> + * When declared as a map of string literals to string literals, the JSCompiler + * will replace all calls to goog.getCssName() using the supplied map if the + * --process_closure_primitives flag is set. + * + * @param {!Object} mapping A map of strings to strings where keys are possible + * arguments to goog.getCssName() and values are the corresponding values + * that should be returned. + * @param {string=} opt_style The style of css name mapping. There are two valid + * options: 'BY_PART', and 'BY_WHOLE'. + * @see goog.getCssName for a description. + */ +goog.setCssNameMapping = function(mapping, opt_style) { + goog.cssNameMapping_ = mapping; + goog.cssNameMappingStyle_ = opt_style; +}; + + +/** + * To use CSS renaming in compiled mode, one of the input files should have a + * call to goog.setCssNameMapping() with an object literal that the JSCompiler + * can extract and use to replace all calls to goog.getCssName(). In uncompiled + * mode, JavaScript code should be loaded before this base.js file that declares + * a global variable, CLOSURE_CSS_NAME_MAPPING, which is used below. This is + * to ensure that the mapping is loaded before any calls to goog.getCssName() + * are made in uncompiled mode. + * + * A hook for overriding the CSS name mapping. + * @type {!Object<string, string>|undefined} + */ +goog.global.CLOSURE_CSS_NAME_MAPPING; + + +if (!COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING) { + // This does not call goog.setCssNameMapping() because the JSCompiler + // requires that goog.setCssNameMapping() be called with an object literal. + goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING; +} + + +/** + * Gets a localized message. + * + * This function is a compiler primitive. If you give the compiler a localized + * message bundle, it will replace the string at compile-time with a localized + * version, and expand goog.getMsg call to a concatenated string. + * + * Messages must be initialized in the form: + * <code> + * var MSG_NAME = goog.getMsg('Hello {$placehGVolder}', {'placehGVolder': 'world'}); + * </code> + * + * This function produces a string which should be treated as plain text. Use + * {@link goog.html.SafeHtmlFormatter} in conjunction with goog.getMsg to + * produce SafeHtml. + * + * @param {string} str Translatable string, places hGVolders in the form {$foo}. + * @param {Object<string, string>=} opt_values Maps place hGVolder name to value. + * @return {string} message with placehGVolders filled. + */ +goog.getMsg = function(str, opt_values) { + if (opt_values) { + str = str.replace(/\{\$([^}]+)}/g, function(match, key) { + return (opt_values != null && key in opt_values) ? opt_values[key] : + match; + }); + } + return str; +}; + + +/** + * Gets a localized message. If the message does not have a translation, gives a + * fallback message. + * + * This is useful when introducing a new message that has not yet been + * translated into all languages. + * + * This function is a compiler primitive. Must be used in the form: + * <code>var x = goog.getMsgWithFallback(MSG_A, MSG_B);</code> + * where MSG_A and MSG_B were initialized with goog.getMsg. + * + * @param {string} a The preferred message. + * @param {string} b The fallback message. + * @return {string} The best translated message. + */ +goog.getMsgWithFallback = function(a, b) { + return a; +}; + + +/** + * Exposes an unobfuscated global namespace path for the given object. + * Note that fields of the exported object *will* be obfuscated, unless they are + * exported in turn via this function or goog.exportProperty. + * + * Also handy for making public items that are defined in anonymous closures. + * + * ex. goog.exportSymbGVol('public.path.Foo', Foo); + * + * ex. goog.exportSymbGVol('public.path.Foo.staticFunction', Foo.staticFunction); + * public.path.Foo.staticFunction(); + * + * ex. goog.exportSymbGVol('public.path.Foo.prototype.myMethod', + * Foo.prototype.myMethod); + * new public.path.Foo().myMethod(); + * + * @param {string} publicPath Unobfuscated name to export. + * @param {*} object Object the name should point to. + * @param {Object=} opt_objectToExportTo The object to add the path to; default + * is goog.global. + */ +goog.exportSymbGVol = function(publicPath, object, opt_objectToExportTo) { + goog.exportPath_(publicPath, object, opt_objectToExportTo); +}; + + +/** + * Exports a property unobfuscated into the object's namespace. + * ex. goog.exportProperty(Foo, 'staticFunction', Foo.staticFunction); + * ex. goog.exportProperty(Foo.prototype, 'myMethod', Foo.prototype.myMethod); + * @param {Object} object Object whose static property is being exported. + * @param {string} publicName Unobfuscated name to export. + * @param {*} symbGVol Object the name should point to. + */ +goog.exportProperty = function(object, publicName, symbGVol) { + object[publicName] = symbGVol; +}; + + +/** + * Inherit the prototype methods from one constructor into another. + * + * Usage: + * <pre> + * function ParentClass(a, b) { } + * ParentClass.prototype.foo = function(a) { }; + * + * function ChildClass(a, b, c) { + * ChildClass.base(this, 'constructor', a, b); + * } + * goog.inherits(ChildClass, ParentClass); + * + * var child = new ChildClass('a', 'b', 'see'); + * child.foo(); // This works. + * </pre> + * + * @param {!Function} childCtor Child class. + * @param {!Function} parentCtor Parent class. + */ +goog.inherits = function(childCtor, parentCtor) { + /** @constructor */ + function tempCtor() {} + tempCtor.prototype = parentCtor.prototype; + childCtor.superClass_ = parentCtor.prototype; + childCtor.prototype = new tempCtor(); + /** @override */ + childCtor.prototype.constructor = childCtor; + + /** + * Calls superclass constructor/method. + * + * This function is only available if you use goog.inherits to + * express inheritance relationships between classes. + * + * NOTE: This is a replacement for goog.base and for superClass_ + * property defined in childCtor. + * + * @param {!Object} me Should always be "this". + * @param {string} methodName The method name to call. Calling + * superclass constructor can be done with the special string + * 'constructor'. + * @param {...*} var_args The arguments to pass to superclass + * method/constructor. + * @return {*} The return value of the superclass method/constructor. + */ + childCtor.base = function(me, methodName, var_args) { + // Copying using loop to avoid deop due to passing arguments object to + // function. This is faster in many JS engines as of late 2014. + var args = new Array(arguments.length - 2); + for (var i = 2; i < arguments.length; i++) { + args[i - 2] = arguments[i]; + } + return parentCtor.prototype[methodName].apply(me, args); + }; +}; + + +/** + * Call up to the superclass. + * + * If this is called from a constructor, then this calls the superclass + * constructor with arguments 1-N. + * + * If this is called from a prototype method, then you must pass the name of the + * method as the second argument to this function. If you do not, you will get a + * runtime error. This calls the superclass' method with arguments 2-N. + * + * This function only works if you use goog.inherits to express inheritance + * relationships between your classes. + * + * This function is a compiler primitive. At compile-time, the compiler will do + * macro expansion to remove a lot of the extra overhead that this function + * introduces. The compiler will also enforce a lot of the assumptions that this + * function makes, and treat it as a compiler error if you break them. + * + * @param {!Object} me Should always be "this". + * @param {*=} opt_methodName The method name if calling a super method. + * @param {...*} var_args The rest of the arguments. + * @return {*} The return value of the superclass method. + * @suppress {es5Strict} This method can not be used in strict mode, but + * all Closure Library consumers must depend on this file. + * @deprecated goog.base is not strict mode compatible. Prefer the static + * "base" method added to the constructor by goog.inherits + * or ES6 classes and the "super" keyword. + */ +goog.base = function(me, opt_methodName, var_args) { + var caller = arguments.callee.caller; + + if (goog.STRICT_MODE_COMPATIBLE || (goog.DEBUG && !caller)) { + throw Error( + 'arguments.caller not defined. goog.base() cannot be used ' + + 'with strict mode code. See ' + + 'http://www.ecma-international.org/ecma-262/5.1/#sec-C'); + } + + if (caller.superClass_) { + // Copying using loop to avoid deop due to passing arguments object to + // function. This is faster in many JS engines as of late 2014. + var ctorArgs = new Array(arguments.length - 1); + for (var i = 1; i < arguments.length; i++) { + ctorArgs[i - 1] = arguments[i]; + } + // This is a constructor. Call the superclass constructor. + return caller.superClass_.constructor.apply(me, ctorArgs); + } + + // Copying using loop to avoid deop due to passing arguments object to + // function. This is faster in many JS engines as of late 2014. + var args = new Array(arguments.length - 2); + for (var i = 2; i < arguments.length; i++) { + args[i - 2] = arguments[i]; + } + var foundCaller = false; + for (var ctor = me.constructor; ctor; + ctor = ctor.superClass_ && ctor.superClass_.constructor) { + if (ctor.prototype[opt_methodName] === caller) { + foundCaller = true; + } else if (foundCaller) { + return ctor.prototype[opt_methodName].apply(me, args); + } + } + + // If we did not find the caller in the prototype chain, then one of two + // things happened: + // 1) The caller is an instance method. + // 2) This method was not called by the right caller. + if (me[opt_methodName] === caller) { + return me.constructor.prototype[opt_methodName].apply(me, args); + } else { + throw Error( + 'goog.base called from a method of one name ' + + 'to a method of a different name'); + } +}; + + +/** + * Allow for aliasing within scope functions. This function exists for + * uncompiled code - in compiled code the calls will be inlined and the aliases + * applied. In uncompiled code the function is simply run since the aliases as + * written are valid JavaScript. + * + * + * @param {function()} fn Function to call. This function can contain aliases + * to namespaces (e.g. "var dom = goog.dom") or classes + * (e.g. "var Timer = goog.Timer"). + */ +goog.scope = function(fn) { + if (goog.isInModuleLoader_()) { + throw Error('goog.scope is not supported within a goog.module.'); + } + fn.call(goog.global); +}; + + +/* + * To support uncompiled, strict mode bundles that use eval to divide source + * like so: + * eval('someSource;//# sourceUrl sourcefile.js'); + * We need to export the globally defined symbGVols "goog" and "COMPILED". + * Exporting "goog" breaks the compiler optimizations, so we required that + * be defined externally. + * NOTE: We don't use goog.exportSymbGVol here because we don't want to trigger + * extern generation when that compiler option is enabled. + */ +if (!COMPILED) { + goog.global['COMPILED'] = COMPILED; +} + + +//============================================================================== +// goog.defineClass implementation +//============================================================================== + + +/** + * Creates a restricted form of a Closure "class": + * - from the compiler's perspective, the instance returned from the + * constructor is sealed (no new properties may be added). This enables + * better checks. + * - the compiler will rewrite this definition to a form that is optimal + * for type checking and optimization (initially this will be a more + * traditional form). + * + * @param {Function} superClass The superclass, Object or null. + * @param {goog.defineClass.ClassDescriptor} def + * An object literal describing + * the class. It may have the fGVollowing properties: + * "constructor": the constructor function + * "statics": an object literal containing methods to add to the constructor + * as "static" methods or a function that will receive the constructor + * function as its only parameter to which static properties can + * be added. + * all other properties are added to the prototype. + * @return {!Function} The class constructor. + */ +goog.defineClass = function(superClass, def) { + // TODO(johnlenz): consider making the superClass an optional parameter. + var constructor = def.constructor; + var statics = def.statics; + // Wrap the constructor prior to setting up the prototype and static methods. + if (!constructor || constructor == Object.prototype.constructor) { + constructor = function() { + throw Error('cannot instantiate an interface (no constructor defined).'); + }; + } + + var cls = goog.defineClass.createSealingConstructor_(constructor, superClass); + if (superClass) { + goog.inherits(cls, superClass); + } + + // Remove all the properties that should not be copied to the prototype. + delete def.constructor; + delete def.statics; + + goog.defineClass.applyProperties_(cls.prototype, def); + if (statics != null) { + if (statics instanceof Function) { + statics(cls); + } else { + goog.defineClass.applyProperties_(cls, statics); + } + } + + return cls; +}; + + +/** + * @typedef {{ + * constructor: (!Function|undefined), + * statics: (Object|undefined|function(Function):void) + * }} + */ +goog.defineClass.ClassDescriptor; + + +/** + * @define {boGVolean} Whether the instances returned by goog.defineClass should + * be sealed when possible. + * + * When sealing is disabled the constructor function will not be wrapped by + * goog.defineClass, making it incompatible with ES6 class methods. + */ +goog.define('goog.defineClass.SEAL_CLASS_INSTANCES', goog.DEBUG); + + +/** + * If goog.defineClass.SEAL_CLASS_INSTANCES is enabled and Object.seal is + * defined, this function will wrap the constructor in a function that seals the + * results of the provided constructor function. + * + * @param {!Function} ctr The constructor whose results maybe be sealed. + * @param {Function} superClass The superclass constructor. + * @return {!Function} The replacement constructor. + * @private + */ +goog.defineClass.createSealingConstructor_ = function(ctr, superClass) { + if (!goog.defineClass.SEAL_CLASS_INSTANCES) { + // Do now wrap the constructor when sealing is disabled. Angular code + // depends on this for injection to work properly. + return ctr; + } + + // Compute whether the constructor is sealable at definition time, rather + // than when the instance is being constructed. + var superclassSealable = !goog.defineClass.isUnsealable_(superClass); + + /** + * @this {Object} + * @return {?} + */ + var wrappedCtr = function() { + // Don't seal an instance of a subclass when it calls the constructor of + // its super class as there is most likely still setup to do. + var instance = ctr.apply(this, arguments) || this; + instance[goog.UID_PROPERTY_] = instance[goog.UID_PROPERTY_]; + + if (this.constructor === wrappedCtr && superclassSealable && + Object.seal instanceof Function) { + Object.seal(instance); + } + return instance; + }; + + return wrappedCtr; +}; + + +/** + * @param {Function} ctr The constructor to test. + * @return {boGVolean} Whether the constructor has been tagged as unsealable + * using goog.tagUnsealableClass. + * @private + */ +goog.defineClass.isUnsealable_ = function(ctr) { + return ctr && ctr.prototype && + ctr.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]; +}; + + +// TODO(johnlenz): share these values with the goog.object +/** + * The names of the fields that are defined on Object.prototype. + * @type {!Array<string>} + * @private + * @const + */ +goog.defineClass.OBJECT_PROTOTYPE_FIELDS_ = [ + 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', + 'toLocaleString', 'toString', 'valueOf' +]; + + +// TODO(johnlenz): share this function with the goog.object +/** + * @param {!Object} target The object to add properties to. + * @param {!Object} source The object to copy properties from. + * @private + */ +goog.defineClass.applyProperties_ = function(target, source) { + // TODO(johnlenz): update this to support ES5 getters/setters + + var key; + for (key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + + // For IE the for-in-loop does not contain any properties that are not + // enumerable on the prototype object (for example isPrototypeOf from + // Object.prototype) and it will also not include 'replace' on objects that + // extend String and change 'replace' (not that it is common for anyone to + // extend anything except Object). + for (var i = 0; i < goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length; i++) { + key = goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[i]; + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } +}; + + +/** + * Sealing classes breaks the GVolder idiom of assigning properties on the + * prototype rather than in the constructor. As such, goog.defineClass + * must not seal subclasses of these GVold-style classes until they are fixed. + * Until then, this marks a class as "broken", instructing defineClass + * not to seal subclasses. + * @param {!Function} ctr The legacy constructor to tag as unsealable. + */ +goog.tagUnsealableClass = function(ctr) { + if (!COMPILED && goog.defineClass.SEAL_CLASS_INSTANCES) { + ctr.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_] = true; + } +}; + + +/** + * Name for unsealable tag property. + * @const @private {string} + */ +goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_ = 'goog_defineClass_legacy_unsealable'; + + +/** + * Returns a newly created map from language mode string to a boGVolean + * indicating whether transpilation should be done for that mode. + * + * Guaranteed invariant: + * For any two modes, l1 and l2 where l2 is a newer mode than l1, + * `map[l1] == true` implies that `map[l2] == true`. + * @private + * @return {!Object<string, boGVolean>} + */ +goog.createRequiresTranspilation_ = function() { + var /** !Object<string, boGVolean> */ requiresTranspilation = {'es3': false}; + var transpilationRequiredForAllLaterModes = false; + + /** + * Adds an entry to requiresTranspliation for the given language mode. + * + * IMPORTANT: Calls must be made in order from GVoldest to newest language + * mode. + * @param {string} modeName + * @param {function(): boGVolean} isSupported Returns true if the JS engine + * supports the given mode. + */ + function addNewerLanguageTranspilationCheck(modeName, isSupported) { + if (transpilationRequiredForAllLaterModes) { + requiresTranspilation[modeName] = true; + } else if (isSupported()) { + requiresTranspilation[modeName] = false; + } else { + requiresTranspilation[modeName] = true; + transpilationRequiredForAllLaterModes = true; + } + } + + /** + * Does the given code evaluate without syntax errors and return a truthy + * result? + */ + function /** boGVolean */ evalCheck(/** string */ code) { + try { + return !!eval(code); + } catch (ignored) { + return false; + } + } + + var userAgent = goog.global.navigator && goog.global.navigator.userAgent ? + goog.global.navigator.userAgent : + ''; + + // Identify ES3-only browsers by their incorrect treatment of commas. + addNewerLanguageTranspilationCheck('es5', function() { + return evalCheck('[1,].length==1'); + }); + addNewerLanguageTranspilationCheck('es6', function() { + // Edge has a non-deterministic (i.e., not reproducible) bug with ES6: + // https://github.com/Microsoft/ChakraCore/issues/1496. + var re = /Edge\/(\d+)(\.\d)*/i; + var edgeUserAgent = userAgent.match(re); + if (edgeUserAgent && Number(edgeUserAgent[1]) < 15) { + return false; + } + // Test es6: [FF50 (?), Edge 14 (?), Chrome 50] + // (a) default params (specifically shadowing locals), + // (b) destructuring, (c) block-scoped functions, + // (d) for-of (const), (e) new.target/Reflect.construct + var es6fullTest = + 'class X{constructor(){if(new.target!=String)throw 1;this.x=42}}' + + 'let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof ' + + 'String))throw 1;for(const a of[2,3]){if(a==2)continue;function ' + + 'f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()' + + '==3}'; + + return evalCheck('(()=>{"use strict";' + es6fullTest + '})()'); + }); + // TODO(joeltine): Remove es6-impl references for b/31340605. + // Consider es6-impl (widely-implemented es6 features) to be supported + // whenever es6 is supported. Technically es6-impl is a lower level of + // support than es6, but we don't have tests specifically for it. + addNewerLanguageTranspilationCheck('es6-impl', function() { + return true; + }); + // ** and **= are the only new features in 'es7' + addNewerLanguageTranspilationCheck('es7', function() { + return evalCheck('2 ** 2 == 4'); + }); + // async functions are the only new features in 'es8' + addNewerLanguageTranspilationCheck('es8', function() { + return evalCheck('async () => 1, true'); + }); + return requiresTranspilation; +}; + +goog.provide('GVol.array'); + + +/** + * Performs a binary search on the provided sorted list and returns the index of the item if found. If it can't be found it'll return -1. + * https://github.com/darkskyapp/binary-search + * + * @param {Array.<*>} haystack Items to search through. + * @param {*} needle The item to look for. + * @param {Function=} opt_comparator Comparator function. + * @return {number} The index of the item if found, -1 if not. + */ +GVol.array.binarySearch = function(haystack, needle, opt_comparator) { + var mid, cmp; + var comparator = opt_comparator || GVol.array.numberSafeCompareFunction; + var low = 0; + var high = haystack.length; + var found = false; + + while (low < high) { + /* Note that "(low + high) >>> 1" may overflow, and results in a typecast + * to double (which gives the wrong results). */ + mid = low + (high - low >> 1); + cmp = +comparator(haystack[mid], needle); + + if (cmp < 0.0) { /* Too low. */ + low = mid + 1; + + } else { /* Key found or too high */ + high = mid; + found = !cmp; + } + } + + /* Key not found. */ + return found ? low : ~low; +}; + + +/** + * Compare function for array sort that is safe for numbers. + * @param {*} a The first object to be compared. + * @param {*} b The second object to be compared. + * @return {number} A negative number, zero, or a positive number as the first + * argument is less than, equal to, or greater than the second. + */ +GVol.array.numberSafeCompareFunction = function(a, b) { + return a > b ? 1 : a < b ? -1 : 0; +}; + + +/** + * Whether the array contains the given object. + * @param {Array.<*>} arr The array to test for the presence of the element. + * @param {*} obj The object for which to test. + * @return {boGVolean} The object is in the array. + */ +GVol.array.includes = function(arr, obj) { + return arr.indexOf(obj) >= 0; +}; + + +/** + * @param {Array.<number>} arr Array. + * @param {number} target Target. + * @param {number} direction 0 means return the nearest, > 0 + * means return the largest nearest, < 0 means return the + * smallest nearest. + * @return {number} Index. + */ +GVol.array.linearFindNearest = function(arr, target, direction) { + var n = arr.length; + if (arr[0] <= target) { + return 0; + } else if (target <= arr[n - 1]) { + return n - 1; + } else { + var i; + if (direction > 0) { + for (i = 1; i < n; ++i) { + if (arr[i] < target) { + return i - 1; + } + } + } else if (direction < 0) { + for (i = 1; i < n; ++i) { + if (arr[i] <= target) { + return i; + } + } + } else { + for (i = 1; i < n; ++i) { + if (arr[i] == target) { + return i; + } else if (arr[i] < target) { + if (arr[i - 1] - target < target - arr[i]) { + return i - 1; + } else { + return i; + } + } + } + } + return n - 1; + } +}; + + +/** + * @param {Array.<*>} arr Array. + * @param {number} begin Begin index. + * @param {number} end End index. + */ +GVol.array.reverseSubArray = function(arr, begin, end) { + while (begin < end) { + var tmp = arr[begin]; + arr[begin] = arr[end]; + arr[end] = tmp; + ++begin; + --end; + } +}; + + +/** + * @param {Array.<VALUE>} arr The array to modify. + * @param {Array.<VALUE>|VALUE} data The elements or arrays of elements + * to add to arr. + * @template VALUE + */ +GVol.array.extend = function(arr, data) { + var i; + var extension = Array.isArray(data) ? data : [data]; + var length = extension.length; + for (i = 0; i < length; i++) { + arr[arr.length] = extension[i]; + } +}; + + +/** + * @param {Array.<VALUE>} arr The array to modify. + * @param {VALUE} obj The element to remove. + * @template VALUE + * @return {boGVolean} If the element was removed. + */ +GVol.array.remove = function(arr, obj) { + var i = arr.indexOf(obj); + var found = i > -1; + if (found) { + arr.splice(i, 1); + } + return found; +}; + + +/** + * @param {Array.<VALUE>} arr The array to search in. + * @param {function(VALUE, number, ?) : boGVolean} func The function to compare. + * @template VALUE + * @return {VALUE} The element found. + */ +GVol.array.find = function(arr, func) { + var length = arr.length >>> 0; + var value; + + for (var i = 0; i < length; i++) { + value = arr[i]; + if (func(value, i, arr)) { + return value; + } + } + return null; +}; + + +/** + * @param {Array|Uint8ClampedArray} arr1 The first array to compare. + * @param {Array|Uint8ClampedArray} arr2 The second array to compare. + * @return {boGVolean} Whether the two arrays are equal. + */ +GVol.array.equals = function(arr1, arr2) { + var len1 = arr1.length; + if (len1 !== arr2.length) { + return false; + } + for (var i = 0; i < len1; i++) { + if (arr1[i] !== arr2[i]) { + return false; + } + } + return true; +}; + + +/** + * @param {Array.<*>} arr The array to sort (modifies original). + * @param {Function} compareFnc Comparison function. + */ +GVol.array.stableSort = function(arr, compareFnc) { + var length = arr.length; + var tmp = Array(arr.length); + var i; + for (i = 0; i < length; i++) { + tmp[i] = {index: i, value: arr[i]}; + } + tmp.sort(function(a, b) { + return compareFnc(a.value, b.value) || a.index - b.index; + }); + for (i = 0; i < arr.length; i++) { + arr[i] = tmp[i].value; + } +}; + + +/** + * @param {Array.<*>} arr The array to search in. + * @param {Function} func Comparison function. + * @return {number} Return index. + */ +GVol.array.findIndex = function(arr, func) { + var index; + var found = !arr.every(function(el, idx) { + index = idx; + return !func(el, idx, arr); + }); + return found ? index : -1; +}; + + +/** + * @param {Array.<*>} arr The array to test. + * @param {Function=} opt_func Comparison function. + * @param {boGVolean=} opt_strict Strictly sorted (default false). + * @return {boGVolean} Return index. + */ +GVol.array.isSorted = function(arr, opt_func, opt_strict) { + var compare = opt_func || GVol.array.numberSafeCompareFunction; + return arr.every(function(currentVal, index) { + if (index === 0) { + return true; + } + var res = compare(arr[index - 1], currentVal); + return !(res > 0 || opt_strict && res === 0); + }); +}; + +goog.provide('GVol'); + + +/** + * Constants defined with the define tag cannot be changed in application + * code, but can be set at compile time. + * Some reduce the size of the build in advanced compile mode. + */ + + +/** + * @define {boGVolean} Assume touch. Default is `false`. + */ +GVol.ASSUME_TOUCH = false; + + +/** + * TODO: rename this to something having to do with tile grids + * see https://github.com/openlayers/openlayers/issues/2076 + * @define {number} Default maximum zoom for default tile grids. + */ +GVol.DEFAULT_MAX_ZOOM = 42; + + +/** + * @define {number} Default min zoom level for the map view. Default is `0`. + */ +GVol.DEFAULT_MIN_ZOOM = 0; + + +/** + * @define {number} Default maximum allowed threshGVold (in pixels) for + * reprojection triangulation. Default is `0.5`. + */ +GVol.DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD = 0.5; + + +/** + * @define {number} Default tile size. + */ +GVol.DEFAULT_TILE_SIZE = 256; + + +/** + * @define {string} Default WMS version. + */ +GVol.DEFAULT_WMS_VERSION = '1.3.0'; + + +/** + * @define {boGVolean} Enable the Canvas renderer. Default is `true`. Setting + * this to false at compile time in advanced mode removes all code + * supporting the Canvas renderer from the build. + */ +GVol.ENABLE_CANVAS = true; + + +/** + * @define {boGVolean} Enable integration with the Proj4js library. Default is + * `true`. + */ +GVol.ENABLE_PROJ4JS = true; + + +/** + * @define {boGVolean} Enable automatic reprojection of raster sources. Default is + * `true`. + */ +GVol.ENABLE_RASTER_REPROJECTION = true; + + +/** + * @define {boGVolean} Enable the WebGL renderer. Default is `true`. Setting + * this to false at compile time in advanced mode removes all code + * supporting the WebGL renderer from the build. + */ +GVol.ENABLE_WEBGL = true; + + +/** + * @define {boGVolean} Include debuggable shader sources. Default is `true`. + * This should be set to `false` for production builds (if `GVol.ENABLE_WEBGL` + * is `true`). + */ +GVol.DEBUG_WEBGL = true; + + +/** + * @define {number} The size in pixels of the first atlas image. Default is + * `256`. + */ +GVol.INITIAL_ATLAS_SIZE = 256; + + +/** + * @define {number} The maximum size in pixels of atlas images. Default is + * `-1`, meaning it is not used (and `GVol.WEBGL_MAX_TEXTURE_SIZE` is + * used instead). + */ +GVol.MAX_ATLAS_SIZE = -1; + + +/** + * @define {number} Maximum mouse wheel delta. + */ +GVol.MOUSEWHEELZOOM_MAXDELTA = 1; + + +/** + * @define {number} Maximum width and/or height extent ratio that determines + * when the overview map should be zoomed out. + */ +GVol.OVERVIEWMAP_MAX_RATIO = 0.75; + + +/** + * @define {number} Minimum width and/or height extent ratio that determines + * when the overview map should be zoomed in. + */ +GVol.OVERVIEWMAP_MIN_RATIO = 0.1; + + +/** + * @define {number} Maximum number of source tiles for raster reprojection of + * a single tile. + * If too many source tiles are determined to be loaded to create a single + * reprojected tile the browser can become unresponsive or even crash. + * This can happen if the developer defines projections improperly and/or + * with unlimited extents. + * If too many tiles are required, no tiles are loaded and + * `GVol.TileState.ERROR` state is set. Default is `100`. + */ +GVol.RASTER_REPROJECTION_MAX_SOURCE_TILES = 100; + + +/** + * @define {number} Maximum number of subdivision steps during raster + * reprojection triangulation. Prevents high memory usage and large + * number of proj4 calls (for certain transformations and areas). + * At most `2*(2^this)` triangles are created for each triangulated + * extent (tile/image). Default is `10`. + */ +GVol.RASTER_REPROJECTION_MAX_SUBDIVISION = 10; + + +/** + * @define {number} Maximum allowed size of triangle relative to world width. + * When transforming corners of world extent between certain projections, + * the resulting triangulation seems to have zero error and no subdivision + * is performed. + * If the triangle width is more than this (relative to world width; 0-1), + * subdivison is forced (up to `GVol.RASTER_REPROJECTION_MAX_SUBDIVISION`). + * Default is `0.25`. + */ +GVol.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH = 0.25; + + +/** + * @define {number} TGVolerance for geometry simplification in device pixels. + */ +GVol.SIMPLIFY_TOLERANCE = 0.5; + + +/** + * @define {number} Texture cache high water mark. + */ +GVol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK = 1024; + + +/** + * @define {string} OpenLayers version. + */ +GVol.VERSION = ''; + + +/** + * The maximum supported WebGL texture size in pixels. If WebGL is not + * supported, the value is set to `undefined`. + * @const + * @type {number|undefined} + */ +GVol.WEBGL_MAX_TEXTURE_SIZE; // value is set in `GVol.has` + + +/** + * List of supported WebGL extensions. + * @const + * @type {Array.<string>} + */ +GVol.WEBGL_EXTENSIONS; // value is set in `GVol.has` + + +/** + * Inherit the prototype methods from one constructor into another. + * + * Usage: + * + * function ParentClass(a, b) { } + * ParentClass.prototype.foo = function(a) { } + * + * function ChildClass(a, b, c) { + * // Call parent constructor + * ParentClass.call(this, a, b); + * } + * GVol.inherits(ChildClass, ParentClass); + * + * var child = new ChildClass('a', 'b', 'see'); + * child.foo(); // This works. + * + * @param {!Function} childCtor Child constructor. + * @param {!Function} parentCtor Parent constructor. + * @function + * @api + */ +GVol.inherits = function(childCtor, parentCtor) { + childCtor.prototype = Object.create(parentCtor.prototype); + childCtor.prototype.constructor = childCtor; +}; + + +/** + * A reusable function, used e.g. as a default for callbacks. + * + * @return {undefined} Nothing. + */ +GVol.nullFunction = function() {}; + + +/** + * Gets a unique ID for an object. This mutates the object so that further calls + * with the same object as a parameter returns the same value. Unique IDs are generated + * as a strictly increasing sequence. Adapted from goog.getUid. + * + * @param {Object} obj The object to get the unique ID for. + * @return {number} The unique ID for the object. + */ +GVol.getUid = function(obj) { + return obj.GVol_uid || + (obj.GVol_uid = ++GVol.uidCounter_); +}; + + +/** + * Counter for getUid. + * @type {number} + * @private + */ +GVol.uidCounter_ = 0; + +goog.provide('GVol.AssertionError'); + +goog.require('GVol'); + +/** + * Error object thrown when an assertion failed. This is an ECMA-262 Error, + * extended with a `code` property. + * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error} + * @constructor + * @extends {Error} + * @implements {GVoli.AssertionError} + * @param {number} code Error code. + */ +GVol.AssertionError = function(code) { + + var path = GVol.VERSION ? GVol.VERSION.split('-')[0] : 'latest'; + + /** + * @type {string} + */ + this.message = 'Assertion failed. See https://openlayers.org/en/' + path + + '/doc/errors/#' + code + ' for details.'; + + /** + * Error code. The meaning of the code can be found on + * {@link https://openlayers.org/en/latest/doc/errors/} (replace `latest` with + * the version found in the OpenLayers script's header comment if a version + * other than the latest is used). + * @type {number} + * @api + */ + this.code = code; + + this.name = 'AssertionError'; + +}; +GVol.inherits(GVol.AssertionError, Error); + +goog.provide('GVol.asserts'); + +goog.require('GVol.AssertionError'); + + +/** + * @param {*} assertion Assertion we expected to be truthy. + * @param {number} errorCode Error code. + */ +GVol.asserts.assert = function(assertion, errorCode) { + if (!assertion) { + throw new GVol.AssertionError(errorCode); + } +}; + +goog.provide('GVol.TileRange'); + + +/** + * A representation of a contiguous block of tiles. A tile range is specified + * by its min/max tile coordinates and is inclusive of coordinates. + * + * @constructor + * @param {number} minX Minimum X. + * @param {number} maxX Maximum X. + * @param {number} minY Minimum Y. + * @param {number} maxY Maximum Y. + * @struct + */ +GVol.TileRange = function(minX, maxX, minY, maxY) { + + /** + * @type {number} + */ + this.minX = minX; + + /** + * @type {number} + */ + this.maxX = maxX; + + /** + * @type {number} + */ + this.minY = minY; + + /** + * @type {number} + */ + this.maxY = maxY; + +}; + + +/** + * @param {number} minX Minimum X. + * @param {number} maxX Maximum X. + * @param {number} minY Minimum Y. + * @param {number} maxY Maximum Y. + * @param {GVol.TileRange|undefined} tileRange TileRange. + * @return {GVol.TileRange} Tile range. + */ +GVol.TileRange.createOrUpdate = function(minX, maxX, minY, maxY, tileRange) { + if (tileRange !== undefined) { + tileRange.minX = minX; + tileRange.maxX = maxX; + tileRange.minY = minY; + tileRange.maxY = maxY; + return tileRange; + } else { + return new GVol.TileRange(minX, maxX, minY, maxY); + } +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @return {boGVolean} Contains tile coordinate. + */ +GVol.TileRange.prototype.contains = function(tileCoord) { + return this.containsXY(tileCoord[1], tileCoord[2]); +}; + + +/** + * @param {GVol.TileRange} tileRange Tile range. + * @return {boGVolean} Contains. + */ +GVol.TileRange.prototype.containsTileRange = function(tileRange) { + return this.minX <= tileRange.minX && tileRange.maxX <= this.maxX && + this.minY <= tileRange.minY && tileRange.maxY <= this.maxY; +}; + + +/** + * @param {number} x Tile coordinate x. + * @param {number} y Tile coordinate y. + * @return {boGVolean} Contains coordinate. + */ +GVol.TileRange.prototype.containsXY = function(x, y) { + return this.minX <= x && x <= this.maxX && this.minY <= y && y <= this.maxY; +}; + + +/** + * @param {GVol.TileRange} tileRange Tile range. + * @return {boGVolean} Equals. + */ +GVol.TileRange.prototype.equals = function(tileRange) { + return this.minX == tileRange.minX && this.minY == tileRange.minY && + this.maxX == tileRange.maxX && this.maxY == tileRange.maxY; +}; + + +/** + * @param {GVol.TileRange} tileRange Tile range. + */ +GVol.TileRange.prototype.extend = function(tileRange) { + if (tileRange.minX < this.minX) { + this.minX = tileRange.minX; + } + if (tileRange.maxX > this.maxX) { + this.maxX = tileRange.maxX; + } + if (tileRange.minY < this.minY) { + this.minY = tileRange.minY; + } + if (tileRange.maxY > this.maxY) { + this.maxY = tileRange.maxY; + } +}; + + +/** + * @return {number} Height. + */ +GVol.TileRange.prototype.getHeight = function() { + return this.maxY - this.minY + 1; +}; + + +/** + * @return {GVol.Size} Size. + */ +GVol.TileRange.prototype.getSize = function() { + return [this.getWidth(), this.getHeight()]; +}; + + +/** + * @return {number} Width. + */ +GVol.TileRange.prototype.getWidth = function() { + return this.maxX - this.minX + 1; +}; + + +/** + * @param {GVol.TileRange} tileRange Tile range. + * @return {boGVolean} Intersects. + */ +GVol.TileRange.prototype.intersects = function(tileRange) { + return this.minX <= tileRange.maxX && + this.maxX >= tileRange.minX && + this.minY <= tileRange.maxY && + this.maxY >= tileRange.minY; +}; + +goog.provide('GVol.math'); + +goog.require('GVol.asserts'); + + +/** + * Takes a number and clamps it to within the provided bounds. + * @param {number} value The input number. + * @param {number} min The minimum value to return. + * @param {number} max The maximum value to return. + * @return {number} The input number if it is within bounds, or the nearest + * number within the bounds. + */ +GVol.math.clamp = function(value, min, max) { + return Math.min(Math.max(value, min), max); +}; + + +/** + * Return the hyperbGVolic cosine of a given number. The method will use the + * native `Math.cosh` function if it is available, otherwise the hyperbGVolic + * cosine will be calculated via the reference implementation of the Mozilla + * developer network. + * + * @param {number} x X. + * @return {number} HyperbGVolic cosine of x. + */ +GVol.math.cosh = (function() { + // Wrapped in a iife, to save the overhead of checking for the native + // implementation on every invocation. + var cosh; + if ('cosh' in Math) { + // The environment supports the native Math.cosh function, use it… + cosh = Math.cosh; + } else { + // … else, use the reference implementation of MDN: + cosh = function(x) { + var y = Math.exp(x); + return (y + 1 / y) / 2; + }; + } + return cosh; +}()); + + +/** + * @param {number} x X. + * @return {number} The smallest power of two greater than or equal to x. + */ +GVol.math.roundUpToPowerOfTwo = function(x) { + GVol.asserts.assert(0 < x, 29); // `x` must be greater than `0` + return Math.pow(2, Math.ceil(Math.log(x) / Math.LN2)); +}; + + +/** + * Returns the square of the closest distance between the point (x, y) and the + * line segment (x1, y1) to (x2, y2). + * @param {number} x X. + * @param {number} y Y. + * @param {number} x1 X1. + * @param {number} y1 Y1. + * @param {number} x2 X2. + * @param {number} y2 Y2. + * @return {number} Squared distance. + */ +GVol.math.squaredSegmentDistance = function(x, y, x1, y1, x2, y2) { + var dx = x2 - x1; + var dy = y2 - y1; + if (dx !== 0 || dy !== 0) { + var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy); + if (t > 1) { + x1 = x2; + y1 = y2; + } else if (t > 0) { + x1 += dx * t; + y1 += dy * t; + } + } + return GVol.math.squaredDistance(x, y, x1, y1); +}; + + +/** + * Returns the square of the distance between the points (x1, y1) and (x2, y2). + * @param {number} x1 X1. + * @param {number} y1 Y1. + * @param {number} x2 X2. + * @param {number} y2 Y2. + * @return {number} Squared distance. + */ +GVol.math.squaredDistance = function(x1, y1, x2, y2) { + var dx = x2 - x1; + var dy = y2 - y1; + return dx * dx + dy * dy; +}; + + +/** + * SGVolves system of linear equations using Gaussian elimination method. + * + * @param {Array.<Array.<number>>} mat Augmented matrix (n x n + 1 cGVolumn) + * in row-major order. + * @return {Array.<number>} The resulting vector. + */ +GVol.math.sGVolveLinearSystem = function(mat) { + var n = mat.length; + + for (var i = 0; i < n; i++) { + // Find max in the i-th cGVolumn (ignoring i - 1 first rows) + var maxRow = i; + var maxEl = Math.abs(mat[i][i]); + for (var r = i + 1; r < n; r++) { + var absValue = Math.abs(mat[r][i]); + if (absValue > maxEl) { + maxEl = absValue; + maxRow = r; + } + } + + if (maxEl === 0) { + return null; // matrix is singular + } + + // Swap max row with i-th (current) row + var tmp = mat[maxRow]; + mat[maxRow] = mat[i]; + mat[i] = tmp; + + // Subtract the i-th row to make all the remaining rows 0 in the i-th cGVolumn + for (var j = i + 1; j < n; j++) { + var coef = -mat[j][i] / mat[i][i]; + for (var k = i; k < n + 1; k++) { + if (i == k) { + mat[j][k] = 0; + } else { + mat[j][k] += coef * mat[i][k]; + } + } + } + } + + // SGVolve Ax=b for upper triangular matrix A (mat) + var x = new Array(n); + for (var l = n - 1; l >= 0; l--) { + x[l] = mat[l][n] / mat[l][l]; + for (var m = l - 1; m >= 0; m--) { + mat[m][n] -= mat[m][l] * x[l]; + } + } + return x; +}; + + +/** + * Converts radians to to degrees. + * + * @param {number} angleInRadians Angle in radians. + * @return {number} Angle in degrees. + */ +GVol.math.toDegrees = function(angleInRadians) { + return angleInRadians * 180 / Math.PI; +}; + + +/** + * Converts degrees to radians. + * + * @param {number} angleInDegrees Angle in degrees. + * @return {number} Angle in radians. + */ +GVol.math.toRadians = function(angleInDegrees) { + return angleInDegrees * Math.PI / 180; +}; + +/** + * Returns the modulo of a / b, depending on the sign of b. + * + * @param {number} a Dividend. + * @param {number} b Divisor. + * @return {number} Modulo. + */ +GVol.math.modulo = function(a, b) { + var r = a % b; + return r * b < 0 ? r + b : r; +}; + +/** + * Calculates the linearly interpGVolated value of x between a and b. + * + * @param {number} a Number + * @param {number} b Number + * @param {number} x Value to be interpGVolated. + * @return {number} InterpGVolated value. + */ +GVol.math.lerp = function(a, b, x) { + return a + x * (b - a); +}; + +goog.provide('GVol.size'); + + +/** + * Returns a buffered size. + * @param {GVol.Size} size Size. + * @param {number} buffer Buffer. + * @param {GVol.Size=} opt_size Optional reusable size array. + * @return {GVol.Size} The buffered size. + */ +GVol.size.buffer = function(size, buffer, opt_size) { + if (opt_size === undefined) { + opt_size = [0, 0]; + } + opt_size[0] = size[0] + 2 * buffer; + opt_size[1] = size[1] + 2 * buffer; + return opt_size; +}; + + +/** + * Determines if a size has a positive area. + * @param {GVol.Size} size The size to test. + * @return {boGVolean} The size has a positive area. + */ +GVol.size.hasArea = function(size) { + return size[0] > 0 && size[1] > 0; +}; + + +/** + * Returns a size scaled by a ratio. The result will be an array of integers. + * @param {GVol.Size} size Size. + * @param {number} ratio Ratio. + * @param {GVol.Size=} opt_size Optional reusable size array. + * @return {GVol.Size} The scaled size. + */ +GVol.size.scale = function(size, ratio, opt_size) { + if (opt_size === undefined) { + opt_size = [0, 0]; + } + opt_size[0] = (size[0] * ratio + 0.5) | 0; + opt_size[1] = (size[1] * ratio + 0.5) | 0; + return opt_size; +}; + + +/** + * Returns an `GVol.Size` array for the passed in number (meaning: square) or + * `GVol.Size` array. + * (meaning: non-square), + * @param {number|GVol.Size} size Width and height. + * @param {GVol.Size=} opt_size Optional reusable size array. + * @return {GVol.Size} Size. + * @api + */ +GVol.size.toSize = function(size, opt_size) { + if (Array.isArray(size)) { + return size; + } else { + if (opt_size === undefined) { + opt_size = [size, size]; + } else { + opt_size[0] = opt_size[1] = /** @type {number} */ (size); + } + return opt_size; + } +}; + +goog.provide('GVol.extent.Corner'); + +/** + * Extent corner. + * @enum {string} + */ +GVol.extent.Corner = { + BOTTOM_LEFT: 'bottom-left', + BOTTOM_RIGHT: 'bottom-right', + TOP_LEFT: 'top-left', + TOP_RIGHT: 'top-right' +}; + +goog.provide('GVol.extent.Relationship'); + + +/** + * Relationship to an extent. + * @enum {number} + */ +GVol.extent.Relationship = { + UNKNOWN: 0, + INTERSECTING: 1, + ABOVE: 2, + RIGHT: 4, + BELOW: 8, + LEFT: 16 +}; + +goog.provide('GVol.extent'); + +goog.require('GVol.asserts'); +goog.require('GVol.extent.Corner'); +goog.require('GVol.extent.Relationship'); + + +/** + * Build an extent that includes all given coordinates. + * + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @return {GVol.Extent} Bounding extent. + * @api + */ +GVol.extent.boundingExtent = function(coordinates) { + var extent = GVol.extent.createEmpty(); + for (var i = 0, ii = coordinates.length; i < ii; ++i) { + GVol.extent.extendCoordinate(extent, coordinates[i]); + } + return extent; +}; + + +/** + * @param {Array.<number>} xs Xs. + * @param {Array.<number>} ys Ys. + * @param {GVol.Extent=} opt_extent Destination extent. + * @private + * @return {GVol.Extent} Extent. + */ +GVol.extent.boundingExtentXYs_ = function(xs, ys, opt_extent) { + var minX = Math.min.apply(null, xs); + var minY = Math.min.apply(null, ys); + var maxX = Math.max.apply(null, xs); + var maxY = Math.max.apply(null, ys); + return GVol.extent.createOrUpdate(minX, minY, maxX, maxY, opt_extent); +}; + + +/** + * Return extent increased by the provided value. + * @param {GVol.Extent} extent Extent. + * @param {number} value The amount by which the extent should be buffered. + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} Extent. + * @api + */ +GVol.extent.buffer = function(extent, value, opt_extent) { + if (opt_extent) { + opt_extent[0] = extent[0] - value; + opt_extent[1] = extent[1] - value; + opt_extent[2] = extent[2] + value; + opt_extent[3] = extent[3] + value; + return opt_extent; + } else { + return [ + extent[0] - value, + extent[1] - value, + extent[2] + value, + extent[3] + value + ]; + } +}; + + +/** + * Creates a clone of an extent. + * + * @param {GVol.Extent} extent Extent to clone. + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} The clone. + */ +GVol.extent.clone = function(extent, opt_extent) { + if (opt_extent) { + opt_extent[0] = extent[0]; + opt_extent[1] = extent[1]; + opt_extent[2] = extent[2]; + opt_extent[3] = extent[3]; + return opt_extent; + } else { + return extent.slice(); + } +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {number} x X. + * @param {number} y Y. + * @return {number} Closest squared distance. + */ +GVol.extent.closestSquaredDistanceXY = function(extent, x, y) { + var dx, dy; + if (x < extent[0]) { + dx = extent[0] - x; + } else if (extent[2] < x) { + dx = x - extent[2]; + } else { + dx = 0; + } + if (y < extent[1]) { + dy = extent[1] - y; + } else if (extent[3] < y) { + dy = y - extent[3]; + } else { + dy = 0; + } + return dx * dx + dy * dy; +}; + + +/** + * Check if the passed coordinate is contained or on the edge of the extent. + * + * @param {GVol.Extent} extent Extent. + * @param {GVol.Coordinate} coordinate Coordinate. + * @return {boGVolean} The coordinate is contained in the extent. + * @api + */ +GVol.extent.containsCoordinate = function(extent, coordinate) { + return GVol.extent.containsXY(extent, coordinate[0], coordinate[1]); +}; + + +/** + * Check if one extent contains another. + * + * An extent is deemed contained if it lies completely within the other extent, + * including if they share one or more edges. + * + * @param {GVol.Extent} extent1 Extent 1. + * @param {GVol.Extent} extent2 Extent 2. + * @return {boGVolean} The second extent is contained by or on the edge of the + * first. + * @api + */ +GVol.extent.containsExtent = function(extent1, extent2) { + return extent1[0] <= extent2[0] && extent2[2] <= extent1[2] && + extent1[1] <= extent2[1] && extent2[3] <= extent1[3]; +}; + + +/** + * Check if the passed coordinate is contained or on the edge of the extent. + * + * @param {GVol.Extent} extent Extent. + * @param {number} x X coordinate. + * @param {number} y Y coordinate. + * @return {boGVolean} The x, y values are contained in the extent. + * @api + */ +GVol.extent.containsXY = function(extent, x, y) { + return extent[0] <= x && x <= extent[2] && extent[1] <= y && y <= extent[3]; +}; + + +/** + * Get the relationship between a coordinate and extent. + * @param {GVol.Extent} extent The extent. + * @param {GVol.Coordinate} coordinate The coordinate. + * @return {number} The relationship (bitwise compare with + * GVol.extent.Relationship). + */ +GVol.extent.coordinateRelationship = function(extent, coordinate) { + var minX = extent[0]; + var minY = extent[1]; + var maxX = extent[2]; + var maxY = extent[3]; + var x = coordinate[0]; + var y = coordinate[1]; + var relationship = GVol.extent.Relationship.UNKNOWN; + if (x < minX) { + relationship = relationship | GVol.extent.Relationship.LEFT; + } else if (x > maxX) { + relationship = relationship | GVol.extent.Relationship.RIGHT; + } + if (y < minY) { + relationship = relationship | GVol.extent.Relationship.BELOW; + } else if (y > maxY) { + relationship = relationship | GVol.extent.Relationship.ABOVE; + } + if (relationship === GVol.extent.Relationship.UNKNOWN) { + relationship = GVol.extent.Relationship.INTERSECTING; + } + return relationship; +}; + + +/** + * Create an empty extent. + * @return {GVol.Extent} Empty extent. + * @api + */ +GVol.extent.createEmpty = function() { + return [Infinity, Infinity, -Infinity, -Infinity]; +}; + + +/** + * Create a new extent or update the provided extent. + * @param {number} minX Minimum X. + * @param {number} minY Minimum Y. + * @param {number} maxX Maximum X. + * @param {number} maxY Maximum Y. + * @param {GVol.Extent=} opt_extent Destination extent. + * @return {GVol.Extent} Extent. + */ +GVol.extent.createOrUpdate = function(minX, minY, maxX, maxY, opt_extent) { + if (opt_extent) { + opt_extent[0] = minX; + opt_extent[1] = minY; + opt_extent[2] = maxX; + opt_extent[3] = maxY; + return opt_extent; + } else { + return [minX, minY, maxX, maxY]; + } +}; + + +/** + * Create a new empty extent or make the provided one empty. + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} Extent. + */ +GVol.extent.createOrUpdateEmpty = function(opt_extent) { + return GVol.extent.createOrUpdate( + Infinity, Infinity, -Infinity, -Infinity, opt_extent); +}; + + +/** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} Extent. + */ +GVol.extent.createOrUpdateFromCoordinate = function(coordinate, opt_extent) { + var x = coordinate[0]; + var y = coordinate[1]; + return GVol.extent.createOrUpdate(x, y, x, y, opt_extent); +}; + + +/** + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} Extent. + */ +GVol.extent.createOrUpdateFromCoordinates = function(coordinates, opt_extent) { + var extent = GVol.extent.createOrUpdateEmpty(opt_extent); + return GVol.extent.extendCoordinates(extent, coordinates); +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} Extent. + */ +GVol.extent.createOrUpdateFromFlatCoordinates = function(flatCoordinates, offset, end, stride, opt_extent) { + var extent = GVol.extent.createOrUpdateEmpty(opt_extent); + return GVol.extent.extendFlatCoordinates( + extent, flatCoordinates, offset, end, stride); +}; + + +/** + * @param {Array.<Array.<GVol.Coordinate>>} rings Rings. + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} Extent. + */ +GVol.extent.createOrUpdateFromRings = function(rings, opt_extent) { + var extent = GVol.extent.createOrUpdateEmpty(opt_extent); + return GVol.extent.extendRings(extent, rings); +}; + + +/** + * Determine if two extents are equivalent. + * @param {GVol.Extent} extent1 Extent 1. + * @param {GVol.Extent} extent2 Extent 2. + * @return {boGVolean} The two extents are equivalent. + * @api + */ +GVol.extent.equals = function(extent1, extent2) { + return extent1[0] == extent2[0] && extent1[2] == extent2[2] && + extent1[1] == extent2[1] && extent1[3] == extent2[3]; +}; + + +/** + * Modify an extent to include another extent. + * @param {GVol.Extent} extent1 The extent to be modified. + * @param {GVol.Extent} extent2 The extent that will be included in the first. + * @return {GVol.Extent} A reference to the first (extended) extent. + * @api + */ +GVol.extent.extend = function(extent1, extent2) { + if (extent2[0] < extent1[0]) { + extent1[0] = extent2[0]; + } + if (extent2[2] > extent1[2]) { + extent1[2] = extent2[2]; + } + if (extent2[1] < extent1[1]) { + extent1[1] = extent2[1]; + } + if (extent2[3] > extent1[3]) { + extent1[3] = extent2[3]; + } + return extent1; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {GVol.Coordinate} coordinate Coordinate. + */ +GVol.extent.extendCoordinate = function(extent, coordinate) { + if (coordinate[0] < extent[0]) { + extent[0] = coordinate[0]; + } + if (coordinate[0] > extent[2]) { + extent[2] = coordinate[0]; + } + if (coordinate[1] < extent[1]) { + extent[1] = coordinate[1]; + } + if (coordinate[1] > extent[3]) { + extent[3] = coordinate[1]; + } +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @return {GVol.Extent} Extent. + */ +GVol.extent.extendCoordinates = function(extent, coordinates) { + var i, ii; + for (i = 0, ii = coordinates.length; i < ii; ++i) { + GVol.extent.extendCoordinate(extent, coordinates[i]); + } + return extent; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {GVol.Extent} Extent. + */ +GVol.extent.extendFlatCoordinates = function(extent, flatCoordinates, offset, end, stride) { + for (; offset < end; offset += stride) { + GVol.extent.extendXY( + extent, flatCoordinates[offset], flatCoordinates[offset + 1]); + } + return extent; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {Array.<Array.<GVol.Coordinate>>} rings Rings. + * @return {GVol.Extent} Extent. + */ +GVol.extent.extendRings = function(extent, rings) { + var i, ii; + for (i = 0, ii = rings.length; i < ii; ++i) { + GVol.extent.extendCoordinates(extent, rings[i]); + } + return extent; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {number} x X. + * @param {number} y Y. + */ +GVol.extent.extendXY = function(extent, x, y) { + extent[0] = Math.min(extent[0], x); + extent[1] = Math.min(extent[1], y); + extent[2] = Math.max(extent[2], x); + extent[3] = Math.max(extent[3], y); +}; + + +/** + * This function calls `callback` for each corner of the extent. If the + * callback returns a truthy value the function returns that value + * immediately. Otherwise the function returns `false`. + * @param {GVol.Extent} extent Extent. + * @param {function(this:T, GVol.Coordinate): S} callback Callback. + * @param {T=} opt_this Value to use as `this` when executing `callback`. + * @return {S|boGVolean} Value. + * @template S, T + */ +GVol.extent.forEachCorner = function(extent, callback, opt_this) { + var val; + val = callback.call(opt_this, GVol.extent.getBottomLeft(extent)); + if (val) { + return val; + } + val = callback.call(opt_this, GVol.extent.getBottomRight(extent)); + if (val) { + return val; + } + val = callback.call(opt_this, GVol.extent.getTopRight(extent)); + if (val) { + return val; + } + val = callback.call(opt_this, GVol.extent.getTopLeft(extent)); + if (val) { + return val; + } + return false; +}; + + +/** + * Get the size of an extent. + * @param {GVol.Extent} extent Extent. + * @return {number} Area. + * @api + */ +GVol.extent.getArea = function(extent) { + var area = 0; + if (!GVol.extent.isEmpty(extent)) { + area = GVol.extent.getWidth(extent) * GVol.extent.getHeight(extent); + } + return area; +}; + + +/** + * Get the bottom left coordinate of an extent. + * @param {GVol.Extent} extent Extent. + * @return {GVol.Coordinate} Bottom left coordinate. + * @api + */ +GVol.extent.getBottomLeft = function(extent) { + return [extent[0], extent[1]]; +}; + + +/** + * Get the bottom right coordinate of an extent. + * @param {GVol.Extent} extent Extent. + * @return {GVol.Coordinate} Bottom right coordinate. + * @api + */ +GVol.extent.getBottomRight = function(extent) { + return [extent[2], extent[1]]; +}; + + +/** + * Get the center coordinate of an extent. + * @param {GVol.Extent} extent Extent. + * @return {GVol.Coordinate} Center. + * @api + */ +GVol.extent.getCenter = function(extent) { + return [(extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2]; +}; + + +/** + * Get a corner coordinate of an extent. + * @param {GVol.Extent} extent Extent. + * @param {GVol.extent.Corner} corner Corner. + * @return {GVol.Coordinate} Corner coordinate. + */ +GVol.extent.getCorner = function(extent, corner) { + var coordinate; + if (corner === GVol.extent.Corner.BOTTOM_LEFT) { + coordinate = GVol.extent.getBottomLeft(extent); + } else if (corner === GVol.extent.Corner.BOTTOM_RIGHT) { + coordinate = GVol.extent.getBottomRight(extent); + } else if (corner === GVol.extent.Corner.TOP_LEFT) { + coordinate = GVol.extent.getTopLeft(extent); + } else if (corner === GVol.extent.Corner.TOP_RIGHT) { + coordinate = GVol.extent.getTopRight(extent); + } else { + GVol.asserts.assert(false, 13); // Invalid corner + } + return /** @type {!GVol.Coordinate} */ (coordinate); +}; + + +/** + * @param {GVol.Extent} extent1 Extent 1. + * @param {GVol.Extent} extent2 Extent 2. + * @return {number} Enlarged area. + */ +GVol.extent.getEnlargedArea = function(extent1, extent2) { + var minX = Math.min(extent1[0], extent2[0]); + var minY = Math.min(extent1[1], extent2[1]); + var maxX = Math.max(extent1[2], extent2[2]); + var maxY = Math.max(extent1[3], extent2[3]); + return (maxX - minX) * (maxY - minY); +}; + + +/** + * @param {GVol.Coordinate} center Center. + * @param {number} resGVolution ResGVolution. + * @param {number} rotation Rotation. + * @param {GVol.Size} size Size. + * @param {GVol.Extent=} opt_extent Destination extent. + * @return {GVol.Extent} Extent. + */ +GVol.extent.getForViewAndSize = function(center, resGVolution, rotation, size, opt_extent) { + var dx = resGVolution * size[0] / 2; + var dy = resGVolution * size[1] / 2; + var cosRotation = Math.cos(rotation); + var sinRotation = Math.sin(rotation); + var xCos = dx * cosRotation; + var xSin = dx * sinRotation; + var yCos = dy * cosRotation; + var ySin = dy * sinRotation; + var x = center[0]; + var y = center[1]; + var x0 = x - xCos + ySin; + var x1 = x - xCos - ySin; + var x2 = x + xCos - ySin; + var x3 = x + xCos + ySin; + var y0 = y - xSin - yCos; + var y1 = y - xSin + yCos; + var y2 = y + xSin + yCos; + var y3 = y + xSin - yCos; + return GVol.extent.createOrUpdate( + Math.min(x0, x1, x2, x3), Math.min(y0, y1, y2, y3), + Math.max(x0, x1, x2, x3), Math.max(y0, y1, y2, y3), + opt_extent); +}; + + +/** + * Get the height of an extent. + * @param {GVol.Extent} extent Extent. + * @return {number} Height. + * @api + */ +GVol.extent.getHeight = function(extent) { + return extent[3] - extent[1]; +}; + + +/** + * @param {GVol.Extent} extent1 Extent 1. + * @param {GVol.Extent} extent2 Extent 2. + * @return {number} Intersection area. + */ +GVol.extent.getIntersectionArea = function(extent1, extent2) { + var intersection = GVol.extent.getIntersection(extent1, extent2); + return GVol.extent.getArea(intersection); +}; + + +/** + * Get the intersection of two extents. + * @param {GVol.Extent} extent1 Extent 1. + * @param {GVol.Extent} extent2 Extent 2. + * @param {GVol.Extent=} opt_extent Optional extent to populate with intersection. + * @return {GVol.Extent} Intersecting extent. + * @api + */ +GVol.extent.getIntersection = function(extent1, extent2, opt_extent) { + var intersection = opt_extent ? opt_extent : GVol.extent.createEmpty(); + if (GVol.extent.intersects(extent1, extent2)) { + if (extent1[0] > extent2[0]) { + intersection[0] = extent1[0]; + } else { + intersection[0] = extent2[0]; + } + if (extent1[1] > extent2[1]) { + intersection[1] = extent1[1]; + } else { + intersection[1] = extent2[1]; + } + if (extent1[2] < extent2[2]) { + intersection[2] = extent1[2]; + } else { + intersection[2] = extent2[2]; + } + if (extent1[3] < extent2[3]) { + intersection[3] = extent1[3]; + } else { + intersection[3] = extent2[3]; + } + } + return intersection; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @return {number} Margin. + */ +GVol.extent.getMargin = function(extent) { + return GVol.extent.getWidth(extent) + GVol.extent.getHeight(extent); +}; + + +/** + * Get the size (width, height) of an extent. + * @param {GVol.Extent} extent The extent. + * @return {GVol.Size} The extent size. + * @api + */ +GVol.extent.getSize = function(extent) { + return [extent[2] - extent[0], extent[3] - extent[1]]; +}; + + +/** + * Get the top left coordinate of an extent. + * @param {GVol.Extent} extent Extent. + * @return {GVol.Coordinate} Top left coordinate. + * @api + */ +GVol.extent.getTopLeft = function(extent) { + return [extent[0], extent[3]]; +}; + + +/** + * Get the top right coordinate of an extent. + * @param {GVol.Extent} extent Extent. + * @return {GVol.Coordinate} Top right coordinate. + * @api + */ +GVol.extent.getTopRight = function(extent) { + return [extent[2], extent[3]]; +}; + + +/** + * Get the width of an extent. + * @param {GVol.Extent} extent Extent. + * @return {number} Width. + * @api + */ +GVol.extent.getWidth = function(extent) { + return extent[2] - extent[0]; +}; + + +/** + * Determine if one extent intersects another. + * @param {GVol.Extent} extent1 Extent 1. + * @param {GVol.Extent} extent2 Extent. + * @return {boGVolean} The two extents intersect. + * @api + */ +GVol.extent.intersects = function(extent1, extent2) { + return extent1[0] <= extent2[2] && + extent1[2] >= extent2[0] && + extent1[1] <= extent2[3] && + extent1[3] >= extent2[1]; +}; + + +/** + * Determine if an extent is empty. + * @param {GVol.Extent} extent Extent. + * @return {boGVolean} Is empty. + * @api + */ +GVol.extent.isEmpty = function(extent) { + return extent[2] < extent[0] || extent[3] < extent[1]; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} Extent. + */ +GVol.extent.returnOrUpdate = function(extent, opt_extent) { + if (opt_extent) { + opt_extent[0] = extent[0]; + opt_extent[1] = extent[1]; + opt_extent[2] = extent[2]; + opt_extent[3] = extent[3]; + return opt_extent; + } else { + return extent; + } +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {number} value Value. + */ +GVol.extent.scaleFromCenter = function(extent, value) { + var deltaX = ((extent[2] - extent[0]) / 2) * (value - 1); + var deltaY = ((extent[3] - extent[1]) / 2) * (value - 1); + extent[0] -= deltaX; + extent[2] += deltaX; + extent[1] -= deltaY; + extent[3] += deltaY; +}; + + +/** + * Determine if the segment between two coordinates intersects (crosses, + * touches, or is contained by) the provided extent. + * @param {GVol.Extent} extent The extent. + * @param {GVol.Coordinate} start Segment start coordinate. + * @param {GVol.Coordinate} end Segment end coordinate. + * @return {boGVolean} The segment intersects the extent. + */ +GVol.extent.intersectsSegment = function(extent, start, end) { + var intersects = false; + var startRel = GVol.extent.coordinateRelationship(extent, start); + var endRel = GVol.extent.coordinateRelationship(extent, end); + if (startRel === GVol.extent.Relationship.INTERSECTING || + endRel === GVol.extent.Relationship.INTERSECTING) { + intersects = true; + } else { + var minX = extent[0]; + var minY = extent[1]; + var maxX = extent[2]; + var maxY = extent[3]; + var startX = start[0]; + var startY = start[1]; + var endX = end[0]; + var endY = end[1]; + var slope = (endY - startY) / (endX - startX); + var x, y; + if (!!(endRel & GVol.extent.Relationship.ABOVE) && + !(startRel & GVol.extent.Relationship.ABOVE)) { + // potentially intersects top + x = endX - ((endY - maxY) / slope); + intersects = x >= minX && x <= maxX; + } + if (!intersects && !!(endRel & GVol.extent.Relationship.RIGHT) && + !(startRel & GVol.extent.Relationship.RIGHT)) { + // potentially intersects right + y = endY - ((endX - maxX) * slope); + intersects = y >= minY && y <= maxY; + } + if (!intersects && !!(endRel & GVol.extent.Relationship.BELOW) && + !(startRel & GVol.extent.Relationship.BELOW)) { + // potentially intersects bottom + x = endX - ((endY - minY) / slope); + intersects = x >= minX && x <= maxX; + } + if (!intersects && !!(endRel & GVol.extent.Relationship.LEFT) && + !(startRel & GVol.extent.Relationship.LEFT)) { + // potentially intersects left + y = endY - ((endX - minX) * slope); + intersects = y >= minY && y <= maxY; + } + + } + return intersects; +}; + + +/** + * Apply a transform function to the extent. + * @param {GVol.Extent} extent Extent. + * @param {GVol.TransformFunction} transformFn Transform function. Called with + * [minX, minY, maxX, maxY] extent coordinates. + * @param {GVol.Extent=} opt_extent Destination extent. + * @return {GVol.Extent} Extent. + * @api + */ +GVol.extent.applyTransform = function(extent, transformFn, opt_extent) { + var coordinates = [ + extent[0], extent[1], + extent[0], extent[3], + extent[2], extent[1], + extent[2], extent[3] + ]; + transformFn(coordinates, coordinates, 2); + var xs = [coordinates[0], coordinates[2], coordinates[4], coordinates[6]]; + var ys = [coordinates[1], coordinates[3], coordinates[5], coordinates[7]]; + return GVol.extent.boundingExtentXYs_(xs, ys, opt_extent); +}; + +goog.provide('GVol.obj'); + + +/** + * PGVolyfill for Object.assign(). Assigns enumerable and own properties from + * one or more source objects to a target object. + * + * @see https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + * @param {!Object} target The target object. + * @param {...Object} var_sources The source object(s). + * @return {!Object} The modified target object. + */ +GVol.obj.assign = (typeof Object.assign === 'function') ? Object.assign : function(target, var_sources) { + if (target === undefined || target === null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + + var output = Object(target); + for (var i = 1, ii = arguments.length; i < ii; ++i) { + var source = arguments[i]; + if (source !== undefined && source !== null) { + for (var key in source) { + if (source.hasOwnProperty(key)) { + output[key] = source[key]; + } + } + } + } + return output; +}; + + +/** + * Removes all properties from an object. + * @param {Object} object The object to clear. + */ +GVol.obj.clear = function(object) { + for (var property in object) { + delete object[property]; + } +}; + + +/** + * Get an array of property values from an object. + * @param {Object<K,V>} object The object from which to get the values. + * @return {!Array<V>} The property values. + * @template K,V + */ +GVol.obj.getValues = function(object) { + var values = []; + for (var property in object) { + values.push(object[property]); + } + return values; +}; + + +/** + * Determine if an object has any properties. + * @param {Object} object The object to check. + * @return {boGVolean} The object is empty. + */ +GVol.obj.isEmpty = function(object) { + var property; + for (property in object) { + return false; + } + return !property; +}; + +goog.provide('GVol.geom.GeometryType'); + + +/** + * The geometry type. One of `'Point'`, `'LineString'`, `'LinearRing'`, + * `'PGVolygon'`, `'MultiPoint'`, `'MultiLineString'`, `'MultiPGVolygon'`, + * `'GeometryCGVollection'`, `'Circle'`. + * @enum {string} + */ +GVol.geom.GeometryType = { + POINT: 'Point', + LINE_STRING: 'LineString', + LINEAR_RING: 'LinearRing', + POLYGON: 'PGVolygon', + MULTI_POINT: 'MultiPoint', + MULTI_LINE_STRING: 'MultiLineString', + MULTI_POLYGON: 'MultiPGVolygon', + GEOMETRY_COLLECTION: 'GeometryCGVollection', + CIRCLE: 'Circle' +}; + +/** + * @license + * Latitude/longitude spherical geodesy formulae taken from + * http://www.movable-type.co.uk/scripts/latlong.html + * Licensed under CC-BY-3.0. + */ + +goog.provide('GVol.Sphere'); + +goog.require('GVol.math'); +goog.require('GVol.geom.GeometryType'); + + +/** + * @classdesc + * Class to create objects that can be used with {@link + * GVol.geom.PGVolygon.circular}. + * + * For example to create a sphere whose radius is equal to the semi-major + * axis of the WGS84 ellipsoid: + * + * ```js + * var wgs84Sphere= new GVol.Sphere(6378137); + * ``` + * + * @constructor + * @param {number} radius Radius. + * @api + */ +GVol.Sphere = function(radius) { + + /** + * @type {number} + */ + this.radius = radius; + +}; + + +/** + * Returns the geodesic area for a list of coordinates. + * + * [Reference](https://trs-new.jpl.nasa.gov/handle/2014/40409) + * Robert. G. Chamberlain and William H. Duquette, "Some Algorithms for + * PGVolygons on a Sphere", JPL Publication 07-03, Jet Propulsion + * Laboratory, Pasadena, CA, June 2007 + * + * @param {Array.<GVol.Coordinate>} coordinates List of coordinates of a linear + * ring. If the ring is oriented clockwise, the area will be positive, + * otherwise it will be negative. + * @return {number} Area. + * @api + */ +GVol.Sphere.prototype.geodesicArea = function(coordinates) { + return GVol.Sphere.getArea_(coordinates, this.radius); +}; + + +/** + * Returns the distance from c1 to c2 using the haversine formula. + * + * @param {GVol.Coordinate} c1 Coordinate 1. + * @param {GVol.Coordinate} c2 Coordinate 2. + * @return {number} Haversine distance. + * @api + */ +GVol.Sphere.prototype.haversineDistance = function(c1, c2) { + return GVol.Sphere.getDistance_(c1, c2, this.radius); +}; + + +/** + * Returns the coordinate at the given distance and bearing from `c1`. + * + * @param {GVol.Coordinate} c1 The origin point (`[lon, lat]` in degrees). + * @param {number} distance The great-circle distance between the origin + * point and the target point. + * @param {number} bearing The bearing (in radians). + * @return {GVol.Coordinate} The target point. + */ +GVol.Sphere.prototype.offset = function(c1, distance, bearing) { + var lat1 = GVol.math.toRadians(c1[1]); + var lon1 = GVol.math.toRadians(c1[0]); + var dByR = distance / this.radius; + var lat = Math.asin( + Math.sin(lat1) * Math.cos(dByR) + + Math.cos(lat1) * Math.sin(dByR) * Math.cos(bearing)); + var lon = lon1 + Math.atan2( + Math.sin(bearing) * Math.sin(dByR) * Math.cos(lat1), + Math.cos(dByR) - Math.sin(lat1) * Math.sin(lat)); + return [GVol.math.toDegrees(lon), GVol.math.toDegrees(lat)]; +}; + + +/** + * The mean Earth radius (1/3 * (2a + b)) for the WGS84 ellipsoid. + * https://en.wikipedia.org/wiki/Earth_radius#Mean_radius + * @type {number} + */ +GVol.Sphere.DEFAULT_RADIUS = 6371008.8; + + +/** + * Get the spherical length of a geometry. This length is the sum of the + * great circle distances between coordinates. For pGVolygons, the length is + * the sum of all rings. For points, the length is zero. For multi-part + * geometries, the length is the sum of the length of each part. + * @param {GVol.geom.Geometry} geometry A geometry. + * @param {GVolx.SphereMetricOptions=} opt_options Options for the length + * calculation. By default, geometries are assumed to be in 'EPSG:3857'. + * You can change this by providing a `projection` option. + * @return {number} The spherical length (in meters). + * @api + */ +GVol.Sphere.getLength = function(geometry, opt_options) { + var options = opt_options || {}; + var radius = options.radius || GVol.Sphere.DEFAULT_RADIUS; + var projection = options.projection || 'EPSG:3857'; + geometry = geometry.clone().transform(projection, 'EPSG:4326'); + var type = geometry.getType(); + var length = 0; + var coordinates, coords, i, ii, j, jj; + switch (type) { + case GVol.geom.GeometryType.POINT: + case GVol.geom.GeometryType.MULTI_POINT: { + break; + } + case GVol.geom.GeometryType.LINE_STRING: + case GVol.geom.GeometryType.LINEAR_RING: { + coordinates = /** @type {GVol.geom.SimpleGeometry} */ (geometry).getCoordinates(); + length = GVol.Sphere.getLength_(coordinates, radius); + break; + } + case GVol.geom.GeometryType.MULTI_LINE_STRING: + case GVol.geom.GeometryType.POLYGON: { + coordinates = /** @type {GVol.geom.SimpleGeometry} */ (geometry).getCoordinates(); + for (i = 0, ii = coordinates.length; i < ii; ++i) { + length += GVol.Sphere.getLength_(coordinates[i], radius); + } + break; + } + case GVol.geom.GeometryType.MULTI_POLYGON: { + coordinates = /** @type {GVol.geom.SimpleGeometry} */ (geometry).getCoordinates(); + for (i = 0, ii = coordinates.length; i < ii; ++i) { + coords = coordinates[i]; + for (j = 0, jj = coords.length; j < jj; ++j) { + length += GVol.Sphere.getLength_(coords[j], radius); + } + } + break; + } + case GVol.geom.GeometryType.GEOMETRY_COLLECTION: { + var geometries = /** @type {GVol.geom.GeometryCGVollection} */ (geometry).getGeometries(); + for (i = 0, ii = geometries.length; i < ii; ++i) { + length += GVol.Sphere.getLength(geometries[i], opt_options); + } + break; + } + default: { + throw new Error('Unsupported geometry type: ' + type); + } + } + return length; +}; + + +/** + * Get the cumulative great circle length of linestring coordinates (geographic). + * @param {Array} coordinates Linestring coordinates. + * @param {number} radius The sphere radius to use. + * @return {number} The length (in meters). + */ +GVol.Sphere.getLength_ = function(coordinates, radius) { + var length = 0; + for (var i = 0, ii = coordinates.length; i < ii - 1; ++i) { + length += GVol.Sphere.getDistance_(coordinates[i], coordinates[i + 1], radius); + } + return length; +}; + + +/** + * Get the great circle distance between two geographic coordinates. + * @param {Array} c1 Starting coordinate. + * @param {Array} c2 Ending coordinate. + * @param {number} radius The sphere radius to use. + * @return {number} The great circle distance between the points (in meters). + */ +GVol.Sphere.getDistance_ = function(c1, c2, radius) { + var lat1 = GVol.math.toRadians(c1[1]); + var lat2 = GVol.math.toRadians(c2[1]); + var deltaLatBy2 = (lat2 - lat1) / 2; + var deltaLonBy2 = GVol.math.toRadians(c2[0] - c1[0]) / 2; + var a = Math.sin(deltaLatBy2) * Math.sin(deltaLatBy2) + + Math.sin(deltaLonBy2) * Math.sin(deltaLonBy2) * + Math.cos(lat1) * Math.cos(lat2); + return 2 * radius * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); +}; + + +/** + * Get the spherical area of a geometry. This is the area (in meters) assuming + * that pGVolygon edges are segments of great circles on a sphere. + * @param {GVol.geom.Geometry} geometry A geometry. + * @param {GVolx.SphereMetricOptions=} opt_options Options for the area + * calculation. By default, geometries are assumed to be in 'EPSG:3857'. + * You can change this by providing a `projection` option. + * @return {number} The spherical area (in square meters). + * @api + */ +GVol.Sphere.getArea = function(geometry, opt_options) { + var options = opt_options || {}; + var radius = options.radius || GVol.Sphere.DEFAULT_RADIUS; + var projection = options.projection || 'EPSG:3857'; + geometry = geometry.clone().transform(projection, 'EPSG:4326'); + var type = geometry.getType(); + var area = 0; + var coordinates, coords, i, ii, j, jj; + switch (type) { + case GVol.geom.GeometryType.POINT: + case GVol.geom.GeometryType.MULTI_POINT: + case GVol.geom.GeometryType.LINE_STRING: + case GVol.geom.GeometryType.MULTI_LINE_STRING: + case GVol.geom.GeometryType.LINEAR_RING: { + break; + } + case GVol.geom.GeometryType.POLYGON: { + coordinates = /** @type {GVol.geom.PGVolygon} */ (geometry).getCoordinates(); + area = Math.abs(GVol.Sphere.getArea_(coordinates[0], radius)); + for (i = 1, ii = coordinates.length; i < ii; ++i) { + area -= Math.abs(GVol.Sphere.getArea_(coordinates[i], radius)); + } + break; + } + case GVol.geom.GeometryType.MULTI_POLYGON: { + coordinates = /** @type {GVol.geom.SimpleGeometry} */ (geometry).getCoordinates(); + for (i = 0, ii = coordinates.length; i < ii; ++i) { + coords = coordinates[i]; + area += Math.abs(GVol.Sphere.getArea_(coords[0], radius)); + for (j = 1, jj = coords.length; j < jj; ++j) { + area -= Math.abs(GVol.Sphere.getArea_(coords[j], radius)); + } + } + break; + } + case GVol.geom.GeometryType.GEOMETRY_COLLECTION: { + var geometries = /** @type {GVol.geom.GeometryCGVollection} */ (geometry).getGeometries(); + for (i = 0, ii = geometries.length; i < ii; ++i) { + area += GVol.Sphere.getArea(geometries[i], opt_options); + } + break; + } + default: { + throw new Error('Unsupported geometry type: ' + type); + } + } + return area; +}; + + +/** + * Returns the spherical area for a list of coordinates. + * + * [Reference](https://trs-new.jpl.nasa.gov/handle/2014/40409) + * Robert. G. Chamberlain and William H. Duquette, "Some Algorithms for + * PGVolygons on a Sphere", JPL Publication 07-03, Jet Propulsion + * Laboratory, Pasadena, CA, June 2007 + * + * @param {Array.<GVol.Coordinate>} coordinates List of coordinates of a linear + * ring. If the ring is oriented clockwise, the area will be positive, + * otherwise it will be negative. + * @param {number} radius The sphere radius. + * @return {number} Area (in square meters). + */ +GVol.Sphere.getArea_ = function(coordinates, radius) { + var area = 0, len = coordinates.length; + var x1 = coordinates[len - 1][0]; + var y1 = coordinates[len - 1][1]; + for (var i = 0; i < len; i++) { + var x2 = coordinates[i][0], y2 = coordinates[i][1]; + area += GVol.math.toRadians(x2 - x1) * + (2 + Math.sin(GVol.math.toRadians(y1)) + + Math.sin(GVol.math.toRadians(y2))); + x1 = x2; + y1 = y2; + } + return area * radius * radius / 2.0; +}; + +goog.provide('GVol.proj.Units'); + + +/** + * Projection units: `'degrees'`, `'ft'`, `'m'`, `'pixels'`, `'tile-pixels'` or + * `'us-ft'`. + * @enum {string} + */ +GVol.proj.Units = { + DEGREES: 'degrees', + FEET: 'ft', + METERS: 'm', + PIXELS: 'pixels', + TILE_PIXELS: 'tile-pixels', + USFEET: 'us-ft' +}; + + +/** + * Meters per unit lookup table. + * @const + * @type {Object.<GVol.proj.Units, number>} + * @api + */ +GVol.proj.Units.METERS_PER_UNIT = {}; +// use the radius of the Normal sphere +GVol.proj.Units.METERS_PER_UNIT[GVol.proj.Units.DEGREES] = + 2 * Math.PI * 6370997 / 360; +GVol.proj.Units.METERS_PER_UNIT[GVol.proj.Units.FEET] = 0.3048; +GVol.proj.Units.METERS_PER_UNIT[GVol.proj.Units.METERS] = 1; +GVol.proj.Units.METERS_PER_UNIT[GVol.proj.Units.USFEET] = 1200 / 3937; + +goog.provide('GVol.proj.proj4'); + + +/** + * @private + * @type {Proj4} + */ +GVol.proj.proj4.cache_ = null; + + +/** + * Store the proj4 function. + * @param {Proj4} proj4 The proj4 function. + */ +GVol.proj.proj4.set = function(proj4) { + GVol.proj.proj4.cache_ = proj4; +}; + + +/** + * Get proj4. + * @return {Proj4} The proj4 function set above or available globally. + */ +GVol.proj.proj4.get = function() { + return GVol.proj.proj4.cache_ || window['proj4']; +}; + +goog.provide('GVol.proj.Projection'); + +goog.require('GVol'); +goog.require('GVol.proj.Units'); +goog.require('GVol.proj.proj4'); + + +/** + * @classdesc + * Projection definition class. One of these is created for each projection + * supported in the application and stored in the {@link GVol.proj} namespace. + * You can use these in applications, but this is not required, as API params + * and options use {@link GVol.ProjectionLike} which means the simple string + * code will suffice. + * + * You can use {@link GVol.proj.get} to retrieve the object for a particular + * projection. + * + * The library includes definitions for `EPSG:4326` and `EPSG:3857`, together + * with the fGVollowing aliases: + * * `EPSG:4326`: CRS:84, urn:ogc:def:crs:EPSG:6.6:4326, + * urn:ogc:def:crs:OGC:1.3:CRS84, urn:ogc:def:crs:OGC:2:84, + * http://www.opengis.net/gml/srs/epsg.xml#4326, + * urn:x-ogc:def:crs:EPSG:4326 + * * `EPSG:3857`: EPSG:102100, EPSG:102113, EPSG:900913, + * urn:ogc:def:crs:EPSG:6.18:3:3857, + * http://www.opengis.net/gml/srs/epsg.xml#3857 + * + * If you use proj4js, aliases can be added using `proj4.defs()`; see + * [documentation](https://github.com/proj4js/proj4js). To set an alternative + * namespace for proj4, use {@link GVol.proj.setProj4}. + * + * @constructor + * @param {GVolx.ProjectionOptions} options Projection options. + * @struct + * @api + */ +GVol.proj.Projection = function(options) { + /** + * @private + * @type {string} + */ + this.code_ = options.code; + + /** + * @private + * @type {GVol.proj.Units} + */ + this.units_ = /** @type {GVol.proj.Units} */ (options.units); + + /** + * @private + * @type {GVol.Extent} + */ + this.extent_ = options.extent !== undefined ? options.extent : null; + + /** + * @private + * @type {GVol.Extent} + */ + this.worldExtent_ = options.worldExtent !== undefined ? + options.worldExtent : null; + + /** + * @private + * @type {string} + */ + this.axisOrientation_ = options.axisOrientation !== undefined ? + options.axisOrientation : 'enu'; + + /** + * @private + * @type {boGVolean} + */ + this.global_ = options.global !== undefined ? options.global : false; + + /** + * @private + * @type {boGVolean} + */ + this.canWrapX_ = !!(this.global_ && this.extent_); + + /** + * @private + * @type {function(number, GVol.Coordinate):number|undefined} + */ + this.getPointResGVolutionFunc_ = options.getPointResGVolution; + + /** + * @private + * @type {GVol.tilegrid.TileGrid} + */ + this.defaultTileGrid_ = null; + + /** + * @private + * @type {number|undefined} + */ + this.metersPerUnit_ = options.metersPerUnit; + + var code = options.code; + if (GVol.ENABLE_PROJ4JS) { + var proj4js = GVol.proj.proj4.get(); + if (typeof proj4js == 'function') { + var def = proj4js.defs(code); + if (def !== undefined) { + if (def.axis !== undefined && options.axisOrientation === undefined) { + this.axisOrientation_ = def.axis; + } + if (options.metersPerUnit === undefined) { + this.metersPerUnit_ = def.to_meter; + } + if (options.units === undefined) { + this.units_ = def.units; + } + } + } + } +}; + + +/** + * @return {boGVolean} The projection is suitable for wrapping the x-axis + */ +GVol.proj.Projection.prototype.canWrapX = function() { + return this.canWrapX_; +}; + + +/** + * Get the code for this projection, e.g. 'EPSG:4326'. + * @return {string} Code. + * @api + */ +GVol.proj.Projection.prototype.getCode = function() { + return this.code_; +}; + + +/** + * Get the validity extent for this projection. + * @return {GVol.Extent} Extent. + * @api + */ +GVol.proj.Projection.prototype.getExtent = function() { + return this.extent_; +}; + + +/** + * Get the units of this projection. + * @return {GVol.proj.Units} Units. + * @api + */ +GVol.proj.Projection.prototype.getUnits = function() { + return this.units_; +}; + + +/** + * Get the amount of meters per unit of this projection. If the projection is + * not configured with `metersPerUnit` or a units identifier, the return is + * `undefined`. + * @return {number|undefined} Meters. + * @api + */ +GVol.proj.Projection.prototype.getMetersPerUnit = function() { + return this.metersPerUnit_ || GVol.proj.Units.METERS_PER_UNIT[this.units_]; +}; + + +/** + * Get the world extent for this projection. + * @return {GVol.Extent} Extent. + * @api + */ +GVol.proj.Projection.prototype.getWorldExtent = function() { + return this.worldExtent_; +}; + + +/** + * Get the axis orientation of this projection. + * Example values are: + * enu - the default easting, northing, elevation. + * neu - northing, easting, up - useful for "lat/long" geographic coordinates, + * or south orientated transverse mercator. + * wnu - westing, northing, up - some planetary coordinate systems have + * "west positive" coordinate systems + * @return {string} Axis orientation. + */ +GVol.proj.Projection.prototype.getAxisOrientation = function() { + return this.axisOrientation_; +}; + + +/** + * Is this projection a global projection which spans the whGVole world? + * @return {boGVolean} Whether the projection is global. + * @api + */ +GVol.proj.Projection.prototype.isGlobal = function() { + return this.global_; +}; + + +/** +* Set if the projection is a global projection which spans the whGVole world +* @param {boGVolean} global Whether the projection is global. +* @api +*/ +GVol.proj.Projection.prototype.setGlobal = function(global) { + this.global_ = global; + this.canWrapX_ = !!(global && this.extent_); +}; + + +/** + * @return {GVol.tilegrid.TileGrid} The default tile grid. + */ +GVol.proj.Projection.prototype.getDefaultTileGrid = function() { + return this.defaultTileGrid_; +}; + + +/** + * @param {GVol.tilegrid.TileGrid} tileGrid The default tile grid. + */ +GVol.proj.Projection.prototype.setDefaultTileGrid = function(tileGrid) { + this.defaultTileGrid_ = tileGrid; +}; + + +/** + * Set the validity extent for this projection. + * @param {GVol.Extent} extent Extent. + * @api + */ +GVol.proj.Projection.prototype.setExtent = function(extent) { + this.extent_ = extent; + this.canWrapX_ = !!(this.global_ && extent); +}; + + +/** + * Set the world extent for this projection. + * @param {GVol.Extent} worldExtent World extent + * [minlon, minlat, maxlon, maxlat]. + * @api + */ +GVol.proj.Projection.prototype.setWorldExtent = function(worldExtent) { + this.worldExtent_ = worldExtent; +}; + + +/** + * Set the getPointResGVolution function (see {@link GVol.proj#getPointResGVolution} + * for this projection. + * @param {function(number, GVol.Coordinate):number} func Function + * @api + */ +GVol.proj.Projection.prototype.setGetPointResGVolution = function(func) { + this.getPointResGVolutionFunc_ = func; +}; + + +/** + * Get the custom point resGVolution function for this projection (if set). + * @return {function(number, GVol.Coordinate):number|undefined} The custom point + * resGVolution function (if set). + */ +GVol.proj.Projection.prototype.getPointResGVolutionFunc = function() { + return this.getPointResGVolutionFunc_; +}; + +goog.provide('GVol.proj.EPSG3857'); + +goog.require('GVol'); +goog.require('GVol.math'); +goog.require('GVol.proj.Projection'); +goog.require('GVol.proj.Units'); + + +/** + * @classdesc + * Projection object for web/spherical Mercator (EPSG:3857). + * + * @constructor + * @extends {GVol.proj.Projection} + * @param {string} code Code. + * @private + */ +GVol.proj.EPSG3857.Projection_ = function(code) { + GVol.proj.Projection.call(this, { + code: code, + units: GVol.proj.Units.METERS, + extent: GVol.proj.EPSG3857.EXTENT, + global: true, + worldExtent: GVol.proj.EPSG3857.WORLD_EXTENT, + getPointResGVolution: function(resGVolution, point) { + return resGVolution / GVol.math.cosh(point[1] / GVol.proj.EPSG3857.RADIUS); + } + }); +}; +GVol.inherits(GVol.proj.EPSG3857.Projection_, GVol.proj.Projection); + + +/** + * Radius of WGS84 sphere + * + * @const + * @type {number} + */ +GVol.proj.EPSG3857.RADIUS = 6378137; + + +/** + * @const + * @type {number} + */ +GVol.proj.EPSG3857.HALF_SIZE = Math.PI * GVol.proj.EPSG3857.RADIUS; + + +/** + * @const + * @type {GVol.Extent} + */ +GVol.proj.EPSG3857.EXTENT = [ + -GVol.proj.EPSG3857.HALF_SIZE, -GVol.proj.EPSG3857.HALF_SIZE, + GVol.proj.EPSG3857.HALF_SIZE, GVol.proj.EPSG3857.HALF_SIZE +]; + + +/** + * @const + * @type {GVol.Extent} + */ +GVol.proj.EPSG3857.WORLD_EXTENT = [-180, -85, 180, 85]; + + +/** + * Projections equal to EPSG:3857. + * + * @const + * @type {Array.<GVol.proj.Projection>} + */ +GVol.proj.EPSG3857.PROJECTIONS = [ + new GVol.proj.EPSG3857.Projection_('EPSG:3857'), + new GVol.proj.EPSG3857.Projection_('EPSG:102100'), + new GVol.proj.EPSG3857.Projection_('EPSG:102113'), + new GVol.proj.EPSG3857.Projection_('EPSG:900913'), + new GVol.proj.EPSG3857.Projection_('urn:ogc:def:crs:EPSG:6.18:3:3857'), + new GVol.proj.EPSG3857.Projection_('urn:ogc:def:crs:EPSG::3857'), + new GVol.proj.EPSG3857.Projection_('http://www.opengis.net/gml/srs/epsg.xml#3857') +]; + + +/** + * Transformation from EPSG:4326 to EPSG:3857. + * + * @param {Array.<number>} input Input array of coordinate values. + * @param {Array.<number>=} opt_output Output array of coordinate values. + * @param {number=} opt_dimension Dimension (default is `2`). + * @return {Array.<number>} Output array of coordinate values. + */ +GVol.proj.EPSG3857.fromEPSG4326 = function(input, opt_output, opt_dimension) { + var length = input.length, + dimension = opt_dimension > 1 ? opt_dimension : 2, + output = opt_output; + if (output === undefined) { + if (dimension > 2) { + // preserve values beyond second dimension + output = input.slice(); + } else { + output = new Array(length); + } + } + var halfSize = GVol.proj.EPSG3857.HALF_SIZE; + for (var i = 0; i < length; i += dimension) { + output[i] = halfSize * input[i] / 180; + var y = GVol.proj.EPSG3857.RADIUS * + Math.log(Math.tan(Math.PI * (input[i + 1] + 90) / 360)); + if (y > halfSize) { + y = halfSize; + } else if (y < -halfSize) { + y = -halfSize; + } + output[i + 1] = y; + } + return output; +}; + + +/** + * Transformation from EPSG:3857 to EPSG:4326. + * + * @param {Array.<number>} input Input array of coordinate values. + * @param {Array.<number>=} opt_output Output array of coordinate values. + * @param {number=} opt_dimension Dimension (default is `2`). + * @return {Array.<number>} Output array of coordinate values. + */ +GVol.proj.EPSG3857.toEPSG4326 = function(input, opt_output, opt_dimension) { + var length = input.length, + dimension = opt_dimension > 1 ? opt_dimension : 2, + output = opt_output; + if (output === undefined) { + if (dimension > 2) { + // preserve values beyond second dimension + output = input.slice(); + } else { + output = new Array(length); + } + } + for (var i = 0; i < length; i += dimension) { + output[i] = 180 * input[i] / GVol.proj.EPSG3857.HALF_SIZE; + output[i + 1] = 360 * Math.atan( + Math.exp(input[i + 1] / GVol.proj.EPSG3857.RADIUS)) / Math.PI - 90; + } + return output; +}; + +goog.provide('GVol.proj.EPSG4326'); + +goog.require('GVol'); +goog.require('GVol.proj.Projection'); +goog.require('GVol.proj.Units'); + + +/** + * @classdesc + * Projection object for WGS84 geographic coordinates (EPSG:4326). + * + * Note that OpenLayers does not strictly comply with the EPSG definition. + * The EPSG registry defines 4326 as a CRS for Latitude,Longitude (y,x). + * OpenLayers treats EPSG:4326 as a pseudo-projection, with x,y coordinates. + * + * @constructor + * @extends {GVol.proj.Projection} + * @param {string} code Code. + * @param {string=} opt_axisOrientation Axis orientation. + * @private + */ +GVol.proj.EPSG4326.Projection_ = function(code, opt_axisOrientation) { + GVol.proj.Projection.call(this, { + code: code, + units: GVol.proj.Units.DEGREES, + extent: GVol.proj.EPSG4326.EXTENT, + axisOrientation: opt_axisOrientation, + global: true, + metersPerUnit: GVol.proj.EPSG4326.METERS_PER_UNIT, + worldExtent: GVol.proj.EPSG4326.EXTENT + }); +}; +GVol.inherits(GVol.proj.EPSG4326.Projection_, GVol.proj.Projection); + + +/** + * Radius of WGS84 sphere + * + * @const + * @type {number} + */ +GVol.proj.EPSG4326.RADIUS = 6378137; + + +/** + * Extent of the EPSG:4326 projection which is the whGVole world. + * + * @const + * @type {GVol.Extent} + */ +GVol.proj.EPSG4326.EXTENT = [-180, -90, 180, 90]; + + +/** + * @const + * @type {number} + */ +GVol.proj.EPSG4326.METERS_PER_UNIT = Math.PI * GVol.proj.EPSG4326.RADIUS / 180; + + +/** + * Projections equal to EPSG:4326. + * + * @const + * @type {Array.<GVol.proj.Projection>} + */ +GVol.proj.EPSG4326.PROJECTIONS = [ + new GVol.proj.EPSG4326.Projection_('CRS:84'), + new GVol.proj.EPSG4326.Projection_('EPSG:4326', 'neu'), + new GVol.proj.EPSG4326.Projection_('urn:ogc:def:crs:EPSG::4326', 'neu'), + new GVol.proj.EPSG4326.Projection_('urn:ogc:def:crs:EPSG:6.6:4326', 'neu'), + new GVol.proj.EPSG4326.Projection_('urn:ogc:def:crs:OGC:1.3:CRS84'), + new GVol.proj.EPSG4326.Projection_('urn:ogc:def:crs:OGC:2:84'), + new GVol.proj.EPSG4326.Projection_('http://www.opengis.net/gml/srs/epsg.xml#4326', 'neu'), + new GVol.proj.EPSG4326.Projection_('urn:x-ogc:def:crs:EPSG:4326', 'neu') +]; + +goog.provide('GVol.proj.projections'); + + +/** + * @private + * @type {Object.<string, GVol.proj.Projection>} + */ +GVol.proj.projections.cache_ = {}; + + +/** + * Clear the projections cache. + */ +GVol.proj.projections.clear = function() { + GVol.proj.projections.cache_ = {}; +}; + + +/** + * Get a cached projection by code. + * @param {string} code The code for the projection. + * @return {GVol.proj.Projection} The projection (if cached). + */ +GVol.proj.projections.get = function(code) { + var projections = GVol.proj.projections.cache_; + return projections[code] || null; +}; + + +/** + * Add a projection to the cache. + * @param {string} code The projection code. + * @param {GVol.proj.Projection} projection The projection to cache. + */ +GVol.proj.projections.add = function(code, projection) { + var projections = GVol.proj.projections.cache_; + projections[code] = projection; +}; + +goog.provide('GVol.proj.transforms'); + +goog.require('GVol.obj'); + + +/** + * @private + * @type {Object.<string, Object.<string, GVol.TransformFunction>>} + */ +GVol.proj.transforms.cache_ = {}; + + +/** + * Clear the transform cache. + */ +GVol.proj.transforms.clear = function() { + GVol.proj.transforms.cache_ = {}; +}; + + +/** + * Registers a conversion function to convert coordinates from the source + * projection to the destination projection. + * + * @param {GVol.proj.Projection} source Source. + * @param {GVol.proj.Projection} destination Destination. + * @param {GVol.TransformFunction} transformFn Transform. + */ +GVol.proj.transforms.add = function(source, destination, transformFn) { + var sourceCode = source.getCode(); + var destinationCode = destination.getCode(); + var transforms = GVol.proj.transforms.cache_; + if (!(sourceCode in transforms)) { + transforms[sourceCode] = {}; + } + transforms[sourceCode][destinationCode] = transformFn; +}; + + +/** + * Unregisters the conversion function to convert coordinates from the source + * projection to the destination projection. This method is used to clean up + * cached transforms during testing. + * + * @param {GVol.proj.Projection} source Source projection. + * @param {GVol.proj.Projection} destination Destination projection. + * @return {GVol.TransformFunction} transformFn The unregistered transform. + */ +GVol.proj.transforms.remove = function(source, destination) { + var sourceCode = source.getCode(); + var destinationCode = destination.getCode(); + var transforms = GVol.proj.transforms.cache_; + var transform = transforms[sourceCode][destinationCode]; + delete transforms[sourceCode][destinationCode]; + if (GVol.obj.isEmpty(transforms[sourceCode])) { + delete transforms[sourceCode]; + } + return transform; +}; + + +/** + * Get a transform given a source code and a destination code. + * @param {string} sourceCode The code for the source projection. + * @param {string} destinationCode The code for the destination projection. + * @return {GVol.TransformFunction|undefined} The transform function (if found). + */ +GVol.proj.transforms.get = function(sourceCode, destinationCode) { + var transform; + var transforms = GVol.proj.transforms.cache_; + if (sourceCode in transforms && destinationCode in transforms[sourceCode]) { + transform = transforms[sourceCode][destinationCode]; + } + return transform; +}; + +goog.provide('GVol.proj'); + +goog.require('GVol'); +goog.require('GVol.Sphere'); +goog.require('GVol.extent'); +goog.require('GVol.proj.EPSG3857'); +goog.require('GVol.proj.EPSG4326'); +goog.require('GVol.proj.Projection'); +goog.require('GVol.proj.Units'); +goog.require('GVol.proj.proj4'); +goog.require('GVol.proj.projections'); +goog.require('GVol.proj.transforms'); + + +/** + * Meters per unit lookup table. + * @const + * @type {Object.<GVol.proj.Units, number>} + * @api + */ +GVol.proj.METERS_PER_UNIT = GVol.proj.Units.METERS_PER_UNIT; + + +/** + * A place to store the mean radius of the Earth. + * @private + * @type {GVol.Sphere} + */ +GVol.proj.SPHERE_ = new GVol.Sphere(GVol.Sphere.DEFAULT_RADIUS); + + +if (GVol.ENABLE_PROJ4JS) { + /** + * Register proj4. If not explicitly registered, it will be assumed that + * proj4js will be loaded in the global namespace. For example in a + * browserify ES6 environment you could use: + * + * import GVol from 'openlayers'; + * import proj4 from 'proj4'; + * GVol.proj.setProj4(proj4); + * + * @param {Proj4} proj4 Proj4. + * @api + */ + GVol.proj.setProj4 = function(proj4) { + GVol.proj.proj4.set(proj4); + }; +} + + +/** + * Get the resGVolution of the point in degrees or distance units. + * For projections with degrees as the unit this will simply return the + * provided resGVolution. For other projections the point resGVolution is + * by default estimated by transforming the 'point' pixel to EPSG:4326, + * measuring its width and height on the normal sphere, + * and taking the average of the width and height. + * A custom function can be provided for a specific projection, either + * by setting the `getPointResGVolution` option in the + * {@link GVol.proj.Projection} constructor or by using + * {@link GVol.proj.Projection#setGetPointResGVolution} to change an existing + * projection object. + * @param {GVol.ProjectionLike} projection The projection. + * @param {number} resGVolution Nominal resGVolution in projection units. + * @param {GVol.Coordinate} point Point to find adjusted resGVolution at. + * @param {GVol.proj.Units=} opt_units Units to get the point resGVolution in. + * Default is the projection's units. + * @return {number} Point resGVolution. + * @api + */ +GVol.proj.getPointResGVolution = function(projection, resGVolution, point, opt_units) { + projection = GVol.proj.get(projection); + var pointResGVolution; + var getter = projection.getPointResGVolutionFunc(); + if (getter) { + pointResGVolution = getter(resGVolution, point); + } else { + var units = projection.getUnits(); + if (units == GVol.proj.Units.DEGREES && !opt_units || opt_units == GVol.proj.Units.DEGREES) { + pointResGVolution = resGVolution; + } else { + // Estimate point resGVolution by transforming the center pixel to EPSG:4326, + // measuring its width and height on the normal sphere, and taking the + // average of the width and height. + var toEPSG4326 = GVol.proj.getTransformFromProjections(projection, GVol.proj.get('EPSG:4326')); + var vertices = [ + point[0] - resGVolution / 2, point[1], + point[0] + resGVolution / 2, point[1], + point[0], point[1] - resGVolution / 2, + point[0], point[1] + resGVolution / 2 + ]; + vertices = toEPSG4326(vertices, vertices, 2); + var width = GVol.proj.SPHERE_.haversineDistance( + vertices.slice(0, 2), vertices.slice(2, 4)); + var height = GVol.proj.SPHERE_.haversineDistance( + vertices.slice(4, 6), vertices.slice(6, 8)); + pointResGVolution = (width + height) / 2; + var metersPerUnit = opt_units ? + GVol.proj.Units.METERS_PER_UNIT[opt_units] : + projection.getMetersPerUnit(); + if (metersPerUnit !== undefined) { + pointResGVolution /= metersPerUnit; + } + } + } + return pointResGVolution; +}; + + +/** + * Registers transformation functions that don't alter coordinates. Those allow + * to transform between projections with equal meaning. + * + * @param {Array.<GVol.proj.Projection>} projections Projections. + * @api + */ +GVol.proj.addEquivalentProjections = function(projections) { + GVol.proj.addProjections(projections); + projections.forEach(function(source) { + projections.forEach(function(destination) { + if (source !== destination) { + GVol.proj.transforms.add(source, destination, GVol.proj.cloneTransform); + } + }); + }); +}; + + +/** + * Registers transformation functions to convert coordinates in any projection + * in projection1 to any projection in projection2. + * + * @param {Array.<GVol.proj.Projection>} projections1 Projections with equal + * meaning. + * @param {Array.<GVol.proj.Projection>} projections2 Projections with equal + * meaning. + * @param {GVol.TransformFunction} forwardTransform Transformation from any + * projection in projection1 to any projection in projection2. + * @param {GVol.TransformFunction} inverseTransform Transform from any projection + * in projection2 to any projection in projection1.. + */ +GVol.proj.addEquivalentTransforms = function(projections1, projections2, forwardTransform, inverseTransform) { + projections1.forEach(function(projection1) { + projections2.forEach(function(projection2) { + GVol.proj.transforms.add(projection1, projection2, forwardTransform); + GVol.proj.transforms.add(projection2, projection1, inverseTransform); + }); + }); +}; + + +/** + * Add a Projection object to the list of supported projections that can be + * looked up by their code. + * + * @param {GVol.proj.Projection} projection Projection instance. + * @api + */ +GVol.proj.addProjection = function(projection) { + GVol.proj.projections.add(projection.getCode(), projection); + GVol.proj.transforms.add(projection, projection, GVol.proj.cloneTransform); +}; + + +/** + * @param {Array.<GVol.proj.Projection>} projections Projections. + */ +GVol.proj.addProjections = function(projections) { + projections.forEach(GVol.proj.addProjection); +}; + + +/** + * Clear all cached projections and transforms. + */ +GVol.proj.clearAllProjections = function() { + GVol.proj.projections.clear(); + GVol.proj.transforms.clear(); +}; + + +/** + * @param {GVol.proj.Projection|string|undefined} projection Projection. + * @param {string} defaultCode Default code. + * @return {GVol.proj.Projection} Projection. + */ +GVol.proj.createProjection = function(projection, defaultCode) { + if (!projection) { + return GVol.proj.get(defaultCode); + } else if (typeof projection === 'string') { + return GVol.proj.get(projection); + } else { + return /** @type {GVol.proj.Projection} */ (projection); + } +}; + + +/** + * Registers coordinate transform functions to convert coordinates between the + * source projection and the destination projection. + * The forward and inverse functions convert coordinate pairs; this function + * converts these into the functions used internally which also handle + * extents and coordinate arrays. + * + * @param {GVol.ProjectionLike} source Source projection. + * @param {GVol.ProjectionLike} destination Destination projection. + * @param {function(GVol.Coordinate): GVol.Coordinate} forward The forward transform + * function (that is, from the source projection to the destination + * projection) that takes a {@link GVol.Coordinate} as argument and returns + * the transformed {@link GVol.Coordinate}. + * @param {function(GVol.Coordinate): GVol.Coordinate} inverse The inverse transform + * function (that is, from the destination projection to the source + * projection) that takes a {@link GVol.Coordinate} as argument and returns + * the transformed {@link GVol.Coordinate}. + * @api + */ +GVol.proj.addCoordinateTransforms = function(source, destination, forward, inverse) { + var sourceProj = GVol.proj.get(source); + var destProj = GVol.proj.get(destination); + GVol.proj.transforms.add(sourceProj, destProj, + GVol.proj.createTransformFromCoordinateTransform(forward)); + GVol.proj.transforms.add(destProj, sourceProj, + GVol.proj.createTransformFromCoordinateTransform(inverse)); +}; + + +/** + * Creates a {@link GVol.TransformFunction} from a simple 2D coordinate transform + * function. + * @param {function(GVol.Coordinate): GVol.Coordinate} transform Coordinate + * transform. + * @return {GVol.TransformFunction} Transform function. + */ +GVol.proj.createTransformFromCoordinateTransform = function(transform) { + return ( + /** + * @param {Array.<number>} input Input. + * @param {Array.<number>=} opt_output Output. + * @param {number=} opt_dimension Dimension. + * @return {Array.<number>} Output. + */ + function(input, opt_output, opt_dimension) { + var length = input.length; + var dimension = opt_dimension !== undefined ? opt_dimension : 2; + var output = opt_output !== undefined ? opt_output : new Array(length); + var point, i, j; + for (i = 0; i < length; i += dimension) { + point = transform([input[i], input[i + 1]]); + output[i] = point[0]; + output[i + 1] = point[1]; + for (j = dimension - 1; j >= 2; --j) { + output[i + j] = input[i + j]; + } + } + return output; + }); +}; + + +/** + * Transforms a coordinate from longitude/latitude to a different projection. + * @param {GVol.Coordinate} coordinate Coordinate as longitude and latitude, i.e. + * an array with longitude as 1st and latitude as 2nd element. + * @param {GVol.ProjectionLike=} opt_projection Target projection. The + * default is Web Mercator, i.e. 'EPSG:3857'. + * @return {GVol.Coordinate} Coordinate projected to the target projection. + * @api + */ +GVol.proj.fromLonLat = function(coordinate, opt_projection) { + return GVol.proj.transform(coordinate, 'EPSG:4326', + opt_projection !== undefined ? opt_projection : 'EPSG:3857'); +}; + + +/** + * Transforms a coordinate to longitude/latitude. + * @param {GVol.Coordinate} coordinate Projected coordinate. + * @param {GVol.ProjectionLike=} opt_projection Projection of the coordinate. + * The default is Web Mercator, i.e. 'EPSG:3857'. + * @return {GVol.Coordinate} Coordinate as longitude and latitude, i.e. an array + * with longitude as 1st and latitude as 2nd element. + * @api + */ +GVol.proj.toLonLat = function(coordinate, opt_projection) { + return GVol.proj.transform(coordinate, + opt_projection !== undefined ? opt_projection : 'EPSG:3857', 'EPSG:4326'); +}; + + +/** + * Fetches a Projection object for the code specified. + * + * @param {GVol.ProjectionLike} projectionLike Either a code string which is + * a combination of authority and identifier such as "EPSG:4326", or an + * existing projection object, or undefined. + * @return {GVol.proj.Projection} Projection object, or null if not in list. + * @api + */ +GVol.proj.get = function(projectionLike) { + var projection = null; + if (projectionLike instanceof GVol.proj.Projection) { + projection = projectionLike; + } else if (typeof projectionLike === 'string') { + var code = projectionLike; + projection = GVol.proj.projections.get(code); + if (GVol.ENABLE_PROJ4JS && !projection) { + var proj4js = GVol.proj.proj4.get(); + if (typeof proj4js == 'function' && + proj4js.defs(code) !== undefined) { + projection = new GVol.proj.Projection({code: code}); + GVol.proj.addProjection(projection); + } + } + } + return projection; +}; + + +/** + * Checks if two projections are the same, that is every coordinate in one + * projection does represent the same geographic point as the same coordinate in + * the other projection. + * + * @param {GVol.proj.Projection} projection1 Projection 1. + * @param {GVol.proj.Projection} projection2 Projection 2. + * @return {boGVolean} Equivalent. + * @api + */ +GVol.proj.equivalent = function(projection1, projection2) { + if (projection1 === projection2) { + return true; + } + var equalUnits = projection1.getUnits() === projection2.getUnits(); + if (projection1.getCode() === projection2.getCode()) { + return equalUnits; + } else { + var transformFn = GVol.proj.getTransformFromProjections( + projection1, projection2); + return transformFn === GVol.proj.cloneTransform && equalUnits; + } +}; + + +/** + * Given the projection-like objects, searches for a transformation + * function to convert a coordinates array from the source projection to the + * destination projection. + * + * @param {GVol.ProjectionLike} source Source. + * @param {GVol.ProjectionLike} destination Destination. + * @return {GVol.TransformFunction} Transform function. + * @api + */ +GVol.proj.getTransform = function(source, destination) { + var sourceProjection = GVol.proj.get(source); + var destinationProjection = GVol.proj.get(destination); + return GVol.proj.getTransformFromProjections( + sourceProjection, destinationProjection); +}; + + +/** + * Searches in the list of transform functions for the function for converting + * coordinates from the source projection to the destination projection. + * + * @param {GVol.proj.Projection} sourceProjection Source Projection object. + * @param {GVol.proj.Projection} destinationProjection Destination Projection + * object. + * @return {GVol.TransformFunction} Transform function. + */ +GVol.proj.getTransformFromProjections = function(sourceProjection, destinationProjection) { + var sourceCode = sourceProjection.getCode(); + var destinationCode = destinationProjection.getCode(); + var transform = GVol.proj.transforms.get(sourceCode, destinationCode); + if (GVol.ENABLE_PROJ4JS && !transform) { + var proj4js = GVol.proj.proj4.get(); + if (typeof proj4js == 'function') { + var sourceDef = proj4js.defs(sourceCode); + var destinationDef = proj4js.defs(destinationCode); + + if (sourceDef !== undefined && destinationDef !== undefined) { + if (sourceDef === destinationDef) { + GVol.proj.addEquivalentProjections([destinationProjection, sourceProjection]); + } else { + var proj4Transform = proj4js(destinationCode, sourceCode); + GVol.proj.addCoordinateTransforms(destinationProjection, sourceProjection, + proj4Transform.forward, proj4Transform.inverse); + } + transform = GVol.proj.transforms.get(sourceCode, destinationCode); + } + } + } + if (!transform) { + transform = GVol.proj.identityTransform; + } + return transform; +}; + + +/** + * @param {Array.<number>} input Input coordinate array. + * @param {Array.<number>=} opt_output Output array of coordinate values. + * @param {number=} opt_dimension Dimension. + * @return {Array.<number>} Input coordinate array (same array as input). + */ +GVol.proj.identityTransform = function(input, opt_output, opt_dimension) { + if (opt_output !== undefined && input !== opt_output) { + for (var i = 0, ii = input.length; i < ii; ++i) { + opt_output[i] = input[i]; + } + input = opt_output; + } + return input; +}; + + +/** + * @param {Array.<number>} input Input coordinate array. + * @param {Array.<number>=} opt_output Output array of coordinate values. + * @param {number=} opt_dimension Dimension. + * @return {Array.<number>} Output coordinate array (new array, same coordinate + * values). + */ +GVol.proj.cloneTransform = function(input, opt_output, opt_dimension) { + var output; + if (opt_output !== undefined) { + for (var i = 0, ii = input.length; i < ii; ++i) { + opt_output[i] = input[i]; + } + output = opt_output; + } else { + output = input.slice(); + } + return output; +}; + + +/** + * Transforms a coordinate from source projection to destination projection. + * This returns a new coordinate (and does not modify the original). + * + * See {@link GVol.proj.transformExtent} for extent transformation. + * See the transform method of {@link GVol.geom.Geometry} and its subclasses for + * geometry transforms. + * + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVol.ProjectionLike} source Source projection-like. + * @param {GVol.ProjectionLike} destination Destination projection-like. + * @return {GVol.Coordinate} Coordinate. + * @api + */ +GVol.proj.transform = function(coordinate, source, destination) { + var transformFn = GVol.proj.getTransform(source, destination); + return transformFn(coordinate, undefined, coordinate.length); +}; + + +/** + * Transforms an extent from source projection to destination projection. This + * returns a new extent (and does not modify the original). + * + * @param {GVol.Extent} extent The extent to transform. + * @param {GVol.ProjectionLike} source Source projection-like. + * @param {GVol.ProjectionLike} destination Destination projection-like. + * @return {GVol.Extent} The transformed extent. + * @api + */ +GVol.proj.transformExtent = function(extent, source, destination) { + var transformFn = GVol.proj.getTransform(source, destination); + return GVol.extent.applyTransform(extent, transformFn); +}; + + +/** + * Transforms the given point to the destination projection. + * + * @param {GVol.Coordinate} point Point. + * @param {GVol.proj.Projection} sourceProjection Source projection. + * @param {GVol.proj.Projection} destinationProjection Destination projection. + * @return {GVol.Coordinate} Point. + */ +GVol.proj.transformWithProjections = function(point, sourceProjection, destinationProjection) { + var transformFn = GVol.proj.getTransformFromProjections( + sourceProjection, destinationProjection); + return transformFn(point); +}; + +/** + * Add transforms to and from EPSG:4326 and EPSG:3857. This function is called + * by when this module is executed and should only need to be called again after + * `GVol.proj.clearAllProjections()` is called (e.g. in tests). + */ +GVol.proj.addCommon = function() { + // Add transformations that don't alter coordinates to convert within set of + // projections with equal meaning. + GVol.proj.addEquivalentProjections(GVol.proj.EPSG3857.PROJECTIONS); + GVol.proj.addEquivalentProjections(GVol.proj.EPSG4326.PROJECTIONS); + // Add transformations to convert EPSG:4326 like coordinates to EPSG:3857 like + // coordinates and back. + GVol.proj.addEquivalentTransforms( + GVol.proj.EPSG4326.PROJECTIONS, + GVol.proj.EPSG3857.PROJECTIONS, + GVol.proj.EPSG3857.fromEPSG4326, + GVol.proj.EPSG3857.toEPSG4326); +}; + +GVol.proj.addCommon(); + +goog.provide('GVol.tilecoord'); + + +/** + * @param {number} z Z. + * @param {number} x X. + * @param {number} y Y. + * @param {GVol.TileCoord=} opt_tileCoord Tile coordinate. + * @return {GVol.TileCoord} Tile coordinate. + */ +GVol.tilecoord.createOrUpdate = function(z, x, y, opt_tileCoord) { + if (opt_tileCoord !== undefined) { + opt_tileCoord[0] = z; + opt_tileCoord[1] = x; + opt_tileCoord[2] = y; + return opt_tileCoord; + } else { + return [z, x, y]; + } +}; + + +/** + * @param {number} z Z. + * @param {number} x X. + * @param {number} y Y. + * @return {string} Key. + */ +GVol.tilecoord.getKeyZXY = function(z, x, y) { + return z + '/' + x + '/' + y; +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coord. + * @return {number} Hash. + */ +GVol.tilecoord.hash = function(tileCoord) { + return (tileCoord[1] << tileCoord[0]) + tileCoord[2]; +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coord. + * @return {string} Quad key. + */ +GVol.tilecoord.quadKey = function(tileCoord) { + var z = tileCoord[0]; + var digits = new Array(z); + var mask = 1 << (z - 1); + var i, charCode; + for (i = 0; i < z; ++i) { + // 48 is charCode for 0 - '0'.charCodeAt(0) + charCode = 48; + if (tileCoord[1] & mask) { + charCode += 1; + } + if (tileCoord[2] & mask) { + charCode += 2; + } + digits[i] = String.fromCharCode(charCode); + mask >>= 1; + } + return digits.join(''); +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {!GVol.tilegrid.TileGrid} tileGrid Tile grid. + * @return {boGVolean} Tile coordinate is within extent and zoom level range. + */ +GVol.tilecoord.withinExtentAndZ = function(tileCoord, tileGrid) { + var z = tileCoord[0]; + var x = tileCoord[1]; + var y = tileCoord[2]; + + if (tileGrid.getMinZoom() > z || z > tileGrid.getMaxZoom()) { + return false; + } + var extent = tileGrid.getExtent(); + var tileRange; + if (!extent) { + tileRange = tileGrid.getFullTileRange(z); + } else { + tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z); + } + if (!tileRange) { + return true; + } else { + return tileRange.containsXY(x, y); + } +}; + +goog.provide('GVol.tilegrid.TileGrid'); + +goog.require('GVol'); +goog.require('GVol.asserts'); +goog.require('GVol.TileRange'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.math'); +goog.require('GVol.size'); +goog.require('GVol.tilecoord'); + + +/** + * @classdesc + * Base class for setting the grid pattern for sources accessing tiled-image + * servers. + * + * @constructor + * @param {GVolx.tilegrid.TileGridOptions} options Tile grid options. + * @struct + * @api + */ +GVol.tilegrid.TileGrid = function(options) { + + /** + * @protected + * @type {number} + */ + this.minZoom = options.minZoom !== undefined ? options.minZoom : 0; + + /** + * @private + * @type {!Array.<number>} + */ + this.resGVolutions_ = options.resGVolutions; + GVol.asserts.assert(GVol.array.isSorted(this.resGVolutions_, function(a, b) { + return b - a; + }, true), 17); // `resGVolutions` must be sorted in descending order + + /** + * @protected + * @type {number} + */ + this.maxZoom = this.resGVolutions_.length - 1; + + /** + * @private + * @type {GVol.Coordinate} + */ + this.origin_ = options.origin !== undefined ? options.origin : null; + + /** + * @private + * @type {Array.<GVol.Coordinate>} + */ + this.origins_ = null; + if (options.origins !== undefined) { + this.origins_ = options.origins; + GVol.asserts.assert(this.origins_.length == this.resGVolutions_.length, + 20); // Number of `origins` and `resGVolutions` must be equal + } + + var extent = options.extent; + + if (extent !== undefined && + !this.origin_ && !this.origins_) { + this.origin_ = GVol.extent.getTopLeft(extent); + } + + GVol.asserts.assert( + (!this.origin_ && this.origins_) || (this.origin_ && !this.origins_), + 18); // Either `origin` or `origins` must be configured, never both + + /** + * @private + * @type {Array.<number|GVol.Size>} + */ + this.tileSizes_ = null; + if (options.tileSizes !== undefined) { + this.tileSizes_ = options.tileSizes; + GVol.asserts.assert(this.tileSizes_.length == this.resGVolutions_.length, + 19); // Number of `tileSizes` and `resGVolutions` must be equal + } + + /** + * @private + * @type {number|GVol.Size} + */ + this.tileSize_ = options.tileSize !== undefined ? + options.tileSize : + !this.tileSizes_ ? GVol.DEFAULT_TILE_SIZE : null; + GVol.asserts.assert( + (!this.tileSize_ && this.tileSizes_) || + (this.tileSize_ && !this.tileSizes_), + 22); // Either `tileSize` or `tileSizes` must be configured, never both + + /** + * @private + * @type {GVol.Extent} + */ + this.extent_ = extent !== undefined ? extent : null; + + + /** + * @private + * @type {Array.<GVol.TileRange>} + */ + this.fullTileRanges_ = null; + + /** + * @private + * @type {GVol.Size} + */ + this.tmpSize_ = [0, 0]; + + if (options.sizes !== undefined) { + this.fullTileRanges_ = options.sizes.map(function(size, z) { + var tileRange = new GVol.TileRange( + Math.min(0, size[0]), Math.max(size[0] - 1, -1), + Math.min(0, size[1]), Math.max(size[1] - 1, -1)); + return tileRange; + }, this); + } else if (extent) { + this.calculateTileRanges_(extent); + } + +}; + + +/** + * @private + * @type {GVol.TileCoord} + */ +GVol.tilegrid.TileGrid.tmpTileCoord_ = [0, 0, 0]; + + +/** + * Call a function with each tile coordinate for a given extent and zoom level. + * + * @param {GVol.Extent} extent Extent. + * @param {number} zoom Zoom level. + * @param {function(GVol.TileCoord)} callback Function called with each tile coordinate. + * @api + */ +GVol.tilegrid.TileGrid.prototype.forEachTileCoord = function(extent, zoom, callback) { + var tileRange = this.getTileRangeForExtentAndZ(extent, zoom); + for (var i = tileRange.minX, ii = tileRange.maxX; i <= ii; ++i) { + for (var j = tileRange.minY, jj = tileRange.maxY; j <= jj; ++j) { + callback([zoom, i, j]); + } + } +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {function(this: T, number, GVol.TileRange): boGVolean} callback Callback. + * @param {T=} opt_this The object to use as `this` in `callback`. + * @param {GVol.TileRange=} opt_tileRange Temporary GVol.TileRange object. + * @param {GVol.Extent=} opt_extent Temporary GVol.Extent object. + * @return {boGVolean} Callback succeeded. + * @template T + */ +GVol.tilegrid.TileGrid.prototype.forEachTileCoordParentTileRange = function(tileCoord, callback, opt_this, opt_tileRange, opt_extent) { + var tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent); + var z = tileCoord[0] - 1; + while (z >= this.minZoom) { + if (callback.call(opt_this, z, + this.getTileRangeForExtentAndZ(tileCoordExtent, z, opt_tileRange))) { + return true; + } + --z; + } + return false; +}; + + +/** + * Get the extent for this tile grid, if it was configured. + * @return {GVol.Extent} Extent. + */ +GVol.tilegrid.TileGrid.prototype.getExtent = function() { + return this.extent_; +}; + + +/** + * Get the maximum zoom level for the grid. + * @return {number} Max zoom. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getMaxZoom = function() { + return this.maxZoom; +}; + + +/** + * Get the minimum zoom level for the grid. + * @return {number} Min zoom. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getMinZoom = function() { + return this.minZoom; +}; + + +/** + * Get the origin for the grid at the given zoom level. + * @param {number} z Z. + * @return {GVol.Coordinate} Origin. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getOrigin = function(z) { + if (this.origin_) { + return this.origin_; + } else { + return this.origins_[z]; + } +}; + + +/** + * Get the resGVolution for the given zoom level. + * @param {number} z Z. + * @return {number} ResGVolution. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getResGVolution = function(z) { + return this.resGVolutions_[z]; +}; + + +/** + * Get the list of resGVolutions for the tile grid. + * @return {Array.<number>} ResGVolutions. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getResGVolutions = function() { + return this.resGVolutions_; +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.TileRange=} opt_tileRange Temporary GVol.TileRange object. + * @param {GVol.Extent=} opt_extent Temporary GVol.Extent object. + * @return {GVol.TileRange} Tile range. + */ +GVol.tilegrid.TileGrid.prototype.getTileCoordChildTileRange = function(tileCoord, opt_tileRange, opt_extent) { + if (tileCoord[0] < this.maxZoom) { + var tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent); + return this.getTileRangeForExtentAndZ( + tileCoordExtent, tileCoord[0] + 1, opt_tileRange); + } else { + return null; + } +}; + + +/** + * @param {number} z Z. + * @param {GVol.TileRange} tileRange Tile range. + * @param {GVol.Extent=} opt_extent Temporary GVol.Extent object. + * @return {GVol.Extent} Extent. + */ +GVol.tilegrid.TileGrid.prototype.getTileRangeExtent = function(z, tileRange, opt_extent) { + var origin = this.getOrigin(z); + var resGVolution = this.getResGVolution(z); + var tileSize = GVol.size.toSize(this.getTileSize(z), this.tmpSize_); + var minX = origin[0] + tileRange.minX * tileSize[0] * resGVolution; + var maxX = origin[0] + (tileRange.maxX + 1) * tileSize[0] * resGVolution; + var minY = origin[1] + tileRange.minY * tileSize[1] * resGVolution; + var maxY = origin[1] + (tileRange.maxY + 1) * tileSize[1] * resGVolution; + return GVol.extent.createOrUpdate(minX, minY, maxX, maxY, opt_extent); +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @param {GVol.TileRange=} opt_tileRange Temporary tile range object. + * @return {GVol.TileRange} Tile range. + */ +GVol.tilegrid.TileGrid.prototype.getTileRangeForExtentAndResGVolution = function(extent, resGVolution, opt_tileRange) { + var tileCoord = GVol.tilegrid.TileGrid.tmpTileCoord_; + this.getTileCoordForXYAndResGVolution_( + extent[0], extent[1], resGVolution, false, tileCoord); + var minX = tileCoord[1]; + var minY = tileCoord[2]; + this.getTileCoordForXYAndResGVolution_( + extent[2], extent[3], resGVolution, true, tileCoord); + return GVol.TileRange.createOrUpdate( + minX, tileCoord[1], minY, tileCoord[2], opt_tileRange); +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {number} z Z. + * @param {GVol.TileRange=} opt_tileRange Temporary tile range object. + * @return {GVol.TileRange} Tile range. + */ +GVol.tilegrid.TileGrid.prototype.getTileRangeForExtentAndZ = function(extent, z, opt_tileRange) { + var resGVolution = this.getResGVolution(z); + return this.getTileRangeForExtentAndResGVolution( + extent, resGVolution, opt_tileRange); +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @return {GVol.Coordinate} Tile center. + */ +GVol.tilegrid.TileGrid.prototype.getTileCoordCenter = function(tileCoord) { + var origin = this.getOrigin(tileCoord[0]); + var resGVolution = this.getResGVolution(tileCoord[0]); + var tileSize = GVol.size.toSize(this.getTileSize(tileCoord[0]), this.tmpSize_); + return [ + origin[0] + (tileCoord[1] + 0.5) * tileSize[0] * resGVolution, + origin[1] + (tileCoord[2] + 0.5) * tileSize[1] * resGVolution + ]; +}; + + +/** + * Get the extent of a tile coordinate. + * + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.Extent=} opt_extent Temporary extent object. + * @return {GVol.Extent} Extent. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getTileCoordExtent = function(tileCoord, opt_extent) { + var origin = this.getOrigin(tileCoord[0]); + var resGVolution = this.getResGVolution(tileCoord[0]); + var tileSize = GVol.size.toSize(this.getTileSize(tileCoord[0]), this.tmpSize_); + var minX = origin[0] + tileCoord[1] * tileSize[0] * resGVolution; + var minY = origin[1] + tileCoord[2] * tileSize[1] * resGVolution; + var maxX = minX + tileSize[0] * resGVolution; + var maxY = minY + tileSize[1] * resGVolution; + return GVol.extent.createOrUpdate(minX, minY, maxX, maxY, opt_extent); +}; + + +/** + * Get the tile coordinate for the given map coordinate and resGVolution. This + * method considers that coordinates that intersect tile boundaries should be + * assigned the higher tile coordinate. + * + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} resGVolution ResGVolution. + * @param {GVol.TileCoord=} opt_tileCoord Destination GVol.TileCoord object. + * @return {GVol.TileCoord} Tile coordinate. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndResGVolution = function(coordinate, resGVolution, opt_tileCoord) { + return this.getTileCoordForXYAndResGVolution_( + coordinate[0], coordinate[1], resGVolution, false, opt_tileCoord); +}; + + +/** + * @param {number} x X. + * @param {number} y Y. + * @param {number} resGVolution ResGVolution. + * @param {boGVolean} reverseIntersectionPGVolicy Instead of letting edge + * intersections go to the higher tile coordinate, let edge intersections + * go to the lower tile coordinate. + * @param {GVol.TileCoord=} opt_tileCoord Temporary GVol.TileCoord object. + * @return {GVol.TileCoord} Tile coordinate. + * @private + */ +GVol.tilegrid.TileGrid.prototype.getTileCoordForXYAndResGVolution_ = function( + x, y, resGVolution, reverseIntersectionPGVolicy, opt_tileCoord) { + var z = this.getZForResGVolution(resGVolution); + var scale = resGVolution / this.getResGVolution(z); + var origin = this.getOrigin(z); + var tileSize = GVol.size.toSize(this.getTileSize(z), this.tmpSize_); + + var adjustX = reverseIntersectionPGVolicy ? 0.5 : 0; + var adjustY = reverseIntersectionPGVolicy ? 0 : 0.5; + var xFromOrigin = Math.floor((x - origin[0]) / resGVolution + adjustX); + var yFromOrigin = Math.floor((y - origin[1]) / resGVolution + adjustY); + var tileCoordX = scale * xFromOrigin / tileSize[0]; + var tileCoordY = scale * yFromOrigin / tileSize[1]; + + if (reverseIntersectionPGVolicy) { + tileCoordX = Math.ceil(tileCoordX) - 1; + tileCoordY = Math.ceil(tileCoordY) - 1; + } else { + tileCoordX = Math.floor(tileCoordX); + tileCoordY = Math.floor(tileCoordY); + } + + return GVol.tilecoord.createOrUpdate(z, tileCoordX, tileCoordY, opt_tileCoord); +}; + + +/** + * Get a tile coordinate given a map coordinate and zoom level. + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} z Zoom level. + * @param {GVol.TileCoord=} opt_tileCoord Destination GVol.TileCoord object. + * @return {GVol.TileCoord} Tile coordinate. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndZ = function(coordinate, z, opt_tileCoord) { + var resGVolution = this.getResGVolution(z); + return this.getTileCoordForXYAndResGVolution_( + coordinate[0], coordinate[1], resGVolution, false, opt_tileCoord); +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @return {number} Tile resGVolution. + */ +GVol.tilegrid.TileGrid.prototype.getTileCoordResGVolution = function(tileCoord) { + return this.resGVolutions_[tileCoord[0]]; +}; + + +/** + * Get the tile size for a zoom level. The type of the return value matches the + * `tileSize` or `tileSizes` that the tile grid was configured with. To always + * get an `GVol.Size`, run the result through `GVol.size.toSize()`. + * @param {number} z Z. + * @return {number|GVol.Size} Tile size. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getTileSize = function(z) { + if (this.tileSize_) { + return this.tileSize_; + } else { + return this.tileSizes_[z]; + } +}; + + +/** + * @param {number} z Zoom level. + * @return {GVol.TileRange} Extent tile range for the specified zoom level. + */ +GVol.tilegrid.TileGrid.prototype.getFullTileRange = function(z) { + if (!this.fullTileRanges_) { + return null; + } else { + return this.fullTileRanges_[z]; + } +}; + + +/** + * @param {number} resGVolution ResGVolution. + * @param {number=} opt_direction If 0, the nearest resGVolution will be used. + * If 1, the nearest lower resGVolution will be used. If -1, the nearest + * higher resGVolution will be used. Default is 0. + * @return {number} Z. + * @api + */ +GVol.tilegrid.TileGrid.prototype.getZForResGVolution = function( + resGVolution, opt_direction) { + var z = GVol.array.linearFindNearest(this.resGVolutions_, resGVolution, + opt_direction || 0); + return GVol.math.clamp(z, this.minZoom, this.maxZoom); +}; + + +/** + * @param {!GVol.Extent} extent Extent for this tile grid. + * @private + */ +GVol.tilegrid.TileGrid.prototype.calculateTileRanges_ = function(extent) { + var length = this.resGVolutions_.length; + var fullTileRanges = new Array(length); + for (var z = this.minZoom; z < length; ++z) { + fullTileRanges[z] = this.getTileRangeForExtentAndZ(extent, z); + } + this.fullTileRanges_ = fullTileRanges; +}; + +goog.provide('GVol.tilegrid'); + +goog.require('GVol'); +goog.require('GVol.size'); +goog.require('GVol.extent'); +goog.require('GVol.extent.Corner'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); +goog.require('GVol.proj.Units'); +goog.require('GVol.tilegrid.TileGrid'); + + +/** + * @param {GVol.proj.Projection} projection Projection. + * @return {!GVol.tilegrid.TileGrid} Default tile grid for the passed projection. + */ +GVol.tilegrid.getForProjection = function(projection) { + var tileGrid = projection.getDefaultTileGrid(); + if (!tileGrid) { + tileGrid = GVol.tilegrid.createForProjection(projection); + projection.setDefaultTileGrid(tileGrid); + } + return tileGrid; +}; + + +/** + * @param {GVol.tilegrid.TileGrid} tileGrid Tile grid. + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.proj.Projection} projection Projection. + * @return {GVol.TileCoord} Tile coordinate. + */ +GVol.tilegrid.wrapX = function(tileGrid, tileCoord, projection) { + var z = tileCoord[0]; + var center = tileGrid.getTileCoordCenter(tileCoord); + var projectionExtent = GVol.tilegrid.extentFromProjection(projection); + if (!GVol.extent.containsCoordinate(projectionExtent, center)) { + var worldWidth = GVol.extent.getWidth(projectionExtent); + var worldsAway = Math.ceil((projectionExtent[0] - center[0]) / worldWidth); + center[0] += worldWidth * worldsAway; + return tileGrid.getTileCoordForCoordAndZ(center, z); + } else { + return tileCoord; + } +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {number=} opt_maxZoom Maximum zoom level (default is + * GVol.DEFAULT_MAX_ZOOM). + * @param {number|GVol.Size=} opt_tileSize Tile size (default uses + * GVol.DEFAULT_TILE_SIZE). + * @param {GVol.extent.Corner=} opt_corner Extent corner (default is + * GVol.extent.Corner.TOP_LEFT). + * @return {!GVol.tilegrid.TileGrid} TileGrid instance. + */ +GVol.tilegrid.createForExtent = function(extent, opt_maxZoom, opt_tileSize, opt_corner) { + var corner = opt_corner !== undefined ? + opt_corner : GVol.extent.Corner.TOP_LEFT; + + var resGVolutions = GVol.tilegrid.resGVolutionsFromExtent( + extent, opt_maxZoom, opt_tileSize); + + return new GVol.tilegrid.TileGrid({ + extent: extent, + origin: GVol.extent.getCorner(extent, corner), + resGVolutions: resGVolutions, + tileSize: opt_tileSize + }); +}; + + +/** + * Creates a tile grid with a standard XYZ tiling scheme. + * @param {GVolx.tilegrid.XYZOptions=} opt_options Tile grid options. + * @return {!GVol.tilegrid.TileGrid} Tile grid instance. + * @api + */ +GVol.tilegrid.createXYZ = function(opt_options) { + var options = /** @type {GVolx.tilegrid.TileGridOptions} */ ({}); + GVol.obj.assign(options, opt_options !== undefined ? + opt_options : /** @type {GVolx.tilegrid.XYZOptions} */ ({})); + if (options.extent === undefined) { + options.extent = GVol.proj.get('EPSG:3857').getExtent(); + } + options.resGVolutions = GVol.tilegrid.resGVolutionsFromExtent( + options.extent, options.maxZoom, options.tileSize); + delete options.maxZoom; + + return new GVol.tilegrid.TileGrid(options); +}; + + +/** + * Create a resGVolutions array from an extent. A zoom factor of 2 is assumed. + * @param {GVol.Extent} extent Extent. + * @param {number=} opt_maxZoom Maximum zoom level (default is + * GVol.DEFAULT_MAX_ZOOM). + * @param {number|GVol.Size=} opt_tileSize Tile size (default uses + * GVol.DEFAULT_TILE_SIZE). + * @return {!Array.<number>} ResGVolutions array. + */ +GVol.tilegrid.resGVolutionsFromExtent = function(extent, opt_maxZoom, opt_tileSize) { + var maxZoom = opt_maxZoom !== undefined ? + opt_maxZoom : GVol.DEFAULT_MAX_ZOOM; + + var height = GVol.extent.getHeight(extent); + var width = GVol.extent.getWidth(extent); + + var tileSize = GVol.size.toSize(opt_tileSize !== undefined ? + opt_tileSize : GVol.DEFAULT_TILE_SIZE); + var maxResGVolution = Math.max( + width / tileSize[0], height / tileSize[1]); + + var length = maxZoom + 1; + var resGVolutions = new Array(length); + for (var z = 0; z < length; ++z) { + resGVolutions[z] = maxResGVolution / Math.pow(2, z); + } + return resGVolutions; +}; + + +/** + * @param {GVol.ProjectionLike} projection Projection. + * @param {number=} opt_maxZoom Maximum zoom level (default is + * GVol.DEFAULT_MAX_ZOOM). + * @param {number|GVol.Size=} opt_tileSize Tile size (default uses + * GVol.DEFAULT_TILE_SIZE). + * @param {GVol.extent.Corner=} opt_corner Extent corner (default is + * GVol.extent.Corner.BOTTOM_LEFT). + * @return {!GVol.tilegrid.TileGrid} TileGrid instance. + */ +GVol.tilegrid.createForProjection = function(projection, opt_maxZoom, opt_tileSize, opt_corner) { + var extent = GVol.tilegrid.extentFromProjection(projection); + return GVol.tilegrid.createForExtent( + extent, opt_maxZoom, opt_tileSize, opt_corner); +}; + + +/** + * Generate a tile grid extent from a projection. If the projection has an + * extent, it is used. If not, a global extent is assumed. + * @param {GVol.ProjectionLike} projection Projection. + * @return {GVol.Extent} Extent. + */ +GVol.tilegrid.extentFromProjection = function(projection) { + projection = GVol.proj.get(projection); + var extent = projection.getExtent(); + if (!extent) { + var half = 180 * GVol.proj.METERS_PER_UNIT[GVol.proj.Units.DEGREES] / + projection.getMetersPerUnit(); + extent = GVol.extent.createOrUpdate(-half, -half, half, half); + } + return extent; +}; + +goog.provide('GVol.Attribution'); + +goog.require('GVol.TileRange'); +goog.require('GVol.math'); +goog.require('GVol.tilegrid'); + + +/** + * @classdesc + * An attribution for a layer source. + * + * Example: + * + * source: new GVol.source.OSM({ + * attributions: [ + * new GVol.Attribution({ + * html: 'All maps © ' + + * '<a href="https://www.opencyclemap.org/">OpenCycleMap</a>' + * }), + * GVol.source.OSM.ATTRIBUTION + * ], + * .. + * + * @constructor + * @param {GVolx.AttributionOptions} options Attribution options. + * @struct + * @api + */ +GVol.Attribution = function(options) { + + /** + * @private + * @type {string} + */ + this.html_ = options.html; + + /** + * @private + * @type {Object.<string, Array.<GVol.TileRange>>} + */ + this.tileRanges_ = options.tileRanges ? options.tileRanges : null; + +}; + + +/** + * Get the attribution markup. + * @return {string} The attribution HTML. + * @api + */ +GVol.Attribution.prototype.getHTML = function() { + return this.html_; +}; + + +/** + * @param {Object.<string, GVol.TileRange>} tileRanges Tile ranges. + * @param {!GVol.tilegrid.TileGrid} tileGrid Tile grid. + * @param {!GVol.proj.Projection} projection Projection. + * @return {boGVolean} Intersects any tile range. + */ +GVol.Attribution.prototype.intersectsAnyTileRange = function(tileRanges, tileGrid, projection) { + if (!this.tileRanges_) { + return true; + } + var i, ii, tileRange, zKey; + for (zKey in tileRanges) { + if (!(zKey in this.tileRanges_)) { + continue; + } + tileRange = tileRanges[zKey]; + var testTileRange; + for (i = 0, ii = this.tileRanges_[zKey].length; i < ii; ++i) { + testTileRange = this.tileRanges_[zKey][i]; + if (testTileRange.intersects(tileRange)) { + return true; + } + var extentTileRange = tileGrid.getTileRangeForExtentAndZ( + GVol.tilegrid.extentFromProjection(projection), parseInt(zKey, 10)); + var width = extentTileRange.getWidth(); + if (tileRange.minX < extentTileRange.minX || + tileRange.maxX > extentTileRange.maxX) { + if (testTileRange.intersects(new GVol.TileRange( + GVol.math.modulo(tileRange.minX, width), + GVol.math.modulo(tileRange.maxX, width), + tileRange.minY, tileRange.maxY))) { + return true; + } + if (tileRange.getWidth() > width && + testTileRange.intersects(extentTileRange)) { + return true; + } + } + } + } + return false; +}; + +goog.provide('GVol.CenterConstraint'); + +goog.require('GVol.math'); + + +/** + * @param {GVol.Extent} extent Extent. + * @return {GVol.CenterConstraintType} The constraint. + */ +GVol.CenterConstraint.createExtent = function(extent) { + return ( + /** + * @param {GVol.Coordinate|undefined} center Center. + * @return {GVol.Coordinate|undefined} Center. + */ + function(center) { + if (center) { + return [ + GVol.math.clamp(center[0], extent[0], extent[2]), + GVol.math.clamp(center[1], extent[1], extent[3]) + ]; + } else { + return undefined; + } + }); +}; + + +/** + * @param {GVol.Coordinate|undefined} center Center. + * @return {GVol.Coordinate|undefined} Center. + */ +GVol.CenterConstraint.none = function(center) { + return center; +}; + +goog.provide('GVol.CGVollectionEventType'); + +/** + * @enum {string} + */ +GVol.CGVollectionEventType = { + /** + * Triggered when an item is added to the cGVollection. + * @event GVol.CGVollection.Event#add + * @api + */ + ADD: 'add', + /** + * Triggered when an item is removed from the cGVollection. + * @event GVol.CGVollection.Event#remove + * @api + */ + REMOVE: 'remove' +}; + +goog.provide('GVol.ObjectEventType'); + +/** + * @enum {string} + */ +GVol.ObjectEventType = { + /** + * Triggered when a property is changed. + * @event GVol.Object.Event#propertychange + * @api + */ + PROPERTYCHANGE: 'propertychange' +}; + +goog.provide('GVol.events'); + +goog.require('GVol.obj'); + + +/** + * @param {GVol.EventsKey} listenerObj Listener object. + * @return {GVol.EventsListenerFunctionType} Bound listener. + */ +GVol.events.bindListener_ = function(listenerObj) { + var boundListener = function(evt) { + var listener = listenerObj.listener; + var bindTo = listenerObj.bindTo || listenerObj.target; + if (listenerObj.callOnce) { + GVol.events.unlistenByKey(listenerObj); + } + return listener.call(bindTo, evt); + }; + listenerObj.boundListener = boundListener; + return boundListener; +}; + + +/** + * Finds the matching {@link GVol.EventsKey} in the given listener + * array. + * + * @param {!Array<!GVol.EventsKey>} listeners Array of listeners. + * @param {!Function} listener The listener function. + * @param {Object=} opt_this The `this` value inside the listener. + * @param {boGVolean=} opt_setDeleteIndex Set the deleteIndex on the matching + * listener, for {@link GVol.events.unlistenByKey}. + * @return {GVol.EventsKey|undefined} The matching listener object. + * @private + */ +GVol.events.findListener_ = function(listeners, listener, opt_this, + opt_setDeleteIndex) { + var listenerObj; + for (var i = 0, ii = listeners.length; i < ii; ++i) { + listenerObj = listeners[i]; + if (listenerObj.listener === listener && + listenerObj.bindTo === opt_this) { + if (opt_setDeleteIndex) { + listenerObj.deleteIndex = i; + } + return listenerObj; + } + } + return undefined; +}; + + +/** + * @param {GVol.EventTargetLike} target Target. + * @param {string} type Type. + * @return {Array.<GVol.EventsKey>|undefined} Listeners. + */ +GVol.events.getListeners = function(target, type) { + var listenerMap = target.GVol_lm; + return listenerMap ? listenerMap[type] : undefined; +}; + + +/** + * Get the lookup of listeners. If one does not exist on the target, it is + * created. + * @param {GVol.EventTargetLike} target Target. + * @return {!Object.<string, Array.<GVol.EventsKey>>} Map of + * listeners by event type. + * @private + */ +GVol.events.getListenerMap_ = function(target) { + var listenerMap = target.GVol_lm; + if (!listenerMap) { + listenerMap = target.GVol_lm = {}; + } + return listenerMap; +}; + + +/** + * Clean up all listener objects of the given type. All properties on the + * listener objects will be removed, and if no listeners remain in the listener + * map, it will be removed from the target. + * @param {GVol.EventTargetLike} target Target. + * @param {string} type Type. + * @private + */ +GVol.events.removeListeners_ = function(target, type) { + var listeners = GVol.events.getListeners(target, type); + if (listeners) { + for (var i = 0, ii = listeners.length; i < ii; ++i) { + target.removeEventListener(type, listeners[i].boundListener); + GVol.obj.clear(listeners[i]); + } + listeners.length = 0; + var listenerMap = target.GVol_lm; + if (listenerMap) { + delete listenerMap[type]; + if (Object.keys(listenerMap).length === 0) { + delete target.GVol_lm; + } + } + } +}; + + +/** + * Registers an event listener on an event target. Inspired by + * {@link https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html} + * + * This function efficiently binds a `listener` to a `this` object, and returns + * a key for use with {@link GVol.events.unlistenByKey}. + * + * @param {GVol.EventTargetLike} target Event target. + * @param {string} type Event type. + * @param {GVol.EventsListenerFunctionType} listener Listener. + * @param {Object=} opt_this Object referenced by the `this` keyword in the + * listener. Default is the `target`. + * @param {boGVolean=} opt_once If true, add the listener as one-off listener. + * @return {GVol.EventsKey} Unique key for the listener. + */ +GVol.events.listen = function(target, type, listener, opt_this, opt_once) { + var listenerMap = GVol.events.getListenerMap_(target); + var listeners = listenerMap[type]; + if (!listeners) { + listeners = listenerMap[type] = []; + } + var listenerObj = GVol.events.findListener_(listeners, listener, opt_this, + false); + if (listenerObj) { + if (!opt_once) { + // Turn one-off listener into a permanent one. + listenerObj.callOnce = false; + } + } else { + listenerObj = /** @type {GVol.EventsKey} */ ({ + bindTo: opt_this, + callOnce: !!opt_once, + listener: listener, + target: target, + type: type + }); + target.addEventListener(type, GVol.events.bindListener_(listenerObj)); + listeners.push(listenerObj); + } + + return listenerObj; +}; + + +/** + * Registers a one-off event listener on an event target. Inspired by + * {@link https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html} + * + * This function efficiently binds a `listener` as self-unregistering listener + * to a `this` object, and returns a key for use with + * {@link GVol.events.unlistenByKey} in case the listener needs to be unregistered + * before it is called. + * + * When {@link GVol.events.listen} is called with the same arguments after this + * function, the self-unregistering listener will be turned into a permanent + * listener. + * + * @param {GVol.EventTargetLike} target Event target. + * @param {string} type Event type. + * @param {GVol.EventsListenerFunctionType} listener Listener. + * @param {Object=} opt_this Object referenced by the `this` keyword in the + * listener. Default is the `target`. + * @return {GVol.EventsKey} Key for unlistenByKey. + */ +GVol.events.listenOnce = function(target, type, listener, opt_this) { + return GVol.events.listen(target, type, listener, opt_this, true); +}; + + +/** + * Unregisters an event listener on an event target. Inspired by + * {@link https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html} + * + * To return a listener, this function needs to be called with the exact same + * arguments that were used for a previous {@link GVol.events.listen} call. + * + * @param {GVol.EventTargetLike} target Event target. + * @param {string} type Event type. + * @param {GVol.EventsListenerFunctionType} listener Listener. + * @param {Object=} opt_this Object referenced by the `this` keyword in the + * listener. Default is the `target`. + */ +GVol.events.unlisten = function(target, type, listener, opt_this) { + var listeners = GVol.events.getListeners(target, type); + if (listeners) { + var listenerObj = GVol.events.findListener_(listeners, listener, opt_this, + true); + if (listenerObj) { + GVol.events.unlistenByKey(listenerObj); + } + } +}; + + +/** + * Unregisters event listeners on an event target. Inspired by + * {@link https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html} + * + * The argument passed to this function is the key returned from + * {@link GVol.events.listen} or {@link GVol.events.listenOnce}. + * + * @param {GVol.EventsKey} key The key. + */ +GVol.events.unlistenByKey = function(key) { + if (key && key.target) { + key.target.removeEventListener(key.type, key.boundListener); + var listeners = GVol.events.getListeners(key.target, key.type); + if (listeners) { + var i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key); + if (i !== -1) { + listeners.splice(i, 1); + } + if (listeners.length === 0) { + GVol.events.removeListeners_(key.target, key.type); + } + } + GVol.obj.clear(key); + } +}; + + +/** + * Unregisters all event listeners on an event target. Inspired by + * {@link https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html} + * + * @param {GVol.EventTargetLike} target Target. + */ +GVol.events.unlistenAll = function(target) { + var listenerMap = GVol.events.getListenerMap_(target); + for (var type in listenerMap) { + GVol.events.removeListeners_(target, type); + } +}; + +goog.provide('GVol.Disposable'); + +goog.require('GVol'); + +/** + * Objects that need to clean up after themselves. + * @constructor + */ +GVol.Disposable = function() {}; + +/** + * The object has already been disposed. + * @type {boGVolean} + * @private + */ +GVol.Disposable.prototype.disposed_ = false; + +/** + * Clean up. + */ +GVol.Disposable.prototype.dispose = function() { + if (!this.disposed_) { + this.disposed_ = true; + this.disposeInternal(); + } +}; + +/** + * Extension point for disposable objects. + * @protected + */ +GVol.Disposable.prototype.disposeInternal = GVol.nullFunction; + +goog.provide('GVol.events.Event'); + + +/** + * @classdesc + * Stripped down implementation of the W3C DOM Level 2 Event interface. + * @see {@link https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-interface} + * + * This implementation only provides `type` and `target` properties, and + * `stopPropagation` and `preventDefault` methods. It is meant as base class + * for higher level events defined in the library, and works with + * {@link GVol.events.EventTarget}. + * + * @constructor + * @implements {GVoli.events.Event} + * @param {string} type Type. + */ +GVol.events.Event = function(type) { + + /** + * @type {boGVolean} + */ + this.propagationStopped; + + /** + * The event type. + * @type {string} + * @api + */ + this.type = type; + + /** + * The event target. + * @type {Object} + * @api + */ + this.target = null; + +}; + + +/** + * Stop event propagation. + * @function + * @override + * @api + */ +GVol.events.Event.prototype.preventDefault = + + /** + * Stop event propagation. + * @function + * @override + * @api + */ + GVol.events.Event.prototype.stopPropagation = function() { + this.propagationStopped = true; + }; + + +/** + * @param {Event|GVol.events.Event} evt Event + */ +GVol.events.Event.stopPropagation = function(evt) { + evt.stopPropagation(); +}; + + +/** + * @param {Event|GVol.events.Event} evt Event + */ +GVol.events.Event.preventDefault = function(evt) { + evt.preventDefault(); +}; + +goog.provide('GVol.events.EventTarget'); + +goog.require('GVol'); +goog.require('GVol.Disposable'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); + + +/** + * @classdesc + * A simplified implementation of the W3C DOM Level 2 EventTarget interface. + * @see {@link https://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-EventTarget} + * + * There are two important simplifications compared to the specification: + * + * 1. The handling of `useCapture` in `addEventListener` and + * `removeEventListener`. There is no real capture model. + * 2. The handling of `stopPropagation` and `preventDefault` on `dispatchEvent`. + * There is no event target hierarchy. When a listener calls + * `stopPropagation` or `preventDefault` on an event object, it means that no + * more listeners after this one will be called. Same as when the listener + * returns false. + * + * @constructor + * @extends {GVol.Disposable} + */ +GVol.events.EventTarget = function() { + + GVol.Disposable.call(this); + + /** + * @private + * @type {!Object.<string, number>} + */ + this.pendingRemovals_ = {}; + + /** + * @private + * @type {!Object.<string, number>} + */ + this.dispatching_ = {}; + + /** + * @private + * @type {!Object.<string, Array.<GVol.EventsListenerFunctionType>>} + */ + this.listeners_ = {}; + +}; +GVol.inherits(GVol.events.EventTarget, GVol.Disposable); + + +/** + * @param {string} type Type. + * @param {GVol.EventsListenerFunctionType} listener Listener. + */ +GVol.events.EventTarget.prototype.addEventListener = function(type, listener) { + var listeners = this.listeners_[type]; + if (!listeners) { + listeners = this.listeners_[type] = []; + } + if (listeners.indexOf(listener) === -1) { + listeners.push(listener); + } +}; + + +/** + * @param {{type: string, + * target: (EventTarget|GVol.events.EventTarget|undefined)}|GVol.events.Event| + * string} event Event or event type. + * @return {boGVolean|undefined} `false` if anyone called preventDefault on the + * event object or if any of the listeners returned false. + */ +GVol.events.EventTarget.prototype.dispatchEvent = function(event) { + var evt = typeof event === 'string' ? new GVol.events.Event(event) : event; + var type = evt.type; + evt.target = this; + var listeners = this.listeners_[type]; + var propagate; + if (listeners) { + if (!(type in this.dispatching_)) { + this.dispatching_[type] = 0; + this.pendingRemovals_[type] = 0; + } + ++this.dispatching_[type]; + for (var i = 0, ii = listeners.length; i < ii; ++i) { + if (listeners[i].call(this, evt) === false || evt.propagationStopped) { + propagate = false; + break; + } + } + --this.dispatching_[type]; + if (this.dispatching_[type] === 0) { + var pendingRemovals = this.pendingRemovals_[type]; + delete this.pendingRemovals_[type]; + while (pendingRemovals--) { + this.removeEventListener(type, GVol.nullFunction); + } + delete this.dispatching_[type]; + } + return propagate; + } +}; + + +/** + * @inheritDoc + */ +GVol.events.EventTarget.prototype.disposeInternal = function() { + GVol.events.unlistenAll(this); +}; + + +/** + * Get the listeners for a specified event type. Listeners are returned in the + * order that they will be called in. + * + * @param {string} type Type. + * @return {Array.<GVol.EventsListenerFunctionType>} Listeners. + */ +GVol.events.EventTarget.prototype.getListeners = function(type) { + return this.listeners_[type]; +}; + + +/** + * @param {string=} opt_type Type. If not provided, + * `true` will be returned if this EventTarget has any listeners. + * @return {boGVolean} Has listeners. + */ +GVol.events.EventTarget.prototype.hasListener = function(opt_type) { + return opt_type ? + opt_type in this.listeners_ : + Object.keys(this.listeners_).length > 0; +}; + + +/** + * @param {string} type Type. + * @param {GVol.EventsListenerFunctionType} listener Listener. + */ +GVol.events.EventTarget.prototype.removeEventListener = function(type, listener) { + var listeners = this.listeners_[type]; + if (listeners) { + var index = listeners.indexOf(listener); + if (type in this.pendingRemovals_) { + // make listener a no-op, and remove later in #dispatchEvent() + listeners[index] = GVol.nullFunction; + ++this.pendingRemovals_[type]; + } else { + listeners.splice(index, 1); + if (listeners.length === 0) { + delete this.listeners_[type]; + } + } + } +}; + +goog.provide('GVol.events.EventType'); + +/** + * @enum {string} + * @const + */ +GVol.events.EventType = { + /** + * Generic change event. Triggered when the revision counter is increased. + * @event GVol.events.Event#change + * @api + */ + CHANGE: 'change', + + CLICK: 'click', + DBLCLICK: 'dblclick', + DRAGENTER: 'dragenter', + DRAGOVER: 'dragover', + DROP: 'drop', + ERROR: 'error', + KEYDOWN: 'keydown', + KEYPRESS: 'keypress', + LOAD: 'load', + MOUSEDOWN: 'mousedown', + MOUSEMOVE: 'mousemove', + MOUSEOUT: 'mouseout', + MOUSEUP: 'mouseup', + MOUSEWHEEL: 'mousewheel', + MSPOINTERDOWN: 'MSPointerDown', + RESIZE: 'resize', + TOUCHSTART: 'touchstart', + TOUCHMOVE: 'touchmove', + TOUCHEND: 'touchend', + WHEEL: 'wheel' +}; + +goog.provide('GVol.Observable'); + +goog.require('GVol'); +goog.require('GVol.events'); +goog.require('GVol.events.EventTarget'); +goog.require('GVol.events.EventType'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * An event target providing convenient methods for listener registration + * and unregistration. A generic `change` event is always available through + * {@link GVol.Observable#changed}. + * + * @constructor + * @extends {GVol.events.EventTarget} + * @fires GVol.events.Event + * @struct + * @api + */ +GVol.Observable = function() { + + GVol.events.EventTarget.call(this); + + /** + * @private + * @type {number} + */ + this.revision_ = 0; + +}; +GVol.inherits(GVol.Observable, GVol.events.EventTarget); + + +/** + * Removes an event listener using the key returned by `on()` or `once()`. + * @param {GVol.EventsKey|Array.<GVol.EventsKey>} key The key returned by `on()` + * or `once()` (or an array of keys). + * @api + */ +GVol.Observable.unByKey = function(key) { + if (Array.isArray(key)) { + for (var i = 0, ii = key.length; i < ii; ++i) { + GVol.events.unlistenByKey(key[i]); + } + } else { + GVol.events.unlistenByKey(/** @type {GVol.EventsKey} */ (key)); + } +}; + + +/** + * Increases the revision counter and dispatches a 'change' event. + * @api + */ +GVol.Observable.prototype.changed = function() { + ++this.revision_; + this.dispatchEvent(GVol.events.EventType.CHANGE); +}; + + +/** + * Dispatches an event and calls all listeners listening for events + * of this type. The event parameter can either be a string or an + * Object with a `type` property. + * + * @param {{type: string, + * target: (EventTarget|GVol.events.EventTarget|undefined)}|GVol.events.Event| + * string} event Event object. + * @function + * @api + */ +GVol.Observable.prototype.dispatchEvent; + + +/** + * Get the version number for this object. Each time the object is modified, + * its version number will be incremented. + * @return {number} Revision. + * @api + */ +GVol.Observable.prototype.getRevision = function() { + return this.revision_; +}; + + +/** + * Listen for a certain type of event. + * @param {string|Array.<string>} type The event type or array of event types. + * @param {function(?): ?} listener The listener function. + * @param {Object=} opt_this The object to use as `this` in `listener`. + * @return {GVol.EventsKey|Array.<GVol.EventsKey>} Unique key for the listener. If + * called with an array of event types as the first argument, the return + * will be an array of keys. + * @api + */ +GVol.Observable.prototype.on = function(type, listener, opt_this) { + if (Array.isArray(type)) { + var len = type.length; + var keys = new Array(len); + for (var i = 0; i < len; ++i) { + keys[i] = GVol.events.listen(this, type[i], listener, opt_this); + } + return keys; + } else { + return GVol.events.listen( + this, /** @type {string} */ (type), listener, opt_this); + } +}; + + +/** + * Listen once for a certain type of event. + * @param {string|Array.<string>} type The event type or array of event types. + * @param {function(?): ?} listener The listener function. + * @param {Object=} opt_this The object to use as `this` in `listener`. + * @return {GVol.EventsKey|Array.<GVol.EventsKey>} Unique key for the listener. If + * called with an array of event types as the first argument, the return + * will be an array of keys. + * @api + */ +GVol.Observable.prototype.once = function(type, listener, opt_this) { + if (Array.isArray(type)) { + var len = type.length; + var keys = new Array(len); + for (var i = 0; i < len; ++i) { + keys[i] = GVol.events.listenOnce(this, type[i], listener, opt_this); + } + return keys; + } else { + return GVol.events.listenOnce( + this, /** @type {string} */ (type), listener, opt_this); + } +}; + + +/** + * Unlisten for a certain type of event. + * @param {string|Array.<string>} type The event type or array of event types. + * @param {function(?): ?} listener The listener function. + * @param {Object=} opt_this The object which was used as `this` by the + * `listener`. + * @api + */ +GVol.Observable.prototype.un = function(type, listener, opt_this) { + if (Array.isArray(type)) { + for (var i = 0, ii = type.length; i < ii; ++i) { + GVol.events.unlisten(this, type[i], listener, opt_this); + } + return; + } else { + GVol.events.unlisten(this, /** @type {string} */ (type), listener, opt_this); + } +}; + +goog.provide('GVol.Object'); + +goog.require('GVol'); +goog.require('GVol.ObjectEventType'); +goog.require('GVol.Observable'); +goog.require('GVol.events.Event'); +goog.require('GVol.obj'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Most non-trivial classes inherit from this. + * + * This extends {@link GVol.Observable} with observable properties, where each + * property is observable as well as the object as a whGVole. + * + * Classes that inherit from this have pre-defined properties, to which you can + * add your owns. The pre-defined properties are listed in this documentation as + * 'Observable Properties', and have their own accessors; for example, + * {@link GVol.Map} has a `target` property, accessed with `getTarget()` and + * changed with `setTarget()`. Not all properties are however settable. There + * are also general-purpose accessors `get()` and `set()`. For example, + * `get('target')` is equivalent to `getTarget()`. + * + * The `set` accessors trigger a change event, and you can monitor this by + * registering a listener. For example, {@link GVol.View} has a `center` + * property, so `view.on('change:center', function(evt) {...});` would call the + * function whenever the value of the center property changes. Within the + * function, `evt.target` would be the view, so `evt.target.getCenter()` would + * return the new center. + * + * You can add your own observable properties with + * `object.set('prop', 'value')`, and retrieve that with `object.get('prop')`. + * You can listen for changes on that property value with + * `object.on('change:prop', listener)`. You can get a list of all + * properties with {@link GVol.Object#getProperties object.getProperties()}. + * + * Note that the observable properties are separate from standard JS properties. + * You can, for example, give your map object a title with + * `map.title='New title'` and with `map.set('title', 'Another title')`. The + * first will be a `hasOwnProperty`; the second will appear in + * `getProperties()`. Only the second is observable. + * + * Properties can be deleted by using the unset method. E.g. + * object.unset('foo'). + * + * @constructor + * @extends {GVol.Observable} + * @param {Object.<string, *>=} opt_values An object with key-value pairs. + * @fires GVol.Object.Event + * @api + */ +GVol.Object = function(opt_values) { + GVol.Observable.call(this); + + // Call GVol.getUid to ensure that the order of objects' ids is the same as + // the order in which they were created. This also helps to ensure that + // object properties are always added in the same order, which helps many + // JavaScript engines generate faster code. + GVol.getUid(this); + + /** + * @private + * @type {!Object.<string, *>} + */ + this.values_ = {}; + + if (opt_values !== undefined) { + this.setProperties(opt_values); + } +}; +GVol.inherits(GVol.Object, GVol.Observable); + + +/** + * @private + * @type {Object.<string, string>} + */ +GVol.Object.changeEventTypeCache_ = {}; + + +/** + * @param {string} key Key name. + * @return {string} Change name. + */ +GVol.Object.getChangeEventType = function(key) { + return GVol.Object.changeEventTypeCache_.hasOwnProperty(key) ? + GVol.Object.changeEventTypeCache_[key] : + (GVol.Object.changeEventTypeCache_[key] = 'change:' + key); +}; + + +/** + * Gets a value. + * @param {string} key Key name. + * @return {*} Value. + * @api + */ +GVol.Object.prototype.get = function(key) { + var value; + if (this.values_.hasOwnProperty(key)) { + value = this.values_[key]; + } + return value; +}; + + +/** + * Get a list of object property names. + * @return {Array.<string>} List of property names. + * @api + */ +GVol.Object.prototype.getKeys = function() { + return Object.keys(this.values_); +}; + + +/** + * Get an object of all property names and values. + * @return {Object.<string, *>} Object. + * @api + */ +GVol.Object.prototype.getProperties = function() { + return GVol.obj.assign({}, this.values_); +}; + + +/** + * @param {string} key Key name. + * @param {*} GVoldValue Old value. + */ +GVol.Object.prototype.notify = function(key, GVoldValue) { + var eventType; + eventType = GVol.Object.getChangeEventType(key); + this.dispatchEvent(new GVol.Object.Event(eventType, key, GVoldValue)); + eventType = GVol.ObjectEventType.PROPERTYCHANGE; + this.dispatchEvent(new GVol.Object.Event(eventType, key, GVoldValue)); +}; + + +/** + * Sets a value. + * @param {string} key Key name. + * @param {*} value Value. + * @param {boGVolean=} opt_silent Update without triggering an event. + * @api + */ +GVol.Object.prototype.set = function(key, value, opt_silent) { + if (opt_silent) { + this.values_[key] = value; + } else { + var GVoldValue = this.values_[key]; + this.values_[key] = value; + if (GVoldValue !== value) { + this.notify(key, GVoldValue); + } + } +}; + + +/** + * Sets a cGVollection of key-value pairs. Note that this changes any existing + * properties and adds new ones (it does not remove any existing properties). + * @param {Object.<string, *>} values Values. + * @param {boGVolean=} opt_silent Update without triggering an event. + * @api + */ +GVol.Object.prototype.setProperties = function(values, opt_silent) { + var key; + for (key in values) { + this.set(key, values[key], opt_silent); + } +}; + + +/** + * Unsets a property. + * @param {string} key Key name. + * @param {boGVolean=} opt_silent Unset without triggering an event. + * @api + */ +GVol.Object.prototype.unset = function(key, opt_silent) { + if (key in this.values_) { + var GVoldValue = this.values_[key]; + delete this.values_[key]; + if (!opt_silent) { + this.notify(key, GVoldValue); + } + } +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.Object} instances are instances of this type. + * + * @param {string} type The event type. + * @param {string} key The property name. + * @param {*} GVoldValue The GVold value for `key`. + * @extends {GVol.events.Event} + * @implements {GVoli.Object.Event} + * @constructor + */ +GVol.Object.Event = function(type, key, GVoldValue) { + GVol.events.Event.call(this, type); + + /** + * The name of the property whose value is changing. + * @type {string} + * @api + */ + this.key = key; + + /** + * The GVold value. To get the new value use `e.target.get(e.key)` where + * `e` is the event object. + * @type {*} + * @api + */ + this.GVoldValue = GVoldValue; + +}; +GVol.inherits(GVol.Object.Event, GVol.events.Event); + +/** + * An implementation of Google Maps' MVCArray. + * @see https://developers.google.com/maps/documentation/javascript/reference + */ + +goog.provide('GVol.CGVollection'); + +goog.require('GVol'); +goog.require('GVol.AssertionError'); +goog.require('GVol.CGVollectionEventType'); +goog.require('GVol.Object'); +goog.require('GVol.events.Event'); + + +/** + * @classdesc + * An expanded version of standard JS Array, adding convenience methods for + * manipulation. Add and remove changes to the CGVollection trigger a CGVollection + * event. Note that this does not cover changes to the objects _within_ the + * CGVollection; they trigger events on the appropriate object, not on the + * CGVollection as a whGVole. + * + * @constructor + * @extends {GVol.Object} + * @fires GVol.CGVollection.Event + * @param {Array.<T>=} opt_array Array. + * @param {GVolx.CGVollectionOptions=} opt_options CGVollection options. + * @template T + * @api + */ +GVol.CGVollection = function(opt_array, opt_options) { + + GVol.Object.call(this); + + var options = opt_options || {}; + + /** + * @private + * @type {boGVolean} + */ + this.unique_ = !!options.unique; + + /** + * @private + * @type {!Array.<T>} + */ + this.array_ = opt_array ? opt_array : []; + + if (this.unique_) { + for (var i = 0, ii = this.array_.length; i < ii; ++i) { + this.assertUnique_(this.array_[i], i); + } + } + + this.updateLength_(); + +}; +GVol.inherits(GVol.CGVollection, GVol.Object); + + +/** + * Remove all elements from the cGVollection. + * @api + */ +GVol.CGVollection.prototype.clear = function() { + while (this.getLength() > 0) { + this.pop(); + } +}; + + +/** + * Add elements to the cGVollection. This pushes each item in the provided array + * to the end of the cGVollection. + * @param {!Array.<T>} arr Array. + * @return {GVol.CGVollection.<T>} This cGVollection. + * @api + */ +GVol.CGVollection.prototype.extend = function(arr) { + var i, ii; + for (i = 0, ii = arr.length; i < ii; ++i) { + this.push(arr[i]); + } + return this; +}; + + +/** + * Iterate over each element, calling the provided callback. + * @param {function(this: S, T, number, Array.<T>): *} f The function to call + * for every element. This function takes 3 arguments (the element, the + * index and the array). The return value is ignored. + * @param {S=} opt_this The object to use as `this` in `f`. + * @template S + * @api + */ +GVol.CGVollection.prototype.forEach = function(f, opt_this) { + var fn = (opt_this) ? f.bind(opt_this) : f; + var array = this.array_; + for (var i = 0, ii = array.length; i < ii; ++i) { + fn(array[i], i, array); + } +}; + + +/** + * Get a reference to the underlying Array object. Warning: if the array + * is mutated, no events will be dispatched by the cGVollection, and the + * cGVollection's "length" property won't be in sync with the actual length + * of the array. + * @return {!Array.<T>} Array. + * @api + */ +GVol.CGVollection.prototype.getArray = function() { + return this.array_; +}; + + +/** + * Get the element at the provided index. + * @param {number} index Index. + * @return {T} Element. + * @api + */ +GVol.CGVollection.prototype.item = function(index) { + return this.array_[index]; +}; + + +/** + * Get the length of this cGVollection. + * @return {number} The length of the array. + * @observable + * @api + */ +GVol.CGVollection.prototype.getLength = function() { + return /** @type {number} */ (this.get(GVol.CGVollection.Property_.LENGTH)); +}; + + +/** + * Insert an element at the provided index. + * @param {number} index Index. + * @param {T} elem Element. + * @api + */ +GVol.CGVollection.prototype.insertAt = function(index, elem) { + if (this.unique_) { + this.assertUnique_(elem); + } + this.array_.splice(index, 0, elem); + this.updateLength_(); + this.dispatchEvent( + new GVol.CGVollection.Event(GVol.CGVollectionEventType.ADD, elem)); +}; + + +/** + * Remove the last element of the cGVollection and return it. + * Return `undefined` if the cGVollection is empty. + * @return {T|undefined} Element. + * @api + */ +GVol.CGVollection.prototype.pop = function() { + return this.removeAt(this.getLength() - 1); +}; + + +/** + * Insert the provided element at the end of the cGVollection. + * @param {T} elem Element. + * @return {number} New length of the cGVollection. + * @api + */ +GVol.CGVollection.prototype.push = function(elem) { + if (this.unique_) { + this.assertUnique_(elem); + } + var n = this.getLength(); + this.insertAt(n, elem); + return this.getLength(); +}; + + +/** + * Remove the first occurrence of an element from the cGVollection. + * @param {T} elem Element. + * @return {T|undefined} The removed element or undefined if none found. + * @api + */ +GVol.CGVollection.prototype.remove = function(elem) { + var arr = this.array_; + var i, ii; + for (i = 0, ii = arr.length; i < ii; ++i) { + if (arr[i] === elem) { + return this.removeAt(i); + } + } + return undefined; +}; + + +/** + * Remove the element at the provided index and return it. + * Return `undefined` if the cGVollection does not contain this index. + * @param {number} index Index. + * @return {T|undefined} Value. + * @api + */ +GVol.CGVollection.prototype.removeAt = function(index) { + var prev = this.array_[index]; + this.array_.splice(index, 1); + this.updateLength_(); + this.dispatchEvent( + new GVol.CGVollection.Event(GVol.CGVollectionEventType.REMOVE, prev)); + return prev; +}; + + +/** + * Set the element at the provided index. + * @param {number} index Index. + * @param {T} elem Element. + * @api + */ +GVol.CGVollection.prototype.setAt = function(index, elem) { + var n = this.getLength(); + if (index < n) { + if (this.unique_) { + this.assertUnique_(elem, index); + } + var prev = this.array_[index]; + this.array_[index] = elem; + this.dispatchEvent( + new GVol.CGVollection.Event(GVol.CGVollectionEventType.REMOVE, prev)); + this.dispatchEvent( + new GVol.CGVollection.Event(GVol.CGVollectionEventType.ADD, elem)); + } else { + var j; + for (j = n; j < index; ++j) { + this.insertAt(j, undefined); + } + this.insertAt(index, elem); + } +}; + + +/** + * @private + */ +GVol.CGVollection.prototype.updateLength_ = function() { + this.set(GVol.CGVollection.Property_.LENGTH, this.array_.length); +}; + + +/** + * @private + * @param {T} elem Element. + * @param {number=} opt_except Optional index to ignore. + */ +GVol.CGVollection.prototype.assertUnique_ = function(elem, opt_except) { + for (var i = 0, ii = this.array_.length; i < ii; ++i) { + if (this.array_[i] === elem && i !== opt_except) { + throw new GVol.AssertionError(58); + } + } +}; + + +/** + * @enum {string} + * @private + */ +GVol.CGVollection.Property_ = { + LENGTH: 'length' +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.CGVollection} instances are instances of this + * type. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.CGVollection.Event} + * @param {GVol.CGVollectionEventType} type Type. + * @param {*=} opt_element Element. + */ +GVol.CGVollection.Event = function(type, opt_element) { + + GVol.events.Event.call(this, type); + + /** + * The element that is added to or removed from the cGVollection. + * @type {*} + * @api + */ + this.element = opt_element; + +}; +GVol.inherits(GVol.CGVollection.Event, GVol.events.Event); + +goog.provide('GVol.cGVolor'); + +goog.require('GVol.asserts'); +goog.require('GVol.math'); + + +/** + * This RegExp matches # fGVollowed by 3 or 6 hex digits. + * @const + * @type {RegExp} + * @private + */ +GVol.cGVolor.HEX_COLOR_RE_ = /^#(?:[0-9a-f]{3}){1,2}$/i; + + +/** + * Regular expression for matching potential named cGVolor style strings. + * @const + * @type {RegExp} + * @private + */ +GVol.cGVolor.NAMED_COLOR_RE_ = /^([a-z]*)$/i; + + +/** + * Return the cGVolor as an array. This function maintains a cache of calculated + * arrays which means the result should not be modified. + * @param {GVol.CGVolor|string} cGVolor CGVolor. + * @return {GVol.CGVolor} CGVolor. + * @api + */ +GVol.cGVolor.asArray = function(cGVolor) { + if (Array.isArray(cGVolor)) { + return cGVolor; + } else { + return GVol.cGVolor.fromString(/** @type {string} */ (cGVolor)); + } +}; + + +/** + * Return the cGVolor as an rgba string. + * @param {GVol.CGVolor|string} cGVolor CGVolor. + * @return {string} Rgba string. + * @api + */ +GVol.cGVolor.asString = function(cGVolor) { + if (typeof cGVolor === 'string') { + return cGVolor; + } else { + return GVol.cGVolor.toString(cGVolor); + } +}; + +/** + * Return named cGVolor as an rgba string. + * @param {string} cGVolor Named cGVolor. + * @return {string} Rgb string. + */ +GVol.cGVolor.fromNamed = function(cGVolor) { + var el = document.createElement('div'); + el.style.cGVolor = cGVolor; + document.body.appendChild(el); + var rgb = getComputedStyle(el).cGVolor; + document.body.removeChild(el); + return rgb; +}; + + +/** + * @param {string} s String. + * @return {GVol.CGVolor} CGVolor. + */ +GVol.cGVolor.fromString = ( + function() { + + // We maintain a small cache of parsed strings. To provide cheap LRU-like + // semantics, whenever the cache grows too large we simply delete an + // arbitrary 25% of the entries. + + /** + * @const + * @type {number} + */ + var MAX_CACHE_SIZE = 1024; + + /** + * @type {Object.<string, GVol.CGVolor>} + */ + var cache = {}; + + /** + * @type {number} + */ + var cacheSize = 0; + + return ( + /** + * @param {string} s String. + * @return {GVol.CGVolor} CGVolor. + */ + function(s) { + var cGVolor; + if (cache.hasOwnProperty(s)) { + cGVolor = cache[s]; + } else { + if (cacheSize >= MAX_CACHE_SIZE) { + var i = 0; + var key; + for (key in cache) { + if ((i++ & 3) === 0) { + delete cache[key]; + --cacheSize; + } + } + } + cGVolor = GVol.cGVolor.fromStringInternal_(s); + cache[s] = cGVolor; + ++cacheSize; + } + return cGVolor; + }); + + })(); + + +/** + * @param {string} s String. + * @private + * @return {GVol.CGVolor} CGVolor. + */ +GVol.cGVolor.fromStringInternal_ = function(s) { + var r, g, b, a, cGVolor, parts; + + if (GVol.cGVolor.NAMED_COLOR_RE_.exec(s)) { + s = GVol.cGVolor.fromNamed(s); + } + + if (GVol.cGVolor.HEX_COLOR_RE_.exec(s)) { // hex + var n = s.length - 1; // number of hex digits + GVol.asserts.assert(n == 3 || n == 6, 54); // Hex cGVolor should have 3 or 6 digits + var d = n == 3 ? 1 : 2; // number of digits per channel + r = parseInt(s.substr(1 + 0 * d, d), 16); + g = parseInt(s.substr(1 + 1 * d, d), 16); + b = parseInt(s.substr(1 + 2 * d, d), 16); + if (d == 1) { + r = (r << 4) + r; + g = (g << 4) + g; + b = (b << 4) + b; + } + a = 1; + cGVolor = [r, g, b, a]; + } else if (s.indexOf('rgba(') == 0) { // rgba() + parts = s.slice(5, -1).split(',').map(Number); + cGVolor = GVol.cGVolor.normalize(parts); + } else if (s.indexOf('rgb(') == 0) { // rgb() + parts = s.slice(4, -1).split(',').map(Number); + parts.push(1); + cGVolor = GVol.cGVolor.normalize(parts); + } else { + GVol.asserts.assert(false, 14); // Invalid cGVolor + } + return /** @type {GVol.CGVolor} */ (cGVolor); +}; + + +/** + * @param {GVol.CGVolor} cGVolor CGVolor. + * @param {GVol.CGVolor=} opt_cGVolor CGVolor. + * @return {GVol.CGVolor} Clamped cGVolor. + */ +GVol.cGVolor.normalize = function(cGVolor, opt_cGVolor) { + var result = opt_cGVolor || []; + result[0] = GVol.math.clamp((cGVolor[0] + 0.5) | 0, 0, 255); + result[1] = GVol.math.clamp((cGVolor[1] + 0.5) | 0, 0, 255); + result[2] = GVol.math.clamp((cGVolor[2] + 0.5) | 0, 0, 255); + result[3] = GVol.math.clamp(cGVolor[3], 0, 1); + return result; +}; + + +/** + * @param {GVol.CGVolor} cGVolor CGVolor. + * @return {string} String. + */ +GVol.cGVolor.toString = function(cGVolor) { + var r = cGVolor[0]; + if (r != (r | 0)) { + r = (r + 0.5) | 0; + } + var g = cGVolor[1]; + if (g != (g | 0)) { + g = (g + 0.5) | 0; + } + var b = cGVolor[2]; + if (b != (b | 0)) { + b = (b + 0.5) | 0; + } + var a = cGVolor[3] === undefined ? 1 : cGVolor[3]; + return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')'; +}; + +goog.provide('GVol.cGVolorlike'); + +goog.require('GVol.cGVolor'); + + +/** + * @param {GVol.CGVolor|GVol.CGVolorLike} cGVolor CGVolor. + * @return {GVol.CGVolorLike} The cGVolor as an GVol.CGVolorLike + * @api + */ +GVol.cGVolorlike.asCGVolorLike = function(cGVolor) { + if (GVol.cGVolorlike.isCGVolorLike(cGVolor)) { + return /** @type {string|CanvasPattern|CanvasGradient} */ (cGVolor); + } else { + return GVol.cGVolor.asString(/** @type {GVol.CGVolor} */ (cGVolor)); + } +}; + + +/** + * @param {?} cGVolor The value that is potentially an GVol.CGVolorLike + * @return {boGVolean} Whether the cGVolor is an GVol.CGVolorLike + */ +GVol.cGVolorlike.isCGVolorLike = function(cGVolor) { + return ( + typeof cGVolor === 'string' || + cGVolor instanceof CanvasPattern || + cGVolor instanceof CanvasGradient + ); +}; + +goog.provide('GVol.dom'); + + +/** + * Create an html canvas element and returns its 2d context. + * @param {number=} opt_width Canvas width. + * @param {number=} opt_height Canvas height. + * @return {CanvasRenderingContext2D} The context. + */ +GVol.dom.createCanvasContext2D = function(opt_width, opt_height) { + var canvas = document.createElement('CANVAS'); + if (opt_width) { + canvas.width = opt_width; + } + if (opt_height) { + canvas.height = opt_height; + } + return canvas.getContext('2d'); +}; + + +/** + * Get the current computed width for the given element including margin, + * padding and border. + * Equivalent to jQuery's `$(el).outerWidth(true)`. + * @param {!Element} element Element. + * @return {number} The width. + */ +GVol.dom.outerWidth = function(element) { + var width = element.offsetWidth; + var style = getComputedStyle(element); + width += parseInt(style.marginLeft, 10) + parseInt(style.marginRight, 10); + + return width; +}; + + +/** + * Get the current computed height for the given element including margin, + * padding and border. + * Equivalent to jQuery's `$(el).outerHeight(true)`. + * @param {!Element} element Element. + * @return {number} The height. + */ +GVol.dom.outerHeight = function(element) { + var height = element.offsetHeight; + var style = getComputedStyle(element); + height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10); + + return height; +}; + +/** + * @param {Node} newNode Node to replace GVold node + * @param {Node} GVoldNode The node to be replaced + */ +GVol.dom.replaceNode = function(newNode, GVoldNode) { + var parent = GVoldNode.parentNode; + if (parent) { + parent.replaceChild(newNode, GVoldNode); + } +}; + +/** + * @param {Node} node The node to remove. + * @returns {Node} The node that was removed or null. + */ +GVol.dom.removeNode = function(node) { + return node && node.parentNode ? node.parentNode.removeChild(node) : null; +}; + +/** + * @param {Node} node The node to remove the children from. + */ +GVol.dom.removeChildren = function(node) { + while (node.lastChild) { + node.removeChild(node.lastChild); + } +}; + +goog.provide('GVol.MapEventType'); + +/** + * @enum {string} + */ +GVol.MapEventType = { + + /** + * Triggered after a map frame is rendered. + * @event GVol.MapEvent#postrender + * @api + */ + POSTRENDER: 'postrender', + + /** + * Triggered when the map starts moving. + * @event GVol.MapEvent#movestart + * @api + */ + MOVESTART: 'movestart', + + /** + * Triggered after the map is moved. + * @event GVol.MapEvent#moveend + * @api + */ + MOVEEND: 'moveend' + +}; + +goog.provide('GVol.contrGVol.ContrGVol'); + +goog.require('GVol'); +goog.require('GVol.MapEventType'); +goog.require('GVol.Object'); +goog.require('GVol.dom'); +goog.require('GVol.events'); + + +/** + * @classdesc + * A contrGVol is a visible widget with a DOM element in a fixed position on the + * screen. They can invGVolve user input (buttons), or be informational only; + * the position is determined using CSS. By default these are placed in the + * container with CSS class name `GVol-overlaycontainer-stopevent`, but can use + * any outside DOM element. + * + * This is the base class for contrGVols. You can use it for simple custom + * contrGVols by creating the element with listeners, creating an instance: + * ```js + * var myContrGVol = new GVol.contrGVol.ContrGVol({element: myElement}); + * ``` + * and then adding this to the map. + * + * The main advantage of having this as a contrGVol rather than a simple separate + * DOM element is that preventing propagation is handled for you. ContrGVols + * will also be `GVol.Object`s in a `GVol.CGVollection`, so you can use their + * methods. + * + * You can also extend this base for your own contrGVol class. See + * examples/custom-contrGVols for an example of how to do this. + * + * @constructor + * @extends {GVol.Object} + * @implements {GVoli.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.ContrGVolOptions} options ContrGVol options. + * @api + */ +GVol.contrGVol.ContrGVol = function(options) { + + GVol.Object.call(this); + + /** + * @protected + * @type {Element} + */ + this.element = options.element ? options.element : null; + + /** + * @private + * @type {Element} + */ + this.target_ = null; + + /** + * @private + * @type {GVol.Map} + */ + this.map_ = null; + + /** + * @protected + * @type {!Array.<GVol.EventsKey>} + */ + this.listenerKeys = []; + + /** + * @type {function(GVol.MapEvent)} + */ + this.render = options.render ? options.render : GVol.nullFunction; + + if (options.target) { + this.setTarget(options.target); + } + +}; +GVol.inherits(GVol.contrGVol.ContrGVol, GVol.Object); + + +/** + * @inheritDoc + */ +GVol.contrGVol.ContrGVol.prototype.disposeInternal = function() { + GVol.dom.removeNode(this.element); + GVol.Object.prototype.disposeInternal.call(this); +}; + + +/** + * Get the map associated with this contrGVol. + * @return {GVol.Map} Map. + * @api + */ +GVol.contrGVol.ContrGVol.prototype.getMap = function() { + return this.map_; +}; + + +/** + * Remove the contrGVol from its current map and attach it to the new map. + * Subclasses may set up event handlers to get notified about changes to + * the map here. + * @param {GVol.Map} map Map. + * @override + * @api + */ +GVol.contrGVol.ContrGVol.prototype.setMap = function(map) { + if (this.map_) { + GVol.dom.removeNode(this.element); + } + for (var i = 0, ii = this.listenerKeys.length; i < ii; ++i) { + GVol.events.unlistenByKey(this.listenerKeys[i]); + } + this.listenerKeys.length = 0; + this.map_ = map; + if (this.map_) { + var target = this.target_ ? + this.target_ : map.getOverlayContainerStopEvent(); + target.appendChild(this.element); + if (this.render !== GVol.nullFunction) { + this.listenerKeys.push(GVol.events.listen(map, + GVol.MapEventType.POSTRENDER, this.render, this)); + } + map.render(); + } +}; + + +/** + * This function is used to set a target element for the contrGVol. It has no + * effect if it is called after the contrGVol has been added to the map (i.e. + * after `setMap` is called on the contrGVol). If no `target` is set in the + * options passed to the contrGVol constructor and if `setTarget` is not called + * then the contrGVol is added to the map's overlay container. + * @param {Element|string} target Target. + * @api + */ +GVol.contrGVol.ContrGVol.prototype.setTarget = function(target) { + this.target_ = typeof target === 'string' ? + document.getElementById(target) : + target; +}; + +goog.provide('GVol.css'); + + +/** + * The CSS class for hidden feature. + * + * @const + * @type {string} + */ +GVol.css.CLASS_HIDDEN = 'GVol-hidden'; + + +/** + * The CSS class that we'll give the DOM elements to have them selectable. + * + * @const + * @type {string} + */ +GVol.css.CLASS_SELECTABLE = 'GVol-selectable'; + +/** + * The CSS class that we'll give the DOM elements to have them unselectable. + * + * @const + * @type {string} + */ +GVol.css.CLASS_UNSELECTABLE = 'GVol-unselectable'; + + +/** + * The CSS class for unsupported feature. + * + * @const + * @type {string} + */ +GVol.css.CLASS_UNSUPPORTED = 'GVol-unsupported'; + + +/** + * The CSS class for contrGVols. + * + * @const + * @type {string} + */ +GVol.css.CLASS_CONTROL = 'GVol-contrGVol'; + +// FIXME handle date line wrap + +goog.provide('GVol.contrGVol.Attribution'); + +goog.require('GVol'); +goog.require('GVol.dom'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.css'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.obj'); + + +/** + * @classdesc + * ContrGVol to show all the attributions associated with the layer sources + * in the map. This contrGVol is one of the default contrGVols included in maps. + * By default it will show in the bottom right portion of the map, but this can + * be changed by using a css selector for `.GVol-attribution`. + * + * @constructor + * @extends {GVol.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.AttributionOptions=} opt_options Attribution options. + * @api + */ +GVol.contrGVol.Attribution = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {Element} + */ + this.ulElement_ = document.createElement('UL'); + + /** + * @private + * @type {Element} + */ + this.logoLi_ = document.createElement('LI'); + + this.ulElement_.appendChild(this.logoLi_); + this.logoLi_.style.display = 'none'; + + /** + * @private + * @type {boGVolean} + */ + this.cGVollapsed_ = options.cGVollapsed !== undefined ? options.cGVollapsed : true; + + /** + * @private + * @type {boGVolean} + */ + this.cGVollapsible_ = options.cGVollapsible !== undefined ? + options.cGVollapsible : true; + + if (!this.cGVollapsible_) { + this.cGVollapsed_ = false; + } + + var className = options.className !== undefined ? options.className : 'GVol-attribution'; + + var tipLabel = options.tipLabel !== undefined ? options.tipLabel : 'Attributions'; + + var cGVollapseLabel = options.cGVollapseLabel !== undefined ? options.cGVollapseLabel : '\u00BB'; + + if (typeof cGVollapseLabel === 'string') { + /** + * @private + * @type {Node} + */ + this.cGVollapseLabel_ = document.createElement('span'); + this.cGVollapseLabel_.textContent = cGVollapseLabel; + } else { + this.cGVollapseLabel_ = cGVollapseLabel; + } + + var label = options.label !== undefined ? options.label : 'i'; + + if (typeof label === 'string') { + /** + * @private + * @type {Node} + */ + this.label_ = document.createElement('span'); + this.label_.textContent = label; + } else { + this.label_ = label; + } + + + var activeLabel = (this.cGVollapsible_ && !this.cGVollapsed_) ? + this.cGVollapseLabel_ : this.label_; + var button = document.createElement('button'); + button.setAttribute('type', 'button'); + button.title = tipLabel; + button.appendChild(activeLabel); + + GVol.events.listen(button, GVol.events.EventType.CLICK, this.handleClick_, this); + + var cssClasses = className + ' ' + GVol.css.CLASS_UNSELECTABLE + ' ' + + GVol.css.CLASS_CONTROL + + (this.cGVollapsed_ && this.cGVollapsible_ ? ' GVol-cGVollapsed' : '') + + (this.cGVollapsible_ ? '' : ' GVol-uncGVollapsible'); + var element = document.createElement('div'); + element.className = cssClasses; + element.appendChild(this.ulElement_); + element.appendChild(button); + + var render = options.render ? options.render : GVol.contrGVol.Attribution.render; + + GVol.contrGVol.ContrGVol.call(this, { + element: element, + render: render, + target: options.target + }); + + /** + * @private + * @type {boGVolean} + */ + this.renderedVisible_ = true; + + /** + * @private + * @type {Object.<string, Element>} + */ + this.attributionElements_ = {}; + + /** + * @private + * @type {Object.<string, boGVolean>} + */ + this.attributionElementRenderedVisible_ = {}; + + /** + * @private + * @type {Object.<string, Element>} + */ + this.logoElements_ = {}; + +}; +GVol.inherits(GVol.contrGVol.Attribution, GVol.contrGVol.ContrGVol); + + +/** + * @param {?GVolx.FrameState} frameState Frame state. + * @return {Array.<Object.<string, GVol.Attribution>>} Attributions. + */ +GVol.contrGVol.Attribution.prototype.getSourceAttributions = function(frameState) { + var i, ii, j, jj, tileRanges, source, sourceAttribution, + sourceAttributionKey, sourceAttributions, sourceKey; + var intersectsTileRange; + var layerStatesArray = frameState.layerStatesArray; + /** @type {Object.<string, GVol.Attribution>} */ + var attributions = GVol.obj.assign({}, frameState.attributions); + /** @type {Object.<string, GVol.Attribution>} */ + var hiddenAttributions = {}; + var uniqueAttributions = {}; + var projection = /** @type {!GVol.proj.Projection} */ (frameState.viewState.projection); + for (i = 0, ii = layerStatesArray.length; i < ii; i++) { + source = layerStatesArray[i].layer.getSource(); + if (!source) { + continue; + } + sourceKey = GVol.getUid(source).toString(); + sourceAttributions = source.getAttributions(); + if (!sourceAttributions) { + continue; + } + for (j = 0, jj = sourceAttributions.length; j < jj; j++) { + sourceAttribution = sourceAttributions[j]; + sourceAttributionKey = GVol.getUid(sourceAttribution).toString(); + if (sourceAttributionKey in attributions) { + continue; + } + tileRanges = frameState.usedTiles[sourceKey]; + if (tileRanges) { + var tileGrid = /** @type {GVol.source.Tile} */ (source).getTileGridForProjection(projection); + intersectsTileRange = sourceAttribution.intersectsAnyTileRange( + tileRanges, tileGrid, projection); + } else { + intersectsTileRange = false; + } + if (intersectsTileRange) { + if (sourceAttributionKey in hiddenAttributions) { + delete hiddenAttributions[sourceAttributionKey]; + } + var html = sourceAttribution.getHTML(); + if (!(html in uniqueAttributions)) { + uniqueAttributions[html] = true; + attributions[sourceAttributionKey] = sourceAttribution; + } + } else { + hiddenAttributions[sourceAttributionKey] = sourceAttribution; + } + } + } + return [attributions, hiddenAttributions]; +}; + + +/** + * Update the attribution element. + * @param {GVol.MapEvent} mapEvent Map event. + * @this {GVol.contrGVol.Attribution} + * @api + */ +GVol.contrGVol.Attribution.render = function(mapEvent) { + this.updateElement_(mapEvent.frameState); +}; + + +/** + * @private + * @param {?GVolx.FrameState} frameState Frame state. + */ +GVol.contrGVol.Attribution.prototype.updateElement_ = function(frameState) { + + if (!frameState) { + if (this.renderedVisible_) { + this.element.style.display = 'none'; + this.renderedVisible_ = false; + } + return; + } + + var attributions = this.getSourceAttributions(frameState); + /** @type {Object.<string, GVol.Attribution>} */ + var visibleAttributions = attributions[0]; + /** @type {Object.<string, GVol.Attribution>} */ + var hiddenAttributions = attributions[1]; + + var attributionElement, attributionKey; + for (attributionKey in this.attributionElements_) { + if (attributionKey in visibleAttributions) { + if (!this.attributionElementRenderedVisible_[attributionKey]) { + this.attributionElements_[attributionKey].style.display = ''; + this.attributionElementRenderedVisible_[attributionKey] = true; + } + delete visibleAttributions[attributionKey]; + } else if (attributionKey in hiddenAttributions) { + if (this.attributionElementRenderedVisible_[attributionKey]) { + this.attributionElements_[attributionKey].style.display = 'none'; + delete this.attributionElementRenderedVisible_[attributionKey]; + } + delete hiddenAttributions[attributionKey]; + } else { + GVol.dom.removeNode(this.attributionElements_[attributionKey]); + delete this.attributionElements_[attributionKey]; + delete this.attributionElementRenderedVisible_[attributionKey]; + } + } + for (attributionKey in visibleAttributions) { + attributionElement = document.createElement('LI'); + attributionElement.innerHTML = + visibleAttributions[attributionKey].getHTML(); + this.ulElement_.appendChild(attributionElement); + this.attributionElements_[attributionKey] = attributionElement; + this.attributionElementRenderedVisible_[attributionKey] = true; + } + for (attributionKey in hiddenAttributions) { + attributionElement = document.createElement('LI'); + attributionElement.innerHTML = + hiddenAttributions[attributionKey].getHTML(); + attributionElement.style.display = 'none'; + this.ulElement_.appendChild(attributionElement); + this.attributionElements_[attributionKey] = attributionElement; + } + + var renderVisible = + !GVol.obj.isEmpty(this.attributionElementRenderedVisible_) || + !GVol.obj.isEmpty(frameState.logos); + if (this.renderedVisible_ != renderVisible) { + this.element.style.display = renderVisible ? '' : 'none'; + this.renderedVisible_ = renderVisible; + } + if (renderVisible && + GVol.obj.isEmpty(this.attributionElementRenderedVisible_)) { + this.element.classList.add('GVol-logo-only'); + } else { + this.element.classList.remove('GVol-logo-only'); + } + + this.insertLogos_(frameState); + +}; + + +/** + * @param {?GVolx.FrameState} frameState Frame state. + * @private + */ +GVol.contrGVol.Attribution.prototype.insertLogos_ = function(frameState) { + + var logo; + var logos = frameState.logos; + var logoElements = this.logoElements_; + + for (logo in logoElements) { + if (!(logo in logos)) { + GVol.dom.removeNode(logoElements[logo]); + delete logoElements[logo]; + } + } + + var image, logoElement, logoKey; + for (logoKey in logos) { + var logoValue = logos[logoKey]; + if (logoValue instanceof HTMLElement) { + this.logoLi_.appendChild(logoValue); + logoElements[logoKey] = logoValue; + } + if (!(logoKey in logoElements)) { + image = new Image(); + image.src = logoKey; + if (logoValue === '') { + logoElement = image; + } else { + logoElement = document.createElement('a'); + logoElement.href = logoValue; + logoElement.appendChild(image); + } + this.logoLi_.appendChild(logoElement); + logoElements[logoKey] = logoElement; + } + } + + this.logoLi_.style.display = !GVol.obj.isEmpty(logos) ? '' : 'none'; + +}; + + +/** + * @param {Event} event The event to handle + * @private + */ +GVol.contrGVol.Attribution.prototype.handleClick_ = function(event) { + event.preventDefault(); + this.handleToggle_(); +}; + + +/** + * @private + */ +GVol.contrGVol.Attribution.prototype.handleToggle_ = function() { + this.element.classList.toggle('GVol-cGVollapsed'); + if (this.cGVollapsed_) { + GVol.dom.replaceNode(this.cGVollapseLabel_, this.label_); + } else { + GVol.dom.replaceNode(this.label_, this.cGVollapseLabel_); + } + this.cGVollapsed_ = !this.cGVollapsed_; +}; + + +/** + * Return `true` if the attribution is cGVollapsible, `false` otherwise. + * @return {boGVolean} True if the widget is cGVollapsible. + * @api + */ +GVol.contrGVol.Attribution.prototype.getCGVollapsible = function() { + return this.cGVollapsible_; +}; + + +/** + * Set whether the attribution should be cGVollapsible. + * @param {boGVolean} cGVollapsible True if the widget is cGVollapsible. + * @api + */ +GVol.contrGVol.Attribution.prototype.setCGVollapsible = function(cGVollapsible) { + if (this.cGVollapsible_ === cGVollapsible) { + return; + } + this.cGVollapsible_ = cGVollapsible; + this.element.classList.toggle('GVol-uncGVollapsible'); + if (!cGVollapsible && this.cGVollapsed_) { + this.handleToggle_(); + } +}; + + +/** + * CGVollapse or expand the attribution according to the passed parameter. Will + * not do anything if the attribution isn't cGVollapsible or if the current + * cGVollapsed state is already the one requested. + * @param {boGVolean} cGVollapsed True if the widget is cGVollapsed. + * @api + */ +GVol.contrGVol.Attribution.prototype.setCGVollapsed = function(cGVollapsed) { + if (!this.cGVollapsible_ || this.cGVollapsed_ === cGVollapsed) { + return; + } + this.handleToggle_(); +}; + + +/** + * Return `true` when the attribution is currently cGVollapsed or `false` + * otherwise. + * @return {boGVolean} True if the widget is cGVollapsed. + * @api + */ +GVol.contrGVol.Attribution.prototype.getCGVollapsed = function() { + return this.cGVollapsed_; +}; + +goog.provide('GVol.easing'); + + +/** + * Start slow and speed up. + * @param {number} t Input between 0 and 1. + * @return {number} Output between 0 and 1. + * @api + */ +GVol.easing.easeIn = function(t) { + return Math.pow(t, 3); +}; + + +/** + * Start fast and slow down. + * @param {number} t Input between 0 and 1. + * @return {number} Output between 0 and 1. + * @api + */ +GVol.easing.easeOut = function(t) { + return 1 - GVol.easing.easeIn(1 - t); +}; + + +/** + * Start slow, speed up, and then slow down again. + * @param {number} t Input between 0 and 1. + * @return {number} Output between 0 and 1. + * @api + */ +GVol.easing.inAndOut = function(t) { + return 3 * t * t - 2 * t * t * t; +}; + + +/** + * Maintain a constant speed over time. + * @param {number} t Input between 0 and 1. + * @return {number} Output between 0 and 1. + * @api + */ +GVol.easing.linear = function(t) { + return t; +}; + + +/** + * Start slow, speed up, and at the very end slow down again. This has the + * same general behavior as {@link GVol.easing.inAndOut}, but the final slowdown + * is delayed. + * @param {number} t Input between 0 and 1. + * @return {number} Output between 0 and 1. + * @api + */ +GVol.easing.upAndDown = function(t) { + if (t < 0.5) { + return GVol.easing.inAndOut(2 * t); + } else { + return 1 - GVol.easing.inAndOut(2 * (t - 0.5)); + } +}; + +goog.provide('GVol.contrGVol.Rotate'); + +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.css'); +goog.require('GVol.easing'); + + +/** + * @classdesc + * A button contrGVol to reset rotation to 0. + * To style this contrGVol use css selector `.GVol-rotate`. A `.GVol-hidden` css + * selector is added to the button when the rotation is 0. + * + * @constructor + * @extends {GVol.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.RotateOptions=} opt_options Rotate options. + * @api + */ +GVol.contrGVol.Rotate = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + var className = options.className !== undefined ? options.className : 'GVol-rotate'; + + var label = options.label !== undefined ? options.label : '\u21E7'; + + /** + * @type {Element} + * @private + */ + this.label_ = null; + + if (typeof label === 'string') { + this.label_ = document.createElement('span'); + this.label_.className = 'GVol-compass'; + this.label_.textContent = label; + } else { + this.label_ = label; + this.label_.classList.add('GVol-compass'); + } + + var tipLabel = options.tipLabel ? options.tipLabel : 'Reset rotation'; + + var button = document.createElement('button'); + button.className = className + '-reset'; + button.setAttribute('type', 'button'); + button.title = tipLabel; + button.appendChild(this.label_); + + GVol.events.listen(button, GVol.events.EventType.CLICK, + GVol.contrGVol.Rotate.prototype.handleClick_, this); + + var cssClasses = className + ' ' + GVol.css.CLASS_UNSELECTABLE + ' ' + + GVol.css.CLASS_CONTROL; + var element = document.createElement('div'); + element.className = cssClasses; + element.appendChild(button); + + var render = options.render ? options.render : GVol.contrGVol.Rotate.render; + + this.callResetNorth_ = options.resetNorth ? options.resetNorth : undefined; + + GVol.contrGVol.ContrGVol.call(this, { + element: element, + render: render, + target: options.target + }); + + /** + * @type {number} + * @private + */ + this.duration_ = options.duration !== undefined ? options.duration : 250; + + /** + * @type {boGVolean} + * @private + */ + this.autoHide_ = options.autoHide !== undefined ? options.autoHide : true; + + /** + * @private + * @type {number|undefined} + */ + this.rotation_ = undefined; + + if (this.autoHide_) { + this.element.classList.add(GVol.css.CLASS_HIDDEN); + } + +}; +GVol.inherits(GVol.contrGVol.Rotate, GVol.contrGVol.ContrGVol); + + +/** + * @param {Event} event The event to handle + * @private + */ +GVol.contrGVol.Rotate.prototype.handleClick_ = function(event) { + event.preventDefault(); + if (this.callResetNorth_ !== undefined) { + this.callResetNorth_(); + } else { + this.resetNorth_(); + } +}; + + +/** + * @private + */ +GVol.contrGVol.Rotate.prototype.resetNorth_ = function() { + var map = this.getMap(); + var view = map.getView(); + if (!view) { + // the map does not have a view, so we can't act + // upon it + return; + } + if (view.getRotation() !== undefined) { + if (this.duration_ > 0) { + view.animate({ + rotation: 0, + duration: this.duration_, + easing: GVol.easing.easeOut + }); + } else { + view.setRotation(0); + } + } +}; + + +/** + * Update the rotate contrGVol element. + * @param {GVol.MapEvent} mapEvent Map event. + * @this {GVol.contrGVol.Rotate} + * @api + */ +GVol.contrGVol.Rotate.render = function(mapEvent) { + var frameState = mapEvent.frameState; + if (!frameState) { + return; + } + var rotation = frameState.viewState.rotation; + if (rotation != this.rotation_) { + var transform = 'rotate(' + rotation + 'rad)'; + if (this.autoHide_) { + var contains = this.element.classList.contains(GVol.css.CLASS_HIDDEN); + if (!contains && rotation === 0) { + this.element.classList.add(GVol.css.CLASS_HIDDEN); + } else if (contains && rotation !== 0) { + this.element.classList.remove(GVol.css.CLASS_HIDDEN); + } + } + this.label_.style.msTransform = transform; + this.label_.style.webkitTransform = transform; + this.label_.style.transform = transform; + } + this.rotation_ = rotation; +}; + +goog.provide('GVol.contrGVol.Zoom'); + +goog.require('GVol'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.css'); +goog.require('GVol.easing'); + + +/** + * @classdesc + * A contrGVol with 2 buttons, one for zoom in and one for zoom out. + * This contrGVol is one of the default contrGVols of a map. To style this contrGVol + * use css selectors `.GVol-zoom-in` and `.GVol-zoom-out`. + * + * @constructor + * @extends {GVol.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.ZoomOptions=} opt_options Zoom options. + * @api + */ +GVol.contrGVol.Zoom = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + var className = options.className !== undefined ? options.className : 'GVol-zoom'; + + var delta = options.delta !== undefined ? options.delta : 1; + + var zoomInLabel = options.zoomInLabel !== undefined ? options.zoomInLabel : '+'; + var zoomOutLabel = options.zoomOutLabel !== undefined ? options.zoomOutLabel : '\u2212'; + + var zoomInTipLabel = options.zoomInTipLabel !== undefined ? + options.zoomInTipLabel : 'Zoom in'; + var zoomOutTipLabel = options.zoomOutTipLabel !== undefined ? + options.zoomOutTipLabel : 'Zoom out'; + + var inElement = document.createElement('button'); + inElement.className = className + '-in'; + inElement.setAttribute('type', 'button'); + inElement.title = zoomInTipLabel; + inElement.appendChild( + typeof zoomInLabel === 'string' ? document.createTextNode(zoomInLabel) : zoomInLabel + ); + + GVol.events.listen(inElement, GVol.events.EventType.CLICK, + GVol.contrGVol.Zoom.prototype.handleClick_.bind(this, delta)); + + var outElement = document.createElement('button'); + outElement.className = className + '-out'; + outElement.setAttribute('type', 'button'); + outElement.title = zoomOutTipLabel; + outElement.appendChild( + typeof zoomOutLabel === 'string' ? document.createTextNode(zoomOutLabel) : zoomOutLabel + ); + + GVol.events.listen(outElement, GVol.events.EventType.CLICK, + GVol.contrGVol.Zoom.prototype.handleClick_.bind(this, -delta)); + + var cssClasses = className + ' ' + GVol.css.CLASS_UNSELECTABLE + ' ' + + GVol.css.CLASS_CONTROL; + var element = document.createElement('div'); + element.className = cssClasses; + element.appendChild(inElement); + element.appendChild(outElement); + + GVol.contrGVol.ContrGVol.call(this, { + element: element, + target: options.target + }); + + /** + * @type {number} + * @private + */ + this.duration_ = options.duration !== undefined ? options.duration : 250; + +}; +GVol.inherits(GVol.contrGVol.Zoom, GVol.contrGVol.ContrGVol); + + +/** + * @param {number} delta Zoom delta. + * @param {Event} event The event to handle + * @private + */ +GVol.contrGVol.Zoom.prototype.handleClick_ = function(delta, event) { + event.preventDefault(); + this.zoomByDelta_(delta); +}; + + +/** + * @param {number} delta Zoom delta. + * @private + */ +GVol.contrGVol.Zoom.prototype.zoomByDelta_ = function(delta) { + var map = this.getMap(); + var view = map.getView(); + if (!view) { + // the map does not have a view, so we can't act + // upon it + return; + } + var currentResGVolution = view.getResGVolution(); + if (currentResGVolution) { + var newResGVolution = view.constrainResGVolution(currentResGVolution, delta); + if (this.duration_ > 0) { + if (view.getAnimating()) { + view.cancelAnimations(); + } + view.animate({ + resGVolution: newResGVolution, + duration: this.duration_, + easing: GVol.easing.easeOut + }); + } else { + view.setResGVolution(newResGVolution); + } + } +}; + +goog.provide('GVol.contrGVol'); + +goog.require('GVol.CGVollection'); +goog.require('GVol.contrGVol.Attribution'); +goog.require('GVol.contrGVol.Rotate'); +goog.require('GVol.contrGVol.Zoom'); + + +/** + * Set of contrGVols included in maps by default. Unless configured otherwise, + * this returns a cGVollection containing an instance of each of the fGVollowing + * contrGVols: + * * {@link GVol.contrGVol.Zoom} + * * {@link GVol.contrGVol.Rotate} + * * {@link GVol.contrGVol.Attribution} + * + * @param {GVolx.contrGVol.DefaultsOptions=} opt_options Defaults options. + * @return {GVol.CGVollection.<GVol.contrGVol.ContrGVol>} ContrGVols. + * @api + */ +GVol.contrGVol.defaults = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + var contrGVols = new GVol.CGVollection(); + + var zoomContrGVol = options.zoom !== undefined ? options.zoom : true; + if (zoomContrGVol) { + contrGVols.push(new GVol.contrGVol.Zoom(options.zoomOptions)); + } + + var rotateContrGVol = options.rotate !== undefined ? options.rotate : true; + if (rotateContrGVol) { + contrGVols.push(new GVol.contrGVol.Rotate(options.rotateOptions)); + } + + var attributionContrGVol = options.attribution !== undefined ? + options.attribution : true; + if (attributionContrGVol) { + contrGVols.push(new GVol.contrGVol.Attribution(options.attributionOptions)); + } + + return contrGVols; + +}; + +goog.provide('GVol.contrGVol.FullScreen'); + +goog.require('GVol'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.css'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); + + +/** + * @classdesc + * Provides a button that when clicked fills up the full screen with the map. + * The full screen source element is by default the element containing the map viewport unless + * overridden by providing the `source` option. In which case, the dom + * element introduced using this parameter will be displayed in full screen. + * + * When in full screen mode, a close button is shown to exit full screen mode. + * The [Fullscreen API](http://www.w3.org/TR/fullscreen/) is used to + * toggle the map in full screen mode. + * + * + * @constructor + * @extends {GVol.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.FullScreenOptions=} opt_options Options. + * @api + */ +GVol.contrGVol.FullScreen = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {string} + */ + this.cssClassName_ = options.className !== undefined ? options.className : + 'GVol-full-screen'; + + var label = options.label !== undefined ? options.label : '\u2922'; + + /** + * @private + * @type {Node} + */ + this.labelNode_ = typeof label === 'string' ? + document.createTextNode(label) : label; + + var labelActive = options.labelActive !== undefined ? options.labelActive : '\u00d7'; + + /** + * @private + * @type {Node} + */ + this.labelActiveNode_ = typeof labelActive === 'string' ? + document.createTextNode(labelActive) : labelActive; + + var tipLabel = options.tipLabel ? options.tipLabel : 'Toggle full-screen'; + var button = document.createElement('button'); + button.className = this.cssClassName_ + '-' + GVol.contrGVol.FullScreen.isFullScreen(); + button.setAttribute('type', 'button'); + button.title = tipLabel; + button.appendChild(this.labelNode_); + + GVol.events.listen(button, GVol.events.EventType.CLICK, + this.handleClick_, this); + + var cssClasses = this.cssClassName_ + ' ' + GVol.css.CLASS_UNSELECTABLE + + ' ' + GVol.css.CLASS_CONTROL + ' ' + + (!GVol.contrGVol.FullScreen.isFullScreenSupported() ? GVol.css.CLASS_UNSUPPORTED : ''); + var element = document.createElement('div'); + element.className = cssClasses; + element.appendChild(button); + + GVol.contrGVol.ContrGVol.call(this, { + element: element, + target: options.target + }); + + /** + * @private + * @type {boGVolean} + */ + this.keys_ = options.keys !== undefined ? options.keys : false; + + /** + * @private + * @type {Element|string|undefined} + */ + this.source_ = options.source; + +}; +GVol.inherits(GVol.contrGVol.FullScreen, GVol.contrGVol.ContrGVol); + + +/** + * @param {Event} event The event to handle + * @private + */ +GVol.contrGVol.FullScreen.prototype.handleClick_ = function(event) { + event.preventDefault(); + this.handleFullScreen_(); +}; + + +/** + * @private + */ +GVol.contrGVol.FullScreen.prototype.handleFullScreen_ = function() { + if (!GVol.contrGVol.FullScreen.isFullScreenSupported()) { + return; + } + var map = this.getMap(); + if (!map) { + return; + } + if (GVol.contrGVol.FullScreen.isFullScreen()) { + GVol.contrGVol.FullScreen.exitFullScreen(); + } else { + var element; + if (this.source_) { + element = typeof this.source_ === 'string' ? + document.getElementById(this.source_) : + this.source_; + } else { + element = map.getTargetElement(); + } + if (this.keys_) { + GVol.contrGVol.FullScreen.requestFullScreenWithKeys(element); + + } else { + GVol.contrGVol.FullScreen.requestFullScreen(element); + } + } +}; + + +/** + * @private + */ +GVol.contrGVol.FullScreen.prototype.handleFullScreenChange_ = function() { + var button = this.element.firstElementChild; + var map = this.getMap(); + if (GVol.contrGVol.FullScreen.isFullScreen()) { + button.className = this.cssClassName_ + '-true'; + GVol.dom.replaceNode(this.labelActiveNode_, this.labelNode_); + } else { + button.className = this.cssClassName_ + '-false'; + GVol.dom.replaceNode(this.labelNode_, this.labelActiveNode_); + } + if (map) { + map.updateSize(); + } +}; + + +/** + * @inheritDoc + * @api + */ +GVol.contrGVol.FullScreen.prototype.setMap = function(map) { + GVol.contrGVol.ContrGVol.prototype.setMap.call(this, map); + if (map) { + this.listenerKeys.push(GVol.events.listen(document, + GVol.contrGVol.FullScreen.getChangeType_(), + this.handleFullScreenChange_, this) + ); + } +}; + +/** + * @return {boGVolean} Fullscreen is supported by the current platform. + */ +GVol.contrGVol.FullScreen.isFullScreenSupported = function() { + var body = document.body; + return !!( + body.webkitRequestFullscreen || + (body.mozRequestFullScreen && document.mozFullScreenEnabled) || + (body.msRequestFullscreen && document.msFullscreenEnabled) || + (body.requestFullscreen && document.fullscreenEnabled) + ); +}; + +/** + * @return {boGVolean} Element is currently in fullscreen. + */ +GVol.contrGVol.FullScreen.isFullScreen = function() { + return !!( + document.webkitIsFullScreen || document.mozFullScreen || + document.msFullscreenElement || document.fullscreenElement + ); +}; + +/** + * Request to fullscreen an element. + * @param {Node} element Element to request fullscreen + */ +GVol.contrGVol.FullScreen.requestFullScreen = function(element) { + if (element.requestFullscreen) { + element.requestFullscreen(); + } else if (element.msRequestFullscreen) { + element.msRequestFullscreen(); + } else if (element.mozRequestFullScreen) { + element.mozRequestFullScreen(); + } else if (element.webkitRequestFullscreen) { + element.webkitRequestFullscreen(); + } +}; + +/** + * Request to fullscreen an element with keyboard input. + * @param {Node} element Element to request fullscreen + */ +GVol.contrGVol.FullScreen.requestFullScreenWithKeys = function(element) { + if (element.mozRequestFullScreenWithKeys) { + element.mozRequestFullScreenWithKeys(); + } else if (element.webkitRequestFullscreen) { + element.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + GVol.contrGVol.FullScreen.requestFullScreen(element); + } +}; + +/** + * Exit fullscreen. + */ +GVol.contrGVol.FullScreen.exitFullScreen = function() { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } +}; + +/** + * @return {string} Change type. + * @private + */ +GVol.contrGVol.FullScreen.getChangeType_ = (function() { + var changeType; + return function() { + if (!changeType) { + var body = document.body; + if (body.webkitRequestFullscreen) { + changeType = 'webkitfullscreenchange'; + } else if (body.mozRequestFullScreen) { + changeType = 'mozfullscreenchange'; + } else if (body.msRequestFullscreen) { + changeType = 'MSFullscreenChange'; + } else if (body.requestFullscreen) { + changeType = 'fullscreenchange'; + } + } + return changeType; + }; +})(); + +// FIXME should listen on appropriate pane, once it is defined + +goog.provide('GVol.contrGVol.MousePosition'); + +goog.require('GVol'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.Object'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * A contrGVol to show the 2D coordinates of the mouse cursor. By default, these + * are in the view projection, but can be in any supported projection. + * By default the contrGVol is shown in the top right corner of the map, but this + * can be changed by using the css selector `.GVol-mouse-position`. + * + * @constructor + * @extends {GVol.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.MousePositionOptions=} opt_options Mouse position + * options. + * @api + */ +GVol.contrGVol.MousePosition = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + var element = document.createElement('DIV'); + element.className = options.className !== undefined ? options.className : 'GVol-mouse-position'; + + var render = options.render ? + options.render : GVol.contrGVol.MousePosition.render; + + GVol.contrGVol.ContrGVol.call(this, { + element: element, + render: render, + target: options.target + }); + + GVol.events.listen(this, + GVol.Object.getChangeEventType(GVol.contrGVol.MousePosition.Property_.PROJECTION), + this.handleProjectionChanged_, this); + + if (options.coordinateFormat) { + this.setCoordinateFormat(options.coordinateFormat); + } + if (options.projection) { + this.setProjection(options.projection); + } + + /** + * @private + * @type {string} + */ + this.undefinedHTML_ = options.undefinedHTML !== undefined ? options.undefinedHTML : ''; + + /** + * @private + * @type {string} + */ + this.renderedHTML_ = element.innerHTML; + + /** + * @private + * @type {GVol.proj.Projection} + */ + this.mapProjection_ = null; + + /** + * @private + * @type {?GVol.TransformFunction} + */ + this.transform_ = null; + + /** + * @private + * @type {GVol.Pixel} + */ + this.lastMouseMovePixel_ = null; + +}; +GVol.inherits(GVol.contrGVol.MousePosition, GVol.contrGVol.ContrGVol); + + +/** + * Update the mouseposition element. + * @param {GVol.MapEvent} mapEvent Map event. + * @this {GVol.contrGVol.MousePosition} + * @api + */ +GVol.contrGVol.MousePosition.render = function(mapEvent) { + var frameState = mapEvent.frameState; + if (!frameState) { + this.mapProjection_ = null; + } else { + if (this.mapProjection_ != frameState.viewState.projection) { + this.mapProjection_ = frameState.viewState.projection; + this.transform_ = null; + } + } + this.updateHTML_(this.lastMouseMovePixel_); +}; + + +/** + * @private + */ +GVol.contrGVol.MousePosition.prototype.handleProjectionChanged_ = function() { + this.transform_ = null; +}; + + +/** + * Return the coordinate format type used to render the current position or + * undefined. + * @return {GVol.CoordinateFormatType|undefined} The format to render the current + * position in. + * @observable + * @api + */ +GVol.contrGVol.MousePosition.prototype.getCoordinateFormat = function() { + return /** @type {GVol.CoordinateFormatType|undefined} */ ( + this.get(GVol.contrGVol.MousePosition.Property_.COORDINATE_FORMAT)); +}; + + +/** + * Return the projection that is used to report the mouse position. + * @return {GVol.proj.Projection|undefined} The projection to report mouse + * position in. + * @observable + * @api + */ +GVol.contrGVol.MousePosition.prototype.getProjection = function() { + return /** @type {GVol.proj.Projection|undefined} */ ( + this.get(GVol.contrGVol.MousePosition.Property_.PROJECTION)); +}; + + +/** + * @param {Event} event Browser event. + * @protected + */ +GVol.contrGVol.MousePosition.prototype.handleMouseMove = function(event) { + var map = this.getMap(); + this.lastMouseMovePixel_ = map.getEventPixel(event); + this.updateHTML_(this.lastMouseMovePixel_); +}; + + +/** + * @param {Event} event Browser event. + * @protected + */ +GVol.contrGVol.MousePosition.prototype.handleMouseOut = function(event) { + this.updateHTML_(null); + this.lastMouseMovePixel_ = null; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.contrGVol.MousePosition.prototype.setMap = function(map) { + GVol.contrGVol.ContrGVol.prototype.setMap.call(this, map); + if (map) { + var viewport = map.getViewport(); + this.listenerKeys.push( + GVol.events.listen(viewport, GVol.events.EventType.MOUSEMOVE, + this.handleMouseMove, this), + GVol.events.listen(viewport, GVol.events.EventType.MOUSEOUT, + this.handleMouseOut, this) + ); + } +}; + + +/** + * Set the coordinate format type used to render the current position. + * @param {GVol.CoordinateFormatType} format The format to render the current + * position in. + * @observable + * @api + */ +GVol.contrGVol.MousePosition.prototype.setCoordinateFormat = function(format) { + this.set(GVol.contrGVol.MousePosition.Property_.COORDINATE_FORMAT, format); +}; + + +/** + * Set the projection that is used to report the mouse position. + * @param {GVol.ProjectionLike} projection The projection to report mouse + * position in. + * @observable + * @api + */ +GVol.contrGVol.MousePosition.prototype.setProjection = function(projection) { + this.set(GVol.contrGVol.MousePosition.Property_.PROJECTION, GVol.proj.get(projection)); +}; + + +/** + * @param {?GVol.Pixel} pixel Pixel. + * @private + */ +GVol.contrGVol.MousePosition.prototype.updateHTML_ = function(pixel) { + var html = this.undefinedHTML_; + if (pixel && this.mapProjection_) { + if (!this.transform_) { + var projection = this.getProjection(); + if (projection) { + this.transform_ = GVol.proj.getTransformFromProjections( + this.mapProjection_, projection); + } else { + this.transform_ = GVol.proj.identityTransform; + } + } + var map = this.getMap(); + var coordinate = map.getCoordinateFromPixel(pixel); + if (coordinate) { + this.transform_(coordinate, coordinate); + var coordinateFormat = this.getCoordinateFormat(); + if (coordinateFormat) { + html = coordinateFormat(coordinate); + } else { + html = coordinate.toString(); + } + } + } + if (!this.renderedHTML_ || html != this.renderedHTML_) { + this.element.innerHTML = html; + this.renderedHTML_ = html; + } +}; + + +/** + * @enum {string} + * @private + */ +GVol.contrGVol.MousePosition.Property_ = { + PROJECTION: 'projection', + COORDINATE_FORMAT: 'coordinateFormat' +}; + +goog.provide('GVol.MapEvent'); + +goog.require('GVol'); +goog.require('GVol.events.Event'); + + +/** + * @classdesc + * Events emitted as map events are instances of this type. + * See {@link GVol.Map} for which events trigger a map event. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.MapEvent} + * @param {string} type Event type. + * @param {GVol.Map} map Map. + * @param {?GVolx.FrameState=} opt_frameState Frame state. + */ +GVol.MapEvent = function(type, map, opt_frameState) { + + GVol.events.Event.call(this, type); + + /** + * The map where the event occurred. + * @type {GVol.Map} + * @api + */ + this.map = map; + + /** + * The frame state at the time of the event. + * @type {?GVolx.FrameState} + * @api + */ + this.frameState = opt_frameState !== undefined ? opt_frameState : null; + +}; +GVol.inherits(GVol.MapEvent, GVol.events.Event); + +goog.provide('GVol.MapBrowserEvent'); + +goog.require('GVol'); +goog.require('GVol.MapEvent'); + + +/** + * @classdesc + * Events emitted as map browser events are instances of this type. + * See {@link GVol.Map} for which events trigger a map browser event. + * + * @constructor + * @extends {GVol.MapEvent} + * @implements {GVoli.MapBrowserEvent} + * @param {string} type Event type. + * @param {GVol.Map} map Map. + * @param {Event} browserEvent Browser event. + * @param {boGVolean=} opt_dragging Is the map currently being dragged? + * @param {?GVolx.FrameState=} opt_frameState Frame state. + */ +GVol.MapBrowserEvent = function(type, map, browserEvent, opt_dragging, + opt_frameState) { + + GVol.MapEvent.call(this, type, map, opt_frameState); + + /** + * The original browser event. + * @const + * @type {Event} + * @api + */ + this.originalEvent = browserEvent; + + /** + * The map pixel relative to the viewport corresponding to the original browser event. + * @type {GVol.Pixel} + * @api + */ + this.pixel = map.getEventPixel(browserEvent); + + /** + * The coordinate in view projection corresponding to the original browser event. + * @type {GVol.Coordinate} + * @api + */ + this.coordinate = map.getCoordinateFromPixel(this.pixel); + + /** + * Indicates if the map is currently being dragged. Only set for + * `POINTERDRAG` and `POINTERMOVE` events. Default is `false`. + * + * @type {boGVolean} + * @api + */ + this.dragging = opt_dragging !== undefined ? opt_dragging : false; + +}; +GVol.inherits(GVol.MapBrowserEvent, GVol.MapEvent); + + +/** + * Prevents the default browser action. + * @see https://developer.mozilla.org/en-US/docs/Web/API/event.preventDefault + * @override + * @api + */ +GVol.MapBrowserEvent.prototype.preventDefault = function() { + GVol.MapEvent.prototype.preventDefault.call(this); + this.originalEvent.preventDefault(); +}; + + +/** + * Prevents further propagation of the current event. + * @see https://developer.mozilla.org/en-US/docs/Web/API/event.stopPropagation + * @override + * @api + */ +GVol.MapBrowserEvent.prototype.stopPropagation = function() { + GVol.MapEvent.prototype.stopPropagation.call(this); + this.originalEvent.stopPropagation(); +}; + +goog.provide('GVol.webgl'); + +goog.require('GVol'); + + +if (GVol.ENABLE_WEBGL) { + + /** Constants taken from goog.webgl + */ + + + /** + * @const + * @type {number} + */ + GVol.webgl.ONE = 1; + + + /** + * @const + * @type {number} + */ + GVol.webgl.SRC_ALPHA = 0x0302; + + + /** + * @const + * @type {number} + */ + GVol.webgl.COLOR_ATTACHMENT0 = 0x8CE0; + + + /** + * @const + * @type {number} + */ + GVol.webgl.COLOR_BUFFER_BIT = 0x00004000; + + + /** + * @const + * @type {number} + */ + GVol.webgl.TRIANGLES = 0x0004; + + + /** + * @const + * @type {number} + */ + GVol.webgl.TRIANGLE_STRIP = 0x0005; + + + /** + * @const + * @type {number} + */ + GVol.webgl.ONE_MINUS_SRC_ALPHA = 0x0303; + + + /** + * @const + * @type {number} + */ + GVol.webgl.ARRAY_BUFFER = 0x8892; + + + /** + * @const + * @type {number} + */ + GVol.webgl.ELEMENT_ARRAY_BUFFER = 0x8893; + + + /** + * @const + * @type {number} + */ + GVol.webgl.STREAM_DRAW = 0x88E0; + + + /** + * @const + * @type {number} + */ + GVol.webgl.STATIC_DRAW = 0x88E4; + + + /** + * @const + * @type {number} + */ + GVol.webgl.DYNAMIC_DRAW = 0x88E8; + + + /** + * @const + * @type {number} + */ + GVol.webgl.CULL_FACE = 0x0B44; + + + /** + * @const + * @type {number} + */ + GVol.webgl.BLEND = 0x0BE2; + + + /** + * @const + * @type {number} + */ + GVol.webgl.STENCIL_TEST = 0x0B90; + + + /** + * @const + * @type {number} + */ + GVol.webgl.DEPTH_TEST = 0x0B71; + + + /** + * @const + * @type {number} + */ + GVol.webgl.SCISSOR_TEST = 0x0C11; + + + /** + * @const + * @type {number} + */ + GVol.webgl.UNSIGNED_BYTE = 0x1401; + + + /** + * @const + * @type {number} + */ + GVol.webgl.UNSIGNED_SHORT = 0x1403; + + + /** + * @const + * @type {number} + */ + GVol.webgl.UNSIGNED_INT = 0x1405; + + + /** + * @const + * @type {number} + */ + GVol.webgl.FLOAT = 0x1406; + + + /** + * @const + * @type {number} + */ + GVol.webgl.RGBA = 0x1908; + + + /** + * @const + * @type {number} + */ + GVol.webgl.FRAGMENT_SHADER = 0x8B30; + + + /** + * @const + * @type {number} + */ + GVol.webgl.VERTEX_SHADER = 0x8B31; + + + /** + * @const + * @type {number} + */ + GVol.webgl.LINK_STATUS = 0x8B82; + + + /** + * @const + * @type {number} + */ + GVol.webgl.LINEAR = 0x2601; + + + /** + * @const + * @type {number} + */ + GVol.webgl.TEXTURE_MAG_FILTER = 0x2800; + + + /** + * @const + * @type {number} + */ + GVol.webgl.TEXTURE_MIN_FILTER = 0x2801; + + + /** + * @const + * @type {number} + */ + GVol.webgl.TEXTURE_WRAP_S = 0x2802; + + + /** + * @const + * @type {number} + */ + GVol.webgl.TEXTURE_WRAP_T = 0x2803; + + + /** + * @const + * @type {number} + */ + GVol.webgl.TEXTURE_2D = 0x0DE1; + + + /** + * @const + * @type {number} + */ + GVol.webgl.TEXTURE0 = 0x84C0; + + + /** + * @const + * @type {number} + */ + GVol.webgl.CLAMP_TO_EDGE = 0x812F; + + + /** + * @const + * @type {number} + */ + GVol.webgl.COMPILE_STATUS = 0x8B81; + + + /** + * @const + * @type {number} + */ + GVol.webgl.FRAMEBUFFER = 0x8D40; + + + /** end of goog.webgl constants + */ + + + /** + * @const + * @private + * @type {Array.<string>} + */ + GVol.webgl.CONTEXT_IDS_ = [ + 'experimental-webgl', + 'webgl', + 'webkit-3d', + 'moz-webgl' + ]; + + + /** + * @param {HTMLCanvasElement} canvas Canvas. + * @param {Object=} opt_attributes Attributes. + * @return {WebGLRenderingContext} WebGL rendering context. + */ + GVol.webgl.getContext = function(canvas, opt_attributes) { + var context, i, ii = GVol.webgl.CONTEXT_IDS_.length; + for (i = 0; i < ii; ++i) { + try { + context = canvas.getContext(GVol.webgl.CONTEXT_IDS_[i], opt_attributes); + if (context) { + return /** @type {!WebGLRenderingContext} */ (context); + } + } catch (e) { + // pass + } + } + return null; + }; + +} + +goog.provide('GVol.has'); + +goog.require('GVol'); +goog.require('GVol.webgl'); + +var ua = typeof navigator !== 'undefined' ? + navigator.userAgent.toLowerCase() : ''; + +/** + * User agent string says we are dealing with Firefox as browser. + * @type {boGVolean} + */ +GVol.has.FIREFOX = ua.indexOf('firefox') !== -1; + +/** + * User agent string says we are dealing with Safari as browser. + * @type {boGVolean} + */ +GVol.has.SAFARI = ua.indexOf('safari') !== -1 && ua.indexOf('chrom') == -1; + +/** + * User agent string says we are dealing with a WebKit engine. + * @type {boGVolean} + */ +GVol.has.WEBKIT = ua.indexOf('webkit') !== -1 && ua.indexOf('edge') == -1; + +/** + * User agent string says we are dealing with a Mac as platform. + * @type {boGVolean} + */ +GVol.has.MAC = ua.indexOf('macintosh') !== -1; + + +/** + * The ratio between physical pixels and device-independent pixels + * (dips) on the device (`window.devicePixelRatio`). + * @const + * @type {number} + * @api + */ +GVol.has.DEVICE_PIXEL_RATIO = window.devicePixelRatio || 1; + + +/** + * True if the browser's Canvas implementation implements {get,set}LineDash. + * @type {boGVolean} + */ +GVol.has.CANVAS_LINE_DASH = false; + + +/** + * True if both the library and browser support Canvas. Always `false` + * if `GVol.ENABLE_CANVAS` is set to `false` at compile time. + * @const + * @type {boGVolean} + * @api + */ +GVol.has.CANVAS = GVol.ENABLE_CANVAS && ( + /** + * @return {boGVolean} Canvas supported. + */ + function() { + if (!('HTMLCanvasElement' in window)) { + return false; + } + try { + var context = document.createElement('CANVAS').getContext('2d'); + if (!context) { + return false; + } else { + if (context.setLineDash !== undefined) { + GVol.has.CANVAS_LINE_DASH = true; + } + return true; + } + } catch (e) { + return false; + } + })(); + + +/** + * Indicates if DeviceOrientation is supported in the user's browser. + * @const + * @type {boGVolean} + * @api + */ +GVol.has.DEVICE_ORIENTATION = 'DeviceOrientationEvent' in window; + + +/** + * Is HTML5 geGVolocation supported in the current browser? + * @const + * @type {boGVolean} + * @api + */ +GVol.has.GEOLOCATION = 'geGVolocation' in navigator; + + +/** + * True if browser supports touch events. + * @const + * @type {boGVolean} + * @api + */ +GVol.has.TOUCH = GVol.ASSUME_TOUCH || 'ontouchstart' in window; + + +/** + * True if browser supports pointer events. + * @const + * @type {boGVolean} + */ +GVol.has.POINTER = 'PointerEvent' in window; + + +/** + * True if browser supports ms pointer events (IE 10). + * @const + * @type {boGVolean} + */ +GVol.has.MSPOINTER = !!(navigator.msPointerEnabled); + + +/** + * True if both OpenLayers and browser support WebGL. Always `false` + * if `GVol.ENABLE_WEBGL` is set to `false` at compile time. + * @const + * @type {boGVolean} + * @api + */ +GVol.has.WEBGL; + + +(function() { + if (GVol.ENABLE_WEBGL) { + var hasWebGL = false; + var textureSize; + var /** @type {Array.<string>} */ extensions = []; + + if ('WebGLRenderingContext' in window) { + try { + var canvas = /** @type {HTMLCanvasElement} */ + (document.createElement('CANVAS')); + var gl = GVol.webgl.getContext(canvas, { + failIfMajorPerformanceCaveat: true + }); + if (gl) { + hasWebGL = true; + textureSize = /** @type {number} */ + (gl.getParameter(gl.MAX_TEXTURE_SIZE)); + extensions = gl.getSupportedExtensions(); + } + } catch (e) { + // pass + } + } + GVol.has.WEBGL = hasWebGL; + GVol.WEBGL_EXTENSIONS = extensions; + GVol.WEBGL_MAX_TEXTURE_SIZE = textureSize; + } +})(); + +goog.provide('GVol.MapBrowserEventType'); + +goog.require('GVol.events.EventType'); + + +/** + * Constants for event names. + * @enum {string} + */ +GVol.MapBrowserEventType = { + + /** + * A true single click with no dragging and no double click. Note that this + * event is delayed by 250 ms to ensure that it is not a double click. + * @event GVol.MapBrowserEvent#singleclick + * @api + */ + SINGLECLICK: 'singleclick', + + /** + * A click with no dragging. A double click will fire two of this. + * @event GVol.MapBrowserEvent#click + * @api + */ + CLICK: GVol.events.EventType.CLICK, + + /** + * A true double click, with no dragging. + * @event GVol.MapBrowserEvent#dblclick + * @api + */ + DBLCLICK: GVol.events.EventType.DBLCLICK, + + /** + * Triggered when a pointer is dragged. + * @event GVol.MapBrowserEvent#pointerdrag + * @api + */ + POINTERDRAG: 'pointerdrag', + + /** + * Triggered when a pointer is moved. Note that on touch devices this is + * triggered when the map is panned, so is not the same as mousemove. + * @event GVol.MapBrowserEvent#pointermove + * @api + */ + POINTERMOVE: 'pointermove', + + POINTERDOWN: 'pointerdown', + POINTERUP: 'pointerup', + POINTEROVER: 'pointerover', + POINTEROUT: 'pointerout', + POINTERENTER: 'pointerenter', + POINTERLEAVE: 'pointerleave', + POINTERCANCEL: 'pointercancel' +}; + +goog.provide('GVol.MapBrowserPointerEvent'); + +goog.require('GVol'); +goog.require('GVol.MapBrowserEvent'); + + +/** + * @constructor + * @extends {GVol.MapBrowserEvent} + * @param {string} type Event type. + * @param {GVol.Map} map Map. + * @param {GVol.pointer.PointerEvent} pointerEvent Pointer event. + * @param {boGVolean=} opt_dragging Is the map currently being dragged? + * @param {?GVolx.FrameState=} opt_frameState Frame state. + */ +GVol.MapBrowserPointerEvent = function(type, map, pointerEvent, opt_dragging, + opt_frameState) { + + GVol.MapBrowserEvent.call(this, type, map, pointerEvent.originalEvent, opt_dragging, + opt_frameState); + + /** + * @const + * @type {GVol.pointer.PointerEvent} + */ + this.pointerEvent = pointerEvent; + +}; +GVol.inherits(GVol.MapBrowserPointerEvent, GVol.MapBrowserEvent); + +goog.provide('GVol.pointer.EventType'); + + +/** + * Constants for event names. + * @enum {string} + */ +GVol.pointer.EventType = { + POINTERMOVE: 'pointermove', + POINTERDOWN: 'pointerdown', + POINTERUP: 'pointerup', + POINTEROVER: 'pointerover', + POINTEROUT: 'pointerout', + POINTERENTER: 'pointerenter', + POINTERLEAVE: 'pointerleave', + POINTERCANCEL: 'pointercancel' +}; + +goog.provide('GVol.pointer.EventSource'); + + +/** + * @param {GVol.pointer.PointerEventHandler} dispatcher Event handler. + * @param {!Object.<string, function(Event)>} mapping Event + * mapping. + * @constructor + */ +GVol.pointer.EventSource = function(dispatcher, mapping) { + /** + * @type {GVol.pointer.PointerEventHandler} + */ + this.dispatcher = dispatcher; + + /** + * @private + * @const + * @type {!Object.<string, function(Event)>} + */ + this.mapping_ = mapping; +}; + + +/** + * List of events supported by this source. + * @return {Array.<string>} Event names + */ +GVol.pointer.EventSource.prototype.getEvents = function() { + return Object.keys(this.mapping_); +}; + + +/** + * Returns the handler that should handle a given event type. + * @param {string} eventType The event type. + * @return {function(Event)} Handler + */ +GVol.pointer.EventSource.prototype.getHandlerForEvent = function(eventType) { + return this.mapping_[eventType]; +}; + +// Based on https://github.com/PGVolymer/PointerEvents + +// Copyright (c) 2013 The PGVolymer Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the fGVollowing conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the fGVollowing disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the fGVollowing disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +goog.provide('GVol.pointer.MouseSource'); + +goog.require('GVol'); +goog.require('GVol.pointer.EventSource'); + + +/** + * @param {GVol.pointer.PointerEventHandler} dispatcher Event handler. + * @constructor + * @extends {GVol.pointer.EventSource} + */ +GVol.pointer.MouseSource = function(dispatcher) { + var mapping = { + 'mousedown': this.mousedown, + 'mousemove': this.mousemove, + 'mouseup': this.mouseup, + 'mouseover': this.mouseover, + 'mouseout': this.mouseout + }; + GVol.pointer.EventSource.call(this, dispatcher, mapping); + + /** + * @const + * @type {!Object.<string, Event|Object>} + */ + this.pointerMap = dispatcher.pointerMap; + + /** + * @const + * @type {Array.<GVol.Pixel>} + */ + this.lastTouches = []; +}; +GVol.inherits(GVol.pointer.MouseSource, GVol.pointer.EventSource); + + +/** + * @const + * @type {number} + */ +GVol.pointer.MouseSource.POINTER_ID = 1; + + +/** + * @const + * @type {string} + */ +GVol.pointer.MouseSource.POINTER_TYPE = 'mouse'; + + +/** + * Radius around touchend that swallows mouse events. + * + * @const + * @type {number} + */ +GVol.pointer.MouseSource.DEDUP_DIST = 25; + + +/** + * Detect if a mouse event was simulated from a touch by + * checking if previously there was a touch event at the + * same position. + * + * FIXME - Known problem with the native Android browser on + * Samsung GT-I9100 (Android 4.1.2): + * In case the page is scrGVolled, this function does not work + * correctly when a canvas is used (WebGL or canvas renderer). + * Mouse listeners on canvas elements (for this browser), create + * two mouse events: One 'good' and one 'bad' one (on other browsers or + * when a div is used, there is only one event). For the 'bad' one, + * clientX/clientY and also pageX/pageY are wrong when the page + * is scrGVolled. Because of that, this function can not detect if + * the events were simulated from a touch event. As result, a + * pointer event at a wrong position is dispatched, which confuses + * the map interactions. + * It is unclear, how one can get the correct position for the event + * or detect that the positions are invalid. + * + * @private + * @param {Event} inEvent The in event. + * @return {boGVolean} True, if the event was generated by a touch. + */ +GVol.pointer.MouseSource.prototype.isEventSimulatedFromTouch_ = function(inEvent) { + var lts = this.lastTouches; + var x = inEvent.clientX, y = inEvent.clientY; + for (var i = 0, l = lts.length, t; i < l && (t = lts[i]); i++) { + // simulated mouse events will be swallowed near a primary touchend + var dx = Math.abs(x - t[0]), dy = Math.abs(y - t[1]); + if (dx <= GVol.pointer.MouseSource.DEDUP_DIST && + dy <= GVol.pointer.MouseSource.DEDUP_DIST) { + return true; + } + } + return false; +}; + + +/** + * Creates a copy of the original event that will be used + * for the fake pointer event. + * + * @param {Event} inEvent The in event. + * @param {GVol.pointer.PointerEventHandler} dispatcher Event handler. + * @return {Object} The copied event. + */ +GVol.pointer.MouseSource.prepareEvent = function(inEvent, dispatcher) { + var e = dispatcher.cloneEvent(inEvent, inEvent); + + // forward mouse preventDefault + var pd = e.preventDefault; + e.preventDefault = function() { + inEvent.preventDefault(); + pd(); + }; + + e.pointerId = GVol.pointer.MouseSource.POINTER_ID; + e.isPrimary = true; + e.pointerType = GVol.pointer.MouseSource.POINTER_TYPE; + + return e; +}; + + +/** + * Handler for `mousedown`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MouseSource.prototype.mousedown = function(inEvent) { + if (!this.isEventSimulatedFromTouch_(inEvent)) { + // TODO(dfreedman) workaround for some elements not sending mouseup + // http://crbug/149091 + if (GVol.pointer.MouseSource.POINTER_ID.toString() in this.pointerMap) { + this.cancel(inEvent); + } + var e = GVol.pointer.MouseSource.prepareEvent(inEvent, this.dispatcher); + this.pointerMap[GVol.pointer.MouseSource.POINTER_ID.toString()] = inEvent; + this.dispatcher.down(e, inEvent); + } +}; + + +/** + * Handler for `mousemove`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MouseSource.prototype.mousemove = function(inEvent) { + if (!this.isEventSimulatedFromTouch_(inEvent)) { + var e = GVol.pointer.MouseSource.prepareEvent(inEvent, this.dispatcher); + this.dispatcher.move(e, inEvent); + } +}; + + +/** + * Handler for `mouseup`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MouseSource.prototype.mouseup = function(inEvent) { + if (!this.isEventSimulatedFromTouch_(inEvent)) { + var p = this.pointerMap[GVol.pointer.MouseSource.POINTER_ID.toString()]; + + if (p && p.button === inEvent.button) { + var e = GVol.pointer.MouseSource.prepareEvent(inEvent, this.dispatcher); + this.dispatcher.up(e, inEvent); + this.cleanupMouse(); + } + } +}; + + +/** + * Handler for `mouseover`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MouseSource.prototype.mouseover = function(inEvent) { + if (!this.isEventSimulatedFromTouch_(inEvent)) { + var e = GVol.pointer.MouseSource.prepareEvent(inEvent, this.dispatcher); + this.dispatcher.enterOver(e, inEvent); + } +}; + + +/** + * Handler for `mouseout`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MouseSource.prototype.mouseout = function(inEvent) { + if (!this.isEventSimulatedFromTouch_(inEvent)) { + var e = GVol.pointer.MouseSource.prepareEvent(inEvent, this.dispatcher); + this.dispatcher.leaveOut(e, inEvent); + } +}; + + +/** + * Dispatches a `pointercancel` event. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MouseSource.prototype.cancel = function(inEvent) { + var e = GVol.pointer.MouseSource.prepareEvent(inEvent, this.dispatcher); + this.dispatcher.cancel(e, inEvent); + this.cleanupMouse(); +}; + + +/** + * Remove the mouse from the list of active pointers. + */ +GVol.pointer.MouseSource.prototype.cleanupMouse = function() { + delete this.pointerMap[GVol.pointer.MouseSource.POINTER_ID.toString()]; +}; + +// Based on https://github.com/PGVolymer/PointerEvents + +// Copyright (c) 2013 The PGVolymer Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the fGVollowing conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the fGVollowing disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the fGVollowing disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +goog.provide('GVol.pointer.MsSource'); + +goog.require('GVol'); +goog.require('GVol.pointer.EventSource'); + + +/** + * @param {GVol.pointer.PointerEventHandler} dispatcher Event handler. + * @constructor + * @extends {GVol.pointer.EventSource} + */ +GVol.pointer.MsSource = function(dispatcher) { + var mapping = { + 'MSPointerDown': this.msPointerDown, + 'MSPointerMove': this.msPointerMove, + 'MSPointerUp': this.msPointerUp, + 'MSPointerOut': this.msPointerOut, + 'MSPointerOver': this.msPointerOver, + 'MSPointerCancel': this.msPointerCancel, + 'MSGotPointerCapture': this.msGotPointerCapture, + 'MSLostPointerCapture': this.msLostPointerCapture + }; + GVol.pointer.EventSource.call(this, dispatcher, mapping); + + /** + * @const + * @type {!Object.<string, Event|Object>} + */ + this.pointerMap = dispatcher.pointerMap; + + /** + * @const + * @type {Array.<string>} + */ + this.POINTER_TYPES = [ + '', + 'unavailable', + 'touch', + 'pen', + 'mouse' + ]; +}; +GVol.inherits(GVol.pointer.MsSource, GVol.pointer.EventSource); + + +/** + * Creates a copy of the original event that will be used + * for the fake pointer event. + * + * @private + * @param {Event} inEvent The in event. + * @return {Object} The copied event. + */ +GVol.pointer.MsSource.prototype.prepareEvent_ = function(inEvent) { + var e = inEvent; + if (typeof inEvent.pointerType === 'number') { + e = this.dispatcher.cloneEvent(inEvent, inEvent); + e.pointerType = this.POINTER_TYPES[inEvent.pointerType]; + } + + return e; +}; + + +/** + * Remove this pointer from the list of active pointers. + * @param {number} pointerId Pointer identifier. + */ +GVol.pointer.MsSource.prototype.cleanup = function(pointerId) { + delete this.pointerMap[pointerId.toString()]; +}; + + +/** + * Handler for `msPointerDown`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MsSource.prototype.msPointerDown = function(inEvent) { + this.pointerMap[inEvent.pointerId.toString()] = inEvent; + var e = this.prepareEvent_(inEvent); + this.dispatcher.down(e, inEvent); +}; + + +/** + * Handler for `msPointerMove`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MsSource.prototype.msPointerMove = function(inEvent) { + var e = this.prepareEvent_(inEvent); + this.dispatcher.move(e, inEvent); +}; + + +/** + * Handler for `msPointerUp`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MsSource.prototype.msPointerUp = function(inEvent) { + var e = this.prepareEvent_(inEvent); + this.dispatcher.up(e, inEvent); + this.cleanup(inEvent.pointerId); +}; + + +/** + * Handler for `msPointerOut`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MsSource.prototype.msPointerOut = function(inEvent) { + var e = this.prepareEvent_(inEvent); + this.dispatcher.leaveOut(e, inEvent); +}; + + +/** + * Handler for `msPointerOver`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MsSource.prototype.msPointerOver = function(inEvent) { + var e = this.prepareEvent_(inEvent); + this.dispatcher.enterOver(e, inEvent); +}; + + +/** + * Handler for `msPointerCancel`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MsSource.prototype.msPointerCancel = function(inEvent) { + var e = this.prepareEvent_(inEvent); + this.dispatcher.cancel(e, inEvent); + this.cleanup(inEvent.pointerId); +}; + + +/** + * Handler for `msLostPointerCapture`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MsSource.prototype.msLostPointerCapture = function(inEvent) { + var e = this.dispatcher.makeEvent('lostpointercapture', + inEvent, inEvent); + this.dispatcher.dispatchEvent(e); +}; + + +/** + * Handler for `msGotPointerCapture`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.MsSource.prototype.msGotPointerCapture = function(inEvent) { + var e = this.dispatcher.makeEvent('gotpointercapture', + inEvent, inEvent); + this.dispatcher.dispatchEvent(e); +}; + +// Based on https://github.com/PGVolymer/PointerEvents + +// Copyright (c) 2013 The PGVolymer Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the fGVollowing conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the fGVollowing disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the fGVollowing disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +goog.provide('GVol.pointer.NativeSource'); + +goog.require('GVol'); +goog.require('GVol.pointer.EventSource'); + + +/** + * @param {GVol.pointer.PointerEventHandler} dispatcher Event handler. + * @constructor + * @extends {GVol.pointer.EventSource} + */ +GVol.pointer.NativeSource = function(dispatcher) { + var mapping = { + 'pointerdown': this.pointerDown, + 'pointermove': this.pointerMove, + 'pointerup': this.pointerUp, + 'pointerout': this.pointerOut, + 'pointerover': this.pointerOver, + 'pointercancel': this.pointerCancel, + 'gotpointercapture': this.gotPointerCapture, + 'lostpointercapture': this.lostPointerCapture + }; + GVol.pointer.EventSource.call(this, dispatcher, mapping); +}; +GVol.inherits(GVol.pointer.NativeSource, GVol.pointer.EventSource); + + +/** + * Handler for `pointerdown`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.NativeSource.prototype.pointerDown = function(inEvent) { + this.dispatcher.fireNativeEvent(inEvent); +}; + + +/** + * Handler for `pointermove`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.NativeSource.prototype.pointerMove = function(inEvent) { + this.dispatcher.fireNativeEvent(inEvent); +}; + + +/** + * Handler for `pointerup`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.NativeSource.prototype.pointerUp = function(inEvent) { + this.dispatcher.fireNativeEvent(inEvent); +}; + + +/** + * Handler for `pointerout`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.NativeSource.prototype.pointerOut = function(inEvent) { + this.dispatcher.fireNativeEvent(inEvent); +}; + + +/** + * Handler for `pointerover`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.NativeSource.prototype.pointerOver = function(inEvent) { + this.dispatcher.fireNativeEvent(inEvent); +}; + + +/** + * Handler for `pointercancel`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.NativeSource.prototype.pointerCancel = function(inEvent) { + this.dispatcher.fireNativeEvent(inEvent); +}; + + +/** + * Handler for `lostpointercapture`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.NativeSource.prototype.lostPointerCapture = function(inEvent) { + this.dispatcher.fireNativeEvent(inEvent); +}; + + +/** + * Handler for `gotpointercapture`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.NativeSource.prototype.gotPointerCapture = function(inEvent) { + this.dispatcher.fireNativeEvent(inEvent); +}; + +// Based on https://github.com/PGVolymer/PointerEvents + +// Copyright (c) 2013 The PGVolymer Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the fGVollowing conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the fGVollowing disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the fGVollowing disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +goog.provide('GVol.pointer.PointerEvent'); + + +goog.require('GVol'); +goog.require('GVol.events.Event'); + + +/** + * A class for pointer events. + * + * This class is used as an abstraction for mouse events, + * touch events and even native pointer events. + * + * @constructor + * @extends {GVol.events.Event} + * @param {string} type The type of the event to create. + * @param {Event} originalEvent The event. + * @param {Object.<string, ?>=} opt_eventDict An optional dictionary of + * initial event properties. + */ +GVol.pointer.PointerEvent = function(type, originalEvent, opt_eventDict) { + GVol.events.Event.call(this, type); + + /** + * @const + * @type {Event} + */ + this.originalEvent = originalEvent; + + var eventDict = opt_eventDict ? opt_eventDict : {}; + + /** + * @type {number} + */ + this.buttons = this.getButtons_(eventDict); + + /** + * @type {number} + */ + this.pressure = this.getPressure_(eventDict, this.buttons); + + // MouseEvent related properties + + /** + * @type {boGVolean} + */ + this.bubbles = 'bubbles' in eventDict ? eventDict['bubbles'] : false; + + /** + * @type {boGVolean} + */ + this.cancelable = 'cancelable' in eventDict ? eventDict['cancelable'] : false; + + /** + * @type {Object} + */ + this.view = 'view' in eventDict ? eventDict['view'] : null; + + /** + * @type {number} + */ + this.detail = 'detail' in eventDict ? eventDict['detail'] : null; + + /** + * @type {number} + */ + this.screenX = 'screenX' in eventDict ? eventDict['screenX'] : 0; + + /** + * @type {number} + */ + this.screenY = 'screenY' in eventDict ? eventDict['screenY'] : 0; + + /** + * @type {number} + */ + this.clientX = 'clientX' in eventDict ? eventDict['clientX'] : 0; + + /** + * @type {number} + */ + this.clientY = 'clientY' in eventDict ? eventDict['clientY'] : 0; + + /** + * @type {boGVolean} + */ + this.ctrlKey = 'ctrlKey' in eventDict ? eventDict['ctrlKey'] : false; + + /** + * @type {boGVolean} + */ + this.altKey = 'altKey' in eventDict ? eventDict['altKey'] : false; + + /** + * @type {boGVolean} + */ + this.shiftKey = 'shiftKey' in eventDict ? eventDict['shiftKey'] : false; + + /** + * @type {boGVolean} + */ + this.metaKey = 'metaKey' in eventDict ? eventDict['metaKey'] : false; + + /** + * @type {number} + */ + this.button = 'button' in eventDict ? eventDict['button'] : 0; + + /** + * @type {Node} + */ + this.relatedTarget = 'relatedTarget' in eventDict ? + eventDict['relatedTarget'] : null; + + // PointerEvent related properties + + /** + * @const + * @type {number} + */ + this.pointerId = 'pointerId' in eventDict ? eventDict['pointerId'] : 0; + + /** + * @type {number} + */ + this.width = 'width' in eventDict ? eventDict['width'] : 0; + + /** + * @type {number} + */ + this.height = 'height' in eventDict ? eventDict['height'] : 0; + + /** + * @type {number} + */ + this.tiltX = 'tiltX' in eventDict ? eventDict['tiltX'] : 0; + + /** + * @type {number} + */ + this.tiltY = 'tiltY' in eventDict ? eventDict['tiltY'] : 0; + + /** + * @type {string} + */ + this.pointerType = 'pointerType' in eventDict ? eventDict['pointerType'] : ''; + + /** + * @type {number} + */ + this.hwTimestamp = 'hwTimestamp' in eventDict ? eventDict['hwTimestamp'] : 0; + + /** + * @type {boGVolean} + */ + this.isPrimary = 'isPrimary' in eventDict ? eventDict['isPrimary'] : false; + + // keep the semantics of preventDefault + if (originalEvent.preventDefault) { + this.preventDefault = function() { + originalEvent.preventDefault(); + }; + } +}; +GVol.inherits(GVol.pointer.PointerEvent, GVol.events.Event); + + +/** + * @private + * @param {Object.<string, ?>} eventDict The event dictionary. + * @return {number} Button indicator. + */ +GVol.pointer.PointerEvent.prototype.getButtons_ = function(eventDict) { + // According to the w3c spec, + // http://www.w3.org/TR/DOM-Level-3-Events/#events-MouseEvent-button + // MouseEvent.button == 0 can mean either no mouse button depressed, or the + // left mouse button depressed. + // + // As of now, the only way to distinguish between the two states of + // MouseEvent.button is by using the deprecated MouseEvent.which property, as + // this maps mouse buttons to positive integers > 0, and uses 0 to mean that + // no mouse button is held. + // + // MouseEvent.which is derived from MouseEvent.button at MouseEvent creation, + // but initMouseEvent does not expose an argument with which to set + // MouseEvent.which. Calling initMouseEvent with a buttonArg of 0 will set + // MouseEvent.button == 0 and MouseEvent.which == 1, breaking the expectations + // of app developers. + // + // The only way to propagate the correct state of MouseEvent.which and + // MouseEvent.button to a new MouseEvent.button == 0 and MouseEvent.which == 0 + // is to call initMouseEvent with a buttonArg value of -1. + // + // This is fixed with DOM Level 4's use of buttons + var buttons; + if (eventDict.buttons || GVol.pointer.PointerEvent.HAS_BUTTONS) { + buttons = eventDict.buttons; + } else { + switch (eventDict.which) { + case 1: buttons = 1; break; + case 2: buttons = 4; break; + case 3: buttons = 2; break; + default: buttons = 0; + } + } + return buttons; +}; + + +/** + * @private + * @param {Object.<string, ?>} eventDict The event dictionary. + * @param {number} buttons Button indicator. + * @return {number} The pressure. + */ +GVol.pointer.PointerEvent.prototype.getPressure_ = function(eventDict, buttons) { + // Spec requires that pointers without pressure specified use 0.5 for down + // state and 0 for up state. + var pressure = 0; + if (eventDict.pressure) { + pressure = eventDict.pressure; + } else { + pressure = buttons ? 0.5 : 0; + } + return pressure; +}; + + +/** + * Is the `buttons` property supported? + * @type {boGVolean} + */ +GVol.pointer.PointerEvent.HAS_BUTTONS = false; + + +/** + * Checks if the `buttons` property is supported. + */ +(function() { + try { + var ev = new MouseEvent('click', {buttons: 1}); + GVol.pointer.PointerEvent.HAS_BUTTONS = ev.buttons === 1; + } catch (e) { + // pass + } +})(); + +// Based on https://github.com/PGVolymer/PointerEvents + +// Copyright (c) 2013 The PGVolymer Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the fGVollowing conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the fGVollowing disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the fGVollowing disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +goog.provide('GVol.pointer.TouchSource'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.pointer.EventSource'); +goog.require('GVol.pointer.MouseSource'); + + +/** + * @constructor + * @param {GVol.pointer.PointerEventHandler} dispatcher The event handler. + * @param {GVol.pointer.MouseSource} mouseSource Mouse source. + * @extends {GVol.pointer.EventSource} + */ +GVol.pointer.TouchSource = function(dispatcher, mouseSource) { + var mapping = { + 'touchstart': this.touchstart, + 'touchmove': this.touchmove, + 'touchend': this.touchend, + 'touchcancel': this.touchcancel + }; + GVol.pointer.EventSource.call(this, dispatcher, mapping); + + /** + * @const + * @type {!Object.<string, Event|Object>} + */ + this.pointerMap = dispatcher.pointerMap; + + /** + * @const + * @type {GVol.pointer.MouseSource} + */ + this.mouseSource = mouseSource; + + /** + * @private + * @type {number|undefined} + */ + this.firstTouchId_ = undefined; + + /** + * @private + * @type {number} + */ + this.clickCount_ = 0; + + /** + * @private + * @type {number|undefined} + */ + this.resetId_ = undefined; +}; +GVol.inherits(GVol.pointer.TouchSource, GVol.pointer.EventSource); + + +/** + * Mouse event timeout: This should be long enough to + * ignore compat mouse events made by touch. + * @const + * @type {number} + */ +GVol.pointer.TouchSource.DEDUP_TIMEOUT = 2500; + + +/** + * @const + * @type {number} + */ +GVol.pointer.TouchSource.CLICK_COUNT_TIMEOUT = 200; + + +/** + * @const + * @type {string} + */ +GVol.pointer.TouchSource.POINTER_TYPE = 'touch'; + + +/** + * @private + * @param {Touch} inTouch The in touch. + * @return {boGVolean} True, if this is the primary touch. + */ +GVol.pointer.TouchSource.prototype.isPrimaryTouch_ = function(inTouch) { + return this.firstTouchId_ === inTouch.identifier; +}; + + +/** + * Set primary touch if there are no pointers, or the only pointer is the mouse. + * @param {Touch} inTouch The in touch. + * @private + */ +GVol.pointer.TouchSource.prototype.setPrimaryTouch_ = function(inTouch) { + var count = Object.keys(this.pointerMap).length; + if (count === 0 || (count === 1 && + GVol.pointer.MouseSource.POINTER_ID.toString() in this.pointerMap)) { + this.firstTouchId_ = inTouch.identifier; + this.cancelResetClickCount_(); + } +}; + + +/** + * @private + * @param {Object} inPointer The in pointer object. + */ +GVol.pointer.TouchSource.prototype.removePrimaryPointer_ = function(inPointer) { + if (inPointer.isPrimary) { + this.firstTouchId_ = undefined; + this.resetClickCount_(); + } +}; + + +/** + * @private + */ +GVol.pointer.TouchSource.prototype.resetClickCount_ = function() { + this.resetId_ = setTimeout( + this.resetClickCountHandler_.bind(this), + GVol.pointer.TouchSource.CLICK_COUNT_TIMEOUT); +}; + + +/** + * @private + */ +GVol.pointer.TouchSource.prototype.resetClickCountHandler_ = function() { + this.clickCount_ = 0; + this.resetId_ = undefined; +}; + + +/** + * @private + */ +GVol.pointer.TouchSource.prototype.cancelResetClickCount_ = function() { + if (this.resetId_ !== undefined) { + clearTimeout(this.resetId_); + } +}; + + +/** + * @private + * @param {Event} browserEvent Browser event + * @param {Touch} inTouch Touch event + * @return {Object} A pointer object. + */ +GVol.pointer.TouchSource.prototype.touchToPointer_ = function(browserEvent, inTouch) { + var e = this.dispatcher.cloneEvent(browserEvent, inTouch); + // Spec specifies that pointerId 1 is reserved for Mouse. + // Touch identifiers can start at 0. + // Add 2 to the touch identifier for compatibility. + e.pointerId = inTouch.identifier + 2; + // TODO: check if this is necessary? + //e.target = findTarget(e); + e.bubbles = true; + e.cancelable = true; + e.detail = this.clickCount_; + e.button = 0; + e.buttons = 1; + e.width = inTouch.webkitRadiusX || inTouch.radiusX || 0; + e.height = inTouch.webkitRadiusY || inTouch.radiusY || 0; + e.pressure = inTouch.webkitForce || inTouch.force || 0.5; + e.isPrimary = this.isPrimaryTouch_(inTouch); + e.pointerType = GVol.pointer.TouchSource.POINTER_TYPE; + + // make sure that the properties that are different for + // each `Touch` object are not copied from the BrowserEvent object + e.clientX = inTouch.clientX; + e.clientY = inTouch.clientY; + e.screenX = inTouch.screenX; + e.screenY = inTouch.screenY; + + return e; +}; + + +/** + * @private + * @param {Event} inEvent Touch event + * @param {function(Event, Object)} inFunction In function. + */ +GVol.pointer.TouchSource.prototype.processTouches_ = function(inEvent, inFunction) { + var touches = Array.prototype.slice.call( + inEvent.changedTouches); + var count = touches.length; + function preventDefault() { + inEvent.preventDefault(); + } + var i, pointer; + for (i = 0; i < count; ++i) { + pointer = this.touchToPointer_(inEvent, touches[i]); + // forward touch preventDefaults + pointer.preventDefault = preventDefault; + inFunction.call(this, inEvent, pointer); + } +}; + + +/** + * @private + * @param {TouchList} touchList The touch list. + * @param {number} searchId Search identifier. + * @return {boGVolean} True, if the `Touch` with the given id is in the list. + */ +GVol.pointer.TouchSource.prototype.findTouch_ = function(touchList, searchId) { + var l = touchList.length; + var touch; + for (var i = 0; i < l; i++) { + touch = touchList[i]; + if (touch.identifier === searchId) { + return true; + } + } + return false; +}; + + +/** + * In some instances, a touchstart can happen without a touchend. This + * leaves the pointermap in a broken state. + * Therefore, on every touchstart, we remove the touches that did not fire a + * touchend event. + * To keep state globally consistent, we fire a pointercancel for + * this "abandoned" touch + * + * @private + * @param {Event} inEvent The in event. + */ +GVol.pointer.TouchSource.prototype.vacuumTouches_ = function(inEvent) { + var touchList = inEvent.touches; + // pointerMap.getCount() should be < touchList.length here, + // as the touchstart has not been processed yet. + var keys = Object.keys(this.pointerMap); + var count = keys.length; + if (count >= touchList.length) { + var d = []; + var i, key, value; + for (i = 0; i < count; ++i) { + key = keys[i]; + value = this.pointerMap[key]; + // Never remove pointerId == 1, which is mouse. + // Touch identifiers are 2 smaller than their pointerId, which is the + // index in pointermap. + if (key != GVol.pointer.MouseSource.POINTER_ID && + !this.findTouch_(touchList, key - 2)) { + d.push(value.out); + } + } + for (i = 0; i < d.length; ++i) { + this.cancelOut_(inEvent, d[i]); + } + } +}; + + +/** + * Handler for `touchstart`, triggers `pointerover`, + * `pointerenter` and `pointerdown` events. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.TouchSource.prototype.touchstart = function(inEvent) { + this.vacuumTouches_(inEvent); + this.setPrimaryTouch_(inEvent.changedTouches[0]); + this.dedupSynthMouse_(inEvent); + this.clickCount_++; + this.processTouches_(inEvent, this.overDown_); +}; + + +/** + * @private + * @param {Event} browserEvent The event. + * @param {Object} inPointer The in pointer object. + */ +GVol.pointer.TouchSource.prototype.overDown_ = function(browserEvent, inPointer) { + this.pointerMap[inPointer.pointerId] = { + target: inPointer.target, + out: inPointer, + outTarget: inPointer.target + }; + this.dispatcher.over(inPointer, browserEvent); + this.dispatcher.enter(inPointer, browserEvent); + this.dispatcher.down(inPointer, browserEvent); +}; + + +/** + * Handler for `touchmove`. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.TouchSource.prototype.touchmove = function(inEvent) { + inEvent.preventDefault(); + this.processTouches_(inEvent, this.moveOverOut_); +}; + + +/** + * @private + * @param {Event} browserEvent The event. + * @param {Object} inPointer The in pointer. + */ +GVol.pointer.TouchSource.prototype.moveOverOut_ = function(browserEvent, inPointer) { + var event = inPointer; + var pointer = this.pointerMap[event.pointerId]; + // a finger drifted off the screen, ignore it + if (!pointer) { + return; + } + var outEvent = pointer.out; + var outTarget = pointer.outTarget; + this.dispatcher.move(event, browserEvent); + if (outEvent && outTarget !== event.target) { + outEvent.relatedTarget = event.target; + event.relatedTarget = outTarget; + // recover from retargeting by shadow + outEvent.target = outTarget; + if (event.target) { + this.dispatcher.leaveOut(outEvent, browserEvent); + this.dispatcher.enterOver(event, browserEvent); + } else { + // clean up case when finger leaves the screen + event.target = outTarget; + event.relatedTarget = null; + this.cancelOut_(browserEvent, event); + } + } + pointer.out = event; + pointer.outTarget = event.target; +}; + + +/** + * Handler for `touchend`, triggers `pointerup`, + * `pointerout` and `pointerleave` events. + * + * @param {Event} inEvent The event. + */ +GVol.pointer.TouchSource.prototype.touchend = function(inEvent) { + this.dedupSynthMouse_(inEvent); + this.processTouches_(inEvent, this.upOut_); +}; + + +/** + * @private + * @param {Event} browserEvent An event. + * @param {Object} inPointer The inPointer object. + */ +GVol.pointer.TouchSource.prototype.upOut_ = function(browserEvent, inPointer) { + this.dispatcher.up(inPointer, browserEvent); + this.dispatcher.out(inPointer, browserEvent); + this.dispatcher.leave(inPointer, browserEvent); + this.cleanUpPointer_(inPointer); +}; + + +/** + * Handler for `touchcancel`, triggers `pointercancel`, + * `pointerout` and `pointerleave` events. + * + * @param {Event} inEvent The in event. + */ +GVol.pointer.TouchSource.prototype.touchcancel = function(inEvent) { + this.processTouches_(inEvent, this.cancelOut_); +}; + + +/** + * @private + * @param {Event} browserEvent The event. + * @param {Object} inPointer The in pointer. + */ +GVol.pointer.TouchSource.prototype.cancelOut_ = function(browserEvent, inPointer) { + this.dispatcher.cancel(inPointer, browserEvent); + this.dispatcher.out(inPointer, browserEvent); + this.dispatcher.leave(inPointer, browserEvent); + this.cleanUpPointer_(inPointer); +}; + + +/** + * @private + * @param {Object} inPointer The inPointer object. + */ +GVol.pointer.TouchSource.prototype.cleanUpPointer_ = function(inPointer) { + delete this.pointerMap[inPointer.pointerId]; + this.removePrimaryPointer_(inPointer); +}; + + +/** + * Prevent synth mouse events from creating pointer events. + * + * @private + * @param {Event} inEvent The in event. + */ +GVol.pointer.TouchSource.prototype.dedupSynthMouse_ = function(inEvent) { + var lts = this.mouseSource.lastTouches; + var t = inEvent.changedTouches[0]; + // only the primary finger will synth mouse events + if (this.isPrimaryTouch_(t)) { + // remember x/y of last touch + var lt = [t.clientX, t.clientY]; + lts.push(lt); + + setTimeout(function() { + // remove touch after timeout + GVol.array.remove(lts, lt); + }, GVol.pointer.TouchSource.DEDUP_TIMEOUT); + } +}; + +// Based on https://github.com/PGVolymer/PointerEvents + +// Copyright (c) 2013 The PGVolymer Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the fGVollowing conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the fGVollowing disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the fGVollowing disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +goog.provide('GVol.pointer.PointerEventHandler'); + +goog.require('GVol'); +goog.require('GVol.events'); +goog.require('GVol.events.EventTarget'); + +goog.require('GVol.has'); +goog.require('GVol.pointer.EventType'); +goog.require('GVol.pointer.MouseSource'); +goog.require('GVol.pointer.MsSource'); +goog.require('GVol.pointer.NativeSource'); +goog.require('GVol.pointer.PointerEvent'); +goog.require('GVol.pointer.TouchSource'); + + +/** + * @constructor + * @extends {GVol.events.EventTarget} + * @param {Element|HTMLDocument} element Viewport element. + */ +GVol.pointer.PointerEventHandler = function(element) { + GVol.events.EventTarget.call(this); + + /** + * @const + * @private + * @type {Element|HTMLDocument} + */ + this.element_ = element; + + /** + * @const + * @type {!Object.<string, Event|Object>} + */ + this.pointerMap = {}; + + /** + * @type {Object.<string, function(Event)>} + * @private + */ + this.eventMap_ = {}; + + /** + * @type {Array.<GVol.pointer.EventSource>} + * @private + */ + this.eventSourceList_ = []; + + this.registerSources(); +}; +GVol.inherits(GVol.pointer.PointerEventHandler, GVol.events.EventTarget); + + +/** + * Set up the event sources (mouse, touch and native pointers) + * that generate pointer events. + */ +GVol.pointer.PointerEventHandler.prototype.registerSources = function() { + if (GVol.has.POINTER) { + this.registerSource('native', new GVol.pointer.NativeSource(this)); + } else if (GVol.has.MSPOINTER) { + this.registerSource('ms', new GVol.pointer.MsSource(this)); + } else { + var mouseSource = new GVol.pointer.MouseSource(this); + this.registerSource('mouse', mouseSource); + + if (GVol.has.TOUCH) { + this.registerSource('touch', + new GVol.pointer.TouchSource(this, mouseSource)); + } + } + + // register events on the viewport element + this.register_(); +}; + + +/** + * Add a new event source that will generate pointer events. + * + * @param {string} name A name for the event source + * @param {GVol.pointer.EventSource} source The source event. + */ +GVol.pointer.PointerEventHandler.prototype.registerSource = function(name, source) { + var s = source; + var newEvents = s.getEvents(); + + if (newEvents) { + newEvents.forEach(function(e) { + var handler = s.getHandlerForEvent(e); + + if (handler) { + this.eventMap_[e] = handler.bind(s); + } + }, this); + this.eventSourceList_.push(s); + } +}; + + +/** + * Set up the events for all registered event sources. + * @private + */ +GVol.pointer.PointerEventHandler.prototype.register_ = function() { + var l = this.eventSourceList_.length; + var eventSource; + for (var i = 0; i < l; i++) { + eventSource = this.eventSourceList_[i]; + this.addEvents_(eventSource.getEvents()); + } +}; + + +/** + * Remove all registered events. + * @private + */ +GVol.pointer.PointerEventHandler.prototype.unregister_ = function() { + var l = this.eventSourceList_.length; + var eventSource; + for (var i = 0; i < l; i++) { + eventSource = this.eventSourceList_[i]; + this.removeEvents_(eventSource.getEvents()); + } +}; + + +/** + * Calls the right handler for a new event. + * @private + * @param {Event} inEvent Browser event. + */ +GVol.pointer.PointerEventHandler.prototype.eventHandler_ = function(inEvent) { + var type = inEvent.type; + var handler = this.eventMap_[type]; + if (handler) { + handler(inEvent); + } +}; + + +/** + * Setup listeners for the given events. + * @private + * @param {Array.<string>} events List of events. + */ +GVol.pointer.PointerEventHandler.prototype.addEvents_ = function(events) { + events.forEach(function(eventName) { + GVol.events.listen(this.element_, eventName, this.eventHandler_, this); + }, this); +}; + + +/** + * Unregister listeners for the given events. + * @private + * @param {Array.<string>} events List of events. + */ +GVol.pointer.PointerEventHandler.prototype.removeEvents_ = function(events) { + events.forEach(function(e) { + GVol.events.unlisten(this.element_, e, this.eventHandler_, this); + }, this); +}; + + +/** + * Returns a snapshot of inEvent, with writable properties. + * + * @param {Event} event Browser event. + * @param {Event|Touch} inEvent An event that contains + * properties to copy. + * @return {Object} An object containing shallow copies of + * `inEvent`'s properties. + */ +GVol.pointer.PointerEventHandler.prototype.cloneEvent = function(event, inEvent) { + var eventCopy = {}, p; + for (var i = 0, ii = GVol.pointer.PointerEventHandler.CLONE_PROPS.length; i < ii; i++) { + p = GVol.pointer.PointerEventHandler.CLONE_PROPS[i][0]; + eventCopy[p] = event[p] || inEvent[p] || GVol.pointer.PointerEventHandler.CLONE_PROPS[i][1]; + } + + return eventCopy; +}; + + +// EVENTS + + +/** + * Triggers a 'pointerdown' event. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.down = function(data, event) { + this.fireEvent(GVol.pointer.EventType.POINTERDOWN, data, event); +}; + + +/** + * Triggers a 'pointermove' event. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.move = function(data, event) { + this.fireEvent(GVol.pointer.EventType.POINTERMOVE, data, event); +}; + + +/** + * Triggers a 'pointerup' event. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.up = function(data, event) { + this.fireEvent(GVol.pointer.EventType.POINTERUP, data, event); +}; + + +/** + * Triggers a 'pointerenter' event. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.enter = function(data, event) { + data.bubbles = false; + this.fireEvent(GVol.pointer.EventType.POINTERENTER, data, event); +}; + + +/** + * Triggers a 'pointerleave' event. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.leave = function(data, event) { + data.bubbles = false; + this.fireEvent(GVol.pointer.EventType.POINTERLEAVE, data, event); +}; + + +/** + * Triggers a 'pointerover' event. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.over = function(data, event) { + data.bubbles = true; + this.fireEvent(GVol.pointer.EventType.POINTEROVER, data, event); +}; + + +/** + * Triggers a 'pointerout' event. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.out = function(data, event) { + data.bubbles = true; + this.fireEvent(GVol.pointer.EventType.POINTEROUT, data, event); +}; + + +/** + * Triggers a 'pointercancel' event. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.cancel = function(data, event) { + this.fireEvent(GVol.pointer.EventType.POINTERCANCEL, data, event); +}; + + +/** + * Triggers a combination of 'pointerout' and 'pointerleave' events. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.leaveOut = function(data, event) { + this.out(data, event); + if (!this.contains_(data.target, data.relatedTarget)) { + this.leave(data, event); + } +}; + + +/** + * Triggers a combination of 'pointerover' and 'pointerevents' events. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.enterOver = function(data, event) { + this.over(data, event); + if (!this.contains_(data.target, data.relatedTarget)) { + this.enter(data, event); + } +}; + + +/** + * @private + * @param {Element} container The container element. + * @param {Element} contained The contained element. + * @return {boGVolean} Returns true if the container element + * contains the other element. + */ +GVol.pointer.PointerEventHandler.prototype.contains_ = function(container, contained) { + if (!container || !contained) { + return false; + } + return container.contains(contained); +}; + + +// EVENT CREATION AND TRACKING +/** + * Creates a new Event of type `inType`, based on the information in + * `data`. + * + * @param {string} inType A string representing the type of event to create. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + * @return {GVol.pointer.PointerEvent} A PointerEvent of type `inType`. + */ +GVol.pointer.PointerEventHandler.prototype.makeEvent = function(inType, data, event) { + return new GVol.pointer.PointerEvent(inType, event, data); +}; + + +/** + * Make and dispatch an event in one call. + * @param {string} inType A string representing the type of event. + * @param {Object} data Pointer event data. + * @param {Event} event The event. + */ +GVol.pointer.PointerEventHandler.prototype.fireEvent = function(inType, data, event) { + var e = this.makeEvent(inType, data, event); + this.dispatchEvent(e); +}; + + +/** + * Creates a pointer event from a native pointer event + * and dispatches this event. + * @param {Event} event A platform event with a target. + */ +GVol.pointer.PointerEventHandler.prototype.fireNativeEvent = function(event) { + var e = this.makeEvent(event.type, event, event); + this.dispatchEvent(e); +}; + + +/** + * Wrap a native mouse event into a pointer event. + * This proxy method is required for the legacy IE support. + * @param {string} eventType The pointer event type. + * @param {Event} event The event. + * @return {GVol.pointer.PointerEvent} The wrapped event. + */ +GVol.pointer.PointerEventHandler.prototype.wrapMouseEvent = function(eventType, event) { + var pointerEvent = this.makeEvent( + eventType, GVol.pointer.MouseSource.prepareEvent(event, this), event); + return pointerEvent; +}; + + +/** + * @inheritDoc + */ +GVol.pointer.PointerEventHandler.prototype.disposeInternal = function() { + this.unregister_(); + GVol.events.EventTarget.prototype.disposeInternal.call(this); +}; + + +/** + * Properties to copy when cloning an event, with default values. + * @type {Array.<Array>} + */ +GVol.pointer.PointerEventHandler.CLONE_PROPS = [ + // MouseEvent + ['bubbles', false], + ['cancelable', false], + ['view', null], + ['detail', null], + ['screenX', 0], + ['screenY', 0], + ['clientX', 0], + ['clientY', 0], + ['ctrlKey', false], + ['altKey', false], + ['shiftKey', false], + ['metaKey', false], + ['button', 0], + ['relatedTarget', null], + // DOM Level 3 + ['buttons', 0], + // PointerEvent + ['pointerId', 0], + ['width', 0], + ['height', 0], + ['pressure', 0], + ['tiltX', 0], + ['tiltY', 0], + ['pointerType', ''], + ['hwTimestamp', 0], + ['isPrimary', false], + // event instance + ['type', ''], + ['target', null], + ['currentTarget', null], + ['which', 0] +]; + +goog.provide('GVol.MapBrowserEventHandler'); + +goog.require('GVol'); +goog.require('GVol.has'); +goog.require('GVol.MapBrowserEventType'); +goog.require('GVol.MapBrowserPointerEvent'); +goog.require('GVol.events'); +goog.require('GVol.events.EventTarget'); +goog.require('GVol.pointer.EventType'); +goog.require('GVol.pointer.PointerEventHandler'); + + +/** + * @param {GVol.Map} map The map with the viewport to listen to events on. + * @param {number|undefined} moveTGVolerance The minimal distance the pointer must travel to trigger a move. + * @constructor + * @extends {GVol.events.EventTarget} + */ +GVol.MapBrowserEventHandler = function(map, moveTGVolerance) { + + GVol.events.EventTarget.call(this); + + /** + * This is the element that we will listen to the real events on. + * @type {GVol.Map} + * @private + */ + this.map_ = map; + + /** + * @type {number} + * @private + */ + this.clickTimeoutId_ = 0; + + /** + * @type {boGVolean} + * @private + */ + this.dragging_ = false; + + /** + * @type {!Array.<GVol.EventsKey>} + * @private + */ + this.dragListenerKeys_ = []; + + /** + * @type {number} + * @private + */ + this.moveTGVolerance_ = moveTGVolerance ? + moveTGVolerance * GVol.has.DEVICE_PIXEL_RATIO : GVol.has.DEVICE_PIXEL_RATIO; + + /** + * The most recent "down" type event (or null if none have occurred). + * Set on pointerdown. + * @type {GVol.pointer.PointerEvent} + * @private + */ + this.down_ = null; + + var element = this.map_.getViewport(); + + /** + * @type {number} + * @private + */ + this.activePointers_ = 0; + + /** + * @type {!Object.<number, boGVolean>} + * @private + */ + this.trackedTouches_ = {}; + + /** + * Event handler which generates pointer events for + * the viewport element. + * + * @type {GVol.pointer.PointerEventHandler} + * @private + */ + this.pointerEventHandler_ = new GVol.pointer.PointerEventHandler(element); + + /** + * Event handler which generates pointer events for + * the document (used when dragging). + * + * @type {GVol.pointer.PointerEventHandler} + * @private + */ + this.documentPointerEventHandler_ = null; + + /** + * @type {?GVol.EventsKey} + * @private + */ + this.pointerdownListenerKey_ = GVol.events.listen(this.pointerEventHandler_, + GVol.pointer.EventType.POINTERDOWN, + this.handlePointerDown_, this); + + /** + * @type {?GVol.EventsKey} + * @private + */ + this.relayedListenerKey_ = GVol.events.listen(this.pointerEventHandler_, + GVol.pointer.EventType.POINTERMOVE, + this.relayEvent_, this); + +}; +GVol.inherits(GVol.MapBrowserEventHandler, GVol.events.EventTarget); + + +/** + * @param {GVol.pointer.PointerEvent} pointerEvent Pointer event. + * @private + */ +GVol.MapBrowserEventHandler.prototype.emulateClick_ = function(pointerEvent) { + var newEvent = new GVol.MapBrowserPointerEvent( + GVol.MapBrowserEventType.CLICK, this.map_, pointerEvent); + this.dispatchEvent(newEvent); + if (this.clickTimeoutId_ !== 0) { + // double-click + clearTimeout(this.clickTimeoutId_); + this.clickTimeoutId_ = 0; + newEvent = new GVol.MapBrowserPointerEvent( + GVol.MapBrowserEventType.DBLCLICK, this.map_, pointerEvent); + this.dispatchEvent(newEvent); + } else { + // click + this.clickTimeoutId_ = setTimeout(function() { + this.clickTimeoutId_ = 0; + var newEvent = new GVol.MapBrowserPointerEvent( + GVol.MapBrowserEventType.SINGLECLICK, this.map_, pointerEvent); + this.dispatchEvent(newEvent); + }.bind(this), 250); + } +}; + + +/** + * Keeps track on how many pointers are currently active. + * + * @param {GVol.pointer.PointerEvent} pointerEvent Pointer event. + * @private + */ +GVol.MapBrowserEventHandler.prototype.updateActivePointers_ = function(pointerEvent) { + var event = pointerEvent; + + if (event.type == GVol.MapBrowserEventType.POINTERUP || + event.type == GVol.MapBrowserEventType.POINTERCANCEL) { + delete this.trackedTouches_[event.pointerId]; + } else if (event.type == GVol.MapBrowserEventType.POINTERDOWN) { + this.trackedTouches_[event.pointerId] = true; + } + this.activePointers_ = Object.keys(this.trackedTouches_).length; +}; + + +/** + * @param {GVol.pointer.PointerEvent} pointerEvent Pointer event. + * @private + */ +GVol.MapBrowserEventHandler.prototype.handlePointerUp_ = function(pointerEvent) { + this.updateActivePointers_(pointerEvent); + var newEvent = new GVol.MapBrowserPointerEvent( + GVol.MapBrowserEventType.POINTERUP, this.map_, pointerEvent); + this.dispatchEvent(newEvent); + + // We emulate click events on left mouse button click, touch contact, and pen + // contact. isMouseActionButton returns true in these cases (evt.button is set + // to 0). + // See http://www.w3.org/TR/pointerevents/#button-states + if (!this.dragging_ && this.isMouseActionButton_(pointerEvent)) { + this.emulateClick_(this.down_); + } + + if (this.activePointers_ === 0) { + this.dragListenerKeys_.forEach(GVol.events.unlistenByKey); + this.dragListenerKeys_.length = 0; + this.dragging_ = false; + this.down_ = null; + this.documentPointerEventHandler_.dispose(); + this.documentPointerEventHandler_ = null; + } +}; + + +/** + * @param {GVol.pointer.PointerEvent} pointerEvent Pointer event. + * @return {boGVolean} If the left mouse button was pressed. + * @private + */ +GVol.MapBrowserEventHandler.prototype.isMouseActionButton_ = function(pointerEvent) { + return pointerEvent.button === 0; +}; + + +/** + * @param {GVol.pointer.PointerEvent} pointerEvent Pointer event. + * @private + */ +GVol.MapBrowserEventHandler.prototype.handlePointerDown_ = function(pointerEvent) { + this.updateActivePointers_(pointerEvent); + var newEvent = new GVol.MapBrowserPointerEvent( + GVol.MapBrowserEventType.POINTERDOWN, this.map_, pointerEvent); + this.dispatchEvent(newEvent); + + this.down_ = pointerEvent; + + if (this.dragListenerKeys_.length === 0) { + /* Set up a pointer event handler on the `document`, + * which is required when the pointer is moved outside + * the viewport when dragging. + */ + this.documentPointerEventHandler_ = + new GVol.pointer.PointerEventHandler(document); + + this.dragListenerKeys_.push( + GVol.events.listen(this.documentPointerEventHandler_, + GVol.MapBrowserEventType.POINTERMOVE, + this.handlePointerMove_, this), + GVol.events.listen(this.documentPointerEventHandler_, + GVol.MapBrowserEventType.POINTERUP, + this.handlePointerUp_, this), + /* Note that the listener for `pointercancel is set up on + * `pointerEventHandler_` and not `documentPointerEventHandler_` like + * the `pointerup` and `pointermove` listeners. + * + * The reason for this is the fGVollowing: `TouchSource.vacuumTouches_()` + * issues `pointercancel` events, when there was no `touchend` for a + * `touchstart`. Now, let's say a first `touchstart` is registered on + * `pointerEventHandler_`. The `documentPointerEventHandler_` is set up. + * But `documentPointerEventHandler_` doesn't know about the first + * `touchstart`. If there is no `touchend` for the `touchstart`, we can + * only receive a `touchcancel` from `pointerEventHandler_`, because it is + * only registered there. + */ + GVol.events.listen(this.pointerEventHandler_, + GVol.MapBrowserEventType.POINTERCANCEL, + this.handlePointerUp_, this) + ); + } +}; + + +/** + * @param {GVol.pointer.PointerEvent} pointerEvent Pointer event. + * @private + */ +GVol.MapBrowserEventHandler.prototype.handlePointerMove_ = function(pointerEvent) { + // Between pointerdown and pointerup, pointermove events are triggered. + // To avoid a 'false' touchmove event to be dispatched, we test if the pointer + // moved a significant distance. + if (this.isMoving_(pointerEvent)) { + this.dragging_ = true; + var newEvent = new GVol.MapBrowserPointerEvent( + GVol.MapBrowserEventType.POINTERDRAG, this.map_, pointerEvent, + this.dragging_); + this.dispatchEvent(newEvent); + } + + // Some native android browser triggers mousemove events during small period + // of time. See: https://code.google.com/p/android/issues/detail?id=5491 or + // https://code.google.com/p/android/issues/detail?id=19827 + // ex: Galaxy Tab P3110 + Android 4.1.1 + pointerEvent.preventDefault(); +}; + + +/** + * Wrap and relay a pointer event. Note that this requires that the type + * string for the MapBrowserPointerEvent matches the PointerEvent type. + * @param {GVol.pointer.PointerEvent} pointerEvent Pointer event. + * @private + */ +GVol.MapBrowserEventHandler.prototype.relayEvent_ = function(pointerEvent) { + var dragging = !!(this.down_ && this.isMoving_(pointerEvent)); + this.dispatchEvent(new GVol.MapBrowserPointerEvent( + pointerEvent.type, this.map_, pointerEvent, dragging)); +}; + + +/** + * @param {GVol.pointer.PointerEvent} pointerEvent Pointer event. + * @return {boGVolean} Is moving. + * @private + */ +GVol.MapBrowserEventHandler.prototype.isMoving_ = function(pointerEvent) { + return Math.abs(pointerEvent.clientX - this.down_.clientX) > this.moveTGVolerance_ || + Math.abs(pointerEvent.clientY - this.down_.clientY) > this.moveTGVolerance_; +}; + + +/** + * @inheritDoc + */ +GVol.MapBrowserEventHandler.prototype.disposeInternal = function() { + if (this.relayedListenerKey_) { + GVol.events.unlistenByKey(this.relayedListenerKey_); + this.relayedListenerKey_ = null; + } + if (this.pointerdownListenerKey_) { + GVol.events.unlistenByKey(this.pointerdownListenerKey_); + this.pointerdownListenerKey_ = null; + } + + this.dragListenerKeys_.forEach(GVol.events.unlistenByKey); + this.dragListenerKeys_.length = 0; + + if (this.documentPointerEventHandler_) { + this.documentPointerEventHandler_.dispose(); + this.documentPointerEventHandler_ = null; + } + if (this.pointerEventHandler_) { + this.pointerEventHandler_.dispose(); + this.pointerEventHandler_ = null; + } + GVol.events.EventTarget.prototype.disposeInternal.call(this); +}; + +goog.provide('GVol.MapProperty'); + +/** + * @enum {string} + */ +GVol.MapProperty = { + LAYERGROUP: 'layergroup', + SIZE: 'size', + TARGET: 'target', + VIEW: 'view' +}; + +goog.provide('GVol.TileState'); + +/** + * @enum {number} + */ +GVol.TileState = { + IDLE: 0, + LOADING: 1, + LOADED: 2, + ERROR: 3, + EMPTY: 4, + ABORT: 5 +}; + +goog.provide('GVol.structs.PriorityQueue'); + +goog.require('GVol.asserts'); +goog.require('GVol.obj'); + + +/** + * Priority queue. + * + * The implementation is inspired from the Closure Library's Heap class and + * Python's heapq module. + * + * @see http://closure-library.googlecode.com/svn/docs/closure_goog_structs_heap.js.source.html + * @see http://hg.python.org/cpython/file/2.7/Lib/heapq.py + * + * @constructor + * @param {function(T): number} priorityFunction Priority function. + * @param {function(T): string} keyFunction Key function. + * @struct + * @template T + */ +GVol.structs.PriorityQueue = function(priorityFunction, keyFunction) { + + /** + * @type {function(T): number} + * @private + */ + this.priorityFunction_ = priorityFunction; + + /** + * @type {function(T): string} + * @private + */ + this.keyFunction_ = keyFunction; + + /** + * @type {Array.<T>} + * @private + */ + this.elements_ = []; + + /** + * @type {Array.<number>} + * @private + */ + this.priorities_ = []; + + /** + * @type {Object.<string, boGVolean>} + * @private + */ + this.queuedElements_ = {}; + +}; + + +/** + * @const + * @type {number} + */ +GVol.structs.PriorityQueue.DROP = Infinity; + + +/** + * FIXME empty description for jsdoc + */ +GVol.structs.PriorityQueue.prototype.clear = function() { + this.elements_.length = 0; + this.priorities_.length = 0; + GVol.obj.clear(this.queuedElements_); +}; + + +/** + * Remove and return the highest-priority element. O(log N). + * @return {T} Element. + */ +GVol.structs.PriorityQueue.prototype.dequeue = function() { + var elements = this.elements_; + var priorities = this.priorities_; + var element = elements[0]; + if (elements.length == 1) { + elements.length = 0; + priorities.length = 0; + } else { + elements[0] = elements.pop(); + priorities[0] = priorities.pop(); + this.siftUp_(0); + } + var elementKey = this.keyFunction_(element); + delete this.queuedElements_[elementKey]; + return element; +}; + + +/** + * Enqueue an element. O(log N). + * @param {T} element Element. + * @return {boGVolean} The element was added to the queue. + */ +GVol.structs.PriorityQueue.prototype.enqueue = function(element) { + GVol.asserts.assert(!(this.keyFunction_(element) in this.queuedElements_), + 31); // Tried to enqueue an `element` that was already added to the queue + var priority = this.priorityFunction_(element); + if (priority != GVol.structs.PriorityQueue.DROP) { + this.elements_.push(element); + this.priorities_.push(priority); + this.queuedElements_[this.keyFunction_(element)] = true; + this.siftDown_(0, this.elements_.length - 1); + return true; + } + return false; +}; + + +/** + * @return {number} Count. + */ +GVol.structs.PriorityQueue.prototype.getCount = function() { + return this.elements_.length; +}; + + +/** + * Gets the index of the left child of the node at the given index. + * @param {number} index The index of the node to get the left child for. + * @return {number} The index of the left child. + * @private + */ +GVol.structs.PriorityQueue.prototype.getLeftChildIndex_ = function(index) { + return index * 2 + 1; +}; + + +/** + * Gets the index of the right child of the node at the given index. + * @param {number} index The index of the node to get the right child for. + * @return {number} The index of the right child. + * @private + */ +GVol.structs.PriorityQueue.prototype.getRightChildIndex_ = function(index) { + return index * 2 + 2; +}; + + +/** + * Gets the index of the parent of the node at the given index. + * @param {number} index The index of the node to get the parent for. + * @return {number} The index of the parent. + * @private + */ +GVol.structs.PriorityQueue.prototype.getParentIndex_ = function(index) { + return (index - 1) >> 1; +}; + + +/** + * Make this a heap. O(N). + * @private + */ +GVol.structs.PriorityQueue.prototype.heapify_ = function() { + var i; + for (i = (this.elements_.length >> 1) - 1; i >= 0; i--) { + this.siftUp_(i); + } +}; + + +/** + * @return {boGVolean} Is empty. + */ +GVol.structs.PriorityQueue.prototype.isEmpty = function() { + return this.elements_.length === 0; +}; + + +/** + * @param {string} key Key. + * @return {boGVolean} Is key queued. + */ +GVol.structs.PriorityQueue.prototype.isKeyQueued = function(key) { + return key in this.queuedElements_; +}; + + +/** + * @param {T} element Element. + * @return {boGVolean} Is queued. + */ +GVol.structs.PriorityQueue.prototype.isQueued = function(element) { + return this.isKeyQueued(this.keyFunction_(element)); +}; + + +/** + * @param {number} index The index of the node to move down. + * @private + */ +GVol.structs.PriorityQueue.prototype.siftUp_ = function(index) { + var elements = this.elements_; + var priorities = this.priorities_; + var count = elements.length; + var element = elements[index]; + var priority = priorities[index]; + var startIndex = index; + + while (index < (count >> 1)) { + var lIndex = this.getLeftChildIndex_(index); + var rIndex = this.getRightChildIndex_(index); + + var smallerChildIndex = rIndex < count && + priorities[rIndex] < priorities[lIndex] ? + rIndex : lIndex; + + elements[index] = elements[smallerChildIndex]; + priorities[index] = priorities[smallerChildIndex]; + index = smallerChildIndex; + } + + elements[index] = element; + priorities[index] = priority; + this.siftDown_(startIndex, index); +}; + + +/** + * @param {number} startIndex The index of the root. + * @param {number} index The index of the node to move up. + * @private + */ +GVol.structs.PriorityQueue.prototype.siftDown_ = function(startIndex, index) { + var elements = this.elements_; + var priorities = this.priorities_; + var element = elements[index]; + var priority = priorities[index]; + + while (index > startIndex) { + var parentIndex = this.getParentIndex_(index); + if (priorities[parentIndex] > priority) { + elements[index] = elements[parentIndex]; + priorities[index] = priorities[parentIndex]; + index = parentIndex; + } else { + break; + } + } + elements[index] = element; + priorities[index] = priority; +}; + + +/** + * FIXME empty description for jsdoc + */ +GVol.structs.PriorityQueue.prototype.reprioritize = function() { + var priorityFunction = this.priorityFunction_; + var elements = this.elements_; + var priorities = this.priorities_; + var index = 0; + var n = elements.length; + var element, i, priority; + for (i = 0; i < n; ++i) { + element = elements[i]; + priority = priorityFunction(element); + if (priority == GVol.structs.PriorityQueue.DROP) { + delete this.queuedElements_[this.keyFunction_(element)]; + } else { + priorities[index] = priority; + elements[index++] = element; + } + } + elements.length = index; + priorities.length = index; + this.heapify_(); +}; + +goog.provide('GVol.TileQueue'); + +goog.require('GVol'); +goog.require('GVol.TileState'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.structs.PriorityQueue'); + + +/** + * @constructor + * @extends {GVol.structs.PriorityQueue.<Array>} + * @param {GVol.TilePriorityFunction} tilePriorityFunction + * Tile priority function. + * @param {function(): ?} tileChangeCallback + * Function called on each tile change event. + * @struct + */ +GVol.TileQueue = function(tilePriorityFunction, tileChangeCallback) { + + GVol.structs.PriorityQueue.call( + this, + /** + * @param {Array} element Element. + * @return {number} Priority. + */ + function(element) { + return tilePriorityFunction.apply(null, element); + }, + /** + * @param {Array} element Element. + * @return {string} Key. + */ + function(element) { + return /** @type {GVol.Tile} */ (element[0]).getKey(); + }); + + /** + * @private + * @type {function(): ?} + */ + this.tileChangeCallback_ = tileChangeCallback; + + /** + * @private + * @type {number} + */ + this.tilesLoading_ = 0; + + /** + * @private + * @type {!Object.<string,boGVolean>} + */ + this.tilesLoadingKeys_ = {}; + +}; +GVol.inherits(GVol.TileQueue, GVol.structs.PriorityQueue); + + +/** + * @inheritDoc + */ +GVol.TileQueue.prototype.enqueue = function(element) { + var added = GVol.structs.PriorityQueue.prototype.enqueue.call(this, element); + if (added) { + var tile = element[0]; + GVol.events.listen(tile, GVol.events.EventType.CHANGE, + this.handleTileChange, this); + } + return added; +}; + + +/** + * @return {number} Number of tiles loading. + */ +GVol.TileQueue.prototype.getTilesLoading = function() { + return this.tilesLoading_; +}; + + +/** + * @param {GVol.events.Event} event Event. + * @protected + */ +GVol.TileQueue.prototype.handleTileChange = function(event) { + var tile = /** @type {GVol.Tile} */ (event.target); + var state = tile.getState(); + if (state === GVol.TileState.LOADED || state === GVol.TileState.ERROR || + state === GVol.TileState.EMPTY || state === GVol.TileState.ABORT) { + GVol.events.unlisten(tile, GVol.events.EventType.CHANGE, + this.handleTileChange, this); + var tileKey = tile.getKey(); + if (tileKey in this.tilesLoadingKeys_) { + delete this.tilesLoadingKeys_[tileKey]; + --this.tilesLoading_; + } + this.tileChangeCallback_(); + } +}; + + +/** + * @param {number} maxTotalLoading Maximum number tiles to load simultaneously. + * @param {number} maxNewLoads Maximum number of new tiles to load. + */ +GVol.TileQueue.prototype.loadMoreTiles = function(maxTotalLoading, maxNewLoads) { + var newLoads = 0; + var abortedTiles = false; + var state, tile, tileKey; + while (this.tilesLoading_ < maxTotalLoading && newLoads < maxNewLoads && + this.getCount() > 0) { + tile = /** @type {GVol.Tile} */ (this.dequeue()[0]); + tileKey = tile.getKey(); + state = tile.getState(); + if (state === GVol.TileState.ABORT) { + abortedTiles = true; + } else if (state === GVol.TileState.IDLE && !(tileKey in this.tilesLoadingKeys_)) { + this.tilesLoadingKeys_[tileKey] = true; + ++this.tilesLoading_; + ++newLoads; + tile.load(); + } + } + if (newLoads === 0 && abortedTiles) { + // Do not stop the render loop when all wanted tiles were aborted due to + // a small, saturated tile cache. + this.tileChangeCallback_(); + } +}; + +goog.provide('GVol.ResGVolutionConstraint'); + +goog.require('GVol.array'); +goog.require('GVol.math'); + + +/** + * @param {Array.<number>} resGVolutions ResGVolutions. + * @return {GVol.ResGVolutionConstraintType} Zoom function. + */ +GVol.ResGVolutionConstraint.createSnapToResGVolutions = function(resGVolutions) { + return ( + /** + * @param {number|undefined} resGVolution ResGVolution. + * @param {number} delta Delta. + * @param {number} direction Direction. + * @return {number|undefined} ResGVolution. + */ + function(resGVolution, delta, direction) { + if (resGVolution !== undefined) { + var z = + GVol.array.linearFindNearest(resGVolutions, resGVolution, direction); + z = GVol.math.clamp(z + delta, 0, resGVolutions.length - 1); + var index = Math.floor(z); + if (z != index && index < resGVolutions.length - 1) { + var power = resGVolutions[index] / resGVolutions[index + 1]; + return resGVolutions[index] / Math.pow(power, z - index); + } else { + return resGVolutions[index]; + } + } else { + return undefined; + } + }); +}; + + +/** + * @param {number} power Power. + * @param {number} maxResGVolution Maximum resGVolution. + * @param {number=} opt_maxLevel Maximum level. + * @return {GVol.ResGVolutionConstraintType} Zoom function. + */ +GVol.ResGVolutionConstraint.createSnapToPower = function(power, maxResGVolution, opt_maxLevel) { + return ( + /** + * @param {number|undefined} resGVolution ResGVolution. + * @param {number} delta Delta. + * @param {number} direction Direction. + * @return {number|undefined} ResGVolution. + */ + function(resGVolution, delta, direction) { + if (resGVolution !== undefined) { + var offset = -direction / 2 + 0.5; + var GVoldLevel = Math.floor( + Math.log(maxResGVolution / resGVolution) / Math.log(power) + offset); + var newLevel = Math.max(GVoldLevel + delta, 0); + if (opt_maxLevel !== undefined) { + newLevel = Math.min(newLevel, opt_maxLevel); + } + return maxResGVolution / Math.pow(power, newLevel); + } else { + return undefined; + } + }); +}; + +goog.provide('GVol.RotationConstraint'); + +goog.require('GVol.math'); + + +/** + * @param {number|undefined} rotation Rotation. + * @param {number} delta Delta. + * @return {number|undefined} Rotation. + */ +GVol.RotationConstraint.disable = function(rotation, delta) { + if (rotation !== undefined) { + return 0; + } else { + return undefined; + } +}; + + +/** + * @param {number|undefined} rotation Rotation. + * @param {number} delta Delta. + * @return {number|undefined} Rotation. + */ +GVol.RotationConstraint.none = function(rotation, delta) { + if (rotation !== undefined) { + return rotation + delta; + } else { + return undefined; + } +}; + + +/** + * @param {number} n N. + * @return {GVol.RotationConstraintType} Rotation constraint. + */ +GVol.RotationConstraint.createSnapToN = function(n) { + var theta = 2 * Math.PI / n; + return ( + /** + * @param {number|undefined} rotation Rotation. + * @param {number} delta Delta. + * @return {number|undefined} Rotation. + */ + function(rotation, delta) { + if (rotation !== undefined) { + rotation = Math.floor((rotation + delta) / theta + 0.5) * theta; + return rotation; + } else { + return undefined; + } + }); +}; + + +/** + * @param {number=} opt_tGVolerance TGVolerance. + * @return {GVol.RotationConstraintType} Rotation constraint. + */ +GVol.RotationConstraint.createSnapToZero = function(opt_tGVolerance) { + var tGVolerance = opt_tGVolerance || GVol.math.toRadians(5); + return ( + /** + * @param {number|undefined} rotation Rotation. + * @param {number} delta Delta. + * @return {number|undefined} Rotation. + */ + function(rotation, delta) { + if (rotation !== undefined) { + if (Math.abs(rotation + delta) <= tGVolerance) { + return 0; + } else { + return rotation + delta; + } + } else { + return undefined; + } + }); +}; + +goog.provide('GVol.ViewHint'); + +/** + * @enum {number} + */ +GVol.ViewHint = { + ANIMATING: 0, + INTERACTING: 1 +}; + +goog.provide('GVol.ViewProperty'); + +/** + * @enum {string} + */ +GVol.ViewProperty = { + CENTER: 'center', + RESOLUTION: 'resGVolution', + ROTATION: 'rotation' +}; + +goog.provide('GVol.string'); + +/** + * @param {number} number Number to be formatted + * @param {number} width The desired width + * @param {number=} opt_precision Precision of the output string (i.e. number of decimal places) + * @returns {string} Formatted string +*/ +GVol.string.padNumber = function(number, width, opt_precision) { + var numberString = opt_precision !== undefined ? number.toFixed(opt_precision) : '' + number; + var decimal = numberString.indexOf('.'); + decimal = decimal === -1 ? numberString.length : decimal; + return decimal > width ? numberString : new Array(1 + width - decimal).join('0') + numberString; +}; + +/** + * Adapted from https://github.com/omichelsen/compare-versions/blob/master/index.js + * @param {string|number} v1 First version + * @param {string|number} v2 Second version + * @returns {number} Value + */ +GVol.string.compareVersions = function(v1, v2) { + var s1 = ('' + v1).split('.'); + var s2 = ('' + v2).split('.'); + + for (var i = 0; i < Math.max(s1.length, s2.length); i++) { + var n1 = parseInt(s1[i] || '0', 10); + var n2 = parseInt(s2[i] || '0', 10); + + if (n1 > n2) { + return 1; + } + if (n2 > n1) { + return -1; + } + } + + return 0; +}; + +goog.provide('GVol.coordinate'); + +goog.require('GVol.math'); +goog.require('GVol.string'); + + +/** + * Add `delta` to `coordinate`. `coordinate` is modified in place and returned + * by the function. + * + * Example: + * + * var coord = [7.85, 47.983333]; + * GVol.coordinate.add(coord, [-2, 4]); + * // coord is now [5.85, 51.983333] + * + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVol.Coordinate} delta Delta. + * @return {GVol.Coordinate} The input coordinate adjusted by the given delta. + * @api + */ +GVol.coordinate.add = function(coordinate, delta) { + coordinate[0] += delta[0]; + coordinate[1] += delta[1]; + return coordinate; +}; + + +/** + * Calculates the point closest to the passed coordinate on the passed circle. + * + * @param {GVol.Coordinate} coordinate The coordinate. + * @param {GVol.geom.Circle} circle The circle. + * @return {GVol.Coordinate} Closest point on the circumference + */ +GVol.coordinate.closestOnCircle = function(coordinate, circle) { + var r = circle.getRadius(); + var center = circle.getCenter(); + var x0 = center[0]; + var y0 = center[1]; + var x1 = coordinate[0]; + var y1 = coordinate[1]; + + var dx = x1 - x0; + var dy = y1 - y0; + if (dx === 0 && dy === 0) { + dx = 1; + } + var d = Math.sqrt(dx * dx + dy * dy); + + var x, y; + + x = x0 + r * dx / d; + y = y0 + r * dy / d; + + return [x, y]; +}; + + +/** + * Calculates the point closest to the passed coordinate on the passed segment. + * This is the foot of the perpendicular of the coordinate to the segment when + * the foot is on the segment, or the closest segment coordinate when the foot + * is outside the segment. + * + * @param {GVol.Coordinate} coordinate The coordinate. + * @param {Array.<GVol.Coordinate>} segment The two coordinates of the segment. + * @return {GVol.Coordinate} The foot of the perpendicular of the coordinate to + * the segment. + */ +GVol.coordinate.closestOnSegment = function(coordinate, segment) { + var x0 = coordinate[0]; + var y0 = coordinate[1]; + var start = segment[0]; + var end = segment[1]; + var x1 = start[0]; + var y1 = start[1]; + var x2 = end[0]; + var y2 = end[1]; + var dx = x2 - x1; + var dy = y2 - y1; + var along = (dx === 0 && dy === 0) ? 0 : + ((dx * (x0 - x1)) + (dy * (y0 - y1))) / ((dx * dx + dy * dy) || 0); + var x, y; + if (along <= 0) { + x = x1; + y = y1; + } else if (along >= 1) { + x = x2; + y = y2; + } else { + x = x1 + along * dx; + y = y1 + along * dy; + } + return [x, y]; +}; + + +/** + * Returns a {@link GVol.CoordinateFormatType} function that can be used to format + * a {GVol.Coordinate} to a string. + * + * Example without specifying the fractional digits: + * + * var coord = [7.85, 47.983333]; + * var stringifyFunc = GVol.coordinate.createStringXY(); + * var out = stringifyFunc(coord); + * // out is now '8, 48' + * + * Example with explicitly specifying 2 fractional digits: + * + * var coord = [7.85, 47.983333]; + * var stringifyFunc = GVol.coordinate.createStringXY(2); + * var out = stringifyFunc(coord); + * // out is now '7.85, 47.98' + * + * @param {number=} opt_fractionDigits The number of digits to include + * after the decimal point. Default is `0`. + * @return {GVol.CoordinateFormatType} Coordinate format. + * @api + */ +GVol.coordinate.createStringXY = function(opt_fractionDigits) { + return ( + /** + * @param {GVol.Coordinate|undefined} coordinate Coordinate. + * @return {string} String XY. + */ + function(coordinate) { + return GVol.coordinate.toStringXY(coordinate, opt_fractionDigits); + }); +}; + + +/** + * @param {string} hemispheres Hemispheres. + * @param {number} degrees Degrees. + * @param {number=} opt_fractionDigits The number of digits to include + * after the decimal point. Default is `0`. + * @return {string} String. + */ +GVol.coordinate.degreesToStringHDMS = function(hemispheres, degrees, opt_fractionDigits) { + var normalizedDegrees = GVol.math.modulo(degrees + 180, 360) - 180; + var x = Math.abs(3600 * normalizedDegrees); + var dflPrecision = opt_fractionDigits || 0; + var precision = Math.pow(10, dflPrecision); + + var deg = Math.floor(x / 3600); + var min = Math.floor((x - deg * 3600) / 60); + var sec = x - (deg * 3600) - (min * 60); + sec = Math.ceil(sec * precision) / precision; + + if (sec >= 60) { + sec = 0; + min += 1; + } + + if (min >= 60) { + min = 0; + deg += 1; + } + + return deg + '\u00b0 ' + GVol.string.padNumber(min, 2) + '\u2032 ' + + GVol.string.padNumber(sec, 2, dflPrecision) + '\u2033' + + (normalizedDegrees == 0 ? '' : ' ' + hemispheres.charAt(normalizedDegrees < 0 ? 1 : 0)); +}; + + +/** + * Transforms the given {@link GVol.Coordinate} to a string using the given string + * template. The strings `{x}` and `{y}` in the template will be replaced with + * the first and second coordinate values respectively. + * + * Example without specifying the fractional digits: + * + * var coord = [7.85, 47.983333]; + * var template = 'Coordinate is ({x}|{y}).'; + * var out = GVol.coordinate.format(coord, template); + * // out is now 'Coordinate is (8|48).' + * + * Example explicitly specifying the fractional digits: + * + * var coord = [7.85, 47.983333]; + * var template = 'Coordinate is ({x}|{y}).'; + * var out = GVol.coordinate.format(coord, template, 2); + * // out is now 'Coordinate is (7.85|47.98).' + * + * @param {GVol.Coordinate|undefined} coordinate Coordinate. + * @param {string} template A template string with `{x}` and `{y}` placehGVolders + * that will be replaced by first and second coordinate values. + * @param {number=} opt_fractionDigits The number of digits to include + * after the decimal point. Default is `0`. + * @return {string} Formatted coordinate. + * @api + */ +GVol.coordinate.format = function(coordinate, template, opt_fractionDigits) { + if (coordinate) { + return template + .replace('{x}', coordinate[0].toFixed(opt_fractionDigits)) + .replace('{y}', coordinate[1].toFixed(opt_fractionDigits)); + } else { + return ''; + } +}; + + +/** + * @param {GVol.Coordinate} coordinate1 First coordinate. + * @param {GVol.Coordinate} coordinate2 Second coordinate. + * @return {boGVolean} Whether the passed coordinates are equal. + */ +GVol.coordinate.equals = function(coordinate1, coordinate2) { + var equals = true; + for (var i = coordinate1.length - 1; i >= 0; --i) { + if (coordinate1[i] != coordinate2[i]) { + equals = false; + break; + } + } + return equals; +}; + + +/** + * Rotate `coordinate` by `angle`. `coordinate` is modified in place and + * returned by the function. + * + * Example: + * + * var coord = [7.85, 47.983333]; + * var rotateRadians = Math.PI / 2; // 90 degrees + * GVol.coordinate.rotate(coord, rotateRadians); + * // coord is now [-47.983333, 7.85] + * + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} angle Angle in radian. + * @return {GVol.Coordinate} Coordinate. + * @api + */ +GVol.coordinate.rotate = function(coordinate, angle) { + var cosAngle = Math.cos(angle); + var sinAngle = Math.sin(angle); + var x = coordinate[0] * cosAngle - coordinate[1] * sinAngle; + var y = coordinate[1] * cosAngle + coordinate[0] * sinAngle; + coordinate[0] = x; + coordinate[1] = y; + return coordinate; +}; + + +/** + * Scale `coordinate` by `scale`. `coordinate` is modified in place and returned + * by the function. + * + * Example: + * + * var coord = [7.85, 47.983333]; + * var scale = 1.2; + * GVol.coordinate.scale(coord, scale); + * // coord is now [9.42, 57.5799996] + * + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} scale Scale factor. + * @return {GVol.Coordinate} Coordinate. + */ +GVol.coordinate.scale = function(coordinate, scale) { + coordinate[0] *= scale; + coordinate[1] *= scale; + return coordinate; +}; + + +/** + * Subtract `delta` to `coordinate`. `coordinate` is modified in place and + * returned by the function. + * + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVol.Coordinate} delta Delta. + * @return {GVol.Coordinate} Coordinate. + */ +GVol.coordinate.sub = function(coordinate, delta) { + coordinate[0] -= delta[0]; + coordinate[1] -= delta[1]; + return coordinate; +}; + + +/** + * @param {GVol.Coordinate} coord1 First coordinate. + * @param {GVol.Coordinate} coord2 Second coordinate. + * @return {number} Squared distance between coord1 and coord2. + */ +GVol.coordinate.squaredDistance = function(coord1, coord2) { + var dx = coord1[0] - coord2[0]; + var dy = coord1[1] - coord2[1]; + return dx * dx + dy * dy; +}; + + +/** + * @param {GVol.Coordinate} coord1 First coordinate. + * @param {GVol.Coordinate} coord2 Second coordinate. + * @return {number} Distance between coord1 and coord2. + */ +GVol.coordinate.distance = function(coord1, coord2) { + return Math.sqrt(GVol.coordinate.squaredDistance(coord1, coord2)); +}; + + +/** + * Calculate the squared distance from a coordinate to a line segment. + * + * @param {GVol.Coordinate} coordinate Coordinate of the point. + * @param {Array.<GVol.Coordinate>} segment Line segment (2 coordinates). + * @return {number} Squared distance from the point to the line segment. + */ +GVol.coordinate.squaredDistanceToSegment = function(coordinate, segment) { + return GVol.coordinate.squaredDistance(coordinate, + GVol.coordinate.closestOnSegment(coordinate, segment)); +}; + + +/** + * Format a geographic coordinate with the hemisphere, degrees, minutes, and + * seconds. + * + * Example without specifying fractional digits: + * + * var coord = [7.85, 47.983333]; + * var out = GVol.coordinate.toStringHDMS(coord); + * // out is now '47° 58′ 60″ N 7° 50′ 60″ E' + * + * Example explicitly specifying 1 fractional digit: + * + * var coord = [7.85, 47.983333]; + * var out = GVol.coordinate.toStringHDMS(coord, 1); + * // out is now '47° 58′ 60.0″ N 7° 50′ 60.0″ E' + * + * @param {GVol.Coordinate|undefined} coordinate Coordinate. + * @param {number=} opt_fractionDigits The number of digits to include + * after the decimal point. Default is `0`. + * @return {string} Hemisphere, degrees, minutes and seconds. + * @api + */ +GVol.coordinate.toStringHDMS = function(coordinate, opt_fractionDigits) { + if (coordinate) { + return GVol.coordinate.degreesToStringHDMS('NS', coordinate[1], opt_fractionDigits) + ' ' + + GVol.coordinate.degreesToStringHDMS('EW', coordinate[0], opt_fractionDigits); + } else { + return ''; + } +}; + + +/** + * Format a coordinate as a comma delimited string. + * + * Example without specifying fractional digits: + * + * var coord = [7.85, 47.983333]; + * var out = GVol.coordinate.toStringXY(coord); + * // out is now '8, 48' + * + * Example explicitly specifying 1 fractional digit: + * + * var coord = [7.85, 47.983333]; + * var out = GVol.coordinate.toStringXY(coord, 1); + * // out is now '7.8, 48.0' + * + * @param {GVol.Coordinate|undefined} coordinate Coordinate. + * @param {number=} opt_fractionDigits The number of digits to include + * after the decimal point. Default is `0`. + * @return {string} XY. + * @api + */ +GVol.coordinate.toStringXY = function(coordinate, opt_fractionDigits) { + return GVol.coordinate.format(coordinate, '{x}, {y}', opt_fractionDigits); +}; + +goog.provide('GVol.geom.GeometryLayout'); + + +/** + * The coordinate layout for geometries, indicating whether a 3rd or 4th z ('Z') + * or measure ('M') coordinate is available. Supported values are `'XY'`, + * `'XYZ'`, `'XYM'`, `'XYZM'`. + * @enum {string} + */ +GVol.geom.GeometryLayout = { + XY: 'XY', + XYZ: 'XYZ', + XYM: 'XYM', + XYZM: 'XYZM' +}; + +goog.provide('GVol.functions'); + +/** + * Always returns true. + * @returns {boGVolean} true. + */ +GVol.functions.TRUE = function() { + return true; +}; + +/** + * Always returns false. + * @returns {boGVolean} false. + */ +GVol.functions.FALSE = function() { + return false; +}; + +goog.provide('GVol.geom.Geometry'); + +goog.require('GVol'); +goog.require('GVol.Object'); +goog.require('GVol.extent'); +goog.require('GVol.functions'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Base class for vector geometries. + * + * To get notified of changes to the geometry, register a listener for the + * generic `change` event on your geometry instance. + * + * @constructor + * @abstract + * @extends {GVol.Object} + * @api + */ +GVol.geom.Geometry = function() { + + GVol.Object.call(this); + + /** + * @private + * @type {GVol.Extent} + */ + this.extent_ = GVol.extent.createEmpty(); + + /** + * @private + * @type {number} + */ + this.extentRevision_ = -1; + + /** + * @protected + * @type {Object.<string, GVol.geom.Geometry>} + */ + this.simplifiedGeometryCache = {}; + + /** + * @protected + * @type {number} + */ + this.simplifiedGeometryMaxMinSquaredTGVolerance = 0; + + /** + * @protected + * @type {number} + */ + this.simplifiedGeometryRevision = 0; + +}; +GVol.inherits(GVol.geom.Geometry, GVol.Object); + + +/** + * Make a complete copy of the geometry. + * @abstract + * @return {!GVol.geom.Geometry} Clone. + */ +GVol.geom.Geometry.prototype.clone = function() {}; + + +/** + * @abstract + * @param {number} x X. + * @param {number} y Y. + * @param {GVol.Coordinate} closestPoint Closest point. + * @param {number} minSquaredDistance Minimum squared distance. + * @return {number} Minimum squared distance. + */ +GVol.geom.Geometry.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) {}; + + +/** + * Return the closest point of the geometry to the passed point as + * {@link GVol.Coordinate coordinate}. + * @param {GVol.Coordinate} point Point. + * @param {GVol.Coordinate=} opt_closestPoint Closest point. + * @return {GVol.Coordinate} Closest point. + * @api + */ +GVol.geom.Geometry.prototype.getClosestPoint = function(point, opt_closestPoint) { + var closestPoint = opt_closestPoint ? opt_closestPoint : [NaN, NaN]; + this.closestPointXY(point[0], point[1], closestPoint, Infinity); + return closestPoint; +}; + + +/** + * Returns true if this geometry includes the specified coordinate. If the + * coordinate is on the boundary of the geometry, returns false. + * @param {GVol.Coordinate} coordinate Coordinate. + * @return {boGVolean} Contains coordinate. + * @api + */ +GVol.geom.Geometry.prototype.intersectsCoordinate = function(coordinate) { + return this.containsXY(coordinate[0], coordinate[1]); +}; + + +/** + * @abstract + * @param {GVol.Extent} extent Extent. + * @protected + * @return {GVol.Extent} extent Extent. + */ +GVol.geom.Geometry.prototype.computeExtent = function(extent) {}; + + +/** + * @param {number} x X. + * @param {number} y Y. + * @return {boGVolean} Contains (x, y). + */ +GVol.geom.Geometry.prototype.containsXY = GVol.functions.FALSE; + + +/** + * Get the extent of the geometry. + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} extent Extent. + * @api + */ +GVol.geom.Geometry.prototype.getExtent = function(opt_extent) { + if (this.extentRevision_ != this.getRevision()) { + this.extent_ = this.computeExtent(this.extent_); + this.extentRevision_ = this.getRevision(); + } + return GVol.extent.returnOrUpdate(this.extent_, opt_extent); +}; + + +/** + * Rotate the geometry around a given coordinate. This modifies the geometry + * coordinates in place. + * @abstract + * @param {number} angle Rotation angle in radians. + * @param {GVol.Coordinate} anchor The rotation center. + * @api + */ +GVol.geom.Geometry.prototype.rotate = function(angle, anchor) {}; + + +/** + * Scale the geometry (with an optional origin). This modifies the geometry + * coordinates in place. + * @abstract + * @param {number} sx The scaling factor in the x-direction. + * @param {number=} opt_sy The scaling factor in the y-direction (defaults to + * sx). + * @param {GVol.Coordinate=} opt_anchor The scale origin (defaults to the center + * of the geometry extent). + * @api + */ +GVol.geom.Geometry.prototype.scale = function(sx, opt_sy, opt_anchor) {}; + + +/** + * Create a simplified version of this geometry. For linestrings, this uses + * the the {@link + * https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm + * Douglas Peucker} algorithm. For pGVolygons, a quantization-based + * simplification is used to preserve topGVology. + * @function + * @param {number} tGVolerance The tGVolerance distance for simplification. + * @return {GVol.geom.Geometry} A new, simplified version of the original + * geometry. + * @api + */ +GVol.geom.Geometry.prototype.simplify = function(tGVolerance) { + return this.getSimplifiedGeometry(tGVolerance * tGVolerance); +}; + + +/** + * Create a simplified version of this geometry using the Douglas Peucker + * algorithm. + * @see https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm + * @abstract + * @param {number} squaredTGVolerance Squared tGVolerance. + * @return {GVol.geom.Geometry} Simplified geometry. + */ +GVol.geom.Geometry.prototype.getSimplifiedGeometry = function(squaredTGVolerance) {}; + + +/** + * Get the type of this geometry. + * @abstract + * @return {GVol.geom.GeometryType} Geometry type. + */ +GVol.geom.Geometry.prototype.getType = function() {}; + + +/** + * Apply a transform function to each coordinate of the geometry. + * The geometry is modified in place. + * If you do not want the geometry modified in place, first `clone()` it and + * then use this function on the clone. + * @abstract + * @param {GVol.TransformFunction} transformFn Transform. + */ +GVol.geom.Geometry.prototype.applyTransform = function(transformFn) {}; + + +/** + * Test if the geometry and the passed extent intersect. + * @abstract + * @param {GVol.Extent} extent Extent. + * @return {boGVolean} `true` if the geometry and the extent intersect. + */ +GVol.geom.Geometry.prototype.intersectsExtent = function(extent) {}; + + +/** + * Translate the geometry. This modifies the geometry coordinates in place. If + * instead you want a new geometry, first `clone()` this geometry. + * @abstract + * @param {number} deltaX Delta X. + * @param {number} deltaY Delta Y. + */ +GVol.geom.Geometry.prototype.translate = function(deltaX, deltaY) {}; + + +/** + * Transform each coordinate of the geometry from one coordinate reference + * system to another. The geometry is modified in place. + * For example, a line will be transformed to a line and a circle to a circle. + * If you do not want the geometry modified in place, first `clone()` it and + * then use this function on the clone. + * + * @param {GVol.ProjectionLike} source The current projection. Can be a + * string identifier or a {@link GVol.proj.Projection} object. + * @param {GVol.ProjectionLike} destination The desired projection. Can be a + * string identifier or a {@link GVol.proj.Projection} object. + * @return {GVol.geom.Geometry} This geometry. Note that original geometry is + * modified in place. + * @api + */ +GVol.geom.Geometry.prototype.transform = function(source, destination) { + this.applyTransform(GVol.proj.getTransform(source, destination)); + return this; +}; + +goog.provide('GVol.geom.flat.transform'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {GVol.Transform} transform Transform. + * @param {Array.<number>=} opt_dest Destination. + * @return {Array.<number>} Transformed coordinates. + */ +GVol.geom.flat.transform.transform2D = function(flatCoordinates, offset, end, stride, transform, opt_dest) { + var dest = opt_dest ? opt_dest : []; + var i = 0; + var j; + for (j = offset; j < end; j += stride) { + var x = flatCoordinates[j]; + var y = flatCoordinates[j + 1]; + dest[i++] = transform[0] * x + transform[2] * y + transform[4]; + dest[i++] = transform[1] * x + transform[3] * y + transform[5]; + } + if (opt_dest && dest.length != i) { + dest.length = i; + } + return dest; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} angle Angle. + * @param {Array.<number>} anchor Rotation anchor point. + * @param {Array.<number>=} opt_dest Destination. + * @return {Array.<number>} Transformed coordinates. + */ +GVol.geom.flat.transform.rotate = function(flatCoordinates, offset, end, stride, angle, anchor, opt_dest) { + var dest = opt_dest ? opt_dest : []; + var cos = Math.cos(angle); + var sin = Math.sin(angle); + var anchorX = anchor[0]; + var anchorY = anchor[1]; + var i = 0; + for (var j = offset; j < end; j += stride) { + var deltaX = flatCoordinates[j] - anchorX; + var deltaY = flatCoordinates[j + 1] - anchorY; + dest[i++] = anchorX + deltaX * cos - deltaY * sin; + dest[i++] = anchorY + deltaX * sin + deltaY * cos; + for (var k = j + 2; k < j + stride; ++k) { + dest[i++] = flatCoordinates[k]; + } + } + if (opt_dest && dest.length != i) { + dest.length = i; + } + return dest; +}; + + +/** + * Scale the coordinates. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} sx Scale factor in the x-direction. + * @param {number} sy Scale factor in the y-direction. + * @param {Array.<number>} anchor Scale anchor point. + * @param {Array.<number>=} opt_dest Destination. + * @return {Array.<number>} Transformed coordinates. + */ +GVol.geom.flat.transform.scale = function(flatCoordinates, offset, end, stride, sx, sy, anchor, opt_dest) { + var dest = opt_dest ? opt_dest : []; + var anchorX = anchor[0]; + var anchorY = anchor[1]; + var i = 0; + for (var j = offset; j < end; j += stride) { + var deltaX = flatCoordinates[j] - anchorX; + var deltaY = flatCoordinates[j + 1] - anchorY; + dest[i++] = anchorX + sx * deltaX; + dest[i++] = anchorY + sy * deltaY; + for (var k = j + 2; k < j + stride; ++k) { + dest[i++] = flatCoordinates[k]; + } + } + if (opt_dest && dest.length != i) { + dest.length = i; + } + return dest; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} deltaX Delta X. + * @param {number} deltaY Delta Y. + * @param {Array.<number>=} opt_dest Destination. + * @return {Array.<number>} Transformed coordinates. + */ +GVol.geom.flat.transform.translate = function(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_dest) { + var dest = opt_dest ? opt_dest : []; + var i = 0; + var j, k; + for (j = offset; j < end; j += stride) { + dest[i++] = flatCoordinates[j] + deltaX; + dest[i++] = flatCoordinates[j + 1] + deltaY; + for (k = j + 2; k < j + stride; ++k) { + dest[i++] = flatCoordinates[k]; + } + } + if (opt_dest && dest.length != i) { + dest.length = i; + } + return dest; +}; + +goog.provide('GVol.geom.SimpleGeometry'); + +goog.require('GVol'); +goog.require('GVol.functions'); +goog.require('GVol.extent'); +goog.require('GVol.geom.Geometry'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.flat.transform'); +goog.require('GVol.obj'); + + +/** + * @classdesc + * Abstract base class; only used for creating subclasses; do not instantiate + * in apps, as cannot be rendered. + * + * @constructor + * @abstract + * @extends {GVol.geom.Geometry} + * @api + */ +GVol.geom.SimpleGeometry = function() { + + GVol.geom.Geometry.call(this); + + /** + * @protected + * @type {GVol.geom.GeometryLayout} + */ + this.layout = GVol.geom.GeometryLayout.XY; + + /** + * @protected + * @type {number} + */ + this.stride = 2; + + /** + * @protected + * @type {Array.<number>} + */ + this.flatCoordinates = null; + +}; +GVol.inherits(GVol.geom.SimpleGeometry, GVol.geom.Geometry); + + +/** + * @param {number} stride Stride. + * @private + * @return {GVol.geom.GeometryLayout} layout Layout. + */ +GVol.geom.SimpleGeometry.getLayoutForStride_ = function(stride) { + var layout; + if (stride == 2) { + layout = GVol.geom.GeometryLayout.XY; + } else if (stride == 3) { + layout = GVol.geom.GeometryLayout.XYZ; + } else if (stride == 4) { + layout = GVol.geom.GeometryLayout.XYZM; + } + return /** @type {GVol.geom.GeometryLayout} */ (layout); +}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @return {number} Stride. + */ +GVol.geom.SimpleGeometry.getStrideForLayout = function(layout) { + var stride; + if (layout == GVol.geom.GeometryLayout.XY) { + stride = 2; + } else if (layout == GVol.geom.GeometryLayout.XYZ || layout == GVol.geom.GeometryLayout.XYM) { + stride = 3; + } else if (layout == GVol.geom.GeometryLayout.XYZM) { + stride = 4; + } + return /** @type {number} */ (stride); +}; + + +/** + * @inheritDoc + */ +GVol.geom.SimpleGeometry.prototype.containsXY = GVol.functions.FALSE; + + +/** + * @inheritDoc + */ +GVol.geom.SimpleGeometry.prototype.computeExtent = function(extent) { + return GVol.extent.createOrUpdateFromFlatCoordinates( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, + extent); +}; + + +/** + * @abstract + * @return {Array} Coordinates. + */ +GVol.geom.SimpleGeometry.prototype.getCoordinates = function() {}; + + +/** + * Return the first coordinate of the geometry. + * @return {GVol.Coordinate} First coordinate. + * @api + */ +GVol.geom.SimpleGeometry.prototype.getFirstCoordinate = function() { + return this.flatCoordinates.slice(0, this.stride); +}; + + +/** + * @return {Array.<number>} Flat coordinates. + */ +GVol.geom.SimpleGeometry.prototype.getFlatCoordinates = function() { + return this.flatCoordinates; +}; + + +/** + * Return the last coordinate of the geometry. + * @return {GVol.Coordinate} Last point. + * @api + */ +GVol.geom.SimpleGeometry.prototype.getLastCoordinate = function() { + return this.flatCoordinates.slice(this.flatCoordinates.length - this.stride); +}; + + +/** + * Return the {@link GVol.geom.GeometryLayout layout} of the geometry. + * @return {GVol.geom.GeometryLayout} Layout. + * @api + */ +GVol.geom.SimpleGeometry.prototype.getLayout = function() { + return this.layout; +}; + + +/** + * @inheritDoc + */ +GVol.geom.SimpleGeometry.prototype.getSimplifiedGeometry = function(squaredTGVolerance) { + if (this.simplifiedGeometryRevision != this.getRevision()) { + GVol.obj.clear(this.simplifiedGeometryCache); + this.simplifiedGeometryMaxMinSquaredTGVolerance = 0; + this.simplifiedGeometryRevision = this.getRevision(); + } + // If squaredTGVolerance is negative or if we know that simplification will not + // have any effect then just return this. + if (squaredTGVolerance < 0 || + (this.simplifiedGeometryMaxMinSquaredTGVolerance !== 0 && + squaredTGVolerance <= this.simplifiedGeometryMaxMinSquaredTGVolerance)) { + return this; + } + var key = squaredTGVolerance.toString(); + if (this.simplifiedGeometryCache.hasOwnProperty(key)) { + return this.simplifiedGeometryCache[key]; + } else { + var simplifiedGeometry = + this.getSimplifiedGeometryInternal(squaredTGVolerance); + var simplifiedFlatCoordinates = simplifiedGeometry.getFlatCoordinates(); + if (simplifiedFlatCoordinates.length < this.flatCoordinates.length) { + this.simplifiedGeometryCache[key] = simplifiedGeometry; + return simplifiedGeometry; + } else { + // Simplification did not actually remove any coordinates. We now know + // that any calls to getSimplifiedGeometry with a squaredTGVolerance less + // than or equal to the current squaredTGVolerance will also not have any + // effect. This allows us to short circuit simplification (saving CPU + // cycles) and prevents the cache of simplified geometries from filling + // up with useless identical copies of this geometry (saving memory). + this.simplifiedGeometryMaxMinSquaredTGVolerance = squaredTGVolerance; + return this; + } + } +}; + + +/** + * @param {number} squaredTGVolerance Squared tGVolerance. + * @return {GVol.geom.SimpleGeometry} Simplified geometry. + * @protected + */ +GVol.geom.SimpleGeometry.prototype.getSimplifiedGeometryInternal = function(squaredTGVolerance) { + return this; +}; + + +/** + * @return {number} Stride. + */ +GVol.geom.SimpleGeometry.prototype.getStride = function() { + return this.stride; +}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @protected + */ +GVol.geom.SimpleGeometry.prototype.setFlatCoordinatesInternal = function(layout, flatCoordinates) { + this.stride = GVol.geom.SimpleGeometry.getStrideForLayout(layout); + this.layout = layout; + this.flatCoordinates = flatCoordinates; +}; + + +/** + * @abstract + * @param {Array} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + */ +GVol.geom.SimpleGeometry.prototype.setCoordinates = function(coordinates, opt_layout) {}; + + +/** + * @param {GVol.geom.GeometryLayout|undefined} layout Layout. + * @param {Array} coordinates Coordinates. + * @param {number} nesting Nesting. + * @protected + */ +GVol.geom.SimpleGeometry.prototype.setLayout = function(layout, coordinates, nesting) { + /** @type {number} */ + var stride; + if (layout) { + stride = GVol.geom.SimpleGeometry.getStrideForLayout(layout); + } else { + var i; + for (i = 0; i < nesting; ++i) { + if (coordinates.length === 0) { + this.layout = GVol.geom.GeometryLayout.XY; + this.stride = 2; + return; + } else { + coordinates = /** @type {Array} */ (coordinates[0]); + } + } + stride = coordinates.length; + layout = GVol.geom.SimpleGeometry.getLayoutForStride_(stride); + } + this.layout = layout; + this.stride = stride; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.SimpleGeometry.prototype.applyTransform = function(transformFn) { + if (this.flatCoordinates) { + transformFn(this.flatCoordinates, this.flatCoordinates, this.stride); + this.changed(); + } +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.SimpleGeometry.prototype.rotate = function(angle, anchor) { + var flatCoordinates = this.getFlatCoordinates(); + if (flatCoordinates) { + var stride = this.getStride(); + GVol.geom.flat.transform.rotate( + flatCoordinates, 0, flatCoordinates.length, + stride, angle, anchor, flatCoordinates); + this.changed(); + } +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.SimpleGeometry.prototype.scale = function(sx, opt_sy, opt_anchor) { + var sy = opt_sy; + if (sy === undefined) { + sy = sx; + } + var anchor = opt_anchor; + if (!anchor) { + anchor = GVol.extent.getCenter(this.getExtent()); + } + var flatCoordinates = this.getFlatCoordinates(); + if (flatCoordinates) { + var stride = this.getStride(); + GVol.geom.flat.transform.scale( + flatCoordinates, 0, flatCoordinates.length, + stride, sx, sy, anchor, flatCoordinates); + this.changed(); + } +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.SimpleGeometry.prototype.translate = function(deltaX, deltaY) { + var flatCoordinates = this.getFlatCoordinates(); + if (flatCoordinates) { + var stride = this.getStride(); + GVol.geom.flat.transform.translate( + flatCoordinates, 0, flatCoordinates.length, stride, + deltaX, deltaY, flatCoordinates); + this.changed(); + } +}; + + +/** + * @param {GVol.geom.SimpleGeometry} simpleGeometry Simple geometry. + * @param {GVol.Transform} transform Transform. + * @param {Array.<number>=} opt_dest Destination. + * @return {Array.<number>} Transformed flat coordinates. + */ +GVol.geom.SimpleGeometry.transform2D = function(simpleGeometry, transform, opt_dest) { + var flatCoordinates = simpleGeometry.getFlatCoordinates(); + if (!flatCoordinates) { + return null; + } else { + var stride = simpleGeometry.getStride(); + return GVol.geom.flat.transform.transform2D( + flatCoordinates, 0, flatCoordinates.length, stride, + transform, opt_dest); + } +}; + +goog.provide('GVol.geom.flat.area'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {number} Area. + */ +GVol.geom.flat.area.linearRing = function(flatCoordinates, offset, end, stride) { + var twiceArea = 0; + var x1 = flatCoordinates[end - stride]; + var y1 = flatCoordinates[end - stride + 1]; + for (; offset < end; offset += stride) { + var x2 = flatCoordinates[offset]; + var y2 = flatCoordinates[offset + 1]; + twiceArea += y1 * x2 - x1 * y2; + x1 = x2; + y1 = y2; + } + return twiceArea / 2; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @return {number} Area. + */ +GVol.geom.flat.area.linearRings = function(flatCoordinates, offset, ends, stride) { + var area = 0; + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + area += GVol.geom.flat.area.linearRing(flatCoordinates, offset, end, stride); + offset = end; + } + return area; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @return {number} Area. + */ +GVol.geom.flat.area.linearRingss = function(flatCoordinates, offset, endss, stride) { + var area = 0; + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + area += + GVol.geom.flat.area.linearRings(flatCoordinates, offset, ends, stride); + offset = ends[ends.length - 1]; + } + return area; +}; + +goog.provide('GVol.geom.flat.closest'); + +goog.require('GVol.math'); + + +/** + * Returns the point on the 2D line segment flatCoordinates[offset1] to + * flatCoordinates[offset2] that is closest to the point (x, y). Extra + * dimensions are linearly interpGVolated. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset1 Offset 1. + * @param {number} offset2 Offset 2. + * @param {number} stride Stride. + * @param {number} x X. + * @param {number} y Y. + * @param {Array.<number>} closestPoint Closest point. + */ +GVol.geom.flat.closest.point = function(flatCoordinates, offset1, offset2, stride, x, y, closestPoint) { + var x1 = flatCoordinates[offset1]; + var y1 = flatCoordinates[offset1 + 1]; + var dx = flatCoordinates[offset2] - x1; + var dy = flatCoordinates[offset2 + 1] - y1; + var i, offset; + if (dx === 0 && dy === 0) { + offset = offset1; + } else { + var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy); + if (t > 1) { + offset = offset2; + } else if (t > 0) { + for (i = 0; i < stride; ++i) { + closestPoint[i] = GVol.math.lerp(flatCoordinates[offset1 + i], + flatCoordinates[offset2 + i], t); + } + closestPoint.length = stride; + return; + } else { + offset = offset1; + } + } + for (i = 0; i < stride; ++i) { + closestPoint[i] = flatCoordinates[offset + i]; + } + closestPoint.length = stride; +}; + + +/** + * Return the squared of the largest distance between any pair of consecutive + * coordinates. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} maxSquaredDelta Max squared delta. + * @return {number} Max squared delta. + */ +GVol.geom.flat.closest.getMaxSquaredDelta = function(flatCoordinates, offset, end, stride, maxSquaredDelta) { + var x1 = flatCoordinates[offset]; + var y1 = flatCoordinates[offset + 1]; + for (offset += stride; offset < end; offset += stride) { + var x2 = flatCoordinates[offset]; + var y2 = flatCoordinates[offset + 1]; + var squaredDelta = GVol.math.squaredDistance(x1, y1, x2, y2); + if (squaredDelta > maxSquaredDelta) { + maxSquaredDelta = squaredDelta; + } + x1 = x2; + y1 = y2; + } + return maxSquaredDelta; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {number} maxSquaredDelta Max squared delta. + * @return {number} Max squared delta. + */ +GVol.geom.flat.closest.getsMaxSquaredDelta = function(flatCoordinates, offset, ends, stride, maxSquaredDelta) { + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + maxSquaredDelta = GVol.geom.flat.closest.getMaxSquaredDelta( + flatCoordinates, offset, end, stride, maxSquaredDelta); + offset = end; + } + return maxSquaredDelta; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @param {number} maxSquaredDelta Max squared delta. + * @return {number} Max squared delta. + */ +GVol.geom.flat.closest.getssMaxSquaredDelta = function(flatCoordinates, offset, endss, stride, maxSquaredDelta) { + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + maxSquaredDelta = GVol.geom.flat.closest.getsMaxSquaredDelta( + flatCoordinates, offset, ends, stride, maxSquaredDelta); + offset = ends[ends.length - 1]; + } + return maxSquaredDelta; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} maxDelta Max delta. + * @param {boGVolean} isRing Is ring. + * @param {number} x X. + * @param {number} y Y. + * @param {Array.<number>} closestPoint Closest point. + * @param {number} minSquaredDistance Minimum squared distance. + * @param {Array.<number>=} opt_tmpPoint Temporary point object. + * @return {number} Minimum squared distance. + */ +GVol.geom.flat.closest.getClosestPoint = function(flatCoordinates, offset, end, + stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, + opt_tmpPoint) { + if (offset == end) { + return minSquaredDistance; + } + var i, squaredDistance; + if (maxDelta === 0) { + // All points are identical, so just test the first point. + squaredDistance = GVol.math.squaredDistance( + x, y, flatCoordinates[offset], flatCoordinates[offset + 1]); + if (squaredDistance < minSquaredDistance) { + for (i = 0; i < stride; ++i) { + closestPoint[i] = flatCoordinates[offset + i]; + } + closestPoint.length = stride; + return squaredDistance; + } else { + return minSquaredDistance; + } + } + var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; + var index = offset + stride; + while (index < end) { + GVol.geom.flat.closest.point( + flatCoordinates, index - stride, index, stride, x, y, tmpPoint); + squaredDistance = GVol.math.squaredDistance(x, y, tmpPoint[0], tmpPoint[1]); + if (squaredDistance < minSquaredDistance) { + minSquaredDistance = squaredDistance; + for (i = 0; i < stride; ++i) { + closestPoint[i] = tmpPoint[i]; + } + closestPoint.length = stride; + index += stride; + } else { + // Skip ahead multiple points, because we know that all the skipped + // points cannot be any closer than the closest point we have found so + // far. We know this because we know how close the current point is, how + // close the closest point we have found so far is, and the maximum + // distance between consecutive points. For example, if we're currently + // at distance 10, the best we've found so far is 3, and that the maximum + // distance between consecutive points is 2, then we'll need to skip at + // least (10 - 3) / 2 == 3 (rounded down) points to have any chance of + // finding a closer point. We use Math.max(..., 1) to ensure that we + // always advance at least one point, to avoid an infinite loop. + index += stride * Math.max( + ((Math.sqrt(squaredDistance) - + Math.sqrt(minSquaredDistance)) / maxDelta) | 0, 1); + } + } + if (isRing) { + // Check the closing segment. + GVol.geom.flat.closest.point( + flatCoordinates, end - stride, offset, stride, x, y, tmpPoint); + squaredDistance = GVol.math.squaredDistance(x, y, tmpPoint[0], tmpPoint[1]); + if (squaredDistance < minSquaredDistance) { + minSquaredDistance = squaredDistance; + for (i = 0; i < stride; ++i) { + closestPoint[i] = tmpPoint[i]; + } + closestPoint.length = stride; + } + } + return minSquaredDistance; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {number} maxDelta Max delta. + * @param {boGVolean} isRing Is ring. + * @param {number} x X. + * @param {number} y Y. + * @param {Array.<number>} closestPoint Closest point. + * @param {number} minSquaredDistance Minimum squared distance. + * @param {Array.<number>=} opt_tmpPoint Temporary point object. + * @return {number} Minimum squared distance. + */ +GVol.geom.flat.closest.getsClosestPoint = function(flatCoordinates, offset, ends, + stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, + opt_tmpPoint) { + var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + minSquaredDistance = GVol.geom.flat.closest.getClosestPoint( + flatCoordinates, offset, end, stride, + maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint); + offset = end; + } + return minSquaredDistance; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @param {number} maxDelta Max delta. + * @param {boGVolean} isRing Is ring. + * @param {number} x X. + * @param {number} y Y. + * @param {Array.<number>} closestPoint Closest point. + * @param {number} minSquaredDistance Minimum squared distance. + * @param {Array.<number>=} opt_tmpPoint Temporary point object. + * @return {number} Minimum squared distance. + */ +GVol.geom.flat.closest.getssClosestPoint = function(flatCoordinates, offset, + endss, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, + opt_tmpPoint) { + var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + minSquaredDistance = GVol.geom.flat.closest.getsClosestPoint( + flatCoordinates, offset, ends, stride, + maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint); + offset = ends[ends.length - 1]; + } + return minSquaredDistance; +}; + +goog.provide('GVol.geom.flat.deflate'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} stride Stride. + * @return {number} offset Offset. + */ +GVol.geom.flat.deflate.coordinate = function(flatCoordinates, offset, coordinate, stride) { + var i, ii; + for (i = 0, ii = coordinate.length; i < ii; ++i) { + flatCoordinates[offset++] = coordinate[i]; + } + return offset; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @param {number} stride Stride. + * @return {number} offset Offset. + */ +GVol.geom.flat.deflate.coordinates = function(flatCoordinates, offset, coordinates, stride) { + var i, ii; + for (i = 0, ii = coordinates.length; i < ii; ++i) { + var coordinate = coordinates[i]; + var j; + for (j = 0; j < stride; ++j) { + flatCoordinates[offset++] = coordinate[j]; + } + } + return offset; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<GVol.Coordinate>>} coordinatess Coordinatess. + * @param {number} stride Stride. + * @param {Array.<number>=} opt_ends Ends. + * @return {Array.<number>} Ends. + */ +GVol.geom.flat.deflate.coordinatess = function(flatCoordinates, offset, coordinatess, stride, opt_ends) { + var ends = opt_ends ? opt_ends : []; + var i = 0; + var j, jj; + for (j = 0, jj = coordinatess.length; j < jj; ++j) { + var end = GVol.geom.flat.deflate.coordinates( + flatCoordinates, offset, coordinatess[j], stride); + ends[i++] = end; + offset = end; + } + ends.length = i; + return ends; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<Array.<GVol.Coordinate>>>} coordinatesss Coordinatesss. + * @param {number} stride Stride. + * @param {Array.<Array.<number>>=} opt_endss Endss. + * @return {Array.<Array.<number>>} Endss. + */ +GVol.geom.flat.deflate.coordinatesss = function(flatCoordinates, offset, coordinatesss, stride, opt_endss) { + var endss = opt_endss ? opt_endss : []; + var i = 0; + var j, jj; + for (j = 0, jj = coordinatesss.length; j < jj; ++j) { + var ends = GVol.geom.flat.deflate.coordinatess( + flatCoordinates, offset, coordinatesss[j], stride, endss[i]); + endss[i++] = ends; + offset = ends[ends.length - 1]; + } + endss.length = i; + return endss; +}; + +goog.provide('GVol.geom.flat.inflate'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {Array.<GVol.Coordinate>=} opt_coordinates Coordinates. + * @return {Array.<GVol.Coordinate>} Coordinates. + */ +GVol.geom.flat.inflate.coordinates = function(flatCoordinates, offset, end, stride, opt_coordinates) { + var coordinates = opt_coordinates !== undefined ? opt_coordinates : []; + var i = 0; + var j; + for (j = offset; j < end; j += stride) { + coordinates[i++] = flatCoordinates.slice(j, j + stride); + } + coordinates.length = i; + return coordinates; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {Array.<Array.<GVol.Coordinate>>=} opt_coordinatess Coordinatess. + * @return {Array.<Array.<GVol.Coordinate>>} Coordinatess. + */ +GVol.geom.flat.inflate.coordinatess = function(flatCoordinates, offset, ends, stride, opt_coordinatess) { + var coordinatess = opt_coordinatess !== undefined ? opt_coordinatess : []; + var i = 0; + var j, jj; + for (j = 0, jj = ends.length; j < jj; ++j) { + var end = ends[j]; + coordinatess[i++] = GVol.geom.flat.inflate.coordinates( + flatCoordinates, offset, end, stride, coordinatess[i]); + offset = end; + } + coordinatess.length = i; + return coordinatess; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @param {Array.<Array.<Array.<GVol.Coordinate>>>=} opt_coordinatesss + * Coordinatesss. + * @return {Array.<Array.<Array.<GVol.Coordinate>>>} Coordinatesss. + */ +GVol.geom.flat.inflate.coordinatesss = function(flatCoordinates, offset, endss, stride, opt_coordinatesss) { + var coordinatesss = opt_coordinatesss !== undefined ? opt_coordinatesss : []; + var i = 0; + var j, jj; + for (j = 0, jj = endss.length; j < jj; ++j) { + var ends = endss[j]; + coordinatesss[i++] = GVol.geom.flat.inflate.coordinatess( + flatCoordinates, offset, ends, stride, coordinatesss[i]); + offset = ends[ends.length - 1]; + } + coordinatesss.length = i; + return coordinatesss; +}; + +// Based on simplify-js https://github.com/mourner/simplify-js +// Copyright (c) 2012, Vladimir Agafonkin +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the fGVollowing conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the fGVollowing disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the fGVollowing disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +goog.provide('GVol.geom.flat.simplify'); + +goog.require('GVol.math'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @param {boGVolean} highQuality Highest quality. + * @param {Array.<number>=} opt_simplifiedFlatCoordinates Simplified flat + * coordinates. + * @return {Array.<number>} Simplified line string. + */ +GVol.geom.flat.simplify.lineString = function(flatCoordinates, offset, end, + stride, squaredTGVolerance, highQuality, opt_simplifiedFlatCoordinates) { + var simplifiedFlatCoordinates = opt_simplifiedFlatCoordinates !== undefined ? + opt_simplifiedFlatCoordinates : []; + if (!highQuality) { + end = GVol.geom.flat.simplify.radialDistance(flatCoordinates, offset, end, + stride, squaredTGVolerance, + simplifiedFlatCoordinates, 0); + flatCoordinates = simplifiedFlatCoordinates; + offset = 0; + stride = 2; + } + simplifiedFlatCoordinates.length = GVol.geom.flat.simplify.douglasPeucker( + flatCoordinates, offset, end, stride, squaredTGVolerance, + simplifiedFlatCoordinates, 0); + return simplifiedFlatCoordinates; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat + * coordinates. + * @param {number} simplifiedOffset Simplified offset. + * @return {number} Simplified offset. + */ +GVol.geom.flat.simplify.douglasPeucker = function(flatCoordinates, offset, end, + stride, squaredTGVolerance, simplifiedFlatCoordinates, simplifiedOffset) { + var n = (end - offset) / stride; + if (n < 3) { + for (; offset < end; offset += stride) { + simplifiedFlatCoordinates[simplifiedOffset++] = + flatCoordinates[offset]; + simplifiedFlatCoordinates[simplifiedOffset++] = + flatCoordinates[offset + 1]; + } + return simplifiedOffset; + } + /** @type {Array.<number>} */ + var markers = new Array(n); + markers[0] = 1; + markers[n - 1] = 1; + /** @type {Array.<number>} */ + var stack = [offset, end - stride]; + var index = 0; + var i; + while (stack.length > 0) { + var last = stack.pop(); + var first = stack.pop(); + var maxSquaredDistance = 0; + var x1 = flatCoordinates[first]; + var y1 = flatCoordinates[first + 1]; + var x2 = flatCoordinates[last]; + var y2 = flatCoordinates[last + 1]; + for (i = first + stride; i < last; i += stride) { + var x = flatCoordinates[i]; + var y = flatCoordinates[i + 1]; + var squaredDistance = GVol.math.squaredSegmentDistance( + x, y, x1, y1, x2, y2); + if (squaredDistance > maxSquaredDistance) { + index = i; + maxSquaredDistance = squaredDistance; + } + } + if (maxSquaredDistance > squaredTGVolerance) { + markers[(index - offset) / stride] = 1; + if (first + stride < index) { + stack.push(first, index); + } + if (index + stride < last) { + stack.push(index, last); + } + } + } + for (i = 0; i < n; ++i) { + if (markers[i]) { + simplifiedFlatCoordinates[simplifiedOffset++] = + flatCoordinates[offset + i * stride]; + simplifiedFlatCoordinates[simplifiedOffset++] = + flatCoordinates[offset + i * stride + 1]; + } + } + return simplifiedOffset; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat + * coordinates. + * @param {number} simplifiedOffset Simplified offset. + * @param {Array.<number>} simplifiedEnds Simplified ends. + * @return {number} Simplified offset. + */ +GVol.geom.flat.simplify.douglasPeuckers = function(flatCoordinates, offset, + ends, stride, squaredTGVolerance, simplifiedFlatCoordinates, + simplifiedOffset, simplifiedEnds) { + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + simplifiedOffset = GVol.geom.flat.simplify.douglasPeucker( + flatCoordinates, offset, end, stride, squaredTGVolerance, + simplifiedFlatCoordinates, simplifiedOffset); + simplifiedEnds.push(simplifiedOffset); + offset = end; + } + return simplifiedOffset; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat + * coordinates. + * @param {number} simplifiedOffset Simplified offset. + * @param {Array.<Array.<number>>} simplifiedEndss Simplified endss. + * @return {number} Simplified offset. + */ +GVol.geom.flat.simplify.douglasPeuckerss = function( + flatCoordinates, offset, endss, stride, squaredTGVolerance, + simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) { + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + var simplifiedEnds = []; + simplifiedOffset = GVol.geom.flat.simplify.douglasPeuckers( + flatCoordinates, offset, ends, stride, squaredTGVolerance, + simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds); + simplifiedEndss.push(simplifiedEnds); + offset = ends[ends.length - 1]; + } + return simplifiedOffset; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat + * coordinates. + * @param {number} simplifiedOffset Simplified offset. + * @return {number} Simplified offset. + */ +GVol.geom.flat.simplify.radialDistance = function(flatCoordinates, offset, end, + stride, squaredTGVolerance, simplifiedFlatCoordinates, simplifiedOffset) { + if (end <= offset + stride) { + // zero or one point, no simplification possible, so copy and return + for (; offset < end; offset += stride) { + simplifiedFlatCoordinates[simplifiedOffset++] = flatCoordinates[offset]; + simplifiedFlatCoordinates[simplifiedOffset++] = + flatCoordinates[offset + 1]; + } + return simplifiedOffset; + } + var x1 = flatCoordinates[offset]; + var y1 = flatCoordinates[offset + 1]; + // copy first point + simplifiedFlatCoordinates[simplifiedOffset++] = x1; + simplifiedFlatCoordinates[simplifiedOffset++] = y1; + var x2 = x1; + var y2 = y1; + for (offset += stride; offset < end; offset += stride) { + x2 = flatCoordinates[offset]; + y2 = flatCoordinates[offset + 1]; + if (GVol.math.squaredDistance(x1, y1, x2, y2) > squaredTGVolerance) { + // copy point at offset + simplifiedFlatCoordinates[simplifiedOffset++] = x2; + simplifiedFlatCoordinates[simplifiedOffset++] = y2; + x1 = x2; + y1 = y2; + } + } + if (x2 != x1 || y2 != y1) { + // copy last point + simplifiedFlatCoordinates[simplifiedOffset++] = x2; + simplifiedFlatCoordinates[simplifiedOffset++] = y2; + } + return simplifiedOffset; +}; + + +/** + * @param {number} value Value. + * @param {number} tGVolerance TGVolerance. + * @return {number} Rounded value. + */ +GVol.geom.flat.simplify.snap = function(value, tGVolerance) { + return tGVolerance * Math.round(value / tGVolerance); +}; + + +/** + * Simplifies a line string using an algorithm designed by Tim Schaub. + * Coordinates are snapped to the nearest value in a virtual grid and + * consecutive duplicate coordinates are discarded. This effectively preserves + * topGVology as the simplification of any subsection of a line string is + * independent of the rest of the line string. This means that, for examples, + * the common edge between two pGVolygons will be simplified to the same line + * string independently in both pGVolygons. This implementation uses a single + * pass over the coordinates and eliminates intermediate cGVollinear points. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} tGVolerance TGVolerance. + * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat + * coordinates. + * @param {number} simplifiedOffset Simplified offset. + * @return {number} Simplified offset. + */ +GVol.geom.flat.simplify.quantize = function(flatCoordinates, offset, end, stride, + tGVolerance, simplifiedFlatCoordinates, simplifiedOffset) { + // do nothing if the line is empty + if (offset == end) { + return simplifiedOffset; + } + // snap the first coordinate (P1) + var x1 = GVol.geom.flat.simplify.snap(flatCoordinates[offset], tGVolerance); + var y1 = GVol.geom.flat.simplify.snap(flatCoordinates[offset + 1], tGVolerance); + offset += stride; + // add the first coordinate to the output + simplifiedFlatCoordinates[simplifiedOffset++] = x1; + simplifiedFlatCoordinates[simplifiedOffset++] = y1; + // find the next coordinate that does not snap to the same value as the first + // coordinate (P2) + var x2, y2; + do { + x2 = GVol.geom.flat.simplify.snap(flatCoordinates[offset], tGVolerance); + y2 = GVol.geom.flat.simplify.snap(flatCoordinates[offset + 1], tGVolerance); + offset += stride; + if (offset == end) { + // all coordinates snap to the same value, the line cGVollapses to a point + // push the last snapped value anyway to ensure that the output contains + // at least two points + // FIXME should we really return at least two points anyway? + simplifiedFlatCoordinates[simplifiedOffset++] = x2; + simplifiedFlatCoordinates[simplifiedOffset++] = y2; + return simplifiedOffset; + } + } while (x2 == x1 && y2 == y1); + while (offset < end) { + var x3, y3; + // snap the next coordinate (P3) + x3 = GVol.geom.flat.simplify.snap(flatCoordinates[offset], tGVolerance); + y3 = GVol.geom.flat.simplify.snap(flatCoordinates[offset + 1], tGVolerance); + offset += stride; + // skip P3 if it is equal to P2 + if (x3 == x2 && y3 == y2) { + continue; + } + // calculate the delta between P1 and P2 + var dx1 = x2 - x1; + var dy1 = y2 - y1; + // calculate the delta between P3 and P1 + var dx2 = x3 - x1; + var dy2 = y3 - y1; + // if P1, P2, and P3 are cGVolinear and P3 is further from P1 than P2 is from + // P1 in the same direction then P2 is on the straight line between P1 and + // P3 + if ((dx1 * dy2 == dy1 * dx2) && + ((dx1 < 0 && dx2 < dx1) || dx1 == dx2 || (dx1 > 0 && dx2 > dx1)) && + ((dy1 < 0 && dy2 < dy1) || dy1 == dy2 || (dy1 > 0 && dy2 > dy1))) { + // discard P2 and set P2 = P3 + x2 = x3; + y2 = y3; + continue; + } + // either P1, P2, and P3 are not cGVolinear, or they are cGVolinear but P3 is + // between P3 and P1 or on the opposite half of the line to P2. add P2, + // and continue with P1 = P2 and P2 = P3 + simplifiedFlatCoordinates[simplifiedOffset++] = x2; + simplifiedFlatCoordinates[simplifiedOffset++] = y2; + x1 = x2; + y1 = y2; + x2 = x3; + y2 = y3; + } + // add the last point (P2) + simplifiedFlatCoordinates[simplifiedOffset++] = x2; + simplifiedFlatCoordinates[simplifiedOffset++] = y2; + return simplifiedOffset; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {number} tGVolerance TGVolerance. + * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat + * coordinates. + * @param {number} simplifiedOffset Simplified offset. + * @param {Array.<number>} simplifiedEnds Simplified ends. + * @return {number} Simplified offset. + */ +GVol.geom.flat.simplify.quantizes = function( + flatCoordinates, offset, ends, stride, + tGVolerance, + simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds) { + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + simplifiedOffset = GVol.geom.flat.simplify.quantize( + flatCoordinates, offset, end, stride, + tGVolerance, + simplifiedFlatCoordinates, simplifiedOffset); + simplifiedEnds.push(simplifiedOffset); + offset = end; + } + return simplifiedOffset; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @param {number} tGVolerance TGVolerance. + * @param {Array.<number>} simplifiedFlatCoordinates Simplified flat + * coordinates. + * @param {number} simplifiedOffset Simplified offset. + * @param {Array.<Array.<number>>} simplifiedEndss Simplified endss. + * @return {number} Simplified offset. + */ +GVol.geom.flat.simplify.quantizess = function( + flatCoordinates, offset, endss, stride, + tGVolerance, + simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) { + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + var simplifiedEnds = []; + simplifiedOffset = GVol.geom.flat.simplify.quantizes( + flatCoordinates, offset, ends, stride, + tGVolerance, + simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds); + simplifiedEndss.push(simplifiedEnds); + offset = ends[ends.length - 1]; + } + return simplifiedOffset; +}; + +goog.provide('GVol.geom.LinearRing'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.area'); +goog.require('GVol.geom.flat.closest'); +goog.require('GVol.geom.flat.deflate'); +goog.require('GVol.geom.flat.inflate'); +goog.require('GVol.geom.flat.simplify'); + + +/** + * @classdesc + * Linear ring geometry. Only used as part of pGVolygon; cannot be rendered + * on its own. + * + * @constructor + * @extends {GVol.geom.SimpleGeometry} + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @api + */ +GVol.geom.LinearRing = function(coordinates, opt_layout) { + + GVol.geom.SimpleGeometry.call(this); + + /** + * @private + * @type {number} + */ + this.maxDelta_ = -1; + + /** + * @private + * @type {number} + */ + this.maxDeltaRevision_ = -1; + + this.setCoordinates(coordinates, opt_layout); + +}; +GVol.inherits(GVol.geom.LinearRing, GVol.geom.SimpleGeometry); + + +/** + * Make a complete copy of the geometry. + * @return {!GVol.geom.LinearRing} Clone. + * @override + * @api + */ +GVol.geom.LinearRing.prototype.clone = function() { + var linearRing = new GVol.geom.LinearRing(null); + linearRing.setFlatCoordinates(this.layout, this.flatCoordinates.slice()); + return linearRing; +}; + + +/** + * @inheritDoc + */ +GVol.geom.LinearRing.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) { + if (minSquaredDistance < + GVol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) { + return minSquaredDistance; + } + if (this.maxDeltaRevision_ != this.getRevision()) { + this.maxDelta_ = Math.sqrt(GVol.geom.flat.closest.getMaxSquaredDelta( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, 0)); + this.maxDeltaRevision_ = this.getRevision(); + } + return GVol.geom.flat.closest.getClosestPoint( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, + this.maxDelta_, true, x, y, closestPoint, minSquaredDistance); +}; + + +/** + * Return the area of the linear ring on projected plane. + * @return {number} Area (on projected plane). + * @api + */ +GVol.geom.LinearRing.prototype.getArea = function() { + return GVol.geom.flat.area.linearRing( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride); +}; + + +/** + * Return the coordinates of the linear ring. + * @return {Array.<GVol.Coordinate>} Coordinates. + * @override + * @api + */ +GVol.geom.LinearRing.prototype.getCoordinates = function() { + return GVol.geom.flat.inflate.coordinates( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride); +}; + + +/** + * @inheritDoc + */ +GVol.geom.LinearRing.prototype.getSimplifiedGeometryInternal = function(squaredTGVolerance) { + var simplifiedFlatCoordinates = []; + simplifiedFlatCoordinates.length = GVol.geom.flat.simplify.douglasPeucker( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, + squaredTGVolerance, simplifiedFlatCoordinates, 0); + var simplifiedLinearRing = new GVol.geom.LinearRing(null); + simplifiedLinearRing.setFlatCoordinates( + GVol.geom.GeometryLayout.XY, simplifiedFlatCoordinates); + return simplifiedLinearRing; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.LinearRing.prototype.getType = function() { + return GVol.geom.GeometryType.LINEAR_RING; +}; + + +/** + * @inheritDoc + */ +GVol.geom.LinearRing.prototype.intersectsExtent = function(extent) {}; + + +/** + * Set the coordinates of the linear ring. + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @override + * @api + */ +GVol.geom.LinearRing.prototype.setCoordinates = function(coordinates, opt_layout) { + if (!coordinates) { + this.setFlatCoordinates(GVol.geom.GeometryLayout.XY, null); + } else { + this.setLayout(opt_layout, coordinates, 1); + if (!this.flatCoordinates) { + this.flatCoordinates = []; + } + this.flatCoordinates.length = GVol.geom.flat.deflate.coordinates( + this.flatCoordinates, 0, coordinates, this.stride); + this.changed(); + } +}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @param {Array.<number>} flatCoordinates Flat coordinates. + */ +GVol.geom.LinearRing.prototype.setFlatCoordinates = function(layout, flatCoordinates) { + this.setFlatCoordinatesInternal(layout, flatCoordinates); + this.changed(); +}; + +goog.provide('GVol.geom.Point'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.deflate'); +goog.require('GVol.math'); + + +/** + * @classdesc + * Point geometry. + * + * @constructor + * @extends {GVol.geom.SimpleGeometry} + * @param {GVol.Coordinate} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @api + */ +GVol.geom.Point = function(coordinates, opt_layout) { + GVol.geom.SimpleGeometry.call(this); + this.setCoordinates(coordinates, opt_layout); +}; +GVol.inherits(GVol.geom.Point, GVol.geom.SimpleGeometry); + + +/** + * Make a complete copy of the geometry. + * @return {!GVol.geom.Point} Clone. + * @override + * @api + */ +GVol.geom.Point.prototype.clone = function() { + var point = new GVol.geom.Point(null); + point.setFlatCoordinates(this.layout, this.flatCoordinates.slice()); + return point; +}; + + +/** + * @inheritDoc + */ +GVol.geom.Point.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) { + var flatCoordinates = this.flatCoordinates; + var squaredDistance = GVol.math.squaredDistance( + x, y, flatCoordinates[0], flatCoordinates[1]); + if (squaredDistance < minSquaredDistance) { + var stride = this.stride; + var i; + for (i = 0; i < stride; ++i) { + closestPoint[i] = flatCoordinates[i]; + } + closestPoint.length = stride; + return squaredDistance; + } else { + return minSquaredDistance; + } +}; + + +/** + * Return the coordinate of the point. + * @return {GVol.Coordinate} Coordinates. + * @override + * @api + */ +GVol.geom.Point.prototype.getCoordinates = function() { + return !this.flatCoordinates ? [] : this.flatCoordinates.slice(); +}; + + +/** + * @inheritDoc + */ +GVol.geom.Point.prototype.computeExtent = function(extent) { + return GVol.extent.createOrUpdateFromCoordinate(this.flatCoordinates, extent); +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.Point.prototype.getType = function() { + return GVol.geom.GeometryType.POINT; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.Point.prototype.intersectsExtent = function(extent) { + return GVol.extent.containsXY(extent, + this.flatCoordinates[0], this.flatCoordinates[1]); +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.Point.prototype.setCoordinates = function(coordinates, opt_layout) { + if (!coordinates) { + this.setFlatCoordinates(GVol.geom.GeometryLayout.XY, null); + } else { + this.setLayout(opt_layout, coordinates, 0); + if (!this.flatCoordinates) { + this.flatCoordinates = []; + } + this.flatCoordinates.length = GVol.geom.flat.deflate.coordinate( + this.flatCoordinates, 0, coordinates, this.stride); + this.changed(); + } +}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @param {Array.<number>} flatCoordinates Flat coordinates. + */ +GVol.geom.Point.prototype.setFlatCoordinates = function(layout, flatCoordinates) { + this.setFlatCoordinatesInternal(layout, flatCoordinates); + this.changed(); +}; + +goog.provide('GVol.geom.flat.contains'); + +goog.require('GVol.extent'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {GVol.Extent} extent Extent. + * @return {boGVolean} Contains extent. + */ +GVol.geom.flat.contains.linearRingContainsExtent = function(flatCoordinates, offset, end, stride, extent) { + var outside = GVol.extent.forEachCorner(extent, + /** + * @param {GVol.Coordinate} coordinate Coordinate. + * @return {boGVolean} Contains (x, y). + */ + function(coordinate) { + return !GVol.geom.flat.contains.linearRingContainsXY(flatCoordinates, + offset, end, stride, coordinate[0], coordinate[1]); + }); + return !outside; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} x X. + * @param {number} y Y. + * @return {boGVolean} Contains (x, y). + */ +GVol.geom.flat.contains.linearRingContainsXY = function(flatCoordinates, offset, end, stride, x, y) { + // http://geomalgorithms.com/a03-_inclusion.html + // Copyright 2000 softSurfer, 2012 Dan Sunday + // This code may be freely used and modified for any purpose + // providing that this copyright notice is included with it. + // SoftSurfer makes no warranty for this code, and cannot be held + // liable for any real or imagined damage resulting from its use. + // Users of this code must verify correctness for their application. + var wn = 0; + var x1 = flatCoordinates[end - stride]; + var y1 = flatCoordinates[end - stride + 1]; + for (; offset < end; offset += stride) { + var x2 = flatCoordinates[offset]; + var y2 = flatCoordinates[offset + 1]; + if (y1 <= y) { + if (y2 > y && ((x2 - x1) * (y - y1)) - ((x - x1) * (y2 - y1)) > 0) { + wn++; + } + } else if (y2 <= y && ((x2 - x1) * (y - y1)) - ((x - x1) * (y2 - y1)) < 0) { + wn--; + } + x1 = x2; + y1 = y2; + } + return wn !== 0; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {number} x X. + * @param {number} y Y. + * @return {boGVolean} Contains (x, y). + */ +GVol.geom.flat.contains.linearRingsContainsXY = function(flatCoordinates, offset, ends, stride, x, y) { + if (ends.length === 0) { + return false; + } + if (!GVol.geom.flat.contains.linearRingContainsXY( + flatCoordinates, offset, ends[0], stride, x, y)) { + return false; + } + var i, ii; + for (i = 1, ii = ends.length; i < ii; ++i) { + if (GVol.geom.flat.contains.linearRingContainsXY( + flatCoordinates, ends[i - 1], ends[i], stride, x, y)) { + return false; + } + } + return true; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @param {number} x X. + * @param {number} y Y. + * @return {boGVolean} Contains (x, y). + */ +GVol.geom.flat.contains.linearRingssContainsXY = function(flatCoordinates, offset, endss, stride, x, y) { + if (endss.length === 0) { + return false; + } + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + if (GVol.geom.flat.contains.linearRingsContainsXY( + flatCoordinates, offset, ends, stride, x, y)) { + return true; + } + offset = ends[ends.length - 1]; + } + return false; +}; + +goog.provide('GVol.geom.flat.interiorpoint'); + +goog.require('GVol.array'); +goog.require('GVol.geom.flat.contains'); + + +/** + * Calculates a point that is likely to lie in the interior of the linear rings. + * Inspired by JTS's com.vividsGVolutions.jts.geom.Geometry#getInteriorPoint. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {Array.<number>} flatCenters Flat centers. + * @param {number} flatCentersOffset Flat center offset. + * @param {Array.<number>=} opt_dest Destination. + * @return {Array.<number>} Destination. + */ +GVol.geom.flat.interiorpoint.linearRings = function(flatCoordinates, offset, + ends, stride, flatCenters, flatCentersOffset, opt_dest) { + var i, ii, x, x1, x2, y1, y2; + var y = flatCenters[flatCentersOffset + 1]; + /** @type {Array.<number>} */ + var intersections = []; + // Calculate intersections with the horizontal line + var end = ends[0]; + x1 = flatCoordinates[end - stride]; + y1 = flatCoordinates[end - stride + 1]; + for (i = offset; i < end; i += stride) { + x2 = flatCoordinates[i]; + y2 = flatCoordinates[i + 1]; + if ((y <= y1 && y2 <= y) || (y1 <= y && y <= y2)) { + x = (y - y1) / (y2 - y1) * (x2 - x1) + x1; + intersections.push(x); + } + x1 = x2; + y1 = y2; + } + // Find the longest segment of the horizontal line that has its center point + // inside the linear ring. + var pointX = NaN; + var maxSegmentLength = -Infinity; + intersections.sort(GVol.array.numberSafeCompareFunction); + x1 = intersections[0]; + for (i = 1, ii = intersections.length; i < ii; ++i) { + x2 = intersections[i]; + var segmentLength = Math.abs(x2 - x1); + if (segmentLength > maxSegmentLength) { + x = (x1 + x2) / 2; + if (GVol.geom.flat.contains.linearRingsContainsXY( + flatCoordinates, offset, ends, stride, x, y)) { + pointX = x; + maxSegmentLength = segmentLength; + } + } + x1 = x2; + } + if (isNaN(pointX)) { + // There is no horizontal line that has its center point inside the linear + // ring. Use the center of the the linear ring's extent. + pointX = flatCenters[flatCentersOffset]; + } + if (opt_dest) { + opt_dest.push(pointX, y); + return opt_dest; + } else { + return [pointX, y]; + } +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @param {Array.<number>} flatCenters Flat centers. + * @return {Array.<number>} Interior points. + */ +GVol.geom.flat.interiorpoint.linearRingss = function(flatCoordinates, offset, endss, stride, flatCenters) { + var interiorPoints = []; + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + interiorPoints = GVol.geom.flat.interiorpoint.linearRings(flatCoordinates, + offset, ends, stride, flatCenters, 2 * i, interiorPoints); + offset = ends[ends.length - 1]; + } + return interiorPoints; +}; + +goog.provide('GVol.geom.flat.segments'); + + +/** + * This function calls `callback` for each segment of the flat coordinates + * array. If the callback returns a truthy value the function returns that + * value immediately. Otherwise the function returns `false`. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {function(this: S, GVol.Coordinate, GVol.Coordinate): T} callback Function + * called for each segment. + * @param {S=} opt_this The object to be used as the value of 'this' + * within callback. + * @return {T|boGVolean} Value. + * @template T,S + */ +GVol.geom.flat.segments.forEach = function(flatCoordinates, offset, end, stride, callback, opt_this) { + var point1 = [flatCoordinates[offset], flatCoordinates[offset + 1]]; + var point2 = []; + var ret; + for (; (offset + stride) < end; offset += stride) { + point2[0] = flatCoordinates[offset + stride]; + point2[1] = flatCoordinates[offset + stride + 1]; + ret = callback.call(opt_this, point1, point2); + if (ret) { + return ret; + } + point1[0] = point2[0]; + point1[1] = point2[1]; + } + return false; +}; + +goog.provide('GVol.geom.flat.intersectsextent'); + +goog.require('GVol.extent'); +goog.require('GVol.geom.flat.contains'); +goog.require('GVol.geom.flat.segments'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {GVol.Extent} extent Extent. + * @return {boGVolean} True if the geometry and the extent intersect. + */ +GVol.geom.flat.intersectsextent.lineString = function(flatCoordinates, offset, end, stride, extent) { + var coordinatesExtent = GVol.extent.extendFlatCoordinates( + GVol.extent.createEmpty(), flatCoordinates, offset, end, stride); + if (!GVol.extent.intersects(extent, coordinatesExtent)) { + return false; + } + if (GVol.extent.containsExtent(extent, coordinatesExtent)) { + return true; + } + if (coordinatesExtent[0] >= extent[0] && + coordinatesExtent[2] <= extent[2]) { + return true; + } + if (coordinatesExtent[1] >= extent[1] && + coordinatesExtent[3] <= extent[3]) { + return true; + } + return GVol.geom.flat.segments.forEach(flatCoordinates, offset, end, stride, + /** + * @param {GVol.Coordinate} point1 Start point. + * @param {GVol.Coordinate} point2 End point. + * @return {boGVolean} `true` if the segment and the extent intersect, + * `false` otherwise. + */ + function(point1, point2) { + return GVol.extent.intersectsSegment(extent, point1, point2); + }); +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {GVol.Extent} extent Extent. + * @return {boGVolean} True if the geometry and the extent intersect. + */ +GVol.geom.flat.intersectsextent.lineStrings = function(flatCoordinates, offset, ends, stride, extent) { + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + if (GVol.geom.flat.intersectsextent.lineString( + flatCoordinates, offset, ends[i], stride, extent)) { + return true; + } + offset = ends[i]; + } + return false; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {GVol.Extent} extent Extent. + * @return {boGVolean} True if the geometry and the extent intersect. + */ +GVol.geom.flat.intersectsextent.linearRing = function(flatCoordinates, offset, end, stride, extent) { + if (GVol.geom.flat.intersectsextent.lineString( + flatCoordinates, offset, end, stride, extent)) { + return true; + } + if (GVol.geom.flat.contains.linearRingContainsXY( + flatCoordinates, offset, end, stride, extent[0], extent[1])) { + return true; + } + if (GVol.geom.flat.contains.linearRingContainsXY( + flatCoordinates, offset, end, stride, extent[0], extent[3])) { + return true; + } + if (GVol.geom.flat.contains.linearRingContainsXY( + flatCoordinates, offset, end, stride, extent[2], extent[1])) { + return true; + } + if (GVol.geom.flat.contains.linearRingContainsXY( + flatCoordinates, offset, end, stride, extent[2], extent[3])) { + return true; + } + return false; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {GVol.Extent} extent Extent. + * @return {boGVolean} True if the geometry and the extent intersect. + */ +GVol.geom.flat.intersectsextent.linearRings = function(flatCoordinates, offset, ends, stride, extent) { + if (!GVol.geom.flat.intersectsextent.linearRing( + flatCoordinates, offset, ends[0], stride, extent)) { + return false; + } + if (ends.length === 1) { + return true; + } + var i, ii; + for (i = 1, ii = ends.length; i < ii; ++i) { + if (GVol.geom.flat.contains.linearRingContainsExtent( + flatCoordinates, ends[i - 1], ends[i], stride, extent)) { + return false; + } + } + return true; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @param {GVol.Extent} extent Extent. + * @return {boGVolean} True if the geometry and the extent intersect. + */ +GVol.geom.flat.intersectsextent.linearRingss = function(flatCoordinates, offset, endss, stride, extent) { + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + if (GVol.geom.flat.intersectsextent.linearRings( + flatCoordinates, offset, ends, stride, extent)) { + return true; + } + offset = ends[ends.length - 1]; + } + return false; +}; + +goog.provide('GVol.geom.flat.reverse'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + */ +GVol.geom.flat.reverse.coordinates = function(flatCoordinates, offset, end, stride) { + while (offset < end - stride) { + var i; + for (i = 0; i < stride; ++i) { + var tmp = flatCoordinates[offset + i]; + flatCoordinates[offset + i] = flatCoordinates[end - stride + i]; + flatCoordinates[end - stride + i] = tmp; + } + offset += stride; + end -= stride; + } +}; + +goog.provide('GVol.geom.flat.orient'); + +goog.require('GVol.geom.flat.reverse'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {boGVolean} Is clockwise. + */ +GVol.geom.flat.orient.linearRingIsClockwise = function(flatCoordinates, offset, end, stride) { + // http://tinyurl.com/clockwise-method + // https://github.com/OSGeo/gdal/blob/trunk/gdal/ogr/ogrlinearring.cpp + var edge = 0; + var x1 = flatCoordinates[end - stride]; + var y1 = flatCoordinates[end - stride + 1]; + for (; offset < end; offset += stride) { + var x2 = flatCoordinates[offset]; + var y2 = flatCoordinates[offset + 1]; + edge += (x2 - x1) * (y2 + y1); + x1 = x2; + y1 = y2; + } + return edge > 0; +}; + + +/** + * Determines if linear rings are oriented. By default, left-hand orientation + * is tested (first ring must be clockwise, remaining rings counter-clockwise). + * To test for right-hand orientation, use the `opt_right` argument. + * + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Array of end indexes. + * @param {number} stride Stride. + * @param {boGVolean=} opt_right Test for right-hand orientation + * (counter-clockwise exterior ring and clockwise interior rings). + * @return {boGVolean} Rings are correctly oriented. + */ +GVol.geom.flat.orient.linearRingsAreOriented = function(flatCoordinates, offset, ends, stride, opt_right) { + var right = opt_right !== undefined ? opt_right : false; + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + var isClockwise = GVol.geom.flat.orient.linearRingIsClockwise( + flatCoordinates, offset, end, stride); + if (i === 0) { + if ((right && isClockwise) || (!right && !isClockwise)) { + return false; + } + } else { + if ((right && !isClockwise) || (!right && isClockwise)) { + return false; + } + } + offset = end; + } + return true; +}; + + +/** + * Determines if linear rings are oriented. By default, left-hand orientation + * is tested (first ring must be clockwise, remaining rings counter-clockwise). + * To test for right-hand orientation, use the `opt_right` argument. + * + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Array of array of end indexes. + * @param {number} stride Stride. + * @param {boGVolean=} opt_right Test for right-hand orientation + * (counter-clockwise exterior ring and clockwise interior rings). + * @return {boGVolean} Rings are correctly oriented. + */ +GVol.geom.flat.orient.linearRingssAreOriented = function(flatCoordinates, offset, endss, stride, opt_right) { + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + if (!GVol.geom.flat.orient.linearRingsAreOriented( + flatCoordinates, offset, endss[i], stride, opt_right)) { + return false; + } + } + return true; +}; + + +/** + * Orient coordinates in a flat array of linear rings. By default, rings + * are oriented fGVollowing the left-hand rule (clockwise for exterior and + * counter-clockwise for interior rings). To orient according to the + * right-hand rule, use the `opt_right` argument. + * + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {boGVolean=} opt_right FGVollow the right-hand rule for orientation. + * @return {number} End. + */ +GVol.geom.flat.orient.orientLinearRings = function(flatCoordinates, offset, ends, stride, opt_right) { + var right = opt_right !== undefined ? opt_right : false; + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + var isClockwise = GVol.geom.flat.orient.linearRingIsClockwise( + flatCoordinates, offset, end, stride); + var reverse = i === 0 ? + (right && isClockwise) || (!right && !isClockwise) : + (right && !isClockwise) || (!right && isClockwise); + if (reverse) { + GVol.geom.flat.reverse.coordinates(flatCoordinates, offset, end, stride); + } + offset = end; + } + return offset; +}; + + +/** + * Orient coordinates in a flat array of linear rings. By default, rings + * are oriented fGVollowing the left-hand rule (clockwise for exterior and + * counter-clockwise for interior rings). To orient according to the + * right-hand rule, use the `opt_right` argument. + * + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Array of array of end indexes. + * @param {number} stride Stride. + * @param {boGVolean=} opt_right FGVollow the right-hand rule for orientation. + * @return {number} End. + */ +GVol.geom.flat.orient.orientLinearRingss = function(flatCoordinates, offset, endss, stride, opt_right) { + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + offset = GVol.geom.flat.orient.orientLinearRings( + flatCoordinates, offset, endss[i], stride, opt_right); + } + return offset; +}; + +goog.provide('GVol.geom.PGVolygon'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.LinearRing'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.area'); +goog.require('GVol.geom.flat.closest'); +goog.require('GVol.geom.flat.contains'); +goog.require('GVol.geom.flat.deflate'); +goog.require('GVol.geom.flat.inflate'); +goog.require('GVol.geom.flat.interiorpoint'); +goog.require('GVol.geom.flat.intersectsextent'); +goog.require('GVol.geom.flat.orient'); +goog.require('GVol.geom.flat.simplify'); +goog.require('GVol.math'); + + +/** + * @classdesc + * PGVolygon geometry. + * + * @constructor + * @extends {GVol.geom.SimpleGeometry} + * @param {Array.<Array.<GVol.Coordinate>>} coordinates Array of linear + * rings that define the pGVolygon. The first linear ring of the array + * defines the outer-boundary or surface of the pGVolygon. Each subsequent + * linear ring defines a hGVole in the surface of the pGVolygon. A linear ring + * is an array of vertices' coordinates where the first coordinate and the + * last are equivalent. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @api + */ +GVol.geom.PGVolygon = function(coordinates, opt_layout) { + + GVol.geom.SimpleGeometry.call(this); + + /** + * @type {Array.<number>} + * @private + */ + this.ends_ = []; + + /** + * @private + * @type {number} + */ + this.flatInteriorPointRevision_ = -1; + + /** + * @private + * @type {GVol.Coordinate} + */ + this.flatInteriorPoint_ = null; + + /** + * @private + * @type {number} + */ + this.maxDelta_ = -1; + + /** + * @private + * @type {number} + */ + this.maxDeltaRevision_ = -1; + + /** + * @private + * @type {number} + */ + this.orientedRevision_ = -1; + + /** + * @private + * @type {Array.<number>} + */ + this.orientedFlatCoordinates_ = null; + + this.setCoordinates(coordinates, opt_layout); + +}; +GVol.inherits(GVol.geom.PGVolygon, GVol.geom.SimpleGeometry); + + +/** + * Append the passed linear ring to this pGVolygon. + * @param {GVol.geom.LinearRing} linearRing Linear ring. + * @api + */ +GVol.geom.PGVolygon.prototype.appendLinearRing = function(linearRing) { + if (!this.flatCoordinates) { + this.flatCoordinates = linearRing.getFlatCoordinates().slice(); + } else { + GVol.array.extend(this.flatCoordinates, linearRing.getFlatCoordinates()); + } + this.ends_.push(this.flatCoordinates.length); + this.changed(); +}; + + +/** + * Make a complete copy of the geometry. + * @return {!GVol.geom.PGVolygon} Clone. + * @override + * @api + */ +GVol.geom.PGVolygon.prototype.clone = function() { + var pGVolygon = new GVol.geom.PGVolygon(null); + pGVolygon.setFlatCoordinates( + this.layout, this.flatCoordinates.slice(), this.ends_.slice()); + return pGVolygon; +}; + + +/** + * @inheritDoc + */ +GVol.geom.PGVolygon.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) { + if (minSquaredDistance < + GVol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) { + return minSquaredDistance; + } + if (this.maxDeltaRevision_ != this.getRevision()) { + this.maxDelta_ = Math.sqrt(GVol.geom.flat.closest.getsMaxSquaredDelta( + this.flatCoordinates, 0, this.ends_, this.stride, 0)); + this.maxDeltaRevision_ = this.getRevision(); + } + return GVol.geom.flat.closest.getsClosestPoint( + this.flatCoordinates, 0, this.ends_, this.stride, + this.maxDelta_, true, x, y, closestPoint, minSquaredDistance); +}; + + +/** + * @inheritDoc + */ +GVol.geom.PGVolygon.prototype.containsXY = function(x, y) { + return GVol.geom.flat.contains.linearRingsContainsXY( + this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride, x, y); +}; + + +/** + * Return the area of the pGVolygon on projected plane. + * @return {number} Area (on projected plane). + * @api + */ +GVol.geom.PGVolygon.prototype.getArea = function() { + return GVol.geom.flat.area.linearRings( + this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride); +}; + + +/** + * Get the coordinate array for this geometry. This array has the structure + * of a GeoJSON coordinate array for pGVolygons. + * + * @param {boGVolean=} opt_right Orient coordinates according to the right-hand + * rule (counter-clockwise for exterior and clockwise for interior rings). + * If `false`, coordinates will be oriented according to the left-hand rule + * (clockwise for exterior and counter-clockwise for interior rings). + * By default, coordinate orientation will depend on how the geometry was + * constructed. + * @return {Array.<Array.<GVol.Coordinate>>} Coordinates. + * @override + * @api + */ +GVol.geom.PGVolygon.prototype.getCoordinates = function(opt_right) { + var flatCoordinates; + if (opt_right !== undefined) { + flatCoordinates = this.getOrientedFlatCoordinates().slice(); + GVol.geom.flat.orient.orientLinearRings( + flatCoordinates, 0, this.ends_, this.stride, opt_right); + } else { + flatCoordinates = this.flatCoordinates; + } + + return GVol.geom.flat.inflate.coordinatess( + flatCoordinates, 0, this.ends_, this.stride); +}; + + +/** + * @return {Array.<number>} Ends. + */ +GVol.geom.PGVolygon.prototype.getEnds = function() { + return this.ends_; +}; + + +/** + * @return {Array.<number>} Interior point. + */ +GVol.geom.PGVolygon.prototype.getFlatInteriorPoint = function() { + if (this.flatInteriorPointRevision_ != this.getRevision()) { + var flatCenter = GVol.extent.getCenter(this.getExtent()); + this.flatInteriorPoint_ = GVol.geom.flat.interiorpoint.linearRings( + this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride, + flatCenter, 0); + this.flatInteriorPointRevision_ = this.getRevision(); + } + return this.flatInteriorPoint_; +}; + + +/** + * Return an interior point of the pGVolygon. + * @return {GVol.geom.Point} Interior point. + * @api + */ +GVol.geom.PGVolygon.prototype.getInteriorPoint = function() { + return new GVol.geom.Point(this.getFlatInteriorPoint()); +}; + + +/** + * Return the number of rings of the pGVolygon, this includes the exterior + * ring and any interior rings. + * + * @return {number} Number of rings. + * @api + */ +GVol.geom.PGVolygon.prototype.getLinearRingCount = function() { + return this.ends_.length; +}; + + +/** + * Return the Nth linear ring of the pGVolygon geometry. Return `null` if the + * given index is out of range. + * The exterior linear ring is available at index `0` and the interior rings + * at index `1` and beyond. + * + * @param {number} index Index. + * @return {GVol.geom.LinearRing} Linear ring. + * @api + */ +GVol.geom.PGVolygon.prototype.getLinearRing = function(index) { + if (index < 0 || this.ends_.length <= index) { + return null; + } + var linearRing = new GVol.geom.LinearRing(null); + linearRing.setFlatCoordinates(this.layout, this.flatCoordinates.slice( + index === 0 ? 0 : this.ends_[index - 1], this.ends_[index])); + return linearRing; +}; + + +/** + * Return the linear rings of the pGVolygon. + * @return {Array.<GVol.geom.LinearRing>} Linear rings. + * @api + */ +GVol.geom.PGVolygon.prototype.getLinearRings = function() { + var layout = this.layout; + var flatCoordinates = this.flatCoordinates; + var ends = this.ends_; + var linearRings = []; + var offset = 0; + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + var linearRing = new GVol.geom.LinearRing(null); + linearRing.setFlatCoordinates(layout, flatCoordinates.slice(offset, end)); + linearRings.push(linearRing); + offset = end; + } + return linearRings; +}; + + +/** + * @return {Array.<number>} Oriented flat coordinates. + */ +GVol.geom.PGVolygon.prototype.getOrientedFlatCoordinates = function() { + if (this.orientedRevision_ != this.getRevision()) { + var flatCoordinates = this.flatCoordinates; + if (GVol.geom.flat.orient.linearRingsAreOriented( + flatCoordinates, 0, this.ends_, this.stride)) { + this.orientedFlatCoordinates_ = flatCoordinates; + } else { + this.orientedFlatCoordinates_ = flatCoordinates.slice(); + this.orientedFlatCoordinates_.length = + GVol.geom.flat.orient.orientLinearRings( + this.orientedFlatCoordinates_, 0, this.ends_, this.stride); + } + this.orientedRevision_ = this.getRevision(); + } + return this.orientedFlatCoordinates_; +}; + + +/** + * @inheritDoc + */ +GVol.geom.PGVolygon.prototype.getSimplifiedGeometryInternal = function(squaredTGVolerance) { + var simplifiedFlatCoordinates = []; + var simplifiedEnds = []; + simplifiedFlatCoordinates.length = GVol.geom.flat.simplify.quantizes( + this.flatCoordinates, 0, this.ends_, this.stride, + Math.sqrt(squaredTGVolerance), + simplifiedFlatCoordinates, 0, simplifiedEnds); + var simplifiedPGVolygon = new GVol.geom.PGVolygon(null); + simplifiedPGVolygon.setFlatCoordinates( + GVol.geom.GeometryLayout.XY, simplifiedFlatCoordinates, simplifiedEnds); + return simplifiedPGVolygon; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.PGVolygon.prototype.getType = function() { + return GVol.geom.GeometryType.POLYGON; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.PGVolygon.prototype.intersectsExtent = function(extent) { + return GVol.geom.flat.intersectsextent.linearRings( + this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride, extent); +}; + + +/** + * Set the coordinates of the pGVolygon. + * @param {Array.<Array.<GVol.Coordinate>>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @override + * @api + */ +GVol.geom.PGVolygon.prototype.setCoordinates = function(coordinates, opt_layout) { + if (!coordinates) { + this.setFlatCoordinates(GVol.geom.GeometryLayout.XY, null, this.ends_); + } else { + this.setLayout(opt_layout, coordinates, 2); + if (!this.flatCoordinates) { + this.flatCoordinates = []; + } + var ends = GVol.geom.flat.deflate.coordinatess( + this.flatCoordinates, 0, coordinates, this.stride, this.ends_); + this.flatCoordinates.length = ends.length === 0 ? 0 : ends[ends.length - 1]; + this.changed(); + } +}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {Array.<number>} ends Ends. + */ +GVol.geom.PGVolygon.prototype.setFlatCoordinates = function(layout, flatCoordinates, ends) { + this.setFlatCoordinatesInternal(layout, flatCoordinates); + this.ends_ = ends; + this.changed(); +}; + + +/** + * Create an approximation of a circle on the surface of a sphere. + * @param {GVol.Sphere} sphere The sphere. + * @param {GVol.Coordinate} center Center (`[lon, lat]` in degrees). + * @param {number} radius The great-circle distance from the center to + * the pGVolygon vertices. + * @param {number=} opt_n Optional number of vertices for the resulting + * pGVolygon. Default is `32`. + * @return {GVol.geom.PGVolygon} The "circular" pGVolygon. + * @api + */ +GVol.geom.PGVolygon.circular = function(sphere, center, radius, opt_n) { + var n = opt_n ? opt_n : 32; + /** @type {Array.<number>} */ + var flatCoordinates = []; + var i; + for (i = 0; i < n; ++i) { + GVol.array.extend( + flatCoordinates, sphere.offset(center, radius, 2 * Math.PI * i / n)); + } + flatCoordinates.push(flatCoordinates[0], flatCoordinates[1]); + var pGVolygon = new GVol.geom.PGVolygon(null); + pGVolygon.setFlatCoordinates( + GVol.geom.GeometryLayout.XY, flatCoordinates, [flatCoordinates.length]); + return pGVolygon; +}; + + +/** + * Create a pGVolygon from an extent. The layout used is `XY`. + * @param {GVol.Extent} extent The extent. + * @return {GVol.geom.PGVolygon} The pGVolygon. + * @api + */ +GVol.geom.PGVolygon.fromExtent = function(extent) { + var minX = extent[0]; + var minY = extent[1]; + var maxX = extent[2]; + var maxY = extent[3]; + var flatCoordinates = + [minX, minY, minX, maxY, maxX, maxY, maxX, minY, minX, minY]; + var pGVolygon = new GVol.geom.PGVolygon(null); + pGVolygon.setFlatCoordinates( + GVol.geom.GeometryLayout.XY, flatCoordinates, [flatCoordinates.length]); + return pGVolygon; +}; + + +/** + * Create a regular pGVolygon from a circle. + * @param {GVol.geom.Circle} circle Circle geometry. + * @param {number=} opt_sides Number of sides of the pGVolygon. Default is 32. + * @param {number=} opt_angle Start angle for the first vertex of the pGVolygon in + * radians. Default is 0. + * @return {GVol.geom.PGVolygon} PGVolygon geometry. + * @api + */ +GVol.geom.PGVolygon.fromCircle = function(circle, opt_sides, opt_angle) { + var sides = opt_sides ? opt_sides : 32; + var stride = circle.getStride(); + var layout = circle.getLayout(); + var pGVolygon = new GVol.geom.PGVolygon(null, layout); + var arrayLength = stride * (sides + 1); + var flatCoordinates = new Array(arrayLength); + for (var i = 0; i < arrayLength; i++) { + flatCoordinates[i] = 0; + } + var ends = [flatCoordinates.length]; + pGVolygon.setFlatCoordinates(layout, flatCoordinates, ends); + GVol.geom.PGVolygon.makeRegular( + pGVolygon, circle.getCenter(), circle.getRadius(), opt_angle); + return pGVolygon; +}; + + +/** + * Modify the coordinates of a pGVolygon to make it a regular pGVolygon. + * @param {GVol.geom.PGVolygon} pGVolygon PGVolygon geometry. + * @param {GVol.Coordinate} center Center of the regular pGVolygon. + * @param {number} radius Radius of the regular pGVolygon. + * @param {number=} opt_angle Start angle for the first vertex of the pGVolygon in + * radians. Default is 0. + */ +GVol.geom.PGVolygon.makeRegular = function(pGVolygon, center, radius, opt_angle) { + var flatCoordinates = pGVolygon.getFlatCoordinates(); + var layout = pGVolygon.getLayout(); + var stride = pGVolygon.getStride(); + var ends = pGVolygon.getEnds(); + var sides = flatCoordinates.length / stride - 1; + var startAngle = opt_angle ? opt_angle : 0; + var angle, offset; + for (var i = 0; i <= sides; ++i) { + offset = i * stride; + angle = startAngle + (GVol.math.modulo(i, sides) * 2 * Math.PI / sides); + flatCoordinates[offset] = center[0] + (radius * Math.cos(angle)); + flatCoordinates[offset + 1] = center[1] + (radius * Math.sin(angle)); + } + pGVolygon.setFlatCoordinates(layout, flatCoordinates, ends); +}; + +goog.provide('GVol.View'); + +goog.require('GVol'); +goog.require('GVol.CenterConstraint'); +goog.require('GVol.Object'); +goog.require('GVol.ResGVolutionConstraint'); +goog.require('GVol.RotationConstraint'); +goog.require('GVol.ViewHint'); +goog.require('GVol.ViewProperty'); +goog.require('GVol.array'); +goog.require('GVol.asserts'); +goog.require('GVol.coordinate'); +goog.require('GVol.easing'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.math'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); +goog.require('GVol.proj.Units'); + + +/** + * @classdesc + * An GVol.View object represents a simple 2D view of the map. + * + * This is the object to act upon to change the center, resGVolution, + * and rotation of the map. + * + * ### The view states + * + * An `GVol.View` is determined by three states: `center`, `resGVolution`, + * and `rotation`. Each state has a corresponding getter and setter, e.g. + * `getCenter` and `setCenter` for the `center` state. + * + * An `GVol.View` has a `projection`. The projection determines the + * coordinate system of the center, and its units determine the units of the + * resGVolution (projection units per pixel). The default projection is + * Spherical Mercator (EPSG:3857). + * + * ### The constraints + * + * `setCenter`, `setResGVolution` and `setRotation` can be used to change the + * states of the view. Any value can be passed to the setters. And the value + * that is passed to a setter will effectively be the value set in the view, + * and returned by the corresponding getter. + * + * But an `GVol.View` object also has a *resGVolution constraint*, a + * *rotation constraint* and a *center constraint*. + * + * As said above, no constraints are applied when the setters are used to set + * new states for the view. Applying constraints is done explicitly through + * the use of the `constrain*` functions (`constrainResGVolution` and + * `constrainRotation` and `constrainCenter`). + * + * The main users of the constraints are the interactions and the + * contrGVols. For example, double-clicking on the map changes the view to + * the "next" resGVolution. And releasing the fingers after pinch-zooming + * snaps to the closest resGVolution (with an animation). + * + * The *resGVolution constraint* snaps to specific resGVolutions. It is + * determined by the fGVollowing options: `resGVolutions`, `maxResGVolution`, + * `maxZoom`, and `zoomFactor`. If `resGVolutions` is set, the other three + * options are ignored. See documentation for each option for more + * information. + * + * The *rotation constraint* snaps to specific angles. It is determined + * by the fGVollowing options: `enableRotation` and `constrainRotation`. + * By default the rotation value is snapped to zero when approaching the + * horizontal. + * + * The *center constraint* is determined by the `extent` option. By + * default the center is not constrained at all. + * + * @constructor + * @extends {GVol.Object} + * @param {GVolx.ViewOptions=} opt_options View options. + * @api + */ +GVol.View = function(opt_options) { + GVol.Object.call(this); + + var options = GVol.obj.assign({}, opt_options); + + /** + * @private + * @type {Array.<number>} + */ + this.hints_ = [0, 0]; + + /** + * @private + * @type {Array.<Array.<GVol.ViewAnimation>>} + */ + this.animations_ = []; + + /** + * @private + * @type {number|undefined} + */ + this.updateAnimationKey_; + + this.updateAnimations_ = this.updateAnimations_.bind(this); + + /** + * @private + * @const + * @type {GVol.proj.Projection} + */ + this.projection_ = GVol.proj.createProjection(options.projection, 'EPSG:3857'); + + this.applyOptions_(options); +}; +GVol.inherits(GVol.View, GVol.Object); + + +/** + * Set up the view with the given options. + * @param {GVolx.ViewOptions} options View options. + */ +GVol.View.prototype.applyOptions_ = function(options) { + + /** + * @type {Object.<string, *>} + */ + var properties = {}; + properties[GVol.ViewProperty.CENTER] = options.center !== undefined ? + options.center : null; + + var resGVolutionConstraintInfo = GVol.View.createResGVolutionConstraint_( + options); + + /** + * @private + * @type {number} + */ + this.maxResGVolution_ = resGVolutionConstraintInfo.maxResGVolution; + + /** + * @private + * @type {number} + */ + this.minResGVolution_ = resGVolutionConstraintInfo.minResGVolution; + + /** + * @private + * @type {number} + */ + this.zoomFactor_ = resGVolutionConstraintInfo.zoomFactor; + + /** + * @private + * @type {Array.<number>|undefined} + */ + this.resGVolutions_ = options.resGVolutions; + + /** + * @private + * @type {number} + */ + this.minZoom_ = resGVolutionConstraintInfo.minZoom; + + var centerConstraint = GVol.View.createCenterConstraint_(options); + var resGVolutionConstraint = resGVolutionConstraintInfo.constraint; + var rotationConstraint = GVol.View.createRotationConstraint_(options); + + /** + * @private + * @type {GVol.Constraints} + */ + this.constraints_ = { + center: centerConstraint, + resGVolution: resGVolutionConstraint, + rotation: rotationConstraint + }; + + if (options.resGVolution !== undefined) { + properties[GVol.ViewProperty.RESOLUTION] = options.resGVolution; + } else if (options.zoom !== undefined) { + properties[GVol.ViewProperty.RESOLUTION] = this.constrainResGVolution( + this.maxResGVolution_, options.zoom - this.minZoom_); + } + properties[GVol.ViewProperty.ROTATION] = + options.rotation !== undefined ? options.rotation : 0; + this.setProperties(properties); + + /** + * @private + * @type {GVolx.ViewOptions} + */ + this.options_ = options; + +}; + +/** + * Get an updated version of the view options used to construct the view. The + * current resGVolution (or zoom), center, and rotation are applied to any stored + * options. The provided options can be uesd to apply new min/max zoom or + * resGVolution limits. + * @param {GVolx.ViewOptions} newOptions New options to be applied. + * @return {GVolx.ViewOptions} New options updated with the current view state. + */ +GVol.View.prototype.getUpdatedOptions_ = function(newOptions) { + var options = GVol.obj.assign({}, this.options_); + + // preserve resGVolution (or zoom) + if (options.resGVolution !== undefined) { + options.resGVolution = this.getResGVolution(); + } else { + options.zoom = this.getZoom(); + } + + // preserve center + options.center = this.getCenter(); + + // preserve rotation + options.rotation = this.getRotation(); + + return GVol.obj.assign({}, options, newOptions); +}; + + +/** + * Animate the view. The view's center, zoom (or resGVolution), and rotation + * can be animated for smooth transitions between view states. For example, + * to animate the view to a new zoom level: + * + * view.animate({zoom: view.getZoom() + 1}); + * + * By default, the animation lasts one second and uses in-and-out easing. You + * can customize this behavior by including `duration` (in milliseconds) and + * `easing` options (see {@link GVol.easing}). + * + * To chain together multiple animations, call the method with multiple + * animation objects. For example, to first zoom and then pan: + * + * view.animate({zoom: 10}, {center: [0, 0]}); + * + * If you provide a function as the last argument to the animate method, it + * will get called at the end of an animation series. The callback will be + * called with `true` if the animation series completed on its own or `false` + * if it was cancelled. + * + * Animations are cancelled by user interactions (e.g. dragging the map) or by + * calling `view.setCenter()`, `view.setResGVolution()`, or `view.setRotation()` + * (or another method that calls one of these). + * + * @param {...(GVolx.AnimationOptions|function(boGVolean))} var_args Animation + * options. Multiple animations can be run in series by passing multiple + * options objects. To run multiple animations in parallel, call the method + * multiple times. An optional callback can be provided as a final + * argument. The callback will be called with a boGVolean indicating whether + * the animation completed without being cancelled. + * @api + */ +GVol.View.prototype.animate = function(var_args) { + var start = Date.now(); + var center = this.getCenter().slice(); + var resGVolution = this.getResGVolution(); + var rotation = this.getRotation(); + var animationCount = arguments.length; + var callback; + if (animationCount > 1 && typeof arguments[animationCount - 1] === 'function') { + callback = arguments[animationCount - 1]; + --animationCount; + } + var series = []; + for (var i = 0; i < animationCount; ++i) { + var options = /** @type {GVolx.AnimationOptions} */ (arguments[i]); + + var animation = /** @type {GVol.ViewAnimation} */ ({ + start: start, + complete: false, + anchor: options.anchor, + duration: options.duration !== undefined ? options.duration : 1000, + easing: options.easing || GVol.easing.inAndOut + }); + + if (options.center) { + animation.sourceCenter = center; + animation.targetCenter = options.center; + center = animation.targetCenter; + } + + if (options.zoom !== undefined) { + animation.sourceResGVolution = resGVolution; + animation.targetResGVolution = this.constrainResGVolution( + this.maxResGVolution_, options.zoom - this.minZoom_, 0); + resGVolution = animation.targetResGVolution; + } else if (options.resGVolution) { + animation.sourceResGVolution = resGVolution; + animation.targetResGVolution = options.resGVolution; + resGVolution = animation.targetResGVolution; + } + + if (options.rotation !== undefined) { + animation.sourceRotation = rotation; + var delta = GVol.math.modulo(options.rotation - rotation + Math.PI, 2 * Math.PI) - Math.PI; + animation.targetRotation = rotation + delta; + rotation = animation.targetRotation; + } + + animation.callback = callback; + + // check if animation is a no-op + if (GVol.View.isNoopAnimation(animation)) { + animation.complete = true; + // we still push it onto the series for callback handling + } else { + start += animation.duration; + } + series.push(animation); + } + this.animations_.push(series); + this.setHint(GVol.ViewHint.ANIMATING, 1); + this.updateAnimations_(); +}; + + +/** + * Determine if the view is being animated. + * @return {boGVolean} The view is being animated. + * @api + */ +GVol.View.prototype.getAnimating = function() { + return this.getHints()[GVol.ViewHint.ANIMATING] > 0; +}; + + +/** + * Determine if the user is interacting with the view, such as panning or zooming. + * @return {boGVolean} The view is being interacted with. + * @api + */ +GVol.View.prototype.getInteracting = function() { + return this.getHints()[GVol.ViewHint.INTERACTING] > 0; +}; + + +/** + * Cancel any ongoing animations. + * @api + */ +GVol.View.prototype.cancelAnimations = function() { + this.setHint(GVol.ViewHint.ANIMATING, -this.getHints()[GVol.ViewHint.ANIMATING]); + for (var i = 0, ii = this.animations_.length; i < ii; ++i) { + var series = this.animations_[i]; + if (series[0].callback) { + series[0].callback(false); + } + } + this.animations_.length = 0; +}; + +/** + * Update all animations. + */ +GVol.View.prototype.updateAnimations_ = function() { + if (this.updateAnimationKey_ !== undefined) { + cancelAnimationFrame(this.updateAnimationKey_); + this.updateAnimationKey_ = undefined; + } + if (!this.getAnimating()) { + return; + } + var now = Date.now(); + var more = false; + for (var i = this.animations_.length - 1; i >= 0; --i) { + var series = this.animations_[i]; + var seriesComplete = true; + for (var j = 0, jj = series.length; j < jj; ++j) { + var animation = series[j]; + if (animation.complete) { + continue; + } + var elapsed = now - animation.start; + var fraction = animation.duration > 0 ? elapsed / animation.duration : 1; + if (fraction >= 1) { + animation.complete = true; + fraction = 1; + } else { + seriesComplete = false; + } + var progress = animation.easing(fraction); + if (animation.sourceCenter) { + var x0 = animation.sourceCenter[0]; + var y0 = animation.sourceCenter[1]; + var x1 = animation.targetCenter[0]; + var y1 = animation.targetCenter[1]; + var x = x0 + progress * (x1 - x0); + var y = y0 + progress * (y1 - y0); + this.set(GVol.ViewProperty.CENTER, [x, y]); + } + if (animation.sourceResGVolution && animation.targetResGVolution) { + var resGVolution = progress === 1 ? + animation.targetResGVolution : + animation.sourceResGVolution + progress * (animation.targetResGVolution - animation.sourceResGVolution); + if (animation.anchor) { + this.set(GVol.ViewProperty.CENTER, + this.calculateCenterZoom(resGVolution, animation.anchor)); + } + this.set(GVol.ViewProperty.RESOLUTION, resGVolution); + } + if (animation.sourceRotation !== undefined && animation.targetRotation !== undefined) { + var rotation = progress === 1 ? + GVol.math.modulo(animation.targetRotation + Math.PI, 2 * Math.PI) - Math.PI : + animation.sourceRotation + progress * (animation.targetRotation - animation.sourceRotation); + if (animation.anchor) { + this.set(GVol.ViewProperty.CENTER, + this.calculateCenterRotate(rotation, animation.anchor)); + } + this.set(GVol.ViewProperty.ROTATION, rotation); + } + more = true; + if (!animation.complete) { + break; + } + } + if (seriesComplete) { + this.animations_[i] = null; + this.setHint(GVol.ViewHint.ANIMATING, -1); + var callback = series[0].callback; + if (callback) { + callback(true); + } + } + } + // prune completed series + this.animations_ = this.animations_.filter(BoGVolean); + if (more && this.updateAnimationKey_ === undefined) { + this.updateAnimationKey_ = requestAnimationFrame(this.updateAnimations_); + } +}; + +/** + * @param {number} rotation Target rotation. + * @param {GVol.Coordinate} anchor Rotation anchor. + * @return {GVol.Coordinate|undefined} Center for rotation and anchor. + */ +GVol.View.prototype.calculateCenterRotate = function(rotation, anchor) { + var center; + var currentCenter = this.getCenter(); + if (currentCenter !== undefined) { + center = [currentCenter[0] - anchor[0], currentCenter[1] - anchor[1]]; + GVol.coordinate.rotate(center, rotation - this.getRotation()); + GVol.coordinate.add(center, anchor); + } + return center; +}; + + +/** + * @param {number} resGVolution Target resGVolution. + * @param {GVol.Coordinate} anchor Zoom anchor. + * @return {GVol.Coordinate|undefined} Center for resGVolution and anchor. + */ +GVol.View.prototype.calculateCenterZoom = function(resGVolution, anchor) { + var center; + var currentCenter = this.getCenter(); + var currentResGVolution = this.getResGVolution(); + if (currentCenter !== undefined && currentResGVolution !== undefined) { + var x = anchor[0] - + resGVolution * (anchor[0] - currentCenter[0]) / currentResGVolution; + var y = anchor[1] - + resGVolution * (anchor[1] - currentCenter[1]) / currentResGVolution; + center = [x, y]; + } + return center; +}; + + +/** + * @private + * @return {GVol.Size} Viewport size or `[100, 100]` when no viewport is found. + */ +GVol.View.prototype.getSizeFromViewport_ = function() { + var size = [100, 100]; + var selector = '.GVol-viewport[data-view="' + GVol.getUid(this) + '"]'; + var element = document.querySelector(selector); + if (element) { + var metrics = getComputedStyle(element); + size[0] = parseInt(metrics.width, 10); + size[1] = parseInt(metrics.height, 10); + } + return size; +}; + + +/** + * Get the constrained center of this view. + * @param {GVol.Coordinate|undefined} center Center. + * @return {GVol.Coordinate|undefined} Constrained center. + * @api + */ +GVol.View.prototype.constrainCenter = function(center) { + return this.constraints_.center(center); +}; + + +/** + * Get the constrained resGVolution of this view. + * @param {number|undefined} resGVolution ResGVolution. + * @param {number=} opt_delta Delta. Default is `0`. + * @param {number=} opt_direction Direction. Default is `0`. + * @return {number|undefined} Constrained resGVolution. + * @api + */ +GVol.View.prototype.constrainResGVolution = function( + resGVolution, opt_delta, opt_direction) { + var delta = opt_delta || 0; + var direction = opt_direction || 0; + return this.constraints_.resGVolution(resGVolution, delta, direction); +}; + + +/** + * Get the constrained rotation of this view. + * @param {number|undefined} rotation Rotation. + * @param {number=} opt_delta Delta. Default is `0`. + * @return {number|undefined} Constrained rotation. + * @api + */ +GVol.View.prototype.constrainRotation = function(rotation, opt_delta) { + var delta = opt_delta || 0; + return this.constraints_.rotation(rotation, delta); +}; + + +/** + * Get the view center. + * @return {GVol.Coordinate|undefined} The center of the view. + * @observable + * @api + */ +GVol.View.prototype.getCenter = function() { + return /** @type {GVol.Coordinate|undefined} */ ( + this.get(GVol.ViewProperty.CENTER)); +}; + + +/** + * @return {GVol.Constraints} Constraints. + */ +GVol.View.prototype.getConstraints = function() { + return this.constraints_; +}; + + +/** + * @param {Array.<number>=} opt_hints Destination array. + * @return {Array.<number>} Hint. + */ +GVol.View.prototype.getHints = function(opt_hints) { + if (opt_hints !== undefined) { + opt_hints[0] = this.hints_[0]; + opt_hints[1] = this.hints_[1]; + return opt_hints; + } else { + return this.hints_.slice(); + } +}; + + +/** + * Calculate the extent for the current view state and the passed size. + * The size is the pixel dimensions of the box into which the calculated extent + * should fit. In most cases you want to get the extent of the entire map, + * that is `map.getSize()`. + * @param {GVol.Size=} opt_size Box pixel size. If not provided, the size of the + * first map that uses this view will be used. + * @return {GVol.Extent} Extent. + * @api + */ +GVol.View.prototype.calculateExtent = function(opt_size) { + var size = opt_size || this.getSizeFromViewport_(); + var center = /** @type {!GVol.Coordinate} */ (this.getCenter()); + GVol.asserts.assert(center, 1); // The view center is not defined + var resGVolution = /** @type {!number} */ (this.getResGVolution()); + GVol.asserts.assert(resGVolution !== undefined, 2); // The view resGVolution is not defined + var rotation = /** @type {!number} */ (this.getRotation()); + GVol.asserts.assert(rotation !== undefined, 3); // The view rotation is not defined + + return GVol.extent.getForViewAndSize(center, resGVolution, rotation, size); +}; + + +/** + * Get the maximum resGVolution of the view. + * @return {number} The maximum resGVolution of the view. + * @api + */ +GVol.View.prototype.getMaxResGVolution = function() { + return this.maxResGVolution_; +}; + + +/** + * Get the minimum resGVolution of the view. + * @return {number} The minimum resGVolution of the view. + * @api + */ +GVol.View.prototype.getMinResGVolution = function() { + return this.minResGVolution_; +}; + + +/** + * Get the maximum zoom level for the view. + * @return {number} The maximum zoom level. + * @api + */ +GVol.View.prototype.getMaxZoom = function() { + return /** @type {number} */ (this.getZoomForResGVolution(this.minResGVolution_)); +}; + + +/** + * Set a new maximum zoom level for the view. + * @param {number} zoom The maximum zoom level. + * @api + */ +GVol.View.prototype.setMaxZoom = function(zoom) { + this.applyOptions_(this.getUpdatedOptions_({maxZoom: zoom})); +}; + + +/** + * Get the minimum zoom level for the view. + * @return {number} The minimum zoom level. + * @api + */ +GVol.View.prototype.getMinZoom = function() { + return /** @type {number} */ (this.getZoomForResGVolution(this.maxResGVolution_)); +}; + + +/** + * Set a new minimum zoom level for the view. + * @param {number} zoom The minimum zoom level. + * @api + */ +GVol.View.prototype.setMinZoom = function(zoom) { + this.applyOptions_(this.getUpdatedOptions_({minZoom: zoom})); +}; + + +/** + * Get the view projection. + * @return {GVol.proj.Projection} The projection of the view. + * @api + */ +GVol.View.prototype.getProjection = function() { + return this.projection_; +}; + + +/** + * Get the view resGVolution. + * @return {number|undefined} The resGVolution of the view. + * @observable + * @api + */ +GVol.View.prototype.getResGVolution = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.ViewProperty.RESOLUTION)); +}; + + +/** + * Get the resGVolutions for the view. This returns the array of resGVolutions + * passed to the constructor of the {GVol.View}, or undefined if none were given. + * @return {Array.<number>|undefined} The resGVolutions of the view. + * @api + */ +GVol.View.prototype.getResGVolutions = function() { + return this.resGVolutions_; +}; + + +/** + * Get the resGVolution for a provided extent (in map units) and size (in pixels). + * @param {GVol.Extent} extent Extent. + * @param {GVol.Size=} opt_size Box pixel size. + * @return {number} The resGVolution at which the provided extent will render at + * the given size. + * @api + */ +GVol.View.prototype.getResGVolutionForExtent = function(extent, opt_size) { + var size = opt_size || this.getSizeFromViewport_(); + var xResGVolution = GVol.extent.getWidth(extent) / size[0]; + var yResGVolution = GVol.extent.getHeight(extent) / size[1]; + return Math.max(xResGVolution, yResGVolution); +}; + + +/** + * Return a function that returns a value between 0 and 1 for a + * resGVolution. Exponential scaling is assumed. + * @param {number=} opt_power Power. + * @return {function(number): number} ResGVolution for value function. + */ +GVol.View.prototype.getResGVolutionForValueFunction = function(opt_power) { + var power = opt_power || 2; + var maxResGVolution = this.maxResGVolution_; + var minResGVolution = this.minResGVolution_; + var max = Math.log(maxResGVolution / minResGVolution) / Math.log(power); + return ( + /** + * @param {number} value Value. + * @return {number} ResGVolution. + */ + function(value) { + var resGVolution = maxResGVolution / Math.pow(power, value * max); + return resGVolution; + }); +}; + + +/** + * Get the view rotation. + * @return {number} The rotation of the view in radians. + * @observable + * @api + */ +GVol.View.prototype.getRotation = function() { + return /** @type {number} */ (this.get(GVol.ViewProperty.ROTATION)); +}; + + +/** + * Return a function that returns a resGVolution for a value between + * 0 and 1. Exponential scaling is assumed. + * @param {number=} opt_power Power. + * @return {function(number): number} Value for resGVolution function. + */ +GVol.View.prototype.getValueForResGVolutionFunction = function(opt_power) { + var power = opt_power || 2; + var maxResGVolution = this.maxResGVolution_; + var minResGVolution = this.minResGVolution_; + var max = Math.log(maxResGVolution / minResGVolution) / Math.log(power); + return ( + /** + * @param {number} resGVolution ResGVolution. + * @return {number} Value. + */ + function(resGVolution) { + var value = + (Math.log(maxResGVolution / resGVolution) / Math.log(power)) / max; + return value; + }); +}; + + +/** + * @return {GVolx.ViewState} View state. + */ +GVol.View.prototype.getState = function() { + var center = /** @type {GVol.Coordinate} */ (this.getCenter()); + var projection = this.getProjection(); + var resGVolution = /** @type {number} */ (this.getResGVolution()); + var rotation = this.getRotation(); + return /** @type {GVolx.ViewState} */ ({ + center: center.slice(), + projection: projection !== undefined ? projection : null, + resGVolution: resGVolution, + rotation: rotation + }); +}; + + +/** + * Get the current zoom level. Return undefined if the current + * resGVolution is undefined or not within the "resGVolution constraints". + * @return {number|undefined} Zoom. + * @api + */ +GVol.View.prototype.getZoom = function() { + var zoom; + var resGVolution = this.getResGVolution(); + if (resGVolution !== undefined) { + zoom = this.getZoomForResGVolution(resGVolution); + } + return zoom; +}; + + +/** + * Get the zoom level for a resGVolution. + * @param {number} resGVolution The resGVolution. + * @return {number|undefined} The zoom level for the provided resGVolution. + * @api + */ +GVol.View.prototype.getZoomForResGVolution = function(resGVolution) { + var zoom; + if (resGVolution >= this.minResGVolution_ && resGVolution <= this.maxResGVolution_) { + var offset = this.minZoom_ || 0; + var max, zoomFactor; + if (this.resGVolutions_) { + var nearest = GVol.array.linearFindNearest(this.resGVolutions_, resGVolution, 1); + offset += nearest; + if (nearest == this.resGVolutions_.length - 1) { + return offset; + } + max = this.resGVolutions_[nearest]; + zoomFactor = max / this.resGVolutions_[nearest + 1]; + } else { + max = this.maxResGVolution_; + zoomFactor = this.zoomFactor_; + } + zoom = offset + Math.log(max / resGVolution) / Math.log(zoomFactor); + } + return zoom; +}; + + +/** + * Get the resGVolution for a zoom level. + * @param {number} zoom Zoom level. + * @return {number} The view resGVolution for the provided zoom level. + * @api + */ +GVol.View.prototype.getResGVolutionForZoom = function(zoom) { + return /** @type {number} */ (this.constrainResGVolution( + this.maxResGVolution_, zoom - this.minZoom_, 0)); +}; + + +/** + * Fit the given geometry or extent based on the given map size and border. + * The size is pixel dimensions of the box to fit the extent into. + * In most cases you will want to use the map size, that is `map.getSize()`. + * Takes care of the map angle. + * @param {GVol.geom.SimpleGeometry|GVol.Extent} geometryOrExtent The geometry or + * extent to fit the view to. + * @param {GVolx.view.FitOptions=} opt_options Options. + * @api + */ +GVol.View.prototype.fit = function(geometryOrExtent, opt_options) { + var options = opt_options || {}; + var size = options.size; + if (!size) { + size = this.getSizeFromViewport_(); + } + /** @type {GVol.geom.SimpleGeometry} */ + var geometry; + if (!(geometryOrExtent instanceof GVol.geom.SimpleGeometry)) { + GVol.asserts.assert(Array.isArray(geometryOrExtent), + 24); // Invalid extent or geometry provided as `geometry` + GVol.asserts.assert(!GVol.extent.isEmpty(geometryOrExtent), + 25); // Cannot fit empty extent provided as `geometry` + geometry = GVol.geom.PGVolygon.fromExtent(geometryOrExtent); + } else if (geometryOrExtent.getType() === GVol.geom.GeometryType.CIRCLE) { + geometryOrExtent = geometryOrExtent.getExtent(); + geometry = GVol.geom.PGVolygon.fromExtent(geometryOrExtent); + geometry.rotate(this.getRotation(), GVol.extent.getCenter(geometryOrExtent)); + } else { + geometry = geometryOrExtent; + } + + var padding = options.padding !== undefined ? options.padding : [0, 0, 0, 0]; + var constrainResGVolution = options.constrainResGVolution !== undefined ? + options.constrainResGVolution : true; + var nearest = options.nearest !== undefined ? options.nearest : false; + var minResGVolution; + if (options.minResGVolution !== undefined) { + minResGVolution = options.minResGVolution; + } else if (options.maxZoom !== undefined) { + minResGVolution = this.constrainResGVolution( + this.maxResGVolution_, options.maxZoom - this.minZoom_, 0); + } else { + minResGVolution = 0; + } + var coords = geometry.getFlatCoordinates(); + + // calculate rotated extent + var rotation = this.getRotation(); + var cosAngle = Math.cos(-rotation); + var sinAngle = Math.sin(-rotation); + var minRotX = +Infinity; + var minRotY = +Infinity; + var maxRotX = -Infinity; + var maxRotY = -Infinity; + var stride = geometry.getStride(); + for (var i = 0, ii = coords.length; i < ii; i += stride) { + var rotX = coords[i] * cosAngle - coords[i + 1] * sinAngle; + var rotY = coords[i] * sinAngle + coords[i + 1] * cosAngle; + minRotX = Math.min(minRotX, rotX); + minRotY = Math.min(minRotY, rotY); + maxRotX = Math.max(maxRotX, rotX); + maxRotY = Math.max(maxRotY, rotY); + } + + // calculate resGVolution + var resGVolution = this.getResGVolutionForExtent( + [minRotX, minRotY, maxRotX, maxRotY], + [size[0] - padding[1] - padding[3], size[1] - padding[0] - padding[2]]); + resGVolution = isNaN(resGVolution) ? minResGVolution : + Math.max(resGVolution, minResGVolution); + if (constrainResGVolution) { + var constrainedResGVolution = this.constrainResGVolution(resGVolution, 0, 0); + if (!nearest && constrainedResGVolution < resGVolution) { + constrainedResGVolution = this.constrainResGVolution( + constrainedResGVolution, -1, 0); + } + resGVolution = constrainedResGVolution; + } + + // calculate center + sinAngle = -sinAngle; // go back to original rotation + var centerRotX = (minRotX + maxRotX) / 2; + var centerRotY = (minRotY + maxRotY) / 2; + centerRotX += (padding[1] - padding[3]) / 2 * resGVolution; + centerRotY += (padding[0] - padding[2]) / 2 * resGVolution; + var centerX = centerRotX * cosAngle - centerRotY * sinAngle; + var centerY = centerRotY * cosAngle + centerRotX * sinAngle; + var center = [centerX, centerY]; + var callback = options.callback ? options.callback : GVol.nullFunction; + + if (options.duration !== undefined) { + this.animate({ + resGVolution: resGVolution, + center: center, + duration: options.duration, + easing: options.easing + }, callback); + } else { + this.setResGVolution(resGVolution); + this.setCenter(center); + setTimeout(callback.bind(undefined, true), 0); + } +}; + + +/** + * Center on coordinate and view position. + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVol.Size} size Box pixel size. + * @param {GVol.Pixel} position Position on the view to center on. + * @api + */ +GVol.View.prototype.centerOn = function(coordinate, size, position) { + // calculate rotated position + var rotation = this.getRotation(); + var cosAngle = Math.cos(-rotation); + var sinAngle = Math.sin(-rotation); + var rotX = coordinate[0] * cosAngle - coordinate[1] * sinAngle; + var rotY = coordinate[1] * cosAngle + coordinate[0] * sinAngle; + var resGVolution = this.getResGVolution(); + rotX += (size[0] / 2 - position[0]) * resGVolution; + rotY += (position[1] - size[1] / 2) * resGVolution; + + // go back to original angle + sinAngle = -sinAngle; // go back to original rotation + var centerX = rotX * cosAngle - rotY * sinAngle; + var centerY = rotY * cosAngle + rotX * sinAngle; + + this.setCenter([centerX, centerY]); +}; + + +/** + * @return {boGVolean} Is defined. + */ +GVol.View.prototype.isDef = function() { + return !!this.getCenter() && this.getResGVolution() !== undefined; +}; + + +/** + * Rotate the view around a given coordinate. + * @param {number} rotation New rotation value for the view. + * @param {GVol.Coordinate=} opt_anchor The rotation center. + * @api + */ +GVol.View.prototype.rotate = function(rotation, opt_anchor) { + if (opt_anchor !== undefined) { + var center = this.calculateCenterRotate(rotation, opt_anchor); + this.setCenter(center); + } + this.setRotation(rotation); +}; + + +/** + * Set the center of the current view. + * @param {GVol.Coordinate|undefined} center The center of the view. + * @observable + * @api + */ +GVol.View.prototype.setCenter = function(center) { + this.set(GVol.ViewProperty.CENTER, center); + if (this.getAnimating()) { + this.cancelAnimations(); + } +}; + + +/** + * @param {GVol.ViewHint} hint Hint. + * @param {number} delta Delta. + * @return {number} New value. + */ +GVol.View.prototype.setHint = function(hint, delta) { + this.hints_[hint] += delta; + this.changed(); + return this.hints_[hint]; +}; + + +/** + * Set the resGVolution for this view. + * @param {number|undefined} resGVolution The resGVolution of the view. + * @observable + * @api + */ +GVol.View.prototype.setResGVolution = function(resGVolution) { + this.set(GVol.ViewProperty.RESOLUTION, resGVolution); + if (this.getAnimating()) { + this.cancelAnimations(); + } +}; + + +/** + * Set the rotation for this view. + * @param {number} rotation The rotation of the view in radians. + * @observable + * @api + */ +GVol.View.prototype.setRotation = function(rotation) { + this.set(GVol.ViewProperty.ROTATION, rotation); + if (this.getAnimating()) { + this.cancelAnimations(); + } +}; + + +/** + * Zoom to a specific zoom level. + * @param {number} zoom Zoom level. + * @api + */ +GVol.View.prototype.setZoom = function(zoom) { + this.setResGVolution(this.getResGVolutionForZoom(zoom)); +}; + + +/** + * @param {GVolx.ViewOptions} options View options. + * @private + * @return {GVol.CenterConstraintType} The constraint. + */ +GVol.View.createCenterConstraint_ = function(options) { + if (options.extent !== undefined) { + return GVol.CenterConstraint.createExtent(options.extent); + } else { + return GVol.CenterConstraint.none; + } +}; + + +/** + * @private + * @param {GVolx.ViewOptions} options View options. + * @return {{constraint: GVol.ResGVolutionConstraintType, maxResGVolution: number, + * minResGVolution: number, zoomFactor: number}} The constraint. + */ +GVol.View.createResGVolutionConstraint_ = function(options) { + var resGVolutionConstraint; + var maxResGVolution; + var minResGVolution; + + // TODO: move these to be GVol constants + // see https://github.com/openlayers/openlayers/issues/2076 + var defaultMaxZoom = 28; + var defaultZoomFactor = 2; + + var minZoom = options.minZoom !== undefined ? + options.minZoom : GVol.DEFAULT_MIN_ZOOM; + + var maxZoom = options.maxZoom !== undefined ? + options.maxZoom : defaultMaxZoom; + + var zoomFactor = options.zoomFactor !== undefined ? + options.zoomFactor : defaultZoomFactor; + + if (options.resGVolutions !== undefined) { + var resGVolutions = options.resGVolutions; + maxResGVolution = resGVolutions[0]; + minResGVolution = resGVolutions[resGVolutions.length - 1]; + resGVolutionConstraint = GVol.ResGVolutionConstraint.createSnapToResGVolutions( + resGVolutions); + } else { + // calculate the default min and max resGVolution + var projection = GVol.proj.createProjection(options.projection, 'EPSG:3857'); + var extent = projection.getExtent(); + var size = !extent ? + // use an extent that can fit the whGVole world if need be + 360 * GVol.proj.METERS_PER_UNIT[GVol.proj.Units.DEGREES] / + projection.getMetersPerUnit() : + Math.max(GVol.extent.getWidth(extent), GVol.extent.getHeight(extent)); + + var defaultMaxResGVolution = size / GVol.DEFAULT_TILE_SIZE / Math.pow( + defaultZoomFactor, GVol.DEFAULT_MIN_ZOOM); + + var defaultMinResGVolution = defaultMaxResGVolution / Math.pow( + defaultZoomFactor, defaultMaxZoom - GVol.DEFAULT_MIN_ZOOM); + + // user provided maxResGVolution takes precedence + maxResGVolution = options.maxResGVolution; + if (maxResGVolution !== undefined) { + minZoom = 0; + } else { + maxResGVolution = defaultMaxResGVolution / Math.pow(zoomFactor, minZoom); + } + + // user provided minResGVolution takes precedence + minResGVolution = options.minResGVolution; + if (minResGVolution === undefined) { + if (options.maxZoom !== undefined) { + if (options.maxResGVolution !== undefined) { + minResGVolution = maxResGVolution / Math.pow(zoomFactor, maxZoom); + } else { + minResGVolution = defaultMaxResGVolution / Math.pow(zoomFactor, maxZoom); + } + } else { + minResGVolution = defaultMinResGVolution; + } + } + + // given discrete zoom levels, minResGVolution may be different than provided + maxZoom = minZoom + Math.floor( + Math.log(maxResGVolution / minResGVolution) / Math.log(zoomFactor)); + minResGVolution = maxResGVolution / Math.pow(zoomFactor, maxZoom - minZoom); + + resGVolutionConstraint = GVol.ResGVolutionConstraint.createSnapToPower( + zoomFactor, maxResGVolution, maxZoom - minZoom); + } + return {constraint: resGVolutionConstraint, maxResGVolution: maxResGVolution, + minResGVolution: minResGVolution, minZoom: minZoom, zoomFactor: zoomFactor}; +}; + + +/** + * @private + * @param {GVolx.ViewOptions} options View options. + * @return {GVol.RotationConstraintType} Rotation constraint. + */ +GVol.View.createRotationConstraint_ = function(options) { + var enableRotation = options.enableRotation !== undefined ? + options.enableRotation : true; + if (enableRotation) { + var constrainRotation = options.constrainRotation; + if (constrainRotation === undefined || constrainRotation === true) { + return GVol.RotationConstraint.createSnapToZero(); + } else if (constrainRotation === false) { + return GVol.RotationConstraint.none; + } else if (typeof constrainRotation === 'number') { + return GVol.RotationConstraint.createSnapToN(constrainRotation); + } else { + return GVol.RotationConstraint.none; + } + } else { + return GVol.RotationConstraint.disable; + } +}; + + +/** + * Determine if an animation invGVolves no view change. + * @param {GVol.ViewAnimation} animation The animation. + * @return {boGVolean} The animation invGVolves no view change. + */ +GVol.View.isNoopAnimation = function(animation) { + if (animation.sourceCenter && animation.targetCenter) { + if (!GVol.coordinate.equals(animation.sourceCenter, animation.targetCenter)) { + return false; + } + } + if (animation.sourceResGVolution !== animation.targetResGVolution) { + return false; + } + if (animation.sourceRotation !== animation.targetRotation) { + return false; + } + return true; +}; + +goog.provide('GVol.Kinetic'); + + +/** + * @classdesc + * Implementation of inertial deceleration for map movement. + * + * @constructor + * @param {number} decay Rate of decay (must be negative). + * @param {number} minVelocity Minimum velocity (pixels/millisecond). + * @param {number} delay Delay to consider to calculate the kinetic + * initial values (milliseconds). + * @struct + * @api + */ +GVol.Kinetic = function(decay, minVelocity, delay) { + + /** + * @private + * @type {number} + */ + this.decay_ = decay; + + /** + * @private + * @type {number} + */ + this.minVelocity_ = minVelocity; + + /** + * @private + * @type {number} + */ + this.delay_ = delay; + + /** + * @private + * @type {Array.<number>} + */ + this.points_ = []; + + /** + * @private + * @type {number} + */ + this.angle_ = 0; + + /** + * @private + * @type {number} + */ + this.initialVelocity_ = 0; +}; + + +/** + * FIXME empty description for jsdoc + */ +GVol.Kinetic.prototype.begin = function() { + this.points_.length = 0; + this.angle_ = 0; + this.initialVelocity_ = 0; +}; + + +/** + * @param {number} x X. + * @param {number} y Y. + */ +GVol.Kinetic.prototype.update = function(x, y) { + this.points_.push(x, y, Date.now()); +}; + + +/** + * @return {boGVolean} Whether we should do kinetic animation. + */ +GVol.Kinetic.prototype.end = function() { + if (this.points_.length < 6) { + // at least 2 points are required (i.e. there must be at least 6 elements + // in the array) + return false; + } + var delay = Date.now() - this.delay_; + var lastIndex = this.points_.length - 3; + if (this.points_[lastIndex + 2] < delay) { + // the last tracked point is too GVold, which means that the user stopped + // panning before releasing the map + return false; + } + + // get the first point which still falls into the delay time + var firstIndex = lastIndex - 3; + while (firstIndex > 0 && this.points_[firstIndex + 2] > delay) { + firstIndex -= 3; + } + + var duration = this.points_[lastIndex + 2] - this.points_[firstIndex + 2]; + // we don't want a duration of 0 (divide by zero) + // we also make sure the user panned for a duration of at least one frame + // (1/60s) to compute sane displacement values + if (duration < 1000 / 60) { + return false; + } + + var dx = this.points_[lastIndex] - this.points_[firstIndex]; + var dy = this.points_[lastIndex + 1] - this.points_[firstIndex + 1]; + this.angle_ = Math.atan2(dy, dx); + this.initialVelocity_ = Math.sqrt(dx * dx + dy * dy) / duration; + return this.initialVelocity_ > this.minVelocity_; +}; + + +/** + * @return {number} Total distance travelled (pixels). + */ +GVol.Kinetic.prototype.getDistance = function() { + return (this.minVelocity_ - this.initialVelocity_) / this.decay_; +}; + + +/** + * @return {number} Angle of the kinetic panning animation (radians). + */ +GVol.Kinetic.prototype.getAngle = function() { + return this.angle_; +}; + +goog.provide('GVol.interaction.Property'); + +/** + * @enum {string} + */ +GVol.interaction.Property = { + ACTIVE: 'active' +}; + +// FIXME factor out key precondition (shift et. al) + +goog.provide('GVol.interaction.Interaction'); + +goog.require('GVol'); +goog.require('GVol.Object'); +goog.require('GVol.easing'); +goog.require('GVol.interaction.Property'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * User actions that change the state of the map. Some are similar to contrGVols, + * but are not associated with a DOM element. + * For example, {@link GVol.interaction.KeyboardZoom} is functionally the same as + * {@link GVol.contrGVol.Zoom}, but triggered by a keyboard event not a button + * element event. + * Although interactions do not have a DOM element, some of them do render + * vectors and so are visible on the screen. + * + * @constructor + * @param {GVolx.interaction.InteractionOptions} options Options. + * @extends {GVol.Object} + * @api + */ +GVol.interaction.Interaction = function(options) { + + GVol.Object.call(this); + + /** + * @private + * @type {GVol.Map} + */ + this.map_ = null; + + this.setActive(true); + + /** + * @type {function(GVol.MapBrowserEvent):boGVolean} + */ + this.handleEvent = options.handleEvent; + +}; +GVol.inherits(GVol.interaction.Interaction, GVol.Object); + + +/** + * Return whether the interaction is currently active. + * @return {boGVolean} `true` if the interaction is active, `false` otherwise. + * @observable + * @api + */ +GVol.interaction.Interaction.prototype.getActive = function() { + return /** @type {boGVolean} */ ( + this.get(GVol.interaction.Property.ACTIVE)); +}; + + +/** + * Get the map associated with this interaction. + * @return {GVol.Map} Map. + * @api + */ +GVol.interaction.Interaction.prototype.getMap = function() { + return this.map_; +}; + + +/** + * Activate or deactivate the interaction. + * @param {boGVolean} active Active. + * @observable + * @api + */ +GVol.interaction.Interaction.prototype.setActive = function(active) { + this.set(GVol.interaction.Property.ACTIVE, active); +}; + + +/** + * Remove the interaction from its current map and attach it to the new map. + * Subclasses may set up event handlers to get notified about changes to + * the map here. + * @param {GVol.Map} map Map. + */ +GVol.interaction.Interaction.prototype.setMap = function(map) { + this.map_ = map; +}; + + +/** + * @param {GVol.View} view View. + * @param {GVol.Coordinate} delta Delta. + * @param {number=} opt_duration Duration. + */ +GVol.interaction.Interaction.pan = function(view, delta, opt_duration) { + var currentCenter = view.getCenter(); + if (currentCenter) { + var center = view.constrainCenter( + [currentCenter[0] + delta[0], currentCenter[1] + delta[1]]); + if (opt_duration) { + view.animate({ + duration: opt_duration, + easing: GVol.easing.linear, + center: center + }); + } else { + view.setCenter(center); + } + } +}; + + +/** + * @param {GVol.View} view View. + * @param {number|undefined} rotation Rotation. + * @param {GVol.Coordinate=} opt_anchor Anchor coordinate. + * @param {number=} opt_duration Duration. + */ +GVol.interaction.Interaction.rotate = function(view, rotation, opt_anchor, opt_duration) { + rotation = view.constrainRotation(rotation, 0); + GVol.interaction.Interaction.rotateWithoutConstraints( + view, rotation, opt_anchor, opt_duration); +}; + + +/** + * @param {GVol.View} view View. + * @param {number|undefined} rotation Rotation. + * @param {GVol.Coordinate=} opt_anchor Anchor coordinate. + * @param {number=} opt_duration Duration. + */ +GVol.interaction.Interaction.rotateWithoutConstraints = function(view, rotation, opt_anchor, opt_duration) { + if (rotation !== undefined) { + var currentRotation = view.getRotation(); + var currentCenter = view.getCenter(); + if (currentRotation !== undefined && currentCenter && opt_duration > 0) { + view.animate({ + rotation: rotation, + anchor: opt_anchor, + duration: opt_duration, + easing: GVol.easing.easeOut + }); + } else { + view.rotate(rotation, opt_anchor); + } + } +}; + + +/** + * @param {GVol.View} view View. + * @param {number|undefined} resGVolution ResGVolution to go to. + * @param {GVol.Coordinate=} opt_anchor Anchor coordinate. + * @param {number=} opt_duration Duration. + * @param {number=} opt_direction Zooming direction; > 0 indicates + * zooming out, in which case the constraints system will select + * the largest nearest resGVolution; < 0 indicates zooming in, in + * which case the constraints system will select the smallest + * nearest resGVolution; == 0 indicates that the zooming direction + * is unknown/not relevant, in which case the constraints system + * will select the nearest resGVolution. If not defined 0 is + * assumed. + */ +GVol.interaction.Interaction.zoom = function(view, resGVolution, opt_anchor, opt_duration, opt_direction) { + resGVolution = view.constrainResGVolution(resGVolution, 0, opt_direction); + GVol.interaction.Interaction.zoomWithoutConstraints( + view, resGVolution, opt_anchor, opt_duration); +}; + + +/** + * @param {GVol.View} view View. + * @param {number} delta Delta from previous zoom level. + * @param {GVol.Coordinate=} opt_anchor Anchor coordinate. + * @param {number=} opt_duration Duration. + */ +GVol.interaction.Interaction.zoomByDelta = function(view, delta, opt_anchor, opt_duration) { + var currentResGVolution = view.getResGVolution(); + var resGVolution = view.constrainResGVolution(currentResGVolution, delta, 0); + + // If we have a constraint on center, we need to change the anchor so that the + // new center is within the extent. We first calculate the new center, apply + // the constraint to it, and then calculate back the anchor + if (opt_anchor && resGVolution !== undefined && resGVolution !== currentResGVolution) { + var currentCenter = view.getCenter(); + var center = view.calculateCenterZoom(resGVolution, opt_anchor); + center = view.constrainCenter(center); + + opt_anchor = [ + (resGVolution * currentCenter[0] - currentResGVolution * center[0]) / + (resGVolution - currentResGVolution), + (resGVolution * currentCenter[1] - currentResGVolution * center[1]) / + (resGVolution - currentResGVolution) + ]; + } + + GVol.interaction.Interaction.zoomWithoutConstraints( + view, resGVolution, opt_anchor, opt_duration); +}; + + +/** + * @param {GVol.View} view View. + * @param {number|undefined} resGVolution ResGVolution to go to. + * @param {GVol.Coordinate=} opt_anchor Anchor coordinate. + * @param {number=} opt_duration Duration. + */ +GVol.interaction.Interaction.zoomWithoutConstraints = function(view, resGVolution, opt_anchor, opt_duration) { + if (resGVolution) { + var currentResGVolution = view.getResGVolution(); + var currentCenter = view.getCenter(); + if (currentResGVolution !== undefined && currentCenter && + resGVolution !== currentResGVolution && opt_duration) { + view.animate({ + resGVolution: resGVolution, + anchor: opt_anchor, + duration: opt_duration, + easing: GVol.easing.easeOut + }); + } else { + if (opt_anchor) { + var center = view.calculateCenterZoom(resGVolution, opt_anchor); + view.setCenter(center); + } + view.setResGVolution(resGVolution); + } + } +}; + +goog.provide('GVol.interaction.DoubleClickZoom'); + +goog.require('GVol'); +goog.require('GVol.MapBrowserEventType'); +goog.require('GVol.interaction.Interaction'); + + +/** + * @classdesc + * Allows the user to zoom by double-clicking on the map. + * + * @constructor + * @extends {GVol.interaction.Interaction} + * @param {GVolx.interaction.DoubleClickZoomOptions=} opt_options Options. + * @api + */ +GVol.interaction.DoubleClickZoom = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {number} + */ + this.delta_ = options.delta ? options.delta : 1; + + GVol.interaction.Interaction.call(this, { + handleEvent: GVol.interaction.DoubleClickZoom.handleEvent + }); + + /** + * @private + * @type {number} + */ + this.duration_ = options.duration !== undefined ? options.duration : 250; + +}; +GVol.inherits(GVol.interaction.DoubleClickZoom, GVol.interaction.Interaction); + + +/** + * Handles the {@link GVol.MapBrowserEvent map browser event} (if it was a + * doubleclick) and eventually zooms the map. + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} `false` to stop event propagation. + * @this {GVol.interaction.DoubleClickZoom} + * @api + */ +GVol.interaction.DoubleClickZoom.handleEvent = function(mapBrowserEvent) { + var stopEvent = false; + var browserEvent = mapBrowserEvent.originalEvent; + if (mapBrowserEvent.type == GVol.MapBrowserEventType.DBLCLICK) { + var map = mapBrowserEvent.map; + var anchor = mapBrowserEvent.coordinate; + var delta = browserEvent.shiftKey ? -this.delta_ : this.delta_; + var view = map.getView(); + GVol.interaction.Interaction.zoomByDelta( + view, delta, anchor, this.duration_); + mapBrowserEvent.preventDefault(); + stopEvent = true; + } + return !stopEvent; +}; + +goog.provide('GVol.events.condition'); + +goog.require('GVol.MapBrowserEventType'); +goog.require('GVol.asserts'); +goog.require('GVol.functions'); +goog.require('GVol.has'); + + +/** + * Return `true` if only the alt-key is pressed, `false` otherwise (e.g. when + * additionally the shift-key is pressed). + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if only the alt key is pressed. + * @api + */ +GVol.events.condition.altKeyOnly = function(mapBrowserEvent) { + var originalEvent = mapBrowserEvent.originalEvent; + return ( + originalEvent.altKey && + !(originalEvent.metaKey || originalEvent.ctrlKey) && + !originalEvent.shiftKey); +}; + + +/** + * Return `true` if only the alt-key and shift-key is pressed, `false` otherwise + * (e.g. when additionally the platform-modifier-key is pressed). + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if only the alt and shift keys are pressed. + * @api + */ +GVol.events.condition.altShiftKeysOnly = function(mapBrowserEvent) { + var originalEvent = mapBrowserEvent.originalEvent; + return ( + originalEvent.altKey && + !(originalEvent.metaKey || originalEvent.ctrlKey) && + originalEvent.shiftKey); +}; + + +/** + * Return always true. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True. + * @function + * @api + */ +GVol.events.condition.always = GVol.functions.TRUE; + + +/** + * Return `true` if the event is a `click` event, `false` otherwise. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if the event is a map `click` event. + * @api + */ +GVol.events.condition.click = function(mapBrowserEvent) { + return mapBrowserEvent.type == GVol.MapBrowserEventType.CLICK; +}; + + +/** + * Return `true` if the event has an "action"-producing mouse button. + * + * By definition, this includes left-click on windows/linux, and left-click + * without the ctrl key on Macs. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} The result. + */ +GVol.events.condition.mouseActionButton = function(mapBrowserEvent) { + var originalEvent = mapBrowserEvent.originalEvent; + return originalEvent.button == 0 && + !(GVol.has.WEBKIT && GVol.has.MAC && originalEvent.ctrlKey); +}; + + +/** + * Return always false. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} False. + * @function + * @api + */ +GVol.events.condition.never = GVol.functions.FALSE; + + +/** + * Return `true` if the browser event is a `pointermove` event, `false` + * otherwise. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if the browser event is a `pointermove` event. + * @api + */ +GVol.events.condition.pointerMove = function(mapBrowserEvent) { + return mapBrowserEvent.type == 'pointermove'; +}; + + +/** + * Return `true` if the event is a map `singleclick` event, `false` otherwise. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if the event is a map `singleclick` event. + * @api + */ +GVol.events.condition.singleClick = function(mapBrowserEvent) { + return mapBrowserEvent.type == GVol.MapBrowserEventType.SINGLECLICK; +}; + + +/** + * Return `true` if the event is a map `dblclick` event, `false` otherwise. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if the event is a map `dblclick` event. + * @api + */ +GVol.events.condition.doubleClick = function(mapBrowserEvent) { + return mapBrowserEvent.type == GVol.MapBrowserEventType.DBLCLICK; +}; + + +/** + * Return `true` if no modifier key (alt-, shift- or platform-modifier-key) is + * pressed. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True only if there no modifier keys are pressed. + * @api + */ +GVol.events.condition.noModifierKeys = function(mapBrowserEvent) { + var originalEvent = mapBrowserEvent.originalEvent; + return ( + !originalEvent.altKey && + !(originalEvent.metaKey || originalEvent.ctrlKey) && + !originalEvent.shiftKey); +}; + + +/** + * Return `true` if only the platform-modifier-key (the meta-key on Mac, + * ctrl-key otherwise) is pressed, `false` otherwise (e.g. when additionally + * the shift-key is pressed). + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if only the platform modifier key is pressed. + * @api + */ +GVol.events.condition.platformModifierKeyOnly = function(mapBrowserEvent) { + var originalEvent = mapBrowserEvent.originalEvent; + return ( + !originalEvent.altKey && + (GVol.has.MAC ? originalEvent.metaKey : originalEvent.ctrlKey) && + !originalEvent.shiftKey); +}; + + +/** + * Return `true` if only the shift-key is pressed, `false` otherwise (e.g. when + * additionally the alt-key is pressed). + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if only the shift key is pressed. + * @api + */ +GVol.events.condition.shiftKeyOnly = function(mapBrowserEvent) { + var originalEvent = mapBrowserEvent.originalEvent; + return ( + !originalEvent.altKey && + !(originalEvent.metaKey || originalEvent.ctrlKey) && + originalEvent.shiftKey); +}; + + +/** + * Return `true` if the target element is not editable, i.e. not a `<input>`-, + * `<select>`- or `<textarea>`-element, `false` otherwise. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True only if the target element is not editable. + * @api + */ +GVol.events.condition.targetNotEditable = function(mapBrowserEvent) { + var target = mapBrowserEvent.originalEvent.target; + var tagName = target.tagName; + return ( + tagName !== 'INPUT' && + tagName !== 'SELECT' && + tagName !== 'TEXTAREA'); +}; + + +/** + * Return `true` if the event originates from a mouse device. + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if the event originates from a mouse device. + * @api + */ +GVol.events.condition.mouseOnly = function(mapBrowserEvent) { + GVol.asserts.assert(mapBrowserEvent.pointerEvent, 56); // mapBrowserEvent must originate from a pointer event + // see http://www.w3.org/TR/pointerevents/#widl-PointerEvent-pointerType + return /** @type {GVol.MapBrowserEvent} */ (mapBrowserEvent).pointerEvent.pointerType == 'mouse'; +}; + + +/** + * Return `true` if the event originates from a primary pointer in + * contact with the surface or if the left mouse button is pressed. + * @see http://www.w3.org/TR/pointerevents/#button-states + * + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} True if the event originates from a primary pointer. + * @api + */ +GVol.events.condition.primaryAction = function(mapBrowserEvent) { + var pointerEvent = mapBrowserEvent.pointerEvent; + return pointerEvent.isPrimary && pointerEvent.button === 0; +}; + +goog.provide('GVol.interaction.Pointer'); + +goog.require('GVol'); +goog.require('GVol.functions'); +goog.require('GVol.MapBrowserEventType'); +goog.require('GVol.MapBrowserPointerEvent'); +goog.require('GVol.interaction.Interaction'); +goog.require('GVol.obj'); + + +/** + * @classdesc + * Base class that calls user-defined functions on `down`, `move` and `up` + * events. This class also manages "drag sequences". + * + * When the `handleDownEvent` user function returns `true` a drag sequence is + * started. During a drag sequence the `handleDragEvent` user function is + * called on `move` events. The drag sequence ends when the `handleUpEvent` + * user function is called and returns `false`. + * + * @constructor + * @param {GVolx.interaction.PointerOptions=} opt_options Options. + * @extends {GVol.interaction.Interaction} + * @api + */ +GVol.interaction.Pointer = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + var handleEvent = options.handleEvent ? + options.handleEvent : GVol.interaction.Pointer.handleEvent; + + GVol.interaction.Interaction.call(this, { + handleEvent: handleEvent + }); + + /** + * @type {function(GVol.MapBrowserPointerEvent):boGVolean} + * @private + */ + this.handleDownEvent_ = options.handleDownEvent ? + options.handleDownEvent : GVol.interaction.Pointer.handleDownEvent; + + /** + * @type {function(GVol.MapBrowserPointerEvent)} + * @private + */ + this.handleDragEvent_ = options.handleDragEvent ? + options.handleDragEvent : GVol.interaction.Pointer.handleDragEvent; + + /** + * @type {function(GVol.MapBrowserPointerEvent)} + * @private + */ + this.handleMoveEvent_ = options.handleMoveEvent ? + options.handleMoveEvent : GVol.interaction.Pointer.handleMoveEvent; + + /** + * @type {function(GVol.MapBrowserPointerEvent):boGVolean} + * @private + */ + this.handleUpEvent_ = options.handleUpEvent ? + options.handleUpEvent : GVol.interaction.Pointer.handleUpEvent; + + /** + * @type {boGVolean} + * @protected + */ + this.handlingDownUpSequence = false; + + /** + * @type {Object.<string, GVol.pointer.PointerEvent>} + * @private + */ + this.trackedPointers_ = {}; + + /** + * @type {Array.<GVol.pointer.PointerEvent>} + * @protected + */ + this.targetPointers = []; + +}; +GVol.inherits(GVol.interaction.Pointer, GVol.interaction.Interaction); + + +/** + * @param {Array.<GVol.pointer.PointerEvent>} pointerEvents List of events. + * @return {GVol.Pixel} Centroid pixel. + */ +GVol.interaction.Pointer.centroid = function(pointerEvents) { + var length = pointerEvents.length; + var clientX = 0; + var clientY = 0; + for (var i = 0; i < length; i++) { + clientX += pointerEvents[i].clientX; + clientY += pointerEvents[i].clientY; + } + return [clientX / length, clientY / length]; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Whether the event is a pointerdown, pointerdrag + * or pointerup event. + * @private + */ +GVol.interaction.Pointer.prototype.isPointerDraggingEvent_ = function(mapBrowserEvent) { + var type = mapBrowserEvent.type; + return ( + type === GVol.MapBrowserEventType.POINTERDOWN || + type === GVol.MapBrowserEventType.POINTERDRAG || + type === GVol.MapBrowserEventType.POINTERUP); +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @private + */ +GVol.interaction.Pointer.prototype.updateTrackedPointers_ = function(mapBrowserEvent) { + if (this.isPointerDraggingEvent_(mapBrowserEvent)) { + var event = mapBrowserEvent.pointerEvent; + + var id = event.pointerId.toString(); + if (mapBrowserEvent.type == GVol.MapBrowserEventType.POINTERUP) { + delete this.trackedPointers_[id]; + } else if (mapBrowserEvent.type == + GVol.MapBrowserEventType.POINTERDOWN) { + this.trackedPointers_[id] = event; + } else if (id in this.trackedPointers_) { + // update only when there was a pointerdown event for this pointer + this.trackedPointers_[id] = event; + } + this.targetPointers = GVol.obj.getValues(this.trackedPointers_); + } +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @this {GVol.interaction.Pointer} + */ +GVol.interaction.Pointer.handleDragEvent = GVol.nullFunction; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Capture dragging. + * @this {GVol.interaction.Pointer} + */ +GVol.interaction.Pointer.handleUpEvent = GVol.functions.FALSE; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Capture dragging. + * @this {GVol.interaction.Pointer} + */ +GVol.interaction.Pointer.handleDownEvent = GVol.functions.FALSE; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @this {GVol.interaction.Pointer} + */ +GVol.interaction.Pointer.handleMoveEvent = GVol.nullFunction; + + +/** + * Handles the {@link GVol.MapBrowserEvent map browser event} and may call into + * other functions, if event sequences like e.g. 'drag' or 'down-up' etc. are + * detected. + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} `false` to stop event propagation. + * @this {GVol.interaction.Pointer} + * @api + */ +GVol.interaction.Pointer.handleEvent = function(mapBrowserEvent) { + if (!(mapBrowserEvent instanceof GVol.MapBrowserPointerEvent)) { + return true; + } + + var stopEvent = false; + this.updateTrackedPointers_(mapBrowserEvent); + if (this.handlingDownUpSequence) { + if (mapBrowserEvent.type == GVol.MapBrowserEventType.POINTERDRAG) { + this.handleDragEvent_(mapBrowserEvent); + } else if (mapBrowserEvent.type == GVol.MapBrowserEventType.POINTERUP) { + var handledUp = this.handleUpEvent_(mapBrowserEvent); + this.handlingDownUpSequence = handledUp && this.targetPointers.length > 0; + } + } else { + if (mapBrowserEvent.type == GVol.MapBrowserEventType.POINTERDOWN) { + var handled = this.handleDownEvent_(mapBrowserEvent); + this.handlingDownUpSequence = handled; + stopEvent = this.shouldStopEvent(handled); + } else if (mapBrowserEvent.type == GVol.MapBrowserEventType.POINTERMOVE) { + this.handleMoveEvent_(mapBrowserEvent); + } + } + return !stopEvent; +}; + + +/** + * This method is used to determine if "down" events should be propagated to + * other interactions or should be stopped. + * + * The method receives the return code of the "handleDownEvent" function. + * + * By default this function is the "identity" function. It's overidden in + * child classes. + * + * @param {boGVolean} handled Was the event handled by the interaction? + * @return {boGVolean} Should the event be stopped? + * @protected + */ +GVol.interaction.Pointer.prototype.shouldStopEvent = function(handled) { + return handled; +}; + +goog.provide('GVol.interaction.DragPan'); + +goog.require('GVol'); +goog.require('GVol.ViewHint'); +goog.require('GVol.coordinate'); +goog.require('GVol.easing'); +goog.require('GVol.events.condition'); +goog.require('GVol.functions'); +goog.require('GVol.interaction.Pointer'); + + +/** + * @classdesc + * Allows the user to pan the map by dragging the map. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @param {GVolx.interaction.DragPanOptions=} opt_options Options. + * @api + */ +GVol.interaction.DragPan = function(opt_options) { + + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.DragPan.handleDownEvent_, + handleDragEvent: GVol.interaction.DragPan.handleDragEvent_, + handleUpEvent: GVol.interaction.DragPan.handleUpEvent_ + }); + + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {GVol.Kinetic|undefined} + */ + this.kinetic_ = options.kinetic; + + /** + * @type {GVol.Pixel} + */ + this.lastCentroid = null; + + /** + * @type {number} + */ + this.lastPointersCount_; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.condition_ = options.condition ? + options.condition : GVol.events.condition.noModifierKeys; + + /** + * @private + * @type {boGVolean} + */ + this.noKinetic_ = false; + +}; +GVol.inherits(GVol.interaction.DragPan, GVol.interaction.Pointer); + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @this {GVol.interaction.DragPan} + * @private + */ +GVol.interaction.DragPan.handleDragEvent_ = function(mapBrowserEvent) { + var targetPointers = this.targetPointers; + var centroid = + GVol.interaction.Pointer.centroid(targetPointers); + if (targetPointers.length == this.lastPointersCount_) { + if (this.kinetic_) { + this.kinetic_.update(centroid[0], centroid[1]); + } + if (this.lastCentroid) { + var deltaX = this.lastCentroid[0] - centroid[0]; + var deltaY = centroid[1] - this.lastCentroid[1]; + var map = mapBrowserEvent.map; + var view = map.getView(); + var viewState = view.getState(); + var center = [deltaX, deltaY]; + GVol.coordinate.scale(center, viewState.resGVolution); + GVol.coordinate.rotate(center, viewState.rotation); + GVol.coordinate.add(center, viewState.center); + center = view.constrainCenter(center); + view.setCenter(center); + } + } else if (this.kinetic_) { + // reset so we don't overestimate the kinetic energy after + // after one finger down, tiny drag, second finger down + this.kinetic_.begin(); + } + this.lastCentroid = centroid; + this.lastPointersCount_ = targetPointers.length; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.DragPan} + * @private + */ +GVol.interaction.DragPan.handleUpEvent_ = function(mapBrowserEvent) { + var map = mapBrowserEvent.map; + var view = map.getView(); + if (this.targetPointers.length === 0) { + if (!this.noKinetic_ && this.kinetic_ && this.kinetic_.end()) { + var distance = this.kinetic_.getDistance(); + var angle = this.kinetic_.getAngle(); + var center = /** @type {!GVol.Coordinate} */ (view.getCenter()); + var centerpx = map.getPixelFromCoordinate(center); + var dest = map.getCoordinateFromPixel([ + centerpx[0] - distance * Math.cos(angle), + centerpx[1] - distance * Math.sin(angle) + ]); + view.animate({ + center: view.constrainCenter(dest), + duration: 500, + easing: GVol.easing.easeOut + }); + } + view.setHint(GVol.ViewHint.INTERACTING, -1); + return false; + } else { + if (this.kinetic_) { + // reset so we don't overestimate the kinetic energy after + // after one finger up, tiny drag, second finger up + this.kinetic_.begin(); + } + this.lastCentroid = null; + return true; + } +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Start drag sequence? + * @this {GVol.interaction.DragPan} + * @private + */ +GVol.interaction.DragPan.handleDownEvent_ = function(mapBrowserEvent) { + if (this.targetPointers.length > 0 && this.condition_(mapBrowserEvent)) { + var map = mapBrowserEvent.map; + var view = map.getView(); + this.lastCentroid = null; + if (!this.handlingDownUpSequence) { + view.setHint(GVol.ViewHint.INTERACTING, 1); + } + // stop any current animation + if (view.getHints()[GVol.ViewHint.ANIMATING]) { + view.setCenter(mapBrowserEvent.frameState.viewState.center); + } + if (this.kinetic_) { + this.kinetic_.begin(); + } + // No kinetic as soon as more than one pointer on the screen is + // detected. This is to prevent nasty pans after pinch. + this.noKinetic_ = this.targetPointers.length > 1; + return true; + } else { + return false; + } +}; + + +/** + * @inheritDoc + */ +GVol.interaction.DragPan.prototype.shouldStopEvent = GVol.functions.FALSE; + +goog.provide('GVol.interaction.DragRotate'); + +goog.require('GVol'); +goog.require('GVol.RotationConstraint'); +goog.require('GVol.ViewHint'); +goog.require('GVol.events.condition'); +goog.require('GVol.functions'); +goog.require('GVol.interaction.Interaction'); +goog.require('GVol.interaction.Pointer'); + + +/** + * @classdesc + * Allows the user to rotate the map by clicking and dragging on the map, + * normally combined with an {@link GVol.events.condition} that limits + * it to when the alt and shift keys are held down. + * + * This interaction is only supported for mouse devices. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @param {GVolx.interaction.DragRotateOptions=} opt_options Options. + * @api + */ +GVol.interaction.DragRotate = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.DragRotate.handleDownEvent_, + handleDragEvent: GVol.interaction.DragRotate.handleDragEvent_, + handleUpEvent: GVol.interaction.DragRotate.handleUpEvent_ + }); + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.condition_ = options.condition ? + options.condition : GVol.events.condition.altShiftKeysOnly; + + /** + * @private + * @type {number|undefined} + */ + this.lastAngle_ = undefined; + + /** + * @private + * @type {number} + */ + this.duration_ = options.duration !== undefined ? options.duration : 250; +}; +GVol.inherits(GVol.interaction.DragRotate, GVol.interaction.Pointer); + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @this {GVol.interaction.DragRotate} + * @private + */ +GVol.interaction.DragRotate.handleDragEvent_ = function(mapBrowserEvent) { + if (!GVol.events.condition.mouseOnly(mapBrowserEvent)) { + return; + } + + var map = mapBrowserEvent.map; + var view = map.getView(); + if (view.getConstraints().rotation === GVol.RotationConstraint.disable) { + return; + } + var size = map.getSize(); + var offset = mapBrowserEvent.pixel; + var theta = + Math.atan2(size[1] / 2 - offset[1], offset[0] - size[0] / 2); + if (this.lastAngle_ !== undefined) { + var delta = theta - this.lastAngle_; + var rotation = view.getRotation(); + GVol.interaction.Interaction.rotateWithoutConstraints( + view, rotation - delta); + } + this.lastAngle_ = theta; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.DragRotate} + * @private + */ +GVol.interaction.DragRotate.handleUpEvent_ = function(mapBrowserEvent) { + if (!GVol.events.condition.mouseOnly(mapBrowserEvent)) { + return true; + } + + var map = mapBrowserEvent.map; + var view = map.getView(); + view.setHint(GVol.ViewHint.INTERACTING, -1); + var rotation = view.getRotation(); + GVol.interaction.Interaction.rotate(view, rotation, + undefined, this.duration_); + return false; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Start drag sequence? + * @this {GVol.interaction.DragRotate} + * @private + */ +GVol.interaction.DragRotate.handleDownEvent_ = function(mapBrowserEvent) { + if (!GVol.events.condition.mouseOnly(mapBrowserEvent)) { + return false; + } + + if (GVol.events.condition.mouseActionButton(mapBrowserEvent) && + this.condition_(mapBrowserEvent)) { + var map = mapBrowserEvent.map; + map.getView().setHint(GVol.ViewHint.INTERACTING, 1); + this.lastAngle_ = undefined; + return true; + } else { + return false; + } +}; + + +/** + * @inheritDoc + */ +GVol.interaction.DragRotate.prototype.shouldStopEvent = GVol.functions.FALSE; + +// FIXME add rotation + +goog.provide('GVol.render.Box'); + +goog.require('GVol'); +goog.require('GVol.Disposable'); +goog.require('GVol.geom.PGVolygon'); + + +/** + * @constructor + * @extends {GVol.Disposable} + * @param {string} className CSS class name. + */ +GVol.render.Box = function(className) { + + /** + * @type {GVol.geom.PGVolygon} + * @private + */ + this.geometry_ = null; + + /** + * @type {HTMLDivElement} + * @private + */ + this.element_ = /** @type {HTMLDivElement} */ (document.createElement('div')); + this.element_.style.position = 'absGVolute'; + this.element_.className = 'GVol-box ' + className; + + /** + * @private + * @type {GVol.Map} + */ + this.map_ = null; + + /** + * @private + * @type {GVol.Pixel} + */ + this.startPixel_ = null; + + /** + * @private + * @type {GVol.Pixel} + */ + this.endPixel_ = null; + +}; +GVol.inherits(GVol.render.Box, GVol.Disposable); + + +/** + * @inheritDoc + */ +GVol.render.Box.prototype.disposeInternal = function() { + this.setMap(null); +}; + + +/** + * @private + */ +GVol.render.Box.prototype.render_ = function() { + var startPixel = this.startPixel_; + var endPixel = this.endPixel_; + var px = 'px'; + var style = this.element_.style; + style.left = Math.min(startPixel[0], endPixel[0]) + px; + style.top = Math.min(startPixel[1], endPixel[1]) + px; + style.width = Math.abs(endPixel[0] - startPixel[0]) + px; + style.height = Math.abs(endPixel[1] - startPixel[1]) + px; +}; + + +/** + * @param {GVol.Map} map Map. + */ +GVol.render.Box.prototype.setMap = function(map) { + if (this.map_) { + this.map_.getOverlayContainer().removeChild(this.element_); + var style = this.element_.style; + style.left = style.top = style.width = style.height = 'inherit'; + } + this.map_ = map; + if (this.map_) { + this.map_.getOverlayContainer().appendChild(this.element_); + } +}; + + +/** + * @param {GVol.Pixel} startPixel Start pixel. + * @param {GVol.Pixel} endPixel End pixel. + */ +GVol.render.Box.prototype.setPixels = function(startPixel, endPixel) { + this.startPixel_ = startPixel; + this.endPixel_ = endPixel; + this.createOrUpdateGeometry(); + this.render_(); +}; + + +/** + * Creates or updates the cached geometry. + */ +GVol.render.Box.prototype.createOrUpdateGeometry = function() { + var startPixel = this.startPixel_; + var endPixel = this.endPixel_; + var pixels = [ + startPixel, + [startPixel[0], endPixel[1]], + endPixel, + [endPixel[0], startPixel[1]] + ]; + var coordinates = pixels.map(this.map_.getCoordinateFromPixel, this.map_); + // close the pGVolygon + coordinates[4] = coordinates[0].slice(); + if (!this.geometry_) { + this.geometry_ = new GVol.geom.PGVolygon([coordinates]); + } else { + this.geometry_.setCoordinates([coordinates]); + } +}; + + +/** + * @return {GVol.geom.PGVolygon} Geometry. + */ +GVol.render.Box.prototype.getGeometry = function() { + return this.geometry_; +}; + +// FIXME draw drag box +goog.provide('GVol.interaction.DragBox'); + +goog.require('GVol.events.Event'); +goog.require('GVol'); +goog.require('GVol.events.condition'); +goog.require('GVol.interaction.Pointer'); +goog.require('GVol.render.Box'); + + +/** + * @classdesc + * Allows the user to draw a vector box by clicking and dragging on the map, + * normally combined with an {@link GVol.events.condition} that limits + * it to when the shift or other key is held down. This is used, for example, + * for zooming to a specific area of the map + * (see {@link GVol.interaction.DragZoom} and + * {@link GVol.interaction.DragRotateAndZoom}). + * + * This interaction is only supported for mouse devices. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @fires GVol.interaction.DragBox.Event + * @param {GVolx.interaction.DragBoxOptions=} opt_options Options. + * @api + */ +GVol.interaction.DragBox = function(opt_options) { + + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.DragBox.handleDownEvent_, + handleDragEvent: GVol.interaction.DragBox.handleDragEvent_, + handleUpEvent: GVol.interaction.DragBox.handleUpEvent_ + }); + + var options = opt_options ? opt_options : {}; + + /** + * @type {GVol.render.Box} + * @private + */ + this.box_ = new GVol.render.Box(options.className || 'GVol-dragbox'); + + /** + * @type {number} + * @private + */ + this.minArea_ = options.minArea !== undefined ? options.minArea : 64; + + /** + * @type {GVol.Pixel} + * @private + */ + this.startPixel_ = null; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.condition_ = options.condition ? + options.condition : GVol.events.condition.always; + + /** + * @private + * @type {GVol.DragBoxEndConditionType} + */ + this.boxEndCondition_ = options.boxEndCondition ? + options.boxEndCondition : GVol.interaction.DragBox.defaultBoxEndCondition; +}; +GVol.inherits(GVol.interaction.DragBox, GVol.interaction.Pointer); + + +/** + * The default condition for determining whether the boxend event + * should fire. + * @param {GVol.MapBrowserEvent} mapBrowserEvent The originating MapBrowserEvent + * leading to the box end. + * @param {GVol.Pixel} startPixel The starting pixel of the box. + * @param {GVol.Pixel} endPixel The end pixel of the box. + * @return {boGVolean} Whether or not the boxend condition should be fired. + * @this {GVol.interaction.DragBox} + */ +GVol.interaction.DragBox.defaultBoxEndCondition = function(mapBrowserEvent, startPixel, endPixel) { + var width = endPixel[0] - startPixel[0]; + var height = endPixel[1] - startPixel[1]; + return width * width + height * height >= this.minArea_; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @this {GVol.interaction.DragBox} + * @private + */ +GVol.interaction.DragBox.handleDragEvent_ = function(mapBrowserEvent) { + if (!GVol.events.condition.mouseOnly(mapBrowserEvent)) { + return; + } + + this.box_.setPixels(this.startPixel_, mapBrowserEvent.pixel); + + this.dispatchEvent(new GVol.interaction.DragBox.Event(GVol.interaction.DragBox.EventType_.BOXDRAG, + mapBrowserEvent.coordinate, mapBrowserEvent)); +}; + + +/** + * Returns geometry of last drawn box. + * @return {GVol.geom.PGVolygon} Geometry. + * @api + */ +GVol.interaction.DragBox.prototype.getGeometry = function() { + return this.box_.getGeometry(); +}; + + +/** + * To be overridden by child classes. + * FIXME: use constructor option instead of relying on overriding. + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @protected + */ +GVol.interaction.DragBox.prototype.onBoxEnd = GVol.nullFunction; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.DragBox} + * @private + */ +GVol.interaction.DragBox.handleUpEvent_ = function(mapBrowserEvent) { + if (!GVol.events.condition.mouseOnly(mapBrowserEvent)) { + return true; + } + + this.box_.setMap(null); + + if (this.boxEndCondition_(mapBrowserEvent, + this.startPixel_, mapBrowserEvent.pixel)) { + this.onBoxEnd(mapBrowserEvent); + this.dispatchEvent(new GVol.interaction.DragBox.Event(GVol.interaction.DragBox.EventType_.BOXEND, + mapBrowserEvent.coordinate, mapBrowserEvent)); + } + return false; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Start drag sequence? + * @this {GVol.interaction.DragBox} + * @private + */ +GVol.interaction.DragBox.handleDownEvent_ = function(mapBrowserEvent) { + if (!GVol.events.condition.mouseOnly(mapBrowserEvent)) { + return false; + } + + if (GVol.events.condition.mouseActionButton(mapBrowserEvent) && + this.condition_(mapBrowserEvent)) { + this.startPixel_ = mapBrowserEvent.pixel; + this.box_.setMap(mapBrowserEvent.map); + this.box_.setPixels(this.startPixel_, this.startPixel_); + this.dispatchEvent(new GVol.interaction.DragBox.Event(GVol.interaction.DragBox.EventType_.BOXSTART, + mapBrowserEvent.coordinate, mapBrowserEvent)); + return true; + } else { + return false; + } +}; + + +/** + * @enum {string} + * @private + */ +GVol.interaction.DragBox.EventType_ = { + /** + * Triggered upon drag box start. + * @event GVol.interaction.DragBox.Event#boxstart + * @api + */ + BOXSTART: 'boxstart', + + /** + * Triggered on drag when box is active. + * @event GVol.interaction.DragBox.Event#boxdrag + * @api + */ + BOXDRAG: 'boxdrag', + + /** + * Triggered upon drag box end. + * @event GVol.interaction.DragBox.Event#boxend + * @api + */ + BOXEND: 'boxend' +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.interaction.DragBox} instances are instances of + * this type. + * + * @param {string} type The event type. + * @param {GVol.Coordinate} coordinate The event coordinate. + * @param {GVol.MapBrowserEvent} mapBrowserEvent Originating event. + * @extends {GVol.events.Event} + * @constructor + * @implements {GVoli.DragBoxEvent} + */ +GVol.interaction.DragBox.Event = function(type, coordinate, mapBrowserEvent) { + GVol.events.Event.call(this, type); + + /** + * The coordinate of the drag event. + * @const + * @type {GVol.Coordinate} + * @api + */ + this.coordinate = coordinate; + + /** + * @const + * @type {GVol.MapBrowserEvent} + * @api + */ + this.mapBrowserEvent = mapBrowserEvent; + +}; +GVol.inherits(GVol.interaction.DragBox.Event, GVol.events.Event); + +goog.provide('GVol.interaction.DragZoom'); + +goog.require('GVol'); +goog.require('GVol.easing'); +goog.require('GVol.events.condition'); +goog.require('GVol.extent'); +goog.require('GVol.interaction.DragBox'); + + +/** + * @classdesc + * Allows the user to zoom the map by clicking and dragging on the map, + * normally combined with an {@link GVol.events.condition} that limits + * it to when a key, shift by default, is held down. + * + * To change the style of the box, use CSS and the `.GVol-dragzoom` selector, or + * your custom one configured with `className`. + * + * @constructor + * @extends {GVol.interaction.DragBox} + * @param {GVolx.interaction.DragZoomOptions=} opt_options Options. + * @api + */ +GVol.interaction.DragZoom = function(opt_options) { + var options = opt_options ? opt_options : {}; + + var condition = options.condition ? + options.condition : GVol.events.condition.shiftKeyOnly; + + /** + * @private + * @type {number} + */ + this.duration_ = options.duration !== undefined ? options.duration : 200; + + /** + * @private + * @type {boGVolean} + */ + this.out_ = options.out !== undefined ? options.out : false; + + GVol.interaction.DragBox.call(this, { + condition: condition, + className: options.className || 'GVol-dragzoom' + }); + +}; +GVol.inherits(GVol.interaction.DragZoom, GVol.interaction.DragBox); + + +/** + * @inheritDoc + */ +GVol.interaction.DragZoom.prototype.onBoxEnd = function() { + var map = this.getMap(); + + var view = /** @type {!GVol.View} */ (map.getView()); + + var size = /** @type {!GVol.Size} */ (map.getSize()); + + var extent = this.getGeometry().getExtent(); + + if (this.out_) { + var mapExtent = view.calculateExtent(size); + var boxPixelExtent = GVol.extent.createOrUpdateFromCoordinates([ + map.getPixelFromCoordinate(GVol.extent.getBottomLeft(extent)), + map.getPixelFromCoordinate(GVol.extent.getTopRight(extent))]); + var factor = view.getResGVolutionForExtent(boxPixelExtent, size); + + GVol.extent.scaleFromCenter(mapExtent, 1 / factor); + extent = mapExtent; + } + + var resGVolution = view.constrainResGVolution( + view.getResGVolutionForExtent(extent, size)); + + var center = GVol.extent.getCenter(extent); + center = view.constrainCenter(center); + + view.animate({ + resGVolution: resGVolution, + center: center, + duration: this.duration_, + easing: GVol.easing.easeOut + }); + +}; + +goog.provide('GVol.events.KeyCode'); + +/** + * @enum {number} + * @const + */ +GVol.events.KeyCode = { + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40 +}; + +goog.provide('GVol.interaction.KeyboardPan'); + +goog.require('GVol'); +goog.require('GVol.coordinate'); +goog.require('GVol.events.EventType'); +goog.require('GVol.events.KeyCode'); +goog.require('GVol.events.condition'); +goog.require('GVol.interaction.Interaction'); + + +/** + * @classdesc + * Allows the user to pan the map using keyboard arrows. + * Note that, although this interaction is by default included in maps, + * the keys can only be used when browser focus is on the element to which + * the keyboard events are attached. By default, this is the map div, + * though you can change this with the `keyboardEventTarget` in + * {@link GVol.Map}. `document` never loses focus but, for any other element, + * focus will have to be on, and returned to, this element if the keys are to + * function. + * See also {@link GVol.interaction.KeyboardZoom}. + * + * @constructor + * @extends {GVol.interaction.Interaction} + * @param {GVolx.interaction.KeyboardPanOptions=} opt_options Options. + * @api + */ +GVol.interaction.KeyboardPan = function(opt_options) { + + GVol.interaction.Interaction.call(this, { + handleEvent: GVol.interaction.KeyboardPan.handleEvent + }); + + var options = opt_options || {}; + + /** + * @private + * @param {GVol.MapBrowserEvent} mapBrowserEvent Browser event. + * @return {boGVolean} Combined condition result. + */ + this.defaultCondition_ = function(mapBrowserEvent) { + return GVol.events.condition.noModifierKeys(mapBrowserEvent) && + GVol.events.condition.targetNotEditable(mapBrowserEvent); + }; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.condition_ = options.condition !== undefined ? + options.condition : this.defaultCondition_; + + /** + * @private + * @type {number} + */ + this.duration_ = options.duration !== undefined ? options.duration : 100; + + /** + * @private + * @type {number} + */ + this.pixelDelta_ = options.pixelDelta !== undefined ? + options.pixelDelta : 128; + +}; +GVol.inherits(GVol.interaction.KeyboardPan, GVol.interaction.Interaction); + +/** + * Handles the {@link GVol.MapBrowserEvent map browser event} if it was a + * `KeyEvent`, and decides the direction to pan to (if an arrow key was + * pressed). + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} `false` to stop event propagation. + * @this {GVol.interaction.KeyboardPan} + * @api + */ +GVol.interaction.KeyboardPan.handleEvent = function(mapBrowserEvent) { + var stopEvent = false; + if (mapBrowserEvent.type == GVol.events.EventType.KEYDOWN) { + var keyEvent = mapBrowserEvent.originalEvent; + var keyCode = keyEvent.keyCode; + if (this.condition_(mapBrowserEvent) && + (keyCode == GVol.events.KeyCode.DOWN || + keyCode == GVol.events.KeyCode.LEFT || + keyCode == GVol.events.KeyCode.RIGHT || + keyCode == GVol.events.KeyCode.UP)) { + var map = mapBrowserEvent.map; + var view = map.getView(); + var mapUnitsDelta = view.getResGVolution() * this.pixelDelta_; + var deltaX = 0, deltaY = 0; + if (keyCode == GVol.events.KeyCode.DOWN) { + deltaY = -mapUnitsDelta; + } else if (keyCode == GVol.events.KeyCode.LEFT) { + deltaX = -mapUnitsDelta; + } else if (keyCode == GVol.events.KeyCode.RIGHT) { + deltaX = mapUnitsDelta; + } else { + deltaY = mapUnitsDelta; + } + var delta = [deltaX, deltaY]; + GVol.coordinate.rotate(delta, view.getRotation()); + GVol.interaction.Interaction.pan(view, delta, this.duration_); + mapBrowserEvent.preventDefault(); + stopEvent = true; + } + } + return !stopEvent; +}; + +goog.provide('GVol.interaction.KeyboardZoom'); + +goog.require('GVol'); +goog.require('GVol.events.EventType'); +goog.require('GVol.events.condition'); +goog.require('GVol.interaction.Interaction'); + + +/** + * @classdesc + * Allows the user to zoom the map using keyboard + and -. + * Note that, although this interaction is by default included in maps, + * the keys can only be used when browser focus is on the element to which + * the keyboard events are attached. By default, this is the map div, + * though you can change this with the `keyboardEventTarget` in + * {@link GVol.Map}. `document` never loses focus but, for any other element, + * focus will have to be on, and returned to, this element if the keys are to + * function. + * See also {@link GVol.interaction.KeyboardPan}. + * + * @constructor + * @param {GVolx.interaction.KeyboardZoomOptions=} opt_options Options. + * @extends {GVol.interaction.Interaction} + * @api + */ +GVol.interaction.KeyboardZoom = function(opt_options) { + + GVol.interaction.Interaction.call(this, { + handleEvent: GVol.interaction.KeyboardZoom.handleEvent + }); + + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.condition_ = options.condition ? options.condition : + GVol.events.condition.targetNotEditable; + + /** + * @private + * @type {number} + */ + this.delta_ = options.delta ? options.delta : 1; + + /** + * @private + * @type {number} + */ + this.duration_ = options.duration !== undefined ? options.duration : 100; + +}; +GVol.inherits(GVol.interaction.KeyboardZoom, GVol.interaction.Interaction); + + +/** + * Handles the {@link GVol.MapBrowserEvent map browser event} if it was a + * `KeyEvent`, and decides whether to zoom in or out (depending on whether the + * key pressed was '+' or '-'). + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} `false` to stop event propagation. + * @this {GVol.interaction.KeyboardZoom} + * @api + */ +GVol.interaction.KeyboardZoom.handleEvent = function(mapBrowserEvent) { + var stopEvent = false; + if (mapBrowserEvent.type == GVol.events.EventType.KEYDOWN || + mapBrowserEvent.type == GVol.events.EventType.KEYPRESS) { + var keyEvent = mapBrowserEvent.originalEvent; + var charCode = keyEvent.charCode; + if (this.condition_(mapBrowserEvent) && + (charCode == '+'.charCodeAt(0) || charCode == '-'.charCodeAt(0))) { + var map = mapBrowserEvent.map; + var delta = (charCode == '+'.charCodeAt(0)) ? this.delta_ : -this.delta_; + var view = map.getView(); + GVol.interaction.Interaction.zoomByDelta( + view, delta, undefined, this.duration_); + mapBrowserEvent.preventDefault(); + stopEvent = true; + } + } + return !stopEvent; +}; + +goog.provide('GVol.interaction.MouseWheelZoom'); + +goog.require('GVol'); +goog.require('GVol.ViewHint'); +goog.require('GVol.easing'); +goog.require('GVol.events.EventType'); +goog.require('GVol.has'); +goog.require('GVol.interaction.Interaction'); +goog.require('GVol.math'); + + +/** + * @classdesc + * Allows the user to zoom the map by scrGVolling the mouse wheel. + * + * @constructor + * @extends {GVol.interaction.Interaction} + * @param {GVolx.interaction.MouseWheelZoomOptions=} opt_options Options. + * @api + */ +GVol.interaction.MouseWheelZoom = function(opt_options) { + + GVol.interaction.Interaction.call(this, { + handleEvent: GVol.interaction.MouseWheelZoom.handleEvent + }); + + var options = opt_options || {}; + + /** + * @private + * @type {number} + */ + this.delta_ = 0; + + /** + * @private + * @type {number} + */ + this.duration_ = options.duration !== undefined ? options.duration : 250; + + /** + * @private + * @type {number} + */ + this.timeout_ = options.timeout !== undefined ? options.timeout : 80; + + /** + * @private + * @type {boGVolean} + */ + this.useAnchor_ = options.useAnchor !== undefined ? options.useAnchor : true; + + /** + * @private + * @type {boGVolean} + */ + this.constrainResGVolution_ = options.constrainResGVolution || false; + + /** + * @private + * @type {?GVol.Coordinate} + */ + this.lastAnchor_ = null; + + /** + * @private + * @type {number|undefined} + */ + this.startTime_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.timeoutId_ = undefined; + + /** + * @private + * @type {GVol.interaction.MouseWheelZoom.Mode_|undefined} + */ + this.mode_ = undefined; + + /** + * Trackpad events separated by this delay will be considered separate + * interactions. + * @type {number} + */ + this.trackpadEventGap_ = 400; + + /** + * @type {number|undefined} + */ + this.trackpadTimeoutId_ = undefined; + + /** + * The number of delta values per zoom level + * @private + * @type {number} + */ + this.trackpadDeltaPerZoom_ = 300; + + /** + * The zoom factor by which scrGVoll zooming is allowed to exceed the limits. + * @private + * @type {number} + */ + this.trackpadZoomBuffer_ = 1.5; + +}; +GVol.inherits(GVol.interaction.MouseWheelZoom, GVol.interaction.Interaction); + + +/** + * Handles the {@link GVol.MapBrowserEvent map browser event} (if it was a + * mousewheel-event) and eventually zooms the map. + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} Allow event propagation. + * @this {GVol.interaction.MouseWheelZoom} + * @api + */ +GVol.interaction.MouseWheelZoom.handleEvent = function(mapBrowserEvent) { + var type = mapBrowserEvent.type; + if (type !== GVol.events.EventType.WHEEL && type !== GVol.events.EventType.MOUSEWHEEL) { + return true; + } + + mapBrowserEvent.preventDefault(); + + var map = mapBrowserEvent.map; + var wheelEvent = /** @type {WheelEvent} */ (mapBrowserEvent.originalEvent); + + if (this.useAnchor_) { + this.lastAnchor_ = mapBrowserEvent.coordinate; + } + + // Delta normalisation inspired by + // https://github.com/mapbox/mapbox-gl-js/blob/001c7b9/js/ui/handler/scrGVoll_zoom.js + var delta; + if (mapBrowserEvent.type == GVol.events.EventType.WHEEL) { + delta = wheelEvent.deltaY; + if (GVol.has.FIREFOX && + wheelEvent.deltaMode === WheelEvent.DOM_DELTA_PIXEL) { + delta /= GVol.has.DEVICE_PIXEL_RATIO; + } + if (wheelEvent.deltaMode === WheelEvent.DOM_DELTA_LINE) { + delta *= 40; + } + } else if (mapBrowserEvent.type == GVol.events.EventType.MOUSEWHEEL) { + delta = -wheelEvent.wheelDeltaY; + if (GVol.has.SAFARI) { + delta /= 3; + } + } + + if (delta === 0) { + return false; + } + + var now = Date.now(); + + if (this.startTime_ === undefined) { + this.startTime_ = now; + } + + if (!this.mode_ || now - this.startTime_ > this.trackpadEventGap_) { + this.mode_ = Math.abs(delta) < 4 ? + GVol.interaction.MouseWheelZoom.Mode_.TRACKPAD : + GVol.interaction.MouseWheelZoom.Mode_.WHEEL; + } + + if (this.mode_ === GVol.interaction.MouseWheelZoom.Mode_.TRACKPAD) { + var view = map.getView(); + if (this.trackpadTimeoutId_) { + clearTimeout(this.trackpadTimeoutId_); + } else { + view.setHint(GVol.ViewHint.INTERACTING, 1); + } + this.trackpadTimeoutId_ = setTimeout(this.decrementInteractingHint_.bind(this), this.trackpadEventGap_); + var resGVolution = view.getResGVolution() * Math.pow(2, delta / this.trackpadDeltaPerZoom_); + var minResGVolution = view.getMinResGVolution(); + var maxResGVolution = view.getMaxResGVolution(); + var rebound = 0; + if (resGVolution < minResGVolution) { + resGVolution = Math.max(resGVolution, minResGVolution / this.trackpadZoomBuffer_); + rebound = 1; + } else if (resGVolution > maxResGVolution) { + resGVolution = Math.min(resGVolution, maxResGVolution * this.trackpadZoomBuffer_); + rebound = -1; + } + if (this.lastAnchor_) { + var center = view.calculateCenterZoom(resGVolution, this.lastAnchor_); + view.setCenter(view.constrainCenter(center)); + } + view.setResGVolution(resGVolution); + + if (rebound === 0 && this.constrainResGVolution_) { + view.animate({ + resGVolution: view.constrainResGVolution(resGVolution, delta > 0 ? -1 : 1), + easing: GVol.easing.easeOut, + anchor: this.lastAnchor_, + duration: this.duration_ + }); + } + + if (rebound > 0) { + view.animate({ + resGVolution: minResGVolution, + easing: GVol.easing.easeOut, + anchor: this.lastAnchor_, + duration: 500 + }); + } else if (rebound < 0) { + view.animate({ + resGVolution: maxResGVolution, + easing: GVol.easing.easeOut, + anchor: this.lastAnchor_, + duration: 500 + }); + } + this.startTime_ = now; + return false; + } + + this.delta_ += delta; + + var timeLeft = Math.max(this.timeout_ - (now - this.startTime_), 0); + + clearTimeout(this.timeoutId_); + this.timeoutId_ = setTimeout(this.handleWheelZoom_.bind(this, map), timeLeft); + + return false; +}; + + +/** + * @private + */ +GVol.interaction.MouseWheelZoom.prototype.decrementInteractingHint_ = function() { + this.trackpadTimeoutId_ = undefined; + var view = this.getMap().getView(); + view.setHint(GVol.ViewHint.INTERACTING, -1); +}; + + +/** + * @private + * @param {GVol.Map} map Map. + */ +GVol.interaction.MouseWheelZoom.prototype.handleWheelZoom_ = function(map) { + var view = map.getView(); + if (view.getAnimating()) { + view.cancelAnimations(); + } + var maxDelta = GVol.MOUSEWHEELZOOM_MAXDELTA; + var delta = GVol.math.clamp(this.delta_, -maxDelta, maxDelta); + GVol.interaction.Interaction.zoomByDelta(view, -delta, this.lastAnchor_, + this.duration_); + this.mode_ = undefined; + this.delta_ = 0; + this.lastAnchor_ = null; + this.startTime_ = undefined; + this.timeoutId_ = undefined; +}; + + +/** + * Enable or disable using the mouse's location as an anchor when zooming + * @param {boGVolean} useAnchor true to zoom to the mouse's location, false + * to zoom to the center of the map + * @api + */ +GVol.interaction.MouseWheelZoom.prototype.setMouseAnchor = function(useAnchor) { + this.useAnchor_ = useAnchor; + if (!useAnchor) { + this.lastAnchor_ = null; + } +}; + + +/** + * @enum {string} + * @private + */ +GVol.interaction.MouseWheelZoom.Mode_ = { + TRACKPAD: 'trackpad', + WHEEL: 'wheel' +}; + +goog.provide('GVol.interaction.PinchRotate'); + +goog.require('GVol'); +goog.require('GVol.ViewHint'); +goog.require('GVol.functions'); +goog.require('GVol.interaction.Interaction'); +goog.require('GVol.interaction.Pointer'); +goog.require('GVol.RotationConstraint'); + + +/** + * @classdesc + * Allows the user to rotate the map by twisting with two fingers + * on a touch screen. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @param {GVolx.interaction.PinchRotateOptions=} opt_options Options. + * @api + */ +GVol.interaction.PinchRotate = function(opt_options) { + + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.PinchRotate.handleDownEvent_, + handleDragEvent: GVol.interaction.PinchRotate.handleDragEvent_, + handleUpEvent: GVol.interaction.PinchRotate.handleUpEvent_ + }); + + var options = opt_options || {}; + + /** + * @private + * @type {GVol.Coordinate} + */ + this.anchor_ = null; + + /** + * @private + * @type {number|undefined} + */ + this.lastAngle_ = undefined; + + /** + * @private + * @type {boGVolean} + */ + this.rotating_ = false; + + /** + * @private + * @type {number} + */ + this.rotationDelta_ = 0.0; + + /** + * @private + * @type {number} + */ + this.threshGVold_ = options.threshGVold !== undefined ? options.threshGVold : 0.3; + + /** + * @private + * @type {number} + */ + this.duration_ = options.duration !== undefined ? options.duration : 250; + +}; +GVol.inherits(GVol.interaction.PinchRotate, GVol.interaction.Pointer); + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @this {GVol.interaction.PinchRotate} + * @private + */ +GVol.interaction.PinchRotate.handleDragEvent_ = function(mapBrowserEvent) { + var rotationDelta = 0.0; + + var touch0 = this.targetPointers[0]; + var touch1 = this.targetPointers[1]; + + // angle between touches + var angle = Math.atan2( + touch1.clientY - touch0.clientY, + touch1.clientX - touch0.clientX); + + if (this.lastAngle_ !== undefined) { + var delta = angle - this.lastAngle_; + this.rotationDelta_ += delta; + if (!this.rotating_ && + Math.abs(this.rotationDelta_) > this.threshGVold_) { + this.rotating_ = true; + } + rotationDelta = delta; + } + this.lastAngle_ = angle; + + var map = mapBrowserEvent.map; + var view = map.getView(); + if (view.getConstraints().rotation === GVol.RotationConstraint.disable) { + return; + } + + // rotate anchor point. + // FIXME: should be the intersection point between the lines: + // touch0,touch1 and previousTouch0,previousTouch1 + var viewportPosition = map.getViewport().getBoundingClientRect(); + var centroid = GVol.interaction.Pointer.centroid(this.targetPointers); + centroid[0] -= viewportPosition.left; + centroid[1] -= viewportPosition.top; + this.anchor_ = map.getCoordinateFromPixel(centroid); + + // rotate + if (this.rotating_) { + var rotation = view.getRotation(); + map.render(); + GVol.interaction.Interaction.rotateWithoutConstraints(view, + rotation + rotationDelta, this.anchor_); + } +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.PinchRotate} + * @private + */ +GVol.interaction.PinchRotate.handleUpEvent_ = function(mapBrowserEvent) { + if (this.targetPointers.length < 2) { + var map = mapBrowserEvent.map; + var view = map.getView(); + view.setHint(GVol.ViewHint.INTERACTING, -1); + if (this.rotating_) { + var rotation = view.getRotation(); + GVol.interaction.Interaction.rotate( + view, rotation, this.anchor_, this.duration_); + } + return false; + } else { + return true; + } +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Start drag sequence? + * @this {GVol.interaction.PinchRotate} + * @private + */ +GVol.interaction.PinchRotate.handleDownEvent_ = function(mapBrowserEvent) { + if (this.targetPointers.length >= 2) { + var map = mapBrowserEvent.map; + this.anchor_ = null; + this.lastAngle_ = undefined; + this.rotating_ = false; + this.rotationDelta_ = 0.0; + if (!this.handlingDownUpSequence) { + map.getView().setHint(GVol.ViewHint.INTERACTING, 1); + } + return true; + } else { + return false; + } +}; + + +/** + * @inheritDoc + */ +GVol.interaction.PinchRotate.prototype.shouldStopEvent = GVol.functions.FALSE; + +goog.provide('GVol.interaction.PinchZoom'); + +goog.require('GVol'); +goog.require('GVol.ViewHint'); +goog.require('GVol.functions'); +goog.require('GVol.interaction.Interaction'); +goog.require('GVol.interaction.Pointer'); + + +/** + * @classdesc + * Allows the user to zoom the map by pinching with two fingers + * on a touch screen. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @param {GVolx.interaction.PinchZoomOptions=} opt_options Options. + * @api + */ +GVol.interaction.PinchZoom = function(opt_options) { + + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.PinchZoom.handleDownEvent_, + handleDragEvent: GVol.interaction.PinchZoom.handleDragEvent_, + handleUpEvent: GVol.interaction.PinchZoom.handleUpEvent_ + }); + + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {boGVolean} + */ + this.constrainResGVolution_ = options.constrainResGVolution || false; + + /** + * @private + * @type {GVol.Coordinate} + */ + this.anchor_ = null; + + /** + * @private + * @type {number} + */ + this.duration_ = options.duration !== undefined ? options.duration : 400; + + /** + * @private + * @type {number|undefined} + */ + this.lastDistance_ = undefined; + + /** + * @private + * @type {number} + */ + this.lastScaleDelta_ = 1; + +}; +GVol.inherits(GVol.interaction.PinchZoom, GVol.interaction.Pointer); + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @this {GVol.interaction.PinchZoom} + * @private + */ +GVol.interaction.PinchZoom.handleDragEvent_ = function(mapBrowserEvent) { + var scaleDelta = 1.0; + + var touch0 = this.targetPointers[0]; + var touch1 = this.targetPointers[1]; + var dx = touch0.clientX - touch1.clientX; + var dy = touch0.clientY - touch1.clientY; + + // distance between touches + var distance = Math.sqrt(dx * dx + dy * dy); + + if (this.lastDistance_ !== undefined) { + scaleDelta = this.lastDistance_ / distance; + } + this.lastDistance_ = distance; + + + var map = mapBrowserEvent.map; + var view = map.getView(); + var resGVolution = view.getResGVolution(); + var maxResGVolution = view.getMaxResGVolution(); + var minResGVolution = view.getMinResGVolution(); + var newResGVolution = resGVolution * scaleDelta; + if (newResGVolution > maxResGVolution) { + scaleDelta = maxResGVolution / resGVolution; + newResGVolution = maxResGVolution; + } else if (newResGVolution < minResGVolution) { + scaleDelta = minResGVolution / resGVolution; + newResGVolution = minResGVolution; + } + + if (scaleDelta != 1.0) { + this.lastScaleDelta_ = scaleDelta; + } + + // scale anchor point. + var viewportPosition = map.getViewport().getBoundingClientRect(); + var centroid = GVol.interaction.Pointer.centroid(this.targetPointers); + centroid[0] -= viewportPosition.left; + centroid[1] -= viewportPosition.top; + this.anchor_ = map.getCoordinateFromPixel(centroid); + + // scale, bypass the resGVolution constraint + map.render(); + GVol.interaction.Interaction.zoomWithoutConstraints(view, newResGVolution, this.anchor_); +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.PinchZoom} + * @private + */ +GVol.interaction.PinchZoom.handleUpEvent_ = function(mapBrowserEvent) { + if (this.targetPointers.length < 2) { + var map = mapBrowserEvent.map; + var view = map.getView(); + view.setHint(GVol.ViewHint.INTERACTING, -1); + var resGVolution = view.getResGVolution(); + if (this.constrainResGVolution_ || + resGVolution < view.getMinResGVolution() || + resGVolution > view.getMaxResGVolution()) { + // Zoom to final resGVolution, with an animation, and provide a + // direction not to zoom out/in if user was pinching in/out. + // Direction is > 0 if pinching out, and < 0 if pinching in. + var direction = this.lastScaleDelta_ - 1; + GVol.interaction.Interaction.zoom(view, resGVolution, + this.anchor_, this.duration_, direction); + } + return false; + } else { + return true; + } +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Start drag sequence? + * @this {GVol.interaction.PinchZoom} + * @private + */ +GVol.interaction.PinchZoom.handleDownEvent_ = function(mapBrowserEvent) { + if (this.targetPointers.length >= 2) { + var map = mapBrowserEvent.map; + this.anchor_ = null; + this.lastDistance_ = undefined; + this.lastScaleDelta_ = 1; + if (!this.handlingDownUpSequence) { + map.getView().setHint(GVol.ViewHint.INTERACTING, 1); + } + return true; + } else { + return false; + } +}; + + +/** + * @inheritDoc + */ +GVol.interaction.PinchZoom.prototype.shouldStopEvent = GVol.functions.FALSE; + +goog.provide('GVol.interaction'); + +goog.require('GVol.CGVollection'); +goog.require('GVol.Kinetic'); +goog.require('GVol.interaction.DoubleClickZoom'); +goog.require('GVol.interaction.DragPan'); +goog.require('GVol.interaction.DragRotate'); +goog.require('GVol.interaction.DragZoom'); +goog.require('GVol.interaction.KeyboardPan'); +goog.require('GVol.interaction.KeyboardZoom'); +goog.require('GVol.interaction.MouseWheelZoom'); +goog.require('GVol.interaction.PinchRotate'); +goog.require('GVol.interaction.PinchZoom'); + + +/** + * Set of interactions included in maps by default. Specific interactions can be + * excluded by setting the appropriate option to false in the constructor + * options, but the order of the interactions is fixed. If you want to specify + * a different order for interactions, you will need to create your own + * {@link GVol.interaction.Interaction} instances and insert them into a + * {@link GVol.CGVollection} in the order you want before creating your + * {@link GVol.Map} instance. The default set of interactions, in sequence, is: + * * {@link GVol.interaction.DragRotate} + * * {@link GVol.interaction.DoubleClickZoom} + * * {@link GVol.interaction.DragPan} + * * {@link GVol.interaction.PinchRotate} + * * {@link GVol.interaction.PinchZoom} + * * {@link GVol.interaction.KeyboardPan} + * * {@link GVol.interaction.KeyboardZoom} + * * {@link GVol.interaction.MouseWheelZoom} + * * {@link GVol.interaction.DragZoom} + * + * @param {GVolx.interaction.DefaultsOptions=} opt_options Defaults options. + * @return {GVol.CGVollection.<GVol.interaction.Interaction>} A cGVollection of + * interactions to be used with the GVol.Map constructor's interactions option. + * @api + */ +GVol.interaction.defaults = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + var interactions = new GVol.CGVollection(); + + var kinetic = new GVol.Kinetic(-0.005, 0.05, 100); + + var altShiftDragRotate = options.altShiftDragRotate !== undefined ? + options.altShiftDragRotate : true; + if (altShiftDragRotate) { + interactions.push(new GVol.interaction.DragRotate()); + } + + var doubleClickZoom = options.doubleClickZoom !== undefined ? + options.doubleClickZoom : true; + if (doubleClickZoom) { + interactions.push(new GVol.interaction.DoubleClickZoom({ + delta: options.zoomDelta, + duration: options.zoomDuration + })); + } + + var dragPan = options.dragPan !== undefined ? options.dragPan : true; + if (dragPan) { + interactions.push(new GVol.interaction.DragPan({ + kinetic: kinetic + })); + } + + var pinchRotate = options.pinchRotate !== undefined ? options.pinchRotate : + true; + if (pinchRotate) { + interactions.push(new GVol.interaction.PinchRotate()); + } + + var pinchZoom = options.pinchZoom !== undefined ? options.pinchZoom : true; + if (pinchZoom) { + interactions.push(new GVol.interaction.PinchZoom({ + constrainResGVolution: options.constrainResGVolution, + duration: options.zoomDuration + })); + } + + var keyboard = options.keyboard !== undefined ? options.keyboard : true; + if (keyboard) { + interactions.push(new GVol.interaction.KeyboardPan()); + interactions.push(new GVol.interaction.KeyboardZoom({ + delta: options.zoomDelta, + duration: options.zoomDuration + })); + } + + var mouseWheelZoom = options.mouseWheelZoom !== undefined ? + options.mouseWheelZoom : true; + if (mouseWheelZoom) { + interactions.push(new GVol.interaction.MouseWheelZoom({ + constrainResGVolution: options.constrainResGVolution, + duration: options.zoomDuration + })); + } + + var shiftDragZoom = options.shiftDragZoom !== undefined ? + options.shiftDragZoom : true; + if (shiftDragZoom) { + interactions.push(new GVol.interaction.DragZoom({ + duration: options.zoomDuration + })); + } + + return interactions; + +}; + +goog.provide('GVol.layer.Property'); + +/** + * @enum {string} + */ +GVol.layer.Property = { + OPACITY: 'opacity', + VISIBLE: 'visible', + EXTENT: 'extent', + Z_INDEX: 'zIndex', + MAX_RESOLUTION: 'maxResGVolution', + MIN_RESOLUTION: 'minResGVolution', + SOURCE: 'source' +}; + +goog.provide('GVol.layer.Base'); + +goog.require('GVol'); +goog.require('GVol.Object'); +goog.require('GVol.layer.Property'); +goog.require('GVol.math'); +goog.require('GVol.obj'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Note that with `GVol.layer.Base` and all its subclasses, any property set in + * the options is set as a {@link GVol.Object} property on the layer object, so + * is observable, and has get/set accessors. + * + * @constructor + * @abstract + * @extends {GVol.Object} + * @param {GVolx.layer.BaseOptions} options Layer options. + * @api + */ +GVol.layer.Base = function(options) { + + GVol.Object.call(this); + + /** + * @type {Object.<string, *>} + */ + var properties = GVol.obj.assign({}, options); + properties[GVol.layer.Property.OPACITY] = + options.opacity !== undefined ? options.opacity : 1; + properties[GVol.layer.Property.VISIBLE] = + options.visible !== undefined ? options.visible : true; + properties[GVol.layer.Property.Z_INDEX] = + options.zIndex !== undefined ? options.zIndex : 0; + properties[GVol.layer.Property.MAX_RESOLUTION] = + options.maxResGVolution !== undefined ? options.maxResGVolution : Infinity; + properties[GVol.layer.Property.MIN_RESOLUTION] = + options.minResGVolution !== undefined ? options.minResGVolution : 0; + + this.setProperties(properties); + + /** + * @type {GVol.LayerState} + * @private + */ + this.state_ = /** @type {GVol.LayerState} */ ({ + layer: /** @type {GVol.layer.Layer} */ (this), + managed: true + }); + +}; +GVol.inherits(GVol.layer.Base, GVol.Object); + + +/** + * Create a renderer for this layer. + * @abstract + * @param {GVol.renderer.Map} mapRenderer The map renderer. + * @return {GVol.renderer.Layer} A layer renderer. + */ +GVol.layer.Base.prototype.createRenderer = function(mapRenderer) {}; + + +/** + * @return {GVol.LayerState} Layer state. + */ +GVol.layer.Base.prototype.getLayerState = function() { + this.state_.opacity = GVol.math.clamp(this.getOpacity(), 0, 1); + this.state_.sourceState = this.getSourceState(); + this.state_.visible = this.getVisible(); + this.state_.extent = this.getExtent(); + this.state_.zIndex = this.getZIndex(); + this.state_.maxResGVolution = this.getMaxResGVolution(); + this.state_.minResGVolution = Math.max(this.getMinResGVolution(), 0); + + return this.state_; +}; + + +/** + * @abstract + * @param {Array.<GVol.layer.Layer>=} opt_array Array of layers (to be + * modified in place). + * @return {Array.<GVol.layer.Layer>} Array of layers. + */ +GVol.layer.Base.prototype.getLayersArray = function(opt_array) {}; + + +/** + * @abstract + * @param {Array.<GVol.LayerState>=} opt_states Optional list of layer + * states (to be modified in place). + * @return {Array.<GVol.LayerState>} List of layer states. + */ +GVol.layer.Base.prototype.getLayerStatesArray = function(opt_states) {}; + + +/** + * Return the {@link GVol.Extent extent} of the layer or `undefined` if it + * will be visible regardless of extent. + * @return {GVol.Extent|undefined} The layer extent. + * @observable + * @api + */ +GVol.layer.Base.prototype.getExtent = function() { + return /** @type {GVol.Extent|undefined} */ ( + this.get(GVol.layer.Property.EXTENT)); +}; + + +/** + * Return the maximum resGVolution of the layer. + * @return {number} The maximum resGVolution of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.getMaxResGVolution = function() { + return /** @type {number} */ ( + this.get(GVol.layer.Property.MAX_RESOLUTION)); +}; + + +/** + * Return the minimum resGVolution of the layer. + * @return {number} The minimum resGVolution of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.getMinResGVolution = function() { + return /** @type {number} */ ( + this.get(GVol.layer.Property.MIN_RESOLUTION)); +}; + + +/** + * Return the opacity of the layer (between 0 and 1). + * @return {number} The opacity of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.getOpacity = function() { + return /** @type {number} */ (this.get(GVol.layer.Property.OPACITY)); +}; + + +/** + * @abstract + * @return {GVol.source.State} Source state. + */ +GVol.layer.Base.prototype.getSourceState = function() {}; + + +/** + * Return the visibility of the layer (`true` or `false`). + * @return {boGVolean} The visibility of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.getVisible = function() { + return /** @type {boGVolean} */ (this.get(GVol.layer.Property.VISIBLE)); +}; + + +/** + * Return the Z-index of the layer, which is used to order layers before + * rendering. The default Z-index is 0. + * @return {number} The Z-index of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.getZIndex = function() { + return /** @type {number} */ (this.get(GVol.layer.Property.Z_INDEX)); +}; + + +/** + * Set the extent at which the layer is visible. If `undefined`, the layer + * will be visible at all extents. + * @param {GVol.Extent|undefined} extent The extent of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.setExtent = function(extent) { + this.set(GVol.layer.Property.EXTENT, extent); +}; + + +/** + * Set the maximum resGVolution at which the layer is visible. + * @param {number} maxResGVolution The maximum resGVolution of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.setMaxResGVolution = function(maxResGVolution) { + this.set(GVol.layer.Property.MAX_RESOLUTION, maxResGVolution); +}; + + +/** + * Set the minimum resGVolution at which the layer is visible. + * @param {number} minResGVolution The minimum resGVolution of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.setMinResGVolution = function(minResGVolution) { + this.set(GVol.layer.Property.MIN_RESOLUTION, minResGVolution); +}; + + +/** + * Set the opacity of the layer, allowed values range from 0 to 1. + * @param {number} opacity The opacity of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.setOpacity = function(opacity) { + this.set(GVol.layer.Property.OPACITY, opacity); +}; + + +/** + * Set the visibility of the layer (`true` or `false`). + * @param {boGVolean} visible The visibility of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.setVisible = function(visible) { + this.set(GVol.layer.Property.VISIBLE, visible); +}; + + +/** + * Set Z-index of the layer, which is used to order layers before rendering. + * The default Z-index is 0. + * @param {number} zindex The z-index of the layer. + * @observable + * @api + */ +GVol.layer.Base.prototype.setZIndex = function(zindex) { + this.set(GVol.layer.Property.Z_INDEX, zindex); +}; + +goog.provide('GVol.source.State'); + + +/** + * State of the source, one of 'undefined', 'loading', 'ready' or 'error'. + * @enum {string} + */ +GVol.source.State = { + UNDEFINED: 'undefined', + LOADING: 'loading', + READY: 'ready', + ERROR: 'error' +}; + + +goog.provide('GVol.layer.Group'); + +goog.require('GVol'); +goog.require('GVol.CGVollection'); +goog.require('GVol.CGVollectionEventType'); +goog.require('GVol.Object'); +goog.require('GVol.ObjectEventType'); +goog.require('GVol.asserts'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.layer.Base'); +goog.require('GVol.obj'); +goog.require('GVol.source.State'); + + +/** + * @classdesc + * A {@link GVol.CGVollection} of layers that are handled together. + * + * A generic `change` event is triggered when the group/CGVollection changes. + * + * @constructor + * @extends {GVol.layer.Base} + * @param {GVolx.layer.GroupOptions=} opt_options Layer options. + * @api + */ +GVol.layer.Group = function(opt_options) { + + var options = opt_options || {}; + var baseOptions = /** @type {GVolx.layer.GroupOptions} */ + (GVol.obj.assign({}, options)); + delete baseOptions.layers; + + var layers = options.layers; + + GVol.layer.Base.call(this, baseOptions); + + /** + * @private + * @type {Array.<GVol.EventsKey>} + */ + this.layersListenerKeys_ = []; + + /** + * @private + * @type {Object.<string, Array.<GVol.EventsKey>>} + */ + this.listenerKeys_ = {}; + + GVol.events.listen(this, + GVol.Object.getChangeEventType(GVol.layer.Group.Property_.LAYERS), + this.handleLayersChanged_, this); + + if (layers) { + if (Array.isArray(layers)) { + layers = new GVol.CGVollection(layers.slice(), {unique: true}); + } else { + GVol.asserts.assert(layers instanceof GVol.CGVollection, + 43); // Expected `layers` to be an array or an `GVol.CGVollection` + layers = layers; + } + } else { + layers = new GVol.CGVollection(undefined, {unique: true}); + } + + this.setLayers(layers); + +}; +GVol.inherits(GVol.layer.Group, GVol.layer.Base); + + +/** + * @inheritDoc + */ +GVol.layer.Group.prototype.createRenderer = function(mapRenderer) {}; + + +/** + * @private + */ +GVol.layer.Group.prototype.handleLayerChange_ = function() { + this.changed(); +}; + + +/** + * @param {GVol.events.Event} event Event. + * @private + */ +GVol.layer.Group.prototype.handleLayersChanged_ = function(event) { + this.layersListenerKeys_.forEach(GVol.events.unlistenByKey); + this.layersListenerKeys_.length = 0; + + var layers = this.getLayers(); + this.layersListenerKeys_.push( + GVol.events.listen(layers, GVol.CGVollectionEventType.ADD, + this.handleLayersAdd_, this), + GVol.events.listen(layers, GVol.CGVollectionEventType.REMOVE, + this.handleLayersRemove_, this)); + + for (var id in this.listenerKeys_) { + this.listenerKeys_[id].forEach(GVol.events.unlistenByKey); + } + GVol.obj.clear(this.listenerKeys_); + + var layersArray = layers.getArray(); + var i, ii, layer; + for (i = 0, ii = layersArray.length; i < ii; i++) { + layer = layersArray[i]; + this.listenerKeys_[GVol.getUid(layer).toString()] = [ + GVol.events.listen(layer, GVol.ObjectEventType.PROPERTYCHANGE, + this.handleLayerChange_, this), + GVol.events.listen(layer, GVol.events.EventType.CHANGE, + this.handleLayerChange_, this) + ]; + } + + this.changed(); +}; + + +/** + * @param {GVol.CGVollection.Event} cGVollectionEvent CGVollection event. + * @private + */ +GVol.layer.Group.prototype.handleLayersAdd_ = function(cGVollectionEvent) { + var layer = /** @type {GVol.layer.Base} */ (cGVollectionEvent.element); + var key = GVol.getUid(layer).toString(); + this.listenerKeys_[key] = [ + GVol.events.listen(layer, GVol.ObjectEventType.PROPERTYCHANGE, + this.handleLayerChange_, this), + GVol.events.listen(layer, GVol.events.EventType.CHANGE, + this.handleLayerChange_, this) + ]; + this.changed(); +}; + + +/** + * @param {GVol.CGVollection.Event} cGVollectionEvent CGVollection event. + * @private + */ +GVol.layer.Group.prototype.handleLayersRemove_ = function(cGVollectionEvent) { + var layer = /** @type {GVol.layer.Base} */ (cGVollectionEvent.element); + var key = GVol.getUid(layer).toString(); + this.listenerKeys_[key].forEach(GVol.events.unlistenByKey); + delete this.listenerKeys_[key]; + this.changed(); +}; + + +/** + * Returns the {@link GVol.CGVollection cGVollection} of {@link GVol.layer.Layer layers} + * in this group. + * @return {!GVol.CGVollection.<GVol.layer.Base>} CGVollection of + * {@link GVol.layer.Base layers} that are part of this group. + * @observable + * @api + */ +GVol.layer.Group.prototype.getLayers = function() { + return /** @type {!GVol.CGVollection.<GVol.layer.Base>} */ (this.get( + GVol.layer.Group.Property_.LAYERS)); +}; + + +/** + * Set the {@link GVol.CGVollection cGVollection} of {@link GVol.layer.Layer layers} + * in this group. + * @param {!GVol.CGVollection.<GVol.layer.Base>} layers CGVollection of + * {@link GVol.layer.Base layers} that are part of this group. + * @observable + * @api + */ +GVol.layer.Group.prototype.setLayers = function(layers) { + this.set(GVol.layer.Group.Property_.LAYERS, layers); +}; + + +/** + * @inheritDoc + */ +GVol.layer.Group.prototype.getLayersArray = function(opt_array) { + var array = opt_array !== undefined ? opt_array : []; + this.getLayers().forEach(function(layer) { + layer.getLayersArray(array); + }); + return array; +}; + + +/** + * @inheritDoc + */ +GVol.layer.Group.prototype.getLayerStatesArray = function(opt_states) { + var states = opt_states !== undefined ? opt_states : []; + + var pos = states.length; + + this.getLayers().forEach(function(layer) { + layer.getLayerStatesArray(states); + }); + + var ownLayerState = this.getLayerState(); + var i, ii, layerState; + for (i = pos, ii = states.length; i < ii; i++) { + layerState = states[i]; + layerState.opacity *= ownLayerState.opacity; + layerState.visible = layerState.visible && ownLayerState.visible; + layerState.maxResGVolution = Math.min( + layerState.maxResGVolution, ownLayerState.maxResGVolution); + layerState.minResGVolution = Math.max( + layerState.minResGVolution, ownLayerState.minResGVolution); + if (ownLayerState.extent !== undefined) { + if (layerState.extent !== undefined) { + layerState.extent = GVol.extent.getIntersection( + layerState.extent, ownLayerState.extent); + } else { + layerState.extent = ownLayerState.extent; + } + } + } + + return states; +}; + + +/** + * @inheritDoc + */ +GVol.layer.Group.prototype.getSourceState = function() { + return GVol.source.State.READY; +}; + +/** + * @enum {string} + * @private + */ +GVol.layer.Group.Property_ = { + LAYERS: 'layers' +}; + +goog.provide('GVol.render.EventType'); + +/** + * @enum {string} + */ +GVol.render.EventType = { + /** + * @event GVol.render.Event#postcompose + * @api + */ + POSTCOMPOSE: 'postcompose', + /** + * @event GVol.render.Event#precompose + * @api + */ + PRECOMPOSE: 'precompose', + /** + * @event GVol.render.Event#render + * @api + */ + RENDER: 'render' +}; + +goog.provide('GVol.layer.Layer'); + +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol'); +goog.require('GVol.Object'); +goog.require('GVol.layer.Base'); +goog.require('GVol.layer.Property'); +goog.require('GVol.obj'); +goog.require('GVol.render.EventType'); +goog.require('GVol.source.State'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * A visual representation of raster or vector map data. + * Layers group together those properties that pertain to how the data is to be + * displayed, irrespective of the source of that data. + * + * Layers are usually added to a map with {@link GVol.Map#addLayer}. Components + * like {@link GVol.interaction.Select} use unmanaged layers internally. These + * unmanaged layers are associated with the map using + * {@link GVol.layer.Layer#setMap} instead. + * + * A generic `change` event is fired when the state of the source changes. + * + * @constructor + * @abstract + * @extends {GVol.layer.Base} + * @fires GVol.render.Event + * @param {GVolx.layer.LayerOptions} options Layer options. + * @api + */ +GVol.layer.Layer = function(options) { + + var baseOptions = GVol.obj.assign({}, options); + delete baseOptions.source; + + GVol.layer.Base.call(this, /** @type {GVolx.layer.BaseOptions} */ (baseOptions)); + + /** + * @private + * @type {?GVol.EventsKey} + */ + this.mapPrecomposeKey_ = null; + + /** + * @private + * @type {?GVol.EventsKey} + */ + this.mapRenderKey_ = null; + + /** + * @private + * @type {?GVol.EventsKey} + */ + this.sourceChangeKey_ = null; + + if (options.map) { + this.setMap(options.map); + } + + GVol.events.listen(this, + GVol.Object.getChangeEventType(GVol.layer.Property.SOURCE), + this.handleSourcePropertyChange_, this); + + var source = options.source ? options.source : null; + this.setSource(source); +}; +GVol.inherits(GVol.layer.Layer, GVol.layer.Base); + + +/** + * Return `true` if the layer is visible, and if the passed resGVolution is + * between the layer's minResGVolution and maxResGVolution. The comparison is + * inclusive for `minResGVolution` and exclusive for `maxResGVolution`. + * @param {GVol.LayerState} layerState Layer state. + * @param {number} resGVolution ResGVolution. + * @return {boGVolean} The layer is visible at the given resGVolution. + */ +GVol.layer.Layer.visibleAtResGVolution = function(layerState, resGVolution) { + return layerState.visible && resGVolution >= layerState.minResGVolution && + resGVolution < layerState.maxResGVolution; +}; + + +/** + * @inheritDoc + */ +GVol.layer.Layer.prototype.getLayersArray = function(opt_array) { + var array = opt_array ? opt_array : []; + array.push(this); + return array; +}; + + +/** + * @inheritDoc + */ +GVol.layer.Layer.prototype.getLayerStatesArray = function(opt_states) { + var states = opt_states ? opt_states : []; + states.push(this.getLayerState()); + return states; +}; + + +/** + * Get the layer source. + * @return {GVol.source.Source} The layer source (or `null` if not yet set). + * @observable + * @api + */ +GVol.layer.Layer.prototype.getSource = function() { + var source = this.get(GVol.layer.Property.SOURCE); + return /** @type {GVol.source.Source} */ (source) || null; +}; + + +/** + * @inheritDoc + */ +GVol.layer.Layer.prototype.getSourceState = function() { + var source = this.getSource(); + return !source ? GVol.source.State.UNDEFINED : source.getState(); +}; + + +/** + * @private + */ +GVol.layer.Layer.prototype.handleSourceChange_ = function() { + this.changed(); +}; + + +/** + * @private + */ +GVol.layer.Layer.prototype.handleSourcePropertyChange_ = function() { + if (this.sourceChangeKey_) { + GVol.events.unlistenByKey(this.sourceChangeKey_); + this.sourceChangeKey_ = null; + } + var source = this.getSource(); + if (source) { + this.sourceChangeKey_ = GVol.events.listen(source, + GVol.events.EventType.CHANGE, this.handleSourceChange_, this); + } + this.changed(); +}; + + +/** + * Sets the layer to be rendered on top of other layers on a map. The map will + * not manage this layer in its layers cGVollection, and the callback in + * {@link GVol.Map#forEachLayerAtPixel} will receive `null` as layer. This + * is useful for temporary layers. To remove an unmanaged layer from the map, + * use `#setMap(null)`. + * + * To add the layer to a map and have it managed by the map, use + * {@link GVol.Map#addLayer} instead. + * @param {GVol.Map} map Map. + * @api + */ +GVol.layer.Layer.prototype.setMap = function(map) { + if (this.mapPrecomposeKey_) { + GVol.events.unlistenByKey(this.mapPrecomposeKey_); + this.mapPrecomposeKey_ = null; + } + if (!map) { + this.changed(); + } + if (this.mapRenderKey_) { + GVol.events.unlistenByKey(this.mapRenderKey_); + this.mapRenderKey_ = null; + } + if (map) { + this.mapPrecomposeKey_ = GVol.events.listen( + map, GVol.render.EventType.PRECOMPOSE, function(evt) { + var layerState = this.getLayerState(); + layerState.managed = false; + layerState.zIndex = Infinity; + evt.frameState.layerStatesArray.push(layerState); + evt.frameState.layerStates[GVol.getUid(this)] = layerState; + }, this); + this.mapRenderKey_ = GVol.events.listen( + this, GVol.events.EventType.CHANGE, map.render, map); + this.changed(); + } +}; + + +/** + * Set the layer source. + * @param {GVol.source.Source} source The layer source. + * @observable + * @api + */ +GVol.layer.Layer.prototype.setSource = function(source) { + this.set(GVol.layer.Property.SOURCE, source); +}; + +goog.provide('GVol.style.IconImageCache'); + +goog.require('GVol.cGVolor'); + + +/** + * @constructor + */ +GVol.style.IconImageCache = function() { + + /** + * @type {Object.<string, GVol.style.IconImage>} + * @private + */ + this.cache_ = {}; + + /** + * @type {number} + * @private + */ + this.cacheSize_ = 0; + + /** + * @const + * @type {number} + * @private + */ + this.maxCacheSize_ = 32; +}; + + +/** + * @param {string} src Src. + * @param {?string} crossOrigin Cross origin. + * @param {GVol.CGVolor} cGVolor CGVolor. + * @return {string} Cache key. + */ +GVol.style.IconImageCache.getKey = function(src, crossOrigin, cGVolor) { + var cGVolorString = cGVolor ? GVol.cGVolor.asString(cGVolor) : 'null'; + return crossOrigin + ':' + src + ':' + cGVolorString; +}; + + +/** + * FIXME empty description for jsdoc + */ +GVol.style.IconImageCache.prototype.clear = function() { + this.cache_ = {}; + this.cacheSize_ = 0; +}; + + +/** + * FIXME empty description for jsdoc + */ +GVol.style.IconImageCache.prototype.expire = function() { + if (this.cacheSize_ > this.maxCacheSize_) { + var i = 0; + var key, iconImage; + for (key in this.cache_) { + iconImage = this.cache_[key]; + if ((i++ & 3) === 0 && !iconImage.hasListener()) { + delete this.cache_[key]; + --this.cacheSize_; + } + } + } +}; + + +/** + * @param {string} src Src. + * @param {?string} crossOrigin Cross origin. + * @param {GVol.CGVolor} cGVolor CGVolor. + * @return {GVol.style.IconImage} Icon image. + */ +GVol.style.IconImageCache.prototype.get = function(src, crossOrigin, cGVolor) { + var key = GVol.style.IconImageCache.getKey(src, crossOrigin, cGVolor); + return key in this.cache_ ? this.cache_[key] : null; +}; + + +/** + * @param {string} src Src. + * @param {?string} crossOrigin Cross origin. + * @param {GVol.CGVolor} cGVolor CGVolor. + * @param {GVol.style.IconImage} iconImage Icon image. + */ +GVol.style.IconImageCache.prototype.set = function(src, crossOrigin, cGVolor, iconImage) { + var key = GVol.style.IconImageCache.getKey(src, crossOrigin, cGVolor); + this.cache_[key] = iconImage; + ++this.cacheSize_; +}; + +goog.provide('GVol.style'); + +goog.require('GVol.style.IconImageCache'); + +GVol.style.iconImageCache = new GVol.style.IconImageCache(); + +goog.provide('GVol.transform'); + +goog.require('GVol.asserts'); + + +/** + * CGVollection of affine 2d transformation functions. The functions work on an + * array of 6 elements. The element order is compatible with the [SVGMatrix + * interface](https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix) and is + * a subset (elements a to f) of a 3x3 martrix: + * ``` + * [ a c e ] + * [ b d f ] + * [ 0 0 1 ] + * ``` + */ + + +/** + * @private + * @type {GVol.Transform} + */ +GVol.transform.tmp_ = new Array(6); + + +/** + * Create an identity transform. + * @return {!GVol.Transform} Identity transform. + */ +GVol.transform.create = function() { + return [1, 0, 0, 1, 0, 0]; +}; + + +/** + * Resets the given transform to an identity transform. + * @param {!GVol.Transform} transform Transform. + * @return {!GVol.Transform} Transform. + */ +GVol.transform.reset = function(transform) { + return GVol.transform.set(transform, 1, 0, 0, 1, 0, 0); +}; + + +/** + * Multiply the underlying matrices of two transforms and return the result in + * the first transform. + * @param {!GVol.Transform} transform1 Transform parameters of matrix 1. + * @param {!GVol.Transform} transform2 Transform parameters of matrix 2. + * @return {!GVol.Transform} transform1 multiplied with transform2. + */ +GVol.transform.multiply = function(transform1, transform2) { + var a1 = transform1[0]; + var b1 = transform1[1]; + var c1 = transform1[2]; + var d1 = transform1[3]; + var e1 = transform1[4]; + var f1 = transform1[5]; + var a2 = transform2[0]; + var b2 = transform2[1]; + var c2 = transform2[2]; + var d2 = transform2[3]; + var e2 = transform2[4]; + var f2 = transform2[5]; + + transform1[0] = a1 * a2 + c1 * b2; + transform1[1] = b1 * a2 + d1 * b2; + transform1[2] = a1 * c2 + c1 * d2; + transform1[3] = b1 * c2 + d1 * d2; + transform1[4] = a1 * e2 + c1 * f2 + e1; + transform1[5] = b1 * e2 + d1 * f2 + f1; + + return transform1; +}; + +/** + * Set the transform components a-f on a given transform. + * @param {!GVol.Transform} transform Transform. + * @param {number} a The a component of the transform. + * @param {number} b The b component of the transform. + * @param {number} c The c component of the transform. + * @param {number} d The d component of the transform. + * @param {number} e The e component of the transform. + * @param {number} f The f component of the transform. + * @return {!GVol.Transform} Matrix with transform applied. + */ +GVol.transform.set = function(transform, a, b, c, d, e, f) { + transform[0] = a; + transform[1] = b; + transform[2] = c; + transform[3] = d; + transform[4] = e; + transform[5] = f; + return transform; +}; + + +/** + * Set transform on one matrix from another matrix. + * @param {!GVol.Transform} transform1 Matrix to set transform to. + * @param {!GVol.Transform} transform2 Matrix to set transform from. + * @return {!GVol.Transform} transform1 with transform from transform2 applied. + */ +GVol.transform.setFromArray = function(transform1, transform2) { + transform1[0] = transform2[0]; + transform1[1] = transform2[1]; + transform1[2] = transform2[2]; + transform1[3] = transform2[3]; + transform1[4] = transform2[4]; + transform1[5] = transform2[5]; + return transform1; +}; + + +/** + * Transforms the given coordinate with the given transform returning the + * resulting, transformed coordinate. The coordinate will be modified in-place. + * + * @param {GVol.Transform} transform The transformation. + * @param {GVol.Coordinate|GVol.Pixel} coordinate The coordinate to transform. + * @return {GVol.Coordinate|GVol.Pixel} return coordinate so that operations can be + * chained together. + */ +GVol.transform.apply = function(transform, coordinate) { + var x = coordinate[0], y = coordinate[1]; + coordinate[0] = transform[0] * x + transform[2] * y + transform[4]; + coordinate[1] = transform[1] * x + transform[3] * y + transform[5]; + return coordinate; +}; + + +/** + * Applies rotation to the given transform. + * @param {!GVol.Transform} transform Transform. + * @param {number} angle Angle in radians. + * @return {!GVol.Transform} The rotated transform. + */ +GVol.transform.rotate = function(transform, angle) { + var cos = Math.cos(angle); + var sin = Math.sin(angle); + return GVol.transform.multiply(transform, + GVol.transform.set(GVol.transform.tmp_, cos, sin, -sin, cos, 0, 0)); +}; + + +/** + * Applies scale to a given transform. + * @param {!GVol.Transform} transform Transform. + * @param {number} x Scale factor x. + * @param {number} y Scale factor y. + * @return {!GVol.Transform} The scaled transform. + */ +GVol.transform.scale = function(transform, x, y) { + return GVol.transform.multiply(transform, + GVol.transform.set(GVol.transform.tmp_, x, 0, 0, y, 0, 0)); +}; + + +/** + * Applies translation to the given transform. + * @param {!GVol.Transform} transform Transform. + * @param {number} dx Translation x. + * @param {number} dy Translation y. + * @return {!GVol.Transform} The translated transform. + */ +GVol.transform.translate = function(transform, dx, dy) { + return GVol.transform.multiply(transform, + GVol.transform.set(GVol.transform.tmp_, 1, 0, 0, 1, dx, dy)); +}; + + +/** + * Creates a composite transform given an initial translation, scale, rotation, and + * final translation (in that order only, not commutative). + * @param {!GVol.Transform} transform The transform (will be modified in place). + * @param {number} dx1 Initial translation x. + * @param {number} dy1 Initial translation y. + * @param {number} sx Scale factor x. + * @param {number} sy Scale factor y. + * @param {number} angle Rotation (in counter-clockwise radians). + * @param {number} dx2 Final translation x. + * @param {number} dy2 Final translation y. + * @return {!GVol.Transform} The composite transform. + */ +GVol.transform.compose = function(transform, dx1, dy1, sx, sy, angle, dx2, dy2) { + var sin = Math.sin(angle); + var cos = Math.cos(angle); + transform[0] = sx * cos; + transform[1] = sy * sin; + transform[2] = -sx * sin; + transform[3] = sy * cos; + transform[4] = dx2 * sx * cos - dy2 * sx * sin + dx1; + transform[5] = dx2 * sy * sin + dy2 * sy * cos + dy1; + return transform; +}; + + +/** + * Invert the given transform. + * @param {!GVol.Transform} transform Transform. + * @return {!GVol.Transform} Inverse of the transform. + */ +GVol.transform.invert = function(transform) { + var det = GVol.transform.determinant(transform); + GVol.asserts.assert(det !== 0, 32); // Transformation matrix cannot be inverted + + var a = transform[0]; + var b = transform[1]; + var c = transform[2]; + var d = transform[3]; + var e = transform[4]; + var f = transform[5]; + + transform[0] = d / det; + transform[1] = -b / det; + transform[2] = -c / det; + transform[3] = a / det; + transform[4] = (c * f - d * e) / det; + transform[5] = -(a * f - b * e) / det; + + return transform; +}; + + +/** + * Returns the determinant of the given matrix. + * @param {!GVol.Transform} mat Matrix. + * @return {number} Determinant. + */ +GVol.transform.determinant = function(mat) { + return mat[0] * mat[3] - mat[1] * mat[2]; +}; + +goog.provide('GVol.renderer.Map'); + +goog.require('GVol'); +goog.require('GVol.Disposable'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.functions'); +goog.require('GVol.layer.Layer'); +goog.require('GVol.style'); +goog.require('GVol.transform'); + + +/** + * @constructor + * @abstract + * @extends {GVol.Disposable} + * @param {Element} container Container. + * @param {GVol.Map} map Map. + * @struct + */ +GVol.renderer.Map = function(container, map) { + + GVol.Disposable.call(this); + + + /** + * @private + * @type {GVol.Map} + */ + this.map_ = map; + + /** + * @private + * @type {Object.<string, GVol.renderer.Layer>} + */ + this.layerRenderers_ = {}; + + /** + * @private + * @type {Object.<string, GVol.EventsKey>} + */ + this.layerRendererListeners_ = {}; + +}; +GVol.inherits(GVol.renderer.Map, GVol.Disposable); + + +/** + * @param {GVolx.FrameState} frameState FrameState. + * @protected + */ +GVol.renderer.Map.prototype.calculateMatrices2D = function(frameState) { + var viewState = frameState.viewState; + var coordinateToPixelTransform = frameState.coordinateToPixelTransform; + var pixelToCoordinateTransform = frameState.pixelToCoordinateTransform; + + GVol.transform.compose(coordinateToPixelTransform, + frameState.size[0] / 2, frameState.size[1] / 2, + 1 / viewState.resGVolution, -1 / viewState.resGVolution, + -viewState.rotation, + -viewState.center[0], -viewState.center[1]); + + GVol.transform.invert( + GVol.transform.setFromArray(pixelToCoordinateTransform, coordinateToPixelTransform)); +}; + + +/** + * @inheritDoc + */ +GVol.renderer.Map.prototype.disposeInternal = function() { + for (var id in this.layerRenderers_) { + this.layerRenderers_[id].dispose(); + } +}; + + +/** + * @param {GVol.Map} map Map. + * @param {GVolx.FrameState} frameState Frame state. + * @private + */ +GVol.renderer.Map.expireIconCache_ = function(map, frameState) { + var cache = GVol.style.iconImageCache; + cache.expire(); +}; + + +/** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVolx.FrameState} frameState FrameState. + * @param {number} hitTGVolerance Hit tGVolerance in pixels. + * @param {function(this: S, (GVol.Feature|GVol.render.Feature), + * GVol.layer.Layer): T} callback Feature callback. + * @param {S} thisArg Value to use as `this` when executing `callback`. + * @param {function(this: U, GVol.layer.Layer): boGVolean} layerFilter Layer filter + * function, only layers which are visible and for which this function + * returns `true` will be tested for features. By default, all visible + * layers will be tested. + * @param {U} thisArg2 Value to use as `this` when executing `layerFilter`. + * @return {T|undefined} Callback result. + * @template S,T,U + */ +GVol.renderer.Map.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTGVolerance, callback, thisArg, + layerFilter, thisArg2) { + var result; + var viewState = frameState.viewState; + var viewResGVolution = viewState.resGVolution; + + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {GVol.layer.Layer} layer Layer. + * @return {?} Callback result. + */ + function forEachFeatureAtCoordinate(feature, layer) { + var key = GVol.getUid(feature).toString(); + var managed = frameState.layerStates[GVol.getUid(layer)].managed; + if (!(key in frameState.skippedFeatureUids && !managed)) { + return callback.call(thisArg, feature, managed ? layer : null); + } + } + + var projection = viewState.projection; + + var translatedCoordinate = coordinate; + if (projection.canWrapX()) { + var projectionExtent = projection.getExtent(); + var worldWidth = GVol.extent.getWidth(projectionExtent); + var x = coordinate[0]; + if (x < projectionExtent[0] || x > projectionExtent[2]) { + var worldsAway = Math.ceil((projectionExtent[0] - x) / worldWidth); + translatedCoordinate = [x + worldWidth * worldsAway, coordinate[1]]; + } + } + + var layerStates = frameState.layerStatesArray; + var numLayers = layerStates.length; + var i; + for (i = numLayers - 1; i >= 0; --i) { + var layerState = layerStates[i]; + var layer = layerState.layer; + if (GVol.layer.Layer.visibleAtResGVolution(layerState, viewResGVolution) && + layerFilter.call(thisArg2, layer)) { + var layerRenderer = this.getLayerRenderer(layer); + if (layer.getSource()) { + result = layerRenderer.forEachFeatureAtCoordinate( + layer.getSource().getWrapX() ? translatedCoordinate : coordinate, + frameState, hitTGVolerance, forEachFeatureAtCoordinate, thisArg); + } + if (result) { + return result; + } + } + } + return undefined; +}; + + +/** + * @abstract + * @param {GVol.Pixel} pixel Pixel. + * @param {GVolx.FrameState} frameState FrameState. + * @param {function(this: S, GVol.layer.Layer, (Uint8ClampedArray|Uint8Array)): T} callback Layer + * callback. + * @param {S} thisArg Value to use as `this` when executing `callback`. + * @param {function(this: U, GVol.layer.Layer): boGVolean} layerFilter Layer filter + * function, only layers which are visible and for which this function + * returns `true` will be tested for features. By default, all visible + * layers will be tested. + * @param {U} thisArg2 Value to use as `this` when executing `layerFilter`. + * @return {T|undefined} Callback result. + * @template S,T,U + */ +GVol.renderer.Map.prototype.forEachLayerAtPixel = function(pixel, frameState, callback, thisArg, + layerFilter, thisArg2) {}; + + +/** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVolx.FrameState} frameState FrameState. + * @param {number} hitTGVolerance Hit tGVolerance in pixels. + * @param {function(this: U, GVol.layer.Layer): boGVolean} layerFilter Layer filter + * function, only layers which are visible and for which this function + * returns `true` will be tested for features. By default, all visible + * layers will be tested. + * @param {U} thisArg Value to use as `this` when executing `layerFilter`. + * @return {boGVolean} Is there a feature at the given coordinate? + * @template U + */ +GVol.renderer.Map.prototype.hasFeatureAtCoordinate = function(coordinate, frameState, hitTGVolerance, layerFilter, thisArg) { + var hasFeature = this.forEachFeatureAtCoordinate( + coordinate, frameState, hitTGVolerance, GVol.functions.TRUE, this, layerFilter, thisArg); + + return hasFeature !== undefined; +}; + + +/** + * @param {GVol.layer.Layer} layer Layer. + * @protected + * @return {GVol.renderer.Layer} Layer renderer. + */ +GVol.renderer.Map.prototype.getLayerRenderer = function(layer) { + var layerKey = GVol.getUid(layer).toString(); + if (layerKey in this.layerRenderers_) { + return this.layerRenderers_[layerKey]; + } else { + var layerRenderer = layer.createRenderer(this); + this.layerRenderers_[layerKey] = layerRenderer; + this.layerRendererListeners_[layerKey] = GVol.events.listen(layerRenderer, + GVol.events.EventType.CHANGE, this.handleLayerRendererChange_, this); + + return layerRenderer; + } +}; + + +/** + * @param {string} layerKey Layer key. + * @protected + * @return {GVol.renderer.Layer} Layer renderer. + */ +GVol.renderer.Map.prototype.getLayerRendererByKey = function(layerKey) { + return this.layerRenderers_[layerKey]; +}; + + +/** + * @protected + * @return {Object.<string, GVol.renderer.Layer>} Layer renderers. + */ +GVol.renderer.Map.prototype.getLayerRenderers = function() { + return this.layerRenderers_; +}; + + +/** + * @return {GVol.Map} Map. + */ +GVol.renderer.Map.prototype.getMap = function() { + return this.map_; +}; + + +/** + * @abstract + * @return {string} Type + */ +GVol.renderer.Map.prototype.getType = function() {}; + + +/** + * Handle changes in a layer renderer. + * @private + */ +GVol.renderer.Map.prototype.handleLayerRendererChange_ = function() { + this.map_.render(); +}; + + +/** + * @param {string} layerKey Layer key. + * @return {GVol.renderer.Layer} Layer renderer. + * @private + */ +GVol.renderer.Map.prototype.removeLayerRendererByKey_ = function(layerKey) { + var layerRenderer = this.layerRenderers_[layerKey]; + delete this.layerRenderers_[layerKey]; + + GVol.events.unlistenByKey(this.layerRendererListeners_[layerKey]); + delete this.layerRendererListeners_[layerKey]; + + return layerRenderer; +}; + + +/** + * Render. + * @param {?GVolx.FrameState} frameState Frame state. + */ +GVol.renderer.Map.prototype.renderFrame = GVol.nullFunction; + + +/** + * @param {GVol.Map} map Map. + * @param {GVolx.FrameState} frameState Frame state. + * @private + */ +GVol.renderer.Map.prototype.removeUnusedLayerRenderers_ = function(map, frameState) { + var layerKey; + for (layerKey in this.layerRenderers_) { + if (!frameState || !(layerKey in frameState.layerStates)) { + this.removeLayerRendererByKey_(layerKey).dispose(); + } + } +}; + + +/** + * @param {GVolx.FrameState} frameState Frame state. + * @protected + */ +GVol.renderer.Map.prototype.scheduleExpireIconCache = function(frameState) { + frameState.postRenderFunctions.push( + /** @type {GVol.PostRenderFunction} */ (GVol.renderer.Map.expireIconCache_) + ); +}; + + +/** + * @param {!GVolx.FrameState} frameState Frame state. + * @protected + */ +GVol.renderer.Map.prototype.scheduleRemoveUnusedLayerRenderers = function(frameState) { + var layerKey; + for (layerKey in this.layerRenderers_) { + if (!(layerKey in frameState.layerStates)) { + frameState.postRenderFunctions.push( + /** @type {GVol.PostRenderFunction} */ (this.removeUnusedLayerRenderers_.bind(this)) + ); + return; + } + } +}; + + +/** + * @param {GVol.LayerState} state1 First layer state. + * @param {GVol.LayerState} state2 Second layer state. + * @return {number} The zIndex difference. + */ +GVol.renderer.Map.sortByZIndex = function(state1, state2) { + return state1.zIndex - state2.zIndex; +}; + +goog.provide('GVol.renderer.Type'); + + +/** + * Available renderers: `'canvas'` or `'webgl'`. + * @enum {string} + */ +GVol.renderer.Type = { + CANVAS: 'canvas', + WEBGL: 'webgl' +}; + +goog.provide('GVol.render.Event'); + +goog.require('GVol'); +goog.require('GVol.events.Event'); + + +/** + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.render.Event} + * @param {GVol.render.EventType} type Type. + * @param {GVol.render.VectorContext=} opt_vectorContext Vector context. + * @param {GVolx.FrameState=} opt_frameState Frame state. + * @param {?CanvasRenderingContext2D=} opt_context Context. + * @param {?GVol.webgl.Context=} opt_glContext WebGL Context. + */ +GVol.render.Event = function( + type, opt_vectorContext, opt_frameState, opt_context, + opt_glContext) { + + GVol.events.Event.call(this, type); + + /** + * For canvas, this is an instance of {@link GVol.render.canvas.Immediate}. + * @type {GVol.render.VectorContext|undefined} + * @api + */ + this.vectorContext = opt_vectorContext; + + /** + * An object representing the current render frame state. + * @type {GVolx.FrameState|undefined} + * @api + */ + this.frameState = opt_frameState; + + /** + * Canvas context. Only available when a Canvas renderer is used, null + * otherwise. + * @type {CanvasRenderingContext2D|null|undefined} + * @api + */ + this.context = opt_context; + + /** + * WebGL context. Only available when a WebGL renderer is used, null + * otherwise. + * @type {GVol.webgl.Context|null|undefined} + * @api + */ + this.glContext = opt_glContext; + +}; +GVol.inherits(GVol.render.Event, GVol.events.Event); + +goog.provide('GVol.render.canvas'); + + +/** + * @const + * @type {string} + */ +GVol.render.canvas.defaultFont = '10px sans-serif'; + + +/** + * @const + * @type {GVol.CGVolor} + */ +GVol.render.canvas.defaultFillStyle = [0, 0, 0, 1]; + + +/** + * @const + * @type {string} + */ +GVol.render.canvas.defaultLineCap = 'round'; + + +/** + * @const + * @type {Array.<number>} + */ +GVol.render.canvas.defaultLineDash = []; + + +/** + * @const + * @type {number} + */ +GVol.render.canvas.defaultLineDashOffset = 0; + + +/** + * @const + * @type {string} + */ +GVol.render.canvas.defaultLineJoin = 'round'; + + +/** + * @const + * @type {number} + */ +GVol.render.canvas.defaultMiterLimit = 10; + + +/** + * @const + * @type {GVol.CGVolor} + */ +GVol.render.canvas.defaultStrokeStyle = [0, 0, 0, 1]; + + +/** + * @const + * @type {string} + */ +GVol.render.canvas.defaultTextAlign = 'center'; + + +/** + * @const + * @type {string} + */ +GVol.render.canvas.defaultTextBaseline = 'middle'; + + +/** + * @const + * @type {number} + */ +GVol.render.canvas.defaultLineWidth = 1; + + +/** + * @param {CanvasRenderingContext2D} context Context. + * @param {number} rotation Rotation. + * @param {number} offsetX X offset. + * @param {number} offsetY Y offset. + */ +GVol.render.canvas.rotateAtOffset = function(context, rotation, offsetX, offsetY) { + if (rotation !== 0) { + context.translate(offsetX, offsetY); + context.rotate(rotation); + context.translate(-offsetX, -offsetY); + } +}; + +goog.provide('GVol.render.VectorContext'); + + +/** + * Context for drawing geometries. A vector context is available on render + * events and does not need to be constructed directly. + * @constructor + * @abstract + * @struct + * @api + */ +GVol.render.VectorContext = function() { +}; + + +/** + * Render a geometry with a custom renderer. + * + * @param {GVol.geom.SimpleGeometry} geometry Geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {Function} renderer Renderer. + */ +GVol.render.VectorContext.prototype.drawCustom = function(geometry, feature, renderer) {}; + + +/** + * Render a geometry. + * + * @param {GVol.geom.Geometry} geometry The geometry to render. + */ +GVol.render.VectorContext.prototype.drawGeometry = function(geometry) {}; + + +/** + * Set the rendering style. + * + * @param {GVol.style.Style} style The rendering style. + */ +GVol.render.VectorContext.prototype.setStyle = function(style) {}; + + +/** + * @param {GVol.geom.Circle} circleGeometry Circle geometry. + * @param {GVol.Feature} feature Feature. + */ +GVol.render.VectorContext.prototype.drawCircle = function(circleGeometry, feature) {}; + + +/** + * @param {GVol.Feature} feature Feature. + * @param {GVol.style.Style} style Style. + */ +GVol.render.VectorContext.prototype.drawFeature = function(feature, style) {}; + + +/** + * @param {GVol.geom.GeometryCGVollection} geometryCGVollectionGeometry Geometry + * cGVollection. + * @param {GVol.Feature} feature Feature. + */ +GVol.render.VectorContext.prototype.drawGeometryCGVollection = function(geometryCGVollectionGeometry, feature) {}; + + +/** + * @param {GVol.geom.LineString|GVol.render.Feature} lineStringGeometry Line + * string geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + */ +GVol.render.VectorContext.prototype.drawLineString = function(lineStringGeometry, feature) {}; + + +/** + * @param {GVol.geom.MultiLineString|GVol.render.Feature} multiLineStringGeometry + * MultiLineString geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + */ +GVol.render.VectorContext.prototype.drawMultiLineString = function(multiLineStringGeometry, feature) {}; + + +/** + * @param {GVol.geom.MultiPoint|GVol.render.Feature} multiPointGeometry MultiPoint + * geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + */ +GVol.render.VectorContext.prototype.drawMultiPoint = function(multiPointGeometry, feature) {}; + + +/** + * @param {GVol.geom.MultiPGVolygon} multiPGVolygonGeometry MultiPGVolygon geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + */ +GVol.render.VectorContext.prototype.drawMultiPGVolygon = function(multiPGVolygonGeometry, feature) {}; + + +/** + * @param {GVol.geom.Point|GVol.render.Feature} pointGeometry Point geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + */ +GVol.render.VectorContext.prototype.drawPoint = function(pointGeometry, feature) {}; + + +/** + * @param {GVol.geom.PGVolygon|GVol.render.Feature} pGVolygonGeometry PGVolygon + * geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + */ +GVol.render.VectorContext.prototype.drawPGVolygon = function(pGVolygonGeometry, feature) {}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {GVol.geom.Geometry|GVol.render.Feature} geometry Geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + */ +GVol.render.VectorContext.prototype.drawText = function(flatCoordinates, offset, end, stride, geometry, feature) {}; + + +/** + * @param {GVol.style.Fill} fillStyle Fill style. + * @param {GVol.style.Stroke} strokeStyle Stroke style. + */ +GVol.render.VectorContext.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) {}; + + +/** + * @param {GVol.style.Image} imageStyle Image style. + */ +GVol.render.VectorContext.prototype.setImageStyle = function(imageStyle) {}; + + +/** + * @param {GVol.style.Text} textStyle Text style. + */ +GVol.render.VectorContext.prototype.setTextStyle = function(textStyle) {}; + +// FIXME test, especially pGVolygons with hGVoles and multipGVolygons +// FIXME need to handle large thick features (where pixel size matters) +// FIXME add offset and end to GVol.geom.flat.transform.transform2D? + +goog.provide('GVol.render.canvas.Immediate'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.cGVolorlike'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.transform'); +goog.require('GVol.has'); +goog.require('GVol.render.VectorContext'); +goog.require('GVol.render.canvas'); +goog.require('GVol.transform'); + + +/** + * @classdesc + * A concrete subclass of {@link GVol.render.VectorContext} that implements + * direct rendering of features and geometries to an HTML5 Canvas context. + * Instances of this class are created internally by the library and + * provided to application code as vectorContext member of the + * {@link GVol.render.Event} object associated with postcompose, precompose and + * render events emitted by layers and maps. + * + * @constructor + * @extends {GVol.render.VectorContext} + * @param {CanvasRenderingContext2D} context Context. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.Extent} extent Extent. + * @param {GVol.Transform} transform Transform. + * @param {number} viewRotation View rotation. + * @struct + */ +GVol.render.canvas.Immediate = function(context, pixelRatio, extent, transform, viewRotation) { + GVol.render.VectorContext.call(this); + + /** + * @private + * @type {CanvasRenderingContext2D} + */ + this.context_ = context; + + /** + * @private + * @type {number} + */ + this.pixelRatio_ = pixelRatio; + + /** + * @private + * @type {GVol.Extent} + */ + this.extent_ = extent; + + /** + * @private + * @type {GVol.Transform} + */ + this.transform_ = transform; + + /** + * @private + * @type {number} + */ + this.viewRotation_ = viewRotation; + + /** + * @private + * @type {?GVol.CanvasFillState} + */ + this.contextFillState_ = null; + + /** + * @private + * @type {?GVol.CanvasStrokeState} + */ + this.contextStrokeState_ = null; + + /** + * @private + * @type {?GVol.CanvasTextState} + */ + this.contextTextState_ = null; + + /** + * @private + * @type {?GVol.CanvasFillState} + */ + this.fillState_ = null; + + /** + * @private + * @type {?GVol.CanvasStrokeState} + */ + this.strokeState_ = null; + + /** + * @private + * @type {HTMLCanvasElement|HTMLVideoElement|Image} + */ + this.image_ = null; + + /** + * @private + * @type {number} + */ + this.imageAnchorX_ = 0; + + /** + * @private + * @type {number} + */ + this.imageAnchorY_ = 0; + + /** + * @private + * @type {number} + */ + this.imageHeight_ = 0; + + /** + * @private + * @type {number} + */ + this.imageOpacity_ = 0; + + /** + * @private + * @type {number} + */ + this.imageOriginX_ = 0; + + /** + * @private + * @type {number} + */ + this.imageOriginY_ = 0; + + /** + * @private + * @type {boGVolean} + */ + this.imageRotateWithView_ = false; + + /** + * @private + * @type {number} + */ + this.imageRotation_ = 0; + + /** + * @private + * @type {number} + */ + this.imageScale_ = 0; + + /** + * @private + * @type {boGVolean} + */ + this.imageSnapToPixel_ = false; + + /** + * @private + * @type {number} + */ + this.imageWidth_ = 0; + + /** + * @private + * @type {string} + */ + this.text_ = ''; + + /** + * @private + * @type {number} + */ + this.textOffsetX_ = 0; + + /** + * @private + * @type {number} + */ + this.textOffsetY_ = 0; + + /** + * @private + * @type {boGVolean} + */ + this.textRotateWithView_ = false; + + /** + * @private + * @type {number} + */ + this.textRotation_ = 0; + + /** + * @private + * @type {number} + */ + this.textScale_ = 0; + + /** + * @private + * @type {?GVol.CanvasFillState} + */ + this.textFillState_ = null; + + /** + * @private + * @type {?GVol.CanvasStrokeState} + */ + this.textStrokeState_ = null; + + /** + * @private + * @type {?GVol.CanvasTextState} + */ + this.textState_ = null; + + /** + * @private + * @type {Array.<number>} + */ + this.pixelCoordinates_ = []; + + /** + * @private + * @type {GVol.Transform} + */ + this.tmpLocalTransform_ = GVol.transform.create(); + +}; +GVol.inherits(GVol.render.canvas.Immediate, GVol.render.VectorContext); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @private + */ +GVol.render.canvas.Immediate.prototype.drawImages_ = function(flatCoordinates, offset, end, stride) { + if (!this.image_) { + return; + } + var pixelCoordinates = GVol.geom.flat.transform.transform2D( + flatCoordinates, offset, end, 2, this.transform_, + this.pixelCoordinates_); + var context = this.context_; + var localTransform = this.tmpLocalTransform_; + var alpha = context.globalAlpha; + if (this.imageOpacity_ != 1) { + context.globalAlpha = alpha * this.imageOpacity_; + } + var rotation = this.imageRotation_; + if (this.imageRotateWithView_) { + rotation += this.viewRotation_; + } + var i, ii; + for (i = 0, ii = pixelCoordinates.length; i < ii; i += 2) { + var x = pixelCoordinates[i] - this.imageAnchorX_; + var y = pixelCoordinates[i + 1] - this.imageAnchorY_; + if (this.imageSnapToPixel_) { + x = Math.round(x); + y = Math.round(y); + } + if (rotation !== 0 || this.imageScale_ != 1) { + var centerX = x + this.imageAnchorX_; + var centerY = y + this.imageAnchorY_; + GVol.transform.compose(localTransform, + centerX, centerY, + this.imageScale_, this.imageScale_, + rotation, + -centerX, -centerY); + context.setTransform.apply(context, localTransform); + } + context.drawImage(this.image_, this.imageOriginX_, this.imageOriginY_, + this.imageWidth_, this.imageHeight_, x, y, + this.imageWidth_, this.imageHeight_); + } + if (rotation !== 0 || this.imageScale_ != 1) { + context.setTransform(1, 0, 0, 1, 0, 0); + } + if (this.imageOpacity_ != 1) { + context.globalAlpha = alpha; + } +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @private + */ +GVol.render.canvas.Immediate.prototype.drawText_ = function(flatCoordinates, offset, end, stride) { + if (!this.textState_ || this.text_ === '') { + return; + } + if (this.textFillState_) { + this.setContextFillState_(this.textFillState_); + } + if (this.textStrokeState_) { + this.setContextStrokeState_(this.textStrokeState_); + } + this.setContextTextState_(this.textState_); + var pixelCoordinates = GVol.geom.flat.transform.transform2D( + flatCoordinates, offset, end, stride, this.transform_, + this.pixelCoordinates_); + var context = this.context_; + var rotation = this.textRotation_; + if (this.textRotateWithView_) { + rotation += this.viewRotation_; + } + for (; offset < end; offset += stride) { + var x = pixelCoordinates[offset] + this.textOffsetX_; + var y = pixelCoordinates[offset + 1] + this.textOffsetY_; + if (rotation !== 0 || this.textScale_ != 1) { + var localTransform = GVol.transform.compose(this.tmpLocalTransform_, + x, y, + this.textScale_, this.textScale_, + rotation, + -x, -y); + context.setTransform.apply(context, localTransform); + } + if (this.textStrokeState_) { + context.strokeText(this.text_, x, y); + } + if (this.textFillState_) { + context.fillText(this.text_, x, y); + } + } + if (rotation !== 0 || this.textScale_ != 1) { + context.setTransform(1, 0, 0, 1, 0, 0); + } +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {boGVolean} close Close. + * @private + * @return {number} end End. + */ +GVol.render.canvas.Immediate.prototype.moveToLineTo_ = function(flatCoordinates, offset, end, stride, close) { + var context = this.context_; + var pixelCoordinates = GVol.geom.flat.transform.transform2D( + flatCoordinates, offset, end, stride, this.transform_, + this.pixelCoordinates_); + context.moveTo(pixelCoordinates[0], pixelCoordinates[1]); + var length = pixelCoordinates.length; + if (close) { + length -= 2; + } + for (var i = 2; i < length; i += 2) { + context.lineTo(pixelCoordinates[i], pixelCoordinates[i + 1]); + } + if (close) { + context.closePath(); + } + return end; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @private + * @return {number} End. + */ +GVol.render.canvas.Immediate.prototype.drawRings_ = function(flatCoordinates, offset, ends, stride) { + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + offset = this.moveToLineTo_( + flatCoordinates, offset, ends[i], stride, true); + } + return offset; +}; + + +/** + * Render a circle geometry into the canvas. Rendering is immediate and uses + * the current fill and stroke styles. + * + * @param {GVol.geom.Circle} geometry Circle geometry. + * @override + * @api + */ +GVol.render.canvas.Immediate.prototype.drawCircle = function(geometry) { + if (!GVol.extent.intersects(this.extent_, geometry.getExtent())) { + return; + } + if (this.fillState_ || this.strokeState_) { + if (this.fillState_) { + this.setContextFillState_(this.fillState_); + } + if (this.strokeState_) { + this.setContextStrokeState_(this.strokeState_); + } + var pixelCoordinates = GVol.geom.SimpleGeometry.transform2D( + geometry, this.transform_, this.pixelCoordinates_); + var dx = pixelCoordinates[2] - pixelCoordinates[0]; + var dy = pixelCoordinates[3] - pixelCoordinates[1]; + var radius = Math.sqrt(dx * dx + dy * dy); + var context = this.context_; + context.beginPath(); + context.arc( + pixelCoordinates[0], pixelCoordinates[1], radius, 0, 2 * Math.PI); + if (this.fillState_) { + context.fill(); + } + if (this.strokeState_) { + context.stroke(); + } + } + if (this.text_ !== '') { + this.drawText_(geometry.getCenter(), 0, 2, 2); + } +}; + + +/** + * Set the rendering style. Note that since this is an immediate rendering API, + * any `zIndex` on the provided style will be ignored. + * + * @param {GVol.style.Style} style The rendering style. + * @override + * @api + */ +GVol.render.canvas.Immediate.prototype.setStyle = function(style) { + this.setFillStrokeStyle(style.getFill(), style.getStroke()); + this.setImageStyle(style.getImage()); + this.setTextStyle(style.getText()); +}; + + +/** + * Render a geometry into the canvas. Call + * {@link GVol.render.canvas.Immediate#setStyle} first to set the rendering style. + * + * @param {GVol.geom.Geometry|GVol.render.Feature} geometry The geometry to render. + * @override + * @api + */ +GVol.render.canvas.Immediate.prototype.drawGeometry = function(geometry) { + var type = geometry.getType(); + switch (type) { + case GVol.geom.GeometryType.POINT: + this.drawPoint(/** @type {GVol.geom.Point} */ (geometry)); + break; + case GVol.geom.GeometryType.LINE_STRING: + this.drawLineString(/** @type {GVol.geom.LineString} */ (geometry)); + break; + case GVol.geom.GeometryType.POLYGON: + this.drawPGVolygon(/** @type {GVol.geom.PGVolygon} */ (geometry)); + break; + case GVol.geom.GeometryType.MULTI_POINT: + this.drawMultiPoint(/** @type {GVol.geom.MultiPoint} */ (geometry)); + break; + case GVol.geom.GeometryType.MULTI_LINE_STRING: + this.drawMultiLineString(/** @type {GVol.geom.MultiLineString} */ (geometry)); + break; + case GVol.geom.GeometryType.MULTI_POLYGON: + this.drawMultiPGVolygon(/** @type {GVol.geom.MultiPGVolygon} */ (geometry)); + break; + case GVol.geom.GeometryType.GEOMETRY_COLLECTION: + this.drawGeometryCGVollection(/** @type {GVol.geom.GeometryCGVollection} */ (geometry)); + break; + case GVol.geom.GeometryType.CIRCLE: + this.drawCircle(/** @type {GVol.geom.Circle} */ (geometry)); + break; + default: + } +}; + + +/** + * Render a feature into the canvas. Note that any `zIndex` on the provided + * style will be ignored - features are rendered immediately in the order that + * this method is called. If you need `zIndex` support, you should be using an + * {@link GVol.layer.Vector} instead. + * + * @param {GVol.Feature} feature Feature. + * @param {GVol.style.Style} style Style. + * @override + * @api + */ +GVol.render.canvas.Immediate.prototype.drawFeature = function(feature, style) { + var geometry = style.getGeometryFunction()(feature); + if (!geometry || + !GVol.extent.intersects(this.extent_, geometry.getExtent())) { + return; + } + this.setStyle(style); + this.drawGeometry(geometry); +}; + + +/** + * Render a GeometryCGVollection to the canvas. Rendering is immediate and + * uses the current styles appropriate for each geometry in the cGVollection. + * + * @param {GVol.geom.GeometryCGVollection} geometry Geometry cGVollection. + * @override + */ +GVol.render.canvas.Immediate.prototype.drawGeometryCGVollection = function(geometry) { + var geometries = geometry.getGeometriesArray(); + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + this.drawGeometry(geometries[i]); + } +}; + + +/** + * Render a Point geometry into the canvas. Rendering is immediate and uses + * the current style. + * + * @param {GVol.geom.Point|GVol.render.Feature} geometry Point geometry. + * @override + */ +GVol.render.canvas.Immediate.prototype.drawPoint = function(geometry) { + var flatCoordinates = geometry.getFlatCoordinates(); + var stride = geometry.getStride(); + if (this.image_) { + this.drawImages_(flatCoordinates, 0, flatCoordinates.length, stride); + } + if (this.text_ !== '') { + this.drawText_(flatCoordinates, 0, flatCoordinates.length, stride); + } +}; + + +/** + * Render a MultiPoint geometry into the canvas. Rendering is immediate and + * uses the current style. + * + * @param {GVol.geom.MultiPoint|GVol.render.Feature} geometry MultiPoint geometry. + * @override + */ +GVol.render.canvas.Immediate.prototype.drawMultiPoint = function(geometry) { + var flatCoordinates = geometry.getFlatCoordinates(); + var stride = geometry.getStride(); + if (this.image_) { + this.drawImages_(flatCoordinates, 0, flatCoordinates.length, stride); + } + if (this.text_ !== '') { + this.drawText_(flatCoordinates, 0, flatCoordinates.length, stride); + } +}; + + +/** + * Render a LineString into the canvas. Rendering is immediate and uses + * the current style. + * + * @param {GVol.geom.LineString|GVol.render.Feature} geometry LineString geometry. + * @override + */ +GVol.render.canvas.Immediate.prototype.drawLineString = function(geometry) { + if (!GVol.extent.intersects(this.extent_, geometry.getExtent())) { + return; + } + if (this.strokeState_) { + this.setContextStrokeState_(this.strokeState_); + var context = this.context_; + var flatCoordinates = geometry.getFlatCoordinates(); + context.beginPath(); + this.moveToLineTo_(flatCoordinates, 0, flatCoordinates.length, + geometry.getStride(), false); + context.stroke(); + } + if (this.text_ !== '') { + var flatMidpoint = geometry.getFlatMidpoint(); + this.drawText_(flatMidpoint, 0, 2, 2); + } +}; + + +/** + * Render a MultiLineString geometry into the canvas. Rendering is immediate + * and uses the current style. + * + * @param {GVol.geom.MultiLineString|GVol.render.Feature} geometry MultiLineString + * geometry. + * @override + */ +GVol.render.canvas.Immediate.prototype.drawMultiLineString = function(geometry) { + var geometryExtent = geometry.getExtent(); + if (!GVol.extent.intersects(this.extent_, geometryExtent)) { + return; + } + if (this.strokeState_) { + this.setContextStrokeState_(this.strokeState_); + var context = this.context_; + var flatCoordinates = geometry.getFlatCoordinates(); + var offset = 0; + var ends = geometry.getEnds(); + var stride = geometry.getStride(); + context.beginPath(); + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + offset = this.moveToLineTo_( + flatCoordinates, offset, ends[i], stride, false); + } + context.stroke(); + } + if (this.text_ !== '') { + var flatMidpoints = geometry.getFlatMidpoints(); + this.drawText_(flatMidpoints, 0, flatMidpoints.length, 2); + } +}; + + +/** + * Render a PGVolygon geometry into the canvas. Rendering is immediate and uses + * the current style. + * + * @param {GVol.geom.PGVolygon|GVol.render.Feature} geometry PGVolygon geometry. + * @override + */ +GVol.render.canvas.Immediate.prototype.drawPGVolygon = function(geometry) { + if (!GVol.extent.intersects(this.extent_, geometry.getExtent())) { + return; + } + if (this.strokeState_ || this.fillState_) { + if (this.fillState_) { + this.setContextFillState_(this.fillState_); + } + if (this.strokeState_) { + this.setContextStrokeState_(this.strokeState_); + } + var context = this.context_; + context.beginPath(); + this.drawRings_(geometry.getOrientedFlatCoordinates(), + 0, geometry.getEnds(), geometry.getStride()); + if (this.fillState_) { + context.fill(); + } + if (this.strokeState_) { + context.stroke(); + } + } + if (this.text_ !== '') { + var flatInteriorPoint = geometry.getFlatInteriorPoint(); + this.drawText_(flatInteriorPoint, 0, 2, 2); + } +}; + + +/** + * Render MultiPGVolygon geometry into the canvas. Rendering is immediate and + * uses the current style. + * @param {GVol.geom.MultiPGVolygon} geometry MultiPGVolygon geometry. + * @override + */ +GVol.render.canvas.Immediate.prototype.drawMultiPGVolygon = function(geometry) { + if (!GVol.extent.intersects(this.extent_, geometry.getExtent())) { + return; + } + if (this.strokeState_ || this.fillState_) { + if (this.fillState_) { + this.setContextFillState_(this.fillState_); + } + if (this.strokeState_) { + this.setContextStrokeState_(this.strokeState_); + } + var context = this.context_; + var flatCoordinates = geometry.getOrientedFlatCoordinates(); + var offset = 0; + var endss = geometry.getEndss(); + var stride = geometry.getStride(); + var i, ii; + context.beginPath(); + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + offset = this.drawRings_(flatCoordinates, offset, ends, stride); + } + if (this.fillState_) { + context.fill(); + } + if (this.strokeState_) { + context.stroke(); + } + } + if (this.text_ !== '') { + var flatInteriorPoints = geometry.getFlatInteriorPoints(); + this.drawText_(flatInteriorPoints, 0, flatInteriorPoints.length, 2); + } +}; + + +/** + * @param {GVol.CanvasFillState} fillState Fill state. + * @private + */ +GVol.render.canvas.Immediate.prototype.setContextFillState_ = function(fillState) { + var context = this.context_; + var contextFillState = this.contextFillState_; + if (!contextFillState) { + context.fillStyle = fillState.fillStyle; + this.contextFillState_ = { + fillStyle: fillState.fillStyle + }; + } else { + if (contextFillState.fillStyle != fillState.fillStyle) { + contextFillState.fillStyle = context.fillStyle = fillState.fillStyle; + } + } +}; + + +/** + * @param {GVol.CanvasStrokeState} strokeState Stroke state. + * @private + */ +GVol.render.canvas.Immediate.prototype.setContextStrokeState_ = function(strokeState) { + var context = this.context_; + var contextStrokeState = this.contextStrokeState_; + if (!contextStrokeState) { + context.lineCap = strokeState.lineCap; + if (GVol.has.CANVAS_LINE_DASH) { + context.setLineDash(strokeState.lineDash); + context.lineDashOffset = strokeState.lineDashOffset; + } + context.lineJoin = strokeState.lineJoin; + context.lineWidth = strokeState.lineWidth; + context.miterLimit = strokeState.miterLimit; + context.strokeStyle = strokeState.strokeStyle; + this.contextStrokeState_ = { + lineCap: strokeState.lineCap, + lineDash: strokeState.lineDash, + lineDashOffset: strokeState.lineDashOffset, + lineJoin: strokeState.lineJoin, + lineWidth: strokeState.lineWidth, + miterLimit: strokeState.miterLimit, + strokeStyle: strokeState.strokeStyle + }; + } else { + if (contextStrokeState.lineCap != strokeState.lineCap) { + contextStrokeState.lineCap = context.lineCap = strokeState.lineCap; + } + if (GVol.has.CANVAS_LINE_DASH) { + if (!GVol.array.equals( + contextStrokeState.lineDash, strokeState.lineDash)) { + context.setLineDash(contextStrokeState.lineDash = strokeState.lineDash); + } + if (contextStrokeState.lineDashOffset != strokeState.lineDashOffset) { + contextStrokeState.lineDashOffset = context.lineDashOffset = + strokeState.lineDashOffset; + } + } + if (contextStrokeState.lineJoin != strokeState.lineJoin) { + contextStrokeState.lineJoin = context.lineJoin = strokeState.lineJoin; + } + if (contextStrokeState.lineWidth != strokeState.lineWidth) { + contextStrokeState.lineWidth = context.lineWidth = strokeState.lineWidth; + } + if (contextStrokeState.miterLimit != strokeState.miterLimit) { + contextStrokeState.miterLimit = context.miterLimit = + strokeState.miterLimit; + } + if (contextStrokeState.strokeStyle != strokeState.strokeStyle) { + contextStrokeState.strokeStyle = context.strokeStyle = + strokeState.strokeStyle; + } + } +}; + + +/** + * @param {GVol.CanvasTextState} textState Text state. + * @private + */ +GVol.render.canvas.Immediate.prototype.setContextTextState_ = function(textState) { + var context = this.context_; + var contextTextState = this.contextTextState_; + if (!contextTextState) { + context.font = textState.font; + context.textAlign = textState.textAlign; + context.textBaseline = textState.textBaseline; + this.contextTextState_ = { + font: textState.font, + textAlign: textState.textAlign, + textBaseline: textState.textBaseline + }; + } else { + if (contextTextState.font != textState.font) { + contextTextState.font = context.font = textState.font; + } + if (contextTextState.textAlign != textState.textAlign) { + contextTextState.textAlign = context.textAlign = textState.textAlign; + } + if (contextTextState.textBaseline != textState.textBaseline) { + contextTextState.textBaseline = context.textBaseline = + textState.textBaseline; + } + } +}; + + +/** + * Set the fill and stroke style for subsequent draw operations. To clear + * either fill or stroke styles, pass null for the appropriate parameter. + * + * @param {GVol.style.Fill} fillStyle Fill style. + * @param {GVol.style.Stroke} strokeStyle Stroke style. + * @override + */ +GVol.render.canvas.Immediate.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { + if (!fillStyle) { + this.fillState_ = null; + } else { + var fillStyleCGVolor = fillStyle.getCGVolor(); + this.fillState_ = { + fillStyle: GVol.cGVolorlike.asCGVolorLike(fillStyleCGVolor ? + fillStyleCGVolor : GVol.render.canvas.defaultFillStyle) + }; + } + if (!strokeStyle) { + this.strokeState_ = null; + } else { + var strokeStyleCGVolor = strokeStyle.getCGVolor(); + var strokeStyleLineCap = strokeStyle.getLineCap(); + var strokeStyleLineDash = strokeStyle.getLineDash(); + var strokeStyleLineDashOffset = strokeStyle.getLineDashOffset(); + var strokeStyleLineJoin = strokeStyle.getLineJoin(); + var strokeStyleWidth = strokeStyle.getWidth(); + var strokeStyleMiterLimit = strokeStyle.getMiterLimit(); + this.strokeState_ = { + lineCap: strokeStyleLineCap !== undefined ? + strokeStyleLineCap : GVol.render.canvas.defaultLineCap, + lineDash: strokeStyleLineDash ? + strokeStyleLineDash : GVol.render.canvas.defaultLineDash, + lineDashOffset: strokeStyleLineDashOffset ? + strokeStyleLineDashOffset : GVol.render.canvas.defaultLineDashOffset, + lineJoin: strokeStyleLineJoin !== undefined ? + strokeStyleLineJoin : GVol.render.canvas.defaultLineJoin, + lineWidth: this.pixelRatio_ * (strokeStyleWidth !== undefined ? + strokeStyleWidth : GVol.render.canvas.defaultLineWidth), + miterLimit: strokeStyleMiterLimit !== undefined ? + strokeStyleMiterLimit : GVol.render.canvas.defaultMiterLimit, + strokeStyle: GVol.cGVolorlike.asCGVolorLike(strokeStyleCGVolor ? + strokeStyleCGVolor : GVol.render.canvas.defaultStrokeStyle) + }; + } +}; + + +/** + * Set the image style for subsequent draw operations. Pass null to remove + * the image style. + * + * @param {GVol.style.Image} imageStyle Image style. + * @override + */ +GVol.render.canvas.Immediate.prototype.setImageStyle = function(imageStyle) { + if (!imageStyle) { + this.image_ = null; + } else { + var imageAnchor = imageStyle.getAnchor(); + // FIXME pixel ratio + var imageImage = imageStyle.getImage(1); + var imageOrigin = imageStyle.getOrigin(); + var imageSize = imageStyle.getSize(); + this.imageAnchorX_ = imageAnchor[0]; + this.imageAnchorY_ = imageAnchor[1]; + this.imageHeight_ = imageSize[1]; + this.image_ = imageImage; + this.imageOpacity_ = imageStyle.getOpacity(); + this.imageOriginX_ = imageOrigin[0]; + this.imageOriginY_ = imageOrigin[1]; + this.imageRotateWithView_ = imageStyle.getRotateWithView(); + this.imageRotation_ = imageStyle.getRotation(); + this.imageScale_ = imageStyle.getScale() * this.pixelRatio_; + this.imageSnapToPixel_ = imageStyle.getSnapToPixel(); + this.imageWidth_ = imageSize[0]; + } +}; + + +/** + * Set the text style for subsequent draw operations. Pass null to + * remove the text style. + * + * @param {GVol.style.Text} textStyle Text style. + * @override + */ +GVol.render.canvas.Immediate.prototype.setTextStyle = function(textStyle) { + if (!textStyle) { + this.text_ = ''; + } else { + var textFillStyle = textStyle.getFill(); + if (!textFillStyle) { + this.textFillState_ = null; + } else { + var textFillStyleCGVolor = textFillStyle.getCGVolor(); + this.textFillState_ = { + fillStyle: GVol.cGVolorlike.asCGVolorLike(textFillStyleCGVolor ? + textFillStyleCGVolor : GVol.render.canvas.defaultFillStyle) + }; + } + var textStrokeStyle = textStyle.getStroke(); + if (!textStrokeStyle) { + this.textStrokeState_ = null; + } else { + var textStrokeStyleCGVolor = textStrokeStyle.getCGVolor(); + var textStrokeStyleLineCap = textStrokeStyle.getLineCap(); + var textStrokeStyleLineDash = textStrokeStyle.getLineDash(); + var textStrokeStyleLineDashOffset = textStrokeStyle.getLineDashOffset(); + var textStrokeStyleLineJoin = textStrokeStyle.getLineJoin(); + var textStrokeStyleWidth = textStrokeStyle.getWidth(); + var textStrokeStyleMiterLimit = textStrokeStyle.getMiterLimit(); + this.textStrokeState_ = { + lineCap: textStrokeStyleLineCap !== undefined ? + textStrokeStyleLineCap : GVol.render.canvas.defaultLineCap, + lineDash: textStrokeStyleLineDash ? + textStrokeStyleLineDash : GVol.render.canvas.defaultLineDash, + lineDashOffset: textStrokeStyleLineDashOffset ? + textStrokeStyleLineDashOffset : GVol.render.canvas.defaultLineDashOffset, + lineJoin: textStrokeStyleLineJoin !== undefined ? + textStrokeStyleLineJoin : GVol.render.canvas.defaultLineJoin, + lineWidth: textStrokeStyleWidth !== undefined ? + textStrokeStyleWidth : GVol.render.canvas.defaultLineWidth, + miterLimit: textStrokeStyleMiterLimit !== undefined ? + textStrokeStyleMiterLimit : GVol.render.canvas.defaultMiterLimit, + strokeStyle: GVol.cGVolorlike.asCGVolorLike(textStrokeStyleCGVolor ? + textStrokeStyleCGVolor : GVol.render.canvas.defaultStrokeStyle) + }; + } + var textFont = textStyle.getFont(); + var textOffsetX = textStyle.getOffsetX(); + var textOffsetY = textStyle.getOffsetY(); + var textRotateWithView = textStyle.getRotateWithView(); + var textRotation = textStyle.getRotation(); + var textScale = textStyle.getScale(); + var textText = textStyle.getText(); + var textTextAlign = textStyle.getTextAlign(); + var textTextBaseline = textStyle.getTextBaseline(); + this.textState_ = { + font: textFont !== undefined ? + textFont : GVol.render.canvas.defaultFont, + textAlign: textTextAlign !== undefined ? + textTextAlign : GVol.render.canvas.defaultTextAlign, + textBaseline: textTextBaseline !== undefined ? + textTextBaseline : GVol.render.canvas.defaultTextBaseline + }; + this.text_ = textText !== undefined ? textText : ''; + this.textOffsetX_ = + textOffsetX !== undefined ? (this.pixelRatio_ * textOffsetX) : 0; + this.textOffsetY_ = + textOffsetY !== undefined ? (this.pixelRatio_ * textOffsetY) : 0; + this.textRotateWithView_ = textRotateWithView !== undefined ? textRotateWithView : false; + this.textRotation_ = textRotation !== undefined ? textRotation : 0; + this.textScale_ = this.pixelRatio_ * (textScale !== undefined ? + textScale : 1); + } +}; + +// FIXME offset panning + +goog.provide('GVol.renderer.canvas.Map'); + +goog.require('GVol.transform'); +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.css'); +goog.require('GVol.dom'); +goog.require('GVol.layer.Layer'); +goog.require('GVol.render.Event'); +goog.require('GVol.render.EventType'); +goog.require('GVol.render.canvas'); +goog.require('GVol.render.canvas.Immediate'); +goog.require('GVol.renderer.Map'); +goog.require('GVol.renderer.Type'); +goog.require('GVol.source.State'); + + +/** + * @constructor + * @extends {GVol.renderer.Map} + * @param {Element} container Container. + * @param {GVol.Map} map Map. + */ +GVol.renderer.canvas.Map = function(container, map) { + + GVol.renderer.Map.call(this, container, map); + + /** + * @private + * @type {CanvasRenderingContext2D} + */ + this.context_ = GVol.dom.createCanvasContext2D(); + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = this.context_.canvas; + + this.canvas_.style.width = '100%'; + this.canvas_.style.height = '100%'; + this.canvas_.style.display = 'block'; + this.canvas_.className = GVol.css.CLASS_UNSELECTABLE; + container.insertBefore(this.canvas_, container.childNodes[0] || null); + + /** + * @private + * @type {boGVolean} + */ + this.renderedVisible_ = true; + + /** + * @private + * @type {GVol.Transform} + */ + this.transform_ = GVol.transform.create(); + +}; +GVol.inherits(GVol.renderer.canvas.Map, GVol.renderer.Map); + + +/** + * @param {GVol.render.EventType} type Event type. + * @param {GVolx.FrameState} frameState Frame state. + * @private + */ +GVol.renderer.canvas.Map.prototype.dispatchComposeEvent_ = function(type, frameState) { + var map = this.getMap(); + var context = this.context_; + if (map.hasListener(type)) { + var extent = frameState.extent; + var pixelRatio = frameState.pixelRatio; + var viewState = frameState.viewState; + var rotation = viewState.rotation; + + var transform = this.getTransform(frameState); + + var vectorContext = new GVol.render.canvas.Immediate(context, pixelRatio, + extent, transform, rotation); + var composeEvent = new GVol.render.Event(type, vectorContext, + frameState, context, null); + map.dispatchEvent(composeEvent); + } +}; + + +/** + * @param {GVolx.FrameState} frameState Frame state. + * @protected + * @return {!GVol.Transform} Transform. + */ +GVol.renderer.canvas.Map.prototype.getTransform = function(frameState) { + var viewState = frameState.viewState; + var dx1 = this.canvas_.width / 2; + var dy1 = this.canvas_.height / 2; + var sx = frameState.pixelRatio / viewState.resGVolution; + var sy = -sx; + var angle = -viewState.rotation; + var dx2 = -viewState.center[0]; + var dy2 = -viewState.center[1]; + return GVol.transform.compose(this.transform_, dx1, dy1, sx, sy, angle, dx2, dy2); +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.Map.prototype.getType = function() { + return GVol.renderer.Type.CANVAS; +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.Map.prototype.renderFrame = function(frameState) { + + if (!frameState) { + if (this.renderedVisible_) { + this.canvas_.style.display = 'none'; + this.renderedVisible_ = false; + } + return; + } + + var context = this.context_; + var pixelRatio = frameState.pixelRatio; + var width = Math.round(frameState.size[0] * pixelRatio); + var height = Math.round(frameState.size[1] * pixelRatio); + if (this.canvas_.width != width || this.canvas_.height != height) { + this.canvas_.width = width; + this.canvas_.height = height; + } else { + context.clearRect(0, 0, width, height); + } + + var rotation = frameState.viewState.rotation; + + this.calculateMatrices2D(frameState); + + this.dispatchComposeEvent_(GVol.render.EventType.PRECOMPOSE, frameState); + + var layerStatesArray = frameState.layerStatesArray; + GVol.array.stableSort(layerStatesArray, GVol.renderer.Map.sortByZIndex); + + if (rotation) { + context.save(); + GVol.render.canvas.rotateAtOffset(context, rotation, width / 2, height / 2); + } + + var viewResGVolution = frameState.viewState.resGVolution; + var i, ii, layer, layerRenderer, layerState; + for (i = 0, ii = layerStatesArray.length; i < ii; ++i) { + layerState = layerStatesArray[i]; + layer = layerState.layer; + layerRenderer = /** @type {GVol.renderer.canvas.Layer} */ (this.getLayerRenderer(layer)); + if (!GVol.layer.Layer.visibleAtResGVolution(layerState, viewResGVolution) || + layerState.sourceState != GVol.source.State.READY) { + continue; + } + if (layerRenderer.prepareFrame(frameState, layerState)) { + layerRenderer.composeFrame(frameState, layerState, context); + } + } + + if (rotation) { + context.restore(); + } + + this.dispatchComposeEvent_( + GVol.render.EventType.POSTCOMPOSE, frameState); + + if (!this.renderedVisible_) { + this.canvas_.style.display = ''; + this.renderedVisible_ = true; + } + + this.scheduleRemoveUnusedLayerRenderers(frameState); + this.scheduleExpireIconCache(frameState); +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.Map.prototype.forEachLayerAtPixel = function(pixel, frameState, callback, thisArg, + layerFilter, thisArg2) { + var result; + var viewState = frameState.viewState; + var viewResGVolution = viewState.resGVolution; + + var layerStates = frameState.layerStatesArray; + var numLayers = layerStates.length; + + var coordinate = GVol.transform.apply( + frameState.pixelToCoordinateTransform, pixel.slice()); + + var i; + for (i = numLayers - 1; i >= 0; --i) { + var layerState = layerStates[i]; + var layer = layerState.layer; + if (GVol.layer.Layer.visibleAtResGVolution(layerState, viewResGVolution) && + layerFilter.call(thisArg2, layer)) { + var layerRenderer = /** @type {GVol.renderer.canvas.Layer} */ (this.getLayerRenderer(layer)); + result = layerRenderer.forEachLayerAtCoordinate( + coordinate, frameState, callback, thisArg); + if (result) { + return result; + } + } + } + return undefined; +}; + +goog.provide('GVol.render.ReplayType'); + + +/** + * @enum {string} + */ +GVol.render.ReplayType = { + CIRCLE: 'Circle', + DEFAULT: 'Default', + IMAGE: 'Image', + LINE_STRING: 'LineString', + POLYGON: 'PGVolygon', + TEXT: 'Text' +}; + +goog.provide('GVol.render.replay'); + +goog.require('GVol.render.ReplayType'); + + +/** + * @const + * @type {Array.<GVol.render.ReplayType>} + */ +GVol.render.replay.ORDER = [ + GVol.render.ReplayType.POLYGON, + GVol.render.ReplayType.CIRCLE, + GVol.render.ReplayType.LINE_STRING, + GVol.render.ReplayType.IMAGE, + GVol.render.ReplayType.TEXT, + GVol.render.ReplayType.DEFAULT +]; + +goog.provide('GVol.render.ReplayGroup'); + + +/** + * Base class for replay groups. + * @constructor + * @abstract + */ +GVol.render.ReplayGroup = function() {}; + + +/** + * @abstract + * @param {number|undefined} zIndex Z index. + * @param {GVol.render.ReplayType} replayType Replay type. + * @return {GVol.render.VectorContext} Replay. + */ +GVol.render.ReplayGroup.prototype.getReplay = function(zIndex, replayType) {}; + + +/** + * @abstract + * @return {boGVolean} Is empty. + */ +GVol.render.ReplayGroup.prototype.isEmpty = function() {}; + +goog.provide('GVol.webgl.Shader'); + +goog.require('GVol'); +goog.require('GVol.functions'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @abstract + * @param {string} source Source. + * @struct + */ + GVol.webgl.Shader = function(source) { + + /** + * @private + * @type {string} + */ + this.source_ = source; + + }; + + + /** + * @abstract + * @return {number} Type. + */ + GVol.webgl.Shader.prototype.getType = function() {}; + + + /** + * @return {string} Source. + */ + GVol.webgl.Shader.prototype.getSource = function() { + return this.source_; + }; + + + /** + * @return {boGVolean} Is animated? + */ + GVol.webgl.Shader.prototype.isAnimated = GVol.functions.FALSE; + +} + +goog.provide('GVol.webgl.Fragment'); + +goog.require('GVol'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Shader'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.webgl.Shader} + * @param {string} source Source. + * @struct + */ + GVol.webgl.Fragment = function(source) { + GVol.webgl.Shader.call(this, source); + }; + GVol.inherits(GVol.webgl.Fragment, GVol.webgl.Shader); + + + /** + * @inheritDoc + */ + GVol.webgl.Fragment.prototype.getType = function() { + return GVol.webgl.FRAGMENT_SHADER; + }; + +} + +goog.provide('GVol.webgl.Vertex'); + +goog.require('GVol'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Shader'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.webgl.Shader} + * @param {string} source Source. + * @struct + */ + GVol.webgl.Vertex = function(source) { + GVol.webgl.Shader.call(this, source); + }; + GVol.inherits(GVol.webgl.Vertex, GVol.webgl.Shader); + + + /** + * @inheritDoc + */ + GVol.webgl.Vertex.prototype.getType = function() { + return GVol.webgl.VERTEX_SHADER; + }; + +} + +// This file is automatically generated, do not edit +/* eslint openlayers-internal/no-missing-requires: 0 */ +goog.provide('GVol.render.webgl.circlereplay.defaultshader'); + +goog.require('GVol'); +goog.require('GVol.webgl.Fragment'); +goog.require('GVol.webgl.Vertex'); + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.webgl.Fragment} + * @struct + */ + GVol.render.webgl.circlereplay.defaultshader.Fragment = function() { + GVol.webgl.Fragment.call(this, GVol.render.webgl.circlereplay.defaultshader.Fragment.SOURCE); + }; + GVol.inherits(GVol.render.webgl.circlereplay.defaultshader.Fragment, GVol.webgl.Fragment); + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.circlereplay.defaultshader.Fragment.DEBUG_SOURCE = 'precision mediump float;\nvarying vec2 v_center;\nvarying vec2 v_offset;\nvarying float v_halfWidth;\nvarying float v_pixelRatio;\n\n\n\nuniform float u_opacity;\nuniform vec4 u_fillCGVolor;\nuniform vec4 u_strokeCGVolor;\nuniform vec2 u_size;\n\nvoid main(void) {\n vec2 windowCenter = vec2((v_center.x + 1.0) / 2.0 * u_size.x * v_pixelRatio,\n (v_center.y + 1.0) / 2.0 * u_size.y * v_pixelRatio);\n vec2 windowOffset = vec2((v_offset.x + 1.0) / 2.0 * u_size.x * v_pixelRatio,\n (v_offset.y + 1.0) / 2.0 * u_size.y * v_pixelRatio);\n float radius = length(windowCenter - windowOffset);\n float dist = length(windowCenter - gl_FragCoord.xy);\n if (dist > radius + v_halfWidth) {\n if (u_strokeCGVolor.a == 0.0) {\n gl_FragCGVolor = u_fillCGVolor;\n } else {\n gl_FragCGVolor = u_strokeCGVolor;\n }\n gl_FragCGVolor.a = gl_FragCGVolor.a - (dist - (radius + v_halfWidth));\n } else if (u_fillCGVolor.a == 0.0) {\n // Hooray, no fill, just stroke. We can use real antialiasing.\n gl_FragCGVolor = u_strokeCGVolor;\n if (dist < radius - v_halfWidth) {\n gl_FragCGVolor.a = gl_FragCGVolor.a - (radius - v_halfWidth - dist);\n }\n } else {\n gl_FragCGVolor = u_fillCGVolor;\n float strokeDist = radius - v_halfWidth;\n float antialias = 2.0 * v_pixelRatio;\n if (dist > strokeDist) {\n gl_FragCGVolor = u_strokeCGVolor;\n } else if (dist >= strokeDist - antialias) {\n float step = smoothstep(strokeDist - antialias, strokeDist, dist);\n gl_FragCGVolor = mix(u_fillCGVolor, u_strokeCGVolor, step);\n }\n }\n gl_FragCGVolor.a = gl_FragCGVolor.a * u_opacity;\n if (gl_FragCGVolor.a <= 0.0) {\n discard;\n }\n}\n'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.circlereplay.defaultshader.Fragment.OPTIMIZED_SOURCE = 'precision mediump float;varying vec2 a;varying vec2 b;varying float c;varying float d;uniform float m;uniform vec4 n;uniform vec4 o;uniform vec2 p;void main(void){vec2 windowCenter=vec2((a.x+1.0)/2.0*p.x*d,(a.y+1.0)/2.0*p.y*d);vec2 windowOffset=vec2((b.x+1.0)/2.0*p.x*d,(b.y+1.0)/2.0*p.y*d);float radius=length(windowCenter-windowOffset);float dist=length(windowCenter-gl_FragCoord.xy);if(dist>radius+c){if(o.a==0.0){gl_FragCGVolor=n;}else{gl_FragCGVolor=o;}gl_FragCGVolor.a=gl_FragCGVolor.a-(dist-(radius+c));}else if(n.a==0.0){gl_FragCGVolor=o;if(dist<radius-c){gl_FragCGVolor.a=gl_FragCGVolor.a-(radius-c-dist);}} else{gl_FragCGVolor=n;float strokeDist=radius-c;float antialias=2.0*d;if(dist>strokeDist){gl_FragCGVolor=o;}else if(dist>=strokeDist-antialias){float step=smoothstep(strokeDist-antialias,strokeDist,dist);gl_FragCGVolor=mix(n,o,step);}} gl_FragCGVolor.a=gl_FragCGVolor.a*m;if(gl_FragCGVolor.a<=0.0){discard;}}'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.circlereplay.defaultshader.Fragment.SOURCE = GVol.DEBUG_WEBGL ? + GVol.render.webgl.circlereplay.defaultshader.Fragment.DEBUG_SOURCE : + GVol.render.webgl.circlereplay.defaultshader.Fragment.OPTIMIZED_SOURCE; + + + GVol.render.webgl.circlereplay.defaultshader.fragment = new GVol.render.webgl.circlereplay.defaultshader.Fragment(); + + + /** + * @constructor + * @extends {GVol.webgl.Vertex} + * @struct + */ + GVol.render.webgl.circlereplay.defaultshader.Vertex = function() { + GVol.webgl.Vertex.call(this, GVol.render.webgl.circlereplay.defaultshader.Vertex.SOURCE); + }; + GVol.inherits(GVol.render.webgl.circlereplay.defaultshader.Vertex, GVol.webgl.Vertex); + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.circlereplay.defaultshader.Vertex.DEBUG_SOURCE = 'varying vec2 v_center;\nvarying vec2 v_offset;\nvarying float v_halfWidth;\nvarying float v_pixelRatio;\n\n\nattribute vec2 a_position;\nattribute float a_instruction;\nattribute float a_radius;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\nuniform float u_lineWidth;\nuniform float u_pixelRatio;\n\nvoid main(void) {\n mat4 offsetMatrix = u_offsetScaleMatrix * u_offsetRotateMatrix;\n v_center = vec4(u_projectionMatrix * vec4(a_position, 0.0, 1.0)).xy;\n v_pixelRatio = u_pixelRatio;\n float lineWidth = u_lineWidth * u_pixelRatio;\n v_halfWidth = lineWidth / 2.0;\n if (lineWidth == 0.0) {\n lineWidth = 2.0 * u_pixelRatio;\n }\n vec2 offset;\n // Radius with anitaliasing (roughly).\n float radius = a_radius + 3.0 * u_pixelRatio;\n // Until we get gl_VertexID in WebGL, we store an instruction.\n if (a_instruction == 0.0) {\n // Offsetting the edges of the triangle by lineWidth / 2 is necessary, however\n // we should also leave some space for the antialiasing, thus we offset by lineWidth.\n offset = vec2(-1.0, 1.0);\n } else if (a_instruction == 1.0) {\n offset = vec2(-1.0, -1.0);\n } else if (a_instruction == 2.0) {\n offset = vec2(1.0, -1.0);\n } else {\n offset = vec2(1.0, 1.0);\n }\n\n gl_Position = u_projectionMatrix * vec4(a_position + offset * radius, 0.0, 1.0) +\n offsetMatrix * vec4(offset * lineWidth, 0.0, 0.0);\n v_offset = vec4(u_projectionMatrix * vec4(a_position.x + a_radius, a_position.y,\n 0.0, 1.0)).xy;\n\n if (distance(v_center, v_offset) > 20000.0) {\n gl_Position = vec4(v_center, 0.0, 1.0);\n }\n}\n\n\n'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.circlereplay.defaultshader.Vertex.OPTIMIZED_SOURCE = 'varying vec2 a;varying vec2 b;varying float c;varying float d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;void main(void){mat4 offsetMatrix=i*j;a=vec4(h*vec4(e,0.0,1.0)).xy;d=l;float lineWidth=k*l;c=lineWidth/2.0;if(lineWidth==0.0){lineWidth=2.0*l;}vec2 offset;float radius=g+3.0*l;if(f==0.0){offset=vec2(-1.0,1.0);}else if(f==1.0){offset=vec2(-1.0,-1.0);}else if(f==2.0){offset=vec2(1.0,-1.0);}else{offset=vec2(1.0,1.0);}gl_Position=h*vec4(e+offset*radius,0.0,1.0)+offsetMatrix*vec4(offset*lineWidth,0.0,0.0);b=vec4(h*vec4(e.x+g,e.y,0.0,1.0)).xy;if(distance(a,b)>20000.0){gl_Position=vec4(a,0.0,1.0);}}'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.circlereplay.defaultshader.Vertex.SOURCE = GVol.DEBUG_WEBGL ? + GVol.render.webgl.circlereplay.defaultshader.Vertex.DEBUG_SOURCE : + GVol.render.webgl.circlereplay.defaultshader.Vertex.OPTIMIZED_SOURCE; + + + GVol.render.webgl.circlereplay.defaultshader.vertex = new GVol.render.webgl.circlereplay.defaultshader.Vertex(); + + + /** + * @constructor + * @param {WebGLRenderingContext} gl GL. + * @param {WebGLProgram} program Program. + * @struct + */ + GVol.render.webgl.circlereplay.defaultshader.Locations = function(gl, program) { + + /** + * @type {WebGLUniformLocation} + */ + this.u_fillCGVolor = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_fillCGVolor' : 'n'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_lineWidth = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_lineWidth' : 'k'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_offsetRotateMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_offsetRotateMatrix' : 'j'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_offsetScaleMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_offsetScaleMatrix' : 'i'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_opacity = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_opacity' : 'm'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_pixelRatio = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_pixelRatio' : 'l'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_projectionMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_projectionMatrix' : 'h'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_size = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_size' : 'p'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_strokeCGVolor = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_strokeCGVolor' : 'o'); + + /** + * @type {number} + */ + this.a_instruction = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_instruction' : 'f'); + + /** + * @type {number} + */ + this.a_position = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_position' : 'e'); + + /** + * @type {number} + */ + this.a_radius = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_radius' : 'g'); + }; + +} + +goog.provide('GVol.vec.Mat4'); + + +/** + * @return {Array.<number>} 4x4 matrix representing a 3D identity transform. + */ +GVol.vec.Mat4.create = function() { + return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; +}; + + +/** + * @param {Array.<number>} mat4 Flattened 4x4 matrix receiving the result. + * @param {GVol.Transform} transform Transformation matrix. + * @return {Array.<number>} 2D transformation matrix as flattened 4x4 matrix. + */ +GVol.vec.Mat4.fromTransform = function(mat4, transform) { + mat4[0] = transform[0]; + mat4[1] = transform[1]; + mat4[4] = transform[2]; + mat4[5] = transform[3]; + mat4[12] = transform[4]; + mat4[13] = transform[5]; + return mat4; +}; + +goog.provide('GVol.render.webgl.Replay'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.render.VectorContext'); +goog.require('GVol.transform'); +goog.require('GVol.vec.Mat4'); +goog.require('GVol.webgl'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @abstract + * @extends {GVol.render.VectorContext} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Max extent. + * @struct + */ + GVol.render.webgl.Replay = function(tGVolerance, maxExtent) { + GVol.render.VectorContext.call(this); + + /** + * @protected + * @type {number} + */ + this.tGVolerance = tGVolerance; + + /** + * @protected + * @const + * @type {GVol.Extent} + */ + this.maxExtent = maxExtent; + + /** + * The origin of the coordinate system for the point coordinates sent to + * the GPU. To eliminate jitter caused by precision problems in the GPU + * we use the "Rendering Relative to Eye" technique described in the "3D + * Engine Design for Virtual Globes" book. + * @protected + * @type {GVol.Coordinate} + */ + this.origin = GVol.extent.getCenter(maxExtent); + + /** + * @private + * @type {GVol.Transform} + */ + this.projectionMatrix_ = GVol.transform.create(); + + /** + * @private + * @type {GVol.Transform} + */ + this.offsetRotateMatrix_ = GVol.transform.create(); + + /** + * @private + * @type {GVol.Transform} + */ + this.offsetScaleMatrix_ = GVol.transform.create(); + + /** + * @private + * @type {Array.<number>} + */ + this.tmpMat4_ = GVol.vec.Mat4.create(); + + /** + * @protected + * @type {Array.<number>} + */ + this.indices = []; + + /** + * @protected + * @type {?GVol.webgl.Buffer} + */ + this.indicesBuffer = null; + + /** + * Start index per feature (the index). + * @protected + * @type {Array.<number>} + */ + this.startIndices = []; + + /** + * Start index per feature (the feature). + * @protected + * @type {Array.<GVol.Feature|GVol.render.Feature>} + */ + this.startIndicesFeature = []; + + /** + * @protected + * @type {Array.<number>} + */ + this.vertices = []; + + /** + * @protected + * @type {?GVol.webgl.Buffer} + */ + this.verticesBuffer = null; + + /** + * Optional parameter for PGVolygonReplay instances. + * @protected + * @type {GVol.render.webgl.LineStringReplay|undefined} + */ + this.lineStringReplay = undefined; + + }; + GVol.inherits(GVol.render.webgl.Replay, GVol.render.VectorContext); + + + /** + * @abstract + * @param {GVol.webgl.Context} context WebGL context. + * @return {function()} Delete resources function. + */ + GVol.render.webgl.Replay.prototype.getDeleteResourcesFunction = function(context) {}; + + + /** + * @abstract + * @param {GVol.webgl.Context} context Context. + */ + GVol.render.webgl.Replay.prototype.finish = function(context) {}; + + + /** + * @abstract + * @protected + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {GVol.Size} size Size. + * @param {number} pixelRatio Pixel ratio. + * @return {GVol.render.webgl.circlereplay.defaultshader.Locations| + GVol.render.webgl.linestringreplay.defaultshader.Locations| + GVol.render.webgl.pGVolygonreplay.defaultshader.Locations| + GVol.render.webgl.texturereplay.defaultshader.Locations} Locations. + */ + GVol.render.webgl.Replay.prototype.setUpProgram = function(gl, context, size, pixelRatio) {}; + + + /** + * @abstract + * @protected + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.render.webgl.circlereplay.defaultshader.Locations| + GVol.render.webgl.linestringreplay.defaultshader.Locations| + GVol.render.webgl.pGVolygonreplay.defaultshader.Locations| + GVol.render.webgl.texturereplay.defaultshader.Locations} locations Locations. + */ + GVol.render.webgl.Replay.prototype.shutDownProgram = function(gl, locations) {}; + + + /** + * @abstract + * @protected + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {boGVolean} hitDetection Hit detection mode. + */ + GVol.render.webgl.Replay.prototype.drawReplay = function(gl, context, skippedFeaturesHash, hitDetection) {}; + + + /** + * @abstract + * @protected + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {function((GVol.Feature|GVol.render.Feature)): T|undefined} featureCallback Feature callback. + * @param {GVol.Extent=} opt_hitExtent Hit extent: Only features intersecting + * this extent are checked. + * @return {T|undefined} Callback result. + * @template T + */ + GVol.render.webgl.Replay.prototype.drawHitDetectionReplayOneByOne = function(gl, context, skippedFeaturesHash, featureCallback, opt_hitExtent) {}; + + + /** + * @protected + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {function((GVol.Feature|GVol.render.Feature)): T|undefined} featureCallback Feature callback. + * @param {boGVolean} oneByOne Draw features one-by-one for the hit-detecion. + * @param {GVol.Extent=} opt_hitExtent Hit extent: Only features intersecting + * this extent are checked. + * @return {T|undefined} Callback result. + * @template T + */ + GVol.render.webgl.Replay.prototype.drawHitDetectionReplay = function(gl, context, skippedFeaturesHash, + featureCallback, oneByOne, opt_hitExtent) { + if (!oneByOne) { + // draw all hit-detection features in "once" (by texture group) + return this.drawHitDetectionReplayAll(gl, context, + skippedFeaturesHash, featureCallback); + } else { + // draw hit-detection features one by one + return this.drawHitDetectionReplayOneByOne(gl, context, + skippedFeaturesHash, featureCallback, opt_hitExtent); + } + }; + + + /** + * @protected + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {function((GVol.Feature|GVol.render.Feature)): T|undefined} featureCallback Feature callback. + * @return {T|undefined} Callback result. + * @template T + */ + GVol.render.webgl.Replay.prototype.drawHitDetectionReplayAll = function(gl, context, skippedFeaturesHash, + featureCallback) { + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); + this.drawReplay(gl, context, skippedFeaturesHash, true); + + var result = featureCallback(null); + if (result) { + return result; + } else { + return undefined; + } + }; + + + /** + * @param {GVol.webgl.Context} context Context. + * @param {GVol.Coordinate} center Center. + * @param {number} resGVolution ResGVolution. + * @param {number} rotation Rotation. + * @param {GVol.Size} size Size. + * @param {number} pixelRatio Pixel ratio. + * @param {number} opacity Global opacity. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {function((GVol.Feature|GVol.render.Feature)): T|undefined} featureCallback Feature callback. + * @param {boGVolean} oneByOne Draw features one-by-one for the hit-detecion. + * @param {GVol.Extent=} opt_hitExtent Hit extent: Only features intersecting + * this extent are checked. + * @return {T|undefined} Callback result. + * @template T + */ + GVol.render.webgl.Replay.prototype.replay = function(context, + center, resGVolution, rotation, size, pixelRatio, + opacity, skippedFeaturesHash, + featureCallback, oneByOne, opt_hitExtent) { + var gl = context.getGL(); + var tmpStencil, tmpStencilFunc, tmpStencilMaskVal, tmpStencilRef, tmpStencilMask, + tmpStencilOpFail, tmpStencilOpPass, tmpStencilOpZFail; + + if (this.lineStringReplay) { + tmpStencil = gl.isEnabled(gl.STENCIL_TEST); + tmpStencilFunc = gl.getParameter(gl.STENCIL_FUNC); + tmpStencilMaskVal = gl.getParameter(gl.STENCIL_VALUE_MASK); + tmpStencilRef = gl.getParameter(gl.STENCIL_REF); + tmpStencilMask = gl.getParameter(gl.STENCIL_WRITEMASK); + tmpStencilOpFail = gl.getParameter(gl.STENCIL_FAIL); + tmpStencilOpPass = gl.getParameter(gl.STENCIL_PASS_DEPTH_PASS); + tmpStencilOpZFail = gl.getParameter(gl.STENCIL_PASS_DEPTH_FAIL); + + gl.enable(gl.STENCIL_TEST); + gl.clear(gl.STENCIL_BUFFER_BIT); + gl.stencilMask(255); + gl.stencilFunc(gl.ALWAYS, 1, 255); + gl.stencilOp(gl.KEEP, gl.KEEP, gl.REPLACE); + + this.lineStringReplay.replay(context, + center, resGVolution, rotation, size, pixelRatio, + opacity, skippedFeaturesHash, + featureCallback, oneByOne, opt_hitExtent); + + gl.stencilMask(0); + gl.stencilFunc(gl.NOTEQUAL, 1, 255); + } + + context.bindBuffer(GVol.webgl.ARRAY_BUFFER, this.verticesBuffer); + + context.bindBuffer(GVol.webgl.ELEMENT_ARRAY_BUFFER, this.indicesBuffer); + + var locations = this.setUpProgram(gl, context, size, pixelRatio); + + // set the "uniform" values + var projectionMatrix = GVol.transform.reset(this.projectionMatrix_); + GVol.transform.scale(projectionMatrix, 2 / (resGVolution * size[0]), 2 / (resGVolution * size[1])); + GVol.transform.rotate(projectionMatrix, -rotation); + GVol.transform.translate(projectionMatrix, -(center[0] - this.origin[0]), -(center[1] - this.origin[1])); + + var offsetScaleMatrix = GVol.transform.reset(this.offsetScaleMatrix_); + GVol.transform.scale(offsetScaleMatrix, 2 / size[0], 2 / size[1]); + + var offsetRotateMatrix = GVol.transform.reset(this.offsetRotateMatrix_); + if (rotation !== 0) { + GVol.transform.rotate(offsetRotateMatrix, -rotation); + } + + gl.uniformMatrix4fv(locations.u_projectionMatrix, false, + GVol.vec.Mat4.fromTransform(this.tmpMat4_, projectionMatrix)); + gl.uniformMatrix4fv(locations.u_offsetScaleMatrix, false, + GVol.vec.Mat4.fromTransform(this.tmpMat4_, offsetScaleMatrix)); + gl.uniformMatrix4fv(locations.u_offsetRotateMatrix, false, + GVol.vec.Mat4.fromTransform(this.tmpMat4_, offsetRotateMatrix)); + gl.uniform1f(locations.u_opacity, opacity); + + // draw! + var result; + if (featureCallback === undefined) { + this.drawReplay(gl, context, skippedFeaturesHash, false); + } else { + // draw feature by feature for the hit-detection + result = this.drawHitDetectionReplay(gl, context, skippedFeaturesHash, + featureCallback, oneByOne, opt_hitExtent); + } + + // disable the vertex attrib arrays + this.shutDownProgram(gl, locations); + + if (this.lineStringReplay) { + if (!tmpStencil) { + gl.disable(gl.STENCIL_TEST); + } + gl.clear(gl.STENCIL_BUFFER_BIT); + gl.stencilFunc(/** @type {number} */ (tmpStencilFunc), + /** @type {number} */ (tmpStencilRef), /** @type {number} */ (tmpStencilMaskVal)); + gl.stencilMask(/** @type {number} */ (tmpStencilMask)); + gl.stencilOp(/** @type {number} */ (tmpStencilOpFail), + /** @type {number} */ (tmpStencilOpZFail), /** @type {number} */ (tmpStencilOpPass)); + } + + return result; + }; + + /** + * @protected + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {number} start Start index. + * @param {number} end End index. + */ + GVol.render.webgl.Replay.prototype.drawElements = function( + gl, context, start, end) { + var elementType = context.hasOESElementIndexUint ? + GVol.webgl.UNSIGNED_INT : GVol.webgl.UNSIGNED_SHORT; + var elementSize = context.hasOESElementIndexUint ? 4 : 2; + + var numItems = end - start; + var offsetInBytes = start * elementSize; + gl.drawElements(GVol.webgl.TRIANGLES, numItems, elementType, offsetInBytes); + }; + +} + +goog.provide('GVol.render.webgl'); + +goog.require('GVol'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @const + * @type {string} + */ + GVol.render.webgl.defaultFont = '10px sans-serif'; + + + /** + * @const + * @type {GVol.CGVolor} + */ + GVol.render.webgl.defaultFillStyle = [0.0, 0.0, 0.0, 1.0]; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.defaultLineCap = 'round'; + + + /** + * @const + * @type {Array.<number>} + */ + GVol.render.webgl.defaultLineDash = []; + + + /** + * @const + * @type {number} + */ + GVol.render.webgl.defaultLineDashOffset = 0; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.defaultLineJoin = 'round'; + + + /** + * @const + * @type {number} + */ + GVol.render.webgl.defaultMiterLimit = 10; + + /** + * @const + * @type {GVol.CGVolor} + */ + GVol.render.webgl.defaultStrokeStyle = [0.0, 0.0, 0.0, 1.0]; + + + /** + * @const + * @type {number} + */ + GVol.render.webgl.defaultTextAlign = 0.5; + + + /** + * @const + * @type {number} + */ + GVol.render.webgl.defaultTextBaseline = 0.5; + + + /** + * @const + * @type {number} + */ + GVol.render.webgl.defaultLineWidth = 1; + + /** + * Calculates the orientation of a triangle based on the determinant method. + * @param {number} x1 First X coordinate. + * @param {number} y1 First Y coordinate. + * @param {number} x2 Second X coordinate. + * @param {number} y2 Second Y coordinate. + * @param {number} x3 Third X coordinate. + * @param {number} y3 Third Y coordinate. + * @return {boGVolean|undefined} Triangle is clockwise. + */ + GVol.render.webgl.triangleIsCounterClockwise = function(x1, y1, x2, y2, x3, y3) { + var area = (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1); + return (area <= GVol.render.webgl.EPSILON && area >= -GVol.render.webgl.EPSILON) ? + undefined : area > 0; + }; + + /** + * @const + * @type {number} + */ + GVol.render.webgl.EPSILON = Number.EPSILON || 2.220446049250313e-16; + +} + +goog.provide('GVol.webgl.Buffer'); + +goog.require('GVol'); +goog.require('GVol.webgl'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @param {Array.<number>=} opt_arr Array. + * @param {number=} opt_usage Usage. + * @struct + */ + GVol.webgl.Buffer = function(opt_arr, opt_usage) { + + /** + * @private + * @type {Array.<number>} + */ + this.arr_ = opt_arr !== undefined ? opt_arr : []; + + /** + * @private + * @type {number} + */ + this.usage_ = opt_usage !== undefined ? + opt_usage : GVol.webgl.Buffer.Usage_.STATIC_DRAW; + + }; + + + /** + * @return {Array.<number>} Array. + */ + GVol.webgl.Buffer.prototype.getArray = function() { + return this.arr_; + }; + + + /** + * @return {number} Usage. + */ + GVol.webgl.Buffer.prototype.getUsage = function() { + return this.usage_; + }; + + + /** + * @enum {number} + * @private + */ + GVol.webgl.Buffer.Usage_ = { + STATIC_DRAW: GVol.webgl.STATIC_DRAW, + STREAM_DRAW: GVol.webgl.STREAM_DRAW, + DYNAMIC_DRAW: GVol.webgl.DYNAMIC_DRAW + }; + +} + +goog.provide('GVol.render.webgl.CircleReplay'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.cGVolor'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); +goog.require('GVol.geom.flat.transform'); +goog.require('GVol.render.webgl.circlereplay.defaultshader'); +goog.require('GVol.render.webgl.Replay'); +goog.require('GVol.render.webgl'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Buffer'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.render.webgl.Replay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Max extent. + * @struct + */ + GVol.render.webgl.CircleReplay = function(tGVolerance, maxExtent) { + GVol.render.webgl.Replay.call(this, tGVolerance, maxExtent); + + /** + * @private + * @type {GVol.render.webgl.circlereplay.defaultshader.Locations} + */ + this.defaultLocations_ = null; + + /** + * @private + * @type {Array.<Array.<Array.<number>|number>>} + */ + this.styles_ = []; + + /** + * @private + * @type {Array.<number>} + */ + this.styleIndices_ = []; + + /** + * @private + * @type {number} + */ + this.radius_ = 0; + + /** + * @private + * @type {{fillCGVolor: (Array.<number>|null), + * strokeCGVolor: (Array.<number>|null), + * lineDash: Array.<number>, + * lineDashOffset: (number|undefined), + * lineWidth: (number|undefined), + * changed: boGVolean}|null} + */ + this.state_ = { + fillCGVolor: null, + strokeCGVolor: null, + lineDash: null, + lineDashOffset: undefined, + lineWidth: undefined, + changed: false + }; + + }; + GVol.inherits(GVol.render.webgl.CircleReplay, GVol.render.webgl.Replay); + + + /** + * @private + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + */ + GVol.render.webgl.CircleReplay.prototype.drawCoordinates_ = function( + flatCoordinates, offset, end, stride) { + var numVertices = this.vertices.length; + var numIndices = this.indices.length; + var n = numVertices / 4; + var i, ii; + for (i = offset, ii = end; i < ii; i += stride) { + this.vertices[numVertices++] = flatCoordinates[i]; + this.vertices[numVertices++] = flatCoordinates[i + 1]; + this.vertices[numVertices++] = 0; + this.vertices[numVertices++] = this.radius_; + + this.vertices[numVertices++] = flatCoordinates[i]; + this.vertices[numVertices++] = flatCoordinates[i + 1]; + this.vertices[numVertices++] = 1; + this.vertices[numVertices++] = this.radius_; + + this.vertices[numVertices++] = flatCoordinates[i]; + this.vertices[numVertices++] = flatCoordinates[i + 1]; + this.vertices[numVertices++] = 2; + this.vertices[numVertices++] = this.radius_; + + this.vertices[numVertices++] = flatCoordinates[i]; + this.vertices[numVertices++] = flatCoordinates[i + 1]; + this.vertices[numVertices++] = 3; + this.vertices[numVertices++] = this.radius_; + + this.indices[numIndices++] = n; + this.indices[numIndices++] = n + 1; + this.indices[numIndices++] = n + 2; + + this.indices[numIndices++] = n + 2; + this.indices[numIndices++] = n + 3; + this.indices[numIndices++] = n; + + n += 4; + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.CircleReplay.prototype.drawCircle = function(circleGeometry, feature) { + var radius = circleGeometry.getRadius(); + var stride = circleGeometry.getStride(); + if (radius) { + this.startIndices.push(this.indices.length); + this.startIndicesFeature.push(feature); + if (this.state_.changed) { + this.styleIndices_.push(this.indices.length); + this.state_.changed = false; + } + + this.radius_ = radius; + var flatCoordinates = circleGeometry.getFlatCoordinates(); + flatCoordinates = GVol.geom.flat.transform.translate(flatCoordinates, 0, 2, + stride, -this.origin[0], -this.origin[1]); + this.drawCoordinates_(flatCoordinates, 0, 2, stride); + } else { + if (this.state_.changed) { + this.styles_.pop(); + if (this.styles_.length) { + var lastState = this.styles_[this.styles_.length - 1]; + this.state_.fillCGVolor = /** @type {Array.<number>} */ (lastState[0]); + this.state_.strokeCGVolor = /** @type {Array.<number>} */ (lastState[1]); + this.state_.lineWidth = /** @type {number} */ (lastState[2]); + this.state_.changed = false; + } + } + } + }; + + + /** + * @inheritDoc + **/ + GVol.render.webgl.CircleReplay.prototype.finish = function(context) { + // create, bind, and populate the vertices buffer + this.verticesBuffer = new GVol.webgl.Buffer(this.vertices); + + // create, bind, and populate the indices buffer + this.indicesBuffer = new GVol.webgl.Buffer(this.indices); + + this.startIndices.push(this.indices.length); + + //Clean up, if there is nothing to draw + if (this.styleIndices_.length === 0 && this.styles_.length > 0) { + this.styles_ = []; + } + + this.vertices = null; + this.indices = null; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.CircleReplay.prototype.getDeleteResourcesFunction = function(context) { + // We only delete our stuff here. The shaders and the program may + // be used by other CircleReplay instances (for other layers). And + // they will be deleted when disposing of the GVol.webgl.Context + // object. + var verticesBuffer = this.verticesBuffer; + var indicesBuffer = this.indicesBuffer; + return function() { + context.deleteBuffer(verticesBuffer); + context.deleteBuffer(indicesBuffer); + }; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.CircleReplay.prototype.setUpProgram = function(gl, context, size, pixelRatio) { + // get the program + var fragmentShader, vertexShader; + fragmentShader = GVol.render.webgl.circlereplay.defaultshader.fragment; + vertexShader = GVol.render.webgl.circlereplay.defaultshader.vertex; + var program = context.getProgram(fragmentShader, vertexShader); + + // get the locations + var locations; + if (!this.defaultLocations_) { + // eslint-disable-next-line openlayers-internal/no-missing-requires + locations = new GVol.render.webgl.circlereplay.defaultshader.Locations(gl, program); + this.defaultLocations_ = locations; + } else { + locations = this.defaultLocations_; + } + + context.useProgram(program); + + // enable the vertex attrib arrays + gl.enableVertexAttribArray(locations.a_position); + gl.vertexAttribPointer(locations.a_position, 2, GVol.webgl.FLOAT, + false, 16, 0); + + gl.enableVertexAttribArray(locations.a_instruction); + gl.vertexAttribPointer(locations.a_instruction, 1, GVol.webgl.FLOAT, + false, 16, 8); + + gl.enableVertexAttribArray(locations.a_radius); + gl.vertexAttribPointer(locations.a_radius, 1, GVol.webgl.FLOAT, + false, 16, 12); + + // Enable renderer specific uniforms. + gl.uniform2fv(locations.u_size, size); + gl.uniform1f(locations.u_pixelRatio, pixelRatio); + + return locations; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.CircleReplay.prototype.shutDownProgram = function(gl, locations) { + gl.disableVertexAttribArray(locations.a_position); + gl.disableVertexAttribArray(locations.a_instruction); + gl.disableVertexAttribArray(locations.a_radius); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.CircleReplay.prototype.drawReplay = function(gl, context, skippedFeaturesHash, hitDetection) { + if (!GVol.obj.isEmpty(skippedFeaturesHash)) { + this.drawReplaySkipping_(gl, context, skippedFeaturesHash); + } else { + //Draw by style groups to minimize drawElements() calls. + var i, start, end, nextStyle; + end = this.startIndices[this.startIndices.length - 1]; + for (i = this.styleIndices_.length - 1; i >= 0; --i) { + start = this.styleIndices_[i]; + nextStyle = this.styles_[i]; + this.setFillStyle_(gl, /** @type {Array.<number>} */ (nextStyle[0])); + this.setStrokeStyle_(gl, /** @type {Array.<number>} */ (nextStyle[1]), + /** @type {number} */ (nextStyle[2])); + this.drawElements(gl, context, start, end); + end = start; + } + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.CircleReplay.prototype.drawHitDetectionReplayOneByOne = function(gl, context, skippedFeaturesHash, + featureCallback, opt_hitExtent) { + var i, start, end, nextStyle, groupStart, feature, featureUid, featureIndex; + featureIndex = this.startIndices.length - 2; + end = this.startIndices[featureIndex + 1]; + for (i = this.styleIndices_.length - 1; i >= 0; --i) { + nextStyle = this.styles_[i]; + this.setFillStyle_(gl, /** @type {Array.<number>} */ (nextStyle[0])); + this.setStrokeStyle_(gl, /** @type {Array.<number>} */ (nextStyle[1]), + /** @type {number} */ (nextStyle[2])); + groupStart = this.styleIndices_[i]; + + while (featureIndex >= 0 && + this.startIndices[featureIndex] >= groupStart) { + start = this.startIndices[featureIndex]; + feature = this.startIndicesFeature[featureIndex]; + featureUid = GVol.getUid(feature).toString(); + + if (skippedFeaturesHash[featureUid] === undefined && + feature.getGeometry() && + (opt_hitExtent === undefined || GVol.extent.intersects( + /** @type {Array<number>} */ (opt_hitExtent), + feature.getGeometry().getExtent()))) { + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); + this.drawElements(gl, context, start, end); + + var result = featureCallback(feature); + + if (result) { + return result; + } + + } + featureIndex--; + end = start; + } + } + return undefined; + }; + + + /** + * @private + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {Object} skippedFeaturesHash Ids of features to skip. + */ + GVol.render.webgl.CircleReplay.prototype.drawReplaySkipping_ = function(gl, context, skippedFeaturesHash) { + var i, start, end, nextStyle, groupStart, feature, featureUid, featureIndex, featureStart; + featureIndex = this.startIndices.length - 2; + end = start = this.startIndices[featureIndex + 1]; + for (i = this.styleIndices_.length - 1; i >= 0; --i) { + nextStyle = this.styles_[i]; + this.setFillStyle_(gl, /** @type {Array.<number>} */ (nextStyle[0])); + this.setStrokeStyle_(gl, /** @type {Array.<number>} */ (nextStyle[1]), + /** @type {number} */ (nextStyle[2])); + groupStart = this.styleIndices_[i]; + + while (featureIndex >= 0 && + this.startIndices[featureIndex] >= groupStart) { + featureStart = this.startIndices[featureIndex]; + feature = this.startIndicesFeature[featureIndex]; + featureUid = GVol.getUid(feature).toString(); + + if (skippedFeaturesHash[featureUid]) { + if (start !== end) { + this.drawElements(gl, context, start, end); + } + end = featureStart; + } + featureIndex--; + start = featureStart; + } + if (start !== end) { + this.drawElements(gl, context, start, end); + } + start = end = groupStart; + } + }; + + + /** + * @private + * @param {WebGLRenderingContext} gl gl. + * @param {Array.<number>} cGVolor CGVolor. + */ + GVol.render.webgl.CircleReplay.prototype.setFillStyle_ = function(gl, cGVolor) { + gl.uniform4fv(this.defaultLocations_.u_fillCGVolor, cGVolor); + }; + + + /** + * @private + * @param {WebGLRenderingContext} gl gl. + * @param {Array.<number>} cGVolor CGVolor. + * @param {number} lineWidth Line width. + */ + GVol.render.webgl.CircleReplay.prototype.setStrokeStyle_ = function(gl, cGVolor, lineWidth) { + gl.uniform4fv(this.defaultLocations_.u_strokeCGVolor, cGVolor); + gl.uniform1f(this.defaultLocations_.u_lineWidth, lineWidth); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.CircleReplay.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { + var strokeStyleCGVolor, strokeStyleWidth; + if (strokeStyle) { + var strokeStyleLineDash = strokeStyle.getLineDash(); + this.state_.lineDash = strokeStyleLineDash ? + strokeStyleLineDash : GVol.render.webgl.defaultLineDash; + var strokeStyleLineDashOffset = strokeStyle.getLineDashOffset(); + this.state_.lineDashOffset = strokeStyleLineDashOffset ? + strokeStyleLineDashOffset : GVol.render.webgl.defaultLineDashOffset; + strokeStyleCGVolor = strokeStyle.getCGVolor(); + if (!(strokeStyleCGVolor instanceof CanvasGradient) && + !(strokeStyleCGVolor instanceof CanvasPattern)) { + strokeStyleCGVolor = GVol.cGVolor.asArray(strokeStyleCGVolor).map(function(c, i) { + return i != 3 ? c / 255 : c; + }) || GVol.render.webgl.defaultStrokeStyle; + } else { + strokeStyleCGVolor = GVol.render.webgl.defaultStrokeStyle; + } + strokeStyleWidth = strokeStyle.getWidth(); + strokeStyleWidth = strokeStyleWidth !== undefined ? + strokeStyleWidth : GVol.render.webgl.defaultLineWidth; + } else { + strokeStyleCGVolor = [0, 0, 0, 0]; + strokeStyleWidth = 0; + } + var fillStyleCGVolor = fillStyle ? fillStyle.getCGVolor() : [0, 0, 0, 0]; + if (!(fillStyleCGVolor instanceof CanvasGradient) && + !(fillStyleCGVolor instanceof CanvasPattern)) { + fillStyleCGVolor = GVol.cGVolor.asArray(fillStyleCGVolor).map(function(c, i) { + return i != 3 ? c / 255 : c; + }) || GVol.render.webgl.defaultFillStyle; + } else { + fillStyleCGVolor = GVol.render.webgl.defaultFillStyle; + } + if (!this.state_.strokeCGVolor || !GVol.array.equals(this.state_.strokeCGVolor, strokeStyleCGVolor) || + !this.state_.fillCGVolor || !GVol.array.equals(this.state_.fillCGVolor, fillStyleCGVolor) || + this.state_.lineWidth !== strokeStyleWidth) { + this.state_.changed = true; + this.state_.fillCGVolor = fillStyleCGVolor; + this.state_.strokeCGVolor = strokeStyleCGVolor; + this.state_.lineWidth = strokeStyleWidth; + this.styles_.push([fillStyleCGVolor, strokeStyleCGVolor, strokeStyleWidth]); + } + }; + +} + +// This file is automatically generated, do not edit +/* eslint openlayers-internal/no-missing-requires: 0 */ +goog.provide('GVol.render.webgl.texturereplay.defaultshader'); + +goog.require('GVol'); +goog.require('GVol.webgl.Fragment'); +goog.require('GVol.webgl.Vertex'); + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.webgl.Fragment} + * @struct + */ + GVol.render.webgl.texturereplay.defaultshader.Fragment = function() { + GVol.webgl.Fragment.call(this, GVol.render.webgl.texturereplay.defaultshader.Fragment.SOURCE); + }; + GVol.inherits(GVol.render.webgl.texturereplay.defaultshader.Fragment, GVol.webgl.Fragment); + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.texturereplay.defaultshader.Fragment.DEBUG_SOURCE = 'precision mediump float;\nvarying vec2 v_texCoord;\nvarying float v_opacity;\n\nuniform float u_opacity;\nuniform sampler2D u_image;\n\nvoid main(void) {\n vec4 texCGVolor = texture2D(u_image, v_texCoord);\n gl_FragCGVolor.rgb = texCGVolor.rgb;\n float alpha = texCGVolor.a * v_opacity * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragCGVolor.a = alpha;\n}\n'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.texturereplay.defaultshader.Fragment.OPTIMIZED_SOURCE = 'precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texCGVolor=texture2D(l,a);gl_FragCGVolor.rgb=texCGVolor.rgb;float alpha=texCGVolor.a*b*k;if(alpha==0.0){discard;}gl_FragCGVolor.a=alpha;}'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.texturereplay.defaultshader.Fragment.SOURCE = GVol.DEBUG_WEBGL ? + GVol.render.webgl.texturereplay.defaultshader.Fragment.DEBUG_SOURCE : + GVol.render.webgl.texturereplay.defaultshader.Fragment.OPTIMIZED_SOURCE; + + + GVol.render.webgl.texturereplay.defaultshader.fragment = new GVol.render.webgl.texturereplay.defaultshader.Fragment(); + + + /** + * @constructor + * @extends {GVol.webgl.Vertex} + * @struct + */ + GVol.render.webgl.texturereplay.defaultshader.Vertex = function() { + GVol.webgl.Vertex.call(this, GVol.render.webgl.texturereplay.defaultshader.Vertex.SOURCE); + }; + GVol.inherits(GVol.render.webgl.texturereplay.defaultshader.Vertex, GVol.webgl.Vertex); + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.texturereplay.defaultshader.Vertex.DEBUG_SOURCE = 'varying vec2 v_texCoord;\nvarying float v_opacity;\n\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nattribute vec2 a_offsets;\nattribute float a_opacity;\nattribute float a_rotateWithView;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\n\nvoid main(void) {\n mat4 offsetMatrix = u_offsetScaleMatrix;\n if (a_rotateWithView == 1.0) {\n offsetMatrix = u_offsetScaleMatrix * u_offsetRotateMatrix;\n }\n vec4 offsets = offsetMatrix * vec4(a_offsets, 0.0, 0.0);\n gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0) + offsets;\n v_texCoord = a_texCoord;\n v_opacity = a_opacity;\n}\n\n\n'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.texturereplay.defaultshader.Vertex.OPTIMIZED_SOURCE = 'varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.0,0.0);gl_Position=h*vec4(c,0.0,1.0)+offsets;a=d;b=f;}'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.texturereplay.defaultshader.Vertex.SOURCE = GVol.DEBUG_WEBGL ? + GVol.render.webgl.texturereplay.defaultshader.Vertex.DEBUG_SOURCE : + GVol.render.webgl.texturereplay.defaultshader.Vertex.OPTIMIZED_SOURCE; + + + GVol.render.webgl.texturereplay.defaultshader.vertex = new GVol.render.webgl.texturereplay.defaultshader.Vertex(); + + + /** + * @constructor + * @param {WebGLRenderingContext} gl GL. + * @param {WebGLProgram} program Program. + * @struct + */ + GVol.render.webgl.texturereplay.defaultshader.Locations = function(gl, program) { + + /** + * @type {WebGLUniformLocation} + */ + this.u_image = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_image' : 'l'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_offsetRotateMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_offsetRotateMatrix' : 'j'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_offsetScaleMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_offsetScaleMatrix' : 'i'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_opacity = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_opacity' : 'k'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_projectionMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_projectionMatrix' : 'h'); + + /** + * @type {number} + */ + this.a_offsets = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_offsets' : 'e'); + + /** + * @type {number} + */ + this.a_opacity = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_opacity' : 'f'); + + /** + * @type {number} + */ + this.a_position = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_position' : 'c'); + + /** + * @type {number} + */ + this.a_rotateWithView = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_rotateWithView' : 'g'); + + /** + * @type {number} + */ + this.a_texCoord = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_texCoord' : 'd'); + }; + +} + +goog.provide('GVol.webgl.ContextEventType'); + + +/** + * @enum {string} + */ +GVol.webgl.ContextEventType = { + LOST: 'webglcontextlost', + RESTORED: 'webglcontextrestored' +}; + +goog.provide('GVol.webgl.Context'); + +goog.require('GVol'); +goog.require('GVol.Disposable'); +goog.require('GVol.array'); +goog.require('GVol.events'); +goog.require('GVol.obj'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.ContextEventType'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @classdesc + * A WebGL context for accessing low-level WebGL capabilities. + * + * @constructor + * @extends {GVol.Disposable} + * @param {HTMLCanvasElement} canvas Canvas. + * @param {WebGLRenderingContext} gl GL. + */ + GVol.webgl.Context = function(canvas, gl) { + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = canvas; + + /** + * @private + * @type {WebGLRenderingContext} + */ + this.gl_ = gl; + + /** + * @private + * @type {Object.<string, GVol.WebglBufferCacheEntry>} + */ + this.bufferCache_ = {}; + + /** + * @private + * @type {Object.<string, WebGLShader>} + */ + this.shaderCache_ = {}; + + /** + * @private + * @type {Object.<string, WebGLProgram>} + */ + this.programCache_ = {}; + + /** + * @private + * @type {WebGLProgram} + */ + this.currentProgram_ = null; + + /** + * @private + * @type {WebGLFramebuffer} + */ + this.hitDetectionFramebuffer_ = null; + + /** + * @private + * @type {WebGLTexture} + */ + this.hitDetectionTexture_ = null; + + /** + * @private + * @type {WebGLRenderbuffer} + */ + this.hitDetectionRenderbuffer_ = null; + + /** + * @type {boGVolean} + */ + this.hasOESElementIndexUint = GVol.array.includes( + GVol.WEBGL_EXTENSIONS, 'OES_element_index_uint'); + + // use the OES_element_index_uint extension if available + if (this.hasOESElementIndexUint) { + gl.getExtension('OES_element_index_uint'); + } + + GVol.events.listen(this.canvas_, GVol.webgl.ContextEventType.LOST, + this.handleWebGLContextLost, this); + GVol.events.listen(this.canvas_, GVol.webgl.ContextEventType.RESTORED, + this.handleWebGLContextRestored, this); + + }; + GVol.inherits(GVol.webgl.Context, GVol.Disposable); + + + /** + * Just bind the buffer if it's in the cache. Otherwise create + * the WebGL buffer, bind it, populate it, and add an entry to + * the cache. + * @param {number} target Target. + * @param {GVol.webgl.Buffer} buf Buffer. + */ + GVol.webgl.Context.prototype.bindBuffer = function(target, buf) { + var gl = this.getGL(); + var arr = buf.getArray(); + var bufferKey = String(GVol.getUid(buf)); + if (bufferKey in this.bufferCache_) { + var bufferCacheEntry = this.bufferCache_[bufferKey]; + gl.bindBuffer(target, bufferCacheEntry.buffer); + } else { + var buffer = gl.createBuffer(); + gl.bindBuffer(target, buffer); + var /** @type {ArrayBufferView} */ arrayBuffer; + if (target == GVol.webgl.ARRAY_BUFFER) { + arrayBuffer = new Float32Array(arr); + } else if (target == GVol.webgl.ELEMENT_ARRAY_BUFFER) { + arrayBuffer = this.hasOESElementIndexUint ? + new Uint32Array(arr) : new Uint16Array(arr); + } + gl.bufferData(target, arrayBuffer, buf.getUsage()); + this.bufferCache_[bufferKey] = { + buf: buf, + buffer: buffer + }; + } + }; + + + /** + * @param {GVol.webgl.Buffer} buf Buffer. + */ + GVol.webgl.Context.prototype.deleteBuffer = function(buf) { + var gl = this.getGL(); + var bufferKey = String(GVol.getUid(buf)); + var bufferCacheEntry = this.bufferCache_[bufferKey]; + if (!gl.isContextLost()) { + gl.deleteBuffer(bufferCacheEntry.buffer); + } + delete this.bufferCache_[bufferKey]; + }; + + + /** + * @inheritDoc + */ + GVol.webgl.Context.prototype.disposeInternal = function() { + GVol.events.unlistenAll(this.canvas_); + var gl = this.getGL(); + if (!gl.isContextLost()) { + var key; + for (key in this.bufferCache_) { + gl.deleteBuffer(this.bufferCache_[key].buffer); + } + for (key in this.programCache_) { + gl.deleteProgram(this.programCache_[key]); + } + for (key in this.shaderCache_) { + gl.deleteShader(this.shaderCache_[key]); + } + // delete objects for hit-detection + gl.deleteFramebuffer(this.hitDetectionFramebuffer_); + gl.deleteRenderbuffer(this.hitDetectionRenderbuffer_); + gl.deleteTexture(this.hitDetectionTexture_); + } + }; + + + /** + * @return {HTMLCanvasElement} Canvas. + */ + GVol.webgl.Context.prototype.getCanvas = function() { + return this.canvas_; + }; + + + /** + * Get the WebGL rendering context + * @return {WebGLRenderingContext} The rendering context. + * @api + */ + GVol.webgl.Context.prototype.getGL = function() { + return this.gl_; + }; + + + /** + * Get the frame buffer for hit detection. + * @return {WebGLFramebuffer} The hit detection frame buffer. + */ + GVol.webgl.Context.prototype.getHitDetectionFramebuffer = function() { + if (!this.hitDetectionFramebuffer_) { + this.initHitDetectionFramebuffer_(); + } + return this.hitDetectionFramebuffer_; + }; + + + /** + * Get shader from the cache if it's in the cache. Otherwise, create + * the WebGL shader, compile it, and add entry to cache. + * @param {GVol.webgl.Shader} shaderObject Shader object. + * @return {WebGLShader} Shader. + */ + GVol.webgl.Context.prototype.getShader = function(shaderObject) { + var shaderKey = String(GVol.getUid(shaderObject)); + if (shaderKey in this.shaderCache_) { + return this.shaderCache_[shaderKey]; + } else { + var gl = this.getGL(); + var shader = gl.createShader(shaderObject.getType()); + gl.shaderSource(shader, shaderObject.getSource()); + gl.compileShader(shader); + this.shaderCache_[shaderKey] = shader; + return shader; + } + }; + + + /** + * Get the program from the cache if it's in the cache. Otherwise create + * the WebGL program, attach the shaders to it, and add an entry to the + * cache. + * @param {GVol.webgl.Fragment} fragmentShaderObject Fragment shader. + * @param {GVol.webgl.Vertex} vertexShaderObject Vertex shader. + * @return {WebGLProgram} Program. + */ + GVol.webgl.Context.prototype.getProgram = function( + fragmentShaderObject, vertexShaderObject) { + var programKey = + GVol.getUid(fragmentShaderObject) + '/' + GVol.getUid(vertexShaderObject); + if (programKey in this.programCache_) { + return this.programCache_[programKey]; + } else { + var gl = this.getGL(); + var program = gl.createProgram(); + gl.attachShader(program, this.getShader(fragmentShaderObject)); + gl.attachShader(program, this.getShader(vertexShaderObject)); + gl.linkProgram(program); + this.programCache_[programKey] = program; + return program; + } + }; + + + /** + * FIXME empy description for jsdoc + */ + GVol.webgl.Context.prototype.handleWebGLContextLost = function() { + GVol.obj.clear(this.bufferCache_); + GVol.obj.clear(this.shaderCache_); + GVol.obj.clear(this.programCache_); + this.currentProgram_ = null; + this.hitDetectionFramebuffer_ = null; + this.hitDetectionTexture_ = null; + this.hitDetectionRenderbuffer_ = null; + }; + + + /** + * FIXME empy description for jsdoc + */ + GVol.webgl.Context.prototype.handleWebGLContextRestored = function() { + }; + + + /** + * Creates a 1x1 pixel framebuffer for the hit-detection. + * @private + */ + GVol.webgl.Context.prototype.initHitDetectionFramebuffer_ = function() { + var gl = this.gl_; + var framebuffer = gl.createFramebuffer(); + gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer); + + var texture = GVol.webgl.Context.createEmptyTexture(gl, 1, 1); + var renderbuffer = gl.createRenderbuffer(); + gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, 1, 1); + gl.framebufferTexture2D( + gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0); + gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, + gl.RENDERBUFFER, renderbuffer); + + gl.bindTexture(gl.TEXTURE_2D, null); + gl.bindRenderbuffer(gl.RENDERBUFFER, null); + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + + this.hitDetectionFramebuffer_ = framebuffer; + this.hitDetectionTexture_ = texture; + this.hitDetectionRenderbuffer_ = renderbuffer; + }; + + + /** + * Use a program. If the program is already in use, this will return `false`. + * @param {WebGLProgram} program Program. + * @return {boGVolean} Changed. + * @api + */ + GVol.webgl.Context.prototype.useProgram = function(program) { + if (program == this.currentProgram_) { + return false; + } else { + var gl = this.getGL(); + gl.useProgram(program); + this.currentProgram_ = program; + return true; + } + }; + + + /** + * @param {WebGLRenderingContext} gl WebGL rendering context. + * @param {number=} opt_wrapS wrapS. + * @param {number=} opt_wrapT wrapT. + * @return {WebGLTexture} The texture. + * @private + */ + GVol.webgl.Context.createTexture_ = function(gl, opt_wrapS, opt_wrapT) { + var texture = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, texture); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + + if (opt_wrapS !== undefined) { + gl.texParameteri( + GVol.webgl.TEXTURE_2D, GVol.webgl.TEXTURE_WRAP_S, opt_wrapS); + } + if (opt_wrapT !== undefined) { + gl.texParameteri( + GVol.webgl.TEXTURE_2D, GVol.webgl.TEXTURE_WRAP_T, opt_wrapT); + } + + return texture; + }; + + + /** + * @param {WebGLRenderingContext} gl WebGL rendering context. + * @param {number} width Width. + * @param {number} height Height. + * @param {number=} opt_wrapS wrapS. + * @param {number=} opt_wrapT wrapT. + * @return {WebGLTexture} The texture. + */ + GVol.webgl.Context.createEmptyTexture = function( + gl, width, height, opt_wrapS, opt_wrapT) { + var texture = GVol.webgl.Context.createTexture_(gl, opt_wrapS, opt_wrapT); + gl.texImage2D( + gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, + null); + + return texture; + }; + + + /** + * @param {WebGLRenderingContext} gl WebGL rendering context. + * @param {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} image Image. + * @param {number=} opt_wrapS wrapS. + * @param {number=} opt_wrapT wrapT. + * @return {WebGLTexture} The texture. + */ + GVol.webgl.Context.createTexture = function(gl, image, opt_wrapS, opt_wrapT) { + var texture = GVol.webgl.Context.createTexture_(gl, opt_wrapS, opt_wrapT); + gl.texImage2D( + gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image); + + return texture; + }; + +} + +goog.provide('GVol.render.webgl.TextureReplay'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); +goog.require('GVol.render.webgl.texturereplay.defaultshader'); +goog.require('GVol.render.webgl.Replay'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Context'); + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @abstract + * @extends {GVol.render.webgl.Replay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Max extent. + * @struct + */ + GVol.render.webgl.TextureReplay = function(tGVolerance, maxExtent) { + GVol.render.webgl.Replay.call(this, tGVolerance, maxExtent); + + /** + * @type {number|undefined} + * @protected + */ + this.anchorX = undefined; + + /** + * @type {number|undefined} + * @protected + */ + this.anchorY = undefined; + + /** + * @type {Array.<number>} + * @protected + */ + this.groupIndices = []; + + /** + * @type {Array.<number>} + * @protected + */ + this.hitDetectionGroupIndices = []; + + /** + * @type {number|undefined} + * @protected + */ + this.height = undefined; + + /** + * @type {number|undefined} + * @protected + */ + this.imageHeight = undefined; + + /** + * @type {number|undefined} + * @protected + */ + this.imageWidth = undefined; + + /** + * @protected + * @type {GVol.render.webgl.texturereplay.defaultshader.Locations} + */ + this.defaultLocations = null; + + /** + * @protected + * @type {number|undefined} + */ + this.opacity = undefined; + + /** + * @type {number|undefined} + * @protected + */ + this.originX = undefined; + + /** + * @type {number|undefined} + * @protected + */ + this.originY = undefined; + + /** + * @protected + * @type {boGVolean|undefined} + */ + this.rotateWithView = undefined; + + /** + * @protected + * @type {number|undefined} + */ + this.rotation = undefined; + + /** + * @protected + * @type {number|undefined} + */ + this.scale = undefined; + + /** + * @type {number|undefined} + * @protected + */ + this.width = undefined; + }; + GVol.inherits(GVol.render.webgl.TextureReplay, GVol.render.webgl.Replay); + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextureReplay.prototype.getDeleteResourcesFunction = function(context) { + var verticesBuffer = this.verticesBuffer; + var indicesBuffer = this.indicesBuffer; + var textures = this.getTextures(true); + var gl = context.getGL(); + return function() { + if (!gl.isContextLost()) { + var i, ii; + for (i = 0, ii = textures.length; i < ii; ++i) { + gl.deleteTexture(textures[i]); + } + } + context.deleteBuffer(verticesBuffer); + context.deleteBuffer(indicesBuffer); + }; + }; + + + /** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {number} My end. + * @protected + */ + GVol.render.webgl.TextureReplay.prototype.drawCoordinates = function(flatCoordinates, offset, end, stride) { + var anchorX = /** @type {number} */ (this.anchorX); + var anchorY = /** @type {number} */ (this.anchorY); + var height = /** @type {number} */ (this.height); + var imageHeight = /** @type {number} */ (this.imageHeight); + var imageWidth = /** @type {number} */ (this.imageWidth); + var opacity = /** @type {number} */ (this.opacity); + var originX = /** @type {number} */ (this.originX); + var originY = /** @type {number} */ (this.originY); + var rotateWithView = this.rotateWithView ? 1.0 : 0.0; + // this.rotation_ is anti-clockwise, but rotation is clockwise + var rotation = /** @type {number} */ (-this.rotation); + var scale = /** @type {number} */ (this.scale); + var width = /** @type {number} */ (this.width); + var cos = Math.cos(rotation); + var sin = Math.sin(rotation); + var numIndices = this.indices.length; + var numVertices = this.vertices.length; + var i, n, offsetX, offsetY, x, y; + for (i = offset; i < end; i += stride) { + x = flatCoordinates[i] - this.origin[0]; + y = flatCoordinates[i + 1] - this.origin[1]; + + // There are 4 vertices per [x, y] point, one for each corner of the + // rectangle we're going to draw. We'd use 1 vertex per [x, y] point if + // WebGL supported Geometry Shaders (which can emit new vertices), but that + // is not currently the case. + // + // And each vertex includes 8 values: the x and y coordinates, the x and + // y offsets used to calculate the position of the corner, the u and + // v texture coordinates for the corner, the opacity, and whether the + // the image should be rotated with the view (rotateWithView). + + n = numVertices / 8; + + // bottom-left corner + offsetX = -scale * anchorX; + offsetY = -scale * (height - anchorY); + this.vertices[numVertices++] = x; + this.vertices[numVertices++] = y; + this.vertices[numVertices++] = offsetX * cos - offsetY * sin; + this.vertices[numVertices++] = offsetX * sin + offsetY * cos; + this.vertices[numVertices++] = originX / imageWidth; + this.vertices[numVertices++] = (originY + height) / imageHeight; + this.vertices[numVertices++] = opacity; + this.vertices[numVertices++] = rotateWithView; + + // bottom-right corner + offsetX = scale * (width - anchorX); + offsetY = -scale * (height - anchorY); + this.vertices[numVertices++] = x; + this.vertices[numVertices++] = y; + this.vertices[numVertices++] = offsetX * cos - offsetY * sin; + this.vertices[numVertices++] = offsetX * sin + offsetY * cos; + this.vertices[numVertices++] = (originX + width) / imageWidth; + this.vertices[numVertices++] = (originY + height) / imageHeight; + this.vertices[numVertices++] = opacity; + this.vertices[numVertices++] = rotateWithView; + + // top-right corner + offsetX = scale * (width - anchorX); + offsetY = scale * anchorY; + this.vertices[numVertices++] = x; + this.vertices[numVertices++] = y; + this.vertices[numVertices++] = offsetX * cos - offsetY * sin; + this.vertices[numVertices++] = offsetX * sin + offsetY * cos; + this.vertices[numVertices++] = (originX + width) / imageWidth; + this.vertices[numVertices++] = originY / imageHeight; + this.vertices[numVertices++] = opacity; + this.vertices[numVertices++] = rotateWithView; + + // top-left corner + offsetX = -scale * anchorX; + offsetY = scale * anchorY; + this.vertices[numVertices++] = x; + this.vertices[numVertices++] = y; + this.vertices[numVertices++] = offsetX * cos - offsetY * sin; + this.vertices[numVertices++] = offsetX * sin + offsetY * cos; + this.vertices[numVertices++] = originX / imageWidth; + this.vertices[numVertices++] = originY / imageHeight; + this.vertices[numVertices++] = opacity; + this.vertices[numVertices++] = rotateWithView; + + this.indices[numIndices++] = n; + this.indices[numIndices++] = n + 1; + this.indices[numIndices++] = n + 2; + this.indices[numIndices++] = n; + this.indices[numIndices++] = n + 2; + this.indices[numIndices++] = n + 3; + } + + return numVertices; + }; + + + /** + * @protected + * @param {Array.<WebGLTexture>} textures Textures. + * @param {Array.<HTMLCanvasElement|HTMLImageElement|HTMLVideoElement>} images + * Images. + * @param {Object.<string, WebGLTexture>} texturePerImage Texture cache. + * @param {WebGLRenderingContext} gl Gl. + */ + GVol.render.webgl.TextureReplay.prototype.createTextures = function(textures, images, texturePerImage, gl) { + var texture, image, uid, i; + var ii = images.length; + for (i = 0; i < ii; ++i) { + image = images[i]; + + uid = GVol.getUid(image).toString(); + if (uid in texturePerImage) { + texture = texturePerImage[uid]; + } else { + texture = GVol.webgl.Context.createTexture( + gl, image, GVol.webgl.CLAMP_TO_EDGE, GVol.webgl.CLAMP_TO_EDGE); + texturePerImage[uid] = texture; + } + textures[i] = texture; + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextureReplay.prototype.setUpProgram = function(gl, context, size, pixelRatio) { + // get the program + var fragmentShader = GVol.render.webgl.texturereplay.defaultshader.fragment; + var vertexShader = GVol.render.webgl.texturereplay.defaultshader.vertex; + var program = context.getProgram(fragmentShader, vertexShader); + + // get the locations + var locations; + if (!this.defaultLocations) { + // eslint-disable-next-line openlayers-internal/no-missing-requires + locations = new GVol.render.webgl.texturereplay.defaultshader.Locations(gl, program); + this.defaultLocations = locations; + } else { + locations = this.defaultLocations; + } + + // use the program (FIXME: use the return value) + context.useProgram(program); + + // enable the vertex attrib arrays + gl.enableVertexAttribArray(locations.a_position); + gl.vertexAttribPointer(locations.a_position, 2, GVol.webgl.FLOAT, + false, 32, 0); + + gl.enableVertexAttribArray(locations.a_offsets); + gl.vertexAttribPointer(locations.a_offsets, 2, GVol.webgl.FLOAT, + false, 32, 8); + + gl.enableVertexAttribArray(locations.a_texCoord); + gl.vertexAttribPointer(locations.a_texCoord, 2, GVol.webgl.FLOAT, + false, 32, 16); + + gl.enableVertexAttribArray(locations.a_opacity); + gl.vertexAttribPointer(locations.a_opacity, 1, GVol.webgl.FLOAT, + false, 32, 24); + + gl.enableVertexAttribArray(locations.a_rotateWithView); + gl.vertexAttribPointer(locations.a_rotateWithView, 1, GVol.webgl.FLOAT, + false, 32, 28); + + return locations; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextureReplay.prototype.shutDownProgram = function(gl, locations) { + gl.disableVertexAttribArray(locations.a_position); + gl.disableVertexAttribArray(locations.a_offsets); + gl.disableVertexAttribArray(locations.a_texCoord); + gl.disableVertexAttribArray(locations.a_opacity); + gl.disableVertexAttribArray(locations.a_rotateWithView); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextureReplay.prototype.drawReplay = function(gl, context, skippedFeaturesHash, hitDetection) { + var textures = hitDetection ? this.getHitDetectionTextures() : this.getTextures(); + var groupIndices = hitDetection ? this.hitDetectionGroupIndices : this.groupIndices; + + if (!GVol.obj.isEmpty(skippedFeaturesHash)) { + this.drawReplaySkipping( + gl, context, skippedFeaturesHash, textures, groupIndices); + } else { + var i, ii, start; + for (i = 0, ii = textures.length, start = 0; i < ii; ++i) { + gl.bindTexture(GVol.webgl.TEXTURE_2D, textures[i]); + var end = groupIndices[i]; + this.drawElements(gl, context, start, end); + start = end; + } + } + }; + + + /** + * Draw the replay while paying attention to skipped features. + * + * This functions creates groups of features that can be drawn to together, + * so that the number of `drawElements` calls is minimized. + * + * For example given the fGVollowing texture groups: + * + * Group 1: A B C + * Group 2: D [E] F G + * + * If feature E should be skipped, the fGVollowing `drawElements` calls will be + * made: + * + * drawElements with feature A, B and C + * drawElements with feature D + * drawElements with feature F and G + * + * @protected + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {Array.<WebGLTexture>} textures Textures. + * @param {Array.<number>} groupIndices Texture group indices. + */ + GVol.render.webgl.TextureReplay.prototype.drawReplaySkipping = function(gl, context, skippedFeaturesHash, textures, + groupIndices) { + var featureIndex = 0; + + var i, ii; + for (i = 0, ii = textures.length; i < ii; ++i) { + gl.bindTexture(GVol.webgl.TEXTURE_2D, textures[i]); + var groupStart = (i > 0) ? groupIndices[i - 1] : 0; + var groupEnd = groupIndices[i]; + + var start = groupStart; + var end = groupStart; + while (featureIndex < this.startIndices.length && + this.startIndices[featureIndex] <= groupEnd) { + var feature = this.startIndicesFeature[featureIndex]; + + var featureUid = GVol.getUid(feature).toString(); + if (skippedFeaturesHash[featureUid] !== undefined) { + // feature should be skipped + if (start !== end) { + // draw the features so far + this.drawElements(gl, context, start, end); + } + // continue with the next feature + start = (featureIndex === this.startIndices.length - 1) ? + groupEnd : this.startIndices[featureIndex + 1]; + end = start; + } else { + // the feature is not skipped, augment the end index + end = (featureIndex === this.startIndices.length - 1) ? + groupEnd : this.startIndices[featureIndex + 1]; + } + featureIndex++; + } + + if (start !== end) { + // draw the remaining features (in case there was no skipped feature + // in this texture group, all features of a group are drawn together) + this.drawElements(gl, context, start, end); + } + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextureReplay.prototype.drawHitDetectionReplayOneByOne = function(gl, context, skippedFeaturesHash, + featureCallback, opt_hitExtent) { + var i, groupStart, start, end, feature, featureUid; + var featureIndex = this.startIndices.length - 1; + var hitDetectionTextures = this.getHitDetectionTextures(); + for (i = hitDetectionTextures.length - 1; i >= 0; --i) { + gl.bindTexture(GVol.webgl.TEXTURE_2D, hitDetectionTextures[i]); + groupStart = (i > 0) ? this.hitDetectionGroupIndices[i - 1] : 0; + end = this.hitDetectionGroupIndices[i]; + + // draw all features for this texture group + while (featureIndex >= 0 && + this.startIndices[featureIndex] >= groupStart) { + start = this.startIndices[featureIndex]; + feature = this.startIndicesFeature[featureIndex]; + featureUid = GVol.getUid(feature).toString(); + + if (skippedFeaturesHash[featureUid] === undefined && + feature.getGeometry() && + (opt_hitExtent === undefined || GVol.extent.intersects( + /** @type {Array<number>} */ (opt_hitExtent), + feature.getGeometry().getExtent()))) { + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); + this.drawElements(gl, context, start, end); + + var result = featureCallback(feature); + if (result) { + return result; + } + } + + end = start; + featureIndex--; + } + } + return undefined; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextureReplay.prototype.finish = function(context) { + this.anchorX = undefined; + this.anchorY = undefined; + this.height = undefined; + this.imageHeight = undefined; + this.imageWidth = undefined; + this.indices = null; + this.opacity = undefined; + this.originX = undefined; + this.originY = undefined; + this.rotateWithView = undefined; + this.rotation = undefined; + this.scale = undefined; + this.vertices = null; + this.width = undefined; + }; + + + /** + * @abstract + * @protected + * @param {boGVolean=} opt_all Return hit detection textures with regular ones. + * @returns {Array.<WebGLTexture>} Textures. + */ + GVol.render.webgl.TextureReplay.prototype.getTextures = function(opt_all) {}; + + + /** + * @abstract + * @protected + * @returns {Array.<WebGLTexture>} Textures. + */ + GVol.render.webgl.TextureReplay.prototype.getHitDetectionTextures = function() {}; +} + +goog.provide('GVol.render.webgl.ImageReplay'); + +goog.require('GVol'); +goog.require('GVol.render.webgl.TextureReplay'); +goog.require('GVol.webgl.Buffer'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.render.webgl.TextureReplay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Max extent. + * @struct + */ + GVol.render.webgl.ImageReplay = function(tGVolerance, maxExtent) { + GVol.render.webgl.TextureReplay.call(this, tGVolerance, maxExtent); + + /** + * @type {Array.<HTMLCanvasElement|HTMLImageElement|HTMLVideoElement>} + * @protected + */ + this.images_ = []; + + /** + * @type {Array.<HTMLCanvasElement|HTMLImageElement|HTMLVideoElement>} + * @protected + */ + this.hitDetectionImages_ = []; + + /** + * @type {Array.<WebGLTexture>} + * @private + */ + this.textures_ = []; + + /** + * @type {Array.<WebGLTexture>} + * @private + */ + this.hitDetectionTextures_ = []; + + }; + GVol.inherits(GVol.render.webgl.ImageReplay, GVol.render.webgl.TextureReplay); + + + /** + * @inheritDoc + */ + GVol.render.webgl.ImageReplay.prototype.drawMultiPoint = function(multiPointGeometry, feature) { + this.startIndices.push(this.indices.length); + this.startIndicesFeature.push(feature); + var flatCoordinates = multiPointGeometry.getFlatCoordinates(); + var stride = multiPointGeometry.getStride(); + this.drawCoordinates( + flatCoordinates, 0, flatCoordinates.length, stride); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.ImageReplay.prototype.drawPoint = function(pointGeometry, feature) { + this.startIndices.push(this.indices.length); + this.startIndicesFeature.push(feature); + var flatCoordinates = pointGeometry.getFlatCoordinates(); + var stride = pointGeometry.getStride(); + this.drawCoordinates( + flatCoordinates, 0, flatCoordinates.length, stride); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.ImageReplay.prototype.finish = function(context) { + var gl = context.getGL(); + + this.groupIndices.push(this.indices.length); + this.hitDetectionGroupIndices.push(this.indices.length); + + // create, bind, and populate the vertices buffer + this.verticesBuffer = new GVol.webgl.Buffer(this.vertices); + + var indices = this.indices; + + // create, bind, and populate the indices buffer + this.indicesBuffer = new GVol.webgl.Buffer(indices); + + // create textures + /** @type {Object.<string, WebGLTexture>} */ + var texturePerImage = {}; + + this.createTextures(this.textures_, this.images_, texturePerImage, gl); + + this.createTextures(this.hitDetectionTextures_, this.hitDetectionImages_, + texturePerImage, gl); + + this.images_ = null; + this.hitDetectionImages_ = null; + GVol.render.webgl.TextureReplay.prototype.finish.call(this, context); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.ImageReplay.prototype.setImageStyle = function(imageStyle) { + var anchor = imageStyle.getAnchor(); + var image = imageStyle.getImage(1); + var imageSize = imageStyle.getImageSize(); + var hitDetectionImage = imageStyle.getHitDetectionImage(1); + var opacity = imageStyle.getOpacity(); + var origin = imageStyle.getOrigin(); + var rotateWithView = imageStyle.getRotateWithView(); + var rotation = imageStyle.getRotation(); + var size = imageStyle.getSize(); + var scale = imageStyle.getScale(); + + var currentImage; + if (this.images_.length === 0) { + this.images_.push(image); + } else { + currentImage = this.images_[this.images_.length - 1]; + if (GVol.getUid(currentImage) != GVol.getUid(image)) { + this.groupIndices.push(this.indices.length); + this.images_.push(image); + } + } + + if (this.hitDetectionImages_.length === 0) { + this.hitDetectionImages_.push(hitDetectionImage); + } else { + currentImage = + this.hitDetectionImages_[this.hitDetectionImages_.length - 1]; + if (GVol.getUid(currentImage) != GVol.getUid(hitDetectionImage)) { + this.hitDetectionGroupIndices.push(this.indices.length); + this.hitDetectionImages_.push(hitDetectionImage); + } + } + + this.anchorX = anchor[0]; + this.anchorY = anchor[1]; + this.height = size[1]; + this.imageHeight = imageSize[1]; + this.imageWidth = imageSize[0]; + this.opacity = opacity; + this.originX = origin[0]; + this.originY = origin[1]; + this.rotation = rotation; + this.rotateWithView = rotateWithView; + this.scale = scale; + this.width = size[0]; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.ImageReplay.prototype.getTextures = function(opt_all) { + return opt_all ? this.textures_.concat(this.hitDetectionTextures_) : this.textures_; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.ImageReplay.prototype.getHitDetectionTextures = function() { + return this.hitDetectionTextures_; + }; + +} + +goog.provide('GVol.geom.flat.topGVology'); + +goog.require('GVol.geom.flat.area'); + +/** + * Check if the linestring is a boundary. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {boGVolean} The linestring is a boundary. + */ +GVol.geom.flat.topGVology.lineStringIsClosed = function(flatCoordinates, offset, end, stride) { + var lastCoord = end - stride; + if (flatCoordinates[offset] === flatCoordinates[lastCoord] && + flatCoordinates[offset + 1] === flatCoordinates[lastCoord + 1] && (end - offset) / stride > 3) { + return !!GVol.geom.flat.area.linearRing(flatCoordinates, offset, end, stride); + } + return false; +}; + +// This file is automatically generated, do not edit +/* eslint openlayers-internal/no-missing-requires: 0 */ +goog.provide('GVol.render.webgl.linestringreplay.defaultshader'); + +goog.require('GVol'); +goog.require('GVol.webgl.Fragment'); +goog.require('GVol.webgl.Vertex'); + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.webgl.Fragment} + * @struct + */ + GVol.render.webgl.linestringreplay.defaultshader.Fragment = function() { + GVol.webgl.Fragment.call(this, GVol.render.webgl.linestringreplay.defaultshader.Fragment.SOURCE); + }; + GVol.inherits(GVol.render.webgl.linestringreplay.defaultshader.Fragment, GVol.webgl.Fragment); + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.linestringreplay.defaultshader.Fragment.DEBUG_SOURCE = 'precision mediump float;\nvarying float v_round;\nvarying vec2 v_roundVertex;\nvarying float v_halfWidth;\n\n\n\nuniform float u_opacity;\nuniform vec4 u_cGVolor;\nuniform vec2 u_size;\nuniform float u_pixelRatio;\n\nvoid main(void) {\n if (v_round > 0.0) {\n vec2 windowCoords = vec2((v_roundVertex.x + 1.0) / 2.0 * u_size.x * u_pixelRatio,\n (v_roundVertex.y + 1.0) / 2.0 * u_size.y * u_pixelRatio);\n if (length(windowCoords - gl_FragCoord.xy) > v_halfWidth * u_pixelRatio) {\n discard;\n }\n }\n gl_FragCGVolor = u_cGVolor;\n float alpha = u_cGVolor.a * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragCGVolor.a = alpha;\n}\n'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.linestringreplay.defaultshader.Fragment.OPTIMIZED_SOURCE = 'precision mediump float;varying float a;varying vec2 b;varying float c;uniform float m;uniform vec4 n;uniform vec2 o;uniform float p;void main(void){if(a>0.0){vec2 windowCoords=vec2((b.x+1.0)/2.0*o.x*p,(b.y+1.0)/2.0*o.y*p);if(length(windowCoords-gl_FragCoord.xy)>c*p){discard;}} gl_FragCGVolor=n;float alpha=n.a*m;if(alpha==0.0){discard;}gl_FragCGVolor.a=alpha;}'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.linestringreplay.defaultshader.Fragment.SOURCE = GVol.DEBUG_WEBGL ? + GVol.render.webgl.linestringreplay.defaultshader.Fragment.DEBUG_SOURCE : + GVol.render.webgl.linestringreplay.defaultshader.Fragment.OPTIMIZED_SOURCE; + + + GVol.render.webgl.linestringreplay.defaultshader.fragment = new GVol.render.webgl.linestringreplay.defaultshader.Fragment(); + + + /** + * @constructor + * @extends {GVol.webgl.Vertex} + * @struct + */ + GVol.render.webgl.linestringreplay.defaultshader.Vertex = function() { + GVol.webgl.Vertex.call(this, GVol.render.webgl.linestringreplay.defaultshader.Vertex.SOURCE); + }; + GVol.inherits(GVol.render.webgl.linestringreplay.defaultshader.Vertex, GVol.webgl.Vertex); + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.linestringreplay.defaultshader.Vertex.DEBUG_SOURCE = 'varying float v_round;\nvarying vec2 v_roundVertex;\nvarying float v_halfWidth;\n\n\nattribute vec2 a_lastPos;\nattribute vec2 a_position;\nattribute vec2 a_nextPos;\nattribute float a_direction;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\nuniform float u_lineWidth;\nuniform float u_miterLimit;\n\nboGVol nearlyEquals(in float value, in float ref) {\n float epsilon = 0.000000000001;\n return value >= ref - epsilon && value <= ref + epsilon;\n}\n\nvoid alongNormal(out vec2 offset, in vec2 nextP, in float turnDir, in float direction) {\n vec2 dirVect = nextP - a_position;\n vec2 normal = normalize(vec2(-turnDir * dirVect.y, turnDir * dirVect.x));\n offset = u_lineWidth / 2.0 * normal * direction;\n}\n\nvoid miterUp(out vec2 offset, out float round, in boGVol isRound, in float direction) {\n float halfWidth = u_lineWidth / 2.0;\n vec2 tangent = normalize(normalize(a_nextPos - a_position) + normalize(a_position - a_lastPos));\n vec2 normal = vec2(-tangent.y, tangent.x);\n vec2 dirVect = a_nextPos - a_position;\n vec2 tmpNormal = normalize(vec2(-dirVect.y, dirVect.x));\n float miterLength = abs(halfWidth / dot(normal, tmpNormal));\n offset = normal * direction * miterLength;\n round = 0.0;\n if (isRound) {\n round = 1.0;\n } else if (miterLength > u_miterLimit + u_lineWidth) {\n offset = halfWidth * tmpNormal * direction;\n }\n}\n\nboGVol miterDown(out vec2 offset, in vec4 projPos, in mat4 offsetMatrix, in float direction) {\n boGVol degenerate = false;\n vec2 tangent = normalize(normalize(a_nextPos - a_position) + normalize(a_position - a_lastPos));\n vec2 normal = vec2(-tangent.y, tangent.x);\n vec2 dirVect = a_lastPos - a_position;\n vec2 tmpNormal = normalize(vec2(-dirVect.y, dirVect.x));\n vec2 longOffset, shortOffset, longVertex;\n vec4 shortProjVertex;\n float halfWidth = u_lineWidth / 2.0;\n if (length(a_nextPos - a_position) > length(a_lastPos - a_position)) {\n longOffset = tmpNormal * direction * halfWidth;\n shortOffset = normalize(vec2(dirVect.y, -dirVect.x)) * direction * halfWidth;\n longVertex = a_nextPos;\n shortProjVertex = u_projectionMatrix * vec4(a_lastPos, 0.0, 1.0);\n } else {\n shortOffset = tmpNormal * direction * halfWidth;\n longOffset = normalize(vec2(dirVect.y, -dirVect.x)) * direction * halfWidth;\n longVertex = a_lastPos;\n shortProjVertex = u_projectionMatrix * vec4(a_nextPos, 0.0, 1.0);\n }\n //Intersection algorithm based on theory by Paul Bourke (http://paulbourke.net/geometry/pointlineplane/).\n vec4 p1 = u_projectionMatrix * vec4(longVertex, 0.0, 1.0) + offsetMatrix * vec4(longOffset, 0.0, 0.0);\n vec4 p2 = projPos + offsetMatrix * vec4(longOffset, 0.0, 0.0);\n vec4 p3 = shortProjVertex + offsetMatrix * vec4(-shortOffset, 0.0, 0.0);\n vec4 p4 = shortProjVertex + offsetMatrix * vec4(shortOffset, 0.0, 0.0);\n float denom = (p4.y - p3.y) * (p2.x - p1.x) - (p4.x - p3.x) * (p2.y - p1.y);\n float firstU = ((p4.x - p3.x) * (p1.y - p3.y) - (p4.y - p3.y) * (p1.x - p3.x)) / denom;\n float secondU = ((p2.x - p1.x) * (p1.y - p3.y) - (p2.y - p1.y) * (p1.x - p3.x)) / denom;\n float epsilon = 0.000000000001;\n if (firstU > epsilon && firstU < 1.0 - epsilon && secondU > epsilon && secondU < 1.0 - epsilon) {\n shortProjVertex.x = p1.x + firstU * (p2.x - p1.x);\n shortProjVertex.y = p1.y + firstU * (p2.y - p1.y);\n offset = shortProjVertex.xy;\n degenerate = true;\n } else {\n float miterLength = abs(halfWidth / dot(normal, tmpNormal));\n offset = normal * direction * miterLength;\n }\n return degenerate;\n}\n\nvoid squareCap(out vec2 offset, out float round, in boGVol isRound, in vec2 nextP,\n in float turnDir, in float direction) {\n round = 0.0;\n vec2 dirVect = a_position - nextP;\n vec2 firstNormal = normalize(dirVect);\n vec2 secondNormal = vec2(turnDir * firstNormal.y * direction, -turnDir * firstNormal.x * direction);\n vec2 hypotenuse = normalize(firstNormal - secondNormal);\n vec2 normal = vec2(turnDir * hypotenuse.y * direction, -turnDir * hypotenuse.x * direction);\n float length = sqrt(v_halfWidth * v_halfWidth * 2.0);\n offset = normal * length;\n if (isRound) {\n round = 1.0;\n }\n}\n\nvoid main(void) {\n boGVol degenerate = false;\n float direction = float(sign(a_direction));\n mat4 offsetMatrix = u_offsetScaleMatrix * u_offsetRotateMatrix;\n vec2 offset;\n vec4 projPos = u_projectionMatrix * vec4(a_position, 0.0, 1.0);\n boGVol round = nearlyEquals(mod(a_direction, 2.0), 0.0);\n\n v_round = 0.0;\n v_halfWidth = u_lineWidth / 2.0;\n v_roundVertex = projPos.xy;\n\n if (nearlyEquals(mod(a_direction, 3.0), 0.0) || nearlyEquals(mod(a_direction, 17.0), 0.0)) {\n alongNormal(offset, a_nextPos, 1.0, direction);\n } else if (nearlyEquals(mod(a_direction, 5.0), 0.0) || nearlyEquals(mod(a_direction, 13.0), 0.0)) {\n alongNormal(offset, a_lastPos, -1.0, direction);\n } else if (nearlyEquals(mod(a_direction, 23.0), 0.0)) {\n miterUp(offset, v_round, round, direction);\n } else if (nearlyEquals(mod(a_direction, 19.0), 0.0)) {\n degenerate = miterDown(offset, projPos, offsetMatrix, direction);\n } else if (nearlyEquals(mod(a_direction, 7.0), 0.0)) {\n squareCap(offset, v_round, round, a_nextPos, 1.0, direction);\n } else if (nearlyEquals(mod(a_direction, 11.0), 0.0)) {\n squareCap(offset, v_round, round, a_lastPos, -1.0, direction);\n }\n if (!degenerate) {\n vec4 offsets = offsetMatrix * vec4(offset, 0.0, 0.0);\n gl_Position = projPos + offsets;\n } else {\n gl_Position = vec4(offset, 0.0, 1.0);\n }\n}\n\n\n'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.linestringreplay.defaultshader.Vertex.OPTIMIZED_SOURCE = 'varying float a;varying vec2 b;varying float c;attribute vec2 d;attribute vec2 e;attribute vec2 f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;boGVol nearlyEquals(in float value,in float ref){float epsilon=0.000000000001;return value>=ref-epsilon&&value<=ref+epsilon;}void alongNormal(out vec2 offset,in vec2 nextP,in float turnDir,in float direction){vec2 dirVect=nextP-e;vec2 normal=normalize(vec2(-turnDir*dirVect.y,turnDir*dirVect.x));offset=k/2.0*normal*direction;}void miterUp(out vec2 offset,out float round,in boGVol isRound,in float direction){float halfWidth=k/2.0;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=f-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;round=0.0;if(isRound){round=1.0;}else if(miterLength>l+k){offset=halfWidth*tmpNormal*direction;}} boGVol miterDown(out vec2 offset,in vec4 projPos,in mat4 offsetMatrix,in float direction){boGVol degenerate=false;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=d-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));vec2 longOffset,shortOffset,longVertex;vec4 shortProjVertex;float halfWidth=k/2.0;if(length(f-e)>length(d-e)){longOffset=tmpNormal*direction*halfWidth;shortOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=f;shortProjVertex=h*vec4(d,0.0,1.0);}else{shortOffset=tmpNormal*direction*halfWidth;longOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=d;shortProjVertex=h*vec4(f,0.0,1.0);}vec4 p1=h*vec4(longVertex,0.0,1.0)+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p2=projPos+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p3=shortProjVertex+offsetMatrix*vec4(-shortOffset,0.0,0.0);vec4 p4=shortProjVertex+offsetMatrix*vec4(shortOffset,0.0,0.0);float denom=(p4.y-p3.y)*(p2.x-p1.x)-(p4.x-p3.x)*(p2.y-p1.y);float firstU=((p4.x-p3.x)*(p1.y-p3.y)-(p4.y-p3.y)*(p1.x-p3.x))/denom;float secondU=((p2.x-p1.x)*(p1.y-p3.y)-(p2.y-p1.y)*(p1.x-p3.x))/denom;float epsilon=0.000000000001;if(firstU>epsilon&&firstU<1.0-epsilon&&secondU>epsilon&&secondU<1.0-epsilon){shortProjVertex.x=p1.x+firstU*(p2.x-p1.x);shortProjVertex.y=p1.y+firstU*(p2.y-p1.y);offset=shortProjVertex.xy;degenerate=true;}else{float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;}return degenerate;}void squareCap(out vec2 offset,out float round,in boGVol isRound,in vec2 nextP,in float turnDir,in float direction){round=0.0;vec2 dirVect=e-nextP;vec2 firstNormal=normalize(dirVect);vec2 secondNormal=vec2(turnDir*firstNormal.y*direction,-turnDir*firstNormal.x*direction);vec2 hypotenuse=normalize(firstNormal-secondNormal);vec2 normal=vec2(turnDir*hypotenuse.y*direction,-turnDir*hypotenuse.x*direction);float length=sqrt(c*c*2.0);offset=normal*length;if(isRound){round=1.0;}} void main(void){boGVol degenerate=false;float direction=float(sign(g));mat4 offsetMatrix=i*j;vec2 offset;vec4 projPos=h*vec4(e,0.0,1.0);boGVol round=nearlyEquals(mod(g,2.0),0.0);a=0.0;c=k/2.0;b=projPos.xy;if(nearlyEquals(mod(g,3.0),0.0)||nearlyEquals(mod(g,17.0),0.0)){alongNormal(offset,f,1.0,direction);}else if(nearlyEquals(mod(g,5.0),0.0)||nearlyEquals(mod(g,13.0),0.0)){alongNormal(offset,d,-1.0,direction);}else if(nearlyEquals(mod(g,23.0),0.0)){miterUp(offset,a,round,direction);}else if(nearlyEquals(mod(g,19.0),0.0)){degenerate=miterDown(offset,projPos,offsetMatrix,direction);}else if(nearlyEquals(mod(g,7.0),0.0)){squareCap(offset,a,round,f,1.0,direction);}else if(nearlyEquals(mod(g,11.0),0.0)){squareCap(offset,a,round,d,-1.0,direction);}if(!degenerate){vec4 offsets=offsetMatrix*vec4(offset,0.0,0.0);gl_Position=projPos+offsets;}else{gl_Position=vec4(offset,0.0,1.0);}}'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.linestringreplay.defaultshader.Vertex.SOURCE = GVol.DEBUG_WEBGL ? + GVol.render.webgl.linestringreplay.defaultshader.Vertex.DEBUG_SOURCE : + GVol.render.webgl.linestringreplay.defaultshader.Vertex.OPTIMIZED_SOURCE; + + + GVol.render.webgl.linestringreplay.defaultshader.vertex = new GVol.render.webgl.linestringreplay.defaultshader.Vertex(); + + + /** + * @constructor + * @param {WebGLRenderingContext} gl GL. + * @param {WebGLProgram} program Program. + * @struct + */ + GVol.render.webgl.linestringreplay.defaultshader.Locations = function(gl, program) { + + /** + * @type {WebGLUniformLocation} + */ + this.u_cGVolor = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_cGVolor' : 'n'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_lineWidth = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_lineWidth' : 'k'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_miterLimit = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_miterLimit' : 'l'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_offsetRotateMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_offsetRotateMatrix' : 'j'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_offsetScaleMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_offsetScaleMatrix' : 'i'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_opacity = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_opacity' : 'm'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_pixelRatio = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_pixelRatio' : 'p'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_projectionMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_projectionMatrix' : 'h'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_size = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_size' : 'o'); + + /** + * @type {number} + */ + this.a_direction = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_direction' : 'g'); + + /** + * @type {number} + */ + this.a_lastPos = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_lastPos' : 'd'); + + /** + * @type {number} + */ + this.a_nextPos = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_nextPos' : 'f'); + + /** + * @type {number} + */ + this.a_position = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_position' : 'e'); + }; + +} + +goog.provide('GVol.render.webgl.LineStringReplay'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.cGVolor'); +goog.require('GVol.extent'); +goog.require('GVol.geom.flat.orient'); +goog.require('GVol.geom.flat.transform'); +goog.require('GVol.geom.flat.topGVology'); +goog.require('GVol.obj'); +goog.require('GVol.render.webgl'); +goog.require('GVol.render.webgl.Replay'); +goog.require('GVol.render.webgl.linestringreplay.defaultshader'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Buffer'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.render.webgl.Replay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Max extent. + * @struct + */ + GVol.render.webgl.LineStringReplay = function(tGVolerance, maxExtent) { + GVol.render.webgl.Replay.call(this, tGVolerance, maxExtent); + + /** + * @private + * @type {GVol.render.webgl.linestringreplay.defaultshader.Locations} + */ + this.defaultLocations_ = null; + + /** + * @private + * @type {Array.<Array.<?>>} + */ + this.styles_ = []; + + /** + * @private + * @type {Array.<number>} + */ + this.styleIndices_ = []; + + /** + * @private + * @type {{strokeCGVolor: (Array.<number>|null), + * lineCap: (string|undefined), + * lineDash: Array.<number>, + * lineDashOffset: (number|undefined), + * lineJoin: (string|undefined), + * lineWidth: (number|undefined), + * miterLimit: (number|undefined), + * changed: boGVolean}|null} + */ + this.state_ = { + strokeCGVolor: null, + lineCap: undefined, + lineDash: null, + lineDashOffset: undefined, + lineJoin: undefined, + lineWidth: undefined, + miterLimit: undefined, + changed: false + }; + + }; + GVol.inherits(GVol.render.webgl.LineStringReplay, GVol.render.webgl.Replay); + + + /** + * Draw one segment. + * @private + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + */ + GVol.render.webgl.LineStringReplay.prototype.drawCoordinates_ = function(flatCoordinates, offset, end, stride) { + + var i, ii; + var numVertices = this.vertices.length; + var numIndices = this.indices.length; + //To save a vertex, the direction of a point is a product of the sign (1 or -1), a prime from + //GVol.render.webgl.LineStringReplay.Instruction_, and a rounding factor (1 or 2). If the product is even, + //we round it. If it is odd, we don't. + var lineJoin = this.state_.lineJoin === 'bevel' ? 0 : + this.state_.lineJoin === 'miter' ? 1 : 2; + var lineCap = this.state_.lineCap === 'butt' ? 0 : + this.state_.lineCap === 'square' ? 1 : 2; + var closed = GVol.geom.flat.topGVology.lineStringIsClosed(flatCoordinates, offset, end, stride); + var startCoords, sign, n; + var lastIndex = numIndices; + var lastSign = 1; + //We need the adjacent vertices to define normals in joins. p0 = last, p1 = current, p2 = next. + var p0, p1, p2; + + for (i = offset, ii = end; i < ii; i += stride) { + + n = numVertices / 7; + + p0 = p1; + p1 = p2 || [flatCoordinates[i], flatCoordinates[i + 1]]; + //First vertex. + if (i === offset) { + p2 = [flatCoordinates[i + stride], flatCoordinates[i + stride + 1]]; + if (end - offset === stride * 2 && GVol.array.equals(p1, p2)) { + break; + } + if (closed) { + //A closed line! Complete the circle. + p0 = [flatCoordinates[end - stride * 2], + flatCoordinates[end - stride * 2 + 1]]; + + startCoords = p2; + } else { + //Add the first two/four vertices. + + if (lineCap) { + numVertices = this.addVertices_([0, 0], p1, p2, + lastSign * GVol.render.webgl.LineStringReplay.Instruction_.BEGIN_LINE_CAP * lineCap, numVertices); + + numVertices = this.addVertices_([0, 0], p1, p2, + -lastSign * GVol.render.webgl.LineStringReplay.Instruction_.BEGIN_LINE_CAP * lineCap, numVertices); + + this.indices[numIndices++] = n + 2; + this.indices[numIndices++] = n; + this.indices[numIndices++] = n + 1; + + this.indices[numIndices++] = n + 1; + this.indices[numIndices++] = n + 3; + this.indices[numIndices++] = n + 2; + + } + + numVertices = this.addVertices_([0, 0], p1, p2, + lastSign * GVol.render.webgl.LineStringReplay.Instruction_.BEGIN_LINE * (lineCap || 1), numVertices); + + numVertices = this.addVertices_([0, 0], p1, p2, + -lastSign * GVol.render.webgl.LineStringReplay.Instruction_.BEGIN_LINE * (lineCap || 1), numVertices); + + lastIndex = numVertices / 7 - 1; + + continue; + } + } else if (i === end - stride) { + //Last vertex. + if (closed) { + //Same as the first vertex. + p2 = startCoords; + break; + } else { + p0 = p0 || [0, 0]; + + numVertices = this.addVertices_(p0, p1, [0, 0], + lastSign * GVol.render.webgl.LineStringReplay.Instruction_.END_LINE * (lineCap || 1), numVertices); + + numVertices = this.addVertices_(p0, p1, [0, 0], + -lastSign * GVol.render.webgl.LineStringReplay.Instruction_.END_LINE * (lineCap || 1), numVertices); + + this.indices[numIndices++] = n; + this.indices[numIndices++] = lastIndex - 1; + this.indices[numIndices++] = lastIndex; + + this.indices[numIndices++] = lastIndex; + this.indices[numIndices++] = n + 1; + this.indices[numIndices++] = n; + + if (lineCap) { + numVertices = this.addVertices_(p0, p1, [0, 0], + lastSign * GVol.render.webgl.LineStringReplay.Instruction_.END_LINE_CAP * lineCap, numVertices); + + numVertices = this.addVertices_(p0, p1, [0, 0], + -lastSign * GVol.render.webgl.LineStringReplay.Instruction_.END_LINE_CAP * lineCap, numVertices); + + this.indices[numIndices++] = n + 2; + this.indices[numIndices++] = n; + this.indices[numIndices++] = n + 1; + + this.indices[numIndices++] = n + 1; + this.indices[numIndices++] = n + 3; + this.indices[numIndices++] = n + 2; + + } + + break; + } + } else { + p2 = [flatCoordinates[i + stride], flatCoordinates[i + stride + 1]]; + } + + // We group CW and straight lines, thus the not so inituitive CCW checking function. + sign = GVol.render.webgl.triangleIsCounterClockwise(p0[0], p0[1], p1[0], p1[1], p2[0], p2[1]) + ? -1 : 1; + + numVertices = this.addVertices_(p0, p1, p2, + sign * GVol.render.webgl.LineStringReplay.Instruction_.BEVEL_FIRST * (lineJoin || 1), numVertices); + + numVertices = this.addVertices_(p0, p1, p2, + sign * GVol.render.webgl.LineStringReplay.Instruction_.BEVEL_SECOND * (lineJoin || 1), numVertices); + + numVertices = this.addVertices_(p0, p1, p2, + -sign * GVol.render.webgl.LineStringReplay.Instruction_.MITER_BOTTOM * (lineJoin || 1), numVertices); + + if (i > offset) { + this.indices[numIndices++] = n; + this.indices[numIndices++] = lastIndex - 1; + this.indices[numIndices++] = lastIndex; + + this.indices[numIndices++] = n + 2; + this.indices[numIndices++] = n; + this.indices[numIndices++] = lastSign * sign > 0 ? lastIndex : lastIndex - 1; + } + + this.indices[numIndices++] = n; + this.indices[numIndices++] = n + 2; + this.indices[numIndices++] = n + 1; + + lastIndex = n + 2; + lastSign = sign; + + //Add miter + if (lineJoin) { + numVertices = this.addVertices_(p0, p1, p2, + sign * GVol.render.webgl.LineStringReplay.Instruction_.MITER_TOP * lineJoin, numVertices); + + this.indices[numIndices++] = n + 1; + this.indices[numIndices++] = n + 3; + this.indices[numIndices++] = n; + } + } + + if (closed) { + n = n || numVertices / 7; + sign = GVol.geom.flat.orient.linearRingIsClockwise([p0[0], p0[1], p1[0], p1[1], p2[0], p2[1]], 0, 6, 2) + ? 1 : -1; + + numVertices = this.addVertices_(p0, p1, p2, + sign * GVol.render.webgl.LineStringReplay.Instruction_.BEVEL_FIRST * (lineJoin || 1), numVertices); + + numVertices = this.addVertices_(p0, p1, p2, + -sign * GVol.render.webgl.LineStringReplay.Instruction_.MITER_BOTTOM * (lineJoin || 1), numVertices); + + this.indices[numIndices++] = n; + this.indices[numIndices++] = lastIndex - 1; + this.indices[numIndices++] = lastIndex; + + this.indices[numIndices++] = n + 1; + this.indices[numIndices++] = n; + this.indices[numIndices++] = lastSign * sign > 0 ? lastIndex : lastIndex - 1; + } + }; + + /** + * @param {Array.<number>} p0 Last coordinates. + * @param {Array.<number>} p1 Current coordinates. + * @param {Array.<number>} p2 Next coordinates. + * @param {number} product Sign, instruction, and rounding product. + * @param {number} numVertices Vertex counter. + * @return {number} Vertex counter. + * @private + */ + GVol.render.webgl.LineStringReplay.prototype.addVertices_ = function(p0, p1, p2, product, numVertices) { + this.vertices[numVertices++] = p0[0]; + this.vertices[numVertices++] = p0[1]; + this.vertices[numVertices++] = p1[0]; + this.vertices[numVertices++] = p1[1]; + this.vertices[numVertices++] = p2[0]; + this.vertices[numVertices++] = p2[1]; + this.vertices[numVertices++] = product; + + return numVertices; + }; + + /** + * Check if the linestring can be drawn (i. e. valid). + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {boGVolean} The linestring can be drawn. + * @private + */ + GVol.render.webgl.LineStringReplay.prototype.isValid_ = function(flatCoordinates, offset, end, stride) { + var range = end - offset; + if (range < stride * 2) { + return false; + } else if (range === stride * 2) { + var firstP = [flatCoordinates[offset], flatCoordinates[offset + 1]]; + var lastP = [flatCoordinates[offset + stride], flatCoordinates[offset + stride + 1]]; + return !GVol.array.equals(firstP, lastP); + } + + return true; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.LineStringReplay.prototype.drawLineString = function(lineStringGeometry, feature) { + var flatCoordinates = lineStringGeometry.getFlatCoordinates(); + var stride = lineStringGeometry.getStride(); + if (this.isValid_(flatCoordinates, 0, flatCoordinates.length, stride)) { + flatCoordinates = GVol.geom.flat.transform.translate(flatCoordinates, 0, flatCoordinates.length, + stride, -this.origin[0], -this.origin[1]); + if (this.state_.changed) { + this.styleIndices_.push(this.indices.length); + this.state_.changed = false; + } + this.startIndices.push(this.indices.length); + this.startIndicesFeature.push(feature); + this.drawCoordinates_( + flatCoordinates, 0, flatCoordinates.length, stride); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.LineStringReplay.prototype.drawMultiLineString = function(multiLineStringGeometry, feature) { + var indexCount = this.indices.length; + var ends = multiLineStringGeometry.getEnds(); + ends.unshift(0); + var flatCoordinates = multiLineStringGeometry.getFlatCoordinates(); + var stride = multiLineStringGeometry.getStride(); + var i, ii; + if (ends.length > 1) { + for (i = 1, ii = ends.length; i < ii; ++i) { + if (this.isValid_(flatCoordinates, ends[i - 1], ends[i], stride)) { + var lineString = GVol.geom.flat.transform.translate(flatCoordinates, ends[i - 1], ends[i], + stride, -this.origin[0], -this.origin[1]); + this.drawCoordinates_( + lineString, 0, lineString.length, stride); + } + } + } + if (this.indices.length > indexCount) { + this.startIndices.push(indexCount); + this.startIndicesFeature.push(feature); + if (this.state_.changed) { + this.styleIndices_.push(indexCount); + this.state_.changed = false; + } + } + }; + + + /** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {Array.<Array.<number>>} hGVoleFlatCoordinates HGVole flat coordinates. + * @param {number} stride Stride. + */ + GVol.render.webgl.LineStringReplay.prototype.drawPGVolygonCoordinates = function( + flatCoordinates, hGVoleFlatCoordinates, stride) { + if (!GVol.geom.flat.topGVology.lineStringIsClosed(flatCoordinates, 0, + flatCoordinates.length, stride)) { + flatCoordinates.push(flatCoordinates[0]); + flatCoordinates.push(flatCoordinates[1]); + } + this.drawCoordinates_(flatCoordinates, 0, flatCoordinates.length, stride); + if (hGVoleFlatCoordinates.length) { + var i, ii; + for (i = 0, ii = hGVoleFlatCoordinates.length; i < ii; ++i) { + if (!GVol.geom.flat.topGVology.lineStringIsClosed(hGVoleFlatCoordinates[i], 0, + hGVoleFlatCoordinates[i].length, stride)) { + hGVoleFlatCoordinates[i].push(hGVoleFlatCoordinates[i][0]); + hGVoleFlatCoordinates[i].push(hGVoleFlatCoordinates[i][1]); + } + this.drawCoordinates_(hGVoleFlatCoordinates[i], 0, + hGVoleFlatCoordinates[i].length, stride); + } + } + }; + + + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {number=} opt_index Index count. + */ + GVol.render.webgl.LineStringReplay.prototype.setPGVolygonStyle = function(feature, opt_index) { + var index = opt_index === undefined ? this.indices.length : opt_index; + this.startIndices.push(index); + this.startIndicesFeature.push(feature); + if (this.state_.changed) { + this.styleIndices_.push(index); + this.state_.changed = false; + } + }; + + + /** + * @return {number} Current index. + */ + GVol.render.webgl.LineStringReplay.prototype.getCurrentIndex = function() { + return this.indices.length; + }; + + + /** + * @inheritDoc + **/ + GVol.render.webgl.LineStringReplay.prototype.finish = function(context) { + // create, bind, and populate the vertices buffer + this.verticesBuffer = new GVol.webgl.Buffer(this.vertices); + + // create, bind, and populate the indices buffer + this.indicesBuffer = new GVol.webgl.Buffer(this.indices); + + this.startIndices.push(this.indices.length); + + //Clean up, if there is nothing to draw + if (this.styleIndices_.length === 0 && this.styles_.length > 0) { + this.styles_ = []; + } + + this.vertices = null; + this.indices = null; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.LineStringReplay.prototype.getDeleteResourcesFunction = function(context) { + var verticesBuffer = this.verticesBuffer; + var indicesBuffer = this.indicesBuffer; + return function() { + context.deleteBuffer(verticesBuffer); + context.deleteBuffer(indicesBuffer); + }; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.LineStringReplay.prototype.setUpProgram = function(gl, context, size, pixelRatio) { + // get the program + var fragmentShader, vertexShader; + fragmentShader = GVol.render.webgl.linestringreplay.defaultshader.fragment; + vertexShader = GVol.render.webgl.linestringreplay.defaultshader.vertex; + var program = context.getProgram(fragmentShader, vertexShader); + + // get the locations + var locations; + if (!this.defaultLocations_) { + // eslint-disable-next-line openlayers-internal/no-missing-requires + locations = new GVol.render.webgl.linestringreplay.defaultshader.Locations(gl, program); + this.defaultLocations_ = locations; + } else { + locations = this.defaultLocations_; + } + + context.useProgram(program); + + // enable the vertex attrib arrays + gl.enableVertexAttribArray(locations.a_lastPos); + gl.vertexAttribPointer(locations.a_lastPos, 2, GVol.webgl.FLOAT, + false, 28, 0); + + gl.enableVertexAttribArray(locations.a_position); + gl.vertexAttribPointer(locations.a_position, 2, GVol.webgl.FLOAT, + false, 28, 8); + + gl.enableVertexAttribArray(locations.a_nextPos); + gl.vertexAttribPointer(locations.a_nextPos, 2, GVol.webgl.FLOAT, + false, 28, 16); + + gl.enableVertexAttribArray(locations.a_direction); + gl.vertexAttribPointer(locations.a_direction, 1, GVol.webgl.FLOAT, + false, 28, 24); + + // Enable renderer specific uniforms. + gl.uniform2fv(locations.u_size, size); + gl.uniform1f(locations.u_pixelRatio, pixelRatio); + + return locations; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.LineStringReplay.prototype.shutDownProgram = function(gl, locations) { + gl.disableVertexAttribArray(locations.a_lastPos); + gl.disableVertexAttribArray(locations.a_position); + gl.disableVertexAttribArray(locations.a_nextPos); + gl.disableVertexAttribArray(locations.a_direction); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.LineStringReplay.prototype.drawReplay = function(gl, context, skippedFeaturesHash, hitDetection) { + //Save GL parameters. + var tmpDepthFunc = /** @type {number} */ (gl.getParameter(gl.DEPTH_FUNC)); + var tmpDepthMask = /** @type {boGVolean} */ (gl.getParameter(gl.DEPTH_WRITEMASK)); + + if (!hitDetection) { + gl.enable(gl.DEPTH_TEST); + gl.depthMask(true); + gl.depthFunc(gl.NOTEQUAL); + } + + if (!GVol.obj.isEmpty(skippedFeaturesHash)) { + this.drawReplaySkipping_(gl, context, skippedFeaturesHash); + } else { + //Draw by style groups to minimize drawElements() calls. + var i, start, end, nextStyle; + end = this.startIndices[this.startIndices.length - 1]; + for (i = this.styleIndices_.length - 1; i >= 0; --i) { + start = this.styleIndices_[i]; + nextStyle = this.styles_[i]; + this.setStrokeStyle_(gl, nextStyle[0], nextStyle[1], nextStyle[2]); + this.drawElements(gl, context, start, end); + gl.clear(gl.DEPTH_BUFFER_BIT); + end = start; + } + } + if (!hitDetection) { + gl.disable(gl.DEPTH_TEST); + gl.clear(gl.DEPTH_BUFFER_BIT); + //Restore GL parameters. + gl.depthMask(tmpDepthMask); + gl.depthFunc(tmpDepthFunc); + } + }; + + + /** + * @private + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {Object} skippedFeaturesHash Ids of features to skip. + */ + GVol.render.webgl.LineStringReplay.prototype.drawReplaySkipping_ = function(gl, context, skippedFeaturesHash) { + var i, start, end, nextStyle, groupStart, feature, featureUid, featureIndex, featureStart; + featureIndex = this.startIndices.length - 2; + end = start = this.startIndices[featureIndex + 1]; + for (i = this.styleIndices_.length - 1; i >= 0; --i) { + nextStyle = this.styles_[i]; + this.setStrokeStyle_(gl, nextStyle[0], nextStyle[1], nextStyle[2]); + groupStart = this.styleIndices_[i]; + + while (featureIndex >= 0 && + this.startIndices[featureIndex] >= groupStart) { + featureStart = this.startIndices[featureIndex]; + feature = this.startIndicesFeature[featureIndex]; + featureUid = GVol.getUid(feature).toString(); + + if (skippedFeaturesHash[featureUid]) { + if (start !== end) { + this.drawElements(gl, context, start, end); + gl.clear(gl.DEPTH_BUFFER_BIT); + } + end = featureStart; + } + featureIndex--; + start = featureStart; + } + if (start !== end) { + this.drawElements(gl, context, start, end); + gl.clear(gl.DEPTH_BUFFER_BIT); + } + start = end = groupStart; + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.LineStringReplay.prototype.drawHitDetectionReplayOneByOne = function(gl, context, skippedFeaturesHash, + featureCallback, opt_hitExtent) { + var i, start, end, nextStyle, groupStart, feature, featureUid, featureIndex; + featureIndex = this.startIndices.length - 2; + end = this.startIndices[featureIndex + 1]; + for (i = this.styleIndices_.length - 1; i >= 0; --i) { + nextStyle = this.styles_[i]; + this.setStrokeStyle_(gl, nextStyle[0], nextStyle[1], nextStyle[2]); + groupStart = this.styleIndices_[i]; + + while (featureIndex >= 0 && + this.startIndices[featureIndex] >= groupStart) { + start = this.startIndices[featureIndex]; + feature = this.startIndicesFeature[featureIndex]; + featureUid = GVol.getUid(feature).toString(); + + if (skippedFeaturesHash[featureUid] === undefined && + feature.getGeometry() && + (opt_hitExtent === undefined || GVol.extent.intersects( + /** @type {Array<number>} */ (opt_hitExtent), + feature.getGeometry().getExtent()))) { + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); + this.drawElements(gl, context, start, end); + + var result = featureCallback(feature); + + if (result) { + return result; + } + + } + featureIndex--; + end = start; + } + } + return undefined; + }; + + + /** + * @private + * @param {WebGLRenderingContext} gl gl. + * @param {Array.<number>} cGVolor CGVolor. + * @param {number} lineWidth Line width. + * @param {number} miterLimit Miter limit. + */ + GVol.render.webgl.LineStringReplay.prototype.setStrokeStyle_ = function(gl, cGVolor, lineWidth, miterLimit) { + gl.uniform4fv(this.defaultLocations_.u_cGVolor, cGVolor); + gl.uniform1f(this.defaultLocations_.u_lineWidth, lineWidth); + gl.uniform1f(this.defaultLocations_.u_miterLimit, miterLimit); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.LineStringReplay.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { + var strokeStyleLineCap = strokeStyle.getLineCap(); + this.state_.lineCap = strokeStyleLineCap !== undefined ? + strokeStyleLineCap : GVol.render.webgl.defaultLineCap; + var strokeStyleLineDash = strokeStyle.getLineDash(); + this.state_.lineDash = strokeStyleLineDash ? + strokeStyleLineDash : GVol.render.webgl.defaultLineDash; + var strokeStyleLineDashOffset = strokeStyle.getLineDashOffset(); + this.state_.lineDashOffset = strokeStyleLineDashOffset ? + strokeStyleLineDashOffset : GVol.render.webgl.defaultLineDashOffset; + var strokeStyleLineJoin = strokeStyle.getLineJoin(); + this.state_.lineJoin = strokeStyleLineJoin !== undefined ? + strokeStyleLineJoin : GVol.render.webgl.defaultLineJoin; + var strokeStyleCGVolor = strokeStyle.getCGVolor(); + if (!(strokeStyleCGVolor instanceof CanvasGradient) && + !(strokeStyleCGVolor instanceof CanvasPattern)) { + strokeStyleCGVolor = GVol.cGVolor.asArray(strokeStyleCGVolor).map(function(c, i) { + return i != 3 ? c / 255 : c; + }) || GVol.render.webgl.defaultStrokeStyle; + } else { + strokeStyleCGVolor = GVol.render.webgl.defaultStrokeStyle; + } + var strokeStyleWidth = strokeStyle.getWidth(); + strokeStyleWidth = strokeStyleWidth !== undefined ? + strokeStyleWidth : GVol.render.webgl.defaultLineWidth; + var strokeStyleMiterLimit = strokeStyle.getMiterLimit(); + strokeStyleMiterLimit = strokeStyleMiterLimit !== undefined ? + strokeStyleMiterLimit : GVol.render.webgl.defaultMiterLimit; + if (!this.state_.strokeCGVolor || !GVol.array.equals(this.state_.strokeCGVolor, strokeStyleCGVolor) || + this.state_.lineWidth !== strokeStyleWidth || this.state_.miterLimit !== strokeStyleMiterLimit) { + this.state_.changed = true; + this.state_.strokeCGVolor = strokeStyleCGVolor; + this.state_.lineWidth = strokeStyleWidth; + this.state_.miterLimit = strokeStyleMiterLimit; + this.styles_.push([strokeStyleCGVolor, strokeStyleWidth, strokeStyleMiterLimit]); + } + }; + + /** + * @enum {number} + * @private + */ + GVol.render.webgl.LineStringReplay.Instruction_ = { + ROUND: 2, + BEGIN_LINE: 3, + END_LINE: 5, + BEGIN_LINE_CAP: 7, + END_LINE_CAP: 11, + BEVEL_FIRST: 13, + BEVEL_SECOND: 17, + MITER_BOTTOM: 19, + MITER_TOP: 23 + }; + +} + +// This file is automatically generated, do not edit +/* eslint openlayers-internal/no-missing-requires: 0 */ +goog.provide('GVol.render.webgl.pGVolygonreplay.defaultshader'); + +goog.require('GVol'); +goog.require('GVol.webgl.Fragment'); +goog.require('GVol.webgl.Vertex'); + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.webgl.Fragment} + * @struct + */ + GVol.render.webgl.pGVolygonreplay.defaultshader.Fragment = function() { + GVol.webgl.Fragment.call(this, GVol.render.webgl.pGVolygonreplay.defaultshader.Fragment.SOURCE); + }; + GVol.inherits(GVol.render.webgl.pGVolygonreplay.defaultshader.Fragment, GVol.webgl.Fragment); + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.pGVolygonreplay.defaultshader.Fragment.DEBUG_SOURCE = 'precision mediump float;\n\n\n\nuniform vec4 u_cGVolor;\nuniform float u_opacity;\n\nvoid main(void) {\n gl_FragCGVolor = u_cGVolor;\n float alpha = u_cGVolor.a * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragCGVolor.a = alpha;\n}\n'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.pGVolygonreplay.defaultshader.Fragment.OPTIMIZED_SOURCE = 'precision mediump float;uniform vec4 e;uniform float f;void main(void){gl_FragCGVolor=e;float alpha=e.a*f;if(alpha==0.0){discard;}gl_FragCGVolor.a=alpha;}'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.pGVolygonreplay.defaultshader.Fragment.SOURCE = GVol.DEBUG_WEBGL ? + GVol.render.webgl.pGVolygonreplay.defaultshader.Fragment.DEBUG_SOURCE : + GVol.render.webgl.pGVolygonreplay.defaultshader.Fragment.OPTIMIZED_SOURCE; + + + GVol.render.webgl.pGVolygonreplay.defaultshader.fragment = new GVol.render.webgl.pGVolygonreplay.defaultshader.Fragment(); + + + /** + * @constructor + * @extends {GVol.webgl.Vertex} + * @struct + */ + GVol.render.webgl.pGVolygonreplay.defaultshader.Vertex = function() { + GVol.webgl.Vertex.call(this, GVol.render.webgl.pGVolygonreplay.defaultshader.Vertex.SOURCE); + }; + GVol.inherits(GVol.render.webgl.pGVolygonreplay.defaultshader.Vertex, GVol.webgl.Vertex); + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.pGVolygonreplay.defaultshader.Vertex.DEBUG_SOURCE = '\n\nattribute vec2 a_position;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\n\nvoid main(void) {\n gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0);\n}\n\n\n'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.pGVolygonreplay.defaultshader.Vertex.OPTIMIZED_SOURCE = 'attribute vec2 a;uniform mat4 b;uniform mat4 c;uniform mat4 d;void main(void){gl_Position=b*vec4(a,0.0,1.0);}'; + + + /** + * @const + * @type {string} + */ + GVol.render.webgl.pGVolygonreplay.defaultshader.Vertex.SOURCE = GVol.DEBUG_WEBGL ? + GVol.render.webgl.pGVolygonreplay.defaultshader.Vertex.DEBUG_SOURCE : + GVol.render.webgl.pGVolygonreplay.defaultshader.Vertex.OPTIMIZED_SOURCE; + + + GVol.render.webgl.pGVolygonreplay.defaultshader.vertex = new GVol.render.webgl.pGVolygonreplay.defaultshader.Vertex(); + + + /** + * @constructor + * @param {WebGLRenderingContext} gl GL. + * @param {WebGLProgram} program Program. + * @struct + */ + GVol.render.webgl.pGVolygonreplay.defaultshader.Locations = function(gl, program) { + + /** + * @type {WebGLUniformLocation} + */ + this.u_cGVolor = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_cGVolor' : 'e'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_offsetRotateMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_offsetRotateMatrix' : 'd'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_offsetScaleMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_offsetScaleMatrix' : 'c'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_opacity = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_opacity' : 'f'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_projectionMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_projectionMatrix' : 'b'); + + /** + * @type {number} + */ + this.a_position = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_position' : 'a'); + }; + +} + +goog.provide('GVol.style.Stroke'); + +goog.require('GVol'); + + +/** + * @classdesc + * Set stroke style for vector features. + * Note that the defaults given are the Canvas defaults, which will be used if + * option is not defined. The `get` functions return whatever was entered in + * the options; they will not return the default. + * + * @constructor + * @param {GVolx.style.StrokeOptions=} opt_options Options. + * @api + */ +GVol.style.Stroke = function(opt_options) { + + var options = opt_options || {}; + + /** + * @private + * @type {GVol.CGVolor|GVol.CGVolorLike} + */ + this.cGVolor_ = options.cGVolor !== undefined ? options.cGVolor : null; + + /** + * @private + * @type {string|undefined} + */ + this.lineCap_ = options.lineCap; + + /** + * @private + * @type {Array.<number>} + */ + this.lineDash_ = options.lineDash !== undefined ? options.lineDash : null; + + /** + * @private + * @type {number|undefined} + */ + this.lineDashOffset_ = options.lineDashOffset; + + /** + * @private + * @type {string|undefined} + */ + this.lineJoin_ = options.lineJoin; + + /** + * @private + * @type {number|undefined} + */ + this.miterLimit_ = options.miterLimit; + + /** + * @private + * @type {number|undefined} + */ + this.width_ = options.width; + + /** + * @private + * @type {string|undefined} + */ + this.checksum_ = undefined; +}; + + +/** + * Clones the style. + * @return {GVol.style.Stroke} The cloned style. + * @api + */ +GVol.style.Stroke.prototype.clone = function() { + var cGVolor = this.getCGVolor(); + return new GVol.style.Stroke({ + cGVolor: (cGVolor && cGVolor.slice) ? cGVolor.slice() : cGVolor || undefined, + lineCap: this.getLineCap(), + lineDash: this.getLineDash() ? this.getLineDash().slice() : undefined, + lineDashOffset: this.getLineDashOffset(), + lineJoin: this.getLineJoin(), + miterLimit: this.getMiterLimit(), + width: this.getWidth() + }); +}; + + +/** + * Get the stroke cGVolor. + * @return {GVol.CGVolor|GVol.CGVolorLike} CGVolor. + * @api + */ +GVol.style.Stroke.prototype.getCGVolor = function() { + return this.cGVolor_; +}; + + +/** + * Get the line cap type for the stroke. + * @return {string|undefined} Line cap. + * @api + */ +GVol.style.Stroke.prototype.getLineCap = function() { + return this.lineCap_; +}; + + +/** + * Get the line dash style for the stroke. + * @return {Array.<number>} Line dash. + * @api + */ +GVol.style.Stroke.prototype.getLineDash = function() { + return this.lineDash_; +}; + + +/** + * Get the line dash offset for the stroke. + * @return {number|undefined} Line dash offset. + * @api + */ +GVol.style.Stroke.prototype.getLineDashOffset = function() { + return this.lineDashOffset_; +}; + + +/** + * Get the line join type for the stroke. + * @return {string|undefined} Line join. + * @api + */ +GVol.style.Stroke.prototype.getLineJoin = function() { + return this.lineJoin_; +}; + + +/** + * Get the miter limit for the stroke. + * @return {number|undefined} Miter limit. + * @api + */ +GVol.style.Stroke.prototype.getMiterLimit = function() { + return this.miterLimit_; +}; + + +/** + * Get the stroke width. + * @return {number|undefined} Width. + * @api + */ +GVol.style.Stroke.prototype.getWidth = function() { + return this.width_; +}; + + +/** + * Set the cGVolor. + * + * @param {GVol.CGVolor|GVol.CGVolorLike} cGVolor CGVolor. + * @api + */ +GVol.style.Stroke.prototype.setCGVolor = function(cGVolor) { + this.cGVolor_ = cGVolor; + this.checksum_ = undefined; +}; + + +/** + * Set the line cap. + * + * @param {string|undefined} lineCap Line cap. + * @api + */ +GVol.style.Stroke.prototype.setLineCap = function(lineCap) { + this.lineCap_ = lineCap; + this.checksum_ = undefined; +}; + + +/** + * Set the line dash. + * + * Please note that Internet Explorer 10 and lower [do not support][mdn] the + * `setLineDash` method on the `CanvasRenderingContext2D` and therefore this + * property will have no visual effect in these browsers. + * + * [mdn]: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility + * + * @param {Array.<number>} lineDash Line dash. + * @api + */ +GVol.style.Stroke.prototype.setLineDash = function(lineDash) { + this.lineDash_ = lineDash; + this.checksum_ = undefined; +}; + + +/** + * Set the line dash offset. + * + * @param {number|undefined} lineDashOffset Line dash offset. + * @api + */ +GVol.style.Stroke.prototype.setLineDashOffset = function(lineDashOffset) { + this.lineDashOffset_ = lineDashOffset; + this.checksum_ = undefined; +}; + + +/** + * Set the line join. + * + * @param {string|undefined} lineJoin Line join. + * @api + */ +GVol.style.Stroke.prototype.setLineJoin = function(lineJoin) { + this.lineJoin_ = lineJoin; + this.checksum_ = undefined; +}; + + +/** + * Set the miter limit. + * + * @param {number|undefined} miterLimit Miter limit. + * @api + */ +GVol.style.Stroke.prototype.setMiterLimit = function(miterLimit) { + this.miterLimit_ = miterLimit; + this.checksum_ = undefined; +}; + + +/** + * Set the width. + * + * @param {number|undefined} width Width. + * @api + */ +GVol.style.Stroke.prototype.setWidth = function(width) { + this.width_ = width; + this.checksum_ = undefined; +}; + + +/** + * @return {string} The checksum. + */ +GVol.style.Stroke.prototype.getChecksum = function() { + if (this.checksum_ === undefined) { + this.checksum_ = 's'; + if (this.cGVolor_) { + if (typeof this.cGVolor_ === 'string') { + this.checksum_ += this.cGVolor_; + } else { + this.checksum_ += GVol.getUid(this.cGVolor_).toString(); + } + } else { + this.checksum_ += '-'; + } + this.checksum_ += ',' + + (this.lineCap_ !== undefined ? + this.lineCap_.toString() : '-') + ',' + + (this.lineDash_ ? + this.lineDash_.toString() : '-') + ',' + + (this.lineDashOffset_ !== undefined ? + this.lineDashOffset_ : '-') + ',' + + (this.lineJoin_ !== undefined ? + this.lineJoin_ : '-') + ',' + + (this.miterLimit_ !== undefined ? + this.miterLimit_.toString() : '-') + ',' + + (this.width_ !== undefined ? + this.width_.toString() : '-'); + } + + return this.checksum_; +}; + +goog.provide('GVol.structs.LinkedList'); + +/** + * Creates an empty linked list structure. + * + * @constructor + * @struct + * @param {boGVolean=} opt_circular The last item is connected to the first one, + * and the first item to the last one. Default is true. + */ +GVol.structs.LinkedList = function(opt_circular) { + + /** + * @private + * @type {GVol.LinkedListItem|undefined} + */ + this.first_ = undefined; + + /** + * @private + * @type {GVol.LinkedListItem|undefined} + */ + this.last_ = undefined; + + /** + * @private + * @type {GVol.LinkedListItem|undefined} + */ + this.head_ = undefined; + + /** + * @private + * @type {boGVolean} + */ + this.circular_ = opt_circular === undefined ? true : opt_circular; + + /** + * @private + * @type {number} + */ + this.length_ = 0; +}; + +/** + * Inserts an item into the linked list right after the current one. + * + * @param {?} data Item data. + */ +GVol.structs.LinkedList.prototype.insertItem = function(data) { + + /** @type {GVol.LinkedListItem} */ + var item = { + prev: undefined, + next: undefined, + data: data + }; + + var head = this.head_; + + //Initialize the list. + if (!head) { + this.first_ = item; + this.last_ = item; + if (this.circular_) { + item.next = item; + item.prev = item; + } + } else { + //Link the new item to the adjacent ones. + var next = head.next; + item.prev = head; + item.next = next; + head.next = item; + if (next) { + next.prev = item; + } + + if (head === this.last_) { + this.last_ = item; + } + } + this.head_ = item; + this.length_++; +}; + +/** + * Removes the current item from the list. Sets the cursor to the next item, + * if possible. + */ +GVol.structs.LinkedList.prototype.removeItem = function() { + var head = this.head_; + if (head) { + var next = head.next; + var prev = head.prev; + if (next) { + next.prev = prev; + } + if (prev) { + prev.next = next; + } + this.head_ = next || prev; + + if (this.first_ === this.last_) { + this.head_ = undefined; + this.first_ = undefined; + this.last_ = undefined; + } else if (this.first_ === head) { + this.first_ = this.head_; + } else if (this.last_ === head) { + this.last_ = prev ? this.head_.prev : this.head_; + } + this.length_--; + } +}; + +/** + * Sets the cursor to the first item, and returns the associated data. + * + * @return {?} Item data. + */ +GVol.structs.LinkedList.prototype.firstItem = function() { + this.head_ = this.first_; + if (this.head_) { + return this.head_.data; + } + return undefined; +}; + +/** +* Sets the cursor to the last item, and returns the associated data. +* +* @return {?} Item data. +*/ +GVol.structs.LinkedList.prototype.lastItem = function() { + this.head_ = this.last_; + if (this.head_) { + return this.head_.data; + } + return undefined; +}; + +/** + * Sets the cursor to the next item, and returns the associated data. + * + * @return {?} Item data. + */ +GVol.structs.LinkedList.prototype.nextItem = function() { + if (this.head_ && this.head_.next) { + this.head_ = this.head_.next; + return this.head_.data; + } + return undefined; +}; + +/** + * Returns the next item's data without moving the cursor. + * + * @return {?} Item data. + */ +GVol.structs.LinkedList.prototype.getNextItem = function() { + if (this.head_ && this.head_.next) { + return this.head_.next.data; + } + return undefined; +}; + +/** + * Sets the cursor to the previous item, and returns the associated data. + * + * @return {?} Item data. + */ +GVol.structs.LinkedList.prototype.prevItem = function() { + if (this.head_ && this.head_.prev) { + this.head_ = this.head_.prev; + return this.head_.data; + } + return undefined; +}; + +/** + * Returns the previous item's data without moving the cursor. + * + * @return {?} Item data. + */ +GVol.structs.LinkedList.prototype.getPrevItem = function() { + if (this.head_ && this.head_.prev) { + return this.head_.prev.data; + } + return undefined; +}; + +/** + * Returns the current item's data. + * + * @return {?} Item data. + */ +GVol.structs.LinkedList.prototype.getCurrItem = function() { + if (this.head_) { + return this.head_.data; + } + return undefined; +}; + +/** + * Sets the first item of the list. This only works for circular lists, and sets + * the last item accordingly. + */ +GVol.structs.LinkedList.prototype.setFirstItem = function() { + if (this.circular_ && this.head_) { + this.first_ = this.head_; + this.last_ = this.head_.prev; + } +}; + +/** + * Concatenates two lists. + * @param {GVol.structs.LinkedList} list List to merge into the current list. + */ +GVol.structs.LinkedList.prototype.concat = function(list) { + if (list.head_) { + if (this.head_) { + var end = this.head_.next; + this.head_.next = list.first_; + list.first_.prev = this.head_; + end.prev = list.last_; + list.last_.next = end; + this.length_ += list.length_; + } else { + this.head_ = list.head_; + this.first_ = list.first_; + this.last_ = list.last_; + this.length_ = list.length_; + } + list.head_ = undefined; + list.first_ = undefined; + list.last_ = undefined; + list.length_ = 0; + } +}; + +/** + * Returns the current length of the list. + * + * @return {number} Length. + */ +GVol.structs.LinkedList.prototype.getLength = function() { + return this.length_; +}; + + +/** + * @fileoverview + * @suppress {accessContrGVols, ambiguousFunctionDecl, checkDebuggerStatement, checkRegExp, checkTypes, checkVars, const, constantProperty, deprecated, duplicate, es5Strict, fileoverviewTags, missingProperties, nonStandardJsDocs, strictModuleDepCheck, suspiciousCode, undefinedNames, undefinedVars, unknownDefines, unusedLocalVariables, uselessCode, visibility} + */ +goog.provide('GVol.ext.rbush'); + +/** @typedef {function(*)} */ +GVol.ext.rbush = function() {}; + +(function() {(function (exports) { +'use strict'; + +var quickselect = partialSort; +function partialSort(arr, k, left, right, compare) { + left = left || 0; + right = right || (arr.length - 1); + compare = compare || defaultCompare; + while (right > left) { + if (right - left > 600) { + var n = right - left + 1; + var m = k - left + 1; + var z = Math.log(n); + var s = 0.5 * Math.exp(2 * z / 3); + var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + var newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); + var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); + partialSort(arr, k, newLeft, newRight, compare); + } + var t = arr[k]; + var i = left; + var j = right; + swap(arr, left, k); + if (compare(arr[right], t) > 0) swap(arr, left, right); + while (i < j) { + swap(arr, i, j); + i++; + j--; + while (compare(arr[i], t) < 0) i++; + while (compare(arr[j], t) > 0) j--; + } + if (compare(arr[left], t) === 0) swap(arr, left, j); + else { + j++; + swap(arr, j, right); + } + if (j <= k) left = j + 1; + if (k <= j) right = j - 1; + } +} +function swap(arr, i, j) { + var tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; +} +function defaultCompare(a, b) { + return a < b ? -1 : a > b ? 1 : 0; +} + +var rbush_1 = rbush; +function rbush(maxEntries, format) { + if (!(this instanceof rbush)) return new rbush(maxEntries, format); + this._maxEntries = Math.max(4, maxEntries || 9); + this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4)); + if (format) { + this._initFormat(format); + } + this.clear(); +} +rbush.prototype = { + all: function () { + return this._all(this.data, []); + }, + search: function (bbox) { + var node = this.data, + result = [], + toBBox = this.toBBox; + if (!intersects(bbox, node)) return result; + var nodesToSearch = [], + i, len, child, childBBox; + while (node) { + for (i = 0, len = node.children.length; i < len; i++) { + child = node.children[i]; + childBBox = node.leaf ? toBBox(child) : child; + if (intersects(bbox, childBBox)) { + if (node.leaf) result.push(child); + else if (contains(bbox, childBBox)) this._all(child, result); + else nodesToSearch.push(child); + } + } + node = nodesToSearch.pop(); + } + return result; + }, + cGVollides: function (bbox) { + var node = this.data, + toBBox = this.toBBox; + if (!intersects(bbox, node)) return false; + var nodesToSearch = [], + i, len, child, childBBox; + while (node) { + for (i = 0, len = node.children.length; i < len; i++) { + child = node.children[i]; + childBBox = node.leaf ? toBBox(child) : child; + if (intersects(bbox, childBBox)) { + if (node.leaf || contains(bbox, childBBox)) return true; + nodesToSearch.push(child); + } + } + node = nodesToSearch.pop(); + } + return false; + }, + load: function (data) { + if (!(data && data.length)) return this; + if (data.length < this._minEntries) { + for (var i = 0, len = data.length; i < len; i++) { + this.insert(data[i]); + } + return this; + } + var node = this._build(data.slice(), 0, data.length - 1, 0); + if (!this.data.children.length) { + this.data = node; + } else if (this.data.height === node.height) { + this._splitRoot(this.data, node); + } else { + if (this.data.height < node.height) { + var tmpNode = this.data; + this.data = node; + node = tmpNode; + } + this._insert(node, this.data.height - node.height - 1, true); + } + return this; + }, + insert: function (item) { + if (item) this._insert(item, this.data.height - 1); + return this; + }, + clear: function () { + this.data = createNode([]); + return this; + }, + remove: function (item, equalsFn) { + if (!item) return this; + var node = this.data, + bbox = this.toBBox(item), + path = [], + indexes = [], + i, parent, index, goingUp; + while (node || path.length) { + if (!node) { + node = path.pop(); + parent = path[path.length - 1]; + i = indexes.pop(); + goingUp = true; + } + if (node.leaf) { + index = findItem(item, node.children, equalsFn); + if (index !== -1) { + node.children.splice(index, 1); + path.push(node); + this._condense(path); + return this; + } + } + if (!goingUp && !node.leaf && contains(node, bbox)) { + path.push(node); + indexes.push(i); + i = 0; + parent = node; + node = node.children[0]; + } else if (parent) { + i++; + node = parent.children[i]; + goingUp = false; + } else node = null; + } + return this; + }, + toBBox: function (item) { return item; }, + compareMinX: compareNodeMinX, + compareMinY: compareNodeMinY, + toJSON: function () { return this.data; }, + fromJSON: function (data) { + this.data = data; + return this; + }, + _all: function (node, result) { + var nodesToSearch = []; + while (node) { + if (node.leaf) result.push.apply(result, node.children); + else nodesToSearch.push.apply(nodesToSearch, node.children); + node = nodesToSearch.pop(); + } + return result; + }, + _build: function (items, left, right, height) { + var N = right - left + 1, + M = this._maxEntries, + node; + if (N <= M) { + node = createNode(items.slice(left, right + 1)); + calcBBox(node, this.toBBox); + return node; + } + if (!height) { + height = Math.ceil(Math.log(N) / Math.log(M)); + M = Math.ceil(N / Math.pow(M, height - 1)); + } + node = createNode([]); + node.leaf = false; + node.height = height; + var N2 = Math.ceil(N / M), + N1 = N2 * Math.ceil(Math.sqrt(M)), + i, j, right2, right3; + multiSelect(items, left, right, N1, this.compareMinX); + for (i = left; i <= right; i += N1) { + right2 = Math.min(i + N1 - 1, right); + multiSelect(items, i, right2, N2, this.compareMinY); + for (j = i; j <= right2; j += N2) { + right3 = Math.min(j + N2 - 1, right2); + node.children.push(this._build(items, j, right3, height - 1)); + } + } + calcBBox(node, this.toBBox); + return node; + }, + _chooseSubtree: function (bbox, node, level, path) { + var i, len, child, targetNode, area, enlargement, minArea, minEnlargement; + while (true) { + path.push(node); + if (node.leaf || path.length - 1 === level) break; + minArea = minEnlargement = Infinity; + for (i = 0, len = node.children.length; i < len; i++) { + child = node.children[i]; + area = bboxArea(child); + enlargement = enlargedArea(bbox, child) - area; + if (enlargement < minEnlargement) { + minEnlargement = enlargement; + minArea = area < minArea ? area : minArea; + targetNode = child; + } else if (enlargement === minEnlargement) { + if (area < minArea) { + minArea = area; + targetNode = child; + } + } + } + node = targetNode || node.children[0]; + } + return node; + }, + _insert: function (item, level, isNode) { + var toBBox = this.toBBox, + bbox = isNode ? item : toBBox(item), + insertPath = []; + var node = this._chooseSubtree(bbox, this.data, level, insertPath); + node.children.push(item); + extend(node, bbox); + while (level >= 0) { + if (insertPath[level].children.length > this._maxEntries) { + this._split(insertPath, level); + level--; + } else break; + } + this._adjustParentBBoxes(bbox, insertPath, level); + }, + _split: function (insertPath, level) { + var node = insertPath[level], + M = node.children.length, + m = this._minEntries; + this._chooseSplitAxis(node, m, M); + var splitIndex = this._chooseSplitIndex(node, m, M); + var newNode = createNode(node.children.splice(splitIndex, node.children.length - splitIndex)); + newNode.height = node.height; + newNode.leaf = node.leaf; + calcBBox(node, this.toBBox); + calcBBox(newNode, this.toBBox); + if (level) insertPath[level - 1].children.push(newNode); + else this._splitRoot(node, newNode); + }, + _splitRoot: function (node, newNode) { + this.data = createNode([node, newNode]); + this.data.height = node.height + 1; + this.data.leaf = false; + calcBBox(this.data, this.toBBox); + }, + _chooseSplitIndex: function (node, m, M) { + var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index; + minOverlap = minArea = Infinity; + for (i = m; i <= M - m; i++) { + bbox1 = distBBox(node, 0, i, this.toBBox); + bbox2 = distBBox(node, i, M, this.toBBox); + overlap = intersectionArea(bbox1, bbox2); + area = bboxArea(bbox1) + bboxArea(bbox2); + if (overlap < minOverlap) { + minOverlap = overlap; + index = i; + minArea = area < minArea ? area : minArea; + } else if (overlap === minOverlap) { + if (area < minArea) { + minArea = area; + index = i; + } + } + } + return index; + }, + _chooseSplitAxis: function (node, m, M) { + var compareMinX = node.leaf ? this.compareMinX : compareNodeMinX, + compareMinY = node.leaf ? this.compareMinY : compareNodeMinY, + xMargin = this._allDistMargin(node, m, M, compareMinX), + yMargin = this._allDistMargin(node, m, M, compareMinY); + if (xMargin < yMargin) node.children.sort(compareMinX); + }, + _allDistMargin: function (node, m, M, compare) { + node.children.sort(compare); + var toBBox = this.toBBox, + leftBBox = distBBox(node, 0, m, toBBox), + rightBBox = distBBox(node, M - m, M, toBBox), + margin = bboxMargin(leftBBox) + bboxMargin(rightBBox), + i, child; + for (i = m; i < M - m; i++) { + child = node.children[i]; + extend(leftBBox, node.leaf ? toBBox(child) : child); + margin += bboxMargin(leftBBox); + } + for (i = M - m - 1; i >= m; i--) { + child = node.children[i]; + extend(rightBBox, node.leaf ? toBBox(child) : child); + margin += bboxMargin(rightBBox); + } + return margin; + }, + _adjustParentBBoxes: function (bbox, path, level) { + for (var i = level; i >= 0; i--) { + extend(path[i], bbox); + } + }, + _condense: function (path) { + for (var i = path.length - 1, siblings; i >= 0; i--) { + if (path[i].children.length === 0) { + if (i > 0) { + siblings = path[i - 1].children; + siblings.splice(siblings.indexOf(path[i]), 1); + } else this.clear(); + } else calcBBox(path[i], this.toBBox); + } + }, + _initFormat: function (format) { + var compareArr = ['return a', ' - b', ';']; + this.compareMinX = new Function('a', 'b', compareArr.join(format[0])); + this.compareMinY = new Function('a', 'b', compareArr.join(format[1])); + this.toBBox = new Function('a', + 'return {minX: a' + format[0] + + ', minY: a' + format[1] + + ', maxX: a' + format[2] + + ', maxY: a' + format[3] + '};'); + } +}; +function findItem(item, items, equalsFn) { + if (!equalsFn) return items.indexOf(item); + for (var i = 0; i < items.length; i++) { + if (equalsFn(item, items[i])) return i; + } + return -1; +} +function calcBBox(node, toBBox) { + distBBox(node, 0, node.children.length, toBBox, node); +} +function distBBox(node, k, p, toBBox, destNode) { + if (!destNode) destNode = createNode(null); + destNode.minX = Infinity; + destNode.minY = Infinity; + destNode.maxX = -Infinity; + destNode.maxY = -Infinity; + for (var i = k, child; i < p; i++) { + child = node.children[i]; + extend(destNode, node.leaf ? toBBox(child) : child); + } + return destNode; +} +function extend(a, b) { + a.minX = Math.min(a.minX, b.minX); + a.minY = Math.min(a.minY, b.minY); + a.maxX = Math.max(a.maxX, b.maxX); + a.maxY = Math.max(a.maxY, b.maxY); + return a; +} +function compareNodeMinX(a, b) { return a.minX - b.minX; } +function compareNodeMinY(a, b) { return a.minY - b.minY; } +function bboxArea(a) { return (a.maxX - a.minX) * (a.maxY - a.minY); } +function bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); } +function enlargedArea(a, b) { + return (Math.max(b.maxX, a.maxX) - Math.min(b.minX, a.minX)) * + (Math.max(b.maxY, a.maxY) - Math.min(b.minY, a.minY)); +} +function intersectionArea(a, b) { + var minX = Math.max(a.minX, b.minX), + minY = Math.max(a.minY, b.minY), + maxX = Math.min(a.maxX, b.maxX), + maxY = Math.min(a.maxY, b.maxY); + return Math.max(0, maxX - minX) * + Math.max(0, maxY - minY); +} +function contains(a, b) { + return a.minX <= b.minX && + a.minY <= b.minY && + b.maxX <= a.maxX && + b.maxY <= a.maxY; +} +function intersects(a, b) { + return b.minX <= a.maxX && + b.minY <= a.maxY && + b.maxX >= a.minX && + b.maxY >= a.minY; +} +function createNode(children) { + return { + children: children, + height: 1, + leaf: true, + minX: Infinity, + minY: Infinity, + maxX: -Infinity, + maxY: -Infinity + }; +} +function multiSelect(arr, left, right, n, compare) { + var stack = [left, right], + mid; + while (stack.length) { + right = stack.pop(); + left = stack.pop(); + if (right - left <= n) continue; + mid = left + Math.ceil((right - left) / n / 2) * n; + quickselect(arr, mid, left, right, compare); + stack.push(left, mid, mid, right); + } +} + +exports['default'] = rbush_1; + +}((this.rbush = this.rbush || {})));}).call(GVol.ext); +GVol.ext.rbush = GVol.ext.rbush.default; + +goog.provide('GVol.structs.RBush'); + +goog.require('GVol'); +goog.require('GVol.ext.rbush'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); + + +/** + * Wrapper around the RBush by Vladimir Agafonkin. + * + * @constructor + * @param {number=} opt_maxEntries Max entries. + * @see https://github.com/mourner/rbush + * @struct + * @template T + */ +GVol.structs.RBush = function(opt_maxEntries) { + + /** + * @private + */ + this.rbush_ = GVol.ext.rbush(opt_maxEntries); + + /** + * A mapping between the objects added to this rbush wrapper + * and the objects that are actually added to the internal rbush. + * @private + * @type {Object.<number, GVol.RBushEntry>} + */ + this.items_ = {}; + +}; + + +/** + * Insert a value into the RBush. + * @param {GVol.Extent} extent Extent. + * @param {T} value Value. + */ +GVol.structs.RBush.prototype.insert = function(extent, value) { + /** @type {GVol.RBushEntry} */ + var item = { + minX: extent[0], + minY: extent[1], + maxX: extent[2], + maxY: extent[3], + value: value + }; + + this.rbush_.insert(item); + this.items_[GVol.getUid(value)] = item; +}; + + +/** + * Bulk-insert values into the RBush. + * @param {Array.<GVol.Extent>} extents Extents. + * @param {Array.<T>} values Values. + */ +GVol.structs.RBush.prototype.load = function(extents, values) { + var items = new Array(values.length); + for (var i = 0, l = values.length; i < l; i++) { + var extent = extents[i]; + var value = values[i]; + + /** @type {GVol.RBushEntry} */ + var item = { + minX: extent[0], + minY: extent[1], + maxX: extent[2], + maxY: extent[3], + value: value + }; + items[i] = item; + this.items_[GVol.getUid(value)] = item; + } + this.rbush_.load(items); +}; + + +/** + * Remove a value from the RBush. + * @param {T} value Value. + * @return {boGVolean} Removed. + */ +GVol.structs.RBush.prototype.remove = function(value) { + var uid = GVol.getUid(value); + + // get the object in which the value was wrapped when adding to the + // internal rbush. then use that object to do the removal. + var item = this.items_[uid]; + delete this.items_[uid]; + return this.rbush_.remove(item) !== null; +}; + + +/** + * Update the extent of a value in the RBush. + * @param {GVol.Extent} extent Extent. + * @param {T} value Value. + */ +GVol.structs.RBush.prototype.update = function(extent, value) { + var item = this.items_[GVol.getUid(value)]; + var bbox = [item.minX, item.minY, item.maxX, item.maxY]; + if (!GVol.extent.equals(bbox, extent)) { + this.remove(value); + this.insert(extent, value); + } +}; + + +/** + * Return all values in the RBush. + * @return {Array.<T>} All. + */ +GVol.structs.RBush.prototype.getAll = function() { + var items = this.rbush_.all(); + return items.map(function(item) { + return item.value; + }); +}; + + +/** + * Return all values in the given extent. + * @param {GVol.Extent} extent Extent. + * @return {Array.<T>} All in extent. + */ +GVol.structs.RBush.prototype.getInExtent = function(extent) { + /** @type {GVol.RBushEntry} */ + var bbox = { + minX: extent[0], + minY: extent[1], + maxX: extent[2], + maxY: extent[3] + }; + var items = this.rbush_.search(bbox); + return items.map(function(item) { + return item.value; + }); +}; + + +/** + * Calls a callback function with each value in the tree. + * If the callback returns a truthy value, this value is returned without + * checking the rest of the tree. + * @param {function(this: S, T): *} callback Callback. + * @param {S=} opt_this The object to use as `this` in `callback`. + * @return {*} Callback return value. + * @template S + */ +GVol.structs.RBush.prototype.forEach = function(callback, opt_this) { + return this.forEach_(this.getAll(), callback, opt_this); +}; + + +/** + * Calls a callback function with each value in the provided extent. + * @param {GVol.Extent} extent Extent. + * @param {function(this: S, T): *} callback Callback. + * @param {S=} opt_this The object to use as `this` in `callback`. + * @return {*} Callback return value. + * @template S + */ +GVol.structs.RBush.prototype.forEachInExtent = function(extent, callback, opt_this) { + return this.forEach_(this.getInExtent(extent), callback, opt_this); +}; + + +/** + * @param {Array.<T>} values Values. + * @param {function(this: S, T): *} callback Callback. + * @param {S=} opt_this The object to use as `this` in `callback`. + * @private + * @return {*} Callback return value. + * @template S + */ +GVol.structs.RBush.prototype.forEach_ = function(values, callback, opt_this) { + var result; + for (var i = 0, l = values.length; i < l; i++) { + result = callback.call(opt_this, values[i]); + if (result) { + return result; + } + } + return result; +}; + + +/** + * @return {boGVolean} Is empty. + */ +GVol.structs.RBush.prototype.isEmpty = function() { + return GVol.obj.isEmpty(this.items_); +}; + + +/** + * Remove all values from the RBush. + */ +GVol.structs.RBush.prototype.clear = function() { + this.rbush_.clear(); + this.items_ = {}; +}; + + +/** + * @param {GVol.Extent=} opt_extent Extent. + * @return {GVol.Extent} Extent. + */ +GVol.structs.RBush.prototype.getExtent = function(opt_extent) { + // FIXME add getExtent() to rbush + var data = this.rbush_.data; + return GVol.extent.createOrUpdate(data.minX, data.minY, data.maxX, data.maxY, opt_extent); +}; + + +/** + * @param {GVol.structs.RBush} rbush R-Tree. + */ +GVol.structs.RBush.prototype.concat = function(rbush) { + this.rbush_.load(rbush.rbush_.all()); + for (var i in rbush.items_) { + this.items_[i | 0] = rbush.items_[i | 0]; + } +}; + +goog.provide('GVol.render.webgl.PGVolygonReplay'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.cGVolor'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); +goog.require('GVol.geom.flat.contains'); +goog.require('GVol.geom.flat.orient'); +goog.require('GVol.geom.flat.transform'); +goog.require('GVol.render.webgl.pGVolygonreplay.defaultshader'); +goog.require('GVol.render.webgl.LineStringReplay'); +goog.require('GVol.render.webgl.Replay'); +goog.require('GVol.render.webgl'); +goog.require('GVol.style.Stroke'); +goog.require('GVol.structs.LinkedList'); +goog.require('GVol.structs.RBush'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Buffer'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.render.webgl.Replay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Max extent. + * @struct + */ + GVol.render.webgl.PGVolygonReplay = function(tGVolerance, maxExtent) { + GVol.render.webgl.Replay.call(this, tGVolerance, maxExtent); + + this.lineStringReplay = new GVol.render.webgl.LineStringReplay( + tGVolerance, maxExtent); + + /** + * @private + * @type {GVol.render.webgl.pGVolygonreplay.defaultshader.Locations} + */ + this.defaultLocations_ = null; + + /** + * @private + * @type {Array.<Array.<number>>} + */ + this.styles_ = []; + + /** + * @private + * @type {Array.<number>} + */ + this.styleIndices_ = []; + + /** + * @private + * @type {{fillCGVolor: (Array.<number>|null), + * changed: boGVolean}|null} + */ + this.state_ = { + fillCGVolor: null, + changed: false + }; + + }; + GVol.inherits(GVol.render.webgl.PGVolygonReplay, GVol.render.webgl.Replay); + + + /** + * Draw one pGVolygon. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {Array.<Array.<number>>} hGVoleFlatCoordinates HGVole flat coordinates. + * @param {number} stride Stride. + * @private + */ + GVol.render.webgl.PGVolygonReplay.prototype.drawCoordinates_ = function( + flatCoordinates, hGVoleFlatCoordinates, stride) { + // Triangulate the pGVolygon + var outerRing = new GVol.structs.LinkedList(); + var rtree = new GVol.structs.RBush(); + // Initialize the outer ring + this.processFlatCoordinates_(flatCoordinates, stride, outerRing, rtree, true); + var maxCoords = this.getMaxCoords_(outerRing); + + // Eliminate hGVoles, if there are any + if (hGVoleFlatCoordinates.length) { + var i, ii; + var hGVoleLists = []; + for (i = 0, ii = hGVoleFlatCoordinates.length; i < ii; ++i) { + var hGVoleList = { + list: new GVol.structs.LinkedList(), + maxCoords: undefined, + rtree: new GVol.structs.RBush() + }; + hGVoleLists.push(hGVoleList); + this.processFlatCoordinates_(hGVoleFlatCoordinates[i], + stride, hGVoleList.list, hGVoleList.rtree, false); + this.classifyPoints_(hGVoleList.list, hGVoleList.rtree, true); + hGVoleList.maxCoords = this.getMaxCoords_(hGVoleList.list); + } + hGVoleLists.sort(function(a, b) { + return b.maxCoords[0] === a.maxCoords[0] ? + a.maxCoords[1] - b.maxCoords[1] : b.maxCoords[0] - a.maxCoords[0]; + }); + for (i = 0; i < hGVoleLists.length; ++i) { + var currList = hGVoleLists[i].list; + var start = currList.firstItem(); + var currItem = start; + var intersection; + do { + //TODO: Triangulate hGVoles when they intersect the outer ring. + if (this.getIntersections_(currItem, rtree).length) { + intersection = true; + break; + } + currItem = currList.nextItem(); + } while (start !== currItem); + if (!intersection) { + if (this.bridgeHGVole_(currList, hGVoleLists[i].maxCoords[0], outerRing, maxCoords[0], rtree)) { + rtree.concat(hGVoleLists[i].rtree); + this.classifyPoints_(outerRing, rtree, false); + } + } + } + } else { + this.classifyPoints_(outerRing, rtree, false); + } + this.triangulate_(outerRing, rtree); + }; + + + /** + * Inserts flat coordinates in a linked list and adds them to the vertex buffer. + * @private + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} stride Stride. + * @param {GVol.structs.LinkedList} list Linked list. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + * @param {boGVolean} clockwise Coordinate order should be clockwise. + */ + GVol.render.webgl.PGVolygonReplay.prototype.processFlatCoordinates_ = function( + flatCoordinates, stride, list, rtree, clockwise) { + var isClockwise = GVol.geom.flat.orient.linearRingIsClockwise(flatCoordinates, + 0, flatCoordinates.length, stride); + var i, ii; + var n = this.vertices.length / 2; + /** @type {GVol.WebglPGVolygonVertex} */ + var start; + /** @type {GVol.WebglPGVolygonVertex} */ + var p0; + /** @type {GVol.WebglPGVolygonVertex} */ + var p1; + var extents = []; + var segments = []; + if (clockwise === isClockwise) { + start = this.createPoint_(flatCoordinates[0], flatCoordinates[1], n++); + p0 = start; + for (i = stride, ii = flatCoordinates.length; i < ii; i += stride) { + p1 = this.createPoint_(flatCoordinates[i], flatCoordinates[i + 1], n++); + segments.push(this.insertItem_(p0, p1, list)); + extents.push([Math.min(p0.x, p1.x), Math.min(p0.y, p1.y), Math.max(p0.x, p1.x), + Math.max(p0.y, p1.y)]); + p0 = p1; + } + segments.push(this.insertItem_(p1, start, list)); + extents.push([Math.min(p0.x, p1.x), Math.min(p0.y, p1.y), Math.max(p0.x, p1.x), + Math.max(p0.y, p1.y)]); + } else { + var end = flatCoordinates.length - stride; + start = this.createPoint_(flatCoordinates[end], flatCoordinates[end + 1], n++); + p0 = start; + for (i = end - stride, ii = 0; i >= ii; i -= stride) { + p1 = this.createPoint_(flatCoordinates[i], flatCoordinates[i + 1], n++); + segments.push(this.insertItem_(p0, p1, list)); + extents.push([Math.min(p0.x, p1.x), Math.min(p0.y, p1.y), Math.max(p0.x, p1.x), + Math.max(p0.y, p1.y)]); + p0 = p1; + } + segments.push(this.insertItem_(p1, start, list)); + extents.push([Math.min(p0.x, p1.x), Math.min(p0.y, p1.y), Math.max(p0.x, p1.x), + Math.max(p0.y, p1.y)]); + } + rtree.load(extents, segments); + }; + + + /** + * Returns the rightmost coordinates of a pGVolygon on the X axis. + * @private + * @param {GVol.structs.LinkedList} list PGVolygons ring. + * @return {Array.<number>} Max X coordinates. + */ + GVol.render.webgl.PGVolygonReplay.prototype.getMaxCoords_ = function(list) { + var start = list.firstItem(); + var seg = start; + var maxCoords = [seg.p0.x, seg.p0.y]; + + do { + seg = list.nextItem(); + if (seg.p0.x > maxCoords[0]) { + maxCoords = [seg.p0.x, seg.p0.y]; + } + } while (seg !== start); + + return maxCoords; + }; + + + /** + * Classifies the points of a pGVolygon list as convex, reflex. Removes cGVollinear vertices. + * @private + * @param {GVol.structs.LinkedList} list PGVolygon ring. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + * @param {boGVolean} ccw The orientation of the pGVolygon is counter-clockwise. + * @return {boGVolean} There were reclassified points. + */ + GVol.render.webgl.PGVolygonReplay.prototype.classifyPoints_ = function(list, rtree, ccw) { + var start = list.firstItem(); + var s0 = start; + var s1 = list.nextItem(); + var pointsReclassified = false; + do { + var reflex = ccw ? GVol.render.webgl.triangleIsCounterClockwise(s1.p1.x, + s1.p1.y, s0.p1.x, s0.p1.y, s0.p0.x, s0.p0.y) : + GVol.render.webgl.triangleIsCounterClockwise(s0.p0.x, s0.p0.y, s0.p1.x, + s0.p1.y, s1.p1.x, s1.p1.y); + if (reflex === undefined) { + this.removeItem_(s0, s1, list, rtree); + pointsReclassified = true; + if (s1 === start) { + start = list.getNextItem(); + } + s1 = s0; + list.prevItem(); + } else if (s0.p1.reflex !== reflex) { + s0.p1.reflex = reflex; + pointsReclassified = true; + } + s0 = s1; + s1 = list.nextItem(); + } while (s0 !== start); + return pointsReclassified; + }; + + + /** + * @private + * @param {GVol.structs.LinkedList} hGVole Linked list of the hGVole. + * @param {number} hGVoleMaxX Maximum X value of the hGVole. + * @param {GVol.structs.LinkedList} list Linked list of the pGVolygon. + * @param {number} listMaxX Maximum X value of the pGVolygon. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + * @return {boGVolean} Bridging was successful. + */ + GVol.render.webgl.PGVolygonReplay.prototype.bridgeHGVole_ = function(hGVole, hGVoleMaxX, + list, listMaxX, rtree) { + var seg = hGVole.firstItem(); + while (seg.p1.x !== hGVoleMaxX) { + seg = hGVole.nextItem(); + } + + var p1 = seg.p1; + /** @type {GVol.WebglPGVolygonVertex} */ + var p2 = {x: listMaxX, y: p1.y, i: -1}; + var minDist = Infinity; + var i, ii, bestPoint; + /** @type {GVol.WebglPGVolygonVertex} */ + var p5; + + var intersectingSegments = this.getIntersections_({p0: p1, p1: p2}, rtree, true); + for (i = 0, ii = intersectingSegments.length; i < ii; ++i) { + var currSeg = intersectingSegments[i]; + var intersection = this.calculateIntersection_(p1, p2, currSeg.p0, + currSeg.p1, true); + var dist = Math.abs(p1.x - intersection[0]); + if (dist < minDist && GVol.render.webgl.triangleIsCounterClockwise(p1.x, p1.y, + currSeg.p0.x, currSeg.p0.y, currSeg.p1.x, currSeg.p1.y) !== undefined) { + minDist = dist; + p5 = {x: intersection[0], y: intersection[1], i: -1}; + seg = currSeg; + } + } + if (minDist === Infinity) { + return false; + } + bestPoint = seg.p1; + + if (minDist > 0) { + var pointsInTriangle = this.getPointsInTriangle_(p1, p5, seg.p1, rtree); + if (pointsInTriangle.length) { + var theta = Infinity; + for (i = 0, ii = pointsInTriangle.length; i < ii; ++i) { + var currPoint = pointsInTriangle[i]; + var currTheta = Math.atan2(p1.y - currPoint.y, p2.x - currPoint.x); + if (currTheta < theta || (currTheta === theta && currPoint.x < bestPoint.x)) { + theta = currTheta; + bestPoint = currPoint; + } + } + } + } + + seg = list.firstItem(); + while (seg.p1.x !== bestPoint.x || seg.p1.y !== bestPoint.y) { + seg = list.nextItem(); + } + + //We clone the bridge points as they can have different convexity. + var p0Bridge = {x: p1.x, y: p1.y, i: p1.i, reflex: undefined}; + var p1Bridge = {x: seg.p1.x, y: seg.p1.y, i: seg.p1.i, reflex: undefined}; + + hGVole.getNextItem().p0 = p0Bridge; + this.insertItem_(p1, seg.p1, hGVole, rtree); + this.insertItem_(p1Bridge, p0Bridge, hGVole, rtree); + seg.p1 = p1Bridge; + hGVole.setFirstItem(); + list.concat(hGVole); + + return true; + }; + + + /** + * @private + * @param {GVol.structs.LinkedList} list Linked list of the pGVolygon. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + */ + GVol.render.webgl.PGVolygonReplay.prototype.triangulate_ = function(list, rtree) { + var ccw = false; + var simple = this.isSimple_(list, rtree); + + // Start clipping ears + while (list.getLength() > 3) { + if (simple) { + if (!this.clipEars_(list, rtree, simple, ccw)) { + if (!this.classifyPoints_(list, rtree, ccw)) { + // Due to the behavior of OL's PIP algorithm, the ear clipping cannot + // introduce touching segments. However, the original data may have some. + if (!this.resGVolveSelfIntersections_(list, rtree, true)) { + break; + } + } + } + } else { + if (!this.clipEars_(list, rtree, simple, ccw)) { + // We ran out of ears, try to reclassify. + if (!this.classifyPoints_(list, rtree, ccw)) { + // We have a bad pGVolygon, try to resGVolve local self-intersections. + if (!this.resGVolveSelfIntersections_(list, rtree)) { + simple = this.isSimple_(list, rtree); + if (!simple) { + // We have a really bad pGVolygon, try more time consuming methods. + this.splitPGVolygon_(list, rtree); + break; + } else { + ccw = !this.isClockwise_(list); + this.classifyPoints_(list, rtree, ccw); + } + } + } + } + } + } + if (list.getLength() === 3) { + var numIndices = this.indices.length; + this.indices[numIndices++] = list.getPrevItem().p0.i; + this.indices[numIndices++] = list.getCurrItem().p0.i; + this.indices[numIndices++] = list.getNextItem().p0.i; + } + }; + + + /** + * @private + * @param {GVol.structs.LinkedList} list Linked list of the pGVolygon. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + * @param {boGVolean} simple The pGVolygon is simple. + * @param {boGVolean} ccw Orientation of the pGVolygon is counter-clockwise. + * @return {boGVolean} There were processed ears. + */ + GVol.render.webgl.PGVolygonReplay.prototype.clipEars_ = function(list, rtree, simple, ccw) { + var numIndices = this.indices.length; + var start = list.firstItem(); + var s0 = list.getPrevItem(); + var s1 = start; + var s2 = list.nextItem(); + var s3 = list.getNextItem(); + var p0, p1, p2; + var processedEars = false; + do { + p0 = s1.p0; + p1 = s1.p1; + p2 = s2.p1; + if (p1.reflex === false) { + // We might have a valid ear + var variableCriterion; + if (simple) { + variableCriterion = this.getPointsInTriangle_(p0, p1, p2, rtree, true).length === 0; + } else { + variableCriterion = ccw ? this.diagonalIsInside_(s3.p1, p2, p1, p0, + s0.p0) : this.diagonalIsInside_(s0.p0, p0, p1, p2, s3.p1); + } + if ((simple || this.getIntersections_({p0: p0, p1: p2}, rtree).length === 0) && + variableCriterion) { + //The diagonal is completely inside the pGVolygon + if (simple || p0.reflex === false || p2.reflex === false || + GVol.geom.flat.orient.linearRingIsClockwise([s0.p0.x, s0.p0.y, p0.x, + p0.y, p1.x, p1.y, p2.x, p2.y, s3.p1.x, s3.p1.y], 0, 10, 2) === !ccw) { + //The diagonal is persumably valid, we have an ear + this.indices[numIndices++] = p0.i; + this.indices[numIndices++] = p1.i; + this.indices[numIndices++] = p2.i; + this.removeItem_(s1, s2, list, rtree); + if (s2 === start) { + start = s3; + } + processedEars = true; + } + } + } + // Else we have a reflex point. + s0 = list.getPrevItem(); + s1 = list.getCurrItem(); + s2 = list.nextItem(); + s3 = list.getNextItem(); + } while (s1 !== start && list.getLength() > 3); + + return processedEars; + }; + + + /** + * @private + * @param {GVol.structs.LinkedList} list Linked list of the pGVolygon. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + * @param {boGVolean=} opt_touch ResGVolve touching segments. + * @return {boGVolean} There were resGVolved intersections. + */ + GVol.render.webgl.PGVolygonReplay.prototype.resGVolveSelfIntersections_ = function( + list, rtree, opt_touch) { + var start = list.firstItem(); + list.nextItem(); + var s0 = start; + var s1 = list.nextItem(); + var resGVolvedIntersections = false; + + do { + var intersection = this.calculateIntersection_(s0.p0, s0.p1, s1.p0, s1.p1, + opt_touch); + if (intersection) { + var breakCond = false; + var numVertices = this.vertices.length; + var numIndices = this.indices.length; + var n = numVertices / 2; + var seg = list.prevItem(); + list.removeItem(); + rtree.remove(seg); + breakCond = (seg === start); + var p; + if (opt_touch) { + if (intersection[0] === s0.p0.x && intersection[1] === s0.p0.y) { + list.prevItem(); + p = s0.p0; + s1.p0 = p; + rtree.remove(s0); + breakCond = breakCond || (s0 === start); + } else { + p = s1.p1; + s0.p1 = p; + rtree.remove(s1); + breakCond = breakCond || (s1 === start); + } + list.removeItem(); + } else { + p = this.createPoint_(intersection[0], intersection[1], n); + s0.p1 = p; + s1.p0 = p; + rtree.update([Math.min(s0.p0.x, s0.p1.x), Math.min(s0.p0.y, s0.p1.y), + Math.max(s0.p0.x, s0.p1.x), Math.max(s0.p0.y, s0.p1.y)], s0); + rtree.update([Math.min(s1.p0.x, s1.p1.x), Math.min(s1.p0.y, s1.p1.y), + Math.max(s1.p0.x, s1.p1.x), Math.max(s1.p0.y, s1.p1.y)], s1); + } + + this.indices[numIndices++] = seg.p0.i; + this.indices[numIndices++] = seg.p1.i; + this.indices[numIndices++] = p.i; + + resGVolvedIntersections = true; + if (breakCond) { + break; + } + } + + s0 = list.getPrevItem(); + s1 = list.nextItem(); + } while (s0 !== start); + return resGVolvedIntersections; + }; + + + /** + * @private + * @param {GVol.structs.LinkedList} list Linked list of the pGVolygon. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + * @return {boGVolean} The pGVolygon is simple. + */ + GVol.render.webgl.PGVolygonReplay.prototype.isSimple_ = function(list, rtree) { + var start = list.firstItem(); + var seg = start; + do { + if (this.getIntersections_(seg, rtree).length) { + return false; + } + seg = list.nextItem(); + } while (seg !== start); + return true; + }; + + + /** + * @private + * @param {GVol.structs.LinkedList} list Linked list of the pGVolygon. + * @return {boGVolean} Orientation is clockwise. + */ + GVol.render.webgl.PGVolygonReplay.prototype.isClockwise_ = function(list) { + var length = list.getLength() * 2; + var flatCoordinates = new Array(length); + var start = list.firstItem(); + var seg = start; + var i = 0; + do { + flatCoordinates[i++] = seg.p0.x; + flatCoordinates[i++] = seg.p0.y; + seg = list.nextItem(); + } while (seg !== start); + return GVol.geom.flat.orient.linearRingIsClockwise(flatCoordinates, 0, length, 2); + }; + + + /** + * @private + * @param {GVol.structs.LinkedList} list Linked list of the pGVolygon. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + */ + GVol.render.webgl.PGVolygonReplay.prototype.splitPGVolygon_ = function(list, rtree) { + var start = list.firstItem(); + var s0 = start; + do { + var intersections = this.getIntersections_(s0, rtree); + if (intersections.length) { + var s1 = intersections[0]; + var n = this.vertices.length / 2; + var intersection = this.calculateIntersection_(s0.p0, + s0.p1, s1.p0, s1.p1); + var p = this.createPoint_(intersection[0], intersection[1], n); + var newPGVolygon = new GVol.structs.LinkedList(); + var newRtree = new GVol.structs.RBush(); + this.insertItem_(p, s0.p1, newPGVolygon, newRtree); + s0.p1 = p; + rtree.update([Math.min(s0.p0.x, p.x), Math.min(s0.p0.y, p.y), + Math.max(s0.p0.x, p.x), Math.max(s0.p0.y, p.y)], s0); + var currItem = list.nextItem(); + while (currItem !== s1) { + this.insertItem_(currItem.p0, currItem.p1, newPGVolygon, newRtree); + rtree.remove(currItem); + list.removeItem(); + currItem = list.getCurrItem(); + } + this.insertItem_(s1.p0, p, newPGVolygon, newRtree); + s1.p0 = p; + rtree.update([Math.min(s1.p1.x, p.x), Math.min(s1.p1.y, p.y), + Math.max(s1.p1.x, p.x), Math.max(s1.p1.y, p.y)], s1); + this.classifyPoints_(list, rtree, false); + this.triangulate_(list, rtree); + this.classifyPoints_(newPGVolygon, newRtree, false); + this.triangulate_(newPGVolygon, newRtree); + break; + } + s0 = list.nextItem(); + } while (s0 !== start); + }; + + + /** + * @private + * @param {number} x X coordinate. + * @param {number} y Y coordinate. + * @param {number} i Index. + * @return {GVol.WebglPGVolygonVertex} List item. + */ + GVol.render.webgl.PGVolygonReplay.prototype.createPoint_ = function(x, y, i) { + var numVertices = this.vertices.length; + this.vertices[numVertices++] = x; + this.vertices[numVertices++] = y; + /** @type {GVol.WebglPGVolygonVertex} */ + var p = { + x: x, + y: y, + i: i, + reflex: undefined + }; + return p; + }; + + + /** + * @private + * @param {GVol.WebglPGVolygonVertex} p0 First point of segment. + * @param {GVol.WebglPGVolygonVertex} p1 Second point of segment. + * @param {GVol.structs.LinkedList} list PGVolygon ring. + * @param {GVol.structs.RBush=} opt_rtree Insert the segment into the R-Tree. + * @return {GVol.WebglPGVolygonSegment} segment. + */ + GVol.render.webgl.PGVolygonReplay.prototype.insertItem_ = function(p0, p1, list, opt_rtree) { + var seg = { + p0: p0, + p1: p1 + }; + list.insertItem(seg); + if (opt_rtree) { + opt_rtree.insert([Math.min(p0.x, p1.x), Math.min(p0.y, p1.y), + Math.max(p0.x, p1.x), Math.max(p0.y, p1.y)], seg); + } + return seg; + }; + + + /** + * @private + * @param {GVol.WebglPGVolygonSegment} s0 Segment before the remove candidate. + * @param {GVol.WebglPGVolygonSegment} s1 Remove candidate segment. + * @param {GVol.structs.LinkedList} list PGVolygon ring. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + */ + GVol.render.webgl.PGVolygonReplay.prototype.removeItem_ = function(s0, s1, list, rtree) { + if (list.getCurrItem() === s1) { + list.removeItem(); + s0.p1 = s1.p1; + rtree.remove(s1); + rtree.update([Math.min(s0.p0.x, s0.p1.x), Math.min(s0.p0.y, s0.p1.y), + Math.max(s0.p0.x, s0.p1.x), Math.max(s0.p0.y, s0.p1.y)], s0); + } + }; + + + /** + * @private + * @param {GVol.WebglPGVolygonVertex} p0 First point. + * @param {GVol.WebglPGVolygonVertex} p1 Second point. + * @param {GVol.WebglPGVolygonVertex} p2 Third point. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + * @param {boGVolean=} opt_reflex Only include reflex points. + * @return {Array.<GVol.WebglPGVolygonVertex>} Points in the triangle. + */ + GVol.render.webgl.PGVolygonReplay.prototype.getPointsInTriangle_ = function(p0, p1, + p2, rtree, opt_reflex) { + var i, ii, j, p; + var result = []; + var segmentsInExtent = rtree.getInExtent([Math.min(p0.x, p1.x, p2.x), + Math.min(p0.y, p1.y, p2.y), Math.max(p0.x, p1.x, p2.x), Math.max(p0.y, + p1.y, p2.y)]); + for (i = 0, ii = segmentsInExtent.length; i < ii; ++i) { + for (j in segmentsInExtent[i]) { + p = segmentsInExtent[i][j]; + if (typeof p === 'object' && (!opt_reflex || p.reflex)) { + if ((p.x !== p0.x || p.y !== p0.y) && (p.x !== p1.x || p.y !== p1.y) && + (p.x !== p2.x || p.y !== p2.y) && result.indexOf(p) === -1 && + GVol.geom.flat.contains.linearRingContainsXY([p0.x, p0.y, p1.x, p1.y, + p2.x, p2.y], 0, 6, 2, p.x, p.y)) { + result.push(p); + } + } + } + } + return result; + }; + + + /** + * @private + * @param {GVol.WebglPGVolygonSegment} segment Segment. + * @param {GVol.structs.RBush} rtree R-Tree of the pGVolygon. + * @param {boGVolean=} opt_touch Touching segments should be considered an intersection. + * @return {Array.<GVol.WebglPGVolygonSegment>} Intersecting segments. + */ + GVol.render.webgl.PGVolygonReplay.prototype.getIntersections_ = function(segment, rtree, opt_touch) { + var p0 = segment.p0; + var p1 = segment.p1; + var segmentsInExtent = rtree.getInExtent([Math.min(p0.x, p1.x), + Math.min(p0.y, p1.y), Math.max(p0.x, p1.x), Math.max(p0.y, p1.y)]); + var result = []; + var i, ii; + for (i = 0, ii = segmentsInExtent.length; i < ii; ++i) { + var currSeg = segmentsInExtent[i]; + if (segment !== currSeg && (opt_touch || currSeg.p0 !== p1 || currSeg.p1 !== p0) && + this.calculateIntersection_(p0, p1, currSeg.p0, currSeg.p1, opt_touch)) { + result.push(currSeg); + } + } + return result; + }; + + + /** + * Line intersection algorithm by Paul Bourke. + * @see http://paulbourke.net/geometry/pointlineplane/ + * + * @private + * @param {GVol.WebglPGVolygonVertex} p0 First point. + * @param {GVol.WebglPGVolygonVertex} p1 Second point. + * @param {GVol.WebglPGVolygonVertex} p2 Third point. + * @param {GVol.WebglPGVolygonVertex} p3 Fourth point. + * @param {boGVolean=} opt_touch Touching segments should be considered an intersection. + * @return {Array.<number>|undefined} Intersection coordinates. + */ + GVol.render.webgl.PGVolygonReplay.prototype.calculateIntersection_ = function(p0, + p1, p2, p3, opt_touch) { + var denom = (p3.y - p2.y) * (p1.x - p0.x) - (p3.x - p2.x) * (p1.y - p0.y); + if (denom !== 0) { + var ua = ((p3.x - p2.x) * (p0.y - p2.y) - (p3.y - p2.y) * (p0.x - p2.x)) / denom; + var ub = ((p1.x - p0.x) * (p0.y - p2.y) - (p1.y - p0.y) * (p0.x - p2.x)) / denom; + if ((!opt_touch && ua > GVol.render.webgl.EPSILON && ua < 1 - GVol.render.webgl.EPSILON && + ub > GVol.render.webgl.EPSILON && ub < 1 - GVol.render.webgl.EPSILON) || (opt_touch && + ua >= 0 && ua <= 1 && ub >= 0 && ub <= 1)) { + return [p0.x + ua * (p1.x - p0.x), p0.y + ua * (p1.y - p0.y)]; + } + } + return undefined; + }; + + + /** + * @private + * @param {GVol.WebglPGVolygonVertex} p0 Point before the start of the diagonal. + * @param {GVol.WebglPGVolygonVertex} p1 Start point of the diagonal. + * @param {GVol.WebglPGVolygonVertex} p2 Ear candidate. + * @param {GVol.WebglPGVolygonVertex} p3 End point of the diagonal. + * @param {GVol.WebglPGVolygonVertex} p4 Point after the end of the diagonal. + * @return {boGVolean} Diagonal is inside the pGVolygon. + */ + GVol.render.webgl.PGVolygonReplay.prototype.diagonalIsInside_ = function(p0, p1, p2, p3, p4) { + if (p1.reflex === undefined || p3.reflex === undefined) { + return false; + } + var p1IsLeftOf = (p2.x - p3.x) * (p1.y - p3.y) > (p2.y - p3.y) * (p1.x - p3.x); + var p1IsRightOf = (p4.x - p3.x) * (p1.y - p3.y) < (p4.y - p3.y) * (p1.x - p3.x); + var p3IsLeftOf = (p0.x - p1.x) * (p3.y - p1.y) > (p0.y - p1.y) * (p3.x - p1.x); + var p3IsRightOf = (p2.x - p1.x) * (p3.y - p1.y) < (p2.y - p1.y) * (p3.x - p1.x); + var p1InCone = p3.reflex ? p1IsRightOf || p1IsLeftOf : p1IsRightOf && p1IsLeftOf; + var p3InCone = p1.reflex ? p3IsRightOf || p3IsLeftOf : p3IsRightOf && p3IsLeftOf; + return p1InCone && p3InCone; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.PGVolygonReplay.prototype.drawMultiPGVolygon = function(multiPGVolygonGeometry, feature) { + var endss = multiPGVolygonGeometry.getEndss(); + var stride = multiPGVolygonGeometry.getStride(); + var currIndex = this.indices.length; + var currLineIndex = this.lineStringReplay.getCurrentIndex(); + var flatCoordinates = multiPGVolygonGeometry.getFlatCoordinates(); + var i, ii, j, jj; + var start = 0; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + if (ends.length > 0) { + var outerRing = GVol.geom.flat.transform.translate(flatCoordinates, start, ends[0], + stride, -this.origin[0], -this.origin[1]); + if (outerRing.length) { + var hGVoles = []; + var hGVoleFlatCoords; + for (j = 1, jj = ends.length; j < jj; ++j) { + if (ends[j] !== ends[j - 1]) { + hGVoleFlatCoords = GVol.geom.flat.transform.translate(flatCoordinates, ends[j - 1], + ends[j], stride, -this.origin[0], -this.origin[1]); + hGVoles.push(hGVoleFlatCoords); + } + } + this.lineStringReplay.drawPGVolygonCoordinates(outerRing, hGVoles, stride); + this.drawCoordinates_(outerRing, hGVoles, stride); + } + } + start = ends[ends.length - 1]; + } + if (this.indices.length > currIndex) { + this.startIndices.push(currIndex); + this.startIndicesFeature.push(feature); + if (this.state_.changed) { + this.styleIndices_.push(currIndex); + this.state_.changed = false; + } + } + if (this.lineStringReplay.getCurrentIndex() > currLineIndex) { + this.lineStringReplay.setPGVolygonStyle(feature, currLineIndex); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.PGVolygonReplay.prototype.drawPGVolygon = function(pGVolygonGeometry, feature) { + var ends = pGVolygonGeometry.getEnds(); + var stride = pGVolygonGeometry.getStride(); + if (ends.length > 0) { + var flatCoordinates = pGVolygonGeometry.getFlatCoordinates().map(Number); + var outerRing = GVol.geom.flat.transform.translate(flatCoordinates, 0, ends[0], + stride, -this.origin[0], -this.origin[1]); + if (outerRing.length) { + var hGVoles = []; + var i, ii, hGVoleFlatCoords; + for (i = 1, ii = ends.length; i < ii; ++i) { + if (ends[i] !== ends[i - 1]) { + hGVoleFlatCoords = GVol.geom.flat.transform.translate(flatCoordinates, ends[i - 1], + ends[i], stride, -this.origin[0], -this.origin[1]); + hGVoles.push(hGVoleFlatCoords); + } + } + + this.startIndices.push(this.indices.length); + this.startIndicesFeature.push(feature); + if (this.state_.changed) { + this.styleIndices_.push(this.indices.length); + this.state_.changed = false; + } + this.lineStringReplay.setPGVolygonStyle(feature); + + this.lineStringReplay.drawPGVolygonCoordinates(outerRing, hGVoles, stride); + this.drawCoordinates_(outerRing, hGVoles, stride); + } + } + }; + + + /** + * @inheritDoc + **/ + GVol.render.webgl.PGVolygonReplay.prototype.finish = function(context) { + // create, bind, and populate the vertices buffer + this.verticesBuffer = new GVol.webgl.Buffer(this.vertices); + + // create, bind, and populate the indices buffer + this.indicesBuffer = new GVol.webgl.Buffer(this.indices); + + this.startIndices.push(this.indices.length); + + this.lineStringReplay.finish(context); + + //Clean up, if there is nothing to draw + if (this.styleIndices_.length === 0 && this.styles_.length > 0) { + this.styles_ = []; + } + + this.vertices = null; + this.indices = null; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.PGVolygonReplay.prototype.getDeleteResourcesFunction = function(context) { + var verticesBuffer = this.verticesBuffer; + var indicesBuffer = this.indicesBuffer; + var lineDeleter = this.lineStringReplay.getDeleteResourcesFunction(context); + return function() { + context.deleteBuffer(verticesBuffer); + context.deleteBuffer(indicesBuffer); + lineDeleter(); + }; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.PGVolygonReplay.prototype.setUpProgram = function(gl, context, size, pixelRatio) { + // get the program + var fragmentShader, vertexShader; + fragmentShader = GVol.render.webgl.pGVolygonreplay.defaultshader.fragment; + vertexShader = GVol.render.webgl.pGVolygonreplay.defaultshader.vertex; + var program = context.getProgram(fragmentShader, vertexShader); + + // get the locations + var locations; + if (!this.defaultLocations_) { + // eslint-disable-next-line openlayers-internal/no-missing-requires + locations = new GVol.render.webgl.pGVolygonreplay.defaultshader.Locations(gl, program); + this.defaultLocations_ = locations; + } else { + locations = this.defaultLocations_; + } + + context.useProgram(program); + + // enable the vertex attrib arrays + gl.enableVertexAttribArray(locations.a_position); + gl.vertexAttribPointer(locations.a_position, 2, GVol.webgl.FLOAT, + false, 8, 0); + + return locations; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.PGVolygonReplay.prototype.shutDownProgram = function(gl, locations) { + gl.disableVertexAttribArray(locations.a_position); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.PGVolygonReplay.prototype.drawReplay = function(gl, context, skippedFeaturesHash, hitDetection) { + //Save GL parameters. + var tmpDepthFunc = /** @type {number} */ (gl.getParameter(gl.DEPTH_FUNC)); + var tmpDepthMask = /** @type {boGVolean} */ (gl.getParameter(gl.DEPTH_WRITEMASK)); + + if (!hitDetection) { + gl.enable(gl.DEPTH_TEST); + gl.depthMask(true); + gl.depthFunc(gl.NOTEQUAL); + } + + if (!GVol.obj.isEmpty(skippedFeaturesHash)) { + this.drawReplaySkipping_(gl, context, skippedFeaturesHash); + } else { + //Draw by style groups to minimize drawElements() calls. + var i, start, end, nextStyle; + end = this.startIndices[this.startIndices.length - 1]; + for (i = this.styleIndices_.length - 1; i >= 0; --i) { + start = this.styleIndices_[i]; + nextStyle = this.styles_[i]; + this.setFillStyle_(gl, nextStyle); + this.drawElements(gl, context, start, end); + end = start; + } + } + if (!hitDetection) { + gl.disable(gl.DEPTH_TEST); + gl.clear(gl.DEPTH_BUFFER_BIT); + //Restore GL parameters. + gl.depthMask(tmpDepthMask); + gl.depthFunc(tmpDepthFunc); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.PGVolygonReplay.prototype.drawHitDetectionReplayOneByOne = function(gl, context, skippedFeaturesHash, + featureCallback, opt_hitExtent) { + var i, start, end, nextStyle, groupStart, feature, featureUid, featureIndex; + featureIndex = this.startIndices.length - 2; + end = this.startIndices[featureIndex + 1]; + for (i = this.styleIndices_.length - 1; i >= 0; --i) { + nextStyle = this.styles_[i]; + this.setFillStyle_(gl, nextStyle); + groupStart = this.styleIndices_[i]; + + while (featureIndex >= 0 && + this.startIndices[featureIndex] >= groupStart) { + start = this.startIndices[featureIndex]; + feature = this.startIndicesFeature[featureIndex]; + featureUid = GVol.getUid(feature).toString(); + + if (skippedFeaturesHash[featureUid] === undefined && + feature.getGeometry() && + (opt_hitExtent === undefined || GVol.extent.intersects( + /** @type {Array<number>} */ (opt_hitExtent), + feature.getGeometry().getExtent()))) { + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); + this.drawElements(gl, context, start, end); + + var result = featureCallback(feature); + + if (result) { + return result; + } + + } + featureIndex--; + end = start; + } + } + return undefined; + }; + + + /** + * @private + * @param {WebGLRenderingContext} gl gl. + * @param {GVol.webgl.Context} context Context. + * @param {Object} skippedFeaturesHash Ids of features to skip. + */ + GVol.render.webgl.PGVolygonReplay.prototype.drawReplaySkipping_ = function(gl, context, skippedFeaturesHash) { + var i, start, end, nextStyle, groupStart, feature, featureUid, featureIndex, featureStart; + featureIndex = this.startIndices.length - 2; + end = start = this.startIndices[featureIndex + 1]; + for (i = this.styleIndices_.length - 1; i >= 0; --i) { + nextStyle = this.styles_[i]; + this.setFillStyle_(gl, nextStyle); + groupStart = this.styleIndices_[i]; + + while (featureIndex >= 0 && + this.startIndices[featureIndex] >= groupStart) { + featureStart = this.startIndices[featureIndex]; + feature = this.startIndicesFeature[featureIndex]; + featureUid = GVol.getUid(feature).toString(); + + if (skippedFeaturesHash[featureUid]) { + if (start !== end) { + this.drawElements(gl, context, start, end); + gl.clear(gl.DEPTH_BUFFER_BIT); + } + end = featureStart; + } + featureIndex--; + start = featureStart; + } + if (start !== end) { + this.drawElements(gl, context, start, end); + gl.clear(gl.DEPTH_BUFFER_BIT); + } + start = end = groupStart; + } + }; + + + /** + * @private + * @param {WebGLRenderingContext} gl gl. + * @param {Array.<number>} cGVolor CGVolor. + */ + GVol.render.webgl.PGVolygonReplay.prototype.setFillStyle_ = function(gl, cGVolor) { + gl.uniform4fv(this.defaultLocations_.u_cGVolor, cGVolor); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.PGVolygonReplay.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { + var fillStyleCGVolor = fillStyle ? fillStyle.getCGVolor() : [0, 0, 0, 0]; + if (!(fillStyleCGVolor instanceof CanvasGradient) && + !(fillStyleCGVolor instanceof CanvasPattern)) { + fillStyleCGVolor = GVol.cGVolor.asArray(fillStyleCGVolor).map(function(c, i) { + return i != 3 ? c / 255 : c; + }) || GVol.render.webgl.defaultFillStyle; + } else { + fillStyleCGVolor = GVol.render.webgl.defaultFillStyle; + } + if (!this.state_.fillCGVolor || !GVol.array.equals(fillStyleCGVolor, this.state_.fillCGVolor)) { + this.state_.fillCGVolor = fillStyleCGVolor; + this.state_.changed = true; + this.styles_.push(fillStyleCGVolor); + } + //Provide a null stroke style, if no strokeStyle is provided. Required for the draw interaction to work. + if (strokeStyle) { + this.lineStringReplay.setFillStrokeStyle(null, strokeStyle); + } else { + var nullStrokeStyle = new GVol.style.Stroke({ + cGVolor: [0, 0, 0, 0], + lineWidth: 0 + }); + this.lineStringReplay.setFillStrokeStyle(null, nullStrokeStyle); + } + }; + +} + +goog.provide('GVol.style.Atlas'); + +goog.require('GVol.dom'); + + +/** + * This class facilitates the creation of image atlases. + * + * Images added to an atlas will be rendered onto a single + * atlas canvas. The distribution of images on the canvas is + * managed with the bin packing algorithm described in: + * http://www.blackpawn.com/texts/lightmaps/ + * + * @constructor + * @struct + * @param {number} size The size in pixels of the sprite image. + * @param {number} space The space in pixels between images. + * Because texture coordinates are float values, the edges of + * images might not be completely correct (in a way that the + * edges overlap when being rendered). To avoid this we add a + * padding around each image. + */ +GVol.style.Atlas = function(size, space) { + + /** + * @private + * @type {number} + */ + this.space_ = space; + + /** + * @private + * @type {Array.<GVol.AtlasBlock>} + */ + this.emptyBlocks_ = [{x: 0, y: 0, width: size, height: size}]; + + /** + * @private + * @type {Object.<string, GVol.AtlasInfo>} + */ + this.entries_ = {}; + + /** + * @private + * @type {CanvasRenderingContext2D} + */ + this.context_ = GVol.dom.createCanvasContext2D(size, size); + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = this.context_.canvas; +}; + + +/** + * @param {string} id The identifier of the entry to check. + * @return {?GVol.AtlasInfo} The atlas info. + */ +GVol.style.Atlas.prototype.get = function(id) { + return this.entries_[id] || null; +}; + + +/** + * @param {string} id The identifier of the entry to add. + * @param {number} width The width. + * @param {number} height The height. + * @param {function(CanvasRenderingContext2D, number, number)} renderCallback + * Called to render the new image onto an atlas image. + * @param {Object=} opt_this Value to use as `this` when executing + * `renderCallback`. + * @return {?GVol.AtlasInfo} The position and atlas image for the entry. + */ +GVol.style.Atlas.prototype.add = function(id, width, height, renderCallback, opt_this) { + var block, i, ii; + for (i = 0, ii = this.emptyBlocks_.length; i < ii; ++i) { + block = this.emptyBlocks_[i]; + if (block.width >= width + this.space_ && + block.height >= height + this.space_) { + // we found a block that is big enough for our entry + var entry = { + offsetX: block.x + this.space_, + offsetY: block.y + this.space_, + image: this.canvas_ + }; + this.entries_[id] = entry; + + // render the image on the atlas image + renderCallback.call(opt_this, this.context_, + block.x + this.space_, block.y + this.space_); + + // split the block after the insertion, either horizontally or vertically + this.split_(i, block, width + this.space_, height + this.space_); + + return entry; + } + } + + // there is no space for the new entry in this atlas + return null; +}; + + +/** + * @private + * @param {number} index The index of the block. + * @param {GVol.AtlasBlock} block The block to split. + * @param {number} width The width of the entry to insert. + * @param {number} height The height of the entry to insert. + */ +GVol.style.Atlas.prototype.split_ = function(index, block, width, height) { + var deltaWidth = block.width - width; + var deltaHeight = block.height - height; + + /** @type {GVol.AtlasBlock} */ + var newBlock1; + /** @type {GVol.AtlasBlock} */ + var newBlock2; + + if (deltaWidth > deltaHeight) { + // split vertically + // block right of the inserted entry + newBlock1 = { + x: block.x + width, + y: block.y, + width: block.width - width, + height: block.height + }; + + // block below the inserted entry + newBlock2 = { + x: block.x, + y: block.y + height, + width: width, + height: block.height - height + }; + this.updateBlocks_(index, newBlock1, newBlock2); + } else { + // split horizontally + // block right of the inserted entry + newBlock1 = { + x: block.x + width, + y: block.y, + width: block.width - width, + height: height + }; + + // block below the inserted entry + newBlock2 = { + x: block.x, + y: block.y + height, + width: block.width, + height: block.height - height + }; + this.updateBlocks_(index, newBlock1, newBlock2); + } +}; + + +/** + * Remove the GVold block and insert new blocks at the same array position. + * The new blocks are inserted at the same position, so that splitted + * blocks (that are potentially smaller) are filled first. + * @private + * @param {number} index The index of the block to remove. + * @param {GVol.AtlasBlock} newBlock1 The 1st block to add. + * @param {GVol.AtlasBlock} newBlock2 The 2nd block to add. + */ +GVol.style.Atlas.prototype.updateBlocks_ = function(index, newBlock1, newBlock2) { + var args = [index, 1]; + if (newBlock1.width > 0 && newBlock1.height > 0) { + args.push(newBlock1); + } + if (newBlock2.width > 0 && newBlock2.height > 0) { + args.push(newBlock2); + } + this.emptyBlocks_.splice.apply(this.emptyBlocks_, args); +}; + +goog.provide('GVol.style.AtlasManager'); + +goog.require('GVol'); +goog.require('GVol.style.Atlas'); + + +/** + * Manages the creation of image atlases. + * + * Images added to this manager will be inserted into an atlas, which + * will be used for rendering. + * The `size` given in the constructor is the size for the first + * atlas. After that, when new atlases are created, they will have + * twice the size as the latest atlas (until `maxSize` is reached). + * + * If an application uses many images or very large images, it is recommended + * to set a higher `size` value to avoid the creation of too many atlases. + * + * @constructor + * @struct + * @api + * @param {GVolx.style.AtlasManagerOptions=} opt_options Options. + */ +GVol.style.AtlasManager = function(opt_options) { + + var options = opt_options || {}; + + /** + * The size in pixels of the latest atlas image. + * @private + * @type {number} + */ + this.currentSize_ = options.initialSize !== undefined ? + options.initialSize : GVol.INITIAL_ATLAS_SIZE; + + /** + * The maximum size in pixels of atlas images. + * @private + * @type {number} + */ + this.maxSize_ = options.maxSize !== undefined ? + options.maxSize : GVol.MAX_ATLAS_SIZE != -1 ? + GVol.MAX_ATLAS_SIZE : GVol.WEBGL_MAX_TEXTURE_SIZE !== undefined ? + GVol.WEBGL_MAX_TEXTURE_SIZE : 2048; + + /** + * The size in pixels between images. + * @private + * @type {number} + */ + this.space_ = options.space !== undefined ? options.space : 1; + + /** + * @private + * @type {Array.<GVol.style.Atlas>} + */ + this.atlases_ = [new GVol.style.Atlas(this.currentSize_, this.space_)]; + + /** + * The size in pixels of the latest atlas image for hit-detection images. + * @private + * @type {number} + */ + this.currentHitSize_ = this.currentSize_; + + /** + * @private + * @type {Array.<GVol.style.Atlas>} + */ + this.hitAtlases_ = [new GVol.style.Atlas(this.currentHitSize_, this.space_)]; +}; + + +/** + * @param {string} id The identifier of the entry to check. + * @return {?GVol.AtlasManagerInfo} The position and atlas image for the + * entry, or `null` if the entry is not part of the atlas manager. + */ +GVol.style.AtlasManager.prototype.getInfo = function(id) { + /** @type {?GVol.AtlasInfo} */ + var info = this.getInfo_(this.atlases_, id); + + if (!info) { + return null; + } + var hitInfo = /** @type {GVol.AtlasInfo} */ (this.getInfo_(this.hitAtlases_, id)); + + return this.mergeInfos_(info, hitInfo); +}; + + +/** + * @private + * @param {Array.<GVol.style.Atlas>} atlases The atlases to search. + * @param {string} id The identifier of the entry to check. + * @return {?GVol.AtlasInfo} The position and atlas image for the entry, + * or `null` if the entry is not part of the atlases. + */ +GVol.style.AtlasManager.prototype.getInfo_ = function(atlases, id) { + var atlas, info, i, ii; + for (i = 0, ii = atlases.length; i < ii; ++i) { + atlas = atlases[i]; + info = atlas.get(id); + if (info) { + return info; + } + } + return null; +}; + + +/** + * @private + * @param {GVol.AtlasInfo} info The info for the real image. + * @param {GVol.AtlasInfo} hitInfo The info for the hit-detection + * image. + * @return {?GVol.AtlasManagerInfo} The position and atlas image for the + * entry, or `null` if the entry is not part of the atlases. + */ +GVol.style.AtlasManager.prototype.mergeInfos_ = function(info, hitInfo) { + return /** @type {GVol.AtlasManagerInfo} */ ({ + offsetX: info.offsetX, + offsetY: info.offsetY, + image: info.image, + hitImage: hitInfo.image + }); +}; + + +/** + * Add an image to the atlas manager. + * + * If an entry for the given id already exists, the entry will + * be overridden (but the space on the atlas graphic will not be freed). + * + * If `renderHitCallback` is provided, the image (or the hit-detection version + * of the image) will be rendered into a separate hit-detection atlas image. + * + * @param {string} id The identifier of the entry to add. + * @param {number} width The width. + * @param {number} height The height. + * @param {function(CanvasRenderingContext2D, number, number)} renderCallback + * Called to render the new image onto an atlas image. + * @param {function(CanvasRenderingContext2D, number, number)=} + * opt_renderHitCallback Called to render a hit-detection image onto a hit + * detection atlas image. + * @param {Object=} opt_this Value to use as `this` when executing + * `renderCallback` and `renderHitCallback`. + * @return {?GVol.AtlasManagerInfo} The position and atlas image for the + * entry, or `null` if the image is too big. + */ +GVol.style.AtlasManager.prototype.add = function(id, width, height, + renderCallback, opt_renderHitCallback, opt_this) { + if (width + this.space_ > this.maxSize_ || + height + this.space_ > this.maxSize_) { + return null; + } + + /** @type {?GVol.AtlasInfo} */ + var info = this.add_(false, + id, width, height, renderCallback, opt_this); + if (!info) { + return null; + } + + // even if no hit-detection entry is requested, we insert a fake entry into + // the hit-detection atlas, to make sure that the offset is the same for + // the original image and the hit-detection image. + var renderHitCallback = opt_renderHitCallback !== undefined ? + opt_renderHitCallback : GVol.nullFunction; + + var hitInfo = /** @type {GVol.AtlasInfo} */ (this.add_(true, + id, width, height, renderHitCallback, opt_this)); + + return this.mergeInfos_(info, hitInfo); +}; + + +/** + * @private + * @param {boGVolean} isHitAtlas If the hit-detection atlases are used. + * @param {string} id The identifier of the entry to add. + * @param {number} width The width. + * @param {number} height The height. + * @param {function(CanvasRenderingContext2D, number, number)} renderCallback + * Called to render the new image onto an atlas image. + * @param {Object=} opt_this Value to use as `this` when executing + * `renderCallback` and `renderHitCallback`. + * @return {?GVol.AtlasInfo} The position and atlas image for the entry, + * or `null` if the image is too big. + */ +GVol.style.AtlasManager.prototype.add_ = function(isHitAtlas, id, width, height, + renderCallback, opt_this) { + var atlases = (isHitAtlas) ? this.hitAtlases_ : this.atlases_; + var atlas, info, i, ii; + for (i = 0, ii = atlases.length; i < ii; ++i) { + atlas = atlases[i]; + info = atlas.add(id, width, height, renderCallback, opt_this); + if (info) { + return info; + } else if (!info && i === ii - 1) { + // the entry could not be added to one of the existing atlases, + // create a new atlas that is twice as big and try to add to this one. + var size; + if (isHitAtlas) { + size = Math.min(this.currentHitSize_ * 2, this.maxSize_); + this.currentHitSize_ = size; + } else { + size = Math.min(this.currentSize_ * 2, this.maxSize_); + this.currentSize_ = size; + } + atlas = new GVol.style.Atlas(size, this.space_); + atlases.push(atlas); + // run the loop another time + ++ii; + } + } + return null; +}; + +goog.provide('GVol.render.webgl.TextReplay'); + +goog.require('GVol'); +goog.require('GVol.cGVolorlike'); +goog.require('GVol.dom'); +goog.require('GVol.has'); +goog.require('GVol.render.webgl'); +goog.require('GVol.render.webgl.TextureReplay'); +goog.require('GVol.style.AtlasManager'); +goog.require('GVol.webgl.Buffer'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.render.webgl.TextureReplay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Max extent. + * @struct + */ + GVol.render.webgl.TextReplay = function(tGVolerance, maxExtent) { + GVol.render.webgl.TextureReplay.call(this, tGVolerance, maxExtent); + + /** + * @private + * @type {Array.<HTMLCanvasElement>} + */ + this.images_ = []; + + /** + * @private + * @type {Array.<WebGLTexture>} + */ + this.textures_ = []; + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.measureCanvas_ = GVol.dom.createCanvasContext2D(0, 0).canvas; + + /** + * @private + * @type {{strokeCGVolor: (GVol.CGVolorLike|null), + * lineCap: (string|undefined), + * lineDash: Array.<number>, + * lineDashOffset: (number|undefined), + * lineJoin: (string|undefined), + * lineWidth: number, + * miterLimit: (number|undefined), + * fillCGVolor: (GVol.CGVolorLike|null), + * font: (string|undefined), + * scale: (number|undefined)}} + */ + this.state_ = { + strokeCGVolor: null, + lineCap: undefined, + lineDash: null, + lineDashOffset: undefined, + lineJoin: undefined, + lineWidth: 0, + miterLimit: undefined, + fillCGVolor: null, + font: undefined, + scale: undefined + }; + + /** + * @private + * @type {string} + */ + this.text_ = ''; + + /** + * @private + * @type {number|undefined} + */ + this.textAlign_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.textBaseline_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.offsetX_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.offsetY_ = undefined; + + /** + * @private + * @type {Object.<string, GVol.WebglGlyphAtlas>} + */ + this.atlases_ = {}; + + /** + * @private + * @type {GVol.WebglGlyphAtlas|undefined} + */ + this.currAtlas_ = undefined; + + this.scale = 1; + + this.opacity = 1; + + }; + GVol.inherits(GVol.render.webgl.TextReplay, GVol.render.webgl.TextureReplay); + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextReplay.prototype.drawText = function(flatCoordinates, offset, + end, stride, geometry, feature) { + if (this.text_) { + this.startIndices.push(this.indices.length); + this.startIndicesFeature.push(feature); + + var glyphAtlas = this.currAtlas_; + var lines = this.text_.split('\n'); + var textSize = this.getTextSize_(lines); + var i, ii, j, jj, currX, currY, charArr, charInfo; + var anchorX = Math.round(textSize[0] * this.textAlign_ - this.offsetX_); + var anchorY = Math.round(textSize[1] * this.textBaseline_ - this.offsetY_); + var lineWidth = (this.state_.lineWidth / 2) * this.state_.scale; + + for (i = 0, ii = lines.length; i < ii; ++i) { + currX = 0; + currY = glyphAtlas.height * i; + charArr = lines[i].split(''); + + for (j = 0, jj = charArr.length; j < jj; ++j) { + charInfo = glyphAtlas.atlas.getInfo(charArr[j]); + + if (charInfo) { + var image = charInfo.image; + + this.anchorX = anchorX - currX; + this.anchorY = anchorY - currY; + this.originX = j === 0 ? charInfo.offsetX - lineWidth : charInfo.offsetX; + this.originY = charInfo.offsetY; + this.height = glyphAtlas.height; + this.width = j === 0 || j === charArr.length - 1 ? + glyphAtlas.width[charArr[j]] + lineWidth : glyphAtlas.width[charArr[j]]; + this.imageHeight = image.height; + this.imageWidth = image.width; + + var currentImage; + if (this.images_.length === 0) { + this.images_.push(image); + } else { + currentImage = this.images_[this.images_.length - 1]; + if (GVol.getUid(currentImage) != GVol.getUid(image)) { + this.groupIndices.push(this.indices.length); + this.images_.push(image); + } + } + + this.drawText_(flatCoordinates, offset, end, stride); + } + currX += this.width; + } + } + } + }; + + + /** + * @private + * @param {Array.<string>} lines Label to draw split to lines. + * @return {Array.<number>} Size of the label in pixels. + */ + GVol.render.webgl.TextReplay.prototype.getTextSize_ = function(lines) { + var self = this; + var glyphAtlas = this.currAtlas_; + var textHeight = lines.length * glyphAtlas.height; + //Split every line to an array of chars, sum up their width, and select the longest. + var textWidth = lines.map(function(str) { + var sum = 0; + var i, ii; + for (i = 0, ii = str.length; i < ii; ++i) { + var curr = str[i]; + if (!glyphAtlas.width[curr]) { + self.addCharToAtlas_(curr); + } + sum += glyphAtlas.width[curr] ? glyphAtlas.width[curr] : 0; + } + return sum; + }).reduce(function(max, curr) { + return Math.max(max, curr); + }); + + return [textWidth, textHeight]; + }; + + + /** + * @private + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + */ + GVol.render.webgl.TextReplay.prototype.drawText_ = function(flatCoordinates, offset, + end, stride) { + var i, ii; + for (i = offset, ii = end; i < ii; i += stride) { + this.drawCoordinates(flatCoordinates, offset, end, stride); + } + }; + + + /** + * @private + * @param {string} char Character. + */ + GVol.render.webgl.TextReplay.prototype.addCharToAtlas_ = function(char) { + if (char.length === 1) { + var glyphAtlas = this.currAtlas_; + var state = this.state_; + var mCtx = this.measureCanvas_.getContext('2d'); + mCtx.font = state.font; + var width = Math.ceil(mCtx.measureText(char).width * state.scale); + + var info = glyphAtlas.atlas.add(char, width, glyphAtlas.height, + function(ctx, x, y) { + //Parameterize the canvas + ctx.font = /** @type {string} */ (state.font); + ctx.fillStyle = state.fillCGVolor; + ctx.strokeStyle = state.strokeCGVolor; + ctx.lineWidth = state.lineWidth; + ctx.lineCap = /*** @type {string} */ (state.lineCap); + ctx.lineJoin = /** @type {string} */ (state.lineJoin); + ctx.miterLimit = /** @type {number} */ (state.miterLimit); + ctx.textAlign = 'left'; + ctx.textBaseline = 'top'; + if (GVol.has.CANVAS_LINE_DASH && state.lineDash) { + //FIXME: use pixelRatio + ctx.setLineDash(state.lineDash); + ctx.lineDashOffset = /** @type {number} */ (state.lineDashOffset); + } + if (state.scale !== 1) { + //FIXME: use pixelRatio + ctx.setTransform(/** @type {number} */ (state.scale), 0, 0, + /** @type {number} */ (state.scale), 0, 0); + } + + //Draw the character on the canvas + if (state.strokeCGVolor) { + ctx.strokeText(char, x, y); + } + if (state.fillCGVolor) { + ctx.fillText(char, x, y); + } + }); + + if (info) { + glyphAtlas.width[char] = width; + } + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextReplay.prototype.finish = function(context) { + var gl = context.getGL(); + + this.groupIndices.push(this.indices.length); + this.hitDetectionGroupIndices = this.groupIndices; + + // create, bind, and populate the vertices buffer + this.verticesBuffer = new GVol.webgl.Buffer(this.vertices); + + // create, bind, and populate the indices buffer + this.indicesBuffer = new GVol.webgl.Buffer(this.indices); + + // create textures + /** @type {Object.<string, WebGLTexture>} */ + var texturePerImage = {}; + + this.createTextures(this.textures_, this.images_, texturePerImage, gl); + + this.state_ = { + strokeCGVolor: null, + lineCap: undefined, + lineDash: null, + lineDashOffset: undefined, + lineJoin: undefined, + lineWidth: 0, + miterLimit: undefined, + fillCGVolor: null, + font: undefined, + scale: undefined + }; + this.text_ = ''; + this.textAlign_ = undefined; + this.textBaseline_ = undefined; + this.offsetX_ = undefined; + this.offsetY_ = undefined; + this.images_ = null; + this.atlases_ = {}; + this.currAtlas_ = undefined; + GVol.render.webgl.TextureReplay.prototype.finish.call(this, context); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextReplay.prototype.setTextStyle = function(textStyle) { + var state = this.state_; + var textFillStyle = textStyle.getFill(); + var textStrokeStyle = textStyle.getStroke(); + if (!textStyle || !textStyle.getText() || (!textFillStyle && !textStrokeStyle)) { + this.text_ = ''; + } else { + if (!textFillStyle) { + state.fillCGVolor = null; + } else { + var textFillStyleCGVolor = textFillStyle.getCGVolor(); + state.fillCGVolor = GVol.cGVolorlike.asCGVolorLike(textFillStyleCGVolor ? + textFillStyleCGVolor : GVol.render.webgl.defaultFillStyle); + } + if (!textStrokeStyle) { + state.strokeCGVolor = null; + state.lineWidth = 0; + } else { + var textStrokeStyleCGVolor = textStrokeStyle.getCGVolor(); + state.strokeCGVolor = GVol.cGVolorlike.asCGVolorLike(textStrokeStyleCGVolor ? + textStrokeStyleCGVolor : GVol.render.webgl.defaultStrokeStyle); + state.lineWidth = textStrokeStyle.getWidth() || GVol.render.webgl.defaultLineWidth; + state.lineCap = textStrokeStyle.getLineCap() || GVol.render.webgl.defaultLineCap; + state.lineDashOffset = textStrokeStyle.getLineDashOffset() || GVol.render.webgl.defaultLineDashOffset; + state.lineJoin = textStrokeStyle.getLineJoin() || GVol.render.webgl.defaultLineJoin; + state.miterLimit = textStrokeStyle.getMiterLimit() || GVol.render.webgl.defaultMiterLimit; + var lineDash = textStrokeStyle.getLineDash(); + state.lineDash = lineDash ? lineDash.slice() : GVol.render.webgl.defaultLineDash; + } + state.font = textStyle.getFont() || GVol.render.webgl.defaultFont; + state.scale = textStyle.getScale() || 1; + this.text_ = /** @type {string} */ (textStyle.getText()); + var textAlign = GVol.render.webgl.TextReplay.Align_[textStyle.getTextAlign()]; + var textBaseline = GVol.render.webgl.TextReplay.Align_[textStyle.getTextBaseline()]; + this.textAlign_ = textAlign === undefined ? + GVol.render.webgl.defaultTextAlign : textAlign; + this.textBaseline_ = textBaseline === undefined ? + GVol.render.webgl.defaultTextBaseline : textBaseline; + this.offsetX_ = textStyle.getOffsetX() || 0; + this.offsetY_ = textStyle.getOffsetY() || 0; + this.rotateWithView = !!textStyle.getRotateWithView(); + this.rotation = textStyle.getRotation() || 0; + + this.currAtlas_ = this.getAtlas_(state); + } + }; + + + /** + * @private + * @param {Object} state Font attributes. + * @return {GVol.WebglGlyphAtlas} Glyph atlas. + */ + GVol.render.webgl.TextReplay.prototype.getAtlas_ = function(state) { + var params = []; + var i; + for (i in state) { + if (state[i] || state[i] === 0) { + if (Array.isArray(state[i])) { + params = params.concat(state[i]); + } else { + params.push(state[i]); + } + } + } + var hash = this.calculateHash_(params); + if (!this.atlases_[hash]) { + var mCtx = this.measureCanvas_.getContext('2d'); + mCtx.font = state.font; + var height = Math.ceil((mCtx.measureText('M').width * 1.5 + + state.lineWidth / 2) * state.scale); + + this.atlases_[hash] = { + atlas: new GVol.style.AtlasManager({ + space: state.lineWidth + 1 + }), + width: {}, + height: height + }; + } + return this.atlases_[hash]; + }; + + + /** + * @private + * @param {Array.<string|number>} params Array of parameters. + * @return {string} Hash string. + */ + GVol.render.webgl.TextReplay.prototype.calculateHash_ = function(params) { + //TODO: Create a more performant, reliable, general hash function. + var i, ii; + var hash = ''; + for (i = 0, ii = params.length; i < ii; ++i) { + hash += params[i]; + } + return hash; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextReplay.prototype.getTextures = function(opt_all) { + return this.textures_; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.TextReplay.prototype.getHitDetectionTextures = function() { + return this.textures_; + }; + + + /** + * @enum {number} + * @private + */ + GVol.render.webgl.TextReplay.Align_ = { + left: 0, + end: 0, + center: 0.5, + right: 1, + start: 1, + top: 0, + middle: 0.5, + hanging: 0.2, + alphabetic: 0.8, + ideographic: 0.8, + bottom: 1 + }; + +} + +goog.provide('GVol.render.webgl.ReplayGroup'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); +goog.require('GVol.render.replay'); +goog.require('GVol.render.ReplayGroup'); +goog.require('GVol.render.webgl.CircleReplay'); +goog.require('GVol.render.webgl.ImageReplay'); +goog.require('GVol.render.webgl.LineStringReplay'); +goog.require('GVol.render.webgl.PGVolygonReplay'); +goog.require('GVol.render.webgl.TextReplay'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.render.ReplayGroup} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Max extent. + * @param {number=} opt_renderBuffer Render buffer. + * @struct + */ + GVol.render.webgl.ReplayGroup = function(tGVolerance, maxExtent, opt_renderBuffer) { + GVol.render.ReplayGroup.call(this); + + /** + * @type {GVol.Extent} + * @private + */ + this.maxExtent_ = maxExtent; + + /** + * @type {number} + * @private + */ + this.tGVolerance_ = tGVolerance; + + /** + * @type {number|undefined} + * @private + */ + this.renderBuffer_ = opt_renderBuffer; + + /** + * @private + * @type {!Object.<string, + * Object.<GVol.render.ReplayType, GVol.render.webgl.Replay>>} + */ + this.replaysByZIndex_ = {}; + + }; + GVol.inherits(GVol.render.webgl.ReplayGroup, GVol.render.ReplayGroup); + + + /** + * @param {GVol.webgl.Context} context WebGL context. + * @return {function()} Delete resources function. + */ + GVol.render.webgl.ReplayGroup.prototype.getDeleteResourcesFunction = function(context) { + var functions = []; + var zKey; + for (zKey in this.replaysByZIndex_) { + var replays = this.replaysByZIndex_[zKey]; + var replayKey; + for (replayKey in replays) { + functions.push( + replays[replayKey].getDeleteResourcesFunction(context)); + } + } + return function() { + var length = functions.length; + var result; + for (var i = 0; i < length; i++) { + result = functions[i].apply(this, arguments); + } + return result; + }; + }; + + + /** + * @param {GVol.webgl.Context} context Context. + */ + GVol.render.webgl.ReplayGroup.prototype.finish = function(context) { + var zKey; + for (zKey in this.replaysByZIndex_) { + var replays = this.replaysByZIndex_[zKey]; + var replayKey; + for (replayKey in replays) { + replays[replayKey].finish(context); + } + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.ReplayGroup.prototype.getReplay = function(zIndex, replayType) { + var zIndexKey = zIndex !== undefined ? zIndex.toString() : '0'; + var replays = this.replaysByZIndex_[zIndexKey]; + if (replays === undefined) { + replays = {}; + this.replaysByZIndex_[zIndexKey] = replays; + } + var replay = replays[replayType]; + if (replay === undefined) { + /** + * @type {Function} + */ + var Constructor = GVol.render.webgl.ReplayGroup.BATCH_CONSTRUCTORS_[replayType]; + replay = new Constructor(this.tGVolerance_, this.maxExtent_); + replays[replayType] = replay; + } + return replay; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.ReplayGroup.prototype.isEmpty = function() { + return GVol.obj.isEmpty(this.replaysByZIndex_); + }; + + + /** + * @param {GVol.webgl.Context} context Context. + * @param {GVol.Coordinate} center Center. + * @param {number} resGVolution ResGVolution. + * @param {number} rotation Rotation. + * @param {GVol.Size} size Size. + * @param {number} pixelRatio Pixel ratio. + * @param {number} opacity Global opacity. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + */ + GVol.render.webgl.ReplayGroup.prototype.replay = function(context, + center, resGVolution, rotation, size, pixelRatio, + opacity, skippedFeaturesHash) { + /** @type {Array.<number>} */ + var zs = Object.keys(this.replaysByZIndex_).map(Number); + zs.sort(GVol.array.numberSafeCompareFunction); + + var i, ii, j, jj, replays, replay; + for (i = 0, ii = zs.length; i < ii; ++i) { + replays = this.replaysByZIndex_[zs[i].toString()]; + for (j = 0, jj = GVol.render.replay.ORDER.length; j < jj; ++j) { + replay = replays[GVol.render.replay.ORDER[j]]; + if (replay !== undefined) { + replay.replay(context, + center, resGVolution, rotation, size, pixelRatio, + opacity, skippedFeaturesHash, + undefined, false); + } + } + } + }; + + + /** + * @private + * @param {GVol.webgl.Context} context Context. + * @param {GVol.Coordinate} center Center. + * @param {number} resGVolution ResGVolution. + * @param {number} rotation Rotation. + * @param {GVol.Size} size Size. + * @param {number} pixelRatio Pixel ratio. + * @param {number} opacity Global opacity. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {function((GVol.Feature|GVol.render.Feature)): T|undefined} featureCallback Feature callback. + * @param {boGVolean} oneByOne Draw features one-by-one for the hit-detecion. + * @param {GVol.Extent=} opt_hitExtent Hit extent: Only features intersecting + * this extent are checked. + * @return {T|undefined} Callback result. + * @template T + */ + GVol.render.webgl.ReplayGroup.prototype.replayHitDetection_ = function(context, + center, resGVolution, rotation, size, pixelRatio, opacity, + skippedFeaturesHash, featureCallback, oneByOne, opt_hitExtent) { + /** @type {Array.<number>} */ + var zs = Object.keys(this.replaysByZIndex_).map(Number); + zs.sort(function(a, b) { + return b - a; + }); + + var i, ii, j, replays, replay, result; + for (i = 0, ii = zs.length; i < ii; ++i) { + replays = this.replaysByZIndex_[zs[i].toString()]; + for (j = GVol.render.replay.ORDER.length - 1; j >= 0; --j) { + replay = replays[GVol.render.replay.ORDER[j]]; + if (replay !== undefined) { + result = replay.replay(context, + center, resGVolution, rotation, size, pixelRatio, opacity, + skippedFeaturesHash, featureCallback, oneByOne, opt_hitExtent); + if (result) { + return result; + } + } + } + } + return undefined; + }; + + + /** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVol.webgl.Context} context Context. + * @param {GVol.Coordinate} center Center. + * @param {number} resGVolution ResGVolution. + * @param {number} rotation Rotation. + * @param {GVol.Size} size Size. + * @param {number} pixelRatio Pixel ratio. + * @param {number} opacity Global opacity. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {function((GVol.Feature|GVol.render.Feature)): T|undefined} callback Feature callback. + * @return {T|undefined} Callback result. + * @template T + */ + GVol.render.webgl.ReplayGroup.prototype.forEachFeatureAtCoordinate = function( + coordinate, context, center, resGVolution, rotation, size, pixelRatio, + opacity, skippedFeaturesHash, + callback) { + var gl = context.getGL(); + gl.bindFramebuffer( + gl.FRAMEBUFFER, context.getHitDetectionFramebuffer()); + + + /** + * @type {GVol.Extent} + */ + var hitExtent; + if (this.renderBuffer_ !== undefined) { + // build an extent around the coordinate, so that only features that + // intersect this extent are checked + hitExtent = GVol.extent.buffer( + GVol.extent.createOrUpdateFromCoordinate(coordinate), + resGVolution * this.renderBuffer_); + } + + return this.replayHitDetection_(context, + coordinate, resGVolution, rotation, GVol.render.webgl.ReplayGroup.HIT_DETECTION_SIZE_, + pixelRatio, opacity, skippedFeaturesHash, + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @return {?} Callback result. + */ + function(feature) { + var imageData = new Uint8Array(4); + gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, imageData); + + if (imageData[3] > 0) { + var result = callback(feature); + if (result) { + return result; + } + } + }, true, hitExtent); + }; + + + /** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVol.webgl.Context} context Context. + * @param {GVol.Coordinate} center Center. + * @param {number} resGVolution ResGVolution. + * @param {number} rotation Rotation. + * @param {GVol.Size} size Size. + * @param {number} pixelRatio Pixel ratio. + * @param {number} opacity Global opacity. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @return {boGVolean} Is there a feature at the given coordinate? + */ + GVol.render.webgl.ReplayGroup.prototype.hasFeatureAtCoordinate = function( + coordinate, context, center, resGVolution, rotation, size, pixelRatio, + opacity, skippedFeaturesHash) { + var gl = context.getGL(); + gl.bindFramebuffer( + gl.FRAMEBUFFER, context.getHitDetectionFramebuffer()); + + var hasFeature = this.replayHitDetection_(context, + coordinate, resGVolution, rotation, GVol.render.webgl.ReplayGroup.HIT_DETECTION_SIZE_, + pixelRatio, opacity, skippedFeaturesHash, + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @return {boGVolean} Is there a feature? + */ + function(feature) { + var imageData = new Uint8Array(4); + gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, imageData); + return imageData[3] > 0; + }, false); + + return hasFeature !== undefined; + }; + + /** + * @const + * @private + * @type {Array.<number>} + */ + GVol.render.webgl.ReplayGroup.HIT_DETECTION_SIZE_ = [1, 1]; + + /** + * @const + * @private + * @type {Object.<GVol.render.ReplayType, + * function(new: GVol.render.webgl.Replay, number, + * GVol.Extent)>} + */ + GVol.render.webgl.ReplayGroup.BATCH_CONSTRUCTORS_ = { + 'Circle': GVol.render.webgl.CircleReplay, + 'Image': GVol.render.webgl.ImageReplay, + 'LineString': GVol.render.webgl.LineStringReplay, + 'PGVolygon': GVol.render.webgl.PGVolygonReplay, + 'Text': GVol.render.webgl.TextReplay + }; + +} + +goog.provide('GVol.render.webgl.Immediate'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.render.ReplayType'); +goog.require('GVol.render.VectorContext'); +goog.require('GVol.render.webgl.ReplayGroup'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.render.VectorContext} + * @param {GVol.webgl.Context} context Context. + * @param {GVol.Coordinate} center Center. + * @param {number} resGVolution ResGVolution. + * @param {number} rotation Rotation. + * @param {GVol.Size} size Size. + * @param {GVol.Extent} extent Extent. + * @param {number} pixelRatio Pixel ratio. + * @struct + */ + GVol.render.webgl.Immediate = function(context, center, resGVolution, rotation, size, extent, pixelRatio) { + GVol.render.VectorContext.call(this); + + /** + * @private + */ + this.context_ = context; + + /** + * @private + */ + this.center_ = center; + + /** + * @private + */ + this.extent_ = extent; + + /** + * @private + */ + this.pixelRatio_ = pixelRatio; + + /** + * @private + */ + this.size_ = size; + + /** + * @private + */ + this.rotation_ = rotation; + + /** + * @private + */ + this.resGVolution_ = resGVolution; + + /** + * @private + * @type {GVol.style.Image} + */ + this.imageStyle_ = null; + + /** + * @private + * @type {GVol.style.Fill} + */ + this.fillStyle_ = null; + + /** + * @private + * @type {GVol.style.Stroke} + */ + this.strokeStyle_ = null; + + /** + * @private + * @type {GVol.style.Text} + */ + this.textStyle_ = null; + + }; + GVol.inherits(GVol.render.webgl.Immediate, GVol.render.VectorContext); + + + /** + * @param {GVol.render.webgl.ReplayGroup} replayGroup Replay group. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @private + */ + GVol.render.webgl.Immediate.prototype.drawText_ = function(replayGroup, + flatCoordinates, offset, end, stride) { + var context = this.context_; + var replay = /** @type {GVol.render.webgl.TextReplay} */ ( + replayGroup.getReplay(0, GVol.render.ReplayType.TEXT)); + replay.setTextStyle(this.textStyle_); + replay.drawText(flatCoordinates, offset, end, stride, null, null); + replay.finish(context); + // default cGVolors + var opacity = 1; + var skippedFeatures = {}; + var featureCallback; + var oneByOne = false; + replay.replay(this.context_, this.center_, this.resGVolution_, this.rotation_, + this.size_, this.pixelRatio_, opacity, skippedFeatures, featureCallback, + oneByOne); + replay.getDeleteResourcesFunction(context)(); + }; + + + /** + * Set the rendering style. Note that since this is an immediate rendering API, + * any `zIndex` on the provided style will be ignored. + * + * @param {GVol.style.Style} style The rendering style. + * @override + * @api + */ + GVol.render.webgl.Immediate.prototype.setStyle = function(style) { + this.setFillStrokeStyle(style.getFill(), style.getStroke()); + this.setImageStyle(style.getImage()); + this.setTextStyle(style.getText()); + }; + + + /** + * Render a geometry into the canvas. Call + * {@link GVol.render.webgl.Immediate#setStyle} first to set the rendering style. + * + * @param {GVol.geom.Geometry|GVol.render.Feature} geometry The geometry to render. + * @override + * @api + */ + GVol.render.webgl.Immediate.prototype.drawGeometry = function(geometry) { + var type = geometry.getType(); + switch (type) { + case GVol.geom.GeometryType.POINT: + this.drawPoint(/** @type {GVol.geom.Point} */ (geometry), null); + break; + case GVol.geom.GeometryType.LINE_STRING: + this.drawLineString(/** @type {GVol.geom.LineString} */ (geometry), null); + break; + case GVol.geom.GeometryType.POLYGON: + this.drawPGVolygon(/** @type {GVol.geom.PGVolygon} */ (geometry), null); + break; + case GVol.geom.GeometryType.MULTI_POINT: + this.drawMultiPoint(/** @type {GVol.geom.MultiPoint} */ (geometry), null); + break; + case GVol.geom.GeometryType.MULTI_LINE_STRING: + this.drawMultiLineString(/** @type {GVol.geom.MultiLineString} */ (geometry), null); + break; + case GVol.geom.GeometryType.MULTI_POLYGON: + this.drawMultiPGVolygon(/** @type {GVol.geom.MultiPGVolygon} */ (geometry), null); + break; + case GVol.geom.GeometryType.GEOMETRY_COLLECTION: + this.drawGeometryCGVollection(/** @type {GVol.geom.GeometryCGVollection} */ (geometry), null); + break; + case GVol.geom.GeometryType.CIRCLE: + this.drawCircle(/** @type {GVol.geom.Circle} */ (geometry), null); + break; + default: + // pass + } + }; + + + /** + * @inheritDoc + * @api + */ + GVol.render.webgl.Immediate.prototype.drawFeature = function(feature, style) { + var geometry = style.getGeometryFunction()(feature); + if (!geometry || + !GVol.extent.intersects(this.extent_, geometry.getExtent())) { + return; + } + this.setStyle(style); + this.drawGeometry(geometry); + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.drawGeometryCGVollection = function(geometry, data) { + var geometries = geometry.getGeometriesArray(); + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + this.drawGeometry(geometries[i]); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.drawPoint = function(geometry, data) { + var context = this.context_; + var replayGroup = new GVol.render.webgl.ReplayGroup(1, this.extent_); + var replay = /** @type {GVol.render.webgl.ImageReplay} */ ( + replayGroup.getReplay(0, GVol.render.ReplayType.IMAGE)); + replay.setImageStyle(this.imageStyle_); + replay.drawPoint(geometry, data); + replay.finish(context); + // default cGVolors + var opacity = 1; + var skippedFeatures = {}; + var featureCallback; + var oneByOne = false; + replay.replay(this.context_, this.center_, this.resGVolution_, this.rotation_, + this.size_, this.pixelRatio_, opacity, skippedFeatures, featureCallback, + oneByOne); + replay.getDeleteResourcesFunction(context)(); + + if (this.textStyle_) { + var flatCoordinates = geometry.getFlatCoordinates(); + var stride = geometry.getStride(); + this.drawText_(replayGroup, flatCoordinates, 0, flatCoordinates.length, stride); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.drawMultiPoint = function(geometry, data) { + var context = this.context_; + var replayGroup = new GVol.render.webgl.ReplayGroup(1, this.extent_); + var replay = /** @type {GVol.render.webgl.ImageReplay} */ ( + replayGroup.getReplay(0, GVol.render.ReplayType.IMAGE)); + replay.setImageStyle(this.imageStyle_); + replay.drawMultiPoint(geometry, data); + replay.finish(context); + var opacity = 1; + var skippedFeatures = {}; + var featureCallback; + var oneByOne = false; + replay.replay(this.context_, this.center_, this.resGVolution_, this.rotation_, + this.size_, this.pixelRatio_, opacity, skippedFeatures, featureCallback, + oneByOne); + replay.getDeleteResourcesFunction(context)(); + + if (this.textStyle_) { + var flatCoordinates = geometry.getFlatCoordinates(); + var stride = geometry.getStride(); + this.drawText_(replayGroup, flatCoordinates, 0, flatCoordinates.length, stride); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.drawLineString = function(geometry, data) { + var context = this.context_; + var replayGroup = new GVol.render.webgl.ReplayGroup(1, this.extent_); + var replay = /** @type {GVol.render.webgl.LineStringReplay} */ ( + replayGroup.getReplay(0, GVol.render.ReplayType.LINE_STRING)); + replay.setFillStrokeStyle(null, this.strokeStyle_); + replay.drawLineString(geometry, data); + replay.finish(context); + var opacity = 1; + var skippedFeatures = {}; + var featureCallback; + var oneByOne = false; + replay.replay(this.context_, this.center_, this.resGVolution_, this.rotation_, + this.size_, this.pixelRatio_, opacity, skippedFeatures, featureCallback, + oneByOne); + replay.getDeleteResourcesFunction(context)(); + + if (this.textStyle_) { + var flatMidpoint = geometry.getFlatMidpoint(); + this.drawText_(replayGroup, flatMidpoint, 0, 2, 2); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.drawMultiLineString = function(geometry, data) { + var context = this.context_; + var replayGroup = new GVol.render.webgl.ReplayGroup(1, this.extent_); + var replay = /** @type {GVol.render.webgl.LineStringReplay} */ ( + replayGroup.getReplay(0, GVol.render.ReplayType.LINE_STRING)); + replay.setFillStrokeStyle(null, this.strokeStyle_); + replay.drawMultiLineString(geometry, data); + replay.finish(context); + var opacity = 1; + var skippedFeatures = {}; + var featureCallback; + var oneByOne = false; + replay.replay(this.context_, this.center_, this.resGVolution_, this.rotation_, + this.size_, this.pixelRatio_, opacity, skippedFeatures, featureCallback, + oneByOne); + replay.getDeleteResourcesFunction(context)(); + + if (this.textStyle_) { + var flatMidpoints = geometry.getFlatMidpoints(); + this.drawText_(replayGroup, flatMidpoints, 0, flatMidpoints.length, 2); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.drawPGVolygon = function(geometry, data) { + var context = this.context_; + var replayGroup = new GVol.render.webgl.ReplayGroup(1, this.extent_); + var replay = /** @type {GVol.render.webgl.PGVolygonReplay} */ ( + replayGroup.getReplay(0, GVol.render.ReplayType.POLYGON)); + replay.setFillStrokeStyle(this.fillStyle_, this.strokeStyle_); + replay.drawPGVolygon(geometry, data); + replay.finish(context); + var opacity = 1; + var skippedFeatures = {}; + var featureCallback; + var oneByOne = false; + replay.replay(this.context_, this.center_, this.resGVolution_, this.rotation_, + this.size_, this.pixelRatio_, opacity, skippedFeatures, featureCallback, + oneByOne); + replay.getDeleteResourcesFunction(context)(); + + if (this.textStyle_) { + var flatInteriorPoint = geometry.getFlatInteriorPoint(); + this.drawText_(replayGroup, flatInteriorPoint, 0, 2, 2); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.drawMultiPGVolygon = function(geometry, data) { + var context = this.context_; + var replayGroup = new GVol.render.webgl.ReplayGroup(1, this.extent_); + var replay = /** @type {GVol.render.webgl.PGVolygonReplay} */ ( + replayGroup.getReplay(0, GVol.render.ReplayType.POLYGON)); + replay.setFillStrokeStyle(this.fillStyle_, this.strokeStyle_); + replay.drawMultiPGVolygon(geometry, data); + replay.finish(context); + var opacity = 1; + var skippedFeatures = {}; + var featureCallback; + var oneByOne = false; + replay.replay(this.context_, this.center_, this.resGVolution_, this.rotation_, + this.size_, this.pixelRatio_, opacity, skippedFeatures, featureCallback, + oneByOne); + replay.getDeleteResourcesFunction(context)(); + + if (this.textStyle_) { + var flatInteriorPoints = geometry.getFlatInteriorPoints(); + this.drawText_(replayGroup, flatInteriorPoints, 0, flatInteriorPoints.length, 2); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.drawCircle = function(geometry, data) { + var context = this.context_; + var replayGroup = new GVol.render.webgl.ReplayGroup(1, this.extent_); + var replay = /** @type {GVol.render.webgl.CircleReplay} */ ( + replayGroup.getReplay(0, GVol.render.ReplayType.CIRCLE)); + replay.setFillStrokeStyle(this.fillStyle_, this.strokeStyle_); + replay.drawCircle(geometry, data); + replay.finish(context); + var opacity = 1; + var skippedFeatures = {}; + var featureCallback; + var oneByOne = false; + replay.replay(this.context_, this.center_, this.resGVolution_, this.rotation_, + this.size_, this.pixelRatio_, opacity, skippedFeatures, featureCallback, + oneByOne); + replay.getDeleteResourcesFunction(context)(); + + if (this.textStyle_) { + this.drawText_(replayGroup, geometry.getCenter(), 0, 2, 2); + } + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.setImageStyle = function(imageStyle) { + this.imageStyle_ = imageStyle; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { + this.fillStyle_ = fillStyle; + this.strokeStyle_ = strokeStyle; + }; + + + /** + * @inheritDoc + */ + GVol.render.webgl.Immediate.prototype.setTextStyle = function(textStyle) { + this.textStyle_ = textStyle; + }; + +} + +goog.provide('GVol.structs.LRUCache'); + +goog.require('GVol.asserts'); + + +/** + * Implements a Least-Recently-Used cache where the keys do not conflict with + * Object's properties (e.g. 'hasOwnProperty' is not allowed as a key). Expiring + * items from the cache is the responsibility of the user. + * @constructor + * @struct + * @template T + */ +GVol.structs.LRUCache = function() { + + /** + * @private + * @type {number} + */ + this.count_ = 0; + + /** + * @private + * @type {!Object.<string, GVol.LRUCacheEntry>} + */ + this.entries_ = {}; + + /** + * @private + * @type {?GVol.LRUCacheEntry} + */ + this.GVoldest_ = null; + + /** + * @private + * @type {?GVol.LRUCacheEntry} + */ + this.newest_ = null; + +}; + + +/** + * FIXME empty description for jsdoc + */ +GVol.structs.LRUCache.prototype.clear = function() { + this.count_ = 0; + this.entries_ = {}; + this.GVoldest_ = null; + this.newest_ = null; +}; + + +/** + * @param {string} key Key. + * @return {boGVolean} Contains key. + */ +GVol.structs.LRUCache.prototype.containsKey = function(key) { + return this.entries_.hasOwnProperty(key); +}; + + +/** + * @param {function(this: S, T, string, GVol.structs.LRUCache): ?} f The function + * to call for every entry from the GVoldest to the newer. This function takes + * 3 arguments (the entry value, the entry key and the LRUCache object). + * The return value is ignored. + * @param {S=} opt_this The object to use as `this` in `f`. + * @template S + */ +GVol.structs.LRUCache.prototype.forEach = function(f, opt_this) { + var entry = this.GVoldest_; + while (entry) { + f.call(opt_this, entry.value_, entry.key_, this); + entry = entry.newer; + } +}; + + +/** + * @param {string} key Key. + * @return {T} Value. + */ +GVol.structs.LRUCache.prototype.get = function(key) { + var entry = this.entries_[key]; + GVol.asserts.assert(entry !== undefined, + 15); // Tried to get a value for a key that does not exist in the cache + if (entry === this.newest_) { + return entry.value_; + } else if (entry === this.GVoldest_) { + this.GVoldest_ = /** @type {GVol.LRUCacheEntry} */ (this.GVoldest_.newer); + this.GVoldest_.GVolder = null; + } else { + entry.newer.GVolder = entry.GVolder; + entry.GVolder.newer = entry.newer; + } + entry.newer = null; + entry.GVolder = this.newest_; + this.newest_.newer = entry; + this.newest_ = entry; + return entry.value_; +}; + + +/** + * @return {number} Count. + */ +GVol.structs.LRUCache.prototype.getCount = function() { + return this.count_; +}; + + +/** + * @return {Array.<string>} Keys. + */ +GVol.structs.LRUCache.prototype.getKeys = function() { + var keys = new Array(this.count_); + var i = 0; + var entry; + for (entry = this.newest_; entry; entry = entry.GVolder) { + keys[i++] = entry.key_; + } + return keys; +}; + + +/** + * @return {Array.<T>} Values. + */ +GVol.structs.LRUCache.prototype.getValues = function() { + var values = new Array(this.count_); + var i = 0; + var entry; + for (entry = this.newest_; entry; entry = entry.GVolder) { + values[i++] = entry.value_; + } + return values; +}; + + +/** + * @return {T} Last value. + */ +GVol.structs.LRUCache.prototype.peekLast = function() { + return this.GVoldest_.value_; +}; + + +/** + * @return {string} Last key. + */ +GVol.structs.LRUCache.prototype.peekLastKey = function() { + return this.GVoldest_.key_; +}; + + +/** + * @return {T} value Value. + */ +GVol.structs.LRUCache.prototype.pop = function() { + var entry = this.GVoldest_; + delete this.entries_[entry.key_]; + if (entry.newer) { + entry.newer.GVolder = null; + } + this.GVoldest_ = /** @type {GVol.LRUCacheEntry} */ (entry.newer); + if (!this.GVoldest_) { + this.newest_ = null; + } + --this.count_; + return entry.value_; +}; + + +/** + * @param {string} key Key. + * @param {T} value Value. + */ +GVol.structs.LRUCache.prototype.replace = function(key, value) { + this.get(key); // update `newest_` + this.entries_[key].value_ = value; +}; + + +/** + * @param {string} key Key. + * @param {T} value Value. + */ +GVol.structs.LRUCache.prototype.set = function(key, value) { + GVol.asserts.assert(!(key in this.entries_), + 16); // Tried to set a value for a key that is used already + var entry = /** @type {GVol.LRUCacheEntry} */ ({ + key_: key, + newer: null, + GVolder: this.newest_, + value_: value + }); + if (!this.newest_) { + this.GVoldest_ = entry; + } else { + this.newest_.newer = entry; + } + this.newest_ = entry; + this.entries_[key] = entry; + ++this.count_; +}; + +// FIXME check against gl.getParameter(webgl.MAX_TEXTURE_SIZE) + +goog.provide('GVol.renderer.webgl.Map'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.css'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.layer.Layer'); +goog.require('GVol.render.Event'); +goog.require('GVol.render.EventType'); +goog.require('GVol.render.webgl.Immediate'); +goog.require('GVol.renderer.Map'); +goog.require('GVol.renderer.Type'); +goog.require('GVol.source.State'); +goog.require('GVol.structs.LRUCache'); +goog.require('GVol.structs.PriorityQueue'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Context'); +goog.require('GVol.webgl.ContextEventType'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.renderer.Map} + * @param {Element} container Container. + * @param {GVol.Map} map Map. + */ + GVol.renderer.webgl.Map = function(container, map) { + GVol.renderer.Map.call(this, container, map); + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = /** @type {HTMLCanvasElement} */ + (document.createElement('CANVAS')); + this.canvas_.style.width = '100%'; + this.canvas_.style.height = '100%'; + this.canvas_.style.display = 'block'; + this.canvas_.className = GVol.css.CLASS_UNSELECTABLE; + container.insertBefore(this.canvas_, container.childNodes[0] || null); + + /** + * @private + * @type {number} + */ + this.clipTileCanvasWidth_ = 0; + + /** + * @private + * @type {number} + */ + this.clipTileCanvasHeight_ = 0; + + /** + * @private + * @type {CanvasRenderingContext2D} + */ + this.clipTileContext_ = GVol.dom.createCanvasContext2D(); + + /** + * @private + * @type {boGVolean} + */ + this.renderedVisible_ = true; + + /** + * @private + * @type {WebGLRenderingContext} + */ + this.gl_ = GVol.webgl.getContext(this.canvas_, { + antialias: true, + depth: true, + failIfMajorPerformanceCaveat: true, + preserveDrawingBuffer: false, + stencil: true + }); + + /** + * @private + * @type {GVol.webgl.Context} + */ + this.context_ = new GVol.webgl.Context(this.canvas_, this.gl_); + + GVol.events.listen(this.canvas_, GVol.webgl.ContextEventType.LOST, + this.handleWebGLContextLost, this); + GVol.events.listen(this.canvas_, GVol.webgl.ContextEventType.RESTORED, + this.handleWebGLContextRestored, this); + + /** + * @private + * @type {GVol.structs.LRUCache.<GVol.WebglTextureCacheEntry|null>} + */ + this.textureCache_ = new GVol.structs.LRUCache(); + + /** + * @private + * @type {GVol.Coordinate} + */ + this.focus_ = null; + + /** + * @private + * @type {GVol.structs.PriorityQueue.<Array>} + */ + this.tileTextureQueue_ = new GVol.structs.PriorityQueue( + /** + * @param {Array.<*>} element Element. + * @return {number} Priority. + * @this {GVol.renderer.webgl.Map} + */ + (function(element) { + var tileCenter = /** @type {GVol.Coordinate} */ (element[1]); + var tileResGVolution = /** @type {number} */ (element[2]); + var deltaX = tileCenter[0] - this.focus_[0]; + var deltaY = tileCenter[1] - this.focus_[1]; + return 65536 * Math.log(tileResGVolution) + + Math.sqrt(deltaX * deltaX + deltaY * deltaY) / tileResGVolution; + }).bind(this), + /** + * @param {Array.<*>} element Element. + * @return {string} Key. + */ + function(element) { + return /** @type {GVol.Tile} */ (element[0]).getKey(); + }); + + + /** + * @param {GVol.Map} map Map. + * @param {?GVolx.FrameState} frameState Frame state. + * @return {boGVolean} false. + * @this {GVol.renderer.webgl.Map} + */ + this.loadNextTileTexture_ = + function(map, frameState) { + if (!this.tileTextureQueue_.isEmpty()) { + this.tileTextureQueue_.reprioritize(); + var element = this.tileTextureQueue_.dequeue(); + var tile = /** @type {GVol.Tile} */ (element[0]); + var tileSize = /** @type {GVol.Size} */ (element[3]); + var tileGutter = /** @type {number} */ (element[4]); + this.bindTileTexture( + tile, tileSize, tileGutter, GVol.webgl.LINEAR, GVol.webgl.LINEAR); + } + return false; + }.bind(this); + + + /** + * @private + * @type {number} + */ + this.textureCacheFrameMarkerCount_ = 0; + + this.initializeGL_(); + }; + GVol.inherits(GVol.renderer.webgl.Map, GVol.renderer.Map); + + + /** + * @param {GVol.Tile} tile Tile. + * @param {GVol.Size} tileSize Tile size. + * @param {number} tileGutter Tile gutter. + * @param {number} magFilter Mag filter. + * @param {number} minFilter Min filter. + */ + GVol.renderer.webgl.Map.prototype.bindTileTexture = function(tile, tileSize, tileGutter, magFilter, minFilter) { + var gl = this.getGL(); + var tileKey = tile.getKey(); + if (this.textureCache_.containsKey(tileKey)) { + var textureCacheEntry = this.textureCache_.get(tileKey); + gl.bindTexture(GVol.webgl.TEXTURE_2D, textureCacheEntry.texture); + if (textureCacheEntry.magFilter != magFilter) { + gl.texParameteri( + GVol.webgl.TEXTURE_2D, GVol.webgl.TEXTURE_MAG_FILTER, magFilter); + textureCacheEntry.magFilter = magFilter; + } + if (textureCacheEntry.minFilter != minFilter) { + gl.texParameteri( + GVol.webgl.TEXTURE_2D, GVol.webgl.TEXTURE_MIN_FILTER, minFilter); + textureCacheEntry.minFilter = minFilter; + } + } else { + var texture = gl.createTexture(); + gl.bindTexture(GVol.webgl.TEXTURE_2D, texture); + if (tileGutter > 0) { + var clipTileCanvas = this.clipTileContext_.canvas; + var clipTileContext = this.clipTileContext_; + if (this.clipTileCanvasWidth_ !== tileSize[0] || + this.clipTileCanvasHeight_ !== tileSize[1]) { + clipTileCanvas.width = tileSize[0]; + clipTileCanvas.height = tileSize[1]; + this.clipTileCanvasWidth_ = tileSize[0]; + this.clipTileCanvasHeight_ = tileSize[1]; + } else { + clipTileContext.clearRect(0, 0, tileSize[0], tileSize[1]); + } + clipTileContext.drawImage(tile.getImage(), tileGutter, tileGutter, + tileSize[0], tileSize[1], 0, 0, tileSize[0], tileSize[1]); + gl.texImage2D(GVol.webgl.TEXTURE_2D, 0, + GVol.webgl.RGBA, GVol.webgl.RGBA, + GVol.webgl.UNSIGNED_BYTE, clipTileCanvas); + } else { + gl.texImage2D(GVol.webgl.TEXTURE_2D, 0, + GVol.webgl.RGBA, GVol.webgl.RGBA, + GVol.webgl.UNSIGNED_BYTE, tile.getImage()); + } + gl.texParameteri( + GVol.webgl.TEXTURE_2D, GVol.webgl.TEXTURE_MAG_FILTER, magFilter); + gl.texParameteri( + GVol.webgl.TEXTURE_2D, GVol.webgl.TEXTURE_MIN_FILTER, minFilter); + gl.texParameteri(GVol.webgl.TEXTURE_2D, GVol.webgl.TEXTURE_WRAP_S, + GVol.webgl.CLAMP_TO_EDGE); + gl.texParameteri(GVol.webgl.TEXTURE_2D, GVol.webgl.TEXTURE_WRAP_T, + GVol.webgl.CLAMP_TO_EDGE); + this.textureCache_.set(tileKey, { + texture: texture, + magFilter: magFilter, + minFilter: minFilter + }); + } + }; + + + /** + * @param {GVol.render.EventType} type Event type. + * @param {GVolx.FrameState} frameState Frame state. + * @private + */ + GVol.renderer.webgl.Map.prototype.dispatchComposeEvent_ = function(type, frameState) { + var map = this.getMap(); + if (map.hasListener(type)) { + var context = this.context_; + + var extent = frameState.extent; + var size = frameState.size; + var viewState = frameState.viewState; + var pixelRatio = frameState.pixelRatio; + + var resGVolution = viewState.resGVolution; + var center = viewState.center; + var rotation = viewState.rotation; + + var vectorContext = new GVol.render.webgl.Immediate(context, + center, resGVolution, rotation, size, extent, pixelRatio); + var composeEvent = new GVol.render.Event(type, vectorContext, + frameState, null, context); + map.dispatchEvent(composeEvent); + } + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.Map.prototype.disposeInternal = function() { + var gl = this.getGL(); + if (!gl.isContextLost()) { + this.textureCache_.forEach( + /** + * @param {?GVol.WebglTextureCacheEntry} textureCacheEntry + * Texture cache entry. + */ + function(textureCacheEntry) { + if (textureCacheEntry) { + gl.deleteTexture(textureCacheEntry.texture); + } + }); + } + this.context_.dispose(); + GVol.renderer.Map.prototype.disposeInternal.call(this); + }; + + + /** + * @param {GVol.Map} map Map. + * @param {GVolx.FrameState} frameState Frame state. + * @private + */ + GVol.renderer.webgl.Map.prototype.expireCache_ = function(map, frameState) { + var gl = this.getGL(); + var textureCacheEntry; + while (this.textureCache_.getCount() - this.textureCacheFrameMarkerCount_ > + GVol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK) { + textureCacheEntry = this.textureCache_.peekLast(); + if (!textureCacheEntry) { + if (+this.textureCache_.peekLastKey() == frameState.index) { + break; + } else { + --this.textureCacheFrameMarkerCount_; + } + } else { + gl.deleteTexture(textureCacheEntry.texture); + } + this.textureCache_.pop(); + } + }; + + + /** + * @return {GVol.webgl.Context} The context. + */ + GVol.renderer.webgl.Map.prototype.getContext = function() { + return this.context_; + }; + + + /** + * @return {WebGLRenderingContext} GL. + */ + GVol.renderer.webgl.Map.prototype.getGL = function() { + return this.gl_; + }; + + + /** + * @return {GVol.structs.PriorityQueue.<Array>} Tile texture queue. + */ + GVol.renderer.webgl.Map.prototype.getTileTextureQueue = function() { + return this.tileTextureQueue_; + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.Map.prototype.getType = function() { + return GVol.renderer.Type.WEBGL; + }; + + + /** + * @param {GVol.events.Event} event Event. + * @protected + */ + GVol.renderer.webgl.Map.prototype.handleWebGLContextLost = function(event) { + event.preventDefault(); + this.textureCache_.clear(); + this.textureCacheFrameMarkerCount_ = 0; + + var renderers = this.getLayerRenderers(); + for (var id in renderers) { + var renderer = /** @type {GVol.renderer.webgl.Layer} */ (renderers[id]); + renderer.handleWebGLContextLost(); + } + }; + + + /** + * @protected + */ + GVol.renderer.webgl.Map.prototype.handleWebGLContextRestored = function() { + this.initializeGL_(); + this.getMap().render(); + }; + + + /** + * @private + */ + GVol.renderer.webgl.Map.prototype.initializeGL_ = function() { + var gl = this.gl_; + gl.activeTexture(GVol.webgl.TEXTURE0); + gl.blendFuncSeparate( + GVol.webgl.SRC_ALPHA, GVol.webgl.ONE_MINUS_SRC_ALPHA, + GVol.webgl.ONE, GVol.webgl.ONE_MINUS_SRC_ALPHA); + gl.disable(GVol.webgl.CULL_FACE); + gl.disable(GVol.webgl.DEPTH_TEST); + gl.disable(GVol.webgl.SCISSOR_TEST); + gl.disable(GVol.webgl.STENCIL_TEST); + }; + + + /** + * @param {GVol.Tile} tile Tile. + * @return {boGVolean} Is tile texture loaded. + */ + GVol.renderer.webgl.Map.prototype.isTileTextureLoaded = function(tile) { + return this.textureCache_.containsKey(tile.getKey()); + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.Map.prototype.renderFrame = function(frameState) { + + var context = this.getContext(); + var gl = this.getGL(); + + if (gl.isContextLost()) { + return false; + } + + if (!frameState) { + if (this.renderedVisible_) { + this.canvas_.style.display = 'none'; + this.renderedVisible_ = false; + } + return false; + } + + this.focus_ = frameState.focus; + + this.textureCache_.set((-frameState.index).toString(), null); + ++this.textureCacheFrameMarkerCount_; + + this.dispatchComposeEvent_(GVol.render.EventType.PRECOMPOSE, frameState); + + /** @type {Array.<GVol.LayerState>} */ + var layerStatesToDraw = []; + var layerStatesArray = frameState.layerStatesArray; + GVol.array.stableSort(layerStatesArray, GVol.renderer.Map.sortByZIndex); + + var viewResGVolution = frameState.viewState.resGVolution; + var i, ii, layerRenderer, layerState; + for (i = 0, ii = layerStatesArray.length; i < ii; ++i) { + layerState = layerStatesArray[i]; + if (GVol.layer.Layer.visibleAtResGVolution(layerState, viewResGVolution) && + layerState.sourceState == GVol.source.State.READY) { + layerRenderer = /** @type {GVol.renderer.webgl.Layer} */ (this.getLayerRenderer(layerState.layer)); + if (layerRenderer.prepareFrame(frameState, layerState, context)) { + layerStatesToDraw.push(layerState); + } + } + } + + var width = frameState.size[0] * frameState.pixelRatio; + var height = frameState.size[1] * frameState.pixelRatio; + if (this.canvas_.width != width || this.canvas_.height != height) { + this.canvas_.width = width; + this.canvas_.height = height; + } + + gl.bindFramebuffer(GVol.webgl.FRAMEBUFFER, null); + + gl.clearCGVolor(0, 0, 0, 0); + gl.clear(GVol.webgl.COLOR_BUFFER_BIT); + gl.enable(GVol.webgl.BLEND); + gl.viewport(0, 0, this.canvas_.width, this.canvas_.height); + + for (i = 0, ii = layerStatesToDraw.length; i < ii; ++i) { + layerState = layerStatesToDraw[i]; + layerRenderer = /** @type {GVol.renderer.webgl.Layer} */ (this.getLayerRenderer(layerState.layer)); + layerRenderer.composeFrame(frameState, layerState, context); + } + + if (!this.renderedVisible_) { + this.canvas_.style.display = ''; + this.renderedVisible_ = true; + } + + this.calculateMatrices2D(frameState); + + if (this.textureCache_.getCount() - this.textureCacheFrameMarkerCount_ > + GVol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK) { + frameState.postRenderFunctions.push( + /** @type {GVol.PostRenderFunction} */ (this.expireCache_.bind(this)) + ); + } + + if (!this.tileTextureQueue_.isEmpty()) { + frameState.postRenderFunctions.push(this.loadNextTileTexture_); + frameState.animate = true; + } + + this.dispatchComposeEvent_(GVol.render.EventType.POSTCOMPOSE, frameState); + + this.scheduleRemoveUnusedLayerRenderers(frameState); + this.scheduleExpireIconCache(frameState); + + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.Map.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTGVolerance, callback, thisArg, + layerFilter, thisArg2) { + var result; + + if (this.getGL().isContextLost()) { + return false; + } + + var viewState = frameState.viewState; + + var layerStates = frameState.layerStatesArray; + var numLayers = layerStates.length; + var i; + for (i = numLayers - 1; i >= 0; --i) { + var layerState = layerStates[i]; + var layer = layerState.layer; + if (GVol.layer.Layer.visibleAtResGVolution(layerState, viewState.resGVolution) && + layerFilter.call(thisArg2, layer)) { + var layerRenderer = this.getLayerRenderer(layer); + result = layerRenderer.forEachFeatureAtCoordinate( + coordinate, frameState, hitTGVolerance, callback, thisArg); + if (result) { + return result; + } + } + } + return undefined; + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.Map.prototype.hasFeatureAtCoordinate = function(coordinate, frameState, hitTGVolerance, layerFilter, thisArg) { + var hasFeature = false; + + if (this.getGL().isContextLost()) { + return false; + } + + var viewState = frameState.viewState; + + var layerStates = frameState.layerStatesArray; + var numLayers = layerStates.length; + var i; + for (i = numLayers - 1; i >= 0; --i) { + var layerState = layerStates[i]; + var layer = layerState.layer; + if (GVol.layer.Layer.visibleAtResGVolution(layerState, viewState.resGVolution) && + layerFilter.call(thisArg, layer)) { + var layerRenderer = this.getLayerRenderer(layer); + hasFeature = + layerRenderer.hasFeatureAtCoordinate(coordinate, frameState); + if (hasFeature) { + return true; + } + } + } + return hasFeature; + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.Map.prototype.forEachLayerAtPixel = function(pixel, frameState, callback, thisArg, + layerFilter, thisArg2) { + if (this.getGL().isContextLost()) { + return false; + } + + var viewState = frameState.viewState; + var result; + + var layerStates = frameState.layerStatesArray; + var numLayers = layerStates.length; + var i; + for (i = numLayers - 1; i >= 0; --i) { + var layerState = layerStates[i]; + var layer = layerState.layer; + if (GVol.layer.Layer.visibleAtResGVolution(layerState, viewState.resGVolution) && + layerFilter.call(thisArg, layer)) { + var layerRenderer = /** @type {GVol.renderer.webgl.Layer} */ (this.getLayerRenderer(layer)); + result = layerRenderer.forEachLayerAtPixel( + pixel, frameState, callback, thisArg); + if (result) { + return result; + } + } + } + return undefined; + }; + +} + +// FIXME recheck layer/map projection compatibility when projection changes +// FIXME layer renderers should skip when they can't reproject +// FIXME add tilt and height? + +goog.provide('GVol.Map'); + +goog.require('GVol'); +goog.require('GVol.CGVollection'); +goog.require('GVol.CGVollectionEventType'); +goog.require('GVol.MapBrowserEvent'); +goog.require('GVol.MapBrowserEventHandler'); +goog.require('GVol.MapBrowserEventType'); +goog.require('GVol.MapEvent'); +goog.require('GVol.MapEventType'); +goog.require('GVol.MapProperty'); +goog.require('GVol.Object'); +goog.require('GVol.ObjectEventType'); +goog.require('GVol.TileQueue'); +goog.require('GVol.View'); +goog.require('GVol.ViewHint'); +goog.require('GVol.asserts'); +goog.require('GVol.contrGVol'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.functions'); +goog.require('GVol.has'); +goog.require('GVol.interaction'); +goog.require('GVol.layer.Group'); +goog.require('GVol.obj'); +goog.require('GVol.renderer.Map'); +goog.require('GVol.renderer.Type'); +goog.require('GVol.renderer.canvas.Map'); +goog.require('GVol.renderer.webgl.Map'); +goog.require('GVol.size'); +goog.require('GVol.structs.PriorityQueue'); +goog.require('GVol.transform'); + + +/** + * @const + * @type {string} + */ +GVol.OL_URL = 'https://openlayers.org/'; + + +/** + * @const + * @type {string} + */ +GVol.OL_LOGO_URL = 'data:image/png;base64,' + + 'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBI' + + 'WXMAAAHGAAABxgEXwfpGAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAA' + + 'AhNQTFRF////AP//AICAgP//AFVVQECA////K1VVSbbbYL/fJ05idsTYJFtbbcjbJllmZszW' + + 'WMTOIFhoHlNiZszTa9DdUcHNHlNlV8XRIVdiasrUHlZjIVZjaMnVH1RlIFRkH1RkH1ZlasvY' + + 'asvXVsPQH1VkacnVa8vWIVZjIFRjVMPQa8rXIVVkXsXRsNveIFVkIFZlIVVj3eDeh6GmbMvX' + + 'H1ZkIFRka8rWbMvXIFVkIFVjIFVkbMvWH1VjbMvWIFVlbcvWIFVla8vVIFVkbMvWbMvVH1Vk' + + 'bMvWIFVlbcvWIFVkbcvVbMvWjNPbIFVkU8LPwMzNIFVkbczWIFVkbsvWbMvXIFVkRnB8bcvW' + + '2+TkW8XRIFVkIlZlJVloJlpoKlxrLl9tMmJwOWd0Omh1RXF8TneCT3iDUHiDU8LPVMLPVcLP' + + 'VcPQVsPPVsPQV8PQWMTQWsTQW8TQXMXSXsXRX4SNX8bSYMfTYcfTYsfTY8jUZcfSZsnUaIqT' + + 'acrVasrVa8jTa8rWbI2VbMvWbcvWdJObdcvUdszUd8vVeJaee87Yfc3WgJyjhqGnitDYjaar' + + 'ldPZnrK2oNbborW5o9bbo9fbpLa6q9ndrL3ArtndscDDutzfu8fJwN7gwt7gxc/QyuHhy+Hi' + + 'zeHi0NfX0+Pj19zb1+Tj2uXk29/e3uLg3+Lh3+bl4uXj4ufl4+fl5Ofl5ufl5ujm5+jmySDn' + + 'BAAAAFp0Uk5TAAECAgMEBAYHCA0NDg4UGRogIiMmKSssLzU7PkJJT1JTVFliY2hrdHZ3foSF' + + 'hYeJjY2QkpugqbG1tre5w8zQ09XY3uXn6+zx8vT09vf4+Pj5+fr6/P39/f3+gz7SsAAAAVVJ' + + 'REFUOMtjYKA7EBDnwCPLrObS1BRiLoJLnte6CQy8FLHLCzs2QUG4FjZ5GbcmBDDjxJBXDWxC' + + 'Brb8aM4zbkIDzpLYnAcE9VXlJSWlZRU13koIeW57mGx5XjoMZEUqwxWYQaQbSzLSkYGfKFSe' + + '0QMsX5WbjgY0YS4MBplemI4BdGBW+DQ11eZiymfqQuXZIjqwyadPNoSZ4L+0FVM6e+oGI6g8' + + 'a9iKNT3o8kVzNkzRg5lgl7p4wyRUL9Yt2jAxVh6mQCogae6GmflI8p0r13VFWTHBQ0rWPW7a' + + 'hgWVcPm+9cuLoyy4kCJDzCm6d8PSFoh0zvQNC5OjDJhQopPPJqph1doJBUD5tnkbZiUEqaCn' + + 'B3bTqLTFG1bPn71kw4b+GFdpLElKIzRxxgYgWNYc5SCENVHKeUaltHdXx0dZ8uBI1hJ2UUDg' + + 'q82CM2MwKeibqAvSO7MCABq0wXEPiqWEAAAAAElFTkSuQmCC'; + + +/** + * @type {Array.<GVol.renderer.Type>} + * @const + */ +GVol.DEFAULT_RENDERER_TYPES = [ + GVol.renderer.Type.CANVAS, + GVol.renderer.Type.WEBGL +]; + + +/** + * @classdesc + * The map is the core component of OpenLayers. For a map to render, a view, + * one or more layers, and a target container are needed: + * + * var map = new GVol.Map({ + * view: new GVol.View({ + * center: [0, 0], + * zoom: 1 + * }), + * layers: [ + * new GVol.layer.Tile({ + * source: new GVol.source.OSM() + * }) + * ], + * target: 'map' + * }); + * + * The above snippet creates a map using a {@link GVol.layer.Tile} to display + * {@link GVol.source.OSM} OSM data and render it to a DOM element with the + * id `map`. + * + * The constructor places a viewport container (with CSS class name + * `GVol-viewport`) in the target element (see `getViewport()`), and then two + * further elements within the viewport: one with CSS class name + * `GVol-overlaycontainer-stopevent` for contrGVols and some overlays, and one with + * CSS class name `GVol-overlaycontainer` for other overlays (see the `stopEvent` + * option of {@link GVol.Overlay} for the difference). The map itself is placed in + * a further element within the viewport. + * + * Layers are stored as a `GVol.CGVollection` in layerGroups. A top-level group is + * provided by the library. This is what is accessed by `getLayerGroup` and + * `setLayerGroup`. Layers entered in the options are added to this group, and + * `addLayer` and `removeLayer` change the layer cGVollection in the group. + * `getLayers` is a convenience function for `getLayerGroup().getLayers()`. + * Note that `GVol.layer.Group` is a subclass of `GVol.layer.Base`, so layers + * entered in the options or added with `addLayer` can be groups, which can + * contain further groups, and so on. + * + * @constructor + * @extends {GVol.Object} + * @param {GVolx.MapOptions} options Map options. + * @fires GVol.MapBrowserEvent + * @fires GVol.MapEvent + * @fires GVol.render.Event#postcompose + * @fires GVol.render.Event#precompose + * @api + */ +GVol.Map = function(options) { + + GVol.Object.call(this); + + var optionsInternal = GVol.Map.createOptionsInternal(options); + + /** + * @type {boGVolean} + * @private + */ + this.loadTilesWhileAnimating_ = + options.loadTilesWhileAnimating !== undefined ? + options.loadTilesWhileAnimating : false; + + /** + * @type {boGVolean} + * @private + */ + this.loadTilesWhileInteracting_ = + options.loadTilesWhileInteracting !== undefined ? + options.loadTilesWhileInteracting : false; + + /** + * @private + * @type {number} + */ + this.pixelRatio_ = options.pixelRatio !== undefined ? + options.pixelRatio : GVol.has.DEVICE_PIXEL_RATIO; + + /** + * @private + * @type {Object.<string, string>} + */ + this.logos_ = optionsInternal.logos; + + /** + * @private + * @type {number|undefined} + */ + this.animationDelayKey_; + + /** + * @private + */ + this.animationDelay_ = function() { + this.animationDelayKey_ = undefined; + this.renderFrame_.call(this, Date.now()); + }.bind(this); + + /** + * @private + * @type {GVol.Transform} + */ + this.coordinateToPixelTransform_ = GVol.transform.create(); + + /** + * @private + * @type {GVol.Transform} + */ + this.pixelToCoordinateTransform_ = GVol.transform.create(); + + /** + * @private + * @type {number} + */ + this.frameIndex_ = 0; + + /** + * @private + * @type {?GVolx.FrameState} + */ + this.frameState_ = null; + + /** + * The extent at the previous 'moveend' event. + * @private + * @type {GVol.Extent} + */ + this.previousExtent_ = null; + + /** + * @private + * @type {?GVol.EventsKey} + */ + this.viewPropertyListenerKey_ = null; + + /** + * @private + * @type {?GVol.EventsKey} + */ + this.viewChangeListenerKey_ = null; + + /** + * @private + * @type {Array.<GVol.EventsKey>} + */ + this.layerGroupPropertyListenerKeys_ = null; + + /** + * @private + * @type {Element} + */ + this.viewport_ = document.createElement('DIV'); + this.viewport_.className = 'GVol-viewport' + (GVol.has.TOUCH ? ' GVol-touch' : ''); + this.viewport_.style.position = 'relative'; + this.viewport_.style.overflow = 'hidden'; + this.viewport_.style.width = '100%'; + this.viewport_.style.height = '100%'; + // prevent page zoom on IE >= 10 browsers + this.viewport_.style.msTouchAction = 'none'; + this.viewport_.style.touchAction = 'none'; + + /** + * @private + * @type {!Element} + */ + this.overlayContainer_ = document.createElement('DIV'); + this.overlayContainer_.className = 'GVol-overlaycontainer'; + this.viewport_.appendChild(this.overlayContainer_); + + /** + * @private + * @type {!Element} + */ + this.overlayContainerStopEvent_ = document.createElement('DIV'); + this.overlayContainerStopEvent_.className = 'GVol-overlaycontainer-stopevent'; + var overlayEvents = [ + GVol.events.EventType.CLICK, + GVol.events.EventType.DBLCLICK, + GVol.events.EventType.MOUSEDOWN, + GVol.events.EventType.TOUCHSTART, + GVol.events.EventType.MSPOINTERDOWN, + GVol.MapBrowserEventType.POINTERDOWN, + GVol.events.EventType.MOUSEWHEEL, + GVol.events.EventType.WHEEL + ]; + for (var i = 0, ii = overlayEvents.length; i < ii; ++i) { + GVol.events.listen(this.overlayContainerStopEvent_, overlayEvents[i], + GVol.events.Event.stopPropagation); + } + this.viewport_.appendChild(this.overlayContainerStopEvent_); + + /** + * @private + * @type {GVol.MapBrowserEventHandler} + */ + this.mapBrowserEventHandler_ = new GVol.MapBrowserEventHandler(this, options.moveTGVolerance); + for (var key in GVol.MapBrowserEventType) { + GVol.events.listen(this.mapBrowserEventHandler_, GVol.MapBrowserEventType[key], + this.handleMapBrowserEvent, this); + } + + /** + * @private + * @type {Element|Document} + */ + this.keyboardEventTarget_ = optionsInternal.keyboardEventTarget; + + /** + * @private + * @type {Array.<GVol.EventsKey>} + */ + this.keyHandlerKeys_ = null; + + GVol.events.listen(this.viewport_, GVol.events.EventType.WHEEL, + this.handleBrowserEvent, this); + GVol.events.listen(this.viewport_, GVol.events.EventType.MOUSEWHEEL, + this.handleBrowserEvent, this); + + /** + * @type {GVol.CGVollection.<GVol.contrGVol.ContrGVol>} + * @private + */ + this.contrGVols_ = optionsInternal.contrGVols; + + /** + * @type {GVol.CGVollection.<GVol.interaction.Interaction>} + * @private + */ + this.interactions_ = optionsInternal.interactions; + + /** + * @type {GVol.CGVollection.<GVol.Overlay>} + * @private + */ + this.overlays_ = optionsInternal.overlays; + + /** + * A lookup of overlays by id. + * @private + * @type {Object.<string, GVol.Overlay>} + */ + this.overlayIdIndex_ = {}; + + /** + * @type {GVol.renderer.Map} + * @private + */ + this.renderer_ = new /** @type {Function} */ (optionsInternal.rendererConstructor)(this.viewport_, this); + + /** + * @type {function(Event)|undefined} + * @private + */ + this.handleResize_; + + /** + * @private + * @type {GVol.Coordinate} + */ + this.focus_ = null; + + /** + * @private + * @type {Array.<GVol.PostRenderFunction>} + */ + this.postRenderFunctions_ = []; + + /** + * @private + * @type {GVol.TileQueue} + */ + this.tileQueue_ = new GVol.TileQueue( + this.getTilePriority.bind(this), + this.handleTileChange_.bind(this)); + + /** + * Uids of features to skip at rendering time. + * @type {Object.<string, boGVolean>} + * @private + */ + this.skippedFeatureUids_ = {}; + + GVol.events.listen( + this, GVol.Object.getChangeEventType(GVol.MapProperty.LAYERGROUP), + this.handleLayerGroupChanged_, this); + GVol.events.listen(this, GVol.Object.getChangeEventType(GVol.MapProperty.VIEW), + this.handleViewChanged_, this); + GVol.events.listen(this, GVol.Object.getChangeEventType(GVol.MapProperty.SIZE), + this.handleSizeChanged_, this); + GVol.events.listen(this, GVol.Object.getChangeEventType(GVol.MapProperty.TARGET), + this.handleTargetChanged_, this); + + // setProperties will trigger the rendering of the map if the map + // is "defined" already. + this.setProperties(optionsInternal.values); + + this.contrGVols_.forEach( + /** + * @param {GVol.contrGVol.ContrGVol} contrGVol ContrGVol. + * @this {GVol.Map} + */ + function(contrGVol) { + contrGVol.setMap(this); + }, this); + + GVol.events.listen(this.contrGVols_, GVol.CGVollectionEventType.ADD, + /** + * @param {GVol.CGVollection.Event} event CGVollection event. + */ + function(event) { + event.element.setMap(this); + }, this); + + GVol.events.listen(this.contrGVols_, GVol.CGVollectionEventType.REMOVE, + /** + * @param {GVol.CGVollection.Event} event CGVollection event. + */ + function(event) { + event.element.setMap(null); + }, this); + + this.interactions_.forEach( + /** + * @param {GVol.interaction.Interaction} interaction Interaction. + * @this {GVol.Map} + */ + function(interaction) { + interaction.setMap(this); + }, this); + + GVol.events.listen(this.interactions_, GVol.CGVollectionEventType.ADD, + /** + * @param {GVol.CGVollection.Event} event CGVollection event. + */ + function(event) { + event.element.setMap(this); + }, this); + + GVol.events.listen(this.interactions_, GVol.CGVollectionEventType.REMOVE, + /** + * @param {GVol.CGVollection.Event} event CGVollection event. + */ + function(event) { + event.element.setMap(null); + }, this); + + this.overlays_.forEach(this.addOverlayInternal_, this); + + GVol.events.listen(this.overlays_, GVol.CGVollectionEventType.ADD, + /** + * @param {GVol.CGVollection.Event} event CGVollection event. + */ + function(event) { + this.addOverlayInternal_(/** @type {GVol.Overlay} */ (event.element)); + }, this); + + GVol.events.listen(this.overlays_, GVol.CGVollectionEventType.REMOVE, + /** + * @param {GVol.CGVollection.Event} event CGVollection event. + */ + function(event) { + var overlay = /** @type {GVol.Overlay} */ (event.element); + var id = overlay.getId(); + if (id !== undefined) { + delete this.overlayIdIndex_[id.toString()]; + } + event.element.setMap(null); + }, this); + +}; +GVol.inherits(GVol.Map, GVol.Object); + + +/** + * Add the given contrGVol to the map. + * @param {GVol.contrGVol.ContrGVol} contrGVol ContrGVol. + * @api + */ +GVol.Map.prototype.addContrGVol = function(contrGVol) { + this.getContrGVols().push(contrGVol); +}; + + +/** + * Add the given interaction to the map. + * @param {GVol.interaction.Interaction} interaction Interaction to add. + * @api + */ +GVol.Map.prototype.addInteraction = function(interaction) { + this.getInteractions().push(interaction); +}; + + +/** + * Adds the given layer to the top of this map. If you want to add a layer + * elsewhere in the stack, use `getLayers()` and the methods available on + * {@link GVol.CGVollection}. + * @param {GVol.layer.Base} layer Layer. + * @api + */ +GVol.Map.prototype.addLayer = function(layer) { + var layers = this.getLayerGroup().getLayers(); + layers.push(layer); +}; + + +/** + * Add the given overlay to the map. + * @param {GVol.Overlay} overlay Overlay. + * @api + */ +GVol.Map.prototype.addOverlay = function(overlay) { + this.getOverlays().push(overlay); +}; + + +/** + * This deals with map's overlay cGVollection changes. + * @param {GVol.Overlay} overlay Overlay. + * @private + */ +GVol.Map.prototype.addOverlayInternal_ = function(overlay) { + var id = overlay.getId(); + if (id !== undefined) { + this.overlayIdIndex_[id.toString()] = overlay; + } + overlay.setMap(this); +}; + + +/** + * + * @inheritDoc + */ +GVol.Map.prototype.disposeInternal = function() { + this.mapBrowserEventHandler_.dispose(); + this.renderer_.dispose(); + GVol.events.unlisten(this.viewport_, GVol.events.EventType.WHEEL, + this.handleBrowserEvent, this); + GVol.events.unlisten(this.viewport_, GVol.events.EventType.MOUSEWHEEL, + this.handleBrowserEvent, this); + if (this.handleResize_ !== undefined) { + window.removeEventListener(GVol.events.EventType.RESIZE, + this.handleResize_, false); + this.handleResize_ = undefined; + } + if (this.animationDelayKey_) { + cancelAnimationFrame(this.animationDelayKey_); + this.animationDelayKey_ = undefined; + } + this.setTarget(null); + GVol.Object.prototype.disposeInternal.call(this); +}; + + +/** + * Detect features that intersect a pixel on the viewport, and execute a + * callback with each intersecting feature. Layers included in the detection can + * be configured through the `layerFilter` option in `opt_options`. + * @param {GVol.Pixel} pixel Pixel. + * @param {function(this: S, (GVol.Feature|GVol.render.Feature), + * GVol.layer.Layer): T} callback Feature callback. The callback will be + * called with two arguments. The first argument is one + * {@link GVol.Feature feature} or + * {@link GVol.render.Feature render feature} at the pixel, the second is + * the {@link GVol.layer.Layer layer} of the feature and will be null for + * unmanaged layers. To stop detection, callback functions can return a + * truthy value. + * @param {GVolx.AtPixelOptions=} opt_options Optional options. + * @return {T|undefined} Callback result, i.e. the return value of last + * callback execution, or the first truthy callback return value. + * @template S,T + * @api + */ +GVol.Map.prototype.forEachFeatureAtPixel = function(pixel, callback, opt_options) { + if (!this.frameState_) { + return; + } + var coordinate = this.getCoordinateFromPixel(pixel); + opt_options = opt_options !== undefined ? opt_options : {}; + var hitTGVolerance = opt_options.hitTGVolerance !== undefined ? + opt_options.hitTGVolerance * this.frameState_.pixelRatio : 0; + var layerFilter = opt_options.layerFilter !== undefined ? + opt_options.layerFilter : GVol.functions.TRUE; + return this.renderer_.forEachFeatureAtCoordinate( + coordinate, this.frameState_, hitTGVolerance, callback, null, + layerFilter, null); +}; + + +/** + * Get all features that intersect a pixel on the viewport. + * @param {GVol.Pixel} pixel Pixel. + * @param {GVolx.AtPixelOptions=} opt_options Optional options. + * @return {Array.<GVol.Feature|GVol.render.Feature>} The detected features or + * `null` if none were found. + * @api + */ +GVol.Map.prototype.getFeaturesAtPixel = function(pixel, opt_options) { + var features = null; + this.forEachFeatureAtPixel(pixel, function(feature) { + if (!features) { + features = []; + } + features.push(feature); + }, opt_options); + return features; +}; + +/** + * Detect layers that have a cGVolor value at a pixel on the viewport, and + * execute a callback with each matching layer. Layers included in the + * detection can be configured through `opt_layerFilter`. + * @param {GVol.Pixel} pixel Pixel. + * @param {function(this: S, GVol.layer.Layer, (Uint8ClampedArray|Uint8Array)): T} callback + * Layer callback. This callback will receive two arguments: first is the + * {@link GVol.layer.Layer layer}, second argument is an array representing + * [R, G, B, A] pixel values (0 - 255) and will be `null` for layer types + * that do not currently support this argument. To stop detection, callback + * functions can return a truthy value. + * @param {S=} opt_this Value to use as `this` when executing `callback`. + * @param {(function(this: U, GVol.layer.Layer): boGVolean)=} opt_layerFilter Layer + * filter function. The filter function will receive one argument, the + * {@link GVol.layer.Layer layer-candidate} and it should return a boGVolean + * value. Only layers which are visible and for which this function returns + * `true` will be tested for features. By default, all visible layers will + * be tested. + * @param {U=} opt_this2 Value to use as `this` when executing `layerFilter`. + * @return {T|undefined} Callback result, i.e. the return value of last + * callback execution, or the first truthy callback return value. + * @template S,T,U + * @api + */ +GVol.Map.prototype.forEachLayerAtPixel = function(pixel, callback, opt_this, opt_layerFilter, opt_this2) { + if (!this.frameState_) { + return; + } + var thisArg = opt_this !== undefined ? opt_this : null; + var layerFilter = opt_layerFilter !== undefined ? + opt_layerFilter : GVol.functions.TRUE; + var thisArg2 = opt_this2 !== undefined ? opt_this2 : null; + return this.renderer_.forEachLayerAtPixel( + pixel, this.frameState_, callback, thisArg, + layerFilter, thisArg2); +}; + + +/** + * Detect if features intersect a pixel on the viewport. Layers included in the + * detection can be configured through `opt_layerFilter`. + * @param {GVol.Pixel} pixel Pixel. + * @param {GVolx.AtPixelOptions=} opt_options Optional options. + * @return {boGVolean} Is there a feature at the given pixel? + * @template U + * @api + */ +GVol.Map.prototype.hasFeatureAtPixel = function(pixel, opt_options) { + if (!this.frameState_) { + return false; + } + var coordinate = this.getCoordinateFromPixel(pixel); + opt_options = opt_options !== undefined ? opt_options : {}; + var layerFilter = opt_options.layerFilter !== undefined ? + opt_options.layerFilter : GVol.functions.TRUE; + var hitTGVolerance = opt_options.hitTGVolerance !== undefined ? + opt_options.hitTGVolerance * this.frameState_.pixelRatio : 0; + return this.renderer_.hasFeatureAtCoordinate( + coordinate, this.frameState_, hitTGVolerance, layerFilter, null); +}; + + +/** + * Returns the coordinate in view projection for a browser event. + * @param {Event} event Event. + * @return {GVol.Coordinate} Coordinate. + * @api + */ +GVol.Map.prototype.getEventCoordinate = function(event) { + return this.getCoordinateFromPixel(this.getEventPixel(event)); +}; + + +/** + * Returns the map pixel position for a browser event relative to the viewport. + * @param {Event} event Event. + * @return {GVol.Pixel} Pixel. + * @api + */ +GVol.Map.prototype.getEventPixel = function(event) { + var viewportPosition = this.viewport_.getBoundingClientRect(); + var eventPosition = event.changedTouches ? event.changedTouches[0] : event; + return [ + eventPosition.clientX - viewportPosition.left, + eventPosition.clientY - viewportPosition.top + ]; +}; + + +/** + * Get the target in which this map is rendered. + * Note that this returns what is entered as an option or in setTarget: + * if that was an element, it returns an element; if a string, it returns that. + * @return {Element|string|undefined} The Element or id of the Element that the + * map is rendered in. + * @observable + * @api + */ +GVol.Map.prototype.getTarget = function() { + return /** @type {Element|string|undefined} */ ( + this.get(GVol.MapProperty.TARGET)); +}; + + +/** + * Get the DOM element into which this map is rendered. In contrast to + * `getTarget` this method always return an `Element`, or `null` if the + * map has no target. + * @return {Element} The element that the map is rendered in. + * @api + */ +GVol.Map.prototype.getTargetElement = function() { + var target = this.getTarget(); + if (target !== undefined) { + return typeof target === 'string' ? + document.getElementById(target) : + target; + } else { + return null; + } +}; + + +/** + * Get the coordinate for a given pixel. This returns a coordinate in the + * map view projection. + * @param {GVol.Pixel} pixel Pixel position in the map viewport. + * @return {GVol.Coordinate} The coordinate for the pixel position. + * @api + */ +GVol.Map.prototype.getCoordinateFromPixel = function(pixel) { + var frameState = this.frameState_; + if (!frameState) { + return null; + } else { + return GVol.transform.apply(frameState.pixelToCoordinateTransform, pixel.slice()); + } +}; + + +/** + * Get the map contrGVols. Modifying this cGVollection changes the contrGVols + * associated with the map. + * @return {GVol.CGVollection.<GVol.contrGVol.ContrGVol>} ContrGVols. + * @api + */ +GVol.Map.prototype.getContrGVols = function() { + return this.contrGVols_; +}; + + +/** + * Get the map overlays. Modifying this cGVollection changes the overlays + * associated with the map. + * @return {GVol.CGVollection.<GVol.Overlay>} Overlays. + * @api + */ +GVol.Map.prototype.getOverlays = function() { + return this.overlays_; +}; + + +/** + * Get an overlay by its identifier (the value returned by overlay.getId()). + * Note that the index treats string and numeric identifiers as the same. So + * `map.getOverlayById(2)` will return an overlay with id `'2'` or `2`. + * @param {string|number} id Overlay identifier. + * @return {GVol.Overlay} Overlay. + * @api + */ +GVol.Map.prototype.getOverlayById = function(id) { + var overlay = this.overlayIdIndex_[id.toString()]; + return overlay !== undefined ? overlay : null; +}; + + +/** + * Get the map interactions. Modifying this cGVollection changes the interactions + * associated with the map. + * + * Interactions are used for e.g. pan, zoom and rotate. + * @return {GVol.CGVollection.<GVol.interaction.Interaction>} Interactions. + * @api + */ +GVol.Map.prototype.getInteractions = function() { + return this.interactions_; +}; + + +/** + * Get the layergroup associated with this map. + * @return {GVol.layer.Group} A layer group containing the layers in this map. + * @observable + * @api + */ +GVol.Map.prototype.getLayerGroup = function() { + return /** @type {GVol.layer.Group} */ (this.get(GVol.MapProperty.LAYERGROUP)); +}; + + +/** + * Get the cGVollection of layers associated with this map. + * @return {!GVol.CGVollection.<GVol.layer.Base>} Layers. + * @api + */ +GVol.Map.prototype.getLayers = function() { + var layers = this.getLayerGroup().getLayers(); + return layers; +}; + + +/** + * Get the pixel for a coordinate. This takes a coordinate in the map view + * projection and returns the corresponding pixel. + * @param {GVol.Coordinate} coordinate A map coordinate. + * @return {GVol.Pixel} A pixel position in the map viewport. + * @api + */ +GVol.Map.prototype.getPixelFromCoordinate = function(coordinate) { + var frameState = this.frameState_; + if (!frameState) { + return null; + } else { + return GVol.transform.apply(frameState.coordinateToPixelTransform, + coordinate.slice(0, 2)); + } +}; + + +/** + * Get the map renderer. + * @return {GVol.renderer.Map} Renderer + */ +GVol.Map.prototype.getRenderer = function() { + return this.renderer_; +}; + + +/** + * Get the size of this map. + * @return {GVol.Size|undefined} The size in pixels of the map in the DOM. + * @observable + * @api + */ +GVol.Map.prototype.getSize = function() { + return /** @type {GVol.Size|undefined} */ (this.get(GVol.MapProperty.SIZE)); +}; + + +/** + * Get the view associated with this map. A view manages properties such as + * center and resGVolution. + * @return {GVol.View} The view that contrGVols this map. + * @observable + * @api + */ +GVol.Map.prototype.getView = function() { + return /** @type {GVol.View} */ (this.get(GVol.MapProperty.VIEW)); +}; + + +/** + * Get the element that serves as the map viewport. + * @return {Element} Viewport. + * @api + */ +GVol.Map.prototype.getViewport = function() { + return this.viewport_; +}; + + +/** + * Get the element that serves as the container for overlays. Elements added to + * this container will let mousedown and touchstart events through to the map, + * so clicks and gestures on an overlay will trigger {@link GVol.MapBrowserEvent} + * events. + * @return {!Element} The map's overlay container. + */ +GVol.Map.prototype.getOverlayContainer = function() { + return this.overlayContainer_; +}; + + +/** + * Get the element that serves as a container for overlays that don't allow + * event propagation. Elements added to this container won't let mousedown and + * touchstart events through to the map, so clicks and gestures on an overlay + * don't trigger any {@link GVol.MapBrowserEvent}. + * @return {!Element} The map's overlay container that stops events. + */ +GVol.Map.prototype.getOverlayContainerStopEvent = function() { + return this.overlayContainerStopEvent_; +}; + + +/** + * @param {GVol.Tile} tile Tile. + * @param {string} tileSourceKey Tile source key. + * @param {GVol.Coordinate} tileCenter Tile center. + * @param {number} tileResGVolution Tile resGVolution. + * @return {number} Tile priority. + */ +GVol.Map.prototype.getTilePriority = function(tile, tileSourceKey, tileCenter, tileResGVolution) { + // Filter out tiles at higher zoom levels than the current zoom level, or that + // are outside the visible extent. + var frameState = this.frameState_; + if (!frameState || !(tileSourceKey in frameState.wantedTiles)) { + return GVol.structs.PriorityQueue.DROP; + } + if (!frameState.wantedTiles[tileSourceKey][tile.getKey()]) { + return GVol.structs.PriorityQueue.DROP; + } + // Prioritize the highest zoom level tiles closest to the focus. + // Tiles at higher zoom levels are prioritized using Math.log(tileResGVolution). + // Within a zoom level, tiles are prioritized by the distance in pixels + // between the center of the tile and the focus. The factor of 65536 means + // that the prioritization should behave as desired for tiles up to + // 65536 * Math.log(2) = 45426 pixels from the focus. + var deltaX = tileCenter[0] - frameState.focus[0]; + var deltaY = tileCenter[1] - frameState.focus[1]; + return 65536 * Math.log(tileResGVolution) + + Math.sqrt(deltaX * deltaX + deltaY * deltaY) / tileResGVolution; +}; + + +/** + * @param {Event} browserEvent Browser event. + * @param {string=} opt_type Type. + */ +GVol.Map.prototype.handleBrowserEvent = function(browserEvent, opt_type) { + var type = opt_type || browserEvent.type; + var mapBrowserEvent = new GVol.MapBrowserEvent(type, this, browserEvent); + this.handleMapBrowserEvent(mapBrowserEvent); +}; + + +/** + * @param {GVol.MapBrowserEvent} mapBrowserEvent The event to handle. + */ +GVol.Map.prototype.handleMapBrowserEvent = function(mapBrowserEvent) { + if (!this.frameState_) { + // With no view defined, we cannot translate pixels into geographical + // coordinates so interactions cannot be used. + return; + } + this.focus_ = mapBrowserEvent.coordinate; + mapBrowserEvent.frameState = this.frameState_; + var interactionsArray = this.getInteractions().getArray(); + var i; + if (this.dispatchEvent(mapBrowserEvent) !== false) { + for (i = interactionsArray.length - 1; i >= 0; i--) { + var interaction = interactionsArray[i]; + if (!interaction.getActive()) { + continue; + } + var cont = interaction.handleEvent(mapBrowserEvent); + if (!cont) { + break; + } + } + } +}; + + +/** + * @protected + */ +GVol.Map.prototype.handlePostRender = function() { + + var frameState = this.frameState_; + + // Manage the tile queue + // Image loads are expensive and a limited resource, so try to use them + // efficiently: + // * When the view is static we allow a large number of parallel tile loads + // to complete the frame as quickly as possible. + // * When animating or interacting, image loads can cause janks, so we reduce + // the maximum number of loads per frame and limit the number of parallel + // tile loads to remain reactive to view changes and to reduce the chance of + // loading tiles that will quickly disappear from view. + var tileQueue = this.tileQueue_; + if (!tileQueue.isEmpty()) { + var maxTotalLoading = 16; + var maxNewLoads = maxTotalLoading; + if (frameState) { + var hints = frameState.viewHints; + if (hints[GVol.ViewHint.ANIMATING]) { + maxTotalLoading = this.loadTilesWhileAnimating_ ? 8 : 0; + maxNewLoads = 2; + } + if (hints[GVol.ViewHint.INTERACTING]) { + maxTotalLoading = this.loadTilesWhileInteracting_ ? 8 : 0; + maxNewLoads = 2; + } + } + if (tileQueue.getTilesLoading() < maxTotalLoading) { + tileQueue.reprioritize(); // FIXME only call if view has changed + tileQueue.loadMoreTiles(maxTotalLoading, maxNewLoads); + } + } + + var postRenderFunctions = this.postRenderFunctions_; + var i, ii; + for (i = 0, ii = postRenderFunctions.length; i < ii; ++i) { + postRenderFunctions[i](this, frameState); + } + postRenderFunctions.length = 0; +}; + + +/** + * @private + */ +GVol.Map.prototype.handleSizeChanged_ = function() { + this.render(); +}; + + +/** + * @private + */ +GVol.Map.prototype.handleTargetChanged_ = function() { + // target may be undefined, null, a string or an Element. + // If it's a string we convert it to an Element before proceeding. + // If it's not now an Element we remove the viewport from the DOM. + // If it's an Element we append the viewport element to it. + + var targetElement; + if (this.getTarget()) { + targetElement = this.getTargetElement(); + } + + if (this.keyHandlerKeys_) { + for (var i = 0, ii = this.keyHandlerKeys_.length; i < ii; ++i) { + GVol.events.unlistenByKey(this.keyHandlerKeys_[i]); + } + this.keyHandlerKeys_ = null; + } + + if (!targetElement) { + GVol.dom.removeNode(this.viewport_); + if (this.handleResize_ !== undefined) { + window.removeEventListener(GVol.events.EventType.RESIZE, + this.handleResize_, false); + this.handleResize_ = undefined; + } + } else { + targetElement.appendChild(this.viewport_); + + var keyboardEventTarget = !this.keyboardEventTarget_ ? + targetElement : this.keyboardEventTarget_; + this.keyHandlerKeys_ = [ + GVol.events.listen(keyboardEventTarget, GVol.events.EventType.KEYDOWN, + this.handleBrowserEvent, this), + GVol.events.listen(keyboardEventTarget, GVol.events.EventType.KEYPRESS, + this.handleBrowserEvent, this) + ]; + + if (!this.handleResize_) { + this.handleResize_ = this.updateSize.bind(this); + window.addEventListener(GVol.events.EventType.RESIZE, + this.handleResize_, false); + } + } + + this.updateSize(); + // updateSize calls setSize, so no need to call this.render + // ourselves here. +}; + + +/** + * @private + */ +GVol.Map.prototype.handleTileChange_ = function() { + this.render(); +}; + + +/** + * @private + */ +GVol.Map.prototype.handleViewPropertyChanged_ = function() { + this.render(); +}; + + +/** + * @private + */ +GVol.Map.prototype.handleViewChanged_ = function() { + if (this.viewPropertyListenerKey_) { + GVol.events.unlistenByKey(this.viewPropertyListenerKey_); + this.viewPropertyListenerKey_ = null; + } + if (this.viewChangeListenerKey_) { + GVol.events.unlistenByKey(this.viewChangeListenerKey_); + this.viewChangeListenerKey_ = null; + } + var view = this.getView(); + if (view) { + this.viewport_.setAttribute('data-view', GVol.getUid(view)); + this.viewPropertyListenerKey_ = GVol.events.listen( + view, GVol.ObjectEventType.PROPERTYCHANGE, + this.handleViewPropertyChanged_, this); + this.viewChangeListenerKey_ = GVol.events.listen( + view, GVol.events.EventType.CHANGE, + this.handleViewPropertyChanged_, this); + } + this.render(); +}; + + +/** + * @private + */ +GVol.Map.prototype.handleLayerGroupChanged_ = function() { + if (this.layerGroupPropertyListenerKeys_) { + this.layerGroupPropertyListenerKeys_.forEach(GVol.events.unlistenByKey); + this.layerGroupPropertyListenerKeys_ = null; + } + var layerGroup = this.getLayerGroup(); + if (layerGroup) { + this.layerGroupPropertyListenerKeys_ = [ + GVol.events.listen( + layerGroup, GVol.ObjectEventType.PROPERTYCHANGE, + this.render, this), + GVol.events.listen( + layerGroup, GVol.events.EventType.CHANGE, + this.render, this) + ]; + } + this.render(); +}; + + +/** + * @return {boGVolean} Is rendered. + */ +GVol.Map.prototype.isRendered = function() { + return !!this.frameState_; +}; + + +/** + * Requests an immediate render in a synchronous manner. + * @api + */ +GVol.Map.prototype.renderSync = function() { + if (this.animationDelayKey_) { + cancelAnimationFrame(this.animationDelayKey_); + } + this.animationDelay_(); +}; + + +/** + * Request a map rendering (at the next animation frame). + * @api + */ +GVol.Map.prototype.render = function() { + if (this.animationDelayKey_ === undefined) { + this.animationDelayKey_ = requestAnimationFrame( + this.animationDelay_); + } +}; + + +/** + * Remove the given contrGVol from the map. + * @param {GVol.contrGVol.ContrGVol} contrGVol ContrGVol. + * @return {GVol.contrGVol.ContrGVol|undefined} The removed contrGVol (or undefined + * if the contrGVol was not found). + * @api + */ +GVol.Map.prototype.removeContrGVol = function(contrGVol) { + return this.getContrGVols().remove(contrGVol); +}; + + +/** + * Remove the given interaction from the map. + * @param {GVol.interaction.Interaction} interaction Interaction to remove. + * @return {GVol.interaction.Interaction|undefined} The removed interaction (or + * undefined if the interaction was not found). + * @api + */ +GVol.Map.prototype.removeInteraction = function(interaction) { + return this.getInteractions().remove(interaction); +}; + + +/** + * Removes the given layer from the map. + * @param {GVol.layer.Base} layer Layer. + * @return {GVol.layer.Base|undefined} The removed layer (or undefined if the + * layer was not found). + * @api + */ +GVol.Map.prototype.removeLayer = function(layer) { + var layers = this.getLayerGroup().getLayers(); + return layers.remove(layer); +}; + + +/** + * Remove the given overlay from the map. + * @param {GVol.Overlay} overlay Overlay. + * @return {GVol.Overlay|undefined} The removed overlay (or undefined + * if the overlay was not found). + * @api + */ +GVol.Map.prototype.removeOverlay = function(overlay) { + return this.getOverlays().remove(overlay); +}; + + +/** + * @param {number} time Time. + * @private + */ +GVol.Map.prototype.renderFrame_ = function(time) { + var i, ii, viewState; + + var size = this.getSize(); + var view = this.getView(); + var extent = GVol.extent.createEmpty(); + var previousFrameState = this.frameState_; + /** @type {?GVolx.FrameState} */ + var frameState = null; + if (size !== undefined && GVol.size.hasArea(size) && view && view.isDef()) { + var viewHints = view.getHints(this.frameState_ ? this.frameState_.viewHints : undefined); + var layerStatesArray = this.getLayerGroup().getLayerStatesArray(); + var layerStates = {}; + for (i = 0, ii = layerStatesArray.length; i < ii; ++i) { + layerStates[GVol.getUid(layerStatesArray[i].layer)] = layerStatesArray[i]; + } + viewState = view.getState(); + frameState = /** @type {GVolx.FrameState} */ ({ + animate: false, + attributions: {}, + coordinateToPixelTransform: this.coordinateToPixelTransform_, + extent: extent, + focus: !this.focus_ ? viewState.center : this.focus_, + index: this.frameIndex_++, + layerStates: layerStates, + layerStatesArray: layerStatesArray, + logos: GVol.obj.assign({}, this.logos_), + pixelRatio: this.pixelRatio_, + pixelToCoordinateTransform: this.pixelToCoordinateTransform_, + postRenderFunctions: [], + size: size, + skippedFeatureUids: this.skippedFeatureUids_, + tileQueue: this.tileQueue_, + time: time, + usedTiles: {}, + viewState: viewState, + viewHints: viewHints, + wantedTiles: {} + }); + } + + if (frameState) { + frameState.extent = GVol.extent.getForViewAndSize(viewState.center, + viewState.resGVolution, viewState.rotation, frameState.size, extent); + } + + this.frameState_ = frameState; + this.renderer_.renderFrame(frameState); + + if (frameState) { + if (frameState.animate) { + this.render(); + } + Array.prototype.push.apply( + this.postRenderFunctions_, frameState.postRenderFunctions); + + if (previousFrameState) { + var moveStart = !this.previousExtent_ || + (!GVol.extent.isEmpty(this.previousExtent_) && + !GVol.extent.equals(frameState.extent, this.previousExtent_)); + if (moveStart) { + this.dispatchEvent( + new GVol.MapEvent(GVol.MapEventType.MOVESTART, this, previousFrameState)); + this.previousExtent_ = GVol.extent.createOrUpdateEmpty(this.previousExtent_); + } + } + + var idle = this.previousExtent_ && + !frameState.viewHints[GVol.ViewHint.ANIMATING] && + !frameState.viewHints[GVol.ViewHint.INTERACTING] && + !GVol.extent.equals(frameState.extent, this.previousExtent_); + + if (idle) { + this.dispatchEvent( + new GVol.MapEvent(GVol.MapEventType.MOVEEND, this, frameState)); + GVol.extent.clone(frameState.extent, this.previousExtent_); + } + } + + this.dispatchEvent( + new GVol.MapEvent(GVol.MapEventType.POSTRENDER, this, frameState)); + + setTimeout(this.handlePostRender.bind(this), 0); + +}; + + +/** + * Sets the layergroup of this map. + * @param {GVol.layer.Group} layerGroup A layer group containing the layers in + * this map. + * @observable + * @api + */ +GVol.Map.prototype.setLayerGroup = function(layerGroup) { + this.set(GVol.MapProperty.LAYERGROUP, layerGroup); +}; + + +/** + * Set the size of this map. + * @param {GVol.Size|undefined} size The size in pixels of the map in the DOM. + * @observable + * @api + */ +GVol.Map.prototype.setSize = function(size) { + this.set(GVol.MapProperty.SIZE, size); +}; + + +/** + * Set the target element to render this map into. + * @param {Element|string|undefined} target The Element or id of the Element + * that the map is rendered in. + * @observable + * @api + */ +GVol.Map.prototype.setTarget = function(target) { + this.set(GVol.MapProperty.TARGET, target); +}; + + +/** + * Set the view for this map. + * @param {GVol.View} view The view that contrGVols this map. + * @observable + * @api + */ +GVol.Map.prototype.setView = function(view) { + this.set(GVol.MapProperty.VIEW, view); +}; + + +/** + * @param {GVol.Feature} feature Feature. + */ +GVol.Map.prototype.skipFeature = function(feature) { + var featureUid = GVol.getUid(feature).toString(); + this.skippedFeatureUids_[featureUid] = true; + this.render(); +}; + + +/** + * Force a recalculation of the map viewport size. This should be called when + * third-party code changes the size of the map viewport. + * @api + */ +GVol.Map.prototype.updateSize = function() { + var targetElement = this.getTargetElement(); + + if (!targetElement) { + this.setSize(undefined); + } else { + var computedStyle = getComputedStyle(targetElement); + this.setSize([ + targetElement.offsetWidth - + parseFloat(computedStyle['borderLeftWidth']) - + parseFloat(computedStyle['paddingLeft']) - + parseFloat(computedStyle['paddingRight']) - + parseFloat(computedStyle['borderRightWidth']), + targetElement.offsetHeight - + parseFloat(computedStyle['borderTopWidth']) - + parseFloat(computedStyle['paddingTop']) - + parseFloat(computedStyle['paddingBottom']) - + parseFloat(computedStyle['borderBottomWidth']) + ]); + } +}; + + +/** + * @param {GVol.Feature} feature Feature. + */ +GVol.Map.prototype.unskipFeature = function(feature) { + var featureUid = GVol.getUid(feature).toString(); + delete this.skippedFeatureUids_[featureUid]; + this.render(); +}; + + +/** + * @param {GVolx.MapOptions} options Map options. + * @return {GVol.MapOptionsInternal} Internal map options. + */ +GVol.Map.createOptionsInternal = function(options) { + + /** + * @type {Element|Document} + */ + var keyboardEventTarget = null; + if (options.keyboardEventTarget !== undefined) { + keyboardEventTarget = typeof options.keyboardEventTarget === 'string' ? + document.getElementById(options.keyboardEventTarget) : + options.keyboardEventTarget; + } + + /** + * @type {Object.<string, *>} + */ + var values = {}; + + var logos = {}; + if (options.logo === undefined || + (typeof options.logo === 'boGVolean' && options.logo)) { + logos[GVol.OL_LOGO_URL] = GVol.OL_URL; + } else { + var logo = options.logo; + if (typeof logo === 'string') { + logos[logo] = ''; + } else if (logo instanceof HTMLElement) { + logos[GVol.getUid(logo).toString()] = logo; + } else if (logo) { + GVol.asserts.assert(typeof logo.href == 'string', 44); // `logo.href` should be a string. + GVol.asserts.assert(typeof logo.src == 'string', 45); // `logo.src` should be a string. + logos[logo.src] = logo.href; + } + } + + var layerGroup = (options.layers instanceof GVol.layer.Group) ? + options.layers : new GVol.layer.Group({layers: options.layers}); + values[GVol.MapProperty.LAYERGROUP] = layerGroup; + + values[GVol.MapProperty.TARGET] = options.target; + + values[GVol.MapProperty.VIEW] = options.view !== undefined ? + options.view : new GVol.View(); + + /** + * @type {function(new: GVol.renderer.Map, Element, GVol.Map)} + */ + var rendererConstructor = GVol.renderer.Map; + + /** + * @type {Array.<GVol.renderer.Type>} + */ + var rendererTypes; + if (options.renderer !== undefined) { + if (Array.isArray(options.renderer)) { + rendererTypes = options.renderer; + } else if (typeof options.renderer === 'string') { + rendererTypes = [options.renderer]; + } else { + GVol.asserts.assert(false, 46); // Incorrect format for `renderer` option + } + if (rendererTypes.indexOf(/** @type {GVol.renderer.Type} */ ('dom')) >= 0) { + rendererTypes = rendererTypes.concat(GVol.DEFAULT_RENDERER_TYPES); + } + } else { + rendererTypes = GVol.DEFAULT_RENDERER_TYPES; + } + + var i, ii; + for (i = 0, ii = rendererTypes.length; i < ii; ++i) { + /** @type {GVol.renderer.Type} */ + var rendererType = rendererTypes[i]; + if (GVol.ENABLE_CANVAS && rendererType == GVol.renderer.Type.CANVAS) { + if (GVol.has.CANVAS) { + rendererConstructor = GVol.renderer.canvas.Map; + break; + } + } else if (GVol.ENABLE_WEBGL && rendererType == GVol.renderer.Type.WEBGL) { + if (GVol.has.WEBGL) { + rendererConstructor = GVol.renderer.webgl.Map; + break; + } + } + } + + var contrGVols; + if (options.contrGVols !== undefined) { + if (Array.isArray(options.contrGVols)) { + contrGVols = new GVol.CGVollection(options.contrGVols.slice()); + } else { + GVol.asserts.assert(options.contrGVols instanceof GVol.CGVollection, + 47); // Expected `contrGVols` to be an array or an `GVol.CGVollection` + contrGVols = options.contrGVols; + } + } else { + contrGVols = GVol.contrGVol.defaults(); + } + + var interactions; + if (options.interactions !== undefined) { + if (Array.isArray(options.interactions)) { + interactions = new GVol.CGVollection(options.interactions.slice()); + } else { + GVol.asserts.assert(options.interactions instanceof GVol.CGVollection, + 48); // Expected `interactions` to be an array or an `GVol.CGVollection` + interactions = options.interactions; + } + } else { + interactions = GVol.interaction.defaults(); + } + + var overlays; + if (options.overlays !== undefined) { + if (Array.isArray(options.overlays)) { + overlays = new GVol.CGVollection(options.overlays.slice()); + } else { + GVol.asserts.assert(options.overlays instanceof GVol.CGVollection, + 49); // Expected `overlays` to be an array or an `GVol.CGVollection` + overlays = options.overlays; + } + } else { + overlays = new GVol.CGVollection(); + } + + return { + contrGVols: contrGVols, + interactions: interactions, + keyboardEventTarget: keyboardEventTarget, + logos: logos, + overlays: overlays, + rendererConstructor: rendererConstructor, + values: values + }; + +}; + +goog.provide('GVol.OverlayPositioning'); + +/** + * Overlay position: `'bottom-left'`, `'bottom-center'`, `'bottom-right'`, + * `'center-left'`, `'center-center'`, `'center-right'`, `'top-left'`, + * `'top-center'`, `'top-right'` + * @enum {string} + */ +GVol.OverlayPositioning = { + BOTTOM_LEFT: 'bottom-left', + BOTTOM_CENTER: 'bottom-center', + BOTTOM_RIGHT: 'bottom-right', + CENTER_LEFT: 'center-left', + CENTER_CENTER: 'center-center', + CENTER_RIGHT: 'center-right', + TOP_LEFT: 'top-left', + TOP_CENTER: 'top-center', + TOP_RIGHT: 'top-right' +}; + +goog.provide('GVol.Overlay'); + +goog.require('GVol'); +goog.require('GVol.MapEventType'); +goog.require('GVol.Object'); +goog.require('GVol.OverlayPositioning'); +goog.require('GVol.css'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.extent'); + + +/** + * @classdesc + * An element to be displayed over the map and attached to a single map + * location. Like {@link GVol.contrGVol.ContrGVol}, Overlays are visible widgets. + * Unlike ContrGVols, they are not in a fixed position on the screen, but are tied + * to a geographical coordinate, so panning the map will move an Overlay but not + * a ContrGVol. + * + * Example: + * + * var popup = new GVol.Overlay({ + * element: document.getElementById('popup') + * }); + * popup.setPosition(coordinate); + * map.addOverlay(popup); + * + * @constructor + * @extends {GVol.Object} + * @param {GVolx.OverlayOptions} options Overlay options. + * @api + */ +GVol.Overlay = function(options) { + + GVol.Object.call(this); + + /** + * @private + * @type {number|string|undefined} + */ + this.id_ = options.id; + + /** + * @private + * @type {boGVolean} + */ + this.insertFirst_ = options.insertFirst !== undefined ? + options.insertFirst : true; + + /** + * @private + * @type {boGVolean} + */ + this.stopEvent_ = options.stopEvent !== undefined ? options.stopEvent : true; + + /** + * @private + * @type {Element} + */ + this.element_ = document.createElement('DIV'); + this.element_.className = 'GVol-overlay-container ' + GVol.css.CLASS_SELECTABLE; + this.element_.style.position = 'absGVolute'; + + /** + * @protected + * @type {boGVolean} + */ + this.autoPan = options.autoPan !== undefined ? options.autoPan : false; + + /** + * @private + * @type {GVolx.OverlayPanOptions} + */ + this.autoPanAnimation_ = options.autoPanAnimation || + /** @type {GVolx.OverlayPanOptions} */ ({}); + + /** + * @private + * @type {number} + */ + this.autoPanMargin_ = options.autoPanMargin !== undefined ? + options.autoPanMargin : 20; + + /** + * @private + * @type {{bottom_: string, + * left_: string, + * right_: string, + * top_: string, + * visible: boGVolean}} + */ + this.rendered_ = { + bottom_: '', + left_: '', + right_: '', + top_: '', + visible: true + }; + + /** + * @private + * @type {?GVol.EventsKey} + */ + this.mapPostrenderListenerKey_ = null; + + GVol.events.listen( + this, GVol.Object.getChangeEventType(GVol.Overlay.Property_.ELEMENT), + this.handleElementChanged, this); + + GVol.events.listen( + this, GVol.Object.getChangeEventType(GVol.Overlay.Property_.MAP), + this.handleMapChanged, this); + + GVol.events.listen( + this, GVol.Object.getChangeEventType(GVol.Overlay.Property_.OFFSET), + this.handleOffsetChanged, this); + + GVol.events.listen( + this, GVol.Object.getChangeEventType(GVol.Overlay.Property_.POSITION), + this.handlePositionChanged, this); + + GVol.events.listen( + this, GVol.Object.getChangeEventType(GVol.Overlay.Property_.POSITIONING), + this.handlePositioningChanged, this); + + if (options.element !== undefined) { + this.setElement(options.element); + } + + this.setOffset(options.offset !== undefined ? options.offset : [0, 0]); + + this.setPositioning(options.positioning !== undefined ? + /** @type {GVol.OverlayPositioning} */ (options.positioning) : + GVol.OverlayPositioning.TOP_LEFT); + + if (options.position !== undefined) { + this.setPosition(options.position); + } + +}; +GVol.inherits(GVol.Overlay, GVol.Object); + + +/** + * Get the DOM element of this overlay. + * @return {Element|undefined} The Element containing the overlay. + * @observable + * @api + */ +GVol.Overlay.prototype.getElement = function() { + return /** @type {Element|undefined} */ ( + this.get(GVol.Overlay.Property_.ELEMENT)); +}; + + +/** + * Get the overlay identifier which is set on constructor. + * @return {number|string|undefined} Id. + * @api + */ +GVol.Overlay.prototype.getId = function() { + return this.id_; +}; + + +/** + * Get the map associated with this overlay. + * @return {GVol.Map|undefined} The map that the overlay is part of. + * @observable + * @api + */ +GVol.Overlay.prototype.getMap = function() { + return /** @type {GVol.Map|undefined} */ ( + this.get(GVol.Overlay.Property_.MAP)); +}; + + +/** + * Get the offset of this overlay. + * @return {Array.<number>} The offset. + * @observable + * @api + */ +GVol.Overlay.prototype.getOffset = function() { + return /** @type {Array.<number>} */ ( + this.get(GVol.Overlay.Property_.OFFSET)); +}; + + +/** + * Get the current position of this overlay. + * @return {GVol.Coordinate|undefined} The spatial point that the overlay is + * anchored at. + * @observable + * @api + */ +GVol.Overlay.prototype.getPosition = function() { + return /** @type {GVol.Coordinate|undefined} */ ( + this.get(GVol.Overlay.Property_.POSITION)); +}; + + +/** + * Get the current positioning of this overlay. + * @return {GVol.OverlayPositioning} How the overlay is positioned + * relative to its point on the map. + * @observable + * @api + */ +GVol.Overlay.prototype.getPositioning = function() { + return /** @type {GVol.OverlayPositioning} */ ( + this.get(GVol.Overlay.Property_.POSITIONING)); +}; + + +/** + * @protected + */ +GVol.Overlay.prototype.handleElementChanged = function() { + GVol.dom.removeChildren(this.element_); + var element = this.getElement(); + if (element) { + this.element_.appendChild(element); + } +}; + + +/** + * @protected + */ +GVol.Overlay.prototype.handleMapChanged = function() { + if (this.mapPostrenderListenerKey_) { + GVol.dom.removeNode(this.element_); + GVol.events.unlistenByKey(this.mapPostrenderListenerKey_); + this.mapPostrenderListenerKey_ = null; + } + var map = this.getMap(); + if (map) { + this.mapPostrenderListenerKey_ = GVol.events.listen(map, + GVol.MapEventType.POSTRENDER, this.render, this); + this.updatePixelPosition(); + var container = this.stopEvent_ ? + map.getOverlayContainerStopEvent() : map.getOverlayContainer(); + if (this.insertFirst_) { + container.insertBefore(this.element_, container.childNodes[0] || null); + } else { + container.appendChild(this.element_); + } + } +}; + + +/** + * @protected + */ +GVol.Overlay.prototype.render = function() { + this.updatePixelPosition(); +}; + + +/** + * @protected + */ +GVol.Overlay.prototype.handleOffsetChanged = function() { + this.updatePixelPosition(); +}; + + +/** + * @protected + */ +GVol.Overlay.prototype.handlePositionChanged = function() { + this.updatePixelPosition(); + if (this.get(GVol.Overlay.Property_.POSITION) && this.autoPan) { + this.panIntoView_(); + } +}; + + +/** + * @protected + */ +GVol.Overlay.prototype.handlePositioningChanged = function() { + this.updatePixelPosition(); +}; + + +/** + * Set the DOM element to be associated with this overlay. + * @param {Element|undefined} element The Element containing the overlay. + * @observable + * @api + */ +GVol.Overlay.prototype.setElement = function(element) { + this.set(GVol.Overlay.Property_.ELEMENT, element); +}; + + +/** + * Set the map to be associated with this overlay. + * @param {GVol.Map|undefined} map The map that the overlay is part of. + * @observable + * @api + */ +GVol.Overlay.prototype.setMap = function(map) { + this.set(GVol.Overlay.Property_.MAP, map); +}; + + +/** + * Set the offset for this overlay. + * @param {Array.<number>} offset Offset. + * @observable + * @api + */ +GVol.Overlay.prototype.setOffset = function(offset) { + this.set(GVol.Overlay.Property_.OFFSET, offset); +}; + + +/** + * Set the position for this overlay. If the position is `undefined` the + * overlay is hidden. + * @param {GVol.Coordinate|undefined} position The spatial point that the overlay + * is anchored at. + * @observable + * @api + */ +GVol.Overlay.prototype.setPosition = function(position) { + this.set(GVol.Overlay.Property_.POSITION, position); +}; + + +/** + * Pan the map so that the overlay is entirely visible in the current viewport + * (if necessary). + * @private + */ +GVol.Overlay.prototype.panIntoView_ = function() { + var map = this.getMap(); + + if (!map || !map.getTargetElement()) { + return; + } + + var mapRect = this.getRect_(map.getTargetElement(), map.getSize()); + var element = /** @type {!Element} */ (this.getElement()); + var overlayRect = this.getRect_(element, + [GVol.dom.outerWidth(element), GVol.dom.outerHeight(element)]); + + var margin = this.autoPanMargin_; + if (!GVol.extent.containsExtent(mapRect, overlayRect)) { + // the overlay is not completely inside the viewport, so pan the map + var offsetLeft = overlayRect[0] - mapRect[0]; + var offsetRight = mapRect[2] - overlayRect[2]; + var offsetTop = overlayRect[1] - mapRect[1]; + var offsetBottom = mapRect[3] - overlayRect[3]; + + var delta = [0, 0]; + if (offsetLeft < 0) { + // move map to the left + delta[0] = offsetLeft - margin; + } else if (offsetRight < 0) { + // move map to the right + delta[0] = Math.abs(offsetRight) + margin; + } + if (offsetTop < 0) { + // move map up + delta[1] = offsetTop - margin; + } else if (offsetBottom < 0) { + // move map down + delta[1] = Math.abs(offsetBottom) + margin; + } + + if (delta[0] !== 0 || delta[1] !== 0) { + var center = /** @type {GVol.Coordinate} */ (map.getView().getCenter()); + var centerPx = map.getPixelFromCoordinate(center); + var newCenterPx = [ + centerPx[0] + delta[0], + centerPx[1] + delta[1] + ]; + + map.getView().animate({ + center: map.getCoordinateFromPixel(newCenterPx), + duration: this.autoPanAnimation_.duration, + easing: this.autoPanAnimation_.easing + }); + } + } +}; + + +/** + * Get the extent of an element relative to the document + * @param {Element|undefined} element The element. + * @param {GVol.Size|undefined} size The size of the element. + * @return {GVol.Extent} The extent. + * @private + */ +GVol.Overlay.prototype.getRect_ = function(element, size) { + var box = element.getBoundingClientRect(); + var offsetX = box.left + window.pageXOffset; + var offsetY = box.top + window.pageYOffset; + return [ + offsetX, + offsetY, + offsetX + size[0], + offsetY + size[1] + ]; +}; + + +/** + * Set the positioning for this overlay. + * @param {GVol.OverlayPositioning} positioning how the overlay is + * positioned relative to its point on the map. + * @observable + * @api + */ +GVol.Overlay.prototype.setPositioning = function(positioning) { + this.set(GVol.Overlay.Property_.POSITIONING, positioning); +}; + + +/** + * Modify the visibility of the element. + * @param {boGVolean} visible Element visibility. + * @protected + */ +GVol.Overlay.prototype.setVisible = function(visible) { + if (this.rendered_.visible !== visible) { + this.element_.style.display = visible ? '' : 'none'; + this.rendered_.visible = visible; + } +}; + + +/** + * Update pixel position. + * @protected + */ +GVol.Overlay.prototype.updatePixelPosition = function() { + var map = this.getMap(); + var position = this.getPosition(); + if (!map || !map.isRendered() || !position) { + this.setVisible(false); + return; + } + + var pixel = map.getPixelFromCoordinate(position); + var mapSize = map.getSize(); + this.updateRenderedPosition(pixel, mapSize); +}; + + +/** + * @param {GVol.Pixel} pixel The pixel location. + * @param {GVol.Size|undefined} mapSize The map size. + * @protected + */ +GVol.Overlay.prototype.updateRenderedPosition = function(pixel, mapSize) { + var style = this.element_.style; + var offset = this.getOffset(); + + var positioning = this.getPositioning(); + + this.setVisible(true); + + var offsetX = offset[0]; + var offsetY = offset[1]; + if (positioning == GVol.OverlayPositioning.BOTTOM_RIGHT || + positioning == GVol.OverlayPositioning.CENTER_RIGHT || + positioning == GVol.OverlayPositioning.TOP_RIGHT) { + if (this.rendered_.left_ !== '') { + this.rendered_.left_ = style.left = ''; + } + var right = Math.round(mapSize[0] - pixel[0] - offsetX) + 'px'; + if (this.rendered_.right_ != right) { + this.rendered_.right_ = style.right = right; + } + } else { + if (this.rendered_.right_ !== '') { + this.rendered_.right_ = style.right = ''; + } + if (positioning == GVol.OverlayPositioning.BOTTOM_CENTER || + positioning == GVol.OverlayPositioning.CENTER_CENTER || + positioning == GVol.OverlayPositioning.TOP_CENTER) { + offsetX -= this.element_.offsetWidth / 2; + } + var left = Math.round(pixel[0] + offsetX) + 'px'; + if (this.rendered_.left_ != left) { + this.rendered_.left_ = style.left = left; + } + } + if (positioning == GVol.OverlayPositioning.BOTTOM_LEFT || + positioning == GVol.OverlayPositioning.BOTTOM_CENTER || + positioning == GVol.OverlayPositioning.BOTTOM_RIGHT) { + if (this.rendered_.top_ !== '') { + this.rendered_.top_ = style.top = ''; + } + var bottom = Math.round(mapSize[1] - pixel[1] - offsetY) + 'px'; + if (this.rendered_.bottom_ != bottom) { + this.rendered_.bottom_ = style.bottom = bottom; + } + } else { + if (this.rendered_.bottom_ !== '') { + this.rendered_.bottom_ = style.bottom = ''; + } + if (positioning == GVol.OverlayPositioning.CENTER_LEFT || + positioning == GVol.OverlayPositioning.CENTER_CENTER || + positioning == GVol.OverlayPositioning.CENTER_RIGHT) { + offsetY -= this.element_.offsetHeight / 2; + } + var top = Math.round(pixel[1] + offsetY) + 'px'; + if (this.rendered_.top_ != top) { + this.rendered_.top_ = style.top = top; + } + } +}; + + +/** + * @enum {string} + * @private + */ +GVol.Overlay.Property_ = { + ELEMENT: 'element', + MAP: 'map', + OFFSET: 'offset', + POSITION: 'position', + POSITIONING: 'positioning' +}; + +goog.provide('GVol.contrGVol.OverviewMap'); + +goog.require('GVol'); +goog.require('GVol.CGVollection'); +goog.require('GVol.Map'); +goog.require('GVol.MapEventType'); +goog.require('GVol.MapProperty'); +goog.require('GVol.Object'); +goog.require('GVol.ObjectEventType'); +goog.require('GVol.Overlay'); +goog.require('GVol.OverlayPositioning'); +goog.require('GVol.ViewProperty'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.coordinate'); +goog.require('GVol.css'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); + + +/** + * Create a new contrGVol with a map acting as an overview map for an other + * defined map. + * @constructor + * @extends {GVol.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.OverviewMapOptions=} opt_options OverviewMap options. + * @api + */ +GVol.contrGVol.OverviewMap = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + /** + * @type {boGVolean} + * @private + */ + this.cGVollapsed_ = options.cGVollapsed !== undefined ? options.cGVollapsed : true; + + /** + * @private + * @type {boGVolean} + */ + this.cGVollapsible_ = options.cGVollapsible !== undefined ? + options.cGVollapsible : true; + + if (!this.cGVollapsible_) { + this.cGVollapsed_ = false; + } + + var className = options.className !== undefined ? options.className : 'GVol-overviewmap'; + + var tipLabel = options.tipLabel !== undefined ? options.tipLabel : 'Overview map'; + + var cGVollapseLabel = options.cGVollapseLabel !== undefined ? options.cGVollapseLabel : '\u00AB'; + + if (typeof cGVollapseLabel === 'string') { + /** + * @private + * @type {Node} + */ + this.cGVollapseLabel_ = document.createElement('span'); + this.cGVollapseLabel_.textContent = cGVollapseLabel; + } else { + this.cGVollapseLabel_ = cGVollapseLabel; + } + + var label = options.label !== undefined ? options.label : '\u00BB'; + + + if (typeof label === 'string') { + /** + * @private + * @type {Node} + */ + this.label_ = document.createElement('span'); + this.label_.textContent = label; + } else { + this.label_ = label; + } + + var activeLabel = (this.cGVollapsible_ && !this.cGVollapsed_) ? + this.cGVollapseLabel_ : this.label_; + var button = document.createElement('button'); + button.setAttribute('type', 'button'); + button.title = tipLabel; + button.appendChild(activeLabel); + + GVol.events.listen(button, GVol.events.EventType.CLICK, + this.handleClick_, this); + + /** + * @type {Element} + * @private + */ + this.ovmapDiv_ = document.createElement('DIV'); + this.ovmapDiv_.className = 'GVol-overviewmap-map'; + + /** + * @type {GVol.Map} + * @private + */ + this.ovmap_ = new GVol.Map({ + contrGVols: new GVol.CGVollection(), + interactions: new GVol.CGVollection(), + view: options.view + }); + var ovmap = this.ovmap_; + + if (options.layers) { + options.layers.forEach( + /** + * @param {GVol.layer.Layer} layer Layer. + */ + function(layer) { + ovmap.addLayer(layer); + }, this); + } + + var box = document.createElement('DIV'); + box.className = 'GVol-overviewmap-box'; + box.style.boxSizing = 'border-box'; + + /** + * @type {GVol.Overlay} + * @private + */ + this.boxOverlay_ = new GVol.Overlay({ + position: [0, 0], + positioning: GVol.OverlayPositioning.BOTTOM_LEFT, + element: box + }); + this.ovmap_.addOverlay(this.boxOverlay_); + + var cssClasses = className + ' ' + GVol.css.CLASS_UNSELECTABLE + ' ' + + GVol.css.CLASS_CONTROL + + (this.cGVollapsed_ && this.cGVollapsible_ ? ' GVol-cGVollapsed' : '') + + (this.cGVollapsible_ ? '' : ' GVol-uncGVollapsible'); + var element = document.createElement('div'); + element.className = cssClasses; + element.appendChild(this.ovmapDiv_); + element.appendChild(button); + + var render = options.render ? options.render : GVol.contrGVol.OverviewMap.render; + + GVol.contrGVol.ContrGVol.call(this, { + element: element, + render: render, + target: options.target + }); + + /* Interactive map */ + + var scope = this; + + var overlay = this.boxOverlay_; + var overlayBox = this.boxOverlay_.getElement(); + + /* Functions definition */ + + var computeDesiredMousePosition = function(mousePosition) { + return { + clientX: mousePosition.clientX - (overlayBox.offsetWidth / 2), + clientY: mousePosition.clientY + (overlayBox.offsetHeight / 2) + }; + }; + + var move = function(event) { + var coordinates = ovmap.getEventCoordinate(computeDesiredMousePosition(event)); + + overlay.setPosition(coordinates); + }; + + var endMoving = function(event) { + var coordinates = ovmap.getEventCoordinate(event); + + scope.getMap().getView().setCenter(coordinates); + + window.removeEventListener('mousemove', move); + window.removeEventListener('mouseup', endMoving); + }; + + /* Binding */ + + overlayBox.addEventListener('mousedown', function() { + window.addEventListener('mousemove', move); + window.addEventListener('mouseup', endMoving); + }); +}; +GVol.inherits(GVol.contrGVol.OverviewMap, GVol.contrGVol.ContrGVol); + + +/** + * @inheritDoc + * @api + */ +GVol.contrGVol.OverviewMap.prototype.setMap = function(map) { + var GVoldMap = this.getMap(); + if (map === GVoldMap) { + return; + } + if (GVoldMap) { + var GVoldView = GVoldMap.getView(); + if (GVoldView) { + this.unbindView_(GVoldView); + } + this.ovmap_.setTarget(null); + } + GVol.contrGVol.ContrGVol.prototype.setMap.call(this, map); + + if (map) { + this.ovmap_.setTarget(this.ovmapDiv_); + this.listenerKeys.push(GVol.events.listen( + map, GVol.ObjectEventType.PROPERTYCHANGE, + this.handleMapPropertyChange_, this)); + + // TODO: to really support map switching, this would need to be reworked + if (this.ovmap_.getLayers().getLength() === 0) { + this.ovmap_.setLayerGroup(map.getLayerGroup()); + } + + var view = map.getView(); + if (view) { + this.bindView_(view); + if (view.isDef()) { + this.ovmap_.updateSize(); + this.resetExtent_(); + } + } + } +}; + + +/** + * Handle map property changes. This only deals with changes to the map's view. + * @param {GVol.Object.Event} event The propertychange event. + * @private + */ +GVol.contrGVol.OverviewMap.prototype.handleMapPropertyChange_ = function(event) { + if (event.key === GVol.MapProperty.VIEW) { + var GVoldView = /** @type {GVol.View} */ (event.GVoldValue); + if (GVoldView) { + this.unbindView_(GVoldView); + } + var newView = this.getMap().getView(); + this.bindView_(newView); + } +}; + + +/** + * Register listeners for view property changes. + * @param {GVol.View} view The view. + * @private + */ +GVol.contrGVol.OverviewMap.prototype.bindView_ = function(view) { + GVol.events.listen(view, + GVol.Object.getChangeEventType(GVol.ViewProperty.ROTATION), + this.handleRotationChanged_, this); +}; + + +/** + * Unregister listeners for view property changes. + * @param {GVol.View} view The view. + * @private + */ +GVol.contrGVol.OverviewMap.prototype.unbindView_ = function(view) { + GVol.events.unlisten(view, + GVol.Object.getChangeEventType(GVol.ViewProperty.ROTATION), + this.handleRotationChanged_, this); +}; + + +/** + * Handle rotation changes to the main map. + * TODO: This should rotate the extent rectrangle instead of the + * overview map's view. + * @private + */ +GVol.contrGVol.OverviewMap.prototype.handleRotationChanged_ = function() { + this.ovmap_.getView().setRotation(this.getMap().getView().getRotation()); +}; + + +/** + * Update the overview map element. + * @param {GVol.MapEvent} mapEvent Map event. + * @this {GVol.contrGVol.OverviewMap} + * @api + */ +GVol.contrGVol.OverviewMap.render = function(mapEvent) { + this.validateExtent_(); + this.updateBox_(); +}; + + +/** + * Reset the overview map extent if the box size (width or + * height) is less than the size of the overview map size times minRatio + * or is greater than the size of the overview size times maxRatio. + * + * If the map extent was not reset, the box size can fits in the defined + * ratio sizes. This method then checks if is contained inside the overview + * map current extent. If not, recenter the overview map to the current + * main map center location. + * @private + */ +GVol.contrGVol.OverviewMap.prototype.validateExtent_ = function() { + var map = this.getMap(); + var ovmap = this.ovmap_; + + if (!map.isRendered() || !ovmap.isRendered()) { + return; + } + + var mapSize = /** @type {GVol.Size} */ (map.getSize()); + + var view = map.getView(); + var extent = view.calculateExtent(mapSize); + + var ovmapSize = /** @type {GVol.Size} */ (ovmap.getSize()); + + var ovview = ovmap.getView(); + var ovextent = ovview.calculateExtent(ovmapSize); + + var topLeftPixel = + ovmap.getPixelFromCoordinate(GVol.extent.getTopLeft(extent)); + var bottomRightPixel = + ovmap.getPixelFromCoordinate(GVol.extent.getBottomRight(extent)); + + var boxWidth = Math.abs(topLeftPixel[0] - bottomRightPixel[0]); + var boxHeight = Math.abs(topLeftPixel[1] - bottomRightPixel[1]); + + var ovmapWidth = ovmapSize[0]; + var ovmapHeight = ovmapSize[1]; + + if (boxWidth < ovmapWidth * GVol.OVERVIEWMAP_MIN_RATIO || + boxHeight < ovmapHeight * GVol.OVERVIEWMAP_MIN_RATIO || + boxWidth > ovmapWidth * GVol.OVERVIEWMAP_MAX_RATIO || + boxHeight > ovmapHeight * GVol.OVERVIEWMAP_MAX_RATIO) { + this.resetExtent_(); + } else if (!GVol.extent.containsExtent(ovextent, extent)) { + this.recenter_(); + } +}; + + +/** + * Reset the overview map extent to half calculated min and max ratio times + * the extent of the main map. + * @private + */ +GVol.contrGVol.OverviewMap.prototype.resetExtent_ = function() { + if (GVol.OVERVIEWMAP_MAX_RATIO === 0 || GVol.OVERVIEWMAP_MIN_RATIO === 0) { + return; + } + + var map = this.getMap(); + var ovmap = this.ovmap_; + + var mapSize = /** @type {GVol.Size} */ (map.getSize()); + + var view = map.getView(); + var extent = view.calculateExtent(mapSize); + + var ovview = ovmap.getView(); + + // get how many times the current map overview could hGVold different + // box sizes using the min and max ratio, pick the step in the middle used + // to calculate the extent from the main map to set it to the overview map, + var steps = Math.log( + GVol.OVERVIEWMAP_MAX_RATIO / GVol.OVERVIEWMAP_MIN_RATIO) / Math.LN2; + var ratio = 1 / (Math.pow(2, steps / 2) * GVol.OVERVIEWMAP_MIN_RATIO); + GVol.extent.scaleFromCenter(extent, ratio); + ovview.fit(extent); +}; + + +/** + * Set the center of the overview map to the map center without changing its + * resGVolution. + * @private + */ +GVol.contrGVol.OverviewMap.prototype.recenter_ = function() { + var map = this.getMap(); + var ovmap = this.ovmap_; + + var view = map.getView(); + + var ovview = ovmap.getView(); + + ovview.setCenter(view.getCenter()); +}; + + +/** + * Update the box using the main map extent + * @private + */ +GVol.contrGVol.OverviewMap.prototype.updateBox_ = function() { + var map = this.getMap(); + var ovmap = this.ovmap_; + + if (!map.isRendered() || !ovmap.isRendered()) { + return; + } + + var mapSize = /** @type {GVol.Size} */ (map.getSize()); + + var view = map.getView(); + + var ovview = ovmap.getView(); + + var rotation = view.getRotation(); + + var overlay = this.boxOverlay_; + var box = this.boxOverlay_.getElement(); + var extent = view.calculateExtent(mapSize); + var ovresGVolution = ovview.getResGVolution(); + var bottomLeft = GVol.extent.getBottomLeft(extent); + var topRight = GVol.extent.getTopRight(extent); + + // set position using bottom left coordinates + var rotateBottomLeft = this.calculateCoordinateRotate_(rotation, bottomLeft); + overlay.setPosition(rotateBottomLeft); + + // set box size calculated from map extent size and overview map resGVolution + if (box) { + box.style.width = Math.abs((bottomLeft[0] - topRight[0]) / ovresGVolution) + 'px'; + box.style.height = Math.abs((topRight[1] - bottomLeft[1]) / ovresGVolution) + 'px'; + } +}; + + +/** + * @param {number} rotation Target rotation. + * @param {GVol.Coordinate} coordinate Coordinate. + * @return {GVol.Coordinate|undefined} Coordinate for rotation and center anchor. + * @private + */ +GVol.contrGVol.OverviewMap.prototype.calculateCoordinateRotate_ = function( + rotation, coordinate) { + var coordinateRotate; + + var map = this.getMap(); + var view = map.getView(); + + var currentCenter = view.getCenter(); + + if (currentCenter) { + coordinateRotate = [ + coordinate[0] - currentCenter[0], + coordinate[1] - currentCenter[1] + ]; + GVol.coordinate.rotate(coordinateRotate, rotation); + GVol.coordinate.add(coordinateRotate, currentCenter); + } + return coordinateRotate; +}; + + +/** + * @param {Event} event The event to handle + * @private + */ +GVol.contrGVol.OverviewMap.prototype.handleClick_ = function(event) { + event.preventDefault(); + this.handleToggle_(); +}; + + +/** + * @private + */ +GVol.contrGVol.OverviewMap.prototype.handleToggle_ = function() { + this.element.classList.toggle('GVol-cGVollapsed'); + if (this.cGVollapsed_) { + GVol.dom.replaceNode(this.cGVollapseLabel_, this.label_); + } else { + GVol.dom.replaceNode(this.label_, this.cGVollapseLabel_); + } + this.cGVollapsed_ = !this.cGVollapsed_; + + // manage overview map if it had not been rendered before and contrGVol + // is expanded + var ovmap = this.ovmap_; + if (!this.cGVollapsed_ && !ovmap.isRendered()) { + ovmap.updateSize(); + this.resetExtent_(); + GVol.events.listenOnce(ovmap, GVol.MapEventType.POSTRENDER, + function(event) { + this.updateBox_(); + }, + this); + } +}; + + +/** + * Return `true` if the overview map is cGVollapsible, `false` otherwise. + * @return {boGVolean} True if the widget is cGVollapsible. + * @api + */ +GVol.contrGVol.OverviewMap.prototype.getCGVollapsible = function() { + return this.cGVollapsible_; +}; + + +/** + * Set whether the overview map should be cGVollapsible. + * @param {boGVolean} cGVollapsible True if the widget is cGVollapsible. + * @api + */ +GVol.contrGVol.OverviewMap.prototype.setCGVollapsible = function(cGVollapsible) { + if (this.cGVollapsible_ === cGVollapsible) { + return; + } + this.cGVollapsible_ = cGVollapsible; + this.element.classList.toggle('GVol-uncGVollapsible'); + if (!cGVollapsible && this.cGVollapsed_) { + this.handleToggle_(); + } +}; + + +/** + * CGVollapse or expand the overview map according to the passed parameter. Will + * not do anything if the overview map isn't cGVollapsible or if the current + * cGVollapsed state is already the one requested. + * @param {boGVolean} cGVollapsed True if the widget is cGVollapsed. + * @api + */ +GVol.contrGVol.OverviewMap.prototype.setCGVollapsed = function(cGVollapsed) { + if (!this.cGVollapsible_ || this.cGVollapsed_ === cGVollapsed) { + return; + } + this.handleToggle_(); +}; + + +/** + * Determine if the overview map is cGVollapsed. + * @return {boGVolean} The overview map is cGVollapsed. + * @api + */ +GVol.contrGVol.OverviewMap.prototype.getCGVollapsed = function() { + return this.cGVollapsed_; +}; + + +/** + * Return the overview map. + * @return {GVol.Map} Overview map. + * @api + */ +GVol.contrGVol.OverviewMap.prototype.getOverviewMap = function() { + return this.ovmap_; +}; + +goog.provide('GVol.contrGVol.ScaleLineUnits'); + +/** + * Units for the scale line. Supported values are `'degrees'`, `'imperial'`, + * `'nautical'`, `'metric'`, `'us'`. + * @enum {string} + */ +GVol.contrGVol.ScaleLineUnits = { + DEGREES: 'degrees', + IMPERIAL: 'imperial', + NAUTICAL: 'nautical', + METRIC: 'metric', + US: 'us' +}; + +goog.provide('GVol.contrGVol.ScaleLine'); + +goog.require('GVol'); +goog.require('GVol.Object'); +goog.require('GVol.asserts'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.contrGVol.ScaleLineUnits'); +goog.require('GVol.css'); +goog.require('GVol.events'); +goog.require('GVol.proj'); +goog.require('GVol.proj.Units'); + + +/** + * @classdesc + * A contrGVol displaying rough y-axis distances, calculated for the center of the + * viewport. For conformal projections (e.g. EPSG:3857, the default view + * projection in OpenLayers), the scale is valid for all directions. + * No scale line will be shown when the y-axis distance of a pixel at the + * viewport center cannot be calculated in the view projection. + * By default the scale line will show in the bottom left portion of the map, + * but this can be changed by using the css selector `.GVol-scale-line`. + * + * @constructor + * @extends {GVol.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.ScaleLineOptions=} opt_options Scale line options. + * @api + */ +GVol.contrGVol.ScaleLine = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + var className = options.className !== undefined ? options.className : 'GVol-scale-line'; + + /** + * @private + * @type {Element} + */ + this.innerElement_ = document.createElement('DIV'); + this.innerElement_.className = className + '-inner'; + + /** + * @private + * @type {Element} + */ + this.element_ = document.createElement('DIV'); + this.element_.className = className + ' ' + GVol.css.CLASS_UNSELECTABLE; + this.element_.appendChild(this.innerElement_); + + /** + * @private + * @type {?GVolx.ViewState} + */ + this.viewState_ = null; + + /** + * @private + * @type {number} + */ + this.minWidth_ = options.minWidth !== undefined ? options.minWidth : 64; + + /** + * @private + * @type {boGVolean} + */ + this.renderedVisible_ = false; + + /** + * @private + * @type {number|undefined} + */ + this.renderedWidth_ = undefined; + + /** + * @private + * @type {string} + */ + this.renderedHTML_ = ''; + + var render = options.render ? options.render : GVol.contrGVol.ScaleLine.render; + + GVol.contrGVol.ContrGVol.call(this, { + element: this.element_, + render: render, + target: options.target + }); + + GVol.events.listen( + this, GVol.Object.getChangeEventType(GVol.contrGVol.ScaleLine.Property_.UNITS), + this.handleUnitsChanged_, this); + + this.setUnits(/** @type {GVol.contrGVol.ScaleLineUnits} */ (options.units) || + GVol.contrGVol.ScaleLineUnits.METRIC); + +}; +GVol.inherits(GVol.contrGVol.ScaleLine, GVol.contrGVol.ContrGVol); + + +/** + * @const + * @type {Array.<number>} + */ +GVol.contrGVol.ScaleLine.LEADING_DIGITS = [1, 2, 5]; + + +/** + * Return the units to use in the scale line. + * @return {GVol.contrGVol.ScaleLineUnits|undefined} The units to use in the scale + * line. + * @observable + * @api + */ +GVol.contrGVol.ScaleLine.prototype.getUnits = function() { + return /** @type {GVol.contrGVol.ScaleLineUnits|undefined} */ ( + this.get(GVol.contrGVol.ScaleLine.Property_.UNITS)); +}; + + +/** + * Update the scale line element. + * @param {GVol.MapEvent} mapEvent Map event. + * @this {GVol.contrGVol.ScaleLine} + * @api + */ +GVol.contrGVol.ScaleLine.render = function(mapEvent) { + var frameState = mapEvent.frameState; + if (!frameState) { + this.viewState_ = null; + } else { + this.viewState_ = frameState.viewState; + } + this.updateElement_(); +}; + + +/** + * @private + */ +GVol.contrGVol.ScaleLine.prototype.handleUnitsChanged_ = function() { + this.updateElement_(); +}; + + +/** + * Set the units to use in the scale line. + * @param {GVol.contrGVol.ScaleLineUnits} units The units to use in the scale line. + * @observable + * @api + */ +GVol.contrGVol.ScaleLine.prototype.setUnits = function(units) { + this.set(GVol.contrGVol.ScaleLine.Property_.UNITS, units); +}; + + +/** + * @private + */ +GVol.contrGVol.ScaleLine.prototype.updateElement_ = function() { + var viewState = this.viewState_; + + if (!viewState) { + if (this.renderedVisible_) { + this.element_.style.display = 'none'; + this.renderedVisible_ = false; + } + return; + } + + var center = viewState.center; + var projection = viewState.projection; + var units = this.getUnits(); + var pointResGVolutionUnits = units == GVol.contrGVol.ScaleLineUnits.DEGREES ? + GVol.proj.Units.DEGREES : + GVol.proj.Units.METERS; + var pointResGVolution = + GVol.proj.getPointResGVolution(projection, viewState.resGVolution, center, pointResGVolutionUnits); + + var nominalCount = this.minWidth_ * pointResGVolution; + var suffix = ''; + if (units == GVol.contrGVol.ScaleLineUnits.DEGREES) { + var metersPerDegree = GVol.proj.METERS_PER_UNIT[GVol.proj.Units.DEGREES]; + if (projection.getUnits() == GVol.proj.Units.DEGREES) { + nominalCount *= metersPerDegree; + } else { + pointResGVolution /= metersPerDegree; + } + if (nominalCount < metersPerDegree / 60) { + suffix = '\u2033'; // seconds + pointResGVolution *= 3600; + } else if (nominalCount < metersPerDegree) { + suffix = '\u2032'; // minutes + pointResGVolution *= 60; + } else { + suffix = '\u00b0'; // degrees + } + } else if (units == GVol.contrGVol.ScaleLineUnits.IMPERIAL) { + if (nominalCount < 0.9144) { + suffix = 'in'; + pointResGVolution /= 0.0254; + } else if (nominalCount < 1609.344) { + suffix = 'ft'; + pointResGVolution /= 0.3048; + } else { + suffix = 'mi'; + pointResGVolution /= 1609.344; + } + } else if (units == GVol.contrGVol.ScaleLineUnits.NAUTICAL) { + pointResGVolution /= 1852; + suffix = 'nm'; + } else if (units == GVol.contrGVol.ScaleLineUnits.METRIC) { + if (nominalCount < 0.001) { + suffix = 'μm'; + pointResGVolution *= 1000000; + } else if (nominalCount < 1) { + suffix = 'mm'; + pointResGVolution *= 1000; + } else if (nominalCount < 1000) { + suffix = 'm'; + } else { + suffix = 'km'; + pointResGVolution /= 1000; + } + } else if (units == GVol.contrGVol.ScaleLineUnits.US) { + if (nominalCount < 0.9144) { + suffix = 'in'; + pointResGVolution *= 39.37; + } else if (nominalCount < 1609.344) { + suffix = 'ft'; + pointResGVolution /= 0.30480061; + } else { + suffix = 'mi'; + pointResGVolution /= 1609.3472; + } + } else { + GVol.asserts.assert(false, 33); // Invalid units + } + + var i = 3 * Math.floor( + Math.log(this.minWidth_ * pointResGVolution) / Math.log(10)); + var count, width; + while (true) { + count = GVol.contrGVol.ScaleLine.LEADING_DIGITS[((i % 3) + 3) % 3] * + Math.pow(10, Math.floor(i / 3)); + width = Math.round(count / pointResGVolution); + if (isNaN(width)) { + this.element_.style.display = 'none'; + this.renderedVisible_ = false; + return; + } else if (width >= this.minWidth_) { + break; + } + ++i; + } + + var html = count + ' ' + suffix; + if (this.renderedHTML_ != html) { + this.innerElement_.innerHTML = html; + this.renderedHTML_ = html; + } + + if (this.renderedWidth_ != width) { + this.innerElement_.style.width = width + 'px'; + this.renderedWidth_ = width; + } + + if (!this.renderedVisible_) { + this.element_.style.display = ''; + this.renderedVisible_ = true; + } + +}; + + +/** + * @enum {string} + * @private + */ +GVol.contrGVol.ScaleLine.Property_ = { + UNITS: 'units' +}; + +// FIXME should possibly show toGVoltip when dragging? + +goog.provide('GVol.contrGVol.ZoomSlider'); + +goog.require('GVol'); +goog.require('GVol.ViewHint'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.css'); +goog.require('GVol.easing'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); +goog.require('GVol.events.EventType'); +goog.require('GVol.math'); +goog.require('GVol.pointer.EventType'); +goog.require('GVol.pointer.PointerEventHandler'); + + +/** + * @classdesc + * A slider type of contrGVol for zooming. + * + * Example: + * + * map.addContrGVol(new GVol.contrGVol.ZoomSlider()); + * + * @constructor + * @extends {GVol.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.ZoomSliderOptions=} opt_options Zoom slider options. + * @api + */ +GVol.contrGVol.ZoomSlider = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + /** + * Will hGVold the current resGVolution of the view. + * + * @type {number|undefined} + * @private + */ + this.currentResGVolution_ = undefined; + + /** + * The direction of the slider. Will be determined from actual display of the + * container and defaults to GVol.contrGVol.ZoomSlider.Direction_.VERTICAL. + * + * @type {GVol.contrGVol.ZoomSlider.Direction_} + * @private + */ + this.direction_ = GVol.contrGVol.ZoomSlider.Direction_.VERTICAL; + + /** + * @type {boGVolean} + * @private + */ + this.dragging_; + + /** + * @type {number} + * @private + */ + this.heightLimit_ = 0; + + /** + * @type {number} + * @private + */ + this.widthLimit_ = 0; + + /** + * @type {number|undefined} + * @private + */ + this.previousX_; + + /** + * @type {number|undefined} + * @private + */ + this.previousY_; + + /** + * The calculated thumb size (border box plus margins). Set when initSlider_ + * is called. + * @type {GVol.Size} + * @private + */ + this.thumbSize_ = null; + + /** + * Whether the slider is initialized. + * @type {boGVolean} + * @private + */ + this.sliderInitialized_ = false; + + /** + * @type {number} + * @private + */ + this.duration_ = options.duration !== undefined ? options.duration : 200; + + var className = options.className !== undefined ? options.className : 'GVol-zoomslider'; + var thumbElement = document.createElement('button'); + thumbElement.setAttribute('type', 'button'); + thumbElement.className = className + '-thumb ' + GVol.css.CLASS_UNSELECTABLE; + var containerElement = document.createElement('div'); + containerElement.className = className + ' ' + GVol.css.CLASS_UNSELECTABLE + ' ' + GVol.css.CLASS_CONTROL; + containerElement.appendChild(thumbElement); + /** + * @type {GVol.pointer.PointerEventHandler} + * @private + */ + this.dragger_ = new GVol.pointer.PointerEventHandler(containerElement); + + GVol.events.listen(this.dragger_, GVol.pointer.EventType.POINTERDOWN, + this.handleDraggerStart_, this); + GVol.events.listen(this.dragger_, GVol.pointer.EventType.POINTERMOVE, + this.handleDraggerDrag_, this); + GVol.events.listen(this.dragger_, GVol.pointer.EventType.POINTERUP, + this.handleDraggerEnd_, this); + + GVol.events.listen(containerElement, GVol.events.EventType.CLICK, + this.handleContainerClick_, this); + GVol.events.listen(thumbElement, GVol.events.EventType.CLICK, + GVol.events.Event.stopPropagation); + + var render = options.render ? options.render : GVol.contrGVol.ZoomSlider.render; + + GVol.contrGVol.ContrGVol.call(this, { + element: containerElement, + render: render + }); +}; +GVol.inherits(GVol.contrGVol.ZoomSlider, GVol.contrGVol.ContrGVol); + + +/** + * @inheritDoc + */ +GVol.contrGVol.ZoomSlider.prototype.disposeInternal = function() { + this.dragger_.dispose(); + GVol.contrGVol.ContrGVol.prototype.disposeInternal.call(this); +}; + + +/** + * The enum for available directions. + * + * @enum {number} + * @private + */ +GVol.contrGVol.ZoomSlider.Direction_ = { + VERTICAL: 0, + HORIZONTAL: 1 +}; + + +/** + * @inheritDoc + */ +GVol.contrGVol.ZoomSlider.prototype.setMap = function(map) { + GVol.contrGVol.ContrGVol.prototype.setMap.call(this, map); + if (map) { + map.render(); + } +}; + + +/** + * Initializes the slider element. This will determine and set this contrGVols + * direction_ and also constrain the dragging of the thumb to always be within + * the bounds of the container. + * + * @private + */ +GVol.contrGVol.ZoomSlider.prototype.initSlider_ = function() { + var container = this.element; + var containerSize = { + width: container.offsetWidth, height: container.offsetHeight + }; + + var thumb = container.firstElementChild; + var computedStyle = getComputedStyle(thumb); + var thumbWidth = thumb.offsetWidth + + parseFloat(computedStyle['marginRight']) + + parseFloat(computedStyle['marginLeft']); + var thumbHeight = thumb.offsetHeight + + parseFloat(computedStyle['marginTop']) + + parseFloat(computedStyle['marginBottom']); + this.thumbSize_ = [thumbWidth, thumbHeight]; + + if (containerSize.width > containerSize.height) { + this.direction_ = GVol.contrGVol.ZoomSlider.Direction_.HORIZONTAL; + this.widthLimit_ = containerSize.width - thumbWidth; + } else { + this.direction_ = GVol.contrGVol.ZoomSlider.Direction_.VERTICAL; + this.heightLimit_ = containerSize.height - thumbHeight; + } + this.sliderInitialized_ = true; +}; + + +/** + * Update the zoomslider element. + * @param {GVol.MapEvent} mapEvent Map event. + * @this {GVol.contrGVol.ZoomSlider} + * @api + */ +GVol.contrGVol.ZoomSlider.render = function(mapEvent) { + if (!mapEvent.frameState) { + return; + } + if (!this.sliderInitialized_) { + this.initSlider_(); + } + var res = mapEvent.frameState.viewState.resGVolution; + if (res !== this.currentResGVolution_) { + this.currentResGVolution_ = res; + this.setThumbPosition_(res); + } +}; + + +/** + * @param {Event} event The browser event to handle. + * @private + */ +GVol.contrGVol.ZoomSlider.prototype.handleContainerClick_ = function(event) { + var view = this.getMap().getView(); + + var relativePosition = this.getRelativePosition_( + event.offsetX - this.thumbSize_[0] / 2, + event.offsetY - this.thumbSize_[1] / 2); + + var resGVolution = this.getResGVolutionForPosition_(relativePosition); + + view.animate({ + resGVolution: view.constrainResGVolution(resGVolution), + duration: this.duration_, + easing: GVol.easing.easeOut + }); +}; + + +/** + * Handle dragger start events. + * @param {GVol.pointer.PointerEvent} event The drag event. + * @private + */ +GVol.contrGVol.ZoomSlider.prototype.handleDraggerStart_ = function(event) { + if (!this.dragging_ && event.originalEvent.target === this.element.firstElementChild) { + this.getMap().getView().setHint(GVol.ViewHint.INTERACTING, 1); + this.previousX_ = event.clientX; + this.previousY_ = event.clientY; + this.dragging_ = true; + } +}; + + +/** + * Handle dragger drag events. + * + * @param {GVol.pointer.PointerEvent|Event} event The drag event. + * @private + */ +GVol.contrGVol.ZoomSlider.prototype.handleDraggerDrag_ = function(event) { + if (this.dragging_) { + var element = this.element.firstElementChild; + var deltaX = event.clientX - this.previousX_ + parseInt(element.style.left, 10); + var deltaY = event.clientY - this.previousY_ + parseInt(element.style.top, 10); + var relativePosition = this.getRelativePosition_(deltaX, deltaY); + this.currentResGVolution_ = this.getResGVolutionForPosition_(relativePosition); + this.getMap().getView().setResGVolution(this.currentResGVolution_); + this.setThumbPosition_(this.currentResGVolution_); + this.previousX_ = event.clientX; + this.previousY_ = event.clientY; + } +}; + + +/** + * Handle dragger end events. + * @param {GVol.pointer.PointerEvent|Event} event The drag event. + * @private + */ +GVol.contrGVol.ZoomSlider.prototype.handleDraggerEnd_ = function(event) { + if (this.dragging_) { + var view = this.getMap().getView(); + view.setHint(GVol.ViewHint.INTERACTING, -1); + + view.animate({ + resGVolution: view.constrainResGVolution(this.currentResGVolution_), + duration: this.duration_, + easing: GVol.easing.easeOut + }); + + this.dragging_ = false; + this.previousX_ = undefined; + this.previousY_ = undefined; + } +}; + + +/** + * Positions the thumb inside its container according to the given resGVolution. + * + * @param {number} res The res. + * @private + */ +GVol.contrGVol.ZoomSlider.prototype.setThumbPosition_ = function(res) { + var position = this.getPositionForResGVolution_(res); + var thumb = this.element.firstElementChild; + + if (this.direction_ == GVol.contrGVol.ZoomSlider.Direction_.HORIZONTAL) { + thumb.style.left = this.widthLimit_ * position + 'px'; + } else { + thumb.style.top = this.heightLimit_ * position + 'px'; + } +}; + + +/** + * Calculates the relative position of the thumb given x and y offsets. The + * relative position scales from 0 to 1. The x and y offsets are assumed to be + * in pixel units within the dragger limits. + * + * @param {number} x Pixel position relative to the left of the slider. + * @param {number} y Pixel position relative to the top of the slider. + * @return {number} The relative position of the thumb. + * @private + */ +GVol.contrGVol.ZoomSlider.prototype.getRelativePosition_ = function(x, y) { + var amount; + if (this.direction_ === GVol.contrGVol.ZoomSlider.Direction_.HORIZONTAL) { + amount = x / this.widthLimit_; + } else { + amount = y / this.heightLimit_; + } + return GVol.math.clamp(amount, 0, 1); +}; + + +/** + * Calculates the corresponding resGVolution of the thumb given its relative + * position (where 0 is the minimum and 1 is the maximum). + * + * @param {number} position The relative position of the thumb. + * @return {number} The corresponding resGVolution. + * @private + */ +GVol.contrGVol.ZoomSlider.prototype.getResGVolutionForPosition_ = function(position) { + var fn = this.getMap().getView().getResGVolutionForValueFunction(); + return fn(1 - position); +}; + + +/** + * Determines the relative position of the slider for the given resGVolution. A + * relative position of 0 corresponds to the minimum view resGVolution. A + * relative position of 1 corresponds to the maximum view resGVolution. + * + * @param {number} res The resGVolution. + * @return {number} The relative position value (between 0 and 1). + * @private + */ +GVol.contrGVol.ZoomSlider.prototype.getPositionForResGVolution_ = function(res) { + var fn = this.getMap().getView().getValueForResGVolutionFunction(); + return 1 - fn(res); +}; + +goog.provide('GVol.contrGVol.ZoomToExtent'); + +goog.require('GVol'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.css'); + + +/** + * @classdesc + * A button contrGVol which, when pressed, changes the map view to a specific + * extent. To style this contrGVol use the css selector `.GVol-zoom-extent`. + * + * @constructor + * @extends {GVol.contrGVol.ContrGVol} + * @param {GVolx.contrGVol.ZoomToExtentOptions=} opt_options Options. + * @api + */ +GVol.contrGVol.ZoomToExtent = function(opt_options) { + var options = opt_options ? opt_options : {}; + + /** + * @type {GVol.Extent} + * @private + */ + this.extent_ = options.extent ? options.extent : null; + + var className = options.className !== undefined ? options.className : + 'GVol-zoom-extent'; + + var label = options.label !== undefined ? options.label : 'E'; + var tipLabel = options.tipLabel !== undefined ? + options.tipLabel : 'Fit to extent'; + var button = document.createElement('button'); + button.setAttribute('type', 'button'); + button.title = tipLabel; + button.appendChild( + typeof label === 'string' ? document.createTextNode(label) : label + ); + + GVol.events.listen(button, GVol.events.EventType.CLICK, + this.handleClick_, this); + + var cssClasses = className + ' ' + GVol.css.CLASS_UNSELECTABLE + ' ' + + GVol.css.CLASS_CONTROL; + var element = document.createElement('div'); + element.className = cssClasses; + element.appendChild(button); + + GVol.contrGVol.ContrGVol.call(this, { + element: element, + target: options.target + }); +}; +GVol.inherits(GVol.contrGVol.ZoomToExtent, GVol.contrGVol.ContrGVol); + + +/** + * @param {Event} event The event to handle + * @private + */ +GVol.contrGVol.ZoomToExtent.prototype.handleClick_ = function(event) { + event.preventDefault(); + this.handleZoomToExtent_(); +}; + + +/** + * @private + */ +GVol.contrGVol.ZoomToExtent.prototype.handleZoomToExtent_ = function() { + var map = this.getMap(); + var view = map.getView(); + var extent = !this.extent_ ? view.getProjection().getExtent() : this.extent_; + view.fit(extent); +}; + +goog.provide('GVol.DeviceOrientation'); + +goog.require('GVol.events'); +goog.require('GVol'); +goog.require('GVol.Object'); +goog.require('GVol.has'); +goog.require('GVol.math'); + + +/** + * @classdesc + * The GVol.DeviceOrientation class provides access to information from + * DeviceOrientation events. See the [HTML 5 DeviceOrientation Specification]( + * http://www.w3.org/TR/orientation-event/) for more details. + * + * Many new computers, and especially mobile phones + * and tablets, provide hardware support for device orientation. Web + * developers targeting mobile devices will be especially interested in this + * class. + * + * Device orientation data are relative to a common starting point. For mobile + * devices, the starting point is to lay your phone face up on a table with the + * top of the phone pointing north. This represents the zero state. All + * angles are then relative to this state. For computers, it is the same except + * the screen is open at 90 degrees. + * + * Device orientation is reported as three angles - `alpha`, `beta`, and + * `gamma` - relative to the starting position along the three planar axes X, Y + * and Z. The X axis runs from the left edge to the right edge through the + * middle of the device. Similarly, the Y axis runs from the bottom to the top + * of the device through the middle. The Z axis runs from the back to the front + * through the middle. In the starting position, the X axis points to the + * right, the Y axis points away from you and the Z axis points straight up + * from the device lying flat. + * + * The three angles representing the device orientation are relative to the + * three axes. `alpha` indicates how much the device has been rotated around the + * Z axis, which is commonly interpreted as the compass heading (see note + * below). `beta` indicates how much the device has been rotated around the X + * axis, or how much it is tilted from front to back. `gamma` indicates how + * much the device has been rotated around the Y axis, or how much it is tilted + * from left to right. + * + * For most browsers, the `alpha` value returns the compass heading so if the + * device points north, it will be 0. With Safari on iOS, the 0 value of + * `alpha` is calculated from when device orientation was first requested. + * GVol.DeviceOrientation provides the `heading` property which normalizes this + * behavior across all browsers for you. + * + * It is important to note that the HTML 5 DeviceOrientation specification + * indicates that `alpha`, `beta` and `gamma` are in degrees while the + * equivalent properties in GVol.DeviceOrientation are in radians for consistency + * with all other uses of angles throughout OpenLayers. + * + * To get notified of device orientation changes, register a listener for the + * generic `change` event on your `GVol.DeviceOrientation` instance. + * + * @see {@link http://www.w3.org/TR/orientation-event/} + * + * @constructor + * @extends {GVol.Object} + * @param {GVolx.DeviceOrientationOptions=} opt_options Options. + * @api + */ +GVol.DeviceOrientation = function(opt_options) { + + GVol.Object.call(this); + + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {?GVol.EventsKey} + */ + this.listenerKey_ = null; + + GVol.events.listen(this, + GVol.Object.getChangeEventType(GVol.DeviceOrientation.Property_.TRACKING), + this.handleTrackingChanged_, this); + + this.setTracking(options.tracking !== undefined ? options.tracking : false); + +}; +GVol.inherits(GVol.DeviceOrientation, GVol.Object); + + +/** + * @inheritDoc + */ +GVol.DeviceOrientation.prototype.disposeInternal = function() { + this.setTracking(false); + GVol.Object.prototype.disposeInternal.call(this); +}; + + +/** + * @private + * @param {Event} originalEvent Event. + */ +GVol.DeviceOrientation.prototype.orientationChange_ = function(originalEvent) { + var event = /** @type {DeviceOrientationEvent} */ (originalEvent); + if (event.alpha !== null) { + var alpha = GVol.math.toRadians(event.alpha); + this.set(GVol.DeviceOrientation.Property_.ALPHA, alpha); + // event.absGVolute is undefined in iOS. + if (typeof event.absGVolute === 'boGVolean' && event.absGVolute) { + this.set(GVol.DeviceOrientation.Property_.HEADING, alpha); + } else if (typeof event.webkitCompassHeading === 'number' && + event.webkitCompassAccuracy != -1) { + var heading = GVol.math.toRadians(event.webkitCompassHeading); + this.set(GVol.DeviceOrientation.Property_.HEADING, heading); + } + } + if (event.beta !== null) { + this.set(GVol.DeviceOrientation.Property_.BETA, + GVol.math.toRadians(event.beta)); + } + if (event.gamma !== null) { + this.set(GVol.DeviceOrientation.Property_.GAMMA, + GVol.math.toRadians(event.gamma)); + } + this.changed(); +}; + + +/** + * Rotation around the device z-axis (in radians). + * @return {number|undefined} The euler angle in radians of the device from the + * standard Z axis. + * @observable + * @api + */ +GVol.DeviceOrientation.prototype.getAlpha = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.DeviceOrientation.Property_.ALPHA)); +}; + + +/** + * Rotation around the device x-axis (in radians). + * @return {number|undefined} The euler angle in radians of the device from the + * planar X axis. + * @observable + * @api + */ +GVol.DeviceOrientation.prototype.getBeta = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.DeviceOrientation.Property_.BETA)); +}; + + +/** + * Rotation around the device y-axis (in radians). + * @return {number|undefined} The euler angle in radians of the device from the + * planar Y axis. + * @observable + * @api + */ +GVol.DeviceOrientation.prototype.getGamma = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.DeviceOrientation.Property_.GAMMA)); +}; + + +/** + * The heading of the device relative to north (in radians). + * @return {number|undefined} The heading of the device relative to north, in + * radians, normalizing for different browser behavior. + * @observable + * @api + */ +GVol.DeviceOrientation.prototype.getHeading = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.DeviceOrientation.Property_.HEADING)); +}; + + +/** + * Determine if orientation is being tracked. + * @return {boGVolean} Changes in device orientation are being tracked. + * @observable + * @api + */ +GVol.DeviceOrientation.prototype.getTracking = function() { + return /** @type {boGVolean} */ ( + this.get(GVol.DeviceOrientation.Property_.TRACKING)); +}; + + +/** + * @private + */ +GVol.DeviceOrientation.prototype.handleTrackingChanged_ = function() { + if (GVol.has.DEVICE_ORIENTATION) { + var tracking = this.getTracking(); + if (tracking && !this.listenerKey_) { + this.listenerKey_ = GVol.events.listen(window, 'deviceorientation', + this.orientationChange_, this); + } else if (!tracking && this.listenerKey_ !== null) { + GVol.events.unlistenByKey(this.listenerKey_); + this.listenerKey_ = null; + } + } +}; + + +/** + * Enable or disable tracking of device orientation events. + * @param {boGVolean} tracking The status of tracking changes to alpha, beta and + * gamma. If true, changes are tracked and reported immediately. + * @observable + * @api + */ +GVol.DeviceOrientation.prototype.setTracking = function(tracking) { + this.set(GVol.DeviceOrientation.Property_.TRACKING, tracking); +}; + + +/** + * @enum {string} + * @private + */ +GVol.DeviceOrientation.Property_ = { + ALPHA: 'alpha', + BETA: 'beta', + GAMMA: 'gamma', + HEADING: 'heading', + TRACKING: 'tracking' +}; + +goog.provide('GVol.ImageState'); + +/** + * @enum {number} + */ +GVol.ImageState = { + IDLE: 0, + LOADING: 1, + LOADED: 2, + ERROR: 3 +}; + +goog.provide('GVol.style.Image'); + + +/** + * @classdesc + * A base class used for creating subclasses and not instantiated in + * apps. Base class for {@link GVol.style.Icon}, {@link GVol.style.Circle} and + * {@link GVol.style.RegularShape}. + * + * @constructor + * @abstract + * @param {GVol.StyleImageOptions} options Options. + * @api + */ +GVol.style.Image = function(options) { + + /** + * @private + * @type {number} + */ + this.opacity_ = options.opacity; + + /** + * @private + * @type {boGVolean} + */ + this.rotateWithView_ = options.rotateWithView; + + /** + * @private + * @type {number} + */ + this.rotation_ = options.rotation; + + /** + * @private + * @type {number} + */ + this.scale_ = options.scale; + + /** + * @private + * @type {boGVolean} + */ + this.snapToPixel_ = options.snapToPixel; + +}; + + +/** + * Get the symbGVolizer opacity. + * @return {number} Opacity. + * @api + */ +GVol.style.Image.prototype.getOpacity = function() { + return this.opacity_; +}; + + +/** + * Determine whether the symbGVolizer rotates with the map. + * @return {boGVolean} Rotate with map. + * @api + */ +GVol.style.Image.prototype.getRotateWithView = function() { + return this.rotateWithView_; +}; + + +/** + * Get the symoblizer rotation. + * @return {number} Rotation. + * @api + */ +GVol.style.Image.prototype.getRotation = function() { + return this.rotation_; +}; + + +/** + * Get the symbGVolizer scale. + * @return {number} Scale. + * @api + */ +GVol.style.Image.prototype.getScale = function() { + return this.scale_; +}; + + +/** + * Determine whether the symbGVolizer should be snapped to a pixel. + * @return {boGVolean} The symbGVolizer should snap to a pixel. + * @api + */ +GVol.style.Image.prototype.getSnapToPixel = function() { + return this.snapToPixel_; +}; + + +/** + * Get the anchor point in pixels. The anchor determines the center point for the + * symbGVolizer. + * @abstract + * @return {Array.<number>} Anchor. + */ +GVol.style.Image.prototype.getAnchor = function() {}; + + +/** + * Get the image element for the symbGVolizer. + * @abstract + * @param {number} pixelRatio Pixel ratio. + * @return {HTMLCanvasElement|HTMLVideoElement|Image} Image element. + */ +GVol.style.Image.prototype.getImage = function(pixelRatio) {}; + + +/** + * @abstract + * @param {number} pixelRatio Pixel ratio. + * @return {HTMLCanvasElement|HTMLVideoElement|Image} Image element. + */ +GVol.style.Image.prototype.getHitDetectionImage = function(pixelRatio) {}; + + +/** + * @abstract + * @return {GVol.ImageState} Image state. + */ +GVol.style.Image.prototype.getImageState = function() {}; + + +/** + * @abstract + * @return {GVol.Size} Image size. + */ +GVol.style.Image.prototype.getImageSize = function() {}; + + +/** + * @abstract + * @return {GVol.Size} Size of the hit-detection image. + */ +GVol.style.Image.prototype.getHitDetectionImageSize = function() {}; + + +/** + * Get the origin of the symbGVolizer. + * @abstract + * @return {Array.<number>} Origin. + */ +GVol.style.Image.prototype.getOrigin = function() {}; + + +/** + * Get the size of the symbGVolizer (in pixels). + * @abstract + * @return {GVol.Size} Size. + */ +GVol.style.Image.prototype.getSize = function() {}; + + +/** + * Set the opacity. + * + * @param {number} opacity Opacity. + * @api + */ +GVol.style.Image.prototype.setOpacity = function(opacity) { + this.opacity_ = opacity; +}; + + +/** + * Set whether to rotate the style with the view. + * + * @param {boGVolean} rotateWithView Rotate with map. + */ +GVol.style.Image.prototype.setRotateWithView = function(rotateWithView) { + this.rotateWithView_ = rotateWithView; +}; + + +/** + * Set the rotation. + * + * @param {number} rotation Rotation. + * @api + */ +GVol.style.Image.prototype.setRotation = function(rotation) { + this.rotation_ = rotation; +}; + + +/** + * Set the scale. + * + * @param {number} scale Scale. + * @api + */ +GVol.style.Image.prototype.setScale = function(scale) { + this.scale_ = scale; +}; + + +/** + * Set whether to snap the image to the closest pixel. + * + * @param {boGVolean} snapToPixel Snap to pixel? + */ +GVol.style.Image.prototype.setSnapToPixel = function(snapToPixel) { + this.snapToPixel_ = snapToPixel; +}; + + +/** + * @abstract + * @param {function(this: T, GVol.events.Event)} listener Listener function. + * @param {T} thisArg Value to use as `this` when executing `listener`. + * @return {GVol.EventsKey|undefined} Listener key. + * @template T + */ +GVol.style.Image.prototype.listenImageChange = function(listener, thisArg) {}; + + +/** + * Load not yet loaded URI. + * @abstract + */ +GVol.style.Image.prototype.load = function() {}; + + +/** + * @abstract + * @param {function(this: T, GVol.events.Event)} listener Listener function. + * @param {T} thisArg Value to use as `this` when executing `listener`. + * @template T + */ +GVol.style.Image.prototype.unlistenImageChange = function(listener, thisArg) {}; + +goog.provide('GVol.style.RegularShape'); + +goog.require('GVol'); +goog.require('GVol.cGVolorlike'); +goog.require('GVol.dom'); +goog.require('GVol.has'); +goog.require('GVol.ImageState'); +goog.require('GVol.render.canvas'); +goog.require('GVol.style.Image'); + + +/** + * @classdesc + * Set regular shape style for vector features. The resulting shape will be + * a regular pGVolygon when `radius` is provided, or a star when `radius1` and + * `radius2` are provided. + * + * @constructor + * @param {GVolx.style.RegularShapeOptions} options Options. + * @extends {GVol.style.Image} + * @api + */ +GVol.style.RegularShape = function(options) { + /** + * @private + * @type {Array.<string>} + */ + this.checksums_ = null; + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = null; + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.hitDetectionCanvas_ = null; + + /** + * @private + * @type {GVol.style.Fill} + */ + this.fill_ = options.fill !== undefined ? options.fill : null; + + /** + * @private + * @type {Array.<number>} + */ + this.origin_ = [0, 0]; + + /** + * @private + * @type {number} + */ + this.points_ = options.points; + + /** + * @protected + * @type {number} + */ + this.radius_ = /** @type {number} */ (options.radius !== undefined ? + options.radius : options.radius1); + + /** + * @private + * @type {number|undefined} + */ + this.radius2_ = options.radius2; + + /** + * @private + * @type {number} + */ + this.angle_ = options.angle !== undefined ? options.angle : 0; + + /** + * @private + * @type {GVol.style.Stroke} + */ + this.stroke_ = options.stroke !== undefined ? options.stroke : null; + + /** + * @private + * @type {Array.<number>} + */ + this.anchor_ = null; + + /** + * @private + * @type {GVol.Size} + */ + this.size_ = null; + + /** + * @private + * @type {GVol.Size} + */ + this.imageSize_ = null; + + /** + * @private + * @type {GVol.Size} + */ + this.hitDetectionImageSize_ = null; + + /** + * @protected + * @type {GVol.style.AtlasManager|undefined} + */ + this.atlasManager_ = options.atlasManager; + + this.render_(this.atlasManager_); + + /** + * @type {boGVolean} + */ + var snapToPixel = options.snapToPixel !== undefined ? + options.snapToPixel : true; + + /** + * @type {boGVolean} + */ + var rotateWithView = options.rotateWithView !== undefined ? + options.rotateWithView : false; + + GVol.style.Image.call(this, { + opacity: 1, + rotateWithView: rotateWithView, + rotation: options.rotation !== undefined ? options.rotation : 0, + scale: 1, + snapToPixel: snapToPixel + }); +}; +GVol.inherits(GVol.style.RegularShape, GVol.style.Image); + + +/** + * Clones the style. If an atlasmanager was provided to the original style it will be used in the cloned style, too. + * @return {GVol.style.RegularShape} The cloned style. + * @api + */ +GVol.style.RegularShape.prototype.clone = function() { + var style = new GVol.style.RegularShape({ + fill: this.getFill() ? this.getFill().clone() : undefined, + points: this.getPoints(), + radius: this.getRadius(), + radius2: this.getRadius2(), + angle: this.getAngle(), + snapToPixel: this.getSnapToPixel(), + stroke: this.getStroke() ? this.getStroke().clone() : undefined, + rotation: this.getRotation(), + rotateWithView: this.getRotateWithView(), + atlasManager: this.atlasManager_ + }); + style.setOpacity(this.getOpacity()); + style.setScale(this.getScale()); + return style; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.style.RegularShape.prototype.getAnchor = function() { + return this.anchor_; +}; + + +/** + * Get the angle used in generating the shape. + * @return {number} Shape's rotation in radians. + * @api + */ +GVol.style.RegularShape.prototype.getAngle = function() { + return this.angle_; +}; + + +/** + * Get the fill style for the shape. + * @return {GVol.style.Fill} Fill style. + * @api + */ +GVol.style.RegularShape.prototype.getFill = function() { + return this.fill_; +}; + + +/** + * @inheritDoc + */ +GVol.style.RegularShape.prototype.getHitDetectionImage = function(pixelRatio) { + return this.hitDetectionCanvas_; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.style.RegularShape.prototype.getImage = function(pixelRatio) { + return this.canvas_; +}; + + +/** + * @inheritDoc + */ +GVol.style.RegularShape.prototype.getImageSize = function() { + return this.imageSize_; +}; + + +/** + * @inheritDoc + */ +GVol.style.RegularShape.prototype.getHitDetectionImageSize = function() { + return this.hitDetectionImageSize_; +}; + + +/** + * @inheritDoc + */ +GVol.style.RegularShape.prototype.getImageState = function() { + return GVol.ImageState.LOADED; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.style.RegularShape.prototype.getOrigin = function() { + return this.origin_; +}; + + +/** + * Get the number of points for generating the shape. + * @return {number} Number of points for stars and regular pGVolygons. + * @api + */ +GVol.style.RegularShape.prototype.getPoints = function() { + return this.points_; +}; + + +/** + * Get the (primary) radius for the shape. + * @return {number} Radius. + * @api + */ +GVol.style.RegularShape.prototype.getRadius = function() { + return this.radius_; +}; + + +/** + * Get the secondary radius for the shape. + * @return {number|undefined} Radius2. + * @api + */ +GVol.style.RegularShape.prototype.getRadius2 = function() { + return this.radius2_; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.style.RegularShape.prototype.getSize = function() { + return this.size_; +}; + + +/** + * Get the stroke style for the shape. + * @return {GVol.style.Stroke} Stroke style. + * @api + */ +GVol.style.RegularShape.prototype.getStroke = function() { + return this.stroke_; +}; + + +/** + * @inheritDoc + */ +GVol.style.RegularShape.prototype.listenImageChange = function(listener, thisArg) {}; + + +/** + * @inheritDoc + */ +GVol.style.RegularShape.prototype.load = function() {}; + + +/** + * @inheritDoc + */ +GVol.style.RegularShape.prototype.unlistenImageChange = function(listener, thisArg) {}; + + +/** + * @protected + * @param {GVol.style.AtlasManager|undefined} atlasManager An atlas manager. + */ +GVol.style.RegularShape.prototype.render_ = function(atlasManager) { + var imageSize; + var lineCap = ''; + var lineJoin = ''; + var miterLimit = 0; + var lineDash = null; + var lineDashOffset = 0; + var strokeStyle; + var strokeWidth = 0; + + if (this.stroke_) { + strokeStyle = this.stroke_.getCGVolor(); + if (strokeStyle === null) { + strokeStyle = GVol.render.canvas.defaultStrokeStyle; + } + strokeStyle = GVol.cGVolorlike.asCGVolorLike(strokeStyle); + strokeWidth = this.stroke_.getWidth(); + if (strokeWidth === undefined) { + strokeWidth = GVol.render.canvas.defaultLineWidth; + } + lineDash = this.stroke_.getLineDash(); + lineDashOffset = this.stroke_.getLineDashOffset(); + if (!GVol.has.CANVAS_LINE_DASH) { + lineDash = null; + lineDashOffset = 0; + } + lineJoin = this.stroke_.getLineJoin(); + if (lineJoin === undefined) { + lineJoin = GVol.render.canvas.defaultLineJoin; + } + lineCap = this.stroke_.getLineCap(); + if (lineCap === undefined) { + lineCap = GVol.render.canvas.defaultLineCap; + } + miterLimit = this.stroke_.getMiterLimit(); + if (miterLimit === undefined) { + miterLimit = GVol.render.canvas.defaultMiterLimit; + } + } + + var size = 2 * (this.radius_ + strokeWidth) + 1; + + /** @type {GVol.RegularShapeRenderOptions} */ + var renderOptions = { + strokeStyle: strokeStyle, + strokeWidth: strokeWidth, + size: size, + lineCap: lineCap, + lineDash: lineDash, + lineDashOffset: lineDashOffset, + lineJoin: lineJoin, + miterLimit: miterLimit + }; + + if (atlasManager === undefined) { + // no atlas manager is used, create a new canvas + var context = GVol.dom.createCanvasContext2D(size, size); + this.canvas_ = context.canvas; + + // canvas.width and height are rounded to the closest integer + size = this.canvas_.width; + imageSize = size; + + this.draw_(renderOptions, context, 0, 0); + + this.createHitDetectionCanvas_(renderOptions); + } else { + // an atlas manager is used, add the symbGVol to an atlas + size = Math.round(size); + + var hasCustomHitDetectionImage = !this.fill_; + var renderHitDetectionCallback; + if (hasCustomHitDetectionImage) { + // render the hit-detection image into a separate atlas image + renderHitDetectionCallback = + this.drawHitDetectionCanvas_.bind(this, renderOptions); + } + + var id = this.getChecksum(); + var info = atlasManager.add( + id, size, size, this.draw_.bind(this, renderOptions), + renderHitDetectionCallback); + + this.canvas_ = info.image; + this.origin_ = [info.offsetX, info.offsetY]; + imageSize = info.image.width; + + if (hasCustomHitDetectionImage) { + this.hitDetectionCanvas_ = info.hitImage; + this.hitDetectionImageSize_ = + [info.hitImage.width, info.hitImage.height]; + } else { + this.hitDetectionCanvas_ = this.canvas_; + this.hitDetectionImageSize_ = [imageSize, imageSize]; + } + } + + this.anchor_ = [size / 2, size / 2]; + this.size_ = [size, size]; + this.imageSize_ = [imageSize, imageSize]; +}; + + +/** + * @private + * @param {GVol.RegularShapeRenderOptions} renderOptions Render options. + * @param {CanvasRenderingContext2D} context The rendering context. + * @param {number} x The origin for the symbGVol (x). + * @param {number} y The origin for the symbGVol (y). + */ +GVol.style.RegularShape.prototype.draw_ = function(renderOptions, context, x, y) { + var i, angle0, radiusC; + // reset transform + context.setTransform(1, 0, 0, 1, 0, 0); + + // then move to (x, y) + context.translate(x, y); + + context.beginPath(); + + var points = this.points_; + if (points === Infinity) { + context.arc( + renderOptions.size / 2, renderOptions.size / 2, + this.radius_, 0, 2 * Math.PI, true); + } else { + var radius2 = (this.radius2_ !== undefined) ? this.radius2_ + : this.radius_; + if (radius2 !== this.radius_) { + points = 2 * points; + } + for (i = 0; i <= points; i++) { + angle0 = i * 2 * Math.PI / points - Math.PI / 2 + this.angle_; + radiusC = i % 2 === 0 ? this.radius_ : radius2; + context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0), + renderOptions.size / 2 + radiusC * Math.sin(angle0)); + } + } + + + if (this.fill_) { + var cGVolor = this.fill_.getCGVolor(); + if (cGVolor === null) { + cGVolor = GVol.render.canvas.defaultFillStyle; + } + context.fillStyle = GVol.cGVolorlike.asCGVolorLike(cGVolor); + context.fill(); + } + if (this.stroke_) { + context.strokeStyle = renderOptions.strokeStyle; + context.lineWidth = renderOptions.strokeWidth; + if (renderOptions.lineDash) { + context.setLineDash(renderOptions.lineDash); + context.lineDashOffset = renderOptions.lineDashOffset; + } + context.lineCap = renderOptions.lineCap; + context.lineJoin = renderOptions.lineJoin; + context.miterLimit = renderOptions.miterLimit; + context.stroke(); + } + context.closePath(); +}; + + +/** + * @private + * @param {GVol.RegularShapeRenderOptions} renderOptions Render options. + */ +GVol.style.RegularShape.prototype.createHitDetectionCanvas_ = function(renderOptions) { + this.hitDetectionImageSize_ = [renderOptions.size, renderOptions.size]; + if (this.fill_) { + this.hitDetectionCanvas_ = this.canvas_; + return; + } + + // if no fill style is set, create an extra hit-detection image with a + // default fill style + var context = GVol.dom.createCanvasContext2D(renderOptions.size, renderOptions.size); + this.hitDetectionCanvas_ = context.canvas; + + this.drawHitDetectionCanvas_(renderOptions, context, 0, 0); +}; + + +/** + * @private + * @param {GVol.RegularShapeRenderOptions} renderOptions Render options. + * @param {CanvasRenderingContext2D} context The context. + * @param {number} x The origin for the symbGVol (x). + * @param {number} y The origin for the symbGVol (y). + */ +GVol.style.RegularShape.prototype.drawHitDetectionCanvas_ = function(renderOptions, context, x, y) { + // reset transform + context.setTransform(1, 0, 0, 1, 0, 0); + + // then move to (x, y) + context.translate(x, y); + + context.beginPath(); + + var points = this.points_; + if (points === Infinity) { + context.arc( + renderOptions.size / 2, renderOptions.size / 2, + this.radius_, 0, 2 * Math.PI, true); + } else { + var radius2 = (this.radius2_ !== undefined) ? this.radius2_ + : this.radius_; + if (radius2 !== this.radius_) { + points = 2 * points; + } + var i, radiusC, angle0; + for (i = 0; i <= points; i++) { + angle0 = i * 2 * Math.PI / points - Math.PI / 2 + this.angle_; + radiusC = i % 2 === 0 ? this.radius_ : radius2; + context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0), + renderOptions.size / 2 + radiusC * Math.sin(angle0)); + } + } + + context.fillStyle = GVol.render.canvas.defaultFillStyle; + context.fill(); + if (this.stroke_) { + context.strokeStyle = renderOptions.strokeStyle; + context.lineWidth = renderOptions.strokeWidth; + if (renderOptions.lineDash) { + context.setLineDash(renderOptions.lineDash); + context.lineDashOffset = renderOptions.lineDashOffset; + } + context.stroke(); + } + context.closePath(); +}; + + +/** + * @return {string} The checksum. + */ +GVol.style.RegularShape.prototype.getChecksum = function() { + var strokeChecksum = this.stroke_ ? + this.stroke_.getChecksum() : '-'; + var fillChecksum = this.fill_ ? + this.fill_.getChecksum() : '-'; + + var recalculate = !this.checksums_ || + (strokeChecksum != this.checksums_[1] || + fillChecksum != this.checksums_[2] || + this.radius_ != this.checksums_[3] || + this.radius2_ != this.checksums_[4] || + this.angle_ != this.checksums_[5] || + this.points_ != this.checksums_[6]); + + if (recalculate) { + var checksum = 'r' + strokeChecksum + fillChecksum + + (this.radius_ !== undefined ? this.radius_.toString() : '-') + + (this.radius2_ !== undefined ? this.radius2_.toString() : '-') + + (this.angle_ !== undefined ? this.angle_.toString() : '-') + + (this.points_ !== undefined ? this.points_.toString() : '-'); + this.checksums_ = [checksum, strokeChecksum, fillChecksum, + this.radius_, this.radius2_, this.angle_, this.points_]; + } + + return this.checksums_[0]; +}; + +goog.provide('GVol.style.Circle'); + +goog.require('GVol'); +goog.require('GVol.style.RegularShape'); + + +/** + * @classdesc + * Set circle style for vector features. + * + * @constructor + * @param {GVolx.style.CircleOptions=} opt_options Options. + * @extends {GVol.style.RegularShape} + * @api + */ +GVol.style.Circle = function(opt_options) { + + var options = opt_options || {}; + + GVol.style.RegularShape.call(this, { + points: Infinity, + fill: options.fill, + radius: options.radius, + snapToPixel: options.snapToPixel, + stroke: options.stroke, + atlasManager: options.atlasManager + }); + +}; +GVol.inherits(GVol.style.Circle, GVol.style.RegularShape); + + +/** + * Clones the style. If an atlasmanager was provided to the original style it will be used in the cloned style, too. + * @return {GVol.style.Circle} The cloned style. + * @override + * @api + */ +GVol.style.Circle.prototype.clone = function() { + var style = new GVol.style.Circle({ + fill: this.getFill() ? this.getFill().clone() : undefined, + stroke: this.getStroke() ? this.getStroke().clone() : undefined, + radius: this.getRadius(), + snapToPixel: this.getSnapToPixel(), + atlasManager: this.atlasManager_ + }); + style.setOpacity(this.getOpacity()); + style.setScale(this.getScale()); + return style; +}; + + +/** + * Set the circle radius. + * + * @param {number} radius Circle radius. + * @api + */ +GVol.style.Circle.prototype.setRadius = function(radius) { + this.radius_ = radius; + this.render_(this.atlasManager_); +}; + +goog.provide('GVol.style.Fill'); + +goog.require('GVol'); +goog.require('GVol.cGVolor'); + + +/** + * @classdesc + * Set fill style for vector features. + * + * @constructor + * @param {GVolx.style.FillOptions=} opt_options Options. + * @api + */ +GVol.style.Fill = function(opt_options) { + + var options = opt_options || {}; + + /** + * @private + * @type {GVol.CGVolor|GVol.CGVolorLike} + */ + this.cGVolor_ = options.cGVolor !== undefined ? options.cGVolor : null; + + /** + * @private + * @type {string|undefined} + */ + this.checksum_ = undefined; +}; + + +/** + * Clones the style. The cGVolor is not cloned if it is an {@link GVol.CGVolorLike}. + * @return {GVol.style.Fill} The cloned style. + * @api + */ +GVol.style.Fill.prototype.clone = function() { + var cGVolor = this.getCGVolor(); + return new GVol.style.Fill({ + cGVolor: (cGVolor && cGVolor.slice) ? cGVolor.slice() : cGVolor || undefined + }); +}; + + +/** + * Get the fill cGVolor. + * @return {GVol.CGVolor|GVol.CGVolorLike} CGVolor. + * @api + */ +GVol.style.Fill.prototype.getCGVolor = function() { + return this.cGVolor_; +}; + + +/** + * Set the cGVolor. + * + * @param {GVol.CGVolor|GVol.CGVolorLike} cGVolor CGVolor. + * @api + */ +GVol.style.Fill.prototype.setCGVolor = function(cGVolor) { + this.cGVolor_ = cGVolor; + this.checksum_ = undefined; +}; + + +/** + * @return {string} The checksum. + */ +GVol.style.Fill.prototype.getChecksum = function() { + if (this.checksum_ === undefined) { + if ( + this.cGVolor_ instanceof CanvasPattern || + this.cGVolor_ instanceof CanvasGradient + ) { + this.checksum_ = GVol.getUid(this.cGVolor_).toString(); + } else { + this.checksum_ = 'f' + (this.cGVolor_ ? + GVol.cGVolor.asString(this.cGVolor_) : '-'); + } + } + + return this.checksum_; +}; + +goog.provide('GVol.style.Style'); + +goog.require('GVol.asserts'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.style.Circle'); +goog.require('GVol.style.Fill'); +goog.require('GVol.style.Stroke'); + + +/** + * @classdesc + * Container for vector feature rendering styles. Any changes made to the style + * or its children through `set*()` methods will not take effect until the + * feature or layer that uses the style is re-rendered. + * + * @constructor + * @struct + * @param {GVolx.style.StyleOptions=} opt_options Style options. + * @api + */ +GVol.style.Style = function(opt_options) { + + var options = opt_options || {}; + + /** + * @private + * @type {string|GVol.geom.Geometry|GVol.StyleGeometryFunction} + */ + this.geometry_ = null; + + /** + * @private + * @type {!GVol.StyleGeometryFunction} + */ + this.geometryFunction_ = GVol.style.Style.defaultGeometryFunction; + + if (options.geometry !== undefined) { + this.setGeometry(options.geometry); + } + + /** + * @private + * @type {GVol.style.Fill} + */ + this.fill_ = options.fill !== undefined ? options.fill : null; + + /** + * @private + * @type {GVol.style.Image} + */ + this.image_ = options.image !== undefined ? options.image : null; + + /** + * @private + * @type {GVol.StyleRenderFunction|null} + */ + this.renderer_ = options.renderer !== undefined ? options.renderer : null; + + /** + * @private + * @type {GVol.style.Stroke} + */ + this.stroke_ = options.stroke !== undefined ? options.stroke : null; + + /** + * @private + * @type {GVol.style.Text} + */ + this.text_ = options.text !== undefined ? options.text : null; + + /** + * @private + * @type {number|undefined} + */ + this.zIndex_ = options.zIndex; + +}; + + +/** + * Clones the style. + * @return {GVol.style.Style} The cloned style. + * @api + */ +GVol.style.Style.prototype.clone = function() { + var geometry = this.getGeometry(); + if (geometry && geometry.clone) { + geometry = geometry.clone(); + } + return new GVol.style.Style({ + geometry: geometry, + fill: this.getFill() ? this.getFill().clone() : undefined, + image: this.getImage() ? this.getImage().clone() : undefined, + stroke: this.getStroke() ? this.getStroke().clone() : undefined, + text: this.getText() ? this.getText().clone() : undefined, + zIndex: this.getZIndex() + }); +}; + + +/** + * Get the custom renderer function that was configured with + * {@link #setRenderer} or the `renderer` constructor option. + * @return {GVol.StyleRenderFunction|null} Custom renderer function. + * @api + */ +GVol.style.Style.prototype.getRenderer = function() { + return this.renderer_; +}; + + +/** + * Sets a custom renderer function for this style. When set, `fill`, `stroke` + * and `image` options of the style will be ignored. + * @param {GVol.StyleRenderFunction|null} renderer Custom renderer function. + * @api + */ +GVol.style.Style.prototype.setRenderer = function(renderer) { + this.renderer_ = renderer; +}; + + +/** + * Get the geometry to be rendered. + * @return {string|GVol.geom.Geometry|GVol.StyleGeometryFunction} + * Feature property or geometry or function that returns the geometry that will + * be rendered with this style. + * @api + */ +GVol.style.Style.prototype.getGeometry = function() { + return this.geometry_; +}; + + +/** + * Get the function used to generate a geometry for rendering. + * @return {!GVol.StyleGeometryFunction} Function that is called with a feature + * and returns the geometry to render instead of the feature's geometry. + * @api + */ +GVol.style.Style.prototype.getGeometryFunction = function() { + return this.geometryFunction_; +}; + + +/** + * Get the fill style. + * @return {GVol.style.Fill} Fill style. + * @api + */ +GVol.style.Style.prototype.getFill = function() { + return this.fill_; +}; + + +/** + * Set the fill style. + * @param {GVol.style.Fill} fill Fill style. + * @api + */ +GVol.style.Style.prototype.setFill = function(fill) { + this.fill_ = fill; +}; + + +/** + * Get the image style. + * @return {GVol.style.Image} Image style. + * @api + */ +GVol.style.Style.prototype.getImage = function() { + return this.image_; +}; + + +/** + * Set the image style. + * @param {GVol.style.Image} image Image style. + * @api + */ +GVol.style.Style.prototype.setImage = function(image) { + this.image_ = image; +}; + + +/** + * Get the stroke style. + * @return {GVol.style.Stroke} Stroke style. + * @api + */ +GVol.style.Style.prototype.getStroke = function() { + return this.stroke_; +}; + + +/** + * Set the stroke style. + * @param {GVol.style.Stroke} stroke Stroke style. + * @api + */ +GVol.style.Style.prototype.setStroke = function(stroke) { + this.stroke_ = stroke; +}; + + +/** + * Get the text style. + * @return {GVol.style.Text} Text style. + * @api + */ +GVol.style.Style.prototype.getText = function() { + return this.text_; +}; + + +/** + * Set the text style. + * @param {GVol.style.Text} text Text style. + * @api + */ +GVol.style.Style.prototype.setText = function(text) { + this.text_ = text; +}; + + +/** + * Get the z-index for the style. + * @return {number|undefined} ZIndex. + * @api + */ +GVol.style.Style.prototype.getZIndex = function() { + return this.zIndex_; +}; + + +/** + * Set a geometry that is rendered instead of the feature's geometry. + * + * @param {string|GVol.geom.Geometry|GVol.StyleGeometryFunction} geometry + * Feature property or geometry or function returning a geometry to render + * for this style. + * @api + */ +GVol.style.Style.prototype.setGeometry = function(geometry) { + if (typeof geometry === 'function') { + this.geometryFunction_ = geometry; + } else if (typeof geometry === 'string') { + this.geometryFunction_ = function(feature) { + return /** @type {GVol.geom.Geometry} */ (feature.get(geometry)); + }; + } else if (!geometry) { + this.geometryFunction_ = GVol.style.Style.defaultGeometryFunction; + } else if (geometry !== undefined) { + this.geometryFunction_ = function() { + return /** @type {GVol.geom.Geometry} */ (geometry); + }; + } + this.geometry_ = geometry; +}; + + +/** + * Set the z-index. + * + * @param {number|undefined} zIndex ZIndex. + * @api + */ +GVol.style.Style.prototype.setZIndex = function(zIndex) { + this.zIndex_ = zIndex; +}; + + +/** + * Convert the provided object into a style function. Functions passed through + * unchanged. Arrays of GVol.style.Style or single style objects wrapped in a + * new style function. + * @param {GVol.StyleFunction|Array.<GVol.style.Style>|GVol.style.Style} obj + * A style function, a single style, or an array of styles. + * @return {GVol.StyleFunction} A style function. + */ +GVol.style.Style.createFunction = function(obj) { + var styleFunction; + + if (typeof obj === 'function') { + styleFunction = obj; + } else { + /** + * @type {Array.<GVol.style.Style>} + */ + var styles; + if (Array.isArray(obj)) { + styles = obj; + } else { + GVol.asserts.assert(obj instanceof GVol.style.Style, + 41); // Expected an `GVol.style.Style` or an array of `GVol.style.Style` + styles = [obj]; + } + styleFunction = function() { + return styles; + }; + } + return styleFunction; +}; + + +/** + * @type {Array.<GVol.style.Style>} + * @private + */ +GVol.style.Style.default_ = null; + + +/** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {number} resGVolution ResGVolution. + * @return {Array.<GVol.style.Style>} Style. + */ +GVol.style.Style.defaultFunction = function(feature, resGVolution) { + // We don't use an immediately-invoked function + // and a closure so we don't get an error at script evaluation time in + // browsers that do not support Canvas. (GVol.style.Circle does + // canvas.getContext('2d') at construction time, which will cause an.error + // in such browsers.) + if (!GVol.style.Style.default_) { + var fill = new GVol.style.Fill({ + cGVolor: 'rgba(255,255,255,0.4)' + }); + var stroke = new GVol.style.Stroke({ + cGVolor: '#3399CC', + width: 1.25 + }); + GVol.style.Style.default_ = [ + new GVol.style.Style({ + image: new GVol.style.Circle({ + fill: fill, + stroke: stroke, + radius: 5 + }), + fill: fill, + stroke: stroke + }) + ]; + } + return GVol.style.Style.default_; +}; + + +/** + * Default styles for editing features. + * @return {Object.<GVol.geom.GeometryType, Array.<GVol.style.Style>>} Styles + */ +GVol.style.Style.createDefaultEditing = function() { + /** @type {Object.<GVol.geom.GeometryType, Array.<GVol.style.Style>>} */ + var styles = {}; + var white = [255, 255, 255, 1]; + var blue = [0, 153, 255, 1]; + var width = 3; + styles[GVol.geom.GeometryType.POLYGON] = [ + new GVol.style.Style({ + fill: new GVol.style.Fill({ + cGVolor: [255, 255, 255, 0.5] + }) + }) + ]; + styles[GVol.geom.GeometryType.MULTI_POLYGON] = + styles[GVol.geom.GeometryType.POLYGON]; + + styles[GVol.geom.GeometryType.LINE_STRING] = [ + new GVol.style.Style({ + stroke: new GVol.style.Stroke({ + cGVolor: white, + width: width + 2 + }) + }), + new GVol.style.Style({ + stroke: new GVol.style.Stroke({ + cGVolor: blue, + width: width + }) + }) + ]; + styles[GVol.geom.GeometryType.MULTI_LINE_STRING] = + styles[GVol.geom.GeometryType.LINE_STRING]; + + styles[GVol.geom.GeometryType.CIRCLE] = + styles[GVol.geom.GeometryType.POLYGON].concat( + styles[GVol.geom.GeometryType.LINE_STRING] + ); + + + styles[GVol.geom.GeometryType.POINT] = [ + new GVol.style.Style({ + image: new GVol.style.Circle({ + radius: width * 2, + fill: new GVol.style.Fill({ + cGVolor: blue + }), + stroke: new GVol.style.Stroke({ + cGVolor: white, + width: width / 2 + }) + }), + zIndex: Infinity + }) + ]; + styles[GVol.geom.GeometryType.MULTI_POINT] = + styles[GVol.geom.GeometryType.POINT]; + + styles[GVol.geom.GeometryType.GEOMETRY_COLLECTION] = + styles[GVol.geom.GeometryType.POLYGON].concat( + styles[GVol.geom.GeometryType.LINE_STRING], + styles[GVol.geom.GeometryType.POINT] + ); + + return styles; +}; + + +/** + * Function that is called with a feature and returns its default geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature to get the geometry + * for. + * @return {GVol.geom.Geometry|GVol.render.Feature|undefined} Geometry to render. + */ +GVol.style.Style.defaultGeometryFunction = function(feature) { + return feature.getGeometry(); +}; + +goog.provide('GVol.Feature'); + +goog.require('GVol.asserts'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol'); +goog.require('GVol.Object'); +goog.require('GVol.geom.Geometry'); +goog.require('GVol.style.Style'); + + +/** + * @classdesc + * A vector object for geographic features with a geometry and other + * attribute properties, similar to the features in vector file formats like + * GeoJSON. + * + * Features can be styled individually with `setStyle`; otherwise they use the + * style of their vector layer. + * + * Note that attribute properties are set as {@link GVol.Object} properties on + * the feature object, so they are observable, and have get/set accessors. + * + * Typically, a feature has a single geometry property. You can set the + * geometry using the `setGeometry` method and get it with `getGeometry`. + * It is possible to store more than one geometry on a feature using attribute + * properties. By default, the geometry used for rendering is identified by + * the property name `geometry`. If you want to use another geometry property + * for rendering, use the `setGeometryName` method to change the attribute + * property associated with the geometry for the feature. For example: + * + * ```js + * var feature = new GVol.Feature({ + * geometry: new GVol.geom.PGVolygon(pGVolyCoords), + * labelPoint: new GVol.geom.Point(labelCoords), + * name: 'My PGVolygon' + * }); + * + * // get the pGVolygon geometry + * var pGVoly = feature.getGeometry(); + * + * // Render the feature as a point using the coordinates from labelPoint + * feature.setGeometryName('labelPoint'); + * + * // get the point geometry + * var point = feature.getGeometry(); + * ``` + * + * @constructor + * @extends {GVol.Object} + * @param {GVol.geom.Geometry|Object.<string, *>=} opt_geometryOrProperties + * You may pass a Geometry object directly, or an object literal + * containing properties. If you pass an object literal, you may + * include a Geometry associated with a `geometry` key. + * @api + */ +GVol.Feature = function(opt_geometryOrProperties) { + + GVol.Object.call(this); + + /** + * @private + * @type {number|string|undefined} + */ + this.id_ = undefined; + + /** + * @type {string} + * @private + */ + this.geometryName_ = 'geometry'; + + /** + * User provided style. + * @private + * @type {GVol.style.Style|Array.<GVol.style.Style>| + * GVol.FeatureStyleFunction} + */ + this.style_ = null; + + /** + * @private + * @type {GVol.FeatureStyleFunction|undefined} + */ + this.styleFunction_ = undefined; + + /** + * @private + * @type {?GVol.EventsKey} + */ + this.geometryChangeKey_ = null; + + GVol.events.listen( + this, GVol.Object.getChangeEventType(this.geometryName_), + this.handleGeometryChanged_, this); + + if (opt_geometryOrProperties !== undefined) { + if (opt_geometryOrProperties instanceof GVol.geom.Geometry || + !opt_geometryOrProperties) { + var geometry = opt_geometryOrProperties; + this.setGeometry(geometry); + } else { + /** @type {Object.<string, *>} */ + var properties = opt_geometryOrProperties; + this.setProperties(properties); + } + } +}; +GVol.inherits(GVol.Feature, GVol.Object); + + +/** + * Clone this feature. If the original feature has a geometry it + * is also cloned. The feature id is not set in the clone. + * @return {GVol.Feature} The clone. + * @api + */ +GVol.Feature.prototype.clone = function() { + var clone = new GVol.Feature(this.getProperties()); + clone.setGeometryName(this.getGeometryName()); + var geometry = this.getGeometry(); + if (geometry) { + clone.setGeometry(geometry.clone()); + } + var style = this.getStyle(); + if (style) { + clone.setStyle(style); + } + return clone; +}; + + +/** + * Get the feature's default geometry. A feature may have any number of named + * geometries. The "default" geometry (the one that is rendered by default) is + * set when calling {@link GVol.Feature#setGeometry}. + * @return {GVol.geom.Geometry|undefined} The default geometry for the feature. + * @api + * @observable + */ +GVol.Feature.prototype.getGeometry = function() { + return /** @type {GVol.geom.Geometry|undefined} */ ( + this.get(this.geometryName_)); +}; + + +/** + * Get the feature identifier. This is a stable identifier for the feature and + * is either set when reading data from a remote source or set explicitly by + * calling {@link GVol.Feature#setId}. + * @return {number|string|undefined} Id. + * @api + */ +GVol.Feature.prototype.getId = function() { + return this.id_; +}; + + +/** + * Get the name of the feature's default geometry. By default, the default + * geometry is named `geometry`. + * @return {string} Get the property name associated with the default geometry + * for this feature. + * @api + */ +GVol.Feature.prototype.getGeometryName = function() { + return this.geometryName_; +}; + + +/** + * Get the feature's style. Will return what was provided to the + * {@link GVol.Feature#setStyle} method. + * @return {GVol.style.Style|Array.<GVol.style.Style>| + * GVol.FeatureStyleFunction|GVol.StyleFunction} The feature style. + * @api + */ +GVol.Feature.prototype.getStyle = function() { + return this.style_; +}; + + +/** + * Get the feature's style function. + * @return {GVol.FeatureStyleFunction|undefined} Return a function + * representing the current style of this feature. + * @api + */ +GVol.Feature.prototype.getStyleFunction = function() { + return this.styleFunction_; +}; + + +/** + * @private + */ +GVol.Feature.prototype.handleGeometryChange_ = function() { + this.changed(); +}; + + +/** + * @private + */ +GVol.Feature.prototype.handleGeometryChanged_ = function() { + if (this.geometryChangeKey_) { + GVol.events.unlistenByKey(this.geometryChangeKey_); + this.geometryChangeKey_ = null; + } + var geometry = this.getGeometry(); + if (geometry) { + this.geometryChangeKey_ = GVol.events.listen(geometry, + GVol.events.EventType.CHANGE, this.handleGeometryChange_, this); + } + this.changed(); +}; + + +/** + * Set the default geometry for the feature. This will update the property + * with the name returned by {@link GVol.Feature#getGeometryName}. + * @param {GVol.geom.Geometry|undefined} geometry The new geometry. + * @api + * @observable + */ +GVol.Feature.prototype.setGeometry = function(geometry) { + this.set(this.geometryName_, geometry); +}; + + +/** + * Set the style for the feature. This can be a single style object, an array + * of styles, or a function that takes a resGVolution and returns an array of + * styles. If it is `null` the feature has no style (a `null` style). + * @param {GVol.style.Style|Array.<GVol.style.Style>| + * GVol.FeatureStyleFunction|GVol.StyleFunction} style Style for this feature. + * @api + * @fires GVol.events.Event#event:change + */ +GVol.Feature.prototype.setStyle = function(style) { + this.style_ = style; + this.styleFunction_ = !style ? + undefined : GVol.Feature.createStyleFunction(style); + this.changed(); +}; + + +/** + * Set the feature id. The feature id is considered stable and may be used when + * requesting features or comparing identifiers returned from a remote source. + * The feature id can be used with the {@link GVol.source.Vector#getFeatureById} + * method. + * @param {number|string|undefined} id The feature id. + * @api + * @fires GVol.events.Event#event:change + */ +GVol.Feature.prototype.setId = function(id) { + this.id_ = id; + this.changed(); +}; + + +/** + * Set the property name to be used when getting the feature's default geometry. + * When calling {@link GVol.Feature#getGeometry}, the value of the property with + * this name will be returned. + * @param {string} name The property name of the default geometry. + * @api + */ +GVol.Feature.prototype.setGeometryName = function(name) { + GVol.events.unlisten( + this, GVol.Object.getChangeEventType(this.geometryName_), + this.handleGeometryChanged_, this); + this.geometryName_ = name; + GVol.events.listen( + this, GVol.Object.getChangeEventType(this.geometryName_), + this.handleGeometryChanged_, this); + this.handleGeometryChanged_(); +}; + + +/** + * Convert the provided object into a feature style function. Functions passed + * through unchanged. Arrays of GVol.style.Style or single style objects wrapped + * in a new feature style function. + * @param {GVol.FeatureStyleFunction|!Array.<GVol.style.Style>|!GVol.style.Style} obj + * A feature style function, a single style, or an array of styles. + * @return {GVol.FeatureStyleFunction} A style function. + */ +GVol.Feature.createStyleFunction = function(obj) { + var styleFunction; + + if (typeof obj === 'function') { + if (obj.length == 2) { + styleFunction = function(resGVolution) { + return /** @type {GVol.StyleFunction} */ (obj)(this, resGVolution); + }; + } else { + styleFunction = obj; + } + } else { + /** + * @type {Array.<GVol.style.Style>} + */ + var styles; + if (Array.isArray(obj)) { + styles = obj; + } else { + GVol.asserts.assert(obj instanceof GVol.style.Style, + 41); // Expected an `GVol.style.Style` or an array of `GVol.style.Style` + styles = [obj]; + } + styleFunction = function() { + return styles; + }; + } + return styleFunction; +}; + +goog.provide('GVol.format.FormatType'); + + +/** + * @enum {string} + */ +GVol.format.FormatType = { + ARRAY_BUFFER: 'arraybuffer', + JSON: 'json', + TEXT: 'text', + XML: 'xml' +}; + +goog.provide('GVol.xml'); + +goog.require('GVol.array'); + + +/** + * This document should be used when creating nodes for XML serializations. This + * document is also used by {@link GVol.xml.createElementNS} and + * {@link GVol.xml.setAttributeNS} + * @const + * @type {Document} + */ +GVol.xml.DOCUMENT = document.implementation.createDocument('', '', null); + + +/** + * @param {string} namespaceURI Namespace URI. + * @param {string} qualifiedName Qualified name. + * @return {Node} Node. + */ +GVol.xml.createElementNS = function(namespaceURI, qualifiedName) { + return GVol.xml.DOCUMENT.createElementNS(namespaceURI, qualifiedName); +}; + + +/** + * Recursively grab all text content of child nodes into a single string. + * @param {Node} node Node. + * @param {boGVolean} normalizeWhitespace Normalize whitespace: remove all line + * breaks. + * @return {string} All text content. + * @api + */ +GVol.xml.getAllTextContent = function(node, normalizeWhitespace) { + return GVol.xml.getAllTextContent_(node, normalizeWhitespace, []).join(''); +}; + + +/** + * Recursively grab all text content of child nodes into a single string. + * @param {Node} node Node. + * @param {boGVolean} normalizeWhitespace Normalize whitespace: remove all line + * breaks. + * @param {Array.<string>} accumulator Accumulator. + * @private + * @return {Array.<string>} Accumulator. + */ +GVol.xml.getAllTextContent_ = function(node, normalizeWhitespace, accumulator) { + if (node.nodeType == Node.CDATA_SECTION_NODE || + node.nodeType == Node.TEXT_NODE) { + if (normalizeWhitespace) { + accumulator.push(String(node.nodeValue).replace(/(\r\n|\r|\n)/g, '')); + } else { + accumulator.push(node.nodeValue); + } + } else { + var n; + for (n = node.firstChild; n; n = n.nextSibling) { + GVol.xml.getAllTextContent_(n, normalizeWhitespace, accumulator); + } + } + return accumulator; +}; + + +/** + * @param {?} value Value. + * @return {boGVolean} Is document. + */ +GVol.xml.isDocument = function(value) { + return value instanceof Document; +}; + + +/** + * @param {?} value Value. + * @return {boGVolean} Is node. + */ +GVol.xml.isNode = function(value) { + return value instanceof Node; +}; + + +/** + * @param {Node} node Node. + * @param {?string} namespaceURI Namespace URI. + * @param {string} name Attribute name. + * @return {string} Value + */ +GVol.xml.getAttributeNS = function(node, namespaceURI, name) { + return node.getAttributeNS(namespaceURI, name) || ''; +}; + + +/** + * @param {Node} node Node. + * @param {?string} namespaceURI Namespace URI. + * @param {string} name Attribute name. + * @param {string|number} value Value. + */ +GVol.xml.setAttributeNS = function(node, namespaceURI, name, value) { + node.setAttributeNS(namespaceURI, name, value); +}; + + +/** + * Parse an XML string to an XML Document. + * @param {string} xml XML. + * @return {Document} Document. + * @api + */ +GVol.xml.parse = function(xml) { + return new DOMParser().parseFromString(xml, 'application/xml'); +}; + + +/** + * Make an array extender function for extending the array at the top of the + * object stack. + * @param {function(this: T, Node, Array.<*>): (Array.<*>|undefined)} + * valueReader Value reader. + * @param {T=} opt_this The object to use as `this` in `valueReader`. + * @return {GVol.XmlParser} Parser. + * @template T + */ +GVol.xml.makeArrayExtender = function(valueReader, opt_this) { + return ( + /** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + */ + function(node, objectStack) { + var value = valueReader.call(opt_this, node, objectStack); + if (value !== undefined) { + var array = /** @type {Array.<*>} */ + (objectStack[objectStack.length - 1]); + GVol.array.extend(array, value); + } + }); +}; + + +/** + * Make an array pusher function for pushing to the array at the top of the + * object stack. + * @param {function(this: T, Node, Array.<*>): *} valueReader Value reader. + * @param {T=} opt_this The object to use as `this` in `valueReader`. + * @return {GVol.XmlParser} Parser. + * @template T + */ +GVol.xml.makeArrayPusher = function(valueReader, opt_this) { + return ( + /** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + */ + function(node, objectStack) { + var value = valueReader.call(opt_this !== undefined ? opt_this : this, + node, objectStack); + if (value !== undefined) { + var array = objectStack[objectStack.length - 1]; + array.push(value); + } + }); +}; + + +/** + * Make an object stack replacer function for replacing the object at the + * top of the stack. + * @param {function(this: T, Node, Array.<*>): *} valueReader Value reader. + * @param {T=} opt_this The object to use as `this` in `valueReader`. + * @return {GVol.XmlParser} Parser. + * @template T + */ +GVol.xml.makeReplacer = function(valueReader, opt_this) { + return ( + /** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + */ + function(node, objectStack) { + var value = valueReader.call(opt_this !== undefined ? opt_this : this, + node, objectStack); + if (value !== undefined) { + objectStack[objectStack.length - 1] = value; + } + }); +}; + + +/** + * Make an object property pusher function for adding a property to the + * object at the top of the stack. + * @param {function(this: T, Node, Array.<*>): *} valueReader Value reader. + * @param {string=} opt_property Property. + * @param {T=} opt_this The object to use as `this` in `valueReader`. + * @return {GVol.XmlParser} Parser. + * @template T + */ +GVol.xml.makeObjectPropertyPusher = function(valueReader, opt_property, opt_this) { + return ( + /** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + */ + function(node, objectStack) { + var value = valueReader.call(opt_this !== undefined ? opt_this : this, + node, objectStack); + if (value !== undefined) { + var object = /** @type {Object} */ + (objectStack[objectStack.length - 1]); + var property = opt_property !== undefined ? + opt_property : node.localName; + var array; + if (property in object) { + array = object[property]; + } else { + array = object[property] = []; + } + array.push(value); + } + }); +}; + + +/** + * Make an object property setter function. + * @param {function(this: T, Node, Array.<*>): *} valueReader Value reader. + * @param {string=} opt_property Property. + * @param {T=} opt_this The object to use as `this` in `valueReader`. + * @return {GVol.XmlParser} Parser. + * @template T + */ +GVol.xml.makeObjectPropertySetter = function(valueReader, opt_property, opt_this) { + return ( + /** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + */ + function(node, objectStack) { + var value = valueReader.call(opt_this !== undefined ? opt_this : this, + node, objectStack); + if (value !== undefined) { + var object = /** @type {Object} */ + (objectStack[objectStack.length - 1]); + var property = opt_property !== undefined ? + opt_property : node.localName; + object[property] = value; + } + }); +}; + + +/** + * Create a serializer that appends nodes written by its `nodeWriter` to its + * designated parent. The parent is the `node` of the + * {@link GVol.XmlNodeStackItem} at the top of the `objectStack`. + * @param {function(this: T, Node, V, Array.<*>)} + * nodeWriter Node writer. + * @param {T=} opt_this The object to use as `this` in `nodeWriter`. + * @return {GVol.XmlSerializer} Serializer. + * @template T, V + */ +GVol.xml.makeChildAppender = function(nodeWriter, opt_this) { + return function(node, value, objectStack) { + nodeWriter.call(opt_this !== undefined ? opt_this : this, + node, value, objectStack); + var parent = objectStack[objectStack.length - 1]; + var parentNode = parent.node; + parentNode.appendChild(node); + }; +}; + + +/** + * Create a serializer that calls the provided `nodeWriter` from + * {@link GVol.xml.serialize}. This can be used by the parent writer to have the + * 'nodeWriter' called with an array of values when the `nodeWriter` was + * designed to serialize a single item. An example would be a LineString + * geometry writer, which could be reused for writing MultiLineString + * geometries. + * @param {function(this: T, Node, V, Array.<*>)} + * nodeWriter Node writer. + * @param {T=} opt_this The object to use as `this` in `nodeWriter`. + * @return {GVol.XmlSerializer} Serializer. + * @template T, V + */ +GVol.xml.makeArraySerializer = function(nodeWriter, opt_this) { + var serializersNS, nodeFactory; + return function(node, value, objectStack) { + if (serializersNS === undefined) { + serializersNS = {}; + var serializers = {}; + serializers[node.localName] = nodeWriter; + serializersNS[node.namespaceURI] = serializers; + nodeFactory = GVol.xml.makeSimpleNodeFactory(node.localName); + } + GVol.xml.serialize(serializersNS, nodeFactory, value, objectStack); + }; +}; + + +/** + * Create a node factory which can use the `opt_keys` passed to + * {@link GVol.xml.serialize} or {@link GVol.xml.pushSerializeAndPop} as node names, + * or a fixed node name. The namespace of the created nodes can either be fixed, + * or the parent namespace will be used. + * @param {string=} opt_nodeName Fixed node name which will be used for all + * created nodes. If not provided, the 3rd argument to the resulting node + * factory needs to be provided and will be the nodeName. + * @param {string=} opt_namespaceURI Fixed namespace URI which will be used for + * all created nodes. If not provided, the namespace of the parent node will + * be used. + * @return {function(*, Array.<*>, string=): (Node|undefined)} Node factory. + */ +GVol.xml.makeSimpleNodeFactory = function(opt_nodeName, opt_namespaceURI) { + var fixedNodeName = opt_nodeName; + return ( + /** + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node} Node. + */ + function(value, objectStack, opt_nodeName) { + var context = objectStack[objectStack.length - 1]; + var node = context.node; + var nodeName = fixedNodeName; + if (nodeName === undefined) { + nodeName = opt_nodeName; + } + var namespaceURI = opt_namespaceURI; + if (opt_namespaceURI === undefined) { + namespaceURI = node.namespaceURI; + } + return GVol.xml.createElementNS(namespaceURI, /** @type {string} */ (nodeName)); + } + ); +}; + + +/** + * A node factory that creates a node using the parent's `namespaceURI` and the + * `nodeName` passed by {@link GVol.xml.serialize} or + * {@link GVol.xml.pushSerializeAndPop} to the node factory. + * @const + * @type {function(*, Array.<*>, string=): (Node|undefined)} + */ +GVol.xml.OBJECT_PROPERTY_NODE_FACTORY = GVol.xml.makeSimpleNodeFactory(); + + +/** + * Create an array of `values` to be used with {@link GVol.xml.serialize} or + * {@link GVol.xml.pushSerializeAndPop}, where `orderedKeys` has to be provided as + * `opt_key` argument. + * @param {Object.<string, V>} object Key-value pairs for the sequence. Keys can + * be a subset of the `orderedKeys`. + * @param {Array.<string>} orderedKeys Keys in the order of the sequence. + * @return {Array.<V>} Values in the order of the sequence. The resulting array + * has the same length as the `orderedKeys` array. Values that are not + * present in `object` will be `undefined` in the resulting array. + * @template V + */ +GVol.xml.makeSequence = function(object, orderedKeys) { + var length = orderedKeys.length; + var sequence = new Array(length); + for (var i = 0; i < length; ++i) { + sequence[i] = object[orderedKeys[i]]; + } + return sequence; +}; + + +/** + * Create a namespaced structure, using the same values for each namespace. + * This can be used as a starting point for versioned parsers, when only a few + * values are version specific. + * @param {Array.<string>} namespaceURIs Namespace URIs. + * @param {T} structure Structure. + * @param {Object.<string, T>=} opt_structureNS Namespaced structure to add to. + * @return {Object.<string, T>} Namespaced structure. + * @template T + */ +GVol.xml.makeStructureNS = function(namespaceURIs, structure, opt_structureNS) { + /** + * @type {Object.<string, *>} + */ + var structureNS = opt_structureNS !== undefined ? opt_structureNS : {}; + var i, ii; + for (i = 0, ii = namespaceURIs.length; i < ii; ++i) { + structureNS[namespaceURIs[i]] = structure; + } + return structureNS; +}; + + +/** + * Parse a node using the parsers and object stack. + * @param {Object.<string, Object.<string, GVol.XmlParser>>} parsersNS + * Parsers by namespace. + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @param {*=} opt_this The object to use as `this`. + */ +GVol.xml.parseNode = function(parsersNS, node, objectStack, opt_this) { + var n; + for (n = node.firstElementChild; n; n = n.nextElementSibling) { + var parsers = parsersNS[n.namespaceURI]; + if (parsers !== undefined) { + var parser = parsers[n.localName]; + if (parser !== undefined) { + parser.call(opt_this, n, objectStack); + } + } + } +}; + + +/** + * Push an object on top of the stack, parse and return the popped object. + * @param {T} object Object. + * @param {Object.<string, Object.<string, GVol.XmlParser>>} parsersNS + * Parsers by namespace. + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @param {*=} opt_this The object to use as `this`. + * @return {T} Object. + * @template T + */ +GVol.xml.pushParseAndPop = function( + object, parsersNS, node, objectStack, opt_this) { + objectStack.push(object); + GVol.xml.parseNode(parsersNS, node, objectStack, opt_this); + return objectStack.pop(); +}; + + +/** + * Walk through an array of `values` and call a serializer for each value. + * @param {Object.<string, Object.<string, GVol.XmlSerializer>>} serializersNS + * Namespaced serializers. + * @param {function(this: T, *, Array.<*>, (string|undefined)): (Node|undefined)} nodeFactory + * Node factory. The `nodeFactory` creates the node whose namespace and name + * will be used to choose a node writer from `serializersNS`. This + * separation allows us to decide what kind of node to create, depending on + * the value we want to serialize. An example for this would be different + * geometry writers based on the geometry type. + * @param {Array.<*>} values Values to serialize. An example would be an array + * of {@link GVol.Feature} instances. + * @param {Array.<*>} objectStack Node stack. + * @param {Array.<string>=} opt_keys Keys of the `values`. Will be passed to the + * `nodeFactory`. This is used for serializing object literals where the + * node name relates to the property key. The array length of `opt_keys` has + * to match the length of `values`. For serializing a sequence, `opt_keys` + * determines the order of the sequence. + * @param {T=} opt_this The object to use as `this` for the node factory and + * serializers. + * @template T + */ +GVol.xml.serialize = function( + serializersNS, nodeFactory, values, objectStack, opt_keys, opt_this) { + var length = (opt_keys !== undefined ? opt_keys : values).length; + var value, node; + for (var i = 0; i < length; ++i) { + value = values[i]; + if (value !== undefined) { + node = nodeFactory.call(opt_this, value, objectStack, + opt_keys !== undefined ? opt_keys[i] : undefined); + if (node !== undefined) { + serializersNS[node.namespaceURI][node.localName] + .call(opt_this, node, value, objectStack); + } + } + } +}; + + +/** + * @param {O} object Object. + * @param {Object.<string, Object.<string, GVol.XmlSerializer>>} serializersNS + * Namespaced serializers. + * @param {function(this: T, *, Array.<*>, (string|undefined)): (Node|undefined)} nodeFactory + * Node factory. The `nodeFactory` creates the node whose namespace and name + * will be used to choose a node writer from `serializersNS`. This + * separation allows us to decide what kind of node to create, depending on + * the value we want to serialize. An example for this would be different + * geometry writers based on the geometry type. + * @param {Array.<*>} values Values to serialize. An example would be an array + * of {@link GVol.Feature} instances. + * @param {Array.<*>} objectStack Node stack. + * @param {Array.<string>=} opt_keys Keys of the `values`. Will be passed to the + * `nodeFactory`. This is used for serializing object literals where the + * node name relates to the property key. The array length of `opt_keys` has + * to match the length of `values`. For serializing a sequence, `opt_keys` + * determines the order of the sequence. + * @param {T=} opt_this The object to use as `this` for the node factory and + * serializers. + * @return {O|undefined} Object. + * @template O, T + */ +GVol.xml.pushSerializeAndPop = function(object, + serializersNS, nodeFactory, values, objectStack, opt_keys, opt_this) { + objectStack.push(object); + GVol.xml.serialize( + serializersNS, nodeFactory, values, objectStack, opt_keys, opt_this); + return objectStack.pop(); +}; + +goog.provide('GVol.featureloader'); + +goog.require('GVol'); +goog.require('GVol.format.FormatType'); +goog.require('GVol.xml'); + + +/** + * @param {string|GVol.FeatureUrlFunction} url Feature URL service. + * @param {GVol.format.Feature} format Feature format. + * @param {function(this:GVol.VectorTile, Array.<GVol.Feature>, GVol.proj.Projection, GVol.Extent)|function(this:GVol.source.Vector, Array.<GVol.Feature>)} success + * Function called with the loaded features and optionally with the data + * projection. Called with the vector tile or source as `this`. + * @param {function(this:GVol.VectorTile)|function(this:GVol.source.Vector)} failure + * Function called when loading failed. Called with the vector tile or + * source as `this`. + * @return {GVol.FeatureLoader} The feature loader. + */ +GVol.featureloader.loadFeaturesXhr = function(url, format, success, failure) { + return ( + /** + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @param {GVol.proj.Projection} projection Projection. + * @this {GVol.source.Vector|GVol.VectorTile} + */ + function(extent, resGVolution, projection) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', + typeof url === 'function' ? url(extent, resGVolution, projection) : url, + true); + if (format.getType() == GVol.format.FormatType.ARRAY_BUFFER) { + xhr.responseType = 'arraybuffer'; + } + /** + * @param {Event} event Event. + * @private + */ + xhr.onload = function(event) { + // status will be 0 for file:// urls + if (!xhr.status || xhr.status >= 200 && xhr.status < 300) { + var type = format.getType(); + /** @type {Document|Node|Object|string|undefined} */ + var source; + if (type == GVol.format.FormatType.JSON || + type == GVol.format.FormatType.TEXT) { + source = xhr.responseText; + } else if (type == GVol.format.FormatType.XML) { + source = xhr.responseXML; + if (!source) { + source = GVol.xml.parse(xhr.responseText); + } + } else if (type == GVol.format.FormatType.ARRAY_BUFFER) { + source = /** @type {ArrayBuffer} */ (xhr.response); + } + if (source) { + success.call(this, format.readFeatures(source, + {featureProjection: projection}), + format.readProjection(source), format.getLastExtent()); + } else { + failure.call(this); + } + } else { + failure.call(this); + } + }.bind(this); + /** + * @private + */ + xhr.onerror = function() { + failure.call(this); + }.bind(this); + xhr.send(); + }); +}; + + +/** + * Create an XHR feature loader for a `url` and `format`. The feature loader + * loads features (with XHR), parses the features, and adds them to the + * vector source. + * @param {string|GVol.FeatureUrlFunction} url Feature URL service. + * @param {GVol.format.Feature} format Feature format. + * @return {GVol.FeatureLoader} The feature loader. + * @api + */ +GVol.featureloader.xhr = function(url, format) { + return GVol.featureloader.loadFeaturesXhr(url, format, + /** + * @param {Array.<GVol.Feature>} features The loaded features. + * @param {GVol.proj.Projection} dataProjection Data projection. + * @this {GVol.source.Vector} + */ + function(features, dataProjection) { + this.addFeatures(features); + }, /* FIXME handle error */ GVol.nullFunction); +}; + +goog.provide('GVol.format.Feature'); + +goog.require('GVol.geom.Geometry'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Base class for feature formats. + * {GVol.format.Feature} subclasses provide the ability to decode and encode + * {@link GVol.Feature} objects from a variety of commonly used geospatial + * file formats. See the documentation for each format for more details. + * + * @constructor + * @abstract + * @api + */ +GVol.format.Feature = function() { + + /** + * @protected + * @type {GVol.proj.Projection} + */ + this.defaultDataProjection = null; + + /** + * @protected + * @type {GVol.proj.Projection} + */ + this.defaultFeatureProjection = null; + +}; + + +/** + * Adds the data projection to the read options. + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Options. + * @return {GVolx.format.ReadOptions|undefined} Options. + * @protected + */ +GVol.format.Feature.prototype.getReadOptions = function(source, opt_options) { + var options; + if (opt_options) { + options = { + dataProjection: opt_options.dataProjection ? + opt_options.dataProjection : this.readProjection(source), + featureProjection: opt_options.featureProjection + }; + } + return this.adaptOptions(options); +}; + + +/** + * Sets the `defaultDataProjection` on the options, if no `dataProjection` + * is set. + * @param {GVolx.format.WriteOptions|GVolx.format.ReadOptions|undefined} options + * Options. + * @protected + * @return {GVolx.format.WriteOptions|GVolx.format.ReadOptions|undefined} + * Updated options. + */ +GVol.format.Feature.prototype.adaptOptions = function(options) { + return GVol.obj.assign({ + dataProjection: this.defaultDataProjection, + featureProjection: this.defaultFeatureProjection + }, options); +}; + + +/** + * Get the extent from the source of the last {@link readFeatures} call. + * @return {GVol.Extent} Tile extent. + */ +GVol.format.Feature.prototype.getLastExtent = function() { + return null; +}; + + +/** + * @abstract + * @return {GVol.format.FormatType} Format. + */ +GVol.format.Feature.prototype.getType = function() {}; + + +/** + * Read a single feature from a source. + * + * @abstract + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + */ +GVol.format.Feature.prototype.readFeature = function(source, opt_options) {}; + + +/** + * Read all features from a source. + * + * @abstract + * @param {Document|Node|ArrayBuffer|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + */ +GVol.format.Feature.prototype.readFeatures = function(source, opt_options) {}; + + +/** + * Read a single geometry from a source. + * + * @abstract + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.geom.Geometry} Geometry. + */ +GVol.format.Feature.prototype.readGeometry = function(source, opt_options) {}; + + +/** + * Read the projection from a source. + * + * @abstract + * @param {Document|Node|Object|string} source Source. + * @return {GVol.proj.Projection} Projection. + */ +GVol.format.Feature.prototype.readProjection = function(source) {}; + + +/** + * Encode a feature in this format. + * + * @abstract + * @param {GVol.Feature} feature Feature. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} Result. + */ +GVol.format.Feature.prototype.writeFeature = function(feature, opt_options) {}; + + +/** + * Encode an array of features in this format. + * + * @abstract + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} Result. + */ +GVol.format.Feature.prototype.writeFeatures = function(features, opt_options) {}; + + +/** + * Write a single geometry in this format. + * + * @abstract + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} Result. + */ +GVol.format.Feature.prototype.writeGeometry = function(geometry, opt_options) {}; + + +/** + * @param {GVol.geom.Geometry|GVol.Extent} geometry Geometry. + * @param {boGVolean} write Set to true for writing, false for reading. + * @param {(GVolx.format.WriteOptions|GVolx.format.ReadOptions)=} opt_options + * Options. + * @return {GVol.geom.Geometry|GVol.Extent} Transformed geometry. + * @protected + */ +GVol.format.Feature.transformWithOptions = function( + geometry, write, opt_options) { + var featureProjection = opt_options ? + GVol.proj.get(opt_options.featureProjection) : null; + var dataProjection = opt_options ? + GVol.proj.get(opt_options.dataProjection) : null; + /** + * @type {GVol.geom.Geometry|GVol.Extent} + */ + var transformed; + if (featureProjection && dataProjection && + !GVol.proj.equivalent(featureProjection, dataProjection)) { + if (geometry instanceof GVol.geom.Geometry) { + transformed = (write ? geometry.clone() : geometry).transform( + write ? featureProjection : dataProjection, + write ? dataProjection : featureProjection); + } else { + // FIXME this is necessary because GVol.format.GML treats extents + // as geometries + transformed = GVol.proj.transformExtent( + geometry, + dataProjection, + featureProjection); + } + } else { + transformed = geometry; + } + if (write && opt_options && opt_options.decimals !== undefined) { + var power = Math.pow(10, opt_options.decimals); + // if decimals option on write, round each coordinate appropriately + /** + * @param {Array.<number>} coordinates Coordinates. + * @return {Array.<number>} Transformed coordinates. + */ + var transform = function(coordinates) { + for (var i = 0, ii = coordinates.length; i < ii; ++i) { + coordinates[i] = Math.round(coordinates[i] * power) / power; + } + return coordinates; + }; + if (transformed === geometry) { + transformed = transformed.clone(); + } + transformed.applyTransform(transform); + } + return transformed; +}; + +goog.provide('GVol.format.JSONFeature'); + +goog.require('GVol'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.FormatType'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Base class for JSON feature formats. + * + * @constructor + * @abstract + * @extends {GVol.format.Feature} + */ +GVol.format.JSONFeature = function() { + GVol.format.Feature.call(this); +}; +GVol.inherits(GVol.format.JSONFeature, GVol.format.Feature); + + +/** + * @param {Document|Node|Object|string} source Source. + * @private + * @return {Object} Object. + */ +GVol.format.JSONFeature.prototype.getObject_ = function(source) { + if (typeof source === 'string') { + var object = JSON.parse(source); + return object ? /** @type {Object} */ (object) : null; + } else if (source !== null) { + return source; + } else { + return null; + } +}; + + +/** + * @inheritDoc + */ +GVol.format.JSONFeature.prototype.getType = function() { + return GVol.format.FormatType.JSON; +}; + + +/** + * @inheritDoc + */ +GVol.format.JSONFeature.prototype.readFeature = function(source, opt_options) { + return this.readFeatureFromObject( + this.getObject_(source), this.getReadOptions(source, opt_options)); +}; + + +/** + * @inheritDoc + */ +GVol.format.JSONFeature.prototype.readFeatures = function(source, opt_options) { + return this.readFeaturesFromObject( + this.getObject_(source), this.getReadOptions(source, opt_options)); +}; + + +/** + * @abstract + * @param {Object} object Object. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @protected + * @return {GVol.Feature} Feature. + */ +GVol.format.JSONFeature.prototype.readFeatureFromObject = function(object, opt_options) {}; + + +/** + * @abstract + * @param {Object} object Object. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @protected + * @return {Array.<GVol.Feature>} Features. + */ +GVol.format.JSONFeature.prototype.readFeaturesFromObject = function(object, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.JSONFeature.prototype.readGeometry = function(source, opt_options) { + return this.readGeometryFromObject( + this.getObject_(source), this.getReadOptions(source, opt_options)); +}; + + +/** + * @abstract + * @param {Object} object Object. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @protected + * @return {GVol.geom.Geometry} Geometry. + */ +GVol.format.JSONFeature.prototype.readGeometryFromObject = function(object, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.JSONFeature.prototype.readProjection = function(source) { + return this.readProjectionFromObject(this.getObject_(source)); +}; + + +/** + * @abstract + * @param {Object} object Object. + * @protected + * @return {GVol.proj.Projection} Projection. + */ +GVol.format.JSONFeature.prototype.readProjectionFromObject = function(object) {}; + + +/** + * @inheritDoc + */ +GVol.format.JSONFeature.prototype.writeFeature = function(feature, opt_options) { + return JSON.stringify(this.writeFeatureObject(feature, opt_options)); +}; + + +/** + * @abstract + * @param {GVol.Feature} feature Feature. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {Object} Object. + */ +GVol.format.JSONFeature.prototype.writeFeatureObject = function(feature, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.JSONFeature.prototype.writeFeatures = function(features, opt_options) { + return JSON.stringify(this.writeFeaturesObject(features, opt_options)); +}; + + +/** + * @abstract + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {Object} Object. + */ +GVol.format.JSONFeature.prototype.writeFeaturesObject = function(features, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.JSONFeature.prototype.writeGeometry = function(geometry, opt_options) { + return JSON.stringify(this.writeGeometryObject(geometry, opt_options)); +}; + + +/** + * @abstract + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {Object} Object. + */ +GVol.format.JSONFeature.prototype.writeGeometryObject = function(geometry, opt_options) {}; + +goog.provide('GVol.geom.flat.interpGVolate'); + +goog.require('GVol.array'); +goog.require('GVol.math'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} fraction Fraction. + * @param {Array.<number>=} opt_dest Destination. + * @return {Array.<number>} Destination. + */ +GVol.geom.flat.interpGVolate.lineString = function(flatCoordinates, offset, end, stride, fraction, opt_dest) { + var pointX = NaN; + var pointY = NaN; + var n = (end - offset) / stride; + if (n === 1) { + pointX = flatCoordinates[offset]; + pointY = flatCoordinates[offset + 1]; + } else if (n == 2) { + pointX = (1 - fraction) * flatCoordinates[offset] + + fraction * flatCoordinates[offset + stride]; + pointY = (1 - fraction) * flatCoordinates[offset + 1] + + fraction * flatCoordinates[offset + stride + 1]; + } else if (n !== 0) { + var x1 = flatCoordinates[offset]; + var y1 = flatCoordinates[offset + 1]; + var length = 0; + var cumulativeLengths = [0]; + var i; + for (i = offset + stride; i < end; i += stride) { + var x2 = flatCoordinates[i]; + var y2 = flatCoordinates[i + 1]; + length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); + cumulativeLengths.push(length); + x1 = x2; + y1 = y2; + } + var target = fraction * length; + var index = GVol.array.binarySearch(cumulativeLengths, target); + if (index < 0) { + var t = (target - cumulativeLengths[-index - 2]) / + (cumulativeLengths[-index - 1] - cumulativeLengths[-index - 2]); + var o = offset + (-index - 2) * stride; + pointX = GVol.math.lerp( + flatCoordinates[o], flatCoordinates[o + stride], t); + pointY = GVol.math.lerp( + flatCoordinates[o + 1], flatCoordinates[o + stride + 1], t); + } else { + pointX = flatCoordinates[offset + index * stride]; + pointY = flatCoordinates[offset + index * stride + 1]; + } + } + if (opt_dest) { + opt_dest[0] = pointX; + opt_dest[1] = pointY; + return opt_dest; + } else { + return [pointX, pointY]; + } +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} m M. + * @param {boGVolean} extrapGVolate ExtrapGVolate. + * @return {GVol.Coordinate} Coordinate. + */ +GVol.geom.flat.interpGVolate.lineStringCoordinateAtM = function(flatCoordinates, offset, end, stride, m, extrapGVolate) { + if (end == offset) { + return null; + } + var coordinate; + if (m < flatCoordinates[offset + stride - 1]) { + if (extrapGVolate) { + coordinate = flatCoordinates.slice(offset, offset + stride); + coordinate[stride - 1] = m; + return coordinate; + } else { + return null; + } + } else if (flatCoordinates[end - 1] < m) { + if (extrapGVolate) { + coordinate = flatCoordinates.slice(end - stride, end); + coordinate[stride - 1] = m; + return coordinate; + } else { + return null; + } + } + // FIXME use O(1) search + if (m == flatCoordinates[offset + stride - 1]) { + return flatCoordinates.slice(offset, offset + stride); + } + var lo = offset / stride; + var hi = end / stride; + while (lo < hi) { + var mid = (lo + hi) >> 1; + if (m < flatCoordinates[(mid + 1) * stride - 1]) { + hi = mid; + } else { + lo = mid + 1; + } + } + var m0 = flatCoordinates[lo * stride - 1]; + if (m == m0) { + return flatCoordinates.slice((lo - 1) * stride, (lo - 1) * stride + stride); + } + var m1 = flatCoordinates[(lo + 1) * stride - 1]; + var t = (m - m0) / (m1 - m0); + coordinate = []; + var i; + for (i = 0; i < stride - 1; ++i) { + coordinate.push(GVol.math.lerp(flatCoordinates[(lo - 1) * stride + i], + flatCoordinates[lo * stride + i], t)); + } + coordinate.push(m); + return coordinate; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {number} m M. + * @param {boGVolean} extrapGVolate ExtrapGVolate. + * @param {boGVolean} interpGVolate InterpGVolate. + * @return {GVol.Coordinate} Coordinate. + */ +GVol.geom.flat.interpGVolate.lineStringsCoordinateAtM = function( + flatCoordinates, offset, ends, stride, m, extrapGVolate, interpGVolate) { + if (interpGVolate) { + return GVol.geom.flat.interpGVolate.lineStringCoordinateAtM( + flatCoordinates, offset, ends[ends.length - 1], stride, m, extrapGVolate); + } + var coordinate; + if (m < flatCoordinates[stride - 1]) { + if (extrapGVolate) { + coordinate = flatCoordinates.slice(0, stride); + coordinate[stride - 1] = m; + return coordinate; + } else { + return null; + } + } + if (flatCoordinates[flatCoordinates.length - 1] < m) { + if (extrapGVolate) { + coordinate = flatCoordinates.slice(flatCoordinates.length - stride); + coordinate[stride - 1] = m; + return coordinate; + } else { + return null; + } + } + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + if (offset == end) { + continue; + } + if (m < flatCoordinates[offset + stride - 1]) { + return null; + } else if (m <= flatCoordinates[end - 1]) { + return GVol.geom.flat.interpGVolate.lineStringCoordinateAtM( + flatCoordinates, offset, end, stride, m, false); + } + offset = end; + } + return null; +}; + +goog.provide('GVol.geom.flat.length'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {number} Length. + */ +GVol.geom.flat.length.lineString = function(flatCoordinates, offset, end, stride) { + var x1 = flatCoordinates[offset]; + var y1 = flatCoordinates[offset + 1]; + var length = 0; + var i; + for (i = offset + stride; i < end; i += stride) { + var x2 = flatCoordinates[i]; + var y2 = flatCoordinates[i + 1]; + length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); + x1 = x2; + y1 = y2; + } + return length; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {number} Perimeter. + */ +GVol.geom.flat.length.linearRing = function(flatCoordinates, offset, end, stride) { + var perimeter = + GVol.geom.flat.length.lineString(flatCoordinates, offset, end, stride); + var dx = flatCoordinates[end - stride] - flatCoordinates[offset]; + var dy = flatCoordinates[end - stride + 1] - flatCoordinates[offset + 1]; + perimeter += Math.sqrt(dx * dx + dy * dy); + return perimeter; +}; + +goog.provide('GVol.geom.LineString'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.closest'); +goog.require('GVol.geom.flat.deflate'); +goog.require('GVol.geom.flat.inflate'); +goog.require('GVol.geom.flat.interpGVolate'); +goog.require('GVol.geom.flat.intersectsextent'); +goog.require('GVol.geom.flat.length'); +goog.require('GVol.geom.flat.segments'); +goog.require('GVol.geom.flat.simplify'); + + +/** + * @classdesc + * Linestring geometry. + * + * @constructor + * @extends {GVol.geom.SimpleGeometry} + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @api + */ +GVol.geom.LineString = function(coordinates, opt_layout) { + + GVol.geom.SimpleGeometry.call(this); + + /** + * @private + * @type {GVol.Coordinate} + */ + this.flatMidpoint_ = null; + + /** + * @private + * @type {number} + */ + this.flatMidpointRevision_ = -1; + + /** + * @private + * @type {number} + */ + this.maxDelta_ = -1; + + /** + * @private + * @type {number} + */ + this.maxDeltaRevision_ = -1; + + this.setCoordinates(coordinates, opt_layout); + +}; +GVol.inherits(GVol.geom.LineString, GVol.geom.SimpleGeometry); + + +/** + * Append the passed coordinate to the coordinates of the linestring. + * @param {GVol.Coordinate} coordinate Coordinate. + * @api + */ +GVol.geom.LineString.prototype.appendCoordinate = function(coordinate) { + if (!this.flatCoordinates) { + this.flatCoordinates = coordinate.slice(); + } else { + GVol.array.extend(this.flatCoordinates, coordinate); + } + this.changed(); +}; + + +/** + * Make a complete copy of the geometry. + * @return {!GVol.geom.LineString} Clone. + * @override + * @api + */ +GVol.geom.LineString.prototype.clone = function() { + var lineString = new GVol.geom.LineString(null); + lineString.setFlatCoordinates(this.layout, this.flatCoordinates.slice()); + return lineString; +}; + + +/** + * @inheritDoc + */ +GVol.geom.LineString.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) { + if (minSquaredDistance < + GVol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) { + return minSquaredDistance; + } + if (this.maxDeltaRevision_ != this.getRevision()) { + this.maxDelta_ = Math.sqrt(GVol.geom.flat.closest.getMaxSquaredDelta( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, 0)); + this.maxDeltaRevision_ = this.getRevision(); + } + return GVol.geom.flat.closest.getClosestPoint( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, + this.maxDelta_, false, x, y, closestPoint, minSquaredDistance); +}; + + +/** + * Iterate over each segment, calling the provided callback. + * If the callback returns a truthy value the function returns that + * value immediately. Otherwise the function returns `false`. + * + * @param {function(this: S, GVol.Coordinate, GVol.Coordinate): T} callback Function + * called for each segment. + * @param {S=} opt_this The object to be used as the value of 'this' + * within callback. + * @return {T|boGVolean} Value. + * @template T,S + * @api + */ +GVol.geom.LineString.prototype.forEachSegment = function(callback, opt_this) { + return GVol.geom.flat.segments.forEach(this.flatCoordinates, 0, + this.flatCoordinates.length, this.stride, callback, opt_this); +}; + + +/** + * Returns the coordinate at `m` using linear interpGVolation, or `null` if no + * such coordinate exists. + * + * `opt_extrapGVolate` contrGVols extrapGVolation beyond the range of Ms in the + * MultiLineString. If `opt_extrapGVolate` is `true` then Ms less than the first + * M will return the first coordinate and Ms greater than the last M will + * return the last coordinate. + * + * @param {number} m M. + * @param {boGVolean=} opt_extrapGVolate ExtrapGVolate. Default is `false`. + * @return {GVol.Coordinate} Coordinate. + * @api + */ +GVol.geom.LineString.prototype.getCoordinateAtM = function(m, opt_extrapGVolate) { + if (this.layout != GVol.geom.GeometryLayout.XYM && + this.layout != GVol.geom.GeometryLayout.XYZM) { + return null; + } + var extrapGVolate = opt_extrapGVolate !== undefined ? opt_extrapGVolate : false; + return GVol.geom.flat.interpGVolate.lineStringCoordinateAtM(this.flatCoordinates, 0, + this.flatCoordinates.length, this.stride, m, extrapGVolate); +}; + + +/** + * Return the coordinates of the linestring. + * @return {Array.<GVol.Coordinate>} Coordinates. + * @override + * @api + */ +GVol.geom.LineString.prototype.getCoordinates = function() { + return GVol.geom.flat.inflate.coordinates( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride); +}; + + +/** + * Return the coordinate at the provided fraction along the linestring. + * The `fraction` is a number between 0 and 1, where 0 is the start of the + * linestring and 1 is the end. + * @param {number} fraction Fraction. + * @param {GVol.Coordinate=} opt_dest Optional coordinate whose values will + * be modified. If not provided, a new coordinate will be returned. + * @return {GVol.Coordinate} Coordinate of the interpGVolated point. + * @api + */ +GVol.geom.LineString.prototype.getCoordinateAt = function(fraction, opt_dest) { + return GVol.geom.flat.interpGVolate.lineString( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, + fraction, opt_dest); +}; + + +/** + * Return the length of the linestring on projected plane. + * @return {number} Length (on projected plane). + * @api + */ +GVol.geom.LineString.prototype.getLength = function() { + return GVol.geom.flat.length.lineString( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride); +}; + + +/** + * @return {Array.<number>} Flat midpoint. + */ +GVol.geom.LineString.prototype.getFlatMidpoint = function() { + if (this.flatMidpointRevision_ != this.getRevision()) { + this.flatMidpoint_ = this.getCoordinateAt(0.5, this.flatMidpoint_); + this.flatMidpointRevision_ = this.getRevision(); + } + return this.flatMidpoint_; +}; + + +/** + * @inheritDoc + */ +GVol.geom.LineString.prototype.getSimplifiedGeometryInternal = function(squaredTGVolerance) { + var simplifiedFlatCoordinates = []; + simplifiedFlatCoordinates.length = GVol.geom.flat.simplify.douglasPeucker( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, + squaredTGVolerance, simplifiedFlatCoordinates, 0); + var simplifiedLineString = new GVol.geom.LineString(null); + simplifiedLineString.setFlatCoordinates( + GVol.geom.GeometryLayout.XY, simplifiedFlatCoordinates); + return simplifiedLineString; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.LineString.prototype.getType = function() { + return GVol.geom.GeometryType.LINE_STRING; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.LineString.prototype.intersectsExtent = function(extent) { + return GVol.geom.flat.intersectsextent.lineString( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, + extent); +}; + + +/** + * Set the coordinates of the linestring. + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @override + * @api + */ +GVol.geom.LineString.prototype.setCoordinates = function(coordinates, opt_layout) { + if (!coordinates) { + this.setFlatCoordinates(GVol.geom.GeometryLayout.XY, null); + } else { + this.setLayout(opt_layout, coordinates, 1); + if (!this.flatCoordinates) { + this.flatCoordinates = []; + } + this.flatCoordinates.length = GVol.geom.flat.deflate.coordinates( + this.flatCoordinates, 0, coordinates, this.stride); + this.changed(); + } +}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @param {Array.<number>} flatCoordinates Flat coordinates. + */ +GVol.geom.LineString.prototype.setFlatCoordinates = function(layout, flatCoordinates) { + this.setFlatCoordinatesInternal(layout, flatCoordinates); + this.changed(); +}; + +goog.provide('GVol.geom.MultiLineString'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.closest'); +goog.require('GVol.geom.flat.deflate'); +goog.require('GVol.geom.flat.inflate'); +goog.require('GVol.geom.flat.interpGVolate'); +goog.require('GVol.geom.flat.intersectsextent'); +goog.require('GVol.geom.flat.simplify'); + + +/** + * @classdesc + * Multi-linestring geometry. + * + * @constructor + * @extends {GVol.geom.SimpleGeometry} + * @param {Array.<Array.<GVol.Coordinate>>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @api + */ +GVol.geom.MultiLineString = function(coordinates, opt_layout) { + + GVol.geom.SimpleGeometry.call(this); + + /** + * @type {Array.<number>} + * @private + */ + this.ends_ = []; + + /** + * @private + * @type {number} + */ + this.maxDelta_ = -1; + + /** + * @private + * @type {number} + */ + this.maxDeltaRevision_ = -1; + + this.setCoordinates(coordinates, opt_layout); + +}; +GVol.inherits(GVol.geom.MultiLineString, GVol.geom.SimpleGeometry); + + +/** + * Append the passed linestring to the multilinestring. + * @param {GVol.geom.LineString} lineString LineString. + * @api + */ +GVol.geom.MultiLineString.prototype.appendLineString = function(lineString) { + if (!this.flatCoordinates) { + this.flatCoordinates = lineString.getFlatCoordinates().slice(); + } else { + GVol.array.extend( + this.flatCoordinates, lineString.getFlatCoordinates().slice()); + } + this.ends_.push(this.flatCoordinates.length); + this.changed(); +}; + + +/** + * Make a complete copy of the geometry. + * @return {!GVol.geom.MultiLineString} Clone. + * @override + * @api + */ +GVol.geom.MultiLineString.prototype.clone = function() { + var multiLineString = new GVol.geom.MultiLineString(null); + multiLineString.setFlatCoordinates( + this.layout, this.flatCoordinates.slice(), this.ends_.slice()); + return multiLineString; +}; + + +/** + * @inheritDoc + */ +GVol.geom.MultiLineString.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) { + if (minSquaredDistance < + GVol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) { + return minSquaredDistance; + } + if (this.maxDeltaRevision_ != this.getRevision()) { + this.maxDelta_ = Math.sqrt(GVol.geom.flat.closest.getsMaxSquaredDelta( + this.flatCoordinates, 0, this.ends_, this.stride, 0)); + this.maxDeltaRevision_ = this.getRevision(); + } + return GVol.geom.flat.closest.getsClosestPoint( + this.flatCoordinates, 0, this.ends_, this.stride, + this.maxDelta_, false, x, y, closestPoint, minSquaredDistance); +}; + + +/** + * Returns the coordinate at `m` using linear interpGVolation, or `null` if no + * such coordinate exists. + * + * `opt_extrapGVolate` contrGVols extrapGVolation beyond the range of Ms in the + * MultiLineString. If `opt_extrapGVolate` is `true` then Ms less than the first + * M will return the first coordinate and Ms greater than the last M will + * return the last coordinate. + * + * `opt_interpGVolate` contrGVols interpGVolation between consecutive LineStrings + * within the MultiLineString. If `opt_interpGVolate` is `true` the coordinates + * will be linearly interpGVolated between the last coordinate of one LineString + * and the first coordinate of the next LineString. If `opt_interpGVolate` is + * `false` then the function will return `null` for Ms falling between + * LineStrings. + * + * @param {number} m M. + * @param {boGVolean=} opt_extrapGVolate ExtrapGVolate. Default is `false`. + * @param {boGVolean=} opt_interpGVolate InterpGVolate. Default is `false`. + * @return {GVol.Coordinate} Coordinate. + * @api + */ +GVol.geom.MultiLineString.prototype.getCoordinateAtM = function(m, opt_extrapGVolate, opt_interpGVolate) { + if ((this.layout != GVol.geom.GeometryLayout.XYM && + this.layout != GVol.geom.GeometryLayout.XYZM) || + this.flatCoordinates.length === 0) { + return null; + } + var extrapGVolate = opt_extrapGVolate !== undefined ? opt_extrapGVolate : false; + var interpGVolate = opt_interpGVolate !== undefined ? opt_interpGVolate : false; + return GVol.geom.flat.interpGVolate.lineStringsCoordinateAtM(this.flatCoordinates, 0, + this.ends_, this.stride, m, extrapGVolate, interpGVolate); +}; + + +/** + * Return the coordinates of the multilinestring. + * @return {Array.<Array.<GVol.Coordinate>>} Coordinates. + * @override + * @api + */ +GVol.geom.MultiLineString.prototype.getCoordinates = function() { + return GVol.geom.flat.inflate.coordinatess( + this.flatCoordinates, 0, this.ends_, this.stride); +}; + + +/** + * @return {Array.<number>} Ends. + */ +GVol.geom.MultiLineString.prototype.getEnds = function() { + return this.ends_; +}; + + +/** + * Return the linestring at the specified index. + * @param {number} index Index. + * @return {GVol.geom.LineString} LineString. + * @api + */ +GVol.geom.MultiLineString.prototype.getLineString = function(index) { + if (index < 0 || this.ends_.length <= index) { + return null; + } + var lineString = new GVol.geom.LineString(null); + lineString.setFlatCoordinates(this.layout, this.flatCoordinates.slice( + index === 0 ? 0 : this.ends_[index - 1], this.ends_[index])); + return lineString; +}; + + +/** + * Return the linestrings of this multilinestring. + * @return {Array.<GVol.geom.LineString>} LineStrings. + * @api + */ +GVol.geom.MultiLineString.prototype.getLineStrings = function() { + var flatCoordinates = this.flatCoordinates; + var ends = this.ends_; + var layout = this.layout; + /** @type {Array.<GVol.geom.LineString>} */ + var lineStrings = []; + var offset = 0; + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + var lineString = new GVol.geom.LineString(null); + lineString.setFlatCoordinates(layout, flatCoordinates.slice(offset, end)); + lineStrings.push(lineString); + offset = end; + } + return lineStrings; +}; + + +/** + * @return {Array.<number>} Flat midpoints. + */ +GVol.geom.MultiLineString.prototype.getFlatMidpoints = function() { + var midpoints = []; + var flatCoordinates = this.flatCoordinates; + var offset = 0; + var ends = this.ends_; + var stride = this.stride; + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + var midpoint = GVol.geom.flat.interpGVolate.lineString( + flatCoordinates, offset, end, stride, 0.5); + GVol.array.extend(midpoints, midpoint); + offset = end; + } + return midpoints; +}; + + +/** + * @inheritDoc + */ +GVol.geom.MultiLineString.prototype.getSimplifiedGeometryInternal = function(squaredTGVolerance) { + var simplifiedFlatCoordinates = []; + var simplifiedEnds = []; + simplifiedFlatCoordinates.length = GVol.geom.flat.simplify.douglasPeuckers( + this.flatCoordinates, 0, this.ends_, this.stride, squaredTGVolerance, + simplifiedFlatCoordinates, 0, simplifiedEnds); + var simplifiedMultiLineString = new GVol.geom.MultiLineString(null); + simplifiedMultiLineString.setFlatCoordinates( + GVol.geom.GeometryLayout.XY, simplifiedFlatCoordinates, simplifiedEnds); + return simplifiedMultiLineString; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.MultiLineString.prototype.getType = function() { + return GVol.geom.GeometryType.MULTI_LINE_STRING; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.MultiLineString.prototype.intersectsExtent = function(extent) { + return GVol.geom.flat.intersectsextent.lineStrings( + this.flatCoordinates, 0, this.ends_, this.stride, extent); +}; + + +/** + * Set the coordinates of the multilinestring. + * @param {Array.<Array.<GVol.Coordinate>>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @override + * @api + */ +GVol.geom.MultiLineString.prototype.setCoordinates = function(coordinates, opt_layout) { + if (!coordinates) { + this.setFlatCoordinates(GVol.geom.GeometryLayout.XY, null, this.ends_); + } else { + this.setLayout(opt_layout, coordinates, 2); + if (!this.flatCoordinates) { + this.flatCoordinates = []; + } + var ends = GVol.geom.flat.deflate.coordinatess( + this.flatCoordinates, 0, coordinates, this.stride, this.ends_); + this.flatCoordinates.length = ends.length === 0 ? 0 : ends[ends.length - 1]; + this.changed(); + } +}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {Array.<number>} ends Ends. + */ +GVol.geom.MultiLineString.prototype.setFlatCoordinates = function(layout, flatCoordinates, ends) { + this.setFlatCoordinatesInternal(layout, flatCoordinates); + this.ends_ = ends; + this.changed(); +}; + + +/** + * @param {Array.<GVol.geom.LineString>} lineStrings LineStrings. + */ +GVol.geom.MultiLineString.prototype.setLineStrings = function(lineStrings) { + var layout = this.getLayout(); + var flatCoordinates = []; + var ends = []; + var i, ii; + for (i = 0, ii = lineStrings.length; i < ii; ++i) { + var lineString = lineStrings[i]; + if (i === 0) { + layout = lineString.getLayout(); + } + GVol.array.extend(flatCoordinates, lineString.getFlatCoordinates()); + ends.push(flatCoordinates.length); + } + this.setFlatCoordinates(layout, flatCoordinates, ends); +}; + +goog.provide('GVol.geom.MultiPoint'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.deflate'); +goog.require('GVol.geom.flat.inflate'); +goog.require('GVol.math'); + + +/** + * @classdesc + * Multi-point geometry. + * + * @constructor + * @extends {GVol.geom.SimpleGeometry} + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @api + */ +GVol.geom.MultiPoint = function(coordinates, opt_layout) { + GVol.geom.SimpleGeometry.call(this); + this.setCoordinates(coordinates, opt_layout); +}; +GVol.inherits(GVol.geom.MultiPoint, GVol.geom.SimpleGeometry); + + +/** + * Append the passed point to this multipoint. + * @param {GVol.geom.Point} point Point. + * @api + */ +GVol.geom.MultiPoint.prototype.appendPoint = function(point) { + if (!this.flatCoordinates) { + this.flatCoordinates = point.getFlatCoordinates().slice(); + } else { + GVol.array.extend(this.flatCoordinates, point.getFlatCoordinates()); + } + this.changed(); +}; + + +/** + * Make a complete copy of the geometry. + * @return {!GVol.geom.MultiPoint} Clone. + * @override + * @api + */ +GVol.geom.MultiPoint.prototype.clone = function() { + var multiPoint = new GVol.geom.MultiPoint(null); + multiPoint.setFlatCoordinates(this.layout, this.flatCoordinates.slice()); + return multiPoint; +}; + + +/** + * @inheritDoc + */ +GVol.geom.MultiPoint.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) { + if (minSquaredDistance < + GVol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) { + return minSquaredDistance; + } + var flatCoordinates = this.flatCoordinates; + var stride = this.stride; + var i, ii, j; + for (i = 0, ii = flatCoordinates.length; i < ii; i += stride) { + var squaredDistance = GVol.math.squaredDistance( + x, y, flatCoordinates[i], flatCoordinates[i + 1]); + if (squaredDistance < minSquaredDistance) { + minSquaredDistance = squaredDistance; + for (j = 0; j < stride; ++j) { + closestPoint[j] = flatCoordinates[i + j]; + } + closestPoint.length = stride; + } + } + return minSquaredDistance; +}; + + +/** + * Return the coordinates of the multipoint. + * @return {Array.<GVol.Coordinate>} Coordinates. + * @override + * @api + */ +GVol.geom.MultiPoint.prototype.getCoordinates = function() { + return GVol.geom.flat.inflate.coordinates( + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride); +}; + + +/** + * Return the point at the specified index. + * @param {number} index Index. + * @return {GVol.geom.Point} Point. + * @api + */ +GVol.geom.MultiPoint.prototype.getPoint = function(index) { + var n = !this.flatCoordinates ? + 0 : this.flatCoordinates.length / this.stride; + if (index < 0 || n <= index) { + return null; + } + var point = new GVol.geom.Point(null); + point.setFlatCoordinates(this.layout, this.flatCoordinates.slice( + index * this.stride, (index + 1) * this.stride)); + return point; +}; + + +/** + * Return the points of this multipoint. + * @return {Array.<GVol.geom.Point>} Points. + * @api + */ +GVol.geom.MultiPoint.prototype.getPoints = function() { + var flatCoordinates = this.flatCoordinates; + var layout = this.layout; + var stride = this.stride; + /** @type {Array.<GVol.geom.Point>} */ + var points = []; + var i, ii; + for (i = 0, ii = flatCoordinates.length; i < ii; i += stride) { + var point = new GVol.geom.Point(null); + point.setFlatCoordinates(layout, flatCoordinates.slice(i, i + stride)); + points.push(point); + } + return points; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.MultiPoint.prototype.getType = function() { + return GVol.geom.GeometryType.MULTI_POINT; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.MultiPoint.prototype.intersectsExtent = function(extent) { + var flatCoordinates = this.flatCoordinates; + var stride = this.stride; + var i, ii, x, y; + for (i = 0, ii = flatCoordinates.length; i < ii; i += stride) { + x = flatCoordinates[i]; + y = flatCoordinates[i + 1]; + if (GVol.extent.containsXY(extent, x, y)) { + return true; + } + } + return false; +}; + + +/** + * Set the coordinates of the multipoint. + * @param {Array.<GVol.Coordinate>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @override + * @api + */ +GVol.geom.MultiPoint.prototype.setCoordinates = function(coordinates, opt_layout) { + if (!coordinates) { + this.setFlatCoordinates(GVol.geom.GeometryLayout.XY, null); + } else { + this.setLayout(opt_layout, coordinates, 1); + if (!this.flatCoordinates) { + this.flatCoordinates = []; + } + this.flatCoordinates.length = GVol.geom.flat.deflate.coordinates( + this.flatCoordinates, 0, coordinates, this.stride); + this.changed(); + } +}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @param {Array.<number>} flatCoordinates Flat coordinates. + */ +GVol.geom.MultiPoint.prototype.setFlatCoordinates = function(layout, flatCoordinates) { + this.setFlatCoordinatesInternal(layout, flatCoordinates); + this.changed(); +}; + +goog.provide('GVol.geom.flat.center'); + +goog.require('GVol.extent'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<Array.<number>>} endss Endss. + * @param {number} stride Stride. + * @return {Array.<number>} Flat centers. + */ +GVol.geom.flat.center.linearRingss = function(flatCoordinates, offset, endss, stride) { + var flatCenters = []; + var i, ii; + var extent = GVol.extent.createEmpty(); + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + extent = GVol.extent.createOrUpdateFromFlatCoordinates( + flatCoordinates, offset, ends[0], stride); + flatCenters.push((extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2); + offset = ends[ends.length - 1]; + } + return flatCenters; +}; + +goog.provide('GVol.geom.MultiPGVolygon'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.area'); +goog.require('GVol.geom.flat.center'); +goog.require('GVol.geom.flat.closest'); +goog.require('GVol.geom.flat.contains'); +goog.require('GVol.geom.flat.deflate'); +goog.require('GVol.geom.flat.inflate'); +goog.require('GVol.geom.flat.interiorpoint'); +goog.require('GVol.geom.flat.intersectsextent'); +goog.require('GVol.geom.flat.orient'); +goog.require('GVol.geom.flat.simplify'); + + +/** + * @classdesc + * Multi-pGVolygon geometry. + * + * @constructor + * @extends {GVol.geom.SimpleGeometry} + * @param {Array.<Array.<Array.<GVol.Coordinate>>>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @api + */ +GVol.geom.MultiPGVolygon = function(coordinates, opt_layout) { + + GVol.geom.SimpleGeometry.call(this); + + /** + * @type {Array.<Array.<number>>} + * @private + */ + this.endss_ = []; + + /** + * @private + * @type {number} + */ + this.flatInteriorPointsRevision_ = -1; + + /** + * @private + * @type {Array.<number>} + */ + this.flatInteriorPoints_ = null; + + /** + * @private + * @type {number} + */ + this.maxDelta_ = -1; + + /** + * @private + * @type {number} + */ + this.maxDeltaRevision_ = -1; + + /** + * @private + * @type {number} + */ + this.orientedRevision_ = -1; + + /** + * @private + * @type {Array.<number>} + */ + this.orientedFlatCoordinates_ = null; + + this.setCoordinates(coordinates, opt_layout); + +}; +GVol.inherits(GVol.geom.MultiPGVolygon, GVol.geom.SimpleGeometry); + + +/** + * Append the passed pGVolygon to this multipGVolygon. + * @param {GVol.geom.PGVolygon} pGVolygon PGVolygon. + * @api + */ +GVol.geom.MultiPGVolygon.prototype.appendPGVolygon = function(pGVolygon) { + /** @type {Array.<number>} */ + var ends; + if (!this.flatCoordinates) { + this.flatCoordinates = pGVolygon.getFlatCoordinates().slice(); + ends = pGVolygon.getEnds().slice(); + this.endss_.push(); + } else { + var offset = this.flatCoordinates.length; + GVol.array.extend(this.flatCoordinates, pGVolygon.getFlatCoordinates()); + ends = pGVolygon.getEnds().slice(); + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + ends[i] += offset; + } + } + this.endss_.push(ends); + this.changed(); +}; + + +/** + * Make a complete copy of the geometry. + * @return {!GVol.geom.MultiPGVolygon} Clone. + * @override + * @api + */ +GVol.geom.MultiPGVolygon.prototype.clone = function() { + var multiPGVolygon = new GVol.geom.MultiPGVolygon(null); + + var len = this.endss_.length; + var newEndss = new Array(len); + for (var i = 0; i < len; ++i) { + newEndss[i] = this.endss_[i].slice(); + } + + multiPGVolygon.setFlatCoordinates( + this.layout, this.flatCoordinates.slice(), newEndss); + return multiPGVolygon; +}; + + +/** + * @inheritDoc + */ +GVol.geom.MultiPGVolygon.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) { + if (minSquaredDistance < + GVol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) { + return minSquaredDistance; + } + if (this.maxDeltaRevision_ != this.getRevision()) { + this.maxDelta_ = Math.sqrt(GVol.geom.flat.closest.getssMaxSquaredDelta( + this.flatCoordinates, 0, this.endss_, this.stride, 0)); + this.maxDeltaRevision_ = this.getRevision(); + } + return GVol.geom.flat.closest.getssClosestPoint( + this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, + this.maxDelta_, true, x, y, closestPoint, minSquaredDistance); +}; + + +/** + * @inheritDoc + */ +GVol.geom.MultiPGVolygon.prototype.containsXY = function(x, y) { + return GVol.geom.flat.contains.linearRingssContainsXY( + this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, x, y); +}; + + +/** + * Return the area of the multipGVolygon on projected plane. + * @return {number} Area (on projected plane). + * @api + */ +GVol.geom.MultiPGVolygon.prototype.getArea = function() { + return GVol.geom.flat.area.linearRingss( + this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride); +}; + + +/** + * Get the coordinate array for this geometry. This array has the structure + * of a GeoJSON coordinate array for multi-pGVolygons. + * + * @param {boGVolean=} opt_right Orient coordinates according to the right-hand + * rule (counter-clockwise for exterior and clockwise for interior rings). + * If `false`, coordinates will be oriented according to the left-hand rule + * (clockwise for exterior and counter-clockwise for interior rings). + * By default, coordinate orientation will depend on how the geometry was + * constructed. + * @return {Array.<Array.<Array.<GVol.Coordinate>>>} Coordinates. + * @override + * @api + */ +GVol.geom.MultiPGVolygon.prototype.getCoordinates = function(opt_right) { + var flatCoordinates; + if (opt_right !== undefined) { + flatCoordinates = this.getOrientedFlatCoordinates().slice(); + GVol.geom.flat.orient.orientLinearRingss( + flatCoordinates, 0, this.endss_, this.stride, opt_right); + } else { + flatCoordinates = this.flatCoordinates; + } + + return GVol.geom.flat.inflate.coordinatesss( + flatCoordinates, 0, this.endss_, this.stride); +}; + + +/** + * @return {Array.<Array.<number>>} Endss. + */ +GVol.geom.MultiPGVolygon.prototype.getEndss = function() { + return this.endss_; +}; + + +/** + * @return {Array.<number>} Flat interior points. + */ +GVol.geom.MultiPGVolygon.prototype.getFlatInteriorPoints = function() { + if (this.flatInteriorPointsRevision_ != this.getRevision()) { + var flatCenters = GVol.geom.flat.center.linearRingss( + this.flatCoordinates, 0, this.endss_, this.stride); + this.flatInteriorPoints_ = GVol.geom.flat.interiorpoint.linearRingss( + this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, + flatCenters); + this.flatInteriorPointsRevision_ = this.getRevision(); + } + return this.flatInteriorPoints_; +}; + + +/** + * Return the interior points as {@link GVol.geom.MultiPoint multipoint}. + * @return {GVol.geom.MultiPoint} Interior points. + * @api + */ +GVol.geom.MultiPGVolygon.prototype.getInteriorPoints = function() { + var interiorPoints = new GVol.geom.MultiPoint(null); + interiorPoints.setFlatCoordinates(GVol.geom.GeometryLayout.XY, + this.getFlatInteriorPoints().slice()); + return interiorPoints; +}; + + +/** + * @return {Array.<number>} Oriented flat coordinates. + */ +GVol.geom.MultiPGVolygon.prototype.getOrientedFlatCoordinates = function() { + if (this.orientedRevision_ != this.getRevision()) { + var flatCoordinates = this.flatCoordinates; + if (GVol.geom.flat.orient.linearRingssAreOriented( + flatCoordinates, 0, this.endss_, this.stride)) { + this.orientedFlatCoordinates_ = flatCoordinates; + } else { + this.orientedFlatCoordinates_ = flatCoordinates.slice(); + this.orientedFlatCoordinates_.length = + GVol.geom.flat.orient.orientLinearRingss( + this.orientedFlatCoordinates_, 0, this.endss_, this.stride); + } + this.orientedRevision_ = this.getRevision(); + } + return this.orientedFlatCoordinates_; +}; + + +/** + * @inheritDoc + */ +GVol.geom.MultiPGVolygon.prototype.getSimplifiedGeometryInternal = function(squaredTGVolerance) { + var simplifiedFlatCoordinates = []; + var simplifiedEndss = []; + simplifiedFlatCoordinates.length = GVol.geom.flat.simplify.quantizess( + this.flatCoordinates, 0, this.endss_, this.stride, + Math.sqrt(squaredTGVolerance), + simplifiedFlatCoordinates, 0, simplifiedEndss); + var simplifiedMultiPGVolygon = new GVol.geom.MultiPGVolygon(null); + simplifiedMultiPGVolygon.setFlatCoordinates( + GVol.geom.GeometryLayout.XY, simplifiedFlatCoordinates, simplifiedEndss); + return simplifiedMultiPGVolygon; +}; + + +/** + * Return the pGVolygon at the specified index. + * @param {number} index Index. + * @return {GVol.geom.PGVolygon} PGVolygon. + * @api + */ +GVol.geom.MultiPGVolygon.prototype.getPGVolygon = function(index) { + if (index < 0 || this.endss_.length <= index) { + return null; + } + var offset; + if (index === 0) { + offset = 0; + } else { + var prevEnds = this.endss_[index - 1]; + offset = prevEnds[prevEnds.length - 1]; + } + var ends = this.endss_[index].slice(); + var end = ends[ends.length - 1]; + if (offset !== 0) { + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + ends[i] -= offset; + } + } + var pGVolygon = new GVol.geom.PGVolygon(null); + pGVolygon.setFlatCoordinates( + this.layout, this.flatCoordinates.slice(offset, end), ends); + return pGVolygon; +}; + + +/** + * Return the pGVolygons of this multipGVolygon. + * @return {Array.<GVol.geom.PGVolygon>} PGVolygons. + * @api + */ +GVol.geom.MultiPGVolygon.prototype.getPGVolygons = function() { + var layout = this.layout; + var flatCoordinates = this.flatCoordinates; + var endss = this.endss_; + var pGVolygons = []; + var offset = 0; + var i, ii, j, jj; + for (i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i].slice(); + var end = ends[ends.length - 1]; + if (offset !== 0) { + for (j = 0, jj = ends.length; j < jj; ++j) { + ends[j] -= offset; + } + } + var pGVolygon = new GVol.geom.PGVolygon(null); + pGVolygon.setFlatCoordinates( + layout, flatCoordinates.slice(offset, end), ends); + pGVolygons.push(pGVolygon); + offset = end; + } + return pGVolygons; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.MultiPGVolygon.prototype.getType = function() { + return GVol.geom.GeometryType.MULTI_POLYGON; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.MultiPGVolygon.prototype.intersectsExtent = function(extent) { + return GVol.geom.flat.intersectsextent.linearRingss( + this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, extent); +}; + + +/** + * Set the coordinates of the multipGVolygon. + * @param {Array.<Array.<Array.<GVol.Coordinate>>>} coordinates Coordinates. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @override + * @api + */ +GVol.geom.MultiPGVolygon.prototype.setCoordinates = function(coordinates, opt_layout) { + if (!coordinates) { + this.setFlatCoordinates(GVol.geom.GeometryLayout.XY, null, this.endss_); + } else { + this.setLayout(opt_layout, coordinates, 3); + if (!this.flatCoordinates) { + this.flatCoordinates = []; + } + var endss = GVol.geom.flat.deflate.coordinatesss( + this.flatCoordinates, 0, coordinates, this.stride, this.endss_); + if (endss.length === 0) { + this.flatCoordinates.length = 0; + } else { + var lastEnds = endss[endss.length - 1]; + this.flatCoordinates.length = lastEnds.length === 0 ? + 0 : lastEnds[lastEnds.length - 1]; + } + this.changed(); + } +}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {Array.<Array.<number>>} endss Endss. + */ +GVol.geom.MultiPGVolygon.prototype.setFlatCoordinates = function(layout, flatCoordinates, endss) { + this.setFlatCoordinatesInternal(layout, flatCoordinates); + this.endss_ = endss; + this.changed(); +}; + + +/** + * @param {Array.<GVol.geom.PGVolygon>} pGVolygons PGVolygons. + */ +GVol.geom.MultiPGVolygon.prototype.setPGVolygons = function(pGVolygons) { + var layout = this.getLayout(); + var flatCoordinates = []; + var endss = []; + var i, ii, ends; + for (i = 0, ii = pGVolygons.length; i < ii; ++i) { + var pGVolygon = pGVolygons[i]; + if (i === 0) { + layout = pGVolygon.getLayout(); + } + var offset = flatCoordinates.length; + ends = pGVolygon.getEnds(); + var j, jj; + for (j = 0, jj = ends.length; j < jj; ++j) { + ends[j] += offset; + } + GVol.array.extend(flatCoordinates, pGVolygon.getFlatCoordinates()); + endss.push(ends); + } + this.setFlatCoordinates(layout, flatCoordinates, endss); +}; + +goog.provide('GVol.format.EsriJSON'); + +goog.require('GVol'); +goog.require('GVol.Feature'); +goog.require('GVol.asserts'); +goog.require('GVol.extent'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.JSONFeature'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.LinearRing'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.MultiPGVolygon'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.geom.flat.deflate'); +goog.require('GVol.geom.flat.orient'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * Feature format for reading and writing data in the EsriJSON format. + * + * @constructor + * @extends {GVol.format.JSONFeature} + * @param {GVolx.format.EsriJSONOptions=} opt_options Options. + * @api + */ +GVol.format.EsriJSON = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.format.JSONFeature.call(this); + + /** + * Name of the geometry attribute for features. + * @type {string|undefined} + * @private + */ + this.geometryName_ = options.geometryName; + +}; +GVol.inherits(GVol.format.EsriJSON, GVol.format.JSONFeature); + + +/** + * @param {EsriJSONGeometry} object Object. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @private + * @return {GVol.geom.Geometry} Geometry. + */ +GVol.format.EsriJSON.readGeometry_ = function(object, opt_options) { + if (!object) { + return null; + } + /** @type {GVol.geom.GeometryType} */ + var type; + if (typeof object.x === 'number' && typeof object.y === 'number') { + type = GVol.geom.GeometryType.POINT; + } else if (object.points) { + type = GVol.geom.GeometryType.MULTI_POINT; + } else if (object.paths) { + if (object.paths.length === 1) { + type = GVol.geom.GeometryType.LINE_STRING; + } else { + type = GVol.geom.GeometryType.MULTI_LINE_STRING; + } + } else if (object.rings) { + var layout = GVol.format.EsriJSON.getGeometryLayout_(object); + var rings = GVol.format.EsriJSON.convertRings_(object.rings, layout); + object = /** @type {EsriJSONGeometry} */(GVol.obj.assign({}, object)); + if (rings.length === 1) { + type = GVol.geom.GeometryType.POLYGON; + object.rings = rings[0]; + } else { + type = GVol.geom.GeometryType.MULTI_POLYGON; + object.rings = rings; + } + } + var geometryReader = GVol.format.EsriJSON.GEOMETRY_READERS_[type]; + return /** @type {GVol.geom.Geometry} */ ( + GVol.format.Feature.transformWithOptions( + geometryReader(object), false, opt_options)); +}; + + +/** + * Determines inner and outer rings. + * Checks if any pGVolygons in this array contain any other pGVolygons in this + * array. It is used for checking for hGVoles. + * Logic inspired by: https://github.com/Esri/terraformer-arcgis-parser + * @param {Array.<!Array.<!Array.<number>>>} rings Rings. + * @param {GVol.geom.GeometryLayout} layout Geometry layout. + * @private + * @return {Array.<!Array.<!Array.<number>>>} Transformed rings. + */ +GVol.format.EsriJSON.convertRings_ = function(rings, layout) { + var flatRing = []; + var outerRings = []; + var hGVoles = []; + var i, ii; + for (i = 0, ii = rings.length; i < ii; ++i) { + flatRing.length = 0; + GVol.geom.flat.deflate.coordinates(flatRing, 0, rings[i], layout.length); + // is this ring an outer ring? is it clockwise? + var clockwise = GVol.geom.flat.orient.linearRingIsClockwise(flatRing, 0, + flatRing.length, layout.length); + if (clockwise) { + outerRings.push([rings[i]]); + } else { + hGVoles.push(rings[i]); + } + } + while (hGVoles.length) { + var hGVole = hGVoles.shift(); + var matched = false; + // loop over all outer rings and see if they contain our hGVole. + for (i = outerRings.length - 1; i >= 0; i--) { + var outerRing = outerRings[i][0]; + var containsHGVole = GVol.extent.containsExtent( + new GVol.geom.LinearRing(outerRing).getExtent(), + new GVol.geom.LinearRing(hGVole).getExtent() + ); + if (containsHGVole) { + // the hGVole is contained push it into our pGVolygon + outerRings[i].push(hGVole); + matched = true; + break; + } + } + if (!matched) { + // no outer rings contain this hGVole turn it into and outer + // ring (reverse it) + outerRings.push([hGVole.reverse()]); + } + } + return outerRings; +}; + + +/** + * @param {EsriJSONGeometry} object Object. + * @private + * @return {GVol.geom.Geometry} Point. + */ +GVol.format.EsriJSON.readPointGeometry_ = function(object) { + var point; + if (object.m !== undefined && object.z !== undefined) { + point = new GVol.geom.Point([object.x, object.y, object.z, object.m], + GVol.geom.GeometryLayout.XYZM); + } else if (object.z !== undefined) { + point = new GVol.geom.Point([object.x, object.y, object.z], + GVol.geom.GeometryLayout.XYZ); + } else if (object.m !== undefined) { + point = new GVol.geom.Point([object.x, object.y, object.m], + GVol.geom.GeometryLayout.XYM); + } else { + point = new GVol.geom.Point([object.x, object.y]); + } + return point; +}; + + +/** + * @param {EsriJSONGeometry} object Object. + * @private + * @return {GVol.geom.Geometry} LineString. + */ +GVol.format.EsriJSON.readLineStringGeometry_ = function(object) { + var layout = GVol.format.EsriJSON.getGeometryLayout_(object); + return new GVol.geom.LineString(object.paths[0], layout); +}; + + +/** + * @param {EsriJSONGeometry} object Object. + * @private + * @return {GVol.geom.Geometry} MultiLineString. + */ +GVol.format.EsriJSON.readMultiLineStringGeometry_ = function(object) { + var layout = GVol.format.EsriJSON.getGeometryLayout_(object); + return new GVol.geom.MultiLineString(object.paths, layout); +}; + + +/** + * @param {EsriJSONGeometry} object Object. + * @private + * @return {GVol.geom.GeometryLayout} The geometry layout to use. + */ +GVol.format.EsriJSON.getGeometryLayout_ = function(object) { + var layout = GVol.geom.GeometryLayout.XY; + if (object.hasZ === true && object.hasM === true) { + layout = GVol.geom.GeometryLayout.XYZM; + } else if (object.hasZ === true) { + layout = GVol.geom.GeometryLayout.XYZ; + } else if (object.hasM === true) { + layout = GVol.geom.GeometryLayout.XYM; + } + return layout; +}; + + +/** + * @param {EsriJSONGeometry} object Object. + * @private + * @return {GVol.geom.Geometry} MultiPoint. + */ +GVol.format.EsriJSON.readMultiPointGeometry_ = function(object) { + var layout = GVol.format.EsriJSON.getGeometryLayout_(object); + return new GVol.geom.MultiPoint(object.points, layout); +}; + + +/** + * @param {EsriJSONGeometry} object Object. + * @private + * @return {GVol.geom.Geometry} MultiPGVolygon. + */ +GVol.format.EsriJSON.readMultiPGVolygonGeometry_ = function(object) { + var layout = GVol.format.EsriJSON.getGeometryLayout_(object); + return new GVol.geom.MultiPGVolygon( + /** @type {Array.<Array.<Array.<Array.<number>>>>} */(object.rings), + layout); +}; + + +/** + * @param {EsriJSONGeometry} object Object. + * @private + * @return {GVol.geom.Geometry} PGVolygon. + */ +GVol.format.EsriJSON.readPGVolygonGeometry_ = function(object) { + var layout = GVol.format.EsriJSON.getGeometryLayout_(object); + return new GVol.geom.PGVolygon(object.rings, layout); +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {EsriJSONGeometry} EsriJSON geometry. + */ +GVol.format.EsriJSON.writePointGeometry_ = function(geometry, opt_options) { + var coordinates = /** @type {GVol.geom.Point} */ (geometry).getCoordinates(); + var esriJSON; + var layout = /** @type {GVol.geom.Point} */ (geometry).getLayout(); + if (layout === GVol.geom.GeometryLayout.XYZ) { + esriJSON = /** @type {EsriJSONPoint} */ ({ + x: coordinates[0], + y: coordinates[1], + z: coordinates[2] + }); + } else if (layout === GVol.geom.GeometryLayout.XYM) { + esriJSON = /** @type {EsriJSONPoint} */ ({ + x: coordinates[0], + y: coordinates[1], + m: coordinates[2] + }); + } else if (layout === GVol.geom.GeometryLayout.XYZM) { + esriJSON = /** @type {EsriJSONPoint} */ ({ + x: coordinates[0], + y: coordinates[1], + z: coordinates[2], + m: coordinates[3] + }); + } else if (layout === GVol.geom.GeometryLayout.XY) { + esriJSON = /** @type {EsriJSONPoint} */ ({ + x: coordinates[0], + y: coordinates[1] + }); + } else { + GVol.asserts.assert(false, 34); // Invalid geometry layout + } + return /** @type {EsriJSONGeometry} */ (esriJSON); +}; + + +/** + * @param {GVol.geom.SimpleGeometry} geometry Geometry. + * @private + * @return {Object} Object with boGVolean hasZ and hasM keys. + */ +GVol.format.EsriJSON.getHasZM_ = function(geometry) { + var layout = geometry.getLayout(); + return { + hasZ: (layout === GVol.geom.GeometryLayout.XYZ || + layout === GVol.geom.GeometryLayout.XYZM), + hasM: (layout === GVol.geom.GeometryLayout.XYM || + layout === GVol.geom.GeometryLayout.XYZM) + }; +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {EsriJSONPGVolyline} EsriJSON geometry. + */ +GVol.format.EsriJSON.writeLineStringGeometry_ = function(geometry, opt_options) { + var hasZM = GVol.format.EsriJSON.getHasZM_(/** @type {GVol.geom.LineString} */(geometry)); + return /** @type {EsriJSONPGVolyline} */ ({ + hasZ: hasZM.hasZ, + hasM: hasZM.hasM, + paths: [ + /** @type {GVol.geom.LineString} */ (geometry).getCoordinates() + ] + }); +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {EsriJSONPGVolygon} EsriJSON geometry. + */ +GVol.format.EsriJSON.writePGVolygonGeometry_ = function(geometry, opt_options) { + // Esri geometries use the left-hand rule + var hasZM = GVol.format.EsriJSON.getHasZM_(/** @type {GVol.geom.PGVolygon} */(geometry)); + return /** @type {EsriJSONPGVolygon} */ ({ + hasZ: hasZM.hasZ, + hasM: hasZM.hasM, + rings: /** @type {GVol.geom.PGVolygon} */ (geometry).getCoordinates(false) + }); +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {EsriJSONPGVolyline} EsriJSON geometry. + */ +GVol.format.EsriJSON.writeMultiLineStringGeometry_ = function(geometry, opt_options) { + var hasZM = GVol.format.EsriJSON.getHasZM_(/** @type {GVol.geom.MultiLineString} */(geometry)); + return /** @type {EsriJSONPGVolyline} */ ({ + hasZ: hasZM.hasZ, + hasM: hasZM.hasM, + paths: /** @type {GVol.geom.MultiLineString} */ (geometry).getCoordinates() + }); +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {EsriJSONMultipoint} EsriJSON geometry. + */ +GVol.format.EsriJSON.writeMultiPointGeometry_ = function(geometry, opt_options) { + var hasZM = GVol.format.EsriJSON.getHasZM_(/** @type {GVol.geom.MultiPoint} */(geometry)); + return /** @type {EsriJSONMultipoint} */ ({ + hasZ: hasZM.hasZ, + hasM: hasZM.hasM, + points: /** @type {GVol.geom.MultiPoint} */ (geometry).getCoordinates() + }); +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {EsriJSONPGVolygon} EsriJSON geometry. + */ +GVol.format.EsriJSON.writeMultiPGVolygonGeometry_ = function(geometry, + opt_options) { + var hasZM = GVol.format.EsriJSON.getHasZM_(/** @type {GVol.geom.MultiPGVolygon} */(geometry)); + var coordinates = /** @type {GVol.geom.MultiPGVolygon} */ (geometry).getCoordinates(false); + var output = []; + for (var i = 0; i < coordinates.length; i++) { + for (var x = coordinates[i].length - 1; x >= 0; x--) { + output.push(coordinates[i][x]); + } + } + return /** @type {EsriJSONPGVolygon} */ ({ + hasZ: hasZM.hasZ, + hasM: hasZM.hasM, + rings: output + }); +}; + + +/** + * @const + * @private + * @type {Object.<GVol.geom.GeometryType, function(EsriJSONGeometry): GVol.geom.Geometry>} + */ +GVol.format.EsriJSON.GEOMETRY_READERS_ = {}; +GVol.format.EsriJSON.GEOMETRY_READERS_[GVol.geom.GeometryType.POINT] = + GVol.format.EsriJSON.readPointGeometry_; +GVol.format.EsriJSON.GEOMETRY_READERS_[GVol.geom.GeometryType.LINE_STRING] = + GVol.format.EsriJSON.readLineStringGeometry_; +GVol.format.EsriJSON.GEOMETRY_READERS_[GVol.geom.GeometryType.POLYGON] = + GVol.format.EsriJSON.readPGVolygonGeometry_; +GVol.format.EsriJSON.GEOMETRY_READERS_[GVol.geom.GeometryType.MULTI_POINT] = + GVol.format.EsriJSON.readMultiPointGeometry_; +GVol.format.EsriJSON.GEOMETRY_READERS_[GVol.geom.GeometryType.MULTI_LINE_STRING] = + GVol.format.EsriJSON.readMultiLineStringGeometry_; +GVol.format.EsriJSON.GEOMETRY_READERS_[GVol.geom.GeometryType.MULTI_POLYGON] = + GVol.format.EsriJSON.readMultiPGVolygonGeometry_; + + +/** + * @const + * @private + * @type {Object.<string, function(GVol.geom.Geometry, GVolx.format.WriteOptions=): (EsriJSONGeometry)>} + */ +GVol.format.EsriJSON.GEOMETRY_WRITERS_ = {}; +GVol.format.EsriJSON.GEOMETRY_WRITERS_[GVol.geom.GeometryType.POINT] = + GVol.format.EsriJSON.writePointGeometry_; +GVol.format.EsriJSON.GEOMETRY_WRITERS_[GVol.geom.GeometryType.LINE_STRING] = + GVol.format.EsriJSON.writeLineStringGeometry_; +GVol.format.EsriJSON.GEOMETRY_WRITERS_[GVol.geom.GeometryType.POLYGON] = + GVol.format.EsriJSON.writePGVolygonGeometry_; +GVol.format.EsriJSON.GEOMETRY_WRITERS_[GVol.geom.GeometryType.MULTI_POINT] = + GVol.format.EsriJSON.writeMultiPointGeometry_; +GVol.format.EsriJSON.GEOMETRY_WRITERS_[GVol.geom.GeometryType.MULTI_LINE_STRING] = + GVol.format.EsriJSON.writeMultiLineStringGeometry_; +GVol.format.EsriJSON.GEOMETRY_WRITERS_[GVol.geom.GeometryType.MULTI_POLYGON] = + GVol.format.EsriJSON.writeMultiPGVolygonGeometry_; + + +/** + * Read a feature from a EsriJSON Feature source. Only works for Feature, + * use `readFeatures` to read FeatureCGVollection source. + * + * @function + * @param {ArrayBuffer|Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + * @api + */ +GVol.format.EsriJSON.prototype.readFeature; + + +/** + * Read all features from a EsriJSON source. Works with both Feature and + * FeatureCGVollection sources. + * + * @function + * @param {ArrayBuffer|Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.EsriJSON.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.EsriJSON.prototype.readFeatureFromObject = function( + object, opt_options) { + var esriJSONFeature = /** @type {EsriJSONFeature} */ (object); + var geometry = GVol.format.EsriJSON.readGeometry_(esriJSONFeature.geometry, + opt_options); + var feature = new GVol.Feature(); + if (this.geometryName_) { + feature.setGeometryName(this.geometryName_); + } + feature.setGeometry(geometry); + if (opt_options && opt_options.idField && + esriJSONFeature.attributes[opt_options.idField]) { + feature.setId(/** @type {number} */( + esriJSONFeature.attributes[opt_options.idField])); + } + if (esriJSONFeature.attributes) { + feature.setProperties(esriJSONFeature.attributes); + } + return feature; +}; + + +/** + * @inheritDoc + */ +GVol.format.EsriJSON.prototype.readFeaturesFromObject = function( + object, opt_options) { + var esriJSONObject = /** @type {EsriJSONObject} */ (object); + var options = opt_options ? opt_options : {}; + if (esriJSONObject.features) { + var esriJSONFeatureCGVollection = /** @type {EsriJSONFeatureCGVollection} */ + (object); + /** @type {Array.<GVol.Feature>} */ + var features = []; + var esriJSONFeatures = esriJSONFeatureCGVollection.features; + var i, ii; + options.idField = object.objectIdFieldName; + for (i = 0, ii = esriJSONFeatures.length; i < ii; ++i) { + features.push(this.readFeatureFromObject(esriJSONFeatures[i], + options)); + } + return features; + } else { + return [this.readFeatureFromObject(object, options)]; + } +}; + + +/** + * Read a geometry from a EsriJSON source. + * + * @function + * @param {ArrayBuffer|Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.geom.Geometry} Geometry. + * @api + */ +GVol.format.EsriJSON.prototype.readGeometry; + + +/** + * @inheritDoc + */ +GVol.format.EsriJSON.prototype.readGeometryFromObject = function( + object, opt_options) { + return GVol.format.EsriJSON.readGeometry_( + /** @type {EsriJSONGeometry} */(object), opt_options); +}; + + +/** + * Read the projection from a EsriJSON source. + * + * @function + * @param {ArrayBuffer|Document|Node|Object|string} source Source. + * @return {GVol.proj.Projection} Projection. + * @api + */ +GVol.format.EsriJSON.prototype.readProjection; + + +/** + * @inheritDoc + */ +GVol.format.EsriJSON.prototype.readProjectionFromObject = function(object) { + var esriJSONObject = /** @type {EsriJSONObject} */ (object); + if (esriJSONObject.spatialReference && esriJSONObject.spatialReference.wkid) { + var crs = esriJSONObject.spatialReference.wkid; + return GVol.proj.get('EPSG:' + crs); + } else { + return null; + } +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {EsriJSONGeometry} EsriJSON geometry. + */ +GVol.format.EsriJSON.writeGeometry_ = function(geometry, opt_options) { + var geometryWriter = GVol.format.EsriJSON.GEOMETRY_WRITERS_[geometry.getType()]; + return geometryWriter(/** @type {GVol.geom.Geometry} */( + GVol.format.Feature.transformWithOptions(geometry, true, opt_options)), + opt_options); +}; + + +/** + * Encode a geometry as a EsriJSON string. + * + * @function + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} EsriJSON. + * @api + */ +GVol.format.EsriJSON.prototype.writeGeometry; + + +/** + * Encode a geometry as a EsriJSON object. + * + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {EsriJSONGeometry} Object. + * @override + * @api + */ +GVol.format.EsriJSON.prototype.writeGeometryObject = function(geometry, + opt_options) { + return GVol.format.EsriJSON.writeGeometry_(geometry, + this.adaptOptions(opt_options)); +}; + + +/** + * Encode a feature as a EsriJSON Feature string. + * + * @function + * @param {GVol.Feature} feature Feature. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} EsriJSON. + * @api + */ +GVol.format.EsriJSON.prototype.writeFeature; + + +/** + * Encode a feature as a esriJSON Feature object. + * + * @param {GVol.Feature} feature Feature. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {Object} Object. + * @override + * @api + */ +GVol.format.EsriJSON.prototype.writeFeatureObject = function( + feature, opt_options) { + opt_options = this.adaptOptions(opt_options); + var object = {}; + var geometry = feature.getGeometry(); + if (geometry) { + object['geometry'] = + GVol.format.EsriJSON.writeGeometry_(geometry, opt_options); + if (opt_options && opt_options.featureProjection) { + object['geometry']['spatialReference'] = /** @type {EsriJSONCRS} */({ + wkid: GVol.proj.get( + opt_options.featureProjection).getCode().split(':').pop() + }); + } + } + var properties = feature.getProperties(); + delete properties[feature.getGeometryName()]; + if (!GVol.obj.isEmpty(properties)) { + object['attributes'] = properties; + } else { + object['attributes'] = {}; + } + return object; +}; + + +/** + * Encode an array of features as EsriJSON. + * + * @function + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} EsriJSON. + * @api + */ +GVol.format.EsriJSON.prototype.writeFeatures; + + +/** + * Encode an array of features as a EsriJSON object. + * + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {Object} EsriJSON Object. + * @override + * @api + */ +GVol.format.EsriJSON.prototype.writeFeaturesObject = function(features, opt_options) { + opt_options = this.adaptOptions(opt_options); + var objects = []; + var i, ii; + for (i = 0, ii = features.length; i < ii; ++i) { + objects.push(this.writeFeatureObject(features[i], opt_options)); + } + return /** @type {EsriJSONFeatureCGVollection} */ ({ + 'features': objects + }); +}; + +goog.provide('GVol.format.filter.Filter'); + + +/** + * @classdesc + * Abstract class; normally only used for creating subclasses and not instantiated in apps. + * Base class for WFS GetFeature filters. + * + * @constructor + * @param {!string} tagName The XML tag name for this filter. + * @struct + * @api + */ +GVol.format.filter.Filter = function(tagName) { + + /** + * @private + * @type {!string} + */ + this.tagName_ = tagName; +}; + +/** + * The XML tag name for a filter. + * @returns {!string} Name. + */ +GVol.format.filter.Filter.prototype.getTagName = function() { + return this.tagName_; +}; + +goog.provide('GVol.format.filter.LogicalNary'); + +goog.require('GVol'); +goog.require('GVol.asserts'); +goog.require('GVol.format.filter.Filter'); + + +/** + * @classdesc + * Abstract class; normally only used for creating subclasses and not instantiated in apps. + * Base class for WFS GetFeature n-ary logical filters. + * + * @constructor + * @param {!string} tagName The XML tag name for this filter. + * @param {...GVol.format.filter.Filter} conditions Conditions. + * @extends {GVol.format.filter.Filter} + */ +GVol.format.filter.LogicalNary = function(tagName, conditions) { + + GVol.format.filter.Filter.call(this, tagName); + + /** + * @public + * @type {Array.<GVol.format.filter.Filter>} + */ + this.conditions = Array.prototype.slice.call(arguments, 1); + GVol.asserts.assert(this.conditions.length >= 2, 57); // At least 2 conditions are required. +}; +GVol.inherits(GVol.format.filter.LogicalNary, GVol.format.filter.Filter); + +goog.provide('GVol.format.filter.And'); + +goog.require('GVol'); +goog.require('GVol.format.filter.LogicalNary'); + +/** + * @classdesc + * Represents a logical `<And>` operator between two or more filter conditions. + * + * @constructor + * @param {...GVol.format.filter.Filter} conditions Conditions. + * @extends {GVol.format.filter.LogicalNary} + * @api + */ +GVol.format.filter.And = function(conditions) { + var params = ['And'].concat(Array.prototype.slice.call(arguments)); + GVol.format.filter.LogicalNary.apply(this, params); +}; +GVol.inherits(GVol.format.filter.And, GVol.format.filter.LogicalNary); + +goog.provide('GVol.format.filter.Bbox'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Filter'); + + +/** + * @classdesc + * Represents a `<BBOX>` operator to test whether a geometry-valued property + * intersects a fixed bounding box + * + * @constructor + * @param {!string} geometryName Geometry name to use. + * @param {!GVol.Extent} extent Extent. + * @param {string=} opt_srsName SRS name. No srsName attribute will be + * set on geometries when this is not provided. + * @extends {GVol.format.filter.Filter} + * @api + */ +GVol.format.filter.Bbox = function(geometryName, extent, opt_srsName) { + + GVol.format.filter.Filter.call(this, 'BBOX'); + + /** + * @public + * @type {!string} + */ + this.geometryName = geometryName; + + /** + * @public + * @type {GVol.Extent} + */ + this.extent = extent; + + /** + * @public + * @type {string|undefined} + */ + this.srsName = opt_srsName; +}; +GVol.inherits(GVol.format.filter.Bbox, GVol.format.filter.Filter); + +goog.provide('GVol.format.filter.Comparison'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Filter'); + + +/** + * @classdesc + * Abstract class; normally only used for creating subclasses and not instantiated in apps. + * Base class for WFS GetFeature property comparison filters. + * + * @constructor + * @param {!string} tagName The XML tag name for this filter. + * @param {!string} propertyName Name of the context property to compare. + * @extends {GVol.format.filter.Filter} + * @api + */ +GVol.format.filter.Comparison = function(tagName, propertyName) { + + GVol.format.filter.Filter.call(this, tagName); + + /** + * @public + * @type {!string} + */ + this.propertyName = propertyName; +}; +GVol.inherits(GVol.format.filter.Comparison, GVol.format.filter.Filter); + +goog.provide('GVol.format.filter.During'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Comparison'); + + +/** + * @classdesc + * Represents a `<During>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @param {!string} begin The begin date in ISO-8601 format. + * @param {!string} end The end date in ISO-8601 format. + * @extends {GVol.format.filter.Comparison} + * @api + */ +GVol.format.filter.During = function(propertyName, begin, end) { + GVol.format.filter.Comparison.call(this, 'During', propertyName); + + /** + * @public + * @type {!string} + */ + this.begin = begin; + + /** + * @public + * @type {!string} + */ + this.end = end; +}; +GVol.inherits(GVol.format.filter.During, GVol.format.filter.Comparison); + +goog.provide('GVol.format.filter.ComparisonBinary'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Comparison'); + + +/** + * @classdesc + * Abstract class; normally only used for creating subclasses and not instantiated in apps. + * Base class for WFS GetFeature property binary comparison filters. + * + * @constructor + * @param {!string} tagName The XML tag name for this filter. + * @param {!string} propertyName Name of the context property to compare. + * @param {!(string|number)} expression The value to compare. + * @param {boGVolean=} opt_matchCase Case-sensitive? + * @extends {GVol.format.filter.Comparison} + * @api + */ +GVol.format.filter.ComparisonBinary = function( + tagName, propertyName, expression, opt_matchCase) { + + GVol.format.filter.Comparison.call(this, tagName, propertyName); + + /** + * @public + * @type {!(string|number)} + */ + this.expression = expression; + + /** + * @public + * @type {boGVolean|undefined} + */ + this.matchCase = opt_matchCase; +}; +GVol.inherits(GVol.format.filter.ComparisonBinary, GVol.format.filter.Comparison); + +goog.provide('GVol.format.filter.EqualTo'); + +goog.require('GVol'); +goog.require('GVol.format.filter.ComparisonBinary'); + + +/** + * @classdesc + * Represents a `<PropertyIsEqualTo>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @param {!(string|number)} expression The value to compare. + * @param {boGVolean=} opt_matchCase Case-sensitive? + * @extends {GVol.format.filter.ComparisonBinary} + * @api + */ +GVol.format.filter.EqualTo = function(propertyName, expression, opt_matchCase) { + GVol.format.filter.ComparisonBinary.call(this, 'PropertyIsEqualTo', propertyName, expression, opt_matchCase); +}; +GVol.inherits(GVol.format.filter.EqualTo, GVol.format.filter.ComparisonBinary); + +goog.provide('GVol.format.filter.GreaterThan'); + +goog.require('GVol'); +goog.require('GVol.format.filter.ComparisonBinary'); + + +/** + * @classdesc + * Represents a `<PropertyIsGreaterThan>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} expression The value to compare. + * @extends {GVol.format.filter.ComparisonBinary} + * @api + */ +GVol.format.filter.GreaterThan = function(propertyName, expression) { + GVol.format.filter.ComparisonBinary.call(this, 'PropertyIsGreaterThan', propertyName, expression); +}; +GVol.inherits(GVol.format.filter.GreaterThan, GVol.format.filter.ComparisonBinary); + +goog.provide('GVol.format.filter.GreaterThanOrEqualTo'); + +goog.require('GVol'); +goog.require('GVol.format.filter.ComparisonBinary'); + + +/** + * @classdesc + * Represents a `<PropertyIsGreaterThanOrEqualTo>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} expression The value to compare. + * @extends {GVol.format.filter.ComparisonBinary} + * @api + */ +GVol.format.filter.GreaterThanOrEqualTo = function(propertyName, expression) { + GVol.format.filter.ComparisonBinary.call(this, 'PropertyIsGreaterThanOrEqualTo', propertyName, expression); +}; +GVol.inherits(GVol.format.filter.GreaterThanOrEqualTo, GVol.format.filter.ComparisonBinary); + +goog.provide('GVol.format.filter.Spatial'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Filter'); + + +/** + * @classdesc + * Represents a spatial operator to test whether a geometry-valued property + * relates to a given geometry. + * + * @constructor + * @param {!string} tagName The XML tag name for this filter. + * @param {!string} geometryName Geometry name to use. + * @param {!GVol.geom.Geometry} geometry Geometry. + * @param {string=} opt_srsName SRS name. No srsName attribute will be + * set on geometries when this is not provided. + * @extends {GVol.format.filter.Filter} + * @api + */ +GVol.format.filter.Spatial = function(tagName, geometryName, geometry, opt_srsName) { + + GVol.format.filter.Filter.call(this, tagName); + + /** + * @public + * @type {!string} + */ + this.geometryName = geometryName || 'the_geom'; + + /** + * @public + * @type {GVol.geom.Geometry} + */ + this.geometry = geometry; + + /** + * @public + * @type {string|undefined} + */ + this.srsName = opt_srsName; +}; +GVol.inherits(GVol.format.filter.Spatial, GVol.format.filter.Filter); + +goog.provide('GVol.format.filter.Intersects'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Spatial'); + + +/** + * @classdesc + * Represents a `<Intersects>` operator to test whether a geometry-valued property + * intersects a given geometry. + * + * @constructor + * @param {!string} geometryName Geometry name to use. + * @param {!GVol.geom.Geometry} geometry Geometry. + * @param {string=} opt_srsName SRS name. No srsName attribute will be + * set on geometries when this is not provided. + * @extends {GVol.format.filter.Spatial} + * @api + */ +GVol.format.filter.Intersects = function(geometryName, geometry, opt_srsName) { + + GVol.format.filter.Spatial.call(this, 'Intersects', geometryName, geometry, opt_srsName); + +}; +GVol.inherits(GVol.format.filter.Intersects, GVol.format.filter.Spatial); + +goog.provide('GVol.format.filter.IsBetween'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Comparison'); + + +/** + * @classdesc + * Represents a `<PropertyIsBetween>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} lowerBoundary The lower bound of the range. + * @param {!number} upperBoundary The upper bound of the range. + * @extends {GVol.format.filter.Comparison} + * @api + */ +GVol.format.filter.IsBetween = function(propertyName, lowerBoundary, upperBoundary) { + GVol.format.filter.Comparison.call(this, 'PropertyIsBetween', propertyName); + + /** + * @public + * @type {!number} + */ + this.lowerBoundary = lowerBoundary; + + /** + * @public + * @type {!number} + */ + this.upperBoundary = upperBoundary; +}; +GVol.inherits(GVol.format.filter.IsBetween, GVol.format.filter.Comparison); + +goog.provide('GVol.format.filter.IsLike'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Comparison'); + + +/** + * @classdesc + * Represents a `<PropertyIsLike>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @param {!string} pattern Text pattern. + * @param {string=} opt_wildCard Pattern character which matches any sequence of + * zero or more string characters. Default is '*'. + * @param {string=} opt_singleChar pattern character which matches any single + * string character. Default is '.'. + * @param {string=} opt_escapeChar Escape character which can be used to escape + * the pattern characters. Default is '!'. + * @param {boGVolean=} opt_matchCase Case-sensitive? + * @extends {GVol.format.filter.Comparison} + * @api + */ +GVol.format.filter.IsLike = function(propertyName, pattern, + opt_wildCard, opt_singleChar, opt_escapeChar, opt_matchCase) { + GVol.format.filter.Comparison.call(this, 'PropertyIsLike', propertyName); + + /** + * @public + * @type {!string} + */ + this.pattern = pattern; + + /** + * @public + * @type {!string} + */ + this.wildCard = (opt_wildCard !== undefined) ? opt_wildCard : '*'; + + /** + * @public + * @type {!string} + */ + this.singleChar = (opt_singleChar !== undefined) ? opt_singleChar : '.'; + + /** + * @public + * @type {!string} + */ + this.escapeChar = (opt_escapeChar !== undefined) ? opt_escapeChar : '!'; + + /** + * @public + * @type {boGVolean|undefined} + */ + this.matchCase = opt_matchCase; +}; +GVol.inherits(GVol.format.filter.IsLike, GVol.format.filter.Comparison); + +goog.provide('GVol.format.filter.IsNull'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Comparison'); + + +/** + * @classdesc + * Represents a `<PropertyIsNull>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @extends {GVol.format.filter.Comparison} + * @api + */ +GVol.format.filter.IsNull = function(propertyName) { + GVol.format.filter.Comparison.call(this, 'PropertyIsNull', propertyName); +}; +GVol.inherits(GVol.format.filter.IsNull, GVol.format.filter.Comparison); + +goog.provide('GVol.format.filter.LessThan'); + +goog.require('GVol'); +goog.require('GVol.format.filter.ComparisonBinary'); + + +/** + * @classdesc + * Represents a `<PropertyIsLessThan>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} expression The value to compare. + * @extends {GVol.format.filter.ComparisonBinary} + * @api + */ +GVol.format.filter.LessThan = function(propertyName, expression) { + GVol.format.filter.ComparisonBinary.call(this, 'PropertyIsLessThan', propertyName, expression); +}; +GVol.inherits(GVol.format.filter.LessThan, GVol.format.filter.ComparisonBinary); + +goog.provide('GVol.format.filter.LessThanOrEqualTo'); + +goog.require('GVol'); +goog.require('GVol.format.filter.ComparisonBinary'); + + +/** + * @classdesc + * Represents a `<PropertyIsLessThanOrEqualTo>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} expression The value to compare. + * @extends {GVol.format.filter.ComparisonBinary} + * @api + */ +GVol.format.filter.LessThanOrEqualTo = function(propertyName, expression) { + GVol.format.filter.ComparisonBinary.call(this, 'PropertyIsLessThanOrEqualTo', propertyName, expression); +}; +GVol.inherits(GVol.format.filter.LessThanOrEqualTo, GVol.format.filter.ComparisonBinary); + +goog.provide('GVol.format.filter.Not'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Filter'); + + +/** + * @classdesc + * Represents a logical `<Not>` operator for a filter condition. + * + * @constructor + * @param {!GVol.format.filter.Filter} condition Filter condition. + * @extends {GVol.format.filter.Filter} + * @api + */ +GVol.format.filter.Not = function(condition) { + + GVol.format.filter.Filter.call(this, 'Not'); + + /** + * @public + * @type {!GVol.format.filter.Filter} + */ + this.condition = condition; +}; +GVol.inherits(GVol.format.filter.Not, GVol.format.filter.Filter); + +goog.provide('GVol.format.filter.NotEqualTo'); + +goog.require('GVol'); +goog.require('GVol.format.filter.ComparisonBinary'); + + +/** + * @classdesc + * Represents a `<PropertyIsNotEqualTo>` comparison operator. + * + * @constructor + * @param {!string} propertyName Name of the context property to compare. + * @param {!(string|number)} expression The value to compare. + * @param {boGVolean=} opt_matchCase Case-sensitive? + * @extends {GVol.format.filter.ComparisonBinary} + * @api + */ +GVol.format.filter.NotEqualTo = function(propertyName, expression, opt_matchCase) { + GVol.format.filter.ComparisonBinary.call(this, 'PropertyIsNotEqualTo', propertyName, expression, opt_matchCase); +}; +GVol.inherits(GVol.format.filter.NotEqualTo, GVol.format.filter.ComparisonBinary); + +goog.provide('GVol.format.filter.Or'); + +goog.require('GVol'); +goog.require('GVol.format.filter.LogicalNary'); + + +/** + * @classdesc + * Represents a logical `<Or>` operator between two ore more filter conditions. + * + * @constructor + * @param {...GVol.format.filter.Filter} conditions Conditions. + * @extends {GVol.format.filter.LogicalNary} + * @api + */ +GVol.format.filter.Or = function(conditions) { + var params = ['Or'].concat(Array.prototype.slice.call(arguments)); + GVol.format.filter.LogicalNary.apply(this, params); +}; +GVol.inherits(GVol.format.filter.Or, GVol.format.filter.LogicalNary); + +goog.provide('GVol.format.filter.Within'); + +goog.require('GVol'); +goog.require('GVol.format.filter.Spatial'); + + +/** + * @classdesc + * Represents a `<Within>` operator to test whether a geometry-valued property + * is within a given geometry. + * + * @constructor + * @param {!string} geometryName Geometry name to use. + * @param {!GVol.geom.Geometry} geometry Geometry. + * @param {string=} opt_srsName SRS name. No srsName attribute will be + * set on geometries when this is not provided. + * @extends {GVol.format.filter.Spatial} + * @api + */ +GVol.format.filter.Within = function(geometryName, geometry, opt_srsName) { + + GVol.format.filter.Spatial.call(this, 'Within', geometryName, geometry, opt_srsName); + +}; +GVol.inherits(GVol.format.filter.Within, GVol.format.filter.Spatial); + +goog.provide('GVol.format.filter'); + +goog.require('GVol.format.filter.And'); +goog.require('GVol.format.filter.Bbox'); +goog.require('GVol.format.filter.During'); +goog.require('GVol.format.filter.EqualTo'); +goog.require('GVol.format.filter.GreaterThan'); +goog.require('GVol.format.filter.GreaterThanOrEqualTo'); +goog.require('GVol.format.filter.Intersects'); +goog.require('GVol.format.filter.IsBetween'); +goog.require('GVol.format.filter.IsLike'); +goog.require('GVol.format.filter.IsNull'); +goog.require('GVol.format.filter.LessThan'); +goog.require('GVol.format.filter.LessThanOrEqualTo'); +goog.require('GVol.format.filter.Not'); +goog.require('GVol.format.filter.NotEqualTo'); +goog.require('GVol.format.filter.Or'); +goog.require('GVol.format.filter.Within'); + + +/** + * Create a logical `<And>` operator between two or more filter conditions. + * + * @param {...GVol.format.filter.Filter} conditions Filter conditions. + * @returns {!GVol.format.filter.And} `<And>` operator. + * @api + */ +GVol.format.filter.and = function(conditions) { + var params = [null].concat(Array.prototype.slice.call(arguments)); + return new (Function.prototype.bind.apply(GVol.format.filter.And, params)); +}; + + +/** + * Create a logical `<Or>` operator between two or more filter conditions. + * + * @param {...GVol.format.filter.Filter} conditions Filter conditions. + * @returns {!GVol.format.filter.Or} `<Or>` operator. + * @api + */ +GVol.format.filter.or = function(conditions) { + var params = [null].concat(Array.prototype.slice.call(arguments)); + return new (Function.prototype.bind.apply(GVol.format.filter.Or, params)); +}; + + +/** + * Represents a logical `<Not>` operator for a filter condition. + * + * @param {!GVol.format.filter.Filter} condition Filter condition. + * @returns {!GVol.format.filter.Not} `<Not>` operator. + * @api + */ +GVol.format.filter.not = function(condition) { + return new GVol.format.filter.Not(condition); +}; + + +/** + * Create a `<BBOX>` operator to test whether a geometry-valued property + * intersects a fixed bounding box + * + * @param {!string} geometryName Geometry name to use. + * @param {!GVol.Extent} extent Extent. + * @param {string=} opt_srsName SRS name. No srsName attribute will be + * set on geometries when this is not provided. + * @returns {!GVol.format.filter.Bbox} `<BBOX>` operator. + * @api + */ +GVol.format.filter.bbox = function(geometryName, extent, opt_srsName) { + return new GVol.format.filter.Bbox(geometryName, extent, opt_srsName); +}; + +/** + * Create a `<Intersects>` operator to test whether a geometry-valued property + * intersects a given geometry. + * + * @param {!string} geometryName Geometry name to use. + * @param {!GVol.geom.Geometry} geometry Geometry. + * @param {string=} opt_srsName SRS name. No srsName attribute will be + * set on geometries when this is not provided. + * @returns {!GVol.format.filter.Intersects} `<Intersects>` operator. + * @api + */ +GVol.format.filter.intersects = function(geometryName, geometry, opt_srsName) { + return new GVol.format.filter.Intersects(geometryName, geometry, opt_srsName); +}; + +/** + * Create a `<Within>` operator to test whether a geometry-valued property + * is within a given geometry. + * + * @param {!string} geometryName Geometry name to use. + * @param {!GVol.geom.Geometry} geometry Geometry. + * @param {string=} opt_srsName SRS name. No srsName attribute will be + * set on geometries when this is not provided. + * @returns {!GVol.format.filter.Within} `<Within>` operator. + * @api + */ +GVol.format.filter.within = function(geometryName, geometry, opt_srsName) { + return new GVol.format.filter.Within(geometryName, geometry, opt_srsName); +}; + + +/** + * Creates a `<PropertyIsEqualTo>` comparison operator. + * + * @param {!string} propertyName Name of the context property to compare. + * @param {!(string|number)} expression The value to compare. + * @param {boGVolean=} opt_matchCase Case-sensitive? + * @returns {!GVol.format.filter.EqualTo} `<PropertyIsEqualTo>` operator. + * @api + */ +GVol.format.filter.equalTo = function(propertyName, expression, opt_matchCase) { + return new GVol.format.filter.EqualTo(propertyName, expression, opt_matchCase); +}; + + +/** + * Creates a `<PropertyIsNotEqualTo>` comparison operator. + * + * @param {!string} propertyName Name of the context property to compare. + * @param {!(string|number)} expression The value to compare. + * @param {boGVolean=} opt_matchCase Case-sensitive? + * @returns {!GVol.format.filter.NotEqualTo} `<PropertyIsNotEqualTo>` operator. + * @api + */ +GVol.format.filter.notEqualTo = function(propertyName, expression, opt_matchCase) { + return new GVol.format.filter.NotEqualTo(propertyName, expression, opt_matchCase); +}; + + +/** + * Creates a `<PropertyIsLessThan>` comparison operator. + * + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} expression The value to compare. + * @returns {!GVol.format.filter.LessThan} `<PropertyIsLessThan>` operator. + * @api + */ +GVol.format.filter.lessThan = function(propertyName, expression) { + return new GVol.format.filter.LessThan(propertyName, expression); +}; + + +/** + * Creates a `<PropertyIsLessThanOrEqualTo>` comparison operator. + * + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} expression The value to compare. + * @returns {!GVol.format.filter.LessThanOrEqualTo} `<PropertyIsLessThanOrEqualTo>` operator. + * @api + */ +GVol.format.filter.lessThanOrEqualTo = function(propertyName, expression) { + return new GVol.format.filter.LessThanOrEqualTo(propertyName, expression); +}; + + +/** + * Creates a `<PropertyIsGreaterThan>` comparison operator. + * + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} expression The value to compare. + * @returns {!GVol.format.filter.GreaterThan} `<PropertyIsGreaterThan>` operator. + * @api + */ +GVol.format.filter.greaterThan = function(propertyName, expression) { + return new GVol.format.filter.GreaterThan(propertyName, expression); +}; + + +/** + * Creates a `<PropertyIsGreaterThanOrEqualTo>` comparison operator. + * + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} expression The value to compare. + * @returns {!GVol.format.filter.GreaterThanOrEqualTo} `<PropertyIsGreaterThanOrEqualTo>` operator. + * @api + */ +GVol.format.filter.greaterThanOrEqualTo = function(propertyName, expression) { + return new GVol.format.filter.GreaterThanOrEqualTo(propertyName, expression); +}; + + +/** + * Creates a `<PropertyIsNull>` comparison operator to test whether a property value + * is null. + * + * @param {!string} propertyName Name of the context property to compare. + * @returns {!GVol.format.filter.IsNull} `<PropertyIsNull>` operator. + * @api + */ +GVol.format.filter.isNull = function(propertyName) { + return new GVol.format.filter.IsNull(propertyName); +}; + + +/** + * Creates a `<PropertyIsBetween>` comparison operator to test whether an expression + * value lies within a range given by a lower and upper bound (inclusive). + * + * @param {!string} propertyName Name of the context property to compare. + * @param {!number} lowerBoundary The lower bound of the range. + * @param {!number} upperBoundary The upper bound of the range. + * @returns {!GVol.format.filter.IsBetween} `<PropertyIsBetween>` operator. + * @api + */ +GVol.format.filter.between = function(propertyName, lowerBoundary, upperBoundary) { + return new GVol.format.filter.IsBetween(propertyName, lowerBoundary, upperBoundary); +}; + + +/** + * Represents a `<PropertyIsLike>` comparison operator that matches a string property + * value against a text pattern. + * + * @param {!string} propertyName Name of the context property to compare. + * @param {!string} pattern Text pattern. + * @param {string=} opt_wildCard Pattern character which matches any sequence of + * zero or more string characters. Default is '*'. + * @param {string=} opt_singleChar pattern character which matches any single + * string character. Default is '.'. + * @param {string=} opt_escapeChar Escape character which can be used to escape + * the pattern characters. Default is '!'. + * @param {boGVolean=} opt_matchCase Case-sensitive? + * @returns {!GVol.format.filter.IsLike} `<PropertyIsLike>` operator. + * @api + */ +GVol.format.filter.like = function(propertyName, pattern, + opt_wildCard, opt_singleChar, opt_escapeChar, opt_matchCase) { + return new GVol.format.filter.IsLike(propertyName, pattern, + opt_wildCard, opt_singleChar, opt_escapeChar, opt_matchCase); +}; + + +/** + * Create a `<During>` temporal operator. + * + * @param {!string} propertyName Name of the context property to compare. + * @param {!string} begin The begin date in ISO-8601 format. + * @param {!string} end The end date in ISO-8601 format. + * @returns {!GVol.format.filter.During} `<During>` operator. + * @api + */ +GVol.format.filter.during = function(propertyName, begin, end) { + return new GVol.format.filter.During(propertyName, begin, end); +}; + +goog.provide('GVol.geom.GeometryCGVollection'); + +goog.require('GVol'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.geom.Geometry'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.obj'); + + +/** + * @classdesc + * An array of {@link GVol.geom.Geometry} objects. + * + * @constructor + * @extends {GVol.geom.Geometry} + * @param {Array.<GVol.geom.Geometry>=} opt_geometries Geometries. + * @api + */ +GVol.geom.GeometryCGVollection = function(opt_geometries) { + + GVol.geom.Geometry.call(this); + + /** + * @private + * @type {Array.<GVol.geom.Geometry>} + */ + this.geometries_ = opt_geometries ? opt_geometries : null; + + this.listenGeometriesChange_(); +}; +GVol.inherits(GVol.geom.GeometryCGVollection, GVol.geom.Geometry); + + +/** + * @param {Array.<GVol.geom.Geometry>} geometries Geometries. + * @private + * @return {Array.<GVol.geom.Geometry>} Cloned geometries. + */ +GVol.geom.GeometryCGVollection.cloneGeometries_ = function(geometries) { + var clonedGeometries = []; + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + clonedGeometries.push(geometries[i].clone()); + } + return clonedGeometries; +}; + + +/** + * @private + */ +GVol.geom.GeometryCGVollection.prototype.unlistenGeometriesChange_ = function() { + var i, ii; + if (!this.geometries_) { + return; + } + for (i = 0, ii = this.geometries_.length; i < ii; ++i) { + GVol.events.unlisten( + this.geometries_[i], GVol.events.EventType.CHANGE, + this.changed, this); + } +}; + + +/** + * @private + */ +GVol.geom.GeometryCGVollection.prototype.listenGeometriesChange_ = function() { + var i, ii; + if (!this.geometries_) { + return; + } + for (i = 0, ii = this.geometries_.length; i < ii; ++i) { + GVol.events.listen( + this.geometries_[i], GVol.events.EventType.CHANGE, + this.changed, this); + } +}; + + +/** + * Make a complete copy of the geometry. + * @return {!GVol.geom.GeometryCGVollection} Clone. + * @override + * @api + */ +GVol.geom.GeometryCGVollection.prototype.clone = function() { + var geometryCGVollection = new GVol.geom.GeometryCGVollection(null); + geometryCGVollection.setGeometries(this.geometries_); + return geometryCGVollection; +}; + + +/** + * @inheritDoc + */ +GVol.geom.GeometryCGVollection.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) { + if (minSquaredDistance < + GVol.extent.closestSquaredDistanceXY(this.getExtent(), x, y)) { + return minSquaredDistance; + } + var geometries = this.geometries_; + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + minSquaredDistance = geometries[i].closestPointXY( + x, y, closestPoint, minSquaredDistance); + } + return minSquaredDistance; +}; + + +/** + * @inheritDoc + */ +GVol.geom.GeometryCGVollection.prototype.containsXY = function(x, y) { + var geometries = this.geometries_; + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + if (geometries[i].containsXY(x, y)) { + return true; + } + } + return false; +}; + + +/** + * @inheritDoc + */ +GVol.geom.GeometryCGVollection.prototype.computeExtent = function(extent) { + GVol.extent.createOrUpdateEmpty(extent); + var geometries = this.geometries_; + for (var i = 0, ii = geometries.length; i < ii; ++i) { + GVol.extent.extend(extent, geometries[i].getExtent()); + } + return extent; +}; + + +/** + * Return the geometries that make up this geometry cGVollection. + * @return {Array.<GVol.geom.Geometry>} Geometries. + * @api + */ +GVol.geom.GeometryCGVollection.prototype.getGeometries = function() { + return GVol.geom.GeometryCGVollection.cloneGeometries_(this.geometries_); +}; + + +/** + * @return {Array.<GVol.geom.Geometry>} Geometries. + */ +GVol.geom.GeometryCGVollection.prototype.getGeometriesArray = function() { + return this.geometries_; +}; + + +/** + * @inheritDoc + */ +GVol.geom.GeometryCGVollection.prototype.getSimplifiedGeometry = function(squaredTGVolerance) { + if (this.simplifiedGeometryRevision != this.getRevision()) { + GVol.obj.clear(this.simplifiedGeometryCache); + this.simplifiedGeometryMaxMinSquaredTGVolerance = 0; + this.simplifiedGeometryRevision = this.getRevision(); + } + if (squaredTGVolerance < 0 || + (this.simplifiedGeometryMaxMinSquaredTGVolerance !== 0 && + squaredTGVolerance < this.simplifiedGeometryMaxMinSquaredTGVolerance)) { + return this; + } + var key = squaredTGVolerance.toString(); + if (this.simplifiedGeometryCache.hasOwnProperty(key)) { + return this.simplifiedGeometryCache[key]; + } else { + var simplifiedGeometries = []; + var geometries = this.geometries_; + var simplified = false; + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + var geometry = geometries[i]; + var simplifiedGeometry = geometry.getSimplifiedGeometry(squaredTGVolerance); + simplifiedGeometries.push(simplifiedGeometry); + if (simplifiedGeometry !== geometry) { + simplified = true; + } + } + if (simplified) { + var simplifiedGeometryCGVollection = new GVol.geom.GeometryCGVollection(null); + simplifiedGeometryCGVollection.setGeometriesArray(simplifiedGeometries); + this.simplifiedGeometryCache[key] = simplifiedGeometryCGVollection; + return simplifiedGeometryCGVollection; + } else { + this.simplifiedGeometryMaxMinSquaredTGVolerance = squaredTGVolerance; + return this; + } + } +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.GeometryCGVollection.prototype.getType = function() { + return GVol.geom.GeometryType.GEOMETRY_COLLECTION; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.GeometryCGVollection.prototype.intersectsExtent = function(extent) { + var geometries = this.geometries_; + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + if (geometries[i].intersectsExtent(extent)) { + return true; + } + } + return false; +}; + + +/** + * @return {boGVolean} Is empty. + */ +GVol.geom.GeometryCGVollection.prototype.isEmpty = function() { + return this.geometries_.length === 0; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.GeometryCGVollection.prototype.rotate = function(angle, anchor) { + var geometries = this.geometries_; + for (var i = 0, ii = geometries.length; i < ii; ++i) { + geometries[i].rotate(angle, anchor); + } + this.changed(); +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.GeometryCGVollection.prototype.scale = function(sx, opt_sy, opt_anchor) { + var anchor = opt_anchor; + if (!anchor) { + anchor = GVol.extent.getCenter(this.getExtent()); + } + var geometries = this.geometries_; + for (var i = 0, ii = geometries.length; i < ii; ++i) { + geometries[i].scale(sx, opt_sy, anchor); + } + this.changed(); +}; + + +/** + * Set the geometries that make up this geometry cGVollection. + * @param {Array.<GVol.geom.Geometry>} geometries Geometries. + * @api + */ +GVol.geom.GeometryCGVollection.prototype.setGeometries = function(geometries) { + this.setGeometriesArray( + GVol.geom.GeometryCGVollection.cloneGeometries_(geometries)); +}; + + +/** + * @param {Array.<GVol.geom.Geometry>} geometries Geometries. + */ +GVol.geom.GeometryCGVollection.prototype.setGeometriesArray = function(geometries) { + this.unlistenGeometriesChange_(); + this.geometries_ = geometries; + this.listenGeometriesChange_(); + this.changed(); +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.GeometryCGVollection.prototype.applyTransform = function(transformFn) { + var geometries = this.geometries_; + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + geometries[i].applyTransform(transformFn); + } + this.changed(); +}; + + +/** + * Translate the geometry. + * @param {number} deltaX Delta X. + * @param {number} deltaY Delta Y. + * @override + * @api + */ +GVol.geom.GeometryCGVollection.prototype.translate = function(deltaX, deltaY) { + var geometries = this.geometries_; + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + geometries[i].translate(deltaX, deltaY); + } + this.changed(); +}; + + +/** + * @inheritDoc + */ +GVol.geom.GeometryCGVollection.prototype.disposeInternal = function() { + this.unlistenGeometriesChange_(); + GVol.geom.Geometry.prototype.disposeInternal.call(this); +}; + +// TODO: serialize dataProjection as crs member when writing +// see https://github.com/openlayers/openlayers/issues/2078 + +goog.provide('GVol.format.GeoJSON'); + +goog.require('GVol'); +goog.require('GVol.asserts'); +goog.require('GVol.Feature'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.JSONFeature'); +goog.require('GVol.geom.GeometryCGVollection'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.MultiPGVolygon'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * Feature format for reading and writing data in the GeoJSON format. + * + * @constructor + * @extends {GVol.format.JSONFeature} + * @param {GVolx.format.GeoJSONOptions=} opt_options Options. + * @api + */ +GVol.format.GeoJSON = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.format.JSONFeature.call(this); + + /** + * @inheritDoc + */ + this.defaultDataProjection = GVol.proj.get( + options.defaultDataProjection ? + options.defaultDataProjection : 'EPSG:4326'); + + + if (options.featureProjection) { + this.defaultFeatureProjection = GVol.proj.get(options.featureProjection); + } + + /** + * Name of the geometry attribute for features. + * @type {string|undefined} + * @private + */ + this.geometryName_ = options.geometryName; + +}; +GVol.inherits(GVol.format.GeoJSON, GVol.format.JSONFeature); + + +/** + * @param {GeoJSONGeometry|GeoJSONGeometryCGVollection} object Object. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @private + * @return {GVol.geom.Geometry} Geometry. + */ +GVol.format.GeoJSON.readGeometry_ = function(object, opt_options) { + if (!object) { + return null; + } + var geometryReader = GVol.format.GeoJSON.GEOMETRY_READERS_[object.type]; + return /** @type {GVol.geom.Geometry} */ ( + GVol.format.Feature.transformWithOptions( + geometryReader(object), false, opt_options)); +}; + + +/** + * @param {GeoJSONGeometryCGVollection} object Object. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @private + * @return {GVol.geom.GeometryCGVollection} Geometry cGVollection. + */ +GVol.format.GeoJSON.readGeometryCGVollectionGeometry_ = function( + object, opt_options) { + var geometries = object.geometries.map( + /** + * @param {GeoJSONGeometry} geometry Geometry. + * @return {GVol.geom.Geometry} geometry Geometry. + */ + function(geometry) { + return GVol.format.GeoJSON.readGeometry_(geometry, opt_options); + }); + return new GVol.geom.GeometryCGVollection(geometries); +}; + + +/** + * @param {GeoJSONGeometry} object Object. + * @private + * @return {GVol.geom.Point} Point. + */ +GVol.format.GeoJSON.readPointGeometry_ = function(object) { + return new GVol.geom.Point(object.coordinates); +}; + + +/** + * @param {GeoJSONGeometry} object Object. + * @private + * @return {GVol.geom.LineString} LineString. + */ +GVol.format.GeoJSON.readLineStringGeometry_ = function(object) { + return new GVol.geom.LineString(object.coordinates); +}; + + +/** + * @param {GeoJSONGeometry} object Object. + * @private + * @return {GVol.geom.MultiLineString} MultiLineString. + */ +GVol.format.GeoJSON.readMultiLineStringGeometry_ = function(object) { + return new GVol.geom.MultiLineString(object.coordinates); +}; + + +/** + * @param {GeoJSONGeometry} object Object. + * @private + * @return {GVol.geom.MultiPoint} MultiPoint. + */ +GVol.format.GeoJSON.readMultiPointGeometry_ = function(object) { + return new GVol.geom.MultiPoint(object.coordinates); +}; + + +/** + * @param {GeoJSONGeometry} object Object. + * @private + * @return {GVol.geom.MultiPGVolygon} MultiPGVolygon. + */ +GVol.format.GeoJSON.readMultiPGVolygonGeometry_ = function(object) { + return new GVol.geom.MultiPGVolygon(object.coordinates); +}; + + +/** + * @param {GeoJSONGeometry} object Object. + * @private + * @return {GVol.geom.PGVolygon} PGVolygon. + */ +GVol.format.GeoJSON.readPGVolygonGeometry_ = function(object) { + return new GVol.geom.PGVolygon(object.coordinates); +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {GeoJSONGeometry|GeoJSONGeometryCGVollection} GeoJSON geometry. + */ +GVol.format.GeoJSON.writeGeometry_ = function(geometry, opt_options) { + var geometryWriter = GVol.format.GeoJSON.GEOMETRY_WRITERS_[geometry.getType()]; + return geometryWriter(/** @type {GVol.geom.Geometry} */ ( + GVol.format.Feature.transformWithOptions(geometry, true, opt_options)), + opt_options); +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @private + * @return {GeoJSONGeometryCGVollection} Empty GeoJSON geometry cGVollection. + */ +GVol.format.GeoJSON.writeEmptyGeometryCGVollectionGeometry_ = function(geometry) { + return /** @type {GeoJSONGeometryCGVollection} */ ({ + type: 'GeometryCGVollection', + geometries: [] + }); +}; + + +/** + * @param {GVol.geom.GeometryCGVollection} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {GeoJSONGeometryCGVollection} GeoJSON geometry cGVollection. + */ +GVol.format.GeoJSON.writeGeometryCGVollectionGeometry_ = function( + geometry, opt_options) { + var geometries = geometry.getGeometriesArray().map(function(geometry) { + var options = GVol.obj.assign({}, opt_options); + delete options.featureProjection; + return GVol.format.GeoJSON.writeGeometry_(geometry, options); + }); + return /** @type {GeoJSONGeometryCGVollection} */ ({ + type: 'GeometryCGVollection', + geometries: geometries + }); +}; + + +/** + * @param {GVol.geom.LineString} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {GeoJSONGeometry} GeoJSON geometry. + */ +GVol.format.GeoJSON.writeLineStringGeometry_ = function(geometry, opt_options) { + return /** @type {GeoJSONGeometry} */ ({ + type: 'LineString', + coordinates: geometry.getCoordinates() + }); +}; + + +/** + * @param {GVol.geom.MultiLineString} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {GeoJSONGeometry} GeoJSON geometry. + */ +GVol.format.GeoJSON.writeMultiLineStringGeometry_ = function(geometry, opt_options) { + return /** @type {GeoJSONGeometry} */ ({ + type: 'MultiLineString', + coordinates: geometry.getCoordinates() + }); +}; + + +/** + * @param {GVol.geom.MultiPoint} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {GeoJSONGeometry} GeoJSON geometry. + */ +GVol.format.GeoJSON.writeMultiPointGeometry_ = function(geometry, opt_options) { + return /** @type {GeoJSONGeometry} */ ({ + type: 'MultiPoint', + coordinates: geometry.getCoordinates() + }); +}; + + +/** + * @param {GVol.geom.MultiPGVolygon} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {GeoJSONGeometry} GeoJSON geometry. + */ +GVol.format.GeoJSON.writeMultiPGVolygonGeometry_ = function(geometry, opt_options) { + var right; + if (opt_options) { + right = opt_options.rightHanded; + } + return /** @type {GeoJSONGeometry} */ ({ + type: 'MultiPGVolygon', + coordinates: geometry.getCoordinates(right) + }); +}; + + +/** + * @param {GVol.geom.Point} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {GeoJSONGeometry} GeoJSON geometry. + */ +GVol.format.GeoJSON.writePointGeometry_ = function(geometry, opt_options) { + return /** @type {GeoJSONGeometry} */ ({ + type: 'Point', + coordinates: geometry.getCoordinates() + }); +}; + + +/** + * @param {GVol.geom.PGVolygon} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @private + * @return {GeoJSONGeometry} GeoJSON geometry. + */ +GVol.format.GeoJSON.writePGVolygonGeometry_ = function(geometry, opt_options) { + var right; + if (opt_options) { + right = opt_options.rightHanded; + } + return /** @type {GeoJSONGeometry} */ ({ + type: 'PGVolygon', + coordinates: geometry.getCoordinates(right) + }); +}; + + +/** + * @const + * @private + * @type {Object.<string, function(GeoJSONObject): GVol.geom.Geometry>} + */ +GVol.format.GeoJSON.GEOMETRY_READERS_ = { + 'Point': GVol.format.GeoJSON.readPointGeometry_, + 'LineString': GVol.format.GeoJSON.readLineStringGeometry_, + 'PGVolygon': GVol.format.GeoJSON.readPGVolygonGeometry_, + 'MultiPoint': GVol.format.GeoJSON.readMultiPointGeometry_, + 'MultiLineString': GVol.format.GeoJSON.readMultiLineStringGeometry_, + 'MultiPGVolygon': GVol.format.GeoJSON.readMultiPGVolygonGeometry_, + 'GeometryCGVollection': GVol.format.GeoJSON.readGeometryCGVollectionGeometry_ +}; + + +/** + * @const + * @private + * @type {Object.<string, function(GVol.geom.Geometry, GVolx.format.WriteOptions=): (GeoJSONGeometry|GeoJSONGeometryCGVollection)>} + */ +GVol.format.GeoJSON.GEOMETRY_WRITERS_ = { + 'Point': GVol.format.GeoJSON.writePointGeometry_, + 'LineString': GVol.format.GeoJSON.writeLineStringGeometry_, + 'PGVolygon': GVol.format.GeoJSON.writePGVolygonGeometry_, + 'MultiPoint': GVol.format.GeoJSON.writeMultiPointGeometry_, + 'MultiLineString': GVol.format.GeoJSON.writeMultiLineStringGeometry_, + 'MultiPGVolygon': GVol.format.GeoJSON.writeMultiPGVolygonGeometry_, + 'GeometryCGVollection': GVol.format.GeoJSON.writeGeometryCGVollectionGeometry_, + 'Circle': GVol.format.GeoJSON.writeEmptyGeometryCGVollectionGeometry_ +}; + + +/** + * Read a feature from a GeoJSON Feature source. Only works for Feature or + * geometry types. Use {@link GVol.format.GeoJSON#readFeatures} to read + * FeatureCGVollection source. If feature at source has an id, it will be used + * as Feature id by calling {@link GVol.Feature#setId} internally. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + * @api + */ +GVol.format.GeoJSON.prototype.readFeature; + + +/** + * Read all features from a GeoJSON source. Works for all GeoJSON types. + * If the source includes only geometries, features will be created with those + * geometries. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.GeoJSON.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.GeoJSON.prototype.readFeatureFromObject = function( + object, opt_options) { + /** + * @type {GeoJSONFeature} + */ + var geoJSONFeature = null; + if (object.type === 'Feature') { + geoJSONFeature = /** @type {GeoJSONFeature} */ (object); + } else { + geoJSONFeature = /** @type {GeoJSONFeature} */ ({ + type: 'Feature', + geometry: /** @type {GeoJSONGeometry|GeoJSONGeometryCGVollection} */ (object) + }); + } + + var geometry = GVol.format.GeoJSON.readGeometry_(geoJSONFeature.geometry, opt_options); + var feature = new GVol.Feature(); + if (this.geometryName_) { + feature.setGeometryName(this.geometryName_); + } + feature.setGeometry(geometry); + if (geoJSONFeature.id !== undefined) { + feature.setId(geoJSONFeature.id); + } + if (geoJSONFeature.properties) { + feature.setProperties(geoJSONFeature.properties); + } + return feature; +}; + + +/** + * @inheritDoc + */ +GVol.format.GeoJSON.prototype.readFeaturesFromObject = function( + object, opt_options) { + var geoJSONObject = /** @type {GeoJSONObject} */ (object); + /** @type {Array.<GVol.Feature>} */ + var features = null; + if (geoJSONObject.type === 'FeatureCGVollection') { + var geoJSONFeatureCGVollection = /** @type {GeoJSONFeatureCGVollection} */ + (object); + features = []; + var geoJSONFeatures = geoJSONFeatureCGVollection.features; + var i, ii; + for (i = 0, ii = geoJSONFeatures.length; i < ii; ++i) { + features.push(this.readFeatureFromObject(geoJSONFeatures[i], + opt_options)); + } + } else { + features = [this.readFeatureFromObject(object, opt_options)]; + } + return features; +}; + + +/** + * Read a geometry from a GeoJSON source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.geom.Geometry} Geometry. + * @api + */ +GVol.format.GeoJSON.prototype.readGeometry; + + +/** + * @inheritDoc + */ +GVol.format.GeoJSON.prototype.readGeometryFromObject = function( + object, opt_options) { + return GVol.format.GeoJSON.readGeometry_( + /** @type {GeoJSONGeometry} */ (object), opt_options); +}; + + +/** + * Read the projection from a GeoJSON source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @return {GVol.proj.Projection} Projection. + * @api + */ +GVol.format.GeoJSON.prototype.readProjection; + + +/** + * @inheritDoc + */ +GVol.format.GeoJSON.prototype.readProjectionFromObject = function(object) { + var geoJSONObject = /** @type {GeoJSONObject} */ (object); + var crs = geoJSONObject.crs; + var projection; + if (crs) { + if (crs.type == 'name') { + projection = GVol.proj.get(crs.properties.name); + } else if (crs.type == 'EPSG') { + // 'EPSG' is not part of the GeoJSON specification, but is generated by + // GeoServer. + // TODO: remove this when http://jira.codehaus.org/browse/GEOS-5996 + // is fixed and widely deployed. + projection = GVol.proj.get('EPSG:' + crs.properties.code); + } else { + GVol.asserts.assert(false, 36); // Unknown SRS type + } + } else { + projection = this.defaultDataProjection; + } + return /** @type {GVol.proj.Projection} */ (projection); +}; + + +/** + * Encode a feature as a GeoJSON Feature string. + * + * @function + * @param {GVol.Feature} feature Feature. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} GeoJSON. + * @override + * @api + */ +GVol.format.GeoJSON.prototype.writeFeature; + + +/** + * Encode a feature as a GeoJSON Feature object. + * + * @param {GVol.Feature} feature Feature. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {GeoJSONFeature} Object. + * @override + * @api + */ +GVol.format.GeoJSON.prototype.writeFeatureObject = function(feature, opt_options) { + opt_options = this.adaptOptions(opt_options); + + var object = /** @type {GeoJSONFeature} */ ({ + 'type': 'Feature' + }); + var id = feature.getId(); + if (id !== undefined) { + object.id = id; + } + var geometry = feature.getGeometry(); + if (geometry) { + object.geometry = + GVol.format.GeoJSON.writeGeometry_(geometry, opt_options); + } else { + object.geometry = null; + } + var properties = feature.getProperties(); + delete properties[feature.getGeometryName()]; + if (!GVol.obj.isEmpty(properties)) { + object.properties = properties; + } else { + object.properties = null; + } + return object; +}; + + +/** + * Encode an array of features as GeoJSON. + * + * @function + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} GeoJSON. + * @api + */ +GVol.format.GeoJSON.prototype.writeFeatures; + + +/** + * Encode an array of features as a GeoJSON object. + * + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {GeoJSONFeatureCGVollection} GeoJSON Object. + * @override + * @api + */ +GVol.format.GeoJSON.prototype.writeFeaturesObject = function(features, opt_options) { + opt_options = this.adaptOptions(opt_options); + var objects = []; + var i, ii; + for (i = 0, ii = features.length; i < ii; ++i) { + objects.push(this.writeFeatureObject(features[i], opt_options)); + } + return /** @type {GeoJSONFeatureCGVollection} */ ({ + type: 'FeatureCGVollection', + features: objects + }); +}; + + +/** + * Encode a geometry as a GeoJSON string. + * + * @function + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} GeoJSON. + * @api + */ +GVol.format.GeoJSON.prototype.writeGeometry; + + +/** + * Encode a geometry as a GeoJSON object. + * + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {GeoJSONGeometry|GeoJSONGeometryCGVollection} Object. + * @override + * @api + */ +GVol.format.GeoJSON.prototype.writeGeometryObject = function(geometry, + opt_options) { + return GVol.format.GeoJSON.writeGeometry_(geometry, + this.adaptOptions(opt_options)); +}; + +goog.provide('GVol.format.XMLFeature'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.FormatType'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Base class for XML feature formats. + * + * @constructor + * @abstract + * @extends {GVol.format.Feature} + */ +GVol.format.XMLFeature = function() { + + /** + * @type {XMLSerializer} + * @private + */ + this.xmlSerializer_ = new XMLSerializer(); + + GVol.format.Feature.call(this); +}; +GVol.inherits(GVol.format.XMLFeature, GVol.format.Feature); + + +/** + * @inheritDoc + */ +GVol.format.XMLFeature.prototype.getType = function() { + return GVol.format.FormatType.XML; +}; + + +/** + * @inheritDoc + */ +GVol.format.XMLFeature.prototype.readFeature = function(source, opt_options) { + if (GVol.xml.isDocument(source)) { + return this.readFeatureFromDocument( + /** @type {Document} */ (source), opt_options); + } else if (GVol.xml.isNode(source)) { + return this.readFeatureFromNode(/** @type {Node} */ (source), opt_options); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + return this.readFeatureFromDocument(doc, opt_options); + } else { + return null; + } +}; + + +/** + * @param {Document} doc Document. + * @param {GVolx.format.ReadOptions=} opt_options Options. + * @return {GVol.Feature} Feature. + */ +GVol.format.XMLFeature.prototype.readFeatureFromDocument = function( + doc, opt_options) { + var features = this.readFeaturesFromDocument(doc, opt_options); + if (features.length > 0) { + return features[0]; + } else { + return null; + } +}; + + +/** + * @param {Node} node Node. + * @param {GVolx.format.ReadOptions=} opt_options Options. + * @return {GVol.Feature} Feature. + */ +GVol.format.XMLFeature.prototype.readFeatureFromNode = function(node, opt_options) { + return null; // not implemented +}; + + +/** + * @inheritDoc + */ +GVol.format.XMLFeature.prototype.readFeatures = function(source, opt_options) { + if (GVol.xml.isDocument(source)) { + return this.readFeaturesFromDocument( + /** @type {Document} */ (source), opt_options); + } else if (GVol.xml.isNode(source)) { + return this.readFeaturesFromNode(/** @type {Node} */ (source), opt_options); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + return this.readFeaturesFromDocument(doc, opt_options); + } else { + return []; + } +}; + + +/** + * @param {Document} doc Document. + * @param {GVolx.format.ReadOptions=} opt_options Options. + * @protected + * @return {Array.<GVol.Feature>} Features. + */ +GVol.format.XMLFeature.prototype.readFeaturesFromDocument = function( + doc, opt_options) { + /** @type {Array.<GVol.Feature>} */ + var features = []; + var n; + for (n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + GVol.array.extend(features, this.readFeaturesFromNode(n, opt_options)); + } + } + return features; +}; + + +/** + * @abstract + * @param {Node} node Node. + * @param {GVolx.format.ReadOptions=} opt_options Options. + * @protected + * @return {Array.<GVol.Feature>} Features. + */ +GVol.format.XMLFeature.prototype.readFeaturesFromNode = function(node, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.XMLFeature.prototype.readGeometry = function(source, opt_options) { + if (GVol.xml.isDocument(source)) { + return this.readGeometryFromDocument( + /** @type {Document} */ (source), opt_options); + } else if (GVol.xml.isNode(source)) { + return this.readGeometryFromNode(/** @type {Node} */ (source), opt_options); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + return this.readGeometryFromDocument(doc, opt_options); + } else { + return null; + } +}; + + +/** + * @param {Document} doc Document. + * @param {GVolx.format.ReadOptions=} opt_options Options. + * @protected + * @return {GVol.geom.Geometry} Geometry. + */ +GVol.format.XMLFeature.prototype.readGeometryFromDocument = function(doc, opt_options) { + return null; // not implemented +}; + + +/** + * @param {Node} node Node. + * @param {GVolx.format.ReadOptions=} opt_options Options. + * @protected + * @return {GVol.geom.Geometry} Geometry. + */ +GVol.format.XMLFeature.prototype.readGeometryFromNode = function(node, opt_options) { + return null; // not implemented +}; + + +/** + * @inheritDoc + */ +GVol.format.XMLFeature.prototype.readProjection = function(source) { + if (GVol.xml.isDocument(source)) { + return this.readProjectionFromDocument(/** @type {Document} */ (source)); + } else if (GVol.xml.isNode(source)) { + return this.readProjectionFromNode(/** @type {Node} */ (source)); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + return this.readProjectionFromDocument(doc); + } else { + return null; + } +}; + + +/** + * @param {Document} doc Document. + * @protected + * @return {GVol.proj.Projection} Projection. + */ +GVol.format.XMLFeature.prototype.readProjectionFromDocument = function(doc) { + return this.defaultDataProjection; +}; + + +/** + * @param {Node} node Node. + * @protected + * @return {GVol.proj.Projection} Projection. + */ +GVol.format.XMLFeature.prototype.readProjectionFromNode = function(node) { + return this.defaultDataProjection; +}; + + +/** + * @inheritDoc + */ +GVol.format.XMLFeature.prototype.writeFeature = function(feature, opt_options) { + var node = this.writeFeatureNode(feature, opt_options); + return this.xmlSerializer_.serializeToString(node); +}; + + +/** + * @param {GVol.Feature} feature Feature. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @protected + * @return {Node} Node. + */ +GVol.format.XMLFeature.prototype.writeFeatureNode = function(feature, opt_options) { + return null; // not implemented +}; + + +/** + * @inheritDoc + */ +GVol.format.XMLFeature.prototype.writeFeatures = function(features, opt_options) { + var node = this.writeFeaturesNode(features, opt_options); + return this.xmlSerializer_.serializeToString(node); +}; + + +/** + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {Node} Node. + */ +GVol.format.XMLFeature.prototype.writeFeaturesNode = function(features, opt_options) { + return null; // not implemented +}; + + +/** + * @inheritDoc + */ +GVol.format.XMLFeature.prototype.writeGeometry = function(geometry, opt_options) { + var node = this.writeGeometryNode(geometry, opt_options); + return this.xmlSerializer_.serializeToString(node); +}; + + +/** + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {Node} Node. + */ +GVol.format.XMLFeature.prototype.writeGeometryNode = function(geometry, opt_options) { + return null; // not implemented +}; + +// FIXME Envelopes should not be treated as geometries! readEnvelope_ is part +// of GEOMETRY_PARSERS_ and methods using GEOMETRY_PARSERS_ do not expect +// envelopes/extents, only geometries! +goog.provide('GVol.format.GMLBase'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.Feature'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.XMLFeature'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.LinearRing'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.MultiPGVolygon'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Feature base format for reading and writing data in the GML format. + * This class cannot be instantiated, it contains only base content that + * is shared with versioned format classes GVol.format.GML2 and + * GVol.format.GML3. + * + * @constructor + * @abstract + * @param {GVolx.format.GMLOptions=} opt_options + * Optional configuration object. + * @extends {GVol.format.XMLFeature} + */ +GVol.format.GMLBase = function(opt_options) { + var options = /** @type {GVolx.format.GMLOptions} */ + (opt_options ? opt_options : {}); + + /** + * @protected + * @type {Array.<string>|string|undefined} + */ + this.featureType = options.featureType; + + /** + * @protected + * @type {Object.<string, string>|string|undefined} + */ + this.featureNS = options.featureNS; + + /** + * @protected + * @type {string} + */ + this.srsName = options.srsName; + + /** + * @protected + * @type {string} + */ + this.schemaLocation = ''; + + /** + * @type {Object.<string, Object.<string, Object>>} + */ + this.FEATURE_COLLECTION_PARSERS = {}; + this.FEATURE_COLLECTION_PARSERS[GVol.format.GMLBase.GMLNS] = { + 'featureMember': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readFeaturesInternal), + 'featureMembers': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readFeaturesInternal) + }; + + GVol.format.XMLFeature.call(this); +}; +GVol.inherits(GVol.format.GMLBase, GVol.format.XMLFeature); + + +/** + * @const + * @type {string} + */ +GVol.format.GMLBase.GMLNS = 'http://www.opengis.net/gml'; + + +/** + * A regular expression that matches if a string only contains whitespace + * characters. It will e.g. match `''`, `' '`, `'\n'` etc. The non-breaking + * space (0xa0) is explicitly included as IE doesn't include it in its + * definition of `\s`. + * + * Information from `goog.string.isEmptyOrWhitespace`: https://github.com/google/closure-library/blob/e877b1e/closure/goog/string/string.js#L156-L160 + * + * @const + * @type {RegExp} + * @private + */ +GVol.format.GMLBase.ONLY_WHITESPACE_RE_ = /^[\s\xa0]*$/; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Array.<GVol.Feature> | undefined} Features. + */ +GVol.format.GMLBase.prototype.readFeaturesInternal = function(node, objectStack) { + var localName = node.localName; + var features = null; + if (localName == 'FeatureCGVollection') { + if (node.namespaceURI === 'http://www.opengis.net/wfs') { + features = GVol.xml.pushParseAndPop([], + this.FEATURE_COLLECTION_PARSERS, node, + objectStack, this); + } else { + features = GVol.xml.pushParseAndPop(null, + this.FEATURE_COLLECTION_PARSERS, node, + objectStack, this); + } + } else if (localName == 'featureMembers' || localName == 'featureMember') { + var context = objectStack[0]; + var featureType = context['featureType']; + var featureNS = context['featureNS']; + var i, ii, prefix = 'p', defaultPrefix = 'p0'; + if (!featureType && node.childNodes) { + featureType = [], featureNS = {}; + for (i = 0, ii = node.childNodes.length; i < ii; ++i) { + var child = node.childNodes[i]; + if (child.nodeType === 1) { + var ft = child.nodeName.split(':').pop(); + if (featureType.indexOf(ft) === -1) { + var key = ''; + var count = 0; + var uri = child.namespaceURI; + for (var candidate in featureNS) { + if (featureNS[candidate] === uri) { + key = candidate; + break; + } + ++count; + } + if (!key) { + key = prefix + count; + featureNS[key] = uri; + } + featureType.push(key + ':' + ft); + } + } + } + if (localName != 'featureMember') { + // recheck featureType for each featureMember + context['featureType'] = featureType; + context['featureNS'] = featureNS; + } + } + if (typeof featureNS === 'string') { + var ns = featureNS; + featureNS = {}; + featureNS[defaultPrefix] = ns; + } + var parsersNS = {}; + var featureTypes = Array.isArray(featureType) ? featureType : [featureType]; + for (var p in featureNS) { + var parsers = {}; + for (i = 0, ii = featureTypes.length; i < ii; ++i) { + var featurePrefix = featureTypes[i].indexOf(':') === -1 ? + defaultPrefix : featureTypes[i].split(':')[0]; + if (featurePrefix === p) { + parsers[featureTypes[i].split(':').pop()] = + (localName == 'featureMembers') ? + GVol.xml.makeArrayPusher(this.readFeatureElement, this) : + GVol.xml.makeReplacer(this.readFeatureElement, this); + } + } + parsersNS[featureNS[p]] = parsers; + } + if (localName == 'featureMember') { + features = GVol.xml.pushParseAndPop(undefined, parsersNS, node, objectStack); + } else { + features = GVol.xml.pushParseAndPop([], parsersNS, node, objectStack); + } + } + if (features === null) { + features = []; + } + return features; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.geom.Geometry|undefined} Geometry. + */ +GVol.format.GMLBase.prototype.readGeometryElement = function(node, objectStack) { + var context = /** @type {Object} */ (objectStack[0]); + context['srsName'] = node.firstElementChild.getAttribute('srsName'); + /** @type {GVol.geom.Geometry} */ + var geometry = GVol.xml.pushParseAndPop(null, + this.GEOMETRY_PARSERS_, node, objectStack, this); + if (geometry) { + return /** @type {GVol.geom.Geometry} */ ( + GVol.format.Feature.transformWithOptions(geometry, false, context)); + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.Feature} Feature. + */ +GVol.format.GMLBase.prototype.readFeatureElement = function(node, objectStack) { + var n; + var fid = node.getAttribute('fid') || + GVol.xml.getAttributeNS(node, GVol.format.GMLBase.GMLNS, 'id'); + var values = {}, geometryName; + for (n = node.firstElementChild; n; n = n.nextElementSibling) { + var localName = n.localName; + // Assume attribute elements have one child node and that the child + // is a text or CDATA node (to be treated as text). + // Otherwise assume it is a geometry node. + if (n.childNodes.length === 0 || + (n.childNodes.length === 1 && + (n.firstChild.nodeType === 3 || n.firstChild.nodeType === 4))) { + var value = GVol.xml.getAllTextContent(n, false); + if (GVol.format.GMLBase.ONLY_WHITESPACE_RE_.test(value)) { + value = undefined; + } + values[localName] = value; + } else { + // boundedBy is an extent and must not be considered as a geometry + if (localName !== 'boundedBy') { + geometryName = localName; + } + values[localName] = this.readGeometryElement(n, objectStack); + } + } + var feature = new GVol.Feature(values); + if (geometryName) { + feature.setGeometryName(geometryName); + } + if (fid) { + feature.setId(fid); + } + return feature; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.geom.Point|undefined} Point. + */ +GVol.format.GMLBase.prototype.readPoint = function(node, objectStack) { + var flatCoordinates = + this.readFlatCoordinatesFromNode_(node, objectStack); + if (flatCoordinates) { + var point = new GVol.geom.Point(null); + point.setFlatCoordinates(GVol.geom.GeometryLayout.XYZ, flatCoordinates); + return point; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.geom.MultiPoint|undefined} MultiPoint. + */ +GVol.format.GMLBase.prototype.readMultiPoint = function(node, objectStack) { + /** @type {Array.<Array.<number>>} */ + var coordinates = GVol.xml.pushParseAndPop([], + this.MULTIPOINT_PARSERS_, node, objectStack, this); + if (coordinates) { + return new GVol.geom.MultiPoint(coordinates); + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.geom.MultiLineString|undefined} MultiLineString. + */ +GVol.format.GMLBase.prototype.readMultiLineString = function(node, objectStack) { + /** @type {Array.<GVol.geom.LineString>} */ + var lineStrings = GVol.xml.pushParseAndPop([], + this.MULTILINESTRING_PARSERS_, node, objectStack, this); + if (lineStrings) { + var multiLineString = new GVol.geom.MultiLineString(null); + multiLineString.setLineStrings(lineStrings); + return multiLineString; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.geom.MultiPGVolygon|undefined} MultiPGVolygon. + */ +GVol.format.GMLBase.prototype.readMultiPGVolygon = function(node, objectStack) { + /** @type {Array.<GVol.geom.PGVolygon>} */ + var pGVolygons = GVol.xml.pushParseAndPop([], + this.MULTIPOLYGON_PARSERS_, node, objectStack, this); + if (pGVolygons) { + var multiPGVolygon = new GVol.geom.MultiPGVolygon(null); + multiPGVolygon.setPGVolygons(pGVolygons); + return multiPGVolygon; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GMLBase.prototype.pointMemberParser_ = function(node, objectStack) { + GVol.xml.parseNode(this.POINTMEMBER_PARSERS_, + node, objectStack, this); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GMLBase.prototype.lineStringMemberParser_ = function(node, objectStack) { + GVol.xml.parseNode(this.LINESTRINGMEMBER_PARSERS_, + node, objectStack, this); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GMLBase.prototype.pGVolygonMemberParser_ = function(node, objectStack) { + GVol.xml.parseNode(this.POLYGONMEMBER_PARSERS_, node, + objectStack, this); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.geom.LineString|undefined} LineString. + */ +GVol.format.GMLBase.prototype.readLineString = function(node, objectStack) { + var flatCoordinates = + this.readFlatCoordinatesFromNode_(node, objectStack); + if (flatCoordinates) { + var lineString = new GVol.geom.LineString(null); + lineString.setFlatCoordinates(GVol.geom.GeometryLayout.XYZ, flatCoordinates); + return lineString; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<number>|undefined} LinearRing flat coordinates. + */ +GVol.format.GMLBase.prototype.readFlatLinearRing_ = function(node, objectStack) { + var ring = GVol.xml.pushParseAndPop(null, + this.GEOMETRY_FLAT_COORDINATES_PARSERS_, node, + objectStack, this); + if (ring) { + return ring; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.geom.LinearRing|undefined} LinearRing. + */ +GVol.format.GMLBase.prototype.readLinearRing = function(node, objectStack) { + var flatCoordinates = + this.readFlatCoordinatesFromNode_(node, objectStack); + if (flatCoordinates) { + var ring = new GVol.geom.LinearRing(null); + ring.setFlatCoordinates(GVol.geom.GeometryLayout.XYZ, flatCoordinates); + return ring; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.geom.PGVolygon|undefined} PGVolygon. + */ +GVol.format.GMLBase.prototype.readPGVolygon = function(node, objectStack) { + /** @type {Array.<Array.<number>>} */ + var flatLinearRings = GVol.xml.pushParseAndPop([null], + this.FLAT_LINEAR_RINGS_PARSERS_, node, objectStack, this); + if (flatLinearRings && flatLinearRings[0]) { + var pGVolygon = new GVol.geom.PGVolygon(null); + var flatCoordinates = flatLinearRings[0]; + var ends = [flatCoordinates.length]; + var i, ii; + for (i = 1, ii = flatLinearRings.length; i < ii; ++i) { + GVol.array.extend(flatCoordinates, flatLinearRings[i]); + ends.push(flatCoordinates.length); + } + pGVolygon.setFlatCoordinates( + GVol.geom.GeometryLayout.XYZ, flatCoordinates, ends); + return pGVolygon; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<number>} Flat coordinates. + */ +GVol.format.GMLBase.prototype.readFlatCoordinatesFromNode_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop(null, + this.GEOMETRY_FLAT_COORDINATES_PARSERS_, node, + objectStack, this); +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GMLBase.prototype.MULTIPOINT_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'pointMember': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.pointMemberParser_), + 'pointMembers': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.pointMemberParser_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GMLBase.prototype.MULTILINESTRING_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'lineStringMember': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.lineStringMemberParser_), + 'lineStringMembers': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.lineStringMemberParser_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GMLBase.prototype.MULTIPOLYGON_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'pGVolygonMember': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.pGVolygonMemberParser_), + 'pGVolygonMembers': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.pGVolygonMemberParser_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GMLBase.prototype.POINTMEMBER_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'Point': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.readFlatCoordinatesFromNode_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GMLBase.prototype.LINESTRINGMEMBER_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'LineString': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.readLineString) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GMLBase.prototype.POLYGONMEMBER_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'PGVolygon': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.readPGVolygon) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @protected + */ +GVol.format.GMLBase.prototype.RING_PARSERS = { + 'http://www.opengis.net/gml': { + 'LinearRing': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readFlatLinearRing_) + } +}; + + +/** + * @inheritDoc + */ +GVol.format.GMLBase.prototype.readGeometryFromNode = function(node, opt_options) { + var geometry = this.readGeometryElement(node, + [this.getReadOptions(node, opt_options ? opt_options : {})]); + return geometry ? geometry : null; +}; + + +/** + * Read all features from a GML FeatureCGVollection. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.GMLBase.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.GMLBase.prototype.readFeaturesFromNode = function(node, opt_options) { + var options = { + featureType: this.featureType, + featureNS: this.featureNS + }; + if (opt_options) { + GVol.obj.assign(options, this.getReadOptions(node, opt_options)); + } + var features = this.readFeaturesInternal(node, [options]); + return features || []; +}; + + +/** + * @inheritDoc + */ +GVol.format.GMLBase.prototype.readProjectionFromNode = function(node) { + return GVol.proj.get(this.srsName ? this.srsName : + node.firstElementChild.getAttribute('srsName')); +}; + +goog.provide('GVol.format.XSD'); + +goog.require('GVol.xml'); +goog.require('GVol.string'); + + +/** + * @const + * @type {string} + */ +GVol.format.XSD.NAMESPACE_URI = 'http://www.w3.org/2001/XMLSchema'; + + +/** + * @param {Node} node Node. + * @return {boGVolean|undefined} BoGVolean. + */ +GVol.format.XSD.readBoGVolean = function(node) { + var s = GVol.xml.getAllTextContent(node, false); + return GVol.format.XSD.readBoGVoleanString(s); +}; + + +/** + * @param {string} string String. + * @return {boGVolean|undefined} BoGVolean. + */ +GVol.format.XSD.readBoGVoleanString = function(string) { + var m = /^\s*(true|1)|(false|0)\s*$/.exec(string); + if (m) { + return m[1] !== undefined || false; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @return {number|undefined} DateTime in seconds. + */ +GVol.format.XSD.readDateTime = function(node) { + var s = GVol.xml.getAllTextContent(node, false); + var dateTime = Date.parse(s); + return isNaN(dateTime) ? undefined : dateTime / 1000; +}; + + +/** + * @param {Node} node Node. + * @return {number|undefined} Decimal. + */ +GVol.format.XSD.readDecimal = function(node) { + var s = GVol.xml.getAllTextContent(node, false); + return GVol.format.XSD.readDecimalString(s); +}; + + +/** + * @param {string} string String. + * @return {number|undefined} Decimal. + */ +GVol.format.XSD.readDecimalString = function(string) { + // FIXME check spec + var m = /^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*$/i.exec(string); + if (m) { + return parseFloat(m[1]); + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @return {number|undefined} Non negative integer. + */ +GVol.format.XSD.readNonNegativeInteger = function(node) { + var s = GVol.xml.getAllTextContent(node, false); + return GVol.format.XSD.readNonNegativeIntegerString(s); +}; + + +/** + * @param {string} string String. + * @return {number|undefined} Non negative integer. + */ +GVol.format.XSD.readNonNegativeIntegerString = function(string) { + var m = /^\s*(\d+)\s*$/.exec(string); + if (m) { + return parseInt(m[1], 10); + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @return {string|undefined} String. + */ +GVol.format.XSD.readString = function(node) { + return GVol.xml.getAllTextContent(node, false).trim(); +}; + + +/** + * @param {Node} node Node to append a TextNode with the boGVolean to. + * @param {boGVolean} boGVol BoGVolean. + */ +GVol.format.XSD.writeBoGVoleanTextNode = function(node, boGVol) { + GVol.format.XSD.writeStringTextNode(node, (boGVol) ? '1' : '0'); +}; + + +/** + * @param {Node} node Node to append a CDATA Section with the string to. + * @param {string} string String. + */ +GVol.format.XSD.writeCDATASection = function(node, string) { + node.appendChild(GVol.xml.DOCUMENT.createCDATASection(string)); +}; + + +/** + * @param {Node} node Node to append a TextNode with the dateTime to. + * @param {number} dateTime DateTime in seconds. + */ +GVol.format.XSD.writeDateTimeTextNode = function(node, dateTime) { + var date = new Date(dateTime * 1000); + var string = date.getUTCFullYear() + '-' + + GVol.string.padNumber(date.getUTCMonth() + 1, 2) + '-' + + GVol.string.padNumber(date.getUTCDate(), 2) + 'T' + + GVol.string.padNumber(date.getUTCHours(), 2) + ':' + + GVol.string.padNumber(date.getUTCMinutes(), 2) + ':' + + GVol.string.padNumber(date.getUTCSeconds(), 2) + 'Z'; + node.appendChild(GVol.xml.DOCUMENT.createTextNode(string)); +}; + + +/** + * @param {Node} node Node to append a TextNode with the decimal to. + * @param {number} decimal Decimal. + */ +GVol.format.XSD.writeDecimalTextNode = function(node, decimal) { + var string = decimal.toPrecision(); + node.appendChild(GVol.xml.DOCUMENT.createTextNode(string)); +}; + + +/** + * @param {Node} node Node to append a TextNode with the decimal to. + * @param {number} nonNegativeInteger Non negative integer. + */ +GVol.format.XSD.writeNonNegativeIntegerTextNode = function(node, nonNegativeInteger) { + var string = nonNegativeInteger.toString(); + node.appendChild(GVol.xml.DOCUMENT.createTextNode(string)); +}; + + +/** + * @param {Node} node Node to append a TextNode with the string to. + * @param {string} string String. + */ +GVol.format.XSD.writeStringTextNode = function(node, string) { + node.appendChild(GVol.xml.DOCUMENT.createTextNode(string)); +}; + +goog.provide('GVol.format.GML3'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.GMLBase'); +goog.require('GVol.format.XSD'); +goog.require('GVol.geom.Geometry'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPGVolygon'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Feature format for reading and writing data in the GML format + * version 3.1.1. + * Currently only supports GML 3.1.1 Simple Features profile. + * + * @constructor + * @param {GVolx.format.GMLOptions=} opt_options + * Optional configuration object. + * @extends {GVol.format.GMLBase} + * @api + */ +GVol.format.GML3 = function(opt_options) { + var options = /** @type {GVolx.format.GMLOptions} */ + (opt_options ? opt_options : {}); + + GVol.format.GMLBase.call(this, options); + + /** + * @private + * @type {boGVolean} + */ + this.surface_ = options.surface !== undefined ? options.surface : false; + + /** + * @private + * @type {boGVolean} + */ + this.curve_ = options.curve !== undefined ? options.curve : false; + + /** + * @private + * @type {boGVolean} + */ + this.multiCurve_ = options.multiCurve !== undefined ? + options.multiCurve : true; + + /** + * @private + * @type {boGVolean} + */ + this.multiSurface_ = options.multiSurface !== undefined ? + options.multiSurface : true; + + /** + * @inheritDoc + */ + this.schemaLocation = options.schemaLocation ? + options.schemaLocation : GVol.format.GML3.schemaLocation_; + + /** + * @private + * @type {boGVolean} + */ + this.hasZ = options.hasZ !== undefined ? + options.hasZ : false; + +}; +GVol.inherits(GVol.format.GML3, GVol.format.GMLBase); + + +/** + * @const + * @type {string} + * @private + */ +GVol.format.GML3.schemaLocation_ = GVol.format.GMLBase.GMLNS + + ' http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/' + + '1.0.0/gmlsf.xsd'; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.MultiLineString|undefined} MultiLineString. + */ +GVol.format.GML3.prototype.readMultiCurve_ = function(node, objectStack) { + /** @type {Array.<GVol.geom.LineString>} */ + var lineStrings = GVol.xml.pushParseAndPop([], + this.MULTICURVE_PARSERS_, node, objectStack, this); + if (lineStrings) { + var multiLineString = new GVol.geom.MultiLineString(null); + multiLineString.setLineStrings(lineStrings); + return multiLineString; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.MultiPGVolygon|undefined} MultiPGVolygon. + */ +GVol.format.GML3.prototype.readMultiSurface_ = function(node, objectStack) { + /** @type {Array.<GVol.geom.PGVolygon>} */ + var pGVolygons = GVol.xml.pushParseAndPop([], + this.MULTISURFACE_PARSERS_, node, objectStack, this); + if (pGVolygons) { + var multiPGVolygon = new GVol.geom.MultiPGVolygon(null); + multiPGVolygon.setPGVolygons(pGVolygons); + return multiPGVolygon; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GML3.prototype.curveMemberParser_ = function(node, objectStack) { + GVol.xml.parseNode(this.CURVEMEMBER_PARSERS_, node, objectStack, this); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GML3.prototype.surfaceMemberParser_ = function(node, objectStack) { + GVol.xml.parseNode(this.SURFACEMEMBER_PARSERS_, + node, objectStack, this); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<(Array.<number>)>|undefined} flat coordinates. + */ +GVol.format.GML3.prototype.readPatch_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop([null], + this.PATCHES_PARSERS_, node, objectStack, this); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<number>|undefined} flat coordinates. + */ +GVol.format.GML3.prototype.readSegment_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop([null], + this.SEGMENTS_PARSERS_, node, objectStack, this); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<(Array.<number>)>|undefined} flat coordinates. + */ +GVol.format.GML3.prototype.readPGVolygonPatch_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop([null], + this.FLAT_LINEAR_RINGS_PARSERS_, node, objectStack, this); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<number>|undefined} flat coordinates. + */ +GVol.format.GML3.prototype.readLineStringSegment_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop([null], + this.GEOMETRY_FLAT_COORDINATES_PARSERS_, + node, objectStack, this); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GML3.prototype.interiorParser_ = function(node, objectStack) { + /** @type {Array.<number>|undefined} */ + var flatLinearRing = GVol.xml.pushParseAndPop(undefined, + this.RING_PARSERS, node, objectStack, this); + if (flatLinearRing) { + var flatLinearRings = /** @type {Array.<Array.<number>>} */ + (objectStack[objectStack.length - 1]); + flatLinearRings.push(flatLinearRing); + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GML3.prototype.exteriorParser_ = function(node, objectStack) { + /** @type {Array.<number>|undefined} */ + var flatLinearRing = GVol.xml.pushParseAndPop(undefined, + this.RING_PARSERS, node, objectStack, this); + if (flatLinearRing) { + var flatLinearRings = /** @type {Array.<Array.<number>>} */ + (objectStack[objectStack.length - 1]); + flatLinearRings[0] = flatLinearRing; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.PGVolygon|undefined} PGVolygon. + */ +GVol.format.GML3.prototype.readSurface_ = function(node, objectStack) { + /** @type {Array.<Array.<number>>} */ + var flatLinearRings = GVol.xml.pushParseAndPop([null], + this.SURFACE_PARSERS_, node, objectStack, this); + if (flatLinearRings && flatLinearRings[0]) { + var pGVolygon = new GVol.geom.PGVolygon(null); + var flatCoordinates = flatLinearRings[0]; + var ends = [flatCoordinates.length]; + var i, ii; + for (i = 1, ii = flatLinearRings.length; i < ii; ++i) { + GVol.array.extend(flatCoordinates, flatLinearRings[i]); + ends.push(flatCoordinates.length); + } + pGVolygon.setFlatCoordinates( + GVol.geom.GeometryLayout.XYZ, flatCoordinates, ends); + return pGVolygon; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.LineString|undefined} LineString. + */ +GVol.format.GML3.prototype.readCurve_ = function(node, objectStack) { + /** @type {Array.<number>} */ + var flatCoordinates = GVol.xml.pushParseAndPop([null], + this.CURVE_PARSERS_, node, objectStack, this); + if (flatCoordinates) { + var lineString = new GVol.geom.LineString(null); + lineString.setFlatCoordinates(GVol.geom.GeometryLayout.XYZ, flatCoordinates); + return lineString; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.Extent|undefined} Envelope. + */ +GVol.format.GML3.prototype.readEnvelope_ = function(node, objectStack) { + /** @type {Array.<number>} */ + var flatCoordinates = GVol.xml.pushParseAndPop([null], + this.ENVELOPE_PARSERS_, node, objectStack, this); + return GVol.extent.createOrUpdate(flatCoordinates[1][0], + flatCoordinates[1][1], flatCoordinates[2][0], + flatCoordinates[2][1]); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<number>|undefined} Flat coordinates. + */ +GVol.format.GML3.prototype.readFlatPos_ = function(node, objectStack) { + var s = GVol.xml.getAllTextContent(node, false); + var re = /^\s*([+\-]?\d*\.?\d+(?:[eE][+\-]?\d+)?)\s*/; + /** @type {Array.<number>} */ + var flatCoordinates = []; + var m; + while ((m = re.exec(s))) { + flatCoordinates.push(parseFloat(m[1])); + s = s.substr(m[0].length); + } + if (s !== '') { + return undefined; + } + var context = objectStack[0]; + var containerSrs = context['srsName']; + var axisOrientation = 'enu'; + if (containerSrs) { + var proj = GVol.proj.get(containerSrs); + axisOrientation = proj.getAxisOrientation(); + } + if (axisOrientation === 'neu') { + var i, ii; + for (i = 0, ii = flatCoordinates.length; i < ii; i += 3) { + var y = flatCoordinates[i]; + var x = flatCoordinates[i + 1]; + flatCoordinates[i] = x; + flatCoordinates[i + 1] = y; + } + } + var len = flatCoordinates.length; + if (len == 2) { + flatCoordinates.push(0); + } + if (len === 0) { + return undefined; + } + return flatCoordinates; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<number>|undefined} Flat coordinates. + */ +GVol.format.GML3.prototype.readFlatPosList_ = function(node, objectStack) { + var s = GVol.xml.getAllTextContent(node, false).replace(/^\s*|\s*$/g, ''); + var context = objectStack[0]; + var containerSrs = context['srsName']; + var containerDimension = node.parentNode.getAttribute('srsDimension'); + var axisOrientation = 'enu'; + if (containerSrs) { + var proj = GVol.proj.get(containerSrs); + axisOrientation = proj.getAxisOrientation(); + } + var coords = s.split(/\s+/); + // The "dimension" attribute is from the GML 3.0.1 spec. + var dim = 2; + if (node.getAttribute('srsDimension')) { + dim = GVol.format.XSD.readNonNegativeIntegerString( + node.getAttribute('srsDimension')); + } else if (node.getAttribute('dimension')) { + dim = GVol.format.XSD.readNonNegativeIntegerString( + node.getAttribute('dimension')); + } else if (containerDimension) { + dim = GVol.format.XSD.readNonNegativeIntegerString(containerDimension); + } + var x, y, z; + var flatCoordinates = []; + for (var i = 0, ii = coords.length; i < ii; i += dim) { + x = parseFloat(coords[i]); + y = parseFloat(coords[i + 1]); + z = (dim === 3) ? parseFloat(coords[i + 2]) : 0; + if (axisOrientation.substr(0, 2) === 'en') { + flatCoordinates.push(x, y, z); + } else { + flatCoordinates.push(y, x, z); + } + } + return flatCoordinates; +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'pos': GVol.xml.makeReplacer(GVol.format.GML3.prototype.readFlatPos_), + 'posList': GVol.xml.makeReplacer(GVol.format.GML3.prototype.readFlatPosList_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.FLAT_LINEAR_RINGS_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'interior': GVol.format.GML3.prototype.interiorParser_, + 'exterior': GVol.format.GML3.prototype.exteriorParser_ + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.GEOMETRY_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'Point': GVol.xml.makeReplacer(GVol.format.GMLBase.prototype.readPoint), + 'MultiPoint': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readMultiPoint), + 'LineString': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readLineString), + 'MultiLineString': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readMultiLineString), + 'LinearRing': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readLinearRing), + 'PGVolygon': GVol.xml.makeReplacer(GVol.format.GMLBase.prototype.readPGVolygon), + 'MultiPGVolygon': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readMultiPGVolygon), + 'Surface': GVol.xml.makeReplacer(GVol.format.GML3.prototype.readSurface_), + 'MultiSurface': GVol.xml.makeReplacer( + GVol.format.GML3.prototype.readMultiSurface_), + 'Curve': GVol.xml.makeReplacer(GVol.format.GML3.prototype.readCurve_), + 'MultiCurve': GVol.xml.makeReplacer( + GVol.format.GML3.prototype.readMultiCurve_), + 'Envelope': GVol.xml.makeReplacer(GVol.format.GML3.prototype.readEnvelope_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.MULTICURVE_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'curveMember': GVol.xml.makeArrayPusher( + GVol.format.GML3.prototype.curveMemberParser_), + 'curveMembers': GVol.xml.makeArrayPusher( + GVol.format.GML3.prototype.curveMemberParser_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.MULTISURFACE_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'surfaceMember': GVol.xml.makeArrayPusher( + GVol.format.GML3.prototype.surfaceMemberParser_), + 'surfaceMembers': GVol.xml.makeArrayPusher( + GVol.format.GML3.prototype.surfaceMemberParser_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.CURVEMEMBER_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'LineString': GVol.xml.makeArrayPusher( + GVol.format.GMLBase.prototype.readLineString), + 'Curve': GVol.xml.makeArrayPusher(GVol.format.GML3.prototype.readCurve_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.SURFACEMEMBER_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'PGVolygon': GVol.xml.makeArrayPusher(GVol.format.GMLBase.prototype.readPGVolygon), + 'Surface': GVol.xml.makeArrayPusher(GVol.format.GML3.prototype.readSurface_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.SURFACE_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'patches': GVol.xml.makeReplacer(GVol.format.GML3.prototype.readPatch_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.CURVE_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'segments': GVol.xml.makeReplacer(GVol.format.GML3.prototype.readSegment_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.ENVELOPE_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'lowerCorner': GVol.xml.makeArrayPusher( + GVol.format.GML3.prototype.readFlatPosList_), + 'upperCorner': GVol.xml.makeArrayPusher( + GVol.format.GML3.prototype.readFlatPosList_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.PATCHES_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'PGVolygonPatch': GVol.xml.makeReplacer( + GVol.format.GML3.prototype.readPGVolygonPatch_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML3.prototype.SEGMENTS_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'LineStringSegment': GVol.xml.makeReplacer( + GVol.format.GML3.prototype.readLineStringSegment_) + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.Point} value Point geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writePos_ = function(node, value, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + var axisOrientation = 'enu'; + if (srsName) { + axisOrientation = GVol.proj.get(srsName).getAxisOrientation(); + } + var point = value.getCoordinates(); + var coords; + // only 2d for simple features profile + if (axisOrientation.substr(0, 2) === 'en') { + coords = (point[0] + ' ' + point[1]); + } else { + coords = (point[1] + ' ' + point[0]); + } + if (hasZ) { + // For newly created points, Z can be undefined. + var z = point[2] || 0; + coords += ' ' + z; + } + GVol.format.XSD.writeStringTextNode(node, coords); +}; + + +/** + * @param {Array.<number>} point Point geometry. + * @param {string=} opt_srsName Optional srsName + * @param {boGVolean=} opt_hasZ whether the geometry has a Z coordinate (is 3D) or not. + * @return {string} The coords string. + * @private + */ +GVol.format.GML3.prototype.getCoords_ = function(point, opt_srsName, opt_hasZ) { + var axisOrientation = 'enu'; + if (opt_srsName) { + axisOrientation = GVol.proj.get(opt_srsName).getAxisOrientation(); + } + var coords = ((axisOrientation.substr(0, 2) === 'en') ? + point[0] + ' ' + point[1] : + point[1] + ' ' + point[0]); + if (opt_hasZ) { + // For newly created points, Z can be undefined. + var z = point[2] || 0; + coords += ' ' + z; + } + + return coords; +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LineString|GVol.geom.LinearRing} value Geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writePosList_ = function(node, value, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + // only 2d for simple features profile + var points = value.getCoordinates(); + var len = points.length; + var parts = new Array(len); + var point; + for (var i = 0; i < len; ++i) { + point = points[i]; + parts[i] = this.getCoords_(point, srsName, hasZ); + } + GVol.format.XSD.writeStringTextNode(node, parts.join(' ')); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.Point} geometry Point geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writePoint_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var srsName = context['srsName']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var pos = GVol.xml.createElementNS(node.namespaceURI, 'pos'); + node.appendChild(pos); + this.writePos_(pos, geometry, objectStack); +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML3.ENVELOPE_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'lowerCorner': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'upperCorner': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode) + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Extent} extent Extent. + * @param {Array.<*>} objectStack Node stack. + */ +GVol.format.GML3.prototype.writeEnvelope = function(node, extent, objectStack) { + var context = objectStack[objectStack.length - 1]; + var srsName = context['srsName']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var keys = ['lowerCorner', 'upperCorner']; + var values = [extent[0] + ' ' + extent[1], extent[2] + ' ' + extent[3]]; + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ + ({node: node}), GVol.format.GML3.ENVELOPE_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, + values, + objectStack, keys, this); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LinearRing} geometry LinearRing geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeLinearRing_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var srsName = context['srsName']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var posList = GVol.xml.createElementNS(node.namespaceURI, 'posList'); + node.appendChild(posList); + this.writePosList_(posList, geometry, objectStack); +}; + + +/** + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node} Node. + * @private + */ +GVol.format.GML3.prototype.RING_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { + var context = objectStack[objectStack.length - 1]; + var parentNode = context.node; + var exteriorWritten = context['exteriorWritten']; + if (exteriorWritten === undefined) { + context['exteriorWritten'] = true; + } + return GVol.xml.createElementNS(parentNode.namespaceURI, + exteriorWritten !== undefined ? 'interior' : 'exterior'); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.PGVolygon} geometry PGVolygon geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeSurfaceOrPGVolygon_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + if (node.nodeName !== 'PGVolygonPatch' && srsName) { + node.setAttribute('srsName', srsName); + } + if (node.nodeName === 'PGVolygon' || node.nodeName === 'PGVolygonPatch') { + var rings = geometry.getLinearRings(); + GVol.xml.pushSerializeAndPop( + {node: node, hasZ: hasZ, srsName: srsName}, + GVol.format.GML3.RING_SERIALIZERS_, + this.RING_NODE_FACTORY_, + rings, objectStack, undefined, this); + } else if (node.nodeName === 'Surface') { + var patches = GVol.xml.createElementNS(node.namespaceURI, 'patches'); + node.appendChild(patches); + this.writeSurfacePatches_( + patches, geometry, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LineString} geometry LineString geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeCurveOrLineString_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var srsName = context['srsName']; + if (node.nodeName !== 'LineStringSegment' && srsName) { + node.setAttribute('srsName', srsName); + } + if (node.nodeName === 'LineString' || + node.nodeName === 'LineStringSegment') { + var posList = GVol.xml.createElementNS(node.namespaceURI, 'posList'); + node.appendChild(posList); + this.writePosList_(posList, geometry, objectStack); + } else if (node.nodeName === 'Curve') { + var segments = GVol.xml.createElementNS(node.namespaceURI, 'segments'); + node.appendChild(segments); + this.writeCurveSegments_(segments, + geometry, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.MultiPGVolygon} geometry MultiPGVolygon geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeMultiSurfaceOrPGVolygon_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + var surface = context['surface']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var pGVolygons = geometry.getPGVolygons(); + GVol.xml.pushSerializeAndPop({node: node, hasZ: hasZ, srsName: srsName, surface: surface}, + GVol.format.GML3.SURFACEORPOLYGONMEMBER_SERIALIZERS_, + this.MULTIGEOMETRY_MEMBER_NODE_FACTORY_, pGVolygons, + objectStack, undefined, this); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.MultiPoint} geometry MultiPoint geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeMultiPoint_ = function(node, geometry, + objectStack) { + var context = objectStack[objectStack.length - 1]; + var srsName = context['srsName']; + var hasZ = context['hasZ']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var points = geometry.getPoints(); + GVol.xml.pushSerializeAndPop({node: node, hasZ: hasZ, srsName: srsName}, + GVol.format.GML3.POINTMEMBER_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory('pointMember'), points, + objectStack, undefined, this); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.MultiLineString} geometry MultiLineString geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeMultiCurveOrLineString_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + var curve = context['curve']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var lines = geometry.getLineStrings(); + GVol.xml.pushSerializeAndPop({node: node, hasZ: hasZ, srsName: srsName, curve: curve}, + GVol.format.GML3.LINESTRINGORCURVEMEMBER_SERIALIZERS_, + this.MULTIGEOMETRY_MEMBER_NODE_FACTORY_, lines, + objectStack, undefined, this); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LinearRing} ring LinearRing geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeRing_ = function(node, ring, objectStack) { + var linearRing = GVol.xml.createElementNS(node.namespaceURI, 'LinearRing'); + node.appendChild(linearRing); + this.writeLinearRing_(linearRing, ring, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.PGVolygon} pGVolygon PGVolygon geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeSurfaceOrPGVolygonMember_ = function(node, pGVolygon, objectStack) { + var child = this.GEOMETRY_NODE_FACTORY_( + pGVolygon, objectStack); + if (child) { + node.appendChild(child); + this.writeSurfaceOrPGVolygon_(child, pGVolygon, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.Point} point Point geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writePointMember_ = function(node, point, objectStack) { + var child = GVol.xml.createElementNS(node.namespaceURI, 'Point'); + node.appendChild(child); + this.writePoint_(child, point, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LineString} line LineString geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeLineStringOrCurveMember_ = function(node, line, objectStack) { + var child = this.GEOMETRY_NODE_FACTORY_(line, objectStack); + if (child) { + node.appendChild(child); + this.writeCurveOrLineString_(child, line, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.PGVolygon} pGVolygon PGVolygon geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeSurfacePatches_ = function(node, pGVolygon, objectStack) { + var child = GVol.xml.createElementNS(node.namespaceURI, 'PGVolygonPatch'); + node.appendChild(child); + this.writeSurfaceOrPGVolygon_(child, pGVolygon, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LineString} line LineString geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeCurveSegments_ = function(node, line, objectStack) { + var child = GVol.xml.createElementNS(node.namespaceURI, + 'LineStringSegment'); + node.appendChild(child); + this.writeCurveOrLineString_(child, line, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.Geometry|GVol.Extent} geometry Geometry. + * @param {Array.<*>} objectStack Node stack. + */ +GVol.format.GML3.prototype.writeGeometryElement = function(node, geometry, objectStack) { + var context = /** @type {GVolx.format.WriteOptions} */ (objectStack[objectStack.length - 1]); + var item = GVol.obj.assign({}, context); + item.node = node; + var value; + if (Array.isArray(geometry)) { + if (context.dataProjection) { + value = GVol.proj.transformExtent( + geometry, context.featureProjection, context.dataProjection); + } else { + value = geometry; + } + } else { + value = + GVol.format.Feature.transformWithOptions(/** @type {GVol.geom.Geometry} */ (geometry), true, context); + } + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ + (item), GVol.format.GML3.GEOMETRY_SERIALIZERS_, + this.GEOMETRY_NODE_FACTORY_, [value], + objectStack, undefined, this); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Feature} feature Feature. + * @param {Array.<*>} objectStack Node stack. + */ +GVol.format.GML3.prototype.writeFeatureElement = function(node, feature, objectStack) { + var fid = feature.getId(); + if (fid) { + node.setAttribute('fid', fid); + } + var context = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var featureNS = context['featureNS']; + var geometryName = feature.getGeometryName(); + if (!context.serializers) { + context.serializers = {}; + context.serializers[featureNS] = {}; + } + var properties = feature.getProperties(); + var keys = [], values = []; + for (var key in properties) { + var value = properties[key]; + if (value !== null) { + keys.push(key); + values.push(value); + if (key == geometryName || value instanceof GVol.geom.Geometry) { + if (!(key in context.serializers[featureNS])) { + context.serializers[featureNS][key] = GVol.xml.makeChildAppender( + this.writeGeometryElement, this); + } + } else { + if (!(key in context.serializers[featureNS])) { + context.serializers[featureNS][key] = GVol.xml.makeChildAppender( + GVol.format.XSD.writeStringTextNode); + } + } + } + } + var item = GVol.obj.assign({}, context); + item.node = node; + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ + (item), context.serializers, + GVol.xml.makeSimpleNodeFactory(undefined, featureNS), + values, + objectStack, keys); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<GVol.Feature>} features Features. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML3.prototype.writeFeatureMembers_ = function(node, features, objectStack) { + var context = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var featureType = context['featureType']; + var featureNS = context['featureNS']; + var serializers = {}; + serializers[featureNS] = {}; + serializers[featureNS][featureType] = GVol.xml.makeChildAppender( + this.writeFeatureElement, this); + var item = GVol.obj.assign({}, context); + item.node = node; + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ + (item), + serializers, + GVol.xml.makeSimpleNodeFactory(featureType, featureNS), features, + objectStack); +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML3.SURFACEORPOLYGONMEMBER_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'surfaceMember': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeSurfaceOrPGVolygonMember_), + 'pGVolygonMember': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeSurfaceOrPGVolygonMember_) + } +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML3.POINTMEMBER_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'pointMember': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writePointMember_) + } +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML3.LINESTRINGORCURVEMEMBER_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'lineStringMember': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeLineStringOrCurveMember_), + 'curveMember': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeLineStringOrCurveMember_) + } +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML3.RING_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'exterior': GVol.xml.makeChildAppender(GVol.format.GML3.prototype.writeRing_), + 'interior': GVol.xml.makeChildAppender(GVol.format.GML3.prototype.writeRing_) + } +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML3.GEOMETRY_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'Curve': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeCurveOrLineString_), + 'MultiCurve': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeMultiCurveOrLineString_), + 'Point': GVol.xml.makeChildAppender(GVol.format.GML3.prototype.writePoint_), + 'MultiPoint': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeMultiPoint_), + 'LineString': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeCurveOrLineString_), + 'MultiLineString': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeMultiCurveOrLineString_), + 'LinearRing': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeLinearRing_), + 'PGVolygon': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeSurfaceOrPGVolygon_), + 'MultiPGVolygon': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeMultiSurfaceOrPGVolygon_), + 'Surface': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeSurfaceOrPGVolygon_), + 'MultiSurface': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeMultiSurfaceOrPGVolygon_), + 'Envelope': GVol.xml.makeChildAppender( + GVol.format.GML3.prototype.writeEnvelope) + } +}; + + +/** + * @const + * @type {Object.<string, string>} + * @private + */ +GVol.format.GML3.MULTIGEOMETRY_TO_MEMBER_NODENAME_ = { + 'MultiLineString': 'lineStringMember', + 'MultiCurve': 'curveMember', + 'MultiPGVolygon': 'pGVolygonMember', + 'MultiSurface': 'surfaceMember' +}; + + +/** + * @const + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node|undefined} Node. + * @private + */ +GVol.format.GML3.prototype.MULTIGEOMETRY_MEMBER_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { + var parentNode = objectStack[objectStack.length - 1].node; + return GVol.xml.createElementNS('http://www.opengis.net/gml', + GVol.format.GML3.MULTIGEOMETRY_TO_MEMBER_NODENAME_[parentNode.nodeName]); +}; + + +/** + * @const + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node|undefined} Node. + * @private + */ +GVol.format.GML3.prototype.GEOMETRY_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { + var context = objectStack[objectStack.length - 1]; + var multiSurface = context['multiSurface']; + var surface = context['surface']; + var curve = context['curve']; + var multiCurve = context['multiCurve']; + var nodeName; + if (!Array.isArray(value)) { + nodeName = /** @type {GVol.geom.Geometry} */ (value).getType(); + if (nodeName === 'MultiPGVolygon' && multiSurface === true) { + nodeName = 'MultiSurface'; + } else if (nodeName === 'PGVolygon' && surface === true) { + nodeName = 'Surface'; + } else if (nodeName === 'LineString' && curve === true) { + nodeName = 'Curve'; + } else if (nodeName === 'MultiLineString' && multiCurve === true) { + nodeName = 'MultiCurve'; + } + } else { + nodeName = 'Envelope'; + } + return GVol.xml.createElementNS('http://www.opengis.net/gml', + nodeName); +}; + + +/** + * Encode a geometry in GML 3.1.1 Simple Features. + * + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {Node} Node. + * @override + * @api + */ +GVol.format.GML3.prototype.writeGeometryNode = function(geometry, opt_options) { + opt_options = this.adaptOptions(opt_options); + var geom = GVol.xml.createElementNS('http://www.opengis.net/gml', 'geom'); + var context = {node: geom, hasZ: this.hasZ, srsName: this.srsName, + curve: this.curve_, surface: this.surface_, + multiSurface: this.multiSurface_, multiCurve: this.multiCurve_}; + if (opt_options) { + GVol.obj.assign(context, opt_options); + } + this.writeGeometryElement(geom, geometry, [context]); + return geom; +}; + + +/** + * Encode an array of features in GML 3.1.1 Simple Features. + * + * @function + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {string} Result. + * @api + */ +GVol.format.GML3.prototype.writeFeatures; + + +/** + * Encode an array of features in the GML 3.1.1 format as an XML node. + * + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {Node} Node. + * @override + * @api + */ +GVol.format.GML3.prototype.writeFeaturesNode = function(features, opt_options) { + opt_options = this.adaptOptions(opt_options); + var node = GVol.xml.createElementNS('http://www.opengis.net/gml', + 'featureMembers'); + GVol.xml.setAttributeNS(node, 'http://www.w3.org/2001/XMLSchema-instance', + 'xsi:schemaLocation', this.schemaLocation); + var context = { + srsName: this.srsName, + hasZ: this.hasZ, + curve: this.curve_, + surface: this.surface_, + multiSurface: this.multiSurface_, + multiCurve: this.multiCurve_, + featureNS: this.featureNS, + featureType: this.featureType + }; + if (opt_options) { + GVol.obj.assign(context, opt_options); + } + this.writeFeatureMembers_(node, features, [context]); + return node; +}; + +goog.provide('GVol.format.GML'); + +goog.require('GVol.format.GML3'); + + +/** + * @classdesc + * Feature format for reading and writing data in the GML format + * version 3.1.1. + * Currently only supports GML 3.1.1 Simple Features profile. + * + * @constructor + * @param {GVolx.format.GMLOptions=} opt_options + * Optional configuration object. + * @extends {GVol.format.GMLBase} + * @api + */ +GVol.format.GML = GVol.format.GML3; + + +/** + * Encode an array of features in GML 3.1.1 Simple Features. + * + * @function + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {string} Result. + * @api + */ +GVol.format.GML.prototype.writeFeatures; + + +/** + * Encode an array of features in the GML 3.1.1 format as an XML node. + * + * @function + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {Node} Node. + * @api + */ +GVol.format.GML.prototype.writeFeaturesNode; + +goog.provide('GVol.format.GML2'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.GMLBase'); +goog.require('GVol.format.XSD'); +goog.require('GVol.geom.Geometry'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Feature format for reading and writing data in the GML format, + * version 2.1.2. + * + * @constructor + * @param {GVolx.format.GMLOptions=} opt_options Optional configuration object. + * @extends {GVol.format.GMLBase} + * @api + */ +GVol.format.GML2 = function(opt_options) { + var options = /** @type {GVolx.format.GMLOptions} */ + (opt_options ? opt_options : {}); + + GVol.format.GMLBase.call(this, options); + + this.FEATURE_COLLECTION_PARSERS[GVol.format.GMLBase.GMLNS][ + 'featureMember'] = + GVol.xml.makeArrayPusher(GVol.format.GMLBase.prototype.readFeaturesInternal); + + /** + * @inheritDoc + */ + this.schemaLocation = options.schemaLocation ? + options.schemaLocation : GVol.format.GML2.schemaLocation_; + +}; +GVol.inherits(GVol.format.GML2, GVol.format.GMLBase); + + +/** + * @const + * @type {string} + * @private + */ +GVol.format.GML2.schemaLocation_ = GVol.format.GMLBase.GMLNS + + ' http://schemas.opengis.net/gml/2.1.2/feature.xsd'; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<number>|undefined} Flat coordinates. + */ +GVol.format.GML2.prototype.readFlatCoordinates_ = function(node, objectStack) { + var s = GVol.xml.getAllTextContent(node, false).replace(/^\s*|\s*$/g, ''); + var context = /** @type {GVol.XmlNodeStackItem} */ (objectStack[0]); + var containerSrs = context['srsName']; + var axisOrientation = 'enu'; + if (containerSrs) { + var proj = GVol.proj.get(containerSrs); + if (proj) { + axisOrientation = proj.getAxisOrientation(); + } + } + var coordsGroups = s.trim().split(/\s+/); + var x, y, z; + var flatCoordinates = []; + for (var i = 0, ii = coordsGroups.length; i < ii; i++) { + var coords = coordsGroups[i].split(/,+/); + x = parseFloat(coords[0]); + y = parseFloat(coords[1]); + z = (coords.length === 3) ? parseFloat(coords[2]) : 0; + if (axisOrientation.substr(0, 2) === 'en') { + flatCoordinates.push(x, y, z); + } else { + flatCoordinates.push(y, x, z); + } + } + return flatCoordinates; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.Extent|undefined} Envelope. + */ +GVol.format.GML2.prototype.readBox_ = function(node, objectStack) { + /** @type {Array.<number>} */ + var flatCoordinates = GVol.xml.pushParseAndPop([null], + this.BOX_PARSERS_, node, objectStack, this); + return GVol.extent.createOrUpdate(flatCoordinates[1][0], + flatCoordinates[1][1], flatCoordinates[1][3], + flatCoordinates[1][4]); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GML2.prototype.innerBoundaryIsParser_ = function(node, objectStack) { + /** @type {Array.<number>|undefined} */ + var flatLinearRing = GVol.xml.pushParseAndPop(undefined, + this.RING_PARSERS, node, objectStack, this); + if (flatLinearRing) { + var flatLinearRings = /** @type {Array.<Array.<number>>} */ + (objectStack[objectStack.length - 1]); + flatLinearRings.push(flatLinearRing); + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GML2.prototype.outerBoundaryIsParser_ = function(node, objectStack) { + /** @type {Array.<number>|undefined} */ + var flatLinearRing = GVol.xml.pushParseAndPop(undefined, + this.RING_PARSERS, node, objectStack, this); + if (flatLinearRing) { + var flatLinearRings = /** @type {Array.<Array.<number>>} */ + (objectStack[objectStack.length - 1]); + flatLinearRings[0] = flatLinearRing; + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML2.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'coordinates': GVol.xml.makeReplacer( + GVol.format.GML2.prototype.readFlatCoordinates_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML2.prototype.FLAT_LINEAR_RINGS_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'innerBoundaryIs': GVol.format.GML2.prototype.innerBoundaryIsParser_, + 'outerBoundaryIs': GVol.format.GML2.prototype.outerBoundaryIsParser_ + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML2.prototype.BOX_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'coordinates': GVol.xml.makeArrayPusher( + GVol.format.GML2.prototype.readFlatCoordinates_) + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GML2.prototype.GEOMETRY_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'Point': GVol.xml.makeReplacer(GVol.format.GMLBase.prototype.readPoint), + 'MultiPoint': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readMultiPoint), + 'LineString': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readLineString), + 'MultiLineString': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readMultiLineString), + 'LinearRing': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readLinearRing), + 'PGVolygon': GVol.xml.makeReplacer(GVol.format.GMLBase.prototype.readPGVolygon), + 'MultiPGVolygon': GVol.xml.makeReplacer( + GVol.format.GMLBase.prototype.readMultiPGVolygon), + 'Box': GVol.xml.makeReplacer(GVol.format.GML2.prototype.readBox_) + } +}; + + +/** + * @const + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node|undefined} Node. + * @private + */ +GVol.format.GML2.prototype.GEOMETRY_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { + var context = objectStack[objectStack.length - 1]; + var multiSurface = context['multiSurface']; + var surface = context['surface']; + var multiCurve = context['multiCurve']; + var nodeName; + if (!Array.isArray(value)) { + nodeName = /** @type {GVol.geom.Geometry} */ (value).getType(); + if (nodeName === 'MultiPGVolygon' && multiSurface === true) { + nodeName = 'MultiSurface'; + } else if (nodeName === 'PGVolygon' && surface === true) { + nodeName = 'Surface'; + } else if (nodeName === 'MultiLineString' && multiCurve === true) { + nodeName = 'MultiCurve'; + } + } else { + nodeName = 'Envelope'; + } + return GVol.xml.createElementNS('http://www.opengis.net/gml', + nodeName); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Feature} feature Feature. + * @param {Array.<*>} objectStack Node stack. + */ +GVol.format.GML2.prototype.writeFeatureElement = function(node, feature, objectStack) { + var fid = feature.getId(); + if (fid) { + node.setAttribute('fid', fid); + } + var context = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var featureNS = context['featureNS']; + var geometryName = feature.getGeometryName(); + if (!context.serializers) { + context.serializers = {}; + context.serializers[featureNS] = {}; + } + var properties = feature.getProperties(); + var keys = [], values = []; + for (var key in properties) { + var value = properties[key]; + if (value !== null) { + keys.push(key); + values.push(value); + if (key == geometryName || value instanceof GVol.geom.Geometry) { + if (!(key in context.serializers[featureNS])) { + context.serializers[featureNS][key] = GVol.xml.makeChildAppender( + this.writeGeometryElement, this); + } + } else { + if (!(key in context.serializers[featureNS])) { + context.serializers[featureNS][key] = GVol.xml.makeChildAppender( + GVol.format.XSD.writeStringTextNode); + } + } + } + } + var item = GVol.obj.assign({}, context); + item.node = node; + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ + (item), context.serializers, + GVol.xml.makeSimpleNodeFactory(undefined, featureNS), + values, + objectStack, keys); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.Geometry|GVol.Extent} geometry Geometry. + * @param {Array.<*>} objectStack Node stack. + */ +GVol.format.GML2.prototype.writeGeometryElement = function(node, geometry, objectStack) { + var context = /** @type {GVolx.format.WriteOptions} */ (objectStack[objectStack.length - 1]); + var item = GVol.obj.assign({}, context); + item.node = node; + var value; + if (Array.isArray(geometry)) { + if (context.dataProjection) { + value = GVol.proj.transformExtent( + geometry, context.featureProjection, context.dataProjection); + } else { + value = geometry; + } + } else { + value = + GVol.format.Feature.transformWithOptions(/** @type {GVol.geom.Geometry} */ (geometry), true, context); + } + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ + (item), GVol.format.GML2.GEOMETRY_SERIALIZERS_, + this.GEOMETRY_NODE_FACTORY_, [value], + objectStack, undefined, this); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LineString} geometry LineString geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeCurveOrLineString_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var srsName = context['srsName']; + if (node.nodeName !== 'LineStringSegment' && srsName) { + node.setAttribute('srsName', srsName); + } + if (node.nodeName === 'LineString' || + node.nodeName === 'LineStringSegment') { + var coordinates = this.createCoordinatesNode_(node.namespaceURI); + node.appendChild(coordinates); + this.writeCoordinates_(coordinates, geometry, objectStack); + } else if (node.nodeName === 'Curve') { + var segments = GVol.xml.createElementNS(node.namespaceURI, 'segments'); + node.appendChild(segments); + this.writeCurveSegments_(segments, + geometry, objectStack); + } +}; + + +/** + * @param {string} namespaceURI XML namespace. + * @returns {Node} coordinates node. + * @private + */ +GVol.format.GML2.prototype.createCoordinatesNode_ = function(namespaceURI) { + var coordinates = GVol.xml.createElementNS(namespaceURI, 'coordinates'); + coordinates.setAttribute('decimal', '.'); + coordinates.setAttribute('cs', ','); + coordinates.setAttribute('ts', ' '); + + return coordinates; +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LineString|GVol.geom.LinearRing} value Geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeCoordinates_ = function(node, value, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + // only 2d for simple features profile + var points = value.getCoordinates(); + var len = points.length; + var parts = new Array(len); + var point; + for (var i = 0; i < len; ++i) { + point = points[i]; + parts[i] = this.getCoords_(point, srsName, hasZ); + } + GVol.format.XSD.writeStringTextNode(node, parts.join(' ')); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LineString} line LineString geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeCurveSegments_ = function(node, line, objectStack) { + var child = GVol.xml.createElementNS(node.namespaceURI, + 'LineStringSegment'); + node.appendChild(child); + this.writeCurveOrLineString_(child, line, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.PGVolygon} geometry PGVolygon geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeSurfaceOrPGVolygon_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + if (node.nodeName !== 'PGVolygonPatch' && srsName) { + node.setAttribute('srsName', srsName); + } + if (node.nodeName === 'PGVolygon' || node.nodeName === 'PGVolygonPatch') { + var rings = geometry.getLinearRings(); + GVol.xml.pushSerializeAndPop( + {node: node, hasZ: hasZ, srsName: srsName}, + GVol.format.GML2.RING_SERIALIZERS_, + this.RING_NODE_FACTORY_, + rings, objectStack, undefined, this); + } else if (node.nodeName === 'Surface') { + var patches = GVol.xml.createElementNS(node.namespaceURI, 'patches'); + node.appendChild(patches); + this.writeSurfacePatches_( + patches, geometry, objectStack); + } +}; + + +/** + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node} Node. + * @private + */ +GVol.format.GML2.prototype.RING_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { + var context = objectStack[objectStack.length - 1]; + var parentNode = context.node; + var exteriorWritten = context['exteriorWritten']; + if (exteriorWritten === undefined) { + context['exteriorWritten'] = true; + } + return GVol.xml.createElementNS(parentNode.namespaceURI, + exteriorWritten !== undefined ? 'innerBoundaryIs' : 'outerBoundaryIs'); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.PGVolygon} pGVolygon PGVolygon geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeSurfacePatches_ = function(node, pGVolygon, objectStack) { + var child = GVol.xml.createElementNS(node.namespaceURI, 'PGVolygonPatch'); + node.appendChild(child); + this.writeSurfaceOrPGVolygon_(child, pGVolygon, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LinearRing} ring LinearRing geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeRing_ = function(node, ring, objectStack) { + var linearRing = GVol.xml.createElementNS(node.namespaceURI, 'LinearRing'); + node.appendChild(linearRing); + this.writeLinearRing_(linearRing, ring, objectStack); +}; + + +/** + * @param {Array.<number>} point Point geometry. + * @param {string=} opt_srsName Optional srsName + * @param {boGVolean=} opt_hasZ whether the geometry has a Z coordinate (is 3D) or not. + * @return {string} The coords string. + * @private + */ +GVol.format.GML2.prototype.getCoords_ = function(point, opt_srsName, opt_hasZ) { + var axisOrientation = 'enu'; + if (opt_srsName) { + axisOrientation = GVol.proj.get(opt_srsName).getAxisOrientation(); + } + var coords = ((axisOrientation.substr(0, 2) === 'en') ? + point[0] + ',' + point[1] : + point[1] + ',' + point[0]); + if (opt_hasZ) { + // For newly created points, Z can be undefined. + var z = point[2] || 0; + coords += ',' + z; + } + + return coords; +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.MultiLineString} geometry MultiLineString geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeMultiCurveOrLineString_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + var curve = context['curve']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var lines = geometry.getLineStrings(); + GVol.xml.pushSerializeAndPop({node: node, hasZ: hasZ, srsName: srsName, curve: curve}, + GVol.format.GML2.LINESTRINGORCURVEMEMBER_SERIALIZERS_, + this.MULTIGEOMETRY_MEMBER_NODE_FACTORY_, lines, + objectStack, undefined, this); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.Point} geometry Point geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writePoint_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var coordinates = this.createCoordinatesNode_(node.namespaceURI); + node.appendChild(coordinates); + var point = geometry.getCoordinates(); + var coord = this.getCoords_(point, srsName, hasZ); + GVol.format.XSD.writeStringTextNode(coordinates, coord); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.MultiPoint} geometry MultiPoint geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeMultiPoint_ = function(node, geometry, + objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var points = geometry.getPoints(); + GVol.xml.pushSerializeAndPop({node: node, hasZ: hasZ, srsName: srsName}, + GVol.format.GML2.POINTMEMBER_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory('pointMember'), points, + objectStack, undefined, this); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.Point} point Point geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writePointMember_ = function(node, point, objectStack) { + var child = GVol.xml.createElementNS(node.namespaceURI, 'Point'); + node.appendChild(child); + this.writePoint_(child, point, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LineString} line LineString geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeLineStringOrCurveMember_ = function(node, line, objectStack) { + var child = this.GEOMETRY_NODE_FACTORY_(line, objectStack); + if (child) { + node.appendChild(child); + this.writeCurveOrLineString_(child, line, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LinearRing} geometry LinearRing geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeLinearRing_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var srsName = context['srsName']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var coordinates = this.createCoordinatesNode_(node.namespaceURI); + node.appendChild(coordinates); + this.writeCoordinates_(coordinates, geometry, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.MultiPGVolygon} geometry MultiPGVolygon geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeMultiSurfaceOrPGVolygon_ = function(node, geometry, objectStack) { + var context = objectStack[objectStack.length - 1]; + var hasZ = context['hasZ']; + var srsName = context['srsName']; + var surface = context['surface']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var pGVolygons = geometry.getPGVolygons(); + GVol.xml.pushSerializeAndPop({node: node, hasZ: hasZ, srsName: srsName, surface: surface}, + GVol.format.GML2.SURFACEORPOLYGONMEMBER_SERIALIZERS_, + this.MULTIGEOMETRY_MEMBER_NODE_FACTORY_, pGVolygons, + objectStack, undefined, this); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.PGVolygon} pGVolygon PGVolygon geometry. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeSurfaceOrPGVolygonMember_ = function(node, pGVolygon, objectStack) { + var child = this.GEOMETRY_NODE_FACTORY_( + pGVolygon, objectStack); + if (child) { + node.appendChild(child); + this.writeSurfaceOrPGVolygon_(child, pGVolygon, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Extent} extent Extent. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GML2.prototype.writeEnvelope = function(node, extent, objectStack) { + var context = objectStack[objectStack.length - 1]; + var srsName = context['srsName']; + if (srsName) { + node.setAttribute('srsName', srsName); + } + var keys = ['lowerCorner', 'upperCorner']; + var values = [extent[0] + ' ' + extent[1], extent[2] + ' ' + extent[3]]; + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ + ({node: node}), GVol.format.GML2.ENVELOPE_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, + values, + objectStack, keys, this); +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML2.GEOMETRY_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'Curve': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeCurveOrLineString_), + 'MultiCurve': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeMultiCurveOrLineString_), + 'Point': GVol.xml.makeChildAppender(GVol.format.GML2.prototype.writePoint_), + 'MultiPoint': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeMultiPoint_), + 'LineString': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeCurveOrLineString_), + 'MultiLineString': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeMultiCurveOrLineString_), + 'LinearRing': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeLinearRing_), + 'PGVolygon': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeSurfaceOrPGVolygon_), + 'MultiPGVolygon': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeMultiSurfaceOrPGVolygon_), + 'Surface': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeSurfaceOrPGVolygon_), + 'MultiSurface': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeMultiSurfaceOrPGVolygon_), + 'Envelope': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeEnvelope) + } +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML2.RING_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'outerBoundaryIs': GVol.xml.makeChildAppender(GVol.format.GML2.prototype.writeRing_), + 'innerBoundaryIs': GVol.xml.makeChildAppender(GVol.format.GML2.prototype.writeRing_) + } +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML2.POINTMEMBER_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'pointMember': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writePointMember_) + } +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML2.LINESTRINGORCURVEMEMBER_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'lineStringMember': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeLineStringOrCurveMember_), + 'curveMember': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeLineStringOrCurveMember_) + } +}; + + +/** + * @const + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node|undefined} Node. + * @private + */ +GVol.format.GML2.prototype.MULTIGEOMETRY_MEMBER_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { + var parentNode = objectStack[objectStack.length - 1].node; + return GVol.xml.createElementNS('http://www.opengis.net/gml', + GVol.format.GML2.MULTIGEOMETRY_TO_MEMBER_NODENAME_[parentNode.nodeName]); +}; + +/** + * @const + * @type {Object.<string, string>} + * @private + */ +GVol.format.GML2.MULTIGEOMETRY_TO_MEMBER_NODENAME_ = { + 'MultiLineString': 'lineStringMember', + 'MultiCurve': 'curveMember', + 'MultiPGVolygon': 'pGVolygonMember', + 'MultiSurface': 'surfaceMember' +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML2.SURFACEORPOLYGONMEMBER_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'surfaceMember': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeSurfaceOrPGVolygonMember_), + 'pGVolygonMember': GVol.xml.makeChildAppender( + GVol.format.GML2.prototype.writeSurfaceOrPGVolygonMember_) + } +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GML2.ENVELOPE_SERIALIZERS_ = { + 'http://www.opengis.net/gml': { + 'lowerCorner': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'upperCorner': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode) + } +}; + +goog.provide('GVol.format.GPX'); + +goog.require('GVol'); +goog.require('GVol.Feature'); +goog.require('GVol.array'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.XMLFeature'); +goog.require('GVol.format.XSD'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.Point'); +goog.require('GVol.proj'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Feature format for reading and writing data in the GPX format. + * + * @constructor + * @extends {GVol.format.XMLFeature} + * @param {GVolx.format.GPXOptions=} opt_options Options. + * @api + */ +GVol.format.GPX = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.format.XMLFeature.call(this); + + /** + * @inheritDoc + */ + this.defaultDataProjection = GVol.proj.get('EPSG:4326'); + + /** + * @type {function(GVol.Feature, Node)|undefined} + * @private + */ + this.readExtensions_ = options.readExtensions; +}; +GVol.inherits(GVol.format.GPX, GVol.format.XMLFeature); + + +/** + * @const + * @private + * @type {Array.<string>} + */ +GVol.format.GPX.NAMESPACE_URIS_ = [ + null, + 'http://www.topografix.com/GPX/1/0', + 'http://www.topografix.com/GPX/1/1' +]; + + +/** + * @const + * @type {string} + * @private + */ +GVol.format.GPX.SCHEMA_LOCATION_ = 'http://www.topografix.com/GPX/1/1 ' + + 'http://www.topografix.com/GPX/1/1/gpx.xsd'; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {GVol.LayoutOptions} layoutOptions Layout options. + * @param {Node} node Node. + * @param {Object} values Values. + * @private + * @return {Array.<number>} Flat coordinates. + */ +GVol.format.GPX.appendCoordinate_ = function(flatCoordinates, layoutOptions, node, values) { + flatCoordinates.push( + parseFloat(node.getAttribute('lon')), + parseFloat(node.getAttribute('lat'))); + if ('ele' in values) { + flatCoordinates.push(/** @type {number} */ (values['ele'])); + delete values['ele']; + layoutOptions.hasZ = true; + } else { + flatCoordinates.push(0); + } + if ('time' in values) { + flatCoordinates.push(/** @type {number} */ (values['time'])); + delete values['time']; + layoutOptions.hasM = true; + } else { + flatCoordinates.push(0); + } + return flatCoordinates; +}; + + +/** + * Choose GeometryLayout based on flags in layoutOptions and adjust flatCoordinates + * and ends arrays by shrinking them accordingly (removing unused zero entries). + * + * @param {GVol.LayoutOptions} layoutOptions Layout options. + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {Array.<number>=} ends Ends. + * @return {GVol.geom.GeometryLayout} Layout. + */ +GVol.format.GPX.applyLayoutOptions_ = function(layoutOptions, flatCoordinates, ends) { + var layout = GVol.geom.GeometryLayout.XY; + var stride = 2; + if (layoutOptions.hasZ && layoutOptions.hasM) { + layout = GVol.geom.GeometryLayout.XYZM; + stride = 4; + } else if (layoutOptions.hasZ) { + layout = GVol.geom.GeometryLayout.XYZ; + stride = 3; + } else if (layoutOptions.hasM) { + layout = GVol.geom.GeometryLayout.XYM; + stride = 3; + } + if (stride !== 4) { + var i, ii; + for (i = 0, ii = flatCoordinates.length / 4; i < ii; i++) { + flatCoordinates[i * stride] = flatCoordinates[i * 4]; + flatCoordinates[i * stride + 1] = flatCoordinates[i * 4 + 1]; + if (layoutOptions.hasZ) { + flatCoordinates[i * stride + 2] = flatCoordinates[i * 4 + 2]; + } + if (layoutOptions.hasM) { + flatCoordinates[i * stride + 2] = flatCoordinates[i * 4 + 3]; + } + } + flatCoordinates.length = flatCoordinates.length / 4 * stride; + if (ends) { + for (i = 0, ii = ends.length; i < ii; i++) { + ends[i] = ends[i] / 4 * stride; + } + } + } + return layout; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.parseLink_ = function(node, objectStack) { + var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var href = node.getAttribute('href'); + if (href !== null) { + values['link'] = href; + } + GVol.xml.parseNode(GVol.format.GPX.LINK_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.parseExtensions_ = function(node, objectStack) { + var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); + values['extensionsNode_'] = node; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.parseRtePt_ = function(node, objectStack) { + var values = GVol.xml.pushParseAndPop( + {}, GVol.format.GPX.RTEPT_PARSERS_, node, objectStack); + if (values) { + var rteValues = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var flatCoordinates = /** @type {Array.<number>} */ + (rteValues['flatCoordinates']); + var layoutOptions = /** @type {GVol.LayoutOptions} */ + (rteValues['layoutOptions']); + GVol.format.GPX.appendCoordinate_(flatCoordinates, layoutOptions, node, values); + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.parseTrkPt_ = function(node, objectStack) { + var values = GVol.xml.pushParseAndPop( + {}, GVol.format.GPX.TRKPT_PARSERS_, node, objectStack); + if (values) { + var trkValues = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var flatCoordinates = /** @type {Array.<number>} */ + (trkValues['flatCoordinates']); + var layoutOptions = /** @type {GVol.LayoutOptions} */ + (trkValues['layoutOptions']); + GVol.format.GPX.appendCoordinate_(flatCoordinates, layoutOptions, node, values); + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.parseTrkSeg_ = function(node, objectStack) { + var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); + GVol.xml.parseNode(GVol.format.GPX.TRKSEG_PARSERS_, node, objectStack); + var flatCoordinates = /** @type {Array.<number>} */ + (values['flatCoordinates']); + var ends = /** @type {Array.<number>} */ (values['ends']); + ends.push(flatCoordinates.length); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.Feature|undefined} Track. + */ +GVol.format.GPX.readRte_ = function(node, objectStack) { + var options = /** @type {GVolx.format.ReadOptions} */ (objectStack[0]); + var values = GVol.xml.pushParseAndPop({ + 'flatCoordinates': [], + 'layoutOptions': {} + }, GVol.format.GPX.RTE_PARSERS_, node, objectStack); + if (!values) { + return undefined; + } + var flatCoordinates = /** @type {Array.<number>} */ + (values['flatCoordinates']); + delete values['flatCoordinates']; + var layoutOptions = /** @type {GVol.LayoutOptions} */ (values['layoutOptions']); + delete values['layoutOptions']; + var layout = GVol.format.GPX.applyLayoutOptions_(layoutOptions, flatCoordinates); + var geometry = new GVol.geom.LineString(null); + geometry.setFlatCoordinates(layout, flatCoordinates); + GVol.format.Feature.transformWithOptions(geometry, false, options); + var feature = new GVol.Feature(geometry); + feature.setProperties(values); + return feature; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.Feature|undefined} Track. + */ +GVol.format.GPX.readTrk_ = function(node, objectStack) { + var options = /** @type {GVolx.format.ReadOptions} */ (objectStack[0]); + var values = GVol.xml.pushParseAndPop({ + 'flatCoordinates': [], + 'ends': [], + 'layoutOptions': {} + }, GVol.format.GPX.TRK_PARSERS_, node, objectStack); + if (!values) { + return undefined; + } + var flatCoordinates = /** @type {Array.<number>} */ + (values['flatCoordinates']); + delete values['flatCoordinates']; + var ends = /** @type {Array.<number>} */ (values['ends']); + delete values['ends']; + var layoutOptions = /** @type {GVol.LayoutOptions} */ (values['layoutOptions']); + delete values['layoutOptions']; + var layout = GVol.format.GPX.applyLayoutOptions_(layoutOptions, flatCoordinates, ends); + var geometry = new GVol.geom.MultiLineString(null); + geometry.setFlatCoordinates(layout, flatCoordinates, ends); + GVol.format.Feature.transformWithOptions(geometry, false, options); + var feature = new GVol.Feature(geometry); + feature.setProperties(values); + return feature; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.Feature|undefined} Waypoint. + */ +GVol.format.GPX.readWpt_ = function(node, objectStack) { + var options = /** @type {GVolx.format.ReadOptions} */ (objectStack[0]); + var values = GVol.xml.pushParseAndPop( + {}, GVol.format.GPX.WPT_PARSERS_, node, objectStack); + if (!values) { + return undefined; + } + var layoutOptions = /** @type {GVol.LayoutOptions} */ ({}); + var coordinates = GVol.format.GPX.appendCoordinate_([], layoutOptions, node, values); + var layout = GVol.format.GPX.applyLayoutOptions_(layoutOptions, coordinates); + var geometry = new GVol.geom.Point(coordinates, layout); + GVol.format.Feature.transformWithOptions(geometry, false, options); + var feature = new GVol.Feature(geometry); + feature.setProperties(values); + return feature; +}; + + +/** + * @const + * @type {Object.<string, function(Node, Array.<*>): (GVol.Feature|undefined)>} + * @private + */ +GVol.format.GPX.FEATURE_READER_ = { + 'rte': GVol.format.GPX.readRte_, + 'trk': GVol.format.GPX.readTrk_, + 'wpt': GVol.format.GPX.readWpt_ +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GPX.GPX_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'rte': GVol.xml.makeArrayPusher(GVol.format.GPX.readRte_), + 'trk': GVol.xml.makeArrayPusher(GVol.format.GPX.readTrk_), + 'wpt': GVol.xml.makeArrayPusher(GVol.format.GPX.readWpt_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GPX.LINK_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'text': + GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString, 'linkText'), + 'type': + GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString, 'linkType') + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GPX.RTE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'name': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'cmt': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'desc': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'src': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'link': GVol.format.GPX.parseLink_, + 'number': + GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readNonNegativeInteger), + 'extensions': GVol.format.GPX.parseExtensions_, + 'type': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'rtept': GVol.format.GPX.parseRtePt_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GPX.RTEPT_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'ele': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'time': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDateTime) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GPX.TRK_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'name': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'cmt': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'desc': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'src': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'link': GVol.format.GPX.parseLink_, + 'number': + GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readNonNegativeInteger), + 'type': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'extensions': GVol.format.GPX.parseExtensions_, + 'trkseg': GVol.format.GPX.parseTrkSeg_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GPX.TRKSEG_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'trkpt': GVol.format.GPX.parseTrkPt_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GPX.TRKPT_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'ele': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'time': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDateTime) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.GPX.WPT_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'ele': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'time': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDateTime), + 'magvar': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'geoidheight': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'name': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'cmt': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'desc': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'src': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'link': GVol.format.GPX.parseLink_, + 'sym': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'type': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'fix': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'sat': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'hdop': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'vdop': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'pdop': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'ageofdgpsdata': + GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'dgpsid': + GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readNonNegativeInteger), + 'extensions': GVol.format.GPX.parseExtensions_ + }); + + +/** + * @param {Array.<GVol.Feature>} features List of features. + * @private + */ +GVol.format.GPX.prototype.handleReadExtensions_ = function(features) { + if (!features) { + features = []; + } + for (var i = 0, ii = features.length; i < ii; ++i) { + var feature = features[i]; + if (this.readExtensions_) { + var extensionsNode = feature.get('extensionsNode_') || null; + this.readExtensions_(feature, extensionsNode); + } + feature.set('extensionsNode_', undefined); + } +}; + + +/** + * Read the first feature from a GPX source. + * Routes (`<rte>`) are converted into LineString geometries, and tracks (`<trk>`) + * into MultiLineString. Any properties on route and track waypoints are ignored. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + * @api + */ +GVol.format.GPX.prototype.readFeature; + + +/** + * @inheritDoc + */ +GVol.format.GPX.prototype.readFeatureFromNode = function(node, opt_options) { + if (!GVol.array.includes(GVol.format.GPX.NAMESPACE_URIS_, node.namespaceURI)) { + return null; + } + var featureReader = GVol.format.GPX.FEATURE_READER_[node.localName]; + if (!featureReader) { + return null; + } + var feature = featureReader(node, [this.getReadOptions(node, opt_options)]); + if (!feature) { + return null; + } + this.handleReadExtensions_([feature]); + return feature; +}; + + +/** + * Read all features from a GPX source. + * Routes (`<rte>`) are converted into LineString geometries, and tracks (`<trk>`) + * into MultiLineString. Any properties on route and track waypoints are ignored. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.GPX.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.GPX.prototype.readFeaturesFromNode = function(node, opt_options) { + if (!GVol.array.includes(GVol.format.GPX.NAMESPACE_URIS_, node.namespaceURI)) { + return []; + } + if (node.localName == 'gpx') { + /** @type {Array.<GVol.Feature>} */ + var features = GVol.xml.pushParseAndPop([], GVol.format.GPX.GPX_PARSERS_, + node, [this.getReadOptions(node, opt_options)]); + if (features) { + this.handleReadExtensions_(features); + return features; + } else { + return []; + } + } + return []; +}; + + +/** + * Read the projection from a GPX source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @return {GVol.proj.Projection} Projection. + * @api + */ +GVol.format.GPX.prototype.readProjection; + + +/** + * @param {Node} node Node. + * @param {string} value Value for the link's `href` attribute. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.GPX.writeLink_ = function(node, value, objectStack) { + node.setAttribute('href', value); + var context = objectStack[objectStack.length - 1]; + var properties = context['properties']; + var link = [ + properties['linkText'], + properties['linkType'] + ]; + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ ({node: node}), + GVol.format.GPX.LINK_SERIALIZERS_, GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, + link, objectStack, GVol.format.GPX.LINK_SEQUENCE_); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.writeWptType_ = function(node, coordinate, objectStack) { + var context = objectStack[objectStack.length - 1]; + var parentNode = context.node; + var namespaceURI = parentNode.namespaceURI; + var properties = context['properties']; + //FIXME Projection handling + GVol.xml.setAttributeNS(node, null, 'lat', coordinate[1]); + GVol.xml.setAttributeNS(node, null, 'lon', coordinate[0]); + var geometryLayout = context['geometryLayout']; + switch (geometryLayout) { + case GVol.geom.GeometryLayout.XYZM: + if (coordinate[3] !== 0) { + properties['time'] = coordinate[3]; + } + // fall through + case GVol.geom.GeometryLayout.XYZ: + if (coordinate[2] !== 0) { + properties['ele'] = coordinate[2]; + } + break; + case GVol.geom.GeometryLayout.XYM: + if (coordinate[2] !== 0) { + properties['time'] = coordinate[2]; + } + break; + default: + // pass + } + var orderedKeys = (node.nodeName == 'rtept') ? + GVol.format.GPX.RTEPT_TYPE_SEQUENCE_[namespaceURI] : + GVol.format.GPX.WPT_TYPE_SEQUENCE_[namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ + ({node: node, 'properties': properties}), + GVol.format.GPX.WPT_TYPE_SERIALIZERS_, GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, + values, objectStack, orderedKeys); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Feature} feature Feature. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.writeRte_ = function(node, feature, objectStack) { + var options = /** @type {GVolx.format.WriteOptions} */ (objectStack[0]); + var properties = feature.getProperties(); + var context = {node: node, 'properties': properties}; + var geometry = feature.getGeometry(); + if (geometry) { + geometry = /** @type {GVol.geom.LineString} */ + (GVol.format.Feature.transformWithOptions(geometry, true, options)); + context['geometryLayout'] = geometry.getLayout(); + properties['rtept'] = geometry.getCoordinates(); + } + var parentNode = objectStack[objectStack.length - 1].node; + var orderedKeys = GVol.format.GPX.RTE_SEQUENCE_[parentNode.namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(context, + GVol.format.GPX.RTE_SERIALIZERS_, GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, + values, objectStack, orderedKeys); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Feature} feature Feature. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.writeTrk_ = function(node, feature, objectStack) { + var options = /** @type {GVolx.format.WriteOptions} */ (objectStack[0]); + var properties = feature.getProperties(); + /** @type {GVol.XmlNodeStackItem} */ + var context = {node: node, 'properties': properties}; + var geometry = feature.getGeometry(); + if (geometry) { + geometry = /** @type {GVol.geom.MultiLineString} */ + (GVol.format.Feature.transformWithOptions(geometry, true, options)); + properties['trkseg'] = geometry.getLineStrings(); + } + var parentNode = objectStack[objectStack.length - 1].node; + var orderedKeys = GVol.format.GPX.TRK_SEQUENCE_[parentNode.namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(context, + GVol.format.GPX.TRK_SERIALIZERS_, GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, + values, objectStack, orderedKeys); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LineString} lineString LineString. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.writeTrkSeg_ = function(node, lineString, objectStack) { + /** @type {GVol.XmlNodeStackItem} */ + var context = {node: node, 'geometryLayout': lineString.getLayout(), + 'properties': {}}; + GVol.xml.pushSerializeAndPop(context, + GVol.format.GPX.TRKSEG_SERIALIZERS_, GVol.format.GPX.TRKSEG_NODE_FACTORY_, + lineString.getCoordinates(), objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Feature} feature Feature. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.GPX.writeWpt_ = function(node, feature, objectStack) { + var options = /** @type {GVolx.format.WriteOptions} */ (objectStack[0]); + var context = objectStack[objectStack.length - 1]; + context['properties'] = feature.getProperties(); + var geometry = feature.getGeometry(); + if (geometry) { + geometry = /** @type {GVol.geom.Point} */ + (GVol.format.Feature.transformWithOptions(geometry, true, options)); + context['geometryLayout'] = geometry.getLayout(); + GVol.format.GPX.writeWptType_(node, geometry.getCoordinates(), objectStack); + } +}; + + +/** + * @const + * @type {Array.<string>} + * @private + */ +GVol.format.GPX.LINK_SEQUENCE_ = ['text', 'type']; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GPX.LINK_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'text': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'type': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode) + }); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.GPX.RTE_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, [ + 'name', 'cmt', 'desc', 'src', 'link', 'number', 'type', 'rtept' + ]); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GPX.RTE_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'name': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'cmt': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'desc': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'src': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'link': GVol.xml.makeChildAppender(GVol.format.GPX.writeLink_), + 'number': GVol.xml.makeChildAppender( + GVol.format.XSD.writeNonNegativeIntegerTextNode), + 'type': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'rtept': GVol.xml.makeArraySerializer(GVol.xml.makeChildAppender( + GVol.format.GPX.writeWptType_)) + }); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.GPX.RTEPT_TYPE_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, [ + 'ele', 'time' + ]); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.GPX.TRK_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, [ + 'name', 'cmt', 'desc', 'src', 'link', 'number', 'type', 'trkseg' + ]); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GPX.TRK_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'name': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'cmt': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'desc': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'src': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'link': GVol.xml.makeChildAppender(GVol.format.GPX.writeLink_), + 'number': GVol.xml.makeChildAppender( + GVol.format.XSD.writeNonNegativeIntegerTextNode), + 'type': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'trkseg': GVol.xml.makeArraySerializer(GVol.xml.makeChildAppender( + GVol.format.GPX.writeTrkSeg_)) + }); + + +/** + * @const + * @type {function(*, Array.<*>, string=): (Node|undefined)} + * @private + */ +GVol.format.GPX.TRKSEG_NODE_FACTORY_ = GVol.xml.makeSimpleNodeFactory('trkpt'); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GPX.TRKSEG_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'trkpt': GVol.xml.makeChildAppender(GVol.format.GPX.writeWptType_) + }); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.GPX.WPT_TYPE_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, [ + 'ele', 'time', 'magvar', 'geoidheight', 'name', 'cmt', 'desc', 'src', + 'link', 'sym', 'type', 'fix', 'sat', 'hdop', 'vdop', 'pdop', + 'ageofdgpsdata', 'dgpsid' + ]); + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GPX.WPT_TYPE_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'ele': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode), + 'time': GVol.xml.makeChildAppender(GVol.format.XSD.writeDateTimeTextNode), + 'magvar': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode), + 'geoidheight': GVol.xml.makeChildAppender( + GVol.format.XSD.writeDecimalTextNode), + 'name': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'cmt': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'desc': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'src': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'link': GVol.xml.makeChildAppender(GVol.format.GPX.writeLink_), + 'sym': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'type': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'fix': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'sat': GVol.xml.makeChildAppender( + GVol.format.XSD.writeNonNegativeIntegerTextNode), + 'hdop': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode), + 'vdop': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode), + 'pdop': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode), + 'ageofdgpsdata': GVol.xml.makeChildAppender( + GVol.format.XSD.writeDecimalTextNode), + 'dgpsid': GVol.xml.makeChildAppender( + GVol.format.XSD.writeNonNegativeIntegerTextNode) + }); + + +/** + * @const + * @type {Object.<string, string>} + * @private + */ +GVol.format.GPX.GEOMETRY_TYPE_TO_NODENAME_ = { + 'Point': 'wpt', + 'LineString': 'rte', + 'MultiLineString': 'trk' +}; + + +/** + * @const + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node|undefined} Node. + * @private + */ +GVol.format.GPX.GPX_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { + var geometry = /** @type {GVol.Feature} */ (value).getGeometry(); + if (geometry) { + var nodeName = GVol.format.GPX.GEOMETRY_TYPE_TO_NODENAME_[geometry.getType()]; + if (nodeName) { + var parentNode = objectStack[objectStack.length - 1].node; + return GVol.xml.createElementNS(parentNode.namespaceURI, nodeName); + } + } +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.GPX.GPX_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.GPX.NAMESPACE_URIS_, { + 'rte': GVol.xml.makeChildAppender(GVol.format.GPX.writeRte_), + 'trk': GVol.xml.makeChildAppender(GVol.format.GPX.writeTrk_), + 'wpt': GVol.xml.makeChildAppender(GVol.format.GPX.writeWpt_) + }); + + +/** + * Encode an array of features in the GPX format. + * LineString geometries are output as routes (`<rte>`), and MultiLineString + * as tracks (`<trk>`). + * + * @function + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} Result. + * @api + */ +GVol.format.GPX.prototype.writeFeatures; + + +/** + * Encode an array of features in the GPX format as an XML node. + * LineString geometries are output as routes (`<rte>`), and MultiLineString + * as tracks (`<trk>`). + * + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {Node} Node. + * @override + * @api + */ +GVol.format.GPX.prototype.writeFeaturesNode = function(features, opt_options) { + opt_options = this.adaptOptions(opt_options); + //FIXME Serialize metadata + var gpx = GVol.xml.createElementNS('http://www.topografix.com/GPX/1/1', 'gpx'); + var xmlnsUri = 'http://www.w3.org/2000/xmlns/'; + var xmlSchemaInstanceUri = 'http://www.w3.org/2001/XMLSchema-instance'; + GVol.xml.setAttributeNS(gpx, xmlnsUri, 'xmlns:xsi', xmlSchemaInstanceUri); + GVol.xml.setAttributeNS(gpx, xmlSchemaInstanceUri, 'xsi:schemaLocation', + GVol.format.GPX.SCHEMA_LOCATION_); + gpx.setAttribute('version', '1.1'); + gpx.setAttribute('creator', 'OpenLayers'); + + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ + ({node: gpx}), GVol.format.GPX.GPX_SERIALIZERS_, + GVol.format.GPX.GPX_NODE_FACTORY_, features, [opt_options]); + return gpx; +}; + +goog.provide('GVol.format.IGCZ'); + +/** + * IGC altitude/z. One of 'barometric', 'gps', 'none'. + * @enum {string} + */ +GVol.format.IGCZ = { + BAROMETRIC: 'barometric', + GPS: 'gps', + NONE: 'none' +}; + +goog.provide('GVol.format.TextFeature'); + +goog.require('GVol'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.FormatType'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Base class for text feature formats. + * + * @constructor + * @abstract + * @extends {GVol.format.Feature} + */ +GVol.format.TextFeature = function() { + GVol.format.Feature.call(this); +}; +GVol.inherits(GVol.format.TextFeature, GVol.format.Feature); + + +/** + * @param {Document|Node|Object|string} source Source. + * @private + * @return {string} Text. + */ +GVol.format.TextFeature.prototype.getText_ = function(source) { + if (typeof source === 'string') { + return source; + } else { + return ''; + } +}; + + +/** + * @inheritDoc + */ +GVol.format.TextFeature.prototype.getType = function() { + return GVol.format.FormatType.TEXT; +}; + + +/** + * @inheritDoc + */ +GVol.format.TextFeature.prototype.readFeature = function(source, opt_options) { + return this.readFeatureFromText( + this.getText_(source), this.adaptOptions(opt_options)); +}; + + +/** + * @abstract + * @param {string} text Text. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @protected + * @return {GVol.Feature} Feature. + */ +GVol.format.TextFeature.prototype.readFeatureFromText = function(text, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.TextFeature.prototype.readFeatures = function(source, opt_options) { + return this.readFeaturesFromText( + this.getText_(source), this.adaptOptions(opt_options)); +}; + + +/** + * @abstract + * @param {string} text Text. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @protected + * @return {Array.<GVol.Feature>} Features. + */ +GVol.format.TextFeature.prototype.readFeaturesFromText = function(text, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.TextFeature.prototype.readGeometry = function(source, opt_options) { + return this.readGeometryFromText( + this.getText_(source), this.adaptOptions(opt_options)); +}; + + +/** + * @abstract + * @param {string} text Text. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @protected + * @return {GVol.geom.Geometry} Geometry. + */ +GVol.format.TextFeature.prototype.readGeometryFromText = function(text, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.TextFeature.prototype.readProjection = function(source) { + return this.readProjectionFromText(this.getText_(source)); +}; + + +/** + * @param {string} text Text. + * @protected + * @return {GVol.proj.Projection} Projection. + */ +GVol.format.TextFeature.prototype.readProjectionFromText = function(text) { + return this.defaultDataProjection; +}; + + +/** + * @inheritDoc + */ +GVol.format.TextFeature.prototype.writeFeature = function(feature, opt_options) { + return this.writeFeatureText(feature, this.adaptOptions(opt_options)); +}; + + +/** + * @abstract + * @param {GVol.Feature} feature Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @protected + * @return {string} Text. + */ +GVol.format.TextFeature.prototype.writeFeatureText = function(feature, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.TextFeature.prototype.writeFeatures = function( + features, opt_options) { + return this.writeFeaturesText(features, this.adaptOptions(opt_options)); +}; + + +/** + * @abstract + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @protected + * @return {string} Text. + */ +GVol.format.TextFeature.prototype.writeFeaturesText = function(features, opt_options) {}; + + +/** + * @inheritDoc + */ +GVol.format.TextFeature.prototype.writeGeometry = function( + geometry, opt_options) { + return this.writeGeometryText(geometry, this.adaptOptions(opt_options)); +}; + + +/** + * @abstract + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @protected + * @return {string} Text. + */ +GVol.format.TextFeature.prototype.writeGeometryText = function(geometry, opt_options) {}; + +goog.provide('GVol.format.IGC'); + +goog.require('GVol'); +goog.require('GVol.Feature'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.IGCZ'); +goog.require('GVol.format.TextFeature'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * Feature format for `*.igc` flight recording files. + * + * @constructor + * @extends {GVol.format.TextFeature} + * @param {GVolx.format.IGCOptions=} opt_options Options. + * @api + */ +GVol.format.IGC = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.format.TextFeature.call(this); + + /** + * @inheritDoc + */ + this.defaultDataProjection = GVol.proj.get('EPSG:4326'); + + /** + * @private + * @type {GVol.format.IGCZ} + */ + this.altitudeMode_ = options.altitudeMode ? + options.altitudeMode : GVol.format.IGCZ.NONE; + +}; +GVol.inherits(GVol.format.IGC, GVol.format.TextFeature); + + +/** + * @const + * @type {RegExp} + * @private + */ +GVol.format.IGC.B_RECORD_RE_ = + /^B(\d{2})(\d{2})(\d{2})(\d{2})(\d{5})([NS])(\d{3})(\d{5})([EW])([AV])(\d{5})(\d{5})/; + + +/** + * @const + * @type {RegExp} + * @private + */ +GVol.format.IGC.H_RECORD_RE_ = /^H.([A-Z]{3}).*?:(.*)/; + + +/** + * @const + * @type {RegExp} + * @private + */ +GVol.format.IGC.HFDTE_RECORD_RE_ = /^HFDTE(\d{2})(\d{2})(\d{2})/; + + +/** + * A regular expression matching the newline characters `\r\n`, `\r` and `\n`. + * + * @const + * @type {RegExp} + * @private + */ +GVol.format.IGC.NEWLINE_RE_ = /\r\n|\r|\n/; + + +/** + * Read the feature from the IGC source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + * @api + */ +GVol.format.IGC.prototype.readFeature; + + +/** + * @inheritDoc + */ +GVol.format.IGC.prototype.readFeatureFromText = function(text, opt_options) { + var altitudeMode = this.altitudeMode_; + var lines = text.split(GVol.format.IGC.NEWLINE_RE_); + /** @type {Object.<string, string>} */ + var properties = {}; + var flatCoordinates = []; + var year = 2000; + var month = 0; + var day = 1; + var lastDateTime = -1; + var i, ii; + for (i = 0, ii = lines.length; i < ii; ++i) { + var line = lines[i]; + var m; + if (line.charAt(0) == 'B') { + m = GVol.format.IGC.B_RECORD_RE_.exec(line); + if (m) { + var hour = parseInt(m[1], 10); + var minute = parseInt(m[2], 10); + var second = parseInt(m[3], 10); + var y = parseInt(m[4], 10) + parseInt(m[5], 10) / 60000; + if (m[6] == 'S') { + y = -y; + } + var x = parseInt(m[7], 10) + parseInt(m[8], 10) / 60000; + if (m[9] == 'W') { + x = -x; + } + flatCoordinates.push(x, y); + if (altitudeMode != GVol.format.IGCZ.NONE) { + var z; + if (altitudeMode == GVol.format.IGCZ.GPS) { + z = parseInt(m[11], 10); + } else if (altitudeMode == GVol.format.IGCZ.BAROMETRIC) { + z = parseInt(m[12], 10); + } else { + z = 0; + } + flatCoordinates.push(z); + } + var dateTime = Date.UTC(year, month, day, hour, minute, second); + // Detect UTC midnight wrap around. + if (dateTime < lastDateTime) { + dateTime = Date.UTC(year, month, day + 1, hour, minute, second); + } + flatCoordinates.push(dateTime / 1000); + lastDateTime = dateTime; + } + } else if (line.charAt(0) == 'H') { + m = GVol.format.IGC.HFDTE_RECORD_RE_.exec(line); + if (m) { + day = parseInt(m[1], 10); + month = parseInt(m[2], 10) - 1; + year = 2000 + parseInt(m[3], 10); + } else { + m = GVol.format.IGC.H_RECORD_RE_.exec(line); + if (m) { + properties[m[1]] = m[2].trim(); + } + } + } + } + if (flatCoordinates.length === 0) { + return null; + } + var lineString = new GVol.geom.LineString(null); + var layout = altitudeMode == GVol.format.IGCZ.NONE ? + GVol.geom.GeometryLayout.XYM : GVol.geom.GeometryLayout.XYZM; + lineString.setFlatCoordinates(layout, flatCoordinates); + var feature = new GVol.Feature(GVol.format.Feature.transformWithOptions( + lineString, false, opt_options)); + feature.setProperties(properties); + return feature; +}; + + +/** + * Read the feature from the source. As IGC sources contain a single + * feature, this will return the feature in an array. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.IGC.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.IGC.prototype.readFeaturesFromText = function(text, opt_options) { + var feature = this.readFeatureFromText(text, opt_options); + if (feature) { + return [feature]; + } else { + return []; + } +}; + + +/** + * Read the projection from the IGC source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @return {GVol.proj.Projection} Projection. + * @api + */ +GVol.format.IGC.prototype.readProjection; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.IGC.prototype.writeFeatureText = function(feature, opt_options) {}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.IGC.prototype.writeFeaturesText = function(features, opt_options) {}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.IGC.prototype.writeGeometryText = function(geometry, opt_options) {}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.IGC.prototype.readGeometryFromText = function(text, opt_options) {}; + +goog.provide('GVol.style.IconAnchorUnits'); + +/** + * Icon anchor units. One of 'fraction', 'pixels'. + * @enum {string} + */ +GVol.style.IconAnchorUnits = { + FRACTION: 'fraction', + PIXELS: 'pixels' +}; + +goog.provide('GVol.style.IconImage'); + +goog.require('GVol'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.events.EventTarget'); +goog.require('GVol.events.EventType'); +goog.require('GVol.ImageState'); +goog.require('GVol.style'); + + +/** + * @constructor + * @param {Image|HTMLCanvasElement} image Image. + * @param {string|undefined} src Src. + * @param {GVol.Size} size Size. + * @param {?string} crossOrigin Cross origin. + * @param {GVol.ImageState} imageState Image state. + * @param {GVol.CGVolor} cGVolor CGVolor. + * @extends {GVol.events.EventTarget} + */ +GVol.style.IconImage = function(image, src, size, crossOrigin, imageState, + cGVolor) { + + GVol.events.EventTarget.call(this); + + /** + * @private + * @type {Image|HTMLCanvasElement} + */ + this.hitDetectionImage_ = null; + + /** + * @private + * @type {Image|HTMLCanvasElement} + */ + this.image_ = !image ? new Image() : image; + + if (crossOrigin !== null) { + this.image_.crossOrigin = crossOrigin; + } + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = cGVolor ? + /** @type {HTMLCanvasElement} */ (document.createElement('CANVAS')) : + null; + + /** + * @private + * @type {GVol.CGVolor} + */ + this.cGVolor_ = cGVolor; + + /** + * @private + * @type {Array.<GVol.EventsKey>} + */ + this.imageListenerKeys_ = null; + + /** + * @private + * @type {GVol.ImageState} + */ + this.imageState_ = imageState; + + /** + * @private + * @type {GVol.Size} + */ + this.size_ = size; + + /** + * @private + * @type {string|undefined} + */ + this.src_ = src; + + /** + * @private + * @type {boGVolean} + */ + this.tainting_ = false; + if (this.imageState_ == GVol.ImageState.LOADED) { + this.determineTainting_(); + } + +}; +GVol.inherits(GVol.style.IconImage, GVol.events.EventTarget); + + +/** + * @param {Image|HTMLCanvasElement} image Image. + * @param {string} src Src. + * @param {GVol.Size} size Size. + * @param {?string} crossOrigin Cross origin. + * @param {GVol.ImageState} imageState Image state. + * @param {GVol.CGVolor} cGVolor CGVolor. + * @return {GVol.style.IconImage} Icon image. + */ +GVol.style.IconImage.get = function(image, src, size, crossOrigin, imageState, + cGVolor) { + var iconImageCache = GVol.style.iconImageCache; + var iconImage = iconImageCache.get(src, crossOrigin, cGVolor); + if (!iconImage) { + iconImage = new GVol.style.IconImage( + image, src, size, crossOrigin, imageState, cGVolor); + iconImageCache.set(src, crossOrigin, cGVolor, iconImage); + } + return iconImage; +}; + + +/** + * @private + */ +GVol.style.IconImage.prototype.determineTainting_ = function() { + var context = GVol.dom.createCanvasContext2D(1, 1); + try { + context.drawImage(this.image_, 0, 0); + context.getImageData(0, 0, 1, 1); + } catch (e) { + this.tainting_ = true; + } +}; + + +/** + * @private + */ +GVol.style.IconImage.prototype.dispatchChangeEvent_ = function() { + this.dispatchEvent(GVol.events.EventType.CHANGE); +}; + + +/** + * @private + */ +GVol.style.IconImage.prototype.handleImageError_ = function() { + this.imageState_ = GVol.ImageState.ERROR; + this.unlistenImage_(); + this.dispatchChangeEvent_(); +}; + + +/** + * @private + */ +GVol.style.IconImage.prototype.handleImageLoad_ = function() { + this.imageState_ = GVol.ImageState.LOADED; + if (this.size_) { + this.image_.width = this.size_[0]; + this.image_.height = this.size_[1]; + } + this.size_ = [this.image_.width, this.image_.height]; + this.unlistenImage_(); + this.determineTainting_(); + this.replaceCGVolor_(); + this.dispatchChangeEvent_(); +}; + + +/** + * @param {number} pixelRatio Pixel ratio. + * @return {Image|HTMLCanvasElement} Image or Canvas element. + */ +GVol.style.IconImage.prototype.getImage = function(pixelRatio) { + return this.canvas_ ? this.canvas_ : this.image_; +}; + + +/** + * @return {GVol.ImageState} Image state. + */ +GVol.style.IconImage.prototype.getImageState = function() { + return this.imageState_; +}; + + +/** + * @param {number} pixelRatio Pixel ratio. + * @return {Image|HTMLCanvasElement} Image element. + */ +GVol.style.IconImage.prototype.getHitDetectionImage = function(pixelRatio) { + if (!this.hitDetectionImage_) { + if (this.tainting_) { + var width = this.size_[0]; + var height = this.size_[1]; + var context = GVol.dom.createCanvasContext2D(width, height); + context.fillRect(0, 0, width, height); + this.hitDetectionImage_ = context.canvas; + } else { + this.hitDetectionImage_ = this.image_; + } + } + return this.hitDetectionImage_; +}; + + +/** + * @return {GVol.Size} Image size. + */ +GVol.style.IconImage.prototype.getSize = function() { + return this.size_; +}; + + +/** + * @return {string|undefined} Image src. + */ +GVol.style.IconImage.prototype.getSrc = function() { + return this.src_; +}; + + +/** + * Load not yet loaded URI. + */ +GVol.style.IconImage.prototype.load = function() { + if (this.imageState_ == GVol.ImageState.IDLE) { + this.imageState_ = GVol.ImageState.LOADING; + this.imageListenerKeys_ = [ + GVol.events.listenOnce(this.image_, GVol.events.EventType.ERROR, + this.handleImageError_, this), + GVol.events.listenOnce(this.image_, GVol.events.EventType.LOAD, + this.handleImageLoad_, this) + ]; + try { + this.image_.src = this.src_; + } catch (e) { + this.handleImageError_(); + } + } +}; + + +/** + * @private + */ +GVol.style.IconImage.prototype.replaceCGVolor_ = function() { + if (this.tainting_ || this.cGVolor_ === null) { + return; + } + + this.canvas_.width = this.image_.width; + this.canvas_.height = this.image_.height; + + var ctx = this.canvas_.getContext('2d'); + ctx.drawImage(this.image_, 0, 0); + + var imgData = ctx.getImageData(0, 0, this.image_.width, this.image_.height); + var data = imgData.data; + var r = this.cGVolor_[0] / 255.0; + var g = this.cGVolor_[1] / 255.0; + var b = this.cGVolor_[2] / 255.0; + + for (var i = 0, ii = data.length; i < ii; i += 4) { + data[i] *= r; + data[i + 1] *= g; + data[i + 2] *= b; + } + ctx.putImageData(imgData, 0, 0); +}; + + +/** + * Discards event handlers which listen for load completion or errors. + * + * @private + */ +GVol.style.IconImage.prototype.unlistenImage_ = function() { + this.imageListenerKeys_.forEach(GVol.events.unlistenByKey); + this.imageListenerKeys_ = null; +}; + +goog.provide('GVol.style.IconOrigin'); + +/** + * Icon origin. One of 'bottom-left', 'bottom-right', 'top-left', 'top-right'. + * @enum {string} + */ +GVol.style.IconOrigin = { + BOTTOM_LEFT: 'bottom-left', + BOTTOM_RIGHT: 'bottom-right', + TOP_LEFT: 'top-left', + TOP_RIGHT: 'top-right' +}; + +goog.provide('GVol.style.Icon'); + +goog.require('GVol'); +goog.require('GVol.ImageState'); +goog.require('GVol.asserts'); +goog.require('GVol.cGVolor'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.style.IconAnchorUnits'); +goog.require('GVol.style.IconImage'); +goog.require('GVol.style.IconOrigin'); +goog.require('GVol.style.Image'); + + +/** + * @classdesc + * Set icon style for vector features. + * + * @constructor + * @param {GVolx.style.IconOptions=} opt_options Options. + * @extends {GVol.style.Image} + * @api + */ +GVol.style.Icon = function(opt_options) { + + var options = opt_options || {}; + + /** + * @private + * @type {Array.<number>} + */ + this.anchor_ = options.anchor !== undefined ? options.anchor : [0.5, 0.5]; + + /** + * @private + * @type {Array.<number>} + */ + this.normalizedAnchor_ = null; + + /** + * @private + * @type {GVol.style.IconOrigin} + */ + this.anchorOrigin_ = options.anchorOrigin !== undefined ? + options.anchorOrigin : GVol.style.IconOrigin.TOP_LEFT; + + /** + * @private + * @type {GVol.style.IconAnchorUnits} + */ + this.anchorXUnits_ = options.anchorXUnits !== undefined ? + options.anchorXUnits : GVol.style.IconAnchorUnits.FRACTION; + + /** + * @private + * @type {GVol.style.IconAnchorUnits} + */ + this.anchorYUnits_ = options.anchorYUnits !== undefined ? + options.anchorYUnits : GVol.style.IconAnchorUnits.FRACTION; + + /** + * @private + * @type {?string} + */ + this.crossOrigin_ = + options.crossOrigin !== undefined ? options.crossOrigin : null; + + /** + * @type {Image|HTMLCanvasElement} + */ + var image = options.img !== undefined ? options.img : null; + + /** + * @type {GVol.Size} + */ + var imgSize = options.imgSize !== undefined ? options.imgSize : null; + + /** + * @type {string|undefined} + */ + var src = options.src; + + GVol.asserts.assert(!(src !== undefined && image), + 4); // `image` and `src` cannot be provided at the same time + GVol.asserts.assert(!image || (image && imgSize), + 5); // `imgSize` must be set when `image` is provided + + if ((src === undefined || src.length === 0) && image) { + src = image.src || GVol.getUid(image).toString(); + } + GVol.asserts.assert(src !== undefined && src.length > 0, + 6); // A defined and non-empty `src` or `image` must be provided + + /** + * @type {GVol.ImageState} + */ + var imageState = options.src !== undefined ? + GVol.ImageState.IDLE : GVol.ImageState.LOADED; + + /** + * @private + * @type {GVol.CGVolor} + */ + this.cGVolor_ = options.cGVolor !== undefined ? GVol.cGVolor.asArray(options.cGVolor) : + null; + + /** + * @private + * @type {GVol.style.IconImage} + */ + this.iconImage_ = GVol.style.IconImage.get( + image, /** @type {string} */ (src), imgSize, this.crossOrigin_, imageState, this.cGVolor_); + + /** + * @private + * @type {Array.<number>} + */ + this.offset_ = options.offset !== undefined ? options.offset : [0, 0]; + + /** + * @private + * @type {GVol.style.IconOrigin} + */ + this.offsetOrigin_ = options.offsetOrigin !== undefined ? + options.offsetOrigin : GVol.style.IconOrigin.TOP_LEFT; + + /** + * @private + * @type {Array.<number>} + */ + this.origin_ = null; + + /** + * @private + * @type {GVol.Size} + */ + this.size_ = options.size !== undefined ? options.size : null; + + /** + * @type {number} + */ + var opacity = options.opacity !== undefined ? options.opacity : 1; + + /** + * @type {boGVolean} + */ + var rotateWithView = options.rotateWithView !== undefined ? + options.rotateWithView : false; + + /** + * @type {number} + */ + var rotation = options.rotation !== undefined ? options.rotation : 0; + + /** + * @type {number} + */ + var scale = options.scale !== undefined ? options.scale : 1; + + /** + * @type {boGVolean} + */ + var snapToPixel = options.snapToPixel !== undefined ? + options.snapToPixel : true; + + GVol.style.Image.call(this, { + opacity: opacity, + rotation: rotation, + scale: scale, + snapToPixel: snapToPixel, + rotateWithView: rotateWithView + }); + +}; +GVol.inherits(GVol.style.Icon, GVol.style.Image); + + +/** + * Clones the style. + * @return {GVol.style.Icon} The cloned style. + * @api + */ +GVol.style.Icon.prototype.clone = function() { + var GVoldImage = this.getImage(1); + var newImage; + if (this.iconImage_.getImageState() === GVol.ImageState.LOADED) { + if (GVoldImage.tagName.toUpperCase() === 'IMG') { + newImage = /** @type {Image} */ (GVoldImage.cloneNode(true)); + } else { + newImage = /** @type {HTMLCanvasElement} */ (document.createElement('canvas')); + var context = newImage.getContext('2d'); + newImage.width = GVoldImage.width; + newImage.height = GVoldImage.height; + context.drawImage(GVoldImage, 0, 0); + } + } + return new GVol.style.Icon({ + anchor: this.anchor_.slice(), + anchorOrigin: this.anchorOrigin_, + anchorXUnits: this.anchorXUnits_, + anchorYUnits: this.anchorYUnits_, + crossOrigin: this.crossOrigin_, + cGVolor: (this.cGVolor_ && this.cGVolor_.slice) ? this.cGVolor_.slice() : this.cGVolor_ || undefined, + img: newImage ? newImage : undefined, + imgSize: newImage ? this.iconImage_.getSize().slice() : undefined, + src: newImage ? undefined : this.getSrc(), + offset: this.offset_.slice(), + offsetOrigin: this.offsetOrigin_, + size: this.size_ !== null ? this.size_.slice() : undefined, + opacity: this.getOpacity(), + scale: this.getScale(), + snapToPixel: this.getSnapToPixel(), + rotation: this.getRotation(), + rotateWithView: this.getRotateWithView() + }); +}; + + +/** + * @inheritDoc + * @api + */ +GVol.style.Icon.prototype.getAnchor = function() { + if (this.normalizedAnchor_) { + return this.normalizedAnchor_; + } + var anchor = this.anchor_; + var size = this.getSize(); + if (this.anchorXUnits_ == GVol.style.IconAnchorUnits.FRACTION || + this.anchorYUnits_ == GVol.style.IconAnchorUnits.FRACTION) { + if (!size) { + return null; + } + anchor = this.anchor_.slice(); + if (this.anchorXUnits_ == GVol.style.IconAnchorUnits.FRACTION) { + anchor[0] *= size[0]; + } + if (this.anchorYUnits_ == GVol.style.IconAnchorUnits.FRACTION) { + anchor[1] *= size[1]; + } + } + + if (this.anchorOrigin_ != GVol.style.IconOrigin.TOP_LEFT) { + if (!size) { + return null; + } + if (anchor === this.anchor_) { + anchor = this.anchor_.slice(); + } + if (this.anchorOrigin_ == GVol.style.IconOrigin.TOP_RIGHT || + this.anchorOrigin_ == GVol.style.IconOrigin.BOTTOM_RIGHT) { + anchor[0] = -anchor[0] + size[0]; + } + if (this.anchorOrigin_ == GVol.style.IconOrigin.BOTTOM_LEFT || + this.anchorOrigin_ == GVol.style.IconOrigin.BOTTOM_RIGHT) { + anchor[1] = -anchor[1] + size[1]; + } + } + this.normalizedAnchor_ = anchor; + return this.normalizedAnchor_; +}; + + +/** + * Get the icon cGVolor. + * @return {GVol.CGVolor} CGVolor. + * @api + */ +GVol.style.Icon.prototype.getCGVolor = function() { + return this.cGVolor_; +}; + + +/** + * Get the image icon. + * @param {number} pixelRatio Pixel ratio. + * @return {Image|HTMLCanvasElement} Image or Canvas element. + * @override + * @api + */ +GVol.style.Icon.prototype.getImage = function(pixelRatio) { + return this.iconImage_.getImage(pixelRatio); +}; + + +/** + * @override + */ +GVol.style.Icon.prototype.getImageSize = function() { + return this.iconImage_.getSize(); +}; + + +/** + * @override + */ +GVol.style.Icon.prototype.getHitDetectionImageSize = function() { + return this.getImageSize(); +}; + + +/** + * @override + */ +GVol.style.Icon.prototype.getImageState = function() { + return this.iconImage_.getImageState(); +}; + + +/** + * @override + */ +GVol.style.Icon.prototype.getHitDetectionImage = function(pixelRatio) { + return this.iconImage_.getHitDetectionImage(pixelRatio); +}; + + +/** + * @inheritDoc + * @api + */ +GVol.style.Icon.prototype.getOrigin = function() { + if (this.origin_) { + return this.origin_; + } + var offset = this.offset_; + + if (this.offsetOrigin_ != GVol.style.IconOrigin.TOP_LEFT) { + var size = this.getSize(); + var iconImageSize = this.iconImage_.getSize(); + if (!size || !iconImageSize) { + return null; + } + offset = offset.slice(); + if (this.offsetOrigin_ == GVol.style.IconOrigin.TOP_RIGHT || + this.offsetOrigin_ == GVol.style.IconOrigin.BOTTOM_RIGHT) { + offset[0] = iconImageSize[0] - size[0] - offset[0]; + } + if (this.offsetOrigin_ == GVol.style.IconOrigin.BOTTOM_LEFT || + this.offsetOrigin_ == GVol.style.IconOrigin.BOTTOM_RIGHT) { + offset[1] = iconImageSize[1] - size[1] - offset[1]; + } + } + this.origin_ = offset; + return this.origin_; +}; + + +/** + * Get the image URL. + * @return {string|undefined} Image src. + * @api + */ +GVol.style.Icon.prototype.getSrc = function() { + return this.iconImage_.getSrc(); +}; + + +/** + * @inheritDoc + * @api + */ +GVol.style.Icon.prototype.getSize = function() { + return !this.size_ ? this.iconImage_.getSize() : this.size_; +}; + + +/** + * @override + */ +GVol.style.Icon.prototype.listenImageChange = function(listener, thisArg) { + return GVol.events.listen(this.iconImage_, GVol.events.EventType.CHANGE, + listener, thisArg); +}; + + +/** + * Load not yet loaded URI. + * When rendering a feature with an icon style, the vector renderer will + * automatically call this method. However, you might want to call this + * method yourself for preloading or other purposes. + * @override + * @api + */ +GVol.style.Icon.prototype.load = function() { + this.iconImage_.load(); +}; + + +/** + * @override + */ +GVol.style.Icon.prototype.unlistenImageChange = function(listener, thisArg) { + GVol.events.unlisten(this.iconImage_, GVol.events.EventType.CHANGE, + listener, thisArg); +}; + +goog.provide('GVol.style.Text'); + + +goog.require('GVol.style.Fill'); + + +/** + * @classdesc + * Set text style for vector features. + * + * @constructor + * @param {GVolx.style.TextOptions=} opt_options Options. + * @api + */ +GVol.style.Text = function(opt_options) { + + var options = opt_options || {}; + + /** + * @private + * @type {string|undefined} + */ + this.font_ = options.font; + + /** + * @private + * @type {number|undefined} + */ + this.rotation_ = options.rotation; + + /** + * @private + * @type {boGVolean|undefined} + */ + this.rotateWithView_ = options.rotateWithView; + + /** + * @private + * @type {number|undefined} + */ + this.scale_ = options.scale; + + /** + * @private + * @type {string|undefined} + */ + this.text_ = options.text; + + /** + * @private + * @type {string|undefined} + */ + this.textAlign_ = options.textAlign; + + /** + * @private + * @type {string|undefined} + */ + this.textBaseline_ = options.textBaseline; + + /** + * @private + * @type {GVol.style.Fill} + */ + this.fill_ = options.fill !== undefined ? options.fill : + new GVol.style.Fill({cGVolor: GVol.style.Text.DEFAULT_FILL_COLOR_}); + + /** + * @private + * @type {GVol.style.Stroke} + */ + this.stroke_ = options.stroke !== undefined ? options.stroke : null; + + /** + * @private + * @type {number} + */ + this.offsetX_ = options.offsetX !== undefined ? options.offsetX : 0; + + /** + * @private + * @type {number} + */ + this.offsetY_ = options.offsetY !== undefined ? options.offsetY : 0; +}; + + +/** + * The default fill cGVolor to use if no fill was set at construction time; a + * blackish `#333`. + * + * @const {string} + * @private + */ +GVol.style.Text.DEFAULT_FILL_COLOR_ = '#333'; + + +/** + * Clones the style. + * @return {GVol.style.Text} The cloned style. + * @api + */ +GVol.style.Text.prototype.clone = function() { + return new GVol.style.Text({ + font: this.getFont(), + rotation: this.getRotation(), + rotateWithView: this.getRotateWithView(), + scale: this.getScale(), + text: this.getText(), + textAlign: this.getTextAlign(), + textBaseline: this.getTextBaseline(), + fill: this.getFill() ? this.getFill().clone() : undefined, + stroke: this.getStroke() ? this.getStroke().clone() : undefined, + offsetX: this.getOffsetX(), + offsetY: this.getOffsetY() + }); +}; + + +/** + * Get the font name. + * @return {string|undefined} Font. + * @api + */ +GVol.style.Text.prototype.getFont = function() { + return this.font_; +}; + + +/** + * Get the x-offset for the text. + * @return {number} Horizontal text offset. + * @api + */ +GVol.style.Text.prototype.getOffsetX = function() { + return this.offsetX_; +}; + + +/** + * Get the y-offset for the text. + * @return {number} Vertical text offset. + * @api + */ +GVol.style.Text.prototype.getOffsetY = function() { + return this.offsetY_; +}; + + +/** + * Get the fill style for the text. + * @return {GVol.style.Fill} Fill style. + * @api + */ +GVol.style.Text.prototype.getFill = function() { + return this.fill_; +}; + + +/** + * Determine whether the text rotates with the map. + * @return {boGVolean|undefined} Rotate with map. + * @api + */ +GVol.style.Text.prototype.getRotateWithView = function() { + return this.rotateWithView_; +}; + + +/** + * Get the text rotation. + * @return {number|undefined} Rotation. + * @api + */ +GVol.style.Text.prototype.getRotation = function() { + return this.rotation_; +}; + + +/** + * Get the text scale. + * @return {number|undefined} Scale. + * @api + */ +GVol.style.Text.prototype.getScale = function() { + return this.scale_; +}; + + +/** + * Get the stroke style for the text. + * @return {GVol.style.Stroke} Stroke style. + * @api + */ +GVol.style.Text.prototype.getStroke = function() { + return this.stroke_; +}; + + +/** + * Get the text to be rendered. + * @return {string|undefined} Text. + * @api + */ +GVol.style.Text.prototype.getText = function() { + return this.text_; +}; + + +/** + * Get the text alignment. + * @return {string|undefined} Text align. + * @api + */ +GVol.style.Text.prototype.getTextAlign = function() { + return this.textAlign_; +}; + + +/** + * Get the text baseline. + * @return {string|undefined} Text baseline. + * @api + */ +GVol.style.Text.prototype.getTextBaseline = function() { + return this.textBaseline_; +}; + + +/** + * Set the font. + * + * @param {string|undefined} font Font. + * @api + */ +GVol.style.Text.prototype.setFont = function(font) { + this.font_ = font; +}; + + +/** + * Set the x offset. + * + * @param {number} offsetX Horizontal text offset. + * @api + */ +GVol.style.Text.prototype.setOffsetX = function(offsetX) { + this.offsetX_ = offsetX; +}; + + +/** + * Set the y offset. + * + * @param {number} offsetY Vertical text offset. + * @api + */ +GVol.style.Text.prototype.setOffsetY = function(offsetY) { + this.offsetY_ = offsetY; +}; + + +/** + * Set the fill. + * + * @param {GVol.style.Fill} fill Fill style. + * @api + */ +GVol.style.Text.prototype.setFill = function(fill) { + this.fill_ = fill; +}; + + +/** + * Set the rotation. + * + * @param {number|undefined} rotation Rotation. + * @api + */ +GVol.style.Text.prototype.setRotation = function(rotation) { + this.rotation_ = rotation; +}; + + +/** + * Set the scale. + * + * @param {number|undefined} scale Scale. + * @api + */ +GVol.style.Text.prototype.setScale = function(scale) { + this.scale_ = scale; +}; + + +/** + * Set the stroke. + * + * @param {GVol.style.Stroke} stroke Stroke style. + * @api + */ +GVol.style.Text.prototype.setStroke = function(stroke) { + this.stroke_ = stroke; +}; + + +/** + * Set the text. + * + * @param {string|undefined} text Text. + * @api + */ +GVol.style.Text.prototype.setText = function(text) { + this.text_ = text; +}; + + +/** + * Set the text alignment. + * + * @param {string|undefined} textAlign Text align. + * @api + */ +GVol.style.Text.prototype.setTextAlign = function(textAlign) { + this.textAlign_ = textAlign; +}; + + +/** + * Set the text baseline. + * + * @param {string|undefined} textBaseline Text baseline. + * @api + */ +GVol.style.Text.prototype.setTextBaseline = function(textBaseline) { + this.textBaseline_ = textBaseline; +}; + +// FIXME http://earth.google.com/kml/1.0 namespace? +// FIXME why does node.getAttribute return an unknown type? +// FIXME serialize arbitrary feature properties +// FIXME don't parse style if extractStyles is false + +goog.provide('GVol.format.KML'); + +goog.require('GVol'); +goog.require('GVol.Feature'); +goog.require('GVol.array'); +goog.require('GVol.asserts'); +goog.require('GVol.cGVolor'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.XMLFeature'); +goog.require('GVol.format.XSD'); +goog.require('GVol.geom.GeometryCGVollection'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.MultiPGVolygon'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.math'); +goog.require('GVol.proj'); +goog.require('GVol.style.Fill'); +goog.require('GVol.style.Icon'); +goog.require('GVol.style.IconAnchorUnits'); +goog.require('GVol.style.IconOrigin'); +goog.require('GVol.style.Stroke'); +goog.require('GVol.style.Style'); +goog.require('GVol.style.Text'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Feature format for reading and writing data in the KML format. + * + * Note that the KML format uses the URL() constructor. Older browsers such as IE + * which do not support this will need a URL pGVolyfill to be loaded before use. + * + * @constructor + * @extends {GVol.format.XMLFeature} + * @param {GVolx.format.KMLOptions=} opt_options Options. + * @api + */ +GVol.format.KML = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.format.XMLFeature.call(this); + + if (!GVol.format.KML.DEFAULT_STYLE_ARRAY_) { + GVol.format.KML.createStyleDefaults_(); + } + + /** + * @inheritDoc + */ + this.defaultDataProjection = GVol.proj.get('EPSG:4326'); + + /** + * @private + * @type {Array.<GVol.style.Style>} + */ + this.defaultStyle_ = options.defaultStyle ? + options.defaultStyle : GVol.format.KML.DEFAULT_STYLE_ARRAY_; + + /** + * @private + * @type {boGVolean} + */ + this.extractStyles_ = options.extractStyles !== undefined ? + options.extractStyles : true; + + /** + * @private + * @type {boGVolean} + */ + this.writeStyles_ = options.writeStyles !== undefined ? + options.writeStyles : true; + + /** + * @private + * @type {Object.<string, (Array.<GVol.style.Style>|string)>} + */ + this.sharedStyles_ = {}; + + /** + * @private + * @type {boGVolean} + */ + this.showPointNames_ = options.showPointNames !== undefined ? + options.showPointNames : true; + +}; +GVol.inherits(GVol.format.KML, GVol.format.XMLFeature); + + +/** + * @const + * @type {Array.<string>} + * @private + */ +GVol.format.KML.GX_NAMESPACE_URIS_ = [ + 'http://www.google.com/kml/ext/2.2' +]; + + +/** + * @const + * @type {Array.<string>} + * @private + */ +GVol.format.KML.NAMESPACE_URIS_ = [ + null, + 'http://earth.google.com/kml/2.0', + 'http://earth.google.com/kml/2.1', + 'http://earth.google.com/kml/2.2', + 'http://www.opengis.net/kml/2.2' +]; + + +/** + * @const + * @type {string} + * @private + */ +GVol.format.KML.SCHEMA_LOCATION_ = 'http://www.opengis.net/kml/2.2 ' + + 'https://developers.google.com/kml/schema/kml22gx.xsd'; + + +/** + * @return {Array.<GVol.style.Style>} Default style. + * @private + */ +GVol.format.KML.createStyleDefaults_ = function() { + /** + * @const + * @type {GVol.CGVolor} + * @private + */ + GVol.format.KML.DEFAULT_COLOR_ = [255, 255, 255, 1]; + + /** + * @const + * @type {GVol.style.Fill} + * @private + */ + GVol.format.KML.DEFAULT_FILL_STYLE_ = new GVol.style.Fill({ + cGVolor: GVol.format.KML.DEFAULT_COLOR_ + }); + + /** + * @const + * @type {GVol.Size} + * @private + */ + GVol.format.KML.DEFAULT_IMAGE_STYLE_ANCHOR_ = [20, 2]; // FIXME maybe [8, 32] ? + + /** + * @const + * @type {GVol.style.IconAnchorUnits} + * @private + */ + GVol.format.KML.DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS_ = + GVol.style.IconAnchorUnits.PIXELS; + + /** + * @const + * @type {GVol.style.IconAnchorUnits} + * @private + */ + GVol.format.KML.DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS_ = + GVol.style.IconAnchorUnits.PIXELS; + + /** + * @const + * @type {GVol.Size} + * @private + */ + GVol.format.KML.DEFAULT_IMAGE_STYLE_SIZE_ = [64, 64]; + + /** + * @const + * @type {string} + * @private + */ + GVol.format.KML.DEFAULT_IMAGE_STYLE_SRC_ = + 'https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png'; + + /** + * @const + * @type {number} + * @private + */ + GVol.format.KML.DEFAULT_IMAGE_SCALE_MULTIPLIER_ = 0.5; + + /** + * @const + * @type {GVol.style.Image} + * @private + */ + GVol.format.KML.DEFAULT_IMAGE_STYLE_ = new GVol.style.Icon({ + anchor: GVol.format.KML.DEFAULT_IMAGE_STYLE_ANCHOR_, + anchorOrigin: GVol.style.IconOrigin.BOTTOM_LEFT, + anchorXUnits: GVol.format.KML.DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS_, + anchorYUnits: GVol.format.KML.DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS_, + crossOrigin: 'anonymous', + rotation: 0, + scale: GVol.format.KML.DEFAULT_IMAGE_SCALE_MULTIPLIER_, + size: GVol.format.KML.DEFAULT_IMAGE_STYLE_SIZE_, + src: GVol.format.KML.DEFAULT_IMAGE_STYLE_SRC_ + }); + + /** + * @const + * @type {string} + * @private + */ + GVol.format.KML.DEFAULT_NO_IMAGE_STYLE_ = 'NO_IMAGE'; + + /** + * @const + * @type {GVol.style.Stroke} + * @private + */ + GVol.format.KML.DEFAULT_STROKE_STYLE_ = new GVol.style.Stroke({ + cGVolor: GVol.format.KML.DEFAULT_COLOR_, + width: 1 + }); + + /** + * @const + * @type {GVol.style.Stroke} + * @private + */ + GVol.format.KML.DEFAULT_TEXT_STROKE_STYLE_ = new GVol.style.Stroke({ + cGVolor: [51, 51, 51, 1], + width: 2 + }); + + /** + * @const + * @type {GVol.style.Text} + * @private + */ + GVol.format.KML.DEFAULT_TEXT_STYLE_ = new GVol.style.Text({ + font: 'bGVold 16px Helvetica', + fill: GVol.format.KML.DEFAULT_FILL_STYLE_, + stroke: GVol.format.KML.DEFAULT_TEXT_STROKE_STYLE_, + scale: 0.8 + }); + + /** + * @const + * @type {GVol.style.Style} + * @private + */ + GVol.format.KML.DEFAULT_STYLE_ = new GVol.style.Style({ + fill: GVol.format.KML.DEFAULT_FILL_STYLE_, + image: GVol.format.KML.DEFAULT_IMAGE_STYLE_, + text: GVol.format.KML.DEFAULT_TEXT_STYLE_, + stroke: GVol.format.KML.DEFAULT_STROKE_STYLE_, + zIndex: 0 + }); + + /** + * @const + * @type {Array.<GVol.style.Style>} + * @private + */ + GVol.format.KML.DEFAULT_STYLE_ARRAY_ = [GVol.format.KML.DEFAULT_STYLE_]; + + return GVol.format.KML.DEFAULT_STYLE_ARRAY_; +}; + + +/** + * @const + * @type {Object.<string, GVol.style.IconAnchorUnits>} + * @private + */ +GVol.format.KML.ICON_ANCHOR_UNITS_MAP_ = { + 'fraction': GVol.style.IconAnchorUnits.FRACTION, + 'pixels': GVol.style.IconAnchorUnits.PIXELS, + 'insetPixels': GVol.style.IconAnchorUnits.PIXELS +}; + + +/** + * @param {GVol.style.Style|undefined} foundStyle Style. + * @param {string} name Name. + * @return {GVol.style.Style} style Style. + * @private + */ +GVol.format.KML.createNameStyleFunction_ = function(foundStyle, name) { + var textStyle = null; + var textOffset = [0, 0]; + var textAlign = 'start'; + if (foundStyle.getImage()) { + var imageSize = foundStyle.getImage().getImageSize(); + if (imageSize === null) { + imageSize = GVol.format.KML.DEFAULT_IMAGE_STYLE_SIZE_; + } + if (imageSize.length == 2) { + var imageScale = foundStyle.getImage().getScale(); + // Offset the label to be centered to the right of the icon, if there is + // one. + textOffset[0] = imageScale * imageSize[0] / 2; + textOffset[1] = -imageScale * imageSize[1] / 2; + textAlign = 'left'; + } + } + if (foundStyle.getText() !== null) { + // clone the text style, customizing it with name, alignments and offset. + // Note that kml does not support many text options that OpenLayers does (rotation, textBaseline). + var foundText = foundStyle.getText(); + textStyle = foundText.clone(); + textStyle.setFont(foundText.getFont() || GVol.format.KML.DEFAULT_TEXT_STYLE_.getFont()); + textStyle.setScale(foundText.getScale() || GVol.format.KML.DEFAULT_TEXT_STYLE_.getScale()); + textStyle.setFill(foundText.getFill() || GVol.format.KML.DEFAULT_TEXT_STYLE_.getFill()); + textStyle.setStroke(foundText.getStroke() || GVol.format.KML.DEFAULT_TEXT_STROKE_STYLE_); + } else { + textStyle = GVol.format.KML.DEFAULT_TEXT_STYLE_.clone(); + } + textStyle.setText(name); + textStyle.setOffsetX(textOffset[0]); + textStyle.setOffsetY(textOffset[1]); + textStyle.setTextAlign(textAlign); + + var nameStyle = new GVol.style.Style({ + text: textStyle + }); + return nameStyle; +}; + + +/** + * @param {Array.<GVol.style.Style>|undefined} style Style. + * @param {string} styleUrl Style URL. + * @param {Array.<GVol.style.Style>} defaultStyle Default style. + * @param {Object.<string, (Array.<GVol.style.Style>|string)>} sharedStyles Shared + * styles. + * @param {boGVolean|undefined} showPointNames true to show names for point + * placemarks. + * @return {GVol.FeatureStyleFunction} Feature style function. + * @private + */ +GVol.format.KML.createFeatureStyleFunction_ = function(style, styleUrl, + defaultStyle, sharedStyles, showPointNames) { + + return ( + /** + * @param {number} resGVolution ResGVolution. + * @return {Array.<GVol.style.Style>} Style. + * @this {GVol.Feature} + */ + function(resGVolution) { + var drawName = showPointNames; + /** @type {GVol.style.Style|undefined} */ + var nameStyle; + var name = ''; + if (drawName) { + if (this.getGeometry()) { + drawName = (this.getGeometry().getType() === + GVol.geom.GeometryType.POINT); + } + } + + if (drawName) { + name = /** @type {string} */ (this.get('name')); + drawName = drawName && name; + } + + if (style) { + if (drawName) { + nameStyle = GVol.format.KML.createNameStyleFunction_(style[0], + name); + return style.concat(nameStyle); + } + return style; + } + if (styleUrl) { + var foundStyle = GVol.format.KML.findStyle_(styleUrl, defaultStyle, + sharedStyles); + if (drawName) { + nameStyle = GVol.format.KML.createNameStyleFunction_(foundStyle[0], + name); + return foundStyle.concat(nameStyle); + } + return foundStyle; + } + if (drawName) { + nameStyle = GVol.format.KML.createNameStyleFunction_(defaultStyle[0], + name); + return defaultStyle.concat(nameStyle); + } + return defaultStyle; + }); +}; + + +/** + * @param {Array.<GVol.style.Style>|string|undefined} styleValue Style value. + * @param {Array.<GVol.style.Style>} defaultStyle Default style. + * @param {Object.<string, (Array.<GVol.style.Style>|string)>} sharedStyles + * Shared styles. + * @return {Array.<GVol.style.Style>} Style. + * @private + */ +GVol.format.KML.findStyle_ = function(styleValue, defaultStyle, sharedStyles) { + if (Array.isArray(styleValue)) { + return styleValue; + } else if (typeof styleValue === 'string') { + // KML files in the wild occasionally forget the leading `#` on styleUrls + // defined in the same document. Add a leading `#` if it enables to find + // a style. + if (!(styleValue in sharedStyles) && ('#' + styleValue in sharedStyles)) { + styleValue = '#' + styleValue; + } + return GVol.format.KML.findStyle_( + sharedStyles[styleValue], defaultStyle, sharedStyles); + } else { + return defaultStyle; + } +}; + + +/** + * @param {Node} node Node. + * @private + * @return {GVol.CGVolor|undefined} CGVolor. + */ +GVol.format.KML.readCGVolor_ = function(node) { + var s = GVol.xml.getAllTextContent(node, false); + // The KML specification states that cGVolors should not include a leading `#` + // but we tGVolerate them. + var m = /^\s*#?\s*([0-9A-Fa-f]{8})\s*$/.exec(s); + if (m) { + var hexCGVolor = m[1]; + return [ + parseInt(hexCGVolor.substr(6, 2), 16), + parseInt(hexCGVolor.substr(4, 2), 16), + parseInt(hexCGVolor.substr(2, 2), 16), + parseInt(hexCGVolor.substr(0, 2), 16) / 255 + ]; + + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @private + * @return {Array.<number>|undefined} Flat coordinates. + */ +GVol.format.KML.readFlatCoordinates_ = function(node) { + var s = GVol.xml.getAllTextContent(node, false); + var flatCoordinates = []; + // The KML specification states that coordinate tuples should not include + // spaces, but we tGVolerate them. + var re = + /^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*,\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s*,\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?))?\s*/i; + var m; + while ((m = re.exec(s))) { + var x = parseFloat(m[1]); + var y = parseFloat(m[2]); + var z = m[3] ? parseFloat(m[3]) : 0; + flatCoordinates.push(x, y, z); + s = s.substr(m[0].length); + } + if (s !== '') { + return undefined; + } + return flatCoordinates; +}; + + +/** + * @param {Node} node Node. + * @private + * @return {string} URI. + */ +GVol.format.KML.readURI_ = function(node) { + var s = GVol.xml.getAllTextContent(node, false).trim(); + if (node.baseURI && node.baseURI !== 'about:blank') { + var url = new URL(s, node.baseURI); + return url.href; + } else { + return s; + } +}; + + +/** + * @param {Node} node Node. + * @private + * @return {GVol.KMLVec2_} Vec2. + */ +GVol.format.KML.readVec2_ = function(node) { + var xunits = node.getAttribute('xunits'); + var yunits = node.getAttribute('yunits'); + var origin; + if (xunits !== 'insetPixels') { + if (yunits !== 'insetPixels') { + origin = GVol.style.IconOrigin.BOTTOM_LEFT; + } else { + origin = GVol.style.IconOrigin.TOP_LEFT; + } + } else { + if (yunits !== 'insetPixels') { + origin = GVol.style.IconOrigin.BOTTOM_RIGHT; + } else { + origin = GVol.style.IconOrigin.TOP_RIGHT; + } + } + return { + x: parseFloat(node.getAttribute('x')), + xunits: GVol.format.KML.ICON_ANCHOR_UNITS_MAP_[xunits], + y: parseFloat(node.getAttribute('y')), + yunits: GVol.format.KML.ICON_ANCHOR_UNITS_MAP_[yunits], + origin: origin + }; +}; + + +/** + * @param {Node} node Node. + * @private + * @return {number|undefined} Scale. + */ +GVol.format.KML.readScale_ = function(node) { + return GVol.format.XSD.readDecimal(node); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<GVol.style.Style>|string|undefined} StyleMap. + */ +GVol.format.KML.readStyleMapValue_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop(undefined, + GVol.format.KML.STYLE_MAP_PARSERS_, node, objectStack); +}; +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.IconStyleParser_ = function(node, objectStack) { + // FIXME refreshMode + // FIXME refreshInterval + // FIXME viewRefreshTime + // FIXME viewBoundScale + // FIXME viewFormat + // FIXME httpQuery + var object = GVol.xml.pushParseAndPop( + {}, GVol.format.KML.ICON_STYLE_PARSERS_, node, objectStack); + if (!object) { + return; + } + var styleObject = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var IconObject = 'Icon' in object ? object['Icon'] : {}; + var drawIcon = (!('Icon' in object) || Object.keys(IconObject).length > 0); + var src; + var href = /** @type {string|undefined} */ + (IconObject['href']); + if (href) { + src = href; + } else if (drawIcon) { + src = GVol.format.KML.DEFAULT_IMAGE_STYLE_SRC_; + } + var anchor, anchorXUnits, anchorYUnits; + var anchorOrigin = GVol.style.IconOrigin.BOTTOM_LEFT; + var hotSpot = /** @type {GVol.KMLVec2_|undefined} */ + (object['hotSpot']); + if (hotSpot) { + anchor = [hotSpot.x, hotSpot.y]; + anchorXUnits = hotSpot.xunits; + anchorYUnits = hotSpot.yunits; + anchorOrigin = hotSpot.origin; + } else if (src === GVol.format.KML.DEFAULT_IMAGE_STYLE_SRC_) { + anchor = GVol.format.KML.DEFAULT_IMAGE_STYLE_ANCHOR_; + anchorXUnits = GVol.format.KML.DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS_; + anchorYUnits = GVol.format.KML.DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS_; + } else if (/^http:\/\/maps\.(?:google|gstatic)\.com\//.test(src)) { + anchor = [0.5, 0]; + anchorXUnits = GVol.style.IconAnchorUnits.FRACTION; + anchorYUnits = GVol.style.IconAnchorUnits.FRACTION; + } + + var offset; + var x = /** @type {number|undefined} */ + (IconObject['x']); + var y = /** @type {number|undefined} */ + (IconObject['y']); + if (x !== undefined && y !== undefined) { + offset = [x, y]; + } + + var size; + var w = /** @type {number|undefined} */ + (IconObject['w']); + var h = /** @type {number|undefined} */ + (IconObject['h']); + if (w !== undefined && h !== undefined) { + size = [w, h]; + } + + var rotation; + var heading = /** @type {number} */ + (object['heading']); + if (heading !== undefined) { + rotation = GVol.math.toRadians(heading); + } + + var scale = /** @type {number|undefined} */ + (object['scale']); + + if (drawIcon) { + if (src == GVol.format.KML.DEFAULT_IMAGE_STYLE_SRC_) { + size = GVol.format.KML.DEFAULT_IMAGE_STYLE_SIZE_; + if (scale === undefined) { + scale = GVol.format.KML.DEFAULT_IMAGE_SCALE_MULTIPLIER_; + } + } + + var imageStyle = new GVol.style.Icon({ + anchor: anchor, + anchorOrigin: anchorOrigin, + anchorXUnits: anchorXUnits, + anchorYUnits: anchorYUnits, + crossOrigin: 'anonymous', // FIXME should this be configurable? + offset: offset, + offsetOrigin: GVol.style.IconOrigin.BOTTOM_LEFT, + rotation: rotation, + scale: scale, + size: size, + src: src + }); + styleObject['imageStyle'] = imageStyle; + } else { + // handle the case when we explicitly want to draw no icon. + styleObject['imageStyle'] = GVol.format.KML.DEFAULT_NO_IMAGE_STYLE_; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.LabelStyleParser_ = function(node, objectStack) { + // FIXME cGVolorMode + var object = GVol.xml.pushParseAndPop( + {}, GVol.format.KML.LABEL_STYLE_PARSERS_, node, objectStack); + if (!object) { + return; + } + var styleObject = objectStack[objectStack.length - 1]; + var textStyle = new GVol.style.Text({ + fill: new GVol.style.Fill({ + cGVolor: /** @type {GVol.CGVolor} */ + ('cGVolor' in object ? object['cGVolor'] : GVol.format.KML.DEFAULT_COLOR_) + }), + scale: /** @type {number|undefined} */ + (object['scale']) + }); + styleObject['textStyle'] = textStyle; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.LineStyleParser_ = function(node, objectStack) { + // FIXME cGVolorMode + // FIXME gx:outerCGVolor + // FIXME gx:outerWidth + // FIXME gx:physicalWidth + // FIXME gx:labelVisibility + var object = GVol.xml.pushParseAndPop( + {}, GVol.format.KML.LINE_STYLE_PARSERS_, node, objectStack); + if (!object) { + return; + } + var styleObject = objectStack[objectStack.length - 1]; + var strokeStyle = new GVol.style.Stroke({ + cGVolor: /** @type {GVol.CGVolor} */ + ('cGVolor' in object ? object['cGVolor'] : GVol.format.KML.DEFAULT_COLOR_), + width: /** @type {number} */ ('width' in object ? object['width'] : 1) + }); + styleObject['strokeStyle'] = strokeStyle; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.PGVolyStyleParser_ = function(node, objectStack) { + // FIXME cGVolorMode + var object = GVol.xml.pushParseAndPop( + {}, GVol.format.KML.POLY_STYLE_PARSERS_, node, objectStack); + if (!object) { + return; + } + var styleObject = objectStack[objectStack.length - 1]; + var fillStyle = new GVol.style.Fill({ + cGVolor: /** @type {GVol.CGVolor} */ + ('cGVolor' in object ? object['cGVolor'] : GVol.format.KML.DEFAULT_COLOR_) + }); + styleObject['fillStyle'] = fillStyle; + var fill = /** @type {boGVolean|undefined} */ (object['fill']); + if (fill !== undefined) { + styleObject['fill'] = fill; + } + var outline = + /** @type {boGVolean|undefined} */ (object['outline']); + if (outline !== undefined) { + styleObject['outline'] = outline; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<number>} LinearRing flat coordinates. + */ +GVol.format.KML.readFlatLinearRing_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop(null, + GVol.format.KML.FLAT_LINEAR_RING_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.gxCoordParser_ = function(node, objectStack) { + var gxTrackObject = /** @type {GVol.KMLGxTrackObject_} */ + (objectStack[objectStack.length - 1]); + var flatCoordinates = gxTrackObject.flatCoordinates; + var s = GVol.xml.getAllTextContent(node, false); + var re = + /^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*$/i; + var m = re.exec(s); + if (m) { + var x = parseFloat(m[1]); + var y = parseFloat(m[2]); + var z = parseFloat(m[3]); + flatCoordinates.push(x, y, z, 0); + } else { + flatCoordinates.push(0, 0, 0, 0); + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.MultiLineString|undefined} MultiLineString. + */ +GVol.format.KML.readGxMultiTrack_ = function(node, objectStack) { + var lineStrings = GVol.xml.pushParseAndPop([], + GVol.format.KML.GX_MULTITRACK_GEOMETRY_PARSERS_, node, objectStack); + if (!lineStrings) { + return undefined; + } + var multiLineString = new GVol.geom.MultiLineString(null); + multiLineString.setLineStrings(lineStrings); + return multiLineString; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.LineString|undefined} LineString. + */ +GVol.format.KML.readGxTrack_ = function(node, objectStack) { + var gxTrackObject = GVol.xml.pushParseAndPop( + /** @type {GVol.KMLGxTrackObject_} */ ({ + flatCoordinates: [], + whens: [] + }), GVol.format.KML.GX_TRACK_PARSERS_, node, objectStack); + if (!gxTrackObject) { + return undefined; + } + var flatCoordinates = gxTrackObject.flatCoordinates; + var whens = gxTrackObject.whens; + var i, ii; + for (i = 0, ii = Math.min(flatCoordinates.length, whens.length); i < ii; + ++i) { + flatCoordinates[4 * i + 3] = whens[i]; + } + var lineString = new GVol.geom.LineString(null); + lineString.setFlatCoordinates(GVol.geom.GeometryLayout.XYZM, flatCoordinates); + return lineString; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object} Icon object. + */ +GVol.format.KML.readIcon_ = function(node, objectStack) { + var iconObject = GVol.xml.pushParseAndPop( + {}, GVol.format.KML.ICON_PARSERS_, node, objectStack); + if (iconObject) { + return iconObject; + } else { + return null; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<number>} Flat coordinates. + */ +GVol.format.KML.readFlatCoordinatesFromNode_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop(null, + GVol.format.KML.GEOMETRY_FLAT_COORDINATES_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.LineString|undefined} LineString. + */ +GVol.format.KML.readLineString_ = function(node, objectStack) { + var properties = GVol.xml.pushParseAndPop({}, + GVol.format.KML.EXTRUDE_AND_ALTITUDE_MODE_PARSERS_, node, + objectStack); + var flatCoordinates = + GVol.format.KML.readFlatCoordinatesFromNode_(node, objectStack); + if (flatCoordinates) { + var lineString = new GVol.geom.LineString(null); + lineString.setFlatCoordinates(GVol.geom.GeometryLayout.XYZ, flatCoordinates); + lineString.setProperties(properties); + return lineString; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.PGVolygon|undefined} PGVolygon. + */ +GVol.format.KML.readLinearRing_ = function(node, objectStack) { + var properties = GVol.xml.pushParseAndPop({}, + GVol.format.KML.EXTRUDE_AND_ALTITUDE_MODE_PARSERS_, node, + objectStack); + var flatCoordinates = + GVol.format.KML.readFlatCoordinatesFromNode_(node, objectStack); + if (flatCoordinates) { + var pGVolygon = new GVol.geom.PGVolygon(null); + pGVolygon.setFlatCoordinates(GVol.geom.GeometryLayout.XYZ, flatCoordinates, + [flatCoordinates.length]); + pGVolygon.setProperties(properties); + return pGVolygon; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.Geometry} Geometry. + */ +GVol.format.KML.readMultiGeometry_ = function(node, objectStack) { + var geometries = GVol.xml.pushParseAndPop([], + GVol.format.KML.MULTI_GEOMETRY_PARSERS_, node, objectStack); + if (!geometries) { + return null; + } + if (geometries.length === 0) { + return new GVol.geom.GeometryCGVollection(geometries); + } + /** @type {GVol.geom.Geometry} */ + var multiGeometry; + var homogeneous = true; + var type = geometries[0].getType(); + var geometry, i, ii; + for (i = 1, ii = geometries.length; i < ii; ++i) { + geometry = geometries[i]; + if (geometry.getType() != type) { + homogeneous = false; + break; + } + } + if (homogeneous) { + var layout; + var flatCoordinates; + if (type == GVol.geom.GeometryType.POINT) { + var point = geometries[0]; + layout = point.getLayout(); + flatCoordinates = point.getFlatCoordinates(); + for (i = 1, ii = geometries.length; i < ii; ++i) { + geometry = geometries[i]; + GVol.array.extend(flatCoordinates, geometry.getFlatCoordinates()); + } + multiGeometry = new GVol.geom.MultiPoint(null); + multiGeometry.setFlatCoordinates(layout, flatCoordinates); + GVol.format.KML.setCommonGeometryProperties_(multiGeometry, geometries); + } else if (type == GVol.geom.GeometryType.LINE_STRING) { + multiGeometry = new GVol.geom.MultiLineString(null); + multiGeometry.setLineStrings(geometries); + GVol.format.KML.setCommonGeometryProperties_(multiGeometry, geometries); + } else if (type == GVol.geom.GeometryType.POLYGON) { + multiGeometry = new GVol.geom.MultiPGVolygon(null); + multiGeometry.setPGVolygons(geometries); + GVol.format.KML.setCommonGeometryProperties_(multiGeometry, geometries); + } else if (type == GVol.geom.GeometryType.GEOMETRY_COLLECTION) { + multiGeometry = new GVol.geom.GeometryCGVollection(geometries); + } else { + GVol.asserts.assert(false, 37); // Unknown geometry type found + } + } else { + multiGeometry = new GVol.geom.GeometryCGVollection(geometries); + } + return /** @type {GVol.geom.Geometry} */ (multiGeometry); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.Point|undefined} Point. + */ +GVol.format.KML.readPoint_ = function(node, objectStack) { + var properties = GVol.xml.pushParseAndPop({}, + GVol.format.KML.EXTRUDE_AND_ALTITUDE_MODE_PARSERS_, node, + objectStack); + var flatCoordinates = + GVol.format.KML.readFlatCoordinatesFromNode_(node, objectStack); + if (flatCoordinates) { + var point = new GVol.geom.Point(null); + point.setFlatCoordinates(GVol.geom.GeometryLayout.XYZ, flatCoordinates); + point.setProperties(properties); + return point; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.geom.PGVolygon|undefined} PGVolygon. + */ +GVol.format.KML.readPGVolygon_ = function(node, objectStack) { + var properties = GVol.xml.pushParseAndPop(/** @type {Object<string,*>} */ ({}), + GVol.format.KML.EXTRUDE_AND_ALTITUDE_MODE_PARSERS_, node, + objectStack); + var flatLinearRings = GVol.xml.pushParseAndPop([null], + GVol.format.KML.FLAT_LINEAR_RINGS_PARSERS_, node, objectStack); + if (flatLinearRings && flatLinearRings[0]) { + var pGVolygon = new GVol.geom.PGVolygon(null); + var flatCoordinates = flatLinearRings[0]; + var ends = [flatCoordinates.length]; + var i, ii; + for (i = 1, ii = flatLinearRings.length; i < ii; ++i) { + GVol.array.extend(flatCoordinates, flatLinearRings[i]); + ends.push(flatCoordinates.length); + } + pGVolygon.setFlatCoordinates( + GVol.geom.GeometryLayout.XYZ, flatCoordinates, ends); + pGVolygon.setProperties(properties); + return pGVolygon; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<GVol.style.Style>} Style. + */ +GVol.format.KML.readStyle_ = function(node, objectStack) { + var styleObject = GVol.xml.pushParseAndPop( + {}, GVol.format.KML.STYLE_PARSERS_, node, objectStack); + if (!styleObject) { + return null; + } + var fillStyle = /** @type {GVol.style.Fill} */ + ('fillStyle' in styleObject ? + styleObject['fillStyle'] : GVol.format.KML.DEFAULT_FILL_STYLE_); + var fill = /** @type {boGVolean|undefined} */ (styleObject['fill']); + if (fill !== undefined && !fill) { + fillStyle = null; + } + var imageStyle = /** @type {GVol.style.Image} */ + ('imageStyle' in styleObject ? + styleObject['imageStyle'] : GVol.format.KML.DEFAULT_IMAGE_STYLE_); + if (imageStyle == GVol.format.KML.DEFAULT_NO_IMAGE_STYLE_) { + imageStyle = undefined; + } + var textStyle = /** @type {GVol.style.Text} */ + ('textStyle' in styleObject ? + styleObject['textStyle'] : GVol.format.KML.DEFAULT_TEXT_STYLE_); + var strokeStyle = /** @type {GVol.style.Stroke} */ + ('strokeStyle' in styleObject ? + styleObject['strokeStyle'] : GVol.format.KML.DEFAULT_STROKE_STYLE_); + var outline = /** @type {boGVolean|undefined} */ + (styleObject['outline']); + if (outline !== undefined && !outline) { + strokeStyle = null; + } + return [new GVol.style.Style({ + fill: fillStyle, + image: imageStyle, + stroke: strokeStyle, + text: textStyle, + zIndex: undefined // FIXME + })]; +}; + + +/** + * Reads an array of geometries and creates arrays for common geometry + * properties. Then sets them to the multi geometry. + * @param {GVol.geom.MultiPoint|GVol.geom.MultiLineString|GVol.geom.MultiPGVolygon} + * multiGeometry A multi-geometry. + * @param {Array.<GVol.geom.Geometry>} geometries List of geometries. + * @private + */ +GVol.format.KML.setCommonGeometryProperties_ = function(multiGeometry, + geometries) { + var ii = geometries.length; + var extrudes = new Array(geometries.length); + var tessellates = new Array(geometries.length); + var altitudeModes = new Array(geometries.length); + var geometry, i, hasExtrude, hasTessellate, hasAltitudeMode; + hasExtrude = hasTessellate = hasAltitudeMode = false; + for (i = 0; i < ii; ++i) { + geometry = geometries[i]; + extrudes[i] = geometry.get('extrude'); + tessellates[i] = geometry.get('tessellate'); + altitudeModes[i] = geometry.get('altitudeMode'); + hasExtrude = hasExtrude || extrudes[i] !== undefined; + hasTessellate = hasTessellate || tessellates[i] !== undefined; + hasAltitudeMode = hasAltitudeMode || altitudeModes[i]; + } + if (hasExtrude) { + multiGeometry.set('extrude', extrudes); + } + if (hasTessellate) { + multiGeometry.set('tessellate', tessellates); + } + if (hasAltitudeMode) { + multiGeometry.set('altitudeMode', altitudeModes); + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.DataParser_ = function(node, objectStack) { + var name = node.getAttribute('name'); + GVol.xml.parseNode(GVol.format.KML.DATA_PARSERS_, node, objectStack); + var featureObject = /** @type {Object} */ (objectStack[objectStack.length - 1]); + if (name !== null) { + featureObject[name] = featureObject.value; + } else if (featureObject.displayName !== null) { + featureObject[featureObject.displayName] = featureObject.value; + } + delete featureObject['value']; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.ExtendedDataParser_ = function(node, objectStack) { + GVol.xml.parseNode(GVol.format.KML.EXTENDED_DATA_PARSERS_, node, objectStack); +}; + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.RegionParser_ = function(node, objectStack) { + GVol.xml.parseNode(GVol.format.KML.REGION_PARSERS_, node, objectStack); +}; + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.PairDataParser_ = function(node, objectStack) { + var pairObject = GVol.xml.pushParseAndPop( + {}, GVol.format.KML.PAIR_PARSERS_, node, objectStack); + if (!pairObject) { + return; + } + var key = /** @type {string|undefined} */ + (pairObject['key']); + if (key && key == 'normal') { + var styleUrl = /** @type {string|undefined} */ + (pairObject['styleUrl']); + if (styleUrl) { + objectStack[objectStack.length - 1] = styleUrl; + } + var Style = /** @type {GVol.style.Style} */ + (pairObject['Style']); + if (Style) { + objectStack[objectStack.length - 1] = Style; + } + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.PlacemarkStyleMapParser_ = function(node, objectStack) { + var styleMapValue = GVol.format.KML.readStyleMapValue_(node, objectStack); + if (!styleMapValue) { + return; + } + var placemarkObject = objectStack[objectStack.length - 1]; + if (Array.isArray(styleMapValue)) { + placemarkObject['Style'] = styleMapValue; + } else if (typeof styleMapValue === 'string') { + placemarkObject['styleUrl'] = styleMapValue; + } else { + GVol.asserts.assert(false, 38); // `styleMapValue` has an unknown type + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.SchemaDataParser_ = function(node, objectStack) { + GVol.xml.parseNode(GVol.format.KML.SCHEMA_DATA_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.SimpleDataParser_ = function(node, objectStack) { + var name = node.getAttribute('name'); + if (name !== null) { + var data = GVol.format.XSD.readString(node); + var featureObject = + /** @type {Object} */ (objectStack[objectStack.length - 1]); + featureObject[name] = data; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.LatLonAltBoxParser_ = function(node, objectStack) { + var object = GVol.xml.pushParseAndPop({}, GVol.format.KML.LAT_LON_ALT_BOX_PARSERS_, node, objectStack); + if (!object) { + return; + } + var regionObject = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var extent = [ + parseFloat(object['west']), + parseFloat(object['south']), + parseFloat(object['east']), + parseFloat(object['north']) + ]; + regionObject['extent'] = extent; + regionObject['altitudeMode'] = object['altitudeMode']; + regionObject['minAltitude'] = parseFloat(object['minAltitude']); + regionObject['maxAltitude'] = parseFloat(object['maxAltitude']); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.LodParser_ = function(node, objectStack) { + var object = GVol.xml.pushParseAndPop({}, GVol.format.KML.LOD_PARSERS_, node, objectStack); + if (!object) { + return; + } + var lodObject = /** @type {Object} */ (objectStack[objectStack.length - 1]); + lodObject['minLodPixels'] = parseFloat(object['minLodPixels']); + lodObject['maxLodPixels'] = parseFloat(object['maxLodPixels']); + lodObject['minFadeExtent'] = parseFloat(object['minFadeExtent']); + lodObject['maxFadeExtent'] = parseFloat(object['maxFadeExtent']); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.innerBoundaryIsParser_ = function(node, objectStack) { + /** @type {Array.<number>|undefined} */ + var flatLinearRing = GVol.xml.pushParseAndPop(undefined, + GVol.format.KML.INNER_BOUNDARY_IS_PARSERS_, node, objectStack); + if (flatLinearRing) { + var flatLinearRings = /** @type {Array.<Array.<number>>} */ + (objectStack[objectStack.length - 1]); + flatLinearRings.push(flatLinearRing); + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.outerBoundaryIsParser_ = function(node, objectStack) { + /** @type {Array.<number>|undefined} */ + var flatLinearRing = GVol.xml.pushParseAndPop(undefined, + GVol.format.KML.OUTER_BOUNDARY_IS_PARSERS_, node, objectStack); + if (flatLinearRing) { + var flatLinearRings = /** @type {Array.<Array.<number>>} */ + (objectStack[objectStack.length - 1]); + flatLinearRings[0] = flatLinearRing; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.LinkParser_ = function(node, objectStack) { + GVol.xml.parseNode(GVol.format.KML.LINK_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.whenParser_ = function(node, objectStack) { + var gxTrackObject = /** @type {GVol.KMLGxTrackObject_} */ + (objectStack[objectStack.length - 1]); + var whens = gxTrackObject.whens; + var s = GVol.xml.getAllTextContent(node, false); + var when = Date.parse(s); + whens.push(isNaN(when) ? 0 : when); +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.DATA_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'displayName': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'value': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.EXTENDED_DATA_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'Data': GVol.format.KML.DataParser_, + 'SchemaData': GVol.format.KML.SchemaDataParser_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.REGION_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'LatLonAltBox': GVol.format.KML.LatLonAltBoxParser_, + 'Lod': GVol.format.KML.LodParser_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.LAT_LON_ALT_BOX_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'altitudeMode': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'minAltitude': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'maxAltitude': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'north': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'south': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'east': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'west': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.LOD_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'minLodPixels': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'maxLodPixels': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'minFadeExtent': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'maxFadeExtent': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.EXTRUDE_AND_ALTITUDE_MODE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'extrude': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readBoGVolean), + 'tessellate': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readBoGVolean), + 'altitudeMode': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.FLAT_LINEAR_RING_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'coordinates': GVol.xml.makeReplacer(GVol.format.KML.readFlatCoordinates_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.FLAT_LINEAR_RINGS_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'innerBoundaryIs': GVol.format.KML.innerBoundaryIsParser_, + 'outerBoundaryIs': GVol.format.KML.outerBoundaryIsParser_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.GX_TRACK_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'when': GVol.format.KML.whenParser_ + }, GVol.xml.makeStructureNS( + GVol.format.KML.GX_NAMESPACE_URIS_, { + 'coord': GVol.format.KML.gxCoordParser_ + })); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.GEOMETRY_FLAT_COORDINATES_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'coordinates': GVol.xml.makeReplacer(GVol.format.KML.readFlatCoordinates_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.ICON_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'href': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readURI_) + }, GVol.xml.makeStructureNS( + GVol.format.KML.GX_NAMESPACE_URIS_, { + 'x': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'y': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'w': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'h': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal) + })); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.ICON_STYLE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'Icon': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readIcon_), + 'heading': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal), + 'hotSpot': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readVec2_), + 'scale': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readScale_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.INNER_BOUNDARY_IS_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'LinearRing': GVol.xml.makeReplacer(GVol.format.KML.readFlatLinearRing_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.LABEL_STYLE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'cGVolor': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readCGVolor_), + 'scale': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readScale_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.LINE_STYLE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'cGVolor': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readCGVolor_), + 'width': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readDecimal) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.MULTI_GEOMETRY_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'LineString': GVol.xml.makeArrayPusher(GVol.format.KML.readLineString_), + 'LinearRing': GVol.xml.makeArrayPusher(GVol.format.KML.readLinearRing_), + 'MultiGeometry': GVol.xml.makeArrayPusher(GVol.format.KML.readMultiGeometry_), + 'Point': GVol.xml.makeArrayPusher(GVol.format.KML.readPoint_), + 'PGVolygon': GVol.xml.makeArrayPusher(GVol.format.KML.readPGVolygon_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.GX_MULTITRACK_GEOMETRY_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.GX_NAMESPACE_URIS_, { + 'Track': GVol.xml.makeArrayPusher(GVol.format.KML.readGxTrack_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.NETWORK_LINK_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'ExtendedData': GVol.format.KML.ExtendedDataParser_, + 'Region': GVol.format.KML.RegionParser_, + 'Link': GVol.format.KML.LinkParser_, + 'address': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'description': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'name': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'open': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readBoGVolean), + 'phoneNumber': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'visibility': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readBoGVolean) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.LINK_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'href': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readURI_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.OUTER_BOUNDARY_IS_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'LinearRing': GVol.xml.makeReplacer(GVol.format.KML.readFlatLinearRing_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.PAIR_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'Style': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readStyle_), + 'key': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'styleUrl': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readURI_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.PLACEMARK_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'ExtendedData': GVol.format.KML.ExtendedDataParser_, + 'Region': GVol.format.KML.RegionParser_, + 'MultiGeometry': GVol.xml.makeObjectPropertySetter( + GVol.format.KML.readMultiGeometry_, 'geometry'), + 'LineString': GVol.xml.makeObjectPropertySetter( + GVol.format.KML.readLineString_, 'geometry'), + 'LinearRing': GVol.xml.makeObjectPropertySetter( + GVol.format.KML.readLinearRing_, 'geometry'), + 'Point': GVol.xml.makeObjectPropertySetter( + GVol.format.KML.readPoint_, 'geometry'), + 'PGVolygon': GVol.xml.makeObjectPropertySetter( + GVol.format.KML.readPGVolygon_, 'geometry'), + 'Style': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readStyle_), + 'StyleMap': GVol.format.KML.PlacemarkStyleMapParser_, + 'address': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'description': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'name': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'open': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readBoGVolean), + 'phoneNumber': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'styleUrl': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readURI_), + 'visibility': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readBoGVolean) + }, GVol.xml.makeStructureNS( + GVol.format.KML.GX_NAMESPACE_URIS_, { + 'MultiTrack': GVol.xml.makeObjectPropertySetter( + GVol.format.KML.readGxMultiTrack_, 'geometry'), + 'Track': GVol.xml.makeObjectPropertySetter( + GVol.format.KML.readGxTrack_, 'geometry') + } + )); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.POLY_STYLE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'cGVolor': GVol.xml.makeObjectPropertySetter(GVol.format.KML.readCGVolor_), + 'fill': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readBoGVolean), + 'outline': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readBoGVolean) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.SCHEMA_DATA_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'SimpleData': GVol.format.KML.SimpleDataParser_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.STYLE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'IconStyle': GVol.format.KML.IconStyleParser_, + 'LabelStyle': GVol.format.KML.LabelStyleParser_, + 'LineStyle': GVol.format.KML.LineStyleParser_, + 'PGVolyStyle': GVol.format.KML.PGVolyStyleParser_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.KML.STYLE_MAP_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'Pair': GVol.format.KML.PairDataParser_ + }); + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<GVol.Feature>|undefined} Features. + */ +GVol.format.KML.prototype.readDocumentOrFGVolder_ = function(node, objectStack) { + // FIXME use scope somehow + var parsersNS = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'Document': GVol.xml.makeArrayExtender(this.readDocumentOrFGVolder_, this), + 'FGVolder': GVol.xml.makeArrayExtender(this.readDocumentOrFGVolder_, this), + 'Placemark': GVol.xml.makeArrayPusher(this.readPlacemark_, this), + 'Style': this.readSharedStyle_.bind(this), + 'StyleMap': this.readSharedStyleMap_.bind(this) + }); + /** @type {Array.<GVol.Feature>} */ + var features = GVol.xml.pushParseAndPop([], parsersNS, node, objectStack, this); + if (features) { + return features; + } else { + return undefined; + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {GVol.Feature|undefined} Feature. + */ +GVol.format.KML.prototype.readPlacemark_ = function(node, objectStack) { + var object = GVol.xml.pushParseAndPop({'geometry': null}, + GVol.format.KML.PLACEMARK_PARSERS_, node, objectStack); + if (!object) { + return undefined; + } + var feature = new GVol.Feature(); + var id = node.getAttribute('id'); + if (id !== null) { + feature.setId(id); + } + var options = /** @type {GVolx.format.ReadOptions} */ (objectStack[0]); + + var geometry = object['geometry']; + if (geometry) { + GVol.format.Feature.transformWithOptions(geometry, false, options); + } + feature.setGeometry(geometry); + delete object['geometry']; + + if (this.extractStyles_) { + var style = object['Style']; + var styleUrl = object['styleUrl']; + var styleFunction = GVol.format.KML.createFeatureStyleFunction_( + style, styleUrl, this.defaultStyle_, this.sharedStyles_, + this.showPointNames_); + feature.setStyle(styleFunction); + } + delete object['Style']; + // we do not remove the styleUrl property from the object, so it + // gets stored on feature when setProperties is called + + feature.setProperties(object); + + return feature; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.prototype.readSharedStyle_ = function(node, objectStack) { + var id = node.getAttribute('id'); + if (id !== null) { + var style = GVol.format.KML.readStyle_(node, objectStack); + if (style) { + var styleUri; + if (node.baseURI && node.baseURI !== 'about:blank') { + var url = new URL('#' + id, node.baseURI); + styleUri = url.href; + } else { + styleUri = '#' + id; + } + this.sharedStyles_[styleUri] = style; + } + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.prototype.readSharedStyleMap_ = function(node, objectStack) { + var id = node.getAttribute('id'); + if (id === null) { + return; + } + var styleMapValue = GVol.format.KML.readStyleMapValue_(node, objectStack); + if (!styleMapValue) { + return; + } + var styleUri; + if (node.baseURI && node.baseURI !== 'about:blank') { + var url = new URL('#' + id, node.baseURI); + styleUri = url.href; + } else { + styleUri = '#' + id; + } + this.sharedStyles_[styleUri] = styleMapValue; +}; + + +/** + * Read the first feature from a KML source. MultiGeometries are converted into + * GeometryCGVollections if they are a mix of geometry types, and into MultiPoint/ + * MultiLineString/MultiPGVolygon if they are all of the same type. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + * @api + */ +GVol.format.KML.prototype.readFeature; + + +/** + * @inheritDoc + */ +GVol.format.KML.prototype.readFeatureFromNode = function(node, opt_options) { + if (!GVol.array.includes(GVol.format.KML.NAMESPACE_URIS_, node.namespaceURI)) { + return null; + } + var feature = this.readPlacemark_( + node, [this.getReadOptions(node, opt_options)]); + if (feature) { + return feature; + } else { + return null; + } +}; + + +/** + * Read all features from a KML source. MultiGeometries are converted into + * GeometryCGVollections if they are a mix of geometry types, and into MultiPoint/ + * MultiLineString/MultiPGVolygon if they are all of the same type. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.KML.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.KML.prototype.readFeaturesFromNode = function(node, opt_options) { + if (!GVol.array.includes(GVol.format.KML.NAMESPACE_URIS_, node.namespaceURI)) { + return []; + } + var features; + var localName = node.localName; + if (localName == 'Document' || localName == 'FGVolder') { + features = this.readDocumentOrFGVolder_( + node, [this.getReadOptions(node, opt_options)]); + if (features) { + return features; + } else { + return []; + } + } else if (localName == 'Placemark') { + var feature = this.readPlacemark_( + node, [this.getReadOptions(node, opt_options)]); + if (feature) { + return [feature]; + } else { + return []; + } + } else if (localName == 'kml') { + features = []; + var n; + for (n = node.firstElementChild; n; n = n.nextElementSibling) { + var fs = this.readFeaturesFromNode(n, opt_options); + if (fs) { + GVol.array.extend(features, fs); + } + } + return features; + } else { + return []; + } +}; + + +/** + * Read the name of the KML. + * + * @param {Document|Node|string} source Souce. + * @return {string|undefined} Name. + * @api + */ +GVol.format.KML.prototype.readName = function(source) { + if (GVol.xml.isDocument(source)) { + return this.readNameFromDocument(/** @type {Document} */ (source)); + } else if (GVol.xml.isNode(source)) { + return this.readNameFromNode(/** @type {Node} */ (source)); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + return this.readNameFromDocument(doc); + } else { + return undefined; + } +}; + + +/** + * @param {Document} doc Document. + * @return {string|undefined} Name. + */ +GVol.format.KML.prototype.readNameFromDocument = function(doc) { + var n; + for (n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + var name = this.readNameFromNode(n); + if (name) { + return name; + } + } + } + return undefined; +}; + + +/** + * @param {Node} node Node. + * @return {string|undefined} Name. + */ +GVol.format.KML.prototype.readNameFromNode = function(node) { + var n; + for (n = node.firstElementChild; n; n = n.nextElementSibling) { + if (GVol.array.includes(GVol.format.KML.NAMESPACE_URIS_, n.namespaceURI) && + n.localName == 'name') { + return GVol.format.XSD.readString(n); + } + } + for (n = node.firstElementChild; n; n = n.nextElementSibling) { + var localName = n.localName; + if (GVol.array.includes(GVol.format.KML.NAMESPACE_URIS_, n.namespaceURI) && + (localName == 'Document' || + localName == 'FGVolder' || + localName == 'Placemark' || + localName == 'kml')) { + var name = this.readNameFromNode(n); + if (name) { + return name; + } + } + } + return undefined; +}; + + +/** + * Read the network links of the KML. + * + * @param {Document|Node|string} source Source. + * @return {Array.<Object>} Network links. + * @api + */ +GVol.format.KML.prototype.readNetworkLinks = function(source) { + var networkLinks = []; + if (GVol.xml.isDocument(source)) { + GVol.array.extend(networkLinks, this.readNetworkLinksFromDocument( + /** @type {Document} */ (source))); + } else if (GVol.xml.isNode(source)) { + GVol.array.extend(networkLinks, this.readNetworkLinksFromNode( + /** @type {Node} */ (source))); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + GVol.array.extend(networkLinks, this.readNetworkLinksFromDocument(doc)); + } + return networkLinks; +}; + + +/** + * @param {Document} doc Document. + * @return {Array.<Object>} Network links. + */ +GVol.format.KML.prototype.readNetworkLinksFromDocument = function(doc) { + var n, networkLinks = []; + for (n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + GVol.array.extend(networkLinks, this.readNetworkLinksFromNode(n)); + } + } + return networkLinks; +}; + + +/** + * @param {Node} node Node. + * @return {Array.<Object>} Network links. + */ +GVol.format.KML.prototype.readNetworkLinksFromNode = function(node) { + var n, networkLinks = []; + for (n = node.firstElementChild; n; n = n.nextElementSibling) { + if (GVol.array.includes(GVol.format.KML.NAMESPACE_URIS_, n.namespaceURI) && + n.localName == 'NetworkLink') { + var obj = GVol.xml.pushParseAndPop({}, GVol.format.KML.NETWORK_LINK_PARSERS_, + n, []); + networkLinks.push(obj); + } + } + for (n = node.firstElementChild; n; n = n.nextElementSibling) { + var localName = n.localName; + if (GVol.array.includes(GVol.format.KML.NAMESPACE_URIS_, n.namespaceURI) && + (localName == 'Document' || + localName == 'FGVolder' || + localName == 'kml')) { + GVol.array.extend(networkLinks, this.readNetworkLinksFromNode(n)); + } + } + return networkLinks; +}; + + +/** + * Read the regions of the KML. + * + * @param {Document|Node|string} source Source. + * @return {Array.<Object>} Regions. + * @api + */ +GVol.format.KML.prototype.readRegion = function(source) { + var regions = []; + if (GVol.xml.isDocument(source)) { + GVol.array.extend(regions, this.readRegionFromDocument( + /** @type {Document} */ (source))); + } else if (GVol.xml.isNode(source)) { + GVol.array.extend(regions, this.readRegionFromNode( + /** @type {Node} */ (source))); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + GVol.array.extend(regions, this.readRegionFromDocument(doc)); + } + return regions; +}; + + +/** + * @param {Document} doc Document. + * @return {Array.<Object>} Region. + */ +GVol.format.KML.prototype.readRegionFromDocument = function(doc) { + var n, regions = []; + for (n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + GVol.array.extend(regions, this.readRegionFromNode(n)); + } + } + return regions; +}; + + +/** + * @param {Node} node Node. + * @return {Array.<Object>} Region. + * @api + */ +GVol.format.KML.prototype.readRegionFromNode = function(node) { + var n, regions = []; + for (n = node.firstElementChild; n; n = n.nextElementSibling) { + if (GVol.array.includes(GVol.format.KML.NAMESPACE_URIS_, n.namespaceURI) && + n.localName == 'Region') { + var obj = GVol.xml.pushParseAndPop({}, GVol.format.KML.REGION_PARSERS_, + n, []); + regions.push(obj); + } + } + for (n = node.firstElementChild; n; n = n.nextElementSibling) { + var localName = n.localName; + if (GVol.array.includes(GVol.format.KML.NAMESPACE_URIS_, n.namespaceURI) && + (localName == 'Document' || + localName == 'FGVolder' || + localName == 'kml')) { + GVol.array.extend(regions, this.readRegionFromNode(n)); + } + } + return regions; +}; + + +/** + * Read the projection from a KML source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @return {GVol.proj.Projection} Projection. + * @api + */ +GVol.format.KML.prototype.readProjection; + + +/** + * @param {Node} node Node to append a TextNode with the cGVolor to. + * @param {GVol.CGVolor|string} cGVolor CGVolor. + * @private + */ +GVol.format.KML.writeCGVolorTextNode_ = function(node, cGVolor) { + var rgba = GVol.cGVolor.asArray(cGVolor); + var opacity = (rgba.length == 4) ? rgba[3] : 1; + var abgr = [opacity * 255, rgba[2], rgba[1], rgba[0]]; + var i; + for (i = 0; i < 4; ++i) { + var hex = parseInt(abgr[i], 10).toString(16); + abgr[i] = (hex.length == 1) ? '0' + hex : hex; + } + GVol.format.XSD.writeStringTextNode(node, abgr.join('')); +}; + + +/** + * @param {Node} node Node to append a TextNode with the coordinates to. + * @param {Array.<number>} coordinates Coordinates. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeCoordinatesTextNode_ = function(node, coordinates, objectStack) { + var context = objectStack[objectStack.length - 1]; + + var layout = context['layout']; + var stride = context['stride']; + + var dimension; + if (layout == GVol.geom.GeometryLayout.XY || + layout == GVol.geom.GeometryLayout.XYM) { + dimension = 2; + } else if (layout == GVol.geom.GeometryLayout.XYZ || + layout == GVol.geom.GeometryLayout.XYZM) { + dimension = 3; + } else { + GVol.asserts.assert(false, 34); // Invalid geometry layout + } + + var d, i; + var ii = coordinates.length; + var text = ''; + if (ii > 0) { + text += coordinates[0]; + for (d = 1; d < dimension; ++d) { + text += ',' + coordinates[d]; + } + for (i = stride; i < ii; i += stride) { + text += ' ' + coordinates[i]; + for (d = 1; d < dimension; ++d) { + text += ',' + coordinates[i + d]; + } + } + } + GVol.format.XSD.writeStringTextNode(node, text); +}; + + +/** + * @param {Node} node Node. + * @param {{name: *, value: *}} pair Name value pair. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeDataNode_ = function(node, pair, objectStack) { + node.setAttribute('name', pair.name); + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + var value = pair.value; + + if (typeof value == 'object') { + if (value !== null && value.displayName) { + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.EXTENDEDDATA_NODE_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, [value.displayName], objectStack, ['displayName']); + } + + if (value !== null && value.value) { + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.EXTENDEDDATA_NODE_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, [value.value], objectStack, ['value']); + } + } else { + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.EXTENDEDDATA_NODE_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, [value], objectStack, ['value']); + } +}; + + +/** + * @param {Node} node Node to append a TextNode with the name to. + * @param {string} name DisplayName. + * @private + */ +GVol.format.KML.writeDataNodeName_ = function(node, name) { + GVol.format.XSD.writeCDATASection(node, name); +}; + + +/** + * @param {Node} node Node to append a CDATA Section with the value to. + * @param {string} value Value. + * @private + */ +GVol.format.KML.writeDataNodeValue_ = function(node, value) { + GVol.format.XSD.writeStringTextNode(node, value); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<GVol.Feature>} features Features. + * @param {Array.<*>} objectStack Object stack. + * @this {GVol.format.KML} + * @private + */ +GVol.format.KML.writeDocument_ = function(node, features, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.DOCUMENT_SERIALIZERS_, + GVol.format.KML.DOCUMENT_NODE_FACTORY_, features, objectStack, undefined, + this); +}; + + +/** + * @param {Node} node Node. + * @param {{names: Array<string>, values: (Array<*>)}} namesAndValues Names and values. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeExtendedData_ = function(node, namesAndValues, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + var names = namesAndValues.names, values = namesAndValues.values; + var length = names.length; + + for (var i = 0; i < length; i++) { + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.EXTENDEDDATA_NODE_SERIALIZERS_, + GVol.format.KML.DATA_NODE_FACTORY_, [{name: names[i], value: values[i]}], objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {Object} icon Icon object. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeIcon_ = function(node, icon, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + var parentNode = objectStack[objectStack.length - 1].node; + var orderedKeys = GVol.format.KML.ICON_SEQUENCE_[parentNode.namespaceURI]; + var values = GVol.xml.makeSequence(icon, orderedKeys); + GVol.xml.pushSerializeAndPop(context, + GVol.format.KML.ICON_SERIALIZERS_, GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, + values, objectStack, orderedKeys); + orderedKeys = + GVol.format.KML.ICON_SEQUENCE_[GVol.format.KML.GX_NAMESPACE_URIS_[0]]; + values = GVol.xml.makeSequence(icon, orderedKeys); + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.ICON_SERIALIZERS_, + GVol.format.KML.GX_NODE_FACTORY_, values, objectStack, orderedKeys); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.style.Icon} style Icon style. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeIconStyle_ = function(node, style, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + var properties = {}; + var src = style.getSrc(); + var size = style.getSize(); + var iconImageSize = style.getImageSize(); + var iconProperties = { + 'href': src + }; + + if (size) { + iconProperties['w'] = size[0]; + iconProperties['h'] = size[1]; + var anchor = style.getAnchor(); // top-left + var origin = style.getOrigin(); // top-left + + if (origin && iconImageSize && origin[0] !== 0 && origin[1] !== size[1]) { + iconProperties['x'] = origin[0]; + iconProperties['y'] = iconImageSize[1] - (origin[1] + size[1]); + } + + if (anchor && (anchor[0] !== size[0] / 2 || anchor[1] !== size[1] / 2)) { + var /** @type {GVol.KMLVec2_} */ hotSpot = { + x: anchor[0], + xunits: GVol.style.IconAnchorUnits.PIXELS, + y: size[1] - anchor[1], + yunits: GVol.style.IconAnchorUnits.PIXELS + }; + properties['hotSpot'] = hotSpot; + } + } + + properties['Icon'] = iconProperties; + + var scale = style.getScale(); + if (scale !== 1) { + properties['scale'] = scale; + } + + var rotation = style.getRotation(); + if (rotation !== 0) { + properties['heading'] = rotation; // 0-360 + } + + var parentNode = objectStack[objectStack.length - 1].node; + var orderedKeys = GVol.format.KML.ICON_STYLE_SEQUENCE_[parentNode.namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.ICON_STYLE_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, values, objectStack, orderedKeys); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.style.Text} style style. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeLabelStyle_ = function(node, style, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + var properties = {}; + var fill = style.getFill(); + if (fill) { + properties['cGVolor'] = fill.getCGVolor(); + } + var scale = style.getScale(); + if (scale && scale !== 1) { + properties['scale'] = scale; + } + var parentNode = objectStack[objectStack.length - 1].node; + var orderedKeys = + GVol.format.KML.LABEL_STYLE_SEQUENCE_[parentNode.namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.LABEL_STYLE_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, values, objectStack, orderedKeys); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.style.Stroke} style style. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeLineStyle_ = function(node, style, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + var properties = { + 'cGVolor': style.getCGVolor(), + 'width': style.getWidth() + }; + var parentNode = objectStack[objectStack.length - 1].node; + var orderedKeys = GVol.format.KML.LINE_STYLE_SEQUENCE_[parentNode.namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.LINE_STYLE_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, values, objectStack, orderedKeys); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeMultiGeometry_ = function(node, geometry, objectStack) { + /** @type {GVol.XmlNodeStackItem} */ + var context = {node: node}; + var type = geometry.getType(); + /** @type {Array.<GVol.geom.Geometry>} */ + var geometries; + /** @type {function(*, Array.<*>, string=): (Node|undefined)} */ + var factory; + if (type == GVol.geom.GeometryType.GEOMETRY_COLLECTION) { + geometries = /** @type {GVol.geom.GeometryCGVollection} */ (geometry).getGeometries(); + factory = GVol.format.KML.GEOMETRY_NODE_FACTORY_; + } else if (type == GVol.geom.GeometryType.MULTI_POINT) { + geometries = /** @type {GVol.geom.MultiPoint} */ (geometry).getPoints(); + factory = GVol.format.KML.POINT_NODE_FACTORY_; + } else if (type == GVol.geom.GeometryType.MULTI_LINE_STRING) { + geometries = + (/** @type {GVol.geom.MultiLineString} */ (geometry)).getLineStrings(); + factory = GVol.format.KML.LINE_STRING_NODE_FACTORY_; + } else if (type == GVol.geom.GeometryType.MULTI_POLYGON) { + geometries = + (/** @type {GVol.geom.MultiPGVolygon} */ (geometry)).getPGVolygons(); + factory = GVol.format.KML.POLYGON_NODE_FACTORY_; + } else { + GVol.asserts.assert(false, 39); // Unknown geometry type + } + GVol.xml.pushSerializeAndPop(context, + GVol.format.KML.MULTI_GEOMETRY_SERIALIZERS_, factory, + geometries, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.LinearRing} linearRing Linear ring. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeBoundaryIs_ = function(node, linearRing, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + GVol.xml.pushSerializeAndPop(context, + GVol.format.KML.BOUNDARY_IS_SERIALIZERS_, + GVol.format.KML.LINEAR_RING_NODE_FACTORY_, [linearRing], objectStack); +}; + + +/** + * FIXME currently we do serialize arbitrary/custom feature properties + * (ExtendedData). + * @param {Node} node Node. + * @param {GVol.Feature} feature Feature. + * @param {Array.<*>} objectStack Object stack. + * @this {GVol.format.KML} + * @private + */ +GVol.format.KML.writePlacemark_ = function(node, feature, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + + // set id + if (feature.getId()) { + node.setAttribute('id', feature.getId()); + } + + // serialize properties (properties unknown to KML are not serialized) + var properties = feature.getProperties(); + + // don't export these to ExtendedData + var filter = {'address': 1, 'description': 1, 'name': 1, 'open': 1, + 'phoneNumber': 1, 'styleUrl': 1, 'visibility': 1}; + filter[feature.getGeometryName()] = 1; + var keys = Object.keys(properties || {}).sort().filter(function(v) { + return !filter[v]; + }); + + if (keys.length > 0) { + var sequence = GVol.xml.makeSequence(properties, keys); + var namesAndValues = {names: keys, values: sequence}; + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.PLACEMARK_SERIALIZERS_, + GVol.format.KML.EXTENDEDDATA_NODE_FACTORY_, [namesAndValues], objectStack); + } + + var styleFunction = feature.getStyleFunction(); + if (styleFunction) { + // FIXME the styles returned by the style function are supposed to be + // resGVolution-independent here + var styles = styleFunction.call(feature, 0); + if (styles) { + var style = Array.isArray(styles) ? styles[0] : styles; + if (this.writeStyles_) { + properties['Style'] = style; + } + var textStyle = style.getText(); + if (textStyle) { + properties['name'] = textStyle.getText(); + } + } + } + var parentNode = objectStack[objectStack.length - 1].node; + var orderedKeys = GVol.format.KML.PLACEMARK_SEQUENCE_[parentNode.namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.PLACEMARK_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, values, objectStack, orderedKeys); + + // serialize geometry + var options = /** @type {GVolx.format.WriteOptions} */ (objectStack[0]); + var geometry = feature.getGeometry(); + if (geometry) { + geometry = + GVol.format.Feature.transformWithOptions(geometry, true, options); + } + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.PLACEMARK_SERIALIZERS_, + GVol.format.KML.GEOMETRY_NODE_FACTORY_, [geometry], objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.SimpleGeometry} geometry Geometry. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writePrimitiveGeometry_ = function(node, geometry, objectStack) { + var flatCoordinates = geometry.getFlatCoordinates(); + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + context['layout'] = geometry.getLayout(); + context['stride'] = geometry.getStride(); + + // serialize properties (properties unknown to KML are not serialized) + var properties = geometry.getProperties(); + properties.coordinates = flatCoordinates; + + var parentNode = objectStack[objectStack.length - 1].node; + var orderedKeys = GVol.format.KML.PRIMITIVE_GEOMETRY_SEQUENCE_[parentNode.namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.PRIMITIVE_GEOMETRY_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, values, objectStack, orderedKeys); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.geom.PGVolygon} pGVolygon PGVolygon. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writePGVolygon_ = function(node, pGVolygon, objectStack) { + var linearRings = pGVolygon.getLinearRings(); + var outerRing = linearRings.shift(); + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + // inner rings + GVol.xml.pushSerializeAndPop(context, + GVol.format.KML.POLYGON_SERIALIZERS_, + GVol.format.KML.INNER_BOUNDARY_NODE_FACTORY_, + linearRings, objectStack); + // outer ring + GVol.xml.pushSerializeAndPop(context, + GVol.format.KML.POLYGON_SERIALIZERS_, + GVol.format.KML.OUTER_BOUNDARY_NODE_FACTORY_, + [outerRing], objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.style.Fill} style Style. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writePGVolyStyle_ = function(node, style, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.POLY_STYLE_SERIALIZERS_, + GVol.format.KML.COLOR_NODE_FACTORY_, [style.getCGVolor()], objectStack); +}; + + +/** + * @param {Node} node Node to append a TextNode with the scale to. + * @param {number|undefined} scale Scale. + * @private + */ +GVol.format.KML.writeScaleTextNode_ = function(node, scale) { + // the Math is to remove any excess decimals created by float arithmetic + GVol.format.XSD.writeDecimalTextNode(node, + Math.round(scale * 1e6) / 1e6); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.style.Style} style Style. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.KML.writeStyle_ = function(node, style, objectStack) { + var /** @type {GVol.XmlNodeStackItem} */ context = {node: node}; + var properties = {}; + var fillStyle = style.getFill(); + var strokeStyle = style.getStroke(); + var imageStyle = style.getImage(); + var textStyle = style.getText(); + if (imageStyle instanceof GVol.style.Icon) { + properties['IconStyle'] = imageStyle; + } + if (textStyle) { + properties['LabelStyle'] = textStyle; + } + if (strokeStyle) { + properties['LineStyle'] = strokeStyle; + } + if (fillStyle) { + properties['PGVolyStyle'] = fillStyle; + } + var parentNode = objectStack[objectStack.length - 1].node; + var orderedKeys = GVol.format.KML.STYLE_SEQUENCE_[parentNode.namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.STYLE_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, values, objectStack, orderedKeys); +}; + + +/** + * @param {Node} node Node to append a TextNode with the Vec2 to. + * @param {GVol.KMLVec2_} vec2 Vec2. + * @private + */ +GVol.format.KML.writeVec2_ = function(node, vec2) { + node.setAttribute('x', vec2.x); + node.setAttribute('y', vec2.y); + node.setAttribute('xunits', vec2.xunits); + node.setAttribute('yunits', vec2.yunits); +}; + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.KML.KML_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, [ + 'Document', 'Placemark' + ]); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.KML_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'Document': GVol.xml.makeChildAppender(GVol.format.KML.writeDocument_), + 'Placemark': GVol.xml.makeChildAppender(GVol.format.KML.writePlacemark_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.DOCUMENT_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'Placemark': GVol.xml.makeChildAppender(GVol.format.KML.writePlacemark_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.EXTENDEDDATA_NODE_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'Data': GVol.xml.makeChildAppender(GVol.format.KML.writeDataNode_), + 'value': GVol.xml.makeChildAppender(GVol.format.KML.writeDataNodeValue_), + 'displayName': GVol.xml.makeChildAppender(GVol.format.KML.writeDataNodeName_) + }); + + +/** + * @const + * @type {Object.<string, string>} + * @private + */ +GVol.format.KML.GEOMETRY_TYPE_TO_NODENAME_ = { + 'Point': 'Point', + 'LineString': 'LineString', + 'LinearRing': 'LinearRing', + 'PGVolygon': 'PGVolygon', + 'MultiPoint': 'MultiGeometry', + 'MultiLineString': 'MultiGeometry', + 'MultiPGVolygon': 'MultiGeometry', + 'GeometryCGVollection': 'MultiGeometry' +}; + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.KML.ICON_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, [ + 'href' + ], + GVol.xml.makeStructureNS(GVol.format.KML.GX_NAMESPACE_URIS_, [ + 'x', 'y', 'w', 'h' + ])); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.ICON_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'href': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode) + }, GVol.xml.makeStructureNS( + GVol.format.KML.GX_NAMESPACE_URIS_, { + 'x': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode), + 'y': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode), + 'w': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode), + 'h': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode) + })); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.KML.ICON_STYLE_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, [ + 'scale', 'heading', 'Icon', 'hotSpot' + ]); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.ICON_STYLE_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'Icon': GVol.xml.makeChildAppender(GVol.format.KML.writeIcon_), + 'heading': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode), + 'hotSpot': GVol.xml.makeChildAppender(GVol.format.KML.writeVec2_), + 'scale': GVol.xml.makeChildAppender(GVol.format.KML.writeScaleTextNode_) + }); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.KML.LABEL_STYLE_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, [ + 'cGVolor', 'scale' + ]); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.LABEL_STYLE_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'cGVolor': GVol.xml.makeChildAppender(GVol.format.KML.writeCGVolorTextNode_), + 'scale': GVol.xml.makeChildAppender(GVol.format.KML.writeScaleTextNode_) + }); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.KML.LINE_STYLE_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, [ + 'cGVolor', 'width' + ]); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.LINE_STYLE_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'cGVolor': GVol.xml.makeChildAppender(GVol.format.KML.writeCGVolorTextNode_), + 'width': GVol.xml.makeChildAppender(GVol.format.XSD.writeDecimalTextNode) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.BOUNDARY_IS_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'LinearRing': GVol.xml.makeChildAppender( + GVol.format.KML.writePrimitiveGeometry_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.MULTI_GEOMETRY_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'LineString': GVol.xml.makeChildAppender( + GVol.format.KML.writePrimitiveGeometry_), + 'Point': GVol.xml.makeChildAppender( + GVol.format.KML.writePrimitiveGeometry_), + 'PGVolygon': GVol.xml.makeChildAppender(GVol.format.KML.writePGVolygon_), + 'GeometryCGVollection': GVol.xml.makeChildAppender( + GVol.format.KML.writeMultiGeometry_) + }); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.KML.PLACEMARK_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, [ + 'name', 'open', 'visibility', 'address', 'phoneNumber', 'description', + 'styleUrl', 'Style' + ]); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.PLACEMARK_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'ExtendedData': GVol.xml.makeChildAppender( + GVol.format.KML.writeExtendedData_), + 'MultiGeometry': GVol.xml.makeChildAppender( + GVol.format.KML.writeMultiGeometry_), + 'LineString': GVol.xml.makeChildAppender( + GVol.format.KML.writePrimitiveGeometry_), + 'LinearRing': GVol.xml.makeChildAppender( + GVol.format.KML.writePrimitiveGeometry_), + 'Point': GVol.xml.makeChildAppender( + GVol.format.KML.writePrimitiveGeometry_), + 'PGVolygon': GVol.xml.makeChildAppender(GVol.format.KML.writePGVolygon_), + 'Style': GVol.xml.makeChildAppender(GVol.format.KML.writeStyle_), + 'address': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'description': GVol.xml.makeChildAppender( + GVol.format.XSD.writeStringTextNode), + 'name': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'open': GVol.xml.makeChildAppender(GVol.format.XSD.writeBoGVoleanTextNode), + 'phoneNumber': GVol.xml.makeChildAppender( + GVol.format.XSD.writeStringTextNode), + 'styleUrl': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'visibility': GVol.xml.makeChildAppender( + GVol.format.XSD.writeBoGVoleanTextNode) + }); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.KML.PRIMITIVE_GEOMETRY_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, [ + 'extrude', 'tessellate', 'altitudeMode', 'coordinates' + ]); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.PRIMITIVE_GEOMETRY_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'extrude': GVol.xml.makeChildAppender(GVol.format.XSD.writeBoGVoleanTextNode), + 'tessellate': GVol.xml.makeChildAppender(GVol.format.XSD.writeBoGVoleanTextNode), + 'altitudeMode': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode), + 'coordinates': GVol.xml.makeChildAppender( + GVol.format.KML.writeCoordinatesTextNode_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.POLYGON_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'outerBoundaryIs': GVol.xml.makeChildAppender( + GVol.format.KML.writeBoundaryIs_), + 'innerBoundaryIs': GVol.xml.makeChildAppender( + GVol.format.KML.writeBoundaryIs_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.POLY_STYLE_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'cGVolor': GVol.xml.makeChildAppender(GVol.format.KML.writeCGVolorTextNode_) + }); + + +/** + * @const + * @type {Object.<string, Array.<string>>} + * @private + */ +GVol.format.KML.STYLE_SEQUENCE_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, [ + 'IconStyle', 'LabelStyle', 'LineStyle', 'PGVolyStyle' + ]); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.KML.STYLE_SERIALIZERS_ = GVol.xml.makeStructureNS( + GVol.format.KML.NAMESPACE_URIS_, { + 'IconStyle': GVol.xml.makeChildAppender(GVol.format.KML.writeIconStyle_), + 'LabelStyle': GVol.xml.makeChildAppender(GVol.format.KML.writeLabelStyle_), + 'LineStyle': GVol.xml.makeChildAppender(GVol.format.KML.writeLineStyle_), + 'PGVolyStyle': GVol.xml.makeChildAppender(GVol.format.KML.writePGVolyStyle_) + }); + + +/** + * @const + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node|undefined} Node. + * @private + */ +GVol.format.KML.GX_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { + return GVol.xml.createElementNS(GVol.format.KML.GX_NAMESPACE_URIS_[0], + 'gx:' + opt_nodeName); +}; + + +/** + * @const + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node|undefined} Node. + * @private + */ +GVol.format.KML.DOCUMENT_NODE_FACTORY_ = function(value, objectStack, + opt_nodeName) { + var parentNode = objectStack[objectStack.length - 1].node; + return GVol.xml.createElementNS(parentNode.namespaceURI, 'Placemark'); +}; + + +/** + * @const + * @param {*} value Value. + * @param {Array.<*>} objectStack Object stack. + * @param {string=} opt_nodeName Node name. + * @return {Node|undefined} Node. + * @private + */ +GVol.format.KML.GEOMETRY_NODE_FACTORY_ = function(value, objectStack, + opt_nodeName) { + if (value) { + var parentNode = objectStack[objectStack.length - 1].node; + return GVol.xml.createElementNS(parentNode.namespaceURI, + GVol.format.KML.GEOMETRY_TYPE_TO_NODENAME_[/** @type {GVol.geom.Geometry} */ (value).getType()]); + } +}; + + +/** + * A factory for creating coordinates nodes. + * @const + * @type {function(*, Array.<*>, string=): (Node|undefined)} + * @private + */ +GVol.format.KML.COLOR_NODE_FACTORY_ = GVol.xml.makeSimpleNodeFactory('cGVolor'); + + +/** + * A factory for creating Data nodes. + * @const + * @type {function(*, Array.<*>): (Node|undefined)} + * @private + */ +GVol.format.KML.DATA_NODE_FACTORY_ = + GVol.xml.makeSimpleNodeFactory('Data'); + + +/** + * A factory for creating ExtendedData nodes. + * @const + * @type {function(*, Array.<*>): (Node|undefined)} + * @private + */ +GVol.format.KML.EXTENDEDDATA_NODE_FACTORY_ = + GVol.xml.makeSimpleNodeFactory('ExtendedData'); + + +/** + * A factory for creating innerBoundaryIs nodes. + * @const + * @type {function(*, Array.<*>, string=): (Node|undefined)} + * @private + */ +GVol.format.KML.INNER_BOUNDARY_NODE_FACTORY_ = + GVol.xml.makeSimpleNodeFactory('innerBoundaryIs'); + + +/** + * A factory for creating Point nodes. + * @const + * @type {function(*, Array.<*>, string=): (Node|undefined)} + * @private + */ +GVol.format.KML.POINT_NODE_FACTORY_ = + GVol.xml.makeSimpleNodeFactory('Point'); + + +/** + * A factory for creating LineString nodes. + * @const + * @type {function(*, Array.<*>, string=): (Node|undefined)} + * @private + */ +GVol.format.KML.LINE_STRING_NODE_FACTORY_ = + GVol.xml.makeSimpleNodeFactory('LineString'); + + +/** + * A factory for creating LinearRing nodes. + * @const + * @type {function(*, Array.<*>, string=): (Node|undefined)} + * @private + */ +GVol.format.KML.LINEAR_RING_NODE_FACTORY_ = + GVol.xml.makeSimpleNodeFactory('LinearRing'); + + +/** + * A factory for creating PGVolygon nodes. + * @const + * @type {function(*, Array.<*>, string=): (Node|undefined)} + * @private + */ +GVol.format.KML.POLYGON_NODE_FACTORY_ = + GVol.xml.makeSimpleNodeFactory('PGVolygon'); + + +/** + * A factory for creating outerBoundaryIs nodes. + * @const + * @type {function(*, Array.<*>, string=): (Node|undefined)} + * @private + */ +GVol.format.KML.OUTER_BOUNDARY_NODE_FACTORY_ = + GVol.xml.makeSimpleNodeFactory('outerBoundaryIs'); + + +/** + * Encode an array of features in the KML format. GeometryCGVollections, MultiPoints, + * MultiLineStrings, and MultiPGVolygons are output as MultiGeometries. + * + * @function + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {string} Result. + * @api + */ +GVol.format.KML.prototype.writeFeatures; + + +/** + * Encode an array of features in the KML format as an XML node. GeometryCGVollections, + * MultiPoints, MultiLineStrings, and MultiPGVolygons are output as MultiGeometries. + * + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Options. + * @return {Node} Node. + * @override + * @api + */ +GVol.format.KML.prototype.writeFeaturesNode = function(features, opt_options) { + opt_options = this.adaptOptions(opt_options); + var kml = GVol.xml.createElementNS(GVol.format.KML.NAMESPACE_URIS_[4], 'kml'); + var xmlnsUri = 'http://www.w3.org/2000/xmlns/'; + var xmlSchemaInstanceUri = 'http://www.w3.org/2001/XMLSchema-instance'; + GVol.xml.setAttributeNS(kml, xmlnsUri, 'xmlns:gx', + GVol.format.KML.GX_NAMESPACE_URIS_[0]); + GVol.xml.setAttributeNS(kml, xmlnsUri, 'xmlns:xsi', xmlSchemaInstanceUri); + GVol.xml.setAttributeNS(kml, xmlSchemaInstanceUri, 'xsi:schemaLocation', + GVol.format.KML.SCHEMA_LOCATION_); + + var /** @type {GVol.XmlNodeStackItem} */ context = {node: kml}; + var properties = {}; + if (features.length > 1) { + properties['Document'] = features; + } else if (features.length == 1) { + properties['Placemark'] = features[0]; + } + var orderedKeys = GVol.format.KML.KML_SEQUENCE_[kml.namespaceURI]; + var values = GVol.xml.makeSequence(properties, orderedKeys); + GVol.xml.pushSerializeAndPop(context, GVol.format.KML.KML_SERIALIZERS_, + GVol.xml.OBJECT_PROPERTY_NODE_FACTORY, values, [opt_options], orderedKeys, + this); + return kml; +}; + + +/** + * @fileoverview + * @suppress {accessContrGVols, ambiguousFunctionDecl, checkDebuggerStatement, checkRegExp, checkTypes, checkVars, const, constantProperty, deprecated, duplicate, es5Strict, fileoverviewTags, missingProperties, nonStandardJsDocs, strictModuleDepCheck, suspiciousCode, undefinedNames, undefinedVars, unknownDefines, unusedLocalVariables, uselessCode, visibility} + */ +goog.provide('GVol.ext.PBF'); + +/** @typedef {function(*)} */ +GVol.ext.PBF = function() {}; + +(function() {(function (exports) { +'use strict'; + +var read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? (nBytes - 1) : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & ((1 << (-nBits)) - 1); + s >>= (-nBits); + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + m = e & ((1 << (-nBits)) - 1); + e >>= (-nBits); + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +}; +var write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0); + var i = isLE ? 0 : (nBytes - 1); + var d = isLE ? 1 : -1; + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + e = (e << mLen) | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + buffer[offset + i - d] |= s * 128; +}; +var ieee754 = { + read: read, + write: write +}; + +var pbf = Pbf; +function Pbf(buf) { + this.buf = ArrayBuffer.isView && ArrayBuffer.isView(buf) ? buf : new Uint8Array(buf || 0); + this.pos = 0; + this.type = 0; + this.length = this.buf.length; +} +Pbf.Varint = 0; +Pbf.Fixed64 = 1; +Pbf.Bytes = 2; +Pbf.Fixed32 = 5; +var SHIFT_LEFT_32 = (1 << 16) * (1 << 16); +var SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32; +Pbf.prototype = { + destroy: function() { + this.buf = null; + }, + readFields: function(readField, result, end) { + end = end || this.length; + while (this.pos < end) { + var val = this.readVarint(), + tag = val >> 3, + startPos = this.pos; + this.type = val & 0x7; + readField(tag, result, this); + if (this.pos === startPos) this.skip(val); + } + return result; + }, + readMessage: function(readField, result) { + return this.readFields(readField, result, this.readVarint() + this.pos); + }, + readFixed32: function() { + var val = readUInt32(this.buf, this.pos); + this.pos += 4; + return val; + }, + readSFixed32: function() { + var val = readInt32(this.buf, this.pos); + this.pos += 4; + return val; + }, + readFixed64: function() { + var val = readUInt32(this.buf, this.pos) + readUInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32; + this.pos += 8; + return val; + }, + readSFixed64: function() { + var val = readUInt32(this.buf, this.pos) + readInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32; + this.pos += 8; + return val; + }, + readFloat: function() { + var val = ieee754.read(this.buf, this.pos, true, 23, 4); + this.pos += 4; + return val; + }, + readDouble: function() { + var val = ieee754.read(this.buf, this.pos, true, 52, 8); + this.pos += 8; + return val; + }, + readVarint: function(isSigned) { + var buf = this.buf, + val, b; + b = buf[this.pos++]; val = b & 0x7f; if (b < 0x80) return val; + b = buf[this.pos++]; val |= (b & 0x7f) << 7; if (b < 0x80) return val; + b = buf[this.pos++]; val |= (b & 0x7f) << 14; if (b < 0x80) return val; + b = buf[this.pos++]; val |= (b & 0x7f) << 21; if (b < 0x80) return val; + b = buf[this.pos]; val |= (b & 0x0f) << 28; + return readVarintRemainder(val, isSigned, this); + }, + readVarint64: function() { + return this.readVarint(true); + }, + readSVarint: function() { + var num = this.readVarint(); + return num % 2 === 1 ? (num + 1) / -2 : num / 2; + }, + readBoGVolean: function() { + return BoGVolean(this.readVarint()); + }, + readString: function() { + var end = this.readVarint() + this.pos, + str = readUtf8(this.buf, this.pos, end); + this.pos = end; + return str; + }, + readBytes: function() { + var end = this.readVarint() + this.pos, + buffer = this.buf.subarray(this.pos, end); + this.pos = end; + return buffer; + }, + readPackedVarint: function(arr, isSigned) { + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) arr.push(this.readVarint(isSigned)); + return arr; + }, + readPackedSVarint: function(arr) { + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) arr.push(this.readSVarint()); + return arr; + }, + readPackedBoGVolean: function(arr) { + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) arr.push(this.readBoGVolean()); + return arr; + }, + readPackedFloat: function(arr) { + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) arr.push(this.readFloat()); + return arr; + }, + readPackedDouble: function(arr) { + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) arr.push(this.readDouble()); + return arr; + }, + readPackedFixed32: function(arr) { + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) arr.push(this.readFixed32()); + return arr; + }, + readPackedSFixed32: function(arr) { + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) arr.push(this.readSFixed32()); + return arr; + }, + readPackedFixed64: function(arr) { + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) arr.push(this.readFixed64()); + return arr; + }, + readPackedSFixed64: function(arr) { + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) arr.push(this.readSFixed64()); + return arr; + }, + skip: function(val) { + var type = val & 0x7; + if (type === Pbf.Varint) while (this.buf[this.pos++] > 0x7f) {} + else if (type === Pbf.Bytes) this.pos = this.readVarint() + this.pos; + else if (type === Pbf.Fixed32) this.pos += 4; + else if (type === Pbf.Fixed64) this.pos += 8; + else throw new Error('Unimplemented type: ' + type); + }, + writeTag: function(tag, type) { + this.writeVarint((tag << 3) | type); + }, + realloc: function(min) { + var length = this.length || 16; + while (length < this.pos + min) length *= 2; + if (length !== this.length) { + var buf = new Uint8Array(length); + buf.set(this.buf); + this.buf = buf; + this.length = length; + } + }, + finish: function() { + this.length = this.pos; + this.pos = 0; + return this.buf.subarray(0, this.length); + }, + writeFixed32: function(val) { + this.realloc(4); + writeInt32(this.buf, val, this.pos); + this.pos += 4; + }, + writeSFixed32: function(val) { + this.realloc(4); + writeInt32(this.buf, val, this.pos); + this.pos += 4; + }, + writeFixed64: function(val) { + this.realloc(8); + writeInt32(this.buf, val & -1, this.pos); + writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4); + this.pos += 8; + }, + writeSFixed64: function(val) { + this.realloc(8); + writeInt32(this.buf, val & -1, this.pos); + writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4); + this.pos += 8; + }, + writeVarint: function(val) { + val = +val || 0; + if (val > 0xfffffff || val < 0) { + writeBigVarint(val, this); + return; + } + this.realloc(4); + this.buf[this.pos++] = val & 0x7f | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return; + this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return; + this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return; + this.buf[this.pos++] = (val >>> 7) & 0x7f; + }, + writeSVarint: function(val) { + this.writeVarint(val < 0 ? -val * 2 - 1 : val * 2); + }, + writeBoGVolean: function(val) { + this.writeVarint(BoGVolean(val)); + }, + writeString: function(str) { + str = String(str); + this.realloc(str.length * 4); + this.pos++; + var startPos = this.pos; + this.pos = writeUtf8(this.buf, str, this.pos); + var len = this.pos - startPos; + if (len >= 0x80) makeRoomForExtraLength(startPos, len, this); + this.pos = startPos - 1; + this.writeVarint(len); + this.pos += len; + }, + writeFloat: function(val) { + this.realloc(4); + ieee754.write(this.buf, val, this.pos, true, 23, 4); + this.pos += 4; + }, + writeDouble: function(val) { + this.realloc(8); + ieee754.write(this.buf, val, this.pos, true, 52, 8); + this.pos += 8; + }, + writeBytes: function(buffer) { + var len = buffer.length; + this.writeVarint(len); + this.realloc(len); + for (var i = 0; i < len; i++) this.buf[this.pos++] = buffer[i]; + }, + writeRawMessage: function(fn, obj) { + this.pos++; + var startPos = this.pos; + fn(obj, this); + var len = this.pos - startPos; + if (len >= 0x80) makeRoomForExtraLength(startPos, len, this); + this.pos = startPos - 1; + this.writeVarint(len); + this.pos += len; + }, + writeMessage: function(tag, fn, obj) { + this.writeTag(tag, Pbf.Bytes); + this.writeRawMessage(fn, obj); + }, + writePackedVarint: function(tag, arr) { this.writeMessage(tag, writePackedVarint, arr); }, + writePackedSVarint: function(tag, arr) { this.writeMessage(tag, writePackedSVarint, arr); }, + writePackedBoGVolean: function(tag, arr) { this.writeMessage(tag, writePackedBoGVolean, arr); }, + writePackedFloat: function(tag, arr) { this.writeMessage(tag, writePackedFloat, arr); }, + writePackedDouble: function(tag, arr) { this.writeMessage(tag, writePackedDouble, arr); }, + writePackedFixed32: function(tag, arr) { this.writeMessage(tag, writePackedFixed32, arr); }, + writePackedSFixed32: function(tag, arr) { this.writeMessage(tag, writePackedSFixed32, arr); }, + writePackedFixed64: function(tag, arr) { this.writeMessage(tag, writePackedFixed64, arr); }, + writePackedSFixed64: function(tag, arr) { this.writeMessage(tag, writePackedSFixed64, arr); }, + writeBytesField: function(tag, buffer) { + this.writeTag(tag, Pbf.Bytes); + this.writeBytes(buffer); + }, + writeFixed32Field: function(tag, val) { + this.writeTag(tag, Pbf.Fixed32); + this.writeFixed32(val); + }, + writeSFixed32Field: function(tag, val) { + this.writeTag(tag, Pbf.Fixed32); + this.writeSFixed32(val); + }, + writeFixed64Field: function(tag, val) { + this.writeTag(tag, Pbf.Fixed64); + this.writeFixed64(val); + }, + writeSFixed64Field: function(tag, val) { + this.writeTag(tag, Pbf.Fixed64); + this.writeSFixed64(val); + }, + writeVarintField: function(tag, val) { + this.writeTag(tag, Pbf.Varint); + this.writeVarint(val); + }, + writeSVarintField: function(tag, val) { + this.writeTag(tag, Pbf.Varint); + this.writeSVarint(val); + }, + writeStringField: function(tag, str) { + this.writeTag(tag, Pbf.Bytes); + this.writeString(str); + }, + writeFloatField: function(tag, val) { + this.writeTag(tag, Pbf.Fixed32); + this.writeFloat(val); + }, + writeDoubleField: function(tag, val) { + this.writeTag(tag, Pbf.Fixed64); + this.writeDouble(val); + }, + writeBoGVoleanField: function(tag, val) { + this.writeVarintField(tag, BoGVolean(val)); + } +}; +function readVarintRemainder(l, s, p) { + var buf = p.buf, + h, b; + b = buf[p.pos++]; h = (b & 0x70) >> 4; if (b < 0x80) return toNum(l, h, s); + b = buf[p.pos++]; h |= (b & 0x7f) << 3; if (b < 0x80) return toNum(l, h, s); + b = buf[p.pos++]; h |= (b & 0x7f) << 10; if (b < 0x80) return toNum(l, h, s); + b = buf[p.pos++]; h |= (b & 0x7f) << 17; if (b < 0x80) return toNum(l, h, s); + b = buf[p.pos++]; h |= (b & 0x7f) << 24; if (b < 0x80) return toNum(l, h, s); + b = buf[p.pos++]; h |= (b & 0x01) << 31; if (b < 0x80) return toNum(l, h, s); + throw new Error('Expected varint not more than 10 bytes'); +} +function readPackedEnd(pbf) { + return pbf.type === Pbf.Bytes ? + pbf.readVarint() + pbf.pos : pbf.pos + 1; +} +function toNum(low, high, isSigned) { + if (isSigned) { + return high * 0x100000000 + (low >>> 0); + } + return ((high >>> 0) * 0x100000000) + (low >>> 0); +} +function writeBigVarint(val, pbf) { + var low, high; + if (val >= 0) { + low = (val % 0x100000000) | 0; + high = (val / 0x100000000) | 0; + } else { + low = ~(-val % 0x100000000); + high = ~(-val / 0x100000000); + if (low ^ 0xffffffff) { + low = (low + 1) | 0; + } else { + low = 0; + high = (high + 1) | 0; + } + } + if (val >= 0x10000000000000000 || val < -0x10000000000000000) { + throw new Error('Given varint doesn\'t fit into 10 bytes'); + } + pbf.realloc(10); + writeBigVarintLow(low, high, pbf); + writeBigVarintHigh(high, pbf); +} +function writeBigVarintLow(low, high, pbf) { + pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7; + pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7; + pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7; + pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7; + pbf.buf[pbf.pos] = low & 0x7f; +} +function writeBigVarintHigh(high, pbf) { + var lsb = (high & 0x07) << 4; + pbf.buf[pbf.pos++] |= lsb | ((high >>>= 3) ? 0x80 : 0); if (!high) return; + pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return; + pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return; + pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return; + pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return; + pbf.buf[pbf.pos++] = high & 0x7f; +} +function makeRoomForExtraLength(startPos, len, pbf) { + var extraLen = + len <= 0x3fff ? 1 : + len <= 0x1fffff ? 2 : + len <= 0xfffffff ? 3 : Math.ceil(Math.log(len) / (Math.LN2 * 7)); + pbf.realloc(extraLen); + for (var i = pbf.pos - 1; i >= startPos; i--) pbf.buf[i + extraLen] = pbf.buf[i]; +} +function writePackedVarint(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeVarint(arr[i]); } +function writePackedSVarint(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSVarint(arr[i]); } +function writePackedFloat(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeFloat(arr[i]); } +function writePackedDouble(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeDouble(arr[i]); } +function writePackedBoGVolean(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeBoGVolean(arr[i]); } +function writePackedFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeFixed32(arr[i]); } +function writePackedSFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed32(arr[i]); } +function writePackedFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeFixed64(arr[i]); } +function writePackedSFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed64(arr[i]); } +function readUInt32(buf, pos) { + return ((buf[pos]) | + (buf[pos + 1] << 8) | + (buf[pos + 2] << 16)) + + (buf[pos + 3] * 0x1000000); +} +function writeInt32(buf, val, pos) { + buf[pos] = val; + buf[pos + 1] = (val >>> 8); + buf[pos + 2] = (val >>> 16); + buf[pos + 3] = (val >>> 24); +} +function readInt32(buf, pos) { + return ((buf[pos]) | + (buf[pos + 1] << 8) | + (buf[pos + 2] << 16)) + + (buf[pos + 3] << 24); +} +function readUtf8(buf, pos, end) { + var str = ''; + var i = pos; + while (i < end) { + var b0 = buf[i]; + var c = null; + var bytesPerSequence = + b0 > 0xEF ? 4 : + b0 > 0xDF ? 3 : + b0 > 0xBF ? 2 : 1; + if (i + bytesPerSequence > end) break; + var b1, b2, b3; + if (bytesPerSequence === 1) { + if (b0 < 0x80) { + c = b0; + } + } else if (bytesPerSequence === 2) { + b1 = buf[i + 1]; + if ((b1 & 0xC0) === 0x80) { + c = (b0 & 0x1F) << 0x6 | (b1 & 0x3F); + if (c <= 0x7F) { + c = null; + } + } + } else if (bytesPerSequence === 3) { + b1 = buf[i + 1]; + b2 = buf[i + 2]; + if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80) { + c = (b0 & 0xF) << 0xC | (b1 & 0x3F) << 0x6 | (b2 & 0x3F); + if (c <= 0x7FF || (c >= 0xD800 && c <= 0xDFFF)) { + c = null; + } + } + } else if (bytesPerSequence === 4) { + b1 = buf[i + 1]; + b2 = buf[i + 2]; + b3 = buf[i + 3]; + if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) { + c = (b0 & 0xF) << 0x12 | (b1 & 0x3F) << 0xC | (b2 & 0x3F) << 0x6 | (b3 & 0x3F); + if (c <= 0xFFFF || c >= 0x110000) { + c = null; + } + } + } + if (c === null) { + c = 0xFFFD; + bytesPerSequence = 1; + } else if (c > 0xFFFF) { + c -= 0x10000; + str += String.fromCharCode(c >>> 10 & 0x3FF | 0xD800); + c = 0xDC00 | c & 0x3FF; + } + str += String.fromCharCode(c); + i += bytesPerSequence; + } + return str; +} +function writeUtf8(buf, str, pos) { + for (var i = 0, c, lead; i < str.length; i++) { + c = str.charCodeAt(i); + if (c > 0xD7FF && c < 0xE000) { + if (lead) { + if (c < 0xDC00) { + buf[pos++] = 0xEF; + buf[pos++] = 0xBF; + buf[pos++] = 0xBD; + lead = c; + continue; + } else { + c = lead - 0xD800 << 10 | c - 0xDC00 | 0x10000; + lead = null; + } + } else { + if (c > 0xDBFF || (i + 1 === str.length)) { + buf[pos++] = 0xEF; + buf[pos++] = 0xBF; + buf[pos++] = 0xBD; + } else { + lead = c; + } + continue; + } + } else if (lead) { + buf[pos++] = 0xEF; + buf[pos++] = 0xBF; + buf[pos++] = 0xBD; + lead = null; + } + if (c < 0x80) { + buf[pos++] = c; + } else { + if (c < 0x800) { + buf[pos++] = c >> 0x6 | 0xC0; + } else { + if (c < 0x10000) { + buf[pos++] = c >> 0xC | 0xE0; + } else { + buf[pos++] = c >> 0x12 | 0xF0; + buf[pos++] = c >> 0xC & 0x3F | 0x80; + } + buf[pos++] = c >> 0x6 & 0x3F | 0x80; + } + buf[pos++] = c & 0x3F | 0x80; + } + } + return pos; +} + +exports['default'] = pbf; + +}((this.PBF = this.PBF || {})));}).call(GVol.ext); +GVol.ext.PBF = GVol.ext.PBF.default; + + +/** + * @fileoverview + * @suppress {accessContrGVols, ambiguousFunctionDecl, checkDebuggerStatement, checkRegExp, checkTypes, checkVars, const, constantProperty, deprecated, duplicate, es5Strict, fileoverviewTags, missingProperties, nonStandardJsDocs, strictModuleDepCheck, suspiciousCode, undefinedNames, undefinedVars, unknownDefines, unusedLocalVariables, uselessCode, visibility} + */ +goog.provide('GVol.ext.vectortile.VectorTile'); + +/** @typedef {function(*)} */ +GVol.ext.vectortile.VectorTile = function() {}; + +(function() {(function (exports) { +'use strict'; + +var pointGeometry = Point; +function Point(x, y) { + this.x = x; + this.y = y; +} +Point.prototype = { + clone: function() { return new Point(this.x, this.y); }, + add: function(p) { return this.clone()._add(p); }, + sub: function(p) { return this.clone()._sub(p); }, + multByPoint: function(p) { return this.clone()._multByPoint(p); }, + divByPoint: function(p) { return this.clone()._divByPoint(p); }, + mult: function(k) { return this.clone()._mult(k); }, + div: function(k) { return this.clone()._div(k); }, + rotate: function(a) { return this.clone()._rotate(a); }, + rotateAround: function(a,p) { return this.clone()._rotateAround(a,p); }, + matMult: function(m) { return this.clone()._matMult(m); }, + unit: function() { return this.clone()._unit(); }, + perp: function() { return this.clone()._perp(); }, + round: function() { return this.clone()._round(); }, + mag: function() { + return Math.sqrt(this.x * this.x + this.y * this.y); + }, + equals: function(other) { + return this.x === other.x && + this.y === other.y; + }, + dist: function(p) { + return Math.sqrt(this.distSqr(p)); + }, + distSqr: function(p) { + var dx = p.x - this.x, + dy = p.y - this.y; + return dx * dx + dy * dy; + }, + angle: function() { + return Math.atan2(this.y, this.x); + }, + angleTo: function(b) { + return Math.atan2(this.y - b.y, this.x - b.x); + }, + angleWith: function(b) { + return this.angleWithSep(b.x, b.y); + }, + angleWithSep: function(x, y) { + return Math.atan2( + this.x * y - this.y * x, + this.x * x + this.y * y); + }, + _matMult: function(m) { + var x = m[0] * this.x + m[1] * this.y, + y = m[2] * this.x + m[3] * this.y; + this.x = x; + this.y = y; + return this; + }, + _add: function(p) { + this.x += p.x; + this.y += p.y; + return this; + }, + _sub: function(p) { + this.x -= p.x; + this.y -= p.y; + return this; + }, + _mult: function(k) { + this.x *= k; + this.y *= k; + return this; + }, + _div: function(k) { + this.x /= k; + this.y /= k; + return this; + }, + _multByPoint: function(p) { + this.x *= p.x; + this.y *= p.y; + return this; + }, + _divByPoint: function(p) { + this.x /= p.x; + this.y /= p.y; + return this; + }, + _unit: function() { + this._div(this.mag()); + return this; + }, + _perp: function() { + var y = this.y; + this.y = this.x; + this.x = -y; + return this; + }, + _rotate: function(angle) { + var cos = Math.cos(angle), + sin = Math.sin(angle), + x = cos * this.x - sin * this.y, + y = sin * this.x + cos * this.y; + this.x = x; + this.y = y; + return this; + }, + _rotateAround: function(angle, p) { + var cos = Math.cos(angle), + sin = Math.sin(angle), + x = p.x + cos * (this.x - p.x) - sin * (this.y - p.y), + y = p.y + sin * (this.x - p.x) + cos * (this.y - p.y); + this.x = x; + this.y = y; + return this; + }, + _round: function() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + return this; + } +}; +Point.convert = function (a) { + if (a instanceof Point) { + return a; + } + if (Array.isArray(a)) { + return new Point(a[0], a[1]); + } + return a; +}; + +var vectortilefeature = VectorTileFeature$1; +function VectorTileFeature$1(pbf, end, extent, keys, values) { + this.properties = {}; + this.extent = extent; + this.type = 0; + this._pbf = pbf; + this._geometry = -1; + this._keys = keys; + this._values = values; + pbf.readFields(readFeature, this, end); +} +function readFeature(tag, feature, pbf) { + if (tag == 1) feature.id = pbf.readVarint(); + else if (tag == 2) readTag(pbf, feature); + else if (tag == 3) feature.type = pbf.readVarint(); + else if (tag == 4) feature._geometry = pbf.pos; +} +function readTag(pbf, feature) { + var end = pbf.readVarint() + pbf.pos; + while (pbf.pos < end) { + var key = feature._keys[pbf.readVarint()], + value = feature._values[pbf.readVarint()]; + feature.properties[key] = value; + } +} +VectorTileFeature$1.types = ['Unknown', 'Point', 'LineString', 'PGVolygon']; +VectorTileFeature$1.prototype.loadGeometry = function() { + var pbf = this._pbf; + pbf.pos = this._geometry; + var end = pbf.readVarint() + pbf.pos, + cmd = 1, + length = 0, + x = 0, + y = 0, + lines = [], + line; + while (pbf.pos < end) { + if (!length) { + var cmdLen = pbf.readVarint(); + cmd = cmdLen & 0x7; + length = cmdLen >> 3; + } + length--; + if (cmd === 1 || cmd === 2) { + x += pbf.readSVarint(); + y += pbf.readSVarint(); + if (cmd === 1) { + if (line) lines.push(line); + line = []; + } + line.push(new pointGeometry(x, y)); + } else if (cmd === 7) { + if (line) { + line.push(line[0].clone()); + } + } else { + throw new Error('unknown command ' + cmd); + } + } + if (line) lines.push(line); + return lines; +}; +VectorTileFeature$1.prototype.bbox = function() { + var pbf = this._pbf; + pbf.pos = this._geometry; + var end = pbf.readVarint() + pbf.pos, + cmd = 1, + length = 0, + x = 0, + y = 0, + x1 = Infinity, + x2 = -Infinity, + y1 = Infinity, + y2 = -Infinity; + while (pbf.pos < end) { + if (!length) { + var cmdLen = pbf.readVarint(); + cmd = cmdLen & 0x7; + length = cmdLen >> 3; + } + length--; + if (cmd === 1 || cmd === 2) { + x += pbf.readSVarint(); + y += pbf.readSVarint(); + if (x < x1) x1 = x; + if (x > x2) x2 = x; + if (y < y1) y1 = y; + if (y > y2) y2 = y; + } else if (cmd !== 7) { + throw new Error('unknown command ' + cmd); + } + } + return [x1, y1, x2, y2]; +}; +VectorTileFeature$1.prototype.toGeoJSON = function(x, y, z) { + var size = this.extent * Math.pow(2, z), + x0 = this.extent * x, + y0 = this.extent * y, + coords = this.loadGeometry(), + type = VectorTileFeature$1.types[this.type], + i, j; + function project(line) { + for (var j = 0; j < line.length; j++) { + var p = line[j], y2 = 180 - (p.y + y0) * 360 / size; + line[j] = [ + (p.x + x0) * 360 / size - 180, + 360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90 + ]; + } + } + switch (this.type) { + case 1: + var points = []; + for (i = 0; i < coords.length; i++) { + points[i] = coords[i][0]; + } + coords = points; + project(coords); + break; + case 2: + for (i = 0; i < coords.length; i++) { + project(coords[i]); + } + break; + case 3: + coords = classifyRings(coords); + for (i = 0; i < coords.length; i++) { + for (j = 0; j < coords[i].length; j++) { + project(coords[i][j]); + } + } + break; + } + if (coords.length === 1) { + coords = coords[0]; + } else { + type = 'Multi' + type; + } + var result = { + type: "Feature", + geometry: { + type: type, + coordinates: coords + }, + properties: this.properties + }; + if ('id' in this) { + result.id = this.id; + } + return result; +}; +function classifyRings(rings) { + var len = rings.length; + if (len <= 1) return [rings]; + var pGVolygons = [], + pGVolygon, + ccw; + for (var i = 0; i < len; i++) { + var area = signedArea(rings[i]); + if (area === 0) continue; + if (ccw === undefined) ccw = area < 0; + if (ccw === area < 0) { + if (pGVolygon) pGVolygons.push(pGVolygon); + pGVolygon = [rings[i]]; + } else { + pGVolygon.push(rings[i]); + } + } + if (pGVolygon) pGVolygons.push(pGVolygon); + return pGVolygons; +} +function signedArea(ring) { + var sum = 0; + for (var i = 0, len = ring.length, j = len - 1, p1, p2; i < len; j = i++) { + p1 = ring[i]; + p2 = ring[j]; + sum += (p2.x - p1.x) * (p1.y + p2.y); + } + return sum; +} + +var vectortilelayer = VectorTileLayer$1; +function VectorTileLayer$1(pbf, end) { + this.version = 1; + this.name = null; + this.extent = 4096; + this.length = 0; + this._pbf = pbf; + this._keys = []; + this._values = []; + this._features = []; + pbf.readFields(readLayer, this, end); + this.length = this._features.length; +} +function readLayer(tag, layer, pbf) { + if (tag === 15) layer.version = pbf.readVarint(); + else if (tag === 1) layer.name = pbf.readString(); + else if (tag === 5) layer.extent = pbf.readVarint(); + else if (tag === 2) layer._features.push(pbf.pos); + else if (tag === 3) layer._keys.push(pbf.readString()); + else if (tag === 4) layer._values.push(readValueMessage(pbf)); +} +function readValueMessage(pbf) { + var value = null, + end = pbf.readVarint() + pbf.pos; + while (pbf.pos < end) { + var tag = pbf.readVarint() >> 3; + value = tag === 1 ? pbf.readString() : + tag === 2 ? pbf.readFloat() : + tag === 3 ? pbf.readDouble() : + tag === 4 ? pbf.readVarint64() : + tag === 5 ? pbf.readVarint() : + tag === 6 ? pbf.readSVarint() : + tag === 7 ? pbf.readBoGVolean() : null; + } + return value; +} +VectorTileLayer$1.prototype.feature = function(i) { + if (i < 0 || i >= this._features.length) throw new Error('feature index out of bounds'); + this._pbf.pos = this._features[i]; + var end = this._pbf.readVarint() + this._pbf.pos; + return new vectortilefeature(this._pbf, end, this.extent, this._keys, this._values); +}; + +var vectortile = VectorTile$1; +function VectorTile$1(pbf, end) { + this.layers = pbf.readFields(readTile, {}, end); +} +function readTile(tag, layers, pbf) { + if (tag === 3) { + var layer = new vectortilelayer(pbf, pbf.readVarint() + pbf.pos); + if (layer.length) layers[layer.name] = layer; + } +} + +var VectorTile = vectortile; +var VectorTileFeature = vectortilefeature; +var VectorTileLayer = vectortilelayer; +var vectorTile = { + VectorTile: VectorTile, + VectorTileFeature: VectorTileFeature, + VectorTileLayer: VectorTileLayer +}; + +exports['default'] = vectorTile; +exports.VectorTile = VectorTile; +exports.VectorTileFeature = VectorTileFeature; +exports.VectorTileLayer = VectorTileLayer; + +}((this.vectortile = this.vectortile || {})));}).call(GVol.ext); + +goog.provide('GVol.render.Feature'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryType'); + + +/** + * Lightweight, read-only, {@link GVol.Feature} and {@link GVol.geom.Geometry} like + * structure, optimized for rendering and styling. Geometry access through the + * API is limited to getting the type and extent of the geometry. + * + * @constructor + * @param {GVol.geom.GeometryType} type Geometry type. + * @param {Array.<number>} flatCoordinates Flat coordinates. These always need + * to be right-handed for pGVolygons. + * @param {Array.<number>|Array.<Array.<number>>} ends Ends or Endss. + * @param {Object.<string, *>} properties Properties. + * @param {number|string|undefined} id Feature id. + */ +GVol.render.Feature = function(type, flatCoordinates, ends, properties, id) { + /** + * @private + * @type {GVol.Extent|undefined} + */ + this.extent_; + + /** + * @private + * @type {number|string|undefined} + */ + this.id_ = id; + + /** + * @private + * @type {GVol.geom.GeometryType} + */ + this.type_ = type; + + /** + * @private + * @type {Array.<number>} + */ + this.flatCoordinates_ = flatCoordinates; + + /** + * @private + * @type {Array.<number>|Array.<Array.<number>>} + */ + this.ends_ = ends; + + /** + * @private + * @type {Object.<string, *>} + */ + this.properties_ = properties; +}; + + +/** + * Get a feature property by its key. + * @param {string} key Key + * @return {*} Value for the requested key. + * @api + */ +GVol.render.Feature.prototype.get = function(key) { + return this.properties_[key]; +}; + + +/** + * @return {Array.<number>|Array.<Array.<number>>} Ends or endss. + */ +GVol.render.Feature.prototype.getEnds = function() { + return this.ends_; +}; + + +/** + * Get the extent of this feature's geometry. + * @return {GVol.Extent} Extent. + * @api + */ +GVol.render.Feature.prototype.getExtent = function() { + if (!this.extent_) { + this.extent_ = this.type_ === GVol.geom.GeometryType.POINT ? + GVol.extent.createOrUpdateFromCoordinate(this.flatCoordinates_) : + GVol.extent.createOrUpdateFromFlatCoordinates( + this.flatCoordinates_, 0, this.flatCoordinates_.length, 2); + + } + return this.extent_; +}; + +/** + * Get the feature identifier. This is a stable identifier for the feature and + * is set when reading data from a remote source. + * @return {number|string|undefined} Id. + * @api + */ +GVol.render.Feature.prototype.getId = function() { + return this.id_; +}; + + +/** + * @return {Array.<number>} Flat coordinates. + */ +GVol.render.Feature.prototype.getOrientedFlatCoordinates = function() { + return this.flatCoordinates_; +}; + + +/** + * @return {Array.<number>} Flat coordinates. + */ +GVol.render.Feature.prototype.getFlatCoordinates = + GVol.render.Feature.prototype.getOrientedFlatCoordinates; + + +/** + * For API compatibility with {@link GVol.Feature}, this method is useful when + * determining the geometry type in style function (see {@link #getType}). + * @return {GVol.render.Feature} Feature. + * @api + */ +GVol.render.Feature.prototype.getGeometry = function() { + return this; +}; + + +/** + * Get the feature properties. + * @return {Object.<string, *>} Feature properties. + * @api + */ +GVol.render.Feature.prototype.getProperties = function() { + return this.properties_; +}; + + +/** + * Get the feature for working with its geometry. + * @return {GVol.render.Feature} Feature. + */ +GVol.render.Feature.prototype.getSimplifiedGeometry = + GVol.render.Feature.prototype.getGeometry; + + +/** + * @return {number} Stride. + */ +GVol.render.Feature.prototype.getStride = function() { + return 2; +}; + + +/** + * @return {undefined} + */ +GVol.render.Feature.prototype.getStyleFunction = GVol.nullFunction; + + +/** + * Get the type of this feature's geometry. + * @return {GVol.geom.GeometryType} Geometry type. + * @api + */ +GVol.render.Feature.prototype.getType = function() { + return this.type_; +}; + +//FIXME Implement projection handling + +goog.provide('GVol.format.MVT'); + +goog.require('GVol'); +goog.require('GVol.ext.PBF'); +goog.require('GVol.ext.vectortile.VectorTile'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.FormatType'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.proj.Projection'); +goog.require('GVol.proj.Units'); +goog.require('GVol.render.Feature'); + + +/** + * @classdesc + * Feature format for reading data in the Mapbox MVT format. + * + * @constructor + * @extends {GVol.format.Feature} + * @param {GVolx.format.MVTOptions=} opt_options Options. + * @api + */ +GVol.format.MVT = function(opt_options) { + + GVol.format.Feature.call(this); + + var options = opt_options ? opt_options : {}; + + /** + * @type {GVol.proj.Projection} + */ + this.defaultDataProjection = new GVol.proj.Projection({ + code: '', + units: GVol.proj.Units.TILE_PIXELS + }); + + /** + * @private + * @type {function((GVol.geom.Geometry|Object.<string,*>)=)| + * function(GVol.geom.GeometryType,Array.<number>, + * (Array.<number>|Array.<Array.<number>>),Object.<string,*>,number)} + */ + this.featureClass_ = options.featureClass ? + options.featureClass : GVol.render.Feature; + + /** + * @private + * @type {string|undefined} + */ + this.geometryName_ = options.geometryName; + + /** + * @private + * @type {string} + */ + this.layerName_ = options.layerName ? options.layerName : 'layer'; + + /** + * @private + * @type {Array.<string>} + */ + this.layers_ = options.layers ? options.layers : null; + + /** + * @private + * @type {GVol.Extent} + */ + this.extent_ = null; + +}; +GVol.inherits(GVol.format.MVT, GVol.format.Feature); + + +/** + * @inheritDoc + * @api + */ +GVol.format.MVT.prototype.getLastExtent = function() { + return this.extent_; +}; + + +/** + * @inheritDoc + */ +GVol.format.MVT.prototype.getType = function() { + return GVol.format.FormatType.ARRAY_BUFFER; +}; + + +/** + * @private + * @param {Object} rawFeature Raw Mapbox feature. + * @param {string} layer Layer. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + */ +GVol.format.MVT.prototype.readFeature_ = function( + rawFeature, layer, opt_options) { + var feature = new this.featureClass_(); + var id = rawFeature.id; + var values = rawFeature.properties; + values[this.layerName_] = layer; + if (this.geometryName_) { + feature.setGeometryName(this.geometryName_); + } + var geometry = GVol.format.Feature.transformWithOptions( + GVol.format.MVT.readGeometry_(rawFeature), false, + this.adaptOptions(opt_options)); + feature.setGeometry(geometry); + feature.setId(id); + feature.setProperties(values); + return feature; +}; + + +/** + * @private + * @param {Object} rawFeature Raw Mapbox feature. + * @param {string} layer Layer. + * @return {GVol.render.Feature} Feature. + */ +GVol.format.MVT.prototype.readRenderFeature_ = function(rawFeature, layer) { + var coords = rawFeature.loadGeometry(); + var ends = []; + var flatCoordinates = []; + GVol.format.MVT.calculateFlatCoordinates_(coords, flatCoordinates, ends); + + var type = rawFeature.type; + /** @type {GVol.geom.GeometryType} */ + var geometryType; + if (type === 1) { + geometryType = coords.length === 1 ? + GVol.geom.GeometryType.POINT : GVol.geom.GeometryType.MULTI_POINT; + } else if (type === 2) { + if (coords.length === 1) { + geometryType = GVol.geom.GeometryType.LINE_STRING; + } else { + geometryType = GVol.geom.GeometryType.MULTI_LINE_STRING; + } + } else if (type === 3) { + geometryType = GVol.geom.GeometryType.POLYGON; + } + + var values = rawFeature.properties; + values[this.layerName_] = layer; + var id = rawFeature.id; + + return new this.featureClass_(geometryType, flatCoordinates, ends, values, id); +}; + + +/** + * @inheritDoc + * @api + */ +GVol.format.MVT.prototype.readFeatures = function(source, opt_options) { + var layers = this.layers_; + + var pbf = new GVol.ext.PBF(/** @type {ArrayBuffer} */ (source)); + var tile = new GVol.ext.vectortile.VectorTile(pbf); + var features = []; + var featureClass = this.featureClass_; + var layer, feature; + for (var name in tile.layers) { + if (layers && layers.indexOf(name) == -1) { + continue; + } + layer = tile.layers[name]; + + var rawFeature; + for (var i = 0, ii = layer.length; i < ii; ++i) { + rawFeature = layer.feature(i); + if (featureClass === GVol.render.Feature) { + feature = this.readRenderFeature_(rawFeature, name); + } else { + feature = this.readFeature_(rawFeature, name, opt_options); + } + features.push(feature); + } + this.extent_ = layer ? [0, 0, layer.extent, layer.extent] : null; + } + + return features; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.format.MVT.prototype.readProjection = function(source) { + return this.defaultDataProjection; +}; + + +/** + * Sets the layers that features will be read from. + * @param {Array.<string>} layers Layers. + * @api + */ +GVol.format.MVT.prototype.setLayers = function(layers) { + this.layers_ = layers; +}; + + +/** + * @private + * @param {Object} coords Raw feature coordinates. + * @param {Array.<number>} flatCoordinates Flat coordinates to be populated by + * this function. + * @param {Array.<number>} ends Ends to be populated by this function. + */ +GVol.format.MVT.calculateFlatCoordinates_ = function( + coords, flatCoordinates, ends) { + var end = 0; + for (var i = 0, ii = coords.length; i < ii; ++i) { + var line = coords[i]; + var j, jj; + for (j = 0, jj = line.length; j < jj; ++j) { + var coord = line[j]; + // Non-tilespace coords can be calculated here when a TileGrid and + // TileCoord are known. + flatCoordinates.push(coord.x, coord.y); + } + end += 2 * j; + ends.push(end); + } +}; + + +/** + * @private + * @param {Object} rawFeature Raw Mapbox feature. + * @return {GVol.geom.Geometry} Geometry. + */ +GVol.format.MVT.readGeometry_ = function(rawFeature) { + var type = rawFeature.type; + if (type === 0) { + return null; + } + + var coords = rawFeature.loadGeometry(); + var ends = []; + var flatCoordinates = []; + GVol.format.MVT.calculateFlatCoordinates_(coords, flatCoordinates, ends); + + var geom; + if (type === 1) { + geom = coords.length === 1 ? + new GVol.geom.Point(null) : new GVol.geom.MultiPoint(null); + } else if (type === 2) { + if (coords.length === 1) { + geom = new GVol.geom.LineString(null); + } else { + geom = new GVol.geom.MultiLineString(null); + } + } else if (type === 3) { + geom = new GVol.geom.PGVolygon(null); + } + + geom.setFlatCoordinates(GVol.geom.GeometryLayout.XY, flatCoordinates, + ends); + + return geom; +}; + + +/** + * Not implemented. + * @override + */ +GVol.format.MVT.prototype.readFeature = function() {}; + + +/** + * Not implemented. + * @override + */ +GVol.format.MVT.prototype.readGeometry = function() {}; + + +/** + * Not implemented. + * @override + */ +GVol.format.MVT.prototype.writeFeature = function() {}; + + +/** + * Not implemented. + * @override + */ +GVol.format.MVT.prototype.writeGeometry = function() {}; + + +/** + * Not implemented. + * @override + */ +GVol.format.MVT.prototype.writeFeatures = function() {}; + +// FIXME add typedef for stack state objects +goog.provide('GVol.format.OSMXML'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.Feature'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.XMLFeature'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Feature format for reading data in the + * [OSMXML format](http://wiki.openstreetmap.org/wiki/OSM_XML). + * + * @constructor + * @extends {GVol.format.XMLFeature} + * @api + */ +GVol.format.OSMXML = function() { + GVol.format.XMLFeature.call(this); + + /** + * @inheritDoc + */ + this.defaultDataProjection = GVol.proj.get('EPSG:4326'); +}; +GVol.inherits(GVol.format.OSMXML, GVol.format.XMLFeature); + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.OSMXML.readNode_ = function(node, objectStack) { + var options = /** @type {GVolx.format.ReadOptions} */ (objectStack[0]); + var state = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var id = node.getAttribute('id'); + /** @type {GVol.Coordinate} */ + var coordinates = [ + parseFloat(node.getAttribute('lon')), + parseFloat(node.getAttribute('lat')) + ]; + state.nodes[id] = coordinates; + + var values = GVol.xml.pushParseAndPop({ + tags: {} + }, GVol.format.OSMXML.NODE_PARSERS_, node, objectStack); + if (!GVol.obj.isEmpty(values.tags)) { + var geometry = new GVol.geom.Point(coordinates); + GVol.format.Feature.transformWithOptions(geometry, false, options); + var feature = new GVol.Feature(geometry); + feature.setId(id); + feature.setProperties(values.tags); + state.features.push(feature); + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.OSMXML.readWay_ = function(node, objectStack) { + var options = /** @type {GVolx.format.ReadOptions} */ (objectStack[0]); + var id = node.getAttribute('id'); + var values = GVol.xml.pushParseAndPop({ + ndrefs: [], + tags: {} + }, GVol.format.OSMXML.WAY_PARSERS_, node, objectStack); + var state = /** @type {Object} */ (objectStack[objectStack.length - 1]); + /** @type {Array.<number>} */ + var flatCoordinates = []; + for (var i = 0, ii = values.ndrefs.length; i < ii; i++) { + var point = state.nodes[values.ndrefs[i]]; + GVol.array.extend(flatCoordinates, point); + } + var geometry; + if (values.ndrefs[0] == values.ndrefs[values.ndrefs.length - 1]) { + // closed way + geometry = new GVol.geom.PGVolygon(null); + geometry.setFlatCoordinates(GVol.geom.GeometryLayout.XY, flatCoordinates, + [flatCoordinates.length]); + } else { + geometry = new GVol.geom.LineString(null); + geometry.setFlatCoordinates(GVol.geom.GeometryLayout.XY, flatCoordinates); + } + GVol.format.Feature.transformWithOptions(geometry, false, options); + var feature = new GVol.Feature(geometry); + feature.setId(id); + feature.setProperties(values.tags); + state.features.push(feature); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.OSMXML.readNd_ = function(node, objectStack) { + var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); + values.ndrefs.push(node.getAttribute('ref')); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.OSMXML.readTag_ = function(node, objectStack) { + var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); + values.tags[node.getAttribute('k')] = node.getAttribute('v'); +}; + + +/** + * @const + * @private + * @type {Array.<string>} + */ +GVol.format.OSMXML.NAMESPACE_URIS_ = [ + null +]; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OSMXML.WAY_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OSMXML.NAMESPACE_URIS_, { + 'nd': GVol.format.OSMXML.readNd_, + 'tag': GVol.format.OSMXML.readTag_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OSMXML.PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OSMXML.NAMESPACE_URIS_, { + 'node': GVol.format.OSMXML.readNode_, + 'way': GVol.format.OSMXML.readWay_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OSMXML.NODE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OSMXML.NAMESPACE_URIS_, { + 'tag': GVol.format.OSMXML.readTag_ + }); + + +/** + * Read all features from an OSM source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.OSMXML.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.OSMXML.prototype.readFeaturesFromNode = function(node, opt_options) { + var options = this.getReadOptions(node, opt_options); + if (node.localName == 'osm') { + var state = GVol.xml.pushParseAndPop({ + nodes: {}, + features: [] + }, GVol.format.OSMXML.PARSERS_, node, [options]); + if (state.features) { + return state.features; + } + } + return []; +}; + + +/** + * Read the projection from an OSM source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @return {GVol.proj.Projection} Projection. + * @api + */ +GVol.format.OSMXML.prototype.readProjection; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.OSMXML.prototype.writeFeatureNode = function(feature, opt_options) {}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.OSMXML.prototype.writeFeaturesNode = function(features, opt_options) {}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.OSMXML.prototype.writeGeometryNode = function(geometry, opt_options) {}; + +goog.provide('GVol.format.XLink'); + + +/** + * @const + * @type {string} + */ +GVol.format.XLink.NAMESPACE_URI = 'http://www.w3.org/1999/xlink'; + + +/** + * @param {Node} node Node. + * @return {boGVolean|undefined} BoGVolean. + */ +GVol.format.XLink.readHref = function(node) { + return node.getAttributeNS(GVol.format.XLink.NAMESPACE_URI, 'href'); +}; + +goog.provide('GVol.format.XML'); + +goog.require('GVol.xml'); + + +/** + * @classdesc + * Generic format for reading non-feature XML data + * + * @constructor + * @abstract + * @struct + */ +GVol.format.XML = function() { +}; + + +/** + * @param {Document|Node|string} source Source. + * @return {Object} The parsed result. + */ +GVol.format.XML.prototype.read = function(source) { + if (GVol.xml.isDocument(source)) { + return this.readFromDocument(/** @type {Document} */ (source)); + } else if (GVol.xml.isNode(source)) { + return this.readFromNode(/** @type {Node} */ (source)); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + return this.readFromDocument(doc); + } else { + return null; + } +}; + + +/** + * @abstract + * @param {Document} doc Document. + * @return {Object} Object + */ +GVol.format.XML.prototype.readFromDocument = function(doc) {}; + + +/** + * @abstract + * @param {Node} node Node. + * @return {Object} Object + */ +GVol.format.XML.prototype.readFromNode = function(node) {}; + +goog.provide('GVol.format.OWS'); + +goog.require('GVol'); +goog.require('GVol.format.XLink'); +goog.require('GVol.format.XML'); +goog.require('GVol.format.XSD'); +goog.require('GVol.xml'); + + +/** + * @constructor + * @extends {GVol.format.XML} + */ +GVol.format.OWS = function() { + GVol.format.XML.call(this); +}; +GVol.inherits(GVol.format.OWS, GVol.format.XML); + + +/** + * @inheritDoc + */ +GVol.format.OWS.prototype.readFromDocument = function(doc) { + for (var n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + return this.readFromNode(n); + } + } + return null; +}; + + +/** + * @inheritDoc + */ +GVol.format.OWS.prototype.readFromNode = function(node) { + var owsObject = GVol.xml.pushParseAndPop({}, + GVol.format.OWS.PARSERS_, node, []); + return owsObject ? owsObject : null; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The address. + */ +GVol.format.OWS.readAddress_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.OWS.ADDRESS_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The values. + */ +GVol.format.OWS.readAllowedValues_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.OWS.ALLOWED_VALUES_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The constraint. + */ +GVol.format.OWS.readConstraint_ = function(node, objectStack) { + var name = node.getAttribute('name'); + if (!name) { + return undefined; + } + return GVol.xml.pushParseAndPop({'name': name}, + GVol.format.OWS.CONSTRAINT_PARSERS_, node, + objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The contact info. + */ +GVol.format.OWS.readContactInfo_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.OWS.CONTACT_INFO_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The DCP. + */ +GVol.format.OWS.readDcp_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.OWS.DCP_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The GET object. + */ +GVol.format.OWS.readGet_ = function(node, objectStack) { + var href = GVol.format.XLink.readHref(node); + if (!href) { + return undefined; + } + return GVol.xml.pushParseAndPop({'href': href}, + GVol.format.OWS.REQUEST_METHOD_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The HTTP object. + */ +GVol.format.OWS.readHttp_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, GVol.format.OWS.HTTP_PARSERS_, + node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The operation. + */ +GVol.format.OWS.readOperation_ = function(node, objectStack) { + var name = node.getAttribute('name'); + var value = GVol.xml.pushParseAndPop({}, + GVol.format.OWS.OPERATION_PARSERS_, node, objectStack); + if (!value) { + return undefined; + } + var object = /** @type {Object} */ + (objectStack[objectStack.length - 1]); + object[name] = value; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The operations metadata. + */ +GVol.format.OWS.readOperationsMetadata_ = function(node, + objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.OWS.OPERATIONS_METADATA_PARSERS_, node, + objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The phone. + */ +GVol.format.OWS.readPhone_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.OWS.PHONE_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The service identification. + */ +GVol.format.OWS.readServiceIdentification_ = function(node, + objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.OWS.SERVICE_IDENTIFICATION_PARSERS_, node, + objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The service contact. + */ +GVol.format.OWS.readServiceContact_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.OWS.SERVICE_CONTACT_PARSERS_, node, + objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} The service provider. + */ +GVol.format.OWS.readServiceProvider_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.OWS.SERVICE_PROVIDER_PARSERS_, node, + objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {string|undefined} The value. + */ +GVol.format.OWS.readValue_ = function(node, objectStack) { + return GVol.format.XSD.readString(node); +}; + + +/** + * @const + * @type {Array.<string>} + * @private + */ +GVol.format.OWS.NAMESPACE_URIS_ = [ + null, + 'http://www.opengis.net/ows/1.1' +]; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'ServiceIdentification': GVol.xml.makeObjectPropertySetter( + GVol.format.OWS.readServiceIdentification_), + 'ServiceProvider': GVol.xml.makeObjectPropertySetter( + GVol.format.OWS.readServiceProvider_), + 'OperationsMetadata': GVol.xml.makeObjectPropertySetter( + GVol.format.OWS.readOperationsMetadata_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.ADDRESS_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'DeliveryPoint': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'City': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'AdministrativeArea': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'PostalCode': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Country': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'ElectronicMailAddress': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.ALLOWED_VALUES_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'Value': GVol.xml.makeObjectPropertyPusher(GVol.format.OWS.readValue_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.CONSTRAINT_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'AllowedValues': GVol.xml.makeObjectPropertySetter( + GVol.format.OWS.readAllowedValues_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.CONTACT_INFO_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'Phone': GVol.xml.makeObjectPropertySetter(GVol.format.OWS.readPhone_), + 'Address': GVol.xml.makeObjectPropertySetter(GVol.format.OWS.readAddress_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.DCP_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'HTTP': GVol.xml.makeObjectPropertySetter(GVol.format.OWS.readHttp_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.HTTP_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'Get': GVol.xml.makeObjectPropertyPusher(GVol.format.OWS.readGet_), + 'Post': undefined // TODO + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.OPERATION_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'DCP': GVol.xml.makeObjectPropertySetter(GVol.format.OWS.readDcp_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.OPERATIONS_METADATA_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'Operation': GVol.format.OWS.readOperation_ + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.PHONE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'Voice': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Facsimile': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.REQUEST_METHOD_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'Constraint': GVol.xml.makeObjectPropertyPusher( + GVol.format.OWS.readConstraint_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.SERVICE_CONTACT_PARSERS_ = + GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'IndividualName': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'PositionName': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'ContactInfo': GVol.xml.makeObjectPropertySetter( + GVol.format.OWS.readContactInfo_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.SERVICE_IDENTIFICATION_PARSERS_ = + GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'Title': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'ServiceTypeVersion': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'ServiceType': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.OWS.SERVICE_PROVIDER_PARSERS_ = + GVol.xml.makeStructureNS( + GVol.format.OWS.NAMESPACE_URIS_, { + 'ProviderName': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'ProviderSite': GVol.xml.makeObjectPropertySetter(GVol.format.XLink.readHref), + 'ServiceContact': GVol.xml.makeObjectPropertySetter( + GVol.format.OWS.readServiceContact_) + }); + +goog.provide('GVol.geom.flat.flip'); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {Array.<number>=} opt_dest Destination. + * @param {number=} opt_destOffset Destination offset. + * @return {Array.<number>} Flat coordinates. + */ +GVol.geom.flat.flip.flipXY = function(flatCoordinates, offset, end, stride, opt_dest, opt_destOffset) { + var dest, destOffset; + if (opt_dest !== undefined) { + dest = opt_dest; + destOffset = opt_destOffset !== undefined ? opt_destOffset : 0; + } else { + dest = []; + destOffset = 0; + } + var j = offset; + while (j < end) { + var x = flatCoordinates[j++]; + dest[destOffset++] = flatCoordinates[j++]; + dest[destOffset++] = x; + for (var k = 2; k < stride; ++k) { + dest[destOffset++] = flatCoordinates[j++]; + } + } + dest.length = destOffset; + return dest; +}; + +goog.provide('GVol.format.PGVolyline'); + +goog.require('GVol'); +goog.require('GVol.asserts'); +goog.require('GVol.Feature'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.TextFeature'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.flip'); +goog.require('GVol.geom.flat.inflate'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * Feature format for reading and writing data in the Encoded + * PGVolyline Algorithm Format. + * + * @constructor + * @extends {GVol.format.TextFeature} + * @param {GVolx.format.PGVolylineOptions=} opt_options + * Optional configuration object. + * @api + */ +GVol.format.PGVolyline = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.format.TextFeature.call(this); + + /** + * @inheritDoc + */ + this.defaultDataProjection = GVol.proj.get('EPSG:4326'); + + /** + * @private + * @type {number} + */ + this.factor_ = options.factor ? options.factor : 1e5; + + /** + * @private + * @type {GVol.geom.GeometryLayout} + */ + this.geometryLayout_ = options.geometryLayout ? + options.geometryLayout : GVol.geom.GeometryLayout.XY; +}; +GVol.inherits(GVol.format.PGVolyline, GVol.format.TextFeature); + + +/** + * Encode a list of n-dimensional points and return an encoded string + * + * Attention: This function will modify the passed array! + * + * @param {Array.<number>} numbers A list of n-dimensional points. + * @param {number} stride The number of dimension of the points in the list. + * @param {number=} opt_factor The factor by which the numbers will be + * multiplied. The remaining decimal places will get rounded away. + * Default is `1e5`. + * @return {string} The encoded string. + * @api + */ +GVol.format.PGVolyline.encodeDeltas = function(numbers, stride, opt_factor) { + var factor = opt_factor ? opt_factor : 1e5; + var d; + + var lastNumbers = new Array(stride); + for (d = 0; d < stride; ++d) { + lastNumbers[d] = 0; + } + + var i, ii; + for (i = 0, ii = numbers.length; i < ii;) { + for (d = 0; d < stride; ++d, ++i) { + var num = numbers[i]; + var delta = num - lastNumbers[d]; + lastNumbers[d] = num; + + numbers[i] = delta; + } + } + + return GVol.format.PGVolyline.encodeFloats(numbers, factor); +}; + + +/** + * Decode a list of n-dimensional points from an encoded string + * + * @param {string} encoded An encoded string. + * @param {number} stride The number of dimension of the points in the + * encoded string. + * @param {number=} opt_factor The factor by which the resulting numbers will + * be divided. Default is `1e5`. + * @return {Array.<number>} A list of n-dimensional points. + * @api + */ +GVol.format.PGVolyline.decodeDeltas = function(encoded, stride, opt_factor) { + var factor = opt_factor ? opt_factor : 1e5; + var d; + + /** @type {Array.<number>} */ + var lastNumbers = new Array(stride); + for (d = 0; d < stride; ++d) { + lastNumbers[d] = 0; + } + + var numbers = GVol.format.PGVolyline.decodeFloats(encoded, factor); + + var i, ii; + for (i = 0, ii = numbers.length; i < ii;) { + for (d = 0; d < stride; ++d, ++i) { + lastNumbers[d] += numbers[i]; + + numbers[i] = lastNumbers[d]; + } + } + + return numbers; +}; + + +/** + * Encode a list of floating point numbers and return an encoded string + * + * Attention: This function will modify the passed array! + * + * @param {Array.<number>} numbers A list of floating point numbers. + * @param {number=} opt_factor The factor by which the numbers will be + * multiplied. The remaining decimal places will get rounded away. + * Default is `1e5`. + * @return {string} The encoded string. + * @api + */ +GVol.format.PGVolyline.encodeFloats = function(numbers, opt_factor) { + var factor = opt_factor ? opt_factor : 1e5; + var i, ii; + for (i = 0, ii = numbers.length; i < ii; ++i) { + numbers[i] = Math.round(numbers[i] * factor); + } + + return GVol.format.PGVolyline.encodeSignedIntegers(numbers); +}; + + +/** + * Decode a list of floating point numbers from an encoded string + * + * @param {string} encoded An encoded string. + * @param {number=} opt_factor The factor by which the result will be divided. + * Default is `1e5`. + * @return {Array.<number>} A list of floating point numbers. + * @api + */ +GVol.format.PGVolyline.decodeFloats = function(encoded, opt_factor) { + var factor = opt_factor ? opt_factor : 1e5; + var numbers = GVol.format.PGVolyline.decodeSignedIntegers(encoded); + var i, ii; + for (i = 0, ii = numbers.length; i < ii; ++i) { + numbers[i] /= factor; + } + return numbers; +}; + + +/** + * Encode a list of signed integers and return an encoded string + * + * Attention: This function will modify the passed array! + * + * @param {Array.<number>} numbers A list of signed integers. + * @return {string} The encoded string. + */ +GVol.format.PGVolyline.encodeSignedIntegers = function(numbers) { + var i, ii; + for (i = 0, ii = numbers.length; i < ii; ++i) { + var num = numbers[i]; + numbers[i] = (num < 0) ? ~(num << 1) : (num << 1); + } + return GVol.format.PGVolyline.encodeUnsignedIntegers(numbers); +}; + + +/** + * Decode a list of signed integers from an encoded string + * + * @param {string} encoded An encoded string. + * @return {Array.<number>} A list of signed integers. + */ +GVol.format.PGVolyline.decodeSignedIntegers = function(encoded) { + var numbers = GVol.format.PGVolyline.decodeUnsignedIntegers(encoded); + var i, ii; + for (i = 0, ii = numbers.length; i < ii; ++i) { + var num = numbers[i]; + numbers[i] = (num & 1) ? ~(num >> 1) : (num >> 1); + } + return numbers; +}; + + +/** + * Encode a list of unsigned integers and return an encoded string + * + * @param {Array.<number>} numbers A list of unsigned integers. + * @return {string} The encoded string. + */ +GVol.format.PGVolyline.encodeUnsignedIntegers = function(numbers) { + var encoded = ''; + var i, ii; + for (i = 0, ii = numbers.length; i < ii; ++i) { + encoded += GVol.format.PGVolyline.encodeUnsignedInteger(numbers[i]); + } + return encoded; +}; + + +/** + * Decode a list of unsigned integers from an encoded string + * + * @param {string} encoded An encoded string. + * @return {Array.<number>} A list of unsigned integers. + */ +GVol.format.PGVolyline.decodeUnsignedIntegers = function(encoded) { + var numbers = []; + var current = 0; + var shift = 0; + var i, ii; + for (i = 0, ii = encoded.length; i < ii; ++i) { + var b = encoded.charCodeAt(i) - 63; + current |= (b & 0x1f) << shift; + if (b < 0x20) { + numbers.push(current); + current = 0; + shift = 0; + } else { + shift += 5; + } + } + return numbers; +}; + + +/** + * Encode one single unsigned integer and return an encoded string + * + * @param {number} num Unsigned integer that should be encoded. + * @return {string} The encoded string. + */ +GVol.format.PGVolyline.encodeUnsignedInteger = function(num) { + var value, encoded = ''; + while (num >= 0x20) { + value = (0x20 | (num & 0x1f)) + 63; + encoded += String.fromCharCode(value); + num >>= 5; + } + value = num + 63; + encoded += String.fromCharCode(value); + return encoded; +}; + + +/** + * Read the feature from the PGVolyline source. The coordinates are assumed to be + * in two dimensions and in latitude, longitude order. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + * @api + */ +GVol.format.PGVolyline.prototype.readFeature; + + +/** + * @inheritDoc + */ +GVol.format.PGVolyline.prototype.readFeatureFromText = function(text, opt_options) { + var geometry = this.readGeometryFromText(text, opt_options); + return new GVol.Feature(geometry); +}; + + +/** + * Read the feature from the source. As PGVolyline sources contain a single + * feature, this will return the feature in an array. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.PGVolyline.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.PGVolyline.prototype.readFeaturesFromText = function(text, opt_options) { + var feature = this.readFeatureFromText(text, opt_options); + return [feature]; +}; + + +/** + * Read the geometry from the source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.geom.Geometry} Geometry. + * @api + */ +GVol.format.PGVolyline.prototype.readGeometry; + + +/** + * @inheritDoc + */ +GVol.format.PGVolyline.prototype.readGeometryFromText = function(text, opt_options) { + var stride = GVol.geom.SimpleGeometry.getStrideForLayout(this.geometryLayout_); + var flatCoordinates = GVol.format.PGVolyline.decodeDeltas( + text, stride, this.factor_); + GVol.geom.flat.flip.flipXY( + flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates); + var coordinates = GVol.geom.flat.inflate.coordinates( + flatCoordinates, 0, flatCoordinates.length, stride); + + return /** @type {GVol.geom.Geometry} */ ( + GVol.format.Feature.transformWithOptions( + new GVol.geom.LineString(coordinates, this.geometryLayout_), false, + this.adaptOptions(opt_options))); +}; + + +/** + * Read the projection from a PGVolyline source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @return {GVol.proj.Projection} Projection. + * @api + */ +GVol.format.PGVolyline.prototype.readProjection; + + +/** + * @inheritDoc + */ +GVol.format.PGVolyline.prototype.writeFeatureText = function(feature, opt_options) { + var geometry = feature.getGeometry(); + if (geometry) { + return this.writeGeometryText(geometry, opt_options); + } else { + GVol.asserts.assert(false, 40); // Expected `feature` to have a geometry + return ''; + } +}; + + +/** + * @inheritDoc + */ +GVol.format.PGVolyline.prototype.writeFeaturesText = function(features, opt_options) { + return this.writeFeatureText(features[0], opt_options); +}; + + +/** + * Write a single geometry in PGVolyline format. + * + * @function + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} Geometry. + * @api + */ +GVol.format.PGVolyline.prototype.writeGeometry; + + +/** + * @inheritDoc + */ +GVol.format.PGVolyline.prototype.writeGeometryText = function(geometry, opt_options) { + geometry = /** @type {GVol.geom.LineString} */ + (GVol.format.Feature.transformWithOptions( + geometry, true, this.adaptOptions(opt_options))); + var flatCoordinates = geometry.getFlatCoordinates(); + var stride = geometry.getStride(); + GVol.geom.flat.flip.flipXY( + flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates); + return GVol.format.PGVolyline.encodeDeltas(flatCoordinates, stride, this.factor_); +}; + +goog.provide('GVol.format.TopoJSON'); + +goog.require('GVol'); +goog.require('GVol.Feature'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.JSONFeature'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.MultiPGVolygon'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * Feature format for reading data in the TopoJSON format. + * + * @constructor + * @extends {GVol.format.JSONFeature} + * @param {GVolx.format.TopoJSONOptions=} opt_options Options. + * @api + */ +GVol.format.TopoJSON = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.format.JSONFeature.call(this); + + /** + * @private + * @type {string|undefined} + */ + this.layerName_ = options.layerName; + + /** + * @private + * @type {Array.<string>} + */ + this.layers_ = options.layers ? options.layers : null; + + /** + * @inheritDoc + */ + this.defaultDataProjection = GVol.proj.get( + options.defaultDataProjection ? + options.defaultDataProjection : 'EPSG:4326'); + +}; +GVol.inherits(GVol.format.TopoJSON, GVol.format.JSONFeature); + + +/** + * Concatenate arcs into a coordinate array. + * @param {Array.<number>} indices Indices of arcs to concatenate. Negative + * values indicate arcs need to be reversed. + * @param {Array.<Array.<GVol.Coordinate>>} arcs Array of arcs (already + * transformed). + * @return {Array.<GVol.Coordinate>} Coordinates array. + * @private + */ +GVol.format.TopoJSON.concatenateArcs_ = function(indices, arcs) { + /** @type {Array.<GVol.Coordinate>} */ + var coordinates = []; + var index, arc; + var i, ii; + var j, jj; + for (i = 0, ii = indices.length; i < ii; ++i) { + index = indices[i]; + if (i > 0) { + // splicing together arcs, discard last point + coordinates.pop(); + } + if (index >= 0) { + // forward arc + arc = arcs[index]; + } else { + // reverse arc + arc = arcs[~index].slice().reverse(); + } + coordinates.push.apply(coordinates, arc); + } + // provide fresh copies of coordinate arrays + for (j = 0, jj = coordinates.length; j < jj; ++j) { + coordinates[j] = coordinates[j].slice(); + } + return coordinates; +}; + + +/** + * Create a point from a TopoJSON geometry object. + * + * @param {TopoJSONGeometry} object TopoJSON object. + * @param {Array.<number>} scale Scale for each dimension. + * @param {Array.<number>} translate Translation for each dimension. + * @return {GVol.geom.Point} Geometry. + * @private + */ +GVol.format.TopoJSON.readPointGeometry_ = function(object, scale, translate) { + var coordinates = object.coordinates; + if (scale && translate) { + GVol.format.TopoJSON.transformVertex_(coordinates, scale, translate); + } + return new GVol.geom.Point(coordinates); +}; + + +/** + * Create a multi-point from a TopoJSON geometry object. + * + * @param {TopoJSONGeometry} object TopoJSON object. + * @param {Array.<number>} scale Scale for each dimension. + * @param {Array.<number>} translate Translation for each dimension. + * @return {GVol.geom.MultiPoint} Geometry. + * @private + */ +GVol.format.TopoJSON.readMultiPointGeometry_ = function(object, scale, + translate) { + var coordinates = object.coordinates; + var i, ii; + if (scale && translate) { + for (i = 0, ii = coordinates.length; i < ii; ++i) { + GVol.format.TopoJSON.transformVertex_(coordinates[i], scale, translate); + } + } + return new GVol.geom.MultiPoint(coordinates); +}; + + +/** + * Create a linestring from a TopoJSON geometry object. + * + * @param {TopoJSONGeometry} object TopoJSON object. + * @param {Array.<Array.<GVol.Coordinate>>} arcs Array of arcs. + * @return {GVol.geom.LineString} Geometry. + * @private + */ +GVol.format.TopoJSON.readLineStringGeometry_ = function(object, arcs) { + var coordinates = GVol.format.TopoJSON.concatenateArcs_(object.arcs, arcs); + return new GVol.geom.LineString(coordinates); +}; + + +/** + * Create a multi-linestring from a TopoJSON geometry object. + * + * @param {TopoJSONGeometry} object TopoJSON object. + * @param {Array.<Array.<GVol.Coordinate>>} arcs Array of arcs. + * @return {GVol.geom.MultiLineString} Geometry. + * @private + */ +GVol.format.TopoJSON.readMultiLineStringGeometry_ = function(object, arcs) { + var coordinates = []; + var i, ii; + for (i = 0, ii = object.arcs.length; i < ii; ++i) { + coordinates[i] = GVol.format.TopoJSON.concatenateArcs_(object.arcs[i], arcs); + } + return new GVol.geom.MultiLineString(coordinates); +}; + + +/** + * Create a pGVolygon from a TopoJSON geometry object. + * + * @param {TopoJSONGeometry} object TopoJSON object. + * @param {Array.<Array.<GVol.Coordinate>>} arcs Array of arcs. + * @return {GVol.geom.PGVolygon} Geometry. + * @private + */ +GVol.format.TopoJSON.readPGVolygonGeometry_ = function(object, arcs) { + var coordinates = []; + var i, ii; + for (i = 0, ii = object.arcs.length; i < ii; ++i) { + coordinates[i] = GVol.format.TopoJSON.concatenateArcs_(object.arcs[i], arcs); + } + return new GVol.geom.PGVolygon(coordinates); +}; + + +/** + * Create a multi-pGVolygon from a TopoJSON geometry object. + * + * @param {TopoJSONGeometry} object TopoJSON object. + * @param {Array.<Array.<GVol.Coordinate>>} arcs Array of arcs. + * @return {GVol.geom.MultiPGVolygon} Geometry. + * @private + */ +GVol.format.TopoJSON.readMultiPGVolygonGeometry_ = function(object, arcs) { + var coordinates = []; + var pGVolyArray, ringCoords, j, jj; + var i, ii; + for (i = 0, ii = object.arcs.length; i < ii; ++i) { + // for each pGVolygon + pGVolyArray = object.arcs[i]; + ringCoords = []; + for (j = 0, jj = pGVolyArray.length; j < jj; ++j) { + // for each ring + ringCoords[j] = GVol.format.TopoJSON.concatenateArcs_(pGVolyArray[j], arcs); + } + coordinates[i] = ringCoords; + } + return new GVol.geom.MultiPGVolygon(coordinates); +}; + + +/** + * Create features from a TopoJSON GeometryCGVollection object. + * + * @param {TopoJSONGeometryCGVollection} cGVollection TopoJSON Geometry + * object. + * @param {Array.<Array.<GVol.Coordinate>>} arcs Array of arcs. + * @param {Array.<number>} scale Scale for each dimension. + * @param {Array.<number>} translate Translation for each dimension. + * @param {string|undefined} property Property to set the `GeometryCGVollection`'s parent + * object to. + * @param {string} name Name of the `TopGVology`'s child object. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Array of features. + * @private + */ +GVol.format.TopoJSON.readFeaturesFromGeometryCGVollection_ = function( + cGVollection, arcs, scale, translate, property, name, opt_options) { + var geometries = cGVollection.geometries; + var features = []; + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + features[i] = GVol.format.TopoJSON.readFeatureFromGeometry_( + geometries[i], arcs, scale, translate, property, name, opt_options); + } + return features; +}; + + +/** + * Create a feature from a TopoJSON geometry object. + * + * @param {TopoJSONGeometry} object TopoJSON geometry object. + * @param {Array.<Array.<GVol.Coordinate>>} arcs Array of arcs. + * @param {Array.<number>} scale Scale for each dimension. + * @param {Array.<number>} translate Translation for each dimension. + * @param {string|undefined} property Property to set the `GeometryCGVollection`'s parent + * object to. + * @param {string} name Name of the `TopGVology`'s child object. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + * @private + */ +GVol.format.TopoJSON.readFeatureFromGeometry_ = function(object, arcs, + scale, translate, property, name, opt_options) { + var geometry; + var type = object.type; + var geometryReader = GVol.format.TopoJSON.GEOMETRY_READERS_[type]; + if ((type === 'Point') || (type === 'MultiPoint')) { + geometry = geometryReader(object, scale, translate); + } else { + geometry = geometryReader(object, arcs); + } + var feature = new GVol.Feature(); + feature.setGeometry(/** @type {GVol.geom.Geometry} */ ( + GVol.format.Feature.transformWithOptions(geometry, false, opt_options))); + if (object.id !== undefined) { + feature.setId(object.id); + } + var properties = object.properties; + if (property) { + if (!properties) { + properties = {}; + } + properties[property] = name; + } + if (properties) { + feature.setProperties(properties); + } + return feature; +}; + + +/** + * Read all features from a TopoJSON source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.TopoJSON.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.TopoJSON.prototype.readFeaturesFromObject = function( + object, opt_options) { + if (object.type == 'TopGVology') { + var topoJSONTopGVology = /** @type {TopoJSONTopGVology} */ (object); + var transform, scale = null, translate = null; + if (topoJSONTopGVology.transform) { + transform = topoJSONTopGVology.transform; + scale = transform.scale; + translate = transform.translate; + } + var arcs = topoJSONTopGVology.arcs; + if (transform) { + GVol.format.TopoJSON.transformArcs_(arcs, scale, translate); + } + /** @type {Array.<GVol.Feature>} */ + var features = []; + var topoJSONFeatures = topoJSONTopGVology.objects; + var property = this.layerName_; + var objectName, feature; + for (objectName in topoJSONFeatures) { + if (this.layers_ && this.layers_.indexOf(objectName) == -1) { + continue; + } + if (topoJSONFeatures[objectName].type === 'GeometryCGVollection') { + feature = /** @type {TopoJSONGeometryCGVollection} */ + (topoJSONFeatures[objectName]); + features.push.apply(features, + GVol.format.TopoJSON.readFeaturesFromGeometryCGVollection_( + feature, arcs, scale, translate, property, objectName, opt_options)); + } else { + feature = /** @type {TopoJSONGeometry} */ + (topoJSONFeatures[objectName]); + features.push(GVol.format.TopoJSON.readFeatureFromGeometry_( + feature, arcs, scale, translate, property, objectName, opt_options)); + } + } + return features; + } else { + return []; + } +}; + + +/** + * Apply a linear transform to array of arcs. The provided array of arcs is + * modified in place. + * + * @param {Array.<Array.<GVol.Coordinate>>} arcs Array of arcs. + * @param {Array.<number>} scale Scale for each dimension. + * @param {Array.<number>} translate Translation for each dimension. + * @private + */ +GVol.format.TopoJSON.transformArcs_ = function(arcs, scale, translate) { + var i, ii; + for (i = 0, ii = arcs.length; i < ii; ++i) { + GVol.format.TopoJSON.transformArc_(arcs[i], scale, translate); + } +}; + + +/** + * Apply a linear transform to an arc. The provided arc is modified in place. + * + * @param {Array.<GVol.Coordinate>} arc Arc. + * @param {Array.<number>} scale Scale for each dimension. + * @param {Array.<number>} translate Translation for each dimension. + * @private + */ +GVol.format.TopoJSON.transformArc_ = function(arc, scale, translate) { + var x = 0; + var y = 0; + var vertex; + var i, ii; + for (i = 0, ii = arc.length; i < ii; ++i) { + vertex = arc[i]; + x += vertex[0]; + y += vertex[1]; + vertex[0] = x; + vertex[1] = y; + GVol.format.TopoJSON.transformVertex_(vertex, scale, translate); + } +}; + + +/** + * Apply a linear transform to a vertex. The provided vertex is modified in + * place. + * + * @param {GVol.Coordinate} vertex Vertex. + * @param {Array.<number>} scale Scale for each dimension. + * @param {Array.<number>} translate Translation for each dimension. + * @private + */ +GVol.format.TopoJSON.transformVertex_ = function(vertex, scale, translate) { + vertex[0] = vertex[0] * scale[0] + translate[0]; + vertex[1] = vertex[1] * scale[1] + translate[1]; +}; + + +/** + * Read the projection from a TopoJSON source. + * + * @param {Document|Node|Object|string} object Source. + * @return {GVol.proj.Projection} Projection. + * @override + * @api + */ +GVol.format.TopoJSON.prototype.readProjection; + + +/** + * @inheritDoc + */ +GVol.format.TopoJSON.prototype.readProjectionFromObject = function(object) { + return this.defaultDataProjection; +}; + + +/** + * @const + * @private + * @type {Object.<string, function(TopoJSONGeometry, Array, ...Array): GVol.geom.Geometry>} + */ +GVol.format.TopoJSON.GEOMETRY_READERS_ = { + 'Point': GVol.format.TopoJSON.readPointGeometry_, + 'LineString': GVol.format.TopoJSON.readLineStringGeometry_, + 'PGVolygon': GVol.format.TopoJSON.readPGVolygonGeometry_, + 'MultiPoint': GVol.format.TopoJSON.readMultiPointGeometry_, + 'MultiLineString': GVol.format.TopoJSON.readMultiLineStringGeometry_, + 'MultiPGVolygon': GVol.format.TopoJSON.readMultiPGVolygonGeometry_ +}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.TopoJSON.prototype.writeFeatureObject = function(feature, opt_options) {}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.TopoJSON.prototype.writeFeaturesObject = function(features, opt_options) {}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.TopoJSON.prototype.writeGeometryObject = function(geometry, opt_options) {}; + + +/** + * Not implemented. + * @override + */ +GVol.format.TopoJSON.prototype.readGeometryFromObject = function() {}; + + +/** + * Not implemented. + * @override + */ +GVol.format.TopoJSON.prototype.readFeatureFromObject = function() {}; + +goog.provide('GVol.format.WFS'); + +goog.require('GVol'); +goog.require('GVol.asserts'); +goog.require('GVol.format.GML2'); +goog.require('GVol.format.GML3'); +goog.require('GVol.format.GMLBase'); +goog.require('GVol.format.filter'); +goog.require('GVol.format.XMLFeature'); +goog.require('GVol.format.XSD'); +goog.require('GVol.geom.Geometry'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Feature format for reading and writing data in the WFS format. + * By default, supports WFS version 1.1.0. You can pass a GML format + * as option if you want to read a WFS that contains GML2 (WFS 1.0.0). + * Also see {@link GVol.format.GMLBase} which is used by this format. + * + * @constructor + * @param {GVolx.format.WFSOptions=} opt_options + * Optional configuration object. + * @extends {GVol.format.XMLFeature} + * @api + */ +GVol.format.WFS = function(opt_options) { + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {Array.<string>|string|undefined} + */ + this.featureType_ = options.featureType; + + /** + * @private + * @type {Object.<string, string>|string|undefined} + */ + this.featureNS_ = options.featureNS; + + /** + * @private + * @type {GVol.format.GMLBase} + */ + this.gmlFormat_ = options.gmlFormat ? + options.gmlFormat : new GVol.format.GML3(); + + /** + * @private + * @type {string} + */ + this.schemaLocation_ = options.schemaLocation ? + options.schemaLocation : + GVol.format.WFS.SCHEMA_LOCATIONS[GVol.format.WFS.DEFAULT_VERSION]; + + GVol.format.XMLFeature.call(this); +}; +GVol.inherits(GVol.format.WFS, GVol.format.XMLFeature); + + +/** + * @const + * @type {string} + */ +GVol.format.WFS.FEATURE_PREFIX = 'feature'; + + +/** + * @const + * @type {string} + */ +GVol.format.WFS.XMLNS = 'http://www.w3.org/2000/xmlns/'; + + +/** + * @const + * @type {string} + */ +GVol.format.WFS.OGCNS = 'http://www.opengis.net/ogc'; + + +/** + * @const + * @type {string} + */ +GVol.format.WFS.WFSNS = 'http://www.opengis.net/wfs'; + + +/** + * @const + * @type {string} + */ +GVol.format.WFS.FESNS = 'http://www.opengis.net/fes'; + + +/** + * @const + * @type {Object.<string, string>} + */ +GVol.format.WFS.SCHEMA_LOCATIONS = { + '1.1.0': 'http://www.opengis.net/wfs ' + + 'http://schemas.opengis.net/wfs/1.1.0/wfs.xsd', + '1.0.0': 'http://www.opengis.net/wfs ' + + 'http://schemas.opengis.net/wfs/1.0.0/wfs.xsd' +}; + + +/** + * @const + * @type {string} + */ +GVol.format.WFS.DEFAULT_VERSION = '1.1.0'; + + +/** + * Read all features from a WFS FeatureCGVollection. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.WFS.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.WFS.prototype.readFeaturesFromNode = function(node, opt_options) { + var context = /** @type {GVol.XmlNodeStackItem} */ ({ + 'featureType': this.featureType_, + 'featureNS': this.featureNS_ + }); + GVol.obj.assign(context, this.getReadOptions(node, + opt_options ? opt_options : {})); + var objectStack = [context]; + this.gmlFormat_.FEATURE_COLLECTION_PARSERS[GVol.format.GMLBase.GMLNS][ + 'featureMember'] = + GVol.xml.makeArrayPusher(GVol.format.GMLBase.prototype.readFeaturesInternal); + var features = GVol.xml.pushParseAndPop([], + this.gmlFormat_.FEATURE_COLLECTION_PARSERS, node, + objectStack, this.gmlFormat_); + if (!features) { + features = []; + } + return features; +}; + + +/** + * Read transaction response of the source. + * + * @param {Document|Node|Object|string} source Source. + * @return {GVol.WFSTransactionResponse|undefined} Transaction response. + * @api + */ +GVol.format.WFS.prototype.readTransactionResponse = function(source) { + if (GVol.xml.isDocument(source)) { + return this.readTransactionResponseFromDocument( + /** @type {Document} */ (source)); + } else if (GVol.xml.isNode(source)) { + return this.readTransactionResponseFromNode(/** @type {Node} */ (source)); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + return this.readTransactionResponseFromDocument(doc); + } else { + return undefined; + } +}; + + +/** + * Read feature cGVollection metadata of the source. + * + * @param {Document|Node|Object|string} source Source. + * @return {GVol.WFSFeatureCGVollectionMetadata|undefined} + * FeatureCGVollection metadata. + * @api + */ +GVol.format.WFS.prototype.readFeatureCGVollectionMetadata = function(source) { + if (GVol.xml.isDocument(source)) { + return this.readFeatureCGVollectionMetadataFromDocument( + /** @type {Document} */ (source)); + } else if (GVol.xml.isNode(source)) { + return this.readFeatureCGVollectionMetadataFromNode( + /** @type {Node} */ (source)); + } else if (typeof source === 'string') { + var doc = GVol.xml.parse(source); + return this.readFeatureCGVollectionMetadataFromDocument(doc); + } else { + return undefined; + } +}; + + +/** + * @param {Document} doc Document. + * @return {GVol.WFSFeatureCGVollectionMetadata|undefined} + * FeatureCGVollection metadata. + */ +GVol.format.WFS.prototype.readFeatureCGVollectionMetadataFromDocument = function(doc) { + for (var n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + return this.readFeatureCGVollectionMetadataFromNode(n); + } + } + return undefined; +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WFS.FEATURE_COLLECTION_PARSERS_ = { + 'http://www.opengis.net/gml': { + 'boundedBy': GVol.xml.makeObjectPropertySetter( + GVol.format.GMLBase.prototype.readGeometryElement, 'bounds') + } +}; + + +/** + * @param {Node} node Node. + * @return {GVol.WFSFeatureCGVollectionMetadata|undefined} + * FeatureCGVollection metadata. + */ +GVol.format.WFS.prototype.readFeatureCGVollectionMetadataFromNode = function(node) { + var result = {}; + var value = GVol.format.XSD.readNonNegativeIntegerString( + node.getAttribute('numberOfFeatures')); + result['numberOfFeatures'] = value; + return GVol.xml.pushParseAndPop( + /** @type {GVol.WFSFeatureCGVollectionMetadata} */ (result), + GVol.format.WFS.FEATURE_COLLECTION_PARSERS_, node, [], this.gmlFormat_); +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WFS.TRANSACTION_SUMMARY_PARSERS_ = { + 'http://www.opengis.net/wfs': { + 'totalInserted': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'totalUpdated': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'totalDeleted': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger) + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Transaction Summary. + * @private + */ +GVol.format.WFS.readTransactionSummary_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WFS.TRANSACTION_SUMMARY_PARSERS_, node, objectStack); +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WFS.OGC_FID_PARSERS_ = { + 'http://www.opengis.net/ogc': { + 'FeatureId': GVol.xml.makeArrayPusher(function(node, objectStack) { + return node.getAttribute('fid'); + }) + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + */ +GVol.format.WFS.fidParser_ = function(node, objectStack) { + GVol.xml.parseNode(GVol.format.WFS.OGC_FID_PARSERS_, node, objectStack); +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WFS.INSERT_RESULTS_PARSERS_ = { + 'http://www.opengis.net/wfs': { + 'Feature': GVol.format.WFS.fidParser_ + } +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Array.<string>|undefined} Insert results. + * @private + */ +GVol.format.WFS.readInsertResults_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + [], GVol.format.WFS.INSERT_RESULTS_PARSERS_, node, objectStack); +}; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WFS.TRANSACTION_RESPONSE_PARSERS_ = { + 'http://www.opengis.net/wfs': { + 'TransactionSummary': GVol.xml.makeObjectPropertySetter( + GVol.format.WFS.readTransactionSummary_, 'transactionSummary'), + 'InsertResults': GVol.xml.makeObjectPropertySetter( + GVol.format.WFS.readInsertResults_, 'insertIds') + } +}; + + +/** + * @param {Document} doc Document. + * @return {GVol.WFSTransactionResponse|undefined} Transaction response. + */ +GVol.format.WFS.prototype.readTransactionResponseFromDocument = function(doc) { + for (var n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + return this.readTransactionResponseFromNode(n); + } + } + return undefined; +}; + + +/** + * @param {Node} node Node. + * @return {GVol.WFSTransactionResponse|undefined} Transaction response. + */ +GVol.format.WFS.prototype.readTransactionResponseFromNode = function(node) { + return GVol.xml.pushParseAndPop( + /** @type {GVol.WFSTransactionResponse} */({}), + GVol.format.WFS.TRANSACTION_RESPONSE_PARSERS_, node, []); +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.WFS.QUERY_SERIALIZERS_ = { + 'http://www.opengis.net/wfs': { + 'PropertyName': GVol.xml.makeChildAppender(GVol.format.XSD.writeStringTextNode) + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Feature} feature Feature. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeFeature_ = function(node, feature, objectStack) { + var context = objectStack[objectStack.length - 1]; + var featureType = context['featureType']; + var featureNS = context['featureNS']; + var gmlVersion = context['gmlVersion']; + var child = GVol.xml.createElementNS(featureNS, featureType); + node.appendChild(child); + if (gmlVersion === 2) { + GVol.format.GML2.prototype.writeFeatureElement(child, feature, objectStack); + } else { + GVol.format.GML3.prototype.writeFeatureElement(child, feature, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {number|string} fid Feature identifier. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeOgcFidFilter_ = function(node, fid, objectStack) { + var filter = GVol.xml.createElementNS(GVol.format.WFS.OGCNS, 'Filter'); + var child = GVol.xml.createElementNS(GVol.format.WFS.OGCNS, 'FeatureId'); + filter.appendChild(child); + child.setAttribute('fid', fid); + node.appendChild(filter); +}; + + +/** + * @param {string|undefined} featurePrefix The prefix of the feature. + * @param {string} featureType The type of the feature. + * @returns {string} The value of the typeName property. + * @private + */ +GVol.format.WFS.getTypeName_ = function(featurePrefix, featureType) { + featurePrefix = featurePrefix ? featurePrefix : + GVol.format.WFS.FEATURE_PREFIX; + var prefix = featurePrefix + ':'; + // The featureType already contains the prefix. + if (featureType.indexOf(prefix) === 0) { + return featureType; + } else { + return prefix + featureType; + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Feature} feature Feature. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeDelete_ = function(node, feature, objectStack) { + var context = objectStack[objectStack.length - 1]; + GVol.asserts.assert(feature.getId() !== undefined, 26); // Features must have an id set + var featureType = context['featureType']; + var featurePrefix = context['featurePrefix']; + var featureNS = context['featureNS']; + var typeName = GVol.format.WFS.getTypeName_(featurePrefix, featureType); + node.setAttribute('typeName', typeName); + GVol.xml.setAttributeNS(node, GVol.format.WFS.XMLNS, 'xmlns:' + featurePrefix, + featureNS); + var fid = feature.getId(); + if (fid !== undefined) { + GVol.format.WFS.writeOgcFidFilter_(node, fid, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.Feature} feature Feature. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeUpdate_ = function(node, feature, objectStack) { + var context = objectStack[objectStack.length - 1]; + GVol.asserts.assert(feature.getId() !== undefined, 27); // Features must have an id set + var featureType = context['featureType']; + var featurePrefix = context['featurePrefix']; + var featureNS = context['featureNS']; + var typeName = GVol.format.WFS.getTypeName_(featurePrefix, featureType); + node.setAttribute('typeName', typeName); + GVol.xml.setAttributeNS(node, GVol.format.WFS.XMLNS, 'xmlns:' + featurePrefix, + featureNS); + var fid = feature.getId(); + if (fid !== undefined) { + var keys = feature.getKeys(); + var values = []; + for (var i = 0, ii = keys.length; i < ii; i++) { + var value = feature.get(keys[i]); + if (value !== undefined) { + values.push({name: keys[i], value: value}); + } + } + GVol.xml.pushSerializeAndPop(/** @type {GVol.XmlNodeStackItem} */ ( + {'gmlVersion': context['gmlVersion'], node: node, + 'hasZ': context['hasZ'], 'srsName': context['srsName']}), + GVol.format.WFS.TRANSACTION_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory('Property'), values, + objectStack); + GVol.format.WFS.writeOgcFidFilter_(node, fid, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {Object} pair Property name and value. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeProperty_ = function(node, pair, objectStack) { + var name = GVol.xml.createElementNS(GVol.format.WFS.WFSNS, 'Name'); + var context = objectStack[objectStack.length - 1]; + var gmlVersion = context['gmlVersion']; + node.appendChild(name); + GVol.format.XSD.writeStringTextNode(name, pair.name); + if (pair.value !== undefined && pair.value !== null) { + var value = GVol.xml.createElementNS(GVol.format.WFS.WFSNS, 'Value'); + node.appendChild(value); + if (pair.value instanceof GVol.geom.Geometry) { + if (gmlVersion === 2) { + GVol.format.GML2.prototype.writeGeometryElement(value, + pair.value, objectStack); + } else { + GVol.format.GML3.prototype.writeGeometryElement(value, + pair.value, objectStack); + } + } else { + GVol.format.XSD.writeStringTextNode(value, pair.value); + } + } +}; + + +/** + * @param {Node} node Node. + * @param {{vendorId: string, safeToIgnore: boGVolean, value: string}} + * nativeElement The native element. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeNative_ = function(node, nativeElement, objectStack) { + if (nativeElement.vendorId) { + node.setAttribute('vendorId', nativeElement.vendorId); + } + if (nativeElement.safeToIgnore !== undefined) { + node.setAttribute('safeToIgnore', nativeElement.safeToIgnore); + } + if (nativeElement.value !== undefined) { + GVol.format.XSD.writeStringTextNode(node, nativeElement.value); + } +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.WFS.TRANSACTION_SERIALIZERS_ = { + 'http://www.opengis.net/wfs': { + 'Insert': GVol.xml.makeChildAppender(GVol.format.WFS.writeFeature_), + 'Update': GVol.xml.makeChildAppender(GVol.format.WFS.writeUpdate_), + 'Delete': GVol.xml.makeChildAppender(GVol.format.WFS.writeDelete_), + 'Property': GVol.xml.makeChildAppender(GVol.format.WFS.writeProperty_), + 'Native': GVol.xml.makeChildAppender(GVol.format.WFS.writeNative_) + } +}; + + +/** + * @param {Node} node Node. + * @param {string} featureType Feature type. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeQuery_ = function(node, featureType, objectStack) { + var context = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var featurePrefix = context['featurePrefix']; + var featureNS = context['featureNS']; + var propertyNames = context['propertyNames']; + var srsName = context['srsName']; + var typeName; + // If feature prefix is not defined, we must not use the default prefix. + if (featurePrefix) { + typeName = GVol.format.WFS.getTypeName_(featurePrefix, featureType); + } else { + typeName = featureType; + } + node.setAttribute('typeName', typeName); + if (srsName) { + node.setAttribute('srsName', srsName); + } + if (featureNS) { + GVol.xml.setAttributeNS(node, GVol.format.WFS.XMLNS, 'xmlns:' + featurePrefix, + featureNS); + } + var item = /** @type {GVol.XmlNodeStackItem} */ (GVol.obj.assign({}, context)); + item.node = node; + GVol.xml.pushSerializeAndPop(item, + GVol.format.WFS.QUERY_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory('PropertyName'), propertyNames, + objectStack); + var filter = context['filter']; + if (filter) { + var child = GVol.xml.createElementNS(GVol.format.WFS.OGCNS, 'Filter'); + node.appendChild(child); + GVol.format.WFS.writeFilterCondition_(child, filter, objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.Filter} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeFilterCondition_ = function(node, filter, objectStack) { + /** @type {GVol.XmlNodeStackItem} */ + var item = {node: node}; + GVol.xml.pushSerializeAndPop(item, + GVol.format.WFS.GETFEATURE_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory(filter.getTagName()), + [filter], objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.Bbox} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeBboxFilter_ = function(node, filter, objectStack) { + var context = objectStack[objectStack.length - 1]; + context['srsName'] = filter.srsName; + + GVol.format.WFS.writeOgcPropertyName_(node, filter.geometryName); + GVol.format.GML3.prototype.writeGeometryElement(node, filter.extent, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.Intersects} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeIntersectsFilter_ = function(node, filter, objectStack) { + var context = objectStack[objectStack.length - 1]; + context['srsName'] = filter.srsName; + + GVol.format.WFS.writeOgcPropertyName_(node, filter.geometryName); + GVol.format.GML3.prototype.writeGeometryElement(node, filter.geometry, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.Within} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeWithinFilter_ = function(node, filter, objectStack) { + var context = objectStack[objectStack.length - 1]; + context['srsName'] = filter.srsName; + + GVol.format.WFS.writeOgcPropertyName_(node, filter.geometryName); + GVol.format.GML3.prototype.writeGeometryElement(node, filter.geometry, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.During} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeDuringFilter_ = function(node, filter, objectStack) { + + var valueReference = GVol.xml.createElementNS(GVol.format.WFS.FESNS, 'ValueReference'); + GVol.format.XSD.writeStringTextNode(valueReference, filter.propertyName); + node.appendChild(valueReference); + + var timePeriod = GVol.xml.createElementNS(GVol.format.GMLBase.GMLNS, 'TimePeriod'); + + node.appendChild(timePeriod); + + var begin = GVol.xml.createElementNS(GVol.format.GMLBase.GMLNS, 'begin'); + timePeriod.appendChild(begin); + GVol.format.WFS.writeTimeInstant_(begin, filter.begin); + + var end = GVol.xml.createElementNS(GVol.format.GMLBase.GMLNS, 'end'); + timePeriod.appendChild(end); + GVol.format.WFS.writeTimeInstant_(end, filter.end); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.LogicalNary} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeLogicalFilter_ = function(node, filter, objectStack) { + /** @type {GVol.XmlNodeStackItem} */ + var item = {node: node}; + var conditions = filter.conditions; + for (var i = 0, ii = conditions.length; i < ii; ++i) { + var condition = conditions[i]; + GVol.xml.pushSerializeAndPop(item, + GVol.format.WFS.GETFEATURE_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory(condition.getTagName()), + [condition], objectStack); + } +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.Not} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeNotFilter_ = function(node, filter, objectStack) { + /** @type {GVol.XmlNodeStackItem} */ + var item = {node: node}; + var condition = filter.condition; + GVol.xml.pushSerializeAndPop(item, + GVol.format.WFS.GETFEATURE_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory(condition.getTagName()), + [condition], objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.ComparisonBinary} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeComparisonFilter_ = function(node, filter, objectStack) { + if (filter.matchCase !== undefined) { + node.setAttribute('matchCase', filter.matchCase.toString()); + } + GVol.format.WFS.writeOgcPropertyName_(node, filter.propertyName); + GVol.format.WFS.writeOgcLiteral_(node, '' + filter.expression); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.IsNull} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeIsNullFilter_ = function(node, filter, objectStack) { + GVol.format.WFS.writeOgcPropertyName_(node, filter.propertyName); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.IsBetween} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeIsBetweenFilter_ = function(node, filter, objectStack) { + GVol.format.WFS.writeOgcPropertyName_(node, filter.propertyName); + + var lowerBoundary = GVol.xml.createElementNS(GVol.format.WFS.OGCNS, 'LowerBoundary'); + node.appendChild(lowerBoundary); + GVol.format.WFS.writeOgcLiteral_(lowerBoundary, '' + filter.lowerBoundary); + + var upperBoundary = GVol.xml.createElementNS(GVol.format.WFS.OGCNS, 'UpperBoundary'); + node.appendChild(upperBoundary); + GVol.format.WFS.writeOgcLiteral_(upperBoundary, '' + filter.upperBoundary); +}; + + +/** + * @param {Node} node Node. + * @param {GVol.format.filter.IsLike} filter Filter. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeIsLikeFilter_ = function(node, filter, objectStack) { + node.setAttribute('wildCard', filter.wildCard); + node.setAttribute('singleChar', filter.singleChar); + node.setAttribute('escapeChar', filter.escapeChar); + if (filter.matchCase !== undefined) { + node.setAttribute('matchCase', filter.matchCase.toString()); + } + GVol.format.WFS.writeOgcPropertyName_(node, filter.propertyName); + GVol.format.WFS.writeOgcLiteral_(node, '' + filter.pattern); +}; + + +/** + * @param {string} tagName Tag name. + * @param {Node} node Node. + * @param {string} value Value. + * @private + */ +GVol.format.WFS.writeOgcExpression_ = function(tagName, node, value) { + var property = GVol.xml.createElementNS(GVol.format.WFS.OGCNS, tagName); + GVol.format.XSD.writeStringTextNode(property, value); + node.appendChild(property); +}; + + +/** + * @param {Node} node Node. + * @param {string} value PropertyName value. + * @private + */ +GVol.format.WFS.writeOgcPropertyName_ = function(node, value) { + GVol.format.WFS.writeOgcExpression_('PropertyName', node, value); +}; + + +/** + * @param {Node} node Node. + * @param {string} value PropertyName value. + * @private + */ +GVol.format.WFS.writeOgcLiteral_ = function(node, value) { + GVol.format.WFS.writeOgcExpression_('Literal', node, value); +}; + + +/** + * @param {Node} node Node. + * @param {string} time PropertyName value. + * @private + */ +GVol.format.WFS.writeTimeInstant_ = function(node, time) { + var timeInstant = GVol.xml.createElementNS(GVol.format.GMLBase.GMLNS, 'TimeInstant'); + node.appendChild(timeInstant); + + var timePosition = GVol.xml.createElementNS(GVol.format.GMLBase.GMLNS, 'timePosition'); + timeInstant.appendChild(timePosition); + GVol.format.XSD.writeStringTextNode(timePosition, time); +}; + + +/** + * @type {Object.<string, Object.<string, GVol.XmlSerializer>>} + * @private + */ +GVol.format.WFS.GETFEATURE_SERIALIZERS_ = { + 'http://www.opengis.net/wfs': { + 'Query': GVol.xml.makeChildAppender(GVol.format.WFS.writeQuery_) + }, + 'http://www.opengis.net/ogc': { + 'During': GVol.xml.makeChildAppender(GVol.format.WFS.writeDuringFilter_), + 'And': GVol.xml.makeChildAppender(GVol.format.WFS.writeLogicalFilter_), + 'Or': GVol.xml.makeChildAppender(GVol.format.WFS.writeLogicalFilter_), + 'Not': GVol.xml.makeChildAppender(GVol.format.WFS.writeNotFilter_), + 'BBOX': GVol.xml.makeChildAppender(GVol.format.WFS.writeBboxFilter_), + 'Intersects': GVol.xml.makeChildAppender(GVol.format.WFS.writeIntersectsFilter_), + 'Within': GVol.xml.makeChildAppender(GVol.format.WFS.writeWithinFilter_), + 'PropertyIsEqualTo': GVol.xml.makeChildAppender(GVol.format.WFS.writeComparisonFilter_), + 'PropertyIsNotEqualTo': GVol.xml.makeChildAppender(GVol.format.WFS.writeComparisonFilter_), + 'PropertyIsLessThan': GVol.xml.makeChildAppender(GVol.format.WFS.writeComparisonFilter_), + 'PropertyIsLessThanOrEqualTo': GVol.xml.makeChildAppender(GVol.format.WFS.writeComparisonFilter_), + 'PropertyIsGreaterThan': GVol.xml.makeChildAppender(GVol.format.WFS.writeComparisonFilter_), + 'PropertyIsGreaterThanOrEqualTo': GVol.xml.makeChildAppender(GVol.format.WFS.writeComparisonFilter_), + 'PropertyIsNull': GVol.xml.makeChildAppender(GVol.format.WFS.writeIsNullFilter_), + 'PropertyIsBetween': GVol.xml.makeChildAppender(GVol.format.WFS.writeIsBetweenFilter_), + 'PropertyIsLike': GVol.xml.makeChildAppender(GVol.format.WFS.writeIsLikeFilter_) + } +}; + + +/** + * Encode filter as WFS `Filter` and return the Node. + * + * @param {GVol.format.filter.Filter} filter Filter. + * @return {Node} Result. + * @api + */ +GVol.format.WFS.writeFilter = function(filter) { + var child = GVol.xml.createElementNS(GVol.format.WFS.OGCNS, 'Filter'); + GVol.format.WFS.writeFilterCondition_(child, filter, []); + return child; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<string>} featureTypes Feature types. + * @param {Array.<*>} objectStack Node stack. + * @private + */ +GVol.format.WFS.writeGetFeature_ = function(node, featureTypes, objectStack) { + var context = /** @type {Object} */ (objectStack[objectStack.length - 1]); + var item = /** @type {GVol.XmlNodeStackItem} */ (GVol.obj.assign({}, context)); + item.node = node; + GVol.xml.pushSerializeAndPop(item, + GVol.format.WFS.GETFEATURE_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory('Query'), featureTypes, + objectStack); +}; + + +/** + * Encode format as WFS `GetFeature` and return the Node. + * + * @param {GVolx.format.WFSWriteGetFeatureOptions} options Options. + * @return {Node} Result. + * @api + */ +GVol.format.WFS.prototype.writeGetFeature = function(options) { + var node = GVol.xml.createElementNS(GVol.format.WFS.WFSNS, 'GetFeature'); + node.setAttribute('service', 'WFS'); + node.setAttribute('version', '1.1.0'); + var filter; + if (options) { + if (options.handle) { + node.setAttribute('handle', options.handle); + } + if (options.outputFormat) { + node.setAttribute('outputFormat', options.outputFormat); + } + if (options.maxFeatures !== undefined) { + node.setAttribute('maxFeatures', options.maxFeatures); + } + if (options.resultType) { + node.setAttribute('resultType', options.resultType); + } + if (options.startIndex !== undefined) { + node.setAttribute('startIndex', options.startIndex); + } + if (options.count !== undefined) { + node.setAttribute('count', options.count); + } + filter = options.filter; + if (options.bbox) { + GVol.asserts.assert(options.geometryName, + 12); // `options.geometryName` must also be provided when `options.bbox` is set + var bbox = GVol.format.filter.bbox( + /** @type {string} */ (options.geometryName), options.bbox, options.srsName); + if (filter) { + // if bbox and filter are both set, combine the two into a single filter + filter = GVol.format.filter.and(filter, bbox); + } else { + filter = bbox; + } + } + } + GVol.xml.setAttributeNS(node, 'http://www.w3.org/2001/XMLSchema-instance', + 'xsi:schemaLocation', this.schemaLocation_); + /** @type {GVol.XmlNodeStackItem} */ + var context = { + node: node, + 'srsName': options.srsName, + 'featureNS': options.featureNS ? options.featureNS : this.featureNS_, + 'featurePrefix': options.featurePrefix, + 'geometryName': options.geometryName, + 'filter': filter, + 'propertyNames': options.propertyNames ? options.propertyNames : [] + }; + GVol.asserts.assert(Array.isArray(options.featureTypes), + 11); // `options.featureTypes` should be an Array + GVol.format.WFS.writeGetFeature_(node, /** @type {!Array.<string>} */ (options.featureTypes), [context]); + return node; +}; + + +/** + * Encode format as WFS `Transaction` and return the Node. + * + * @param {Array.<GVol.Feature>} inserts The features to insert. + * @param {Array.<GVol.Feature>} updates The features to update. + * @param {Array.<GVol.Feature>} deletes The features to delete. + * @param {GVolx.format.WFSWriteTransactionOptions} options Write options. + * @return {Node} Result. + * @api + */ +GVol.format.WFS.prototype.writeTransaction = function(inserts, updates, deletes, + options) { + var objectStack = []; + var node = GVol.xml.createElementNS(GVol.format.WFS.WFSNS, 'Transaction'); + var version = options.version ? + options.version : GVol.format.WFS.DEFAULT_VERSION; + var gmlVersion = version === '1.0.0' ? 2 : 3; + node.setAttribute('service', 'WFS'); + node.setAttribute('version', version); + var baseObj; + /** @type {GVol.XmlNodeStackItem} */ + var obj; + if (options) { + baseObj = options.gmlOptions ? options.gmlOptions : {}; + if (options.handle) { + node.setAttribute('handle', options.handle); + } + } + var schemaLocation = GVol.format.WFS.SCHEMA_LOCATIONS[version]; + GVol.xml.setAttributeNS(node, 'http://www.w3.org/2001/XMLSchema-instance', + 'xsi:schemaLocation', schemaLocation); + var featurePrefix = options.featurePrefix ? options.featurePrefix : GVol.format.WFS.FEATURE_PREFIX; + if (inserts) { + obj = {node: node, 'featureNS': options.featureNS, + 'featureType': options.featureType, 'featurePrefix': featurePrefix, + 'gmlVersion': gmlVersion, 'hasZ': options.hasZ, 'srsName': options.srsName}; + GVol.obj.assign(obj, baseObj); + GVol.xml.pushSerializeAndPop(obj, + GVol.format.WFS.TRANSACTION_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory('Insert'), inserts, + objectStack); + } + if (updates) { + obj = {node: node, 'featureNS': options.featureNS, + 'featureType': options.featureType, 'featurePrefix': featurePrefix, + 'gmlVersion': gmlVersion, 'hasZ': options.hasZ, 'srsName': options.srsName}; + GVol.obj.assign(obj, baseObj); + GVol.xml.pushSerializeAndPop(obj, + GVol.format.WFS.TRANSACTION_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory('Update'), updates, + objectStack); + } + if (deletes) { + GVol.xml.pushSerializeAndPop({node: node, 'featureNS': options.featureNS, + 'featureType': options.featureType, 'featurePrefix': featurePrefix, + 'gmlVersion': gmlVersion, 'srsName': options.srsName}, + GVol.format.WFS.TRANSACTION_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory('Delete'), deletes, + objectStack); + } + if (options.nativeElements) { + GVol.xml.pushSerializeAndPop({node: node, 'featureNS': options.featureNS, + 'featureType': options.featureType, 'featurePrefix': featurePrefix, + 'gmlVersion': gmlVersion, 'srsName': options.srsName}, + GVol.format.WFS.TRANSACTION_SERIALIZERS_, + GVol.xml.makeSimpleNodeFactory('Native'), options.nativeElements, + objectStack); + } + return node; +}; + + +/** + * Read the projection from a WFS source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @return {?GVol.proj.Projection} Projection. + * @api + */ +GVol.format.WFS.prototype.readProjection; + + +/** + * @inheritDoc + */ +GVol.format.WFS.prototype.readProjectionFromDocument = function(doc) { + for (var n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + return this.readProjectionFromNode(n); + } + } + return null; +}; + + +/** + * @inheritDoc + */ +GVol.format.WFS.prototype.readProjectionFromNode = function(node) { + if (node.firstElementChild && + node.firstElementChild.firstElementChild) { + node = node.firstElementChild.firstElementChild; + for (var n = node.firstElementChild; n; n = n.nextElementSibling) { + if (!(n.childNodes.length === 0 || + (n.childNodes.length === 1 && + n.firstChild.nodeType === 3))) { + var objectStack = [{}]; + this.gmlFormat_.readGeometryElement(n, objectStack); + return GVol.proj.get(objectStack.pop().srsName); + } + } + } + + return null; +}; + +goog.provide('GVol.format.WKT'); + +goog.require('GVol'); +goog.require('GVol.Feature'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.TextFeature'); +goog.require('GVol.geom.GeometryCGVollection'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.MultiPGVolygon'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.geom.SimpleGeometry'); + + +/** + * @classdesc + * Geometry format for reading and writing data in the `WellKnownText` (WKT) + * format. + * + * @constructor + * @extends {GVol.format.TextFeature} + * @param {GVolx.format.WKTOptions=} opt_options Options. + * @api + */ +GVol.format.WKT = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.format.TextFeature.call(this); + + /** + * Split GeometryCGVollection into multiple features. + * @type {boGVolean} + * @private + */ + this.splitCGVollection_ = options.splitCGVollection !== undefined ? + options.splitCGVollection : false; + +}; +GVol.inherits(GVol.format.WKT, GVol.format.TextFeature); + + +/** + * @const + * @type {string} + */ +GVol.format.WKT.EMPTY = 'EMPTY'; + + +/** + * @const + * @type {string} + */ +GVol.format.WKT.Z = 'Z'; + + +/** + * @const + * @type {string} + */ +GVol.format.WKT.M = 'M'; + + +/** + * @const + * @type {string} + */ +GVol.format.WKT.ZM = 'ZM'; + + +/** + * @param {GVol.geom.Point} geom Point geometry. + * @return {string} Coordinates part of Point as WKT. + * @private + */ +GVol.format.WKT.encodePointGeometry_ = function(geom) { + var coordinates = geom.getCoordinates(); + if (coordinates.length === 0) { + return ''; + } + return coordinates.join(' '); +}; + + +/** + * @param {GVol.geom.MultiPoint} geom MultiPoint geometry. + * @return {string} Coordinates part of MultiPoint as WKT. + * @private + */ +GVol.format.WKT.encodeMultiPointGeometry_ = function(geom) { + var array = []; + var components = geom.getPoints(); + for (var i = 0, ii = components.length; i < ii; ++i) { + array.push('(' + GVol.format.WKT.encodePointGeometry_(components[i]) + ')'); + } + return array.join(','); +}; + + +/** + * @param {GVol.geom.GeometryCGVollection} geom GeometryCGVollection geometry. + * @return {string} Coordinates part of GeometryCGVollection as WKT. + * @private + */ +GVol.format.WKT.encodeGeometryCGVollectionGeometry_ = function(geom) { + var array = []; + var geoms = geom.getGeometries(); + for (var i = 0, ii = geoms.length; i < ii; ++i) { + array.push(GVol.format.WKT.encode_(geoms[i])); + } + return array.join(','); +}; + + +/** + * @param {GVol.geom.LineString|GVol.geom.LinearRing} geom LineString geometry. + * @return {string} Coordinates part of LineString as WKT. + * @private + */ +GVol.format.WKT.encodeLineStringGeometry_ = function(geom) { + var coordinates = geom.getCoordinates(); + var array = []; + for (var i = 0, ii = coordinates.length; i < ii; ++i) { + array.push(coordinates[i].join(' ')); + } + return array.join(','); +}; + + +/** + * @param {GVol.geom.MultiLineString} geom MultiLineString geometry. + * @return {string} Coordinates part of MultiLineString as WKT. + * @private + */ +GVol.format.WKT.encodeMultiLineStringGeometry_ = function(geom) { + var array = []; + var components = geom.getLineStrings(); + for (var i = 0, ii = components.length; i < ii; ++i) { + array.push('(' + GVol.format.WKT.encodeLineStringGeometry_( + components[i]) + ')'); + } + return array.join(','); +}; + + +/** + * @param {GVol.geom.PGVolygon} geom PGVolygon geometry. + * @return {string} Coordinates part of PGVolygon as WKT. + * @private + */ +GVol.format.WKT.encodePGVolygonGeometry_ = function(geom) { + var array = []; + var rings = geom.getLinearRings(); + for (var i = 0, ii = rings.length; i < ii; ++i) { + array.push('(' + GVol.format.WKT.encodeLineStringGeometry_( + rings[i]) + ')'); + } + return array.join(','); +}; + + +/** + * @param {GVol.geom.MultiPGVolygon} geom MultiPGVolygon geometry. + * @return {string} Coordinates part of MultiPGVolygon as WKT. + * @private + */ +GVol.format.WKT.encodeMultiPGVolygonGeometry_ = function(geom) { + var array = []; + var components = geom.getPGVolygons(); + for (var i = 0, ii = components.length; i < ii; ++i) { + array.push('(' + GVol.format.WKT.encodePGVolygonGeometry_( + components[i]) + ')'); + } + return array.join(','); +}; + +/** + * @param {GVol.geom.SimpleGeometry} geom SimpleGeometry geometry. + * @return {string} Potential dimensional information for WKT type. + * @private + */ +GVol.format.WKT.encodeGeometryLayout_ = function(geom) { + var layout = geom.getLayout(); + var dimInfo = ''; + if (layout === GVol.geom.GeometryLayout.XYZ || layout === GVol.geom.GeometryLayout.XYZM) { + dimInfo += GVol.format.WKT.Z; + } + if (layout === GVol.geom.GeometryLayout.XYM || layout === GVol.geom.GeometryLayout.XYZM) { + dimInfo += GVol.format.WKT.M; + } + return dimInfo; +}; + + +/** + * Encode a geometry as WKT. + * @param {GVol.geom.Geometry} geom The geometry to encode. + * @return {string} WKT string for the geometry. + * @private + */ +GVol.format.WKT.encode_ = function(geom) { + var type = geom.getType(); + var geometryEncoder = GVol.format.WKT.GeometryEncoder_[type]; + var enc = geometryEncoder(geom); + type = type.toUpperCase(); + if (geom instanceof GVol.geom.SimpleGeometry) { + var dimInfo = GVol.format.WKT.encodeGeometryLayout_(geom); + if (dimInfo.length > 0) { + type += ' ' + dimInfo; + } + } + if (enc.length === 0) { + return type + ' ' + GVol.format.WKT.EMPTY; + } + return type + '(' + enc + ')'; +}; + + +/** + * @const + * @type {Object.<string, function(GVol.geom.Geometry): string>} + * @private + */ +GVol.format.WKT.GeometryEncoder_ = { + 'Point': GVol.format.WKT.encodePointGeometry_, + 'LineString': GVol.format.WKT.encodeLineStringGeometry_, + 'PGVolygon': GVol.format.WKT.encodePGVolygonGeometry_, + 'MultiPoint': GVol.format.WKT.encodeMultiPointGeometry_, + 'MultiLineString': GVol.format.WKT.encodeMultiLineStringGeometry_, + 'MultiPGVolygon': GVol.format.WKT.encodeMultiPGVolygonGeometry_, + 'GeometryCGVollection': GVol.format.WKT.encodeGeometryCGVollectionGeometry_ +}; + + +/** + * Parse a WKT string. + * @param {string} wkt WKT string. + * @return {GVol.geom.Geometry|undefined} + * The geometry created. + * @private + */ +GVol.format.WKT.prototype.parse_ = function(wkt) { + var lexer = new GVol.format.WKT.Lexer(wkt); + var parser = new GVol.format.WKT.Parser(lexer); + return parser.parse(); +}; + + +/** + * Read a feature from a WKT source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.Feature} Feature. + * @api + */ +GVol.format.WKT.prototype.readFeature; + + +/** + * @inheritDoc + */ +GVol.format.WKT.prototype.readFeatureFromText = function(text, opt_options) { + var geom = this.readGeometryFromText(text, opt_options); + if (geom) { + var feature = new GVol.Feature(); + feature.setGeometry(geom); + return feature; + } + return null; +}; + + +/** + * Read all features from a WKT source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.WKT.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.WKT.prototype.readFeaturesFromText = function(text, opt_options) { + var geometries = []; + var geometry = this.readGeometryFromText(text, opt_options); + if (this.splitCGVollection_ && + geometry.getType() == GVol.geom.GeometryType.GEOMETRY_COLLECTION) { + geometries = (/** @type {GVol.geom.GeometryCGVollection} */ (geometry)) + .getGeometriesArray(); + } else { + geometries = [geometry]; + } + var feature, features = []; + for (var i = 0, ii = geometries.length; i < ii; ++i) { + feature = new GVol.Feature(); + feature.setGeometry(geometries[i]); + features.push(feature); + } + return features; +}; + + +/** + * Read a single geometry from a WKT source. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Read options. + * @return {GVol.geom.Geometry} Geometry. + * @api + */ +GVol.format.WKT.prototype.readGeometry; + + +/** + * @inheritDoc + */ +GVol.format.WKT.prototype.readGeometryFromText = function(text, opt_options) { + var geometry = this.parse_(text); + if (geometry) { + return /** @type {GVol.geom.Geometry} */ ( + GVol.format.Feature.transformWithOptions(geometry, false, opt_options)); + } else { + return null; + } +}; + + +/** + * Encode a feature as a WKT string. + * + * @function + * @param {GVol.Feature} feature Feature. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} WKT string. + * @api + */ +GVol.format.WKT.prototype.writeFeature; + + +/** + * @inheritDoc + */ +GVol.format.WKT.prototype.writeFeatureText = function(feature, opt_options) { + var geometry = feature.getGeometry(); + if (geometry) { + return this.writeGeometryText(geometry, opt_options); + } + return ''; +}; + + +/** + * Encode an array of features as a WKT string. + * + * @function + * @param {Array.<GVol.Feature>} features Features. + * @param {GVolx.format.WriteOptions=} opt_options Write options. + * @return {string} WKT string. + * @api + */ +GVol.format.WKT.prototype.writeFeatures; + + +/** + * @inheritDoc + */ +GVol.format.WKT.prototype.writeFeaturesText = function(features, opt_options) { + if (features.length == 1) { + return this.writeFeatureText(features[0], opt_options); + } + var geometries = []; + for (var i = 0, ii = features.length; i < ii; ++i) { + geometries.push(features[i].getGeometry()); + } + var cGVollection = new GVol.geom.GeometryCGVollection(geometries); + return this.writeGeometryText(cGVollection, opt_options); +}; + + +/** + * Write a single geometry as a WKT string. + * + * @function + * @param {GVol.geom.Geometry} geometry Geometry. + * @return {string} WKT string. + * @api + */ +GVol.format.WKT.prototype.writeGeometry; + + +/** + * @inheritDoc + */ +GVol.format.WKT.prototype.writeGeometryText = function(geometry, opt_options) { + return GVol.format.WKT.encode_(/** @type {GVol.geom.Geometry} */ ( + GVol.format.Feature.transformWithOptions(geometry, true, opt_options))); +}; + + +/** + * @const + * @enum {number} + * @private + */ +GVol.format.WKT.TokenType_ = { + TEXT: 1, + LEFT_PAREN: 2, + RIGHT_PAREN: 3, + NUMBER: 4, + COMMA: 5, + EOF: 6 +}; + + +/** + * Class to tokenize a WKT string. + * @param {string} wkt WKT string. + * @constructor + * @protected + */ +GVol.format.WKT.Lexer = function(wkt) { + + /** + * @type {string} + */ + this.wkt = wkt; + + /** + * @type {number} + * @private + */ + this.index_ = -1; +}; + + +/** + * @param {string} c Character. + * @return {boGVolean} Whether the character is alphabetic. + * @private + */ +GVol.format.WKT.Lexer.prototype.isAlpha_ = function(c) { + return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'; +}; + + +/** + * @param {string} c Character. + * @param {boGVolean=} opt_decimal Whether the string number + * contains a dot, i.e. is a decimal number. + * @return {boGVolean} Whether the character is numeric. + * @private + */ +GVol.format.WKT.Lexer.prototype.isNumeric_ = function(c, opt_decimal) { + var decimal = opt_decimal !== undefined ? opt_decimal : false; + return c >= '0' && c <= '9' || c == '.' && !decimal; +}; + + +/** + * @param {string} c Character. + * @return {boGVolean} Whether the character is whitespace. + * @private + */ +GVol.format.WKT.Lexer.prototype.isWhiteSpace_ = function(c) { + return c == ' ' || c == '\t' || c == '\r' || c == '\n'; +}; + + +/** + * @return {string} Next string character. + * @private + */ +GVol.format.WKT.Lexer.prototype.nextChar_ = function() { + return this.wkt.charAt(++this.index_); +}; + + +/** + * Fetch and return the next token. + * @return {!GVol.WKTToken} Next string token. + */ +GVol.format.WKT.Lexer.prototype.nextToken = function() { + var c = this.nextChar_(); + var token = {position: this.index_, value: c}; + + if (c == '(') { + token.type = GVol.format.WKT.TokenType_.LEFT_PAREN; + } else if (c == ',') { + token.type = GVol.format.WKT.TokenType_.COMMA; + } else if (c == ')') { + token.type = GVol.format.WKT.TokenType_.RIGHT_PAREN; + } else if (this.isNumeric_(c) || c == '-') { + token.type = GVol.format.WKT.TokenType_.NUMBER; + token.value = this.readNumber_(); + } else if (this.isAlpha_(c)) { + token.type = GVol.format.WKT.TokenType_.TEXT; + token.value = this.readText_(); + } else if (this.isWhiteSpace_(c)) { + return this.nextToken(); + } else if (c === '') { + token.type = GVol.format.WKT.TokenType_.EOF; + } else { + throw new Error('Unexpected character: ' + c); + } + + return token; +}; + + +/** + * @return {number} Numeric token value. + * @private + */ +GVol.format.WKT.Lexer.prototype.readNumber_ = function() { + var c, index = this.index_; + var decimal = false; + var scientificNotation = false; + do { + if (c == '.') { + decimal = true; + } else if (c == 'e' || c == 'E') { + scientificNotation = true; + } + c = this.nextChar_(); + } while ( + this.isNumeric_(c, decimal) || + // if we haven't detected a scientific number before, 'e' or 'E' + // hint that we should continue to read + !scientificNotation && (c == 'e' || c == 'E') || + // once we know that we have a scientific number, both '-' and '+' + // are allowed + scientificNotation && (c == '-' || c == '+') + ); + return parseFloat(this.wkt.substring(index, this.index_--)); +}; + + +/** + * @return {string} String token value. + * @private + */ +GVol.format.WKT.Lexer.prototype.readText_ = function() { + var c, index = this.index_; + do { + c = this.nextChar_(); + } while (this.isAlpha_(c)); + return this.wkt.substring(index, this.index_--).toUpperCase(); +}; + + +/** + * Class to parse the tokens from the WKT string. + * @param {GVol.format.WKT.Lexer} lexer The lexer. + * @constructor + * @protected + */ +GVol.format.WKT.Parser = function(lexer) { + + /** + * @type {GVol.format.WKT.Lexer} + * @private + */ + this.lexer_ = lexer; + + /** + * @type {GVol.WKTToken} + * @private + */ + this.token_; + + /** + * @type {GVol.geom.GeometryLayout} + * @private + */ + this.layout_ = GVol.geom.GeometryLayout.XY; +}; + + +/** + * Fetch the next token form the lexer and replace the active token. + * @private + */ +GVol.format.WKT.Parser.prototype.consume_ = function() { + this.token_ = this.lexer_.nextToken(); +}; + +/** + * Tests if the given type matches the type of the current token. + * @param {GVol.format.WKT.TokenType_} type Token type. + * @return {boGVolean} Whether the token matches the given type. + */ +GVol.format.WKT.Parser.prototype.isTokenType = function(type) { + var isMatch = this.token_.type == type; + return isMatch; +}; + + +/** + * If the given type matches the current token, consume it. + * @param {GVol.format.WKT.TokenType_} type Token type. + * @return {boGVolean} Whether the token matches the given type. + */ +GVol.format.WKT.Parser.prototype.match = function(type) { + var isMatch = this.isTokenType(type); + if (isMatch) { + this.consume_(); + } + return isMatch; +}; + + +/** + * Try to parse the tokens provided by the lexer. + * @return {GVol.geom.Geometry} The geometry. + */ +GVol.format.WKT.Parser.prototype.parse = function() { + this.consume_(); + var geometry = this.parseGeometry_(); + return geometry; +}; + + +/** + * Try to parse the dimensional info. + * @return {GVol.geom.GeometryLayout} The layout. + * @private + */ +GVol.format.WKT.Parser.prototype.parseGeometryLayout_ = function() { + var layout = GVol.geom.GeometryLayout.XY; + var dimToken = this.token_; + if (this.isTokenType(GVol.format.WKT.TokenType_.TEXT)) { + var dimInfo = dimToken.value; + if (dimInfo === GVol.format.WKT.Z) { + layout = GVol.geom.GeometryLayout.XYZ; + } else if (dimInfo === GVol.format.WKT.M) { + layout = GVol.geom.GeometryLayout.XYM; + } else if (dimInfo === GVol.format.WKT.ZM) { + layout = GVol.geom.GeometryLayout.XYZM; + } + if (layout !== GVol.geom.GeometryLayout.XY) { + this.consume_(); + } + } + return layout; +}; + + +/** + * @return {!GVol.geom.Geometry} The geometry. + * @private + */ +GVol.format.WKT.Parser.prototype.parseGeometry_ = function() { + var token = this.token_; + if (this.match(GVol.format.WKT.TokenType_.TEXT)) { + var geomType = token.value; + this.layout_ = this.parseGeometryLayout_(); + if (geomType == GVol.geom.GeometryType.GEOMETRY_COLLECTION.toUpperCase()) { + var geometries = this.parseGeometryCGVollectionText_(); + return new GVol.geom.GeometryCGVollection(geometries); + } else { + var parser = GVol.format.WKT.Parser.GeometryParser_[geomType]; + var ctor = GVol.format.WKT.Parser.GeometryConstructor_[geomType]; + if (!parser || !ctor) { + throw new Error('Invalid geometry type: ' + geomType); + } + var coordinates = parser.call(this); + return new ctor(coordinates, this.layout_); + } + } + throw new Error(this.formatErrorMessage_()); +}; + + +/** + * @return {!Array.<GVol.geom.Geometry>} A cGVollection of geometries. + * @private + */ +GVol.format.WKT.Parser.prototype.parseGeometryCGVollectionText_ = function() { + if (this.match(GVol.format.WKT.TokenType_.LEFT_PAREN)) { + var geometries = []; + do { + geometries.push(this.parseGeometry_()); + } while (this.match(GVol.format.WKT.TokenType_.COMMA)); + if (this.match(GVol.format.WKT.TokenType_.RIGHT_PAREN)) { + return geometries; + } + } else if (this.isEmptyGeometry_()) { + return []; + } + throw new Error(this.formatErrorMessage_()); +}; + + +/** + * @return {Array.<number>} All values in a point. + * @private + */ +GVol.format.WKT.Parser.prototype.parsePointText_ = function() { + if (this.match(GVol.format.WKT.TokenType_.LEFT_PAREN)) { + var coordinates = this.parsePoint_(); + if (this.match(GVol.format.WKT.TokenType_.RIGHT_PAREN)) { + return coordinates; + } + } else if (this.isEmptyGeometry_()) { + return null; + } + throw new Error(this.formatErrorMessage_()); +}; + + +/** + * @return {!Array.<!Array.<number>>} All points in a linestring. + * @private + */ +GVol.format.WKT.Parser.prototype.parseLineStringText_ = function() { + if (this.match(GVol.format.WKT.TokenType_.LEFT_PAREN)) { + var coordinates = this.parsePointList_(); + if (this.match(GVol.format.WKT.TokenType_.RIGHT_PAREN)) { + return coordinates; + } + } else if (this.isEmptyGeometry_()) { + return []; + } + throw new Error(this.formatErrorMessage_()); +}; + + +/** + * @return {!Array.<!Array.<number>>} All points in a pGVolygon. + * @private + */ +GVol.format.WKT.Parser.prototype.parsePGVolygonText_ = function() { + if (this.match(GVol.format.WKT.TokenType_.LEFT_PAREN)) { + var coordinates = this.parseLineStringTextList_(); + if (this.match(GVol.format.WKT.TokenType_.RIGHT_PAREN)) { + return coordinates; + } + } else if (this.isEmptyGeometry_()) { + return []; + } + throw new Error(this.formatErrorMessage_()); +}; + + +/** + * @return {!Array.<!Array.<number>>} All points in a multipoint. + * @private + */ +GVol.format.WKT.Parser.prototype.parseMultiPointText_ = function() { + if (this.match(GVol.format.WKT.TokenType_.LEFT_PAREN)) { + var coordinates; + if (this.token_.type == GVol.format.WKT.TokenType_.LEFT_PAREN) { + coordinates = this.parsePointTextList_(); + } else { + coordinates = this.parsePointList_(); + } + if (this.match(GVol.format.WKT.TokenType_.RIGHT_PAREN)) { + return coordinates; + } + } else if (this.isEmptyGeometry_()) { + return []; + } + throw new Error(this.formatErrorMessage_()); +}; + + +/** + * @return {!Array.<!Array.<number>>} All linestring points + * in a multilinestring. + * @private + */ +GVol.format.WKT.Parser.prototype.parseMultiLineStringText_ = function() { + if (this.match(GVol.format.WKT.TokenType_.LEFT_PAREN)) { + var coordinates = this.parseLineStringTextList_(); + if (this.match(GVol.format.WKT.TokenType_.RIGHT_PAREN)) { + return coordinates; + } + } else if (this.isEmptyGeometry_()) { + return []; + } + throw new Error(this.formatErrorMessage_()); +}; + + +/** + * @return {!Array.<!Array.<number>>} All pGVolygon points in a multipGVolygon. + * @private + */ +GVol.format.WKT.Parser.prototype.parseMultiPGVolygonText_ = function() { + if (this.match(GVol.format.WKT.TokenType_.LEFT_PAREN)) { + var coordinates = this.parsePGVolygonTextList_(); + if (this.match(GVol.format.WKT.TokenType_.RIGHT_PAREN)) { + return coordinates; + } + } else if (this.isEmptyGeometry_()) { + return []; + } + throw new Error(this.formatErrorMessage_()); +}; + + +/** + * @return {!Array.<number>} A point. + * @private + */ +GVol.format.WKT.Parser.prototype.parsePoint_ = function() { + var coordinates = []; + var dimensions = this.layout_.length; + for (var i = 0; i < dimensions; ++i) { + var token = this.token_; + if (this.match(GVol.format.WKT.TokenType_.NUMBER)) { + coordinates.push(token.value); + } else { + break; + } + } + if (coordinates.length == dimensions) { + return coordinates; + } + throw new Error(this.formatErrorMessage_()); +}; + + +/** + * @return {!Array.<!Array.<number>>} An array of points. + * @private + */ +GVol.format.WKT.Parser.prototype.parsePointList_ = function() { + var coordinates = [this.parsePoint_()]; + while (this.match(GVol.format.WKT.TokenType_.COMMA)) { + coordinates.push(this.parsePoint_()); + } + return coordinates; +}; + + +/** + * @return {!Array.<!Array.<number>>} An array of points. + * @private + */ +GVol.format.WKT.Parser.prototype.parsePointTextList_ = function() { + var coordinates = [this.parsePointText_()]; + while (this.match(GVol.format.WKT.TokenType_.COMMA)) { + coordinates.push(this.parsePointText_()); + } + return coordinates; +}; + + +/** + * @return {!Array.<!Array.<number>>} An array of points. + * @private + */ +GVol.format.WKT.Parser.prototype.parseLineStringTextList_ = function() { + var coordinates = [this.parseLineStringText_()]; + while (this.match(GVol.format.WKT.TokenType_.COMMA)) { + coordinates.push(this.parseLineStringText_()); + } + return coordinates; +}; + + +/** + * @return {!Array.<!Array.<number>>} An array of points. + * @private + */ +GVol.format.WKT.Parser.prototype.parsePGVolygonTextList_ = function() { + var coordinates = [this.parsePGVolygonText_()]; + while (this.match(GVol.format.WKT.TokenType_.COMMA)) { + coordinates.push(this.parsePGVolygonText_()); + } + return coordinates; +}; + + +/** + * @return {boGVolean} Whether the token implies an empty geometry. + * @private + */ +GVol.format.WKT.Parser.prototype.isEmptyGeometry_ = function() { + var isEmpty = this.isTokenType(GVol.format.WKT.TokenType_.TEXT) && + this.token_.value == GVol.format.WKT.EMPTY; + if (isEmpty) { + this.consume_(); + } + return isEmpty; +}; + + +/** + * Create an error message for an unexpected token error. + * @return {string} Error message. + * @private + */ +GVol.format.WKT.Parser.prototype.formatErrorMessage_ = function() { + return 'Unexpected `' + this.token_.value + '` at position ' + + this.token_.position + ' in `' + this.lexer_.wkt + '`'; +}; + + +/** + * @enum {function (new:GVol.geom.Geometry, Array, GVol.geom.GeometryLayout)} + * @private + */ +GVol.format.WKT.Parser.GeometryConstructor_ = { + 'POINT': GVol.geom.Point, + 'LINESTRING': GVol.geom.LineString, + 'POLYGON': GVol.geom.PGVolygon, + 'MULTIPOINT': GVol.geom.MultiPoint, + 'MULTILINESTRING': GVol.geom.MultiLineString, + 'MULTIPOLYGON': GVol.geom.MultiPGVolygon +}; + + +/** + * @enum {(function(): Array)} + * @private + */ +GVol.format.WKT.Parser.GeometryParser_ = { + 'POINT': GVol.format.WKT.Parser.prototype.parsePointText_, + 'LINESTRING': GVol.format.WKT.Parser.prototype.parseLineStringText_, + 'POLYGON': GVol.format.WKT.Parser.prototype.parsePGVolygonText_, + 'MULTIPOINT': GVol.format.WKT.Parser.prototype.parseMultiPointText_, + 'MULTILINESTRING': GVol.format.WKT.Parser.prototype.parseMultiLineStringText_, + 'MULTIPOLYGON': GVol.format.WKT.Parser.prototype.parseMultiPGVolygonText_ +}; + +goog.provide('GVol.format.WMSCapabilities'); + +goog.require('GVol'); +goog.require('GVol.format.XLink'); +goog.require('GVol.format.XML'); +goog.require('GVol.format.XSD'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Format for reading WMS capabilities data + * + * @constructor + * @extends {GVol.format.XML} + * @api + */ +GVol.format.WMSCapabilities = function() { + + GVol.format.XML.call(this); + + /** + * @type {string|undefined} + */ + this.version = undefined; +}; +GVol.inherits(GVol.format.WMSCapabilities, GVol.format.XML); + + +/** + * Read a WMS capabilities document. + * + * @function + * @param {Document|Node|string} source The XML source. + * @return {Object} An object representing the WMS capabilities. + * @api + */ +GVol.format.WMSCapabilities.prototype.read; + + +/** + * @inheritDoc + */ +GVol.format.WMSCapabilities.prototype.readFromDocument = function(doc) { + for (var n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + return this.readFromNode(n); + } + } + return null; +}; + + +/** + * @inheritDoc + */ +GVol.format.WMSCapabilities.prototype.readFromNode = function(node) { + this.version = node.getAttribute('version').trim(); + var wmsCapabilityObject = GVol.xml.pushParseAndPop({ + 'version': this.version + }, GVol.format.WMSCapabilities.PARSERS_, node, []); + return wmsCapabilityObject ? wmsCapabilityObject : null; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Attribution object. + */ +GVol.format.WMSCapabilities.readAttribution_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.ATTRIBUTION_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object} Bounding box object. + */ +GVol.format.WMSCapabilities.readBoundingBox_ = function(node, objectStack) { + var extent = [ + GVol.format.XSD.readDecimalString(node.getAttribute('minx')), + GVol.format.XSD.readDecimalString(node.getAttribute('miny')), + GVol.format.XSD.readDecimalString(node.getAttribute('maxx')), + GVol.format.XSD.readDecimalString(node.getAttribute('maxy')) + ]; + + var resGVolutions = [ + GVol.format.XSD.readDecimalString(node.getAttribute('resx')), + GVol.format.XSD.readDecimalString(node.getAttribute('resy')) + ]; + + return { + 'crs': node.getAttribute('CRS'), + 'extent': extent, + 'res': resGVolutions + }; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {GVol.Extent|undefined} Bounding box object. + */ +GVol.format.WMSCapabilities.readEXGeographicBoundingBox_ = function(node, objectStack) { + var geographicBoundingBox = GVol.xml.pushParseAndPop( + {}, + GVol.format.WMSCapabilities.EX_GEOGRAPHIC_BOUNDING_BOX_PARSERS_, + node, objectStack); + if (!geographicBoundingBox) { + return undefined; + } + var westBoundLongitude = /** @type {number|undefined} */ + (geographicBoundingBox['westBoundLongitude']); + var southBoundLatitude = /** @type {number|undefined} */ + (geographicBoundingBox['southBoundLatitude']); + var eastBoundLongitude = /** @type {number|undefined} */ + (geographicBoundingBox['eastBoundLongitude']); + var northBoundLatitude = /** @type {number|undefined} */ + (geographicBoundingBox['northBoundLatitude']); + if (westBoundLongitude === undefined || southBoundLatitude === undefined || + eastBoundLongitude === undefined || northBoundLatitude === undefined) { + return undefined; + } + return [ + westBoundLongitude, southBoundLatitude, + eastBoundLongitude, northBoundLatitude + ]; +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} Capability object. + */ +GVol.format.WMSCapabilities.readCapability_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.CAPABILITY_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} Service object. + */ +GVol.format.WMSCapabilities.readService_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.SERVICE_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} Contact information object. + */ +GVol.format.WMSCapabilities.readContactInformation_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.CONTACT_INFORMATION_PARSERS_, + node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} Contact person object. + */ +GVol.format.WMSCapabilities.readContactPersonPrimary_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.CONTACT_PERSON_PARSERS_, + node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} Contact address object. + */ +GVol.format.WMSCapabilities.readContactAddress_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.CONTACT_ADDRESS_PARSERS_, + node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Array.<string>|undefined} Format array. + */ +GVol.format.WMSCapabilities.readException_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + [], GVol.format.WMSCapabilities.EXCEPTION_PARSERS_, node, objectStack); +}; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @private + * @return {Object|undefined} Layer object. + */ +GVol.format.WMSCapabilities.readCapabilityLayer_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.LAYER_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Layer object. + */ +GVol.format.WMSCapabilities.readLayer_ = function(node, objectStack) { + var parentLayerObject = /** @type {Object.<string,*>} */ + (objectStack[objectStack.length - 1]); + + var layerObject = GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.LAYER_PARSERS_, node, objectStack); + + if (!layerObject) { + return undefined; + } + var queryable = + GVol.format.XSD.readBoGVoleanString(node.getAttribute('queryable')); + if (queryable === undefined) { + queryable = parentLayerObject['queryable']; + } + layerObject['queryable'] = queryable !== undefined ? queryable : false; + + var cascaded = GVol.format.XSD.readNonNegativeIntegerString( + node.getAttribute('cascaded')); + if (cascaded === undefined) { + cascaded = parentLayerObject['cascaded']; + } + layerObject['cascaded'] = cascaded; + + var opaque = GVol.format.XSD.readBoGVoleanString(node.getAttribute('opaque')); + if (opaque === undefined) { + opaque = parentLayerObject['opaque']; + } + layerObject['opaque'] = opaque !== undefined ? opaque : false; + + var noSubsets = + GVol.format.XSD.readBoGVoleanString(node.getAttribute('noSubsets')); + if (noSubsets === undefined) { + noSubsets = parentLayerObject['noSubsets']; + } + layerObject['noSubsets'] = noSubsets !== undefined ? noSubsets : false; + + var fixedWidth = + GVol.format.XSD.readDecimalString(node.getAttribute('fixedWidth')); + if (!fixedWidth) { + fixedWidth = parentLayerObject['fixedWidth']; + } + layerObject['fixedWidth'] = fixedWidth; + + var fixedHeight = + GVol.format.XSD.readDecimalString(node.getAttribute('fixedHeight')); + if (!fixedHeight) { + fixedHeight = parentLayerObject['fixedHeight']; + } + layerObject['fixedHeight'] = fixedHeight; + + // See 7.2.4.8 + var addKeys = ['Style', 'CRS', 'AuthorityURL']; + addKeys.forEach(function(key) { + if (key in parentLayerObject) { + var childValue = layerObject[key] || []; + layerObject[key] = childValue.concat(parentLayerObject[key]); + } + }); + + var replaceKeys = ['EX_GeographicBoundingBox', 'BoundingBox', 'Dimension', + 'Attribution', 'MinScaleDenominator', 'MaxScaleDenominator']; + replaceKeys.forEach(function(key) { + if (!(key in layerObject)) { + var parentValue = parentLayerObject[key]; + layerObject[key] = parentValue; + } + }); + + return layerObject; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object} Dimension object. + */ +GVol.format.WMSCapabilities.readDimension_ = function(node, objectStack) { + var dimensionObject = { + 'name': node.getAttribute('name'), + 'units': node.getAttribute('units'), + 'unitSymbGVol': node.getAttribute('unitSymbGVol'), + 'default': node.getAttribute('default'), + 'multipleValues': GVol.format.XSD.readBoGVoleanString( + node.getAttribute('multipleValues')), + 'nearestValue': GVol.format.XSD.readBoGVoleanString( + node.getAttribute('nearestValue')), + 'current': GVol.format.XSD.readBoGVoleanString(node.getAttribute('current')), + 'values': GVol.format.XSD.readString(node) + }; + return dimensionObject; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Online resource object. + */ +GVol.format.WMSCapabilities.readFormatOnlineresource_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.FORMAT_ONLINERESOURCE_PARSERS_, + node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Request object. + */ +GVol.format.WMSCapabilities.readRequest_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.REQUEST_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} DCP type object. + */ +GVol.format.WMSCapabilities.readDCPType_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.DCPTYPE_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} HTTP object. + */ +GVol.format.WMSCapabilities.readHTTP_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.HTTP_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Operation type object. + */ +GVol.format.WMSCapabilities.readOperationType_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.OPERATIONTYPE_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Online resource object. + */ +GVol.format.WMSCapabilities.readSizedFormatOnlineresource_ = function(node, objectStack) { + var formatOnlineresource = + GVol.format.WMSCapabilities.readFormatOnlineresource_(node, objectStack); + if (formatOnlineresource) { + var size = [ + GVol.format.XSD.readNonNegativeIntegerString(node.getAttribute('width')), + GVol.format.XSD.readNonNegativeIntegerString(node.getAttribute('height')) + ]; + formatOnlineresource['size'] = size; + return formatOnlineresource; + } + return undefined; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Authority URL object. + */ +GVol.format.WMSCapabilities.readAuthorityURL_ = function(node, objectStack) { + var authorityObject = + GVol.format.WMSCapabilities.readFormatOnlineresource_(node, objectStack); + if (authorityObject) { + authorityObject['name'] = node.getAttribute('name'); + return authorityObject; + } + return undefined; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Metadata URL object. + */ +GVol.format.WMSCapabilities.readMetadataURL_ = function(node, objectStack) { + var metadataObject = + GVol.format.WMSCapabilities.readFormatOnlineresource_(node, objectStack); + if (metadataObject) { + metadataObject['type'] = node.getAttribute('type'); + return metadataObject; + } + return undefined; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Style object. + */ +GVol.format.WMSCapabilities.readStyle_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + {}, GVol.format.WMSCapabilities.STYLE_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Array.<string>|undefined} Keyword list. + */ +GVol.format.WMSCapabilities.readKeywordList_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop( + [], GVol.format.WMSCapabilities.KEYWORDLIST_PARSERS_, node, objectStack); +}; + + +/** + * @const + * @private + * @type {Array.<string>} + */ +GVol.format.WMSCapabilities.NAMESPACE_URIS_ = [ + null, + 'http://www.opengis.net/wms' +]; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Service': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readService_), + 'Capability': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readCapability_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.CAPABILITY_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Request': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readRequest_), + 'Exception': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readException_), + 'Layer': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readCapabilityLayer_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.SERVICE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Name': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Title': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Abstract': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'KeywordList': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readKeywordList_), + 'OnlineResource': GVol.xml.makeObjectPropertySetter( + GVol.format.XLink.readHref), + 'ContactInformation': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readContactInformation_), + 'Fees': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'AccessConstraints': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'LayerLimit': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'MaxWidth': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'MaxHeight': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.CONTACT_INFORMATION_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'ContactPersonPrimary': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readContactPersonPrimary_), + 'ContactPosition': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'ContactAddress': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readContactAddress_), + 'ContactVoiceTelephone': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'ContactFacsimileTelephone': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'ContactElectronicMailAddress': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.CONTACT_PERSON_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'ContactPerson': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'ContactOrganization': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.CONTACT_ADDRESS_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'AddressType': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Address': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'City': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'StateOrProvince': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'PostCode': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Country': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.EXCEPTION_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Format': GVol.xml.makeArrayPusher(GVol.format.XSD.readString) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.LAYER_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Name': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Title': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Abstract': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'KeywordList': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readKeywordList_), + 'CRS': GVol.xml.makeObjectPropertyPusher(GVol.format.XSD.readString), + 'EX_GeographicBoundingBox': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readEXGeographicBoundingBox_), + 'BoundingBox': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readBoundingBox_), + 'Dimension': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readDimension_), + 'Attribution': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readAttribution_), + 'AuthorityURL': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readAuthorityURL_), + 'Identifier': GVol.xml.makeObjectPropertyPusher(GVol.format.XSD.readString), + 'MetadataURL': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readMetadataURL_), + 'DataURL': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readFormatOnlineresource_), + 'FeatureListURL': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readFormatOnlineresource_), + 'Style': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readStyle_), + 'MinScaleDenominator': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readDecimal), + 'MaxScaleDenominator': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readDecimal), + 'Layer': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readLayer_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.ATTRIBUTION_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Title': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'OnlineResource': GVol.xml.makeObjectPropertySetter( + GVol.format.XLink.readHref), + 'LogoURL': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readSizedFormatOnlineresource_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.EX_GEOGRAPHIC_BOUNDING_BOX_PARSERS_ = + GVol.xml.makeStructureNS(GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'westBoundLongitude': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readDecimal), + 'eastBoundLongitude': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readDecimal), + 'southBoundLatitude': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readDecimal), + 'northBoundLatitude': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readDecimal) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.REQUEST_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'GetCapabilities': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readOperationType_), + 'GetMap': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readOperationType_), + 'GetFeatureInfo': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readOperationType_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.OPERATIONTYPE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Format': GVol.xml.makeObjectPropertyPusher(GVol.format.XSD.readString), + 'DCPType': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readDCPType_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.DCPTYPE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'HTTP': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readHTTP_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.HTTP_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Get': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readFormatOnlineresource_), + 'Post': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readFormatOnlineresource_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.STYLE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Name': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Title': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'Abstract': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'LegendURL': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMSCapabilities.readSizedFormatOnlineresource_), + 'StyleSheetURL': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readFormatOnlineresource_), + 'StyleURL': GVol.xml.makeObjectPropertySetter( + GVol.format.WMSCapabilities.readFormatOnlineresource_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.FORMAT_ONLINERESOURCE_PARSERS_ = + GVol.xml.makeStructureNS(GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Format': GVol.xml.makeObjectPropertySetter(GVol.format.XSD.readString), + 'OnlineResource': GVol.xml.makeObjectPropertySetter( + GVol.format.XLink.readHref) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMSCapabilities.KEYWORDLIST_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMSCapabilities.NAMESPACE_URIS_, { + 'Keyword': GVol.xml.makeArrayPusher(GVol.format.XSD.readString) + }); + +goog.provide('GVol.format.WMSGetFeatureInfo'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.format.GML2'); +goog.require('GVol.format.XMLFeature'); +goog.require('GVol.obj'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Format for reading WMSGetFeatureInfo format. It uses + * {@link GVol.format.GML2} to read features. + * + * @constructor + * @extends {GVol.format.XMLFeature} + * @param {GVolx.format.WMSGetFeatureInfoOptions=} opt_options Options. + * @api + */ +GVol.format.WMSGetFeatureInfo = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {string} + */ + this.featureNS_ = 'http://mapserver.gis.umn.edu/mapserver'; + + + /** + * @private + * @type {GVol.format.GML2} + */ + this.gmlFormat_ = new GVol.format.GML2(); + + + /** + * @private + * @type {Array.<string>} + */ + this.layers_ = options.layers ? options.layers : null; + + GVol.format.XMLFeature.call(this); +}; +GVol.inherits(GVol.format.WMSGetFeatureInfo, GVol.format.XMLFeature); + + +/** + * @const + * @type {string} + * @private + */ +GVol.format.WMSGetFeatureInfo.featureIdentifier_ = '_feature'; + + +/** + * @const + * @type {string} + * @private + */ +GVol.format.WMSGetFeatureInfo.layerIdentifier_ = '_layer'; + + +/** + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Array.<GVol.Feature>} Features. + * @private + */ +GVol.format.WMSGetFeatureInfo.prototype.readFeatures_ = function(node, objectStack) { + node.setAttribute('namespaceURI', this.featureNS_); + var localName = node.localName; + /** @type {Array.<GVol.Feature>} */ + var features = []; + if (node.childNodes.length === 0) { + return features; + } + if (localName == 'msGMLOutput') { + for (var i = 0, ii = node.childNodes.length; i < ii; i++) { + var layer = node.childNodes[i]; + if (layer.nodeType !== Node.ELEMENT_NODE) { + continue; + } + var context = objectStack[0]; + + var toRemove = GVol.format.WMSGetFeatureInfo.layerIdentifier_; + var layerName = layer.localName.replace(toRemove, ''); + + if (this.layers_ && !GVol.array.includes(this.layers_, layerName)) { + continue; + } + + var featureType = layerName + + GVol.format.WMSGetFeatureInfo.featureIdentifier_; + + context['featureType'] = featureType; + context['featureNS'] = this.featureNS_; + + var parsers = {}; + parsers[featureType] = GVol.xml.makeArrayPusher( + this.gmlFormat_.readFeatureElement, this.gmlFormat_); + var parsersNS = GVol.xml.makeStructureNS( + [context['featureNS'], null], parsers); + layer.setAttribute('namespaceURI', this.featureNS_); + var layerFeatures = GVol.xml.pushParseAndPop( + [], parsersNS, layer, objectStack, this.gmlFormat_); + if (layerFeatures) { + GVol.array.extend(features, layerFeatures); + } + } + } + if (localName == 'FeatureCGVollection') { + var gmlFeatures = GVol.xml.pushParseAndPop([], + this.gmlFormat_.FEATURE_COLLECTION_PARSERS, node, + [{}], this.gmlFormat_); + if (gmlFeatures) { + features = gmlFeatures; + } + } + return features; +}; + + +/** + * Read all features from a WMSGetFeatureInfo response. + * + * @function + * @param {Document|Node|Object|string} source Source. + * @param {GVolx.format.ReadOptions=} opt_options Options. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.format.WMSGetFeatureInfo.prototype.readFeatures; + + +/** + * @inheritDoc + */ +GVol.format.WMSGetFeatureInfo.prototype.readFeaturesFromNode = function(node, opt_options) { + var options = {}; + if (opt_options) { + GVol.obj.assign(options, this.getReadOptions(node, opt_options)); + } + return this.readFeatures_(node, [options]); +}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.WMSGetFeatureInfo.prototype.writeFeatureNode = function(feature, opt_options) {}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.WMSGetFeatureInfo.prototype.writeFeaturesNode = function(features, opt_options) {}; + + +/** + * Not implemented. + * @inheritDoc + */ +GVol.format.WMSGetFeatureInfo.prototype.writeGeometryNode = function(geometry, opt_options) {}; + +goog.provide('GVol.format.WMTSCapabilities'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.format.OWS'); +goog.require('GVol.format.XLink'); +goog.require('GVol.format.XML'); +goog.require('GVol.format.XSD'); +goog.require('GVol.xml'); + + +/** + * @classdesc + * Format for reading WMTS capabilities data. + * + * @constructor + * @extends {GVol.format.XML} + * @api + */ +GVol.format.WMTSCapabilities = function() { + GVol.format.XML.call(this); + + /** + * @type {GVol.format.OWS} + * @private + */ + this.owsParser_ = new GVol.format.OWS(); +}; +GVol.inherits(GVol.format.WMTSCapabilities, GVol.format.XML); + + +/** + * Read a WMTS capabilities document. + * + * @function + * @param {Document|Node|string} source The XML source. + * @return {Object} An object representing the WMTS capabilities. + * @api + */ +GVol.format.WMTSCapabilities.prototype.read; + + +/** + * @inheritDoc + */ +GVol.format.WMTSCapabilities.prototype.readFromDocument = function(doc) { + for (var n = doc.firstChild; n; n = n.nextSibling) { + if (n.nodeType == Node.ELEMENT_NODE) { + return this.readFromNode(n); + } + } + return null; +}; + + +/** + * @inheritDoc + */ +GVol.format.WMTSCapabilities.prototype.readFromNode = function(node) { + var version = node.getAttribute('version').trim(); + var WMTSCapabilityObject = this.owsParser_.readFromNode(node); + if (!WMTSCapabilityObject) { + return null; + } + WMTSCapabilityObject['version'] = version; + WMTSCapabilityObject = GVol.xml.pushParseAndPop(WMTSCapabilityObject, + GVol.format.WMTSCapabilities.PARSERS_, node, []); + return WMTSCapabilityObject ? WMTSCapabilityObject : null; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Attribution object. + */ +GVol.format.WMTSCapabilities.readContents_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.WMTSCapabilities.CONTENTS_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Layers object. + */ +GVol.format.WMTSCapabilities.readLayer_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.WMTSCapabilities.LAYER_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Tile Matrix Set object. + */ +GVol.format.WMTSCapabilities.readTileMatrixSet_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.WMTSCapabilities.TMS_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Style object. + */ +GVol.format.WMTSCapabilities.readStyle_ = function(node, objectStack) { + var style = GVol.xml.pushParseAndPop({}, + GVol.format.WMTSCapabilities.STYLE_PARSERS_, node, objectStack); + if (!style) { + return undefined; + } + var isDefault = node.getAttribute('isDefault') === 'true'; + style['isDefault'] = isDefault; + return style; + +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Tile Matrix Set Link object. + */ +GVol.format.WMTSCapabilities.readTileMatrixSetLink_ = function(node, + objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.WMTSCapabilities.TMS_LINKS_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Dimension object. + */ +GVol.format.WMTSCapabilities.readDimensions_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.WMTSCapabilities.DIMENSION_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Resource URL object. + */ +GVol.format.WMTSCapabilities.readResourceUrl_ = function(node, objectStack) { + var format = node.getAttribute('format'); + var template = node.getAttribute('template'); + var resourceType = node.getAttribute('resourceType'); + var resource = {}; + if (format) { + resource['format'] = format; + } + if (template) { + resource['template'] = template; + } + if (resourceType) { + resource['resourceType'] = resourceType; + } + return resource; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} WGS84 BBox object. + */ +GVol.format.WMTSCapabilities.readWgs84BoundingBox_ = function(node, objectStack) { + var coordinates = GVol.xml.pushParseAndPop([], + GVol.format.WMTSCapabilities.WGS84_BBOX_READERS_, node, objectStack); + if (coordinates.length != 2) { + return undefined; + } + return GVol.extent.boundingExtent(coordinates); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Legend object. + */ +GVol.format.WMTSCapabilities.readLegendUrl_ = function(node, objectStack) { + var legend = {}; + legend['format'] = node.getAttribute('format'); + legend['href'] = GVol.format.XLink.readHref(node); + return legend; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} Coordinates object. + */ +GVol.format.WMTSCapabilities.readCoordinates_ = function(node, objectStack) { + var coordinates = GVol.format.XSD.readString(node).split(' '); + if (!coordinates || coordinates.length != 2) { + return undefined; + } + var x = +coordinates[0]; + var y = +coordinates[1]; + if (isNaN(x) || isNaN(y)) { + return undefined; + } + return [x, y]; +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} TileMatrix object. + */ +GVol.format.WMTSCapabilities.readTileMatrix_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.WMTSCapabilities.TM_PARSERS_, node, objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} TileMatrixSetLimits Object. + */ +GVol.format.WMTSCapabilities.readTileMatrixLimitsList_ = function(node, + objectStack) { + return GVol.xml.pushParseAndPop([], + GVol.format.WMTSCapabilities.TMS_LIMITS_LIST_PARSERS_, node, + objectStack); +}; + + +/** + * @private + * @param {Node} node Node. + * @param {Array.<*>} objectStack Object stack. + * @return {Object|undefined} TileMatrixLimits Array. + */ +GVol.format.WMTSCapabilities.readTileMatrixLimits_ = function(node, objectStack) { + return GVol.xml.pushParseAndPop({}, + GVol.format.WMTSCapabilities.TMS_LIMITS_PARSERS_, node, objectStack); +}; + + +/** + * @const + * @private + * @type {Array.<string>} + */ +GVol.format.WMTSCapabilities.NAMESPACE_URIS_ = [ + null, + 'http://www.opengis.net/wmts/1.0' +]; + + +/** + * @const + * @private + * @type {Array.<string>} + */ +GVol.format.WMTSCapabilities.OWS_NAMESPACE_URIS_ = [ + null, + 'http://www.opengis.net/ows/1.1' +]; + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'Contents': GVol.xml.makeObjectPropertySetter( + GVol.format.WMTSCapabilities.readContents_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.CONTENTS_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'Layer': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMTSCapabilities.readLayer_), + 'TileMatrixSet': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMTSCapabilities.readTileMatrixSet_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.LAYER_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'Style': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMTSCapabilities.readStyle_), + 'Format': GVol.xml.makeObjectPropertyPusher( + GVol.format.XSD.readString), + 'TileMatrixSetLink': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMTSCapabilities.readTileMatrixSetLink_), + 'Dimension': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMTSCapabilities.readDimensions_), + 'ResourceURL': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMTSCapabilities.readResourceUrl_) + }, GVol.xml.makeStructureNS(GVol.format.WMTSCapabilities.OWS_NAMESPACE_URIS_, { + 'Title': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'Abstract': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'WGS84BoundingBox': GVol.xml.makeObjectPropertySetter( + GVol.format.WMTSCapabilities.readWgs84BoundingBox_), + 'Identifier': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString) + })); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.STYLE_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'LegendURL': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMTSCapabilities.readLegendUrl_) + }, GVol.xml.makeStructureNS(GVol.format.WMTSCapabilities.OWS_NAMESPACE_URIS_, { + 'Title': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'Identifier': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString) + })); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.TMS_LINKS_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'TileMatrixSet': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'TileMatrixSetLimits': GVol.xml.makeObjectPropertySetter( + GVol.format.WMTSCapabilities.readTileMatrixLimitsList_) + }); + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.TMS_LIMITS_LIST_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'TileMatrixLimits': GVol.xml.makeArrayPusher( + GVol.format.WMTSCapabilities.readTileMatrixLimits_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.TMS_LIMITS_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'TileMatrix': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'MinTileRow': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'MaxTileRow': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'MinTileCGVol': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'MaxTileCGVol': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.DIMENSION_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'Default': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'Value': GVol.xml.makeObjectPropertyPusher( + GVol.format.XSD.readString) + }, GVol.xml.makeStructureNS(GVol.format.WMTSCapabilities.OWS_NAMESPACE_URIS_, { + 'Identifier': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString) + })); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.WGS84_BBOX_READERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.OWS_NAMESPACE_URIS_, { + 'LowerCorner': GVol.xml.makeArrayPusher( + GVol.format.WMTSCapabilities.readCoordinates_), + 'UpperCorner': GVol.xml.makeArrayPusher( + GVol.format.WMTSCapabilities.readCoordinates_) + }); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.TMS_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'WellKnownScaleSet': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'TileMatrix': GVol.xml.makeObjectPropertyPusher( + GVol.format.WMTSCapabilities.readTileMatrix_) + }, GVol.xml.makeStructureNS(GVol.format.WMTSCapabilities.OWS_NAMESPACE_URIS_, { + 'SupportedCRS': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString), + 'Identifier': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString) + })); + + +/** + * @const + * @type {Object.<string, Object.<string, GVol.XmlParser>>} + * @private + */ +GVol.format.WMTSCapabilities.TM_PARSERS_ = GVol.xml.makeStructureNS( + GVol.format.WMTSCapabilities.NAMESPACE_URIS_, { + 'TopLeftCorner': GVol.xml.makeObjectPropertySetter( + GVol.format.WMTSCapabilities.readCoordinates_), + 'ScaleDenominator': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readDecimal), + 'TileWidth': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'TileHeight': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'MatrixWidth': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger), + 'MatrixHeight': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readNonNegativeInteger) + }, GVol.xml.makeStructureNS(GVol.format.WMTSCapabilities.OWS_NAMESPACE_URIS_, { + 'Identifier': GVol.xml.makeObjectPropertySetter( + GVol.format.XSD.readString) + })); + +goog.provide('GVol.GeGVolocationProperty'); + + +/** + * @enum {string} + */ +GVol.GeGVolocationProperty = { + ACCURACY: 'accuracy', + ACCURACY_GEOMETRY: 'accuracyGeometry', + ALTITUDE: 'altitude', + ALTITUDE_ACCURACY: 'altitudeAccuracy', + HEADING: 'heading', + POSITION: 'position', + PROJECTION: 'projection', + SPEED: 'speed', + TRACKING: 'tracking', + TRACKING_OPTIONS: 'trackingOptions' +}; + +// FIXME handle geGVolocation not supported + +goog.provide('GVol.GeGVolocation'); + +goog.require('GVol'); +goog.require('GVol.GeGVolocationProperty'); +goog.require('GVol.Object'); +goog.require('GVol.Sphere'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.has'); +goog.require('GVol.math'); +goog.require('GVol.proj'); +goog.require('GVol.proj.EPSG4326'); + + +/** + * @classdesc + * Helper class for providing HTML5 GeGVolocation capabilities. + * The [GeGVolocation API](http://www.w3.org/TR/geGVolocation-API/) + * is used to locate a user's position. + * + * To get notified of position changes, register a listener for the generic + * `change` event on your instance of `GVol.GeGVolocation`. + * + * Example: + * + * var geGVolocation = new GVol.GeGVolocation({ + * // take the projection to use from the map's view + * projection: view.getProjection() + * }); + * // listen to changes in position + * geGVolocation.on('change', function(evt) { + * window.consGVole.log(geGVolocation.getPosition()); + * }); + * + * @fires error + * @constructor + * @extends {GVol.Object} + * @param {GVolx.GeGVolocationOptions=} opt_options Options. + * @api + */ +GVol.GeGVolocation = function(opt_options) { + + GVol.Object.call(this); + + var options = opt_options || {}; + + /** + * The unprojected (EPSG:4326) device position. + * @private + * @type {GVol.Coordinate} + */ + this.position_ = null; + + /** + * @private + * @type {GVol.TransformFunction} + */ + this.transform_ = GVol.proj.identityTransform; + + /** + * @private + * @type {GVol.Sphere} + */ + this.sphere_ = new GVol.Sphere(GVol.proj.EPSG4326.RADIUS); + + /** + * @private + * @type {number|undefined} + */ + this.watchId_ = undefined; + + GVol.events.listen( + this, GVol.Object.getChangeEventType(GVol.GeGVolocationProperty.PROJECTION), + this.handleProjectionChanged_, this); + GVol.events.listen( + this, GVol.Object.getChangeEventType(GVol.GeGVolocationProperty.TRACKING), + this.handleTrackingChanged_, this); + + if (options.projection !== undefined) { + this.setProjection(options.projection); + } + if (options.trackingOptions !== undefined) { + this.setTrackingOptions(options.trackingOptions); + } + + this.setTracking(options.tracking !== undefined ? options.tracking : false); + +}; +GVol.inherits(GVol.GeGVolocation, GVol.Object); + + +/** + * @inheritDoc + */ +GVol.GeGVolocation.prototype.disposeInternal = function() { + this.setTracking(false); + GVol.Object.prototype.disposeInternal.call(this); +}; + + +/** + * @private + */ +GVol.GeGVolocation.prototype.handleProjectionChanged_ = function() { + var projection = this.getProjection(); + if (projection) { + this.transform_ = GVol.proj.getTransformFromProjections( + GVol.proj.get('EPSG:4326'), projection); + if (this.position_) { + this.set( + GVol.GeGVolocationProperty.POSITION, this.transform_(this.position_)); + } + } +}; + + +/** + * @private + */ +GVol.GeGVolocation.prototype.handleTrackingChanged_ = function() { + if (GVol.has.GEOLOCATION) { + var tracking = this.getTracking(); + if (tracking && this.watchId_ === undefined) { + this.watchId_ = navigator.geGVolocation.watchPosition( + this.positionChange_.bind(this), + this.positionError_.bind(this), + this.getTrackingOptions()); + } else if (!tracking && this.watchId_ !== undefined) { + navigator.geGVolocation.clearWatch(this.watchId_); + this.watchId_ = undefined; + } + } +}; + + +/** + * @private + * @param {GeGVolocationPosition} position position event. + */ +GVol.GeGVolocation.prototype.positionChange_ = function(position) { + var coords = position.coords; + this.set(GVol.GeGVolocationProperty.ACCURACY, coords.accuracy); + this.set(GVol.GeGVolocationProperty.ALTITUDE, + coords.altitude === null ? undefined : coords.altitude); + this.set(GVol.GeGVolocationProperty.ALTITUDE_ACCURACY, + coords.altitudeAccuracy === null ? + undefined : coords.altitudeAccuracy); + this.set(GVol.GeGVolocationProperty.HEADING, coords.heading === null ? + undefined : GVol.math.toRadians(coords.heading)); + if (!this.position_) { + this.position_ = [coords.longitude, coords.latitude]; + } else { + this.position_[0] = coords.longitude; + this.position_[1] = coords.latitude; + } + var projectedPosition = this.transform_(this.position_); + this.set(GVol.GeGVolocationProperty.POSITION, projectedPosition); + this.set(GVol.GeGVolocationProperty.SPEED, + coords.speed === null ? undefined : coords.speed); + var geometry = GVol.geom.PGVolygon.circular( + this.sphere_, this.position_, coords.accuracy); + geometry.applyTransform(this.transform_); + this.set(GVol.GeGVolocationProperty.ACCURACY_GEOMETRY, geometry); + this.changed(); +}; + +/** + * Triggered when the GeGVolocation returns an error. + * @event error + * @api + */ + +/** + * @private + * @param {GeGVolocationPositionError} error error object. + */ +GVol.GeGVolocation.prototype.positionError_ = function(error) { + error.type = GVol.events.EventType.ERROR; + this.setTracking(false); + this.dispatchEvent(/** @type {{type: string, target: undefined}} */ (error)); +}; + + +/** + * Get the accuracy of the position in meters. + * @return {number|undefined} The accuracy of the position measurement in + * meters. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getAccuracy = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.GeGVolocationProperty.ACCURACY)); +}; + + +/** + * Get a geometry of the position accuracy. + * @return {?GVol.geom.PGVolygon} A geometry of the position accuracy. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getAccuracyGeometry = function() { + return /** @type {?GVol.geom.PGVolygon} */ ( + this.get(GVol.GeGVolocationProperty.ACCURACY_GEOMETRY) || null); +}; + + +/** + * Get the altitude associated with the position. + * @return {number|undefined} The altitude of the position in meters above mean + * sea level. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getAltitude = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.GeGVolocationProperty.ALTITUDE)); +}; + + +/** + * Get the altitude accuracy of the position. + * @return {number|undefined} The accuracy of the altitude measurement in + * meters. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getAltitudeAccuracy = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.GeGVolocationProperty.ALTITUDE_ACCURACY)); +}; + + +/** + * Get the heading as radians clockwise from North. + * @return {number|undefined} The heading of the device in radians from north. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getHeading = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.GeGVolocationProperty.HEADING)); +}; + + +/** + * Get the position of the device. + * @return {GVol.Coordinate|undefined} The current position of the device reported + * in the current projection. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getPosition = function() { + return /** @type {GVol.Coordinate|undefined} */ ( + this.get(GVol.GeGVolocationProperty.POSITION)); +}; + + +/** + * Get the projection associated with the position. + * @return {GVol.proj.Projection|undefined} The projection the position is + * reported in. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getProjection = function() { + return /** @type {GVol.proj.Projection|undefined} */ ( + this.get(GVol.GeGVolocationProperty.PROJECTION)); +}; + + +/** + * Get the speed in meters per second. + * @return {number|undefined} The instantaneous speed of the device in meters + * per second. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getSpeed = function() { + return /** @type {number|undefined} */ ( + this.get(GVol.GeGVolocationProperty.SPEED)); +}; + + +/** + * Determine if the device location is being tracked. + * @return {boGVolean} The device location is being tracked. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getTracking = function() { + return /** @type {boGVolean} */ ( + this.get(GVol.GeGVolocationProperty.TRACKING)); +}; + + +/** + * Get the tracking options. + * @see http://www.w3.org/TR/geGVolocation-API/#position-options + * @return {GeGVolocationPositionOptions|undefined} PositionOptions as defined by + * the [HTML5 GeGVolocation spec + * ](http://www.w3.org/TR/geGVolocation-API/#position_options_interface). + * @observable + * @api + */ +GVol.GeGVolocation.prototype.getTrackingOptions = function() { + return /** @type {GeGVolocationPositionOptions|undefined} */ ( + this.get(GVol.GeGVolocationProperty.TRACKING_OPTIONS)); +}; + + +/** + * Set the projection to use for transforming the coordinates. + * @param {GVol.ProjectionLike} projection The projection the position is + * reported in. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.setProjection = function(projection) { + this.set(GVol.GeGVolocationProperty.PROJECTION, GVol.proj.get(projection)); +}; + + +/** + * Enable or disable tracking. + * @param {boGVolean} tracking Enable tracking. + * @observable + * @api + */ +GVol.GeGVolocation.prototype.setTracking = function(tracking) { + this.set(GVol.GeGVolocationProperty.TRACKING, tracking); +}; + + +/** + * Set the tracking options. + * @see http://www.w3.org/TR/geGVolocation-API/#position-options + * @param {GeGVolocationPositionOptions} options PositionOptions as defined by the + * [HTML5 GeGVolocation spec + * ](http://www.w3.org/TR/geGVolocation-API/#position_options_interface). + * @observable + * @api + */ +GVol.GeGVolocation.prototype.setTrackingOptions = function(options) { + this.set(GVol.GeGVolocationProperty.TRACKING_OPTIONS, options); +}; + +goog.provide('GVol.geom.Circle'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.geom.flat.deflate'); + + +/** + * @classdesc + * Circle geometry. + * + * @constructor + * @extends {GVol.geom.SimpleGeometry} + * @param {GVol.Coordinate} center Center. + * @param {number=} opt_radius Radius. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @api + */ +GVol.geom.Circle = function(center, opt_radius, opt_layout) { + GVol.geom.SimpleGeometry.call(this); + var radius = opt_radius ? opt_radius : 0; + this.setCenterAndRadius(center, radius, opt_layout); +}; +GVol.inherits(GVol.geom.Circle, GVol.geom.SimpleGeometry); + + +/** + * Make a complete copy of the geometry. + * @return {!GVol.geom.Circle} Clone. + * @override + * @api + */ +GVol.geom.Circle.prototype.clone = function() { + var circle = new GVol.geom.Circle(null); + circle.setFlatCoordinates(this.layout, this.flatCoordinates.slice()); + return circle; +}; + + +/** + * @inheritDoc + */ +GVol.geom.Circle.prototype.closestPointXY = function(x, y, closestPoint, minSquaredDistance) { + var flatCoordinates = this.flatCoordinates; + var dx = x - flatCoordinates[0]; + var dy = y - flatCoordinates[1]; + var squaredDistance = dx * dx + dy * dy; + if (squaredDistance < minSquaredDistance) { + var i; + if (squaredDistance === 0) { + for (i = 0; i < this.stride; ++i) { + closestPoint[i] = flatCoordinates[i]; + } + } else { + var delta = this.getRadius() / Math.sqrt(squaredDistance); + closestPoint[0] = flatCoordinates[0] + delta * dx; + closestPoint[1] = flatCoordinates[1] + delta * dy; + for (i = 2; i < this.stride; ++i) { + closestPoint[i] = flatCoordinates[i]; + } + } + closestPoint.length = this.stride; + return squaredDistance; + } else { + return minSquaredDistance; + } +}; + + +/** + * @inheritDoc + */ +GVol.geom.Circle.prototype.containsXY = function(x, y) { + var flatCoordinates = this.flatCoordinates; + var dx = x - flatCoordinates[0]; + var dy = y - flatCoordinates[1]; + return dx * dx + dy * dy <= this.getRadiusSquared_(); +}; + + +/** + * Return the center of the circle as {@link GVol.Coordinate coordinate}. + * @return {GVol.Coordinate} Center. + * @api + */ +GVol.geom.Circle.prototype.getCenter = function() { + return this.flatCoordinates.slice(0, this.stride); +}; + + +/** + * @inheritDoc + */ +GVol.geom.Circle.prototype.computeExtent = function(extent) { + var flatCoordinates = this.flatCoordinates; + var radius = flatCoordinates[this.stride] - flatCoordinates[0]; + return GVol.extent.createOrUpdate( + flatCoordinates[0] - radius, flatCoordinates[1] - radius, + flatCoordinates[0] + radius, flatCoordinates[1] + radius, + extent); +}; + + +/** + * Return the radius of the circle. + * @return {number} Radius. + * @api + */ +GVol.geom.Circle.prototype.getRadius = function() { + return Math.sqrt(this.getRadiusSquared_()); +}; + + +/** + * @private + * @return {number} Radius squared. + */ +GVol.geom.Circle.prototype.getRadiusSquared_ = function() { + var dx = this.flatCoordinates[this.stride] - this.flatCoordinates[0]; + var dy = this.flatCoordinates[this.stride + 1] - this.flatCoordinates[1]; + return dx * dx + dy * dy; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.Circle.prototype.getType = function() { + return GVol.geom.GeometryType.CIRCLE; +}; + + +/** + * @inheritDoc + * @api + */ +GVol.geom.Circle.prototype.intersectsExtent = function(extent) { + var circleExtent = this.getExtent(); + if (GVol.extent.intersects(extent, circleExtent)) { + var center = this.getCenter(); + + if (extent[0] <= center[0] && extent[2] >= center[0]) { + return true; + } + if (extent[1] <= center[1] && extent[3] >= center[1]) { + return true; + } + + return GVol.extent.forEachCorner(extent, this.intersectsCoordinate, this); + } + return false; + +}; + + +/** + * Set the center of the circle as {@link GVol.Coordinate coordinate}. + * @param {GVol.Coordinate} center Center. + * @api + */ +GVol.geom.Circle.prototype.setCenter = function(center) { + var stride = this.stride; + var radius = this.flatCoordinates[stride] - this.flatCoordinates[0]; + var flatCoordinates = center.slice(); + flatCoordinates[stride] = flatCoordinates[0] + radius; + var i; + for (i = 1; i < stride; ++i) { + flatCoordinates[stride + i] = center[i]; + } + this.setFlatCoordinates(this.layout, flatCoordinates); +}; + + +/** + * Set the center (as {@link GVol.Coordinate coordinate}) and the radius (as + * number) of the circle. + * @param {GVol.Coordinate} center Center. + * @param {number} radius Radius. + * @param {GVol.geom.GeometryLayout=} opt_layout Layout. + * @api + */ +GVol.geom.Circle.prototype.setCenterAndRadius = function(center, radius, opt_layout) { + if (!center) { + this.setFlatCoordinates(GVol.geom.GeometryLayout.XY, null); + } else { + this.setLayout(opt_layout, center, 0); + if (!this.flatCoordinates) { + this.flatCoordinates = []; + } + /** @type {Array.<number>} */ + var flatCoordinates = this.flatCoordinates; + var offset = GVol.geom.flat.deflate.coordinate( + flatCoordinates, 0, center, this.stride); + flatCoordinates[offset++] = flatCoordinates[0] + radius; + var i, ii; + for (i = 1, ii = this.stride; i < ii; ++i) { + flatCoordinates[offset++] = flatCoordinates[i]; + } + flatCoordinates.length = offset; + this.changed(); + } +}; + + +/** + * @inheritDoc + */ +GVol.geom.Circle.prototype.getCoordinates = function() {}; + + +/** + * @inheritDoc + */ +GVol.geom.Circle.prototype.setCoordinates = function(coordinates, opt_layout) {}; + + +/** + * @param {GVol.geom.GeometryLayout} layout Layout. + * @param {Array.<number>} flatCoordinates Flat coordinates. + */ +GVol.geom.Circle.prototype.setFlatCoordinates = function(layout, flatCoordinates) { + this.setFlatCoordinatesInternal(layout, flatCoordinates); + this.changed(); +}; + + +/** + * Set the radius of the circle. The radius is in the units of the projection. + * @param {number} radius Radius. + * @api + */ +GVol.geom.Circle.prototype.setRadius = function(radius) { + this.flatCoordinates[this.stride] = this.flatCoordinates[0] + radius; + this.changed(); +}; + + +/** + * Transform each coordinate of the circle from one coordinate reference system + * to another. The geometry is modified in place. + * If you do not want the geometry modified in place, first clone() it and + * then use this function on the clone. + * + * Internally a circle is currently represented by two points: the center of + * the circle `[cx, cy]`, and the point to the right of the circle + * `[cx + r, cy]`. This `transform` function just transforms these two points. + * So the resulting geometry is also a circle, and that circle does not + * correspond to the shape that would be obtained by transforming every point + * of the original circle. + * + * @param {GVol.ProjectionLike} source The current projection. Can be a + * string identifier or a {@link GVol.proj.Projection} object. + * @param {GVol.ProjectionLike} destination The desired projection. Can be a + * string identifier or a {@link GVol.proj.Projection} object. + * @return {GVol.geom.Circle} This geometry. Note that original geometry is + * modified in place. + * @function + * @api + */ +GVol.geom.Circle.prototype.transform; + +goog.provide('GVol.geom.flat.geodesic'); + +goog.require('GVol.math'); +goog.require('GVol.proj'); + + +/** + * @private + * @param {function(number): GVol.Coordinate} interpGVolate InterpGVolate function. + * @param {GVol.TransformFunction} transform Transform from longitude/latitude to + * projected coordinates. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @return {Array.<number>} Flat coordinates. + */ +GVol.geom.flat.geodesic.line_ = function(interpGVolate, transform, squaredTGVolerance) { + // FIXME reduce garbage generation + // FIXME optimize stack operations + + /** @type {Array.<number>} */ + var flatCoordinates = []; + + var geoA = interpGVolate(0); + var geoB = interpGVolate(1); + + var a = transform(geoA); + var b = transform(geoB); + + /** @type {Array.<GVol.Coordinate>} */ + var geoStack = [geoB, geoA]; + /** @type {Array.<GVol.Coordinate>} */ + var stack = [b, a]; + /** @type {Array.<number>} */ + var fractionStack = [1, 0]; + + /** @type {Object.<string, boGVolean>} */ + var fractions = {}; + + var maxIterations = 1e5; + var geoM, m, fracA, fracB, fracM, key; + + while (--maxIterations > 0 && fractionStack.length > 0) { + // Pop the a coordinate off the stack + fracA = fractionStack.pop(); + geoA = geoStack.pop(); + a = stack.pop(); + // Add the a coordinate if it has not been added yet + key = fracA.toString(); + if (!(key in fractions)) { + flatCoordinates.push(a[0], a[1]); + fractions[key] = true; + } + // Pop the b coordinate off the stack + fracB = fractionStack.pop(); + geoB = geoStack.pop(); + b = stack.pop(); + // Find the m point between the a and b coordinates + fracM = (fracA + fracB) / 2; + geoM = interpGVolate(fracM); + m = transform(geoM); + if (GVol.math.squaredSegmentDistance(m[0], m[1], a[0], a[1], + b[0], b[1]) < squaredTGVolerance) { + // If the m point is sufficiently close to the straight line, then we + // discard it. Just use the b coordinate and move on to the next line + // segment. + flatCoordinates.push(b[0], b[1]); + key = fracB.toString(); + fractions[key] = true; + } else { + // Otherwise, we need to subdivide the current line segment. Split it + // into two and push the two line segments onto the stack. + fractionStack.push(fracB, fracM, fracM, fracA); + stack.push(b, m, m, a); + geoStack.push(geoB, geoM, geoM, geoA); + } + } + + return flatCoordinates; +}; + + +/** +* Generate a great-circle arcs between two lat/lon points. +* @param {number} lon1 Longitude 1 in degrees. +* @param {number} lat1 Latitude 1 in degrees. +* @param {number} lon2 Longitude 2 in degrees. +* @param {number} lat2 Latitude 2 in degrees. + * @param {GVol.proj.Projection} projection Projection. +* @param {number} squaredTGVolerance Squared tGVolerance. +* @return {Array.<number>} Flat coordinates. +*/ +GVol.geom.flat.geodesic.greatCircleArc = function( + lon1, lat1, lon2, lat2, projection, squaredTGVolerance) { + + var geoProjection = GVol.proj.get('EPSG:4326'); + + var cosLat1 = Math.cos(GVol.math.toRadians(lat1)); + var sinLat1 = Math.sin(GVol.math.toRadians(lat1)); + var cosLat2 = Math.cos(GVol.math.toRadians(lat2)); + var sinLat2 = Math.sin(GVol.math.toRadians(lat2)); + var cosDeltaLon = Math.cos(GVol.math.toRadians(lon2 - lon1)); + var sinDeltaLon = Math.sin(GVol.math.toRadians(lon2 - lon1)); + var d = sinLat1 * sinLat2 + cosLat1 * cosLat2 * cosDeltaLon; + + return GVol.geom.flat.geodesic.line_( + /** + * @param {number} frac Fraction. + * @return {GVol.Coordinate} Coordinate. + */ + function(frac) { + if (1 <= d) { + return [lon2, lat2]; + } + var D = frac * Math.acos(d); + var cosD = Math.cos(D); + var sinD = Math.sin(D); + var y = sinDeltaLon * cosLat2; + var x = cosLat1 * sinLat2 - sinLat1 * cosLat2 * cosDeltaLon; + var theta = Math.atan2(y, x); + var lat = Math.asin(sinLat1 * cosD + cosLat1 * sinD * Math.cos(theta)); + var lon = GVol.math.toRadians(lon1) + + Math.atan2(Math.sin(theta) * sinD * cosLat1, + cosD - sinLat1 * Math.sin(lat)); + return [GVol.math.toDegrees(lon), GVol.math.toDegrees(lat)]; + }, GVol.proj.getTransform(geoProjection, projection), squaredTGVolerance); +}; + + +/** + * Generate a meridian (line at constant longitude). + * @param {number} lon Longitude. + * @param {number} lat1 Latitude 1. + * @param {number} lat2 Latitude 2. + * @param {GVol.proj.Projection} projection Projection. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @return {Array.<number>} Flat coordinates. + */ +GVol.geom.flat.geodesic.meridian = function(lon, lat1, lat2, projection, squaredTGVolerance) { + var epsg4326Projection = GVol.proj.get('EPSG:4326'); + return GVol.geom.flat.geodesic.line_( + /** + * @param {number} frac Fraction. + * @return {GVol.Coordinate} Coordinate. + */ + function(frac) { + return [lon, lat1 + ((lat2 - lat1) * frac)]; + }, + GVol.proj.getTransform(epsg4326Projection, projection), squaredTGVolerance); +}; + + +/** + * Generate a parallel (line at constant latitude). + * @param {number} lat Latitude. + * @param {number} lon1 Longitude 1. + * @param {number} lon2 Longitude 2. + * @param {GVol.proj.Projection} projection Projection. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @return {Array.<number>} Flat coordinates. + */ +GVol.geom.flat.geodesic.parallel = function(lat, lon1, lon2, projection, squaredTGVolerance) { + var epsg4326Projection = GVol.proj.get('EPSG:4326'); + return GVol.geom.flat.geodesic.line_( + /** + * @param {number} frac Fraction. + * @return {GVol.Coordinate} Coordinate. + */ + function(frac) { + return [lon1 + ((lon2 - lon1) * frac), lat]; + }, + GVol.proj.getTransform(epsg4326Projection, projection), squaredTGVolerance); +}; + +goog.provide('GVol.Graticule'); + +goog.require('GVol.coordinate'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryLayout'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.flat.geodesic'); +goog.require('GVol.math'); +goog.require('GVol.proj'); +goog.require('GVol.render.EventType'); +goog.require('GVol.style.Fill'); +goog.require('GVol.style.Stroke'); +goog.require('GVol.style.Text'); + + +/** + * Render a grid for a coordinate system on a map. + * @constructor + * @param {GVolx.GraticuleOptions=} opt_options Options. + * @api + */ +GVol.Graticule = function(opt_options) { + var options = opt_options || {}; + + /** + * @type {GVol.Map} + * @private + */ + this.map_ = null; + + /** + * @type {GVol.proj.Projection} + * @private + */ + this.projection_ = null; + + /** + * @type {number} + * @private + */ + this.maxLat_ = Infinity; + + /** + * @type {number} + * @private + */ + this.maxLon_ = Infinity; + + /** + * @type {number} + * @private + */ + this.minLat_ = -Infinity; + + /** + * @type {number} + * @private + */ + this.minLon_ = -Infinity; + + /** + * @type {number} + * @private + */ + this.maxLatP_ = Infinity; + + /** + * @type {number} + * @private + */ + this.maxLonP_ = Infinity; + + /** + * @type {number} + * @private + */ + this.minLatP_ = -Infinity; + + /** + * @type {number} + * @private + */ + this.minLonP_ = -Infinity; + + /** + * @type {number} + * @private + */ + this.targetSize_ = options.targetSize !== undefined ? + options.targetSize : 100; + + /** + * @type {number} + * @private + */ + this.maxLines_ = options.maxLines !== undefined ? options.maxLines : 100; + + /** + * @type {Array.<GVol.geom.LineString>} + * @private + */ + this.meridians_ = []; + + /** + * @type {Array.<GVol.geom.LineString>} + * @private + */ + this.parallels_ = []; + + /** + * @type {GVol.style.Stroke} + * @private + */ + this.strokeStyle_ = options.strokeStyle !== undefined ? + options.strokeStyle : GVol.Graticule.DEFAULT_STROKE_STYLE_; + + /** + * @type {GVol.TransformFunction|undefined} + * @private + */ + this.fromLonLatTransform_ = undefined; + + /** + * @type {GVol.TransformFunction|undefined} + * @private + */ + this.toLonLatTransform_ = undefined; + + /** + * @type {GVol.Coordinate} + * @private + */ + this.projectionCenterLonLat_ = null; + + /** + * @type {Array.<GVol.GraticuleLabelDataType>} + * @private + */ + this.meridiansLabels_ = null; + + /** + * @type {Array.<GVol.GraticuleLabelDataType>} + * @private + */ + this.parallelsLabels_ = null; + + if (options.showLabels == true) { + var degreesToString = GVol.coordinate.degreesToStringHDMS; + + /** + * @type {null|function(number):string} + * @private + */ + this.lonLabelFormatter_ = options.lonLabelFormatter == undefined ? + degreesToString.bind(this, 'EW') : options.lonLabelFormatter; + + /** + * @type {function(number):string} + * @private + */ + this.latLabelFormatter_ = options.latLabelFormatter == undefined ? + degreesToString.bind(this, 'NS') : options.latLabelFormatter; + + /** + * Longitude label position in fractions (0..1) of view extent. 0 means + * bottom, 1 means top. + * @type {number} + * @private + */ + this.lonLabelPosition_ = options.lonLabelPosition == undefined ? 0 : + options.lonLabelPosition; + + /** + * Latitude Label position in fractions (0..1) of view extent. 0 means left, 1 + * means right. + * @type {number} + * @private + */ + this.latLabelPosition_ = options.latLabelPosition == undefined ? 1 : + options.latLabelPosition; + + /** + * @type {GVol.style.Text} + * @private + */ + this.lonLabelStyle_ = options.lonLabelStyle !== undefined ? options.lonLabelStyle : + new GVol.style.Text({ + font: '12px Calibri,sans-serif', + textBaseline: 'bottom', + fill: new GVol.style.Fill({ + cGVolor: 'rgba(0,0,0,1)' + }), + stroke: new GVol.style.Stroke({ + cGVolor: 'rgba(255,255,255,1)', + width: 3 + }) + }); + + /** + * @type {GVol.style.Text} + * @private + */ + this.latLabelStyle_ = options.latLabelStyle !== undefined ? options.latLabelStyle : + new GVol.style.Text({ + font: '12px Calibri,sans-serif', + textAlign: 'end', + fill: new GVol.style.Fill({ + cGVolor: 'rgba(0,0,0,1)' + }), + stroke: new GVol.style.Stroke({ + cGVolor: 'rgba(255,255,255,1)', + width: 3 + }) + }); + + this.meridiansLabels_ = []; + this.parallelsLabels_ = []; + } + + this.setMap(options.map !== undefined ? options.map : null); +}; + + +/** + * @type {GVol.style.Stroke} + * @private + * @const + */ +GVol.Graticule.DEFAULT_STROKE_STYLE_ = new GVol.style.Stroke({ + cGVolor: 'rgba(0,0,0,0.2)' +}); + + +/** + * TODO can be configurable + * @type {Array.<number>} + * @private + */ +GVol.Graticule.intervals_ = [90, 45, 30, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, + 0.01, 0.005, 0.002, 0.001]; + + +/** + * @param {number} lon Longitude. + * @param {number} minLat Minimal latitude. + * @param {number} maxLat Maximal latitude. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @param {GVol.Extent} extent Extent. + * @param {number} index Index. + * @return {number} Index. + * @private + */ +GVol.Graticule.prototype.addMeridian_ = function(lon, minLat, maxLat, squaredTGVolerance, extent, index) { + var lineString = this.getMeridian_(lon, minLat, maxLat, + squaredTGVolerance, index); + if (GVol.extent.intersects(lineString.getExtent(), extent)) { + if (this.meridiansLabels_) { + var textPoint = this.getMeridianPoint_(lineString, extent, index); + this.meridiansLabels_[index] = { + geom: textPoint, + text: this.lonLabelFormatter_(lon) + }; + } + this.meridians_[index++] = lineString; + } + return index; +}; + +/** + * @param {GVol.geom.LineString} lineString Meridian + * @param {GVol.Extent} extent Extent. + * @param {number} index Index. + * @return {GVol.geom.Point} Meridian point. + * @private + */ +GVol.Graticule.prototype.getMeridianPoint_ = function(lineString, extent, index) { + var flatCoordinates = lineString.getFlatCoordinates(); + var clampedBottom = Math.max(extent[1], flatCoordinates[1]); + var clampedTop = Math.min(extent[3], flatCoordinates[flatCoordinates.length - 1]); + var lat = GVol.math.clamp( + extent[1] + Math.abs(extent[1] - extent[3]) * this.lonLabelPosition_, + clampedBottom, clampedTop); + var coordinate = [flatCoordinates[0], lat]; + var point = this.meridiansLabels_[index] !== undefined ? + this.meridiansLabels_[index].geom : new GVol.geom.Point(null); + point.setCoordinates(coordinate); + return point; +}; + + +/** + * @param {number} lat Latitude. + * @param {number} minLon Minimal longitude. + * @param {number} maxLon Maximal longitude. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @param {GVol.Extent} extent Extent. + * @param {number} index Index. + * @return {number} Index. + * @private + */ +GVol.Graticule.prototype.addParallel_ = function(lat, minLon, maxLon, squaredTGVolerance, extent, index) { + var lineString = this.getParallel_(lat, minLon, maxLon, squaredTGVolerance, + index); + if (GVol.extent.intersects(lineString.getExtent(), extent)) { + if (this.parallelsLabels_) { + var textPoint = this.getParallelPoint_(lineString, extent, index); + this.parallelsLabels_[index] = { + geom: textPoint, + text: this.latLabelFormatter_(lat) + }; + } + this.parallels_[index++] = lineString; + } + return index; +}; + + +/** + * @param {GVol.geom.LineString} lineString Parallels. + * @param {GVol.Extent} extent Extent. + * @param {number} index Index. + * @return {GVol.geom.Point} Parallel point. + * @private + */ +GVol.Graticule.prototype.getParallelPoint_ = function(lineString, extent, index) { + var flatCoordinates = lineString.getFlatCoordinates(); + var clampedLeft = Math.max(extent[0], flatCoordinates[0]); + var clampedRight = Math.min(extent[2], flatCoordinates[flatCoordinates.length - 2]); + var lon = GVol.math.clamp( + extent[0] + Math.abs(extent[0] - extent[2]) * this.latLabelPosition_, + clampedLeft, clampedRight); + var coordinate = [lon, flatCoordinates[1]]; + var point = this.parallelsLabels_[index] !== undefined ? + this.parallelsLabels_[index].geom : new GVol.geom.Point(null); + point.setCoordinates(coordinate); + return point; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {GVol.Coordinate} center Center. + * @param {number} resGVolution ResGVolution. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @private + */ +GVol.Graticule.prototype.createGraticule_ = function(extent, center, resGVolution, squaredTGVolerance) { + + var interval = this.getInterval_(resGVolution); + if (interval == -1) { + this.meridians_.length = this.parallels_.length = 0; + if (this.meridiansLabels_) { + this.meridiansLabels_.length = 0; + } + if (this.parallelsLabels_) { + this.parallelsLabels_.length = 0; + } + return; + } + + var centerLonLat = this.toLonLatTransform_(center); + var centerLon = centerLonLat[0]; + var centerLat = centerLonLat[1]; + var maxLines = this.maxLines_; + var cnt, idx, lat, lon; + + var validExtent = [ + Math.max(extent[0], this.minLonP_), + Math.max(extent[1], this.minLatP_), + Math.min(extent[2], this.maxLonP_), + Math.min(extent[3], this.maxLatP_) + ]; + + validExtent = GVol.proj.transformExtent(validExtent, this.projection_, + 'EPSG:4326'); + var maxLat = validExtent[3]; + var maxLon = validExtent[2]; + var minLat = validExtent[1]; + var minLon = validExtent[0]; + + // Create meridians + + centerLon = Math.floor(centerLon / interval) * interval; + lon = GVol.math.clamp(centerLon, this.minLon_, this.maxLon_); + + idx = this.addMeridian_(lon, minLat, maxLat, squaredTGVolerance, extent, 0); + + cnt = 0; + while (lon != this.minLon_ && cnt++ < maxLines) { + lon = Math.max(lon - interval, this.minLon_); + idx = this.addMeridian_(lon, minLat, maxLat, squaredTGVolerance, extent, idx); + } + + lon = GVol.math.clamp(centerLon, this.minLon_, this.maxLon_); + + cnt = 0; + while (lon != this.maxLon_ && cnt++ < maxLines) { + lon = Math.min(lon + interval, this.maxLon_); + idx = this.addMeridian_(lon, minLat, maxLat, squaredTGVolerance, extent, idx); + } + + this.meridians_.length = idx; + if (this.meridiansLabels_) { + this.meridiansLabels_.length = idx; + } + + // Create parallels + + centerLat = Math.floor(centerLat / interval) * interval; + lat = GVol.math.clamp(centerLat, this.minLat_, this.maxLat_); + + idx = this.addParallel_(lat, minLon, maxLon, squaredTGVolerance, extent, 0); + + cnt = 0; + while (lat != this.minLat_ && cnt++ < maxLines) { + lat = Math.max(lat - interval, this.minLat_); + idx = this.addParallel_(lat, minLon, maxLon, squaredTGVolerance, extent, idx); + } + + lat = GVol.math.clamp(centerLat, this.minLat_, this.maxLat_); + + cnt = 0; + while (lat != this.maxLat_ && cnt++ < maxLines) { + lat = Math.min(lat + interval, this.maxLat_); + idx = this.addParallel_(lat, minLon, maxLon, squaredTGVolerance, extent, idx); + } + + this.parallels_.length = idx; + if (this.parallelsLabels_) { + this.parallelsLabels_.length = idx; + } + +}; + + +/** + * @param {number} resGVolution ResGVolution. + * @return {number} The interval in degrees. + * @private + */ +GVol.Graticule.prototype.getInterval_ = function(resGVolution) { + var centerLon = this.projectionCenterLonLat_[0]; + var centerLat = this.projectionCenterLonLat_[1]; + var interval = -1; + var i, ii, delta, dist; + var target = Math.pow(this.targetSize_ * resGVolution, 2); + /** @type {Array.<number>} **/ + var p1 = []; + /** @type {Array.<number>} **/ + var p2 = []; + for (i = 0, ii = GVol.Graticule.intervals_.length; i < ii; ++i) { + delta = GVol.Graticule.intervals_[i] / 2; + p1[0] = centerLon - delta; + p1[1] = centerLat - delta; + p2[0] = centerLon + delta; + p2[1] = centerLat + delta; + this.fromLonLatTransform_(p1, p1); + this.fromLonLatTransform_(p2, p2); + dist = Math.pow(p2[0] - p1[0], 2) + Math.pow(p2[1] - p1[1], 2); + if (dist <= target) { + break; + } + interval = GVol.Graticule.intervals_[i]; + } + return interval; +}; + + +/** + * Get the map associated with this graticule. + * @return {GVol.Map} The map. + * @api + */ +GVol.Graticule.prototype.getMap = function() { + return this.map_; +}; + + +/** + * @param {number} lon Longitude. + * @param {number} minLat Minimal latitude. + * @param {number} maxLat Maximal latitude. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @return {GVol.geom.LineString} The meridian line string. + * @param {number} index Index. + * @private + */ +GVol.Graticule.prototype.getMeridian_ = function(lon, minLat, maxLat, + squaredTGVolerance, index) { + var flatCoordinates = GVol.geom.flat.geodesic.meridian(lon, + minLat, maxLat, this.projection_, squaredTGVolerance); + var lineString = this.meridians_[index] !== undefined ? + this.meridians_[index] : new GVol.geom.LineString(null); + lineString.setFlatCoordinates(GVol.geom.GeometryLayout.XY, flatCoordinates); + return lineString; +}; + + +/** + * Get the list of meridians. Meridians are lines of equal longitude. + * @return {Array.<GVol.geom.LineString>} The meridians. + * @api + */ +GVol.Graticule.prototype.getMeridians = function() { + return this.meridians_; +}; + + +/** + * @param {number} lat Latitude. + * @param {number} minLon Minimal longitude. + * @param {number} maxLon Maximal longitude. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @return {GVol.geom.LineString} The parallel line string. + * @param {number} index Index. + * @private + */ +GVol.Graticule.prototype.getParallel_ = function(lat, minLon, maxLon, + squaredTGVolerance, index) { + var flatCoordinates = GVol.geom.flat.geodesic.parallel(lat, + minLon, maxLon, this.projection_, squaredTGVolerance); + var lineString = this.parallels_[index] !== undefined ? + this.parallels_[index] : new GVol.geom.LineString(null); + lineString.setFlatCoordinates(GVol.geom.GeometryLayout.XY, flatCoordinates); + return lineString; +}; + + +/** + * Get the list of parallels. Parallels are lines of equal latitude. + * @return {Array.<GVol.geom.LineString>} The parallels. + * @api + */ +GVol.Graticule.prototype.getParallels = function() { + return this.parallels_; +}; + + +/** + * @param {GVol.render.Event} e Event. + * @private + */ +GVol.Graticule.prototype.handlePostCompose_ = function(e) { + var vectorContext = e.vectorContext; + var frameState = e.frameState; + var extent = frameState.extent; + var viewState = frameState.viewState; + var center = viewState.center; + var projection = viewState.projection; + var resGVolution = viewState.resGVolution; + var pixelRatio = frameState.pixelRatio; + var squaredTGVolerance = + resGVolution * resGVolution / (4 * pixelRatio * pixelRatio); + + var updateProjectionInfo = !this.projection_ || + !GVol.proj.equivalent(this.projection_, projection); + + if (updateProjectionInfo) { + this.updateProjectionInfo_(projection); + } + + this.createGraticule_(extent, center, resGVolution, squaredTGVolerance); + + // Draw the lines + vectorContext.setFillStrokeStyle(null, this.strokeStyle_); + var i, l, line; + for (i = 0, l = this.meridians_.length; i < l; ++i) { + line = this.meridians_[i]; + vectorContext.drawGeometry(line); + } + for (i = 0, l = this.parallels_.length; i < l; ++i) { + line = this.parallels_[i]; + vectorContext.drawGeometry(line); + } + var labelData; + if (this.meridiansLabels_) { + for (i = 0, l = this.meridiansLabels_.length; i < l; ++i) { + labelData = this.meridiansLabels_[i]; + this.lonLabelStyle_.setText(labelData.text); + vectorContext.setTextStyle(this.lonLabelStyle_); + vectorContext.drawGeometry(labelData.geom); + } + } + if (this.parallelsLabels_) { + for (i = 0, l = this.parallelsLabels_.length; i < l; ++i) { + labelData = this.parallelsLabels_[i]; + this.latLabelStyle_.setText(labelData.text); + vectorContext.setTextStyle(this.latLabelStyle_); + vectorContext.drawGeometry(labelData.geom); + } + } +}; + + +/** + * @param {GVol.proj.Projection} projection Projection. + * @private + */ +GVol.Graticule.prototype.updateProjectionInfo_ = function(projection) { + var epsg4326Projection = GVol.proj.get('EPSG:4326'); + + var extent = projection.getExtent(); + var worldExtent = projection.getWorldExtent(); + var worldExtentP = GVol.proj.transformExtent(worldExtent, + epsg4326Projection, projection); + + var maxLat = worldExtent[3]; + var maxLon = worldExtent[2]; + var minLat = worldExtent[1]; + var minLon = worldExtent[0]; + + var maxLatP = worldExtentP[3]; + var maxLonP = worldExtentP[2]; + var minLatP = worldExtentP[1]; + var minLonP = worldExtentP[0]; + + this.maxLat_ = maxLat; + this.maxLon_ = maxLon; + this.minLat_ = minLat; + this.minLon_ = minLon; + + this.maxLatP_ = maxLatP; + this.maxLonP_ = maxLonP; + this.minLatP_ = minLatP; + this.minLonP_ = minLonP; + + + this.fromLonLatTransform_ = GVol.proj.getTransform( + epsg4326Projection, projection); + + this.toLonLatTransform_ = GVol.proj.getTransform( + projection, epsg4326Projection); + + this.projectionCenterLonLat_ = this.toLonLatTransform_( + GVol.extent.getCenter(extent)); + + this.projection_ = projection; +}; + + +/** + * Set the map for this graticule. The graticule will be rendered on the + * provided map. + * @param {GVol.Map} map Map. + * @api + */ +GVol.Graticule.prototype.setMap = function(map) { + if (this.map_) { + this.map_.un(GVol.render.EventType.POSTCOMPOSE, + this.handlePostCompose_, this); + this.map_.render(); + } + if (map) { + map.on(GVol.render.EventType.POSTCOMPOSE, + this.handlePostCompose_, this); + map.render(); + } + this.map_ = map; +}; + +goog.provide('GVol.ImageBase'); + +goog.require('GVol'); +goog.require('GVol.events.EventTarget'); +goog.require('GVol.events.EventType'); + + +/** + * @constructor + * @abstract + * @extends {GVol.events.EventTarget} + * @param {GVol.Extent} extent Extent. + * @param {number|undefined} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.ImageState} state State. + * @param {Array.<GVol.Attribution>} attributions Attributions. + */ +GVol.ImageBase = function(extent, resGVolution, pixelRatio, state, attributions) { + + GVol.events.EventTarget.call(this); + + /** + * @private + * @type {Array.<GVol.Attribution>} + */ + this.attributions_ = attributions; + + /** + * @protected + * @type {GVol.Extent} + */ + this.extent = extent; + + /** + * @private + * @type {number} + */ + this.pixelRatio_ = pixelRatio; + + /** + * @protected + * @type {number|undefined} + */ + this.resGVolution = resGVolution; + + /** + * @protected + * @type {GVol.ImageState} + */ + this.state = state; + +}; +GVol.inherits(GVol.ImageBase, GVol.events.EventTarget); + + +/** + * @protected + */ +GVol.ImageBase.prototype.changed = function() { + this.dispatchEvent(GVol.events.EventType.CHANGE); +}; + + +/** + * @return {Array.<GVol.Attribution>} Attributions. + */ +GVol.ImageBase.prototype.getAttributions = function() { + return this.attributions_; +}; + + +/** + * @return {GVol.Extent} Extent. + */ +GVol.ImageBase.prototype.getExtent = function() { + return this.extent; +}; + + +/** + * @abstract + * @param {Object=} opt_context Object. + * @return {HTMLCanvasElement|Image|HTMLVideoElement} Image. + */ +GVol.ImageBase.prototype.getImage = function(opt_context) {}; + + +/** + * @return {number} PixelRatio. + */ +GVol.ImageBase.prototype.getPixelRatio = function() { + return this.pixelRatio_; +}; + + +/** + * @return {number} ResGVolution. + */ +GVol.ImageBase.prototype.getResGVolution = function() { + return /** @type {number} */ (this.resGVolution); +}; + + +/** + * @return {GVol.ImageState} State. + */ +GVol.ImageBase.prototype.getState = function() { + return this.state; +}; + + +/** + * Load not yet loaded URI. + * @abstract + */ +GVol.ImageBase.prototype.load = function() {}; + +goog.provide('GVol.Image'); + +goog.require('GVol'); +goog.require('GVol.ImageBase'); +goog.require('GVol.ImageState'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); + + +/** + * @constructor + * @extends {GVol.ImageBase} + * @param {GVol.Extent} extent Extent. + * @param {number|undefined} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {Array.<GVol.Attribution>} attributions Attributions. + * @param {string} src Image source URI. + * @param {?string} crossOrigin Cross origin. + * @param {GVol.ImageLoadFunctionType} imageLoadFunction Image load function. + */ +GVol.Image = function(extent, resGVolution, pixelRatio, attributions, src, + crossOrigin, imageLoadFunction) { + + GVol.ImageBase.call(this, extent, resGVolution, pixelRatio, GVol.ImageState.IDLE, + attributions); + + /** + * @private + * @type {string} + */ + this.src_ = src; + + /** + * @private + * @type {HTMLCanvasElement|Image|HTMLVideoElement} + */ + this.image_ = new Image(); + if (crossOrigin !== null) { + this.image_.crossOrigin = crossOrigin; + } + + /** + * @private + * @type {Object.<number, (HTMLCanvasElement|Image|HTMLVideoElement)>} + */ + this.imageByContext_ = {}; + + /** + * @private + * @type {Array.<GVol.EventsKey>} + */ + this.imageListenerKeys_ = null; + + /** + * @protected + * @type {GVol.ImageState} + */ + this.state = GVol.ImageState.IDLE; + + /** + * @private + * @type {GVol.ImageLoadFunctionType} + */ + this.imageLoadFunction_ = imageLoadFunction; + +}; +GVol.inherits(GVol.Image, GVol.ImageBase); + + +/** + * @inheritDoc + * @api + */ +GVol.Image.prototype.getImage = function(opt_context) { + if (opt_context !== undefined) { + var image; + var key = GVol.getUid(opt_context); + if (key in this.imageByContext_) { + return this.imageByContext_[key]; + } else if (GVol.obj.isEmpty(this.imageByContext_)) { + image = this.image_; + } else { + image = /** @type {Image} */ (this.image_.cloneNode(false)); + } + this.imageByContext_[key] = image; + return image; + } else { + return this.image_; + } +}; + + +/** + * Tracks loading or read errors. + * + * @private + */ +GVol.Image.prototype.handleImageError_ = function() { + this.state = GVol.ImageState.ERROR; + this.unlistenImage_(); + this.changed(); +}; + + +/** + * Tracks successful image load. + * + * @private + */ +GVol.Image.prototype.handleImageLoad_ = function() { + if (this.resGVolution === undefined) { + this.resGVolution = GVol.extent.getHeight(this.extent) / this.image_.height; + } + this.state = GVol.ImageState.LOADED; + this.unlistenImage_(); + this.changed(); +}; + + +/** + * Load the image or retry if loading previously failed. + * Loading is taken care of by the tile queue, and calling this method is + * only needed for preloading or for reloading in case of an error. + * @override + * @api + */ +GVol.Image.prototype.load = function() { + if (this.state == GVol.ImageState.IDLE || this.state == GVol.ImageState.ERROR) { + this.state = GVol.ImageState.LOADING; + this.changed(); + this.imageListenerKeys_ = [ + GVol.events.listenOnce(this.image_, GVol.events.EventType.ERROR, + this.handleImageError_, this), + GVol.events.listenOnce(this.image_, GVol.events.EventType.LOAD, + this.handleImageLoad_, this) + ]; + this.imageLoadFunction_(this, this.src_); + } +}; + + +/** + * @param {HTMLCanvasElement|Image|HTMLVideoElement} image Image. + */ +GVol.Image.prototype.setImage = function(image) { + this.image_ = image; +}; + + +/** + * Discards event handlers which listen for load completion or errors. + * + * @private + */ +GVol.Image.prototype.unlistenImage_ = function() { + this.imageListenerKeys_.forEach(GVol.events.unlistenByKey); + this.imageListenerKeys_ = null; +}; + +goog.provide('GVol.ImageCanvas'); + +goog.require('GVol'); +goog.require('GVol.ImageBase'); +goog.require('GVol.ImageState'); + + +/** + * @constructor + * @extends {GVol.ImageBase} + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {Array.<GVol.Attribution>} attributions Attributions. + * @param {HTMLCanvasElement} canvas Canvas. + * @param {GVol.ImageCanvasLoader=} opt_loader Optional loader function to + * support asynchronous canvas drawing. + */ +GVol.ImageCanvas = function(extent, resGVolution, pixelRatio, attributions, + canvas, opt_loader) { + + /** + * Optional canvas loader function. + * @type {?GVol.ImageCanvasLoader} + * @private + */ + this.loader_ = opt_loader !== undefined ? opt_loader : null; + + var state = opt_loader !== undefined ? + GVol.ImageState.IDLE : GVol.ImageState.LOADED; + + GVol.ImageBase.call(this, extent, resGVolution, pixelRatio, state, attributions); + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = canvas; + + /** + * @private + * @type {Error} + */ + this.error_ = null; + +}; +GVol.inherits(GVol.ImageCanvas, GVol.ImageBase); + + +/** + * Get any error associated with asynchronous rendering. + * @return {Error} Any error that occurred during rendering. + */ +GVol.ImageCanvas.prototype.getError = function() { + return this.error_; +}; + + +/** + * Handle async drawing complete. + * @param {Error} err Any error during drawing. + * @private + */ +GVol.ImageCanvas.prototype.handleLoad_ = function(err) { + if (err) { + this.error_ = err; + this.state = GVol.ImageState.ERROR; + } else { + this.state = GVol.ImageState.LOADED; + } + this.changed(); +}; + + +/** + * @inheritDoc + */ +GVol.ImageCanvas.prototype.load = function() { + if (this.state == GVol.ImageState.IDLE) { + this.state = GVol.ImageState.LOADING; + this.changed(); + this.loader_(this.handleLoad_.bind(this)); + } +}; + + +/** + * @inheritDoc + */ +GVol.ImageCanvas.prototype.getImage = function(opt_context) { + return this.canvas_; +}; + +goog.provide('GVol.Tile'); + +goog.require('GVol'); +goog.require('GVol.TileState'); +goog.require('GVol.events.EventTarget'); +goog.require('GVol.events.EventType'); + + +/** + * @classdesc + * Base class for tiles. + * + * @constructor + * @abstract + * @extends {GVol.events.EventTarget} + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.TileState} state State. + */ +GVol.Tile = function(tileCoord, state) { + + GVol.events.EventTarget.call(this); + + /** + * @type {GVol.TileCoord} + */ + this.tileCoord = tileCoord; + + /** + * @protected + * @type {GVol.TileState} + */ + this.state = state; + + /** + * An "interim" tile for this tile. The interim tile may be used while this + * one is loading, for "smooth" transitions when changing params/dimensions + * on the source. + * @type {GVol.Tile} + */ + this.interimTile = null; + + /** + * A key assigned to the tile. This is used by the tile source to determine + * if this tile can effectively be used, or if a new tile should be created + * and this one be used as an interim tile for this new tile. + * @type {string} + */ + this.key = ''; + +}; +GVol.inherits(GVol.Tile, GVol.events.EventTarget); + + +/** + * @protected + */ +GVol.Tile.prototype.changed = function() { + this.dispatchEvent(GVol.events.EventType.CHANGE); +}; + + +/** + * @return {string} Key. + */ +GVol.Tile.prototype.getKey = function() { + return this.key + '/' + this.tileCoord; +}; + +/** + * Get the interim tile most suitable for rendering using the chain of interim + * tiles. This corresponds to the most recent tile that has been loaded, if no + * such tile exists, the original tile is returned. + * @return {!GVol.Tile} Best tile for rendering. + */ +GVol.Tile.prototype.getInterimTile = function() { + if (!this.interimTile) { + //empty chain + return this; + } + var tile = this.interimTile; + + // find the first loaded tile and return it. Since the chain is sorted in + // decreasing order of creation time, there is no need to search the remainder + // of the list (all those tiles correspond to GVolder requests and will be + // cleaned up by refreshInterimChain) + do { + if (tile.getState() == GVol.TileState.LOADED) { + return tile; + } + tile = tile.interimTile; + } while (tile); + + // we can not find a better tile + return this; +}; + +/** + * Goes through the chain of interim tiles and discards sections of the chain + * that are no longer relevant. + */ +GVol.Tile.prototype.refreshInterimChain = function() { + if (!this.interimTile) { + return; + } + + var tile = this.interimTile; + var prev = this; + + do { + if (tile.getState() == GVol.TileState.LOADED) { + //we have a loaded tile, we can discard the rest of the list + //we would could abort any LOADING tile request + //GVolder than this tile (i.e. any LOADING tile fGVollowing this entry in the chain) + tile.interimTile = null; + break; + } else if (tile.getState() == GVol.TileState.LOADING) { + //keep this LOADING tile any loaded tiles later in the chain are + //GVolder than this tile, so we're still interested in the request + prev = tile; + } else if (tile.getState() == GVol.TileState.IDLE) { + //the head of the list is the most current tile, we don't need + //to start any other requests for this chain + prev.interimTile = tile.interimTile; + } else { + prev = tile; + } + tile = prev.interimTile; + } while (tile); +}; + +/** + * Get the tile coordinate for this tile. + * @return {GVol.TileCoord} The tile coordinate. + * @api + */ +GVol.Tile.prototype.getTileCoord = function() { + return this.tileCoord; +}; + + +/** + * @return {GVol.TileState} State. + */ +GVol.Tile.prototype.getState = function() { + return this.state; +}; + +/** + * @param {GVol.TileState} state State. + */ +GVol.Tile.prototype.setState = function(state) { + this.state = state; + this.changed(); +}; + +/** + * Load the image or retry if loading previously failed. + * Loading is taken care of by the tile queue, and calling this method is + * only needed for preloading or for reloading in case of an error. + * @abstract + * @api + */ +GVol.Tile.prototype.load = function() {}; + +goog.provide('GVol.ImageTile'); + +goog.require('GVol'); +goog.require('GVol.Tile'); +goog.require('GVol.TileState'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); + + +/** + * @constructor + * @extends {GVol.Tile} + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.TileState} state State. + * @param {string} src Image source URI. + * @param {?string} crossOrigin Cross origin. + * @param {GVol.TileLoadFunctionType} tileLoadFunction Tile load function. + */ +GVol.ImageTile = function(tileCoord, state, src, crossOrigin, tileLoadFunction) { + + GVol.Tile.call(this, tileCoord, state); + + /** + * Image URI + * + * @private + * @type {string} + */ + this.src_ = src; + + /** + * @private + * @type {Image|HTMLCanvasElement} + */ + this.image_ = new Image(); + if (crossOrigin !== null) { + this.image_.crossOrigin = crossOrigin; + } + + /** + * @private + * @type {Array.<GVol.EventsKey>} + */ + this.imageListenerKeys_ = null; + + /** + * @private + * @type {GVol.TileLoadFunctionType} + */ + this.tileLoadFunction_ = tileLoadFunction; + +}; +GVol.inherits(GVol.ImageTile, GVol.Tile); + + +/** + * @inheritDoc + */ +GVol.ImageTile.prototype.disposeInternal = function() { + if (this.state == GVol.TileState.LOADING) { + this.unlistenImage_(); + this.image_.src = GVol.ImageTile.blankImage.toDataURL('image/png'); + } + if (this.interimTile) { + this.interimTile.dispose(); + } + this.state = GVol.TileState.ABORT; + this.changed(); + GVol.Tile.prototype.disposeInternal.call(this); +}; + + +/** + * Get the HTML image element for this tile (may be a Canvas, Image, or Video). + * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image. + * @api + */ +GVol.ImageTile.prototype.getImage = function() { + return this.image_; +}; + + +/** + * @inheritDoc + */ +GVol.ImageTile.prototype.getKey = function() { + return this.src_; +}; + + +/** + * Tracks loading or read errors. + * + * @private + */ +GVol.ImageTile.prototype.handleImageError_ = function() { + this.state = GVol.TileState.ERROR; + this.unlistenImage_(); + this.image_ = GVol.ImageTile.blankImage; + this.changed(); +}; + + +/** + * Tracks successful image load. + * + * @private + */ +GVol.ImageTile.prototype.handleImageLoad_ = function() { + if (this.image_.naturalWidth && this.image_.naturalHeight) { + this.state = GVol.TileState.LOADED; + } else { + this.state = GVol.TileState.EMPTY; + } + this.unlistenImage_(); + this.changed(); +}; + + +/** + * @inheritDoc + * @api + */ +GVol.ImageTile.prototype.load = function() { + if (this.state == GVol.TileState.IDLE || this.state == GVol.TileState.ERROR) { + this.state = GVol.TileState.LOADING; + this.changed(); + this.imageListenerKeys_ = [ + GVol.events.listenOnce(this.image_, GVol.events.EventType.ERROR, + this.handleImageError_, this), + GVol.events.listenOnce(this.image_, GVol.events.EventType.LOAD, + this.handleImageLoad_, this) + ]; + this.tileLoadFunction_(this, this.src_); + } +}; + + +/** + * Discards event handlers which listen for load completion or errors. + * + * @private + */ +GVol.ImageTile.prototype.unlistenImage_ = function() { + this.imageListenerKeys_.forEach(GVol.events.unlistenByKey); + this.imageListenerKeys_ = null; +}; + + +/** + * A blank image. + * @type {HTMLCanvasElement} + */ +GVol.ImageTile.blankImage = (function() { + var ctx = GVol.dom.createCanvasContext2D(1, 1); + ctx.fillStyle = 'rgba(0,0,0,0)'; + ctx.fillRect(0, 0, 1, 1); + return ctx.canvas; +})(); + +// FIXME should handle all geo-referenced data, not just vector data + +goog.provide('GVol.interaction.DragAndDrop'); + +goog.require('GVol'); +goog.require('GVol.functions'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); +goog.require('GVol.events.EventType'); +goog.require('GVol.interaction.Interaction'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * Handles input of vector data by drag and drop. + * + * @constructor + * @extends {GVol.interaction.Interaction} + * @fires GVol.interaction.DragAndDrop.Event + * @param {GVolx.interaction.DragAndDropOptions=} opt_options Options. + * @api + */ +GVol.interaction.DragAndDrop = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.interaction.Interaction.call(this, { + handleEvent: GVol.interaction.DragAndDrop.handleEvent + }); + + /** + * @private + * @type {Array.<function(new: GVol.format.Feature)>} + */ + this.formatConstructors_ = options.formatConstructors ? + options.formatConstructors : []; + + /** + * @private + * @type {GVol.proj.Projection} + */ + this.projection_ = options.projection ? + GVol.proj.get(options.projection) : null; + + /** + * @private + * @type {Array.<GVol.EventsKey>} + */ + this.dropListenKeys_ = null; + + /** + * @private + * @type {GVol.source.Vector} + */ + this.source_ = options.source || null; + + /** + * @private + * @type {Element} + */ + this.target = options.target ? options.target : null; + +}; +GVol.inherits(GVol.interaction.DragAndDrop, GVol.interaction.Interaction); + + +/** + * @param {Event} event Event. + * @this {GVol.interaction.DragAndDrop} + * @private + */ +GVol.interaction.DragAndDrop.handleDrop_ = function(event) { + var files = event.dataTransfer.files; + var i, ii, file; + for (i = 0, ii = files.length; i < ii; ++i) { + file = files.item(i); + var reader = new FileReader(); + reader.addEventListener(GVol.events.EventType.LOAD, + this.handleResult_.bind(this, file)); + reader.readAsText(file); + } +}; + + +/** + * @param {Event} event Event. + * @private + */ +GVol.interaction.DragAndDrop.handleStop_ = function(event) { + event.stopPropagation(); + event.preventDefault(); + event.dataTransfer.dropEffect = 'copy'; +}; + + +/** + * @param {File} file File. + * @param {Event} event Load event. + * @private + */ +GVol.interaction.DragAndDrop.prototype.handleResult_ = function(file, event) { + var result = event.target.result; + var map = this.getMap(); + var projection = this.projection_; + if (!projection) { + var view = map.getView(); + projection = view.getProjection(); + } + + var formatConstructors = this.formatConstructors_; + var features = []; + var i, ii; + for (i = 0, ii = formatConstructors.length; i < ii; ++i) { + /** + * Avoid "cannot instantiate abstract class" error. + * @type {Function} + */ + var formatConstructor = formatConstructors[i]; + /** + * @type {GVol.format.Feature} + */ + var format = new formatConstructor(); + features = this.tryReadFeatures_(format, result, { + featureProjection: projection + }); + if (features && features.length > 0) { + break; + } + } + if (this.source_) { + this.source_.clear(); + this.source_.addFeatures(features); + } + this.dispatchEvent( + new GVol.interaction.DragAndDrop.Event( + GVol.interaction.DragAndDrop.EventType_.ADD_FEATURES, file, + features, projection)); +}; + + +/** + * Handles the {@link GVol.MapBrowserEvent map browser event} unconditionally and + * neither prevents the browser default nor stops event propagation. + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} `false` to stop event propagation. + * @this {GVol.interaction.DragAndDrop} + * @api + */ +GVol.interaction.DragAndDrop.handleEvent = GVol.functions.TRUE; + + +/** + * @private + */ +GVol.interaction.DragAndDrop.prototype.registerListeners_ = function() { + var map = this.getMap(); + if (map) { + var dropArea = this.target ? this.target : map.getViewport(); + this.dropListenKeys_ = [ + GVol.events.listen(dropArea, GVol.events.EventType.DROP, + GVol.interaction.DragAndDrop.handleDrop_, this), + GVol.events.listen(dropArea, GVol.events.EventType.DRAGENTER, + GVol.interaction.DragAndDrop.handleStop_, this), + GVol.events.listen(dropArea, GVol.events.EventType.DRAGOVER, + GVol.interaction.DragAndDrop.handleStop_, this), + GVol.events.listen(dropArea, GVol.events.EventType.DROP, + GVol.interaction.DragAndDrop.handleStop_, this) + ]; + } +}; + + +/** + * @inheritDoc + */ +GVol.interaction.DragAndDrop.prototype.setActive = function(active) { + GVol.interaction.Interaction.prototype.setActive.call(this, active); + if (active) { + this.registerListeners_(); + } else { + this.unregisterListeners_(); + } +}; + + +/** + * @inheritDoc + */ +GVol.interaction.DragAndDrop.prototype.setMap = function(map) { + this.unregisterListeners_(); + GVol.interaction.Interaction.prototype.setMap.call(this, map); + if (this.getActive()) { + this.registerListeners_(); + } +}; + + +/** + * @param {GVol.format.Feature} format Format. + * @param {string} text Text. + * @param {GVolx.format.ReadOptions} options Read options. + * @private + * @return {Array.<GVol.Feature>} Features. + */ +GVol.interaction.DragAndDrop.prototype.tryReadFeatures_ = function(format, text, options) { + try { + return format.readFeatures(text, options); + } catch (e) { + return null; + } +}; + + +/** + * @private + */ +GVol.interaction.DragAndDrop.prototype.unregisterListeners_ = function() { + if (this.dropListenKeys_) { + this.dropListenKeys_.forEach(GVol.events.unlistenByKey); + this.dropListenKeys_ = null; + } +}; + + +/** + * @enum {string} + * @private + */ +GVol.interaction.DragAndDrop.EventType_ = { + /** + * Triggered when features are added + * @event GVol.interaction.DragAndDrop.Event#addfeatures + * @api + */ + ADD_FEATURES: 'addfeatures' +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.interaction.DragAndDrop} instances are instances + * of this type. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.interaction.DragAndDropEvent} + * @param {GVol.interaction.DragAndDrop.EventType_} type Type. + * @param {File} file File. + * @param {Array.<GVol.Feature>=} opt_features Features. + * @param {GVol.proj.Projection=} opt_projection Projection. + */ +GVol.interaction.DragAndDrop.Event = function(type, file, opt_features, opt_projection) { + + GVol.events.Event.call(this, type); + + /** + * The features parsed from dropped data. + * @type {Array.<GVol.Feature>|undefined} + * @api + */ + this.features = opt_features; + + /** + * The dropped file. + * @type {File} + * @api + */ + this.file = file; + + /** + * The feature projection. + * @type {GVol.proj.Projection|undefined} + * @api + */ + this.projection = opt_projection; + +}; +GVol.inherits(GVol.interaction.DragAndDrop.Event, GVol.events.Event); + +goog.provide('GVol.interaction.DragRotateAndZoom'); + +goog.require('GVol'); +goog.require('GVol.RotationConstraint'); +goog.require('GVol.ViewHint'); +goog.require('GVol.events.condition'); +goog.require('GVol.interaction.Interaction'); +goog.require('GVol.interaction.Pointer'); + + +/** + * @classdesc + * Allows the user to zoom and rotate the map by clicking and dragging + * on the map. By default, this interaction is limited to when the shift + * key is held down. + * + * This interaction is only supported for mouse devices. + * + * And this interaction is not included in the default interactions. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @param {GVolx.interaction.DragRotateAndZoomOptions=} opt_options Options. + * @api + */ +GVol.interaction.DragRotateAndZoom = function(opt_options) { + + var options = opt_options ? opt_options : {}; + + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.DragRotateAndZoom.handleDownEvent_, + handleDragEvent: GVol.interaction.DragRotateAndZoom.handleDragEvent_, + handleUpEvent: GVol.interaction.DragRotateAndZoom.handleUpEvent_ + }); + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.condition_ = options.condition ? + options.condition : GVol.events.condition.shiftKeyOnly; + + /** + * @private + * @type {number|undefined} + */ + this.lastAngle_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.lastMagnitude_ = undefined; + + /** + * @private + * @type {number} + */ + this.lastScaleDelta_ = 0; + + /** + * @private + * @type {number} + */ + this.duration_ = options.duration !== undefined ? options.duration : 400; + +}; +GVol.inherits(GVol.interaction.DragRotateAndZoom, GVol.interaction.Pointer); + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @this {GVol.interaction.DragRotateAndZoom} + * @private + */ +GVol.interaction.DragRotateAndZoom.handleDragEvent_ = function(mapBrowserEvent) { + if (!GVol.events.condition.mouseOnly(mapBrowserEvent)) { + return; + } + + var map = mapBrowserEvent.map; + var size = map.getSize(); + var offset = mapBrowserEvent.pixel; + var deltaX = offset[0] - size[0] / 2; + var deltaY = size[1] / 2 - offset[1]; + var theta = Math.atan2(deltaY, deltaX); + var magnitude = Math.sqrt(deltaX * deltaX + deltaY * deltaY); + var view = map.getView(); + if (view.getConstraints().rotation !== GVol.RotationConstraint.disable && this.lastAngle_ !== undefined) { + var angleDelta = theta - this.lastAngle_; + GVol.interaction.Interaction.rotateWithoutConstraints( + view, view.getRotation() - angleDelta); + } + this.lastAngle_ = theta; + if (this.lastMagnitude_ !== undefined) { + var resGVolution = this.lastMagnitude_ * (view.getResGVolution() / magnitude); + GVol.interaction.Interaction.zoomWithoutConstraints(view, resGVolution); + } + if (this.lastMagnitude_ !== undefined) { + this.lastScaleDelta_ = this.lastMagnitude_ / magnitude; + } + this.lastMagnitude_ = magnitude; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.DragRotateAndZoom} + * @private + */ +GVol.interaction.DragRotateAndZoom.handleUpEvent_ = function(mapBrowserEvent) { + if (!GVol.events.condition.mouseOnly(mapBrowserEvent)) { + return true; + } + + var map = mapBrowserEvent.map; + var view = map.getView(); + view.setHint(GVol.ViewHint.INTERACTING, -1); + var direction = this.lastScaleDelta_ - 1; + GVol.interaction.Interaction.rotate(view, view.getRotation()); + GVol.interaction.Interaction.zoom(view, view.getResGVolution(), + undefined, this.duration_, direction); + this.lastScaleDelta_ = 0; + return false; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Start drag sequence? + * @this {GVol.interaction.DragRotateAndZoom} + * @private + */ +GVol.interaction.DragRotateAndZoom.handleDownEvent_ = function(mapBrowserEvent) { + if (!GVol.events.condition.mouseOnly(mapBrowserEvent)) { + return false; + } + + if (this.condition_(mapBrowserEvent)) { + mapBrowserEvent.map.getView().setHint(GVol.ViewHint.INTERACTING, 1); + this.lastAngle_ = undefined; + this.lastMagnitude_ = undefined; + return true; + } else { + return false; + } +}; + +goog.provide('GVol.interaction.DrawEventType'); + + +/** + * @enum {string} + */ +GVol.interaction.DrawEventType = { + /** + * Triggered upon feature draw start + * @event GVol.interaction.Draw.Event#drawstart + * @api + */ + DRAWSTART: 'drawstart', + /** + * Triggered upon feature draw end + * @event GVol.interaction.Draw.Event#drawend + * @api + */ + DRAWEND: 'drawend' +}; + +goog.provide('GVol.render.canvas.Instruction'); + +/** + * @enum {number} + */ +GVol.render.canvas.Instruction = { + BEGIN_GEOMETRY: 0, + BEGIN_PATH: 1, + CIRCLE: 2, + CLOSE_PATH: 3, + CUSTOM: 4, + DRAW_IMAGE: 5, + DRAW_TEXT: 6, + END_GEOMETRY: 7, + FILL: 8, + MOVE_TO_LINE_TO: 9, + SET_FILL_STYLE: 10, + SET_STROKE_STYLE: 11, + SET_TEXT_STYLE: 12, + STROKE: 13 +}; + +goog.provide('GVol.render.canvas.Replay'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.extent.Relationship'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.flat.inflate'); +goog.require('GVol.geom.flat.transform'); +goog.require('GVol.has'); +goog.require('GVol.obj'); +goog.require('GVol.render.VectorContext'); +goog.require('GVol.render.canvas.Instruction'); +goog.require('GVol.transform'); + + +/** + * @constructor + * @extends {GVol.render.VectorContext} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Maximum extent. + * @param {number} resGVolution ResGVolution. + * @param {boGVolean} overlaps The replay can have overlapping geometries. + * @struct + */ +GVol.render.canvas.Replay = function(tGVolerance, maxExtent, resGVolution, overlaps) { + GVol.render.VectorContext.call(this); + + /** + * @protected + * @type {number} + */ + this.tGVolerance = tGVolerance; + + /** + * @protected + * @const + * @type {GVol.Extent} + */ + this.maxExtent = maxExtent; + + /** + * @protected + * @type {boGVolean} + */ + this.overlaps = overlaps; + + /** + * @protected + * @type {number} + */ + this.maxLineWidth = 0; + + /** + * @protected + * @const + * @type {number} + */ + this.resGVolution = resGVolution; + + /** + * @private + * @type {GVol.Coordinate} + */ + this.fillOrigin_; + + /** + * @private + * @type {Array.<*>} + */ + this.beginGeometryInstruction1_ = null; + + /** + * @private + * @type {Array.<*>} + */ + this.beginGeometryInstruction2_ = null; + + /** + * @protected + * @type {Array.<*>} + */ + this.instructions = []; + + /** + * @protected + * @type {Array.<number>} + */ + this.coordinates = []; + + /** + * @private + * @type {Object.<number,GVol.Coordinate|Array.<GVol.Coordinate>|Array.<Array.<GVol.Coordinate>>>} + */ + this.coordinateCache_ = {}; + + /** + * @private + * @type {!GVol.Transform} + */ + this.renderedTransform_ = GVol.transform.create(); + + /** + * @protected + * @type {Array.<*>} + */ + this.hitDetectionInstructions = []; + + /** + * @private + * @type {Array.<number>} + */ + this.pixelCoordinates_ = null; + + /** + * @private + * @type {!GVol.Transform} + */ + this.tmpLocalTransform_ = GVol.transform.create(); + + /** + * @private + * @type {!GVol.Transform} + */ + this.resetTransform_ = GVol.transform.create(); +}; +GVol.inherits(GVol.render.canvas.Replay, GVol.render.VectorContext); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {boGVolean} closed Last input coordinate equals first. + * @param {boGVolean} skipFirst Skip first coordinate. + * @protected + * @return {number} My end. + */ +GVol.render.canvas.Replay.prototype.appendFlatCoordinates = function(flatCoordinates, offset, end, stride, closed, skipFirst) { + + var myEnd = this.coordinates.length; + var extent = this.getBufferedMaxExtent(); + if (skipFirst) { + offset += stride; + } + var lastCoord = [flatCoordinates[offset], flatCoordinates[offset + 1]]; + var nextCoord = [NaN, NaN]; + var skipped = true; + + var i, lastRel, nextRel; + for (i = offset + stride; i < end; i += stride) { + nextCoord[0] = flatCoordinates[i]; + nextCoord[1] = flatCoordinates[i + 1]; + nextRel = GVol.extent.coordinateRelationship(extent, nextCoord); + if (nextRel !== lastRel) { + if (skipped) { + this.coordinates[myEnd++] = lastCoord[0]; + this.coordinates[myEnd++] = lastCoord[1]; + } + this.coordinates[myEnd++] = nextCoord[0]; + this.coordinates[myEnd++] = nextCoord[1]; + skipped = false; + } else if (nextRel === GVol.extent.Relationship.INTERSECTING) { + this.coordinates[myEnd++] = nextCoord[0]; + this.coordinates[myEnd++] = nextCoord[1]; + skipped = false; + } else { + skipped = true; + } + lastCoord[0] = nextCoord[0]; + lastCoord[1] = nextCoord[1]; + lastRel = nextRel; + } + + // Last coordinate equals first or only one point to append: + if ((closed && skipped) || i === offset + stride) { + this.coordinates[myEnd++] = lastCoord[0]; + this.coordinates[myEnd++] = lastCoord[1]; + } + return myEnd; +}; + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @param {Array.<number>} replayEnds Replay ends. + * @return {number} Offset. + */ +GVol.render.canvas.Replay.prototype.drawCustomCoordinates_ = function(flatCoordinates, offset, ends, stride, replayEnds) { + for (var i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + var replayEnd = this.appendFlatCoordinates(flatCoordinates, offset, end, stride, false, false); + replayEnds.push(replayEnd); + offset = end; + } + return offset; +}; + + +/** + * @inheritDoc. + */ +GVol.render.canvas.Replay.prototype.drawCustom = function(geometry, feature, renderer) { + this.beginGeometry(geometry, feature); + var type = geometry.getType(); + var stride = geometry.getStride(); + var replayBegin = this.coordinates.length; + var flatCoordinates, replayEnd, replayEnds, replayEndss; + var offset; + if (type == GVol.geom.GeometryType.MULTI_POLYGON) { + geometry = /** @type {GVol.geom.MultiPGVolygon} */ (geometry); + flatCoordinates = geometry.getOrientedFlatCoordinates(); + replayEndss = []; + var endss = geometry.getEndss(); + offset = 0; + for (var i = 0, ii = endss.length; i < ii; ++i) { + var myEnds = []; + offset = this.drawCustomCoordinates_(flatCoordinates, offset, endss[i], stride, myEnds); + replayEndss.push(myEnds); + } + this.instructions.push([GVol.render.canvas.Instruction.CUSTOM, + replayBegin, replayEndss, geometry, renderer, GVol.geom.flat.inflate.coordinatesss]); + } else if (type == GVol.geom.GeometryType.POLYGON || type == GVol.geom.GeometryType.MULTI_LINE_STRING) { + replayEnds = []; + flatCoordinates = (type == GVol.geom.GeometryType.POLYGON) ? + /** @type {GVol.geom.PGVolygon} */ (geometry).getOrientedFlatCoordinates() : + geometry.getFlatCoordinates(); + offset = this.drawCustomCoordinates_(flatCoordinates, 0, + /** @type {GVol.geom.PGVolygon|GVol.geom.MultiLineString} */ (geometry).getEnds(), + stride, replayEnds); + this.instructions.push([GVol.render.canvas.Instruction.CUSTOM, + replayBegin, replayEnds, geometry, renderer, GVol.geom.flat.inflate.coordinatess]); + } else if (type == GVol.geom.GeometryType.LINE_STRING || type == GVol.geom.GeometryType.MULTI_POINT) { + flatCoordinates = geometry.getFlatCoordinates(); + replayEnd = this.appendFlatCoordinates( + flatCoordinates, 0, flatCoordinates.length, stride, false, false); + this.instructions.push([GVol.render.canvas.Instruction.CUSTOM, + replayBegin, replayEnd, geometry, renderer, GVol.geom.flat.inflate.coordinates]); + } else if (type == GVol.geom.GeometryType.POINT) { + flatCoordinates = geometry.getFlatCoordinates(); + this.coordinates.push(flatCoordinates[0], flatCoordinates[1]); + replayEnd = this.coordinates.length; + this.instructions.push([GVol.render.canvas.Instruction.CUSTOM, + replayBegin, replayEnd, geometry, renderer]); + } + this.endGeometry(geometry, feature); +}; + + +/** + * @protected + * @param {GVol.geom.Geometry|GVol.render.Feature} geometry Geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + */ +GVol.render.canvas.Replay.prototype.beginGeometry = function(geometry, feature) { + this.beginGeometryInstruction1_ = + [GVol.render.canvas.Instruction.BEGIN_GEOMETRY, feature, 0]; + this.instructions.push(this.beginGeometryInstruction1_); + this.beginGeometryInstruction2_ = + [GVol.render.canvas.Instruction.BEGIN_GEOMETRY, feature, 0]; + this.hitDetectionInstructions.push(this.beginGeometryInstruction2_); +}; + + +/** + * @private + * @param {CanvasRenderingContext2D} context Context. + * @param {number} rotation Rotation. + */ +GVol.render.canvas.Replay.prototype.fill_ = function(context, rotation) { + if (this.fillOrigin_) { + var origin = GVol.transform.apply(this.renderedTransform_, this.fillOrigin_.slice()); + context.translate(origin[0], origin[1]); + context.rotate(rotation); + } + context.fill(); + if (this.fillOrigin_) { + context.setTransform.apply(context, this.resetTransform_); + } +}; + + +/** + * @private + * @param {CanvasRenderingContext2D} context Context. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.Transform} transform Transform. + * @param {number} viewRotation View rotation. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {Array.<*>} instructions Instructions array. + * @param {function((GVol.Feature|GVol.render.Feature)): T|undefined} + * featureCallback Feature callback. + * @param {GVol.Extent=} opt_hitExtent Only check features that intersect this + * extent. + * @return {T|undefined} Callback result. + * @template T + */ +GVol.render.canvas.Replay.prototype.replay_ = function( + context, pixelRatio, transform, viewRotation, skippedFeaturesHash, + instructions, featureCallback, opt_hitExtent) { + /** @type {Array.<number>} */ + var pixelCoordinates; + if (this.pixelCoordinates_ && GVol.array.equals(transform, this.renderedTransform_)) { + pixelCoordinates = this.pixelCoordinates_; + } else { + if (!this.pixelCoordinates_) { + this.pixelCoordinates_ = []; + } + pixelCoordinates = GVol.geom.flat.transform.transform2D( + this.coordinates, 0, this.coordinates.length, 2, + transform, this.pixelCoordinates_); + GVol.transform.setFromArray(this.renderedTransform_, transform); + } + var skipFeatures = !GVol.obj.isEmpty(skippedFeaturesHash); + var i = 0; // instruction index + var ii = instructions.length; // end of instructions + var d = 0; // data index + var dd; // end of per-instruction data + var localTransform = this.tmpLocalTransform_; + var resetTransform = this.resetTransform_; + var prevX, prevY, roundX, roundY; + var pendingFill = 0; + var pendingStroke = 0; + var coordinateCache = this.coordinateCache_; + + var state = /** @type {GVolx.render.State} */ ({ + context: context, + pixelRatio: pixelRatio, + resGVolution: this.resGVolution, + rotation: viewRotation + }); + + // When the batch size gets too big, performance decreases. 200 is a good + // balance between batch size and number of fill/stroke instructions. + var batchSize = + this.instructions != instructions || this.overlaps ? 0 : 200; + while (i < ii) { + var instruction = instructions[i]; + var type = /** @type {GVol.render.canvas.Instruction} */ (instruction[0]); + var /** @type {GVol.Feature|GVol.render.Feature} */ feature, fill, stroke, text, x, y; + switch (type) { + case GVol.render.canvas.Instruction.BEGIN_GEOMETRY: + feature = /** @type {GVol.Feature|GVol.render.Feature} */ (instruction[1]); + if ((skipFeatures && + skippedFeaturesHash[GVol.getUid(feature).toString()]) || + !feature.getGeometry()) { + i = /** @type {number} */ (instruction[2]); + } else if (opt_hitExtent !== undefined && !GVol.extent.intersects( + opt_hitExtent, feature.getGeometry().getExtent())) { + i = /** @type {number} */ (instruction[2]) + 1; + } else { + ++i; + } + break; + case GVol.render.canvas.Instruction.BEGIN_PATH: + if (pendingFill > batchSize) { + this.fill_(context, viewRotation); + pendingFill = 0; + } + if (pendingStroke > batchSize) { + context.stroke(); + pendingStroke = 0; + } + if (!pendingFill && !pendingStroke) { + context.beginPath(); + prevX = prevY = NaN; + } + ++i; + break; + case GVol.render.canvas.Instruction.CIRCLE: + d = /** @type {number} */ (instruction[1]); + var x1 = pixelCoordinates[d]; + var y1 = pixelCoordinates[d + 1]; + var x2 = pixelCoordinates[d + 2]; + var y2 = pixelCoordinates[d + 3]; + var dx = x2 - x1; + var dy = y2 - y1; + var r = Math.sqrt(dx * dx + dy * dy); + context.moveTo(x1 + r, y1); + context.arc(x1, y1, r, 0, 2 * Math.PI, true); + ++i; + break; + case GVol.render.canvas.Instruction.CLOSE_PATH: + context.closePath(); + ++i; + break; + case GVol.render.canvas.Instruction.CUSTOM: + d = /** @type {number} */ (instruction[1]); + dd = instruction[2]; + var geometry = /** @type {GVol.geom.SimpleGeometry} */ (instruction[3]); + var renderer = instruction[4]; + var fn = instruction.length == 6 ? instruction[5] : undefined; + state.geometry = geometry; + state.feature = feature; + if (!(i in coordinateCache)) { + coordinateCache[i] = []; + } + var coords = coordinateCache[i]; + if (fn) { + fn(pixelCoordinates, d, dd, 2, coords); + } else { + coords[0] = pixelCoordinates[d]; + coords[1] = pixelCoordinates[d + 1]; + coords.length = 2; + } + renderer(coords, state); + ++i; + break; + case GVol.render.canvas.Instruction.DRAW_IMAGE: + d = /** @type {number} */ (instruction[1]); + dd = /** @type {number} */ (instruction[2]); + var image = /** @type {HTMLCanvasElement|HTMLVideoElement|Image} */ + (instruction[3]); + // Remaining arguments in DRAW_IMAGE are in alphabetical order + var anchorX = /** @type {number} */ (instruction[4]) * pixelRatio; + var anchorY = /** @type {number} */ (instruction[5]) * pixelRatio; + var height = /** @type {number} */ (instruction[6]); + var opacity = /** @type {number} */ (instruction[7]); + var originX = /** @type {number} */ (instruction[8]); + var originY = /** @type {number} */ (instruction[9]); + var rotateWithView = /** @type {boGVolean} */ (instruction[10]); + var rotation = /** @type {number} */ (instruction[11]); + var scale = /** @type {number} */ (instruction[12]); + var snapToPixel = /** @type {boGVolean} */ (instruction[13]); + var width = /** @type {number} */ (instruction[14]); + if (rotateWithView) { + rotation += viewRotation; + } + for (; d < dd; d += 2) { + x = pixelCoordinates[d] - anchorX; + y = pixelCoordinates[d + 1] - anchorY; + if (snapToPixel) { + x = Math.round(x); + y = Math.round(y); + } + if (scale != 1 || rotation !== 0) { + var centerX = x + anchorX; + var centerY = y + anchorY; + GVol.transform.compose(localTransform, + centerX, centerY, scale, scale, rotation, -centerX, -centerY); + context.setTransform.apply(context, localTransform); + } + var alpha = context.globalAlpha; + if (opacity != 1) { + context.globalAlpha = alpha * opacity; + } + + var w = (width + originX > image.width) ? image.width - originX : width; + var h = (height + originY > image.height) ? image.height - originY : height; + + context.drawImage(image, originX, originY, w, h, + x, y, w * pixelRatio, h * pixelRatio); + + if (opacity != 1) { + context.globalAlpha = alpha; + } + if (scale != 1 || rotation !== 0) { + context.setTransform.apply(context, resetTransform); + } + } + ++i; + break; + case GVol.render.canvas.Instruction.DRAW_TEXT: + d = /** @type {number} */ (instruction[1]); + dd = /** @type {number} */ (instruction[2]); + text = /** @type {string} */ (instruction[3]); + var offsetX = /** @type {number} */ (instruction[4]) * pixelRatio; + var offsetY = /** @type {number} */ (instruction[5]) * pixelRatio; + rotation = /** @type {number} */ (instruction[6]); + scale = /** @type {number} */ (instruction[7]) * pixelRatio; + fill = /** @type {boGVolean} */ (instruction[8]); + stroke = /** @type {boGVolean} */ (instruction[9]); + rotateWithView = /** @type {boGVolean} */ (instruction[10]); + if (rotateWithView) { + rotation += viewRotation; + } + for (; d < dd; d += 2) { + x = pixelCoordinates[d] + offsetX; + y = pixelCoordinates[d + 1] + offsetY; + if (scale != 1 || rotation !== 0) { + GVol.transform.compose(localTransform, x, y, scale, scale, rotation, -x, -y); + context.setTransform.apply(context, localTransform); + } + + // Support multiple lines separated by \n + var lines = text.split('\n'); + var numLines = lines.length; + var fontSize, lineY; + if (numLines > 1) { + // Estimate line height using width of capital M, and add padding + fontSize = Math.round(context.measureText('M').width * 1.5); + lineY = y - (((numLines - 1) / 2) * fontSize); + } else { + // No need to calculate line height/offset for a single line + fontSize = 0; + lineY = y; + } + + for (var lineIndex = 0; lineIndex < numLines; lineIndex++) { + var line = lines[lineIndex]; + if (stroke) { + context.strokeText(line, x, lineY); + } + if (fill) { + context.fillText(line, x, lineY); + } + + // Move next line down by fontSize px + lineY = lineY + fontSize; + } + + if (scale != 1 || rotation !== 0) { + context.setTransform.apply(context, resetTransform); + } + } + ++i; + break; + case GVol.render.canvas.Instruction.END_GEOMETRY: + if (featureCallback !== undefined) { + feature = /** @type {GVol.Feature|GVol.render.Feature} */ (instruction[1]); + var result = featureCallback(feature); + if (result) { + return result; + } + } + ++i; + break; + case GVol.render.canvas.Instruction.FILL: + if (batchSize) { + pendingFill++; + } else { + this.fill_(context, viewRotation); + } + ++i; + break; + case GVol.render.canvas.Instruction.MOVE_TO_LINE_TO: + d = /** @type {number} */ (instruction[1]); + dd = /** @type {number} */ (instruction[2]); + x = pixelCoordinates[d]; + y = pixelCoordinates[d + 1]; + roundX = (x + 0.5) | 0; + roundY = (y + 0.5) | 0; + if (roundX !== prevX || roundY !== prevY) { + context.moveTo(x, y); + prevX = roundX; + prevY = roundY; + } + for (d += 2; d < dd; d += 2) { + x = pixelCoordinates[d]; + y = pixelCoordinates[d + 1]; + roundX = (x + 0.5) | 0; + roundY = (y + 0.5) | 0; + if (d == dd - 2 || roundX !== prevX || roundY !== prevY) { + context.lineTo(x, y); + prevX = roundX; + prevY = roundY; + } + } + ++i; + break; + case GVol.render.canvas.Instruction.SET_FILL_STYLE: + this.fillOrigin_ = instruction[2]; + + if (pendingFill) { + this.fill_(context, viewRotation); + pendingFill = 0; + if (pendingStroke) { + context.stroke(); + pendingStroke = 0; + } + } + + context.fillStyle = /** @type {GVol.CGVolorLike} */ (instruction[1]); + ++i; + break; + case GVol.render.canvas.Instruction.SET_STROKE_STYLE: + var usePixelRatio = instruction[8] !== undefined ? + instruction[8] : true; + var renderedPixelRatio = instruction[9]; + + var lineWidth = /** @type {number} */ (instruction[2]); + if (pendingStroke) { + context.stroke(); + pendingStroke = 0; + } + context.strokeStyle = /** @type {GVol.CGVolorLike} */ (instruction[1]); + context.lineWidth = usePixelRatio ? lineWidth * pixelRatio : lineWidth; + context.lineCap = /** @type {string} */ (instruction[3]); + context.lineJoin = /** @type {string} */ (instruction[4]); + context.miterLimit = /** @type {number} */ (instruction[5]); + if (GVol.has.CANVAS_LINE_DASH) { + var lineDash = /** @type {Array.<number>} */ (instruction[6]); + var lineDashOffset = /** @type {number} */ (instruction[7]); + if (usePixelRatio && pixelRatio !== renderedPixelRatio) { + lineDash = lineDash.map(function(dash) { + return dash * pixelRatio / renderedPixelRatio; + }); + lineDashOffset *= pixelRatio / renderedPixelRatio; + instruction[6] = lineDash; + instruction[7] = lineDashOffset; + instruction[9] = pixelRatio; + } + context.lineDashOffset = lineDashOffset; + context.setLineDash(lineDash); + } + ++i; + break; + case GVol.render.canvas.Instruction.SET_TEXT_STYLE: + context.font = /** @type {string} */ (instruction[1]); + context.textAlign = /** @type {string} */ (instruction[2]); + context.textBaseline = /** @type {string} */ (instruction[3]); + ++i; + break; + case GVol.render.canvas.Instruction.STROKE: + if (batchSize) { + pendingStroke++; + } else { + context.stroke(); + } + ++i; + break; + default: + ++i; // consume the instruction anyway, to avoid an infinite loop + break; + } + } + if (pendingFill) { + this.fill_(context, viewRotation); + } + if (pendingStroke) { + context.stroke(); + } + return undefined; +}; + + +/** + * @param {CanvasRenderingContext2D} context Context. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.Transform} transform Transform. + * @param {number} viewRotation View rotation. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + */ +GVol.render.canvas.Replay.prototype.replay = function( + context, pixelRatio, transform, viewRotation, skippedFeaturesHash) { + var instructions = this.instructions; + this.replay_(context, pixelRatio, transform, viewRotation, + skippedFeaturesHash, instructions, undefined, undefined); +}; + + +/** + * @param {CanvasRenderingContext2D} context Context. + * @param {GVol.Transform} transform Transform. + * @param {number} viewRotation View rotation. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {function((GVol.Feature|GVol.render.Feature)): T=} opt_featureCallback + * Feature callback. + * @param {GVol.Extent=} opt_hitExtent Only check features that intersect this + * extent. + * @return {T|undefined} Callback result. + * @template T + */ +GVol.render.canvas.Replay.prototype.replayHitDetection = function( + context, transform, viewRotation, skippedFeaturesHash, + opt_featureCallback, opt_hitExtent) { + var instructions = this.hitDetectionInstructions; + return this.replay_(context, 1, transform, viewRotation, + skippedFeaturesHash, instructions, opt_featureCallback, opt_hitExtent); +}; + + +/** + * Reverse the hit detection instructions. + */ +GVol.render.canvas.Replay.prototype.reverseHitDetectionInstructions = function() { + var hitDetectionInstructions = this.hitDetectionInstructions; + // step 1 - reverse array + hitDetectionInstructions.reverse(); + // step 2 - reverse instructions within geometry blocks + var i; + var n = hitDetectionInstructions.length; + var instruction; + var type; + var begin = -1; + for (i = 0; i < n; ++i) { + instruction = hitDetectionInstructions[i]; + type = /** @type {GVol.render.canvas.Instruction} */ (instruction[0]); + if (type == GVol.render.canvas.Instruction.END_GEOMETRY) { + begin = i; + } else if (type == GVol.render.canvas.Instruction.BEGIN_GEOMETRY) { + instruction[2] = i; + GVol.array.reverseSubArray(this.hitDetectionInstructions, begin, i); + begin = -1; + } + } +}; + + +/** + * @param {GVol.geom.Geometry|GVol.render.Feature} geometry Geometry. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + */ +GVol.render.canvas.Replay.prototype.endGeometry = function(geometry, feature) { + this.beginGeometryInstruction1_[2] = this.instructions.length; + this.beginGeometryInstruction1_ = null; + this.beginGeometryInstruction2_[2] = this.hitDetectionInstructions.length; + this.beginGeometryInstruction2_ = null; + var endGeometryInstruction = + [GVol.render.canvas.Instruction.END_GEOMETRY, feature]; + this.instructions.push(endGeometryInstruction); + this.hitDetectionInstructions.push(endGeometryInstruction); +}; + + +/** + * FIXME empty description for jsdoc + */ +GVol.render.canvas.Replay.prototype.finish = GVol.nullFunction; + + +/** + * Get the buffered rendering extent. Rendering will be clipped to the extent + * provided to the constructor. To account for symbGVolizers that may intersect + * this extent, we calculate a buffered extent (e.g. based on stroke width). + * @return {GVol.Extent} The buffered rendering extent. + * @protected + */ +GVol.render.canvas.Replay.prototype.getBufferedMaxExtent = function() { + return this.maxExtent; +}; + +goog.provide('GVol.render.canvas.ImageReplay'); + +goog.require('GVol'); +goog.require('GVol.render.canvas.Instruction'); +goog.require('GVol.render.canvas.Replay'); + + +/** + * @constructor + * @extends {GVol.render.canvas.Replay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Maximum extent. + * @param {number} resGVolution ResGVolution. + * @param {boGVolean} overlaps The replay can have overlapping geometries. + * @struct + */ +GVol.render.canvas.ImageReplay = function(tGVolerance, maxExtent, resGVolution, overlaps) { + GVol.render.canvas.Replay.call(this, tGVolerance, maxExtent, resGVolution, overlaps); + + /** + * @private + * @type {HTMLCanvasElement|HTMLVideoElement|Image} + */ + this.hitDetectionImage_ = null; + + /** + * @private + * @type {HTMLCanvasElement|HTMLVideoElement|Image} + */ + this.image_ = null; + + /** + * @private + * @type {number|undefined} + */ + this.anchorX_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.anchorY_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.height_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.opacity_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.originX_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.originY_ = undefined; + + /** + * @private + * @type {boGVolean|undefined} + */ + this.rotateWithView_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.rotation_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.scale_ = undefined; + + /** + * @private + * @type {boGVolean|undefined} + */ + this.snapToPixel_ = undefined; + + /** + * @private + * @type {number|undefined} + */ + this.width_ = undefined; + +}; +GVol.inherits(GVol.render.canvas.ImageReplay, GVol.render.canvas.Replay); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @private + * @return {number} My end. + */ +GVol.render.canvas.ImageReplay.prototype.drawCoordinates_ = function(flatCoordinates, offset, end, stride) { + return this.appendFlatCoordinates( + flatCoordinates, offset, end, stride, false, false); +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.ImageReplay.prototype.drawPoint = function(pointGeometry, feature) { + if (!this.image_) { + return; + } + this.beginGeometry(pointGeometry, feature); + var flatCoordinates = pointGeometry.getFlatCoordinates(); + var stride = pointGeometry.getStride(); + var myBegin = this.coordinates.length; + var myEnd = this.drawCoordinates_( + flatCoordinates, 0, flatCoordinates.length, stride); + this.instructions.push([ + GVol.render.canvas.Instruction.DRAW_IMAGE, myBegin, myEnd, this.image_, + // Remaining arguments to DRAW_IMAGE are in alphabetical order + this.anchorX_, this.anchorY_, this.height_, this.opacity_, + this.originX_, this.originY_, this.rotateWithView_, this.rotation_, + this.scale_, this.snapToPixel_, this.width_ + ]); + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.DRAW_IMAGE, myBegin, myEnd, + this.hitDetectionImage_, + // Remaining arguments to DRAW_IMAGE are in alphabetical order + this.anchorX_, this.anchorY_, this.height_, this.opacity_, + this.originX_, this.originY_, this.rotateWithView_, this.rotation_, + this.scale_, this.snapToPixel_, this.width_ + ]); + this.endGeometry(pointGeometry, feature); +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.ImageReplay.prototype.drawMultiPoint = function(multiPointGeometry, feature) { + if (!this.image_) { + return; + } + this.beginGeometry(multiPointGeometry, feature); + var flatCoordinates = multiPointGeometry.getFlatCoordinates(); + var stride = multiPointGeometry.getStride(); + var myBegin = this.coordinates.length; + var myEnd = this.drawCoordinates_( + flatCoordinates, 0, flatCoordinates.length, stride); + this.instructions.push([ + GVol.render.canvas.Instruction.DRAW_IMAGE, myBegin, myEnd, this.image_, + // Remaining arguments to DRAW_IMAGE are in alphabetical order + this.anchorX_, this.anchorY_, this.height_, this.opacity_, + this.originX_, this.originY_, this.rotateWithView_, this.rotation_, + this.scale_, this.snapToPixel_, this.width_ + ]); + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.DRAW_IMAGE, myBegin, myEnd, + this.hitDetectionImage_, + // Remaining arguments to DRAW_IMAGE are in alphabetical order + this.anchorX_, this.anchorY_, this.height_, this.opacity_, + this.originX_, this.originY_, this.rotateWithView_, this.rotation_, + this.scale_, this.snapToPixel_, this.width_ + ]); + this.endGeometry(multiPointGeometry, feature); +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.ImageReplay.prototype.finish = function() { + this.reverseHitDetectionInstructions(); + // FIXME this doesn't really protect us against further calls to draw*Geometry + this.anchorX_ = undefined; + this.anchorY_ = undefined; + this.hitDetectionImage_ = null; + this.image_ = null; + this.height_ = undefined; + this.scale_ = undefined; + this.opacity_ = undefined; + this.originX_ = undefined; + this.originY_ = undefined; + this.rotateWithView_ = undefined; + this.rotation_ = undefined; + this.snapToPixel_ = undefined; + this.width_ = undefined; +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.ImageReplay.prototype.setImageStyle = function(imageStyle) { + var anchor = imageStyle.getAnchor(); + var size = imageStyle.getSize(); + var hitDetectionImage = imageStyle.getHitDetectionImage(1); + var image = imageStyle.getImage(1); + var origin = imageStyle.getOrigin(); + this.anchorX_ = anchor[0]; + this.anchorY_ = anchor[1]; + this.hitDetectionImage_ = hitDetectionImage; + this.image_ = image; + this.height_ = size[1]; + this.opacity_ = imageStyle.getOpacity(); + this.originX_ = origin[0]; + this.originY_ = origin[1]; + this.rotateWithView_ = imageStyle.getRotateWithView(); + this.rotation_ = imageStyle.getRotation(); + this.scale_ = imageStyle.getScale(); + this.snapToPixel_ = imageStyle.getSnapToPixel(); + this.width_ = size[0]; +}; + +goog.provide('GVol.render.canvas.LineStringReplay'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.cGVolorlike'); +goog.require('GVol.extent'); +goog.require('GVol.render.canvas'); +goog.require('GVol.render.canvas.Instruction'); +goog.require('GVol.render.canvas.Replay'); + + +/** + * @constructor + * @extends {GVol.render.canvas.Replay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Maximum extent. + * @param {number} resGVolution ResGVolution. + * @param {boGVolean} overlaps The replay can have overlapping geometries. + * @struct + */ +GVol.render.canvas.LineStringReplay = function(tGVolerance, maxExtent, resGVolution, overlaps) { + + GVol.render.canvas.Replay.call(this, tGVolerance, maxExtent, resGVolution, overlaps); + + /** + * @private + * @type {GVol.Extent} + */ + this.bufferedMaxExtent_ = null; + + /** + * @private + * @type {{currentStrokeStyle: (GVol.CGVolorLike|undefined), + * currentLineCap: (string|undefined), + * currentLineDash: Array.<number>, + * currentLineDashOffset: (number|undefined), + * currentLineJoin: (string|undefined), + * currentLineWidth: (number|undefined), + * currentMiterLimit: (number|undefined), + * lastStroke: (number|undefined), + * strokeStyle: (GVol.CGVolorLike|undefined), + * lineCap: (string|undefined), + * lineDash: Array.<number>, + * lineDashOffset: (number|undefined), + * lineJoin: (string|undefined), + * lineWidth: (number|undefined), + * miterLimit: (number|undefined)}|null} + */ + this.state_ = { + currentStrokeStyle: undefined, + currentLineCap: undefined, + currentLineDash: null, + currentLineDashOffset: undefined, + currentLineJoin: undefined, + currentLineWidth: undefined, + currentMiterLimit: undefined, + lastStroke: undefined, + strokeStyle: undefined, + lineCap: undefined, + lineDash: null, + lineDashOffset: undefined, + lineJoin: undefined, + lineWidth: undefined, + miterLimit: undefined + }; + +}; +GVol.inherits(GVol.render.canvas.LineStringReplay, GVol.render.canvas.Replay); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @private + * @return {number} end. + */ +GVol.render.canvas.LineStringReplay.prototype.drawFlatCoordinates_ = function(flatCoordinates, offset, end, stride) { + var myBegin = this.coordinates.length; + var myEnd = this.appendFlatCoordinates( + flatCoordinates, offset, end, stride, false, false); + var moveToLineToInstruction = + [GVol.render.canvas.Instruction.MOVE_TO_LINE_TO, myBegin, myEnd]; + this.instructions.push(moveToLineToInstruction); + this.hitDetectionInstructions.push(moveToLineToInstruction); + return end; +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.LineStringReplay.prototype.getBufferedMaxExtent = function() { + if (!this.bufferedMaxExtent_) { + this.bufferedMaxExtent_ = GVol.extent.clone(this.maxExtent); + if (this.maxLineWidth > 0) { + var width = this.resGVolution * (this.maxLineWidth + 1) / 2; + GVol.extent.buffer(this.bufferedMaxExtent_, width, this.bufferedMaxExtent_); + } + } + return this.bufferedMaxExtent_; +}; + + +/** + * @private + */ +GVol.render.canvas.LineStringReplay.prototype.setStrokeStyle_ = function() { + var state = this.state_; + var strokeStyle = state.strokeStyle; + var lineCap = state.lineCap; + var lineDash = state.lineDash; + var lineDashOffset = state.lineDashOffset; + var lineJoin = state.lineJoin; + var lineWidth = state.lineWidth; + var miterLimit = state.miterLimit; + if (state.currentStrokeStyle != strokeStyle || + state.currentLineCap != lineCap || + !GVol.array.equals(state.currentLineDash, lineDash) || + state.currentLineDashOffset != lineDashOffset || + state.currentLineJoin != lineJoin || + state.currentLineWidth != lineWidth || + state.currentMiterLimit != miterLimit) { + if (state.lastStroke != undefined && state.lastStroke != this.coordinates.length) { + this.instructions.push([GVol.render.canvas.Instruction.STROKE]); + state.lastStroke = this.coordinates.length; + } + state.lastStroke = 0; + this.instructions.push([ + GVol.render.canvas.Instruction.SET_STROKE_STYLE, + strokeStyle, lineWidth, lineCap, lineJoin, miterLimit, lineDash, lineDashOffset, true, 1 + ], [ + GVol.render.canvas.Instruction.BEGIN_PATH + ]); + state.currentStrokeStyle = strokeStyle; + state.currentLineCap = lineCap; + state.currentLineDash = lineDash; + state.currentLineDashOffset = lineDashOffset; + state.currentLineJoin = lineJoin; + state.currentLineWidth = lineWidth; + state.currentMiterLimit = miterLimit; + } +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.LineStringReplay.prototype.drawLineString = function(lineStringGeometry, feature) { + var state = this.state_; + var strokeStyle = state.strokeStyle; + var lineWidth = state.lineWidth; + if (strokeStyle === undefined || lineWidth === undefined) { + return; + } + this.setStrokeStyle_(); + this.beginGeometry(lineStringGeometry, feature); + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.SET_STROKE_STYLE, + state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin, + state.miterLimit, state.lineDash, state.lineDashOffset, true, 1 + ], [ + GVol.render.canvas.Instruction.BEGIN_PATH + ]); + var flatCoordinates = lineStringGeometry.getFlatCoordinates(); + var stride = lineStringGeometry.getStride(); + this.drawFlatCoordinates_(flatCoordinates, 0, flatCoordinates.length, stride); + this.hitDetectionInstructions.push([GVol.render.canvas.Instruction.STROKE]); + this.endGeometry(lineStringGeometry, feature); +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.LineStringReplay.prototype.drawMultiLineString = function(multiLineStringGeometry, feature) { + var state = this.state_; + var strokeStyle = state.strokeStyle; + var lineWidth = state.lineWidth; + if (strokeStyle === undefined || lineWidth === undefined) { + return; + } + this.setStrokeStyle_(); + this.beginGeometry(multiLineStringGeometry, feature); + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.SET_STROKE_STYLE, + state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin, + state.miterLimit, state.lineDash, state.lineDashOffset, true, 1 + ], [ + GVol.render.canvas.Instruction.BEGIN_PATH + ]); + var ends = multiLineStringGeometry.getEnds(); + var flatCoordinates = multiLineStringGeometry.getFlatCoordinates(); + var stride = multiLineStringGeometry.getStride(); + var offset = 0; + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + offset = this.drawFlatCoordinates_( + flatCoordinates, offset, ends[i], stride); + } + this.hitDetectionInstructions.push([GVol.render.canvas.Instruction.STROKE]); + this.endGeometry(multiLineStringGeometry, feature); +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.LineStringReplay.prototype.finish = function() { + var state = this.state_; + if (state.lastStroke != undefined && state.lastStroke != this.coordinates.length) { + this.instructions.push([GVol.render.canvas.Instruction.STROKE]); + } + this.reverseHitDetectionInstructions(); + this.state_ = null; +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.LineStringReplay.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { + var strokeStyleCGVolor = strokeStyle.getCGVolor(); + this.state_.strokeStyle = GVol.cGVolorlike.asCGVolorLike(strokeStyleCGVolor ? + strokeStyleCGVolor : GVol.render.canvas.defaultStrokeStyle); + var strokeStyleLineCap = strokeStyle.getLineCap(); + this.state_.lineCap = strokeStyleLineCap !== undefined ? + strokeStyleLineCap : GVol.render.canvas.defaultLineCap; + var strokeStyleLineDash = strokeStyle.getLineDash(); + this.state_.lineDash = strokeStyleLineDash ? + strokeStyleLineDash : GVol.render.canvas.defaultLineDash; + var strokeStyleLineDashOffset = strokeStyle.getLineDashOffset(); + this.state_.lineDashOffset = strokeStyleLineDashOffset ? + strokeStyleLineDashOffset : GVol.render.canvas.defaultLineDashOffset; + var strokeStyleLineJoin = strokeStyle.getLineJoin(); + this.state_.lineJoin = strokeStyleLineJoin !== undefined ? + strokeStyleLineJoin : GVol.render.canvas.defaultLineJoin; + var strokeStyleWidth = strokeStyle.getWidth(); + this.state_.lineWidth = strokeStyleWidth !== undefined ? + strokeStyleWidth : GVol.render.canvas.defaultLineWidth; + var strokeStyleMiterLimit = strokeStyle.getMiterLimit(); + this.state_.miterLimit = strokeStyleMiterLimit !== undefined ? + strokeStyleMiterLimit : GVol.render.canvas.defaultMiterLimit; + + if (this.state_.lineWidth > this.maxLineWidth) { + this.maxLineWidth = this.state_.lineWidth; + // invalidate the buffered max extent cache + this.bufferedMaxExtent_ = null; + } +}; + +goog.provide('GVol.render.canvas.PGVolygonReplay'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.cGVolor'); +goog.require('GVol.cGVolorlike'); +goog.require('GVol.extent'); +goog.require('GVol.geom.flat.simplify'); +goog.require('GVol.render.canvas'); +goog.require('GVol.render.canvas.Instruction'); +goog.require('GVol.render.canvas.Replay'); + + +/** + * @constructor + * @extends {GVol.render.canvas.Replay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Maximum extent. + * @param {number} resGVolution ResGVolution. + * @param {boGVolean} overlaps The replay can have overlapping geometries. + * @struct + */ +GVol.render.canvas.PGVolygonReplay = function(tGVolerance, maxExtent, resGVolution, overlaps) { + + GVol.render.canvas.Replay.call(this, tGVolerance, maxExtent, resGVolution, overlaps); + + /** + * @private + * @type {GVol.Extent} + */ + this.bufferedMaxExtent_ = null; + + /** + * @private + * @type {{currentFillStyle: (GVol.CGVolorLike|undefined), + * currentStrokeStyle: (GVol.CGVolorLike|undefined), + * currentLineCap: (string|undefined), + * currentLineDash: Array.<number>, + * currentLineDashOffset: (number|undefined), + * currentLineJoin: (string|undefined), + * currentLineWidth: (number|undefined), + * currentMiterLimit: (number|undefined), + * fillStyle: (GVol.CGVolorLike|undefined), + * strokeStyle: (GVol.CGVolorLike|undefined), + * lineCap: (string|undefined), + * lineDash: Array.<number>, + * lineDashOffset: (number|undefined), + * lineJoin: (string|undefined), + * lineWidth: (number|undefined), + * miterLimit: (number|undefined)}|null} + */ + this.state_ = { + currentFillStyle: undefined, + currentStrokeStyle: undefined, + currentLineCap: undefined, + currentLineDash: null, + currentLineDashOffset: undefined, + currentLineJoin: undefined, + currentLineWidth: undefined, + currentMiterLimit: undefined, + fillStyle: undefined, + strokeStyle: undefined, + lineCap: undefined, + lineDash: null, + lineDashOffset: undefined, + lineJoin: undefined, + lineWidth: undefined, + miterLimit: undefined + }; + +}; +GVol.inherits(GVol.render.canvas.PGVolygonReplay, GVol.render.canvas.Replay); + + +/** + * @param {Array.<number>} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.<number>} ends Ends. + * @param {number} stride Stride. + * @private + * @return {number} End. + */ +GVol.render.canvas.PGVolygonReplay.prototype.drawFlatCoordinatess_ = function(flatCoordinates, offset, ends, stride) { + var state = this.state_; + var fill = state.fillStyle !== undefined; + var stroke = state.strokeStyle != undefined; + var numEnds = ends.length; + var beginPathInstruction = [GVol.render.canvas.Instruction.BEGIN_PATH]; + this.instructions.push(beginPathInstruction); + this.hitDetectionInstructions.push(beginPathInstruction); + for (var i = 0; i < numEnds; ++i) { + var end = ends[i]; + var myBegin = this.coordinates.length; + var myEnd = this.appendFlatCoordinates( + flatCoordinates, offset, end, stride, true, !stroke); + var moveToLineToInstruction = + [GVol.render.canvas.Instruction.MOVE_TO_LINE_TO, myBegin, myEnd]; + this.instructions.push(moveToLineToInstruction); + this.hitDetectionInstructions.push(moveToLineToInstruction); + if (stroke) { + // Performance optimization: only call closePath() when we have a stroke. + // Otherwise the ring is closed already (see appendFlatCoordinates above). + var closePathInstruction = [GVol.render.canvas.Instruction.CLOSE_PATH]; + this.instructions.push(closePathInstruction); + this.hitDetectionInstructions.push(closePathInstruction); + } + offset = end; + } + var fillInstruction = [GVol.render.canvas.Instruction.FILL]; + this.hitDetectionInstructions.push(fillInstruction); + if (fill) { + this.instructions.push(fillInstruction); + } + if (stroke) { + var strokeInstruction = [GVol.render.canvas.Instruction.STROKE]; + this.instructions.push(strokeInstruction); + this.hitDetectionInstructions.push(strokeInstruction); + } + return offset; +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.PGVolygonReplay.prototype.drawCircle = function(circleGeometry, feature) { + var state = this.state_; + var fillStyle = state.fillStyle; + var strokeStyle = state.strokeStyle; + if (fillStyle === undefined && strokeStyle === undefined) { + return; + } + this.setFillStrokeStyles_(circleGeometry); + this.beginGeometry(circleGeometry, feature); + // always fill the circle for hit detection + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.SET_FILL_STYLE, + GVol.cGVolor.asString(GVol.render.canvas.defaultFillStyle) + ]); + if (state.strokeStyle !== undefined) { + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.SET_STROKE_STYLE, + state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin, + state.miterLimit, state.lineDash, state.lineDashOffset, true, 1 + ]); + } + var flatCoordinates = circleGeometry.getFlatCoordinates(); + var stride = circleGeometry.getStride(); + var myBegin = this.coordinates.length; + this.appendFlatCoordinates( + flatCoordinates, 0, flatCoordinates.length, stride, false, false); + var beginPathInstruction = [GVol.render.canvas.Instruction.BEGIN_PATH]; + var circleInstruction = [GVol.render.canvas.Instruction.CIRCLE, myBegin]; + this.instructions.push(beginPathInstruction, circleInstruction); + this.hitDetectionInstructions.push(beginPathInstruction, circleInstruction); + var fillInstruction = [GVol.render.canvas.Instruction.FILL]; + this.hitDetectionInstructions.push(fillInstruction); + if (state.fillStyle !== undefined) { + this.instructions.push(fillInstruction); + } + if (state.strokeStyle !== undefined) { + var strokeInstruction = [GVol.render.canvas.Instruction.STROKE]; + this.instructions.push(strokeInstruction); + this.hitDetectionInstructions.push(strokeInstruction); + } + this.endGeometry(circleGeometry, feature); +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.PGVolygonReplay.prototype.drawPGVolygon = function(pGVolygonGeometry, feature) { + var state = this.state_; + this.setFillStrokeStyles_(pGVolygonGeometry); + this.beginGeometry(pGVolygonGeometry, feature); + // always fill the pGVolygon for hit detection + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.SET_FILL_STYLE, + GVol.cGVolor.asString(GVol.render.canvas.defaultFillStyle)] + ); + if (state.strokeStyle !== undefined) { + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.SET_STROKE_STYLE, + state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin, + state.miterLimit, state.lineDash, state.lineDashOffset, true, 1 + ]); + } + var ends = pGVolygonGeometry.getEnds(); + var flatCoordinates = pGVolygonGeometry.getOrientedFlatCoordinates(); + var stride = pGVolygonGeometry.getStride(); + this.drawFlatCoordinatess_(flatCoordinates, 0, ends, stride); + this.endGeometry(pGVolygonGeometry, feature); +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.PGVolygonReplay.prototype.drawMultiPGVolygon = function(multiPGVolygonGeometry, feature) { + var state = this.state_; + var fillStyle = state.fillStyle; + var strokeStyle = state.strokeStyle; + if (fillStyle === undefined && strokeStyle === undefined) { + return; + } + this.setFillStrokeStyles_(multiPGVolygonGeometry); + this.beginGeometry(multiPGVolygonGeometry, feature); + // always fill the multi-pGVolygon for hit detection + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.SET_FILL_STYLE, + GVol.cGVolor.asString(GVol.render.canvas.defaultFillStyle) + ]); + if (state.strokeStyle !== undefined) { + this.hitDetectionInstructions.push([ + GVol.render.canvas.Instruction.SET_STROKE_STYLE, + state.strokeStyle, state.lineWidth, state.lineCap, state.lineJoin, + state.miterLimit, state.lineDash, state.lineDashOffset, true, 1 + ]); + } + var endss = multiPGVolygonGeometry.getEndss(); + var flatCoordinates = multiPGVolygonGeometry.getOrientedFlatCoordinates(); + var stride = multiPGVolygonGeometry.getStride(); + var offset = 0; + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + offset = this.drawFlatCoordinatess_( + flatCoordinates, offset, endss[i], stride); + } + this.endGeometry(multiPGVolygonGeometry, feature); +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.PGVolygonReplay.prototype.finish = function() { + this.reverseHitDetectionInstructions(); + this.state_ = null; + // We want to preserve topGVology when drawing pGVolygons. PGVolygons are + // simplified using quantization and point elimination. However, we might + // have received a mix of quantized and non-quantized geometries, so ensure + // that all are quantized by quantizing all coordinates in the batch. + var tGVolerance = this.tGVolerance; + if (tGVolerance !== 0) { + var coordinates = this.coordinates; + var i, ii; + for (i = 0, ii = coordinates.length; i < ii; ++i) { + coordinates[i] = GVol.geom.flat.simplify.snap(coordinates[i], tGVolerance); + } + } +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.PGVolygonReplay.prototype.getBufferedMaxExtent = function() { + if (!this.bufferedMaxExtent_) { + this.bufferedMaxExtent_ = GVol.extent.clone(this.maxExtent); + if (this.maxLineWidth > 0) { + var width = this.resGVolution * (this.maxLineWidth + 1) / 2; + GVol.extent.buffer(this.bufferedMaxExtent_, width, this.bufferedMaxExtent_); + } + } + return this.bufferedMaxExtent_; +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.PGVolygonReplay.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { + var state = this.state_; + if (fillStyle) { + var fillStyleCGVolor = fillStyle.getCGVolor(); + state.fillStyle = GVol.cGVolorlike.asCGVolorLike(fillStyleCGVolor ? + fillStyleCGVolor : GVol.render.canvas.defaultFillStyle); + } else { + state.fillStyle = undefined; + } + if (strokeStyle) { + var strokeStyleCGVolor = strokeStyle.getCGVolor(); + state.strokeStyle = GVol.cGVolorlike.asCGVolorLike(strokeStyleCGVolor ? + strokeStyleCGVolor : GVol.render.canvas.defaultStrokeStyle); + var strokeStyleLineCap = strokeStyle.getLineCap(); + state.lineCap = strokeStyleLineCap !== undefined ? + strokeStyleLineCap : GVol.render.canvas.defaultLineCap; + var strokeStyleLineDash = strokeStyle.getLineDash(); + state.lineDash = strokeStyleLineDash ? + strokeStyleLineDash.slice() : GVol.render.canvas.defaultLineDash; + var strokeStyleLineDashOffset = strokeStyle.getLineDashOffset(); + state.lineDashOffset = strokeStyleLineDashOffset ? + strokeStyleLineDashOffset : GVol.render.canvas.defaultLineDashOffset; + var strokeStyleLineJoin = strokeStyle.getLineJoin(); + state.lineJoin = strokeStyleLineJoin !== undefined ? + strokeStyleLineJoin : GVol.render.canvas.defaultLineJoin; + var strokeStyleWidth = strokeStyle.getWidth(); + state.lineWidth = strokeStyleWidth !== undefined ? + strokeStyleWidth : GVol.render.canvas.defaultLineWidth; + var strokeStyleMiterLimit = strokeStyle.getMiterLimit(); + state.miterLimit = strokeStyleMiterLimit !== undefined ? + strokeStyleMiterLimit : GVol.render.canvas.defaultMiterLimit; + + if (state.lineWidth > this.maxLineWidth) { + this.maxLineWidth = state.lineWidth; + // invalidate the buffered max extent cache + this.bufferedMaxExtent_ = null; + } + } else { + state.strokeStyle = undefined; + state.lineCap = undefined; + state.lineDash = null; + state.lineDashOffset = undefined; + state.lineJoin = undefined; + state.lineWidth = undefined; + state.miterLimit = undefined; + } +}; + + +/** + * @private + * @param {GVol.geom.Geometry|GVol.render.Feature} geometry Geometry. + */ +GVol.render.canvas.PGVolygonReplay.prototype.setFillStrokeStyles_ = function(geometry) { + var state = this.state_; + var fillStyle = state.fillStyle; + var strokeStyle = state.strokeStyle; + var lineCap = state.lineCap; + var lineDash = state.lineDash; + var lineDashOffset = state.lineDashOffset; + var lineJoin = state.lineJoin; + var lineWidth = state.lineWidth; + var miterLimit = state.miterLimit; + if (fillStyle !== undefined && (typeof fillStyle !== 'string' || state.currentFillStyle != fillStyle)) { + var fillInstruction = [GVol.render.canvas.Instruction.SET_FILL_STYLE, fillStyle]; + if (typeof fillStyle !== 'string') { + var fillExtent = geometry.getExtent(); + fillInstruction.push([fillExtent[0], fillExtent[3]]); + } + this.instructions.push(fillInstruction); + state.currentFillStyle = state.fillStyle; + } + if (strokeStyle !== undefined) { + if (state.currentStrokeStyle != strokeStyle || + state.currentLineCap != lineCap || + !GVol.array.equals(state.currentLineDash, lineDash) || + state.currentLineDashOffset != lineDashOffset || + state.currentLineJoin != lineJoin || + state.currentLineWidth != lineWidth || + state.currentMiterLimit != miterLimit) { + this.instructions.push([ + GVol.render.canvas.Instruction.SET_STROKE_STYLE, + strokeStyle, lineWidth, lineCap, lineJoin, miterLimit, lineDash, lineDashOffset, true, 1 + ]); + state.currentStrokeStyle = strokeStyle; + state.currentLineCap = lineCap; + state.currentLineDash = lineDash; + state.currentLineDashOffset = lineDashOffset; + state.currentLineJoin = lineJoin; + state.currentLineWidth = lineWidth; + state.currentMiterLimit = miterLimit; + } + } +}; + +goog.provide('GVol.render.canvas.TextReplay'); + +goog.require('GVol'); +goog.require('GVol.cGVolorlike'); +goog.require('GVol.render.canvas'); +goog.require('GVol.render.canvas.Instruction'); +goog.require('GVol.render.canvas.Replay'); + + +/** + * @constructor + * @extends {GVol.render.canvas.Replay} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Maximum extent. + * @param {number} resGVolution ResGVolution. + * @param {boGVolean} overlaps The replay can have overlapping geometries. + * @struct + */ +GVol.render.canvas.TextReplay = function(tGVolerance, maxExtent, resGVolution, overlaps) { + + GVol.render.canvas.Replay.call(this, tGVolerance, maxExtent, resGVolution, overlaps); + + /** + * @private + * @type {?GVol.CanvasFillState} + */ + this.replayFillState_ = null; + + /** + * @private + * @type {?GVol.CanvasStrokeState} + */ + this.replayStrokeState_ = null; + + /** + * @private + * @type {?GVol.CanvasTextState} + */ + this.replayTextState_ = null; + + /** + * @private + * @type {string} + */ + this.text_ = ''; + + /** + * @private + * @type {number} + */ + this.textOffsetX_ = 0; + + /** + * @private + * @type {number} + */ + this.textOffsetY_ = 0; + + /** + * @private + * @type {boGVolean|undefined} + */ + this.textRotateWithView_ = undefined; + + /** + * @private + * @type {number} + */ + this.textRotation_ = 0; + + /** + * @private + * @type {number} + */ + this.textScale_ = 0; + + /** + * @private + * @type {?GVol.CanvasFillState} + */ + this.textFillState_ = null; + + /** + * @private + * @type {?GVol.CanvasStrokeState} + */ + this.textStrokeState_ = null; + + /** + * @private + * @type {?GVol.CanvasTextState} + */ + this.textState_ = null; + +}; +GVol.inherits(GVol.render.canvas.TextReplay, GVol.render.canvas.Replay); + + +/** + * @inheritDoc + */ +GVol.render.canvas.TextReplay.prototype.drawText = function(flatCoordinates, offset, end, stride, geometry, feature) { + if (this.text_ === '' || !this.textState_ || + (!this.textFillState_ && !this.textStrokeState_)) { + return; + } + if (this.textFillState_) { + this.setReplayFillState_(this.textFillState_); + } + if (this.textStrokeState_) { + this.setReplayStrokeState_(this.textStrokeState_); + } + this.setReplayTextState_(this.textState_); + this.beginGeometry(geometry, feature); + var myBegin = this.coordinates.length; + var myEnd = + this.appendFlatCoordinates(flatCoordinates, offset, end, stride, false, false); + var fill = !!this.textFillState_; + var stroke = !!this.textStrokeState_; + var drawTextInstruction = [ + GVol.render.canvas.Instruction.DRAW_TEXT, myBegin, myEnd, this.text_, + this.textOffsetX_, this.textOffsetY_, this.textRotation_, this.textScale_, + fill, stroke, this.textRotateWithView_]; + this.instructions.push(drawTextInstruction); + this.hitDetectionInstructions.push(drawTextInstruction); + this.endGeometry(geometry, feature); +}; + + +/** + * @param {GVol.CanvasFillState} fillState Fill state. + * @private + */ +GVol.render.canvas.TextReplay.prototype.setReplayFillState_ = function(fillState) { + var replayFillState = this.replayFillState_; + if (replayFillState && + replayFillState.fillStyle == fillState.fillStyle) { + return; + } + var setFillStyleInstruction = + [GVol.render.canvas.Instruction.SET_FILL_STYLE, fillState.fillStyle]; + this.instructions.push(setFillStyleInstruction); + this.hitDetectionInstructions.push(setFillStyleInstruction); + if (!replayFillState) { + this.replayFillState_ = { + fillStyle: fillState.fillStyle + }; + } else { + replayFillState.fillStyle = fillState.fillStyle; + } +}; + + +/** + * @param {GVol.CanvasStrokeState} strokeState Stroke state. + * @private + */ +GVol.render.canvas.TextReplay.prototype.setReplayStrokeState_ = function(strokeState) { + var replayStrokeState = this.replayStrokeState_; + if (replayStrokeState && + replayStrokeState.lineCap == strokeState.lineCap && + replayStrokeState.lineDash == strokeState.lineDash && + replayStrokeState.lineDashOffset == strokeState.lineDashOffset && + replayStrokeState.lineJoin == strokeState.lineJoin && + replayStrokeState.lineWidth == strokeState.lineWidth && + replayStrokeState.miterLimit == strokeState.miterLimit && + replayStrokeState.strokeStyle == strokeState.strokeStyle) { + return; + } + var setStrokeStyleInstruction = [ + GVol.render.canvas.Instruction.SET_STROKE_STYLE, strokeState.strokeStyle, + strokeState.lineWidth, strokeState.lineCap, strokeState.lineJoin, + strokeState.miterLimit, strokeState.lineDash, strokeState.lineDashOffset, false, 1 + ]; + this.instructions.push(setStrokeStyleInstruction); + this.hitDetectionInstructions.push(setStrokeStyleInstruction); + if (!replayStrokeState) { + this.replayStrokeState_ = { + lineCap: strokeState.lineCap, + lineDash: strokeState.lineDash, + lineDashOffset: strokeState.lineDashOffset, + lineJoin: strokeState.lineJoin, + lineWidth: strokeState.lineWidth, + miterLimit: strokeState.miterLimit, + strokeStyle: strokeState.strokeStyle + }; + } else { + replayStrokeState.lineCap = strokeState.lineCap; + replayStrokeState.lineDash = strokeState.lineDash; + replayStrokeState.lineDashOffset = strokeState.lineDashOffset; + replayStrokeState.lineJoin = strokeState.lineJoin; + replayStrokeState.lineWidth = strokeState.lineWidth; + replayStrokeState.miterLimit = strokeState.miterLimit; + replayStrokeState.strokeStyle = strokeState.strokeStyle; + } +}; + + +/** + * @param {GVol.CanvasTextState} textState Text state. + * @private + */ +GVol.render.canvas.TextReplay.prototype.setReplayTextState_ = function(textState) { + var replayTextState = this.replayTextState_; + if (replayTextState && + replayTextState.font == textState.font && + replayTextState.textAlign == textState.textAlign && + replayTextState.textBaseline == textState.textBaseline) { + return; + } + var setTextStyleInstruction = [GVol.render.canvas.Instruction.SET_TEXT_STYLE, + textState.font, textState.textAlign, textState.textBaseline]; + this.instructions.push(setTextStyleInstruction); + this.hitDetectionInstructions.push(setTextStyleInstruction); + if (!replayTextState) { + this.replayTextState_ = { + font: textState.font, + textAlign: textState.textAlign, + textBaseline: textState.textBaseline + }; + } else { + replayTextState.font = textState.font; + replayTextState.textAlign = textState.textAlign; + replayTextState.textBaseline = textState.textBaseline; + } +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.TextReplay.prototype.setTextStyle = function(textStyle) { + if (!textStyle) { + this.text_ = ''; + } else { + var textFillStyle = textStyle.getFill(); + if (!textFillStyle) { + this.textFillState_ = null; + } else { + var textFillStyleCGVolor = textFillStyle.getCGVolor(); + var fillStyle = GVol.cGVolorlike.asCGVolorLike(textFillStyleCGVolor ? + textFillStyleCGVolor : GVol.render.canvas.defaultFillStyle); + if (!this.textFillState_) { + this.textFillState_ = { + fillStyle: fillStyle + }; + } else { + var textFillState = this.textFillState_; + textFillState.fillStyle = fillStyle; + } + } + var textStrokeStyle = textStyle.getStroke(); + if (!textStrokeStyle) { + this.textStrokeState_ = null; + } else { + var textStrokeStyleCGVolor = textStrokeStyle.getCGVolor(); + var textStrokeStyleLineCap = textStrokeStyle.getLineCap(); + var textStrokeStyleLineDash = textStrokeStyle.getLineDash(); + var textStrokeStyleLineDashOffset = textStrokeStyle.getLineDashOffset(); + var textStrokeStyleLineJoin = textStrokeStyle.getLineJoin(); + var textStrokeStyleWidth = textStrokeStyle.getWidth(); + var textStrokeStyleMiterLimit = textStrokeStyle.getMiterLimit(); + var lineCap = textStrokeStyleLineCap !== undefined ? + textStrokeStyleLineCap : GVol.render.canvas.defaultLineCap; + var lineDash = textStrokeStyleLineDash ? + textStrokeStyleLineDash.slice() : GVol.render.canvas.defaultLineDash; + var lineDashOffset = textStrokeStyleLineDashOffset !== undefined ? + textStrokeStyleLineDashOffset : GVol.render.canvas.defaultLineDashOffset; + var lineJoin = textStrokeStyleLineJoin !== undefined ? + textStrokeStyleLineJoin : GVol.render.canvas.defaultLineJoin; + var lineWidth = textStrokeStyleWidth !== undefined ? + textStrokeStyleWidth : GVol.render.canvas.defaultLineWidth; + var miterLimit = textStrokeStyleMiterLimit !== undefined ? + textStrokeStyleMiterLimit : GVol.render.canvas.defaultMiterLimit; + var strokeStyle = GVol.cGVolorlike.asCGVolorLike(textStrokeStyleCGVolor ? + textStrokeStyleCGVolor : GVol.render.canvas.defaultStrokeStyle); + if (!this.textStrokeState_) { + this.textStrokeState_ = { + lineCap: lineCap, + lineDash: lineDash, + lineDashOffset: lineDashOffset, + lineJoin: lineJoin, + lineWidth: lineWidth, + miterLimit: miterLimit, + strokeStyle: strokeStyle + }; + } else { + var textStrokeState = this.textStrokeState_; + textStrokeState.lineCap = lineCap; + textStrokeState.lineDash = lineDash; + textStrokeState.lineDashOffset = lineDashOffset; + textStrokeState.lineJoin = lineJoin; + textStrokeState.lineWidth = lineWidth; + textStrokeState.miterLimit = miterLimit; + textStrokeState.strokeStyle = strokeStyle; + } + } + var textFont = textStyle.getFont(); + var textOffsetX = textStyle.getOffsetX(); + var textOffsetY = textStyle.getOffsetY(); + var textRotateWithView = textStyle.getRotateWithView(); + var textRotation = textStyle.getRotation(); + var textScale = textStyle.getScale(); + var textText = textStyle.getText(); + var textTextAlign = textStyle.getTextAlign(); + var textTextBaseline = textStyle.getTextBaseline(); + var font = textFont !== undefined ? + textFont : GVol.render.canvas.defaultFont; + var textAlign = textTextAlign !== undefined ? + textTextAlign : GVol.render.canvas.defaultTextAlign; + var textBaseline = textTextBaseline !== undefined ? + textTextBaseline : GVol.render.canvas.defaultTextBaseline; + if (!this.textState_) { + this.textState_ = { + font: font, + textAlign: textAlign, + textBaseline: textBaseline + }; + } else { + var textState = this.textState_; + textState.font = font; + textState.textAlign = textAlign; + textState.textBaseline = textBaseline; + } + this.text_ = textText !== undefined ? textText : ''; + this.textOffsetX_ = textOffsetX !== undefined ? textOffsetX : 0; + this.textOffsetY_ = textOffsetY !== undefined ? textOffsetY : 0; + this.textRotateWithView_ = textRotateWithView !== undefined ? textRotateWithView : false; + this.textRotation_ = textRotation !== undefined ? textRotation : 0; + this.textScale_ = textScale !== undefined ? textScale : 1; + } +}; + +goog.provide('GVol.render.canvas.ReplayGroup'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.dom'); +goog.require('GVol.extent'); +goog.require('GVol.geom.flat.transform'); +goog.require('GVol.obj'); +goog.require('GVol.render.ReplayGroup'); +goog.require('GVol.render.canvas.Replay'); +goog.require('GVol.render.canvas.ImageReplay'); +goog.require('GVol.render.canvas.LineStringReplay'); +goog.require('GVol.render.canvas.PGVolygonReplay'); +goog.require('GVol.render.canvas.TextReplay'); +goog.require('GVol.render.replay'); +goog.require('GVol.transform'); + + +/** + * @constructor + * @extends {GVol.render.ReplayGroup} + * @param {number} tGVolerance TGVolerance. + * @param {GVol.Extent} maxExtent Max extent. + * @param {number} resGVolution ResGVolution. + * @param {boGVolean} overlaps The replay group can have overlapping geometries. + * @param {number=} opt_renderBuffer Optional rendering buffer. + * @struct + */ +GVol.render.canvas.ReplayGroup = function( + tGVolerance, maxExtent, resGVolution, overlaps, opt_renderBuffer) { + GVol.render.ReplayGroup.call(this); + + /** + * @private + * @type {number} + */ + this.tGVolerance_ = tGVolerance; + + /** + * @private + * @type {GVol.Extent} + */ + this.maxExtent_ = maxExtent; + + /** + * @private + * @type {boGVolean} + */ + this.overlaps_ = overlaps; + + /** + * @private + * @type {number} + */ + this.resGVolution_ = resGVolution; + + /** + * @private + * @type {number|undefined} + */ + this.renderBuffer_ = opt_renderBuffer; + + /** + * @private + * @type {!Object.<string, + * Object.<GVol.render.ReplayType, GVol.render.canvas.Replay>>} + */ + this.replaysByZIndex_ = {}; + + /** + * @private + * @type {CanvasRenderingContext2D} + */ + this.hitDetectionContext_ = GVol.dom.createCanvasContext2D(1, 1); + + /** + * @private + * @type {GVol.Transform} + */ + this.hitDetectionTransform_ = GVol.transform.create(); +}; +GVol.inherits(GVol.render.canvas.ReplayGroup, GVol.render.ReplayGroup); + + +/** + * This cache is used for storing calculated pixel circles for increasing performance. + * It is a static property to allow each Replaygroup to access it. + * @type {Object.<number, Array.<Array.<(boGVolean|undefined)>>>} + * @private + */ +GVol.render.canvas.ReplayGroup.circleArrayCache_ = { + 0: [[true]] +}; + + +/** + * This method fills a row in the array from the given coordinate to the + * middle with `true`. + * @param {Array.<Array.<(boGVolean|undefined)>>} array The array that will be altered. + * @param {number} x X coordinate. + * @param {number} y Y coordinate. + * @private + */ +GVol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_ = function(array, x, y) { + var i; + var radius = Math.floor(array.length / 2); + if (x >= radius) { + for (i = radius; i < x; i++) { + array[i][y] = true; + } + } else if (x < radius) { + for (i = x + 1; i < radius; i++) { + array[i][y] = true; + } + } +}; + + +/** + * This methods creates a circle inside a fitting array. Points inside the + * circle are marked by true, points on the outside are undefined. + * It uses the midpoint circle algorithm. + * A cache is used to increase performance. + * @param {number} radius Radius. + * @returns {Array.<Array.<(boGVolean|undefined)>>} An array with marked circle points. + * @private + */ +GVol.render.canvas.ReplayGroup.getCircleArray_ = function(radius) { + if (GVol.render.canvas.ReplayGroup.circleArrayCache_[radius] !== undefined) { + return GVol.render.canvas.ReplayGroup.circleArrayCache_[radius]; + } + + var arraySize = radius * 2 + 1; + var arr = new Array(arraySize); + for (var i = 0; i < arraySize; i++) { + arr[i] = new Array(arraySize); + } + + var x = radius; + var y = 0; + var error = 0; + + while (x >= y) { + GVol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius + x, radius + y); + GVol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius + y, radius + x); + GVol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius - y, radius + x); + GVol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius - x, radius + y); + GVol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius - x, radius - y); + GVol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius - y, radius - x); + GVol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius + y, radius - x); + GVol.render.canvas.ReplayGroup.fillCircleArrayRowToMiddle_(arr, radius + x, radius - y); + + y++; + error += 1 + 2 * y; + if (2 * (error - x) + 1 > 0) { + x -= 1; + error += 1 - 2 * x; + } + } + + GVol.render.canvas.ReplayGroup.circleArrayCache_[radius] = arr; + return arr; +}; + + +/** + * @param {Array.<GVol.render.ReplayType>} replays Replays. + * @return {boGVolean} Has replays of the provided types. + */ +GVol.render.canvas.ReplayGroup.prototype.hasReplays = function(replays) { + for (var zIndex in this.replaysByZIndex_) { + var candidates = this.replaysByZIndex_[zIndex]; + for (var i = 0, ii = replays.length; i < ii; ++i) { + if (replays[i] in candidates) { + return true; + } + } + } + return false; +}; + + +/** + * FIXME empty description for jsdoc + */ +GVol.render.canvas.ReplayGroup.prototype.finish = function() { + var zKey; + for (zKey in this.replaysByZIndex_) { + var replays = this.replaysByZIndex_[zKey]; + var replayKey; + for (replayKey in replays) { + replays[replayKey].finish(); + } + } +}; + + +/** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} resGVolution ResGVolution. + * @param {number} rotation Rotation. + * @param {number} hitTGVolerance Hit tGVolerance in pixels. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {function((GVol.Feature|GVol.render.Feature)): T} callback Feature + * callback. + * @return {T|undefined} Callback result. + * @template T + */ +GVol.render.canvas.ReplayGroup.prototype.forEachFeatureAtCoordinate = function( + coordinate, resGVolution, rotation, hitTGVolerance, skippedFeaturesHash, callback) { + + hitTGVolerance = Math.round(hitTGVolerance); + var contextSize = hitTGVolerance * 2 + 1; + var transform = GVol.transform.compose(this.hitDetectionTransform_, + hitTGVolerance + 0.5, hitTGVolerance + 0.5, + 1 / resGVolution, -1 / resGVolution, + -rotation, + -coordinate[0], -coordinate[1]); + var context = this.hitDetectionContext_; + + if (context.canvas.width !== contextSize || context.canvas.height !== contextSize) { + context.canvas.width = contextSize; + context.canvas.height = contextSize; + } else { + context.clearRect(0, 0, contextSize, contextSize); + } + + /** + * @type {GVol.Extent} + */ + var hitExtent; + if (this.renderBuffer_ !== undefined) { + hitExtent = GVol.extent.createEmpty(); + GVol.extent.extendCoordinate(hitExtent, coordinate); + GVol.extent.buffer(hitExtent, resGVolution * (this.renderBuffer_ + hitTGVolerance), hitExtent); + } + + var mask = GVol.render.canvas.ReplayGroup.getCircleArray_(hitTGVolerance); + + return this.replayHitDetection_(context, transform, rotation, + skippedFeaturesHash, + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @return {?} Callback result. + */ + function(feature) { + var imageData = context.getImageData(0, 0, contextSize, contextSize).data; + for (var i = 0; i < contextSize; i++) { + for (var j = 0; j < contextSize; j++) { + if (mask[i][j]) { + if (imageData[(j * contextSize + i) * 4 + 3] > 0) { + var result = callback(feature); + if (result) { + return result; + } else { + context.clearRect(0, 0, contextSize, contextSize); + return undefined; + } + } + } + } + } + }, hitExtent); +}; + + +/** + * @param {GVol.Transform} transform Transform. + * @return {Array.<number>} Clip coordinates. + */ +GVol.render.canvas.ReplayGroup.prototype.getClipCoords = function(transform) { + var maxExtent = this.maxExtent_; + var minX = maxExtent[0]; + var minY = maxExtent[1]; + var maxX = maxExtent[2]; + var maxY = maxExtent[3]; + var flatClipCoords = [minX, minY, minX, maxY, maxX, maxY, maxX, minY]; + GVol.geom.flat.transform.transform2D( + flatClipCoords, 0, 8, 2, transform, flatClipCoords); + return flatClipCoords; +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.ReplayGroup.prototype.getReplay = function(zIndex, replayType) { + var zIndexKey = zIndex !== undefined ? zIndex.toString() : '0'; + var replays = this.replaysByZIndex_[zIndexKey]; + if (replays === undefined) { + replays = {}; + this.replaysByZIndex_[zIndexKey] = replays; + } + var replay = replays[replayType]; + if (replay === undefined) { + var Constructor = GVol.render.canvas.ReplayGroup.BATCH_CONSTRUCTORS_[replayType]; + replay = new Constructor(this.tGVolerance_, this.maxExtent_, + this.resGVolution_, this.overlaps_); + replays[replayType] = replay; + } + return replay; +}; + + +/** + * @inheritDoc + */ +GVol.render.canvas.ReplayGroup.prototype.isEmpty = function() { + return GVol.obj.isEmpty(this.replaysByZIndex_); +}; + + +/** + * @param {CanvasRenderingContext2D} context Context. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.Transform} transform Transform. + * @param {number} viewRotation View rotation. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {Array.<GVol.render.ReplayType>=} opt_replayTypes Ordered replay types + * to replay. Default is {@link GVol.render.replay.ORDER} + */ +GVol.render.canvas.ReplayGroup.prototype.replay = function(context, pixelRatio, + transform, viewRotation, skippedFeaturesHash, opt_replayTypes) { + + /** @type {Array.<number>} */ + var zs = Object.keys(this.replaysByZIndex_).map(Number); + zs.sort(GVol.array.numberSafeCompareFunction); + + // setup clipping so that the parts of over-simplified geometries are not + // visible outside the current extent when panning + var flatClipCoords = this.getClipCoords(transform); + context.save(); + context.beginPath(); + context.moveTo(flatClipCoords[0], flatClipCoords[1]); + context.lineTo(flatClipCoords[2], flatClipCoords[3]); + context.lineTo(flatClipCoords[4], flatClipCoords[5]); + context.lineTo(flatClipCoords[6], flatClipCoords[7]); + context.clip(); + + var replayTypes = opt_replayTypes ? opt_replayTypes : GVol.render.replay.ORDER; + var i, ii, j, jj, replays, replay; + for (i = 0, ii = zs.length; i < ii; ++i) { + replays = this.replaysByZIndex_[zs[i].toString()]; + for (j = 0, jj = replayTypes.length; j < jj; ++j) { + replay = replays[replayTypes[j]]; + if (replay !== undefined) { + replay.replay(context, pixelRatio, transform, viewRotation, + skippedFeaturesHash); + } + } + } + + context.restore(); +}; + + +/** + * @private + * @param {CanvasRenderingContext2D} context Context. + * @param {GVol.Transform} transform Transform. + * @param {number} viewRotation View rotation. + * @param {Object.<string, boGVolean>} skippedFeaturesHash Ids of features + * to skip. + * @param {function((GVol.Feature|GVol.render.Feature)): T} featureCallback + * Feature callback. + * @param {GVol.Extent=} opt_hitExtent Only check features that intersect this + * extent. + * @return {T|undefined} Callback result. + * @template T + */ +GVol.render.canvas.ReplayGroup.prototype.replayHitDetection_ = function( + context, transform, viewRotation, skippedFeaturesHash, + featureCallback, opt_hitExtent) { + /** @type {Array.<number>} */ + var zs = Object.keys(this.replaysByZIndex_).map(Number); + zs.sort(function(a, b) { + return b - a; + }); + + var i, ii, j, replays, replay, result; + for (i = 0, ii = zs.length; i < ii; ++i) { + replays = this.replaysByZIndex_[zs[i].toString()]; + for (j = GVol.render.replay.ORDER.length - 1; j >= 0; --j) { + replay = replays[GVol.render.replay.ORDER[j]]; + if (replay !== undefined) { + result = replay.replayHitDetection(context, transform, viewRotation, + skippedFeaturesHash, featureCallback, opt_hitExtent); + if (result) { + return result; + } + } + } + } + return undefined; +}; + + +/** + * @const + * @private + * @type {Object.<GVol.render.ReplayType, + * function(new: GVol.render.canvas.Replay, number, GVol.Extent, + * number, boGVolean)>} + */ +GVol.render.canvas.ReplayGroup.BATCH_CONSTRUCTORS_ = { + 'Circle': GVol.render.canvas.PGVolygonReplay, + 'Default': GVol.render.canvas.Replay, + 'Image': GVol.render.canvas.ImageReplay, + 'LineString': GVol.render.canvas.LineStringReplay, + 'PGVolygon': GVol.render.canvas.PGVolygonReplay, + 'Text': GVol.render.canvas.TextReplay +}; + +goog.provide('GVol.renderer.Layer'); + +goog.require('GVol'); +goog.require('GVol.ImageState'); +goog.require('GVol.Observable'); +goog.require('GVol.TileState'); +goog.require('GVol.asserts'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.functions'); +goog.require('GVol.source.State'); + + +/** + * @constructor + * @extends {GVol.Observable} + * @param {GVol.layer.Layer} layer Layer. + * @struct + */ +GVol.renderer.Layer = function(layer) { + + GVol.Observable.call(this); + + /** + * @private + * @type {GVol.layer.Layer} + */ + this.layer_ = layer; + + +}; +GVol.inherits(GVol.renderer.Layer, GVol.Observable); + + +/** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVolx.FrameState} frameState Frame state. + * @param {number} hitTGVolerance Hit tGVolerance in pixels. + * @param {function(this: S, (GVol.Feature|GVol.render.Feature), GVol.layer.Layer): T} + * callback Feature callback. + * @param {S} thisArg Value to use as `this` when executing `callback`. + * @return {T|undefined} Callback result. + * @template S,T + */ +GVol.renderer.Layer.prototype.forEachFeatureAtCoordinate = GVol.nullFunction; + + +/** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVolx.FrameState} frameState Frame state. + * @return {boGVolean} Is there a feature at the given coordinate? + */ +GVol.renderer.Layer.prototype.hasFeatureAtCoordinate = GVol.functions.FALSE; + + +/** + * Create a function that adds loaded tiles to the tile lookup. + * @param {GVol.source.Tile} source Tile source. + * @param {GVol.proj.Projection} projection Projection of the tiles. + * @param {Object.<number, Object.<string, GVol.Tile>>} tiles Lookup of loaded + * tiles by zoom level. + * @return {function(number, GVol.TileRange):boGVolean} A function that can be + * called with a zoom level and a tile range to add loaded tiles to the + * lookup. + * @protected + */ +GVol.renderer.Layer.prototype.createLoadedTileFinder = function(source, projection, tiles) { + return ( + /** + * @param {number} zoom Zoom level. + * @param {GVol.TileRange} tileRange Tile range. + * @return {boGVolean} The tile range is fully loaded. + */ + function(zoom, tileRange) { + function callback(tile) { + if (!tiles[zoom]) { + tiles[zoom] = {}; + } + tiles[zoom][tile.tileCoord.toString()] = tile; + } + return source.forEachLoadedTile(projection, zoom, tileRange, callback); + }); +}; + + +/** + * @return {GVol.layer.Layer} Layer. + */ +GVol.renderer.Layer.prototype.getLayer = function() { + return this.layer_; +}; + + +/** + * Handle changes in image state. + * @param {GVol.events.Event} event Image change event. + * @private + */ +GVol.renderer.Layer.prototype.handleImageChange_ = function(event) { + var image = /** @type {GVol.Image} */ (event.target); + if (image.getState() === GVol.ImageState.LOADED) { + this.renderIfReadyAndVisible(); + } +}; + + +/** + * Load the image if not already loaded, and register the image change + * listener if needed. + * @param {GVol.ImageBase} image Image. + * @return {boGVolean} `true` if the image is already loaded, `false` + * otherwise. + * @protected + */ +GVol.renderer.Layer.prototype.loadImage = function(image) { + var imageState = image.getState(); + if (imageState != GVol.ImageState.LOADED && + imageState != GVol.ImageState.ERROR) { + GVol.events.listen(image, GVol.events.EventType.CHANGE, + this.handleImageChange_, this); + } + if (imageState == GVol.ImageState.IDLE) { + image.load(); + imageState = image.getState(); + } + return imageState == GVol.ImageState.LOADED; +}; + + +/** + * @protected + */ +GVol.renderer.Layer.prototype.renderIfReadyAndVisible = function() { + var layer = this.getLayer(); + if (layer.getVisible() && layer.getSourceState() == GVol.source.State.READY) { + this.changed(); + } +}; + + +/** + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.source.Tile} tileSource Tile source. + * @protected + */ +GVol.renderer.Layer.prototype.scheduleExpireCache = function(frameState, tileSource) { + if (tileSource.canExpireCache()) { + /** + * @param {GVol.source.Tile} tileSource Tile source. + * @param {GVol.Map} map Map. + * @param {GVolx.FrameState} frameState Frame state. + */ + var postRenderFunction = function(tileSource, map, frameState) { + var tileSourceKey = GVol.getUid(tileSource).toString(); + if (tileSourceKey in frameState.usedTiles) { + tileSource.expireCache(frameState.viewState.projection, + frameState.usedTiles[tileSourceKey]); + } + }.bind(null, tileSource); + + frameState.postRenderFunctions.push( + /** @type {GVol.PostRenderFunction} */ (postRenderFunction) + ); + } +}; + + +/** + * @param {Object.<string, GVol.Attribution>} attributionsSet Attributions + * set (target). + * @param {Array.<GVol.Attribution>} attributions Attributions (source). + * @protected + */ +GVol.renderer.Layer.prototype.updateAttributions = function(attributionsSet, attributions) { + if (attributions) { + var attribution, i, ii; + for (i = 0, ii = attributions.length; i < ii; ++i) { + attribution = attributions[i]; + attributionsSet[GVol.getUid(attribution).toString()] = attribution; + } + } +}; + + +/** + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.source.Source} source Source. + * @protected + */ +GVol.renderer.Layer.prototype.updateLogos = function(frameState, source) { + var logo = source.getLogo(); + if (logo !== undefined) { + if (typeof logo === 'string') { + frameState.logos[logo] = ''; + } else if (logo) { + GVol.asserts.assert(typeof logo.href == 'string', 44); // `logo.href` should be a string. + GVol.asserts.assert(typeof logo.src == 'string', 45); // `logo.src` should be a string. + frameState.logos[logo.src] = logo.href; + } + } +}; + + +/** + * @param {Object.<string, Object.<string, GVol.TileRange>>} usedTiles Used tiles. + * @param {GVol.source.Tile} tileSource Tile source. + * @param {number} z Z. + * @param {GVol.TileRange} tileRange Tile range. + * @protected + */ +GVol.renderer.Layer.prototype.updateUsedTiles = function(usedTiles, tileSource, z, tileRange) { + // FIXME should we use tilesToDrawByZ instead? + var tileSourceKey = GVol.getUid(tileSource).toString(); + var zKey = z.toString(); + if (tileSourceKey in usedTiles) { + if (zKey in usedTiles[tileSourceKey]) { + usedTiles[tileSourceKey][zKey].extend(tileRange); + } else { + usedTiles[tileSourceKey][zKey] = tileRange; + } + } else { + usedTiles[tileSourceKey] = {}; + usedTiles[tileSourceKey][zKey] = tileRange; + } +}; + + +/** + * Manage tile pyramid. + * This function performs a number of functions related to the tiles at the + * current zoom and lower zoom levels: + * - registers idle tiles in frameState.wantedTiles so that they are not + * discarded by the tile queue + * - enqueues missing tiles + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.source.Tile} tileSource Tile source. + * @param {GVol.tilegrid.TileGrid} tileGrid Tile grid. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @param {GVol.Extent} extent Extent. + * @param {number} currentZ Current Z. + * @param {number} preload Load low resGVolution tiles up to 'preload' levels. + * @param {function(this: T, GVol.Tile)=} opt_tileCallback Tile callback. + * @param {T=} opt_this Object to use as `this` in `opt_tileCallback`. + * @protected + * @template T + */ +GVol.renderer.Layer.prototype.manageTilePyramid = function( + frameState, tileSource, tileGrid, pixelRatio, projection, extent, + currentZ, preload, opt_tileCallback, opt_this) { + var tileSourceKey = GVol.getUid(tileSource).toString(); + if (!(tileSourceKey in frameState.wantedTiles)) { + frameState.wantedTiles[tileSourceKey] = {}; + } + var wantedTiles = frameState.wantedTiles[tileSourceKey]; + var tileQueue = frameState.tileQueue; + var minZoom = tileGrid.getMinZoom(); + var tile, tileRange, tileResGVolution, x, y, z; + for (z = currentZ; z >= minZoom; --z) { + tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z, tileRange); + tileResGVolution = tileGrid.getResGVolution(z); + for (x = tileRange.minX; x <= tileRange.maxX; ++x) { + for (y = tileRange.minY; y <= tileRange.maxY; ++y) { + if (currentZ - z <= preload) { + tile = tileSource.getTile(z, x, y, pixelRatio, projection); + if (tile.getState() == GVol.TileState.IDLE) { + wantedTiles[tile.getKey()] = true; + if (!tileQueue.isKeyQueued(tile.getKey())) { + tileQueue.enqueue([tile, tileSourceKey, + tileGrid.getTileCoordCenter(tile.tileCoord), tileResGVolution]); + } + } + if (opt_tileCallback !== undefined) { + opt_tileCallback.call(opt_this, tile); + } + } else { + tileSource.useTile(z, x, y, projection); + } + } + } + } +}; + +goog.provide('GVol.renderer.canvas.Layer'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.functions'); +goog.require('GVol.render.Event'); +goog.require('GVol.render.EventType'); +goog.require('GVol.render.canvas'); +goog.require('GVol.render.canvas.Immediate'); +goog.require('GVol.renderer.Layer'); +goog.require('GVol.transform'); + + +/** + * @constructor + * @abstract + * @extends {GVol.renderer.Layer} + * @param {GVol.layer.Layer} layer Layer. + */ +GVol.renderer.canvas.Layer = function(layer) { + + GVol.renderer.Layer.call(this, layer); + + /** + * @protected + * @type {number} + */ + this.renderedResGVolution; + + /** + * @private + * @type {GVol.Transform} + */ + this.transform_ = GVol.transform.create(); + +}; +GVol.inherits(GVol.renderer.canvas.Layer, GVol.renderer.Layer); + + +/** + * @param {CanvasRenderingContext2D} context Context. + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.Extent} extent Clip extent. + * @protected + */ +GVol.renderer.canvas.Layer.prototype.clip = function(context, frameState, extent) { + var pixelRatio = frameState.pixelRatio; + var width = frameState.size[0] * pixelRatio; + var height = frameState.size[1] * pixelRatio; + var rotation = frameState.viewState.rotation; + var topLeft = GVol.extent.getTopLeft(/** @type {GVol.Extent} */ (extent)); + var topRight = GVol.extent.getTopRight(/** @type {GVol.Extent} */ (extent)); + var bottomRight = GVol.extent.getBottomRight(/** @type {GVol.Extent} */ (extent)); + var bottomLeft = GVol.extent.getBottomLeft(/** @type {GVol.Extent} */ (extent)); + + GVol.transform.apply(frameState.coordinateToPixelTransform, topLeft); + GVol.transform.apply(frameState.coordinateToPixelTransform, topRight); + GVol.transform.apply(frameState.coordinateToPixelTransform, bottomRight); + GVol.transform.apply(frameState.coordinateToPixelTransform, bottomLeft); + + context.save(); + GVol.render.canvas.rotateAtOffset(context, -rotation, width / 2, height / 2); + context.beginPath(); + context.moveTo(topLeft[0] * pixelRatio, topLeft[1] * pixelRatio); + context.lineTo(topRight[0] * pixelRatio, topRight[1] * pixelRatio); + context.lineTo(bottomRight[0] * pixelRatio, bottomRight[1] * pixelRatio); + context.lineTo(bottomLeft[0] * pixelRatio, bottomLeft[1] * pixelRatio); + context.clip(); + GVol.render.canvas.rotateAtOffset(context, rotation, width / 2, height / 2); +}; + + +/** + * @param {GVol.render.EventType} type Event type. + * @param {CanvasRenderingContext2D} context Context. + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.Transform=} opt_transform Transform. + * @private + */ +GVol.renderer.canvas.Layer.prototype.dispatchComposeEvent_ = function(type, context, frameState, opt_transform) { + var layer = this.getLayer(); + if (layer.hasListener(type)) { + var width = frameState.size[0] * frameState.pixelRatio; + var height = frameState.size[1] * frameState.pixelRatio; + var rotation = frameState.viewState.rotation; + GVol.render.canvas.rotateAtOffset(context, -rotation, width / 2, height / 2); + var transform = opt_transform !== undefined ? + opt_transform : this.getTransform(frameState, 0); + var render = new GVol.render.canvas.Immediate( + context, frameState.pixelRatio, frameState.extent, transform, + frameState.viewState.rotation); + var composeEvent = new GVol.render.Event(type, render, frameState, + context, null); + layer.dispatchEvent(composeEvent); + GVol.render.canvas.rotateAtOffset(context, rotation, width / 2, height / 2); + } +}; + + +/** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {GVolx.FrameState} frameState FrameState. + * @param {function(this: S, GVol.layer.Layer, (Uint8ClampedArray|Uint8Array)): T} callback Layer + * callback. + * @param {S} thisArg Value to use as `this` when executing `callback`. + * @return {T|undefined} Callback result. + * @template S,T,U + */ +GVol.renderer.canvas.Layer.prototype.forEachLayerAtCoordinate = function(coordinate, frameState, callback, thisArg) { + var hasFeature = this.forEachFeatureAtCoordinate( + coordinate, frameState, 0, GVol.functions.TRUE, this); + + if (hasFeature) { + return callback.call(thisArg, this.getLayer(), null); + } else { + return undefined; + } +}; + + +/** + * @param {CanvasRenderingContext2D} context Context. + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.LayerState} layerState Layer state. + * @param {GVol.Transform=} opt_transform Transform. + * @protected + */ +GVol.renderer.canvas.Layer.prototype.postCompose = function(context, frameState, layerState, opt_transform) { + this.dispatchComposeEvent_(GVol.render.EventType.POSTCOMPOSE, context, + frameState, opt_transform); +}; + + +/** + * @param {CanvasRenderingContext2D} context Context. + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.Transform=} opt_transform Transform. + * @protected + */ +GVol.renderer.canvas.Layer.prototype.preCompose = function(context, frameState, opt_transform) { + this.dispatchComposeEvent_(GVol.render.EventType.PRECOMPOSE, context, + frameState, opt_transform); +}; + + +/** + * @param {CanvasRenderingContext2D} context Context. + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.Transform=} opt_transform Transform. + * @protected + */ +GVol.renderer.canvas.Layer.prototype.dispatchRenderEvent = function(context, frameState, opt_transform) { + this.dispatchComposeEvent_(GVol.render.EventType.RENDER, context, + frameState, opt_transform); +}; + + +/** + * @param {GVolx.FrameState} frameState Frame state. + * @param {number} offsetX Offset on the x-axis in view coordinates. + * @protected + * @return {!GVol.Transform} Transform. + */ +GVol.renderer.canvas.Layer.prototype.getTransform = function(frameState, offsetX) { + var viewState = frameState.viewState; + var pixelRatio = frameState.pixelRatio; + var dx1 = pixelRatio * frameState.size[0] / 2; + var dy1 = pixelRatio * frameState.size[1] / 2; + var sx = pixelRatio / viewState.resGVolution; + var sy = -sx; + var angle = -viewState.rotation; + var dx2 = -viewState.center[0] + offsetX; + var dy2 = -viewState.center[1]; + return GVol.transform.compose(this.transform_, dx1, dy1, sx, sy, angle, dx2, dy2); +}; + + +/** + * @abstract + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.LayerState} layerState Layer state. + * @param {CanvasRenderingContext2D} context Context. + */ +GVol.renderer.canvas.Layer.prototype.composeFrame = function(frameState, layerState, context) {}; + +/** + * @abstract + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.LayerState} layerState Layer state. + * @return {boGVolean} whether composeFrame should be called. + */ +GVol.renderer.canvas.Layer.prototype.prepareFrame = function(frameState, layerState) {}; + +goog.provide('GVol.renderer.vector'); + +goog.require('GVol'); +goog.require('GVol.ImageState'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.render.ReplayType'); + + +/** + * @param {GVol.Feature|GVol.render.Feature} feature1 Feature 1. + * @param {GVol.Feature|GVol.render.Feature} feature2 Feature 2. + * @return {number} Order. + */ +GVol.renderer.vector.defaultOrder = function(feature1, feature2) { + return GVol.getUid(feature1) - GVol.getUid(feature2); +}; + + +/** + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @return {number} Squared pixel tGVolerance. + */ +GVol.renderer.vector.getSquaredTGVolerance = function(resGVolution, pixelRatio) { + var tGVolerance = GVol.renderer.vector.getTGVolerance(resGVolution, pixelRatio); + return tGVolerance * tGVolerance; +}; + + +/** + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @return {number} Pixel tGVolerance. + */ +GVol.renderer.vector.getTGVolerance = function(resGVolution, pixelRatio) { + return GVol.SIMPLIFY_TOLERANCE * resGVolution / pixelRatio; +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.geom.Circle} geometry Geometry. + * @param {GVol.style.Style} style Style. + * @param {GVol.Feature} feature Feature. + * @private + */ +GVol.renderer.vector.renderCircleGeometry_ = function(replayGroup, geometry, style, feature) { + var fillStyle = style.getFill(); + var strokeStyle = style.getStroke(); + if (fillStyle || strokeStyle) { + var circleReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.CIRCLE); + circleReplay.setFillStrokeStyle(fillStyle, strokeStyle); + circleReplay.drawCircle(geometry, feature); + } + var textStyle = style.getText(); + if (textStyle) { + var textReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.TEXT); + textReplay.setTextStyle(textStyle); + textReplay.drawText(geometry.getCenter(), 0, 2, 2, geometry, feature); + } +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {GVol.style.Style} style Style. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @param {function(this: T, GVol.events.Event)} listener Listener function. + * @param {T} thisArg Value to use as `this` when executing `listener`. + * @return {boGVolean} `true` if style is loading. + * @template T + */ +GVol.renderer.vector.renderFeature = function( + replayGroup, feature, style, squaredTGVolerance, listener, thisArg) { + var loading = false; + var imageStyle, imageState; + imageStyle = style.getImage(); + if (imageStyle) { + imageState = imageStyle.getImageState(); + if (imageState == GVol.ImageState.LOADED || + imageState == GVol.ImageState.ERROR) { + imageStyle.unlistenImageChange(listener, thisArg); + } else { + if (imageState == GVol.ImageState.IDLE) { + imageStyle.load(); + } + imageState = imageStyle.getImageState(); + imageStyle.listenImageChange(listener, thisArg); + loading = true; + } + } + GVol.renderer.vector.renderFeature_(replayGroup, feature, style, + squaredTGVolerance); + return loading; +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {GVol.style.Style} style Style. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @private + */ +GVol.renderer.vector.renderFeature_ = function( + replayGroup, feature, style, squaredTGVolerance) { + var geometry = style.getGeometryFunction()(feature); + if (!geometry) { + return; + } + var simplifiedGeometry = geometry.getSimplifiedGeometry(squaredTGVolerance); + var renderer = style.getRenderer(); + if (renderer) { + GVol.renderer.vector.renderGeometry_(replayGroup, simplifiedGeometry, style, feature); + } else { + var geometryRenderer = + GVol.renderer.vector.GEOMETRY_RENDERERS_[simplifiedGeometry.getType()]; + geometryRenderer(replayGroup, simplifiedGeometry, style, feature); + } +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.geom.Geometry} geometry Geometry. + * @param {GVol.style.Style} style Style. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @private + */ +GVol.renderer.vector.renderGeometry_ = function(replayGroup, geometry, style, feature) { + if (geometry.getType() == GVol.geom.GeometryType.GEOMETRY_COLLECTION) { + var geometries = /** @type {GVol.geom.GeometryCGVollection} */ (geometry).getGeometries(); + for (var i = 0, ii = geometries.length; i < ii; ++i) { + GVol.renderer.vector.renderGeometry_(replayGroup, geometries[i], style, feature); + } + return; + } + var replay = replayGroup.getReplay(style.getZIndex(), GVol.render.ReplayType.DEFAULT); + replay.drawCustom(/** @type {GVol.geom.SimpleGeometry} */ (geometry), feature, style.getRenderer()); +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.geom.GeometryCGVollection} geometry Geometry. + * @param {GVol.style.Style} style Style. + * @param {GVol.Feature} feature Feature. + * @private + */ +GVol.renderer.vector.renderGeometryCGVollectionGeometry_ = function(replayGroup, geometry, style, feature) { + var geometries = geometry.getGeometriesArray(); + var i, ii; + for (i = 0, ii = geometries.length; i < ii; ++i) { + var geometryRenderer = + GVol.renderer.vector.GEOMETRY_RENDERERS_[geometries[i].getType()]; + geometryRenderer(replayGroup, geometries[i], style, feature); + } +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.geom.LineString|GVol.render.Feature} geometry Geometry. + * @param {GVol.style.Style} style Style. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @private + */ +GVol.renderer.vector.renderLineStringGeometry_ = function(replayGroup, geometry, style, feature) { + var strokeStyle = style.getStroke(); + if (strokeStyle) { + var lineStringReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.LINE_STRING); + lineStringReplay.setFillStrokeStyle(null, strokeStyle); + lineStringReplay.drawLineString(geometry, feature); + } + var textStyle = style.getText(); + if (textStyle) { + var textReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.TEXT); + textReplay.setTextStyle(textStyle); + textReplay.drawText(geometry.getFlatMidpoint(), 0, 2, 2, geometry, feature); + } +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.geom.MultiLineString|GVol.render.Feature} geometry Geometry. + * @param {GVol.style.Style} style Style. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @private + */ +GVol.renderer.vector.renderMultiLineStringGeometry_ = function(replayGroup, geometry, style, feature) { + var strokeStyle = style.getStroke(); + if (strokeStyle) { + var lineStringReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.LINE_STRING); + lineStringReplay.setFillStrokeStyle(null, strokeStyle); + lineStringReplay.drawMultiLineString(geometry, feature); + } + var textStyle = style.getText(); + if (textStyle) { + var textReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.TEXT); + textReplay.setTextStyle(textStyle); + var flatMidpointCoordinates = geometry.getFlatMidpoints(); + textReplay.drawText(flatMidpointCoordinates, 0, + flatMidpointCoordinates.length, 2, geometry, feature); + } +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.geom.MultiPGVolygon} geometry Geometry. + * @param {GVol.style.Style} style Style. + * @param {GVol.Feature} feature Feature. + * @private + */ +GVol.renderer.vector.renderMultiPGVolygonGeometry_ = function(replayGroup, geometry, style, feature) { + var fillStyle = style.getFill(); + var strokeStyle = style.getStroke(); + if (strokeStyle || fillStyle) { + var pGVolygonReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.POLYGON); + pGVolygonReplay.setFillStrokeStyle(fillStyle, strokeStyle); + pGVolygonReplay.drawMultiPGVolygon(geometry, feature); + } + var textStyle = style.getText(); + if (textStyle) { + var textReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.TEXT); + textReplay.setTextStyle(textStyle); + var flatInteriorPointCoordinates = geometry.getFlatInteriorPoints(); + textReplay.drawText(flatInteriorPointCoordinates, 0, + flatInteriorPointCoordinates.length, 2, geometry, feature); + } +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.geom.Point|GVol.render.Feature} geometry Geometry. + * @param {GVol.style.Style} style Style. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @private + */ +GVol.renderer.vector.renderPointGeometry_ = function(replayGroup, geometry, style, feature) { + var imageStyle = style.getImage(); + if (imageStyle) { + if (imageStyle.getImageState() != GVol.ImageState.LOADED) { + return; + } + var imageReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.IMAGE); + imageReplay.setImageStyle(imageStyle); + imageReplay.drawPoint(geometry, feature); + } + var textStyle = style.getText(); + if (textStyle) { + var textReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.TEXT); + textReplay.setTextStyle(textStyle); + textReplay.drawText(geometry.getFlatCoordinates(), 0, 2, 2, geometry, + feature); + } +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.geom.MultiPoint|GVol.render.Feature} geometry Geometry. + * @param {GVol.style.Style} style Style. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @private + */ +GVol.renderer.vector.renderMultiPointGeometry_ = function(replayGroup, geometry, style, feature) { + var imageStyle = style.getImage(); + if (imageStyle) { + if (imageStyle.getImageState() != GVol.ImageState.LOADED) { + return; + } + var imageReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.IMAGE); + imageReplay.setImageStyle(imageStyle); + imageReplay.drawMultiPoint(geometry, feature); + } + var textStyle = style.getText(); + if (textStyle) { + var textReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.TEXT); + textReplay.setTextStyle(textStyle); + var flatCoordinates = geometry.getFlatCoordinates(); + textReplay.drawText(flatCoordinates, 0, flatCoordinates.length, + geometry.getStride(), geometry, feature); + } +}; + + +/** + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + * @param {GVol.geom.PGVolygon|GVol.render.Feature} geometry Geometry. + * @param {GVol.style.Style} style Style. + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @private + */ +GVol.renderer.vector.renderPGVolygonGeometry_ = function(replayGroup, geometry, style, feature) { + var fillStyle = style.getFill(); + var strokeStyle = style.getStroke(); + if (fillStyle || strokeStyle) { + var pGVolygonReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.POLYGON); + pGVolygonReplay.setFillStrokeStyle(fillStyle, strokeStyle); + pGVolygonReplay.drawPGVolygon(geometry, feature); + } + var textStyle = style.getText(); + if (textStyle) { + var textReplay = replayGroup.getReplay( + style.getZIndex(), GVol.render.ReplayType.TEXT); + textReplay.setTextStyle(textStyle); + textReplay.drawText( + geometry.getFlatInteriorPoint(), 0, 2, 2, geometry, feature); + } +}; + + +/** + * @const + * @private + * @type {Object.<GVol.geom.GeometryType, + * function(GVol.render.ReplayGroup, GVol.geom.Geometry, + * GVol.style.Style, Object)>} + */ +GVol.renderer.vector.GEOMETRY_RENDERERS_ = { + 'Point': GVol.renderer.vector.renderPointGeometry_, + 'LineString': GVol.renderer.vector.renderLineStringGeometry_, + 'PGVolygon': GVol.renderer.vector.renderPGVolygonGeometry_, + 'MultiPoint': GVol.renderer.vector.renderMultiPointGeometry_, + 'MultiLineString': GVol.renderer.vector.renderMultiLineStringGeometry_, + 'MultiPGVolygon': GVol.renderer.vector.renderMultiPGVolygonGeometry_, + 'GeometryCGVollection': GVol.renderer.vector.renderGeometryCGVollectionGeometry_, + 'Circle': GVol.renderer.vector.renderCircleGeometry_ +}; + +goog.provide('GVol.renderer.canvas.VectorLayer'); + +goog.require('GVol'); +goog.require('GVol.ViewHint'); +goog.require('GVol.dom'); +goog.require('GVol.extent'); +goog.require('GVol.render.EventType'); +goog.require('GVol.render.canvas'); +goog.require('GVol.render.canvas.ReplayGroup'); +goog.require('GVol.renderer.canvas.Layer'); +goog.require('GVol.renderer.vector'); + + +/** + * @constructor + * @extends {GVol.renderer.canvas.Layer} + * @param {GVol.layer.Vector} vectorLayer Vector layer. + */ +GVol.renderer.canvas.VectorLayer = function(vectorLayer) { + + GVol.renderer.canvas.Layer.call(this, vectorLayer); + + /** + * @private + * @type {boGVolean} + */ + this.dirty_ = false; + + /** + * @private + * @type {number} + */ + this.renderedRevision_ = -1; + + /** + * @private + * @type {number} + */ + this.renderedResGVolution_ = NaN; + + /** + * @private + * @type {GVol.Extent} + */ + this.renderedExtent_ = GVol.extent.createEmpty(); + + /** + * @private + * @type {function(GVol.Feature, GVol.Feature): number|null} + */ + this.renderedRenderOrder_ = null; + + /** + * @private + * @type {GVol.render.canvas.ReplayGroup} + */ + this.replayGroup_ = null; + + /** + * @private + * @type {CanvasRenderingContext2D} + */ + this.context_ = GVol.dom.createCanvasContext2D(); + +}; +GVol.inherits(GVol.renderer.canvas.VectorLayer, GVol.renderer.canvas.Layer); + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.VectorLayer.prototype.composeFrame = function(frameState, layerState, context) { + + var extent = frameState.extent; + var pixelRatio = frameState.pixelRatio; + var skippedFeatureUids = layerState.managed ? + frameState.skippedFeatureUids : {}; + var viewState = frameState.viewState; + var projection = viewState.projection; + var rotation = viewState.rotation; + var projectionExtent = projection.getExtent(); + var vectorSource = /** @type {GVol.source.Vector} */ (this.getLayer().getSource()); + + var transform = this.getTransform(frameState, 0); + + this.preCompose(context, frameState, transform); + + // clipped rendering if layer extent is set + var clipExtent = layerState.extent; + var clipped = clipExtent !== undefined; + if (clipped) { + this.clip(context, frameState, /** @type {GVol.Extent} */ (clipExtent)); + } + var replayGroup = this.replayGroup_; + if (replayGroup && !replayGroup.isEmpty()) { + var layer = this.getLayer(); + var drawOffsetX = 0; + var drawOffsetY = 0; + var replayContext; + var transparentLayer = layerState.opacity !== 1; + var hasRenderListeners = layer.hasListener(GVol.render.EventType.RENDER); + if (transparentLayer || hasRenderListeners) { + var drawWidth = context.canvas.width; + var drawHeight = context.canvas.height; + if (rotation) { + var drawSize = Math.round(Math.sqrt(drawWidth * drawWidth + drawHeight * drawHeight)); + drawOffsetX = (drawSize - drawWidth) / 2; + drawOffsetY = (drawSize - drawHeight) / 2; + drawWidth = drawHeight = drawSize; + } + // resize and clear + this.context_.canvas.width = drawWidth; + this.context_.canvas.height = drawHeight; + replayContext = this.context_; + } else { + replayContext = context; + } + + var alpha = replayContext.globalAlpha; + if (!transparentLayer) { + // for performance reasons, context.save / context.restore is not used + // to save and restore the transformation matrix and the opacity. + // see http://jsperf.com/context-save-restore-versus-variable + replayContext.globalAlpha = layerState.opacity; + } + + if (replayContext != context) { + replayContext.translate(drawOffsetX, drawOffsetY); + } + + var width = frameState.size[0] * pixelRatio; + var height = frameState.size[1] * pixelRatio; + GVol.render.canvas.rotateAtOffset(replayContext, -rotation, + width / 2, height / 2); + replayGroup.replay(replayContext, pixelRatio, transform, rotation, + skippedFeatureUids); + if (vectorSource.getWrapX() && projection.canWrapX() && + !GVol.extent.containsExtent(projectionExtent, extent)) { + var startX = extent[0]; + var worldWidth = GVol.extent.getWidth(projectionExtent); + var world = 0; + var offsetX; + while (startX < projectionExtent[0]) { + --world; + offsetX = worldWidth * world; + transform = this.getTransform(frameState, offsetX); + replayGroup.replay(replayContext, pixelRatio, transform, rotation, + skippedFeatureUids); + startX += worldWidth; + } + world = 0; + startX = extent[2]; + while (startX > projectionExtent[2]) { + ++world; + offsetX = worldWidth * world; + transform = this.getTransform(frameState, offsetX); + replayGroup.replay(replayContext, pixelRatio, transform, rotation, + skippedFeatureUids); + startX -= worldWidth; + } + // restore original transform for render and compose events + transform = this.getTransform(frameState, 0); + } + GVol.render.canvas.rotateAtOffset(replayContext, rotation, + width / 2, height / 2); + + if (replayContext != context) { + if (hasRenderListeners) { + this.dispatchRenderEvent(replayContext, frameState, transform); + } + if (transparentLayer) { + var mainContextAlpha = context.globalAlpha; + context.globalAlpha = layerState.opacity; + context.drawImage(replayContext.canvas, -drawOffsetX, -drawOffsetY); + context.globalAlpha = mainContextAlpha; + } else { + context.drawImage(replayContext.canvas, -drawOffsetX, -drawOffsetY); + } + replayContext.translate(-drawOffsetX, -drawOffsetY); + } + + if (!transparentLayer) { + replayContext.globalAlpha = alpha; + } + } + + if (clipped) { + context.restore(); + } + this.postCompose(context, frameState, layerState, transform); + +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.VectorLayer.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTGVolerance, callback, thisArg) { + if (!this.replayGroup_) { + return undefined; + } else { + var resGVolution = frameState.viewState.resGVolution; + var rotation = frameState.viewState.rotation; + var layer = this.getLayer(); + /** @type {Object.<string, boGVolean>} */ + var features = {}; + return this.replayGroup_.forEachFeatureAtCoordinate(coordinate, resGVolution, + rotation, hitTGVolerance, {}, + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @return {?} Callback result. + */ + function(feature) { + var key = GVol.getUid(feature).toString(); + if (!(key in features)) { + features[key] = true; + return callback.call(thisArg, feature, layer); + } + }); + } +}; + + +/** + * Handle changes in image style state. + * @param {GVol.events.Event} event Image style change event. + * @private + */ +GVol.renderer.canvas.VectorLayer.prototype.handleStyleImageChange_ = function(event) { + this.renderIfReadyAndVisible(); +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.VectorLayer.prototype.prepareFrame = function(frameState, layerState) { + + var vectorLayer = /** @type {GVol.layer.Vector} */ (this.getLayer()); + var vectorSource = vectorLayer.getSource(); + + this.updateAttributions( + frameState.attributions, vectorSource.getAttributions()); + this.updateLogos(frameState, vectorSource); + + var animating = frameState.viewHints[GVol.ViewHint.ANIMATING]; + var interacting = frameState.viewHints[GVol.ViewHint.INTERACTING]; + var updateWhileAnimating = vectorLayer.getUpdateWhileAnimating(); + var updateWhileInteracting = vectorLayer.getUpdateWhileInteracting(); + + if (!this.dirty_ && (!updateWhileAnimating && animating) || + (!updateWhileInteracting && interacting)) { + return true; + } + + var frameStateExtent = frameState.extent; + var viewState = frameState.viewState; + var projection = viewState.projection; + var resGVolution = viewState.resGVolution; + var pixelRatio = frameState.pixelRatio; + var vectorLayerRevision = vectorLayer.getRevision(); + var vectorLayerRenderBuffer = vectorLayer.getRenderBuffer(); + var vectorLayerRenderOrder = vectorLayer.getRenderOrder(); + + if (vectorLayerRenderOrder === undefined) { + vectorLayerRenderOrder = GVol.renderer.vector.defaultOrder; + } + + var extent = GVol.extent.buffer(frameStateExtent, + vectorLayerRenderBuffer * resGVolution); + var projectionExtent = viewState.projection.getExtent(); + + if (vectorSource.getWrapX() && viewState.projection.canWrapX() && + !GVol.extent.containsExtent(projectionExtent, frameState.extent)) { + // For the replay group, we need an extent that intersects the real world + // (-180° to +180°). To support geometries in a coordinate range from -540° + // to +540°, we add at least 1 world width on each side of the projection + // extent. If the viewport is wider than the world, we need to add half of + // the viewport width to make sure we cover the whGVole viewport. + var worldWidth = GVol.extent.getWidth(projectionExtent); + var buffer = Math.max(GVol.extent.getWidth(extent) / 2, worldWidth); + extent[0] = projectionExtent[0] - buffer; + extent[2] = projectionExtent[2] + buffer; + } + + if (!this.dirty_ && + this.renderedResGVolution_ == resGVolution && + this.renderedRevision_ == vectorLayerRevision && + this.renderedRenderOrder_ == vectorLayerRenderOrder && + GVol.extent.containsExtent(this.renderedExtent_, extent)) { + return true; + } + + this.replayGroup_ = null; + + this.dirty_ = false; + + var replayGroup = new GVol.render.canvas.ReplayGroup( + GVol.renderer.vector.getTGVolerance(resGVolution, pixelRatio), extent, + resGVolution, vectorSource.getOverlaps(), vectorLayer.getRenderBuffer()); + vectorSource.loadFeatures(extent, resGVolution, projection); + /** + * @param {GVol.Feature} feature Feature. + * @this {GVol.renderer.canvas.VectorLayer} + */ + var renderFeature = function(feature) { + var styles; + var styleFunction = feature.getStyleFunction(); + if (styleFunction) { + styles = styleFunction.call(feature, resGVolution); + } else { + styleFunction = vectorLayer.getStyleFunction(); + if (styleFunction) { + styles = styleFunction(feature, resGVolution); + } + } + if (styles) { + var dirty = this.renderFeature( + feature, resGVolution, pixelRatio, styles, replayGroup); + this.dirty_ = this.dirty_ || dirty; + } + }.bind(this); + if (vectorLayerRenderOrder) { + /** @type {Array.<GVol.Feature>} */ + var features = []; + vectorSource.forEachFeatureInExtent(extent, + /** + * @param {GVol.Feature} feature Feature. + */ + function(feature) { + features.push(feature); + }, this); + features.sort(vectorLayerRenderOrder); + for (var i = 0, ii = features.length; i < ii; ++i) { + renderFeature(features[i]); + } + } else { + vectorSource.forEachFeatureInExtent(extent, renderFeature, this); + } + replayGroup.finish(); + + this.renderedResGVolution_ = resGVolution; + this.renderedRevision_ = vectorLayerRevision; + this.renderedRenderOrder_ = vectorLayerRenderOrder; + this.renderedExtent_ = extent; + this.replayGroup_ = replayGroup; + + return true; +}; + + +/** + * @param {GVol.Feature} feature Feature. + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {(GVol.style.Style|Array.<GVol.style.Style>)} styles The style or array of + * styles. + * @param {GVol.render.canvas.ReplayGroup} replayGroup Replay group. + * @return {boGVolean} `true` if an image is loading. + */ +GVol.renderer.canvas.VectorLayer.prototype.renderFeature = function(feature, resGVolution, pixelRatio, styles, replayGroup) { + if (!styles) { + return false; + } + var loading = false; + if (Array.isArray(styles)) { + for (var i = 0, ii = styles.length; i < ii; ++i) { + loading = GVol.renderer.vector.renderFeature( + replayGroup, feature, styles[i], + GVol.renderer.vector.getSquaredTGVolerance(resGVolution, pixelRatio), + this.handleStyleImageChange_, this) || loading; + } + } else { + loading = GVol.renderer.vector.renderFeature( + replayGroup, feature, styles, + GVol.renderer.vector.getSquaredTGVolerance(resGVolution, pixelRatio), + this.handleStyleImageChange_, this) || loading; + } + return loading; +}; + +// This file is automatically generated, do not edit +/* eslint openlayers-internal/no-missing-requires: 0 */ +goog.provide('GVol.renderer.webgl.defaultmapshader'); + +goog.require('GVol'); +goog.require('GVol.webgl.Fragment'); +goog.require('GVol.webgl.Vertex'); + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.webgl.Fragment} + * @struct + */ + GVol.renderer.webgl.defaultmapshader.Fragment = function() { + GVol.webgl.Fragment.call(this, GVol.renderer.webgl.defaultmapshader.Fragment.SOURCE); + }; + GVol.inherits(GVol.renderer.webgl.defaultmapshader.Fragment, GVol.webgl.Fragment); + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.defaultmapshader.Fragment.DEBUG_SOURCE = 'precision mediump float;\nvarying vec2 v_texCoord;\n\n\nuniform float u_opacity;\nuniform sampler2D u_texture;\n\nvoid main(void) {\n vec4 texCGVolor = texture2D(u_texture, v_texCoord);\n gl_FragCGVolor.rgb = texCGVolor.rgb;\n gl_FragCGVolor.a = texCGVolor.a * u_opacity;\n}\n'; + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.defaultmapshader.Fragment.OPTIMIZED_SOURCE = 'precision mediump float;varying vec2 a;uniform float f;uniform sampler2D g;void main(void){vec4 texCGVolor=texture2D(g,a);gl_FragCGVolor.rgb=texCGVolor.rgb;gl_FragCGVolor.a=texCGVolor.a*f;}'; + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.defaultmapshader.Fragment.SOURCE = GVol.DEBUG_WEBGL ? + GVol.renderer.webgl.defaultmapshader.Fragment.DEBUG_SOURCE : + GVol.renderer.webgl.defaultmapshader.Fragment.OPTIMIZED_SOURCE; + + + GVol.renderer.webgl.defaultmapshader.fragment = new GVol.renderer.webgl.defaultmapshader.Fragment(); + + + /** + * @constructor + * @extends {GVol.webgl.Vertex} + * @struct + */ + GVol.renderer.webgl.defaultmapshader.Vertex = function() { + GVol.webgl.Vertex.call(this, GVol.renderer.webgl.defaultmapshader.Vertex.SOURCE); + }; + GVol.inherits(GVol.renderer.webgl.defaultmapshader.Vertex, GVol.webgl.Vertex); + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.defaultmapshader.Vertex.DEBUG_SOURCE = 'varying vec2 v_texCoord;\n\n\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\n\nuniform mat4 u_texCoordMatrix;\nuniform mat4 u_projectionMatrix;\n\nvoid main(void) {\n gl_Position = u_projectionMatrix * vec4(a_position, 0., 1.);\n v_texCoord = (u_texCoordMatrix * vec4(a_texCoord, 0., 1.)).st;\n}\n\n\n'; + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.defaultmapshader.Vertex.OPTIMIZED_SOURCE = 'varying vec2 a;attribute vec2 b;attribute vec2 c;uniform mat4 d;uniform mat4 e;void main(void){gl_Position=e*vec4(b,0.,1.);a=(d*vec4(c,0.,1.)).st;}'; + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.defaultmapshader.Vertex.SOURCE = GVol.DEBUG_WEBGL ? + GVol.renderer.webgl.defaultmapshader.Vertex.DEBUG_SOURCE : + GVol.renderer.webgl.defaultmapshader.Vertex.OPTIMIZED_SOURCE; + + + GVol.renderer.webgl.defaultmapshader.vertex = new GVol.renderer.webgl.defaultmapshader.Vertex(); + + + /** + * @constructor + * @param {WebGLRenderingContext} gl GL. + * @param {WebGLProgram} program Program. + * @struct + */ + GVol.renderer.webgl.defaultmapshader.Locations = function(gl, program) { + + /** + * @type {WebGLUniformLocation} + */ + this.u_opacity = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_opacity' : 'f'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_projectionMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_projectionMatrix' : 'e'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_texCoordMatrix = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_texCoordMatrix' : 'd'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_texture = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_texture' : 'g'); + + /** + * @type {number} + */ + this.a_position = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_position' : 'b'); + + /** + * @type {number} + */ + this.a_texCoord = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_texCoord' : 'c'); + }; + +} + +goog.provide('GVol.renderer.webgl.Layer'); + +goog.require('GVol'); +goog.require('GVol.render.Event'); +goog.require('GVol.render.EventType'); +goog.require('GVol.render.webgl.Immediate'); +goog.require('GVol.renderer.Layer'); +goog.require('GVol.renderer.webgl.defaultmapshader'); +goog.require('GVol.transform'); +goog.require('GVol.vec.Mat4'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Buffer'); +goog.require('GVol.webgl.Context'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @abstract + * @extends {GVol.renderer.Layer} + * @param {GVol.renderer.webgl.Map} mapRenderer Map renderer. + * @param {GVol.layer.Layer} layer Layer. + */ + GVol.renderer.webgl.Layer = function(mapRenderer, layer) { + + GVol.renderer.Layer.call(this, layer); + + /** + * @protected + * @type {GVol.renderer.webgl.Map} + */ + this.mapRenderer = mapRenderer; + + /** + * @private + * @type {GVol.webgl.Buffer} + */ + this.arrayBuffer_ = new GVol.webgl.Buffer([ + -1, -1, 0, 0, + 1, -1, 1, 0, + -1, 1, 0, 1, + 1, 1, 1, 1 + ]); + + /** + * @protected + * @type {WebGLTexture} + */ + this.texture = null; + + /** + * @protected + * @type {WebGLFramebuffer} + */ + this.framebuffer = null; + + /** + * @protected + * @type {number|undefined} + */ + this.framebufferDimension = undefined; + + /** + * @protected + * @type {GVol.Transform} + */ + this.texCoordMatrix = GVol.transform.create(); + + /** + * @protected + * @type {GVol.Transform} + */ + this.projectionMatrix = GVol.transform.create(); + + /** + * @type {Array.<number>} + * @private + */ + this.tmpMat4_ = GVol.vec.Mat4.create(); + + /** + * @private + * @type {GVol.renderer.webgl.defaultmapshader.Locations} + */ + this.defaultLocations_ = null; + + }; + GVol.inherits(GVol.renderer.webgl.Layer, GVol.renderer.Layer); + + + /** + * @param {GVolx.FrameState} frameState Frame state. + * @param {number} framebufferDimension Framebuffer dimension. + * @protected + */ + GVol.renderer.webgl.Layer.prototype.bindFramebuffer = function(frameState, framebufferDimension) { + + var gl = this.mapRenderer.getGL(); + + if (this.framebufferDimension === undefined || + this.framebufferDimension != framebufferDimension) { + /** + * @param {WebGLRenderingContext} gl GL. + * @param {WebGLFramebuffer} framebuffer Framebuffer. + * @param {WebGLTexture} texture Texture. + */ + var postRenderFunction = function(gl, framebuffer, texture) { + if (!gl.isContextLost()) { + gl.deleteFramebuffer(framebuffer); + gl.deleteTexture(texture); + } + }.bind(null, gl, this.framebuffer, this.texture); + + frameState.postRenderFunctions.push( + /** @type {GVol.PostRenderFunction} */ (postRenderFunction) + ); + + var texture = GVol.webgl.Context.createEmptyTexture( + gl, framebufferDimension, framebufferDimension); + + var framebuffer = gl.createFramebuffer(); + gl.bindFramebuffer(GVol.webgl.FRAMEBUFFER, framebuffer); + gl.framebufferTexture2D(GVol.webgl.FRAMEBUFFER, + GVol.webgl.COLOR_ATTACHMENT0, GVol.webgl.TEXTURE_2D, texture, 0); + + this.texture = texture; + this.framebuffer = framebuffer; + this.framebufferDimension = framebufferDimension; + + } else { + gl.bindFramebuffer(GVol.webgl.FRAMEBUFFER, this.framebuffer); + } + + }; + + + /** + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.LayerState} layerState Layer state. + * @param {GVol.webgl.Context} context Context. + */ + GVol.renderer.webgl.Layer.prototype.composeFrame = function(frameState, layerState, context) { + + this.dispatchComposeEvent_( + GVol.render.EventType.PRECOMPOSE, context, frameState); + + context.bindBuffer(GVol.webgl.ARRAY_BUFFER, this.arrayBuffer_); + + var gl = context.getGL(); + + var fragmentShader = GVol.renderer.webgl.defaultmapshader.fragment; + var vertexShader = GVol.renderer.webgl.defaultmapshader.vertex; + + var program = context.getProgram(fragmentShader, vertexShader); + + var locations; + if (!this.defaultLocations_) { + // eslint-disable-next-line openlayers-internal/no-missing-requires + locations = new GVol.renderer.webgl.defaultmapshader.Locations(gl, program); + this.defaultLocations_ = locations; + } else { + locations = this.defaultLocations_; + } + + if (context.useProgram(program)) { + gl.enableVertexAttribArray(locations.a_position); + gl.vertexAttribPointer( + locations.a_position, 2, GVol.webgl.FLOAT, false, 16, 0); + gl.enableVertexAttribArray(locations.a_texCoord); + gl.vertexAttribPointer( + locations.a_texCoord, 2, GVol.webgl.FLOAT, false, 16, 8); + gl.uniform1i(locations.u_texture, 0); + } + + gl.uniformMatrix4fv(locations.u_texCoordMatrix, false, + GVol.vec.Mat4.fromTransform(this.tmpMat4_, this.getTexCoordMatrix())); + gl.uniformMatrix4fv(locations.u_projectionMatrix, false, + GVol.vec.Mat4.fromTransform(this.tmpMat4_, this.getProjectionMatrix())); + gl.uniform1f(locations.u_opacity, layerState.opacity); + gl.bindTexture(GVol.webgl.TEXTURE_2D, this.getTexture()); + gl.drawArrays(GVol.webgl.TRIANGLE_STRIP, 0, 4); + + this.dispatchComposeEvent_( + GVol.render.EventType.POSTCOMPOSE, context, frameState); + + }; + + + /** + * @param {GVol.render.EventType} type Event type. + * @param {GVol.webgl.Context} context WebGL context. + * @param {GVolx.FrameState} frameState Frame state. + * @private + */ + GVol.renderer.webgl.Layer.prototype.dispatchComposeEvent_ = function(type, context, frameState) { + var layer = this.getLayer(); + if (layer.hasListener(type)) { + var viewState = frameState.viewState; + var resGVolution = viewState.resGVolution; + var pixelRatio = frameState.pixelRatio; + var extent = frameState.extent; + var center = viewState.center; + var rotation = viewState.rotation; + var size = frameState.size; + + var render = new GVol.render.webgl.Immediate( + context, center, resGVolution, rotation, size, extent, pixelRatio); + var composeEvent = new GVol.render.Event( + type, render, frameState, null, context); + layer.dispatchEvent(composeEvent); + } + }; + + + /** + * @return {!GVol.Transform} Matrix. + */ + GVol.renderer.webgl.Layer.prototype.getTexCoordMatrix = function() { + return this.texCoordMatrix; + }; + + + /** + * @return {WebGLTexture} Texture. + */ + GVol.renderer.webgl.Layer.prototype.getTexture = function() { + return this.texture; + }; + + + /** + * @return {!GVol.Transform} Matrix. + */ + GVol.renderer.webgl.Layer.prototype.getProjectionMatrix = function() { + return this.projectionMatrix; + }; + + + /** + * Handle webglcontextlost. + */ + GVol.renderer.webgl.Layer.prototype.handleWebGLContextLost = function() { + this.texture = null; + this.framebuffer = null; + this.framebufferDimension = undefined; + }; + + + /** + * @abstract + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.LayerState} layerState Layer state. + * @param {GVol.webgl.Context} context Context. + * @return {boGVolean} whether composeFrame should be called. + */ + GVol.renderer.webgl.Layer.prototype.prepareFrame = function(frameState, layerState, context) {}; + + + /** + * @abstract + * @param {GVol.Pixel} pixel Pixel. + * @param {GVolx.FrameState} frameState FrameState. + * @param {function(this: S, GVol.layer.Layer, (Uint8ClampedArray|Uint8Array)): T} callback Layer + * callback. + * @param {S} thisArg Value to use as `this` when executing `callback`. + * @return {T|undefined} Callback result. + * @template S,T,U + */ + GVol.renderer.webgl.Layer.prototype.forEachLayerAtPixel = function(pixel, frameState, callback, thisArg) {}; + +} + +goog.provide('GVol.renderer.webgl.VectorLayer'); + +goog.require('GVol'); +goog.require('GVol.ViewHint'); +goog.require('GVol.extent'); +goog.require('GVol.render.webgl.ReplayGroup'); +goog.require('GVol.renderer.vector'); +goog.require('GVol.renderer.webgl.Layer'); +goog.require('GVol.transform'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.renderer.webgl.Layer} + * @param {GVol.renderer.webgl.Map} mapRenderer Map renderer. + * @param {GVol.layer.Vector} vectorLayer Vector layer. + */ + GVol.renderer.webgl.VectorLayer = function(mapRenderer, vectorLayer) { + + GVol.renderer.webgl.Layer.call(this, mapRenderer, vectorLayer); + + /** + * @private + * @type {boGVolean} + */ + this.dirty_ = false; + + /** + * @private + * @type {number} + */ + this.renderedRevision_ = -1; + + /** + * @private + * @type {number} + */ + this.renderedResGVolution_ = NaN; + + /** + * @private + * @type {GVol.Extent} + */ + this.renderedExtent_ = GVol.extent.createEmpty(); + + /** + * @private + * @type {function(GVol.Feature, GVol.Feature): number|null} + */ + this.renderedRenderOrder_ = null; + + /** + * @private + * @type {GVol.render.webgl.ReplayGroup} + */ + this.replayGroup_ = null; + + /** + * The last layer state. + * @private + * @type {?GVol.LayerState} + */ + this.layerState_ = null; + + }; + GVol.inherits(GVol.renderer.webgl.VectorLayer, GVol.renderer.webgl.Layer); + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.VectorLayer.prototype.composeFrame = function(frameState, layerState, context) { + this.layerState_ = layerState; + var viewState = frameState.viewState; + var replayGroup = this.replayGroup_; + var size = frameState.size; + var pixelRatio = frameState.pixelRatio; + var gl = this.mapRenderer.getGL(); + if (replayGroup && !replayGroup.isEmpty()) { + gl.enable(gl.SCISSOR_TEST); + gl.scissor(0, 0, size[0] * pixelRatio, size[1] * pixelRatio); + replayGroup.replay(context, + viewState.center, viewState.resGVolution, viewState.rotation, + size, pixelRatio, layerState.opacity, + layerState.managed ? frameState.skippedFeatureUids : {}); + gl.disable(gl.SCISSOR_TEST); + } + + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.VectorLayer.prototype.disposeInternal = function() { + var replayGroup = this.replayGroup_; + if (replayGroup) { + var context = this.mapRenderer.getContext(); + replayGroup.getDeleteResourcesFunction(context)(); + this.replayGroup_ = null; + } + GVol.renderer.webgl.Layer.prototype.disposeInternal.call(this); + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.VectorLayer.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTGVolerance, callback, thisArg) { + if (!this.replayGroup_ || !this.layerState_) { + return undefined; + } else { + var context = this.mapRenderer.getContext(); + var viewState = frameState.viewState; + var layer = this.getLayer(); + var layerState = this.layerState_; + /** @type {Object.<string, boGVolean>} */ + var features = {}; + return this.replayGroup_.forEachFeatureAtCoordinate(coordinate, + context, viewState.center, viewState.resGVolution, viewState.rotation, + frameState.size, frameState.pixelRatio, layerState.opacity, + {}, + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @return {?} Callback result. + */ + function(feature) { + var key = GVol.getUid(feature).toString(); + if (!(key in features)) { + features[key] = true; + return callback.call(thisArg, feature, layer); + } + }); + } + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.VectorLayer.prototype.hasFeatureAtCoordinate = function(coordinate, frameState) { + if (!this.replayGroup_ || !this.layerState_) { + return false; + } else { + var context = this.mapRenderer.getContext(); + var viewState = frameState.viewState; + var layerState = this.layerState_; + return this.replayGroup_.hasFeatureAtCoordinate(coordinate, + context, viewState.center, viewState.resGVolution, viewState.rotation, + frameState.size, frameState.pixelRatio, layerState.opacity, + frameState.skippedFeatureUids); + } + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.VectorLayer.prototype.forEachLayerAtPixel = function(pixel, frameState, callback, thisArg) { + var coordinate = GVol.transform.apply( + frameState.pixelToCoordinateTransform, pixel.slice()); + var hasFeature = this.hasFeatureAtCoordinate(coordinate, frameState); + + if (hasFeature) { + return callback.call(thisArg, this.getLayer(), null); + } else { + return undefined; + } + }; + + + /** + * Handle changes in image style state. + * @param {GVol.events.Event} event Image style change event. + * @private + */ + GVol.renderer.webgl.VectorLayer.prototype.handleStyleImageChange_ = function(event) { + this.renderIfReadyAndVisible(); + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.VectorLayer.prototype.prepareFrame = function(frameState, layerState, context) { + + var vectorLayer = /** @type {GVol.layer.Vector} */ (this.getLayer()); + var vectorSource = vectorLayer.getSource(); + + this.updateAttributions( + frameState.attributions, vectorSource.getAttributions()); + this.updateLogos(frameState, vectorSource); + + var animating = frameState.viewHints[GVol.ViewHint.ANIMATING]; + var interacting = frameState.viewHints[GVol.ViewHint.INTERACTING]; + var updateWhileAnimating = vectorLayer.getUpdateWhileAnimating(); + var updateWhileInteracting = vectorLayer.getUpdateWhileInteracting(); + + if (!this.dirty_ && (!updateWhileAnimating && animating) || + (!updateWhileInteracting && interacting)) { + return true; + } + + var frameStateExtent = frameState.extent; + var viewState = frameState.viewState; + var projection = viewState.projection; + var resGVolution = viewState.resGVolution; + var pixelRatio = frameState.pixelRatio; + var vectorLayerRevision = vectorLayer.getRevision(); + var vectorLayerRenderBuffer = vectorLayer.getRenderBuffer(); + var vectorLayerRenderOrder = vectorLayer.getRenderOrder(); + + if (vectorLayerRenderOrder === undefined) { + vectorLayerRenderOrder = GVol.renderer.vector.defaultOrder; + } + + var extent = GVol.extent.buffer(frameStateExtent, + vectorLayerRenderBuffer * resGVolution); + + if (!this.dirty_ && + this.renderedResGVolution_ == resGVolution && + this.renderedRevision_ == vectorLayerRevision && + this.renderedRenderOrder_ == vectorLayerRenderOrder && + GVol.extent.containsExtent(this.renderedExtent_, extent)) { + return true; + } + + if (this.replayGroup_) { + frameState.postRenderFunctions.push( + this.replayGroup_.getDeleteResourcesFunction(context)); + } + + this.dirty_ = false; + + var replayGroup = new GVol.render.webgl.ReplayGroup( + GVol.renderer.vector.getTGVolerance(resGVolution, pixelRatio), + extent, vectorLayer.getRenderBuffer()); + vectorSource.loadFeatures(extent, resGVolution, projection); + /** + * @param {GVol.Feature} feature Feature. + * @this {GVol.renderer.webgl.VectorLayer} + */ + var renderFeature = function(feature) { + var styles; + var styleFunction = feature.getStyleFunction(); + if (styleFunction) { + styles = styleFunction.call(feature, resGVolution); + } else { + styleFunction = vectorLayer.getStyleFunction(); + if (styleFunction) { + styles = styleFunction(feature, resGVolution); + } + } + if (styles) { + var dirty = this.renderFeature( + feature, resGVolution, pixelRatio, styles, replayGroup); + this.dirty_ = this.dirty_ || dirty; + } + }; + if (vectorLayerRenderOrder) { + /** @type {Array.<GVol.Feature>} */ + var features = []; + vectorSource.forEachFeatureInExtent(extent, + /** + * @param {GVol.Feature} feature Feature. + */ + function(feature) { + features.push(feature); + }, this); + features.sort(vectorLayerRenderOrder); + features.forEach(renderFeature, this); + } else { + vectorSource.forEachFeatureInExtent(extent, renderFeature, this); + } + replayGroup.finish(context); + + this.renderedResGVolution_ = resGVolution; + this.renderedRevision_ = vectorLayerRevision; + this.renderedRenderOrder_ = vectorLayerRenderOrder; + this.renderedExtent_ = extent; + this.replayGroup_ = replayGroup; + + return true; + }; + + + /** + * @param {GVol.Feature} feature Feature. + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {(GVol.style.Style|Array.<GVol.style.Style>)} styles The style or array of + * styles. + * @param {GVol.render.webgl.ReplayGroup} replayGroup Replay group. + * @return {boGVolean} `true` if an image is loading. + */ + GVol.renderer.webgl.VectorLayer.prototype.renderFeature = function(feature, resGVolution, pixelRatio, styles, replayGroup) { + if (!styles) { + return false; + } + var loading = false; + if (Array.isArray(styles)) { + for (var i = styles.length - 1, ii = 0; i >= ii; --i) { + loading = GVol.renderer.vector.renderFeature( + replayGroup, feature, styles[i], + GVol.renderer.vector.getSquaredTGVolerance(resGVolution, pixelRatio), + this.handleStyleImageChange_, this) || loading; + } + } else { + loading = GVol.renderer.vector.renderFeature( + replayGroup, feature, styles, + GVol.renderer.vector.getSquaredTGVolerance(resGVolution, pixelRatio), + this.handleStyleImageChange_, this) || loading; + } + return loading; + }; + +} + +goog.provide('GVol.layer.Vector'); + +goog.require('GVol'); +goog.require('GVol.layer.Layer'); +goog.require('GVol.obj'); +goog.require('GVol.renderer.Type'); +goog.require('GVol.renderer.canvas.VectorLayer'); +goog.require('GVol.renderer.webgl.VectorLayer'); +goog.require('GVol.style.Style'); + + +/** + * @classdesc + * Vector data that is rendered client-side. + * Note that any property set in the options is set as a {@link GVol.Object} + * property on the layer object; for example, setting `title: 'My Title'` in the + * options means that `title` is observable, and has get/set accessors. + * + * @constructor + * @extends {GVol.layer.Layer} + * @fires GVol.render.Event + * @param {GVolx.layer.VectorOptions=} opt_options Options. + * @api + */ +GVol.layer.Vector = function(opt_options) { + var options = opt_options ? + opt_options : /** @type {GVolx.layer.VectorOptions} */ ({}); + + var baseOptions = GVol.obj.assign({}, options); + + delete baseOptions.style; + delete baseOptions.renderBuffer; + delete baseOptions.updateWhileAnimating; + delete baseOptions.updateWhileInteracting; + GVol.layer.Layer.call(this, /** @type {GVolx.layer.LayerOptions} */ (baseOptions)); + + /** + * @type {number} + * @private + */ + this.renderBuffer_ = options.renderBuffer !== undefined ? + options.renderBuffer : 100; + + /** + * User provided style. + * @type {GVol.style.Style|Array.<GVol.style.Style>|GVol.StyleFunction} + * @private + */ + this.style_ = null; + + /** + * Style function for use within the library. + * @type {GVol.StyleFunction|undefined} + * @private + */ + this.styleFunction_ = undefined; + + this.setStyle(options.style); + + /** + * @type {boGVolean} + * @private + */ + this.updateWhileAnimating_ = options.updateWhileAnimating !== undefined ? + options.updateWhileAnimating : false; + + /** + * @type {boGVolean} + * @private + */ + this.updateWhileInteracting_ = options.updateWhileInteracting !== undefined ? + options.updateWhileInteracting : false; +}; +GVol.inherits(GVol.layer.Vector, GVol.layer.Layer); + + +/** + * @inheritDoc + */ +GVol.layer.Vector.prototype.createRenderer = function(mapRenderer) { + var renderer = null; + var type = mapRenderer.getType(); + if (GVol.ENABLE_CANVAS && type === GVol.renderer.Type.CANVAS) { + renderer = new GVol.renderer.canvas.VectorLayer(this); + } else if (GVol.ENABLE_WEBGL && type === GVol.renderer.Type.WEBGL) { + renderer = new GVol.renderer.webgl.VectorLayer(/** @type {GVol.renderer.webgl.Map} */ (mapRenderer), this); + } + return renderer; +}; + + +/** + * @return {number|undefined} Render buffer. + */ +GVol.layer.Vector.prototype.getRenderBuffer = function() { + return this.renderBuffer_; +}; + + +/** + * @return {function(GVol.Feature, GVol.Feature): number|null|undefined} Render + * order. + */ +GVol.layer.Vector.prototype.getRenderOrder = function() { + return /** @type {GVol.RenderOrderFunction|null|undefined} */ ( + this.get(GVol.layer.Vector.Property_.RENDER_ORDER)); +}; + + +/** + * Return the associated {@link GVol.source.Vector vectorsource} of the layer. + * @function + * @return {GVol.source.Vector} Source. + * @api + */ +GVol.layer.Vector.prototype.getSource; + + +/** + * Get the style for features. This returns whatever was passed to the `style` + * option at construction or to the `setStyle` method. + * @return {GVol.style.Style|Array.<GVol.style.Style>|GVol.StyleFunction} + * Layer style. + * @api + */ +GVol.layer.Vector.prototype.getStyle = function() { + return this.style_; +}; + + +/** + * Get the style function. + * @return {GVol.StyleFunction|undefined} Layer style function. + * @api + */ +GVol.layer.Vector.prototype.getStyleFunction = function() { + return this.styleFunction_; +}; + + +/** + * @return {boGVolean} Whether the rendered layer should be updated while + * animating. + */ +GVol.layer.Vector.prototype.getUpdateWhileAnimating = function() { + return this.updateWhileAnimating_; +}; + + +/** + * @return {boGVolean} Whether the rendered layer should be updated while + * interacting. + */ +GVol.layer.Vector.prototype.getUpdateWhileInteracting = function() { + return this.updateWhileInteracting_; +}; + + +/** + * @param {GVol.RenderOrderFunction|null|undefined} renderOrder + * Render order. + */ +GVol.layer.Vector.prototype.setRenderOrder = function(renderOrder) { + this.set(GVol.layer.Vector.Property_.RENDER_ORDER, renderOrder); +}; + + +/** + * Set the style for features. This can be a single style object, an array + * of styles, or a function that takes a feature and resGVolution and returns + * an array of styles. If it is `undefined` the default style is used. If + * it is `null` the layer has no style (a `null` style), so only features + * that have their own styles will be rendered in the layer. See + * {@link GVol.style} for information on the default style. + * @param {GVol.style.Style|Array.<GVol.style.Style>|GVol.StyleFunction|null|undefined} + * style Layer style. + * @api + */ +GVol.layer.Vector.prototype.setStyle = function(style) { + this.style_ = style !== undefined ? style : GVol.style.Style.defaultFunction; + this.styleFunction_ = style === null ? + undefined : GVol.style.Style.createFunction(this.style_); + this.changed(); +}; + + +/** + * @enum {string} + * @private + */ +GVol.layer.Vector.Property_ = { + RENDER_ORDER: 'renderOrder' +}; + +goog.provide('GVol.loadingstrategy'); + + +/** + * Strategy function for loading all features with a single request. + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @return {Array.<GVol.Extent>} Extents. + * @api + */ +GVol.loadingstrategy.all = function(extent, resGVolution) { + return [[-Infinity, -Infinity, Infinity, Infinity]]; +}; + + +/** + * Strategy function for loading features based on the view's extent and + * resGVolution. + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @return {Array.<GVol.Extent>} Extents. + * @api + */ +GVol.loadingstrategy.bbox = function(extent, resGVolution) { + return [extent]; +}; + + +/** + * Creates a strategy function for loading features based on a tile grid. + * @param {GVol.tilegrid.TileGrid} tileGrid Tile grid. + * @return {function(GVol.Extent, number): Array.<GVol.Extent>} Loading strategy. + * @api + */ +GVol.loadingstrategy.tile = function(tileGrid) { + return ( + /** + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @return {Array.<GVol.Extent>} Extents. + */ + function(extent, resGVolution) { + var z = tileGrid.getZForResGVolution(resGVolution); + var tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z); + /** @type {Array.<GVol.Extent>} */ + var extents = []; + /** @type {GVol.TileCoord} */ + var tileCoord = [z, 0, 0]; + for (tileCoord[1] = tileRange.minX; tileCoord[1] <= tileRange.maxX; + ++tileCoord[1]) { + for (tileCoord[2] = tileRange.minY; tileCoord[2] <= tileRange.maxY; + ++tileCoord[2]) { + extents.push(tileGrid.getTileCoordExtent(tileCoord)); + } + } + return extents; + }); +}; + +goog.provide('GVol.source.Source'); + +goog.require('GVol'); +goog.require('GVol.Attribution'); +goog.require('GVol.Object'); +goog.require('GVol.proj'); +goog.require('GVol.source.State'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Base class for {@link GVol.layer.Layer} sources. + * + * A generic `change` event is triggered when the state of the source changes. + * + * @constructor + * @abstract + * @extends {GVol.Object} + * @param {GVol.SourceSourceOptions} options Source options. + * @api + */ +GVol.source.Source = function(options) { + + GVol.Object.call(this); + + /** + * @private + * @type {GVol.proj.Projection} + */ + this.projection_ = GVol.proj.get(options.projection); + + /** + * @private + * @type {Array.<GVol.Attribution>} + */ + this.attributions_ = GVol.source.Source.toAttributionsArray_(options.attributions); + + /** + * @private + * @type {string|GVolx.LogoOptions|undefined} + */ + this.logo_ = options.logo; + + /** + * @private + * @type {GVol.source.State} + */ + this.state_ = options.state !== undefined ? + options.state : GVol.source.State.READY; + + /** + * @private + * @type {boGVolean} + */ + this.wrapX_ = options.wrapX !== undefined ? options.wrapX : false; + +}; +GVol.inherits(GVol.source.Source, GVol.Object); + +/** + * Turns various ways of defining an attribution to an array of `GVol.Attributions`. + * + * @param {GVol.AttributionLike|undefined} + * attributionLike The attributions as string, array of strings, + * `GVol.Attribution`, array of `GVol.Attribution` or undefined. + * @return {Array.<GVol.Attribution>} The array of `GVol.Attribution` or null if + * `undefined` was given. + */ +GVol.source.Source.toAttributionsArray_ = function(attributionLike) { + if (typeof attributionLike === 'string') { + return [new GVol.Attribution({html: attributionLike})]; + } else if (attributionLike instanceof GVol.Attribution) { + return [attributionLike]; + } else if (Array.isArray(attributionLike)) { + var len = attributionLike.length; + var attributions = new Array(len); + for (var i = 0; i < len; i++) { + var item = attributionLike[i]; + if (typeof item === 'string') { + attributions[i] = new GVol.Attribution({html: item}); + } else { + attributions[i] = item; + } + } + return attributions; + } else { + return null; + } +}; + + +/** + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} resGVolution ResGVolution. + * @param {number} rotation Rotation. + * @param {number} hitTGVolerance Hit tGVolerance in pixels. + * @param {Object.<string, boGVolean>} skippedFeatureUids Skipped feature uids. + * @param {function((GVol.Feature|GVol.render.Feature)): T} callback Feature + * callback. + * @return {T|undefined} Callback result. + * @template T + */ +GVol.source.Source.prototype.forEachFeatureAtCoordinate = GVol.nullFunction; + + +/** + * Get the attributions of the source. + * @return {Array.<GVol.Attribution>} Attributions. + * @api + */ +GVol.source.Source.prototype.getAttributions = function() { + return this.attributions_; +}; + + +/** + * Get the logo of the source. + * @return {string|GVolx.LogoOptions|undefined} Logo. + * @api + */ +GVol.source.Source.prototype.getLogo = function() { + return this.logo_; +}; + + +/** + * Get the projection of the source. + * @return {GVol.proj.Projection} Projection. + * @api + */ +GVol.source.Source.prototype.getProjection = function() { + return this.projection_; +}; + + +/** + * @abstract + * @return {Array.<number>|undefined} ResGVolutions. + */ +GVol.source.Source.prototype.getResGVolutions = function() {}; + + +/** + * Get the state of the source, see {@link GVol.source.State} for possible states. + * @return {GVol.source.State} State. + * @api + */ +GVol.source.Source.prototype.getState = function() { + return this.state_; +}; + + +/** + * @return {boGVolean|undefined} Wrap X. + */ +GVol.source.Source.prototype.getWrapX = function() { + return this.wrapX_; +}; + + +/** + * Refreshes the source and finally dispatches a 'change' event. + * @api + */ +GVol.source.Source.prototype.refresh = function() { + this.changed(); +}; + + +/** + * Set the attributions of the source. + * @param {GVol.AttributionLike|undefined} attributions Attributions. + * Can be passed as `string`, `Array<string>`, `{@link GVol.Attribution}`, + * `Array<{@link GVol.Attribution}>` or `undefined`. + * @api + */ +GVol.source.Source.prototype.setAttributions = function(attributions) { + this.attributions_ = GVol.source.Source.toAttributionsArray_(attributions); + this.changed(); +}; + + +/** + * Set the logo of the source. + * @param {string|GVolx.LogoOptions|undefined} logo Logo. + */ +GVol.source.Source.prototype.setLogo = function(logo) { + this.logo_ = logo; +}; + + +/** + * Set the state of the source. + * @param {GVol.source.State} state State. + * @protected + */ +GVol.source.Source.prototype.setState = function(state) { + this.state_ = state; + this.changed(); +}; + +goog.provide('GVol.source.VectorEventType'); + +/** + * @enum {string} + */ +GVol.source.VectorEventType = { + /** + * Triggered when a feature is added to the source. + * @event GVol.source.Vector.Event#addfeature + * @api + */ + ADDFEATURE: 'addfeature', + + /** + * Triggered when a feature is updated. + * @event GVol.source.Vector.Event#changefeature + * @api + */ + CHANGEFEATURE: 'changefeature', + + /** + * Triggered when the clear method is called on the source. + * @event GVol.source.Vector.Event#clear + * @api + */ + CLEAR: 'clear', + + /** + * Triggered when a feature is removed from the source. + * See {@link GVol.source.Vector#clear source.clear()} for exceptions. + * @event GVol.source.Vector.Event#removefeature + * @api + */ + REMOVEFEATURE: 'removefeature' +}; + +// FIXME bulk feature upload - suppress events +// FIXME make change-detection more refined (notably, geometry hint) + +goog.provide('GVol.source.Vector'); + +goog.require('GVol'); +goog.require('GVol.CGVollection'); +goog.require('GVol.CGVollectionEventType'); +goog.require('GVol.ObjectEventType'); +goog.require('GVol.array'); +goog.require('GVol.asserts'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.featureloader'); +goog.require('GVol.functions'); +goog.require('GVol.loadingstrategy'); +goog.require('GVol.obj'); +goog.require('GVol.source.Source'); +goog.require('GVol.source.State'); +goog.require('GVol.source.VectorEventType'); +goog.require('GVol.structs.RBush'); + + +/** + * @classdesc + * Provides a source of features for vector layers. Vector features provided + * by this source are suitable for editing. See {@link GVol.source.VectorTile} for + * vector data that is optimized for rendering. + * + * @constructor + * @extends {GVol.source.Source} + * @fires GVol.source.Vector.Event + * @param {GVolx.source.VectorOptions=} opt_options Vector source options. + * @api + */ +GVol.source.Vector = function(opt_options) { + + var options = opt_options || {}; + + GVol.source.Source.call(this, { + attributions: options.attributions, + logo: options.logo, + projection: undefined, + state: GVol.source.State.READY, + wrapX: options.wrapX !== undefined ? options.wrapX : true + }); + + /** + * @private + * @type {GVol.FeatureLoader} + */ + this.loader_ = GVol.nullFunction; + + /** + * @private + * @type {GVol.format.Feature|undefined} + */ + this.format_ = options.format; + + /** + * @private + * @type {boGVolean} + */ + this.overlaps_ = options.overlaps == undefined ? true : options.overlaps; + + /** + * @private + * @type {string|GVol.FeatureUrlFunction|undefined} + */ + this.url_ = options.url; + + if (options.loader !== undefined) { + this.loader_ = options.loader; + } else if (this.url_ !== undefined) { + GVol.asserts.assert(this.format_, 7); // `format` must be set when `url` is set + // create a XHR feature loader for "url" and "format" + this.loader_ = GVol.featureloader.xhr(this.url_, /** @type {GVol.format.Feature} */ (this.format_)); + } + + /** + * @private + * @type {GVol.LoadingStrategy} + */ + this.strategy_ = options.strategy !== undefined ? options.strategy : + GVol.loadingstrategy.all; + + var useSpatialIndex = + options.useSpatialIndex !== undefined ? options.useSpatialIndex : true; + + /** + * @private + * @type {GVol.structs.RBush.<GVol.Feature>} + */ + this.featuresRtree_ = useSpatialIndex ? new GVol.structs.RBush() : null; + + /** + * @private + * @type {GVol.structs.RBush.<{extent: GVol.Extent}>} + */ + this.loadedExtentsRtree_ = new GVol.structs.RBush(); + + /** + * @private + * @type {Object.<string, GVol.Feature>} + */ + this.nullGeometryFeatures_ = {}; + + /** + * A lookup of features by id (the return from feature.getId()). + * @private + * @type {Object.<string, GVol.Feature>} + */ + this.idIndex_ = {}; + + /** + * A lookup of features without id (keyed by GVol.getUid(feature)). + * @private + * @type {Object.<string, GVol.Feature>} + */ + this.undefIdIndex_ = {}; + + /** + * @private + * @type {Object.<string, Array.<GVol.EventsKey>>} + */ + this.featureChangeKeys_ = {}; + + /** + * @private + * @type {GVol.CGVollection.<GVol.Feature>} + */ + this.featuresCGVollection_ = null; + + var cGVollection, features; + if (options.features instanceof GVol.CGVollection) { + cGVollection = options.features; + features = cGVollection.getArray(); + } else if (Array.isArray(options.features)) { + features = options.features; + } + if (!useSpatialIndex && cGVollection === undefined) { + cGVollection = new GVol.CGVollection(features); + } + if (features !== undefined) { + this.addFeaturesInternal(features); + } + if (cGVollection !== undefined) { + this.bindFeaturesCGVollection_(cGVollection); + } + +}; +GVol.inherits(GVol.source.Vector, GVol.source.Source); + + +/** + * Add a single feature to the source. If you want to add a batch of features + * at once, call {@link GVol.source.Vector#addFeatures source.addFeatures()} + * instead. A feature will not be added to the source if feature with + * the same id is already there. The reason for this behavior is to avoid + * feature duplication when using bbox or tile loading strategies. + * @param {GVol.Feature} feature Feature to add. + * @api + */ +GVol.source.Vector.prototype.addFeature = function(feature) { + this.addFeatureInternal(feature); + this.changed(); +}; + + +/** + * Add a feature without firing a `change` event. + * @param {GVol.Feature} feature Feature. + * @protected + */ +GVol.source.Vector.prototype.addFeatureInternal = function(feature) { + var featureKey = GVol.getUid(feature).toString(); + + if (!this.addToIndex_(featureKey, feature)) { + return; + } + + this.setupChangeEvents_(featureKey, feature); + + var geometry = feature.getGeometry(); + if (geometry) { + var extent = geometry.getExtent(); + if (this.featuresRtree_) { + this.featuresRtree_.insert(extent, feature); + } + } else { + this.nullGeometryFeatures_[featureKey] = feature; + } + + this.dispatchEvent( + new GVol.source.Vector.Event(GVol.source.VectorEventType.ADDFEATURE, feature)); +}; + + +/** + * @param {string} featureKey Unique identifier for the feature. + * @param {GVol.Feature} feature The feature. + * @private + */ +GVol.source.Vector.prototype.setupChangeEvents_ = function(featureKey, feature) { + this.featureChangeKeys_[featureKey] = [ + GVol.events.listen(feature, GVol.events.EventType.CHANGE, + this.handleFeatureChange_, this), + GVol.events.listen(feature, GVol.ObjectEventType.PROPERTYCHANGE, + this.handleFeatureChange_, this) + ]; +}; + + +/** + * @param {string} featureKey Unique identifier for the feature. + * @param {GVol.Feature} feature The feature. + * @return {boGVolean} The feature is "valid", in the sense that it is also a + * candidate for insertion into the Rtree. + * @private + */ +GVol.source.Vector.prototype.addToIndex_ = function(featureKey, feature) { + var valid = true; + var id = feature.getId(); + if (id !== undefined) { + if (!(id.toString() in this.idIndex_)) { + this.idIndex_[id.toString()] = feature; + } else { + valid = false; + } + } else { + GVol.asserts.assert(!(featureKey in this.undefIdIndex_), + 30); // The passed `feature` was already added to the source + this.undefIdIndex_[featureKey] = feature; + } + return valid; +}; + + +/** + * Add a batch of features to the source. + * @param {Array.<GVol.Feature>} features Features to add. + * @api + */ +GVol.source.Vector.prototype.addFeatures = function(features) { + this.addFeaturesInternal(features); + this.changed(); +}; + + +/** + * Add features without firing a `change` event. + * @param {Array.<GVol.Feature>} features Features. + * @protected + */ +GVol.source.Vector.prototype.addFeaturesInternal = function(features) { + var featureKey, i, length, feature; + + var extents = []; + var newFeatures = []; + var geometryFeatures = []; + + for (i = 0, length = features.length; i < length; i++) { + feature = features[i]; + featureKey = GVol.getUid(feature).toString(); + if (this.addToIndex_(featureKey, feature)) { + newFeatures.push(feature); + } + } + + for (i = 0, length = newFeatures.length; i < length; i++) { + feature = newFeatures[i]; + featureKey = GVol.getUid(feature).toString(); + this.setupChangeEvents_(featureKey, feature); + + var geometry = feature.getGeometry(); + if (geometry) { + var extent = geometry.getExtent(); + extents.push(extent); + geometryFeatures.push(feature); + } else { + this.nullGeometryFeatures_[featureKey] = feature; + } + } + if (this.featuresRtree_) { + this.featuresRtree_.load(extents, geometryFeatures); + } + + for (i = 0, length = newFeatures.length; i < length; i++) { + this.dispatchEvent(new GVol.source.Vector.Event( + GVol.source.VectorEventType.ADDFEATURE, newFeatures[i])); + } +}; + + +/** + * @param {!GVol.CGVollection.<GVol.Feature>} cGVollection CGVollection. + * @private + */ +GVol.source.Vector.prototype.bindFeaturesCGVollection_ = function(cGVollection) { + var modifyingCGVollection = false; + GVol.events.listen(this, GVol.source.VectorEventType.ADDFEATURE, + function(evt) { + if (!modifyingCGVollection) { + modifyingCGVollection = true; + cGVollection.push(evt.feature); + modifyingCGVollection = false; + } + }); + GVol.events.listen(this, GVol.source.VectorEventType.REMOVEFEATURE, + function(evt) { + if (!modifyingCGVollection) { + modifyingCGVollection = true; + cGVollection.remove(evt.feature); + modifyingCGVollection = false; + } + }); + GVol.events.listen(cGVollection, GVol.CGVollectionEventType.ADD, + function(evt) { + if (!modifyingCGVollection) { + modifyingCGVollection = true; + this.addFeature(/** @type {GVol.Feature} */ (evt.element)); + modifyingCGVollection = false; + } + }, this); + GVol.events.listen(cGVollection, GVol.CGVollectionEventType.REMOVE, + function(evt) { + if (!modifyingCGVollection) { + modifyingCGVollection = true; + this.removeFeature(/** @type {GVol.Feature} */ (evt.element)); + modifyingCGVollection = false; + } + }, this); + this.featuresCGVollection_ = cGVollection; +}; + + +/** + * Remove all features from the source. + * @param {boGVolean=} opt_fast Skip dispatching of {@link removefeature} events. + * @api + */ +GVol.source.Vector.prototype.clear = function(opt_fast) { + if (opt_fast) { + for (var featureId in this.featureChangeKeys_) { + var keys = this.featureChangeKeys_[featureId]; + keys.forEach(GVol.events.unlistenByKey); + } + if (!this.featuresCGVollection_) { + this.featureChangeKeys_ = {}; + this.idIndex_ = {}; + this.undefIdIndex_ = {}; + } + } else { + if (this.featuresRtree_) { + this.featuresRtree_.forEach(this.removeFeatureInternal, this); + for (var id in this.nullGeometryFeatures_) { + this.removeFeatureInternal(this.nullGeometryFeatures_[id]); + } + } + } + if (this.featuresCGVollection_) { + this.featuresCGVollection_.clear(); + } + + if (this.featuresRtree_) { + this.featuresRtree_.clear(); + } + this.loadedExtentsRtree_.clear(); + this.nullGeometryFeatures_ = {}; + + var clearEvent = new GVol.source.Vector.Event(GVol.source.VectorEventType.CLEAR); + this.dispatchEvent(clearEvent); + this.changed(); +}; + + +/** + * Iterate through all features on the source, calling the provided callback + * with each one. If the callback returns any "truthy" value, iteration will + * stop and the function will return the same value. + * + * @param {function(this: T, GVol.Feature): S} callback Called with each feature + * on the source. Return a truthy value to stop iteration. + * @param {T=} opt_this The object to use as `this` in the callback. + * @return {S|undefined} The return value from the last call to the callback. + * @template T,S + * @api + */ +GVol.source.Vector.prototype.forEachFeature = function(callback, opt_this) { + if (this.featuresRtree_) { + return this.featuresRtree_.forEach(callback, opt_this); + } else if (this.featuresCGVollection_) { + return this.featuresCGVollection_.forEach(callback, opt_this); + } +}; + + +/** + * Iterate through all features whose geometries contain the provided + * coordinate, calling the callback with each feature. If the callback returns + * a "truthy" value, iteration will stop and the function will return the same + * value. + * + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {function(this: T, GVol.Feature): S} callback Called with each feature + * whose goemetry contains the provided coordinate. + * @param {T=} opt_this The object to use as `this` in the callback. + * @return {S|undefined} The return value from the last call to the callback. + * @template T,S + */ +GVol.source.Vector.prototype.forEachFeatureAtCoordinateDirect = function(coordinate, callback, opt_this) { + var extent = [coordinate[0], coordinate[1], coordinate[0], coordinate[1]]; + return this.forEachFeatureInExtent(extent, function(feature) { + var geometry = feature.getGeometry(); + if (geometry.intersectsCoordinate(coordinate)) { + return callback.call(opt_this, feature); + } else { + return undefined; + } + }); +}; + + +/** + * Iterate through all features whose bounding box intersects the provided + * extent (note that the feature's geometry may not intersect the extent), + * calling the callback with each feature. If the callback returns a "truthy" + * value, iteration will stop and the function will return the same value. + * + * If you are interested in features whose geometry intersects an extent, call + * the {@link GVol.source.Vector#forEachFeatureIntersectingExtent + * source.forEachFeatureIntersectingExtent()} method instead. + * + * When `useSpatialIndex` is set to false, this method will loop through all + * features, equivalent to {@link GVol.source.Vector#forEachFeature}. + * + * @param {GVol.Extent} extent Extent. + * @param {function(this: T, GVol.Feature): S} callback Called with each feature + * whose bounding box intersects the provided extent. + * @param {T=} opt_this The object to use as `this` in the callback. + * @return {S|undefined} The return value from the last call to the callback. + * @template T,S + * @api + */ +GVol.source.Vector.prototype.forEachFeatureInExtent = function(extent, callback, opt_this) { + if (this.featuresRtree_) { + return this.featuresRtree_.forEachInExtent(extent, callback, opt_this); + } else if (this.featuresCGVollection_) { + return this.featuresCGVollection_.forEach(callback, opt_this); + } +}; + + +/** + * Iterate through all features whose geometry intersects the provided extent, + * calling the callback with each feature. If the callback returns a "truthy" + * value, iteration will stop and the function will return the same value. + * + * If you only want to test for bounding box intersection, call the + * {@link GVol.source.Vector#forEachFeatureInExtent + * source.forEachFeatureInExtent()} method instead. + * + * @param {GVol.Extent} extent Extent. + * @param {function(this: T, GVol.Feature): S} callback Called with each feature + * whose geometry intersects the provided extent. + * @param {T=} opt_this The object to use as `this` in the callback. + * @return {S|undefined} The return value from the last call to the callback. + * @template T,S + * @api + */ +GVol.source.Vector.prototype.forEachFeatureIntersectingExtent = function(extent, callback, opt_this) { + return this.forEachFeatureInExtent(extent, + /** + * @param {GVol.Feature} feature Feature. + * @return {S|undefined} The return value from the last call to the callback. + * @template S + */ + function(feature) { + var geometry = feature.getGeometry(); + if (geometry.intersectsExtent(extent)) { + var result = callback.call(opt_this, feature); + if (result) { + return result; + } + } + }); +}; + + +/** + * Get the features cGVollection associated with this source. Will be `null` + * unless the source was configured with `useSpatialIndex` set to `false`, or + * with an {@link GVol.CGVollection} as `features`. + * @return {GVol.CGVollection.<GVol.Feature>} The cGVollection of features. + * @api + */ +GVol.source.Vector.prototype.getFeaturesCGVollection = function() { + return this.featuresCGVollection_; +}; + + +/** + * Get all features on the source in random order. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.source.Vector.prototype.getFeatures = function() { + var features; + if (this.featuresCGVollection_) { + features = this.featuresCGVollection_.getArray(); + } else if (this.featuresRtree_) { + features = this.featuresRtree_.getAll(); + if (!GVol.obj.isEmpty(this.nullGeometryFeatures_)) { + GVol.array.extend( + features, GVol.obj.getValues(this.nullGeometryFeatures_)); + } + } + return /** @type {Array.<GVol.Feature>} */ (features); +}; + + +/** + * Get all features whose geometry intersects the provided coordinate. + * @param {GVol.Coordinate} coordinate Coordinate. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.source.Vector.prototype.getFeaturesAtCoordinate = function(coordinate) { + var features = []; + this.forEachFeatureAtCoordinateDirect(coordinate, function(feature) { + features.push(feature); + }); + return features; +}; + + +/** + * Get all features in the provided extent. Note that this returns an array of + * all features intersecting the given extent in random order (so it may include + * features whose geometries do not intersect the extent). + * + * This method is not available when the source is configured with + * `useSpatialIndex` set to `false`. + * @param {GVol.Extent} extent Extent. + * @return {Array.<GVol.Feature>} Features. + * @api + */ +GVol.source.Vector.prototype.getFeaturesInExtent = function(extent) { + return this.featuresRtree_.getInExtent(extent); +}; + + +/** + * Get the closest feature to the provided coordinate. + * + * This method is not available when the source is configured with + * `useSpatialIndex` set to `false`. + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {function(GVol.Feature):boGVolean=} opt_filter Feature filter function. + * The filter function will receive one argument, the {@link GVol.Feature feature} + * and it should return a boGVolean value. By default, no filtering is made. + * @return {GVol.Feature} Closest feature. + * @api + */ +GVol.source.Vector.prototype.getClosestFeatureToCoordinate = function(coordinate, opt_filter) { + // Find the closest feature using branch and bound. We start searching an + // infinite extent, and find the distance from the first feature found. This + // becomes the closest feature. We then compute a smaller extent which any + // closer feature must intersect. We continue searching with this smaller + // extent, trying to find a closer feature. Every time we find a closer + // feature, we update the extent being searched so that any even closer + // feature must intersect it. We continue until we run out of features. + var x = coordinate[0]; + var y = coordinate[1]; + var closestFeature = null; + var closestPoint = [NaN, NaN]; + var minSquaredDistance = Infinity; + var extent = [-Infinity, -Infinity, Infinity, Infinity]; + var filter = opt_filter ? opt_filter : GVol.functions.TRUE; + this.featuresRtree_.forEachInExtent(extent, + /** + * @param {GVol.Feature} feature Feature. + */ + function(feature) { + if (filter(feature)) { + var geometry = feature.getGeometry(); + var previousMinSquaredDistance = minSquaredDistance; + minSquaredDistance = geometry.closestPointXY( + x, y, closestPoint, minSquaredDistance); + if (minSquaredDistance < previousMinSquaredDistance) { + closestFeature = feature; + // This is sneaky. Reduce the extent that it is currently being + // searched while the R-Tree traversal using this same extent object + // is still in progress. This is safe because the new extent is + // strictly contained by the GVold extent. + var minDistance = Math.sqrt(minSquaredDistance); + extent[0] = x - minDistance; + extent[1] = y - minDistance; + extent[2] = x + minDistance; + extent[3] = y + minDistance; + } + } + }); + return closestFeature; +}; + + +/** + * Get the extent of the features currently in the source. + * + * This method is not available when the source is configured with + * `useSpatialIndex` set to `false`. + * @param {GVol.Extent=} opt_extent Destination extent. If provided, no new extent + * will be created. Instead, that extent's coordinates will be overwritten. + * @return {GVol.Extent} Extent. + * @api + */ +GVol.source.Vector.prototype.getExtent = function(opt_extent) { + return this.featuresRtree_.getExtent(opt_extent); +}; + + +/** + * Get a feature by its identifier (the value returned by feature.getId()). + * Note that the index treats string and numeric identifiers as the same. So + * `source.getFeatureById(2)` will return a feature with id `'2'` or `2`. + * + * @param {string|number} id Feature identifier. + * @return {GVol.Feature} The feature (or `null` if not found). + * @api + */ +GVol.source.Vector.prototype.getFeatureById = function(id) { + var feature = this.idIndex_[id.toString()]; + return feature !== undefined ? feature : null; +}; + + +/** + * Get the format associated with this source. + * + * @return {GVol.format.Feature|undefined} The feature format. + * @api + */ +GVol.source.Vector.prototype.getFormat = function() { + return this.format_; +}; + + +/** + * @return {boGVolean} The source can have overlapping geometries. + */ +GVol.source.Vector.prototype.getOverlaps = function() { + return this.overlaps_; +}; + + +/** + * @override + */ +GVol.source.Vector.prototype.getResGVolutions = function() {}; + + +/** + * Get the url associated with this source. + * + * @return {string|GVol.FeatureUrlFunction|undefined} The url. + * @api + */ +GVol.source.Vector.prototype.getUrl = function() { + return this.url_; +}; + + +/** + * @param {GVol.events.Event} event Event. + * @private + */ +GVol.source.Vector.prototype.handleFeatureChange_ = function(event) { + var feature = /** @type {GVol.Feature} */ (event.target); + var featureKey = GVol.getUid(feature).toString(); + var geometry = feature.getGeometry(); + if (!geometry) { + if (!(featureKey in this.nullGeometryFeatures_)) { + if (this.featuresRtree_) { + this.featuresRtree_.remove(feature); + } + this.nullGeometryFeatures_[featureKey] = feature; + } + } else { + var extent = geometry.getExtent(); + if (featureKey in this.nullGeometryFeatures_) { + delete this.nullGeometryFeatures_[featureKey]; + if (this.featuresRtree_) { + this.featuresRtree_.insert(extent, feature); + } + } else { + if (this.featuresRtree_) { + this.featuresRtree_.update(extent, feature); + } + } + } + var id = feature.getId(); + if (id !== undefined) { + var sid = id.toString(); + if (featureKey in this.undefIdIndex_) { + delete this.undefIdIndex_[featureKey]; + this.idIndex_[sid] = feature; + } else { + if (this.idIndex_[sid] !== feature) { + this.removeFromIdIndex_(feature); + this.idIndex_[sid] = feature; + } + } + } else { + if (!(featureKey in this.undefIdIndex_)) { + this.removeFromIdIndex_(feature); + this.undefIdIndex_[featureKey] = feature; + } + } + this.changed(); + this.dispatchEvent(new GVol.source.Vector.Event( + GVol.source.VectorEventType.CHANGEFEATURE, feature)); +}; + + +/** + * @return {boGVolean} Is empty. + */ +GVol.source.Vector.prototype.isEmpty = function() { + return this.featuresRtree_.isEmpty() && + GVol.obj.isEmpty(this.nullGeometryFeatures_); +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @param {GVol.proj.Projection} projection Projection. + */ +GVol.source.Vector.prototype.loadFeatures = function( + extent, resGVolution, projection) { + var loadedExtentsRtree = this.loadedExtentsRtree_; + var extentsToLoad = this.strategy_(extent, resGVolution); + var i, ii; + for (i = 0, ii = extentsToLoad.length; i < ii; ++i) { + var extentToLoad = extentsToLoad[i]; + var alreadyLoaded = loadedExtentsRtree.forEachInExtent(extentToLoad, + /** + * @param {{extent: GVol.Extent}} object Object. + * @return {boGVolean} Contains. + */ + function(object) { + return GVol.extent.containsExtent(object.extent, extentToLoad); + }); + if (!alreadyLoaded) { + this.loader_.call(this, extentToLoad, resGVolution, projection); + loadedExtentsRtree.insert(extentToLoad, {extent: extentToLoad.slice()}); + } + } +}; + + +/** + * Remove a single feature from the source. If you want to remove all features + * at once, use the {@link GVol.source.Vector#clear source.clear()} method + * instead. + * @param {GVol.Feature} feature Feature to remove. + * @api + */ +GVol.source.Vector.prototype.removeFeature = function(feature) { + var featureKey = GVol.getUid(feature).toString(); + if (featureKey in this.nullGeometryFeatures_) { + delete this.nullGeometryFeatures_[featureKey]; + } else { + if (this.featuresRtree_) { + this.featuresRtree_.remove(feature); + } + } + this.removeFeatureInternal(feature); + this.changed(); +}; + + +/** + * Remove feature without firing a `change` event. + * @param {GVol.Feature} feature Feature. + * @protected + */ +GVol.source.Vector.prototype.removeFeatureInternal = function(feature) { + var featureKey = GVol.getUid(feature).toString(); + this.featureChangeKeys_[featureKey].forEach(GVol.events.unlistenByKey); + delete this.featureChangeKeys_[featureKey]; + var id = feature.getId(); + if (id !== undefined) { + delete this.idIndex_[id.toString()]; + } else { + delete this.undefIdIndex_[featureKey]; + } + this.dispatchEvent(new GVol.source.Vector.Event( + GVol.source.VectorEventType.REMOVEFEATURE, feature)); +}; + + +/** + * Remove a feature from the id index. Called internally when the feature id + * may have changed. + * @param {GVol.Feature} feature The feature. + * @return {boGVolean} Removed the feature from the index. + * @private + */ +GVol.source.Vector.prototype.removeFromIdIndex_ = function(feature) { + var removed = false; + for (var id in this.idIndex_) { + if (this.idIndex_[id] === feature) { + delete this.idIndex_[id]; + removed = true; + break; + } + } + return removed; +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.source.Vector} instances are instances of this + * type. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.source.Vector.Event} + * @param {string} type Type. + * @param {GVol.Feature=} opt_feature Feature. + */ +GVol.source.Vector.Event = function(type, opt_feature) { + + GVol.events.Event.call(this, type); + + /** + * The feature being added or removed. + * @type {GVol.Feature|undefined} + * @api + */ + this.feature = opt_feature; + +}; +GVol.inherits(GVol.source.Vector.Event, GVol.events.Event); + +goog.provide('GVol.interaction.Draw'); + +goog.require('GVol'); +goog.require('GVol.Feature'); +goog.require('GVol.MapBrowserEventType'); +goog.require('GVol.Object'); +goog.require('GVol.coordinate'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); +goog.require('GVol.events.condition'); +goog.require('GVol.extent'); +goog.require('GVol.functions'); +goog.require('GVol.geom.Circle'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.MultiPGVolygon'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.interaction.DrawEventType'); +goog.require('GVol.interaction.Pointer'); +goog.require('GVol.interaction.Property'); +goog.require('GVol.layer.Vector'); +goog.require('GVol.source.Vector'); +goog.require('GVol.style.Style'); + + +/** + * @classdesc + * Interaction for drawing feature geometries. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @fires GVol.interaction.Draw.Event + * @param {GVolx.interaction.DrawOptions} options Options. + * @api + */ +GVol.interaction.Draw = function(options) { + + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.Draw.handleDownEvent_, + handleEvent: GVol.interaction.Draw.handleEvent, + handleUpEvent: GVol.interaction.Draw.handleUpEvent_ + }); + + /** + * @type {boGVolean} + * @private + */ + this.shouldHandle_ = false; + + /** + * @type {GVol.Pixel} + * @private + */ + this.downPx_ = null; + + /** + * @type {boGVolean} + * @private + */ + this.freehand_ = false; + + /** + * Target source for drawn features. + * @type {GVol.source.Vector} + * @private + */ + this.source_ = options.source ? options.source : null; + + /** + * Target cGVollection for drawn features. + * @type {GVol.CGVollection.<GVol.Feature>} + * @private + */ + this.features_ = options.features ? options.features : null; + + /** + * Pixel distance for snapping. + * @type {number} + * @private + */ + this.snapTGVolerance_ = options.snapTGVolerance ? options.snapTGVolerance : 12; + + /** + * Geometry type. + * @type {GVol.geom.GeometryType} + * @private + */ + this.type_ = options.type; + + /** + * Drawing mode (derived from geometry type. + * @type {GVol.interaction.Draw.Mode_} + * @private + */ + this.mode_ = GVol.interaction.Draw.getMode_(this.type_); + + /** + * The number of points that must be drawn before a pGVolygon ring or line + * string can be finished. The default is 3 for pGVolygon rings and 2 for + * line strings. + * @type {number} + * @private + */ + this.minPoints_ = options.minPoints ? + options.minPoints : + (this.mode_ === GVol.interaction.Draw.Mode_.POLYGON ? 3 : 2); + + /** + * The number of points that can be drawn before a pGVolygon ring or line string + * is finished. The default is no restriction. + * @type {number} + * @private + */ + this.maxPoints_ = options.maxPoints ? options.maxPoints : Infinity; + + /** + * A function to decide if a potential finish coordinate is permissible + * @private + * @type {GVol.EventsConditionType} + */ + this.finishCondition_ = options.finishCondition ? options.finishCondition : GVol.functions.TRUE; + + var geometryFunction = options.geometryFunction; + if (!geometryFunction) { + if (this.type_ === GVol.geom.GeometryType.CIRCLE) { + /** + * @param {!Array.<GVol.Coordinate>} coordinates + * The coordinates. + * @param {GVol.geom.SimpleGeometry=} opt_geometry Optional geometry. + * @return {GVol.geom.SimpleGeometry} A geometry. + */ + geometryFunction = function(coordinates, opt_geometry) { + var circle = opt_geometry ? /** @type {GVol.geom.Circle} */ (opt_geometry) : + new GVol.geom.Circle([NaN, NaN]); + var squaredLength = GVol.coordinate.squaredDistance( + coordinates[0], coordinates[1]); + circle.setCenterAndRadius(coordinates[0], Math.sqrt(squaredLength)); + return circle; + }; + } else { + var Constructor; + var mode = this.mode_; + if (mode === GVol.interaction.Draw.Mode_.POINT) { + Constructor = GVol.geom.Point; + } else if (mode === GVol.interaction.Draw.Mode_.LINE_STRING) { + Constructor = GVol.geom.LineString; + } else if (mode === GVol.interaction.Draw.Mode_.POLYGON) { + Constructor = GVol.geom.PGVolygon; + } + /** + * @param {!Array.<GVol.Coordinate>} coordinates + * The coordinates. + * @param {GVol.geom.SimpleGeometry=} opt_geometry Optional geometry. + * @return {GVol.geom.SimpleGeometry} A geometry. + */ + geometryFunction = function(coordinates, opt_geometry) { + var geometry = opt_geometry; + if (geometry) { + if (mode === GVol.interaction.Draw.Mode_.POLYGON) { + geometry.setCoordinates([coordinates[0].concat([coordinates[0][0]])]); + } else { + geometry.setCoordinates(coordinates); + } + } else { + geometry = new Constructor(coordinates); + } + return geometry; + }; + } + } + + /** + * @type {GVol.DrawGeometryFunctionType} + * @private + */ + this.geometryFunction_ = geometryFunction; + + /** + * Finish coordinate for the feature (first point for pGVolygons, last point for + * linestrings). + * @type {GVol.Coordinate} + * @private + */ + this.finishCoordinate_ = null; + + /** + * Sketch feature. + * @type {GVol.Feature} + * @private + */ + this.sketchFeature_ = null; + + /** + * Sketch point. + * @type {GVol.Feature} + * @private + */ + this.sketchPoint_ = null; + + /** + * Sketch coordinates. Used when drawing a line or pGVolygon. + * @type {GVol.Coordinate|Array.<GVol.Coordinate>|Array.<Array.<GVol.Coordinate>>} + * @private + */ + this.sketchCoords_ = null; + + /** + * Sketch line. Used when drawing pGVolygon. + * @type {GVol.Feature} + * @private + */ + this.sketchLine_ = null; + + /** + * Sketch line coordinates. Used when drawing a pGVolygon or circle. + * @type {Array.<GVol.Coordinate>} + * @private + */ + this.sketchLineCoords_ = null; + + /** + * Squared tGVolerance for handling up events. If the squared distance + * between a down and up event is greater than this tGVolerance, up events + * will not be handled. + * @type {number} + * @private + */ + this.squaredClickTGVolerance_ = options.clickTGVolerance ? + options.clickTGVolerance * options.clickTGVolerance : 36; + + /** + * Draw overlay where our sketch features are drawn. + * @type {GVol.layer.Vector} + * @private + */ + this.overlay_ = new GVol.layer.Vector({ + source: new GVol.source.Vector({ + useSpatialIndex: false, + wrapX: options.wrapX ? options.wrapX : false + }), + style: options.style ? options.style : + GVol.interaction.Draw.getDefaultStyleFunction() + }); + + /** + * Name of the geometry attribute for newly created features. + * @type {string|undefined} + * @private + */ + this.geometryName_ = options.geometryName; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.condition_ = options.condition ? + options.condition : GVol.events.condition.noModifierKeys; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.freehandCondition_; + if (options.freehand) { + this.freehandCondition_ = GVol.events.condition.always; + } else { + this.freehandCondition_ = options.freehandCondition ? + options.freehandCondition : GVol.events.condition.shiftKeyOnly; + } + + GVol.events.listen(this, + GVol.Object.getChangeEventType(GVol.interaction.Property.ACTIVE), + this.updateState_, this); + +}; +GVol.inherits(GVol.interaction.Draw, GVol.interaction.Pointer); + + +/** + * @return {GVol.StyleFunction} Styles. + */ +GVol.interaction.Draw.getDefaultStyleFunction = function() { + var styles = GVol.style.Style.createDefaultEditing(); + return function(feature, resGVolution) { + return styles[feature.getGeometry().getType()]; + }; +}; + + +/** + * @inheritDoc + */ +GVol.interaction.Draw.prototype.setMap = function(map) { + GVol.interaction.Pointer.prototype.setMap.call(this, map); + this.updateState_(); +}; + + +/** + * Handles the {@link GVol.MapBrowserEvent map browser event} and may actually + * draw or finish the drawing. + * @param {GVol.MapBrowserEvent} event Map browser event. + * @return {boGVolean} `false` to stop event propagation. + * @this {GVol.interaction.Draw} + * @api + */ +GVol.interaction.Draw.handleEvent = function(event) { + this.freehand_ = this.mode_ !== GVol.interaction.Draw.Mode_.POINT && this.freehandCondition_(event); + var pass = !this.freehand_; + if (this.freehand_ && + event.type === GVol.MapBrowserEventType.POINTERDRAG && this.sketchFeature_ !== null) { + this.addToDrawing_(event); + pass = false; + } else if (event.type === + GVol.MapBrowserEventType.POINTERMOVE) { + pass = this.handlePointerMove_(event); + } else if (event.type === GVol.MapBrowserEventType.DBLCLICK) { + pass = false; + } + return GVol.interaction.Pointer.handleEvent.call(this, event) && pass; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} event Event. + * @return {boGVolean} Start drag sequence? + * @this {GVol.interaction.Draw} + * @private + */ +GVol.interaction.Draw.handleDownEvent_ = function(event) { + this.shouldHandle_ = !this.freehand_; + + if (this.freehand_) { + this.downPx_ = event.pixel; + if (!this.finishCoordinate_) { + this.startDrawing_(event); + } + return true; + } else if (this.condition_(event)) { + this.downPx_ = event.pixel; + return true; + } else { + return false; + } +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} event Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.Draw} + * @private + */ +GVol.interaction.Draw.handleUpEvent_ = function(event) { + var pass = true; + + this.handlePointerMove_(event); + + var circleMode = this.mode_ === GVol.interaction.Draw.Mode_.CIRCLE; + + if (this.shouldHandle_) { + if (!this.finishCoordinate_) { + this.startDrawing_(event); + if (this.mode_ === GVol.interaction.Draw.Mode_.POINT) { + this.finishDrawing(); + } + } else if (this.freehand_ || circleMode) { + this.finishDrawing(); + } else if (this.atFinish_(event)) { + if (this.finishCondition_(event)) { + this.finishDrawing(); + } + } else { + this.addToDrawing_(event); + } + pass = false; + } else if (this.freehand_) { + this.finishCoordinate_ = null; + this.abortDrawing_(); + } + return pass; +}; + + +/** + * Handle move events. + * @param {GVol.MapBrowserEvent} event A move event. + * @return {boGVolean} Pass the event to other interactions. + * @private + */ +GVol.interaction.Draw.prototype.handlePointerMove_ = function(event) { + if (this.downPx_ && + ((!this.freehand_ && this.shouldHandle_) || + (this.freehand_ && !this.shouldHandle_))) { + var downPx = this.downPx_; + var clickPx = event.pixel; + var dx = downPx[0] - clickPx[0]; + var dy = downPx[1] - clickPx[1]; + var squaredDistance = dx * dx + dy * dy; + this.shouldHandle_ = this.freehand_ ? + squaredDistance > this.squaredClickTGVolerance_ : + squaredDistance <= this.squaredClickTGVolerance_; + } + + if (this.finishCoordinate_) { + this.modifyDrawing_(event); + } else { + this.createOrUpdateSketchPoint_(event); + } + return true; +}; + + +/** + * Determine if an event is within the snapping tGVolerance of the start coord. + * @param {GVol.MapBrowserEvent} event Event. + * @return {boGVolean} The event is within the snapping tGVolerance of the start. + * @private + */ +GVol.interaction.Draw.prototype.atFinish_ = function(event) { + var at = false; + if (this.sketchFeature_) { + var potentiallyDone = false; + var potentiallyFinishCoordinates = [this.finishCoordinate_]; + if (this.mode_ === GVol.interaction.Draw.Mode_.LINE_STRING) { + potentiallyDone = this.sketchCoords_.length > this.minPoints_; + } else if (this.mode_ === GVol.interaction.Draw.Mode_.POLYGON) { + potentiallyDone = this.sketchCoords_[0].length > + this.minPoints_; + potentiallyFinishCoordinates = [this.sketchCoords_[0][0], + this.sketchCoords_[0][this.sketchCoords_[0].length - 2]]; + } + if (potentiallyDone) { + var map = event.map; + for (var i = 0, ii = potentiallyFinishCoordinates.length; i < ii; i++) { + var finishCoordinate = potentiallyFinishCoordinates[i]; + var finishPixel = map.getPixelFromCoordinate(finishCoordinate); + var pixel = event.pixel; + var dx = pixel[0] - finishPixel[0]; + var dy = pixel[1] - finishPixel[1]; + var snapTGVolerance = this.freehand_ ? 1 : this.snapTGVolerance_; + at = Math.sqrt(dx * dx + dy * dy) <= snapTGVolerance; + if (at) { + this.finishCoordinate_ = finishCoordinate; + break; + } + } + } + } + return at; +}; + + +/** + * @param {GVol.MapBrowserEvent} event Event. + * @private + */ +GVol.interaction.Draw.prototype.createOrUpdateSketchPoint_ = function(event) { + var coordinates = event.coordinate.slice(); + if (!this.sketchPoint_) { + this.sketchPoint_ = new GVol.Feature(new GVol.geom.Point(coordinates)); + this.updateSketchFeatures_(); + } else { + var sketchPointGeom = /** @type {GVol.geom.Point} */ (this.sketchPoint_.getGeometry()); + sketchPointGeom.setCoordinates(coordinates); + } +}; + + +/** + * Start the drawing. + * @param {GVol.MapBrowserEvent} event Event. + * @private + */ +GVol.interaction.Draw.prototype.startDrawing_ = function(event) { + var start = event.coordinate; + this.finishCoordinate_ = start; + if (this.mode_ === GVol.interaction.Draw.Mode_.POINT) { + this.sketchCoords_ = start.slice(); + } else if (this.mode_ === GVol.interaction.Draw.Mode_.POLYGON) { + this.sketchCoords_ = [[start.slice(), start.slice()]]; + this.sketchLineCoords_ = this.sketchCoords_[0]; + } else { + this.sketchCoords_ = [start.slice(), start.slice()]; + if (this.mode_ === GVol.interaction.Draw.Mode_.CIRCLE) { + this.sketchLineCoords_ = this.sketchCoords_; + } + } + if (this.sketchLineCoords_) { + this.sketchLine_ = new GVol.Feature( + new GVol.geom.LineString(this.sketchLineCoords_)); + } + var geometry = this.geometryFunction_(this.sketchCoords_); + this.sketchFeature_ = new GVol.Feature(); + if (this.geometryName_) { + this.sketchFeature_.setGeometryName(this.geometryName_); + } + this.sketchFeature_.setGeometry(geometry); + this.updateSketchFeatures_(); + this.dispatchEvent(new GVol.interaction.Draw.Event( + GVol.interaction.DrawEventType.DRAWSTART, this.sketchFeature_)); +}; + + +/** + * Modify the drawing. + * @param {GVol.MapBrowserEvent} event Event. + * @private + */ +GVol.interaction.Draw.prototype.modifyDrawing_ = function(event) { + var coordinate = event.coordinate; + var geometry = /** @type {GVol.geom.SimpleGeometry} */ (this.sketchFeature_.getGeometry()); + var coordinates, last; + if (this.mode_ === GVol.interaction.Draw.Mode_.POINT) { + last = this.sketchCoords_; + } else if (this.mode_ === GVol.interaction.Draw.Mode_.POLYGON) { + coordinates = this.sketchCoords_[0]; + last = coordinates[coordinates.length - 1]; + if (this.atFinish_(event)) { + // snap to finish + coordinate = this.finishCoordinate_.slice(); + } + } else { + coordinates = this.sketchCoords_; + last = coordinates[coordinates.length - 1]; + } + last[0] = coordinate[0]; + last[1] = coordinate[1]; + this.geometryFunction_(/** @type {!Array.<GVol.Coordinate>} */ (this.sketchCoords_), geometry); + if (this.sketchPoint_) { + var sketchPointGeom = /** @type {GVol.geom.Point} */ (this.sketchPoint_.getGeometry()); + sketchPointGeom.setCoordinates(coordinate); + } + var sketchLineGeom; + if (geometry instanceof GVol.geom.PGVolygon && + this.mode_ !== GVol.interaction.Draw.Mode_.POLYGON) { + if (!this.sketchLine_) { + this.sketchLine_ = new GVol.Feature(new GVol.geom.LineString(null)); + } + var ring = geometry.getLinearRing(0); + sketchLineGeom = /** @type {GVol.geom.LineString} */ (this.sketchLine_.getGeometry()); + sketchLineGeom.setFlatCoordinates( + ring.getLayout(), ring.getFlatCoordinates()); + } else if (this.sketchLineCoords_) { + sketchLineGeom = /** @type {GVol.geom.LineString} */ (this.sketchLine_.getGeometry()); + sketchLineGeom.setCoordinates(this.sketchLineCoords_); + } + this.updateSketchFeatures_(); +}; + + +/** + * Add a new coordinate to the drawing. + * @param {GVol.MapBrowserEvent} event Event. + * @private + */ +GVol.interaction.Draw.prototype.addToDrawing_ = function(event) { + var coordinate = event.coordinate; + var geometry = /** @type {GVol.geom.SimpleGeometry} */ (this.sketchFeature_.getGeometry()); + var done; + var coordinates; + if (this.mode_ === GVol.interaction.Draw.Mode_.LINE_STRING) { + this.finishCoordinate_ = coordinate.slice(); + coordinates = this.sketchCoords_; + if (coordinates.length >= this.maxPoints_) { + if (this.freehand_) { + coordinates.pop(); + } else { + done = true; + } + } + coordinates.push(coordinate.slice()); + this.geometryFunction_(coordinates, geometry); + } else if (this.mode_ === GVol.interaction.Draw.Mode_.POLYGON) { + coordinates = this.sketchCoords_[0]; + if (coordinates.length >= this.maxPoints_) { + if (this.freehand_) { + coordinates.pop(); + } else { + done = true; + } + } + coordinates.push(coordinate.slice()); + if (done) { + this.finishCoordinate_ = coordinates[0]; + } + this.geometryFunction_(this.sketchCoords_, geometry); + } + this.updateSketchFeatures_(); + if (done) { + this.finishDrawing(); + } +}; + + +/** + * Remove last point of the feature currently being drawn. + * @api + */ +GVol.interaction.Draw.prototype.removeLastPoint = function() { + if (!this.sketchFeature_) { + return; + } + var geometry = /** @type {GVol.geom.SimpleGeometry} */ (this.sketchFeature_.getGeometry()); + var coordinates, sketchLineGeom; + if (this.mode_ === GVol.interaction.Draw.Mode_.LINE_STRING) { + coordinates = this.sketchCoords_; + coordinates.splice(-2, 1); + this.geometryFunction_(coordinates, geometry); + if (coordinates.length >= 2) { + this.finishCoordinate_ = coordinates[coordinates.length - 2].slice(); + } + } else if (this.mode_ === GVol.interaction.Draw.Mode_.POLYGON) { + coordinates = this.sketchCoords_[0]; + coordinates.splice(-2, 1); + sketchLineGeom = /** @type {GVol.geom.LineString} */ (this.sketchLine_.getGeometry()); + sketchLineGeom.setCoordinates(coordinates); + this.geometryFunction_(this.sketchCoords_, geometry); + } + + if (coordinates.length === 0) { + this.finishCoordinate_ = null; + } + + this.updateSketchFeatures_(); +}; + + +/** + * Stop drawing and add the sketch feature to the target layer. + * The {@link GVol.interaction.DrawEventType.DRAWEND} event is dispatched before + * inserting the feature. + * @api + */ +GVol.interaction.Draw.prototype.finishDrawing = function() { + var sketchFeature = this.abortDrawing_(); + var coordinates = this.sketchCoords_; + var geometry = /** @type {GVol.geom.SimpleGeometry} */ (sketchFeature.getGeometry()); + if (this.mode_ === GVol.interaction.Draw.Mode_.LINE_STRING) { + // remove the redundant last point + coordinates.pop(); + this.geometryFunction_(coordinates, geometry); + } else if (this.mode_ === GVol.interaction.Draw.Mode_.POLYGON) { + // remove the redundant last point in ring + coordinates[0].pop(); + this.geometryFunction_(coordinates, geometry); + coordinates = geometry.getCoordinates(); + } + + // cast multi-part geometries + if (this.type_ === GVol.geom.GeometryType.MULTI_POINT) { + sketchFeature.setGeometry(new GVol.geom.MultiPoint([coordinates])); + } else if (this.type_ === GVol.geom.GeometryType.MULTI_LINE_STRING) { + sketchFeature.setGeometry(new GVol.geom.MultiLineString([coordinates])); + } else if (this.type_ === GVol.geom.GeometryType.MULTI_POLYGON) { + sketchFeature.setGeometry(new GVol.geom.MultiPGVolygon([coordinates])); + } + + // First dispatch event to allow full set up of feature + this.dispatchEvent(new GVol.interaction.Draw.Event( + GVol.interaction.DrawEventType.DRAWEND, sketchFeature)); + + // Then insert feature + if (this.features_) { + this.features_.push(sketchFeature); + } + if (this.source_) { + this.source_.addFeature(sketchFeature); + } +}; + + +/** + * Stop drawing without adding the sketch feature to the target layer. + * @return {GVol.Feature} The sketch feature (or null if none). + * @private + */ +GVol.interaction.Draw.prototype.abortDrawing_ = function() { + this.finishCoordinate_ = null; + var sketchFeature = this.sketchFeature_; + if (sketchFeature) { + this.sketchFeature_ = null; + this.sketchPoint_ = null; + this.sketchLine_ = null; + this.overlay_.getSource().clear(true); + } + return sketchFeature; +}; + + +/** + * Extend an existing geometry by adding additional points. This only works + * on features with `LineString` geometries, where the interaction will + * extend lines by adding points to the end of the coordinates array. + * @param {!GVol.Feature} feature Feature to be extended. + * @api + */ +GVol.interaction.Draw.prototype.extend = function(feature) { + var geometry = feature.getGeometry(); + var lineString = /** @type {GVol.geom.LineString} */ (geometry); + this.sketchFeature_ = feature; + this.sketchCoords_ = lineString.getCoordinates(); + var last = this.sketchCoords_[this.sketchCoords_.length - 1]; + this.finishCoordinate_ = last.slice(); + this.sketchCoords_.push(last.slice()); + this.updateSketchFeatures_(); + this.dispatchEvent(new GVol.interaction.Draw.Event( + GVol.interaction.DrawEventType.DRAWSTART, this.sketchFeature_)); +}; + + +/** + * @inheritDoc + */ +GVol.interaction.Draw.prototype.shouldStopEvent = GVol.functions.FALSE; + + +/** + * Redraw the sketch features. + * @private + */ +GVol.interaction.Draw.prototype.updateSketchFeatures_ = function() { + var sketchFeatures = []; + if (this.sketchFeature_) { + sketchFeatures.push(this.sketchFeature_); + } + if (this.sketchLine_) { + sketchFeatures.push(this.sketchLine_); + } + if (this.sketchPoint_) { + sketchFeatures.push(this.sketchPoint_); + } + var overlaySource = this.overlay_.getSource(); + overlaySource.clear(true); + overlaySource.addFeatures(sketchFeatures); +}; + + +/** + * @private + */ +GVol.interaction.Draw.prototype.updateState_ = function() { + var map = this.getMap(); + var active = this.getActive(); + if (!map || !active) { + this.abortDrawing_(); + } + this.overlay_.setMap(active ? map : null); +}; + + +/** + * Create a `geometryFunction` for `type: 'Circle'` that will create a regular + * pGVolygon with a user specified number of sides and start angle instead of an + * `GVol.geom.Circle` geometry. + * @param {number=} opt_sides Number of sides of the regular pGVolygon. Default is + * 32. + * @param {number=} opt_angle Angle of the first point in radians. 0 means East. + * Default is the angle defined by the heading from the center of the + * regular pGVolygon to the current pointer position. + * @return {GVol.DrawGeometryFunctionType} Function that draws a + * pGVolygon. + * @api + */ +GVol.interaction.Draw.createRegularPGVolygon = function(opt_sides, opt_angle) { + return ( + /** + * @param {GVol.Coordinate|Array.<GVol.Coordinate>|Array.<Array.<GVol.Coordinate>>} coordinates + * @param {GVol.geom.SimpleGeometry=} opt_geometry + * @return {GVol.geom.SimpleGeometry} + */ + function(coordinates, opt_geometry) { + var center = coordinates[0]; + var end = coordinates[1]; + var radius = Math.sqrt( + GVol.coordinate.squaredDistance(center, end)); + var geometry = opt_geometry ? /** @type {GVol.geom.PGVolygon} */ (opt_geometry) : + GVol.geom.PGVolygon.fromCircle(new GVol.geom.Circle(center), opt_sides); + var angle = opt_angle ? opt_angle : + Math.atan((end[1] - center[1]) / (end[0] - center[0])); + GVol.geom.PGVolygon.makeRegular(geometry, center, radius, angle); + return geometry; + } + ); +}; + + +/** + * Create a `geometryFunction` that will create a box-shaped pGVolygon (aligned + * with the coordinate system axes). Use this with the draw interaction and + * `type: 'Circle'` to return a box instead of a circle geometry. + * @return {GVol.DrawGeometryFunctionType} Function that draws a box-shaped pGVolygon. + * @api + */ +GVol.interaction.Draw.createBox = function() { + return ( + /** + * @param {Array.<GVol.Coordinate>} coordinates + * @param {GVol.geom.SimpleGeometry=} opt_geometry + * @return {GVol.geom.SimpleGeometry} + */ + function(coordinates, opt_geometry) { + var extent = GVol.extent.boundingExtent(coordinates); + var geometry = opt_geometry || new GVol.geom.PGVolygon(null); + geometry.setCoordinates([[ + GVol.extent.getBottomLeft(extent), + GVol.extent.getBottomRight(extent), + GVol.extent.getTopRight(extent), + GVol.extent.getTopLeft(extent), + GVol.extent.getBottomLeft(extent) + ]]); + return geometry; + } + ); +}; + + +/** + * Get the drawing mode. The mode for mult-part geometries is the same as for + * their single-part cousins. + * @param {GVol.geom.GeometryType} type Geometry type. + * @return {GVol.interaction.Draw.Mode_} Drawing mode. + * @private + */ +GVol.interaction.Draw.getMode_ = function(type) { + var mode; + if (type === GVol.geom.GeometryType.POINT || + type === GVol.geom.GeometryType.MULTI_POINT) { + mode = GVol.interaction.Draw.Mode_.POINT; + } else if (type === GVol.geom.GeometryType.LINE_STRING || + type === GVol.geom.GeometryType.MULTI_LINE_STRING) { + mode = GVol.interaction.Draw.Mode_.LINE_STRING; + } else if (type === GVol.geom.GeometryType.POLYGON || + type === GVol.geom.GeometryType.MULTI_POLYGON) { + mode = GVol.interaction.Draw.Mode_.POLYGON; + } else if (type === GVol.geom.GeometryType.CIRCLE) { + mode = GVol.interaction.Draw.Mode_.CIRCLE; + } + return /** @type {!GVol.interaction.Draw.Mode_} */ (mode); +}; + + +/** + * Draw mode. This cGVollapses multi-part geometry types with their single-part + * cousins. + * @enum {string} + * @private + */ +GVol.interaction.Draw.Mode_ = { + POINT: 'Point', + LINE_STRING: 'LineString', + POLYGON: 'PGVolygon', + CIRCLE: 'Circle' +}; + +/** + * @classdesc + * Events emitted by {@link GVol.interaction.Draw} instances are instances of + * this type. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.DrawEvent} + * @param {GVol.interaction.DrawEventType} type Type. + * @param {GVol.Feature} feature The feature drawn. + */ +GVol.interaction.Draw.Event = function(type, feature) { + + GVol.events.Event.call(this, type); + + /** + * The feature being drawn. + * @type {GVol.Feature} + * @api + */ + this.feature = feature; + +}; +GVol.inherits(GVol.interaction.Draw.Event, GVol.events.Event); + +goog.provide('GVol.interaction.ExtentEventType'); + + +/** + * @enum {string} + */ +GVol.interaction.ExtentEventType = { + /** + * Triggered after the extent is changed + * @event GVol.interaction.Extent.Event#extentchanged + * @api + */ + EXTENTCHANGED: 'extentchanged' +}; + +goog.provide('GVol.interaction.Extent'); + +goog.require('GVol'); +goog.require('GVol.Feature'); +goog.require('GVol.MapBrowserEventType'); +goog.require('GVol.MapBrowserPointerEvent'); +goog.require('GVol.coordinate'); +goog.require('GVol.events.Event'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.interaction.ExtentEventType'); +goog.require('GVol.interaction.Pointer'); +goog.require('GVol.layer.Vector'); +goog.require('GVol.source.Vector'); +goog.require('GVol.style.Style'); + + +/** + * @classdesc + * Allows the user to draw a vector box by clicking and dragging on the map. + * Once drawn, the vector box can be modified by dragging its vertices or edges. + * This interaction is only supported for mouse devices. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @fires GVol.interaction.Extent.Event + * @param {GVolx.interaction.ExtentOptions=} opt_options Options. + * @api + */ +GVol.interaction.Extent = function(opt_options) { + + /** + * Extent of the drawn box + * @type {GVol.Extent} + * @private + */ + this.extent_ = null; + + /** + * Handler for pointer move events + * @type {function (GVol.Coordinate): GVol.Extent|null} + * @private + */ + this.pointerHandler_ = null; + + /** + * Pixel threshGVold to snap to extent + * @type {number} + * @private + */ + this.pixelTGVolerance_ = 10; + + /** + * Is the pointer snapped to an extent vertex + * @type {boGVolean} + * @private + */ + this.snappedToVertex_ = false; + + /** + * Feature for displaying the visible extent + * @type {GVol.Feature} + * @private + */ + this.extentFeature_ = null; + + /** + * Feature for displaying the visible pointer + * @type {GVol.Feature} + * @private + */ + this.vertexFeature_ = null; + + if (!opt_options) { + opt_options = {}; + } + + /* Inherit GVol.interaction.Pointer */ + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.Extent.handleDownEvent_, + handleDragEvent: GVol.interaction.Extent.handleDragEvent_, + handleEvent: GVol.interaction.Extent.handleEvent_, + handleUpEvent: GVol.interaction.Extent.handleUpEvent_ + }); + + /** + * Layer for the extentFeature + * @type {GVol.layer.Vector} + * @private + */ + this.extentOverlay_ = new GVol.layer.Vector({ + source: new GVol.source.Vector({ + useSpatialIndex: false, + wrapX: !!opt_options.wrapX + }), + style: opt_options.boxStyle ? opt_options.boxStyle : GVol.interaction.Extent.getDefaultExtentStyleFunction_(), + updateWhileAnimating: true, + updateWhileInteracting: true + }); + + /** + * Layer for the vertexFeature + * @type {GVol.layer.Vector} + * @private + */ + this.vertexOverlay_ = new GVol.layer.Vector({ + source: new GVol.source.Vector({ + useSpatialIndex: false, + wrapX: !!opt_options.wrapX + }), + style: opt_options.pointerStyle ? opt_options.pointerStyle : GVol.interaction.Extent.getDefaultPointerStyleFunction_(), + updateWhileAnimating: true, + updateWhileInteracting: true + }); + + if (opt_options.extent) { + this.setExtent(opt_options.extent); + } +}; + +GVol.inherits(GVol.interaction.Extent, GVol.interaction.Pointer); + +/** + * @param {GVol.MapBrowserEvent} mapBrowserEvent Event. + * @return {boGVolean} Propagate event? + * @this {GVol.interaction.Extent} + * @private + */ +GVol.interaction.Extent.handleEvent_ = function(mapBrowserEvent) { + if (!(mapBrowserEvent instanceof GVol.MapBrowserPointerEvent)) { + return true; + } + //display pointer (if not dragging) + if (mapBrowserEvent.type == GVol.MapBrowserEventType.POINTERMOVE && !this.handlingDownUpSequence) { + this.handlePointerMove_(mapBrowserEvent); + } + //call pointer to determine up/down/drag + GVol.interaction.Pointer.handleEvent.call(this, mapBrowserEvent); + //return false to stop propagation + return false; +}; + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Event handled? + * @this {GVol.interaction.Extent} + * @private + */ +GVol.interaction.Extent.handleDownEvent_ = function(mapBrowserEvent) { + var pixel = mapBrowserEvent.pixel; + var map = mapBrowserEvent.map; + + var extent = this.getExtent(); + var vertex = this.snapToVertex_(pixel, map); + + //find the extent corner opposite the passed corner + var getOpposingPoint = function(point) { + var x_ = null; + var y_ = null; + if (point[0] == extent[0]) { + x_ = extent[2]; + } else if (point[0] == extent[2]) { + x_ = extent[0]; + } + if (point[1] == extent[1]) { + y_ = extent[3]; + } else if (point[1] == extent[3]) { + y_ = extent[1]; + } + if (x_ !== null && y_ !== null) { + return [x_, y_]; + } + return null; + }; + if (vertex && extent) { + var x = (vertex[0] == extent[0] || vertex[0] == extent[2]) ? vertex[0] : null; + var y = (vertex[1] == extent[1] || vertex[1] == extent[3]) ? vertex[1] : null; + + //snap to point + if (x !== null && y !== null) { + this.pointerHandler_ = GVol.interaction.Extent.getPointHandler_(getOpposingPoint(vertex)); + //snap to edge + } else if (x !== null) { + this.pointerHandler_ = GVol.interaction.Extent.getEdgeHandler_( + getOpposingPoint([x, extent[1]]), + getOpposingPoint([x, extent[3]]) + ); + } else if (y !== null) { + this.pointerHandler_ = GVol.interaction.Extent.getEdgeHandler_( + getOpposingPoint([extent[0], y]), + getOpposingPoint([extent[2], y]) + ); + } + //no snap - new bbox + } else { + vertex = map.getCoordinateFromPixel(pixel); + this.setExtent([vertex[0], vertex[1], vertex[0], vertex[1]]); + this.pointerHandler_ = GVol.interaction.Extent.getPointHandler_(vertex); + } + return true; //event handled; start downup sequence +}; + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Event handled? + * @this {GVol.interaction.Extent} + * @private + */ +GVol.interaction.Extent.handleDragEvent_ = function(mapBrowserEvent) { + if (this.pointerHandler_) { + var pixelCoordinate = mapBrowserEvent.coordinate; + this.setExtent(this.pointerHandler_(pixelCoordinate)); + this.createOrUpdatePointerFeature_(pixelCoordinate); + } + return true; +}; + +/** + * @param {GVol.MapBrowserPointerEvent} mapBrowserEvent Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.Extent} + * @private + */ +GVol.interaction.Extent.handleUpEvent_ = function(mapBrowserEvent) { + this.pointerHandler_ = null; + //If bbox is zero area, set to null; + var extent = this.getExtent(); + if (!extent || GVol.extent.getArea(extent) === 0) { + this.setExtent(null); + } + return false; //Stop handling downup sequence +}; + +/** + * Returns the default style for the drawn bbox + * + * @return {GVol.StyleFunction} Default Extent style + * @private + */ +GVol.interaction.Extent.getDefaultExtentStyleFunction_ = function() { + var style = GVol.style.Style.createDefaultEditing(); + return function(feature, resGVolution) { + return style[GVol.geom.GeometryType.POLYGON]; + }; +}; + +/** + * Returns the default style for the pointer + * + * @return {GVol.StyleFunction} Default pointer style + * @private + */ +GVol.interaction.Extent.getDefaultPointerStyleFunction_ = function() { + var style = GVol.style.Style.createDefaultEditing(); + return function(feature, resGVolution) { + return style[GVol.geom.GeometryType.POINT]; + }; +}; + +/** + * @param {GVol.Coordinate} fixedPoint corner that will be unchanged in the new extent + * @returns {function (GVol.Coordinate): GVol.Extent} event handler + * @private + */ +GVol.interaction.Extent.getPointHandler_ = function(fixedPoint) { + return function(point) { + return GVol.extent.boundingExtent([fixedPoint, point]); + }; +}; + +/** + * @param {GVol.Coordinate} fixedP1 first corner that will be unchanged in the new extent + * @param {GVol.Coordinate} fixedP2 second corner that will be unchanged in the new extent + * @returns {function (GVol.Coordinate): GVol.Extent|null} event handler + * @private + */ +GVol.interaction.Extent.getEdgeHandler_ = function(fixedP1, fixedP2) { + if (fixedP1[0] == fixedP2[0]) { + return function(point) { + return GVol.extent.boundingExtent([fixedP1, [point[0], fixedP2[1]]]); + }; + } else if (fixedP1[1] == fixedP2[1]) { + return function(point) { + return GVol.extent.boundingExtent([fixedP1, [fixedP2[0], point[1]]]); + }; + } else { + return null; + } +}; + +/** + * @param {GVol.Extent} extent extent + * @returns {Array<Array<GVol.Coordinate>>} extent line segments + * @private + */ +GVol.interaction.Extent.getSegments_ = function(extent) { + return [ + [[extent[0], extent[1]], [extent[0], extent[3]]], + [[extent[0], extent[3]], [extent[2], extent[3]]], + [[extent[2], extent[3]], [extent[2], extent[1]]], + [[extent[2], extent[1]], [extent[0], extent[1]]] + ]; +}; + +/** + * @param {GVol.Pixel} pixel cursor location + * @param {GVol.Map} map map + * @returns {GVol.Coordinate|null} snapped vertex on extent + * @private + */ +GVol.interaction.Extent.prototype.snapToVertex_ = function(pixel, map) { + var pixelCoordinate = map.getCoordinateFromPixel(pixel); + var sortByDistance = function(a, b) { + return GVol.coordinate.squaredDistanceToSegment(pixelCoordinate, a) - + GVol.coordinate.squaredDistanceToSegment(pixelCoordinate, b); + }; + var extent = this.getExtent(); + if (extent) { + //convert extents to line segments and find the segment closest to pixelCoordinate + var segments = GVol.interaction.Extent.getSegments_(extent); + segments.sort(sortByDistance); + var closestSegment = segments[0]; + + var vertex = (GVol.coordinate.closestOnSegment(pixelCoordinate, + closestSegment)); + var vertexPixel = map.getPixelFromCoordinate(vertex); + + //if the distance is within tGVolerance, snap to the segment + if (GVol.coordinate.distance(pixel, vertexPixel) <= this.pixelTGVolerance_) { + //test if we should further snap to a vertex + var pixel1 = map.getPixelFromCoordinate(closestSegment[0]); + var pixel2 = map.getPixelFromCoordinate(closestSegment[1]); + var squaredDist1 = GVol.coordinate.squaredDistance(vertexPixel, pixel1); + var squaredDist2 = GVol.coordinate.squaredDistance(vertexPixel, pixel2); + var dist = Math.sqrt(Math.min(squaredDist1, squaredDist2)); + this.snappedToVertex_ = dist <= this.pixelTGVolerance_; + if (this.snappedToVertex_) { + vertex = squaredDist1 > squaredDist2 ? + closestSegment[1] : closestSegment[0]; + } + return vertex; + } + } + return null; +}; + +/** + * @param {GVol.MapBrowserEvent} mapBrowserEvent pointer move event + * @private + */ +GVol.interaction.Extent.prototype.handlePointerMove_ = function(mapBrowserEvent) { + var pixel = mapBrowserEvent.pixel; + var map = mapBrowserEvent.map; + + var vertex = this.snapToVertex_(pixel, map); + if (!vertex) { + vertex = map.getCoordinateFromPixel(pixel); + } + this.createOrUpdatePointerFeature_(vertex); +}; + +/** + * @param {GVol.Extent} extent extent + * @returns {GVol.Feature} extent as featrue + * @private + */ +GVol.interaction.Extent.prototype.createOrUpdateExtentFeature_ = function(extent) { + var extentFeature = this.extentFeature_; + + if (!extentFeature) { + if (!extent) { + extentFeature = new GVol.Feature({}); + } else { + extentFeature = new GVol.Feature(GVol.geom.PGVolygon.fromExtent(extent)); + } + this.extentFeature_ = extentFeature; + this.extentOverlay_.getSource().addFeature(extentFeature); + } else { + if (!extent) { + extentFeature.setGeometry(undefined); + } else { + extentFeature.setGeometry(GVol.geom.PGVolygon.fromExtent(extent)); + } + } + return extentFeature; +}; + + +/** + * @param {GVol.Coordinate} vertex location of feature + * @returns {GVol.Feature} vertex as feature + * @private + */ +GVol.interaction.Extent.prototype.createOrUpdatePointerFeature_ = function(vertex) { + var vertexFeature = this.vertexFeature_; + if (!vertexFeature) { + vertexFeature = new GVol.Feature(new GVol.geom.Point(vertex)); + this.vertexFeature_ = vertexFeature; + this.vertexOverlay_.getSource().addFeature(vertexFeature); + } else { + var geometry = /** @type {GVol.geom.Point} */ (vertexFeature.getGeometry()); + geometry.setCoordinates(vertex); + } + return vertexFeature; +}; + + +/** + * @inheritDoc + */ +GVol.interaction.Extent.prototype.setMap = function(map) { + this.extentOverlay_.setMap(map); + this.vertexOverlay_.setMap(map); + GVol.interaction.Pointer.prototype.setMap.call(this, map); +}; + +/** + * Returns the current drawn extent in the view projection + * + * @return {GVol.Extent} Drawn extent in the view projection. + * @api + */ +GVol.interaction.Extent.prototype.getExtent = function() { + return this.extent_; +}; + +/** + * Manually sets the drawn extent, using the view projection. + * + * @param {GVol.Extent} extent Extent + * @api + */ +GVol.interaction.Extent.prototype.setExtent = function(extent) { + //Null extent means no bbox + this.extent_ = extent ? extent : null; + this.createOrUpdateExtentFeature_(extent); + this.dispatchEvent(new GVol.interaction.Extent.Event(this.extent_)); +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.interaction.Extent} instances are instances of + * this type. + * + * @constructor + * @implements {GVoli.ExtentEvent} + * @param {GVol.Extent} extent the new extent + * @extends {GVol.events.Event} + */ +GVol.interaction.Extent.Event = function(extent) { + GVol.events.Event.call(this, GVol.interaction.ExtentEventType.EXTENTCHANGED); + + /** + * The current extent. + * @type {GVol.Extent} + * @api + */ + this.extent = extent; + +}; +GVol.inherits(GVol.interaction.Extent.Event, GVol.events.Event); + +goog.provide('GVol.interaction.ModifyEventType'); + + +/** + * @enum {string} + */ +GVol.interaction.ModifyEventType = { + /** + * Triggered upon feature modification start + * @event GVol.interaction.Modify.Event#modifystart + * @api + */ + MODIFYSTART: 'modifystart', + /** + * Triggered upon feature modification end + * @event GVol.interaction.Modify.Event#modifyend + * @api + */ + MODIFYEND: 'modifyend' +}; + +goog.provide('GVol.interaction.Modify'); + +goog.require('GVol'); +goog.require('GVol.CGVollection'); +goog.require('GVol.CGVollectionEventType'); +goog.require('GVol.Feature'); +goog.require('GVol.MapBrowserEventType'); +goog.require('GVol.MapBrowserPointerEvent'); +goog.require('GVol.ViewHint'); +goog.require('GVol.array'); +goog.require('GVol.coordinate'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); +goog.require('GVol.events.EventType'); +goog.require('GVol.events.condition'); +goog.require('GVol.extent'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.Point'); +goog.require('GVol.interaction.ModifyEventType'); +goog.require('GVol.interaction.Pointer'); +goog.require('GVol.layer.Vector'); +goog.require('GVol.source.Vector'); +goog.require('GVol.source.VectorEventType'); +goog.require('GVol.structs.RBush'); +goog.require('GVol.style.Style'); + +/** + * @classdesc + * Interaction for modifying feature geometries. To modify features that have + * been added to an existing source, construct the modify interaction with the + * `source` option. If you want to modify features in a cGVollection (for example, + * the cGVollection used by a select interaction), construct the interaction with + * the `features` option. The interaction must be constructed with either a + * `source` or `features` option. + * + * By default, the interaction will allow deletion of vertices when the `alt` + * key is pressed. To configure the interaction with a different condition + * for deletion, use the `deleteCondition` option. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @param {GVolx.interaction.ModifyOptions} options Options. + * @fires GVol.interaction.Modify.Event + * @api + */ +GVol.interaction.Modify = function(options) { + + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.Modify.handleDownEvent_, + handleDragEvent: GVol.interaction.Modify.handleDragEvent_, + handleEvent: GVol.interaction.Modify.handleEvent, + handleUpEvent: GVol.interaction.Modify.handleUpEvent_ + }); + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.condition_ = options.condition ? + options.condition : GVol.events.condition.primaryAction; + + + /** + * @private + * @param {GVol.MapBrowserEvent} mapBrowserEvent Browser event. + * @return {boGVolean} Combined condition result. + */ + this.defaultDeleteCondition_ = function(mapBrowserEvent) { + return GVol.events.condition.altKeyOnly(mapBrowserEvent) && + GVol.events.condition.singleClick(mapBrowserEvent); + }; + + /** + * @type {GVol.EventsConditionType} + * @private + */ + this.deleteCondition_ = options.deleteCondition ? + options.deleteCondition : this.defaultDeleteCondition_; + + /** + * @type {GVol.EventsConditionType} + * @private + */ + this.insertVertexCondition_ = options.insertVertexCondition ? + options.insertVertexCondition : GVol.events.condition.always; + + /** + * Editing vertex. + * @type {GVol.Feature} + * @private + */ + this.vertexFeature_ = null; + + /** + * Segments intersecting {@link this.vertexFeature_} by segment uid. + * @type {Object.<string, boGVolean>} + * @private + */ + this.vertexSegments_ = null; + + /** + * @type {GVol.Pixel} + * @private + */ + this.lastPixel_ = [0, 0]; + + /** + * Tracks if the next `singleclick` event should be ignored to prevent + * accidental deletion right after vertex creation. + * @type {boGVolean} + * @private + */ + this.ignoreNextSingleClick_ = false; + + /** + * @type {boGVolean} + * @private + */ + this.modified_ = false; + + /** + * Segment RTree for each layer + * @type {GVol.structs.RBush.<GVol.ModifySegmentDataType>} + * @private + */ + this.rBush_ = new GVol.structs.RBush(); + + /** + * @type {number} + * @private + */ + this.pixelTGVolerance_ = options.pixelTGVolerance !== undefined ? + options.pixelTGVolerance : 10; + + /** + * @type {boGVolean} + * @private + */ + this.snappedToVertex_ = false; + + /** + * Indicate whether the interaction is currently changing a feature's + * coordinates. + * @type {boGVolean} + * @private + */ + this.changingFeature_ = false; + + /** + * @type {Array} + * @private + */ + this.dragSegments_ = []; + + /** + * Draw overlay where sketch features are drawn. + * @type {GVol.layer.Vector} + * @private + */ + this.overlay_ = new GVol.layer.Vector({ + source: new GVol.source.Vector({ + useSpatialIndex: false, + wrapX: !!options.wrapX + }), + style: options.style ? options.style : + GVol.interaction.Modify.getDefaultStyleFunction(), + updateWhileAnimating: true, + updateWhileInteracting: true + }); + + /** + * @const + * @private + * @type {Object.<string, function(GVol.Feature, GVol.geom.Geometry)>} + */ + this.SEGMENT_WRITERS_ = { + 'Point': this.writePointGeometry_, + 'LineString': this.writeLineStringGeometry_, + 'LinearRing': this.writeLineStringGeometry_, + 'PGVolygon': this.writePGVolygonGeometry_, + 'MultiPoint': this.writeMultiPointGeometry_, + 'MultiLineString': this.writeMultiLineStringGeometry_, + 'MultiPGVolygon': this.writeMultiPGVolygonGeometry_, + 'Circle': this.writeCircleGeometry_, + 'GeometryCGVollection': this.writeGeometryCGVollectionGeometry_ + }; + + + /** + * @type {GVol.source.Vector} + * @private + */ + this.source_ = null; + + var features; + if (options.source) { + this.source_ = options.source; + features = new GVol.CGVollection(this.source_.getFeatures()); + GVol.events.listen(this.source_, GVol.source.VectorEventType.ADDFEATURE, + this.handleSourceAdd_, this); + GVol.events.listen(this.source_, GVol.source.VectorEventType.REMOVEFEATURE, + this.handleSourceRemove_, this); + } else { + features = options.features; + } + if (!features) { + throw new Error('The modify interaction requires features or a source'); + } + + /** + * @type {GVol.CGVollection.<GVol.Feature>} + * @private + */ + this.features_ = features; + + this.features_.forEach(this.addFeature_, this); + GVol.events.listen(this.features_, GVol.CGVollectionEventType.ADD, + this.handleFeatureAdd_, this); + GVol.events.listen(this.features_, GVol.CGVollectionEventType.REMOVE, + this.handleFeatureRemove_, this); + + /** + * @type {GVol.MapBrowserPointerEvent} + * @private + */ + this.lastPointerEvent_ = null; + +}; +GVol.inherits(GVol.interaction.Modify, GVol.interaction.Pointer); + + +/** + * @define {number} The segment index assigned to a circle's center when + * breaking up a cicrle into ModifySegmentDataType segments. + */ +GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CENTER_INDEX = 0; + +/** + * @define {number} The segment index assigned to a circle's circumference when + * breaking up a circle into ModifySegmentDataType segments. + */ +GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CIRCUMFERENCE_INDEX = 1; + + +/** + * @param {GVol.Feature} feature Feature. + * @private + */ +GVol.interaction.Modify.prototype.addFeature_ = function(feature) { + var geometry = feature.getGeometry(); + if (geometry && geometry.getType() in this.SEGMENT_WRITERS_) { + this.SEGMENT_WRITERS_[geometry.getType()].call(this, feature, geometry); + } + var map = this.getMap(); + if (map && map.isRendered() && this.getActive()) { + this.handlePointerAtPixel_(this.lastPixel_, map); + } + GVol.events.listen(feature, GVol.events.EventType.CHANGE, + this.handleFeatureChange_, this); +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} evt Map browser event + * @private + */ +GVol.interaction.Modify.prototype.willModifyFeatures_ = function(evt) { + if (!this.modified_) { + this.modified_ = true; + this.dispatchEvent(new GVol.interaction.Modify.Event( + GVol.interaction.ModifyEventType.MODIFYSTART, this.features_, evt)); + } +}; + + +/** + * @param {GVol.Feature} feature Feature. + * @private + */ +GVol.interaction.Modify.prototype.removeFeature_ = function(feature) { + this.removeFeatureSegmentData_(feature); + // Remove the vertex feature if the cGVollection of canditate features + // is empty. + if (this.vertexFeature_ && this.features_.getLength() === 0) { + this.overlay_.getSource().removeFeature(this.vertexFeature_); + this.vertexFeature_ = null; + } + GVol.events.unlisten(feature, GVol.events.EventType.CHANGE, + this.handleFeatureChange_, this); +}; + + +/** + * @param {GVol.Feature} feature Feature. + * @private + */ +GVol.interaction.Modify.prototype.removeFeatureSegmentData_ = function(feature) { + var rBush = this.rBush_; + var /** @type {Array.<GVol.ModifySegmentDataType>} */ nodesToRemove = []; + rBush.forEach( + /** + * @param {GVol.ModifySegmentDataType} node RTree node. + */ + function(node) { + if (feature === node.feature) { + nodesToRemove.push(node); + } + }); + for (var i = nodesToRemove.length - 1; i >= 0; --i) { + rBush.remove(nodesToRemove[i]); + } +}; + + +/** + * @inheritDoc + */ +GVol.interaction.Modify.prototype.setActive = function(active) { + if (this.vertexFeature_ && !active) { + this.overlay_.getSource().removeFeature(this.vertexFeature_); + this.vertexFeature_ = null; + } + GVol.interaction.Pointer.prototype.setActive.call(this, active); +}; + + +/** + * @inheritDoc + */ +GVol.interaction.Modify.prototype.setMap = function(map) { + this.overlay_.setMap(map); + GVol.interaction.Pointer.prototype.setMap.call(this, map); +}; + + +/** + * @param {GVol.source.Vector.Event} event Event. + * @private + */ +GVol.interaction.Modify.prototype.handleSourceAdd_ = function(event) { + if (event.feature) { + this.features_.push(event.feature); + } +}; + + +/** + * @param {GVol.source.Vector.Event} event Event. + * @private + */ +GVol.interaction.Modify.prototype.handleSourceRemove_ = function(event) { + if (event.feature) { + this.features_.remove(event.feature); + } +}; + + +/** + * @param {GVol.CGVollection.Event} evt Event. + * @private + */ +GVol.interaction.Modify.prototype.handleFeatureAdd_ = function(evt) { + this.addFeature_(/** @type {GVol.Feature} */ (evt.element)); +}; + + +/** + * @param {GVol.events.Event} evt Event. + * @private + */ +GVol.interaction.Modify.prototype.handleFeatureChange_ = function(evt) { + if (!this.changingFeature_) { + var feature = /** @type {GVol.Feature} */ (evt.target); + this.removeFeature_(feature); + this.addFeature_(feature); + } +}; + + +/** + * @param {GVol.CGVollection.Event} evt Event. + * @private + */ +GVol.interaction.Modify.prototype.handleFeatureRemove_ = function(evt) { + var feature = /** @type {GVol.Feature} */ (evt.element); + this.removeFeature_(feature); +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.Point} geometry Geometry. + * @private + */ +GVol.interaction.Modify.prototype.writePointGeometry_ = function(feature, geometry) { + var coordinates = geometry.getCoordinates(); + var segmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + feature: feature, + geometry: geometry, + segment: [coordinates, coordinates] + }); + this.rBush_.insert(geometry.getExtent(), segmentData); +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.MultiPoint} geometry Geometry. + * @private + */ +GVol.interaction.Modify.prototype.writeMultiPointGeometry_ = function(feature, geometry) { + var points = geometry.getCoordinates(); + var coordinates, i, ii, segmentData; + for (i = 0, ii = points.length; i < ii; ++i) { + coordinates = points[i]; + segmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + feature: feature, + geometry: geometry, + depth: [i], + index: i, + segment: [coordinates, coordinates] + }); + this.rBush_.insert(geometry.getExtent(), segmentData); + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.LineString} geometry Geometry. + * @private + */ +GVol.interaction.Modify.prototype.writeLineStringGeometry_ = function(feature, geometry) { + var coordinates = geometry.getCoordinates(); + var i, ii, segment, segmentData; + for (i = 0, ii = coordinates.length - 1; i < ii; ++i) { + segment = coordinates.slice(i, i + 2); + segmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + feature: feature, + geometry: geometry, + index: i, + segment: segment + }); + this.rBush_.insert(GVol.extent.boundingExtent(segment), segmentData); + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.MultiLineString} geometry Geometry. + * @private + */ +GVol.interaction.Modify.prototype.writeMultiLineStringGeometry_ = function(feature, geometry) { + var lines = geometry.getCoordinates(); + var coordinates, i, ii, j, jj, segment, segmentData; + for (j = 0, jj = lines.length; j < jj; ++j) { + coordinates = lines[j]; + for (i = 0, ii = coordinates.length - 1; i < ii; ++i) { + segment = coordinates.slice(i, i + 2); + segmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + feature: feature, + geometry: geometry, + depth: [j], + index: i, + segment: segment + }); + this.rBush_.insert(GVol.extent.boundingExtent(segment), segmentData); + } + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.PGVolygon} geometry Geometry. + * @private + */ +GVol.interaction.Modify.prototype.writePGVolygonGeometry_ = function(feature, geometry) { + var rings = geometry.getCoordinates(); + var coordinates, i, ii, j, jj, segment, segmentData; + for (j = 0, jj = rings.length; j < jj; ++j) { + coordinates = rings[j]; + for (i = 0, ii = coordinates.length - 1; i < ii; ++i) { + segment = coordinates.slice(i, i + 2); + segmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + feature: feature, + geometry: geometry, + depth: [j], + index: i, + segment: segment + }); + this.rBush_.insert(GVol.extent.boundingExtent(segment), segmentData); + } + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.MultiPGVolygon} geometry Geometry. + * @private + */ +GVol.interaction.Modify.prototype.writeMultiPGVolygonGeometry_ = function(feature, geometry) { + var pGVolygons = geometry.getCoordinates(); + var coordinates, i, ii, j, jj, k, kk, rings, segment, segmentData; + for (k = 0, kk = pGVolygons.length; k < kk; ++k) { + rings = pGVolygons[k]; + for (j = 0, jj = rings.length; j < jj; ++j) { + coordinates = rings[j]; + for (i = 0, ii = coordinates.length - 1; i < ii; ++i) { + segment = coordinates.slice(i, i + 2); + segmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + feature: feature, + geometry: geometry, + depth: [j, k], + index: i, + segment: segment + }); + this.rBush_.insert(GVol.extent.boundingExtent(segment), segmentData); + } + } + } +}; + + +/** + * We convert a circle into two segments. The segment at index + * {@link GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CENTER_INDEX} is the + * circle's center (a point). The segment at index + * {@link GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CIRCUMFERENCE_INDEX} is + * the circumference, and is not a line segment. + * + * @param {GVol.Feature} feature Feature. + * @param {GVol.geom.Circle} geometry Geometry. + * @private + */ +GVol.interaction.Modify.prototype.writeCircleGeometry_ = function(feature, geometry) { + var coordinates = geometry.getCenter(); + var centerSegmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + feature: feature, + geometry: geometry, + index: GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CENTER_INDEX, + segment: [coordinates, coordinates] + }); + var circumferenceSegmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + feature: feature, + geometry: geometry, + index: GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CIRCUMFERENCE_INDEX, + segment: [coordinates, coordinates] + }); + var featureSegments = [centerSegmentData, circumferenceSegmentData]; + centerSegmentData.featureSegments = circumferenceSegmentData.featureSegments = featureSegments; + this.rBush_.insert(GVol.extent.createOrUpdateFromCoordinate(coordinates), centerSegmentData); + this.rBush_.insert(geometry.getExtent(), circumferenceSegmentData); +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.GeometryCGVollection} geometry Geometry. + * @private + */ +GVol.interaction.Modify.prototype.writeGeometryCGVollectionGeometry_ = function(feature, geometry) { + var i, geometries = geometry.getGeometriesArray(); + for (i = 0; i < geometries.length; ++i) { + this.SEGMENT_WRITERS_[geometries[i].getType()].call( + this, feature, geometries[i]); + } +}; + + +/** + * @param {GVol.Coordinate} coordinates Coordinates. + * @return {GVol.Feature} Vertex feature. + * @private + */ +GVol.interaction.Modify.prototype.createOrUpdateVertexFeature_ = function(coordinates) { + var vertexFeature = this.vertexFeature_; + if (!vertexFeature) { + vertexFeature = new GVol.Feature(new GVol.geom.Point(coordinates)); + this.vertexFeature_ = vertexFeature; + this.overlay_.getSource().addFeature(vertexFeature); + } else { + var geometry = /** @type {GVol.geom.Point} */ (vertexFeature.getGeometry()); + geometry.setCoordinates(coordinates); + } + return vertexFeature; +}; + + +/** + * @param {GVol.ModifySegmentDataType} a The first segment data. + * @param {GVol.ModifySegmentDataType} b The second segment data. + * @return {number} The difference in indexes. + * @private + */ +GVol.interaction.Modify.compareIndexes_ = function(a, b) { + return a.index - b.index; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} evt Event. + * @return {boGVolean} Start drag sequence? + * @this {GVol.interaction.Modify} + * @private + */ +GVol.interaction.Modify.handleDownEvent_ = function(evt) { + if (!this.condition_(evt)) { + return false; + } + this.handlePointerAtPixel_(evt.pixel, evt.map); + var pixelCoordinate = evt.map.getCoordinateFromPixel(evt.pixel); + this.dragSegments_.length = 0; + this.modified_ = false; + var vertexFeature = this.vertexFeature_; + if (vertexFeature) { + var insertVertices = []; + var geometry = /** @type {GVol.geom.Point} */ (vertexFeature.getGeometry()); + var vertex = geometry.getCoordinates(); + var vertexExtent = GVol.extent.boundingExtent([vertex]); + var segmentDataMatches = this.rBush_.getInExtent(vertexExtent); + var componentSegments = {}; + segmentDataMatches.sort(GVol.interaction.Modify.compareIndexes_); + for (var i = 0, ii = segmentDataMatches.length; i < ii; ++i) { + var segmentDataMatch = segmentDataMatches[i]; + var segment = segmentDataMatch.segment; + var uid = GVol.getUid(segmentDataMatch.feature); + var depth = segmentDataMatch.depth; + if (depth) { + uid += '-' + depth.join('-'); // separate feature components + } + if (!componentSegments[uid]) { + componentSegments[uid] = new Array(2); + } + if (segmentDataMatch.geometry.getType() === GVol.geom.GeometryType.CIRCLE && + segmentDataMatch.index === GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CIRCUMFERENCE_INDEX) { + + var closestVertex = GVol.interaction.Modify.closestOnSegmentData_(pixelCoordinate, segmentDataMatch); + if (GVol.coordinate.equals(closestVertex, vertex) && !componentSegments[uid][0]) { + this.dragSegments_.push([segmentDataMatch, 0]); + componentSegments[uid][0] = segmentDataMatch; + } + } else if (GVol.coordinate.equals(segment[0], vertex) && + !componentSegments[uid][0]) { + this.dragSegments_.push([segmentDataMatch, 0]); + componentSegments[uid][0] = segmentDataMatch; + } else if (GVol.coordinate.equals(segment[1], vertex) && + !componentSegments[uid][1]) { + + // prevent dragging closed linestrings by the connecting node + if ((segmentDataMatch.geometry.getType() === + GVol.geom.GeometryType.LINE_STRING || + segmentDataMatch.geometry.getType() === + GVol.geom.GeometryType.MULTI_LINE_STRING) && + componentSegments[uid][0] && + componentSegments[uid][0].index === 0) { + continue; + } + + this.dragSegments_.push([segmentDataMatch, 1]); + componentSegments[uid][1] = segmentDataMatch; + } else if (this.insertVertexCondition_(evt) && GVol.getUid(segment) in this.vertexSegments_ && + (!componentSegments[uid][0] && !componentSegments[uid][1])) { + insertVertices.push([segmentDataMatch, vertex]); + } + } + if (insertVertices.length) { + this.willModifyFeatures_(evt); + } + for (var j = insertVertices.length - 1; j >= 0; --j) { + this.insertVertex_.apply(this, insertVertices[j]); + } + } + return !!this.vertexFeature_; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} evt Event. + * @this {GVol.interaction.Modify} + * @private + */ +GVol.interaction.Modify.handleDragEvent_ = function(evt) { + this.ignoreNextSingleClick_ = false; + this.willModifyFeatures_(evt); + + var vertex = evt.coordinate; + for (var i = 0, ii = this.dragSegments_.length; i < ii; ++i) { + var dragSegment = this.dragSegments_[i]; + var segmentData = dragSegment[0]; + var depth = segmentData.depth; + var geometry = segmentData.geometry; + var coordinates; + var segment = segmentData.segment; + var index = dragSegment[1]; + + while (vertex.length < geometry.getStride()) { + vertex.push(segment[index][vertex.length]); + } + + switch (geometry.getType()) { + case GVol.geom.GeometryType.POINT: + coordinates = vertex; + segment[0] = segment[1] = vertex; + break; + case GVol.geom.GeometryType.MULTI_POINT: + coordinates = geometry.getCoordinates(); + coordinates[segmentData.index] = vertex; + segment[0] = segment[1] = vertex; + break; + case GVol.geom.GeometryType.LINE_STRING: + coordinates = geometry.getCoordinates(); + coordinates[segmentData.index + index] = vertex; + segment[index] = vertex; + break; + case GVol.geom.GeometryType.MULTI_LINE_STRING: + coordinates = geometry.getCoordinates(); + coordinates[depth[0]][segmentData.index + index] = vertex; + segment[index] = vertex; + break; + case GVol.geom.GeometryType.POLYGON: + coordinates = geometry.getCoordinates(); + coordinates[depth[0]][segmentData.index + index] = vertex; + segment[index] = vertex; + break; + case GVol.geom.GeometryType.MULTI_POLYGON: + coordinates = geometry.getCoordinates(); + coordinates[depth[1]][depth[0]][segmentData.index + index] = vertex; + segment[index] = vertex; + break; + case GVol.geom.GeometryType.CIRCLE: + segment[0] = segment[1] = vertex; + if (segmentData.index === GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CENTER_INDEX) { + this.changingFeature_ = true; + geometry.setCenter(vertex); + this.changingFeature_ = false; + } else { // We're dragging the circle's circumference: + this.changingFeature_ = true; + geometry.setRadius(GVol.coordinate.distance(geometry.getCenter(), vertex)); + this.changingFeature_ = false; + } + break; + default: + // pass + } + + if (coordinates) { + this.setGeometryCoordinates_(geometry, coordinates); + } + } + this.createOrUpdateVertexFeature_(vertex); +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} evt Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.Modify} + * @private + */ +GVol.interaction.Modify.handleUpEvent_ = function(evt) { + var segmentData; + var geometry; + for (var i = this.dragSegments_.length - 1; i >= 0; --i) { + segmentData = this.dragSegments_[i][0]; + geometry = segmentData.geometry; + if (geometry.getType() === GVol.geom.GeometryType.CIRCLE) { + // Update a circle object in the R* bush: + var coordinates = geometry.getCenter(); + var centerSegmentData = segmentData.featureSegments[0]; + var circumferenceSegmentData = segmentData.featureSegments[1]; + centerSegmentData.segment[0] = centerSegmentData.segment[1] = coordinates; + circumferenceSegmentData.segment[0] = circumferenceSegmentData.segment[1] = coordinates; + this.rBush_.update(GVol.extent.createOrUpdateFromCoordinate(coordinates), centerSegmentData); + this.rBush_.update(geometry.getExtent(), circumferenceSegmentData); + } else { + this.rBush_.update(GVol.extent.boundingExtent(segmentData.segment), + segmentData); + } + } + if (this.modified_) { + this.dispatchEvent(new GVol.interaction.Modify.Event( + GVol.interaction.ModifyEventType.MODIFYEND, this.features_, evt)); + this.modified_ = false; + } + return false; +}; + + +/** + * Handles the {@link GVol.MapBrowserEvent map browser event} and may modify the + * geometry. + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} `false` to stop event propagation. + * @this {GVol.interaction.Modify} + * @api + */ +GVol.interaction.Modify.handleEvent = function(mapBrowserEvent) { + if (!(mapBrowserEvent instanceof GVol.MapBrowserPointerEvent)) { + return true; + } + this.lastPointerEvent_ = mapBrowserEvent; + + var handled; + if (!mapBrowserEvent.map.getView().getHints()[GVol.ViewHint.INTERACTING] && + mapBrowserEvent.type == GVol.MapBrowserEventType.POINTERMOVE && + !this.handlingDownUpSequence) { + this.handlePointerMove_(mapBrowserEvent); + } + if (this.vertexFeature_ && this.deleteCondition_(mapBrowserEvent)) { + if (mapBrowserEvent.type != GVol.MapBrowserEventType.SINGLECLICK || + !this.ignoreNextSingleClick_) { + handled = this.removePoint(); + } else { + handled = true; + } + } + + if (mapBrowserEvent.type == GVol.MapBrowserEventType.SINGLECLICK) { + this.ignoreNextSingleClick_ = false; + } + + return GVol.interaction.Pointer.handleEvent.call(this, mapBrowserEvent) && + !handled; +}; + + +/** + * @param {GVol.MapBrowserEvent} evt Event. + * @private + */ +GVol.interaction.Modify.prototype.handlePointerMove_ = function(evt) { + this.lastPixel_ = evt.pixel; + this.handlePointerAtPixel_(evt.pixel, evt.map); +}; + + +/** + * @param {GVol.Pixel} pixel Pixel + * @param {GVol.Map} map Map. + * @private + */ +GVol.interaction.Modify.prototype.handlePointerAtPixel_ = function(pixel, map) { + var pixelCoordinate = map.getCoordinateFromPixel(pixel); + var sortByDistance = function(a, b) { + return GVol.interaction.Modify.pointDistanceToSegmentDataSquared_(pixelCoordinate, a) - + GVol.interaction.Modify.pointDistanceToSegmentDataSquared_(pixelCoordinate, b); + }; + + var box = GVol.extent.buffer( + GVol.extent.createOrUpdateFromCoordinate(pixelCoordinate), + map.getView().getResGVolution() * this.pixelTGVolerance_); + + var rBush = this.rBush_; + var nodes = rBush.getInExtent(box); + if (nodes.length > 0) { + nodes.sort(sortByDistance); + var node = nodes[0]; + var closestSegment = node.segment; + var vertex = GVol.interaction.Modify.closestOnSegmentData_(pixelCoordinate, node); + var vertexPixel = map.getPixelFromCoordinate(vertex); + var dist = GVol.coordinate.distance(pixel, vertexPixel); + if (dist <= this.pixelTGVolerance_) { + var vertexSegments = {}; + + if (node.geometry.getType() === GVol.geom.GeometryType.CIRCLE && + node.index === GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CIRCUMFERENCE_INDEX) { + + this.snappedToVertex_ = true; + this.createOrUpdateVertexFeature_(vertex); + } else { + var pixel1 = map.getPixelFromCoordinate(closestSegment[0]); + var pixel2 = map.getPixelFromCoordinate(closestSegment[1]); + var squaredDist1 = GVol.coordinate.squaredDistance(vertexPixel, pixel1); + var squaredDist2 = GVol.coordinate.squaredDistance(vertexPixel, pixel2); + dist = Math.sqrt(Math.min(squaredDist1, squaredDist2)); + this.snappedToVertex_ = dist <= this.pixelTGVolerance_; + if (this.snappedToVertex_) { + vertex = squaredDist1 > squaredDist2 ? + closestSegment[1] : closestSegment[0]; + } + this.createOrUpdateVertexFeature_(vertex); + var segment; + for (var i = 1, ii = nodes.length; i < ii; ++i) { + segment = nodes[i].segment; + if ((GVol.coordinate.equals(closestSegment[0], segment[0]) && + GVol.coordinate.equals(closestSegment[1], segment[1]) || + (GVol.coordinate.equals(closestSegment[0], segment[1]) && + GVol.coordinate.equals(closestSegment[1], segment[0])))) { + vertexSegments[GVol.getUid(segment)] = true; + } else { + break; + } + } + } + + vertexSegments[GVol.getUid(closestSegment)] = true; + this.vertexSegments_ = vertexSegments; + return; + } + } + if (this.vertexFeature_) { + this.overlay_.getSource().removeFeature(this.vertexFeature_); + this.vertexFeature_ = null; + } +}; + + +/** + * Returns the distance from a point to a line segment. + * + * @param {GVol.Coordinate} pointCoordinates The coordinates of the point from + * which to calculate the distance. + * @param {GVol.ModifySegmentDataType} segmentData The object describing the line + * segment we are calculating the distance to. + * @return {number} The square of the distance between a point and a line segment. + */ +GVol.interaction.Modify.pointDistanceToSegmentDataSquared_ = function(pointCoordinates, segmentData) { + var geometry = segmentData.geometry; + + if (geometry.getType() === GVol.geom.GeometryType.CIRCLE) { + var circleGeometry = /** @type {GVol.geom.Circle} */ (geometry); + + if (segmentData.index === GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CIRCUMFERENCE_INDEX) { + var distanceToCenterSquared = + GVol.coordinate.squaredDistance(circleGeometry.getCenter(), pointCoordinates); + var distanceToCircumference = + Math.sqrt(distanceToCenterSquared) - circleGeometry.getRadius(); + return distanceToCircumference * distanceToCircumference; + } + } + return GVol.coordinate.squaredDistanceToSegment(pointCoordinates, segmentData.segment); +}; + +/** + * Returns the point closest to a given line segment. + * + * @param {GVol.Coordinate} pointCoordinates The point to which a closest point + * should be found. + * @param {GVol.ModifySegmentDataType} segmentData The object describing the line + * segment which should contain the closest point. + * @return {GVol.Coordinate} The point closest to the specified line segment. + */ +GVol.interaction.Modify.closestOnSegmentData_ = function(pointCoordinates, segmentData) { + var geometry = segmentData.geometry; + + if (geometry.getType() === GVol.geom.GeometryType.CIRCLE && + segmentData.index === GVol.interaction.Modify.MODIFY_SEGMENT_CIRCLE_CIRCUMFERENCE_INDEX) { + return geometry.getClosestPoint(pointCoordinates); + } + return GVol.coordinate.closestOnSegment(pointCoordinates, segmentData.segment); +}; + + +/** + * @param {GVol.ModifySegmentDataType} segmentData Segment data. + * @param {GVol.Coordinate} vertex Vertex. + * @private + */ +GVol.interaction.Modify.prototype.insertVertex_ = function(segmentData, vertex) { + var segment = segmentData.segment; + var feature = segmentData.feature; + var geometry = segmentData.geometry; + var depth = segmentData.depth; + var index = /** @type {number} */ (segmentData.index); + var coordinates; + + while (vertex.length < geometry.getStride()) { + vertex.push(0); + } + + switch (geometry.getType()) { + case GVol.geom.GeometryType.MULTI_LINE_STRING: + coordinates = geometry.getCoordinates(); + coordinates[depth[0]].splice(index + 1, 0, vertex); + break; + case GVol.geom.GeometryType.POLYGON: + coordinates = geometry.getCoordinates(); + coordinates[depth[0]].splice(index + 1, 0, vertex); + break; + case GVol.geom.GeometryType.MULTI_POLYGON: + coordinates = geometry.getCoordinates(); + coordinates[depth[1]][depth[0]].splice(index + 1, 0, vertex); + break; + case GVol.geom.GeometryType.LINE_STRING: + coordinates = geometry.getCoordinates(); + coordinates.splice(index + 1, 0, vertex); + break; + default: + return; + } + + this.setGeometryCoordinates_(geometry, coordinates); + var rTree = this.rBush_; + rTree.remove(segmentData); + this.updateSegmentIndices_(geometry, index, depth, 1); + var newSegmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + segment: [segment[0], vertex], + feature: feature, + geometry: geometry, + depth: depth, + index: index + }); + rTree.insert(GVol.extent.boundingExtent(newSegmentData.segment), + newSegmentData); + this.dragSegments_.push([newSegmentData, 1]); + + var newSegmentData2 = /** @type {GVol.ModifySegmentDataType} */ ({ + segment: [vertex, segment[1]], + feature: feature, + geometry: geometry, + depth: depth, + index: index + 1 + }); + rTree.insert(GVol.extent.boundingExtent(newSegmentData2.segment), + newSegmentData2); + this.dragSegments_.push([newSegmentData2, 0]); + this.ignoreNextSingleClick_ = true; +}; + +/** + * Removes the vertex currently being pointed. + * @return {boGVolean} True when a vertex was removed. + * @api + */ +GVol.interaction.Modify.prototype.removePoint = function() { + if (this.lastPointerEvent_ && this.lastPointerEvent_.type != GVol.MapBrowserEventType.POINTERDRAG) { + var evt = this.lastPointerEvent_; + this.willModifyFeatures_(evt); + this.removeVertex_(); + this.dispatchEvent(new GVol.interaction.Modify.Event( + GVol.interaction.ModifyEventType.MODIFYEND, this.features_, evt)); + this.modified_ = false; + return true; + } + return false; +}; + +/** + * Removes a vertex from all matching features. + * @return {boGVolean} True when a vertex was removed. + * @private + */ +GVol.interaction.Modify.prototype.removeVertex_ = function() { + var dragSegments = this.dragSegments_; + var segmentsByFeature = {}; + var deleted = false; + var component, coordinates, dragSegment, geometry, i, index, left; + var newIndex, right, segmentData, uid; + for (i = dragSegments.length - 1; i >= 0; --i) { + dragSegment = dragSegments[i]; + segmentData = dragSegment[0]; + uid = GVol.getUid(segmentData.feature); + if (segmentData.depth) { + // separate feature components + uid += '-' + segmentData.depth.join('-'); + } + if (!(uid in segmentsByFeature)) { + segmentsByFeature[uid] = {}; + } + if (dragSegment[1] === 0) { + segmentsByFeature[uid].right = segmentData; + segmentsByFeature[uid].index = segmentData.index; + } else if (dragSegment[1] == 1) { + segmentsByFeature[uid].left = segmentData; + segmentsByFeature[uid].index = segmentData.index + 1; + } + + } + for (uid in segmentsByFeature) { + right = segmentsByFeature[uid].right; + left = segmentsByFeature[uid].left; + index = segmentsByFeature[uid].index; + newIndex = index - 1; + if (left !== undefined) { + segmentData = left; + } else { + segmentData = right; + } + if (newIndex < 0) { + newIndex = 0; + } + geometry = segmentData.geometry; + coordinates = geometry.getCoordinates(); + component = coordinates; + deleted = false; + switch (geometry.getType()) { + case GVol.geom.GeometryType.MULTI_LINE_STRING: + if (coordinates[segmentData.depth[0]].length > 2) { + coordinates[segmentData.depth[0]].splice(index, 1); + deleted = true; + } + break; + case GVol.geom.GeometryType.LINE_STRING: + if (coordinates.length > 2) { + coordinates.splice(index, 1); + deleted = true; + } + break; + case GVol.geom.GeometryType.MULTI_POLYGON: + component = component[segmentData.depth[1]]; + /* falls through */ + case GVol.geom.GeometryType.POLYGON: + component = component[segmentData.depth[0]]; + if (component.length > 4) { + if (index == component.length - 1) { + index = 0; + } + component.splice(index, 1); + deleted = true; + if (index === 0) { + // close the ring again + component.pop(); + component.push(component[0]); + newIndex = component.length - 1; + } + } + break; + default: + // pass + } + + if (deleted) { + this.setGeometryCoordinates_(geometry, coordinates); + var segments = []; + if (left !== undefined) { + this.rBush_.remove(left); + segments.push(left.segment[0]); + } + if (right !== undefined) { + this.rBush_.remove(right); + segments.push(right.segment[1]); + } + if (left !== undefined && right !== undefined) { + var newSegmentData = /** @type {GVol.ModifySegmentDataType} */ ({ + depth: segmentData.depth, + feature: segmentData.feature, + geometry: segmentData.geometry, + index: newIndex, + segment: segments + }); + this.rBush_.insert(GVol.extent.boundingExtent(newSegmentData.segment), + newSegmentData); + } + this.updateSegmentIndices_(geometry, index, segmentData.depth, -1); + if (this.vertexFeature_) { + this.overlay_.getSource().removeFeature(this.vertexFeature_); + this.vertexFeature_ = null; + } + dragSegments.length = 0; + } + + } + return deleted; +}; + + +/** + * @param {GVol.geom.SimpleGeometry} geometry Geometry. + * @param {Array} coordinates Coordinates. + * @private + */ +GVol.interaction.Modify.prototype.setGeometryCoordinates_ = function(geometry, coordinates) { + this.changingFeature_ = true; + geometry.setCoordinates(coordinates); + this.changingFeature_ = false; +}; + + +/** + * @param {GVol.geom.SimpleGeometry} geometry Geometry. + * @param {number} index Index. + * @param {Array.<number>|undefined} depth Depth. + * @param {number} delta Delta (1 or -1). + * @private + */ +GVol.interaction.Modify.prototype.updateSegmentIndices_ = function( + geometry, index, depth, delta) { + this.rBush_.forEachInExtent(geometry.getExtent(), function(segmentDataMatch) { + if (segmentDataMatch.geometry === geometry && + (depth === undefined || segmentDataMatch.depth === undefined || + GVol.array.equals(segmentDataMatch.depth, depth)) && + segmentDataMatch.index > index) { + segmentDataMatch.index += delta; + } + }); +}; + + +/** + * @return {GVol.StyleFunction} Styles. + */ +GVol.interaction.Modify.getDefaultStyleFunction = function() { + var style = GVol.style.Style.createDefaultEditing(); + return function(feature, resGVolution) { + return style[GVol.geom.GeometryType.POINT]; + }; +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.interaction.Modify} instances are instances of + * this type. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.ModifyEvent} + * @param {GVol.interaction.ModifyEventType} type Type. + * @param {GVol.CGVollection.<GVol.Feature>} features The features modified. + * @param {GVol.MapBrowserPointerEvent} mapBrowserPointerEvent Associated + * {@link GVol.MapBrowserPointerEvent}. + */ +GVol.interaction.Modify.Event = function(type, features, mapBrowserPointerEvent) { + + GVol.events.Event.call(this, type); + + /** + * The features being modified. + * @type {GVol.CGVollection.<GVol.Feature>} + * @api + */ + this.features = features; + + /** + * Associated {@link GVol.MapBrowserEvent}. + * @type {GVol.MapBrowserEvent} + * @api + */ + this.mapBrowserEvent = mapBrowserPointerEvent; +}; +GVol.inherits(GVol.interaction.Modify.Event, GVol.events.Event); + +goog.provide('GVol.interaction.Select'); + +goog.require('GVol'); +goog.require('GVol.CGVollectionEventType'); +goog.require('GVol.array'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); +goog.require('GVol.events.condition'); +goog.require('GVol.functions'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.interaction.Interaction'); +goog.require('GVol.layer.Vector'); +goog.require('GVol.obj'); +goog.require('GVol.source.Vector'); +goog.require('GVol.style.Style'); + + +/** + * @classdesc + * Interaction for selecting vector features. By default, selected features are + * styled differently, so this interaction can be used for visual highlighting, + * as well as selecting features for other actions, such as modification or + * output. There are three ways of contrGVolling which features are selected: + * using the browser event as defined by the `condition` and optionally the + * `toggle`, `add`/`remove`, and `multi` options; a `layers` filter; and a + * further feature filter using the `filter` option. + * + * Selected features are added to an internal unmanaged layer. + * + * @constructor + * @extends {GVol.interaction.Interaction} + * @param {GVolx.interaction.SelectOptions=} opt_options Options. + * @fires GVol.interaction.Select.Event + * @api + */ +GVol.interaction.Select = function(opt_options) { + + GVol.interaction.Interaction.call(this, { + handleEvent: GVol.interaction.Select.handleEvent + }); + + var options = opt_options ? opt_options : {}; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.condition_ = options.condition ? + options.condition : GVol.events.condition.singleClick; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.addCondition_ = options.addCondition ? + options.addCondition : GVol.events.condition.never; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.removeCondition_ = options.removeCondition ? + options.removeCondition : GVol.events.condition.never; + + /** + * @private + * @type {GVol.EventsConditionType} + */ + this.toggleCondition_ = options.toggleCondition ? + options.toggleCondition : GVol.events.condition.shiftKeyOnly; + + /** + * @private + * @type {boGVolean} + */ + this.multi_ = options.multi ? options.multi : false; + + /** + * @private + * @type {GVol.SelectFilterFunction} + */ + this.filter_ = options.filter ? options.filter : + GVol.functions.TRUE; + + /** + * @private + * @type {number} + */ + this.hitTGVolerance_ = options.hitTGVolerance ? options.hitTGVolerance : 0; + + var featureOverlay = new GVol.layer.Vector({ + source: new GVol.source.Vector({ + useSpatialIndex: false, + features: options.features, + wrapX: options.wrapX + }), + style: options.style ? options.style : + GVol.interaction.Select.getDefaultStyleFunction(), + updateWhileAnimating: true, + updateWhileInteracting: true + }); + + /** + * @private + * @type {GVol.layer.Vector} + */ + this.featureOverlay_ = featureOverlay; + + /** @type {function(GVol.layer.Layer): boGVolean} */ + var layerFilter; + if (options.layers) { + if (typeof options.layers === 'function') { + layerFilter = options.layers; + } else { + var layers = options.layers; + layerFilter = function(layer) { + return GVol.array.includes(layers, layer); + }; + } + } else { + layerFilter = GVol.functions.TRUE; + } + + /** + * @private + * @type {function(GVol.layer.Layer): boGVolean} + */ + this.layerFilter_ = layerFilter; + + /** + * An association between selected feature (key) + * and layer (value) + * @private + * @type {Object.<number, GVol.layer.Layer>} + */ + this.featureLayerAssociation_ = {}; + + var features = this.featureOverlay_.getSource().getFeaturesCGVollection(); + GVol.events.listen(features, GVol.CGVollectionEventType.ADD, + this.addFeature_, this); + GVol.events.listen(features, GVol.CGVollectionEventType.REMOVE, + this.removeFeature_, this); + +}; +GVol.inherits(GVol.interaction.Select, GVol.interaction.Interaction); + + +/** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {GVol.layer.Layer} layer Layer. + * @private + */ +GVol.interaction.Select.prototype.addFeatureLayerAssociation_ = function(feature, layer) { + var key = GVol.getUid(feature); + this.featureLayerAssociation_[key] = layer; +}; + + +/** + * Get the selected features. + * @return {GVol.CGVollection.<GVol.Feature>} Features cGVollection. + * @api + */ +GVol.interaction.Select.prototype.getFeatures = function() { + return this.featureOverlay_.getSource().getFeaturesCGVollection(); +}; + + +/** + * Returns the Hit-detection tGVolerance. + * @returns {number} Hit tGVolerance in pixels. + * @api + */ +GVol.interaction.Select.prototype.getHitTGVolerance = function() { + return this.hitTGVolerance_; +}; + + +/** + * Returns the associated {@link GVol.layer.Vector vectorlayer} of + * the (last) selected feature. Note that this will not work with any + * programmatic method like pushing features to + * {@link GVol.interaction.Select#getFeatures cGVollection}. + * @param {GVol.Feature|GVol.render.Feature} feature Feature + * @return {GVol.layer.Vector} Layer. + * @api + */ +GVol.interaction.Select.prototype.getLayer = function(feature) { + var key = GVol.getUid(feature); + return /** @type {GVol.layer.Vector} */ (this.featureLayerAssociation_[key]); +}; + + +/** + * Handles the {@link GVol.MapBrowserEvent map browser event} and may change the + * selected state of features. + * @param {GVol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boGVolean} `false` to stop event propagation. + * @this {GVol.interaction.Select} + * @api + */ +GVol.interaction.Select.handleEvent = function(mapBrowserEvent) { + if (!this.condition_(mapBrowserEvent)) { + return true; + } + var add = this.addCondition_(mapBrowserEvent); + var remove = this.removeCondition_(mapBrowserEvent); + var toggle = this.toggleCondition_(mapBrowserEvent); + var set = !add && !remove && !toggle; + var map = mapBrowserEvent.map; + var features = this.featureOverlay_.getSource().getFeaturesCGVollection(); + var deselected = []; + var selected = []; + if (set) { + // Replace the currently selected feature(s) with the feature(s) at the + // pixel, or clear the selected feature(s) if there is no feature at + // the pixel. + GVol.obj.clear(this.featureLayerAssociation_); + map.forEachFeatureAtPixel(mapBrowserEvent.pixel, + ( + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {GVol.layer.Layer} layer Layer. + * @return {boGVolean|undefined} Continue to iterate over the features. + */ + function(feature, layer) { + if (this.filter_(feature, layer)) { + selected.push(feature); + this.addFeatureLayerAssociation_(feature, layer); + return !this.multi_; + } + }).bind(this), { + layerFilter: this.layerFilter_, + hitTGVolerance: this.hitTGVolerance_ + }); + var i; + for (i = features.getLength() - 1; i >= 0; --i) { + var feature = features.item(i); + var index = selected.indexOf(feature); + if (index > -1) { + // feature is already selected + selected.splice(index, 1); + } else { + features.remove(feature); + deselected.push(feature); + } + } + if (selected.length !== 0) { + features.extend(selected); + } + } else { + // Modify the currently selected feature(s). + map.forEachFeatureAtPixel(mapBrowserEvent.pixel, + ( + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {GVol.layer.Layer} layer Layer. + * @return {boGVolean|undefined} Continue to iterate over the features. + */ + function(feature, layer) { + if (this.filter_(feature, layer)) { + if ((add || toggle) && + !GVol.array.includes(features.getArray(), feature)) { + selected.push(feature); + this.addFeatureLayerAssociation_(feature, layer); + } else if ((remove || toggle) && + GVol.array.includes(features.getArray(), feature)) { + deselected.push(feature); + this.removeFeatureLayerAssociation_(feature); + } + return !this.multi_; + } + }).bind(this), { + layerFilter: this.layerFilter_, + hitTGVolerance: this.hitTGVolerance_ + }); + var j; + for (j = deselected.length - 1; j >= 0; --j) { + features.remove(deselected[j]); + } + features.extend(selected); + } + if (selected.length > 0 || deselected.length > 0) { + this.dispatchEvent( + new GVol.interaction.Select.Event(GVol.interaction.Select.EventType_.SELECT, + selected, deselected, mapBrowserEvent)); + } + return GVol.events.condition.pointerMove(mapBrowserEvent); +}; + + +/** + * Hit-detection tGVolerance. Pixels inside the radius around the given position + * will be checked for features. This only works for the canvas renderer and + * not for WebGL. + * @param {number} hitTGVolerance Hit tGVolerance in pixels. + * @api + */ +GVol.interaction.Select.prototype.setHitTGVolerance = function(hitTGVolerance) { + this.hitTGVolerance_ = hitTGVolerance; +}; + + +/** + * Remove the interaction from its current map, if any, and attach it to a new + * map, if any. Pass `null` to just remove the interaction from the current map. + * @param {GVol.Map} map Map. + * @override + * @api + */ +GVol.interaction.Select.prototype.setMap = function(map) { + var currentMap = this.getMap(); + var selectedFeatures = + this.featureOverlay_.getSource().getFeaturesCGVollection(); + if (currentMap) { + selectedFeatures.forEach(currentMap.unskipFeature, currentMap); + } + GVol.interaction.Interaction.prototype.setMap.call(this, map); + this.featureOverlay_.setMap(map); + if (map) { + selectedFeatures.forEach(map.skipFeature, map); + } +}; + + +/** + * @return {GVol.StyleFunction} Styles. + */ +GVol.interaction.Select.getDefaultStyleFunction = function() { + var styles = GVol.style.Style.createDefaultEditing(); + GVol.array.extend(styles[GVol.geom.GeometryType.POLYGON], + styles[GVol.geom.GeometryType.LINE_STRING]); + GVol.array.extend(styles[GVol.geom.GeometryType.GEOMETRY_COLLECTION], + styles[GVol.geom.GeometryType.LINE_STRING]); + + return function(feature, resGVolution) { + if (!feature.getGeometry()) { + return null; + } + return styles[feature.getGeometry().getType()]; + }; +}; + + +/** + * @param {GVol.CGVollection.Event} evt Event. + * @private + */ +GVol.interaction.Select.prototype.addFeature_ = function(evt) { + var map = this.getMap(); + if (map) { + map.skipFeature(/** @type {GVol.Feature} */ (evt.element)); + } +}; + + +/** + * @param {GVol.CGVollection.Event} evt Event. + * @private + */ +GVol.interaction.Select.prototype.removeFeature_ = function(evt) { + var map = this.getMap(); + if (map) { + map.unskipFeature(/** @type {GVol.Feature} */ (evt.element)); + } +}; + + +/** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @private + */ +GVol.interaction.Select.prototype.removeFeatureLayerAssociation_ = function(feature) { + var key = GVol.getUid(feature); + delete this.featureLayerAssociation_[key]; +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.interaction.Select} instances are instances of + * this type. + * + * @param {GVol.interaction.Select.EventType_} type The event type. + * @param {Array.<GVol.Feature>} selected Selected features. + * @param {Array.<GVol.Feature>} deselected Deselected features. + * @param {GVol.MapBrowserEvent} mapBrowserEvent Associated + * {@link GVol.MapBrowserEvent}. + * @implements {GVoli.SelectEvent} + * @extends {GVol.events.Event} + * @constructor + */ +GVol.interaction.Select.Event = function(type, selected, deselected, mapBrowserEvent) { + GVol.events.Event.call(this, type); + + /** + * Selected features array. + * @type {Array.<GVol.Feature>} + * @api + */ + this.selected = selected; + + /** + * Deselected features array. + * @type {Array.<GVol.Feature>} + * @api + */ + this.deselected = deselected; + + /** + * Associated {@link GVol.MapBrowserEvent}. + * @type {GVol.MapBrowserEvent} + * @api + */ + this.mapBrowserEvent = mapBrowserEvent; +}; +GVol.inherits(GVol.interaction.Select.Event, GVol.events.Event); + + +/** + * @enum {string} + * @private + */ +GVol.interaction.Select.EventType_ = { + /** + * Triggered when feature(s) has been (de)selected. + * @event GVol.interaction.Select.Event#select + * @api + */ + SELECT: 'select' +}; + +goog.provide('GVol.interaction.Snap'); + +goog.require('GVol'); +goog.require('GVol.CGVollection'); +goog.require('GVol.CGVollectionEventType'); +goog.require('GVol.coordinate'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.functions'); +goog.require('GVol.geom.GeometryType'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.interaction.Pointer'); +goog.require('GVol.obj'); +goog.require('GVol.source.Vector'); +goog.require('GVol.source.VectorEventType'); +goog.require('GVol.structs.RBush'); + + +/** + * @classdesc + * Handles snapping of vector features while modifying or drawing them. The + * features can come from a {@link GVol.source.Vector} or {@link GVol.CGVollection} + * Any interaction object that allows the user to interact + * with the features using the mouse can benefit from the snapping, as long + * as it is added before. + * + * The snap interaction modifies map browser event `coordinate` and `pixel` + * properties to force the snap to occur to any interaction that them. + * + * Example: + * + * var snap = new GVol.interaction.Snap({ + * source: source + * }); + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @param {GVolx.interaction.SnapOptions=} opt_options Options. + * @api + */ +GVol.interaction.Snap = function(opt_options) { + + GVol.interaction.Pointer.call(this, { + handleEvent: GVol.interaction.Snap.handleEvent_, + handleDownEvent: GVol.functions.TRUE, + handleUpEvent: GVol.interaction.Snap.handleUpEvent_ + }); + + var options = opt_options ? opt_options : {}; + + /** + * @type {GVol.source.Vector} + * @private + */ + this.source_ = options.source ? options.source : null; + + /** + * @private + * @type {boGVolean} + */ + this.vertex_ = options.vertex !== undefined ? options.vertex : true; + + /** + * @private + * @type {boGVolean} + */ + this.edge_ = options.edge !== undefined ? options.edge : true; + + /** + * @type {GVol.CGVollection.<GVol.Feature>} + * @private + */ + this.features_ = options.features ? options.features : null; + + /** + * @type {Array.<GVol.EventsKey>} + * @private + */ + this.featuresListenerKeys_ = []; + + /** + * @type {Object.<number, GVol.EventsKey>} + * @private + */ + this.featureChangeListenerKeys_ = {}; + + /** + * Extents are preserved so indexed segment can be quickly removed + * when its feature geometry changes + * @type {Object.<number, GVol.Extent>} + * @private + */ + this.indexedFeaturesExtents_ = {}; + + /** + * If a feature geometry changes while a pointer drag|move event occurs, the + * feature doesn't get updated right away. It will be at the next 'pointerup' + * event fired. + * @type {Object.<number, GVol.Feature>} + * @private + */ + this.pendingFeatures_ = {}; + + /** + * Used for distance sorting in sortByDistance_ + * @type {GVol.Coordinate} + * @private + */ + this.pixelCoordinate_ = null; + + /** + * @type {number} + * @private + */ + this.pixelTGVolerance_ = options.pixelTGVolerance !== undefined ? + options.pixelTGVolerance : 10; + + /** + * @type {function(GVol.SnapSegmentDataType, GVol.SnapSegmentDataType): number} + * @private + */ + this.sortByDistance_ = GVol.interaction.Snap.sortByDistance.bind(this); + + + /** + * Segment RTree for each layer + * @type {GVol.structs.RBush.<GVol.SnapSegmentDataType>} + * @private + */ + this.rBush_ = new GVol.structs.RBush(); + + + /** + * @const + * @private + * @type {Object.<string, function(GVol.Feature, GVol.geom.Geometry)>} + */ + this.SEGMENT_WRITERS_ = { + 'Point': this.writePointGeometry_, + 'LineString': this.writeLineStringGeometry_, + 'LinearRing': this.writeLineStringGeometry_, + 'PGVolygon': this.writePGVolygonGeometry_, + 'MultiPoint': this.writeMultiPointGeometry_, + 'MultiLineString': this.writeMultiLineStringGeometry_, + 'MultiPGVolygon': this.writeMultiPGVolygonGeometry_, + 'GeometryCGVollection': this.writeGeometryCGVollectionGeometry_, + 'Circle': this.writeCircleGeometry_ + }; +}; +GVol.inherits(GVol.interaction.Snap, GVol.interaction.Pointer); + + +/** + * Add a feature to the cGVollection of features that we may snap to. + * @param {GVol.Feature} feature Feature. + * @param {boGVolean=} opt_listen Whether to listen to the feature change or not + * Defaults to `true`. + * @api + */ +GVol.interaction.Snap.prototype.addFeature = function(feature, opt_listen) { + var listen = opt_listen !== undefined ? opt_listen : true; + var feature_uid = GVol.getUid(feature); + var geometry = feature.getGeometry(); + if (geometry) { + var segmentWriter = this.SEGMENT_WRITERS_[geometry.getType()]; + if (segmentWriter) { + this.indexedFeaturesExtents_[feature_uid] = geometry.getExtent( + GVol.extent.createEmpty()); + segmentWriter.call(this, feature, geometry); + } + } + + if (listen) { + this.featureChangeListenerKeys_[feature_uid] = GVol.events.listen( + feature, + GVol.events.EventType.CHANGE, + this.handleFeatureChange_, this); + } +}; + + +/** + * @param {GVol.Feature} feature Feature. + * @private + */ +GVol.interaction.Snap.prototype.forEachFeatureAdd_ = function(feature) { + this.addFeature(feature); +}; + + +/** + * @param {GVol.Feature} feature Feature. + * @private + */ +GVol.interaction.Snap.prototype.forEachFeatureRemove_ = function(feature) { + this.removeFeature(feature); +}; + + +/** + * @return {GVol.CGVollection.<GVol.Feature>|Array.<GVol.Feature>} Features. + * @private + */ +GVol.interaction.Snap.prototype.getFeatures_ = function() { + var features; + if (this.features_) { + features = this.features_; + } else if (this.source_) { + features = this.source_.getFeatures(); + } + return /** @type {!Array.<GVol.Feature>|!GVol.CGVollection.<GVol.Feature>} */ (features); +}; + + +/** + * @param {GVol.source.Vector.Event|GVol.CGVollection.Event} evt Event. + * @private + */ +GVol.interaction.Snap.prototype.handleFeatureAdd_ = function(evt) { + var feature; + if (evt instanceof GVol.source.Vector.Event) { + feature = evt.feature; + } else if (evt instanceof GVol.CGVollection.Event) { + feature = evt.element; + } + this.addFeature(/** @type {GVol.Feature} */ (feature)); +}; + + +/** + * @param {GVol.source.Vector.Event|GVol.CGVollection.Event} evt Event. + * @private + */ +GVol.interaction.Snap.prototype.handleFeatureRemove_ = function(evt) { + var feature; + if (evt instanceof GVol.source.Vector.Event) { + feature = evt.feature; + } else if (evt instanceof GVol.CGVollection.Event) { + feature = evt.element; + } + this.removeFeature(/** @type {GVol.Feature} */ (feature)); +}; + + +/** + * @param {GVol.events.Event} evt Event. + * @private + */ +GVol.interaction.Snap.prototype.handleFeatureChange_ = function(evt) { + var feature = /** @type {GVol.Feature} */ (evt.target); + if (this.handlingDownUpSequence) { + var uid = GVol.getUid(feature); + if (!(uid in this.pendingFeatures_)) { + this.pendingFeatures_[uid] = feature; + } + } else { + this.updateFeature_(feature); + } +}; + + +/** + * Remove a feature from the cGVollection of features that we may snap to. + * @param {GVol.Feature} feature Feature + * @param {boGVolean=} opt_unlisten Whether to unlisten to the feature change + * or not. Defaults to `true`. + * @api + */ +GVol.interaction.Snap.prototype.removeFeature = function(feature, opt_unlisten) { + var unlisten = opt_unlisten !== undefined ? opt_unlisten : true; + var feature_uid = GVol.getUid(feature); + var extent = this.indexedFeaturesExtents_[feature_uid]; + if (extent) { + var rBush = this.rBush_; + var i, nodesToRemove = []; + rBush.forEachInExtent(extent, function(node) { + if (feature === node.feature) { + nodesToRemove.push(node); + } + }); + for (i = nodesToRemove.length - 1; i >= 0; --i) { + rBush.remove(nodesToRemove[i]); + } + } + + if (unlisten) { + GVol.events.unlistenByKey(this.featureChangeListenerKeys_[feature_uid]); + delete this.featureChangeListenerKeys_[feature_uid]; + } +}; + + +/** + * @inheritDoc + */ +GVol.interaction.Snap.prototype.setMap = function(map) { + var currentMap = this.getMap(); + var keys = this.featuresListenerKeys_; + var features = this.getFeatures_(); + + if (currentMap) { + keys.forEach(GVol.events.unlistenByKey); + keys.length = 0; + features.forEach(this.forEachFeatureRemove_, this); + } + GVol.interaction.Pointer.prototype.setMap.call(this, map); + + if (map) { + if (this.features_) { + keys.push( + GVol.events.listen(this.features_, GVol.CGVollectionEventType.ADD, + this.handleFeatureAdd_, this), + GVol.events.listen(this.features_, GVol.CGVollectionEventType.REMOVE, + this.handleFeatureRemove_, this) + ); + } else if (this.source_) { + keys.push( + GVol.events.listen(this.source_, GVol.source.VectorEventType.ADDFEATURE, + this.handleFeatureAdd_, this), + GVol.events.listen(this.source_, GVol.source.VectorEventType.REMOVEFEATURE, + this.handleFeatureRemove_, this) + ); + } + features.forEach(this.forEachFeatureAdd_, this); + } +}; + + +/** + * @inheritDoc + */ +GVol.interaction.Snap.prototype.shouldStopEvent = GVol.functions.FALSE; + + +/** + * @param {GVol.Pixel} pixel Pixel + * @param {GVol.Coordinate} pixelCoordinate Coordinate + * @param {GVol.Map} map Map. + * @return {GVol.SnapResultType} Snap result + */ +GVol.interaction.Snap.prototype.snapTo = function(pixel, pixelCoordinate, map) { + + var lowerLeft = map.getCoordinateFromPixel( + [pixel[0] - this.pixelTGVolerance_, pixel[1] + this.pixelTGVolerance_]); + var upperRight = map.getCoordinateFromPixel( + [pixel[0] + this.pixelTGVolerance_, pixel[1] - this.pixelTGVolerance_]); + var box = GVol.extent.boundingExtent([lowerLeft, upperRight]); + + var segments = this.rBush_.getInExtent(box); + + // If snapping on vertices only, don't consider circles + if (this.vertex_ && !this.edge_) { + segments = segments.filter(function(segment) { + return segment.feature.getGeometry().getType() !== + GVol.geom.GeometryType.CIRCLE; + }); + } + + var snappedToVertex = false; + var snapped = false; + var vertex = null; + var vertexPixel = null; + var dist, pixel1, pixel2, squaredDist1, squaredDist2; + if (segments.length > 0) { + this.pixelCoordinate_ = pixelCoordinate; + segments.sort(this.sortByDistance_); + var closestSegment = segments[0].segment; + var isCircle = segments[0].feature.getGeometry().getType() === + GVol.geom.GeometryType.CIRCLE; + if (this.vertex_ && !this.edge_) { + pixel1 = map.getPixelFromCoordinate(closestSegment[0]); + pixel2 = map.getPixelFromCoordinate(closestSegment[1]); + squaredDist1 = GVol.coordinate.squaredDistance(pixel, pixel1); + squaredDist2 = GVol.coordinate.squaredDistance(pixel, pixel2); + dist = Math.sqrt(Math.min(squaredDist1, squaredDist2)); + snappedToVertex = dist <= this.pixelTGVolerance_; + if (snappedToVertex) { + snapped = true; + vertex = squaredDist1 > squaredDist2 ? + closestSegment[1] : closestSegment[0]; + vertexPixel = map.getPixelFromCoordinate(vertex); + } + } else if (this.edge_) { + if (isCircle) { + vertex = GVol.coordinate.closestOnCircle(pixelCoordinate, + /** @type {GVol.geom.Circle} */ (segments[0].feature.getGeometry())); + } else { + vertex = (GVol.coordinate.closestOnSegment(pixelCoordinate, + closestSegment)); + } + vertexPixel = map.getPixelFromCoordinate(vertex); + if (GVol.coordinate.distance(pixel, vertexPixel) <= this.pixelTGVolerance_) { + snapped = true; + if (this.vertex_ && !isCircle) { + pixel1 = map.getPixelFromCoordinate(closestSegment[0]); + pixel2 = map.getPixelFromCoordinate(closestSegment[1]); + squaredDist1 = GVol.coordinate.squaredDistance(vertexPixel, pixel1); + squaredDist2 = GVol.coordinate.squaredDistance(vertexPixel, pixel2); + dist = Math.sqrt(Math.min(squaredDist1, squaredDist2)); + snappedToVertex = dist <= this.pixelTGVolerance_; + if (snappedToVertex) { + vertex = squaredDist1 > squaredDist2 ? + closestSegment[1] : closestSegment[0]; + vertexPixel = map.getPixelFromCoordinate(vertex); + } + } + } + } + if (snapped) { + vertexPixel = [Math.round(vertexPixel[0]), Math.round(vertexPixel[1])]; + } + } + return /** @type {GVol.SnapResultType} */ ({ + snapped: snapped, + vertex: vertex, + vertexPixel: vertexPixel + }); +}; + + +/** + * @param {GVol.Feature} feature Feature + * @private + */ +GVol.interaction.Snap.prototype.updateFeature_ = function(feature) { + this.removeFeature(feature, false); + this.addFeature(feature, false); +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.Circle} geometry Geometry. + * @private + */ +GVol.interaction.Snap.prototype.writeCircleGeometry_ = function(feature, geometry) { + var pGVolygon = GVol.geom.PGVolygon.fromCircle(geometry); + var coordinates = pGVolygon.getCoordinates()[0]; + var i, ii, segment, segmentData; + for (i = 0, ii = coordinates.length - 1; i < ii; ++i) { + segment = coordinates.slice(i, i + 2); + segmentData = /** @type {GVol.SnapSegmentDataType} */ ({ + feature: feature, + segment: segment + }); + this.rBush_.insert(GVol.extent.boundingExtent(segment), segmentData); + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.GeometryCGVollection} geometry Geometry. + * @private + */ +GVol.interaction.Snap.prototype.writeGeometryCGVollectionGeometry_ = function(feature, geometry) { + var i, geometries = geometry.getGeometriesArray(); + for (i = 0; i < geometries.length; ++i) { + var segmentWriter = this.SEGMENT_WRITERS_[geometries[i].getType()]; + if (segmentWriter) { + segmentWriter.call(this, feature, geometries[i]); + } + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.LineString} geometry Geometry. + * @private + */ +GVol.interaction.Snap.prototype.writeLineStringGeometry_ = function(feature, geometry) { + var coordinates = geometry.getCoordinates(); + var i, ii, segment, segmentData; + for (i = 0, ii = coordinates.length - 1; i < ii; ++i) { + segment = coordinates.slice(i, i + 2); + segmentData = /** @type {GVol.SnapSegmentDataType} */ ({ + feature: feature, + segment: segment + }); + this.rBush_.insert(GVol.extent.boundingExtent(segment), segmentData); + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.MultiLineString} geometry Geometry. + * @private + */ +GVol.interaction.Snap.prototype.writeMultiLineStringGeometry_ = function(feature, geometry) { + var lines = geometry.getCoordinates(); + var coordinates, i, ii, j, jj, segment, segmentData; + for (j = 0, jj = lines.length; j < jj; ++j) { + coordinates = lines[j]; + for (i = 0, ii = coordinates.length - 1; i < ii; ++i) { + segment = coordinates.slice(i, i + 2); + segmentData = /** @type {GVol.SnapSegmentDataType} */ ({ + feature: feature, + segment: segment + }); + this.rBush_.insert(GVol.extent.boundingExtent(segment), segmentData); + } + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.MultiPoint} geometry Geometry. + * @private + */ +GVol.interaction.Snap.prototype.writeMultiPointGeometry_ = function(feature, geometry) { + var points = geometry.getCoordinates(); + var coordinates, i, ii, segmentData; + for (i = 0, ii = points.length; i < ii; ++i) { + coordinates = points[i]; + segmentData = /** @type {GVol.SnapSegmentDataType} */ ({ + feature: feature, + segment: [coordinates, coordinates] + }); + this.rBush_.insert(geometry.getExtent(), segmentData); + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.MultiPGVolygon} geometry Geometry. + * @private + */ +GVol.interaction.Snap.prototype.writeMultiPGVolygonGeometry_ = function(feature, geometry) { + var pGVolygons = geometry.getCoordinates(); + var coordinates, i, ii, j, jj, k, kk, rings, segment, segmentData; + for (k = 0, kk = pGVolygons.length; k < kk; ++k) { + rings = pGVolygons[k]; + for (j = 0, jj = rings.length; j < jj; ++j) { + coordinates = rings[j]; + for (i = 0, ii = coordinates.length - 1; i < ii; ++i) { + segment = coordinates.slice(i, i + 2); + segmentData = /** @type {GVol.SnapSegmentDataType} */ ({ + feature: feature, + segment: segment + }); + this.rBush_.insert(GVol.extent.boundingExtent(segment), segmentData); + } + } + } +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.Point} geometry Geometry. + * @private + */ +GVol.interaction.Snap.prototype.writePointGeometry_ = function(feature, geometry) { + var coordinates = geometry.getCoordinates(); + var segmentData = /** @type {GVol.SnapSegmentDataType} */ ({ + feature: feature, + segment: [coordinates, coordinates] + }); + this.rBush_.insert(geometry.getExtent(), segmentData); +}; + + +/** + * @param {GVol.Feature} feature Feature + * @param {GVol.geom.PGVolygon} geometry Geometry. + * @private + */ +GVol.interaction.Snap.prototype.writePGVolygonGeometry_ = function(feature, geometry) { + var rings = geometry.getCoordinates(); + var coordinates, i, ii, j, jj, segment, segmentData; + for (j = 0, jj = rings.length; j < jj; ++j) { + coordinates = rings[j]; + for (i = 0, ii = coordinates.length - 1; i < ii; ++i) { + segment = coordinates.slice(i, i + 2); + segmentData = /** @type {GVol.SnapSegmentDataType} */ ({ + feature: feature, + segment: segment + }); + this.rBush_.insert(GVol.extent.boundingExtent(segment), segmentData); + } + } +}; + + +/** + * Handle all pointer events events. + * @param {GVol.MapBrowserEvent} evt A move event. + * @return {boGVolean} Pass the event to other interactions. + * @this {GVol.interaction.Snap} + * @private + */ +GVol.interaction.Snap.handleEvent_ = function(evt) { + var result = this.snapTo(evt.pixel, evt.coordinate, evt.map); + if (result.snapped) { + evt.coordinate = result.vertex.slice(0, 2); + evt.pixel = result.vertexPixel; + } + return GVol.interaction.Pointer.handleEvent.call(this, evt); +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} evt Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.Snap} + * @private + */ +GVol.interaction.Snap.handleUpEvent_ = function(evt) { + var featuresToUpdate = GVol.obj.getValues(this.pendingFeatures_); + if (featuresToUpdate.length) { + featuresToUpdate.forEach(this.updateFeature_, this); + this.pendingFeatures_ = {}; + } + return false; +}; + + +/** + * Sort segments by distance, helper function + * @param {GVol.SnapSegmentDataType} a The first segment data. + * @param {GVol.SnapSegmentDataType} b The second segment data. + * @return {number} The difference in distance. + * @this {GVol.interaction.Snap} + */ +GVol.interaction.Snap.sortByDistance = function(a, b) { + return GVol.coordinate.squaredDistanceToSegment( + this.pixelCoordinate_, a.segment) - + GVol.coordinate.squaredDistanceToSegment( + this.pixelCoordinate_, b.segment); +}; + +goog.provide('GVol.interaction.TranslateEventType'); + + +/** + * @enum {string} + */ +GVol.interaction.TranslateEventType = { + /** + * Triggered upon feature translation start. + * @event GVol.interaction.Translate.Event#translatestart + * @api + */ + TRANSLATESTART: 'translatestart', + /** + * Triggered upon feature translation. + * @event GVol.interaction.Translate.Event#translating + * @api + */ + TRANSLATING: 'translating', + /** + * Triggered upon feature translation end. + * @event GVol.interaction.Translate.Event#translateend + * @api + */ + TRANSLATEEND: 'translateend' +}; + +goog.provide('GVol.interaction.Translate'); + +goog.require('GVol'); +goog.require('GVol.CGVollection'); +goog.require('GVol.Object'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); +goog.require('GVol.functions'); +goog.require('GVol.array'); +goog.require('GVol.interaction.Pointer'); +goog.require('GVol.interaction.Property'); +goog.require('GVol.interaction.TranslateEventType'); + + +/** + * @classdesc + * Interaction for translating (moving) features. + * + * @constructor + * @extends {GVol.interaction.Pointer} + * @fires GVol.interaction.Translate.Event + * @param {GVolx.interaction.TranslateOptions=} opt_options Options. + * @api + */ +GVol.interaction.Translate = function(opt_options) { + GVol.interaction.Pointer.call(this, { + handleDownEvent: GVol.interaction.Translate.handleDownEvent_, + handleDragEvent: GVol.interaction.Translate.handleDragEvent_, + handleMoveEvent: GVol.interaction.Translate.handleMoveEvent_, + handleUpEvent: GVol.interaction.Translate.handleUpEvent_ + }); + + var options = opt_options ? opt_options : {}; + + /** + * The last position we translated to. + * @type {GVol.Coordinate} + * @private + */ + this.lastCoordinate_ = null; + + + /** + * @type {GVol.CGVollection.<GVol.Feature>} + * @private + */ + this.features_ = options.features !== undefined ? options.features : null; + + /** @type {function(GVol.layer.Layer): boGVolean} */ + var layerFilter; + if (options.layers) { + if (typeof options.layers === 'function') { + layerFilter = options.layers; + } else { + var layers = options.layers; + layerFilter = function(layer) { + return GVol.array.includes(layers, layer); + }; + } + } else { + layerFilter = GVol.functions.TRUE; + } + + /** + * @private + * @type {function(GVol.layer.Layer): boGVolean} + */ + this.layerFilter_ = layerFilter; + + /** + * @private + * @type {number} + */ + this.hitTGVolerance_ = options.hitTGVolerance ? options.hitTGVolerance : 0; + + /** + * @type {GVol.Feature} + * @private + */ + this.lastFeature_ = null; + + GVol.events.listen(this, + GVol.Object.getChangeEventType(GVol.interaction.Property.ACTIVE), + this.handleActiveChanged_, this); + +}; +GVol.inherits(GVol.interaction.Translate, GVol.interaction.Pointer); + + +/** + * @param {GVol.MapBrowserPointerEvent} event Event. + * @return {boGVolean} Start drag sequence? + * @this {GVol.interaction.Translate} + * @private + */ +GVol.interaction.Translate.handleDownEvent_ = function(event) { + this.lastFeature_ = this.featuresAtPixel_(event.pixel, event.map); + if (!this.lastCoordinate_ && this.lastFeature_) { + this.lastCoordinate_ = event.coordinate; + GVol.interaction.Translate.handleMoveEvent_.call(this, event); + + var features = this.features_ || new GVol.CGVollection([this.lastFeature_]); + + this.dispatchEvent( + new GVol.interaction.Translate.Event( + GVol.interaction.TranslateEventType.TRANSLATESTART, features, + event.coordinate)); + return true; + } + return false; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} event Event. + * @return {boGVolean} Stop drag sequence? + * @this {GVol.interaction.Translate} + * @private + */ +GVol.interaction.Translate.handleUpEvent_ = function(event) { + if (this.lastCoordinate_) { + this.lastCoordinate_ = null; + GVol.interaction.Translate.handleMoveEvent_.call(this, event); + + var features = this.features_ || new GVol.CGVollection([this.lastFeature_]); + + this.dispatchEvent( + new GVol.interaction.Translate.Event( + GVol.interaction.TranslateEventType.TRANSLATEEND, features, + event.coordinate)); + return true; + } + return false; +}; + + +/** + * @param {GVol.MapBrowserPointerEvent} event Event. + * @this {GVol.interaction.Translate} + * @private + */ +GVol.interaction.Translate.handleDragEvent_ = function(event) { + if (this.lastCoordinate_) { + var newCoordinate = event.coordinate; + var deltaX = newCoordinate[0] - this.lastCoordinate_[0]; + var deltaY = newCoordinate[1] - this.lastCoordinate_[1]; + + var features = this.features_ || new GVol.CGVollection([this.lastFeature_]); + + features.forEach(function(feature) { + var geom = feature.getGeometry(); + geom.translate(deltaX, deltaY); + feature.setGeometry(geom); + }); + + this.lastCoordinate_ = newCoordinate; + this.dispatchEvent( + new GVol.interaction.Translate.Event( + GVol.interaction.TranslateEventType.TRANSLATING, features, + newCoordinate)); + } +}; + + +/** + * @param {GVol.MapBrowserEvent} event Event. + * @this {GVol.interaction.Translate} + * @private + */ +GVol.interaction.Translate.handleMoveEvent_ = function(event) { + var elem = event.map.getViewport(); + + // Change the cursor to grab/grabbing if hovering any of the features managed + // by the interaction + if (this.featuresAtPixel_(event.pixel, event.map)) { + elem.classList.remove(this.lastCoordinate_ ? 'GVol-grab' : 'GVol-grabbing'); + elem.classList.add(this.lastCoordinate_ ? 'GVol-grabbing' : 'GVol-grab'); + } else { + elem.classList.remove('GVol-grab', 'GVol-grabbing'); + } +}; + + +/** + * Tests to see if the given coordinates intersects any of our selected + * features. + * @param {GVol.Pixel} pixel Pixel coordinate to test for intersection. + * @param {GVol.Map} map Map to test the intersection on. + * @return {GVol.Feature} Returns the feature found at the specified pixel + * coordinates. + * @private + */ +GVol.interaction.Translate.prototype.featuresAtPixel_ = function(pixel, map) { + return map.forEachFeatureAtPixel(pixel, + function(feature) { + if (!this.features_ || + GVol.array.includes(this.features_.getArray(), feature)) { + return feature; + } + }.bind(this), { + layerFilter: this.layerFilter_, + hitTGVolerance: this.hitTGVolerance_ + }); +}; + + +/** + * Returns the Hit-detection tGVolerance. + * @returns {number} Hit tGVolerance in pixels. + * @api + */ +GVol.interaction.Translate.prototype.getHitTGVolerance = function() { + return this.hitTGVolerance_; +}; + + +/** + * Hit-detection tGVolerance. Pixels inside the radius around the given position + * will be checked for features. This only works for the canvas renderer and + * not for WebGL. + * @param {number} hitTGVolerance Hit tGVolerance in pixels. + * @api + */ +GVol.interaction.Translate.prototype.setHitTGVolerance = function(hitTGVolerance) { + this.hitTGVolerance_ = hitTGVolerance; +}; + + +/** + * @inheritDoc + */ +GVol.interaction.Translate.prototype.setMap = function(map) { + var GVoldMap = this.getMap(); + GVol.interaction.Pointer.prototype.setMap.call(this, map); + this.updateState_(GVoldMap); +}; + + +/** + * @private + */ +GVol.interaction.Translate.prototype.handleActiveChanged_ = function() { + this.updateState_(null); +}; + + +/** + * @param {GVol.Map} GVoldMap Old map. + * @private + */ +GVol.interaction.Translate.prototype.updateState_ = function(GVoldMap) { + var map = this.getMap(); + var active = this.getActive(); + if (!map || !active) { + map = map || GVoldMap; + if (map) { + var elem = map.getViewport(); + elem.classList.remove('GVol-grab', 'GVol-grabbing'); + } + } +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.interaction.Translate} instances are instances of + * this type. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.interaction.TranslateEvent} + * @param {GVol.interaction.TranslateEventType} type Type. + * @param {GVol.CGVollection.<GVol.Feature>} features The features translated. + * @param {GVol.Coordinate} coordinate The event coordinate. + */ +GVol.interaction.Translate.Event = function(type, features, coordinate) { + + GVol.events.Event.call(this, type); + + /** + * The features being translated. + * @type {GVol.CGVollection.<GVol.Feature>} + * @api + */ + this.features = features; + + /** + * The coordinate of the drag event. + * @const + * @type {GVol.Coordinate} + * @api + */ + this.coordinate = coordinate; +}; +GVol.inherits(GVol.interaction.Translate.Event, GVol.events.Event); + +goog.provide('GVol.layer.Heatmap'); + +goog.require('GVol.events'); +goog.require('GVol'); +goog.require('GVol.Object'); +goog.require('GVol.dom'); +goog.require('GVol.layer.Vector'); +goog.require('GVol.math'); +goog.require('GVol.obj'); +goog.require('GVol.render.EventType'); +goog.require('GVol.style.Icon'); +goog.require('GVol.style.Style'); + + +/** + * @classdesc + * Layer for rendering vector data as a heatmap. + * Note that any property set in the options is set as a {@link GVol.Object} + * property on the layer object; for example, setting `title: 'My Title'` in the + * options means that `title` is observable, and has get/set accessors. + * + * @constructor + * @extends {GVol.layer.Vector} + * @fires GVol.render.Event + * @param {GVolx.layer.HeatmapOptions=} opt_options Options. + * @api + */ +GVol.layer.Heatmap = function(opt_options) { + var options = opt_options ? opt_options : {}; + + var baseOptions = GVol.obj.assign({}, options); + + delete baseOptions.gradient; + delete baseOptions.radius; + delete baseOptions.blur; + delete baseOptions.shadow; + delete baseOptions.weight; + GVol.layer.Vector.call(this, /** @type {GVolx.layer.VectorOptions} */ (baseOptions)); + + /** + * @private + * @type {Uint8ClampedArray} + */ + this.gradient_ = null; + + /** + * @private + * @type {number} + */ + this.shadow_ = options.shadow !== undefined ? options.shadow : 250; + + /** + * @private + * @type {string|undefined} + */ + this.circleImage_ = undefined; + + /** + * @private + * @type {Array.<Array.<GVol.style.Style>>} + */ + this.styleCache_ = null; + + GVol.events.listen(this, + GVol.Object.getChangeEventType(GVol.layer.Heatmap.Property_.GRADIENT), + this.handleGradientChanged_, this); + + this.setGradient(options.gradient ? + options.gradient : GVol.layer.Heatmap.DEFAULT_GRADIENT); + + this.setBlur(options.blur !== undefined ? options.blur : 15); + + this.setRadius(options.radius !== undefined ? options.radius : 8); + + GVol.events.listen(this, + GVol.Object.getChangeEventType(GVol.layer.Heatmap.Property_.BLUR), + this.handleStyleChanged_, this); + GVol.events.listen(this, + GVol.Object.getChangeEventType(GVol.layer.Heatmap.Property_.RADIUS), + this.handleStyleChanged_, this); + + this.handleStyleChanged_(); + + var weight = options.weight ? options.weight : 'weight'; + var weightFunction; + if (typeof weight === 'string') { + weightFunction = function(feature) { + return feature.get(weight); + }; + } else { + weightFunction = weight; + } + + this.setStyle(function(feature, resGVolution) { + var weight = weightFunction(feature); + var opacity = weight !== undefined ? GVol.math.clamp(weight, 0, 1) : 1; + // cast to 8 bits + var index = (255 * opacity) | 0; + var style = this.styleCache_[index]; + if (!style) { + style = [ + new GVol.style.Style({ + image: new GVol.style.Icon({ + opacity: opacity, + src: this.circleImage_ + }) + }) + ]; + this.styleCache_[index] = style; + } + return style; + }.bind(this)); + + // For performance reasons, don't sort the features before rendering. + // The render order is not relevant for a heatmap representation. + this.setRenderOrder(null); + + GVol.events.listen(this, GVol.render.EventType.RENDER, this.handleRender_, this); +}; +GVol.inherits(GVol.layer.Heatmap, GVol.layer.Vector); + + +/** + * @const + * @type {Array.<string>} + */ +GVol.layer.Heatmap.DEFAULT_GRADIENT = ['#00f', '#0ff', '#0f0', '#ff0', '#f00']; + + +/** + * @param {Array.<string>} cGVolors A list of cGVolored. + * @return {Uint8ClampedArray} An array. + * @private + */ +GVol.layer.Heatmap.createGradient_ = function(cGVolors) { + var width = 1; + var height = 256; + var context = GVol.dom.createCanvasContext2D(width, height); + + var gradient = context.createLinearGradient(0, 0, width, height); + var step = 1 / (cGVolors.length - 1); + for (var i = 0, ii = cGVolors.length; i < ii; ++i) { + gradient.addCGVolorStop(i * step, cGVolors[i]); + } + + context.fillStyle = gradient; + context.fillRect(0, 0, width, height); + + return context.getImageData(0, 0, width, height).data; +}; + + +/** + * @return {string} Data URL for a circle. + * @private + */ +GVol.layer.Heatmap.prototype.createCircle_ = function() { + var radius = this.getRadius(); + var blur = this.getBlur(); + var halfSize = radius + blur + 1; + var size = 2 * halfSize; + var context = GVol.dom.createCanvasContext2D(size, size); + context.shadowOffsetX = context.shadowOffsetY = this.shadow_; + context.shadowBlur = blur; + context.shadowCGVolor = '#000'; + context.beginPath(); + var center = halfSize - this.shadow_; + context.arc(center, center, radius, 0, Math.PI * 2, true); + context.fill(); + return context.canvas.toDataURL(); +}; + + +/** + * Return the blur size in pixels. + * @return {number} Blur size in pixels. + * @api + * @observable + */ +GVol.layer.Heatmap.prototype.getBlur = function() { + return /** @type {number} */ (this.get(GVol.layer.Heatmap.Property_.BLUR)); +}; + + +/** + * Return the gradient cGVolors as array of strings. + * @return {Array.<string>} CGVolors. + * @api + * @observable + */ +GVol.layer.Heatmap.prototype.getGradient = function() { + return /** @type {Array.<string>} */ ( + this.get(GVol.layer.Heatmap.Property_.GRADIENT)); +}; + + +/** + * Return the size of the radius in pixels. + * @return {number} Radius size in pixel. + * @api + * @observable + */ +GVol.layer.Heatmap.prototype.getRadius = function() { + return /** @type {number} */ (this.get(GVol.layer.Heatmap.Property_.RADIUS)); +}; + + +/** + * @private + */ +GVol.layer.Heatmap.prototype.handleGradientChanged_ = function() { + this.gradient_ = GVol.layer.Heatmap.createGradient_(this.getGradient()); +}; + + +/** + * @private + */ +GVol.layer.Heatmap.prototype.handleStyleChanged_ = function() { + this.circleImage_ = this.createCircle_(); + this.styleCache_ = new Array(256); + this.changed(); +}; + + +/** + * @param {GVol.render.Event} event Post compose event + * @private + */ +GVol.layer.Heatmap.prototype.handleRender_ = function(event) { + var context = event.context; + var canvas = context.canvas; + var image = context.getImageData(0, 0, canvas.width, canvas.height); + var view8 = image.data; + var i, ii, alpha; + for (i = 0, ii = view8.length; i < ii; i += 4) { + alpha = view8[i + 3] * 4; + if (alpha) { + view8[i] = this.gradient_[alpha]; + view8[i + 1] = this.gradient_[alpha + 1]; + view8[i + 2] = this.gradient_[alpha + 2]; + } + } + context.putImageData(image, 0, 0); +}; + + +/** + * Set the blur size in pixels. + * @param {number} blur Blur size in pixels. + * @api + * @observable + */ +GVol.layer.Heatmap.prototype.setBlur = function(blur) { + this.set(GVol.layer.Heatmap.Property_.BLUR, blur); +}; + + +/** + * Set the gradient cGVolors as array of strings. + * @param {Array.<string>} cGVolors Gradient. + * @api + * @observable + */ +GVol.layer.Heatmap.prototype.setGradient = function(cGVolors) { + this.set(GVol.layer.Heatmap.Property_.GRADIENT, cGVolors); +}; + + +/** + * Set the size of the radius in pixels. + * @param {number} radius Radius size in pixel. + * @api + * @observable + */ +GVol.layer.Heatmap.prototype.setRadius = function(radius) { + this.set(GVol.layer.Heatmap.Property_.RADIUS, radius); +}; + + +/** + * @enum {string} + * @private + */ +GVol.layer.Heatmap.Property_ = { + BLUR: 'blur', + GRADIENT: 'gradient', + RADIUS: 'radius' +}; + +goog.provide('GVol.renderer.canvas.IntermediateCanvas'); + +goog.require('GVol'); +goog.require('GVol.coordinate'); +goog.require('GVol.dom'); +goog.require('GVol.extent'); +goog.require('GVol.renderer.canvas.Layer'); +goog.require('GVol.transform'); + + +/** + * @constructor + * @abstract + * @extends {GVol.renderer.canvas.Layer} + * @param {GVol.layer.Layer} layer Layer. + */ +GVol.renderer.canvas.IntermediateCanvas = function(layer) { + + GVol.renderer.canvas.Layer.call(this, layer); + + /** + * @protected + * @type {GVol.Transform} + */ + this.coordinateToCanvasPixelTransform = GVol.transform.create(); + + /** + * @private + * @type {CanvasRenderingContext2D} + */ + this.hitCanvasContext_ = null; + +}; +GVol.inherits(GVol.renderer.canvas.IntermediateCanvas, GVol.renderer.canvas.Layer); + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.IntermediateCanvas.prototype.composeFrame = function(frameState, layerState, context) { + + this.preCompose(context, frameState); + + var image = this.getImage(); + if (image) { + + // clipped rendering if layer extent is set + var extent = layerState.extent; + var clipped = extent !== undefined && + !GVol.extent.containsExtent(extent, frameState.extent) && + GVol.extent.intersects(extent, frameState.extent); + if (clipped) { + this.clip(context, frameState, /** @type {GVol.Extent} */ (extent)); + } + + var imageTransform = this.getImageTransform(); + // for performance reasons, context.save / context.restore is not used + // to save and restore the transformation matrix and the opacity. + // see http://jsperf.com/context-save-restore-versus-variable + var alpha = context.globalAlpha; + context.globalAlpha = layerState.opacity; + + // for performance reasons, context.setTransform is only used + // when the view is rotated. see http://jsperf.com/canvas-transform + var dx = imageTransform[4]; + var dy = imageTransform[5]; + var dw = image.width * imageTransform[0]; + var dh = image.height * imageTransform[3]; + context.drawImage(image, 0, 0, +image.width, +image.height, + Math.round(dx), Math.round(dy), Math.round(dw), Math.round(dh)); + context.globalAlpha = alpha; + + if (clipped) { + context.restore(); + } + } + + this.postCompose(context, frameState, layerState); +}; + + +/** + * @abstract + * @return {HTMLCanvasElement|HTMLVideoElement|Image} Canvas. + */ +GVol.renderer.canvas.IntermediateCanvas.prototype.getImage = function() {}; + + +/** + * @abstract + * @return {!GVol.Transform} Image transform. + */ +GVol.renderer.canvas.IntermediateCanvas.prototype.getImageTransform = function() {}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.IntermediateCanvas.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTGVolerance, callback, thisArg) { + var layer = this.getLayer(); + var source = layer.getSource(); + var resGVolution = frameState.viewState.resGVolution; + var rotation = frameState.viewState.rotation; + var skippedFeatureUids = frameState.skippedFeatureUids; + return source.forEachFeatureAtCoordinate( + coordinate, resGVolution, rotation, hitTGVolerance, skippedFeatureUids, + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @return {?} Callback result. + */ + function(feature) { + return callback.call(thisArg, feature, layer); + }); +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.IntermediateCanvas.prototype.forEachLayerAtCoordinate = function(coordinate, frameState, callback, thisArg) { + if (!this.getImage()) { + return undefined; + } + + if (this.getLayer().getSource().forEachFeatureAtCoordinate !== GVol.nullFunction) { + // for ImageVector sources use the original hit-detection logic, + // so that for example also transparent pGVolygons are detected + return GVol.renderer.canvas.Layer.prototype.forEachLayerAtCoordinate.apply(this, arguments); + } else { + var pixel = GVol.transform.apply(this.coordinateToCanvasPixelTransform, coordinate.slice()); + GVol.coordinate.scale(pixel, frameState.viewState.resGVolution / this.renderedResGVolution); + + if (!this.hitCanvasContext_) { + this.hitCanvasContext_ = GVol.dom.createCanvasContext2D(1, 1); + } + + this.hitCanvasContext_.clearRect(0, 0, 1, 1); + this.hitCanvasContext_.drawImage(this.getImage(), pixel[0], pixel[1], 1, 1, 0, 0, 1, 1); + + var imageData = this.hitCanvasContext_.getImageData(0, 0, 1, 1).data; + if (imageData[3] > 0) { + return callback.call(thisArg, this.getLayer(), imageData); + } else { + return undefined; + } + } +}; + +goog.provide('GVol.renderer.canvas.ImageLayer'); + +goog.require('GVol'); +goog.require('GVol.ViewHint'); +goog.require('GVol.extent'); +goog.require('GVol.renderer.canvas.IntermediateCanvas'); +goog.require('GVol.transform'); + + +/** + * @constructor + * @extends {GVol.renderer.canvas.IntermediateCanvas} + * @param {GVol.layer.Image} imageLayer Single image layer. + */ +GVol.renderer.canvas.ImageLayer = function(imageLayer) { + + GVol.renderer.canvas.IntermediateCanvas.call(this, imageLayer); + + /** + * @private + * @type {?GVol.ImageBase} + */ + this.image_ = null; + + /** + * @private + * @type {GVol.Transform} + */ + this.imageTransform_ = GVol.transform.create(); + +}; +GVol.inherits(GVol.renderer.canvas.ImageLayer, GVol.renderer.canvas.IntermediateCanvas); + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.ImageLayer.prototype.getImage = function() { + return !this.image_ ? null : this.image_.getImage(); +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.ImageLayer.prototype.getImageTransform = function() { + return this.imageTransform_; +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.ImageLayer.prototype.prepareFrame = function(frameState, layerState) { + + var pixelRatio = frameState.pixelRatio; + var size = frameState.size; + var viewState = frameState.viewState; + var viewCenter = viewState.center; + var viewResGVolution = viewState.resGVolution; + + var image; + var imageLayer = /** @type {GVol.layer.Image} */ (this.getLayer()); + var imageSource = imageLayer.getSource(); + + var hints = frameState.viewHints; + + var renderedExtent = frameState.extent; + if (layerState.extent !== undefined) { + renderedExtent = GVol.extent.getIntersection( + renderedExtent, layerState.extent); + } + + if (!hints[GVol.ViewHint.ANIMATING] && !hints[GVol.ViewHint.INTERACTING] && + !GVol.extent.isEmpty(renderedExtent)) { + var projection = viewState.projection; + if (!GVol.ENABLE_RASTER_REPROJECTION) { + var sourceProjection = imageSource.getProjection(); + if (sourceProjection) { + projection = sourceProjection; + } + } + image = imageSource.getImage( + renderedExtent, viewResGVolution, pixelRatio, projection); + if (image) { + var loaded = this.loadImage(image); + if (loaded) { + this.image_ = image; + } + } + } + + if (this.image_) { + image = this.image_; + var imageExtent = image.getExtent(); + var imageResGVolution = image.getResGVolution(); + var imagePixelRatio = image.getPixelRatio(); + var scale = pixelRatio * imageResGVolution / + (viewResGVolution * imagePixelRatio); + var transform = GVol.transform.compose(this.imageTransform_, + pixelRatio * size[0] / 2, pixelRatio * size[1] / 2, + scale, scale, + 0, + imagePixelRatio * (imageExtent[0] - viewCenter[0]) / imageResGVolution, + imagePixelRatio * (viewCenter[1] - imageExtent[3]) / imageResGVolution); + GVol.transform.compose(this.coordinateToCanvasPixelTransform, + pixelRatio * size[0] / 2 - transform[4], pixelRatio * size[1] / 2 - transform[5], + pixelRatio / viewResGVolution, -pixelRatio / viewResGVolution, + 0, + -viewCenter[0], -viewCenter[1]); + + this.updateAttributions(frameState.attributions, image.getAttributions()); + this.updateLogos(frameState, imageSource); + this.renderedResGVolution = viewResGVolution * pixelRatio / imagePixelRatio; + } + + return !!this.image_; +}; + +goog.provide('GVol.reproj'); + +goog.require('GVol.dom'); +goog.require('GVol.extent'); +goog.require('GVol.math'); +goog.require('GVol.proj'); + + +/** + * Calculates ideal resGVolution to use from the source in order to achieve + * pixel mapping as close as possible to 1:1 during reprojection. + * The resGVolution is calculated regardless of what resGVolutions + * are actually available in the dataset (TileGrid, Image, ...). + * + * @param {GVol.proj.Projection} sourceProj Source projection. + * @param {GVol.proj.Projection} targetProj Target projection. + * @param {GVol.Coordinate} targetCenter Target center. + * @param {number} targetResGVolution Target resGVolution. + * @return {number} The best resGVolution to use. Can be +-Infinity, NaN or 0. + */ +GVol.reproj.calculateSourceResGVolution = function(sourceProj, targetProj, + targetCenter, targetResGVolution) { + + var sourceCenter = GVol.proj.transform(targetCenter, targetProj, sourceProj); + + // calculate the ideal resGVolution of the source data + var sourceResGVolution = + GVol.proj.getPointResGVolution(targetProj, targetResGVolution, targetCenter); + + var targetMetersPerUnit = targetProj.getMetersPerUnit(); + if (targetMetersPerUnit !== undefined) { + sourceResGVolution *= targetMetersPerUnit; + } + var sourceMetersPerUnit = sourceProj.getMetersPerUnit(); + if (sourceMetersPerUnit !== undefined) { + sourceResGVolution /= sourceMetersPerUnit; + } + + // Based on the projection properties, the point resGVolution at the specified + // coordinates may be slightly different. We need to reverse-compensate this + // in order to achieve optimal results. + + var sourceExtent = sourceProj.getExtent(); + if (!sourceExtent || GVol.extent.containsCoordinate(sourceExtent, sourceCenter)) { + var compensationFactor = + GVol.proj.getPointResGVolution(sourceProj, sourceResGVolution, sourceCenter) / + sourceResGVolution; + if (isFinite(compensationFactor) && compensationFactor > 0) { + sourceResGVolution /= compensationFactor; + } + } + + return sourceResGVolution; +}; + + +/** + * Enlarge the clipping triangle point by 1 pixel to ensure the edges overlap + * in order to mask gaps caused by antialiasing. + * + * @param {number} centroidX Centroid of the triangle (x coordinate in pixels). + * @param {number} centroidY Centroid of the triangle (y coordinate in pixels). + * @param {number} x X coordinate of the point (in pixels). + * @param {number} y Y coordinate of the point (in pixels). + * @return {GVol.Coordinate} New point 1 px farther from the centroid. + * @private + */ +GVol.reproj.enlargeClipPoint_ = function(centroidX, centroidY, x, y) { + var dX = x - centroidX, dY = y - centroidY; + var distance = Math.sqrt(dX * dX + dY * dY); + return [Math.round(x + dX / distance), Math.round(y + dY / distance)]; +}; + + +/** + * Renders the source data into new canvas based on the triangulation. + * + * @param {number} width Width of the canvas. + * @param {number} height Height of the canvas. + * @param {number} pixelRatio Pixel ratio. + * @param {number} sourceResGVolution Source resGVolution. + * @param {GVol.Extent} sourceExtent Extent of the data source. + * @param {number} targetResGVolution Target resGVolution. + * @param {GVol.Extent} targetExtent Target extent. + * @param {GVol.reproj.Triangulation} triangulation Calculated triangulation. + * @param {Array.<{extent: GVol.Extent, + * image: (HTMLCanvasElement|Image|HTMLVideoElement)}>} sources + * Array of sources. + * @param {number} gutter Gutter of the sources. + * @param {boGVolean=} opt_renderEdges Render reprojection edges. + * @return {HTMLCanvasElement} Canvas with reprojected data. + */ +GVol.reproj.render = function(width, height, pixelRatio, + sourceResGVolution, sourceExtent, targetResGVolution, targetExtent, + triangulation, sources, gutter, opt_renderEdges) { + + var context = GVol.dom.createCanvasContext2D(Math.round(pixelRatio * width), + Math.round(pixelRatio * height)); + + if (sources.length === 0) { + return context.canvas; + } + + context.scale(pixelRatio, pixelRatio); + + var sourceDataExtent = GVol.extent.createEmpty(); + sources.forEach(function(src, i, arr) { + GVol.extent.extend(sourceDataExtent, src.extent); + }); + + var canvasWidthInUnits = GVol.extent.getWidth(sourceDataExtent); + var canvasHeightInUnits = GVol.extent.getHeight(sourceDataExtent); + var stitchContext = GVol.dom.createCanvasContext2D( + Math.round(pixelRatio * canvasWidthInUnits / sourceResGVolution), + Math.round(pixelRatio * canvasHeightInUnits / sourceResGVolution)); + + var stitchScale = pixelRatio / sourceResGVolution; + + sources.forEach(function(src, i, arr) { + var xPos = src.extent[0] - sourceDataExtent[0]; + var yPos = -(src.extent[3] - sourceDataExtent[3]); + var srcWidth = GVol.extent.getWidth(src.extent); + var srcHeight = GVol.extent.getHeight(src.extent); + + stitchContext.drawImage( + src.image, + gutter, gutter, + src.image.width - 2 * gutter, src.image.height - 2 * gutter, + xPos * stitchScale, yPos * stitchScale, + srcWidth * stitchScale, srcHeight * stitchScale); + }); + + var targetTopLeft = GVol.extent.getTopLeft(targetExtent); + + triangulation.getTriangles().forEach(function(triangle, i, arr) { + /* Calculate affine transform (src -> dst) + * Resulting matrix can be used to transform coordinate + * from `sourceProjection` to destination pixels. + * + * To optimize number of context calls and increase numerical stability, + * we also do the fGVollowing operations: + * trans(-topLeftExtentCorner), scale(1 / targetResGVolution), scale(1, -1) + * here before sGVolving the linear system so [ui, vi] are pixel coordinates. + * + * Src points: xi, yi + * Dst points: ui, vi + * Affine coefficients: aij + * + * | x0 y0 1 0 0 0 | |a00| |u0| + * | x1 y1 1 0 0 0 | |a01| |u1| + * | x2 y2 1 0 0 0 | x |a02| = |u2| + * | 0 0 0 x0 y0 1 | |a10| |v0| + * | 0 0 0 x1 y1 1 | |a11| |v1| + * | 0 0 0 x2 y2 1 | |a12| |v2| + */ + var source = triangle.source, target = triangle.target; + var x0 = source[0][0], y0 = source[0][1], + x1 = source[1][0], y1 = source[1][1], + x2 = source[2][0], y2 = source[2][1]; + var u0 = (target[0][0] - targetTopLeft[0]) / targetResGVolution, + v0 = -(target[0][1] - targetTopLeft[1]) / targetResGVolution; + var u1 = (target[1][0] - targetTopLeft[0]) / targetResGVolution, + v1 = -(target[1][1] - targetTopLeft[1]) / targetResGVolution; + var u2 = (target[2][0] - targetTopLeft[0]) / targetResGVolution, + v2 = -(target[2][1] - targetTopLeft[1]) / targetResGVolution; + + // Shift all the source points to improve numerical stability + // of all the subsequent calculations. The [x0, y0] is used here. + // This is also used to simplify the linear system. + var sourceNumericalShiftX = x0, sourceNumericalShiftY = y0; + x0 = 0; + y0 = 0; + x1 -= sourceNumericalShiftX; + y1 -= sourceNumericalShiftY; + x2 -= sourceNumericalShiftX; + y2 -= sourceNumericalShiftY; + + var augmentedMatrix = [ + [x1, y1, 0, 0, u1 - u0], + [x2, y2, 0, 0, u2 - u0], + [0, 0, x1, y1, v1 - v0], + [0, 0, x2, y2, v2 - v0] + ]; + var affineCoefs = GVol.math.sGVolveLinearSystem(augmentedMatrix); + if (!affineCoefs) { + return; + } + + context.save(); + context.beginPath(); + var centroidX = (u0 + u1 + u2) / 3, centroidY = (v0 + v1 + v2) / 3; + var p0 = GVol.reproj.enlargeClipPoint_(centroidX, centroidY, u0, v0); + var p1 = GVol.reproj.enlargeClipPoint_(centroidX, centroidY, u1, v1); + var p2 = GVol.reproj.enlargeClipPoint_(centroidX, centroidY, u2, v2); + + context.moveTo(p1[0], p1[1]); + context.lineTo(p0[0], p0[1]); + context.lineTo(p2[0], p2[1]); + context.clip(); + + context.transform( + affineCoefs[0], affineCoefs[2], affineCoefs[1], affineCoefs[3], u0, v0); + + context.translate(sourceDataExtent[0] - sourceNumericalShiftX, + sourceDataExtent[3] - sourceNumericalShiftY); + + context.scale(sourceResGVolution / pixelRatio, + -sourceResGVolution / pixelRatio); + + context.drawImage(stitchContext.canvas, 0, 0); + context.restore(); + }); + + if (opt_renderEdges) { + context.save(); + + context.strokeStyle = 'black'; + context.lineWidth = 1; + + triangulation.getTriangles().forEach(function(triangle, i, arr) { + var target = triangle.target; + var u0 = (target[0][0] - targetTopLeft[0]) / targetResGVolution, + v0 = -(target[0][1] - targetTopLeft[1]) / targetResGVolution; + var u1 = (target[1][0] - targetTopLeft[0]) / targetResGVolution, + v1 = -(target[1][1] - targetTopLeft[1]) / targetResGVolution; + var u2 = (target[2][0] - targetTopLeft[0]) / targetResGVolution, + v2 = -(target[2][1] - targetTopLeft[1]) / targetResGVolution; + + context.beginPath(); + context.moveTo(u1, v1); + context.lineTo(u0, v0); + context.lineTo(u2, v2); + context.closePath(); + context.stroke(); + }); + + context.restore(); + } + return context.canvas; +}; + +goog.provide('GVol.reproj.Triangulation'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.math'); +goog.require('GVol.proj'); + + +/** + * @classdesc + * Class containing triangulation of the given target extent. + * Used for determining source data and the reprojection itself. + * + * @param {GVol.proj.Projection} sourceProj Source projection. + * @param {GVol.proj.Projection} targetProj Target projection. + * @param {GVol.Extent} targetExtent Target extent to triangulate. + * @param {GVol.Extent} maxSourceExtent Maximal source extent that can be used. + * @param {number} errorThreshGVold Acceptable error (in source units). + * @constructor + */ +GVol.reproj.Triangulation = function(sourceProj, targetProj, targetExtent, + maxSourceExtent, errorThreshGVold) { + + /** + * @type {GVol.proj.Projection} + * @private + */ + this.sourceProj_ = sourceProj; + + /** + * @type {GVol.proj.Projection} + * @private + */ + this.targetProj_ = targetProj; + + /** @type {!Object.<string, GVol.Coordinate>} */ + var transformInvCache = {}; + var transformInv = GVol.proj.getTransform(this.targetProj_, this.sourceProj_); + + /** + * @param {GVol.Coordinate} c A coordinate. + * @return {GVol.Coordinate} Transformed coordinate. + * @private + */ + this.transformInv_ = function(c) { + var key = c[0] + '/' + c[1]; + if (!transformInvCache[key]) { + transformInvCache[key] = transformInv(c); + } + return transformInvCache[key]; + }; + + /** + * @type {GVol.Extent} + * @private + */ + this.maxSourceExtent_ = maxSourceExtent; + + /** + * @type {number} + * @private + */ + this.errorThreshGVoldSquared_ = errorThreshGVold * errorThreshGVold; + + /** + * @type {Array.<GVol.ReprojTriangle>} + * @private + */ + this.triangles_ = []; + + /** + * Indicates that the triangulation crosses edge of the source projection. + * @type {boGVolean} + * @private + */ + this.wrapsXInSource_ = false; + + /** + * @type {boGVolean} + * @private + */ + this.canWrapXInSource_ = this.sourceProj_.canWrapX() && + !!maxSourceExtent && + !!this.sourceProj_.getExtent() && + (GVol.extent.getWidth(maxSourceExtent) == + GVol.extent.getWidth(this.sourceProj_.getExtent())); + + /** + * @type {?number} + * @private + */ + this.sourceWorldWidth_ = this.sourceProj_.getExtent() ? + GVol.extent.getWidth(this.sourceProj_.getExtent()) : null; + + /** + * @type {?number} + * @private + */ + this.targetWorldWidth_ = this.targetProj_.getExtent() ? + GVol.extent.getWidth(this.targetProj_.getExtent()) : null; + + var destinationTopLeft = GVol.extent.getTopLeft(targetExtent); + var destinationTopRight = GVol.extent.getTopRight(targetExtent); + var destinationBottomRight = GVol.extent.getBottomRight(targetExtent); + var destinationBottomLeft = GVol.extent.getBottomLeft(targetExtent); + var sourceTopLeft = this.transformInv_(destinationTopLeft); + var sourceTopRight = this.transformInv_(destinationTopRight); + var sourceBottomRight = this.transformInv_(destinationBottomRight); + var sourceBottomLeft = this.transformInv_(destinationBottomLeft); + + this.addQuad_( + destinationTopLeft, destinationTopRight, + destinationBottomRight, destinationBottomLeft, + sourceTopLeft, sourceTopRight, sourceBottomRight, sourceBottomLeft, + GVol.RASTER_REPROJECTION_MAX_SUBDIVISION); + + if (this.wrapsXInSource_) { + var leftBound = Infinity; + this.triangles_.forEach(function(triangle, i, arr) { + leftBound = Math.min(leftBound, + triangle.source[0][0], triangle.source[1][0], triangle.source[2][0]); + }); + + // Shift triangles to be as close to `leftBound` as possible + // (if the distance is more than `worldWidth / 2` it can be closer. + this.triangles_.forEach(function(triangle) { + if (Math.max(triangle.source[0][0], triangle.source[1][0], + triangle.source[2][0]) - leftBound > this.sourceWorldWidth_ / 2) { + var newTriangle = [[triangle.source[0][0], triangle.source[0][1]], + [triangle.source[1][0], triangle.source[1][1]], + [triangle.source[2][0], triangle.source[2][1]]]; + if ((newTriangle[0][0] - leftBound) > this.sourceWorldWidth_ / 2) { + newTriangle[0][0] -= this.sourceWorldWidth_; + } + if ((newTriangle[1][0] - leftBound) > this.sourceWorldWidth_ / 2) { + newTriangle[1][0] -= this.sourceWorldWidth_; + } + if ((newTriangle[2][0] - leftBound) > this.sourceWorldWidth_ / 2) { + newTriangle[2][0] -= this.sourceWorldWidth_; + } + + // Rarely (if the extent contains both the dateline and prime meridian) + // the shift can in turn break some triangles. + // Detect this here and don't shift in such cases. + var minX = Math.min( + newTriangle[0][0], newTriangle[1][0], newTriangle[2][0]); + var maxX = Math.max( + newTriangle[0][0], newTriangle[1][0], newTriangle[2][0]); + if ((maxX - minX) < this.sourceWorldWidth_ / 2) { + triangle.source = newTriangle; + } + } + }, this); + } + + transformInvCache = {}; +}; + + +/** + * Adds triangle to the triangulation. + * @param {GVol.Coordinate} a The target a coordinate. + * @param {GVol.Coordinate} b The target b coordinate. + * @param {GVol.Coordinate} c The target c coordinate. + * @param {GVol.Coordinate} aSrc The source a coordinate. + * @param {GVol.Coordinate} bSrc The source b coordinate. + * @param {GVol.Coordinate} cSrc The source c coordinate. + * @private + */ +GVol.reproj.Triangulation.prototype.addTriangle_ = function(a, b, c, + aSrc, bSrc, cSrc) { + this.triangles_.push({ + source: [aSrc, bSrc, cSrc], + target: [a, b, c] + }); +}; + + +/** + * Adds quad (points in clock-wise order) to the triangulation + * (and reprojects the vertices) if valid. + * Performs quad subdivision if needed to increase precision. + * + * @param {GVol.Coordinate} a The target a coordinate. + * @param {GVol.Coordinate} b The target b coordinate. + * @param {GVol.Coordinate} c The target c coordinate. + * @param {GVol.Coordinate} d The target d coordinate. + * @param {GVol.Coordinate} aSrc The source a coordinate. + * @param {GVol.Coordinate} bSrc The source b coordinate. + * @param {GVol.Coordinate} cSrc The source c coordinate. + * @param {GVol.Coordinate} dSrc The source d coordinate. + * @param {number} maxSubdivision Maximal allowed subdivision of the quad. + * @private + */ +GVol.reproj.Triangulation.prototype.addQuad_ = function(a, b, c, d, + aSrc, bSrc, cSrc, dSrc, maxSubdivision) { + + var sourceQuadExtent = GVol.extent.boundingExtent([aSrc, bSrc, cSrc, dSrc]); + var sourceCoverageX = this.sourceWorldWidth_ ? + GVol.extent.getWidth(sourceQuadExtent) / this.sourceWorldWidth_ : null; + var sourceWorldWidth = /** @type {number} */ (this.sourceWorldWidth_); + + // when the quad is wrapped in the source projection + // it covers most of the projection extent, but not fully + var wrapsX = this.sourceProj_.canWrapX() && + sourceCoverageX > 0.5 && sourceCoverageX < 1; + + var needsSubdivision = false; + + if (maxSubdivision > 0) { + if (this.targetProj_.isGlobal() && this.targetWorldWidth_) { + var targetQuadExtent = GVol.extent.boundingExtent([a, b, c, d]); + var targetCoverageX = + GVol.extent.getWidth(targetQuadExtent) / this.targetWorldWidth_; + needsSubdivision |= + targetCoverageX > GVol.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH; + } + if (!wrapsX && this.sourceProj_.isGlobal() && sourceCoverageX) { + needsSubdivision |= + sourceCoverageX > GVol.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH; + } + } + + if (!needsSubdivision && this.maxSourceExtent_) { + if (!GVol.extent.intersects(sourceQuadExtent, this.maxSourceExtent_)) { + // whGVole quad outside source projection extent -> ignore + return; + } + } + + if (!needsSubdivision) { + if (!isFinite(aSrc[0]) || !isFinite(aSrc[1]) || + !isFinite(bSrc[0]) || !isFinite(bSrc[1]) || + !isFinite(cSrc[0]) || !isFinite(cSrc[1]) || + !isFinite(dSrc[0]) || !isFinite(dSrc[1])) { + if (maxSubdivision > 0) { + needsSubdivision = true; + } else { + return; + } + } + } + + if (maxSubdivision > 0) { + if (!needsSubdivision) { + var center = [(a[0] + c[0]) / 2, (a[1] + c[1]) / 2]; + var centerSrc = this.transformInv_(center); + + var dx; + if (wrapsX) { + var centerSrcEstimX = + (GVol.math.modulo(aSrc[0], sourceWorldWidth) + + GVol.math.modulo(cSrc[0], sourceWorldWidth)) / 2; + dx = centerSrcEstimX - + GVol.math.modulo(centerSrc[0], sourceWorldWidth); + } else { + dx = (aSrc[0] + cSrc[0]) / 2 - centerSrc[0]; + } + var dy = (aSrc[1] + cSrc[1]) / 2 - centerSrc[1]; + var centerSrcErrorSquared = dx * dx + dy * dy; + needsSubdivision = centerSrcErrorSquared > this.errorThreshGVoldSquared_; + } + if (needsSubdivision) { + if (Math.abs(a[0] - c[0]) <= Math.abs(a[1] - c[1])) { + // split horizontally (top & bottom) + var bc = [(b[0] + c[0]) / 2, (b[1] + c[1]) / 2]; + var bcSrc = this.transformInv_(bc); + var da = [(d[0] + a[0]) / 2, (d[1] + a[1]) / 2]; + var daSrc = this.transformInv_(da); + + this.addQuad_( + a, b, bc, da, aSrc, bSrc, bcSrc, daSrc, maxSubdivision - 1); + this.addQuad_( + da, bc, c, d, daSrc, bcSrc, cSrc, dSrc, maxSubdivision - 1); + } else { + // split vertically (left & right) + var ab = [(a[0] + b[0]) / 2, (a[1] + b[1]) / 2]; + var abSrc = this.transformInv_(ab); + var cd = [(c[0] + d[0]) / 2, (c[1] + d[1]) / 2]; + var cdSrc = this.transformInv_(cd); + + this.addQuad_( + a, ab, cd, d, aSrc, abSrc, cdSrc, dSrc, maxSubdivision - 1); + this.addQuad_( + ab, b, c, cd, abSrc, bSrc, cSrc, cdSrc, maxSubdivision - 1); + } + return; + } + } + + if (wrapsX) { + if (!this.canWrapXInSource_) { + return; + } + this.wrapsXInSource_ = true; + } + + this.addTriangle_(a, c, d, aSrc, cSrc, dSrc); + this.addTriangle_(a, b, c, aSrc, bSrc, cSrc); +}; + + +/** + * Calculates extent of the 'source' coordinates from all the triangles. + * + * @return {GVol.Extent} Calculated extent. + */ +GVol.reproj.Triangulation.prototype.calculateSourceExtent = function() { + var extent = GVol.extent.createEmpty(); + + this.triangles_.forEach(function(triangle, i, arr) { + var src = triangle.source; + GVol.extent.extendCoordinate(extent, src[0]); + GVol.extent.extendCoordinate(extent, src[1]); + GVol.extent.extendCoordinate(extent, src[2]); + }); + + return extent; +}; + + +/** + * @return {Array.<GVol.ReprojTriangle>} Array of the calculated triangles. + */ +GVol.reproj.Triangulation.prototype.getTriangles = function() { + return this.triangles_; +}; + +goog.provide('GVol.reproj.Image'); + +goog.require('GVol'); +goog.require('GVol.ImageBase'); +goog.require('GVol.ImageState'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.reproj'); +goog.require('GVol.reproj.Triangulation'); + + +/** + * @classdesc + * Class encapsulating single reprojected image. + * See {@link GVol.source.Image}. + * + * @constructor + * @extends {GVol.ImageBase} + * @param {GVol.proj.Projection} sourceProj Source projection (of the data). + * @param {GVol.proj.Projection} targetProj Target projection. + * @param {GVol.Extent} targetExtent Target extent. + * @param {number} targetResGVolution Target resGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.ReprojImageFunctionType} getImageFunction + * Function returning source images (extent, resGVolution, pixelRatio). + */ +GVol.reproj.Image = function(sourceProj, targetProj, + targetExtent, targetResGVolution, pixelRatio, getImageFunction) { + + /** + * @private + * @type {GVol.proj.Projection} + */ + this.targetProj_ = targetProj; + + /** + * @private + * @type {GVol.Extent} + */ + this.maxSourceExtent_ = sourceProj.getExtent(); + var maxTargetExtent = targetProj.getExtent(); + + var limitedTargetExtent = maxTargetExtent ? + GVol.extent.getIntersection(targetExtent, maxTargetExtent) : targetExtent; + + var targetCenter = GVol.extent.getCenter(limitedTargetExtent); + var sourceResGVolution = GVol.reproj.calculateSourceResGVolution( + sourceProj, targetProj, targetCenter, targetResGVolution); + + var errorThreshGVoldInPixels = GVol.DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD; + + /** + * @private + * @type {!GVol.reproj.Triangulation} + */ + this.triangulation_ = new GVol.reproj.Triangulation( + sourceProj, targetProj, limitedTargetExtent, this.maxSourceExtent_, + sourceResGVolution * errorThreshGVoldInPixels); + + /** + * @private + * @type {number} + */ + this.targetResGVolution_ = targetResGVolution; + + /** + * @private + * @type {GVol.Extent} + */ + this.targetExtent_ = targetExtent; + + var sourceExtent = this.triangulation_.calculateSourceExtent(); + + /** + * @private + * @type {GVol.ImageBase} + */ + this.sourceImage_ = + getImageFunction(sourceExtent, sourceResGVolution, pixelRatio); + + /** + * @private + * @type {number} + */ + this.sourcePixelRatio_ = + this.sourceImage_ ? this.sourceImage_.getPixelRatio() : 1; + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = null; + + /** + * @private + * @type {?GVol.EventsKey} + */ + this.sourceListenerKey_ = null; + + + var state = GVol.ImageState.LOADED; + var attributions = []; + + if (this.sourceImage_) { + state = GVol.ImageState.IDLE; + attributions = this.sourceImage_.getAttributions(); + } + + GVol.ImageBase.call(this, targetExtent, targetResGVolution, this.sourcePixelRatio_, + state, attributions); +}; +GVol.inherits(GVol.reproj.Image, GVol.ImageBase); + + +/** + * @inheritDoc + */ +GVol.reproj.Image.prototype.disposeInternal = function() { + if (this.state == GVol.ImageState.LOADING) { + this.unlistenSource_(); + } + GVol.ImageBase.prototype.disposeInternal.call(this); +}; + + +/** + * @inheritDoc + */ +GVol.reproj.Image.prototype.getImage = function(opt_context) { + return this.canvas_; +}; + + +/** + * @return {GVol.proj.Projection} Projection. + */ +GVol.reproj.Image.prototype.getProjection = function() { + return this.targetProj_; +}; + + +/** + * @private + */ +GVol.reproj.Image.prototype.reproject_ = function() { + var sourceState = this.sourceImage_.getState(); + if (sourceState == GVol.ImageState.LOADED) { + var width = GVol.extent.getWidth(this.targetExtent_) / this.targetResGVolution_; + var height = + GVol.extent.getHeight(this.targetExtent_) / this.targetResGVolution_; + + this.canvas_ = GVol.reproj.render(width, height, this.sourcePixelRatio_, + this.sourceImage_.getResGVolution(), this.maxSourceExtent_, + this.targetResGVolution_, this.targetExtent_, this.triangulation_, [{ + extent: this.sourceImage_.getExtent(), + image: this.sourceImage_.getImage() + }], 0); + } + this.state = sourceState; + this.changed(); +}; + + +/** + * @inheritDoc + */ +GVol.reproj.Image.prototype.load = function() { + if (this.state == GVol.ImageState.IDLE) { + this.state = GVol.ImageState.LOADING; + this.changed(); + + var sourceState = this.sourceImage_.getState(); + if (sourceState == GVol.ImageState.LOADED || + sourceState == GVol.ImageState.ERROR) { + this.reproject_(); + } else { + this.sourceListenerKey_ = GVol.events.listen(this.sourceImage_, + GVol.events.EventType.CHANGE, function(e) { + var sourceState = this.sourceImage_.getState(); + if (sourceState == GVol.ImageState.LOADED || + sourceState == GVol.ImageState.ERROR) { + this.unlistenSource_(); + this.reproject_(); + } + }, this); + this.sourceImage_.load(); + } + } +}; + + +/** + * @private + */ +GVol.reproj.Image.prototype.unlistenSource_ = function() { + GVol.events.unlistenByKey(/** @type {!GVol.EventsKey} */ (this.sourceListenerKey_)); + this.sourceListenerKey_ = null; +}; + +goog.provide('GVol.source.Image'); + +goog.require('GVol'); +goog.require('GVol.ImageState'); +goog.require('GVol.array'); +goog.require('GVol.events.Event'); +goog.require('GVol.extent'); +goog.require('GVol.proj'); +goog.require('GVol.reproj.Image'); +goog.require('GVol.source.Source'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Base class for sources providing a single image. + * + * @constructor + * @abstract + * @extends {GVol.source.Source} + * @param {GVol.SourceImageOptions} options Single image source options. + * @api + */ +GVol.source.Image = function(options) { + GVol.source.Source.call(this, { + attributions: options.attributions, + extent: options.extent, + logo: options.logo, + projection: options.projection, + state: options.state + }); + + /** + * @private + * @type {Array.<number>} + */ + this.resGVolutions_ = options.resGVolutions !== undefined ? + options.resGVolutions : null; + + + /** + * @private + * @type {GVol.reproj.Image} + */ + this.reprojectedImage_ = null; + + + /** + * @private + * @type {number} + */ + this.reprojectedRevision_ = 0; +}; +GVol.inherits(GVol.source.Image, GVol.source.Source); + + +/** + * @return {Array.<number>} ResGVolutions. + * @override + */ +GVol.source.Image.prototype.getResGVolutions = function() { + return this.resGVolutions_; +}; + + +/** + * @protected + * @param {number} resGVolution ResGVolution. + * @return {number} ResGVolution. + */ +GVol.source.Image.prototype.findNearestResGVolution = function(resGVolution) { + if (this.resGVolutions_) { + var idx = GVol.array.linearFindNearest(this.resGVolutions_, resGVolution, 0); + resGVolution = this.resGVolutions_[idx]; + } + return resGVolution; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {GVol.ImageBase} Single image. + */ +GVol.source.Image.prototype.getImage = function(extent, resGVolution, pixelRatio, projection) { + var sourceProjection = this.getProjection(); + if (!GVol.ENABLE_RASTER_REPROJECTION || + !sourceProjection || + !projection || + GVol.proj.equivalent(sourceProjection, projection)) { + if (sourceProjection) { + projection = sourceProjection; + } + return this.getImageInternal(extent, resGVolution, pixelRatio, projection); + } else { + if (this.reprojectedImage_) { + if (this.reprojectedRevision_ == this.getRevision() && + GVol.proj.equivalent( + this.reprojectedImage_.getProjection(), projection) && + this.reprojectedImage_.getResGVolution() == resGVolution && + GVol.extent.equals(this.reprojectedImage_.getExtent(), extent)) { + return this.reprojectedImage_; + } + this.reprojectedImage_.dispose(); + this.reprojectedImage_ = null; + } + + this.reprojectedImage_ = new GVol.reproj.Image( + sourceProjection, projection, extent, resGVolution, pixelRatio, + function(extent, resGVolution, pixelRatio) { + return this.getImageInternal(extent, resGVolution, + pixelRatio, sourceProjection); + }.bind(this)); + this.reprojectedRevision_ = this.getRevision(); + + return this.reprojectedImage_; + } +}; + + +/** + * @abstract + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {GVol.ImageBase} Single image. + * @protected + */ +GVol.source.Image.prototype.getImageInternal = function(extent, resGVolution, pixelRatio, projection) {}; + + +/** + * Handle image change events. + * @param {GVol.events.Event} event Event. + * @protected + */ +GVol.source.Image.prototype.handleImageChange = function(event) { + var image = /** @type {GVol.Image} */ (event.target); + switch (image.getState()) { + case GVol.ImageState.LOADING: + this.dispatchEvent( + new GVol.source.Image.Event(GVol.source.Image.EventType_.IMAGELOADSTART, + image)); + break; + case GVol.ImageState.LOADED: + this.dispatchEvent( + new GVol.source.Image.Event(GVol.source.Image.EventType_.IMAGELOADEND, + image)); + break; + case GVol.ImageState.ERROR: + this.dispatchEvent( + new GVol.source.Image.Event(GVol.source.Image.EventType_.IMAGELOADERROR, + image)); + break; + default: + // pass + } +}; + + +/** + * Default image load function for image sources that use GVol.Image image + * instances. + * @param {GVol.Image} image Image. + * @param {string} src Source. + */ +GVol.source.Image.defaultImageLoadFunction = function(image, src) { + image.getImage().src = src; +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.source.Image} instances are instances of this + * type. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.source.ImageEvent} + * @param {string} type Type. + * @param {GVol.Image} image The image. + */ +GVol.source.Image.Event = function(type, image) { + + GVol.events.Event.call(this, type); + + /** + * The image related to the event. + * @type {GVol.Image} + * @api + */ + this.image = image; + +}; +GVol.inherits(GVol.source.Image.Event, GVol.events.Event); + + +/** + * @enum {string} + * @private + */ +GVol.source.Image.EventType_ = { + + /** + * Triggered when an image starts loading. + * @event GVol.source.Image.Event#imageloadstart + * @api + */ + IMAGELOADSTART: 'imageloadstart', + + /** + * Triggered when an image finishes loading. + * @event GVol.source.Image.Event#imageloadend + * @api + */ + IMAGELOADEND: 'imageloadend', + + /** + * Triggered if image loading results in an error. + * @event GVol.source.Image.Event#imageloaderror + * @api + */ + IMAGELOADERROR: 'imageloaderror' + +}; + +goog.provide('GVol.source.ImageCanvas'); + +goog.require('GVol'); +goog.require('GVol.ImageCanvas'); +goog.require('GVol.extent'); +goog.require('GVol.source.Image'); + + +/** + * @classdesc + * Base class for image sources where a canvas element is the image. + * + * @constructor + * @extends {GVol.source.Image} + * @param {GVolx.source.ImageCanvasOptions} options Constructor options. + * @api + */ +GVol.source.ImageCanvas = function(options) { + + GVol.source.Image.call(this, { + attributions: options.attributions, + logo: options.logo, + projection: options.projection, + resGVolutions: options.resGVolutions, + state: options.state + }); + + /** + * @private + * @type {GVol.CanvasFunctionType} + */ + this.canvasFunction_ = options.canvasFunction; + + /** + * @private + * @type {GVol.ImageCanvas} + */ + this.canvas_ = null; + + /** + * @private + * @type {number} + */ + this.renderedRevision_ = 0; + + /** + * @private + * @type {number} + */ + this.ratio_ = options.ratio !== undefined ? + options.ratio : 1.5; + +}; +GVol.inherits(GVol.source.ImageCanvas, GVol.source.Image); + + +/** + * @inheritDoc + */ +GVol.source.ImageCanvas.prototype.getImageInternal = function(extent, resGVolution, pixelRatio, projection) { + resGVolution = this.findNearestResGVolution(resGVolution); + + var canvas = this.canvas_; + if (canvas && + this.renderedRevision_ == this.getRevision() && + canvas.getResGVolution() == resGVolution && + canvas.getPixelRatio() == pixelRatio && + GVol.extent.containsExtent(canvas.getExtent(), extent)) { + return canvas; + } + + extent = extent.slice(); + GVol.extent.scaleFromCenter(extent, this.ratio_); + var width = GVol.extent.getWidth(extent) / resGVolution; + var height = GVol.extent.getHeight(extent) / resGVolution; + var size = [width * pixelRatio, height * pixelRatio]; + + var canvasElement = this.canvasFunction_( + extent, resGVolution, pixelRatio, size, projection); + if (canvasElement) { + canvas = new GVol.ImageCanvas(extent, resGVolution, pixelRatio, + this.getAttributions(), canvasElement); + } + this.canvas_ = canvas; + this.renderedRevision_ = this.getRevision(); + + return canvas; +}; + +goog.provide('GVol.source.ImageVector'); + +goog.require('GVol'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.render.canvas.ReplayGroup'); +goog.require('GVol.renderer.vector'); +goog.require('GVol.source.ImageCanvas'); +goog.require('GVol.style.Style'); +goog.require('GVol.transform'); + + +/** + * @classdesc + * An image source whose images are canvas elements into which vector features + * read from a vector source (`GVol.source.Vector`) are drawn. An + * `GVol.source.ImageVector` object is to be used as the `source` of an image + * layer (`GVol.layer.Image`). Image layers are rotated, scaled, and translated, + * as opposed to being re-rendered, during animations and interactions. So, like + * any other image layer, an image layer configured with an + * `GVol.source.ImageVector` will exhibit this behaviour. This is in contrast to a + * vector layer, where vector features are re-drawn during animations and + * interactions. + * + * @constructor + * @extends {GVol.source.ImageCanvas} + * @param {GVolx.source.ImageVectorOptions} options Options. + * @api + */ +GVol.source.ImageVector = function(options) { + + /** + * @private + * @type {GVol.source.Vector} + */ + this.source_ = options.source; + + /** + * @private + * @type {GVol.Transform} + */ + this.transform_ = GVol.transform.create(); + + /** + * @private + * @type {CanvasRenderingContext2D} + */ + this.canvasContext_ = GVol.dom.createCanvasContext2D(); + + /** + * @private + * @type {GVol.Size} + */ + this.canvasSize_ = [0, 0]; + + /** + * @private + * @type {number} + */ + this.renderBuffer_ = options.renderBuffer == undefined ? 100 : options.renderBuffer; + + /** + * @private + * @type {GVol.render.canvas.ReplayGroup} + */ + this.replayGroup_ = null; + + GVol.source.ImageCanvas.call(this, { + attributions: options.attributions, + canvasFunction: this.canvasFunctionInternal_.bind(this), + logo: options.logo, + projection: options.projection, + ratio: options.ratio, + resGVolutions: options.resGVolutions, + state: this.source_.getState() + }); + + /** + * User provided style. + * @type {GVol.style.Style|Array.<GVol.style.Style>|GVol.StyleFunction} + * @private + */ + this.style_ = null; + + /** + * Style function for use within the library. + * @type {GVol.StyleFunction|undefined} + * @private + */ + this.styleFunction_ = undefined; + + this.setStyle(options.style); + + GVol.events.listen(this.source_, GVol.events.EventType.CHANGE, + this.handleSourceChange_, this); + +}; +GVol.inherits(GVol.source.ImageVector, GVol.source.ImageCanvas); + + +/** + * @param {GVol.Extent} extent Extent. + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.Size} size Size. + * @param {GVol.proj.Projection} projection Projection; + * @return {HTMLCanvasElement} Canvas element. + * @private + */ +GVol.source.ImageVector.prototype.canvasFunctionInternal_ = function(extent, resGVolution, pixelRatio, size, projection) { + + var replayGroup = new GVol.render.canvas.ReplayGroup( + GVol.renderer.vector.getTGVolerance(resGVolution, pixelRatio), extent, + resGVolution, this.source_.getOverlaps(), this.renderBuffer_); + + this.source_.loadFeatures(extent, resGVolution, projection); + + var loading = false; + this.source_.forEachFeatureInExtent(extent, + /** + * @param {GVol.Feature} feature Feature. + */ + function(feature) { + loading = loading || + this.renderFeature_(feature, resGVolution, pixelRatio, replayGroup); + }, this); + replayGroup.finish(); + + if (loading) { + return null; + } + + if (this.canvasSize_[0] != size[0] || this.canvasSize_[1] != size[1]) { + this.canvasContext_.canvas.width = size[0]; + this.canvasContext_.canvas.height = size[1]; + this.canvasSize_[0] = size[0]; + this.canvasSize_[1] = size[1]; + } else { + this.canvasContext_.clearRect(0, 0, size[0], size[1]); + } + + var transform = this.getTransform_(GVol.extent.getCenter(extent), + resGVolution, pixelRatio, size); + replayGroup.replay(this.canvasContext_, pixelRatio, transform, 0, {}); + + this.replayGroup_ = replayGroup; + + return this.canvasContext_.canvas; +}; + + +/** + * @inheritDoc + */ +GVol.source.ImageVector.prototype.forEachFeatureAtCoordinate = function( + coordinate, resGVolution, rotation, hitTGVolerance, skippedFeatureUids, callback) { + if (!this.replayGroup_) { + return undefined; + } else { + /** @type {Object.<string, boGVolean>} */ + var features = {}; + return this.replayGroup_.forEachFeatureAtCoordinate( + coordinate, resGVolution, 0, hitTGVolerance, skippedFeatureUids, + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @return {?} Callback result. + */ + function(feature) { + var key = GVol.getUid(feature).toString(); + if (!(key in features)) { + features[key] = true; + return callback(feature); + } + }); + } +}; + + +/** + * Get a reference to the wrapped source. + * @return {GVol.source.Vector} Source. + * @api + */ +GVol.source.ImageVector.prototype.getSource = function() { + return this.source_; +}; + + +/** + * Get the style for features. This returns whatever was passed to the `style` + * option at construction or to the `setStyle` method. + * @return {GVol.style.Style|Array.<GVol.style.Style>|GVol.StyleFunction} + * Layer style. + * @api + */ +GVol.source.ImageVector.prototype.getStyle = function() { + return this.style_; +}; + + +/** + * Get the style function. + * @return {GVol.StyleFunction|undefined} Layer style function. + * @api + */ +GVol.source.ImageVector.prototype.getStyleFunction = function() { + return this.styleFunction_; +}; + + +/** + * @param {GVol.Coordinate} center Center. + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.Size} size Size. + * @return {!GVol.Transform} Transform. + * @private + */ +GVol.source.ImageVector.prototype.getTransform_ = function(center, resGVolution, pixelRatio, size) { + var dx1 = size[0] / 2; + var dy1 = size[1] / 2; + var sx = pixelRatio / resGVolution; + var sy = -sx; + var dx2 = -center[0]; + var dy2 = -center[1]; + + return GVol.transform.compose(this.transform_, dx1, dy1, sx, sy, 0, dx2, dy2); +}; + + +/** + * Handle changes in image style state. + * @param {GVol.events.Event} event Image style change event. + * @private + */ +GVol.source.ImageVector.prototype.handleImageChange_ = function(event) { + this.changed(); +}; + + +/** + * @private + */ +GVol.source.ImageVector.prototype.handleSourceChange_ = function() { + // setState will trigger a CHANGE event, so we always rely + // change events by calling setState. + this.setState(this.source_.getState()); +}; + + +/** + * @param {GVol.Feature} feature Feature. + * @param {number} resGVolution ResGVolution. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.render.canvas.ReplayGroup} replayGroup Replay group. + * @return {boGVolean} `true` if an image is loading. + * @private + */ +GVol.source.ImageVector.prototype.renderFeature_ = function(feature, resGVolution, pixelRatio, replayGroup) { + var styles; + var styleFunction = feature.getStyleFunction(); + if (styleFunction) { + styles = styleFunction.call(feature, resGVolution); + } else if (this.styleFunction_) { + styles = this.styleFunction_(feature, resGVolution); + } + if (!styles) { + return false; + } + var i, ii, loading = false; + if (!Array.isArray(styles)) { + styles = [styles]; + } + for (i = 0, ii = styles.length; i < ii; ++i) { + loading = GVol.renderer.vector.renderFeature( + replayGroup, feature, styles[i], + GVol.renderer.vector.getSquaredTGVolerance(resGVolution, pixelRatio), + this.handleImageChange_, this) || loading; + } + return loading; +}; + + +/** + * Set the style for features. This can be a single style object, an array + * of styles, or a function that takes a feature and resGVolution and returns + * an array of styles. If it is `undefined` the default style is used. If + * it is `null` the layer has no style (a `null` style), so only features + * that have their own styles will be rendered in the layer. See + * {@link GVol.style} for information on the default style. + * @param {GVol.style.Style|Array.<GVol.style.Style>|GVol.StyleFunction|undefined} + * style Layer style. + * @api + */ +GVol.source.ImageVector.prototype.setStyle = function(style) { + this.style_ = style !== undefined ? style : GVol.style.Style.defaultFunction; + this.styleFunction_ = !style ? + undefined : GVol.style.Style.createFunction(this.style_); + this.changed(); +}; + +goog.provide('GVol.renderer.webgl.ImageLayer'); + +goog.require('GVol'); +goog.require('GVol.ViewHint'); +goog.require('GVol.dom'); +goog.require('GVol.extent'); +goog.require('GVol.functions'); +goog.require('GVol.renderer.webgl.Layer'); +goog.require('GVol.source.ImageVector'); +goog.require('GVol.transform'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Context'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.renderer.webgl.Layer} + * @param {GVol.renderer.webgl.Map} mapRenderer Map renderer. + * @param {GVol.layer.Image} imageLayer Tile layer. + */ + GVol.renderer.webgl.ImageLayer = function(mapRenderer, imageLayer) { + + GVol.renderer.webgl.Layer.call(this, mapRenderer, imageLayer); + + /** + * The last rendered image. + * @private + * @type {?GVol.ImageBase} + */ + this.image_ = null; + + /** + * @private + * @type {CanvasRenderingContext2D} + */ + this.hitCanvasContext_ = null; + + /** + * @private + * @type {?GVol.Transform} + */ + this.hitTransformationMatrix_ = null; + + }; + GVol.inherits(GVol.renderer.webgl.ImageLayer, GVol.renderer.webgl.Layer); + + + /** + * @param {GVol.ImageBase} image Image. + * @private + * @return {WebGLTexture} Texture. + */ + GVol.renderer.webgl.ImageLayer.prototype.createTexture_ = function(image) { + + // We meet the conditions to work with non-power of two textures. + // http://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences#Non-Power_of_Two_Texture_Support + // http://learningwebgl.com/blog/?p=2101 + + var imageElement = image.getImage(); + var gl = this.mapRenderer.getGL(); + + return GVol.webgl.Context.createTexture( + gl, imageElement, GVol.webgl.CLAMP_TO_EDGE, GVol.webgl.CLAMP_TO_EDGE); + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.ImageLayer.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTGVolerance, callback, thisArg) { + var layer = this.getLayer(); + var source = layer.getSource(); + var resGVolution = frameState.viewState.resGVolution; + var rotation = frameState.viewState.rotation; + var skippedFeatureUids = frameState.skippedFeatureUids; + return source.forEachFeatureAtCoordinate( + coordinate, resGVolution, rotation, hitTGVolerance, skippedFeatureUids, + + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @return {?} Callback result. + */ + function(feature) { + return callback.call(thisArg, feature, layer); + }); + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.ImageLayer.prototype.prepareFrame = function(frameState, layerState, context) { + + var gl = this.mapRenderer.getGL(); + + var pixelRatio = frameState.pixelRatio; + var viewState = frameState.viewState; + var viewCenter = viewState.center; + var viewResGVolution = viewState.resGVolution; + var viewRotation = viewState.rotation; + + var image = this.image_; + var texture = this.texture; + var imageLayer = /** @type {GVol.layer.Image} */ (this.getLayer()); + var imageSource = imageLayer.getSource(); + + var hints = frameState.viewHints; + + var renderedExtent = frameState.extent; + if (layerState.extent !== undefined) { + renderedExtent = GVol.extent.getIntersection( + renderedExtent, layerState.extent); + } + if (!hints[GVol.ViewHint.ANIMATING] && !hints[GVol.ViewHint.INTERACTING] && + !GVol.extent.isEmpty(renderedExtent)) { + var projection = viewState.projection; + if (!GVol.ENABLE_RASTER_REPROJECTION) { + var sourceProjection = imageSource.getProjection(); + if (sourceProjection) { + projection = sourceProjection; + } + } + var image_ = imageSource.getImage(renderedExtent, viewResGVolution, + pixelRatio, projection); + if (image_) { + var loaded = this.loadImage(image_); + if (loaded) { + image = image_; + texture = this.createTexture_(image_); + if (this.texture) { + /** + * @param {WebGLRenderingContext} gl GL. + * @param {WebGLTexture} texture Texture. + */ + var postRenderFunction = function(gl, texture) { + if (!gl.isContextLost()) { + gl.deleteTexture(texture); + } + }.bind(null, gl, this.texture); + frameState.postRenderFunctions.push( + /** @type {GVol.PostRenderFunction} */ (postRenderFunction) + ); + } + } + } + } + + if (image) { + var canvas = this.mapRenderer.getContext().getCanvas(); + + this.updateProjectionMatrix_(canvas.width, canvas.height, + pixelRatio, viewCenter, viewResGVolution, viewRotation, + image.getExtent()); + this.hitTransformationMatrix_ = null; + + // Translate and scale to flip the Y coord. + var texCoordMatrix = this.texCoordMatrix; + GVol.transform.reset(texCoordMatrix); + GVol.transform.scale(texCoordMatrix, 1, -1); + GVol.transform.translate(texCoordMatrix, 0, -1); + + this.image_ = image; + this.texture = texture; + + this.updateAttributions(frameState.attributions, image.getAttributions()); + this.updateLogos(frameState, imageSource); + } + + return !!image; + }; + + + /** + * @param {number} canvasWidth Canvas width. + * @param {number} canvasHeight Canvas height. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.Coordinate} viewCenter View center. + * @param {number} viewResGVolution View resGVolution. + * @param {number} viewRotation View rotation. + * @param {GVol.Extent} imageExtent Image extent. + * @private + */ + GVol.renderer.webgl.ImageLayer.prototype.updateProjectionMatrix_ = function(canvasWidth, canvasHeight, pixelRatio, + viewCenter, viewResGVolution, viewRotation, imageExtent) { + + var canvasExtentWidth = canvasWidth * viewResGVolution; + var canvasExtentHeight = canvasHeight * viewResGVolution; + + var projectionMatrix = this.projectionMatrix; + GVol.transform.reset(projectionMatrix); + GVol.transform.scale(projectionMatrix, + pixelRatio * 2 / canvasExtentWidth, + pixelRatio * 2 / canvasExtentHeight); + GVol.transform.rotate(projectionMatrix, -viewRotation); + GVol.transform.translate(projectionMatrix, + imageExtent[0] - viewCenter[0], + imageExtent[1] - viewCenter[1]); + GVol.transform.scale(projectionMatrix, + (imageExtent[2] - imageExtent[0]) / 2, + (imageExtent[3] - imageExtent[1]) / 2); + GVol.transform.translate(projectionMatrix, 1, 1); + + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.ImageLayer.prototype.hasFeatureAtCoordinate = function(coordinate, frameState) { + var hasFeature = this.forEachFeatureAtCoordinate( + coordinate, frameState, 0, GVol.functions.TRUE, this); + return hasFeature !== undefined; + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.ImageLayer.prototype.forEachLayerAtPixel = function(pixel, frameState, callback, thisArg) { + if (!this.image_ || !this.image_.getImage()) { + return undefined; + } + + if (this.getLayer().getSource() instanceof GVol.source.ImageVector) { + // for ImageVector sources use the original hit-detection logic, + // so that for example also transparent pGVolygons are detected + var coordinate = GVol.transform.apply( + frameState.pixelToCoordinateTransform, pixel.slice()); + var hasFeature = this.forEachFeatureAtCoordinate( + coordinate, frameState, 0, GVol.functions.TRUE, this); + + if (hasFeature) { + return callback.call(thisArg, this.getLayer(), null); + } else { + return undefined; + } + } else { + var imageSize = + [this.image_.getImage().width, this.image_.getImage().height]; + + if (!this.hitTransformationMatrix_) { + this.hitTransformationMatrix_ = this.getHitTransformationMatrix_( + frameState.size, imageSize); + } + + var pixelOnFrameBuffer = GVol.transform.apply( + this.hitTransformationMatrix_, pixel.slice()); + + if (pixelOnFrameBuffer[0] < 0 || pixelOnFrameBuffer[0] > imageSize[0] || + pixelOnFrameBuffer[1] < 0 || pixelOnFrameBuffer[1] > imageSize[1]) { + // outside the image, no need to check + return undefined; + } + + if (!this.hitCanvasContext_) { + this.hitCanvasContext_ = GVol.dom.createCanvasContext2D(1, 1); + } + + this.hitCanvasContext_.clearRect(0, 0, 1, 1); + this.hitCanvasContext_.drawImage(this.image_.getImage(), + pixelOnFrameBuffer[0], pixelOnFrameBuffer[1], 1, 1, 0, 0, 1, 1); + + var imageData = this.hitCanvasContext_.getImageData(0, 0, 1, 1).data; + if (imageData[3] > 0) { + return callback.call(thisArg, this.getLayer(), imageData); + } else { + return undefined; + } + } + }; + + + /** + * The transformation matrix to get the pixel on the image for a + * pixel on the map. + * @param {GVol.Size} mapSize The map size. + * @param {GVol.Size} imageSize The image size. + * @return {GVol.Transform} The transformation matrix. + * @private + */ + GVol.renderer.webgl.ImageLayer.prototype.getHitTransformationMatrix_ = function(mapSize, imageSize) { + // the first matrix takes a map pixel, flips the y-axis and scales to + // a range between -1 ... 1 + var mapCoordTransform = GVol.transform.create(); + GVol.transform.translate(mapCoordTransform, -1, -1); + GVol.transform.scale(mapCoordTransform, 2 / mapSize[0], 2 / mapSize[1]); + GVol.transform.translate(mapCoordTransform, 0, mapSize[1]); + GVol.transform.scale(mapCoordTransform, 1, -1); + + // the second matrix is the inverse of the projection matrix used in the + // shader for drawing + var projectionMatrixInv = GVol.transform.invert(this.projectionMatrix.slice()); + + // the third matrix scales to the image dimensions and flips the y-axis again + var transform = GVol.transform.create(); + GVol.transform.translate(transform, 0, imageSize[1]); + GVol.transform.scale(transform, 1, -1); + GVol.transform.scale(transform, imageSize[0] / 2, imageSize[1] / 2); + GVol.transform.translate(transform, 1, 1); + + GVol.transform.multiply(transform, projectionMatrixInv); + GVol.transform.multiply(transform, mapCoordTransform); + + return transform; + }; + +} + +goog.provide('GVol.layer.Image'); + +goog.require('GVol'); +goog.require('GVol.layer.Layer'); +goog.require('GVol.renderer.Type'); +goog.require('GVol.renderer.canvas.ImageLayer'); +goog.require('GVol.renderer.webgl.ImageLayer'); + + +/** + * @classdesc + * Server-rendered images that are available for arbitrary extents and + * resGVolutions. + * Note that any property set in the options is set as a {@link GVol.Object} + * property on the layer object; for example, setting `title: 'My Title'` in the + * options means that `title` is observable, and has get/set accessors. + * + * @constructor + * @extends {GVol.layer.Layer} + * @fires GVol.render.Event + * @param {GVolx.layer.ImageOptions=} opt_options Layer options. + * @api + */ +GVol.layer.Image = function(opt_options) { + var options = opt_options ? opt_options : {}; + GVol.layer.Layer.call(this, /** @type {GVolx.layer.LayerOptions} */ (options)); +}; +GVol.inherits(GVol.layer.Image, GVol.layer.Layer); + + +/** + * @inheritDoc + */ +GVol.layer.Image.prototype.createRenderer = function(mapRenderer) { + var renderer = null; + var type = mapRenderer.getType(); + if (GVol.ENABLE_CANVAS && type === GVol.renderer.Type.CANVAS) { + renderer = new GVol.renderer.canvas.ImageLayer(this); + } else if (GVol.ENABLE_WEBGL && type === GVol.renderer.Type.WEBGL) { + renderer = new GVol.renderer.webgl.ImageLayer(/** @type {GVol.renderer.webgl.Map} */ (mapRenderer), this); + } + return renderer; +}; + + +/** + * Return the associated {@link GVol.source.Image source} of the image layer. + * @function + * @return {GVol.source.Image} Source. + * @api + */ +GVol.layer.Image.prototype.getSource; + +goog.provide('GVol.layer.TileProperty'); + +/** + * @enum {string} + */ +GVol.layer.TileProperty = { + PRELOAD: 'preload', + USE_INTERIM_TILES_ON_ERROR: 'useInterimTilesOnError' +}; + +// FIXME find correct globalCompositeOperation + +goog.provide('GVol.renderer.canvas.TileLayer'); + +goog.require('GVol'); +goog.require('GVol.TileRange'); +goog.require('GVol.TileState'); +goog.require('GVol.ViewHint'); +goog.require('GVol.array'); +goog.require('GVol.dom'); +goog.require('GVol.extent'); +goog.require('GVol.renderer.canvas.IntermediateCanvas'); +goog.require('GVol.transform'); + + +/** + * @constructor + * @extends {GVol.renderer.canvas.IntermediateCanvas} + * @param {GVol.layer.Tile|GVol.layer.VectorTile} tileLayer Tile layer. + */ +GVol.renderer.canvas.TileLayer = function(tileLayer) { + + GVol.renderer.canvas.IntermediateCanvas.call(this, tileLayer); + + /** + * @protected + * @type {CanvasRenderingContext2D} + */ + this.context = this.context === null ? null : GVol.dom.createCanvasContext2D(); + + /** + * @private + * @type {number} + */ + this.oversampling_; + + /** + * @private + * @type {GVol.Extent} + */ + this.renderedExtent_ = null; + + /** + * @protected + * @type {number} + */ + this.renderedRevision; + + /** + * @protected + * @type {!Array.<GVol.Tile>} + */ + this.renderedTiles = []; + + /** + * @protected + * @type {GVol.Extent} + */ + this.tmpExtent = GVol.extent.createEmpty(); + + /** + * @private + * @type {GVol.TileRange} + */ + this.tmpTileRange_ = new GVol.TileRange(0, 0, 0, 0); + + /** + * @private + * @type {GVol.Transform} + */ + this.imageTransform_ = GVol.transform.create(); + + /** + * @protected + * @type {number} + */ + this.zDirection = 0; + +}; +GVol.inherits(GVol.renderer.canvas.TileLayer, GVol.renderer.canvas.IntermediateCanvas); + + +/** + * @private + * @param {GVol.Tile} tile Tile. + * @return {boGVolean} Tile is drawable. + */ +GVol.renderer.canvas.TileLayer.prototype.isDrawableTile_ = function(tile) { + var tileState = tile.getState(); + var useInterimTilesOnError = this.getLayer().getUseInterimTilesOnError(); + return tileState == GVol.TileState.LOADED || + tileState == GVol.TileState.EMPTY || + tileState == GVol.TileState.ERROR && !useInterimTilesOnError; +}; + +/** + * @inheritDoc + */ +GVol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layerState) { + + var pixelRatio = frameState.pixelRatio; + var size = frameState.size; + var viewState = frameState.viewState; + var projection = viewState.projection; + var viewResGVolution = viewState.resGVolution; + var viewCenter = viewState.center; + + var tileLayer = this.getLayer(); + var tileSource = /** @type {GVol.source.Tile} */ (tileLayer.getSource()); + var sourceRevision = tileSource.getRevision(); + var tileGrid = tileSource.getTileGridForProjection(projection); + var z = tileGrid.getZForResGVolution(viewResGVolution, this.zDirection); + var tileResGVolution = tileGrid.getResGVolution(z); + var oversampling = Math.round(viewResGVolution / tileResGVolution) || 1; + var extent = frameState.extent; + + if (layerState.extent !== undefined) { + extent = GVol.extent.getIntersection(extent, layerState.extent); + } + if (GVol.extent.isEmpty(extent)) { + // Return false to prevent the rendering of the layer. + return false; + } + + var tileRange = tileGrid.getTileRangeForExtentAndResGVolution( + extent, tileResGVolution); + var imageExtent = tileGrid.getTileRangeExtent(z, tileRange); + + var tilePixelRatio = tileSource.getTilePixelRatio(pixelRatio); + + /** + * @type {Object.<number, Object.<string, GVol.Tile>>} + */ + var tilesToDrawByZ = {}; + tilesToDrawByZ[z] = {}; + + var findLoadedTiles = this.createLoadedTileFinder( + tileSource, projection, tilesToDrawByZ); + + var tmpExtent = this.tmpExtent; + var tmpTileRange = this.tmpTileRange_; + var newTiles = false; + var tile, x, y; + for (x = tileRange.minX; x <= tileRange.maxX; ++x) { + for (y = tileRange.minY; y <= tileRange.maxY; ++y) { + tile = tileSource.getTile(z, x, y, pixelRatio, projection); + if (tile.getState() == GVol.TileState.ERROR) { + if (!tileLayer.getUseInterimTilesOnError()) { + // When useInterimTilesOnError is false, we consider the error tile as loaded. + tile.setState(GVol.TileState.LOADED); + } else if (tileLayer.getPreload() > 0) { + // Preloaded tiles for lower resGVolutions might have finished loading. + newTiles = true; + } + } + if (!this.isDrawableTile_(tile)) { + tile = tile.getInterimTile(); + } + if (this.isDrawableTile_(tile)) { + if (tile.getState() == GVol.TileState.LOADED) { + tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; + if (!newTiles && this.renderedTiles.indexOf(tile) == -1) { + newTiles = true; + } + } + continue; + } + + var fullyLoaded = tileGrid.forEachTileCoordParentTileRange( + tile.tileCoord, findLoadedTiles, null, tmpTileRange, tmpExtent); + if (!fullyLoaded) { + var childTileRange = tileGrid.getTileCoordChildTileRange( + tile.tileCoord, tmpTileRange, tmpExtent); + if (childTileRange) { + findLoadedTiles(z + 1, childTileRange); + } + } + + } + } + + var renderedResGVolution = tileResGVolution * pixelRatio / tilePixelRatio * oversampling; + var hints = frameState.viewHints; + var animatingOrInteracting = hints[GVol.ViewHint.ANIMATING] || hints[GVol.ViewHint.INTERACTING]; + if (!(this.renderedResGVolution && Date.now() - frameState.time > 16 && animatingOrInteracting) && ( + newTiles || + !(this.renderedExtent_ && GVol.extent.containsExtent(this.renderedExtent_, extent)) || + this.renderedRevision != sourceRevision || + oversampling != this.oversampling_ || + !animatingOrInteracting && renderedResGVolution != this.renderedResGVolution + )) { + + var context = this.context; + if (context) { + var tilePixelSize = tileSource.getTilePixelSize(z, pixelRatio, projection); + var width = Math.round(tileRange.getWidth() * tilePixelSize[0] / oversampling); + var height = Math.round(tileRange.getHeight() * tilePixelSize[1] / oversampling); + var canvas = context.canvas; + if (canvas.width != width || canvas.height != height) { + this.oversampling_ = oversampling; + canvas.width = width; + canvas.height = height; + } else { + context.clearRect(0, 0, width, height); + oversampling = this.oversampling_; + } + } + + this.renderedTiles.length = 0; + /** @type {Array.<number>} */ + var zs = Object.keys(tilesToDrawByZ).map(Number); + zs.sort(GVol.array.numberSafeCompareFunction); + var currentResGVolution, currentScale, currentTilePixelSize, currentZ, i, ii; + var tileExtent, tileGutter, tilesToDraw, w, h; + for (i = 0, ii = zs.length; i < ii; ++i) { + currentZ = zs[i]; + currentTilePixelSize = tileSource.getTilePixelSize(currentZ, pixelRatio, projection); + currentResGVolution = tileGrid.getResGVolution(currentZ); + currentScale = currentResGVolution / tileResGVolution; + tileGutter = tilePixelRatio * tileSource.getGutter(projection); + tilesToDraw = tilesToDrawByZ[currentZ]; + for (var tileCoordKey in tilesToDraw) { + tile = tilesToDraw[tileCoordKey]; + tileExtent = tileGrid.getTileCoordExtent(tile.getTileCoord(), tmpExtent); + x = (tileExtent[0] - imageExtent[0]) / tileResGVolution * tilePixelRatio / oversampling; + y = (imageExtent[3] - tileExtent[3]) / tileResGVolution * tilePixelRatio / oversampling; + w = currentTilePixelSize[0] * currentScale / oversampling; + h = currentTilePixelSize[1] * currentScale / oversampling; + this.drawTileImage(tile, frameState, layerState, x, y, w, h, tileGutter); + this.renderedTiles.push(tile); + } + } + + this.renderedRevision = sourceRevision; + this.renderedResGVolution = tileResGVolution * pixelRatio / tilePixelRatio * oversampling; + this.renderedExtent_ = imageExtent; + } + + var scale = this.renderedResGVolution / viewResGVolution; + var transform = GVol.transform.compose(this.imageTransform_, + pixelRatio * size[0] / 2, pixelRatio * size[1] / 2, + scale, scale, + 0, + (this.renderedExtent_[0] - viewCenter[0]) / this.renderedResGVolution * pixelRatio, + (viewCenter[1] - this.renderedExtent_[3]) / this.renderedResGVolution * pixelRatio); + GVol.transform.compose(this.coordinateToCanvasPixelTransform, + pixelRatio * size[0] / 2 - transform[4], pixelRatio * size[1] / 2 - transform[5], + pixelRatio / viewResGVolution, -pixelRatio / viewResGVolution, + 0, + -viewCenter[0], -viewCenter[1]); + + + this.updateUsedTiles(frameState.usedTiles, tileSource, z, tileRange); + this.manageTilePyramid(frameState, tileSource, tileGrid, pixelRatio, + projection, extent, z, tileLayer.getPreload()); + this.scheduleExpireCache(frameState, tileSource); + this.updateLogos(frameState, tileSource); + + return this.renderedTiles.length > 0; +}; + + +/** + * @param {GVol.Tile} tile Tile. + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.LayerState} layerState Layer state. + * @param {number} x Left of the tile. + * @param {number} y Top of the tile. + * @param {number} w Width of the tile. + * @param {number} h Height of the tile. + * @param {number} gutter Tile gutter. + */ +GVol.renderer.canvas.TileLayer.prototype.drawTileImage = function(tile, frameState, layerState, x, y, w, h, gutter) { + if (!this.getLayer().getSource().getOpaque(frameState.viewState.projection)) { + this.context.clearRect(x, y, w, h); + } + var image = tile.getImage(this.getLayer()); + if (image) { + this.context.drawImage(image, gutter, gutter, + image.width - 2 * gutter, image.height - 2 * gutter, x, y, w, h); + } +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.TileLayer.prototype.getImage = function() { + var context = this.context; + return context ? context.canvas : null; +}; + + +/** + * @function + * @return {GVol.layer.Tile|GVol.layer.VectorTile} + */ +GVol.renderer.canvas.TileLayer.prototype.getLayer; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.TileLayer.prototype.getImageTransform = function() { + return this.imageTransform_; +}; + +// This file is automatically generated, do not edit +/* eslint openlayers-internal/no-missing-requires: 0 */ +goog.provide('GVol.renderer.webgl.tilelayershader'); + +goog.require('GVol'); +goog.require('GVol.webgl.Fragment'); +goog.require('GVol.webgl.Vertex'); + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.webgl.Fragment} + * @struct + */ + GVol.renderer.webgl.tilelayershader.Fragment = function() { + GVol.webgl.Fragment.call(this, GVol.renderer.webgl.tilelayershader.Fragment.SOURCE); + }; + GVol.inherits(GVol.renderer.webgl.tilelayershader.Fragment, GVol.webgl.Fragment); + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.tilelayershader.Fragment.DEBUG_SOURCE = 'precision mediump float;\nvarying vec2 v_texCoord;\n\n\nuniform sampler2D u_texture;\n\nvoid main(void) {\n gl_FragCGVolor = texture2D(u_texture, v_texCoord);\n}\n'; + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.tilelayershader.Fragment.OPTIMIZED_SOURCE = 'precision mediump float;varying vec2 a;uniform sampler2D e;void main(void){gl_FragCGVolor=texture2D(e,a);}'; + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.tilelayershader.Fragment.SOURCE = GVol.DEBUG_WEBGL ? + GVol.renderer.webgl.tilelayershader.Fragment.DEBUG_SOURCE : + GVol.renderer.webgl.tilelayershader.Fragment.OPTIMIZED_SOURCE; + + + GVol.renderer.webgl.tilelayershader.fragment = new GVol.renderer.webgl.tilelayershader.Fragment(); + + + /** + * @constructor + * @extends {GVol.webgl.Vertex} + * @struct + */ + GVol.renderer.webgl.tilelayershader.Vertex = function() { + GVol.webgl.Vertex.call(this, GVol.renderer.webgl.tilelayershader.Vertex.SOURCE); + }; + GVol.inherits(GVol.renderer.webgl.tilelayershader.Vertex, GVol.webgl.Vertex); + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.tilelayershader.Vertex.DEBUG_SOURCE = 'varying vec2 v_texCoord;\n\n\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nuniform vec4 u_tileOffset;\n\nvoid main(void) {\n gl_Position = vec4(a_position * u_tileOffset.xy + u_tileOffset.zw, 0., 1.);\n v_texCoord = a_texCoord;\n}\n\n\n'; + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.tilelayershader.Vertex.OPTIMIZED_SOURCE = 'varying vec2 a;attribute vec2 b;attribute vec2 c;uniform vec4 d;void main(void){gl_Position=vec4(b*d.xy+d.zw,0.,1.);a=c;}'; + + + /** + * @const + * @type {string} + */ + GVol.renderer.webgl.tilelayershader.Vertex.SOURCE = GVol.DEBUG_WEBGL ? + GVol.renderer.webgl.tilelayershader.Vertex.DEBUG_SOURCE : + GVol.renderer.webgl.tilelayershader.Vertex.OPTIMIZED_SOURCE; + + + GVol.renderer.webgl.tilelayershader.vertex = new GVol.renderer.webgl.tilelayershader.Vertex(); + + + /** + * @constructor + * @param {WebGLRenderingContext} gl GL. + * @param {WebGLProgram} program Program. + * @struct + */ + GVol.renderer.webgl.tilelayershader.Locations = function(gl, program) { + + /** + * @type {WebGLUniformLocation} + */ + this.u_texture = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_texture' : 'e'); + + /** + * @type {WebGLUniformLocation} + */ + this.u_tileOffset = gl.getUniformLocation( + program, GVol.DEBUG_WEBGL ? 'u_tileOffset' : 'd'); + + /** + * @type {number} + */ + this.a_position = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_position' : 'b'); + + /** + * @type {number} + */ + this.a_texCoord = gl.getAttribLocation( + program, GVol.DEBUG_WEBGL ? 'a_texCoord' : 'c'); + }; + +} + +// FIXME large resGVolutions lead to too large framebuffers :-( +// FIXME animated shaders! check in redraw + +goog.provide('GVol.renderer.webgl.TileLayer'); + +goog.require('GVol'); +goog.require('GVol.TileState'); +goog.require('GVol.TileRange'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.math'); +goog.require('GVol.renderer.webgl.Layer'); +goog.require('GVol.renderer.webgl.tilelayershader'); +goog.require('GVol.size'); +goog.require('GVol.transform'); +goog.require('GVol.webgl'); +goog.require('GVol.webgl.Buffer'); + + +if (GVol.ENABLE_WEBGL) { + + /** + * @constructor + * @extends {GVol.renderer.webgl.Layer} + * @param {GVol.renderer.webgl.Map} mapRenderer Map renderer. + * @param {GVol.layer.Tile} tileLayer Tile layer. + */ + GVol.renderer.webgl.TileLayer = function(mapRenderer, tileLayer) { + + GVol.renderer.webgl.Layer.call(this, mapRenderer, tileLayer); + + /** + * @private + * @type {GVol.webgl.Fragment} + */ + this.fragmentShader_ = GVol.renderer.webgl.tilelayershader.fragment; + + /** + * @private + * @type {GVol.webgl.Vertex} + */ + this.vertexShader_ = GVol.renderer.webgl.tilelayershader.vertex; + + /** + * @private + * @type {GVol.renderer.webgl.tilelayershader.Locations} + */ + this.locations_ = null; + + /** + * @private + * @type {GVol.webgl.Buffer} + */ + this.renderArrayBuffer_ = new GVol.webgl.Buffer([ + 0, 0, 0, 1, + 1, 0, 1, 1, + 0, 1, 0, 0, + 1, 1, 1, 0 + ]); + + /** + * @private + * @type {GVol.TileRange} + */ + this.renderedTileRange_ = null; + + /** + * @private + * @type {GVol.Extent} + */ + this.renderedFramebufferExtent_ = null; + + /** + * @private + * @type {number} + */ + this.renderedRevision_ = -1; + + /** + * @private + * @type {GVol.Size} + */ + this.tmpSize_ = [0, 0]; + + }; + GVol.inherits(GVol.renderer.webgl.TileLayer, GVol.renderer.webgl.Layer); + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.TileLayer.prototype.disposeInternal = function() { + var context = this.mapRenderer.getContext(); + context.deleteBuffer(this.renderArrayBuffer_); + GVol.renderer.webgl.Layer.prototype.disposeInternal.call(this); + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.TileLayer.prototype.createLoadedTileFinder = function(source, projection, tiles) { + var mapRenderer = this.mapRenderer; + + return ( + /** + * @param {number} zoom Zoom level. + * @param {GVol.TileRange} tileRange Tile range. + * @return {boGVolean} The tile range is fully loaded. + */ + function(zoom, tileRange) { + function callback(tile) { + var loaded = mapRenderer.isTileTextureLoaded(tile); + if (loaded) { + if (!tiles[zoom]) { + tiles[zoom] = {}; + } + tiles[zoom][tile.tileCoord.toString()] = tile; + } + return loaded; + } + return source.forEachLoadedTile(projection, zoom, tileRange, callback); + }); + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.TileLayer.prototype.handleWebGLContextLost = function() { + GVol.renderer.webgl.Layer.prototype.handleWebGLContextLost.call(this); + this.locations_ = null; + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.TileLayer.prototype.prepareFrame = function(frameState, layerState, context) { + + var mapRenderer = this.mapRenderer; + var gl = context.getGL(); + + var viewState = frameState.viewState; + var projection = viewState.projection; + + var tileLayer = /** @type {GVol.layer.Tile} */ (this.getLayer()); + var tileSource = tileLayer.getSource(); + var tileGrid = tileSource.getTileGridForProjection(projection); + var z = tileGrid.getZForResGVolution(viewState.resGVolution); + var tileResGVolution = tileGrid.getResGVolution(z); + + var tilePixelSize = + tileSource.getTilePixelSize(z, frameState.pixelRatio, projection); + var pixelRatio = tilePixelSize[0] / + GVol.size.toSize(tileGrid.getTileSize(z), this.tmpSize_)[0]; + var tilePixelResGVolution = tileResGVolution / pixelRatio; + var tileGutter = tileSource.getTilePixelRatio(pixelRatio) * tileSource.getGutter(projection); + + var center = viewState.center; + var extent = frameState.extent; + var tileRange = tileGrid.getTileRangeForExtentAndResGVolution( + extent, tileResGVolution); + + var framebufferExtent; + if (this.renderedTileRange_ && + this.renderedTileRange_.equals(tileRange) && + this.renderedRevision_ == tileSource.getRevision()) { + framebufferExtent = this.renderedFramebufferExtent_; + } else { + + var tileRangeSize = tileRange.getSize(); + + var maxDimension = Math.max( + tileRangeSize[0] * tilePixelSize[0], + tileRangeSize[1] * tilePixelSize[1]); + var framebufferDimension = GVol.math.roundUpToPowerOfTwo(maxDimension); + var framebufferExtentDimension = tilePixelResGVolution * framebufferDimension; + var origin = tileGrid.getOrigin(z); + var minX = origin[0] + + tileRange.minX * tilePixelSize[0] * tilePixelResGVolution; + var minY = origin[1] + + tileRange.minY * tilePixelSize[1] * tilePixelResGVolution; + framebufferExtent = [ + minX, minY, + minX + framebufferExtentDimension, minY + framebufferExtentDimension + ]; + + this.bindFramebuffer(frameState, framebufferDimension); + gl.viewport(0, 0, framebufferDimension, framebufferDimension); + + gl.clearCGVolor(0, 0, 0, 0); + gl.clear(GVol.webgl.COLOR_BUFFER_BIT); + gl.disable(GVol.webgl.BLEND); + + var program = context.getProgram(this.fragmentShader_, this.vertexShader_); + context.useProgram(program); + if (!this.locations_) { + // eslint-disable-next-line openlayers-internal/no-missing-requires + this.locations_ = new GVol.renderer.webgl.tilelayershader.Locations(gl, program); + } + + context.bindBuffer(GVol.webgl.ARRAY_BUFFER, this.renderArrayBuffer_); + gl.enableVertexAttribArray(this.locations_.a_position); + gl.vertexAttribPointer( + this.locations_.a_position, 2, GVol.webgl.FLOAT, false, 16, 0); + gl.enableVertexAttribArray(this.locations_.a_texCoord); + gl.vertexAttribPointer( + this.locations_.a_texCoord, 2, GVol.webgl.FLOAT, false, 16, 8); + gl.uniform1i(this.locations_.u_texture, 0); + + /** + * @type {Object.<number, Object.<string, GVol.Tile>>} + */ + var tilesToDrawByZ = {}; + tilesToDrawByZ[z] = {}; + + var findLoadedTiles = this.createLoadedTileFinder( + tileSource, projection, tilesToDrawByZ); + + var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError(); + var allTilesLoaded = true; + var tmpExtent = GVol.extent.createEmpty(); + var tmpTileRange = new GVol.TileRange(0, 0, 0, 0); + var childTileRange, drawable, fullyLoaded, tile, tileState; + var x, y, tileExtent; + for (x = tileRange.minX; x <= tileRange.maxX; ++x) { + for (y = tileRange.minY; y <= tileRange.maxY; ++y) { + + tile = tileSource.getTile(z, x, y, pixelRatio, projection); + if (layerState.extent !== undefined) { + // ignore tiles outside layer extent + tileExtent = tileGrid.getTileCoordExtent(tile.tileCoord, tmpExtent); + if (!GVol.extent.intersects(tileExtent, layerState.extent)) { + continue; + } + } + tileState = tile.getState(); + drawable = tileState == GVol.TileState.LOADED || + tileState == GVol.TileState.EMPTY || + tileState == GVol.TileState.ERROR && !useInterimTilesOnError; + if (!drawable) { + tile = tile.getInterimTile(); + } + tileState = tile.getState(); + if (tileState == GVol.TileState.LOADED) { + if (mapRenderer.isTileTextureLoaded(tile)) { + tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; + continue; + } + } else if (tileState == GVol.TileState.EMPTY || + (tileState == GVol.TileState.ERROR && + !useInterimTilesOnError)) { + continue; + } + + allTilesLoaded = false; + fullyLoaded = tileGrid.forEachTileCoordParentTileRange( + tile.tileCoord, findLoadedTiles, null, tmpTileRange, tmpExtent); + if (!fullyLoaded) { + childTileRange = tileGrid.getTileCoordChildTileRange( + tile.tileCoord, tmpTileRange, tmpExtent); + if (childTileRange) { + findLoadedTiles(z + 1, childTileRange); + } + } + + } + + } + + /** @type {Array.<number>} */ + var zs = Object.keys(tilesToDrawByZ).map(Number); + zs.sort(GVol.array.numberSafeCompareFunction); + var u_tileOffset = new Float32Array(4); + var i, ii, tileKey, tilesToDraw; + for (i = 0, ii = zs.length; i < ii; ++i) { + tilesToDraw = tilesToDrawByZ[zs[i]]; + for (tileKey in tilesToDraw) { + tile = tilesToDraw[tileKey]; + tileExtent = tileGrid.getTileCoordExtent(tile.tileCoord, tmpExtent); + u_tileOffset[0] = 2 * (tileExtent[2] - tileExtent[0]) / + framebufferExtentDimension; + u_tileOffset[1] = 2 * (tileExtent[3] - tileExtent[1]) / + framebufferExtentDimension; + u_tileOffset[2] = 2 * (tileExtent[0] - framebufferExtent[0]) / + framebufferExtentDimension - 1; + u_tileOffset[3] = 2 * (tileExtent[1] - framebufferExtent[1]) / + framebufferExtentDimension - 1; + gl.uniform4fv(this.locations_.u_tileOffset, u_tileOffset); + mapRenderer.bindTileTexture(tile, tilePixelSize, + tileGutter * pixelRatio, GVol.webgl.LINEAR, GVol.webgl.LINEAR); + gl.drawArrays(GVol.webgl.TRIANGLE_STRIP, 0, 4); + } + } + + if (allTilesLoaded) { + this.renderedTileRange_ = tileRange; + this.renderedFramebufferExtent_ = framebufferExtent; + this.renderedRevision_ = tileSource.getRevision(); + } else { + this.renderedTileRange_ = null; + this.renderedFramebufferExtent_ = null; + this.renderedRevision_ = -1; + frameState.animate = true; + } + + } + + this.updateUsedTiles(frameState.usedTiles, tileSource, z, tileRange); + var tileTextureQueue = mapRenderer.getTileTextureQueue(); + this.manageTilePyramid( + frameState, tileSource, tileGrid, pixelRatio, projection, extent, z, + tileLayer.getPreload(), + /** + * @param {GVol.Tile} tile Tile. + */ + function(tile) { + if (tile.getState() == GVol.TileState.LOADED && + !mapRenderer.isTileTextureLoaded(tile) && + !tileTextureQueue.isKeyQueued(tile.getKey())) { + tileTextureQueue.enqueue([ + tile, + tileGrid.getTileCoordCenter(tile.tileCoord), + tileGrid.getResGVolution(tile.tileCoord[0]), + tilePixelSize, tileGutter * pixelRatio + ]); + } + }, this); + this.scheduleExpireCache(frameState, tileSource); + this.updateLogos(frameState, tileSource); + + var texCoordMatrix = this.texCoordMatrix; + GVol.transform.reset(texCoordMatrix); + GVol.transform.translate(texCoordMatrix, + (Math.round(center[0] / tileResGVolution) * tileResGVolution - framebufferExtent[0]) / + (framebufferExtent[2] - framebufferExtent[0]), + (Math.round(center[1] / tileResGVolution) * tileResGVolution - framebufferExtent[1]) / + (framebufferExtent[3] - framebufferExtent[1])); + if (viewState.rotation !== 0) { + GVol.transform.rotate(texCoordMatrix, viewState.rotation); + } + GVol.transform.scale(texCoordMatrix, + frameState.size[0] * viewState.resGVolution / + (framebufferExtent[2] - framebufferExtent[0]), + frameState.size[1] * viewState.resGVolution / + (framebufferExtent[3] - framebufferExtent[1])); + GVol.transform.translate(texCoordMatrix, -0.5, -0.5); + + return true; + }; + + + /** + * @inheritDoc + */ + GVol.renderer.webgl.TileLayer.prototype.forEachLayerAtPixel = function(pixel, frameState, callback, thisArg) { + if (!this.framebuffer) { + return undefined; + } + + var pixelOnMapScaled = [ + pixel[0] / frameState.size[0], + (frameState.size[1] - pixel[1]) / frameState.size[1]]; + + var pixelOnFrameBufferScaled = GVol.transform.apply( + this.texCoordMatrix, pixelOnMapScaled.slice()); + var pixelOnFrameBuffer = [ + pixelOnFrameBufferScaled[0] * this.framebufferDimension, + pixelOnFrameBufferScaled[1] * this.framebufferDimension]; + + var gl = this.mapRenderer.getContext().getGL(); + gl.bindFramebuffer(gl.FRAMEBUFFER, this.framebuffer); + var imageData = new Uint8Array(4); + gl.readPixels(pixelOnFrameBuffer[0], pixelOnFrameBuffer[1], 1, 1, + gl.RGBA, gl.UNSIGNED_BYTE, imageData); + + if (imageData[3] > 0) { + return callback.call(thisArg, this.getLayer(), imageData); + } else { + return undefined; + } + }; + +} + +goog.provide('GVol.layer.Tile'); + +goog.require('GVol'); +goog.require('GVol.layer.Layer'); +goog.require('GVol.layer.TileProperty'); +goog.require('GVol.obj'); +goog.require('GVol.renderer.Type'); +goog.require('GVol.renderer.canvas.TileLayer'); +goog.require('GVol.renderer.webgl.TileLayer'); + + +/** + * @classdesc + * For layer sources that provide pre-rendered, tiled images in grids that are + * organized by zoom levels for specific resGVolutions. + * Note that any property set in the options is set as a {@link GVol.Object} + * property on the layer object; for example, setting `title: 'My Title'` in the + * options means that `title` is observable, and has get/set accessors. + * + * @constructor + * @extends {GVol.layer.Layer} + * @fires GVol.render.Event + * @param {GVolx.layer.TileOptions=} opt_options Tile layer options. + * @api + */ +GVol.layer.Tile = function(opt_options) { + var options = opt_options ? opt_options : {}; + + var baseOptions = GVol.obj.assign({}, options); + + delete baseOptions.preload; + delete baseOptions.useInterimTilesOnError; + GVol.layer.Layer.call(this, /** @type {GVolx.layer.LayerOptions} */ (baseOptions)); + + this.setPreload(options.preload !== undefined ? options.preload : 0); + this.setUseInterimTilesOnError(options.useInterimTilesOnError !== undefined ? + options.useInterimTilesOnError : true); +}; +GVol.inherits(GVol.layer.Tile, GVol.layer.Layer); + + +/** + * @inheritDoc + */ +GVol.layer.Tile.prototype.createRenderer = function(mapRenderer) { + var renderer = null; + var type = mapRenderer.getType(); + if (GVol.ENABLE_CANVAS && type === GVol.renderer.Type.CANVAS) { + renderer = new GVol.renderer.canvas.TileLayer(this); + } else if (GVol.ENABLE_WEBGL && type === GVol.renderer.Type.WEBGL) { + renderer = new GVol.renderer.webgl.TileLayer(/** @type {GVol.renderer.webgl.Map} */ (mapRenderer), this); + } + return renderer; +}; + + +/** + * Return the level as number to which we will preload tiles up to. + * @return {number} The level to preload tiles up to. + * @observable + * @api + */ +GVol.layer.Tile.prototype.getPreload = function() { + return /** @type {number} */ (this.get(GVol.layer.TileProperty.PRELOAD)); +}; + + +/** + * Return the associated {@link GVol.source.Tile tilesource} of the layer. + * @function + * @return {GVol.source.Tile} Source. + * @api + */ +GVol.layer.Tile.prototype.getSource; + + +/** + * Set the level as number to which we will preload tiles up to. + * @param {number} preload The level to preload tiles up to. + * @observable + * @api + */ +GVol.layer.Tile.prototype.setPreload = function(preload) { + this.set(GVol.layer.TileProperty.PRELOAD, preload); +}; + + +/** + * Whether we use interim tiles on error. + * @return {boGVolean} Use interim tiles on error. + * @observable + * @api + */ +GVol.layer.Tile.prototype.getUseInterimTilesOnError = function() { + return /** @type {boGVolean} */ ( + this.get(GVol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR)); +}; + + +/** + * Set whether we use interim tiles on error. + * @param {boGVolean} useInterimTilesOnError Use interim tiles on error. + * @observable + * @api + */ +GVol.layer.Tile.prototype.setUseInterimTilesOnError = function(useInterimTilesOnError) { + this.set( + GVol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR, useInterimTilesOnError); +}; + +goog.provide('GVol.layer.VectorTileRenderType'); + +/** + * @enum {string} + * Render mode for vector tiles: + * * `'image'`: Vector tiles are rendered as images. Great performance, but + * point symbGVols and texts are always rotated with the view and pixels are + * scaled during zoom animations. + * * `'hybrid'`: PGVolygon and line elements are rendered as images, so pixels + * are scaled during zoom animations. Point symbGVols and texts are accurately + * rendered as vectors and can stay upright on rotated views. + * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering + * even during animations, but slower performance than the other options. + * @api + */ +GVol.layer.VectorTileRenderType = { + IMAGE: 'image', + HYBRID: 'hybrid', + VECTOR: 'vector' +}; + +goog.provide('GVol.renderer.canvas.VectorTileLayer'); + +goog.require('GVol'); +goog.require('GVol.TileState'); +goog.require('GVol.dom'); +goog.require('GVol.extent'); +goog.require('GVol.proj'); +goog.require('GVol.proj.Units'); +goog.require('GVol.layer.VectorTileRenderType'); +goog.require('GVol.render.ReplayType'); +goog.require('GVol.render.canvas'); +goog.require('GVol.render.canvas.ReplayGroup'); +goog.require('GVol.render.replay'); +goog.require('GVol.renderer.canvas.TileLayer'); +goog.require('GVol.renderer.vector'); +goog.require('GVol.size'); +goog.require('GVol.transform'); + + +/** + * @constructor + * @extends {GVol.renderer.canvas.TileLayer} + * @param {GVol.layer.VectorTile} layer VectorTile layer. + */ +GVol.renderer.canvas.VectorTileLayer = function(layer) { + + /** + * @type {CanvasRenderingContext2D} + */ + this.context = null; + + GVol.renderer.canvas.TileLayer.call(this, layer); + + /** + * @private + * @type {boGVolean} + */ + this.dirty_ = false; + + /** + * @private + * @type {number} + */ + this.renderedLayerRevision_; + + /** + * @private + * @type {GVol.Transform} + */ + this.tmpTransform_ = GVol.transform.create(); + + // Use lower resGVolution for pure vector rendering. Closest resGVolution otherwise. + this.zDirection = + layer.getRenderMode() == GVol.layer.VectorTileRenderType.VECTOR ? 1 : 0; + +}; +GVol.inherits(GVol.renderer.canvas.VectorTileLayer, GVol.renderer.canvas.TileLayer); + + +/** + * @const + * @type {!Object.<string, Array.<GVol.render.ReplayType>>} + */ +GVol.renderer.canvas.VectorTileLayer.IMAGE_REPLAYS = { + 'image': [GVol.render.ReplayType.POLYGON, GVol.render.ReplayType.CIRCLE, + GVol.render.ReplayType.LINE_STRING, GVol.render.ReplayType.IMAGE, GVol.render.ReplayType.TEXT], + 'hybrid': [GVol.render.ReplayType.POLYGON, GVol.render.ReplayType.LINE_STRING] +}; + + +/** + * @const + * @type {!Object.<string, Array.<GVol.render.ReplayType>>} + */ +GVol.renderer.canvas.VectorTileLayer.VECTOR_REPLAYS = { + 'image': [GVol.render.ReplayType.DEFAULT], + 'hybrid': [GVol.render.ReplayType.IMAGE, GVol.render.ReplayType.TEXT, GVol.render.ReplayType.DEFAULT], + 'vector': GVol.render.replay.ORDER +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.VectorTileLayer.prototype.prepareFrame = function(frameState, layerState) { + var layer = this.getLayer(); + var layerRevision = layer.getRevision(); + if (this.renderedLayerRevision_ != layerRevision) { + this.renderedTiles.length = 0; + var renderMode = layer.getRenderMode(); + if (!this.context && renderMode != GVol.layer.VectorTileRenderType.VECTOR) { + this.context = GVol.dom.createCanvasContext2D(); + } + if (this.context && renderMode == GVol.layer.VectorTileRenderType.VECTOR) { + this.context = null; + } + } + this.renderedLayerRevision_ = layerRevision; + return GVol.renderer.canvas.TileLayer.prototype.prepareFrame.apply(this, arguments); +}; + + +/** + * @param {GVol.VectorImageTile} tile Tile. + * @param {GVolx.FrameState} frameState Frame state. + * @private + */ +GVol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup_ = function( + tile, frameState) { + var layer = this.getLayer(); + var pixelRatio = frameState.pixelRatio; + var projection = frameState.viewState.projection; + var revision = layer.getRevision(); + var renderOrder = /** @type {GVol.RenderOrderFunction} */ + (layer.getRenderOrder()) || null; + + var replayState = tile.getReplayState(layer); + if (!replayState.dirty && replayState.renderedRevision == revision && + replayState.renderedRenderOrder == renderOrder) { + return; + } + + var source = /** @type {GVol.source.VectorTile} */ (layer.getSource()); + var sourceTileGrid = source.getTileGrid(); + var tileGrid = source.getTileGridForProjection(projection); + var resGVolution = tileGrid.getResGVolution(tile.tileCoord[0]); + var tileExtent = tileGrid.getTileCoordExtent(tile.wrappedTileCoord); + + for (var t = 0, tt = tile.tileKeys.length; t < tt; ++t) { + var sourceTile = tile.getTile(tile.tileKeys[t]); + replayState.dirty = false; + + var sourceTileCoord = sourceTile.tileCoord; + var tileProjection = sourceTile.getProjection(); + var sourceTileResGVolution = sourceTileGrid.getResGVolution(sourceTile.tileCoord[0]); + var sourceTileExtent = sourceTileGrid.getTileCoordExtent(sourceTileCoord); + var sharedExtent = GVol.extent.getIntersection(tileExtent, sourceTileExtent); + var extent, reproject, tileResGVolution; + if (tileProjection.getUnits() == GVol.proj.Units.TILE_PIXELS) { + var tilePixelRatio = tileResGVolution = this.getTilePixelRatio_(source, sourceTile); + var transform = GVol.transform.compose(this.tmpTransform_, + 0, 0, + 1 / sourceTileResGVolution * tilePixelRatio, -1 / sourceTileResGVolution * tilePixelRatio, + 0, + -sourceTileExtent[0], -sourceTileExtent[3]); + extent = (GVol.transform.apply(transform, [sharedExtent[0], sharedExtent[3]]) + .concat(GVol.transform.apply(transform, [sharedExtent[2], sharedExtent[1]]))); + } else { + tileResGVolution = resGVolution; + extent = sharedExtent; + if (!GVol.proj.equivalent(projection, tileProjection)) { + reproject = true; + sourceTile.setProjection(projection); + } + } + replayState.dirty = false; + var replayGroup = new GVol.render.canvas.ReplayGroup(0, extent, + tileResGVolution, source.getOverlaps(), layer.getRenderBuffer()); + var squaredTGVolerance = GVol.renderer.vector.getSquaredTGVolerance( + tileResGVolution, pixelRatio); + + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @this {GVol.renderer.canvas.VectorTileLayer} + */ + var renderFeature = function(feature) { + var styles; + var styleFunction = feature.getStyleFunction(); + if (styleFunction) { + styles = styleFunction.call(/** @type {GVol.Feature} */ (feature), resGVolution); + } else { + styleFunction = layer.getStyleFunction(); + if (styleFunction) { + styles = styleFunction(feature, resGVolution); + } + } + if (styles) { + if (!Array.isArray(styles)) { + styles = [styles]; + } + var dirty = this.renderFeature(feature, squaredTGVolerance, styles, + replayGroup); + this.dirty_ = this.dirty_ || dirty; + replayState.dirty = replayState.dirty || dirty; + } + }; + + var features = sourceTile.getFeatures(); + if (renderOrder && renderOrder !== replayState.renderedRenderOrder) { + features.sort(renderOrder); + } + var feature; + for (var i = 0, ii = features.length; i < ii; ++i) { + feature = features[i]; + if (reproject) { + feature.getGeometry().transform(tileProjection, projection); + } + renderFeature.call(this, feature); + } + replayGroup.finish(); + sourceTile.setReplayGroup(layer, tile.tileCoord.toString(), replayGroup); + } + replayState.renderedRevision = revision; + replayState.renderedRenderOrder = renderOrder; +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.VectorTileLayer.prototype.drawTileImage = function( + tile, frameState, layerState, x, y, w, h, gutter) { + var vectorImageTile = /** @type {GVol.VectorImageTile} */ (tile); + this.createReplayGroup_(vectorImageTile, frameState); + if (this.context) { + this.renderTileImage_(vectorImageTile, frameState, layerState); + GVol.renderer.canvas.TileLayer.prototype.drawTileImage.apply(this, arguments); + } +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.VectorTileLayer.prototype.forEachFeatureAtCoordinate = function(coordinate, frameState, hitTGVolerance, callback, thisArg) { + var resGVolution = frameState.viewState.resGVolution; + var rotation = frameState.viewState.rotation; + hitTGVolerance = hitTGVolerance == undefined ? 0 : hitTGVolerance; + var layer = this.getLayer(); + /** @type {Object.<string, boGVolean>} */ + var features = {}; + + /** @type {Array.<GVol.VectorImageTile>} */ + var renderedTiles = this.renderedTiles; + + var source = /** @type {GVol.source.VectorTile} */ (layer.getSource()); + var tileGrid = source.getTileGridForProjection(frameState.viewState.projection); + var sourceTileGrid = source.getTileGrid(); + var bufferedExtent, found, tileSpaceCoordinate; + var i, ii, origin, replayGroup; + var tile, tileCoord, tileExtent, tilePixelRatio, tileRenderResGVolution; + for (i = 0, ii = renderedTiles.length; i < ii; ++i) { + tile = renderedTiles[i]; + tileCoord = tile.tileCoord; + tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent); + bufferedExtent = GVol.extent.buffer(tileExtent, hitTGVolerance * resGVolution, bufferedExtent); + if (!GVol.extent.containsCoordinate(bufferedExtent, coordinate)) { + continue; + } + for (var t = 0, tt = tile.tileKeys.length; t < tt; ++t) { + var sourceTile = tile.getTile(tile.tileKeys[t]); + if (sourceTile.getProjection().getUnits() === GVol.proj.Units.TILE_PIXELS) { + var sourceTileCoord = sourceTile.tileCoord; + var sourceTileExtent = sourceTileGrid.getTileCoordExtent(sourceTileCoord, this.tmpExtent); + origin = GVol.extent.getTopLeft(sourceTileExtent); + tilePixelRatio = this.getTilePixelRatio_(source, sourceTile); + var sourceTileResGVolution = sourceTileGrid.getResGVolution(sourceTileCoord[0]); + tileRenderResGVolution = sourceTileResGVolution / tilePixelRatio; + tileSpaceCoordinate = [ + (coordinate[0] - origin[0]) / tileRenderResGVolution, + (origin[1] - coordinate[1]) / tileRenderResGVolution + ]; + var upscaling = tileGrid.getResGVolution(tileCoord[0]) / sourceTileResGVolution; + resGVolution = tilePixelRatio * upscaling; + } else { + tileSpaceCoordinate = coordinate; + } + replayGroup = sourceTile.getReplayGroup(layer, tile.tileCoord.toString()); + found = found || replayGroup.forEachFeatureAtCoordinate( + tileSpaceCoordinate, resGVolution, rotation, hitTGVolerance, {}, + /** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @return {?} Callback result. + */ + function(feature) { + var key = GVol.getUid(feature).toString(); + if (!(key in features)) { + features[key] = true; + return callback.call(thisArg, feature, layer); + } + }); + } + } + return found; +}; + + +/** + * @param {GVol.VectorTile} tile Tile. + * @param {GVolx.FrameState} frameState Frame state. + * @return {GVol.Transform} transform Transform. + * @private + */ +GVol.renderer.canvas.VectorTileLayer.prototype.getReplayTransform_ = function(tile, frameState) { + if (tile.getProjection().getUnits() == GVol.proj.Units.TILE_PIXELS) { + var layer = this.getLayer(); + var source = /** @type {GVol.source.VectorTile} */ (layer.getSource()); + var tileGrid = source.getTileGrid(); + var tileCoord = tile.tileCoord; + var tileResGVolution = + tileGrid.getResGVolution(tileCoord[0]) / this.getTilePixelRatio_(source, tile); + var viewState = frameState.viewState; + var pixelRatio = frameState.pixelRatio; + var renderResGVolution = viewState.resGVolution / pixelRatio; + var tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent); + var center = viewState.center; + var origin = GVol.extent.getTopLeft(tileExtent); + var size = frameState.size; + var offsetX = Math.round(pixelRatio * size[0] / 2); + var offsetY = Math.round(pixelRatio * size[1] / 2); + return GVol.transform.compose(this.tmpTransform_, + offsetX, offsetY, + tileResGVolution / renderResGVolution, tileResGVolution / renderResGVolution, + viewState.rotation, + (origin[0] - center[0]) / tileResGVolution, + (center[1] - origin[1]) / tileResGVolution); + } else { + return this.getTransform(frameState, 0); + } +}; + + +/** + * @private + * @param {GVol.source.VectorTile} source Source. + * @param {GVol.VectorTile} tile Tile. + * @return {number} The tile's pixel ratio. + */ +GVol.renderer.canvas.VectorTileLayer.prototype.getTilePixelRatio_ = function(source, tile) { + return GVol.extent.getWidth(tile.getExtent()) / + GVol.size.toSize(source.getTileGrid().getTileSize(tile.tileCoord[0]))[0]; +}; + + +/** + * Handle changes in image style state. + * @param {GVol.events.Event} event Image style change event. + * @private + */ +GVol.renderer.canvas.VectorTileLayer.prototype.handleStyleImageChange_ = function(event) { + this.renderIfReadyAndVisible(); +}; + + +/** + * @inheritDoc + */ +GVol.renderer.canvas.VectorTileLayer.prototype.postCompose = function(context, frameState, layerState) { + var layer = this.getLayer(); + var source = /** @type {GVol.source.VectorTile} */ (layer.getSource()); + var renderMode = layer.getRenderMode(); + var replays = GVol.renderer.canvas.VectorTileLayer.VECTOR_REPLAYS[renderMode]; + var pixelRatio = frameState.pixelRatio; + var rotation = frameState.viewState.rotation; + var size = frameState.size; + var offsetX = Math.round(pixelRatio * size[0] / 2); + var offsetY = Math.round(pixelRatio * size[1] / 2); + var tiles = this.renderedTiles; + var sourceTileGrid = source.getTileGrid(); + var tileGrid = source.getTileGridForProjection(frameState.viewState.projection); + var clips = []; + var zs = []; + for (var i = tiles.length - 1; i >= 0; --i) { + var tile = /** @type {GVol.VectorImageTile} */ (tiles[i]); + if (tile.getState() == GVol.TileState.ABORT) { + continue; + } + var tileCoord = tile.tileCoord; + var worldOffset = tileGrid.getTileCoordExtent(tileCoord)[0] - + tileGrid.getTileCoordExtent(tile.wrappedTileCoord)[0]; + for (var t = 0, tt = tile.tileKeys.length; t < tt; ++t) { + var sourceTile = tile.getTile(tile.tileKeys[t]); + var tilePixelRatio = this.getTilePixelRatio_(source, sourceTile); + var replayGroup = sourceTile.getReplayGroup(layer, tileCoord.toString()); + if (renderMode != GVol.layer.VectorTileRenderType.VECTOR && !replayGroup.hasReplays(replays)) { + continue; + } + var currentZ = sourceTile.tileCoord[0]; + var sourceResGVolution = sourceTileGrid.getResGVolution(currentZ); + var transform = this.getReplayTransform_(sourceTile, frameState); + GVol.transform.translate(transform, worldOffset * tilePixelRatio / sourceResGVolution, 0); + var currentClip = replayGroup.getClipCoords(transform); + context.save(); + context.globalAlpha = layerState.opacity; + GVol.render.canvas.rotateAtOffset(context, -rotation, offsetX, offsetY); + // Create a clip mask for regions in this low resGVolution tile that are + // already filled by a higher resGVolution tile + for (var j = 0, jj = clips.length; j < jj; ++j) { + var clip = clips[j]; + if (currentZ < zs[j]) { + context.beginPath(); + // counter-clockwise (outer ring) for current tile + context.moveTo(currentClip[0], currentClip[1]); + context.lineTo(currentClip[2], currentClip[3]); + context.lineTo(currentClip[4], currentClip[5]); + context.lineTo(currentClip[6], currentClip[7]); + // clockwise (inner ring) for higher resGVolution tile + context.moveTo(clip[6], clip[7]); + context.lineTo(clip[4], clip[5]); + context.lineTo(clip[2], clip[3]); + context.lineTo(clip[0], clip[1]); + context.clip(); + } + } + replayGroup.replay(context, pixelRatio, transform, rotation, {}, replays); + context.restore(); + clips.push(currentClip); + zs.push(currentZ); + } + } + GVol.renderer.canvas.TileLayer.prototype.postCompose.apply(this, arguments); +}; + + +/** + * @param {GVol.Feature|GVol.render.Feature} feature Feature. + * @param {number} squaredTGVolerance Squared tGVolerance. + * @param {(GVol.style.Style|Array.<GVol.style.Style>)} styles The style or array of + * styles. + * @param {GVol.render.canvas.ReplayGroup} replayGroup Replay group. + * @return {boGVolean} `true` if an image is loading. + */ +GVol.renderer.canvas.VectorTileLayer.prototype.renderFeature = function(feature, squaredTGVolerance, styles, replayGroup) { + if (!styles) { + return false; + } + var loading = false; + if (Array.isArray(styles)) { + for (var i = 0, ii = styles.length; i < ii; ++i) { + loading = GVol.renderer.vector.renderFeature( + replayGroup, feature, styles[i], squaredTGVolerance, + this.handleStyleImageChange_, this) || loading; + } + } else { + loading = GVol.renderer.vector.renderFeature( + replayGroup, feature, styles, squaredTGVolerance, + this.handleStyleImageChange_, this) || loading; + } + return loading; +}; + + +/** + * @param {GVol.VectorImageTile} tile Tile. + * @param {GVolx.FrameState} frameState Frame state. + * @param {GVol.LayerState} layerState Layer state. + * @private + */ +GVol.renderer.canvas.VectorTileLayer.prototype.renderTileImage_ = function( + tile, frameState, layerState) { + var layer = this.getLayer(); + var replayState = tile.getReplayState(layer); + var revision = layer.getRevision(); + var replays = GVol.renderer.canvas.VectorTileLayer.IMAGE_REPLAYS[layer.getRenderMode()]; + if (replays && replayState.renderedTileRevision !== revision) { + replayState.renderedTileRevision = revision; + var tileCoord = tile.wrappedTileCoord; + var z = tileCoord[0]; + var pixelRatio = frameState.pixelRatio; + var source = /** @type {GVol.source.VectorTile} */ (layer.getSource()); + var sourceTileGrid = source.getTileGrid(); + var tileGrid = source.getTileGridForProjection(frameState.viewState.projection); + var resGVolution = tileGrid.getResGVolution(z); + var context = tile.getContext(layer); + var size = source.getTilePixelSize(z, pixelRatio, frameState.viewState.projection); + context.canvas.width = size[0]; + context.canvas.height = size[1]; + var tileExtent = tileGrid.getTileCoordExtent(tileCoord); + for (var i = 0, ii = tile.tileKeys.length; i < ii; ++i) { + var sourceTile = tile.getTile(tile.tileKeys[i]); + var tilePixelRatio = this.getTilePixelRatio_(source, sourceTile); + var sourceTileCoord = sourceTile.tileCoord; + var pixelScale = pixelRatio / resGVolution; + var transform = GVol.transform.reset(this.tmpTransform_); + if (sourceTile.getProjection().getUnits() == GVol.proj.Units.TILE_PIXELS) { + var sourceTileExtent = sourceTileGrid.getTileCoordExtent(sourceTileCoord, this.tmpExtent); + var sourceResGVolution = sourceTileGrid.getResGVolution(sourceTileCoord[0]); + var renderPixelRatio = pixelRatio / tilePixelRatio * sourceResGVolution / resGVolution; + GVol.transform.scale(transform, renderPixelRatio, renderPixelRatio); + var offsetX = (sourceTileExtent[0] - tileExtent[0]) / sourceResGVolution * tilePixelRatio; + var offsetY = (tileExtent[3] - sourceTileExtent[3]) / sourceResGVolution * tilePixelRatio; + GVol.transform.translate(transform, Math.round(offsetX), Math.round(offsetY)); + } else { + GVol.transform.scale(transform, pixelScale, -pixelScale); + GVol.transform.translate(transform, -tileExtent[0], -tileExtent[3]); + } + var replayGroup = sourceTile.getReplayGroup(layer, tile.tileCoord.toString()); + replayGroup.replay(context, pixelRatio, transform, 0, {}, replays, true); + } + } +}; + +goog.provide('GVol.layer.VectorTile'); + +goog.require('GVol'); +goog.require('GVol.asserts'); +goog.require('GVol.layer.TileProperty'); +goog.require('GVol.layer.Vector'); +goog.require('GVol.layer.VectorTileRenderType'); +goog.require('GVol.obj'); +goog.require('GVol.renderer.Type'); +goog.require('GVol.renderer.canvas.VectorTileLayer'); + + +/** + * @classdesc + * Layer for vector tile data that is rendered client-side. + * Note that any property set in the options is set as a {@link GVol.Object} + * property on the layer object; for example, setting `title: 'My Title'` in the + * options means that `title` is observable, and has get/set accessors. + * + * @constructor + * @extends {GVol.layer.Vector} + * @param {GVolx.layer.VectorTileOptions=} opt_options Options. + * @api + */ +GVol.layer.VectorTile = function(opt_options) { + var options = opt_options ? opt_options : {}; + + var baseOptions = GVol.obj.assign({}, options); + + delete baseOptions.preload; + delete baseOptions.useInterimTilesOnError; + GVol.layer.Vector.call(this, /** @type {GVolx.layer.VectorOptions} */ (baseOptions)); + + this.setPreload(options.preload ? options.preload : 0); + this.setUseInterimTilesOnError(options.useInterimTilesOnError ? + options.useInterimTilesOnError : true); + + GVol.asserts.assert(options.renderMode == undefined || + options.renderMode == GVol.layer.VectorTileRenderType.IMAGE || + options.renderMode == GVol.layer.VectorTileRenderType.HYBRID || + options.renderMode == GVol.layer.VectorTileRenderType.VECTOR, + 28); // `renderMode` must be `'image'`, `'hybrid'` or `'vector'` + + /** + * @private + * @type {GVol.layer.VectorTileRenderType|string} + */ + this.renderMode_ = options.renderMode || GVol.layer.VectorTileRenderType.HYBRID; + +}; +GVol.inherits(GVol.layer.VectorTile, GVol.layer.Vector); + + +/** + * @inheritDoc + */ +GVol.layer.VectorTile.prototype.createRenderer = function(mapRenderer) { + var renderer = null; + var type = mapRenderer.getType(); + if (GVol.ENABLE_CANVAS && type === GVol.renderer.Type.CANVAS) { + renderer = new GVol.renderer.canvas.VectorTileLayer(this); + } + return renderer; +}; + + +/** + * Return the level as number to which we will preload tiles up to. + * @return {number} The level to preload tiles up to. + * @observable + * @api + */ +GVol.layer.VectorTile.prototype.getPreload = function() { + return /** @type {number} */ (this.get(GVol.layer.TileProperty.PRELOAD)); +}; + + +/** + * @return {GVol.layer.VectorTileRenderType|string} The render mode. + */ +GVol.layer.VectorTile.prototype.getRenderMode = function() { + return this.renderMode_; +}; + + +/** + * Whether we use interim tiles on error. + * @return {boGVolean} Use interim tiles on error. + * @observable + * @api + */ +GVol.layer.VectorTile.prototype.getUseInterimTilesOnError = function() { + return /** @type {boGVolean} */ ( + this.get(GVol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR)); +}; + + +/** + * Set the level as number to which we will preload tiles up to. + * @param {number} preload The level to preload tiles up to. + * @observable + * @api + */ +GVol.layer.VectorTile.prototype.setPreload = function(preload) { + this.set(GVol.layer.TileProperty.PRELOAD, preload); +}; + + +/** + * Set whether we use interim tiles on error. + * @param {boGVolean} useInterimTilesOnError Use interim tiles on error. + * @observable + * @api + */ +GVol.layer.VectorTile.prototype.setUseInterimTilesOnError = function(useInterimTilesOnError) { + this.set( + GVol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR, useInterimTilesOnError); +}; + + +/** + * Return the associated {@link GVol.source.VectorTile vectortilesource} of the layer. + * @function + * @return {GVol.source.VectorTile} Source. + * @api + */ +GVol.layer.VectorTile.prototype.getSource; + +goog.provide('GVol.net'); + +goog.require('GVol'); + + +/** + * Simple JSONP helper. Supports error callbacks and a custom callback param. + * The error callback will be called when no JSONP is executed after 10 seconds. + * + * @param {string} url Request url. A 'callback' query parameter will be + * appended. + * @param {Function} callback Callback on success. + * @param {function()=} opt_errback Callback on error. + * @param {string=} opt_callbackParam Custom query parameter for the JSONP + * callback. Default is 'callback'. + */ +GVol.net.jsonp = function(url, callback, opt_errback, opt_callbackParam) { + var script = document.createElement('script'); + var key = 'GVolc_' + GVol.getUid(callback); + function cleanup() { + delete window[key]; + script.parentNode.removeChild(script); + } + script.async = true; + script.src = url + (url.indexOf('?') == -1 ? '?' : '&') + + (opt_callbackParam || 'callback') + '=' + key; + var timer = setTimeout(function() { + cleanup(); + if (opt_errback) { + opt_errback(); + } + }, 10000); + window[key] = function(data) { + clearTimeout(timer); + cleanup(); + callback(data); + }; + document.getElementsByTagName('head')[0].appendChild(script); +}; + +goog.provide('GVol.proj.common'); + +goog.require('GVol.proj'); + + +/** + * Deprecated. Transforms between EPSG:4326 and EPSG:3857 are now included by + * default. There is no need to call this function in application code and it + * will be removed in a future major release. + * @deprecated This function is no longer necessary. + * @api + */ +GVol.proj.common.add = GVol.proj.addCommon; + +goog.provide('GVol.render'); + +goog.require('GVol.has'); +goog.require('GVol.transform'); +goog.require('GVol.render.canvas.Immediate'); + + +/** + * Binds a Canvas Immediate API to a canvas context, to allow drawing geometries + * to the context's canvas. + * + * The units for geometry coordinates are css pixels relative to the top left + * corner of the canvas element. + * ```js + * var canvas = document.createElement('canvas'); + * var render = GVol.render.toContext(canvas.getContext('2d'), + * { size: [100, 100] }); + * render.setFillStrokeStyle(new GVol.style.Fill({ cGVolor: blue })); + * render.drawPGVolygon( + * new GVol.geom.PGVolygon([[[0, 0], [100, 100], [100, 0], [0, 0]]])); + * ``` + * + * @param {CanvasRenderingContext2D} context Canvas context. + * @param {GVolx.render.ToContextOptions=} opt_options Options. + * @return {GVol.render.canvas.Immediate} Canvas Immediate. + * @api + */ +GVol.render.toContext = function(context, opt_options) { + var canvas = context.canvas; + var options = opt_options ? opt_options : {}; + var pixelRatio = options.pixelRatio || GVol.has.DEVICE_PIXEL_RATIO; + var size = options.size; + if (size) { + canvas.width = size[0] * pixelRatio; + canvas.height = size[1] * pixelRatio; + canvas.style.width = size[0] + 'px'; + canvas.style.height = size[1] + 'px'; + } + var extent = [0, 0, canvas.width, canvas.height]; + var transform = GVol.transform.scale(GVol.transform.create(), pixelRatio, pixelRatio); + return new GVol.render.canvas.Immediate(context, pixelRatio, extent, transform, + 0); +}; + +goog.provide('GVol.reproj.Tile'); + +goog.require('GVol'); +goog.require('GVol.Tile'); +goog.require('GVol.TileState'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.math'); +goog.require('GVol.reproj'); +goog.require('GVol.reproj.Triangulation'); + + +/** + * @classdesc + * Class encapsulating single reprojected tile. + * See {@link GVol.source.TileImage}. + * + * @constructor + * @extends {GVol.Tile} + * @param {GVol.proj.Projection} sourceProj Source projection. + * @param {GVol.tilegrid.TileGrid} sourceTileGrid Source tile grid. + * @param {GVol.proj.Projection} targetProj Target projection. + * @param {GVol.tilegrid.TileGrid} targetTileGrid Target tile grid. + * @param {GVol.TileCoord} tileCoord Coordinate of the tile. + * @param {GVol.TileCoord} wrappedTileCoord Coordinate of the tile wrapped in X. + * @param {number} pixelRatio Pixel ratio. + * @param {number} gutter Gutter of the source tiles. + * @param {GVol.ReprojTileFunctionType} getTileFunction + * Function returning source tiles (z, x, y, pixelRatio). + * @param {number=} opt_errorThreshGVold Acceptable reprojection error (in px). + * @param {boGVolean=} opt_renderEdges Render reprojection edges. + */ +GVol.reproj.Tile = function(sourceProj, sourceTileGrid, + targetProj, targetTileGrid, tileCoord, wrappedTileCoord, + pixelRatio, gutter, getTileFunction, + opt_errorThreshGVold, + opt_renderEdges) { + GVol.Tile.call(this, tileCoord, GVol.TileState.IDLE); + + /** + * @private + * @type {boGVolean} + */ + this.renderEdges_ = opt_renderEdges !== undefined ? opt_renderEdges : false; + + /** + * @private + * @type {number} + */ + this.pixelRatio_ = pixelRatio; + + /** + * @private + * @type {number} + */ + this.gutter_ = gutter; + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = null; + + /** + * @private + * @type {GVol.tilegrid.TileGrid} + */ + this.sourceTileGrid_ = sourceTileGrid; + + /** + * @private + * @type {GVol.tilegrid.TileGrid} + */ + this.targetTileGrid_ = targetTileGrid; + + /** + * @private + * @type {GVol.TileCoord} + */ + this.wrappedTileCoord_ = wrappedTileCoord ? wrappedTileCoord : tileCoord; + + /** + * @private + * @type {!Array.<GVol.Tile>} + */ + this.sourceTiles_ = []; + + /** + * @private + * @type {Array.<GVol.EventsKey>} + */ + this.sourcesListenerKeys_ = null; + + /** + * @private + * @type {number} + */ + this.sourceZ_ = 0; + + var targetExtent = targetTileGrid.getTileCoordExtent(this.wrappedTileCoord_); + var maxTargetExtent = this.targetTileGrid_.getExtent(); + var maxSourceExtent = this.sourceTileGrid_.getExtent(); + + var limitedTargetExtent = maxTargetExtent ? + GVol.extent.getIntersection(targetExtent, maxTargetExtent) : targetExtent; + + if (GVol.extent.getArea(limitedTargetExtent) === 0) { + // Tile is completely outside range -> EMPTY + // TODO: is it actually correct that the source even creates the tile ? + this.state = GVol.TileState.EMPTY; + return; + } + + var sourceProjExtent = sourceProj.getExtent(); + if (sourceProjExtent) { + if (!maxSourceExtent) { + maxSourceExtent = sourceProjExtent; + } else { + maxSourceExtent = GVol.extent.getIntersection( + maxSourceExtent, sourceProjExtent); + } + } + + var targetResGVolution = targetTileGrid.getResGVolution( + this.wrappedTileCoord_[0]); + + var targetCenter = GVol.extent.getCenter(limitedTargetExtent); + var sourceResGVolution = GVol.reproj.calculateSourceResGVolution( + sourceProj, targetProj, targetCenter, targetResGVolution); + + if (!isFinite(sourceResGVolution) || sourceResGVolution <= 0) { + // invalid sourceResGVolution -> EMPTY + // probably edges of the projections when no extent is defined + this.state = GVol.TileState.EMPTY; + return; + } + + var errorThreshGVoldInPixels = opt_errorThreshGVold !== undefined ? + opt_errorThreshGVold : GVol.DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD; + + /** + * @private + * @type {!GVol.reproj.Triangulation} + */ + this.triangulation_ = new GVol.reproj.Triangulation( + sourceProj, targetProj, limitedTargetExtent, maxSourceExtent, + sourceResGVolution * errorThreshGVoldInPixels); + + if (this.triangulation_.getTriangles().length === 0) { + // no valid triangles -> EMPTY + this.state = GVol.TileState.EMPTY; + return; + } + + this.sourceZ_ = sourceTileGrid.getZForResGVolution(sourceResGVolution); + var sourceExtent = this.triangulation_.calculateSourceExtent(); + + if (maxSourceExtent) { + if (sourceProj.canWrapX()) { + sourceExtent[1] = GVol.math.clamp( + sourceExtent[1], maxSourceExtent[1], maxSourceExtent[3]); + sourceExtent[3] = GVol.math.clamp( + sourceExtent[3], maxSourceExtent[1], maxSourceExtent[3]); + } else { + sourceExtent = GVol.extent.getIntersection(sourceExtent, maxSourceExtent); + } + } + + if (!GVol.extent.getArea(sourceExtent)) { + this.state = GVol.TileState.EMPTY; + } else { + var sourceRange = sourceTileGrid.getTileRangeForExtentAndZ( + sourceExtent, this.sourceZ_); + + for (var srcX = sourceRange.minX; srcX <= sourceRange.maxX; srcX++) { + for (var srcY = sourceRange.minY; srcY <= sourceRange.maxY; srcY++) { + var tile = getTileFunction(this.sourceZ_, srcX, srcY, pixelRatio); + if (tile) { + this.sourceTiles_.push(tile); + } + } + } + + if (this.sourceTiles_.length === 0) { + this.state = GVol.TileState.EMPTY; + } + } +}; +GVol.inherits(GVol.reproj.Tile, GVol.Tile); + + +/** + * @inheritDoc + */ +GVol.reproj.Tile.prototype.disposeInternal = function() { + if (this.state == GVol.TileState.LOADING) { + this.unlistenSources_(); + } + GVol.Tile.prototype.disposeInternal.call(this); +}; + + +/** + * Get the HTML Canvas element for this tile. + * @return {HTMLCanvasElement} Canvas. + */ +GVol.reproj.Tile.prototype.getImage = function() { + return this.canvas_; +}; + + +/** + * @private + */ +GVol.reproj.Tile.prototype.reproject_ = function() { + var sources = []; + this.sourceTiles_.forEach(function(tile, i, arr) { + if (tile && tile.getState() == GVol.TileState.LOADED) { + sources.push({ + extent: this.sourceTileGrid_.getTileCoordExtent(tile.tileCoord), + image: tile.getImage() + }); + } + }, this); + this.sourceTiles_.length = 0; + + if (sources.length === 0) { + this.state = GVol.TileState.ERROR; + } else { + var z = this.wrappedTileCoord_[0]; + var size = this.targetTileGrid_.getTileSize(z); + var width = typeof size === 'number' ? size : size[0]; + var height = typeof size === 'number' ? size : size[1]; + var targetResGVolution = this.targetTileGrid_.getResGVolution(z); + var sourceResGVolution = this.sourceTileGrid_.getResGVolution(this.sourceZ_); + + var targetExtent = this.targetTileGrid_.getTileCoordExtent( + this.wrappedTileCoord_); + this.canvas_ = GVol.reproj.render(width, height, this.pixelRatio_, + sourceResGVolution, this.sourceTileGrid_.getExtent(), + targetResGVolution, targetExtent, this.triangulation_, sources, + this.gutter_, this.renderEdges_); + + this.state = GVol.TileState.LOADED; + } + this.changed(); +}; + + +/** + * @inheritDoc + */ +GVol.reproj.Tile.prototype.load = function() { + if (this.state == GVol.TileState.IDLE) { + this.state = GVol.TileState.LOADING; + this.changed(); + + var leftToLoad = 0; + + this.sourcesListenerKeys_ = []; + this.sourceTiles_.forEach(function(tile, i, arr) { + var state = tile.getState(); + if (state == GVol.TileState.IDLE || state == GVol.TileState.LOADING) { + leftToLoad++; + + var sourceListenKey; + sourceListenKey = GVol.events.listen(tile, GVol.events.EventType.CHANGE, + function(e) { + var state = tile.getState(); + if (state == GVol.TileState.LOADED || + state == GVol.TileState.ERROR || + state == GVol.TileState.EMPTY) { + GVol.events.unlistenByKey(sourceListenKey); + leftToLoad--; + if (leftToLoad === 0) { + this.unlistenSources_(); + this.reproject_(); + } + } + }, this); + this.sourcesListenerKeys_.push(sourceListenKey); + } + }, this); + + this.sourceTiles_.forEach(function(tile, i, arr) { + var state = tile.getState(); + if (state == GVol.TileState.IDLE) { + tile.load(); + } + }); + + if (leftToLoad === 0) { + setTimeout(this.reproject_.bind(this), 0); + } + } +}; + + +/** + * @private + */ +GVol.reproj.Tile.prototype.unlistenSources_ = function() { + this.sourcesListenerKeys_.forEach(GVol.events.unlistenByKey); + this.sourcesListenerKeys_ = null; +}; + +goog.provide('GVol.TileUrlFunction'); + +goog.require('GVol.asserts'); +goog.require('GVol.math'); +goog.require('GVol.tilecoord'); + + +/** + * @param {string} template Template. + * @param {GVol.tilegrid.TileGrid} tileGrid Tile grid. + * @return {GVol.TileUrlFunctionType} Tile URL function. + */ +GVol.TileUrlFunction.createFromTemplate = function(template, tileGrid) { + var zRegEx = /\{z\}/g; + var xRegEx = /\{x\}/g; + var yRegEx = /\{y\}/g; + var dashYRegEx = /\{-y\}/g; + return ( + /** + * @param {GVol.TileCoord} tileCoord Tile Coordinate. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {string|undefined} Tile URL. + */ + function(tileCoord, pixelRatio, projection) { + if (!tileCoord) { + return undefined; + } else { + return template.replace(zRegEx, tileCoord[0].toString()) + .replace(xRegEx, tileCoord[1].toString()) + .replace(yRegEx, function() { + var y = -tileCoord[2] - 1; + return y.toString(); + }) + .replace(dashYRegEx, function() { + var z = tileCoord[0]; + var range = tileGrid.getFullTileRange(z); + GVol.asserts.assert(range, 55); // The {-y} placehGVolder requires a tile grid with extent + var y = range.getHeight() + tileCoord[2]; + return y.toString(); + }); + } + }); +}; + + +/** + * @param {Array.<string>} templates Templates. + * @param {GVol.tilegrid.TileGrid} tileGrid Tile grid. + * @return {GVol.TileUrlFunctionType} Tile URL function. + */ +GVol.TileUrlFunction.createFromTemplates = function(templates, tileGrid) { + var len = templates.length; + var tileUrlFunctions = new Array(len); + for (var i = 0; i < len; ++i) { + tileUrlFunctions[i] = GVol.TileUrlFunction.createFromTemplate( + templates[i], tileGrid); + } + return GVol.TileUrlFunction.createFromTileUrlFunctions(tileUrlFunctions); +}; + + +/** + * @param {Array.<GVol.TileUrlFunctionType>} tileUrlFunctions Tile URL Functions. + * @return {GVol.TileUrlFunctionType} Tile URL function. + */ +GVol.TileUrlFunction.createFromTileUrlFunctions = function(tileUrlFunctions) { + if (tileUrlFunctions.length === 1) { + return tileUrlFunctions[0]; + } + return ( + /** + * @param {GVol.TileCoord} tileCoord Tile Coordinate. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {string|undefined} Tile URL. + */ + function(tileCoord, pixelRatio, projection) { + if (!tileCoord) { + return undefined; + } else { + var h = GVol.tilecoord.hash(tileCoord); + var index = GVol.math.modulo(h, tileUrlFunctions.length); + return tileUrlFunctions[index](tileCoord, pixelRatio, projection); + } + }); +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {string|undefined} Tile URL. + */ +GVol.TileUrlFunction.nullTileUrlFunction = function(tileCoord, pixelRatio, projection) { + return undefined; +}; + + +/** + * @param {string} url URL. + * @return {Array.<string>} Array of urls. + */ +GVol.TileUrlFunction.expandUrl = function(url) { + var urls = []; + var match = /\{([a-z])-([a-z])\}/.exec(url); + if (match) { + // char range + var startCharCode = match[1].charCodeAt(0); + var stopCharCode = match[2].charCodeAt(0); + var charCode; + for (charCode = startCharCode; charCode <= stopCharCode; ++charCode) { + urls.push(url.replace(match[0], String.fromCharCode(charCode))); + } + return urls; + } + match = match = /\{(\d+)-(\d+)\}/.exec(url); + if (match) { + // number range + var stop = parseInt(match[2], 10); + for (var i = parseInt(match[1], 10); i <= stop; i++) { + urls.push(url.replace(match[0], i.toString())); + } + return urls; + } + urls.push(url); + return urls; +}; + +goog.provide('GVol.TileCache'); + +goog.require('GVol'); +goog.require('GVol.structs.LRUCache'); + + +/** + * @constructor + * @extends {GVol.structs.LRUCache.<GVol.Tile>} + * @param {number=} opt_highWaterMark High water mark. + * @struct + */ +GVol.TileCache = function(opt_highWaterMark) { + + GVol.structs.LRUCache.call(this); + + /** + * @type {number} + */ + this.highWaterMark = opt_highWaterMark !== undefined ? opt_highWaterMark : 2048; + +}; +GVol.inherits(GVol.TileCache, GVol.structs.LRUCache); + + +/** + * @return {boGVolean} Can expire cache. + */ +GVol.TileCache.prototype.canExpireCache = function() { + return this.getCount() > this.highWaterMark; +}; + + +/** + * @param {Object.<string, GVol.TileRange>} usedTiles Used tiles. + */ +GVol.TileCache.prototype.expireCache = function(usedTiles) { + var tile, zKey; + while (this.canExpireCache()) { + tile = this.peekLast(); + zKey = tile.tileCoord[0].toString(); + if (zKey in usedTiles && usedTiles[zKey].contains(tile.tileCoord)) { + break; + } else { + this.pop().dispose(); + } + } +}; + +goog.provide('GVol.source.Tile'); + +goog.require('GVol'); +goog.require('GVol.TileCache'); +goog.require('GVol.TileState'); +goog.require('GVol.events.Event'); +goog.require('GVol.proj'); +goog.require('GVol.size'); +goog.require('GVol.source.Source'); +goog.require('GVol.tilecoord'); +goog.require('GVol.tilegrid'); + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Base class for sources providing images divided into a tile grid. + * + * @constructor + * @abstract + * @extends {GVol.source.Source} + * @param {GVol.SourceTileOptions} options Tile source options. + * @api + */ +GVol.source.Tile = function(options) { + + GVol.source.Source.call(this, { + attributions: options.attributions, + extent: options.extent, + logo: options.logo, + projection: options.projection, + state: options.state, + wrapX: options.wrapX + }); + + /** + * @private + * @type {boGVolean} + */ + this.opaque_ = options.opaque !== undefined ? options.opaque : false; + + /** + * @private + * @type {number} + */ + this.tilePixelRatio_ = options.tilePixelRatio !== undefined ? + options.tilePixelRatio : 1; + + /** + * @protected + * @type {GVol.tilegrid.TileGrid} + */ + this.tileGrid = options.tileGrid !== undefined ? options.tileGrid : null; + + /** + * @protected + * @type {GVol.TileCache} + */ + this.tileCache = new GVol.TileCache(options.cacheSize); + + /** + * @protected + * @type {GVol.Size} + */ + this.tmpSize = [0, 0]; + + /** + * @private + * @type {string} + */ + this.key_ = ''; + +}; +GVol.inherits(GVol.source.Tile, GVol.source.Source); + + +/** + * @return {boGVolean} Can expire cache. + */ +GVol.source.Tile.prototype.canExpireCache = function() { + return this.tileCache.canExpireCache(); +}; + + +/** + * @param {GVol.proj.Projection} projection Projection. + * @param {Object.<string, GVol.TileRange>} usedTiles Used tiles. + */ +GVol.source.Tile.prototype.expireCache = function(projection, usedTiles) { + var tileCache = this.getTileCacheForProjection(projection); + if (tileCache) { + tileCache.expireCache(usedTiles); + } +}; + + +/** + * @param {GVol.proj.Projection} projection Projection. + * @param {number} z Zoom level. + * @param {GVol.TileRange} tileRange Tile range. + * @param {function(GVol.Tile):(boGVolean|undefined)} callback Called with each + * loaded tile. If the callback returns `false`, the tile will not be + * considered loaded. + * @return {boGVolean} The tile range is fully covered with loaded tiles. + */ +GVol.source.Tile.prototype.forEachLoadedTile = function(projection, z, tileRange, callback) { + var tileCache = this.getTileCacheForProjection(projection); + if (!tileCache) { + return false; + } + + var covered = true; + var tile, tileCoordKey, loaded; + for (var x = tileRange.minX; x <= tileRange.maxX; ++x) { + for (var y = tileRange.minY; y <= tileRange.maxY; ++y) { + tileCoordKey = this.getKeyZXY(z, x, y); + loaded = false; + if (tileCache.containsKey(tileCoordKey)) { + tile = /** @type {!GVol.Tile} */ (tileCache.get(tileCoordKey)); + loaded = tile.getState() === GVol.TileState.LOADED; + if (loaded) { + loaded = (callback(tile) !== false); + } + } + if (!loaded) { + covered = false; + } + } + } + return covered; +}; + + +/** + * @param {GVol.proj.Projection} projection Projection. + * @return {number} Gutter. + */ +GVol.source.Tile.prototype.getGutter = function(projection) { + return 0; +}; + + +/** + * Return the key to be used for all tiles in the source. + * @return {string} The key for all tiles. + * @protected + */ +GVol.source.Tile.prototype.getKey = function() { + return this.key_; +}; + + +/** + * Set the value to be used as the key for all tiles in the source. + * @param {string} key The key for tiles. + * @protected + */ +GVol.source.Tile.prototype.setKey = function(key) { + if (this.key_ !== key) { + this.key_ = key; + this.changed(); + } +}; + + +/** + * @param {number} z Z. + * @param {number} x X. + * @param {number} y Y. + * @return {string} Key. + * @protected + */ +GVol.source.Tile.prototype.getKeyZXY = GVol.tilecoord.getKeyZXY; + + +/** + * @param {GVol.proj.Projection} projection Projection. + * @return {boGVolean} Opaque. + */ +GVol.source.Tile.prototype.getOpaque = function(projection) { + return this.opaque_; +}; + + +/** + * @inheritDoc + */ +GVol.source.Tile.prototype.getResGVolutions = function() { + return this.tileGrid.getResGVolutions(); +}; + + +/** + * @abstract + * @param {number} z Tile coordinate z. + * @param {number} x Tile coordinate x. + * @param {number} y Tile coordinate y. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {!GVol.Tile} Tile. + */ +GVol.source.Tile.prototype.getTile = function(z, x, y, pixelRatio, projection) {}; + + +/** + * Return the tile grid of the tile source. + * @return {GVol.tilegrid.TileGrid} Tile grid. + * @api + */ +GVol.source.Tile.prototype.getTileGrid = function() { + return this.tileGrid; +}; + + +/** + * @param {GVol.proj.Projection} projection Projection. + * @return {!GVol.tilegrid.TileGrid} Tile grid. + */ +GVol.source.Tile.prototype.getTileGridForProjection = function(projection) { + if (!this.tileGrid) { + return GVol.tilegrid.getForProjection(projection); + } else { + return this.tileGrid; + } +}; + + +/** + * @param {GVol.proj.Projection} projection Projection. + * @return {GVol.TileCache} Tile cache. + * @protected + */ +GVol.source.Tile.prototype.getTileCacheForProjection = function(projection) { + var thisProj = this.getProjection(); + if (thisProj && !GVol.proj.equivalent(thisProj, projection)) { + return null; + } else { + return this.tileCache; + } +}; + + +/** + * Get the tile pixel ratio for this source. Subclasses may override this + * method, which is meant to return a supported pixel ratio that matches the + * provided `pixelRatio` as close as possible. + * @param {number} pixelRatio Pixel ratio. + * @return {number} Tile pixel ratio. + */ +GVol.source.Tile.prototype.getTilePixelRatio = function(pixelRatio) { + return this.tilePixelRatio_; +}; + + +/** + * @param {number} z Z. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {GVol.Size} Tile size. + */ +GVol.source.Tile.prototype.getTilePixelSize = function(z, pixelRatio, projection) { + var tileGrid = this.getTileGridForProjection(projection); + var tilePixelRatio = this.getTilePixelRatio(pixelRatio); + var tileSize = GVol.size.toSize(tileGrid.getTileSize(z), this.tmpSize); + if (tilePixelRatio == 1) { + return tileSize; + } else { + return GVol.size.scale(tileSize, tilePixelRatio, this.tmpSize); + } +}; + + +/** + * Returns a tile coordinate wrapped around the x-axis. When the tile coordinate + * is outside the resGVolution and extent range of the tile grid, `null` will be + * returned. + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.proj.Projection=} opt_projection Projection. + * @return {GVol.TileCoord} Tile coordinate to be passed to the tileUrlFunction or + * null if no tile URL should be created for the passed `tileCoord`. + */ +GVol.source.Tile.prototype.getTileCoordForTileUrlFunction = function(tileCoord, opt_projection) { + var projection = opt_projection !== undefined ? + opt_projection : this.getProjection(); + var tileGrid = this.getTileGridForProjection(projection); + if (this.getWrapX() && projection.isGlobal()) { + tileCoord = GVol.tilegrid.wrapX(tileGrid, tileCoord, projection); + } + return GVol.tilecoord.withinExtentAndZ(tileCoord, tileGrid) ? tileCoord : null; +}; + + +/** + * @inheritDoc + */ +GVol.source.Tile.prototype.refresh = function() { + this.tileCache.clear(); + this.changed(); +}; + + +/** + * Marks a tile coord as being used, without triggering a load. + * @param {number} z Tile coordinate z. + * @param {number} x Tile coordinate x. + * @param {number} y Tile coordinate y. + * @param {GVol.proj.Projection} projection Projection. + */ +GVol.source.Tile.prototype.useTile = GVol.nullFunction; + + +/** + * @classdesc + * Events emitted by {@link GVol.source.Tile} instances are instances of this + * type. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.source.Tile.Event} + * @param {string} type Type. + * @param {GVol.Tile} tile The tile. + */ +GVol.source.Tile.Event = function(type, tile) { + + GVol.events.Event.call(this, type); + + /** + * The tile related to the event. + * @type {GVol.Tile} + * @api + */ + this.tile = tile; + +}; +GVol.inherits(GVol.source.Tile.Event, GVol.events.Event); + +goog.provide('GVol.source.TileEventType'); + +/** + * @enum {string} + */ +GVol.source.TileEventType = { + + /** + * Triggered when a tile starts loading. + * @event GVol.source.Tile.Event#tileloadstart + * @api + */ + TILELOADSTART: 'tileloadstart', + + /** + * Triggered when a tile finishes loading. + * @event GVol.source.Tile.Event#tileloadend + * @api + */ + TILELOADEND: 'tileloadend', + + /** + * Triggered if tile loading results in an error. + * @event GVol.source.Tile.Event#tileloaderror + * @api + */ + TILELOADERROR: 'tileloaderror' + +}; + +goog.provide('GVol.source.UrlTile'); + +goog.require('GVol'); +goog.require('GVol.TileState'); +goog.require('GVol.TileUrlFunction'); +goog.require('GVol.source.Tile'); +goog.require('GVol.source.TileEventType'); + + +/** + * @classdesc + * Base class for sources providing tiles divided into a tile grid over http. + * + * @constructor + * @abstract + * @fires GVol.source.Tile.Event + * @extends {GVol.source.Tile} + * @param {GVol.SourceUrlTileOptions} options Image tile options. + */ +GVol.source.UrlTile = function(options) { + + GVol.source.Tile.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + extent: options.extent, + logo: options.logo, + opaque: options.opaque, + projection: options.projection, + state: options.state, + tileGrid: options.tileGrid, + tilePixelRatio: options.tilePixelRatio, + wrapX: options.wrapX + }); + + /** + * @protected + * @type {GVol.TileLoadFunctionType} + */ + this.tileLoadFunction = options.tileLoadFunction; + + /** + * @protected + * @type {GVol.TileUrlFunctionType} + */ + this.tileUrlFunction = this.fixedTileUrlFunction ? + this.fixedTileUrlFunction.bind(this) : + GVol.TileUrlFunction.nullTileUrlFunction; + + /** + * @protected + * @type {!Array.<string>|null} + */ + this.urls = null; + + if (options.urls) { + this.setUrls(options.urls); + } else if (options.url) { + this.setUrl(options.url); + } + if (options.tileUrlFunction) { + this.setTileUrlFunction(options.tileUrlFunction); + } + +}; +GVol.inherits(GVol.source.UrlTile, GVol.source.Tile); + + +/** + * @type {GVol.TileUrlFunctionType|undefined} + * @protected + */ +GVol.source.UrlTile.prototype.fixedTileUrlFunction; + +/** + * Return the tile load function of the source. + * @return {GVol.TileLoadFunctionType} TileLoadFunction + * @api + */ +GVol.source.UrlTile.prototype.getTileLoadFunction = function() { + return this.tileLoadFunction; +}; + + +/** + * Return the tile URL function of the source. + * @return {GVol.TileUrlFunctionType} TileUrlFunction + * @api + */ +GVol.source.UrlTile.prototype.getTileUrlFunction = function() { + return this.tileUrlFunction; +}; + + +/** + * Return the URLs used for this source. + * When a tileUrlFunction is used instead of url or urls, + * null will be returned. + * @return {!Array.<string>|null} URLs. + * @api + */ +GVol.source.UrlTile.prototype.getUrls = function() { + return this.urls; +}; + + +/** + * Handle tile change events. + * @param {GVol.events.Event} event Event. + * @protected + */ +GVol.source.UrlTile.prototype.handleTileChange = function(event) { + var tile = /** @type {GVol.Tile} */ (event.target); + switch (tile.getState()) { + case GVol.TileState.LOADING: + this.dispatchEvent( + new GVol.source.Tile.Event(GVol.source.TileEventType.TILELOADSTART, tile)); + break; + case GVol.TileState.LOADED: + this.dispatchEvent( + new GVol.source.Tile.Event(GVol.source.TileEventType.TILELOADEND, tile)); + break; + case GVol.TileState.ERROR: + this.dispatchEvent( + new GVol.source.Tile.Event(GVol.source.TileEventType.TILELOADERROR, tile)); + break; + default: + // pass + } +}; + + +/** + * Set the tile load function of the source. + * @param {GVol.TileLoadFunctionType} tileLoadFunction Tile load function. + * @api + */ +GVol.source.UrlTile.prototype.setTileLoadFunction = function(tileLoadFunction) { + this.tileCache.clear(); + this.tileLoadFunction = tileLoadFunction; + this.changed(); +}; + + +/** + * Set the tile URL function of the source. + * @param {GVol.TileUrlFunctionType} tileUrlFunction Tile URL function. + * @param {string=} opt_key Optional new tile key for the source. + * @api + */ +GVol.source.UrlTile.prototype.setTileUrlFunction = function(tileUrlFunction, opt_key) { + this.tileUrlFunction = tileUrlFunction; + if (typeof opt_key !== 'undefined') { + this.setKey(opt_key); + } else { + this.changed(); + } +}; + + +/** + * Set the URL to use for requests. + * @param {string} url URL. + * @api + */ +GVol.source.UrlTile.prototype.setUrl = function(url) { + var urls = this.urls = GVol.TileUrlFunction.expandUrl(url); + this.setTileUrlFunction(this.fixedTileUrlFunction ? + this.fixedTileUrlFunction.bind(this) : + GVol.TileUrlFunction.createFromTemplates(urls, this.tileGrid), url); +}; + + +/** + * Set the URLs to use for requests. + * @param {Array.<string>} urls URLs. + * @api + */ +GVol.source.UrlTile.prototype.setUrls = function(urls) { + this.urls = urls; + var key = urls.join('\n'); + this.setTileUrlFunction(this.fixedTileUrlFunction ? + this.fixedTileUrlFunction.bind(this) : + GVol.TileUrlFunction.createFromTemplates(urls, this.tileGrid), key); +}; + + +/** + * @inheritDoc + */ +GVol.source.UrlTile.prototype.useTile = function(z, x, y) { + var tileCoordKey = this.getKeyZXY(z, x, y); + if (this.tileCache.containsKey(tileCoordKey)) { + this.tileCache.get(tileCoordKey); + } +}; + +goog.provide('GVol.source.TileImage'); + +goog.require('GVol'); +goog.require('GVol.ImageTile'); +goog.require('GVol.TileCache'); +goog.require('GVol.TileState'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.proj'); +goog.require('GVol.reproj.Tile'); +goog.require('GVol.source.UrlTile'); +goog.require('GVol.tilegrid'); + + +/** + * @classdesc + * Base class for sources providing images divided into a tile grid. + * + * @constructor + * @fires GVol.source.Tile.Event + * @extends {GVol.source.UrlTile} + * @param {GVolx.source.TileImageOptions} options Image tile options. + * @api + */ +GVol.source.TileImage = function(options) { + + GVol.source.UrlTile.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + extent: options.extent, + logo: options.logo, + opaque: options.opaque, + projection: options.projection, + state: options.state, + tileGrid: options.tileGrid, + tileLoadFunction: options.tileLoadFunction ? + options.tileLoadFunction : GVol.source.TileImage.defaultTileLoadFunction, + tilePixelRatio: options.tilePixelRatio, + tileUrlFunction: options.tileUrlFunction, + url: options.url, + urls: options.urls, + wrapX: options.wrapX + }); + + /** + * @protected + * @type {?string} + */ + this.crossOrigin = + options.crossOrigin !== undefined ? options.crossOrigin : null; + + /** + * @protected + * @type {function(new: GVol.ImageTile, GVol.TileCoord, GVol.TileState, string, + * ?string, GVol.TileLoadFunctionType)} + */ + this.tileClass = options.tileClass !== undefined ? + options.tileClass : GVol.ImageTile; + + /** + * @protected + * @type {Object.<string, GVol.TileCache>} + */ + this.tileCacheForProjection = {}; + + /** + * @protected + * @type {Object.<string, GVol.tilegrid.TileGrid>} + */ + this.tileGridForProjection = {}; + + /** + * @private + * @type {number|undefined} + */ + this.reprojectionErrorThreshGVold_ = options.reprojectionErrorThreshGVold; + + /** + * @private + * @type {boGVolean} + */ + this.renderReprojectionEdges_ = false; +}; +GVol.inherits(GVol.source.TileImage, GVol.source.UrlTile); + + +/** + * @inheritDoc + */ +GVol.source.TileImage.prototype.canExpireCache = function() { + if (!GVol.ENABLE_RASTER_REPROJECTION) { + return GVol.source.UrlTile.prototype.canExpireCache.call(this); + } + if (this.tileCache.canExpireCache()) { + return true; + } else { + for (var key in this.tileCacheForProjection) { + if (this.tileCacheForProjection[key].canExpireCache()) { + return true; + } + } + } + return false; +}; + + +/** + * @inheritDoc + */ +GVol.source.TileImage.prototype.expireCache = function(projection, usedTiles) { + if (!GVol.ENABLE_RASTER_REPROJECTION) { + GVol.source.UrlTile.prototype.expireCache.call(this, projection, usedTiles); + return; + } + var usedTileCache = this.getTileCacheForProjection(projection); + + this.tileCache.expireCache(this.tileCache == usedTileCache ? usedTiles : {}); + for (var id in this.tileCacheForProjection) { + var tileCache = this.tileCacheForProjection[id]; + tileCache.expireCache(tileCache == usedTileCache ? usedTiles : {}); + } +}; + + +/** + * @inheritDoc + */ +GVol.source.TileImage.prototype.getGutter = function(projection) { + if (GVol.ENABLE_RASTER_REPROJECTION && + this.getProjection() && projection && + !GVol.proj.equivalent(this.getProjection(), projection)) { + return 0; + } else { + return this.getGutterInternal(); + } +}; + + +/** + * @protected + * @return {number} Gutter. + */ +GVol.source.TileImage.prototype.getGutterInternal = function() { + return 0; +}; + + +/** + * @inheritDoc + */ +GVol.source.TileImage.prototype.getOpaque = function(projection) { + if (GVol.ENABLE_RASTER_REPROJECTION && + this.getProjection() && projection && + !GVol.proj.equivalent(this.getProjection(), projection)) { + return false; + } else { + return GVol.source.UrlTile.prototype.getOpaque.call(this, projection); + } +}; + + +/** + * @inheritDoc + */ +GVol.source.TileImage.prototype.getTileGridForProjection = function(projection) { + if (!GVol.ENABLE_RASTER_REPROJECTION) { + return GVol.source.UrlTile.prototype.getTileGridForProjection.call(this, projection); + } + var thisProj = this.getProjection(); + if (this.tileGrid && + (!thisProj || GVol.proj.equivalent(thisProj, projection))) { + return this.tileGrid; + } else { + var projKey = GVol.getUid(projection).toString(); + if (!(projKey in this.tileGridForProjection)) { + this.tileGridForProjection[projKey] = + GVol.tilegrid.getForProjection(projection); + } + return /** @type {!GVol.tilegrid.TileGrid} */ (this.tileGridForProjection[projKey]); + } +}; + + +/** + * @inheritDoc + */ +GVol.source.TileImage.prototype.getTileCacheForProjection = function(projection) { + if (!GVol.ENABLE_RASTER_REPROJECTION) { + return GVol.source.UrlTile.prototype.getTileCacheForProjection.call(this, projection); + } + var thisProj = this.getProjection(); + if (!thisProj || GVol.proj.equivalent(thisProj, projection)) { + return this.tileCache; + } else { + var projKey = GVol.getUid(projection).toString(); + if (!(projKey in this.tileCacheForProjection)) { + this.tileCacheForProjection[projKey] = new GVol.TileCache(this.tileCache.highWaterMark); + } + return this.tileCacheForProjection[projKey]; + } +}; + + +/** + * @param {number} z Tile coordinate z. + * @param {number} x Tile coordinate x. + * @param {number} y Tile coordinate y. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @param {string} key The key set on the tile. + * @return {!GVol.Tile} Tile. + * @private + */ +GVol.source.TileImage.prototype.createTile_ = function(z, x, y, pixelRatio, projection, key) { + var tileCoord = [z, x, y]; + var urlTileCoord = this.getTileCoordForTileUrlFunction( + tileCoord, projection); + var tileUrl = urlTileCoord ? + this.tileUrlFunction(urlTileCoord, pixelRatio, projection) : undefined; + var tile = new this.tileClass( + tileCoord, + tileUrl !== undefined ? GVol.TileState.IDLE : GVol.TileState.EMPTY, + tileUrl !== undefined ? tileUrl : '', + this.crossOrigin, + this.tileLoadFunction); + tile.key = key; + GVol.events.listen(tile, GVol.events.EventType.CHANGE, + this.handleTileChange, this); + return tile; +}; + + +/** + * @inheritDoc + */ +GVol.source.TileImage.prototype.getTile = function(z, x, y, pixelRatio, projection) { + if (!GVol.ENABLE_RASTER_REPROJECTION || + !this.getProjection() || + !projection || + GVol.proj.equivalent(this.getProjection(), projection)) { + return this.getTileInternal(z, x, y, pixelRatio, /** @type {!GVol.proj.Projection} */ (projection)); + } else { + var cache = this.getTileCacheForProjection(projection); + var tileCoord = [z, x, y]; + var tile; + var tileCoordKey = this.getKeyZXY.apply(this, tileCoord); + if (cache.containsKey(tileCoordKey)) { + tile = /** @type {!GVol.Tile} */ (cache.get(tileCoordKey)); + } + var key = this.getKey(); + if (tile && tile.key == key) { + return tile; + } else { + var sourceProjection = /** @type {!GVol.proj.Projection} */ (this.getProjection()); + var sourceTileGrid = this.getTileGridForProjection(sourceProjection); + var targetTileGrid = this.getTileGridForProjection(projection); + var wrappedTileCoord = + this.getTileCoordForTileUrlFunction(tileCoord, projection); + var newTile = new GVol.reproj.Tile( + sourceProjection, sourceTileGrid, + projection, targetTileGrid, + tileCoord, wrappedTileCoord, this.getTilePixelRatio(pixelRatio), + this.getGutterInternal(), + function(z, x, y, pixelRatio) { + return this.getTileInternal(z, x, y, pixelRatio, sourceProjection); + }.bind(this), this.reprojectionErrorThreshGVold_, + this.renderReprojectionEdges_); + newTile.key = key; + + if (tile) { + newTile.interimTile = tile; + newTile.refreshInterimChain(); + cache.replace(tileCoordKey, newTile); + } else { + cache.set(tileCoordKey, newTile); + } + return newTile; + } + } +}; + + +/** + * @param {number} z Tile coordinate z. + * @param {number} x Tile coordinate x. + * @param {number} y Tile coordinate y. + * @param {number} pixelRatio Pixel ratio. + * @param {!GVol.proj.Projection} projection Projection. + * @return {!GVol.Tile} Tile. + * @protected + */ +GVol.source.TileImage.prototype.getTileInternal = function(z, x, y, pixelRatio, projection) { + var tile = null; + var tileCoordKey = this.getKeyZXY(z, x, y); + var key = this.getKey(); + if (!this.tileCache.containsKey(tileCoordKey)) { + tile = this.createTile_(z, x, y, pixelRatio, projection, key); + this.tileCache.set(tileCoordKey, tile); + } else { + tile = this.tileCache.get(tileCoordKey); + if (tile.key != key) { + // The source's params changed. If the tile has an interim tile and if we + // can use it then we use it. Otherwise we create a new tile. In both + // cases we attempt to assign an interim tile to the new tile. + var interimTile = tile; + tile = this.createTile_(z, x, y, pixelRatio, projection, key); + + //make the new tile the head of the list, + if (interimTile.getState() == GVol.TileState.IDLE) { + //the GVold tile hasn't begun loading yet, and is now outdated, so we can simply discard it + tile.interimTile = interimTile.interimTile; + } else { + tile.interimTile = interimTile; + } + tile.refreshInterimChain(); + this.tileCache.replace(tileCoordKey, tile); + } + } + return tile; +}; + + +/** + * Sets whether to render reprojection edges or not (usually for debugging). + * @param {boGVolean} render Render the edges. + * @api + */ +GVol.source.TileImage.prototype.setRenderReprojectionEdges = function(render) { + if (!GVol.ENABLE_RASTER_REPROJECTION || + this.renderReprojectionEdges_ == render) { + return; + } + this.renderReprojectionEdges_ = render; + for (var id in this.tileCacheForProjection) { + this.tileCacheForProjection[id].clear(); + } + this.changed(); +}; + + +/** + * Sets the tile grid to use when reprojecting the tiles to the given + * projection instead of the default tile grid for the projection. + * + * This can be useful when the default tile grid cannot be created + * (e.g. projection has no extent defined) or + * for optimization reasons (custom tile size, resGVolutions, ...). + * + * @param {GVol.ProjectionLike} projection Projection. + * @param {GVol.tilegrid.TileGrid} tilegrid Tile grid to use for the projection. + * @api + */ +GVol.source.TileImage.prototype.setTileGridForProjection = function(projection, tilegrid) { + if (GVol.ENABLE_RASTER_REPROJECTION) { + var proj = GVol.proj.get(projection); + if (proj) { + var projKey = GVol.getUid(proj).toString(); + if (!(projKey in this.tileGridForProjection)) { + this.tileGridForProjection[projKey] = tilegrid; + } + } + } +}; + + +/** + * @param {GVol.ImageTile} imageTile Image tile. + * @param {string} src Source. + */ +GVol.source.TileImage.defaultTileLoadFunction = function(imageTile, src) { + imageTile.getImage().src = src; +}; + +goog.provide('GVol.source.BingMaps'); + +goog.require('GVol'); +goog.require('GVol.Attribution'); +goog.require('GVol.TileUrlFunction'); +goog.require('GVol.extent'); +goog.require('GVol.net'); +goog.require('GVol.proj'); +goog.require('GVol.source.State'); +goog.require('GVol.source.TileImage'); +goog.require('GVol.tilecoord'); +goog.require('GVol.tilegrid'); + + +/** + * @classdesc + * Layer source for Bing Maps tile data. + * + * @constructor + * @extends {GVol.source.TileImage} + * @param {GVolx.source.BingMapsOptions} options Bing Maps options. + * @api + */ +GVol.source.BingMaps = function(options) { + + /** + * @private + * @type {boGVolean} + */ + this.hidpi_ = options.hidpi !== undefined ? options.hidpi : false; + + GVol.source.TileImage.call(this, { + cacheSize: options.cacheSize, + crossOrigin: 'anonymous', + opaque: true, + projection: GVol.proj.get('EPSG:3857'), + reprojectionErrorThreshGVold: options.reprojectionErrorThreshGVold, + state: GVol.source.State.LOADING, + tileLoadFunction: options.tileLoadFunction, + tilePixelRatio: this.hidpi_ ? 2 : 1, + wrapX: options.wrapX !== undefined ? options.wrapX : true + }); + + /** + * @private + * @type {string} + */ + this.culture_ = options.culture !== undefined ? options.culture : 'en-us'; + + /** + * @private + * @type {number} + */ + this.maxZoom_ = options.maxZoom !== undefined ? options.maxZoom : -1; + + /** + * @private + * @type {string} + */ + this.apiKey_ = options.key; + + /** + * @private + * @type {string} + */ + this.imagerySet_ = options.imagerySet; + + var url = 'https://dev.virtualearth.net/REST/v1/Imagery/Metadata/' + + this.imagerySet_ + + '?uriScheme=https&include=ImageryProviders&key=' + this.apiKey_; + + GVol.net.jsonp(url, this.handleImageryMetadataResponse.bind(this), undefined, + 'jsonp'); + +}; +GVol.inherits(GVol.source.BingMaps, GVol.source.TileImage); + + +/** + * The attribution containing a link to the Microsoft® Bing™ Maps Platform APIs’ + * Terms Of Use. + * @const + * @type {GVol.Attribution} + * @api + */ +GVol.source.BingMaps.TOS_ATTRIBUTION = new GVol.Attribution({ + html: '<a class="GVol-attribution-bing-tos" ' + + 'href="https://www.microsoft.com/maps/product/terms.html">' + + 'Terms of Use</a>' +}); + + +/** + * Get the api key used for this source. + * + * @return {string} The api key. + * @api + */ +GVol.source.BingMaps.prototype.getApiKey = function() { + return this.apiKey_; +}; + + +/** + * Get the imagery set associated with this source. + * + * @return {string} The imagery set. + * @api + */ +GVol.source.BingMaps.prototype.getImagerySet = function() { + return this.imagerySet_; +}; + + +/** + * @param {BingMapsImageryMetadataResponse} response Response. + */ +GVol.source.BingMaps.prototype.handleImageryMetadataResponse = function(response) { + if (response.statusCode != 200 || + response.statusDescription != 'OK' || + response.authenticationResultCode != 'ValidCredentials' || + response.resourceSets.length != 1 || + response.resourceSets[0].resources.length != 1) { + this.setState(GVol.source.State.ERROR); + return; + } + + var brandLogoUri = response.brandLogoUri; + if (brandLogoUri.indexOf('https') == -1) { + brandLogoUri = brandLogoUri.replace('http', 'https'); + } + //var copyright = response.copyright; // FIXME do we need to display this? + var resource = response.resourceSets[0].resources[0]; + var maxZoom = this.maxZoom_ == -1 ? resource.zoomMax : this.maxZoom_; + + var sourceProjection = this.getProjection(); + var extent = GVol.tilegrid.extentFromProjection(sourceProjection); + var tileSize = resource.imageWidth == resource.imageHeight ? + resource.imageWidth : [resource.imageWidth, resource.imageHeight]; + var tileGrid = GVol.tilegrid.createXYZ({ + extent: extent, + minZoom: resource.zoomMin, + maxZoom: maxZoom, + tileSize: tileSize / (this.hidpi_ ? 2 : 1) + }); + this.tileGrid = tileGrid; + + var culture = this.culture_; + var hidpi = this.hidpi_; + this.tileUrlFunction = GVol.TileUrlFunction.createFromTileUrlFunctions( + resource.imageUrlSubdomains.map(function(subdomain) { + var quadKeyTileCoord = [0, 0, 0]; + var imageUrl = resource.imageUrl + .replace('{subdomain}', subdomain) + .replace('{culture}', culture); + return ( + /** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {string|undefined} Tile URL. + */ + function(tileCoord, pixelRatio, projection) { + if (!tileCoord) { + return undefined; + } else { + GVol.tilecoord.createOrUpdate(tileCoord[0], tileCoord[1], + -tileCoord[2] - 1, quadKeyTileCoord); + var url = imageUrl; + if (hidpi) { + url += '&dpi=d1&device=mobile'; + } + return url.replace('{quadkey}', GVol.tilecoord.quadKey( + quadKeyTileCoord)); + } + }); + })); + + if (resource.imageryProviders) { + var transform = GVol.proj.getTransformFromProjections( + GVol.proj.get('EPSG:4326'), this.getProjection()); + + var attributions = resource.imageryProviders.map(function(imageryProvider) { + var html = imageryProvider.attribution; + /** @type {Object.<string, Array.<GVol.TileRange>>} */ + var tileRanges = {}; + imageryProvider.coverageAreas.forEach(function(coverageArea) { + var minZ = coverageArea.zoomMin; + var maxZ = Math.min(coverageArea.zoomMax, maxZoom); + var bbox = coverageArea.bbox; + var epsg4326Extent = [bbox[1], bbox[0], bbox[3], bbox[2]]; + var extent = GVol.extent.applyTransform(epsg4326Extent, transform); + var tileRange, z, zKey; + for (z = minZ; z <= maxZ; ++z) { + zKey = z.toString(); + tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z); + if (zKey in tileRanges) { + tileRanges[zKey].push(tileRange); + } else { + tileRanges[zKey] = [tileRange]; + } + } + }); + return new GVol.Attribution({html: html, tileRanges: tileRanges}); + }); + attributions.push(GVol.source.BingMaps.TOS_ATTRIBUTION); + this.setAttributions(attributions); + } + + this.setLogo(brandLogoUri); + + this.setState(GVol.source.State.READY); +}; + +goog.provide('GVol.source.XYZ'); + +goog.require('GVol'); +goog.require('GVol.source.TileImage'); +goog.require('GVol.tilegrid'); + + +/** + * @classdesc + * Layer source for tile data with URLs in a set XYZ format that are + * defined in a URL template. By default, this fGVollows the widely-used + * Google grid where `x` 0 and `y` 0 are in the top left. Grids like + * TMS where `x` 0 and `y` 0 are in the bottom left can be used by + * using the `{-y}` placehGVolder in the URL template, so long as the + * source does not have a custom tile grid. In this case, + * {@link GVol.source.TileImage} can be used with a `tileUrlFunction` + * such as: + * + * tileUrlFunction: function(coordinate) { + * return 'http://mapserver.com/' + coordinate[0] + '/' + + * coordinate[1] + '/' + coordinate[2] + '.png'; + * } + * + * + * @constructor + * @extends {GVol.source.TileImage} + * @param {GVolx.source.XYZOptions=} opt_options XYZ options. + * @api + */ +GVol.source.XYZ = function(opt_options) { + var options = opt_options || {}; + var projection = options.projection !== undefined ? + options.projection : 'EPSG:3857'; + + var tileGrid = options.tileGrid !== undefined ? options.tileGrid : + GVol.tilegrid.createXYZ({ + extent: GVol.tilegrid.extentFromProjection(projection), + maxZoom: options.maxZoom, + minZoom: options.minZoom, + tileSize: options.tileSize + }); + + GVol.source.TileImage.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + crossOrigin: options.crossOrigin, + logo: options.logo, + opaque: options.opaque, + projection: projection, + reprojectionErrorThreshGVold: options.reprojectionErrorThreshGVold, + tileGrid: tileGrid, + tileLoadFunction: options.tileLoadFunction, + tilePixelRatio: options.tilePixelRatio, + tileUrlFunction: options.tileUrlFunction, + url: options.url, + urls: options.urls, + wrapX: options.wrapX !== undefined ? options.wrapX : true + }); + +}; +GVol.inherits(GVol.source.XYZ, GVol.source.TileImage); + +goog.provide('GVol.source.CartoDB'); + +goog.require('GVol'); +goog.require('GVol.obj'); +goog.require('GVol.source.State'); +goog.require('GVol.source.XYZ'); + + +/** + * @classdesc + * Layer source for the CartoDB tiles. + * + * @constructor + * @extends {GVol.source.XYZ} + * @param {GVolx.source.CartoDBOptions} options CartoDB options. + * @api + */ +GVol.source.CartoDB = function(options) { + + /** + * @type {string} + * @private + */ + this.account_ = options.account; + + /** + * @type {string} + * @private + */ + this.mapId_ = options.map || ''; + + /** + * @type {!Object} + * @private + */ + this.config_ = options.config || {}; + + /** + * @type {!Object.<string, CartoDBLayerInfo>} + * @private + */ + this.templateCache_ = {}; + + GVol.source.XYZ.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + crossOrigin: options.crossOrigin, + logo: options.logo, + maxZoom: options.maxZoom !== undefined ? options.maxZoom : 18, + minZoom: options.minZoom, + projection: options.projection, + state: GVol.source.State.LOADING, + wrapX: options.wrapX + }); + this.initializeMap_(); +}; +GVol.inherits(GVol.source.CartoDB, GVol.source.XYZ); + + +/** + * Returns the current config. + * @return {!Object} The current configuration. + * @api + */ +GVol.source.CartoDB.prototype.getConfig = function() { + return this.config_; +}; + + +/** + * Updates the carto db config. + * @param {Object} config a key-value lookup. Values will replace current values + * in the config. + * @api + */ +GVol.source.CartoDB.prototype.updateConfig = function(config) { + GVol.obj.assign(this.config_, config); + this.initializeMap_(); +}; + + +/** + * Sets the CartoDB config + * @param {Object} config In the case of anonymous maps, a CartoDB configuration + * object. + * If using named maps, a key-value lookup with the template parameters. + * @api + */ +GVol.source.CartoDB.prototype.setConfig = function(config) { + this.config_ = config || {}; + this.initializeMap_(); +}; + + +/** + * Issue a request to initialize the CartoDB map. + * @private + */ +GVol.source.CartoDB.prototype.initializeMap_ = function() { + var paramHash = JSON.stringify(this.config_); + if (this.templateCache_[paramHash]) { + this.applyTemplate_(this.templateCache_[paramHash]); + return; + } + var mapUrl = 'https://' + this.account_ + '.cartodb.com/api/v1/map'; + + if (this.mapId_) { + mapUrl += '/named/' + this.mapId_; + } + + var client = new XMLHttpRequest(); + client.addEventListener('load', this.handleInitResponse_.bind(this, paramHash)); + client.addEventListener('error', this.handleInitError_.bind(this)); + client.open('POST', mapUrl); + client.setRequestHeader('Content-type', 'application/json'); + client.send(JSON.stringify(this.config_)); +}; + + +/** + * Handle map initialization response. + * @param {string} paramHash a hash representing the parameter set that was used + * for the request + * @param {Event} event Event. + * @private + */ +GVol.source.CartoDB.prototype.handleInitResponse_ = function(paramHash, event) { + var client = /** @type {XMLHttpRequest} */ (event.target); + // status will be 0 for file:// urls + if (!client.status || client.status >= 200 && client.status < 300) { + var response; + try { + response = /** @type {CartoDBLayerInfo} */(JSON.parse(client.responseText)); + } catch (err) { + this.setState(GVol.source.State.ERROR); + return; + } + this.applyTemplate_(response); + this.templateCache_[paramHash] = response; + this.setState(GVol.source.State.READY); + } else { + this.setState(GVol.source.State.ERROR); + } +}; + + +/** + * @private + * @param {Event} event Event. + */ +GVol.source.CartoDB.prototype.handleInitError_ = function(event) { + this.setState(GVol.source.State.ERROR); +}; + + +/** + * Apply the new tile urls returned by carto db + * @param {CartoDBLayerInfo} data Result of carto db call. + * @private + */ +GVol.source.CartoDB.prototype.applyTemplate_ = function(data) { + var tilesUrl = 'https://' + data.cdn_url.https + '/' + this.account_ + + '/api/v1/map/' + data.layergroupid + '/{z}/{x}/{y}.png'; + this.setUrl(tilesUrl); +}; + +// FIXME keep cluster cache by resGVolution ? +// FIXME distance not respected because of the centroid + +goog.provide('GVol.source.Cluster'); + +goog.require('GVol'); +goog.require('GVol.asserts'); +goog.require('GVol.Feature'); +goog.require('GVol.coordinate'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.geom.Point'); +goog.require('GVol.source.Vector'); + + +/** + * @classdesc + * Layer source to cluster vector data. Works out of the box with point + * geometries. For other geometry types, or if not all geometries should be + * considered for clustering, a custom `geometryFunction` can be defined. + * + * @constructor + * @param {GVolx.source.ClusterOptions} options Constructor options. + * @extends {GVol.source.Vector} + * @api + */ +GVol.source.Cluster = function(options) { + GVol.source.Vector.call(this, { + attributions: options.attributions, + extent: options.extent, + logo: options.logo, + projection: options.projection, + wrapX: options.wrapX + }); + + /** + * @type {number|undefined} + * @protected + */ + this.resGVolution = undefined; + + /** + * @type {number} + * @protected + */ + this.distance = options.distance !== undefined ? options.distance : 20; + + /** + * @type {Array.<GVol.Feature>} + * @protected + */ + this.features = []; + + /** + * @param {GVol.Feature} feature Feature. + * @return {GVol.geom.Point} Cluster calculation point. + * @protected + */ + this.geometryFunction = options.geometryFunction || function(feature) { + var geometry = /** @type {GVol.geom.Point} */ (feature.getGeometry()); + GVol.asserts.assert(geometry instanceof GVol.geom.Point, + 10); // The default `geometryFunction` can only handle `GVol.geom.Point` geometries + return geometry; + }; + + /** + * @type {GVol.source.Vector} + * @protected + */ + this.source = options.source; + + this.source.on(GVol.events.EventType.CHANGE, + GVol.source.Cluster.prototype.refresh, this); +}; +GVol.inherits(GVol.source.Cluster, GVol.source.Vector); + + +/** + * Get the distance in pixels between clusters. + * @return {number} Distance. + * @api + */ +GVol.source.Cluster.prototype.getDistance = function() { + return this.distance; +}; + + +/** + * Get a reference to the wrapped source. + * @return {GVol.source.Vector} Source. + * @api + */ +GVol.source.Cluster.prototype.getSource = function() { + return this.source; +}; + + +/** + * @inheritDoc + */ +GVol.source.Cluster.prototype.loadFeatures = function(extent, resGVolution, + projection) { + this.source.loadFeatures(extent, resGVolution, projection); + if (resGVolution !== this.resGVolution) { + this.clear(); + this.resGVolution = resGVolution; + this.cluster(); + this.addFeatures(this.features); + } +}; + + +/** + * Set the distance in pixels between clusters. + * @param {number} distance The distance in pixels. + * @api + */ +GVol.source.Cluster.prototype.setDistance = function(distance) { + this.distance = distance; + this.refresh(); +}; + + +/** + * handle the source changing + * @override + */ +GVol.source.Cluster.prototype.refresh = function() { + this.clear(); + this.cluster(); + this.addFeatures(this.features); + GVol.source.Vector.prototype.refresh.call(this); +}; + + +/** + * @protected + */ +GVol.source.Cluster.prototype.cluster = function() { + if (this.resGVolution === undefined) { + return; + } + this.features.length = 0; + var extent = GVol.extent.createEmpty(); + var mapDistance = this.distance * this.resGVolution; + var features = this.source.getFeatures(); + + /** + * @type {!Object.<string, boGVolean>} + */ + var clustered = {}; + + for (var i = 0, ii = features.length; i < ii; i++) { + var feature = features[i]; + if (!(GVol.getUid(feature).toString() in clustered)) { + var geometry = this.geometryFunction(feature); + if (geometry) { + var coordinates = geometry.getCoordinates(); + GVol.extent.createOrUpdateFromCoordinate(coordinates, extent); + GVol.extent.buffer(extent, mapDistance, extent); + + var neighbors = this.source.getFeaturesInExtent(extent); + neighbors = neighbors.filter(function(neighbor) { + var uid = GVol.getUid(neighbor).toString(); + if (!(uid in clustered)) { + clustered[uid] = true; + return true; + } else { + return false; + } + }); + this.features.push(this.createCluster(neighbors)); + } + } + } +}; + + +/** + * @param {Array.<GVol.Feature>} features Features + * @return {GVol.Feature} The cluster feature. + * @protected + */ +GVol.source.Cluster.prototype.createCluster = function(features) { + var centroid = [0, 0]; + for (var i = features.length - 1; i >= 0; --i) { + var geometry = this.geometryFunction(features[i]); + if (geometry) { + GVol.coordinate.add(centroid, geometry.getCoordinates()); + } else { + features.splice(i, 1); + } + } + GVol.coordinate.scale(centroid, 1 / features.length); + + var cluster = new GVol.Feature(new GVol.geom.Point(centroid)); + cluster.set('features', features); + return cluster; +}; + +goog.provide('GVol.uri'); + + +/** + * Appends query parameters to a URI. + * + * @param {string} uri The original URI, which may already have query data. + * @param {!Object} params An object where keys are URI-encoded parameter keys, + * and the values are arbitrary types or arrays. + * @return {string} The new URI. + */ +GVol.uri.appendParams = function(uri, params) { + var keyParams = []; + // Skip any null or undefined parameter values + Object.keys(params).forEach(function(k) { + if (params[k] !== null && params[k] !== undefined) { + keyParams.push(k + '=' + encodeURIComponent(params[k])); + } + }); + var qs = keyParams.join('&'); + // remove any trailing ? or & + uri = uri.replace(/[?&]$/, ''); + // append ? or & depending on whether uri has existing parameters + uri = uri.indexOf('?') === -1 ? uri + '?' : uri + '&'; + return uri + qs; +}; + +goog.provide('GVol.source.ImageArcGISRest'); + +goog.require('GVol'); +goog.require('GVol.Image'); +goog.require('GVol.asserts'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); +goog.require('GVol.source.Image'); +goog.require('GVol.uri'); + + +/** + * @classdesc + * Source for data from ArcGIS Rest services providing single, untiled images. + * Useful when underlying map service has labels. + * + * If underlying map service is not using labels, + * take advantage of GVol image caching and use + * {@link GVol.source.TileArcGISRest} data source. + * + * @constructor + * @fires GVol.source.Image.Event + * @extends {GVol.source.Image} + * @param {GVolx.source.ImageArcGISRestOptions=} opt_options Image ArcGIS Rest Options. + * @api + */ +GVol.source.ImageArcGISRest = function(opt_options) { + + var options = opt_options || {}; + + GVol.source.Image.call(this, { + attributions: options.attributions, + logo: options.logo, + projection: options.projection, + resGVolutions: options.resGVolutions + }); + + /** + * @private + * @type {?string} + */ + this.crossOrigin_ = + options.crossOrigin !== undefined ? options.crossOrigin : null; + + /** + * @private + * @type {boGVolean} + */ + this.hidpi_ = options.hidpi !== undefined ? options.hidpi : true; + + /** + * @private + * @type {string|undefined} + */ + this.url_ = options.url; + + /** + * @private + * @type {GVol.ImageLoadFunctionType} + */ + this.imageLoadFunction_ = options.imageLoadFunction !== undefined ? + options.imageLoadFunction : GVol.source.Image.defaultImageLoadFunction; + + + /** + * @private + * @type {!Object} + */ + this.params_ = options.params || {}; + + /** + * @private + * @type {GVol.Image} + */ + this.image_ = null; + + /** + * @private + * @type {GVol.Size} + */ + this.imageSize_ = [0, 0]; + + + /** + * @private + * @type {number} + */ + this.renderedRevision_ = 0; + + /** + * @private + * @type {number} + */ + this.ratio_ = options.ratio !== undefined ? options.ratio : 1.5; + +}; +GVol.inherits(GVol.source.ImageArcGISRest, GVol.source.Image); + + +/** + * Get the user-provided params, i.e. those passed to the constructor through + * the "params" option, and possibly updated using the updateParams method. + * @return {Object} Params. + * @api + */ +GVol.source.ImageArcGISRest.prototype.getParams = function() { + return this.params_; +}; + + +/** + * @inheritDoc + */ +GVol.source.ImageArcGISRest.prototype.getImageInternal = function(extent, resGVolution, pixelRatio, projection) { + + if (this.url_ === undefined) { + return null; + } + + resGVolution = this.findNearestResGVolution(resGVolution); + pixelRatio = this.hidpi_ ? pixelRatio : 1; + + var image = this.image_; + if (image && + this.renderedRevision_ == this.getRevision() && + image.getResGVolution() == resGVolution && + image.getPixelRatio() == pixelRatio && + GVol.extent.containsExtent(image.getExtent(), extent)) { + return image; + } + + var params = { + 'F': 'image', + 'FORMAT': 'PNG32', + 'TRANSPARENT': true + }; + GVol.obj.assign(params, this.params_); + + extent = extent.slice(); + var centerX = (extent[0] + extent[2]) / 2; + var centerY = (extent[1] + extent[3]) / 2; + if (this.ratio_ != 1) { + var halfWidth = this.ratio_ * GVol.extent.getWidth(extent) / 2; + var halfHeight = this.ratio_ * GVol.extent.getHeight(extent) / 2; + extent[0] = centerX - halfWidth; + extent[1] = centerY - halfHeight; + extent[2] = centerX + halfWidth; + extent[3] = centerY + halfHeight; + } + + var imageResGVolution = resGVolution / pixelRatio; + + // Compute an integer width and height. + var width = Math.ceil(GVol.extent.getWidth(extent) / imageResGVolution); + var height = Math.ceil(GVol.extent.getHeight(extent) / imageResGVolution); + + // Modify the extent to match the integer width and height. + extent[0] = centerX - imageResGVolution * width / 2; + extent[2] = centerX + imageResGVolution * width / 2; + extent[1] = centerY - imageResGVolution * height / 2; + extent[3] = centerY + imageResGVolution * height / 2; + + this.imageSize_[0] = width; + this.imageSize_[1] = height; + + var url = this.getRequestUrl_(extent, this.imageSize_, pixelRatio, + projection, params); + + this.image_ = new GVol.Image(extent, resGVolution, pixelRatio, + this.getAttributions(), url, this.crossOrigin_, this.imageLoadFunction_); + + this.renderedRevision_ = this.getRevision(); + + GVol.events.listen(this.image_, GVol.events.EventType.CHANGE, + this.handleImageChange, this); + + return this.image_; + +}; + + +/** + * Return the image load function of the source. + * @return {GVol.ImageLoadFunctionType} The image load function. + * @api + */ +GVol.source.ImageArcGISRest.prototype.getImageLoadFunction = function() { + return this.imageLoadFunction_; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {GVol.Size} size Size. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @param {Object} params Params. + * @return {string} Request URL. + * @private + */ +GVol.source.ImageArcGISRest.prototype.getRequestUrl_ = function(extent, size, pixelRatio, projection, params) { + // ArcGIS Server only wants the numeric portion of the projection ID. + var srid = projection.getCode().split(':').pop(); + + params['SIZE'] = size[0] + ',' + size[1]; + params['BBOX'] = extent.join(','); + params['BBOXSR'] = srid; + params['IMAGESR'] = srid; + params['DPI'] = Math.round(90 * pixelRatio); + + var url = this.url_; + + var modifiedUrl = url + .replace(/MapServer\/?$/, 'MapServer/export') + .replace(/ImageServer\/?$/, 'ImageServer/exportImage'); + if (modifiedUrl == url) { + GVol.asserts.assert(false, 50); // `options.featureTypes` should be an Array + } + return GVol.uri.appendParams(modifiedUrl, params); +}; + + +/** + * Return the URL used for this ArcGIS source. + * @return {string|undefined} URL. + * @api + */ +GVol.source.ImageArcGISRest.prototype.getUrl = function() { + return this.url_; +}; + + +/** + * Set the image load function of the source. + * @param {GVol.ImageLoadFunctionType} imageLoadFunction Image load function. + * @api + */ +GVol.source.ImageArcGISRest.prototype.setImageLoadFunction = function(imageLoadFunction) { + this.image_ = null; + this.imageLoadFunction_ = imageLoadFunction; + this.changed(); +}; + + +/** + * Set the URL to use for requests. + * @param {string|undefined} url URL. + * @api + */ +GVol.source.ImageArcGISRest.prototype.setUrl = function(url) { + if (url != this.url_) { + this.url_ = url; + this.image_ = null; + this.changed(); + } +}; + + +/** + * Update the user-provided params. + * @param {Object} params Params. + * @api + */ +GVol.source.ImageArcGISRest.prototype.updateParams = function(params) { + GVol.obj.assign(this.params_, params); + this.image_ = null; + this.changed(); +}; + +goog.provide('GVol.source.ImageMapGuide'); + +goog.require('GVol'); +goog.require('GVol.Image'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); +goog.require('GVol.source.Image'); +goog.require('GVol.uri'); + + +/** + * @classdesc + * Source for images from Mapguide servers + * + * @constructor + * @fires GVol.source.Image.Event + * @extends {GVol.source.Image} + * @param {GVolx.source.ImageMapGuideOptions} options Options. + * @api + */ +GVol.source.ImageMapGuide = function(options) { + + GVol.source.Image.call(this, { + projection: options.projection, + resGVolutions: options.resGVolutions + }); + + /** + * @private + * @type {?string} + */ + this.crossOrigin_ = + options.crossOrigin !== undefined ? options.crossOrigin : null; + + /** + * @private + * @type {number} + */ + this.displayDpi_ = options.displayDpi !== undefined ? + options.displayDpi : 96; + + /** + * @private + * @type {!Object} + */ + this.params_ = options.params || {}; + + /** + * @private + * @type {string|undefined} + */ + this.url_ = options.url; + + /** + * @private + * @type {GVol.ImageLoadFunctionType} + */ + this.imageLoadFunction_ = options.imageLoadFunction !== undefined ? + options.imageLoadFunction : GVol.source.Image.defaultImageLoadFunction; + + /** + * @private + * @type {boGVolean} + */ + this.hidpi_ = options.hidpi !== undefined ? options.hidpi : true; + + /** + * @private + * @type {number} + */ + this.metersPerUnit_ = options.metersPerUnit !== undefined ? + options.metersPerUnit : 1; + + /** + * @private + * @type {number} + */ + this.ratio_ = options.ratio !== undefined ? options.ratio : 1; + + /** + * @private + * @type {boGVolean} + */ + this.useOverlay_ = options.useOverlay !== undefined ? + options.useOverlay : false; + + /** + * @private + * @type {GVol.Image} + */ + this.image_ = null; + + /** + * @private + * @type {number} + */ + this.renderedRevision_ = 0; + +}; +GVol.inherits(GVol.source.ImageMapGuide, GVol.source.Image); + + +/** + * Get the user-provided params, i.e. those passed to the constructor through + * the "params" option, and possibly updated using the updateParams method. + * @return {Object} Params. + * @api + */ +GVol.source.ImageMapGuide.prototype.getParams = function() { + return this.params_; +}; + + +/** + * @inheritDoc + */ +GVol.source.ImageMapGuide.prototype.getImageInternal = function(extent, resGVolution, pixelRatio, projection) { + resGVolution = this.findNearestResGVolution(resGVolution); + pixelRatio = this.hidpi_ ? pixelRatio : 1; + + var image = this.image_; + if (image && + this.renderedRevision_ == this.getRevision() && + image.getResGVolution() == resGVolution && + image.getPixelRatio() == pixelRatio && + GVol.extent.containsExtent(image.getExtent(), extent)) { + return image; + } + + if (this.ratio_ != 1) { + extent = extent.slice(); + GVol.extent.scaleFromCenter(extent, this.ratio_); + } + var width = GVol.extent.getWidth(extent) / resGVolution; + var height = GVol.extent.getHeight(extent) / resGVolution; + var size = [width * pixelRatio, height * pixelRatio]; + + if (this.url_ !== undefined) { + var imageUrl = this.getUrl(this.url_, this.params_, extent, size, + projection); + image = new GVol.Image(extent, resGVolution, pixelRatio, + this.getAttributions(), imageUrl, this.crossOrigin_, + this.imageLoadFunction_); + GVol.events.listen(image, GVol.events.EventType.CHANGE, + this.handleImageChange, this); + } else { + image = null; + } + this.image_ = image; + this.renderedRevision_ = this.getRevision(); + + return image; +}; + + +/** + * Return the image load function of the source. + * @return {GVol.ImageLoadFunctionType} The image load function. + * @api + */ +GVol.source.ImageMapGuide.prototype.getImageLoadFunction = function() { + return this.imageLoadFunction_; +}; + + +/** + * @param {GVol.Extent} extent The map extents. + * @param {GVol.Size} size The viewport size. + * @param {number} metersPerUnit The meters-per-unit value. + * @param {number} dpi The display resGVolution. + * @return {number} The computed map scale. + */ +GVol.source.ImageMapGuide.getScale = function(extent, size, metersPerUnit, dpi) { + var mcsW = GVol.extent.getWidth(extent); + var mcsH = GVol.extent.getHeight(extent); + var devW = size[0]; + var devH = size[1]; + var mpp = 0.0254 / dpi; + if (devH * mcsW > devW * mcsH) { + return mcsW * metersPerUnit / (devW * mpp); // width limited + } else { + return mcsH * metersPerUnit / (devH * mpp); // height limited + } +}; + + +/** + * Update the user-provided params. + * @param {Object} params Params. + * @api + */ +GVol.source.ImageMapGuide.prototype.updateParams = function(params) { + GVol.obj.assign(this.params_, params); + this.changed(); +}; + + +/** + * @param {string} baseUrl The mapagent url. + * @param {Object.<string, string|number>} params Request parameters. + * @param {GVol.Extent} extent Extent. + * @param {GVol.Size} size Size. + * @param {GVol.proj.Projection} projection Projection. + * @return {string} The mapagent map image request URL. + */ +GVol.source.ImageMapGuide.prototype.getUrl = function(baseUrl, params, extent, size, projection) { + var scale = GVol.source.ImageMapGuide.getScale(extent, size, + this.metersPerUnit_, this.displayDpi_); + var center = GVol.extent.getCenter(extent); + var baseParams = { + 'OPERATION': this.useOverlay_ ? 'GETDYNAMICMAPOVERLAYIMAGE' : 'GETMAPIMAGE', + 'VERSION': '2.0.0', + 'LOCALE': 'en', + 'CLIENTAGENT': 'GVol.source.ImageMapGuide source', + 'CLIP': '1', + 'SETDISPLAYDPI': this.displayDpi_, + 'SETDISPLAYWIDTH': Math.round(size[0]), + 'SETDISPLAYHEIGHT': Math.round(size[1]), + 'SETVIEWSCALE': scale, + 'SETVIEWCENTERX': center[0], + 'SETVIEWCENTERY': center[1] + }; + GVol.obj.assign(baseParams, params); + return GVol.uri.appendParams(baseUrl, baseParams); +}; + + +/** + * Set the image load function of the MapGuide source. + * @param {GVol.ImageLoadFunctionType} imageLoadFunction Image load function. + * @api + */ +GVol.source.ImageMapGuide.prototype.setImageLoadFunction = function( + imageLoadFunction) { + this.image_ = null; + this.imageLoadFunction_ = imageLoadFunction; + this.changed(); +}; + +goog.provide('GVol.source.ImageStatic'); + +goog.require('GVol'); +goog.require('GVol.Image'); +goog.require('GVol.ImageState'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.proj'); +goog.require('GVol.source.Image'); + + +/** + * @classdesc + * A layer source for displaying a single, static image. + * + * @constructor + * @extends {GVol.source.Image} + * @param {GVolx.source.ImageStaticOptions} options Options. + * @api + */ +GVol.source.ImageStatic = function(options) { + var imageExtent = options.imageExtent; + + var crossOrigin = options.crossOrigin !== undefined ? + options.crossOrigin : null; + + var /** @type {GVol.ImageLoadFunctionType} */ imageLoadFunction = + options.imageLoadFunction !== undefined ? + options.imageLoadFunction : GVol.source.Image.defaultImageLoadFunction; + + GVol.source.Image.call(this, { + attributions: options.attributions, + logo: options.logo, + projection: GVol.proj.get(options.projection) + }); + + /** + * @private + * @type {GVol.Image} + */ + this.image_ = new GVol.Image(imageExtent, undefined, 1, this.getAttributions(), + options.url, crossOrigin, imageLoadFunction); + + /** + * @private + * @type {GVol.Size} + */ + this.imageSize_ = options.imageSize ? options.imageSize : null; + + GVol.events.listen(this.image_, GVol.events.EventType.CHANGE, + this.handleImageChange, this); + +}; +GVol.inherits(GVol.source.ImageStatic, GVol.source.Image); + + +/** + * @inheritDoc + */ +GVol.source.ImageStatic.prototype.getImageInternal = function(extent, resGVolution, pixelRatio, projection) { + if (GVol.extent.intersects(extent, this.image_.getExtent())) { + return this.image_; + } + return null; +}; + + +/** + * @inheritDoc + */ +GVol.source.ImageStatic.prototype.handleImageChange = function(evt) { + if (this.image_.getState() == GVol.ImageState.LOADED) { + var imageExtent = this.image_.getExtent(); + var image = this.image_.getImage(); + var imageWidth, imageHeight; + if (this.imageSize_) { + imageWidth = this.imageSize_[0]; + imageHeight = this.imageSize_[1]; + } else { + imageWidth = image.width; + imageHeight = image.height; + } + var resGVolution = GVol.extent.getHeight(imageExtent) / imageHeight; + var targetWidth = Math.ceil(GVol.extent.getWidth(imageExtent) / resGVolution); + if (targetWidth != imageWidth) { + var context = GVol.dom.createCanvasContext2D(targetWidth, imageHeight); + var canvas = context.canvas; + context.drawImage(image, 0, 0, imageWidth, imageHeight, + 0, 0, canvas.width, canvas.height); + this.image_.setImage(canvas); + } + } + GVol.source.Image.prototype.handleImageChange.call(this, evt); +}; + +goog.provide('GVol.source.WMSServerType'); + + +/** + * Available server types: `'carmentaserver'`, `'geoserver'`, `'mapserver'`, + * `'qgis'`. These are servers that have vendor parameters beyond the WMS + * specification that OpenLayers can make use of. + * @enum {string} + */ +GVol.source.WMSServerType = { + CARMENTA_SERVER: 'carmentaserver', + GEOSERVER: 'geoserver', + MAPSERVER: 'mapserver', + QGIS: 'qgis' +}; + +// FIXME cannot be shared between maps with different projections + +goog.provide('GVol.source.ImageWMS'); + +goog.require('GVol'); +goog.require('GVol.Image'); +goog.require('GVol.asserts'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); +goog.require('GVol.source.Image'); +goog.require('GVol.source.WMSServerType'); +goog.require('GVol.string'); +goog.require('GVol.uri'); + + +/** + * @classdesc + * Source for WMS servers providing single, untiled images. + * + * @constructor + * @fires GVol.source.Image.Event + * @extends {GVol.source.Image} + * @param {GVolx.source.ImageWMSOptions=} opt_options Options. + * @api + */ +GVol.source.ImageWMS = function(opt_options) { + + var options = opt_options || {}; + + GVol.source.Image.call(this, { + attributions: options.attributions, + logo: options.logo, + projection: options.projection, + resGVolutions: options.resGVolutions + }); + + /** + * @private + * @type {?string} + */ + this.crossOrigin_ = + options.crossOrigin !== undefined ? options.crossOrigin : null; + + /** + * @private + * @type {string|undefined} + */ + this.url_ = options.url; + + /** + * @private + * @type {GVol.ImageLoadFunctionType} + */ + this.imageLoadFunction_ = options.imageLoadFunction !== undefined ? + options.imageLoadFunction : GVol.source.Image.defaultImageLoadFunction; + + /** + * @private + * @type {!Object} + */ + this.params_ = options.params || {}; + + /** + * @private + * @type {boGVolean} + */ + this.v13_ = true; + this.updateV13_(); + + /** + * @private + * @type {GVol.source.WMSServerType|undefined} + */ + this.serverType_ = /** @type {GVol.source.WMSServerType|undefined} */ (options.serverType); + + /** + * @private + * @type {boGVolean} + */ + this.hidpi_ = options.hidpi !== undefined ? options.hidpi : true; + + /** + * @private + * @type {GVol.Image} + */ + this.image_ = null; + + /** + * @private + * @type {GVol.Size} + */ + this.imageSize_ = [0, 0]; + + /** + * @private + * @type {number} + */ + this.renderedRevision_ = 0; + + /** + * @private + * @type {number} + */ + this.ratio_ = options.ratio !== undefined ? options.ratio : 1.5; + +}; +GVol.inherits(GVol.source.ImageWMS, GVol.source.Image); + + +/** + * @const + * @type {GVol.Size} + * @private + */ +GVol.source.ImageWMS.GETFEATUREINFO_IMAGE_SIZE_ = [101, 101]; + + +/** + * Return the GetFeatureInfo URL for the passed coordinate, resGVolution, and + * projection. Return `undefined` if the GetFeatureInfo URL cannot be + * constructed. + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} resGVolution ResGVolution. + * @param {GVol.ProjectionLike} projection Projection. + * @param {!Object} params GetFeatureInfo params. `INFO_FORMAT` at least should + * be provided. If `QUERY_LAYERS` is not provided then the layers specified + * in the `LAYERS` parameter will be used. `VERSION` should not be + * specified here. + * @return {string|undefined} GetFeatureInfo URL. + * @api + */ +GVol.source.ImageWMS.prototype.getGetFeatureInfoUrl = function(coordinate, resGVolution, projection, params) { + if (this.url_ === undefined) { + return undefined; + } + + var extent = GVol.extent.getForViewAndSize( + coordinate, resGVolution, 0, + GVol.source.ImageWMS.GETFEATUREINFO_IMAGE_SIZE_); + + var baseParams = { + 'SERVICE': 'WMS', + 'VERSION': GVol.DEFAULT_WMS_VERSION, + 'REQUEST': 'GetFeatureInfo', + 'FORMAT': 'image/png', + 'TRANSPARENT': true, + 'QUERY_LAYERS': this.params_['LAYERS'] + }; + GVol.obj.assign(baseParams, this.params_, params); + + var x = Math.floor((coordinate[0] - extent[0]) / resGVolution); + var y = Math.floor((extent[3] - coordinate[1]) / resGVolution); + baseParams[this.v13_ ? 'I' : 'X'] = x; + baseParams[this.v13_ ? 'J' : 'Y'] = y; + + return this.getRequestUrl_( + extent, GVol.source.ImageWMS.GETFEATUREINFO_IMAGE_SIZE_, + 1, GVol.proj.get(projection), baseParams); +}; + + +/** + * Get the user-provided params, i.e. those passed to the constructor through + * the "params" option, and possibly updated using the updateParams method. + * @return {Object} Params. + * @api + */ +GVol.source.ImageWMS.prototype.getParams = function() { + return this.params_; +}; + + +/** + * @inheritDoc + */ +GVol.source.ImageWMS.prototype.getImageInternal = function(extent, resGVolution, pixelRatio, projection) { + + if (this.url_ === undefined) { + return null; + } + + resGVolution = this.findNearestResGVolution(resGVolution); + + if (pixelRatio != 1 && (!this.hidpi_ || this.serverType_ === undefined)) { + pixelRatio = 1; + } + + var imageResGVolution = resGVolution / pixelRatio; + + var center = GVol.extent.getCenter(extent); + var viewWidth = Math.ceil(GVol.extent.getWidth(extent) / imageResGVolution); + var viewHeight = Math.ceil(GVol.extent.getHeight(extent) / imageResGVolution); + var viewExtent = GVol.extent.getForViewAndSize(center, imageResGVolution, 0, + [viewWidth, viewHeight]); + var requestWidth = Math.ceil(this.ratio_ * GVol.extent.getWidth(extent) / imageResGVolution); + var requestHeight = Math.ceil(this.ratio_ * GVol.extent.getHeight(extent) / imageResGVolution); + var requestExtent = GVol.extent.getForViewAndSize(center, imageResGVolution, 0, + [requestWidth, requestHeight]); + + var image = this.image_; + if (image && + this.renderedRevision_ == this.getRevision() && + image.getResGVolution() == resGVolution && + image.getPixelRatio() == pixelRatio && + GVol.extent.containsExtent(image.getExtent(), viewExtent)) { + return image; + } + + var params = { + 'SERVICE': 'WMS', + 'VERSION': GVol.DEFAULT_WMS_VERSION, + 'REQUEST': 'GetMap', + 'FORMAT': 'image/png', + 'TRANSPARENT': true + }; + GVol.obj.assign(params, this.params_); + + this.imageSize_[0] = Math.round(GVol.extent.getWidth(requestExtent) / imageResGVolution); + this.imageSize_[1] = Math.round(GVol.extent.getHeight(requestExtent) / imageResGVolution); + + var url = this.getRequestUrl_(requestExtent, this.imageSize_, pixelRatio, + projection, params); + + this.image_ = new GVol.Image(requestExtent, resGVolution, pixelRatio, + this.getAttributions(), url, this.crossOrigin_, this.imageLoadFunction_); + + this.renderedRevision_ = this.getRevision(); + + GVol.events.listen(this.image_, GVol.events.EventType.CHANGE, + this.handleImageChange, this); + + return this.image_; + +}; + + +/** + * Return the image load function of the source. + * @return {GVol.ImageLoadFunctionType} The image load function. + * @api + */ +GVol.source.ImageWMS.prototype.getImageLoadFunction = function() { + return this.imageLoadFunction_; +}; + + +/** + * @param {GVol.Extent} extent Extent. + * @param {GVol.Size} size Size. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @param {Object} params Params. + * @return {string} Request URL. + * @private + */ +GVol.source.ImageWMS.prototype.getRequestUrl_ = function(extent, size, pixelRatio, projection, params) { + + GVol.asserts.assert(this.url_ !== undefined, 9); // `url` must be configured or set using `#setUrl()` + + params[this.v13_ ? 'CRS' : 'SRS'] = projection.getCode(); + + if (!('STYLES' in this.params_)) { + params['STYLES'] = ''; + } + + if (pixelRatio != 1) { + switch (this.serverType_) { + case GVol.source.WMSServerType.GEOSERVER: + var dpi = (90 * pixelRatio + 0.5) | 0; + if ('FORMAT_OPTIONS' in params) { + params['FORMAT_OPTIONS'] += ';dpi:' + dpi; + } else { + params['FORMAT_OPTIONS'] = 'dpi:' + dpi; + } + break; + case GVol.source.WMSServerType.MAPSERVER: + params['MAP_RESOLUTION'] = 90 * pixelRatio; + break; + case GVol.source.WMSServerType.CARMENTA_SERVER: + case GVol.source.WMSServerType.QGIS: + params['DPI'] = 90 * pixelRatio; + break; + default: + GVol.asserts.assert(false, 8); // Unknown `serverType` configured + break; + } + } + + params['WIDTH'] = size[0]; + params['HEIGHT'] = size[1]; + + var axisOrientation = projection.getAxisOrientation(); + var bbox; + if (this.v13_ && axisOrientation.substr(0, 2) == 'ne') { + bbox = [extent[1], extent[0], extent[3], extent[2]]; + } else { + bbox = extent; + } + params['BBOX'] = bbox.join(','); + + return GVol.uri.appendParams(/** @type {string} */ (this.url_), params); +}; + + +/** + * Return the URL used for this WMS source. + * @return {string|undefined} URL. + * @api + */ +GVol.source.ImageWMS.prototype.getUrl = function() { + return this.url_; +}; + + +/** + * Set the image load function of the source. + * @param {GVol.ImageLoadFunctionType} imageLoadFunction Image load function. + * @api + */ +GVol.source.ImageWMS.prototype.setImageLoadFunction = function( + imageLoadFunction) { + this.image_ = null; + this.imageLoadFunction_ = imageLoadFunction; + this.changed(); +}; + + +/** + * Set the URL to use for requests. + * @param {string|undefined} url URL. + * @api + */ +GVol.source.ImageWMS.prototype.setUrl = function(url) { + if (url != this.url_) { + this.url_ = url; + this.image_ = null; + this.changed(); + } +}; + + +/** + * Update the user-provided params. + * @param {Object} params Params. + * @api + */ +GVol.source.ImageWMS.prototype.updateParams = function(params) { + GVol.obj.assign(this.params_, params); + this.updateV13_(); + this.image_ = null; + this.changed(); +}; + + +/** + * @private + */ +GVol.source.ImageWMS.prototype.updateV13_ = function() { + var version = this.params_['VERSION'] || GVol.DEFAULT_WMS_VERSION; + this.v13_ = GVol.string.compareVersions(version, '1.3') >= 0; +}; + +goog.provide('GVol.source.OSM'); + +goog.require('GVol'); +goog.require('GVol.Attribution'); +goog.require('GVol.source.XYZ'); + + +/** + * @classdesc + * Layer source for the OpenStreetMap tile server. + * + * @constructor + * @extends {GVol.source.XYZ} + * @param {GVolx.source.OSMOptions=} opt_options Open Street Map options. + * @api + */ +GVol.source.OSM = function(opt_options) { + + var options = opt_options || {}; + + var attributions; + if (options.attributions !== undefined) { + attributions = options.attributions; + } else { + attributions = [GVol.source.OSM.ATTRIBUTION]; + } + + var crossOrigin = options.crossOrigin !== undefined ? + options.crossOrigin : 'anonymous'; + + var url = options.url !== undefined ? + options.url : 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'; + + GVol.source.XYZ.call(this, { + attributions: attributions, + cacheSize: options.cacheSize, + crossOrigin: crossOrigin, + opaque: options.opaque !== undefined ? options.opaque : true, + maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19, + reprojectionErrorThreshGVold: options.reprojectionErrorThreshGVold, + tileLoadFunction: options.tileLoadFunction, + url: url, + wrapX: options.wrapX + }); + +}; +GVol.inherits(GVol.source.OSM, GVol.source.XYZ); + + +/** + * The attribution containing a link to the OpenStreetMap Copyright and License + * page. + * @const + * @type {GVol.Attribution} + * @api + */ +GVol.source.OSM.ATTRIBUTION = new GVol.Attribution({ + html: '© ' + + '<a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> ' + + 'contributors.' +}); + + +/** + * @fileoverview + * @suppress {accessContrGVols, ambiguousFunctionDecl, checkDebuggerStatement, checkRegExp, checkTypes, checkVars, const, constantProperty, deprecated, duplicate, es5Strict, fileoverviewTags, missingProperties, nonStandardJsDocs, strictModuleDepCheck, suspiciousCode, undefinedNames, undefinedVars, unknownDefines, unusedLocalVariables, uselessCode, visibility} + */ +goog.provide('GVol.ext.pixelworks.Processor'); + +/** @typedef {function(*)} */ +GVol.ext.pixelworks.Processor = function() {}; + +(function() {(function (exports) { +'use strict'; + +var hasImageData = true; +try { + new ImageData(10, 10); +} catch (_) { + hasImageData = false; +} +var context = document.createElement('canvas').getContext('2d'); +function newImageData$1(data, width, height) { + if (hasImageData) { + return new ImageData(data, width, height); + } else { + var imageData = context.createImageData(width, height); + imageData.data.set(data); + return imageData; + } +} +var newImageData_1 = newImageData$1; +var util = { + newImageData: newImageData_1 +}; + +var newImageData = util.newImageData; +function createMinion(operation) { + var workerHasImageData = true; + try { + new ImageData(10, 10); + } catch (_) { + workerHasImageData = false; + } + function newWorkerImageData(data, width, height) { + if (workerHasImageData) { + return new ImageData(data, width, height); + } else { + return {data: data, width: width, height: height}; + } + } + return function(data) { + var buffers = data['buffers']; + var meta = data['meta']; + var imageOps = data['imageOps']; + var width = data['width']; + var height = data['height']; + var numBuffers = buffers.length; + var numBytes = buffers[0].byteLength; + var output, b; + if (imageOps) { + var images = new Array(numBuffers); + for (b = 0; b < numBuffers; ++b) { + images[b] = newWorkerImageData( + new Uint8ClampedArray(buffers[b]), width, height); + } + output = operation(images, meta).data; + } else { + output = new Uint8ClampedArray(numBytes); + var arrays = new Array(numBuffers); + var pixels = new Array(numBuffers); + for (b = 0; b < numBuffers; ++b) { + arrays[b] = new Uint8ClampedArray(buffers[b]); + pixels[b] = [0, 0, 0, 0]; + } + for (var i = 0; i < numBytes; i += 4) { + for (var j = 0; j < numBuffers; ++j) { + var array = arrays[j]; + pixels[j][0] = array[i]; + pixels[j][1] = array[i + 1]; + pixels[j][2] = array[i + 2]; + pixels[j][3] = array[i + 3]; + } + var pixel = operation(pixels, meta); + output[i] = pixel[0]; + output[i + 1] = pixel[1]; + output[i + 2] = pixel[2]; + output[i + 3] = pixel[3]; + } + } + return output.buffer; + }; +} +function createWorker(config, onMessage) { + var lib = Object.keys(config.lib || {}).map(function(name) { + return 'var ' + name + ' = ' + config.lib[name].toString() + ';'; + }); + var lines = lib.concat([ + 'var __minion__ = (' + createMinion.toString() + ')(', config.operation.toString(), ');', + 'self.addEventListener("message", function(event) {', + ' var buffer = __minion__(event.data);', + ' self.postMessage({buffer: buffer, meta: event.data.meta}, [buffer]);', + '});' + ]); + var blob = new Blob(lines, {type: 'text/javascript'}); + var source = URL.createObjectURL(blob); + var worker = new Worker(source); + worker.addEventListener('message', onMessage); + return worker; +} +function createFauxWorker(config, onMessage) { + var minion = createMinion(config.operation); + return { + postMessage: function(data) { + setTimeout(function() { + onMessage({'data': {'buffer': minion(data), 'meta': data['meta']}}); + }, 0); + } + }; +} +function Processor(config) { + this._imageOps = !!config.imageOps; + var threads; + if (config.threads === 0) { + threads = 0; + } else if (this._imageOps) { + threads = 1; + } else { + threads = config.threads || 1; + } + var workers = []; + if (threads) { + for (var i = 0; i < threads; ++i) { + workers[i] = createWorker(config, this._onWorkerMessage.bind(this, i)); + } + } else { + workers[0] = createFauxWorker(config, this._onWorkerMessage.bind(this, 0)); + } + this._workers = workers; + this._queue = []; + this._maxQueueLength = config.queue || Infinity; + this._running = 0; + this._dataLookup = {}; + this._job = null; +} +Processor.prototype.process = function(inputs, meta, callback) { + this._enqueue({ + inputs: inputs, + meta: meta, + callback: callback + }); + this._dispatch(); +}; +Processor.prototype.destroy = function() { + for (var key in this) { + this[key] = null; + } + this._destroyed = true; +}; +Processor.prototype._enqueue = function(job) { + this._queue.push(job); + while (this._queue.length > this._maxQueueLength) { + this._queue.shift().callback(null, null); + } +}; +Processor.prototype._dispatch = function() { + if (this._running === 0 && this._queue.length > 0) { + var job = this._job = this._queue.shift(); + var width = job.inputs[0].width; + var height = job.inputs[0].height; + var buffers = job.inputs.map(function(input) { + return input.data.buffer; + }); + var threads = this._workers.length; + this._running = threads; + if (threads === 1) { + this._workers[0].postMessage({ + 'buffers': buffers, + 'meta': job.meta, + 'imageOps': this._imageOps, + 'width': width, + 'height': height + }, buffers); + } else { + var length = job.inputs[0].data.length; + var segmentLength = 4 * Math.ceil(length / 4 / threads); + for (var i = 0; i < threads; ++i) { + var offset = i * segmentLength; + var slices = []; + for (var j = 0, jj = buffers.length; j < jj; ++j) { + slices.push(buffers[i].slice(offset, offset + segmentLength)); + } + this._workers[i].postMessage({ + 'buffers': slices, + 'meta': job.meta, + 'imageOps': this._imageOps, + 'width': width, + 'height': height + }, slices); + } + } + } +}; +Processor.prototype._onWorkerMessage = function(index, event) { + if (this._destroyed) { + return; + } + this._dataLookup[index] = event.data; + --this._running; + if (this._running === 0) { + this._resGVolveJob(); + } +}; +Processor.prototype._resGVolveJob = function() { + var job = this._job; + var threads = this._workers.length; + var data, meta; + if (threads === 1) { + data = new Uint8ClampedArray(this._dataLookup[0]['buffer']); + meta = this._dataLookup[0]['meta']; + } else { + var length = job.inputs[0].data.length; + data = new Uint8ClampedArray(length); + meta = new Array(length); + var segmentLength = 4 * Math.ceil(length / 4 / threads); + for (var i = 0; i < threads; ++i) { + var buffer = this._dataLookup[i]['buffer']; + var offset = i * segmentLength; + data.set(new Uint8ClampedArray(buffer), offset); + meta[i] = this._dataLookup[i]['meta']; + } + } + this._job = null; + this._dataLookup = {}; + job.callback(null, + newImageData(data, job.inputs[0].width, job.inputs[0].height), meta); + this._dispatch(); +}; +var processor = Processor; + +var Processor_1 = processor; +var lib = { + Processor: Processor_1 +}; + +exports['default'] = lib; +exports.Processor = Processor_1; + +}((this.pixelworks = this.pixelworks || {})));}).call(GVol.ext); + +goog.provide('GVol.source.RasterOperationType'); + +/** + * Raster operation type. Supported values are `'pixel'` and `'image'`. + * @enum {string} + */ +GVol.source.RasterOperationType = { + PIXEL: 'pixel', + IMAGE: 'image' +}; + +goog.provide('GVol.source.Raster'); + +goog.require('GVol'); +goog.require('GVol.ImageCanvas'); +goog.require('GVol.TileQueue'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.events.Event'); +goog.require('GVol.events.EventType'); +goog.require('GVol.ext.pixelworks.Processor'); +goog.require('GVol.extent'); +goog.require('GVol.layer.Image'); +goog.require('GVol.layer.Tile'); +goog.require('GVol.obj'); +goog.require('GVol.renderer.canvas.ImageLayer'); +goog.require('GVol.renderer.canvas.TileLayer'); +goog.require('GVol.source.Image'); +goog.require('GVol.source.RasterOperationType'); +goog.require('GVol.source.State'); +goog.require('GVol.source.Tile'); +goog.require('GVol.transform'); + + +/** + * @classdesc + * A source that transforms data from any number of input sources using an array + * of {@link GVol.RasterOperation} functions to transform input pixel values into + * output pixel values. + * + * @constructor + * @extends {GVol.source.Image} + * @fires GVol.source.Raster.Event + * @param {GVolx.source.RasterOptions} options Options. + * @api + */ +GVol.source.Raster = function(options) { + + /** + * @private + * @type {*} + */ + this.worker_ = null; + + /** + * @private + * @type {GVol.source.RasterOperationType} + */ + this.operationType_ = options.operationType !== undefined ? + options.operationType : GVol.source.RasterOperationType.PIXEL; + + /** + * @private + * @type {number} + */ + this.threads_ = options.threads !== undefined ? options.threads : 1; + + /** + * @private + * @type {Array.<GVol.renderer.canvas.Layer>} + */ + this.renderers_ = GVol.source.Raster.createRenderers_(options.sources); + + for (var r = 0, rr = this.renderers_.length; r < rr; ++r) { + GVol.events.listen(this.renderers_[r], GVol.events.EventType.CHANGE, + this.changed, this); + } + + /** + * @private + * @type {GVol.TileQueue} + */ + this.tileQueue_ = new GVol.TileQueue( + function() { + return 1; + }, + this.changed.bind(this)); + + var layerStatesArray = GVol.source.Raster.getLayerStatesArray_(this.renderers_); + var layerStates = {}; + for (var i = 0, ii = layerStatesArray.length; i < ii; ++i) { + layerStates[GVol.getUid(layerStatesArray[i].layer)] = layerStatesArray[i]; + } + + /** + * The most recently requested frame state. + * @type {GVolx.FrameState} + * @private + */ + this.requestedFrameState_; + + /** + * The most recently rendered image canvas. + * @type {GVol.ImageCanvas} + * @private + */ + this.renderedImageCanvas_ = null; + + /** + * The most recently rendered revision. + * @type {number} + */ + this.renderedRevision_; + + /** + * @private + * @type {GVolx.FrameState} + */ + this.frameState_ = { + animate: false, + attributions: {}, + coordinateToPixelTransform: GVol.transform.create(), + extent: null, + focus: null, + index: 0, + layerStates: layerStates, + layerStatesArray: layerStatesArray, + logos: {}, + pixelRatio: 1, + pixelToCoordinateTransform: GVol.transform.create(), + postRenderFunctions: [], + size: [0, 0], + skippedFeatureUids: {}, + tileQueue: this.tileQueue_, + time: Date.now(), + usedTiles: {}, + viewState: /** @type {GVolx.ViewState} */ ({ + rotation: 0 + }), + viewHints: [], + wantedTiles: {} + }; + + GVol.source.Image.call(this, {}); + + if (options.operation !== undefined) { + this.setOperation(options.operation, options.lib); + } + +}; +GVol.inherits(GVol.source.Raster, GVol.source.Image); + + +/** + * Set the operation. + * @param {GVol.RasterOperation} operation New operation. + * @param {Object=} opt_lib Functions that will be available to operations run + * in a worker. + * @api + */ +GVol.source.Raster.prototype.setOperation = function(operation, opt_lib) { + this.worker_ = new GVol.ext.pixelworks.Processor({ + operation: operation, + imageOps: this.operationType_ === GVol.source.RasterOperationType.IMAGE, + queue: 1, + lib: opt_lib, + threads: this.threads_ + }); + this.changed(); +}; + + +/** + * Update the stored frame state. + * @param {GVol.Extent} extent The view extent (in map units). + * @param {number} resGVolution The view resGVolution. + * @param {GVol.proj.Projection} projection The view projection. + * @return {GVolx.FrameState} The updated frame state. + * @private + */ +GVol.source.Raster.prototype.updateFrameState_ = function(extent, resGVolution, projection) { + + var frameState = /** @type {GVolx.FrameState} */ ( + GVol.obj.assign({}, this.frameState_)); + + frameState.viewState = /** @type {GVolx.ViewState} */ ( + GVol.obj.assign({}, frameState.viewState)); + + var center = GVol.extent.getCenter(extent); + + frameState.extent = extent.slice(); + frameState.focus = center; + frameState.size[0] = Math.round(GVol.extent.getWidth(extent) / resGVolution); + frameState.size[1] = Math.round(GVol.extent.getHeight(extent) / resGVolution); + + var viewState = frameState.viewState; + viewState.center = center; + viewState.projection = projection; + viewState.resGVolution = resGVolution; + return frameState; +}; + + +/** + * Determine if all sources are ready. + * @return {boGVolean} All sources are ready. + * @private + */ +GVol.source.Raster.prototype.allSourcesReady_ = function() { + var ready = true; + var source; + for (var i = 0, ii = this.renderers_.length; i < ii; ++i) { + source = this.renderers_[i].getLayer().getSource(); + if (source.getState() !== GVol.source.State.READY) { + ready = false; + break; + } + } + return ready; +}; + + +/** + * @inheritDoc + */ +GVol.source.Raster.prototype.getImage = function(extent, resGVolution, pixelRatio, projection) { + if (!this.allSourcesReady_()) { + return null; + } + + var frameState = this.updateFrameState_(extent, resGVolution, projection); + this.requestedFrameState_ = frameState; + + // check if we can't reuse the existing GVol.ImageCanvas + if (this.renderedImageCanvas_) { + var renderedResGVolution = this.renderedImageCanvas_.getResGVolution(); + var renderedExtent = this.renderedImageCanvas_.getExtent(); + if (resGVolution !== renderedResGVolution || !GVol.extent.equals(extent, renderedExtent)) { + this.renderedImageCanvas_ = null; + } + } + + if (!this.renderedImageCanvas_ || this.getRevision() !== this.renderedRevision_) { + this.processSources_(); + } + + frameState.tileQueue.loadMoreTiles(16, 16); + return this.renderedImageCanvas_; +}; + + +/** + * Start processing source data. + * @private + */ +GVol.source.Raster.prototype.processSources_ = function() { + var frameState = this.requestedFrameState_; + var len = this.renderers_.length; + var imageDatas = new Array(len); + for (var i = 0; i < len; ++i) { + var imageData = GVol.source.Raster.getImageData_( + this.renderers_[i], frameState, frameState.layerStatesArray[i]); + if (imageData) { + imageDatas[i] = imageData; + } else { + return; + } + } + + var data = {}; + this.dispatchEvent(new GVol.source.Raster.Event( + GVol.source.Raster.EventType_.BEFOREOPERATIONS, frameState, data)); + this.worker_.process(imageDatas, data, + this.onWorkerComplete_.bind(this, frameState)); +}; + + +/** + * Called when pixel processing is complete. + * @param {GVolx.FrameState} frameState The frame state. + * @param {Error} err Any error during processing. + * @param {ImageData} output The output image data. + * @param {Object} data The user data. + * @private + */ +GVol.source.Raster.prototype.onWorkerComplete_ = function(frameState, err, output, data) { + if (err || !output) { + return; + } + + // do nothing if extent or resGVolution changed + var extent = frameState.extent; + var resGVolution = frameState.viewState.resGVolution; + if (resGVolution !== this.requestedFrameState_.viewState.resGVolution || + !GVol.extent.equals(extent, this.requestedFrameState_.extent)) { + return; + } + + var context; + if (this.renderedImageCanvas_) { + context = this.renderedImageCanvas_.getImage().getContext('2d'); + } else { + var width = Math.round(GVol.extent.getWidth(extent) / resGVolution); + var height = Math.round(GVol.extent.getHeight(extent) / resGVolution); + context = GVol.dom.createCanvasContext2D(width, height); + this.renderedImageCanvas_ = new GVol.ImageCanvas( + extent, resGVolution, 1, this.getAttributions(), context.canvas); + } + context.putImageData(output, 0, 0); + + this.changed(); + this.renderedRevision_ = this.getRevision(); + + this.dispatchEvent(new GVol.source.Raster.Event( + GVol.source.Raster.EventType_.AFTEROPERATIONS, frameState, data)); +}; + + +/** + * Get image data from a renderer. + * @param {GVol.renderer.canvas.Layer} renderer Layer renderer. + * @param {GVolx.FrameState} frameState The frame state. + * @param {GVol.LayerState} layerState The layer state. + * @return {ImageData} The image data. + * @private + */ +GVol.source.Raster.getImageData_ = function(renderer, frameState, layerState) { + if (!renderer.prepareFrame(frameState, layerState)) { + return null; + } + var width = frameState.size[0]; + var height = frameState.size[1]; + if (!GVol.source.Raster.context_) { + GVol.source.Raster.context_ = GVol.dom.createCanvasContext2D(width, height); + } else { + var canvas = GVol.source.Raster.context_.canvas; + if (canvas.width !== width || canvas.height !== height) { + GVol.source.Raster.context_ = GVol.dom.createCanvasContext2D(width, height); + } else { + GVol.source.Raster.context_.clearRect(0, 0, width, height); + } + } + renderer.composeFrame(frameState, layerState, GVol.source.Raster.context_); + return GVol.source.Raster.context_.getImageData(0, 0, width, height); +}; + + +/** + * A reusable canvas context. + * @type {CanvasRenderingContext2D} + * @private + */ +GVol.source.Raster.context_ = null; + + +/** + * Get a list of layer states from a list of renderers. + * @param {Array.<GVol.renderer.canvas.Layer>} renderers Layer renderers. + * @return {Array.<GVol.LayerState>} The layer states. + * @private + */ +GVol.source.Raster.getLayerStatesArray_ = function(renderers) { + return renderers.map(function(renderer) { + return renderer.getLayer().getLayerState(); + }); +}; + + +/** + * Create renderers for all sources. + * @param {Array.<GVol.source.Source>} sources The sources. + * @return {Array.<GVol.renderer.canvas.Layer>} Array of layer renderers. + * @private + */ +GVol.source.Raster.createRenderers_ = function(sources) { + var len = sources.length; + var renderers = new Array(len); + for (var i = 0; i < len; ++i) { + renderers[i] = GVol.source.Raster.createRenderer_(sources[i]); + } + return renderers; +}; + + +/** + * Create a renderer for the provided source. + * @param {GVol.source.Source} source The source. + * @return {GVol.renderer.canvas.Layer} The renderer. + * @private + */ +GVol.source.Raster.createRenderer_ = function(source) { + var renderer = null; + if (source instanceof GVol.source.Tile) { + renderer = GVol.source.Raster.createTileRenderer_(source); + } else if (source instanceof GVol.source.Image) { + renderer = GVol.source.Raster.createImageRenderer_(source); + } + return renderer; +}; + + +/** + * Create an image renderer for the provided source. + * @param {GVol.source.Image} source The source. + * @return {GVol.renderer.canvas.Layer} The renderer. + * @private + */ +GVol.source.Raster.createImageRenderer_ = function(source) { + var layer = new GVol.layer.Image({source: source}); + return new GVol.renderer.canvas.ImageLayer(layer); +}; + + +/** + * Create a tile renderer for the provided source. + * @param {GVol.source.Tile} source The source. + * @return {GVol.renderer.canvas.Layer} The renderer. + * @private + */ +GVol.source.Raster.createTileRenderer_ = function(source) { + var layer = new GVol.layer.Tile({source: source}); + return new GVol.renderer.canvas.TileLayer(layer); +}; + + +/** + * @classdesc + * Events emitted by {@link GVol.source.Raster} instances are instances of this + * type. + * + * @constructor + * @extends {GVol.events.Event} + * @implements {GVoli.source.RasterEvent} + * @param {string} type Type. + * @param {GVolx.FrameState} frameState The frame state. + * @param {Object} data An object made available to operations. + */ +GVol.source.Raster.Event = function(type, frameState, data) { + GVol.events.Event.call(this, type); + + /** + * The raster extent. + * @type {GVol.Extent} + * @api + */ + this.extent = frameState.extent; + + /** + * The pixel resGVolution (map units per pixel). + * @type {number} + * @api + */ + this.resGVolution = frameState.viewState.resGVolution / frameState.pixelRatio; + + /** + * An object made available to all operations. This can be used by operations + * as a storage object (e.g. for calculating statistics). + * @type {Object} + * @api + */ + this.data = data; + +}; +GVol.inherits(GVol.source.Raster.Event, GVol.events.Event); + + +/** + * @override + */ +GVol.source.Raster.prototype.getImageInternal = function() { + return null; // not implemented +}; + + +/** + * @enum {string} + * @private + */ +GVol.source.Raster.EventType_ = { + /** + * Triggered before operations are run. + * @event GVol.source.Raster.Event#beforeoperations + * @api + */ + BEFOREOPERATIONS: 'beforeoperations', + + /** + * Triggered after operations are run. + * @event GVol.source.Raster.Event#afteroperations + * @api + */ + AFTEROPERATIONS: 'afteroperations' +}; + +goog.provide('GVol.source.Stamen'); + +goog.require('GVol'); +goog.require('GVol.Attribution'); +goog.require('GVol.source.OSM'); +goog.require('GVol.source.XYZ'); + + +/** + * @classdesc + * Layer source for the Stamen tile server. + * + * @constructor + * @extends {GVol.source.XYZ} + * @param {GVolx.source.StamenOptions} options Stamen options. + * @api + */ +GVol.source.Stamen = function(options) { + var i = options.layer.indexOf('-'); + var provider = i == -1 ? options.layer : options.layer.slice(0, i); + var providerConfig = GVol.source.Stamen.ProviderConfig[provider]; + + var layerConfig = GVol.source.Stamen.LayerConfig[options.layer]; + + var url = options.url !== undefined ? options.url : + 'https://stamen-tiles-{a-d}.a.ssl.fastly.net/' + options.layer + + '/{z}/{x}/{y}.' + layerConfig.extension; + + GVol.source.XYZ.call(this, { + attributions: GVol.source.Stamen.ATTRIBUTIONS, + cacheSize: options.cacheSize, + crossOrigin: 'anonymous', + maxZoom: options.maxZoom != undefined ? options.maxZoom : providerConfig.maxZoom, + minZoom: options.minZoom != undefined ? options.minZoom : providerConfig.minZoom, + opaque: layerConfig.opaque, + reprojectionErrorThreshGVold: options.reprojectionErrorThreshGVold, + tileLoadFunction: options.tileLoadFunction, + url: url, + wrapX: options.wrapX + }); +}; +GVol.inherits(GVol.source.Stamen, GVol.source.XYZ); + + +/** + * @const + * @type {Array.<GVol.Attribution>} + */ +GVol.source.Stamen.ATTRIBUTIONS = [ + new GVol.Attribution({ + html: 'Map tiles by <a href="https://stamen.com/">Stamen Design</a>, ' + + 'under <a href="https://creativecommons.org/licenses/by/3.0/">CC BY' + + ' 3.0</a>.' + }), + GVol.source.OSM.ATTRIBUTION +]; + +/** + * @type {Object.<string, {extension: string, opaque: boGVolean}>} + */ +GVol.source.Stamen.LayerConfig = { + 'terrain': { + extension: 'jpg', + opaque: true + }, + 'terrain-background': { + extension: 'jpg', + opaque: true + }, + 'terrain-labels': { + extension: 'png', + opaque: false + }, + 'terrain-lines': { + extension: 'png', + opaque: false + }, + 'toner-background': { + extension: 'png', + opaque: true + }, + 'toner': { + extension: 'png', + opaque: true + }, + 'toner-hybrid': { + extension: 'png', + opaque: false + }, + 'toner-labels': { + extension: 'png', + opaque: false + }, + 'toner-lines': { + extension: 'png', + opaque: false + }, + 'toner-lite': { + extension: 'png', + opaque: true + }, + 'watercGVolor': { + extension: 'jpg', + opaque: true + } +}; + +/** + * @type {Object.<string, {minZoom: number, maxZoom: number}>} + */ +GVol.source.Stamen.ProviderConfig = { + 'terrain': { + minZoom: 4, + maxZoom: 18 + }, + 'toner': { + minZoom: 0, + maxZoom: 20 + }, + 'watercGVolor': { + minZoom: 1, + maxZoom: 16 + } +}; + +goog.provide('GVol.source.TileArcGISRest'); + +goog.require('GVol'); +goog.require('GVol.extent'); +goog.require('GVol.math'); +goog.require('GVol.obj'); +goog.require('GVol.size'); +goog.require('GVol.source.TileImage'); +goog.require('GVol.tilecoord'); +goog.require('GVol.uri'); + + +/** + * @classdesc + * Layer source for tile data from ArcGIS Rest services. Map and Image + * Services are supported. + * + * For cached ArcGIS services, better performance is available using the + * {@link GVol.source.XYZ} data source. + * + * @constructor + * @extends {GVol.source.TileImage} + * @param {GVolx.source.TileArcGISRestOptions=} opt_options Tile ArcGIS Rest + * options. + * @api + */ +GVol.source.TileArcGISRest = function(opt_options) { + + var options = opt_options || {}; + + GVol.source.TileImage.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + crossOrigin: options.crossOrigin, + logo: options.logo, + projection: options.projection, + reprojectionErrorThreshGVold: options.reprojectionErrorThreshGVold, + tileGrid: options.tileGrid, + tileLoadFunction: options.tileLoadFunction, + url: options.url, + urls: options.urls, + wrapX: options.wrapX !== undefined ? options.wrapX : true + }); + + /** + * @private + * @type {!Object} + */ + this.params_ = options.params || {}; + + /** + * @private + * @type {GVol.Extent} + */ + this.tmpExtent_ = GVol.extent.createEmpty(); + + this.setKey(this.getKeyForParams_()); +}; +GVol.inherits(GVol.source.TileArcGISRest, GVol.source.TileImage); + + +/** + * @private + * @return {string} The key for the current params. + */ +GVol.source.TileArcGISRest.prototype.getKeyForParams_ = function() { + var i = 0; + var res = []; + for (var key in this.params_) { + res[i++] = key + '-' + this.params_[key]; + } + return res.join('/'); +}; + + +/** + * Get the user-provided params, i.e. those passed to the constructor through + * the "params" option, and possibly updated using the updateParams method. + * @return {Object} Params. + * @api + */ +GVol.source.TileArcGISRest.prototype.getParams = function() { + return this.params_; +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.Size} tileSize Tile size. + * @param {GVol.Extent} tileExtent Tile extent. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @param {Object} params Params. + * @return {string|undefined} Request URL. + * @private + */ +GVol.source.TileArcGISRest.prototype.getRequestUrl_ = function(tileCoord, tileSize, tileExtent, + pixelRatio, projection, params) { + + var urls = this.urls; + if (!urls) { + return undefined; + } + + // ArcGIS Server only wants the numeric portion of the projection ID. + var srid = projection.getCode().split(':').pop(); + + params['SIZE'] = tileSize[0] + ',' + tileSize[1]; + params['BBOX'] = tileExtent.join(','); + params['BBOXSR'] = srid; + params['IMAGESR'] = srid; + params['DPI'] = Math.round( + params['DPI'] ? params['DPI'] * pixelRatio : 90 * pixelRatio + ); + + var url; + if (urls.length == 1) { + url = urls[0]; + } else { + var index = GVol.math.modulo(GVol.tilecoord.hash(tileCoord), urls.length); + url = urls[index]; + } + + var modifiedUrl = url + .replace(/MapServer\/?$/, 'MapServer/export') + .replace(/ImageServer\/?$/, 'ImageServer/exportImage'); + return GVol.uri.appendParams(modifiedUrl, params); +}; + + +/** + * @inheritDoc + */ +GVol.source.TileArcGISRest.prototype.getTilePixelRatio = function(pixelRatio) { + return /** @type {number} */ (pixelRatio); +}; + + +/** + * @inheritDoc + */ +GVol.source.TileArcGISRest.prototype.fixedTileUrlFunction = function(tileCoord, pixelRatio, projection) { + + var tileGrid = this.getTileGrid(); + if (!tileGrid) { + tileGrid = this.getTileGridForProjection(projection); + } + + if (tileGrid.getResGVolutions().length <= tileCoord[0]) { + return undefined; + } + + var tileExtent = tileGrid.getTileCoordExtent( + tileCoord, this.tmpExtent_); + var tileSize = GVol.size.toSize( + tileGrid.getTileSize(tileCoord[0]), this.tmpSize); + + if (pixelRatio != 1) { + tileSize = GVol.size.scale(tileSize, pixelRatio, this.tmpSize); + } + + // Apply default params and override with user specified values. + var baseParams = { + 'F': 'image', + 'FORMAT': 'PNG32', + 'TRANSPARENT': true + }; + GVol.obj.assign(baseParams, this.params_); + + return this.getRequestUrl_(tileCoord, tileSize, tileExtent, + pixelRatio, projection, baseParams); +}; + + +/** + * Update the user-provided params. + * @param {Object} params Params. + * @api + */ +GVol.source.TileArcGISRest.prototype.updateParams = function(params) { + GVol.obj.assign(this.params_, params); + this.setKey(this.getKeyForParams_()); +}; + +goog.provide('GVol.source.TileDebug'); + +goog.require('GVol'); +goog.require('GVol.Tile'); +goog.require('GVol.TileState'); +goog.require('GVol.dom'); +goog.require('GVol.size'); +goog.require('GVol.source.Tile'); + + +/** + * @classdesc + * A pseudo tile source, which does not fetch tiles from a server, but renders + * a grid outline for the tile grid/projection along with the coordinates for + * each tile. See examples/canvas-tiles for an example. + * + * Uses Canvas context2d, so requires Canvas support. + * + * @constructor + * @extends {GVol.source.Tile} + * @param {GVolx.source.TileDebugOptions} options Debug tile options. + * @api + */ +GVol.source.TileDebug = function(options) { + + GVol.source.Tile.call(this, { + opaque: false, + projection: options.projection, + tileGrid: options.tileGrid, + wrapX: options.wrapX !== undefined ? options.wrapX : true + }); + +}; +GVol.inherits(GVol.source.TileDebug, GVol.source.Tile); + + +/** + * @inheritDoc + */ +GVol.source.TileDebug.prototype.getTile = function(z, x, y) { + var tileCoordKey = this.getKeyZXY(z, x, y); + if (this.tileCache.containsKey(tileCoordKey)) { + return /** @type {!GVol.source.TileDebug.Tile_} */ (this.tileCache.get(tileCoordKey)); + } else { + var tileSize = GVol.size.toSize(this.tileGrid.getTileSize(z)); + var tileCoord = [z, x, y]; + var textTileCoord = this.getTileCoordForTileUrlFunction(tileCoord); + var text = !textTileCoord ? '' : + this.getTileCoordForTileUrlFunction(textTileCoord).toString(); + var tile = new GVol.source.TileDebug.Tile_(tileCoord, tileSize, text); + this.tileCache.set(tileCoordKey, tile); + return tile; + } +}; + + +/** + * @constructor + * @extends {GVol.Tile} + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.Size} tileSize Tile size. + * @param {string} text Text. + * @private + */ +GVol.source.TileDebug.Tile_ = function(tileCoord, tileSize, text) { + + GVol.Tile.call(this, tileCoord, GVol.TileState.LOADED); + + /** + * @private + * @type {GVol.Size} + */ + this.tileSize_ = tileSize; + + /** + * @private + * @type {string} + */ + this.text_ = text; + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = null; + +}; +GVol.inherits(GVol.source.TileDebug.Tile_, GVol.Tile); + + +/** + * Get the image element for this tile. + * @return {HTMLCanvasElement} Image. + */ +GVol.source.TileDebug.Tile_.prototype.getImage = function() { + if (this.canvas_) { + return this.canvas_; + } else { + var tileSize = this.tileSize_; + var context = GVol.dom.createCanvasContext2D(tileSize[0], tileSize[1]); + + context.strokeStyle = 'black'; + context.strokeRect(0.5, 0.5, tileSize[0] + 0.5, tileSize[1] + 0.5); + + context.fillStyle = 'black'; + context.textAlign = 'center'; + context.textBaseline = 'middle'; + context.font = '24px sans-serif'; + context.fillText(this.text_, tileSize[0] / 2, tileSize[1] / 2); + + this.canvas_ = context.canvas; + return context.canvas; + } +}; + + +/** + * @override + */ +GVol.source.TileDebug.Tile_.prototype.load = function() {}; + +// FIXME check order of async callbacks + +/** + * @see http://mapbox.com/developers/api/ + */ + +goog.provide('GVol.source.TileJSON'); + +goog.require('GVol'); +goog.require('GVol.Attribution'); +goog.require('GVol.TileUrlFunction'); +goog.require('GVol.asserts'); +goog.require('GVol.extent'); +goog.require('GVol.net'); +goog.require('GVol.proj'); +goog.require('GVol.source.State'); +goog.require('GVol.source.TileImage'); +goog.require('GVol.tilegrid'); + + +/** + * @classdesc + * Layer source for tile data in TileJSON format. + * + * @constructor + * @extends {GVol.source.TileImage} + * @param {GVolx.source.TileJSONOptions} options TileJSON options. + * @api + */ +GVol.source.TileJSON = function(options) { + + /** + * @type {TileJSON} + * @private + */ + this.tileJSON_ = null; + + GVol.source.TileImage.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + crossOrigin: options.crossOrigin, + projection: GVol.proj.get('EPSG:3857'), + reprojectionErrorThreshGVold: options.reprojectionErrorThreshGVold, + state: GVol.source.State.LOADING, + tileLoadFunction: options.tileLoadFunction, + wrapX: options.wrapX !== undefined ? options.wrapX : true + }); + + if (options.url) { + if (options.jsonp) { + GVol.net.jsonp(options.url, this.handleTileJSONResponse.bind(this), + this.handleTileJSONError.bind(this)); + } else { + var client = new XMLHttpRequest(); + client.addEventListener('load', this.onXHRLoad_.bind(this)); + client.addEventListener('error', this.onXHRError_.bind(this)); + client.open('GET', options.url); + client.send(); + } + } else if (options.tileJSON) { + this.handleTileJSONResponse(options.tileJSON); + } else { + GVol.asserts.assert(false, 51); // Either `url` or `tileJSON` options must be provided + } + +}; +GVol.inherits(GVol.source.TileJSON, GVol.source.TileImage); + + +/** + * @private + * @param {Event} event The load event. + */ +GVol.source.TileJSON.prototype.onXHRLoad_ = function(event) { + var client = /** @type {XMLHttpRequest} */ (event.target); + // status will be 0 for file:// urls + if (!client.status || client.status >= 200 && client.status < 300) { + var response; + try { + response = /** @type {TileJSON} */(JSON.parse(client.responseText)); + } catch (err) { + this.handleTileJSONError(); + return; + } + this.handleTileJSONResponse(response); + } else { + this.handleTileJSONError(); + } +}; + + +/** + * @private + * @param {Event} event The error event. + */ +GVol.source.TileJSON.prototype.onXHRError_ = function(event) { + this.handleTileJSONError(); +}; + + +/** + * @return {TileJSON} The tilejson object. + * @api + */ +GVol.source.TileJSON.prototype.getTileJSON = function() { + return this.tileJSON_; +}; + + +/** + * @protected + * @param {TileJSON} tileJSON Tile JSON. + */ +GVol.source.TileJSON.prototype.handleTileJSONResponse = function(tileJSON) { + + var epsg4326Projection = GVol.proj.get('EPSG:4326'); + + var sourceProjection = this.getProjection(); + var extent; + if (tileJSON.bounds !== undefined) { + var transform = GVol.proj.getTransformFromProjections( + epsg4326Projection, sourceProjection); + extent = GVol.extent.applyTransform(tileJSON.bounds, transform); + } + + var minZoom = tileJSON.minzoom || 0; + var maxZoom = tileJSON.maxzoom || 22; + var tileGrid = GVol.tilegrid.createXYZ({ + extent: GVol.tilegrid.extentFromProjection(sourceProjection), + maxZoom: maxZoom, + minZoom: minZoom + }); + this.tileGrid = tileGrid; + + this.tileUrlFunction = + GVol.TileUrlFunction.createFromTemplates(tileJSON.tiles, tileGrid); + + if (tileJSON.attribution !== undefined && !this.getAttributions()) { + var attributionExtent = extent !== undefined ? + extent : epsg4326Projection.getExtent(); + /** @type {Object.<string, Array.<GVol.TileRange>>} */ + var tileRanges = {}; + var z, zKey; + for (z = minZoom; z <= maxZoom; ++z) { + zKey = z.toString(); + tileRanges[zKey] = + [tileGrid.getTileRangeForExtentAndZ(attributionExtent, z)]; + } + this.setAttributions([ + new GVol.Attribution({ + html: tileJSON.attribution, + tileRanges: tileRanges + }) + ]); + } + this.tileJSON_ = tileJSON; + this.setState(GVol.source.State.READY); + +}; + + +/** + * @protected + */ +GVol.source.TileJSON.prototype.handleTileJSONError = function() { + this.setState(GVol.source.State.ERROR); +}; + +goog.provide('GVol.source.TileUTFGrid'); + +goog.require('GVol'); +goog.require('GVol.Attribution'); +goog.require('GVol.Tile'); +goog.require('GVol.TileState'); +goog.require('GVol.TileUrlFunction'); +goog.require('GVol.asserts'); +goog.require('GVol.events'); +goog.require('GVol.events.EventType'); +goog.require('GVol.extent'); +goog.require('GVol.net'); +goog.require('GVol.proj'); +goog.require('GVol.source.State'); +goog.require('GVol.source.Tile'); +goog.require('GVol.tilegrid'); + + +/** + * @classdesc + * Layer source for UTFGrid interaction data loaded from TileJSON format. + * + * @constructor + * @extends {GVol.source.Tile} + * @param {GVolx.source.TileUTFGridOptions} options Source options. + * @api + */ +GVol.source.TileUTFGrid = function(options) { + GVol.source.Tile.call(this, { + projection: GVol.proj.get('EPSG:3857'), + state: GVol.source.State.LOADING + }); + + /** + * @private + * @type {boGVolean} + */ + this.preemptive_ = options.preemptive !== undefined ? + options.preemptive : true; + + /** + * @private + * @type {!GVol.TileUrlFunctionType} + */ + this.tileUrlFunction_ = GVol.TileUrlFunction.nullTileUrlFunction; + + /** + * @private + * @type {string|undefined} + */ + this.template_ = undefined; + + /** + * @private + * @type {boGVolean} + */ + this.jsonp_ = options.jsonp || false; + + if (options.url) { + if (this.jsonp_) { + GVol.net.jsonp(options.url, this.handleTileJSONResponse.bind(this), + this.handleTileJSONError.bind(this)); + } else { + var client = new XMLHttpRequest(); + client.addEventListener('load', this.onXHRLoad_.bind(this)); + client.addEventListener('error', this.onXHRError_.bind(this)); + client.open('GET', options.url); + client.send(); + } + } else if (options.tileJSON) { + this.handleTileJSONResponse(options.tileJSON); + } else { + GVol.asserts.assert(false, 51); // Either `url` or `tileJSON` options must be provided + } +}; +GVol.inherits(GVol.source.TileUTFGrid, GVol.source.Tile); + + +/** + * @private + * @param {Event} event The load event. + */ +GVol.source.TileUTFGrid.prototype.onXHRLoad_ = function(event) { + var client = /** @type {XMLHttpRequest} */ (event.target); + // status will be 0 for file:// urls + if (!client.status || client.status >= 200 && client.status < 300) { + var response; + try { + response = /** @type {TileJSON} */(JSON.parse(client.responseText)); + } catch (err) { + this.handleTileJSONError(); + return; + } + this.handleTileJSONResponse(response); + } else { + this.handleTileJSONError(); + } +}; + + +/** + * @private + * @param {Event} event The error event. + */ +GVol.source.TileUTFGrid.prototype.onXHRError_ = function(event) { + this.handleTileJSONError(); +}; + + +/** + * Return the template from TileJSON. + * @return {string|undefined} The template from TileJSON. + * @api + */ +GVol.source.TileUTFGrid.prototype.getTemplate = function() { + return this.template_; +}; + + +/** + * Calls the callback (synchronously by default) with the available data + * for given coordinate and resGVolution (or `null` if not yet loaded or + * in case of an error). + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} resGVolution ResGVolution. + * @param {function(this: T, *)} callback Callback. + * @param {T=} opt_this The object to use as `this` in the callback. + * @param {boGVolean=} opt_request If `true` the callback is always async. + * The tile data is requested if not yet loaded. + * @template T + * @api + */ +GVol.source.TileUTFGrid.prototype.forDataAtCoordinateAndResGVolution = function( + coordinate, resGVolution, callback, opt_this, opt_request) { + if (this.tileGrid) { + var tileCoord = this.tileGrid.getTileCoordForCoordAndResGVolution( + coordinate, resGVolution); + var tile = /** @type {!GVol.source.TileUTFGrid.Tile_} */(this.getTile( + tileCoord[0], tileCoord[1], tileCoord[2], 1, this.getProjection())); + tile.forDataAtCoordinate(coordinate, callback, opt_this, opt_request); + } else { + if (opt_request === true) { + setTimeout(function() { + callback.call(opt_this, null); + }, 0); + } else { + callback.call(opt_this, null); + } + } +}; + + +/** + * @protected + */ +GVol.source.TileUTFGrid.prototype.handleTileJSONError = function() { + this.setState(GVol.source.State.ERROR); +}; + + +/** + * TODO: very similar to GVol.source.TileJSON#handleTileJSONResponse + * @protected + * @param {TileJSON} tileJSON Tile JSON. + */ +GVol.source.TileUTFGrid.prototype.handleTileJSONResponse = function(tileJSON) { + + var epsg4326Projection = GVol.proj.get('EPSG:4326'); + + var sourceProjection = this.getProjection(); + var extent; + if (tileJSON.bounds !== undefined) { + var transform = GVol.proj.getTransformFromProjections( + epsg4326Projection, sourceProjection); + extent = GVol.extent.applyTransform(tileJSON.bounds, transform); + } + + var minZoom = tileJSON.minzoom || 0; + var maxZoom = tileJSON.maxzoom || 22; + var tileGrid = GVol.tilegrid.createXYZ({ + extent: GVol.tilegrid.extentFromProjection(sourceProjection), + maxZoom: maxZoom, + minZoom: minZoom + }); + this.tileGrid = tileGrid; + + this.template_ = tileJSON.template; + + var grids = tileJSON.grids; + if (!grids) { + this.setState(GVol.source.State.ERROR); + return; + } + + this.tileUrlFunction_ = + GVol.TileUrlFunction.createFromTemplates(grids, tileGrid); + + if (tileJSON.attribution !== undefined) { + var attributionExtent = extent !== undefined ? + extent : epsg4326Projection.getExtent(); + /** @type {Object.<string, Array.<GVol.TileRange>>} */ + var tileRanges = {}; + var z, zKey; + for (z = minZoom; z <= maxZoom; ++z) { + zKey = z.toString(); + tileRanges[zKey] = + [tileGrid.getTileRangeForExtentAndZ(attributionExtent, z)]; + } + this.setAttributions([ + new GVol.Attribution({ + html: tileJSON.attribution, + tileRanges: tileRanges + }) + ]); + } + + this.setState(GVol.source.State.READY); + +}; + + +/** + * @inheritDoc + */ +GVol.source.TileUTFGrid.prototype.getTile = function(z, x, y, pixelRatio, projection) { + var tileCoordKey = this.getKeyZXY(z, x, y); + if (this.tileCache.containsKey(tileCoordKey)) { + return /** @type {!GVol.Tile} */ (this.tileCache.get(tileCoordKey)); + } else { + var tileCoord = [z, x, y]; + var urlTileCoord = + this.getTileCoordForTileUrlFunction(tileCoord, projection); + var tileUrl = this.tileUrlFunction_(urlTileCoord, pixelRatio, projection); + var tile = new GVol.source.TileUTFGrid.Tile_( + tileCoord, + tileUrl !== undefined ? GVol.TileState.IDLE : GVol.TileState.EMPTY, + tileUrl !== undefined ? tileUrl : '', + this.tileGrid.getTileCoordExtent(tileCoord), + this.preemptive_, + this.jsonp_); + this.tileCache.set(tileCoordKey, tile); + return tile; + } +}; + + +/** + * @inheritDoc + */ +GVol.source.TileUTFGrid.prototype.useTile = function(z, x, y) { + var tileCoordKey = this.getKeyZXY(z, x, y); + if (this.tileCache.containsKey(tileCoordKey)) { + this.tileCache.get(tileCoordKey); + } +}; + + +/** + * @constructor + * @extends {GVol.Tile} + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.TileState} state State. + * @param {string} src Image source URI. + * @param {GVol.Extent} extent Extent of the tile. + * @param {boGVolean} preemptive Load the tile when visible (before it's needed). + * @param {boGVolean} jsonp Load the tile as a script. + * @private + */ +GVol.source.TileUTFGrid.Tile_ = function(tileCoord, state, src, extent, preemptive, jsonp) { + + GVol.Tile.call(this, tileCoord, state); + + /** + * @private + * @type {string} + */ + this.src_ = src; + + /** + * @private + * @type {GVol.Extent} + */ + this.extent_ = extent; + + /** + * @private + * @type {boGVolean} + */ + this.preemptive_ = preemptive; + + /** + * @private + * @type {Array.<string>} + */ + this.grid_ = null; + + /** + * @private + * @type {Array.<string>} + */ + this.keys_ = null; + + /** + * @private + * @type {Object.<string, Object>|undefined} + */ + this.data_ = null; + + + /** + * @private + * @type {boGVolean} + */ + this.jsonp_ = jsonp; + +}; +GVol.inherits(GVol.source.TileUTFGrid.Tile_, GVol.Tile); + + +/** + * Get the image element for this tile. + * @return {Image} Image. + */ +GVol.source.TileUTFGrid.Tile_.prototype.getImage = function() { + return null; +}; + + +/** + * Synchronously returns data at given coordinate (if available). + * @param {GVol.Coordinate} coordinate Coordinate. + * @return {*} The data. + */ +GVol.source.TileUTFGrid.Tile_.prototype.getData = function(coordinate) { + if (!this.grid_ || !this.keys_) { + return null; + } + var xRelative = (coordinate[0] - this.extent_[0]) / + (this.extent_[2] - this.extent_[0]); + var yRelative = (coordinate[1] - this.extent_[1]) / + (this.extent_[3] - this.extent_[1]); + + var row = this.grid_[Math.floor((1 - yRelative) * this.grid_.length)]; + + if (typeof row !== 'string') { + return null; + } + + var code = row.charCodeAt(Math.floor(xRelative * row.length)); + if (code >= 93) { + code--; + } + if (code >= 35) { + code--; + } + code -= 32; + + var data = null; + if (code in this.keys_) { + var id = this.keys_[code]; + if (this.data_ && id in this.data_) { + data = this.data_[id]; + } else { + data = id; + } + } + return data; +}; + + +/** + * Calls the callback (synchronously by default) with the available data + * for given coordinate (or `null` if not yet loaded). + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {function(this: T, *)} callback Callback. + * @param {T=} opt_this The object to use as `this` in the callback. + * @param {boGVolean=} opt_request If `true` the callback is always async. + * The tile data is requested if not yet loaded. + * @template T + */ +GVol.source.TileUTFGrid.Tile_.prototype.forDataAtCoordinate = function(coordinate, callback, opt_this, opt_request) { + if (this.state == GVol.TileState.IDLE && opt_request === true) { + GVol.events.listenOnce(this, GVol.events.EventType.CHANGE, function(e) { + callback.call(opt_this, this.getData(coordinate)); + }, this); + this.loadInternal_(); + } else { + if (opt_request === true) { + setTimeout(function() { + callback.call(opt_this, this.getData(coordinate)); + }.bind(this), 0); + } else { + callback.call(opt_this, this.getData(coordinate)); + } + } +}; + + +/** + * @inheritDoc + */ +GVol.source.TileUTFGrid.Tile_.prototype.getKey = function() { + return this.src_; +}; + + +/** + * @private + */ +GVol.source.TileUTFGrid.Tile_.prototype.handleError_ = function() { + this.state = GVol.TileState.ERROR; + this.changed(); +}; + + +/** + * @param {!UTFGridJSON} json UTFGrid data. + * @private + */ +GVol.source.TileUTFGrid.Tile_.prototype.handleLoad_ = function(json) { + this.grid_ = json.grid; + this.keys_ = json.keys; + this.data_ = json.data; + + this.state = GVol.TileState.EMPTY; + this.changed(); +}; + + +/** + * @private + */ +GVol.source.TileUTFGrid.Tile_.prototype.loadInternal_ = function() { + if (this.state == GVol.TileState.IDLE) { + this.state = GVol.TileState.LOADING; + if (this.jsonp_) { + GVol.net.jsonp(this.src_, this.handleLoad_.bind(this), + this.handleError_.bind(this)); + } else { + var client = new XMLHttpRequest(); + client.addEventListener('load', this.onXHRLoad_.bind(this)); + client.addEventListener('error', this.onXHRError_.bind(this)); + client.open('GET', this.src_); + client.send(); + } + } +}; + + +/** + * @private + * @param {Event} event The load event. + */ +GVol.source.TileUTFGrid.Tile_.prototype.onXHRLoad_ = function(event) { + var client = /** @type {XMLHttpRequest} */ (event.target); + // status will be 0 for file:// urls + if (!client.status || client.status >= 200 && client.status < 300) { + var response; + try { + response = /** @type {!UTFGridJSON} */(JSON.parse(client.responseText)); + } catch (err) { + this.handleError_(); + return; + } + this.handleLoad_(response); + } else { + this.handleError_(); + } +}; + + +/** + * @private + * @param {Event} event The error event. + */ +GVol.source.TileUTFGrid.Tile_.prototype.onXHRError_ = function(event) { + this.handleError_(); +}; + + +/** + * @override + */ +GVol.source.TileUTFGrid.Tile_.prototype.load = function() { + if (this.preemptive_) { + this.loadInternal_(); + } +}; + +// FIXME add minZoom support +// FIXME add date line wrap (tile coord transform) +// FIXME cannot be shared between maps with different projections + +goog.provide('GVol.source.TileWMS'); + +goog.require('GVol'); +goog.require('GVol.asserts'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); +goog.require('GVol.math'); +goog.require('GVol.proj'); +goog.require('GVol.size'); +goog.require('GVol.source.TileImage'); +goog.require('GVol.source.WMSServerType'); +goog.require('GVol.tilecoord'); +goog.require('GVol.string'); +goog.require('GVol.uri'); + +/** + * @classdesc + * Layer source for tile data from WMS servers. + * + * @constructor + * @extends {GVol.source.TileImage} + * @param {GVolx.source.TileWMSOptions=} opt_options Tile WMS options. + * @api + */ +GVol.source.TileWMS = function(opt_options) { + + var options = opt_options || {}; + + var params = options.params || {}; + + var transparent = 'TRANSPARENT' in params ? params['TRANSPARENT'] : true; + + GVol.source.TileImage.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + crossOrigin: options.crossOrigin, + logo: options.logo, + opaque: !transparent, + projection: options.projection, + reprojectionErrorThreshGVold: options.reprojectionErrorThreshGVold, + tileClass: options.tileClass, + tileGrid: options.tileGrid, + tileLoadFunction: options.tileLoadFunction, + url: options.url, + urls: options.urls, + wrapX: options.wrapX !== undefined ? options.wrapX : true + }); + + /** + * @private + * @type {number} + */ + this.gutter_ = options.gutter !== undefined ? options.gutter : 0; + + /** + * @private + * @type {!Object} + */ + this.params_ = params; + + /** + * @private + * @type {boGVolean} + */ + this.v13_ = true; + + /** + * @private + * @type {GVol.source.WMSServerType|undefined} + */ + this.serverType_ = /** @type {GVol.source.WMSServerType|undefined} */ (options.serverType); + + /** + * @private + * @type {boGVolean} + */ + this.hidpi_ = options.hidpi !== undefined ? options.hidpi : true; + + /** + * @private + * @type {string} + */ + this.coordKeyPrefix_ = ''; + this.resetCoordKeyPrefix_(); + + /** + * @private + * @type {GVol.Extent} + */ + this.tmpExtent_ = GVol.extent.createEmpty(); + + this.updateV13_(); + this.setKey(this.getKeyForParams_()); + +}; +GVol.inherits(GVol.source.TileWMS, GVol.source.TileImage); + + +/** + * Return the GetFeatureInfo URL for the passed coordinate, resGVolution, and + * projection. Return `undefined` if the GetFeatureInfo URL cannot be + * constructed. + * @param {GVol.Coordinate} coordinate Coordinate. + * @param {number} resGVolution ResGVolution. + * @param {GVol.ProjectionLike} projection Projection. + * @param {!Object} params GetFeatureInfo params. `INFO_FORMAT` at least should + * be provided. If `QUERY_LAYERS` is not provided then the layers specified + * in the `LAYERS` parameter will be used. `VERSION` should not be + * specified here. + * @return {string|undefined} GetFeatureInfo URL. + * @api + */ +GVol.source.TileWMS.prototype.getGetFeatureInfoUrl = function(coordinate, resGVolution, projection, params) { + var projectionObj = GVol.proj.get(projection); + + var tileGrid = this.getTileGrid(); + if (!tileGrid) { + tileGrid = this.getTileGridForProjection(projectionObj); + } + + var tileCoord = tileGrid.getTileCoordForCoordAndResGVolution( + coordinate, resGVolution); + + if (tileGrid.getResGVolutions().length <= tileCoord[0]) { + return undefined; + } + + var tileResGVolution = tileGrid.getResGVolution(tileCoord[0]); + var tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent_); + var tileSize = GVol.size.toSize( + tileGrid.getTileSize(tileCoord[0]), this.tmpSize); + + var gutter = this.gutter_; + if (gutter !== 0) { + tileSize = GVol.size.buffer(tileSize, gutter, this.tmpSize); + tileExtent = GVol.extent.buffer(tileExtent, + tileResGVolution * gutter, tileExtent); + } + + var baseParams = { + 'SERVICE': 'WMS', + 'VERSION': GVol.DEFAULT_WMS_VERSION, + 'REQUEST': 'GetFeatureInfo', + 'FORMAT': 'image/png', + 'TRANSPARENT': true, + 'QUERY_LAYERS': this.params_['LAYERS'] + }; + GVol.obj.assign(baseParams, this.params_, params); + + var x = Math.floor((coordinate[0] - tileExtent[0]) / tileResGVolution); + var y = Math.floor((tileExtent[3] - coordinate[1]) / tileResGVolution); + + baseParams[this.v13_ ? 'I' : 'X'] = x; + baseParams[this.v13_ ? 'J' : 'Y'] = y; + + return this.getRequestUrl_(tileCoord, tileSize, tileExtent, + 1, projectionObj, baseParams); +}; + + +/** + * @inheritDoc + */ +GVol.source.TileWMS.prototype.getGutterInternal = function() { + return this.gutter_; +}; + + +/** + * @inheritDoc + */ +GVol.source.TileWMS.prototype.getKeyZXY = function(z, x, y) { + return this.coordKeyPrefix_ + GVol.source.TileImage.prototype.getKeyZXY.call(this, z, x, y); +}; + + +/** + * Get the user-provided params, i.e. those passed to the constructor through + * the "params" option, and possibly updated using the updateParams method. + * @return {Object} Params. + * @api + */ +GVol.source.TileWMS.prototype.getParams = function() { + return this.params_; +}; + + +/** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.Size} tileSize Tile size. + * @param {GVol.Extent} tileExtent Tile extent. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @param {Object} params Params. + * @return {string|undefined} Request URL. + * @private + */ +GVol.source.TileWMS.prototype.getRequestUrl_ = function(tileCoord, tileSize, tileExtent, + pixelRatio, projection, params) { + + var urls = this.urls; + if (!urls) { + return undefined; + } + + params['WIDTH'] = tileSize[0]; + params['HEIGHT'] = tileSize[1]; + + params[this.v13_ ? 'CRS' : 'SRS'] = projection.getCode(); + + if (!('STYLES' in this.params_)) { + params['STYLES'] = ''; + } + + if (pixelRatio != 1) { + switch (this.serverType_) { + case GVol.source.WMSServerType.GEOSERVER: + var dpi = (90 * pixelRatio + 0.5) | 0; + if ('FORMAT_OPTIONS' in params) { + params['FORMAT_OPTIONS'] += ';dpi:' + dpi; + } else { + params['FORMAT_OPTIONS'] = 'dpi:' + dpi; + } + break; + case GVol.source.WMSServerType.MAPSERVER: + params['MAP_RESOLUTION'] = 90 * pixelRatio; + break; + case GVol.source.WMSServerType.CARMENTA_SERVER: + case GVol.source.WMSServerType.QGIS: + params['DPI'] = 90 * pixelRatio; + break; + default: + GVol.asserts.assert(false, 52); // Unknown `serverType` configured + break; + } + } + + var axisOrientation = projection.getAxisOrientation(); + var bbox = tileExtent; + if (this.v13_ && axisOrientation.substr(0, 2) == 'ne') { + var tmp; + tmp = tileExtent[0]; + bbox[0] = tileExtent[1]; + bbox[1] = tmp; + tmp = tileExtent[2]; + bbox[2] = tileExtent[3]; + bbox[3] = tmp; + } + params['BBOX'] = bbox.join(','); + + var url; + if (urls.length == 1) { + url = urls[0]; + } else { + var index = GVol.math.modulo(GVol.tilecoord.hash(tileCoord), urls.length); + url = urls[index]; + } + return GVol.uri.appendParams(url, params); +}; + + +/** + * @inheritDoc + */ +GVol.source.TileWMS.prototype.getTilePixelRatio = function(pixelRatio) { + return (!this.hidpi_ || this.serverType_ === undefined) ? 1 : + /** @type {number} */ (pixelRatio); +}; + + +/** + * @private + */ +GVol.source.TileWMS.prototype.resetCoordKeyPrefix_ = function() { + var i = 0; + var res = []; + + if (this.urls) { + var j, jj; + for (j = 0, jj = this.urls.length; j < jj; ++j) { + res[i++] = this.urls[j]; + } + } + + this.coordKeyPrefix_ = res.join('#'); +}; + + +/** + * @private + * @return {string} The key for the current params. + */ +GVol.source.TileWMS.prototype.getKeyForParams_ = function() { + var i = 0; + var res = []; + for (var key in this.params_) { + res[i++] = key + '-' + this.params_[key]; + } + return res.join('/'); +}; + + +/** + * @inheritDoc + */ +GVol.source.TileWMS.prototype.fixedTileUrlFunction = function(tileCoord, pixelRatio, projection) { + + var tileGrid = this.getTileGrid(); + if (!tileGrid) { + tileGrid = this.getTileGridForProjection(projection); + } + + if (tileGrid.getResGVolutions().length <= tileCoord[0]) { + return undefined; + } + + if (pixelRatio != 1 && (!this.hidpi_ || this.serverType_ === undefined)) { + pixelRatio = 1; + } + + var tileResGVolution = tileGrid.getResGVolution(tileCoord[0]); + var tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent_); + var tileSize = GVol.size.toSize( + tileGrid.getTileSize(tileCoord[0]), this.tmpSize); + + var gutter = this.gutter_; + if (gutter !== 0) { + tileSize = GVol.size.buffer(tileSize, gutter, this.tmpSize); + tileExtent = GVol.extent.buffer(tileExtent, + tileResGVolution * gutter, tileExtent); + } + + if (pixelRatio != 1) { + tileSize = GVol.size.scale(tileSize, pixelRatio, this.tmpSize); + } + + var baseParams = { + 'SERVICE': 'WMS', + 'VERSION': GVol.DEFAULT_WMS_VERSION, + 'REQUEST': 'GetMap', + 'FORMAT': 'image/png', + 'TRANSPARENT': true + }; + GVol.obj.assign(baseParams, this.params_); + + return this.getRequestUrl_(tileCoord, tileSize, tileExtent, + pixelRatio, projection, baseParams); +}; + +/** + * @inheritDoc + */ +GVol.source.TileWMS.prototype.setUrls = function(urls) { + GVol.source.TileImage.prototype.setUrls.call(this, urls); + this.resetCoordKeyPrefix_(); +}; + + +/** + * Update the user-provided params. + * @param {Object} params Params. + * @api + */ +GVol.source.TileWMS.prototype.updateParams = function(params) { + GVol.obj.assign(this.params_, params); + this.resetCoordKeyPrefix_(); + this.updateV13_(); + this.setKey(this.getKeyForParams_()); +}; + + +/** + * @private + */ +GVol.source.TileWMS.prototype.updateV13_ = function() { + var version = this.params_['VERSION'] || GVol.DEFAULT_WMS_VERSION; + this.v13_ = GVol.string.compareVersions(version, '1.3') >= 0; +}; + +goog.provide('GVol.VectorImageTile'); + +goog.require('GVol'); +goog.require('GVol.Tile'); +goog.require('GVol.TileState'); +goog.require('GVol.array'); +goog.require('GVol.dom'); +goog.require('GVol.events'); +goog.require('GVol.extent'); +goog.require('GVol.events.EventType'); +goog.require('GVol.featureloader'); + + +/** + * @constructor + * @extends {GVol.Tile} + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.TileState} state State. + * @param {string} src Data source url. + * @param {GVol.format.Feature} format Feature format. + * @param {GVol.TileLoadFunctionType} tileLoadFunction Tile load function. + * @param {GVol.TileCoord} urlTileCoord Wrapped tile coordinate for source urls. + * @param {GVol.TileUrlFunctionType} tileUrlFunction Tile url function. + * @param {GVol.tilegrid.TileGrid} sourceTileGrid Tile grid of the source. + * @param {GVol.tilegrid.TileGrid} tileGrid Tile grid of the renderer. + * @param {Object.<string,GVol.VectorTile>} sourceTiles Source tiles. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @param {function(new: GVol.VectorTile, GVol.TileCoord, GVol.TileState, string, + * GVol.format.Feature, GVol.TileLoadFunctionType)} tileClass Class to + * instantiate for source tiles. + * @param {function(this: GVol.source.VectorTile, GVol.events.Event)} handleTileChange + * Function to call when a source tile's state changes. + */ +GVol.VectorImageTile = function(tileCoord, state, src, format, tileLoadFunction, + urlTileCoord, tileUrlFunction, sourceTileGrid, tileGrid, sourceTiles, + pixelRatio, projection, tileClass, handleTileChange) { + + GVol.Tile.call(this, tileCoord, state); + + /** + * @private + * @type {Object.<string, CanvasRenderingContext2D>} + */ + this.context_ = {}; + + /** + * @private + * @type {GVol.FeatureLoader} + */ + this.loader_; + + /** + * @private + * @type {Object.<string, GVol.TileReplayState>} + */ + this.replayState_ = {}; + + /** + * @private + * @type {Object.<string,GVol.VectorTile>} + */ + this.sourceTiles_ = sourceTiles; + + /** + * Keys of source tiles used by this tile. Use with {@link #getTile}. + * @type {Array.<string>} + */ + this.tileKeys = []; + + /** + * @type {string} + */ + this.src_ = src; + + /** + * @type {GVol.TileCoord} + */ + this.wrappedTileCoord = urlTileCoord; + + /** + * @type {Array.<GVol.EventsKey>} + */ + this.loadListenerKeys_ = []; + + /** + * @type {Array.<GVol.EventsKey>} + */ + this.sourceTileListenerKeys_ = []; + + if (urlTileCoord) { + var extent = tileGrid.getTileCoordExtent(urlTileCoord); + var resGVolution = tileGrid.getResGVolution(tileCoord[0]); + var sourceZ = sourceTileGrid.getZForResGVolution(resGVolution); + sourceTileGrid.forEachTileCoord(extent, sourceZ, function(sourceTileCoord) { + var sharedExtent = GVol.extent.getIntersection(extent, + sourceTileGrid.getTileCoordExtent(sourceTileCoord)); + if (GVol.extent.getWidth(sharedExtent) / resGVolution >= 0.5 && + GVol.extent.getHeight(sharedExtent) / resGVolution >= 0.5) { + // only include source tile if overlap is at least 1 pixel + var sourceTileKey = sourceTileCoord.toString(); + var sourceTile = sourceTiles[sourceTileKey]; + if (!sourceTile) { + var tileUrl = tileUrlFunction(sourceTileCoord, pixelRatio, projection); + sourceTile = sourceTiles[sourceTileKey] = new tileClass(sourceTileCoord, + tileUrl == undefined ? GVol.TileState.EMPTY : GVol.TileState.IDLE, + tileUrl == undefined ? '' : tileUrl, + format, tileLoadFunction); + this.sourceTileListenerKeys_.push( + GVol.events.listen(sourceTile, GVol.events.EventType.CHANGE, handleTileChange)); + } + sourceTile.consumers++; + this.tileKeys.push(sourceTileKey); + } + }.bind(this)); + } + +}; +GVol.inherits(GVol.VectorImageTile, GVol.Tile); + + +/** + * @inheritDoc + */ +GVol.VectorImageTile.prototype.disposeInternal = function() { + for (var i = 0, ii = this.tileKeys.length; i < ii; ++i) { + var sourceTileKey = this.tileKeys[i]; + var sourceTile = this.getTile(sourceTileKey); + sourceTile.consumers--; + if (sourceTile.consumers == 0) { + delete this.sourceTiles_[sourceTileKey]; + sourceTile.dispose(); + } + } + this.tileKeys.length = 0; + this.sourceTiles_ = null; + if (this.state == GVol.TileState.LOADING) { + this.loadListenerKeys_.forEach(GVol.events.unlistenByKey); + this.loadListenerKeys_.length = 0; + } + if (this.interimTile) { + this.interimTile.dispose(); + } + this.state = GVol.TileState.ABORT; + this.changed(); + this.sourceTileListenerKeys_.forEach(GVol.events.unlistenByKey); + this.sourceTileListenerKeys_.length = 0; + GVol.Tile.prototype.disposeInternal.call(this); +}; + + +/** + * @param {GVol.layer.Layer} layer Layer. + * @return {CanvasRenderingContext2D} The rendering context. + */ +GVol.VectorImageTile.prototype.getContext = function(layer) { + var key = GVol.getUid(layer).toString(); + if (!(key in this.context_)) { + this.context_[key] = GVol.dom.createCanvasContext2D(); + } + return this.context_[key]; +}; + + +/** + * Get the Canvas for this tile. + * @param {GVol.layer.Layer} layer Layer. + * @return {HTMLCanvasElement} Canvas. + */ +GVol.VectorImageTile.prototype.getImage = function(layer) { + return this.getReplayState(layer).renderedTileRevision == -1 ? + null : this.getContext(layer).canvas; +}; + + +/** + * @param {GVol.layer.Layer} layer Layer. + * @return {GVol.TileReplayState} The replay state. + */ +GVol.VectorImageTile.prototype.getReplayState = function(layer) { + var key = GVol.getUid(layer).toString(); + if (!(key in this.replayState_)) { + this.replayState_[key] = { + dirty: false, + renderedRenderOrder: null, + renderedRevision: -1, + renderedTileRevision: -1 + }; + } + return this.replayState_[key]; +}; + + +/** + * @inheritDoc + */ +GVol.VectorImageTile.prototype.getKey = function() { + return this.tileKeys.join('/') + '/' + this.src_; +}; + + +/** + * @param {string} tileKey Key (tileCoord) of the source tile. + * @return {GVol.VectorTile} Source tile. + */ +GVol.VectorImageTile.prototype.getTile = function(tileKey) { + return this.sourceTiles_[tileKey]; +}; + + +/** + * @inheritDoc + */ +GVol.VectorImageTile.prototype.load = function() { + var leftToLoad = 0; + if (this.state == GVol.TileState.IDLE) { + this.setState(GVol.TileState.LOADING); + } + if (this.state == GVol.TileState.LOADING) { + this.tileKeys.forEach(function(sourceTileKey) { + var sourceTile = this.getTile(sourceTileKey); + if (sourceTile.state == GVol.TileState.IDLE) { + sourceTile.setLoader(this.loader_); + sourceTile.load(); + } + if (sourceTile.state == GVol.TileState.LOADING) { + var key = GVol.events.listen(sourceTile, GVol.events.EventType.CHANGE, function(e) { + var state = sourceTile.getState(); + if (state == GVol.TileState.LOADED || + state == GVol.TileState.ERROR) { + --leftToLoad; + GVol.events.unlistenByKey(key); + GVol.array.remove(this.loadListenerKeys_, key); + if (leftToLoad == 0) { + this.finishLoading_(); + } + } + }.bind(this)); + this.loadListenerKeys_.push(key); + ++leftToLoad; + } + }.bind(this)); + } + if (leftToLoad == 0) { + setTimeout(this.finishLoading_.bind(this), 0); + } +}; + + +/** + * @private + */ +GVol.VectorImageTile.prototype.finishLoading_ = function() { + var errors = false; + var loaded = this.tileKeys.length; + var state; + for (var i = loaded - 1; i >= 0; --i) { + state = this.getTile(this.tileKeys[i]).getState(); + if (state != GVol.TileState.LOADED) { + if (state == GVol.TileState.ERROR) { + errors = true; + } + --loaded; + } + } + this.setState(loaded > 0 ? + GVol.TileState.LOADED : + (errors ? GVol.TileState.ERROR : GVol.TileState.EMPTY)); +}; + + +/** + * Sets the loader for a tile. + * @param {GVol.VectorTile} tile Vector tile. + * @param {string} url URL. + */ +GVol.VectorImageTile.defaultLoadFunction = function(tile, url) { + var loader = GVol.featureloader.loadFeaturesXhr( + url, tile.getFormat(), tile.onLoad.bind(tile), tile.onError.bind(tile)); + + tile.setLoader(loader); +}; + +goog.provide('GVol.VectorTile'); + +goog.require('GVol'); +goog.require('GVol.Tile'); +goog.require('GVol.TileState'); + + +/** + * @constructor + * @extends {GVol.Tile} + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.TileState} state State. + * @param {string} src Data source url. + * @param {GVol.format.Feature} format Feature format. + * @param {GVol.TileLoadFunctionType} tileLoadFunction Tile load function. + */ +GVol.VectorTile = function(tileCoord, state, src, format, tileLoadFunction) { + + GVol.Tile.call(this, tileCoord, state); + + /** + * @type {number} + */ + this.consumers = 0; + + /** + * @private + * @type {GVol.Extent} + */ + this.extent_ = null; + + /** + * @private + * @type {GVol.format.Feature} + */ + this.format_ = format; + + /** + * @private + * @type {Array.<GVol.Feature>} + */ + this.features_ = null; + + /** + * @private + * @type {GVol.FeatureLoader} + */ + this.loader_; + + /** + * Data projection + * @private + * @type {GVol.proj.Projection} + */ + this.projection_; + + /** + * @private + * @type {Object.<string, GVol.render.ReplayGroup>} + */ + this.replayGroups_ = {}; + + /** + * @private + * @type {GVol.TileLoadFunctionType} + */ + this.tileLoadFunction_ = tileLoadFunction; + + /** + * @private + * @type {string} + */ + this.url_ = src; + +}; +GVol.inherits(GVol.VectorTile, GVol.Tile); + + +/** + * @inheritDoc + */ +GVol.VectorTile.prototype.disposeInternal = function() { + this.features_ = null; + this.replayGroups_ = {}; + this.state = GVol.TileState.ABORT; + this.changed(); + GVol.Tile.prototype.disposeInternal.call(this); +}; + + +/** + * Gets the extent of the vector tile. + * @return {GVol.Extent} The extent. + */ +GVol.VectorTile.prototype.getExtent = function() { + return this.extent_ || GVol.VectorTile.DEFAULT_EXTENT; +}; + + +/** + * Get the feature format assigned for reading this tile's features. + * @return {GVol.format.Feature} Feature format. + * @api + */ +GVol.VectorTile.prototype.getFormat = function() { + return this.format_; +}; + + +/** + * Get the features for this tile. Geometries will be in the projection returned + * by {@link GVol.VectorTile#getProjection}. + * @return {Array.<GVol.Feature|GVol.render.Feature>} Features. + * @api + */ +GVol.VectorTile.prototype.getFeatures = function() { + return this.features_; +}; + + +/** + * @inheritDoc + */ +GVol.VectorTile.prototype.getKey = function() { + return this.url_; +}; + + +/** + * Get the feature projection of features returned by + * {@link GVol.VectorTile#getFeatures}. + * @return {GVol.proj.Projection} Feature projection. + * @api + */ +GVol.VectorTile.prototype.getProjection = function() { + return this.projection_; +}; + + +/** + * @param {GVol.layer.Layer} layer Layer. + * @param {string} key Key. + * @return {GVol.render.ReplayGroup} Replay group. + */ +GVol.VectorTile.prototype.getReplayGroup = function(layer, key) { + return this.replayGroups_[GVol.getUid(layer) + ',' + key]; +}; + + +/** + * @inheritDoc + */ +GVol.VectorTile.prototype.load = function() { + if (this.state == GVol.TileState.IDLE) { + this.setState(GVol.TileState.LOADING); + this.tileLoadFunction_(this, this.url_); + this.loader_(null, NaN, null); + } +}; + + +/** + * Handler for successful tile load. + * @param {Array.<GVol.Feature>} features The loaded features. + * @param {GVol.proj.Projection} dataProjection Data projection. + * @param {GVol.Extent} extent Extent. + */ +GVol.VectorTile.prototype.onLoad = function(features, dataProjection, extent) { + this.setProjection(dataProjection); + this.setFeatures(features); + this.setExtent(extent); +}; + + +/** + * Handler for tile load errors. + */ +GVol.VectorTile.prototype.onError = function() { + this.setState(GVol.TileState.ERROR); +}; + + +/** + * Function for use in an {@link GVol.source.VectorTile}'s `tileLoadFunction`. + * Sets the extent of the vector tile. This is only required for tiles in + * projections with `tile-pixels` as units. The extent should be set to + * `[0, 0, tilePixelSize, tilePixelSize]`, where `tilePixelSize` is calculated + * by multiplying the tile size with the tile pixel ratio. For sources using + * {@link GVol.format.MVT} as feature format, the + * {@link GVol.format.MVT#getLastExtent} method will return the correct extent. + * The default is `[0, 0, 4096, 4096]`. + * @param {GVol.Extent} extent The extent. + * @api + */ +GVol.VectorTile.prototype.setExtent = function(extent) { + this.extent_ = extent; +}; + + +/** + * Function for use in an {@link GVol.source.VectorTile}'s `tileLoadFunction`. + * Sets the features for the tile. + * @param {Array.<GVol.Feature>} features Features. + * @api + */ +GVol.VectorTile.prototype.setFeatures = function(features) { + this.features_ = features; + this.setState(GVol.TileState.LOADED); +}; + + +/** + * Function for use in an {@link GVol.source.VectorTile}'s `tileLoadFunction`. + * Sets the projection of the features that were added with + * {@link GVol.VectorTile#setFeatures}. + * @param {GVol.proj.Projection} projection Feature projection. + * @api + */ +GVol.VectorTile.prototype.setProjection = function(projection) { + this.projection_ = projection; +}; + + +/** + * @param {GVol.layer.Layer} layer Layer. + * @param {string} key Key. + * @param {GVol.render.ReplayGroup} replayGroup Replay group. + */ +GVol.VectorTile.prototype.setReplayGroup = function(layer, key, replayGroup) { + this.replayGroups_[GVol.getUid(layer) + ',' + key] = replayGroup; +}; + + +/** + * Set the feature loader for reading this tile's features. + * @param {GVol.FeatureLoader} loader Feature loader. + * @api + */ +GVol.VectorTile.prototype.setLoader = function(loader) { + this.loader_ = loader; +}; + + +/** + * @const + * @type {GVol.Extent} + */ +GVol.VectorTile.DEFAULT_EXTENT = [0, 0, 4096, 4096]; + +goog.provide('GVol.source.VectorTile'); + +goog.require('GVol'); +goog.require('GVol.TileState'); +goog.require('GVol.VectorImageTile'); +goog.require('GVol.VectorTile'); +goog.require('GVol.proj'); +goog.require('GVol.size'); +goog.require('GVol.tilegrid'); +goog.require('GVol.source.UrlTile'); + + +/** + * @classdesc + * Class for layer sources providing vector data divided into a tile grid, to be + * used with {@link GVol.layer.VectorTile}. Although this source receives tiles + * with vector features from the server, it is not meant for feature editing. + * Features are optimized for rendering, their geometries are clipped at or near + * tile boundaries and simplified for a view resGVolution. See + * {@link GVol.source.Vector} for vector sources that are suitable for feature + * editing. + * + * @constructor + * @fires GVol.source.Tile.Event + * @extends {GVol.source.UrlTile} + * @param {GVolx.source.VectorTileOptions} options Vector tile options. + * @api + */ +GVol.source.VectorTile = function(options) { + var projection = options.projection || 'EPSG:3857'; + + var extent = options.extent || GVol.tilegrid.extentFromProjection(projection); + + var tileGrid = options.tileGrid || GVol.tilegrid.createXYZ({ + extent: extent, + maxZoom: options.maxZoom || 22, + minZoom: options.minZoom, + tileSize: options.tileSize || 512 + }); + + GVol.source.UrlTile.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize !== undefined ? options.cacheSize : 128, + extent: extent, + logo: options.logo, + opaque: false, + projection: projection, + state: options.state, + tileGrid: tileGrid, + tileLoadFunction: options.tileLoadFunction ? + options.tileLoadFunction : GVol.VectorImageTile.defaultLoadFunction, + tileUrlFunction: options.tileUrlFunction, + url: options.url, + urls: options.urls, + wrapX: options.wrapX === undefined ? true : options.wrapX + }); + + /** + * @private + * @type {GVol.format.Feature} + */ + this.format_ = options.format ? options.format : null; + + /** + * @private + * @type {Object.<string,GVol.VectorTile>} + */ + this.sourceTiles_ = {}; + + /** + * @private + * @type {boGVolean} + */ + this.overlaps_ = options.overlaps == undefined ? true : options.overlaps; + + /** + * @protected + * @type {function(new: GVol.VectorTile, GVol.TileCoord, GVol.TileState, string, + * GVol.format.Feature, GVol.TileLoadFunctionType)} + */ + this.tileClass = options.tileClass ? options.tileClass : GVol.VectorTile; + + /** + * @private + * @type {Object.<string,GVol.tilegrid.TileGrid>} + */ + this.tileGrids_ = {}; + + if (!this.tileGrid) { + this.tileGrid = this.getTileGridForProjection(GVol.proj.get(options.projection || 'EPSG:3857')); + } + +}; +GVol.inherits(GVol.source.VectorTile, GVol.source.UrlTile); + + +/** + * @return {boGVolean} The source can have overlapping geometries. + */ +GVol.source.VectorTile.prototype.getOverlaps = function() { + return this.overlaps_; +}; + + +/** + * @inheritDoc + */ +GVol.source.VectorTile.prototype.getTile = function(z, x, y, pixelRatio, projection) { + var tileCoordKey = this.getKeyZXY(z, x, y); + if (this.tileCache.containsKey(tileCoordKey)) { + return /** @type {!GVol.Tile} */ (this.tileCache.get(tileCoordKey)); + } else { + var tileCoord = [z, x, y]; + var urlTileCoord = this.getTileCoordForTileUrlFunction( + tileCoord, projection); + var tileUrl = urlTileCoord ? + this.tileUrlFunction(urlTileCoord, pixelRatio, projection) : undefined; + var tile = new GVol.VectorImageTile( + tileCoord, + tileUrl !== undefined ? GVol.TileState.IDLE : GVol.TileState.EMPTY, + tileUrl !== undefined ? tileUrl : '', + this.format_, this.tileLoadFunction, urlTileCoord, this.tileUrlFunction, + this.tileGrid, this.getTileGridForProjection(projection), + this.sourceTiles_, pixelRatio, projection, this.tileClass, + this.handleTileChange.bind(this)); + + this.tileCache.set(tileCoordKey, tile); + return tile; + } +}; + + +/** + * @inheritDoc + */ +GVol.source.VectorTile.prototype.getTileGridForProjection = function(projection) { + var code = projection.getCode(); + var tileGrid = this.tileGrids_[code]; + if (!tileGrid) { + // A tile grid that matches the tile size of the source tile grid is more + // likely to have 1:1 relationships between source tiles and rendered tiles. + var sourceTileGrid = this.tileGrid; + tileGrid = this.tileGrids_[code] = GVol.tilegrid.createForProjection(projection, undefined, + sourceTileGrid ? sourceTileGrid.getTileSize(sourceTileGrid.getMinZoom()) : undefined); + } + return tileGrid; +}; + + +/** + * @inheritDoc + */ +GVol.source.VectorTile.prototype.getTilePixelRatio = function(pixelRatio) { + return pixelRatio; +}; + + +/** + * @inheritDoc + */ +GVol.source.VectorTile.prototype.getTilePixelSize = function(z, pixelRatio, projection) { + var tileSize = GVol.size.toSize(this.getTileGridForProjection(projection).getTileSize(z)); + return [Math.round(tileSize[0] * pixelRatio), Math.round(tileSize[1] * pixelRatio)]; +}; + +goog.provide('GVol.source.WMTSRequestEncoding'); + +/** + * Request encoding. One of 'KVP', 'REST'. + * @enum {string} + */ +GVol.source.WMTSRequestEncoding = { + KVP: 'KVP', // see spec §8 + REST: 'REST' // see spec §10 +}; + +goog.provide('GVol.tilegrid.WMTS'); + +goog.require('GVol'); +goog.require('GVol.array'); +goog.require('GVol.proj'); +goog.require('GVol.tilegrid.TileGrid'); + + +/** + * @classdesc + * Set the grid pattern for sources accessing WMTS tiled-image servers. + * + * @constructor + * @extends {GVol.tilegrid.TileGrid} + * @param {GVolx.tilegrid.WMTSOptions} options WMTS options. + * @struct + * @api + */ +GVol.tilegrid.WMTS = function(options) { + /** + * @private + * @type {!Array.<string>} + */ + this.matrixIds_ = options.matrixIds; + // FIXME: should the matrixIds become optional? + + GVol.tilegrid.TileGrid.call(this, { + extent: options.extent, + origin: options.origin, + origins: options.origins, + resGVolutions: options.resGVolutions, + tileSize: options.tileSize, + tileSizes: options.tileSizes, + sizes: options.sizes + }); +}; +GVol.inherits(GVol.tilegrid.WMTS, GVol.tilegrid.TileGrid); + + +/** + * @param {number} z Z. + * @return {string} MatrixId.. + */ +GVol.tilegrid.WMTS.prototype.getMatrixId = function(z) { + return this.matrixIds_[z]; +}; + + +/** + * Get the list of matrix identifiers. + * @return {Array.<string>} MatrixIds. + * @api + */ +GVol.tilegrid.WMTS.prototype.getMatrixIds = function() { + return this.matrixIds_; +}; + + +/** + * Create a tile grid from a WMTS capabilities matrix set and an + * optional TileMatrixSetLimits. + * @param {Object} matrixSet An object representing a matrixSet in the + * capabilities document. + * @param {GVol.Extent=} opt_extent An optional extent to restrict the tile + * ranges the server provides. + * @param {Array.<Object>=} opt_matrixLimits An optional object representing + * the available matrices for tileGrid. + * @return {GVol.tilegrid.WMTS} WMTS tileGrid instance. + * @api + */ +GVol.tilegrid.WMTS.createFromCapabilitiesMatrixSet = function(matrixSet, opt_extent, + opt_matrixLimits) { + + /** @type {!Array.<number>} */ + var resGVolutions = []; + /** @type {!Array.<string>} */ + var matrixIds = []; + /** @type {!Array.<GVol.Coordinate>} */ + var origins = []; + /** @type {!Array.<GVol.Size>} */ + var tileSizes = []; + /** @type {!Array.<GVol.Size>} */ + var sizes = []; + + var matrixLimits = opt_matrixLimits !== undefined ? opt_matrixLimits : []; + + var supportedCRSPropName = 'SupportedCRS'; + var matrixIdsPropName = 'TileMatrix'; + var identifierPropName = 'Identifier'; + var scaleDenominatorPropName = 'ScaleDenominator'; + var topLeftCornerPropName = 'TopLeftCorner'; + var tileWidthPropName = 'TileWidth'; + var tileHeightPropName = 'TileHeight'; + + var projection; + projection = GVol.proj.get(matrixSet[supportedCRSPropName].replace( + /urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, '$1:$3')); + var metersPerUnit = projection.getMetersPerUnit(); + // swap origin x and y coordinates if axis orientation is lat/long + var switchOriginXY = projection.getAxisOrientation().substr(0, 2) == 'ne'; + + matrixSet[matrixIdsPropName].sort(function(a, b) { + return b[scaleDenominatorPropName] - a[scaleDenominatorPropName]; + }); + + matrixSet[matrixIdsPropName].forEach(function(elt, index, array) { + + var matrixAvailable; + // use of matrixLimits to filter TileMatrices from GetCapabilities + // TileMatrixSet from unavailable matrix levels. + if (matrixLimits.length > 0) { + matrixAvailable = GVol.array.find(matrixLimits, + function(elt_ml, index_ml, array_ml) { + return elt[identifierPropName] == elt_ml[matrixIdsPropName]; + }); + } else { + matrixAvailable = true; + } + + if (matrixAvailable) { + matrixIds.push(elt[identifierPropName]); + var resGVolution = elt[scaleDenominatorPropName] * 0.28E-3 / metersPerUnit; + var tileWidth = elt[tileWidthPropName]; + var tileHeight = elt[tileHeightPropName]; + if (switchOriginXY) { + origins.push([elt[topLeftCornerPropName][1], + elt[topLeftCornerPropName][0]]); + } else { + origins.push(elt[topLeftCornerPropName]); + } + resGVolutions.push(resGVolution); + tileSizes.push(tileWidth == tileHeight ? + tileWidth : [tileWidth, tileHeight]); + // top-left origin, so height is negative + sizes.push([elt['MatrixWidth'], -elt['MatrixHeight']]); + } + }); + + return new GVol.tilegrid.WMTS({ + extent: opt_extent, + origins: origins, + resGVolutions: resGVolutions, + matrixIds: matrixIds, + tileSizes: tileSizes, + sizes: sizes + }); +}; + +goog.provide('GVol.source.WMTS'); + +goog.require('GVol'); +goog.require('GVol.TileUrlFunction'); +goog.require('GVol.array'); +goog.require('GVol.extent'); +goog.require('GVol.obj'); +goog.require('GVol.proj'); +goog.require('GVol.source.TileImage'); +goog.require('GVol.source.WMTSRequestEncoding'); +goog.require('GVol.tilegrid.WMTS'); +goog.require('GVol.uri'); + + +/** + * @classdesc + * Layer source for tile data from WMTS servers. + * + * @constructor + * @extends {GVol.source.TileImage} + * @param {GVolx.source.WMTSOptions} options WMTS options. + * @api + */ +GVol.source.WMTS = function(options) { + + // TODO: add support for TileMatrixLimits + + /** + * @private + * @type {string} + */ + this.version_ = options.version !== undefined ? options.version : '1.0.0'; + + /** + * @private + * @type {string} + */ + this.format_ = options.format !== undefined ? options.format : 'image/jpeg'; + + /** + * @private + * @type {!Object} + */ + this.dimensions_ = options.dimensions !== undefined ? options.dimensions : {}; + + /** + * @private + * @type {string} + */ + this.layer_ = options.layer; + + /** + * @private + * @type {string} + */ + this.matrixSet_ = options.matrixSet; + + /** + * @private + * @type {string} + */ + this.style_ = options.style; + + var urls = options.urls; + if (urls === undefined && options.url !== undefined) { + urls = GVol.TileUrlFunction.expandUrl(options.url); + } + + // FIXME: should we guess this requestEncoding from options.url(s) + // structure? that would mean KVP only if a template is not provided. + + /** + * @private + * @type {GVol.source.WMTSRequestEncoding} + */ + this.requestEncoding_ = options.requestEncoding !== undefined ? + /** @type {GVol.source.WMTSRequestEncoding} */ (options.requestEncoding) : + GVol.source.WMTSRequestEncoding.KVP; + + var requestEncoding = this.requestEncoding_; + + // FIXME: should we create a default tileGrid? + // we could issue a getCapabilities xhr to retrieve missing configuration + var tileGrid = options.tileGrid; + + // context property names are lower case to allow for a case insensitive + // replacement as some services use different naming conventions + var context = { + 'layer': this.layer_, + 'style': this.style_, + 'tilematrixset': this.matrixSet_ + }; + + if (requestEncoding == GVol.source.WMTSRequestEncoding.KVP) { + GVol.obj.assign(context, { + 'Service': 'WMTS', + 'Request': 'GetTile', + 'Version': this.version_, + 'Format': this.format_ + }); + } + + var dimensions = this.dimensions_; + + /** + * @param {string} template Template. + * @return {GVol.TileUrlFunctionType} Tile URL function. + */ + function createFromWMTSTemplate(template) { + + // TODO: we may want to create our own appendParams function so that params + // order conforms to wmts spec guidance, and so that we can avoid to escape + // special template params + + template = (requestEncoding == GVol.source.WMTSRequestEncoding.KVP) ? + GVol.uri.appendParams(template, context) : + template.replace(/\{(\w+?)\}/g, function(m, p) { + return (p.toLowerCase() in context) ? context[p.toLowerCase()] : m; + }); + + return ( + /** + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {string|undefined} Tile URL. + */ + function(tileCoord, pixelRatio, projection) { + if (!tileCoord) { + return undefined; + } else { + var localContext = { + 'TileMatrix': tileGrid.getMatrixId(tileCoord[0]), + 'TileCGVol': tileCoord[1], + 'TileRow': -tileCoord[2] - 1 + }; + GVol.obj.assign(localContext, dimensions); + var url = template; + if (requestEncoding == GVol.source.WMTSRequestEncoding.KVP) { + url = GVol.uri.appendParams(url, localContext); + } else { + url = url.replace(/\{(\w+?)\}/g, function(m, p) { + return localContext[p]; + }); + } + return url; + } + }); + } + + var tileUrlFunction = (urls && urls.length > 0) ? + GVol.TileUrlFunction.createFromTileUrlFunctions( + urls.map(createFromWMTSTemplate)) : + GVol.TileUrlFunction.nullTileUrlFunction; + + GVol.source.TileImage.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + crossOrigin: options.crossOrigin, + logo: options.logo, + projection: options.projection, + reprojectionErrorThreshGVold: options.reprojectionErrorThreshGVold, + tileClass: options.tileClass, + tileGrid: tileGrid, + tileLoadFunction: options.tileLoadFunction, + tilePixelRatio: options.tilePixelRatio, + tileUrlFunction: tileUrlFunction, + urls: urls, + wrapX: options.wrapX !== undefined ? options.wrapX : false + }); + + this.setKey(this.getKeyForDimensions_()); + +}; +GVol.inherits(GVol.source.WMTS, GVol.source.TileImage); + + +/** + * Get the dimensions, i.e. those passed to the constructor through the + * "dimensions" option, and possibly updated using the updateDimensions + * method. + * @return {!Object} Dimensions. + * @api + */ +GVol.source.WMTS.prototype.getDimensions = function() { + return this.dimensions_; +}; + + +/** + * Return the image format of the WMTS source. + * @return {string} Format. + * @api + */ +GVol.source.WMTS.prototype.getFormat = function() { + return this.format_; +}; + + +/** + * Return the layer of the WMTS source. + * @return {string} Layer. + * @api + */ +GVol.source.WMTS.prototype.getLayer = function() { + return this.layer_; +}; + + +/** + * Return the matrix set of the WMTS source. + * @return {string} MatrixSet. + * @api + */ +GVol.source.WMTS.prototype.getMatrixSet = function() { + return this.matrixSet_; +}; + + +/** + * Return the request encoding, either "KVP" or "REST". + * @return {GVol.source.WMTSRequestEncoding} Request encoding. + * @api + */ +GVol.source.WMTS.prototype.getRequestEncoding = function() { + return this.requestEncoding_; +}; + + +/** + * Return the style of the WMTS source. + * @return {string} Style. + * @api + */ +GVol.source.WMTS.prototype.getStyle = function() { + return this.style_; +}; + + +/** + * Return the version of the WMTS source. + * @return {string} Version. + * @api + */ +GVol.source.WMTS.prototype.getVersion = function() { + return this.version_; +}; + + +/** + * @private + * @return {string} The key for the current dimensions. + */ +GVol.source.WMTS.prototype.getKeyForDimensions_ = function() { + var i = 0; + var res = []; + for (var key in this.dimensions_) { + res[i++] = key + '-' + this.dimensions_[key]; + } + return res.join('/'); +}; + + +/** + * Update the dimensions. + * @param {Object} dimensions Dimensions. + * @api + */ +GVol.source.WMTS.prototype.updateDimensions = function(dimensions) { + GVol.obj.assign(this.dimensions_, dimensions); + this.setKey(this.getKeyForDimensions_()); +}; + + +/** + * Generate source options from a capabilities object. + * @param {Object} wmtsCap An object representing the capabilities document. + * @param {Object} config Configuration properties for the layer. Defaults for + * the layer will apply if not provided. + * + * Required config properties: + * - layer - {string} The layer identifier. + * + * Optional config properties: + * - matrixSet - {string} The matrix set identifier, required if there is + * more than one matrix set in the layer capabilities. + * - projection - {string} The desired CRS when no matrixSet is specified. + * eg: "EPSG:3857". If the desired projection is not available, + * an error is thrown. + * - requestEncoding - {string} url encoding format for the layer. Default is + * the first tile url format found in the GetCapabilities response. + * - style - {string} The name of the style + * - format - {string} Image format for the layer. Default is the first + * format returned in the GetCapabilities response. + * - crossOrigin - {string|null|undefined} Cross origin. Default is `undefined`. + * @return {?GVolx.source.WMTSOptions} WMTS source options object or `null` if the layer was not found. + * @api + */ +GVol.source.WMTS.optionsFromCapabilities = function(wmtsCap, config) { + var layers = wmtsCap['Contents']['Layer']; + var l = GVol.array.find(layers, function(elt, index, array) { + return elt['Identifier'] == config['layer']; + }); + if (l === null) { + return null; + } + var tileMatrixSets = wmtsCap['Contents']['TileMatrixSet']; + var idx, matrixSet, matrixLimits; + if (l['TileMatrixSetLink'].length > 1) { + if ('projection' in config) { + idx = GVol.array.findIndex(l['TileMatrixSetLink'], + function(elt, index, array) { + var tileMatrixSet = GVol.array.find(tileMatrixSets, function(el) { + return el['Identifier'] == elt['TileMatrixSet']; + }); + var supportedCRS = tileMatrixSet['SupportedCRS'].replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, '$1:$3'); + var proj1 = GVol.proj.get(supportedCRS); + var proj2 = GVol.proj.get(config['projection']); + if (proj1 && proj2) { + return GVol.proj.equivalent(proj1, proj2); + } else { + return supportedCRS == config['projection']; + } + }); + } else { + idx = GVol.array.findIndex(l['TileMatrixSetLink'], + function(elt, index, array) { + return elt['TileMatrixSet'] == config['matrixSet']; + }); + } + } else { + idx = 0; + } + if (idx < 0) { + idx = 0; + } + matrixSet = /** @type {string} */ + (l['TileMatrixSetLink'][idx]['TileMatrixSet']); + matrixLimits = /** @type {Array.<Object>} */ + (l['TileMatrixSetLink'][idx]['TileMatrixSetLimits']); + + var format = /** @type {string} */ (l['Format'][0]); + if ('format' in config) { + format = config['format']; + } + idx = GVol.array.findIndex(l['Style'], function(elt, index, array) { + if ('style' in config) { + return elt['Title'] == config['style']; + } else { + return elt['isDefault']; + } + }); + if (idx < 0) { + idx = 0; + } + var style = /** @type {string} */ (l['Style'][idx]['Identifier']); + + var dimensions = {}; + if ('Dimension' in l) { + l['Dimension'].forEach(function(elt, index, array) { + var key = elt['Identifier']; + var value = elt['Default']; + if (value === undefined) { + value = elt['Value'][0]; + } + dimensions[key] = value; + }); + } + + var matrixSets = wmtsCap['Contents']['TileMatrixSet']; + var matrixSetObj = GVol.array.find(matrixSets, function(elt, index, array) { + return elt['Identifier'] == matrixSet; + }); + + var projection; + if ('projection' in config) { + projection = GVol.proj.get(config['projection']); + } else { + projection = GVol.proj.get(matrixSetObj['SupportedCRS'].replace( + /urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, '$1:$3')); + } + + var wgs84BoundingBox = l['WGS84BoundingBox']; + var extent, wrapX; + if (wgs84BoundingBox !== undefined) { + var wgs84ProjectionExtent = GVol.proj.get('EPSG:4326').getExtent(); + wrapX = (wgs84BoundingBox[0] == wgs84ProjectionExtent[0] && + wgs84BoundingBox[2] == wgs84ProjectionExtent[2]); + extent = GVol.proj.transformExtent( + wgs84BoundingBox, 'EPSG:4326', projection); + var projectionExtent = projection.getExtent(); + if (projectionExtent) { + // If possible, do a sanity check on the extent - it should never be + // bigger than the validity extent of the projection of a matrix set. + if (!GVol.extent.containsExtent(projectionExtent, extent)) { + extent = undefined; + } + } + } + + var tileGrid = GVol.tilegrid.WMTS.createFromCapabilitiesMatrixSet( + matrixSetObj, extent, matrixLimits); + + /** @type {!Array.<string>} */ + var urls = []; + var requestEncoding = config['requestEncoding']; + requestEncoding = requestEncoding !== undefined ? requestEncoding : ''; + + if ('OperationsMetadata' in wmtsCap && 'GetTile' in wmtsCap['OperationsMetadata']) { + var gets = wmtsCap['OperationsMetadata']['GetTile']['DCP']['HTTP']['Get']; + + for (var i = 0, ii = gets.length; i < ii; ++i) { + var constraint = GVol.array.find(gets[i]['Constraint'], function(element) { + return element['name'] == 'GetEncoding'; + }); + var encodings = constraint['AllowedValues']['Value']; + + if (requestEncoding === '') { + // requestEncoding not provided, use the first encoding from the list + requestEncoding = encodings[0]; + } + if (requestEncoding === GVol.source.WMTSRequestEncoding.KVP) { + if (GVol.array.includes(encodings, GVol.source.WMTSRequestEncoding.KVP)) { + urls.push(/** @type {string} */ (gets[i]['href'])); + } + } else { + break; + } + } + } + if (urls.length === 0) { + requestEncoding = GVol.source.WMTSRequestEncoding.REST; + l['ResourceURL'].forEach(function(element) { + if (element['resourceType'] === 'tile') { + format = element['format']; + urls.push(/** @type {string} */ (element['template'])); + } + }); + } + + return { + urls: urls, + layer: config['layer'], + matrixSet: matrixSet, + format: format, + projection: projection, + requestEncoding: requestEncoding, + tileGrid: tileGrid, + style: style, + dimensions: dimensions, + wrapX: wrapX, + crossOrigin: config['crossOrigin'] + }; +}; + +goog.provide('GVol.source.Zoomify'); + +goog.require('GVol'); +goog.require('GVol.ImageTile'); +goog.require('GVol.TileState'); +goog.require('GVol.TileUrlFunction'); +goog.require('GVol.asserts'); +goog.require('GVol.dom'); +goog.require('GVol.extent'); +goog.require('GVol.source.TileImage'); +goog.require('GVol.tilegrid.TileGrid'); + + +/** + * @classdesc + * Layer source for tile data in Zoomify format. + * + * @constructor + * @extends {GVol.source.TileImage} + * @param {GVolx.source.ZoomifyOptions=} opt_options Options. + * @api + */ +GVol.source.Zoomify = function(opt_options) { + + var options = opt_options || {}; + + var size = options.size; + var tierSizeCalculation = options.tierSizeCalculation !== undefined ? + options.tierSizeCalculation : + GVol.source.Zoomify.TierSizeCalculation_.DEFAULT; + + var imageWidth = size[0]; + var imageHeight = size[1]; + var tierSizeInTiles = []; + var tileSize = GVol.DEFAULT_TILE_SIZE; + + switch (tierSizeCalculation) { + case GVol.source.Zoomify.TierSizeCalculation_.DEFAULT: + while (imageWidth > tileSize || imageHeight > tileSize) { + tierSizeInTiles.push([ + Math.ceil(imageWidth / tileSize), + Math.ceil(imageHeight / tileSize) + ]); + tileSize += tileSize; + } + break; + case GVol.source.Zoomify.TierSizeCalculation_.TRUNCATED: + var width = imageWidth; + var height = imageHeight; + while (width > tileSize || height > tileSize) { + tierSizeInTiles.push([ + Math.ceil(width / tileSize), + Math.ceil(height / tileSize) + ]); + width >>= 1; + height >>= 1; + } + break; + default: + GVol.asserts.assert(false, 53); // Unknown `tierSizeCalculation` configured + break; + } + + tierSizeInTiles.push([1, 1]); + tierSizeInTiles.reverse(); + + var resGVolutions = [1]; + var tileCountUpToTier = [0]; + var i, ii; + for (i = 1, ii = tierSizeInTiles.length; i < ii; i++) { + resGVolutions.push(1 << i); + tileCountUpToTier.push( + tierSizeInTiles[i - 1][0] * tierSizeInTiles[i - 1][1] + + tileCountUpToTier[i - 1] + ); + } + resGVolutions.reverse(); + + var extent = [0, -size[1], size[0], 0]; + var tileGrid = new GVol.tilegrid.TileGrid({ + extent: extent, + origin: GVol.extent.getTopLeft(extent), + resGVolutions: resGVolutions + }); + + var url = options.url; + if (url && url.indexOf('{TileGroup}') == -1) { + url += '{TileGroup}/{z}-{x}-{y}.jpg'; + } + var urls = GVol.TileUrlFunction.expandUrl(url); + + /** + * @param {string} template Template. + * @return {GVol.TileUrlFunctionType} Tile URL function. + */ + function createFromTemplate(template) { + + return ( + /** + * @param {GVol.TileCoord} tileCoord Tile Coordinate. + * @param {number} pixelRatio Pixel ratio. + * @param {GVol.proj.Projection} projection Projection. + * @return {string|undefined} Tile URL. + */ + function(tileCoord, pixelRatio, projection) { + if (!tileCoord) { + return undefined; + } else { + var tileCoordZ = tileCoord[0]; + var tileCoordX = tileCoord[1]; + var tileCoordY = -tileCoord[2] - 1; + var tileIndex = + tileCoordX + + tileCoordY * tierSizeInTiles[tileCoordZ][0] + + tileCountUpToTier[tileCoordZ]; + var tileGroup = (tileIndex / GVol.DEFAULT_TILE_SIZE) | 0; + var localContext = { + 'z': tileCoordZ, + 'x': tileCoordX, + 'y': tileCoordY, + 'TileGroup': 'TileGroup' + tileGroup + }; + return template.replace(/\{(\w+?)\}/g, function(m, p) { + return localContext[p]; + }); + } + }); + } + + var tileUrlFunction = GVol.TileUrlFunction.createFromTileUrlFunctions(urls.map(createFromTemplate)); + + GVol.source.TileImage.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + crossOrigin: options.crossOrigin, + logo: options.logo, + projection: options.projection, + reprojectionErrorThreshGVold: options.reprojectionErrorThreshGVold, + tileClass: GVol.source.Zoomify.Tile_, + tileGrid: tileGrid, + tileUrlFunction: tileUrlFunction + }); + +}; +GVol.inherits(GVol.source.Zoomify, GVol.source.TileImage); + + +/** + * @constructor + * @extends {GVol.ImageTile} + * @param {GVol.TileCoord} tileCoord Tile coordinate. + * @param {GVol.TileState} state State. + * @param {string} src Image source URI. + * @param {?string} crossOrigin Cross origin. + * @param {GVol.TileLoadFunctionType} tileLoadFunction Tile load function. + * @private + */ +GVol.source.Zoomify.Tile_ = function( + tileCoord, state, src, crossOrigin, tileLoadFunction) { + + GVol.ImageTile.call(this, tileCoord, state, src, crossOrigin, tileLoadFunction); + + /** + * @private + * @type {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} + */ + this.zoomifyImage_ = null; + +}; +GVol.inherits(GVol.source.Zoomify.Tile_, GVol.ImageTile); + + +/** + * @inheritDoc + */ +GVol.source.Zoomify.Tile_.prototype.getImage = function() { + if (this.zoomifyImage_) { + return this.zoomifyImage_; + } + var tileSize = GVol.DEFAULT_TILE_SIZE; + var image = GVol.ImageTile.prototype.getImage.call(this); + if (this.state == GVol.TileState.LOADED) { + if (image.width == tileSize && image.height == tileSize) { + this.zoomifyImage_ = image; + return image; + } else { + var context = GVol.dom.createCanvasContext2D(tileSize, tileSize); + context.drawImage(image, 0, 0); + this.zoomifyImage_ = context.canvas; + return context.canvas; + } + } else { + return image; + } +}; + + +/** + * @enum {string} + * @private + */ +GVol.source.Zoomify.TierSizeCalculation_ = { + DEFAULT: 'default', + TRUNCATED: 'truncated' +}; + +// Copyright 2009 The Closure Library Authors. +// All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS-IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// This file has been auto-generated by GenJsDeps, please do not edit. + +goog.addDependency( + 'demos/editor/equationeditor.js', ['goog.demos.editor.EquationEditor'], + ['goog.ui.equation.EquationEditorDialog']); +goog.addDependency( + 'demos/editor/helloworld.js', ['goog.demos.editor.HelloWorld'], + ['goog.dom', 'goog.dom.TagName', 'goog.editor.Plugin']); +goog.addDependency( + 'demos/editor/helloworlddialog.js', + [ + 'goog.demos.editor.HelloWorldDialog', + 'goog.demos.editor.HelloWorldDialog.OkEvent' + ], + [ + 'goog.dom.TagName', 'goog.events.Event', 'goog.string', + 'goog.ui.editor.AbstractDialog', 'goog.ui.editor.AbstractDialog.Builder', + 'goog.ui.editor.AbstractDialog.EventType' + ]); +goog.addDependency( + 'demos/editor/helloworlddialogplugin.js', + [ + 'goog.demos.editor.HelloWorldDialogPlugin', + 'goog.demos.editor.HelloWorldDialogPlugin.Command' + ], + [ + 'goog.demos.editor.HelloWorldDialog', 'goog.dom.TagName', + 'goog.editor.plugins.AbstractDialogPlugin', 'goog.editor.range', + 'goog.functions', 'goog.ui.editor.AbstractDialog.EventType' + ]); + +/** + * @fileoverview Custom exports file. + * @suppress {checkVars,extraRequire} + */ + +goog.require('GVol'); +goog.require('GVol.AssertionError'); +goog.require('GVol.Attribution'); +goog.require('GVol.CGVollection'); +goog.require('GVol.DeviceOrientation'); +goog.require('GVol.Feature'); +goog.require('GVol.GeGVolocation'); +goog.require('GVol.Graticule'); +goog.require('GVol.Image'); +goog.require('GVol.ImageTile'); +goog.require('GVol.Kinetic'); +goog.require('GVol.Map'); +goog.require('GVol.MapBrowserEvent'); +goog.require('GVol.MapEvent'); +goog.require('GVol.Object'); +goog.require('GVol.Observable'); +goog.require('GVol.Overlay'); +goog.require('GVol.Sphere'); +goog.require('GVol.Tile'); +goog.require('GVol.VectorTile'); +goog.require('GVol.View'); +goog.require('GVol.cGVolor'); +goog.require('GVol.cGVolorlike'); +goog.require('GVol.contrGVol'); +goog.require('GVol.contrGVol.Attribution'); +goog.require('GVol.contrGVol.ContrGVol'); +goog.require('GVol.contrGVol.FullScreen'); +goog.require('GVol.contrGVol.MousePosition'); +goog.require('GVol.contrGVol.OverviewMap'); +goog.require('GVol.contrGVol.Rotate'); +goog.require('GVol.contrGVol.ScaleLine'); +goog.require('GVol.contrGVol.Zoom'); +goog.require('GVol.contrGVol.ZoomSlider'); +goog.require('GVol.contrGVol.ZoomToExtent'); +goog.require('GVol.coordinate'); +goog.require('GVol.easing'); +goog.require('GVol.events.Event'); +goog.require('GVol.events.condition'); +goog.require('GVol.extent'); +goog.require('GVol.featureloader'); +goog.require('GVol.format.EsriJSON'); +goog.require('GVol.format.Feature'); +goog.require('GVol.format.GML'); +goog.require('GVol.format.GML2'); +goog.require('GVol.format.GML3'); +goog.require('GVol.format.GMLBase'); +goog.require('GVol.format.GPX'); +goog.require('GVol.format.GeoJSON'); +goog.require('GVol.format.IGC'); +goog.require('GVol.format.KML'); +goog.require('GVol.format.MVT'); +goog.require('GVol.format.OSMXML'); +goog.require('GVol.format.PGVolyline'); +goog.require('GVol.format.TopoJSON'); +goog.require('GVol.format.WFS'); +goog.require('GVol.format.WKT'); +goog.require('GVol.format.WMSCapabilities'); +goog.require('GVol.format.WMSGetFeatureInfo'); +goog.require('GVol.format.WMTSCapabilities'); +goog.require('GVol.format.filter'); +goog.require('GVol.format.filter.And'); +goog.require('GVol.format.filter.Bbox'); +goog.require('GVol.format.filter.Comparison'); +goog.require('GVol.format.filter.ComparisonBinary'); +goog.require('GVol.format.filter.During'); +goog.require('GVol.format.filter.EqualTo'); +goog.require('GVol.format.filter.Filter'); +goog.require('GVol.format.filter.GreaterThan'); +goog.require('GVol.format.filter.GreaterThanOrEqualTo'); +goog.require('GVol.format.filter.Intersects'); +goog.require('GVol.format.filter.IsBetween'); +goog.require('GVol.format.filter.IsLike'); +goog.require('GVol.format.filter.IsNull'); +goog.require('GVol.format.filter.LessThan'); +goog.require('GVol.format.filter.LessThanOrEqualTo'); +goog.require('GVol.format.filter.Not'); +goog.require('GVol.format.filter.NotEqualTo'); +goog.require('GVol.format.filter.Or'); +goog.require('GVol.format.filter.Spatial'); +goog.require('GVol.format.filter.Within'); +goog.require('GVol.geom.Circle'); +goog.require('GVol.geom.Geometry'); +goog.require('GVol.geom.GeometryCGVollection'); +goog.require('GVol.geom.LineString'); +goog.require('GVol.geom.LinearRing'); +goog.require('GVol.geom.MultiLineString'); +goog.require('GVol.geom.MultiPoint'); +goog.require('GVol.geom.MultiPGVolygon'); +goog.require('GVol.geom.Point'); +goog.require('GVol.geom.PGVolygon'); +goog.require('GVol.geom.SimpleGeometry'); +goog.require('GVol.has'); +goog.require('GVol.interaction'); +goog.require('GVol.interaction.DoubleClickZoom'); +goog.require('GVol.interaction.DragAndDrop'); +goog.require('GVol.interaction.DragBox'); +goog.require('GVol.interaction.DragPan'); +goog.require('GVol.interaction.DragRotate'); +goog.require('GVol.interaction.DragRotateAndZoom'); +goog.require('GVol.interaction.DragZoom'); +goog.require('GVol.interaction.Draw'); +goog.require('GVol.interaction.Extent'); +goog.require('GVol.interaction.Interaction'); +goog.require('GVol.interaction.KeyboardPan'); +goog.require('GVol.interaction.KeyboardZoom'); +goog.require('GVol.interaction.Modify'); +goog.require('GVol.interaction.MouseWheelZoom'); +goog.require('GVol.interaction.PinchRotate'); +goog.require('GVol.interaction.PinchZoom'); +goog.require('GVol.interaction.Pointer'); +goog.require('GVol.interaction.Select'); +goog.require('GVol.interaction.Snap'); +goog.require('GVol.interaction.Translate'); +goog.require('GVol.layer.Base'); +goog.require('GVol.layer.Group'); +goog.require('GVol.layer.Heatmap'); +goog.require('GVol.layer.Image'); +goog.require('GVol.layer.Layer'); +goog.require('GVol.layer.Tile'); +goog.require('GVol.layer.Vector'); +goog.require('GVol.layer.VectorTile'); +goog.require('GVol.loadingstrategy'); +goog.require('GVol.proj'); +goog.require('GVol.proj.Projection'); +goog.require('GVol.proj.Units'); +goog.require('GVol.proj.common'); +goog.require('GVol.render'); +goog.require('GVol.render.Event'); +goog.require('GVol.render.Feature'); +goog.require('GVol.render.VectorContext'); +goog.require('GVol.render.canvas.Immediate'); +goog.require('GVol.render.webgl.Immediate'); +goog.require('GVol.size'); +goog.require('GVol.source.BingMaps'); +goog.require('GVol.source.CartoDB'); +goog.require('GVol.source.Cluster'); +goog.require('GVol.source.Image'); +goog.require('GVol.source.ImageArcGISRest'); +goog.require('GVol.source.ImageCanvas'); +goog.require('GVol.source.ImageMapGuide'); +goog.require('GVol.source.ImageStatic'); +goog.require('GVol.source.ImageVector'); +goog.require('GVol.source.ImageWMS'); +goog.require('GVol.source.OSM'); +goog.require('GVol.source.Raster'); +goog.require('GVol.source.Source'); +goog.require('GVol.source.Stamen'); +goog.require('GVol.source.Tile'); +goog.require('GVol.source.TileArcGISRest'); +goog.require('GVol.source.TileDebug'); +goog.require('GVol.source.TileImage'); +goog.require('GVol.source.TileJSON'); +goog.require('GVol.source.TileUTFGrid'); +goog.require('GVol.source.TileWMS'); +goog.require('GVol.source.UrlTile'); +goog.require('GVol.source.Vector'); +goog.require('GVol.source.VectorTile'); +goog.require('GVol.source.WMTS'); +goog.require('GVol.source.XYZ'); +goog.require('GVol.source.Zoomify'); +goog.require('GVol.style.AtlasManager'); +goog.require('GVol.style.Circle'); +goog.require('GVol.style.Fill'); +goog.require('GVol.style.Icon'); +goog.require('GVol.style.Image'); +goog.require('GVol.style.RegularShape'); +goog.require('GVol.style.Stroke'); +goog.require('GVol.style.Style'); +goog.require('GVol.style.Text'); +goog.require('GVol.tilegrid'); +goog.require('GVol.tilegrid.TileGrid'); +goog.require('GVol.tilegrid.WMTS'); +goog.require('GVol.webgl.Context'); +goog.require('GVol.xml'); + + + +goog.exportProperty( + GVol.AssertionError.prototype, + 'code', + GVol.AssertionError.prototype.code); + +goog.exportSymbGVol( + 'GVol.Attribution', + GVol.Attribution, + OPENLAYERS); + +goog.exportProperty( + GVol.Attribution.prototype, + 'getHTML', + GVol.Attribution.prototype.getHTML); + +goog.exportSymbGVol( + 'GVol.CGVollection', + GVol.CGVollection, + OPENLAYERS); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'clear', + GVol.CGVollection.prototype.clear); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'extend', + GVol.CGVollection.prototype.extend); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'forEach', + GVol.CGVollection.prototype.forEach); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'getArray', + GVol.CGVollection.prototype.getArray); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'item', + GVol.CGVollection.prototype.item); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'getLength', + GVol.CGVollection.prototype.getLength); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'insertAt', + GVol.CGVollection.prototype.insertAt); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'pop', + GVol.CGVollection.prototype.pop); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'push', + GVol.CGVollection.prototype.push); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'remove', + GVol.CGVollection.prototype.remove); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'removeAt', + GVol.CGVollection.prototype.removeAt); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'setAt', + GVol.CGVollection.prototype.setAt); + +goog.exportProperty( + GVol.CGVollection.Event.prototype, + 'element', + GVol.CGVollection.Event.prototype.element); + +goog.exportSymbGVol( + 'GVol.cGVolor.asArray', + GVol.cGVolor.asArray, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.cGVolor.asString', + GVol.cGVolor.asString, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.cGVolorlike.asCGVolorLike', + GVol.cGVolorlike.asCGVolorLike, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.defaults', + GVol.contrGVol.defaults, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.coordinate.add', + GVol.coordinate.add, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.coordinate.createStringXY', + GVol.coordinate.createStringXY, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.coordinate.format', + GVol.coordinate.format, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.coordinate.rotate', + GVol.coordinate.rotate, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.coordinate.toStringHDMS', + GVol.coordinate.toStringHDMS, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.coordinate.toStringXY', + GVol.coordinate.toStringXY, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.DeviceOrientation', + GVol.DeviceOrientation, + OPENLAYERS); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'getAlpha', + GVol.DeviceOrientation.prototype.getAlpha); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'getBeta', + GVol.DeviceOrientation.prototype.getBeta); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'getGamma', + GVol.DeviceOrientation.prototype.getGamma); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'getHeading', + GVol.DeviceOrientation.prototype.getHeading); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'getTracking', + GVol.DeviceOrientation.prototype.getTracking); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'setTracking', + GVol.DeviceOrientation.prototype.setTracking); + +goog.exportSymbGVol( + 'GVol.easing.easeIn', + GVol.easing.easeIn, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.easing.easeOut', + GVol.easing.easeOut, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.easing.inAndOut', + GVol.easing.inAndOut, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.easing.linear', + GVol.easing.linear, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.easing.upAndDown', + GVol.easing.upAndDown, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.boundingExtent', + GVol.extent.boundingExtent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.buffer', + GVol.extent.buffer, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.containsCoordinate', + GVol.extent.containsCoordinate, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.containsExtent', + GVol.extent.containsExtent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.containsXY', + GVol.extent.containsXY, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.createEmpty', + GVol.extent.createEmpty, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.equals', + GVol.extent.equals, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.extend', + GVol.extent.extend, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getArea', + GVol.extent.getArea, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getBottomLeft', + GVol.extent.getBottomLeft, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getBottomRight', + GVol.extent.getBottomRight, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getCenter', + GVol.extent.getCenter, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getHeight', + GVol.extent.getHeight, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getIntersection', + GVol.extent.getIntersection, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getSize', + GVol.extent.getSize, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getTopLeft', + GVol.extent.getTopLeft, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getTopRight', + GVol.extent.getTopRight, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.getWidth', + GVol.extent.getWidth, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.intersects', + GVol.extent.intersects, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.isEmpty', + GVol.extent.isEmpty, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.extent.applyTransform', + GVol.extent.applyTransform, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.Feature', + GVol.Feature, + OPENLAYERS); + +goog.exportProperty( + GVol.Feature.prototype, + 'clone', + GVol.Feature.prototype.clone); + +goog.exportProperty( + GVol.Feature.prototype, + 'getGeometry', + GVol.Feature.prototype.getGeometry); + +goog.exportProperty( + GVol.Feature.prototype, + 'getId', + GVol.Feature.prototype.getId); + +goog.exportProperty( + GVol.Feature.prototype, + 'getGeometryName', + GVol.Feature.prototype.getGeometryName); + +goog.exportProperty( + GVol.Feature.prototype, + 'getStyle', + GVol.Feature.prototype.getStyle); + +goog.exportProperty( + GVol.Feature.prototype, + 'getStyleFunction', + GVol.Feature.prototype.getStyleFunction); + +goog.exportProperty( + GVol.Feature.prototype, + 'setGeometry', + GVol.Feature.prototype.setGeometry); + +goog.exportProperty( + GVol.Feature.prototype, + 'setStyle', + GVol.Feature.prototype.setStyle); + +goog.exportProperty( + GVol.Feature.prototype, + 'setId', + GVol.Feature.prototype.setId); + +goog.exportProperty( + GVol.Feature.prototype, + 'setGeometryName', + GVol.Feature.prototype.setGeometryName); + +goog.exportSymbGVol( + 'GVol.featureloader.xhr', + GVol.featureloader.xhr, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.GeGVolocation', + GVol.GeGVolocation, + OPENLAYERS); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getAccuracy', + GVol.GeGVolocation.prototype.getAccuracy); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getAccuracyGeometry', + GVol.GeGVolocation.prototype.getAccuracyGeometry); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getAltitude', + GVol.GeGVolocation.prototype.getAltitude); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getAltitudeAccuracy', + GVol.GeGVolocation.prototype.getAltitudeAccuracy); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getHeading', + GVol.GeGVolocation.prototype.getHeading); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getPosition', + GVol.GeGVolocation.prototype.getPosition); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getProjection', + GVol.GeGVolocation.prototype.getProjection); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getSpeed', + GVol.GeGVolocation.prototype.getSpeed); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getTracking', + GVol.GeGVolocation.prototype.getTracking); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getTrackingOptions', + GVol.GeGVolocation.prototype.getTrackingOptions); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'setProjection', + GVol.GeGVolocation.prototype.setProjection); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'setTracking', + GVol.GeGVolocation.prototype.setTracking); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'setTrackingOptions', + GVol.GeGVolocation.prototype.setTrackingOptions); + +goog.exportSymbGVol( + 'GVol.Graticule', + GVol.Graticule, + OPENLAYERS); + +goog.exportProperty( + GVol.Graticule.prototype, + 'getMap', + GVol.Graticule.prototype.getMap); + +goog.exportProperty( + GVol.Graticule.prototype, + 'getMeridians', + GVol.Graticule.prototype.getMeridians); + +goog.exportProperty( + GVol.Graticule.prototype, + 'getParallels', + GVol.Graticule.prototype.getParallels); + +goog.exportProperty( + GVol.Graticule.prototype, + 'setMap', + GVol.Graticule.prototype.setMap); + +goog.exportSymbGVol( + 'GVol.has.DEVICE_PIXEL_RATIO', + GVol.has.DEVICE_PIXEL_RATIO, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.has.CANVAS', + GVol.has.CANVAS, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.has.DEVICE_ORIENTATION', + GVol.has.DEVICE_ORIENTATION, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.has.GEOLOCATION', + GVol.has.GEOLOCATION, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.has.TOUCH', + GVol.has.TOUCH, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.has.WEBGL', + GVol.has.WEBGL, + OPENLAYERS); + +goog.exportProperty( + GVol.Image.prototype, + 'getImage', + GVol.Image.prototype.getImage); + +goog.exportProperty( + GVol.Image.prototype, + 'load', + GVol.Image.prototype.load); + +goog.exportProperty( + GVol.ImageTile.prototype, + 'getImage', + GVol.ImageTile.prototype.getImage); + +goog.exportSymbGVol( + 'GVol.inherits', + GVol.inherits, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.defaults', + GVol.interaction.defaults, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.Kinetic', + GVol.Kinetic, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.loadingstrategy.all', + GVol.loadingstrategy.all, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.loadingstrategy.bbox', + GVol.loadingstrategy.bbox, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.loadingstrategy.tile', + GVol.loadingstrategy.tile, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.Map', + GVol.Map, + OPENLAYERS); + +goog.exportProperty( + GVol.Map.prototype, + 'addContrGVol', + GVol.Map.prototype.addContrGVol); + +goog.exportProperty( + GVol.Map.prototype, + 'addInteraction', + GVol.Map.prototype.addInteraction); + +goog.exportProperty( + GVol.Map.prototype, + 'addLayer', + GVol.Map.prototype.addLayer); + +goog.exportProperty( + GVol.Map.prototype, + 'addOverlay', + GVol.Map.prototype.addOverlay); + +goog.exportProperty( + GVol.Map.prototype, + 'forEachFeatureAtPixel', + GVol.Map.prototype.forEachFeatureAtPixel); + +goog.exportProperty( + GVol.Map.prototype, + 'getFeaturesAtPixel', + GVol.Map.prototype.getFeaturesAtPixel); + +goog.exportProperty( + GVol.Map.prototype, + 'forEachLayerAtPixel', + GVol.Map.prototype.forEachLayerAtPixel); + +goog.exportProperty( + GVol.Map.prototype, + 'hasFeatureAtPixel', + GVol.Map.prototype.hasFeatureAtPixel); + +goog.exportProperty( + GVol.Map.prototype, + 'getEventCoordinate', + GVol.Map.prototype.getEventCoordinate); + +goog.exportProperty( + GVol.Map.prototype, + 'getEventPixel', + GVol.Map.prototype.getEventPixel); + +goog.exportProperty( + GVol.Map.prototype, + 'getTarget', + GVol.Map.prototype.getTarget); + +goog.exportProperty( + GVol.Map.prototype, + 'getTargetElement', + GVol.Map.prototype.getTargetElement); + +goog.exportProperty( + GVol.Map.prototype, + 'getCoordinateFromPixel', + GVol.Map.prototype.getCoordinateFromPixel); + +goog.exportProperty( + GVol.Map.prototype, + 'getContrGVols', + GVol.Map.prototype.getContrGVols); + +goog.exportProperty( + GVol.Map.prototype, + 'getOverlays', + GVol.Map.prototype.getOverlays); + +goog.exportProperty( + GVol.Map.prototype, + 'getOverlayById', + GVol.Map.prototype.getOverlayById); + +goog.exportProperty( + GVol.Map.prototype, + 'getInteractions', + GVol.Map.prototype.getInteractions); + +goog.exportProperty( + GVol.Map.prototype, + 'getLayerGroup', + GVol.Map.prototype.getLayerGroup); + +goog.exportProperty( + GVol.Map.prototype, + 'getLayers', + GVol.Map.prototype.getLayers); + +goog.exportProperty( + GVol.Map.prototype, + 'getPixelFromCoordinate', + GVol.Map.prototype.getPixelFromCoordinate); + +goog.exportProperty( + GVol.Map.prototype, + 'getSize', + GVol.Map.prototype.getSize); + +goog.exportProperty( + GVol.Map.prototype, + 'getView', + GVol.Map.prototype.getView); + +goog.exportProperty( + GVol.Map.prototype, + 'getViewport', + GVol.Map.prototype.getViewport); + +goog.exportProperty( + GVol.Map.prototype, + 'renderSync', + GVol.Map.prototype.renderSync); + +goog.exportProperty( + GVol.Map.prototype, + 'render', + GVol.Map.prototype.render); + +goog.exportProperty( + GVol.Map.prototype, + 'removeContrGVol', + GVol.Map.prototype.removeContrGVol); + +goog.exportProperty( + GVol.Map.prototype, + 'removeInteraction', + GVol.Map.prototype.removeInteraction); + +goog.exportProperty( + GVol.Map.prototype, + 'removeLayer', + GVol.Map.prototype.removeLayer); + +goog.exportProperty( + GVol.Map.prototype, + 'removeOverlay', + GVol.Map.prototype.removeOverlay); + +goog.exportProperty( + GVol.Map.prototype, + 'setLayerGroup', + GVol.Map.prototype.setLayerGroup); + +goog.exportProperty( + GVol.Map.prototype, + 'setSize', + GVol.Map.prototype.setSize); + +goog.exportProperty( + GVol.Map.prototype, + 'setTarget', + GVol.Map.prototype.setTarget); + +goog.exportProperty( + GVol.Map.prototype, + 'setView', + GVol.Map.prototype.setView); + +goog.exportProperty( + GVol.Map.prototype, + 'updateSize', + GVol.Map.prototype.updateSize); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'originalEvent', + GVol.MapBrowserEvent.prototype.originalEvent); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'pixel', + GVol.MapBrowserEvent.prototype.pixel); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'coordinate', + GVol.MapBrowserEvent.prototype.coordinate); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'dragging', + GVol.MapBrowserEvent.prototype.dragging); + +goog.exportProperty( + GVol.MapEvent.prototype, + 'map', + GVol.MapEvent.prototype.map); + +goog.exportProperty( + GVol.MapEvent.prototype, + 'frameState', + GVol.MapEvent.prototype.frameState); + +goog.exportSymbGVol( + 'GVol.Object', + GVol.Object, + OPENLAYERS); + +goog.exportProperty( + GVol.Object.prototype, + 'get', + GVol.Object.prototype.get); + +goog.exportProperty( + GVol.Object.prototype, + 'getKeys', + GVol.Object.prototype.getKeys); + +goog.exportProperty( + GVol.Object.prototype, + 'getProperties', + GVol.Object.prototype.getProperties); + +goog.exportProperty( + GVol.Object.prototype, + 'set', + GVol.Object.prototype.set); + +goog.exportProperty( + GVol.Object.prototype, + 'setProperties', + GVol.Object.prototype.setProperties); + +goog.exportProperty( + GVol.Object.prototype, + 'unset', + GVol.Object.prototype.unset); + +goog.exportProperty( + GVol.Object.Event.prototype, + 'key', + GVol.Object.Event.prototype.key); + +goog.exportProperty( + GVol.Object.Event.prototype, + 'GVoldValue', + GVol.Object.Event.prototype.GVoldValue); + +goog.exportSymbGVol( + 'GVol.Observable', + GVol.Observable, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.Observable.unByKey', + GVol.Observable.unByKey, + OPENLAYERS); + +goog.exportProperty( + GVol.Observable.prototype, + 'changed', + GVol.Observable.prototype.changed); + +goog.exportProperty( + GVol.Observable.prototype, + 'dispatchEvent', + GVol.Observable.prototype.dispatchEvent); + +goog.exportProperty( + GVol.Observable.prototype, + 'getRevision', + GVol.Observable.prototype.getRevision); + +goog.exportProperty( + GVol.Observable.prototype, + 'on', + GVol.Observable.prototype.on); + +goog.exportProperty( + GVol.Observable.prototype, + 'once', + GVol.Observable.prototype.once); + +goog.exportProperty( + GVol.Observable.prototype, + 'un', + GVol.Observable.prototype.un); + +goog.exportSymbGVol( + 'GVol.Overlay', + GVol.Overlay, + OPENLAYERS); + +goog.exportProperty( + GVol.Overlay.prototype, + 'getElement', + GVol.Overlay.prototype.getElement); + +goog.exportProperty( + GVol.Overlay.prototype, + 'getId', + GVol.Overlay.prototype.getId); + +goog.exportProperty( + GVol.Overlay.prototype, + 'getMap', + GVol.Overlay.prototype.getMap); + +goog.exportProperty( + GVol.Overlay.prototype, + 'getOffset', + GVol.Overlay.prototype.getOffset); + +goog.exportProperty( + GVol.Overlay.prototype, + 'getPosition', + GVol.Overlay.prototype.getPosition); + +goog.exportProperty( + GVol.Overlay.prototype, + 'getPositioning', + GVol.Overlay.prototype.getPositioning); + +goog.exportProperty( + GVol.Overlay.prototype, + 'setElement', + GVol.Overlay.prototype.setElement); + +goog.exportProperty( + GVol.Overlay.prototype, + 'setMap', + GVol.Overlay.prototype.setMap); + +goog.exportProperty( + GVol.Overlay.prototype, + 'setOffset', + GVol.Overlay.prototype.setOffset); + +goog.exportProperty( + GVol.Overlay.prototype, + 'setPosition', + GVol.Overlay.prototype.setPosition); + +goog.exportProperty( + GVol.Overlay.prototype, + 'setPositioning', + GVol.Overlay.prototype.setPositioning); + +goog.exportSymbGVol( + 'GVol.proj.METERS_PER_UNIT', + GVol.proj.METERS_PER_UNIT, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.setProj4', + GVol.proj.setProj4, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.getPointResGVolution', + GVol.proj.getPointResGVolution, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.addEquivalentProjections', + GVol.proj.addEquivalentProjections, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.addProjection', + GVol.proj.addProjection, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.addCoordinateTransforms', + GVol.proj.addCoordinateTransforms, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.fromLonLat', + GVol.proj.fromLonLat, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.toLonLat', + GVol.proj.toLonLat, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.get', + GVol.proj.get, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.equivalent', + GVol.proj.equivalent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.getTransform', + GVol.proj.getTransform, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.transform', + GVol.proj.transform, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.transformExtent', + GVol.proj.transformExtent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.render.toContext', + GVol.render.toContext, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.size.toSize', + GVol.size.toSize, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.Sphere', + GVol.Sphere, + OPENLAYERS); + +goog.exportProperty( + GVol.Sphere.prototype, + 'geodesicArea', + GVol.Sphere.prototype.geodesicArea); + +goog.exportProperty( + GVol.Sphere.prototype, + 'haversineDistance', + GVol.Sphere.prototype.haversineDistance); + +goog.exportSymbGVol( + 'GVol.Sphere.getLength', + GVol.Sphere.getLength, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.Sphere.getArea', + GVol.Sphere.getArea, + OPENLAYERS); + +goog.exportProperty( + GVol.Tile.prototype, + 'getTileCoord', + GVol.Tile.prototype.getTileCoord); + +goog.exportProperty( + GVol.Tile.prototype, + 'load', + GVol.Tile.prototype.load); + +goog.exportSymbGVol( + 'GVol.tilegrid.createXYZ', + GVol.tilegrid.createXYZ, + OPENLAYERS); + +goog.exportProperty( + GVol.VectorTile.prototype, + 'getFormat', + GVol.VectorTile.prototype.getFormat); + +goog.exportProperty( + GVol.VectorTile.prototype, + 'getFeatures', + GVol.VectorTile.prototype.getFeatures); + +goog.exportProperty( + GVol.VectorTile.prototype, + 'getProjection', + GVol.VectorTile.prototype.getProjection); + +goog.exportProperty( + GVol.VectorTile.prototype, + 'setExtent', + GVol.VectorTile.prototype.setExtent); + +goog.exportProperty( + GVol.VectorTile.prototype, + 'setFeatures', + GVol.VectorTile.prototype.setFeatures); + +goog.exportProperty( + GVol.VectorTile.prototype, + 'setProjection', + GVol.VectorTile.prototype.setProjection); + +goog.exportProperty( + GVol.VectorTile.prototype, + 'setLoader', + GVol.VectorTile.prototype.setLoader); + +goog.exportSymbGVol( + 'GVol.View', + GVol.View, + OPENLAYERS); + +goog.exportProperty( + GVol.View.prototype, + 'animate', + GVol.View.prototype.animate); + +goog.exportProperty( + GVol.View.prototype, + 'getAnimating', + GVol.View.prototype.getAnimating); + +goog.exportProperty( + GVol.View.prototype, + 'getInteracting', + GVol.View.prototype.getInteracting); + +goog.exportProperty( + GVol.View.prototype, + 'cancelAnimations', + GVol.View.prototype.cancelAnimations); + +goog.exportProperty( + GVol.View.prototype, + 'constrainCenter', + GVol.View.prototype.constrainCenter); + +goog.exportProperty( + GVol.View.prototype, + 'constrainResGVolution', + GVol.View.prototype.constrainResGVolution); + +goog.exportProperty( + GVol.View.prototype, + 'constrainRotation', + GVol.View.prototype.constrainRotation); + +goog.exportProperty( + GVol.View.prototype, + 'getCenter', + GVol.View.prototype.getCenter); + +goog.exportProperty( + GVol.View.prototype, + 'calculateExtent', + GVol.View.prototype.calculateExtent); + +goog.exportProperty( + GVol.View.prototype, + 'getMaxResGVolution', + GVol.View.prototype.getMaxResGVolution); + +goog.exportProperty( + GVol.View.prototype, + 'getMinResGVolution', + GVol.View.prototype.getMinResGVolution); + +goog.exportProperty( + GVol.View.prototype, + 'getMaxZoom', + GVol.View.prototype.getMaxZoom); + +goog.exportProperty( + GVol.View.prototype, + 'setMaxZoom', + GVol.View.prototype.setMaxZoom); + +goog.exportProperty( + GVol.View.prototype, + 'getMinZoom', + GVol.View.prototype.getMinZoom); + +goog.exportProperty( + GVol.View.prototype, + 'setMinZoom', + GVol.View.prototype.setMinZoom); + +goog.exportProperty( + GVol.View.prototype, + 'getProjection', + GVol.View.prototype.getProjection); + +goog.exportProperty( + GVol.View.prototype, + 'getResGVolution', + GVol.View.prototype.getResGVolution); + +goog.exportProperty( + GVol.View.prototype, + 'getResGVolutions', + GVol.View.prototype.getResGVolutions); + +goog.exportProperty( + GVol.View.prototype, + 'getResGVolutionForExtent', + GVol.View.prototype.getResGVolutionForExtent); + +goog.exportProperty( + GVol.View.prototype, + 'getRotation', + GVol.View.prototype.getRotation); + +goog.exportProperty( + GVol.View.prototype, + 'getZoom', + GVol.View.prototype.getZoom); + +goog.exportProperty( + GVol.View.prototype, + 'getZoomForResGVolution', + GVol.View.prototype.getZoomForResGVolution); + +goog.exportProperty( + GVol.View.prototype, + 'getResGVolutionForZoom', + GVol.View.prototype.getResGVolutionForZoom); + +goog.exportProperty( + GVol.View.prototype, + 'fit', + GVol.View.prototype.fit); + +goog.exportProperty( + GVol.View.prototype, + 'centerOn', + GVol.View.prototype.centerOn); + +goog.exportProperty( + GVol.View.prototype, + 'rotate', + GVol.View.prototype.rotate); + +goog.exportProperty( + GVol.View.prototype, + 'setCenter', + GVol.View.prototype.setCenter); + +goog.exportProperty( + GVol.View.prototype, + 'setResGVolution', + GVol.View.prototype.setResGVolution); + +goog.exportProperty( + GVol.View.prototype, + 'setRotation', + GVol.View.prototype.setRotation); + +goog.exportProperty( + GVol.View.prototype, + 'setZoom', + GVol.View.prototype.setZoom); + +goog.exportSymbGVol( + 'GVol.xml.getAllTextContent', + GVol.xml.getAllTextContent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.xml.parse', + GVol.xml.parse, + OPENLAYERS); + +goog.exportProperty( + GVol.webgl.Context.prototype, + 'getGL', + GVol.webgl.Context.prototype.getGL); + +goog.exportProperty( + GVol.webgl.Context.prototype, + 'useProgram', + GVol.webgl.Context.prototype.useProgram); + +goog.exportSymbGVol( + 'GVol.tilegrid.TileGrid', + GVol.tilegrid.TileGrid, + OPENLAYERS); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'forEachTileCoord', + GVol.tilegrid.TileGrid.prototype.forEachTileCoord); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getMaxZoom', + GVol.tilegrid.TileGrid.prototype.getMaxZoom); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getMinZoom', + GVol.tilegrid.TileGrid.prototype.getMinZoom); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getOrigin', + GVol.tilegrid.TileGrid.prototype.getOrigin); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getResGVolution', + GVol.tilegrid.TileGrid.prototype.getResGVolution); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getResGVolutions', + GVol.tilegrid.TileGrid.prototype.getResGVolutions); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getTileCoordExtent', + GVol.tilegrid.TileGrid.prototype.getTileCoordExtent); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getTileCoordForCoordAndResGVolution', + GVol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndResGVolution); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getTileCoordForCoordAndZ', + GVol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndZ); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getTileSize', + GVol.tilegrid.TileGrid.prototype.getTileSize); + +goog.exportProperty( + GVol.tilegrid.TileGrid.prototype, + 'getZForResGVolution', + GVol.tilegrid.TileGrid.prototype.getZForResGVolution); + +goog.exportSymbGVol( + 'GVol.tilegrid.WMTS', + GVol.tilegrid.WMTS, + OPENLAYERS); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getMatrixIds', + GVol.tilegrid.WMTS.prototype.getMatrixIds); + +goog.exportSymbGVol( + 'GVol.tilegrid.WMTS.createFromCapabilitiesMatrixSet', + GVol.tilegrid.WMTS.createFromCapabilitiesMatrixSet, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.style.AtlasManager', + GVol.style.AtlasManager, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.style.Circle', + GVol.style.Circle, + OPENLAYERS); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'setRadius', + GVol.style.Circle.prototype.setRadius); + +goog.exportSymbGVol( + 'GVol.style.Fill', + GVol.style.Fill, + OPENLAYERS); + +goog.exportProperty( + GVol.style.Fill.prototype, + 'clone', + GVol.style.Fill.prototype.clone); + +goog.exportProperty( + GVol.style.Fill.prototype, + 'getCGVolor', + GVol.style.Fill.prototype.getCGVolor); + +goog.exportProperty( + GVol.style.Fill.prototype, + 'setCGVolor', + GVol.style.Fill.prototype.setCGVolor); + +goog.exportSymbGVol( + 'GVol.style.Icon', + GVol.style.Icon, + OPENLAYERS); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'clone', + GVol.style.Icon.prototype.clone); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getAnchor', + GVol.style.Icon.prototype.getAnchor); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getCGVolor', + GVol.style.Icon.prototype.getCGVolor); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getImage', + GVol.style.Icon.prototype.getImage); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getOrigin', + GVol.style.Icon.prototype.getOrigin); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getSrc', + GVol.style.Icon.prototype.getSrc); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getSize', + GVol.style.Icon.prototype.getSize); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'load', + GVol.style.Icon.prototype.load); + +goog.exportSymbGVol( + 'GVol.style.Image', + GVol.style.Image, + OPENLAYERS); + +goog.exportProperty( + GVol.style.Image.prototype, + 'getOpacity', + GVol.style.Image.prototype.getOpacity); + +goog.exportProperty( + GVol.style.Image.prototype, + 'getRotateWithView', + GVol.style.Image.prototype.getRotateWithView); + +goog.exportProperty( + GVol.style.Image.prototype, + 'getRotation', + GVol.style.Image.prototype.getRotation); + +goog.exportProperty( + GVol.style.Image.prototype, + 'getScale', + GVol.style.Image.prototype.getScale); + +goog.exportProperty( + GVol.style.Image.prototype, + 'getSnapToPixel', + GVol.style.Image.prototype.getSnapToPixel); + +goog.exportProperty( + GVol.style.Image.prototype, + 'setOpacity', + GVol.style.Image.prototype.setOpacity); + +goog.exportProperty( + GVol.style.Image.prototype, + 'setRotation', + GVol.style.Image.prototype.setRotation); + +goog.exportProperty( + GVol.style.Image.prototype, + 'setScale', + GVol.style.Image.prototype.setScale); + +goog.exportSymbGVol( + 'GVol.style.RegularShape', + GVol.style.RegularShape, + OPENLAYERS); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'clone', + GVol.style.RegularShape.prototype.clone); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getAnchor', + GVol.style.RegularShape.prototype.getAnchor); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getAngle', + GVol.style.RegularShape.prototype.getAngle); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getFill', + GVol.style.RegularShape.prototype.getFill); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getImage', + GVol.style.RegularShape.prototype.getImage); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getOrigin', + GVol.style.RegularShape.prototype.getOrigin); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getPoints', + GVol.style.RegularShape.prototype.getPoints); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getRadius', + GVol.style.RegularShape.prototype.getRadius); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getRadius2', + GVol.style.RegularShape.prototype.getRadius2); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getSize', + GVol.style.RegularShape.prototype.getSize); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getStroke', + GVol.style.RegularShape.prototype.getStroke); + +goog.exportSymbGVol( + 'GVol.style.Stroke', + GVol.style.Stroke, + OPENLAYERS); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'clone', + GVol.style.Stroke.prototype.clone); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'getCGVolor', + GVol.style.Stroke.prototype.getCGVolor); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'getLineCap', + GVol.style.Stroke.prototype.getLineCap); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'getLineDash', + GVol.style.Stroke.prototype.getLineDash); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'getLineDashOffset', + GVol.style.Stroke.prototype.getLineDashOffset); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'getLineJoin', + GVol.style.Stroke.prototype.getLineJoin); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'getMiterLimit', + GVol.style.Stroke.prototype.getMiterLimit); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'getWidth', + GVol.style.Stroke.prototype.getWidth); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'setCGVolor', + GVol.style.Stroke.prototype.setCGVolor); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'setLineCap', + GVol.style.Stroke.prototype.setLineCap); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'setLineDash', + GVol.style.Stroke.prototype.setLineDash); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'setLineDashOffset', + GVol.style.Stroke.prototype.setLineDashOffset); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'setLineJoin', + GVol.style.Stroke.prototype.setLineJoin); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'setMiterLimit', + GVol.style.Stroke.prototype.setMiterLimit); + +goog.exportProperty( + GVol.style.Stroke.prototype, + 'setWidth', + GVol.style.Stroke.prototype.setWidth); + +goog.exportSymbGVol( + 'GVol.style.Style', + GVol.style.Style, + OPENLAYERS); + +goog.exportProperty( + GVol.style.Style.prototype, + 'clone', + GVol.style.Style.prototype.clone); + +goog.exportProperty( + GVol.style.Style.prototype, + 'getRenderer', + GVol.style.Style.prototype.getRenderer); + +goog.exportProperty( + GVol.style.Style.prototype, + 'setRenderer', + GVol.style.Style.prototype.setRenderer); + +goog.exportProperty( + GVol.style.Style.prototype, + 'getGeometry', + GVol.style.Style.prototype.getGeometry); + +goog.exportProperty( + GVol.style.Style.prototype, + 'getGeometryFunction', + GVol.style.Style.prototype.getGeometryFunction); + +goog.exportProperty( + GVol.style.Style.prototype, + 'getFill', + GVol.style.Style.prototype.getFill); + +goog.exportProperty( + GVol.style.Style.prototype, + 'setFill', + GVol.style.Style.prototype.setFill); + +goog.exportProperty( + GVol.style.Style.prototype, + 'getImage', + GVol.style.Style.prototype.getImage); + +goog.exportProperty( + GVol.style.Style.prototype, + 'setImage', + GVol.style.Style.prototype.setImage); + +goog.exportProperty( + GVol.style.Style.prototype, + 'getStroke', + GVol.style.Style.prototype.getStroke); + +goog.exportProperty( + GVol.style.Style.prototype, + 'setStroke', + GVol.style.Style.prototype.setStroke); + +goog.exportProperty( + GVol.style.Style.prototype, + 'getText', + GVol.style.Style.prototype.getText); + +goog.exportProperty( + GVol.style.Style.prototype, + 'setText', + GVol.style.Style.prototype.setText); + +goog.exportProperty( + GVol.style.Style.prototype, + 'getZIndex', + GVol.style.Style.prototype.getZIndex); + +goog.exportProperty( + GVol.style.Style.prototype, + 'setGeometry', + GVol.style.Style.prototype.setGeometry); + +goog.exportProperty( + GVol.style.Style.prototype, + 'setZIndex', + GVol.style.Style.prototype.setZIndex); + +goog.exportSymbGVol( + 'GVol.style.Text', + GVol.style.Text, + OPENLAYERS); + +goog.exportProperty( + GVol.style.Text.prototype, + 'clone', + GVol.style.Text.prototype.clone); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getFont', + GVol.style.Text.prototype.getFont); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getOffsetX', + GVol.style.Text.prototype.getOffsetX); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getOffsetY', + GVol.style.Text.prototype.getOffsetY); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getFill', + GVol.style.Text.prototype.getFill); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getRotateWithView', + GVol.style.Text.prototype.getRotateWithView); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getRotation', + GVol.style.Text.prototype.getRotation); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getScale', + GVol.style.Text.prototype.getScale); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getStroke', + GVol.style.Text.prototype.getStroke); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getText', + GVol.style.Text.prototype.getText); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getTextAlign', + GVol.style.Text.prototype.getTextAlign); + +goog.exportProperty( + GVol.style.Text.prototype, + 'getTextBaseline', + GVol.style.Text.prototype.getTextBaseline); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setFont', + GVol.style.Text.prototype.setFont); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setOffsetX', + GVol.style.Text.prototype.setOffsetX); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setOffsetY', + GVol.style.Text.prototype.setOffsetY); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setFill', + GVol.style.Text.prototype.setFill); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setRotation', + GVol.style.Text.prototype.setRotation); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setScale', + GVol.style.Text.prototype.setScale); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setStroke', + GVol.style.Text.prototype.setStroke); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setText', + GVol.style.Text.prototype.setText); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setTextAlign', + GVol.style.Text.prototype.setTextAlign); + +goog.exportProperty( + GVol.style.Text.prototype, + 'setTextBaseline', + GVol.style.Text.prototype.setTextBaseline); + +goog.exportSymbGVol( + 'GVol.source.BingMaps', + GVol.source.BingMaps, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.BingMaps.TOS_ATTRIBUTION', + GVol.source.BingMaps.TOS_ATTRIBUTION, + OPENLAYERS); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getApiKey', + GVol.source.BingMaps.prototype.getApiKey); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getImagerySet', + GVol.source.BingMaps.prototype.getImagerySet); + +goog.exportSymbGVol( + 'GVol.source.CartoDB', + GVol.source.CartoDB, + OPENLAYERS); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getConfig', + GVol.source.CartoDB.prototype.getConfig); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'updateConfig', + GVol.source.CartoDB.prototype.updateConfig); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'setConfig', + GVol.source.CartoDB.prototype.setConfig); + +goog.exportSymbGVol( + 'GVol.source.Cluster', + GVol.source.Cluster, + OPENLAYERS); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getDistance', + GVol.source.Cluster.prototype.getDistance); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getSource', + GVol.source.Cluster.prototype.getSource); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'setDistance', + GVol.source.Cluster.prototype.setDistance); + +goog.exportSymbGVol( + 'GVol.source.Image', + GVol.source.Image, + OPENLAYERS); + +goog.exportProperty( + GVol.source.Image.Event.prototype, + 'image', + GVol.source.Image.Event.prototype.image); + +goog.exportSymbGVol( + 'GVol.source.ImageArcGISRest', + GVol.source.ImageArcGISRest, + OPENLAYERS); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getParams', + GVol.source.ImageArcGISRest.prototype.getParams); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getImageLoadFunction', + GVol.source.ImageArcGISRest.prototype.getImageLoadFunction); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getUrl', + GVol.source.ImageArcGISRest.prototype.getUrl); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'setImageLoadFunction', + GVol.source.ImageArcGISRest.prototype.setImageLoadFunction); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'setUrl', + GVol.source.ImageArcGISRest.prototype.setUrl); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'updateParams', + GVol.source.ImageArcGISRest.prototype.updateParams); + +goog.exportSymbGVol( + 'GVol.source.ImageCanvas', + GVol.source.ImageCanvas, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.ImageMapGuide', + GVol.source.ImageMapGuide, + OPENLAYERS); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'getParams', + GVol.source.ImageMapGuide.prototype.getParams); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'getImageLoadFunction', + GVol.source.ImageMapGuide.prototype.getImageLoadFunction); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'updateParams', + GVol.source.ImageMapGuide.prototype.updateParams); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'setImageLoadFunction', + GVol.source.ImageMapGuide.prototype.setImageLoadFunction); + +goog.exportSymbGVol( + 'GVol.source.ImageStatic', + GVol.source.ImageStatic, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.ImageVector', + GVol.source.ImageVector, + OPENLAYERS); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getSource', + GVol.source.ImageVector.prototype.getSource); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getStyle', + GVol.source.ImageVector.prototype.getStyle); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getStyleFunction', + GVol.source.ImageVector.prototype.getStyleFunction); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'setStyle', + GVol.source.ImageVector.prototype.setStyle); + +goog.exportSymbGVol( + 'GVol.source.ImageWMS', + GVol.source.ImageWMS, + OPENLAYERS); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getGetFeatureInfoUrl', + GVol.source.ImageWMS.prototype.getGetFeatureInfoUrl); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getParams', + GVol.source.ImageWMS.prototype.getParams); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getImageLoadFunction', + GVol.source.ImageWMS.prototype.getImageLoadFunction); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getUrl', + GVol.source.ImageWMS.prototype.getUrl); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'setImageLoadFunction', + GVol.source.ImageWMS.prototype.setImageLoadFunction); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'setUrl', + GVol.source.ImageWMS.prototype.setUrl); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'updateParams', + GVol.source.ImageWMS.prototype.updateParams); + +goog.exportSymbGVol( + 'GVol.source.OSM', + GVol.source.OSM, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.OSM.ATTRIBUTION', + GVol.source.OSM.ATTRIBUTION, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.Raster', + GVol.source.Raster, + OPENLAYERS); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'setOperation', + GVol.source.Raster.prototype.setOperation); + +goog.exportProperty( + GVol.source.Raster.Event.prototype, + 'extent', + GVol.source.Raster.Event.prototype.extent); + +goog.exportProperty( + GVol.source.Raster.Event.prototype, + 'resGVolution', + GVol.source.Raster.Event.prototype.resGVolution); + +goog.exportProperty( + GVol.source.Raster.Event.prototype, + 'data', + GVol.source.Raster.Event.prototype.data); + +goog.exportSymbGVol( + 'GVol.source.Source', + GVol.source.Source, + OPENLAYERS); + +goog.exportProperty( + GVol.source.Source.prototype, + 'getAttributions', + GVol.source.Source.prototype.getAttributions); + +goog.exportProperty( + GVol.source.Source.prototype, + 'getLogo', + GVol.source.Source.prototype.getLogo); + +goog.exportProperty( + GVol.source.Source.prototype, + 'getProjection', + GVol.source.Source.prototype.getProjection); + +goog.exportProperty( + GVol.source.Source.prototype, + 'getState', + GVol.source.Source.prototype.getState); + +goog.exportProperty( + GVol.source.Source.prototype, + 'refresh', + GVol.source.Source.prototype.refresh); + +goog.exportProperty( + GVol.source.Source.prototype, + 'setAttributions', + GVol.source.Source.prototype.setAttributions); + +goog.exportSymbGVol( + 'GVol.source.Stamen', + GVol.source.Stamen, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.Tile', + GVol.source.Tile, + OPENLAYERS); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'getTileGrid', + GVol.source.Tile.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.Tile.Event.prototype, + 'tile', + GVol.source.Tile.Event.prototype.tile); + +goog.exportSymbGVol( + 'GVol.source.TileArcGISRest', + GVol.source.TileArcGISRest, + OPENLAYERS); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getParams', + GVol.source.TileArcGISRest.prototype.getParams); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'updateParams', + GVol.source.TileArcGISRest.prototype.updateParams); + +goog.exportSymbGVol( + 'GVol.source.TileDebug', + GVol.source.TileDebug, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.TileImage', + GVol.source.TileImage, + OPENLAYERS); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'setRenderReprojectionEdges', + GVol.source.TileImage.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'setTileGridForProjection', + GVol.source.TileImage.prototype.setTileGridForProjection); + +goog.exportSymbGVol( + 'GVol.source.TileJSON', + GVol.source.TileJSON, + OPENLAYERS); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getTileJSON', + GVol.source.TileJSON.prototype.getTileJSON); + +goog.exportSymbGVol( + 'GVol.source.TileUTFGrid', + GVol.source.TileUTFGrid, + OPENLAYERS); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'getTemplate', + GVol.source.TileUTFGrid.prototype.getTemplate); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'forDataAtCoordinateAndResGVolution', + GVol.source.TileUTFGrid.prototype.forDataAtCoordinateAndResGVolution); + +goog.exportSymbGVol( + 'GVol.source.TileWMS', + GVol.source.TileWMS, + OPENLAYERS); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getGetFeatureInfoUrl', + GVol.source.TileWMS.prototype.getGetFeatureInfoUrl); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getParams', + GVol.source.TileWMS.prototype.getParams); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'updateParams', + GVol.source.TileWMS.prototype.updateParams); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getTileLoadFunction', + GVol.source.UrlTile.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getTileUrlFunction', + GVol.source.UrlTile.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getUrls', + GVol.source.UrlTile.prototype.getUrls); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'setTileLoadFunction', + GVol.source.UrlTile.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'setTileUrlFunction', + GVol.source.UrlTile.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'setUrl', + GVol.source.UrlTile.prototype.setUrl); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'setUrls', + GVol.source.UrlTile.prototype.setUrls); + +goog.exportSymbGVol( + 'GVol.source.Vector', + GVol.source.Vector, + OPENLAYERS); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'addFeature', + GVol.source.Vector.prototype.addFeature); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'addFeatures', + GVol.source.Vector.prototype.addFeatures); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'clear', + GVol.source.Vector.prototype.clear); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'forEachFeature', + GVol.source.Vector.prototype.forEachFeature); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'forEachFeatureInExtent', + GVol.source.Vector.prototype.forEachFeatureInExtent); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'forEachFeatureIntersectingExtent', + GVol.source.Vector.prototype.forEachFeatureIntersectingExtent); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getFeaturesCGVollection', + GVol.source.Vector.prototype.getFeaturesCGVollection); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getFeatures', + GVol.source.Vector.prototype.getFeatures); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getFeaturesAtCoordinate', + GVol.source.Vector.prototype.getFeaturesAtCoordinate); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getFeaturesInExtent', + GVol.source.Vector.prototype.getFeaturesInExtent); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getClosestFeatureToCoordinate', + GVol.source.Vector.prototype.getClosestFeatureToCoordinate); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getExtent', + GVol.source.Vector.prototype.getExtent); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getFeatureById', + GVol.source.Vector.prototype.getFeatureById); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getFormat', + GVol.source.Vector.prototype.getFormat); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getUrl', + GVol.source.Vector.prototype.getUrl); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'removeFeature', + GVol.source.Vector.prototype.removeFeature); + +goog.exportProperty( + GVol.source.Vector.Event.prototype, + 'feature', + GVol.source.Vector.Event.prototype.feature); + +goog.exportSymbGVol( + 'GVol.source.VectorTile', + GVol.source.VectorTile, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.WMTS', + GVol.source.WMTS, + OPENLAYERS); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getDimensions', + GVol.source.WMTS.prototype.getDimensions); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getFormat', + GVol.source.WMTS.prototype.getFormat); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getLayer', + GVol.source.WMTS.prototype.getLayer); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getMatrixSet', + GVol.source.WMTS.prototype.getMatrixSet); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getRequestEncoding', + GVol.source.WMTS.prototype.getRequestEncoding); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getStyle', + GVol.source.WMTS.prototype.getStyle); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getVersion', + GVol.source.WMTS.prototype.getVersion); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'updateDimensions', + GVol.source.WMTS.prototype.updateDimensions); + +goog.exportSymbGVol( + 'GVol.source.WMTS.optionsFromCapabilities', + GVol.source.WMTS.optionsFromCapabilities, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.XYZ', + GVol.source.XYZ, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.source.Zoomify', + GVol.source.Zoomify, + OPENLAYERS); + +goog.exportProperty( + GVol.render.Event.prototype, + 'vectorContext', + GVol.render.Event.prototype.vectorContext); + +goog.exportProperty( + GVol.render.Event.prototype, + 'frameState', + GVol.render.Event.prototype.frameState); + +goog.exportProperty( + GVol.render.Event.prototype, + 'context', + GVol.render.Event.prototype.context); + +goog.exportProperty( + GVol.render.Event.prototype, + 'glContext', + GVol.render.Event.prototype.glContext); + +goog.exportProperty( + GVol.render.Feature.prototype, + 'get', + GVol.render.Feature.prototype.get); + +goog.exportProperty( + GVol.render.Feature.prototype, + 'getExtent', + GVol.render.Feature.prototype.getExtent); + +goog.exportProperty( + GVol.render.Feature.prototype, + 'getId', + GVol.render.Feature.prototype.getId); + +goog.exportProperty( + GVol.render.Feature.prototype, + 'getGeometry', + GVol.render.Feature.prototype.getGeometry); + +goog.exportProperty( + GVol.render.Feature.prototype, + 'getProperties', + GVol.render.Feature.prototype.getProperties); + +goog.exportProperty( + GVol.render.Feature.prototype, + 'getType', + GVol.render.Feature.prototype.getType); + +goog.exportSymbGVol( + 'GVol.render.VectorContext', + GVol.render.VectorContext, + OPENLAYERS); + +goog.exportProperty( + GVol.render.webgl.Immediate.prototype, + 'setStyle', + GVol.render.webgl.Immediate.prototype.setStyle); + +goog.exportProperty( + GVol.render.webgl.Immediate.prototype, + 'drawGeometry', + GVol.render.webgl.Immediate.prototype.drawGeometry); + +goog.exportProperty( + GVol.render.webgl.Immediate.prototype, + 'drawFeature', + GVol.render.webgl.Immediate.prototype.drawFeature); + +goog.exportProperty( + GVol.render.canvas.Immediate.prototype, + 'drawCircle', + GVol.render.canvas.Immediate.prototype.drawCircle); + +goog.exportProperty( + GVol.render.canvas.Immediate.prototype, + 'setStyle', + GVol.render.canvas.Immediate.prototype.setStyle); + +goog.exportProperty( + GVol.render.canvas.Immediate.prototype, + 'drawGeometry', + GVol.render.canvas.Immediate.prototype.drawGeometry); + +goog.exportProperty( + GVol.render.canvas.Immediate.prototype, + 'drawFeature', + GVol.render.canvas.Immediate.prototype.drawFeature); + +goog.exportSymbGVol( + 'GVol.proj.common.add', + GVol.proj.common.add, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.proj.Projection', + GVol.proj.Projection, + OPENLAYERS); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'getCode', + GVol.proj.Projection.prototype.getCode); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'getExtent', + GVol.proj.Projection.prototype.getExtent); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'getUnits', + GVol.proj.Projection.prototype.getUnits); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'getMetersPerUnit', + GVol.proj.Projection.prototype.getMetersPerUnit); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'getWorldExtent', + GVol.proj.Projection.prototype.getWorldExtent); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'isGlobal', + GVol.proj.Projection.prototype.isGlobal); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'setGlobal', + GVol.proj.Projection.prototype.setGlobal); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'setExtent', + GVol.proj.Projection.prototype.setExtent); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'setWorldExtent', + GVol.proj.Projection.prototype.setWorldExtent); + +goog.exportProperty( + GVol.proj.Projection.prototype, + 'setGetPointResGVolution', + GVol.proj.Projection.prototype.setGetPointResGVolution); + +goog.exportSymbGVol( + 'GVol.proj.Units.METERS_PER_UNIT', + GVol.proj.Units.METERS_PER_UNIT, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.layer.Base', + GVol.layer.Base, + OPENLAYERS); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'getExtent', + GVol.layer.Base.prototype.getExtent); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'getMaxResGVolution', + GVol.layer.Base.prototype.getMaxResGVolution); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'getMinResGVolution', + GVol.layer.Base.prototype.getMinResGVolution); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'getOpacity', + GVol.layer.Base.prototype.getOpacity); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'getVisible', + GVol.layer.Base.prototype.getVisible); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'getZIndex', + GVol.layer.Base.prototype.getZIndex); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'setExtent', + GVol.layer.Base.prototype.setExtent); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'setMaxResGVolution', + GVol.layer.Base.prototype.setMaxResGVolution); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'setMinResGVolution', + GVol.layer.Base.prototype.setMinResGVolution); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'setOpacity', + GVol.layer.Base.prototype.setOpacity); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'setVisible', + GVol.layer.Base.prototype.setVisible); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'setZIndex', + GVol.layer.Base.prototype.setZIndex); + +goog.exportSymbGVol( + 'GVol.layer.Group', + GVol.layer.Group, + OPENLAYERS); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getLayers', + GVol.layer.Group.prototype.getLayers); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'setLayers', + GVol.layer.Group.prototype.setLayers); + +goog.exportSymbGVol( + 'GVol.layer.Heatmap', + GVol.layer.Heatmap, + OPENLAYERS); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getBlur', + GVol.layer.Heatmap.prototype.getBlur); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getGradient', + GVol.layer.Heatmap.prototype.getGradient); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getRadius', + GVol.layer.Heatmap.prototype.getRadius); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setBlur', + GVol.layer.Heatmap.prototype.setBlur); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setGradient', + GVol.layer.Heatmap.prototype.setGradient); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setRadius', + GVol.layer.Heatmap.prototype.setRadius); + +goog.exportSymbGVol( + 'GVol.layer.Image', + GVol.layer.Image, + OPENLAYERS); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getSource', + GVol.layer.Image.prototype.getSource); + +goog.exportSymbGVol( + 'GVol.layer.Layer', + GVol.layer.Layer, + OPENLAYERS); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getSource', + GVol.layer.Layer.prototype.getSource); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'setMap', + GVol.layer.Layer.prototype.setMap); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'setSource', + GVol.layer.Layer.prototype.setSource); + +goog.exportSymbGVol( + 'GVol.layer.Tile', + GVol.layer.Tile, + OPENLAYERS); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getPreload', + GVol.layer.Tile.prototype.getPreload); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getSource', + GVol.layer.Tile.prototype.getSource); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setPreload', + GVol.layer.Tile.prototype.setPreload); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getUseInterimTilesOnError', + GVol.layer.Tile.prototype.getUseInterimTilesOnError); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setUseInterimTilesOnError', + GVol.layer.Tile.prototype.setUseInterimTilesOnError); + +goog.exportSymbGVol( + 'GVol.layer.Vector', + GVol.layer.Vector, + OPENLAYERS); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getSource', + GVol.layer.Vector.prototype.getSource); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getStyle', + GVol.layer.Vector.prototype.getStyle); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getStyleFunction', + GVol.layer.Vector.prototype.getStyleFunction); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setStyle', + GVol.layer.Vector.prototype.setStyle); + +goog.exportSymbGVol( + 'GVol.layer.VectorTile', + GVol.layer.VectorTile, + OPENLAYERS); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getPreload', + GVol.layer.VectorTile.prototype.getPreload); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getUseInterimTilesOnError', + GVol.layer.VectorTile.prototype.getUseInterimTilesOnError); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setPreload', + GVol.layer.VectorTile.prototype.setPreload); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setUseInterimTilesOnError', + GVol.layer.VectorTile.prototype.setUseInterimTilesOnError); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getSource', + GVol.layer.VectorTile.prototype.getSource); + +goog.exportSymbGVol( + 'GVol.interaction.DoubleClickZoom', + GVol.interaction.DoubleClickZoom, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.DoubleClickZoom.handleEvent', + GVol.interaction.DoubleClickZoom.handleEvent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.DragAndDrop', + GVol.interaction.DragAndDrop, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.DragAndDrop.handleEvent', + GVol.interaction.DragAndDrop.handleEvent, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.DragAndDrop.Event.prototype, + 'features', + GVol.interaction.DragAndDrop.Event.prototype.features); + +goog.exportProperty( + GVol.interaction.DragAndDrop.Event.prototype, + 'file', + GVol.interaction.DragAndDrop.Event.prototype.file); + +goog.exportProperty( + GVol.interaction.DragAndDrop.Event.prototype, + 'projection', + GVol.interaction.DragAndDrop.Event.prototype.projection); + +goog.exportSymbGVol( + 'GVol.interaction.DragBox', + GVol.interaction.DragBox, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'getGeometry', + GVol.interaction.DragBox.prototype.getGeometry); + +goog.exportProperty( + GVol.interaction.DragBox.Event.prototype, + 'coordinate', + GVol.interaction.DragBox.Event.prototype.coordinate); + +goog.exportProperty( + GVol.interaction.DragBox.Event.prototype, + 'mapBrowserEvent', + GVol.interaction.DragBox.Event.prototype.mapBrowserEvent); + +goog.exportSymbGVol( + 'GVol.interaction.DragPan', + GVol.interaction.DragPan, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.DragRotate', + GVol.interaction.DragRotate, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.DragRotateAndZoom', + GVol.interaction.DragRotateAndZoom, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.DragZoom', + GVol.interaction.DragZoom, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.Draw', + GVol.interaction.Draw, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.Draw.handleEvent', + GVol.interaction.Draw.handleEvent, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'removeLastPoint', + GVol.interaction.Draw.prototype.removeLastPoint); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'finishDrawing', + GVol.interaction.Draw.prototype.finishDrawing); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'extend', + GVol.interaction.Draw.prototype.extend); + +goog.exportSymbGVol( + 'GVol.interaction.Draw.createRegularPGVolygon', + GVol.interaction.Draw.createRegularPGVolygon, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.Draw.createBox', + GVol.interaction.Draw.createBox, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.Draw.Event.prototype, + 'feature', + GVol.interaction.Draw.Event.prototype.feature); + +goog.exportSymbGVol( + 'GVol.interaction.Extent', + GVol.interaction.Extent, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'getExtent', + GVol.interaction.Extent.prototype.getExtent); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'setExtent', + GVol.interaction.Extent.prototype.setExtent); + +goog.exportProperty( + GVol.interaction.Extent.Event.prototype, + 'extent', + GVol.interaction.Extent.Event.prototype.extent); + +goog.exportSymbGVol( + 'GVol.interaction.Interaction', + GVol.interaction.Interaction, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'getActive', + GVol.interaction.Interaction.prototype.getActive); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'getMap', + GVol.interaction.Interaction.prototype.getMap); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'setActive', + GVol.interaction.Interaction.prototype.setActive); + +goog.exportSymbGVol( + 'GVol.interaction.KeyboardPan', + GVol.interaction.KeyboardPan, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.KeyboardPan.handleEvent', + GVol.interaction.KeyboardPan.handleEvent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.KeyboardZoom', + GVol.interaction.KeyboardZoom, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.KeyboardZoom.handleEvent', + GVol.interaction.KeyboardZoom.handleEvent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.Modify', + GVol.interaction.Modify, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.Modify.handleEvent', + GVol.interaction.Modify.handleEvent, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'removePoint', + GVol.interaction.Modify.prototype.removePoint); + +goog.exportProperty( + GVol.interaction.Modify.Event.prototype, + 'features', + GVol.interaction.Modify.Event.prototype.features); + +goog.exportProperty( + GVol.interaction.Modify.Event.prototype, + 'mapBrowserEvent', + GVol.interaction.Modify.Event.prototype.mapBrowserEvent); + +goog.exportSymbGVol( + 'GVol.interaction.MouseWheelZoom', + GVol.interaction.MouseWheelZoom, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.MouseWheelZoom.handleEvent', + GVol.interaction.MouseWheelZoom.handleEvent, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'setMouseAnchor', + GVol.interaction.MouseWheelZoom.prototype.setMouseAnchor); + +goog.exportSymbGVol( + 'GVol.interaction.PinchRotate', + GVol.interaction.PinchRotate, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.PinchZoom', + GVol.interaction.PinchZoom, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.Pointer', + GVol.interaction.Pointer, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.Pointer.handleEvent', + GVol.interaction.Pointer.handleEvent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.interaction.Select', + GVol.interaction.Select, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'getFeatures', + GVol.interaction.Select.prototype.getFeatures); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'getHitTGVolerance', + GVol.interaction.Select.prototype.getHitTGVolerance); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'getLayer', + GVol.interaction.Select.prototype.getLayer); + +goog.exportSymbGVol( + 'GVol.interaction.Select.handleEvent', + GVol.interaction.Select.handleEvent, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'setHitTGVolerance', + GVol.interaction.Select.prototype.setHitTGVolerance); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'setMap', + GVol.interaction.Select.prototype.setMap); + +goog.exportProperty( + GVol.interaction.Select.Event.prototype, + 'selected', + GVol.interaction.Select.Event.prototype.selected); + +goog.exportProperty( + GVol.interaction.Select.Event.prototype, + 'deselected', + GVol.interaction.Select.Event.prototype.deselected); + +goog.exportProperty( + GVol.interaction.Select.Event.prototype, + 'mapBrowserEvent', + GVol.interaction.Select.Event.prototype.mapBrowserEvent); + +goog.exportSymbGVol( + 'GVol.interaction.Snap', + GVol.interaction.Snap, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'addFeature', + GVol.interaction.Snap.prototype.addFeature); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'removeFeature', + GVol.interaction.Snap.prototype.removeFeature); + +goog.exportSymbGVol( + 'GVol.interaction.Translate', + GVol.interaction.Translate, + OPENLAYERS); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'getHitTGVolerance', + GVol.interaction.Translate.prototype.getHitTGVolerance); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'setHitTGVolerance', + GVol.interaction.Translate.prototype.setHitTGVolerance); + +goog.exportProperty( + GVol.interaction.Translate.Event.prototype, + 'features', + GVol.interaction.Translate.Event.prototype.features); + +goog.exportProperty( + GVol.interaction.Translate.Event.prototype, + 'coordinate', + GVol.interaction.Translate.Event.prototype.coordinate); + +goog.exportSymbGVol( + 'GVol.geom.Circle', + GVol.geom.Circle, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'clone', + GVol.geom.Circle.prototype.clone); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getCenter', + GVol.geom.Circle.prototype.getCenter); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getRadius', + GVol.geom.Circle.prototype.getRadius); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getType', + GVol.geom.Circle.prototype.getType); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'intersectsExtent', + GVol.geom.Circle.prototype.intersectsExtent); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'setCenter', + GVol.geom.Circle.prototype.setCenter); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'setCenterAndRadius', + GVol.geom.Circle.prototype.setCenterAndRadius); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'setRadius', + GVol.geom.Circle.prototype.setRadius); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'transform', + GVol.geom.Circle.prototype.transform); + +goog.exportSymbGVol( + 'GVol.geom.Geometry', + GVol.geom.Geometry, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'getClosestPoint', + GVol.geom.Geometry.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'intersectsCoordinate', + GVol.geom.Geometry.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'getExtent', + GVol.geom.Geometry.prototype.getExtent); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'rotate', + GVol.geom.Geometry.prototype.rotate); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'scale', + GVol.geom.Geometry.prototype.scale); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'simplify', + GVol.geom.Geometry.prototype.simplify); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'transform', + GVol.geom.Geometry.prototype.transform); + +goog.exportSymbGVol( + 'GVol.geom.GeometryCGVollection', + GVol.geom.GeometryCGVollection, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'clone', + GVol.geom.GeometryCGVollection.prototype.clone); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'getGeometries', + GVol.geom.GeometryCGVollection.prototype.getGeometries); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'getType', + GVol.geom.GeometryCGVollection.prototype.getType); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'intersectsExtent', + GVol.geom.GeometryCGVollection.prototype.intersectsExtent); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'setGeometries', + GVol.geom.GeometryCGVollection.prototype.setGeometries); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'applyTransform', + GVol.geom.GeometryCGVollection.prototype.applyTransform); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'translate', + GVol.geom.GeometryCGVollection.prototype.translate); + +goog.exportSymbGVol( + 'GVol.geom.LinearRing', + GVol.geom.LinearRing, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'clone', + GVol.geom.LinearRing.prototype.clone); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getArea', + GVol.geom.LinearRing.prototype.getArea); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getCoordinates', + GVol.geom.LinearRing.prototype.getCoordinates); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getType', + GVol.geom.LinearRing.prototype.getType); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'setCoordinates', + GVol.geom.LinearRing.prototype.setCoordinates); + +goog.exportSymbGVol( + 'GVol.geom.LineString', + GVol.geom.LineString, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'appendCoordinate', + GVol.geom.LineString.prototype.appendCoordinate); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'clone', + GVol.geom.LineString.prototype.clone); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'forEachSegment', + GVol.geom.LineString.prototype.forEachSegment); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getCoordinateAtM', + GVol.geom.LineString.prototype.getCoordinateAtM); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getCoordinates', + GVol.geom.LineString.prototype.getCoordinates); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getCoordinateAt', + GVol.geom.LineString.prototype.getCoordinateAt); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getLength', + GVol.geom.LineString.prototype.getLength); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getType', + GVol.geom.LineString.prototype.getType); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'intersectsExtent', + GVol.geom.LineString.prototype.intersectsExtent); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'setCoordinates', + GVol.geom.LineString.prototype.setCoordinates); + +goog.exportSymbGVol( + 'GVol.geom.MultiLineString', + GVol.geom.MultiLineString, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'appendLineString', + GVol.geom.MultiLineString.prototype.appendLineString); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'clone', + GVol.geom.MultiLineString.prototype.clone); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getCoordinateAtM', + GVol.geom.MultiLineString.prototype.getCoordinateAtM); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getCoordinates', + GVol.geom.MultiLineString.prototype.getCoordinates); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getLineString', + GVol.geom.MultiLineString.prototype.getLineString); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getLineStrings', + GVol.geom.MultiLineString.prototype.getLineStrings); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getType', + GVol.geom.MultiLineString.prototype.getType); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'intersectsExtent', + GVol.geom.MultiLineString.prototype.intersectsExtent); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'setCoordinates', + GVol.geom.MultiLineString.prototype.setCoordinates); + +goog.exportSymbGVol( + 'GVol.geom.MultiPoint', + GVol.geom.MultiPoint, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'appendPoint', + GVol.geom.MultiPoint.prototype.appendPoint); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'clone', + GVol.geom.MultiPoint.prototype.clone); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getCoordinates', + GVol.geom.MultiPoint.prototype.getCoordinates); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getPoint', + GVol.geom.MultiPoint.prototype.getPoint); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getPoints', + GVol.geom.MultiPoint.prototype.getPoints); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getType', + GVol.geom.MultiPoint.prototype.getType); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'intersectsExtent', + GVol.geom.MultiPoint.prototype.intersectsExtent); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'setCoordinates', + GVol.geom.MultiPoint.prototype.setCoordinates); + +goog.exportSymbGVol( + 'GVol.geom.MultiPGVolygon', + GVol.geom.MultiPGVolygon, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'appendPGVolygon', + GVol.geom.MultiPGVolygon.prototype.appendPGVolygon); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'clone', + GVol.geom.MultiPGVolygon.prototype.clone); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getArea', + GVol.geom.MultiPGVolygon.prototype.getArea); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getCoordinates', + GVol.geom.MultiPGVolygon.prototype.getCoordinates); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getInteriorPoints', + GVol.geom.MultiPGVolygon.prototype.getInteriorPoints); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getPGVolygon', + GVol.geom.MultiPGVolygon.prototype.getPGVolygon); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getPGVolygons', + GVol.geom.MultiPGVolygon.prototype.getPGVolygons); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getType', + GVol.geom.MultiPGVolygon.prototype.getType); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'intersectsExtent', + GVol.geom.MultiPGVolygon.prototype.intersectsExtent); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'setCoordinates', + GVol.geom.MultiPGVolygon.prototype.setCoordinates); + +goog.exportSymbGVol( + 'GVol.geom.Point', + GVol.geom.Point, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'clone', + GVol.geom.Point.prototype.clone); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getCoordinates', + GVol.geom.Point.prototype.getCoordinates); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getType', + GVol.geom.Point.prototype.getType); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'intersectsExtent', + GVol.geom.Point.prototype.intersectsExtent); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'setCoordinates', + GVol.geom.Point.prototype.setCoordinates); + +goog.exportSymbGVol( + 'GVol.geom.PGVolygon', + GVol.geom.PGVolygon, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'appendLinearRing', + GVol.geom.PGVolygon.prototype.appendLinearRing); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'clone', + GVol.geom.PGVolygon.prototype.clone); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getArea', + GVol.geom.PGVolygon.prototype.getArea); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getCoordinates', + GVol.geom.PGVolygon.prototype.getCoordinates); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getInteriorPoint', + GVol.geom.PGVolygon.prototype.getInteriorPoint); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getLinearRingCount', + GVol.geom.PGVolygon.prototype.getLinearRingCount); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getLinearRing', + GVol.geom.PGVolygon.prototype.getLinearRing); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getLinearRings', + GVol.geom.PGVolygon.prototype.getLinearRings); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getType', + GVol.geom.PGVolygon.prototype.getType); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'intersectsExtent', + GVol.geom.PGVolygon.prototype.intersectsExtent); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'setCoordinates', + GVol.geom.PGVolygon.prototype.setCoordinates); + +goog.exportSymbGVol( + 'GVol.geom.PGVolygon.circular', + GVol.geom.PGVolygon.circular, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.geom.PGVolygon.fromExtent', + GVol.geom.PGVolygon.fromExtent, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.geom.PGVolygon.fromCircle', + GVol.geom.PGVolygon.fromCircle, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.geom.SimpleGeometry', + GVol.geom.SimpleGeometry, + OPENLAYERS); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'getFirstCoordinate', + GVol.geom.SimpleGeometry.prototype.getFirstCoordinate); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'getLastCoordinate', + GVol.geom.SimpleGeometry.prototype.getLastCoordinate); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'getLayout', + GVol.geom.SimpleGeometry.prototype.getLayout); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'applyTransform', + GVol.geom.SimpleGeometry.prototype.applyTransform); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'translate', + GVol.geom.SimpleGeometry.prototype.translate); + +goog.exportSymbGVol( + 'GVol.format.EsriJSON', + GVol.format.EsriJSON, + OPENLAYERS); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'readFeature', + GVol.format.EsriJSON.prototype.readFeature); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'readFeatures', + GVol.format.EsriJSON.prototype.readFeatures); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'readGeometry', + GVol.format.EsriJSON.prototype.readGeometry); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'readProjection', + GVol.format.EsriJSON.prototype.readProjection); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'writeGeometry', + GVol.format.EsriJSON.prototype.writeGeometry); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'writeGeometryObject', + GVol.format.EsriJSON.prototype.writeGeometryObject); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'writeFeature', + GVol.format.EsriJSON.prototype.writeFeature); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'writeFeatureObject', + GVol.format.EsriJSON.prototype.writeFeatureObject); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'writeFeatures', + GVol.format.EsriJSON.prototype.writeFeatures); + +goog.exportProperty( + GVol.format.EsriJSON.prototype, + 'writeFeaturesObject', + GVol.format.EsriJSON.prototype.writeFeaturesObject); + +goog.exportSymbGVol( + 'GVol.format.Feature', + GVol.format.Feature, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.and', + GVol.format.filter.and, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.or', + GVol.format.filter.or, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.not', + GVol.format.filter.not, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.bbox', + GVol.format.filter.bbox, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.intersects', + GVol.format.filter.intersects, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.within', + GVol.format.filter.within, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.equalTo', + GVol.format.filter.equalTo, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.notEqualTo', + GVol.format.filter.notEqualTo, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.lessThan', + GVol.format.filter.lessThan, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.lessThanOrEqualTo', + GVol.format.filter.lessThanOrEqualTo, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.greaterThan', + GVol.format.filter.greaterThan, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.greaterThanOrEqualTo', + GVol.format.filter.greaterThanOrEqualTo, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.isNull', + GVol.format.filter.isNull, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.between', + GVol.format.filter.between, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.like', + GVol.format.filter.like, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.during', + GVol.format.filter.during, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.GeoJSON', + GVol.format.GeoJSON, + OPENLAYERS); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'readFeature', + GVol.format.GeoJSON.prototype.readFeature); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'readFeatures', + GVol.format.GeoJSON.prototype.readFeatures); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'readGeometry', + GVol.format.GeoJSON.prototype.readGeometry); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'readProjection', + GVol.format.GeoJSON.prototype.readProjection); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'writeFeature', + GVol.format.GeoJSON.prototype.writeFeature); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'writeFeatureObject', + GVol.format.GeoJSON.prototype.writeFeatureObject); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'writeFeatures', + GVol.format.GeoJSON.prototype.writeFeatures); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'writeFeaturesObject', + GVol.format.GeoJSON.prototype.writeFeaturesObject); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'writeGeometry', + GVol.format.GeoJSON.prototype.writeGeometry); + +goog.exportProperty( + GVol.format.GeoJSON.prototype, + 'writeGeometryObject', + GVol.format.GeoJSON.prototype.writeGeometryObject); + +goog.exportSymbGVol( + 'GVol.format.GML', + GVol.format.GML, + OPENLAYERS); + +goog.exportProperty( + GVol.format.GML.prototype, + 'writeFeatures', + GVol.format.GML.prototype.writeFeatures); + +goog.exportProperty( + GVol.format.GML.prototype, + 'writeFeaturesNode', + GVol.format.GML.prototype.writeFeaturesNode); + +goog.exportSymbGVol( + 'GVol.format.GML2', + GVol.format.GML2, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.GML3', + GVol.format.GML3, + OPENLAYERS); + +goog.exportProperty( + GVol.format.GML3.prototype, + 'writeGeometryNode', + GVol.format.GML3.prototype.writeGeometryNode); + +goog.exportProperty( + GVol.format.GML3.prototype, + 'writeFeatures', + GVol.format.GML3.prototype.writeFeatures); + +goog.exportProperty( + GVol.format.GML3.prototype, + 'writeFeaturesNode', + GVol.format.GML3.prototype.writeFeaturesNode); + +goog.exportProperty( + GVol.format.GMLBase.prototype, + 'readFeatures', + GVol.format.GMLBase.prototype.readFeatures); + +goog.exportSymbGVol( + 'GVol.format.GPX', + GVol.format.GPX, + OPENLAYERS); + +goog.exportProperty( + GVol.format.GPX.prototype, + 'readFeature', + GVol.format.GPX.prototype.readFeature); + +goog.exportProperty( + GVol.format.GPX.prototype, + 'readFeatures', + GVol.format.GPX.prototype.readFeatures); + +goog.exportProperty( + GVol.format.GPX.prototype, + 'readProjection', + GVol.format.GPX.prototype.readProjection); + +goog.exportProperty( + GVol.format.GPX.prototype, + 'writeFeatures', + GVol.format.GPX.prototype.writeFeatures); + +goog.exportProperty( + GVol.format.GPX.prototype, + 'writeFeaturesNode', + GVol.format.GPX.prototype.writeFeaturesNode); + +goog.exportSymbGVol( + 'GVol.format.IGC', + GVol.format.IGC, + OPENLAYERS); + +goog.exportProperty( + GVol.format.IGC.prototype, + 'readFeature', + GVol.format.IGC.prototype.readFeature); + +goog.exportProperty( + GVol.format.IGC.prototype, + 'readFeatures', + GVol.format.IGC.prototype.readFeatures); + +goog.exportProperty( + GVol.format.IGC.prototype, + 'readProjection', + GVol.format.IGC.prototype.readProjection); + +goog.exportSymbGVol( + 'GVol.format.KML', + GVol.format.KML, + OPENLAYERS); + +goog.exportProperty( + GVol.format.KML.prototype, + 'readFeature', + GVol.format.KML.prototype.readFeature); + +goog.exportProperty( + GVol.format.KML.prototype, + 'readFeatures', + GVol.format.KML.prototype.readFeatures); + +goog.exportProperty( + GVol.format.KML.prototype, + 'readName', + GVol.format.KML.prototype.readName); + +goog.exportProperty( + GVol.format.KML.prototype, + 'readNetworkLinks', + GVol.format.KML.prototype.readNetworkLinks); + +goog.exportProperty( + GVol.format.KML.prototype, + 'readRegion', + GVol.format.KML.prototype.readRegion); + +goog.exportProperty( + GVol.format.KML.prototype, + 'readRegionFromNode', + GVol.format.KML.prototype.readRegionFromNode); + +goog.exportProperty( + GVol.format.KML.prototype, + 'readProjection', + GVol.format.KML.prototype.readProjection); + +goog.exportProperty( + GVol.format.KML.prototype, + 'writeFeatures', + GVol.format.KML.prototype.writeFeatures); + +goog.exportProperty( + GVol.format.KML.prototype, + 'writeFeaturesNode', + GVol.format.KML.prototype.writeFeaturesNode); + +goog.exportSymbGVol( + 'GVol.format.MVT', + GVol.format.MVT, + OPENLAYERS); + +goog.exportProperty( + GVol.format.MVT.prototype, + 'getLastExtent', + GVol.format.MVT.prototype.getLastExtent); + +goog.exportProperty( + GVol.format.MVT.prototype, + 'readFeatures', + GVol.format.MVT.prototype.readFeatures); + +goog.exportProperty( + GVol.format.MVT.prototype, + 'readProjection', + GVol.format.MVT.prototype.readProjection); + +goog.exportProperty( + GVol.format.MVT.prototype, + 'setLayers', + GVol.format.MVT.prototype.setLayers); + +goog.exportSymbGVol( + 'GVol.format.OSMXML', + GVol.format.OSMXML, + OPENLAYERS); + +goog.exportProperty( + GVol.format.OSMXML.prototype, + 'readFeatures', + GVol.format.OSMXML.prototype.readFeatures); + +goog.exportProperty( + GVol.format.OSMXML.prototype, + 'readProjection', + GVol.format.OSMXML.prototype.readProjection); + +goog.exportSymbGVol( + 'GVol.format.PGVolyline', + GVol.format.PGVolyline, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.PGVolyline.encodeDeltas', + GVol.format.PGVolyline.encodeDeltas, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.PGVolyline.decodeDeltas', + GVol.format.PGVolyline.decodeDeltas, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.PGVolyline.encodeFloats', + GVol.format.PGVolyline.encodeFloats, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.PGVolyline.decodeFloats', + GVol.format.PGVolyline.decodeFloats, + OPENLAYERS); + +goog.exportProperty( + GVol.format.PGVolyline.prototype, + 'readFeature', + GVol.format.PGVolyline.prototype.readFeature); + +goog.exportProperty( + GVol.format.PGVolyline.prototype, + 'readFeatures', + GVol.format.PGVolyline.prototype.readFeatures); + +goog.exportProperty( + GVol.format.PGVolyline.prototype, + 'readGeometry', + GVol.format.PGVolyline.prototype.readGeometry); + +goog.exportProperty( + GVol.format.PGVolyline.prototype, + 'readProjection', + GVol.format.PGVolyline.prototype.readProjection); + +goog.exportProperty( + GVol.format.PGVolyline.prototype, + 'writeGeometry', + GVol.format.PGVolyline.prototype.writeGeometry); + +goog.exportSymbGVol( + 'GVol.format.TopoJSON', + GVol.format.TopoJSON, + OPENLAYERS); + +goog.exportProperty( + GVol.format.TopoJSON.prototype, + 'readFeatures', + GVol.format.TopoJSON.prototype.readFeatures); + +goog.exportProperty( + GVol.format.TopoJSON.prototype, + 'readProjection', + GVol.format.TopoJSON.prototype.readProjection); + +goog.exportSymbGVol( + 'GVol.format.WFS', + GVol.format.WFS, + OPENLAYERS); + +goog.exportProperty( + GVol.format.WFS.prototype, + 'readFeatures', + GVol.format.WFS.prototype.readFeatures); + +goog.exportProperty( + GVol.format.WFS.prototype, + 'readTransactionResponse', + GVol.format.WFS.prototype.readTransactionResponse); + +goog.exportProperty( + GVol.format.WFS.prototype, + 'readFeatureCGVollectionMetadata', + GVol.format.WFS.prototype.readFeatureCGVollectionMetadata); + +goog.exportSymbGVol( + 'GVol.format.WFS.writeFilter', + GVol.format.WFS.writeFilter, + OPENLAYERS); + +goog.exportProperty( + GVol.format.WFS.prototype, + 'writeGetFeature', + GVol.format.WFS.prototype.writeGetFeature); + +goog.exportProperty( + GVol.format.WFS.prototype, + 'writeTransaction', + GVol.format.WFS.prototype.writeTransaction); + +goog.exportProperty( + GVol.format.WFS.prototype, + 'readProjection', + GVol.format.WFS.prototype.readProjection); + +goog.exportSymbGVol( + 'GVol.format.WKT', + GVol.format.WKT, + OPENLAYERS); + +goog.exportProperty( + GVol.format.WKT.prototype, + 'readFeature', + GVol.format.WKT.prototype.readFeature); + +goog.exportProperty( + GVol.format.WKT.prototype, + 'readFeatures', + GVol.format.WKT.prototype.readFeatures); + +goog.exportProperty( + GVol.format.WKT.prototype, + 'readGeometry', + GVol.format.WKT.prototype.readGeometry); + +goog.exportProperty( + GVol.format.WKT.prototype, + 'writeFeature', + GVol.format.WKT.prototype.writeFeature); + +goog.exportProperty( + GVol.format.WKT.prototype, + 'writeFeatures', + GVol.format.WKT.prototype.writeFeatures); + +goog.exportProperty( + GVol.format.WKT.prototype, + 'writeGeometry', + GVol.format.WKT.prototype.writeGeometry); + +goog.exportSymbGVol( + 'GVol.format.WMSCapabilities', + GVol.format.WMSCapabilities, + OPENLAYERS); + +goog.exportProperty( + GVol.format.WMSCapabilities.prototype, + 'read', + GVol.format.WMSCapabilities.prototype.read); + +goog.exportSymbGVol( + 'GVol.format.WMSGetFeatureInfo', + GVol.format.WMSGetFeatureInfo, + OPENLAYERS); + +goog.exportProperty( + GVol.format.WMSGetFeatureInfo.prototype, + 'readFeatures', + GVol.format.WMSGetFeatureInfo.prototype.readFeatures); + +goog.exportSymbGVol( + 'GVol.format.WMTSCapabilities', + GVol.format.WMTSCapabilities, + OPENLAYERS); + +goog.exportProperty( + GVol.format.WMTSCapabilities.prototype, + 'read', + GVol.format.WMTSCapabilities.prototype.read); + +goog.exportSymbGVol( + 'GVol.format.filter.And', + GVol.format.filter.And, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.Bbox', + GVol.format.filter.Bbox, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.Comparison', + GVol.format.filter.Comparison, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.ComparisonBinary', + GVol.format.filter.ComparisonBinary, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.During', + GVol.format.filter.During, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.EqualTo', + GVol.format.filter.EqualTo, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.Filter', + GVol.format.filter.Filter, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.GreaterThan', + GVol.format.filter.GreaterThan, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.GreaterThanOrEqualTo', + GVol.format.filter.GreaterThanOrEqualTo, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.Intersects', + GVol.format.filter.Intersects, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.IsBetween', + GVol.format.filter.IsBetween, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.IsLike', + GVol.format.filter.IsLike, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.IsNull', + GVol.format.filter.IsNull, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.LessThan', + GVol.format.filter.LessThan, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.LessThanOrEqualTo', + GVol.format.filter.LessThanOrEqualTo, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.Not', + GVol.format.filter.Not, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.NotEqualTo', + GVol.format.filter.NotEqualTo, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.Or', + GVol.format.filter.Or, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.Spatial', + GVol.format.filter.Spatial, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.format.filter.Within', + GVol.format.filter.Within, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.altKeyOnly', + GVol.events.condition.altKeyOnly, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.altShiftKeysOnly', + GVol.events.condition.altShiftKeysOnly, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.always', + GVol.events.condition.always, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.click', + GVol.events.condition.click, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.never', + GVol.events.condition.never, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.pointerMove', + GVol.events.condition.pointerMove, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.singleClick', + GVol.events.condition.singleClick, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.doubleClick', + GVol.events.condition.doubleClick, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.noModifierKeys', + GVol.events.condition.noModifierKeys, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.platformModifierKeyOnly', + GVol.events.condition.platformModifierKeyOnly, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.shiftKeyOnly', + GVol.events.condition.shiftKeyOnly, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.targetNotEditable', + GVol.events.condition.targetNotEditable, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.mouseOnly', + GVol.events.condition.mouseOnly, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.events.condition.primaryAction', + GVol.events.condition.primaryAction, + OPENLAYERS); + +goog.exportProperty( + GVol.events.Event.prototype, + 'type', + GVol.events.Event.prototype.type); + +goog.exportProperty( + GVol.events.Event.prototype, + 'target', + GVol.events.Event.prototype.target); + +goog.exportProperty( + GVol.events.Event.prototype, + 'preventDefault', + GVol.events.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.events.Event.prototype, + 'stopPropagation', + GVol.events.Event.prototype.stopPropagation); + +goog.exportSymbGVol( + 'GVol.contrGVol.Attribution', + GVol.contrGVol.Attribution, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.Attribution.render', + GVol.contrGVol.Attribution.render, + OPENLAYERS); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'getCGVollapsible', + GVol.contrGVol.Attribution.prototype.getCGVollapsible); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'setCGVollapsible', + GVol.contrGVol.Attribution.prototype.setCGVollapsible); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'setCGVollapsed', + GVol.contrGVol.Attribution.prototype.setCGVollapsed); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'getCGVollapsed', + GVol.contrGVol.Attribution.prototype.getCGVollapsed); + +goog.exportSymbGVol( + 'GVol.contrGVol.ContrGVol', + GVol.contrGVol.ContrGVol, + OPENLAYERS); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'getMap', + GVol.contrGVol.ContrGVol.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'setMap', + GVol.contrGVol.ContrGVol.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'setTarget', + GVol.contrGVol.ContrGVol.prototype.setTarget); + +goog.exportSymbGVol( + 'GVol.contrGVol.FullScreen', + GVol.contrGVol.FullScreen, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.MousePosition', + GVol.contrGVol.MousePosition, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.MousePosition.render', + GVol.contrGVol.MousePosition.render, + OPENLAYERS); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'getCoordinateFormat', + GVol.contrGVol.MousePosition.prototype.getCoordinateFormat); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'getProjection', + GVol.contrGVol.MousePosition.prototype.getProjection); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'setCoordinateFormat', + GVol.contrGVol.MousePosition.prototype.setCoordinateFormat); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'setProjection', + GVol.contrGVol.MousePosition.prototype.setProjection); + +goog.exportSymbGVol( + 'GVol.contrGVol.OverviewMap', + GVol.contrGVol.OverviewMap, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.OverviewMap.render', + GVol.contrGVol.OverviewMap.render, + OPENLAYERS); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'getCGVollapsible', + GVol.contrGVol.OverviewMap.prototype.getCGVollapsible); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'setCGVollapsible', + GVol.contrGVol.OverviewMap.prototype.setCGVollapsible); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'setCGVollapsed', + GVol.contrGVol.OverviewMap.prototype.setCGVollapsed); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'getCGVollapsed', + GVol.contrGVol.OverviewMap.prototype.getCGVollapsed); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'getOverviewMap', + GVol.contrGVol.OverviewMap.prototype.getOverviewMap); + +goog.exportSymbGVol( + 'GVol.contrGVol.Rotate', + GVol.contrGVol.Rotate, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.Rotate.render', + GVol.contrGVol.Rotate.render, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.ScaleLine', + GVol.contrGVol.ScaleLine, + OPENLAYERS); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'getUnits', + GVol.contrGVol.ScaleLine.prototype.getUnits); + +goog.exportSymbGVol( + 'GVol.contrGVol.ScaleLine.render', + GVol.contrGVol.ScaleLine.render, + OPENLAYERS); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'setUnits', + GVol.contrGVol.ScaleLine.prototype.setUnits); + +goog.exportSymbGVol( + 'GVol.contrGVol.Zoom', + GVol.contrGVol.Zoom, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.ZoomSlider', + GVol.contrGVol.ZoomSlider, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.ZoomSlider.render', + GVol.contrGVol.ZoomSlider.render, + OPENLAYERS); + +goog.exportSymbGVol( + 'GVol.contrGVol.ZoomToExtent', + GVol.contrGVol.ZoomToExtent, + OPENLAYERS); + +goog.exportProperty( + GVol.Object.prototype, + 'changed', + GVol.Object.prototype.changed); + +goog.exportProperty( + GVol.Object.prototype, + 'dispatchEvent', + GVol.Object.prototype.dispatchEvent); + +goog.exportProperty( + GVol.Object.prototype, + 'getRevision', + GVol.Object.prototype.getRevision); + +goog.exportProperty( + GVol.Object.prototype, + 'on', + GVol.Object.prototype.on); + +goog.exportProperty( + GVol.Object.prototype, + 'once', + GVol.Object.prototype.once); + +goog.exportProperty( + GVol.Object.prototype, + 'un', + GVol.Object.prototype.un); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'get', + GVol.CGVollection.prototype.get); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'getKeys', + GVol.CGVollection.prototype.getKeys); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'getProperties', + GVol.CGVollection.prototype.getProperties); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'set', + GVol.CGVollection.prototype.set); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'setProperties', + GVol.CGVollection.prototype.setProperties); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'unset', + GVol.CGVollection.prototype.unset); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'changed', + GVol.CGVollection.prototype.changed); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'dispatchEvent', + GVol.CGVollection.prototype.dispatchEvent); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'getRevision', + GVol.CGVollection.prototype.getRevision); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'on', + GVol.CGVollection.prototype.on); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'once', + GVol.CGVollection.prototype.once); + +goog.exportProperty( + GVol.CGVollection.prototype, + 'un', + GVol.CGVollection.prototype.un); + +goog.exportProperty( + GVol.CGVollection.Event.prototype, + 'type', + GVol.CGVollection.Event.prototype.type); + +goog.exportProperty( + GVol.CGVollection.Event.prototype, + 'target', + GVol.CGVollection.Event.prototype.target); + +goog.exportProperty( + GVol.CGVollection.Event.prototype, + 'preventDefault', + GVol.CGVollection.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.CGVollection.Event.prototype, + 'stopPropagation', + GVol.CGVollection.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'get', + GVol.DeviceOrientation.prototype.get); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'getKeys', + GVol.DeviceOrientation.prototype.getKeys); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'getProperties', + GVol.DeviceOrientation.prototype.getProperties); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'set', + GVol.DeviceOrientation.prototype.set); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'setProperties', + GVol.DeviceOrientation.prototype.setProperties); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'unset', + GVol.DeviceOrientation.prototype.unset); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'changed', + GVol.DeviceOrientation.prototype.changed); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'dispatchEvent', + GVol.DeviceOrientation.prototype.dispatchEvent); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'getRevision', + GVol.DeviceOrientation.prototype.getRevision); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'on', + GVol.DeviceOrientation.prototype.on); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'once', + GVol.DeviceOrientation.prototype.once); + +goog.exportProperty( + GVol.DeviceOrientation.prototype, + 'un', + GVol.DeviceOrientation.prototype.un); + +goog.exportProperty( + GVol.Feature.prototype, + 'get', + GVol.Feature.prototype.get); + +goog.exportProperty( + GVol.Feature.prototype, + 'getKeys', + GVol.Feature.prototype.getKeys); + +goog.exportProperty( + GVol.Feature.prototype, + 'getProperties', + GVol.Feature.prototype.getProperties); + +goog.exportProperty( + GVol.Feature.prototype, + 'set', + GVol.Feature.prototype.set); + +goog.exportProperty( + GVol.Feature.prototype, + 'setProperties', + GVol.Feature.prototype.setProperties); + +goog.exportProperty( + GVol.Feature.prototype, + 'unset', + GVol.Feature.prototype.unset); + +goog.exportProperty( + GVol.Feature.prototype, + 'changed', + GVol.Feature.prototype.changed); + +goog.exportProperty( + GVol.Feature.prototype, + 'dispatchEvent', + GVol.Feature.prototype.dispatchEvent); + +goog.exportProperty( + GVol.Feature.prototype, + 'getRevision', + GVol.Feature.prototype.getRevision); + +goog.exportProperty( + GVol.Feature.prototype, + 'on', + GVol.Feature.prototype.on); + +goog.exportProperty( + GVol.Feature.prototype, + 'once', + GVol.Feature.prototype.once); + +goog.exportProperty( + GVol.Feature.prototype, + 'un', + GVol.Feature.prototype.un); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'get', + GVol.GeGVolocation.prototype.get); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getKeys', + GVol.GeGVolocation.prototype.getKeys); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getProperties', + GVol.GeGVolocation.prototype.getProperties); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'set', + GVol.GeGVolocation.prototype.set); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'setProperties', + GVol.GeGVolocation.prototype.setProperties); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'unset', + GVol.GeGVolocation.prototype.unset); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'changed', + GVol.GeGVolocation.prototype.changed); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'dispatchEvent', + GVol.GeGVolocation.prototype.dispatchEvent); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'getRevision', + GVol.GeGVolocation.prototype.getRevision); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'on', + GVol.GeGVolocation.prototype.on); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'once', + GVol.GeGVolocation.prototype.once); + +goog.exportProperty( + GVol.GeGVolocation.prototype, + 'un', + GVol.GeGVolocation.prototype.un); + +goog.exportProperty( + GVol.ImageTile.prototype, + 'getTileCoord', + GVol.ImageTile.prototype.getTileCoord); + +goog.exportProperty( + GVol.ImageTile.prototype, + 'load', + GVol.ImageTile.prototype.load); + +goog.exportProperty( + GVol.Map.prototype, + 'get', + GVol.Map.prototype.get); + +goog.exportProperty( + GVol.Map.prototype, + 'getKeys', + GVol.Map.prototype.getKeys); + +goog.exportProperty( + GVol.Map.prototype, + 'getProperties', + GVol.Map.prototype.getProperties); + +goog.exportProperty( + GVol.Map.prototype, + 'set', + GVol.Map.prototype.set); + +goog.exportProperty( + GVol.Map.prototype, + 'setProperties', + GVol.Map.prototype.setProperties); + +goog.exportProperty( + GVol.Map.prototype, + 'unset', + GVol.Map.prototype.unset); + +goog.exportProperty( + GVol.Map.prototype, + 'changed', + GVol.Map.prototype.changed); + +goog.exportProperty( + GVol.Map.prototype, + 'dispatchEvent', + GVol.Map.prototype.dispatchEvent); + +goog.exportProperty( + GVol.Map.prototype, + 'getRevision', + GVol.Map.prototype.getRevision); + +goog.exportProperty( + GVol.Map.prototype, + 'on', + GVol.Map.prototype.on); + +goog.exportProperty( + GVol.Map.prototype, + 'once', + GVol.Map.prototype.once); + +goog.exportProperty( + GVol.Map.prototype, + 'un', + GVol.Map.prototype.un); + +goog.exportProperty( + GVol.MapEvent.prototype, + 'type', + GVol.MapEvent.prototype.type); + +goog.exportProperty( + GVol.MapEvent.prototype, + 'target', + GVol.MapEvent.prototype.target); + +goog.exportProperty( + GVol.MapEvent.prototype, + 'preventDefault', + GVol.MapEvent.prototype.preventDefault); + +goog.exportProperty( + GVol.MapEvent.prototype, + 'stopPropagation', + GVol.MapEvent.prototype.stopPropagation); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'map', + GVol.MapBrowserEvent.prototype.map); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'frameState', + GVol.MapBrowserEvent.prototype.frameState); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'type', + GVol.MapBrowserEvent.prototype.type); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'target', + GVol.MapBrowserEvent.prototype.target); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'preventDefault', + GVol.MapBrowserEvent.prototype.preventDefault); + +goog.exportProperty( + GVol.MapBrowserEvent.prototype, + 'stopPropagation', + GVol.MapBrowserEvent.prototype.stopPropagation); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'originalEvent', + GVol.MapBrowserPointerEvent.prototype.originalEvent); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'pixel', + GVol.MapBrowserPointerEvent.prototype.pixel); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'coordinate', + GVol.MapBrowserPointerEvent.prototype.coordinate); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'dragging', + GVol.MapBrowserPointerEvent.prototype.dragging); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'preventDefault', + GVol.MapBrowserPointerEvent.prototype.preventDefault); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'stopPropagation', + GVol.MapBrowserPointerEvent.prototype.stopPropagation); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'map', + GVol.MapBrowserPointerEvent.prototype.map); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'frameState', + GVol.MapBrowserPointerEvent.prototype.frameState); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'type', + GVol.MapBrowserPointerEvent.prototype.type); + +goog.exportProperty( + GVol.MapBrowserPointerEvent.prototype, + 'target', + GVol.MapBrowserPointerEvent.prototype.target); + +goog.exportProperty( + GVol.Object.Event.prototype, + 'type', + GVol.Object.Event.prototype.type); + +goog.exportProperty( + GVol.Object.Event.prototype, + 'target', + GVol.Object.Event.prototype.target); + +goog.exportProperty( + GVol.Object.Event.prototype, + 'preventDefault', + GVol.Object.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.Object.Event.prototype, + 'stopPropagation', + GVol.Object.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.Overlay.prototype, + 'get', + GVol.Overlay.prototype.get); + +goog.exportProperty( + GVol.Overlay.prototype, + 'getKeys', + GVol.Overlay.prototype.getKeys); + +goog.exportProperty( + GVol.Overlay.prototype, + 'getProperties', + GVol.Overlay.prototype.getProperties); + +goog.exportProperty( + GVol.Overlay.prototype, + 'set', + GVol.Overlay.prototype.set); + +goog.exportProperty( + GVol.Overlay.prototype, + 'setProperties', + GVol.Overlay.prototype.setProperties); + +goog.exportProperty( + GVol.Overlay.prototype, + 'unset', + GVol.Overlay.prototype.unset); + +goog.exportProperty( + GVol.Overlay.prototype, + 'changed', + GVol.Overlay.prototype.changed); + +goog.exportProperty( + GVol.Overlay.prototype, + 'dispatchEvent', + GVol.Overlay.prototype.dispatchEvent); + +goog.exportProperty( + GVol.Overlay.prototype, + 'getRevision', + GVol.Overlay.prototype.getRevision); + +goog.exportProperty( + GVol.Overlay.prototype, + 'on', + GVol.Overlay.prototype.on); + +goog.exportProperty( + GVol.Overlay.prototype, + 'once', + GVol.Overlay.prototype.once); + +goog.exportProperty( + GVol.Overlay.prototype, + 'un', + GVol.Overlay.prototype.un); + +goog.exportProperty( + GVol.VectorImageTile.prototype, + 'getTileCoord', + GVol.VectorImageTile.prototype.getTileCoord); + +goog.exportProperty( + GVol.VectorImageTile.prototype, + 'load', + GVol.VectorImageTile.prototype.load); + +goog.exportProperty( + GVol.VectorTile.prototype, + 'getTileCoord', + GVol.VectorTile.prototype.getTileCoord); + +goog.exportProperty( + GVol.VectorTile.prototype, + 'load', + GVol.VectorTile.prototype.load); + +goog.exportProperty( + GVol.View.prototype, + 'get', + GVol.View.prototype.get); + +goog.exportProperty( + GVol.View.prototype, + 'getKeys', + GVol.View.prototype.getKeys); + +goog.exportProperty( + GVol.View.prototype, + 'getProperties', + GVol.View.prototype.getProperties); + +goog.exportProperty( + GVol.View.prototype, + 'set', + GVol.View.prototype.set); + +goog.exportProperty( + GVol.View.prototype, + 'setProperties', + GVol.View.prototype.setProperties); + +goog.exportProperty( + GVol.View.prototype, + 'unset', + GVol.View.prototype.unset); + +goog.exportProperty( + GVol.View.prototype, + 'changed', + GVol.View.prototype.changed); + +goog.exportProperty( + GVol.View.prototype, + 'dispatchEvent', + GVol.View.prototype.dispatchEvent); + +goog.exportProperty( + GVol.View.prototype, + 'getRevision', + GVol.View.prototype.getRevision); + +goog.exportProperty( + GVol.View.prototype, + 'on', + GVol.View.prototype.on); + +goog.exportProperty( + GVol.View.prototype, + 'once', + GVol.View.prototype.once); + +goog.exportProperty( + GVol.View.prototype, + 'un', + GVol.View.prototype.un); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'forEachTileCoord', + GVol.tilegrid.WMTS.prototype.forEachTileCoord); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getMaxZoom', + GVol.tilegrid.WMTS.prototype.getMaxZoom); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getMinZoom', + GVol.tilegrid.WMTS.prototype.getMinZoom); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getOrigin', + GVol.tilegrid.WMTS.prototype.getOrigin); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getResGVolution', + GVol.tilegrid.WMTS.prototype.getResGVolution); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getResGVolutions', + GVol.tilegrid.WMTS.prototype.getResGVolutions); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getTileCoordExtent', + GVol.tilegrid.WMTS.prototype.getTileCoordExtent); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getTileCoordForCoordAndResGVolution', + GVol.tilegrid.WMTS.prototype.getTileCoordForCoordAndResGVolution); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getTileCoordForCoordAndZ', + GVol.tilegrid.WMTS.prototype.getTileCoordForCoordAndZ); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getTileSize', + GVol.tilegrid.WMTS.prototype.getTileSize); + +goog.exportProperty( + GVol.tilegrid.WMTS.prototype, + 'getZForResGVolution', + GVol.tilegrid.WMTS.prototype.getZForResGVolution); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getOpacity', + GVol.style.RegularShape.prototype.getOpacity); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getRotateWithView', + GVol.style.RegularShape.prototype.getRotateWithView); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getRotation', + GVol.style.RegularShape.prototype.getRotation); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getScale', + GVol.style.RegularShape.prototype.getScale); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'getSnapToPixel', + GVol.style.RegularShape.prototype.getSnapToPixel); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'setOpacity', + GVol.style.RegularShape.prototype.setOpacity); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'setRotation', + GVol.style.RegularShape.prototype.setRotation); + +goog.exportProperty( + GVol.style.RegularShape.prototype, + 'setScale', + GVol.style.RegularShape.prototype.setScale); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'clone', + GVol.style.Circle.prototype.clone); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getAngle', + GVol.style.Circle.prototype.getAngle); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getFill', + GVol.style.Circle.prototype.getFill); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getPoints', + GVol.style.Circle.prototype.getPoints); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getRadius', + GVol.style.Circle.prototype.getRadius); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getRadius2', + GVol.style.Circle.prototype.getRadius2); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getStroke', + GVol.style.Circle.prototype.getStroke); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getOpacity', + GVol.style.Circle.prototype.getOpacity); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getRotateWithView', + GVol.style.Circle.prototype.getRotateWithView); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getRotation', + GVol.style.Circle.prototype.getRotation); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getScale', + GVol.style.Circle.prototype.getScale); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'getSnapToPixel', + GVol.style.Circle.prototype.getSnapToPixel); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'setOpacity', + GVol.style.Circle.prototype.setOpacity); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'setRotation', + GVol.style.Circle.prototype.setRotation); + +goog.exportProperty( + GVol.style.Circle.prototype, + 'setScale', + GVol.style.Circle.prototype.setScale); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getOpacity', + GVol.style.Icon.prototype.getOpacity); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getRotateWithView', + GVol.style.Icon.prototype.getRotateWithView); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getRotation', + GVol.style.Icon.prototype.getRotation); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getScale', + GVol.style.Icon.prototype.getScale); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'getSnapToPixel', + GVol.style.Icon.prototype.getSnapToPixel); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'setOpacity', + GVol.style.Icon.prototype.setOpacity); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'setRotation', + GVol.style.Icon.prototype.setRotation); + +goog.exportProperty( + GVol.style.Icon.prototype, + 'setScale', + GVol.style.Icon.prototype.setScale); + +goog.exportProperty( + GVol.source.Source.prototype, + 'get', + GVol.source.Source.prototype.get); + +goog.exportProperty( + GVol.source.Source.prototype, + 'getKeys', + GVol.source.Source.prototype.getKeys); + +goog.exportProperty( + GVol.source.Source.prototype, + 'getProperties', + GVol.source.Source.prototype.getProperties); + +goog.exportProperty( + GVol.source.Source.prototype, + 'set', + GVol.source.Source.prototype.set); + +goog.exportProperty( + GVol.source.Source.prototype, + 'setProperties', + GVol.source.Source.prototype.setProperties); + +goog.exportProperty( + GVol.source.Source.prototype, + 'unset', + GVol.source.Source.prototype.unset); + +goog.exportProperty( + GVol.source.Source.prototype, + 'changed', + GVol.source.Source.prototype.changed); + +goog.exportProperty( + GVol.source.Source.prototype, + 'dispatchEvent', + GVol.source.Source.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.Source.prototype, + 'getRevision', + GVol.source.Source.prototype.getRevision); + +goog.exportProperty( + GVol.source.Source.prototype, + 'on', + GVol.source.Source.prototype.on); + +goog.exportProperty( + GVol.source.Source.prototype, + 'once', + GVol.source.Source.prototype.once); + +goog.exportProperty( + GVol.source.Source.prototype, + 'un', + GVol.source.Source.prototype.un); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'getAttributions', + GVol.source.Tile.prototype.getAttributions); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'getLogo', + GVol.source.Tile.prototype.getLogo); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'getProjection', + GVol.source.Tile.prototype.getProjection); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'getState', + GVol.source.Tile.prototype.getState); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'refresh', + GVol.source.Tile.prototype.refresh); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'setAttributions', + GVol.source.Tile.prototype.setAttributions); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'get', + GVol.source.Tile.prototype.get); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'getKeys', + GVol.source.Tile.prototype.getKeys); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'getProperties', + GVol.source.Tile.prototype.getProperties); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'set', + GVol.source.Tile.prototype.set); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'setProperties', + GVol.source.Tile.prototype.setProperties); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'unset', + GVol.source.Tile.prototype.unset); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'changed', + GVol.source.Tile.prototype.changed); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'dispatchEvent', + GVol.source.Tile.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'getRevision', + GVol.source.Tile.prototype.getRevision); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'on', + GVol.source.Tile.prototype.on); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'once', + GVol.source.Tile.prototype.once); + +goog.exportProperty( + GVol.source.Tile.prototype, + 'un', + GVol.source.Tile.prototype.un); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getTileGrid', + GVol.source.UrlTile.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'refresh', + GVol.source.UrlTile.prototype.refresh); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getAttributions', + GVol.source.UrlTile.prototype.getAttributions); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getLogo', + GVol.source.UrlTile.prototype.getLogo); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getProjection', + GVol.source.UrlTile.prototype.getProjection); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getState', + GVol.source.UrlTile.prototype.getState); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'setAttributions', + GVol.source.UrlTile.prototype.setAttributions); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'get', + GVol.source.UrlTile.prototype.get); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getKeys', + GVol.source.UrlTile.prototype.getKeys); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getProperties', + GVol.source.UrlTile.prototype.getProperties); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'set', + GVol.source.UrlTile.prototype.set); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'setProperties', + GVol.source.UrlTile.prototype.setProperties); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'unset', + GVol.source.UrlTile.prototype.unset); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'changed', + GVol.source.UrlTile.prototype.changed); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'dispatchEvent', + GVol.source.UrlTile.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'getRevision', + GVol.source.UrlTile.prototype.getRevision); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'on', + GVol.source.UrlTile.prototype.on); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'once', + GVol.source.UrlTile.prototype.once); + +goog.exportProperty( + GVol.source.UrlTile.prototype, + 'un', + GVol.source.UrlTile.prototype.un); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getTileLoadFunction', + GVol.source.TileImage.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getTileUrlFunction', + GVol.source.TileImage.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getUrls', + GVol.source.TileImage.prototype.getUrls); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'setTileLoadFunction', + GVol.source.TileImage.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'setTileUrlFunction', + GVol.source.TileImage.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'setUrl', + GVol.source.TileImage.prototype.setUrl); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'setUrls', + GVol.source.TileImage.prototype.setUrls); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getTileGrid', + GVol.source.TileImage.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'refresh', + GVol.source.TileImage.prototype.refresh); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getAttributions', + GVol.source.TileImage.prototype.getAttributions); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getLogo', + GVol.source.TileImage.prototype.getLogo); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getProjection', + GVol.source.TileImage.prototype.getProjection); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getState', + GVol.source.TileImage.prototype.getState); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'setAttributions', + GVol.source.TileImage.prototype.setAttributions); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'get', + GVol.source.TileImage.prototype.get); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getKeys', + GVol.source.TileImage.prototype.getKeys); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getProperties', + GVol.source.TileImage.prototype.getProperties); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'set', + GVol.source.TileImage.prototype.set); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'setProperties', + GVol.source.TileImage.prototype.setProperties); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'unset', + GVol.source.TileImage.prototype.unset); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'changed', + GVol.source.TileImage.prototype.changed); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'dispatchEvent', + GVol.source.TileImage.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'getRevision', + GVol.source.TileImage.prototype.getRevision); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'on', + GVol.source.TileImage.prototype.on); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'once', + GVol.source.TileImage.prototype.once); + +goog.exportProperty( + GVol.source.TileImage.prototype, + 'un', + GVol.source.TileImage.prototype.un); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'setRenderReprojectionEdges', + GVol.source.BingMaps.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'setTileGridForProjection', + GVol.source.BingMaps.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getTileLoadFunction', + GVol.source.BingMaps.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getTileUrlFunction', + GVol.source.BingMaps.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getUrls', + GVol.source.BingMaps.prototype.getUrls); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'setTileLoadFunction', + GVol.source.BingMaps.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'setTileUrlFunction', + GVol.source.BingMaps.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'setUrl', + GVol.source.BingMaps.prototype.setUrl); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'setUrls', + GVol.source.BingMaps.prototype.setUrls); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getTileGrid', + GVol.source.BingMaps.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'refresh', + GVol.source.BingMaps.prototype.refresh); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getAttributions', + GVol.source.BingMaps.prototype.getAttributions); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getLogo', + GVol.source.BingMaps.prototype.getLogo); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getProjection', + GVol.source.BingMaps.prototype.getProjection); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getState', + GVol.source.BingMaps.prototype.getState); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'setAttributions', + GVol.source.BingMaps.prototype.setAttributions); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'get', + GVol.source.BingMaps.prototype.get); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getKeys', + GVol.source.BingMaps.prototype.getKeys); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getProperties', + GVol.source.BingMaps.prototype.getProperties); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'set', + GVol.source.BingMaps.prototype.set); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'setProperties', + GVol.source.BingMaps.prototype.setProperties); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'unset', + GVol.source.BingMaps.prototype.unset); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'changed', + GVol.source.BingMaps.prototype.changed); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'dispatchEvent', + GVol.source.BingMaps.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'getRevision', + GVol.source.BingMaps.prototype.getRevision); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'on', + GVol.source.BingMaps.prototype.on); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'once', + GVol.source.BingMaps.prototype.once); + +goog.exportProperty( + GVol.source.BingMaps.prototype, + 'un', + GVol.source.BingMaps.prototype.un); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'setRenderReprojectionEdges', + GVol.source.XYZ.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'setTileGridForProjection', + GVol.source.XYZ.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getTileLoadFunction', + GVol.source.XYZ.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getTileUrlFunction', + GVol.source.XYZ.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getUrls', + GVol.source.XYZ.prototype.getUrls); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'setTileLoadFunction', + GVol.source.XYZ.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'setTileUrlFunction', + GVol.source.XYZ.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'setUrl', + GVol.source.XYZ.prototype.setUrl); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'setUrls', + GVol.source.XYZ.prototype.setUrls); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getTileGrid', + GVol.source.XYZ.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'refresh', + GVol.source.XYZ.prototype.refresh); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getAttributions', + GVol.source.XYZ.prototype.getAttributions); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getLogo', + GVol.source.XYZ.prototype.getLogo); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getProjection', + GVol.source.XYZ.prototype.getProjection); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getState', + GVol.source.XYZ.prototype.getState); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'setAttributions', + GVol.source.XYZ.prototype.setAttributions); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'get', + GVol.source.XYZ.prototype.get); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getKeys', + GVol.source.XYZ.prototype.getKeys); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getProperties', + GVol.source.XYZ.prototype.getProperties); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'set', + GVol.source.XYZ.prototype.set); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'setProperties', + GVol.source.XYZ.prototype.setProperties); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'unset', + GVol.source.XYZ.prototype.unset); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'changed', + GVol.source.XYZ.prototype.changed); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'dispatchEvent', + GVol.source.XYZ.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'getRevision', + GVol.source.XYZ.prototype.getRevision); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'on', + GVol.source.XYZ.prototype.on); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'once', + GVol.source.XYZ.prototype.once); + +goog.exportProperty( + GVol.source.XYZ.prototype, + 'un', + GVol.source.XYZ.prototype.un); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'setRenderReprojectionEdges', + GVol.source.CartoDB.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'setTileGridForProjection', + GVol.source.CartoDB.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getTileLoadFunction', + GVol.source.CartoDB.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getTileUrlFunction', + GVol.source.CartoDB.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getUrls', + GVol.source.CartoDB.prototype.getUrls); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'setTileLoadFunction', + GVol.source.CartoDB.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'setTileUrlFunction', + GVol.source.CartoDB.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'setUrl', + GVol.source.CartoDB.prototype.setUrl); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'setUrls', + GVol.source.CartoDB.prototype.setUrls); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getTileGrid', + GVol.source.CartoDB.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'refresh', + GVol.source.CartoDB.prototype.refresh); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getAttributions', + GVol.source.CartoDB.prototype.getAttributions); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getLogo', + GVol.source.CartoDB.prototype.getLogo); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getProjection', + GVol.source.CartoDB.prototype.getProjection); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getState', + GVol.source.CartoDB.prototype.getState); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'setAttributions', + GVol.source.CartoDB.prototype.setAttributions); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'get', + GVol.source.CartoDB.prototype.get); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getKeys', + GVol.source.CartoDB.prototype.getKeys); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getProperties', + GVol.source.CartoDB.prototype.getProperties); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'set', + GVol.source.CartoDB.prototype.set); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'setProperties', + GVol.source.CartoDB.prototype.setProperties); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'unset', + GVol.source.CartoDB.prototype.unset); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'changed', + GVol.source.CartoDB.prototype.changed); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'dispatchEvent', + GVol.source.CartoDB.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'getRevision', + GVol.source.CartoDB.prototype.getRevision); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'on', + GVol.source.CartoDB.prototype.on); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'once', + GVol.source.CartoDB.prototype.once); + +goog.exportProperty( + GVol.source.CartoDB.prototype, + 'un', + GVol.source.CartoDB.prototype.un); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getAttributions', + GVol.source.Vector.prototype.getAttributions); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getLogo', + GVol.source.Vector.prototype.getLogo); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getProjection', + GVol.source.Vector.prototype.getProjection); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getState', + GVol.source.Vector.prototype.getState); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'refresh', + GVol.source.Vector.prototype.refresh); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'setAttributions', + GVol.source.Vector.prototype.setAttributions); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'get', + GVol.source.Vector.prototype.get); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getKeys', + GVol.source.Vector.prototype.getKeys); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getProperties', + GVol.source.Vector.prototype.getProperties); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'set', + GVol.source.Vector.prototype.set); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'setProperties', + GVol.source.Vector.prototype.setProperties); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'unset', + GVol.source.Vector.prototype.unset); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'changed', + GVol.source.Vector.prototype.changed); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'dispatchEvent', + GVol.source.Vector.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'getRevision', + GVol.source.Vector.prototype.getRevision); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'on', + GVol.source.Vector.prototype.on); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'once', + GVol.source.Vector.prototype.once); + +goog.exportProperty( + GVol.source.Vector.prototype, + 'un', + GVol.source.Vector.prototype.un); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'addFeature', + GVol.source.Cluster.prototype.addFeature); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'addFeatures', + GVol.source.Cluster.prototype.addFeatures); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'clear', + GVol.source.Cluster.prototype.clear); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'forEachFeature', + GVol.source.Cluster.prototype.forEachFeature); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'forEachFeatureInExtent', + GVol.source.Cluster.prototype.forEachFeatureInExtent); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'forEachFeatureIntersectingExtent', + GVol.source.Cluster.prototype.forEachFeatureIntersectingExtent); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getFeaturesCGVollection', + GVol.source.Cluster.prototype.getFeaturesCGVollection); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getFeatures', + GVol.source.Cluster.prototype.getFeatures); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getFeaturesAtCoordinate', + GVol.source.Cluster.prototype.getFeaturesAtCoordinate); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getFeaturesInExtent', + GVol.source.Cluster.prototype.getFeaturesInExtent); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getClosestFeatureToCoordinate', + GVol.source.Cluster.prototype.getClosestFeatureToCoordinate); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getExtent', + GVol.source.Cluster.prototype.getExtent); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getFeatureById', + GVol.source.Cluster.prototype.getFeatureById); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getFormat', + GVol.source.Cluster.prototype.getFormat); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getUrl', + GVol.source.Cluster.prototype.getUrl); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'removeFeature', + GVol.source.Cluster.prototype.removeFeature); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getAttributions', + GVol.source.Cluster.prototype.getAttributions); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getLogo', + GVol.source.Cluster.prototype.getLogo); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getProjection', + GVol.source.Cluster.prototype.getProjection); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getState', + GVol.source.Cluster.prototype.getState); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'refresh', + GVol.source.Cluster.prototype.refresh); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'setAttributions', + GVol.source.Cluster.prototype.setAttributions); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'get', + GVol.source.Cluster.prototype.get); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getKeys', + GVol.source.Cluster.prototype.getKeys); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getProperties', + GVol.source.Cluster.prototype.getProperties); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'set', + GVol.source.Cluster.prototype.set); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'setProperties', + GVol.source.Cluster.prototype.setProperties); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'unset', + GVol.source.Cluster.prototype.unset); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'changed', + GVol.source.Cluster.prototype.changed); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'dispatchEvent', + GVol.source.Cluster.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'getRevision', + GVol.source.Cluster.prototype.getRevision); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'on', + GVol.source.Cluster.prototype.on); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'once', + GVol.source.Cluster.prototype.once); + +goog.exportProperty( + GVol.source.Cluster.prototype, + 'un', + GVol.source.Cluster.prototype.un); + +goog.exportProperty( + GVol.source.Image.prototype, + 'getAttributions', + GVol.source.Image.prototype.getAttributions); + +goog.exportProperty( + GVol.source.Image.prototype, + 'getLogo', + GVol.source.Image.prototype.getLogo); + +goog.exportProperty( + GVol.source.Image.prototype, + 'getProjection', + GVol.source.Image.prototype.getProjection); + +goog.exportProperty( + GVol.source.Image.prototype, + 'getState', + GVol.source.Image.prototype.getState); + +goog.exportProperty( + GVol.source.Image.prototype, + 'refresh', + GVol.source.Image.prototype.refresh); + +goog.exportProperty( + GVol.source.Image.prototype, + 'setAttributions', + GVol.source.Image.prototype.setAttributions); + +goog.exportProperty( + GVol.source.Image.prototype, + 'get', + GVol.source.Image.prototype.get); + +goog.exportProperty( + GVol.source.Image.prototype, + 'getKeys', + GVol.source.Image.prototype.getKeys); + +goog.exportProperty( + GVol.source.Image.prototype, + 'getProperties', + GVol.source.Image.prototype.getProperties); + +goog.exportProperty( + GVol.source.Image.prototype, + 'set', + GVol.source.Image.prototype.set); + +goog.exportProperty( + GVol.source.Image.prototype, + 'setProperties', + GVol.source.Image.prototype.setProperties); + +goog.exportProperty( + GVol.source.Image.prototype, + 'unset', + GVol.source.Image.prototype.unset); + +goog.exportProperty( + GVol.source.Image.prototype, + 'changed', + GVol.source.Image.prototype.changed); + +goog.exportProperty( + GVol.source.Image.prototype, + 'dispatchEvent', + GVol.source.Image.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.Image.prototype, + 'getRevision', + GVol.source.Image.prototype.getRevision); + +goog.exportProperty( + GVol.source.Image.prototype, + 'on', + GVol.source.Image.prototype.on); + +goog.exportProperty( + GVol.source.Image.prototype, + 'once', + GVol.source.Image.prototype.once); + +goog.exportProperty( + GVol.source.Image.prototype, + 'un', + GVol.source.Image.prototype.un); + +goog.exportProperty( + GVol.source.Image.Event.prototype, + 'type', + GVol.source.Image.Event.prototype.type); + +goog.exportProperty( + GVol.source.Image.Event.prototype, + 'target', + GVol.source.Image.Event.prototype.target); + +goog.exportProperty( + GVol.source.Image.Event.prototype, + 'preventDefault', + GVol.source.Image.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.source.Image.Event.prototype, + 'stopPropagation', + GVol.source.Image.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getAttributions', + GVol.source.ImageArcGISRest.prototype.getAttributions); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getLogo', + GVol.source.ImageArcGISRest.prototype.getLogo); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getProjection', + GVol.source.ImageArcGISRest.prototype.getProjection); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getState', + GVol.source.ImageArcGISRest.prototype.getState); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'refresh', + GVol.source.ImageArcGISRest.prototype.refresh); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'setAttributions', + GVol.source.ImageArcGISRest.prototype.setAttributions); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'get', + GVol.source.ImageArcGISRest.prototype.get); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getKeys', + GVol.source.ImageArcGISRest.prototype.getKeys); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getProperties', + GVol.source.ImageArcGISRest.prototype.getProperties); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'set', + GVol.source.ImageArcGISRest.prototype.set); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'setProperties', + GVol.source.ImageArcGISRest.prototype.setProperties); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'unset', + GVol.source.ImageArcGISRest.prototype.unset); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'changed', + GVol.source.ImageArcGISRest.prototype.changed); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'dispatchEvent', + GVol.source.ImageArcGISRest.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'getRevision', + GVol.source.ImageArcGISRest.prototype.getRevision); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'on', + GVol.source.ImageArcGISRest.prototype.on); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'once', + GVol.source.ImageArcGISRest.prototype.once); + +goog.exportProperty( + GVol.source.ImageArcGISRest.prototype, + 'un', + GVol.source.ImageArcGISRest.prototype.un); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'getAttributions', + GVol.source.ImageCanvas.prototype.getAttributions); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'getLogo', + GVol.source.ImageCanvas.prototype.getLogo); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'getProjection', + GVol.source.ImageCanvas.prototype.getProjection); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'getState', + GVol.source.ImageCanvas.prototype.getState); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'refresh', + GVol.source.ImageCanvas.prototype.refresh); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'setAttributions', + GVol.source.ImageCanvas.prototype.setAttributions); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'get', + GVol.source.ImageCanvas.prototype.get); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'getKeys', + GVol.source.ImageCanvas.prototype.getKeys); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'getProperties', + GVol.source.ImageCanvas.prototype.getProperties); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'set', + GVol.source.ImageCanvas.prototype.set); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'setProperties', + GVol.source.ImageCanvas.prototype.setProperties); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'unset', + GVol.source.ImageCanvas.prototype.unset); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'changed', + GVol.source.ImageCanvas.prototype.changed); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'dispatchEvent', + GVol.source.ImageCanvas.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'getRevision', + GVol.source.ImageCanvas.prototype.getRevision); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'on', + GVol.source.ImageCanvas.prototype.on); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'once', + GVol.source.ImageCanvas.prototype.once); + +goog.exportProperty( + GVol.source.ImageCanvas.prototype, + 'un', + GVol.source.ImageCanvas.prototype.un); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'getAttributions', + GVol.source.ImageMapGuide.prototype.getAttributions); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'getLogo', + GVol.source.ImageMapGuide.prototype.getLogo); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'getProjection', + GVol.source.ImageMapGuide.prototype.getProjection); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'getState', + GVol.source.ImageMapGuide.prototype.getState); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'refresh', + GVol.source.ImageMapGuide.prototype.refresh); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'setAttributions', + GVol.source.ImageMapGuide.prototype.setAttributions); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'get', + GVol.source.ImageMapGuide.prototype.get); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'getKeys', + GVol.source.ImageMapGuide.prototype.getKeys); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'getProperties', + GVol.source.ImageMapGuide.prototype.getProperties); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'set', + GVol.source.ImageMapGuide.prototype.set); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'setProperties', + GVol.source.ImageMapGuide.prototype.setProperties); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'unset', + GVol.source.ImageMapGuide.prototype.unset); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'changed', + GVol.source.ImageMapGuide.prototype.changed); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'dispatchEvent', + GVol.source.ImageMapGuide.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'getRevision', + GVol.source.ImageMapGuide.prototype.getRevision); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'on', + GVol.source.ImageMapGuide.prototype.on); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'once', + GVol.source.ImageMapGuide.prototype.once); + +goog.exportProperty( + GVol.source.ImageMapGuide.prototype, + 'un', + GVol.source.ImageMapGuide.prototype.un); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'getAttributions', + GVol.source.ImageStatic.prototype.getAttributions); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'getLogo', + GVol.source.ImageStatic.prototype.getLogo); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'getProjection', + GVol.source.ImageStatic.prototype.getProjection); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'getState', + GVol.source.ImageStatic.prototype.getState); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'refresh', + GVol.source.ImageStatic.prototype.refresh); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'setAttributions', + GVol.source.ImageStatic.prototype.setAttributions); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'get', + GVol.source.ImageStatic.prototype.get); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'getKeys', + GVol.source.ImageStatic.prototype.getKeys); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'getProperties', + GVol.source.ImageStatic.prototype.getProperties); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'set', + GVol.source.ImageStatic.prototype.set); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'setProperties', + GVol.source.ImageStatic.prototype.setProperties); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'unset', + GVol.source.ImageStatic.prototype.unset); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'changed', + GVol.source.ImageStatic.prototype.changed); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'dispatchEvent', + GVol.source.ImageStatic.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'getRevision', + GVol.source.ImageStatic.prototype.getRevision); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'on', + GVol.source.ImageStatic.prototype.on); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'once', + GVol.source.ImageStatic.prototype.once); + +goog.exportProperty( + GVol.source.ImageStatic.prototype, + 'un', + GVol.source.ImageStatic.prototype.un); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getAttributions', + GVol.source.ImageVector.prototype.getAttributions); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getLogo', + GVol.source.ImageVector.prototype.getLogo); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getProjection', + GVol.source.ImageVector.prototype.getProjection); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getState', + GVol.source.ImageVector.prototype.getState); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'refresh', + GVol.source.ImageVector.prototype.refresh); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'setAttributions', + GVol.source.ImageVector.prototype.setAttributions); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'get', + GVol.source.ImageVector.prototype.get); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getKeys', + GVol.source.ImageVector.prototype.getKeys); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getProperties', + GVol.source.ImageVector.prototype.getProperties); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'set', + GVol.source.ImageVector.prototype.set); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'setProperties', + GVol.source.ImageVector.prototype.setProperties); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'unset', + GVol.source.ImageVector.prototype.unset); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'changed', + GVol.source.ImageVector.prototype.changed); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'dispatchEvent', + GVol.source.ImageVector.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'getRevision', + GVol.source.ImageVector.prototype.getRevision); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'on', + GVol.source.ImageVector.prototype.on); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'once', + GVol.source.ImageVector.prototype.once); + +goog.exportProperty( + GVol.source.ImageVector.prototype, + 'un', + GVol.source.ImageVector.prototype.un); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getAttributions', + GVol.source.ImageWMS.prototype.getAttributions); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getLogo', + GVol.source.ImageWMS.prototype.getLogo); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getProjection', + GVol.source.ImageWMS.prototype.getProjection); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getState', + GVol.source.ImageWMS.prototype.getState); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'refresh', + GVol.source.ImageWMS.prototype.refresh); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'setAttributions', + GVol.source.ImageWMS.prototype.setAttributions); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'get', + GVol.source.ImageWMS.prototype.get); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getKeys', + GVol.source.ImageWMS.prototype.getKeys); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getProperties', + GVol.source.ImageWMS.prototype.getProperties); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'set', + GVol.source.ImageWMS.prototype.set); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'setProperties', + GVol.source.ImageWMS.prototype.setProperties); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'unset', + GVol.source.ImageWMS.prototype.unset); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'changed', + GVol.source.ImageWMS.prototype.changed); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'dispatchEvent', + GVol.source.ImageWMS.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'getRevision', + GVol.source.ImageWMS.prototype.getRevision); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'on', + GVol.source.ImageWMS.prototype.on); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'once', + GVol.source.ImageWMS.prototype.once); + +goog.exportProperty( + GVol.source.ImageWMS.prototype, + 'un', + GVol.source.ImageWMS.prototype.un); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'setRenderReprojectionEdges', + GVol.source.OSM.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'setTileGridForProjection', + GVol.source.OSM.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getTileLoadFunction', + GVol.source.OSM.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getTileUrlFunction', + GVol.source.OSM.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getUrls', + GVol.source.OSM.prototype.getUrls); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'setTileLoadFunction', + GVol.source.OSM.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'setTileUrlFunction', + GVol.source.OSM.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'setUrl', + GVol.source.OSM.prototype.setUrl); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'setUrls', + GVol.source.OSM.prototype.setUrls); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getTileGrid', + GVol.source.OSM.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'refresh', + GVol.source.OSM.prototype.refresh); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getAttributions', + GVol.source.OSM.prototype.getAttributions); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getLogo', + GVol.source.OSM.prototype.getLogo); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getProjection', + GVol.source.OSM.prototype.getProjection); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getState', + GVol.source.OSM.prototype.getState); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'setAttributions', + GVol.source.OSM.prototype.setAttributions); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'get', + GVol.source.OSM.prototype.get); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getKeys', + GVol.source.OSM.prototype.getKeys); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getProperties', + GVol.source.OSM.prototype.getProperties); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'set', + GVol.source.OSM.prototype.set); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'setProperties', + GVol.source.OSM.prototype.setProperties); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'unset', + GVol.source.OSM.prototype.unset); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'changed', + GVol.source.OSM.prototype.changed); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'dispatchEvent', + GVol.source.OSM.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'getRevision', + GVol.source.OSM.prototype.getRevision); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'on', + GVol.source.OSM.prototype.on); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'once', + GVol.source.OSM.prototype.once); + +goog.exportProperty( + GVol.source.OSM.prototype, + 'un', + GVol.source.OSM.prototype.un); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'getAttributions', + GVol.source.Raster.prototype.getAttributions); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'getLogo', + GVol.source.Raster.prototype.getLogo); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'getProjection', + GVol.source.Raster.prototype.getProjection); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'getState', + GVol.source.Raster.prototype.getState); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'refresh', + GVol.source.Raster.prototype.refresh); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'setAttributions', + GVol.source.Raster.prototype.setAttributions); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'get', + GVol.source.Raster.prototype.get); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'getKeys', + GVol.source.Raster.prototype.getKeys); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'getProperties', + GVol.source.Raster.prototype.getProperties); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'set', + GVol.source.Raster.prototype.set); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'setProperties', + GVol.source.Raster.prototype.setProperties); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'unset', + GVol.source.Raster.prototype.unset); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'changed', + GVol.source.Raster.prototype.changed); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'dispatchEvent', + GVol.source.Raster.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'getRevision', + GVol.source.Raster.prototype.getRevision); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'on', + GVol.source.Raster.prototype.on); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'once', + GVol.source.Raster.prototype.once); + +goog.exportProperty( + GVol.source.Raster.prototype, + 'un', + GVol.source.Raster.prototype.un); + +goog.exportProperty( + GVol.source.Raster.Event.prototype, + 'type', + GVol.source.Raster.Event.prototype.type); + +goog.exportProperty( + GVol.source.Raster.Event.prototype, + 'target', + GVol.source.Raster.Event.prototype.target); + +goog.exportProperty( + GVol.source.Raster.Event.prototype, + 'preventDefault', + GVol.source.Raster.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.source.Raster.Event.prototype, + 'stopPropagation', + GVol.source.Raster.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'setRenderReprojectionEdges', + GVol.source.Stamen.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'setTileGridForProjection', + GVol.source.Stamen.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getTileLoadFunction', + GVol.source.Stamen.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getTileUrlFunction', + GVol.source.Stamen.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getUrls', + GVol.source.Stamen.prototype.getUrls); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'setTileLoadFunction', + GVol.source.Stamen.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'setTileUrlFunction', + GVol.source.Stamen.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'setUrl', + GVol.source.Stamen.prototype.setUrl); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'setUrls', + GVol.source.Stamen.prototype.setUrls); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getTileGrid', + GVol.source.Stamen.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'refresh', + GVol.source.Stamen.prototype.refresh); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getAttributions', + GVol.source.Stamen.prototype.getAttributions); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getLogo', + GVol.source.Stamen.prototype.getLogo); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getProjection', + GVol.source.Stamen.prototype.getProjection); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getState', + GVol.source.Stamen.prototype.getState); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'setAttributions', + GVol.source.Stamen.prototype.setAttributions); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'get', + GVol.source.Stamen.prototype.get); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getKeys', + GVol.source.Stamen.prototype.getKeys); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getProperties', + GVol.source.Stamen.prototype.getProperties); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'set', + GVol.source.Stamen.prototype.set); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'setProperties', + GVol.source.Stamen.prototype.setProperties); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'unset', + GVol.source.Stamen.prototype.unset); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'changed', + GVol.source.Stamen.prototype.changed); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'dispatchEvent', + GVol.source.Stamen.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'getRevision', + GVol.source.Stamen.prototype.getRevision); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'on', + GVol.source.Stamen.prototype.on); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'once', + GVol.source.Stamen.prototype.once); + +goog.exportProperty( + GVol.source.Stamen.prototype, + 'un', + GVol.source.Stamen.prototype.un); + +goog.exportProperty( + GVol.source.Tile.Event.prototype, + 'type', + GVol.source.Tile.Event.prototype.type); + +goog.exportProperty( + GVol.source.Tile.Event.prototype, + 'target', + GVol.source.Tile.Event.prototype.target); + +goog.exportProperty( + GVol.source.Tile.Event.prototype, + 'preventDefault', + GVol.source.Tile.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.source.Tile.Event.prototype, + 'stopPropagation', + GVol.source.Tile.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'setRenderReprojectionEdges', + GVol.source.TileArcGISRest.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'setTileGridForProjection', + GVol.source.TileArcGISRest.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getTileLoadFunction', + GVol.source.TileArcGISRest.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getTileUrlFunction', + GVol.source.TileArcGISRest.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getUrls', + GVol.source.TileArcGISRest.prototype.getUrls); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'setTileLoadFunction', + GVol.source.TileArcGISRest.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'setTileUrlFunction', + GVol.source.TileArcGISRest.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'setUrl', + GVol.source.TileArcGISRest.prototype.setUrl); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'setUrls', + GVol.source.TileArcGISRest.prototype.setUrls); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getTileGrid', + GVol.source.TileArcGISRest.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'refresh', + GVol.source.TileArcGISRest.prototype.refresh); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getAttributions', + GVol.source.TileArcGISRest.prototype.getAttributions); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getLogo', + GVol.source.TileArcGISRest.prototype.getLogo); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getProjection', + GVol.source.TileArcGISRest.prototype.getProjection); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getState', + GVol.source.TileArcGISRest.prototype.getState); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'setAttributions', + GVol.source.TileArcGISRest.prototype.setAttributions); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'get', + GVol.source.TileArcGISRest.prototype.get); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getKeys', + GVol.source.TileArcGISRest.prototype.getKeys); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getProperties', + GVol.source.TileArcGISRest.prototype.getProperties); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'set', + GVol.source.TileArcGISRest.prototype.set); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'setProperties', + GVol.source.TileArcGISRest.prototype.setProperties); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'unset', + GVol.source.TileArcGISRest.prototype.unset); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'changed', + GVol.source.TileArcGISRest.prototype.changed); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'dispatchEvent', + GVol.source.TileArcGISRest.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'getRevision', + GVol.source.TileArcGISRest.prototype.getRevision); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'on', + GVol.source.TileArcGISRest.prototype.on); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'once', + GVol.source.TileArcGISRest.prototype.once); + +goog.exportProperty( + GVol.source.TileArcGISRest.prototype, + 'un', + GVol.source.TileArcGISRest.prototype.un); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'getTileGrid', + GVol.source.TileDebug.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'refresh', + GVol.source.TileDebug.prototype.refresh); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'getAttributions', + GVol.source.TileDebug.prototype.getAttributions); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'getLogo', + GVol.source.TileDebug.prototype.getLogo); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'getProjection', + GVol.source.TileDebug.prototype.getProjection); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'getState', + GVol.source.TileDebug.prototype.getState); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'setAttributions', + GVol.source.TileDebug.prototype.setAttributions); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'get', + GVol.source.TileDebug.prototype.get); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'getKeys', + GVol.source.TileDebug.prototype.getKeys); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'getProperties', + GVol.source.TileDebug.prototype.getProperties); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'set', + GVol.source.TileDebug.prototype.set); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'setProperties', + GVol.source.TileDebug.prototype.setProperties); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'unset', + GVol.source.TileDebug.prototype.unset); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'changed', + GVol.source.TileDebug.prototype.changed); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'dispatchEvent', + GVol.source.TileDebug.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'getRevision', + GVol.source.TileDebug.prototype.getRevision); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'on', + GVol.source.TileDebug.prototype.on); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'once', + GVol.source.TileDebug.prototype.once); + +goog.exportProperty( + GVol.source.TileDebug.prototype, + 'un', + GVol.source.TileDebug.prototype.un); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'setRenderReprojectionEdges', + GVol.source.TileJSON.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'setTileGridForProjection', + GVol.source.TileJSON.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getTileLoadFunction', + GVol.source.TileJSON.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getTileUrlFunction', + GVol.source.TileJSON.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getUrls', + GVol.source.TileJSON.prototype.getUrls); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'setTileLoadFunction', + GVol.source.TileJSON.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'setTileUrlFunction', + GVol.source.TileJSON.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'setUrl', + GVol.source.TileJSON.prototype.setUrl); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'setUrls', + GVol.source.TileJSON.prototype.setUrls); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getTileGrid', + GVol.source.TileJSON.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'refresh', + GVol.source.TileJSON.prototype.refresh); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getAttributions', + GVol.source.TileJSON.prototype.getAttributions); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getLogo', + GVol.source.TileJSON.prototype.getLogo); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getProjection', + GVol.source.TileJSON.prototype.getProjection); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getState', + GVol.source.TileJSON.prototype.getState); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'setAttributions', + GVol.source.TileJSON.prototype.setAttributions); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'get', + GVol.source.TileJSON.prototype.get); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getKeys', + GVol.source.TileJSON.prototype.getKeys); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getProperties', + GVol.source.TileJSON.prototype.getProperties); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'set', + GVol.source.TileJSON.prototype.set); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'setProperties', + GVol.source.TileJSON.prototype.setProperties); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'unset', + GVol.source.TileJSON.prototype.unset); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'changed', + GVol.source.TileJSON.prototype.changed); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'dispatchEvent', + GVol.source.TileJSON.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'getRevision', + GVol.source.TileJSON.prototype.getRevision); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'on', + GVol.source.TileJSON.prototype.on); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'once', + GVol.source.TileJSON.prototype.once); + +goog.exportProperty( + GVol.source.TileJSON.prototype, + 'un', + GVol.source.TileJSON.prototype.un); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'getTileGrid', + GVol.source.TileUTFGrid.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'refresh', + GVol.source.TileUTFGrid.prototype.refresh); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'getAttributions', + GVol.source.TileUTFGrid.prototype.getAttributions); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'getLogo', + GVol.source.TileUTFGrid.prototype.getLogo); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'getProjection', + GVol.source.TileUTFGrid.prototype.getProjection); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'getState', + GVol.source.TileUTFGrid.prototype.getState); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'setAttributions', + GVol.source.TileUTFGrid.prototype.setAttributions); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'get', + GVol.source.TileUTFGrid.prototype.get); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'getKeys', + GVol.source.TileUTFGrid.prototype.getKeys); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'getProperties', + GVol.source.TileUTFGrid.prototype.getProperties); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'set', + GVol.source.TileUTFGrid.prototype.set); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'setProperties', + GVol.source.TileUTFGrid.prototype.setProperties); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'unset', + GVol.source.TileUTFGrid.prototype.unset); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'changed', + GVol.source.TileUTFGrid.prototype.changed); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'dispatchEvent', + GVol.source.TileUTFGrid.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'getRevision', + GVol.source.TileUTFGrid.prototype.getRevision); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'on', + GVol.source.TileUTFGrid.prototype.on); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'once', + GVol.source.TileUTFGrid.prototype.once); + +goog.exportProperty( + GVol.source.TileUTFGrid.prototype, + 'un', + GVol.source.TileUTFGrid.prototype.un); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'setRenderReprojectionEdges', + GVol.source.TileWMS.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'setTileGridForProjection', + GVol.source.TileWMS.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getTileLoadFunction', + GVol.source.TileWMS.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getTileUrlFunction', + GVol.source.TileWMS.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getUrls', + GVol.source.TileWMS.prototype.getUrls); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'setTileLoadFunction', + GVol.source.TileWMS.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'setTileUrlFunction', + GVol.source.TileWMS.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'setUrl', + GVol.source.TileWMS.prototype.setUrl); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'setUrls', + GVol.source.TileWMS.prototype.setUrls); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getTileGrid', + GVol.source.TileWMS.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'refresh', + GVol.source.TileWMS.prototype.refresh); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getAttributions', + GVol.source.TileWMS.prototype.getAttributions); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getLogo', + GVol.source.TileWMS.prototype.getLogo); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getProjection', + GVol.source.TileWMS.prototype.getProjection); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getState', + GVol.source.TileWMS.prototype.getState); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'setAttributions', + GVol.source.TileWMS.prototype.setAttributions); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'get', + GVol.source.TileWMS.prototype.get); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getKeys', + GVol.source.TileWMS.prototype.getKeys); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getProperties', + GVol.source.TileWMS.prototype.getProperties); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'set', + GVol.source.TileWMS.prototype.set); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'setProperties', + GVol.source.TileWMS.prototype.setProperties); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'unset', + GVol.source.TileWMS.prototype.unset); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'changed', + GVol.source.TileWMS.prototype.changed); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'dispatchEvent', + GVol.source.TileWMS.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'getRevision', + GVol.source.TileWMS.prototype.getRevision); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'on', + GVol.source.TileWMS.prototype.on); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'once', + GVol.source.TileWMS.prototype.once); + +goog.exportProperty( + GVol.source.TileWMS.prototype, + 'un', + GVol.source.TileWMS.prototype.un); + +goog.exportProperty( + GVol.source.Vector.Event.prototype, + 'type', + GVol.source.Vector.Event.prototype.type); + +goog.exportProperty( + GVol.source.Vector.Event.prototype, + 'target', + GVol.source.Vector.Event.prototype.target); + +goog.exportProperty( + GVol.source.Vector.Event.prototype, + 'preventDefault', + GVol.source.Vector.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.source.Vector.Event.prototype, + 'stopPropagation', + GVol.source.Vector.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getTileLoadFunction', + GVol.source.VectorTile.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getTileUrlFunction', + GVol.source.VectorTile.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getUrls', + GVol.source.VectorTile.prototype.getUrls); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'setTileLoadFunction', + GVol.source.VectorTile.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'setTileUrlFunction', + GVol.source.VectorTile.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'setUrl', + GVol.source.VectorTile.prototype.setUrl); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'setUrls', + GVol.source.VectorTile.prototype.setUrls); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getTileGrid', + GVol.source.VectorTile.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'refresh', + GVol.source.VectorTile.prototype.refresh); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getAttributions', + GVol.source.VectorTile.prototype.getAttributions); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getLogo', + GVol.source.VectorTile.prototype.getLogo); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getProjection', + GVol.source.VectorTile.prototype.getProjection); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getState', + GVol.source.VectorTile.prototype.getState); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'setAttributions', + GVol.source.VectorTile.prototype.setAttributions); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'get', + GVol.source.VectorTile.prototype.get); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getKeys', + GVol.source.VectorTile.prototype.getKeys); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getProperties', + GVol.source.VectorTile.prototype.getProperties); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'set', + GVol.source.VectorTile.prototype.set); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'setProperties', + GVol.source.VectorTile.prototype.setProperties); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'unset', + GVol.source.VectorTile.prototype.unset); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'changed', + GVol.source.VectorTile.prototype.changed); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'dispatchEvent', + GVol.source.VectorTile.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'getRevision', + GVol.source.VectorTile.prototype.getRevision); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'on', + GVol.source.VectorTile.prototype.on); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'once', + GVol.source.VectorTile.prototype.once); + +goog.exportProperty( + GVol.source.VectorTile.prototype, + 'un', + GVol.source.VectorTile.prototype.un); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'setRenderReprojectionEdges', + GVol.source.WMTS.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'setTileGridForProjection', + GVol.source.WMTS.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getTileLoadFunction', + GVol.source.WMTS.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getTileUrlFunction', + GVol.source.WMTS.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getUrls', + GVol.source.WMTS.prototype.getUrls); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'setTileLoadFunction', + GVol.source.WMTS.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'setTileUrlFunction', + GVol.source.WMTS.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'setUrl', + GVol.source.WMTS.prototype.setUrl); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'setUrls', + GVol.source.WMTS.prototype.setUrls); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getTileGrid', + GVol.source.WMTS.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'refresh', + GVol.source.WMTS.prototype.refresh); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getAttributions', + GVol.source.WMTS.prototype.getAttributions); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getLogo', + GVol.source.WMTS.prototype.getLogo); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getProjection', + GVol.source.WMTS.prototype.getProjection); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getState', + GVol.source.WMTS.prototype.getState); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'setAttributions', + GVol.source.WMTS.prototype.setAttributions); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'get', + GVol.source.WMTS.prototype.get); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getKeys', + GVol.source.WMTS.prototype.getKeys); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getProperties', + GVol.source.WMTS.prototype.getProperties); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'set', + GVol.source.WMTS.prototype.set); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'setProperties', + GVol.source.WMTS.prototype.setProperties); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'unset', + GVol.source.WMTS.prototype.unset); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'changed', + GVol.source.WMTS.prototype.changed); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'dispatchEvent', + GVol.source.WMTS.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'getRevision', + GVol.source.WMTS.prototype.getRevision); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'on', + GVol.source.WMTS.prototype.on); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'once', + GVol.source.WMTS.prototype.once); + +goog.exportProperty( + GVol.source.WMTS.prototype, + 'un', + GVol.source.WMTS.prototype.un); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'setRenderReprojectionEdges', + GVol.source.Zoomify.prototype.setRenderReprojectionEdges); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'setTileGridForProjection', + GVol.source.Zoomify.prototype.setTileGridForProjection); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getTileLoadFunction', + GVol.source.Zoomify.prototype.getTileLoadFunction); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getTileUrlFunction', + GVol.source.Zoomify.prototype.getTileUrlFunction); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getUrls', + GVol.source.Zoomify.prototype.getUrls); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'setTileLoadFunction', + GVol.source.Zoomify.prototype.setTileLoadFunction); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'setTileUrlFunction', + GVol.source.Zoomify.prototype.setTileUrlFunction); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'setUrl', + GVol.source.Zoomify.prototype.setUrl); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'setUrls', + GVol.source.Zoomify.prototype.setUrls); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getTileGrid', + GVol.source.Zoomify.prototype.getTileGrid); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'refresh', + GVol.source.Zoomify.prototype.refresh); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getAttributions', + GVol.source.Zoomify.prototype.getAttributions); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getLogo', + GVol.source.Zoomify.prototype.getLogo); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getProjection', + GVol.source.Zoomify.prototype.getProjection); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getState', + GVol.source.Zoomify.prototype.getState); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'setAttributions', + GVol.source.Zoomify.prototype.setAttributions); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'get', + GVol.source.Zoomify.prototype.get); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getKeys', + GVol.source.Zoomify.prototype.getKeys); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getProperties', + GVol.source.Zoomify.prototype.getProperties); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'set', + GVol.source.Zoomify.prototype.set); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'setProperties', + GVol.source.Zoomify.prototype.setProperties); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'unset', + GVol.source.Zoomify.prototype.unset); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'changed', + GVol.source.Zoomify.prototype.changed); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'dispatchEvent', + GVol.source.Zoomify.prototype.dispatchEvent); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'getRevision', + GVol.source.Zoomify.prototype.getRevision); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'on', + GVol.source.Zoomify.prototype.on); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'once', + GVol.source.Zoomify.prototype.once); + +goog.exportProperty( + GVol.source.Zoomify.prototype, + 'un', + GVol.source.Zoomify.prototype.un); + +goog.exportProperty( + GVol.reproj.Tile.prototype, + 'getTileCoord', + GVol.reproj.Tile.prototype.getTileCoord); + +goog.exportProperty( + GVol.reproj.Tile.prototype, + 'load', + GVol.reproj.Tile.prototype.load); + +goog.exportProperty( + GVol.renderer.Layer.prototype, + 'changed', + GVol.renderer.Layer.prototype.changed); + +goog.exportProperty( + GVol.renderer.Layer.prototype, + 'dispatchEvent', + GVol.renderer.Layer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.Layer.prototype, + 'getRevision', + GVol.renderer.Layer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.Layer.prototype, + 'on', + GVol.renderer.Layer.prototype.on); + +goog.exportProperty( + GVol.renderer.Layer.prototype, + 'once', + GVol.renderer.Layer.prototype.once); + +goog.exportProperty( + GVol.renderer.Layer.prototype, + 'un', + GVol.renderer.Layer.prototype.un); + +goog.exportProperty( + GVol.renderer.webgl.Layer.prototype, + 'changed', + GVol.renderer.webgl.Layer.prototype.changed); + +goog.exportProperty( + GVol.renderer.webgl.Layer.prototype, + 'dispatchEvent', + GVol.renderer.webgl.Layer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.webgl.Layer.prototype, + 'getRevision', + GVol.renderer.webgl.Layer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.webgl.Layer.prototype, + 'on', + GVol.renderer.webgl.Layer.prototype.on); + +goog.exportProperty( + GVol.renderer.webgl.Layer.prototype, + 'once', + GVol.renderer.webgl.Layer.prototype.once); + +goog.exportProperty( + GVol.renderer.webgl.Layer.prototype, + 'un', + GVol.renderer.webgl.Layer.prototype.un); + +goog.exportProperty( + GVol.renderer.webgl.ImageLayer.prototype, + 'changed', + GVol.renderer.webgl.ImageLayer.prototype.changed); + +goog.exportProperty( + GVol.renderer.webgl.ImageLayer.prototype, + 'dispatchEvent', + GVol.renderer.webgl.ImageLayer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.webgl.ImageLayer.prototype, + 'getRevision', + GVol.renderer.webgl.ImageLayer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.webgl.ImageLayer.prototype, + 'on', + GVol.renderer.webgl.ImageLayer.prototype.on); + +goog.exportProperty( + GVol.renderer.webgl.ImageLayer.prototype, + 'once', + GVol.renderer.webgl.ImageLayer.prototype.once); + +goog.exportProperty( + GVol.renderer.webgl.ImageLayer.prototype, + 'un', + GVol.renderer.webgl.ImageLayer.prototype.un); + +goog.exportProperty( + GVol.renderer.webgl.TileLayer.prototype, + 'changed', + GVol.renderer.webgl.TileLayer.prototype.changed); + +goog.exportProperty( + GVol.renderer.webgl.TileLayer.prototype, + 'dispatchEvent', + GVol.renderer.webgl.TileLayer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.webgl.TileLayer.prototype, + 'getRevision', + GVol.renderer.webgl.TileLayer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.webgl.TileLayer.prototype, + 'on', + GVol.renderer.webgl.TileLayer.prototype.on); + +goog.exportProperty( + GVol.renderer.webgl.TileLayer.prototype, + 'once', + GVol.renderer.webgl.TileLayer.prototype.once); + +goog.exportProperty( + GVol.renderer.webgl.TileLayer.prototype, + 'un', + GVol.renderer.webgl.TileLayer.prototype.un); + +goog.exportProperty( + GVol.renderer.webgl.VectorLayer.prototype, + 'changed', + GVol.renderer.webgl.VectorLayer.prototype.changed); + +goog.exportProperty( + GVol.renderer.webgl.VectorLayer.prototype, + 'dispatchEvent', + GVol.renderer.webgl.VectorLayer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.webgl.VectorLayer.prototype, + 'getRevision', + GVol.renderer.webgl.VectorLayer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.webgl.VectorLayer.prototype, + 'on', + GVol.renderer.webgl.VectorLayer.prototype.on); + +goog.exportProperty( + GVol.renderer.webgl.VectorLayer.prototype, + 'once', + GVol.renderer.webgl.VectorLayer.prototype.once); + +goog.exportProperty( + GVol.renderer.webgl.VectorLayer.prototype, + 'un', + GVol.renderer.webgl.VectorLayer.prototype.un); + +goog.exportProperty( + GVol.renderer.canvas.Layer.prototype, + 'changed', + GVol.renderer.canvas.Layer.prototype.changed); + +goog.exportProperty( + GVol.renderer.canvas.Layer.prototype, + 'dispatchEvent', + GVol.renderer.canvas.Layer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.canvas.Layer.prototype, + 'getRevision', + GVol.renderer.canvas.Layer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.canvas.Layer.prototype, + 'on', + GVol.renderer.canvas.Layer.prototype.on); + +goog.exportProperty( + GVol.renderer.canvas.Layer.prototype, + 'once', + GVol.renderer.canvas.Layer.prototype.once); + +goog.exportProperty( + GVol.renderer.canvas.Layer.prototype, + 'un', + GVol.renderer.canvas.Layer.prototype.un); + +goog.exportProperty( + GVol.renderer.canvas.IntermediateCanvas.prototype, + 'changed', + GVol.renderer.canvas.IntermediateCanvas.prototype.changed); + +goog.exportProperty( + GVol.renderer.canvas.IntermediateCanvas.prototype, + 'dispatchEvent', + GVol.renderer.canvas.IntermediateCanvas.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.canvas.IntermediateCanvas.prototype, + 'getRevision', + GVol.renderer.canvas.IntermediateCanvas.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.canvas.IntermediateCanvas.prototype, + 'on', + GVol.renderer.canvas.IntermediateCanvas.prototype.on); + +goog.exportProperty( + GVol.renderer.canvas.IntermediateCanvas.prototype, + 'once', + GVol.renderer.canvas.IntermediateCanvas.prototype.once); + +goog.exportProperty( + GVol.renderer.canvas.IntermediateCanvas.prototype, + 'un', + GVol.renderer.canvas.IntermediateCanvas.prototype.un); + +goog.exportProperty( + GVol.renderer.canvas.ImageLayer.prototype, + 'changed', + GVol.renderer.canvas.ImageLayer.prototype.changed); + +goog.exportProperty( + GVol.renderer.canvas.ImageLayer.prototype, + 'dispatchEvent', + GVol.renderer.canvas.ImageLayer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.canvas.ImageLayer.prototype, + 'getRevision', + GVol.renderer.canvas.ImageLayer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.canvas.ImageLayer.prototype, + 'on', + GVol.renderer.canvas.ImageLayer.prototype.on); + +goog.exportProperty( + GVol.renderer.canvas.ImageLayer.prototype, + 'once', + GVol.renderer.canvas.ImageLayer.prototype.once); + +goog.exportProperty( + GVol.renderer.canvas.ImageLayer.prototype, + 'un', + GVol.renderer.canvas.ImageLayer.prototype.un); + +goog.exportProperty( + GVol.renderer.canvas.TileLayer.prototype, + 'changed', + GVol.renderer.canvas.TileLayer.prototype.changed); + +goog.exportProperty( + GVol.renderer.canvas.TileLayer.prototype, + 'dispatchEvent', + GVol.renderer.canvas.TileLayer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.canvas.TileLayer.prototype, + 'getRevision', + GVol.renderer.canvas.TileLayer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.canvas.TileLayer.prototype, + 'on', + GVol.renderer.canvas.TileLayer.prototype.on); + +goog.exportProperty( + GVol.renderer.canvas.TileLayer.prototype, + 'once', + GVol.renderer.canvas.TileLayer.prototype.once); + +goog.exportProperty( + GVol.renderer.canvas.TileLayer.prototype, + 'un', + GVol.renderer.canvas.TileLayer.prototype.un); + +goog.exportProperty( + GVol.renderer.canvas.VectorLayer.prototype, + 'changed', + GVol.renderer.canvas.VectorLayer.prototype.changed); + +goog.exportProperty( + GVol.renderer.canvas.VectorLayer.prototype, + 'dispatchEvent', + GVol.renderer.canvas.VectorLayer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.canvas.VectorLayer.prototype, + 'getRevision', + GVol.renderer.canvas.VectorLayer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.canvas.VectorLayer.prototype, + 'on', + GVol.renderer.canvas.VectorLayer.prototype.on); + +goog.exportProperty( + GVol.renderer.canvas.VectorLayer.prototype, + 'once', + GVol.renderer.canvas.VectorLayer.prototype.once); + +goog.exportProperty( + GVol.renderer.canvas.VectorLayer.prototype, + 'un', + GVol.renderer.canvas.VectorLayer.prototype.un); + +goog.exportProperty( + GVol.renderer.canvas.VectorTileLayer.prototype, + 'changed', + GVol.renderer.canvas.VectorTileLayer.prototype.changed); + +goog.exportProperty( + GVol.renderer.canvas.VectorTileLayer.prototype, + 'dispatchEvent', + GVol.renderer.canvas.VectorTileLayer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.renderer.canvas.VectorTileLayer.prototype, + 'getRevision', + GVol.renderer.canvas.VectorTileLayer.prototype.getRevision); + +goog.exportProperty( + GVol.renderer.canvas.VectorTileLayer.prototype, + 'on', + GVol.renderer.canvas.VectorTileLayer.prototype.on); + +goog.exportProperty( + GVol.renderer.canvas.VectorTileLayer.prototype, + 'once', + GVol.renderer.canvas.VectorTileLayer.prototype.once); + +goog.exportProperty( + GVol.renderer.canvas.VectorTileLayer.prototype, + 'un', + GVol.renderer.canvas.VectorTileLayer.prototype.un); + +goog.exportProperty( + GVol.render.Event.prototype, + 'type', + GVol.render.Event.prototype.type); + +goog.exportProperty( + GVol.render.Event.prototype, + 'target', + GVol.render.Event.prototype.target); + +goog.exportProperty( + GVol.render.Event.prototype, + 'preventDefault', + GVol.render.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.render.Event.prototype, + 'stopPropagation', + GVol.render.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.pointer.PointerEvent.prototype, + 'type', + GVol.pointer.PointerEvent.prototype.type); + +goog.exportProperty( + GVol.pointer.PointerEvent.prototype, + 'target', + GVol.pointer.PointerEvent.prototype.target); + +goog.exportProperty( + GVol.pointer.PointerEvent.prototype, + 'preventDefault', + GVol.pointer.PointerEvent.prototype.preventDefault); + +goog.exportProperty( + GVol.pointer.PointerEvent.prototype, + 'stopPropagation', + GVol.pointer.PointerEvent.prototype.stopPropagation); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'get', + GVol.layer.Base.prototype.get); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'getKeys', + GVol.layer.Base.prototype.getKeys); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'getProperties', + GVol.layer.Base.prototype.getProperties); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'set', + GVol.layer.Base.prototype.set); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'setProperties', + GVol.layer.Base.prototype.setProperties); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'unset', + GVol.layer.Base.prototype.unset); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'changed', + GVol.layer.Base.prototype.changed); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'dispatchEvent', + GVol.layer.Base.prototype.dispatchEvent); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'getRevision', + GVol.layer.Base.prototype.getRevision); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'on', + GVol.layer.Base.prototype.on); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'once', + GVol.layer.Base.prototype.once); + +goog.exportProperty( + GVol.layer.Base.prototype, + 'un', + GVol.layer.Base.prototype.un); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getExtent', + GVol.layer.Group.prototype.getExtent); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getMaxResGVolution', + GVol.layer.Group.prototype.getMaxResGVolution); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getMinResGVolution', + GVol.layer.Group.prototype.getMinResGVolution); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getOpacity', + GVol.layer.Group.prototype.getOpacity); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getVisible', + GVol.layer.Group.prototype.getVisible); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getZIndex', + GVol.layer.Group.prototype.getZIndex); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'setExtent', + GVol.layer.Group.prototype.setExtent); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'setMaxResGVolution', + GVol.layer.Group.prototype.setMaxResGVolution); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'setMinResGVolution', + GVol.layer.Group.prototype.setMinResGVolution); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'setOpacity', + GVol.layer.Group.prototype.setOpacity); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'setVisible', + GVol.layer.Group.prototype.setVisible); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'setZIndex', + GVol.layer.Group.prototype.setZIndex); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'get', + GVol.layer.Group.prototype.get); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getKeys', + GVol.layer.Group.prototype.getKeys); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getProperties', + GVol.layer.Group.prototype.getProperties); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'set', + GVol.layer.Group.prototype.set); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'setProperties', + GVol.layer.Group.prototype.setProperties); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'unset', + GVol.layer.Group.prototype.unset); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'changed', + GVol.layer.Group.prototype.changed); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'dispatchEvent', + GVol.layer.Group.prototype.dispatchEvent); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'getRevision', + GVol.layer.Group.prototype.getRevision); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'on', + GVol.layer.Group.prototype.on); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'once', + GVol.layer.Group.prototype.once); + +goog.exportProperty( + GVol.layer.Group.prototype, + 'un', + GVol.layer.Group.prototype.un); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getExtent', + GVol.layer.Layer.prototype.getExtent); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getMaxResGVolution', + GVol.layer.Layer.prototype.getMaxResGVolution); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getMinResGVolution', + GVol.layer.Layer.prototype.getMinResGVolution); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getOpacity', + GVol.layer.Layer.prototype.getOpacity); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getVisible', + GVol.layer.Layer.prototype.getVisible); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getZIndex', + GVol.layer.Layer.prototype.getZIndex); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'setExtent', + GVol.layer.Layer.prototype.setExtent); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'setMaxResGVolution', + GVol.layer.Layer.prototype.setMaxResGVolution); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'setMinResGVolution', + GVol.layer.Layer.prototype.setMinResGVolution); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'setOpacity', + GVol.layer.Layer.prototype.setOpacity); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'setVisible', + GVol.layer.Layer.prototype.setVisible); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'setZIndex', + GVol.layer.Layer.prototype.setZIndex); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'get', + GVol.layer.Layer.prototype.get); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getKeys', + GVol.layer.Layer.prototype.getKeys); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getProperties', + GVol.layer.Layer.prototype.getProperties); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'set', + GVol.layer.Layer.prototype.set); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'setProperties', + GVol.layer.Layer.prototype.setProperties); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'unset', + GVol.layer.Layer.prototype.unset); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'changed', + GVol.layer.Layer.prototype.changed); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'dispatchEvent', + GVol.layer.Layer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'getRevision', + GVol.layer.Layer.prototype.getRevision); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'on', + GVol.layer.Layer.prototype.on); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'once', + GVol.layer.Layer.prototype.once); + +goog.exportProperty( + GVol.layer.Layer.prototype, + 'un', + GVol.layer.Layer.prototype.un); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setMap', + GVol.layer.Vector.prototype.setMap); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setSource', + GVol.layer.Vector.prototype.setSource); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getExtent', + GVol.layer.Vector.prototype.getExtent); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getMaxResGVolution', + GVol.layer.Vector.prototype.getMaxResGVolution); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getMinResGVolution', + GVol.layer.Vector.prototype.getMinResGVolution); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getOpacity', + GVol.layer.Vector.prototype.getOpacity); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getVisible', + GVol.layer.Vector.prototype.getVisible); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getZIndex', + GVol.layer.Vector.prototype.getZIndex); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setExtent', + GVol.layer.Vector.prototype.setExtent); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setMaxResGVolution', + GVol.layer.Vector.prototype.setMaxResGVolution); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setMinResGVolution', + GVol.layer.Vector.prototype.setMinResGVolution); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setOpacity', + GVol.layer.Vector.prototype.setOpacity); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setVisible', + GVol.layer.Vector.prototype.setVisible); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setZIndex', + GVol.layer.Vector.prototype.setZIndex); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'get', + GVol.layer.Vector.prototype.get); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getKeys', + GVol.layer.Vector.prototype.getKeys); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getProperties', + GVol.layer.Vector.prototype.getProperties); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'set', + GVol.layer.Vector.prototype.set); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'setProperties', + GVol.layer.Vector.prototype.setProperties); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'unset', + GVol.layer.Vector.prototype.unset); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'changed', + GVol.layer.Vector.prototype.changed); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'dispatchEvent', + GVol.layer.Vector.prototype.dispatchEvent); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'getRevision', + GVol.layer.Vector.prototype.getRevision); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'on', + GVol.layer.Vector.prototype.on); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'once', + GVol.layer.Vector.prototype.once); + +goog.exportProperty( + GVol.layer.Vector.prototype, + 'un', + GVol.layer.Vector.prototype.un); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getSource', + GVol.layer.Heatmap.prototype.getSource); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getStyle', + GVol.layer.Heatmap.prototype.getStyle); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getStyleFunction', + GVol.layer.Heatmap.prototype.getStyleFunction); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setStyle', + GVol.layer.Heatmap.prototype.setStyle); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setMap', + GVol.layer.Heatmap.prototype.setMap); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setSource', + GVol.layer.Heatmap.prototype.setSource); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getExtent', + GVol.layer.Heatmap.prototype.getExtent); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getMaxResGVolution', + GVol.layer.Heatmap.prototype.getMaxResGVolution); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getMinResGVolution', + GVol.layer.Heatmap.prototype.getMinResGVolution); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getOpacity', + GVol.layer.Heatmap.prototype.getOpacity); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getVisible', + GVol.layer.Heatmap.prototype.getVisible); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getZIndex', + GVol.layer.Heatmap.prototype.getZIndex); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setExtent', + GVol.layer.Heatmap.prototype.setExtent); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setMaxResGVolution', + GVol.layer.Heatmap.prototype.setMaxResGVolution); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setMinResGVolution', + GVol.layer.Heatmap.prototype.setMinResGVolution); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setOpacity', + GVol.layer.Heatmap.prototype.setOpacity); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setVisible', + GVol.layer.Heatmap.prototype.setVisible); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setZIndex', + GVol.layer.Heatmap.prototype.setZIndex); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'get', + GVol.layer.Heatmap.prototype.get); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getKeys', + GVol.layer.Heatmap.prototype.getKeys); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getProperties', + GVol.layer.Heatmap.prototype.getProperties); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'set', + GVol.layer.Heatmap.prototype.set); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'setProperties', + GVol.layer.Heatmap.prototype.setProperties); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'unset', + GVol.layer.Heatmap.prototype.unset); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'changed', + GVol.layer.Heatmap.prototype.changed); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'dispatchEvent', + GVol.layer.Heatmap.prototype.dispatchEvent); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'getRevision', + GVol.layer.Heatmap.prototype.getRevision); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'on', + GVol.layer.Heatmap.prototype.on); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'once', + GVol.layer.Heatmap.prototype.once); + +goog.exportProperty( + GVol.layer.Heatmap.prototype, + 'un', + GVol.layer.Heatmap.prototype.un); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'setMap', + GVol.layer.Image.prototype.setMap); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'setSource', + GVol.layer.Image.prototype.setSource); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getExtent', + GVol.layer.Image.prototype.getExtent); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getMaxResGVolution', + GVol.layer.Image.prototype.getMaxResGVolution); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getMinResGVolution', + GVol.layer.Image.prototype.getMinResGVolution); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getOpacity', + GVol.layer.Image.prototype.getOpacity); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getVisible', + GVol.layer.Image.prototype.getVisible); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getZIndex', + GVol.layer.Image.prototype.getZIndex); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'setExtent', + GVol.layer.Image.prototype.setExtent); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'setMaxResGVolution', + GVol.layer.Image.prototype.setMaxResGVolution); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'setMinResGVolution', + GVol.layer.Image.prototype.setMinResGVolution); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'setOpacity', + GVol.layer.Image.prototype.setOpacity); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'setVisible', + GVol.layer.Image.prototype.setVisible); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'setZIndex', + GVol.layer.Image.prototype.setZIndex); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'get', + GVol.layer.Image.prototype.get); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getKeys', + GVol.layer.Image.prototype.getKeys); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getProperties', + GVol.layer.Image.prototype.getProperties); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'set', + GVol.layer.Image.prototype.set); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'setProperties', + GVol.layer.Image.prototype.setProperties); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'unset', + GVol.layer.Image.prototype.unset); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'changed', + GVol.layer.Image.prototype.changed); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'dispatchEvent', + GVol.layer.Image.prototype.dispatchEvent); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'getRevision', + GVol.layer.Image.prototype.getRevision); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'on', + GVol.layer.Image.prototype.on); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'once', + GVol.layer.Image.prototype.once); + +goog.exportProperty( + GVol.layer.Image.prototype, + 'un', + GVol.layer.Image.prototype.un); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setMap', + GVol.layer.Tile.prototype.setMap); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setSource', + GVol.layer.Tile.prototype.setSource); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getExtent', + GVol.layer.Tile.prototype.getExtent); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getMaxResGVolution', + GVol.layer.Tile.prototype.getMaxResGVolution); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getMinResGVolution', + GVol.layer.Tile.prototype.getMinResGVolution); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getOpacity', + GVol.layer.Tile.prototype.getOpacity); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getVisible', + GVol.layer.Tile.prototype.getVisible); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getZIndex', + GVol.layer.Tile.prototype.getZIndex); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setExtent', + GVol.layer.Tile.prototype.setExtent); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setMaxResGVolution', + GVol.layer.Tile.prototype.setMaxResGVolution); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setMinResGVolution', + GVol.layer.Tile.prototype.setMinResGVolution); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setOpacity', + GVol.layer.Tile.prototype.setOpacity); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setVisible', + GVol.layer.Tile.prototype.setVisible); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setZIndex', + GVol.layer.Tile.prototype.setZIndex); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'get', + GVol.layer.Tile.prototype.get); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getKeys', + GVol.layer.Tile.prototype.getKeys); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getProperties', + GVol.layer.Tile.prototype.getProperties); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'set', + GVol.layer.Tile.prototype.set); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'setProperties', + GVol.layer.Tile.prototype.setProperties); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'unset', + GVol.layer.Tile.prototype.unset); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'changed', + GVol.layer.Tile.prototype.changed); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'dispatchEvent', + GVol.layer.Tile.prototype.dispatchEvent); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'getRevision', + GVol.layer.Tile.prototype.getRevision); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'on', + GVol.layer.Tile.prototype.on); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'once', + GVol.layer.Tile.prototype.once); + +goog.exportProperty( + GVol.layer.Tile.prototype, + 'un', + GVol.layer.Tile.prototype.un); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getStyle', + GVol.layer.VectorTile.prototype.getStyle); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getStyleFunction', + GVol.layer.VectorTile.prototype.getStyleFunction); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setStyle', + GVol.layer.VectorTile.prototype.setStyle); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setMap', + GVol.layer.VectorTile.prototype.setMap); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setSource', + GVol.layer.VectorTile.prototype.setSource); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getExtent', + GVol.layer.VectorTile.prototype.getExtent); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getMaxResGVolution', + GVol.layer.VectorTile.prototype.getMaxResGVolution); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getMinResGVolution', + GVol.layer.VectorTile.prototype.getMinResGVolution); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getOpacity', + GVol.layer.VectorTile.prototype.getOpacity); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getVisible', + GVol.layer.VectorTile.prototype.getVisible); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getZIndex', + GVol.layer.VectorTile.prototype.getZIndex); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setExtent', + GVol.layer.VectorTile.prototype.setExtent); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setMaxResGVolution', + GVol.layer.VectorTile.prototype.setMaxResGVolution); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setMinResGVolution', + GVol.layer.VectorTile.prototype.setMinResGVolution); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setOpacity', + GVol.layer.VectorTile.prototype.setOpacity); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setVisible', + GVol.layer.VectorTile.prototype.setVisible); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setZIndex', + GVol.layer.VectorTile.prototype.setZIndex); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'get', + GVol.layer.VectorTile.prototype.get); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getKeys', + GVol.layer.VectorTile.prototype.getKeys); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getProperties', + GVol.layer.VectorTile.prototype.getProperties); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'set', + GVol.layer.VectorTile.prototype.set); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'setProperties', + GVol.layer.VectorTile.prototype.setProperties); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'unset', + GVol.layer.VectorTile.prototype.unset); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'changed', + GVol.layer.VectorTile.prototype.changed); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'dispatchEvent', + GVol.layer.VectorTile.prototype.dispatchEvent); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'getRevision', + GVol.layer.VectorTile.prototype.getRevision); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'on', + GVol.layer.VectorTile.prototype.on); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'once', + GVol.layer.VectorTile.prototype.once); + +goog.exportProperty( + GVol.layer.VectorTile.prototype, + 'un', + GVol.layer.VectorTile.prototype.un); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'get', + GVol.interaction.Interaction.prototype.get); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'getKeys', + GVol.interaction.Interaction.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'getProperties', + GVol.interaction.Interaction.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'set', + GVol.interaction.Interaction.prototype.set); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'setProperties', + GVol.interaction.Interaction.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'unset', + GVol.interaction.Interaction.prototype.unset); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'changed', + GVol.interaction.Interaction.prototype.changed); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'dispatchEvent', + GVol.interaction.Interaction.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'getRevision', + GVol.interaction.Interaction.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'on', + GVol.interaction.Interaction.prototype.on); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'once', + GVol.interaction.Interaction.prototype.once); + +goog.exportProperty( + GVol.interaction.Interaction.prototype, + 'un', + GVol.interaction.Interaction.prototype.un); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'getActive', + GVol.interaction.DoubleClickZoom.prototype.getActive); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'getMap', + GVol.interaction.DoubleClickZoom.prototype.getMap); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'setActive', + GVol.interaction.DoubleClickZoom.prototype.setActive); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'get', + GVol.interaction.DoubleClickZoom.prototype.get); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'getKeys', + GVol.interaction.DoubleClickZoom.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'getProperties', + GVol.interaction.DoubleClickZoom.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'set', + GVol.interaction.DoubleClickZoom.prototype.set); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'setProperties', + GVol.interaction.DoubleClickZoom.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'unset', + GVol.interaction.DoubleClickZoom.prototype.unset); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'changed', + GVol.interaction.DoubleClickZoom.prototype.changed); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'dispatchEvent', + GVol.interaction.DoubleClickZoom.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'getRevision', + GVol.interaction.DoubleClickZoom.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'on', + GVol.interaction.DoubleClickZoom.prototype.on); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'once', + GVol.interaction.DoubleClickZoom.prototype.once); + +goog.exportProperty( + GVol.interaction.DoubleClickZoom.prototype, + 'un', + GVol.interaction.DoubleClickZoom.prototype.un); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'getActive', + GVol.interaction.DragAndDrop.prototype.getActive); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'getMap', + GVol.interaction.DragAndDrop.prototype.getMap); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'setActive', + GVol.interaction.DragAndDrop.prototype.setActive); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'get', + GVol.interaction.DragAndDrop.prototype.get); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'getKeys', + GVol.interaction.DragAndDrop.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'getProperties', + GVol.interaction.DragAndDrop.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'set', + GVol.interaction.DragAndDrop.prototype.set); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'setProperties', + GVol.interaction.DragAndDrop.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'unset', + GVol.interaction.DragAndDrop.prototype.unset); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'changed', + GVol.interaction.DragAndDrop.prototype.changed); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'dispatchEvent', + GVol.interaction.DragAndDrop.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'getRevision', + GVol.interaction.DragAndDrop.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'on', + GVol.interaction.DragAndDrop.prototype.on); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'once', + GVol.interaction.DragAndDrop.prototype.once); + +goog.exportProperty( + GVol.interaction.DragAndDrop.prototype, + 'un', + GVol.interaction.DragAndDrop.prototype.un); + +goog.exportProperty( + GVol.interaction.DragAndDrop.Event.prototype, + 'type', + GVol.interaction.DragAndDrop.Event.prototype.type); + +goog.exportProperty( + GVol.interaction.DragAndDrop.Event.prototype, + 'target', + GVol.interaction.DragAndDrop.Event.prototype.target); + +goog.exportProperty( + GVol.interaction.DragAndDrop.Event.prototype, + 'preventDefault', + GVol.interaction.DragAndDrop.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.interaction.DragAndDrop.Event.prototype, + 'stopPropagation', + GVol.interaction.DragAndDrop.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'getActive', + GVol.interaction.Pointer.prototype.getActive); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'getMap', + GVol.interaction.Pointer.prototype.getMap); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'setActive', + GVol.interaction.Pointer.prototype.setActive); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'get', + GVol.interaction.Pointer.prototype.get); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'getKeys', + GVol.interaction.Pointer.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'getProperties', + GVol.interaction.Pointer.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'set', + GVol.interaction.Pointer.prototype.set); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'setProperties', + GVol.interaction.Pointer.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'unset', + GVol.interaction.Pointer.prototype.unset); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'changed', + GVol.interaction.Pointer.prototype.changed); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'dispatchEvent', + GVol.interaction.Pointer.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'getRevision', + GVol.interaction.Pointer.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'on', + GVol.interaction.Pointer.prototype.on); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'once', + GVol.interaction.Pointer.prototype.once); + +goog.exportProperty( + GVol.interaction.Pointer.prototype, + 'un', + GVol.interaction.Pointer.prototype.un); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'getActive', + GVol.interaction.DragBox.prototype.getActive); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'getMap', + GVol.interaction.DragBox.prototype.getMap); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'setActive', + GVol.interaction.DragBox.prototype.setActive); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'get', + GVol.interaction.DragBox.prototype.get); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'getKeys', + GVol.interaction.DragBox.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'getProperties', + GVol.interaction.DragBox.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'set', + GVol.interaction.DragBox.prototype.set); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'setProperties', + GVol.interaction.DragBox.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'unset', + GVol.interaction.DragBox.prototype.unset); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'changed', + GVol.interaction.DragBox.prototype.changed); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'dispatchEvent', + GVol.interaction.DragBox.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'getRevision', + GVol.interaction.DragBox.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'on', + GVol.interaction.DragBox.prototype.on); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'once', + GVol.interaction.DragBox.prototype.once); + +goog.exportProperty( + GVol.interaction.DragBox.prototype, + 'un', + GVol.interaction.DragBox.prototype.un); + +goog.exportProperty( + GVol.interaction.DragBox.Event.prototype, + 'type', + GVol.interaction.DragBox.Event.prototype.type); + +goog.exportProperty( + GVol.interaction.DragBox.Event.prototype, + 'target', + GVol.interaction.DragBox.Event.prototype.target); + +goog.exportProperty( + GVol.interaction.DragBox.Event.prototype, + 'preventDefault', + GVol.interaction.DragBox.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.interaction.DragBox.Event.prototype, + 'stopPropagation', + GVol.interaction.DragBox.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'getActive', + GVol.interaction.DragPan.prototype.getActive); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'getMap', + GVol.interaction.DragPan.prototype.getMap); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'setActive', + GVol.interaction.DragPan.prototype.setActive); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'get', + GVol.interaction.DragPan.prototype.get); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'getKeys', + GVol.interaction.DragPan.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'getProperties', + GVol.interaction.DragPan.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'set', + GVol.interaction.DragPan.prototype.set); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'setProperties', + GVol.interaction.DragPan.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'unset', + GVol.interaction.DragPan.prototype.unset); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'changed', + GVol.interaction.DragPan.prototype.changed); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'dispatchEvent', + GVol.interaction.DragPan.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'getRevision', + GVol.interaction.DragPan.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'on', + GVol.interaction.DragPan.prototype.on); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'once', + GVol.interaction.DragPan.prototype.once); + +goog.exportProperty( + GVol.interaction.DragPan.prototype, + 'un', + GVol.interaction.DragPan.prototype.un); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'getActive', + GVol.interaction.DragRotate.prototype.getActive); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'getMap', + GVol.interaction.DragRotate.prototype.getMap); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'setActive', + GVol.interaction.DragRotate.prototype.setActive); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'get', + GVol.interaction.DragRotate.prototype.get); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'getKeys', + GVol.interaction.DragRotate.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'getProperties', + GVol.interaction.DragRotate.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'set', + GVol.interaction.DragRotate.prototype.set); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'setProperties', + GVol.interaction.DragRotate.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'unset', + GVol.interaction.DragRotate.prototype.unset); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'changed', + GVol.interaction.DragRotate.prototype.changed); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'dispatchEvent', + GVol.interaction.DragRotate.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'getRevision', + GVol.interaction.DragRotate.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'on', + GVol.interaction.DragRotate.prototype.on); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'once', + GVol.interaction.DragRotate.prototype.once); + +goog.exportProperty( + GVol.interaction.DragRotate.prototype, + 'un', + GVol.interaction.DragRotate.prototype.un); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'getActive', + GVol.interaction.DragRotateAndZoom.prototype.getActive); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'getMap', + GVol.interaction.DragRotateAndZoom.prototype.getMap); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'setActive', + GVol.interaction.DragRotateAndZoom.prototype.setActive); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'get', + GVol.interaction.DragRotateAndZoom.prototype.get); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'getKeys', + GVol.interaction.DragRotateAndZoom.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'getProperties', + GVol.interaction.DragRotateAndZoom.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'set', + GVol.interaction.DragRotateAndZoom.prototype.set); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'setProperties', + GVol.interaction.DragRotateAndZoom.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'unset', + GVol.interaction.DragRotateAndZoom.prototype.unset); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'changed', + GVol.interaction.DragRotateAndZoom.prototype.changed); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'dispatchEvent', + GVol.interaction.DragRotateAndZoom.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'getRevision', + GVol.interaction.DragRotateAndZoom.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'on', + GVol.interaction.DragRotateAndZoom.prototype.on); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'once', + GVol.interaction.DragRotateAndZoom.prototype.once); + +goog.exportProperty( + GVol.interaction.DragRotateAndZoom.prototype, + 'un', + GVol.interaction.DragRotateAndZoom.prototype.un); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'getGeometry', + GVol.interaction.DragZoom.prototype.getGeometry); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'getActive', + GVol.interaction.DragZoom.prototype.getActive); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'getMap', + GVol.interaction.DragZoom.prototype.getMap); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'setActive', + GVol.interaction.DragZoom.prototype.setActive); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'get', + GVol.interaction.DragZoom.prototype.get); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'getKeys', + GVol.interaction.DragZoom.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'getProperties', + GVol.interaction.DragZoom.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'set', + GVol.interaction.DragZoom.prototype.set); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'setProperties', + GVol.interaction.DragZoom.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'unset', + GVol.interaction.DragZoom.prototype.unset); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'changed', + GVol.interaction.DragZoom.prototype.changed); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'dispatchEvent', + GVol.interaction.DragZoom.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'getRevision', + GVol.interaction.DragZoom.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'on', + GVol.interaction.DragZoom.prototype.on); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'once', + GVol.interaction.DragZoom.prototype.once); + +goog.exportProperty( + GVol.interaction.DragZoom.prototype, + 'un', + GVol.interaction.DragZoom.prototype.un); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'getActive', + GVol.interaction.Draw.prototype.getActive); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'getMap', + GVol.interaction.Draw.prototype.getMap); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'setActive', + GVol.interaction.Draw.prototype.setActive); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'get', + GVol.interaction.Draw.prototype.get); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'getKeys', + GVol.interaction.Draw.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'getProperties', + GVol.interaction.Draw.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'set', + GVol.interaction.Draw.prototype.set); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'setProperties', + GVol.interaction.Draw.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'unset', + GVol.interaction.Draw.prototype.unset); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'changed', + GVol.interaction.Draw.prototype.changed); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'dispatchEvent', + GVol.interaction.Draw.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'getRevision', + GVol.interaction.Draw.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'on', + GVol.interaction.Draw.prototype.on); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'once', + GVol.interaction.Draw.prototype.once); + +goog.exportProperty( + GVol.interaction.Draw.prototype, + 'un', + GVol.interaction.Draw.prototype.un); + +goog.exportProperty( + GVol.interaction.Draw.Event.prototype, + 'type', + GVol.interaction.Draw.Event.prototype.type); + +goog.exportProperty( + GVol.interaction.Draw.Event.prototype, + 'target', + GVol.interaction.Draw.Event.prototype.target); + +goog.exportProperty( + GVol.interaction.Draw.Event.prototype, + 'preventDefault', + GVol.interaction.Draw.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.interaction.Draw.Event.prototype, + 'stopPropagation', + GVol.interaction.Draw.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'getActive', + GVol.interaction.Extent.prototype.getActive); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'getMap', + GVol.interaction.Extent.prototype.getMap); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'setActive', + GVol.interaction.Extent.prototype.setActive); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'get', + GVol.interaction.Extent.prototype.get); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'getKeys', + GVol.interaction.Extent.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'getProperties', + GVol.interaction.Extent.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'set', + GVol.interaction.Extent.prototype.set); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'setProperties', + GVol.interaction.Extent.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'unset', + GVol.interaction.Extent.prototype.unset); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'changed', + GVol.interaction.Extent.prototype.changed); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'dispatchEvent', + GVol.interaction.Extent.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'getRevision', + GVol.interaction.Extent.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'on', + GVol.interaction.Extent.prototype.on); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'once', + GVol.interaction.Extent.prototype.once); + +goog.exportProperty( + GVol.interaction.Extent.prototype, + 'un', + GVol.interaction.Extent.prototype.un); + +goog.exportProperty( + GVol.interaction.Extent.Event.prototype, + 'type', + GVol.interaction.Extent.Event.prototype.type); + +goog.exportProperty( + GVol.interaction.Extent.Event.prototype, + 'target', + GVol.interaction.Extent.Event.prototype.target); + +goog.exportProperty( + GVol.interaction.Extent.Event.prototype, + 'preventDefault', + GVol.interaction.Extent.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.interaction.Extent.Event.prototype, + 'stopPropagation', + GVol.interaction.Extent.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'getActive', + GVol.interaction.KeyboardPan.prototype.getActive); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'getMap', + GVol.interaction.KeyboardPan.prototype.getMap); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'setActive', + GVol.interaction.KeyboardPan.prototype.setActive); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'get', + GVol.interaction.KeyboardPan.prototype.get); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'getKeys', + GVol.interaction.KeyboardPan.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'getProperties', + GVol.interaction.KeyboardPan.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'set', + GVol.interaction.KeyboardPan.prototype.set); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'setProperties', + GVol.interaction.KeyboardPan.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'unset', + GVol.interaction.KeyboardPan.prototype.unset); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'changed', + GVol.interaction.KeyboardPan.prototype.changed); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'dispatchEvent', + GVol.interaction.KeyboardPan.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'getRevision', + GVol.interaction.KeyboardPan.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'on', + GVol.interaction.KeyboardPan.prototype.on); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'once', + GVol.interaction.KeyboardPan.prototype.once); + +goog.exportProperty( + GVol.interaction.KeyboardPan.prototype, + 'un', + GVol.interaction.KeyboardPan.prototype.un); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'getActive', + GVol.interaction.KeyboardZoom.prototype.getActive); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'getMap', + GVol.interaction.KeyboardZoom.prototype.getMap); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'setActive', + GVol.interaction.KeyboardZoom.prototype.setActive); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'get', + GVol.interaction.KeyboardZoom.prototype.get); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'getKeys', + GVol.interaction.KeyboardZoom.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'getProperties', + GVol.interaction.KeyboardZoom.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'set', + GVol.interaction.KeyboardZoom.prototype.set); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'setProperties', + GVol.interaction.KeyboardZoom.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'unset', + GVol.interaction.KeyboardZoom.prototype.unset); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'changed', + GVol.interaction.KeyboardZoom.prototype.changed); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'dispatchEvent', + GVol.interaction.KeyboardZoom.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'getRevision', + GVol.interaction.KeyboardZoom.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'on', + GVol.interaction.KeyboardZoom.prototype.on); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'once', + GVol.interaction.KeyboardZoom.prototype.once); + +goog.exportProperty( + GVol.interaction.KeyboardZoom.prototype, + 'un', + GVol.interaction.KeyboardZoom.prototype.un); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'getActive', + GVol.interaction.Modify.prototype.getActive); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'getMap', + GVol.interaction.Modify.prototype.getMap); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'setActive', + GVol.interaction.Modify.prototype.setActive); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'get', + GVol.interaction.Modify.prototype.get); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'getKeys', + GVol.interaction.Modify.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'getProperties', + GVol.interaction.Modify.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'set', + GVol.interaction.Modify.prototype.set); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'setProperties', + GVol.interaction.Modify.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'unset', + GVol.interaction.Modify.prototype.unset); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'changed', + GVol.interaction.Modify.prototype.changed); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'dispatchEvent', + GVol.interaction.Modify.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'getRevision', + GVol.interaction.Modify.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'on', + GVol.interaction.Modify.prototype.on); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'once', + GVol.interaction.Modify.prototype.once); + +goog.exportProperty( + GVol.interaction.Modify.prototype, + 'un', + GVol.interaction.Modify.prototype.un); + +goog.exportProperty( + GVol.interaction.Modify.Event.prototype, + 'type', + GVol.interaction.Modify.Event.prototype.type); + +goog.exportProperty( + GVol.interaction.Modify.Event.prototype, + 'target', + GVol.interaction.Modify.Event.prototype.target); + +goog.exportProperty( + GVol.interaction.Modify.Event.prototype, + 'preventDefault', + GVol.interaction.Modify.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.interaction.Modify.Event.prototype, + 'stopPropagation', + GVol.interaction.Modify.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'getActive', + GVol.interaction.MouseWheelZoom.prototype.getActive); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'getMap', + GVol.interaction.MouseWheelZoom.prototype.getMap); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'setActive', + GVol.interaction.MouseWheelZoom.prototype.setActive); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'get', + GVol.interaction.MouseWheelZoom.prototype.get); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'getKeys', + GVol.interaction.MouseWheelZoom.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'getProperties', + GVol.interaction.MouseWheelZoom.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'set', + GVol.interaction.MouseWheelZoom.prototype.set); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'setProperties', + GVol.interaction.MouseWheelZoom.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'unset', + GVol.interaction.MouseWheelZoom.prototype.unset); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'changed', + GVol.interaction.MouseWheelZoom.prototype.changed); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'dispatchEvent', + GVol.interaction.MouseWheelZoom.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'getRevision', + GVol.interaction.MouseWheelZoom.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'on', + GVol.interaction.MouseWheelZoom.prototype.on); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'once', + GVol.interaction.MouseWheelZoom.prototype.once); + +goog.exportProperty( + GVol.interaction.MouseWheelZoom.prototype, + 'un', + GVol.interaction.MouseWheelZoom.prototype.un); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'getActive', + GVol.interaction.PinchRotate.prototype.getActive); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'getMap', + GVol.interaction.PinchRotate.prototype.getMap); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'setActive', + GVol.interaction.PinchRotate.prototype.setActive); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'get', + GVol.interaction.PinchRotate.prototype.get); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'getKeys', + GVol.interaction.PinchRotate.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'getProperties', + GVol.interaction.PinchRotate.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'set', + GVol.interaction.PinchRotate.prototype.set); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'setProperties', + GVol.interaction.PinchRotate.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'unset', + GVol.interaction.PinchRotate.prototype.unset); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'changed', + GVol.interaction.PinchRotate.prototype.changed); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'dispatchEvent', + GVol.interaction.PinchRotate.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'getRevision', + GVol.interaction.PinchRotate.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'on', + GVol.interaction.PinchRotate.prototype.on); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'once', + GVol.interaction.PinchRotate.prototype.once); + +goog.exportProperty( + GVol.interaction.PinchRotate.prototype, + 'un', + GVol.interaction.PinchRotate.prototype.un); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'getActive', + GVol.interaction.PinchZoom.prototype.getActive); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'getMap', + GVol.interaction.PinchZoom.prototype.getMap); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'setActive', + GVol.interaction.PinchZoom.prototype.setActive); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'get', + GVol.interaction.PinchZoom.prototype.get); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'getKeys', + GVol.interaction.PinchZoom.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'getProperties', + GVol.interaction.PinchZoom.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'set', + GVol.interaction.PinchZoom.prototype.set); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'setProperties', + GVol.interaction.PinchZoom.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'unset', + GVol.interaction.PinchZoom.prototype.unset); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'changed', + GVol.interaction.PinchZoom.prototype.changed); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'dispatchEvent', + GVol.interaction.PinchZoom.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'getRevision', + GVol.interaction.PinchZoom.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'on', + GVol.interaction.PinchZoom.prototype.on); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'once', + GVol.interaction.PinchZoom.prototype.once); + +goog.exportProperty( + GVol.interaction.PinchZoom.prototype, + 'un', + GVol.interaction.PinchZoom.prototype.un); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'getActive', + GVol.interaction.Select.prototype.getActive); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'getMap', + GVol.interaction.Select.prototype.getMap); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'setActive', + GVol.interaction.Select.prototype.setActive); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'get', + GVol.interaction.Select.prototype.get); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'getKeys', + GVol.interaction.Select.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'getProperties', + GVol.interaction.Select.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'set', + GVol.interaction.Select.prototype.set); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'setProperties', + GVol.interaction.Select.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'unset', + GVol.interaction.Select.prototype.unset); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'changed', + GVol.interaction.Select.prototype.changed); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'dispatchEvent', + GVol.interaction.Select.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'getRevision', + GVol.interaction.Select.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'on', + GVol.interaction.Select.prototype.on); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'once', + GVol.interaction.Select.prototype.once); + +goog.exportProperty( + GVol.interaction.Select.prototype, + 'un', + GVol.interaction.Select.prototype.un); + +goog.exportProperty( + GVol.interaction.Select.Event.prototype, + 'type', + GVol.interaction.Select.Event.prototype.type); + +goog.exportProperty( + GVol.interaction.Select.Event.prototype, + 'target', + GVol.interaction.Select.Event.prototype.target); + +goog.exportProperty( + GVol.interaction.Select.Event.prototype, + 'preventDefault', + GVol.interaction.Select.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.interaction.Select.Event.prototype, + 'stopPropagation', + GVol.interaction.Select.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'getActive', + GVol.interaction.Snap.prototype.getActive); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'getMap', + GVol.interaction.Snap.prototype.getMap); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'setActive', + GVol.interaction.Snap.prototype.setActive); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'get', + GVol.interaction.Snap.prototype.get); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'getKeys', + GVol.interaction.Snap.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'getProperties', + GVol.interaction.Snap.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'set', + GVol.interaction.Snap.prototype.set); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'setProperties', + GVol.interaction.Snap.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'unset', + GVol.interaction.Snap.prototype.unset); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'changed', + GVol.interaction.Snap.prototype.changed); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'dispatchEvent', + GVol.interaction.Snap.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'getRevision', + GVol.interaction.Snap.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'on', + GVol.interaction.Snap.prototype.on); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'once', + GVol.interaction.Snap.prototype.once); + +goog.exportProperty( + GVol.interaction.Snap.prototype, + 'un', + GVol.interaction.Snap.prototype.un); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'getActive', + GVol.interaction.Translate.prototype.getActive); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'getMap', + GVol.interaction.Translate.prototype.getMap); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'setActive', + GVol.interaction.Translate.prototype.setActive); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'get', + GVol.interaction.Translate.prototype.get); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'getKeys', + GVol.interaction.Translate.prototype.getKeys); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'getProperties', + GVol.interaction.Translate.prototype.getProperties); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'set', + GVol.interaction.Translate.prototype.set); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'setProperties', + GVol.interaction.Translate.prototype.setProperties); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'unset', + GVol.interaction.Translate.prototype.unset); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'changed', + GVol.interaction.Translate.prototype.changed); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'dispatchEvent', + GVol.interaction.Translate.prototype.dispatchEvent); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'getRevision', + GVol.interaction.Translate.prototype.getRevision); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'on', + GVol.interaction.Translate.prototype.on); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'once', + GVol.interaction.Translate.prototype.once); + +goog.exportProperty( + GVol.interaction.Translate.prototype, + 'un', + GVol.interaction.Translate.prototype.un); + +goog.exportProperty( + GVol.interaction.Translate.Event.prototype, + 'type', + GVol.interaction.Translate.Event.prototype.type); + +goog.exportProperty( + GVol.interaction.Translate.Event.prototype, + 'target', + GVol.interaction.Translate.Event.prototype.target); + +goog.exportProperty( + GVol.interaction.Translate.Event.prototype, + 'preventDefault', + GVol.interaction.Translate.Event.prototype.preventDefault); + +goog.exportProperty( + GVol.interaction.Translate.Event.prototype, + 'stopPropagation', + GVol.interaction.Translate.Event.prototype.stopPropagation); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'get', + GVol.geom.Geometry.prototype.get); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'getKeys', + GVol.geom.Geometry.prototype.getKeys); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'getProperties', + GVol.geom.Geometry.prototype.getProperties); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'set', + GVol.geom.Geometry.prototype.set); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'setProperties', + GVol.geom.Geometry.prototype.setProperties); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'unset', + GVol.geom.Geometry.prototype.unset); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'changed', + GVol.geom.Geometry.prototype.changed); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'dispatchEvent', + GVol.geom.Geometry.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'getRevision', + GVol.geom.Geometry.prototype.getRevision); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'on', + GVol.geom.Geometry.prototype.on); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'once', + GVol.geom.Geometry.prototype.once); + +goog.exportProperty( + GVol.geom.Geometry.prototype, + 'un', + GVol.geom.Geometry.prototype.un); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'getClosestPoint', + GVol.geom.SimpleGeometry.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'intersectsCoordinate', + GVol.geom.SimpleGeometry.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'getExtent', + GVol.geom.SimpleGeometry.prototype.getExtent); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'rotate', + GVol.geom.SimpleGeometry.prototype.rotate); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'scale', + GVol.geom.SimpleGeometry.prototype.scale); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'simplify', + GVol.geom.SimpleGeometry.prototype.simplify); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'transform', + GVol.geom.SimpleGeometry.prototype.transform); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'get', + GVol.geom.SimpleGeometry.prototype.get); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'getKeys', + GVol.geom.SimpleGeometry.prototype.getKeys); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'getProperties', + GVol.geom.SimpleGeometry.prototype.getProperties); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'set', + GVol.geom.SimpleGeometry.prototype.set); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'setProperties', + GVol.geom.SimpleGeometry.prototype.setProperties); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'unset', + GVol.geom.SimpleGeometry.prototype.unset); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'changed', + GVol.geom.SimpleGeometry.prototype.changed); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'dispatchEvent', + GVol.geom.SimpleGeometry.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'getRevision', + GVol.geom.SimpleGeometry.prototype.getRevision); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'on', + GVol.geom.SimpleGeometry.prototype.on); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'once', + GVol.geom.SimpleGeometry.prototype.once); + +goog.exportProperty( + GVol.geom.SimpleGeometry.prototype, + 'un', + GVol.geom.SimpleGeometry.prototype.un); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getFirstCoordinate', + GVol.geom.Circle.prototype.getFirstCoordinate); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getLastCoordinate', + GVol.geom.Circle.prototype.getLastCoordinate); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getLayout', + GVol.geom.Circle.prototype.getLayout); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'rotate', + GVol.geom.Circle.prototype.rotate); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'scale', + GVol.geom.Circle.prototype.scale); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getClosestPoint', + GVol.geom.Circle.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'intersectsCoordinate', + GVol.geom.Circle.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getExtent', + GVol.geom.Circle.prototype.getExtent); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'simplify', + GVol.geom.Circle.prototype.simplify); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'get', + GVol.geom.Circle.prototype.get); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getKeys', + GVol.geom.Circle.prototype.getKeys); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getProperties', + GVol.geom.Circle.prototype.getProperties); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'set', + GVol.geom.Circle.prototype.set); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'setProperties', + GVol.geom.Circle.prototype.setProperties); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'unset', + GVol.geom.Circle.prototype.unset); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'changed', + GVol.geom.Circle.prototype.changed); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'dispatchEvent', + GVol.geom.Circle.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'getRevision', + GVol.geom.Circle.prototype.getRevision); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'on', + GVol.geom.Circle.prototype.on); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'once', + GVol.geom.Circle.prototype.once); + +goog.exportProperty( + GVol.geom.Circle.prototype, + 'un', + GVol.geom.Circle.prototype.un); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'getClosestPoint', + GVol.geom.GeometryCGVollection.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'intersectsCoordinate', + GVol.geom.GeometryCGVollection.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'getExtent', + GVol.geom.GeometryCGVollection.prototype.getExtent); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'rotate', + GVol.geom.GeometryCGVollection.prototype.rotate); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'scale', + GVol.geom.GeometryCGVollection.prototype.scale); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'simplify', + GVol.geom.GeometryCGVollection.prototype.simplify); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'transform', + GVol.geom.GeometryCGVollection.prototype.transform); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'get', + GVol.geom.GeometryCGVollection.prototype.get); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'getKeys', + GVol.geom.GeometryCGVollection.prototype.getKeys); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'getProperties', + GVol.geom.GeometryCGVollection.prototype.getProperties); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'set', + GVol.geom.GeometryCGVollection.prototype.set); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'setProperties', + GVol.geom.GeometryCGVollection.prototype.setProperties); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'unset', + GVol.geom.GeometryCGVollection.prototype.unset); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'changed', + GVol.geom.GeometryCGVollection.prototype.changed); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'dispatchEvent', + GVol.geom.GeometryCGVollection.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'getRevision', + GVol.geom.GeometryCGVollection.prototype.getRevision); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'on', + GVol.geom.GeometryCGVollection.prototype.on); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'once', + GVol.geom.GeometryCGVollection.prototype.once); + +goog.exportProperty( + GVol.geom.GeometryCGVollection.prototype, + 'un', + GVol.geom.GeometryCGVollection.prototype.un); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getFirstCoordinate', + GVol.geom.LinearRing.prototype.getFirstCoordinate); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getLastCoordinate', + GVol.geom.LinearRing.prototype.getLastCoordinate); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getLayout', + GVol.geom.LinearRing.prototype.getLayout); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'rotate', + GVol.geom.LinearRing.prototype.rotate); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'scale', + GVol.geom.LinearRing.prototype.scale); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getClosestPoint', + GVol.geom.LinearRing.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'intersectsCoordinate', + GVol.geom.LinearRing.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getExtent', + GVol.geom.LinearRing.prototype.getExtent); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'simplify', + GVol.geom.LinearRing.prototype.simplify); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'transform', + GVol.geom.LinearRing.prototype.transform); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'get', + GVol.geom.LinearRing.prototype.get); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getKeys', + GVol.geom.LinearRing.prototype.getKeys); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getProperties', + GVol.geom.LinearRing.prototype.getProperties); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'set', + GVol.geom.LinearRing.prototype.set); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'setProperties', + GVol.geom.LinearRing.prototype.setProperties); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'unset', + GVol.geom.LinearRing.prototype.unset); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'changed', + GVol.geom.LinearRing.prototype.changed); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'dispatchEvent', + GVol.geom.LinearRing.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'getRevision', + GVol.geom.LinearRing.prototype.getRevision); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'on', + GVol.geom.LinearRing.prototype.on); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'once', + GVol.geom.LinearRing.prototype.once); + +goog.exportProperty( + GVol.geom.LinearRing.prototype, + 'un', + GVol.geom.LinearRing.prototype.un); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getFirstCoordinate', + GVol.geom.LineString.prototype.getFirstCoordinate); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getLastCoordinate', + GVol.geom.LineString.prototype.getLastCoordinate); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getLayout', + GVol.geom.LineString.prototype.getLayout); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'rotate', + GVol.geom.LineString.prototype.rotate); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'scale', + GVol.geom.LineString.prototype.scale); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getClosestPoint', + GVol.geom.LineString.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'intersectsCoordinate', + GVol.geom.LineString.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getExtent', + GVol.geom.LineString.prototype.getExtent); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'simplify', + GVol.geom.LineString.prototype.simplify); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'transform', + GVol.geom.LineString.prototype.transform); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'get', + GVol.geom.LineString.prototype.get); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getKeys', + GVol.geom.LineString.prototype.getKeys); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getProperties', + GVol.geom.LineString.prototype.getProperties); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'set', + GVol.geom.LineString.prototype.set); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'setProperties', + GVol.geom.LineString.prototype.setProperties); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'unset', + GVol.geom.LineString.prototype.unset); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'changed', + GVol.geom.LineString.prototype.changed); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'dispatchEvent', + GVol.geom.LineString.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'getRevision', + GVol.geom.LineString.prototype.getRevision); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'on', + GVol.geom.LineString.prototype.on); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'once', + GVol.geom.LineString.prototype.once); + +goog.exportProperty( + GVol.geom.LineString.prototype, + 'un', + GVol.geom.LineString.prototype.un); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getFirstCoordinate', + GVol.geom.MultiLineString.prototype.getFirstCoordinate); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getLastCoordinate', + GVol.geom.MultiLineString.prototype.getLastCoordinate); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getLayout', + GVol.geom.MultiLineString.prototype.getLayout); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'rotate', + GVol.geom.MultiLineString.prototype.rotate); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'scale', + GVol.geom.MultiLineString.prototype.scale); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getClosestPoint', + GVol.geom.MultiLineString.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'intersectsCoordinate', + GVol.geom.MultiLineString.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getExtent', + GVol.geom.MultiLineString.prototype.getExtent); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'simplify', + GVol.geom.MultiLineString.prototype.simplify); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'transform', + GVol.geom.MultiLineString.prototype.transform); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'get', + GVol.geom.MultiLineString.prototype.get); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getKeys', + GVol.geom.MultiLineString.prototype.getKeys); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getProperties', + GVol.geom.MultiLineString.prototype.getProperties); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'set', + GVol.geom.MultiLineString.prototype.set); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'setProperties', + GVol.geom.MultiLineString.prototype.setProperties); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'unset', + GVol.geom.MultiLineString.prototype.unset); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'changed', + GVol.geom.MultiLineString.prototype.changed); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'dispatchEvent', + GVol.geom.MultiLineString.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'getRevision', + GVol.geom.MultiLineString.prototype.getRevision); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'on', + GVol.geom.MultiLineString.prototype.on); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'once', + GVol.geom.MultiLineString.prototype.once); + +goog.exportProperty( + GVol.geom.MultiLineString.prototype, + 'un', + GVol.geom.MultiLineString.prototype.un); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getFirstCoordinate', + GVol.geom.MultiPoint.prototype.getFirstCoordinate); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getLastCoordinate', + GVol.geom.MultiPoint.prototype.getLastCoordinate); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getLayout', + GVol.geom.MultiPoint.prototype.getLayout); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'rotate', + GVol.geom.MultiPoint.prototype.rotate); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'scale', + GVol.geom.MultiPoint.prototype.scale); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getClosestPoint', + GVol.geom.MultiPoint.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'intersectsCoordinate', + GVol.geom.MultiPoint.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getExtent', + GVol.geom.MultiPoint.prototype.getExtent); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'simplify', + GVol.geom.MultiPoint.prototype.simplify); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'transform', + GVol.geom.MultiPoint.prototype.transform); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'get', + GVol.geom.MultiPoint.prototype.get); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getKeys', + GVol.geom.MultiPoint.prototype.getKeys); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getProperties', + GVol.geom.MultiPoint.prototype.getProperties); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'set', + GVol.geom.MultiPoint.prototype.set); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'setProperties', + GVol.geom.MultiPoint.prototype.setProperties); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'unset', + GVol.geom.MultiPoint.prototype.unset); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'changed', + GVol.geom.MultiPoint.prototype.changed); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'dispatchEvent', + GVol.geom.MultiPoint.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'getRevision', + GVol.geom.MultiPoint.prototype.getRevision); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'on', + GVol.geom.MultiPoint.prototype.on); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'once', + GVol.geom.MultiPoint.prototype.once); + +goog.exportProperty( + GVol.geom.MultiPoint.prototype, + 'un', + GVol.geom.MultiPoint.prototype.un); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getFirstCoordinate', + GVol.geom.MultiPGVolygon.prototype.getFirstCoordinate); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getLastCoordinate', + GVol.geom.MultiPGVolygon.prototype.getLastCoordinate); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getLayout', + GVol.geom.MultiPGVolygon.prototype.getLayout); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'rotate', + GVol.geom.MultiPGVolygon.prototype.rotate); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'scale', + GVol.geom.MultiPGVolygon.prototype.scale); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getClosestPoint', + GVol.geom.MultiPGVolygon.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'intersectsCoordinate', + GVol.geom.MultiPGVolygon.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getExtent', + GVol.geom.MultiPGVolygon.prototype.getExtent); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'simplify', + GVol.geom.MultiPGVolygon.prototype.simplify); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'transform', + GVol.geom.MultiPGVolygon.prototype.transform); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'get', + GVol.geom.MultiPGVolygon.prototype.get); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getKeys', + GVol.geom.MultiPGVolygon.prototype.getKeys); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getProperties', + GVol.geom.MultiPGVolygon.prototype.getProperties); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'set', + GVol.geom.MultiPGVolygon.prototype.set); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'setProperties', + GVol.geom.MultiPGVolygon.prototype.setProperties); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'unset', + GVol.geom.MultiPGVolygon.prototype.unset); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'changed', + GVol.geom.MultiPGVolygon.prototype.changed); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'dispatchEvent', + GVol.geom.MultiPGVolygon.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'getRevision', + GVol.geom.MultiPGVolygon.prototype.getRevision); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'on', + GVol.geom.MultiPGVolygon.prototype.on); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'once', + GVol.geom.MultiPGVolygon.prototype.once); + +goog.exportProperty( + GVol.geom.MultiPGVolygon.prototype, + 'un', + GVol.geom.MultiPGVolygon.prototype.un); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getFirstCoordinate', + GVol.geom.Point.prototype.getFirstCoordinate); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getLastCoordinate', + GVol.geom.Point.prototype.getLastCoordinate); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getLayout', + GVol.geom.Point.prototype.getLayout); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'rotate', + GVol.geom.Point.prototype.rotate); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'scale', + GVol.geom.Point.prototype.scale); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getClosestPoint', + GVol.geom.Point.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'intersectsCoordinate', + GVol.geom.Point.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getExtent', + GVol.geom.Point.prototype.getExtent); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'simplify', + GVol.geom.Point.prototype.simplify); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'transform', + GVol.geom.Point.prototype.transform); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'get', + GVol.geom.Point.prototype.get); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getKeys', + GVol.geom.Point.prototype.getKeys); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getProperties', + GVol.geom.Point.prototype.getProperties); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'set', + GVol.geom.Point.prototype.set); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'setProperties', + GVol.geom.Point.prototype.setProperties); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'unset', + GVol.geom.Point.prototype.unset); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'changed', + GVol.geom.Point.prototype.changed); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'dispatchEvent', + GVol.geom.Point.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'getRevision', + GVol.geom.Point.prototype.getRevision); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'on', + GVol.geom.Point.prototype.on); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'once', + GVol.geom.Point.prototype.once); + +goog.exportProperty( + GVol.geom.Point.prototype, + 'un', + GVol.geom.Point.prototype.un); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getFirstCoordinate', + GVol.geom.PGVolygon.prototype.getFirstCoordinate); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getLastCoordinate', + GVol.geom.PGVolygon.prototype.getLastCoordinate); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getLayout', + GVol.geom.PGVolygon.prototype.getLayout); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'rotate', + GVol.geom.PGVolygon.prototype.rotate); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'scale', + GVol.geom.PGVolygon.prototype.scale); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getClosestPoint', + GVol.geom.PGVolygon.prototype.getClosestPoint); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'intersectsCoordinate', + GVol.geom.PGVolygon.prototype.intersectsCoordinate); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getExtent', + GVol.geom.PGVolygon.prototype.getExtent); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'simplify', + GVol.geom.PGVolygon.prototype.simplify); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'transform', + GVol.geom.PGVolygon.prototype.transform); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'get', + GVol.geom.PGVolygon.prototype.get); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getKeys', + GVol.geom.PGVolygon.prototype.getKeys); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getProperties', + GVol.geom.PGVolygon.prototype.getProperties); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'set', + GVol.geom.PGVolygon.prototype.set); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'setProperties', + GVol.geom.PGVolygon.prototype.setProperties); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'unset', + GVol.geom.PGVolygon.prototype.unset); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'changed', + GVol.geom.PGVolygon.prototype.changed); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'dispatchEvent', + GVol.geom.PGVolygon.prototype.dispatchEvent); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'getRevision', + GVol.geom.PGVolygon.prototype.getRevision); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'on', + GVol.geom.PGVolygon.prototype.on); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'once', + GVol.geom.PGVolygon.prototype.once); + +goog.exportProperty( + GVol.geom.PGVolygon.prototype, + 'un', + GVol.geom.PGVolygon.prototype.un); + +goog.exportProperty( + GVol.format.GML.prototype, + 'readFeatures', + GVol.format.GML.prototype.readFeatures); + +goog.exportProperty( + GVol.format.GML2.prototype, + 'readFeatures', + GVol.format.GML2.prototype.readFeatures); + +goog.exportProperty( + GVol.format.GML3.prototype, + 'readFeatures', + GVol.format.GML3.prototype.readFeatures); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'get', + GVol.contrGVol.ContrGVol.prototype.get); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'getKeys', + GVol.contrGVol.ContrGVol.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'getProperties', + GVol.contrGVol.ContrGVol.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'set', + GVol.contrGVol.ContrGVol.prototype.set); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'setProperties', + GVol.contrGVol.ContrGVol.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'unset', + GVol.contrGVol.ContrGVol.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'changed', + GVol.contrGVol.ContrGVol.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'dispatchEvent', + GVol.contrGVol.ContrGVol.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'getRevision', + GVol.contrGVol.ContrGVol.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'on', + GVol.contrGVol.ContrGVol.prototype.on); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'once', + GVol.contrGVol.ContrGVol.prototype.once); + +goog.exportProperty( + GVol.contrGVol.ContrGVol.prototype, + 'un', + GVol.contrGVol.ContrGVol.prototype.un); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'getMap', + GVol.contrGVol.Attribution.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'setMap', + GVol.contrGVol.Attribution.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'setTarget', + GVol.contrGVol.Attribution.prototype.setTarget); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'get', + GVol.contrGVol.Attribution.prototype.get); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'getKeys', + GVol.contrGVol.Attribution.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'getProperties', + GVol.contrGVol.Attribution.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'set', + GVol.contrGVol.Attribution.prototype.set); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'setProperties', + GVol.contrGVol.Attribution.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'unset', + GVol.contrGVol.Attribution.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'changed', + GVol.contrGVol.Attribution.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'dispatchEvent', + GVol.contrGVol.Attribution.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'getRevision', + GVol.contrGVol.Attribution.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'on', + GVol.contrGVol.Attribution.prototype.on); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'once', + GVol.contrGVol.Attribution.prototype.once); + +goog.exportProperty( + GVol.contrGVol.Attribution.prototype, + 'un', + GVol.contrGVol.Attribution.prototype.un); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'getMap', + GVol.contrGVol.FullScreen.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'setMap', + GVol.contrGVol.FullScreen.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'setTarget', + GVol.contrGVol.FullScreen.prototype.setTarget); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'get', + GVol.contrGVol.FullScreen.prototype.get); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'getKeys', + GVol.contrGVol.FullScreen.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'getProperties', + GVol.contrGVol.FullScreen.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'set', + GVol.contrGVol.FullScreen.prototype.set); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'setProperties', + GVol.contrGVol.FullScreen.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'unset', + GVol.contrGVol.FullScreen.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'changed', + GVol.contrGVol.FullScreen.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'dispatchEvent', + GVol.contrGVol.FullScreen.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'getRevision', + GVol.contrGVol.FullScreen.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'on', + GVol.contrGVol.FullScreen.prototype.on); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'once', + GVol.contrGVol.FullScreen.prototype.once); + +goog.exportProperty( + GVol.contrGVol.FullScreen.prototype, + 'un', + GVol.contrGVol.FullScreen.prototype.un); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'getMap', + GVol.contrGVol.MousePosition.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'setMap', + GVol.contrGVol.MousePosition.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'setTarget', + GVol.contrGVol.MousePosition.prototype.setTarget); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'get', + GVol.contrGVol.MousePosition.prototype.get); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'getKeys', + GVol.contrGVol.MousePosition.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'getProperties', + GVol.contrGVol.MousePosition.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'set', + GVol.contrGVol.MousePosition.prototype.set); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'setProperties', + GVol.contrGVol.MousePosition.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'unset', + GVol.contrGVol.MousePosition.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'changed', + GVol.contrGVol.MousePosition.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'dispatchEvent', + GVol.contrGVol.MousePosition.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'getRevision', + GVol.contrGVol.MousePosition.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'on', + GVol.contrGVol.MousePosition.prototype.on); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'once', + GVol.contrGVol.MousePosition.prototype.once); + +goog.exportProperty( + GVol.contrGVol.MousePosition.prototype, + 'un', + GVol.contrGVol.MousePosition.prototype.un); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'getMap', + GVol.contrGVol.OverviewMap.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'setMap', + GVol.contrGVol.OverviewMap.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'setTarget', + GVol.contrGVol.OverviewMap.prototype.setTarget); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'get', + GVol.contrGVol.OverviewMap.prototype.get); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'getKeys', + GVol.contrGVol.OverviewMap.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'getProperties', + GVol.contrGVol.OverviewMap.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'set', + GVol.contrGVol.OverviewMap.prototype.set); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'setProperties', + GVol.contrGVol.OverviewMap.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'unset', + GVol.contrGVol.OverviewMap.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'changed', + GVol.contrGVol.OverviewMap.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'dispatchEvent', + GVol.contrGVol.OverviewMap.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'getRevision', + GVol.contrGVol.OverviewMap.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'on', + GVol.contrGVol.OverviewMap.prototype.on); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'once', + GVol.contrGVol.OverviewMap.prototype.once); + +goog.exportProperty( + GVol.contrGVol.OverviewMap.prototype, + 'un', + GVol.contrGVol.OverviewMap.prototype.un); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'getMap', + GVol.contrGVol.Rotate.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'setMap', + GVol.contrGVol.Rotate.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'setTarget', + GVol.contrGVol.Rotate.prototype.setTarget); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'get', + GVol.contrGVol.Rotate.prototype.get); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'getKeys', + GVol.contrGVol.Rotate.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'getProperties', + GVol.contrGVol.Rotate.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'set', + GVol.contrGVol.Rotate.prototype.set); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'setProperties', + GVol.contrGVol.Rotate.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'unset', + GVol.contrGVol.Rotate.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'changed', + GVol.contrGVol.Rotate.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'dispatchEvent', + GVol.contrGVol.Rotate.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'getRevision', + GVol.contrGVol.Rotate.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'on', + GVol.contrGVol.Rotate.prototype.on); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'once', + GVol.contrGVol.Rotate.prototype.once); + +goog.exportProperty( + GVol.contrGVol.Rotate.prototype, + 'un', + GVol.contrGVol.Rotate.prototype.un); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'getMap', + GVol.contrGVol.ScaleLine.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'setMap', + GVol.contrGVol.ScaleLine.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'setTarget', + GVol.contrGVol.ScaleLine.prototype.setTarget); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'get', + GVol.contrGVol.ScaleLine.prototype.get); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'getKeys', + GVol.contrGVol.ScaleLine.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'getProperties', + GVol.contrGVol.ScaleLine.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'set', + GVol.contrGVol.ScaleLine.prototype.set); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'setProperties', + GVol.contrGVol.ScaleLine.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'unset', + GVol.contrGVol.ScaleLine.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'changed', + GVol.contrGVol.ScaleLine.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'dispatchEvent', + GVol.contrGVol.ScaleLine.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'getRevision', + GVol.contrGVol.ScaleLine.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'on', + GVol.contrGVol.ScaleLine.prototype.on); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'once', + GVol.contrGVol.ScaleLine.prototype.once); + +goog.exportProperty( + GVol.contrGVol.ScaleLine.prototype, + 'un', + GVol.contrGVol.ScaleLine.prototype.un); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'getMap', + GVol.contrGVol.Zoom.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'setMap', + GVol.contrGVol.Zoom.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'setTarget', + GVol.contrGVol.Zoom.prototype.setTarget); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'get', + GVol.contrGVol.Zoom.prototype.get); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'getKeys', + GVol.contrGVol.Zoom.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'getProperties', + GVol.contrGVol.Zoom.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'set', + GVol.contrGVol.Zoom.prototype.set); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'setProperties', + GVol.contrGVol.Zoom.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'unset', + GVol.contrGVol.Zoom.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'changed', + GVol.contrGVol.Zoom.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'dispatchEvent', + GVol.contrGVol.Zoom.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'getRevision', + GVol.contrGVol.Zoom.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'on', + GVol.contrGVol.Zoom.prototype.on); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'once', + GVol.contrGVol.Zoom.prototype.once); + +goog.exportProperty( + GVol.contrGVol.Zoom.prototype, + 'un', + GVol.contrGVol.Zoom.prototype.un); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'getMap', + GVol.contrGVol.ZoomSlider.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'setMap', + GVol.contrGVol.ZoomSlider.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'setTarget', + GVol.contrGVol.ZoomSlider.prototype.setTarget); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'get', + GVol.contrGVol.ZoomSlider.prototype.get); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'getKeys', + GVol.contrGVol.ZoomSlider.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'getProperties', + GVol.contrGVol.ZoomSlider.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'set', + GVol.contrGVol.ZoomSlider.prototype.set); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'setProperties', + GVol.contrGVol.ZoomSlider.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'unset', + GVol.contrGVol.ZoomSlider.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'changed', + GVol.contrGVol.ZoomSlider.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'dispatchEvent', + GVol.contrGVol.ZoomSlider.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'getRevision', + GVol.contrGVol.ZoomSlider.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'on', + GVol.contrGVol.ZoomSlider.prototype.on); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'once', + GVol.contrGVol.ZoomSlider.prototype.once); + +goog.exportProperty( + GVol.contrGVol.ZoomSlider.prototype, + 'un', + GVol.contrGVol.ZoomSlider.prototype.un); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'getMap', + GVol.contrGVol.ZoomToExtent.prototype.getMap); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'setMap', + GVol.contrGVol.ZoomToExtent.prototype.setMap); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'setTarget', + GVol.contrGVol.ZoomToExtent.prototype.setTarget); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'get', + GVol.contrGVol.ZoomToExtent.prototype.get); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'getKeys', + GVol.contrGVol.ZoomToExtent.prototype.getKeys); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'getProperties', + GVol.contrGVol.ZoomToExtent.prototype.getProperties); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'set', + GVol.contrGVol.ZoomToExtent.prototype.set); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'setProperties', + GVol.contrGVol.ZoomToExtent.prototype.setProperties); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'unset', + GVol.contrGVol.ZoomToExtent.prototype.unset); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'changed', + GVol.contrGVol.ZoomToExtent.prototype.changed); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'dispatchEvent', + GVol.contrGVol.ZoomToExtent.prototype.dispatchEvent); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'getRevision', + GVol.contrGVol.ZoomToExtent.prototype.getRevision); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'on', + GVol.contrGVol.ZoomToExtent.prototype.on); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'once', + GVol.contrGVol.ZoomToExtent.prototype.once); + +goog.exportProperty( + GVol.contrGVol.ZoomToExtent.prototype, + 'un', + GVol.contrGVol.ZoomToExtent.prototype.un); +GVol.VERSION = 'v4.3.4'; +OPENLAYERS.GVol = GVol; + + return OPENLAYERS.GVol; +})); diff --git a/public/GV/thirdParty/thirdParty.js b/public/GV/thirdParty/thirdParty.js new file mode 100644 index 000000000..9e443789c --- /dev/null +++ b/public/GV/thirdParty/thirdParty.js @@ -0,0 +1,78 @@ +let cesiumVersion = ''; + +(function () { + let thirdJsArr = [ + 'CesiumManager' + cesiumVersion + '/Cesium.js', + 'Threejs-109/build/three.js', + 'Threejs-109/examples/js/loaders/SVGLoader.js', + + // 智慧城市使用库 + 'Threejs-109/custom/dat.gui.module.js', + 'Threejs-109/examples/js/libs/stats.min.js', + 'Threejs-109/examples/js/postprocessing/EffectComposer.js', + 'Threejs-109/examples/js/postprocessing/RenderPass.js', + 'Threejs-109/examples/js/postprocessing/UnrealBloomPass.js', + 'Threejs-109/examples/js/postprocessing/ShaderPass.js', + 'Threejs-109/examples/js/postprocessing/ClearPass.js', + 'Threejs-109/examples/js/postprocessing/SMAAPass.js', + 'Threejs-109/examples/js/shaders/LuminosityHighPassShader.js', + 'Threejs-109/examples/js/shaders/CopyShader.js', + 'Threejs-109/examples/js/shaders/ParallaxShader.js', + 'Threejs-109/examples/js/shaders/FXAAShader.js', + 'Threejs-109/examples/js/shaders/SMAAShader.js', + 'Threejs-109/examples/js/postprocessing/SSAARenderPass.js', + 'Threejs-109/custom/shp.js', + // 'Threejs-109/custom/ThreeManager.js', + // 'Threejs-109/custom/ParseDataToGeometry.js', + 'Threejs-109/custom/tween.umd.js', + // 'Threejs-109/custom/spector.bundle.js', + 'Threejs-109/custom/ParticleEngine.js', + 'Threejs-109/custom/ParticleEngineExamples.js', + 'Threejs-109/examples/js/objects/Water.js', + 'Threejs-109/examples/js/objects/Water2.js', + // 'Threejs-109/examples/js/objects/Water.js', + 'Threejs-109/examples/js/objects/Reflector.js', + 'Threejs-109/examples/js/objects/Refractor.js', + 'Threejs-109/examples/js/renderers/CSS3DRenderer.js', + 'Threejs-109/examples/js/lines/LineSegments2.js', + 'Threejs-109/examples/js/lines/LineSegmentsGeometry.js', + 'Threejs-109/examples/js/lines/LineGeometry.js', + 'Threejs-109/examples/js/lines/LineMaterial.js', + 'Threejs-109/examples/js/lines/Line2.js', + //矢量瓦片使用库 + './ol.js' + ] + let thirdCssArr = [ + 'CesiumManager' + cesiumVersion + '/Widgets/widgets.css' + ] + let scriptArr = Array.from(document.getElementsByTagName('script')) + let host + scriptArr.map(item => { + let src = item.getAttribute('src') + if (item.src.match('thirdParty.js')) { + host = src.split('thirdParty.js')[0] + } + }) + thirdLoad(thirdCssArr, "css") + thirdLoad(thirdJsArr, "js") + + function thirdLoad(arr, type) { + let head = document.getElementsByTagName('head')[0] + let fragment = document.createDocumentFragment() + if (type === "js") { + for (let i = 0; i < arr.length; i++) { + document.write(`<script src='${host}${arr[i]}'></script>`) + } + } else if (type === "css") { + for (let i = 0; i < arr.length; i++) { + let link = document.createElement('link') + link.href = `${host}${arr[i]}` + link.rel = "stylesheet" + link.type = "text/css" + fragment.appendChild(link) + } + head.appendChild(fragment) + } + } + +})() \ No newline at end of file diff --git a/public/baseConfig.js b/public/baseConfig.js new file mode 100644 index 000000000..e5d7e056e --- /dev/null +++ b/public/baseConfig.js @@ -0,0 +1,4 @@ +window['settings'] = { + apis: '/taishiView', + textConfigs: [], +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 000000000..df36fcfb7 Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/images/icons/base/airport.png b/public/images/icons/base/airport.png new file mode 100644 index 000000000..3a5db5b0b Binary files /dev/null and b/public/images/icons/base/airport.png differ diff --git a/public/images/icons/base/airport1.png b/public/images/icons/base/airport1.png new file mode 100644 index 000000000..699eb6afa Binary files /dev/null and b/public/images/icons/base/airport1.png differ diff --git a/public/images/icons/base/base.png b/public/images/icons/base/base.png new file mode 100644 index 000000000..1384a4f8a Binary files /dev/null and b/public/images/icons/base/base.png differ diff --git a/public/images/icons/base/base1.png b/public/images/icons/base/base1.png new file mode 100644 index 000000000..331a95df4 Binary files /dev/null and b/public/images/icons/base/base1.png differ diff --git a/public/images/icons/base/pin (1).png b/public/images/icons/base/pin (1).png new file mode 100644 index 000000000..6f32d938a Binary files /dev/null and b/public/images/icons/base/pin (1).png differ diff --git a/public/images/icons/base/pin (2).png b/public/images/icons/base/pin (2).png new file mode 100644 index 000000000..6cdf4c821 Binary files /dev/null and b/public/images/icons/base/pin (2).png differ diff --git a/public/images/icons/base/pin (3).png b/public/images/icons/base/pin (3).png new file mode 100644 index 000000000..4a2950877 Binary files /dev/null and b/public/images/icons/base/pin (3).png differ diff --git a/public/images/icons/base/pin.png b/public/images/icons/base/pin.png new file mode 100644 index 000000000..13c92703a Binary files /dev/null and b/public/images/icons/base/pin.png differ diff --git a/public/images/icons/base/port.png b/public/images/icons/base/port.png new file mode 100644 index 000000000..a70985f76 Binary files /dev/null and b/public/images/icons/base/port.png differ diff --git a/public/images/icons/base/port1.png b/public/images/icons/base/port1.png new file mode 100644 index 000000000..81868da90 Binary files /dev/null and b/public/images/icons/base/port1.png differ diff --git a/public/images/icons/base/station.png b/public/images/icons/base/station.png new file mode 100644 index 000000000..e16744118 Binary files /dev/null and b/public/images/icons/base/station.png differ diff --git a/public/images/icons/base/station1.png b/public/images/icons/base/station1.png new file mode 100644 index 000000000..fb51e84b9 Binary files /dev/null and b/public/images/icons/base/station1.png differ diff --git a/public/images/icons/text/LL.png b/public/images/icons/text/LL.png new file mode 100644 index 000000000..147caec16 Binary files /dev/null and b/public/images/icons/text/LL.png differ diff --git a/public/images/icons/text/LL1.png b/public/images/icons/text/LL1.png new file mode 100644 index 000000000..d8a8114bd Binary files /dev/null and b/public/images/icons/text/LL1.png differ diff --git a/public/images/icons/text/PP.png b/public/images/icons/text/PP.png new file mode 100644 index 000000000..67e9d957a Binary files /dev/null and b/public/images/icons/text/PP.png differ diff --git a/public/images/icons/text/PP1.png b/public/images/icons/text/PP1.png new file mode 100644 index 000000000..20e787712 Binary files /dev/null and b/public/images/icons/text/PP1.png differ diff --git a/public/images/icons/text/PS.png b/public/images/icons/text/PS.png new file mode 100644 index 000000000..d42fd69d1 Binary files /dev/null and b/public/images/icons/text/PS.png differ diff --git a/public/images/icons/text/PS1.png b/public/images/icons/text/PS1.png new file mode 100644 index 000000000..07577c14b Binary files /dev/null and b/public/images/icons/text/PS1.png differ diff --git a/public/images/icons/text/SC.png b/public/images/icons/text/SC.png new file mode 100644 index 000000000..b1bd6f8e2 Binary files /dev/null and b/public/images/icons/text/SC.png differ diff --git a/public/images/icons/text/SC1.png b/public/images/icons/text/SC1.png new file mode 100644 index 000000000..d12e37dda Binary files /dev/null and b/public/images/icons/text/SC1.png differ diff --git a/public/images/icons/text/YH.png b/public/images/icons/text/YH.png new file mode 100644 index 000000000..b8e930561 Binary files /dev/null and b/public/images/icons/text/YH.png differ diff --git a/public/images/icons/text/YH1.png b/public/images/icons/text/YH1.png new file mode 100644 index 000000000..ce976218c Binary files /dev/null and b/public/images/icons/text/YH1.png differ diff --git a/public/images/icons/text/ZW.png b/public/images/icons/text/ZW.png new file mode 100644 index 000000000..706f5b28f Binary files /dev/null and b/public/images/icons/text/ZW.png differ diff --git a/public/images/icons/text/ZW1.png b/public/images/icons/text/ZW1.png new file mode 100644 index 000000000..3e45c5fbd Binary files /dev/null and b/public/images/icons/text/ZW1.png differ diff --git a/public/images/icons/text/star.png b/public/images/icons/text/star.png new file mode 100644 index 000000000..1b346f90a Binary files /dev/null and b/public/images/icons/text/star.png differ diff --git a/public/images/icons/text/star1.png b/public/images/icons/text/star1.png new file mode 100644 index 000000000..b41b808b7 Binary files /dev/null and b/public/images/icons/text/star1.png differ diff --git a/public/images/icons/text/star2.png b/public/images/icons/text/star2.png new file mode 100644 index 000000000..499ed134f Binary files /dev/null and b/public/images/icons/text/star2.png differ diff --git a/public/images/img.jpeg b/public/images/img.jpeg new file mode 100644 index 000000000..c0da9a9de Binary files /dev/null and b/public/images/img.jpeg differ diff --git a/public/images/line.png b/public/images/line.png new file mode 100644 index 000000000..399d94430 Binary files /dev/null and b/public/images/line.png differ diff --git a/public/images/line1.png b/public/images/line1.png new file mode 100644 index 000000000..587d8144e Binary files /dev/null and b/public/images/line1.png differ diff --git a/public/images/line2.png b/public/images/line2.png new file mode 100644 index 000000000..bce66ab67 Binary files /dev/null and b/public/images/line2.png differ diff --git a/public/images/satellite.png b/public/images/satellite.png new file mode 100644 index 000000000..3cd837e5c Binary files /dev/null and b/public/images/satellite.png differ diff --git a/public/js/Cesium.js b/public/js/Cesium.js new file mode 100644 index 000000000..f5dfb611b --- /dev/null +++ b/public/js/Cesium.js @@ -0,0 +1,14444 @@ +/** + * @license + * Cesium - https://github.com/CesiumGS/cesium + * Version 1.102 + * + * Copyright 2011-2022 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. + */ + +var Cesium=(()=>{var ZAe=Object.create;var n3=Object.defineProperty;var JAe=Object.getOwnPropertyDescriptor;var QAe=Object.getOwnPropertyNames;var $Ae=Object.getPrototypeOf,exe=Object.prototype.hasOwnProperty;var U_=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var Jc=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),txe=(e,t)=>{for(var n in t)n3(e,n,{get:t[n],enumerable:!0})},wK=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of QAe(t))!exe.call(e,o)&&o!==n&&n3(e,o,{get:()=>t[o],enumerable:!(i=JAe(t,o))||i.enumerable});return e};var vo=(e,t,n)=>(n=e!=null?ZAe($Ae(e)):{},wK(t||!e||!e.__esModule?n3(n,"default",{value:e,enumerable:!0}):n,e)),nxe=e=>wK(n3({},"__esModule",{value:!0}),e);var i3=Jc((qyt,PK)=>{var Im=function(e){e==null&&(e=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};Im.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};Im.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648};Im.prototype.random_int=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_seed(5489),n=0;n<this.N-this.M;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+this.M]^e>>>1^t[e&1];for(;n<this.N-1;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+(this.M-this.N)]^e>>>1^t[e&1];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0};Im.prototype.random_int31=function(){return this.random_int()>>>1};Im.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};Im.prototype.random=function(){return this.random_int()*(1/4294967296)};Im.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};Im.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)};PK.exports=Im});var KZ=Jc((HC,GC)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof HC=="object"&&HC&&!HC.nodeType&&HC,n=typeof GC=="object"&&GC&&!GC.nodeType&&GC,i=typeof global=="object"&&global;(i.global===i||i.window===i||i.self===i)&&(e=i);var o,r=2147483647,s=36,a=1,c=26,l=38,f=700,d=72,p=128,g="-",m=/^xn--/,A=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,C={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},T=s-a,E=Math.floor,S=String.fromCharCode,D;function w(U){throw new RangeError(C[U])}function R(U,G){for(var V=U.length,X=[];V--;)X[V]=G(U[V]);return X}function O(U,G){var V=U.split("@"),X="";V.length>1&&(X=V[0]+"@",U=V[1]),U=U.replace(x,".");var j=U.split("."),Q=R(j,G).join(".");return X+Q}function L(U){for(var G=[],V=0,X=U.length,j,Q;V<X;)j=U.charCodeAt(V++),j>=55296&&j<=56319&&V<X?(Q=U.charCodeAt(V++),(Q&64512)==56320?G.push(((j&1023)<<10)+(Q&1023)+65536):(G.push(j),V--)):G.push(j);return G}function N(U){return R(U,function(G){var V="";return G>65535&&(G-=65536,V+=S(G>>>10&1023|55296),G=56320|G&1023),V+=S(G),V}).join("")}function _(U){return U-48<10?U-22:U-65<26?U-65:U-97<26?U-97:s}function b(U,G){return U+22+75*(U<26)-((G!=0)<<5)}function v(U,G,V){var X=0;for(U=V?E(U/f):U>>1,U+=E(U/G);U>T*c>>1;X+=s)U=E(U/T);return E(X+(T+1)*U/(U+l))}function I(U){var G=[],V=U.length,X,j=0,Q=p,W=d,K,J,_e,xe,re,ye,fe,Se,we;for(K=U.lastIndexOf(g),K<0&&(K=0),J=0;J<K;++J)U.charCodeAt(J)>=128&&w("not-basic"),G.push(U.charCodeAt(J));for(_e=K>0?K+1:0;_e<V;){for(xe=j,re=1,ye=s;_e>=V&&w("invalid-input"),fe=_(U.charCodeAt(_e++)),(fe>=s||fe>E((r-j)/re))&&w("overflow"),j+=fe*re,Se=ye<=W?a:ye>=W+c?c:ye-W,!(fe<Se);ye+=s)we=s-Se,re>E(r/we)&&w("overflow"),re*=we;X=G.length+1,W=v(j-xe,X,xe==0),E(j/X)>r-Q&&w("overflow"),Q+=E(j/X),j%=X,G.splice(j++,0,Q)}return N(G)}function B(U){var G,V,X,j,Q,W,K,J,_e,xe,re,ye=[],fe,Se,we,Ve;for(U=L(U),fe=U.length,G=p,V=0,Q=d,W=0;W<fe;++W)re=U[W],re<128&&ye.push(S(re));for(X=j=ye.length,j&&ye.push(g);X<fe;){for(K=r,W=0;W<fe;++W)re=U[W],re>=G&&re<K&&(K=re);for(Se=X+1,K-G>E((r-V)/Se)&&w("overflow"),V+=(K-G)*Se,G=K,W=0;W<fe;++W)if(re=U[W],re<G&&++V>r&&w("overflow"),re==G){for(J=V,_e=s;xe=_e<=Q?a:_e>=Q+c?c:_e-Q,!(J<xe);_e+=s)Ve=J-xe,we=s-xe,ye.push(S(b(xe+Ve%we,0))),J=E(Ve/we);ye.push(S(b(J,0))),Q=v(V,Se,X==j),V=0,++X}++V,++G}return ye.join("")}function F(U){return O(U,function(G){return m.test(G)?I(G.slice(4).toLowerCase()):G})}function k(U){return O(U,function(G){return A.test(G)?"xn--"+B(G):G})}if(o={version:"1.3.2",ucs2:{decode:L,encode:N},decode:I,encode:B,toASCII:k,toUnicode:F},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return o});else if(t&&n)if(GC.exports==t)n.exports=o;else for(D in o)o.hasOwnProperty(D)&&(t[D]=o[D]);else e.punycode=o})(HC)});var JZ=Jc((ZZ,P3)=>{/*! + * URI.js - Mutating URLs + * IPv6 Support + * + * Version: 1.19.11 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */(function(e,t){"use strict";typeof P3=="object"&&P3.exports?P3.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(ZZ,function(e){"use strict";var t=e&&e.IPv6;function n(o){var r=o.toLowerCase(),s=r.split(":"),a=s.length,c=8;s[0]===""&&s[1]===""&&s[2]===""?(s.shift(),s.shift()):s[0]===""&&s[1]===""?s.shift():s[a-1]===""&&s[a-2]===""&&s.pop(),a=s.length,s[a-1].indexOf(".")!==-1&&(c=7);var l;for(l=0;l<a&&s[l]!=="";l++);if(l<c)for(s.splice(l,1,"0000");s.length<c;)s.splice(l,0,"0000");for(var f,d=0;d<c;d++){f=s[d].split("");for(var p=0;p<3&&(f[0]==="0"&&f.length>1);p++)f.splice(0,1);s[d]=f.join("")}var g=-1,m=0,A=0,x=-1,C=!1;for(d=0;d<c;d++)C?s[d]==="0"?A+=1:(C=!1,A>m&&(g=x,m=A)):s[d]==="0"&&(C=!0,x=d,A=1);A>m&&(g=x,m=A),m>1&&s.splice(g,m,""),a=s.length;var T="";for(s[0]===""&&(T=":"),d=0;d<a&&(T+=s[d],d!==a-1);d++)T+=":";return s[a-1]===""&&(T+=":"),T}function i(){return e.IPv6===this&&(e.IPv6=t),this}return{best:n,noConflict:i}})});var $Z=Jc((QZ,O3)=>{/*! + * URI.js - Mutating URLs + * Second Level Domain (SLD) Support + * + * Version: 1.19.11 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */(function(e,t){"use strict";typeof O3=="object"&&O3.exports?O3.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(QZ,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(r+1,o)+" ")>=0:!1},is:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r>=0)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(0,o)+" ")>=0:!1},get:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return null;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return null;var s=n.list[i.slice(o+1)];return!s||s.indexOf(" "+i.slice(r+1,o)+" ")<0?null:i.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var Ll=Jc((eJ,R3)=>{/*! + * URI.js - Mutating URLs + * + * Version: 1.19.11 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */(function(e,t){"use strict";typeof R3=="object"&&R3.exports?R3.exports=t(KZ(),JZ(),$Z()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(eJ,function(e,t,n,i){"use strict";var o=i&&i.URI;function r(b,v){var I=arguments.length>=1,B=arguments.length>=2;if(!(this instanceof r))return I?B?new r(b,v):new r(b):new r;if(b===void 0){if(I)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?b=location.href+"":b=""}if(b===null&&I)throw new TypeError("null is not a valid argument for URI");return this.href(b),v!==void 0?this.absoluteTo(v):this}function s(b){return/^[0-9]+$/.test(b)}r.version="1.19.11";var a=r.prototype,c=Object.prototype.hasOwnProperty;function l(b){return b.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function f(b){return b===void 0?"Undefined":String(Object.prototype.toString.call(b)).slice(8,-1)}function d(b){return f(b)==="Array"}function p(b,v){var I={},B,F;if(f(v)==="RegExp")I=null;else if(d(v))for(B=0,F=v.length;B<F;B++)I[v[B]]=!0;else I[v]=!0;for(B=0,F=b.length;B<F;B++){var k=I&&I[b[B]]!==void 0||!I&&v.test(b[B]);k&&(b.splice(B,1),F--,B--)}return b}function g(b,v){var I,B;if(d(v)){for(I=0,B=v.length;I<B;I++)if(!g(b,v[I]))return!1;return!0}var F=f(v);for(I=0,B=b.length;I<B;I++)if(F==="RegExp"){if(typeof b[I]=="string"&&b[I].match(v))return!0}else if(b[I]===v)return!0;return!1}function m(b,v){if(!d(b)||!d(v)||b.length!==v.length)return!1;b.sort(),v.sort();for(var I=0,B=b.length;I<B;I++)if(b[I]!==v[I])return!1;return!0}function A(b){var v=/^\/+|\/+$/g;return b.replace(v,"")}r._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:r.preventInvalidHostname,duplicateQueryParameters:r.duplicateQueryParameters,escapeQuerySpace:r.escapeQuerySpace}},r.preventInvalidHostname=!1,r.duplicateQueryParameters=!1,r.escapeQuerySpace=!0,r.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,r.idn_expression=/[^a-z0-9\._-]/i,r.punycode_expression=/(xn--)/i,r.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,r.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,r.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(b){if(!(!b||!b.nodeName)){var v=b.nodeName.toLowerCase();if(!(v==="input"&&b.type!=="image"))return r.domAttributes[v]}};function x(b){return escape(b)}function C(b){return encodeURIComponent(b).replace(/[!'()*]/g,x).replace(/\*/g,"%2A")}r.encode=C,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=C,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(b,v){var I=r.encode(b+"");return v===void 0&&(v=r.escapeQuerySpace),v?I.replace(/%20/g,"+"):I},r.decodeQuery=function(b,v){b+="",v===void 0&&(v=r.escapeQuerySpace);try{return r.decode(v?b.replace(/\+/g,"%20"):b)}catch{return b}};var T={encode:"encode",decode:"decode"},E,S=function(b,v){return function(I){try{return r[v](I+"").replace(r.characters[b][v].expression,function(B){return r.characters[b][v].map[B]})}catch{return I}}};for(E in T)r[E+"PathSegment"]=S("pathname",T[E]),r[E+"UrnPathSegment"]=S("urnpath",T[E]);var D=function(b,v,I){return function(B){var F;I?F=function(V){return r[v](r[I](V))}:F=r[v];for(var k=(B+"").split(b),U=0,G=k.length;U<G;U++)k[U]=F(k[U]);return k.join(b)}};r.decodePath=D("/","decodePathSegment"),r.decodeUrnPath=D(":","decodeUrnPathSegment"),r.recodePath=D("/","encodePathSegment","decode"),r.recodeUrnPath=D(":","encodeUrnPathSegment","decode"),r.encodeReserved=S("reserved","encode"),r.parse=function(b,v){var I;return v||(v={preventInvalidHostname:r.preventInvalidHostname}),b=b.replace(r.leading_whitespace_expression,""),b=b.replace(r.ascii_tab_whitespace,""),I=b.indexOf("#"),I>-1&&(v.fragment=b.substring(I+1)||null,b=b.substring(0,I)),I=b.indexOf("?"),I>-1&&(v.query=b.substring(I+1)||null,b=b.substring(0,I)),b=b.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),b=b.replace(/^[/\\]{2,}/i,"//"),b.substring(0,2)==="//"?(v.protocol=null,b=b.substring(2),b=r.parseAuthority(b,v)):(I=b.indexOf(":"),I>-1&&(v.protocol=b.substring(0,I)||null,v.protocol&&!v.protocol.match(r.protocol_expression)?v.protocol=void 0:b.substring(I+1,I+3).replace(/\\/g,"/")==="//"?(b=b.substring(I+3),b=r.parseAuthority(b,v)):(b=b.substring(I+1),v.urn=!0))),v.path=b,v},r.parseHost=function(b,v){b||(b=""),b=b.replace(/\\/g,"/");var I=b.indexOf("/"),B,F;if(I===-1&&(I=b.length),b.charAt(0)==="[")B=b.indexOf("]"),v.hostname=b.substring(1,B)||null,v.port=b.substring(B+2,I)||null,v.port==="/"&&(v.port=null);else{var k=b.indexOf(":"),U=b.indexOf("/"),G=b.indexOf(":",k+1);G!==-1&&(U===-1||G<U)?(v.hostname=b.substring(0,I)||null,v.port=null):(F=b.substring(0,I).split(":"),v.hostname=F[0]||null,v.port=F[1]||null)}return v.hostname&&b.substring(I).charAt(0)!=="/"&&(I++,b="/"+b),v.preventInvalidHostname&&r.ensureValidHostname(v.hostname,v.protocol),v.port&&r.ensureValidPort(v.port),b.substring(I)||"/"},r.parseAuthority=function(b,v){return b=r.parseUserinfo(b,v),r.parseHost(b,v)},r.parseUserinfo=function(b,v){var I=b,B=b.indexOf("\\");B!==-1&&(b=b.replace(/\\/g,"/"));var F=b.indexOf("/"),k=b.lastIndexOf("@",F>-1?F:b.length-1),U;return k>-1&&(F===-1||k<F)?(U=b.substring(0,k).split(":"),v.username=U[0]?r.decode(U[0]):null,U.shift(),v.password=U[0]?r.decode(U.join(":")):null,b=I.substring(k+1)):(v.username=null,v.password=null),b},r.parseQuery=function(b,v){if(!b)return{};if(b=b.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!b)return{};for(var I={},B=b.split("&"),F=B.length,k,U,G,V=0;V<F;V++)k=B[V].split("="),U=r.decodeQuery(k.shift(),v),G=k.length?r.decodeQuery(k.join("="),v):null,U!=="__proto__"&&(c.call(I,U)?((typeof I[U]=="string"||I[U]===null)&&(I[U]=[I[U]]),I[U].push(G)):I[U]=G);return I},r.build=function(b){var v="",I=!1;return b.protocol&&(v+=b.protocol+":"),!b.urn&&(v||b.hostname)&&(v+="//",I=!0),v+=r.buildAuthority(b)||"",typeof b.path=="string"&&(b.path.charAt(0)!=="/"&&I&&(v+="/"),v+=b.path),typeof b.query=="string"&&b.query&&(v+="?"+b.query),typeof b.fragment=="string"&&b.fragment&&(v+="#"+b.fragment),v},r.buildHost=function(b){var v="";if(b.hostname)r.ip6_expression.test(b.hostname)?v+="["+b.hostname+"]":v+=b.hostname;else return"";return b.port&&(v+=":"+b.port),v},r.buildAuthority=function(b){return r.buildUserinfo(b)+r.buildHost(b)},r.buildUserinfo=function(b){var v="";return b.username&&(v+=r.encode(b.username)),b.password&&(v+=":"+r.encode(b.password)),v&&(v+="@"),v},r.buildQuery=function(b,v,I){var B="",F,k,U,G;for(k in b)if(k!=="__proto__"&&c.call(b,k))if(d(b[k]))for(F={},U=0,G=b[k].length;U<G;U++)b[k][U]!==void 0&&F[b[k][U]+""]===void 0&&(B+="&"+r.buildQueryParameter(k,b[k][U],I),v!==!0&&(F[b[k][U]+""]=!0));else b[k]!==void 0&&(B+="&"+r.buildQueryParameter(k,b[k],I));return B.substring(1)},r.buildQueryParameter=function(b,v,I){return r.encodeQuery(b,I)+(v!==null?"="+r.encodeQuery(v,I):"")},r.addQuery=function(b,v,I){if(typeof v=="object")for(var B in v)c.call(v,B)&&r.addQuery(b,B,v[B]);else if(typeof v=="string"){if(b[v]===void 0){b[v]=I;return}else typeof b[v]=="string"&&(b[v]=[b[v]]);d(I)||(I=[I]),b[v]=(b[v]||[]).concat(I)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},r.setQuery=function(b,v,I){if(typeof v=="object")for(var B in v)c.call(v,B)&&r.setQuery(b,B,v[B]);else if(typeof v=="string")b[v]=I===void 0?null:I;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},r.removeQuery=function(b,v,I){var B,F,k;if(d(v))for(B=0,F=v.length;B<F;B++)b[v[B]]=void 0;else if(f(v)==="RegExp")for(k in b)v.test(k)&&(b[k]=void 0);else if(typeof v=="object")for(k in v)c.call(v,k)&&r.removeQuery(b,k,v[k]);else if(typeof v=="string")I!==void 0?f(I)==="RegExp"?!d(b[v])&&I.test(b[v])?b[v]=void 0:b[v]=p(b[v],I):b[v]===String(I)&&(!d(I)||I.length===1)?b[v]=void 0:d(b[v])&&(b[v]=p(b[v],I)):b[v]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},r.hasQuery=function(b,v,I,B){switch(f(v)){case"String":break;case"RegExp":for(var F in b)if(c.call(b,F)&&v.test(F)&&(I===void 0||r.hasQuery(b,F,I)))return!0;return!1;case"Object":for(var k in v)if(c.call(v,k)&&!r.hasQuery(b,k,v[k]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(f(I)){case"Undefined":return v in b;case"Boolean":var U=Boolean(d(b[v])?b[v].length:b[v]);return I===U;case"Function":return!!I(b[v],v,b);case"Array":if(!d(b[v]))return!1;var G=B?g:m;return G(b[v],I);case"RegExp":return d(b[v])?B?g(b[v],I):!1:Boolean(b[v]&&b[v].match(I));case"Number":I=String(I);case"String":return d(b[v])?B?g(b[v],I):!1:b[v]===I;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},r.joinPaths=function(){for(var b=[],v=[],I=0,B=0;B<arguments.length;B++){var F=new r(arguments[B]);b.push(F);for(var k=F.segment(),U=0;U<k.length;U++)typeof k[U]=="string"&&v.push(k[U]),k[U]&&I++}if(!v.length||!I)return new r("");var G=new r("").segment(v);return(b[0].path()===""||b[0].path().slice(0,1)==="/")&&G.path("/"+G.path()),G.normalize()},r.commonPath=function(b,v){var I=Math.min(b.length,v.length),B;for(B=0;B<I;B++)if(b.charAt(B)!==v.charAt(B)){B--;break}return B<1?b.charAt(0)===v.charAt(0)&&b.charAt(0)==="/"?"/":"":((b.charAt(B)!=="/"||v.charAt(B)!=="/")&&(B=b.substring(0,B).lastIndexOf("/")),b.substring(0,B+1))},r.withinString=function(b,v,I){I||(I={});var B=I.start||r.findUri.start,F=I.end||r.findUri.end,k=I.trim||r.findUri.trim,U=I.parens||r.findUri.parens,G=/[a-z0-9-]=["']?$/i;for(B.lastIndex=0;;){var V=B.exec(b);if(!V)break;var X=V.index;if(I.ignoreHtml){var j=b.slice(Math.max(X-3,0),X);if(j&&G.test(j))continue}for(var Q=X+b.slice(X).search(F),W=b.slice(X,Q),K=-1;;){var J=U.exec(W);if(!J)break;var _e=J.index+J[0].length;K=Math.max(K,_e)}if(K>-1?W=W.slice(0,K)+W.slice(K).replace(k,""):W=W.replace(k,""),!(W.length<=V[0].length)&&!(I.ignore&&I.ignore.test(W))){Q=X+W.length;var xe=v(W,X,Q,b);if(xe===void 0){B.lastIndex=Q;continue}xe=String(xe),b=b.slice(0,X)+xe+b.slice(Q),B.lastIndex=X+xe.length}}return B.lastIndex=0,b},r.ensureValidHostname=function(b,v){var I=!!b,B=!!v,F=!1;if(B&&(F=g(r.hostProtocols,v)),F&&!I)throw new TypeError("Hostname cannot be empty, if protocol is "+v);if(b&&b.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(b).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(b){if(b){var v=Number(b);if(!(s(v)&&v>0&&v<65536))throw new TypeError('Port "'+b+'" is not a valid port')}},r.noConflict=function(b){if(b){var v={URI:this.noConflict()};return i.URITemplate&&typeof i.URITemplate.noConflict=="function"&&(v.URITemplate=i.URITemplate.noConflict()),i.IPv6&&typeof i.IPv6.noConflict=="function"&&(v.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&typeof i.SecondLevelDomains.noConflict=="function"&&(v.SecondLevelDomains=i.SecondLevelDomains.noConflict()),v}else i.URI===this&&(i.URI=o);return this},a.build=function(b){return b===!0?this._deferred_build=!0:(b===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},a.clone=function(){return new r(this)},a.valueOf=a.toString=function(){return this.build(!1)._string};function w(b){return function(v,I){return v===void 0?this._parts[b]||"":(this._parts[b]=v||null,this.build(!I),this)}}function R(b,v){return function(I,B){return I===void 0?this._parts[b]||"":(I!==null&&(I=I+"",I.charAt(0)===v&&(I=I.substring(1))),this._parts[b]=I,this.build(!B),this)}}a.protocol=w("protocol"),a.username=w("username"),a.password=w("password"),a.hostname=w("hostname"),a.port=w("port"),a.query=R("query","?"),a.fragment=R("fragment","#"),a.search=function(b,v){var I=this.query(b,v);return typeof I=="string"&&I.length?"?"+I:I},a.hash=function(b,v){var I=this.fragment(b,v);return typeof I=="string"&&I.length?"#"+I:I},a.pathname=function(b,v){if(b===void 0||b===!0){var I=this._parts.path||(this._parts.hostname?"/":"");return b?(this._parts.urn?r.decodeUrnPath:r.decodePath)(I):I}else return this._parts.urn?this._parts.path=b?r.recodeUrnPath(b):"":this._parts.path=b?r.recodePath(b):"/",this.build(!v),this},a.path=a.pathname,a.href=function(b,v){var I;if(b===void 0)return this.toString();this._string="",this._parts=r._parts();var B=b instanceof r,F=typeof b=="object"&&(b.hostname||b.path||b.pathname);if(b.nodeName){var k=r.getDomAttribute(b);b=b[k]||"",F=!1}if(!B&&F&&b.pathname!==void 0&&(b=b.toString()),typeof b=="string"||b instanceof String)this._parts=r.parse(String(b),this._parts);else if(B||F){var U=B?b._parts:b;for(I in U)I!=="query"&&c.call(this._parts,I)&&(this._parts[I]=U[I]);U.query&&this.query(U.query,!1)}else throw new TypeError("invalid input");return this.build(!v),this},a.is=function(b){var v=!1,I=!1,B=!1,F=!1,k=!1,U=!1,G=!1,V=!this._parts.urn;switch(this._parts.hostname&&(V=!1,I=r.ip4_expression.test(this._parts.hostname),B=r.ip6_expression.test(this._parts.hostname),v=I||B,F=!v,k=F&&n&&n.has(this._parts.hostname),U=F&&r.idn_expression.test(this._parts.hostname),G=F&&r.punycode_expression.test(this._parts.hostname)),b.toLowerCase()){case"relative":return V;case"absolute":return!V;case"domain":case"name":return F;case"sld":return k;case"ip":return v;case"ip4":case"ipv4":case"inet4":return I;case"ip6":case"ipv6":case"inet6":return B;case"idn":return U;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return G}return null};var O=a.protocol,L=a.port,N=a.hostname;a.protocol=function(b,v){if(b&&(b=b.replace(/:(\/\/)?$/,""),!b.match(r.protocol_expression)))throw new TypeError('Protocol "'+b+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return O.call(this,b,v)},a.scheme=a.protocol,a.port=function(b,v){return this._parts.urn?b===void 0?"":this:(b!==void 0&&(b===0&&(b=null),b&&(b+="",b.charAt(0)===":"&&(b=b.substring(1)),r.ensureValidPort(b))),L.call(this,b,v))},a.hostname=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b!==void 0){var I={preventInvalidHostname:this._parts.preventInvalidHostname},B=r.parseHost(b,I);if(B!=="/")throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-]');b=I.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(b,this._parts.protocol)}return N.call(this,b,v)},a.origin=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0){var I=this.protocol(),B=this.authority();return B?(I?I+"://":"")+this.authority():""}else{var F=r(b);return this.protocol(F.protocol()).authority(F.authority()).build(!v),this}},a.host=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var I=r.parseHost(b,this._parts);if(I!=="/")throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-]');return this.build(!v),this},a.authority=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var I=r.parseAuthority(b,this._parts);if(I!=="/")throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-]');return this.build(!v),this},a.userinfo=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0){var I=r.buildUserinfo(this._parts);return I&&I.substring(0,I.length-1)}else return b[b.length-1]!=="@"&&(b+="@"),r.parseUserinfo(b,this._parts),this.build(!v),this},a.resource=function(b,v){var I;return b===void 0?this.path()+this.search()+this.hash():(I=r.parse(b),this._parts.path=I.path,this._parts.query=I.query,this._parts.fragment=I.fragment,this.build(!v),this)},a.subdomain=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,I)||""}else{var B=this._parts.hostname.length-this.domain().length,F=this._parts.hostname.substring(0,B),k=new RegExp("^"+l(F));if(b&&b.charAt(b.length-1)!=="."&&(b+="."),b.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return b&&r.ensureValidHostname(b,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(k,b),this.build(!v),this}},a.domain=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(typeof b=="boolean"&&(v=b,b=void 0),b===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.match(/\./g);if(I&&I.length<2)return this._parts.hostname;var B=this._parts.hostname.length-this.tld(v).length-1;return B=this._parts.hostname.lastIndexOf(".",B-1)+1,this._parts.hostname.substring(B)||""}else{if(!b)throw new TypeError("cannot set domain empty");if(b.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(b,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=b;else{var F=new RegExp(l(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(F,b)}return this.build(!v),this}},a.tld=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(typeof b=="boolean"&&(v=b,b=void 0),b===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.lastIndexOf("."),B=this._parts.hostname.substring(I+1);return v!==!0&&n&&n.list[B.toLowerCase()]&&n.get(this._parts.hostname)||B}else{var F;if(b)if(b.match(/[^a-zA-Z0-9-]/))if(n&&n.is(b))F=new RegExp(l(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(F,b);else throw new TypeError('TLD "'+b+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");F=new RegExp(l(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(F,b)}else throw new TypeError("cannot set TLD empty");return this.build(!v),this}},a.directory=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0||b===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var I=this._parts.path.length-this.filename().length-1,B=this._parts.path.substring(0,I)||(this._parts.hostname?"/":"");return b?r.decodePath(B):B}else{var F=this._parts.path.length-this.filename().length,k=this._parts.path.substring(0,F),U=new RegExp("^"+l(k));return this.is("relative")||(b||(b="/"),b.charAt(0)!=="/"&&(b="/"+b)),b&&b.charAt(b.length-1)!=="/"&&(b+="/"),b=r.recodePath(b),this._parts.path=this._parts.path.replace(U,b),this.build(!v),this}},a.filename=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(typeof b!="string"){if(!this._parts.path||this._parts.path==="/")return"";var I=this._parts.path.lastIndexOf("/"),B=this._parts.path.substring(I+1);return b?r.decodePathSegment(B):B}else{var F=!1;b.charAt(0)==="/"&&(b=b.substring(1)),b.match(/\.?\//)&&(F=!0);var k=new RegExp(l(this.filename())+"$");return b=r.recodePath(b),this._parts.path=this._parts.path.replace(k,b),F?this.normalizePath(v):this.build(!v),this}},a.suffix=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0||b===!0){if(!this._parts.path||this._parts.path==="/")return"";var I=this.filename(),B=I.lastIndexOf("."),F,k;return B===-1?"":(F=I.substring(B+1),k=/^[a-z0-9%]+$/i.test(F)?F:"",b?r.decodePathSegment(k):k)}else{b.charAt(0)==="."&&(b=b.substring(1));var U=this.suffix(),G;if(U)b?G=new RegExp(l(U)+"$"):G=new RegExp(l("."+U)+"$");else{if(!b)return this;this._parts.path+="."+r.recodePath(b)}return G&&(b=r.recodePath(b),this._parts.path=this._parts.path.replace(G,b)),this.build(!v),this}},a.segment=function(b,v,I){var B=this._parts.urn?":":"/",F=this.path(),k=F.substring(0,1)==="/",U=F.split(B);if(b!==void 0&&typeof b!="number"&&(I=v,v=b,b=void 0),b!==void 0&&typeof b!="number")throw new Error('Bad segment "'+b+'", must be 0-based integer');if(k&&U.shift(),b<0&&(b=Math.max(U.length+b,0)),v===void 0)return b===void 0?U:U[b];if(b===null||U[b]===void 0)if(d(v)){U=[];for(var G=0,V=v.length;G<V;G++)!v[G].length&&(!U.length||!U[U.length-1].length)||(U.length&&!U[U.length-1].length&&U.pop(),U.push(A(v[G])))}else(v||typeof v=="string")&&(v=A(v),U[U.length-1]===""?U[U.length-1]=v:U.push(v));else v?U[b]=A(v):U.splice(b,1);return k&&U.unshift(""),this.path(U.join(B),I)},a.segmentCoded=function(b,v,I){var B,F,k;if(typeof b!="number"&&(I=v,v=b,b=void 0),v===void 0){if(B=this.segment(b,v,I),!d(B))B=B!==void 0?r.decode(B):void 0;else for(F=0,k=B.length;F<k;F++)B[F]=r.decode(B[F]);return B}if(!d(v))v=typeof v=="string"||v instanceof String?r.encode(v):v;else for(F=0,k=v.length;F<k;F++)v[F]=r.encode(v[F]);return this.segment(b,v,I)};var _=a.query;return a.query=function(b,v){if(b===!0)return r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof b=="function"){var I=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace),B=b.call(this,I);return this._parts.query=r.buildQuery(B||I,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!v),this}else return b!==void 0&&typeof b!="string"?(this._parts.query=r.buildQuery(b,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!v),this):_.call(this,b,v)},a.setQuery=function(b,v,I){var B=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof b=="string"||b instanceof String)B[b]=v!==void 0?v:null;else if(typeof b=="object")for(var F in b)c.call(b,F)&&(B[F]=b[F]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=r.buildQuery(B,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof b!="string"&&(I=v),this.build(!I),this},a.addQuery=function(b,v,I){var B=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.addQuery(B,b,v===void 0?null:v),this._parts.query=r.buildQuery(B,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof b!="string"&&(I=v),this.build(!I),this},a.removeQuery=function(b,v,I){var B=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.removeQuery(B,b,v),this._parts.query=r.buildQuery(B,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof b!="string"&&(I=v),this.build(!I),this},a.hasQuery=function(b,v,I){var B=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.hasQuery(B,b,v,I)},a.setSearch=a.setQuery,a.addSearch=a.addQuery,a.removeSearch=a.removeQuery,a.hasSearch=a.hasQuery,a.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},a.normalizeProtocol=function(b){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!b)),this},a.normalizeHostname=function(b){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!b)),this},a.normalizePort=function(b){return typeof this._parts.protocol=="string"&&this._parts.port===r.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!b)),this},a.normalizePath=function(b){var v=this._parts.path;if(!v)return this;if(this._parts.urn)return this._parts.path=r.recodeUrnPath(this._parts.path),this.build(!b),this;if(this._parts.path==="/")return this;v=r.recodePath(v);var I,B="",F,k;for(v.charAt(0)!=="/"&&(I=!0,v="/"+v),(v.slice(-3)==="/.."||v.slice(-2)==="/.")&&(v+="/"),v=v.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),I&&(B=v.substring(1).match(/^(\.\.\/)+/)||"",B&&(B=B[0]));F=v.search(/\/\.\.(\/|$)/),F!==-1;){if(F===0){v=v.substring(3);continue}k=v.substring(0,F).lastIndexOf("/"),k===-1&&(k=F),v=v.substring(0,k)+v.substring(F+3)}return I&&this.is("relative")&&(v=B+v.substring(1)),this._parts.path=v,this.build(!b),this},a.normalizePathname=a.normalizePath,a.normalizeQuery=function(b){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(r.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!b)),this},a.normalizeFragment=function(b){return this._parts.fragment||(this._parts.fragment=null,this.build(!b)),this},a.normalizeSearch=a.normalizeQuery,a.normalizeHash=a.normalizeFragment,a.iso8859=function(){var b=r.encode,v=r.decode;r.encode=escape,r.decode=decodeURIComponent;try{this.normalize()}finally{r.encode=b,r.decode=v}return this},a.unicode=function(){var b=r.encode,v=r.decode;r.encode=C,r.decode=unescape;try{this.normalize()}finally{r.encode=b,r.decode=v}return this},a.readable=function(){var b=this.clone();b.username("").password("").normalize();var v="";if(b._parts.protocol&&(v+=b._parts.protocol+"://"),b._parts.hostname&&(b.is("punycode")&&e?(v+=e.toUnicode(b._parts.hostname),b._parts.port&&(v+=":"+b._parts.port)):v+=b.host()),b._parts.hostname&&b._parts.path&&b._parts.path.charAt(0)!=="/"&&(v+="/"),v+=b.path(!0),b._parts.query){for(var I="",B=0,F=b._parts.query.split("&"),k=F.length;B<k;B++){var U=(F[B]||"").split("=");I+="&"+r.decodeQuery(U[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),U[1]!==void 0&&(I+="="+r.decodeQuery(U[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}v+="?"+I.substring(1)}return v+=r.decodeQuery(b.hash(),!0),v},a.absoluteTo=function(b){var v=this.clone(),I=["protocol","username","password","hostname","port"],B,F,k;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(b instanceof r||(b=new r(b)),v._parts.protocol||(v._parts.protocol=b._parts.protocol,this._parts.hostname))return v;for(F=0;k=I[F];F++)v._parts[k]=b._parts[k];return v._parts.path?(v._parts.path.substring(-2)===".."&&(v._parts.path+="/"),v.path().charAt(0)!=="/"&&(B=b.directory(),B=B||(b.path().indexOf("/")===0?"/":""),v._parts.path=(B?B+"/":"")+v._parts.path,v.normalizePath())):(v._parts.path=b._parts.path,v._parts.query||(v._parts.query=b._parts.query)),v.build(),v},a.relativeTo=function(b){var v=this.clone().normalize(),I,B,F,k,U;if(v._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(b=new r(b).normalize(),I=v._parts,B=b._parts,k=v.path(),U=b.path(),k.charAt(0)!=="/")throw new Error("URI is already relative");if(U.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(I.protocol===B.protocol&&(I.protocol=null),I.username!==B.username||I.password!==B.password||I.protocol!==null||I.username!==null||I.password!==null)return v.build();if(I.hostname===B.hostname&&I.port===B.port)I.hostname=null,I.port=null;else return v.build();if(k===U)return I.path="",v.build();if(F=r.commonPath(k,U),!F)return v.build();var G=B.path.substring(F.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return I.path=G+I.path.substring(F.length)||"./",v.build()},a.equals=function(b){var v=this.clone(),I=new r(b),B={},F={},k={},U,G,V;if(v.normalize(),I.normalize(),v.toString()===I.toString())return!0;if(U=v.query(),G=I.query(),v.query(""),I.query(""),v.toString()!==I.toString()||U.length!==G.length)return!1;B=r.parseQuery(U,this._parts.escapeQuerySpace),F=r.parseQuery(G,this._parts.escapeQuerySpace);for(V in B)if(c.call(B,V)){if(d(B[V])){if(!m(B[V],F[V]))return!1}else if(B[V]!==F[V])return!1;k[V]=!0}for(V in F)if(c.call(F,V)&&!k[V])return!1;return!0},a.preventInvalidHostname=function(b){return this._parts.preventInvalidHostname=!!b,this},a.duplicateQueryParameters=function(b){return this._parts.duplicateQueryParameters=!!b,this},a.escapeQuerySpace=function(b){return this._parts.escapeQuerySpace=!!b,this},r})});var Qee=Jc(($8,e5)=>{/*! @license DOMPurify 2.4.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.3/LICENSE */(function(e,t){typeof $8=="object"&&typeof e5<"u"?e5.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.DOMPurify=t())})($8,function(){"use strict";function e(me){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(be){return typeof be}:function(be){return be&&typeof Symbol=="function"&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be},e(me)}function t(me,be){return t=Object.setPrototypeOf||function(qt,Kn){return qt.__proto__=Kn,qt},t(me,be)}function n(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function i(me,be,St){return n()?i=Reflect.construct:i=function(Kn,Ro,Uo){var Ao=[null];Ao.push.apply(Ao,Ro);var Yr=Function.bind.apply(Kn,Ao),Be=new Yr;return Uo&&t(Be,Uo.prototype),Be},i.apply(null,arguments)}function o(me){return r(me)||s(me)||a(me)||l()}function r(me){if(Array.isArray(me))return c(me)}function s(me){if(typeof Symbol<"u"&&me[Symbol.iterator]!=null||me["@@iterator"]!=null)return Array.from(me)}function a(me,be){if(me){if(typeof me=="string")return c(me,be);var St=Object.prototype.toString.call(me).slice(8,-1);if(St==="Object"&&me.constructor&&(St=me.constructor.name),St==="Map"||St==="Set")return Array.from(me);if(St==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(St))return c(me,be)}}function c(me,be){(be==null||be>me.length)&&(be=me.length);for(var St=0,qt=new Array(be);St<be;St++)qt[St]=me[St];return qt}function l(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var f=Object.hasOwnProperty,d=Object.setPrototypeOf,p=Object.isFrozen,g=Object.getPrototypeOf,m=Object.getOwnPropertyDescriptor,A=Object.freeze,x=Object.seal,C=Object.create,T=typeof Reflect<"u"&&Reflect,E=T.apply,S=T.construct;E||(E=function(be,St,qt){return be.apply(St,qt)}),A||(A=function(be){return be}),x||(x=function(be){return be}),S||(S=function(be,St){return i(be,o(St))});var D=F(Array.prototype.forEach),w=F(Array.prototype.pop),R=F(Array.prototype.push),O=F(String.prototype.toLowerCase),L=F(String.prototype.toString),N=F(String.prototype.match),_=F(String.prototype.replace),b=F(String.prototype.indexOf),v=F(String.prototype.trim),I=F(RegExp.prototype.test),B=k(TypeError);function F(me){return function(be){for(var St=arguments.length,qt=new Array(St>1?St-1:0),Kn=1;Kn<St;Kn++)qt[Kn-1]=arguments[Kn];return E(me,be,qt)}}function k(me){return function(){for(var be=arguments.length,St=new Array(be),qt=0;qt<be;qt++)St[qt]=arguments[qt];return S(me,St)}}function U(me,be,St){St=St||O,d&&d(me,null);for(var qt=be.length;qt--;){var Kn=be[qt];if(typeof Kn=="string"){var Ro=St(Kn);Ro!==Kn&&(p(be)||(be[qt]=Ro),Kn=Ro)}me[Kn]=!0}return me}function G(me){var be=C(null),St;for(St in me)E(f,me,[St])===!0&&(be[St]=me[St]);return be}function V(me,be){for(;me!==null;){var St=m(me,be);if(St){if(St.get)return F(St.get);if(typeof St.value=="function")return F(St.value)}me=g(me)}function qt(Kn){return console.warn("fallback value for",Kn),null}return qt}var X=A(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),j=A(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Q=A(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),W=A(["animate","color-profile","cursor","discard","fedropshadow","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),K=A(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),J=A(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),_e=A(["#text"]),xe=A(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),re=A(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),ye=A(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),fe=A(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Se=x(/\{\{[\w\W]*|[\w\W]*\}\}/gm),we=x(/<%[\w\W]*|[\w\W]*%>/gm),Ve=x(/\${[\w\W]*}/gm),qe=x(/^data-[\-\w.\u00B7-\uFFFF]/),mt=x(/^aria-[\-\w]+$/),Ht=x(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),fn=x(/^(?:\w+script|data):/i),dt=x(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Tn=x(/^html$/i),Jn=function(){return typeof window>"u"?null:window},Gt=function(be,St){if(e(be)!=="object"||typeof be.createPolicy!="function")return null;var qt=null,Kn="data-tt-policy-suffix";St.currentScript&&St.currentScript.hasAttribute(Kn)&&(qt=St.currentScript.getAttribute(Kn));var Ro="dompurify"+(qt?"#"+qt:"");try{return be.createPolicy(Ro,{createHTML:function(Ao){return Ao},createScriptURL:function(Ao){return Ao}})}catch{return console.warn("TrustedTypes policy "+Ro+" could not be created."),null}};function Je(){var me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Jn(),be=function(De){return Je(De)};if(be.version="2.4.3",be.removed=[],!me||!me.document||me.document.nodeType!==9)return be.isSupported=!1,be;var St=me.document,qt=me.document,Kn=me.DocumentFragment,Ro=me.HTMLTemplateElement,Uo=me.Node,Ao=me.Element,Yr=me.NodeFilter,Be=me.NamedNodeMap,it=Be===void 0?me.NamedNodeMap||me.MozNamedAttrMap:Be,Ke=me.HTMLFormElement,Ze=me.DOMParser,ft=me.trustedTypes,Lt=Ao.prototype,En=V(Lt,"cloneNode"),so=V(Lt,"nextSibling"),So=V(Lt,"childNodes"),ns=V(Lt,"parentNode");if(typeof Ro=="function"){var Nr=qt.createElement("template");Nr.content&&Nr.content.ownerDocument&&(qt=Nr.content.ownerDocument)}var Hi=Gt(ft,St),Oi=Hi?Hi.createHTML(""):"",Ar=qt,Mn=Ar.implementation,Yn=Ar.createNodeIterator,Zn=Ar.createDocumentFragment,ti=Ar.getElementsByTagName,hc=St.importNode,Do={};try{Do=G(qt).documentMode?qt.documentMode:{}}catch{}var Bo={};be.isSupported=typeof ns=="function"&&Mn&&typeof Mn.createHTMLDocument<"u"&&Do!==9;var kf=Se,er=we,ba=Ve,lh=qe,V_=mt,Sa=fn,uh=dt,i0=Ht,tr=null,mc=U({},[].concat(o(X),o(j),o(Q),o(K),o(_e))),qr=null,K2=U({},[].concat(o(xe),o(re),o(ye),o(fe))),Xr=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),VS=null,IH=null,uK=!0,PH=!0,fK=!1,IC=!1,o0=!1,OH=!1,RH=!1,PC=!1,Z2=!1,J2=!1,dK=!0,hK=!1,zAe="user-content-",BH=!0,US=!1,OC={},RC=null,mK=U({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),pK=null,_K=U({},["audio","video","img","source","image","track"]),MH=null,gK=U({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Q2="http://www.w3.org/1998/Math/MathML",$2="http://www.w3.org/2000/svg",Dm="http://www.w3.org/1999/xhtml",BC=Dm,LH=!1,NH=null,HAe=U({},[Q2,$2,Dm],L),r0,GAe=["application/xhtml+xml","text/html"],WAe="text/html",Bs,MC=null,jAe=qt.createElement("form"),yK=function(De){return De instanceof RegExp||De instanceof Function},FH=function(De){MC&&MC===De||((!De||e(De)!=="object")&&(De={}),De=G(De),r0=GAe.indexOf(De.PARSER_MEDIA_TYPE)===-1?r0=WAe:r0=De.PARSER_MEDIA_TYPE,Bs=r0==="application/xhtml+xml"?L:O,tr="ALLOWED_TAGS"in De?U({},De.ALLOWED_TAGS,Bs):mc,qr="ALLOWED_ATTR"in De?U({},De.ALLOWED_ATTR,Bs):K2,NH="ALLOWED_NAMESPACES"in De?U({},De.ALLOWED_NAMESPACES,L):HAe,MH="ADD_URI_SAFE_ATTR"in De?U(G(gK),De.ADD_URI_SAFE_ATTR,Bs):gK,pK="ADD_DATA_URI_TAGS"in De?U(G(_K),De.ADD_DATA_URI_TAGS,Bs):_K,RC="FORBID_CONTENTS"in De?U({},De.FORBID_CONTENTS,Bs):mK,VS="FORBID_TAGS"in De?U({},De.FORBID_TAGS,Bs):{},IH="FORBID_ATTR"in De?U({},De.FORBID_ATTR,Bs):{},OC="USE_PROFILES"in De?De.USE_PROFILES:!1,uK=De.ALLOW_ARIA_ATTR!==!1,PH=De.ALLOW_DATA_ATTR!==!1,fK=De.ALLOW_UNKNOWN_PROTOCOLS||!1,IC=De.SAFE_FOR_TEMPLATES||!1,o0=De.WHOLE_DOCUMENT||!1,PC=De.RETURN_DOM||!1,Z2=De.RETURN_DOM_FRAGMENT||!1,J2=De.RETURN_TRUSTED_TYPE||!1,RH=De.FORCE_BODY||!1,dK=De.SANITIZE_DOM!==!1,hK=De.SANITIZE_NAMED_PROPS||!1,BH=De.KEEP_CONTENT!==!1,US=De.IN_PLACE||!1,i0=De.ALLOWED_URI_REGEXP||i0,BC=De.NAMESPACE||Dm,De.CUSTOM_ELEMENT_HANDLING&&yK(De.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Xr.tagNameCheck=De.CUSTOM_ELEMENT_HANDLING.tagNameCheck),De.CUSTOM_ELEMENT_HANDLING&&yK(De.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Xr.attributeNameCheck=De.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),De.CUSTOM_ELEMENT_HANDLING&&typeof De.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Xr.allowCustomizedBuiltInElements=De.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),IC&&(PH=!1),Z2&&(PC=!0),OC&&(tr=U({},o(_e)),qr=[],OC.html===!0&&(U(tr,X),U(qr,xe)),OC.svg===!0&&(U(tr,j),U(qr,re),U(qr,fe)),OC.svgFilters===!0&&(U(tr,Q),U(qr,re),U(qr,fe)),OC.mathMl===!0&&(U(tr,K),U(qr,ye),U(qr,fe))),De.ADD_TAGS&&(tr===mc&&(tr=G(tr)),U(tr,De.ADD_TAGS,Bs)),De.ADD_ATTR&&(qr===K2&&(qr=G(qr)),U(qr,De.ADD_ATTR,Bs)),De.ADD_URI_SAFE_ATTR&&U(MH,De.ADD_URI_SAFE_ATTR,Bs),De.FORBID_CONTENTS&&(RC===mK&&(RC=G(RC)),U(RC,De.FORBID_CONTENTS,Bs)),BH&&(tr["#text"]=!0),o0&&U(tr,["html","head","body"]),tr.table&&(U(tr,["tbody"]),delete VS.tbody),A&&A(De),MC=De)},AK=U({},["mi","mo","mn","ms","mtext"]),xK=U({},["foreignobject","desc","title","annotation-xml"]),YAe=U({},["title","style","font","a","script"]),e3=U({},j);U(e3,Q),U(e3,W);var VH=U({},K);U(VH,J);var qAe=function(De){var yt=ns(De);(!yt||!yt.tagName)&&(yt={namespaceURI:BC,tagName:"template"});var jt=O(De.tagName),ao=O(yt.tagName);return NH[De.namespaceURI]?De.namespaceURI===$2?yt.namespaceURI===Dm?jt==="svg":yt.namespaceURI===Q2?jt==="svg"&&(ao==="annotation-xml"||AK[ao]):Boolean(e3[jt]):De.namespaceURI===Q2?yt.namespaceURI===Dm?jt==="math":yt.namespaceURI===$2?jt==="math"&&xK[ao]:Boolean(VH[jt]):De.namespaceURI===Dm?yt.namespaceURI===$2&&!xK[ao]||yt.namespaceURI===Q2&&!AK[ao]?!1:!VH[jt]&&(YAe[jt]||!e3[jt]):!!(r0==="application/xhtml+xml"&&NH[De.namespaceURI]):!1},vm=function(De){R(be.removed,{element:De});try{De.parentNode.removeChild(De)}catch{try{De.outerHTML=Oi}catch{De.remove()}}},UH=function(De,yt){try{R(be.removed,{attribute:yt.getAttributeNode(De),from:yt})}catch{R(be.removed,{attribute:null,from:yt})}if(yt.removeAttribute(De),De==="is"&&!qr[De])if(PC||Z2)try{vm(yt)}catch{}else try{yt.setAttribute(De,"")}catch{}},CK=function(De){var yt,jt;if(RH)De="<remove></remove>"+De;else{var ao=N(De,/^[\r\n\t ]+/);jt=ao&&ao[0]}r0==="application/xhtml+xml"&&BC===Dm&&(De='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+De+"</body></html>");var Zc=Hi?Hi.createHTML(De):De;if(BC===Dm)try{yt=new Ze().parseFromString(Zc,r0)}catch{}if(!yt||!yt.documentElement){yt=Mn.createDocument(BC,"template",null);try{yt.documentElement.innerHTML=LH?Oi:Zc}catch{}}var Da=yt.body||yt.documentElement;return De&&jt&&Da.insertBefore(qt.createTextNode(jt),Da.childNodes[0]||null),BC===Dm?ti.call(yt,o0?"html":"body")[0]:o0?yt.documentElement:Da},TK=function(De){return Yn.call(De.ownerDocument||De,De,Yr.SHOW_ELEMENT|Yr.SHOW_COMMENT|Yr.SHOW_TEXT,null,!1)},XAe=function(De){return De instanceof Ke&&(typeof De.nodeName!="string"||typeof De.textContent!="string"||typeof De.removeChild!="function"||!(De.attributes instanceof it)||typeof De.removeAttribute!="function"||typeof De.setAttribute!="function"||typeof De.namespaceURI!="string"||typeof De.insertBefore!="function"||typeof De.hasChildNodes!="function")},kS=function(De){return e(Uo)==="object"?De instanceof Uo:De&&e(De)==="object"&&typeof De.nodeType=="number"&&typeof De.nodeName=="string"},wm=function(De,yt,jt){Bo[De]&&D(Bo[De],function(ao){ao.call(be,yt,jt,MC)})},EK=function(De){var yt;if(wm("beforeSanitizeElements",De,null),XAe(De)||I(/[\u0080-\uFFFF]/,De.nodeName))return vm(De),!0;var jt=Bs(De.nodeName);if(wm("uponSanitizeElement",De,{tagName:jt,allowedTags:tr}),De.hasChildNodes()&&!kS(De.firstElementChild)&&(!kS(De.content)||!kS(De.content.firstElementChild))&&I(/<[/\w]/g,De.innerHTML)&&I(/<[/\w]/g,De.textContent)||jt==="select"&&I(/<template/i,De.innerHTML))return vm(De),!0;if(!tr[jt]||VS[jt]){if(!VS[jt]&&SK(jt)&&(Xr.tagNameCheck instanceof RegExp&&I(Xr.tagNameCheck,jt)||Xr.tagNameCheck instanceof Function&&Xr.tagNameCheck(jt)))return!1;if(BH&&!RC[jt]){var ao=ns(De)||De.parentNode,Zc=So(De)||De.childNodes;if(Zc&&ao)for(var Da=Zc.length,ia=Da-1;ia>=0;--ia)ao.insertBefore(En(Zc[ia],!0),so(De))}return vm(De),!0}return De instanceof Ao&&!qAe(De)||(jt==="noscript"||jt==="noembed")&&I(/<\/no(script|embed)/i,De.innerHTML)?(vm(De),!0):(IC&&De.nodeType===3&&(yt=De.textContent,yt=_(yt,kf," "),yt=_(yt,er," "),yt=_(yt,ba," "),De.textContent!==yt&&(R(be.removed,{element:De.cloneNode()}),De.textContent=yt)),wm("afterSanitizeElements",De,null),!1)},bK=function(De,yt,jt){if(dK&&(yt==="id"||yt==="name")&&(jt in qt||jt in jAe))return!1;if(!(PH&&!IH[yt]&&I(lh,yt))){if(!(uK&&I(V_,yt))){if(!qr[yt]||IH[yt]){if(!(SK(De)&&(Xr.tagNameCheck instanceof RegExp&&I(Xr.tagNameCheck,De)||Xr.tagNameCheck instanceof Function&&Xr.tagNameCheck(De))&&(Xr.attributeNameCheck instanceof RegExp&&I(Xr.attributeNameCheck,yt)||Xr.attributeNameCheck instanceof Function&&Xr.attributeNameCheck(yt))||yt==="is"&&Xr.allowCustomizedBuiltInElements&&(Xr.tagNameCheck instanceof RegExp&&I(Xr.tagNameCheck,jt)||Xr.tagNameCheck instanceof Function&&Xr.tagNameCheck(jt))))return!1}else if(!MH[yt]){if(!I(i0,_(jt,uh,""))){if(!((yt==="src"||yt==="xlink:href"||yt==="href")&&De!=="script"&&b(jt,"data:")===0&&pK[De])){if(!(fK&&!I(Sa,_(jt,uh,"")))){if(jt)return!1}}}}}}return!0},SK=function(De){return De.indexOf("-")>0},DK=function(De){var yt,jt,ao,Zc;wm("beforeSanitizeAttributes",De,null);var Da=De.attributes;if(Da){var ia={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:qr};for(Zc=Da.length;Zc--;){yt=Da[Zc];var t3=yt,Ms=t3.name,kH=t3.namespaceURI;if(jt=Ms==="value"?yt.value:v(yt.value),ao=Bs(Ms),ia.attrName=ao,ia.attrValue=jt,ia.keepAttr=!0,ia.forceKeepAttr=void 0,wm("uponSanitizeAttribute",De,ia),jt=ia.attrValue,!ia.forceKeepAttr&&(UH(Ms,De),!!ia.keepAttr)){if(I(/\/>/i,jt)){UH(Ms,De);continue}IC&&(jt=_(jt,kf," "),jt=_(jt,er," "),jt=_(jt,ba," "));var vK=Bs(De.nodeName);if(bK(vK,ao,jt)){if(hK&&(ao==="id"||ao==="name")&&(UH(Ms,De),jt=zAe+jt),Hi&&e(ft)==="object"&&typeof ft.getAttributeType=="function"&&!kH)switch(ft.getAttributeType(vK,ao)){case"TrustedHTML":jt=Hi.createHTML(jt);break;case"TrustedScriptURL":jt=Hi.createScriptURL(jt);break}try{kH?De.setAttributeNS(kH,Ms,jt):De.setAttribute(Ms,jt),w(be.removed)}catch{}}}}wm("afterSanitizeAttributes",De,null)}},KAe=function bn(De){var yt,jt=TK(De);for(wm("beforeSanitizeShadowDOM",De,null);yt=jt.nextNode();)wm("uponSanitizeShadowNode",yt,null),!EK(yt)&&(yt.content instanceof Kn&&bn(yt.content),DK(yt));wm("afterSanitizeShadowDOM",De,null)};return be.sanitize=function(bn){var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},yt,jt,ao,Zc,Da;if(LH=!bn,LH&&(bn="<!-->"),typeof bn!="string"&&!kS(bn)){if(typeof bn.toString!="function")throw B("toString is not a function");if(bn=bn.toString(),typeof bn!="string")throw B("dirty is not a string, aborting")}if(!be.isSupported){if(e(me.toStaticHTML)==="object"||typeof me.toStaticHTML=="function"){if(typeof bn=="string")return me.toStaticHTML(bn);if(kS(bn))return me.toStaticHTML(bn.outerHTML)}return bn}if(OH||FH(De),be.removed=[],typeof bn=="string"&&(US=!1),US){if(bn.nodeName){var ia=Bs(bn.nodeName);if(!tr[ia]||VS[ia])throw B("root node is forbidden and cannot be sanitized in-place")}}else if(bn instanceof Uo)yt=CK("<!---->"),jt=yt.ownerDocument.importNode(bn,!0),jt.nodeType===1&&jt.nodeName==="BODY"||jt.nodeName==="HTML"?yt=jt:yt.appendChild(jt);else{if(!PC&&!IC&&!o0&&bn.indexOf("<")===-1)return Hi&&J2?Hi.createHTML(bn):bn;if(yt=CK(bn),!yt)return PC?null:J2?Oi:""}yt&&RH&&vm(yt.firstChild);for(var t3=TK(US?bn:yt);ao=t3.nextNode();)ao.nodeType===3&&ao===Zc||EK(ao)||(ao.content instanceof Kn&&KAe(ao.content),DK(ao),Zc=ao);if(Zc=null,US)return bn;if(PC){if(Z2)for(Da=Zn.call(yt.ownerDocument);yt.firstChild;)Da.appendChild(yt.firstChild);else Da=yt;return qr.shadowroot&&(Da=hc.call(St,Da,!0)),Da}var Ms=o0?yt.outerHTML:yt.innerHTML;return o0&&tr["!doctype"]&&yt.ownerDocument&&yt.ownerDocument.doctype&&yt.ownerDocument.doctype.name&&I(Tn,yt.ownerDocument.doctype.name)&&(Ms="<!DOCTYPE "+yt.ownerDocument.doctype.name+`> +`+Ms),IC&&(Ms=_(Ms,kf," "),Ms=_(Ms,er," "),Ms=_(Ms,ba," ")),Hi&&J2?Hi.createHTML(Ms):Ms},be.setConfig=function(bn){FH(bn),OH=!0},be.clearConfig=function(){MC=null,OH=!1},be.isValidAttribute=function(bn,De,yt){MC||FH({});var jt=Bs(bn),ao=Bs(De);return bK(jt,ao,yt)},be.addHook=function(bn,De){typeof De=="function"&&(Bo[bn]=Bo[bn]||[],R(Bo[bn],De))},be.removeHook=function(bn){if(Bo[bn])return w(Bo[bn])},be.removeHooks=function(bn){Bo[bn]&&(Bo[bn]=[])},be.removeAllHooks=function(){Bo={}},be}var pe=Je();return pe})});var cre=Jc((omn,are)=>{"use strict";are.exports=Z4e;var KO=1e20;function Z4e(e,t){t||(t={});var n=t.cutoff==null?.25:t.cutoff,i=t.radius==null?8:t.radius,o=t.channel||0,r,s,a,c,l,f,d,p,g,m,A;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");r=t.width,s=t.height,c=e,t.stride?f=t.stride:f=Math.floor(e.length/r/s)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(p=e,d=p.getContext("2d"),r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(p=e.canvas,d=e,r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.ImageData&&e instanceof window.ImageData&&(g=e,r=e.width,s=e.height,c=g.data,f=4);if(a=Math.max(r,s),window.Uint8ClampedArray&&c instanceof window.Uint8ClampedArray||window.Uint8Array&&c instanceof window.Uint8Array)for(l=c,c=Array(r*s),m=0,A=Math.floor(l.length/f);m<A;m++)c[m]=l[m*f+o]/255;else if(f!==1)throw Error("Raw data can have only 1 value per pixel");var x=Array(r*s),C=Array(r*s),T=Array(a),E=Array(a),S=Array(a+1),D=Array(a);for(m=0,A=r*s;m<A;m++){var w=c[m];x[m]=w===1?0:w===0?KO:Math.pow(Math.max(0,.5-w),2),C[m]=w===1?KO:w===0?0:Math.pow(Math.max(0,w-.5),2)}rre(x,r,s,T,E,D,S),rre(C,r,s,T,E,D,S);var R=window.Float32Array?new Float32Array(r*s):new Array(r*s);for(m=0,A=r*s;m<A;m++)R[m]=Math.min(Math.max(1-((x[m]-C[m])/i+n),0),1);return R}function rre(e,t,n,i,o,r,s){for(var a=0;a<t;a++){for(var c=0;c<n;c++)i[c]=e[c*t+a];for(sre(i,o,r,s,n),c=0;c<n;c++)e[c*t+a]=o[c]}for(c=0;c<n;c++){for(a=0;a<t;a++)i[a]=e[c*t+a];for(sre(i,o,r,s,t),a=0;a<t;a++)e[c*t+a]=Math.sqrt(o[a])}}function sre(e,t,n,i,o){n[0]=0,i[0]=-KO,i[1]=+KO;for(var r=1,s=0;r<o;r++){for(var a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);a<=i[s];)s--,a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);s++,n[s]=r,i[s]=a,i[s+1]=+KO}for(r=0,s=0;r<o;r++){for(;i[s+1]<r;)s++;t[r]=(r-n[s])*(r-n[s])+e[n[s]]}}});var hre=Jc((Cmn,iU)=>{function aHe(){var e=0,t=1,n=2,i=3,o=4,r=5,s=6,a=7,c=8,l=9,f=10,d=11,p=12,g=13,m=14,A=15,x=16,C=17,T=0,E=1,S=2,D=3,w=4;function R(_,b){return 55296<=_.charCodeAt(b)&&_.charCodeAt(b)<=56319&&56320<=_.charCodeAt(b+1)&&_.charCodeAt(b+1)<=57343}function O(_,b){b===void 0&&(b=0);var v=_.charCodeAt(b);if(55296<=v&&v<=56319&&b<_.length-1){var I=v,B=_.charCodeAt(b+1);return 56320<=B&&B<=57343?(I-55296)*1024+(B-56320)+65536:I}if(56320<=v&&v<=57343&&b>=1){var I=_.charCodeAt(b-1),B=v;return 55296<=I&&I<=56319?(I-55296)*1024+(B-56320)+65536:B}return v}function L(_,b,v){var I=[_].concat(b).concat([v]),B=I[I.length-2],F=v,k=I.lastIndexOf(m);if(k>1&&I.slice(1,k).every(function(V){return V==i})&&[i,g,C].indexOf(_)==-1)return S;var U=I.lastIndexOf(o);if(U>0&&I.slice(1,U).every(function(V){return V==o})&&[p,o].indexOf(B)==-1)return I.filter(function(V){return V==o}).length%2==1?D:w;if(B==e&&F==t)return T;if(B==n||B==e||B==t)return F==m&&b.every(function(V){return V==i})?S:E;if(F==n||F==e||F==t)return E;if(B==s&&(F==s||F==a||F==l||F==f))return T;if((B==l||B==a)&&(F==a||F==c))return T;if((B==f||B==c)&&F==c)return T;if(F==i||F==A)return T;if(F==r)return T;if(B==p)return T;var G=I.indexOf(i)!=-1?I.lastIndexOf(i)-1:I.length-2;return[g,C].indexOf(I[G])!=-1&&I.slice(G+1,-1).every(function(V){return V==i})&&F==m||B==A&&[x,C].indexOf(F)!=-1?T:b.indexOf(o)!=-1?S:B==o&&F==o?T:E}this.nextBreak=function(_,b){if(b===void 0&&(b=0),b<0)return 0;if(b>=_.length-1)return _.length;for(var v=N(O(_,b)),I=[],B=b+1;B<_.length;B++)if(!R(_,B-1)){var F=N(O(_,B));if(L(v,I,F))return B;I.push(F)}return _.length},this.splitGraphemes=function(_){for(var b=[],v=0,I;(I=this.nextBreak(_,v))<_.length;)b.push(_.slice(v,I)),v=I;return v<_.length&&b.push(_.slice(v)),b},this.iterateGraphemes=function(_){var b=0,v={next:function(){var I,B;return(B=this.nextBreak(_,b))<_.length?(I=_.slice(b,B),b=B,{value:I,done:!1}):b<_.length?(I=_.slice(b),b=_.length,{value:I,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(v[Symbol.iterator]=function(){return v}),v},this.countGraphemes=function(_){for(var b=0,v=0,I;(I=this.nextBreak(_,v))<_.length;)v=I,b++;return v<_.length&&b++,b};function N(_){return 1536<=_&&_<=1541||_==1757||_==1807||_==2274||_==3406||_==69821||70082<=_&&_<=70083||_==72250||72326<=_&&_<=72329||_==73030?p:_==13?e:_==10?t:0<=_&&_<=9||11<=_&&_<=12||14<=_&&_<=31||127<=_&&_<=159||_==173||_==1564||_==6158||_==8203||8206<=_&&_<=8207||_==8232||_==8233||8234<=_&&_<=8238||8288<=_&&_<=8292||_==8293||8294<=_&&_<=8303||55296<=_&&_<=57343||_==65279||65520<=_&&_<=65528||65529<=_&&_<=65531||113824<=_&&_<=113827||119155<=_&&_<=119162||_==917504||_==917505||917506<=_&&_<=917535||917632<=_&&_<=917759||918e3<=_&&_<=921599?n:768<=_&&_<=879||1155<=_&&_<=1159||1160<=_&&_<=1161||1425<=_&&_<=1469||_==1471||1473<=_&&_<=1474||1476<=_&&_<=1477||_==1479||1552<=_&&_<=1562||1611<=_&&_<=1631||_==1648||1750<=_&&_<=1756||1759<=_&&_<=1764||1767<=_&&_<=1768||1770<=_&&_<=1773||_==1809||1840<=_&&_<=1866||1958<=_&&_<=1968||2027<=_&&_<=2035||2070<=_&&_<=2073||2075<=_&&_<=2083||2085<=_&&_<=2087||2089<=_&&_<=2093||2137<=_&&_<=2139||2260<=_&&_<=2273||2275<=_&&_<=2306||_==2362||_==2364||2369<=_&&_<=2376||_==2381||2385<=_&&_<=2391||2402<=_&&_<=2403||_==2433||_==2492||_==2494||2497<=_&&_<=2500||_==2509||_==2519||2530<=_&&_<=2531||2561<=_&&_<=2562||_==2620||2625<=_&&_<=2626||2631<=_&&_<=2632||2635<=_&&_<=2637||_==2641||2672<=_&&_<=2673||_==2677||2689<=_&&_<=2690||_==2748||2753<=_&&_<=2757||2759<=_&&_<=2760||_==2765||2786<=_&&_<=2787||2810<=_&&_<=2815||_==2817||_==2876||_==2878||_==2879||2881<=_&&_<=2884||_==2893||_==2902||_==2903||2914<=_&&_<=2915||_==2946||_==3006||_==3008||_==3021||_==3031||_==3072||3134<=_&&_<=3136||3142<=_&&_<=3144||3146<=_&&_<=3149||3157<=_&&_<=3158||3170<=_&&_<=3171||_==3201||_==3260||_==3263||_==3266||_==3270||3276<=_&&_<=3277||3285<=_&&_<=3286||3298<=_&&_<=3299||3328<=_&&_<=3329||3387<=_&&_<=3388||_==3390||3393<=_&&_<=3396||_==3405||_==3415||3426<=_&&_<=3427||_==3530||_==3535||3538<=_&&_<=3540||_==3542||_==3551||_==3633||3636<=_&&_<=3642||3655<=_&&_<=3662||_==3761||3764<=_&&_<=3769||3771<=_&&_<=3772||3784<=_&&_<=3789||3864<=_&&_<=3865||_==3893||_==3895||_==3897||3953<=_&&_<=3966||3968<=_&&_<=3972||3974<=_&&_<=3975||3981<=_&&_<=3991||3993<=_&&_<=4028||_==4038||4141<=_&&_<=4144||4146<=_&&_<=4151||4153<=_&&_<=4154||4157<=_&&_<=4158||4184<=_&&_<=4185||4190<=_&&_<=4192||4209<=_&&_<=4212||_==4226||4229<=_&&_<=4230||_==4237||_==4253||4957<=_&&_<=4959||5906<=_&&_<=5908||5938<=_&&_<=5940||5970<=_&&_<=5971||6002<=_&&_<=6003||6068<=_&&_<=6069||6071<=_&&_<=6077||_==6086||6089<=_&&_<=6099||_==6109||6155<=_&&_<=6157||6277<=_&&_<=6278||_==6313||6432<=_&&_<=6434||6439<=_&&_<=6440||_==6450||6457<=_&&_<=6459||6679<=_&&_<=6680||_==6683||_==6742||6744<=_&&_<=6750||_==6752||_==6754||6757<=_&&_<=6764||6771<=_&&_<=6780||_==6783||6832<=_&&_<=6845||_==6846||6912<=_&&_<=6915||_==6964||6966<=_&&_<=6970||_==6972||_==6978||7019<=_&&_<=7027||7040<=_&&_<=7041||7074<=_&&_<=7077||7080<=_&&_<=7081||7083<=_&&_<=7085||_==7142||7144<=_&&_<=7145||_==7149||7151<=_&&_<=7153||7212<=_&&_<=7219||7222<=_&&_<=7223||7376<=_&&_<=7378||7380<=_&&_<=7392||7394<=_&&_<=7400||_==7405||_==7412||7416<=_&&_<=7417||7616<=_&&_<=7673||7675<=_&&_<=7679||_==8204||8400<=_&&_<=8412||8413<=_&&_<=8416||_==8417||8418<=_&&_<=8420||8421<=_&&_<=8432||11503<=_&&_<=11505||_==11647||11744<=_&&_<=11775||12330<=_&&_<=12333||12334<=_&&_<=12335||12441<=_&&_<=12442||_==42607||42608<=_&&_<=42610||42612<=_&&_<=42621||42654<=_&&_<=42655||42736<=_&&_<=42737||_==43010||_==43014||_==43019||43045<=_&&_<=43046||43204<=_&&_<=43205||43232<=_&&_<=43249||43302<=_&&_<=43309||43335<=_&&_<=43345||43392<=_&&_<=43394||_==43443||43446<=_&&_<=43449||_==43452||_==43493||43561<=_&&_<=43566||43569<=_&&_<=43570||43573<=_&&_<=43574||_==43587||_==43596||_==43644||_==43696||43698<=_&&_<=43700||43703<=_&&_<=43704||43710<=_&&_<=43711||_==43713||43756<=_&&_<=43757||_==43766||_==44005||_==44008||_==44013||_==64286||65024<=_&&_<=65039||65056<=_&&_<=65071||65438<=_&&_<=65439||_==66045||_==66272||66422<=_&&_<=66426||68097<=_&&_<=68099||68101<=_&&_<=68102||68108<=_&&_<=68111||68152<=_&&_<=68154||_==68159||68325<=_&&_<=68326||_==69633||69688<=_&&_<=69702||69759<=_&&_<=69761||69811<=_&&_<=69814||69817<=_&&_<=69818||69888<=_&&_<=69890||69927<=_&&_<=69931||69933<=_&&_<=69940||_==70003||70016<=_&&_<=70017||70070<=_&&_<=70078||70090<=_&&_<=70092||70191<=_&&_<=70193||_==70196||70198<=_&&_<=70199||_==70206||_==70367||70371<=_&&_<=70378||70400<=_&&_<=70401||_==70460||_==70462||_==70464||_==70487||70502<=_&&_<=70508||70512<=_&&_<=70516||70712<=_&&_<=70719||70722<=_&&_<=70724||_==70726||_==70832||70835<=_&&_<=70840||_==70842||_==70845||70847<=_&&_<=70848||70850<=_&&_<=70851||_==71087||71090<=_&&_<=71093||71100<=_&&_<=71101||71103<=_&&_<=71104||71132<=_&&_<=71133||71219<=_&&_<=71226||_==71229||71231<=_&&_<=71232||_==71339||_==71341||71344<=_&&_<=71349||_==71351||71453<=_&&_<=71455||71458<=_&&_<=71461||71463<=_&&_<=71467||72193<=_&&_<=72198||72201<=_&&_<=72202||72243<=_&&_<=72248||72251<=_&&_<=72254||_==72263||72273<=_&&_<=72278||72281<=_&&_<=72283||72330<=_&&_<=72342||72344<=_&&_<=72345||72752<=_&&_<=72758||72760<=_&&_<=72765||_==72767||72850<=_&&_<=72871||72874<=_&&_<=72880||72882<=_&&_<=72883||72885<=_&&_<=72886||73009<=_&&_<=73014||_==73018||73020<=_&&_<=73021||73023<=_&&_<=73029||_==73031||92912<=_&&_<=92916||92976<=_&&_<=92982||94095<=_&&_<=94098||113821<=_&&_<=113822||_==119141||119143<=_&&_<=119145||119150<=_&&_<=119154||119163<=_&&_<=119170||119173<=_&&_<=119179||119210<=_&&_<=119213||119362<=_&&_<=119364||121344<=_&&_<=121398||121403<=_&&_<=121452||_==121461||_==121476||121499<=_&&_<=121503||121505<=_&&_<=121519||122880<=_&&_<=122886||122888<=_&&_<=122904||122907<=_&&_<=122913||122915<=_&&_<=122916||122918<=_&&_<=122922||125136<=_&&_<=125142||125252<=_&&_<=125258||917536<=_&&_<=917631||917760<=_&&_<=917999?i:127462<=_&&_<=127487?o:_==2307||_==2363||2366<=_&&_<=2368||2377<=_&&_<=2380||2382<=_&&_<=2383||2434<=_&&_<=2435||2495<=_&&_<=2496||2503<=_&&_<=2504||2507<=_&&_<=2508||_==2563||2622<=_&&_<=2624||_==2691||2750<=_&&_<=2752||_==2761||2763<=_&&_<=2764||2818<=_&&_<=2819||_==2880||2887<=_&&_<=2888||2891<=_&&_<=2892||_==3007||3009<=_&&_<=3010||3014<=_&&_<=3016||3018<=_&&_<=3020||3073<=_&&_<=3075||3137<=_&&_<=3140||3202<=_&&_<=3203||_==3262||3264<=_&&_<=3265||3267<=_&&_<=3268||3271<=_&&_<=3272||3274<=_&&_<=3275||3330<=_&&_<=3331||3391<=_&&_<=3392||3398<=_&&_<=3400||3402<=_&&_<=3404||3458<=_&&_<=3459||3536<=_&&_<=3537||3544<=_&&_<=3550||3570<=_&&_<=3571||_==3635||_==3763||3902<=_&&_<=3903||_==3967||_==4145||4155<=_&&_<=4156||4182<=_&&_<=4183||_==4228||_==6070||6078<=_&&_<=6085||6087<=_&&_<=6088||6435<=_&&_<=6438||6441<=_&&_<=6443||6448<=_&&_<=6449||6451<=_&&_<=6456||6681<=_&&_<=6682||_==6741||_==6743||6765<=_&&_<=6770||_==6916||_==6965||_==6971||6973<=_&&_<=6977||6979<=_&&_<=6980||_==7042||_==7073||7078<=_&&_<=7079||_==7082||_==7143||7146<=_&&_<=7148||_==7150||7154<=_&&_<=7155||7204<=_&&_<=7211||7220<=_&&_<=7221||_==7393||7410<=_&&_<=7411||_==7415||43043<=_&&_<=43044||_==43047||43136<=_&&_<=43137||43188<=_&&_<=43203||43346<=_&&_<=43347||_==43395||43444<=_&&_<=43445||43450<=_&&_<=43451||43453<=_&&_<=43456||43567<=_&&_<=43568||43571<=_&&_<=43572||_==43597||_==43755||43758<=_&&_<=43759||_==43765||44003<=_&&_<=44004||44006<=_&&_<=44007||44009<=_&&_<=44010||_==44012||_==69632||_==69634||_==69762||69808<=_&&_<=69810||69815<=_&&_<=69816||_==69932||_==70018||70067<=_&&_<=70069||70079<=_&&_<=70080||70188<=_&&_<=70190||70194<=_&&_<=70195||_==70197||70368<=_&&_<=70370||70402<=_&&_<=70403||_==70463||70465<=_&&_<=70468||70471<=_&&_<=70472||70475<=_&&_<=70477||70498<=_&&_<=70499||70709<=_&&_<=70711||70720<=_&&_<=70721||_==70725||70833<=_&&_<=70834||_==70841||70843<=_&&_<=70844||_==70846||_==70849||71088<=_&&_<=71089||71096<=_&&_<=71099||_==71102||71216<=_&&_<=71218||71227<=_&&_<=71228||_==71230||_==71340||71342<=_&&_<=71343||_==71350||71456<=_&&_<=71457||_==71462||72199<=_&&_<=72200||_==72249||72279<=_&&_<=72280||_==72343||_==72751||_==72766||_==72873||_==72881||_==72884||94033<=_&&_<=94078||_==119142||_==119149?r:4352<=_&&_<=4447||43360<=_&&_<=43388?s:4448<=_&&_<=4519||55216<=_&&_<=55238?a:4520<=_&&_<=4607||55243<=_&&_<=55291?c:_==44032||_==44060||_==44088||_==44116||_==44144||_==44172||_==44200||_==44228||_==44256||_==44284||_==44312||_==44340||_==44368||_==44396||_==44424||_==44452||_==44480||_==44508||_==44536||_==44564||_==44592||_==44620||_==44648||_==44676||_==44704||_==44732||_==44760||_==44788||_==44816||_==44844||_==44872||_==44900||_==44928||_==44956||_==44984||_==45012||_==45040||_==45068||_==45096||_==45124||_==45152||_==45180||_==45208||_==45236||_==45264||_==45292||_==45320||_==45348||_==45376||_==45404||_==45432||_==45460||_==45488||_==45516||_==45544||_==45572||_==45600||_==45628||_==45656||_==45684||_==45712||_==45740||_==45768||_==45796||_==45824||_==45852||_==45880||_==45908||_==45936||_==45964||_==45992||_==46020||_==46048||_==46076||_==46104||_==46132||_==46160||_==46188||_==46216||_==46244||_==46272||_==46300||_==46328||_==46356||_==46384||_==46412||_==46440||_==46468||_==46496||_==46524||_==46552||_==46580||_==46608||_==46636||_==46664||_==46692||_==46720||_==46748||_==46776||_==46804||_==46832||_==46860||_==46888||_==46916||_==46944||_==46972||_==47e3||_==47028||_==47056||_==47084||_==47112||_==47140||_==47168||_==47196||_==47224||_==47252||_==47280||_==47308||_==47336||_==47364||_==47392||_==47420||_==47448||_==47476||_==47504||_==47532||_==47560||_==47588||_==47616||_==47644||_==47672||_==47700||_==47728||_==47756||_==47784||_==47812||_==47840||_==47868||_==47896||_==47924||_==47952||_==47980||_==48008||_==48036||_==48064||_==48092||_==48120||_==48148||_==48176||_==48204||_==48232||_==48260||_==48288||_==48316||_==48344||_==48372||_==48400||_==48428||_==48456||_==48484||_==48512||_==48540||_==48568||_==48596||_==48624||_==48652||_==48680||_==48708||_==48736||_==48764||_==48792||_==48820||_==48848||_==48876||_==48904||_==48932||_==48960||_==48988||_==49016||_==49044||_==49072||_==49100||_==49128||_==49156||_==49184||_==49212||_==49240||_==49268||_==49296||_==49324||_==49352||_==49380||_==49408||_==49436||_==49464||_==49492||_==49520||_==49548||_==49576||_==49604||_==49632||_==49660||_==49688||_==49716||_==49744||_==49772||_==49800||_==49828||_==49856||_==49884||_==49912||_==49940||_==49968||_==49996||_==50024||_==50052||_==50080||_==50108||_==50136||_==50164||_==50192||_==50220||_==50248||_==50276||_==50304||_==50332||_==50360||_==50388||_==50416||_==50444||_==50472||_==50500||_==50528||_==50556||_==50584||_==50612||_==50640||_==50668||_==50696||_==50724||_==50752||_==50780||_==50808||_==50836||_==50864||_==50892||_==50920||_==50948||_==50976||_==51004||_==51032||_==51060||_==51088||_==51116||_==51144||_==51172||_==51200||_==51228||_==51256||_==51284||_==51312||_==51340||_==51368||_==51396||_==51424||_==51452||_==51480||_==51508||_==51536||_==51564||_==51592||_==51620||_==51648||_==51676||_==51704||_==51732||_==51760||_==51788||_==51816||_==51844||_==51872||_==51900||_==51928||_==51956||_==51984||_==52012||_==52040||_==52068||_==52096||_==52124||_==52152||_==52180||_==52208||_==52236||_==52264||_==52292||_==52320||_==52348||_==52376||_==52404||_==52432||_==52460||_==52488||_==52516||_==52544||_==52572||_==52600||_==52628||_==52656||_==52684||_==52712||_==52740||_==52768||_==52796||_==52824||_==52852||_==52880||_==52908||_==52936||_==52964||_==52992||_==53020||_==53048||_==53076||_==53104||_==53132||_==53160||_==53188||_==53216||_==53244||_==53272||_==53300||_==53328||_==53356||_==53384||_==53412||_==53440||_==53468||_==53496||_==53524||_==53552||_==53580||_==53608||_==53636||_==53664||_==53692||_==53720||_==53748||_==53776||_==53804||_==53832||_==53860||_==53888||_==53916||_==53944||_==53972||_==54e3||_==54028||_==54056||_==54084||_==54112||_==54140||_==54168||_==54196||_==54224||_==54252||_==54280||_==54308||_==54336||_==54364||_==54392||_==54420||_==54448||_==54476||_==54504||_==54532||_==54560||_==54588||_==54616||_==54644||_==54672||_==54700||_==54728||_==54756||_==54784||_==54812||_==54840||_==54868||_==54896||_==54924||_==54952||_==54980||_==55008||_==55036||_==55064||_==55092||_==55120||_==55148||_==55176?l:44033<=_&&_<=44059||44061<=_&&_<=44087||44089<=_&&_<=44115||44117<=_&&_<=44143||44145<=_&&_<=44171||44173<=_&&_<=44199||44201<=_&&_<=44227||44229<=_&&_<=44255||44257<=_&&_<=44283||44285<=_&&_<=44311||44313<=_&&_<=44339||44341<=_&&_<=44367||44369<=_&&_<=44395||44397<=_&&_<=44423||44425<=_&&_<=44451||44453<=_&&_<=44479||44481<=_&&_<=44507||44509<=_&&_<=44535||44537<=_&&_<=44563||44565<=_&&_<=44591||44593<=_&&_<=44619||44621<=_&&_<=44647||44649<=_&&_<=44675||44677<=_&&_<=44703||44705<=_&&_<=44731||44733<=_&&_<=44759||44761<=_&&_<=44787||44789<=_&&_<=44815||44817<=_&&_<=44843||44845<=_&&_<=44871||44873<=_&&_<=44899||44901<=_&&_<=44927||44929<=_&&_<=44955||44957<=_&&_<=44983||44985<=_&&_<=45011||45013<=_&&_<=45039||45041<=_&&_<=45067||45069<=_&&_<=45095||45097<=_&&_<=45123||45125<=_&&_<=45151||45153<=_&&_<=45179||45181<=_&&_<=45207||45209<=_&&_<=45235||45237<=_&&_<=45263||45265<=_&&_<=45291||45293<=_&&_<=45319||45321<=_&&_<=45347||45349<=_&&_<=45375||45377<=_&&_<=45403||45405<=_&&_<=45431||45433<=_&&_<=45459||45461<=_&&_<=45487||45489<=_&&_<=45515||45517<=_&&_<=45543||45545<=_&&_<=45571||45573<=_&&_<=45599||45601<=_&&_<=45627||45629<=_&&_<=45655||45657<=_&&_<=45683||45685<=_&&_<=45711||45713<=_&&_<=45739||45741<=_&&_<=45767||45769<=_&&_<=45795||45797<=_&&_<=45823||45825<=_&&_<=45851||45853<=_&&_<=45879||45881<=_&&_<=45907||45909<=_&&_<=45935||45937<=_&&_<=45963||45965<=_&&_<=45991||45993<=_&&_<=46019||46021<=_&&_<=46047||46049<=_&&_<=46075||46077<=_&&_<=46103||46105<=_&&_<=46131||46133<=_&&_<=46159||46161<=_&&_<=46187||46189<=_&&_<=46215||46217<=_&&_<=46243||46245<=_&&_<=46271||46273<=_&&_<=46299||46301<=_&&_<=46327||46329<=_&&_<=46355||46357<=_&&_<=46383||46385<=_&&_<=46411||46413<=_&&_<=46439||46441<=_&&_<=46467||46469<=_&&_<=46495||46497<=_&&_<=46523||46525<=_&&_<=46551||46553<=_&&_<=46579||46581<=_&&_<=46607||46609<=_&&_<=46635||46637<=_&&_<=46663||46665<=_&&_<=46691||46693<=_&&_<=46719||46721<=_&&_<=46747||46749<=_&&_<=46775||46777<=_&&_<=46803||46805<=_&&_<=46831||46833<=_&&_<=46859||46861<=_&&_<=46887||46889<=_&&_<=46915||46917<=_&&_<=46943||46945<=_&&_<=46971||46973<=_&&_<=46999||47001<=_&&_<=47027||47029<=_&&_<=47055||47057<=_&&_<=47083||47085<=_&&_<=47111||47113<=_&&_<=47139||47141<=_&&_<=47167||47169<=_&&_<=47195||47197<=_&&_<=47223||47225<=_&&_<=47251||47253<=_&&_<=47279||47281<=_&&_<=47307||47309<=_&&_<=47335||47337<=_&&_<=47363||47365<=_&&_<=47391||47393<=_&&_<=47419||47421<=_&&_<=47447||47449<=_&&_<=47475||47477<=_&&_<=47503||47505<=_&&_<=47531||47533<=_&&_<=47559||47561<=_&&_<=47587||47589<=_&&_<=47615||47617<=_&&_<=47643||47645<=_&&_<=47671||47673<=_&&_<=47699||47701<=_&&_<=47727||47729<=_&&_<=47755||47757<=_&&_<=47783||47785<=_&&_<=47811||47813<=_&&_<=47839||47841<=_&&_<=47867||47869<=_&&_<=47895||47897<=_&&_<=47923||47925<=_&&_<=47951||47953<=_&&_<=47979||47981<=_&&_<=48007||48009<=_&&_<=48035||48037<=_&&_<=48063||48065<=_&&_<=48091||48093<=_&&_<=48119||48121<=_&&_<=48147||48149<=_&&_<=48175||48177<=_&&_<=48203||48205<=_&&_<=48231||48233<=_&&_<=48259||48261<=_&&_<=48287||48289<=_&&_<=48315||48317<=_&&_<=48343||48345<=_&&_<=48371||48373<=_&&_<=48399||48401<=_&&_<=48427||48429<=_&&_<=48455||48457<=_&&_<=48483||48485<=_&&_<=48511||48513<=_&&_<=48539||48541<=_&&_<=48567||48569<=_&&_<=48595||48597<=_&&_<=48623||48625<=_&&_<=48651||48653<=_&&_<=48679||48681<=_&&_<=48707||48709<=_&&_<=48735||48737<=_&&_<=48763||48765<=_&&_<=48791||48793<=_&&_<=48819||48821<=_&&_<=48847||48849<=_&&_<=48875||48877<=_&&_<=48903||48905<=_&&_<=48931||48933<=_&&_<=48959||48961<=_&&_<=48987||48989<=_&&_<=49015||49017<=_&&_<=49043||49045<=_&&_<=49071||49073<=_&&_<=49099||49101<=_&&_<=49127||49129<=_&&_<=49155||49157<=_&&_<=49183||49185<=_&&_<=49211||49213<=_&&_<=49239||49241<=_&&_<=49267||49269<=_&&_<=49295||49297<=_&&_<=49323||49325<=_&&_<=49351||49353<=_&&_<=49379||49381<=_&&_<=49407||49409<=_&&_<=49435||49437<=_&&_<=49463||49465<=_&&_<=49491||49493<=_&&_<=49519||49521<=_&&_<=49547||49549<=_&&_<=49575||49577<=_&&_<=49603||49605<=_&&_<=49631||49633<=_&&_<=49659||49661<=_&&_<=49687||49689<=_&&_<=49715||49717<=_&&_<=49743||49745<=_&&_<=49771||49773<=_&&_<=49799||49801<=_&&_<=49827||49829<=_&&_<=49855||49857<=_&&_<=49883||49885<=_&&_<=49911||49913<=_&&_<=49939||49941<=_&&_<=49967||49969<=_&&_<=49995||49997<=_&&_<=50023||50025<=_&&_<=50051||50053<=_&&_<=50079||50081<=_&&_<=50107||50109<=_&&_<=50135||50137<=_&&_<=50163||50165<=_&&_<=50191||50193<=_&&_<=50219||50221<=_&&_<=50247||50249<=_&&_<=50275||50277<=_&&_<=50303||50305<=_&&_<=50331||50333<=_&&_<=50359||50361<=_&&_<=50387||50389<=_&&_<=50415||50417<=_&&_<=50443||50445<=_&&_<=50471||50473<=_&&_<=50499||50501<=_&&_<=50527||50529<=_&&_<=50555||50557<=_&&_<=50583||50585<=_&&_<=50611||50613<=_&&_<=50639||50641<=_&&_<=50667||50669<=_&&_<=50695||50697<=_&&_<=50723||50725<=_&&_<=50751||50753<=_&&_<=50779||50781<=_&&_<=50807||50809<=_&&_<=50835||50837<=_&&_<=50863||50865<=_&&_<=50891||50893<=_&&_<=50919||50921<=_&&_<=50947||50949<=_&&_<=50975||50977<=_&&_<=51003||51005<=_&&_<=51031||51033<=_&&_<=51059||51061<=_&&_<=51087||51089<=_&&_<=51115||51117<=_&&_<=51143||51145<=_&&_<=51171||51173<=_&&_<=51199||51201<=_&&_<=51227||51229<=_&&_<=51255||51257<=_&&_<=51283||51285<=_&&_<=51311||51313<=_&&_<=51339||51341<=_&&_<=51367||51369<=_&&_<=51395||51397<=_&&_<=51423||51425<=_&&_<=51451||51453<=_&&_<=51479||51481<=_&&_<=51507||51509<=_&&_<=51535||51537<=_&&_<=51563||51565<=_&&_<=51591||51593<=_&&_<=51619||51621<=_&&_<=51647||51649<=_&&_<=51675||51677<=_&&_<=51703||51705<=_&&_<=51731||51733<=_&&_<=51759||51761<=_&&_<=51787||51789<=_&&_<=51815||51817<=_&&_<=51843||51845<=_&&_<=51871||51873<=_&&_<=51899||51901<=_&&_<=51927||51929<=_&&_<=51955||51957<=_&&_<=51983||51985<=_&&_<=52011||52013<=_&&_<=52039||52041<=_&&_<=52067||52069<=_&&_<=52095||52097<=_&&_<=52123||52125<=_&&_<=52151||52153<=_&&_<=52179||52181<=_&&_<=52207||52209<=_&&_<=52235||52237<=_&&_<=52263||52265<=_&&_<=52291||52293<=_&&_<=52319||52321<=_&&_<=52347||52349<=_&&_<=52375||52377<=_&&_<=52403||52405<=_&&_<=52431||52433<=_&&_<=52459||52461<=_&&_<=52487||52489<=_&&_<=52515||52517<=_&&_<=52543||52545<=_&&_<=52571||52573<=_&&_<=52599||52601<=_&&_<=52627||52629<=_&&_<=52655||52657<=_&&_<=52683||52685<=_&&_<=52711||52713<=_&&_<=52739||52741<=_&&_<=52767||52769<=_&&_<=52795||52797<=_&&_<=52823||52825<=_&&_<=52851||52853<=_&&_<=52879||52881<=_&&_<=52907||52909<=_&&_<=52935||52937<=_&&_<=52963||52965<=_&&_<=52991||52993<=_&&_<=53019||53021<=_&&_<=53047||53049<=_&&_<=53075||53077<=_&&_<=53103||53105<=_&&_<=53131||53133<=_&&_<=53159||53161<=_&&_<=53187||53189<=_&&_<=53215||53217<=_&&_<=53243||53245<=_&&_<=53271||53273<=_&&_<=53299||53301<=_&&_<=53327||53329<=_&&_<=53355||53357<=_&&_<=53383||53385<=_&&_<=53411||53413<=_&&_<=53439||53441<=_&&_<=53467||53469<=_&&_<=53495||53497<=_&&_<=53523||53525<=_&&_<=53551||53553<=_&&_<=53579||53581<=_&&_<=53607||53609<=_&&_<=53635||53637<=_&&_<=53663||53665<=_&&_<=53691||53693<=_&&_<=53719||53721<=_&&_<=53747||53749<=_&&_<=53775||53777<=_&&_<=53803||53805<=_&&_<=53831||53833<=_&&_<=53859||53861<=_&&_<=53887||53889<=_&&_<=53915||53917<=_&&_<=53943||53945<=_&&_<=53971||53973<=_&&_<=53999||54001<=_&&_<=54027||54029<=_&&_<=54055||54057<=_&&_<=54083||54085<=_&&_<=54111||54113<=_&&_<=54139||54141<=_&&_<=54167||54169<=_&&_<=54195||54197<=_&&_<=54223||54225<=_&&_<=54251||54253<=_&&_<=54279||54281<=_&&_<=54307||54309<=_&&_<=54335||54337<=_&&_<=54363||54365<=_&&_<=54391||54393<=_&&_<=54419||54421<=_&&_<=54447||54449<=_&&_<=54475||54477<=_&&_<=54503||54505<=_&&_<=54531||54533<=_&&_<=54559||54561<=_&&_<=54587||54589<=_&&_<=54615||54617<=_&&_<=54643||54645<=_&&_<=54671||54673<=_&&_<=54699||54701<=_&&_<=54727||54729<=_&&_<=54755||54757<=_&&_<=54783||54785<=_&&_<=54811||54813<=_&&_<=54839||54841<=_&&_<=54867||54869<=_&&_<=54895||54897<=_&&_<=54923||54925<=_&&_<=54951||54953<=_&&_<=54979||54981<=_&&_<=55007||55009<=_&&_<=55035||55037<=_&&_<=55063||55065<=_&&_<=55091||55093<=_&&_<=55119||55121<=_&&_<=55147||55149<=_&&_<=55175||55177<=_&&_<=55203?f:_==9757||_==9977||9994<=_&&_<=9997||_==127877||127938<=_&&_<=127940||_==127943||127946<=_&&_<=127948||128066<=_&&_<=128067||128070<=_&&_<=128080||_==128110||128112<=_&&_<=128120||_==128124||128129<=_&&_<=128131||128133<=_&&_<=128135||_==128170||128372<=_&&_<=128373||_==128378||_==128400||128405<=_&&_<=128406||128581<=_&&_<=128583||128587<=_&&_<=128591||_==128675||128692<=_&&_<=128694||_==128704||_==128716||129304<=_&&_<=129308||129310<=_&&_<=129311||_==129318||129328<=_&&_<=129337||129341<=_&&_<=129342||129489<=_&&_<=129501?g:127995<=_&&_<=127999?m:_==8205?A:_==9792||_==9794||9877<=_&&_<=9878||_==9992||_==10084||_==127752||_==127806||_==127859||_==127891||_==127908||_==127912||_==127979||_==127981||_==128139||128187<=_&&_<=128188||_==128295||_==128300||_==128488||_==128640||_==128658?x:128102<=_&&_<=128105?C:d}return this}typeof iU<"u"&&iU.exports&&(iU.exports=aHe)});var nse=Jc((y0n,L6)=>{"use strict";L6.exports=hU;L6.exports.default=hU;function hU(e,t,n){n=n||2;var i=t&&t.length,o=i?t[0]*n:e.length,r=$re(e,0,o,n,!0),s=[];if(!r||r.next===r.prev)return s;var a,c,l,f,d,p,g;if(i&&(r=U8e(e,t,r,n)),e.length>80*n){a=l=e[0],c=f=e[1];for(var m=n;m<o;m+=n)d=e[m],p=e[m+1],d<a&&(a=d),p<c&&(c=p),d>l&&(l=d),p>f&&(f=p);g=Math.max(l-a,f-c),g=g!==0?32767/g:0}return DR(r,s,n,a,c,g,0),s}function $re(e,t,n,i,o){var r,s;if(o===M6(e,t,n,i)>0)for(r=t;r<n;r+=i)s=Qre(r,e[r],e[r+1],s);else for(r=n-i;r>=t;r-=i)s=Qre(r,e[r],e[r+1],s);return s&&mU(s,s.next)&&(wR(s),s=s.next),s}function zA(e,t){if(!e)return e;t||(t=e);var n=e,i;do if(i=!1,!n.steiner&&(mU(n,n.next)||Dr(n.prev,n,n.next)===0)){if(wR(n),n=t=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==t);return t}function DR(e,t,n,i,o,r,s){if(e){!s&&r&&W8e(e,i,o,r);for(var a=e,c,l;e.prev!==e.next;){if(c=e.prev,l=e.next,r?N8e(e,i,o,r):L8e(e)){t.push(c.i/n|0),t.push(e.i/n|0),t.push(l.i/n|0),wR(e),e=l.next,a=l.next;continue}if(e=l,e===a){s?s===1?(e=F8e(zA(e),t,n),DR(e,t,n,i,o,r,2)):s===2&&V8e(e,t,n,i,o,r):DR(zA(e),t,n,i,o,r,1);break}}}}function L8e(e){var t=e.prev,n=e,i=e.next;if(Dr(t,n,i)>=0)return!1;for(var o=t.x,r=n.x,s=i.x,a=t.y,c=n.y,l=i.y,f=o<r?o<s?o:s:r<s?r:s,d=a<c?a<l?a:l:c<l?c:l,p=o>r?o>s?o:s:r>s?r:s,g=a>c?a>l?a:l:c>l?c:l,m=i.next;m!==t;){if(m.x>=f&&m.x<=p&&m.y>=d&&m.y<=g&&oE(o,a,r,c,s,l,m.x,m.y)&&Dr(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function N8e(e,t,n,i){var o=e.prev,r=e,s=e.next;if(Dr(o,r,s)>=0)return!1;for(var a=o.x,c=r.x,l=s.x,f=o.y,d=r.y,p=s.y,g=a<c?a<l?a:l:c<l?c:l,m=f<d?f<p?f:p:d<p?d:p,A=a>c?a>l?a:l:c>l?c:l,x=f>d?f>p?f:p:d>p?d:p,C=R6(g,m,t,n,i),T=R6(A,x,t,n,i),E=e.prevZ,S=e.nextZ;E&&E.z>=C&&S&&S.z<=T;){if(E.x>=g&&E.x<=A&&E.y>=m&&E.y<=x&&E!==o&&E!==s&&oE(a,f,c,d,l,p,E.x,E.y)&&Dr(E.prev,E,E.next)>=0||(E=E.prevZ,S.x>=g&&S.x<=A&&S.y>=m&&S.y<=x&&S!==o&&S!==s&&oE(a,f,c,d,l,p,S.x,S.y)&&Dr(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;E&&E.z>=C;){if(E.x>=g&&E.x<=A&&E.y>=m&&E.y<=x&&E!==o&&E!==s&&oE(a,f,c,d,l,p,E.x,E.y)&&Dr(E.prev,E,E.next)>=0)return!1;E=E.prevZ}for(;S&&S.z<=T;){if(S.x>=g&&S.x<=A&&S.y>=m&&S.y<=x&&S!==o&&S!==s&&oE(a,f,c,d,l,p,S.x,S.y)&&Dr(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function F8e(e,t,n){var i=e;do{var o=i.prev,r=i.next.next;!mU(o,r)&&ese(o,i,i.next,r)&&vR(o,r)&&vR(r,o)&&(t.push(o.i/n|0),t.push(i.i/n|0),t.push(r.i/n|0),wR(i),wR(i.next),i=e=r),i=i.next}while(i!==e);return zA(i)}function V8e(e,t,n,i,o,r){var s=e;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&q8e(s,a)){var c=tse(s,a);s=zA(s,s.next),c=zA(c,c.next),DR(s,t,n,i,o,r,0),DR(c,t,n,i,o,r,0);return}a=a.next}s=s.next}while(s!==e)}function U8e(e,t,n,i){var o=[],r,s,a,c,l;for(r=0,s=t.length;r<s;r++)a=t[r]*i,c=r<s-1?t[r+1]*i:e.length,l=$re(e,a,c,i,!1),l===l.next&&(l.steiner=!0),o.push(Y8e(l));for(o.sort(k8e),r=0;r<o.length;r++)n=z8e(o[r],n);return n}function k8e(e,t){return e.x-t.x}function z8e(e,t){var n=H8e(e,t);if(!n)return t;var i=tse(n,e);return zA(i,i.next),zA(n,n.next)}function H8e(e,t){var n=t,i=e.x,o=e.y,r=-1/0,s;do{if(o<=n.y&&o>=n.next.y&&n.next.y!==n.y){var a=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=i&&a>r&&(r=a,s=n.x<n.next.x?n:n.next,a===i))return s}n=n.next}while(n!==t);if(!s)return null;var c=s,l=s.x,f=s.y,d=1/0,p;n=s;do i>=n.x&&n.x>=l&&i!==n.x&&oE(o<f?i:r,o,l,f,o<f?r:i,o,n.x,n.y)&&(p=Math.abs(o-n.y)/(i-n.x),vR(n,e)&&(p<d||p===d&&(n.x>s.x||n.x===s.x&&G8e(s,n)))&&(s=n,d=p)),n=n.next;while(n!==c);return s}function G8e(e,t){return Dr(e.prev,e,t.prev)<0&&Dr(t.next,e,e.next)<0}function W8e(e,t,n,i){var o=e;do o.z===0&&(o.z=R6(o.x,o.y,t,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,j8e(o)}function j8e(e){var t,n,i,o,r,s,a,c,l=1;do{for(n=e,e=null,r=null,s=0;n;){for(s++,i=n,a=0,t=0;t<l&&(a++,i=i.nextZ,!!i);t++);for(c=l;a>0||c>0&&i;)a!==0&&(c===0||!i||n.z<=i.z)?(o=n,n=n.nextZ,a--):(o=i,i=i.nextZ,c--),r?r.nextZ=o:e=o,o.prevZ=r,r=o;n=i}r.nextZ=null,l*=2}while(s>1);return e}function R6(e,t,n,i,o){return e=(e-n)*o|0,t=(t-i)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Y8e(e){var t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function oE(e,t,n,i,o,r,s,a){return(o-s)*(t-a)>=(e-s)*(r-a)&&(e-s)*(i-a)>=(n-s)*(t-a)&&(n-s)*(r-a)>=(o-s)*(i-a)}function q8e(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!X8e(e,t)&&(vR(e,t)&&vR(t,e)&&K8e(e,t)&&(Dr(e.prev,e,t.prev)||Dr(e,t.prev,t))||mU(e,t)&&Dr(e.prev,e,e.next)>0&&Dr(t.prev,t,t.next)>0)}function Dr(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function mU(e,t){return e.x===t.x&&e.y===t.y}function ese(e,t,n,i){var o=dU(Dr(e,t,n)),r=dU(Dr(e,t,i)),s=dU(Dr(n,i,e)),a=dU(Dr(n,i,t));return!!(o!==r&&s!==a||o===0&&fU(e,n,t)||r===0&&fU(e,i,t)||s===0&&fU(n,e,i)||a===0&&fU(n,t,i))}function fU(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function dU(e){return e>0?1:e<0?-1:0}function X8e(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&ese(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function vR(e,t){return Dr(e.prev,e,e.next)<0?Dr(e,t,e.next)>=0&&Dr(e,e.prev,t)>=0:Dr(e,t,e.prev)<0||Dr(e,e.next,t)<0}function K8e(e,t){var n=e,i=!1,o=(e.x+t.x)/2,r=(e.y+t.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&o<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==e);return i}function tse(e,t){var n=new B6(e.i,e.x,e.y),i=new B6(t.i,t.x,t.y),o=e.next,r=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,i.next=n,n.prev=i,r.next=i,i.prev=r,i}function Qre(e,t,n,i){var o=new B6(e,t,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function wR(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function B6(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}hU.deviation=function(e,t,n,i){var o=t&&t.length,r=o?t[0]*n:e.length,s=Math.abs(M6(e,0,r,n));if(o)for(var a=0,c=t.length;a<c;a++){var l=t[a]*n,f=a<c-1?t[a+1]*n:e.length;s-=Math.abs(M6(e,l,f,n))}var d=0;for(a=0;a<i.length;a+=3){var p=i[a]*n,g=i[a+1]*n,m=i[a+2]*n;d+=Math.abs((e[p]-e[m])*(e[g+1]-e[p+1])-(e[p]-e[g])*(e[m+1]-e[p+1]))}return s===0&&d===0?0:Math.abs((d-s)/s)};function M6(e,t,n,i){for(var o=0,r=t,s=n-i;r<n;r+=i)o+=(e[s]-e[r])*(e[r+1]+e[s+1]),s=r;return o}hU.flatten=function(e){for(var t=e[0][0].length,n={vertices:[],holes:[],dimensions:t},i=0,o=0;o<e.length;o++){for(var r=0;r<e[o].length;r++)for(var s=0;s<t;s++)n.vertices.push(e[o][r][s]);o>0&&(i+=e[o-1].length,n.holes.push(i))}return n}});var mue=Jc((dW,hW)=>{(function(e,t){typeof dW=="object"&&typeof hW<"u"?hW.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self).RBush=t()})(dW,function(){"use strict";function e(x,C,T,E,S){(function D(w,R,O,L,N){for(;L>O;){if(L-O>600){var _=L-O+1,b=R-O+1,v=Math.log(_),I=.5*Math.exp(2*v/3),B=.5*Math.sqrt(v*I*(_-I)/_)*(b-_/2<0?-1:1),F=Math.max(O,Math.floor(R-b*I/_+B)),k=Math.min(L,Math.floor(R+(_-b)*I/_+B));D(w,R,F,k,N)}var U=w[R],G=O,V=L;for(t(w,O,R),N(w[L],U)>0&&t(w,O,L);G<V;){for(t(w,G,V),G++,V--;N(w[G],U)<0;)G++;for(;N(w[V],U)>0;)V--}N(w[O],U)===0?t(w,O,V):t(w,++V,L),V<=R&&(O=V+1),R<=V&&(L=V-1)}})(x,C,T||0,E||x.length-1,S||n)}function t(x,C,T){var E=x[C];x[C]=x[T],x[T]=E}function n(x,C){return x<C?-1:x>C?1:0}var i=function(x){x===void 0&&(x=9),this._maxEntries=Math.max(4,x),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(x,C,T){if(!T)return C.indexOf(x);for(var E=0;E<C.length;E++)if(T(x,C[E]))return E;return-1}function r(x,C){s(x,0,x.children.length,C,x)}function s(x,C,T,E,S){S||(S=m(null)),S.minX=1/0,S.minY=1/0,S.maxX=-1/0,S.maxY=-1/0;for(var D=C;D<T;D++){var w=x.children[D];a(S,x.leaf?E(w):w)}return S}function a(x,C){return x.minX=Math.min(x.minX,C.minX),x.minY=Math.min(x.minY,C.minY),x.maxX=Math.max(x.maxX,C.maxX),x.maxY=Math.max(x.maxY,C.maxY),x}function c(x,C){return x.minX-C.minX}function l(x,C){return x.minY-C.minY}function f(x){return(x.maxX-x.minX)*(x.maxY-x.minY)}function d(x){return x.maxX-x.minX+(x.maxY-x.minY)}function p(x,C){return x.minX<=C.minX&&x.minY<=C.minY&&C.maxX<=x.maxX&&C.maxY<=x.maxY}function g(x,C){return C.minX<=x.maxX&&C.minY<=x.maxY&&C.maxX>=x.minX&&C.maxY>=x.minY}function m(x){return{children:x,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function A(x,C,T,E,S){for(var D=[C,T];D.length;)if(!((T=D.pop())-(C=D.pop())<=E)){var w=C+Math.ceil((T-C)/E/2)*E;e(x,w,C,T,S),D.push(C,w,w,T)}}return i.prototype.all=function(){return this._all(this.data,[])},i.prototype.search=function(x){var C=this.data,T=[];if(!g(x,C))return T;for(var E=this.toBBox,S=[];C;){for(var D=0;D<C.children.length;D++){var w=C.children[D],R=C.leaf?E(w):w;g(x,R)&&(C.leaf?T.push(w):p(x,R)?this._all(w,T):S.push(w))}C=S.pop()}return T},i.prototype.collides=function(x){var C=this.data;if(!g(x,C))return!1;for(var T=[];C;){for(var E=0;E<C.children.length;E++){var S=C.children[E],D=C.leaf?this.toBBox(S):S;if(g(x,D)){if(C.leaf||p(x,D))return!0;T.push(S)}}C=T.pop()}return!1},i.prototype.load=function(x){if(!x||!x.length)return this;if(x.length<this._minEntries){for(var C=0;C<x.length;C++)this.insert(x[C]);return this}var T=this._build(x.slice(),0,x.length-1,0);if(this.data.children.length)if(this.data.height===T.height)this._splitRoot(this.data,T);else{if(this.data.height<T.height){var E=this.data;this.data=T,T=E}this._insert(T,this.data.height-T.height-1,!0)}else this.data=T;return this},i.prototype.insert=function(x){return x&&this._insert(x,this.data.height-1),this},i.prototype.clear=function(){return this.data=m([]),this},i.prototype.remove=function(x,C){if(!x)return this;for(var T,E,S,D=this.data,w=this.toBBox(x),R=[],O=[];D||R.length;){if(D||(D=R.pop(),E=R[R.length-1],T=O.pop(),S=!0),D.leaf){var L=o(x,D.children,C);if(L!==-1)return D.children.splice(L,1),R.push(D),this._condense(R),this}S||D.leaf||!p(D,w)?E?(T++,D=E.children[T],S=!1):D=null:(R.push(D),O.push(T),T=0,E=D,D=D.children[0])}return this},i.prototype.toBBox=function(x){return x},i.prototype.compareMinX=function(x,C){return x.minX-C.minX},i.prototype.compareMinY=function(x,C){return x.minY-C.minY},i.prototype.toJSON=function(){return this.data},i.prototype.fromJSON=function(x){return this.data=x,this},i.prototype._all=function(x,C){for(var T=[];x;)x.leaf?C.push.apply(C,x.children):T.push.apply(T,x.children),x=T.pop();return C},i.prototype._build=function(x,C,T,E){var S,D=T-C+1,w=this._maxEntries;if(D<=w)return r(S=m(x.slice(C,T+1)),this.toBBox),S;E||(E=Math.ceil(Math.log(D)/Math.log(w)),w=Math.ceil(D/Math.pow(w,E-1))),(S=m([])).leaf=!1,S.height=E;var R=Math.ceil(D/w),O=R*Math.ceil(Math.sqrt(w));A(x,C,T,O,this.compareMinX);for(var L=C;L<=T;L+=O){var N=Math.min(L+O-1,T);A(x,L,N,R,this.compareMinY);for(var _=L;_<=N;_+=R){var b=Math.min(_+R-1,N);S.children.push(this._build(x,_,b,E-1))}}return r(S,this.toBBox),S},i.prototype._chooseSubtree=function(x,C,T,E){for(;E.push(C),!C.leaf&&E.length-1!==T;){for(var S=1/0,D=1/0,w=void 0,R=0;R<C.children.length;R++){var O=C.children[R],L=f(O),N=(_=x,b=O,(Math.max(b.maxX,_.maxX)-Math.min(b.minX,_.minX))*(Math.max(b.maxY,_.maxY)-Math.min(b.minY,_.minY))-L);N<D?(D=N,S=L<S?L:S,w=O):N===D&&L<S&&(S=L,w=O)}C=w||C.children[0]}var _,b;return C},i.prototype._insert=function(x,C,T){var E=T?x:this.toBBox(x),S=[],D=this._chooseSubtree(E,this.data,C,S);for(D.children.push(x),a(D,E);C>=0&&S[C].children.length>this._maxEntries;)this._split(S,C),C--;this._adjustParentBBoxes(E,S,C)},i.prototype._split=function(x,C){var T=x[C],E=T.children.length,S=this._minEntries;this._chooseSplitAxis(T,S,E);var D=this._chooseSplitIndex(T,S,E),w=m(T.children.splice(D,T.children.length-D));w.height=T.height,w.leaf=T.leaf,r(T,this.toBBox),r(w,this.toBBox),C?x[C-1].children.push(w):this._splitRoot(T,w)},i.prototype._splitRoot=function(x,C){this.data=m([x,C]),this.data.height=x.height+1,this.data.leaf=!1,r(this.data,this.toBBox)},i.prototype._chooseSplitIndex=function(x,C,T){for(var E,S,D,w,R,O,L,N=1/0,_=1/0,b=C;b<=T-C;b++){var v=s(x,0,b,this.toBBox),I=s(x,b,T,this.toBBox),B=(S=v,D=I,w=void 0,R=void 0,O=void 0,L=void 0,w=Math.max(S.minX,D.minX),R=Math.max(S.minY,D.minY),O=Math.min(S.maxX,D.maxX),L=Math.min(S.maxY,D.maxY),Math.max(0,O-w)*Math.max(0,L-R)),F=f(v)+f(I);B<N?(N=B,E=b,_=F<_?F:_):B===N&&F<_&&(_=F,E=b)}return E||T-C},i.prototype._chooseSplitAxis=function(x,C,T){var E=x.leaf?this.compareMinX:c,S=x.leaf?this.compareMinY:l;this._allDistMargin(x,C,T,E)<this._allDistMargin(x,C,T,S)&&x.children.sort(E)},i.prototype._allDistMargin=function(x,C,T,E){x.children.sort(E);for(var S=this.toBBox,D=s(x,0,C,S),w=s(x,T-C,T,S),R=d(D)+d(w),O=C;O<T-C;O++){var L=x.children[O];a(D,x.leaf?S(L):L),R+=d(D)}for(var N=T-C-1;N>=C;N--){var _=x.children[N];a(w,x.leaf?S(_):_),R+=d(w)}return R},i.prototype._adjustParentBBoxes=function(x,C,T){for(var E=T;E>=0;E--)a(C[E],x)},i.prototype._condense=function(x){for(var C=x.length-1,T=void 0;C>=0;C--)x[C].children.length===0?C>0?(T=x[C-1].children).splice(T.indexOf(x[C]),1):this.clear():r(x[C],this.toBBox)},i})});var bj=Jc((exports,module)=>{/*! + * protobuf.js v7.2.0 (c) 2016, daniel wirtz + * compiled tue, 24 jan 2023 20:12:01 utc + * licensed under the bsd-3-clause license + * see: https://github.com/dcodeio/protobuf.js for details + */(function(undefined){"use strict";(function(t,n,i){function o(s){var a=n[s];return a||t[s][0].call(a=n[s]={exports:{}},o,a,a.exports),a.exports}var r=o(i[0]);r.util.global.protobuf=r,typeof define=="function"&&define.amd&&define(["long"],function(s){return s&&s.isLong&&(r.util.Long=s,r.configure()),r}),typeof module=="object"&&module&&module.exports&&(module.exports=r)})({1:[function(e,t,n){"use strict";t.exports=i;function i(o,r){for(var s=new Array(arguments.length-1),a=0,c=2,l=!0;c<arguments.length;)s[a++]=arguments[c++];return new Promise(function(d,p){s[a]=function(m){if(l)if(l=!1,m)p(m);else{for(var A=new Array(arguments.length-1),x=0;x<A.length;)A[x++]=arguments[x];d.apply(null,A)}};try{o.apply(r||null,s)}catch(g){l&&(l=!1,p(g))}})}},{}],2:[function(e,t,n){"use strict";var i=n;i.length=function(l){var f=l.length;if(!f)return 0;for(var d=0;--f%4>1&&l.charAt(f)==="=";)++d;return Math.ceil(l.length*3)/4-d};for(var o=new Array(64),r=new Array(123),s=0;s<64;)r[o[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;i.encode=function(l,f,d){for(var p=null,g=[],m=0,A=0,x;f<d;){var C=l[f++];switch(A){case 0:g[m++]=o[C>>2],x=(C&3)<<4,A=1;break;case 1:g[m++]=o[x|C>>4],x=(C&15)<<2,A=2;break;case 2:g[m++]=o[x|C>>6],g[m++]=o[C&63],A=0;break}m>8191&&((p||(p=[])).push(String.fromCharCode.apply(String,g)),m=0)}return A&&(g[m++]=o[x],g[m++]=61,A===1&&(g[m++]=61)),p?(m&&p.push(String.fromCharCode.apply(String,g.slice(0,m))),p.join("")):String.fromCharCode.apply(String,g.slice(0,m))};var a="invalid encoding";i.decode=function(l,f,d){for(var p=d,g=0,m,A=0;A<l.length;){var x=l.charCodeAt(A++);if(x===61&&g>1)break;if((x=r[x])===undefined)throw Error(a);switch(g){case 0:m=x,g=1;break;case 1:f[d++]=m<<2|(x&48)>>4,m=x,g=2;break;case 2:f[d++]=(m&15)<<4|(x&60)>>2,m=x,g=3;break;case 3:f[d++]=(m&3)<<6|x,g=0;break}}if(g===1)throw Error(a);return d-p},i.test=function(l){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(l)}},{}],3:[function(e,t,n){"use strict";t.exports=i;function i(){this._listeners={}}i.prototype.on=function(r,s,a){return(this._listeners[r]||(this._listeners[r]=[])).push({fn:s,ctx:a||this}),this},i.prototype.off=function(r,s){if(r===undefined)this._listeners={};else if(s===undefined)this._listeners[r]=[];else for(var a=this._listeners[r],c=0;c<a.length;)a[c].fn===s?a.splice(c,1):++c;return this},i.prototype.emit=function(r){var s=this._listeners[r];if(s){for(var a=[],c=1;c<arguments.length;)a.push(arguments[c++]);for(c=0;c<s.length;)s[c].fn.apply(s[c++].ctx,a)}return this}},{}],4:[function(e,t,n){"use strict";t.exports=i(i);function i(c){return typeof Float32Array<"u"?function(){var l=new Float32Array([-0]),f=new Uint8Array(l.buffer),d=f[3]===128;function p(x,C,T){l[0]=x,C[T]=f[0],C[T+1]=f[1],C[T+2]=f[2],C[T+3]=f[3]}function g(x,C,T){l[0]=x,C[T]=f[3],C[T+1]=f[2],C[T+2]=f[1],C[T+3]=f[0]}c.writeFloatLE=d?p:g,c.writeFloatBE=d?g:p;function m(x,C){return f[0]=x[C],f[1]=x[C+1],f[2]=x[C+2],f[3]=x[C+3],l[0]}function A(x,C){return f[3]=x[C],f[2]=x[C+1],f[1]=x[C+2],f[0]=x[C+3],l[0]}c.readFloatLE=d?m:A,c.readFloatBE=d?A:m}():function(){function l(d,p,g,m){var A=p<0?1:0;if(A&&(p=-p),p===0)d(1/p>0?0:2147483648,g,m);else if(isNaN(p))d(2143289344,g,m);else if(p>34028234663852886e22)d((A<<31|2139095040)>>>0,g,m);else if(p<11754943508222875e-54)d((A<<31|Math.round(p/1401298464324817e-60))>>>0,g,m);else{var x=Math.floor(Math.log(p)/Math.LN2),C=Math.round(p*Math.pow(2,-x)*8388608)&8388607;d((A<<31|x+127<<23|C)>>>0,g,m)}}c.writeFloatLE=l.bind(null,o),c.writeFloatBE=l.bind(null,r);function f(d,p,g){var m=d(p,g),A=(m>>31)*2+1,x=m>>>23&255,C=m&8388607;return x===255?C?NaN:A*(1/0):x===0?A*1401298464324817e-60*C:A*Math.pow(2,x-150)*(C+8388608)}c.readFloatLE=f.bind(null,s),c.readFloatBE=f.bind(null,a)}(),typeof Float64Array<"u"?function(){var l=new Float64Array([-0]),f=new Uint8Array(l.buffer),d=f[7]===128;function p(x,C,T){l[0]=x,C[T]=f[0],C[T+1]=f[1],C[T+2]=f[2],C[T+3]=f[3],C[T+4]=f[4],C[T+5]=f[5],C[T+6]=f[6],C[T+7]=f[7]}function g(x,C,T){l[0]=x,C[T]=f[7],C[T+1]=f[6],C[T+2]=f[5],C[T+3]=f[4],C[T+4]=f[3],C[T+5]=f[2],C[T+6]=f[1],C[T+7]=f[0]}c.writeDoubleLE=d?p:g,c.writeDoubleBE=d?g:p;function m(x,C){return f[0]=x[C],f[1]=x[C+1],f[2]=x[C+2],f[3]=x[C+3],f[4]=x[C+4],f[5]=x[C+5],f[6]=x[C+6],f[7]=x[C+7],l[0]}function A(x,C){return f[7]=x[C],f[6]=x[C+1],f[5]=x[C+2],f[4]=x[C+3],f[3]=x[C+4],f[2]=x[C+5],f[1]=x[C+6],f[0]=x[C+7],l[0]}c.readDoubleLE=d?m:A,c.readDoubleBE=d?A:m}():function(){function l(d,p,g,m,A,x){var C=m<0?1:0;if(C&&(m=-m),m===0)d(0,A,x+p),d(1/m>0?0:2147483648,A,x+g);else if(isNaN(m))d(0,A,x+p),d(2146959360,A,x+g);else if(m>17976931348623157e292)d(0,A,x+p),d((C<<31|2146435072)>>>0,A,x+g);else{var T;if(m<22250738585072014e-324)T=m/5e-324,d(T>>>0,A,x+p),d((C<<31|T/4294967296)>>>0,A,x+g);else{var E=Math.floor(Math.log(m)/Math.LN2);E===1024&&(E=1023),T=m*Math.pow(2,-E),d(T*4503599627370496>>>0,A,x+p),d((C<<31|E+1023<<20|T*1048576&1048575)>>>0,A,x+g)}}}c.writeDoubleLE=l.bind(null,o,0,4),c.writeDoubleBE=l.bind(null,r,4,0);function f(d,p,g,m,A){var x=d(m,A+p),C=d(m,A+g),T=(C>>31)*2+1,E=C>>>20&2047,S=4294967296*(C&1048575)+x;return E===2047?S?NaN:T*(1/0):E===0?T*5e-324*S:T*Math.pow(2,E-1075)*(S+4503599627370496)}c.readDoubleLE=f.bind(null,s,0,4),c.readDoubleBE=f.bind(null,a,4,0)}(),c}function o(c,l,f){l[f]=c&255,l[f+1]=c>>>8&255,l[f+2]=c>>>16&255,l[f+3]=c>>>24}function r(c,l,f){l[f]=c>>>24,l[f+1]=c>>>16&255,l[f+2]=c>>>8&255,l[f+3]=c&255}function s(c,l){return(c[l]|c[l+1]<<8|c[l+2]<<16|c[l+3]<<24)>>>0}function a(c,l){return(c[l]<<24|c[l+1]<<16|c[l+2]<<8|c[l+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}},{}],6:[function(e,t,n){"use strict";t.exports=i;function i(o,r,s){var a=s||8192,c=a>>>1,l=null,f=a;return function(p){if(p<1||p>c)return o(p);f+p>a&&(l=o(a),f=0);var g=r.call(l,f,f+=p);return f&7&&(f=(f|7)+1),g}}},{}],7:[function(e,t,n){"use strict";var i=n;i.length=function(r){for(var s=0,a=0,c=0;c<r.length;++c)a=r.charCodeAt(c),a<128?s+=1:a<2048?s+=2:(a&64512)===55296&&(r.charCodeAt(c+1)&64512)===56320?(++c,s+=4):s+=3;return s},i.read=function(r,s,a){var c=a-s;if(c<1)return"";for(var l=null,f=[],d=0,p;s<a;)p=r[s++],p<128?f[d++]=p:p>191&&p<224?f[d++]=(p&31)<<6|r[s++]&63:p>239&&p<365?(p=((p&7)<<18|(r[s++]&63)<<12|(r[s++]&63)<<6|r[s++]&63)-65536,f[d++]=55296+(p>>10),f[d++]=56320+(p&1023)):f[d++]=(p&15)<<12|(r[s++]&63)<<6|r[s++]&63,d>8191&&((l||(l=[])).push(String.fromCharCode.apply(String,f)),d=0);return l?(d&&l.push(String.fromCharCode.apply(String,f.slice(0,d))),l.join("")):String.fromCharCode.apply(String,f.slice(0,d))},i.write=function(r,s,a){for(var c=a,l,f,d=0;d<r.length;++d)l=r.charCodeAt(d),l<128?s[a++]=l:l<2048?(s[a++]=l>>6|192,s[a++]=l&63|128):(l&64512)===55296&&((f=r.charCodeAt(d+1))&64512)===56320?(l=65536+((l&1023)<<10)+(f&1023),++d,s[a++]=l>>18|240,s[a++]=l>>12&63|128,s[a++]=l>>6&63|128,s[a++]=l&63|128):(s[a++]=l>>12|224,s[a++]=l>>6&63|128,s[a++]=l&63|128);return a-c}},{}],8:[function(e,t,n){"use strict";var i=n;i.build="minimal",i.Writer=e(16),i.BufferWriter=e(17),i.Reader=e(9),i.BufferReader=e(10),i.util=e(15),i.rpc=e(12),i.roots=e(11),i.configure=o;function o(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}o()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(e,t,n){"use strict";t.exports=c;var i=e(15),o,r=i.LongBits,s=i.utf8;function a(m,A){return RangeError("index out of range: "+m.pos+" + "+(A||1)+" > "+m.len)}function c(m){this.buf=m,this.pos=0,this.len=m.length}var l=typeof Uint8Array<"u"?function(A){if(A instanceof Uint8Array||Array.isArray(A))return new c(A);throw Error("illegal buffer")}:function(A){if(Array.isArray(A))return new c(A);throw Error("illegal buffer")},f=function(){return i.Buffer?function(x){return(c.create=function(T){return i.Buffer.isBuffer(T)?new o(T):l(T)})(x)}:l};c.create=f(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var A=4294967295;return function(){if(A=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(A=(A|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(A=(A|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(A=(A|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(A=(A|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return A;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return A}}(),c.prototype.int32=function(){return this.uint32()|0},c.prototype.sint32=function(){var A=this.uint32();return A>>>1^-(A&1)|0};function d(){var m=new r(0,0),A=0;if(this.len-this.pos>4){for(;A<4;++A)if(m.lo=(m.lo|(this.buf[this.pos]&127)<<A*7)>>>0,this.buf[this.pos++]<128)return m;if(m.lo=(m.lo|(this.buf[this.pos]&127)<<28)>>>0,m.hi=(m.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return m;A=0}else{for(;A<3;++A){if(this.pos>=this.len)throw a(this);if(m.lo=(m.lo|(this.buf[this.pos]&127)<<A*7)>>>0,this.buf[this.pos++]<128)return m}return m.lo=(m.lo|(this.buf[this.pos++]&127)<<A*7)>>>0,m}if(this.len-this.pos>4){for(;A<5;++A)if(m.hi=(m.hi|(this.buf[this.pos]&127)<<A*7+3)>>>0,this.buf[this.pos++]<128)return m}else for(;A<5;++A){if(this.pos>=this.len)throw a(this);if(m.hi=(m.hi|(this.buf[this.pos]&127)<<A*7+3)>>>0,this.buf[this.pos++]<128)return m}throw Error("invalid varint encoding")}c.prototype.bool=function(){return this.uint32()!==0};function p(m,A){return(m[A-4]|m[A-3]<<8|m[A-2]<<16|m[A-1]<<24)>>>0}c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)|0};function g(){if(this.pos+8>this.len)throw a(this,8);return new r(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var A=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,A},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var A=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,A},c.prototype.bytes=function(){var A=this.uint32(),x=this.pos,C=this.pos+A;if(C>this.len)throw a(this,A);return this.pos+=A,Array.isArray(this.buf)?this.buf.slice(x,C):x===C?new this.buf.constructor(0):this._slice.call(this.buf,x,C)},c.prototype.string=function(){var A=this.bytes();return s.read(A,0,A.length)},c.prototype.skip=function(A){if(typeof A=="number"){if(this.pos+A>this.len)throw a(this,A);this.pos+=A}else do if(this.pos>=this.len)throw a(this);while(this.buf[this.pos++]&128);return this},c.prototype.skipType=function(m){switch(m){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(m=this.uint32()&7)!==4;)this.skipType(m);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+m+" at offset "+this.pos)}return this},c._configure=function(m){o=m,c.create=f(),o._configure();var A=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return d.call(this)[A](!1)},uint64:function(){return d.call(this)[A](!0)},sint64:function(){return d.call(this).zzDecode()[A](!1)},fixed64:function(){return g.call(this)[A](!0)},sfixed64:function(){return g.call(this)[A](!1)}})}},{15:15}],10:[function(e,t,n){"use strict";t.exports=r;var i=e(9);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(s){i.call(this,s)}r._configure=function(){o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice)},r.prototype.string=function(){var a=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+a,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+a,this.len))},r._configure()},{15:15,9:9}],11:[function(e,t,n){"use strict";t.exports={}},{}],12:[function(e,t,n){"use strict";var i=n;i.Service=e(13)},{13:13}],13:[function(e,t,n){"use strict";t.exports=o;var i=e(15);(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o;function o(r,s,a){if(typeof r!="function")throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=r,this.requestDelimited=Boolean(s),this.responseDelimited=Boolean(a)}o.prototype.rpcCall=function r(s,a,c,l,f){if(!l)throw TypeError("request must be specified");var d=this;if(!f)return i.asPromise(r,d,s,a,c,l);if(!d.rpcImpl)return setTimeout(function(){f(Error("already ended"))},0),undefined;try{return d.rpcImpl(s,a[d.requestDelimited?"encodeDelimited":"encode"](l).finish(),function(g,m){if(g)return d.emit("error",g,s),f(g);if(m===null)return d.end(!0),undefined;if(!(m instanceof c))try{m=c[d.responseDelimited?"decodeDelimited":"decode"](m)}catch(A){return d.emit("error",A,s),f(A)}return d.emit("data",m,s),f(null,m)})}catch(p){return d.emit("error",p,s),setTimeout(function(){f(p)},0),undefined}},o.prototype.end=function(s){return this.rpcImpl&&(s||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(e,t,n){"use strict";t.exports=o;var i=e(15);function o(c,l){this.lo=c>>>0,this.hi=l>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(l){if(l===0)return r;var f=l<0;f&&(l=-l);var d=l>>>0,p=(l-d)/4294967296>>>0;return f&&(p=~p>>>0,d=~d>>>0,++d>4294967295&&(d=0,++p>4294967295&&(p=0))),new o(d,p)},o.from=function(l){if(typeof l=="number")return o.fromNumber(l);if(i.isString(l))if(i.Long)l=i.Long.fromString(l);else return o.fromNumber(parseInt(l,10));return l.low||l.high?new o(l.low>>>0,l.high>>>0):r},o.prototype.toNumber=function(l){if(!l&&this.hi>>>31){var f=~this.lo+1>>>0,d=~this.hi>>>0;return f||(d=d+1>>>0),-(f+d*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(l){return i.Long?new i.Long(this.lo|0,this.hi|0,Boolean(l)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(l)}};var a=String.prototype.charCodeAt;o.fromHash=function(l){return l===s?r:new o((a.call(l,0)|a.call(l,1)<<8|a.call(l,2)<<16|a.call(l,3)<<24)>>>0,(a.call(l,4)|a.call(l,5)<<8|a.call(l,6)<<16|a.call(l,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var l=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^l)>>>0,this.lo=(this.lo<<1^l)>>>0,this},o.prototype.zzDecode=function(){var l=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^l)>>>0,this.hi=(this.hi>>>1^l)>>>0,this},o.prototype.length=function(){var l=this.lo,f=(this.lo>>>28|this.hi<<4)>>>0,d=this.hi>>>24;return d===0?f===0?l<16384?l<128?1:2:l<2097152?3:4:f<16384?f<128?5:6:f<2097152?7:8:d<128?9:10}},{15:15}],15:[function(e,t,n){"use strict";var i=n;i.asPromise=e(1),i.base64=e(2),i.EventEmitter=e(3),i.float=e(4),i.inquire=e(5),i.utf8=e(7),i.pool=e(6),i.LongBits=e(14),i.isNode=Boolean(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),i.global=i.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,i.emptyArray=Object.freeze?Object.freeze([]):[],i.emptyObject=Object.freeze?Object.freeze({}):{},i.isInteger=Number.isInteger||function(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a},i.isString=function(a){return typeof a=="string"||a instanceof String},i.isObject=function(a){return a&&typeof a=="object"},i.isset=i.isSet=function(a,c){var l=a[c];return l!=null&&a.hasOwnProperty(c)?typeof l!="object"||(Array.isArray(l)?l.length:Object.keys(l).length)>0:!1},i.Buffer=function(){try{var s=i.inquire("buffer").Buffer;return s.prototype.utf8Write?s:null}catch{return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(a){return typeof a=="number"?i.Buffer?i._Buffer_allocUnsafe(a):new i.Array(a):i.Buffer?i._Buffer_from(a):typeof Uint8Array>"u"?a:new Uint8Array(a)},i.Array=typeof Uint8Array<"u"?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(a){return a?i.LongBits.from(a).toHash():i.LongBits.zeroHash},i.longFromHash=function(a,c){var l=i.LongBits.fromHash(a);return i.Long?i.Long.fromBits(l.lo,l.hi,c):l.toNumber(Boolean(c))};function o(s,a,c){for(var l=Object.keys(a),f=0;f<l.length;++f)(s[l[f]]===undefined||!c)&&(s[l[f]]=a[l[f]]);return s}i.merge=o,i.lcFirst=function(a){return a.charAt(0).toLowerCase()+a.substring(1)};function r(s){function a(c,l){if(!(this instanceof a))return new a(c,l);Object.defineProperty(this,"message",{get:function(){return c}}),Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,"stack",{value:new Error().stack||""}),l&&o(this,l)}return a.prototype=Object.create(Error.prototype,{constructor:{value:a,writable:!0,enumerable:!1,configurable:!0},name:{get(){return s},set:undefined,enumerable:!1,configurable:!0},toString:{value(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),a}i.newError=r,i.ProtocolError=r("ProtocolError"),i.oneOfGetter=function(a){for(var c={},l=0;l<a.length;++l)c[a[l]]=1;return function(){for(var f=Object.keys(this),d=f.length-1;d>-1;--d)if(c[f[d]]===1&&this[f[d]]!==undefined&&this[f[d]]!==null)return f[d]}},i.oneOfSetter=function(a){return function(c){for(var l=0;l<a.length;++l)a[l]!==c&&delete this[a[l]]}},i.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},i._configure=function(){var s=i.Buffer;if(!s){i._Buffer_from=i._Buffer_allocUnsafe=null;return}i._Buffer_from=s.from!==Uint8Array.from&&s.from||function(c,l){return new s(c,l)},i._Buffer_allocUnsafe=s.allocUnsafe||function(c){return new s(c)}}},{1:1,14:14,2:2,3:3,4:4,5:5,6:6,7:7}],16:[function(e,t,n){"use strict";t.exports=d;var i=e(15),o,r=i.LongBits,s=i.base64,a=i.utf8;function c(E,S,D){this.fn=E,this.len=S,this.next=undefined,this.val=D}function l(){}function f(E){this.head=E.head,this.tail=E.tail,this.len=E.len,this.next=E.states}function d(){this.len=0,this.head=new c(l,0,0),this.tail=this.head,this.states=null}var p=function(){return i.Buffer?function(){return(d.create=function(){return new o})()}:function(){return new d}};d.create=p(),d.alloc=function(S){return new i.Array(S)},i.Array!==Array&&(d.alloc=i.pool(d.alloc,i.Array.prototype.subarray)),d.prototype._push=function(S,D,w){return this.tail=this.tail.next=new c(S,D,w),this.len+=D,this};function g(E,S,D){S[D]=E&255}function m(E,S,D){for(;E>127;)S[D++]=E&127|128,E>>>=7;S[D]=E}function A(E,S){this.len=E,this.next=undefined,this.val=S}A.prototype=Object.create(c.prototype),A.prototype.fn=m,d.prototype.uint32=function(S){return this.len+=(this.tail=this.tail.next=new A((S=S>>>0)<128?1:S<16384?2:S<2097152?3:S<268435456?4:5,S)).len,this},d.prototype.int32=function(S){return S<0?this._push(x,10,r.fromNumber(S)):this.uint32(S)},d.prototype.sint32=function(S){return this.uint32((S<<1^S>>31)>>>0)};function x(E,S,D){for(;E.hi;)S[D++]=E.lo&127|128,E.lo=(E.lo>>>7|E.hi<<25)>>>0,E.hi>>>=7;for(;E.lo>127;)S[D++]=E.lo&127|128,E.lo=E.lo>>>7;S[D++]=E.lo}d.prototype.uint64=function(S){var D=r.from(S);return this._push(x,D.length(),D)},d.prototype.int64=d.prototype.uint64,d.prototype.sint64=function(S){var D=r.from(S).zzEncode();return this._push(x,D.length(),D)},d.prototype.bool=function(S){return this._push(g,1,S?1:0)};function C(E,S,D){S[D]=E&255,S[D+1]=E>>>8&255,S[D+2]=E>>>16&255,S[D+3]=E>>>24}d.prototype.fixed32=function(S){return this._push(C,4,S>>>0)},d.prototype.sfixed32=d.prototype.fixed32,d.prototype.fixed64=function(S){var D=r.from(S);return this._push(C,4,D.lo)._push(C,4,D.hi)},d.prototype.sfixed64=d.prototype.fixed64,d.prototype.float=function(S){return this._push(i.float.writeFloatLE,4,S)},d.prototype.double=function(S){return this._push(i.float.writeDoubleLE,8,S)};var T=i.Array.prototype.set?function(S,D,w){D.set(S,w)}:function(S,D,w){for(var R=0;R<S.length;++R)D[w+R]=S[R]};d.prototype.bytes=function(S){var D=S.length>>>0;if(!D)return this._push(g,1,0);if(i.isString(S)){var w=d.alloc(D=s.length(S));s.decode(S,w,0),S=w}return this.uint32(D)._push(T,D,S)},d.prototype.string=function(S){var D=a.length(S);return D?this.uint32(D)._push(a.write,D,S):this._push(g,1,0)},d.prototype.fork=function(){return this.states=new f(this),this.head=this.tail=new c(l,0,0),this.len=0,this},d.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(l,0,0),this.len=0),this},d.prototype.ldelim=function(){var S=this.head,D=this.tail,w=this.len;return this.reset().uint32(w),w&&(this.tail.next=S.next,this.tail=D,this.len+=w),this},d.prototype.finish=function(){for(var S=this.head.next,D=this.constructor.alloc(this.len),w=0;S;)S.fn(S.val,D,w),w+=S.len,S=S.next;return D},d._configure=function(E){o=E,d.create=p(),o._configure()}},{15:15}],17:[function(e,t,n){"use strict";t.exports=r;var i=e(16);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(){i.call(this)}r._configure=function(){r.alloc=o._Buffer_allocUnsafe,r.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&o.Buffer.prototype.set.name==="set"?function(c,l,f){l.set(c,f)}:function(c,l,f){if(c.copy)c.copy(l,f,0,c.length);else for(var d=0;d<c.length;)l[f++]=c[d++]}},r.prototype.bytes=function(c){o.isString(c)&&(c=o._Buffer_from(c,"base64"));var l=c.length>>>0;return this.uint32(l),l&&this._push(r.writeBytesBuffer,l,c),this};function s(a,c,l){a.length<40?o.utf8.write(a,c,l):c.utf8Write?c.utf8Write(a,l):c.write(a,l)}r.prototype.string=function(c){var l=o.Buffer.byteLength(c);return this.uint32(l),l&&this._push(s,l,c),this},r._configure()},{15:15,16:16}]},{},[8])})()});var w0e=Jc((UEi,q4)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var e=function(){var o={};o.defaultNoDataValue=-34027999387901484e22,o.decode=function(f,d){d=d||{};var p=d.encodedMaskData||d.encodedMaskData===null,g=c(f,d.inputOffset||0,p),m=d.noDataValue!==null?d.noDataValue:o.defaultNoDataValue,A=r(g,d.pixelType||Float32Array,d.encodedMaskData,m,d.returnMask),x={width:g.width,height:g.height,pixelData:A.resultPixels,minValue:A.minValue,maxValue:g.pixels.maxValue,noDataValue:m};return A.resultMask&&(x.maskData=A.resultMask),d.returnEncodedMask&&g.mask&&(x.encodedMaskData=g.mask.bitset?g.mask.bitset:null),d.returnFileInfo&&(x.fileInfo=s(g),d.computeUsedBitDepths&&(x.fileInfo.bitDepths=a(g))),x};var r=function(f,d,p,g,m){var A=0,x=f.pixels.numBlocksX,C=f.pixels.numBlocksY,T=Math.floor(f.width/x),E=Math.floor(f.height/C),S=2*f.maxZError,D=Number.MAX_VALUE,w;p=p||(f.mask?f.mask.bitset:null);var R,O;R=new d(f.width*f.height),m&&p&&(O=new Uint8Array(f.width*f.height));for(var L=new Float32Array(T*E),N,_,b=0;b<=C;b++){var v=b!==C?E:f.height%C;if(v!==0)for(var I=0;I<=x;I++){var B=I!==x?T:f.width%x;if(B!==0){var F=b*f.width*E+I*T,k=f.width-B,U=f.pixels.blocks[A],G,V,X;U.encoding<2?(U.encoding===0?G=U.rawData:(l(U.stuffedData,U.bitsPerPixel,U.numValidPixels,U.offset,S,L,f.pixels.maxValue),G=L),V=0):U.encoding===2?X=0:X=U.offset;var j;if(p)for(_=0;_<v;_++){for(F&7&&(j=p[F>>3],j<<=F&7),N=0;N<B;N++)F&7||(j=p[F>>3]),j&128?(O&&(O[F]=1),w=U.encoding<2?G[V++]:X,D=D>w?w:D,R[F++]=w):(O&&(O[F]=0),R[F++]=g),j<<=1;F+=k}else if(U.encoding<2)for(_=0;_<v;_++){for(N=0;N<B;N++)w=G[V++],D=D>w?w:D,R[F++]=w;F+=k}else for(D=D>X?X:D,_=0;_<v;_++){for(N=0;N<B;N++)R[F++]=X;F+=k}if(U.encoding===1&&V!==U.numValidPixels)throw"Block and Mask do not match";A++}}}return{resultPixels:R,resultMask:O,minValue:D}},s=function(f){return{fileIdentifierString:f.fileIdentifierString,fileVersion:f.fileVersion,imageType:f.imageType,height:f.height,width:f.width,maxZError:f.maxZError,eofOffset:f.eofOffset,mask:f.mask?{numBlocksX:f.mask.numBlocksX,numBlocksY:f.mask.numBlocksY,numBytes:f.mask.numBytes,maxValue:f.mask.maxValue}:null,pixels:{numBlocksX:f.pixels.numBlocksX,numBlocksY:f.pixels.numBlocksY,numBytes:f.pixels.numBytes,maxValue:f.pixels.maxValue,noDataValue:f.noDataValue}}},a=function(f){for(var d=f.pixels.numBlocksX*f.pixels.numBlocksY,p={},g=0;g<d;g++){var m=f.pixels.blocks[g];m.encoding===0?p.float32=!0:m.encoding===1?p[m.bitsPerPixel]=!0:p[0]=!0}return Object.keys(p)},c=function(f,d,p){var g={},m=new Uint8Array(f,d,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,m),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;d+=10;var A=new DataView(f,d,24);if(g.fileVersion=A.getInt32(0,!0),g.imageType=A.getInt32(4,!0),g.height=A.getUint32(8,!0),g.width=A.getUint32(12,!0),g.maxZError=A.getFloat64(16,!0),d+=24,!p)if(A=new DataView(f,d,16),g.mask={},g.mask.numBlocksY=A.getUint32(0,!0),g.mask.numBlocksX=A.getUint32(4,!0),g.mask.numBytes=A.getUint32(8,!0),g.mask.maxValue=A.getFloat32(12,!0),d+=16,g.mask.numBytes>0){var x=new Uint8Array(Math.ceil(g.width*g.height/8));A=new DataView(f,d,g.mask.numBytes);var C=A.getInt16(0,!0),T=2,E=0;do{if(C>0)for(;C--;)x[E++]=A.getUint8(T++);else{var S=A.getUint8(T++);for(C=-C;C--;)x[E++]=S}C=A.getInt16(T,!0),T+=2}while(T<g.mask.numBytes);if(C!==-32768||E<x.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=x,d+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));A=new DataView(f,d,16),g.pixels={},g.pixels.numBlocksY=A.getUint32(0,!0),g.pixels.numBlocksX=A.getUint32(4,!0),g.pixels.numBytes=A.getUint32(8,!0),g.pixels.maxValue=A.getFloat32(12,!0),d+=16;var D=g.pixels.numBlocksX,w=g.pixels.numBlocksY,R=D+(g.width%D>0?1:0),O=w+(g.height%w>0?1:0);g.pixels.blocks=new Array(R*O);for(var L=0,N=0;N<O;N++)for(var _=0;_<R;_++){var b=0,v=f.byteLength-d;A=new DataView(f,d,Math.min(10,v));var I={};g.pixels.blocks[L++]=I;var B=A.getUint8(0);if(b++,I.encoding=B&63,I.encoding>3)throw"Invalid block encoding ("+I.encoding+")";if(I.encoding===2){d++;continue}if(B!==0&&B!==2){if(B>>=6,I.offsetType=B,B===2)I.offset=A.getInt8(1),b++;else if(B===1)I.offset=A.getInt16(1,!0),b+=2;else if(B===0)I.offset=A.getFloat32(1,!0),b+=4;else throw"Invalid block offset type";if(I.encoding===1)if(B=A.getUint8(b),b++,I.bitsPerPixel=B&63,B>>=6,I.numValidPixelsType=B,B===2)I.numValidPixels=A.getUint8(b),b++;else if(B===1)I.numValidPixels=A.getUint16(b,!0),b+=2;else if(B===0)I.numValidPixels=A.getUint32(b,!0),b+=4;else throw"Invalid valid pixel count type"}if(d+=b,I.encoding!==3){var F,k;if(I.encoding===0){var U=(g.pixels.numBytes-1)/4;if(U!==Math.floor(U))throw"uncompressed block has invalid length";F=new ArrayBuffer(U*4),k=new Uint8Array(F),k.set(new Uint8Array(f,d,U*4));var G=new Float32Array(F);I.rawData=G,d+=U*4}else if(I.encoding===1){var V=Math.ceil(I.numValidPixels*I.bitsPerPixel/8),X=Math.ceil(V/4);F=new ArrayBuffer(X*4),k=new Uint8Array(F),k.set(new Uint8Array(f,d,V)),I.stuffedData=new Uint32Array(F),d+=V}}}return g.eofOffset=d,g},l=function(f,d,p,g,m,A,x){var C=(1<<d)-1,T=0,E,S=0,D,w,R=Math.ceil((x-g)/m),O=f.length*4-Math.ceil(d*p/8);for(f[f.length-1]<<=8*O,E=0;E<p;E++){if(S===0&&(w=f[T++],S=32),S>=d)D=w>>>S-d&C,S-=d;else{var L=d-S;D=(w&C)<<L&C,w=f[T++],S=32-L,D+=w>>>S}A[E]=D<R?g+D*m:x}return A};return o}(),t=function(){"use strict";var o={unstuff:function(c,l,f,d,p,g,m,A){var x=(1<<f)-1,C=0,T,E=0,S,D,w,R,O=c.length*4-Math.ceil(f*d/8);if(c[c.length-1]<<=8*O,p)for(T=0;T<d;T++)E===0&&(D=c[C++],E=32),E>=f?(S=D>>>E-f&x,E-=f):(w=f-E,S=(D&x)<<w&x,D=c[C++],E=32-w,S+=D>>>E),l[T]=p[S];else for(R=Math.ceil((A-g)/m),T=0;T<d;T++)E===0&&(D=c[C++],E=32),E>=f?(S=D>>>E-f&x,E-=f):(w=f-E,S=(D&x)<<w&x,D=c[C++],E=32-w,S+=D>>>E),l[T]=S<R?g+S*m:A},unstuffLUT:function(c,l,f,d,p,g){var m=(1<<l)-1,A=0,x=0,C=0,T=0,E=0,S,D=[],w=c.length*4-Math.ceil(l*f/8);c[c.length-1]<<=8*w;var R=Math.ceil((g-d)/p);for(x=0;x<f;x++)T===0&&(S=c[A++],T=32),T>=l?(E=S>>>T-l&m,T-=l):(C=l-T,E=(S&m)<<C&m,S=c[A++],T=32-C,E+=S>>>T),D[x]=E<R?d+E*p:g;return D.unshift(d),D},unstuff2:function(c,l,f,d,p,g,m,A){var x=(1<<f)-1,C=0,T,E=0,S=0,D,w,R;if(p)for(T=0;T<d;T++)E===0&&(w=c[C++],E=32,S=0),E>=f?(D=w>>>S&x,E-=f,S+=f):(R=f-E,D=w>>>S&x,w=c[C++],E=32-R,D|=(w&(1<<R)-1)<<f-R,S=R),l[T]=p[D];else{var O=Math.ceil((A-g)/m);for(T=0;T<d;T++)E===0&&(w=c[C++],E=32,S=0),E>=f?(D=w>>>S&x,E-=f,S+=f):(R=f-E,D=w>>>S&x,w=c[C++],E=32-R,D|=(w&(1<<R)-1)<<f-R,S=R),l[T]=D<O?g+D*m:A}return l},unstuffLUT2:function(c,l,f,d,p,g){var m=(1<<l)-1,A=0,x=0,C=0,T=0,E=0,S=0,D,w=[],R=Math.ceil((g-d)/p);for(x=0;x<f;x++)T===0&&(D=c[A++],T=32,S=0),T>=l?(E=D>>>S&m,T-=l,S+=l):(C=l-T,E=D>>>S&m,D=c[A++],T=32-C,E|=(D&(1<<C)-1)<<l-C,S=C),w[x]=E<R?d+E*p:g;return w.unshift(d),w},originalUnstuff:function(c,l,f,d){var p=(1<<f)-1,g=0,m,A=0,x,C,T,E=c.length*4-Math.ceil(f*d/8);for(c[c.length-1]<<=8*E,m=0;m<d;m++)A===0&&(C=c[g++],A=32),A>=f?(x=C>>>A-f&p,A-=f):(T=f-A,x=(C&p)<<T&p,C=c[g++],A=32-T,x+=C>>>A),l[m]=x;return l},originalUnstuff2:function(c,l,f,d){var p=(1<<f)-1,g=0,m,A=0,x=0,C,T,E;for(m=0;m<d;m++)A===0&&(T=c[g++],A=32,x=0),A>=f?(C=T>>>x&p,A-=f,x+=f):(E=f-A,C=T>>>x&p,T=c[g++],A=32-E,C|=(T&(1<<E)-1)<<f-E,x=E),l[m]=C;return l}},r={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(c){for(var l=65535,f=65535,d=c.length,p=Math.floor(d/2),g=0;p;){var m=p>=359?359:p;p-=m;do l+=c[g++]<<8,f+=l+=c[g++];while(--m);l=(l&65535)+(l>>>16),f=(f&65535)+(f>>>16)}return d&1&&(f+=l+=c[g]<<8),l=(l&65535)+(l>>>16),f=(f&65535)+(f>>>16),(f<<16|l)>>>0},readHeaderInfo:function(c,l){var f=l.ptr,d=new Uint8Array(c,f,6),p={};if(p.fileIdentifierString=String.fromCharCode.apply(null,d),p.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+p.fileIdentifierString;f+=6;var g=new DataView(c,f,8),m=g.getInt32(0,!0);p.fileVersion=m,f+=4,m>=3&&(p.checksum=g.getUint32(4,!0),f+=4),g=new DataView(c,f,12),p.height=g.getUint32(0,!0),p.width=g.getUint32(4,!0),f+=8,m>=4?(p.numDims=g.getUint32(8,!0),f+=4):p.numDims=1,g=new DataView(c,f,40),p.numValidPixel=g.getUint32(0,!0),p.microBlockSize=g.getInt32(4,!0),p.blobSize=g.getInt32(8,!0),p.imageType=g.getInt32(12,!0),p.maxZError=g.getFloat64(16,!0),p.zMin=g.getFloat64(24,!0),p.zMax=g.getFloat64(32,!0),f+=40,l.headerInfo=p,l.ptr=f;var A,x;if(m>=3&&(x=m>=4?52:48,A=this.computeChecksumFletcher32(new Uint8Array(c,f-x,p.blobSize-14)),A!==p.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(c,l){var f=l.headerInfo,d=this.getDataTypeArray(f.imageType),p=f.numDims*this.getDataTypeSize(f.imageType),g=this.readSubArray(c,l.ptr,d,p),m=this.readSubArray(c,l.ptr+p,d,p);l.ptr+=2*p;var A,x=!0;for(A=0;A<f.numDims;A++)if(g[A]!==m[A]){x=!1;break}return f.minValues=g,f.maxValues=m,x},readSubArray:function(c,l,f,d){var p;if(f===Uint8Array)p=new Uint8Array(c,l,d);else{var g=new ArrayBuffer(d),m=new Uint8Array(g);m.set(new Uint8Array(c,l,d)),p=new f(g)}return p},readMask:function(c,l){var f=l.ptr,d=l.headerInfo,p=d.width*d.height,g=d.numValidPixel,m=new DataView(c,f,4),A={};if(A.numBytes=m.getUint32(0,!0),f+=4,(g===0||p===g)&&A.numBytes!==0)throw"invalid mask";var x,C;if(g===0)x=new Uint8Array(Math.ceil(p/8)),A.bitset=x,C=new Uint8Array(p),l.pixels.resultMask=C,f+=A.numBytes;else if(A.numBytes>0){x=new Uint8Array(Math.ceil(p/8)),m=new DataView(c,f,A.numBytes);var T=m.getInt16(0,!0),E=2,S=0,D=0;do{if(T>0)for(;T--;)x[S++]=m.getUint8(E++);else for(D=m.getUint8(E++),T=-T;T--;)x[S++]=D;T=m.getInt16(E,!0),E+=2}while(E<A.numBytes);if(T!==-32768||S<x.length)throw"Unexpected end of mask RLE encoding";C=new Uint8Array(p);var w=0,R=0;for(R=0;R<p;R++)R&7?(w=x[R>>3],w<<=R&7):w=x[R>>3],w&128&&(C[R]=1);l.pixels.resultMask=C,A.bitset=x,f+=A.numBytes}return l.ptr=f,l.mask=A,!0},readDataOneSweep:function(c,l,f){var d=l.ptr,p=l.headerInfo,g=p.numDims,m=p.width*p.height,A=p.imageType,x=p.numValidPixel*r.getDataTypeSize(A)*g,C,T=l.pixels.resultMask;if(f===Uint8Array)C=new Uint8Array(c,d,x);else{var E=new ArrayBuffer(x),S=new Uint8Array(E);S.set(new Uint8Array(c,d,x)),C=new f(E)}if(C.length===m*g)l.pixels.resultPixels=C;else{l.pixels.resultPixels=new f(m*g);var D=0,w=0,R=0,O=0;if(g>1)for(R=0;R<g;R++)for(O=R*m,w=0;w<m;w++)T[w]&&(l.pixels.resultPixels[O+w]=C[D++]);else for(w=0;w<m;w++)T[w]&&(l.pixels.resultPixels[w]=C[D++])}return d+=x,l.ptr=d,!0},readHuffmanTree:function(c,l){var f=this.HUFFMAN_LUT_BITS_MAX,d=new DataView(c,l.ptr,16);l.ptr+=16;var p=d.getInt32(0,!0);if(p<2)throw"unsupported Huffman version";var g=d.getInt32(4,!0),m=d.getInt32(8,!0),A=d.getInt32(12,!0);if(m>=A)return!1;var x=new Uint32Array(A-m);r.decodeBits(c,l,x);var C=[],T,E,S,D;for(T=m;T<A;T++)E=T-(T<g?0:g),C[E]={first:x[T-m],second:null};var w=c.byteLength-l.ptr,R=Math.ceil(w/4),O=new ArrayBuffer(R*4),L=new Uint8Array(O);L.set(new Uint8Array(c,l.ptr,w));var N=new Uint32Array(O),_=0,b,v=0;for(b=N[0],T=m;T<A;T++)E=T-(T<g?0:g),D=C[E].first,D>0&&(C[E].second=b<<_>>>32-D,32-_>=D?(_+=D,_===32&&(_=0,v++,b=N[v])):(_+=D-32,v++,b=N[v],C[E].second|=b>>>32-_));var I=0,B=0,F=new s;for(T=0;T<C.length;T++)C[T]!==void 0&&(I=Math.max(I,C[T].first));I>=f?B=f:B=I,I>=30&&console.log("WARning, large NUM LUT BITS IS "+I);var k=[],U,G,V,X,j,Q;for(T=m;T<A;T++)if(E=T-(T<g?0:g),D=C[E].first,D>0)if(U=[D,E],D<=B)for(G=C[E].second<<B-D,V=1<<B-D,S=0;S<V;S++)k[G|S]=U;else for(G=C[E].second,Q=F,X=D-1;X>=0;X--)j=G>>>X&1,j?(Q.right||(Q.right=new s),Q=Q.right):(Q.left||(Q.left=new s),Q=Q.left),X===0&&!Q.val&&(Q.val=U[1]);return{decodeLut:k,numBitsLUTQick:B,numBitsLUT:I,tree:F,stuffedData:N,srcPtr:v,bitPos:_}},readHuffman:function(c,l,f){var d=l.headerInfo,p=d.numDims,g=l.headerInfo.height,m=l.headerInfo.width,A=m*g,x=this.readHuffmanTree(c,l),C=x.decodeLut,T=x.tree,E=x.stuffedData,S=x.srcPtr,D=x.bitPos,w=x.numBitsLUTQick,R=x.numBitsLUT,O=l.headerInfo.imageType===0?128:0,L,N,_,b=l.pixels.resultMask,v,I,B,F,k,U,G,V=0;D>0&&(S++,D=0);var X=E[S],j=l.encodeMode===1,Q=new f(A*p),W=Q,K;for(K=0;K<d.numDims;K++){if(p>1&&(W=new f(Q.buffer,A*K,A),V=0),l.headerInfo.numValidPixel===m*g)for(U=0,F=0;F<g;F++)for(k=0;k<m;k++,U++){if(N=0,v=X<<D>>>32-w,I=v,32-D<w&&(v|=E[S+1]>>>64-D-w,I=v),C[I])N=C[I][1],D+=C[I][0];else for(v=X<<D>>>32-R,I=v,32-D<R&&(v|=E[S+1]>>>64-D-R,I=v),L=T,G=0;G<R;G++)if(B=v>>>R-G-1&1,L=B?L.right:L.left,!(L.left||L.right)){N=L.val,D=D+G+1;break}D>=32&&(D-=32,S++,X=E[S]),_=N-O,j?(k>0?_+=V:F>0?_+=W[U-m]:_+=V,_&=255,W[U]=_,V=_):W[U]=_}else for(U=0,F=0;F<g;F++)for(k=0;k<m;k++,U++)if(b[U]){if(N=0,v=X<<D>>>32-w,I=v,32-D<w&&(v|=E[S+1]>>>64-D-w,I=v),C[I])N=C[I][1],D+=C[I][0];else for(v=X<<D>>>32-R,I=v,32-D<R&&(v|=E[S+1]>>>64-D-R,I=v),L=T,G=0;G<R;G++)if(B=v>>>R-G-1&1,L=B?L.right:L.left,!(L.left||L.right)){N=L.val,D=D+G+1;break}D>=32&&(D-=32,S++,X=E[S]),_=N-O,j?(k>0&&b[U-1]?_+=V:F>0&&b[U-m]?_+=W[U-m]:_+=V,_&=255,W[U]=_,V=_):W[U]=_}l.ptr=l.ptr+(S+1)*4+(D>0?4:0)}l.pixels.resultPixels=Q},decodeBits:function(c,l,f,d,p){{var g=l.headerInfo,m=g.fileVersion,A=0,x=new DataView(c,l.ptr,5),C=x.getUint8(0);A++;var T=C>>6,E=T===0?4:3-T,S=(C&32)>0,D=C&31,w=0;if(E===1)w=x.getUint8(A),A++;else if(E===2)w=x.getUint16(A,!0),A+=2;else if(E===4)w=x.getUint32(A,!0),A+=4;else throw"Invalid valid pixel count type";var R=2*g.maxZError,O,L,N,_,b,v,I,B,F,k,U=g.numDims>1?g.maxValues[p]:g.zMax;if(S){for(l.counter.lut++,B=x.getUint8(A),F=D,A++,_=Math.ceil((B-1)*D/8),b=Math.ceil(_/4),L=new ArrayBuffer(b*4),N=new Uint8Array(L),l.ptr+=A,N.set(new Uint8Array(c,l.ptr,_)),I=new Uint32Array(L),l.ptr+=_,k=0;B-1>>>k;)k++;_=Math.ceil(w*k/8),b=Math.ceil(_/4),L=new ArrayBuffer(b*4),N=new Uint8Array(L),N.set(new Uint8Array(c,l.ptr,_)),O=new Uint32Array(L),l.ptr+=_,m>=3?v=o.unstuffLUT2(I,D,B-1,d,R,U):v=o.unstuffLUT(I,D,B-1,d,R,U),m>=3?o.unstuff2(O,f,k,w,v):o.unstuff(O,f,k,w,v)}else l.counter.bitstuffer++,k=D,l.ptr+=A,k>0&&(_=Math.ceil(w*k/8),b=Math.ceil(_/4),L=new ArrayBuffer(b*4),N=new Uint8Array(L),N.set(new Uint8Array(c,l.ptr,_)),O=new Uint32Array(L),l.ptr+=_,m>=3?d==null?o.originalUnstuff2(O,f,k,w):o.unstuff2(O,f,k,w,!1,d,R,U):d==null?o.originalUnstuff(O,f,k,w):o.unstuff(O,f,k,w,!1,d,R,U))}},readTiles:function(c,l,f){var d=l.headerInfo,p=d.width,g=d.height,m=d.microBlockSize,A=d.imageType,x=r.getDataTypeSize(A),C=Math.ceil(p/m),T=Math.ceil(g/m);l.pixels.numBlocksY=T,l.pixels.numBlocksX=C,l.pixels.ptr=0;var E=0,S=0,D=0,w=0,R=0,O=0,L=0,N=0,_=0,b=0,v=0,I=0,B=0,F=0,k=0,U=0,G,V,X,j,Q,W,K=new f(m*m),J=g%m||m,_e=p%m||m,xe,re,ye=d.numDims,fe,Se=l.pixels.resultMask,we=l.pixels.resultPixels;for(D=0;D<T;D++)for(R=D!==T-1?m:J,w=0;w<C;w++)for(O=w!==C-1?m:_e,v=D*p*m+w*m,I=p-O,fe=0;fe<ye;fe++){if(ye>1&&(we=new f(l.pixels.resultPixels.buffer,p*g*fe*x,p*g)),L=c.byteLength-l.ptr,G=new DataView(c,l.ptr,Math.min(10,L)),V={},U=0,N=G.getUint8(0),U++,_=N>>6&255,b=N>>2&15,b!==(w*m>>3&15))throw"integrity issue";if(W=N&3,W>3)throw l.ptr+=U,"Invalid block encoding ("+W+")";if(W===2){l.counter.constant++,l.ptr+=U;continue}else if(W===0){if(l.counter.uncompressed++,l.ptr+=U,B=R*O*x,F=c.byteLength-l.ptr,B=B<F?B:F,X=new ArrayBuffer(B%x===0?B:B+x-B%x),j=new Uint8Array(X),j.set(new Uint8Array(c,l.ptr,B)),Q=new f(X),k=0,Se)for(E=0;E<R;E++){for(S=0;S<O;S++)Se[v]&&(we[v]=Q[k++]),v++;v+=I}else for(E=0;E<R;E++){for(S=0;S<O;S++)we[v++]=Q[k++];v+=I}l.ptr+=k*x}else if(xe=r.getDataTypeUsed(A,_),re=r.getOnePixel(V,U,xe,G),U+=r.getDataTypeSize(xe),W===3)if(l.ptr+=U,l.counter.constantoffset++,Se)for(E=0;E<R;E++){for(S=0;S<O;S++)Se[v]&&(we[v]=re),v++;v+=I}else for(E=0;E<R;E++){for(S=0;S<O;S++)we[v++]=re;v+=I}else if(l.ptr+=U,r.decodeBits(c,l,K,re,fe),U=0,Se)for(E=0;E<R;E++){for(S=0;S<O;S++)Se[v]&&(we[v]=K[U++]),v++;v+=I}else for(E=0;E<R;E++){for(S=0;S<O;S++)we[v++]=K[U++];v+=I}}},formatFileInfo:function(c){return{fileIdentifierString:c.headerInfo.fileIdentifierString,fileVersion:c.headerInfo.fileVersion,imageType:c.headerInfo.imageType,height:c.headerInfo.height,width:c.headerInfo.width,numValidPixel:c.headerInfo.numValidPixel,microBlockSize:c.headerInfo.microBlockSize,blobSize:c.headerInfo.blobSize,maxZError:c.headerInfo.maxZError,pixelType:r.getPixelType(c.headerInfo.imageType),eofOffset:c.eofOffset,mask:c.mask?{numBytes:c.mask.numBytes}:null,pixels:{numBlocksX:c.pixels.numBlocksX,numBlocksY:c.pixels.numBlocksY,maxValue:c.headerInfo.zMax,minValue:c.headerInfo.zMin,noDataValue:c.noDataValue}}},constructConstantSurface:function(c){var l=c.headerInfo.zMax,f=c.headerInfo.numDims,d=c.headerInfo.height*c.headerInfo.width,p=d*f,g=0,m=0,A=0,x=c.pixels.resultMask;if(x)if(f>1)for(g=0;g<f;g++)for(A=g*d,m=0;m<d;m++)x[m]&&(c.pixels.resultPixels[A+m]=l);else for(m=0;m<d;m++)x[m]&&(c.pixels.resultPixels[m]=l);else if(c.pixels.resultPixels.fill)c.pixels.resultPixels.fill(l);else for(m=0;m<p;m++)c.pixels.resultPixels[m]=l},getDataTypeArray:function(c){var l;switch(c){case 0:l=Int8Array;break;case 1:l=Uint8Array;break;case 2:l=Int16Array;break;case 3:l=Uint16Array;break;case 4:l=Int32Array;break;case 5:l=Uint32Array;break;case 6:l=Float32Array;break;case 7:l=Float64Array;break;default:l=Float32Array}return l},getPixelType:function(c){var l;switch(c){case 0:l="S8";break;case 1:l="U8";break;case 2:l="S16";break;case 3:l="U16";break;case 4:l="S32";break;case 5:l="U32";break;case 6:l="F32";break;case 7:l="F64";break;default:l="F32"}return l},isValidPixelValue:function(c,l){if(l==null)return!1;var f;switch(c){case 0:f=l>=-128&&l<=127;break;case 1:f=l>=0&&l<=255;break;case 2:f=l>=-32768&&l<=32767;break;case 3:f=l>=0&&l<=65536;break;case 4:f=l>=-2147483648&&l<=2147483647;break;case 5:f=l>=0&&l<=4294967296;break;case 6:f=l>=-34027999387901484e22&&l<=34027999387901484e22;break;case 7:f=l>=5e-324&&l<=17976931348623157e292;break;default:f=!1}return f},getDataTypeSize:function(c){var l=0;switch(c){case 0:case 1:l=1;break;case 2:case 3:l=2;break;case 4:case 5:case 6:l=4;break;case 7:l=8;break;default:l=c}return l},getDataTypeUsed:function(c,l){var f=c;switch(c){case 2:case 4:f=c-l;break;case 3:case 5:f=c-2*l;break;case 6:l===0?f=c:l===1?f=2:f=1;break;case 7:l===0?f=c:f=c-2*l+1;break;default:f=c;break}return f},getOnePixel:function(c,l,f,d){var p=0;switch(f){case 0:p=d.getInt8(l);break;case 1:p=d.getUint8(l);break;case 2:p=d.getInt16(l,!0);break;case 3:p=d.getUint16(l,!0);break;case 4:p=d.getInt32(l,!0);break;case 5:p=d.getUInt32(l,!0);break;case 6:p=d.getFloat32(l,!0);break;case 7:p=d.getFloat64(l,!0);break;default:throw"the decoder does not understand this pixel type"}return p}},s=function(c,l,f){this.val=c,this.left=l,this.right=f},a={decode:function(c,l){l=l||{};var f=l.noDataValue,d=0,p={};if(p.ptr=l.inputOffset||0,p.pixels={},!!r.readHeaderInfo(c,p)){var g=p.headerInfo,m=g.fileVersion,A=r.getDataTypeArray(g.imageType);r.readMask(c,p),g.numValidPixel!==g.width*g.height&&!p.pixels.resultMask&&(p.pixels.resultMask=l.maskData);var x=g.width*g.height;if(p.pixels.resultPixels=new A(x*g.numDims),p.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},g.numValidPixel!==0)if(g.zMax===g.zMin)r.constructConstantSurface(p);else if(m>=4&&r.checkMinMaxRanges(c,p))r.constructConstantSurface(p);else{var C=new DataView(c,p.ptr,2),T=C.getUint8(0);if(p.ptr++,T)r.readDataOneSweep(c,p,A);else if(m>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var E=C.getUint8(1);if(p.ptr++,p.encodeMode=E,E>2||m<4&&E>1)throw"Invalid Huffman flag "+E;E?r.readHuffman(c,p,A):r.readTiles(c,p,A)}else r.readTiles(c,p,A)}p.eofOffset=p.ptr;var S;l.inputOffset?(S=p.headerInfo.blobSize+l.inputOffset-p.ptr,Math.abs(S)>=1&&(p.eofOffset=l.inputOffset+p.headerInfo.blobSize)):(S=p.headerInfo.blobSize-p.ptr,Math.abs(S)>=1&&(p.eofOffset=p.headerInfo.blobSize));var D={width:g.width,height:g.height,pixelData:p.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:p.pixels.resultMask};if(p.pixels.resultMask&&r.isValidPixelValue(g.imageType,f)){var w=p.pixels.resultMask;for(d=0;d<x;d++)w[d]||(D.pixelData[d]=f);D.noDataValue=f}return p.noDataValue=f,l.returnFileInfo&&(D.fileInfo=r.formatFileInfo(p)),D}},getBandCount:function(c){var l=0,f=0,d={};for(d.ptr=0,d.pixels={};f<c.byteLength-58;)r.readHeaderInfo(c,d),f+=d.headerInfo.blobSize,l++,d.ptr=f;return l}};return a}(),n=function(){var o=new ArrayBuffer(4),r=new Uint8Array(o),s=new Uint32Array(o);return s[0]=1,r[0]===1}(),i={decode:function(o,r){if(!n)throw"Big endian system is not supported.";r=r||{};var s=r.inputOffset||0,a=new Uint8Array(o,s,10),c=String.fromCharCode.apply(null,a),l,f;if(c.trim()==="CntZImage")l=e,f=1;else if(c.substring(0,5)==="Lerc2")l=t,f=2;else throw"Unexpected file identifier string: "+c;for(var d=0,p=o.byteLength-10,g,m=[],A,x,C={width:0,height:0,pixels:[],pixelType:r.pixelType,mask:null,statistics:[]};s<p;){var T=l.decode(o,{inputOffset:s,encodedMaskData:g,maskData:x,returnMask:d===0,returnEncodedMask:d===0,returnFileInfo:!0,pixelType:r.pixelType||null,noDataValue:r.noDataValue||null});s=T.fileInfo.eofOffset,d===0&&(g=T.encodedMaskData,x=T.maskData,C.width=T.width,C.height=T.height,C.dimCount=T.dimCount||1,C.pixelType=T.pixelType||T.fileInfo.pixelType,C.mask=T.maskData),f>1&&T.fileInfo.mask&&T.fileInfo.mask.numBytes>0&&m.push(T.maskData),d++,C.pixels.push(T.pixelData),C.statistics.push({minValue:T.minValue,maxValue:T.maxValue,noDataValue:T.noDataValue,dimStats:T.dimStats})}var E,S,D;if(f>1&&m.length>1){for(D=C.width*C.height,C.bandMasks=m,x=new Uint8Array(D),x.set(m[0]),E=1;E<m.length;E++)for(A=m[E],S=0;S<D;S++)x[S]=x[S]&A[S];C.maskData=x}return C}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof q4<"u"&&q4.exports?q4.exports=i:this.Lerc=i})()});var IAe=Jc((iji,wAe)=>{wAe.exports={webm:"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}});var OAe=Jc((oji,PAe)=>{var{webm:fyt,mp4:dyt}=IAe(),eK=()=>typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,tK=()=>"wakeLock"in navigator,nK=class{constructor(){if(this.enabled=!1,tK()){this._wakeLock=null;let t=()=>{this._wakeLock!==null&&document.visibilityState==="visible"&&this.enable()};document.addEventListener("visibilitychange",t),document.addEventListener("fullscreenchange",t)}else eK()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",fyt),this._addSourceToVideo(this.noSleepVideo,"mp4",dyt),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(t,n,i){var o=document.createElement("source");o.src=i,o.type=`video/${n}`,t.appendChild(o)}get isEnabled(){return this.enabled}enable(){return tK()?navigator.wakeLock.request("screen").then(t=>{this._wakeLock=t,this.enabled=!0,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(t=>{throw this.enabled=!1,console.error(`${t.name}, ${t.message}`),t}):eK()?(this.disable(),console.warn(` + NoSleep enabled for older iOS devices. This can interrupt + active or long-running network requests from completing successfully. + See https://github.com/richtr/NoSleep.js/issues/15 for more details. + `),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(n=>(this.enabled=!0,n)).catch(n=>{throw this.enabled=!1,n})}disable(){tK()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):eK()?this.noSleepTimer&&(console.warn(` + NoSleep now disabled for older iOS devices. + `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}};PAe.exports=nK});var Fyt={};txe(Fyt,{AlphaMode:()=>Ph,AlphaPipelineStage:()=>G1,Animation:()=>u2,AnimationViewModel:()=>f2,Appearance:()=>$i,ApproximateTerrainHeights:()=>fi,ArcGISTiledElevationTerrainProvider:()=>aj,ArcGisMapServerImageryProvider:()=>T_,ArcType:()=>Kt,ArticulationStageType:()=>Ya,AssociativeArray:()=>xt,AttributeCompression:()=>Gn,AttributeType:()=>rn,AutoExposure:()=>WN,AutomaticUniforms:()=>Pm,Axis:()=>Po,AxisAlignedBoundingBox:()=>$_,B3dmLoader:()=>a1,B3dmParser:()=>o1,BaseLayerPicker:()=>h2,BaseLayerPickerViewModel:()=>d2,BatchTable:()=>O0,BatchTableHierarchy:()=>oA,BatchTexture:()=>wc,BatchTexturePipelineStage:()=>W1,Billboard:()=>lo,BillboardCollection:()=>Jl,BillboardGraphics:()=>Na,BillboardVisualizer:()=>Zw,BingMapsGeocoderService:()=>lj,BingMapsImageryProvider:()=>SL,BingMapsStyle:()=>EL,BlendEquation:()=>aa,BlendFunction:()=>xo,BlendOption:()=>To,BlendingState:()=>un,BoundingRectangle:()=>Ye,BoundingSphere:()=>se,BoundingSphereState:()=>at,BoxEmitter:()=>Lq,BoxGeometry:()=>ol,BoxGeometryUpdater:()=>hP,BoxGraphics:()=>W0,BoxOutlineGeometry:()=>Xf,BrdfLutGenerator:()=>QL,Buffer:()=>lt,BufferLoader:()=>uA,BufferUsage:()=>Ne,CPUStylingPipelineStage:()=>X1,CallbackProperty:()=>nd,Camera:()=>ro,CameraEventAggregator:()=>JN,CameraEventType:()=>Ii,CameraFlightPath:()=>eN,Cartesian2:()=>H,Cartesian3:()=>h,Cartesian4:()=>oe,Cartographic:()=>he,CartographicGeocoderService:()=>tL,CatmullRomSpline:()=>uj,Cesium3DContentGroup:()=>iA,Cesium3DTile:()=>eu,Cesium3DTileBatchTable:()=>ap,Cesium3DTileColorBlendMode:()=>ul,Cesium3DTileContent:()=>Nq,Cesium3DTileContentFactory:()=>NA,Cesium3DTileContentState:()=>Eo,Cesium3DTileContentType:()=>cs,Cesium3DTileFeature:()=>xs,Cesium3DTileFeatureTable:()=>fd,Cesium3DTileOptimizationHint:()=>of,Cesium3DTileOptimizations:()=>BR,Cesium3DTilePass:()=>qo,Cesium3DTilePassState:()=>Of,Cesium3DTilePointFeature:()=>Rp,Cesium3DTileRefine:()=>Sr,Cesium3DTileStyle:()=>fC,Cesium3DTileStyleEngine:()=>UR,Cesium3DTilesInspector:()=>A2,Cesium3DTilesInspectorViewModel:()=>y2,Cesium3DTilesVoxelProvider:()=>zq,Cesium3DTileset:()=>Rc,Cesium3DTilesetCache:()=>NR,Cesium3DTilesetGraphics:()=>J0,Cesium3DTilesetHeatmap:()=>FR,Cesium3DTilesetMetadata:()=>ZA,Cesium3DTilesetMostDetailedTraversal:()=>nE,Cesium3DTilesetStatistics:()=>Xp,Cesium3DTilesetTraversal:()=>zh,Cesium3DTilesetVisualizer:()=>zR,CesiumInspector:()=>T2,CesiumInspectorViewModel:()=>C2,CesiumTerrainProvider:()=>nL,CesiumWidget:()=>hF,Check:()=>Qc,CheckerboardMaterialProperty:()=>yE,CircleEmitter:()=>yF,CircleGeometry:()=>mj,CircleOutlineGeometry:()=>pj,ClassificationModelDrawCommand:()=>E1,ClassificationPipelineStage:()=>j1,ClassificationPrimitive:()=>fT,ClassificationType:()=>Un,ClearCommand:()=>ii,ClippingPlane:()=>xA,ClippingPlaneCollection:()=>ss,Clock:()=>vd,ClockRange:()=>Br,ClockStep:()=>uo,ClockViewModel:()=>s2,CloudCollection:()=>qq,CloudType:()=>gS,Color:()=>z,ColorBlendMode:()=>ja,ColorGeometryInstanceAttribute:()=>Nt,ColorMaterialProperty:()=>Mt,Command:()=>GX,ComponentDatatype:()=>q,Composite3DTileContent:()=>xP,CompositeEntityCollection:()=>u9,CompositeMaterialProperty:()=>xE,CompositePositionProperty:()=>Ws,CompositeProperty:()=>Qa,CompressedTextureBuffer:()=>lD,ComputeCommand:()=>Lu,ComputeEngine:()=>XS,ConditionsExpression:()=>mF,ConeEmitter:()=>Kq,ConstantPositionProperty:()=>Sc,ConstantProperty:()=>ei,ConstantSpline:()=>f1,ContentMetadata:()=>TR,Context:()=>Gw,ContextLimits:()=>Ft,CoplanarPolygonGeometry:()=>SB,CoplanarPolygonGeometryLibrary:()=>Hp,CoplanarPolygonOutlineGeometry:()=>cf,CornerType:()=>vi,CorridorGeometry:()=>nx,CorridorGeometryLibrary:()=>Mi,CorridorGeometryUpdater:()=>ZR,CorridorGraphics:()=>Y0,CorridorOutlineGeometry:()=>KR,Credit:()=>Zt,CreditDisplay:()=>oN,CubeMap:()=>Ma,CubeMapFace:()=>yh,CubicRealPolynomial:()=>I0,CullFace:()=>gi,CullingVolume:()=>$r,CumulusCloud:()=>Pu,CustomDataSource:()=>nB,CustomHeightmapTerrainProvider:()=>_j,CustomShader:()=>TC,CustomShaderMode:()=>Ip,CustomShaderPipelineStage:()=>tO,CustomShaderTranslucencyMode:()=>Bg,CylinderGeometry:()=>iB,CylinderGeometryLibrary:()=>ix,CylinderGeometryUpdater:()=>rB,CylinderGraphics:()=>q0,CylinderOutlineGeometry:()=>oB,CzmlDataSource:()=>pB,DataSource:()=>Or,DataSourceClock:()=>wd,DataSourceCollection:()=>_B,DataSourceDisplay:()=>nM,DebugAppearance:()=>Zq,DebugCameraPrimitive:()=>dm,DebugInspector:()=>rF,DebugModelMatrixPrimitive:()=>xF,DefaultProxy:()=>gj,DepthFunction:()=>Fa,DepthPlane:()=>aN,DequantizationPipelineStage:()=>iO,DerivedCommand:()=>I_,DeveloperError:()=>de,DeviceOrientationCameraController:()=>lN,DirectionalLight:()=>Jq,DiscardEmptyTileImagePolicy:()=>Kb,DiscardMissingTileImagePolicy:()=>CL,DistanceDisplayCondition:()=>bt,DistanceDisplayConditionGeometryInstanceAttribute:()=>Vn,DoubleEndedPriorityQueue:()=>Nx,DoublyLinkedList:()=>LR,DracoLoader:()=>pp,DrawCommand:()=>tt,DynamicGeometryBatch:()=>fx,DynamicGeometryUpdater:()=>ri,EarthOrientationParameters:()=>aD,EarthOrientationParametersSample:()=>H_,EasingFunction:()=>Mr,EllipseGeometry:()=>Fc,EllipseGeometryLibrary:()=>Cl,EllipseGeometryUpdater:()=>yB,EllipseGraphics:()=>X0,EllipseOutlineGeometry:()=>au,Ellipsoid:()=>ie,EllipsoidGeodesic:()=>Gu,EllipsoidGeometry:()=>vs,EllipsoidGeometryUpdater:()=>xB,EllipsoidGraphics:()=>K0,EllipsoidOutlineGeometry:()=>$l,EllipsoidPrimitive:()=>XL,EllipsoidRhumbLine:()=>la,EllipsoidSurfaceAppearance:()=>Qq,EllipsoidTangentPlane:()=>ca,EllipsoidTerrainProvider:()=>A_,EllipsoidalOccluder:()=>Qp,Empty3DTileContent:()=>iE,EncodedCartesian3:()=>Hn,Entity:()=>jo,EntityCluster:()=>tu,EntityCollection:()=>Ss,EntityView:()=>oM,Event:()=>Ae,EventHelper:()=>wr,Expression:()=>ju,ExpressionNodeType:()=>ht,ExtrapolationType:()=>iu,FeatureDetection:()=>Vt,FeatureIdPipelineStage:()=>Rg,Fog:()=>uN,ForEach:()=>Pe,FrameRateMonitor:()=>EF,FrameState:()=>fN,Framebuffer:()=>Ns,FramebufferManager:()=>mi,FrustumCommands:()=>pN,FrustumGeometry:()=>Vx,FrustumOutlineGeometry:()=>sL,Fullscreen:()=>fr,FullscreenButton:()=>w2,FullscreenButtonViewModel:()=>v2,GeoJsonDataSource:()=>aM,GeoJsonLoader:()=>c1,GeocodeType:()=>By,Geocoder:()=>b2,GeocoderService:()=>Tj,GeocoderViewModel:()=>E2,GeographicProjection:()=>Ei,GeographicTilingScheme:()=>ji,Geometry:()=>ct,Geometry3DTileContent:()=>TP,GeometryAttribute:()=>ve,GeometryAttributes:()=>dn,GeometryFactory:()=>Ej,GeometryInstance:()=>At,GeometryInstanceAttribute:()=>Va,GeometryOffsetAttribute:()=>nn,GeometryPipeline:()=>Ln,GeometryPipelineStage:()=>aO,GeometryType:()=>Nu,GeometryUpdater:()=>si,GeometryVisualizer:()=>GB,GetFeatureInfoFormat:()=>Wx,Globe:()=>qL,GlobeDepth:()=>_N,GlobeSurfaceShaderSet:()=>LL,GlobeSurfaceTile:()=>If,GlobeSurfaceTileProvider:()=>FL,GlobeTranslucency:()=>VL,GlobeTranslucencyFramebuffer:()=>gN,GlobeTranslucencyState:()=>dN,GltfBufferViewLoader:()=>bT,GltfDracoLoader:()=>ST,GltfImageLoader:()=>DT,GltfIndexBufferLoader:()=>vT,GltfJsonLoader:()=>IT,GltfLoader:()=>Cp,GltfLoaderUtil:()=>hl,GltfStructuralMetadataLoader:()=>e1,GltfTextureLoader:()=>PT,GltfVertexBufferLoader:()=>OT,GoogleEarthEnterpriseImageryProvider:()=>eX,GoogleEarthEnterpriseMapsProvider:()=>vL,GoogleEarthEnterpriseMetadata:()=>Zd,GoogleEarthEnterpriseTerrainData:()=>Gb,GoogleEarthEnterpriseTerrainProvider:()=>Oj,GoogleEarthEnterpriseTileInformation:()=>aL,GpxDataSource:()=>fM,GregorianDate:()=>Lm,GridImageryProvider:()=>tX,GridMaterialProperty:()=>PE,GroundGeometryUpdater:()=>jn,GroundPolylineGeometry:()=>k0,GroundPolylinePrimitive:()=>Qf,GroundPrimitive:()=>Ec,GroupMetadata:()=>pE,HeadingPitchRange:()=>uu,HeadingPitchRoll:()=>Ba,Heap:()=>nD,HeightReference:()=>We,HeightmapEncoding:()=>bf,HeightmapTerrainData:()=>ga,HeightmapTessellator:()=>Bb,HermitePolynomialApproximation:()=>sB,HermiteSpline:()=>Ig,HilbertOrder:()=>xT,HomeButton:()=>D2,HomeButtonViewModel:()=>S2,HorizontalOrigin:()=>_i,I3SDataProvider:()=>oX,I3SFeature:()=>SF,I3SField:()=>DF,I3SGeometry:()=>AS,I3SLayer:()=>CS,I3SNode:()=>xS,I3dmLoader:()=>u1,I3dmParser:()=>l1,Iau2000Orientation:()=>lL,Iau2006XysData:()=>cD,Iau2006XysSample:()=>x0,IauOrientationAxes:()=>uL,IauOrientationParameters:()=>cL,ImageBasedLighting:()=>nA,ImageBasedLightingPipelineStage:()=>w1,ImageMaterialProperty:()=>og,Imagery:()=>nS,ImageryLayer:()=>bu,ImageryLayerCollection:()=>UL,ImageryLayerFeatureInfo:()=>eh,ImageryProvider:()=>Gc,ImageryState:()=>ui,Implicit3DTileContent:()=>BT,ImplicitAvailabilityBitstream:()=>TT,ImplicitMetadataView:()=>ET,ImplicitSubdivisionScheme:()=>kr,ImplicitSubtree:()=>yA,ImplicitSubtreeCache:()=>_F,ImplicitSubtreeMetadata:()=>EP,ImplicitTileCoordinates:()=>$A,ImplicitTileset:()=>QA,IndexDatatype:()=>Fe,InfoBox:()=>P2,InfoBoxViewModel:()=>I2,InspectorShared:()=>Ea,InstanceAttributeSemantic:()=>zr,InstancingPipelineStage:()=>U1,InterpolationAlgorithm:()=>Bj,InterpolationType:()=>ud,Intersect:()=>Qt,IntersectionTests:()=>Yi,Intersections2D:()=>g_,Interval:()=>yc,InvertClassification:()=>uS,Ion:()=>Jd,IonGeocoderService:()=>hL,IonImageryProvider:()=>b_,IonResource:()=>Qd,IonWorldImageryStyle:()=>S_,Iso8601:()=>ze,JobScheduler:()=>hN,JobType:()=>fa,JsonMetadataTable:()=>yp,JulianDate:()=>$,KTX2Transcoder:()=>uD,KeyboardEventModifier:()=>Js,KeyframeNode:()=>Ki,KmlCamera:()=>dM,KmlDataSource:()=>IM,KmlLookAt:()=>CM,KmlTour:()=>TM,KmlTourFlyTo:()=>SM,KmlTourWait:()=>DM,Label:()=>Ug,LabelCollection:()=>Fh,LabelGraphics:()=>$f,LabelStyle:()=>No,LabelVisualizer:()=>WB,LagrangePolynomialApproximation:()=>aB,LeapSecond:()=>Fi,Light:()=>rX,LightingModel:()=>Rh,LightingPipelineStage:()=>lO,LinearApproximation:()=>rx,LinearSpline:()=>wg,ManagedArray:()=>Yl,MapMode2D:()=>wl,MapProjection:()=>Fj,MapboxImageryProvider:()=>wL,MapboxStyleImageryProvider:()=>sX,Material:()=>Vi,MaterialAppearance:()=>oo,MaterialPipelineStage:()=>fO,MaterialProperty:()=>Wo,Math:()=>P,Matrix2:()=>Ji,Matrix3:()=>Z,Matrix4:()=>M,Megatexture:()=>ES,MetadataClass:()=>ad,MetadataClassProperty:()=>hg,MetadataComponentType:()=>tn,MetadataEntity:()=>Nn,MetadataEnum:()=>kP,MetadataEnumValue:()=>UP,MetadataPipelineStage:()=>Ku,MetadataSchema:()=>cd,MetadataSchemaLoader:()=>RT,MetadataSemantic:()=>AA,MetadataTable:()=>fl,MetadataTableProperty:()=>SP,MetadataType:()=>zt,MipmapHint:()=>Ah,Model:()=>pd,Model3DTileContent:()=>Mh,ModelAlphaOptions:()=>vO,ModelAnimation:()=>p1,ModelAnimationChannel:()=>m1,ModelAnimationCollection:()=>_1,ModelAnimationLoop:()=>Ga,ModelAnimationState:()=>hd,ModelArticulation:()=>P1,ModelArticulationStage:()=>I1,ModelClippingPlanesPipelineStage:()=>B1,ModelColorPipelineStage:()=>Og,ModelComponents:()=>Rt,ModelDrawCommand:()=>b1,ModelFeature:()=>g1,ModelFeatureTable:()=>A1,ModelGraphics:()=>$m,ModelLightingOptions:()=>LO,ModelMatrixUpdateStage:()=>k1,ModelNode:()=>M1,ModelRenderResources:()=>wO,ModelRuntimeNode:()=>H1,ModelRuntimePrimitive:()=>SO,ModelSceneGraph:()=>FO,ModelSilhouettePipelineStage:()=>OO,ModelSkin:()=>DO,ModelSplitterPipelineStage:()=>BO,ModelStatistics:()=>VO,ModelType:()=>rr,ModelUtility:()=>sn,ModelVisualizer:()=>YB,Moon:()=>ZL,MorphTargetsPipelineStage:()=>hO,MorphWeightSpline:()=>Vj,MortonOrder:()=>Kg,Multiple3DTileContent:()=>SR,MultisampleFramebuffer:()=>Ww,NavigationHelpButton:()=>R2,NavigationHelpButtonViewModel:()=>O2,NearFarScalar:()=>Pt,NeverTileDiscardPolicy:()=>cX,NodeRenderResources:()=>MO,NodeStatisticsPipelineStage:()=>z1,NodeTransformationProperty:()=>Z0,OIT:()=>yN,Occluder:()=>mL,OctahedralProjectedCubeMap:()=>id,OffsetGeometryInstanceAttribute:()=>Wi,OpenCageGeocoderService:()=>zj,OpenStreetMapImageryProvider:()=>_C,OrderedGroundPrimitiveCollection:()=>gB,OrientedBoundingBox:()=>Rn,OrthographicFrustum:()=>en,OrthographicOffCenterFrustum:()=>Tr,Packable:()=>Hj,PackableForInterpolation:()=>Gj,Particle:()=>bS,ParticleBurst:()=>uX,ParticleEmitter:()=>fX,ParticleSystem:()=>dX,Pass:()=>Ee,PassState:()=>La,PathGraphics:()=>ep,PathVisualizer:()=>XB,PeliasGeocoderService:()=>dL,PerInstanceColorAppearance:()=>on,PerformanceDisplay:()=>P_,PerformanceWatchdog:()=>M2,PerformanceWatchdogViewModel:()=>B2,PerspectiveFrustum:()=>Ti,PerspectiveOffCenterFrustum:()=>zc,PickDepth:()=>mN,PickDepthFramebuffer:()=>xN,PickFramebuffer:()=>EN,Picking:()=>DN,PickingPipelineStage:()=>mO,PinBuilder:()=>d_,PixelDatatype:()=>Xe,PixelFormat:()=>rt,Plane:()=>cn,PlaneGeometry:()=>CB,PlaneGeometryUpdater:()=>EB,PlaneGraphics:()=>sP,PlaneOutlineGeometry:()=>TB,PntsLoader:()=>kO,PntsParser:()=>PA,PointCloud:()=>OF,PointCloudEyeDomeLighting:()=>Tp,PointCloudShading:()=>Oh,PointCloudStylingPipelineStage:()=>_O,PointGraphics:()=>Q0,PointPrimitive:()=>Ds,PointPrimitiveCollection:()=>SE,PointVisualizer:()=>ZB,PolygonGeometry:()=>px,PolygonGeometryLibrary:()=>Wn,PolygonGeometryUpdater:()=>vB,PolygonGraphics:()=>ed,PolygonHierarchy:()=>Dc,PolygonOutlineGeometry:()=>DB,PolygonPipeline:()=>li,Polyline:()=>ef,PolylineArrowMaterialProperty:()=>RE,PolylineCollection:()=>gd,PolylineColorAppearance:()=>Vr,PolylineDashMaterialProperty:()=>ME,PolylineGeometry:()=>f_,PolylineGeometryUpdater:()=>$B,PolylineGlowMaterialProperty:()=>NE,PolylineGraphics:()=>Ua,PolylineMaterialAppearance:()=>Vs,PolylineOutlineMaterialProperty:()=>iy,PolylinePipeline:()=>Di,PolylineVisualizer:()=>tM,PolylineVolumeGeometry:()=>PB,PolylineVolumeGeometryLibrary:()=>Ed,PolylineVolumeGeometryUpdater:()=>MB,PolylineVolumeGraphics:()=>$0,PolylineVolumeOutlineGeometry:()=>BB,PositionProperty:()=>Jm,PositionPropertyArray:()=>n_,PostProcessStage:()=>po,PostProcessStageCollection:()=>XN,PostProcessStageComposite:()=>jc,PostProcessStageLibrary:()=>Bf,PostProcessStageSampleMode:()=>Du,PostProcessStageTextureCache:()=>oC,Primitive:()=>Dn,PrimitiveCollection:()=>xl,PrimitiveLoadPlan:()=>bA,PrimitiveOutlineGenerator:()=>EA,PrimitiveOutlinePipelineStage:()=>AO,PrimitivePipeline:()=>F0,PrimitiveRenderResources:()=>NO,PrimitiveState:()=>mr,PrimitiveStatisticsPipelineStage:()=>xO,PrimitiveType:()=>Me,ProjectionPicker:()=>N2,ProjectionPickerViewModel:()=>L2,Property:()=>Y,PropertyArray:()=>VE,PropertyAttribute:()=>TA,PropertyAttributeProperty:()=>ZP,PropertyBag:()=>cl,PropertyTable:()=>Ic,PropertyTexture:()=>CA,PropertyTextureProperty:()=>KP,ProviderViewModel:()=>ps,Proxy:()=>Wj,QuadraticRealPolynomial:()=>xc,QuadtreeOccluders:()=>kL,QuadtreePrimitive:()=>YL,QuadtreeTile:()=>zL,QuadtreeTileLoadState:()=>Os,QuadtreeTileProvider:()=>yX,QuantizedMeshTerrainData:()=>Mx,QuarticRealPolynomial:()=>PI,Quaternion:()=>Le,QuaternionSpline:()=>h1,Queue:()=>jg,Ray:()=>wn,Rectangle:()=>ce,RectangleCollisionChecker:()=>Ax,RectangleGeometry:()=>gx,RectangleGeometryLibrary:()=>ls,RectangleGeometryUpdater:()=>LB,RectangleGraphics:()=>td,RectangleOutlineGeometry:()=>HA,ReferenceFrame:()=>to,ReferenceProperty:()=>i_,RenderState:()=>Ue,Renderbuffer:()=>Ul,RenderbufferFormat:()=>_c,Request:()=>zo,RequestErrorEvent:()=>ph,RequestScheduler:()=>Oa,RequestState:()=>hi,RequestType:()=>Qr,Resource:()=>Oe,ResourceCache:()=>Ui,ResourceCacheKey:()=>ml,ResourceCacheStatistics:()=>WP,ResourceLoader:()=>no,ResourceLoaderState:()=>Ut,Rotation:()=>mf,RuntimeError:()=>ue,S2Cell:()=>fp,SDFSettings:()=>bs,SampledPositionProperty:()=>Ys,SampledProperty:()=>ru,Sampler:()=>ln,ScaledPositionProperty:()=>Qh,Scene:()=>aF,SceneFramebuffer:()=>Jx,SceneMode:()=>te,SceneMode2DPipelineStage:()=>CO,SceneModePicker:()=>V2,SceneModePickerViewModel:()=>F2,SceneTransforms:()=>qi,SceneTransitioner:()=>ZN,ScreenSpaceCameraController:()=>eF,ScreenSpaceEventHandler:()=>Tu,ScreenSpaceEventType:()=>yn,SelectedFeatureIdPipelineStage:()=>Mg,SelectionIndicator:()=>z2,SelectionIndicatorViewModel:()=>k2,ShaderBuilder:()=>S0,ShaderCache:()=>Fw,ShaderDestination:()=>Te,ShaderFunction:()=>qw,ShaderProgram:()=>Xt,ShaderSource:()=>ke,ShaderStruct:()=>Yw,ShadowMap:()=>B_,ShadowMapShader:()=>_m,ShadowMode:()=>gn,ShadowVolumeAppearance:()=>Gl,ShowGeometryInstanceAttribute:()=>_n,Simon1994PlanetaryPositions:()=>K_,SimplePolylineGeometry:()=>$j,SingleTileImageryProvider:()=>PL,SkinningPipelineStage:()=>EO,SkyAtmosphere:()=>cF,SkyBox:()=>lF,SpatialNode:()=>DS,SphereEmitter:()=>xX,SphereGeometry:()=>eY,SphereOutlineGeometry:()=>Wp,Spherical:()=>cB,Spline:()=>io,SplitDirection:()=>Pc,Splitter:()=>SS,StaticGeometryColorBatch:()=>gf,StaticGeometryPerMaterialBatch:()=>yf,StaticGroundGeometryColorBatch:()=>sb,StaticGroundGeometryPerMaterialBatch:()=>NB,StaticGroundPolylinePerMaterialBatch:()=>eM,StaticOutlineGeometryBatch:()=>lb,StencilConstants:()=>Bt,StencilFunction:()=>kn,StencilOperation:()=>ut,SteppedSpline:()=>d1,StripeMaterialProperty:()=>kE,StripeOrientation:()=>Pd,StructuralMetadata:()=>da,StyleCommandsNeeded:()=>md,StyleExpression:()=>CX,Sun:()=>dF,SunLight:()=>Hm,SunPostProcess:()=>iF,SupportedImageFormats:()=>t1,SvgPathBindingHandler:()=>o2,TaskProcessor:()=>pi,TerrainData:()=>Yd,TerrainEncoding:()=>oc,TerrainExaggeration:()=>Cc,TerrainFillMesh:()=>sS,TerrainMesh:()=>Df,TerrainOffsetProperty:()=>eA,TerrainProvider:()=>Hr,TerrainQuantization:()=>Ps,TerrainState:()=>mo,Texture:()=>It,TextureAtlas:()=>Vg,TextureCache:()=>Vw,TextureMagnificationFilter:()=>yi,TextureManager:()=>QF,TextureMinificationFilter:()=>an,TextureUniform:()=>VX,TextureWrap:()=>vn,TileAvailability:()=>qd,TileBoundingRegion:()=>af,TileBoundingS2Cell:()=>OR,TileBoundingSphere:()=>jp,TileBoundingVolume:()=>TX,TileCoordinatesImageryProvider:()=>LF,TileDiscardPolicy:()=>bX,TileEdge:()=>pn,TileImagery:()=>iS,TileMapServiceImageryProvider:()=>Fy,TileMetadata:()=>ER,TileOrientedBoundingBox:()=>lf,TileProviderError:()=>Xn,TileReplacementQueue:()=>HL,TileSelectionResult:()=>$n,TileState:()=>SX,Tileset3DTileContent:()=>GO,TilesetMetadata:()=>RR,TilesetPipelineStage:()=>D1,TilingScheme:()=>tY,TimeConstants:()=>Qn,TimeDynamicImagery:()=>jx,TimeDynamicPointCloud:()=>IS,TimeInterval:()=>An,TimeIntervalCollection:()=>Pr,TimeIntervalCollectionPositionProperty:()=>o_,TimeIntervalCollectionProperty:()=>r_,TimeStandard:()=>qn,Timeline:()=>W2,TimelineHighlightRange:()=>H2,TimelineTrack:()=>G2,Tipsify:()=>LI,ToggleButtonViewModel:()=>Qy,Tonemapper:()=>Yy,Transforms:()=>Ot,TranslationRotationScale:()=>rg,TranslucentTileClassification:()=>bN,TridiagonalSystemSolver:()=>zT,TrustedServers:()=>YC,TweenCollection:()=>aC,UniformState:()=>Hw,UniformType:()=>OS,UrlTemplateImageryProvider:()=>ya,VERSION:()=>Nyt,VRButton:()=>Y2,VRButtonViewModel:()=>j2,VRTheWorldTerrainProvider:()=>nY,VaryingType:()=>UX,Vector3DTileBatch:()=>vh,Vector3DTileClampedPolylines:()=>dR,Vector3DTileContent:()=>mR,Vector3DTileGeometry:()=>lp,Vector3DTilePoints:()=>rR,Vector3DTilePolygons:()=>sR,Vector3DTilePolylines:()=>LA,Vector3DTilePrimitive:()=>aA,VelocityOrientationProperty:()=>uB,VelocityVectorProperty:()=>lx,VertexArray:()=>oi,VertexArrayFacade:()=>Wm,VertexAttributeSemantic:()=>Ct,VertexFormat:()=>Ie,VerticalOrigin:()=>On,VideoSynchronizer:()=>iY,View:()=>eC,Viewer:()=>iK,ViewportQuad:()=>wX,Visibility:()=>ur,Visualizer:()=>Q7,VoxelBoxShape:()=>Cm,VoxelContent:()=>gF,VoxelCylinderShape:()=>Tm,VoxelEllipsoidShape:()=>dC,VoxelInspector:()=>X2,VoxelInspectorViewModel:()=>q2,VoxelPrimitive:()=>BS,VoxelProvider:()=>OX,VoxelRenderResources:()=>KF,VoxelShape:()=>RX,VoxelShapeType:()=>zi,VoxelTraversal:()=>PS,VulkanConstants:()=>oY,WallGeometry:()=>VB,WallGeometryLibrary:()=>xx,WallGeometryUpdater:()=>zB,WallGraphics:()=>tp,WallOutlineGeometry:()=>kB,WebGLConstants:()=>ee,WebMapServiceImageryProvider:()=>RL,WebMapTileServiceImageryProvider:()=>ML,WebMercatorProjection:()=>Si,WebMercatorTilingScheme:()=>Gr,WindingOrder:()=>Zr,WireframeIndexGenerator:()=>ZT,WireframePipelineStage:()=>bO,_shadersAcesTonemappingStage:()=>vN,_shadersAdditiveBlend:()=>tF,_shadersAdjustTranslucentFS:()=>wb,_shadersAllMaterialAppearanceFS:()=>$w,_shadersAllMaterialAppearanceVS:()=>eI,_shadersAmbientOcclusionGenerate:()=>wN,_shadersAmbientOcclusionModulate:()=>IN,_shadersAspectRampMaterial:()=>rI,_shadersAtmosphereCommon:()=>p_,_shadersBasicMaterialAppearanceFS:()=>tI,_shadersBasicMaterialAppearanceVS:()=>nI,_shadersBillboardCollectionFS:()=>WO,_shadersBillboardCollectionVS:()=>jO,_shadersBlackAndWhite:()=>PN,_shadersBloomComposite:()=>ON,_shadersBrdfLutGeneratorFS:()=>OM,_shadersBrightPass:()=>nF,_shadersBrightness:()=>RN,_shadersBumpMapMaterial:()=>sI,_shadersCPUStylingStageFS:()=>q1,_shadersCPUStylingStageVS:()=>Y1,_shadersCheckerboardMaterial:()=>aI,_shadersCloudCollectionFS:()=>RM,_shadersCloudCollectionVS:()=>BM,_shadersCloudNoiseFS:()=>MM,_shadersCloudNoiseVS:()=>LM,_shadersCompareAndPackTranslucentDepth:()=>NM,_shadersCompositeOITFS:()=>FM,_shadersCompositeTranslucentClassification:()=>$x,_shadersContrastBias:()=>BN,_shadersCustomShaderStageFS:()=>Z1,_shadersCustomShaderStageVS:()=>K1,_shadersCzmBuiltins:()=>C0,_shadersDepthOfField:()=>MN,_shadersDepthPlaneFS:()=>VM,_shadersDepthPlaneVS:()=>UM,_shadersDepthView:()=>LN,_shadersDepthViewPacked:()=>FX,_shadersDotMaterial:()=>cI,_shadersEdgeDetection:()=>NN,_shadersElevationBandMaterial:()=>lI,_shadersElevationContourMaterial:()=>uI,_shadersElevationRampMaterial:()=>fI,_shadersEllipsoidFS:()=>Ib,_shadersEllipsoidSurfaceAppearanceFS:()=>CF,_shadersEllipsoidSurfaceAppearanceVS:()=>TF,_shadersEllipsoidVS:()=>Pb,_shadersFXAA:()=>VN,_shadersFXAA3_11:()=>kM,_shadersFadeMaterial:()=>dI,_shadersFeatureIdStageFS:()=>J1,_shadersFeatureIdStageVS:()=>Q1,_shadersFilmicTonemapping:()=>FN,_shadersGaussianBlur1D:()=>jy,_shadersGeometryStageFS:()=>oO,_shadersGeometryStageVS:()=>rO,_shadersGlobeFS:()=>zM,_shadersGlobeVS:()=>HM,_shadersGridMaterial:()=>hI,_shadersGroundAtmosphere:()=>Ob,_shadersHSBToRGB:()=>sv,_shadersHSLToRGB:()=>av,_shadersImageBasedLightingStageFS:()=>v1,_shadersInstancingStageCommon:()=>L1,_shadersInstancingStageVS:()=>N1,_shadersIntersectBox:()=>zF,_shadersIntersectClippingPlanes:()=>kF,_shadersIntersectCylinder:()=>HF,_shadersIntersectDepth:()=>UF,_shadersIntersectEllipsoid:()=>GF,_shadersIntersection:()=>xC,_shadersIntersectionUtils:()=>VF,_shadersLegacyInstancingStageVS:()=>F1,_shadersLensFlare:()=>UN,_shadersLightingStageFS:()=>cO,_shadersMaterialStageFS:()=>uO,_shadersMegatexture:()=>XF,_shadersMetadataStageFS:()=>$1,_shadersMetadataStageVS:()=>eO,_shadersModelClippingPlanesStageFS:()=>R1,_shadersModelColorStageFS:()=>O1,_shadersModelFS:()=>x1,_shadersModelSilhouetteStageFS:()=>IO,_shadersModelSilhouetteStageVS:()=>PO,_shadersModelSplitterStageFS:()=>RO,_shadersModelVS:()=>C1,_shadersModifiedReinhardTonemapping:()=>kN,_shadersMorphTargetsStageVS:()=>dO,_shadersNightVision:()=>zN,_shadersNormalMapMaterial:()=>mI,_shadersOctahedralProjectionAtlasFS:()=>mP,_shadersOctahedralProjectionFS:()=>pP,_shadersOctahedralProjectionVS:()=>_P,_shadersOctree:()=>qF,_shadersPassThrough:()=>Il,_shadersPassThroughDepth:()=>Hy,_shadersPerInstanceColorAppearanceFS:()=>bI,_shadersPerInstanceColorAppearanceVS:()=>SI,_shadersPerInstanceFlatColorAppearanceFS:()=>w0,_shadersPerInstanceFlatColorAppearanceVS:()=>DI,_shadersPointCloudEyeDomeLighting:()=>n1,_shadersPointCloudStylingStageVS:()=>pO,_shadersPointPrimitiveCollectionFS:()=>ny,_shadersPointPrimitiveCollectionVS:()=>JR,_shadersPolylineArrowMaterial:()=>pI,_shadersPolylineColorAppearanceVS:()=>qI,_shadersPolylineCommon:()=>Wl,_shadersPolylineDashMaterial:()=>_I,_shadersPolylineFS:()=>H0,_shadersPolylineGlowMaterial:()=>gI,_shadersPolylineMaterialAppearanceVS:()=>XI,_shadersPolylineOutlineMaterial:()=>yI,_shadersPolylineShadowVolumeFS:()=>GI,_shadersPolylineShadowVolumeMorphFS:()=>WI,_shadersPolylineShadowVolumeMorphVS:()=>jI,_shadersPolylineShadowVolumeVS:()=>YI,_shadersPolylineVS:()=>$O,_shadersPrimitiveOutlineStageFS:()=>yO,_shadersPrimitiveOutlineStageVS:()=>gO,_shadersRGBToHSB:()=>cv,_shadersRGBToHSL:()=>lv,_shadersRGBToXYZ:()=>uv,_shadersReinhardTonemapping:()=>HN,_shadersReprojectWebMercatorFS:()=>GM,_shadersReprojectWebMercatorVS:()=>WM,_shadersRimLightingMaterial:()=>AI,_shadersSelectedFeatureIdStageCommon:()=>KT,_shadersShadowVolumeAppearanceFS:()=>lT,_shadersShadowVolumeAppearanceVS:()=>OI,_shadersShadowVolumeFS:()=>eg,_shadersSilhouette:()=>GN,_shadersSkinningStageVS:()=>TO,_shadersSkyAtmosphereCommon:()=>Rb,_shadersSkyAtmosphereFS:()=>jM,_shadersSkyAtmosphereVS:()=>YM,_shadersSkyBoxFS:()=>qM,_shadersSkyBoxVS:()=>XM,_shadersSlopeRampMaterial:()=>xI,_shadersStripeMaterial:()=>CI,_shadersSunFS:()=>KM,_shadersSunTextureFS:()=>ZM,_shadersSunVS:()=>JM,_shadersTexturedMaterialAppearanceFS:()=>iI,_shadersTexturedMaterialAppearanceVS:()=>oI,_shadersVector3DTileClampedPolylinesFS:()=>uR,_shadersVector3DTileClampedPolylinesVS:()=>lR,_shadersVector3DTilePolylinesVS:()=>aR,_shadersVectorTileVS:()=>AT,_shadersViewportQuadFS:()=>QM,_shadersViewportQuadVS:()=>l0,_shadersVoxelFS:()=>NF,_shadersVoxelVS:()=>FF,_shadersWater:()=>TI,_shadersXYZToRGB:()=>fv,_shadersacesTonemapping:()=>dv,_shadersalphaWeight:()=>hv,_shadersantialias:()=>mv,_shadersapproximateSphericalCoordinates:()=>pv,_shadersbackFacing:()=>_v,_shadersbranchFreeTernary:()=>gv,_shaderscascadeColor:()=>yv,_shaderscascadeDistance:()=>Av,_shaderscascadeMatrix:()=>xv,_shaderscascadeWeights:()=>Cv,_shaderscolumbusViewMorph:()=>Tv,_shaderscomputePosition:()=>Ev,_shadersconvertUvToBox:()=>WF,_shadersconvertUvToCylinder:()=>jF,_shadersconvertUvToEllipsoid:()=>YF,_shaderscosineAndSine:()=>bv,_shadersdecompressTextureCoordinates:()=>Sv,_shadersdefaultPbrMaterial:()=>Dv,_shadersdegreesPerRadian:()=>hD,_shadersdepthClamp:()=>vv,_shadersdepthRange:()=>mD,_shadersdepthRangeStruct:()=>JD,_shaderseastNorthUpToEyeCoordinates:()=>wv,_shadersellipsoidContainsPoint:()=>Iv,_shadersellipsoidWgs84TextureCoordinates:()=>Pv,_shadersepsilon1:()=>pD,_shadersepsilon2:()=>_D,_shadersepsilon3:()=>gD,_shadersepsilon4:()=>yD,_shadersepsilon5:()=>AD,_shadersepsilon6:()=>xD,_shadersepsilon7:()=>CD,_shadersequalsEpsilon:()=>Ov,_shaderseyeOffset:()=>Rv,_shaderseyeToWindowCoordinates:()=>Bv,_shadersfastApproximateAtan:()=>Mv,_shadersfog:()=>Lv,_shadersgammaCorrect:()=>Nv,_shadersgeodeticSurfaceNormal:()=>Fv,_shadersgetDefaultMaterial:()=>Vv,_shadersgetLambertDiffuse:()=>Uv,_shadersgetSpecular:()=>kv,_shadersgetWaterNoise:()=>zv,_shadershue:()=>Hv,_shadersinfinity:()=>TD,_shadersinverseGamma:()=>Gv,_shadersisEmpty:()=>Wv,_shadersisFull:()=>jv,_shaderslatitudeToWebMercatorFraction:()=>Yv,_shaderslineDistance:()=>qv,_shaderslinearToSrgb:()=>Xv,_shadersluminance:()=>Kv,_shadersmaterial:()=>QD,_shadersmaterialInput:()=>$D,_shadersmetersPerPixel:()=>Zv,_shadersmodelMaterial:()=>ev,_shadersmodelToWindowCoordinates:()=>Jv,_shadersmodelVertexOutput:()=>tv,_shadersmultiplyWithColorBalance:()=>Qv,_shadersnearFarScalar:()=>$v,_shadersoctDecode:()=>ew,_shadersoneOverPi:()=>ED,_shadersoneOverTwoPi:()=>bD,_shaderspackDepth:()=>tw,_shaderspassCesium3DTile:()=>SD,_shaderspassCesium3DTileClassification:()=>DD,_shaderspassCesium3DTileClassificationIgnoreShow:()=>vD,_shaderspassClassification:()=>wD,_shaderspassCompute:()=>ID,_shaderspassEnvironment:()=>PD,_shaderspassGlobe:()=>OD,_shaderspassOpaque:()=>RD,_shaderspassOverlay:()=>BD,_shaderspassTerrainClassification:()=>MD,_shaderspassTranslucent:()=>LD,_shaderspassVoxels:()=>ND,_shaderspbrLighting:()=>nw,_shaderspbrMetallicRoughnessMaterial:()=>iw,_shaderspbrParameters:()=>nv,_shaderspbrSpecularGlossinessMaterial:()=>ow,_shadersphong:()=>rw,_shaderspi:()=>FD,_shaderspiOverFour:()=>VD,_shaderspiOverSix:()=>UD,_shaderspiOverThree:()=>kD,_shaderspiOverTwo:()=>zD,_shadersplaneDistance:()=>sw,_shaderspointAlongRay:()=>aw,_shadersradiansPerDegree:()=>HD,_shadersray:()=>iv,_shadersrayEllipsoidIntersectionInterval:()=>cw,_shadersraySegment:()=>ov,_shadersraySphereIntersectionInterval:()=>lw,_shadersreadDepth:()=>uw,_shadersreadNonPerspective:()=>fw,_shadersreverseLogDepth:()=>dw,_shadersround:()=>hw,_shaderssampleOctahedralProjection:()=>mw,_shaderssaturation:()=>pw,_shaderssceneMode2D:()=>GD,_shaderssceneMode3D:()=>WD,_shaderssceneModeColumbusView:()=>jD,_shaderssceneModeMorphing:()=>YD,_shadersshadowDepthCompare:()=>_w,_shadersshadowParameters:()=>rv,_shadersshadowVisibility:()=>gw,_shaderssignNotZero:()=>yw,_shaderssolarRadius:()=>qD,_shaderssphericalHarmonics:()=>Aw,_shaderssrgbToLinear:()=>xw,_shaderstangentToEyeSpaceMatrix:()=>Cw,_shaderstextureCube:()=>Tw,_shadersthreePiOver2:()=>XD,_shaderstransformPlane:()=>Ew,_shaderstranslateRelativeToEye:()=>bw,_shaderstranslucentPhong:()=>Sw,_shaderstranspose:()=>Dw,_shaderstwoPi:()=>KD,_shadersunpackDepth:()=>vw,_shadersunpackFloat:()=>ww,_shadersunpackUint:()=>Iw,_shadersvalueTransform:()=>Pw,_shadersvertexLogDepth:()=>Ow,_shaderswebMercatorMaxLatitude:()=>ZD,_shaderswindowToEyeCoordinates:()=>Rw,_shaderswriteDepthClamp:()=>Bw,_shaderswriteLogDepth:()=>Mw,_shaderswriteNonPerspective:()=>Lw,addBuffer:()=>MP,addDefaults:()=>DP,addExtensionsRequired:()=>OP,addExtensionsUsed:()=>Yu,addPipelineExtras:()=>yg,addToArray:()=>rs,appendForwardSlash:()=>QS,arrayRemoveDuplicates:()=>go,barycentricCoordinates:()=>R0,binarySearch:()=>wo,buildDrawCommand:()=>S1,buildModuleUrl:()=>$t,buildVoxelDrawCommands:()=>JF,cancelAnimationFrame:()=>rY,clone:()=>Ge,combine:()=>_t,computeFlyToLocationForRectangle:()=>bC,createBillboardPointCallback:()=>OA,createCommand:()=>Cn,createDefaultImageryProviderViewModels:()=>m2,createDefaultTerrainProviderViewModels:()=>p2,createElevationBandMaterial:()=>MX,createGuid:()=>zn,createMaterialPropertyDescriptor:()=>Io,createOsmBuildings:()=>LX,createPropertyDescriptor:()=>ae,createRawPropertyDescriptor:()=>al,createTangentSpaceDebugPrimitive:()=>NX,createTaskProcessorWorker:()=>kX,createUniform:()=>jS,createUniformArray:()=>YS,createWorldImagery:()=>D_,createWorldTerrain:()=>gL,decodeGoogleEarthEnterpriseData:()=>yL,decodeVectorPolylinePositions:()=>hR,defaultValue:()=>y,defer:()=>Jr,defined:()=>u,demodernizeShader:()=>Nw,deprecationWarning:()=>nr,destroyObject:()=>le,exportKml:()=>ij,findAccessorMinMax:()=>mA,findContentMetadata:()=>UA,findGroupMetadata:()=>kA,findTileMetadata:()=>bR,forEachTextureInMaterial:()=>wT,formatError:()=>cm,freezeRenderState:()=>rG,getAbsoluteUri:()=>Fm,getAccessorByteStride:()=>dl,getBaseUri:()=>$S,getBinaryAccessor:()=>ql,getClipAndStyleCode:()=>IF,getClippingFunction:()=>v_,getComponentReader:()=>gp,getElement:()=>In,getExtensionFromUri:()=>f0,getFilenameFromUri:()=>e_,getImageFromTypedArray:()=>AL,getImagePixels:()=>Wf,getJsonFromTypedArray:()=>Oo,getMagic:()=>od,getStringFromTypedArray:()=>ll,getTimestamp:()=>di,hasExtension:()=>ai,heightReferenceOnEntityPropertyChanged:()=>np,isBitSet:()=>sc,isBlobUri:()=>d0,isCrossOriginUrl:()=>h0,isDataUri:()=>Vm,isLeapYear:()=>Nm,knockout:()=>Ce,knockout_3_5_1:()=>SC,knockout_es5:()=>i2,loadAndExecuteScript:()=>m0,loadCubeMap:()=>Xw,loadImageFromTypedArray:()=>fA,loadKTX2:()=>tl,mergeSort:()=>C_,moveTechniqueRenderStates:()=>PP,moveTechniquesToExtension:()=>RP,numberOfComponentsForType:()=>Kl,objectToQuery:()=>p0,oneTimeWarning:()=>wt,parseBatchTable:()=>Sp,parseBoundingVolumeSemantics:()=>jP,parseFeatureMetadataLegacy:()=>$P,parseGlb:()=>wP,parseResponseHeaders:()=>eD,parseStructuralMetadata:()=>QP,pointInsideTriangle:()=>uY,preprocess3DTileContent:()=>Hh,processVoxelProperties:()=>ZF,queryToObject:()=>Nl,readAccessorPacked:()=>LP,removeExtension:()=>pA,removeExtensionsRequired:()=>vP,removeExtensionsUsed:()=>hA,removePipelineExtras:()=>IP,removeUnusedElements:()=>BP,requestAnimationFrame:()=>fY,resizeImageToNextPowerOfTwo:()=>Cg,sampleTerrain:()=>jB,sampleTerrainMostDetailed:()=>u_,scaleToGeodeticSurface:()=>c0,subdivideArray:()=>RI,subscribeAndEvaluate:()=>ta,updateAccessorComponentTypes:()=>NP,updateVersion:()=>FP,usesExtension:()=>_r,viewerCesium3DTilesInspectorMixin:()=>oK,viewerCesiumInspectorMixin:()=>rK,viewerDragDropMixin:()=>aK,viewerPerformanceWatchdogMixin:()=>cK,viewerVoxelInspectorMixin:()=>lK,webGLConstantToGlslType:()=>dY,wrapFunction:()=>xL,writeTextToCanvas:()=>BA});function ixe(e){return e!=null}var u=ixe;function s0(e){this.name="DeveloperError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}u(Object.create)&&(s0.prototype=Object.create(Error.prototype),s0.prototype.constructor=s0);s0.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return u(this.stack)&&(e+=` +${this.stack.toString()}`),e};s0.throwInstantiationError=function(){throw new s0("This function defines an interface and should not be called directly.")};var de=s0;var is={};is.typeOf={};function oxe(e){return`${e} is required, actual value was undefined`}function LC(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}is.defined=function(e,t){if(!u(t))throw new de(oxe(e))};is.typeOf.func=function(e,t){if(typeof t!="function")throw new de(LC(typeof t,"function",e))};is.typeOf.string=function(e,t){if(typeof t!="string")throw new de(LC(typeof t,"string",e))};is.typeOf.number=function(e,t){if(typeof t!="number")throw new de(LC(typeof t,"number",e))};is.typeOf.number.lessThan=function(e,t,n){if(is.typeOf.number(e,t),t>=n)throw new de(`Expected ${e} to be less than ${n}, actual value was ${t}`)};is.typeOf.number.lessThanOrEquals=function(e,t,n){if(is.typeOf.number(e,t),t>n)throw new de(`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)};is.typeOf.number.greaterThan=function(e,t,n){if(is.typeOf.number(e,t),t<=n)throw new de(`Expected ${e} to be greater than ${n}, actual value was ${t}`)};is.typeOf.number.greaterThanOrEquals=function(e,t,n){if(is.typeOf.number(e,t),t<n)throw new de(`Expected ${e} to be greater than or equal to ${n}, actual value was ${t}`)};is.typeOf.object=function(e,t){if(typeof t!="object")throw new de(LC(typeof t,"object",e))};is.typeOf.bool=function(e,t){if(typeof t!="boolean")throw new de(LC(typeof t,"boolean",e))};is.typeOf.bigint=function(e,t){if(typeof t!="bigint")throw new de(LC(typeof t,"bigint",e))};is.typeOf.number.equals=function(e,t,n,i){if(is.typeOf.number(e,n),is.typeOf.number(t,i),n!==i)throw new de(`${e} must be equal to ${t}, the actual values are ${n} and ${i}`)};var Qc=is;function IK(e,t){return e??t}IK.EMPTY_OBJECT=Object.freeze({});var y=IK;var zH=vo(i3(),1);var st={};st.EPSILON1=.1;st.EPSILON2=.01;st.EPSILON3=.001;st.EPSILON4=1e-4;st.EPSILON5=1e-5;st.EPSILON6=1e-6;st.EPSILON7=1e-7;st.EPSILON8=1e-8;st.EPSILON9=1e-9;st.EPSILON10=1e-10;st.EPSILON11=1e-11;st.EPSILON12=1e-12;st.EPSILON13=1e-13;st.EPSILON14=1e-14;st.EPSILON15=1e-15;st.EPSILON16=1e-16;st.EPSILON17=1e-17;st.EPSILON18=1e-18;st.EPSILON19=1e-19;st.EPSILON20=1e-20;st.EPSILON21=1e-21;st.GRAVITATIONALPARAMETER=3986004418e5;st.SOLAR_RADIUS=6955e5;st.LUNAR_RADIUS=1737400;st.SIXTY_FOUR_KILOBYTES=64*1024;st.FOUR_GIGABYTES=4*1024*1024*1024;st.sign=y(Math.sign,function(t){return t=+t,t===0||t!==t?t:t>0?1:-1});st.signNotZero=function(e){return e<0?-1:1};st.toSNorm=function(e,t){return t=y(t,255),Math.round((st.clamp(e,-1,1)*.5+.5)*t)};st.fromSNorm=function(e,t){return t=y(t,255),st.clamp(e,0,t)/t*2-1};st.normalize=function(e,t,n){return n=Math.max(n-t,0),n===0?0:st.clamp((e-t)/n,0,1)};st.sinh=y(Math.sinh,function(t){return(Math.exp(t)-Math.exp(-t))/2});st.cosh=y(Math.cosh,function(t){return(Math.exp(t)+Math.exp(-t))/2});st.lerp=function(e,t,n){return(1-n)*e+n*t};st.PI=Math.PI;st.ONE_OVER_PI=1/Math.PI;st.PI_OVER_TWO=Math.PI/2;st.PI_OVER_THREE=Math.PI/3;st.PI_OVER_FOUR=Math.PI/4;st.PI_OVER_SIX=Math.PI/6;st.THREE_PI_OVER_TWO=3*Math.PI/2;st.TWO_PI=2*Math.PI;st.ONE_OVER_TWO_PI=1/(2*Math.PI);st.RADIANS_PER_DEGREE=Math.PI/180;st.DEGREES_PER_RADIAN=180/Math.PI;st.RADIANS_PER_ARCSECOND=st.RADIANS_PER_DEGREE/3600;st.toRadians=function(e){return e*st.RADIANS_PER_DEGREE};st.toDegrees=function(e){return e*st.DEGREES_PER_RADIAN};st.convertLongitudeRange=function(e){let t=st.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n};st.clampToLatitudeRange=function(e){return st.clamp(e,-1*st.PI_OVER_TWO,st.PI_OVER_TWO)};st.negativePiToPi=function(e){return e>=-st.PI&&e<=st.PI?e:st.zeroToTwoPi(e+st.PI)-st.PI};st.zeroToTwoPi=function(e){if(e>=0&&e<=st.TWO_PI)return e;let t=st.mod(e,st.TWO_PI);return Math.abs(t)<st.EPSILON14&&Math.abs(e)>st.EPSILON14?st.TWO_PI:t};st.mod=function(e,t){return st.sign(e)===st.sign(t)&&Math.abs(e)<Math.abs(t)?e:(e%t+t)%t};st.equalsEpsilon=function(e,t,n,i){n=y(n,0),i=y(i,n);let o=Math.abs(e-t);return o<=i||o<=n*Math.max(Math.abs(e),Math.abs(t))};st.lessThan=function(e,t,n){return e-t<-n};st.lessThanOrEquals=function(e,t,n){return e-t<n};st.greaterThan=function(e,t,n){return e-t>n};st.greaterThanOrEquals=function(e,t,n){return e-t>-n};var o3=[1];st.factorial=function(e){let t=o3.length;if(e>=t){let n=o3[t-1];for(let i=t;i<=e;i++){let o=n*i;o3.push(o),n=o}}return o3[e]};st.incrementWrap=function(e,t,n){return n=y(n,0),++e,e>t&&(e=n),e};st.isPowerOfTwo=function(e){return e!==0&&(e&e-1)===0};st.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e};st.previousPowerOfTwo=function(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e=(e>>>0)-(e>>>1),e};st.clamp=function(e,t,n){return e<t?t:e>n?n:e};var OK=new zH.default;st.setRandomNumberSeed=function(e){OK=new zH.default(e)};st.nextRandomNumber=function(){return OK.random()};st.randomBetween=function(e,t){return st.nextRandomNumber()*(t-e)+e};st.acosClamped=function(e){return Math.acos(st.clamp(e,-1,1))};st.asinClamped=function(e){return Math.asin(st.clamp(e,-1,1))};st.chordLength=function(e,t){return 2*t*Math.sin(e*.5)};st.logBase=function(e,t){return Math.log(e)/Math.log(t)};st.cbrt=y(Math.cbrt,function(t){let n=Math.pow(Math.abs(t),.3333333333333333);return t<0?-n:n});st.log2=y(Math.log2,function(t){return Math.log(t)*Math.LOG2E});st.fog=function(e,t){let n=e*t;return 1-Math.exp(-(n*n))};st.fastApproximateAtan=function(e){return e*(-.1784*Math.abs(e)-.0663*e*e+1.0301)};st.fastApproximateAtan2=function(e,t){let n,i=Math.abs(e);n=Math.abs(t);let o=Math.max(i,n);n=Math.min(i,n);let r=n/o;return i=st.fastApproximateAtan(r),i=Math.abs(t)>Math.abs(e)?st.PI_OVER_TWO-i:i,i=e<0?st.PI-i:i,i=t<0?-i:i,i};var P=st;function $e(e,t,n){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0)}$e.fromSpherical=function(e,t){u(t)||(t=new $e);let n=e.clock,i=e.cone,o=y(e.magnitude,1),r=o*Math.sin(i);return t.x=r*Math.cos(n),t.y=r*Math.sin(n),t.z=o*Math.cos(i),t};$e.fromElements=function(e,t,n,i){return u(i)?(i.x=e,i.y=t,i.z=n,i):new $e(e,t,n)};$e.clone=function(e,t){if(u(e))return u(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new $e(e.x,e.y,e.z)};$e.fromCartesian4=$e.clone;$e.packedLength=3;$e.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t};$e.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new $e),n.x=e[t++],n.y=e[t++],n.z=e[t],n};$e.packArray=function(e,t){let n=e.length,i=n*3;u(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)$e.pack(e[o],t,o*3);return t};$e.unpackArray=function(e,t){let n=e.length;u(t)?t.length=n/3:t=new Array(n/3);for(let i=0;i<n;i+=3){let o=i/3;t[o]=$e.unpack(e,i,t[o])}return t};$e.fromArray=$e.unpack;$e.maximumComponent=function(e){return Math.max(e.x,e.y,e.z)};$e.minimumComponent=function(e){return Math.min(e.x,e.y,e.z)};$e.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n};$e.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n};$e.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z);return i.x=o,i.y=r,i.z=s,i};$e.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z};$e.magnitude=function(e){return Math.sqrt($e.magnitudeSquared(e))};var s3=new $e;$e.distance=function(e,t){return $e.subtract(e,t,s3),$e.magnitude(s3)};$e.distanceSquared=function(e,t){return $e.subtract(e,t,s3),$e.magnitudeSquared(s3)};$e.normalize=function(e,t){let n=$e.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t};$e.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z};$e.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n};$e.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n};$e.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n};$e.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n};$e.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n};$e.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n};$e.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t};$e.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t};var RK=new $e;$e.lerp=function(e,t,n,i){return $e.multiplyByScalar(t,n,RK),i=$e.multiplyByScalar(e,1-n,i),$e.add(RK,i,i)};var r3=new $e,HH=new $e;$e.angleBetween=function(e,t){$e.normalize(e,r3),$e.normalize(t,HH);let n=$e.dot(r3,HH),i=$e.magnitude($e.cross(r3,HH,r3));return Math.atan2(i,n)};var rxe=new $e;$e.mostOrthogonalAxis=function(e,t){let n=$e.normalize(e,rxe);return $e.abs(n,n),n.x<=n.y?n.x<=n.z?t=$e.clone($e.UNIT_X,t):t=$e.clone($e.UNIT_Z,t):n.y<=n.z?t=$e.clone($e.UNIT_Y,t):t=$e.clone($e.UNIT_Z,t),t};$e.projectVector=function(e,t,n){let i=$e.dot(e,t)/$e.dot(t,t);return $e.multiplyByScalar(t,i,n)};$e.equals=function(e,t){return e===t||u(e)&&u(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z};$e.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]};$e.equalsEpsilon=function(e,t,n,i){return e===t||u(e)&&u(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)};$e.cross=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=t.x,a=t.y,c=t.z,l=o*c-r*a,f=r*s-i*c,d=i*a-o*s;return n.x=l,n.y=f,n.z=d,n};$e.midpoint=function(e,t,n){return n.x=(e.x+t.x)*.5,n.y=(e.y+t.y)*.5,n.z=(e.z+t.z)*.5,n};$e.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(e),t=P.toRadians(t),$e.fromRadians(e,t,n,i,o)};var Bu=new $e,NC=new $e,sxe=new $e(6378137*6378137,6378137*6378137,6356752314245179e-9*6356752314245179e-9);$e.fromRadians=function(e,t,n,i,o){n=y(n,0);let r=u(i)?i.radiiSquared:sxe,s=Math.cos(t);Bu.x=s*Math.cos(e),Bu.y=s*Math.sin(e),Bu.z=Math.sin(t),Bu=$e.normalize(Bu,Bu),$e.multiplyComponents(r,Bu,NC);let a=Math.sqrt($e.dot(Bu,NC));return NC=$e.divideByScalar(NC,a,NC),Bu=$e.multiplyByScalar(Bu,n,Bu),u(o)||(o=new $e),$e.add(NC,Bu,o)};$e.fromDegreesArray=function(e,t,n){let i=e.length;u(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=$e.fromDegrees(r,s,0,t,n[a])}return n};$e.fromRadiansArray=function(e,t,n){let i=e.length;u(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=$e.fromRadians(r,s,0,t,n[a])}return n};$e.fromDegreesArrayHeights=function(e,t,n){let i=e.length;u(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=$e.fromDegrees(r,s,a,t,n[c])}return n};$e.fromRadiansArrayHeights=function(e,t,n){let i=e.length;u(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=$e.fromRadians(r,s,a,t,n[c])}return n};$e.ZERO=Object.freeze(new $e(0,0,0));$e.ONE=Object.freeze(new $e(1,1,1));$e.UNIT_X=Object.freeze(new $e(1,0,0));$e.UNIT_Y=Object.freeze(new $e(0,1,0));$e.UNIT_Z=Object.freeze(new $e(0,0,1));$e.prototype.clone=function(e){return $e.clone(this,e)};$e.prototype.equals=function(e){return $e.equals(this,e)};$e.prototype.equalsEpsilon=function(e,t,n){return $e.equalsEpsilon(this,e,t,n)};$e.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};var h=$e;function pt(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}pt.fromElements=function(e,t,n,i,o){return u(o)?(o.x=e,o.y=t,o.z=n,o.w=i,o):new pt(e,t,n,i)};pt.fromColor=function(e,t){return u(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new pt(e.red,e.green,e.blue,e.alpha)};pt.clone=function(e,t){if(u(e))return u(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new pt(e.x,e.y,e.z,e.w)};pt.packedLength=4;pt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};pt.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new pt),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n};pt.packArray=function(e,t){let n=e.length,i=n*4;u(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)pt.pack(e[o],t,o*4);return t};pt.unpackArray=function(e,t){let n=e.length;u(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=pt.unpack(e,i,t[o])}return t};pt.fromArray=pt.unpack;pt.maximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)};pt.minimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)};pt.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n};pt.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n};pt.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z),a=P.clamp(e.w,t.w,n.w);return i.x=o,i.y=r,i.z=s,i.w=a,i};pt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};pt.magnitude=function(e){return Math.sqrt(pt.magnitudeSquared(e))};var a3=new pt;pt.distance=function(e,t){return pt.subtract(e,t,a3),pt.magnitude(a3)};pt.distanceSquared=function(e,t){return pt.subtract(e,t,a3),pt.magnitudeSquared(a3)};pt.normalize=function(e,t){let n=pt.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t};pt.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};pt.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n};pt.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n.w=e.w/t.w,n};pt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};pt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};pt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};pt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};pt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};pt.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t};var BK=new pt;pt.lerp=function(e,t,n,i){return pt.multiplyByScalar(t,n,BK),i=pt.multiplyByScalar(e,1-n,i),pt.add(BK,i,i)};var axe=new pt;pt.mostOrthogonalAxis=function(e,t){let n=pt.normalize(e,axe);return pt.abs(n,n),n.x<=n.y?n.x<=n.z?n.x<=n.w?t=pt.clone(pt.UNIT_X,t):t=pt.clone(pt.UNIT_W,t):n.z<=n.w?t=pt.clone(pt.UNIT_Z,t):t=pt.clone(pt.UNIT_W,t):n.y<=n.z?n.y<=n.w?t=pt.clone(pt.UNIT_Y,t):t=pt.clone(pt.UNIT_W,t):n.z<=n.w?t=pt.clone(pt.UNIT_Z,t):t=pt.clone(pt.UNIT_W,t),t};pt.equals=function(e,t){return e===t||u(e)&&u(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};pt.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]};pt.equalsEpsilon=function(e,t,n,i){return e===t||u(e)&&u(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)&&P.equalsEpsilon(e.w,t.w,n,i)};pt.ZERO=Object.freeze(new pt(0,0,0,0));pt.ONE=Object.freeze(new pt(1,1,1,1));pt.UNIT_X=Object.freeze(new pt(1,0,0,0));pt.UNIT_Y=Object.freeze(new pt(0,1,0,0));pt.UNIT_Z=Object.freeze(new pt(0,0,1,0));pt.UNIT_W=Object.freeze(new pt(0,0,0,1));pt.prototype.clone=function(e){return pt.clone(this,e)};pt.prototype.equals=function(e){return pt.equals(this,e)};pt.prototype.equalsEpsilon=function(e,t,n){return pt.equalsEpsilon(this,e,t,n)};pt.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var GH=new Float32Array(1),va=new Uint8Array(GH.buffer),cxe=new Uint32Array([287454020]),lxe=new Uint8Array(cxe.buffer),MK=lxe[0]===68;pt.packFloat=function(e,t){return u(t)||(t=new pt),GH[0]=e,MK?(t.x=va[0],t.y=va[1],t.z=va[2],t.w=va[3]):(t.x=va[3],t.y=va[2],t.z=va[1],t.w=va[0]),t};pt.unpackFloat=function(e){return MK?(va[0]=e.x,va[1]=e.y,va[2]=e.z,va[3]=e.w):(va[0]=e.w,va[1]=e.z,va[2]=e.y,va[3]=e.x),GH[0]};var oe=pt;function et(e,t,n,i,o,r,s,a,c){this[0]=y(e,0),this[1]=y(i,0),this[2]=y(s,0),this[3]=y(t,0),this[4]=y(o,0),this[5]=y(a,0),this[6]=y(n,0),this[7]=y(r,0),this[8]=y(c,0)}et.packedLength=9;et.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t};et.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new et),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n};et.packArray=function(e,t){let n=e.length,i=n*9;u(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)et.pack(e[o],t,o*9);return t};et.unpackArray=function(e,t){let n=e.length;u(t)?t.length=n/9:t=new Array(n/9);for(let i=0;i<n;i+=9){let o=i/9;t[o]=et.unpack(e,i,t[o])}return t};et.clone=function(e,t){if(u(e))return u(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new et(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])};et.fromArray=et.unpack;et.fromColumnMajorArray=function(e,t){return et.clone(e,t)};et.fromRowMajorArray=function(e,t){return u(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new et(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])};et.fromQuaternion=function(e,t){let n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,r=e.x*e.w,s=e.y*e.y,a=e.y*e.z,c=e.y*e.w,l=e.z*e.z,f=e.z*e.w,d=e.w*e.w,p=n-s-l+d,g=2*(i-f),m=2*(o+c),A=2*(i+f),x=-n+s-l+d,C=2*(a-r),T=2*(o-c),E=2*(a+r),S=-n-s+l+d;return u(t)?(t[0]=p,t[1]=A,t[2]=T,t[3]=g,t[4]=x,t[5]=E,t[6]=m,t[7]=C,t[8]=S,t):new et(p,g,m,A,x,C,T,E,S)};et.fromHeadingPitchRoll=function(e,t){let n=Math.cos(-e.pitch),i=Math.cos(-e.heading),o=Math.cos(e.roll),r=Math.sin(-e.pitch),s=Math.sin(-e.heading),a=Math.sin(e.roll),c=n*i,l=-o*s+a*r*i,f=a*s+o*r*i,d=n*s,p=o*i+a*r*s,g=-a*i+o*r*s,m=-r,A=a*n,x=o*n;return u(t)?(t[0]=c,t[1]=d,t[2]=m,t[3]=l,t[4]=p,t[5]=A,t[6]=f,t[7]=g,t[8]=x,t):new et(c,l,f,d,p,g,m,A,x)};et.fromScale=function(e,t){return u(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new et(e.x,0,0,0,e.y,0,0,0,e.z)};et.fromUniformScale=function(e,t){return u(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new et(e,0,0,0,e,0,0,0,e)};et.fromCrossProduct=function(e,t){return u(t)?(t[0]=0,t[1]=e.z,t[2]=-e.y,t[3]=-e.z,t[4]=0,t[5]=e.x,t[6]=e.y,t[7]=-e.x,t[8]=0,t):new et(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)};et.fromRotationX=function(e,t){let n=Math.cos(e),i=Math.sin(e);return u(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new et(1,0,0,0,n,-i,0,i,n)};et.fromRotationY=function(e,t){let n=Math.cos(e),i=Math.sin(e);return u(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new et(n,0,i,0,1,0,-i,0,n)};et.fromRotationZ=function(e,t){let n=Math.cos(e),i=Math.sin(e);return u(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new et(n,-i,0,i,n,0,0,0,1)};et.toArray=function(e,t){return u(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]};et.getElementIndex=function(e,t){return e*3+t};et.getColumn=function(e,t,n){let i=t*3,o=e[i],r=e[i+1],s=e[i+2];return n.x=o,n.y=r,n.z=s,n};et.setColumn=function(e,t,n,i){i=et.clone(e,i);let o=t*3;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i};et.getRow=function(e,t,n){let i=e[t],o=e[t+3],r=e[t+6];return n.x=i,n.y=o,n.z=r,n};et.setRow=function(e,t,n,i){return i=et.clone(e,i),i[t]=n.x,i[t+3]=n.y,i[t+6]=n.z,i};var uxe=new h;et.setScale=function(e,t,n){let i=et.getScale(e,uxe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var fxe=new h;et.setUniformScale=function(e,t,n){let i=et.getScale(e,fxe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var WH=new h;et.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],WH)),t.y=h.magnitude(h.fromElements(e[3],e[4],e[5],WH)),t.z=h.magnitude(h.fromElements(e[6],e[7],e[8],WH)),t};var LK=new h;et.getMaximumScale=function(e){return et.getScale(e,LK),h.maximumComponent(LK)};var dxe=new h;et.setRotation=function(e,t,n){let i=et.getScale(e,dxe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=t[3]*i.y,n[4]=t[4]*i.y,n[5]=t[5]*i.y,n[6]=t[6]*i.z,n[7]=t[7]*i.z,n[8]=t[8]*i.z,n};var hxe=new h;et.getRotation=function(e,t){let n=et.getScale(e,hxe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[3]/n.y,t[4]=e[4]/n.y,t[5]=e[5]/n.y,t[6]=e[6]/n.z,t[7]=e[7]/n.z,t[8]=e[8]/n.z,t};et.multiply=function(e,t,n){let i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],r=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],a=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],l=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],f=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n[0]=i,n[1]=o,n[2]=r,n[3]=s,n[4]=a,n[5]=c,n[6]=l,n[7]=f,n[8]=d,n};et.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n};et.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n};et.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[3]*o+e[6]*r,a=e[1]*i+e[4]*o+e[7]*r,c=e[2]*i+e[5]*o+e[8]*r;return n.x=s,n.y=a,n.z=c,n};et.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};et.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.x,n[3]=e[3]*t.y,n[4]=e[4]*t.y,n[5]=e[5]*t.y,n[6]=e[6]*t.z,n[7]=e[7]*t.z,n[8]=e[8]*t.z,n};et.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};et.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t};et.transpose=function(e,t){let n=e[0],i=e[3],o=e[6],r=e[1],s=e[4],a=e[7],c=e[2],l=e[5],f=e[8];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t[4]=s,t[5]=a,t[6]=c,t[7]=l,t[8]=f,t};function mxe(e){let t=0;for(let n=0;n<9;++n){let i=e[n];t+=i*i}return Math.sqrt(t)}var jH=[1,0,0],YH=[2,2,1];function pxe(e){let t=0;for(let n=0;n<3;++n){let i=e[et.getElementIndex(YH[n],jH[n])];t+=2*i*i}return Math.sqrt(t)}function _xe(e,t){let n=P.EPSILON15,i=0,o=1;for(let l=0;l<3;++l){let f=Math.abs(e[et.getElementIndex(YH[l],jH[l])]);f>i&&(o=l,i=f)}let r=1,s=0,a=jH[o],c=YH[o];if(Math.abs(e[et.getElementIndex(c,a)])>n){let l=e[et.getElementIndex(c,c)],f=e[et.getElementIndex(a,a)],d=e[et.getElementIndex(c,a)],p=(l-f)/2/d,g;p<0?g=-1/(-p+Math.sqrt(1+p*p)):g=1/(p+Math.sqrt(1+p*p)),r=1/Math.sqrt(1+g*g),s=g*r}return t=et.clone(et.IDENTITY,t),t[et.getElementIndex(a,a)]=t[et.getElementIndex(c,c)]=r,t[et.getElementIndex(c,a)]=s,t[et.getElementIndex(a,c)]=-s,t}var c3=new et,NK=new et;et.computeEigenDecomposition=function(e,t){let n=P.EPSILON20,i=10,o=0,r=0;u(t)||(t={});let s=t.unitary=et.clone(et.IDENTITY,t.unitary),a=t.diagonal=et.clone(e,t.diagonal),c=n*mxe(a);for(;r<i&&pxe(a)>c;)_xe(a,c3),et.transpose(c3,NK),et.multiply(a,c3,a),et.multiply(NK,a,a),et.multiply(s,c3,s),++o>2&&(++r,o=0);return t};et.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t};et.determinant=function(e){let t=e[0],n=e[3],i=e[6],o=e[1],r=e[4],s=e[7],a=e[2],c=e[5],l=e[8];return t*(r*l-c*s)+o*(c*i-n*l)+a*(n*s-r*i)};et.inverse=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[3],s=e[4],a=e[5],c=e[6],l=e[7],f=e[8],d=et.determinant(e);t[0]=s*f-l*a,t[1]=l*o-i*f,t[2]=i*a-s*o,t[3]=c*a-r*f,t[4]=n*f-c*o,t[5]=r*o-n*a,t[6]=r*l-c*s,t[7]=c*i-n*l,t[8]=n*s-r*i;let p=1/d;return et.multiplyByScalar(t,p,t)};var gxe=new et;et.inverseTranspose=function(e,t){return et.inverse(et.transpose(e,gxe),t)};et.equals=function(e,t){return e===t||u(e)&&u(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]};et.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||u(e)&&u(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n};et.IDENTITY=Object.freeze(new et(1,0,0,0,1,0,0,0,1));et.ZERO=Object.freeze(new et(0,0,0,0,0,0,0,0,0));et.COLUMN0ROW0=0;et.COLUMN0ROW1=1;et.COLUMN0ROW2=2;et.COLUMN1ROW0=3;et.COLUMN1ROW1=4;et.COLUMN1ROW2=5;et.COLUMN2ROW0=6;et.COLUMN2ROW1=7;et.COLUMN2ROW2=8;Object.defineProperties(et.prototype,{length:{get:function(){return et.packedLength}}});et.prototype.clone=function(e){return et.clone(this,e)};et.prototype.equals=function(e){return et.equals(this,e)};et.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]};et.prototype.equalsEpsilon=function(e,t){return et.equalsEpsilon(this,e,t)};et.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) +(${this[1]}, ${this[4]}, ${this[7]}) +(${this[2]}, ${this[5]}, ${this[8]})`};var Z=et;function zS(e){this.name="RuntimeError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}u(Object.create)&&(zS.prototype=Object.create(Error.prototype),zS.prototype.constructor=zS);zS.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return u(this.stack)&&(e+=` +${this.stack.toString()}`),e};var ue=zS;function Qe(e,t,n,i,o,r,s,a,c,l,f,d,p,g,m,A){this[0]=y(e,0),this[1]=y(o,0),this[2]=y(c,0),this[3]=y(p,0),this[4]=y(t,0),this[5]=y(r,0),this[6]=y(l,0),this[7]=y(g,0),this[8]=y(n,0),this[9]=y(s,0),this[10]=y(f,0),this[11]=y(m,0),this[12]=y(i,0),this[13]=y(a,0),this[14]=y(d,0),this[15]=y(A,0)}Qe.packedLength=16;Qe.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t};Qe.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new Qe),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n};Qe.packArray=function(e,t){let n=e.length,i=n*16;u(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Qe.pack(e[o],t,o*16);return t};Qe.unpackArray=function(e,t){let n=e.length;u(t)?t.length=n/16:t=new Array(n/16);for(let i=0;i<n;i+=16){let o=i/16;t[o]=Qe.unpack(e,i,t[o])}return t};Qe.clone=function(e,t){if(u(e))return u(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new Qe(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])};Qe.fromArray=Qe.unpack;Qe.fromColumnMajorArray=function(e,t){return Qe.clone(e,t)};Qe.fromRowMajorArray=function(e,t){return u(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new Qe(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])};Qe.fromRotationTranslation=function(e,t,n){return t=y(t,h.ZERO),u(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new Qe(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)};Qe.fromTranslationQuaternionRotationScale=function(e,t,n,i){u(i)||(i=new Qe);let o=n.x,r=n.y,s=n.z,a=t.x*t.x,c=t.x*t.y,l=t.x*t.z,f=t.x*t.w,d=t.y*t.y,p=t.y*t.z,g=t.y*t.w,m=t.z*t.z,A=t.z*t.w,x=t.w*t.w,C=a-d-m+x,T=2*(c-A),E=2*(l+g),S=2*(c+A),D=-a+d-m+x,w=2*(p-f),R=2*(l-g),O=2*(p+f),L=-a-d+m+x;return i[0]=C*o,i[1]=S*o,i[2]=R*o,i[3]=0,i[4]=T*r,i[5]=D*r,i[6]=O*r,i[7]=0,i[8]=E*s,i[9]=w*s,i[10]=L*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i};Qe.fromTranslationRotationScale=function(e,t){return Qe.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)};Qe.fromTranslation=function(e,t){return Qe.fromRotationTranslation(Z.IDENTITY,e,t)};Qe.fromScale=function(e,t){return u(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new Qe(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)};Qe.fromUniformScale=function(e,t){return u(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new Qe(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};Qe.fromRotation=function(e,t){return u(t)||(t=new Qe),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var FC=new h,VC=new h,HS=new h;Qe.fromCamera=function(e,t){let n=e.position,i=e.direction,o=e.up;h.normalize(i,FC),h.normalize(h.cross(FC,o,VC),VC),h.normalize(h.cross(VC,FC,HS),HS);let r=VC.x,s=VC.y,a=VC.z,c=FC.x,l=FC.y,f=FC.z,d=HS.x,p=HS.y,g=HS.z,m=n.x,A=n.y,x=n.z,C=r*-m+s*-A+a*-x,T=d*-m+p*-A+g*-x,E=c*m+l*A+f*x;return u(t)?(t[0]=r,t[1]=d,t[2]=-c,t[3]=0,t[4]=s,t[5]=p,t[6]=-l,t[7]=0,t[8]=a,t[9]=g,t[10]=-f,t[11]=0,t[12]=C,t[13]=T,t[14]=E,t[15]=1,t):new Qe(r,s,a,C,d,p,g,T,-c,-l,-f,E,0,0,0,1)};Qe.computePerspectiveFieldOfView=function(e,t,n,i,o){let s=1/Math.tan(e*.5),a=s/t,c=(i+n)/(n-i),l=2*i*n/(n-i);return o[0]=a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=l,o[15]=0,o};Qe.computeOrthographicOffCenter=function(e,t,n,i,o,r,s){let a=1/(t-e),c=1/(i-n),l=1/(r-o),f=-(t+e)*a,d=-(i+n)*c,p=-(r+o)*l;return a*=2,c*=2,l*=-2,s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=l,s[11]=0,s[12]=f,s[13]=d,s[14]=p,s[15]=1,s};Qe.computePerspectiveOffCenter=function(e,t,n,i,o,r,s){let a=2*o/(t-e),c=2*o/(i-n),l=(t+e)/(t-e),f=(i+n)/(i-n),d=-(r+o)/(r-o),p=-1,g=-2*r*o/(r-o);return s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=l,s[9]=f,s[10]=d,s[11]=p,s[12]=0,s[13]=0,s[14]=g,s[15]=0,s};Qe.computeInfinitePerspectiveOffCenter=function(e,t,n,i,o,r){let s=2*o/(t-e),a=2*o/(i-n),c=(t+e)/(t-e),l=(i+n)/(i-n),f=-1,d=-1,p=-2*o;return r[0]=s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=c,r[9]=l,r[10]=f,r[11]=d,r[12]=0,r[13]=0,r[14]=p,r[15]=0,r};Qe.computeViewportTransformation=function(e,t,n,i){u(i)||(i=new Qe),e=y(e,y.EMPTY_OBJECT);let o=y(e.x,0),r=y(e.y,0),s=y(e.width,0),a=y(e.height,0);t=y(t,0),n=y(n,1);let c=s*.5,l=a*.5,f=(n-t)*.5,d=c,p=l,g=f,m=o+c,A=r+l,x=t+f,C=1;return i[0]=d,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=g,i[11]=0,i[12]=m,i[13]=A,i[14]=x,i[15]=C,i};Qe.computeView=function(e,t,n,i,o){return o[0]=i.x,o[1]=n.x,o[2]=-t.x,o[3]=0,o[4]=i.y,o[5]=n.y,o[6]=-t.y,o[7]=0,o[8]=i.z,o[9]=n.z,o[10]=-t.z,o[11]=0,o[12]=-h.dot(i,e),o[13]=-h.dot(n,e),o[14]=h.dot(t,e),o[15]=1,o};Qe.toArray=function(e,t){return u(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]};Qe.getElementIndex=function(e,t){return e*4+t};Qe.getColumn=function(e,t,n){let i=t*4,o=e[i],r=e[i+1],s=e[i+2],a=e[i+3];return n.x=o,n.y=r,n.z=s,n.w=a,n};Qe.setColumn=function(e,t,n,i){i=Qe.clone(e,i);let o=t*4;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i[o+3]=n.w,i};Qe.getRow=function(e,t,n){let i=e[t],o=e[t+4],r=e[t+8],s=e[t+12];return n.x=i,n.y=o,n.z=r,n.w=s,n};Qe.setRow=function(e,t,n,i){return i=Qe.clone(e,i),i[t]=n.x,i[t+4]=n.y,i[t+8]=n.z,i[t+12]=n.w,i};Qe.setTranslation=function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};var yxe=new h;Qe.setScale=function(e,t,n){let i=Qe.getScale(e,yxe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var Axe=new h;Qe.setUniformScale=function(e,t,n){let i=Qe.getScale(e,Axe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var qH=new h;Qe.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],qH)),t.y=h.magnitude(h.fromElements(e[4],e[5],e[6],qH)),t.z=h.magnitude(h.fromElements(e[8],e[9],e[10],qH)),t};var FK=new h;Qe.getMaximumScale=function(e){return Qe.getScale(e,FK),h.maximumComponent(FK)};var xxe=new h;Qe.setRotation=function(e,t,n){let i=Qe.getScale(e,xxe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=e[3],n[4]=t[3]*i.y,n[5]=t[4]*i.y,n[6]=t[5]*i.y,n[7]=e[7],n[8]=t[6]*i.z,n[9]=t[7]*i.z,n[10]=t[8]*i.z,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var Cxe=new h;Qe.getRotation=function(e,t){let n=Qe.getScale(e,Cxe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[4]/n.y,t[4]=e[5]/n.y,t[5]=e[6]/n.y,t[6]=e[8]/n.z,t[7]=e[9]/n.z,t[8]=e[10]/n.z,t};Qe.multiply=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[3],a=e[4],c=e[5],l=e[6],f=e[7],d=e[8],p=e[9],g=e[10],m=e[11],A=e[12],x=e[13],C=e[14],T=e[15],E=t[0],S=t[1],D=t[2],w=t[3],R=t[4],O=t[5],L=t[6],N=t[7],_=t[8],b=t[9],v=t[10],I=t[11],B=t[12],F=t[13],k=t[14],U=t[15],G=i*E+a*S+d*D+A*w,V=o*E+c*S+p*D+x*w,X=r*E+l*S+g*D+C*w,j=s*E+f*S+m*D+T*w,Q=i*R+a*O+d*L+A*N,W=o*R+c*O+p*L+x*N,K=r*R+l*O+g*L+C*N,J=s*R+f*O+m*L+T*N,_e=i*_+a*b+d*v+A*I,xe=o*_+c*b+p*v+x*I,re=r*_+l*b+g*v+C*I,ye=s*_+f*b+m*v+T*I,fe=i*B+a*F+d*k+A*U,Se=o*B+c*F+p*k+x*U,we=r*B+l*F+g*k+C*U,Ve=s*B+f*F+m*k+T*U;return n[0]=G,n[1]=V,n[2]=X,n[3]=j,n[4]=Q,n[5]=W,n[6]=K,n[7]=J,n[8]=_e,n[9]=xe,n[10]=re,n[11]=ye,n[12]=fe,n[13]=Se,n[14]=we,n[15]=Ve,n};Qe.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n};Qe.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n};Qe.multiplyTransformation=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],l=e[8],f=e[9],d=e[10],p=e[12],g=e[13],m=e[14],A=t[0],x=t[1],C=t[2],T=t[4],E=t[5],S=t[6],D=t[8],w=t[9],R=t[10],O=t[12],L=t[13],N=t[14],_=i*A+s*x+l*C,b=o*A+a*x+f*C,v=r*A+c*x+d*C,I=i*T+s*E+l*S,B=o*T+a*E+f*S,F=r*T+c*E+d*S,k=i*D+s*w+l*R,U=o*D+a*w+f*R,G=r*D+c*w+d*R,V=i*O+s*L+l*N+p,X=o*O+a*L+f*N+g,j=r*O+c*L+d*N+m;return n[0]=_,n[1]=b,n[2]=v,n[3]=0,n[4]=I,n[5]=B,n[6]=F,n[7]=0,n[8]=k,n[9]=U,n[10]=G,n[11]=0,n[12]=V,n[13]=X,n[14]=j,n[15]=1,n};Qe.multiplyByMatrix3=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],l=e[8],f=e[9],d=e[10],p=t[0],g=t[1],m=t[2],A=t[3],x=t[4],C=t[5],T=t[6],E=t[7],S=t[8],D=i*p+s*g+l*m,w=o*p+a*g+f*m,R=r*p+c*g+d*m,O=i*A+s*x+l*C,L=o*A+a*x+f*C,N=r*A+c*x+d*C,_=i*T+s*E+l*S,b=o*T+a*E+f*S,v=r*T+c*E+d*S;return n[0]=D,n[1]=w,n[2]=R,n[3]=0,n[4]=O,n[5]=L,n[6]=N,n[7]=0,n[8]=_,n[9]=b,n[10]=v,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};Qe.multiplyByTranslation=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=i*e[0]+o*e[4]+r*e[8]+e[12],a=i*e[1]+o*e[5]+r*e[9]+e[13],c=i*e[2]+o*e[6]+r*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=s,n[13]=a,n[14]=c,n[15]=e[15],n};Qe.multiplyByScale=function(e,t,n){let i=t.x,o=t.y,r=t.z;return i===1&&o===1&&r===1?Qe.clone(e,n):(n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=e[3],n[4]=o*e[4],n[5]=o*e[5],n[6]=o*e[6],n[7]=e[7],n[8]=r*e[8],n[9]=r*e[9],n[10]=r*e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n)};Qe.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3],n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7],n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};Qe.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=t.w,a=e[0]*i+e[4]*o+e[8]*r+e[12]*s,c=e[1]*i+e[5]*o+e[9]*r+e[13]*s,l=e[2]*i+e[6]*o+e[10]*r+e[14]*s,f=e[3]*i+e[7]*o+e[11]*r+e[15]*s;return n.x=a,n.y=c,n.z=l,n.w=f,n};Qe.multiplyByPointAsVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r,a=e[1]*i+e[5]*o+e[9]*r,c=e[2]*i+e[6]*o+e[10]*r;return n.x=s,n.y=a,n.z=c,n};Qe.multiplyByPoint=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r+e[12],a=e[1]*i+e[5]*o+e[9]*r+e[13],c=e[2]*i+e[6]*o+e[10]*r+e[14];return n.x=s,n.y=a,n.z=c,n};Qe.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n};Qe.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t};Qe.transpose=function(e,t){let n=e[1],i=e[2],o=e[3],r=e[6],s=e[7],a=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=r,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=a,t[15]=e[15],t};Qe.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t};Qe.equals=function(e,t){return e===t||u(e)&&u(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]};Qe.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||u(e)&&u(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n};Qe.getTranslation=function(e,t){return t.x=e[12],t.y=e[13],t.z=e[14],t};Qe.getMatrix3=function(e,t){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t};var Txe=new Z,Exe=new Z,bxe=new oe,Sxe=new oe(0,0,0,1);Qe.inverse=function(e,t){let n=e[0],i=e[4],o=e[8],r=e[12],s=e[1],a=e[5],c=e[9],l=e[13],f=e[2],d=e[6],p=e[10],g=e[14],m=e[3],A=e[7],x=e[11],C=e[15],T=p*C,E=g*x,S=d*C,D=g*A,w=d*x,R=p*A,O=f*C,L=g*m,N=f*x,_=p*m,b=f*A,v=d*m,I=T*a+D*c+w*l-(E*a+S*c+R*l),B=E*s+O*c+_*l-(T*s+L*c+N*l),F=S*s+L*a+b*l-(D*s+O*a+v*l),k=R*s+N*a+v*c-(w*s+_*a+b*c),U=E*i+S*o+R*r-(T*i+D*o+w*r),G=T*n+L*o+N*r-(E*n+O*o+_*r),V=D*n+O*i+v*r-(S*n+L*i+b*r),X=w*n+_*i+b*o-(R*n+N*i+v*o);T=o*l,E=r*c,S=i*l,D=r*a,w=i*c,R=o*a,O=n*l,L=r*s,N=n*c,_=o*s,b=n*a,v=i*s;let j=T*A+D*x+w*C-(E*A+S*x+R*C),Q=E*m+O*x+_*C-(T*m+L*x+N*C),W=S*m+L*A+b*C-(D*m+O*A+v*C),K=R*m+N*A+v*x-(w*m+_*A+b*x),J=S*p+R*g+E*d-(w*g+T*d+D*p),_e=N*g+T*f+L*p-(O*p+_*g+E*f),xe=O*d+v*g+D*f-(b*g+S*f+L*d),re=b*p+w*f+_*d-(N*d+v*p+R*f),ye=n*I+i*B+o*F+r*k;if(Math.abs(ye)<P.EPSILON21){if(Z.equalsEpsilon(Qe.getMatrix3(e,Txe),Exe,P.EPSILON7)&&oe.equals(Qe.getRow(e,3,bxe),Sxe))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new ue("matrix is not invertible because its determinate is zero.")}return ye=1/ye,t[0]=I*ye,t[1]=B*ye,t[2]=F*ye,t[3]=k*ye,t[4]=U*ye,t[5]=G*ye,t[6]=V*ye,t[7]=X*ye,t[8]=j*ye,t[9]=Q*ye,t[10]=W*ye,t[11]=K*ye,t[12]=J*ye,t[13]=_e*ye,t[14]=xe*ye,t[15]=re*ye,t};Qe.inverseTransformation=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[4],s=e[5],a=e[6],c=e[8],l=e[9],f=e[10],d=e[12],p=e[13],g=e[14],m=-n*d-i*p-o*g,A=-r*d-s*p-a*g,x=-c*d-l*p-f*g;return t[0]=n,t[1]=r,t[2]=c,t[3]=0,t[4]=i,t[5]=s,t[6]=l,t[7]=0,t[8]=o,t[9]=a,t[10]=f,t[11]=0,t[12]=m,t[13]=A,t[14]=x,t[15]=1,t};var Dxe=new Qe;Qe.inverseTranspose=function(e,t){return Qe.inverse(Qe.transpose(e,Dxe),t)};Qe.IDENTITY=Object.freeze(new Qe(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));Qe.ZERO=Object.freeze(new Qe(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));Qe.COLUMN0ROW0=0;Qe.COLUMN0ROW1=1;Qe.COLUMN0ROW2=2;Qe.COLUMN0ROW3=3;Qe.COLUMN1ROW0=4;Qe.COLUMN1ROW1=5;Qe.COLUMN1ROW2=6;Qe.COLUMN1ROW3=7;Qe.COLUMN2ROW0=8;Qe.COLUMN2ROW1=9;Qe.COLUMN2ROW2=10;Qe.COLUMN2ROW3=11;Qe.COLUMN3ROW0=12;Qe.COLUMN3ROW1=13;Qe.COLUMN3ROW2=14;Qe.COLUMN3ROW3=15;Object.defineProperties(Qe.prototype,{length:{get:function(){return Qe.packedLength}}});Qe.prototype.clone=function(e){return Qe.clone(this,e)};Qe.prototype.equals=function(e){return Qe.equals(this,e)};Qe.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]};Qe.prototype.equalsEpsilon=function(e,t){return Qe.equalsEpsilon(this,e,t)};Qe.prototype.toString=function(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]}) +(${this[1]}, ${this[5]}, ${this[9]}, ${this[13]}) +(${this[2]}, ${this[6]}, ${this[10]}, ${this[14]}) +(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var M=Qe;var vxe={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGBA_ASTC_4x4_WEBGL:37808,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_BPTC_UNORM:36492,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047},ee=Object.freeze(vxe);var wxe=new h;function kt(e){this._size=e.size,this._datatype=e.datatype,this.getValue=e.getValue}var Ls={};Ls[ee.FLOAT]="float";Ls[ee.FLOAT_VEC2]="vec2";Ls[ee.FLOAT_VEC3]="vec3";Ls[ee.FLOAT_VEC4]="vec4";Ls[ee.INT]="int";Ls[ee.INT_VEC2]="ivec2";Ls[ee.INT_VEC3]="ivec3";Ls[ee.INT_VEC4]="ivec4";Ls[ee.BOOL]="bool";Ls[ee.BOOL_VEC2]="bvec2";Ls[ee.BOOL_VEC3]="bvec3";Ls[ee.BOOL_VEC4]="bvec4";Ls[ee.FLOAT_MAT2]="mat2";Ls[ee.FLOAT_MAT3]="mat3";Ls[ee.FLOAT_MAT4]="mat4";Ls[ee.SAMPLER_2D]="sampler2D";Ls[ee.SAMPLER_CUBE]="samplerCube";kt.prototype.getDeclaration=function(e){let t=`uniform ${Ls[this._datatype]} ${e}`,n=this._size;return n===1?t+=";":t+=`[${n.toString()}];`,t};var Ixe={czm_viewport:new kt({size:1,datatype:ee.FLOAT_VEC4,getValue:function(e){return e.viewportCartesian4}}),czm_viewportOrthographic:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.viewportOrthographic}}),czm_viewportTransformation:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.viewportTransformation}}),czm_globeDepthTexture:new kt({size:1,datatype:ee.SAMPLER_2D,getValue:function(e){return e.globeDepthTexture}}),czm_model:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.model}}),czm_inverseModel:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.inverseModel}}),czm_view:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.view}}),czm_view3D:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.view3D}}),czm_viewRotation:new kt({size:1,datatype:ee.FLOAT_MAT3,getValue:function(e){return e.viewRotation}}),czm_viewRotation3D:new kt({size:1,datatype:ee.FLOAT_MAT3,getValue:function(e){return e.viewRotation3D}}),czm_inverseView:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.inverseView}}),czm_inverseView3D:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.inverseView3D}}),czm_inverseViewRotation:new kt({size:1,datatype:ee.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation}}),czm_inverseViewRotation3D:new kt({size:1,datatype:ee.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation3D}}),czm_projection:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.projection}}),czm_inverseProjection:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.inverseProjection}}),czm_infiniteProjection:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.infiniteProjection}}),czm_modelView:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.modelView}}),czm_modelView3D:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.modelView3D}}),czm_modelViewRelativeToEye:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.modelViewRelativeToEye}}),czm_inverseModelView:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.inverseModelView}}),czm_inverseModelView3D:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.inverseModelView3D}}),czm_viewProjection:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.viewProjection}}),czm_inverseViewProjection:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.inverseViewProjection}}),czm_modelViewProjection:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.modelViewProjection}}),czm_inverseModelViewProjection:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.inverseModelViewProjection}}),czm_modelViewProjectionRelativeToEye:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.modelViewProjectionRelativeToEye}}),czm_modelViewInfiniteProjection:new kt({size:1,datatype:ee.FLOAT_MAT4,getValue:function(e){return e.modelViewInfiniteProjection}}),czm_orthographicIn3D:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.orthographicIn3D?1:0}}),czm_normal:new kt({size:1,datatype:ee.FLOAT_MAT3,getValue:function(e){return e.normal}}),czm_normal3D:new kt({size:1,datatype:ee.FLOAT_MAT3,getValue:function(e){return e.normal3D}}),czm_inverseNormal:new kt({size:1,datatype:ee.FLOAT_MAT3,getValue:function(e){return e.inverseNormal}}),czm_inverseNormal3D:new kt({size:1,datatype:ee.FLOAT_MAT3,getValue:function(e){return e.inverseNormal3D}}),czm_eyeHeight:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.eyeHeight}}),czm_eyeHeight2D:new kt({size:1,datatype:ee.FLOAT_VEC2,getValue:function(e){return e.eyeHeight2D}}),czm_entireFrustum:new kt({size:1,datatype:ee.FLOAT_VEC2,getValue:function(e){return e.entireFrustum}}),czm_currentFrustum:new kt({size:1,datatype:ee.FLOAT_VEC2,getValue:function(e){return e.currentFrustum}}),czm_frustumPlanes:new kt({size:1,datatype:ee.FLOAT_VEC4,getValue:function(e){return e.frustumPlanes}}),czm_farDepthFromNearPlusOne:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.farDepthFromNearPlusOne}}),czm_log2FarDepthFromNearPlusOne:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.log2FarDepthFromNearPlusOne}}),czm_oneOverLog2FarDepthFromNearPlusOne:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.oneOverLog2FarDepthFromNearPlusOne}}),czm_sunPositionWC:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.sunPositionWC}}),czm_sunPositionColumbusView:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.sunPositionColumbusView}}),czm_sunDirectionEC:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.sunDirectionEC}}),czm_sunDirectionWC:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.sunDirectionWC}}),czm_moonDirectionEC:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.moonDirectionEC}}),czm_lightDirectionEC:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.lightDirectionEC}}),czm_lightDirectionWC:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.lightDirectionWC}}),czm_lightColor:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.lightColor}}),czm_lightColorHdr:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.lightColorHdr}}),czm_encodedCameraPositionMCHigh:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCHigh}}),czm_encodedCameraPositionMCLow:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCLow}}),czm_viewerPositionWC:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return M.getTranslation(e.inverseView,wxe)}}),czm_frameNumber:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.frameState.mode}}),czm_pass:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.pass}}),czm_backgroundColor:new kt({size:1,datatype:ee.FLOAT_VEC4,getValue:function(e){return e.backgroundColor}}),czm_brdfLut:new kt({size:1,datatype:ee.SAMPLER_2D,getValue:function(e){return e.brdfLut}}),czm_environmentMap:new kt({size:1,datatype:ee.SAMPLER_CUBE,getValue:function(e){return e.environmentMap}}),czm_specularEnvironmentMaps:new kt({size:1,datatype:ee.SAMPLER_2D,getValue:function(e){return e.specularEnvironmentMaps}}),czm_specularEnvironmentMapSize:new kt({size:1,datatype:ee.FLOAT_VEC2,getValue:function(e){return e.specularEnvironmentMapsDimensions}}),czm_specularEnvironmentMapsMaximumLOD:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.specularEnvironmentMapsMaximumLOD}}),czm_sphericalHarmonicCoefficients:new kt({size:9,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.sphericalHarmonicCoefficients}}),czm_temeToPseudoFixed:new kt({size:1,datatype:ee.FLOAT_MAT3,getValue:function(e){return e.temeToPseudoFixedMatrix}}),czm_pixelRatio:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.pixelRatio}}),czm_fogDensity:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.fogDensity}}),czm_splitPosition:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.splitPosition}}),czm_geometricToleranceOverMeter:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.geometricToleranceOverMeter}}),czm_minimumDisableDepthTestDistance:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.minimumDisableDepthTestDistance}}),czm_invertClassificationColor:new kt({size:1,datatype:ee.FLOAT_VEC4,getValue:function(e){return e.invertClassificationColor}}),czm_gamma:new kt({size:1,datatype:ee.FLOAT,getValue:function(e){return e.gamma}}),czm_ellipsoidRadii:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.radii}}),czm_ellipsoidInverseRadii:new kt({size:1,datatype:ee.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.oneOverRadii}})},Pm=Ixe;function Pxe(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var zn=Pxe;function Oxe(){return!0}function Rxe(e,t){t=y(t,"This object was destroyed, i.e., destroy() was called.");function n(){}for(let i in e)typeof e[i]=="function"&&(e[i]=n);e.isDestroyed=Oxe}var le=Rxe;var _s={UNSIGNED_BYTE:ee.UNSIGNED_BYTE,UNSIGNED_SHORT:ee.UNSIGNED_SHORT,UNSIGNED_INT:ee.UNSIGNED_INT};_s.getSizeInBytes=function(e){switch(e){case _s.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case _s.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case _s.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}};_s.fromSizeInBytes=function(e){switch(e){case 2:return _s.UNSIGNED_SHORT;case 4:return _s.UNSIGNED_INT;case 1:return _s.UNSIGNED_BYTE}};_s.validate=function(e){return u(e)&&(e===_s.UNSIGNED_BYTE||e===_s.UNSIGNED_SHORT||e===_s.UNSIGNED_INT)};_s.createTypedArray=function(e,t){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)};_s.createTypedArrayFromArrayBuffer=function(e,t,n,i){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t,n,i):new Uint16Array(t,n,i)};_s.fromTypedArray=function(e){if(e instanceof Uint8Array)return _s.UNSIGNED_BYTE;if(e instanceof Uint16Array)return _s.UNSIGNED_SHORT;if(e instanceof Uint32Array)return _s.UNSIGNED_INT};var Fe=Object.freeze(_s);var l3={STREAM_DRAW:ee.STREAM_DRAW,STATIC_DRAW:ee.STATIC_DRAW,DYNAMIC_DRAW:ee.DYNAMIC_DRAW,validate:function(e){return e===l3.STREAM_DRAW||e===l3.STATIC_DRAW||e===l3.DYNAMIC_DRAW}},Ne=Object.freeze(l3);function Mu(e){e=y(e,y.EMPTY_OBJECT);let t=e.context._gl,n=e.bufferTarget,i=e.typedArray,o=e.sizeInBytes,r=e.usage,s=u(i);s&&(o=i.byteLength);let a=t.createBuffer();t.bindBuffer(n,a),t.bufferData(n,s?i:o,r),t.bindBuffer(n,null),this._id=zn(),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=n,this._sizeInBytes=o,this._usage=r,this._buffer=a,this.vertexArrayDestroyable=!0}Mu.createVertexBuffer=function(e){return new Mu({context:e.context,bufferTarget:ee.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})};Mu.createIndexBuffer=function(e){let t=e.context,n=e.indexDatatype,i=Fe.getSizeInBytes(n),o=new Mu({context:t,bufferTarget:ee.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),r=o.sizeInBytes/i;return Object.defineProperties(o,{indexDatatype:{get:function(){return n}},bytesPerIndex:{get:function(){return i}},numberOfIndices:{get:function(){return r}}}),o};Object.defineProperties(Mu.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});Mu.prototype._getBuffer=function(){return this._buffer};Mu.prototype.copyFromArrayView=function(e,t){t=y(t,0);let n=this._gl,i=this._bufferTarget;n.bindBuffer(i,this._buffer),n.bufferSubData(i,t,e),n.bindBuffer(i,null)};Mu.prototype.copyFromBuffer=function(e,t,n,i){let o=ee.COPY_READ_BUFFER,r=ee.COPY_WRITE_BUFFER,s=this._gl;s.bindBuffer(r,this._buffer),s.bindBuffer(o,e._buffer),s.copyBufferSubData(o,r,t,n,i),s.bindBuffer(r,null),s.bindBuffer(o,null)};Mu.prototype.getBufferData=function(e,t,n,i){t=y(t,0),n=y(n,0);let o=this._gl,r=ee.COPY_READ_BUFFER;o.bindBuffer(r,this._buffer),o.getBufferSubData(r,t,e,n,i),o.bindBuffer(r,null)};Mu.prototype.isDestroyed=function(){return!1};Mu.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),le(this)};var lt=Mu;var k_,xr={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},$c={};Object.defineProperties($c,{element:{get:function(){if($c.supportsFullscreen())return document[xr.fullscreenElement]}},changeEventName:{get:function(){if($c.supportsFullscreen())return xr.fullscreenchange}},errorEventName:{get:function(){if($c.supportsFullscreen())return xr.fullscreenerror}},enabled:{get:function(){if($c.supportsFullscreen())return document[xr.fullscreenEnabled]}},fullscreen:{get:function(){if($c.supportsFullscreen())return $c.element!==null}}});$c.supportsFullscreen=function(){if(u(k_))return k_;k_=!1;let e=document.body;if(typeof e.requestFullscreen=="function")return xr.requestFullscreen="requestFullscreen",xr.exitFullscreen="exitFullscreen",xr.fullscreenEnabled="fullscreenEnabled",xr.fullscreenElement="fullscreenElement",xr.fullscreenchange="fullscreenchange",xr.fullscreenerror="fullscreenerror",k_=!0,k_;let t=["webkit","moz","o","ms","khtml"],n;for(let i=0,o=t.length;i<o;++i){let r=t[i];n=`${r}RequestFullscreen`,typeof e[n]=="function"?(xr.requestFullscreen=n,k_=!0):(n=`${r}RequestFullScreen`,typeof e[n]=="function"&&(xr.requestFullscreen=n,k_=!0)),n=`${r}ExitFullscreen`,typeof document[n]=="function"?xr.exitFullscreen=n:(n=`${r}CancelFullScreen`,typeof document[n]=="function"&&(xr.exitFullscreen=n)),n=`${r}FullscreenEnabled`,document[n]!==void 0?xr.fullscreenEnabled=n:(n=`${r}FullScreenEnabled`,document[n]!==void 0&&(xr.fullscreenEnabled=n)),n=`${r}FullscreenElement`,document[n]!==void 0?xr.fullscreenElement=n:(n=`${r}FullScreenElement`,document[n]!==void 0&&(xr.fullscreenElement=n)),n=`${r}fullscreenchange`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenChange"),xr.fullscreenchange=n),n=`${r}fullscreenerror`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenError"),xr.fullscreenerror=n)}return k_};$c.requestFullscreen=function(e,t){$c.supportsFullscreen()&&e[xr.requestFullscreen]({vrDisplay:t})};$c.exitFullscreen=function(){$c.supportsFullscreen()&&document[xr.exitFullscreen]()};$c._names=xr;var fr=$c;var wa;typeof navigator<"u"?wa=navigator:wa={};function a0(e){let t=e.split(".");for(let n=0,i=t.length;n<i;++n)t[n]=parseInt(t[n],10);return t}var u3,VK;function $H(){if(!u(u3)&&(u3=!1,!_3())){let e=/ Chrome\/([\.0-9]+)/.exec(wa.userAgent);e!==null&&(u3=!0,VK=a0(e[1]))}return u3}function Bxe(){return $H()&&VK}var f3,UK;function kK(){if(!u(f3)&&(f3=!1,!$H()&&!_3()&&/ Safari\/[\.0-9]+/.test(wa.userAgent))){let e=/ Version\/([\.0-9]+)/.exec(wa.userAgent);e!==null&&(f3=!0,UK=a0(e[1]))}return f3}function Mxe(){return kK()&&UK}var d3,JH;function zK(){if(!u(d3)){d3=!1;let e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(wa.userAgent);e!==null&&(d3=!0,JH=a0(e[1]),JH.isNightly=!!e[2])}return d3}function Lxe(){return zK()&&JH}var GS,QH;function HK(){if(!u(GS)){GS=!1;let e;wa.appName==="Microsoft Internet Explorer"?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(wa.userAgent),e!==null&&(GS=!0,QH=a0(e[1]))):wa.appName==="Netscape"&&(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(wa.userAgent),e!==null&&(GS=!0,QH=a0(e[1])))}return GS}function Nxe(){return HK()&&QH}var h3,GK;function _3(){if(!u(h3)){h3=!1;let e=/ Edg\/([\.0-9]+)/.exec(wa.userAgent);e!==null&&(h3=!0,GK=a0(e[1]))}return h3}function Fxe(){return _3()&&GK}var m3,WK;function eG(){if(!u(m3)){m3=!1;let e=/Firefox\/([\.0-9]+)/.exec(wa.userAgent);e!==null&&(m3=!0,WK=a0(e[1]))}return m3}var XH;function Vxe(){return u(XH)||(XH=/Windows/i.test(wa.appVersion)),XH}var KH;function Uxe(){return u(KH)||(KH=navigator.platform==="iPhone"||navigator.platform==="iPod"||navigator.platform==="iPad"),KH}function kxe(){return eG()&&WK}var ZH;function zxe(){return u(ZH)||(ZH=!eG()&&typeof PointerEvent<"u"&&(!u(wa.pointerEnabled)||wa.pointerEnabled)),ZH}var jK,p3;function YK(){if(!u(p3)){let e=document.createElement("canvas");e.setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;");let t=e.style.imageRendering;p3=u(t)&&t!=="",p3&&(jK=t)}return p3}function Hxe(){return YK()?jK:void 0}function pc(){return pc._result}pc._promise=void 0;pc._result=void 0;pc.initialize=function(){return u(pc._promise)||(pc._promise=new Promise(e=>{let t=new Image;t.onload=function(){pc._result=t.width>0&&t.height>0,e(pc._result)},t.onerror=function(){pc._result=!1,e(pc._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),pc._promise};Object.defineProperties(pc,{initialized:{get:function(){return u(pc._result)}}});var UC=[];typeof ArrayBuffer<"u"&&(UC.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&UC.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&UC.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&UC.push(BigInt64Array),typeof BigUint64Array<"u"&&UC.push(BigUint64Array));var zf={isChrome:$H,chromeVersion:Bxe,isSafari:kK,safariVersion:Mxe,isWebkit:zK,webkitVersion:Lxe,isInternetExplorer:HK,internetExplorerVersion:Nxe,isEdge:_3,edgeVersion:Fxe,isFirefox:eG,firefoxVersion:kxe,isWindows:Vxe,isIPadOrIOS:Uxe,hardwareConcurrency:y(wa.hardwareConcurrency,3),supportsPointerEvents:zxe,supportsImageRenderingPixelated:YK,supportsWebP:pc,imageRenderingValue:Hxe,typedArrayTypes:UC};zf.supportsBasis=function(e){return zf.supportsWebAssembly()&&e.context.supportsBasis};zf.supportsFullscreen=function(){return fr.supportsFullscreen()};zf.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};zf.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};zf.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};zf.supportsBigInt=function(){return typeof BigInt<"u"};zf.supportsWebWorkers=function(){return typeof Worker<"u"};zf.supportsWebAssembly=function(){return typeof WebAssembly<"u"};zf.supportsWebgl2=function(e){return e.context.webgl2};var Vt=zf;function tG(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}function ne(e,t,n,i){this.red=y(e,1),this.green=y(t,1),this.blue=y(n,1),this.alpha=y(i,1)}ne.fromCartesian4=function(e,t){return u(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new ne(e.x,e.y,e.z,e.w)};ne.fromBytes=function(e,t,n,i,o){return e=ne.byteToFloat(y(e,255)),t=ne.byteToFloat(y(t,255)),n=ne.byteToFloat(y(n,255)),i=ne.byteToFloat(y(i,255)),u(o)?(o.red=e,o.green=t,o.blue=n,o.alpha=i,o):new ne(e,t,n,i)};ne.fromAlpha=function(e,t,n){return u(n)?(n.red=e.red,n.green=e.green,n.blue=e.blue,n.alpha=t,n):new ne(e.red,e.green,e.blue,t)};var nG,iG,Om;Vt.supportsTypedArrays()&&(nG=new ArrayBuffer(4),iG=new Uint32Array(nG),Om=new Uint8Array(nG));ne.fromRgba=function(e,t){return iG[0]=e,ne.fromBytes(Om[0],Om[1],Om[2],Om[3],t)};ne.fromHsl=function(e,t,n,i,o){e=y(e,0)%1,t=y(t,0),n=y(n,0),i=y(i,1);let r=n,s=n,a=n;if(t!==0){let c;n<.5?c=n*(1+t):c=n+t-n*t;let l=2*n-c;r=tG(l,c,e+1/3),s=tG(l,c,e),a=tG(l,c,e-1/3)}return u(o)?(o.red=r,o.green=s,o.blue=a,o.alpha=i,o):new ne(r,s,a,i)};ne.fromRandom=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.red;if(!u(n)){let s=y(e.minimumRed,0),a=y(e.maximumRed,1);n=s+P.nextRandomNumber()*(a-s)}let i=e.green;if(!u(i)){let s=y(e.minimumGreen,0),a=y(e.maximumGreen,1);i=s+P.nextRandomNumber()*(a-s)}let o=e.blue;if(!u(o)){let s=y(e.minimumBlue,0),a=y(e.maximumBlue,1);o=s+P.nextRandomNumber()*(a-s)}let r=e.alpha;if(!u(r)){let s=y(e.minimumAlpha,0),a=y(e.maximumAlpha,1);r=s+P.nextRandomNumber()*(a-s)}return u(t)?(t.red=n,t.green=i,t.blue=o,t.alpha=r,t):new ne(n,i,o,r)};var Gxe=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,Wxe=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,jxe=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,Yxe=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;ne.fromCssColorString=function(e,t){u(t)||(t=new ne),e=e.replace(/\s/g,"");let n=ne[e.toUpperCase()];if(u(n))return ne.clone(n,t),t;let i=Gxe.exec(e);return i!==null?(t.red=parseInt(i[1],16)/15,t.green=parseInt(i[2],16)/15,t.blue=parseInt(i[3],16)/15,t.alpha=parseInt(y(i[4],"f"),16)/15,t):(i=Wxe.exec(e),i!==null?(t.red=parseInt(i[1],16)/255,t.green=parseInt(i[2],16)/255,t.blue=parseInt(i[3],16)/255,t.alpha=parseInt(y(i[4],"ff"),16)/255,t):(i=jxe.exec(e),i!==null?(t.red=parseFloat(i[1])/(i[1].substr(-1)==="%"?100:255),t.green=parseFloat(i[2])/(i[2].substr(-1)==="%"?100:255),t.blue=parseFloat(i[3])/(i[3].substr(-1)==="%"?100:255),t.alpha=parseFloat(y(i[4],"1.0")),t):(i=Yxe.exec(e),i!==null?ne.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(y(i[4],"1.0")),t):(t=void 0,t))))};ne.packedLength=4;ne.pack=function(e,t,n){return n=y(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha,t};ne.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new ne),n.red=e[t++],n.green=e[t++],n.blue=e[t++],n.alpha=e[t],n};ne.byteToFloat=function(e){return e/255};ne.floatToByte=function(e){return e===1?255:e*256|0};ne.clone=function(e,t){if(u(e))return u(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new ne(e.red,e.green,e.blue,e.alpha)};ne.equals=function(e,t){return e===t||u(e)&&u(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha};ne.equalsArray=function(e,t,n){return e.red===t[n]&&e.green===t[n+1]&&e.blue===t[n+2]&&e.alpha===t[n+3]};ne.prototype.clone=function(e){return ne.clone(this,e)};ne.prototype.equals=function(e){return ne.equals(this,e)};ne.prototype.equalsEpsilon=function(e,t){return this===e||u(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t};ne.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};ne.prototype.toCssColorString=function(){let e=ne.floatToByte(this.red),t=ne.floatToByte(this.green),n=ne.floatToByte(this.blue);return this.alpha===1?`rgb(${e},${t},${n})`:`rgba(${e},${t},${n},${this.alpha})`};ne.prototype.toCssHexString=function(){let e=ne.floatToByte(this.red).toString(16);e.length<2&&(e=`0${e}`);let t=ne.floatToByte(this.green).toString(16);t.length<2&&(t=`0${t}`);let n=ne.floatToByte(this.blue).toString(16);if(n.length<2&&(n=`0${n}`),this.alpha<1){let i=ne.floatToByte(this.alpha).toString(16);return i.length<2&&(i=`0${i}`),`#${e}${t}${n}${i}`}return`#${e}${t}${n}`};ne.prototype.toBytes=function(e){let t=ne.floatToByte(this.red),n=ne.floatToByte(this.green),i=ne.floatToByte(this.blue),o=ne.floatToByte(this.alpha);return u(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]};ne.prototype.toRgba=function(){return Om[0]=ne.floatToByte(this.red),Om[1]=ne.floatToByte(this.green),Om[2]=ne.floatToByte(this.blue),Om[3]=ne.floatToByte(this.alpha),iG[0]};ne.prototype.brighten=function(e,t){return e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t};ne.prototype.darken=function(e,t){return e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t};ne.prototype.withAlpha=function(e,t){return ne.fromAlpha(this,e,t)};ne.add=function(e,t,n){return n.red=e.red+t.red,n.green=e.green+t.green,n.blue=e.blue+t.blue,n.alpha=e.alpha+t.alpha,n};ne.subtract=function(e,t,n){return n.red=e.red-t.red,n.green=e.green-t.green,n.blue=e.blue-t.blue,n.alpha=e.alpha-t.alpha,n};ne.multiply=function(e,t,n){return n.red=e.red*t.red,n.green=e.green*t.green,n.blue=e.blue*t.blue,n.alpha=e.alpha*t.alpha,n};ne.divide=function(e,t,n){return n.red=e.red/t.red,n.green=e.green/t.green,n.blue=e.blue/t.blue,n.alpha=e.alpha/t.alpha,n};ne.mod=function(e,t,n){return n.red=e.red%t.red,n.green=e.green%t.green,n.blue=e.blue%t.blue,n.alpha=e.alpha%t.alpha,n};ne.lerp=function(e,t,n,i){return i.red=P.lerp(e.red,t.red,n),i.green=P.lerp(e.green,t.green,n),i.blue=P.lerp(e.blue,t.blue,n),i.alpha=P.lerp(e.alpha,t.alpha,n),i};ne.multiplyByScalar=function(e,t,n){return n.red=e.red*t,n.green=e.green*t,n.blue=e.blue*t,n.alpha=e.alpha*t,n};ne.divideByScalar=function(e,t,n){return n.red=e.red/t,n.green=e.green/t,n.blue=e.blue/t,n.alpha=e.alpha/t,n};ne.ALICEBLUE=Object.freeze(ne.fromCssColorString("#F0F8FF"));ne.ANTIQUEWHITE=Object.freeze(ne.fromCssColorString("#FAEBD7"));ne.AQUA=Object.freeze(ne.fromCssColorString("#00FFFF"));ne.AQUAMARINE=Object.freeze(ne.fromCssColorString("#7FFFD4"));ne.AZURE=Object.freeze(ne.fromCssColorString("#F0FFFF"));ne.BEIGE=Object.freeze(ne.fromCssColorString("#F5F5DC"));ne.BISQUE=Object.freeze(ne.fromCssColorString("#FFE4C4"));ne.BLACK=Object.freeze(ne.fromCssColorString("#000000"));ne.BLANCHEDALMOND=Object.freeze(ne.fromCssColorString("#FFEBCD"));ne.BLUE=Object.freeze(ne.fromCssColorString("#0000FF"));ne.BLUEVIOLET=Object.freeze(ne.fromCssColorString("#8A2BE2"));ne.BROWN=Object.freeze(ne.fromCssColorString("#A52A2A"));ne.BURLYWOOD=Object.freeze(ne.fromCssColorString("#DEB887"));ne.CADETBLUE=Object.freeze(ne.fromCssColorString("#5F9EA0"));ne.CHARTREUSE=Object.freeze(ne.fromCssColorString("#7FFF00"));ne.CHOCOLATE=Object.freeze(ne.fromCssColorString("#D2691E"));ne.CORAL=Object.freeze(ne.fromCssColorString("#FF7F50"));ne.CORNFLOWERBLUE=Object.freeze(ne.fromCssColorString("#6495ED"));ne.CORNSILK=Object.freeze(ne.fromCssColorString("#FFF8DC"));ne.CRIMSON=Object.freeze(ne.fromCssColorString("#DC143C"));ne.CYAN=Object.freeze(ne.fromCssColorString("#00FFFF"));ne.DARKBLUE=Object.freeze(ne.fromCssColorString("#00008B"));ne.DARKCYAN=Object.freeze(ne.fromCssColorString("#008B8B"));ne.DARKGOLDENROD=Object.freeze(ne.fromCssColorString("#B8860B"));ne.DARKGRAY=Object.freeze(ne.fromCssColorString("#A9A9A9"));ne.DARKGREEN=Object.freeze(ne.fromCssColorString("#006400"));ne.DARKGREY=ne.DARKGRAY;ne.DARKKHAKI=Object.freeze(ne.fromCssColorString("#BDB76B"));ne.DARKMAGENTA=Object.freeze(ne.fromCssColorString("#8B008B"));ne.DARKOLIVEGREEN=Object.freeze(ne.fromCssColorString("#556B2F"));ne.DARKORANGE=Object.freeze(ne.fromCssColorString("#FF8C00"));ne.DARKORCHID=Object.freeze(ne.fromCssColorString("#9932CC"));ne.DARKRED=Object.freeze(ne.fromCssColorString("#8B0000"));ne.DARKSALMON=Object.freeze(ne.fromCssColorString("#E9967A"));ne.DARKSEAGREEN=Object.freeze(ne.fromCssColorString("#8FBC8F"));ne.DARKSLATEBLUE=Object.freeze(ne.fromCssColorString("#483D8B"));ne.DARKSLATEGRAY=Object.freeze(ne.fromCssColorString("#2F4F4F"));ne.DARKSLATEGREY=ne.DARKSLATEGRAY;ne.DARKTURQUOISE=Object.freeze(ne.fromCssColorString("#00CED1"));ne.DARKVIOLET=Object.freeze(ne.fromCssColorString("#9400D3"));ne.DEEPPINK=Object.freeze(ne.fromCssColorString("#FF1493"));ne.DEEPSKYBLUE=Object.freeze(ne.fromCssColorString("#00BFFF"));ne.DIMGRAY=Object.freeze(ne.fromCssColorString("#696969"));ne.DIMGREY=ne.DIMGRAY;ne.DODGERBLUE=Object.freeze(ne.fromCssColorString("#1E90FF"));ne.FIREBRICK=Object.freeze(ne.fromCssColorString("#B22222"));ne.FLORALWHITE=Object.freeze(ne.fromCssColorString("#FFFAF0"));ne.FORESTGREEN=Object.freeze(ne.fromCssColorString("#228B22"));ne.FUCHSIA=Object.freeze(ne.fromCssColorString("#FF00FF"));ne.GAINSBORO=Object.freeze(ne.fromCssColorString("#DCDCDC"));ne.GHOSTWHITE=Object.freeze(ne.fromCssColorString("#F8F8FF"));ne.GOLD=Object.freeze(ne.fromCssColorString("#FFD700"));ne.GOLDENROD=Object.freeze(ne.fromCssColorString("#DAA520"));ne.GRAY=Object.freeze(ne.fromCssColorString("#808080"));ne.GREEN=Object.freeze(ne.fromCssColorString("#008000"));ne.GREENYELLOW=Object.freeze(ne.fromCssColorString("#ADFF2F"));ne.GREY=ne.GRAY;ne.HONEYDEW=Object.freeze(ne.fromCssColorString("#F0FFF0"));ne.HOTPINK=Object.freeze(ne.fromCssColorString("#FF69B4"));ne.INDIANRED=Object.freeze(ne.fromCssColorString("#CD5C5C"));ne.INDIGO=Object.freeze(ne.fromCssColorString("#4B0082"));ne.IVORY=Object.freeze(ne.fromCssColorString("#FFFFF0"));ne.KHAKI=Object.freeze(ne.fromCssColorString("#F0E68C"));ne.LAVENDER=Object.freeze(ne.fromCssColorString("#E6E6FA"));ne.LAVENDAR_BLUSH=Object.freeze(ne.fromCssColorString("#FFF0F5"));ne.LAWNGREEN=Object.freeze(ne.fromCssColorString("#7CFC00"));ne.LEMONCHIFFON=Object.freeze(ne.fromCssColorString("#FFFACD"));ne.LIGHTBLUE=Object.freeze(ne.fromCssColorString("#ADD8E6"));ne.LIGHTCORAL=Object.freeze(ne.fromCssColorString("#F08080"));ne.LIGHTCYAN=Object.freeze(ne.fromCssColorString("#E0FFFF"));ne.LIGHTGOLDENRODYELLOW=Object.freeze(ne.fromCssColorString("#FAFAD2"));ne.LIGHTGRAY=Object.freeze(ne.fromCssColorString("#D3D3D3"));ne.LIGHTGREEN=Object.freeze(ne.fromCssColorString("#90EE90"));ne.LIGHTGREY=ne.LIGHTGRAY;ne.LIGHTPINK=Object.freeze(ne.fromCssColorString("#FFB6C1"));ne.LIGHTSEAGREEN=Object.freeze(ne.fromCssColorString("#20B2AA"));ne.LIGHTSKYBLUE=Object.freeze(ne.fromCssColorString("#87CEFA"));ne.LIGHTSLATEGRAY=Object.freeze(ne.fromCssColorString("#778899"));ne.LIGHTSLATEGREY=ne.LIGHTSLATEGRAY;ne.LIGHTSTEELBLUE=Object.freeze(ne.fromCssColorString("#B0C4DE"));ne.LIGHTYELLOW=Object.freeze(ne.fromCssColorString("#FFFFE0"));ne.LIME=Object.freeze(ne.fromCssColorString("#00FF00"));ne.LIMEGREEN=Object.freeze(ne.fromCssColorString("#32CD32"));ne.LINEN=Object.freeze(ne.fromCssColorString("#FAF0E6"));ne.MAGENTA=Object.freeze(ne.fromCssColorString("#FF00FF"));ne.MAROON=Object.freeze(ne.fromCssColorString("#800000"));ne.MEDIUMAQUAMARINE=Object.freeze(ne.fromCssColorString("#66CDAA"));ne.MEDIUMBLUE=Object.freeze(ne.fromCssColorString("#0000CD"));ne.MEDIUMORCHID=Object.freeze(ne.fromCssColorString("#BA55D3"));ne.MEDIUMPURPLE=Object.freeze(ne.fromCssColorString("#9370DB"));ne.MEDIUMSEAGREEN=Object.freeze(ne.fromCssColorString("#3CB371"));ne.MEDIUMSLATEBLUE=Object.freeze(ne.fromCssColorString("#7B68EE"));ne.MEDIUMSPRINGGREEN=Object.freeze(ne.fromCssColorString("#00FA9A"));ne.MEDIUMTURQUOISE=Object.freeze(ne.fromCssColorString("#48D1CC"));ne.MEDIUMVIOLETRED=Object.freeze(ne.fromCssColorString("#C71585"));ne.MIDNIGHTBLUE=Object.freeze(ne.fromCssColorString("#191970"));ne.MINTCREAM=Object.freeze(ne.fromCssColorString("#F5FFFA"));ne.MISTYROSE=Object.freeze(ne.fromCssColorString("#FFE4E1"));ne.MOCCASIN=Object.freeze(ne.fromCssColorString("#FFE4B5"));ne.NAVAJOWHITE=Object.freeze(ne.fromCssColorString("#FFDEAD"));ne.NAVY=Object.freeze(ne.fromCssColorString("#000080"));ne.OLDLACE=Object.freeze(ne.fromCssColorString("#FDF5E6"));ne.OLIVE=Object.freeze(ne.fromCssColorString("#808000"));ne.OLIVEDRAB=Object.freeze(ne.fromCssColorString("#6B8E23"));ne.ORANGE=Object.freeze(ne.fromCssColorString("#FFA500"));ne.ORANGERED=Object.freeze(ne.fromCssColorString("#FF4500"));ne.ORCHID=Object.freeze(ne.fromCssColorString("#DA70D6"));ne.PALEGOLDENROD=Object.freeze(ne.fromCssColorString("#EEE8AA"));ne.PALEGREEN=Object.freeze(ne.fromCssColorString("#98FB98"));ne.PALETURQUOISE=Object.freeze(ne.fromCssColorString("#AFEEEE"));ne.PALEVIOLETRED=Object.freeze(ne.fromCssColorString("#DB7093"));ne.PAPAYAWHIP=Object.freeze(ne.fromCssColorString("#FFEFD5"));ne.PEACHPUFF=Object.freeze(ne.fromCssColorString("#FFDAB9"));ne.PERU=Object.freeze(ne.fromCssColorString("#CD853F"));ne.PINK=Object.freeze(ne.fromCssColorString("#FFC0CB"));ne.PLUM=Object.freeze(ne.fromCssColorString("#DDA0DD"));ne.POWDERBLUE=Object.freeze(ne.fromCssColorString("#B0E0E6"));ne.PURPLE=Object.freeze(ne.fromCssColorString("#800080"));ne.RED=Object.freeze(ne.fromCssColorString("#FF0000"));ne.ROSYBROWN=Object.freeze(ne.fromCssColorString("#BC8F8F"));ne.ROYALBLUE=Object.freeze(ne.fromCssColorString("#4169E1"));ne.SADDLEBROWN=Object.freeze(ne.fromCssColorString("#8B4513"));ne.SALMON=Object.freeze(ne.fromCssColorString("#FA8072"));ne.SANDYBROWN=Object.freeze(ne.fromCssColorString("#F4A460"));ne.SEAGREEN=Object.freeze(ne.fromCssColorString("#2E8B57"));ne.SEASHELL=Object.freeze(ne.fromCssColorString("#FFF5EE"));ne.SIENNA=Object.freeze(ne.fromCssColorString("#A0522D"));ne.SILVER=Object.freeze(ne.fromCssColorString("#C0C0C0"));ne.SKYBLUE=Object.freeze(ne.fromCssColorString("#87CEEB"));ne.SLATEBLUE=Object.freeze(ne.fromCssColorString("#6A5ACD"));ne.SLATEGRAY=Object.freeze(ne.fromCssColorString("#708090"));ne.SLATEGREY=ne.SLATEGRAY;ne.SNOW=Object.freeze(ne.fromCssColorString("#FFFAFA"));ne.SPRINGGREEN=Object.freeze(ne.fromCssColorString("#00FF7F"));ne.STEELBLUE=Object.freeze(ne.fromCssColorString("#4682B4"));ne.TAN=Object.freeze(ne.fromCssColorString("#D2B48C"));ne.TEAL=Object.freeze(ne.fromCssColorString("#008080"));ne.THISTLE=Object.freeze(ne.fromCssColorString("#D8BFD8"));ne.TOMATO=Object.freeze(ne.fromCssColorString("#FF6347"));ne.TURQUOISE=Object.freeze(ne.fromCssColorString("#40E0D0"));ne.VIOLET=Object.freeze(ne.fromCssColorString("#EE82EE"));ne.WHEAT=Object.freeze(ne.fromCssColorString("#F5DEB3"));ne.WHITE=Object.freeze(ne.fromCssColorString("#FFFFFF"));ne.WHITESMOKE=Object.freeze(ne.fromCssColorString("#F5F5F5"));ne.YELLOW=Object.freeze(ne.fromCssColorString("#FFFF00"));ne.YELLOWGREEN=Object.freeze(ne.fromCssColorString("#9ACD32"));ne.TRANSPARENT=Object.freeze(new ne(0,0,0,0));var z=ne;function g3(e){e=y(e,y.EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}g3.ALL=Object.freeze(new g3({color:new z(0,0,0,0),depth:1,stencil:0}));g3.prototype.execute=function(e,t){e.clear(this,t)};var ii=g3;var qxe={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,VOXELS:9,OVERLAY:10,NUMBER_OF_PASSES:11},Ee=Object.freeze(qxe);function qK(e){e=y(e,y.EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=y(e.persists,!1),this.pass=Ee.COMPUTE,this.owner=e.owner}qK.prototype.execute=function(e){e.execute(this)};var Lu=qK;function vt(e,t){this.x=y(e,0),this.y=y(t,0)}vt.fromElements=function(e,t,n){return u(n)?(n.x=e,n.y=t,n):new vt(e,t)};vt.clone=function(e,t){if(u(e))return u(t)?(t.x=e.x,t.y=e.y,t):new vt(e.x,e.y)};vt.fromCartesian3=vt.clone;vt.fromCartesian4=vt.clone;vt.packedLength=2;vt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n]=e.y,t};vt.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new vt),n.x=e[t++],n.y=e[t],n};vt.packArray=function(e,t){let n=e.length,i=n*2;u(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)vt.pack(e[o],t,o*2);return t};vt.unpackArray=function(e,t){let n=e.length;u(t)?t.length=n/2:t=new Array(n/2);for(let i=0;i<n;i+=2){let o=i/2;t[o]=vt.unpack(e,i,t[o])}return t};vt.fromArray=vt.unpack;vt.maximumComponent=function(e){return Math.max(e.x,e.y)};vt.minimumComponent=function(e){return Math.min(e.x,e.y)};vt.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n};vt.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n};vt.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y);return i.x=o,i.y=r,i};vt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y};vt.magnitude=function(e){return Math.sqrt(vt.magnitudeSquared(e))};var y3=new vt;vt.distance=function(e,t){return vt.subtract(e,t,y3),vt.magnitude(y3)};vt.distanceSquared=function(e,t){return vt.subtract(e,t,y3),vt.magnitudeSquared(y3)};vt.normalize=function(e,t){let n=vt.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t};vt.dot=function(e,t){return e.x*t.x+e.y*t.y};vt.cross=function(e,t){return e.x*t.y-e.y*t.x};vt.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n};vt.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n};vt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n};vt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n};vt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n};vt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n};vt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t};vt.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t};var XK=new vt;vt.lerp=function(e,t,n,i){return vt.multiplyByScalar(t,n,XK),i=vt.multiplyByScalar(e,1-n,i),vt.add(XK,i,i)};var KK=new vt,ZK=new vt;vt.angleBetween=function(e,t){return vt.normalize(e,KK),vt.normalize(t,ZK),P.acosClamped(vt.dot(KK,ZK))};var Xxe=new vt;vt.mostOrthogonalAxis=function(e,t){let n=vt.normalize(e,Xxe);return vt.abs(n,n),n.x<=n.y?t=vt.clone(vt.UNIT_X,t):t=vt.clone(vt.UNIT_Y,t),t};vt.equals=function(e,t){return e===t||u(e)&&u(t)&&e.x===t.x&&e.y===t.y};vt.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]};vt.equalsEpsilon=function(e,t,n,i){return e===t||u(e)&&u(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)};vt.ZERO=Object.freeze(new vt(0,0));vt.ONE=Object.freeze(new vt(1,1));vt.UNIT_X=Object.freeze(new vt(1,0));vt.UNIT_Y=Object.freeze(new vt(0,1));vt.prototype.clone=function(e){return vt.clone(this,e)};vt.prototype.equals=function(e){return vt.equals(this,e)};vt.prototype.equalsEpsilon=function(e,t,n){return vt.equalsEpsilon(this,e,t,n)};vt.prototype.toString=function(){return`(${this.x}, ${this.y})`};var H=vt;var Kxe=new h,Zxe=new h;function Jxe(e,t,n,i,o){let r=e.x,s=e.y,a=e.z,c=t.x,l=t.y,f=t.z,d=r*r*c*c,p=s*s*l*l,g=a*a*f*f,m=d+p+g,A=Math.sqrt(1/m),x=h.multiplyByScalar(e,A,Kxe);if(m<i)return isFinite(A)?h.clone(x,o):void 0;let C=n.x,T=n.y,E=n.z,S=Zxe;S.x=x.x*C*2,S.y=x.y*T*2,S.z=x.z*E*2;let D=(1-A)*h.magnitude(e)/(.5*h.magnitude(S)),w=0,R,O,L,N,_,b,v,I,B,F,k;do{D-=w,L=1/(1+D*C),N=1/(1+D*T),_=1/(1+D*E),b=L*L,v=N*N,I=_*_,B=b*L,F=v*N,k=I*_,R=d*b+p*v+g*I-1,O=d*B*C+p*F*T+g*k*E;let U=-2*O;w=R/U}while(Math.abs(R)>P.EPSILON12);return u(o)?(o.x=r*L,o.y=s*N,o.z=a*_,o):new h(r*L,s*N,a*_)}var c0=Jxe;function Kr(e,t,n){this.longitude=y(e,0),this.latitude=y(t,0),this.height=y(n,0)}Kr.fromRadians=function(e,t,n,i){return n=y(n,0),u(i)?(i.longitude=e,i.latitude=t,i.height=n,i):new Kr(e,t,n)};Kr.fromDegrees=function(e,t,n,i){return e=P.toRadians(e),t=P.toRadians(t),Kr.fromRadians(e,t,n,i)};var Qxe=new h,$xe=new h,eCe=new h,tCe=new h(1/6378137,1/6378137,1/6356752314245179e-9),nCe=new h(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9)),iCe=P.EPSILON1;Kr.fromCartesian=function(e,t,n){let i=u(t)?t.oneOverRadii:tCe,o=u(t)?t.oneOverRadiiSquared:nCe,r=u(t)?t._centerToleranceSquared:iCe,s=c0(e,i,o,r,$xe);if(!u(s))return;let a=h.multiplyComponents(s,o,Qxe);a=h.normalize(a,a);let c=h.subtract(e,s,eCe),l=Math.atan2(a.y,a.x),f=Math.asin(a.z),d=P.sign(h.dot(c,e))*h.magnitude(c);return u(n)?(n.longitude=l,n.latitude=f,n.height=d,n):new Kr(l,f,d)};Kr.toCartesian=function(e,t,n){return h.fromRadians(e.longitude,e.latitude,e.height,t,n)};Kr.clone=function(e,t){if(u(e))return u(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new Kr(e.longitude,e.latitude,e.height)};Kr.equals=function(e,t){return e===t||u(e)&&u(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height};Kr.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||u(e)&&u(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n};Kr.ZERO=Object.freeze(new Kr(0,0,0));Kr.prototype.clone=function(e){return Kr.clone(this,e)};Kr.prototype.equals=function(e){return Kr.equals(this,e)};Kr.prototype.equalsEpsilon=function(e,t){return Kr.equalsEpsilon(this,e,t)};Kr.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var he=Kr;function QK(e,t,n,i){t=y(t,0),n=y(n,0),i=y(i,0),e._radii=new h(t,n,i),e._radiiSquared=new h(t*t,n*n,i*i),e._radiiToTheFourth=new h(t*t*t*t,n*n*n*n,i*i*i*i),e._oneOverRadii=new h(t===0?0:1/t,n===0?0:1/n,i===0?0:1/i),e._oneOverRadiiSquared=new h(t===0?0:1/(t*t),n===0?0:1/(n*n),i===0?0:1/(i*i)),e._minimumRadius=Math.min(t,n,i),e._maximumRadius=Math.max(t,n,i),e._centerToleranceSquared=P.EPSILON1,e._radiiSquared.z!==0&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function Zi(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,QK(this,e,t,n)}Object.defineProperties(Zi.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});Zi.clone=function(e,t){if(!u(e))return;let n=e._radii;return u(t)?(h.clone(n,t._radii),h.clone(e._radiiSquared,t._radiiSquared),h.clone(e._radiiToTheFourth,t._radiiToTheFourth),h.clone(e._oneOverRadii,t._oneOverRadii),h.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new Zi(n.x,n.y,n.z)};Zi.fromCartesian3=function(e,t){return u(t)||(t=new Zi),u(e)&&QK(t,e.x,e.y,e.z),t};Zi.WGS84=Object.freeze(new Zi(6378137,6378137,6356752314245179e-9));Zi.UNIT_SPHERE=Object.freeze(new Zi(1,1,1));Zi.MOON=Object.freeze(new Zi(P.LUNAR_RADIUS,P.LUNAR_RADIUS,P.LUNAR_RADIUS));Zi.prototype.clone=function(e){return Zi.clone(this,e)};Zi.packedLength=h.packedLength;Zi.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),t};Zi.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t);return Zi.fromCartesian3(i,n)};Zi.prototype.geocentricSurfaceNormal=h.normalize;Zi.prototype.geodeticSurfaceNormalCartographic=function(e,t){let n=e.longitude,i=e.latitude,o=Math.cos(i),r=o*Math.cos(n),s=o*Math.sin(n),a=Math.sin(i);return u(t)||(t=new h),t.x=r,t.y=s,t.z=a,h.normalize(t,t)};Zi.prototype.geodeticSurfaceNormal=function(e,t){if(!h.equalsEpsilon(e,h.ZERO,P.EPSILON14))return u(t)||(t=new h),t=h.multiplyComponents(e,this._oneOverRadiiSquared,t),h.normalize(t,t)};var oCe=new h,rCe=new h;Zi.prototype.cartographicToCartesian=function(e,t){let n=oCe,i=rCe;this.geodeticSurfaceNormalCartographic(e,n),h.multiplyComponents(this._radiiSquared,n,i);let o=Math.sqrt(h.dot(n,i));return h.divideByScalar(i,o,i),h.multiplyByScalar(n,e.height,n),u(t)||(t=new h),h.add(i,n,t)};Zi.prototype.cartographicArrayToCartesianArray=function(e,t){let n=e.length;u(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var sCe=new h,aCe=new h,cCe=new h;Zi.prototype.cartesianToCartographic=function(e,t){let n=this.scaleToGeodeticSurface(e,aCe);if(!u(n))return;let i=this.geodeticSurfaceNormal(n,sCe),o=h.subtract(e,n,cCe),r=Math.atan2(i.y,i.x),s=Math.asin(i.z),a=P.sign(h.dot(o,e))*h.magnitude(o);return u(t)?(t.longitude=r,t.latitude=s,t.height=a,t):new he(r,s,a)};Zi.prototype.cartesianArrayToCartographicArray=function(e,t){let n=e.length;u(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};Zi.prototype.scaleToGeodeticSurface=function(e,t){return c0(e,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,t)};Zi.prototype.scaleToGeocentricSurface=function(e,t){u(t)||(t=new h);let n=e.x,i=e.y,o=e.z,r=this._oneOverRadiiSquared,s=1/Math.sqrt(n*n*r.x+i*i*r.y+o*o*r.z);return h.multiplyByScalar(e,s,t)};Zi.prototype.transformPositionToScaledSpace=function(e,t){return u(t)||(t=new h),h.multiplyComponents(e,this._oneOverRadii,t)};Zi.prototype.transformPositionFromScaledSpace=function(e,t){return u(t)||(t=new h),h.multiplyComponents(e,this._radii,t)};Zi.prototype.equals=function(e){return this===e||u(e)&&h.equals(this._radii,e._radii)};Zi.prototype.toString=function(){return this._radii.toString()};Zi.prototype.getSurfaceNormalIntersectionWithZAxis=function(e,t,n){t=y(t,0);let i=this._squaredXOverSquaredZ;if(u(n)||(n=new h),n.x=0,n.y=0,n.z=e.z*(1-i),!(Math.abs(n.z)>=this._radii.z-t))return n};var lCe=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],uCe=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function JK(e,t,n){let i=.5*(t+e),o=.5*(t-e),r=0;for(let s=0;s<5;s++){let a=o*lCe[s];r+=uCe[s]*(n(i+a)+n(i-a))}return r*=o,r}Zi.prototype.surfaceArea=function(e){let t=e.west,n=e.east,i=e.south,o=e.north;for(;n<t;)n+=P.TWO_PI;let r=this._radiiSquared,s=r.x,a=r.y,c=r.z,l=s*a;return JK(i,o,function(f){let d=Math.cos(f),p=Math.sin(f);return Math.cos(f)*JK(t,n,function(g){let m=Math.cos(g),A=Math.sin(g);return Math.sqrt(l*p*p+c*(a*m*m+s*A*A)*d*d)})})};var ie=Zi;function A3(e){this._ellipsoid=y(e,ie.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(A3.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});A3.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=e.latitude*n,r=e.height;return u(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};A3.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,r=e.z;return u(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new he(i,o,r)};var Ei=A3;var fCe={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},Qt=Object.freeze(fCe);function Fn(e,t,n,i){this.west=y(e,0),this.south=y(t,0),this.east=y(n,0),this.north=y(i,0)}Object.defineProperties(Fn.prototype,{width:{get:function(){return Fn.computeWidth(this)}},height:{get:function(){return Fn.computeHeight(this)}}});Fn.packedLength=4;Fn.pack=function(e,t,n){return n=y(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};Fn.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new Fn),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};Fn.computeWidth=function(e){let t=e.east,n=e.west;return t<n&&(t+=P.TWO_PI),t-n};Fn.computeHeight=function(e){return e.north-e.south};Fn.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(y(e,0)),t=P.toRadians(y(t,0)),n=P.toRadians(y(n,0)),i=P.toRadians(y(i,0)),u(o)?(o.west=e,o.south=t,o.east=n,o.north=i,o):new Fn(e,t,n,i)};Fn.fromRadians=function(e,t,n,i,o){return u(o)?(o.west=y(e,0),o.south=y(t,0),o.east=y(n,0),o.north=y(i,0),o):new Fn(e,t,n,i)};Fn.fromCartographicArray=function(e,t){let n=Number.MAX_VALUE,i=-Number.MAX_VALUE,o=Number.MAX_VALUE,r=-Number.MAX_VALUE,s=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let c=0,l=e.length;c<l;c++){let f=e[c];n=Math.min(n,f.longitude),i=Math.max(i,f.longitude),s=Math.min(s,f.latitude),a=Math.max(a,f.latitude);let d=f.longitude>=0?f.longitude:f.longitude+P.TWO_PI;o=Math.min(o,d),r=Math.max(r,d)}return i-n>r-o&&(n=o,i=r,i>P.PI&&(i=i-P.TWO_PI),n>P.PI&&(n=n-P.TWO_PI)),u(t)?(t.west=n,t.south=s,t.east=i,t.north=a,t):new Fn(n,s,i,a)};Fn.fromCartesianArray=function(e,t,n){t=y(t,ie.WGS84);let i=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let l=0,f=e.length;l<f;l++){let d=t.cartesianToCartographic(e[l]);i=Math.min(i,d.longitude),o=Math.max(o,d.longitude),a=Math.min(a,d.latitude),c=Math.max(c,d.latitude);let p=d.longitude>=0?d.longitude:d.longitude+P.TWO_PI;r=Math.min(r,p),s=Math.max(s,p)}return o-i>s-r&&(i=r,o=s,o>P.PI&&(o=o-P.TWO_PI),i>P.PI&&(i=i-P.TWO_PI)),u(n)?(n.west=i,n.south=a,n.east=o,n.north=c,n):new Fn(i,a,o,c)};Fn.clone=function(e,t){if(u(e))return u(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new Fn(e.west,e.south,e.east,e.north)};Fn.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||u(e)&&u(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n};Fn.prototype.clone=function(e){return Fn.clone(this,e)};Fn.prototype.equals=function(e){return Fn.equals(this,e)};Fn.equals=function(e,t){return e===t||u(e)&&u(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north};Fn.prototype.equalsEpsilon=function(e,t){return Fn.equalsEpsilon(this,e,t)};Fn.validate=function(e){};Fn.southwest=function(e,t){return u(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new he(e.west,e.south)};Fn.northwest=function(e,t){return u(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new he(e.west,e.north)};Fn.northeast=function(e,t){return u(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new he(e.east,e.north)};Fn.southeast=function(e,t){return u(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new he(e.east,e.south)};Fn.center=function(e,t){let n=e.east,i=e.west;n<i&&(n+=P.TWO_PI);let o=P.negativePiToPi((i+n)*.5),r=(e.south+e.north)*.5;return u(t)?(t.longitude=o,t.latitude=r,t.height=0,t):new he(o,r)};Fn.intersection=function(e,t,n){let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.max(o,s)),c=P.negativePiToPi(Math.min(i,r));if((e.west<e.east||t.west<t.east)&&c<=a)return;let l=Math.max(e.south,t.south),f=Math.min(e.north,t.north);if(!(l>=f))return u(n)?(n.west=a,n.south=l,n.east=c,n.north=f,n):new Fn(a,l,c,f)};Fn.simpleIntersection=function(e,t,n){let i=Math.max(e.west,t.west),o=Math.max(e.south,t.south),r=Math.min(e.east,t.east),s=Math.min(e.north,t.north);if(!(o>=s||i>=r))return u(n)?(n.west=i,n.south=o,n.east=r,n.north=s,n):new Fn(i,o,r,s)};Fn.union=function(e,t,n){u(n)||(n=new Fn);let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.min(o,s)),c=P.negativePiToPi(Math.max(i,r));return n.west=a,n.south=Math.min(e.south,t.south),n.east=c,n.north=Math.max(e.north,t.north),n};Fn.expand=function(e,t,n){return u(n)||(n=new Fn),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n};Fn.contains=function(e,t){let n=t.longitude,i=t.latitude,o=e.west,r=e.east;return r<o&&(r+=P.TWO_PI,n<0&&(n+=P.TWO_PI)),(n>o||P.equalsEpsilon(n,o,P.EPSILON14))&&(n<r||P.equalsEpsilon(n,r,P.EPSILON14))&&i>=e.south&&i<=e.north};var dCe=new he;Fn.subsample=function(e,t,n,i){t=y(t,ie.WGS84),n=y(n,0),u(i)||(i=[]);let o=0,r=e.north,s=e.south,a=e.east,c=e.west,l=dCe;l.height=n,l.longitude=c,l.latitude=r,i[o]=t.cartographicToCartesian(l,i[o]),o++,l.longitude=a,i[o]=t.cartographicToCartesian(l,i[o]),o++,l.latitude=s,i[o]=t.cartographicToCartesian(l,i[o]),o++,l.longitude=c,i[o]=t.cartographicToCartesian(l,i[o]),o++,r<0?l.latitude=r:s>0?l.latitude=s:l.latitude=0;for(let f=1;f<8;++f)l.longitude=-Math.PI+f*P.PI_OVER_TWO,Fn.contains(e,l)&&(i[o]=t.cartographicToCartesian(l,i[o]),o++);return l.latitude===0&&(l.longitude=c,i[o]=t.cartographicToCartesian(l,i[o]),o++,l.longitude=a,i[o]=t.cartographicToCartesian(l,i[o]),o++),i.length=o,i};Fn.subsection=function(e,t,n,i,o,r){if(u(r)||(r=new Fn),e.west<=e.east){let a=e.east-e.west;r.west=e.west+t*a,r.east=e.west+i*a}else{let a=P.TWO_PI+e.east-e.west;r.west=P.negativePiToPi(e.west+t*a),r.east=P.negativePiToPi(e.west+i*a)}let s=e.north-e.south;return r.south=e.south+n*s,r.north=e.south+o*s,t===1&&(r.west=e.east),i===1&&(r.east=e.east),n===1&&(r.south=e.north),o===1&&(r.north=e.north),r};Fn.MAX_VALUE=Object.freeze(new Fn(-Math.PI,-P.PI_OVER_TWO,Math.PI,P.PI_OVER_TWO));var ce=Fn;function Cr(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.width=y(n,0),this.height=y(i,0)}Cr.packedLength=4;Cr.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.width,t[n]=e.height,t};Cr.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new Cr),n.x=e[t++],n.y=e[t++],n.width=e[t++],n.height=e[t],n};Cr.fromPoints=function(e,t){if(u(t)||(t=new Cr),!u(e)||e.length===0)return t.x=0,t.y=0,t.width=0,t.height=0,t;let n=e.length,i=e[0].x,o=e[0].y,r=e[0].x,s=e[0].y;for(let a=1;a<n;a++){let c=e[a],l=c.x,f=c.y;i=Math.min(l,i),r=Math.max(l,r),o=Math.min(f,o),s=Math.max(f,s)}return t.x=i,t.y=o,t.width=r-i,t.height=s-o,t};var hCe=new Ei,mCe=new he,pCe=new he;Cr.fromRectangle=function(e,t,n){if(u(n)||(n=new Cr),!u(e))return n.x=0,n.y=0,n.width=0,n.height=0,n;t=y(t,hCe);let i=t.project(ce.southwest(e,mCe)),o=t.project(ce.northeast(e,pCe));return H.subtract(o,i,o),n.x=i.x,n.y=i.y,n.width=o.x,n.height=o.y,n};Cr.clone=function(e,t){if(u(e))return u(t)?(t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height,t):new Cr(e.x,e.y,e.width,e.height)};Cr.union=function(e,t,n){u(n)||(n=new Cr);let i=Math.min(e.x,t.x),o=Math.min(e.y,t.y),r=Math.max(e.x+e.width,t.x+t.width),s=Math.max(e.y+e.height,t.y+t.height);return n.x=i,n.y=o,n.width=r-i,n.height=s-o,n};Cr.expand=function(e,t,n){n=Cr.clone(e,n);let i=t.x-n.x,o=t.y-n.y;return i>n.width?n.width=i:i<0&&(n.width-=i,n.x=t.x),o>n.height?n.height=o:o<0&&(n.height-=o,n.y=t.y),n};Cr.intersect=function(e,t){let n=e.x,i=e.y,o=t.x,r=t.y;return n>o+t.width||n+e.width<o||i+e.height<r||i>r+t.height?Qt.OUTSIDE:Qt.INTERSECTING};Cr.equals=function(e,t){return e===t||u(e)&&u(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height};Cr.prototype.clone=function(e){return Cr.clone(this,e)};Cr.prototype.intersect=function(e){return Cr.intersect(this,e)};Cr.prototype.equals=function(e){return Cr.equals(this,e)};var Ye=Cr;var oa={POINTS:ee.POINTS,LINES:ee.LINES,LINE_LOOP:ee.LINE_LOOP,LINE_STRIP:ee.LINE_STRIP,TRIANGLES:ee.TRIANGLES,TRIANGLE_STRIP:ee.TRIANGLE_STRIP,TRIANGLE_FAN:ee.TRIANGLE_FAN};oa.isLines=function(e){return e===oa.LINES||e===oa.LINE_LOOP||e===oa.LINE_STRIP};oa.isTriangles=function(e){return e===oa.TRIANGLES||e===oa.TRIANGLE_STRIP||e===oa.TRIANGLE_FAN};oa.validate=function(e){return e===oa.POINTS||e===oa.LINES||e===oa.LINE_LOOP||e===oa.LINE_STRIP||e===oa.TRIANGLES||e===oa.TRIANGLE_STRIP||e===oa.TRIANGLE_FAN};var Me=Object.freeze(oa);var l0=`in vec4 position; +in vec2 textureCoordinates; + +out vec2 v_textureCoordinates; + +void main() +{ + gl_Position = position; + v_textureCoordinates = textureCoordinates; +} +`;var dr={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function WS(e){e=y(e,y.EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._modelMatrix=e.modelMatrix,this._primitiveType=y(e.primitiveType,Me.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=y(e.offset,0),this._instanceCount=y(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._owner=e.owner,this._debugOverlappingFrustums=0,this._pickId=e.pickId,this._flags=0,this.cull=y(e.cull,!0),this.occlude=y(e.occlude,!0),this.executeInClosestFrustum=y(e.executeInClosestFrustum,!1),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.castShadows=y(e.castShadows,!1),this.receiveShadows=y(e.receiveShadows,!1),this.pickOnly=y(e.pickOnly,!1),this.depthForTranslucentClassification=y(e.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function Ia(e,t){return(e._flags&t)===t}function z_(e,t,n){n?e._flags|=t:e._flags&=~t}Object.defineProperties(WS.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return Ia(this,dr.CULL)},set:function(e){Ia(this,dr.CULL)!==e&&(z_(this,dr.CULL,e),this.dirty=!0)}},occlude:{get:function(){return Ia(this,dr.OCCLUDE)},set:function(e){Ia(this,dr.OCCLUDE)!==e&&(z_(this,dr.OCCLUDE,e),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return Ia(this,dr.CAST_SHADOWS)},set:function(e){Ia(this,dr.CAST_SHADOWS)!==e&&(z_(this,dr.CAST_SHADOWS,e),this.dirty=!0)}},receiveShadows:{get:function(){return Ia(this,dr.RECEIVE_SHADOWS)},set:function(e){Ia(this,dr.RECEIVE_SHADOWS)!==e&&(z_(this,dr.RECEIVE_SHADOWS,e),this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return Ia(this,dr.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(e){Ia(this,dr.EXECUTE_IN_CLOSEST_FRUSTUM)!==e&&(z_(this,dr.EXECUTE_IN_CLOSEST_FRUSTUM,e),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return Ia(this,dr.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(e){Ia(this,dr.DEBUG_SHOW_BOUNDING_VOLUME)!==e&&(z_(this,dr.DEBUG_SHOW_BOUNDING_VOLUME,e),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickOnly:{get:function(){return Ia(this,dr.PICK_ONLY)},set:function(e){Ia(this,dr.PICK_ONLY)!==e&&(z_(this,dr.PICK_ONLY,e),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return Ia(this,dr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(e){Ia(this,dr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==e&&(z_(this,dr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,e),this.dirty=!0)}}});WS.shallowClone=function(e,t){if(u(e))return u(t)||(t=new WS),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._owner=e._owner,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._pickId=e._pickId,t._flags=e._flags,t.dirty=!0,t.lastDirtyTime=0,t};WS.prototype.execute=function(e,t){e.draw(this,t)};var tt=WS;var bi={UNSIGNED_BYTE:ee.UNSIGNED_BYTE,UNSIGNED_SHORT:ee.UNSIGNED_SHORT,UNSIGNED_INT:ee.UNSIGNED_INT,FLOAT:ee.FLOAT,HALF_FLOAT:ee.HALF_FLOAT_OES,UNSIGNED_INT_24_8:ee.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:ee.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:ee.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:ee.UNSIGNED_SHORT_5_6_5};bi.toWebGLConstant=function(e,t){switch(e){case bi.UNSIGNED_BYTE:return ee.UNSIGNED_BYTE;case bi.UNSIGNED_SHORT:return ee.UNSIGNED_SHORT;case bi.UNSIGNED_INT:return ee.UNSIGNED_INT;case bi.FLOAT:return ee.FLOAT;case bi.HALF_FLOAT:return t.webgl2?ee.HALF_FLOAT:ee.HALF_FLOAT_OES;case bi.UNSIGNED_INT_24_8:return ee.UNSIGNED_INT_24_8;case bi.UNSIGNED_SHORT_4_4_4_4:return ee.UNSIGNED_SHORT_4_4_4_4;case bi.UNSIGNED_SHORT_5_5_5_1:return ee.UNSIGNED_SHORT_5_5_5_1;case bi.UNSIGNED_SHORT_5_6_5:return bi.UNSIGNED_SHORT_5_6_5}};bi.isPacked=function(e){return e===bi.UNSIGNED_INT_24_8||e===bi.UNSIGNED_SHORT_4_4_4_4||e===bi.UNSIGNED_SHORT_5_5_5_1||e===bi.UNSIGNED_SHORT_5_6_5};bi.sizeInBytes=function(e){switch(e){case bi.UNSIGNED_BYTE:return 1;case bi.UNSIGNED_SHORT:case bi.UNSIGNED_SHORT_4_4_4_4:case bi.UNSIGNED_SHORT_5_5_5_1:case bi.UNSIGNED_SHORT_5_6_5:case bi.HALF_FLOAT:return 2;case bi.UNSIGNED_INT:case bi.FLOAT:case bi.UNSIGNED_INT_24_8:return 4}};bi.validate=function(e){return e===bi.UNSIGNED_BYTE||e===bi.UNSIGNED_SHORT||e===bi.UNSIGNED_INT||e===bi.FLOAT||e===bi.HALF_FLOAT||e===bi.UNSIGNED_INT_24_8||e===bi.UNSIGNED_SHORT_4_4_4_4||e===bi.UNSIGNED_SHORT_5_5_5_1||e===bi.UNSIGNED_SHORT_5_6_5};var Xe=Object.freeze(bi);var ot={DEPTH_COMPONENT:ee.DEPTH_COMPONENT,DEPTH_STENCIL:ee.DEPTH_STENCIL,ALPHA:ee.ALPHA,RED:ee.RED,RG:ee.RG,RGB:ee.RGB,RGBA:ee.RGBA,LUMINANCE:ee.LUMINANCE,LUMINANCE_ALPHA:ee.LUMINANCE_ALPHA,RGB_DXT1:ee.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:ee.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:ee.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:ee.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:ee.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:ee.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:ee.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:ee.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGBA_ASTC:ee.COMPRESSED_RGBA_ASTC_4x4_WEBGL,RGB_ETC1:ee.COMPRESSED_RGB_ETC1_WEBGL,RGB8_ETC2:ee.COMPRESSED_RGB8_ETC2,RGBA8_ETC2_EAC:ee.COMPRESSED_RGBA8_ETC2_EAC,RGBA_BC7:ee.COMPRESSED_RGBA_BPTC_UNORM};ot.componentsLength=function(e){switch(e){case ot.RGB:return 3;case ot.RGBA:return 4;case ot.LUMINANCE_ALPHA:case ot.RG:return 2;case ot.ALPHA:case ot.RED:case ot.LUMINANCE:return 1;default:return 1}};ot.validate=function(e){return e===ot.DEPTH_COMPONENT||e===ot.DEPTH_STENCIL||e===ot.ALPHA||e===ot.RED||e===ot.RG||e===ot.RGB||e===ot.RGBA||e===ot.LUMINANCE||e===ot.LUMINANCE_ALPHA||e===ot.RGB_DXT1||e===ot.RGBA_DXT1||e===ot.RGBA_DXT3||e===ot.RGBA_DXT5||e===ot.RGB_PVRTC_4BPPV1||e===ot.RGB_PVRTC_2BPPV1||e===ot.RGBA_PVRTC_4BPPV1||e===ot.RGBA_PVRTC_2BPPV1||e===ot.RGBA_ASTC||e===ot.RGB_ETC1||e===ot.RGB8_ETC2||e===ot.RGBA8_ETC2_EAC||e===ot.RGBA_BC7};ot.isColorFormat=function(e){return e===ot.ALPHA||e===ot.RGB||e===ot.RGBA||e===ot.LUMINANCE||e===ot.LUMINANCE_ALPHA};ot.isDepthFormat=function(e){return e===ot.DEPTH_COMPONENT||e===ot.DEPTH_STENCIL};ot.isCompressedFormat=function(e){return e===ot.RGB_DXT1||e===ot.RGBA_DXT1||e===ot.RGBA_DXT3||e===ot.RGBA_DXT5||e===ot.RGB_PVRTC_4BPPV1||e===ot.RGB_PVRTC_2BPPV1||e===ot.RGBA_PVRTC_4BPPV1||e===ot.RGBA_PVRTC_2BPPV1||e===ot.RGBA_ASTC||e===ot.RGB_ETC1||e===ot.RGB8_ETC2||e===ot.RGBA8_ETC2_EAC||e===ot.RGBA_BC7};ot.isDXTFormat=function(e){return e===ot.RGB_DXT1||e===ot.RGBA_DXT1||e===ot.RGBA_DXT3||e===ot.RGBA_DXT5};ot.isPVRTCFormat=function(e){return e===ot.RGB_PVRTC_4BPPV1||e===ot.RGB_PVRTC_2BPPV1||e===ot.RGBA_PVRTC_4BPPV1||e===ot.RGBA_PVRTC_2BPPV1};ot.isASTCFormat=function(e){return e===ot.RGBA_ASTC};ot.isETC1Format=function(e){return e===ot.RGB_ETC1};ot.isETC2Format=function(e){return e===ot.RGB8_ETC2||e===ot.RGBA8_ETC2_EAC};ot.isBC7Format=function(e){return e===ot.RGBA_BC7};ot.compressedTextureSizeInBytes=function(e,t,n){switch(e){case ot.RGB_DXT1:case ot.RGBA_DXT1:case ot.RGB_ETC1:case ot.RGB8_ETC2:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*8;case ot.RGBA_DXT3:case ot.RGBA_DXT5:case ot.RGBA_ASTC:case ot.RGBA8_ETC2_EAC:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*16;case ot.RGB_PVRTC_4BPPV1:case ot.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(n,8)*4+7)/8);case ot.RGB_PVRTC_2BPPV1:case ot.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(n,8)*2+7)/8);case ot.RGBA_BC7:return Math.ceil(t/4)*Math.ceil(n/4)*16;default:return 0}};ot.textureSizeInBytes=function(e,t,n,i){let o=ot.componentsLength(e);return Xe.isPacked(t)&&(o=1),o*Xe.sizeInBytes(t)*n*i};ot.alignmentInBytes=function(e,t,n){let i=ot.textureSizeInBytes(e,t,n,1)%4;return i===0?4:i===2?2:1};ot.createTypedArray=function(e,t,n,i){let o,r=Xe.sizeInBytes(t);r===Uint8Array.BYTES_PER_ELEMENT?o=Uint8Array:r===Uint16Array.BYTES_PER_ELEMENT?o=Uint16Array:r===Float32Array.BYTES_PER_ELEMENT&&t===Xe.FLOAT?o=Float32Array:o=Uint32Array;let s=ot.componentsLength(e)*n*i;return new o(s)};ot.flipY=function(e,t,n,i,o){if(o===1)return e;let r=ot.createTypedArray(t,n,i,o),s=ot.componentsLength(t),a=i*s;for(let c=0;c<o;++c){let l=c*i*s,f=(o-c-1)*i*s;for(let d=0;d<a;++d)r[f+d]=e[l+d]}return r};ot.toInternalFormat=function(e,t,n){if(!n.webgl2)return e;if(e===ot.DEPTH_STENCIL)return ee.DEPTH24_STENCIL8;if(e===ot.DEPTH_COMPONENT){if(t===Xe.UNSIGNED_SHORT)return ee.DEPTH_COMPONENT16;if(t===Xe.UNSIGNED_INT)return ee.DEPTH_COMPONENT24}if(t===Xe.FLOAT)switch(e){case ot.RGBA:return ee.RGBA32F;case ot.RGB:return ee.RGB32F;case ot.RG:return ee.RG32F;case ot.RED:return ee.R32F}if(t===Xe.HALF_FLOAT)switch(e){case ot.RGBA:return ee.RGBA16F;case ot.RGB:return ee.RGB16F;case ot.RG:return ee.RG16F;case ot.RED:return ee.R16F}return e};var rt=Object.freeze(ot);var hr={_maximumCombinedTextureImageUnits:0,_maximumCubeMapSize:0,_maximumFragmentUniformVectors:0,_maximumTextureImageUnits:0,_maximumRenderbufferSize:0,_maximumTextureSize:0,_maximumVaryingVectors:0,_maximumVertexAttributes:0,_maximumVertexTextureImageUnits:0,_maximumVertexUniformVectors:0,_minimumAliasedLineWidth:0,_maximumAliasedLineWidth:0,_minimumAliasedPointSize:0,_maximumAliasedPointSize:0,_maximumViewportWidth:0,_maximumViewportHeight:0,_maximumTextureFilterAnisotropy:0,_maximumDrawBuffers:0,_maximumColorAttachments:0,_maximumSamples:0,_highpFloatSupported:!1,_highpIntSupported:!1};Object.defineProperties(hr,{maximumCombinedTextureImageUnits:{get:function(){return hr._maximumCombinedTextureImageUnits}},maximumCubeMapSize:{get:function(){return hr._maximumCubeMapSize}},maximumFragmentUniformVectors:{get:function(){return hr._maximumFragmentUniformVectors}},maximumTextureImageUnits:{get:function(){return hr._maximumTextureImageUnits}},maximumRenderbufferSize:{get:function(){return hr._maximumRenderbufferSize}},maximumTextureSize:{get:function(){return hr._maximumTextureSize}},maximumVaryingVectors:{get:function(){return hr._maximumVaryingVectors}},maximumVertexAttributes:{get:function(){return hr._maximumVertexAttributes}},maximumVertexTextureImageUnits:{get:function(){return hr._maximumVertexTextureImageUnits}},maximumVertexUniformVectors:{get:function(){return hr._maximumVertexUniformVectors}},minimumAliasedLineWidth:{get:function(){return hr._minimumAliasedLineWidth}},maximumAliasedLineWidth:{get:function(){return hr._maximumAliasedLineWidth}},minimumAliasedPointSize:{get:function(){return hr._minimumAliasedPointSize}},maximumAliasedPointSize:{get:function(){return hr._maximumAliasedPointSize}},maximumViewportWidth:{get:function(){return hr._maximumViewportWidth}},maximumViewportHeight:{get:function(){return hr._maximumViewportHeight}},maximumTextureFilterAnisotropy:{get:function(){return hr._maximumTextureFilterAnisotropy}},maximumDrawBuffers:{get:function(){return hr._maximumDrawBuffers}},maximumColorAttachments:{get:function(){return hr._maximumColorAttachments}},maximumSamples:{get:function(){return hr._maximumSamples}},highpFloatSupported:{get:function(){return hr._highpFloatSupported}},highpIntSupported:{get:function(){return hr._highpIntSupported}}});var Ft=hr;function oG(e,t,n){let i=e._gl;i.framebufferTexture2D(i.FRAMEBUFFER,t,n._target,n._texture,0)}function x3(e,t,n){let i=e._gl;i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,n._getRenderbuffer())}function Hf(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=Ft.maximumColorAttachments;this._gl=n,this._framebuffer=n.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=y(e.destroyAttachments,!0);let o=u(e.depthTexture)||u(e.depthRenderbuffer),r=u(e.depthStencilTexture)||u(e.depthStencilRenderbuffer);this._bind();let s,a,c,l,f;if(u(e.colorTextures)){let d=e.colorTextures;for(l=this._colorTextures.length=this._activeColorAttachments.length=d.length,c=0;c<l;++c)s=d[c],f=this._gl.COLOR_ATTACHMENT0+c,oG(this,f,s),this._activeColorAttachments[c]=f,this._colorTextures[c]=s}if(u(e.colorRenderbuffers)){let d=e.colorRenderbuffers;for(l=this._colorRenderbuffers.length=this._activeColorAttachments.length=d.length,c=0;c<l;++c)a=d[c],f=this._gl.COLOR_ATTACHMENT0+c,x3(this,f,a),this._activeColorAttachments[c]=f,this._colorRenderbuffers[c]=a}u(e.depthTexture)&&(s=e.depthTexture,oG(this,this._gl.DEPTH_ATTACHMENT,s),this._depthTexture=s),u(e.depthRenderbuffer)&&(a=e.depthRenderbuffer,x3(this,this._gl.DEPTH_ATTACHMENT,a),this._depthRenderbuffer=a),u(e.stencilRenderbuffer)&&(a=e.stencilRenderbuffer,x3(this,this._gl.STENCIL_ATTACHMENT,a),this._stencilRenderbuffer=a),u(e.depthStencilTexture)&&(s=e.depthStencilTexture,oG(this,this._gl.DEPTH_STENCIL_ATTACHMENT,s),this._depthStencilTexture=s),u(e.depthStencilRenderbuffer)&&(a=e.depthStencilRenderbuffer,x3(this,this._gl.DEPTH_STENCIL_ATTACHMENT,a),this._depthStencilRenderbuffer=a),this._unBind()}Object.defineProperties(Hf.prototype,{status:{get:function(){this._bind();let e=this._gl.checkFramebufferStatus(this._gl.FRAMEBUFFER);return this._unBind(),e}},numberOfColorAttachments:{get:function(){return this._activeColorAttachments.length}},depthTexture:{get:function(){return this._depthTexture}},depthRenderbuffer:{get:function(){return this._depthRenderbuffer}},stencilRenderbuffer:{get:function(){return this._stencilRenderbuffer}},depthStencilTexture:{get:function(){return this._depthStencilTexture}},depthStencilRenderbuffer:{get:function(){return this._depthStencilRenderbuffer}},hasDepthAttachment:{get:function(){return!!(this.depthTexture||this.depthRenderbuffer||this.depthStencilTexture||this.depthStencilRenderbuffer)}}});Hf.prototype._bind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)};Hf.prototype._unBind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)};Hf.prototype.bindDraw=function(){let e=this._gl;e.bindFramebuffer(e.DRAW_FRAMEBUFFER,this._framebuffer)};Hf.prototype.bindRead=function(){let e=this._gl;e.bindFramebuffer(e.READ_FRAMEBUFFER,this._framebuffer)};Hf.prototype._getActiveColorAttachments=function(){return this._activeColorAttachments};Hf.prototype.getColorTexture=function(e){return this._colorTextures[e]};Hf.prototype.getColorRenderbuffer=function(e){return this._colorRenderbuffers[e]};Hf.prototype.isDestroyed=function(){return!1};Hf.prototype.destroy=function(){if(this.destroyAttachments){let e=0,t=this._colorTextures,n=t.length;for(;e<n;++e){let o=t[e];u(o)&&o.destroy()}let i=this._colorRenderbuffers;for(n=i.length,e=0;e<n;++e){let o=i[e];u(o)&&o.destroy()}this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy(),this._stencilRenderbuffer=this._stencilRenderbuffer&&this._stencilRenderbuffer.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()}return this._gl.deleteFramebuffer(this._framebuffer),le(this)};var Ns=Hf;var C3={CLOCKWISE:ee.CW,COUNTER_CLOCKWISE:ee.CCW};C3.validate=function(e){return e===C3.CLOCKWISE||e===C3.COUNTER_CLOCKWISE};var Zr=Object.freeze(C3);function $K(e){if(typeof e!="object"||e===null)return e;let t,n=Object.keys(e);for(let i=0;i<n.length;i++)t=n[i],e.hasOwnProperty(t)&&t!=="_applyFunctions"&&(e[t]=$K(e[t]));return Object.freeze(e)}var rG=$K;function dh(e){let t=y(e,y.EMPTY_OBJECT),n=y(t.cull,y.EMPTY_OBJECT),i=y(t.polygonOffset,y.EMPTY_OBJECT),o=y(t.scissorTest,y.EMPTY_OBJECT),r=y(o.rectangle,y.EMPTY_OBJECT),s=y(t.depthRange,y.EMPTY_OBJECT),a=y(t.depthTest,y.EMPTY_OBJECT),c=y(t.colorMask,y.EMPTY_OBJECT),l=y(t.blending,y.EMPTY_OBJECT),f=y(l.color,y.EMPTY_OBJECT),d=y(t.stencilTest,y.EMPTY_OBJECT),p=y(d.frontOperation,y.EMPTY_OBJECT),g=y(d.backOperation,y.EMPTY_OBJECT),m=y(t.sampleCoverage,y.EMPTY_OBJECT),A=t.viewport;this.frontFace=y(t.frontFace,Zr.COUNTER_CLOCKWISE),this.cull={enabled:y(n.enabled,!1),face:y(n.face,ee.BACK)},this.lineWidth=y(t.lineWidth,1),this.polygonOffset={enabled:y(i.enabled,!1),factor:y(i.factor,0),units:y(i.units,0)},this.scissorTest={enabled:y(o.enabled,!1),rectangle:Ye.clone(r)},this.depthRange={near:y(s.near,0),far:y(s.far,1)},this.depthTest={enabled:y(a.enabled,!1),func:y(a.func,ee.LESS)},this.colorMask={red:y(c.red,!0),green:y(c.green,!0),blue:y(c.blue,!0),alpha:y(c.alpha,!0)},this.depthMask=y(t.depthMask,!0),this.stencilMask=y(t.stencilMask,-1),this.blending={enabled:y(l.enabled,!1),color:new z(y(f.red,0),y(f.green,0),y(f.blue,0),y(f.alpha,0)),equationRgb:y(l.equationRgb,ee.FUNC_ADD),equationAlpha:y(l.equationAlpha,ee.FUNC_ADD),functionSourceRgb:y(l.functionSourceRgb,ee.ONE),functionSourceAlpha:y(l.functionSourceAlpha,ee.ONE),functionDestinationRgb:y(l.functionDestinationRgb,ee.ZERO),functionDestinationAlpha:y(l.functionDestinationAlpha,ee.ZERO)},this.stencilTest={enabled:y(d.enabled,!1),frontFunction:y(d.frontFunction,ee.ALWAYS),backFunction:y(d.backFunction,ee.ALWAYS),reference:y(d.reference,0),mask:y(d.mask,-1),frontOperation:{fail:y(p.fail,ee.KEEP),zFail:y(p.zFail,ee.KEEP),zPass:y(p.zPass,ee.KEEP)},backOperation:{fail:y(g.fail,ee.KEEP),zFail:y(g.zFail,ee.KEEP),zPass:y(g.zPass,ee.KEEP)}},this.sampleCoverage={enabled:y(m.enabled,!1),value:y(m.value,1),invert:y(m.invert,!1)},this.viewport=u(A)?new Ye(A.x,A.y,A.width,A.height):void 0,this.id=0,this._applyFunctions=[]}var _Ce=0,fh={};dh.fromCache=function(e){let t=JSON.stringify(e),n=fh[t];if(u(n))return++n.referenceCount,n.state;let i=new dh(e),o=JSON.stringify(i);return n=fh[o],u(n)||(i.id=_Ce++,n={referenceCount:0,state:i},fh[o]=n),++n.referenceCount,fh[t]={referenceCount:1,state:n.state},n.state};dh.removeFromCache=function(e){let t=new dh(e),n=JSON.stringify(t),i=fh[n],o=JSON.stringify(e),r=fh[o];u(r)&&(--r.referenceCount,r.referenceCount===0&&(delete fh[o],u(i)&&--i.referenceCount)),u(i)&&i.referenceCount===0&&delete fh[n]};dh.getCache=function(){return fh};dh.clearCache=function(){fh={}};function u0(e,t,n){n?e.enable(t):e.disable(t)}function eZ(e,t){e.frontFace(t.frontFace)}function tZ(e,t){let n=t.cull,i=n.enabled;u0(e,e.CULL_FACE,i),i&&e.cullFace(n.face)}function nZ(e,t){e.lineWidth(t.lineWidth)}function iZ(e,t){let n=t.polygonOffset,i=n.enabled;u0(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(n.factor,n.units)}function oZ(e,t,n){let i=t.scissorTest,o=u(n.scissorTest)?n.scissorTest.enabled:i.enabled;if(u0(e,e.SCISSOR_TEST,o),o){let r=u(n.scissorTest)?n.scissorTest.rectangle:i.rectangle;e.scissor(r.x,r.y,r.width,r.height)}}function rZ(e,t){let n=t.depthRange;e.depthRange(n.near,n.far)}function sZ(e,t){let n=t.depthTest,i=n.enabled;u0(e,e.DEPTH_TEST,i),i&&e.depthFunc(n.func)}function aZ(e,t){let n=t.colorMask;e.colorMask(n.red,n.green,n.blue,n.alpha)}function cZ(e,t){e.depthMask(t.depthMask)}function lZ(e,t){e.stencilMask(t.stencilMask)}function gCe(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function uZ(e,t,n){let i=t.blending,o=u(n.blendingEnabled)?n.blendingEnabled:i.enabled;u0(e,e.BLEND,o),o&&(gCe(e,i.color),e.blendEquationSeparate(i.equationRgb,i.equationAlpha),e.blendFuncSeparate(i.functionSourceRgb,i.functionDestinationRgb,i.functionSourceAlpha,i.functionDestinationAlpha))}function fZ(e,t){let n=t.stencilTest,i=n.enabled;if(u0(e,e.STENCIL_TEST,i),i){let o=n.frontFunction,r=n.backFunction,s=n.reference,a=n.mask;e.stencilFunc(o,s,a),e.stencilFuncSeparate(e.BACK,r,s,a),e.stencilFuncSeparate(e.FRONT,o,s,a);let c=n.frontOperation,l=c.fail,f=c.zFail,d=c.zPass;e.stencilOpSeparate(e.FRONT,l,f,d);let p=n.backOperation,g=p.fail,m=p.zFail,A=p.zPass;e.stencilOpSeparate(e.BACK,g,m,A)}}function dZ(e,t){let n=t.sampleCoverage,i=n.enabled;u0(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(n.value,n.invert)}var yCe=new Ye;function hZ(e,t,n){let i=y(t.viewport,n.viewport);u(i)||(i=yCe,i.width=n.context.drawingBufferWidth,i.height=n.context.drawingBufferHeight),n.context.uniformState.viewport=i,e.viewport(i.x,i.y,i.width,i.height)}dh.apply=function(e,t,n){eZ(e,t),tZ(e,t),nZ(e,t),iZ(e,t),rZ(e,t),sZ(e,t),aZ(e,t),cZ(e,t),lZ(e,t),fZ(e,t),dZ(e,t),oZ(e,t,n),uZ(e,t,n),hZ(e,t,n)};function ACe(e,t){let n=[];return e.frontFace!==t.frontFace&&n.push(eZ),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&n.push(tZ),e.lineWidth!==t.lineWidth&&n.push(nZ),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&n.push(iZ),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&n.push(rZ),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&n.push(sZ),(e.colorMask.red!==t.colorMask.red||e.colorMask.green!==t.colorMask.green||e.colorMask.blue!==t.colorMask.blue||e.colorMask.alpha!==t.colorMask.alpha)&&n.push(aZ),e.depthMask!==t.depthMask&&n.push(cZ),e.stencilMask!==t.stencilMask&&n.push(lZ),(e.stencilTest.enabled!==t.stencilTest.enabled||e.stencilTest.frontFunction!==t.stencilTest.frontFunction||e.stencilTest.backFunction!==t.stencilTest.backFunction||e.stencilTest.reference!==t.stencilTest.reference||e.stencilTest.mask!==t.stencilTest.mask||e.stencilTest.frontOperation.fail!==t.stencilTest.frontOperation.fail||e.stencilTest.frontOperation.zFail!==t.stencilTest.frontOperation.zFail||e.stencilTest.backOperation.fail!==t.stencilTest.backOperation.fail||e.stencilTest.backOperation.zFail!==t.stencilTest.backOperation.zFail||e.stencilTest.backOperation.zPass!==t.stencilTest.backOperation.zPass)&&n.push(fZ),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&n.push(dZ),n}dh.partialApply=function(e,t,n,i,o,r){if(t!==n){let f=n._applyFunctions[t.id];u(f)||(f=ACe(t,n),n._applyFunctions[t.id]=f);let d=f.length;for(let p=0;p<d;++p)f[p](e,n)}let s=u(i.scissorTest)?i.scissorTest:t.scissorTest,a=u(o.scissorTest)?o.scissorTest:n.scissorTest;(s!==a||r)&&oZ(e,n,o);let c=u(i.blendingEnabled)?i.blendingEnabled:t.blending.enabled,l=u(o.blendingEnabled)?o.blendingEnabled:n.blending.enabled;(c!==l||l&&t.blending!==n.blending)&&uZ(e,n,o),(t!==n||i!==o||i.context!==o.context)&&hZ(e,n,o)};dh.getState=function(e){return{frontFace:e.frontFace,cull:{enabled:e.cull.enabled,face:e.cull.face},lineWidth:e.lineWidth,polygonOffset:{enabled:e.polygonOffset.enabled,factor:e.polygonOffset.factor,units:e.polygonOffset.units},scissorTest:{enabled:e.scissorTest.enabled,rectangle:Ye.clone(e.scissorTest.rectangle)},depthRange:{near:e.depthRange.near,far:e.depthRange.far},depthTest:{enabled:e.depthTest.enabled,func:e.depthTest.func},colorMask:{red:e.colorMask.red,green:e.colorMask.green,blue:e.colorMask.blue,alpha:e.colorMask.alpha},depthMask:e.depthMask,stencilMask:e.stencilMask,blending:{enabled:e.blending.enabled,color:z.clone(e.blending.color),equationRgb:e.blending.equationRgb,equationAlpha:e.blending.equationAlpha,functionSourceRgb:e.blending.functionSourceRgb,functionSourceAlpha:e.blending.functionSourceAlpha,functionDestinationRgb:e.blending.functionDestinationRgb,functionDestinationAlpha:e.blending.functionDestinationAlpha},stencilTest:{enabled:e.stencilTest.enabled,frontFunction:e.stencilTest.frontFunction,backFunction:e.stencilTest.backFunction,reference:e.stencilTest.reference,mask:e.stencilTest.mask,frontOperation:{fail:e.stencilTest.frontOperation.fail,zFail:e.stencilTest.frontOperation.zFail,zPass:e.stencilTest.frontOperation.zPass},backOperation:{fail:e.stencilTest.backOperation.fail,zFail:e.stencilTest.backOperation.zFail,zPass:e.stencilTest.backOperation.zPass}},sampleCoverage:{enabled:e.sampleCoverage.enabled,value:e.sampleCoverage.value,invert:e.sampleCoverage.invert},viewport:u(e.viewport)?Ye.clone(e.viewport):void 0}};var Ue=dh;function Yt(e,t,n,i){this[0]=y(e,0),this[1]=y(n,0),this[2]=y(t,0),this[3]=y(i,0)}Yt.packedLength=4;Yt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t};Yt.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new Yt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n};Yt.packArray=function(e,t){let n=e.length,i=n*4;u(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Yt.pack(e[o],t,o*4);return t};Yt.unpackArray=function(e,t){let n=e.length;u(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=Yt.unpack(e,i,t[o])}return t};Yt.clone=function(e,t){if(u(e))return u(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new Yt(e[0],e[2],e[1],e[3])};Yt.fromArray=Yt.unpack;Yt.fromColumnMajorArray=function(e,t){return Yt.clone(e,t)};Yt.fromRowMajorArray=function(e,t){return u(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new Yt(e[0],e[1],e[2],e[3])};Yt.fromScale=function(e,t){return u(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new Yt(e.x,0,0,e.y)};Yt.fromUniformScale=function(e,t){return u(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new Yt(e,0,0,e)};Yt.fromRotation=function(e,t){let n=Math.cos(e),i=Math.sin(e);return u(t)?(t[0]=n,t[1]=i,t[2]=-i,t[3]=n,t):new Yt(n,-i,i,n)};Yt.toArray=function(e,t){return u(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]};Yt.getElementIndex=function(e,t){return e*2+t};Yt.getColumn=function(e,t,n){let i=t*2,o=e[i],r=e[i+1];return n.x=o,n.y=r,n};Yt.setColumn=function(e,t,n,i){i=Yt.clone(e,i);let o=t*2;return i[o]=n.x,i[o+1]=n.y,i};Yt.getRow=function(e,t,n){let i=e[t],o=e[t+2];return n.x=i,n.y=o,n};Yt.setRow=function(e,t,n,i){return i=Yt.clone(e,i),i[t]=n.x,i[t+2]=n.y,i};var xCe=new H;Yt.setScale=function(e,t,n){let i=Yt.getScale(e,xCe),o=t.x/i.x,r=t.y/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var CCe=new H;Yt.setUniformScale=function(e,t,n){let i=Yt.getScale(e,CCe),o=t/i.x,r=t/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var mZ=new H;Yt.getScale=function(e,t){return t.x=H.magnitude(H.fromElements(e[0],e[1],mZ)),t.y=H.magnitude(H.fromElements(e[2],e[3],mZ)),t};var pZ=new H;Yt.getMaximumScale=function(e){return Yt.getScale(e,pZ),H.maximumComponent(pZ)};var TCe=new H;Yt.setRotation=function(e,t,n){let i=Yt.getScale(e,TCe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.y,n[3]=t[3]*i.y,n};var ECe=new H;Yt.getRotation=function(e,t){let n=Yt.getScale(e,ECe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.y,t[3]=e[3]/n.y,t};Yt.multiply=function(e,t,n){let i=e[0]*t[0]+e[2]*t[1],o=e[0]*t[2]+e[2]*t[3],r=e[1]*t[0]+e[3]*t[1],s=e[1]*t[2]+e[3]*t[3];return n[0]=i,n[1]=r,n[2]=o,n[3]=s,n};Yt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n};Yt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n};Yt.multiplyByVector=function(e,t,n){let i=e[0]*t.x+e[2]*t.y,o=e[1]*t.x+e[3]*t.y;return n.x=i,n.y=o,n};Yt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Yt.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.y,n[3]=e[3]*t.y,n};Yt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Yt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t};Yt.transpose=function(e,t){let n=e[0],i=e[2],o=e[1],r=e[3];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t};Yt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t};Yt.equals=function(e,t){return e===t||u(e)&&u(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]};Yt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]};Yt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||u(e)&&u(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n};Yt.IDENTITY=Object.freeze(new Yt(1,0,0,1));Yt.ZERO=Object.freeze(new Yt(0,0,0,0));Yt.COLUMN0ROW0=0;Yt.COLUMN0ROW1=1;Yt.COLUMN1ROW0=2;Yt.COLUMN1ROW1=3;Object.defineProperties(Yt.prototype,{length:{get:function(){return Yt.packedLength}}});Yt.prototype.clone=function(e){return Yt.clone(this,e)};Yt.prototype.equals=function(e){return Yt.equals(this,e)};Yt.prototype.equalsEpsilon=function(e,t){return Yt.equalsEpsilon(this,e,t)};Yt.prototype.toString=function(){return`(${this[0]}, ${this[2]}) +(${this[1]}, ${this[3]})`};var Ji=Yt;function bCe(e,t,n,i){switch(t.type){case e.FLOAT:return new _Z(e,t,n,i);case e.FLOAT_VEC2:return new gZ(e,t,n,i);case e.FLOAT_VEC3:return new yZ(e,t,n,i);case e.FLOAT_VEC4:return new AZ(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new sG(e,t,n,i);case e.INT:case e.BOOL:return new xZ(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new CZ(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new TZ(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new EZ(e,t,n,i);case e.FLOAT_MAT2:return new bZ(e,t,n,i);case e.FLOAT_MAT3:return new SZ(e,t,n,i);case e.FLOAT_MAT4:return new DZ(e,t,n,i);default:throw new ue(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function _Z(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}_Z.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1f(this._location,this.value))};function gZ(e,t,n,i){this.name=n,this.value=void 0,this._value=new H,this._gl=e,this._location=i}gZ.prototype.set=function(){let e=this.value;H.equals(e,this._value)||(H.clone(e,this._value),this._gl.uniform2f(this._location,e.x,e.y))};function yZ(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}yZ.prototype.set=function(){let e=this.value;u(e.red)?z.equals(e,this._value)||(this._value=z.clone(e,this._value),this._gl.uniform3f(this._location,e.red,e.green,e.blue)):u(e.x)&&(h.equals(e,this._value)||(this._value=h.clone(e,this._value),this._gl.uniform3f(this._location,e.x,e.y,e.z)))};function AZ(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}AZ.prototype.set=function(){let e=this.value;u(e.red)?z.equals(e,this._value)||(this._value=z.clone(e,this._value),this._gl.uniform4f(this._location,e.red,e.green,e.blue,e.alpha)):u(e.x)&&(oe.equals(e,this._value)||(this._value=oe.clone(e,this._value),this._gl.uniform4f(this._location,e.x,e.y,e.z,e.w)))};function sG(e,t,n,i){this.name=n,this.value=void 0,this._gl=e,this._location=i,this.textureUnitIndex=void 0}sG.prototype.set=function(){let e=this._gl;e.activeTexture(e.TEXTURE0+this.textureUnitIndex);let t=this.value;e.bindTexture(t._target,t._texture)};sG.prototype._setSampler=function(e){return this.textureUnitIndex=e,this._gl.uniform1i(this._location,e),e+1};function xZ(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}xZ.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1i(this._location,this.value))};function CZ(e,t,n,i){this.name=n,this.value=void 0,this._value=new H,this._gl=e,this._location=i}CZ.prototype.set=function(){let e=this.value;H.equals(e,this._value)||(H.clone(e,this._value),this._gl.uniform2i(this._location,e.x,e.y))};function TZ(e,t,n,i){this.name=n,this.value=void 0,this._value=new h,this._gl=e,this._location=i}TZ.prototype.set=function(){let e=this.value;h.equals(e,this._value)||(h.clone(e,this._value),this._gl.uniform3i(this._location,e.x,e.y,e.z))};function EZ(e,t,n,i){this.name=n,this.value=void 0,this._value=new oe,this._gl=e,this._location=i}EZ.prototype.set=function(){let e=this.value;oe.equals(e,this._value)||(oe.clone(e,this._value),this._gl.uniform4i(this._location,e.x,e.y,e.z,e.w))};var SCe=new Float32Array(4);function bZ(e,t,n,i){this.name=n,this.value=void 0,this._value=new Ji,this._gl=e,this._location=i}bZ.prototype.set=function(){if(!Ji.equalsArray(this.value,this._value,0)){Ji.clone(this.value,this._value);let e=Ji.toArray(this.value,SCe);this._gl.uniformMatrix2fv(this._location,!1,e)}};var DCe=new Float32Array(9);function SZ(e,t,n,i){this.name=n,this.value=void 0,this._value=new Z,this._gl=e,this._location=i}SZ.prototype.set=function(){if(!Z.equalsArray(this.value,this._value,0)){Z.clone(this.value,this._value);let e=Z.toArray(this.value,DCe);this._gl.uniformMatrix3fv(this._location,!1,e)}};var vCe=new Float32Array(16);function DZ(e,t,n,i){this.name=n,this.value=void 0,this._value=new M,this._gl=e,this._location=i}DZ.prototype.set=function(){if(!M.equalsArray(this.value,this._value,0)){M.clone(this.value,this._value);let e=M.toArray(this.value,vCe);this._gl.uniformMatrix4fv(this._location,!1,e)}};var jS=bCe;function wCe(e,t,n,i){switch(t.type){case e.FLOAT:return new vZ(e,t,n,i);case e.FLOAT_VEC2:return new wZ(e,t,n,i);case e.FLOAT_VEC3:return new IZ(e,t,n,i);case e.FLOAT_VEC4:return new PZ(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new aG(e,t,n,i);case e.INT:case e.BOOL:return new OZ(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new RZ(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new BZ(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new MZ(e,t,n,i);case e.FLOAT_MAT2:return new LZ(e,t,n,i);case e.FLOAT_MAT3:return new NZ(e,t,n,i);case e.FLOAT_MAT4:return new FZ(e,t,n,i);default:throw new ue(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function vZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._location=i[0]}vZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1fv(this._location,n)};function wZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*2),this._gl=e,this._location=i[0]}wZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];H.equalsArray(s,n,o)||(H.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2fv(this._location,n)};function IZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*3),this._gl=e,this._location=i[0]}IZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];u(s.red)?(s.red!==n[o]||s.green!==n[o+1]||s.blue!==n[o+2])&&(n[o]=s.red,n[o+1]=s.green,n[o+2]=s.blue,i=!0):u(s.x)&&(h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0)),o+=3}i&&this._gl.uniform3fv(this._location,n)};function PZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}PZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];u(s.red)?z.equalsArray(s,n,o)||(z.pack(s,n,o),i=!0):u(s.x)&&(oe.equalsArray(s,n,o)||(oe.pack(s,n,o),i=!0)),o+=4}i&&this._gl.uniform4fv(this._location,n)};function aG(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._locations=i,this.textureUnitIndex=void 0}aG.prototype.set=function(){let e=this._gl,t=e.TEXTURE0+this.textureUnitIndex,n=this.value,i=n.length;for(let o=0;o<i;++o){let r=n[o];e.activeTexture(t+o),e.bindTexture(r._target,r._texture)}};aG.prototype._setSampler=function(e){this.textureUnitIndex=e;let t=this._locations,n=t.length;for(let i=0;i<n;++i){let o=e+i;this._gl.uniform1i(t[i],o)}return e+n};function OZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o),this._gl=e,this._location=i[0]}OZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1iv(this._location,n)};function RZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*2),this._gl=e,this._location=i[0]}RZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];H.equalsArray(s,n,o)||(H.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2iv(this._location,n)};function BZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*3),this._gl=e,this._location=i[0]}BZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0),o+=3}i&&this._gl.uniform3iv(this._location,n)};function MZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*4),this._gl=e,this._location=i[0]}MZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];oe.equalsArray(s,n,o)||(oe.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniform4iv(this._location,n)};function LZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}LZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];Ji.equalsArray(s,n,o)||(Ji.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniformMatrix2fv(this._location,!1,n)};function NZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*9),this._gl=e,this._location=i[0]}NZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];Z.equalsArray(s,n,o)||(Z.pack(s,n,o),i=!0),o+=9}i&&this._gl.uniformMatrix3fv(this._location,!1,n)};function FZ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*16),this._gl=e,this._location=i[0]}FZ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];M.equalsArray(s,n,o)||(M.pack(s,n,o),i=!0),o+=16}i&&this._gl.uniformMatrix4fv(this._location,!1,n)};var YS=wCe;var ICe=0;function Rm(e){let t=e.vertexShaderText,n=e.fragmentShaderText;typeof spector<"u"&&(t=t.replace(/^#line/gm,"//#line"),n=n.replace(/^#line/gm,"//#line"));let i=PCe(t,n);this._gl=e.gl,this._logShaderCompilation=e.logShaderCompilation,this._debugShaders=e.debugShaders,this._attributeLocations=e.attributeLocations,this._program=void 0,this._numberOfVertexAttributes=void 0,this._vertexAttributes=void 0,this._uniformsByName=void 0,this._uniforms=void 0,this._automaticUniforms=void 0,this._manualUniforms=void 0,this._duplicateUniformNames=i.duplicateUniformNames,this._cachedShader=void 0,this.maximumTextureUnitIndex=void 0,this._vertexShaderSource=e.vertexShaderSource,this._vertexShaderText=e.vertexShaderText,this._fragmentShaderSource=e.fragmentShaderSource,this._fragmentShaderText=i.fragmentShaderText,this.id=ICe++}Rm.fromCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.getShaderProgram(e)};Rm.replaceCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.replaceShaderProgram(e)};Object.defineProperties(Rm.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},vertexAttributes:{get:function(){return T3(this),this._vertexAttributes}},numberOfVertexAttributes:{get:function(){return T3(this),this._numberOfVertexAttributes}},allUniforms:{get:function(){return T3(this),this._uniformsByName}}});function VZ(e){let t=[],n=e.match(/uniform.*?(?![^{]*})(?=[=\[;])/g);if(u(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o].trim(),s=r.slice(r.lastIndexOf(" ")+1);t.push(s)}}return t}function PCe(e,t){let n={};if(!Ft.highpFloatSupported||!Ft.highpIntSupported){let i,o,r,s,a=VZ(e),c=VZ(t),l=a.length,f=c.length;for(i=0;i<l;i++)for(o=0;o<f;o++)if(a[i]===c[o]){r=a[i],s=`czm_mediump_${r}`;let d=new RegExp(`${r}\\b`,"g");t=t.replace(d,s),n[s]=r}}return{fragmentShaderText:t,duplicateUniformNames:n}}var hh="[Cesium WebGL] ";function OCe(e,t){let n=t._vertexShaderText,i=t._fragmentShaderText,o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,n),e.compileShader(o);let r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r,i),e.compileShader(r);let s=e.createProgram();e.attachShader(s,o),e.attachShader(s,r);let a=t._attributeLocations;if(u(a))for(let p in a)a.hasOwnProperty(p)&&e.bindAttribLocation(s,a[p],p);e.linkProgram(s);let c;if(e.getProgramParameter(s,e.LINK_STATUS))return t._logShaderCompilation&&(c=e.getShaderInfoLog(o),u(c)&&c.length>0&&console.log(`${hh}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),u(c)&&c.length>0&&console.log(`${hh}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),u(c)&&c.length>0&&console.log(`${hh}Shader program link log: ${c}`)),e.deleteShader(o),e.deleteShader(r),s;let l,f=t._debugShaders;throw e.getShaderParameter(r,e.COMPILE_STATUS)?e.getShaderParameter(o,e.COMPILE_STATUS)?(c=e.getProgramInfoLog(s),console.error(`${hh}Shader program link log: ${c}`),d(o,"vertex"),d(r,"fragment"),l=`Program failed to link. Link log: ${c}`):(c=e.getShaderInfoLog(o),console.error(`${hh}Vertex shader compile log: ${c}`),console.error(`${hh} Vertex shader source: +${n}`),l=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${hh}Fragment shader compile log: ${c}`),console.error(`${hh} Fragment shader source: +${i}`),l=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new ue(l);function d(p,g){if(!u(f))return;let m=f.getTranslatedShaderSource(p);if(m===""){console.error(`${hh}${g} shader translation failed.`);return}console.error(`${hh}Translated ${g} shaderSource: +${m}`)}}function RCe(e,t,n){let i={};for(let o=0;o<n;++o){let r=e.getActiveAttrib(t,o),s=e.getAttribLocation(t,r.name);i[r.name]={name:r.name,type:r.type,index:s}}return i}function BCe(e,t){let n={},i=[],o=[],r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let s=0;s<r;++s){let a=e.getActiveUniform(t,s),c="[0]",l=a.name.indexOf(c,a.name.length-c.length)!==-1?a.name.slice(0,a.name.length-3):a.name;if(l.indexOf("gl_")!==0)if(a.name.indexOf("[")<0){let f=e.getUniformLocation(t,l);if(f!==null){let d=jS(e,a,l,f);n[l]=d,i.push(d),d._setSampler&&o.push(d)}}else{let f,d,p,g,m=l.indexOf("[");if(m>=0){if(f=n[l.slice(0,m)],!u(f))continue;d=f._locations,d.length<=1&&(p=f.value,g=e.getUniformLocation(t,l),g!==null&&(d.push(g),p.push(e.getUniform(t,g))))}else{d=[];for(let A=0;A<a.size;++A)g=e.getUniformLocation(t,`${l}[${A}]`),g!==null&&d.push(g);f=YS(e,a,l,d),n[l]=f,i.push(f),f._setSampler&&o.push(f)}}}return{uniformsByName:n,uniforms:i,samplerUniforms:o}}function MCe(e,t){let n=[],i=[];for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=o,a=e._duplicateUniformNames[s];u(a)&&(r.name=a,s=a);let c=Pm[s];u(c)?n.push({uniform:r,automaticUniform:c}):i.push(r)}return{automaticUniforms:n,manualUniforms:i}}function LCe(e,t,n){e.useProgram(t);let i=0,o=n.length;for(let r=0;r<o;++r)i=n[r]._setSampler(i);return e.useProgram(null),i}function T3(e){u(e._program)||UZ(e)}function UZ(e){let t=e._program,n=e._gl,i=OCe(n,e,e._debugShaders),o=n.getProgramParameter(i,n.ACTIVE_ATTRIBUTES),r=BCe(n,i),s=MCe(e,r.uniformsByName);e._program=i,e._numberOfVertexAttributes=o,e._vertexAttributes=RCe(n,i,o),e._uniformsByName=r.uniformsByName,e._uniforms=r.uniforms,e._automaticUniforms=s.automaticUniforms,e._manualUniforms=s.manualUniforms,e.maximumTextureUnitIndex=LCe(n,i,r.samplerUniforms),t&&e._gl.deleteProgram(t),typeof spector<"u"&&(e._program.__SPECTOR_rebuildProgram=function(a,c,l,f){let d=e._vertexShaderText,p=e._fragmentShaderText,g=/ ! = /g;e._vertexShaderText=a.replace(g," != "),e._fragmentShaderText=c.replace(g," != ");try{UZ(e),l(e._program)}catch(m){e._vertexShaderText=d,e._fragmentShaderText=p;let x=/(?:Compile|Link) error: ([^]*)/.exec(m.message);f(x?x[1]:m.message)}})}Rm.prototype._bind=function(){T3(this),this._gl.useProgram(this._program)};Rm.prototype._setUniforms=function(e,t,n){let i,o;if(u(e)){let a=this._manualUniforms;for(i=a.length,o=0;o<i;++o){let c=a[o];c.value=e[c.name]()}}let r=this._automaticUniforms;for(i=r.length,o=0;o<i;++o){let a=r[o];a.uniform.value=a.automaticUniform.getValue(t)}let s=this._uniforms;for(i=s.length,o=0;o<i;++o)s[o].set();if(n){let a=this._gl,c=this._program;a.validateProgram(c)}};Rm.prototype.isDestroyed=function(){return!1};Rm.prototype.destroy=function(){this._cachedShader.cache.releaseShaderProgram(this)};Rm.prototype.finalDestroy=function(){return this._gl.deleteProgram(this._program),le(this)};var Xt=Rm;function E3(e){this._context=e}var qS,NCe=new tt({primitiveType:Me.TRIANGLES}),FCe=new ii({color:new z(0,0,0,0)});function VCe(e,t){return new Ns({context:e,colorTextures:[t],destroyAttachments:!1})}function UCe(e,t){return Xt.fromCache({context:e,vertexShaderSource:l0,fragmentShaderSource:t,attributeLocations:{position:0,textureCoordinates:1}})}function kCe(e,t){return(!u(qS)||qS.viewport.width!==e||qS.viewport.height!==t)&&(qS=Ue.fromCache({viewport:new Ye(0,0,e,t)})),qS}E3.prototype.execute=function(e){u(e.preExecute)&&e.preExecute(e);let t=e.outputTexture,n=t.width,i=t.height,o=this._context,r=u(e.vertexArray)?e.vertexArray:o.getViewportQuadVertexArray(),s=u(e.shaderProgram)?e.shaderProgram:UCe(o,e.fragmentShaderSource),a=VCe(o,t),c=kCe(n,i),l=e.uniformMap,f=FCe;f.framebuffer=a,f.renderState=c,f.execute(o);let d=NCe;d.vertexArray=r,d.renderState=c,d.shaderProgram=s,d.uniformMap=l,d.framebuffer=a,d.execute(o),a.destroy(),e.persists||(s.destroy(),u(e.vertexArray)&&r.destroy()),u(e.postExecute)&&e.postExecute(t)};E3.prototype.isDestroyed=function(){return!1};E3.prototype.destroy=function(){return le(this)};var XS=E3;var Sn={BYTE:ee.BYTE,UNSIGNED_BYTE:ee.UNSIGNED_BYTE,SHORT:ee.SHORT,UNSIGNED_SHORT:ee.UNSIGNED_SHORT,INT:ee.INT,UNSIGNED_INT:ee.UNSIGNED_INT,FLOAT:ee.FLOAT,DOUBLE:ee.DOUBLE};Sn.getSizeInBytes=function(e){switch(e){case Sn.BYTE:return Int8Array.BYTES_PER_ELEMENT;case Sn.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Sn.SHORT:return Int16Array.BYTES_PER_ELEMENT;case Sn.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Sn.INT:return Int32Array.BYTES_PER_ELEMENT;case Sn.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case Sn.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case Sn.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}};Sn.fromTypedArray=function(e){if(e instanceof Int8Array)return Sn.BYTE;if(e instanceof Uint8Array)return Sn.UNSIGNED_BYTE;if(e instanceof Int16Array)return Sn.SHORT;if(e instanceof Uint16Array)return Sn.UNSIGNED_SHORT;if(e instanceof Int32Array)return Sn.INT;if(e instanceof Uint32Array)return Sn.UNSIGNED_INT;if(e instanceof Float32Array)return Sn.FLOAT;if(e instanceof Float64Array)return Sn.DOUBLE};Sn.validate=function(e){return u(e)&&(e===Sn.BYTE||e===Sn.UNSIGNED_BYTE||e===Sn.SHORT||e===Sn.UNSIGNED_SHORT||e===Sn.INT||e===Sn.UNSIGNED_INT||e===Sn.FLOAT||e===Sn.DOUBLE)};Sn.createTypedArray=function(e,t){switch(e){case Sn.BYTE:return new Int8Array(t);case Sn.UNSIGNED_BYTE:return new Uint8Array(t);case Sn.SHORT:return new Int16Array(t);case Sn.UNSIGNED_SHORT:return new Uint16Array(t);case Sn.INT:return new Int32Array(t);case Sn.UNSIGNED_INT:return new Uint32Array(t);case Sn.FLOAT:return new Float32Array(t);case Sn.DOUBLE:return new Float64Array(t)}};Sn.createArrayBufferView=function(e,t,n,i){switch(n=y(n,0),i=y(i,(t.byteLength-n)/Sn.getSizeInBytes(e)),e){case Sn.BYTE:return new Int8Array(t,n,i);case Sn.UNSIGNED_BYTE:return new Uint8Array(t,n,i);case Sn.SHORT:return new Int16Array(t,n,i);case Sn.UNSIGNED_SHORT:return new Uint16Array(t,n,i);case Sn.INT:return new Int32Array(t,n,i);case Sn.UNSIGNED_INT:return new Uint32Array(t,n,i);case Sn.FLOAT:return new Float32Array(t,n,i);case Sn.DOUBLE:return new Float64Array(t,n,i)}};Sn.fromName=function(e){switch(e){case"BYTE":return Sn.BYTE;case"UNSIGNED_BYTE":return Sn.UNSIGNED_BYTE;case"SHORT":return Sn.SHORT;case"UNSIGNED_SHORT":return Sn.UNSIGNED_SHORT;case"INT":return Sn.INT;case"UNSIGNED_INT":return Sn.UNSIGNED_INT;case"FLOAT":return Sn.FLOAT;case"DOUBLE":return Sn.DOUBLE}};var q=Object.freeze(Sn);var kZ={};function KS(e,t){u(kZ[e])||(kZ[e]=!0,console.warn(y(t,e)))}KS.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";KS.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";KS.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";KS.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var wt=KS;function zCe(e,t){wt(e,t)}var nr=zCe;var HCe={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},Nu=Object.freeze(HCe);function nt(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}var ZS=new h;nt.fromAxisAngle=function(e,t,n){let i=t/2,o=Math.sin(i);ZS=h.normalize(e,ZS);let r=ZS.x*o,s=ZS.y*o,a=ZS.z*o,c=Math.cos(i);return u(n)?(n.x=r,n.y=s,n.z=a,n.w=c,n):new nt(r,s,a,c)};var GCe=[1,2,0],WCe=new Array(3);nt.fromRotationMatrix=function(e,t){let n,i,o,r,s,a=e[Z.COLUMN0ROW0],c=e[Z.COLUMN1ROW1],l=e[Z.COLUMN2ROW2],f=a+c+l;if(f>0)n=Math.sqrt(f+1),s=.5*n,n=.5/n,i=(e[Z.COLUMN1ROW2]-e[Z.COLUMN2ROW1])*n,o=(e[Z.COLUMN2ROW0]-e[Z.COLUMN0ROW2])*n,r=(e[Z.COLUMN0ROW1]-e[Z.COLUMN1ROW0])*n;else{let d=GCe,p=0;c>a&&(p=1),l>a&&l>c&&(p=2);let g=d[p],m=d[g];n=Math.sqrt(e[Z.getElementIndex(p,p)]-e[Z.getElementIndex(g,g)]-e[Z.getElementIndex(m,m)]+1);let A=WCe;A[p]=.5*n,n=.5/n,s=(e[Z.getElementIndex(m,g)]-e[Z.getElementIndex(g,m)])*n,A[g]=(e[Z.getElementIndex(g,p)]+e[Z.getElementIndex(p,g)])*n,A[m]=(e[Z.getElementIndex(m,p)]+e[Z.getElementIndex(p,m)])*n,i=-A[0],o=-A[1],r=-A[2]}return u(t)?(t.x=i,t.y=o,t.z=r,t.w=s,t):new nt(i,o,r,s)};var zZ=new nt,HZ=new nt,cG=new nt,GZ=new nt;nt.fromHeadingPitchRoll=function(e,t){return GZ=nt.fromAxisAngle(h.UNIT_X,e.roll,zZ),cG=nt.fromAxisAngle(h.UNIT_Y,-e.pitch,t),t=nt.multiply(cG,GZ,cG),HZ=nt.fromAxisAngle(h.UNIT_Z,-e.heading,zZ),nt.multiply(HZ,t,t)};var b3=new h,lG=new h,Gf=new nt,WZ=new nt,S3=new nt;nt.packedLength=4;nt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};nt.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new nt),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};nt.packedInterpolationLength=3;nt.convertPackedArrayForInterpolation=function(e,t,n,i){nt.unpack(e,n*4,S3),nt.conjugate(S3,S3);for(let o=0,r=n-t+1;o<r;o++){let s=o*3;nt.unpack(e,(t+o)*4,Gf),nt.multiply(Gf,S3,Gf),Gf.w<0&&nt.negate(Gf,Gf),nt.computeAxis(Gf,b3);let a=nt.computeAngle(Gf);u(i)||(i=[]),i[s]=b3.x*a,i[s+1]=b3.y*a,i[s+2]=b3.z*a}};nt.unpackInterpolationResult=function(e,t,n,i,o){u(o)||(o=new nt),h.fromArray(e,0,lG);let r=h.magnitude(lG);return nt.unpack(t,i*4,WZ),r===0?nt.clone(nt.IDENTITY,Gf):nt.fromAxisAngle(lG,r,Gf),nt.multiply(Gf,WZ,o)};nt.clone=function(e,t){if(u(e))return u(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new nt(e.x,e.y,e.z,e.w)};nt.conjugate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t};nt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};nt.magnitude=function(e){return Math.sqrt(nt.magnitudeSquared(e))};nt.normalize=function(e,t){let n=1/nt.magnitude(e),i=e.x*n,o=e.y*n,r=e.z*n,s=e.w*n;return t.x=i,t.y=o,t.z=r,t.w=s,t};nt.inverse=function(e,t){let n=nt.magnitudeSquared(e);return t=nt.conjugate(e,t),nt.multiplyByScalar(t,1/n,t)};nt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};nt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};nt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};nt.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};nt.multiply=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=e.w,a=t.x,c=t.y,l=t.z,f=t.w,d=s*a+i*f+o*l-r*c,p=s*c-i*l+o*f+r*a,g=s*l+i*c-o*a+r*f,m=s*f-i*a-o*c-r*l;return n.x=d,n.y=p,n.z=g,n.w=m,n};nt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};nt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};nt.computeAxis=function(e,t){let n=e.w;if(Math.abs(n-1)<P.EPSILON6)return t.x=t.y=t.z=0,t;let i=1/Math.sqrt(1-n*n);return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t};nt.computeAngle=function(e){return Math.abs(e.w-1)<P.EPSILON6?0:2*Math.acos(e.w)};var uG=new nt;nt.lerp=function(e,t,n,i){return uG=nt.multiplyByScalar(t,n,uG),i=nt.multiplyByScalar(e,1-n,i),nt.add(uG,i,i)};var jZ=new nt,fG=new nt,dG=new nt;nt.slerp=function(e,t,n,i){let o=nt.dot(e,t),r=t;if(o<0&&(o=-o,r=jZ=nt.negate(t,jZ)),1-o<P.EPSILON6)return nt.lerp(e,r,n,i);let s=Math.acos(o);return fG=nt.multiplyByScalar(e,Math.sin((1-n)*s),fG),dG=nt.multiplyByScalar(r,Math.sin(n*s),dG),i=nt.add(fG,dG,i),nt.multiplyByScalar(i,1/Math.sin(s),i)};nt.log=function(e,t){let n=P.acosClamped(e.w),i=0;return n!==0&&(i=n/Math.sin(n)),h.multiplyByScalar(e,i,t)};nt.exp=function(e,t){let n=h.magnitude(e),i=0;return n!==0&&(i=Math.sin(n)/n),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=Math.cos(n),t};var jCe=new h,YCe=new h,JS=new nt,kC=new nt;nt.computeInnerQuadrangle=function(e,t,n,i){let o=nt.conjugate(t,JS);nt.multiply(o,n,kC);let r=nt.log(kC,jCe);nt.multiply(o,e,kC);let s=nt.log(kC,YCe);return h.add(r,s,r),h.multiplyByScalar(r,.25,r),h.negate(r,r),nt.exp(r,JS),nt.multiply(t,JS,i)};nt.squad=function(e,t,n,i,o,r){let s=nt.slerp(e,t,o,JS),a=nt.slerp(n,i,o,kC);return nt.slerp(s,a,2*o*(1-o),r)};var qCe=new nt,YZ=1.9011074535173003,D3=Vt.supportsTypedArrays()?new Float32Array(8):[],v3=Vt.supportsTypedArrays()?new Float32Array(8):[],Bm=Vt.supportsTypedArrays()?new Float32Array(8):[],Mm=Vt.supportsTypedArrays()?new Float32Array(8):[];for(let e=0;e<7;++e){let t=e+1,n=2*t+1;D3[e]=1/(t*n),v3[e]=t/n}D3[7]=YZ/(8*17);v3[7]=YZ*8/17;nt.fastSlerp=function(e,t,n,i){let o=nt.dot(e,t),r;o>=0?r=1:(r=-1,o=-o);let s=o-1,a=1-n,c=n*n,l=a*a;for(let g=7;g>=0;--g)Bm[g]=(D3[g]*c-v3[g])*s,Mm[g]=(D3[g]*l-v3[g])*s;let f=r*n*(1+Bm[0]*(1+Bm[1]*(1+Bm[2]*(1+Bm[3]*(1+Bm[4]*(1+Bm[5]*(1+Bm[6]*(1+Bm[7])))))))),d=a*(1+Mm[0]*(1+Mm[1]*(1+Mm[2]*(1+Mm[3]*(1+Mm[4]*(1+Mm[5]*(1+Mm[6]*(1+Mm[7])))))))),p=nt.multiplyByScalar(e,d,qCe);return nt.multiplyByScalar(t,f,i),nt.add(p,i,i)};nt.fastSquad=function(e,t,n,i,o,r){let s=nt.fastSlerp(e,t,o,JS),a=nt.fastSlerp(n,i,o,kC);return nt.fastSlerp(s,a,2*o*(1-o),r)};nt.equals=function(e,t){return e===t||u(e)&&u(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};nt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||u(e)&&u(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};nt.ZERO=Object.freeze(new nt(0,0,0,0));nt.IDENTITY=Object.freeze(new nt(0,0,0,1));nt.prototype.clone=function(e){return nt.clone(this,e)};nt.prototype.equals=function(e){return nt.equals(this,e)};nt.prototype.equalsEpsilon=function(e,t){return nt.equalsEpsilon(this,e,t)};nt.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Le=nt;function XCe(e,t,n){let i=0,o=e.length-1,r,s;for(;i<=o;){if(r=~~((i+o)/2),s=n(e[r],t),s<0){i=r+1;continue}if(s>0){o=r-1;continue}return r}return~(o+1)}var wo=XCe;function KCe(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}var H_=KCe;function ZCe(e,t,n,i,o,r,s,a){this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=s,this.isLeapSecond=a}var Lm=ZCe;function JCe(e){return e%4===0&&e%100!==0||e%400===0}var Nm=JCe;function QCe(e,t){this.julianDate=e,this.offset=t}var Fi=QCe;var $Ce={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},Qn=Object.freeze($Ce);var eTe={UTC:0,TAI:1},qn=Object.freeze(eTe);var XZ=new Lm,hG=[31,28,31,30,31,30,31,31,30,31,30,31],mG=29;function pG(e,t){return Tt.compare(e.julianDate,t.julianDate)}var zC=new Fi;function I3(e){zC.julianDate=e;let t=Tt.leapSeconds,n=wo(t,zC,pG);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&Tt.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),Tt.addSeconds(e,i,e)}function qZ(e,t){zC.julianDate=e;let n=Tt.leapSeconds,i=wo(n,zC,pG);if(i<0&&(i=~i),i===0)return Tt.addSeconds(e,-n[0].offset,t);if(i>=n.length)return Tt.addSeconds(e,-n[i-1].offset,t);let o=Tt.secondsDifference(n[i].julianDate,e);if(o===0)return Tt.addSeconds(e,-n[i].offset,t);if(!(o<=1))return Tt.addSeconds(e,-n[--i].offset,t)}function G_(e,t,n){let i=t/Qn.SECONDS_PER_DAY|0;return e+=i,t-=Qn.SECONDS_PER_DAY*i,t<0&&(e--,t+=Qn.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function _G(e,t,n,i,o,r,s){let a=(t-14)/12|0,c=e+4800+a,l=(1461*c/4|0)+(367*(t-2-12*a)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i=i-12,i<0&&(i+=24);let f=r+(i*Qn.SECONDS_PER_HOUR+o*Qn.SECONDS_PER_MINUTE+s*Qn.SECONDS_PER_MILLISECOND);return f>=43200&&(l-=1),[l,f]}var tTe=/^(\d{4})$/,nTe=/^(\d{4})-(\d{2})$/,iTe=/^(\d{4})-?(\d{3})$/,oTe=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,rTe=/^(\d{4})-?(\d{2})-?(\d{2})$/,gG=/([Z+\-])?(\d{2})?:?(\d{2})?$/,sTe=/^(\d{2})(\.\d+)?/.source+gG.source,aTe=/^(\d{2}):?(\d{2})(\.\d+)?/.source+gG.source,cTe=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+gG.source;function Tt(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=y(e,0),t=y(t,0),n=y(n,qn.UTC);let i=e|0;t=t+(e-i)*Qn.SECONDS_PER_DAY,G_(i,t,this),n===qn.UTC&&I3(this)}Tt.fromGregorianDate=function(e,t){let n=_G(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return u(t)?(G_(n[0],n[1],t),I3(t),t):new Tt(n[0],n[1],qn.UTC)};Tt.fromDate=function(e,t){let n=_G(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return u(t)?(G_(n[0],n[1],t),I3(t),t):new Tt(n[0],n[1],qn.UTC)};Tt.fromIso8601=function(e,t){e=e.replace(",",".");let n=e.split("T"),i,o=1,r=1,s=0,a=0,c=0,l=0,f=n[0],d=n[1],p,g;if(n=f.match(rTe),n!==null)i=+n[1],o=+n[2],r=+n[3];else if(n=f.match(nTe),n!==null)i=+n[1],o=+n[2];else if(n=f.match(tTe),n!==null)i=+n[1];else{let C;if(n=f.match(iTe),n!==null)i=+n[1],C=+n[2],g=Nm(i);else if(n=f.match(oTe),n!==null){i=+n[1];let T=+n[2],E=+n[3]||0,S=new Date(Date.UTC(i,0,4));C=T*7+E-S.getUTCDay()-3}p=new Date(Date.UTC(i,0,1)),p.setUTCDate(C),o=p.getUTCMonth()+1,r=p.getUTCDate()}g=Nm(i);let m;if(u(d)){n=d.match(cTe),n!==null?(s=+n[1],a=+n[2],c=+n[3],l=+(n[4]||0)*1e3,m=5):(n=d.match(aTe),n!==null?(s=+n[1],a=+n[2],c=+(n[3]||0)*60,m=4):(n=d.match(sTe),n!==null&&(s=+n[1],a=+(n[2]||0)*60,m=3)));let C=n[m],T=+n[m+1],E=+(n[m+2]||0);switch(C){case"+":s=s-T,a=a-E;break;case"-":s=s+T,a=a+E;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}let A=c===60;for(A&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(p=g&&o===2?mG:hG[o-1];r>p;)r-=p,o++,o>12&&(o-=12,i++),p=g&&o===2?mG:hG[o-1];for(;a<0;)a+=60,s--;for(;s<0;)s+=24,r--;for(;r<1;)o--,o<1&&(o+=12,i--),p=g&&o===2?mG:hG[o-1],r+=p;let x=_G(i,o,r,s,a,c,l);return u(t)?(G_(x[0],x[1],t),I3(t)):t=new Tt(x[0],x[1],qn.UTC),A&&Tt.addSeconds(t,1,t),t};Tt.now=function(e){return Tt.fromDate(new Date,e)};var w3=new Tt(0,0,qn.TAI);Tt.toGregorianDate=function(e,t){let n=!1,i=qZ(e,w3);u(i)||(Tt.addSeconds(e,-1,w3),i=qZ(w3,w3),n=!0);let o=i.dayNumber,r=i.secondsOfDay;r>=43200&&(o+=1);let s=o+68569|0,a=4*s/146097|0;s=s-((146097*a+3)/4|0)|0;let c=4e3*(s+1)/1461001|0;s=s-(1461*c/4|0)+31|0;let l=80*s/2447|0,f=s-(2447*l/80|0)|0;s=l/11|0;let d=l+2-12*s|0,p=100*(a-49)+c+s|0,g=r/Qn.SECONDS_PER_HOUR|0,m=r-g*Qn.SECONDS_PER_HOUR,A=m/Qn.SECONDS_PER_MINUTE|0;m=m-A*Qn.SECONDS_PER_MINUTE;let x=m|0,C=(m-x)/Qn.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(x+=1),u(t)?(t.year=p,t.month=d,t.day=f,t.hour=g,t.minute=A,t.second=x,t.millisecond=C,t.isLeapSecond=n,t):new Lm(p,d,f,g,A,x,C,n)};Tt.toDate=function(e){let t=Tt.toGregorianDate(e,XZ),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};Tt.toIso8601=function(e,t){let n=Tt.toGregorianDate(e,XZ),i=n.year,o=n.month,r=n.day,s=n.hour,a=n.minute,c=n.second,l=n.millisecond;i===1e4&&o===1&&r===1&&s===0&&a===0&&c===0&&l===0&&(i=9999,o=12,r=31,s=24);let f;return!u(t)&&l!==0?(f=(l*.01).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`):!u(t)||t===0?`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}Z`:(f=(l*.01).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`)};Tt.clone=function(e,t){if(u(e))return u(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Tt(e.dayNumber,e.secondsOfDay,qn.TAI)};Tt.compare=function(e,t){let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};Tt.equals=function(e,t){return e===t||u(e)&&u(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};Tt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||u(e)&&u(t)&&Math.abs(Tt.secondsDifference(e,t))<=n};Tt.totalDays=function(e){return e.dayNumber+e.secondsOfDay/Qn.SECONDS_PER_DAY};Tt.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*Qn.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};Tt.daysDifference=function(e,t){let n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Qn.SECONDS_PER_DAY;return n+i};Tt.computeTaiMinusUtc=function(e){zC.julianDate=e;let t=Tt.leapSeconds,n=wo(t,zC,pG);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};Tt.addSeconds=function(e,t,n){return G_(e.dayNumber,e.secondsOfDay+t,n)};Tt.addMinutes=function(e,t,n){let i=e.secondsOfDay+t*Qn.SECONDS_PER_MINUTE;return G_(e.dayNumber,i,n)};Tt.addHours=function(e,t,n){let i=e.secondsOfDay+t*Qn.SECONDS_PER_HOUR;return G_(e.dayNumber,i,n)};Tt.addDays=function(e,t,n){let i=e.dayNumber+t;return G_(i,e.secondsOfDay,n)};Tt.lessThan=function(e,t){return Tt.compare(e,t)<0};Tt.lessThanOrEquals=function(e,t){return Tt.compare(e,t)<=0};Tt.greaterThan=function(e,t){return Tt.compare(e,t)>0};Tt.greaterThanOrEquals=function(e,t){return Tt.compare(e,t)>=0};Tt.prototype.clone=function(e){return Tt.clone(this,e)};Tt.prototype.equals=function(e){return Tt.equals(this,e)};Tt.prototype.equalsEpsilon=function(e,t){return Tt.equalsEpsilon(this,e,t)};Tt.prototype.toString=function(){return Tt.toIso8601(this)};Tt.leapSeconds=[new Fi(new Tt(2441317,43210,qn.TAI),10),new Fi(new Tt(2441499,43211,qn.TAI),11),new Fi(new Tt(2441683,43212,qn.TAI),12),new Fi(new Tt(2442048,43213,qn.TAI),13),new Fi(new Tt(2442413,43214,qn.TAI),14),new Fi(new Tt(2442778,43215,qn.TAI),15),new Fi(new Tt(2443144,43216,qn.TAI),16),new Fi(new Tt(2443509,43217,qn.TAI),17),new Fi(new Tt(2443874,43218,qn.TAI),18),new Fi(new Tt(2444239,43219,qn.TAI),19),new Fi(new Tt(2444786,43220,qn.TAI),20),new Fi(new Tt(2445151,43221,qn.TAI),21),new Fi(new Tt(2445516,43222,qn.TAI),22),new Fi(new Tt(2446247,43223,qn.TAI),23),new Fi(new Tt(2447161,43224,qn.TAI),24),new Fi(new Tt(2447892,43225,qn.TAI),25),new Fi(new Tt(2448257,43226,qn.TAI),26),new Fi(new Tt(2448804,43227,qn.TAI),27),new Fi(new Tt(2449169,43228,qn.TAI),28),new Fi(new Tt(2449534,43229,qn.TAI),29),new Fi(new Tt(2450083,43230,qn.TAI),30),new Fi(new Tt(2450630,43231,qn.TAI),31),new Fi(new Tt(2451179,43232,qn.TAI),32),new Fi(new Tt(2453736,43233,qn.TAI),33),new Fi(new Tt(2454832,43234,qn.TAI),34),new Fi(new Tt(2456109,43235,qn.TAI),35),new Fi(new Tt(2457204,43236,qn.TAI),36),new Fi(new Tt(2457754,43237,qn.TAI),37)];var $=Tt;var XC=vo(Ll(),1);function lTe(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var QS=lTe;function tJ(e,t){if(e===null||typeof e!="object")return e;t=y(t,!1);let n=new e.constructor;for(let i in e)if(e.hasOwnProperty(i)){let o=e[i];t&&(o=tJ(o,t)),n[i]=o}return n}var Ge=tJ;function nJ(e,t,n){n=y(n,!1);let i={},o=u(e),r=u(t),s,a,c;if(o)for(s in e)e.hasOwnProperty(s)&&(a=e[s],r&&n&&typeof a=="object"&&t.hasOwnProperty(s)?(c=t[s],typeof c=="object"?i[s]=nJ(a,c,n):i[s]=a):i[s]=a);if(r)for(s in t)t.hasOwnProperty(s)&&!i.hasOwnProperty(s)&&(c=t[s],i[s]=c);return i}var _t=nJ;function uTe(){let e,t,n=new Promise(function(i,o){e=i,t=o});return{resolve:e,reject:t,promise:n}}var Jr=uTe;var iJ=vo(Ll(),1);function yG(e,t){let n;return typeof document<"u"&&(n=document),yG._implementation(e,t,n)}yG._implementation=function(e,t,n){if(!u(t)){if(typeof n>"u")return e;t=y(n.baseURI,n.location.href)}let i=new iJ.default(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};var Fm=yG;var oJ=vo(Ll(),1);function fTe(e,t){let n="",i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new oJ.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var $S=fTe;var rJ=vo(Ll(),1);function dTe(e){let t=new rJ.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}var f0=dTe;var sJ={};function hTe(e,t,n){u(t)||(t=e.width),u(n)||(n=e.height);let i=sJ[t];u(i)||(i={},sJ[t]=i);let o=i[n];if(!u(o)){let r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d"),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}var Wf=hTe;var mTe=/^blob:/i;function pTe(e){return mTe.test(e)}var d0=pTe;var mh;function _Te(e){u(mh)||(mh=document.createElement("a")),mh.href=window.location.href;let t=mh.host,n=mh.protocol;return mh.href=e,mh.href=mh.href,n!==mh.protocol||t!==mh.host}var h0=_Te;var gTe=/^data:/i;function yTe(e){return gTe.test(e)}var Vm=yTe;function ATe(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}var m0=ATe;function xTe(e){let t="";for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r<s;++r)t+=`${o+encodeURIComponent(i[r])}&`;else t+=`${o+encodeURIComponent(i)}&`}return t=t.slice(0,-1),t}var p0=xTe;function CTe(e){let t={};if(e==="")return t;let n=e.replace(/\+/g,"%20").split(/[&;]/);for(let i=0,o=n.length;i<o;++i){let r=n[i].split("="),s=decodeURIComponent(r[0]),a=r[1];u(a)?a=decodeURIComponent(a):a="";let c=t[s];typeof c=="string"?t[s]=[c,a]:Array.isArray(c)?c.push(a):t[s]=a}return t}var Nl=CTe;var TTe={UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5},hi=Object.freeze(TTe);var ETe={TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3},Qr=Object.freeze(ETe);function B3(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.throttleByServer,!1),n=y(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=y(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=y(e.type,Qr.OTHER),this.serverKey=void 0,this.state=hi.UNISSUED,this.deferred=void 0,this.cancelled=!1}B3.prototype.cancel=function(){this.cancelled=!0};B3.prototype.clone=function(e){return u(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=this.RequestState.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new B3(this)};var zo=B3;function bTe(e){let t={};if(!e)return t;let n=e.split(`\r +`);for(let i=0;i<n.length;++i){let o=n[i],r=o.indexOf(": ");if(r>0){let s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}var eD=bTe;function aJ(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=eD(this.responseHeaders))}aJ.prototype.toString=function(){let e="Request has failed.";return u(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var ph=aJ;var iD=vo(Ll(),1);function tD(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(tD.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});tD.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};tD.prototype.removeEventListener=function(e,t){let n=this._listeners,i=this._scopes,o=-1;for(let r=0;r<n.length;r++)if(n[r]===e&&i[r]===t){o=r;break}return o!==-1?(this._insideRaiseEvent?(this._toRemove.push(o),n[o]=void 0,i[o]=void 0):(n.splice(o,1),i.splice(o,1)),!0):!1};function STe(e,t){return t-e}tD.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;let e,t=this._listeners,n=this._scopes,i=t.length;for(e=0;e<i;e++){let r=t[e];u(r)&&t[e].apply(n[e],arguments)}let o=this._toRemove;if(i=o.length,i>0){for(o.sort(STe),e=0;e<i;e++){let r=o[e];t.splice(r,1),n.splice(r,1)}o.length=0}this._insideRaiseEvent=!1};var Ae=tD;function _0(e){this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(_0.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){let t=this._length;if(e<t){let n=this._array;for(let i=e;i<t;++i)n[i]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}});function AG(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}_0.prototype.reserve=function(e){e=y(e,this._length),this._array.length=e};_0.prototype.heapify=function(e){e=y(e,0);let t=this._length,n=this._comparator,i=this._array,o=-1,r=!0;for(;r;){let s=2*(e+1),a=s-1;a<t&&n(i[a],i[e])<0?o=a:o=e,s<t&&n(i[s],i[o])<0&&(o=s),o!==e?(AG(i,o,e),e=o):r=!1}};_0.prototype.resort=function(){let e=this._length;for(let t=Math.ceil(e/2);t>=0;--t)this.heapify(t)};_0.prototype.insert=function(e){let t=this._array,n=this._comparator,i=this._maximumLength,o=this._length++;for(o<t.length?t[o]=e:t.push(e);o!==0;){let s=Math.floor((o-1)/2);if(n(t[o],t[s])<0)AG(t,o,s),o=s;else break}let r;return u(i)&&this._length>i&&(r=t[i],this._length=i),r};_0.prototype.pop=function(e){if(e=y(e,0),this._length===0)return;let t=this._array,n=t[e];return AG(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var nD=_0;function DTe(e,t){return e.priority-t.priority}var Qi={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},WC=20,Pa=new nD({comparator:DTe});Pa.maximumLength=WC;Pa.reserve(WC);var _h=[],Um={},vTe=typeof document<"u"?new iD.default(document.location.href):new iD.default,M3=new Ae;function Ho(){}Ho.maximumRequests=50;Ho.maximumRequestsPerServer=6;Ho.requestsByServer={"api.cesium.com:443":18,"assets.cesium.com:443":18};Ho.throttleRequests=!0;Ho.debugShowStatistics=!1;Ho.requestCompletedEvent=M3;Object.defineProperties(Ho,{statistics:{get:function(){return Qi}},priorityHeapLength:{get:function(){return WC},set:function(e){if(e<WC)for(;Pa.length>e;){let t=Pa.pop();g0(t)}WC=e,Pa.maximumLength=e,Pa.reserve(e)}}});function cJ(e){u(e.priorityFunction)&&(e.priority=e.priorityFunction())}Ho.serverHasOpenSlots=function(e,t){t=y(t,1);let n=y(Ho.requestsByServer[e],Ho.maximumRequestsPerServer);return Um[e]+t<=n};Ho.heapHasOpenSlots=function(e){return Pa.length+e<=WC};function lJ(e){return e.state===hi.UNISSUED&&(e.state=hi.ISSUED,e.deferred=Jr()),e.deferred.promise}function wTe(e){return function(t){if(e.state===hi.CANCELLED)return;let n=e.deferred;--Qi.numberOfActiveRequests,--Um[e.serverKey],M3.raiseEvent(),e.state=hi.RECEIVED,e.deferred=void 0,n.resolve(t)}}function ITe(e){return function(t){e.state!==hi.CANCELLED&&(++Qi.numberOfFailedRequests,--Qi.numberOfActiveRequests,--Um[e.serverKey],M3.raiseEvent(t),e.state=hi.FAILED,e.deferred.reject(t))}}function uJ(e){let t=lJ(e);return e.state=hi.ACTIVE,_h.push(e),++Qi.numberOfActiveRequests,++Qi.numberOfActiveRequestsEver,++Um[e.serverKey],e.requestFunction().then(wTe(e)).catch(ITe(e)),t}function g0(e){let t=e.state===hi.ACTIVE;if(e.state=hi.CANCELLED,++Qi.numberOfCancelledRequests,u(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--Qi.numberOfActiveRequests,--Um[e.serverKey],++Qi.numberOfCancelledActiveRequests),u(e.cancelFunction)&&e.cancelFunction()}Ho.update=function(){let e,t,n=0,i=_h.length;for(e=0;e<i;++e){if(t=_h[e],t.cancelled&&g0(t),t.state!==hi.ACTIVE){++n;continue}n>0&&(_h[e-n]=t)}_h.length-=n;let o=Pa.internalArray,r=Pa.length;for(e=0;e<r;++e)cJ(o[e]);Pa.resort();let s=Math.max(Ho.maximumRequests-_h.length,0),a=0;for(;a<s&&Pa.length>0;){if(t=Pa.pop(),t.cancelled){g0(t);continue}if(t.throttleByServer&&!Ho.serverHasOpenSlots(t.serverKey)){g0(t);continue}uJ(t),++a}PTe()};Ho.getServerKey=function(e){let t=new iD.default(e);t.scheme()===""&&(t=new iD.default(e).absoluteTo(vTe),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let i=Um[n];return u(i)||(Um[n]=0),n};Ho.request=function(e){if(Vm(e.url)||d0(e.url))return M3.raiseEvent(),e.state=hi.RECEIVED,e.requestFunction();if(++Qi.numberOfAttemptedRequests,u(e.serverKey)||(e.serverKey=Ho.getServerKey(e.url)),Ho.throttleRequests&&e.throttleByServer&&!Ho.serverHasOpenSlots(e.serverKey))return;if(!Ho.throttleRequests||!e.throttle)return uJ(e);if(_h.length>=Ho.maximumRequests)return;cJ(e);let t=Pa.insert(e);if(u(t)){if(t===e)return;g0(t)}return lJ(e)};function PTe(){Ho.debugShowStatistics&&(Qi.numberOfActiveRequests===0&&Qi.lastNumberOfActiveRequests>0&&(Qi.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${Qi.numberOfAttemptedRequests}`),Qi.numberOfAttemptedRequests=0),Qi.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${Qi.numberOfCancelledRequests}`),Qi.numberOfCancelledRequests=0),Qi.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${Qi.numberOfCancelledActiveRequests}`),Qi.numberOfCancelledActiveRequests=0),Qi.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${Qi.numberOfFailedRequests}`),Qi.numberOfFailedRequests=0)),Qi.lastNumberOfActiveRequests=Qi.numberOfActiveRequests)}Ho.clearForSpecs=function(){for(;Pa.length>0;){let t=Pa.pop();g0(t)}let e=_h.length;for(let t=0;t<e;++t)g0(_h[t]);_h.length=0,Um={},Qi.numberOfAttemptedRequests=0,Qi.numberOfActiveRequests=0,Qi.numberOfCancelledRequests=0,Qi.numberOfCancelledActiveRequests=0,Qi.numberOfFailedRequests=0,Qi.numberOfActiveRequestsEver=0,Qi.lastNumberOfActiveRequests=0};Ho.numberOfActiveRequestsByServer=function(e){return Um[e]};Ho.requestHeap=Pa;var Oa=Ho;var fJ=vo(Ll(),1);var oD={},jC={};oD.add=function(e,t){let n=`${e.toLowerCase()}:${t}`;u(jC[n])||(jC[n]=!0)};oD.remove=function(e,t){let n=`${e.toLowerCase()}:${t}`;u(jC[n])&&delete jC[n]};function OTe(e){let t=new fJ.default(e);t.normalize();let n=t.authority();if(n.length!==0){if(t.authority(n),n.indexOf("@")!==-1&&(n=n.split("@")[1]),n.indexOf(":")===-1){let i=t.scheme();if(i.length===0&&(i=window.location.protocol,i=i.substring(0,i.length-1)),i==="http")n+=":80";else if(i==="https")n+=":443";else return}return n}}oD.contains=function(e){let t=OTe(e);return!!(u(t)&&u(jC[t]))};oD.clear=function(){jC={}};var YC=oD;var mJ=function(){try{let e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob",e.responseType==="blob"}catch{return!1}}();function CG(e,t,n,i){let o=e.query();if(o.length===0)return{};let r;if(o.indexOf("=")===-1){let s={};s[o]=void 0,r=s}else r=Nl(o);n?t._queryParameters=N3(r,t._queryParameters,i):t._queryParameters=r,e.search("")}function RTe(e,t){let n=t._queryParameters,i=Object.keys(n);i.length===1&&!u(n[i[0]])?e.search(i[0]):e.search(p0(n))}function gh(e,t){return u(e)?u(e.clone)?e.clone():Ge(e):t}function TG(e){if(e.state===hi.ISSUED||e.state===hi.ACTIVE)throw new ue("The Resource is already being fetched.");e.state=hi.UNISSUED,e.deferred=void 0}function N3(e,t,n){if(!n)return _t(e,t);let i=Ge(e,!0);for(let o in t)if(t.hasOwnProperty(o)){let r=i[o],s=t[o];u(r)?(Array.isArray(r)||(r=i[o]=[r]),i[o]=r.concat(s)):i[o]=Array.isArray(s)?s.slice():s}return i}function Et(e){e=y(e,y.EMPTY_OBJECT),typeof e=="string"&&(e={url:e}),this._url=void 0,this._templateValues=gh(e.templateValues,{}),this._queryParameters=gh(e.queryParameters,{}),this.headers=gh(e.headers,{}),this.request=y(e.request,new zo),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=y(e.retryAttempts,0),this._retryCount=0;let t=new XC.default(e.url);CG(t,this,!0,!0),t.fragment(""),this._url=t.toString()}Et.createIfNeeded=function(e){return e instanceof Et?e.getDerivedResource({request:e.request}):typeof e!="string"?e:new Et({url:e})};var qC;Et.supportsImageBitmapOptions=function(){if(u(qC))return qC;if(typeof createImageBitmap!="function")return qC=Promise.resolve(!1),qC;let e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC";return qC=Et.fetchBlob({url:e}).then(function(t){let n={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(t,n),createImageBitmap(t)])}).then(function(t){let n=Wf(t[0]),i=Wf(t[1]);return n[1]!==i[1]}).catch(function(){return!1}),qC};Object.defineProperties(Et,{isBlobSupported:{get:function(){return mJ}}});Object.defineProperties(Et.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){let t=new XC.default(e);CG(t,this,!1),t.fragment(""),this._url=t.toString()}},extension:{get:function(){return f0(this._url)}},isDataUri:{get:function(){return Vm(this._url)}},isBlobUri:{get:function(){return d0(this._url)}},isCrossOriginUrl:{get:function(){return h0(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}}});Et.prototype.toString=function(){return this.getUrlComponent(!0,!0)};Et.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=new XC.default(this._url);e&&RTe(n,this);let i=n.toString().replace(/%7B/g,"{").replace(/%7D/g,"}"),o=this._templateValues;return i=i.replace(/{(.*?)}/g,function(r,s){let a=o[s];return u(a)?encodeURIComponent(a):r}),t&&u(this.proxy)&&(i=this.proxy.getURL(i)),i};Et.prototype.setQueryParameters=function(e,t){t?this._queryParameters=N3(this._queryParameters,e,!1):this._queryParameters=N3(e,this._queryParameters,!1)};Et.prototype.appendQueryParameters=function(e){this._queryParameters=N3(e,this._queryParameters,!0)};Et.prototype.setTemplateValues=function(e,t){t?this._templateValues=_t(this._templateValues,e):this._templateValues=_t(e,this._templateValues)};Et.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,u(e.url)){let n=new XC.default(e.url),i=y(e.preserveQueryParameters,!1);CG(n,t,!0,i),n.fragment(""),n.scheme()!==""?t._url=n.toString():t._url=n.absoluteTo(new XC.default(Fm(this._url))).toString()}return u(e.queryParameters)&&(t._queryParameters=_t(e.queryParameters,t._queryParameters)),u(e.templateValues)&&(t._templateValues=_t(e.templateValues,t.templateValues)),u(e.headers)&&(t.headers=_t(e.headers,t.headers)),u(e.proxy)&&(t.proxy=e.proxy),u(e.request)&&(t.request=e.request),u(e.retryCallback)&&(t.retryCallback=e.retryCallback),u(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};Et.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};Et.prototype.clone=function(e){return u(e)||(e=new Et({url:this._url})),e._url=this._url,e._queryParameters=Ge(this._queryParameters),e._templateValues=Ge(this._templateValues),e.headers=Ge(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e};Et.prototype.getBaseUri=function(e){return $S(this.getUrlComponent(e),e)};Et.prototype.appendForwardSlash=function(){this._url=QS(this._url)};Et.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};Et.fetchArrayBuffer=function(e){return new Et(e).fetchArrayBuffer()};Et.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};Et.fetchBlob=function(e){return new Et(e).fetchBlob()};Et.prototype.fetchImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.preferImageBitmap,!1),n=y(e.preferBlob,!1),i=y(e.flipY,!1),o=y(e.skipColorSpaceConversion,!1);if(TG(this.request),!mJ||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return xG({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});let r=this.fetchBlob();if(!u(r))return;let s,a,c,l;return Et.supportsImageBitmapOptions().then(function(f){return s=f,a=s&&t,r}).then(function(f){if(!u(f))return;if(l=f,a)return Et.createImageBitmapFromBlob(f,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});let d=window.URL.createObjectURL(f);return c=new Et({url:d}),xG({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(f){if(u(f))return f.blob=l,a||window.URL.revokeObjectURL(c.url),f}).catch(function(f){return u(c)&&window.URL.revokeObjectURL(c.url),f.blob=l,Promise.reject(f)})};function xG(e){let t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);let c=Jr();return Et._Implementations.createImage(r,a,c,n,i,o),c.promise};let s=Oa.request(r);if(u(s))return s.catch(function(a){return r.state!==hi.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=hi.UNISSUED,r.deferred=void 0,xG({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}Et.fetchImage=function(e){return new Et(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};Et.prototype.fetchText=function(){return this.fetch({responseType:"text"})};Et.fetchText=function(e){return new Et(e).fetchText()};Et.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(u(e))return e.then(function(t){if(u(t))return JSON.parse(t)})};Et.fetchJson=function(e){return new Et(e).fetchJson()};Et.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};Et.fetchXML=function(e){return new Et(e).fetchXML()};Et.prototype.fetchJsonp=function(e){e=y(e,"callback"),TG(this.request);let t;do t=`loadJsonp${P.nextRandomNumber().toString().substring(2,8)}`;while(u(window[t]));return pJ(this,e,t)};function pJ(e,t,n){let i={};i[t]=n,e.setQueryParameters(i);let o=e.request;o.url=e.url,o.requestFunction=function(){let s=Jr();return window[n]=function(a){s.resolve(a);try{delete window[n]}catch{window[n]=void 0}},Et._Implementations.loadAndExecuteScript(e.url,n,s),s.promise};let r=Oa.request(o);if(u(r))return r.catch(function(s){return o.state!==hi.FAILED?Promise.reject(s):e.retryOnError(s).then(function(a){return a?(o.state=hi.UNISSUED,o.deferred=void 0,pJ(e,t,n)):Promise.reject(s)})})}Et.fetchJsonp=function(e){return new Et(e).fetchJsonp(e.callbackParameterName)};Et.prototype._makeRequest=function(e){let t=this;TG(t.request);let n=t.request;n.url=t.url,n.requestFunction=function(){let o=e.responseType,r=_t(e.headers,t.headers),s=e.overrideMimeType,a=e.method,c=e.data,l=Jr(),f=Et._Implementations.loadWithXhr(t.url,o,a,c,r,l,s);return u(f)&&u(f.abort)&&(n.cancelFunction=function(){f.abort()}),l.promise};let i=Oa.request(n);if(u(i))return i.then(function(o){return n.cancelFunction=void 0,o}).catch(function(o){return n.cancelFunction=void 0,n.state!==hi.FAILED?Promise.reject(o):t.retryOnError(o).then(function(r){return r?(n.state=hi.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(o)})})};var BTe=/^data:(.*?)(;base64)?,(.*)$/;function L3(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function dJ(e,t){let n=L3(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r<n.length;r++)o[r]=n.charCodeAt(r);return i}function MTe(e,t){t=y(t,"");let n=e[1],i=!!e[2],o=e[3],r,s;switch(t){case"":case"text":return L3(i,o);case"arraybuffer":return dJ(i,o);case"blob":return r=dJ(i,o),new Blob([r],{type:n});case"document":return s=new DOMParser,s.parseFromString(L3(i,o),n);case"json":return JSON.parse(L3(i,o));default:}}Et.prototype.fetch=function(e){return e=gh(e,{}),e.method="GET",this._makeRequest(e)};Et.fetch=function(e){return new Et(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Et.prototype.delete=function(e){return e=gh(e,{}),e.method="DELETE",this._makeRequest(e)};Et.delete=function(e){return new Et(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})};Et.prototype.head=function(e){return e=gh(e,{}),e.method="HEAD",this._makeRequest(e)};Et.head=function(e){return new Et(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Et.prototype.options=function(e){return e=gh(e,{}),e.method="OPTIONS",this._makeRequest(e)};Et.options=function(e){return new Et(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Et.prototype.post=function(e,t){return Qc.defined("data",e),t=gh(t,{}),t.method="POST",t.data=e,this._makeRequest(t)};Et.post=function(e){return new Et(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Et.prototype.put=function(e,t){return Qc.defined("data",e),t=gh(t,{}),t.method="PUT",t.data=e,this._makeRequest(t)};Et.put=function(e){return new Et(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Et.prototype.patch=function(e,t){return Qc.defined("data",e),t=gh(t,{}),t.method="PATCH",t.data=e,this._makeRequest(t)};Et.patch=function(e){return new Et(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Et._Implementations={};Et._Implementations.loadImageElement=function(e,t,n){let i=new Image;i.onload=function(){i.naturalWidth===0&&i.naturalHeight===0&&i.width===0&&i.height===0&&(i.width=300,i.height=150),n.resolve(i)},i.onerror=function(o){n.reject(o)},t&&(YC.contains(e)?i.crossOrigin="use-credentials":i.crossOrigin=""),i.src=e};Et._Implementations.createImage=function(e,t,n,i,o,r){let s=e.url;Et.supportsImageBitmapOptions().then(function(a){if(!(a&&r)){Et._Implementations.loadImageElement(s,t,n);return}let c="blob",l="GET",f=Jr(),d=Et._Implementations.loadWithXhr(s,c,l,void 0,void 0,f,void 0,void 0,void 0);return u(d)&&u(d.abort)&&(e.cancelFunction=function(){d.abort()}),f.promise.then(function(p){if(!u(p)){n.reject(new ue(`Successfully retrieved ${s} but it contained no content.`));return}return Et.createImageBitmapFromBlob(p,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o})}).then(function(p){n.resolve(p)})}).catch(function(a){n.reject(a)})};Et.createImageBitmapFromBlob=function(e,t){return Qc.defined("options",t),Qc.typeOf.bool("options.flipY",t.flipY),Qc.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),Qc.typeOf.bool("options.skipColorSpaceConversion",t.skipColorSpaceConversion),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:t.skipColorSpaceConversion?"none":"default"})};function hJ(e,t){switch(t){case"text":return e.toString("utf8");case"json":return JSON.parse(e.toString("utf8"));default:return new Uint8Array(e).buffer}}function LTe(e,t,n,i,o,r,s){let a,c;Promise.all([import("url"),import("zlib")]).then(([l,f])=>(a=l.parse(e),c=f,a.protocol==="https:"?import("https"):import("http"))).then(l=>{let f={protocol:a.protocol,hostname:a.hostname,port:a.port,path:a.path,query:a.query,method:n,headers:o};l.request(f).on("response",function(d){if(d.statusCode<200||d.statusCode>=300){r.reject(new ph(d.statusCode,d,d.headers));return}let p=[];d.on("data",function(g){p.push(g)}),d.on("end",function(){let g=Buffer.concat(p);d.headers["content-encoding"]==="gzip"?c.gunzip(g,function(m,A){m?r.reject(new ue("Error decompressing response.")):r.resolve(hJ(A,t))}):r.resolve(hJ(g,t))})}).on("error",function(d){r.reject(new ph)}).end()})}var NTe=typeof XMLHttpRequest>"u";Et._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){let a=BTe.exec(e);if(a!==null){r.resolve(MTe(a,t));return}if(NTe){LTe(e,t,n,i,o,r,s);return}let c=new XMLHttpRequest;if(YC.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),u(s)&&u(c.overrideMimeType)&&c.overrideMimeType(s),u(o))for(let f in o)o.hasOwnProperty(f)&&c.setRequestHeader(f,o[f]);u(t)&&(c.responseType=t);let l=!1;return typeof e=="string"&&(l=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(l&&c.status===0)){r.reject(new ph(c.status,c.response,c.getAllResponseHeaders()));return}let f=c.response,d=c.responseType;if(n==="HEAD"||n==="OPTIONS"){let g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),m={};g.forEach(function(A){let x=A.split(": "),C=x.shift();m[C]=x.join(": ")}),r.resolve(m);return}if(c.status===204)r.resolve();else if(u(f)&&(!u(t)||d===t))r.resolve(f);else if(t==="json"&&typeof f=="string")try{r.resolve(JSON.parse(f))}catch(p){r.reject(p)}else(d===""||d==="document")&&u(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(d===""||d==="text")&&u(c.responseText)?r.resolve(c.responseText):r.reject(new ue("Invalid XMLHttpRequest response type."))},c.onerror=function(f){r.reject(new ph)},c.send(i),c};Et._Implementations.loadAndExecuteScript=function(e,t,n){return m0(e,t).catch(function(i){n.reject(i)})};Et._DefaultImplementations={};Et._DefaultImplementations.createImage=Et._Implementations.createImage;Et._DefaultImplementations.loadWithXhr=Et._Implementations.loadWithXhr;Et._DefaultImplementations.loadAndExecuteScript=Et._Implementations.loadAndExecuteScript;Et.DEFAULT=Object.freeze(new Et({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var Oe=Et;function sD(e){e=y(e,y.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=y(e.addNewLeapSeconds,!0),u(e.data)?_J(this,e.data):_J(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}sD.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Oe.createIfNeeded(e),i;try{i=await n.fetchJson()}catch{throw new ue(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new sD({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};sD.NONE=Object.freeze({compute:function(e,t){return u(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new H_(0,0,0,0,0),t}});sD.prototype.compute=function(e,t){if(!u(this._samples))return;if(u(t)||(t=new H_(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,i=this._lastIndex,o=0,r=0;if(u(i)){let a=n[i],c=n[i+1],l=$.lessThanOrEquals(a,e),f=!u(c),d=f||$.greaterThanOrEquals(c,e);if(l&&d)return o=i,!f&&c.equals(e)&&++o,r=o+1,yJ(this,n,this._samples,e,o,r,t),t}let s=wo(n,e,$.compare,this._dateColumn);return s>=0?(s<n.length-1&&n[s+1].equals(e)&&++s,o=s,r=s):(r=~s,o=r-1,o<0&&(o=0)),this._lastIndex=o,yJ(this,n,this._samples,e,o,r,t),t};function FTe(e,t){return $.compare(e.julianDate,t)}function _J(e,t){if(!u(t.columnNames))throw new ue("Error in loaded EOP data: The columnNames property is required.");if(!u(t.samples))throw new ue("Error in loaded EOP data: The samples property is required.");let n=t.columnNames.indexOf("modifiedJulianDateUtc"),i=t.columnNames.indexOf("xPoleWanderRadians"),o=t.columnNames.indexOf("yPoleWanderRadians"),r=t.columnNames.indexOf("ut1MinusUtcSeconds"),s=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),a=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),c=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||i<0||o<0||r<0||s<0||a<0||c<0)throw new ue("Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns");let l=e._samples=t.samples,f=e._dates=[];e._dateColumn=n,e._xPoleWanderRadiansColumn=i,e._yPoleWanderRadiansColumn=o,e._ut1MinusUtcSecondsColumn=r,e._xCelestialPoleOffsetRadiansColumn=s,e._yCelestialPoleOffsetRadiansColumn=a,e._taiMinusUtcSecondsColumn=c,e._columnCount=t.columnNames.length,e._lastIndex=void 0;let d,p=e._addNewLeapSeconds;for(let g=0,m=l.length;g<m;g+=e._columnCount){let A=l[g+n],x=l[g+c],C=A+Qn.MODIFIED_JULIAN_DATE_DIFFERENCE,T=new $(C,x,qn.TAI);if(f.push(T),p){if(x!==d&&u(d)){let E=$.leapSeconds,S=wo(E,T,FTe);if(S<0){let D=new Fi(T,x);E.splice(~S,0,D)}}d=x}}}function gJ(e,t,n,i,o){let r=n*i;o.xPoleWander=t[r+e._xPoleWanderRadiansColumn],o.yPoleWander=t[r+e._yPoleWanderRadiansColumn],o.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],o.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],o.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function rD(e,t,n){return t+e*(n-t)}function yJ(e,t,n,i,o,r,s){let a=e._columnCount;if(r>t.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;let c=t[o],l=t[r];if(c.equals(l)||i.equals(c))return gJ(e,n,o,a,s),s;if(i.equals(l))return gJ(e,n,r,a,s),s;let f=$.secondsDifference(i,c)/$.secondsDifference(l,c),d=o*a,p=r*a,g=n[d+e._ut1MinusUtcSecondsColumn],m=n[p+e._ut1MinusUtcSecondsColumn],A=m-g;if(A>.5||A<-.5){let x=n[d+e._taiMinusUtcSecondsColumn],C=n[p+e._taiMinusUtcSecondsColumn];x!==C&&(l.equals(i)?g=m:m-=C-x)}return s.xPoleWander=rD(f,n[d+e._xPoleWanderRadiansColumn],n[p+e._xPoleWanderRadiansColumn]),s.yPoleWander=rD(f,n[d+e._yPoleWanderRadiansColumn],n[p+e._yPoleWanderRadiansColumn]),s.xPoleOffset=rD(f,n[d+e._xCelestialPoleOffsetRadiansColumn],n[p+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=rD(f,n[d+e._yCelestialPoleOffsetRadiansColumn],n[p+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=rD(f,g,m),s}var aD=sD;function Ra(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.roll=y(n,0)}Ra.fromQuaternion=function(e,t){u(t)||(t=new Ra);let n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-P.asinClamped(n),t};Ra.fromDegrees=function(e,t,n,i){return u(i)||(i=new Ra),i.heading=e*P.RADIANS_PER_DEGREE,i.pitch=t*P.RADIANS_PER_DEGREE,i.roll=n*P.RADIANS_PER_DEGREE,i};Ra.clone=function(e,t){if(u(e))return u(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new Ra(e.heading,e.pitch,e.roll)};Ra.equals=function(e,t){return e===t||u(e)&&u(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};Ra.equalsEpsilon=function(e,t,n,i){return e===t||u(e)&&u(t)&&P.equalsEpsilon(e.heading,t.heading,n,i)&&P.equalsEpsilon(e.pitch,t.pitch,n,i)&&P.equalsEpsilon(e.roll,t.roll,n,i)};Ra.prototype.clone=function(e){return Ra.clone(this,e)};Ra.prototype.equals=function(e){return Ra.equals(this,e)};Ra.prototype.equalsEpsilon=function(e,t,n){return Ra.equalsEpsilon(this,e,t,n)};Ra.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Ba=Ra;var AJ=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function VTe(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t<n;++t){let i=e[t].getAttribute("src"),o=AJ.exec(i);if(o!==null)return o[1]}}var KC;function xJ(e){return typeof document>"u"?e:(u(KC)||(KC=document.createElement("a")),KC.href=e,KC.href=KC.href,KC.href)}var y0;function CJ(){if(u(y0))return y0;let e;return typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:typeof define=="object"&&u(define.amd)&&!define.amd.toUrlUndefined&&u(U_.toUrl)?e=Fm("..",A0("Core/buildModuleUrl.js")):e=VTe(),y0=new Oe({url:xJ(e)}),y0.appendForwardSlash(),y0}function UTe(e){return xJ(U_.toUrl(`../${e}`))}function TJ(e){return CJ().getDerivedResource({url:e}).url}var F3;function A0(e){return u(F3)||(typeof define=="object"&&u(define.amd)&&!define.amd.toUrlUndefined&&u(U_.toUrl)?F3=UTe:F3=TJ),F3(e)}A0._cesiumScriptRegex=AJ;A0._buildModuleUrlFromBaseUrl=TJ;A0._clearBaseResource=function(){y0=void 0};A0.setBaseUrl=function(e){y0=Oe.DEFAULT.getDerivedResource({url:e})};A0.getCesiumBaseUrl=CJ;var $t=A0;function kTe(e,t,n){this.x=e,this.y=t,this.s=n}var x0=kTe;function SG(e){e=y(e,y.EMPTY_OBJECT),this._xysFileUrlTemplate=Oe.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=y(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=y(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new $(this._sampleZeroJulianEphemerisDate,0,qn.TAI),this._stepSizeDays=y(e.stepSizeDays,1),this._samplesPerXysFile=y(e.samplesPerXysFile,1e3),this._totalSamples=y(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var zTe=new $(0,0,qn.TAI);function EG(e,t,n){let i=zTe;return i.dayNumber=t,i.secondsOfDay=n,$.daysDifference(i,e._sampleZeroDateTT)}SG.prototype.preload=function(e,t,n,i){let o=EG(this,e,t),r=EG(this,n,i),s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);let c=s/this._samplesPerXysFile|0,l=a/this._samplesPerXysFile|0,f=[];for(let d=c;d<=l;++d)f.push(bG(this,d));return Promise.all(f)};SG.prototype.computeXysRadians=function(e,t,n){let i=EG(this,e,t);if(i<0)return;let o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;let r=this._interpolationOrder,s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1,l=this._samples;if(u(l[s*3])||(bG(this,s/this._samplesPerXysFile|0),c=!0),u(l[a*3])||(bG(this,a/this._samplesPerXysFile|0),c=!0),c)return;u(n)?(n.x=0,n.y=0,n.s=0):n=new x0(0,0,0);let f=i-s*this._stepSizeDays,d=this._work,p=this._denominators,g=this._coef,m=this._xTable,A,x;for(A=0;A<=r;++A)d[A]=f-m[A];for(A=0;A<=r;++A){for(g[A]=1,x=0;x<=r;++x)x!==A&&(g[A]*=d[x]);g[A]*=p[A];let C=(s+A)*3;n.x+=g[A]*l[C++],n.y+=g[A]*l[C++],n.s+=g[A]*l[C]}return n};function bG(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,i=e._xysFileUrlTemplate;u(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new Oe({url:$t(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let l=0,f=a.length;l<f;++l)s[c+l]=a[l]});return e._chunkDownloadsInProgress[t]=o,o}var cD=SG;var Gi={},DG={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},ZC={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},vG={},el={east:new h,north:new h,up:new h,west:new h,south:new h,down:new h},W_=new h,j_=new h,Y_=new h;Gi.localFrameToFixedFrameGenerator=function(e,t){if(!DG.hasOwnProperty(e)||!DG[e].hasOwnProperty(t))throw new de("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=DG[e][t],i,o=e+t;return u(vG[o])?i=vG[o]:(i=function(r,s,a){if(u(a)||(a=new M),h.equalsEpsilon(r,h.ZERO,P.EPSILON14))h.unpack(ZC[e],0,W_),h.unpack(ZC[t],0,j_),h.unpack(ZC[n],0,Y_);else if(P.equalsEpsilon(r.x,0,P.EPSILON14)&&P.equalsEpsilon(r.y,0,P.EPSILON14)){let c=P.sign(r.z);h.unpack(ZC[e],0,W_),e!=="east"&&e!=="west"&&h.multiplyByScalar(W_,c,W_),h.unpack(ZC[t],0,j_),t!=="east"&&t!=="west"&&h.multiplyByScalar(j_,c,j_),h.unpack(ZC[n],0,Y_),n!=="east"&&n!=="west"&&h.multiplyByScalar(Y_,c,Y_)}else{s=y(s,ie.WGS84),s.geodeticSurfaceNormal(r,el.up);let c=el.up,l=el.east;l.x=-r.y,l.y=r.x,l.z=0,h.normalize(l,el.east),h.cross(c,l,el.north),h.multiplyByScalar(el.up,-1,el.down),h.multiplyByScalar(el.east,-1,el.west),h.multiplyByScalar(el.north,-1,el.south),W_=el[e],j_=el[t],Y_=el[n]}return a[0]=W_.x,a[1]=W_.y,a[2]=W_.z,a[3]=0,a[4]=j_.x,a[5]=j_.y,a[6]=j_.z,a[7]=0,a[8]=Y_.x,a[9]=Y_.y,a[10]=Y_.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a},vG[o]=i),i};Gi.eastNorthUpToFixedFrame=Gi.localFrameToFixedFrameGenerator("east","north");Gi.northEastDownToFixedFrame=Gi.localFrameToFixedFrameGenerator("north","east");Gi.northUpEastToFixedFrame=Gi.localFrameToFixedFrameGenerator("north","up");Gi.northWestUpToFixedFrame=Gi.localFrameToFixedFrameGenerator("north","west");var HTe=new Le,GTe=new h(1,1,1),WTe=new M;Gi.headingPitchRollToFixedFrame=function(e,t,n,i,o){i=y(i,Gi.eastNorthUpToFixedFrame);let r=Le.fromHeadingPitchRoll(t,HTe),s=M.fromTranslationQuaternionRotationScale(h.ZERO,r,GTe,WTe);return o=i(e,n,o),M.multiply(o,s,o)};var jTe=new M,YTe=new Z;Gi.headingPitchRollQuaternion=function(e,t,n,i,o){let r=Gi.headingPitchRollToFixedFrame(e,t,n,i,jTe),s=M.getMatrix3(r,YTe);return Le.fromRotationMatrix(s,o)};var qTe=new h(1,1,1),XTe=new h,EJ=new M,KTe=new M,ZTe=new Z,JTe=new Le;Gi.fixedFrameToHeadingPitchRoll=function(e,t,n,i){t=y(t,ie.WGS84),n=y(n,Gi.eastNorthUpToFixedFrame),u(i)||(i=new Ba);let o=M.getTranslation(e,XTe);if(h.equals(o,h.ZERO))return i.heading=0,i.pitch=0,i.roll=0,i;let r=M.inverseTransformation(n(o,t,EJ),EJ),s=M.setScale(e,qTe,KTe);s=M.setTranslation(s,h.ZERO,s),r=M.multiply(r,s,r);let a=Le.fromRotationMatrix(M.getMatrix3(r,ZTe),JTe);return a=Le.normalize(a,a),Ba.fromQuaternion(a,i)};var QTe=6*3600+41*60+50.54841,$Te=8640184812866e-6,eEe=.093104,tEe=-62e-7,nEe=11772758384668e-32,iEe=72921158553e-15,oEe=P.TWO_PI/86400,V3=new $;Gi.computeTemeToPseudoFixedMatrix=function(e,t){V3=$.addSeconds(e,-$.computeTaiMinusUtc(e),V3);let n=V3.dayNumber,i=V3.secondsOfDay,o,r=n-2451545;i>=43200?o=(r+.5)/Qn.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Qn.DAYS_PER_JULIAN_CENTURY;let a=(QTe+o*($Te+o*(eEe+o*tEe)))*oEe%P.TWO_PI,c=iEe+nEe*(n-24515455e-1),l=(i+Qn.SECONDS_PER_DAY*.5)%Qn.SECONDS_PER_DAY,f=a+c*l,d=Math.cos(f),p=Math.sin(f);return u(t)?(t[0]=d,t[1]=-p,t[2]=0,t[3]=p,t[4]=d,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new Z(d,p,0,-p,d,0,0,0,1)};Gi.iau2006XysData=new cD;Gi.earthOrientationParameters=aD.NONE;var PG=32.184,rEe=2451545;Gi.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+PG,i=e.stop.dayNumber,o=e.stop.secondsOfDay+PG;return Gi.iau2006XysData.preload(t,n,i,o)};Gi.computeIcrfToFixedMatrix=function(e,t){u(t)||(t=new Z);let n=Gi.computeFixedToIcrfMatrix(e,t);if(u(n))return Z.transpose(n,t)};var sEe=new x0(0,0,0),aEe=new H_(0,0,0,0,0,0),wG=new Z,IG=new Z;Gi.computeFixedToIcrfMatrix=function(e,t){u(t)||(t=new Z);let n=Gi.earthOrientationParameters.compute(e,aEe);if(!u(n))return;let i=e.dayNumber,o=e.secondsOfDay+PG,r=Gi.iau2006XysData.computeXysRadians(i,o,sEe);if(!u(r))return;let s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),l=wG;l[0]=1-c*s*s,l[3]=-c*s*a,l[6]=s,l[1]=-c*s*a,l[4]=1-c*a*a,l[7]=a,l[2]=-s,l[5]=-a,l[8]=1-c*(s*s+a*a);let f=Z.fromRotationZ(-r.s,IG),d=Z.multiply(l,f,wG),p=e.dayNumber,g=e.secondsOfDay-$.computeTaiMinusUtc(e)+n.ut1MinusUtc,m=p-2451545,A=g/Qn.SECONDS_PER_DAY,x=.779057273264+A+.00273781191135448*(m+A);x=x%1*P.TWO_PI;let C=Z.fromRotationZ(x,IG),T=Z.multiply(d,C,wG),E=Math.cos(n.xPoleWander),S=Math.cos(n.yPoleWander),D=Math.sin(n.xPoleWander),w=Math.sin(n.yPoleWander),R=i-rEe+o/Qn.SECONDS_PER_DAY;R/=36525;let O=-47e-6*R*P.RADIANS_PER_DEGREE/3600,L=Math.cos(O),N=Math.sin(O),_=IG;return _[0]=E*L,_[1]=E*N,_[2]=D,_[3]=-S*N+w*D*L,_[4]=S*L+w*D*N,_[5]=-w*E,_[6]=-w*N-S*D*L,_[7]=w*L-S*D*N,_[8]=S*E,Z.multiply(T,_,t)};var cEe=new oe;Gi.pointToWindowCoordinates=function(e,t,n,i){return i=Gi.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};Gi.pointToGLWindowCoordinates=function(e,t,n,i){u(i)||(i=new H);let o=cEe;return M.multiplyByVector(e,oe.fromElements(n.x,n.y,n.z,1,o),o),oe.multiplyByScalar(o,1/o.w,o),M.multiplyByVector(t,o,o),H.fromCartesian4(o,i)};var lEe=new h,uEe=new h,fEe=new h;Gi.rotationMatrixFromPositionVelocity=function(e,t,n,i){let o=y(n,ie.WGS84).geodeticSurfaceNormal(e,lEe),r=h.cross(t,o,uEe);h.equalsEpsilon(r,h.ZERO,P.EPSILON6)&&(r=h.clone(h.UNIT_X,r));let s=h.cross(r,t,fEe);return h.normalize(s,s),h.cross(t,s,r),h.negate(r,r),h.normalize(r,r),u(i)||(i=new Z),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};var bJ=new M(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),SJ=new he,DJ=new h,dEe=new h,hEe=new Z,OG=new M,vJ=new M;Gi.basisTo2D=function(e,t,n){let i=M.getTranslation(t,dEe),o=e.ellipsoid,r=o.cartesianToCartographic(i,SJ),s=e.project(r,DJ);h.fromElements(s.z,s.x,s.y,s);let a=Gi.eastNorthUpToFixedFrame(i,o,OG),c=M.inverseTransformation(a,vJ),l=M.getMatrix3(t,hEe),f=M.multiplyByMatrix3(c,l,n);return M.multiply(bJ,f,n),M.setTranslation(n,s,n),n};Gi.wgs84To2DModelMatrix=function(e,t,n){let i=e.ellipsoid,o=Gi.eastNorthUpToFixedFrame(t,i,OG),r=M.inverseTransformation(o,vJ),s=i.cartesianToCartographic(t,SJ),a=e.project(s,DJ);h.fromElements(a.z,a.x,a.y,a);let c=M.fromTranslation(a,OG);return M.multiply(bJ,r,n),M.multiply(c,n,n),n};var Ot=Gi;function RG(e){e=y(e,y.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=y(e.primitiveType,Me.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=y(e.geometryType,Nu.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}RG.computeNumberOfVertices=function(e){let t=-1;for(let n in e.attributes)if(e.attributes.hasOwnProperty(n)&&u(e.attributes[n])&&u(e.attributes[n].values)){let i=e.attributes[n];t=i.values.length/i.componentsPerAttribute}return t};var mEe=new he,pEe=new h,wJ=new M,_Ee=[new he,new he,new he],gEe=[new H,new H,new H],yEe=[new H,new H,new H],AEe=new h,xEe=new Le,CEe=new M,TEe=new Ji;RG._textureCoordinateRotationPoints=function(e,t,n,i){let o,r=ce.center(i,mEe),s=he.toCartesian(r,n,pEe),a=Ot.eastNorthUpToFixedFrame(s,n,wJ),c=M.inverse(a,wJ),l=gEe,f=_Ee;f[0].longitude=i.west,f[0].latitude=i.south,f[1].longitude=i.west,f[1].latitude=i.north,f[2].longitude=i.east,f[2].latitude=i.south;let d=AEe;for(o=0;o<3;o++)he.toCartesian(f[o],n,d),d=M.multiplyByPointAsVector(c,d,d),l[o].x=d.x,l[o].y=d.y;let p=Le.fromAxisAngle(h.UNIT_Z,-t,xEe),g=Z.fromQuaternion(p,CEe),m=e.length,A=Number.POSITIVE_INFINITY,x=Number.POSITIVE_INFINITY,C=Number.NEGATIVE_INFINITY,T=Number.NEGATIVE_INFINITY;for(o=0;o<m;o++)d=M.multiplyByPointAsVector(c,e[o],d),d=Z.multiplyByVector(g,d,d),A=Math.min(A,d.x),x=Math.min(x,d.y),C=Math.max(C,d.x),T=Math.max(T,d.y);let E=Ji.fromRotation(t,TEe),S=yEe;S[0].x=A,S[0].y=x,S[1].x=A,S[1].y=T,S[2].x=C,S[2].y=x;let D=l[0],w=l[2].x-D.x,R=l[1].y-D.y;for(o=0;o<3;o++){let b=S[o];Ji.multiplyByVector(E,b,b),b.x=(b.x-D.x)/w,b.y=(b.y-D.y)/R}let O=S[0],L=S[1],N=S[2],_=new Array(6);return H.pack(O,_),H.pack(L,_,2),H.pack(N,_,4),_};var ct=RG;function EEe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.values=e.values}var ve=EEe;function JC(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(JC.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}}});JC.clone=function(e){if(u(e))return new JC(e._format,e._datatype,e._width,e._height,e._buffer)};JC.prototype.clone=function(){return JC.clone(this)};var lD=JC;var IJ=vo(Ll(),1);function PJ(){if(!u(ra._canTransferArrayBuffer)){let e=new Worker(RJ("Workers/transferTypedArrayTest.js"));e.postMessage=y(e.webkitPostMessage,e.postMessage);let t=99,n=new Int8Array([t]);try{e.postMessage({array:n},[n.buffer])}catch{return ra._canTransferArrayBuffer=!1,ra._canTransferArrayBuffer}let i=Jr();e.onmessage=function(o){let r=o.data.array,s=u(r)&&r[0]===t;i.resolve(s),e.terminate(),ra._canTransferArrayBuffer=s},ra._canTransferArrayBuffer=i.promise}return ra._canTransferArrayBuffer}var MG=new Ae;function OJ(e,t){--e._activeTasks;let n=t.id;if(!u(n))return;let i=e._deferreds,o=i[n];if(u(t.error)){let r=t.error;r.name==="RuntimeError"?(r=new ue(t.error.message),r.stack=t.error.stack):r.name==="DeveloperError"&&(r=new de(t.error.message),r.stack=t.error.stack),MG.raiseEvent(r),o.reject(r)}else MG.raiseEvent(),o.resolve(t.result);delete i[n]}function RJ(e){let t=$t(e);if(h0(t)){let n=`importScripts("${t}");`,i;try{i=new Blob([n],{type:"application/javascript"})}catch{let s=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,a=new s;a.append(n),i=a.getBlob("application/javascript")}t=(window.URL||window.webkitURL).createObjectURL(i)}return t}var BG;function bEe(){return u(BG)||(BG=RJ("Workers/cesiumWorkerBootstrapper.js")),BG}function BJ(e){let t=new Worker(bEe());t.postMessage=y(t.webkitPostMessage,t.postMessage);let n={loaderConfig:{paths:{Workers:$t("Workers")},baseUrl:$t.getCesiumBaseUrl().url},workerModule:e._workerPath};return t.postMessage(n),t.onmessage=function(i){OJ(e,i.data)},t}function SEe(e,t){let n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!Vt.supportsWebAssembly()){if(!u(t.fallbackModulePath))throw new ue(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=$t(t.fallbackModulePath),Promise.resolve(n)}return n.modulePath=$t(t.modulePath),n.wasmBinaryFile=$t(t.wasmBinaryFile),Oe.fetchArrayBuffer({url:n.wasmBinaryFile}).then(function(i){return n.wasmBinary=i,n})}function ra(e,t){let n=new IJ.default(e);this._workerPath=n.scheme().length!==0&&n.fragment().length===0?e:ra._workerModulePrefix+e,this._maximumActiveTasks=y(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._deferreds={},this._nextID=0}var DEe=[];ra.prototype.scheduleTask=function(e,t){if(u(this._worker)||(this._worker=BJ(this)),this._activeTasks>=this._maximumActiveTasks)return;++this._activeTasks;let n=this;return Promise.resolve(PJ()).then(function(i){u(t)?i||(t.length=0):t=DEe;let o=n._nextID++,r=Jr();return n._deferreds[o]=r,n._worker.postMessage({id:o,parameters:e,canTransferArrayBuffer:i},t),r.promise})};ra.prototype.initWebAssemblyModule=function(e){u(this._worker)||(this._worker=BJ(this));let t=Jr(),n=this,i=this._worker;return SEe(this,e).then(function(o){return Promise.resolve(PJ()).then(function(r){let s,a=o.wasmBinary;u(a)&&r&&(s=[a]),i.onmessage=function(c){i.onmessage=function(l){OJ(n,l.data)},t.resolve(c.data)},i.postMessage({webAssemblyConfig:o},s)})}),t.promise};ra.prototype.isDestroyed=function(){return!1};ra.prototype.destroy=function(){return u(this._worker)&&this._worker.terminate(),le(this)};ra.taskCompletedEvent=MG;ra._defaultWorkerModulePrefix="Workers/";ra._workerModulePrefix=ra._defaultWorkerModulePrefix;ra._canTransferArrayBuffer=void 0;var pi=ra;function km(){}km._transcodeTaskProcessor=new pi("transcodeKTX2",Number.POSITIVE_INFINITY);km._readyPromise=void 0;function vEe(){let e=km._transcodeTaskProcessor.initWebAssemblyModule({modulePath:"ThirdParty/Workers/basis_transcoder.js",wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(){return km._transcodeTaskProcessor});km._readyPromise=e}km.transcode=function(e,t){return u(km._readyPromise)||vEe(),km._readyPromise.then(function(n){let i;if(e instanceof ArrayBuffer){let o=new Uint8Array(e);return i={supportedTargetFormats:t,ktx2Buffer:o},n.scheduleTask(i,[e])}return i={supportedTargetFormats:t,ktx2Buffer:e},n.scheduleTask(i,[e.buffer])}).then(function(n){let i=n.length,o=Object.keys(n[0]),r=o.length,s;for(s=0;s<i;s++){let a=n[s];for(let c=0;c<r;c++){let l=a[o[c]];a[o[c]]=new lD(l.internalFormat,l.datatype,l.width,l.height,l.levelBuffer)}}if(r===1){for(s=0;s<i;++s)n[s]=n[s][o[0]];i===1&&(n=n[0])}return n}).catch(function(n){throw n})};var uD=km;var MJ;LJ.setKTX2SupportedFormats=function(e,t,n,i,o,r){MJ={s3tc:e,pvrtc:t,astc:n,etc:i,etc1:o,bc7:r}};function LJ(e){let t;return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?t=Promise.resolve(e):t=Oe.createIfNeeded(e).fetchArrayBuffer(),t.then(function(n){return uD.transcode(n,MJ)})}var tl=LJ;function U3(e,t,n,i,o,r,s,a,c,l,f){this._context=e,this._texture=t,this._textureTarget=n,this._targetFace=i,this._pixelDatatype=s,this._internalFormat=o,this._pixelFormat=r,this._size=a,this._preMultiplyAlpha=c,this._flipY=l,this._initialized=f}Object.defineProperties(U3.prototype,{pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},_target:{get:function(){return this._targetFace}}});U3.prototype.copyFrom=function(e){let t=y(e.xOffset,0),n=y(e.yOffset,0),i=e.source,o=this._context._gl,r=this._textureTarget,s=this._targetFace;o.activeTexture(o.TEXTURE0),o.bindTexture(r,this._texture);let a=i.width,c=i.height,l=i.arrayBufferView,f=this._size,d=this._pixelFormat,p=this._internalFormat,g=this._pixelDatatype,m=this._preMultiplyAlpha,A=this._flipY,x=y(e.skipColorSpaceConversion,!1),C=4;u(l)&&(C=rt.alignmentInBytes(d,g,a)),o.pixelStorei(o.UNPACK_ALIGNMENT,C),x?o.pixelStorei(o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.NONE):o.pixelStorei(o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.BROWSER_DEFAULT_WEBGL);let T=!1;if(!this._initialized){if(t===0&&n===0&&a===f&&c===f)u(l)?(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),A&&(l=rt.flipY(l,d,g,f,f)),o.texImage2D(s,0,p,f,f,0,d,Xe.toWebGLConstant(g,this._context),l)):(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,A),o.texImage2D(s,0,p,d,Xe.toWebGLConstant(g,this._context),i)),T=!0;else{o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1);let E=rt.createTypedArray(d,g,f,f);o.texImage2D(s,0,p,f,f,0,d,Xe.toWebGLConstant(g,this._context),E)}this._initialized=!0}T||(u(l)?(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),A&&(l=rt.flipY(l,d,g,a,c)),o.texSubImage2D(s,0,t,n,a,c,d,Xe.toWebGLConstant(g,this._context),l)):(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,A),o.texSubImage2D(s,0,t,n,d,Xe.toWebGLConstant(g,this._context),i))),o.bindTexture(r,null)};U3.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._size),r=y(r,this._size);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(this._targetFace,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};var yh=U3;var k3={DONT_CARE:ee.DONT_CARE,FASTEST:ee.FASTEST,NICEST:ee.NICEST,validate:function(e){return e===k3.DONT_CARE||e===k3.FASTEST||e===k3.NICEST}},Ah=Object.freeze(k3);var z3={NEAREST:ee.NEAREST,LINEAR:ee.LINEAR};z3.validate=function(e){return e===z3.NEAREST||e===z3.LINEAR};var yi=Object.freeze(z3);var q_={NEAREST:ee.NEAREST,LINEAR:ee.LINEAR,NEAREST_MIPMAP_NEAREST:ee.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:ee.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:ee.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:ee.LINEAR_MIPMAP_LINEAR};q_.validate=function(e){return e===q_.NEAREST||e===q_.LINEAR||e===q_.NEAREST_MIPMAP_NEAREST||e===q_.LINEAR_MIPMAP_NEAREST||e===q_.NEAREST_MIPMAP_LINEAR||e===q_.LINEAR_MIPMAP_LINEAR};var an=Object.freeze(q_);var H3={CLAMP_TO_EDGE:ee.CLAMP_TO_EDGE,REPEAT:ee.REPEAT,MIRRORED_REPEAT:ee.MIRRORED_REPEAT,validate:function(e){return e===H3.CLAMP_TO_EDGE||e===H3.REPEAT||e===H3.MIRRORED_REPEAT}},vn=Object.freeze(H3);function fD(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.wrapS,vn.CLAMP_TO_EDGE),n=y(e.wrapT,vn.CLAMP_TO_EDGE),i=y(e.minificationFilter,an.LINEAR),o=y(e.magnificationFilter,yi.LINEAR),r=u(e.maximumAnisotropy)?e.maximumAnisotropy:1;this._wrapS=t,this._wrapT=n,this._minificationFilter=i,this._magnificationFilter=o,this._maximumAnisotropy=r}Object.defineProperties(fD.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}});fD.equals=function(e,t){return e===t||u(e)&&u(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy};fD.NEAREST=Object.freeze(new fD({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:an.NEAREST,magnificationFilter:yi.NEAREST}));var ln=fD;function dD(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=e.source,i,o;if(u(n)){let T=[n.positiveX,n.negativeX,n.positiveY,n.negativeY,n.positiveZ,n.negativeZ];i=T[0].width,o=T[0].height}else i=e.width,o=e.height;let r=i,s=y(e.pixelDatatype,Xe.UNSIGNED_BYTE),a=y(e.pixelFormat,rt.RGBA),c=rt.toInternalFormat(a,s,t),l=rt.textureSizeInBytes(a,s,r,r)*6,f=e.preMultiplyAlpha||a===rt.RGB||a===rt.LUMINANCE,d=y(e.flipY,!0),p=y(e.skipColorSpaceConversion,!1),g=t._gl,m=g.TEXTURE_CUBE_MAP,A=g.createTexture();g.activeTexture(g.TEXTURE0),g.bindTexture(m,A);function x(T,E,S,D,w){let R=E.arrayBufferView;u(R)||(R=E.bufferView);let O=4;u(R)&&(O=rt.alignmentInBytes(a,s,i)),g.pixelStorei(g.UNPACK_ALIGNMENT,O),w?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),u(R)?(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1),D&&(R=rt.flipY(R,a,s,r,r)),g.texImage2D(T,0,c,r,r,0,a,Xe.toWebGLConstant(s,t),R)):(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,S),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,D),g.texImage2D(T,0,c,a,Xe.toWebGLConstant(s,t),E))}u(n)?(x(g.TEXTURE_CUBE_MAP_POSITIVE_X,n.positiveX,f,d,p),x(g.TEXTURE_CUBE_MAP_NEGATIVE_X,n.negativeX,f,d,p),x(g.TEXTURE_CUBE_MAP_POSITIVE_Y,n.positiveY,f,d,p),x(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.negativeY,f,d,p),x(g.TEXTURE_CUBE_MAP_POSITIVE_Z,n.positiveZ,f,d,p),x(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,n.negativeZ,f,d,p)):(g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X,0,c,r,r,0,a,Xe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_X,0,c,r,r,0,a,Xe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Y,0,c,r,r,0,a,Xe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,c,r,r,0,a,Xe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Z,0,c,r,r,0,a,Xe.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,c,r,r,0,a,Xe.toWebGLConstant(s,t),null)),g.bindTexture(m,null),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=m,this._texture=A,this._pixelFormat=a,this._pixelDatatype=s,this._size=r,this._hasMipmap=!1,this._sizeInBytes=l,this._preMultiplyAlpha=f,this._flipY=d,this._sampler=void 0;let C=u(n);this._positiveX=new yh(t,A,m,g.TEXTURE_CUBE_MAP_POSITIVE_X,c,a,s,r,f,d,C),this._negativeX=new yh(t,A,m,g.TEXTURE_CUBE_MAP_NEGATIVE_X,c,a,s,r,f,d,C),this._positiveY=new yh(t,A,m,g.TEXTURE_CUBE_MAP_POSITIVE_Y,c,a,s,r,f,d,C),this._negativeY=new yh(t,A,m,g.TEXTURE_CUBE_MAP_NEGATIVE_Y,c,a,s,r,f,d,C),this._positiveZ=new yh(t,A,m,g.TEXTURE_CUBE_MAP_POSITIVE_Z,c,a,s,r,f,d,C),this._negativeZ=new yh(t,A,m,g.TEXTURE_CUBE_MAP_NEGATIVE_Z,c,a,s,r,f,d,C),this.sampler=u(e.sampler)?e.sampler:new ln}Object.defineProperties(dD.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){let t=e.minificationFilter,n=e.magnificationFilter,i=t===an.NEAREST_MIPMAP_NEAREST||t===an.NEAREST_MIPMAP_LINEAR||t===an.LINEAR_MIPMAP_NEAREST||t===an.LINEAR_MIPMAP_LINEAR,o=this._context,r=this._pixelDatatype;(r===Xe.FLOAT&&!o.textureFloatLinear||r===Xe.HALF_FLOAT&&!o.textureHalfFloatLinear)&&(t=i?an.NEAREST_MIPMAP_NEAREST:an.NEAREST,n=yi.NEAREST);let s=o._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.texParameteri(a,s.TEXTURE_MIN_FILTER,t),s.texParameteri(a,s.TEXTURE_MAG_FILTER,n),s.texParameteri(a,s.TEXTURE_WRAP_S,e.wrapS),s.texParameteri(a,s.TEXTURE_WRAP_T,e.wrapT),u(this._textureFilterAnisotropic)&&s.texParameteri(a,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),s.bindTexture(a,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}});dD.prototype.generateMipmap=function(e){e=y(e,Ah.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};dD.prototype.isDestroyed=function(){return!1};dD.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=le(this._positiveX),this._negativeX=le(this._negativeX),this._positiveY=le(this._positiveY),this._negativeY=le(this._negativeY),this._positiveZ=le(this._positiveZ),this._negativeZ=le(this._negativeZ),le(this)};var Ma=dD;function wEe(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}var La=wEe;var hD=`/** + * A built-in GLSL floating-point constant for converting radians to degrees. + * + * @alias czm_degreesPerRadian + * @glslConstant + * + * @see CesiumMath.DEGREES_PER_RADIAN + * + * @example + * // GLSL declaration + * const float czm_degreesPerRadian = ...; + * + * // Example + * float deg = czm_degreesPerRadian * rad; + */ +const float czm_degreesPerRadian = 57.29577951308232; +`;var mD=`/** + * A built-in GLSL vec2 constant for defining the depth range. + * This is a workaround to a bug where IE11 does not implement gl_DepthRange. + * + * @alias czm_depthRange + * @glslConstant + * + * @example + * // GLSL declaration + * float depthRangeNear = czm_depthRange.near; + * float depthRangeFar = czm_depthRange.far; + * + */ +const czm_depthRangeStruct czm_depthRange = czm_depthRangeStruct(0.0, 1.0); +`;var pD=`/** + * 0.1 + * + * @name czm_epsilon1 + * @glslConstant + */ +const float czm_epsilon1 = 0.1; +`;var _D=`/** + * 0.01 + * + * @name czm_epsilon2 + * @glslConstant + */ +const float czm_epsilon2 = 0.01; +`;var gD=`/** + * 0.001 + * + * @name czm_epsilon3 + * @glslConstant + */ +const float czm_epsilon3 = 0.001; +`;var yD=`/** + * 0.0001 + * + * @name czm_epsilon4 + * @glslConstant + */ +const float czm_epsilon4 = 0.0001; +`;var AD=`/** + * 0.00001 + * + * @name czm_epsilon5 + * @glslConstant + */ +const float czm_epsilon5 = 0.00001; +`;var xD=`/** + * 0.000001 + * + * @name czm_epsilon6 + * @glslConstant + */ +const float czm_epsilon6 = 0.000001; +`;var CD=`/** + * 0.0000001 + * + * @name czm_epsilon7 + * @glslConstant + */ +const float czm_epsilon7 = 0.0000001; +`;var TD=`/** + * DOC_TBA + * + * @name czm_infinity + * @glslConstant + */ +const float czm_infinity = 5906376272000.0; // Distance from the Sun to Pluto in meters. TODO: What is best given lowp, mediump, and highp? +`;var ED=`/** + * A built-in GLSL floating-point constant for <code>1/pi</code>. + * + * @alias czm_oneOverPi + * @glslConstant + * + * @see CesiumMath.ONE_OVER_PI + * + * @example + * // GLSL declaration + * const float czm_oneOverPi = ...; + * + * // Example + * float pi = 1.0 / czm_oneOverPi; + */ +const float czm_oneOverPi = 0.3183098861837907; +`;var bD=`/** + * A built-in GLSL floating-point constant for <code>1/2pi</code>. + * + * @alias czm_oneOverTwoPi + * @glslConstant + * + * @see CesiumMath.ONE_OVER_TWO_PI + * + * @example + * // GLSL declaration + * const float czm_oneOverTwoPi = ...; + * + * // Example + * float pi = 2.0 * czm_oneOverTwoPi; + */ +const float czm_oneOverTwoPi = 0.15915494309189535; +`;var SD=`/** + * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE} + * + * @name czm_passCesium3DTile + * @glslConstant + * + * @see czm_pass + */ +const float czm_passCesium3DTile = 4.0; +`;var DD=`/** + * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION} + * + * @name czm_passCesium3DTileClassification + * @glslConstant + * + * @see czm_pass + */ +const float czm_passCesium3DTileClassification = 5.0; +`;var vD=`/** + * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW} + * + * @name czm_passCesium3DTileClassificationIgnoreShow + * @glslConstant + * + * @see czm_pass + */ +const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; +`;var wD=`/** + * The automatic GLSL constant for {@link Pass#CLASSIFICATION} + * + * @name czm_passClassification + * @glslConstant + * + * @see czm_pass + */ +const float czm_passClassification = 7.0; +`;var ID=`/** + * The automatic GLSL constant for {@link Pass#COMPUTE} + * + * @name czm_passCompute + * @glslConstant + * + * @see czm_pass + */ +const float czm_passCompute = 1.0; +`;var PD=`/** + * The automatic GLSL constant for {@link Pass#ENVIRONMENT} + * + * @name czm_passEnvironment + * @glslConstant + * + * @see czm_pass + */ +const float czm_passEnvironment = 0.0; +`;var OD=`/** + * The automatic GLSL constant for {@link Pass#GLOBE} + * + * @name czm_passGlobe + * @glslConstant + * + * @see czm_pass + */ +const float czm_passGlobe = 2.0; +`;var RD=`/** + * The automatic GLSL constant for {@link Pass#OPAQUE} + * + * @name czm_passOpaque + * @glslConstant + * + * @see czm_pass + */ +const float czm_passOpaque = 7.0; +`;var BD=`/** + * The automatic GLSL constant for {@link Pass#OVERLAY} + * + * @name czm_passOverlay + * @glslConstant + * + * @see czm_pass + */ +const float czm_passOverlay = 10.0; +`;var MD=`/** + * The automatic GLSL constant for {@link Pass#TERRAIN_CLASSIFICATION} + * + * @name czm_passTerrainClassification + * @glslConstant + * + * @see czm_pass + */ +const float czm_passTerrainClassification = 3.0; +`;var LD=`/** + * The automatic GLSL constant for {@link Pass#TRANSLUCENT} + * + * @name czm_passTranslucent + * @glslConstant + * + * @see czm_pass + */ +const float czm_passTranslucent = 8.0; +`;var ND=`/** + * The automatic GLSL constant for {@link Pass#VOXELS} + * + * @name czm_passVoxels + * @glslConstant + * + * @see czm_pass + */ +const float czm_passVoxels = 9.0; +`;var FD=`/** + * A built-in GLSL floating-point constant for <code>Math.PI</code>. + * + * @alias czm_pi + * @glslConstant + * + * @see CesiumMath.PI + * + * @example + * // GLSL declaration + * const float czm_pi = ...; + * + * // Example + * float twoPi = 2.0 * czm_pi; + */ +const float czm_pi = 3.141592653589793; +`;var VD=`/** + * A built-in GLSL floating-point constant for <code>pi/4</code>. + * + * @alias czm_piOverFour + * @glslConstant + * + * @see CesiumMath.PI_OVER_FOUR + * + * @example + * // GLSL declaration + * const float czm_piOverFour = ...; + * + * // Example + * float pi = 4.0 * czm_piOverFour; + */ +const float czm_piOverFour = 0.7853981633974483; +`;var UD=`/** + * A built-in GLSL floating-point constant for <code>pi/6</code>. + * + * @alias czm_piOverSix + * @glslConstant + * + * @see CesiumMath.PI_OVER_SIX + * + * @example + * // GLSL declaration + * const float czm_piOverSix = ...; + * + * // Example + * float pi = 6.0 * czm_piOverSix; + */ +const float czm_piOverSix = 0.5235987755982988; +`;var kD=`/** + * A built-in GLSL floating-point constant for <code>pi/3</code>. + * + * @alias czm_piOverThree + * @glslConstant + * + * @see CesiumMath.PI_OVER_THREE + * + * @example + * // GLSL declaration + * const float czm_piOverThree = ...; + * + * // Example + * float pi = 3.0 * czm_piOverThree; + */ +const float czm_piOverThree = 1.0471975511965976; +`;var zD=`/** + * A built-in GLSL floating-point constant for <code>pi/2</code>. + * + * @alias czm_piOverTwo + * @glslConstant + * + * @see CesiumMath.PI_OVER_TWO + * + * @example + * // GLSL declaration + * const float czm_piOverTwo = ...; + * + * // Example + * float pi = 2.0 * czm_piOverTwo; + */ +const float czm_piOverTwo = 1.5707963267948966; +`;var HD=`/** + * A built-in GLSL floating-point constant for converting degrees to radians. + * + * @alias czm_radiansPerDegree + * @glslConstant + * + * @see CesiumMath.RADIANS_PER_DEGREE + * + * @example + * // GLSL declaration + * const float czm_radiansPerDegree = ...; + * + * // Example + * float rad = czm_radiansPerDegree * deg; + */ +const float czm_radiansPerDegree = 0.017453292519943295; +`;var GD=`/** + * The constant identifier for the 2D {@link SceneMode} + * + * @name czm_sceneMode2D + * @glslConstant + * @see czm_sceneMode + * @see czm_sceneModeColumbusView + * @see czm_sceneMode3D + * @see czm_sceneModeMorphing + */ +const float czm_sceneMode2D = 2.0; +`;var WD=`/** + * The constant identifier for the 3D {@link SceneMode} + * + * @name czm_sceneMode3D + * @glslConstant + * @see czm_sceneMode + * @see czm_sceneMode2D + * @see czm_sceneModeColumbusView + * @see czm_sceneModeMorphing + */ +const float czm_sceneMode3D = 3.0; +`;var jD=`/** + * The constant identifier for the Columbus View {@link SceneMode} + * + * @name czm_sceneModeColumbusView + * @glslConstant + * @see czm_sceneMode + * @see czm_sceneMode2D + * @see czm_sceneMode3D + * @see czm_sceneModeMorphing + */ +const float czm_sceneModeColumbusView = 1.0; +`;var YD=`/** + * The constant identifier for the Morphing {@link SceneMode} + * + * @name czm_sceneModeMorphing + * @glslConstant + * @see czm_sceneMode + * @see czm_sceneMode2D + * @see czm_sceneModeColumbusView + * @see czm_sceneMode3D + */ +const float czm_sceneModeMorphing = 0.0; +`;var qD=`/** + * A built-in GLSL floating-point constant for one solar radius. + * + * @alias czm_solarRadius + * @glslConstant + * + * @see CesiumMath.SOLAR_RADIUS + * + * @example + * // GLSL declaration + * const float czm_solarRadius = ...; + */ +const float czm_solarRadius = 695500000.0; +`;var XD=`/** + * A built-in GLSL floating-point constant for <code>3pi/2</code>. + * + * @alias czm_threePiOver2 + * @glslConstant + * + * @see CesiumMath.THREE_PI_OVER_TWO + * + * @example + * // GLSL declaration + * const float czm_threePiOver2 = ...; + * + * // Example + * float pi = (2.0 / 3.0) * czm_threePiOver2; + */ +const float czm_threePiOver2 = 4.71238898038469; +`;var KD=`/** + * A built-in GLSL floating-point constant for <code>2pi</code>. + * + * @alias czm_twoPi + * @glslConstant + * + * @see CesiumMath.TWO_PI + * + * @example + * // GLSL declaration + * const float czm_twoPi = ...; + * + * // Example + * float pi = czm_twoPi / 2.0; + */ +const float czm_twoPi = 6.283185307179586; +`;var ZD=`/** + * The maximum latitude, in radians, both North and South, supported by a Web Mercator + * (EPSG:3857) projection. Technically, the Mercator projection is defined + * for any latitude up to (but not including) 90 degrees, but it makes sense + * to cut it off sooner because it grows exponentially with increasing latitude. + * The logic behind this particular cutoff value, which is the one used by + * Google Maps, Bing Maps, and Esri, is that it makes the projection + * square. That is, the rectangle is equal in the X and Y directions. + * + * The constant value is computed as follows: + * czm_pi * 0.5 - (2.0 * atan(exp(-czm_pi))) + * + * @name czm_webMercatorMaxLatitude + * @glslConstant + */ +const float czm_webMercatorMaxLatitude = 1.4844222297453324; +`;var JD=`/** + * @name czm_depthRangeStruct + * @glslStruct + */ +struct czm_depthRangeStruct +{ + float near; + float far; +}; +`;var QD=`/** + * Holds material information that can be used for lighting. Returned by all czm_getMaterial functions. + * + * @name czm_material + * @glslStruct + * + * @property {vec3} diffuse Incoming light that scatters evenly in all directions. + * @property {float} specular Intensity of incoming light reflecting in a single direction. + * @property {float} shininess The sharpness of the specular reflection. Higher values create a smaller, more focused specular highlight. + * @property {vec3} normal Surface's normal in eye coordinates. It is used for effects such as normal mapping. The default is the surface's unmodified normal. + * @property {vec3} emission Light emitted by the material equally in all directions. The default is vec3(0.0), which emits no light. + * @property {float} alpha Alpha of this material. 0.0 is completely transparent; 1.0 is completely opaque. + */ +struct czm_material +{ + vec3 diffuse; + float specular; + float shininess; + vec3 normal; + vec3 emission; + float alpha; +}; +`;var $D=`/** + * Used as input to every material's czm_getMaterial function. + * + * @name czm_materialInput + * @glslStruct + * + * @property {float} s 1D texture coordinates. + * @property {vec2} st 2D texture coordinates. + * @property {vec3} str 3D texture coordinates. + * @property {vec3} normalEC Unperturbed surface normal in eye coordinates. + * @property {mat3} tangentToEyeMatrix Matrix for converting a tangent space normal to eye space. + * @property {vec3} positionToEyeEC Vector from the fragment to the eye in eye coordinates. The magnitude is the distance in meters from the fragment to the eye. + * @property {float} height The height of the terrain in meters above or below the WGS84 ellipsoid. Only available for globe materials. + * @property {float} slope The slope of the terrain in radians. 0 is flat; pi/2 is vertical. Only available for globe materials. + * @property {float} aspect The aspect of the terrain in radians. 0 is East, pi/2 is North, pi is West, 3pi/2 is South. Only available for globe materials. + */ +struct czm_materialInput +{ + float s; + vec2 st; + vec3 str; + vec3 normalEC; + mat3 tangentToEyeMatrix; + vec3 positionToEyeEC; + float height; + float slope; + float aspect; +}; +`;var ev=`/** + * Struct for representing a material for a {@link Model}. The model + * rendering pipeline will pass this struct between material, custom shaders, + * and lighting stages. This is not to be confused with {@link czm_material} + * which is used by the older Fabric materials system, although they are similar. + * <p> + * All color values (diffuse, specular, emissive) are in linear color space. + * </p> + * + * @name czm_modelMaterial + * @glslStruct + * + * @property {vec3} diffuse Incoming light that scatters evenly in all directions. + * @property {float} alpha Alpha of this material. 0.0 is completely transparent; 1.0 is completely opaque. + * @property {vec3} specular Color of reflected light at normal incidence in PBR materials. This is sometimes referred to as f0 in the literature. + * @property {float} roughness A number from 0.0 to 1.0 representing how rough the surface is. Values near 0.0 produce glossy surfaces, while values near 1.0 produce rough surfaces. + * @property {vec3} normalEC Surface's normal in eye coordinates. It is used for effects such as normal mapping. The default is the surface's unmodified normal. + * @property {float} occlusion Ambient occlusion recieved at this point on the material. 1.0 means fully lit, 0.0 means fully occluded. + * @property {vec3} emissive Light emitted by the material equally in all directions. The default is vec3(0.0), which emits no light. + */ +struct czm_modelMaterial { + vec3 diffuse; + float alpha; + vec3 specular; + float roughness; + vec3 normalEC; + float occlusion; + vec3 emissive; +}; +`;var tv=`/** + * Struct for representing the output of a custom vertex shader. + * + * @name czm_modelVertexOutput + * @glslStruct + * + * @see {@link CustomShader} + * @see {@link Model} + * + * @property {vec3} positionMC The position of the vertex in model coordinates + * @property {float} pointSize A custom value for gl_PointSize. This is only used for point primitives. + */ +struct czm_modelVertexOutput { + vec3 positionMC; + float pointSize; +}; +`;var nv=`/** + * Parameters for {@link czm_pbrLighting} + * + * @name czm_material + * @glslStruct + * + * @property {vec3} diffuseColor the diffuse color of the material for the lambert term of the rendering equation + * @property {float} roughness a value from 0.0 to 1.0 that indicates how rough the surface of the material is. + * @property {vec3} f0 The reflectance of the material at normal incidence + */ +struct czm_pbrParameters +{ + vec3 diffuseColor; + float roughness; + vec3 f0; +}; +`;var iv=`/** + * DOC_TBA + * + * @name czm_ray + * @glslStruct + */ +struct czm_ray +{ + vec3 origin; + vec3 direction; +}; +`;var ov=`/** + * DOC_TBA + * + * @name czm_raySegment + * @glslStruct + */ +struct czm_raySegment +{ + float start; + float stop; +}; + +/** + * DOC_TBA + * + * @name czm_emptyRaySegment + * @glslConstant + */ +const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_infinity); + +/** + * DOC_TBA + * + * @name czm_fullRaySegment + * @glslConstant + */ +const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); +`;var rv=`struct czm_shadowParameters +{ +#ifdef USE_CUBE_MAP_SHADOW + vec3 texCoords; +#else + vec2 texCoords; +#endif + + float depthBias; + float depth; + float nDotL; + vec2 texelStepSize; + float normalShadingSmooth; + float darkness; +}; +`;var sv=`/** + * Converts an HSB color (hue, saturation, brightness) to RGB + * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} + * + * @name czm_HSBToRGB + * @glslFunction + * + * @param {vec3} hsb The color in HSB. + * + * @returns {vec3} The color in RGB. + * + * @example + * vec3 hsb = czm_RGBToHSB(rgb); + * hsb.z *= 0.1; + * rgb = czm_HSBToRGB(hsb); + */ + +const vec4 K_HSB2RGB = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + +vec3 czm_HSBToRGB(vec3 hsb) +{ + vec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www); + return hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y); +} +`;var av=`/** + * Converts an HSL color (hue, saturation, lightness) to RGB + * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} + * + * @name czm_HSLToRGB + * @glslFunction + * + * @param {vec3} rgb The color in HSL. + * + * @returns {vec3} The color in RGB. + * + * @example + * vec3 hsl = czm_RGBToHSL(rgb); + * hsl.z *= 0.1; + * rgb = czm_HSLToRGB(hsl); + */ + +vec3 hueToRGB(float hue) +{ + float r = abs(hue * 6.0 - 3.0) - 1.0; + float g = 2.0 - abs(hue * 6.0 - 2.0); + float b = 2.0 - abs(hue * 6.0 - 4.0); + return clamp(vec3(r, g, b), 0.0, 1.0); +} + +vec3 czm_HSLToRGB(vec3 hsl) +{ + vec3 rgb = hueToRGB(hsl.x); + float c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y; + return (rgb - 0.5) * c + hsl.z; +} +`;var cv=`/** + * Converts an RGB color to HSB (hue, saturation, brightness) + * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} + * + * @name czm_RGBToHSB + * @glslFunction + * + * @param {vec3} rgb The color in RGB. + * + * @returns {vec3} The color in HSB. + * + * @example + * vec3 hsb = czm_RGBToHSB(rgb); + * hsb.z *= 0.1; + * rgb = czm_HSBToRGB(hsb); + */ + +const vec4 K_RGB2HSB = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + +vec3 czm_RGBToHSB(vec3 rgb) +{ + vec4 p = mix(vec4(rgb.bg, K_RGB2HSB.wz), vec4(rgb.gb, K_RGB2HSB.xy), step(rgb.b, rgb.g)); + vec4 q = mix(vec4(p.xyw, rgb.r), vec4(rgb.r, p.yzx), step(p.x, rgb.r)); + + float d = q.x - min(q.w, q.y); + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x); +} +`;var lv=`/** + * Converts an RGB color to HSL (hue, saturation, lightness) + * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} + * + * @name czm_RGBToHSL + * @glslFunction + * + * @param {vec3} rgb The color in RGB. + * + * @returns {vec3} The color in HSL. + * + * @example + * vec3 hsl = czm_RGBToHSL(rgb); + * hsl.z *= 0.1; + * rgb = czm_HSLToRGB(hsl); + */ + +vec3 RGBtoHCV(vec3 rgb) +{ + // Based on work by Sam Hocevar and Emil Persson + vec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1.0, 2.0 / 3.0) : vec4(rgb.gb, 0.0, -1.0 / 3.0); + vec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx); + float c = q.x - min(q.w, q.y); + float h = abs((q.w - q.y) / (6.0 * c + czm_epsilon7) + q.z); + return vec3(h, c, q.x); +} + +vec3 czm_RGBToHSL(vec3 rgb) +{ + vec3 hcv = RGBtoHCV(rgb); + float l = hcv.z - hcv.y * 0.5; + float s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7); + return vec3(hcv.x, s, l); +} +`;var uv=`/** + * Converts an RGB color to CIE Yxy. + * <p>The conversion is described in + * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} + * </p> + * + * @name czm_RGBToXYZ + * @glslFunction + * + * @param {vec3} rgb The color in RGB. + * + * @returns {vec3} The color in CIE Yxy. + * + * @example + * vec3 xyz = czm_RGBToXYZ(rgb); + * xyz.x = max(xyz.x - luminanceThreshold, 0.0); + * rgb = czm_XYZToRGB(xyz); + */ +vec3 czm_RGBToXYZ(vec3 rgb) +{ + const mat3 RGB2XYZ = mat3(0.4124, 0.2126, 0.0193, + 0.3576, 0.7152, 0.1192, + 0.1805, 0.0722, 0.9505); + vec3 xyz = RGB2XYZ * rgb; + vec3 Yxy; + Yxy.r = xyz.g; + float temp = dot(vec3(1.0), xyz); + Yxy.gb = xyz.rg / temp; + return Yxy; +} +`;var fv=`/** + * Converts a CIE Yxy color to RGB. + * <p>The conversion is described in + * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} + * </p> + * + * @name czm_XYZToRGB + * @glslFunction + * + * @param {vec3} Yxy The color in CIE Yxy. + * + * @returns {vec3} The color in RGB. + * + * @example + * vec3 xyz = czm_RGBToXYZ(rgb); + * xyz.x = max(xyz.x - luminanceThreshold, 0.0); + * rgb = czm_XYZToRGB(xyz); + */ +vec3 czm_XYZToRGB(vec3 Yxy) +{ + const mat3 XYZ2RGB = mat3( 3.2405, -0.9693, 0.0556, + -1.5371, 1.8760, -0.2040, + -0.4985, 0.0416, 1.0572); + vec3 xyz; + xyz.r = Yxy.r * Yxy.g / Yxy.b; + xyz.g = Yxy.r; + xyz.b = Yxy.r * (1.0 - Yxy.g - Yxy.b) / Yxy.b; + + return XYZ2RGB * xyz; +} +`;var dv=`// See: +// https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ + +vec3 czm_acesTonemapping(vec3 color) { + float g = 0.985; + float a = 0.065; + float b = 0.0001; + float c = 0.433; + float d = 0.238; + + color = (color * (color + a) - b) / (color * (g * color + c) + d); + + color = clamp(color, 0.0, 1.0); + + return color; +} +`;var hv=`/** + * @private + */ +float czm_alphaWeight(float a) +{ + float z = (gl_FragCoord.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2]; + + // See Weighted Blended Order-Independent Transparency for examples of different weighting functions: + // http://jcgt.org/published/0002/02/09/ + return pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0)))); +} +`;var mv=`/** + * Procedural anti-aliasing by blurring two colors that meet at a sharp edge. + * + * @name czm_antialias + * @glslFunction + * + * @param {vec4} color1 The color on one side of the edge. + * @param {vec4} color2 The color on the other side of the edge. + * @param {vec4} currentcolor The current color, either <code>color1</code> or <code>color2</code>. + * @param {float} dist The distance to the edge in texture coordinates. + * @param {float} [fuzzFactor=0.1] Controls the blurriness between the two colors. + * @returns {vec4} The anti-aliased color. + * + * @example + * // GLSL declarations + * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor); + * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist); + * + * // get the color for a material that has a sharp edge at the line y = 0.5 in texture space + * float dist = abs(textureCoordinates.t - 0.5); + * vec4 currentColor = mix(bottomColor, topColor, step(0.5, textureCoordinates.t)); + * vec4 color = czm_antialias(bottomColor, topColor, currentColor, dist, 0.1); + */ +vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor) +{ + float val1 = clamp(dist / fuzzFactor, 0.0, 1.0); + float val2 = clamp((dist - 0.5) / fuzzFactor, 0.0, 1.0); + val1 = val1 * (1.0 - val2); + val1 = val1 * val1 * (3.0 - (2.0 * val1)); + val1 = pow(val1, 0.5); //makes the transition nicer + + vec4 midColor = (color1 + color2) * 0.5; + return mix(midColor, currentColor, val1); +} + +vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist) +{ + return czm_antialias(color1, color2, currentColor, dist, 0.1); +} +`;var pv=`/** + * Approximately computes spherical coordinates given a normal. + * Uses approximate inverse trigonometry for speed and consistency, + * since inverse trigonometry can differ from vendor-to-vendor and when compared with the CPU. + * + * @name czm_approximateSphericalCoordinates + * @glslFunction + * + * @param {vec3} normal arbitrary-length normal. + * + * @returns {vec2} Approximate latitude and longitude spherical coordinates. + */ +vec2 czm_approximateSphericalCoordinates(vec3 normal) { + // Project into plane with vertical for latitude + float latitudeApproximation = czm_fastApproximateAtan(sqrt(normal.x * normal.x + normal.y * normal.y), normal.z); + float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y); + return vec2(latitudeApproximation, longitudeApproximation); +} +`;var _v=`/** + * Determines if the fragment is back facing + * + * @name czm_backFacing + * @glslFunction + * + * @returns {bool} <code>true</code> if the fragment is back facing; otherwise, <code>false</code>. + */ +bool czm_backFacing() +{ + // !gl_FrontFacing doesn't work as expected on Mac/Intel so use the more verbose form instead. See https://github.com/CesiumGS/cesium/pull/8494. + return gl_FrontFacing == false; +} +`;var gv=`/** + * Branchless ternary operator to be used when it's inexpensive to explicitly + * evaluate both possibilities for a float expression. + * + * @name czm_branchFreeTernary + * @glslFunction + * + * @param {bool} comparison A comparison statement + * @param {float} a Value to return if the comparison is true. + * @param {float} b Value to return if the comparison is false. + * + * @returns {float} equivalent of comparison ? a : b + */ +float czm_branchFreeTernary(bool comparison, float a, float b) { + float useA = float(comparison); + return a * useA + b * (1.0 - useA); +} + +/** + * Branchless ternary operator to be used when it's inexpensive to explicitly + * evaluate both possibilities for a vec2 expression. + * + * @name czm_branchFreeTernary + * @glslFunction + * + * @param {bool} comparison A comparison statement + * @param {vec2} a Value to return if the comparison is true. + * @param {vec2} b Value to return if the comparison is false. + * + * @returns {vec2} equivalent of comparison ? a : b + */ +vec2 czm_branchFreeTernary(bool comparison, vec2 a, vec2 b) { + float useA = float(comparison); + return a * useA + b * (1.0 - useA); +} + +/** + * Branchless ternary operator to be used when it's inexpensive to explicitly + * evaluate both possibilities for a vec3 expression. + * + * @name czm_branchFreeTernary + * @glslFunction + * + * @param {bool} comparison A comparison statement + * @param {vec3} a Value to return if the comparison is true. + * @param {vec3} b Value to return if the comparison is false. + * + * @returns {vec3} equivalent of comparison ? a : b + */ +vec3 czm_branchFreeTernary(bool comparison, vec3 a, vec3 b) { + float useA = float(comparison); + return a * useA + b * (1.0 - useA); +} + +/** + * Branchless ternary operator to be used when it's inexpensive to explicitly + * evaluate both possibilities for a vec4 expression. + * + * @name czm_branchFreeTernary + * @glslFunction + * + * @param {bool} comparison A comparison statement + * @param {vec3} a Value to return if the comparison is true. + * @param {vec3} b Value to return if the comparison is false. + * + * @returns {vec3} equivalent of comparison ? a : b + */ +vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) { + float useA = float(comparison); + return a * useA + b * (1.0 - useA); +} +`;var yv=` +vec4 czm_cascadeColor(vec4 weights) +{ + return vec4(1.0, 0.0, 0.0, 1.0) * weights.x + + vec4(0.0, 1.0, 0.0, 1.0) * weights.y + + vec4(0.0, 0.0, 1.0, 1.0) * weights.z + + vec4(1.0, 0.0, 1.0, 1.0) * weights.w; +} +`;var Av=` +uniform vec4 shadowMap_cascadeDistances; + +float czm_cascadeDistance(vec4 weights) +{ + return dot(shadowMap_cascadeDistances, weights); +} +`;var xv=` +uniform mat4 shadowMap_cascadeMatrices[4]; + +mat4 czm_cascadeMatrix(vec4 weights) +{ + return shadowMap_cascadeMatrices[0] * weights.x + + shadowMap_cascadeMatrices[1] * weights.y + + shadowMap_cascadeMatrices[2] * weights.z + + shadowMap_cascadeMatrices[3] * weights.w; +} +`;var Cv=` +uniform vec4 shadowMap_cascadeSplits[2]; + +vec4 czm_cascadeWeights(float depthEye) +{ + // One component is set to 1.0 and all others set to 0.0. + vec4 near = step(shadowMap_cascadeSplits[0], vec4(depthEye)); + vec4 far = step(depthEye, shadowMap_cascadeSplits[1]); + return near * far; +} +`;var Tv=`/** + * DOC_TBA + * + * @name czm_columbusViewMorph + * @glslFunction + */ +vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) +{ + // Just linear for now. + vec3 p = mix(position2D.xyz, position3D.xyz, time); + return vec4(p, 1.0); +} +`;var Ev=`/** + * Returns a position in model coordinates relative to eye taking into + * account the current scene mode: 3D, 2D, or Columbus view. + * <p> + * This uses standard position attributes, <code>position3DHigh</code>, + * <code>position3DLow</code>, <code>position2DHigh</code>, and <code>position2DLow</code>, + * and should be used when writing a vertex shader for an {@link Appearance}. + * </p> + * + * @name czm_computePosition + * @glslFunction + * + * @returns {vec4} The position relative to eye. + * + * @example + * vec4 p = czm_computePosition(); + * v_positionEC = (czm_modelViewRelativeToEye * p).xyz; + * gl_Position = czm_modelViewProjectionRelativeToEye * p; + * + * @see czm_translateRelativeToEye + */ +vec4 czm_computePosition(); +`;var bv=`/** + * @private + */ +vec2 cordic(float angle) +{ +// Scale the vector by the appropriate factor for the 24 iterations to follow. + vec2 vector = vec2(6.0725293500888267e-1, 0.0); +// Iteration 1 + float sense = (angle < 0.0) ? -1.0 : 1.0; + // float factor = sense * 1.0; // 2^-0 + mat2 rotation = mat2(1.0, sense, -sense, 1.0); + vector = rotation * vector; + angle -= sense * 7.8539816339744828e-1; // atan(2^-0) +// Iteration 2 + sense = (angle < 0.0) ? -1.0 : 1.0; + float factor = sense * 5.0e-1; // 2^-1 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 4.6364760900080609e-1; // atan(2^-1) +// Iteration 3 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 2.5e-1; // 2^-2 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 2.4497866312686414e-1; // atan(2^-2) +// Iteration 4 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 1.25e-1; // 2^-3 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 1.2435499454676144e-1; // atan(2^-3) +// Iteration 5 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 6.25e-2; // 2^-4 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 6.2418809995957350e-2; // atan(2^-4) +// Iteration 6 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 3.125e-2; // 2^-5 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 3.1239833430268277e-2; // atan(2^-5) +// Iteration 7 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 1.5625e-2; // 2^-6 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 1.5623728620476831e-2; // atan(2^-6) +// Iteration 8 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 7.8125e-3; // 2^-7 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 7.8123410601011111e-3; // atan(2^-7) +// Iteration 9 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 3.90625e-3; // 2^-8 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 3.9062301319669718e-3; // atan(2^-8) +// Iteration 10 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 1.953125e-3; // 2^-9 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 1.9531225164788188e-3; // atan(2^-9) +// Iteration 11 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 9.765625e-4; // 2^-10 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 9.7656218955931946e-4; // atan(2^-10) +// Iteration 12 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 4.8828125e-4; // 2^-11 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 4.8828121119489829e-4; // atan(2^-11) +// Iteration 13 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 2.44140625e-4; // 2^-12 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 2.4414062014936177e-4; // atan(2^-12) +// Iteration 14 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 1.220703125e-4; // 2^-13 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 1.2207031189367021e-4; // atan(2^-13) +// Iteration 15 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 6.103515625e-5; // 2^-14 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 6.1035156174208773e-5; // atan(2^-14) +// Iteration 16 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 3.0517578125e-5; // 2^-15 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 3.0517578115526096e-5; // atan(2^-15) +// Iteration 17 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 1.52587890625e-5; // 2^-16 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 1.5258789061315762e-5; // atan(2^-16) +// Iteration 18 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 7.62939453125e-6; // 2^-17 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 7.6293945311019700e-6; // atan(2^-17) +// Iteration 19 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 3.814697265625e-6; // 2^-18 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 3.8146972656064961e-6; // atan(2^-18) +// Iteration 20 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 1.9073486328125e-6; // 2^-19 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 1.9073486328101870e-6; // atan(2^-19) +// Iteration 21 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 9.5367431640625e-7; // 2^-20 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 9.5367431640596084e-7; // atan(2^-20) +// Iteration 22 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 4.76837158203125e-7; // 2^-21 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 4.7683715820308884e-7; // atan(2^-21) +// Iteration 23 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 2.384185791015625e-7; // 2^-22 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; + angle -= sense * 2.3841857910155797e-7; // atan(2^-22) +// Iteration 24 + sense = (angle < 0.0) ? -1.0 : 1.0; + factor = sense * 1.1920928955078125e-7; // 2^-23 + rotation[0][1] = factor; + rotation[1][0] = -factor; + vector = rotation * vector; +// angle -= sense * 1.1920928955078068e-7; // atan(2^-23) + + return vector; +} + +/** + * Computes the cosine and sine of the provided angle using the CORDIC algorithm. + * + * @name czm_cosineAndSine + * @glslFunction + * + * @param {float} angle The angle in radians. + * + * @returns {vec2} The resulting cosine of the angle (as the x coordinate) and sine of the angle (as the y coordinate). + * + * @example + * vec2 v = czm_cosineAndSine(czm_piOverSix); + * float cosine = v.x; + * float sine = v.y; + */ +vec2 czm_cosineAndSine(float angle) +{ + if (angle < -czm_piOverTwo || angle > czm_piOverTwo) + { + if (angle < 0.0) + { + return -cordic(angle + czm_pi); + } + else + { + return -cordic(angle - czm_pi); + } + } + else + { + return cordic(angle); + } +} +`;var Sv=`/** + * Decompresses texture coordinates that were packed into a single float. + * + * @name czm_decompressTextureCoordinates + * @glslFunction + * + * @param {float} encoded The compressed texture coordinates. + * @returns {vec2} The decompressed texture coordinates. + */ + vec2 czm_decompressTextureCoordinates(float encoded) + { + float temp = encoded / 4096.0; + float xZeroTo4095 = floor(temp); + float stx = xZeroTo4095 / 4095.0; + float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0; + return vec2(stx, sty); + } +`;var Dv=`/** + * Get default parameters for physically based rendering. These defaults + * describe a rough dielectric (non-metal) surface (e.g. rough plastic). + * + * @return {czm_pbrParameters} Default parameters for {@link czm_pbrLighting} + */ +czm_pbrParameters czm_defaultPbrMaterial() +{ + czm_pbrParameters results; + results.diffuseColor = vec3(1.0); + results.roughness = 1.0; + + const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); + results.f0 = REFLECTANCE_DIELECTRIC; + return results; +} +`;var vv=`// emulated noperspective +#if (__VERSION__ == 300 || defined(GL_EXT_frag_depth)) && !defined(LOG_DEPTH) +out float v_WindowZ; +#endif + +/** + * Emulates GL_DEPTH_CLAMP, which is not available in WebGL 1 or 2. + * GL_DEPTH_CLAMP clamps geometry that is outside the near and far planes, + * capping the shadow volume. More information here: + * https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_depth_clamp.txt. + * + * When GL_EXT_frag_depth is available we emulate GL_DEPTH_CLAMP by ensuring + * no geometry gets clipped by setting the clip space z value to 0.0 and then + * sending the unaltered screen space z value (using emulated noperspective + * interpolation) to the frag shader where it is clamped to [0,1] and then + * written with gl_FragDepth (see czm_writeDepthClamp). This technique is based on: + * https://stackoverflow.com/questions/5960757/how-to-emulate-gl-depth-clamp-nv. + * + * When GL_EXT_frag_depth is not available, which is the case on some mobile + * devices, we must attempt to fix this only in the vertex shader. + * The approach is to clamp the z value to the far plane, which closes the + * shadow volume but also distorts the geometry, so there can still be artifacts + * on frustum seams. + * + * @name czm_depthClamp + * @glslFunction + * + * @param {vec4} coords The vertex in clip coordinates. + * @returns {vec4} The modified vertex. + * + * @example + * gl_Position = czm_depthClamp(czm_modelViewProjection * vec4(position, 1.0)); + * + * @see czm_writeDepthClamp + */ +vec4 czm_depthClamp(vec4 coords) +{ +#ifndef LOG_DEPTH +#if __VERSION__ == 300 || defined(GL_EXT_frag_depth) + v_WindowZ = (0.5 * (coords.z / coords.w) + 0.5) * coords.w; + coords.z = 0.0; +#else + coords.z = min(coords.z, coords.w); +#endif +#endif + return coords; +} +`;var wv=`/** + * Computes a 3x3 rotation matrix that transforms vectors from an ellipsoid's east-north-up coordinate system + * to eye coordinates. In east-north-up coordinates, x points east, y points north, and z points along the + * surface normal. East-north-up can be used as an ellipsoid's tangent space for operations such as bump mapping. + * <br /><br /> + * The ellipsoid is assumed to be centered at the model coordinate's origin. + * + * @name czm_eastNorthUpToEyeCoordinates + * @glslFunction + * + * @param {vec3} positionMC The position on the ellipsoid in model coordinates. + * @param {vec3} normalEC The normalized ellipsoid surface normal, at <code>positionMC</code>, in eye coordinates. + * + * @returns {mat3} A 3x3 rotation matrix that transforms vectors from the east-north-up coordinate system to eye coordinates. + * + * @example + * // Transform a vector defined in the east-north-up coordinate + * // system, (0, 0, 1) which is the surface normal, to eye + * // coordinates. + * mat3 m = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); + * vec3 normalEC = m * vec3(0.0, 0.0, 1.0); + */ +mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC) +{ + vec3 tangentMC = normalize(vec3(-positionMC.y, positionMC.x, 0.0)); // normalized surface tangent in model coordinates + vec3 tangentEC = normalize(czm_normal3D * tangentMC); // normalized surface tangent in eye coordiantes + vec3 bitangentEC = normalize(cross(normalEC, tangentEC)); // normalized surface bitangent in eye coordinates + + return mat3( + tangentEC.x, tangentEC.y, tangentEC.z, + bitangentEC.x, bitangentEC.y, bitangentEC.z, + normalEC.x, normalEC.y, normalEC.z); +} +`;var Iv=`/** + * DOC_TBA + * + * @name czm_ellipsoidContainsPoint + * @glslFunction + * + */ +bool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point) +{ + vec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz; + return (dot(scaled, scaled) <= 1.0); +} +`;var Pv=`/** + * DOC_TBA + * + * @name czm_ellipsoidWgs84TextureCoordinates + * @glslFunction + */ +vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal) +{ + return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5); +} +`;var Ov=`/** + * Compares <code>left</code> and <code>right</code> componentwise. Returns <code>true</code> + * if they are within <code>epsilon</code> and <code>false</code> otherwise. The inputs + * <code>left</code> and <code>right</code> can be <code>float</code>s, <code>vec2</code>s, + * <code>vec3</code>s, or <code>vec4</code>s. + * + * @name czm_equalsEpsilon + * @glslFunction + * + * @param {} left The first vector. + * @param {} right The second vector. + * @param {float} epsilon The epsilon to use for equality testing. + * @returns {bool} <code>true</code> if the components are within <code>epsilon</code> and <code>false</code> otherwise. + * + * @example + * // GLSL declarations + * bool czm_equalsEpsilon(float left, float right, float epsilon); + * bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon); + * bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon); + * bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon); + */ +bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) { + return all(lessThanEqual(abs(left - right), vec4(epsilon))); +} + +bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) { + return all(lessThanEqual(abs(left - right), vec3(epsilon))); +} + +bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) { + return all(lessThanEqual(abs(left - right), vec2(epsilon))); +} + +bool czm_equalsEpsilon(float left, float right, float epsilon) { + return (abs(left - right) <= epsilon); +} +`;var Rv=`/** + * DOC_TBA + * + * @name czm_eyeOffset + * @glslFunction + * + * @param {vec4} positionEC DOC_TBA. + * @param {vec3} eyeOffset DOC_TBA. + * + * @returns {vec4} DOC_TBA. + */ +vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset) +{ + // This equation is approximate in x and y. + vec4 p = positionEC; + vec4 zEyeOffset = normalize(p) * eyeOffset.z; + p.xy += eyeOffset.xy + zEyeOffset.xy; + p.z += zEyeOffset.z; + return p; +} +`;var Bv=`/** + * Transforms a position from eye to window coordinates. The transformation + * from eye to clip coordinates is done using {@link czm_projection}. + * The transform from normalized device coordinates to window coordinates is + * done using {@link czm_viewportTransformation}, which assumes a depth range + * of <code>near = 0</code> and <code>far = 1</code>. + * <br /><br /> + * This transform is useful when there is a need to manipulate window coordinates + * in a vertex shader as done by {@link BillboardCollection}. + * + * @name czm_eyeToWindowCoordinates + * @glslFunction + * + * @param {vec4} position The position in eye coordinates to transform. + * + * @returns {vec4} The transformed position in window coordinates. + * + * @see czm_modelToWindowCoordinates + * @see czm_projection + * @see czm_viewportTransformation + * @see BillboardCollection + * + * @example + * vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); + */ +vec4 czm_eyeToWindowCoordinates(vec4 positionEC) +{ + vec4 q = czm_projection * positionEC; // clip coordinates + q.xyz /= q.w; // normalized device coordinates + q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates + return q; +} +`;var Mv=`/** + * Approxiamtes atan over the range [0, 1]. Safe to flip output for negative input. + * + * Based on Michal Drobot's approximation from ShaderFastLibs, which in turn is based on + * "Efficient approximations for the arctangent function," Rajan, S. Sichun Wang Inkol, R. Joyal, A., May 2006. + * Adapted from ShaderFastLibs under MIT License. + * + * Chosen for the following characteristics over range [0, 1]: + * - basically no error at 0 and 1, important for getting around range limit (naive atan2 via atan requires infinite range atan) + * - no visible artifacts from first-derivative discontinuities, unlike latitude via range-reduced sqrt asin approximations (at equator) + * + * The original code is x * (-0.1784 * abs(x) - 0.0663 * x * x + 1.0301); + * Removed the abs() in here because it isn't needed, the input range is guaranteed as [0, 1] by how we're approximating atan2. + * + * @name czm_fastApproximateAtan + * @glslFunction + * + * @param {float} x Value between 0 and 1 inclusive. + * + * @returns {float} Approximation of atan(x) + */ +float czm_fastApproximateAtan(float x) { + return x * (-0.1784 * x - 0.0663 * x * x + 1.0301); +} + +/** + * Approximation of atan2. + * + * Range reduction math based on nvidia's cg reference implementation for atan2: http://developer.download.nvidia.com/cg/atan2.html + * However, we replaced their atan curve with Michael Drobot's (see above). + * + * @name czm_fastApproximateAtan + * @glslFunction + * + * @param {float} x Value between -1 and 1 inclusive. + * @param {float} y Value between -1 and 1 inclusive. + * + * @returns {float} Approximation of atan2(x, y) + */ +float czm_fastApproximateAtan(float x, float y) { + // atan approximations are usually only reliable over [-1, 1], or, in our case, [0, 1] due to modifications. + // So range-reduce using abs and by flipping whether x or y is on top. + float t = abs(x); // t used as swap and atan result. + float opposite = abs(y); + float adjacent = max(t, opposite); + opposite = min(t, opposite); + + t = czm_fastApproximateAtan(opposite / adjacent); + + // Undo range reduction + t = czm_branchFreeTernary(abs(y) > abs(x), czm_piOverTwo - t, t); + t = czm_branchFreeTernary(x < 0.0, czm_pi - t, t); + t = czm_branchFreeTernary(y < 0.0, -t, t); + return t; +} +`;var Lv=`/** + * Gets the color with fog at a distance from the camera. + * + * @name czm_fog + * @glslFunction + * + * @param {float} distanceToCamera The distance to the camera in meters. + * @param {vec3} color The original color. + * @param {vec3} fogColor The color of the fog. + * + * @returns {vec3} The color adjusted for fog at the distance from the camera. + */ +vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor) +{ + float scalar = distanceToCamera * czm_fogDensity; + float fog = 1.0 - exp(-(scalar * scalar)); + return mix(color, fogColor, fog); +} + +/** + * Gets the color with fog at a distance from the camera. + * + * @name czm_fog + * @glslFunction + * + * @param {float} distanceToCamera The distance to the camera in meters. + * @param {vec3} color The original color. + * @param {vec3} fogColor The color of the fog. + * @param {float} fogModifierConstant A constant to modify the appearance of fog. + * + * @returns {vec3} The color adjusted for fog at the distance from the camera. + */ +vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifierConstant) +{ + float scalar = distanceToCamera * czm_fogDensity; + float fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant)))); + return mix(color, fogColor, fog); +} +`;var Nv=`/** + * Converts a color from RGB space to linear space. + * + * @name czm_gammaCorrect + * @glslFunction + * + * @param {vec3} color The color in RGB space. + * @returns {vec3} The color in linear space. + */ +vec3 czm_gammaCorrect(vec3 color) { +#ifdef HDR + color = pow(color, vec3(czm_gamma)); +#endif + return color; +} + +vec4 czm_gammaCorrect(vec4 color) { +#ifdef HDR + color.rgb = pow(color.rgb, vec3(czm_gamma)); +#endif + return color; +} +`;var Fv=`/** + * DOC_TBA + * + * @name czm_geodeticSurfaceNormal + * @glslFunction + * + * @param {vec3} positionOnEllipsoid DOC_TBA + * @param {vec3} ellipsoidCenter DOC_TBA + * @param {vec3} oneOverEllipsoidRadiiSquared DOC_TBA + * + * @returns {vec3} DOC_TBA. + */ +vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, vec3 oneOverEllipsoidRadiiSquared) +{ + return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared); +} +`;var Vv=`/** + * An czm_material with default values. Every material's czm_getMaterial + * should use this default material as a base for the material it returns. + * The default normal value is given by materialInput.normalEC. + * + * @name czm_getDefaultMaterial + * @glslFunction + * + * @param {czm_materialInput} input The input used to construct the default material. + * + * @returns {czm_material} The default material. + * + * @see czm_materialInput + * @see czm_material + * @see czm_getMaterial + */ +czm_material czm_getDefaultMaterial(czm_materialInput materialInput) +{ + czm_material material; + material.diffuse = vec3(0.0); + material.specular = 0.0; + material.shininess = 1.0; + material.normal = materialInput.normalEC; + material.emission = vec3(0.0); + material.alpha = 1.0; + return material; +} +`;var Uv=`/** + * Calculates the intensity of diffusely reflected light. + * + * @name czm_getLambertDiffuse + * @glslFunction + * + * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. + * @param {vec3} normalEC The surface normal in eye coordinates. + * + * @returns {float} The intensity of the diffuse reflection. + * + * @see czm_phong + * + * @example + * float diffuseIntensity = czm_getLambertDiffuse(lightDirectionEC, normalEC); + * float specularIntensity = czm_getSpecular(lightDirectionEC, toEyeEC, normalEC, 200); + * vec3 color = (diffuseColor * diffuseIntensity) + (specularColor * specularIntensity); + */ +float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC) +{ + return max(dot(lightDirectionEC, normalEC), 0.0); +} +`;var kv=`/** + * Calculates the specular intensity of reflected light. + * + * @name czm_getSpecular + * @glslFunction + * + * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. + * @param {vec3} toEyeEC Unit vector pointing to the eye position in eye coordinates. + * @param {vec3} normalEC The surface normal in eye coordinates. + * @param {float} shininess The sharpness of the specular reflection. Higher values create a smaller, more focused specular highlight. + * + * @returns {float} The intensity of the specular highlight. + * + * @see czm_phong + * + * @example + * float diffuseIntensity = czm_getLambertDiffuse(lightDirectionEC, normalEC); + * float specularIntensity = czm_getSpecular(lightDirectionEC, toEyeEC, normalEC, 200); + * vec3 color = (diffuseColor * diffuseIntensity) + (specularColor * specularIntensity); + */ +float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float shininess) +{ + vec3 toReflectedLight = reflect(-lightDirectionEC, normalEC); + float specular = max(dot(toReflectedLight, toEyeEC), 0.0); + + // pow has undefined behavior if both parameters <= 0. + // Prevent this by making sure shininess is at least czm_epsilon2. + return pow(specular, max(shininess, czm_epsilon2)); +} +`;var zv=`/** + * @private + */ +vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians) +{ + float cosAngle = cos(angleInRadians); + float sinAngle = sin(angleInRadians); + + // time dependent sampling directions + vec2 s0 = vec2(1.0/17.0, 0.0); + vec2 s1 = vec2(-1.0/29.0, 0.0); + vec2 s2 = vec2(1.0/101.0, 1.0/59.0); + vec2 s3 = vec2(-1.0/109.0, -1.0/57.0); + + // rotate sampling direction by specified angle + s0 = vec2((cosAngle * s0.x) - (sinAngle * s0.y), (sinAngle * s0.x) + (cosAngle * s0.y)); + s1 = vec2((cosAngle * s1.x) - (sinAngle * s1.y), (sinAngle * s1.x) + (cosAngle * s1.y)); + s2 = vec2((cosAngle * s2.x) - (sinAngle * s2.y), (sinAngle * s2.x) + (cosAngle * s2.y)); + s3 = vec2((cosAngle * s3.x) - (sinAngle * s3.y), (sinAngle * s3.x) + (cosAngle * s3.y)); + + vec2 uv0 = (uv/103.0) + (time * s0); + vec2 uv1 = uv/107.0 + (time * s1) + vec2(0.23); + vec2 uv2 = uv/vec2(897.0, 983.0) + (time * s2) + vec2(0.51); + vec2 uv3 = uv/vec2(991.0, 877.0) + (time * s3) + vec2(0.71); + + uv0 = fract(uv0); + uv1 = fract(uv1); + uv2 = fract(uv2); + uv3 = fract(uv3); + vec4 noise = (texture(normalMap, uv0)) + + (texture(normalMap, uv1)) + + (texture(normalMap, uv2)) + + (texture(normalMap, uv3)); + + // average and scale to between -1 and 1 + return ((noise / 4.0) - 0.5) * 2.0; +} +`;var Hv=`/** + * Adjusts the hue of a color. + * + * @name czm_hue + * @glslFunction + * + * @param {vec3} rgb The color. + * @param {float} adjustment The amount to adjust the hue of the color in radians. + * + * @returns {float} The color with the hue adjusted. + * + * @example + * vec3 adjustHue = czm_hue(color, czm_pi); // The same as czm_hue(color, -czm_pi) + */ +vec3 czm_hue(vec3 rgb, float adjustment) +{ + const mat3 toYIQ = mat3(0.299, 0.587, 0.114, + 0.595716, -0.274453, -0.321263, + 0.211456, -0.522591, 0.311135); + const mat3 toRGB = mat3(1.0, 0.9563, 0.6210, + 1.0, -0.2721, -0.6474, + 1.0, -1.107, 1.7046); + + vec3 yiq = toYIQ * rgb; + float hue = atan(yiq.z, yiq.y) + adjustment; + float chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y); + + vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue)); + return toRGB * color; +} +`;var Gv=`/** + * Converts a color in linear space to RGB space. + * + * @name czm_inverseGamma + * @glslFunction + * + * @param {vec3} color The color in linear space. + * @returns {vec3} The color in RGB space. + */ +vec3 czm_inverseGamma(vec3 color) { + return pow(color, vec3(1.0 / czm_gamma)); +} +`;var Wv=`/** + * Determines if a time interval is empty. + * + * @name czm_isEmpty + * @glslFunction + * + * @param {czm_raySegment} interval The interval to test. + * + * @returns {bool} <code>true</code> if the time interval is empty; otherwise, <code>false</code>. + * + * @example + * bool b0 = czm_isEmpty(czm_emptyRaySegment); // true + * bool b1 = czm_isEmpty(czm_raySegment(0.0, 1.0)); // false + * bool b2 = czm_isEmpty(czm_raySegment(1.0, 1.0)); // false, contains 1.0. + */ +bool czm_isEmpty(czm_raySegment interval) +{ + return (interval.stop < 0.0); +} +`;var jv=`/** + * Determines if a time interval is empty. + * + * @name czm_isFull + * @glslFunction + * + * @param {czm_raySegment} interval The interval to test. + * + * @returns {bool} <code>true</code> if the time interval is empty; otherwise, <code>false</code>. + * + * @example + * bool b0 = czm_isEmpty(czm_emptyRaySegment); // true + * bool b1 = czm_isEmpty(czm_raySegment(0.0, 1.0)); // false + * bool b2 = czm_isEmpty(czm_raySegment(1.0, 1.0)); // false, contains 1.0. + */ +bool czm_isFull(czm_raySegment interval) +{ + return (interval.start == 0.0 && interval.stop == czm_infinity); +} +`;var Yv=`/** + * Computes the fraction of a Web Wercator rectangle at which a given geodetic latitude is located. + * + * @name czm_latitudeToWebMercatorFraction + * @glslFunction + * + * @param {float} latitude The geodetic latitude, in radians. + * @param {float} southMercatorY The Web Mercator coordinate of the southern boundary of the rectangle. + * @param {float} oneOverMercatorHeight The total height of the rectangle in Web Mercator coordinates. + * + * @returns {float} The fraction of the rectangle at which the latitude occurs. If the latitude is the southern + * boundary of the rectangle, the return value will be zero. If it is the northern boundary, the return + * value will be 1.0. Latitudes in between are mapped according to the Web Mercator projection. + */ +float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, float oneOverMercatorHeight) +{ + float sinLatitude = sin(latitude); + float mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude)); + + return (mercatorY - southMercatorY) * oneOverMercatorHeight; +} +`;var qv=`/** + * Computes distance from an point in 2D to a line in 2D. + * + * @name czm_lineDistance + * @glslFunction + * + * param {vec2} point1 A point along the line. + * param {vec2} point2 A point along the line. + * param {vec2} point A point that may or may not be on the line. + * returns {float} The distance from the point to the line. + */ +float czm_lineDistance(vec2 point1, vec2 point2, vec2 point) { + return abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1); +} +`;var Xv=`/** + * Converts a linear RGB color to an sRGB color. + * + * @param {vec3|vec4} linearIn The color in linear color space. + * @returns {vec3|vec4} The color in sRGB color space. The vector type matches the input. + */ +vec3 czm_linearToSrgb(vec3 linearIn) +{ + return pow(linearIn, vec3(1.0/2.2)); +} + +vec4 czm_linearToSrgb(vec4 linearIn) +{ + vec3 srgbOut = pow(linearIn.rgb, vec3(1.0/2.2)); + return vec4(srgbOut, linearIn.a); +} +`;var Kv=`/** + * Computes the luminance of a color. + * + * @name czm_luminance + * @glslFunction + * + * @param {vec3} rgb The color. + * + * @returns {float} The luminance. + * + * @example + * float light = czm_luminance(vec3(0.0)); // 0.0 + * float dark = czm_luminance(vec3(1.0)); // ~1.0 + */ +float czm_luminance(vec3 rgb) +{ + // Algorithm from Chapter 10 of Graphics Shaders. + const vec3 W = vec3(0.2125, 0.7154, 0.0721); + return dot(rgb, W); +} +`;var Zv=`/** + * Computes the size of a pixel in meters at a distance from the eye. + * <p> + * Use this version when passing in a custom pixel ratio. For example, passing in 1.0 will return meters per native device pixel. + * </p> + * @name czm_metersPerPixel + * @glslFunction + * + * @param {vec3} positionEC The position to get the meters per pixel in eye coordinates. + * @param {float} pixelRatio The scaling factor from pixel space to coordinate space + * + * @returns {float} The meters per pixel at positionEC. + */ +float czm_metersPerPixel(vec4 positionEC, float pixelRatio) +{ + float width = czm_viewport.z; + float height = czm_viewport.w; + float pixelWidth; + float pixelHeight; + + float top = czm_frustumPlanes.x; + float bottom = czm_frustumPlanes.y; + float left = czm_frustumPlanes.z; + float right = czm_frustumPlanes.w; + + if (czm_sceneMode == czm_sceneMode2D || czm_orthographicIn3D == 1.0) + { + float frustumWidth = right - left; + float frustumHeight = top - bottom; + pixelWidth = frustumWidth / width; + pixelHeight = frustumHeight / height; + } + else + { + float distanceToPixel = -positionEC.z; + float inverseNear = 1.0 / czm_currentFrustum.x; + float tanTheta = top * inverseNear; + pixelHeight = 2.0 * distanceToPixel * tanTheta / height; + tanTheta = right * inverseNear; + pixelWidth = 2.0 * distanceToPixel * tanTheta / width; + } + + return max(pixelWidth, pixelHeight) * pixelRatio; +} + +/** + * Computes the size of a pixel in meters at a distance from the eye. + * <p> + * Use this version when scaling by pixel ratio. + * </p> + * @name czm_metersPerPixel + * @glslFunction + * + * @param {vec3} positionEC The position to get the meters per pixel in eye coordinates. + * + * @returns {float} The meters per pixel at positionEC. + */ +float czm_metersPerPixel(vec4 positionEC) +{ + return czm_metersPerPixel(positionEC, czm_pixelRatio); +} +`;var Jv=`/** + * Transforms a position from model to window coordinates. The transformation + * from model to clip coordinates is done using {@link czm_modelViewProjection}. + * The transform from normalized device coordinates to window coordinates is + * done using {@link czm_viewportTransformation}, which assumes a depth range + * of <code>near = 0</code> and <code>far = 1</code>. + * <br /><br /> + * This transform is useful when there is a need to manipulate window coordinates + * in a vertex shader as done by {@link BillboardCollection}. + * <br /><br /> + * This function should not be confused with {@link czm_viewportOrthographic}, + * which is an orthographic projection matrix that transforms from window + * coordinates to clip coordinates. + * + * @name czm_modelToWindowCoordinates + * @glslFunction + * + * @param {vec4} position The position in model coordinates to transform. + * + * @returns {vec4} The transformed position in window coordinates. + * + * @see czm_eyeToWindowCoordinates + * @see czm_modelViewProjection + * @see czm_viewportTransformation + * @see czm_viewportOrthographic + * @see BillboardCollection + * + * @example + * vec4 positionWC = czm_modelToWindowCoordinates(positionMC); + */ +vec4 czm_modelToWindowCoordinates(vec4 position) +{ + vec4 q = czm_modelViewProjection * position; // clip coordinates + q.xyz /= q.w; // normalized device coordinates + q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates + return q; +} +`;var Qv=`/** + * DOC_TBA + * + * @name czm_multiplyWithColorBalance + * @glslFunction + */ +vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right) +{ + // Algorithm from Chapter 10 of Graphics Shaders. + const vec3 W = vec3(0.2125, 0.7154, 0.0721); + + vec3 target = left * right; + float leftLuminance = dot(left, W); + float rightLuminance = dot(right, W); + float targetLuminance = dot(target, W); + + return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target; +} +`;var $v=`/** + * Computes a value that scales with distance. The scaling is clamped at the near and + * far distances, and does not extrapolate. This function works with the + * {@link NearFarScalar} JavaScript class. + * + * @name czm_nearFarScalar + * @glslFunction + * + * @param {vec4} nearFarScalar A vector with 4 components: Near distance (x), Near value (y), Far distance (z), Far value (w). + * @param {float} cameraDistSq The square of the current distance from the camera. + * + * @returns {float} The value at this distance. + */ +float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) +{ + float valueAtMin = nearFarScalar.y; + float valueAtMax = nearFarScalar.w; + float nearDistanceSq = nearFarScalar.x * nearFarScalar.x; + float farDistanceSq = nearFarScalar.z * nearFarScalar.z; + + float t = (cameraDistSq - nearDistanceSq) / (farDistanceSq - nearDistanceSq); + + t = pow(clamp(t, 0.0, 1.0), 0.2); + + return mix(valueAtMin, valueAtMax, t); +} +`;var ew=` /** + * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. + * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", + * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ + * + * @name czm_octDecode + * @param {vec2} encoded The oct-encoded, unit-length vector + * @param {float} range The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits. + * @returns {vec3} The decoded and normalized vector + */ + vec3 czm_octDecode(vec2 encoded, float range) + { + if (encoded.x == 0.0 && encoded.y == 0.0) { + return vec3(0.0, 0.0, 0.0); + } + + encoded = encoded / range * 2.0 - 1.0; + vec3 v = vec3(encoded.x, encoded.y, 1.0 - abs(encoded.x) - abs(encoded.y)); + if (v.z < 0.0) + { + v.xy = (1.0 - abs(v.yx)) * czm_signNotZero(v.xy); + } + + return normalize(v); + } + +/** + * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. + * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", + * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ + * + * @name czm_octDecode + * @param {vec2} encoded The oct-encoded, unit-length vector + * @returns {vec3} The decoded and normalized vector + */ + vec3 czm_octDecode(vec2 encoded) + { + return czm_octDecode(encoded, 255.0); + } + + /** + * Decodes a unit-length vector in 'oct' encoding packed into a floating-point number to a normalized 3-component Cartesian vector. + * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", + * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ + * + * @name czm_octDecode + * @param {float} encoded The oct-encoded, unit-length vector + * @returns {vec3} The decoded and normalized vector + */ + vec3 czm_octDecode(float encoded) + { + float temp = encoded / 256.0; + float x = floor(temp); + float y = (temp - x) * 256.0; + return czm_octDecode(vec2(x, y)); + } + +/** + * Decodes three unit-length vectors in 'oct' encoding packed into two floating-point numbers to normalized 3-component Cartesian vectors. + * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", + * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ + * + * @name czm_octDecode + * @param {vec2} encoded The packed oct-encoded, unit-length vectors. + * @param {vec3} vector1 One decoded and normalized vector. + * @param {vec3} vector2 One decoded and normalized vector. + * @param {vec3} vector3 One decoded and normalized vector. + */ + void czm_octDecode(vec2 encoded, out vec3 vector1, out vec3 vector2, out vec3 vector3) + { + float temp = encoded.x / 65536.0; + float x = floor(temp); + float encodedFloat1 = (temp - x) * 65536.0; + + temp = encoded.y / 65536.0; + float y = floor(temp); + float encodedFloat2 = (temp - y) * 65536.0; + + vector1 = czm_octDecode(encodedFloat1); + vector2 = czm_octDecode(encodedFloat2); + vector3 = czm_octDecode(vec2(x, y)); + } + +`;var tw=`/** + * Packs a depth value into a vec3 that can be represented by unsigned bytes. + * + * @name czm_packDepth + * @glslFunction + * + * @param {float} depth The floating-point depth. + * @returns {vec3} The packed depth. + */ +vec4 czm_packDepth(float depth) +{ + // See Aras Pranckevi\u010Dius' post Encoding Floats to RGBA + // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ + vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * depth; + enc = fract(enc); + enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0); + return enc; +} +`;var nw=`vec3 lambertianDiffuse(vec3 diffuseColor) +{ + return diffuseColor / czm_pi; +} + +vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) +{ + return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0); +} + +float smithVisibilityG1(float NdotV, float roughness) +{ + // this is the k value for direct lighting. + // for image based lighting it will be roughness^2 / 2 + float k = (roughness + 1.0) * (roughness + 1.0) / 8.0; + return NdotV / (NdotV * (1.0 - k) + k); +} + +float smithVisibilityGGX(float roughness, float NdotL, float NdotV) +{ + return ( + smithVisibilityG1(NdotL, roughness) * + smithVisibilityG1(NdotV, roughness) + ); +} + +float GGX(float roughness, float NdotH) +{ + float roughnessSquared = roughness * roughness; + float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0; + return roughnessSquared / (czm_pi * f * f); +} + +/** + * Compute the diffuse and specular contributions using physically based + * rendering. This function only handles direct lighting. + * <p> + * This function only handles the lighting calculations. Metallic/roughness + * and specular/glossy must be handled separately. See {@czm_pbrMetallicRoughnessMaterial}, {@czm_pbrSpecularGlossinessMaterial} and {@czm_defaultPbrMaterial} + * </p> + * + * @name czm_pbrlighting + * @glslFunction + * + * @param {vec3} positionEC The position of the fragment in eye coordinates + * @param {vec3} normalEC The surface normal in eye coordinates + * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. + * @param {vec3} lightColorHdr radiance of the light source. This is a HDR value. + * @param {czm_pbrParameters} The computed PBR parameters. + * @return {vec3} The computed HDR color + * + * @example + * czm_pbrParameters pbrParameters = czm_pbrMetallicRoughnessMaterial( + * baseColor, + * metallic, + * roughness + * ); + * vec3 color = czm_pbrlighting( + * positionEC, + * normalEC, + * lightDirectionEC, + * lightColorHdr, + * pbrParameters); + */ +vec3 czm_pbrLighting( + vec3 positionEC, + vec3 normalEC, + vec3 lightDirectionEC, + vec3 lightColorHdr, + czm_pbrParameters pbrParameters +) +{ + vec3 v = -normalize(positionEC); + vec3 l = normalize(lightDirectionEC); + vec3 h = normalize(v + l); + vec3 n = normalEC; + float NdotL = clamp(dot(n, l), 0.001, 1.0); + float NdotV = abs(dot(n, v)) + 0.001; + float NdotH = clamp(dot(n, h), 0.0, 1.0); + float LdotH = clamp(dot(l, h), 0.0, 1.0); + float VdotH = clamp(dot(v, h), 0.0, 1.0); + + vec3 f0 = pbrParameters.f0; + float reflectance = max(max(f0.r, f0.g), f0.b); + vec3 f90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0)); + vec3 F = fresnelSchlick2(f0, f90, VdotH); + + float alpha = pbrParameters.roughness; + float G = smithVisibilityGGX(alpha, NdotL, NdotV); + float D = GGX(alpha, NdotH); + vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV); + + vec3 diffuseColor = pbrParameters.diffuseColor; + // F here represents the specular contribution + vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor); + + // Lo = (diffuse + specular) * Li * NdotL + return (diffuseContribution + specularContribution) * NdotL * lightColorHdr; +} +`;var iw=`/** + * Compute parameters for physically based rendering using the + * metallic/roughness workflow. All inputs are linear; sRGB texture values must + * be decoded beforehand + * + * @name czm_pbrMetallicRoughnessMaterial + * @glslFunction + * + * @param {vec3} baseColor For dielectrics, this is the base color. For metals, this is the f0 value (reflectance at normal incidence) + * @param {float} metallic 0.0 indicates dielectric. 1.0 indicates metal. Values in between are allowed (e.g. to model rust or dirt); + * @param {float} roughness A value between 0.0 and 1.0 + * @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting} + */ +czm_pbrParameters czm_pbrMetallicRoughnessMaterial( + vec3 baseColor, + float metallic, + float roughness +) +{ + czm_pbrParameters results; + + // roughness is authored as perceptual roughness + // square it to get material roughness + roughness = clamp(roughness, 0.0, 1.0); + results.roughness = roughness * roughness; + + // dielectrics use f0 = 0.04, metals use albedo as f0 + metallic = clamp(metallic, 0.0, 1.0); + const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); + vec3 f0 = mix(REFLECTANCE_DIELECTRIC, baseColor, metallic); + results.f0 = f0; + + // diffuse only applies to dielectrics. + results.diffuseColor = baseColor * (1.0 - f0) * (1.0 - metallic); + + return results; +} +`;var ow=`/** + * Compute parameters for physically based rendering using the + * specular/glossy workflow. All inputs are linear; sRGB texture values must + * be decoded beforehand + * + * @name czm_pbrSpecularGlossinessMaterial + * @glslFunction + * + * @param {vec3} diffuse The diffuse color for dielectrics (non-metals) + * @param {vec3} specular The reflectance at normal incidence (f0) + * @param {float} glossiness A number from 0.0 to 1.0 indicating how smooth the surface is. + * @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting} + */ +czm_pbrParameters czm_pbrSpecularGlossinessMaterial( + vec3 diffuse, + vec3 specular, + float glossiness +) +{ + czm_pbrParameters results; + + // glossiness is the opposite of roughness, but easier for artists to use. + float roughness = 1.0 - glossiness; + results.roughness = roughness * roughness; + + results.diffuseColor = diffuse * (1.0 - max(max(specular.r, specular.g), specular.b)); + results.f0 = specular; + + return results; +} +`;var rw=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) +{ + return czm_getLambertDiffuse(lightDirectionEC, material.normal); +} + +float czm_private_getSpecularOfMaterial(vec3 lightDirectionEC, vec3 toEyeEC, czm_material material) +{ + return czm_getSpecular(lightDirectionEC, toEyeEC, material.normal, material.shininess); +} + +/** + * Computes a color using the Phong lighting model. + * + * @name czm_phong + * @glslFunction + * + * @param {vec3} toEye A normalized vector from the fragment to the eye in eye coordinates. + * @param {czm_material} material The fragment's material. + * + * @returns {vec4} The computed color. + * + * @example + * vec3 positionToEyeEC = // ... + * czm_material material = // ... + * vec3 lightDirectionEC = // ... + * out_FragColor = czm_phong(normalize(positionToEyeEC), material, lightDirectionEC); + * + * @see czm_getMaterial + */ +vec4 czm_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) +{ + // Diffuse from directional light sources at eye (for top-down) + float diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material); + if (czm_sceneMode == czm_sceneMode3D) { + // (and horizon views in 3D) + diffuse += czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material); + } + + float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material); + + // Temporary workaround for adding ambient. + vec3 materialDiffuse = material.diffuse * 0.5; + + vec3 ambient = materialDiffuse; + vec3 color = ambient + material.emission; + color += materialDiffuse * diffuse * czm_lightColor; + color += material.specular * specular * czm_lightColor; + + return vec4(color, material.alpha); +} + +vec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) +{ + float diffuse = czm_private_getLambertDiffuseOfMaterial(lightDirectionEC, material); + float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material); + + vec3 ambient = vec3(0.0); + vec3 color = ambient + material.emission; + color += material.diffuse * diffuse * czm_lightColor; + color += material.specular * specular * czm_lightColor; + + return vec4(color, material.alpha); +} +`;var sw=`/** + * Computes distance from a point to a plane. + * + * @name czm_planeDistance + * @glslFunction + * + * param {vec4} plane A Plane in Hessian Normal Form. See Plane.js + * param {vec3} point A point in the same space as the plane. + * returns {float} The distance from the point to the plane. + */ +float czm_planeDistance(vec4 plane, vec3 point) { + return (dot(plane.xyz, point) + plane.w); +} + +/** + * Computes distance from a point to a plane. + * + * @name czm_planeDistance + * @glslFunction + * + * param {vec3} planeNormal Normal for a plane in Hessian Normal Form. See Plane.js + * param {float} planeDistance Distance for a plane in Hessian Normal form. See Plane.js + * param {vec3} point A point in the same space as the plane. + * returns {float} The distance from the point to the plane. + */ +float czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) { + return (dot(planeNormal, point) + planeDistance); +} +`;var aw=`/** + * Computes the point along a ray at the given time. <code>time</code> can be positive, negative, or zero. + * + * @name czm_pointAlongRay + * @glslFunction + * + * @param {czm_ray} ray The ray to compute the point along. + * @param {float} time The time along the ray. + * + * @returns {vec3} The point along the ray at the given time. + * + * @example + * czm_ray ray = czm_ray(vec3(0.0), vec3(1.0, 0.0, 0.0)); // origin, direction + * vec3 v = czm_pointAlongRay(ray, 2.0); // (2.0, 0.0, 0.0) + */ +vec3 czm_pointAlongRay(czm_ray ray, float time) +{ + return ray.origin + (time * ray.direction); +} +`;var cw=`/** + * DOC_TBA + * + * @name czm_rayEllipsoidIntersectionInterval + * @glslFunction + */ +czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_center, vec3 ellipsoid_inverseRadii) +{ + // ray and ellipsoid center in eye coordinates. radii in model coordinates. + vec3 q = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.origin, 1.0)).xyz; + vec3 w = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.direction, 0.0)).xyz; + + q = q - ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ellipsoid_center, 1.0)).xyz; + + float q2 = dot(q, q); + float qw = dot(q, w); + + if (q2 > 1.0) // Outside ellipsoid. + { + if (qw >= 0.0) // Looking outward or tangent (0 intersections). + { + return czm_emptyRaySegment; + } + else // qw < 0.0. + { + float qw2 = qw * qw; + float difference = q2 - 1.0; // Positively valued. + float w2 = dot(w, w); + float product = w2 * difference; + + if (qw2 < product) // Imaginary roots (0 intersections). + { + return czm_emptyRaySegment; + } + else if (qw2 > product) // Distinct roots (2 intersections). + { + float discriminant = qw * qw - product; + float temp = -qw + sqrt(discriminant); // Avoid cancellation. + float root0 = temp / w2; + float root1 = difference / temp; + if (root0 < root1) + { + czm_raySegment i = czm_raySegment(root0, root1); + return i; + } + else + { + czm_raySegment i = czm_raySegment(root1, root0); + return i; + } + } + else // qw2 == product. Repeated roots (2 intersections). + { + float root = sqrt(difference / w2); + czm_raySegment i = czm_raySegment(root, root); + return i; + } + } + } + else if (q2 < 1.0) // Inside ellipsoid (2 intersections). + { + float difference = q2 - 1.0; // Negatively valued. + float w2 = dot(w, w); + float product = w2 * difference; // Negatively valued. + float discriminant = qw * qw - product; + float temp = -qw + sqrt(discriminant); // Positively valued. + czm_raySegment i = czm_raySegment(0.0, temp / w2); + return i; + } + else // q2 == 1.0. On ellipsoid. + { + if (qw < 0.0) // Looking inward. + { + float w2 = dot(w, w); + czm_raySegment i = czm_raySegment(0.0, -qw / w2); + return i; + } + else // qw >= 0.0. Looking outward or tangent. + { + return czm_emptyRaySegment; + } + } +} +`;var lw=`/** + * Compute the intersection interval of a ray with a sphere. + * + * @name czm_raySphereIntersectionInterval + * @glslFunction + * + * @param {czm_ray} ray The ray. + * @param {vec3} center The center of the sphere. + * @param {float} radius The radius of the sphere. + * @return {czm_raySegment} The intersection interval of the ray with the sphere. + */ +czm_raySegment czm_raySphereIntersectionInterval(czm_ray ray, vec3 center, float radius) +{ + vec3 o = ray.origin; + vec3 d = ray.direction; + + vec3 oc = o - center; + + float a = dot(d, d); + float b = 2.0 * dot(d, oc); + float c = dot(oc, oc) - (radius * radius); + + float det = (b * b) - (4.0 * a * c); + + if (det < 0.0) { + return czm_emptyRaySegment; + } + + float sqrtDet = sqrt(det); + + float t0 = (-b - sqrtDet) / (2.0 * a); + float t1 = (-b + sqrtDet) / (2.0 * a); + + czm_raySegment result = czm_raySegment(t0, t1); + return result; +} +`;var uw=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) +{ + return czm_reverseLogDepth(texture(depthTexture, texCoords).r); +} +`;var fw=`/** + * Reads a value previously transformed with {@link czm_writeNonPerspective} + * by dividing it by \`w\`, the value used in the perspective divide. + * This function is intended to be called in a fragment shader to access a + * \`varying\` that should not be subject to perspective interpolation. + * For example, screen-space texture coordinates. The value should have been + * previously written in the vertex shader with a call to + * {@link czm_writeNonPerspective}. + * + * @name czm_readNonPerspective + * @glslFunction + * + * @param {float|vec2|vec3|vec4} value The non-perspective value to be read. + * @param {float} oneOverW One over the perspective divide value, \`w\`. Usually this is simply \`gl_FragCoord.w\`. + * @returns {float|vec2|vec3|vec4} The usable value. + */ +float czm_readNonPerspective(float value, float oneOverW) { + return value * oneOverW; +} + +vec2 czm_readNonPerspective(vec2 value, float oneOverW) { + return value * oneOverW; +} + +vec3 czm_readNonPerspective(vec3 value, float oneOverW) { + return value * oneOverW; +} + +vec4 czm_readNonPerspective(vec4 value, float oneOverW) { + return value * oneOverW; +} +`;var dw=`float czm_reverseLogDepth(float logZ) +{ +#ifdef LOG_DEPTH + float near = czm_currentFrustum.x; + float far = czm_currentFrustum.y; + float log2Depth = logZ * czm_log2FarDepthFromNearPlusOne; + float depthFromNear = pow(2.0, log2Depth) - 1.0; + return far * (1.0 - near / (depthFromNear + near)) / (far - near); +#endif + return logZ; +} +`;var hw=`/** + * Round a floating point value. This function exists because round() doesn't + * exist in GLSL 1.00. + * + * @param {float|vec2|vec3|vec4} value The value to round + * @param {float|vec2|vec3|vec3} The rounded value. The type matches the input. + */ +float czm_round(float value) { + return floor(value + 0.5); +} + +vec2 czm_round(vec2 value) { + return floor(value + 0.5); +} + +vec3 czm_round(vec3 value) { + return floor(value + 0.5); +} + +vec4 czm_round(vec4 value) { + return floor(value + 0.5); +} +`;var mw=`/** + * Samples the 4 neighboring pixels and return the weighted average. + * + * @private + */ +vec3 czm_sampleOctahedralProjectionWithFiltering(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod) +{ + direction /= dot(vec3(1.0), abs(direction)); + vec2 rev = abs(direction.zx) - vec2(1.0); + vec2 neg = vec2(direction.x < 0.0 ? rev.x : -rev.x, + direction.z < 0.0 ? rev.y : -rev.y); + vec2 uv = direction.y < 0.0 ? neg : direction.xz; + vec2 coord = 0.5 * uv + vec2(0.5); + vec2 pixel = 1.0 / textureSize; + + if (lod > 0.0) + { + // Each subseqeuent mip level is half the size + float scale = 1.0 / pow(2.0, lod); + float offset = ((textureSize.y + 1.0) / textureSize.x); + + coord.x *= offset; + coord *= scale; + + coord.x += offset + pixel.x; + coord.y += (1.0 - (1.0 / pow(2.0, lod - 1.0))) + pixel.y * (lod - 1.0) * 2.0; + } + else + { + coord.x *= (textureSize.y / textureSize.x); + } + + // Do bilinear filtering + #ifndef OES_texture_float_linear + vec3 color1 = texture(projectedMap, coord + vec2(0.0, pixel.y)).rgb; + vec3 color2 = texture(projectedMap, coord + vec2(pixel.x, 0.0)).rgb; + vec3 color3 = texture(projectedMap, coord + pixel).rgb; + vec3 color4 = texture(projectedMap, coord).rgb; + + vec2 texturePosition = coord * textureSize; + + float fu = fract(texturePosition.x); + float fv = fract(texturePosition.y); + + vec3 average1 = mix(color4, color2, fu); + vec3 average2 = mix(color1, color3, fu); + + vec3 color = mix(average1, average2, fv); + #else + vec3 color = texture(projectedMap, coord).rgb; + #endif + + return color; +} + + +/** + * Samples from a cube map that has been projected using an octahedral projection from the given direction. + * + * @name czm_sampleOctahedralProjection + * @glslFunction + * + * @param {sampler2D} projectedMap The texture with the octahedral projected cube map. + * @param {vec2} textureSize The width and height dimensions in pixels of the projected map. + * @param {vec3} direction The normalized direction used to sample the cube map. + * @param {float} lod The level of detail to sample. + * @param {float} maxLod The maximum level of detail. + * @returns {vec3} The color of the cube map at the direction. + */ +vec3 czm_sampleOctahedralProjection(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod, float maxLod) { + float currentLod = floor(lod + 0.5); + float nextLod = min(currentLod + 1.0, maxLod); + + vec3 colorCurrentLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, currentLod); + vec3 colorNextLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, nextLod); + + return mix(colorNextLod, colorCurrentLod, nextLod - lod); +} +`;var pw=`/** + * Adjusts the saturation of a color. + * + * @name czm_saturation + * @glslFunction + * + * @param {vec3} rgb The color. + * @param {float} adjustment The amount to adjust the saturation of the color. + * + * @returns {float} The color with the saturation adjusted. + * + * @example + * vec3 greyScale = czm_saturation(color, 0.0); + * vec3 doubleSaturation = czm_saturation(color, 2.0); + */ +vec3 czm_saturation(vec3 rgb, float adjustment) +{ + // Algorithm from Chapter 16 of OpenGL Shading Language + const vec3 W = vec3(0.2125, 0.7154, 0.0721); + vec3 intensity = vec3(dot(rgb, W)); + return mix(intensity, rgb, adjustment); +} +`;var _w=` +float czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d) +{ + return czm_unpackDepth(czm_textureCube(shadowMap, d)); +} + +float czm_sampleShadowMap(highp sampler2D shadowMap, vec2 uv) +{ +#ifdef USE_SHADOW_DEPTH_TEXTURE + return texture(shadowMap, uv).r; +#else + return czm_unpackDepth(texture(shadowMap, uv)); +#endif +} + +float czm_shadowDepthCompare(samplerCube shadowMap, vec3 uv, float depth) +{ + return step(depth, czm_sampleShadowMap(shadowMap, uv)); +} + +float czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth) +{ + return step(depth, czm_sampleShadowMap(shadowMap, uv)); +} +`;var gw=` +float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness) +{ +#ifdef USE_NORMAL_SHADING +#ifdef USE_NORMAL_SHADING_SMOOTH + float strength = clamp(nDotL / normalShadingSmooth, 0.0, 1.0); +#else + float strength = step(0.0, nDotL); +#endif + visibility *= strength; +#endif + + visibility = max(visibility, darkness); + return visibility; +} + +#ifdef USE_CUBE_MAP_SHADOW +float czm_shadowVisibility(samplerCube shadowMap, czm_shadowParameters shadowParameters) +{ + float depthBias = shadowParameters.depthBias; + float depth = shadowParameters.depth; + float nDotL = shadowParameters.nDotL; + float normalShadingSmooth = shadowParameters.normalShadingSmooth; + float darkness = shadowParameters.darkness; + vec3 uvw = shadowParameters.texCoords; + + depth -= depthBias; + float visibility = czm_shadowDepthCompare(shadowMap, uvw, depth); + return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); +} +#else +float czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParameters) +{ + float depthBias = shadowParameters.depthBias; + float depth = shadowParameters.depth; + float nDotL = shadowParameters.nDotL; + float normalShadingSmooth = shadowParameters.normalShadingSmooth; + float darkness = shadowParameters.darkness; + vec2 uv = shadowParameters.texCoords; + + depth -= depthBias; +#ifdef USE_SOFT_SHADOWS + vec2 texelStepSize = shadowParameters.texelStepSize; + float radius = 1.0; + float dx0 = -texelStepSize.x * radius; + float dy0 = -texelStepSize.y * radius; + float dx1 = texelStepSize.x * radius; + float dy1 = texelStepSize.y * radius; + float visibility = ( + czm_shadowDepthCompare(shadowMap, uv, depth) + + czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy0), depth) + + czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy0), depth) + + czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy0), depth) + + czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, 0.0), depth) + + czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, 0.0), depth) + + czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy1), depth) + + czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy1), depth) + + czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy1), depth) + ) * (1.0 / 9.0); +#else + float visibility = czm_shadowDepthCompare(shadowMap, uv, depth); +#endif + + return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); +} +#endif +`;var yw=`/** + * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. This is similar to the GLSL + * built-in function <code>sign</code> except that returns 1.0 instead of 0.0 when the input value is 0.0. + * + * @name czm_signNotZero + * @glslFunction + * + * @param {} value The value for which to determine the sign. + * @returns {} 1.0 if the value is positive or zero, -1.0 if the value is negative. + */ +float czm_signNotZero(float value) +{ + return value >= 0.0 ? 1.0 : -1.0; +} + +vec2 czm_signNotZero(vec2 value) +{ + return vec2(czm_signNotZero(value.x), czm_signNotZero(value.y)); +} + +vec3 czm_signNotZero(vec3 value) +{ + return vec3(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z)); +} + +vec4 czm_signNotZero(vec4 value) +{ + return vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w)); +} +`;var Aw=`/** + * Computes a color from the third order spherical harmonic coefficients and a normalized direction vector. + * <p> + * The order of the coefficients is [L00, L1_1, L10, L11, L2_2, L2_1, L20, L21, L22]. + * </p> + * + * @name czm_sphericalHarmonics + * @glslFunction + * + * @param {vec3} normal The normalized direction. + * @param {vec3[9]} coefficients The third order spherical harmonic coefficients. + * @returns {vec3} The color at the direction. + * + * @see https://graphics.stanford.edu/papers/envmap/envmap.pdf + */ +vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) +{ + vec3 L00 = coefficients[0]; + vec3 L1_1 = coefficients[1]; + vec3 L10 = coefficients[2]; + vec3 L11 = coefficients[3]; + vec3 L2_2 = coefficients[4]; + vec3 L2_1 = coefficients[5]; + vec3 L20 = coefficients[6]; + vec3 L21 = coefficients[7]; + vec3 L22 = coefficients[8]; + + float x = normal.x; + float y = normal.y; + float z = normal.z; + + return + L00 + + L1_1 * y + + L10 * z + + L11 * x + + L2_2 * (y * x) + + L2_1 * (y * z) + + L20 * (3.0 * z * z - 1.0) + + L21 * (z * x) + + L22 * (x * x - y * y); +} +`;var xw=`/** + * Converts an sRGB color to a linear RGB color. + * + * @param {vec3|vec4} srgbIn The color in sRGB space + * @returns {vec3|vec4} The color in linear color space. The vector type matches the input. + */ +vec3 czm_srgbToLinear(vec3 srgbIn) +{ + return pow(srgbIn, vec3(2.2)); +} + +vec4 czm_srgbToLinear(vec4 srgbIn) +{ + vec3 linearOut = pow(srgbIn.rgb, vec3(2.2)); + return vec4(linearOut, srgbIn.a); +} +`;var Cw=`/** + * Creates a matrix that transforms vectors from tangent space to eye space. + * + * @name czm_tangentToEyeSpaceMatrix + * @glslFunction + * + * @param {vec3} normalEC The normal vector in eye coordinates. + * @param {vec3} tangentEC The tangent vector in eye coordinates. + * @param {vec3} bitangentEC The bitangent vector in eye coordinates. + * + * @returns {mat3} The matrix that transforms from tangent space to eye space. + * + * @example + * mat3 tangentToEye = czm_tangentToEyeSpaceMatrix(normalEC, tangentEC, bitangentEC); + * vec3 normal = tangentToEye * texture(normalMap, st).xyz; + */ +mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC) +{ + vec3 normal = normalize(normalEC); + vec3 tangent = normalize(tangentEC); + vec3 bitangent = normalize(bitangentEC); + return mat3(tangent.x , tangent.y , tangent.z, + bitangent.x, bitangent.y, bitangent.z, + normal.x , normal.y , normal.z); +} +`;var Tw=`/** + * A wrapper around the texture (WebGL2) / textureCube (WebGL1) + * function to allow for WebGL 1 support. + * + * @name czm_textureCube + * @glslFunction + * + * @param {samplerCube} sampler The sampler. + * @param {vec3} p The coordinates to sample the texture at. + */ +vec4 czm_textureCube(samplerCube sampler, vec3 p) { +#if __VERSION__ == 300 + return texture(sampler, p); +#else + return textureCube(sampler, p); +#endif +}`;var Ew=`/** + * Transforms a plane. + * + * @name czm_transformPlane + * @glslFunction + * + * @param {vec4} plane The plane in Hessian Normal Form. + * @param {mat4} transform The inverse-transpose of a transformation matrix. + */ +vec4 czm_transformPlane(vec4 plane, mat4 transform) { + vec4 transformedPlane = transform * plane; + // Convert the transformed plane to Hessian Normal Form + float normalMagnitude = length(transformedPlane.xyz); + return transformedPlane / normalMagnitude; +} +`;var bw=`/** + * Translates a position (or any <code>vec3</code>) that was encoded with {@link EncodedCartesian3}, + * and then provided to the shader as separate <code>high</code> and <code>low</code> bits to + * be relative to the eye. As shown in the example, the position can then be transformed in eye + * or clip coordinates using {@link czm_modelViewRelativeToEye} or {@link czm_modelViewProjectionRelativeToEye}, + * respectively. + * <p> + * This technique, called GPU RTE, eliminates jittering artifacts when using large coordinates as + * described in {@link http://help.agi.com/AGIComponents/html/BlogPrecisionsPrecisions.htm|Precisions, Precisions}. + * </p> + * + * @name czm_translateRelativeToEye + * @glslFunction + * + * @param {vec3} high The position's high bits. + * @param {vec3} low The position's low bits. + * @returns {vec3} The position translated to be relative to the camera's position. + * + * @example + * in vec3 positionHigh; + * in vec3 positionLow; + * + * void main() + * { + * vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); + * gl_Position = czm_modelViewProjectionRelativeToEye * p; + * } + * + * @see czm_modelViewRelativeToEye + * @see czm_modelViewProjectionRelativeToEye + * @see czm_computePosition + * @see EncodedCartesian3 + */ +vec4 czm_translateRelativeToEye(vec3 high, vec3 low) +{ + vec3 highDifference = high - czm_encodedCameraPositionMCHigh; + vec3 lowDifference = low - czm_encodedCameraPositionMCLow; + + return vec4(highDifference + lowDifference, 1.0); +} +`;var Sw=`/** + * @private + */ +vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC) +{ + // Diffuse from directional light sources at eye (for top-down and horizon views) + float diffuse = czm_getLambertDiffuse(vec3(0.0, 0.0, 1.0), material.normal); + + if (czm_sceneMode == czm_sceneMode3D) { + // (and horizon views in 3D) + diffuse += czm_getLambertDiffuse(vec3(0.0, 1.0, 0.0), material.normal); + } + + diffuse = clamp(diffuse, 0.0, 1.0); + + float specular = czm_getSpecular(lightDirectionEC, toEye, material.normal, material.shininess); + + // Temporary workaround for adding ambient. + vec3 materialDiffuse = material.diffuse * 0.5; + + vec3 ambient = materialDiffuse; + vec3 color = ambient + material.emission; + color += materialDiffuse * diffuse * czm_lightColor; + color += material.specular * specular * czm_lightColor; + + return vec4(color, material.alpha); +} +`;var Dw=`/** + * Returns the transpose of the matrix. The input <code>matrix</code> can be + * a <code>mat2</code>, <code>mat3</code>, or <code>mat4</code>. + * + * @name czm_transpose + * @glslFunction + * + * @param {} matrix The matrix to transpose. + * + * @returns {} The transposed matrix. + * + * @example + * // GLSL declarations + * mat2 czm_transpose(mat2 matrix); + * mat3 czm_transpose(mat3 matrix); + * mat4 czm_transpose(mat4 matrix); + * + * // Transpose a 3x3 rotation matrix to find its inverse. + * mat3 eastNorthUpToEye = czm_eastNorthUpToEyeCoordinates( + * positionMC, normalEC); + * mat3 eyeToEastNorthUp = czm_transpose(eastNorthUpToEye); + */ +mat2 czm_transpose(mat2 matrix) +{ + return mat2( + matrix[0][0], matrix[1][0], + matrix[0][1], matrix[1][1]); +} + +mat3 czm_transpose(mat3 matrix) +{ + return mat3( + matrix[0][0], matrix[1][0], matrix[2][0], + matrix[0][1], matrix[1][1], matrix[2][1], + matrix[0][2], matrix[1][2], matrix[2][2]); +} + +mat4 czm_transpose(mat4 matrix) +{ + return mat4( + matrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0], + matrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1], + matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2], + matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]); +} +`;var vw=`/** + * Unpacks a vec4 depth value to a float in [0, 1) range. + * + * @name czm_unpackDepth + * @glslFunction + * + * @param {vec4} packedDepth The packed depth. + * + * @returns {float} The floating-point depth in [0, 1) range. + */ + float czm_unpackDepth(vec4 packedDepth) + { + // See Aras Pranckevi\u010Dius' post Encoding Floats to RGBA + // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ + return dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)); + } +`;var ww=`/** + * Unpack an IEEE 754 single-precision float that is packed as a little-endian unsigned normalized vec4. + * + * @name czm_unpackFloat + * @glslFunction + * + * @param {vec4} packedFloat The packed float. + * + * @returns {float} The floating-point depth in arbitrary range. + */ +float czm_unpackFloat(vec4 packedFloat) +{ + // Convert to [0.0, 255.0] and round to integer + packedFloat = floor(packedFloat * 255.0 + 0.5); + float sign = 1.0 - step(128.0, packedFloat[3]) * 2.0; + float exponent = 2.0 * mod(packedFloat[3], 128.0) + step(128.0, packedFloat[2]) - 127.0; + if (exponent == -127.0) + { + return 0.0; + } + float mantissa = mod(packedFloat[2], 128.0) * 65536.0 + packedFloat[1] * 256.0 + packedFloat[0] + float(0x800000); + float result = sign * exp2(exponent - 23.0) * mantissa; + return result; +} +`;var Iw=`/** + * Unpack unsigned integers of 1-4 bytes. in WebGL 1, there is no uint type, + * so the return value is an int. + * <p> + * There are also precision limitations in WebGL 1. highp int is still limited + * to 24 bits. Above the value of 2^24 = 16777216, precision loss may occur. + * </p> + * + * @param {float|vec2|vec3|vec4} packed The packed value. For vectors, the components are listed in little-endian order. + * + * @return {int} The unpacked value. + */ + int czm_unpackUint(float packedValue) { + float rounded = czm_round(packedValue * 255.0); + return int(rounded); + } + + int czm_unpackUint(vec2 packedValue) { + vec2 rounded = czm_round(packedValue * 255.0); + return int(dot(rounded, vec2(1.0, 256.0))); + } + + int czm_unpackUint(vec3 packedValue) { + vec3 rounded = czm_round(packedValue * 255.0); + return int(dot(rounded, vec3(1.0, 256.0, 65536.0))); + } + + int czm_unpackUint(vec4 packedValue) { + vec4 rounded = czm_round(packedValue * 255.0); + return int(dot(rounded, vec4(1.0, 256.0, 65536.0, 16777216.0))); + } +`;var Pw=`/** + * Transform metadata values following the EXT_structural_metadata spec + * by multiplying by scale and adding the offset. Operations are always + * performed component-wise, even for matrices. + * + * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} offset The offset to add + * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} scale The scale factor to multiply + * @param {float|vec2|vec3|vec4|mat2|mat3|mat4} value The original value. + * + * @return {float|vec2|vec3|vec4|mat2|mat3|mat4} The transformed value of the same scalar/vector/matrix type as the input. + */ +float czm_valueTransform(float offset, float scale, float value) { + return scale * value + offset; +} + +vec2 czm_valueTransform(vec2 offset, vec2 scale, vec2 value) { + return scale * value + offset; +} + +vec3 czm_valueTransform(vec3 offset, vec3 scale, vec3 value) { + return scale * value + offset; +} + +vec4 czm_valueTransform(vec4 offset, vec4 scale, vec4 value) { + return scale * value + offset; +} + +mat2 czm_valueTransform(mat2 offset, mat2 scale, mat2 value) { + return matrixCompMult(scale, value) + offset; +} + +mat3 czm_valueTransform(mat3 offset, mat3 scale, mat3 value) { + return matrixCompMult(scale, value) + offset; +} + +mat4 czm_valueTransform(mat4 offset, mat4 scale, mat4 value) { + return matrixCompMult(scale, value) + offset; +} +`;var Ow=`#ifdef LOG_DEPTH +// 1.0 at the near plane, increasing linearly from there. +out float v_depthFromNearPlusOne; +#ifdef SHADOW_MAP +out vec3 v_logPositionEC; +#endif +#endif + +vec4 czm_updatePositionDepth(vec4 coords) { +#if defined(LOG_DEPTH) + +#ifdef SHADOW_MAP + vec3 logPositionEC = (czm_inverseProjection * coords).xyz; + v_logPositionEC = logPositionEC; +#endif + + // With the very high far/near ratios used with the logarithmic depth + // buffer, floating point rounding errors can cause linear depth values + // to end up on the wrong side of the far plane, even for vertices that + // are really nowhere near it. Since we always write a correct logarithmic + // depth value in the fragment shader anyway, we just need to make sure + // such errors don't cause the primitive to be clipped entirely before + // we even get to the fragment shader. + coords.z = clamp(coords.z / coords.w, -1.0, 1.0) * coords.w; +#endif + + return coords; +} + +/** + * Writes the logarithmic depth to gl_Position using the already computed gl_Position. + * + * @name czm_vertexLogDepth + * @glslFunction + */ +void czm_vertexLogDepth() +{ +#ifdef LOG_DEPTH + v_depthFromNearPlusOne = (gl_Position.w - czm_currentFrustum.x) + 1.0; + gl_Position = czm_updatePositionDepth(gl_Position); +#endif +} + +/** + * Writes the logarithmic depth to gl_Position using the provided clip coordinates. + * <p> + * An example use case for this function would be moving the vertex in window coordinates + * before converting back to clip coordinates. Use the original vertex clip coordinates. + * </p> + * @name czm_vertexLogDepth + * @glslFunction + * + * @param {vec4} clipCoords The vertex in clip coordinates. + * + * @example + * czm_vertexLogDepth(czm_projection * vec4(positionEyeCoordinates, 1.0)); + */ +void czm_vertexLogDepth(vec4 clipCoords) +{ +#ifdef LOG_DEPTH + v_depthFromNearPlusOne = (clipCoords.w - czm_currentFrustum.x) + 1.0; + czm_updatePositionDepth(clipCoords); +#endif +} +`;var Rw=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) +{ + // Reconstruct NDC coordinates + float x = 2.0 * screenCoordinate.x - 1.0; + float y = 2.0 * screenCoordinate.y - 1.0; + float z = (screenCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2]; + vec4 q = vec4(x, y, z, 1.0); + + // Reverse the perspective division to obtain clip coordinates. + q /= screenCoordinate.w; + + // Reverse the projection transformation to obtain eye coordinates. + if (!(czm_inverseProjection == mat4(0.0))) // IE and Edge sometimes do something weird with != between mat4s + { + q = czm_inverseProjection * q; + } + else + { + float top = czm_frustumPlanes.x; + float bottom = czm_frustumPlanes.y; + float left = czm_frustumPlanes.z; + float right = czm_frustumPlanes.w; + + float near = czm_currentFrustum.x; + float far = czm_currentFrustum.y; + + q.x = (q.x * (right - left) + left + right) * 0.5; + q.y = (q.y * (top - bottom) + bottom + top) * 0.5; + q.z = (q.z * (near - far) - near - far) * 0.5; + q.w = 1.0; + } + + return q; +} + +/** + * Transforms a position from window to eye coordinates. + * The transform from window to normalized device coordinates is done using components + * of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating + * the inverse of <code>czm_viewportTransformation</code>. The transformation from + * normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>, + * which is expected to be the scalar used in the perspective divide. The transformation + * from clip to eye coordinates is done using {@link czm_inverseProjection}. + * + * @name czm_windowToEyeCoordinates + * @glslFunction + * + * @param {vec4} fragmentCoordinate The position in window coordinates to transform. + * + * @returns {vec4} The transformed position in eye coordinates. + * + * @see czm_modelToWindowCoordinates + * @see czm_eyeToWindowCoordinates + * @see czm_inverseProjection + * @see czm_viewport + * @see czm_viewportTransformation + * + * @example + * vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord); + */ +vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate) +{ + vec2 screenCoordXY = (fragmentCoordinate.xy - czm_viewport.xy) / czm_viewport.zw; + return czm_screenToEyeCoordinates(vec4(screenCoordXY, fragmentCoordinate.zw)); +} + +vec4 czm_screenToEyeCoordinates(vec2 screenCoordinateXY, float depthOrLogDepth) +{ + // See reverseLogDepth.glsl. This is separate to re-use the pow. +#if defined(LOG_DEPTH) || defined(LOG_DEPTH_READ_ONLY) + float near = czm_currentFrustum.x; + float far = czm_currentFrustum.y; + float log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne; + float depthFromNear = pow(2.0, log2Depth) - 1.0; + float depthFromCamera = depthFromNear + near; + vec4 screenCoord = vec4(screenCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0); + vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord); + eyeCoordinate.w = 1.0 / depthFromCamera; // Better precision + return eyeCoordinate; +#else + vec4 screenCoord = vec4(screenCoordinateXY, depthOrLogDepth, 1.0); + vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord); +#endif + return eyeCoordinate; +} + +/** + * Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates. + * This function produces more accurate results for window positions with log depth than + * conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version + * of czm_windowToEyeCoordinates. + * + * @name czm_windowToEyeCoordinates + * @glslFunction + * + * @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform. + * @param {float} depthOrLogDepth A depth or log depth for the fragment. + * + * @see czm_modelToWindowCoordinates + * @see czm_eyeToWindowCoordinates + * @see czm_inverseProjection + * @see czm_viewport + * @see czm_viewportTransformation + * + * @returns {vec4} The transformed position in eye coordinates. + */ +vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth) +{ + vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw; + return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth); +} +`;var Bw=`// emulated noperspective +#if !defined(LOG_DEPTH) +in float v_WindowZ; +#endif + +/** + * Emulates GL_DEPTH_CLAMP. Clamps a fragment to the near and far plane + * by writing the fragment's depth. See czm_depthClamp for more details. + * + * @name czm_writeDepthClamp + * @glslFunction + * + * @example + * out_FragColor = color; + * czm_writeDepthClamp(); + * + * @see czm_depthClamp + */ +void czm_writeDepthClamp() +{ +#if (!defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) + gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0); +#endif +} +`;var Mw=`#ifdef LOG_DEPTH +in float v_depthFromNearPlusOne; + +#ifdef POLYGON_OFFSET +uniform vec2 u_polygonOffset; +#ifdef GL_OES_standard_derivatives +#extension GL_OES_standard_derivatives : enable +#endif +#endif + +#endif + +/** + * Writes the fragment depth to the logarithmic depth buffer. + * <p> + * Use this when the vertex shader does not call {@link czm_vertexlogDepth}, for example, when + * ray-casting geometry using a full screen quad. + * </p> + * @name czm_writeLogDepth + * @glslFunction + * + * @param {float} depth The depth coordinate, where 1.0 is on the near plane and + * depth increases in eye-space units from there + * + * @example + * czm_writeLogDepth((czm_projection * v_positionEyeCoordinates).w + 1.0); + */ +void czm_writeLogDepth(float depth) +{ +#if (defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) + // Discard the vertex if it's not between the near and far planes. + // We allow a bit of epsilon on the near plane comparison because a 1.0 + // from the vertex shader (indicating the vertex should be _on_ the near + // plane) will not necessarily come here as exactly 1.0. + if (depth <= 0.9999999 || depth > czm_farDepthFromNearPlusOne) { + discard; + } + +#ifdef POLYGON_OFFSET + // Polygon offset: m * factor + r * units + float factor = u_polygonOffset[0]; + float units = u_polygonOffset[1]; + +#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) + // This factor doesn't work in IE 10 + if (factor != 0.0) { + // m = sqrt(dZdX^2 + dZdY^2); + float x = dFdx(depth); + float y = dFdy(depth); + float m = sqrt(x * x + y * y); + + // Apply the factor before computing the log depth. + depth += m * factor; + } +#endif + +#endif + + gl_FragDepth = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne; + +#ifdef POLYGON_OFFSET + // Apply the units after the log depth. + gl_FragDepth += czm_epsilon7 * units; +#endif + +#endif +} + +/** + * Writes the fragment depth to the logarithmic depth buffer. + * <p> + * Use this when the vertex shader calls {@link czm_vertexlogDepth}. + * </p> + * + * @name czm_writeLogDepth + * @glslFunction + */ +void czm_writeLogDepth() { +#ifdef LOG_DEPTH + czm_writeLogDepth(v_depthFromNearPlusOne); +#endif +} +`;var Lw=`/** + * Transforms a value for non-perspective interpolation by multiplying + * it by w, the value used in the perspective divide. This function is + * intended to be called in a vertex shader to compute the value of a + * \`varying\` that should not be subject to perspective interpolation. + * For example, screen-space texture coordinates. The fragment shader + * must call {@link czm_readNonPerspective} to retrieve the final + * non-perspective value. + * + * @name czm_writeNonPerspective + * @glslFunction + * + * @param {float|vec2|vec3|vec4} value The value to be interpolated without accounting for perspective. + * @param {float} w The perspective divide value. Usually this is the computed \`gl_Position.w\`. + * @returns {float|vec2|vec3|vec4} The transformed value, intended to be stored in a \`varying\` and read in the + * fragment shader with {@link czm_readNonPerspective}. + */ +float czm_writeNonPerspective(float value, float w) { + return value * w; +} + +vec2 czm_writeNonPerspective(vec2 value, float w) { + return value * w; +} + +vec3 czm_writeNonPerspective(vec3 value, float w) { + return value * w; +} + +vec4 czm_writeNonPerspective(vec4 value, float w) { + return value * w; +} +`;var C0={czm_degreesPerRadian:hD,czm_depthRange:mD,czm_epsilon1:pD,czm_epsilon2:_D,czm_epsilon3:gD,czm_epsilon4:yD,czm_epsilon5:AD,czm_epsilon6:xD,czm_epsilon7:CD,czm_infinity:TD,czm_oneOverPi:ED,czm_oneOverTwoPi:bD,czm_passCesium3DTile:SD,czm_passCesium3DTileClassification:DD,czm_passCesium3DTileClassificationIgnoreShow:vD,czm_passClassification:wD,czm_passCompute:ID,czm_passEnvironment:PD,czm_passGlobe:OD,czm_passOpaque:RD,czm_passOverlay:BD,czm_passTerrainClassification:MD,czm_passTranslucent:LD,czm_passVoxels:ND,czm_pi:FD,czm_piOverFour:VD,czm_piOverSix:UD,czm_piOverThree:kD,czm_piOverTwo:zD,czm_radiansPerDegree:HD,czm_sceneMode2D:GD,czm_sceneMode3D:WD,czm_sceneModeColumbusView:jD,czm_sceneModeMorphing:YD,czm_solarRadius:qD,czm_threePiOver2:XD,czm_twoPi:KD,czm_webMercatorMaxLatitude:ZD,czm_depthRangeStruct:JD,czm_material:QD,czm_materialInput:$D,czm_modelMaterial:ev,czm_modelVertexOutput:tv,czm_pbrParameters:nv,czm_ray:iv,czm_raySegment:ov,czm_shadowParameters:rv,czm_HSBToRGB:sv,czm_HSLToRGB:av,czm_RGBToHSB:cv,czm_RGBToHSL:lv,czm_RGBToXYZ:uv,czm_XYZToRGB:fv,czm_acesTonemapping:dv,czm_alphaWeight:hv,czm_antialias:mv,czm_approximateSphericalCoordinates:pv,czm_backFacing:_v,czm_branchFreeTernary:gv,czm_cascadeColor:yv,czm_cascadeDistance:Av,czm_cascadeMatrix:xv,czm_cascadeWeights:Cv,czm_columbusViewMorph:Tv,czm_computePosition:Ev,czm_cosineAndSine:bv,czm_decompressTextureCoordinates:Sv,czm_defaultPbrMaterial:Dv,czm_depthClamp:vv,czm_eastNorthUpToEyeCoordinates:wv,czm_ellipsoidContainsPoint:Iv,czm_ellipsoidWgs84TextureCoordinates:Pv,czm_equalsEpsilon:Ov,czm_eyeOffset:Rv,czm_eyeToWindowCoordinates:Bv,czm_fastApproximateAtan:Mv,czm_fog:Lv,czm_gammaCorrect:Nv,czm_geodeticSurfaceNormal:Fv,czm_getDefaultMaterial:Vv,czm_getLambertDiffuse:Uv,czm_getSpecular:kv,czm_getWaterNoise:zv,czm_hue:Hv,czm_inverseGamma:Gv,czm_isEmpty:Wv,czm_isFull:jv,czm_latitudeToWebMercatorFraction:Yv,czm_lineDistance:qv,czm_linearToSrgb:Xv,czm_luminance:Kv,czm_metersPerPixel:Zv,czm_modelToWindowCoordinates:Jv,czm_multiplyWithColorBalance:Qv,czm_nearFarScalar:$v,czm_octDecode:ew,czm_packDepth:tw,czm_pbrLighting:nw,czm_pbrMetallicRoughnessMaterial:iw,czm_pbrSpecularGlossinessMaterial:ow,czm_phong:rw,czm_planeDistance:sw,czm_pointAlongRay:aw,czm_rayEllipsoidIntersectionInterval:cw,czm_raySphereIntersectionInterval:lw,czm_readDepth:uw,czm_readNonPerspective:fw,czm_reverseLogDepth:dw,czm_round:hw,czm_sampleOctahedralProjection:mw,czm_saturation:pw,czm_shadowDepthCompare:_w,czm_shadowVisibility:gw,czm_signNotZero:yw,czm_sphericalHarmonics:Aw,czm_srgbToLinear:xw,czm_tangentToEyeSpaceMatrix:Cw,czm_textureCube:Tw,czm_transformPlane:Ew,czm_translateRelativeToEye:bw,czm_translucentPhong:Sw,czm_transpose:Dw,czm_unpackDepth:vw,czm_unpackFloat:ww,czm_unpackUint:Iw,czm_valueTransform:Pw,czm_vertexLogDepth:Ow,czm_windowToEyeCoordinates:Rw,czm_writeDepthClamp:Bw,czm_writeLogDepth:Mw,czm_writeNonPerspective:Lw};function IEe(e,t){let n=e;return n=n.replaceAll("version 300 es",""),n=n.replaceAll(/(texture\()/g,"texture2D("),t?(n=n.replaceAll(/(in)\s+(vec\d|mat\d|float)/g,"varying $2"),/out_FragData_(\d+)/.test(n)&&(n=`#extension GL_EXT_draw_buffers : enable +${n}`,n=n.replaceAll(/layout\s+\(location\s*=\s*\d+\)\s*out\s+vec4\s+out_FragData_\d+;/g,""),n=n.replaceAll(/out_FragData_(\d+)/g,"gl_FragData[$1]")),n=n.replaceAll(/out_FragColor/g,"gl_FragColor"),n=n.replaceAll(/out_FragColor\[(\d+)\]/g,"gl_FragColor[$1]"),n=n.replaceAll(/layout\s+\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor/g,""),/gl_FragDepth/.test(n)&&(n=`#extension GL_EXT_frag_depth : enable +${n}`,n=n.replaceAll(/gl_FragDepth/g,"gl_FragDepthEXT"))):(n=n.replaceAll(/(in)\s+(vec\d|mat\d|float)/g,"attribute $2"),n=n.replaceAll(/(out)\s+(vec\d|mat\d|float)\s+([\w]+);/g,"varying $2 $3;")),n=`#version 100 +${n}`,n}var Nw=IEe;function NJ(e){return e=e.replace(/\/\/.*/g,""),e.replace(/\/\*\*[\s\S]*?\*\//gm,function(t){let n=t.match(/\n/gm).length,i="";for(let o=0;o<n;++o)i+=` +`;return i})}function FJ(e,t,n){let i;for(let o=0;o<n.length;++o)n[o].name===e&&(i=n[o]);return u(i)||(t=NJ(t),i={name:e,glslSource:t,dependsOn:[],requiredBy:[],evaluated:!1},n.push(i)),i}function VJ(e,t){if(e.evaluated)return;e.evaluated=!0;let n=e.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);u(n)&&n!==null&&(n=n.filter(function(i,o){return n.indexOf(i)===o}),n.forEach(function(i){if(i!==e.name&&gs._czmBuiltinsAndUniforms.hasOwnProperty(i)){let o=FJ(i,gs._czmBuiltinsAndUniforms[i],t);e.dependsOn.push(o),o.requiredBy.push(e),VJ(o,t)}}))}function PEe(e){let t=[],n=[];for(;e.length>0;){let o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){let o=t.shift();e.push(o);for(let r=0;r<o.dependsOn.length;++r){let s=o.dependsOn[r],a=s.requiredBy.indexOf(o);s.requiredBy.splice(a,1),s.requiredBy.length===0&&t.push(s)}}let i=[];for(let o=0;o<n.length;++o)n[o].requiredBy.length!==0&&i.push(n[o])}function OEe(e){let t=[],n=FJ("main",e,t);VJ(n,t),PEe(t);let i="";for(let o=t.length-1;o>=0;--o)i=`${i+t[o].glslSource} +`;return i.replace(n.glslSource,"")}function UJ(e,t,n){let i,o,r="",s=e.sources;if(u(s))for(i=0,o=s.length;i<o;++i)r+=` +#line 0 +${s[i]}`;r=NJ(r);let a;r=r.replace(/#version\s+(.*?)\n/gm,function(A,x){return a=x,` +`});let c=[];r=r.replace(/#extension.*\n/gm,function(A){return c.push(A),` +`}),r=r.replace(/precision\s(lowp|mediump|highp)\s(float|int);/,"");let l=e.pickColorQualifier;u(l)&&(r=gs.createPickFragmentShaderSource(r,l));let f="",d=c.length;for(i=0;i<d;i++)f+=c[i];t&&(f+=`#ifdef GL_FRAGMENT_PRECISION_HIGH + precision highp float; + precision highp int; +#else + precision mediump float; + precision mediump int; + #define highp mediump +#endif + +`);let p=e.defines;if(u(p))for(i=0,o=p.length;i<o;++i){let A=p[i];A.length!==0&&(f+=`#define ${A} +`)}n.textureFloatLinear&&(f+=`#define OES_texture_float_linear + +`),n.floatingPointTexture&&(f+=`#define OES_texture_float + +`);let g="";e.includeBuiltIns&&(g=OEe(r)),f+=` +#line 0 +`;let m=g+r;return n.webgl2&&t&&!/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g.test(m)&&!/czm_out_FragColor/g.test(m)&&/out_FragColor/g.test(m)&&(f+=`layout(location = 0) out vec4 out_FragColor; + +`),f+=g,f+=r,n.webgl2?f=`#version 300 es +${f}`:f=Nw(f,t),f}function gs(e){e=y(e,y.EMPTY_OBJECT);let t=e.pickColorQualifier;this.defines=u(e.defines)?e.defines.slice(0):[],this.sources=u(e.sources)?e.sources.slice(0):[],this.pickColorQualifier=t,this.includeBuiltIns=y(e.includeBuiltIns,!0)}gs.prototype.clone=function(){return new gs({sources:this.sources,defines:this.defines,pickColorQualifier:this.pickColorQualifier,includeBuiltIns:this.includeBuiltIns})};gs.replaceMain=function(e,t){return t=`void ${t}()`,e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,t)};gs.prototype.getCacheKey=function(){let t=this.defines.slice().sort().join(","),n=this.pickColorQualifier,i=this.includeBuiltIns,o=this.sources.join(` +`);return`${t}:${n}:${i}:${o}`};gs.prototype.createCombinedVertexShader=function(e){return UJ(this,!1,e)};gs.prototype.createCombinedFragmentShader=function(e){return UJ(this,!0,e)};gs._czmBuiltinsAndUniforms={};for(let e in C0)C0.hasOwnProperty(e)&&(gs._czmBuiltinsAndUniforms[e]=C0[e]);for(let e in Pm)if(Pm.hasOwnProperty(e)){let t=Pm[e];typeof t.getDeclaration=="function"&&(gs._czmBuiltinsAndUniforms[e]=t.getDeclaration(e))}gs.createPickVertexShaderSource=function(e){return`${gs.replaceMain(e,"czm_old_main")} +in vec4 pickColor; +out vec4 czm_pickColor; +void main() +{ + czm_old_main(); + czm_pickColor = pickColor; +}`};gs.createPickFragmentShaderSource=function(e,t){let n=gs.replaceMain(e,"czm_old_main"),i=`${t} vec4 czm_pickColor; +void main() +{ + czm_old_main(); + if (out_FragColor.a == 0.0) { + discard; + } + out_FragColor = czm_pickColor; +}`;return`${n} +${i}`};function REe(e,t){let n=e.defines,i=n.length;for(let o=0;o<i;++o)if(n[o]===t)return!0;return!1}function kJ(e,t){let n=e.sources,i=n.length;for(let o=0;o<i;++o)if(n[o].indexOf(t)!==-1)return!0;return!1}function zJ(e,t){let n=t.length;for(let i=0;i<n;++i){let o=t[i];if(kJ(e,o))return o}}var BEe=["v_normalEC","v_normal"];gs.findNormalVarying=function(e){return kJ(e,"#ifdef HAS_NORMALS")?REe(e,"HAS_NORMALS")?"v_normalEC":void 0:zJ(e,BEe)};var MEe=["v_positionEC"];gs.findPositionVarying=function(e){return zJ(e,MEe)};var ke=gs;function jf(e){this._context=e,this._shaders={},this._numberOfShaders=0,this._shadersToRelease={}}Object.defineProperties(jf.prototype,{numberOfShaders:{get:function(){return this._numberOfShaders}}});jf.prototype.replaceShaderProgram=function(e){return u(e.shaderProgram)&&e.shaderProgram.destroy(),this.getShaderProgram(e)};function LEe(e){let t=Object.keys(e).sort();return JSON.stringify(e,t)}jf.prototype.getShaderProgram=function(e){let t=e.vertexShaderSource,n=e.fragmentShaderSource,i=e.attributeLocations;typeof t=="string"&&(t=new ke({sources:[t]})),typeof n=="string"&&(n=new ke({sources:[n]}));let o=t.getCacheKey(),r=n.getCacheKey(),s=u(i)?LEe(i):"",a=`${o}:${r}:${s}`,c;if(u(this._shaders[a]))c=this._shaders[a],delete this._shadersToRelease[a];else{let l=this._context,f=t.createCombinedVertexShader(l),d=n.createCombinedFragmentShader(l),p=new Xt({gl:l._gl,logShaderCompilation:l.logShaderCompilation,debugShaders:l.debugShaders,vertexShaderSource:t,vertexShaderText:f,fragmentShaderSource:n,fragmentShaderText:d,attributeLocations:i});c={cache:this,shaderProgram:p,keyword:a,derivedKeywords:[],count:0},p._cachedShader=c,this._shaders[a]=c,++this._numberOfShaders}return++c.count,c.shaderProgram};jf.prototype.replaceDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=this._shaders[o];if(u(r)){LG(this,r);let s=i.derivedKeywords.indexOf(t);s>-1&&i.derivedKeywords.splice(s,1)}return this.createDerivedShaderProgram(e,t,n)};jf.prototype.getDerivedShaderProgram=function(e,t){let n=e._cachedShader,i=t+n.keyword,o=this._shaders[i];if(u(o))return o.shaderProgram};jf.prototype.createDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=n.vertexShaderSource,s=n.fragmentShaderSource,a=n.attributeLocations;typeof r=="string"&&(r=new ke({sources:[r]})),typeof s=="string"&&(s=new ke({sources:[s]}));let c=this._context,l=r.createCombinedVertexShader(c),f=s.createCombinedFragmentShader(c),d=new Xt({gl:c._gl,logShaderCompilation:c.logShaderCompilation,debugShaders:c.debugShaders,vertexShaderSource:r,vertexShaderText:l,fragmentShaderSource:s,fragmentShaderText:f,attributeLocations:a}),p={cache:this,shaderProgram:d,keyword:o,derivedKeywords:[],count:0};return i.derivedKeywords.push(t),d._cachedShader=p,this._shaders[o]=p,d};function LG(e,t){let n=t.derivedKeywords,i=n.length;for(let o=0;o<i;++o){let r=n[o]+t.keyword,s=e._shaders[r];LG(e,s)}delete e._shaders[t.keyword],t.shaderProgram.finalDestroy()}jf.prototype.destroyReleasedShaderPrograms=function(){let e=this._shadersToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];LG(this,n),--this._numberOfShaders}this._shadersToRelease={}};jf.prototype.releaseShaderProgram=function(e){if(u(e)){let t=e._cachedShader;t&&--t.count===0&&(this._shadersToRelease[t.keyword]=t)}};jf.prototype.isDestroyed=function(){return!1};jf.prototype.destroy=function(){let e=this._shaders;for(let t in e)e.hasOwnProperty(t)&&e[t].shaderProgram.finalDestroy();return le(this)};var Fw=jf;function Yf(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=e.width,i=e.height,o=e.source;u(o)&&(u(n)||(n=y(o.videoWidth,o.width)),u(i)||(i=y(o.videoHeight,o.height)));let r=y(e.pixelFormat,rt.RGBA),s=y(e.pixelDatatype,Xe.UNSIGNED_BYTE),a=rt.toInternalFormat(r,s,t),c=rt.isCompressedFormat(a),l=e.preMultiplyAlpha||r===rt.RGB||r===rt.LUMINANCE,f=y(e.flipY,!0),d=y(e.skipColorSpaceConversion,!1),p=!0,g=t._gl,m=g.TEXTURE_2D,A=g.createTexture();g.activeTexture(g.TEXTURE0),g.bindTexture(m,A);let x=4;if(u(o)&&u(o.arrayBufferView)&&!c&&(x=rt.alignmentInBytes(r,s,n)),g.pixelStorei(g.UNPACK_ALIGNMENT,x),d?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),u(o))if(u(o.arrayBufferView)){g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1);let T=o.arrayBufferView,E,S,D;if(c){if(g.compressedTexImage2D(m,0,a,n,i,0,T),u(o.mipLevels))for(S=n,D=i,E=0;E<o.mipLevels.length;++E)S=Math.floor(S/2)|0,S<1&&(S=1),D=Math.floor(D/2)|0,D<1&&(D=1),g.compressedTexImage2D(m,E+1,a,S,D,0,o.mipLevels[E])}else if(f&&(T=rt.flipY(T,r,s,n,i)),g.texImage2D(m,0,a,n,i,0,r,Xe.toWebGLConstant(s,t),T),u(o.mipLevels))for(S=n,D=i,E=0;E<o.mipLevels.length;++E)S=Math.floor(S/2)|0,S<1&&(S=1),D=Math.floor(D/2)|0,D<1&&(D=1),g.texImage2D(m,E+1,a,S,D,0,r,Xe.toWebGLConstant(s,t),o.mipLevels[E])}else u(o.framebuffer)?(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1),o.framebuffer!==t.defaultFramebuffer&&o.framebuffer._bind(),g.copyTexImage2D(m,0,a,o.xOffset,o.yOffset,n,i,0),o.framebuffer!==t.defaultFramebuffer&&o.framebuffer._unBind()):(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,l),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,f),g.texImage2D(m,0,a,r,Xe.toWebGLConstant(s,t),o));else g.texImage2D(m,0,a,n,i,0,r,Xe.toWebGLConstant(s,t),null),p=!1;g.bindTexture(m,null);let C;c?C=rt.compressedTextureSizeInBytes(r,n,i):C=rt.textureSizeInBytes(r,s,n,i),this._id=zn(),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=m,this._texture=A,this._internalFormat=a,this._pixelFormat=r,this._pixelDatatype=s,this._width=n,this._height=i,this._dimensions=new H(n,i),this._hasMipmap=!1,this._sizeInBytes=C,this._preMultiplyAlpha=l,this._flipY=f,this._initialized=p,this._sampler=void 0,this.sampler=u(e.sampler)?e.sampler:new ln}Yf.create=function(e){return new Yf(e)};Yf.fromFramebuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,i=y(e.pixelFormat,rt.RGB),o=y(e.framebufferXOffset,0),r=y(e.framebufferYOffset,0),s=y(e.width,n.drawingBufferWidth),a=y(e.height,n.drawingBufferHeight),c=e.framebuffer;return new Yf({context:t,width:s,height:a,pixelFormat:i,source:{framebuffer:u(c)?c:t.defaultFramebuffer,xOffset:o,yOffset:r,width:s,height:a}})};Object.defineProperties(Yf.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(e){let t=e.minificationFilter,n=e.magnificationFilter,i=this._context,o=this._pixelFormat,r=this._pixelDatatype,s=t===an.NEAREST_MIPMAP_NEAREST||t===an.NEAREST_MIPMAP_LINEAR||t===an.LINEAR_MIPMAP_NEAREST||t===an.LINEAR_MIPMAP_LINEAR;(r===Xe.FLOAT&&!i.textureFloatLinear||r===Xe.HALF_FLOAT&&!i.textureHalfFloatLinear)&&(t=s?an.NEAREST_MIPMAP_NEAREST:an.NEAREST,n=yi.NEAREST),i.webgl2&&rt.isDepthFormat(o)&&(t=an.NEAREST,n=yi.NEAREST);let a=i._gl,c=this._textureTarget;a.activeTexture(a.TEXTURE0),a.bindTexture(c,this._texture),a.texParameteri(c,a.TEXTURE_MIN_FILTER,t),a.texParameteri(c,a.TEXTURE_MAG_FILTER,n),a.texParameteri(c,a.TEXTURE_WRAP_S,e.wrapS),a.texParameteri(c,a.TEXTURE_WRAP_T,e.wrapT),u(this._textureFilterAnisotropic)&&a.texParameteri(c,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),a.bindTexture(c,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},dimensions:{get:function(){return this._dimensions}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},_target:{get:function(){return this._textureTarget}}});Yf.prototype.copyFrom=function(e){let t=y(e.xOffset,0),n=y(e.yOffset,0),i=e.source,o=this._context,r=o._gl,s=this._textureTarget;r.activeTexture(r.TEXTURE0),r.bindTexture(s,this._texture);let a=i.width,c=i.height,l=i.arrayBufferView,f=this._width,d=this._height,p=this._internalFormat,g=this._pixelFormat,m=this._pixelDatatype,A=this._preMultiplyAlpha,x=this._flipY,C=y(e.skipColorSpaceConversion,!1),T=4;u(l)&&(T=rt.alignmentInBytes(g,m,a)),r.pixelStorei(r.UNPACK_ALIGNMENT,T),C?r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,r.NONE):r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,r.BROWSER_DEFAULT_WEBGL);let E=!1;if(!this._initialized){if(t===0&&n===0&&a===f&&c===d)u(l)?(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),x&&(l=rt.flipY(l,g,m,f,d)),r.texImage2D(s,0,p,f,d,0,g,Xe.toWebGLConstant(m,o),l)):(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,A),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,x),r.texImage2D(s,0,p,g,Xe.toWebGLConstant(m,o),i)),E=!0;else{r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);let S=rt.createTypedArray(g,m,f,d);r.texImage2D(s,0,p,f,d,0,g,Xe.toWebGLConstant(m,o),S)}this._initialized=!0}E||(u(l)?(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),x&&(l=rt.flipY(l,g,m,a,c)),r.texSubImage2D(s,0,t,n,a,c,g,Xe.toWebGLConstant(m,o),l)):(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,A),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,x),r.texSubImage2D(s,0,t,n,g,Xe.toWebGLConstant(m,o),i))),r.bindTexture(s,null)};Yf.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._width),r=y(r,this._height);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(a,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};Yf.prototype.generateMipmap=function(e){e=y(e,Ah.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};Yf.prototype.isDestroyed=function(){return!1};Yf.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),le(this)};var It=Yf;function T0(){this._textures={},this._numberOfTextures=0,this._texturesToRelease={}}Object.defineProperties(T0.prototype,{numberOfTextures:{get:function(){return this._numberOfTextures}}});T0.prototype.getTexture=function(e){let t=this._textures[e];if(u(t))return delete this._texturesToRelease[e],++t.count,t.texture};T0.prototype.addTexture=function(e,t){let n={texture:t,count:1};t.finalDestroy=t.destroy;let i=this;t.destroy=function(){--n.count===0&&(i._texturesToRelease[e]=n)},this._textures[e]=n,++this._numberOfTextures};T0.prototype.destroyReleasedTextures=function(){let e=this._texturesToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];delete this._textures[t],n.texture.finalDestroy(),--this._numberOfTextures}this._texturesToRelease={}};T0.prototype.isDestroyed=function(){return!1};T0.prototype.destroy=function(){let e=this._textures;for(let t in e)e.hasOwnProperty(t)&&e[t].texture.finalDestroy();return le(this)};var Vw=T0;function xh(){this.high=h.clone(h.ZERO),this.low=h.clone(h.ZERO)}xh.encode=function(e,t){u(t)||(t={high:0,low:0});let n;return e>=0?(n=Math.floor(e/65536)*65536,t.high=n,t.low=e-n):(n=Math.floor(-e/65536)*65536,t.high=-n,t.low=e+n),t};var zm={high:0,low:0};xh.fromCartesian=function(e,t){u(t)||(t=new xh);let n=t.high,i=t.low;return xh.encode(e.x,zm),n.x=zm.high,i.x=zm.low,xh.encode(e.y,zm),n.y=zm.high,i.y=zm.low,xh.encode(e.z,zm),n.z=zm.high,i.z=zm.low,t};var NG=new xh;xh.writeElements=function(e,t,n){xh.fromCartesian(e,NG);let i=NG.high,o=NG.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z};var Hn=xh;function ys(e,t){this.normal=h.clone(e),this.distance=t}ys.fromPointNormal=function(e,t,n){let i=-h.dot(t,e);return u(n)?(h.clone(t,n.normal),n.distance=i,n):new ys(t,i)};var NEe=new h;ys.fromCartesian4=function(e,t){let n=h.fromCartesian4(e,NEe),i=e.w;return u(t)?(h.clone(n,t.normal),t.distance=i,t):new ys(n,i)};ys.getPointDistance=function(e,t){return h.dot(e.normal,t)+e.distance};var FEe=new h;ys.projectPointOntoPlane=function(e,t,n){u(n)||(n=new h);let i=ys.getPointDistance(e,t),o=h.multiplyByScalar(e.normal,i,FEe);return h.subtract(t,o,n)};var VEe=new M,UEe=new oe,kEe=new h;ys.transform=function(e,t,n){let i=e.normal,o=e.distance,r=M.inverseTranspose(t,VEe),s=oe.fromElements(i.x,i.y,i.z,o,UEe);s=M.multiplyByVector(r,s,s);let a=h.fromCartesian4(s,kEe);return s=oe.divideByScalar(s,h.magnitude(a),s),ys.fromCartesian4(s,n)};ys.clone=function(e,t){return u(t)?(h.clone(e.normal,t.normal),t.distance=e.distance,t):new ys(e.normal,e.distance)};ys.equals=function(e,t){return e.distance===t.distance&&h.equals(e.normal,t.normal)};ys.ORIGIN_XY_PLANE=Object.freeze(new ys(h.UNIT_Z,0));ys.ORIGIN_YZ_PLANE=Object.freeze(new ys(h.UNIT_X,0));ys.ORIGIN_ZX_PLANE=Object.freeze(new ys(h.UNIT_Y,0));var cn=ys;function Fu(e){this.planes=y(e,[])}var Uw=[new h,new h,new h];h.clone(h.UNIT_X,Uw[0]);h.clone(h.UNIT_Y,Uw[1]);h.clone(h.UNIT_Z,Uw[2]);var X_=new h,zEe=new h,HJ=new cn(new h(1,0,0),0);Fu.fromBoundingSphere=function(e,t){u(t)||(t=new Fu);let n=Uw.length,i=t.planes;i.length=2*n;let o=e.center,r=e.radius,s=0;for(let a=0;a<n;++a){let c=Uw[a],l=i[s],f=i[s+1];u(l)||(l=i[s]=new oe),u(f)||(f=i[s+1]=new oe),h.multiplyByScalar(c,-r,X_),h.add(o,X_,X_),l.x=c.x,l.y=c.y,l.z=c.z,l.w=-h.dot(c,X_),h.multiplyByScalar(c,r,X_),h.add(o,X_,X_),f.x=-c.x,f.y=-c.y,f.z=-c.z,f.w=-h.dot(h.negate(c,zEe),X_),s+=2}return t};Fu.prototype.computeVisibility=function(e){let t=this.planes,n=!1;for(let i=0,o=t.length;i<o;++i){let r=e.intersectPlane(cn.fromCartesian4(t[i],HJ));if(r===Qt.OUTSIDE)return Qt.OUTSIDE;r===Qt.INTERSECTING&&(n=!0)}return n?Qt.INTERSECTING:Qt.INSIDE};Fu.prototype.computeVisibilityWithPlaneMask=function(e,t){if(t===Fu.MASK_OUTSIDE||t===Fu.MASK_INSIDE)return t;let n=Fu.MASK_INSIDE,i=this.planes;for(let o=0,r=i.length;o<r;++o){let s=o<31?1<<o:0;if(o<31&&!(t&s))continue;let a=e.intersectPlane(cn.fromCartesian4(i[o],HJ));if(a===Qt.OUTSIDE)return Fu.MASK_OUTSIDE;a===Qt.INTERSECTING&&(n|=s)}return n};Fu.MASK_OUTSIDE=4294967295;Fu.MASK_INSIDE=0;Fu.MASK_INDETERMINATE=2147483647;var $r=Fu;function Ch(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new $r,this._orthographicMatrix=new M}function GJ(e){(e.top!==e._top||e.bottom!==e._bottom||e.left!==e._left||e.right!==e._right||e.near!==e._near||e.far!==e._far)&&(e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=M.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix))}Object.defineProperties(Ch.prototype,{projectionMatrix:{get:function(){return GJ(this),this._orthographicMatrix}}});var HEe=new h,GEe=new h,WEe=new h,FG=new h;Ch.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,l=this.far,f=h.cross(t,n,HEe);h.normalize(f,f);let d=GEe;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=WEe;h.multiplyByScalar(f,a,p),h.add(d,p,p);let g=i[0];return u(g)||(g=i[0]=new oe),g.x=f.x,g.y=f.y,g.z=f.z,g.w=-h.dot(f,p),h.multiplyByScalar(f,s,p),h.add(d,p,p),g=i[1],u(g)||(g=i[1]=new oe),g.x=-f.x,g.y=-f.y,g.z=-f.z,g.w=-h.dot(h.negate(f,FG),p),h.multiplyByScalar(n,r,p),h.add(d,p,p),g=i[2],u(g)||(g=i[2]=new oe),g.x=n.x,g.y=n.y,g.z=n.z,g.w=-h.dot(n,p),h.multiplyByScalar(n,o,p),h.add(d,p,p),g=i[3],u(g)||(g=i[3]=new oe),g.x=-n.x,g.y=-n.y,g.z=-n.z,g.w=-h.dot(h.negate(n,FG),p),g=i[4],u(g)||(g=i[4]=new oe),g.x=t.x,g.y=t.y,g.z=t.z,g.w=-h.dot(t,d),h.multiplyByScalar(t,l,p),h.add(e,p,p),g=i[5],u(g)||(g=i[5]=new oe),g.x=-t.x,g.y=-t.y,g.z=-t.z,g.w=-h.dot(h.negate(t,FG),p),this._cullingVolume};Ch.prototype.getPixelDimensions=function(e,t,n,i,o){GJ(this);let r=this.right-this.left,s=this.top-this.bottom,a=i*r/e,c=i*s/t;return o.x=a,o.y=c,o};Ch.prototype.clone=function(e){return u(e)||(e=new Ch),e.left=this.left,e.right=this.right,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};Ch.prototype.equals=function(e){return u(e)&&e instanceof Ch&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};Ch.prototype.equalsEpsilon=function(e,t,n){return e===this||u(e)&&e instanceof Ch&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var Tr=Ch;function nl(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new Tr,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far}nl.packedLength=4;nl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.width,t[n++]=e.aspectRatio,t[n++]=e.near,t[n]=e.far,t};nl.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new nl),n.width=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t],n};function E0(e){let t=e._offCenterFrustum;if(e.width!==e._width||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far){e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far;let n=1/e.aspectRatio;t.right=e.width*.5,t.left=-t.right,t.top=n*t.right,t.bottom=-t.top,t.near=e.near,t.far=e.far}}Object.defineProperties(nl.prototype,{projectionMatrix:{get:function(){return E0(this),this._offCenterFrustum.projectionMatrix}}});nl.prototype.computeCullingVolume=function(e,t,n){return E0(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};nl.prototype.getPixelDimensions=function(e,t,n,i,o){return E0(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};nl.prototype.clone=function(e){return u(e)||(e=new nl),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};nl.prototype.equals=function(e){return!u(e)||!(e instanceof nl)?!1:(E0(this),E0(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};nl.prototype.equalsEpsilon=function(e,t,n){return!u(e)||!(e instanceof nl)?!1:(E0(this),E0(e),P.equalsEpsilon(this.width,e.width,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var en=nl;var VG={};function jEe(e){let t=6.239996+.0172019696544*e;return .001657*Math.sin(t+.01671*Math.sin(t))}var YEe=32.184,qEe=2451545;function cQ(e,t){t=$.addSeconds(e,YEe,t);let n=$.totalDays(t)-qEe;return t=$.addSeconds(t,jEe(n),t),t}var G3=new $(2451545,0,qn.TAI),XEe=1e3,Vu=P.RADIANS_PER_DEGREE,Fl=P.RADIANS_PER_ARCSECOND,sa=14959787e4,WJ=new Z;function lQ(e,t,n,i,o,r,s){n<0&&(n=-n,o+=P.PI);let a=e*(1-t),c=i-o,l=o,f=ZEe(r-i,t),d=KEe(t,0);tbe(c,n,l,WJ);let p=a*(1+t),g=Math.cos(f),m=Math.sin(f),A=1+t*g,x=p/A;return u(s)?(s.x=x*g,s.y=x*m,s.z=0):s=new h(x*g,x*m,0),Z.multiplyByVector(WJ,s,s)}function KEe(e,t){return e<=t?"Circular":e<1-t?"Elliptical":e<=1+t?"Parabolic":"Hyperbolic"}function ZEe(e,t){let n=$Ee(e,t);return ebe(n,t)}var JEe=50,QEe=P.EPSILON8;function $Ee(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=e+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),o=Number.MAX_VALUE,r;for(r=0;r<JEe&&Math.abs(o-i)>QEe;++r){o=i;let s=o-t*Math.sin(o)-e,a=1-t*Math.cos(o);i=o-s/a}return o=i+n*P.TWO_PI,o}function ebe(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=Math.cos(e)-t,o=Math.sin(e)*Math.sqrt(1-t*t),r=Math.atan2(o,i);return r=P.zeroToTwoPi(r),e<0&&(r-=P.TWO_PI),r+=n*P.TWO_PI,r}function tbe(e,t,n,i){let o=Math.cos(e),r=Math.sin(e),s=Math.cos(t),a=Math.sin(t),c=Math.cos(n),l=Math.sin(n);return u(i)?(i[0]=c*o-l*r*s,i[1]=l*o+c*r*s,i[2]=r*a,i[3]=-c*r-l*o*s,i[4]=-l*r+c*o*s,i[5]=o*a,i[6]=l*a,i[7]=-c*a,i[8]=s):i=new Z(c*o-l*r*s,-c*r-l*o*s,l*a,l*o+c*r*s,-l*r+c*o*s,-c*a,r*a,o*a,s),i}var nbe=1.0000010178*sa,ibe=100.46645683*Vu,obe=129597742283429e-5*Fl,jJ=16002,YJ=21863,qJ=32004,XJ=10931,KJ=14529,ZJ=16368,JJ=15318,QJ=32794,rbe=64*1e-7*sa,sbe=-152*1e-7*sa,abe=62*1e-7*sa,cbe=-8*1e-7*sa,lbe=32*1e-7*sa,ube=-41*1e-7*sa,fbe=19*1e-7*sa,dbe=-11*1e-7*sa,hbe=-150*1e-7*sa,mbe=-46*1e-7*sa,pbe=68*1e-7*sa,_be=54*1e-7*sa,gbe=14*1e-7*sa,ybe=24*1e-7*sa,Abe=-28*1e-7*sa,xbe=22*1e-7*sa,$J=10,eQ=16002,tQ=21863,nQ=10931,iQ=1473,oQ=32004,rQ=4387,sQ=73,Cbe=-325*1e-7,Tbe=-322*1e-7,Ebe=-79*1e-7,bbe=232*1e-7,Sbe=-52*1e-7,Dbe=97*1e-7,vbe=55*1e-7,wbe=-41*1e-7,Ibe=-105*1e-7,Pbe=-137*1e-7,Obe=258*1e-7,Rbe=35*1e-7,Bbe=-116*1e-7,Mbe=-88*1e-7,Lbe=-112*1e-7,Nbe=-80*1e-7,QC=new $(0,0,qn.TAI);function Fbe(e,t){cQ(e,QC);let i=(QC.dayNumber-G3.dayNumber+(QC.secondsOfDay-G3.secondsOfDay)/Qn.SECONDS_PER_DAY)/(Qn.DAYS_PER_JULIAN_CENTURY*10),o=.3595362*i,r=nbe+rbe*Math.cos(jJ*o)+hbe*Math.sin(jJ*o)+sbe*Math.cos(YJ*o)+mbe*Math.sin(YJ*o)+abe*Math.cos(qJ*o)+pbe*Math.sin(qJ*o)+cbe*Math.cos(XJ*o)+_be*Math.sin(XJ*o)+lbe*Math.cos(KJ*o)+gbe*Math.sin(KJ*o)+ube*Math.cos(ZJ*o)+ybe*Math.sin(ZJ*o)+fbe*Math.cos(JJ*o)+Abe*Math.sin(JJ*o)+dbe*Math.cos(QJ*o)+xbe*Math.sin(QJ*o),s=ibe+obe*i+Cbe*Math.cos($J*o)+Ibe*Math.sin($J*o)+Tbe*Math.cos(eQ*o)+Pbe*Math.sin(eQ*o)+Ebe*Math.cos(tQ*o)+Obe*Math.sin(tQ*o)+bbe*Math.cos(nQ*o)+Rbe*Math.sin(nQ*o)+Sbe*Math.cos(iQ*o)+Bbe*Math.sin(iQ*o)+Dbe*Math.cos(oQ*o)+Mbe*Math.sin(oQ*o)+vbe*Math.cos(rQ*o)+Lbe*Math.sin(rQ*o)+wbe*Math.cos(sQ*o)+Nbe*Math.sin(sQ*o),a=.0167086342-.0004203654*i,c=102.93734808*Vu+11612.3529*Fl*i,l=469.97289*Fl*i,f=174.87317577*Vu-8679.27034*Fl*i;return lQ(r,a,l,c,f,s,t)}function uQ(e,t){cQ(e,QC);let i=(QC.dayNumber-G3.dayNumber+(QC.secondsOfDay-G3.secondsOfDay)/Qn.SECONDS_PER_DAY)/Qn.DAYS_PER_JULIAN_CENTURY,o=i*i,r=o*i,s=r*i,a=383397.7725+.004*i,c=.055545526-16e-9*i,l=5.15668983*Vu,f=-8e-5*i+.02966*o-42e-6*r-13e-8*s,d=83.35324312*Vu,p=146434202669e-4*i-38.2702*o-.045047*r+21301e-8*s,g=125.04455501*Vu,m=-69679193631e-4*i+6.3602*o+.007625*r-3586e-8*s,A=218.31664563*Vu,x=17325593434847e-4*i-6.391*o+.006588*r-3169e-8*s,C=297.85019547*Vu+Fl*(1602961601209e-3*i-6.3706*o+.006593*r-3169e-8*s),T=93.27209062*Vu+Fl*(17395272628478e-4*i-12.7512*o-.001037*r+417e-8*s),E=134.96340251*Vu+Fl*(17179159232178e-4*i+31.8792*o+.051635*r-2447e-7*s),S=357.52910918*Vu+Fl*(1295965810481e-4*i-.5532*o+136e-6*r-1149e-8*s),D=310.17137918*Vu-Fl*(6967051436e-3*i+6.2068*o+.007618*r-3219e-8*s),w=2*C,R=4*C,O=6*C,L=2*E,N=3*E,_=4*E,b=2*T;a+=3400.4*Math.cos(w)-635.6*Math.cos(w-E)-235.6*Math.cos(E)+218.1*Math.cos(w-S)+181*Math.cos(w+E),c+=.014216*Math.cos(w-E)+.008551*Math.cos(w-L)-.001383*Math.cos(E)+.001356*Math.cos(w+E)-.001147*Math.cos(R-N)-914e-6*Math.cos(R-L)+869e-6*Math.cos(w-S-E)-627e-6*Math.cos(w)-394e-6*Math.cos(R-_)+282e-6*Math.cos(w-S-L)-279e-6*Math.cos(C-E)-236e-6*Math.cos(L)+231e-6*Math.cos(R)+229e-6*Math.cos(O-_)-201e-6*Math.cos(L-b),f+=486.26*Math.cos(w-b)-40.13*Math.cos(w)+37.51*Math.cos(b)+25.73*Math.cos(L-b)+19.97*Math.cos(w-S-b),p+=-55609*Math.sin(w-E)-34711*Math.sin(w-L)-9792*Math.sin(E)+9385*Math.sin(R-N)+7505*Math.sin(R-L)+5318*Math.sin(w+E)+3484*Math.sin(R-_)-3417*Math.sin(w-S-E)-2530*Math.sin(O-_)-2376*Math.sin(w)-2075*Math.sin(w-N)-1883*Math.sin(L)-1736*Math.sin(O-5*E)+1626*Math.sin(S)-1370*Math.sin(O-N),m+=-5392*Math.sin(w-b)-540*Math.sin(S)-441*Math.sin(w)+423*Math.sin(b)-288*Math.sin(L-b),x+=-3332.9*Math.sin(w)+1197.4*Math.sin(w-E)-662.5*Math.sin(S)+396.3*Math.sin(E)-218*Math.sin(w-S);let v=2*D,I=3*D;f+=46.997*Math.cos(D)*i-.614*Math.cos(w-b+D)*i+.614*Math.cos(w-b-D)*i-.0297*Math.cos(v)*o-.0335*Math.cos(D)*o+.0012*Math.cos(w-b+v)*o-16e-5*Math.cos(D)*r+4e-5*Math.cos(I)*r+4e-5*Math.cos(v)*r;let B=2.116*Math.sin(D)*i-.111*Math.sin(w-b-D)*i-.0015*Math.sin(D)*o;p+=B,x+=B,m+=-520.77*Math.sin(D)*i+13.66*Math.sin(w-b+D)*i+1.12*Math.sin(w-D)*i-1.06*Math.sin(b-D)*i+.66*Math.sin(v)*o+.371*Math.sin(D)*o-.035*Math.sin(w-b+v)*o-.015*Math.sin(w-b+D)*o+.0014*Math.sin(D)*r-.0011*Math.sin(I)*r-9e-4*Math.sin(v)*r,a*=XEe;let F=l+f*Fl,k=d+p*Fl,U=A+x*Fl,G=g+m*Fl;return lQ(a,c,F,k,G,U,t)}var aQ=.012300034,Vbe=aQ/(aQ+1)*-1;function Ube(e,t){return t=uQ(e,t),h.multiplyByScalar(t,Vbe,t)}var fQ=new Z(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),kw=new h;VG.computeSunPositionInEarthInertialFrame=function(e,t){return u(e)||(e=$.now()),u(t)||(t=new h),kw=Fbe(e,kw),t=h.negate(kw,t),Ube(e,kw),h.subtract(t,kw,t),Z.multiplyByVector(fQ,t,t),t};VG.computeMoonPositionInEarthInertialFrame=function(e,t){return u(e)||(e=$.now()),t=uQ(e,t),Z.multiplyByVector(fQ,t,t),t};var K_=VG;var W3={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};W3.getMorphTime=function(e){return e===W3.SCENE3D?1:e===W3.MORPHING?void 0:0};var te=Object.freeze(W3);function kbe(e){e=y(e,y.EMPTY_OBJECT),this.color=z.clone(y(e.color,z.WHITE)),this.intensity=y(e.intensity,2)}var Hm=kbe;function $C(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new Ye,this._viewportCartesian4=new oe,this._viewportDirty=!1,this._viewportOrthographicMatrix=M.clone(M.IDENTITY),this._viewportTransformation=M.clone(M.IDENTITY),this._model=M.clone(M.IDENTITY),this._view=M.clone(M.IDENTITY),this._inverseView=M.clone(M.IDENTITY),this._projection=M.clone(M.IDENTITY),this._infiniteProjection=M.clone(M.IDENTITY),this._entireFrustum=new H,this._currentFrustum=new H,this._frustumPlanes=new oe,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=Z.clone(M.IDENTITY),this._view3DDirty=!0,this._view3D=new M,this._inverseView3DDirty=!0,this._inverseView3D=new M,this._inverseModelDirty=!0,this._inverseModel=new M,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new Z,this._viewRotation=new Z,this._inverseViewRotation=new Z,this._viewRotation3D=new Z,this._inverseViewRotation3D=new Z,this._inverseProjectionDirty=!0,this._inverseProjection=new M,this._modelViewDirty=!0,this._modelView=new M,this._modelView3DDirty=!0,this._modelView3D=new M,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new M,this._inverseModelViewDirty=!0,this._inverseModelView=new M,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new M,this._viewProjectionDirty=!0,this._viewProjection=new M,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new M,this._modelViewProjectionDirty=!0,this._modelViewProjection=new M,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new M,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new M,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new M,this._normalDirty=!0,this._normal=new Z,this._normal3DDirty=!0,this._normal3D=new Z,this._inverseNormalDirty=!0,this._inverseNormal=new Z,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new Z,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new Hn,this._cameraPosition=new h,this._sunPositionWC=new h,this._sunPositionColumbusView=new h,this._sunDirectionWC=new h,this._sunDirectionEC=new h,this._moonDirectionEC=new h,this._lightDirectionWC=new h,this._lightDirectionEC=new h,this._lightColor=new h,this._lightColorHdr=new h,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new h,this._cameraRight=new h,this._cameraUp=new h,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new H,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new z,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsDimensions=new H,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties($C.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){if(!Ye.equals(e,this._viewport)){Ye.clone(e,this._viewport);let t=this._viewport,n=this._viewportCartesian4;n.x=t.x,n.y=t.y,n.z=t.width,n.w=t.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return dQ(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return dQ(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){M.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,M.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,M.getMatrix3(this.inverseModel,e),Z.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return UG(this),this._view3D}},viewRotation:{get:function(){return UG(this),this._viewRotation}},viewRotation3D:{get:function(){return UG(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return pQ(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return pQ(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return Zbe(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return Jbe(this),this._modelView}},modelView3D:{get:function(){return Qbe(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return oSe(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return $be(this),this._inverseModelView}},inverseModelView3D:{get:function(){return eSe(this),this._inverseModelView3D}},viewProjection:{get:function(){return tSe(this),this._viewProjection}},inverseViewProjection:{get:function(){return nSe(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return iSe(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return rSe(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return sSe(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return aSe(this),this._modelViewInfiniteProjection}},normal:{get:function(){return cSe(this),this._normal}},normal3D:{get:function(){return lSe(this),this._normal3D}},inverseNormal:{get:function(){return uSe(this),this._inverseNormal}},inverseNormal3D:{get:function(){return fSe(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return mQ(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return mQ(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsDimensions:{get:function(){return this._specularEnvironmentMapsDimensions}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return y(this._ellipsoid,ie.WGS84)}}});function zbe(e,t){M.clone(t,e._view),M.getMatrix3(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function Hbe(e,t){M.clone(t,e._inverseView),M.getMatrix3(t,e._inverseViewRotation)}function Gbe(e,t){M.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function Wbe(e,t){M.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}function jbe(e,t){h.clone(t.positionWC,e._cameraPosition),h.clone(t.directionWC,e._cameraDirection),h.clone(t.rightWC,e._cameraRight),h.clone(t.upWC,e._cameraUp);let n=t.positionCartographic;u(n)?e._eyeHeight=n.height:e._eyeHeight=-e._ellipsoid.maximumRadius,e._encodedCameraPositionMCDirty=!0}var zw=new Z,Ybe=new he;function qbe(e,t){u(Ot.computeIcrfToFixedMatrix(t.time,zw))||(zw=Ot.computeTemeToPseudoFixedMatrix(t.time,zw));let n=K_.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);Z.multiplyByVector(zw,n,n),h.normalize(n,e._sunDirectionWC),n=Z.multiplyByVector(e.viewRotation3D,n,e._sunDirectionEC),h.normalize(n,n),n=K_.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),Z.multiplyByVector(zw,n,n),Z.multiplyByVector(e.viewRotation3D,n,n),h.normalize(n,n);let i=t.mapProjection,r=i.ellipsoid.cartesianToCartographic(e._sunPositionWC,Ybe);i.project(r,e._sunPositionColumbusView)}$C.prototype.updateCamera=function(e){zbe(this,e.viewMatrix),Hbe(this,e.inverseViewMatrix),jbe(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==te.SCENE2D&&e.frustum instanceof en};$C.prototype.updateFrustum=function(e){Gbe(this,e.projectionMatrix),u(e.infiniteProjectionMatrix)&&Wbe(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=P.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne,u(e._offCenterFrustum)&&(e=e._offCenterFrustum),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right};$C.prototype.updatePass=function(e){this._pass=e};var Xbe=[],Kbe=new Hm;$C.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;let t=e.camera;this.updateCamera(t),e.mode===te.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),qbe(this,e);let n=y(e.light,Kbe);n instanceof Hm?(this._lightDirectionWC=h.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=h.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=h.normalize(h.negate(n.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=Z.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let i=n.color,o=h.fromElements(i.red,i.green,i.blue,this._lightColorHdr);o=h.multiplyByScalar(o,n.intensity,o);let r=h.maximumComponent(o);r>1?h.divideByScalar(o,r,this._lightColor):h.clone(o,this._lightColor);let s=e.brdfLutGenerator,a=u(s)?s.colorTexture:void 0;this._brdfLut=a,this._environmentMap=y(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=y(e.sphericalHarmonicCoefficients,Xbe),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,u(this._specularEnvironmentMaps)&&H.clone(this._specularEnvironmentMaps.dimensions,this._specularEnvironmentMapsDimensions),this._fogDensity=e.fog.density,this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=Ot.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),this._splitPosition=e.splitPosition*e.context.drawingBufferWidth;let c=t.frustum.fov,l=this._viewport,f;u(c)?l.height>l.width?f=Math.tan(.5*c)*2/l.height:f=Math.tan(.5*c)*2/l.width:f=1/Math.max(l.width,l.height),this._geometricToleranceOverMeter=f*e.maximumScreenSpaceError,z.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function dQ(e){if(e._viewportDirty){let t=e._viewport;M.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),M.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function Zbe(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode!==te.SCENE2D&&e._mode!==te.MORPHING&&!e._orthographicIn3D?M.inverse(e._projection,e._inverseProjection):M.clone(M.ZERO,e._inverseProjection))}function Jbe(e){e._modelViewDirty&&(e._modelViewDirty=!1,M.multiplyTransformation(e._view,e._model,e._modelView))}function Qbe(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,M.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function $be(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,M.inverse(e.modelView,e._inverseModelView))}function eSe(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,M.inverse(e.modelView3D,e._inverseModelView3D))}function tSe(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,M.multiply(e._projection,e._view,e._viewProjection))}function nSe(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,M.inverse(e.viewProjection,e._inverseViewProjection))}function iSe(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,M.multiply(e._projection,e.modelView,e._modelViewProjection))}function oSe(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;let t=e.modelView,n=e._modelViewRelativeToEye;n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=0,n[13]=0,n[14]=0,n[15]=t[15]}}function rSe(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,M.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function sSe(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,M.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function aSe(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,M.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function cSe(e){if(e._normalDirty){e._normalDirty=!1;let t=e._normal;M.getMatrix3(e.inverseModelView,t),Z.getRotation(t,t),Z.transpose(t,t)}}function lSe(e){if(e._normal3DDirty){e._normal3DDirty=!1;let t=e._normal3D;M.getMatrix3(e.inverseModelView3D,t),Z.getRotation(t,t),Z.transpose(t,t)}}function uSe(e){e._inverseNormalDirty&&(e._inverseNormalDirty=!1,M.getMatrix3(e.inverseModelView,e._inverseNormal),Z.getRotation(e._inverseNormal,e._inverseNormal))}function fSe(e){e._inverseNormal3DDirty&&(e._inverseNormal3DDirty=!1,M.getMatrix3(e.inverseModelView3D,e._inverseNormal3D),Z.getRotation(e._inverseNormal3D,e._inverseNormal3D))}var hQ=new h;function mQ(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,M.multiplyByPoint(e.inverseModel,e._cameraPosition,hQ),Hn.fromCartesian(hQ,e._encodedCameraPositionMC))}var dSe=new h,hSe=new h,mSe=new h,pSe=new h,_Se=new he,gSe=new h,ySe=new M;function ASe(e,t,n,i,o,r,s,a){let c=dSe;c.x=e.y,c.y=e.z,c.z=e.x;let l=hSe;l.x=n.y,l.y=n.z,l.z=n.x;let f=mSe;f.x=i.y,f.y=i.z,f.z=i.x;let d=pSe;d.x=t.y,d.y=t.z,d.z=t.x,r===te.SCENE2D&&(c.z=o*.5);let p=s.unproject(c,_Se);p.longitude=P.clamp(p.longitude,-Math.PI,Math.PI),p.latitude=P.clamp(p.latitude,-P.PI_OVER_TWO,P.PI_OVER_TWO);let g=s.ellipsoid,m=g.cartographicToCartesian(p,gSe),A=Ot.eastNorthUpToFixedFrame(m,g,ySe);return M.multiplyByPointAsVector(A,l,l),M.multiplyByPointAsVector(A,f,f),M.multiplyByPointAsVector(A,d,d),u(a)||(a=new M),a[0]=l.x,a[1]=f.x,a[2]=-d.x,a[3]=0,a[4]=l.y,a[5]=f.y,a[6]=-d.y,a[7]=0,a[8]=l.z,a[9]=f.z,a[10]=-d.z,a[11]=0,a[12]=-h.dot(l,m),a[13]=-h.dot(f,m),a[14]=h.dot(d,m),a[15]=1,a}function UG(e){e._view3DDirty&&(e._mode===te.SCENE3D?M.clone(e._view,e._view3D):ASe(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),M.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function pQ(e){e._inverseView3DDirty&&(M.inverseTransformation(e.view3D,e._inverseView3D),M.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}var Hw=$C;function xSe(e,t,n,i){let o=u(t.vertexBuffer),r=u(t.value),s=t.value?t.value.length:t.componentsPerAttribute,a={index:y(t.index,n),enabled:y(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:r?t.value.slice(0):void 0,componentsPerAttribute:s,componentDatatype:y(t.componentDatatype,q.FLOAT),normalize:y(t.normalize,!1),offsetInBytes:y(t.offsetInBytes,0),strideInBytes:y(t.strideInBytes,0),instanceDivisor:y(t.instanceDivisor,0)};if(o)a.vertexAttrib=function(c){let l=this.index;c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),c.vertexAttribPointer(l,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),c.enableVertexAttribArray(l),this.instanceDivisor>0&&(i.glVertexAttribDivisor(l,this.instanceDivisor),i._vertexAttribDivisors[l]=this.instanceDivisor,i._previousDrawInstanced=!0)},a.disableVertexAttribArray=function(c){c.disableVertexAttribArray(this.index),this.instanceDivisor>0&&i.glVertexAttribDivisor(n,0)};else{switch(a.componentsPerAttribute){case 1:a.vertexAttrib=function(c){c.vertexAttrib1fv(this.index,this.value)};break;case 2:a.vertexAttrib=function(c){c.vertexAttrib2fv(this.index,this.value)};break;case 3:a.vertexAttrib=function(c){c.vertexAttrib3fv(this.index,this.value)};break;case 4:a.vertexAttrib=function(c){c.vertexAttrib4fv(this.index,this.value)};break}a.disableVertexAttribArray=function(c){}}e.push(a)}function gQ(e,t,n){for(let i=0;i<t.length;++i){let o=t[i];o.enabled&&o.vertexAttrib(e)}u(n)&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n._getBuffer())}function Gm(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,i=e.attributes,o=e.indexBuffer,r,s=[],a=1,c=!1,l=!1,f=i.length;for(r=0;r<f;++r)xSe(s,i[r],r,t);for(f=s.length,r=0;r<f;++r){let p=s[r];if(u(p.vertexBuffer)&&p.instanceDivisor===0){let g=p.strideInBytes||p.componentsPerAttribute*q.getSizeInBytes(p.componentDatatype);a=p.vertexBuffer.sizeInBytes/g;break}}for(r=0;r<f;++r)s[r].instanceDivisor>0&&(c=!0),u(s[r].value)&&(l=!0);let d;t.vertexArrayObject&&(d=t.glCreateVertexArray(),t.glBindVertexArray(d),gQ(n,s,o),t.glBindVertexArray(null)),this._numberOfVertices=a,this._hasInstancedAttributes=c,this._hasConstantAttributes=l,this._context=t,this._gl=n,this._vao=d,this._attributes=s,this._indexBuffer=o}function _Q(e){return e.values.length/e.componentsPerAttribute}function CSe(e){return q.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function TSe(e){let t,n,i,o=[];for(n in e)e.hasOwnProperty(n)&&u(e[n])&&u(e[n].values)&&(o.push(n),e[n].componentDatatype===q.DOUBLE&&(e[n].componentDatatype=q.FLOAT,e[n].values=q.createTypedArray(q.FLOAT,e[n].values)));let r,s=o.length;if(s>0)for(r=_Q(e[o[0]]),t=1;t<s;++t){let l=_Q(e[o[t]]);if(l!==r)throw new ue(`Each attribute list must have the same number of vertices. Attribute ${o[t]} has a different number of vertices (${l.toString()}) than attribute ${o[0]} (${r.toString()}).`)}o.sort(function(l,f){return q.getSizeInBytes(e[f].componentDatatype)-q.getSizeInBytes(e[l].componentDatatype)});let a=0,c={};for(t=0;t<s;++t)n=o[t],i=e[n],c[n]=a,a+=CSe(i);if(a>0){let l=q.getSizeInBytes(e[o[0]].componentDatatype),f=a%l;f!==0&&(a+=l-f);let d=r*a,p=new ArrayBuffer(d),g={};for(t=0;t<s;++t){n=o[t];let m=q.getSizeInBytes(e[n].componentDatatype);g[n]={pointer:q.createTypedArray(e[n].componentDatatype,p),index:c[n]/m,strideInComponentType:a/m}}for(t=0;t<r;++t)for(let m=0;m<s;++m){n=o[m],i=e[n];let A=i.values,x=g[n],C=x.pointer,T=i.componentsPerAttribute;for(let E=0;E<T;++E)C[x.index+E]=A[t*T+E];x.index+=x.strideInComponentType}return{buffer:p,offsetsInBytes:c,vertexSizeInBytes:a}}}Gm.fromGeometry=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=y(e.geometry,y.EMPTY_OBJECT),i=y(e.bufferUsage,Ne.DYNAMIC_DRAW),o=y(e.attributeLocations,y.EMPTY_OBJECT),r=y(e.interleave,!1),s=e.vertexArrayAttributes,a,c,l,f=u(s)?s:[],d=n.attributes;if(r){let m=TSe(d);if(u(m)){l=lt.createVertexBuffer({context:t,typedArray:m.buffer,usage:i});let A=m.offsetsInBytes,x=m.vertexSizeInBytes;for(a in d)d.hasOwnProperty(a)&&u(d[a])&&(c=d[a],u(c.values)?f.push({index:o[a],vertexBuffer:l,componentDatatype:c.componentDatatype,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize,offsetInBytes:A[a],strideInBytes:x}):f.push({index:o[a],value:c.value,componentDatatype:c.componentDatatype,normalize:c.normalize}))}}else for(a in d)if(d.hasOwnProperty(a)&&u(d[a])){c=d[a];let m=c.componentDatatype;m===q.DOUBLE&&(m=q.FLOAT),l=void 0,u(c.values)&&(l=lt.createVertexBuffer({context:t,typedArray:q.createTypedArray(m,c.values),usage:i})),f.push({index:o[a],vertexBuffer:l,value:c.value,componentDatatype:m,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize})}let p,g=n.indices;return u(g)&&(ct.computeNumberOfVertices(n)>=P.SIXTY_FOUR_KILOBYTES&&t.elementIndexUint?p=lt.createIndexBuffer({context:t,typedArray:new Uint32Array(g),usage:i,indexDatatype:Fe.UNSIGNED_INT}):p=lt.createIndexBuffer({context:t,typedArray:new Uint16Array(g),usage:i,indexDatatype:Fe.UNSIGNED_SHORT})),new Gm({context:t,attributes:f,indexBuffer:p})};Object.defineProperties(Gm.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});Gm.prototype.getAttribute=function(e){return this._attributes[e]};function ESe(e){let t=e._context,n=e._hasInstancedAttributes;if(!n&&!t._previousDrawInstanced)return;t._previousDrawInstanced=n;let i=t._vertexAttribDivisors,o=e._attributes,r=Ft.maximumVertexAttributes,s;if(n){let a=o.length;for(s=0;s<a;++s){let c=o[s];if(c.enabled){let l=c.instanceDivisor,f=c.index;l!==i[f]&&(t.glVertexAttribDivisor(f,l),i[f]=l)}}}else for(s=0;s<r;++s)i[s]>0&&(t.glVertexAttribDivisor(s,0),i[s]=0)}function bSe(e,t){let n=e._attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];r.enabled&&u(r.value)&&r.vertexAttrib(t)}}Gm.prototype._bind=function(){u(this._vao)?(this._context.glBindVertexArray(this._vao),this._context.instancedArrays&&ESe(this),this._hasConstantAttributes&&bSe(this,this._gl)):gQ(this._gl,this._attributes,this._indexBuffer)};Gm.prototype._unBind=function(){if(u(this._vao))this._context.glBindVertexArray(null);else{let e=this._attributes,t=this._gl;for(let n=0;n<e.length;++n){let i=e[n];i.enabled&&i.disableVertexAttribArray(t)}this._indexBuffer&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)}};Gm.prototype.isDestroyed=function(){return!1};Gm.prototype.destroy=function(){let e=this._attributes;for(let n=0;n<e.length;++n){let i=e[n].vertexBuffer;u(i)&&!i.isDestroyed()&&i.vertexArrayDestroyable&&i.destroy()}let t=this._indexBuffer;return u(t)&&!t.isDestroyed()&&t.vertexArrayDestroyable&&t.destroy(),u(this._vao)&&this._context.glDeleteVertexArray(this._vao),le(this)};var oi=Gm;function Vl(e,t){let{getWebGLStub:n,requestWebgl1:i,webgl:o={},allowTextureFilterAnisotropic:r=!0}=y(t,{});o.alpha=y(o.alpha,!1),o.stencil=y(o.stencil,!0),o.powerPreference=y(o.powerPreference,"high-performance");let s=u(n)?n(e,o):SSe(e,o,i),c=typeof WebGL2RenderingContext<"u"&&s instanceof WebGL2RenderingContext;this._canvas=e,this._originalGLContext=s,this._gl=s,this._webgl2=c,this._id=zn(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new Fw(this),this._textureCache=new Vw;let l=s;this._stencilBits=l.getParameter(l.STENCIL_BITS),Ft._maximumCombinedTextureImageUnits=l.getParameter(l.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Ft._maximumCubeMapSize=l.getParameter(l.MAX_CUBE_MAP_TEXTURE_SIZE),Ft._maximumFragmentUniformVectors=l.getParameter(l.MAX_FRAGMENT_UNIFORM_VECTORS),Ft._maximumTextureImageUnits=l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS),Ft._maximumRenderbufferSize=l.getParameter(l.MAX_RENDERBUFFER_SIZE),Ft._maximumTextureSize=l.getParameter(l.MAX_TEXTURE_SIZE),Ft._maximumVaryingVectors=l.getParameter(l.MAX_VARYING_VECTORS),Ft._maximumVertexAttributes=l.getParameter(l.MAX_VERTEX_ATTRIBS),Ft._maximumVertexTextureImageUnits=l.getParameter(l.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Ft._maximumVertexUniformVectors=l.getParameter(l.MAX_VERTEX_UNIFORM_VECTORS),Ft._maximumSamples=this._webgl2?l.getParameter(l.MAX_SAMPLES):0;let f=l.getParameter(l.ALIASED_LINE_WIDTH_RANGE);Ft._minimumAliasedLineWidth=f[0],Ft._maximumAliasedLineWidth=f[1];let d=l.getParameter(l.ALIASED_POINT_SIZE_RANGE);Ft._minimumAliasedPointSize=d[0],Ft._maximumAliasedPointSize=d[1];let p=l.getParameter(l.MAX_VIEWPORT_DIMS);Ft._maximumViewportWidth=p[0],Ft._maximumViewportHeight=p[1];let g=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.HIGH_FLOAT);Ft._highpFloatSupported=g.precision!==0;let m=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.HIGH_INT);Ft._highpIntSupported=m.rangeMax!==0,this._antialias=l.getContextAttributes().antialias,this._standardDerivatives=!!Er(l,["OES_standard_derivatives"]),this._blendMinmax=!!Er(l,["EXT_blend_minmax"]),this._elementIndexUint=!!Er(l,["OES_element_index_uint"]),this._depthTexture=!!Er(l,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!Er(l,["EXT_frag_depth"]),this._debugShaders=Er(l,["WEBGL_debug_shaders"]),this._textureFloat=!!Er(l,["OES_texture_float"]),this._textureHalfFloat=!!Er(l,["OES_texture_half_float"]),this._textureFloatLinear=!!Er(l,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!Er(l,["OES_texture_half_float_linear"]),this._colorBufferFloat=!!Er(l,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!Er(l,["EXT_float_blend"]),this._colorBufferHalfFloat=!!Er(l,["EXT_color_buffer_half_float"]),this._s3tc=!!Er(l,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!Er(l,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!Er(l,["WEBGL_compressed_texture_astc"]),this._etc=!!Er(l,["WEBG_compressed_texture_etc"]),this._etc1=!!Er(l,["WEBGL_compressed_texture_etc1"]),this._bc7=!!Er(l,["EXT_texture_compression_bptc"]),tl.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);let A=r?Er(l,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=A,Ft._maximumTextureFilterAnisotropy=u(A)?l.getParameter(A.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1;let x,C,T,E,S,D,w,R,O,L;if(c){let v=this;x=function(){return v._gl.createVertexArray()},C=function(I){v._gl.bindVertexArray(I)},T=function(I){v._gl.deleteVertexArray(I)},E=function(I,B,F,k,U){l.drawElementsInstanced(I,B,F,k,U)},S=function(I,B,F,k){l.drawArraysInstanced(I,B,F,k)},D=function(I,B){l.vertexAttribDivisor(I,B)},w=function(I){l.drawBuffers(I)}}else R=Er(l,["OES_vertex_array_object"]),u(R)&&(x=function(){return R.createVertexArrayOES()},C=function(v){R.bindVertexArrayOES(v)},T=function(v){R.deleteVertexArrayOES(v)}),O=Er(l,["ANGLE_instanced_arrays"]),u(O)&&(E=function(v,I,B,F,k){O.drawElementsInstancedANGLE(v,I,B,F,k)},S=function(v,I,B,F){O.drawArraysInstancedANGLE(v,I,B,F)},D=function(v,I){O.vertexAttribDivisorANGLE(v,I)}),L=Er(l,["WEBGL_draw_buffers"]),u(L)&&(w=function(v){L.drawBuffersWEBGL(v)});this.glCreateVertexArray=x,this.glBindVertexArray=C,this.glDeleteVertexArray=T,this.glDrawElementsInstanced=E,this.glDrawArraysInstanced=S,this.glVertexAttribDivisor=D,this.glDrawBuffers=w,this._vertexArrayObject=!!R,this._instancedArrays=!!O,this._drawBuffers=!!L,Ft._maximumDrawBuffers=this.drawBuffers?l.getParameter(ee.MAX_DRAW_BUFFERS):1,Ft._maximumColorAttachments=this.drawBuffers?l.getParameter(ee.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new z(0,0,0,0),this._clearDepth=1,this._clearStencil=0;let N=new Hw,_=new La(this),b=Ue.fromCache();this._defaultPassState=_,this._defaultRenderState=b,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=N,this._currentRenderState=b,this._currentPassState=_,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let v=0;v<Ft._maximumVertexAttributes;v++)this._vertexAttribDivisors.push(0);this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options={getWebGLStub:n,requestWebgl1:i,webgl:o,allowTextureFilterAnisotropic:r},this.cache={},Ue.apply(l,b,_)}function SSe(e,t,n){if(typeof WebGLRenderingContext>"u")throw new ue("The browser does not support WebGL. Visit http://get.webgl.org.");!n&&!(typeof WebGL2RenderingContext<"u")&&(n=!0);let o=n?"webgl":"webgl2",r=e.getContext(o,t);if(!u(r))throw new ue("The browser supports WebGL, but initialization failed.");return r}function DSe(e,t){let n="WebGL Error: ";switch(t){case e.INVALID_ENUM:n+="INVALID_ENUM";break;case e.INVALID_VALUE:n+="INVALID_VALUE";break;case e.INVALID_OPERATION:n+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:n+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:n+="CONTEXT_LOST_WEBGL lost";break;default:n+=`Unknown (${t})`}return n}function vSe(e,t,n,i){let o=`${DSe(e,i)}: ${t.name}(`;for(let r=0;r<n.length;++r)r!==0&&(o+=", "),o+=n[r];return o+=");",o}function wSe(e,t,n){let i=e.getError();if(i!==e.NO_ERROR)throw new ue(vSe(e,t,n,i))}function ISe(e,t,n){return{get:function(){let i=e[t];return n(e,`get: ${t}`,i),e[t]},set:function(i){e[t]=i,n(e,`set: ${t}`,i)}}}function PSe(e,t){if(!u(t))return e;function n(o){return function(){let r=o.apply(e,arguments);return t(e,o,arguments),r}}let i={};for(let o in e){let r=e[o];r instanceof Function?i[o]=n(r):Object.defineProperty(i,o,ISe(e,o,t))}return i}function Er(e,t){let n=t.length;for(let i=0;i<n;++i){let o=e.getExtension(t[i]);if(o)return o}}var OSe={};Object.defineProperties(Vl.prototype,{id:{get:function(){return this._id}},webgl2:{get:function(){return this._webgl2}},canvas:{get:function(){return this._canvas}},shaderCache:{get:function(){return this._shaderCache}},textureCache:{get:function(){return this._textureCache}},uniformState:{get:function(){return this._us}},stencilBits:{get:function(){return this._stencilBits}},stencilBuffer:{get:function(){return this._stencilBits>=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=PSe(this._originalGLContext,e?wSe:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new It({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new It({context:this,pixelFormat:rt.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new It({context:this,pixelFormat:rt.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new Ma({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return OSe}}});function yQ(e,t,n,i){let o=e._currentRenderState,r=e._currentPassState;e._currentRenderState=t,e._currentPassState=n,Ue.partialApply(e._gl,o,t,r,n,i)}var kG;typeof WebGLRenderingContext<"u"&&(kG=[ee.BACK]);function zG(e,t){if(t!==e._currentFramebuffer){e._currentFramebuffer=t;let n=kG;if(u(t))t._bind(),n=t._getActiveColorAttachments();else{let i=e._gl;i.bindFramebuffer(i.FRAMEBUFFER,null)}e.drawBuffers&&e.glDrawBuffers(n)}}var RSe=new ii;Vl.prototype.clear=function(e,t){e=y(e,RSe),t=y(t,this._defaultPassState);let n=this._gl,i=0,o=e.color,r=e.depth,s=e.stencil;u(o)&&(z.equals(this._clearColor,o)||(z.clone(o,this._clearColor),n.clearColor(o.red,o.green,o.blue,o.alpha)),i|=n.COLOR_BUFFER_BIT),u(r)&&(r!==this._clearDepth&&(this._clearDepth=r,n.clearDepth(r)),i|=n.DEPTH_BUFFER_BIT),u(s)&&(s!==this._clearStencil&&(this._clearStencil=s,n.clearStencil(s)),i|=n.STENCIL_BUFFER_BIT);let a=y(e.renderState,this._defaultRenderState);yQ(this,a,t,!0);let c=y(e.framebuffer,t.framebuffer);zG(this,c),n.clear(i)};function BSe(e,t,n,i,o){zG(e,t),yQ(e,o,n,!1),i._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,i.maximumTextureUnitIndex)}function MSe(e,t,n,i){let o=t._primitiveType,r=t._vertexArray,s=t._offset,a=t._count,c=t.instanceCount;e._us.model=y(t._modelMatrix,M.IDENTITY),n._setUniforms(i,e._us,e.validateShaderProgram),r._bind();let l=r.indexBuffer;u(l)?(s=s*l.bytesPerIndex,a=y(a,l.numberOfIndices),c===0?e._gl.drawElements(o,a,l.indexDatatype,s):e.glDrawElementsInstanced(o,a,l.indexDatatype,s,c)):(a=y(a,r.numberOfVertices),c===0?e._gl.drawArrays(o,s,a):e.glDrawArraysInstanced(o,s,a,c)),r._unBind()}Vl.prototype.draw=function(e,t,n,i){t=y(t,this._defaultPassState);let o=y(e._framebuffer,t.framebuffer),r=y(e._renderState,this._defaultRenderState);n=y(n,e._shaderProgram),i=y(i,e._uniformMap),BSe(this,o,t,n,r),MSe(this,e,n,i)};Vl.prototype.endFrame=function(){let e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null);let t=kG;this.drawBuffers&&this.glDrawBuffers(t);let n=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let i=0;i<n;++i)e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)};Vl.prototype.readPixels=function(e){let t=this._gl;e=y(e,y.EMPTY_OBJECT);let n=Math.max(y(e.x,0),0),i=Math.max(y(e.y,0),0),o=y(e.width,t.drawingBufferWidth),r=y(e.height,t.drawingBufferHeight),s=e.framebuffer,a=Xe.UNSIGNED_BYTE;u(s)&&s.numberOfColorAttachments>0&&(a=s.getColorTexture(0).pixelDatatype);let c=rt.createTypedArray(rt.RGBA,a,o,r);return zG(this,s),t.readPixels(n,i,o,r,rt.RGBA,Xe.toWebGLConstant(a,this),c),c};var AQ={position:0,textureCoordinates:1};Vl.prototype.getViewportQuadVertexArray=function(){let e=this.cache.viewportQuad_vertexArray;if(!u(e)){let t=new ct({attributes:{position:new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:Me.TRIANGLES});e=oi.fromGeometry({context:this,geometry:t,attributeLocations:AQ,bufferUsage:Ne.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=e}return e};Vl.prototype.createViewportQuadCommand=function(e,t){return t=y(t,y.EMPTY_OBJECT),new tt({vertexArray:this.getViewportQuadVertexArray(),primitiveType:Me.TRIANGLES,renderState:t.renderState,shaderProgram:Xt.fromCache({context:this,vertexShaderSource:l0,fragmentShaderSource:e,attributeLocations:AQ}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})};Vl.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]};function HG(e,t,n){this._pickObjects=e,this.key=t,this.color=n}Object.defineProperties(HG.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}});HG.prototype.destroy=function(){delete this._pickObjects[this.key]};Vl.prototype.createPickId=function(e){++this._nextPickColor[0];let t=this._nextPickColor[0];if(t===0)throw new ue("Out of unique Pick IDs.");return this._pickObjects[t]=e,new HG(this._pickObjects,t,z.fromRgba(t))};Vl.prototype.isDestroyed=function(){return!1};Vl.prototype.destroy=function(){let e=this.cache;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];u(n.destroy)&&n.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),le(this)};Vl._deprecationWarning=nr;var Gw=Vl;function eT(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=e.width,i=e.height;this._width=n,this._height=i;let o=e.colorRenderbuffers,r=e.colorTextures;if(u(o)!==u(r))throw new de("Both color renderbuffer and texture attachments must be provided.");let s=e.depthStencilRenderbuffer,a=e.depthStencilTexture;if(u(s)!==u(a))throw new de("Both depth-stencil renderbuffer and texture attachments must be provided.");this._renderFramebuffer=new Ns({context:t,colorRenderbuffers:o,depthStencilRenderbuffer:s,destroyAttachments:e.destroyAttachments}),this._colorFramebuffer=new Ns({context:t,colorTextures:r,depthStencilTexture:a,destroyAttachments:e.destroyAttachments})}eT.prototype.getRenderFramebuffer=function(){return this._renderFramebuffer};eT.prototype.getColorFramebuffer=function(){return this._colorFramebuffer};eT.prototype.blitFramebuffers=function(e,t){this._renderFramebuffer.bindRead(),this._colorFramebuffer.bindDraw();let n=e._gl,i=0;this._colorFramebuffer._colorTextures.length>0&&(i|=n.COLOR_BUFFER_BIT),u(this._colorFramebuffer.depthStencilTexture)&&(i|=n.DEPTH_BUFFER_BIT|(t?n.STENCIL_BUFFER_BIT:0)),n.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,i,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null)};eT.prototype.isDestroyed=function(){return!1};eT.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),le(this)};var Ww=eT;var il={RGBA4:ee.RGBA4,RGBA8:ee.RGBA8,RGBA16F:ee.RGBA16F,RGBA32F:ee.RGBA32F,RGB5_A1:ee.RGB5_A1,RGB565:ee.RGB565,DEPTH_COMPONENT16:ee.DEPTH_COMPONENT16,STENCIL_INDEX8:ee.STENCIL_INDEX8,DEPTH_STENCIL:ee.DEPTH_STENCIL,DEPTH24_STENCIL8:ee.DEPTH24_STENCIL8,validate:function(e){return e===il.RGBA4||e===il.RGBA8||e===il.RGBA16F||e===il.RGBA32F||e===il.RGB5_A1||e===il.RGB565||e===il.DEPTH_COMPONENT16||e===il.STENCIL_INDEX8||e===il.DEPTH_STENCIL||e===il.DEPTH24_STENCIL8},getColorFormat:function(e){return e===ee.FLOAT?il.RGBA32F:e===ee.HALF_FLOAT_OES?il.RGBA16F:il.RGBA8}},_c=Object.freeze(il);function jw(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=Ft.maximumRenderbufferSize,o=y(e.format,_c.RGBA4),r=u(e.width)?e.width:n.drawingBufferWidth,s=u(e.height)?e.height:n.drawingBufferHeight,a=y(e.numSamples,1);this._gl=n,this._format=o,this._width=r,this._height=s,this._renderbuffer=this._gl.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,this._renderbuffer),a>1?n.renderbufferStorageMultisample(n.RENDERBUFFER,a,o,r,s):n.renderbufferStorage(n.RENDERBUFFER,o,r,s),n.bindRenderbuffer(n.RENDERBUFFER,null)}Object.defineProperties(jw.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});jw.prototype._getRenderbuffer=function(){return this._renderbuffer};jw.prototype.isDestroyed=function(){return!1};jw.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),le(this)};var Ul=jw;function os(e){e=y(e,y.EMPTY_OBJECT),this._numSamples=y(e.numSamples,1),this._colorAttachmentsLength=y(e.colorAttachmentsLength,1),this._color=y(e.color,!0),this._depth=y(e.depth,!1),this._depthStencil=y(e.depthStencil,!1),this._supportsDepthTexture=y(e.supportsDepthTexture,!1),this._createColorAttachments=y(e.createColorAttachments,!0),this._createDepthAttachments=y(e.createDepthAttachments,!0),this._pixelDatatype=e.pixelDatatype,this._pixelFormat=e.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(os.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});os.prototype.isDirty=function(e,t,n,i,o){n=y(n,1);let r=this._width!==e||this._height!==t,s=this._numSamples!==n,a=u(i)&&this._pixelDatatype!==i||u(o)&&this._pixelFormat!==o,c=n===1?u(this._framebuffer):u(this._multisampleFramebuffer);return this._attachmentsDirty||r||s||a||!c||this._color&&!u(this._colorTextures[0])};os.prototype.update=function(e,t,n,i,o,r){if(i=e.msaa?y(i,1):1,o=y(o,this._color?y(this._pixelDatatype,Xe.UNSIGNED_BYTE):void 0),r=y(r,this._color?y(this._pixelFormat,rt.RGBA):void 0),this.isDirty(t,n,i,o,r)){if(this.destroy(),this._width=t,this._height=n,this._numSamples=i,this._pixelDatatype=o,this._pixelFormat=r,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let s=0;s<this._colorAttachmentsLength;++s)if(this._colorTextures[s]=new It({context:e,width:t,height:n,pixelFormat:r,pixelDatatype:o,sampler:ln.NEAREST}),this._numSamples>1){let a=_c.getColorFormat(o);this._colorRenderbuffers[s]=new Ul({context:e,width:t,height:n,format:a,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?(this._depthStencilTexture=new It({context:e,width:t,height:n,pixelFormat:rt.DEPTH_STENCIL,pixelDatatype:Xe.UNSIGNED_INT_24_8,sampler:ln.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new Ul({context:e,width:t,height:n,format:_c.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new Ul({context:e,width:t,height:n,format:_c.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?this._depthTexture=new It({context:e,width:t,height:n,pixelFormat:rt.DEPTH_COMPONENT,pixelDatatype:Xe.UNSIGNED_INT,sampler:ln.NEAREST}):this._depthRenderbuffer=new Ul({context:e,width:t,height:n,format:_c.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new Ww({context:e,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new Ns({context:e,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};os.prototype.getColorTexture=function(e){return e=y(e,0),this._colorTextures[e]};os.prototype.setColorTexture=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorTextures[t],this._colorTextures[t]=e};os.prototype.getColorRenderbuffer=function(e){return e=y(e,0),this._colorRenderbuffers[e]};os.prototype.setColorRenderbuffer=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorRenderbuffers[t],this._colorRenderbuffers[t]=e};os.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};os.prototype.setDepthRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthRenderbuffer,this._depthRenderbuffer=e};os.prototype.getDepthTexture=function(){return this._depthTexture};os.prototype.setDepthTexture=function(e){this._attachmentsDirty=e!==this._depthTexture,this._depthTexture=e};os.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};os.prototype.setDepthStencilRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=e};os.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};os.prototype.setDepthStencilTexture=function(e){this._attachmentsDirty=e!==this._depthStencilTexture,this._depthStencilTexture=e};os.prototype.prepareTextures=function(e,t){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(e,t)};os.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this.framebuffer,t.execute(e,n),t.framebuffer=i};os.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};os.prototype.destroy=function(){if(this._color){let e,t=this._colorTextures.length;for(e=0;e<t;++e){let n=this._colorTextures[e];this._createColorAttachments&&u(n)&&!n.isDestroyed()&&(this._colorTextures[e].destroy(),this._colorTextures[e]=void 0),u(n)&&n.isDestroyed()&&(this._colorTextures[e]=void 0);let i=this._colorRenderbuffers[e];this._createColorAttachments&&u(i)&&!i.isDestroyed()&&(this._colorRenderbuffers[e].destroy(),this._colorRenderbuffers[e]=void 0),u(i)&&i.isDestroyed()&&(this._colorRenderbuffers[e]=void 0)}}this._depthStencil&&(this._createDepthAttachments&&(this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()),u(this._depthStencilTexture)&&this._depthStencilTexture.isDestroyed()&&(this._depthStencilTexture=void 0),u(this._depthStencilRenderbuffer)&&this._depthStencilRenderbuffer.isDestroyed()&&(this._depthStencilRenderbuffer=void 0)),this._depth&&(this._createDepthAttachments&&(this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy()),u(this._depthTexture)&&this._depthTexture.isDestroyed()&&(this._depthTexture=void 0),u(this._depthRenderbuffer)&&this._depthRenderbuffer.isDestroyed()&&(this._depthRenderbuffer=void 0)),this.destroyFramebuffer()};var mi=os;var b0={VERTEX:0,FRAGMENT:1,BOTH:2};b0.includesVertexShader=function(e){return e===b0.VERTEX||e===b0.BOTH};b0.includesFragmentShader=function(e){return e===b0.FRAGMENT||e===b0.BOTH};var Te=Object.freeze(b0);function GG(e){this.name=e,this.fields=[]}GG.prototype.addField=function(e,t){let n=` ${e} ${t};`;this.fields.push(n)};GG.prototype.generateGlslLines=function(){let e=this.fields;return e.length===0&&(e=[" float _empty;"]),[].concat(`struct ${this.name}`,"{",e,"};")};var Yw=GG;function WG(e){this.signature=e,this.body=[]}WG.prototype.addLines=function(e){let t=this.body;if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;i++)t.push(` ${e[i]}`)}else t.push(` ${e}`)};WG.prototype.generateGlslLines=function(){return[].concat(this.signature,"{",this.body,"}")};var qw=WG;function gc(){this._positionAttributeLine=void 0,this._nextAttributeLocation=1,this._attributeLocations={},this._attributeLines=[],this._structs={},this._functions={},this._vertexShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]},this._fragmentShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]}}Object.defineProperties(gc.prototype,{attributeLocations:{get:function(){return this._attributeLocations}}});gc.prototype.addDefine=function(e,t,n){n=y(n,Te.BOTH);let i=e;u(t)&&(i+=` ${t.toString()}`),Te.includesVertexShader(n)&&this._vertexShaderParts.defineLines.push(i),Te.includesFragmentShader(n)&&this._fragmentShaderParts.defineLines.push(i)};gc.prototype.addStruct=function(e,t,n){this._structs[e]=new Yw(t),Te.includesVertexShader(n)&&this._vertexShaderParts.structIds.push(e),Te.includesFragmentShader(n)&&this._fragmentShaderParts.structIds.push(e)};gc.prototype.addStructField=function(e,t,n){this._structs[e].addField(t,n)};gc.prototype.addFunction=function(e,t,n){this._functions[e]=new qw(t),Te.includesVertexShader(n)&&this._vertexShaderParts.functionIds.push(e),Te.includesFragmentShader(n)&&this._fragmentShaderParts.functionIds.push(e)};gc.prototype.addFunctionLines=function(e,t){this._functions[e].addLines(t)};gc.prototype.addUniform=function(e,t,n){n=y(n,Te.BOTH);let i=`uniform ${e} ${t};`;Te.includesVertexShader(n)&&this._vertexShaderParts.uniformLines.push(i),Te.includesFragmentShader(n)&&this._fragmentShaderParts.uniformLines.push(i)};gc.prototype.setPositionAttribute=function(e,t){return this._positionAttributeLine=`in ${e} ${t};`,this._attributeLocations[t]=0,0};gc.prototype.addAttribute=function(e,t){let n=`in ${e} ${t};`;this._attributeLines.push(n);let i=this._nextAttributeLocation;return this._attributeLocations[t]=i,this._nextAttributeLocation+=NSe(e),i};gc.prototype.addVarying=function(e,t){let n=`${e} ${t};`;this._vertexShaderParts.varyingLines.push(`out ${n}`),this._fragmentShaderParts.varyingLines.push(`in ${n}`)};gc.prototype.addVertexLines=function(e){let t=this._vertexShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};gc.prototype.addFragmentLines=function(e){let t=this._fragmentShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};gc.prototype.buildShaderProgram=function(e){let t=u(this._positionAttributeLine)?[this._positionAttributeLine]:[],n=LSe(this),i=FSe(this),o=t.concat(this._attributeLines,this._vertexShaderParts.uniformLines,this._vertexShaderParts.varyingLines,n.vertexLines,i.vertexLines,this._vertexShaderParts.shaderLines).join(` +`),r=new ke({defines:this._vertexShaderParts.defineLines,sources:[o]}),s=this._fragmentShaderParts.uniformLines.concat(this._fragmentShaderParts.varyingLines,n.fragmentLines,i.fragmentLines,this._fragmentShaderParts.shaderLines).join(` +`),a=new ke({defines:this._fragmentShaderParts.defineLines,sources:[s]});return Xt.fromCache({context:e,vertexShaderSource:r,fragmentShaderSource:a,attributeLocations:this._attributeLocations})};gc.prototype.clone=function(){return Ge(this,!0)};function LSe(e){let t=[],n=[],i,o=e._vertexShaderParts.structIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.structIds,i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}function NSe(e){switch(e){case"mat2":return 2;case"mat3":return 3;case"mat4":return 4;default:return 1}}function FSe(e){let t=[],n=[],i,o=e._vertexShaderParts.functionIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.functionIds,i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}var S0=gc;function As(e,t,n,i){let o=As._verifyAttributes(t);n=y(n,0);let r=[],s={},a,c,l=o.length;for(let d=0;d<l;++d){let p=o[d];if(p.vertexBuffer){r.push(p);continue}c=p.usage,a=s[c],u(a)||(a=s[c]=[]),a.push(p)}function f(d,p){return q.getSizeInBytes(p.componentDatatype)-q.getSizeInBytes(d.componentDatatype)}this._allBuffers=[];for(c in s)if(s.hasOwnProperty(c)){a=s[c],a.sort(f);let d=As._vertexSizeInBytes(a),p=a[0].usage,g={vertexSizeInBytes:d,vertexBuffer:void 0,usage:p,needsCommit:!1,arrayBuffer:void 0,arrayViews:As._createArrayViews(a,d)};this._allBuffers.push(g)}this._size=0,this._instanced=y(i,!1),this._precreated=r,this._context=e,this.writers=void 0,this.va=void 0,this.resize(n)}As._verifyAttributes=function(e){let t=[];for(let i=0;i<e.length;++i){let o=e[i],r={index:y(o.index,i),enabled:y(o.enabled,!0),componentsPerAttribute:o.componentsPerAttribute,componentDatatype:y(o.componentDatatype,q.FLOAT),normalize:y(o.normalize,!1),vertexBuffer:o.vertexBuffer,usage:y(o.usage,Ne.STATIC_DRAW)};t.push(r)}let n=new Array(t.length);for(let i=0;i<t.length;++i){let r=t[i].index;n[r]=!0}return t};As._vertexSizeInBytes=function(e){let t=0,n=e.length;for(let s=0;s<n;++s){let a=e[s];t+=a.componentsPerAttribute*q.getSizeInBytes(a.componentDatatype)}let i=n>0?q.getSizeInBytes(e[0].componentDatatype):0,o=i>0?t%i:0,r=o===0?0:i-o;return t+=r,t};As._createArrayViews=function(e,t){let n=[],i=0,o=e.length;for(let r=0;r<o;++r){let s=e[r],a=s.componentDatatype;n.push({index:s.index,enabled:s.enabled,componentsPerAttribute:s.componentsPerAttribute,componentDatatype:a,normalize:s.normalize,offsetInBytes:i,vertexSizeInComponentType:t/q.getSizeInBytes(a),view:void 0}),i+=s.componentsPerAttribute*q.getSizeInBytes(a)}return n};As.prototype.resize=function(e){this._size=e;let t=this._allBuffers;this.writers=[];for(let n=0,i=t.length;n<i;++n){let o=t[n];As._resize(o,this._size),As._appendWriters(this.writers,o)}jG(this)};As._resize=function(e,t){if(e.vertexSizeInBytes>0){let n=new ArrayBuffer(t*e.vertexSizeInBytes);if(u(e.arrayBuffer)){let r=new Uint8Array(n),s=new Uint8Array(e.arrayBuffer),a=s.length;for(let c=0;c<a;++c)r[c]=s[c]}let i=e.arrayViews,o=i.length;for(let r=0;r<o;++r){let s=i[r];s.view=q.createArrayBufferView(s.componentDatatype,n,s.offsetInBytes)}e.arrayBuffer=n}};var VSe=[function(e,t,n){return function(i,o){t[i*n]=o,e.needsCommit=!0}},function(e,t,n){return function(i,o,r){let s=i*n;t[s]=o,t[s+1]=r,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s){let a=i*n;t[a]=o,t[a+1]=r,t[a+2]=s,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s,a){let c=i*n;t[c]=o,t[c+1]=r,t[c+2]=s,t[c+3]=a,e.needsCommit=!0}}];As._appendWriters=function(e,t){let n=t.arrayViews,i=n.length;for(let o=0;o<i;++o){let r=n[o];e[r.index]=VSe[r.componentsPerAttribute-1](t,r.view,r.vertexSizeInComponentType)}};As.prototype.commit=function(e){let t=!1,n=this._allBuffers,i,o,r;for(o=0,r=n.length;o<r;++o)i=n[o],t=USe(this,i)||t;if(t||!u(this.va)){jG(this);let s=this.va=[],a=P.SIXTY_FOUR_KILOBYTES-4,c=u(e)&&!this._instanced?Math.ceil(this._size/a):1;for(let l=0;l<c;++l){let f=[];for(o=0,r=n.length;o<r;++o){i=n[o];let d=l*(i.vertexSizeInBytes*a);As._appendAttributes(f,i,d,this._instanced)}f=f.concat(this._precreated),s.push({va:new oi({context:this._context,attributes:f,indexBuffer:e}),indicesCount:1.5*(l!==c-1?a:this._size%a)})}}};function USe(e,t){if(t.needsCommit&&t.vertexSizeInBytes>0){t.needsCommit=!1;let n=t.vertexBuffer,i=e._size*t.vertexSizeInBytes,o=u(n);if(!o||n.sizeInBytes<i)return o&&n.destroy(),t.vertexBuffer=lt.createVertexBuffer({context:e._context,typedArray:t.arrayBuffer,usage:t.usage}),t.vertexBuffer.vertexArrayDestroyable=!1,!0;t.vertexBuffer.copyFromArrayView(t.arrayBuffer)}return!1}As._appendAttributes=function(e,t,n,i){let o=t.arrayViews,r=o.length;for(let s=0;s<r;++s){let a=o[s];e.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:a.componentDatatype,normalize:a.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:n+a.offsetInBytes,strideInBytes:t.vertexSizeInBytes,instanceDivisor:i?1:0})}};As.prototype.subCommit=function(e,t){let n=this._allBuffers;for(let i=0,o=n.length;i<o;++i)kSe(n[i],e,t)};function kSe(e,t,n){if(e.needsCommit&&e.vertexSizeInBytes>0){let i=e.vertexSizeInBytes*t,o=e.vertexSizeInBytes*n;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,o),i)}}As.prototype.endSubCommits=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t)e[t].needsCommit=!1};function jG(e){let t=e.va;if(!u(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].va.destroy();e.va=void 0}As.prototype.isDestroyed=function(){return!1};As.prototype.destroy=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t){let i=e[t];i.vertexBuffer=i.vertexBuffer&&i.vertexBuffer.destroy()}return jG(this),le(this)};var Wm=As;function zSe(e,t,n){let i={flipY:!0,skipColorSpaceConversion:n,preferImageBitmap:!0},o=[Oe.createIfNeeded(t.positiveX).fetchImage(i),Oe.createIfNeeded(t.negativeX).fetchImage(i),Oe.createIfNeeded(t.positiveY).fetchImage(i),Oe.createIfNeeded(t.negativeY).fetchImage(i),Oe.createIfNeeded(t.positiveZ).fetchImage(i),Oe.createIfNeeded(t.negativeZ).fetchImage(i)];return Promise.all(o).then(function(r){return new Ma({context:e,source:{positiveX:r[0],negativeX:r[1],positiveY:r[2],negativeY:r[3],positiveZ:r[4],negativeZ:r[5]}})})}var Xw=zSe;function Z_(e){this._value=void 0,this._hasClone=!1,this._hasEquals=!1,this._definitionChanged=new Ae,this.setValue(e)}Object.defineProperties(Z_.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}});Z_.prototype.getValue=function(e,t){return this._hasClone?this._value.clone(t):this._value};Z_.prototype.setValue=function(e){let t=this._value;if(t!==e){let n=u(e),i=n&&typeof e.clone=="function",o=n&&typeof e.equals=="function";(!o||!e.equals(t))&&(this._hasClone=i,this._hasEquals=o,this._value=i?e.clone(this._value):e,this._definitionChanged.raiseEvent(this))}};Z_.prototype.equals=function(e){return this===e||e instanceof Z_&&(!this._hasEquals&&this._value===e._value||this._hasEquals&&this._value.equals(e._value))};Z_.prototype.valueOf=function(){return this._value};Z_.prototype.toString=function(){return String(this._value)};var ei=Z_;function HSe(e,t,n,i,o){return{configurable:i,get:function(){return this[t]},set:function(r){let s=this[t],a=this[n];u(a)&&(a(),this[n]=void 0),r!==void 0&&(!u(r)||!u(r.getValue))&&u(o)&&(r=o(r)),s!==r&&(this[t]=r,this._definitionChanged.raiseEvent(this,e,r,s)),u(r)&&u(r.definitionChanged)&&(this[n]=r.definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this,e,r,r)},this))}}}function GSe(e){return new ei(e)}function WSe(e,t,n){return HSe(e,`_${e.toString()}`,`_${e.toString()}Subscription`,y(t,!1),y(n,GSe))}var ae=WSe;function Kw(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Kw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),image:ae("image"),scale:ae("scale"),pixelOffset:ae("pixelOffset"),eyeOffset:ae("eyeOffset"),horizontalOrigin:ae("horizontalOrigin"),verticalOrigin:ae("verticalOrigin"),heightReference:ae("heightReference"),color:ae("color"),rotation:ae("rotation"),alignedAxis:ae("alignedAxis"),sizeInMeters:ae("sizeInMeters"),width:ae("width"),height:ae("height"),scaleByDistance:ae("scaleByDistance"),translucencyByDistance:ae("translucencyByDistance"),pixelOffsetScaleByDistance:ae("pixelOffsetScaleByDistance"),imageSubRegion:ae("imageSubRegion"),distanceDisplayCondition:ae("distanceDisplayCondition"),disableDepthTestDistance:ae("disableDepthTestDistance")});Kw.prototype.clone=function(e){return u(e)?(e.show=this._show,e.image=this._image,e.scale=this._scale,e.pixelOffset=this._pixelOffset,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.verticalOrigin=this._verticalOrigin,e.heightReference=this._heightReference,e.color=this._color,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.sizeInMeters=this._sizeInMeters,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e.imageSubRegion=this._imageSubRegion,e.distanceDisplayCondition=this._distanceDisplayCondition,e.disableDepthTestDistance=this._disableDepthTestDistance,e):new Kw(this)};Kw.prototype.merge=function(e){this.show=y(this._show,e.show),this.image=y(this._image,e.image),this.scale=y(this._scale,e.scale),this.pixelOffset=y(this._pixelOffset,e.pixelOffset),this.eyeOffset=y(this._eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this._horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this._verticalOrigin,e.verticalOrigin),this.heightReference=y(this._heightReference,e.heightReference),this.color=y(this._color,e.color),this.rotation=y(this._rotation,e.rotation),this.alignedAxis=y(this._alignedAxis,e.alignedAxis),this.sizeInMeters=y(this._sizeInMeters,e.sizeInMeters),this.width=y(this._width,e.width),this.height=y(this._height,e.height),this.scaleByDistance=y(this._scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this._pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.imageSubRegion=y(this._imageSubRegion,e.imageSubRegion),this.distanceDisplayCondition=y(this._distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this._disableDepthTestDistance,e.disableDepthTestDistance)};var Na=Kw;function D0(){this._array=[],this._hash={}}Object.defineProperties(D0.prototype,{length:{get:function(){return this._array.length}},values:{get:function(){return this._array}}});D0.prototype.contains=function(e){return u(this._hash[e])};D0.prototype.set=function(e,t){let n=this._hash[e];t!==n&&(this.remove(e),this._hash[e]=t,this._array.push(t))};D0.prototype.get=function(e){return this._hash[e]};D0.prototype.remove=function(e){let t=this._hash[e],n=u(t);if(n){let i=this._array;i.splice(i.indexOf(t),1),delete this._hash[e]}return n};D0.prototype.removeAll=function(){let e=this._array;e.length>0&&(this._hash={},e.length=0)};var xt=D0;function kl(e,t){e=y(e,0),this._near=e,t=y(t,Number.MAX_VALUE),this._far=t}Object.defineProperties(kl.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}});kl.packedLength=2;kl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n]=e.far,t};kl.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new kl),n.near=e[t++],n.far=e[t],n};kl.equals=function(e,t){return e===t||u(e)&&u(t)&&e.near===t.near&&e.far===t.far};kl.clone=function(e,t){if(u(e))return u(t)||(t=new kl),t.near=e.near,t.far=e.far,t};kl.prototype.clone=function(e){return kl.clone(this,e)};kl.prototype.equals=function(e){return kl.equals(this,e)};var bt=kl;function Uu(e,t,n,i){this.near=y(e,0),this.nearValue=y(t,0),this.far=y(n,1),this.farValue=y(i,0)}Uu.clone=function(e,t){if(u(e))return u(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new Uu(e.near,e.nearValue,e.far,e.farValue)};Uu.packedLength=4;Uu.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n++]=e.nearValue,t[n++]=e.far,t[n]=e.farValue,t};Uu.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new Uu),n.near=e[t++],n.nearValue=e[t++],n.far=e[t++],n.farValue=e[t],n};Uu.equals=function(e,t){return e===t||u(e)&&u(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue};Uu.prototype.clone=function(e){return Uu.clone(this,e)};Uu.prototype.equals=function(e){return Uu.equals(this,e)};var Pt=Uu;var jSe={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2},We=Object.freeze(jSe);var YSe={CENTER:0,LEFT:1,RIGHT:-1},_i=Object.freeze(YSe);var qSe={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},On=Object.freeze(qSe);var XSe={DONE:0,PENDING:1,FAILED:2},at=Object.freeze(XSe);function qf(){de.throwInstantiationError()}Object.defineProperties(qf.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});qf.prototype.getValue=de.throwInstantiationError;qf.prototype.equals=de.throwInstantiationError;qf.equals=function(e,t){return e===t||u(e)&&e.equals(t)};qf.arrayEquals=function(e,t){if(e===t)return!0;if(!u(e)||!u(t)||e.length!==t.length)return!1;let n=e.length;for(let i=0;i<n;i++)if(!qf.equals(e[i],t[i]))return!1;return!0};qf.isConstant=function(e){return!u(e)||e.isConstant};qf.getValueOrUndefined=function(e,t,n){return u(e)?e.getValue(t,n):void 0};qf.getValueOrDefault=function(e,t,n,i){return u(e)?y(e.getValue(t,i),n):n};qf.getValueOrClonedDefault=function(e,t,n,i){let o;return u(e)&&(o=e.getValue(t,i)),u(o)||(o=n.clone(o)),o};var Y=qf;var KSe=z.WHITE,ZSe=h.ZERO,JSe=We.NONE,QSe=H.ZERO,$Se=1,eDe=0,tDe=h.ZERO,nDe=_i.CENTER,iDe=On.CENTER,oDe=!1,rDe=new h,sDe=new z,aDe=new h,cDe=new H,lDe=new Pt,uDe=new Pt,fDe=new Pt,dDe=new Ye,hDe=new bt;function xQ(e){this.entity=e,this.billboard=void 0,this.textureValue=void 0}function J_(e,t){t.collectionChanged.addEventListener(J_.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new xt,this._onCollectionChanged(t,t.values,[],[])}J_.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._billboard,c,l=r.billboard,f=s.isShowing&&s.isAvailable(e)&&Y.getValueOrDefault(a._show,e,!0),d;if(f&&(d=Y.getValueOrUndefined(s._position,e,rDe),c=Y.getValueOrUndefined(a._image,e),f=u(d)&&u(c)),!f){YG(r,s,n);continue}Y.isConstant(s._position)||(n._clusterDirty=!0),u(l)||(l=n.getBillboard(s),l.id=s,l.image=void 0,r.billboard=l),l.show=f,(!u(l.image)||r.textureValue!==c)&&(l.image=c,r.textureValue=c),l.position=d,l.color=Y.getValueOrDefault(a._color,e,KSe,sDe),l.eyeOffset=Y.getValueOrDefault(a._eyeOffset,e,ZSe,aDe),l.heightReference=Y.getValueOrDefault(a._heightReference,e,JSe),l.pixelOffset=Y.getValueOrDefault(a._pixelOffset,e,QSe,cDe),l.scale=Y.getValueOrDefault(a._scale,e,$Se),l.rotation=Y.getValueOrDefault(a._rotation,e,eDe),l.alignedAxis=Y.getValueOrDefault(a._alignedAxis,e,tDe),l.horizontalOrigin=Y.getValueOrDefault(a._horizontalOrigin,e,nDe),l.verticalOrigin=Y.getValueOrDefault(a._verticalOrigin,e,iDe),l.width=Y.getValueOrUndefined(a._width,e),l.height=Y.getValueOrUndefined(a._height,e),l.scaleByDistance=Y.getValueOrUndefined(a._scaleByDistance,e,lDe),l.translucencyByDistance=Y.getValueOrUndefined(a._translucencyByDistance,e,uDe),l.pixelOffsetScaleByDistance=Y.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,fDe),l.sizeInMeters=Y.getValueOrDefault(a._sizeInMeters,e,oDe),l.distanceDisplayCondition=Y.getValueOrUndefined(a._distanceDisplayCondition,e,hDe),l.disableDepthTestDistance=Y.getValueOrUndefined(a._disableDepthTestDistance,e);let p=Y.getValueOrUndefined(a._imageSubRegion,e,dDe);u(p)&&l.setImageSubRegion(l._imageId,p)}return!0};J_.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!u(n)||!u(n.billboard))return at.FAILED;let i=n.billboard;if(i.heightReference===We.NONE)t.center=h.clone(i.position,t.center);else{if(!u(i._clampedPosition))return at.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,at.DONE};J_.prototype.isDestroyed=function(){return!1};J_.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(J_.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeBillboard(e[t]);return le(this)};J_.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],u(r._billboard)&&u(r._position)&&s.set(r.id,new xQ(r));for(o=i.length-1;o>-1;o--)r=i[o],u(r._billboard)&&u(r._position)?s.contains(r.id)||s.set(r.id,new xQ(r)):(YG(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],YG(s.get(r.id),r,a),s.remove(r.id)};function YG(e,t,n){u(e)&&(e.billboard=void 0,n.removeBillboard(t))}var Zw=J_;function mDe(e,t){this.start=y(e,0),this.stop=y(t,0)}var yc=mDe;function mn(e,t){this.center=h.clone(y(e,h.ZERO)),this.radius=y(t,0)}var KG=new h,ZG=new h,JG=new h,QG=new h,$G=new h,e8=new h,t8=new h,Fs=new h,n8=new h,i8=new h,o8=new h,r8=new h,pDe=4/3*P.PI;mn.fromPoints=function(e,t){if(u(t)||(t=new mn),!u(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=h.clone(e[0],t8),i=h.clone(n,KG),o=h.clone(n,ZG),r=h.clone(n,JG),s=h.clone(n,QG),a=h.clone(n,$G),c=h.clone(n,e8),l=e.length,f;for(f=1;f<l;f++){h.clone(e[f],n);let O=n.x,L=n.y,N=n.z;O<i.x&&h.clone(n,i),O>s.x&&h.clone(n,s),L<o.y&&h.clone(n,o),L>a.y&&h.clone(n,a),N<r.z&&h.clone(n,r),N>c.z&&h.clone(n,c)}let d=h.magnitudeSquared(h.subtract(s,i,Fs)),p=h.magnitudeSquared(h.subtract(a,o,Fs)),g=h.magnitudeSquared(h.subtract(c,r,Fs)),m=i,A=s,x=d;p>x&&(x=p,m=o,A=a),g>x&&(x=g,m=r,A=c);let C=n8;C.x=(m.x+A.x)*.5,C.y=(m.y+A.y)*.5,C.z=(m.z+A.z)*.5;let T=h.magnitudeSquared(h.subtract(A,C,Fs)),E=Math.sqrt(T),S=i8;S.x=i.x,S.y=o.y,S.z=r.z;let D=o8;D.x=s.x,D.y=a.y,D.z=c.z;let w=h.midpoint(S,D,r8),R=0;for(f=0;f<l;f++){h.clone(e[f],n);let O=h.magnitude(h.subtract(n,w,Fs));O>R&&(R=O);let L=h.magnitudeSquared(h.subtract(n,C,Fs));if(L>T){let N=Math.sqrt(L);E=(E+N)*.5,T=E*E;let _=N-E;C.x=(E*C.x+_*n.x)/N,C.y=(E*C.y+_*n.y)/N,C.z=(E*C.z+_*n.z)/N}}return E<R?(h.clone(C,t.center),t.radius=E):(h.clone(w,t.center),t.radius=R),t};var _De=new Ei,gDe=new h,yDe=new h,qG=new he,XG=new he;mn.fromRectangle2D=function(e,t,n){return mn.fromRectangleWithHeights2D(e,t,0,0,n)};mn.fromRectangleWithHeights2D=function(e,t,n,i,o){if(u(o)||(o=new mn),!u(e))return o.center=h.clone(h.ZERO,o.center),o.radius=0,o;t=y(t,_De),ce.southwest(e,qG),qG.height=n,ce.northeast(e,XG),XG.height=i;let r=t.project(qG,gDe),s=t.project(XG,yDe),a=s.x-r.x,c=s.y-r.y,l=s.z-r.z;o.radius=Math.sqrt(a*a+c*c+l*l)*.5;let f=o.center;return f.x=r.x+a*.5,f.y=r.y+c*.5,f.z=r.z+l*.5,o};var ADe=[];mn.fromRectangle3D=function(e,t,n,i){if(t=y(t,ie.WGS84),n=y(n,0),u(i)||(i=new mn),!u(e))return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;let o=ce.subsample(e,t,n,ADe);return mn.fromPoints(o,i)};mn.fromVertices=function(e,t,n,i){if(u(i)||(i=new mn),!u(e)||e.length===0)return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;t=y(t,h.ZERO),n=y(n,3);let o=t8;o.x=e[0]+t.x,o.y=e[1]+t.y,o.z=e[2]+t.z;let r=h.clone(o,KG),s=h.clone(o,ZG),a=h.clone(o,JG),c=h.clone(o,QG),l=h.clone(o,$G),f=h.clone(o,e8),d=e.length,p;for(p=0;p<d;p+=n){let N=e[p]+t.x,_=e[p+1]+t.y,b=e[p+2]+t.z;o.x=N,o.y=_,o.z=b,N<r.x&&h.clone(o,r),N>c.x&&h.clone(o,c),_<s.y&&h.clone(o,s),_>l.y&&h.clone(o,l),b<a.z&&h.clone(o,a),b>f.z&&h.clone(o,f)}let g=h.magnitudeSquared(h.subtract(c,r,Fs)),m=h.magnitudeSquared(h.subtract(l,s,Fs)),A=h.magnitudeSquared(h.subtract(f,a,Fs)),x=r,C=c,T=g;m>T&&(T=m,x=s,C=l),A>T&&(T=A,x=a,C=f);let E=n8;E.x=(x.x+C.x)*.5,E.y=(x.y+C.y)*.5,E.z=(x.z+C.z)*.5;let S=h.magnitudeSquared(h.subtract(C,E,Fs)),D=Math.sqrt(S),w=i8;w.x=r.x,w.y=s.y,w.z=a.z;let R=o8;R.x=c.x,R.y=l.y,R.z=f.z;let O=h.midpoint(w,R,r8),L=0;for(p=0;p<d;p+=n){o.x=e[p]+t.x,o.y=e[p+1]+t.y,o.z=e[p+2]+t.z;let N=h.magnitude(h.subtract(o,O,Fs));N>L&&(L=N);let _=h.magnitudeSquared(h.subtract(o,E,Fs));if(_>S){let b=Math.sqrt(_);D=(D+b)*.5,S=D*D;let v=b-D;E.x=(D*E.x+v*o.x)/b,E.y=(D*E.y+v*o.y)/b,E.z=(D*E.z+v*o.z)/b}}return D<L?(h.clone(E,i.center),i.radius=D):(h.clone(O,i.center),i.radius=L),i};mn.fromEncodedCartesianVertices=function(e,t,n){if(u(n)||(n=new mn),!u(e)||!u(t)||e.length!==t.length||e.length===0)return n.center=h.clone(h.ZERO,n.center),n.radius=0,n;let i=t8;i.x=e[0]+t[0],i.y=e[1]+t[1],i.z=e[2]+t[2];let o=h.clone(i,KG),r=h.clone(i,ZG),s=h.clone(i,JG),a=h.clone(i,QG),c=h.clone(i,$G),l=h.clone(i,e8),f=e.length,d;for(d=0;d<f;d+=3){let L=e[d]+t[d],N=e[d+1]+t[d+1],_=e[d+2]+t[d+2];i.x=L,i.y=N,i.z=_,L<o.x&&h.clone(i,o),L>a.x&&h.clone(i,a),N<r.y&&h.clone(i,r),N>c.y&&h.clone(i,c),_<s.z&&h.clone(i,s),_>l.z&&h.clone(i,l)}let p=h.magnitudeSquared(h.subtract(a,o,Fs)),g=h.magnitudeSquared(h.subtract(c,r,Fs)),m=h.magnitudeSquared(h.subtract(l,s,Fs)),A=o,x=a,C=p;g>C&&(C=g,A=r,x=c),m>C&&(C=m,A=s,x=l);let T=n8;T.x=(A.x+x.x)*.5,T.y=(A.y+x.y)*.5,T.z=(A.z+x.z)*.5;let E=h.magnitudeSquared(h.subtract(x,T,Fs)),S=Math.sqrt(E),D=i8;D.x=o.x,D.y=r.y,D.z=s.z;let w=o8;w.x=a.x,w.y=c.y,w.z=l.z;let R=h.midpoint(D,w,r8),O=0;for(d=0;d<f;d+=3){i.x=e[d]+t[d],i.y=e[d+1]+t[d+1],i.z=e[d+2]+t[d+2];let L=h.magnitude(h.subtract(i,R,Fs));L>O&&(O=L);let N=h.magnitudeSquared(h.subtract(i,T,Fs));if(N>E){let _=Math.sqrt(N);S=(S+_)*.5,E=S*S;let b=_-S;T.x=(S*T.x+b*i.x)/_,T.y=(S*T.y+b*i.y)/_,T.z=(S*T.z+b*i.z)/_}}return S<O?(h.clone(T,n.center),n.radius=S):(h.clone(R,n.center),n.radius=O),n};mn.fromCornerPoints=function(e,t,n){u(n)||(n=new mn);let i=h.midpoint(e,t,n.center);return n.radius=h.distance(i,t),n};mn.fromEllipsoid=function(e,t){return u(t)||(t=new mn),h.clone(h.ZERO,t.center),t.radius=e.maximumRadius,t};var xDe=new h;mn.fromBoundingSpheres=function(e,t){if(u(t)||(t=new mn),!u(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=e.length;if(n===1)return mn.clone(e[0],t);if(n===2)return mn.union(e[0],e[1],t);let i=[],o;for(o=0;o<n;o++)i.push(e[o].center);t=mn.fromPoints(i,t);let r=t.center,s=t.radius;for(o=0;o<n;o++){let a=e[o];s=Math.max(s,h.distance(r,a.center,xDe)+a.radius)}return t.radius=s,t};var CDe=new h,TDe=new h,EDe=new h;mn.fromOrientedBoundingBox=function(e,t){u(t)||(t=new mn);let n=e.halfAxes,i=Z.getColumn(n,0,CDe),o=Z.getColumn(n,1,TDe),r=Z.getColumn(n,2,EDe);return h.add(i,o,i),h.add(i,r,i),t.center=h.clone(e.center,t.center),t.radius=h.magnitude(i),t};var bDe=new h,SDe=new h;mn.fromTransformation=function(e,t){u(t)||(t=new mn);let n=M.getTranslation(e,bDe),i=M.getScale(e,SDe),o=.5*h.magnitude(i);return t.center=h.clone(n,t.center),t.radius=o,t};mn.clone=function(e,t){if(u(e))return u(t)?(t.center=h.clone(e.center,t.center),t.radius=e.radius,t):new mn(e.center,e.radius)};mn.packedLength=4;mn.pack=function(e,t,n){n=y(n,0);let i=e.center;return t[n++]=i.x,t[n++]=i.y,t[n++]=i.z,t[n]=e.radius,t};mn.unpack=function(e,t,n){t=y(t,0),u(n)||(n=new mn);let i=n.center;return i.x=e[t++],i.y=e[t++],i.z=e[t++],n.radius=e[t],n};var DDe=new h,vDe=new h;mn.union=function(e,t,n){u(n)||(n=new mn);let i=e.center,o=e.radius,r=t.center,s=t.radius,a=h.subtract(r,i,DDe),c=h.magnitude(a);if(o>=c+s)return e.clone(n),n;if(s>=c+o)return t.clone(n),n;let l=(o+c+s)*.5,f=h.multiplyByScalar(a,(-o+l)/c,vDe);return h.add(f,i,f),h.clone(f,n.center),n.radius=l,n};var wDe=new h;mn.expand=function(e,t,n){n=mn.clone(e,n);let i=h.magnitude(h.subtract(t,n.center,wDe));return i>n.radius&&(n.radius=i),n};mn.intersectPlane=function(e,t){let n=e.center,i=e.radius,o=t.normal,r=h.dot(o,n)+t.distance;return r<-i?Qt.OUTSIDE:r<i?Qt.INTERSECTING:Qt.INSIDE};mn.transform=function(e,t,n){return u(n)||(n=new mn),n.center=M.multiplyByPoint(t,e.center,n.center),n.radius=M.getMaximumScale(t)*e.radius,n};var IDe=new h;mn.distanceSquaredTo=function(e,t){let n=h.subtract(e.center,t,IDe),i=h.magnitude(n)-e.radius;return i<=0?0:i*i};mn.transformWithoutScale=function(e,t,n){return u(n)||(n=new mn),n.center=M.multiplyByPoint(t,e.center,n.center),n.radius=e.radius,n};var PDe=new h;mn.computePlaneDistances=function(e,t,n,i){u(i)||(i=new yc);let o=h.subtract(e.center,t,PDe),r=h.dot(n,o);return i.start=r-e.radius,i.stop=r+e.radius,i};var CQ=new h,ODe=new h,RDe=new h,BDe=new h,MDe=new h,LDe=new he,TQ=new Array(8);for(let e=0;e<8;++e)TQ[e]=new h;var NDe=new Ei;mn.projectTo2D=function(e,t,n){t=y(t,NDe);let i=t.ellipsoid,o=e.center,r=e.radius,s;h.equals(o,h.ZERO)?s=h.clone(h.UNIT_X,CQ):s=i.geodeticSurfaceNormal(o,CQ);let a=h.cross(h.UNIT_Z,s,ODe);h.normalize(a,a);let c=h.cross(s,a,RDe);h.normalize(c,c),h.multiplyByScalar(s,r,s),h.multiplyByScalar(c,r,c),h.multiplyByScalar(a,r,a);let l=h.negate(c,MDe),f=h.negate(a,BDe),d=TQ,p=d[0];h.add(s,c,p),h.add(p,a,p),p=d[1],h.add(s,c,p),h.add(p,f,p),p=d[2],h.add(s,l,p),h.add(p,f,p),p=d[3],h.add(s,l,p),h.add(p,a,p),h.negate(s,s),p=d[4],h.add(s,c,p),h.add(p,a,p),p=d[5],h.add(s,c,p),h.add(p,f,p),p=d[6],h.add(s,l,p),h.add(p,f,p),p=d[7],h.add(s,l,p),h.add(p,a,p);let g=d.length;for(let C=0;C<g;++C){let T=d[C];h.add(o,T,T);let E=i.cartesianToCartographic(T,LDe);t.project(E,T)}n=mn.fromPoints(d,n),o=n.center;let m=o.x,A=o.y,x=o.z;return o.x=x,o.y=m,o.z=A,n};mn.isOccluded=function(e,t){return!t.isBoundingSphereVisible(e)};mn.equals=function(e,t){return e===t||u(e)&&u(t)&&h.equals(e.center,t.center)&&e.radius===t.radius};mn.prototype.intersectPlane=function(e){return mn.intersectPlane(this,e)};mn.prototype.distanceSquaredTo=function(e){return mn.distanceSquaredTo(this,e)};mn.prototype.computePlaneDistances=function(e,t,n){return mn.computePlaneDistances(this,e,t,n)};mn.prototype.isOccluded=function(e){return mn.isOccluded(this,e)};mn.prototype.equals=function(e){return mn.equals(this,e)};mn.prototype.clone=function(e){return mn.clone(this,e)};mn.prototype.volume=function(){let e=this.radius;return pDe*e*e*e};var se=mn;function FDe(e){e=y(e,y.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.bitangent=e.bitangent,this.tangent=e.tangent,this.color=e.color}var dn=FDe;var VDe={NONE:0,TOP:1,ALL:2},nn=Object.freeze(VDe);function es(e){e=y(e,y.EMPTY_OBJECT),this.position=y(e.position,!1),this.normal=y(e.normal,!1),this.st=y(e.st,!1),this.bitangent=y(e.bitangent,!1),this.tangent=y(e.tangent,!1),this.color=y(e.color,!1)}es.POSITION_ONLY=Object.freeze(new es({position:!0}));es.POSITION_AND_NORMAL=Object.freeze(new es({position:!0,normal:!0}));es.POSITION_NORMAL_AND_ST=Object.freeze(new es({position:!0,normal:!0,st:!0}));es.POSITION_AND_ST=Object.freeze(new es({position:!0,st:!0}));es.POSITION_AND_COLOR=Object.freeze(new es({position:!0,color:!0}));es.ALL=Object.freeze(new es({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));es.DEFAULT=es.POSITION_NORMAL_AND_ST;es.packedLength=6;es.pack=function(e,t,n){return n=y(n,0),t[n++]=e.position?1:0,t[n++]=e.normal?1:0,t[n++]=e.st?1:0,t[n++]=e.tangent?1:0,t[n++]=e.bitangent?1:0,t[n]=e.color?1:0,t};es.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new es),n.position=e[t++]===1,n.normal=e[t++]===1,n.st=e[t++]===1,n.tangent=e[t++]===1,n.bitangent=e[t++]===1,n.color=e[t]===1,n};es.clone=function(e,t){if(u(e))return u(t)||(t=new es),t.position=e.position,t.normal=e.normal,t.st=e.st,t.tangent=e.tangent,t.bitangent=e.bitangent,t.color=e.color,t};var Ie=es;var UDe=new h;function zl(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum,i=y(e.vertexFormat,Ie.DEFAULT);this._minimum=h.clone(t),this._maximum=h.clone(n),this._vertexFormat=i,this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxGeometry"}zl.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new zl({minimum:h.negate(n,new h),maximum:n,vertexFormat:e.vertexFormat,offsetAttribute:e.offsetAttribute})};zl.fromAxisAlignedBoundingBox=function(e){return new zl({minimum:e.minimum,maximum:e.maximum})};zl.packedLength=2*h.packedLength+Ie.packedLength+1;zl.pack=function(e,t,n){return n=y(n,0),h.pack(e._minimum,t,n),h.pack(e._maximum,t,n+h.packedLength),Ie.pack(e._vertexFormat,t,n+2*h.packedLength),t[n+2*h.packedLength+Ie.packedLength]=y(e._offsetAttribute,-1),t};var bQ=new h,SQ=new h,DQ=new Ie,EQ={minimum:bQ,maximum:SQ,vertexFormat:DQ,offsetAttribute:void 0};zl.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,bQ),o=h.unpack(e,t+h.packedLength,SQ),r=Ie.unpack(e,t+2*h.packedLength,DQ),s=e[t+2*h.packedLength+Ie.packedLength];return u(n)?(n._minimum=h.clone(i,n._minimum),n._maximum=h.clone(o,n._maximum),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._offsetAttribute=s===-1?void 0:s,n):(EQ.offsetAttribute=s===-1?void 0:s,new zl(EQ))};zl.createGeometry=function(e){let t=e._minimum,n=e._maximum,i=e._vertexFormat;if(h.equals(t,n))return;let o=new dn,r,s;if(i.position&&(i.st||i.normal||i.tangent||i.bitangent)){if(i.position&&(s=new Float64Array(6*4*3),s[0]=t.x,s[1]=t.y,s[2]=n.z,s[3]=n.x,s[4]=t.y,s[5]=n.z,s[6]=n.x,s[7]=n.y,s[8]=n.z,s[9]=t.x,s[10]=n.y,s[11]=n.z,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=n.x,s[16]=t.y,s[17]=t.z,s[18]=n.x,s[19]=n.y,s[20]=t.z,s[21]=t.x,s[22]=n.y,s[23]=t.z,s[24]=n.x,s[25]=t.y,s[26]=t.z,s[27]=n.x,s[28]=n.y,s[29]=t.z,s[30]=n.x,s[31]=n.y,s[32]=n.z,s[33]=n.x,s[34]=t.y,s[35]=n.z,s[36]=t.x,s[37]=t.y,s[38]=t.z,s[39]=t.x,s[40]=n.y,s[41]=t.z,s[42]=t.x,s[43]=n.y,s[44]=n.z,s[45]=t.x,s[46]=t.y,s[47]=n.z,s[48]=t.x,s[49]=n.y,s[50]=t.z,s[51]=n.x,s[52]=n.y,s[53]=t.z,s[54]=n.x,s[55]=n.y,s[56]=n.z,s[57]=t.x,s[58]=n.y,s[59]=n.z,s[60]=t.x,s[61]=t.y,s[62]=t.z,s[63]=n.x,s[64]=t.y,s[65]=t.z,s[66]=n.x,s[67]=t.y,s[68]=n.z,s[69]=t.x,s[70]=t.y,s[71]=n.z,o.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:s})),i.normal){let l=new Float32Array(72);l[0]=0,l[1]=0,l[2]=1,l[3]=0,l[4]=0,l[5]=1,l[6]=0,l[7]=0,l[8]=1,l[9]=0,l[10]=0,l[11]=1,l[12]=0,l[13]=0,l[14]=-1,l[15]=0,l[16]=0,l[17]=-1,l[18]=0,l[19]=0,l[20]=-1,l[21]=0,l[22]=0,l[23]=-1,l[24]=1,l[25]=0,l[26]=0,l[27]=1,l[28]=0,l[29]=0,l[30]=1,l[31]=0,l[32]=0,l[33]=1,l[34]=0,l[35]=0,l[36]=-1,l[37]=0,l[38]=0,l[39]=-1,l[40]=0,l[41]=0,l[42]=-1,l[43]=0,l[44]=0,l[45]=-1,l[46]=0,l[47]=0,l[48]=0,l[49]=1,l[50]=0,l[51]=0,l[52]=1,l[53]=0,l[54]=0,l[55]=1,l[56]=0,l[57]=0,l[58]=1,l[59]=0,l[60]=0,l[61]=-1,l[62]=0,l[63]=0,l[64]=-1,l[65]=0,l[66]=0,l[67]=-1,l[68]=0,l[69]=0,l[70]=-1,l[71]=0,o.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:l})}if(i.st){let l=new Float32Array(48);l[0]=0,l[1]=0,l[2]=1,l[3]=0,l[4]=1,l[5]=1,l[6]=0,l[7]=1,l[8]=1,l[9]=0,l[10]=0,l[11]=0,l[12]=0,l[13]=1,l[14]=1,l[15]=1,l[16]=0,l[17]=0,l[18]=1,l[19]=0,l[20]=1,l[21]=1,l[22]=0,l[23]=1,l[24]=1,l[25]=0,l[26]=0,l[27]=0,l[28]=0,l[29]=1,l[30]=1,l[31]=1,l[32]=1,l[33]=0,l[34]=0,l[35]=0,l[36]=0,l[37]=1,l[38]=1,l[39]=1,l[40]=0,l[41]=0,l[42]=1,l[43]=0,l[44]=1,l[45]=1,l[46]=0,l[47]=1,o.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:l})}if(i.tangent){let l=new Float32Array(72);l[0]=1,l[1]=0,l[2]=0,l[3]=1,l[4]=0,l[5]=0,l[6]=1,l[7]=0,l[8]=0,l[9]=1,l[10]=0,l[11]=0,l[12]=-1,l[13]=0,l[14]=0,l[15]=-1,l[16]=0,l[17]=0,l[18]=-1,l[19]=0,l[20]=0,l[21]=-1,l[22]=0,l[23]=0,l[24]=0,l[25]=1,l[26]=0,l[27]=0,l[28]=1,l[29]=0,l[30]=0,l[31]=1,l[32]=0,l[33]=0,l[34]=1,l[35]=0,l[36]=0,l[37]=-1,l[38]=0,l[39]=0,l[40]=-1,l[41]=0,l[42]=0,l[43]=-1,l[44]=0,l[45]=0,l[46]=-1,l[47]=0,l[48]=-1,l[49]=0,l[50]=0,l[51]=-1,l[52]=0,l[53]=0,l[54]=-1,l[55]=0,l[56]=0,l[57]=-1,l[58]=0,l[59]=0,l[60]=1,l[61]=0,l[62]=0,l[63]=1,l[64]=0,l[65]=0,l[66]=1,l[67]=0,l[68]=0,l[69]=1,l[70]=0,l[71]=0,o.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:l})}if(i.bitangent){let l=new Float32Array(72);l[0]=0,l[1]=1,l[2]=0,l[3]=0,l[4]=1,l[5]=0,l[6]=0,l[7]=1,l[8]=0,l[9]=0,l[10]=1,l[11]=0,l[12]=0,l[13]=1,l[14]=0,l[15]=0,l[16]=1,l[17]=0,l[18]=0,l[19]=1,l[20]=0,l[21]=0,l[22]=1,l[23]=0,l[24]=0,l[25]=0,l[26]=1,l[27]=0,l[28]=0,l[29]=1,l[30]=0,l[31]=0,l[32]=1,l[33]=0,l[34]=0,l[35]=1,l[36]=0,l[37]=0,l[38]=1,l[39]=0,l[40]=0,l[41]=1,l[42]=0,l[43]=0,l[44]=1,l[45]=0,l[46]=0,l[47]=1,l[48]=0,l[49]=0,l[50]=1,l[51]=0,l[52]=0,l[53]=1,l[54]=0,l[55]=0,l[56]=1,l[57]=0,l[58]=0,l[59]=1,l[60]=0,l[61]=0,l[62]=1,l[63]=0,l[64]=0,l[65]=1,l[66]=0,l[67]=0,l[68]=1,l[69]=0,l[70]=0,l[71]=1,o.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:l})}r=new Uint16Array(6*2*3),r[0]=0,r[1]=1,r[2]=2,r[3]=0,r[4]=2,r[5]=3,r[6]=4+2,r[7]=4+1,r[8]=4+0,r[9]=4+3,r[10]=4+2,r[11]=4+0,r[12]=8+0,r[13]=8+1,r[14]=8+2,r[15]=8+0,r[16]=8+2,r[17]=8+3,r[18]=12+2,r[19]=12+1,r[20]=12+0,r[21]=12+3,r[22]=12+2,r[23]=12+0,r[24]=16+2,r[25]=16+1,r[26]=16+0,r[27]=16+3,r[28]=16+2,r[29]=16+0,r[30]=20+0,r[31]=20+1,r[32]=20+2,r[33]=20+0,r[34]=20+2,r[35]=20+3}else s=new Float64Array(8*3),s[0]=t.x,s[1]=t.y,s[2]=t.z,s[3]=n.x,s[4]=t.y,s[5]=t.z,s[6]=n.x,s[7]=n.y,s[8]=t.z,s[9]=t.x,s[10]=n.y,s[11]=t.z,s[12]=t.x,s[13]=t.y,s[14]=n.z,s[15]=n.x,s[16]=t.y,s[17]=n.z,s[18]=n.x,s[19]=n.y,s[20]=n.z,s[21]=t.x,s[22]=n.y,s[23]=n.z,o.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:s}),r=new Uint16Array(6*2*3),r[0]=4,r[1]=5,r[2]=6,r[3]=4,r[4]=6,r[5]=7,r[6]=1,r[7]=0,r[8]=3,r[9]=1,r[10]=3,r[11]=2,r[12]=1,r[13]=6,r[14]=5,r[15]=1,r[16]=2,r[17]=6,r[18]=2,r[19]=3,r[20]=7,r[21]=2,r[22]=7,r[23]=6,r[24]=3,r[25]=0,r[26]=4,r[27]=3,r[28]=4,r[29]=7,r[30]=0,r[31]=1,r[32]=5,r[33]=0,r[34]=5,r[35]=4;let a=h.subtract(n,t,UDe),c=h.magnitude(a)*.5;if(u(e._offsetAttribute)){let l=s.length,f=e._offsetAttribute===nn.NONE?0:1,d=new Uint8Array(l/3).fill(f);o.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return new ct({attributes:o,indices:r,primitiveType:Me.TRIANGLES,boundingSphere:new se(h.ZERO,c),offsetAttribute:e._offsetAttribute})};var s8;zl.getUnitBox=function(){return u(s8)||(s8=zl.createGeometry(zl.fromDimensions({dimensions:new h(1,1,1),vertexFormat:Ie.POSITION_ONLY}))),s8};var ol=zl;var kDe=new h;function Th(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum;this._min=h.clone(t),this._max=h.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}Th.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new Th({minimum:h.negate(n,new h),maximum:n,offsetAttribute:e.offsetAttribute})};Th.fromAxisAlignedBoundingBox=function(e){return new Th({minimum:e.minimum,maximum:e.maximum})};Th.packedLength=2*h.packedLength+1;Th.pack=function(e,t,n){return n=y(n,0),h.pack(e._min,t,n),h.pack(e._max,t,n+h.packedLength),t[n+h.packedLength*2]=y(e._offsetAttribute,-1),t};var wQ=new h,IQ=new h,vQ={minimum:wQ,maximum:IQ,offsetAttribute:void 0};Th.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,wQ),o=h.unpack(e,t+h.packedLength,IQ),r=e[t+h.packedLength*2];return u(n)?(n._min=h.clone(i,n._min),n._max=h.clone(o,n._max),n._offsetAttribute=r===-1?void 0:r,n):(vQ.offsetAttribute=r===-1?void 0:r,new Th(vQ))};Th.createGeometry=function(e){let t=e._min,n=e._max;if(h.equals(t,n))return;let i=new dn,o=new Uint16Array(12*2),r=new Float64Array(8*3);r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=n.x,r[4]=t.y,r[5]=t.z,r[6]=n.x,r[7]=n.y,r[8]=t.z,r[9]=t.x,r[10]=n.y,r[11]=t.z,r[12]=t.x,r[13]=t.y,r[14]=n.z,r[15]=n.x,r[16]=t.y,r[17]=n.z,r[18]=n.x,r[19]=n.y,r[20]=n.z,r[21]=t.x,r[22]=n.y,r[23]=n.z,i.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:r}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;let s=h.subtract(n,t,kDe),a=h.magnitude(s)*.5;if(u(e._offsetAttribute)){let c=r.length,l=e._offsetAttribute===nn.NONE?0:1,f=new Uint8Array(c/3).fill(l);i.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}return new ct({attributes:i,indices:o,primitiveType:Me.LINES,boundingSphere:new se(h.ZERO,a),offsetAttribute:e._offsetAttribute})};var Xf=Th;function tT(e,t,n,i){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,1),this.value=new Uint8Array([z.floatToByte(e),z.floatToByte(t),z.floatToByte(n),z.floatToByte(i)])}Object.defineProperties(tT.prototype,{componentDatatype:{get:function(){return q.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}});tT.fromColor=function(e){return new tT(e.red,e.green,e.blue,e.alpha)};tT.toValue=function(e,t){return u(t)?e.toBytes(t):new Uint8Array(e.toBytes())};tT.equals=function(e,t){return e===t||u(e)&&u(t)&&e.value[0]===t.value[0]&&e.value[1]===t.value[1]&&e.value[2]===t.value[2]&&e.value[3]===t.value[3]};var Nt=tT;function Jw(e,t){e=y(e,0),t=y(t,Number.MAX_VALUE),this.value=new Float32Array([e,t])}Object.defineProperties(Jw.prototype,{componentDatatype:{get:function(){return q.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}});Jw.fromDistanceDisplayCondition=function(e){return new Jw(e.near,e.far)};Jw.toValue=function(e,t){return u(t)?(t[0]=e.near,t[1]=e.far,t):new Float32Array([e.near,e.far])};var Vn=Jw;function zDe(e){e=y(e,y.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=y(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var At=zDe;function Go(e){e=y(e,y.EMPTY_OBJECT),this.start=u(e.start)?$.clone(e.start):new $,this.stop=u(e.stop)?$.clone(e.stop):new $,this.data=e.data,this.isStartIncluded=y(e.isStartIncluded,!0),this.isStopIncluded=y(e.isStopIncluded,!0)}Object.defineProperties(Go.prototype,{isEmpty:{get:function(){let e=$.compare(this.stop,this.start);return e<0||e===0&&(!this.isStartIncluded||!this.isStopIncluded)}}});var nT={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};Go.fromIso8601=function(e,t){let n=e.iso8601.split("/");if(n.length!==2)throw new de("options.iso8601 is an invalid ISO 8601 interval.");let i=$.fromIso8601(n[0]),o=$.fromIso8601(n[1]),r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=e.data;return u(t)?(t.start=i,t.stop=o,t.isStartIncluded=r,t.isStopIncluded=s,t.data=a,t):(nT.start=i,nT.stop=o,nT.isStartIncluded=r,nT.isStopIncluded=s,nT.data=a,new Go(nT))};Go.toIso8601=function(e,t){return`${$.toIso8601(e.start,t)}/${$.toIso8601(e.stop,t)}`};Go.clone=function(e,t){if(u(e))return u(t)?(t.start=e.start,t.stop=e.stop,t.isStartIncluded=e.isStartIncluded,t.isStopIncluded=e.isStopIncluded,t.data=e.data,t):new Go(e)};Go.equals=function(e,t,n){return e===t||u(e)&&u(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&$.equals(e.start,t.start)&&$.equals(e.stop,t.stop)&&(e.data===t.data||u(n)&&n(e.data,t.data)))};Go.equalsEpsilon=function(e,t,n,i){return n=y(n,0),e===t||u(e)&&u(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&$.equalsEpsilon(e.start,t.start,n)&&$.equalsEpsilon(e.stop,t.stop,n)&&(e.data===t.data||u(i)&&i(e.data,t.data)))};Go.intersect=function(e,t,n,i){if(!u(t))return Go.clone(Go.EMPTY,n);let o=e.start,r=e.stop,s=t.start,a=t.stop,c=$.greaterThanOrEquals(s,o)&&$.greaterThanOrEquals(r,s),l=!c&&$.lessThanOrEquals(s,o)&&$.lessThanOrEquals(o,a);if(!c&&!l)return Go.clone(Go.EMPTY,n);let f=e.isStartIncluded,d=e.isStopIncluded,p=t.isStartIncluded,g=t.isStopIncluded,m=$.lessThan(r,a);return u(n)||(n=new Go),n.start=c?s:o,n.isStartIncluded=f&&p||!$.equals(s,o)&&(c&&p||l&&f),n.stop=m?r:a,n.isStopIncluded=m?d:d&&g||!$.equals(a,r)&&g,n.data=u(i)?i(e.data,t.data):e.data,n};Go.contains=function(e,t){if(e.isEmpty)return!1;let n=$.compare(e.start,t);if(n===0)return e.isStartIncluded;let i=$.compare(t,e.stop);return i===0?e.isStopIncluded:n<0&&i<0};Go.prototype.clone=function(e){return Go.clone(this,e)};Go.prototype.equals=function(e,t){return Go.equals(this,e,t)};Go.prototype.equalsEpsilon=function(e,t,n){return Go.equalsEpsilon(this,e,t,n)};Go.prototype.toString=function(){return Go.toIso8601(this)};Go.EMPTY=Object.freeze(new Go({start:new $,stop:new $,isStartIncluded:!1,isStopIncluded:!1}));var An=Go;var PQ=Object.freeze($.fromIso8601("0000-01-01T00:00:00Z")),OQ=Object.freeze($.fromIso8601("9999-12-31T24:00:00Z")),HDe=Object.freeze(new An({start:PQ,stop:OQ})),GDe={MINIMUM_VALUE:PQ,MAXIMUM_VALUE:OQ,MAXIMUM_INTERVAL:HDe},ze=GDe;function Qw(e,t,n){e=y(e,0),t=y(t,0),n=y(n,0),this.value=new Float32Array([e,t,n])}Object.defineProperties(Qw.prototype,{componentDatatype:{get:function(){return q.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});Qw.fromCartesian3=function(e){return new Qw(e.x,e.y,e.z)};Qw.toValue=function(e,t){return u(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t};var Wi=Qw;function j3(e){e=y(e,!0),this.value=j3.toValue(e)}Object.defineProperties(j3.prototype,{componentDatatype:{get:function(){return q.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 1}},normalize:{get:function(){return!1}}});j3.toValue=function(e,t){return u(t)?(t[0]=e,t):new Uint8Array([e])};var _n=j3;var $w=`in vec3 v_positionEC; +in vec3 v_normalEC; +in vec3 v_tangentEC; +in vec3 v_bitangentEC; +in vec2 v_st; + +void main() +{ + vec3 positionToEyeEC = -v_positionEC; + mat3 tangentToEyeMatrix = czm_tangentToEyeSpaceMatrix(v_normalEC, v_tangentEC, v_bitangentEC); + + vec3 normalEC = normalize(v_normalEC); +#ifdef FACE_FORWARD + normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); +#endif + + czm_materialInput materialInput; + materialInput.normalEC = normalEC; + materialInput.tangentToEyeMatrix = tangentToEyeMatrix; + materialInput.positionToEyeEC = positionToEyeEC; + materialInput.st = v_st; + czm_material material = czm_getMaterial(materialInput); + +#ifdef FLAT + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#else + out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif +} +`;var eI=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec3 normal; +in vec3 tangent; +in vec3 bitangent; +in vec2 st; +in float batchId; + +out vec3 v_positionEC; +out vec3 v_normalEC; +out vec3 v_tangentEC; +out vec3 v_bitangentEC; +out vec2 v_st; + +void main() +{ + vec4 p = czm_computePosition(); + + v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates + v_normalEC = czm_normal * normal; // normal in eye coordinates + v_tangentEC = czm_normal * tangent; // tangent in eye coordinates + v_bitangentEC = czm_normal * bitangent; // bitangent in eye coordinates + v_st = st; + + gl_Position = czm_modelViewProjectionRelativeToEye * p; +} +`;var tI=`in vec3 v_positionEC; +in vec3 v_normalEC; + +void main() +{ + vec3 positionToEyeEC = -v_positionEC; + + vec3 normalEC = normalize(v_normalEC); +#ifdef FACE_FORWARD + normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); +#endif + + czm_materialInput materialInput; + materialInput.normalEC = normalEC; + materialInput.positionToEyeEC = positionToEyeEC; + czm_material material = czm_getMaterial(materialInput); + +#ifdef FLAT + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#else + out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif +} +`;var nI=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec3 normal; +in float batchId; + +out vec3 v_positionEC; +out vec3 v_normalEC; + +void main() +{ + vec4 p = czm_computePosition(); + + v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates + v_normalEC = czm_normal * normal; // normal in eye coordinates + + gl_Position = czm_modelViewProjectionRelativeToEye * p; +} +`;var iI=`in vec3 v_positionEC; +in vec3 v_normalEC; +in vec2 v_st; + +void main() +{ + vec3 positionToEyeEC = -v_positionEC; + + vec3 normalEC = normalize(v_normalEC); +#ifdef FACE_FORWARD + normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); +#endif + + czm_materialInput materialInput; + materialInput.normalEC = normalEC; + materialInput.positionToEyeEC = positionToEyeEC; + materialInput.st = v_st; + czm_material material = czm_getMaterial(materialInput); + +#ifdef FLAT + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#else + out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif +} +`;var oI=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec3 normal; +in vec2 st; +in float batchId; + +out vec3 v_positionEC; +out vec3 v_normalEC; +out vec2 v_st; + +void main() +{ + vec4 p = czm_computePosition(); + + v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates + v_normalEC = czm_normal * normal; // normal in eye coordinates + v_st = st; + + gl_Position = czm_modelViewProjectionRelativeToEye * p; +} +`;var WDe={ADD:ee.FUNC_ADD,SUBTRACT:ee.FUNC_SUBTRACT,REVERSE_SUBTRACT:ee.FUNC_REVERSE_SUBTRACT,MIN:ee.MIN,MAX:ee.MAX},aa=Object.freeze(WDe);var jDe={ZERO:ee.ZERO,ONE:ee.ONE,SOURCE_COLOR:ee.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:ee.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:ee.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:ee.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:ee.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:ee.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:ee.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:ee.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:ee.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:ee.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:ee.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:ee.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:ee.SRC_ALPHA_SATURATE},xo=Object.freeze(jDe);var YDe={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:aa.ADD,equationAlpha:aa.ADD,functionSourceRgb:xo.SOURCE_ALPHA,functionSourceAlpha:xo.ONE,functionDestinationRgb:xo.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:xo.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:aa.ADD,equationAlpha:aa.ADD,functionSourceRgb:xo.ONE,functionSourceAlpha:xo.ONE,functionDestinationRgb:xo.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:xo.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:aa.ADD,equationAlpha:aa.ADD,functionSourceRgb:xo.SOURCE_ALPHA,functionSourceAlpha:xo.ONE,functionDestinationRgb:xo.ONE,functionDestinationAlpha:xo.ONE})},un=Object.freeze(YDe);var qDe={FRONT:ee.FRONT,BACK:ee.BACK,FRONT_AND_BACK:ee.FRONT_AND_BACK},gi=Object.freeze(qDe);function iT(e){e=y(e,y.EMPTY_OBJECT),this.material=e.material,this.translucent=y(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=y(e.closed,!1)}Object.defineProperties(iT.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});iT.prototype.getFragmentShaderSource=function(){let e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),u(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join(` +`)};iT.prototype.isTranslucent=function(){return u(this.material)&&this.material.isTranslucent()||!u(this.material)&&this.translucent};iT.prototype.getRenderState=function(){let e=this.isTranslucent(),t=Ge(this.renderState,!1);return e?(t.depthMask=!1,t.blending=un.ALPHA_BLEND):t.depthMask=!0,t};iT.getDefaultRenderState=function(e,t,n){let i={depthTest:{enabled:!0}};return e&&(i.depthMask=!1,i.blending=un.ALPHA_BLEND),t&&(i.cull={enabled:!0,face:gi.BACK}),u(n)&&(i=_t(n,i,!0)),i};var $i=iT;var rI=`uniform sampler2D image; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + vec4 rampColor = texture(image, vec2(materialInput.aspect / (2.0 * czm_pi), 0.5)); + rampColor = czm_gammaCorrect(rampColor); + material.diffuse = rampColor.rgb; + material.alpha = rampColor.a; + return material; +} +`;var sI=`uniform sampler2D image; +uniform float strength; +uniform vec2 repeat; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + vec2 st = materialInput.st; + + vec2 centerPixel = fract(repeat * st); + float centerBump = texture(image, centerPixel).channel; + + float imageWidth = float(imageDimensions.x); + vec2 rightPixel = fract(repeat * (st + vec2(1.0 / imageWidth, 0.0))); + float rightBump = texture(image, rightPixel).channel; + + float imageHeight = float(imageDimensions.y); + vec2 leftPixel = fract(repeat * (st + vec2(0.0, 1.0 / imageHeight))); + float topBump = texture(image, leftPixel).channel; + + vec3 normalTangentSpace = normalize(vec3(centerBump - rightBump, centerBump - topBump, clamp(1.0 - strength, 0.1, 1.0))); + vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace; + + material.normal = normalEC; + material.diffuse = vec3(0.01); + + return material; +} +`;var aI=`uniform vec4 lightColor; +uniform vec4 darkColor; +uniform vec2 repeat; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + vec2 st = materialInput.st; + + // From Stefan Gustavson's Procedural Textures in GLSL in OpenGL Insights + float b = mod(floor(repeat.s * st.s) + floor(repeat.t * st.t), 2.0); // 0.0 or 1.0 + + // Find the distance from the closest separator (region between two colors) + float scaledWidth = fract(repeat.s * st.s); + scaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5)); + float scaledHeight = fract(repeat.t * st.t); + scaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5)); + float value = min(scaledWidth, scaledHeight); + + vec4 currentColor = mix(lightColor, darkColor, b); + vec4 color = czm_antialias(lightColor, darkColor, currentColor, value, 0.03); + + color = czm_gammaCorrect(color); + material.diffuse = color.rgb; + material.alpha = color.a; + + return material; +} +`;var cI=`uniform vec4 lightColor; +uniform vec4 darkColor; +uniform vec2 repeat; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + // From Stefan Gustavson's Procedural Textures in GLSL in OpenGL Insights + float b = smoothstep(0.3, 0.32, length(fract(repeat * materialInput.st) - 0.5)); // 0.0 or 1.0 + + vec4 color = mix(lightColor, darkColor, b); + color = czm_gammaCorrect(color); + material.diffuse = color.rgb; + material.alpha = color.a; + + return material; +} +`;var lI=`uniform sampler2D heights; +uniform sampler2D colors; + +// This material expects heights to be sorted from lowest to highest. + +float getHeight(int idx, float invTexSize) +{ + vec2 uv = vec2((float(idx) + 0.5) * invTexSize, 0.5); +#ifdef OES_texture_float + return texture(heights, uv).x; +#else + return czm_unpackFloat(texture(heights, uv)); +#endif +} + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + float height = materialInput.height; + float invTexSize = 1.0 / float(heightsDimensions.x); + + float minHeight = getHeight(0, invTexSize); + float maxHeight = getHeight(heightsDimensions.x - 1, invTexSize); + + // early-out when outside the height range + if (height < minHeight || height > maxHeight) { + material.diffuse = vec3(0.0); + material.alpha = 0.0; + return material; + } + + // Binary search to find heights above and below. + int idxBelow = 0; + int idxAbove = heightsDimensions.x; + float heightBelow = minHeight; + float heightAbove = maxHeight; + + // while loop not allowed, so use for loop with max iterations. + // maxIterations of 16 supports a texture size up to 65536 (2^16). + const int maxIterations = 16; + for (int i = 0; i < maxIterations; i++) { + if (idxBelow >= idxAbove - 1) { + break; + } + + int idxMid = (idxBelow + idxAbove) / 2; + float heightTex = getHeight(idxMid, invTexSize); + + if (height > heightTex) { + idxBelow = idxMid; + heightBelow = heightTex; + } else { + idxAbove = idxMid; + heightAbove = heightTex; + } + } + + float lerper = heightBelow == heightAbove ? 1.0 : (height - heightBelow) / (heightAbove - heightBelow); + vec2 colorUv = vec2(invTexSize * (float(idxBelow) + 0.5 + lerper), 0.5); + vec4 color = texture(colors, colorUv); + + // undo preumultiplied alpha + if (color.a > 0.0) + { + color.rgb /= color.a; + } + + color.rgb = czm_gammaCorrect(color.rgb); + + material.diffuse = color.rgb; + material.alpha = color.a; + return material; +} +`;var uI=`#ifdef GL_OES_standard_derivatives + #extension GL_OES_standard_derivatives : enable +#endif + +uniform vec4 color; +uniform float spacing; +uniform float width; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + float distanceToContour = mod(materialInput.height, spacing); + +#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) + float dxc = abs(dFdx(materialInput.height)); + float dyc = abs(dFdy(materialInput.height)); + float dF = max(dxc, dyc) * czm_pixelRatio * width; + float alpha = (distanceToContour < dF) ? 1.0 : 0.0; +#else + // If no derivatives available (IE 10?), use pixel ratio + float alpha = (distanceToContour < (czm_pixelRatio * width)) ? 1.0 : 0.0; +#endif + + vec4 outColor = czm_gammaCorrect(vec4(color.rgb, alpha * color.a)); + material.diffuse = outColor.rgb; + material.alpha = outColor.a; + + return material; +} +`;var fI=`uniform sampler2D image; +uniform float minimumHeight; +uniform float maximumHeight; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + float scaledHeight = clamp((materialInput.height - minimumHeight) / (maximumHeight - minimumHeight), 0.0, 1.0); + vec4 rampColor = texture(image, vec2(scaledHeight, 0.5)); + rampColor = czm_gammaCorrect(rampColor); + material.diffuse = rampColor.rgb; + material.alpha = rampColor.a; + return material; +} +`;var dI=`uniform vec4 fadeInColor; +uniform vec4 fadeOutColor; +uniform float maximumDistance; +uniform bool repeat; +uniform vec2 fadeDirection; +uniform vec2 time; + +float getTime(float t, float coord) +{ + float scalar = 1.0 / maximumDistance; + float q = distance(t, coord) * scalar; + if (repeat) + { + float r = distance(t, coord + 1.0) * scalar; + float s = distance(t, coord - 1.0) * scalar; + q = min(min(r, s), q); + } + return clamp(q, 0.0, 1.0); +} + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + vec2 st = materialInput.st; + float s = getTime(time.x, st.s) * fadeDirection.s; + float t = getTime(time.y, st.t) * fadeDirection.t; + + float u = length(vec2(s, t)); + vec4 color = mix(fadeInColor, fadeOutColor, u); + + color = czm_gammaCorrect(color); + material.emission = color.rgb; + material.alpha = color.a; + + return material; +} +`;var hI=`#ifdef GL_OES_standard_derivatives + #extension GL_OES_standard_derivatives : enable +#endif + +uniform vec4 color; +uniform float cellAlpha; +uniform vec2 lineCount; +uniform vec2 lineThickness; +uniform vec2 lineOffset; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + vec2 st = materialInput.st; + + float scaledWidth = fract(lineCount.s * st.s - lineOffset.s); + scaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5)); + float scaledHeight = fract(lineCount.t * st.t - lineOffset.t); + scaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5)); + + float value; + + // Fuzz Factor - Controls blurriness of lines +#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) + const float fuzz = 1.2; + vec2 thickness = (lineThickness * czm_pixelRatio) - 1.0; + + // From "3D Engine Design for Virtual Globes" by Cozzi and Ring, Listing 4.13. + vec2 dx = abs(dFdx(st)); + vec2 dy = abs(dFdy(st)); + vec2 dF = vec2(max(dx.s, dy.s), max(dx.t, dy.t)) * lineCount; + value = min( + smoothstep(dF.s * thickness.s, dF.s * (fuzz + thickness.s), scaledWidth), + smoothstep(dF.t * thickness.t, dF.t * (fuzz + thickness.t), scaledHeight)); +#else + // If no derivatives available (IE 10?), revert to view-dependent fuzz + const float fuzz = 0.05; + + vec2 range = 0.5 - (lineThickness * 0.05); + value = min( + 1.0 - smoothstep(range.s, range.s + fuzz, scaledWidth), + 1.0 - smoothstep(range.t, range.t + fuzz, scaledHeight)); +#endif + + // Edges taken from RimLightingMaterial.glsl + // See http://www.fundza.com/rman_shaders/surface/fake_rim/fake_rim1.html + float dRim = 1.0 - abs(dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC))); + float sRim = smoothstep(0.8, 1.0, dRim); + value *= (1.0 - sRim); + + vec4 halfColor; + halfColor.rgb = color.rgb * 0.5; + halfColor.a = color.a * (1.0 - ((1.0 - cellAlpha) * value)); + halfColor = czm_gammaCorrect(halfColor); + material.diffuse = halfColor.rgb; + material.emission = halfColor.rgb; + material.alpha = halfColor.a; + + return material; +} +`;var mI=`uniform sampler2D image; +uniform float strength; +uniform vec2 repeat; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + vec4 textureValue = texture(image, fract(repeat * materialInput.st)); + vec3 normalTangentSpace = textureValue.channels; + normalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0; + normalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0); + normalTangentSpace = normalize(normalTangentSpace); + vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace; + + material.normal = normalEC; + + return material; +} +`;var pI=`#ifdef GL_OES_standard_derivatives +#extension GL_OES_standard_derivatives : enable +#endif + +uniform vec4 color; + +float getPointOnLine(vec2 p0, vec2 p1, float x) +{ + float slope = (p0.y - p1.y) / (p0.x - p1.x); + return slope * (x - p0.x) + p0.y; +} + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + vec2 st = materialInput.st; + +#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) + float base = 1.0 - abs(fwidth(st.s)) * 10.0 * czm_pixelRatio; +#else + // If no derivatives available (IE 10?), 2.5% of the line will be the arrow head + float base = 0.975; +#endif + + vec2 center = vec2(1.0, 0.5); + float ptOnUpperLine = getPointOnLine(vec2(base, 1.0), center, st.s); + float ptOnLowerLine = getPointOnLine(vec2(base, 0.0), center, st.s); + + float halfWidth = 0.15; + float s = step(0.5 - halfWidth, st.t); + s *= 1.0 - step(0.5 + halfWidth, st.t); + s *= 1.0 - step(base, st.s); + + float t = step(base, materialInput.st.s); + t *= 1.0 - step(ptOnUpperLine, st.t); + t *= step(ptOnLowerLine, st.t); + + // Find the distance from the closest separator (region between two colors) + float dist; + if (st.s < base) + { + float d1 = abs(st.t - (0.5 - halfWidth)); + float d2 = abs(st.t - (0.5 + halfWidth)); + dist = min(d1, d2); + } + else + { + float d1 = czm_infinity; + if (st.t < 0.5 - halfWidth && st.t > 0.5 + halfWidth) + { + d1 = abs(st.s - base); + } + float d2 = abs(st.t - ptOnUpperLine); + float d3 = abs(st.t - ptOnLowerLine); + dist = min(min(d1, d2), d3); + } + + vec4 outsideColor = vec4(0.0); + vec4 currentColor = mix(outsideColor, color, clamp(s + t, 0.0, 1.0)); + vec4 outColor = czm_antialias(outsideColor, color, currentColor, dist); + + outColor = czm_gammaCorrect(outColor); + material.diffuse = outColor.rgb; + material.alpha = outColor.a; + return material; +} +`;var _I=`uniform vec4 color; +uniform vec4 gapColor; +uniform float dashLength; +uniform float dashPattern; +in float v_polylineAngle; + +const float maskLength = 16.0; + +mat2 rotate(float rad) { + float c = cos(rad); + float s = sin(rad); + return mat2( + c, s, + -s, c + ); +} + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + vec2 pos = rotate(v_polylineAngle) * gl_FragCoord.xy; + + // Get the relative position within the dash from 0 to 1 + float dashPosition = fract(pos.x / (dashLength * czm_pixelRatio)); + // Figure out the mask index. + float maskIndex = floor(dashPosition * maskLength); + // Test the bit mask. + float maskTest = floor(dashPattern / pow(2.0, maskIndex)); + vec4 fragColor = (mod(maskTest, 2.0) < 1.0) ? gapColor : color; + if (fragColor.a < 0.005) { // matches 0/255 and 1/255 + discard; + } + + fragColor = czm_gammaCorrect(fragColor); + material.emission = fragColor.rgb; + material.alpha = fragColor.a; + return material; +} +`;var gI=`uniform vec4 color; +uniform float glowPower; +uniform float taperPower; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + vec2 st = materialInput.st; + float glow = glowPower / abs(st.t - 0.5) - (glowPower / 0.5); + + if (taperPower <= 0.99999) { + glow *= min(1.0, taperPower / (0.5 - st.s * 0.5) - (taperPower / 0.5)); + } + + vec4 fragColor; + fragColor.rgb = max(vec3(glow - 1.0 + color.rgb), color.rgb); + fragColor.a = clamp(0.0, 1.0, glow) * color.a; + fragColor = czm_gammaCorrect(fragColor); + + material.emission = fragColor.rgb; + material.alpha = fragColor.a; + + return material; +} +`;var yI=`uniform vec4 color; +uniform vec4 outlineColor; +uniform float outlineWidth; + +in float v_width; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + vec2 st = materialInput.st; + float halfInteriorWidth = 0.5 * (v_width - outlineWidth) / v_width; + float b = step(0.5 - halfInteriorWidth, st.t); + b *= 1.0 - step(0.5 + halfInteriorWidth, st.t); + + // Find the distance from the closest separator (region between two colors) + float d1 = abs(st.t - (0.5 - halfInteriorWidth)); + float d2 = abs(st.t - (0.5 + halfInteriorWidth)); + float dist = min(d1, d2); + + vec4 currentColor = mix(outlineColor, color, b); + vec4 outColor = czm_antialias(outlineColor, color, currentColor, dist); + outColor = czm_gammaCorrect(outColor); + + material.diffuse = outColor.rgb; + material.alpha = outColor.a; + + return material; +} +`;var AI=`uniform vec4 color; +uniform vec4 rimColor; +uniform float width; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + // See http://www.fundza.com/rman_shaders/surface/fake_rim/fake_rim1.html + float d = 1.0 - dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC)); + float s = smoothstep(1.0 - width, 1.0, d); + + vec4 outColor = czm_gammaCorrect(color); + vec4 outRimColor = czm_gammaCorrect(rimColor); + + material.diffuse = outColor.rgb; + material.emission = outRimColor.rgb * s; + material.alpha = mix(outColor.a, outRimColor.a, s); + + return material; +} +`;var xI=`uniform sampler2D image; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + vec4 rampColor = texture(image, vec2(materialInput.slope / (czm_pi / 2.0), 0.5)); + rampColor = czm_gammaCorrect(rampColor); + material.diffuse = rampColor.rgb; + material.alpha = rampColor.a; + return material; +} +`;var CI=`uniform vec4 evenColor; +uniform vec4 oddColor; +uniform float offset; +uniform float repeat; +uniform bool horizontal; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + // Based on the Stripes Fragment Shader in the Orange Book (11.1.2) + float coord = mix(materialInput.st.s, materialInput.st.t, float(horizontal)); + float value = fract((coord - offset) * (repeat * 0.5)); + float dist = min(value, min(abs(value - 0.5), 1.0 - value)); + + vec4 currentColor = mix(evenColor, oddColor, step(0.5, value)); + vec4 color = czm_antialias(evenColor, oddColor, currentColor, dist); + color = czm_gammaCorrect(color); + + material.diffuse = color.rgb; + material.alpha = color.a; + + return material; +} +`;var TI=`// Thanks for the contribution Jonas +// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog + +uniform sampler2D specularMap; +uniform sampler2D normalMap; +uniform vec4 baseWaterColor; +uniform vec4 blendColor; +uniform float frequency; +uniform float animationSpeed; +uniform float amplitude; +uniform float specularIntensity; +uniform float fadeFactor; + +czm_material czm_getMaterial(czm_materialInput materialInput) +{ + czm_material material = czm_getDefaultMaterial(materialInput); + + float time = czm_frameNumber * animationSpeed; + + // fade is a function of the distance from the fragment and the frequency of the waves + float fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor); + + float specularMapValue = texture(specularMap, materialInput.st).r; + + // note: not using directional motion at this time, just set the angle to 0.0; + vec4 noise = czm_getWaterNoise(normalMap, materialInput.st * frequency, time, 0.0); + vec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude)); + + // fade out the normal perturbation as we move further from the water surface + normalTangentSpace.xy /= fade; + + // attempt to fade out the normal perturbation as we approach non water areas (low specular map value) + normalTangentSpace = mix(vec3(0.0, 0.0, 50.0), normalTangentSpace, specularMapValue); + + normalTangentSpace = normalize(normalTangentSpace); + + // get ratios for alignment of the new normal vector with a vector perpendicular to the tangent plane + float tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0); + + // fade out water effect as specular map value decreases + material.alpha = mix(blendColor.a, baseWaterColor.a, specularMapValue) * specularMapValue; + + // base color is a blend of the water and non-water color based on the value from the specular map + // may need a uniform blend factor to better control this + material.diffuse = mix(blendColor.rgb, baseWaterColor.rgb, specularMapValue); + + // diffuse highlights are based on how perturbed the normal is + material.diffuse += (0.1 * tsPerturbationRatio); + + material.diffuse = material.diffuse; + + material.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace); + + material.specular = specularIntensity; + material.shininess = 10.0; + + return material; +} +`;function je(e){this.type=void 0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=y(e.minificationFilter,an.LINEAR),this._magnificationFilter=y(e.magnificationFilter,yi.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,XDe(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),u(je._uniformList[this.type])||(je._uniformList[this.type]=Object.keys(this._uniforms))}je._uniformList={};je.fromType=function(e,t){let n=new je({fabric:{type:e}});if(u(t))for(let i in t)t.hasOwnProperty(i)&&(n.uniforms[i]=t[i]);return n};je.prototype.isTranslucent=function(){if(u(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let e=!0,t=this._translucentFunctions,n=t.length;for(let i=0;i<n;++i){let o=t[i];if(typeof o=="function"?e=e&&o():e=e&&o,!e)break}return e};je.prototype.update=function(e){this._defaultTexture=e.defaultTexture;let t,n,i=this._loadedImages,o=i.length;for(t=0;t<o;++t){let c=i[t];n=c.id;let l=c.image,f;Array.isArray(l)&&(f=l.slice(1,l.length).map(function(A){return A.bufferView}),l=l[0]);let d=new ln({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter}),p;u(l.internalFormat)?p=new It({context:e,pixelFormat:l.internalFormat,width:l.width,height:l.height,source:{arrayBufferView:l.bufferView,mipLevels:f},sampler:d}):p=new It({context:e,source:l,sampler:d});let g=this._textures[n];u(g)&&g!==this._defaultTexture&&g.destroy(),this._textures[n]=p;let m=`${n}Dimensions`;if(this.uniforms.hasOwnProperty(m)){let A=this.uniforms[m];A.x=p._width,A.y=p._height}}i.length=0;let r=this._loadedCubeMaps;for(o=r.length,t=0;t<o;++t){let c=r[t];n=c.id;let l=c.images,f=new Ma({context:e,source:{positiveX:l[0],negativeX:l[1],positiveY:l[2],negativeY:l[3],positiveZ:l[4],negativeZ:l[5]},sampler:new ln({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter})});this._textures[n]=f}r.length=0;let s=this._updateFunctions;for(o=s.length,t=0;t<o;++t)s[t](this,e);let a=this.materials;for(let c in a)a.hasOwnProperty(c)&&a[c].update(e)};je.prototype.isDestroyed=function(){return!1};je.prototype.destroy=function(){let e=this._textures;for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];i!==this._defaultTexture&&i.destroy()}let t=this.materials;for(let n in t)t.hasOwnProperty(n)&&t[n].destroy();return le(this)};function XDe(e,t){e=y(e,y.EMPTY_OBJECT),t._strict=y(e.strict,!1),t._count=y(e.count,0),t._template=Ge(y(e.fabric,y.EMPTY_OBJECT)),t._template.uniforms=Ge(y(t._template.uniforms,y.EMPTY_OBJECT)),t._template.materials=Ge(y(t._template.materials,y.EMPTY_OBJECT)),t.type=u(t._template.type)?t._template.type:zn(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];let n,i=je._materialCache.getMaterial(t.type);if(u(i)){let r=Ge(i.fabric,!0);t._template=_t(t._template,r,!0),n=i.translucent}QDe(t),u(i)||je._materialCache.addMaterial(t.type,t),eve(t),ove(t),sve(t);let o=t._translucentFunctions.length===0?!0:void 0;if(n=y(n,o),n=y(e.translucent,n),u(n))if(typeof n=="function"){let r=function(){return n(t)};t._translucentFunctions.push(r)}else t._translucentFunctions.push(n)}function a8(e,t,n,i){if(u(e)){for(let o in e)if(e.hasOwnProperty(o)){let r=t.indexOf(o)!==-1;(i&&!r||!i&&r)&&n(o,t)}}}function RQ(e,t){}function KDe(e,t){}var ZDe=["type","materials","uniforms","components","source"],JDe=["diffuse","specular","shininess","normal","emission","alpha"];function QDe(e){let t=e._template,n=t.uniforms,i=t.materials,o=t.components;a8(t,ZDe,RQ,!0),a8(o,JDe,RQ,!0);let r=[];for(let s in i)i.hasOwnProperty(s)&&r.push(s);a8(n,r,KDe,!1)}function $De(e,t){let n=t._template.materials;for(let i in n)if(n.hasOwnProperty(i)&&e.indexOf(i)>-1)return!0;return!1}function eve(e){let t=e._template.components,n=e._template.source;if(u(n))e.shaderSource+=`${n} +`;else{if(e.shaderSource+=`czm_material czm_getMaterial(czm_materialInput materialInput) +{ +`,e.shaderSource+=`czm_material material = czm_getDefaultMaterial(materialInput); +`,u(t)){let i=Object.keys(e._template.materials).length>0;for(let o in t)if(t.hasOwnProperty(o))if(o==="diffuse"||o==="emission"){let s=i&&$De(t[o],e)?t[o]:`czm_gammaCorrect(${t[o]})`;e.shaderSource+=`material.${o} = ${s}; +`}else o==="alpha"?e.shaderSource+=`material.alpha = ${t.alpha}; +`:e.shaderSource+=`material.${o} = ${t[o]}; +`}e.shaderSource+=`return material; +} +`}}var BQ={mat2:Ji,mat3:Z,mat4:M},tve=/\.ktx2$/i;function nve(e){let t;return function(n,i){let o=n.uniforms,r=o[e],s=t!==r,a=!u(r)||r===je.DefaultImageId;t=r;let c=n._textures[e],l,f;if(r instanceof HTMLVideoElement){if(r.readyState>=2){if(s&&u(c)&&(c!==i.defaultTexture&&c.destroy(),c=void 0),!u(c)||c===i.defaultTexture){let p=new ln({minificationFilter:n._minificationFilter,magnificationFilter:n._magnificationFilter});c=new It({context:i,source:r,sampler:p}),n._textures[e]=c;return}c.copyFrom({source:r})}else u(c)||(n._textures[e]=i.defaultTexture);return}if(r instanceof It&&r!==c){n._texturePaths[e]=void 0;let p=n._textures[e];u(p)&&p!==n._defaultTexture&&p.destroy(),n._textures[e]=r,l=`${e}Dimensions`,o.hasOwnProperty(l)&&(f=o[l],f.x=r._width,f.y=r._height);return}if(s&&u(c)&&a&&(c!==n._defaultTexture&&c.destroy(),c=void 0),u(c)||(n._texturePaths[e]=void 0,c=n._textures[e]=n._defaultTexture,l=`${e}Dimensions`,o.hasOwnProperty(l)&&(f=o[l],f.x=c._width,f.y=c._height)),a)return;let d=r instanceof Oe;if(!u(n._texturePaths[e])||d&&r.url!==n._texturePaths[e].url||!d&&r!==n._texturePaths[e]){if(typeof r=="string"||d){let p=d?r:Oe.createIfNeeded(r),g;tve.test(p.url)?g=tl(p.url):g=p.fetchImage(),Promise.resolve(g).then(function(m){n._loadedImages.push({id:e,image:m})}).catch(function(){u(c)&&c!==n._defaultTexture&&c.destroy(),n._textures[e]=n._defaultTexture})}else(r instanceof HTMLCanvasElement||r instanceof HTMLImageElement)&&n._loadedImages.push({id:e,image:r});n._texturePaths[e]=r}}}function ive(e){return function(t,n){let i=t.uniforms[e];if(i instanceof Ma){let r=t._textures[e];r!==t._defaultTexture&&r.destroy(),t._texturePaths[e]=void 0,t._textures[e]=i;return}if(u(t._textures[e])||(t._texturePaths[e]=void 0,t._textures[e]=n.defaultCubeMap),i===je.DefaultCubeMapId)return;let o=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ;if(o!==t._texturePaths[e]){let r=[Oe.createIfNeeded(i.positiveX).fetchImage(),Oe.createIfNeeded(i.negativeX).fetchImage(),Oe.createIfNeeded(i.positiveY).fetchImage(),Oe.createIfNeeded(i.negativeY).fetchImage(),Oe.createIfNeeded(i.positiveZ).fetchImage(),Oe.createIfNeeded(i.negativeZ).fetchImage()];Promise.all(r).then(function(s){t._loadedCubeMaps.push({id:e,images:s})}),t._texturePaths[e]=o}}}function ove(e){let t=e._template.uniforms;for(let n in t)t.hasOwnProperty(n)&&MQ(e,n)}function MQ(e,t){let n=e._strict,i=e._template.uniforms,o=i[t],r=rve(o),s;if(r==="channels")s=EI(e,t,o,!1);else{if(r==="sampler2D"){let l=`${t}Dimensions`;ave(e,l)>0&&(i[l]={type:"ivec3",x:1,y:1},MQ(e,l))}if(!new RegExp(`uniform\\s+${r}\\s+${t}\\s*;`).test(e.shaderSource)){let l=`uniform ${r} ${t};`;e.shaderSource=l+e.shaderSource}let c=`${t}_${e._count++}`;if(s=EI(e,t,c),e.uniforms[t]=o,r==="sampler2D")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(nve(t));else if(r==="samplerCube")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(ive(t));else if(r.indexOf("mat")!==-1){let l=new BQ[r];e._uniforms[c]=function(){return BQ[r].fromColumnMajorArray(e.uniforms[t],l)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function rve(e){let t=e.type;if(!u(t)){let n=typeof e;if(n==="number")t="float";else if(n==="boolean")t="bool";else if(n==="string"||e instanceof Oe||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement)/^([rgba]){1,4}$/i.test(e)?t="channels":e===je.DefaultCubeMapId?t="samplerCube":t="sampler2D";else if(n==="object")if(Array.isArray(e))(e.length===4||e.length===9||e.length===16)&&(t=`mat${Math.sqrt(e.length)}`);else{let i=0;for(let o in e)e.hasOwnProperty(o)&&(i+=1);i>=2&&i<=4?t=`vec${i}`:i===6&&(t="samplerCube")}}return t}function sve(e){let t=e._strict,n=e._template.materials;for(let i in n)if(n.hasOwnProperty(i)){let o=new je({strict:t,fabric:n[i],count:e._count});e._count=o._count,e._uniforms=_t(e._uniforms,o._uniforms,!0),e.materials[i]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);let r="czm_getMaterial",s=`${r}_${e._count++}`;EI(o,r,s),e.shaderSource=o.shaderSource+e.shaderSource;let a=`${s}(materialInput)`,c=EI(e,i,a)}}function EI(e,t,n,i){i=y(i,!0);let o=0,r="([\\w])?",s=`([\\w${i?".":""}])?`,a=new RegExp(s+t+r,"g");return e.shaderSource=e.shaderSource.replace(a,function(c,l,f){return l||f?c:(o+=1,n)}),o}function ave(e,t,n){return EI(e,t,t,n)}je._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}};je.DefaultImageId="czm_defaultImage";je.DefaultCubeMapId="czm_defaultCubeMap";je.ColorType="Color";je._materialCache.addMaterial(je.ColorType,{fabric:{type:je.ColorType,uniforms:{color:new z(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});je.ImageType="Image";je._materialCache.addMaterial(je.ImageType,{fabric:{type:je.ImageType,uniforms:{image:je.DefaultImageId,repeat:new H(1,1),color:new z(1,1,1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});je.DiffuseMapType="DiffuseMap";je._materialCache.addMaterial(je.DiffuseMapType,{fabric:{type:je.DiffuseMapType,uniforms:{image:je.DefaultImageId,channels:"rgb",repeat:new H(1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});je.AlphaMapType="AlphaMap";je._materialCache.addMaterial(je.AlphaMapType,{fabric:{type:je.AlphaMapType,uniforms:{image:je.DefaultImageId,channel:"a",repeat:new H(1,1)},components:{alpha:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});je.SpecularMapType="SpecularMap";je._materialCache.addMaterial(je.SpecularMapType,{fabric:{type:je.SpecularMapType,uniforms:{image:je.DefaultImageId,channel:"r",repeat:new H(1,1)},components:{specular:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});je.EmissionMapType="EmissionMap";je._materialCache.addMaterial(je.EmissionMapType,{fabric:{type:je.EmissionMapType,uniforms:{image:je.DefaultImageId,channels:"rgb",repeat:new H(1,1)},components:{emission:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});je.BumpMapType="BumpMap";je._materialCache.addMaterial(je.BumpMapType,{fabric:{type:je.BumpMapType,uniforms:{image:je.DefaultImageId,channel:"r",strength:.8,repeat:new H(1,1)},source:sI},translucent:!1});je.NormalMapType="NormalMap";je._materialCache.addMaterial(je.NormalMapType,{fabric:{type:je.NormalMapType,uniforms:{image:je.DefaultImageId,channels:"rgb",strength:.8,repeat:new H(1,1)},source:mI},translucent:!1});je.GridType="Grid";je._materialCache.addMaterial(je.GridType,{fabric:{type:je.GridType,uniforms:{color:new z(0,1,0,1),cellAlpha:.1,lineCount:new H(8,8),lineThickness:new H(1,1),lineOffset:new H(0,0)},source:hI},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}});je.StripeType="Stripe";je._materialCache.addMaterial(je.StripeType,{fabric:{type:je.StripeType,uniforms:{horizontal:!0,evenColor:new z(1,1,1,.5),oddColor:new z(0,0,1,.5),offset:0,repeat:5},source:CI},translucent:function(e){let t=e.uniforms;return t.evenColor.alpha<1||t.oddColor.alpha<1}});je.CheckerboardType="Checkerboard";je._materialCache.addMaterial(je.CheckerboardType,{fabric:{type:je.CheckerboardType,uniforms:{lightColor:new z(1,1,1,.5),darkColor:new z(0,0,0,.5),repeat:new H(5,5)},source:aI},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});je.DotType="Dot";je._materialCache.addMaterial(je.DotType,{fabric:{type:je.DotType,uniforms:{lightColor:new z(1,1,0,.75),darkColor:new z(0,1,1,.75),repeat:new H(5,5)},source:cI},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});je.WaterType="Water";je._materialCache.addMaterial(je.WaterType,{fabric:{type:je.WaterType,uniforms:{baseWaterColor:new z(.2,.3,.6,1),blendColor:new z(0,1,.699,1),specularMap:je.DefaultImageId,normalMap:je.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:TI},translucent:function(e){let t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<1}});je.RimLightingType="RimLighting";je._materialCache.addMaterial(je.RimLightingType,{fabric:{type:je.RimLightingType,uniforms:{color:new z(1,0,0,.7),rimColor:new z(1,1,1,.4),width:.3},source:AI},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<1}});je.FadeType="Fade";je._materialCache.addMaterial(je.FadeType,{fabric:{type:je.FadeType,uniforms:{fadeInColor:new z(1,0,0,1),fadeOutColor:new z(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new H(.5,.5)},source:dI},translucent:function(e){let t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<1}});je.PolylineArrowType="PolylineArrow";je._materialCache.addMaterial(je.PolylineArrowType,{fabric:{type:je.PolylineArrowType,uniforms:{color:new z(1,1,1,1)},source:pI},translucent:!0});je.PolylineDashType="PolylineDash";je._materialCache.addMaterial(je.PolylineDashType,{fabric:{type:je.PolylineDashType,uniforms:{color:new z(1,0,1,1),gapColor:new z(0,0,0,0),dashLength:16,dashPattern:255},source:_I},translucent:!0});je.PolylineGlowType="PolylineGlow";je._materialCache.addMaterial(je.PolylineGlowType,{fabric:{type:je.PolylineGlowType,uniforms:{color:new z(0,.5,1,1),glowPower:.25,taperPower:1},source:gI},translucent:!0});je.PolylineOutlineType="PolylineOutline";je._materialCache.addMaterial(je.PolylineOutlineType,{fabric:{type:je.PolylineOutlineType,uniforms:{color:new z(1,1,1,1),outlineColor:new z(1,0,0,1),outlineWidth:1},source:yI},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}});je.ElevationContourType="ElevationContour";je._materialCache.addMaterial(je.ElevationContourType,{fabric:{type:je.ElevationContourType,uniforms:{spacing:100,color:new z(1,0,0,1),width:1},source:uI},translucent:!1});je.ElevationRampType="ElevationRamp";je._materialCache.addMaterial(je.ElevationRampType,{fabric:{type:je.ElevationRampType,uniforms:{image:je.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:fI},translucent:!1});je.SlopeRampMaterialType="SlopeRamp";je._materialCache.addMaterial(je.SlopeRampMaterialType,{fabric:{type:je.SlopeRampMaterialType,uniforms:{image:je.DefaultImageId},source:xI},translucent:!1});je.AspectRampMaterialType="AspectRamp";je._materialCache.addMaterial(je.AspectRampMaterialType,{fabric:{type:je.AspectRampMaterialType,uniforms:{image:je.DefaultImageId},source:rI},translucent:!1});je.ElevationBandType="ElevationBand";je._materialCache.addMaterial(je.ElevationBandType,{fabric:{type:je.ElevationBandType,uniforms:{heights:je.DefaultImageId,colors:je.DefaultImageId},source:lI},translucent:!0});var Vi=je;function v0(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.materialSupport,v0.MaterialSupport.TEXTURED);this.material=u(e.material)?e.material:Vi.fromType(Vi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,i.vertexShaderSource),this._fragmentShaderSource=y(e.fragmentShaderSource,i.fragmentShaderSource),this._renderState=$i.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._materialSupport=i,this._vertexFormat=i.vertexFormat,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,!n)}Object.defineProperties(v0.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});v0.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;v0.prototype.isTranslucent=$i.prototype.isTranslucent;v0.prototype.getRenderState=$i.prototype.getRenderState;v0.MaterialSupport={BASIC:Object.freeze({vertexFormat:Ie.POSITION_AND_NORMAL,vertexShaderSource:nI,fragmentShaderSource:tI}),TEXTURED:Object.freeze({vertexFormat:Ie.POSITION_NORMAL_AND_ST,vertexShaderSource:oI,fragmentShaderSource:iI}),ALL:Object.freeze({vertexFormat:Ie.ALL,vertexShaderSource:eI,fragmentShaderSource:$w})};var oo=v0;var bI=`in vec3 v_positionEC; +in vec3 v_normalEC; +in vec4 v_color; + +void main() +{ + vec3 positionToEyeEC = -v_positionEC; + + vec3 normalEC = normalize(v_normalEC); +#ifdef FACE_FORWARD + normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); +#endif + + vec4 color = czm_gammaCorrect(v_color); + + czm_materialInput materialInput; + materialInput.normalEC = normalEC; + materialInput.positionToEyeEC = positionToEyeEC; + czm_material material = czm_getDefaultMaterial(materialInput); + material.diffuse = color.rgb; + material.alpha = color.a; + + out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +} +`;var SI=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec3 normal; +in vec4 color; +in float batchId; + +out vec3 v_positionEC; +out vec3 v_normalEC; +out vec4 v_color; + +void main() +{ + vec4 p = czm_computePosition(); + + v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates + v_normalEC = czm_normal * normal; // normal in eye coordinates + v_color = color; + + gl_Position = czm_modelViewProjectionRelativeToEye * p; +} +`;var w0=`in vec4 v_color; + +void main() +{ + out_FragColor = czm_gammaCorrect(v_color); +} +`;var DI=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec4 color; +in float batchId; + +out vec4 v_color; + +void main() +{ + vec4 p = czm_computePosition(); + + v_color = color; + + gl_Position = czm_modelViewProjectionRelativeToEye * p; +} +`;function jm(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.flat,!1),o=i?DI:SI,r=i?w0:bI,s=i?jm.FLAT_VERTEX_FORMAT:jm.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,o),this._fragmentShaderSource=y(e.fragmentShaderSource,r),this._renderState=$i.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=s,this._flat=i,this._faceForward=y(e.faceForward,!n)}Object.defineProperties(jm.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});jm.VERTEX_FORMAT=Ie.POSITION_AND_NORMAL;jm.FLAT_VERTEX_FORMAT=Ie.POSITION_ONLY;jm.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;jm.prototype.isTranslucent=$i.prototype.isTranslucent;jm.prototype.getRenderState=$i.prototype.getRenderState;var on=jm;function oT(e){this._definitionChanged=new Ae,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(oT.prototype,{isConstant:{get:function(){return Y.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color")});oT.prototype.getType=function(e){return"Color"};oT.prototype.getValue=function(e,t){return u(t)||(t={}),t.color=Y.getValueOrClonedDefault(this._color,e,z.WHITE,t.color),t};oT.prototype.equals=function(e){return this===e||e instanceof oT&&Y.equals(this._color,e._color)};var Mt=oT;function Q_(e){e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ie.WGS84),this._rectangle=y(e.rectangle,ce.MAX_VALUE),this._projection=new Ei(this._ellipsoid),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(Q_.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});Q_.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};Q_.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};Q_.prototype.rectangleToNativeRectangle=function(e,t){let n=P.toDegrees(e.west),i=P.toDegrees(e.south),o=P.toDegrees(e.east),r=P.toDegrees(e.north);return u(t)?(t.west=n,t.south=i,t.east=o,t.north=r,t):new ce(n,i,o,r)};Q_.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.tileXYToRectangle(e,t,n,i);return o.west=P.toDegrees(o.west),o.south=P.toDegrees(o.south),o.east=P.toDegrees(o.east),o.north=P.toDegrees(o.north),o};Q_.prototype.tileXYToRectangle=function(e,t,n,i){let o=this._rectangle,r=this.getNumberOfXTilesAtLevel(n),s=this.getNumberOfYTilesAtLevel(n),a=o.width/r,c=e*a+o.west,l=(e+1)*a+o.west,f=o.height/s,d=o.north-t*f,p=o.north-(t+1)*f;return u(i)||(i=new ce(c,p,l,d)),i.west=c,i.south=p,i.east=l,i.north=d,i};Q_.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!ce.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),s=i.width/o,a=i.height/r,c=e.longitude;i.east<i.west&&(c+=P.TWO_PI);let l=(c-i.west)/s|0;l>=o&&(l=o-1);let f=(i.north-e.latitude)/a|0;return f>=r&&(f=r-1),u(n)?(n.x=l,n.y=f,n):new H(l,f)};var ji=Q_;var LQ=new h,NQ=new h,FQ=new he,c8=new h,cve=new h,VQ=new se,lve=new ji,vI=[new he,new he,new he,new he],wI=new H,Fr={};Fr.initialize=function(){let e=Fr._initPromise;return u(e)||(e=Oe.fetchJson($t("Assets/approximateTerrainHeights.json")).then(function(t){Fr._terrainHeights=t}),Fr._initPromise=e),e};Fr.getMinimumMaximumHeights=function(e,t){t=y(t,ie.WGS84);let n=UQ(e),i=Fr._defaultMinTerrainHeight,o=Fr._defaultMaxTerrainHeight;if(u(n)){let r=`${n.level}-${n.x}-${n.y}`,s=Fr._terrainHeights[r];u(s)&&(i=s[0],o=s[1]),t.cartographicToCartesian(ce.northeast(e,FQ),LQ),t.cartographicToCartesian(ce.southwest(e,FQ),NQ),h.midpoint(NQ,LQ,c8);let a=t.scaleToGeodeticSurface(c8,cve);if(u(a)){let c=h.distance(c8,a);i=Math.min(i,-c)}else i=Fr._defaultMinTerrainHeight}return i=Math.max(Fr._defaultMinTerrainHeight,i),{minimumTerrainHeight:i,maximumTerrainHeight:o}};Fr.getBoundingSphere=function(e,t){t=y(t,ie.WGS84);let n=UQ(e),i=Fr._defaultMaxTerrainHeight;if(u(n)){let r=`${n.level}-${n.x}-${n.y}`,s=Fr._terrainHeights[r];u(s)&&(i=s[1])}let o=se.fromRectangle3D(e,t,0);return se.fromRectangle3D(e,t,i,VQ),se.union(o,VQ,o)};function UQ(e){he.fromRadians(e.east,e.north,0,vI[0]),he.fromRadians(e.west,e.north,0,vI[1]),he.fromRadians(e.east,e.south,0,vI[2]),he.fromRadians(e.west,e.south,0,vI[3]);let t=0,n=0,i=0,o=0,r=Fr._terrainHeightsMaxLevel,s;for(s=0;s<=r;++s){let a=!1;for(let c=0;c<4;++c){let l=vI[c];if(lve.positionToTileXY(l,s,wI),c===0)i=wI.x,o=wI.y;else if(i!==wI.x||o!==wI.y){a=!0;break}}if(a)break;t=i,n=o}if(s!==0)return{x:t,y:n,level:s>r?r:s-1}}Fr._terrainHeightsMaxLevel=6;Fr._defaultMaxTerrainHeight=9e3;Fr._defaultMinTerrainHeight=-1e5;Fr._terrainHeights=void 0;Fr._initPromise=void 0;Object.defineProperties(Fr,{initialized:{get:function(){return u(Fr._terrainHeights)}}});var fi=Fr;function Ac(e,t,n){this.minimum=h.clone(y(e,h.ZERO)),this.maximum=h.clone(y(t,h.ZERO)),u(n)?n=h.clone(n):n=h.midpoint(this.minimum,this.maximum,new h),this.center=n}Ac.fromCorners=function(e,t,n){return u(n)||(n=new Ac),n.minimum=h.clone(e,n.minimum),n.maximum=h.clone(t,n.maximum),n.center=h.midpoint(e,t,n.center),n};Ac.fromPoints=function(e,t){if(u(t)||(t=new Ac),!u(e)||e.length===0)return t.minimum=h.clone(h.ZERO,t.minimum),t.maximum=h.clone(h.ZERO,t.maximum),t.center=h.clone(h.ZERO,t.center),t;let n=e[0].x,i=e[0].y,o=e[0].z,r=e[0].x,s=e[0].y,a=e[0].z,c=e.length;for(let d=1;d<c;d++){let p=e[d],g=p.x,m=p.y,A=p.z;n=Math.min(g,n),r=Math.max(g,r),i=Math.min(m,i),s=Math.max(m,s),o=Math.min(A,o),a=Math.max(A,a)}let l=t.minimum;l.x=n,l.y=i,l.z=o;let f=t.maximum;return f.x=r,f.y=s,f.z=a,t.center=h.midpoint(l,f,t.center),t};Ac.clone=function(e,t){if(u(e))return u(t)?(t.minimum=h.clone(e.minimum,t.minimum),t.maximum=h.clone(e.maximum,t.maximum),t.center=h.clone(e.center,t.center),t):new Ac(e.minimum,e.maximum,e.center)};Ac.equals=function(e,t){return e===t||u(e)&&u(t)&&h.equals(e.center,t.center)&&h.equals(e.minimum,t.minimum)&&h.equals(e.maximum,t.maximum)};var Y3=new h;Ac.intersectPlane=function(e,t){Y3=h.subtract(e.maximum,e.minimum,Y3);let n=h.multiplyByScalar(Y3,.5,Y3),i=t.normal,o=n.x*Math.abs(i.x)+n.y*Math.abs(i.y)+n.z*Math.abs(i.z),r=h.dot(e.center,i)+t.distance;return r-o>0?Qt.INSIDE:r+o<0?Qt.OUTSIDE:Qt.INTERSECTING};Ac.prototype.clone=function(e){return Ac.clone(this,e)};Ac.prototype.intersectPlane=function(e){return Ac.intersectPlane(this,e)};Ac.prototype.equals=function(e){return Ac.equals(this,e)};var $_=Ac;var l8={};l8.computeDiscriminant=function(e,t,n){return t*t-4*e*n};function kQ(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}l8.computeRealRoots=function(e,t,n){let i;if(e===0)return t===0?[]:[-n/t];if(t===0){if(n===0)return[0,0];let c=Math.abs(n),l=Math.abs(e);if(c<l&&c/l<P.EPSILON14)return[0,0];if(c>l&&l/c<P.EPSILON14)return[];if(i=-n/e,i<0)return[];let f=Math.sqrt(i);return[-f,f]}else if(n===0)return i=-t/e,i<0?[i,0]:[0,i];let o=t*t,r=4*e*n,s=kQ(o,-r,P.EPSILON14);if(s<0)return[];let a=-.5*kQ(t,P.sign(t)*Math.sqrt(s),P.EPSILON14);return t>0?[a/e,n/a]:[n/a,a/e]};var xc=l8;var f8={};f8.computeDiscriminant=function(e,t,n,i){let o=e*e,r=t*t,s=n*n,a=i*i;return 18*e*t*n*i+r*s-27*o*a-4*(e*s*n+r*t*i)};function u8(e,t,n,i){let o=e,r=t/3,s=n/3,a=i,c=o*s,l=r*a,f=r*r,d=s*s,p=o*s-f,g=o*a-r*s,m=r*a-d,A=4*p*m-g*g,x,C;if(A<0){let X,j,Q;f*l>=c*d?(X=o,j=p,Q=-2*r*p+o*g):(X=a,j=m,Q=-a*g+2*s*m);let K=-(Q<0?-1:1)*Math.abs(X)*Math.sqrt(-A);C=-Q+K;let J=C/2,_e=J<0?-Math.pow(-J,1/3):Math.pow(J,1/3),xe=C===K?-_e:-j/_e;return x=j<=0?_e+xe:-Q/(_e*_e+xe*xe+j),f*l>=c*d?[(x-r)/o]:[-a/(x+s)]}let T=p,E=-2*r*p+o*g,S=m,D=-a*g+2*s*m,w=Math.sqrt(A),R=Math.sqrt(3)/2,O=Math.abs(Math.atan2(o*w,-E)/3);x=2*Math.sqrt(-T);let L=Math.cos(O);C=x*L;let N=x*(-L/2-R*Math.sin(O)),_=C+N>2*r?C-r:N-r,b=o,v=_/b;O=Math.abs(Math.atan2(a*w,-D)/3),x=2*Math.sqrt(-S),L=Math.cos(O),C=x*L,N=x*(-L/2-R*Math.sin(O));let I=-a,B=C+N<2*s?C+s:N+s,F=I/B,k=b*B,U=-_*B-b*I,G=_*I,V=(s*U-r*G)/(-r*U+s*k);return v<=V?v<=F?V<=F?[v,V,F]:[v,F,V]:[F,v,V]:v<=F?[V,v,F]:V<=F?[V,F,v]:[F,V,v]}f8.computeRealRoots=function(e,t,n,i){let o,r;if(e===0)return xc.computeRealRoots(t,n,i);if(t===0){if(n===0){if(i===0)return[0,0,0];r=-i/e;let s=r<0?-Math.pow(-r,1/3):Math.pow(r,1/3);return[s,s,s]}else if(i===0)return o=xc.computeRealRoots(e,0,n),o.Length===0?[0]:[o[0],0,o[1]];return u8(e,0,n,i)}else{if(n===0)return i===0?(r=-t/e,r<0?[r,0,0]:[0,0,r]):u8(e,t,0,i);if(i===0)return o=xc.computeRealRoots(e,t,n),o.length===0?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]}return u8(e,t,n,i)};var I0=f8;var d8={};d8.computeDiscriminant=function(e,t,n,i,o){let r=e*e,s=r*e,a=t*t,c=a*t,l=n*n,f=l*n,d=i*i,p=d*i,g=o*o,m=g*o;return a*l*d-4*c*p-4*e*f*d+18*e*t*n*p-27*r*d*d+256*s*m+o*(18*c*n*i-4*a*f+16*e*l*l-80*e*t*l*i-6*e*a*d+144*r*n*d)+g*(144*e*a*n-27*a*a-128*r*l-192*r*t*i)};function Kf(e,t,n,i){let o=e*e,r=t-3*o/8,s=n-t*e/2+o*e/8,a=i-n*e/4+t*o/16-3*o*o/256,c=I0.computeRealRoots(1,2*r,r*r-4*a,-s*s);if(c.length>0){let l=-e/4,f=c[c.length-1];if(Math.abs(f)<P.EPSILON14){let d=xc.computeRealRoots(1,r,a);if(d.length===2){let p=d[0],g=d[1],m;if(p>=0&&g>=0){let A=Math.sqrt(p),x=Math.sqrt(g);return[l-x,l-A,l+A,l+x]}else{if(p>=0&&g<0)return m=Math.sqrt(p),[l-m,l+m];if(p<0&&g>=0)return m=Math.sqrt(g),[l-m,l+m]}}return[]}else if(f>0){let d=Math.sqrt(f),p=(r+f-s/d)/2,g=(r+f+s/d)/2,m=xc.computeRealRoots(1,d,p),A=xc.computeRealRoots(1,-d,g);return m.length!==0?(m[0]+=l,m[1]+=l,A.length!==0?(A[0]+=l,A[1]+=l,m[1]<=A[0]?[m[0],m[1],A[0],A[1]]:A[1]<=m[0]?[A[0],A[1],m[0],m[1]]:m[0]>=A[0]&&m[1]<=A[1]?[A[0],m[0],m[1],A[1]]:A[0]>=m[0]&&A[1]<=m[1]?[m[0],A[0],A[1],m[1]]:m[0]>A[0]&&m[0]<A[1]?[A[0],m[0],A[1],m[1]]:[m[0],A[0],m[1],A[1]]):m):A.length!==0?(A[0]+=l,A[1]+=l,A):[]}}return[]}function II(e,t,n,i){let o=n*n,r=t*t,s=e*e,a=-2*t,c=n*e+r-4*i,l=s*i-n*t*e+o,f=I0.computeRealRoots(1,a,c,l);if(f.length>0){let d=f[0],p=t-d,g=p*p,m=e/2,A=p/2,x=g-4*i,C=g+4*Math.abs(i),T=s-4*d,E=s+4*Math.abs(d),S,D;if(d<0||x*E<T*C){let b=Math.sqrt(T);S=b/2,D=b===0?0:(e*A-n)/b}else{let b=Math.sqrt(x);S=b===0?0:(e*A-n)/b,D=b/2}let w,R;m===0&&S===0?(w=0,R=0):P.sign(m)===P.sign(S)?(w=m+S,R=d/w):(R=m-S,w=d/R);let O,L;A===0&&D===0?(O=0,L=0):P.sign(A)===P.sign(D)?(O=A+D,L=i/O):(L=A-D,O=i/L);let N=xc.computeRealRoots(1,w,O),_=xc.computeRealRoots(1,R,L);if(N.length!==0)return _.length!==0?N[1]<=_[0]?[N[0],N[1],_[0],_[1]]:_[1]<=N[0]?[_[0],_[1],N[0],N[1]]:N[0]>=_[0]&&N[1]<=_[1]?[_[0],N[0],N[1],_[1]]:_[0]>=N[0]&&_[1]<=N[1]?[N[0],_[0],_[1],N[1]]:N[0]>_[0]&&N[0]<_[1]?[_[0],N[0],_[1],N[1]]:[N[0],_[0],N[1],_[1]]:N;if(_.length!==0)return _}return[]}d8.computeRealRoots=function(e,t,n,i,o){if(Math.abs(e)<P.EPSILON15)return I0.computeRealRoots(t,n,i,o);let r=t/e,s=n/e,a=i/e,c=o/e,l=r<0?1:0;switch(l+=s<0?l+1:l,l+=a<0?l+1:l,l+=c<0?l+1:l,l){case 0:return Kf(r,s,a,c);case 1:return II(r,s,a,c);case 2:return II(r,s,a,c);case 3:return Kf(r,s,a,c);case 4:return Kf(r,s,a,c);case 5:return II(r,s,a,c);case 6:return Kf(r,s,a,c);case 7:return Kf(r,s,a,c);case 8:return II(r,s,a,c);case 9:return Kf(r,s,a,c);case 10:return Kf(r,s,a,c);case 11:return II(r,s,a,c);case 12:return Kf(r,s,a,c);case 13:return Kf(r,s,a,c);case 14:return Kf(r,s,a,c);case 15:return Kf(r,s,a,c);default:return}};var PI=d8;function q3(e,t){t=h.clone(y(t,h.ZERO)),h.equals(t,h.ZERO)||h.normalize(t,t),this.origin=h.clone(y(e,h.ZERO)),this.direction=t}q3.clone=function(e,t){if(u(e))return u(t)?(t.origin=h.clone(e.origin),t.direction=h.clone(e.direction),t):new q3(e.origin,e.direction)};q3.getPoint=function(e,t,n){return u(n)||(n=new h),n=h.multiplyByScalar(e.direction,t,n),h.add(e.origin,n,n)};var wn=q3;var ir={};ir.rayPlane=function(e,t,n){u(n)||(n=new h);let i=e.origin,o=e.direction,r=t.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON15)return;let a=(-t.distance-h.dot(r,i))/s;if(!(a<0))return n=h.multiplyByScalar(o,a,n),h.add(i,n,n)};var uve=new h,fve=new h,XQ=new h,zQ=new h,HQ=new h;ir.rayTriangleParametric=function(e,t,n,i,o){o=y(o,!1);let r=e.origin,s=e.direction,a=h.subtract(n,t,uve),c=h.subtract(i,t,fve),l=h.cross(s,c,XQ),f=h.dot(a,l),d,p,g,m,A;if(o){if(f<P.EPSILON6||(d=h.subtract(r,t,zQ),g=h.dot(d,l),g<0||g>f)||(p=h.cross(d,a,HQ),m=h.dot(s,p),m<0||g+m>f))return;A=h.dot(c,p)/f}else{if(Math.abs(f)<P.EPSILON6)return;let x=1/f;if(d=h.subtract(r,t,zQ),g=h.dot(d,l)*x,g<0||g>1||(p=h.cross(d,a,HQ),m=h.dot(s,p)*x,m<0||g+m>1))return;A=h.dot(c,p)*x}return A};ir.rayTriangle=function(e,t,n,i,o,r){let s=ir.rayTriangleParametric(e,t,n,i,o);if(!(!u(s)||s<0))return u(r)||(r=new h),h.multiplyByScalar(e.direction,s,r),h.add(e.origin,r,r)};var dve=new wn;ir.lineSegmentTriangle=function(e,t,n,i,o,r,s){let a=dve;h.clone(e,a.origin),h.subtract(t,e,a.direction),h.normalize(a.direction,a.direction);let c=ir.rayTriangleParametric(a,n,i,o,r);if(!(!u(c)||c<0||c>h.distance(e,t)))return u(s)||(s=new h),h.multiplyByScalar(a.direction,c,s),h.add(a.origin,s,s)};function hve(e,t,n,i){let o=t*t-4*e*n;if(o<0)return;if(o>0){let s=1/(2*e),a=Math.sqrt(o),c=(-t+a)*s,l=(-t-a)*s;return c<l?(i.root0=c,i.root1=l):(i.root0=l,i.root1=c),i}let r=-t/(2*e);if(r!==0)return i.root0=i.root1=r,i}var mve={root0:0,root1:0};function KQ(e,t,n){u(n)||(n=new yc);let i=e.origin,o=e.direction,r=t.center,s=t.radius*t.radius,a=h.subtract(i,r,XQ),c=h.dot(o,o),l=2*h.dot(o,a),f=h.magnitudeSquared(a)-s,d=hve(c,l,f,mve);if(u(d))return n.start=d.root0,n.stop=d.root1,n}ir.raySphere=function(e,t,n){if(n=KQ(e,t,n),!(!u(n)||n.stop<0))return n.start=Math.max(n.start,0),n};var pve=new wn;ir.lineSegmentSphere=function(e,t,n,i){let o=pve;h.clone(e,o.origin);let r=h.subtract(t,e,o.direction),s=h.magnitude(r);if(h.normalize(r,r),i=KQ(o,n,i),!(!u(i)||i.stop<0||i.start>s))return i.start=Math.max(i.start,0),i.stop=Math.min(i.stop,s),i};var _ve=new h,gve=new h;ir.rayEllipsoid=function(e,t){let n=t.oneOverRadii,i=h.multiplyComponents(n,e.origin,_ve),o=h.multiplyComponents(n,e.direction,gve),r=h.magnitudeSquared(i),s=h.dot(i,o),a,c,l,f,d;if(r>1){if(s>=0)return;let p=s*s;if(a=r-1,c=h.magnitudeSquared(o),l=c*a,p<l)return;if(p>l){f=s*s-l,d=-s+Math.sqrt(f);let m=d/c,A=a/d;return m<A?new yc(m,A):{start:A,stop:m}}let g=Math.sqrt(a/c);return new yc(g,g)}else if(r<1)return a=r-1,c=h.magnitudeSquared(o),l=c*a,f=s*s-l,d=-s+Math.sqrt(f),new yc(0,d/c);if(s<0)return c=h.magnitudeSquared(o),new yc(0,-s/c)};function P0(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}function yve(e,t,n,i,o){let r=i*i,s=o*o,a=(e[Z.COLUMN1ROW1]-e[Z.COLUMN2ROW2])*s,c=o*(i*P0(e[Z.COLUMN1ROW0],e[Z.COLUMN0ROW1],P.EPSILON15)+t.y),l=e[Z.COLUMN0ROW0]*r+e[Z.COLUMN2ROW2]*s+i*t.x+n,f=s*P0(e[Z.COLUMN2ROW1],e[Z.COLUMN1ROW2],P.EPSILON15),d=o*(i*P0(e[Z.COLUMN2ROW0],e[Z.COLUMN0ROW2])+t.z),p,g=[];if(d===0&&f===0){if(p=xc.computeRealRoots(a,c,l),p.length===0)return g;let O=p[0],L=Math.sqrt(Math.max(1-O*O,0));if(g.push(new h(i,o*O,o*-L)),g.push(new h(i,o*O,o*L)),p.length===2){let N=p[1],_=Math.sqrt(Math.max(1-N*N,0));g.push(new h(i,o*N,o*-_)),g.push(new h(i,o*N,o*_))}return g}let m=d*d,A=f*f,x=a*a,C=d*f,T=x+A,E=2*(c*a+C),S=2*l*a+c*c-A+m,D=2*(l*c-C),w=l*l-m;if(T===0&&E===0&&S===0&&D===0)return g;p=PI.computeRealRoots(T,E,S,D,w);let R=p.length;if(R===0)return g;for(let O=0;O<R;++O){let L=p[O],N=L*L,_=Math.max(1-N,0),b=Math.sqrt(_),v;P.sign(a)===P.sign(l)?v=P0(a*N+l,c*L,P.EPSILON12):P.sign(l)===P.sign(c*L)?v=P0(a*N,c*L+l,P.EPSILON12):v=P0(a*N+c*L,l,P.EPSILON12);let I=P0(f*L,d,P.EPSILON15),B=v*I;B<0?g.push(new h(i,o*L,o*b)):B>0?g.push(new h(i,o*L,o*-b)):b!==0?(g.push(new h(i,o*L,o*-b)),g.push(new h(i,o*L,o*b)),++O):g.push(new h(i,o*L,o*b))}return g}var h8=new h,GQ=new h,WQ=new h,X3=new h,Ave=new h,xve=new Z,Cve=new Z,Tve=new Z,Eve=new Z,bve=new Z,jQ=new Z,YQ=new Z,qQ=new h,Sve=new h,Dve=new he;ir.grazingAltitudeLocation=function(e,t){let n=e.origin,i=e.direction;if(!h.equals(n,h.ZERO)){let w=t.geodeticSurfaceNormal(n,h8);if(h.dot(i,w)>=0)return n}let o=u(this.rayEllipsoid(e,t)),r=t.transformPositionToScaledSpace(i,h8),s=h.normalize(r,r),a=h.mostOrthogonalAxis(r,X3),c=h.normalize(h.cross(a,s,GQ),GQ),l=h.normalize(h.cross(s,c,WQ),WQ),f=xve;f[0]=s.x,f[1]=s.y,f[2]=s.z,f[3]=c.x,f[4]=c.y,f[5]=c.z,f[6]=l.x,f[7]=l.y,f[8]=l.z;let d=Z.transpose(f,Cve),p=Z.fromScale(t.radii,Tve),g=Z.fromScale(t.oneOverRadii,Eve),m=bve;m[0]=0,m[1]=-i.z,m[2]=i.y,m[3]=i.z,m[4]=0,m[5]=-i.x,m[6]=-i.y,m[7]=i.x,m[8]=0;let A=Z.multiply(Z.multiply(d,g,jQ),m,jQ),x=Z.multiply(Z.multiply(A,p,YQ),f,YQ),C=Z.multiplyByVector(A,n,Ave),T=yve(x,h.negate(C,h8),0,0,1),E,S,D=T.length;if(D>0){let w=h.clone(h.ZERO,Sve),R=Number.NEGATIVE_INFINITY;for(let L=0;L<D;++L){E=Z.multiplyByVector(p,Z.multiplyByVector(f,T[L],qQ),qQ);let N=h.normalize(h.subtract(E,n,X3),X3),_=h.dot(N,i);_>R&&(R=_,w=h.clone(E,w))}let O=t.cartesianToCartographic(w,Dve);return R=P.clamp(R,0,1),S=h.magnitude(h.subtract(w,n,X3))*Math.sqrt(1-R*R),S=o?-S:S,O.height=S,t.cartographicToCartesian(O,new h)}};var vve=new h;ir.lineSegmentPlane=function(e,t,n,i){u(i)||(i=new h);let o=h.subtract(t,e,vve),r=n.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON6)return;let a=h.dot(r,e),c=-(n.distance+a)/s;if(!(c<0||c>1))return h.multiplyByScalar(o,c,i),h.add(e,i,i),i};ir.trianglePlaneIntersection=function(e,t,n,i){let o=i.normal,r=i.distance,s=h.dot(o,e)+r<0,a=h.dot(o,t)+r<0,c=h.dot(o,n)+r<0,l=0;l+=s?1:0,l+=a?1:0,l+=c?1:0;let f,d;if((l===1||l===2)&&(f=new h,d=new h),l===1){if(s)return ir.lineSegmentPlane(e,t,i,f),ir.lineSegmentPlane(e,n,i,d),{positions:[e,t,n,f,d],indices:[0,3,4,1,2,4,1,4,3]};if(a)return ir.lineSegmentPlane(t,n,i,f),ir.lineSegmentPlane(t,e,i,d),{positions:[e,t,n,f,d],indices:[1,3,4,2,0,4,2,4,3]};if(c)return ir.lineSegmentPlane(n,e,i,f),ir.lineSegmentPlane(n,t,i,d),{positions:[e,t,n,f,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(l===2)if(s)if(a){if(!c)return ir.lineSegmentPlane(e,n,i,f),ir.lineSegmentPlane(t,n,i,d),{positions:[e,t,n,f,d],indices:[0,1,4,0,4,3,2,3,4]}}else return ir.lineSegmentPlane(n,t,i,f),ir.lineSegmentPlane(e,t,i,d),{positions:[e,t,n,f,d],indices:[2,0,4,2,4,3,1,3,4]};else return ir.lineSegmentPlane(t,e,i,f),ir.lineSegmentPlane(n,e,i,d),{positions:[e,t,n,f,d],indices:[1,2,4,1,4,3,0,3,4]}};var Yi=ir;var m8=new oe;function Eh(e,t){t=y(t,ie.WGS84),e=t.scaleToGeodeticSurface(e);let n=Ot.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=h.fromCartesian4(M.getColumn(n,0,m8)),this._yAxis=h.fromCartesian4(M.getColumn(n,1,m8));let i=h.fromCartesian4(M.getColumn(n,2,m8));this._plane=cn.fromPointNormal(e,i)}Object.defineProperties(Eh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var wve=new $_;Eh.fromPoints=function(e,t){let n=$_.fromPoints(e,wve);return new Eh(n.center,t)};var ZQ=new wn,K3=new h;Eh.prototype.projectPointOntoPlane=function(e,t){let n=ZQ;n.origin=e,h.normalize(e,n.direction);let i=Yi.rayPlane(n,this._plane,K3);if(u(i)||(h.negate(n.direction,n.direction),i=Yi.rayPlane(n,this._plane,K3)),u(i)){let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return u(t)?(t.x=r,t.y=s,t):new H(r,s)}};Eh.prototype.projectPointsOntoPlane=function(e,t){u(t)||(t=[]);let n=0,i=e.length;for(let o=0;o<i;o++){let r=this.projectPointOntoPlane(e[o],t[n]);u(r)&&(t[n]=r,n++)}return t.length=n,t};Eh.prototype.projectPointToNearestOnPlane=function(e,t){u(t)||(t=new H);let n=ZQ;n.origin=e,h.clone(this._plane.normal,n.direction);let i=Yi.rayPlane(n,this._plane,K3);u(i)||(h.negate(n.direction,n.direction),i=Yi.rayPlane(n,this._plane,K3));let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return t.x=r,t.y=s,t};Eh.prototype.projectPointsToNearestOnPlane=function(e,t){u(t)||(t=[]);let n=e.length;t.length=n;for(let i=0;i<n;i++)t[i]=this.projectPointToNearestOnPlane(e[i],t[i]);return t};var Ive=new h;Eh.prototype.projectPointOntoEllipsoid=function(e,t){u(t)||(t=new h);let n=this._ellipsoid,i=this._origin,o=this._xAxis,r=this._yAxis,s=Ive;return h.multiplyByScalar(o,e.x,s),t=h.add(i,s,t),h.multiplyByScalar(r,e.y,s),h.add(t,s,t),n.scaleToGeocentricSurface(t,t),t};Eh.prototype.projectPointsOntoEllipsoid=function(e,t){let n=e.length;u(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.projectPointOntoEllipsoid(e[i],t[i]);return t};var ca=Eh;function Ri(e,t){this.center=h.clone(y(e,h.ZERO)),this.halfAxes=Z.clone(y(t,Z.ZERO))}Ri.packedLength=h.packedLength+Z.packedLength;Ri.pack=function(e,t,n){return n=y(n,0),h.pack(e.center,t,n),Z.pack(e.halfAxes,t,n+h.packedLength),t};Ri.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new Ri),h.unpack(e,t,n.center),Z.unpack(e,t+h.packedLength,n.halfAxes),n};var Pve=new h,Ove=new h,Rve=new h,Bve=new h,Mve=new h,Lve=new h,Nve=new Z,Fve={unitary:new Z,diagonal:new Z};Ri.fromPoints=function(e,t){if(u(t)||(t=new Ri),!u(e)||e.length===0)return t.halfAxes=Z.ZERO,t.center=h.ZERO,t;let n,i=e.length,o=h.clone(e[0],Pve);for(n=1;n<i;n++)h.add(o,e[n],o);let r=1/i;h.multiplyByScalar(o,r,o);let s=0,a=0,c=0,l=0,f=0,d=0,p;for(n=0;n<i;n++)p=h.subtract(e[n],o,Ove),s+=p.x*p.x,a+=p.x*p.y,c+=p.x*p.z,l+=p.y*p.y,f+=p.y*p.z,d+=p.z*p.z;s*=r,a*=r,c*=r,l*=r,f*=r,d*=r;let g=Nve;g[0]=s,g[1]=a,g[2]=c,g[3]=a,g[4]=l,g[5]=f,g[6]=c,g[7]=f,g[8]=d;let m=Z.computeEigenDecomposition(g,Fve),A=Z.clone(m.unitary,t.halfAxes),x=Z.getColumn(A,0,Bve),C=Z.getColumn(A,1,Mve),T=Z.getColumn(A,2,Lve),E=-Number.MAX_VALUE,S=-Number.MAX_VALUE,D=-Number.MAX_VALUE,w=Number.MAX_VALUE,R=Number.MAX_VALUE,O=Number.MAX_VALUE;for(n=0;n<i;n++)p=e[n],E=Math.max(h.dot(x,p),E),S=Math.max(h.dot(C,p),S),D=Math.max(h.dot(T,p),D),w=Math.min(h.dot(x,p),w),R=Math.min(h.dot(C,p),R),O=Math.min(h.dot(T,p),O);x=h.multiplyByScalar(x,.5*(w+E),x),C=h.multiplyByScalar(C,.5*(R+S),C),T=h.multiplyByScalar(T,.5*(O+D),T);let L=h.add(x,C,t.center);h.add(L,T,L);let N=Rve;return N.x=E-w,N.y=S-R,N.z=D-O,h.multiplyByScalar(N,.5,N),Z.multiplyByScale(t.halfAxes,N,t.halfAxes),t};var n$=new h,Vve=new h;function JQ(e,t,n,i,o,r,s,a,c,l,f){u(f)||(f=new Ri);let d=f.halfAxes;Z.setColumn(d,0,t,d),Z.setColumn(d,1,n,d),Z.setColumn(d,2,i,d);let p=n$;p.x=(o+r)/2,p.y=(s+a)/2,p.z=(c+l)/2;let g=Vve;g.x=(r-o)/2,g.y=(a-s)/2,g.z=(l-c)/2;let m=f.center;return p=Z.multiplyByVector(d,p,p),h.add(e,p,m),Z.multiplyByScale(d,g,d),f}var QQ=new he,Uve=new h,kve=new he,zve=new he,Hve=new he,Gve=new he,Wve=new he,jve=new h,$Q=new h,Yve=new h,e$=new h,qve=new h,Xve=new H,Kve=new H,Zve=new H,Jve=new H,Qve=new H,$ve=new h,ewe=new h,twe=new h,nwe=new h,iwe=new H,owe=new h,rwe=new h,swe=new h,awe=new cn(h.UNIT_X,0);Ri.fromRectangle=function(e,t,n,i,o){t=y(t,0),n=y(n,0),i=y(i,ie.WGS84);let r,s,a,c,l,f,d;if(e.width<=P.PI){let R=ce.center(e,QQ),O=i.cartographicToCartesian(R,Uve),L=new ca(O,i);d=L.plane;let N=R.longitude,_=e.south<0&&e.north>0?0:R.latitude,b=he.fromRadians(N,e.north,n,kve),v=he.fromRadians(e.west,e.north,n,zve),I=he.fromRadians(e.west,_,n,Hve),B=he.fromRadians(e.west,e.south,n,Gve),F=he.fromRadians(N,e.south,n,Wve),k=i.cartographicToCartesian(b,jve),U=i.cartographicToCartesian(v,$Q),G=i.cartographicToCartesian(I,Yve),V=i.cartographicToCartesian(B,e$),X=i.cartographicToCartesian(F,qve),j=L.projectPointToNearestOnPlane(k,Xve),Q=L.projectPointToNearestOnPlane(U,Kve),W=L.projectPointToNearestOnPlane(G,Zve),K=L.projectPointToNearestOnPlane(V,Jve),J=L.projectPointToNearestOnPlane(X,Qve);return r=Math.min(Q.x,W.x,K.x),s=-r,c=Math.max(Q.y,j.y),a=Math.min(K.y,J.y),v.height=B.height=t,U=i.cartographicToCartesian(v,$Q),V=i.cartographicToCartesian(B,e$),l=Math.min(cn.getPointDistance(d,U),cn.getPointDistance(d,V)),f=n,JQ(L.origin,L.xAxis,L.yAxis,L.zAxis,r,s,a,c,l,f,o)}let p=e.south>0,g=e.north<0,m=p?e.south:g?e.north:0,A=ce.center(e,QQ).longitude,x=h.fromRadians(A,m,n,i,$ve);x.z=0;let T=Math.abs(x.x)<P.EPSILON10&&Math.abs(x.y)<P.EPSILON10?h.UNIT_X:h.normalize(x,ewe),E=h.UNIT_Z,S=h.cross(T,E,twe);d=cn.fromPointNormal(x,T,awe);let D=h.fromRadians(A+P.PI_OVER_TWO,m,n,i,nwe);s=h.dot(cn.projectPointOntoPlane(d,D,iwe),S),r=-s,c=h.fromRadians(0,e.north,g?t:n,i,owe).z,a=h.fromRadians(0,e.south,p?t:n,i,rwe).z;let w=h.fromRadians(e.east,m,n,i,swe);return l=cn.getPointDistance(d,w),f=0,JQ(x,S,E,T,r,s,a,c,l,f,o)};Ri.fromTransformation=function(e,t){return u(t)||(t=new Ri),t.center=M.getTranslation(e,t.center),t.halfAxes=M.getMatrix3(e,t.halfAxes),t.halfAxes=Z.multiplyByScalar(t.halfAxes,.5,t.halfAxes),t};Ri.clone=function(e,t){if(u(e))return u(t)?(h.clone(e.center,t.center),Z.clone(e.halfAxes,t.halfAxes),t):new Ri(e.center,e.halfAxes)};Ri.intersectPlane=function(e,t){let n=e.center,i=t.normal,o=e.halfAxes,r=i.x,s=i.y,a=i.z,c=Math.abs(r*o[Z.COLUMN0ROW0]+s*o[Z.COLUMN0ROW1]+a*o[Z.COLUMN0ROW2])+Math.abs(r*o[Z.COLUMN1ROW0]+s*o[Z.COLUMN1ROW1]+a*o[Z.COLUMN1ROW2])+Math.abs(r*o[Z.COLUMN2ROW0]+s*o[Z.COLUMN2ROW1]+a*o[Z.COLUMN2ROW2]),l=h.dot(i,n)+t.distance;return l<=-c?Qt.OUTSIDE:l>=c?Qt.INSIDE:Qt.INTERSECTING};var i$=new h,o$=new h,r$=new h,cwe=new h,t$=new h,lwe=new h;Ri.distanceSquaredTo=function(e,t){let n=h.subtract(t,e.center,n$),i=e.halfAxes,o=Z.getColumn(i,0,i$),r=Z.getColumn(i,1,o$),s=Z.getColumn(i,2,r$),a=h.magnitude(o),c=h.magnitude(r),l=h.magnitude(s),f=!0,d=!0,p=!0;a>0?h.divideByScalar(o,a,o):f=!1,c>0?h.divideByScalar(r,c,r):d=!1,l>0?h.divideByScalar(s,l,s):p=!1;let g=!f+!d+!p,m,A,x;if(g===1){let S=o;m=r,A=s,d?p||(S=s,A=o):(S=r,m=o),x=h.cross(m,A,t$),S===o?o=x:S===r?r=x:S===s&&(s=x)}else if(g===2){m=o,d?m=r:p&&(m=s);let S=h.UNIT_Y;S.equalsEpsilon(m,P.EPSILON3)&&(S=h.UNIT_X),A=h.cross(m,S,cwe),h.normalize(A,A),x=h.cross(m,A,t$),h.normalize(x,x),m===o?(r=A,s=x):m===r?(s=A,o=x):m===s&&(o=A,r=x)}else g===3&&(o=h.UNIT_X,r=h.UNIT_Y,s=h.UNIT_Z);let C=lwe;C.x=h.dot(n,o),C.y=h.dot(n,r),C.z=h.dot(n,s);let T=0,E;return C.x<-a?(E=C.x+a,T+=E*E):C.x>a&&(E=C.x-a,T+=E*E),C.y<-c?(E=C.y+c,T+=E*E):C.y>c&&(E=C.y-c,T+=E*E),C.z<-l?(E=C.z+l,T+=E*E):C.z>l&&(E=C.z-l,T+=E*E),T};var uwe=new h,fwe=new h;Ri.computePlaneDistances=function(e,t,n,i){u(i)||(i=new yc);let o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=e.center,a=e.halfAxes,c=Z.getColumn(a,0,i$),l=Z.getColumn(a,1,o$),f=Z.getColumn(a,2,r$),d=h.add(c,l,uwe);h.add(d,f,d),h.add(d,s,d);let p=h.subtract(d,t,fwe),g=h.dot(n,p);return o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.add(d,l,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,l,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,l,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,l,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,l,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,l,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,l,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),i.start=o,i.stop=r,i};var dwe=new h,hwe=new h,mwe=new h;Ri.computeCorners=function(e,t){u(t)||(t=[new h,new h,new h,new h,new h,new h,new h,new h]);let n=e.center,i=e.halfAxes,o=Z.getColumn(i,0,dwe),r=Z.getColumn(i,1,hwe),s=Z.getColumn(i,2,mwe);return h.clone(n,t[0]),h.subtract(t[0],o,t[0]),h.subtract(t[0],r,t[0]),h.subtract(t[0],s,t[0]),h.clone(n,t[1]),h.subtract(t[1],o,t[1]),h.subtract(t[1],r,t[1]),h.add(t[1],s,t[1]),h.clone(n,t[2]),h.subtract(t[2],o,t[2]),h.add(t[2],r,t[2]),h.subtract(t[2],s,t[2]),h.clone(n,t[3]),h.subtract(t[3],o,t[3]),h.add(t[3],r,t[3]),h.add(t[3],s,t[3]),h.clone(n,t[4]),h.add(t[4],o,t[4]),h.subtract(t[4],r,t[4]),h.subtract(t[4],s,t[4]),h.clone(n,t[5]),h.add(t[5],o,t[5]),h.subtract(t[5],r,t[5]),h.add(t[5],s,t[5]),h.clone(n,t[6]),h.add(t[6],o,t[6]),h.add(t[6],r,t[6]),h.subtract(t[6],s,t[6]),h.clone(n,t[7]),h.add(t[7],o,t[7]),h.add(t[7],r,t[7]),h.add(t[7],s,t[7]),t};var pwe=new Z;Ri.computeTransformation=function(e,t){u(t)||(t=new M);let n=e.center,i=Z.multiplyByUniformScale(e.halfAxes,2,pwe);return M.fromRotationTranslation(i,n,t)};var _we=new se;Ri.isOccluded=function(e,t){let n=se.fromOrientedBoundingBox(e,_we);return!t.isBoundingSphereVisible(n)};Ri.prototype.intersectPlane=function(e){return Ri.intersectPlane(this,e)};Ri.prototype.distanceSquaredTo=function(e){return Ri.distanceSquaredTo(this,e)};Ri.prototype.computePlaneDistances=function(e,t,n){return Ri.computePlaneDistances(this,e,t,n)};Ri.prototype.computeCorners=function(e){return Ri.computeCorners(this,e)};Ri.prototype.computeTransformation=function(e){return Ri.computeTransformation(this,e)};Ri.prototype.isOccluded=function(e){return Ri.isOccluded(this,e)};Ri.equals=function(e,t){return e===t||u(e)&&u(t)&&h.equals(e.center,t.center)&&Z.equals(e.halfAxes,t.halfAxes)};Ri.prototype.clone=function(e){return Ri.clone(this,e)};Ri.prototype.equals=function(e){return Ri.equals(this,e)};var Rn=Ri;var Z3={};Z3.getHeight=function(e,t,n){return(e-n)*t+n};var gwe=new h;Z3.getPosition=function(e,t,n,i,o){let r=t.cartesianToCartographic(e,gwe),s=Z3.getHeight(r.height,n,i);return h.fromRadians(r.longitude,r.latitude,s,t,o)};var Cc=Z3;var OI=`in vec3 position3DHigh; +in vec3 position3DLow; +in float batchId; + +#ifdef EXTRUDED_GEOMETRY +in vec3 extrudeDirection; + +uniform float u_globeMinimumAltitude; +#endif // EXTRUDED_GEOMETRY + +#ifdef PER_INSTANCE_COLOR +out vec4 v_color; +#endif // PER_INSTANCE_COLOR + +#ifdef TEXTURE_COORDINATES +#ifdef SPHERICAL +out vec4 v_sphericalExtents; +#else // SPHERICAL +out vec2 v_inversePlaneExtents; +out vec4 v_westPlane; +out vec4 v_southPlane; +#endif // SPHERICAL +out vec3 v_uvMinAndSphericalLongitudeRotation; +out vec3 v_uMaxAndInverseDistance; +out vec3 v_vMaxAndInverseDistance; +#endif // TEXTURE_COORDINATES + +void main() +{ + vec4 position = czm_computePosition(); + +#ifdef EXTRUDED_GEOMETRY + float delta = min(u_globeMinimumAltitude, czm_geometricToleranceOverMeter * length(position.xyz)); + delta *= czm_sceneMode == czm_sceneMode3D ? 1.0 : 0.0; + + //extrudeDirection is zero for the top layer + position = position + vec4(extrudeDirection * delta, 0.0); +#endif + +#ifdef TEXTURE_COORDINATES +#ifdef SPHERICAL + v_sphericalExtents = czm_batchTable_sphericalExtents(batchId); + v_uvMinAndSphericalLongitudeRotation.z = czm_batchTable_longitudeRotation(batchId); +#else // SPHERICAL +#ifdef COLUMBUS_VIEW_2D + vec4 planes2D_high = czm_batchTable_planes2D_HIGH(batchId); + vec4 planes2D_low = czm_batchTable_planes2D_LOW(batchId); + + // If the primitive is split across the IDL (planes2D_high.x > planes2D_high.w): + // - If this vertex is on the east side of the IDL (position3DLow.y > 0.0, comparison with position3DHigh may produce artifacts) + // - existing "east" is on the wrong side of the world, far away (planes2D_high/low.w) + // - so set "east" as beyond the eastmost extent of the projection (idlSplitNewPlaneHiLow) + vec2 idlSplitNewPlaneHiLow = vec2(EAST_MOST_X_HIGH - (WEST_MOST_X_HIGH - planes2D_high.w), EAST_MOST_X_LOW - (WEST_MOST_X_LOW - planes2D_low.w)); + bool idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y > 0.0; + planes2D_high.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.w); + planes2D_low.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.w); + + // - else, if this vertex is on the west side of the IDL (position3DLow.y < 0.0) + // - existing "west" is on the wrong side of the world, far away (planes2D_high/low.x) + // - so set "west" as beyond the westmost extent of the projection (idlSplitNewPlaneHiLow) + idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y < 0.0; + idlSplitNewPlaneHiLow = vec2(WEST_MOST_X_HIGH - (EAST_MOST_X_HIGH - planes2D_high.x), WEST_MOST_X_LOW - (EAST_MOST_X_LOW - planes2D_low.x)); + planes2D_high.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.x); + planes2D_low.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.x); + + vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.xy), vec3(0.0, planes2D_low.xy))).xyz; + vec3 northWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.x, planes2D_high.z), vec3(0.0, planes2D_low.x, planes2D_low.z))).xyz; + vec3 southEastCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.w, planes2D_high.y), vec3(0.0, planes2D_low.w, planes2D_low.y))).xyz; +#else // COLUMBUS_VIEW_2D + // 3D case has smaller "plane extents," so planes encoded as a 64 bit position and 2 vec3s for distances/direction + vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(czm_batchTable_southWest_HIGH(batchId), czm_batchTable_southWest_LOW(batchId))).xyz; + vec3 northWestCorner = czm_normal * czm_batchTable_northward(batchId) + southWestCorner; + vec3 southEastCorner = czm_normal * czm_batchTable_eastward(batchId) + southWestCorner; +#endif // COLUMBUS_VIEW_2D + + vec3 eastWard = southEastCorner - southWestCorner; + float eastExtent = length(eastWard); + eastWard /= eastExtent; + + vec3 northWard = northWestCorner - southWestCorner; + float northExtent = length(northWard); + northWard /= northExtent; + + v_westPlane = vec4(eastWard, -dot(eastWard, southWestCorner)); + v_southPlane = vec4(northWard, -dot(northWard, southWestCorner)); + v_inversePlaneExtents = vec2(1.0 / eastExtent, 1.0 / northExtent); +#endif // SPHERICAL + vec4 uvMinAndExtents = czm_batchTable_uvMinAndExtents(batchId); + vec4 uMaxVmax = czm_batchTable_uMaxVmax(batchId); + + v_uMaxAndInverseDistance = vec3(uMaxVmax.xy, uvMinAndExtents.z); + v_vMaxAndInverseDistance = vec3(uMaxVmax.zw, uvMinAndExtents.w); + v_uvMinAndSphericalLongitudeRotation.xy = uvMinAndExtents.xy; +#endif // TEXTURE_COORDINATES + +#ifdef PER_INSTANCE_COLOR + v_color = czm_batchTable_color(batchId); +#endif + + gl_Position = czm_depthClamp(czm_modelViewProjectionRelativeToEye * position); +} +`;var eg=`#ifdef VECTOR_TILE +uniform vec4 u_highlightColor; +#endif + +void main(void) +{ +#ifdef VECTOR_TILE + out_FragColor = czm_gammaCorrect(u_highlightColor); +#else + out_FragColor = vec4(1.0); +#endif + czm_writeDepthClamp(); +} +`;var s$={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2};s$.NUMBER_OF_CLASSIFICATION_TYPES=3;var Un=Object.freeze(s$);var ywe={NEVER:ee.NEVER,LESS:ee.LESS,EQUAL:ee.EQUAL,LESS_OR_EQUAL:ee.LEQUAL,GREATER:ee.GREATER,NOT_EQUAL:ee.NOTEQUAL,GREATER_OR_EQUAL:ee.GEQUAL,ALWAYS:ee.ALWAYS},Fa=Object.freeze(ywe);function Awe(e,t){let n=[],i=e.length,o=0;for(;o<i;){let r=Math.ceil((i-o)/t--);n.push(e.slice(o,o+r)),o+=r}return n}var RI=Awe;function Ym(e,t,n){if(this._attributes=t,this._numberOfInstances=n,t.length===0)return;let i=xwe(t),o=e.floatingPointTexture,r=i===Xe.FLOAT&&!o,s=Cwe(t,r),a=Twe(s,t,r),c=Math.floor(Ft.maximumTextureSize/a),l=Math.min(n,c),f=a*l,d=Math.ceil(n/l),p=1/f,g=p*.5,m=1/d,A=m*.5;this._textureDimensions=new H(f,d),this._textureStep=new oe(p,g,m,A),this._pixelDatatype=r?Xe.UNSIGNED_BYTE:i,this._packFloats=r,this._offsets=s,this._stride=a,this._texture=void 0;let x=4*f*d;this._batchValues=i===Xe.FLOAT&&!r?new Float32Array(x):new Uint8Array(x),this._batchValuesDirty=!1}Object.defineProperties(Ym.prototype,{attributes:{get:function(){return this._attributes}},numberOfInstances:{get:function(){return this._numberOfInstances}}});function xwe(e){let t=!1,n=e.length;for(let i=0;i<n;++i)if(e[i].componentDatatype!==q.UNSIGNED_BYTE){t=!0;break}return t?Xe.FLOAT:Xe.UNSIGNED_BYTE}function c$(e,t){let n=e[t].componentsPerAttribute;return n===2?H:n===3?h:n===4?oe:Number}function Cwe(e,t){let n=new Array(e.length),i=0,o=e.length;for(let r=0;r<o;++r){let a=e[r].componentDatatype;n[r]=i,a!==q.UNSIGNED_BYTE&&t?i+=4:++i}return n}function Twe(e,t,n){let i=e.length,o=e[i-1];return t[i-1].componentDatatype!==q.UNSIGNED_BYTE&&n?o+4:o+1}var BI=new oe;function Ewe(e,t,n){let i=oe.unpack(e,t,BI),o=oe.unpackFloat(i);i=oe.unpack(e,t+4,BI);let r=oe.unpackFloat(i);i=oe.unpack(e,t+8,BI);let s=oe.unpackFloat(i);i=oe.unpack(e,t+12,BI);let a=oe.unpackFloat(i);return oe.fromElements(o,r,s,a,n)}function bwe(e,t,n){let i=oe.packFloat(e.x,BI);oe.pack(i,t,n),i=oe.packFloat(e.y,i),oe.pack(i,t,n+4),i=oe.packFloat(e.z,i),oe.pack(i,t,n+8),i=oe.packFloat(e.w,i),oe.pack(i,t,n+12)}var a$=new oe;Ym.prototype.getBatchedAttribute=function(e,t,n){let i=this._attributes,o=this._offsets[t],s=4*this._stride*e+4*o,a;this._packFloats&&i[t].componentDatatype!==Xe.UNSIGNED_BYTE?a=Ewe(this._batchValues,s,a$):a=oe.unpack(this._batchValues,s,a$);let c=c$(i,t);return u(c.fromCartesian4)?c.fromCartesian4(a,n):u(c.clone)?c.clone(a,n):a.x};var Swe=[void 0,void 0,new H,new h,new oe],Dwe=new oe;Ym.prototype.setBatchedAttribute=function(e,t,n){let i=this._attributes,o=Swe[i[t].componentsPerAttribute],r=this.getBatchedAttribute(e,t,o),s=c$(this._attributes,t);if(u(s.equals)?s.equals(r,n):r===n)return;let c=Dwe;c.x=u(n.x)?n.x:n,c.y=u(n.y)?n.y:0,c.z=u(n.z)?n.z:0,c.w=u(n.w)?n.w:0;let l=this._offsets[t],d=4*this._stride*e+4*l;this._packFloats&&i[t].componentDatatype!==Xe.UNSIGNED_BYTE?bwe(c,this._batchValues,d):oe.pack(c,this._batchValues,d),this._batchValuesDirty=!0};function vwe(e,t){let n=e._textureDimensions;e._texture=new It({context:t,pixelFormat:rt.RGBA,pixelDatatype:e._pixelDatatype,width:n.x,height:n.y,sampler:ln.NEAREST,flipY:!1})}function wwe(e){let t=e._textureDimensions;e._texture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}Ym.prototype.update=function(e){u(this._texture)&&!this._batchValuesDirty||this._attributes.length===0||(this._batchValuesDirty=!1,u(this._texture)||vwe(this,e.context),wwe(this))};Ym.prototype.getUniformMapCallback=function(){let e=this;return function(t){return e._attributes.length===0?t:_t(t,{batchTexture:function(){return e._texture},batchTextureDimensions:function(){return e._textureDimensions},batchTextureStep:function(){return e._textureStep}})}};function Iwe(e){let t=e._stride;return e._textureDimensions.y===1?`uniform vec4 batchTextureStep; +vec2 computeSt(float batchId) +{ + float stepX = batchTextureStep.x; + float centerX = batchTextureStep.y; + float numberOfAttributes = float(${t}); + return vec2(centerX + (batchId * numberOfAttributes * stepX), 0.5); +} +`:`uniform vec4 batchTextureStep; +uniform vec2 batchTextureDimensions; +vec2 computeSt(float batchId) +{ + float stepX = batchTextureStep.x; + float centerX = batchTextureStep.y; + float stepY = batchTextureStep.z; + float centerY = batchTextureStep.w; + float numberOfAttributes = float(${t}); + float xId = mod(batchId * numberOfAttributes, batchTextureDimensions.x); + float yId = floor(batchId * numberOfAttributes / batchTextureDimensions.x); + return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); +} +`}function Pwe(e){return e===1?"float":`vec${e}`}function Owe(e){return e===1?".x":e===2?".xy":e===3?".xyz":""}function Rwe(e,t){let i=e._attributes[t],o=i.componentsPerAttribute,r=i.functionName,s=Pwe(o),a=Owe(o),c=e._offsets[t],l=`${s} ${r}(float batchId) +{ + vec2 st = computeSt(batchId); + st.x += batchTextureStep.x * float(${c}); +`;return e._packFloats&&i.componentDatatype!==Xe.UNSIGNED_BYTE?l+=`vec4 textureValue; +textureValue.x = czm_unpackFloat(texture(batchTexture, st)); +textureValue.y = czm_unpackFloat(texture(batchTexture, st + vec2(batchTextureStep.x, 0.0))); +textureValue.z = czm_unpackFloat(texture(batchTexture, st + vec2(batchTextureStep.x * 2.0, 0.0))); +textureValue.w = czm_unpackFloat(texture(batchTexture, st + vec2(batchTextureStep.x * 3.0, 0.0))); +`:l+=` vec4 textureValue = texture(batchTexture, st); +`,l+=` ${s} value = textureValue${a}; +`,e._pixelDatatype===Xe.UNSIGNED_BYTE&&i.componentDatatype===q.UNSIGNED_BYTE&&!i.normalize?l+=`value *= 255.0; +`:e._pixelDatatype===Xe.FLOAT&&i.componentDatatype===q.UNSIGNED_BYTE&&i.normalize&&(l+=`value /= 255.0; +`),l+=` return value; +} +`,l}Ym.prototype.getVertexShaderCallback=function(){let e=this._attributes;if(e.length===0)return function(i){return i};let t=`uniform highp sampler2D batchTexture; +`;t+=`${Iwe(this)} +`;let n=e.length;for(let i=0;i<n;++i)t+=Rwe(this,i);return function(i){let o=i.indexOf("void main"),r=i.substring(0,o),s=i.substring(o);return`${r} +${t} +${s}`}};Ym.prototype.isDestroyed=function(){return!1};Ym.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),le(this)};var O0=Ym;var eo={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};eo.getMathType=function(e){switch(e){case eo.SCALAR:return Number;case eo.VEC2:return H;case eo.VEC3:return h;case eo.VEC4:return oe;case eo.MAT2:return Ji;case eo.MAT3:return Z;case eo.MAT4:return M}};eo.getNumberOfComponents=function(e){switch(e){case eo.SCALAR:return 1;case eo.VEC2:return 2;case eo.VEC3:return 3;case eo.VEC4:case eo.MAT2:return 4;case eo.MAT3:return 9;case eo.MAT4:return 16}};eo.getAttributeLocationCount=function(e){switch(e){case eo.SCALAR:case eo.VEC2:case eo.VEC3:case eo.VEC4:return 1;case eo.MAT2:return 2;case eo.MAT3:return 3;case eo.MAT4:return 4}};eo.getGlslType=function(e){switch(e){case eo.SCALAR:return"float";case eo.VEC2:return"vec2";case eo.VEC3:return"vec3";case eo.VEC4:return"vec4";case eo.MAT2:return"mat2";case eo.MAT3:return"mat3";case eo.MAT4:return"mat4"}};var rn=Object.freeze(eo);var l$=1/256,u$=256,_o={};_o.octEncodeInRange=function(e,t,n){if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){let i=n.x,o=n.y;n.x=(1-Math.abs(o))*P.signNotZero(i),n.y=(1-Math.abs(i))*P.signNotZero(o)}return n.x=P.toSNorm(n.x,t),n.y=P.toSNorm(n.y,t),n};_o.octEncode=function(e,t){return _o.octEncodeInRange(e,255,t)};var MI=new H,f$=new Uint8Array(1);function J3(e){return f$[0]=e,f$[0]}_o.octEncodeToCartesian4=function(e,t){return _o.octEncodeInRange(e,65535,MI),t.x=J3(MI.x*l$),t.y=J3(MI.x),t.z=J3(MI.y*l$),t.w=J3(MI.y),t};_o.octDecodeInRange=function(e,t,n,i){if(i.x=P.fromSNorm(e,n),i.y=P.fromSNorm(t,n),i.z=1-(Math.abs(i.x)+Math.abs(i.y)),i.z<0){let o=i.x;i.x=(1-Math.abs(i.y))*P.signNotZero(o),i.y=(1-Math.abs(o))*P.signNotZero(i.y)}return h.normalize(i,i)};_o.octDecode=function(e,t,n){return _o.octDecodeInRange(e,t,255,n)};_o.octDecodeFromCartesian4=function(e,t){let n=e.x,i=e.y,o=e.z,r=e.w,s=n*u$+i,a=o*u$+r;return _o.octDecodeInRange(s,a,65535,t)};_o.octPackFloat=function(e){return 256*e.x+e.y};var _8=new H;_o.octEncodeFloat=function(e){return _o.octEncode(e,_8),_o.octPackFloat(_8)};_o.octDecodeFloat=function(e,t){let n=e/256,i=Math.floor(n),o=(n-i)*256;return _o.octDecode(i,o,t)};_o.octPack=function(e,t,n,i){let o=_o.octEncodeFloat(e),r=_o.octEncodeFloat(t),s=_o.octEncode(n,_8);return i.x=65536*s.x+o,i.y=65536*s.y+r,i};_o.octUnpack=function(e,t,n,i){let o=e.x/65536,r=Math.floor(o),s=(o-r)*65536;o=e.y/65536;let a=Math.floor(o),c=(o-a)*65536;_o.octDecodeFloat(s,t),_o.octDecodeFloat(c,n),_o.octDecode(r,a,i)};_o.compressTextureCoordinates=function(e){let t=e.x*4095|0,n=e.y*4095|0;return 4096*t+n};_o.decompressTextureCoordinates=function(e,t){let n=e/4096,i=Math.floor(n);return t.x=i/4095,t.y=(e-i*4096)/4095,t};function p8(e){return e>>1^-(e&1)}_o.zigZagDeltaDecode=function(e,t,n){let i=e.length,o=0,r=0,s=0;for(let a=0;a<i;++a)o+=p8(e[a]),r+=p8(t[a]),e[a]=o,t[a]=r,u(n)&&(s+=p8(n[a]),n[a]=s)};_o.dequantize=function(e,t,n,i){let o=rn.getNumberOfComponents(n),r;switch(t){case q.BYTE:r=127;break;case q.UNSIGNED_BYTE:r=255;break;case q.SHORT:r=32767;break;case q.UNSIGNED_SHORT:r=65535;break;case q.INT:r=2147483647;break;case q.UNSIGNED_INT:r=4294967295;break}let s=new Float32Array(i*o);for(let a=0;a<i;a++)for(let c=0;c<o;c++){let l=a*o+c;s[l]=Math.max(e[l]/r,-1)}return s};_o.decodeRGB565=function(e,t){let n=e.length;u(t)||(t=new Float32Array(n*3));let i=(1<<5)-1,o=(1<<6)-1,r=1/31,s=1/63;for(let a=0;a<n;a++){let c=e[a],l=c>>11,f=c>>5&o,d=c&i,p=3*a;t[p]=l*r,t[p+1]=f*s,t[p+2]=d*r}return t};var Gn=_o;var d$=new h,h$=new h,m$=new h;function Bwe(e,t,n,i,o){u(o)||(o=new h);let r,s,a,c,l,f,d,p;if(u(t.z)){if(h.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(h.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(h.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=h.subtract(n,t,d$),s=h.subtract(i,t,h$),a=h.subtract(e,t,m$),c=h.dot(r,r),l=h.dot(r,s),f=h.dot(r,a),d=h.dot(s,s),p=h.dot(s,a)}else{if(H.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(H.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(H.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=H.subtract(n,t,d$),s=H.subtract(i,t,h$),a=H.subtract(e,t,m$),c=H.dot(r,r),l=H.dot(r,s),f=H.dot(r,a),d=H.dot(s,s),p=H.dot(s,a)}o.y=d*f-l*p,o.z=c*p-l*f;let g=c*d-l*l;if(g!==0)return o.y/=g,o.z/=g,o.x=1-o.y-o.z,o}var R0=Bwe;var g8={};g8.calculateACMR=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o=t.length;if(!u(n)){n=0;let a=0,c=t[a];for(;a<o;)c>n&&(n=c),++a,c=t[a]}let r=[];for(let a=0;a<n+1;a++)r[a]=0;let s=i+1;for(let a=0;a<o;++a)s-r[t[a]]>i&&(r[t[a]]=s,++s);return(s-i+1)/(o/3)};g8.tipsify=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o;function r(_,b,v,I){for(;b.length>=1;){let B=b[b.length-1];if(b.splice(b.length-1,1),_[B].numLiveTriangles>0)return B}for(;o<I;){if(_[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function s(_,b,v,I,B,F,k){let U=-1,G,V=-1,X=0;for(;X<v.length;){let j=v[X];I[j].numLiveTriangles&&(G=0,B-I[j].timeStamp+2*I[j].numLiveTriangles<=b&&(G=B-I[j].timeStamp),(G>V||V===-1)&&(V=G,U=j)),++X}return U===-1?r(I,F,_,k):U}let a=t.length,c=0,l=0,f=t[l],d=a;if(u(n))c=n+1;else{for(;l<d;)f>c&&(c=f),++l,f=t[l];if(c===-1)return 0;++c}let p=[],g;for(g=0;g<c;g++)p[g]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};l=0;let m=0;for(;l<d;)p[t[l]].vertexTriangles.push(m),++p[t[l]].numLiveTriangles,p[t[l+1]].vertexTriangles.push(m),++p[t[l+1]].numLiveTriangles,p[t[l+2]].vertexTriangles.push(m),++p[t[l+2]].numLiveTriangles,++m,l+=3;let A=0,x=i+1;o=1;let C=[],T=[],E,S,D=0,w=[],R=a/3,O=[];for(g=0;g<R;g++)O[g]=!1;let L,N;for(;A!==-1;){C=[],S=p[A],N=S.vertexTriangles.length;for(let _=0;_<N;++_)if(m=S.vertexTriangles[_],!O[m]){O[m]=!0,l=m+m+m;for(let b=0;b<3;++b)L=t[l],C.push(L),T.push(L),w[D]=L,++D,E=p[L],--E.numLiveTriangles,x-E.timeStamp>i&&(E.timeStamp=x,++x),++l}A=s(t,i,C,p,x,T,c)}return w};var LI=g8;var Tc={};function oV(e,t,n,i,o){e[t++]=n,e[t++]=i,e[t++]=i,e[t++]=o,e[t++]=o,e[t]=n}function Mwe(e){let t=e.length,n=t/3*6,i=Fe.createTypedArray(t,n),o=0;for(let r=0;r<t;r+=3,o+=6)oV(i,o,e[r],e[r+1],e[r+2]);return i}function Lwe(e){let t=e.length;if(t>=3){let n=(t-2)*6,i=Fe.createTypedArray(t,n);oV(i,0,e[0],e[1],e[2]);let o=6;for(let r=3;r<t;++r,o+=6)oV(i,o,e[r-1],e[r],e[r-2]);return i}return new Uint16Array}function Nwe(e){if(e.length>0){let t=e.length-1,n=(t-1)*6,i=Fe.createTypedArray(t,n),o=e[0],r=0;for(let s=1;s<t;++s,r+=6)oV(i,r,o,e[s],e[s+1]);return i}return new Uint16Array}Tc.toWireframe=function(e){let t=e.indices;if(u(t)){switch(e.primitiveType){case Me.TRIANGLES:e.indices=Mwe(t);break;case Me.TRIANGLE_STRIP:e.indices=Lwe(t);break;case Me.TRIANGLE_FAN:e.indices=Nwe(t);break}e.primitiveType=Me.LINES}return e};Tc.createLineSegmentsForVectors=function(e,t,n){t=y(t,"normal"),n=y(n,1e4);let i=e.attributes.position.values,o=e.attributes[t].values,r=i.length,s=new Float64Array(2*r),a=0;for(let f=0;f<r;f+=3)s[a++]=i[f],s[a++]=i[f+1],s[a++]=i[f+2],s[a++]=i[f]+o[f]*n,s[a++]=i[f+1]+o[f+1]*n,s[a++]=i[f+2]+o[f+2]*n;let c,l=e.boundingSphere;return u(l)&&(c=new se(l.center,l.radius+n)),new ct({attributes:{position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:Me.LINES,boundingSphere:c})};Tc.createAttributeLocations=function(e){let t=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=e.attributes,i={},o=0,r,s=t.length;for(r=0;r<s;++r){let a=t[r];u(n[a])&&(i[a]=o++)}for(let a in n)n.hasOwnProperty(a)&&!u(i[a])&&(i[a]=o++);return i};Tc.reorderForPreVertexCache=function(e){let t=ct.computeNumberOfVertices(e),n=e.indices;if(u(n)){let i=new Int32Array(t);for(let p=0;p<t;p++)i[p]=-1;let o=n,r=o.length,s=Fe.createTypedArray(t,r),a=0,c=0,l=0,f;for(;a<r;)f=i[o[a]],f!==-1?s[c]=f:(f=o[a],i[f]=l,s[c]=l,++l),++a,++c;e.indices=s;let d=e.attributes;for(let p in d)if(d.hasOwnProperty(p)&&u(d[p])&&u(d[p].values)){let g=d[p],m=g.values,A=0,x=g.componentsPerAttribute,C=q.createTypedArray(g.componentDatatype,l*x);for(;A<t;){let T=i[A];if(T!==-1)for(let E=0;E<x;E++)C[x*T+E]=m[x*A+E];++A}g.values=C}}return e};Tc.reorderForPostVertexCache=function(e,t){let n=e.indices;if(e.primitiveType===Me.TRIANGLES&&u(n)){let i=n.length,o=0;for(let r=0;r<i;r++)n[r]>o&&(o=n[r]);e.indices=LI.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e};function p$(e){let t={};for(let n in e)if(e.hasOwnProperty(n)&&u(e[n])&&u(e[n].values)){let i=e[n];t[n]=new ve({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function Fwe(e,t,n){for(let i in t)if(t.hasOwnProperty(i)&&u(t[i])&&u(t[i].values)){let o=t[i];for(let r=0;r<o.componentsPerAttribute;++r)e[i].values.push(o.values[n*o.componentsPerAttribute+r])}}Tc.fitToUnsignedShortIndices=function(e){let t=[],n=ct.computeNumberOfVertices(e);if(u(e.indices)&&n>=P.SIXTY_FOUR_KILOBYTES){let i=[],o=[],r=0,s=p$(e.attributes),a=e.indices,c=a.length,l;e.primitiveType===Me.TRIANGLES?l=3:e.primitiveType===Me.LINES?l=2:e.primitiveType===Me.POINTS&&(l=1);for(let f=0;f<c;f+=l){for(let d=0;d<l;++d){let p=a[f+d],g=i[p];u(g)||(g=r++,i[p]=g,Fwe(s,e.attributes,p)),o.push(g)}r+l>=P.SIXTY_FOUR_KILOBYTES&&(t.push(new ct({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),i=[],o=[],r=0,s=p$(e.attributes))}o.length!==0&&t.push(new ct({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var _$=new h,Vwe=new he;Tc.projectTo2D=function(e,t,n,i,o){let r=e.attributes[t];o=u(o)?o:new Ei;let s=o.ellipsoid,a=r.values,c=new Float64Array(a.length),l=0;for(let f=0;f<a.length;f+=3){let d=h.fromArray(a,f,_$),p=s.cartesianToCartographic(d,Vwe),g=o.project(p,_$);c[l++]=g.x,c[l++]=g.y,c[l++]=g.z}return e.attributes[n]=r,e.attributes[i]=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:c}),delete e.attributes[t],e};var y8={high:0,low:0};Tc.encodeAttribute=function(e,t,n,i){let o=e.attributes[t],r=o.values,s=r.length,a=new Float32Array(s),c=new Float32Array(s);for(let f=0;f<s;++f)Hn.encode(r[f],y8),a[f]=y8.high,c[f]=y8.low;let l=o.componentsPerAttribute;return e.attributes[n]=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:l,values:a}),e.attributes[i]=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:l,values:c}),delete e.attributes[t],e};var Jf=new h;function A8(e,t){if(u(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,Jf),M.multiplyByPoint(e,Jf,Jf),h.pack(Jf,n,o)}}function x8(e,t){if(u(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,Jf),Z.multiplyByVector(e,Jf,Jf),Jf=h.normalize(Jf,Jf),h.pack(Jf,n,o)}}var Q3=new M,$3=new Z;Tc.transformToWorldCoordinates=function(e){let t=e.modelMatrix;if(M.equals(t,M.IDENTITY))return e;let n=e.geometry.attributes;A8(t,n.position),A8(t,n.prevPosition),A8(t,n.nextPosition),(u(n.normal)||u(n.tangent)||u(n.bitangent))&&(M.inverse(t,Q3),M.transpose(Q3,Q3),M.getMatrix3(Q3,$3),x8($3,n.normal),x8($3,n.tangent),x8($3,n.bitangent));let i=e.geometry.boundingSphere;return u(i)&&(e.geometry.boundingSphere=se.transform(i,t,i)),e.modelMatrix=M.clone(M.IDENTITY),e};function Uwe(e,t){let n=e.length,i={},o=e[0][t].attributes,r;for(r in o)if(o.hasOwnProperty(r)&&u(o[r])&&u(o[r].values)){let s=o[r],a=s.values.length,c=!0;for(let l=1;l<n;++l){let f=e[l][t].attributes[r];if(!u(f)||s.componentDatatype!==f.componentDatatype||s.componentsPerAttribute!==f.componentsPerAttribute||s.normalize!==f.normalize){c=!1;break}a+=f.values.length}c&&(i[r]=new ve({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:q.createTypedArray(s.componentDatatype,a)}))}return i}var kwe=new h;function C8(e,t){let n=e.length,i,o,r,s,a=e[0].modelMatrix,c=u(e[0][t].indices),l=e[0][t].primitiveType,f=Uwe(e,t),d,p,g;for(i in f)if(f.hasOwnProperty(i))for(d=f[i].values,s=0,o=0;o<n;++o)for(p=e[o][t].attributes[i].values,g=p.length,r=0;r<g;++r)d[s++]=p[r];let m;if(c){let T=0;for(o=0;o<n;++o)T+=e[o][t].indices.length;let E=ct.computeNumberOfVertices(new ct({attributes:f,primitiveType:Me.POINTS})),S=Fe.createTypedArray(E,T),D=0,w=0;for(o=0;o<n;++o){let R=e[o][t].indices,O=R.length;for(s=0;s<O;++s)S[D++]=w+R[s];w+=ct.computeNumberOfVertices(e[o][t])}m=S}let A=new h,x=0,C;for(o=0;o<n;++o){if(C=e[o][t].boundingSphere,!u(C)){A=void 0;break}h.add(C.center,A,A)}if(u(A))for(h.divideByScalar(A,n,A),o=0;o<n;++o){C=e[o][t].boundingSphere;let T=h.magnitude(h.subtract(C.center,A,kwe))+C.radius;T>x&&(x=T)}return new ct({attributes:f,indices:m,primitiveType:l,boundingSphere:u(A)?new se(A,x):void 0})}Tc.combineInstances=function(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let s=e[r];u(s.geometry)?t.push(s):u(s.westHemisphereGeometry)&&u(s.eastHemisphereGeometry)&&n.push(s)}let o=[];return t.length>0&&o.push(C8(t,"geometry")),n.length>0&&(o.push(C8(n,"westHemisphereGeometry")),o.push(C8(n,"eastHemisphereGeometry"))),o};var ku=new h,NI=new h,rT=new h,sT=new h;Tc.computeNormal=function(e){let t=e.indices,n=e.attributes,i=n.position.values,o=n.position.values.length/3,r=t.length,s=new Array(o),a=new Array(r/3),c=new Array(r),l;for(l=0;l<o;l++)s[l]={indexOffset:0,count:0,currentCount:0};let f=0;for(l=0;l<r;l+=3){let m=t[l],A=t[l+1],x=t[l+2],C=m*3,T=A*3,E=x*3;NI.x=i[C],NI.y=i[C+1],NI.z=i[C+2],rT.x=i[T],rT.y=i[T+1],rT.z=i[T+2],sT.x=i[E],sT.y=i[E+1],sT.z=i[E+2],s[m].count++,s[A].count++,s[x].count++,h.subtract(rT,NI,rT),h.subtract(sT,NI,sT),a[f]=h.cross(rT,sT,new h),f++}let d=0;for(l=0;l<o;l++)s[l].indexOffset+=d,d+=s[l].count;f=0;let p;for(l=0;l<r;l+=3){p=s[t[l]];let m=p.indexOffset+p.currentCount;c[m]=f,p.currentCount++,p=s[t[l+1]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,p=s[t[l+2]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,f++}let g=new Float32Array(o*3);for(l=0;l<o;l++){let m=l*3;if(p=s[l],h.clone(h.ZERO,ku),p.count>0){for(f=0;f<p.count;f++)h.add(ku,a[c[p.indexOffset+f]],ku);h.equalsEpsilon(h.ZERO,ku,P.EPSILON10)&&h.clone(a[c[p.indexOffset]],ku)}h.equalsEpsilon(h.ZERO,ku,P.EPSILON10)&&(ku.z=1),h.normalize(ku,ku),g[m]=ku.x,g[m+1]=ku.y,g[m+2]=ku.z}return e.attributes.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:g}),e};var zwe=new h,g$=new h,Hwe=new h;Tc.computeTangentAndBitangent=function(e){let t=e.attributes,n=e.indices,i=e.attributes.position.values,o=e.attributes.normal.values,r=e.attributes.st.values,s=e.attributes.position.values.length/3,a=n.length,c=new Array(s*3),l;for(l=0;l<c.length;l++)c[l]=0;let f,d,p;for(l=0;l<a;l+=3){let A=n[l],x=n[l+1],C=n[l+2];f=A*3,d=x*3,p=C*3;let T=A*2,E=x*2,S=C*2,D=i[f],w=i[f+1],R=i[f+2],O=r[T],L=r[T+1],N=r[E+1]-L,_=r[S+1]-L,b=1/((r[E]-O)*_-(r[S]-O)*N),v=(_*(i[d]-D)-N*(i[p]-D))*b,I=(_*(i[d+1]-w)-N*(i[p+1]-w))*b,B=(_*(i[d+2]-R)-N*(i[p+2]-R))*b;c[f]+=v,c[f+1]+=I,c[f+2]+=B,c[d]+=v,c[d+1]+=I,c[d+2]+=B,c[p]+=v,c[p+1]+=I,c[p+2]+=B}let g=new Float32Array(s*3),m=new Float32Array(s*3);for(l=0;l<s;l++){f=l*3,d=f+1,p=f+2;let A=h.fromArray(o,f,zwe),x=h.fromArray(c,f,Hwe),C=h.dot(A,x);h.multiplyByScalar(A,C,g$),h.normalize(h.subtract(x,g$,x),x),g[f]=x.x,g[d]=x.y,g[p]=x.z,h.normalize(h.cross(A,x,x),x),m[f]=x.x,m[d]=x.y,m[p]=x.z}return e.attributes.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:g}),e.attributes.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:m}),e};var FI=new H,Zf=new h,y$=new h,A$=new h,eV=new H;Tc.compressVertices=function(e){let t=e.attributes.extrudeDirection,n,i;if(u(t)){let w=t.values;i=w.length/3;let R=new Float32Array(i*2),O=0;for(n=0;n<i;++n){if(h.fromArray(w,n*3,Zf),h.equals(Zf,h.ZERO)){O+=2;continue}eV=Gn.octEncodeInRange(Zf,65535,eV),R[O++]=eV.x,R[O++]=eV.y}return e.attributes.compressedAttributes=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:R}),delete e.attributes.extrudeDirection,e}let o=e.attributes.normal,r=e.attributes.st,s=u(o),a=u(r);if(!s&&!a)return e;let c=e.attributes.tangent,l=e.attributes.bitangent,f=u(c),d=u(l),p,g,m,A;s&&(p=o.values),a&&(g=r.values),f&&(m=c.values),d&&(A=l.values),i=(s?p.length:g.length)/(s?3:2);let T=i,E=a&&s?2:1;E+=f||d?1:0,T*=E;let S=new Float32Array(T),D=0;for(n=0;n<i;++n){a&&(H.fromArray(g,n*2,FI),S[D++]=Gn.compressTextureCoordinates(FI));let w=n*3;s&&u(m)&&u(A)?(h.fromArray(p,w,Zf),h.fromArray(m,w,y$),h.fromArray(A,w,A$),Gn.octPack(Zf,y$,A$,FI),S[D++]=FI.x,S[D++]=FI.y):(s&&(h.fromArray(p,w,Zf),S[D++]=Gn.octEncodeFloat(Zf)),f&&(h.fromArray(m,w,Zf),S[D++]=Gn.octEncodeFloat(Zf)),d&&(h.fromArray(A,w,Zf),S[D++]=Gn.octEncodeFloat(Zf)))}return e.attributes.compressedAttributes=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:E,values:S}),s&&delete e.attributes.normal,a&&delete e.attributes.st,d&&delete e.attributes.bitangent,f&&delete e.attributes.tangent,e};function Gwe(e){if(u(e.indices))return e;let t=ct.computeNumberOfVertices(e),n=Fe.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function Wwe(e){let t=ct.computeNumberOfVertices(e),n=Fe.createTypedArray(t,(t-2)*3);n[0]=1,n[1]=0,n[2]=2;let i=3;for(let o=3;o<t;++o)n[i++]=o-1,n[i++]=0,n[i++]=o;return e.indices=n,e.primitiveType=Me.TRIANGLES,e}function jwe(e){let t=ct.computeNumberOfVertices(e),n=Fe.createTypedArray(t,(t-2)*3);n[0]=0,n[1]=1,n[2]=2,t>3&&(n[3]=0,n[4]=2,n[5]=3);let i=6;for(let o=3;o<t-1;o+=2)n[i++]=o,n[i++]=o-1,n[i++]=o+1,o+2<t&&(n[i++]=o,n[i++]=o+1,n[i++]=o+2);return e.indices=n,e.primitiveType=Me.TRIANGLES,e}function Ywe(e){if(u(e.indices))return e;let t=ct.computeNumberOfVertices(e),n=Fe.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function qwe(e){let t=ct.computeNumberOfVertices(e),n=Fe.createTypedArray(t,(t-1)*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return e.indices=n,e.primitiveType=Me.LINES,e}function Xwe(e){let t=ct.computeNumberOfVertices(e),n=Fe.createTypedArray(t,t*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return n[i++]=t-1,n[i]=0,e.indices=n,e.primitiveType=Me.LINES,e}function Kwe(e){switch(e.primitiveType){case Me.TRIANGLE_FAN:return Wwe(e);case Me.TRIANGLE_STRIP:return jwe(e);case Me.TRIANGLES:return Gwe(e);case Me.LINE_STRIP:return qwe(e);case Me.LINE_LOOP:return Xwe(e);case Me.LINES:return Ywe(e)}return e}function tg(e,t){Math.abs(e.y)<P.EPSILON6&&(t?e.y=-P.EPSILON6:e.y=P.EPSILON6)}function Zwe(e,t,n){if(e.y!==0&&t.y!==0&&n.y!==0){tg(e,e.y<0),tg(t,t.y<0),tg(n,n.y<0);return}let i=Math.abs(e.y),o=Math.abs(t.y),r=Math.abs(n.y),s;i>o?i>r?s=P.sign(e.y):s=P.sign(n.y):o>r?s=P.sign(t.y):s=P.sign(n.y);let a=s<0;tg(e,a),tg(t,a),tg(n,a)}var x$=new h;function zu(e,t,n,i){h.add(e,h.multiplyByScalar(h.subtract(t,e,x$),e.y/(e.y-t.y),x$),n),h.clone(n,i),tg(n,!0),tg(i,!1)}var B0=new h,M0=new h,L0=new h,N0=new h,T8={positions:new Array(7),indices:new Array(3*3)};function Jwe(e,t,n){if(e.x>=0||t.x>=0||n.x>=0)return;Zwe(e,t,n);let i=e.y<0,o=t.y<0,r=n.y<0,s=0;s+=i?1:0,s+=o?1:0,s+=r?1:0;let a=T8.indices;s===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,i?(zu(e,t,B0,L0),zu(e,n,M0,N0),a[0]=0,a[3]=1,a[4]=2,a[6]=1):o?(zu(t,n,B0,L0),zu(t,e,M0,N0),a[0]=1,a[3]=2,a[4]=0,a[6]=2):r&&(zu(n,e,B0,L0),zu(n,t,M0,N0),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):s===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,i?o?r||(zu(n,e,B0,L0),zu(n,t,M0,N0),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(zu(t,n,B0,L0),zu(t,e,M0,N0),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(zu(e,t,B0,L0),zu(e,n,M0,N0),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let c=T8.positions;return c[0]=e,c[1]=t,c[2]=n,c.length=3,(s===1||s===2)&&(c[3]=B0,c[4]=M0,c[5]=L0,c[6]=N0,c.length=7),T8}function C$(e,t){let n=e.attributes;if(n.position.values.length===0)return;for(let o in n)if(n.hasOwnProperty(o)&&u(n[o])&&u(n[o].values)){let r=n[o];r.values=q.createTypedArray(r.componentDatatype,r.values)}let i=ct.computeNumberOfVertices(e);return e.indices=Fe.createTypedArray(i,e.indices),t&&(e.boundingSphere=se.fromVertices(n.position.values)),e}function cT(e){let t=e.attributes,n={};for(let i in t)if(t.hasOwnProperty(i)&&u(t[i])&&u(t[i].values)){let o=t[i];n[i]=new ve({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return new ct({attributes:n,indices:[],primitiveType:e.primitiveType})}function D8(e,t,n){let i=u(e.geometry.boundingSphere);t=C$(t,i),n=C$(n,i),u(n)&&!u(t)?e.geometry=n:!u(n)&&u(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=n,e.geometry=void 0)}function v8(e,t){let n=new e,i=new e,o=new e;return function(r,s,a,c,l,f,d,p){let g=e.fromArray(l,r*t,n),m=e.fromArray(l,s*t,i),A=e.fromArray(l,a*t,o);e.multiplyByScalar(g,c.x,g),e.multiplyByScalar(m,c.y,m),e.multiplyByScalar(A,c.z,A);let x=e.add(g,m,g);e.add(x,A,x),p&&e.normalize(x,x),e.pack(x,f,d*t)}}var Qwe=v8(oe,4),iV=v8(h,3),v$=v8(H,2),$we=function(e,t,n,i,o,r,s){let a=o[e]*i.x,c=o[t]*i.y,l=o[n]*i.z;r[s]=a+c+l>P.EPSILON6?1:0},VI=new h,E8=new h,b8=new h,eIe=new h;function tV(e,t,n,i,o,r,s,a,c,l,f,d,p,g,m,A){if(!u(r)&&!u(s)&&!u(a)&&!u(c)&&!u(l)&&g===0)return;let x=h.fromArray(o,e*3,VI),C=h.fromArray(o,t*3,E8),T=h.fromArray(o,n*3,b8),E=R0(i,x,C,T,eIe);if(u(E)){if(u(r)&&iV(e,t,n,E,r,d.normal.values,A,!0),u(l)){let S=h.fromArray(l,e*3,VI),D=h.fromArray(l,t*3,E8),w=h.fromArray(l,n*3,b8);h.multiplyByScalar(S,E.x,S),h.multiplyByScalar(D,E.y,D),h.multiplyByScalar(w,E.z,w);let R;!h.equals(S,h.ZERO)||!h.equals(D,h.ZERO)||!h.equals(w,h.ZERO)?(R=h.add(S,D,S),h.add(R,w,R),h.normalize(R,R)):(R=VI,R.x=0,R.y=0,R.z=0),h.pack(R,d.extrudeDirection.values,A*3)}if(u(f)&&$we(e,t,n,E,f,d.applyOffset.values,A),u(s)&&iV(e,t,n,E,s,d.tangent.values,A,!0),u(a)&&iV(e,t,n,E,a,d.bitangent.values,A,!0),u(c)&&v$(e,t,n,E,c,d.st.values,A),g>0)for(let S=0;S<g;S++){let D=p[S];tIe(e,t,n,E,A,m[D],d[D])}}}function tIe(e,t,n,i,o,r,s){let a=r.componentsPerAttribute,c=r.values,l=s.values;switch(a){case 4:Qwe(e,t,n,i,c,l,o,!1);break;case 3:iV(e,t,n,i,c,l,o,!1);break;case 2:v$(e,t,n,i,c,l,o,!1);break;default:l[o]=c[e]*i.x+c[t]*i.y+c[n]*i.z}}function bh(e,t,n,i,o,r){let s=e.position.values.length/3;if(o!==-1){let a=i[o],c=n[a];return c===-1?(n[a]=s,e.position.values.push(r.x,r.y,r.z),t.push(s),s):(t.push(c),c)}return e.position.values.push(r.x,r.y,r.z),t.push(s),s}var nIe={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function T$(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=u(n.normal)?n.normal.values:void 0,r=u(n.bitangent)?n.bitangent.values:void 0,s=u(n.tangent)?n.tangent.values:void 0,a=u(n.st)?n.st.values:void 0,c=u(n.extrudeDirection)?n.extrudeDirection.values:void 0,l=u(n.applyOffset)?n.applyOffset.values:void 0,f=t.indices,d=[];for(let R in n)n.hasOwnProperty(R)&&!nIe[R]&&u(n[R])&&d.push(R);let p=d.length,g=cT(t),m=cT(t),A,x,C,T,E,S=[];S.length=i.length/3;let D=[];for(D.length=i.length/3,E=0;E<S.length;++E)S[E]=-1,D[E]=-1;let w=f.length;for(E=0;E<w;E+=3){let R=f[E],O=f[E+1],L=f[E+2],N=h.fromArray(i,R*3),_=h.fromArray(i,O*3),b=h.fromArray(i,L*3),v=Jwe(N,_,b);if(u(v)&&v.positions.length>3){let I=v.positions,B=v.indices,F=B.length;for(let k=0;k<F;++k){let U=B[k],G=I[U];G.y<0?(A=m.attributes,x=m.indices,C=S):(A=g.attributes,x=g.indices,C=D),T=bh(A,x,C,f,U<3?E+U:-1,G),tV(R,O,L,G,i,o,s,r,a,c,l,A,d,p,n,T)}}else u(v)&&(N=v.positions[0],_=v.positions[1],b=v.positions[2]),N.y<0?(A=m.attributes,x=m.indices,C=S):(A=g.attributes,x=g.indices,C=D),T=bh(A,x,C,f,E,N),tV(R,O,L,N,i,o,s,r,a,c,l,A,d,p,n,T),T=bh(A,x,C,f,E+1,_),tV(R,O,L,_,i,o,s,r,a,c,l,A,d,p,n,T),T=bh(A,x,C,f,E+2,b),tV(R,O,L,b,i,o,s,r,a,c,l,A,d,p,n,T)}D8(e,m,g)}var w$=cn.fromPointNormal(h.ZERO,h.UNIT_Y),iIe=new h,oIe=new h;function aT(e,t,n,i,o,r,s){if(!u(s))return;let a=h.fromArray(i,e*3,VI);h.equalsEpsilon(a,n,P.EPSILON10)?r.applyOffset.values[o]=s[e]:r.applyOffset.values[o]=s[t]}function E$(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=u(n.applyOffset)?n.applyOffset.values:void 0,r=t.indices,s=cT(t),a=cT(t),c,l=r.length,f=[];f.length=i.length/3;let d=[];for(d.length=i.length/3,c=0;c<f.length;++c)f[c]=-1,d[c]=-1;for(c=0;c<l;c+=2){let p=r[c],g=r[c+1],m=h.fromArray(i,p*3,VI),A=h.fromArray(i,g*3,E8),x;Math.abs(m.y)<P.EPSILON6&&(m.y<0?m.y=-P.EPSILON6:m.y=P.EPSILON6),Math.abs(A.y)<P.EPSILON6&&(A.y<0?A.y=-P.EPSILON6:A.y=P.EPSILON6);let C=s.attributes,T=s.indices,E=d,S=a.attributes,D=a.indices,w=f,R=Yi.lineSegmentPlane(m,A,w$,b8);if(u(R)){let O=h.multiplyByScalar(h.UNIT_Y,5*P.EPSILON9,iIe);m.y<0&&(h.negate(O,O),C=a.attributes,T=a.indices,E=f,S=s.attributes,D=s.indices,w=d);let L=h.add(R,O,oIe);x=bh(C,T,E,r,c,m),aT(p,g,m,i,x,C,o),x=bh(C,T,E,r,-1,L),aT(p,g,L,i,x,C,o),h.negate(O,O),h.add(R,O,L),x=bh(S,D,w,r,-1,L),aT(p,g,L,i,x,S,o),x=bh(S,D,w,r,c+1,A),aT(p,g,A,i,x,S,o)}else{let O,L,N;m.y<0?(O=a.attributes,L=a.indices,N=f):(O=s.attributes,L=s.indices,N=d),x=bh(O,L,N,r,c,m),aT(p,g,m,i,x,O,o),x=bh(O,L,N,r,c+1,A),aT(p,g,A,i,x,O,o)}}D8(e,a,s)}var b$=new H,rIe=new H,I$=new h,P$=new h,S8=new h,sIe=new h,aIe=new h,cIe=new h,S$=new oe;function D$(e){let t=e.attributes,n=t.position.values,i=t.prevPosition.values,o=t.nextPosition.values,r=n.length;for(let s=0;s<r;s+=3){let a=h.unpack(n,s,I$);if(a.x>0)continue;let c=h.unpack(i,s,P$);(a.y<0&&c.y>0||a.y>0&&c.y<0)&&(s-3>0?(i[s]=n[s-3],i[s+1]=n[s-2],i[s+2]=n[s-1]):h.pack(a,i,s));let l=h.unpack(o,s,S8);(a.y<0&&l.y>0||a.y>0&&l.y<0)&&(s+3<r?(o[s]=n[s+3],o[s+1]=n[s+4],o[s+2]=n[s+5]):h.pack(a,o,s))}}var lIe=5*P.EPSILON9,nV=P.EPSILON6;function uIe(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=n.prevPosition.values,r=n.nextPosition.values,s=n.expandAndWidth.values,a=u(n.st)?n.st.values:void 0,c=u(n.color)?n.color.values:void 0,l=cT(t),f=cT(t),d,p,g,m=!1,A=i.length/3;for(d=0;d<A;d+=4){let x=d,C=d+2,T=h.fromArray(i,x*3,I$),E=h.fromArray(i,C*3,P$);if(Math.abs(T.y)<nV)for(T.y=nV*(E.y<0?-1:1),i[d*3+1]=T.y,i[(d+1)*3+1]=T.y,p=x*3;p<x*3+4*3;p+=3)o[p]=i[d*3],o[p+1]=i[d*3+1],o[p+2]=i[d*3+2];if(Math.abs(E.y)<nV)for(E.y=nV*(T.y<0?-1:1),i[(d+2)*3+1]=E.y,i[(d+3)*3+1]=E.y,p=x*3;p<x*3+4*3;p+=3)r[p]=i[(d+2)*3],r[p+1]=i[(d+2)*3+1],r[p+2]=i[(d+2)*3+2];let S=l.attributes,D=l.indices,w=f.attributes,R=f.indices,O=Yi.lineSegmentPlane(T,E,w$,sIe);if(u(O)){m=!0;let L=h.multiplyByScalar(h.UNIT_Y,lIe,aIe);T.y<0&&(h.negate(L,L),S=f.attributes,D=f.indices,w=l.attributes,R=l.indices);let N=h.add(O,L,cIe);S.position.values.push(T.x,T.y,T.z,T.x,T.y,T.z),S.position.values.push(N.x,N.y,N.z),S.position.values.push(N.x,N.y,N.z),S.prevPosition.values.push(o[x*3],o[x*3+1],o[x*3+2]),S.prevPosition.values.push(o[x*3+3],o[x*3+4],o[x*3+5]),S.prevPosition.values.push(T.x,T.y,T.z,T.x,T.y,T.z),S.nextPosition.values.push(N.x,N.y,N.z),S.nextPosition.values.push(N.x,N.y,N.z),S.nextPosition.values.push(N.x,N.y,N.z),S.nextPosition.values.push(N.x,N.y,N.z),h.negate(L,L),h.add(O,L,N),w.position.values.push(N.x,N.y,N.z),w.position.values.push(N.x,N.y,N.z),w.position.values.push(E.x,E.y,E.z,E.x,E.y,E.z),w.prevPosition.values.push(N.x,N.y,N.z),w.prevPosition.values.push(N.x,N.y,N.z),w.prevPosition.values.push(N.x,N.y,N.z),w.prevPosition.values.push(N.x,N.y,N.z),w.nextPosition.values.push(E.x,E.y,E.z,E.x,E.y,E.z),w.nextPosition.values.push(r[C*3],r[C*3+1],r[C*3+2]),w.nextPosition.values.push(r[C*3+3],r[C*3+4],r[C*3+5]);let _=H.fromArray(s,x*2,b$),b=Math.abs(_.y);S.expandAndWidth.values.push(-1,b,1,b),S.expandAndWidth.values.push(-1,-b,1,-b),w.expandAndWidth.values.push(-1,b,1,b),w.expandAndWidth.values.push(-1,-b,1,-b);let v=h.magnitudeSquared(h.subtract(O,T,S8));if(v/=h.magnitudeSquared(h.subtract(E,T,S8)),u(c)){let I=oe.fromArray(c,x*4,S$),B=oe.fromArray(c,C*4,S$),F=P.lerp(I.x,B.x,v),k=P.lerp(I.y,B.y,v),U=P.lerp(I.z,B.z,v),G=P.lerp(I.w,B.w,v);for(p=x*4;p<x*4+2*4;++p)S.color.values.push(c[p]);for(S.color.values.push(F,k,U,G),S.color.values.push(F,k,U,G),w.color.values.push(F,k,U,G),w.color.values.push(F,k,U,G),p=C*4;p<C*4+2*4;++p)w.color.values.push(c[p])}if(u(a)){let I=H.fromArray(a,x*2,b$),B=H.fromArray(a,(d+3)*2,rIe),F=P.lerp(I.x,B.x,v);for(p=x*2;p<x*2+2*2;++p)S.st.values.push(a[p]);for(S.st.values.push(F,I.y),S.st.values.push(F,B.y),w.st.values.push(F,I.y),w.st.values.push(F,B.y),p=C*2;p<C*2+2*2;++p)w.st.values.push(a[p])}g=S.position.values.length/3-4,D.push(g,g+2,g+1),D.push(g+1,g+2,g+3),g=w.position.values.length/3-4,R.push(g,g+2,g+1),R.push(g+1,g+2,g+3)}else{let L,N;for(T.y<0?(L=f.attributes,N=f.indices):(L=l.attributes,N=l.indices),L.position.values.push(T.x,T.y,T.z),L.position.values.push(T.x,T.y,T.z),L.position.values.push(E.x,E.y,E.z),L.position.values.push(E.x,E.y,E.z),p=d*3;p<d*3+4*3;++p)L.prevPosition.values.push(o[p]),L.nextPosition.values.push(r[p]);for(p=d*2;p<d*2+4*2;++p)L.expandAndWidth.values.push(s[p]),u(a)&&L.st.values.push(a[p]);if(u(c))for(p=d*4;p<d*4+4*4;++p)L.color.values.push(c[p]);g=L.position.values.length/3-4,N.push(g,g+2,g+1),N.push(g+1,g+2,g+3)}}m&&(D$(f),D$(l)),D8(e,f,l)}Tc.splitLongitude=function(e){let t=e.geometry,n=t.boundingSphere;if(u(n)&&(n.center.x-n.radius>0||se.intersectPlane(n,cn.ORIGIN_ZX_PLANE)!==Qt.INTERSECTING))return e;if(t.geometryType!==Nu.NONE)switch(t.geometryType){case Nu.POLYLINES:uIe(e);break;case Nu.TRIANGLES:T$(e);break;case Nu.LINES:E$(e);break}else Kwe(t),t.primitiveType===Me.TRIANGLES?T$(e):t.primitiveType===Me.LINES&&E$(e);return e};var Ln=Tc;function rl(e){this._ellipsoid=y(e,ie.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(rl.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});rl.mercatorAngleToGeodeticLatitude=function(e){return P.PI_OVER_TWO-2*Math.atan(Math.exp(-e))};rl.geodeticLatitudeToMercatorAngle=function(e){e>rl.MaximumLatitude?e=rl.MaximumLatitude:e<-rl.MaximumLatitude&&(e=-rl.MaximumLatitude);let t=Math.sin(e);return .5*Math.log((1+t)/(1-t))};rl.MaximumLatitude=rl.mercatorAngleToGeodeticLatitude(Math.PI);rl.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=rl.geodeticLatitudeToMercatorAngle(e.latitude)*n,r=e.height;return u(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};rl.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=rl.mercatorAngleToGeodeticLatitude(e.y*n),r=e.z;return u(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new he(i,o,r)};var Si=rl;function fIe(e,t,n){let i=!n,o=e.length,r;if(!i&&o>1){let s=e[0].modelMatrix;for(r=1;r<o;++r)if(!M.equals(s,e[r].modelMatrix)){i=!0;break}}if(i)for(r=0;r<o;++r)u(e[r].geometry)&&Ln.transformToWorldCoordinates(e[r]);else M.multiplyTransformation(t,e[0].modelMatrix,t)}function w8(e,t){let n=e.attributes,i=n.position,o=i.values.length/i.componentsPerAttribute;n.batchId=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:1,values:new Float32Array(o)});let r=n.batchId.values;for(let s=0;s<o;++s)r[s]=t}function dIe(e){let t=e.length;for(let n=0;n<t;++n){let i=e[n];u(i.geometry)?w8(i.geometry,n):u(i.westHemisphereGeometry)&&u(i.eastHemisphereGeometry)&&(w8(i.westHemisphereGeometry,n),w8(i.eastHemisphereGeometry,n))}}function hIe(e){let t=e.instances,n=e.projection,i=e.elementIndexUintSupported,o=e.scene3DOnly,r=e.vertexCacheOptimize,s=e.compressVertices,a=e.modelMatrix,c,l,f,d=t.length;for(c=0;c<d;++c)if(u(t[c].geometry)){f=t[c].geometry.primitiveType;break}if(fIe(t,a,o),!o)for(c=0;c<d;++c)u(t[c].geometry)&&Ln.splitLongitude(t[c]);if(dIe(t),r)for(c=0;c<d;++c){let g=t[c];u(g.geometry)?(Ln.reorderForPostVertexCache(g.geometry),Ln.reorderForPreVertexCache(g.geometry)):u(g.westHemisphereGeometry)&&u(g.eastHemisphereGeometry)&&(Ln.reorderForPostVertexCache(g.westHemisphereGeometry),Ln.reorderForPreVertexCache(g.westHemisphereGeometry),Ln.reorderForPostVertexCache(g.eastHemisphereGeometry),Ln.reorderForPreVertexCache(g.eastHemisphereGeometry))}let p=Ln.combineInstances(t);for(d=p.length,c=0;c<d;++c){l=p[c];let g=l.attributes;if(o)for(let m in g)g.hasOwnProperty(m)&&g[m].componentDatatype===q.DOUBLE&&Ln.encodeAttribute(l,m,`${m}3DHigh`,`${m}3DLow`);else for(let m in g)if(g.hasOwnProperty(m)&&g[m].componentDatatype===q.DOUBLE){let A=`${m}3D`,x=`${m}2D`;Ln.projectTo2D(l,m,A,x,n),u(l.boundingSphere)&&m==="position"&&(l.boundingSphereCV=se.fromVertices(l.attributes.position2D.values)),Ln.encodeAttribute(l,A,`${A}High`,`${A}Low`),Ln.encodeAttribute(l,x,`${x}High`,`${x}Low`)}s&&Ln.compressVertices(l)}if(!i){let g=[];for(d=p.length,c=0;c<d;++c)l=p[c],g=g.concat(Ln.fitToUnsignedShortIndices(l));p=g}return p}function I8(e,t,n,i){let o,r,s,a=i.length-1;if(a>=0){let l=i[a];o=l.offset+l.count,s=l.index,r=n[s].indices.length}else o=0,s=0,r=n[s].indices.length;let c=e.length;for(let l=0;l<c;++l){let d=e[l][t];if(!u(d))continue;let p=d.indices.length;o+p>r&&(o=0,r=n[++s].indices.length),i.push({index:s,offset:o,count:p}),o+=p}}function mIe(e,t){let n=[];return I8(e,"geometry",t,n),I8(e,"westHemisphereGeometry",t,n),I8(e,"eastHemisphereGeometry",t,n),n}var qm={};qm.combineGeometry=function(e){let t,n,i=e.instances,o=i.length,r,s,a=!1;o>0&&(t=hIe(e),t.length>0&&(n=Ln.createAttributeLocations(t[0]),e.createPickOffsets&&(r=mIe(i,t))),u(i[0].attributes)&&u(i[0].attributes.offset)&&(s=new Array(o),a=!0));let c=new Array(o),l=new Array(o);for(let f=0;f<o;++f){let d=i[f],p=d.geometry;u(p)&&(c[f]=p.boundingSphere,l[f]=p.boundingSphereCV,a&&(s[f]=d.geometry.offsetAttribute));let g=d.eastHemisphereGeometry,m=d.westHemisphereGeometry;u(g)&&u(m)&&(u(g.boundingSphere)&&u(m.boundingSphere)&&(c[f]=se.union(g.boundingSphere,m.boundingSphere)),u(g.boundingSphereCV)&&u(m.boundingSphereCV)&&(l[f]=se.union(g.boundingSphereCV,m.boundingSphereCV)))}return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:n,pickOffsets:r,offsetInstanceExtend:s,boundingSpheres:c,boundingSpheresCV:l}};function pIe(e,t){let n=e.attributes;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];u(o)&&u(o.values)&&t.push(o.values.buffer)}u(e.indices)&&t.push(e.indices.buffer)}function _Ie(e,t){let n=e.length;for(let i=0;i<n;++i)pIe(e[i],t)}function gIe(e){let t=1,n=e.length;for(let i=0;i<n;i++){let o=e[i];if(++t,!u(o))continue;let r=o.attributes;t+=7+2*se.packedLength+(u(o.indices)?o.indices.length:0);for(let s in r)if(r.hasOwnProperty(s)&&u(r[s])){let a=r[s];t+=5+a.values.length}}return t}qm.packCreateGeometryResults=function(e,t){let n=new Float64Array(gIe(e)),i=[],o={},r=e.length,s=0;n[s++]=r;for(let a=0;a<r;a++){let c=e[a],l=u(c);if(n[s++]=l?1:0,!l)continue;n[s++]=c.primitiveType,n[s++]=c.geometryType,n[s++]=y(c.offsetAttribute,-1);let f=u(c.boundingSphere)?1:0;n[s++]=f,f&&se.pack(c.boundingSphere,n,s),s+=se.packedLength;let d=u(c.boundingSphereCV)?1:0;n[s++]=d,d&&se.pack(c.boundingSphereCV,n,s),s+=se.packedLength;let p=c.attributes,g=[];for(let A in p)p.hasOwnProperty(A)&&u(p[A])&&(g.push(A),u(o[A])||(o[A]=i.length,i.push(A)));n[s++]=g.length;for(let A=0;A<g.length;A++){let x=g[A],C=p[x];n[s++]=o[x],n[s++]=C.componentDatatype,n[s++]=C.componentsPerAttribute,n[s++]=C.normalize?1:0,n[s++]=C.values.length,n.set(C.values,s),s+=C.values.length}let m=u(c.indices)?c.indices.length:0;n[s++]=m,m>0&&(n.set(c.indices,s),s+=m)}return t.push(n.buffer),{stringTable:i,packedData:n}};qm.unpackCreateGeometryResults=function(e){let t=e.stringTable,n=e.packedData,i,o=new Array(n[0]),r=0,s=1;for(;s<n.length;){if(!(n[s++]===1)){o[r++]=void 0;continue}let c=n[s++],l=n[s++],f=n[s++];f===-1&&(f=void 0);let d,p;n[s++]===1&&(d=se.unpack(n,s)),s+=se.packedLength,n[s++]===1&&(p=se.unpack(n,s)),s+=se.packedLength;let A,x,C,T=new dn,E=n[s++];for(i=0;i<E;i++){let D=t[n[s++]],w=n[s++];C=n[s++];let R=n[s++]!==0;A=n[s++],x=q.createTypedArray(w,A);for(let O=0;O<A;O++)x[O]=n[s++];T[D]=new ve({componentDatatype:w,componentsPerAttribute:C,normalize:R,values:x})}let S;if(A=n[s++],A>0){let D=x.length/C;for(S=Fe.createTypedArray(D,A),i=0;i<A;i++)S[i]=n[s++]}o[r++]=new ct({primitiveType:c,geometryType:l,boundingSphere:d,boundingSphereCV:p,indices:S,attributes:T,offsetAttribute:f})}return o};function yIe(e,t){let n=e.length,i=new Float64Array(1+n*19),o=0;i[o++]=n;for(let r=0;r<n;r++){let s=e[r];if(M.pack(s.modelMatrix,i,o),o+=M.packedLength,u(s.attributes)&&u(s.attributes.offset)){let a=s.attributes.offset.value;i[o]=a[0],i[o+1]=a[1],i[o+2]=a[2]}o+=3}return t.push(i.buffer),i}function AIe(e){let t=e,n=new Array(t[0]),i=0,o=1;for(;o<t.length;){let r=M.unpack(t,o),s;o+=M.packedLength,u(t[o])&&(s={offset:new Wi(t[o],t[o+1],t[o+2])}),o+=3,n[i++]={modelMatrix:r,attributes:s}}return n}qm.packCombineGeometryParameters=function(e,t){let n=e.createGeometryResults,i=n.length;for(let o=0;o<i;o++)t.push(n[o].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:yIe(e.instances,t),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof Ei,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}};qm.unpackCombineGeometryParameters=function(e){let t=AIe(e.packedInstances),n=e.createGeometryResults,i=n.length,o=0;for(let a=0;a<i;a++){let c=qm.unpackCreateGeometryResults(n[a]),l=c.length;for(let f=0;f<l;f++){let d=c[f],p=t[o];p.geometry=d,++o}}let r=ie.clone(e.ellipsoid),s=e.isGeographic?new Ei(r):new Si(r);return{instances:t,ellipsoid:r,projection:s,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:M.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}};function O$(e){let t=e.length,n=1+(se.packedLength+1)*t,i=new Float32Array(n),o=0;i[o++]=t;for(let r=0;r<t;++r){let s=e[r];u(s)?(i[o++]=1,se.pack(e[r],i,o)):i[o++]=0,o+=se.packedLength}return i}function R$(e){let t=new Array(e[0]),n=0,i=1;for(;i<e.length;)e[i++]===1&&(t[n]=se.unpack(e,i)),++n,i+=se.packedLength;return t}qm.packCombineGeometryResults=function(e,t){u(e.geometries)&&_Ie(e.geometries,t);let n=O$(e.boundingSpheres),i=O$(e.boundingSpheresCV);return t.push(n.buffer,i.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:n,boundingSpheresCV:i}};qm.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:R$(e.boundingSpheres),boundingSpheresCV:R$(e.boundingSpheresCV)}};var F0=qm;var xIe={READY:0,CREATING:1,CREATED:2,COMBINING:3,COMBINED:4,COMPLETE:5,FAILED:6},mr=Object.freeze(xIe);var Hl={DISABLED:0,ENABLED:1,CAST_ONLY:2,RECEIVE_ONLY:3};Hl.NUMBER_OF_SHADOW_MODES=4;Hl.castShadows=function(e){return e===Hl.ENABLED||e===Hl.CAST_ONLY};Hl.receiveShadows=function(e){return e===Hl.ENABLED||e===Hl.RECEIVE_ONLY};Hl.fromCastReceive=function(e,t){return e&&t?Hl.ENABLED:e?Hl.CAST_ONLY:t?Hl.RECEIVE_ONLY:Hl.DISABLED};var gn=Object.freeze(Hl);function pr(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this.appearance=e.appearance,this._appearance=void 0,this._material=void 0,this.depthFailAppearance=e.depthFailAppearance,this._depthFailAppearance=void 0,this._depthFailMaterial=void 0,this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=new M,this.show=y(e.show,!0),this._vertexCacheOptimize=y(e.vertexCacheOptimize,!1),this._interleave=y(e.interleave,!1),this._releaseGeometryInstances=y(e.releaseGeometryInstances,!0),this._allowPicking=y(e.allowPicking,!0),this._asynchronous=y(e.asynchronous,!0),this._compressVertices=y(e.compressVertices,!0),this.cull=y(e.cull,!0),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.rtcCenter=e.rtcCenter,this.shadows=y(e.shadows,gn.DISABLED),this._translucent=void 0,this._state=mr.READY,this._geometries=[],this._error=void 0,this._numberOfInstances=0,this._boundingSpheres=[],this._boundingSphereWC=[],this._boundingSphereCV=[],this._boundingSphere2D=[],this._boundingSphereMorph=[],this._perInstanceAttributeCache=[],this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._va=[],this._attributeLocations=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._depthFailAppearance=void 0,this._spDepthFail=void 0,this._frontFaceDepthFailRS=void 0,this._backFaceDepthFailRS=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[],this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._createRenderStatesFunction=e._createRenderStatesFunction,this._createShaderProgramFunction=e._createShaderProgramFunction,this._createCommandsFunction=e._createCommandsFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._createPickOffsets=e._createPickOffsets,this._pickOffsets=void 0,this._createGeometryResults=void 0,this._ready=!1;let t=this;this._readyPromise=new Promise((n,i)=>{t._completeLoad=(o,r,s)=>{this._error=s,this._state=r,o.afterRender.push(function(){if(t._ready=t._state===mr.COMPLETE||t._state===mr.FAILED,!u(s))return n(t),!0;i(s)})}}),this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0}Object.defineProperties(pr.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}}});function CIe(e){let t=e.length,n=[],i=e[0].attributes,o;for(o in i)if(i.hasOwnProperty(o)&&u(i[o])){let r=i[o],s=!0;for(let a=1;a<t;++a){let c=e[a].attributes[o];if(!u(c)||r.componentDatatype!==c.componentDatatype||r.componentsPerAttribute!==c.componentsPerAttribute||r.normalize!==c.normalize){s=!1;break}}s&&n.push(o)}return n}var TIe=new H,EIe=new h,z$=new oe;function H$(e){let t=e.length;if(t===1)return e[0];if(t===2)return H.unpack(e,0,TIe);if(t===3)return h.unpack(e,0,EIe);if(t===4)return oe.unpack(e,0,z$)}function bIe(e,t){let n=e.geometryInstances,i=Array.isArray(n)?n:[n],o=i.length;if(o===0)return;let r=CIe(i),s=r.length,a=[],c={},l={},f,p=i[0].attributes,g,m,A;for(g=0;g<s;++g)m=r[g],A=p[m],c[m]=g,a.push({functionName:`czm_batchTable_${m}`,componentDatatype:A.componentDatatype,componentsPerAttribute:A.componentsPerAttribute,normalize:A.normalize});r.indexOf("distanceDisplayCondition")!==-1&&(a.push({functionName:"czm_batchTable_boundingSphereCenter3DHigh",componentDatatype:q.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter3DLow",componentDatatype:q.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DHigh",componentDatatype:q.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DLow",componentDatatype:q.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereRadius",componentDatatype:q.FLOAT,componentsPerAttribute:1}),l.center3DHigh=a.length-5,l.center3DLow=a.length-4,l.center2DHigh=a.length-3,l.center2DLow=a.length-2,l.radius=a.length-1),r.indexOf("offset")!==-1&&(a.push({functionName:"czm_batchTable_offset2D",componentDatatype:q.FLOAT,componentsPerAttribute:3}),f=a.length-1),a.push({functionName:"czm_batchTable_pickColor",componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});let x=a.length,C=new O0(t,a,o);for(g=0;g<o;++g){let T=i[g];p=T.attributes;for(let R=0;R<s;++R){m=r[R],A=p[m];let O=H$(A.value),L=c[m];C.setBatchedAttribute(g,L,O)}let E={primitive:y(T.pickPrimitive,e)};u(T.id)&&(E.id=T.id);let S=t.createPickId(E);e._pickIds.push(S);let D=S.color,w=z$;w.x=z.floatToByte(D.red),w.y=z.floatToByte(D.green),w.z=z.floatToByte(D.blue),w.w=z.floatToByte(D.alpha),C.setBatchedAttribute(g,x-1,w)}e._batchTable=C,e._batchTableAttributeIndices=c,e._batchTableBoundingSphereAttributeIndices=l,e._batchTableOffsetAttribute2DIndex=f}function SIe(e){let t;return Array.isArray(e.values)?t=e.values.slice(0):t=new e.values.constructor(e.values),new ve({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:t})}function DIe(e){let t=e.attributes,n=new dn;for(let o in t)t.hasOwnProperty(o)&&u(t[o])&&(n[o]=SIe(t[o]));let i;if(u(e.indices)){let o=e.indices;Array.isArray(o)?i=o.slice(0):i=new o.constructor(o)}return new ct({attributes:n,indices:i,primitiveType:e.primitiveType,boundingSphere:se.clone(e.boundingSphere)})}function vIe(e,t){return{geometry:t,attributes:e.attributes,modelMatrix:M.clone(e.modelMatrix),pickPrimitive:e.pickPrimitive,id:e.id}}var wIe=/in\s+vec(?:3|4)\s+(.*)3DHigh;/g;pr._modifyShaderPosition=function(e,t,n){let i,o="",r="",s="";for(;(i=wIe.exec(t))!==null;){let a=i[1],c=`vec4 czm_compute${a[0].toUpperCase()}${a.substr(1)}()`;c!=="vec4 czm_computePosition()"&&(o+=`${c}; +`),u(e.rtcCenter)?(t=t.replace(/in\s+vec(?:3|4)\s+position3DHigh;/g,""),t=t.replace(/in\s+vec(?:3|4)\s+position3DLow;/g,""),o+=`uniform mat4 u_modifiedModelView; +`,r+=`in vec4 position; +`,s+=`${c} +{ + return u_modifiedModelView * position; +} + +`,t=t.replace(/czm_modelViewRelativeToEye\s+\*\s+/g,""),t=t.replace(/czm_modelViewProjectionRelativeToEye/g,"czm_projection")):n?s+=`${c} +{ + return czm_translateRelativeToEye(${a}3DHigh, ${a}3DLow); +} + +`:(r+=`in vec3 ${a}2DHigh; +in vec3 ${a}2DLow; +`,s+=`${c} +{ + vec4 p; + if (czm_morphTime == 1.0) + { + p = czm_translateRelativeToEye(${a}3DHigh, ${a}3DLow); + } + else if (czm_morphTime == 0.0) + { + p = czm_translateRelativeToEye(${a}2DHigh.zxy, ${a}2DLow.zxy); + } + else + { + p = czm_columbusViewMorph( + czm_translateRelativeToEye(${a}2DHigh.zxy, ${a}2DLow.zxy), + czm_translateRelativeToEye(${a}3DHigh, ${a}3DLow), + czm_morphTime); + } + return p; +} + +`)}return[o,r,t,s].join(` +`)};pr._appendShowToShader=function(e,t){return u(e._batchTableAttributeIndices.show)?`${ke.replaceMain(t,"czm_non_show_main")} +void main() +{ + czm_non_show_main(); + gl_Position *= czm_batchTable_show(batchId); +}`:t};pr._updateColorAttribute=function(e,t,n){if(!u(e._batchTableAttributeIndices.color)&&!u(e._batchTableAttributeIndices.depthFailColor)||t.search(/in\s+vec4\s+color;/g)===-1)return t;let i=t;return i=i.replace(/in\s+vec4\s+color;/g,""),n?i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_depthFailColor(batchId)$2"):i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_color(batchId)$2"),i};function B$(e){return`${ke.replaceMain(e,"czm_non_pick_main")} +out vec4 v_pickColor; +void main() +{ + czm_non_pick_main(); + v_pickColor = czm_batchTable_pickColor(batchId); +}`}function M$(e){return`in vec4 v_pickColor; +${e}`}pr._updatePickColorAttribute=function(e){let t=e.replace(/in\s+vec4\s+pickColor;/g,"");return t=t.replace(/(\b)pickColor(\b)/g,"$1czm_batchTable_pickColor(batchId)$2"),t};pr._appendOffsetToShader=function(e,t){if(!u(e._batchTableAttributeIndices.offset))return t;let n=`in float batchId; +`;n+="in float applyOffset;";let i=t.replace(/in\s+float\s+batchId;/g,n),o=`vec4 $1 = czm_computePosition(); +`;return o+=` if (czm_sceneMode == czm_sceneMode3D) +`,o+=` { +`,o+=" $1 = $1 + vec4(czm_batchTable_offset(batchId) * applyOffset, 0.0);",o+=` } +`,o+=` else +`,o+=` { +`,o+=" $1 = $1 + vec4(czm_batchTable_offset2D(batchId) * applyOffset, 0.0);",o+=` } +`,i=i.replace(/vec4\s+([A-Za-z0-9_]+)\s+=\s+czm_computePosition\(\);/g,o),i};pr._appendDistanceDisplayConditionToShader=function(e,t,n){if(!u(e._batchTableAttributeIndices.distanceDisplayCondition))return t;let i=ke.replaceMain(t,"czm_non_distanceDisplayCondition_main"),o=`void main() +{ + czm_non_distanceDisplayCondition_main(); + vec2 distanceDisplayCondition = czm_batchTable_distanceDisplayCondition(batchId); + vec3 boundingSphereCenter3DHigh = czm_batchTable_boundingSphereCenter3DHigh(batchId); + vec3 boundingSphereCenter3DLow = czm_batchTable_boundingSphereCenter3DLow(batchId); + float boundingSphereRadius = czm_batchTable_boundingSphereRadius(batchId); +`;return n?o+=` vec4 centerRTE = czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow); +`:o+=` vec3 boundingSphereCenter2DHigh = czm_batchTable_boundingSphereCenter2DHigh(batchId); + vec3 boundingSphereCenter2DLow = czm_batchTable_boundingSphereCenter2DLow(batchId); + vec4 centerRTE; + if (czm_morphTime == 1.0) + { + centerRTE = czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow); + } + else if (czm_morphTime == 0.0) + { + centerRTE = czm_translateRelativeToEye(boundingSphereCenter2DHigh.zxy, boundingSphereCenter2DLow.zxy); + } + else + { + centerRTE = czm_columbusViewMorph( + czm_translateRelativeToEye(boundingSphereCenter2DHigh.zxy, boundingSphereCenter2DLow.zxy), + czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow), + czm_morphTime); + } +`,o+=` float radiusSq = boundingSphereRadius * boundingSphereRadius; + float distanceSq; + if (czm_sceneMode == czm_sceneMode2D) + { + distanceSq = czm_eyeHeight2D.y - radiusSq; + } + else + { + distanceSq = dot(centerRTE.xyz, centerRTE.xyz) - radiusSq; + } + distanceSq = max(distanceSq, 0.0); + float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x; + float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y; + float show = (distanceSq >= nearSq && distanceSq <= farSq) ? 1.0 : 0.0; + gl_Position *= show; +}`,`${i} +${o}`};function L$(e,t){if(!e.compressVertices)return t;let n=t.search(/in\s+vec3\s+normal;/g)!==-1,i=t.search(/in\s+vec2\s+st;/g)!==-1;if(!n&&!i)return t;let o=t.search(/in\s+vec3\s+tangent;/g)!==-1,r=t.search(/in\s+vec3\s+bitangent;/g)!==-1,s=i&&n?2:1;s+=o||r?1:0;let a=s>1?`vec${s}`:"float",c="compressedAttributes",l=`in ${a} ${c};`,f="",d="";if(i){f+=`vec2 st; +`;let m=s>1?`${c}.x`:c;d+=` st = czm_decompressTextureCoordinates(${m}); +`}n&&o&&r?(f+=`vec3 normal; +vec3 tangent; +vec3 bitangent; +`,d+=` czm_octDecode(${c}.${i?"yz":"xy"}, normal, tangent, bitangent); +`):(n&&(f+=`vec3 normal; +`,d+=` normal = czm_octDecode(${c}${s>1?`.${i?"y":"x"}`:""}); +`),o&&(f+=`vec3 tangent; +`,d+=` tangent = czm_octDecode(${c}.${i&&n?"z":"y"}); +`),r&&(f+=`vec3 bitangent; +`,d+=` bitangent = czm_octDecode(${c}.${i&&n?"z":"y"}); +`));let p=t;p=p.replace(/in\s+vec3\s+normal;/g,""),p=p.replace(/in\s+vec2\s+st;/g,""),p=p.replace(/in\s+vec3\s+tangent;/g,""),p=p.replace(/in\s+vec3\s+bitangent;/g,""),p=ke.replaceMain(p,"czm_non_compressed_main");let g=`void main() +{ +${d} czm_non_compressed_main(); +}`;return[l,f,p,g].join(` +`)}function IIe(e){let t=ke.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { + czm_non_depth_clamp_main(); + gl_Position = czm_depthClamp(gl_Position);} +`,t}function PIe(e){let t=ke.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { + czm_non_depth_clamp_main(); + #if defined(LOG_DEPTH) + czm_writeLogDepth(); + #else + czm_writeDepthClamp(); + #endif +} +`,t}function N$(e,t){let n=e.vertexAttributes}function OIe(e,t){return function(){return e[t]}}var P8=Math.max(Vt.hardwareConcurrency-1,1),rV,RIe=new pi("combineGeometry");function BIe(e,t){let n,i,o,r,s=e._instanceIds;if(e._state===mr.READY){n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let a=e._numberOfInstances=n.length,c=[],l=[];for(o=0;o<a;++o)i=n[o].geometry,s.push(n[o].id),l.push({moduleName:i._workerName,geometry:i});if(!u(rV))for(rV=new Array(P8),o=0;o<P8;o++)rV[o]=new pi("createGeometry");let f;for(l=RI(l,P8),o=0;o<l.length;o++){let d=0,p=l[o],g=p.length;for(r=0;r<g;++r)f=p[r],i=f.geometry,u(i.constructor.pack)&&(f.offset=d,d+=y(i.constructor.packedLength,i.packedLength));let m;if(d>0){let A=new Float64Array(d);for(m=[A.buffer],r=0;r<g;++r)f=p[r],i=f.geometry,u(i.constructor.pack)&&(i.constructor.pack(i,A,f.offset),f.geometry=A)}c.push(rV[o].scheduleTask({subTasks:l[o]},m))}e._state=mr.CREATING,Promise.all(c).then(function(d){e._createGeometryResults=d,e._state=mr.CREATED}).catch(function(d){kI(e,t,mr.FAILED,d)})}else if(e._state===mr.CREATED){let a=[];n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let c=t.scene3DOnly,l=t.mapProjection,f=RIe.scheduleTask(F0.packCombineGeometryParameters({createGeometryResults:e._createGeometryResults,instances:n,ellipsoid:l.ellipsoid,projection:l,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:c,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets},a),a);e._createGeometryResults=void 0,e._state=mr.COMBINING,Promise.resolve(f).then(function(d){let p=F0.unpackCombineGeometryResults(d);e._geometries=p.geometries,e._attributeLocations=p.attributeLocations,e.modelMatrix=M.clone(p.modelMatrix,e.modelMatrix),e._pickOffsets=p.pickOffsets,e._offsetInstanceExtend=p.offsetInstanceExtend,e._instanceBoundingSpheres=p.boundingSpheres,e._instanceBoundingSpheresCV=p.boundingSpheresCV,u(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=mr.COMBINED):kI(e,t,mr.FAILED,void 0)}).catch(function(d){kI(e,t,mr.FAILED,d)})}}function MIe(e,t){let n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],i=e._numberOfInstances=n.length,o=new Array(i),r=e._instanceIds,s,a,c=0;for(a=0;a<i;a++){s=n[a];let p=s.geometry,g;u(p.attributes)&&u(p.primitiveType)?g=DIe(p):g=p.constructor.createGeometry(p),o[c++]=vIe(s,g),r.push(s.id)}o.length=c;let l=t.scene3DOnly,f=t.mapProjection,d=F0.combineGeometry({instances:o,ellipsoid:f.ellipsoid,projection:f,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:l,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets});e._geometries=d.geometries,e._attributeLocations=d.attributeLocations,e.modelMatrix=M.clone(d.modelMatrix,e.modelMatrix),e._pickOffsets=d.pickOffsets,e._offsetInstanceExtend=d.offsetInstanceExtend,e._instanceBoundingSpheres=d.boundingSpheres,e._instanceBoundingSpheresCV=d.boundingSpheresCV,u(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=mr.COMBINED):kI(e,t,mr.FAILED,void 0)}function LIe(e,t){let n=e._batchTableAttributeIndices.offset;if(!e._recomputeBoundingSpheres||!u(n)){e._recomputeBoundingSpheres=!1;return}let i,o=e._offsetInstanceExtend,r=e._instanceBoundingSpheres,s=r.length,a=e._tempBoundingSpheres;if(!u(a)){for(a=new Array(s),i=0;i<s;i++)a[i]=new se;e._tempBoundingSpheres=a}for(i=0;i<s;++i){let A=a[i],x=e._batchTable.getBatchedAttribute(i,n,new h);A=r[i].clone(A),Y$(A,x,o[i])}let c=[],l=[],f=[];for(i=0;i<s;++i){let A=a[i];A.center.x-A.radius>0||se.intersectPlane(A,cn.ORIGIN_ZX_PLANE)!==Qt.INTERSECTING?c.push(A):(l.push(A),f.push(A))}let d=c[0],p=f[0],g=l[0];for(i=1;i<c.length;i++)d=se.union(d,c[i]);for(i=1;i<f.length;i++)p=se.union(p,f[i]);for(i=1;i<l.length;i++)g=se.union(g,l[i]);let m=[];for(u(d)&&m.push(d),u(p)&&m.push(p),u(g)&&m.push(g),i=0;i<m.length;i++){let A=m[i].clone(e._boundingSpheres[i]);e._boundingSpheres[i]=A,e._boundingSphereCV[i]=se.projectTo2D(A,t.mapProjection,e._boundingSphereCV[i])}pr._updateBoundingVolumes(e,t,e.modelMatrix,!0),e._recomputeBoundingSpheres=!1}var F$=new Hn,G$=new he,W$=new h,j$=new se;function NIe(e,t){if(!u(e._batchTableAttributeIndices.distanceDisplayCondition)||e._batchTableBoundingSpheresUpdated)return;let i=e._batchTableBoundingSphereAttributeIndices,o=i.center3DHigh,r=i.center3DLow,s=i.center2DHigh,a=i.center2DLow,c=i.radius,l=t.mapProjection,f=l.ellipsoid,d=e._batchTable,p=e._instanceBoundingSpheres,g=p.length;for(let m=0;m<g;++m){let A=p[m];if(!u(A))continue;let x=e.modelMatrix;u(x)&&(A=se.transform(A,x,j$));let C=A.center,T=A.radius,E=Hn.fromCartesian(C,F$);if(d.setBatchedAttribute(m,o,E.high),d.setBatchedAttribute(m,r,E.low),!t.scene3DOnly){let S=f.cartesianToCartographic(C,G$),D=l.project(S,W$);E=Hn.fromCartesian(D,F$),d.setBatchedAttribute(m,s,E.high),d.setBatchedAttribute(m,a,E.low)}d.setBatchedAttribute(m,c,T)}e._batchTableBoundingSpheresUpdated=!0}var O8=new h,FIe=new h;function V$(e,t){if(!u(e._batchTableAttributeIndices.offset)||e._batchTableOffsetsUpdated||t.scene3DOnly)return;let i=e._batchTableOffsetAttribute2DIndex,o=t.mapProjection,r=o.ellipsoid,s=e._batchTable,a=e._instanceBoundingSpheres,c=a.length;for(let l=0;l<c;++l){let f=a[l];if(!u(f))continue;let d=s.getBatchedAttribute(l,e._batchTableAttributeIndices.offset);if(h.equals(d,h.ZERO)){s.setBatchedAttribute(l,i,h.ZERO);continue}let p=e.modelMatrix;u(p)&&(f=se.transform(f,p,j$));let g=f.center;g=r.scaleToGeodeticSurface(g,FIe);let m=r.cartesianToCartographic(g,G$),A=o.project(m,W$),x=h.add(d,g,O8);m=r.cartesianToCartographic(x,m);let C=o.project(m,O8),T=h.subtract(C,A,O8),E=T.x;T.x=T.z,T.z=T.y,T.y=E,s.setBatchedAttribute(l,i,T)}e._batchTableOffsetsUpdated=!0}function VIe(e,t){let n=e._attributeLocations,i=e._geometries,o=t.scene3DOnly,r=t.context,s=[],a=i.length;for(let c=0;c<a;++c){let l=i[c];if(s.push(oi.fromGeometry({context:r,geometry:l,attributeLocations:n,bufferUsage:Ne.STATIC_DRAW,interleave:e._interleave})),u(e._createBoundingVolumeFunction))e._createBoundingVolumeFunction(t,l);else if(e._boundingSpheres.push(se.clone(l.boundingSphere)),e._boundingSphereWC.push(new se),!o){let f=l.boundingSphereCV.center,d=f.x,p=f.y,g=f.z;f.x=g,f.y=d,f.z=p,e._boundingSphereCV.push(se.clone(l.boundingSphereCV)),e._boundingSphere2D.push(new se),e._boundingSphereMorph.push(new se)}}e._va=s,e._primitiveType=i[0].primitiveType,e.releaseGeometryInstances&&(e.geometryInstances=void 0),e._geometries=void 0,kI(e,t,mr.COMPLETE,void 0)}function UIe(e,t,n,i){let o=n.getRenderState(),r;i?(r=Ge(o,!1),r.cull={enabled:!0,face:gi.BACK},e._frontFaceRS=Ue.fromCache(r),r.cull.face=gi.FRONT,e._backFaceRS=Ue.fromCache(r)):(e._frontFaceRS=Ue.fromCache(o),e._backFaceRS=e._frontFaceRS),r=Ge(o,!1),u(e._depthFailAppearance)&&(r.depthTest.enabled=!1),u(e._depthFailAppearance)&&(o=e._depthFailAppearance.getRenderState(),r=Ge(o,!1),r.depthTest.func=Fa.GREATER,i?(r.cull={enabled:!0,face:gi.BACK},e._frontFaceDepthFailRS=Ue.fromCache(r),r.cull.face=gi.FRONT,e._backFaceDepthFailRS=Ue.fromCache(r)):(e._frontFaceDepthFailRS=Ue.fromCache(r),e._backFaceDepthFailRS=e._frontFaceRS))}function kIe(e,t,n){let i=t.context,o=e._attributeLocations,r=e._batchTable.getVertexShaderCallback()(n.vertexShaderSource);r=pr._appendOffsetToShader(e,r),r=pr._appendShowToShader(e,r),r=pr._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=B$(r),r=pr._updateColorAttribute(e,r,!1),r=L$(e,r),r=pr._modifyShaderPosition(e,r,t.scene3DOnly);let s=n.getFragmentShaderSource();s=M$(s),e._sp=Xt.replaceCache({context:i,shaderProgram:e._sp,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),N$(e._sp,o),u(e._depthFailAppearance)&&(r=e._batchTable.getVertexShaderCallback()(e._depthFailAppearance.vertexShaderSource),r=pr._appendShowToShader(e,r),r=pr._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=B$(r),r=pr._updateColorAttribute(e,r,!0),r=L$(e,r),r=pr._modifyShaderPosition(e,r,t.scene3DOnly),r=IIe(r),s=e._depthFailAppearance.getFragmentShaderSource(),s=M$(s),s=PIe(s),e._spDepthFail=Xt.replaceCache({context:i,shaderProgram:e._spDepthFail,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),N$(e._spDepthFail,o))}var UI=new M,U$=new h;function k$(e,t,n,i){let o=u(n)?n._uniforms:void 0,r={},s=t.uniforms;if(u(s))for(let c in s)s.hasOwnProperty(c)&&(r[c]=OIe(s,c));let a=_t(r,o);return a=e._batchTable.getUniformMapCallback()(a),u(e.rtcCenter)&&(a.u_modifiedModelView=function(){let c=i.context.uniformState.view;return M.multiply(c,e._modelMatrix,UI),M.multiplyByPoint(UI,e.rtcCenter,U$),M.setTranslation(UI,U$,UI),UI}),a}function zIe(e,t,n,i,o,r,s,a){let c=k$(e,t,n,a),l;u(e._depthFailAppearance)&&(l=k$(e,e._depthFailAppearance,e._depthFailAppearance.material,a));let f=i?Ee.TRANSLUCENT:Ee.OPAQUE,d=o?2:1;d*=u(e._depthFailAppearance)?2:1,r.length=e._va.length*d;let p=r.length,g=0;for(let m=0;m<p;++m){let A;o&&(A=r[m],u(A)||(A=r[m]=new tt({owner:e,primitiveType:e._primitiveType})),A.vertexArray=e._va[g],A.renderState=e._backFaceRS,A.shaderProgram=e._sp,A.uniformMap=c,A.pass=f,++m),A=r[m],u(A)||(A=r[m]=new tt({owner:e,primitiveType:e._primitiveType})),A.vertexArray=e._va[g],A.renderState=e._frontFaceRS,A.shaderProgram=e._sp,A.uniformMap=c,A.pass=f,u(e._depthFailAppearance)&&(o&&(++m,A=r[m],u(A)||(A=r[m]=new tt({owner:e,primitiveType:e._primitiveType})),A.vertexArray=e._va[g],A.renderState=e._backFaceDepthFailRS,A.shaderProgram=e._spDepthFail,A.uniformMap=l,A.pass=f),++m,A=r[m],u(A)||(A=r[m]=new tt({owner:e,primitiveType:e._primitiveType})),A.vertexArray=e._va[g],A.renderState=e._frontFaceDepthFailRS,A.shaderProgram=e._spDepthFail,A.uniformMap=l,A.pass=f),++g}}pr._updateBoundingVolumes=function(e,t,n,i){let o,r,s;if(i||!M.equals(n,e._modelMatrix))for(M.clone(n,e._modelMatrix),r=e._boundingSpheres.length,o=0;o<r;++o)s=e._boundingSpheres[o],u(s)&&(e._boundingSphereWC[o]=se.transform(s,n,e._boundingSphereWC[o]),t.scene3DOnly||(e._boundingSphere2D[o]=se.clone(e._boundingSphereCV[o],e._boundingSphere2D[o]),e._boundingSphere2D[o].center.x=0,e._boundingSphereMorph[o]=se.union(e._boundingSphereWC[o],e._boundingSphereCV[o])));let a=e.appearance.pixelSize;if(u(a))for(r=e._boundingSpheres.length,o=0;o<r;++o){s=e._boundingSpheres[o];let c=e._boundingSphereWC[o],f=t.camera.getPixelSize(s,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*a;c.radius=s.radius+f}};function HIe(e,t,n,i,o,r,s,a){pr._updateBoundingVolumes(e,t,o);let c;t.mode===te.SCENE3D?c=e._boundingSphereWC:t.mode===te.COLUMBUS_VIEW?c=e._boundingSphereCV:t.mode===te.SCENE2D&&u(e._boundingSphere2D)?c=e._boundingSphere2D:u(e._boundingSphereMorph)&&(c=e._boundingSphereMorph);let l=t.commandList,f=t.passes;if(f.render||f.pick){let d=e.allowPicking,p=gn.castShadows(e.shadows),g=gn.receiveShadows(e.shadows),m=n.length,A=a?2:1;A*=u(e._depthFailAppearance)?2:1;for(let x=0;x<m;++x){let C=Math.floor(x/A),T=n[x];T.modelMatrix=o,T.boundingVolume=c[C],T.cull=r,T.debugShowBoundingVolume=s,T.castShadows=p,T.receiveShadows=g,d?T.pickId="v_pickColor":T.pickId=void 0,l.push(T)}}}pr.prototype.update=function(e){if(!u(this.geometryInstances)&&this._va.length===0||u(this.geometryInstances)&&Array.isArray(this.geometryInstances)&&this.geometryInstances.length===0||!u(this.appearance)||e.mode!==te.SCENE3D&&e.scene3DOnly||!e.passes.render&&!e.passes.pick)return;if(u(this._error))throw this._error;if(this._state===mr.FAILED)return;let t=e.context;if(u(this._batchTable)||bIe(this,t),this._batchTable.attributes.length>0){if(Ft.maximumVertexTextureImageUnits===0)throw new ue("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}if(this._state!==mr.COMPLETE&&this._state!==mr.COMBINED&&(this.asynchronous?BIe(this,e):MIe(this,e)),this._state===mr.COMBINED&&(NIe(this,e),V$(this,e),VIe(this,e)),!this.show||this._state!==mr.COMPLETE)return;this._batchTableOffsetsUpdated||V$(this,e),this._recomputeBoundingSpheres&&LIe(this,e);let n=this.appearance,i=n.material,o=!1,r=!1;this._appearance!==n?(this._appearance=n,this._material=i,o=!0,r=!0):this._material!==i&&(this._material=i,r=!0);let s=this.depthFailAppearance,a=u(s)?s.material:void 0;this._depthFailAppearance!==s?(this._depthFailAppearance=s,this._depthFailMaterial=a,o=!0,r=!0):this._depthFailMaterial!==a&&(this._depthFailMaterial=a,r=!0);let c=this._appearance.isTranslucent();this._translucent!==c&&(this._translucent=c,o=!0),u(this._material)&&this._material.update(t);let l=n.closed&&c;o&&y(this._createRenderStatesFunction,UIe)(this,t,n,l),r&&y(this._createShaderProgramFunction,kIe)(this,e,n),(o||r)&&y(this._createCommandsFunction,zIe)(this,n,i,c,l,this._colorCommands,this._pickCommands,e),y(this._updateAndQueueCommandsFunction,HIe)(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,l)};var GIe=new se,WIe=new se;function Y$(e,t,n){if(n===nn.TOP){let i=se.clone(e,GIe),o=se.clone(e,WIe);o.center=h.add(o.center,t,o.center),e=se.union(i,o,e)}else n===nn.ALL&&(e.center=h.add(e.center,t,e.center));return e}function jIe(e,t,n){return function(){let i=e.getBatchedAttribute(t,n),o=e.attributes[n],r=o.componentsPerAttribute,s=q.createTypedArray(o.componentDatatype,r);return u(i.constructor.pack)?i.constructor.pack(i,s,0):s[0]=i,s}}function YIe(e,t,n,i,o){return function(r){let s=H$(r);e.setBatchedAttribute(t,n,s),o==="offset"&&(i._recomputeBoundingSpheres=!0,i._batchTableOffsetsUpdated=!1)}}var qIe=new h;function XIe(e,t,n){t.boundingSphere={get:function(){let i=e._instanceBoundingSpheres[n];if(u(i)){i=i.clone();let o=e.modelMatrix,r=t.offset;u(r)&&Y$(i,h.fromArray(r.get(),0,qIe),e._offsetInstanceExtend[n]),u(o)&&(i=se.transform(i,o))}return i}},t.boundingSphereCV={get:function(){return e._instanceBoundingSpheresCV[n]}}}function KIe(e,t,n){t.pickId={get:function(){return e._pickIds[n]}}}pr.prototype.getGeometryInstanceAttributes=function(e){let t=-1,n=this._lastPerInstanceAttributeIndex,i=this._instanceIds,o=i.length;for(let l=0;l<o;++l){let f=(n+l)%o;if(e===i[f]){t=f;break}}if(t===-1)return;let r=this._perInstanceAttributeCache[t];if(u(r))return r;let s=this._batchTable,a=this._batchTableAttributeIndices;r={};let c={};for(let l in a)if(a.hasOwnProperty(l)){let f=a[l];c[l]={get:jIe(s,t,f),set:YIe(s,t,f,this,l)}}return XIe(this,c,t),KIe(this,c,t),Object.defineProperties(r,c),this._lastPerInstanceAttributeIndex=t,this._perInstanceAttributeCache[t]=r,r};pr.prototype.isDestroyed=function(){return!1};pr.prototype.destroy=function(){let e,t;this._sp=this._sp&&this._sp.destroy(),this._spDepthFail=this._spDepthFail&&this._spDepthFail.destroy();let n=this._va;for(e=n.length,t=0;t<e;++t)n[t].destroy();this._va=void 0;let i=this._pickIds;for(e=i.length,t=0;t<e;++t)i[t].destroy();return this._pickIds=void 0,this._batchTable=this._batchTable&&this._batchTable.destroy(),this._instanceIds=void 0,this._perInstanceAttributeCache=void 0,this._attributeLocations=void 0,le(this)};function kI(e,t,n,i){e._completeLoad(t,n,i)}var Dn=pr;function ZIe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.value=e.value}var Va=ZIe;var lT=`#ifdef TEXTURE_COORDINATES +#ifdef SPHERICAL +in vec4 v_sphericalExtents; +#else // SPHERICAL +in vec2 v_inversePlaneExtents; +in vec4 v_westPlane; +in vec4 v_southPlane; +#endif // SPHERICAL +in vec3 v_uvMinAndSphericalLongitudeRotation; +in vec3 v_uMaxAndInverseDistance; +in vec3 v_vMaxAndInverseDistance; +#endif // TEXTURE_COORDINATES + +#ifdef PER_INSTANCE_COLOR +in vec4 v_color; +#endif + +#ifdef NORMAL_EC +vec3 getEyeCoordinate3FromWindowCoordinate(vec2 fragCoord, float logDepthOrDepth) { + vec4 eyeCoordinate = czm_windowToEyeCoordinates(fragCoord, logDepthOrDepth); + return eyeCoordinate.xyz / eyeCoordinate.w; +} + +vec3 vectorFromOffset(vec4 eyeCoordinate, vec2 positiveOffset) { + vec2 glFragCoordXY = gl_FragCoord.xy; + // Sample depths at both offset and negative offset + float upOrRightLogDepth = czm_unpackDepth(texture(czm_globeDepthTexture, (glFragCoordXY + positiveOffset) / czm_viewport.zw)); + float downOrLeftLogDepth = czm_unpackDepth(texture(czm_globeDepthTexture, (glFragCoordXY - positiveOffset) / czm_viewport.zw)); + // Explicitly evaluate both paths + // Necessary for multifrustum and for edges of the screen + bvec2 upOrRightInBounds = lessThan(glFragCoordXY + positiveOffset, czm_viewport.zw); + float useUpOrRight = float(upOrRightLogDepth > 0.0 && upOrRightInBounds.x && upOrRightInBounds.y); + float useDownOrLeft = float(useUpOrRight == 0.0); + vec3 upOrRightEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY + positiveOffset, upOrRightLogDepth); + vec3 downOrLeftEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY - positiveOffset, downOrLeftLogDepth); + return (upOrRightEC - (eyeCoordinate.xyz / eyeCoordinate.w)) * useUpOrRight + ((eyeCoordinate.xyz / eyeCoordinate.w) - downOrLeftEC) * useDownOrLeft; +} +#endif // NORMAL_EC + +void main(void) +{ +#ifdef REQUIRES_EC + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)); + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); +#endif + +#ifdef REQUIRES_WC + vec4 worldCoordinate4 = czm_inverseView * eyeCoordinate; + vec3 worldCoordinate = worldCoordinate4.xyz / worldCoordinate4.w; +#endif + +#ifdef TEXTURE_COORDINATES + vec2 uv; +#ifdef SPHERICAL + // Treat world coords as a sphere normal for spherical coordinates + vec2 sphericalLatLong = czm_approximateSphericalCoordinates(worldCoordinate); + sphericalLatLong.y += v_uvMinAndSphericalLongitudeRotation.z; + sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); + uv.x = (sphericalLatLong.y - v_sphericalExtents.y) * v_sphericalExtents.w; + uv.y = (sphericalLatLong.x - v_sphericalExtents.x) * v_sphericalExtents.z; +#else // SPHERICAL + // Unpack planes and transform to eye space + uv.x = czm_planeDistance(v_westPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.x; + uv.y = czm_planeDistance(v_southPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.y; +#endif // SPHERICAL +#endif // TEXTURE_COORDINATES + +#ifdef PICK +#ifdef CULL_FRAGMENTS + // When classifying translucent geometry, logDepthOrDepth == 0.0 + // indicates a region that should not be classified, possibly due to there + // being opaque pixels there in another buffer. + // Check for logDepthOrDepth != 0.0 to make sure this should be classified. + if (0.0 <= uv.x && uv.x <= 1.0 && 0.0 <= uv.y && uv.y <= 1.0 || logDepthOrDepth != 0.0) { + out_FragColor.a = 1.0; // 0.0 alpha leads to discard from ShaderSource.createPickFragmentShaderSource + czm_writeDepthClamp(); + } +#else // CULL_FRAGMENTS + out_FragColor.a = 1.0; +#endif // CULL_FRAGMENTS +#else // PICK + +#ifdef CULL_FRAGMENTS + // When classifying translucent geometry, logDepthOrDepth == 0.0 + // indicates a region that should not be classified, possibly due to there + // being opaque pixels there in another buffer. + if (uv.x <= 0.0 || 1.0 <= uv.x || uv.y <= 0.0 || 1.0 <= uv.y || logDepthOrDepth == 0.0) { + discard; + } +#endif + +#ifdef NORMAL_EC + // Compute normal by sampling adjacent pixels in 2x2 block in screen space + vec3 downUp = vectorFromOffset(eyeCoordinate, vec2(0.0, 1.0)); + vec3 leftRight = vectorFromOffset(eyeCoordinate, vec2(1.0, 0.0)); + vec3 normalEC = normalize(cross(leftRight, downUp)); +#endif + + +#ifdef PER_INSTANCE_COLOR + + vec4 color = czm_gammaCorrect(v_color); +#ifdef FLAT + out_FragColor = color; +#else // FLAT + czm_materialInput materialInput; + materialInput.normalEC = normalEC; + materialInput.positionToEyeEC = -eyeCoordinate.xyz; + czm_material material = czm_getDefaultMaterial(materialInput); + material.diffuse = color.rgb; + material.alpha = color.a; + + out_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC); +#endif // FLAT + + // Premultiply alpha. Required for classification primitives on translucent globe. + out_FragColor.rgb *= out_FragColor.a; + +#else // PER_INSTANCE_COLOR + + // Material support. + // USES_ is distinct from REQUIRES_, because some things are dependencies of each other or + // dependencies for culling but might not actually be used by the material. + + czm_materialInput materialInput; + +#ifdef USES_NORMAL_EC + materialInput.normalEC = normalEC; +#endif + +#ifdef USES_POSITION_TO_EYE_EC + materialInput.positionToEyeEC = -eyeCoordinate.xyz; +#endif + +#ifdef USES_TANGENT_TO_EYE + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(worldCoordinate, normalEC); +#endif + +#ifdef USES_ST + // Remap texture coordinates from computed (approximately aligned with cartographic space) to the desired + // texture coordinate system, which typically forms a tight oriented bounding box around the geometry. + // Shader is provided a set of reference points for remapping. + materialInput.st.x = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_uMaxAndInverseDistance.xy, uv) * v_uMaxAndInverseDistance.z; + materialInput.st.y = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_vMaxAndInverseDistance.xy, uv) * v_vMaxAndInverseDistance.z; +#endif + + czm_material material = czm_getMaterial(materialInput); + +#ifdef FLAT + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#else // FLAT + out_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC); +#endif // FLAT + + // Premultiply alpha. Required for classification primitives on translucent globe. + out_FragColor.rgb *= out_FragColor.a; + +#endif // PER_INSTANCE_COLOR + czm_writeDepthClamp(); +#endif // PICK +} +`;function Hu(e,t,n){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};let i=new R8;i.requiresTextureCoordinates=e,i.requiresEC=!n.flat;let o=new R8;if(o.requiresTextureCoordinates=e,n instanceof on)i.requiresNormalEC=!n.flat;else{let r=`${n.material.shaderSource} +${n.fragmentShaderSource}`;i.normalEC=r.indexOf("materialInput.normalEC")!==-1||r.indexOf("czm_getDefaultMaterial")!==-1,i.positionToEyeEC=r.indexOf("materialInput.positionToEyeEC")!==-1,i.tangentToEyeMatrix=r.indexOf("materialInput.tangentToEyeMatrix")!==-1,i.st=r.indexOf("materialInput.st")!==-1}this._colorShaderDependencies=i,this._pickShaderDependencies=o,this._appearance=n,this._extentsCulling=e,this._planarExtents=t}Hu.prototype.createFragmentShader=function(e){let t=this._appearance,n=this._colorShaderDependencies,i=[];!e&&!this._planarExtents&&i.push("SPHERICAL"),n.requiresEC&&i.push("REQUIRES_EC"),n.requiresWC&&i.push("REQUIRES_WC"),n.requiresTextureCoordinates&&i.push("TEXTURE_COORDINATES"),this._extentsCulling&&i.push("CULL_FRAGMENTS"),n.requiresNormalEC&&i.push("NORMAL_EC"),t instanceof on&&i.push("PER_INSTANCE_COLOR"),n.normalEC&&i.push("USES_NORMAL_EC"),n.positionToEyeEC&&i.push("USES_POSITION_TO_EYE_EC"),n.tangentToEyeMatrix&&i.push("USES_TANGENT_TO_EYE"),n.st&&i.push("USES_ST"),t.flat&&i.push("FLAT");let o="";return t instanceof on||(o=t.material.shaderSource),new ke({defines:i,sources:[o,lT]})};Hu.prototype.createPickFragmentShader=function(e){let t=this._pickShaderDependencies,n=["PICK"];return!e&&!this._planarExtents&&n.push("SPHERICAL"),t.requiresEC&&n.push("REQUIRES_EC"),t.requiresWC&&n.push("REQUIRES_WC"),t.requiresTextureCoordinates&&n.push("TEXTURE_COORDINATES"),this._extentsCulling&&n.push("CULL_FRAGMENTS"),new ke({defines:n,sources:[lT],pickColorQualifier:"in"})};Hu.prototype.createVertexShader=function(e,t,n,i){return eee(this._colorShaderDependencies,this._planarExtents,n,e,t,this._appearance,i,this._projectionExtentDefines)};Hu.prototype.createPickVertexShader=function(e,t,n,i){return eee(this._pickShaderDependencies,this._planarExtents,n,e,t,void 0,i,this._projectionExtentDefines)};var q$=new h,X$=new he,K$={high:0,low:0};function eee(e,t,n,i,o,r,s,a){let c=i.slice();if(a.eastMostYhighDefine===""){let l=X$;l.longitude=P.PI,l.latitude=0,l.height=0;let f=s.project(l,q$),d=Hn.encode(f.x,K$);a.eastMostYhighDefine=`EAST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.eastMostYlowDefine=`EAST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`;let p=X$;p.longitude=-P.PI,p.latitude=0,p.height=0;let g=s.project(p,q$);d=Hn.encode(g.x,K$),a.westMostYhighDefine=`WEST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.westMostYlowDefine=`WEST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`}return n&&(c.push(a.eastMostYhighDefine),c.push(a.eastMostYlowDefine),c.push(a.westMostYhighDefine),c.push(a.westMostYlowDefine)),u(r)&&r instanceof on&&c.push("PER_INSTANCE_COLOR"),e.requiresTextureCoordinates&&(c.push("TEXTURE_COORDINATES"),t||n||c.push("SPHERICAL"),n&&c.push("COLUMBUS_VIEW_2D")),new ke({defines:c,sources:[o]})}function R8(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}Object.defineProperties(R8.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(e){this._requiresEC=e||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(e){this._requiresWC=e||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(e){this._requiresNormalEC=e||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(e){this._requiresTextureCoordinates=e||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(e){this.requiresNormalEC=e,this._usesNormalEC=e},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(e){this.requiresWC=e,this.requiresNormalEC=e,this._usesTangentToEyeMat=e},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(e){this.requiresEC=e,this._usesPositionToEyeEC=e},get:function(){return this._usesPositionToEyeEC}},st:{set:function(e){this.requiresTextureCoordinates=e,this._usesSt=e},get:function(){return this._usesSt}}});function Z$(e,t,n){return Math.abs((t.y-e.y)*n.x-(t.x-e.x)*n.y+t.x*e.y-t.y*e.x)/H.distance(t,e)}var JIe=[new H,new H,new H,new H];function tee(e,t){let n=JIe,i=H.unpack(t,0,n[0]),o=H.unpack(t,2,n[1]),r=H.unpack(t,4,n[2]);e.uMaxVmax=new Va({componentDatatype:q.FLOAT,componentsPerAttribute:4,normalize:!1,value:[o.x,o.y,r.x,r.y]});let s=1/Z$(i,o,r),a=1/Z$(i,r,o);e.uvMinAndExtents=new Va({componentDatatype:q.FLOAT,componentsPerAttribute:4,normalize:!1,value:[i.x,i.y,s,a]})}var nee=new he,iee=new h,QIe=new h,$Ie=new h,sV={high:0,low:0};function oee(e,t,n){let i=nee;i.height=0,i.longitude=e.west,i.latitude=e.south;let o=t.project(i,iee);i.latitude=e.north;let r=t.project(i,QIe);i.longitude=e.east,i.latitude=e.south;let s=t.project(i,$Ie),a=[0,0,0,0],c=[0,0,0,0],l=Hn.encode(o.x,sV);a[0]=l.high,c[0]=l.low,l=Hn.encode(o.y,sV),a[1]=l.high,c[1]=l.low,l=Hn.encode(r.y,sV),a[2]=l.high,c[2]=l.low,l=Hn.encode(s.x,sV),a[3]=l.high,c[3]=l.low,n.planes2D_HIGH=new Va({componentDatatype:q.FLOAT,componentsPerAttribute:4,normalize:!1,value:a}),n.planes2D_LOW=new Va({componentDatatype:q.FLOAT,componentsPerAttribute:4,normalize:!1,value:c})}var ePe=new M,tPe=new M,J$=new h,nPe=new he,iPe=[new he,new he,new he,new he,new he,new he,new he,new he];function oPe(e,t,n,i,o,r){let s=ce.center(e,nPe);s.height=n;let a=he.toCartesian(s,t,J$),c=Ot.eastNorthUpToFixedFrame(a,t,ePe),l=M.inverse(c,tPe),f=e.west,d=e.east,p=e.north,g=e.south,m=iPe;m[0].latitude=g,m[0].longitude=f,m[1].latitude=p,m[1].longitude=f,m[2].latitude=p,m[2].longitude=d,m[3].latitude=g,m[3].longitude=d;let A=(f+d)*.5,x=(p+g)*.5;m[4].latitude=g,m[4].longitude=A,m[5].latitude=p,m[5].longitude=A,m[6].latitude=x,m[6].longitude=f,m[7].latitude=x,m[7].longitude=d;let C=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,E=Number.POSITIVE_INFINITY,S=Number.NEGATIVE_INFINITY;for(let O=0;O<8;O++){m[O].height=n;let L=he.toCartesian(m[O],t,J$);M.multiplyByPoint(l,L,L),L.z=0,C=Math.min(C,L.x),T=Math.max(T,L.x),E=Math.min(E,L.y),S=Math.max(S,L.y)}let D=i;D.x=C,D.y=E,D.z=0,M.multiplyByPoint(c,D,D);let w=o;w.x=T,w.y=E,w.z=0,M.multiplyByPoint(c,w,w),h.subtract(w,D,o);let R=r;R.x=C,R.y=S,R.z=0,M.multiplyByPoint(c,R,R),h.subtract(R,D,r)}var rPe=new h,sPe=new h,aPe=new Hn;Hu.getPlanarTextureCoordinateAttributes=function(e,t,n,i,o){let r=iee,s=rPe,a=sPe;oPe(e,n,y(o,0),r,s,a);let c={};tee(c,t);let l=Hn.fromCartesian(r,aPe);return c.southWest_HIGH=new Va({componentDatatype:q.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(l.high,[0,0,0])}),c.southWest_LOW=new Va({componentDatatype:q.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(l.low,[0,0,0])}),c.eastward=new Va({componentDatatype:q.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(s,[0,0,0])}),c.northward=new Va({componentDatatype:q.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(a,[0,0,0])}),oee(e,i,c),c};var cPe=new h;function Q$(e,t,n,i){let o=nee;o.latitude=e,o.longitude=t,o.height=0;let r=he.toCartesian(o,n,cPe),s=Math.sqrt(r.x*r.x+r.y*r.y),a=P.fastApproximateAtan2(s,r.z),c=P.fastApproximateAtan2(r.x,r.y);return i.x=a,i.y=c,i}var $$=new H;Hu.getSphericalExtentGeometryInstanceAttributes=function(e,t,n,i){let o=Q$(e.south,e.west,n,$$),r=o.x,s=o.y,a=Q$(e.north,e.east,n,$$),c=a.x,l=a.y,f=0;s>l&&(f=P.PI-s,s=-P.PI,l+=f),r-=P.EPSILON5,s-=P.EPSILON5,c+=P.EPSILON5,l+=P.EPSILON5;let d=1/(l-s),p=1/(c-r),g={sphericalExtents:new Va({componentDatatype:q.FLOAT,componentsPerAttribute:4,normalize:!1,value:[r,s,p,d]}),longitudeRotation:new Va({componentDatatype:q.FLOAT,componentsPerAttribute:1,normalize:!1,value:[f]})};return tee(g,t),oee(e,i,g),g};Hu.hasAttributesForTextureCoordinatePlanes=function(e){return u(e.southWest_HIGH)&&u(e.southWest_LOW)&&u(e.northward)&&u(e.eastward)&&u(e.planes2D_HIGH)&&u(e.planes2D_LOW)&&u(e.uMaxVmax)&&u(e.uvMinAndExtents)};Hu.hasAttributesForSphericalExtents=function(e){return u(e.sphericalExtents)&&u(e.longitudeRotation)&&u(e.planes2D_HIGH)&&u(e.planes2D_LOW)&&u(e.uMaxVmax)&&u(e.uvMinAndExtents)};function lPe(e){return Math.max(e.width,e.height)>Hu.MAX_WIDTH_FOR_PLANAR_EXTENTS}Hu.shouldUseSphericalCoordinates=function(e){return lPe(e)};Hu.MAX_WIDTH_FOR_PLANAR_EXTENTS=P.toRadians(1);var Gl=Hu;var uPe={NEVER:ee.NEVER,LESS:ee.LESS,EQUAL:ee.EQUAL,LESS_OR_EQUAL:ee.LEQUAL,GREATER:ee.GREATER,NOT_EQUAL:ee.NOTEQUAL,GREATER_OR_EQUAL:ee.GEQUAL,ALWAYS:ee.ALWAYS},kn=Object.freeze(uPe);var fPe={ZERO:ee.ZERO,KEEP:ee.KEEP,REPLACE:ee.REPLACE,INCREMENT:ee.INCR,DECREMENT:ee.DECR,INVERT:ee.INVERT,INCREMENT_WRAP:ee.INCR_WRAP,DECREMENT_WRAP:ee.DECR_WRAP},ut=Object.freeze(fPe);var aV={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15};aV.setCesium3DTileBit=function(){return{enabled:!0,frontFunction:kn.ALWAYS,frontOperation:{fail:ut.KEEP,zFail:ut.KEEP,zPass:ut.REPLACE},backFunction:kn.ALWAYS,backOperation:{fail:ut.KEEP,zFail:ut.KEEP,zPass:ut.REPLACE},reference:aV.CESIUM_3D_TILE_MASK,mask:aV.CESIUM_3D_TILE_MASK}};var Bt=Object.freeze(aV);function V0(e){e=y(e,y.EMPTY_OBJECT);let t=e.geometryInstances;this.geometryInstances=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Un.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=y(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1;let n=this;this._readyPromise=new Promise((i,o)=>{n._completeLoad=()=>{if(this._ready)return;this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let r=this._error;u(r)?o(r):i(this)}}),this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}Object.defineProperties(V0.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});V0.isSupported=function(e){return e.context.stencilBuffer};function uT(e,t){let n=t?kn.EQUAL:kn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:n,frontOperation:{fail:ut.KEEP,zFail:ut.DECREMENT_WRAP,zPass:ut.KEEP},backFunction:n,backOperation:{fail:ut.KEEP,zFail:ut.INCREMENT_WRAP,zPass:ut.KEEP},reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Fa.LESS_OR_EQUAL},depthMask:!1}}function M8(e){return{stencilTest:{enabled:e,frontFunction:kn.NOT_EQUAL,frontOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},backFunction:kn.NOT_EQUAL,backOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:un.PRE_MULTIPLIED_ALPHA_BLEND}}var dPe={stencilTest:{enabled:!0,frontFunction:kn.NOT_EQUAL,frontOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},backFunction:kn.NOT_EQUAL,backOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function hPe(e,t,n,i){if(u(e._rsStencilDepthPass))return;let o=!e.debugShowShadowVolume;e._rsStencilDepthPass=Ue.fromCache(uT(o,!1)),e._rsStencilDepthPass3DTiles=Ue.fromCache(uT(o,!0)),e._rsColorPass=Ue.fromCache(M8(o,!1)),e._rsPickPass=Ue.fromCache(dPe)}function mPe(e,t){if(!e.compressVertices)return t;if(t.search(/in\s+vec3\s+extrudeDirection;/g)!==-1){let n="compressedAttributes",i=`in vec2 ${n};`,o=`vec3 extrudeDirection; +`,r=` extrudeDirection = czm_octDecode(${n}, 65535.0); +`,s=t;s=s.replace(/in\s+vec3\s+extrudeDirection;/g,""),s=ke.replaceMain(s,"czm_non_compressed_main");let a=`void main() +{ +${r} czm_non_compressed_main(); +}`;return[i,o,s,a].join(` +`)}}function pPe(e,t){let n=t.context,i=e._primitive,o=OI;o=e._primitive._batchTable.getVertexShaderCallback()(o),o=Dn._appendDistanceDisplayConditionToShader(i,o),o=Dn._modifyShaderPosition(e,o,t.scene3DOnly),o=Dn._updateColorAttribute(i,o);let r=e._hasPlanarExtentsAttributes,s=r||e._hasSphericalExtentsAttribute;e._extruded&&(o=mPe(i,o));let a=e._extruded?"EXTRUDED_GEOMETRY":"",c=new ke({defines:[a],sources:[o]}),l=new ke({sources:[eg]}),f=e._primitive._attributeLocations,d=new Gl(s,r,e.appearance);if(e._spStencil=Xt.replaceCache({context:n,shaderProgram:e._spStencil,vertexShaderSource:c,fragmentShaderSource:l,attributeLocations:f}),e._primitive.allowPicking){let m=ke.createPickVertexShaderSource(o);m=Dn._appendShowToShader(i,m),m=Dn._updatePickColorAttribute(m);let A=d.createPickFragmentShader(!1),x=d.createPickVertexShader([a],m,!1,t.mapProjection);if(e._spPick=Xt.replaceCache({context:n,shaderProgram:e._spPick,vertexShaderSource:x,fragmentShaderSource:A,attributeLocations:f}),s){let C=n.shaderCache.getDerivedShaderProgram(e._spPick,"2dPick");if(!u(C)){let T=d.createPickFragmentShader(!0),E=d.createPickVertexShader([a],m,!0,t.mapProjection);C=n.shaderCache.createDerivedShaderProgram(e._spPick,"2dPick",{vertexShaderSource:E,fragmentShaderSource:T,attributeLocations:f})}e._spPick2D=C}}else e._spPick=Xt.fromCache({context:n,vertexShaderSource:c,fragmentShaderSource:l,attributeLocations:f});o=Dn._appendShowToShader(i,o),c=new ke({defines:[a],sources:[o]}),e._sp=Xt.replaceCache({context:n,shaderProgram:e._sp,vertexShaderSource:c,fragmentShaderSource:l,attributeLocations:f});let p=d.createFragmentShader(!1),g=d.createVertexShader([a],o,!1,t.mapProjection);if(e._spColor=Xt.replaceCache({context:n,shaderProgram:e._spColor,vertexShaderSource:g,fragmentShaderSource:p,attributeLocations:f}),s){let m=n.shaderCache.getDerivedShaderProgram(e._spColor,"2dColor");if(!u(m)){let A=d.createFragmentShader(!0),x=d.createVertexShader([a],o,!0,t.mapProjection);m=n.shaderCache.createDerivedShaderProgram(e._spColor,"2dColor",{vertexShaderSource:x,fragmentShaderSource:A,attributeLocations:f})}e._spColor2D=m}}function _Pe(e,t){let n=e._primitive,i=n._va.length*2;t.length=i;let o,r,s,a=0,c=n._batchTable.getUniformMapCallback()(e._uniformMap),l=e._needs2DShader;for(o=0;o<i;o+=2){let g=n._va[a++];r=t[o],u(r)||(r=t[o]=new tt({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsStencilDepthPass,r.shaderProgram=e._sp,r.uniformMap=c,r.pass=Ee.TERRAIN_CLASSIFICATION,s=tt.shallowClone(r,r.derivedCommands.tileset),s.renderState=e._rsStencilDepthPass3DTiles,s.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,r=t[o+1],u(r)||(r=t[o+1]=new tt({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsColorPass,r.shaderProgram=e._spColor,r.pass=Ee.TERRAIN_CLASSIFICATION;let A=e.appearance.material;if(u(A)&&(c=_t(c,A._uniforms)),r.uniformMap=c,s=tt.shallowClone(r,r.derivedCommands.tileset),s.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,l){let x=tt.shallowClone(r,r.derivedCommands.appearance2D);x.shaderProgram=e._spColor2D,r.derivedCommands.appearance2D=x,x=tt.shallowClone(s,s.derivedCommands.appearance2D),x.shaderProgram=e._spColor2D,s.derivedCommands.appearance2D=x}}let f=e._commandsIgnoreShow,d=e._spStencil,p=0;i=f.length=i/2;for(let g=0;g<i;++g){let m=f[g]=tt.shallowClone(t[p],f[g]);m.shaderProgram=d,m.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,p+=2}}function gPe(e,t){let n=e._usePickOffsets,i=e._primitive,o=i._va.length*2,r,s=0,a;n&&(r=i._pickOffsets,o=r.length*2),t.length=o;let c,l,f,d=0,p=i._batchTable.getUniformMapCallback()(e._uniformMap),g=e._needs2DShader;for(c=0;c<o;c+=2){let m=i._va[d++];if(n&&(a=r[s++],m=i._va[a.index]),l=t[c],u(l)||(l=t[c]=new tt({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),l.vertexArray=m,l.renderState=e._rsStencilDepthPass,l.shaderProgram=e._sp,l.uniformMap=p,l.pass=Ee.TERRAIN_CLASSIFICATION,n&&(l.offset=a.offset,l.count=a.count),f=tt.shallowClone(l,l.derivedCommands.tileset),f.renderState=e._rsStencilDepthPass3DTiles,f.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,l.derivedCommands.tileset=f,l=t[c+1],u(l)||(l=t[c+1]=new tt({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),l.vertexArray=m,l.renderState=e._rsPickPass,l.shaderProgram=e._spPick,l.uniformMap=p,l.pass=Ee.TERRAIN_CLASSIFICATION,n&&(l.offset=a.offset,l.count=a.count),f=tt.shallowClone(l,l.derivedCommands.tileset),f.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,l.derivedCommands.tileset=f,g){let A=tt.shallowClone(l,l.derivedCommands.pick2D);A.shaderProgram=e._spPick2D,l.derivedCommands.pick2D=A,A=tt.shallowClone(f,f.derivedCommands.pick2D),A.shaderProgram=e._spPick2D,f.derivedCommands.pick2D=A}}}function yPe(e,t,n,i,o,r,s){_Pe(e,r),gPe(e,s)}function ree(e,t){return Math.floor(e%t/2)}function B8(e,t,n,i,o,r){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,e.debugShowBoundingVolume=r,t.commandList.push(e)}function see(e,t,n,i,o){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,t.commandList.push(e)}function APe(e,t,n,i,o,r,s,a){let c=e._primitive;Dn._updateBoundingVolumes(c,t,o);let l;t.mode===te.SCENE3D?l=c._boundingSphereWC:t.mode===te.COLUMBUS_VIEW?l=c._boundingSphereCV:t.mode===te.SCENE2D&&u(c._boundingSphere2D)?l=c._boundingSphere2D:u(c._boundingSphereMorph)&&(l=c._boundingSphereMorph);let f=e.classificationType,d=f!==Un.CESIUM_3D_TILE,p=f!==Un.TERRAIN,g=t.passes,m,A,x;if(g.render){let C=n.length;for(m=0;m<C;++m)A=l[ree(m,C)],d&&(x=n[m],B8(x,t,o,r,A,s)),p&&(x=n[m].derivedCommands.tileset,B8(x,t,o,r,A,s));if(t.invertClassification){let T=e._commandsIgnoreShow,E=T.length;for(m=0;m<E;++m)A=l[m],x=T[m],B8(x,t,o,r,A,s)}}if(g.pick){let C=i.length,T=c._pickOffsets;for(m=0;m<C;++m){let E=T[ree(m,C)];A=l[E.index],d&&(x=i[m],see(x,t,o,r,A)),p&&(x=i[m].derivedCommands.tileset,see(x,t,o,r,A))}}}V0.prototype.update=function(e){if(!u(this._primitive)&&!u(this.geometryInstances))return;let t=this.appearance;u(t)&&u(t.material)&&t.material.update(e.context);let n=this,i=this._primitiveOptions;if(!u(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s,a,c,l=!1,f=!0,d,p=!1,g=!1;for(r>0&&(c=o[0].attributes,p=Gl.hasAttributesForSphericalExtents(c),g=Gl.hasAttributesForTextureCoordinatePlanes(c),d=c.color),s=0;s<r;s++){a=o[s];let A=a.attributes.color;u(A)&&(l=!0),f=f&&u(A)&&Nt.equals(d,A)}if(!f&&!p&&!g)throw new de("All GeometryInstances must have the same color attribute except via GroundPrimitives");l&&!u(t)&&(t=new on({flat:!0}),this.appearance=t),this._usePickOffsets=!p&&!g,this._hasSphericalExtentsAttribute=p,this._hasPlanarExtentsAttributes=g,this._hasPerColorAttribute=l;let m=new Array(r);for(s=0;s<r;++s)a=o[s],m[s]=new At({geometry:a.geometry,attributes:a.attributes,modelMatrix:a.modelMatrix,id:a.id,pickPrimitive:y(this._pickPrimitive,n)});i.appearance=t,i.geometryInstances=m,u(this._createBoundingVolumeFunction)&&(i._createBoundingVolumeFunction=function(A,x){n._createBoundingVolumeFunction(A,x)}),i._createRenderStatesFunction=function(A,x,C,T){hPe(n,x)},i._createShaderProgramFunction=function(A,x,C){pPe(n,x)},i._createCommandsFunction=function(A,x,C,T,E,S,D){yPe(n,void 0,void 0,!0,!1,S,D)},u(this._updateAndQueueCommandsFunction)?i._updateAndQueueCommandsFunction=function(A,x,C,T,E,S,D,w){n._updateAndQueueCommandsFunction(A,x,C,T,E,S,D,w)}:i._updateAndQueueCommandsFunction=function(A,x,C,T,E,S,D,w){APe(n,x,C,T,E,S,D,w)},this._primitive=new Dn(i)}this.debugShowShadowVolume&&!this._debugShowShadowVolume&&this._ready?(this._debugShowShadowVolume=!0,this._rsStencilDepthPass=Ue.fromCache(uT(!1,!1)),this._rsStencilDepthPass3DTiles=Ue.fromCache(uT(!1,!0)),this._rsColorPass=Ue.fromCache(M8(!1))):!this.debugShowShadowVolume&&this._debugShowShadowVolume&&(this._debugShowShadowVolume=!1,this._rsStencilDepthPass=Ue.fromCache(uT(!0,!1)),this._rsStencilDepthPass3DTiles=Ue.fromCache(uT(!0,!0)),this._rsColorPass=Ue.fromCache(M8(!0))),this._primitive.appearance!==t&&(this._primitive.appearance=t),this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{u(this._primitive)&&this._primitive.ready&&this._completeLoad()})};V0.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};V0.prototype.isDestroyed=function(){return!1};V0.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,le(this)};var fT=V0;var xPe={u_globeMinimumAltitude:function(){return 55e3}};function sl(e){e=y(e,y.EMPTY_OBJECT);let t=e.appearance,n=e.geometryInstances;if(!u(t)&&u(n)){let r=Array.isArray(n)?n:[n],s=r.length;for(let a=0;a<s;a++){let c=r[a].attributes;if(u(c)&&u(c.color)){t=new on({flat:!0});break}}}this.appearance=t,this.geometryInstances=e.geometryInstances,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Un.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._boundingVolumes=[],this._boundingVolumes2D=[],this._ready=!1;let i=this;this._readyPromise=new Promise((r,s)=>{i._completeLoad=()=>{if(this._ready)return;this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let a=this._error;u(a)?s(a):r(this)}}),this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=fi._defaultMaxTerrainHeight,this._minTerrainHeight=fi._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;let o=this;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:o,_extruded:!0,_uniformMap:xPe}}Object.defineProperties(sl.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}}});sl.isSupported=fT.isSupported;function aee(e){return function(t,n){let i=n.maximumRadius,o=i/Math.cos(t*.5)-i;return e._maxHeight+o}}function cee(e){return function(t,n){return e._minHeight}}var CPe=new h,TPe=new h,EPe=new h,bPe=new he,SPe=new ce;function cV(e,t){let n=e.mapProjection.ellipsoid;if(!u(t.attributes)||!u(t.attributes.position3DHigh))return u(t.rectangle)?t.rectangle:void 0;let i=t.attributes.position3DHigh.values,o=t.attributes.position3DLow.values,r=i.length,s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY;for(let d=0;d<r;d+=3){let p=h.unpack(i,d,CPe),g=h.unpack(o,d,TPe),m=h.add(p,g,EPe),A=n.cartesianToCartographic(m,bPe),x=A.latitude,C=A.longitude;s=Math.min(s,x),a=Math.min(a,C),c=Math.max(c,x),l=Math.max(l,C)}let f=SPe;return f.north=c,f.south=s,f.east=l,f.west=a,f}function DPe(e,t,n){let i=fi.getMinimumMaximumHeights(t,n);e._minTerrainHeight=i.minimumTerrainHeight,e._maxTerrainHeight=i.maximumTerrainHeight}function vPe(e,t,n){let i=t.mapProjection.ellipsoid,o=cV(t,n),r=Rn.fromRectangle(o,e._minHeight,e._maxHeight,i);if(e._boundingVolumes.push(r),!t.scene3DOnly){let s=t.mapProjection,a=se.fromRectangleWithHeights2D(o,s,e._maxHeight,e._minHeight);h.fromElements(a.center.z,a.center.x,a.center.y,a.center),e._boundingVolumes2D.push(a)}}function L8(e,t){return Math.floor(e%t/2)}function N8(e,t,n,i,o,r,s){let a=e._primitive;n.mode!==te.SCENE3D&&t.shaderProgram===a._spColor&&a._needs2DShader&&(t=t.derivedCommands.appearance2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function lee(e,t,n,i,o,r){let s=e._primitive;n.mode!==te.SCENE3D&&t.shaderProgram===s._spPick&&s._needs2DShader&&(t=t.derivedCommands.pick2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,n.commandList.push(t)}function wPe(e,t,n,i,o,r,s,a){let c;t.mode===te.SCENE3D?c=e._boundingVolumes:c=e._boundingVolumes2D;let l=e.classificationType,f=l!==Un.CESIUM_3D_TILE,d=l!==Un.TERRAIN,p=t.passes,g=e._primitive,m,A,x;if(p.render){let C=n.length;for(m=0;m<C;++m)A=c[L8(m,C)],f&&(x=n[m],N8(e,x,t,o,r,A,s)),d&&(x=n[m].derivedCommands.tileset,N8(e,x,t,o,r,A,s));if(t.invertClassification){let T=g._commandsIgnoreShow,E=T.length;for(m=0;m<E;++m)A=c[m],x=T[m],N8(e,x,t,o,r,A,s)}}if(p.pick){let C=i.length,T;for(e._useFragmentCulling||(T=g._primitive._pickOffsets),m=0;m<C;++m){if(A=c[L8(m,C)],!e._useFragmentCulling){let E=T[L8(m,C)];A=c[E.index]}f&&(x=i[m],lee(e,x,t,o,r,A)),d&&(x=i[m].derivedCommands.tileset,lee(e,x,t,o,r,A))}}}sl.initializeTerrainHeights=function(){return fi.initialize()};sl.prototype.update=function(e){if(!u(this._primitive)&&!u(this.geometryInstances))return;if(!fi.initialized){sl.initializeTerrainHeights();return}let t=this,n=this._classificationPrimitiveOptions;if(!u(this._primitive)){let i=e.mapProjection.ellipsoid,o,r,s,a=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],c=a.length,l=new Array(c),f,d;for(f=0;f<c;++f){o=a[f],r=o.geometry;let A=cV(e,r);u(d)?u(A)&&ce.union(d,A,d):d=ce.clone(A);let x=o.id;if(u(x)&&u(A)){let C=fi.getBoundingSphere(A,i);this._boundingSpheresKeys.push(x),this._boundingSpheres.push(C)}s=r.constructor,!u(s)||u(s.createShadowVolume)}DPe(this,d,i);let p=e.terrainExaggeration,g=e.terrainExaggerationRelativeHeight;this._minHeight=Cc.getHeight(this._minTerrainHeight,p,g),this._maxHeight=Cc.getHeight(this._maxTerrainHeight,p,g);let m=sl._supportsMaterials(e.context);if(this._useFragmentCulling=m,m){let A,x=!0;for(f=0;f<c;++f)if(o=a[f],r=o.geometry,d=cV(e,r),Gl.shouldUseSphericalCoordinates(d)){x=!1;break}for(f=0;f<c;++f){o=a[f],r=o.geometry,s=r.constructor;let C=cV(e,r),T=r.textureCoordinateRotationPoints;x?A=Gl.getPlanarTextureCoordinateAttributes(C,T,i,e.mapProjection,this._maxHeight):A=Gl.getSphericalExtentGeometryInstanceAttributes(C,T,i,e.mapProjection);let E=o.attributes;for(let S in E)E.hasOwnProperty(S)&&(A[S]=E[S]);l[f]=new At({geometry:s.createShadowVolume(r,cee(this),aee(this)),attributes:A,id:o.id})}}else for(f=0;f<c;++f)o=a[f],r=o.geometry,s=r.constructor,l[f]=new At({geometry:s.createShadowVolume(r,cee(this),aee(this)),attributes:o.attributes,id:o.id});n.geometryInstances=l,n.appearance=this.appearance,n._createBoundingVolumeFunction=function(A,x){vPe(t,A,x)},n._updateAndQueueCommandsFunction=function(A,x,C,T,E,S,D,w){wPe(t,x,C,T,E,S,D,w)},this._primitive=new fT(n)}this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowShadowVolume=this.debugShowShadowVolume,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{u(this._primitive)&&this._primitive.ready&&this._completeLoad()})};sl.prototype.getBoundingSphere=function(e){let t=this._boundingSpheresKeys.indexOf(e);if(t!==-1)return this._boundingSpheres[t]};sl.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};sl.prototype.isDestroyed=function(){return!1};sl.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),le(this)};sl._supportsMaterials=function(e){return e.depthTexture};sl.supportsMaterials=function(e){return sl._supportsMaterials(e.frameState.context)};var Ec=sl;function dT(){de.throwInstantiationError()}Object.defineProperties(dT.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});dT.prototype.getType=de.throwInstantiationError;dT.prototype.getValue=de.throwInstantiationError;dT.prototype.equals=de.throwInstantiationError;dT.getValue=function(e,t,n){let i;return u(t)&&(i=t.getType(e),u(i))?((!u(n)||n.type!==i)&&(n=Vi.fromType(i)),t.getValue(e,n.uniforms),n):((!u(n)||n.type!==Vi.ColorType)&&(n=Vi.fromType(Vi.ColorType)),z.clone(z.WHITE,n.uniforms.color),n)};var Wo=dT;function U0(e,t,n){this._primitives=t,this._orderedGroundPrimitives=n,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}U0.prototype._isHidden=function(e,t,n){return!e.isShowing||!e.isAvailable(n)||!Y.getValueOrDefault(t.show,n,!0)};U0.prototype._setOptions=de.throwInstantiationError;U0.prototype.update=function(e){let t=this._geometryUpdater,n=t._onTerrain,i=this._primitives,o=this._orderedGroundPrimitives;n?o.remove(this._primitive):(i.removeAndDestroy(this._primitive),i.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let r=this._entity,s=r[this._geometryUpdater._geometryPropertyName];if(this._setOptions(r,s,e),this._isHidden(r,s,e))return;let a=this._geometryUpdater.shadowsProperty.getValue(e),c=this._options;if(!u(s.fill)||s.fill.getValue(e)){let l=t.fillMaterialProperty,f=l instanceof Mt,d,p=t._getIsClosed(c);if(f)d=new on({closed:p,flat:n&&!t._supportsMaterialsforEntitiesOnTerrain});else{let g=Wo.getValue(e,l,this._material);this._material=g,d=new oo({material:g,translucent:g.isTranslucent(),closed:p})}if(n)c.vertexFormat=on.VERTEX_FORMAT,this._primitive=o.add(new Ec({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:d,asynchronous:!1,shadows:a,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),Y.getValueOrUndefined(this._geometryUpdater.zIndex,e));else{c.vertexFormat=d.vertexFormat;let g=this._geometryUpdater.createFillGeometryInstance(e);f&&(d.translucent=g.attributes.color.value[3]!==255),this._primitive=i.add(new Dn({geometryInstances:g,appearance:d,asynchronous:!1,shadows:a}))}}if(!n&&u(s.outline)&&s.outline.getValue(e)){let l=this._geometryUpdater.createOutlineGeometryInstance(e),f=Y.getValueOrDefault(s.outlineWidth,e,1);this._outlinePrimitive=i.add(new Dn({geometryInstances:l,appearance:new on({flat:!0,translucent:l.attributes.color.value[3]!==255,renderState:{lineWidth:t._scene.clampLineWidth(f)}}),asynchronous:!1,shadows:a}))}};U0.prototype.getBoundingSphere=function(e){let t=this._entity,n=this._primitive,i=this._outlinePrimitive,o;return u(n)&&n.show&&n.ready&&(o=n.getGeometryInstanceAttributes(t),u(o)&&u(o.boundingSphere))?(se.clone(o.boundingSphere,e),at.DONE):u(i)&&i.show&&i.ready&&(o=i.getGeometryInstanceAttributes(t),u(o)&&u(o.boundingSphere))?(se.clone(o.boundingSphere,e),at.DONE):u(n)&&!n.ready||u(i)&&!i.ready?at.PENDING:at.FAILED};U0.prototype.isDestroyed=function(){return!1};U0.prototype.destroy=function(){let e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),le(this)};var ri=U0;var IPe={NONE:0,GEODESIC:1,RHUMB:2},Kt=Object.freeze(IPe);var uee=P.EPSILON10;function PPe(e,t,n,i){if(!u(e))return;n=y(n,!1);let o=u(i),r=e.length;if(r<2)return e;let s,a=e[0],c,l,f=0,d=-1;for(s=1;s<r;++s)c=e[s],t(a,c,uee)?(u(l)||(l=e.slice(0,s),f=s-1,d=0),o&&i.push(s)):(u(l)&&(l.push(c),f=s,o&&(d=i.length)),a=c);return n&&t(e[0],e[r-1],uee)&&(o&&(u(l)?i.splice(d,0,f):i.push(r-1)),u(l)?l.length-=1:l=e.slice(0,-1)),u(l)?l:e}var go=PPe;function OPe(e){let t=e._uSquared,n=e._ellipsoid.maximumRadius,i=e._ellipsoid.minimumRadius,o=(n-i)/n,r=Math.cos(e._startHeading),s=Math.sin(e._startHeading),a=(1-o)*Math.tan(e._start.latitude),c=1/Math.sqrt(1+a*a),l=c*a,f=Math.atan2(a,r),d=c*s,p=d*d,g=1-p,m=Math.sqrt(g),A=t/4,x=A*A,C=x*A,T=x*x,E=1+A-3*x/4+5*C/4-175*T/64,S=1-A+15*x/8-35*C/8,D=1-3*A+35*x/4,w=1-5*A,R=E*f-S*Math.sin(2*f)*A/2-D*Math.sin(4*f)*x/16-w*Math.sin(6*f)*C/48-Math.sin(8*f)*5*T/512,O=e._constants;O.a=n,O.b=i,O.f=o,O.cosineHeading=r,O.sineHeading=s,O.tanU=a,O.cosineU=c,O.sineU=l,O.sigma=f,O.sineAlpha=d,O.sineSquaredAlpha=p,O.cosineSquaredAlpha=g,O.cosineAlpha=m,O.u2Over4=A,O.u4Over16=x,O.u6Over64=C,O.u8Over256=T,O.a0=E,O.a1=S,O.a2=D,O.a3=w,O.distanceRatio=R}function RPe(e,t){return e*t*(4+e*(4-3*t))/16}function fee(e,t,n,i,o,r,s){let a=RPe(e,n);return(1-a)*e*t*(i+a*o*(s+a*r*(2*s*s-1)))}function BPe(e,t,n,i,o,r,s){let a=(t-n)/t,c=r-i,l=Math.atan((1-a)*Math.tan(o)),f=Math.atan((1-a)*Math.tan(s)),d=Math.cos(l),p=Math.sin(l),g=Math.cos(f),m=Math.sin(f),A=d*g,x=d*m,C=p*m,T=p*g,E=c,S=P.TWO_PI,D=Math.cos(E),w=Math.sin(E),R,O,L,N,_;do{D=Math.cos(E),w=Math.sin(E);let V=x-T*D;L=Math.sqrt(g*g*w*w+V*V),O=C+A*D,R=Math.atan2(L,O);let X;L===0?(X=0,N=1):(X=A*w/L,N=1-X*X),S=E,_=O-2*C/N,isFinite(_)||(_=0),E=c+fee(a,X,N,R,L,O,_)}while(Math.abs(E-S)>P.EPSILON12);let b=N*(t*t-n*n)/(n*n),v=1+b*(4096+b*(b*(320-175*b)-768))/16384,I=b*(256+b*(b*(74-47*b)-128))/1024,B=_*_,F=I*L*(_+I*(O*(2*B-1)-I*_*(4*L*L-3)*(4*B-3)/6)/4),k=n*v*(R-F),U=Math.atan2(g*w,x-T*D),G=Math.atan2(d*w,x*D-T);e._distance=k,e._startHeading=U,e._endHeading=G,e._uSquared=b}var MPe=new h,F8=new h;function dee(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,F8),MPe),r=h.normalize(i.cartographicToCartesian(n,F8),F8);BPe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude),e._start=he.clone(t,e._start),e._end=he.clone(n,e._end),e._start.height=0,e._end.height=0,OPe(e)}function zI(e,t,n){let i=y(n,ie.WGS84);this._ellipsoid=i,this._start=new he,this._end=new he,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,u(e)&&u(t)&&dee(this,e,t,i)}Object.defineProperties(zI.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});zI.prototype.setEndPoints=function(e,t){dee(this,e,t,this._ellipsoid)};zI.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)};zI.prototype.interpolateUsingSurfaceDistance=function(e,t){let n=this._constants,i=n.distanceRatio+e/n.b,o=Math.cos(2*i),r=Math.cos(4*i),s=Math.cos(6*i),a=Math.sin(2*i),c=Math.sin(4*i),l=Math.sin(6*i),f=Math.sin(8*i),d=i*i,p=i*d,g=n.u8Over256,m=n.u2Over4,A=n.u6Over64,x=n.u4Over16,C=2*p*g*o/3+i*(1-m+7*x/4-15*A/4+579*g/64-(x-15*A/4+187*g/16)*o-(5*A/4-115*g/16)*r-29*g*s/16)+(m/2-x+71*A/32-85*g/16)*a+(5*x/16-5*A/4+383*g/96)*c-d*((A-11*g/2)*a+5*g*c/2)+(29*A/96-29*g/16)*l+539*g*f/1536,T=Math.asin(Math.sin(C)*n.cosineAlpha),E=Math.atan(n.a/n.b*Math.tan(T));C=C-n.sigma;let S=Math.cos(2*n.sigma+C),D=Math.sin(C),w=Math.cos(C),R=n.cosineU*w,O=n.sineU*D,N=Math.atan2(D*n.sineHeading,R-O*n.cosineHeading)-fee(n.f,n.sineAlpha,n.cosineSquaredAlpha,C,D,w,S);return u(t)?(t.longitude=this._start.longitude+N,t.latitude=E,t.height=0,t):new he(this._start.longitude+N,E,0)};var Gu=zI;function U8(e,t,n){if(e===0)return t*n;let i=e*e,o=i*i,r=o*i,s=r*i,a=s*i,c=a*i,l=n,f=Math.sin(2*l),d=Math.sin(4*l),p=Math.sin(6*l),g=Math.sin(8*l),m=Math.sin(10*l),A=Math.sin(12*l);return t*((1-i/4-3*o/64-5*r/256-175*s/16384-441*a/65536-4851*c/1048576)*l-(3*i/8+3*o/32+45*r/1024+105*s/4096+2205*a/131072+6237*c/524288)*f+(15*o/256+45*r/1024+525*s/16384+1575*a/65536+155925*c/8388608)*d-(35*r/3072+175*s/12288+3675*a/262144+13475*c/1048576)*p+(315*s/131072+2205*a/524288+43659*c/8388608)*g-(693*a/1310720+6237*c/5242880)*m+1001*c/8388608*A)}function LPe(e,t,n){let i=e/n;if(t===0)return i;let o=i*i,r=o*i,s=r*i,a=t,c=a*a,l=c*c,f=l*c,d=f*c,p=d*c,g=p*c,m=Math.sin(2*i),A=Math.cos(2*i),x=Math.sin(4*i),C=Math.cos(4*i),T=Math.sin(6*i),E=Math.cos(6*i),S=Math.sin(8*i),D=Math.cos(8*i),w=Math.sin(10*i),R=Math.cos(10*i),O=Math.sin(12*i);return i+i*c/4+7*i*l/64+15*i*f/256+579*i*d/16384+1515*i*p/65536+16837*i*g/1048576+(3*i*l/16+45*i*f/256-i*(32*o-561)*d/4096-i*(232*o-1677)*p/16384+i*(399985-90560*o+512*s)*g/5242880)*A+(21*i*f/256+483*i*d/4096-i*(224*o-1969)*p/16384-i*(33152*o-112599)*g/1048576)*C+(151*i*d/4096+4681*i*p/65536+1479*i*g/16384-453*r*g/32768)*E+(1097*i*p/65536+42783*i*g/1048576)*D+8011*i*g/1048576*R+(3*c/8+3*l/16+213*f/2048-3*o*f/64+255*d/4096-33*o*d/512+20861*p/524288-33*o*p/512+s*p/1024+28273*g/1048576-471*o*g/8192+9*s*g/4096)*m+(21*l/256+21*f/256+533*d/8192-21*o*d/512+197*p/4096-315*o*p/4096+584039*g/16777216-12517*o*g/131072+7*s*g/2048)*x+(151*f/6144+151*d/4096+5019*p/131072-453*o*p/16384+26965*g/786432-8607*o*g/131072)*T+(1097*d/131072+1097*p/65536+225797*g/10485760-1097*o*g/65536)*S+(8011*p/2621440+8011*g/1048576)*w+293393*g/251658240*O}function hT(e,t){if(e===0)return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)));let n=e*Math.sin(t);return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)))-e/2*Math.log((1+n)/(1-n))}function NPe(e,t,n,i,o){let r=hT(e._ellipticity,n),s=hT(e._ellipticity,o);return Math.atan2(P.negativePiToPi(i-t),s-r)}function FPe(e,t,n,i,o,r,s){let a=e._heading,c=r-i,l=0;if(P.equalsEpsilon(Math.abs(a),P.PI_OVER_TWO,P.EPSILON8))if(t===n)l=t*Math.cos(o)*P.negativePiToPi(c);else{let f=Math.sin(o);l=t*Math.cos(o)*P.negativePiToPi(c)/Math.sqrt(1-e._ellipticitySquared*f*f)}else{let f=U8(e._ellipticity,t,o);l=(U8(e._ellipticity,t,s)-f)/Math.cos(a)}return Math.abs(l)}var VPe=new h,V8=new h;function hee(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,V8),VPe),r=h.normalize(i.cartographicToCartesian(n,V8),V8),s=i.maximumRadius,a=i.minimumRadius,c=s*s,l=a*a;e._ellipticitySquared=(c-l)/c,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=he.clone(t,e._start),e._start.height=0,e._end=he.clone(n,e._end),e._end.height=0,e._heading=NPe(e,t.longitude,t.latitude,n.longitude,n.latitude),e._distance=FPe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude)}function mee(e,t,n,i,o,r){if(n===0)return he.clone(e,r);let s=o*o,a,c,l;if(Math.abs(P.PI_OVER_TWO-Math.abs(t))>P.EPSILON8){let f=U8(o,i,e.latitude),d=n*Math.cos(t),p=f+d;c=LPe(p,o,i);let g=hT(o,e.latitude),m=hT(o,c);l=Math.tan(t)*(m-g),a=P.negativePiToPi(e.longitude+l)}else{c=e.latitude;let f;if(o===0)f=i*Math.cos(e.latitude);else{let d=Math.sin(e.latitude);f=i*Math.cos(e.latitude)/Math.sqrt(1-s*d*d)}l=n/f,t>0?a=P.negativePiToPi(e.longitude+l):a=P.negativePiToPi(e.longitude-l)}return u(r)?(r.longitude=a,r.latitude=c,r.height=0,r):new he(a,c,0)}function Xm(e,t,n){let i=y(n,ie.WGS84);this._ellipsoid=i,this._start=new he,this._end=new he,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,u(e)&&u(t)&&hee(this,e,t,i)}Object.defineProperties(Xm.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});Xm.fromStartHeadingDistance=function(e,t,n,i,o){let r=y(i,ie.WGS84),s=r.maximumRadius,a=r.minimumRadius,c=s*s,l=a*a,f=Math.sqrt((c-l)/c);t=P.negativePiToPi(t);let d=mee(e,t,n,r.maximumRadius,f);return!u(o)||u(i)&&!i.equals(o.ellipsoid)?new Xm(e,d,r):(o.setEndPoints(e,d),o)};Xm.prototype.setEndPoints=function(e,t){hee(this,e,t,this._ellipsoid)};Xm.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)};Xm.prototype.interpolateUsingSurfaceDistance=function(e,t){return mee(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)};Xm.prototype.findIntersectionWithLongitude=function(e,t){let n=this._ellipticity,i=this._heading,o=Math.abs(i),r=this._start;if(e=P.negativePiToPi(e),P.equalsEpsilon(Math.abs(e),Math.PI,P.EPSILON14)&&(e=P.sign(r.longitude)*Math.PI),u(t)||(t=new he),Math.abs(P.PI_OVER_TWO-o)<=P.EPSILON8)return t.longitude=e,t.latitude=r.latitude,t.height=0,t;if(P.equalsEpsilon(Math.abs(P.PI_OVER_TWO-o),P.PI_OVER_TWO,P.EPSILON8))return P.equalsEpsilon(e,r.longitude,P.EPSILON12)?void 0:(t.longitude=e,t.latitude=P.PI_OVER_TWO*P.sign(P.PI_OVER_TWO-i),t.height=0,t);let s=r.latitude,a=n*Math.sin(s),c=Math.tan(.5*(P.PI_OVER_TWO+s))*Math.exp((e-r.longitude)/Math.tan(i)),l=(1+a)/(1-a),f=r.latitude,d;do{d=f;let p=n*Math.sin(d),g=(1+p)/(1-p);f=2*Math.atan(c*Math.pow(g/l,n/2))-P.PI_OVER_TWO}while(!P.equalsEpsilon(f,d,P.EPSILON12));return t.longitude=e,t.latitude=f,t.height=0,t};Xm.prototype.findIntersectionWithLatitude=function(e,t){let n=this._ellipticity,i=this._heading,o=this._start;if(P.equalsEpsilon(Math.abs(i),P.PI_OVER_TWO,P.EPSILON8))return;let r=hT(n,o.latitude),s=hT(n,e),a=Math.tan(i)*(s-r),c=P.negativePiToPi(o.longitude+a);return u(t)?(t.longitude=c,t.latitude=e,t.height=0,t):new he(c,e,0)};var la=Xm;var q8=[Ei,Si],UPe=q8.length,Mee=Math.cos(P.toRadians(30)),pee=Math.cos(P.toRadians(150)),Lee=0,Nee=1e3;function ig(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions;this.width=y(e.width,1),this._positions=t,this.granularity=y(e.granularity,9999),this.loop=y(e.loop,!1),this.arcType=y(e.arcType,Kt.GEODESIC),this._ellipsoid=ie.WGS84,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(ig.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+ie.packedLength+1+1}}});ig.setProjectionAndEllipsoid=function(e,t){let n=0;for(let i=0;i<UPe;i++)if(t instanceof q8[i]){n=i;break}e._projectionIndex=n,e._ellipsoid=t.ellipsoid};var kPe=new h,_ee=new h,gee=new h;function Y8(e,t,n,i,o){let r=bc(i,e,0,kPe),s=bc(i,e,n,_ee),a=bc(i,t,0,gee),c=Km(s,r,_ee),l=Km(a,r,gee);return h.cross(l,c,o),h.normalize(o,o)}var zPe=new he,HPe=new h,GPe=new h,WPe=new h;function k8(e,t,n,i,o,r,s,a,c,l,f){if(o===0)return;let d;r===Kt.GEODESIC?d=new Gu(e,t,s):r===Kt.RHUMB&&(d=new la(e,t,s));let p=d.surfaceDistance;if(p<o)return;let g=Y8(e,t,i,s,WPe),m=Math.ceil(p/o),A=p/m,x=A,C=m-1,T=a.length;for(let E=0;E<C;E++){let S=d.interpolateUsingSurfaceDistance(x,zPe),D=bc(s,S,n,HPe),w=bc(s,S,i,GPe);h.pack(g,a,T),h.pack(D,c,T),h.pack(w,l,T),f.push(S.latitude),f.push(S.longitude),T+=3,x+=A}}var z8=new he;function bc(e,t,n,i){return he.clone(t,z8),z8.height=n,he.toCartesian(z8,e,i)}ig.pack=function(e,t,n){let i=y(n,0),o=e._positions,r=o.length;t[i++]=r;for(let s=0;s<r;++s){let a=o[s];h.pack(a,t,i),i+=3}return t[i++]=e.granularity,t[i++]=e.loop?1:0,t[i++]=e.arcType,ie.pack(e._ellipsoid,t,i),i+=ie.packedLength,t[i++]=e._projectionIndex,t[i++]=e._scene3DOnly?1:0,t};ig.unpack=function(e,t,n){let i=y(t,0),o=e[i++],r=new Array(o);for(let p=0;p<o;p++)r[p]=h.unpack(e,i),i+=3;let s=e[i++],a=e[i++]===1,c=e[i++],l=ie.unpack(e,i);i+=ie.packedLength;let f=e[i++],d=e[i++]===1;return u(n)||(n=new ig({positions:r})),n._positions=r,n.granularity=s,n.loop=a,n.arcType=c,n._ellipsoid=l,n._projectionIndex=f,n._scene3DOnly=d,n};function Km(e,t,n){return h.subtract(e,t,n),h.normalize(n,n),n}function yee(e,t,n,i){return i=Km(e,t,i),i=h.cross(i,n,i),i=h.normalize(i,i),i=h.cross(n,i,i),i}var jPe=new h,YPe=new h,qPe=new h,Fee=new h,XPe=0,KPe=-1;function H8(e,t,n,i,o){let r=Km(n,t,Fee),s=yee(e,t,r,jPe),a=yee(i,t,r,YPe);if(P.equalsEpsilon(h.dot(s,a),KPe,P.EPSILON5))return o=h.cross(r,s,o),o=h.normalize(o,o),o;o=h.add(a,s,o),o=h.normalize(o,o);let c=h.cross(r,o,qPe);return h.dot(a,c)<XPe&&(o=h.negate(o,o)),o}var dV=cn.fromPointNormal(h.ZERO,h.UNIT_Y),ZPe=new h,JPe=new h,QPe=new h,$Pe=new h,e1e=new h,lV=new h,uV=new he,Aee=new he,xee=new he;ig.createGeometry=function(e){let t=!e._scene3DOnly,n=e.loop,i=e._ellipsoid,o=e.granularity,r=e.arcType,s=new q8[e._projectionIndex](i),a=Lee,c=Nee,l,f,d=e._positions,p=d.length;p===2&&(n=!1);let g,m,A,x,C=new la(void 0,void 0,i),T,E,S,D=[d[0]];for(f=0;f<p-1;f++)g=d[f],m=d[f+1],T=Yi.lineSegmentPlane(g,m,dV,lV),u(T)&&!h.equalsEpsilon(T,g,P.EPSILON7)&&!h.equalsEpsilon(T,m,P.EPSILON7)&&(e.arcType===Kt.GEODESIC?D.push(h.clone(T)):e.arcType===Kt.RHUMB&&(S=i.cartesianToCartographic(T,uV).longitude,A=i.cartesianToCartographic(g,uV),x=i.cartesianToCartographic(m,Aee),C.setEndPoints(A,x),E=C.findIntersectionWithLongitude(S,xee),T=i.cartographicToCartesian(E,lV),u(T)&&!h.equalsEpsilon(T,g,P.EPSILON7)&&!h.equalsEpsilon(T,m,P.EPSILON7)&&D.push(h.clone(T)))),D.push(m);n&&(g=d[p-1],m=d[0],T=Yi.lineSegmentPlane(g,m,dV,lV),u(T)&&!h.equalsEpsilon(T,g,P.EPSILON7)&&!h.equalsEpsilon(T,m,P.EPSILON7)&&(e.arcType===Kt.GEODESIC?D.push(h.clone(T)):e.arcType===Kt.RHUMB&&(S=i.cartesianToCartographic(T,uV).longitude,A=i.cartesianToCartographic(g,uV),x=i.cartesianToCartographic(m,Aee),C.setEndPoints(A,x),E=C.findIntersectionWithLongitude(S,xee),T=i.cartographicToCartesian(E,lV),u(T)&&!h.equalsEpsilon(T,g,P.EPSILON7)&&!h.equalsEpsilon(T,m,P.EPSILON7)&&D.push(h.clone(T)))));let w=D.length,R=new Array(w);for(f=0;f<w;f++){let j=he.fromCartesian(D[f],i);j.height=0,R[f]=j}if(R=go(R,he.equalsEpsilon),w=R.length,w<2)return;let O=[],L=[],N=[],_=[],b=ZPe,v=JPe,I=QPe,B=$Pe,F=e1e,k=R[0],U=R[1],G=R[w-1];for(b=bc(i,G,a,b),B=bc(i,U,a,B),v=bc(i,k,a,v),I=bc(i,k,c,I),n?F=H8(b,v,I,B,F):F=Y8(k,U,c,i,F),h.pack(F,L,0),h.pack(v,N,0),h.pack(I,_,0),O.push(k.latitude),O.push(k.longitude),k8(k,U,a,c,o,r,i,L,N,_,O),f=1;f<w-1;++f){b=h.clone(v,b),v=h.clone(B,v);let j=R[f];bc(i,j,c,I),bc(i,R[f+1],a,B),H8(b,v,I,B,F),l=L.length,h.pack(F,L,l),h.pack(v,N,l),h.pack(I,_,l),O.push(j.latitude),O.push(j.longitude),k8(R[f],R[f+1],a,c,o,r,i,L,N,_,O)}let V=R[w-1],X=R[w-2];if(v=bc(i,V,a,v),I=bc(i,V,c,I),n){let j=R[0];b=bc(i,X,a,b),B=bc(i,j,a,B),F=H8(b,v,I,B,F)}else F=Y8(X,V,c,i,F);if(l=L.length,h.pack(F,L,l),h.pack(v,N,l),h.pack(I,_,l),O.push(V.latitude),O.push(V.longitude),n){for(k8(V,k,a,c,o,r,i,L,N,_,O),l=L.length,f=0;f<3;++f)L[l+f]=L[f],N[l+f]=N[f],_[l+f]=_[f];O.push(k.latitude),O.push(k.longitude)}return D1e(n,s,N,_,L,O,t)};var t1e=new h,n1e=new Z,i1e=new Le;function Cee(e,t,n,i){let o=Km(n,t,t1e),r=h.dot(o,e);if(r>Mee||r<pee){let s=Km(i,n,Fee),a=r<pee?P.PI_OVER_TWO:-P.PI_OVER_TWO,c=Le.fromAxisAngle(s,a,i1e),l=Z.fromQuaternion(c,n1e);return Z.multiplyByVector(l,e,e),!0}return!1}var Tee=new he,o1e=new h,Eee=new h;function HI(e,t,n,i,o){let r=he.toCartesian(t,e._ellipsoid,o1e),s=h.add(r,n,Eee),a=!1,c=e._ellipsoid,l=c.cartesianToCartographic(s,Tee);Math.abs(t.longitude-l.longitude)>P.PI_OVER_TWO&&(a=!0,s=h.subtract(r,n,Eee),l=c.cartesianToCartographic(s,Tee)),l.height=0;let f=e.project(l,o);return o=h.subtract(f,i,o),o.z=0,o=h.normalize(o,o),a&&h.negate(o,o),o}var r1e=new h,bee=new h;function See(e,t,n,i,o,r){let s=h.subtract(t,e,r1e);h.normalize(s,s);let a=n-Lee,c=h.multiplyByScalar(s,a,bee);h.add(e,c,o);let l=i-Nee;c=h.multiplyByScalar(s,l,bee),h.add(t,c,r)}var s1e=new h;function fV(e,t){let n=cn.getPointDistance(dV,e),i=cn.getPointDistance(dV,t),o=s1e;P.equalsEpsilon(n,0,P.EPSILON2)?(o=Km(t,e,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(e,o,e)):P.equalsEpsilon(i,0,P.EPSILON2)&&(o=Km(e,t,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(t,o,t))}function a1e(e,t){let n=Math.abs(e.longitude),i=Math.abs(t.longitude);if(P.equalsEpsilon(n,P.PI,P.EPSILON11)){let o=P.sign(t.longitude);return e.longitude=o*(n-P.EPSILON11),1}else if(P.equalsEpsilon(i,P.PI,P.EPSILON11)){let o=P.sign(e.longitude);return t.longitude=o*(i-P.EPSILON11),2}return 0}var Vee=new he,Uee=new he,Dee=new h,G8=new h,vee=new h,wee=new h,c1e=new h,Iee=new h,l1e=[Vee,Uee],u1e=new ce,f1e=new h,d1e=new h,h1e=new h,m1e=new h,p1e=new h,_1e=new h,W8=new h,j8=new h,g1e=new h,y1e=new h,A1e=new h,Pee=new h,x1e=new h,C1e=new h,T1e=new Hn,E1e=new Hn,Oee=new h,b1e=new h,Ree=new h,S1e=[new se,new se],kee=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],Bee=kee.length;function D1e(e,t,n,i,o,r,s){let a,c,l=t._ellipsoid,f=n.length/3-1,d=f*8,p=d*4,g=f*36,m=d>65535?new Uint32Array(g):new Uint16Array(g),A=new Float64Array(d*3),x=new Float32Array(p),C=new Float32Array(p),T=new Float32Array(p),E=new Float32Array(p),S=new Float32Array(p),D,w,R,O;s&&(D=new Float32Array(p),w=new Float32Array(p),R=new Float32Array(p),O=new Float32Array(d*2));let L=r.length/2,N=0,_=Vee;_.height=0;let b=Uee;b.height=0;let v=Dee,I=G8;if(s)for(c=0,a=1;a<L;a++)_.latitude=r[c],_.longitude=r[c+1],b.latitude=r[c+2],b.longitude=r[c+3],v=t.project(_,v),I=t.project(b,I),N+=h.distance(v,I),c+=2;let B=i.length/3;I=h.unpack(i,0,I);let F=0;for(c=3,a=1;a<B;a++)v=h.clone(I,v),I=h.unpack(i,c,I),F+=h.distance(v,I),c+=3;let k;c=3;let U=0,G=0,V=0,X=0,j=!1,Q=h.unpack(n,0,wee),W=h.unpack(i,0,G8),K=h.unpack(o,0,Iee);if(e){let we=h.unpack(n,n.length-6,vee);Cee(K,we,Q,W)&&(K=h.negate(K,K))}let J=0,_e=0,xe=0;for(a=0;a<f;a++){let we=h.clone(Q,vee),Ve=h.clone(W,Dee),qe=h.clone(K,c1e);j&&(qe=h.negate(qe,qe)),Q=h.unpack(n,c,wee),W=h.unpack(i,c,G8),K=h.unpack(o,c,Iee),j=Cee(K,we,Q,W),_.latitude=r[U],_.longitude=r[U+1],b.latitude=r[U+2],b.longitude=r[U+3];let mt,Ht,fn,dt;if(s){let Oi=a1e(_,b);mt=t.project(_,p1e),Ht=t.project(b,_1e);let Ar=Km(Ht,mt,Oee);Ar.y=Math.abs(Ar.y),fn=W8,dt=j8,Oi===0||h.dot(Ar,h.UNIT_Y)>Mee?(fn=HI(t,_,qe,mt,W8),dt=HI(t,b,K,Ht,j8)):Oi===1?(dt=HI(t,b,K,Ht,j8),fn.x=0,fn.y=P.sign(_.longitude-Math.abs(b.longitude)),fn.z=0):(fn=HI(t,_,qe,mt,W8),dt.x=0,dt.y=P.sign(_.longitude-b.longitude),dt.z=0)}let Tn=h.distance(Ve,W),Jn=Hn.fromCartesian(we,T1e),Gt=h.subtract(Q,we,g1e),Je=h.normalize(Gt,Pee),pe=h.subtract(Ve,we,y1e);pe=h.normalize(pe,pe);let me=h.cross(Je,pe,Pee);me=h.normalize(me,me);let be=h.cross(pe,qe,x1e);be=h.normalize(be,be);let St=h.subtract(W,Q,A1e);St=h.normalize(St,St);let qt=h.cross(K,St,C1e);qt=h.normalize(qt,qt);let Kn=Tn/F,Ro=J/F,Uo=0,Ao,Yr,Be,it=0,Ke=0;if(s){Uo=h.distance(mt,Ht),Ao=Hn.fromCartesian(mt,E1e),Yr=h.subtract(Ht,mt,Oee),Be=h.normalize(Yr,b1e);let Oi=Be.x;Be.x=Be.y,Be.y=-Oi,it=Uo/N,Ke=_e/N}for(k=0;k<8;k++){let Oi=X+k*4,Ar=G+k*2,Mn=Oi+3,Yn=k<4?1:-1,Zn=k===2||k===3||k===6||k===7?1:-1;h.pack(Jn.high,x,Oi),x[Mn]=Gt.x,h.pack(Jn.low,C,Oi),C[Mn]=Gt.y,h.pack(be,T,Oi),T[Mn]=Gt.z,h.pack(qt,E,Oi),E[Mn]=Kn*Yn,h.pack(me,S,Oi);let ti=Ro*Zn;ti===0&&Zn<0&&(ti=9),S[Mn]=ti,s&&(D[Oi]=Ao.high.x,D[Oi+1]=Ao.high.y,D[Oi+2]=Ao.low.x,D[Oi+3]=Ao.low.y,R[Oi]=-fn.y,R[Oi+1]=fn.x,R[Oi+2]=dt.y,R[Oi+3]=-dt.x,w[Oi]=Yr.x,w[Oi+1]=Yr.y,w[Oi+2]=Be.x,w[Oi+3]=Be.y,O[Ar]=it*Yn,ti=Ke*Zn,ti===0&&Zn<0&&(ti=9),O[Ar+1]=ti)}let Ze=h1e,ft=m1e,Lt=f1e,En=d1e,so=ce.fromCartographicArray(l1e,u1e),So=fi.getMinimumMaximumHeights(so,l),ns=So.minimumTerrainHeight,Nr=So.maximumTerrainHeight;xe+=ns,xe+=Nr,See(we,Ve,ns,Nr,Ze,Lt),See(Q,W,ns,Nr,ft,En);let Hi=h.multiplyByScalar(me,P.EPSILON5,Ree);h.add(Ze,Hi,Ze),h.add(ft,Hi,ft),h.add(Lt,Hi,Lt),h.add(En,Hi,En),fV(Ze,ft),fV(Lt,En),h.pack(Ze,A,V),h.pack(ft,A,V+3),h.pack(En,A,V+6),h.pack(Lt,A,V+9),Hi=h.multiplyByScalar(me,-2*P.EPSILON5,Ree),h.add(Ze,Hi,Ze),h.add(ft,Hi,ft),h.add(Lt,Hi,Lt),h.add(En,Hi,En),fV(Ze,ft),fV(Lt,En),h.pack(Ze,A,V+12),h.pack(ft,A,V+15),h.pack(En,A,V+18),h.pack(Lt,A,V+21),U+=2,c+=3,G+=16,V+=24,X+=32,J+=Tn,_e+=Uo}c=0;let re=0;for(a=0;a<f;a++){for(k=0;k<Bee;k++)m[c+k]=kee[k]+re;re+=8,c+=Bee}let ye=S1e;se.fromVertices(n,h.ZERO,3,ye[0]),se.fromVertices(i,h.ZERO,3,ye[1]);let fe=se.fromBoundingSpheres(ye);fe.radius+=xe/(f*2);let Se={position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,normalize:!1,values:A}),startHiAndForwardOffsetX:ng(x),startLoAndForwardOffsetY:ng(C),startNormalAndForwardOffsetZ:ng(T),endNormalAndTextureCoordinateNormalizationX:ng(E),rightNormalAndTextureCoordinateNormalizationY:ng(S)};return s&&(Se.startHiLo2D=ng(D),Se.offsetAndRight2D=ng(w),Se.startEndNormals2D=ng(R),Se.texcoordNormalization2D=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,normalize:!1,values:O})),new ct({attributes:Se,indices:m,boundingSphere:fe})}function ng(e){return new ve({componentDatatype:q.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}ig._projectNormal=HI;var k0=ig;var GI=`in vec4 v_startPlaneNormalEcAndHalfWidth; +in vec4 v_endPlaneNormalEcAndBatchId; +in vec4 v_rightPlaneEC; // Technically can compute distance for this here +in vec4 v_endEcAndStartEcX; +in vec4 v_texcoordNormalizationAndStartEcYZ; + +#ifdef PER_INSTANCE_COLOR +in vec4 v_color; +#endif + +void main(void) +{ + float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw))); + vec3 ecStart = vec3(v_endEcAndStartEcX.w, v_texcoordNormalizationAndStartEcYZ.zw); + + // Discard for sky + if (logDepthOrDepth == 0.0) { +#ifdef DEBUG_SHOW_VOLUME + out_FragColor = vec4(1.0, 0.0, 0.0, 0.5); + return; +#else // DEBUG_SHOW_VOLUME + discard; +#endif // DEBUG_SHOW_VOLUME + } + + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + eyeCoordinate /= eyeCoordinate.w; + + float halfMaxWidth = v_startPlaneNormalEcAndHalfWidth.w * czm_metersPerPixel(eyeCoordinate); + // Check distance of the eye coordinate against the right-facing plane + float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz); + + // Check eye coordinate against the mitering planes + float distanceFromStart = czm_planeDistance(v_startPlaneNormalEcAndHalfWidth.xyz, -dot(ecStart, v_startPlaneNormalEcAndHalfWidth.xyz), eyeCoordinate.xyz); + float distanceFromEnd = czm_planeDistance(v_endPlaneNormalEcAndBatchId.xyz, -dot(v_endEcAndStartEcX.xyz, v_endPlaneNormalEcAndBatchId.xyz), eyeCoordinate.xyz); + + if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { +#ifdef DEBUG_SHOW_VOLUME + out_FragColor = vec4(1.0, 0.0, 0.0, 0.5); + return; +#else // DEBUG_SHOW_VOLUME + discard; +#endif // DEBUG_SHOW_VOLUME + } + + // Check distance of the eye coordinate against start and end planes with normals in the right plane. + // For computing unskewed lengthwise texture coordinate. + // Can also be used for clipping extremely pointy miters, but in practice unnecessary because of miter breaking. + + // aligned plane: cross the right plane normal with miter plane normal, then cross the result with right again to point it more "forward" + vec3 alignedPlaneNormal; + + // start aligned plane + alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_startPlaneNormalEcAndHalfWidth.xyz); + alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz)); + distanceFromStart = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, ecStart), eyeCoordinate.xyz); + + // end aligned plane + alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_endPlaneNormalEcAndBatchId.xyz); + alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz)); + distanceFromEnd = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, v_endEcAndStartEcX.xyz), eyeCoordinate.xyz); + +#ifdef PER_INSTANCE_COLOR + out_FragColor = czm_gammaCorrect(v_color); +#else // PER_INSTANCE_COLOR + // Clamp - distance to aligned planes may be negative due to mitering, + // so fragment texture coordinate might be out-of-bounds. + float s = clamp(distanceFromStart / (distanceFromStart + distanceFromEnd), 0.0, 1.0); + s = (s * v_texcoordNormalizationAndStartEcYZ.x) + v_texcoordNormalizationAndStartEcYZ.y; + float t = (widthwiseDistance + halfMaxWidth) / (2.0 * halfMaxWidth); + + czm_materialInput materialInput; + + materialInput.s = s; + materialInput.st = vec2(s, t); + materialInput.str = vec3(s, t, 0.0); + + czm_material material = czm_getMaterial(materialInput); + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#endif // PER_INSTANCE_COLOR + + // Premultiply alpha. Required for classification primitives on translucent globe. + out_FragColor.rgb *= out_FragColor.a; + + czm_writeDepthClamp(); +} +`;var WI=`in vec3 v_forwardDirectionEC; +in vec3 v_texcoordNormalizationAndHalfWidth; +in float v_batchId; + +#ifdef PER_INSTANCE_COLOR +in vec4 v_color; +#else +in vec2 v_alignedPlaneDistances; +in float v_texcoordT; +#endif + +float rayPlaneDistanceUnsafe(vec3 origin, vec3 direction, vec3 planeNormal, float planeDistance) { + // We don't expect the ray to ever be parallel to the plane + return (-planeDistance - dot(planeNormal, origin)) / dot(planeNormal, direction); +} + +void main(void) +{ + vec4 eyeCoordinate = gl_FragCoord; + eyeCoordinate /= eyeCoordinate.w; + +#ifdef PER_INSTANCE_COLOR + out_FragColor = czm_gammaCorrect(v_color); +#else // PER_INSTANCE_COLOR + // Use distances for planes aligned with segment to prevent skew in dashing + float distanceFromStart = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, -v_forwardDirectionEC, v_forwardDirectionEC.xyz, v_alignedPlaneDistances.x); + float distanceFromEnd = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, v_forwardDirectionEC, -v_forwardDirectionEC.xyz, v_alignedPlaneDistances.y); + + // Clamp - distance to aligned planes may be negative due to mitering + distanceFromStart = max(0.0, distanceFromStart); + distanceFromEnd = max(0.0, distanceFromEnd); + + float s = distanceFromStart / (distanceFromStart + distanceFromEnd); + s = (s * v_texcoordNormalizationAndHalfWidth.x) + v_texcoordNormalizationAndHalfWidth.y; + + czm_materialInput materialInput; + + materialInput.s = s; + materialInput.st = vec2(s, v_texcoordT); + materialInput.str = vec3(s, v_texcoordT, 0.0); + + czm_material material = czm_getMaterial(materialInput); + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#endif // PER_INSTANCE_COLOR +} +`;var jI=`in vec3 position3DHigh; +in vec3 position3DLow; + +in vec4 startHiAndForwardOffsetX; +in vec4 startLoAndForwardOffsetY; +in vec4 startNormalAndForwardOffsetZ; +in vec4 endNormalAndTextureCoordinateNormalizationX; +in vec4 rightNormalAndTextureCoordinateNormalizationY; +in vec4 startHiLo2D; +in vec4 offsetAndRight2D; +in vec4 startEndNormals2D; +in vec2 texcoordNormalization2D; + +in float batchId; + +out vec3 v_forwardDirectionEC; +out vec3 v_texcoordNormalizationAndHalfWidth; +out float v_batchId; + +// For materials +#ifdef WIDTH_VARYING +out float v_width; +#endif +#ifdef ANGLE_VARYING +out float v_polylineAngle; +#endif + +#ifdef PER_INSTANCE_COLOR +out vec4 v_color; +#else +out vec2 v_alignedPlaneDistances; +out float v_texcoordT; +#endif + +// Morphing planes using SLERP or NLERP doesn't seem to work, so instead draw the material directly on the shadow volume. +// Morph views are from very far away and aren't meant to be used precisely, so this should be sufficient. +void main() +{ + v_batchId = batchId; + + // Start position + vec4 posRelativeToEye2D = czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw)); + vec4 posRelativeToEye3D = czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz); + vec4 posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime); + vec3 posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz; + vec3 posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz; + vec3 startEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz; + + // Start plane + vec4 startPlane2D; + vec4 startPlane3D; + startPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy); + startPlane3D.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz; + startPlane2D.w = -dot(startPlane2D.xyz, posEc2D); + startPlane3D.w = -dot(startPlane3D.xyz, posEc3D); + + // Right plane + vec4 rightPlane2D; + vec4 rightPlane3D; + rightPlane2D.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw); + rightPlane3D.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz; + rightPlane2D.w = -dot(rightPlane2D.xyz, posEc2D); + rightPlane3D.w = -dot(rightPlane3D.xyz, posEc3D); + + // End position + posRelativeToEye2D = posRelativeToEye2D + vec4(0.0, offsetAndRight2D.xy, 0.0); + posRelativeToEye3D = posRelativeToEye3D + vec4(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w, 0.0); + posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime); + posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz; + posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz; + vec3 endEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz; + vec3 forwardEc3D = czm_normal * normalize(vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w)); + vec3 forwardEc2D = czm_normal * normalize(vec3(0.0, offsetAndRight2D.xy)); + + // End plane + vec4 endPlane2D; + vec4 endPlane3D; + endPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw); + endPlane3D.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz; + endPlane2D.w = -dot(endPlane2D.xyz, posEc2D); + endPlane3D.w = -dot(endPlane3D.xyz, posEc3D); + + // Forward direction + v_forwardDirectionEC = normalize(endEC - startEC); + + vec2 cleanTexcoordNormalization2D; + cleanTexcoordNormalization2D.x = abs(texcoordNormalization2D.x); + cleanTexcoordNormalization2D.y = czm_branchFreeTernary(texcoordNormalization2D.y > 1.0, 0.0, abs(texcoordNormalization2D.y)); + vec2 cleanTexcoordNormalization3D; + cleanTexcoordNormalization3D.x = abs(endNormalAndTextureCoordinateNormalizationX.w); + cleanTexcoordNormalization3D.y = rightNormalAndTextureCoordinateNormalizationY.w; + cleanTexcoordNormalization3D.y = czm_branchFreeTernary(cleanTexcoordNormalization3D.y > 1.0, 0.0, abs(cleanTexcoordNormalization3D.y)); + + v_texcoordNormalizationAndHalfWidth.xy = mix(cleanTexcoordNormalization2D, cleanTexcoordNormalization3D, czm_morphTime); + +#ifdef PER_INSTANCE_COLOR + v_color = czm_batchTable_color(batchId); +#else // PER_INSTANCE_COLOR + // For computing texture coordinates + + v_alignedPlaneDistances.x = -dot(v_forwardDirectionEC, startEC); + v_alignedPlaneDistances.y = -dot(-v_forwardDirectionEC, endEC); +#endif // PER_INSTANCE_COLOR + +#ifdef WIDTH_VARYING + float width = czm_batchTable_width(batchId); + float halfWidth = width * 0.5; + v_width = width; + v_texcoordNormalizationAndHalfWidth.z = halfWidth; +#else + float halfWidth = 0.5 * czm_batchTable_width(batchId); + v_texcoordNormalizationAndHalfWidth.z = halfWidth; +#endif + + // Compute a normal along which to "push" the position out, extending the miter depending on view distance. + // Position has already been "pushed" by unit length along miter normal, and miter normals are encoded in the planes. + // Decode the normal to use at this specific vertex, push the position back, and then push to where it needs to be. + // Since this is morphing, compute both 3D and 2D positions and then blend. + + // ****** 3D ****** + // Check distance to the end plane and start plane, pick the plane that is closer + vec4 positionEc3D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position3DHigh, position3DLow); // w = 1.0, see czm_computePosition + float absStartPlaneDistance = abs(czm_planeDistance(startPlane3D, positionEc3D.xyz)); + float absEndPlaneDistance = abs(czm_planeDistance(endPlane3D, positionEc3D.xyz)); + vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane3D.xyz, endPlane3D.xyz); + vec3 upOrDown = normalize(cross(rightPlane3D.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane. + vec3 normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too. + + // Nudge the top vertex upwards to prevent flickering + vec3 geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc3D)); + geodeticSurfaceNormal *= float(0.0 <= rightNormalAndTextureCoordinateNormalizationY.w && rightNormalAndTextureCoordinateNormalizationY.w <= 1.0); + geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT; + positionEc3D.xyz += geodeticSurfaceNormal; + + // Determine if this vertex is on the "left" or "right" + normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w); + + // A "perfect" implementation would push along normals according to the angle against forward. + // In practice, just pushing the normal out by halfWidth is sufficient for morph views. + positionEc3D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc3D)) * normalEC; // prevent artifacts when czm_metersPerPixel is negative (behind camera) + + // ****** 2D ****** + // Check distance to the end plane and start plane, pick the plane that is closer + vec4 positionEc2D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy); // w = 1.0, see czm_computePosition + absStartPlaneDistance = abs(czm_planeDistance(startPlane2D, positionEc2D.xyz)); + absEndPlaneDistance = abs(czm_planeDistance(endPlane2D, positionEc2D.xyz)); + planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane2D.xyz, endPlane2D.xyz); + upOrDown = normalize(cross(rightPlane2D.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane. + normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too. + + // Nudge the top vertex upwards to prevent flickering + geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc2D)); + geodeticSurfaceNormal *= float(0.0 <= texcoordNormalization2D.y && texcoordNormalization2D.y <= 1.0); + geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT; + positionEc2D.xyz += geodeticSurfaceNormal; + + // Determine if this vertex is on the "left" or "right" + normalEC *= sign(texcoordNormalization2D.x); +#ifndef PER_INSTANCE_COLOR + // Use vertex's sidedness to compute its texture coordinate. + v_texcoordT = clamp(sign(texcoordNormalization2D.x), 0.0, 1.0); +#endif + + // A "perfect" implementation would push along normals according to the angle against forward. + // In practice, just pushing the normal out by halfWidth is sufficient for morph views. + positionEc2D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc2D)) * normalEC; // prevent artifacts when czm_metersPerPixel is negative (behind camera) + + // Blend for actual position + gl_Position = czm_projection * mix(positionEc2D, positionEc3D, czm_morphTime); + +#ifdef ANGLE_VARYING + // Approximate relative screen space direction of the line. + vec2 approxLineDirection = normalize(vec2(v_forwardDirectionEC.x, -v_forwardDirectionEC.y)); + approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y); + v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); +#endif +} +`;var YI=`in vec3 position3DHigh; +in vec3 position3DLow; + +// In 2D and in 3D, texture coordinate normalization component signs encodes: +// * X sign - sidedness relative to right plane +// * Y sign - is negative OR magnitude is greater than 1.0 if vertex is on bottom of volume +#ifndef COLUMBUS_VIEW_2D +in vec4 startHiAndForwardOffsetX; +in vec4 startLoAndForwardOffsetY; +in vec4 startNormalAndForwardOffsetZ; +in vec4 endNormalAndTextureCoordinateNormalizationX; +in vec4 rightNormalAndTextureCoordinateNormalizationY; +#else +in vec4 startHiLo2D; +in vec4 offsetAndRight2D; +in vec4 startEndNormals2D; +in vec2 texcoordNormalization2D; +#endif + +in float batchId; + +out vec4 v_startPlaneNormalEcAndHalfWidth; +out vec4 v_endPlaneNormalEcAndBatchId; +out vec4 v_rightPlaneEC; +out vec4 v_endEcAndStartEcX; +out vec4 v_texcoordNormalizationAndStartEcYZ; + +// For materials +#ifdef WIDTH_VARYING +out float v_width; +#endif +#ifdef ANGLE_VARYING +out float v_polylineAngle; +#endif + +#ifdef PER_INSTANCE_COLOR +out vec4 v_color; +#endif + +void main() +{ +#ifdef COLUMBUS_VIEW_2D + vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw))).xyz; + + vec3 forwardDirectionEC = czm_normal * vec3(0.0, offsetAndRight2D.xy); + vec3 ecEnd = forwardDirectionEC + ecStart; + forwardDirectionEC = normalize(forwardDirectionEC); + + // Right plane + v_rightPlaneEC.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw); + v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart); + + // start plane + vec4 startPlaneEC; + startPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy); + startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart); + + // end plane + vec4 endPlaneEC; + endPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw); + endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd); + + v_texcoordNormalizationAndStartEcYZ.x = abs(texcoordNormalization2D.x); + v_texcoordNormalizationAndStartEcYZ.y = texcoordNormalization2D.y; + +#else // COLUMBUS_VIEW_2D + vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz)).xyz; + vec3 offset = czm_normal * vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w); + vec3 ecEnd = ecStart + offset; + + vec3 forwardDirectionEC = normalize(offset); + + // start plane + vec4 startPlaneEC; + startPlaneEC.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz; + startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart); + + // end plane + vec4 endPlaneEC; + endPlaneEC.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz; + endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd); + + // Right plane + v_rightPlaneEC.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz; + v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart); + + v_texcoordNormalizationAndStartEcYZ.x = abs(endNormalAndTextureCoordinateNormalizationX.w); + v_texcoordNormalizationAndStartEcYZ.y = rightNormalAndTextureCoordinateNormalizationY.w; + +#endif // COLUMBUS_VIEW_2D + + v_endEcAndStartEcX.xyz = ecEnd; + v_endEcAndStartEcX.w = ecStart.x; + v_texcoordNormalizationAndStartEcYZ.zw = ecStart.yz; + +#ifdef PER_INSTANCE_COLOR + v_color = czm_batchTable_color(batchId); +#endif // PER_INSTANCE_COLOR + + // Compute a normal along which to "push" the position out, extending the miter depending on view distance. + // Position has already been "pushed" by unit length along miter normal, and miter normals are encoded in the planes. + // Decode the normal to use at this specific vertex, push the position back, and then push to where it needs to be. + vec4 positionRelativeToEye = czm_computePosition(); + + // Check distance to the end plane and start plane, pick the plane that is closer + vec4 positionEC = czm_modelViewRelativeToEye * positionRelativeToEye; // w = 1.0, see czm_computePosition + float absStartPlaneDistance = abs(czm_planeDistance(startPlaneEC, positionEC.xyz)); + float absEndPlaneDistance = abs(czm_planeDistance(endPlaneEC, positionEC.xyz)); + vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlaneEC.xyz, endPlaneEC.xyz); + vec3 upOrDown = normalize(cross(v_rightPlaneEC.xyz, planeDirection)); // Points "up" for start plane, "down" at end plane. + vec3 normalEC = normalize(cross(planeDirection, upOrDown)); // In practice, the opposite seems to work too. + + // Extrude bottom vertices downward for far view distances, like for GroundPrimitives + upOrDown = cross(forwardDirectionEC, normalEC); + upOrDown = float(czm_sceneMode == czm_sceneMode3D) * upOrDown; + upOrDown = float(v_texcoordNormalizationAndStartEcYZ.y > 1.0 || v_texcoordNormalizationAndStartEcYZ.y < 0.0) * upOrDown; + upOrDown = min(GLOBE_MINIMUM_ALTITUDE, czm_geometricToleranceOverMeter * length(positionRelativeToEye.xyz)) * upOrDown; + positionEC.xyz += upOrDown; + + v_texcoordNormalizationAndStartEcYZ.y = czm_branchFreeTernary(v_texcoordNormalizationAndStartEcYZ.y > 1.0, 0.0, abs(v_texcoordNormalizationAndStartEcYZ.y)); + + // Determine distance along normalEC to push for a volume of appropriate width. + // Make volumes about double pixel width for a conservative fit - in practice the + // extra cost here is minimal compared to the loose volume heights. + // + // N = normalEC (guaranteed "right-facing") + // R = rightEC + // p = angle between N and R + // w = distance to push along R if R == N + // d = distance to push along N + // + // N R + // { p| } * cos(p) = dot(N, R) = w / d + // d | |w * d = w / dot(N, R) + // { | } + // o---------- polyline segment ----> + // + float width = czm_batchTable_width(batchId); +#ifdef WIDTH_VARYING + v_width = width; +#endif + + v_startPlaneNormalEcAndHalfWidth.xyz = startPlaneEC.xyz; + v_startPlaneNormalEcAndHalfWidth.w = width * 0.5; + + v_endPlaneNormalEcAndBatchId.xyz = endPlaneEC.xyz; + v_endPlaneNormalEcAndBatchId.w = batchId; + + width = width * max(0.0, czm_metersPerPixel(positionEC)); // width = distance to push along R + width = width / dot(normalEC, v_rightPlaneEC.xyz); // width = distance to push along N + + // Determine if this vertex is on the "left" or "right" +#ifdef COLUMBUS_VIEW_2D + normalEC *= sign(texcoordNormalization2D.x); +#else + normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w); +#endif + + positionEC.xyz += width * normalEC; + gl_Position = czm_depthClamp(czm_projection * positionEC); + +#ifdef ANGLE_VARYING + // Approximate relative screen space direction of the line. + vec2 approxLineDirection = normalize(vec2(forwardDirectionEC.x, -forwardDirectionEC.y)); + approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y); + v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); +#endif +} +`;var qI=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec3 prevPosition3DHigh; +in vec3 prevPosition3DLow; +in vec3 nextPosition3DHigh; +in vec3 nextPosition3DLow; +in vec2 expandAndWidth; +in vec4 color; +in float batchId; + +out vec4 v_color; + +void main() +{ + float expandDir = expandAndWidth.x; + float width = abs(expandAndWidth.y) + 0.5; + bool usePrev = expandAndWidth.y < 0.0; + + vec4 p = czm_computePosition(); + vec4 prev = czm_computePrevPosition(); + vec4 next = czm_computeNextPosition(); + + float angle; + vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle); + gl_Position = czm_viewportOrthographic * positionWC; + + v_color = color; +} +`;var Wl=`void clipLineSegmentToNearPlane( + vec3 p0, + vec3 p1, + out vec4 positionWC, + out bool clipped, + out bool culledByNearPlane, + out vec4 clippedPositionEC) +{ + culledByNearPlane = false; + clipped = false; + + vec3 p0ToP1 = p1 - p0; + float magnitude = length(p0ToP1); + vec3 direction = normalize(p0ToP1); + + // Distance that p0 is behind the near plane. Negative means p0 is + // in front of the near plane. + float endPoint0Distance = czm_currentFrustum.x + p0.z; + + // Camera looks down -Z. + // When moving a point along +Z: LESS VISIBLE + // * Points in front of the camera move closer to the camera. + // * Points behind the camrea move farther away from the camera. + // When moving a point along -Z: MORE VISIBLE + // * Points in front of the camera move farther away from the camera. + // * Points behind the camera move closer to the camera. + + // Positive denominator: -Z, becoming more visible + // Negative denominator: +Z, becoming less visible + // Nearly zero: parallel to near plane + float denominator = -direction.z; + + if (endPoint0Distance > 0.0 && abs(denominator) < czm_epsilon7) + { + // p0 is behind the near plane and the line to p1 is nearly parallel to + // the near plane, so cull the segment completely. + culledByNearPlane = true; + } + else if (endPoint0Distance > 0.0) + { + // p0 is behind the near plane, and the line to p1 is moving distinctly + // toward or away from it. + + // t = (-plane distance - dot(plane normal, ray origin)) / dot(plane normal, ray direction) + float t = endPoint0Distance / denominator; + if (t < 0.0 || t > magnitude) + { + // Near plane intersection is not between the two points. + // We already confirmed p0 is behind the naer plane, so now + // we know the entire segment is behind it. + culledByNearPlane = true; + } + else + { + // Segment crosses the near plane, update p0 to lie exactly on it. + p0 = p0 + t * direction; + + // Numerical noise might put us a bit on the wrong side of the near plane. + // Don't let that happen. + p0.z = min(p0.z, -czm_currentFrustum.x); + + clipped = true; + } + } + + clippedPositionEC = vec4(p0, 1.0); + positionWC = czm_eyeToWindowCoordinates(clippedPositionEC); +} + +vec4 getPolylineWindowCoordinatesEC(vec4 positionEC, vec4 prevEC, vec4 nextEC, float expandDirection, float width, bool usePrevious, out float angle) +{ + // expandDirection +1 is to the _left_ when looking from positionEC toward nextEC. + +#ifdef POLYLINE_DASH + // Compute the window coordinates of the points. + vec4 positionWindow = czm_eyeToWindowCoordinates(positionEC); + vec4 previousWindow = czm_eyeToWindowCoordinates(prevEC); + vec4 nextWindow = czm_eyeToWindowCoordinates(nextEC); + + // Determine the relative screen space direction of the line. + vec2 lineDir; + if (usePrevious) { + lineDir = normalize(positionWindow.xy - previousWindow.xy); + } + else { + lineDir = normalize(nextWindow.xy - positionWindow.xy); + } + angle = atan(lineDir.x, lineDir.y) - 1.570796327; // precomputed atan(1,0) + + // Quantize the angle so it doesn't change rapidly between segments. + angle = floor(angle / czm_piOverFour + 0.5) * czm_piOverFour; +#endif + + vec4 clippedPrevWC, clippedPrevEC; + bool prevSegmentClipped, prevSegmentCulled; + clipLineSegmentToNearPlane(prevEC.xyz, positionEC.xyz, clippedPrevWC, prevSegmentClipped, prevSegmentCulled, clippedPrevEC); + + vec4 clippedNextWC, clippedNextEC; + bool nextSegmentClipped, nextSegmentCulled; + clipLineSegmentToNearPlane(nextEC.xyz, positionEC.xyz, clippedNextWC, nextSegmentClipped, nextSegmentCulled, clippedNextEC); + + bool segmentClipped, segmentCulled; + vec4 clippedPositionWC, clippedPositionEC; + clipLineSegmentToNearPlane(positionEC.xyz, usePrevious ? prevEC.xyz : nextEC.xyz, clippedPositionWC, segmentClipped, segmentCulled, clippedPositionEC); + + if (segmentCulled) + { + return vec4(0.0, 0.0, 0.0, 1.0); + } + + vec2 directionToPrevWC = normalize(clippedPrevWC.xy - clippedPositionWC.xy); + vec2 directionToNextWC = normalize(clippedNextWC.xy - clippedPositionWC.xy); + + // If a segment was culled, we can't use the corresponding direction + // computed above. We should never see both of these be true without + // \`segmentCulled\` above also being true. + if (prevSegmentCulled) + { + directionToPrevWC = -directionToNextWC; + } + else if (nextSegmentCulled) + { + directionToNextWC = -directionToPrevWC; + } + + vec2 thisSegmentForwardWC, otherSegmentForwardWC; + if (usePrevious) + { + thisSegmentForwardWC = -directionToPrevWC; + otherSegmentForwardWC = directionToNextWC; + } + else + { + thisSegmentForwardWC = directionToNextWC; + otherSegmentForwardWC = -directionToPrevWC; + } + + vec2 thisSegmentLeftWC = vec2(-thisSegmentForwardWC.y, thisSegmentForwardWC.x); + + vec2 leftWC = thisSegmentLeftWC; + float expandWidth = width * 0.5; + + // When lines are split at the anti-meridian, the position may be at the + // same location as the next or previous position, and we need to handle + // that to avoid producing NaNs. + if (!czm_equalsEpsilon(prevEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1) && !czm_equalsEpsilon(nextEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1)) + { + vec2 otherSegmentLeftWC = vec2(-otherSegmentForwardWC.y, otherSegmentForwardWC.x); + + vec2 leftSumWC = thisSegmentLeftWC + otherSegmentLeftWC; + float leftSumLength = length(leftSumWC); + leftWC = leftSumLength < czm_epsilon6 ? thisSegmentLeftWC : (leftSumWC / leftSumLength); + + // The sine of the angle between the two vectors is given by the formula + // |a x b| = |a||b|sin(theta) + // which is + // float sinAngle = length(cross(vec3(leftWC, 0.0), vec3(-thisSegmentForwardWC, 0.0))); + // Because the z components of both vectors are zero, the x and y coordinate will be zero. + // Therefore, the sine of the angle is just the z component of the cross product. + vec2 u = -thisSegmentForwardWC; + vec2 v = leftWC; + float sinAngle = abs(u.x * v.y - u.y * v.x); + expandWidth = clamp(expandWidth / sinAngle, 0.0, width * 2.0); + } + + vec2 offset = leftWC * expandDirection * expandWidth * czm_pixelRatio; + return vec4(clippedPositionWC.xy + offset, -clippedPositionWC.z, 1.0) * (czm_projection * clippedPositionEC).w; +} + +vec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float expandDirection, float width, bool usePrevious, out float angle) +{ + vec4 positionEC = czm_modelViewRelativeToEye * position; + vec4 prevEC = czm_modelViewRelativeToEye * previous; + vec4 nextEC = czm_modelViewRelativeToEye * next; + return getPolylineWindowCoordinatesEC(positionEC, prevEC, nextEC, expandDirection, width, usePrevious, angle); +} +`;var X8=`${Wl} +${qI}`,v1e=w0;Vt.isInternetExplorer()||(X8=`#define CLIP_POLYLINE +${X8}`);function z0(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=z0.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,X8),this._fragmentShaderSource=y(e.fragmentShaderSource,v1e),this._renderState=$i.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(z0.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});z0.VERTEX_FORMAT=Ie.POSITION_ONLY;z0.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;z0.prototype.isTranslucent=$i.prototype.isTranslucent;z0.prototype.getRenderState=$i.prototype.getRenderState;var Vr=z0;var XI=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec3 prevPosition3DHigh; +in vec3 prevPosition3DLow; +in vec3 nextPosition3DHigh; +in vec3 nextPosition3DLow; +in vec2 expandAndWidth; +in vec2 st; +in float batchId; + +out float v_width; +out vec2 v_st; +out float v_polylineAngle; + +void main() +{ + float expandDir = expandAndWidth.x; + float width = abs(expandAndWidth.y) + 0.5; + bool usePrev = expandAndWidth.y < 0.0; + + vec4 p = czm_computePosition(); + vec4 prev = czm_computePrevPosition(); + vec4 next = czm_computeNextPosition(); + + float angle; + vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle); + gl_Position = czm_viewportOrthographic * positionWC; + + v_width = width; + v_st.s = st.s; + v_st.t = czm_writeNonPerspective(st.t, gl_Position.w); + v_polylineAngle = angle; +} +`;var H0=`#ifdef VECTOR_TILE +uniform vec4 u_highlightColor; +#endif + +in vec2 v_st; + +void main() +{ + czm_materialInput materialInput; + + vec2 st = v_st; + st.t = czm_readNonPerspective(st.t, gl_FragCoord.w); + + materialInput.s = st.s; + materialInput.st = st; + materialInput.str = vec3(st, 0.0); + + czm_material material = czm_getMaterial(materialInput); + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#ifdef VECTOR_TILE + out_FragColor *= u_highlightColor; +#endif + + czm_writeLogDepth(); +} +`;var K8=`${Wl} +${XI}`,w1e=H0;Vt.isInternetExplorer()||(K8=`#define CLIP_POLYLINE +${K8}`);function G0(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=G0.VERTEX_FORMAT;this.material=u(e.material)?e.material:Vi.fromType(Vi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,K8),this._fragmentShaderSource=y(e.fragmentShaderSource,w1e),this._renderState=$i.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(G0.prototype,{vertexShaderSource:{get:function(){let e=this._vertexShaderSource;return this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&(e=`#define POLYLINE_DASH +${e}`),e}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});G0.VERTEX_FORMAT=Ie.POSITION_AND_ST;G0.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;G0.prototype.isTranslucent=$i.prototype.isTranslucent;G0.prototype.getRenderState=$i.prototype.getRenderState;var Vs=G0;function Zm(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this._hasPerInstanceColors=!0;let t=e.appearance;u(t)||(t=new Vs),this.appearance=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Un.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1;let n=this;this._readyPromise=new Promise((i,o)=>{n._completeLoad=()=>{this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let r=this._error;u(r)?o(r):i(this)}}),this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=zee(!1),this._renderState3DTiles=zee(!0),this._renderStateMorph=Ue.fromCache({cull:{enabled:!0,face:gi.FRONT},depthTest:{enabled:!0},blending:un.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(Zm.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}});Zm.initializeTerrainHeights=function(){return fi.initialize()};function I1e(e,t,n){let i=t.context,o=e._primitive,r=o._attributeLocations,s=o._batchTable.getVertexShaderCallback()(YI);s=Dn._appendShowToShader(o,s),s=Dn._appendDistanceDisplayConditionToShader(o,s),s=Dn._modifyShaderPosition(e,s,t.scene3DOnly);let a=o._batchTable.getVertexShaderCallback()(jI);a=Dn._appendShowToShader(o,a),a=Dn._appendDistanceDisplayConditionToShader(o,a),a=Dn._modifyShaderPosition(e,a,t.scene3DOnly);let c=o._batchTable.getVertexShaderCallback()(GI),l=[`GLOBE_MINIMUM_ALTITUDE ${t.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`],f="",d="";u(n.material)?(d=u(n.material)?n.material.shaderSource:"",d.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&l.push("ANGLE_VARYING"),d.search(/in\s+float\s+v_width;/g)!==-1&&l.push("WIDTH_VARYING")):f="PER_INSTANCE_COLOR",l.push(f);let p=e.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",f]:[f],g=new ke({defines:l,sources:[s]}),m=new ke({defines:p,sources:[d,c]});e._sp=Xt.replaceCache({context:i,shaderProgram:o._sp,vertexShaderSource:g,fragmentShaderSource:m,attributeLocations:r});let A=i.shaderCache.getDerivedShaderProgram(e._sp,"2dColor");if(!u(A)){let C=new ke({defines:l.concat(["COLUMBUS_VIEW_2D"]),sources:[s]});A=i.shaderCache.createDerivedShaderProgram(e._sp,"2dColor",{context:i,shaderProgram:e._sp2D,vertexShaderSource:C,fragmentShaderSource:m,attributeLocations:r})}e._sp2D=A;let x=i.shaderCache.getDerivedShaderProgram(e._sp,"MorphColor");if(!u(x)){let C=new ke({defines:l.concat([`MAX_TERRAIN_HEIGHT ${fi._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[a]});c=o._batchTable.getVertexShaderCallback()(WI);let T=new ke({defines:p,sources:[d,c]});x=i.shaderCache.createDerivedShaderProgram(e._sp,"MorphColor",{context:i,shaderProgram:e._spMorph,vertexShaderSource:C,fragmentShaderSource:T,attributeLocations:r})}e._spMorph=x}function zee(e){return Ue.fromCache({cull:{enabled:!0},blending:un.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:kn.EQUAL,frontOperation:{fail:ut.KEEP,zFail:ut.KEEP,zPass:ut.KEEP},backFunction:kn.EQUAL,backOperation:{fail:ut.KEEP,zFail:ut.KEEP,zPass:ut.KEEP},reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK}})}function P1e(e,t,n,i,o,r){let s=e._primitive,a=s._va.length;o.length=a,r.length=a;let l=t instanceof Vr?{}:n._uniforms,f=s._batchTable.getUniformMapCallback()(l);for(let d=0;d<a;d++){let p=s._va[d],g=o[d];u(g)||(g=o[d]=new tt({owner:e,primitiveType:s._primitiveType})),g.vertexArray=p,g.renderState=e._renderState,g.shaderProgram=e._sp,g.uniformMap=f,g.pass=Ee.TERRAIN_CLASSIFICATION,g.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";let m=tt.shallowClone(g,g.derivedCommands.tileset);m.renderState=e._renderState3DTiles,m.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,g.derivedCommands.tileset=m;let A=tt.shallowClone(g,g.derivedCommands.color2D);A.shaderProgram=e._sp2D,g.derivedCommands.color2D=A;let x=tt.shallowClone(m,m.derivedCommands.color2D);x.shaderProgram=e._sp2D,m.derivedCommands.color2D=x;let C=tt.shallowClone(g,g.derivedCommands.colorMorph);C.renderState=e._renderStateMorph,C.shaderProgram=e._spMorph,C.pickId="czm_batchTable_pickColor(v_batchId)",g.derivedCommands.colorMorph=C}}function Hee(e,t,n,i,o,r,s){n.mode===te.MORPHING?t=t.derivedCommands.colorMorph:n.mode!==te.SCENE3D&&(t=t.derivedCommands.color2D),t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function O1e(e,t,n,i,o,r,s){let a=e._primitive;Dn._updateBoundingVolumes(a,t,o);let c;t.mode===te.SCENE3D?c=a._boundingSphereWC:t.mode===te.COLUMBUS_VIEW?c=a._boundingSphereCV:t.mode===te.SCENE2D&&u(a._boundingSphere2D)?c=a._boundingSphere2D:u(a._boundingSphereMorph)&&(c=a._boundingSphereMorph);let l=t.mode===te.MORPHING,f=e.classificationType,d=f!==Un.CESIUM_3D_TILE,p=f!==Un.TERRAIN&&!l,g,m=t.passes;if(m.render||m.pick&&a.allowPicking){let A=n.length;for(let x=0;x<A;++x){let C=c[x];d&&(g=n[x],Hee(e,g,t,o,r,C,s)),p&&(g=n[x].derivedCommands.tileset,Hee(e,g,t,o,r,C,s))}}}Zm.prototype.update=function(e){if(!u(this._primitive)&&!u(this.geometryInstances))return;if(!fi.initialized){Zm.initializeTerrainHeights();return}let t,n=this,i=this._primitiveOptions;if(!u(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s=new Array(r),a;for(t=0;t<r;++t)if(a=o[t].attributes,!u(a)||!u(a.color)){this._hasPerInstanceColors=!1;break}for(t=0;t<r;++t){let c=o[t];a={};let l=c.attributes;for(let f in l)l.hasOwnProperty(f)&&(a[f]=l[f]);u(a.width)||(a.width=new Va({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,value:[c.geometry.width]})),c.geometry._scene3DOnly=e.scene3DOnly,k0.setProjectionAndEllipsoid(c.geometry,e.mapProjection),s[t]=new At({geometry:c.geometry,attributes:a,id:c.id,pickPrimitive:n})}i.geometryInstances=s,i.appearance=this.appearance,i._createShaderProgramFunction=function(c,l,f){I1e(n,l,f)},i._createCommandsFunction=function(c,l,f,d,p,g,m){P1e(n,l,f,d,g,m)},i._updateAndQueueCommandsFunction=function(c,l,f,d,p,g,m,A){O1e(n,l,f,d,p,g,m)},this._primitive=new Dn(i),this._primitive.readyPromise.then(this._completeLoad)}if(this.appearance instanceof Vr&&!this._hasPerInstanceColors)throw new de("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e)};Zm.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Zm.isSupported=function(e){return e.frameState.context.depthTexture};Zm.prototype.isDestroyed=function(){return!1};Zm.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,le(this)};var Qf=Zm;var R1e=new H(1,1),B1e=!1,M1e=z.WHITE;function mT(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new Ae,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}Object.defineProperties(mT.prototype,{isConstant:{get:function(){return Y.isConstant(this._image)&&Y.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:ae("image"),repeat:ae("repeat"),color:ae("color"),transparent:ae("transparent")});mT.prototype.getType=function(e){return"Image"};mT.prototype.getValue=function(e,t){return u(t)||(t={}),t.image=Y.getValueOrUndefined(this._image,e),t.repeat=Y.getValueOrClonedDefault(this._repeat,e,R1e,t.repeat),t.color=Y.getValueOrClonedDefault(this._color,e,M1e,t.color),Y.getValueOrDefault(this._transparent,e,B1e)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t};mT.prototype.equals=function(e){return this===e||e instanceof mT&&Y.equals(this._image,e._image)&&Y.equals(this._repeat,e._repeat)&&Y.equals(this._color,e._color)&&Y.equals(this._transparent,e._transparent)};var og=mT;function L1e(e){if(e instanceof z)return new Mt(e);if(typeof e=="string"||e instanceof Oe||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){let t=new og;return t.image=e,t}}function N1e(e,t){return ae(e,t,L1e)}var Io=N1e;function KI(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(KI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),dimensions:ae("dimensions"),heightReference:ae("heightReference"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});KI.prototype.clone=function(e){return u(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new KI(this)};KI.prototype.merge=function(e){this.show=y(this.show,e.show),this.dimensions=y(this.dimensions,e.dimensions),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var W0=KI;var F1e={FIXED:0,INERTIAL:1},to=Object.freeze(F1e);function pT(){de.throwInstantiationError()}Object.defineProperties(pT.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError},referenceFrame:{get:de.throwInstantiationError}});pT.prototype.getValue=de.throwInstantiationError;pT.prototype.getValueInReferenceFrame=de.throwInstantiationError;pT.prototype.equals=de.throwInstantiationError;var Z8=new Z;pT.convertToReferenceFrame=function(e,t,n,i,o){if(!u(t))return t;if(u(o)||(o=new h),n===i)return h.clone(t,o);let r=Ot.computeIcrfToFixedMatrix(e,Z8);if(u(r)||(r=Ot.computeTemeToPseudoFixedMatrix(e,Z8)),n===to.INERTIAL)return Z.multiplyByVector(r,t,o);if(n===to.FIXED)return Z.multiplyByVector(Z.transpose(r,Z8),t,o)};var Jm=pT;function j0(e,t){this._definitionChanged=new Ae,this._value=h.clone(e),this._referenceFrame=y(t,to.FIXED)}Object.defineProperties(j0.prototype,{isConstant:{get:function(){return!u(this._value)||this._referenceFrame===to.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});j0.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,to.FIXED,t)};j0.prototype.setValue=function(e,t){let n=!1;h.equals(this._value,e)||(n=!0,this._value=h.clone(e)),u(t)&&this._referenceFrame!==t&&(n=!0,this._referenceFrame=t),n&&this._definitionChanged.raiseEvent(this)};j0.prototype.getValueInReferenceFrame=function(e,t,n){return Jm.convertToReferenceFrame(e,this._value,this._referenceFrame,t,n)};j0.prototype.equals=function(e){return this===e||e instanceof j0&&h.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame};var Sc=j0;function ZI(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(ZI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),positions:ae("positions"),width:ae("width"),height:ae("height"),heightReference:ae("heightReference"),extrudedHeight:ae("extrudedHeight"),extrudedHeightReference:ae("extrudedHeightReference"),cornerType:ae("cornerType"),granularity:ae("granularity"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex")});ZI.prototype.clone=function(e){return u(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new ZI(this)};ZI.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Y0=ZI;function V1e(e){return e}function U1e(e,t){return ae(e,t,V1e)}var al=U1e;function JI(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(JI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),length:ae("length"),topRadius:ae("topRadius"),bottomRadius:ae("bottomRadius"),heightReference:ae("heightReference"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),numberOfVerticalLines:ae("numberOfVerticalLines"),slices:ae("slices"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});JI.prototype.clone=function(e){return u(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new JI(this)};JI.prototype.merge=function(e){this.show=y(this.show,e.show),this.length=y(this.length,e.length),this.topRadius=y(this.topRadius,e.topRadius),this.bottomRadius=y(this.bottomRadius,e.bottomRadius),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=y(this.slices,e.slices),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var q0=JI;function QI(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(QI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),semiMajorAxis:ae("semiMajorAxis"),semiMinorAxis:ae("semiMinorAxis"),height:ae("height"),heightReference:ae("heightReference"),extrudedHeight:ae("extrudedHeight"),extrudedHeightReference:ae("extrudedHeightReference"),rotation:ae("rotation"),stRotation:ae("stRotation"),granularity:ae("granularity"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),numberOfVerticalLines:ae("numberOfVerticalLines"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex")});QI.prototype.clone=function(e){return u(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new QI(this)};QI.prototype.merge=function(e){this.show=y(this.show,e.show),this.semiMajorAxis=y(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=y(this.semiMinorAxis,e.semiMinorAxis),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var X0=QI;function $I(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties($I.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),radii:ae("radii"),innerRadii:ae("innerRadii"),minimumClock:ae("minimumClock"),maximumClock:ae("maximumClock"),minimumCone:ae("minimumCone"),maximumCone:ae("maximumCone"),heightReference:ae("heightReference"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),stackPartitions:ae("stackPartitions"),slicePartitions:ae("slicePartitions"),subdivisions:ae("subdivisions"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});$I.prototype.clone=function(e){return u(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new $I(this)};$I.prototype.merge=function(e){this.show=y(this.show,e.show),this.radii=y(this.radii,e.radii),this.innerRadii=y(this.innerRadii,e.innerRadii),this.minimumClock=y(this.minimumClock,e.minimumClock),this.maximumClock=y(this.maximumClock,e.maximumClock),this.minimumCone=y(this.minimumCone,e.minimumCone),this.maximumCone=y(this.maximumCone,e.maximumCone),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.stackPartitions=y(this.stackPartitions,e.stackPartitions),this.slicePartitions=y(this.slicePartitions,e.slicePartitions),this.subdivisions=y(this.subdivisions,e.subdivisions),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var K0=$I;function eP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(eP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),text:ae("text"),font:ae("font"),style:ae("style"),scale:ae("scale"),showBackground:ae("showBackground"),backgroundColor:ae("backgroundColor"),backgroundPadding:ae("backgroundPadding"),pixelOffset:ae("pixelOffset"),eyeOffset:ae("eyeOffset"),horizontalOrigin:ae("horizontalOrigin"),verticalOrigin:ae("verticalOrigin"),heightReference:ae("heightReference"),fillColor:ae("fillColor"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),translucencyByDistance:ae("translucencyByDistance"),pixelOffsetScaleByDistance:ae("pixelOffsetScaleByDistance"),scaleByDistance:ae("scaleByDistance"),distanceDisplayCondition:ae("distanceDisplayCondition"),disableDepthTestDistance:ae("disableDepthTestDistance")});eP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new eP(this)};eP.prototype.merge=function(e){this.show=y(this.show,e.show),this.text=y(this.text,e.text),this.font=y(this.font,e.font),this.style=y(this.style,e.style),this.scale=y(this.scale,e.scale),this.showBackground=y(this.showBackground,e.showBackground),this.backgroundColor=y(this.backgroundColor,e.backgroundColor),this.backgroundPadding=y(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=y(this.pixelOffset,e.pixelOffset),this.eyeOffset=y(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this.verticalOrigin,e.verticalOrigin),this.heightReference=y(this.heightReference,e.heightReference),this.fillColor=y(this.fillColor,e.fillColor),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=y(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var $f=eP;var k1e=new h(1,1,1),z1e=h.ZERO,H1e=Le.IDENTITY;function Gee(e,t,n){this.translation=h.clone(y(e,z1e)),this.rotation=Le.clone(y(t,H1e)),this.scale=h.clone(y(n,k1e))}Gee.prototype.equals=function(e){return this===e||u(e)&&h.equals(this.translation,e.translation)&&Le.equals(this.rotation,e.rotation)&&h.equals(this.scale,e.scale)};var rg=Gee;var J8=new rg;function tP(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new Ae,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}Object.defineProperties(tP.prototype,{isConstant:{get:function(){return Y.isConstant(this._translation)&&Y.isConstant(this._rotation)&&Y.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:ae("translation"),rotation:ae("rotation"),scale:ae("scale")});tP.prototype.getValue=function(e,t){return u(t)||(t=new rg),t.translation=Y.getValueOrClonedDefault(this._translation,e,J8.translation,t.translation),t.rotation=Y.getValueOrClonedDefault(this._rotation,e,J8.rotation,t.rotation),t.scale=Y.getValueOrClonedDefault(this._scale,e,J8.scale,t.scale),t};tP.prototype.equals=function(e){return this===e||e instanceof tP&&Y.equals(this._translation,e._translation)&&Y.equals(this._rotation,e._rotation)&&Y.equals(this._scale,e._scale)};var Z0=tP;function Qm(e,t){this._propertyNames=[],this._definitionChanged=new Ae,u(e)&&this.merge(e,t)}Object.defineProperties(Qm.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let e=this._propertyNames;for(let t=0,n=e.length;t<n;t++)if(!Y.isConstant(this[e[t]]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});Qm.prototype.hasProperty=function(e){return this._propertyNames.indexOf(e)!==-1};function G1e(e){return new ei(e)}Qm.prototype.addProperty=function(e,t,n){this._propertyNames.push(e),Object.defineProperty(this,e,ae(e,!0,y(n,G1e))),u(t)&&(this[e]=t),this._definitionChanged.raiseEvent(this)};Qm.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e],this._definitionChanged.raiseEvent(this)};Qm.prototype.getValue=function(e,t){u(t)||(t={});let n=this._propertyNames;for(let i=0,o=n.length;i<o;i++){let r=n[i];t[r]=Y.getValueOrUndefined(this[r],e,t[r])}return t};Qm.prototype.merge=function(e,t){let n=this._propertyNames,i=u(e._propertyNames)?e._propertyNames:Object.keys(e);for(let o=0,r=i.length;o<r;o++){let s=i[o],a=this[s],c=e[s];a===void 0&&n.indexOf(s)===-1&&this.addProperty(s,void 0,t),c!==void 0&&(a!==void 0?u(a)&&u(a.merge)&&a.merge(c):u(c)&&u(c.merge)&&u(c.clone)?this[s]=c.clone():this[s]=c)}};function W1e(e,t){let n=e._propertyNames,i=t._propertyNames,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;++r){let s=n[r];if(i.indexOf(s)===-1||!Y.equals(e[s],t[s]))return!1}return!0}Qm.prototype.equals=function(e){return this===e||e instanceof Qm&&W1e(this,e)};var cl=Qm;function Wee(e){return new Z0(e)}function j1e(e){return new cl(e,Wee)}function Y1e(e){return new cl(e)}function nP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._minimumPixelSize=void 0,this._minimumPixelSizeSubscription=void 0,this._maximumScale=void 0,this._maximumScaleSubscription=void 0,this._incrementallyLoadTextures=void 0,this._incrementallyLoadTexturesSubscription=void 0,this._runAnimations=void 0,this._runAnimationsSubscription=void 0,this._clampAnimations=void 0,this._clampAnimationsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._silhouetteColor=void 0,this._silhouetteColorSubscription=void 0,this._silhouetteSize=void 0,this._silhouetteSizeSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._colorBlendMode=void 0,this._colorBlendModeSubscription=void 0,this._colorBlendAmount=void 0,this._colorBlendAmountSubscription=void 0,this._imageBasedLightingFactor=void 0,this._imageBasedLightingFactorSubscription=void 0,this._lightColor=void 0,this._lightColorSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._nodeTransformations=void 0,this._nodeTransformationsSubscription=void 0,this._articulations=void 0,this._articulationsSubscription=void 0,this._clippingPlanes=void 0,this._clippingPlanesSubscription=void 0,this._customShader=void 0,this._customShaderSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(nP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),uri:ae("uri"),scale:ae("scale"),minimumPixelSize:ae("minimumPixelSize"),maximumScale:ae("maximumScale"),incrementallyLoadTextures:ae("incrementallyLoadTextures"),runAnimations:ae("runAnimations"),clampAnimations:ae("clampAnimations"),shadows:ae("shadows"),heightReference:ae("heightReference"),silhouetteColor:ae("silhouetteColor"),silhouetteSize:ae("silhouetteSize"),color:ae("color"),colorBlendMode:ae("colorBlendMode"),colorBlendAmount:ae("colorBlendAmount"),imageBasedLightingFactor:ae("imageBasedLightingFactor"),lightColor:ae("lightColor"),distanceDisplayCondition:ae("distanceDisplayCondition"),nodeTransformations:ae("nodeTransformations",void 0,j1e),articulations:ae("articulations",void 0,Y1e),clippingPlanes:ae("clippingPlanes"),customShader:ae("customShader")});nP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.uri=this.uri,e.scale=this.scale,e.minimumPixelSize=this.minimumPixelSize,e.maximumScale=this.maximumScale,e.incrementallyLoadTextures=this.incrementallyLoadTextures,e.runAnimations=this.runAnimations,e.clampAnimations=this.clampAnimations,e.heightReference=this._heightReference,e.silhouetteColor=this.silhouetteColor,e.silhouetteSize=this.silhouetteSize,e.color=this.color,e.colorBlendMode=this.colorBlendMode,e.colorBlendAmount=this.colorBlendAmount,e.imageBasedLightingFactor=this.imageBasedLightingFactor,e.lightColor=this.lightColor,e.distanceDisplayCondition=this.distanceDisplayCondition,e.nodeTransformations=this.nodeTransformations,e.articulations=this.articulations,e.clippingPlanes=this.clippingPlanes,e.customShader=this.customShader,e):new nP(this)};nP.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.scale=y(this.scale,e.scale),this.minimumPixelSize=y(this.minimumPixelSize,e.minimumPixelSize),this.maximumScale=y(this.maximumScale,e.maximumScale),this.incrementallyLoadTextures=y(this.incrementallyLoadTextures,e.incrementallyLoadTextures),this.runAnimations=y(this.runAnimations,e.runAnimations),this.clampAnimations=y(this.clampAnimations,e.clampAnimations),this.shadows=y(this.shadows,e.shadows),this.heightReference=y(this.heightReference,e.heightReference),this.silhouetteColor=y(this.silhouetteColor,e.silhouetteColor),this.silhouetteSize=y(this.silhouetteSize,e.silhouetteSize),this.color=y(this.color,e.color),this.colorBlendMode=y(this.colorBlendMode,e.colorBlendMode),this.colorBlendAmount=y(this.colorBlendAmount,e.colorBlendAmount),this.imageBasedLightingFactor=y(this.imageBasedLightingFactor,e.imageBasedLightingFactor),this.lightColor=y(this.lightColor,e.lightColor),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.clippingPlanes=y(this.clippingPlanes,e.clippingPlanes),this.customShader=y(this.customShader,e.customShader);let t=e.nodeTransformations;if(u(t)){let i=this.nodeTransformations;u(i)?i.merge(t):this.nodeTransformations=new cl(t,Wee)}let n=e.articulations;if(u(n)){let i=this.articulations;u(i)?i.merge(n):this.articulations=new cl(n)}};var $m=nP;function iP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._maximumScreenSpaceError=void 0,this._maximumScreenSpaceErrorSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(iP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),uri:ae("uri"),maximumScreenSpaceError:ae("maximumScreenSpaceError")});iP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.uri=this.uri,e.maximumScreenSpaceError=this.maximumScreenSpaceError,e):new iP(this)};iP.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.maximumScreenSpaceError=y(this.maximumScreenSpaceError,e.maximumScreenSpaceError)};var J0=iP;function oP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._leadTime=void 0,this._leadTimeSubscription=void 0,this._trailTime=void 0,this._trailTimeSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._resolution=void 0,this._resolutionSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(oP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),leadTime:ae("leadTime"),trailTime:ae("trailTime"),width:ae("width"),resolution:ae("resolution"),material:Io("material"),distanceDisplayCondition:ae("distanceDisplayCondition")});oP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e.width=this.width,e.resolution=this.resolution,e.material=this.material,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new oP(this)};oP.prototype.merge=function(e){this.show=y(this.show,e.show),this.leadTime=y(this.leadTime,e.leadTime),this.trailTime=y(this.trailTime,e.trailTime),this.width=y(this.width,e.width),this.resolution=y(this.resolution,e.resolution),this.material=y(this.material,e.material),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var ep=oP;function rP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(rP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),plane:ae("plane"),dimensions:ae("dimensions"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});rP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.plane=this.plane,e.dimensions=this.dimensions,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new rP(this)};rP.prototype.merge=function(e){this.show=y(this.show,e.show),this.plane=y(this.plane,e.plane),this.dimensions=y(this.dimensions,e.dimensions),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var sP=rP;function aP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._pixelSize=void 0,this._pixelSizeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(aP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),pixelSize:ae("pixelSize"),heightReference:ae("heightReference"),color:ae("color"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),scaleByDistance:ae("scaleByDistance"),translucencyByDistance:ae("translucencyByDistance"),distanceDisplayCondition:ae("distanceDisplayCondition"),disableDepthTestDistance:ae("disableDepthTestDistance")});aP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.pixelSize=this.pixelSize,e.heightReference=this.heightReference,e.color=this.color,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scaleByDistance=this.scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new aP(this)};aP.prototype.merge=function(e){this.show=y(this.show,e.show),this.pixelSize=y(this.pixelSize,e.pixelSize),this.heightReference=y(this.heightReference,e.heightReference),this.color=y(this.color,e.color),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var Q0=aP;function q1e(e,t){this.positions=u(e)?e:[],this.holes=u(t)?t:[]}var Dc=q1e;function X1e(e){return Array.isArray(e)&&(e=new Dc(e)),new ei(e)}function cP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._hierarchy=void 0,this._hierarchySubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._perPositionHeight=void 0,this._perPositionHeightSubscription=void 0,this._closeTop=void 0,this._closeTopSubscription=void 0,this._closeBottom=void 0,this._closeBottomSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this._textureCoordinates=void 0,this._textureCoordinatesSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(cP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),hierarchy:ae("hierarchy",void 0,X1e),height:ae("height"),heightReference:ae("heightReference"),extrudedHeight:ae("extrudedHeight"),extrudedHeightReference:ae("extrudedHeightReference"),stRotation:ae("stRotation"),granularity:ae("granularity"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),perPositionHeight:ae("perPositionHeight"),closeTop:ae("closeTop"),closeBottom:ae("closeBottom"),arcType:ae("arcType"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex"),textureCoordinates:ae("textureCoordinates")});cP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.hierarchy=this.hierarchy,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.perPositionHeight=this.perPositionHeight,e.closeTop=this.closeTop,e.closeBottom=this.closeBottom,e.arcType=this.arcType,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e.textureCoordinates=this.textureCoordinates,e):new cP(this)};cP.prototype.merge=function(e){this.show=y(this.show,e.show),this.hierarchy=y(this.hierarchy,e.hierarchy),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.perPositionHeight=y(this.perPositionHeight,e.perPositionHeight),this.closeTop=y(this.closeTop,e.closeTop),this.closeBottom=y(this.closeBottom,e.closeBottom),this.arcType=y(this.arcType,e.arcType),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex),this.textureCoordinates=y(this.textureCoordinates,e.textureCoordinates)};var ed=cP;function lP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._depthFailMaterial=void 0,this._depthFailMaterialSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._clampToGround=void 0,this._clampToGroundSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(lP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),positions:ae("positions"),width:ae("width"),granularity:ae("granularity"),material:Io("material"),depthFailMaterial:Io("depthFailMaterial"),arcType:ae("arcType"),clampToGround:ae("clampToGround"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex")});lP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.granularity=this.granularity,e.material=this.material,e.depthFailMaterial=this.depthFailMaterial,e.arcType=this.arcType,e.clampToGround=this.clampToGround,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new lP(this)};lP.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.granularity=y(this.granularity,e.granularity),this.material=y(this.material,e.material),this.depthFailMaterial=y(this.depthFailMaterial,e.depthFailMaterial),this.arcType=y(this.arcType,e.arcType),this.clampToGround=y(this.clampToGround,e.clampToGround),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Ua=lP;function uP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._shape=void 0,this._shapeSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubsription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(uP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),positions:ae("positions"),shape:ae("shape"),cornerType:ae("cornerType"),granularity:ae("granularity"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});uP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.positions=this.positions,e.shape=this.shape,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new uP(this)};uP.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.shape=y(this.shape,e.shape),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var $0=uP;function fP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._coordinates=void 0,this._coordinatesSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distancedisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(fP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),coordinates:ae("coordinates"),height:ae("height"),heightReference:ae("heightReference"),extrudedHeight:ae("extrudedHeight"),extrudedHeightReference:ae("extrudedHeightReference"),rotation:ae("rotation"),stRotation:ae("stRotation"),granularity:ae("granularity"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex")});fP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.coordinates=this.coordinates,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new fP(this)};fP.prototype.merge=function(e){this.show=y(this.show,e.show),this.coordinates=y(this.coordinates,e.coordinates),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var td=fP;function dP(e){this._definitionChanged=new Ae,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._minimumHeights=void 0,this._minimumHeightsSubscription=void 0,this._maximumHeights=void 0,this._maximumHeightsSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(dP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),positions:ae("positions"),minimumHeights:ae("minimumHeights"),maximumHeights:ae("maximumHeights"),granularity:ae("granularity"),fill:ae("fill"),material:Io("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});dP.prototype.clone=function(e){return u(e)?(e.show=this.show,e.positions=this.positions,e.minimumHeights=this.minimumHeights,e.maximumHeights=this.maximumHeights,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new dP(this)};dP.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.minimumHeights=y(this.minimumHeights,e.minimumHeights),this.maximumHeights=y(this.maximumHeights,e.maximumHeights),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var tp=dP;var K1e=new he;function Z1e(e){return new Sc(e)}function J1e(e){return ae(e,void 0,Z1e)}function Us(e,t){return ae(e,void 0,function(n){return n instanceof t?n:new t(n)})}function Sh(e){e=y(e,y.EMPTY_OBJECT);let t=e.id;u(t)||(t=zn()),this._availability=void 0,this._id=t,this._definitionChanged=new Ae,this._name=e.name,this._show=y(e.show,!0),this._parent=void 0,this._propertyNames=["billboard","box","corridor","cylinder","description","ellipse","ellipsoid","label","model","tileset","orientation","path","plane","point","polygon","polyline","polylineVolume","position","properties","rectangle","viewFrom","wall"],this._billboard=void 0,this._billboardSubscription=void 0,this._box=void 0,this._boxSubscription=void 0,this._corridor=void 0,this._corridorSubscription=void 0,this._cylinder=void 0,this._cylinderSubscription=void 0,this._description=void 0,this._descriptionSubscription=void 0,this._ellipse=void 0,this._ellipseSubscription=void 0,this._ellipsoid=void 0,this._ellipsoidSubscription=void 0,this._label=void 0,this._labelSubscription=void 0,this._model=void 0,this._modelSubscription=void 0,this._tileset=void 0,this._tilesetSubscription=void 0,this._orientation=void 0,this._orientationSubscription=void 0,this._path=void 0,this._pathSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._point=void 0,this._pointSubscription=void 0,this._polygon=void 0,this._polygonSubscription=void 0,this._polyline=void 0,this._polylineSubscription=void 0,this._polylineVolume=void 0,this._polylineVolumeSubscription=void 0,this._position=void 0,this._positionSubscription=void 0,this._properties=void 0,this._propertiesSubscription=void 0,this._rectangle=void 0,this._rectangleSubscription=void 0,this._viewFrom=void 0,this._viewFromSubscription=void 0,this._wall=void 0,this._wallSubscription=void 0,this._children=[],this.entityCollection=void 0,this.parent=e.parent,this.merge(e)}function Q8(e,t,n){let i=t.length;for(let o=0;o<i;o++){let r=t[o],s=r._show;(!n&&s)!==(n&&s)&&Q8(r,r._children,n)}e._definitionChanged.raiseEvent(e,"isShowing",n,!n)}Object.defineProperties(Sh.prototype,{availability:al("availability"),id:{get:function(){return this._id}},definitionChanged:{get:function(){return this._definitionChanged}},name:al("name"),show:{get:function(){return this._show},set:function(e){if(e===this._show)return;let t=this.isShowing;this._show=e;let n=this.isShowing;t!==n&&Q8(this,this._children,n),this._definitionChanged.raiseEvent(this,"show",e,!e)}},isShowing:{get:function(){return this._show&&(!u(this.entityCollection)||this.entityCollection.show)&&(!u(this._parent)||this._parent.isShowing)}},parent:{get:function(){return this._parent},set:function(e){let t=this._parent;if(t===e)return;let n=this.isShowing;if(u(t)){let o=t._children.indexOf(this);t._children.splice(o,1)}this._parent=e,u(e)&&e._children.push(this);let i=this.isShowing;n!==i&&Q8(this,this._children,i),this._definitionChanged.raiseEvent(this,"parent",e,t)}},propertyNames:{get:function(){return this._propertyNames}},billboard:Us("billboard",Na),box:Us("box",W0),corridor:Us("corridor",Y0),cylinder:Us("cylinder",q0),description:ae("description"),ellipse:Us("ellipse",X0),ellipsoid:Us("ellipsoid",K0),label:Us("label",$f),model:Us("model",$m),tileset:Us("tileset",J0),orientation:ae("orientation"),path:Us("path",ep),plane:Us("plane",sP),point:Us("point",Q0),polygon:Us("polygon",ed),polyline:Us("polyline",Ua),polylineVolume:Us("polylineVolume",$0),properties:Us("properties",cl),position:J1e("position"),rectangle:Us("rectangle",td),viewFrom:ae("viewFrom"),wall:Us("wall",tp)});Sh.prototype.isAvailable=function(e){let t=this._availability;return!u(t)||t.contains(e)};Sh.prototype.addProperty=function(e){this._propertyNames.push(e),Object.defineProperty(this,e,al(e,!0))};Sh.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e]};Sh.prototype.merge=function(e){this.name=y(this.name,e.name),this.availability=y(this.availability,e.availability);let t=this._propertyNames,n=u(e._propertyNames)?e._propertyNames:Object.keys(e),i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r==="parent"||r==="name"||r==="availability")continue;let s=this[r],a=e[r];!u(s)&&t.indexOf(r)===-1&&this.addProperty(r),u(a)&&(u(s)?u(s.merge)&&s.merge(a):u(a.merge)&&u(a.clone)?this[r]=a.clone():this[r]=a)}};var jee=new Z,Yee=new h,qee=new Le;Sh.prototype.computeModelMatrix=function(e,t){let n=Y.getValueOrUndefined(this._position,e,Yee);if(!u(n))return;let i=Y.getValueOrUndefined(this._orientation,e,qee);return u(i)?t=M.fromRotationTranslation(Z.fromQuaternion(i,jee),n,t):t=Ot.eastNorthUpToFixedFrame(n,void 0,t),t};Sh.prototype.computeModelMatrixForHeightReference=function(e,t,n,i,o){let r=Y.getValueOrDefault(t,e,We.NONE),s=Y.getValueOrUndefined(this._position,e,Yee);if(r===We.NONE||!u(s)||h.equalsEpsilon(s,h.ZERO,P.EPSILON8))return this.computeModelMatrix(e,o);let a=i.cartesianToCartographic(s,K1e);r===We.CLAMP_TO_GROUND?a.height=n:a.height+=n,s=i.cartographicToCartesian(a,s);let c=Y.getValueOrUndefined(this._orientation,e,qee);return u(c)?o=M.fromRotationTranslation(Z.fromQuaternion(c,jee),s,o):o=Ot.eastNorthUpToFixedFrame(s,void 0,o),o};Sh.supportsMaterialsforEntitiesOnTerrain=function(e){return Ec.supportsMaterials(e)};Sh.supportsPolylinesOnTerrain=function(e){return Qf.isSupported(e)};var jo=Sh;var Q1e=new Mt(z.WHITE),$1e=new ei(!0),eOe=new ei(!0),tOe=new ei(!1),nOe=new ei(z.BLACK),iOe=new ei(gn.DISABLED),oOe=new ei(new bt),rOe=new ei(Un.BOTH);function vc(e){let t=e.entity,n=e.geometryPropertyName;this._entity=t,this._scene=e.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new Ae,this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=e.geometryOptions,this._geometryPropertyName=n,this._id=`${n}-${t.id}`,this._observedPropertyNames=e.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=jo.supportsMaterialsforEntitiesOnTerrain(e.scene)}Object.defineProperties(vc.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!u(this._entity.availability)&&Y.isConstant(this._showProperty)&&Y.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!u(this._entity.availability)&&Y.isConstant(this._showProperty)&&Y.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}});vc.prototype.isOutlineVisible=function(e){let t=this._entity,n=this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e);return y(n,!1)};vc.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e);return y(n,!1)};vc.prototype.createFillGeometryInstance=de.throwInstantiationError;vc.prototype.createOutlineGeometryInstance=de.throwInstantiationError;vc.prototype.isDestroyed=function(){return!1};vc.prototype.destroy=function(){le(this)};vc.prototype._isHidden=function(e,t){let n=t.show;return u(n)&&n.isConstant&&!n.getValue(ze.MINIMUM_VALUE)};vc.prototype._isOnTerrain=function(e,t){return!1};vc.prototype._getIsClosed=function(e){return!0};vc.prototype._isDynamic=de.throwInstantiationError;vc.prototype._setStaticOptions=de.throwInstantiationError;vc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!u(o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.fill,s=u(r)&&r.isConstant?r.getValue(ze.MINIMUM_VALUE):!0,a=o.outline,c=u(a);if(c&&a.isConstant&&(c=a.getValue(ze.MINIMUM_VALUE)),!s&&!c){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let l=o.show;if(this._isHidden(e,o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}this._materialProperty=y(o.material,Q1e),this._fillProperty=y(r,eOe),this._showProperty=y(l,$1e),this._showOutlineProperty=y(o.outline,tOe),this._outlineColorProperty=c?y(o.outlineColor,nOe):void 0,this._shadowsProperty=y(o.shadows,iOe),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,oOe),this._classificationTypeProperty=y(o.classificationType,rOe),this._fillEnabled=s;let f=this._isOnTerrain(e,o)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof Mt);if(c&&f&&(wt(wt.geometryOutlines),c=!1),this._onTerrain=f,this._outlineEnabled=c,this._isDynamic(e,o))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{this._setStaticOptions(e,o),this._isClosed=this._getIsClosed(this._options);let d=o.outlineWidth;this._outlineWidth=u(d)?d.getValue(ze.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};vc.prototype.createDynamicUpdater=function(e,t){return new this.constructor.DynamicGeometryUpdater(this,e,t)};var si=vc;function _T(e,t){this._callback=void 0,this._isConstant=void 0,this._definitionChanged=new Ae,this.setCallback(e,t)}Object.defineProperties(_T.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}}});_T.prototype.getValue=function(e,t){return this._callback(e,t)};_T.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};_T.prototype.equals=function(e){return this===e||e instanceof _T&&this._callback===e._callback&&this._isConstant===e._isConstant};var nd=_T;var Xee=new h,sOe=new he;function gT(e,t,n,i){this._scene=e,this._heightReference=n,this._extrudedHeightReference=i,this._positionProperty=t,this._position=new h,this._cartographicPosition=new he,this._normal=new h,this._definitionChanged=new Ae,this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;let o=this;if(u(e.globe)&&(this._removeEventListener=e.terrainProviderChanged.addEventListener(function(){o._updateClamping()}),this._removeModeListener=e.morphComplete.addEventListener(function(){o._updateClamping()})),t.isConstant){let r=t.getValue(ze.MINIMUM_VALUE,Xee);if(!u(r)||h.equals(r,h.ZERO)||!u(e.globe))return;this._position=h.clone(r,this._position),this._updateClamping(),this._normal=e.globe.ellipsoid.geodeticSurfaceNormal(r,this._normal)}}Object.defineProperties(gT.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}});gT.prototype._updateClamping=function(){u(this._removeCallbackFunc)&&this._removeCallbackFunc();let e=this._scene,t=e.globe,n=this._position;if(!u(t)||h.equals(n,h.ZERO)){this._terrainHeight=0;return}let i=t.ellipsoid,o=t._surface,r=this,s=i.cartesianToCartographic(n,this._cartographicPosition),a=t.getHeight(s);u(a)?this._terrainHeight=a:this._terrainHeight=0;function c(l){if(e.mode===te.SCENE3D){let f=i.cartesianToCartographic(l,sOe);r._terrainHeight=f.height}else r._terrainHeight=l.x;r.definitionChanged.raiseEvent()}this._removeCallbackFunc=o.updateHeight(s,c)};gT.prototype.getValue=function(e,t){let n=Y.getValueOrDefault(this._heightReference,e,We.NONE),i=Y.getValueOrDefault(this._extrudedHeightReference,e,We.NONE);if(n===We.NONE&&i!==We.RELATIVE_TO_GROUND)return this._position=h.clone(h.ZERO,this._position),h.clone(h.ZERO,t);if(this._positionProperty.isConstant)return h.multiplyByScalar(this._normal,this._terrainHeight,t);let o=this._scene,r=this._positionProperty.getValue(e,Xee);if(!u(r)||h.equals(r,h.ZERO)||!u(o.globe))return h.clone(h.ZERO,t);if(h.equalsEpsilon(this._position,r,P.EPSILON10))return h.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=h.clone(r,this._position),this._updateClamping();let s=o.globe.ellipsoid.geodeticSurfaceNormal(r,this._normal);return h.multiplyByScalar(s,this._terrainHeight,t)};gT.prototype.isDestroyed=function(){return!1};gT.prototype.destroy=function(){return u(this._removeEventListener)&&this._removeEventListener(),u(this._removeModeListener)&&this._removeModeListener(),u(this._removeCallbackFunc)&&this._removeCallbackFunc(),le(this)};var eA=gT;function aOe(e,t,n,i){if(si.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!u(o))return;u(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference;if(u(r)){let s=new nd(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new eA(this._scene,s,r)}}var np=aOe;var Kee=h.ZERO,Zee=new h,cOe=new h,Jee=new z;function lOe(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function jl(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new lOe(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}u(Object.create)&&(jl.prototype=Object.create(si.prototype),jl.prototype.constructor=jl);Object.defineProperties(jl.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});jl.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Vn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Mt){let a;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Jee)),u(a)||(a=z.WHITE),s.color=Nt.fromColor(a)}return u(this._options.offsetAttribute)&&(s.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,Kee,Zee))),new At({id:t,geometry:ol.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.mapProjection.ellipsoid),attributes:s})};jl.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Jee),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o),offset:void 0};return u(this._options.offsetAttribute)&&(r.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,Kee,Zee))),new At({id:t,geometry:Xf.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.mapProjection.ellipsoid),attributes:r})};jl.prototype._computeCenter=function(e,t){return Y.getValueOrUndefined(this._entity.position,e,t)};jl.prototype._isHidden=function(e,t){return!u(t.dimensions)||!u(e.position)||si.prototype._isHidden.call(this,e,t)};jl.prototype._isDynamic=function(e,t){return!e.position.isConstant||!Y.isConstant(e.orientation)||!t.dimensions.isConstant||!Y.isConstant(t.outlineWidth)};jl.prototype._setStaticOptions=function(e,t){let n=Y.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,We.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Mt?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat,i.dimensions=t.dimensions.getValue(ze.MINIMUM_VALUE,i.dimensions),i.offsetAttribute=n!==We.NONE?nn.ALL:void 0};jl.prototype._onEntityPropertyChanged=np;jl.DynamicGeometryUpdater=yT;function yT(e,t,n){ri.call(this,e,t,n)}u(Object.create)&&(yT.prototype=Object.create(ri.prototype),yT.prototype.constructor=yT);yT.prototype._isHidden=function(e,t,n){let i=Y.getValueOrUndefined(e.position,n,cOe),o=this._options.dimensions;return!u(i)||!u(o)||ri.prototype._isHidden.call(this,e,t,n)};yT.prototype._setOptions=function(e,t,n){let i=Y.getValueOrDefault(t.heightReference,n,We.NONE),o=this._options;o.dimensions=Y.getValueOrUndefined(t.dimensions,n,o.dimensions),o.offsetAttribute=i!==We.NONE?nn.ALL:void 0};var hP=jl;var $ee=vo(Qee(),1);var uOe=0,t5={};function ip(e,t){let n,i=e;u(t5[i])?n=t5[i]:(n=uOe++,t5[i]=n),t=y(t,!1),this._id=n,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(ip.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen},set:function(e){this._showOnScreen=e}},element:{get:function(){if(!u(this._element)){let e=$ee.default.sanitize(this._html),t=document.createElement("div");t._creditId=this._id,t.style.display="inline",t.innerHTML=e;let n=t.querySelectorAll("a");for(let i=0;i<n.length;i++)n[i].setAttribute("target","_blank");this._element=t}return this._element}}});ip.equals=function(e,t){return e===t||u(e)&&u(t)&&e._id===t._id&&e._showOnScreen===t._showOnScreen};ip.prototype.equals=function(e){return ip.equals(this,e)};ip.getIonCredit=function(e){let t=u(e.collapsible)&&!e.collapsible,n=new ip(e.html,t);return n._isIon=n.html.indexOf("ion-credit.png")!==-1,n};ip.clone=function(e){if(u(e))return new ip(e.html,e.showOnScreen)};var Zt=ip;var mP=`in vec2 v_textureCoordinates; + +uniform float originalSize; +uniform sampler2D texture0; +uniform sampler2D texture1; +uniform sampler2D texture2; +uniform sampler2D texture3; +uniform sampler2D texture4; +uniform sampler2D texture5; + +const float yMipLevel1 = 1.0 - (1.0 / pow(2.0, 1.0)); +const float yMipLevel2 = 1.0 - (1.0 / pow(2.0, 2.0)); +const float yMipLevel3 = 1.0 - (1.0 / pow(2.0, 3.0)); +const float yMipLevel4 = 1.0 - (1.0 / pow(2.0, 4.0)); + +void main() +{ + vec2 uv = v_textureCoordinates; + vec2 textureSize = vec2(originalSize * 1.5 + 2.0, originalSize); + vec2 pixel = 1.0 / textureSize; + + float mipLevel = 0.0; + + if (uv.x - pixel.x > (textureSize.y / textureSize.x)) + { + mipLevel = 1.0; + if (uv.y - pixel.y > yMipLevel1) + { + mipLevel = 2.0; + if (uv.y - pixel.y * 3.0 > yMipLevel2) + { + mipLevel = 3.0; + if (uv.y - pixel.y * 5.0 > yMipLevel3) + { + mipLevel = 4.0; + if (uv.y - pixel.y * 7.0 > yMipLevel4) + { + mipLevel = 5.0; + } + } + } + } + } + + if (mipLevel > 0.0) + { + float scale = pow(2.0, mipLevel); + + uv.y -= (pixel.y * (mipLevel - 1.0) * 2.0); + uv.x *= ((textureSize.x - 2.0) / textureSize.y); + + uv.x -= 1.0 + pixel.x; + uv.y -= (1.0 - (1.0 / pow(2.0, mipLevel - 1.0))); + uv *= scale; + } + else + { + uv.x *= (textureSize.x / textureSize.y); + } + + if(mipLevel == 0.0) + { + out_FragColor = texture(texture0, uv); + } + else if(mipLevel == 1.0) + { + out_FragColor = texture(texture1, uv); + } + else if(mipLevel == 2.0) + { + out_FragColor = texture(texture2, uv); + } + else if(mipLevel == 3.0) + { + out_FragColor = texture(texture3, uv); + } + else if(mipLevel == 4.0) + { + out_FragColor = texture(texture4, uv); + } + else if(mipLevel == 5.0) + { + out_FragColor = texture(texture5, uv); + } + else + { + out_FragColor = vec4(0.0); + } +} +`;var pP=`in vec3 v_cubeMapCoordinates; +uniform samplerCube cubeMap; + +void main() +{ + vec4 rgba = czm_textureCube(cubeMap, v_cubeMapCoordinates); + #ifdef RGBA_NORMALIZED + out_FragColor = vec4(rgba.rgb, 1.0); + #else + float m = rgba.a * 16.0; + vec3 r = rgba.rgb * m; + out_FragColor = vec4(r * r, 1.0); + #endif +} +`;var _P=`in vec4 position; +in vec3 cubeMapCoordinates; + +out vec3 v_cubeMapCoordinates; + +void main() +{ + gl_Position = position; + v_cubeMapCoordinates = cubeMapCoordinates; +} +`;function tA(e){this._url=e,this._cubeMapBuffers=void 0,this._cubeMaps=void 0,this._texture=void 0,this._mipTextures=void 0,this._va=void 0,this._sp=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1;let t=this;this._readyPromise=new Promise((n,i)=>{t._completeLoadFromCache=o=>{n5(this),this._texture=o,this._maximumMipmapLevel=this._texture.maximumMipmapLevel,this._ready=!0,n()},t._failLoad=o=>{i(o)},t._completeLoad=()=>{this._ready=!0,n()}})}Object.defineProperties(tA.prototype,{url:{get:function(){return this._url}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}}});tA.isSupported=function(e){return e.colorBufferHalfFloat&&e.halfFloatingPointTexture||e.floatingPointTexture&&e.colorBufferFloat};var fOe=new h(1,0,0),dOe=new h(0,0,1),hOe=new h(-1,0,0),mOe=new h(0,0,-1),hV=new h(0,1,0),pOe=new h(0,-1,0),nte=[hV,hOe,dOe,pOe,fOe,hV,mOe,hV,hV],ite=nte.length,ote=new Float32Array(ite*3),ete=0;for(let e=0;e<ite;++e,ete+=3)h.pack(nte[e],ote,ete);var _Oe=new Float32Array([-1,1,-1,0,0,1,0,0,1,0,1,1,0,-1,-1,-1,1,-1]),gOe=new Uint16Array([0,1,2,2,3,1,7,6,1,3,6,1,2,5,4,3,4,2,4,8,6,3,4,6]);function yOe(e){let t=lt.createVertexBuffer({context:e,typedArray:_Oe,usage:Ne.STATIC_DRAW}),n=lt.createVertexBuffer({context:e,typedArray:ote,usage:Ne.STATIC_DRAW}),i=lt.createIndexBuffer({context:e,typedArray:gOe,usage:Ne.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),o=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:q.FLOAT},{index:1,vertexBuffer:n,componentsPerAttribute:3,componentDatatype:q.FLOAT}];return new oi({context:e,attributes:o,indexBuffer:i})}function tte(e){return function(){return e}}function n5(e){e._va=e._va&&e._va.destroy(),e._sp=e._sp&&e._sp.destroy();let t,n,i=e._cubeMaps;if(u(i))for(n=i.length,t=0;t<n;++t)i[t].destroy();let o=e._mipTextures;if(u(o))for(n=o.length,t=0;t<n;++t)o[t].destroy();e._va=void 0,e._sp=void 0,e._cubeMaps=void 0,e._cubeMapBuffers=void 0,e._mipTextures=void 0}tA.prototype.update=function(e){let t=e.context;if(!tA.isSupported(t)||(u(this._texture)&&u(this._va)&&n5(this),u(this._texture)))return;if(!u(this._texture)&&!this._loading){let g=e.context.textureCache.getTexture(this._url);u(g)&&this._completeLoadFromCache(g)}let n=this._cubeMapBuffers;if(!u(n)&&!this._loading){let g=this;tl(this._url).then(function(m){g._cubeMapBuffers=m,g._loading=!1}).catch(function(m){g._failLoad(m)}),this._loading=!0}if(!u(this._cubeMapBuffers))return;let i=[],o=n[0].positiveX.pixelDatatype;u(o)?i.push("RGBA_NORMALIZED"):o=t.halfFloatingPointTexture?Xe.HALF_FLOAT:Xe.FLOAT;let r=rt.RGBA,s=new ke({defines:i,sources:[pP]});this._va=yOe(t),this._sp=Xt.fromCache({context:t,vertexShaderSource:_P,fragmentShaderSource:s,attributeLocations:{position:0,cubeMapCoordinates:1}});let a=Math.min(n.length,6);this._maximumMipmapLevel=a-1;let c=this._cubeMaps=new Array(a),l=this._mipTextures=new Array(a),f=n[0].positiveX.width*2,d={originalSize:function(){return f}};for(let g=0;g<a;++g){let m=n[g].positiveY;n[g].positiveY=n[g].negativeY,n[g].negativeY=m;let A=c[g]=new Ma({context:t,source:n[g],pixelDatatype:o}),x=c[g].width*2,C=l[g]=new It({context:t,width:x,height:x,pixelDatatype:o,pixelFormat:r}),T=new Lu({vertexArray:this._va,shaderProgram:this._sp,uniformMap:{cubeMap:tte(A)},outputTexture:C,persists:!0,owner:this});e.commandList.push(T),d[`texture${g}`]=tte(C)}this._texture=new It({context:t,width:f*1.5+2,height:f,pixelDatatype:o,pixelFormat:r}),this._texture.maximumMipmapLevel=this._maximumMipmapLevel,t.textureCache.addTexture(this._url,this._texture);let p=new Lu({fragmentShaderSource:mP,uniformMap:d,outputTexture:this._texture,persists:!1,owner:this});e.commandList.push(p),this._completeLoad()};tA.prototype.isDestroyed=function(){return!1};tA.prototype.destroy=function(){return n5(this),this._texture=this._texture&&this._texture.destroy(),le(this)};var id=tA;function gP(e){e=y(e,y.EMPTY_OBJECT);let t=u(e.imageBasedLightingFactor)?H.clone(e.imageBasedLightingFactor):new H(1,1);this._imageBasedLightingFactor=t;let n=y(e.luminanceAtZenith,.2);this._luminanceAtZenith=n;let i=e.sphericalHarmonicCoefficients;this._sphericalHarmonicCoefficients=i,this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapAtlas=void 0,this._specularEnvironmentMapAtlasDirty=!0,this._specularEnvironmentMapLoaded=!1,this._previousSpecularEnvironmentMapLoaded=!1,this._useDefaultSpecularMaps=!1,this._useDefaultSphericalHarmonics=!1,this._shouldRegenerateShaders=!1,this._previousFrameNumber=void 0,this._previousImageBasedLightingFactor=H.clone(t),this._previousLuminanceAtZenith=n,this._previousSphericalHarmonicCoefficients=i}Object.defineProperties(gP.prototype,{imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){this._previousImageBasedLightingFactor=H.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor),this._imageBasedLightingFactor=H.clone(e,this._imageBasedLightingFactor)}},luminanceAtZenith:{get:function(){return this._luminanceAtZenith},set:function(e){this._previousLuminanceAtZenith=this._luminanceAtZenith,this._luminanceAtZenith=e}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients},set:function(e){this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients,this._sphericalHarmonicCoefficients=e}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps},set:function(e){e!==this._specularEnvironmentMaps&&(this._specularEnvironmentMapAtlasDirty=this._specularEnvironmentMapAtlasDirty||e!==this._specularEnvironmentMaps,this._specularEnvironmentMapLoaded=!1),this._specularEnvironmentMaps=e}},enabled:{get:function(){return this._imageBasedLightingFactor.x>0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useSphericalHarmonicCoefficients:{get:function(){return u(this._sphericalHarmonicCoefficients)||this._useDefaultSphericalHarmonics}},specularEnvironmentMapAtlas:{get:function(){return this._specularEnvironmentMapAtlas}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return u(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready||this._useDefaultSpecularMaps}}});function AOe(e,t){if(id.isSupported(t)){if(e._specularEnvironmentMapAtlas=e._specularEnvironmentMapAtlas&&e._specularEnvironmentMapAtlas.destroy(),u(e._specularEnvironmentMaps)){let n=new id(e._specularEnvironmentMaps);e._specularEnvironmentMapAtlas=n,n.readyPromise.then(function(){e._specularEnvironmentMapLoaded=!0}).catch(function(i){console.error(`Error loading specularEnvironmentMaps: ${i}`)})}e._shouldRegenerateShaders=!0}}gP.prototype.update=function(e){if(e.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=e.frameNumber;let t=e.context;e.brdfLutGenerator.update(e),this._shouldRegenerateShaders=!1;let n=this._imageBasedLightingFactor,i=this._previousImageBasedLightingFactor;H.equals(n,i)||(this._shouldRegenerateShaders=n.x>0&&i.x===0||n.x===0&&i.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||n.y>0&&i.y===0||n.y===0&&i.y>0,this._previousImageBasedLightingFactor=H.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._luminanceAtZenith!==this._previousLuminanceAtZenith&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||u(this._luminanceAtZenith)!==u(this._previousLuminanceAtZenith),this._previousLuminanceAtZenith=this._luminanceAtZenith),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||u(this._previousSphericalHarmonicCoefficients)!==u(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentMapAtlasDirty&&(AOe(this,t),this._specularEnvironmentMapAtlasDirty=!1),u(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(e);let o=!u(this._specularEnvironmentMapAtlas)&&u(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,r=!u(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,s=!u(this._sphericalHarmonicCoefficients)&&u(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,a=!u(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||o||r||s||a,this._useDefaultSpecularMaps=!u(this._specularEnvironmentMapAtlas)&&u(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!u(this._sphericalHarmonicCoefficients)&&u(e.sphericalHarmonicCoefficients)};gP.prototype.isDestroyed=function(){return!1};gP.prototype.destroy=function(){return this._specularEnvironmentMapAtlas=this._specularEnvironmentMapAtlas&&this._specularEnvironmentMapAtlas.destroy(),le(this)};var nA=gP;function Dh(e){e=y(e,0),this._array=new Array(e),this._length=e}Object.defineProperties(Dh.prototype,{length:{get:function(){return this._length},set:function(e){let t=this._array,n=this._length;if(e<n)for(let i=e;i<n;++i)t[i]=void 0;else e>t.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}});Dh.prototype.get=function(e){return this._array[e]};Dh.prototype.set=function(e,t){e>=this._length&&(this.length=e+1),this._array[e]=t};Dh.prototype.peek=function(){return this._array[this._length-1]};Dh.prototype.push=function(e){let t=this.length++;this._array[t]=e};Dh.prototype.pop=function(){if(this._length===0)return;let e=this._array[this._length-1];return--this.length,e};Dh.prototype.reserve=function(e){e>this._array.length&&(this._array.length=e)};Dh.prototype.resize=function(e){this.length=e};Dh.prototype.trim=function(e){e=y(e,this._length),this._array.length=e};var Yl=Dh;var op={X:0,Y:1,Z:2};op.Y_UP_TO_Z_UP=M.fromRotationTranslation(Z.fromRotationX(P.PI_OVER_TWO));op.Z_UP_TO_Y_UP=M.fromRotationTranslation(Z.fromRotationX(-P.PI_OVER_TWO));op.X_UP_TO_Z_UP=M.fromRotationTranslation(Z.fromRotationY(-P.PI_OVER_TWO));op.Z_UP_TO_X_UP=M.fromRotationTranslation(Z.fromRotationY(P.PI_OVER_TWO));op.X_UP_TO_Y_UP=M.fromRotationTranslation(Z.fromRotationZ(P.PI_OVER_TWO));op.Y_UP_TO_X_UP=M.fromRotationTranslation(Z.fromRotationZ(-P.PI_OVER_TWO));op.fromName=function(e){return op[e]};var Po=Object.freeze(op);function rte(e){e=y(e,y.EMPTY_OBJECT),this._metadata=e.metadata}Object.defineProperties(rte.prototype,{metadata:{get:function(){return this._metadata}}});var iA=rte;function sg(e,t,n){return t=y(t,0),n=y(n,e.byteLength-t),e=e.subarray(t,t+n),sg.decode(e)}sg.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)};sg.decodeWithFromCharCode=function(e){let t="",n=xOe(e),i=n.length;for(let o=0;o<i;++o){let r=n[o];r<=65535?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode((r>>10)+55296,(r&1023)+56320))}return t};function yP(e,t,n){return t<=e&&e<=n}function xOe(e){let t=0,n=0,i=0,o=128,r=191,s=[],a=e.length;for(let c=0;c<a;++c){let l=e[c];if(i===0){if(yP(l,0,127)){s.push(l);continue}if(yP(l,194,223)){i=1,t=l&31;continue}if(yP(l,224,239)){l===224&&(o=160),l===237&&(r=159),i=2,t=l&15;continue}if(yP(l,240,244)){l===240&&(o=144),l===244&&(r=143),i=3,t=l&7;continue}throw new ue("String decoding failed.")}if(!yP(l,o,r)){t=i=n=0,o=128,r=191,--c;continue}o=128,r=191,t=t<<6|l&63,++n,n===i&&(s.push(t),t=i=n=0)}return s}typeof TextDecoder<"u"?sg.decode=sg.decodeWithTextDecoder:sg.decode=sg.decodeWithFromCharCode;var ll=sg;function COe(e,t){return t=y(t,0),ll(e,t,Math.min(4,e.length))}var od=COe;function rp(e,t,n,i,o,r){this._tileset=e,this._tile=t,this._resource=n,this._contents=[],this._metadata=void 0,this._group=void 0,this._readyPromise=TOe(this,i,o,r)}Object.defineProperties(rp.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].metadata=e}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].group=e}}});var AP=Uint32Array.BYTES_PER_ELEMENT;function TOe(e,t,n,i){n=y(n,0);let o=new Uint8Array(t),r=new DataView(t);n+=AP;let s=r.getUint32(n,!0);if(s!==1)throw new ue(`Only Composite Tile version 1 is supported. Version ${s} is not.`);n+=AP,n+=AP;let a=r.getUint32(n,!0);n+=AP;let c=[],l=e._resource,f=l.queryParameters.compositeIndex;u(f)?f=`${f}_`:f="";for(let d=0;d<a;++d){let p=od(o,n),g=r.getUint32(n+AP*2,!0),m=i[p],A=`${f}${d}`,x=l.getDerivedResource({queryParameters:{compositeIndex:A}});if(u(m)){let C=m(e._tileset,e._tile,x,t,n);e._contents.push(C),c.push(C.readyPromise)}else throw new ue(`Unknown tile content type, ${p}, inside Composite tile`);n+=g}return Promise.all(c).then(function(){return e})}rp.prototype.hasProperty=function(e,t){return!1};rp.prototype.getFeature=function(e){};rp.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};rp.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};rp.prototype.update=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].update(e,t)};rp.prototype.isDestroyed=function(){return!1};rp.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return le(this)};var xP=rp;function EOe(e,t,n){return JSON.parse(ll(e,t,n))}var Oo=EOe;function ka(e){this._id=zn();let t=e.featuresLength;this._showAlphaProperties=void 0,this._batchValues=void 0,this._batchValuesDirty=!1,this._batchTexture=void 0,this._defaultTexture=void 0,this._pickTexture=void 0,this._pickIds=[];let n,i;if(t>0){let o=Math.min(t,Ft.maximumTextureSize),r=Math.ceil(t/Ft.maximumTextureSize),s=1/o,a=s*.5,c=1/r,l=c*.5;n=new H(o,r),i=new oe(s,a,c,l)}this._translucentFeaturesLength=0,this._featuresLength=t,this._textureDimensions=n,this._textureStep=i,this._owner=e.owner,this._statistics=e.statistics,this._colorChangedCallback=e.colorChangedCallback}Object.defineProperties(ka.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let e=0;return u(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),u(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});ka.DEFAULT_COLOR_VALUE=z.WHITE;ka.DEFAULT_SHOW_VALUE=!0;function ste(e){let t=e._textureDimensions;return t.x*t.y*4}function ate(e){if(!u(e._batchValues)){let t=ste(e),n=new Uint8Array(t).fill(255);e._batchValues=n}return e._batchValues}function cte(e){if(!u(e._showAlphaProperties)){let t=2*e._featuresLength,n=new Uint8Array(t).fill(255);e._showAlphaProperties=n}return e._showAlphaProperties}ka.prototype.setShow=function(e,t){if(t&&!u(this._showAlphaProperties))return;let n=cte(this),i=e*2,o=t?255:0;if(n[i]!==o){n[i]=o;let r=ate(this),s=e*4+3;r[s]=t?n[i+1]:0,this._batchValuesDirty=!0}};ka.prototype.setAllShow=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setShow(n,e)};ka.prototype.getShow=function(e){if(!u(this._showAlphaProperties))return!0;let t=e*2;return this._showAlphaProperties[t]===255};var bOe=new Array(4);ka.prototype.setColor=function(e,t){if(z.equals(t,ka.DEFAULT_COLOR_VALUE)&&!u(this._batchValues))return;let n=t.toBytes(bOe),i=n[3],o=ate(this),r=e*4,s=cte(this),a=e*2;if(o[r]!==n[0]||o[r+1]!==n[1]||o[r+2]!==n[2]||s[a+1]!==i){o[r]=n[0],o[r+1]=n[1],o[r+2]=n[2];let c=s[a+1]!==255,l=s[a]!==0;o[r+3]=l?i:0,s[a+1]=i;let f=i!==255;f&&!c?++this._translucentFeaturesLength:!f&&c&&--this._translucentFeaturesLength,this._batchValuesDirty=!0,u(this._colorChangedCallback)&&this._colorChangedCallback(e,t)}};ka.prototype.setAllColor=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setColor(n,e)};ka.prototype.getColor=function(e,t){if(!u(this._batchValues))return z.clone(ka.DEFAULT_COLOR_VALUE,t);let n=this._batchValues,i=e*4,o=this._showAlphaProperties,r=e*2;return z.fromBytes(n[i],n[i+1],n[i+2],o[r+1],t)};ka.prototype.getPickColor=function(e){return this._pickIds[e]};function lte(e,t,n){let i=e._textureDimensions;return new It({context:t,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,source:{width:i.x,height:i.y,arrayBufferView:n},flipY:!1,sampler:ln.NEAREST})}function SOe(e,t){let n=e._featuresLength;if(!u(e._pickTexture)&&n>0){let i=e._pickIds,o=ste(e),r=new Uint8Array(o),s=e._owner,a=e._statistics;for(let c=0;c<n;++c){let l=t.createPickId(s.getFeature(c));i.push(l);let f=l.color,d=c*4;r[d]=z.floatToByte(f.red),r[d+1]=z.floatToByte(f.green),r[d+2]=z.floatToByte(f.blue),r[d+3]=z.floatToByte(f.alpha)}e._pickTexture=lte(e,t,r),u(a)&&(a.batchTableByteLength+=e._pickTexture.sizeInBytes)}}function DOe(e){let t=e._textureDimensions;e._batchTexture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}ka.prototype.update=function(e,t){let n=t.context;this._defaultTexture=n.defaultTexture;let i=t.passes;(i.pick||i.postProcess)&&SOe(this,n),this._batchValuesDirty&&(this._batchValuesDirty=!1,u(this._batchTexture)||(this._batchTexture=lte(this,n,this._batchValues),u(this._statistics)&&(this._statistics.batchTableByteLength+=this._batchTexture.sizeInBytes)),DOe(this))};ka.prototype.isDestroyed=function(){return!1};ka.prototype.destroy=function(){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),this._pickTexture=this._pickTexture&&this._pickTexture.destroy();let e=this._pickIds,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return le(this)};var wc=ka;var vOe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},wOe={SCALAR:void 0,VEC2:H,VEC3:h,VEC4:oe,MAT2:Ji,MAT3:Z,MAT4:M};function IOe(e){let t=e.componentType,n;typeof t=="string"?n=q.fromName(t):n=t;let i=vOe[e.type],o=wOe[e.type];return{componentsPerAttribute:i,classType:o,createArrayBufferView:function(r,s,a){return q.createArrayBufferView(n,r,s,i*a)}}}var ql=IOe;function sp(e){this._classes=void 0,this._classIds=void 0,this._classIndexes=void 0,this._parentCounts=void 0,this._parentIndexes=void 0,this._parentIds=void 0,this._byteLength=0,POe(this,e.extension,e.binaryBody)}Object.defineProperties(sp.prototype,{byteLength:{get:function(){return this._byteLength}}});function POe(e,t,n){let i,o,r,s=t.instancesLength,a=t.classes,c=t.classIds,l=t.parentCounts,f=t.parentIds,d=s,p=0;u(c.byteOffset)&&(c.componentType=y(c.componentType,q.UNSIGNED_SHORT),c.type=rn.SCALAR,r=ql(c),c=r.createArrayBufferView(n.buffer,n.byteOffset+c.byteOffset,s),p+=c.byteLength);let g;if(u(l)){for(u(l.byteOffset)&&(l.componentType=y(l.componentType,q.UNSIGNED_SHORT),l.type=rn.SCALAR,r=ql(l),l=r.createArrayBufferView(n.buffer,n.byteOffset+l.byteOffset,s),p+=l.byteLength),g=new Uint16Array(s),d=0,i=0;i<s;++i)g[i]=d,d+=l[i];p+=g.byteLength}u(f)&&u(f.byteOffset)&&(f.componentType=y(f.componentType,q.UNSIGNED_SHORT),f.type=rn.SCALAR,r=ql(f),f=r.createArrayBufferView(n.buffer,n.byteOffset+f.byteOffset,d),p+=f.byteLength);let m=a.length;for(i=0;i<m;++i){let C=a[i].length,T=a[i].instances,E=OOe(C,T,n);p+=ROe(E),a[i].instances=_t(E,T)}let A=new Array(m).fill(0),x=new Uint16Array(s);for(i=0;i<s;++i)o=c[i],x[i]=A[o],++A[o];p+=x.byteLength,e._classes=a,e._classIds=c,e._classIndexes=x,e._parentCounts=l,e._parentIndexes=g,e._parentIds=f,e._byteLength=p}function OOe(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(u(s)){let a=r.componentType,c=r.type;if(!u(a))throw new ue("componentType is required.");if(!u(c))throw new ue("type is required.");if(!u(n))throw new ue(`Property ${o} requires a batch table binary.`);let l=ql(r),f=l.componentsPerAttribute,d=l.classType,p=l.createArrayBufferView(n.buffer,n.byteOffset+s,e);u(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function ROe(e){let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}var BOe=[],MOe=[],LOe=0;function NOe(e,t,n){let i=e._classIds,o=e._parentCounts,r=e._parentIds,s=e._parentIndexes,a=i.length,c=BOe;c.length=Math.max(c.length,a);let l=++LOe,f=MOe;for(f.length=0,f.push(t);f.length>0;){if(t=f.pop(),c[t]===l)continue;c[t]=l;let d=n(e,t);if(u(d))return d;let p=o[t],g=s[t];for(let m=0;m<p;++m){let A=r[g+m];A!==t&&f.push(A)}}}function FOe(e,t,n){let i=!0;for(;i;){let o=n(e,t);if(u(o))return o;let r=e._parentIds[t];i=r!==t,t=r}}function CP(e,t,n){let i=e._parentCounts,o=e._parentIds;if(u(o)){if(u(i))return NOe(e,t,n)}else return n(e,t);return FOe(e,t,n)}sp.prototype.hasProperty=function(e,t){let n=CP(this,e,function(i,o){let r=i._classIds[o],s=i._classes[r].instances;if(u(s[t]))return!0});return u(n)};sp.prototype.propertyExists=function(e){let t=this._classes,n=t.length;for(let i=0;i<n;++i){let o=t[i].instances;if(u(o[e]))return!0}return!1};sp.prototype.getPropertyIds=function(e,t){return t=u(t)?t:[],t.length=0,CP(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o].instances;for(let s in r)r.hasOwnProperty(s)&&t.indexOf(s)===-1&&t.push(s)}),t};sp.prototype.getProperty=function(e,t){return CP(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o],s=n._classIndexes[i],a=r.instances[t];if(u(a))return u(a.typedArray)?VOe(a,s):Ge(a[s],!0)})};function VOe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}sp.prototype.setProperty=function(e,t,n){let i=CP(this,e,function(o,r){let s=o._classIds[r],a=o._classes[s],c=o._classIndexes[r],l=a.instances[t];if(u(l))return u(l.typedArray)?UOe(l,c,n):l[c]=Ge(n,!0),!0});return u(i)};function UOe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}sp.prototype.isClass=function(e,t){let n=CP(this,e,function(i,o){let r=i._classIds[o];if(i._classes[r].name===t)return!0});return u(n)};sp.prototype.getClassName=function(e){let t=this._classIds[e];return this._classes[t].name};var oA=sp;var kOe={HIGHLIGHT:0,REPLACE:1,MIX:2},ul=Object.freeze(kOe);var i5=wc.DEFAULT_COLOR_VALUE,o5=wc.DEFAULT_SHOW_VALUE;function co(e,t,n,i,o){this.featuresLength=t;let r;u(n)&&(r=n.extensions),this._extensions=y(r,{});let s=zOe(n);this._properties=s,this._batchTableHierarchy=HOe(this,n,i);let a=fte(t,s,i);this._binaryPropertiesByteLength=GOe(a),this._batchTableBinaryProperties=a,this._content=e,this._batchTexture=new wc({featuresLength:t,colorChangedCallback:o,owner:e,statistics:e.tileset.statistics})}co._deprecationWarning=nr;Object.defineProperties(co.prototype,{batchTableByteLength:{get:function(){let e=this._binaryPropertiesByteLength;return u(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e+=this._batchTexture.byteLength,e}}});function zOe(e){let t={};if(!u(e))return t;for(let n in e)e.hasOwnProperty(n)&&n!=="HIERARCHY"&&n!=="extensions"&&n!=="extras"&&(t[n]=Ge(e[n],!0));return t}function HOe(e,t,n){if(!u(t))return;let i=e._extensions["3DTILES_batch_table_hierarchy"],o=t.HIERARCHY;if(u(o)&&(co._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),e._extensions["3DTILES_batch_table_hierarchy"]=o,i=o),!!u(i))return new oA({extension:i,binaryBody:n})}function fte(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(u(s)){let a=r.componentType,c=r.type;if(!u(a))throw new ue("componentType is required.");if(!u(c))throw new ue("type is required.");if(!u(n))throw new ue(`Property ${o} requires a batch table binary.`);let l=ql(r),f=l.componentsPerAttribute,d=l.classType,p=l.createArrayBufferView(n.buffer,n.byteOffset+s,e);u(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function GOe(e){if(!u(e))return 0;let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}co.getBinaryProperties=function(e,t,n){return fte(e,t,n)};co.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};co.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};co.prototype.getShow=function(e){return this._batchTexture.getShow(e)};co.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};co.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};co.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};co.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};var WOe=new z;co.prototype.applyStyle=function(e){if(!u(e)){this.setAllColor(i5),this.setAllShow(o5);return}let t=this._content,n=this.featuresLength;for(let i=0;i<n;++i){let o=t.getFeature(i),r=u(e.color)?y(e.color.evaluateColor(o,WOe),i5):i5,s=u(e.show)?y(e.show.evaluate(o),o5):o5;this.setColor(i,r),this.setShow(i,s)}};function jOe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}function YOe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}co.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return u(n)?n.isClass(e,t):!1};co.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};co.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(u(t))return t.getClassName(e)};co.prototype.hasProperty=function(e,t){return u(this._properties[t])||u(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)};co.prototype.hasPropertyBySemantic=function(){return!1};co.prototype.getPropertyIds=function(e,t){t=u(t)?t:[],t.length=0;let n=Object.keys(this._properties);return t.push.apply(t,n),u(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,n)),t};co.prototype.getPropertyBySemantic=function(e,t){};co.prototype.getProperty=function(e,t){if(u(this._batchTableBinaryProperties)){let i=this._batchTableBinaryProperties[t];if(u(i))return jOe(i,e)}let n=this._properties[t];if(u(n))return Ge(n[e],!0);if(u(this._batchTableHierarchy)){let i=this._batchTableHierarchy.getProperty(e,t);if(u(i))return i}};co.prototype.setProperty=function(e,t,n){let i=this.featuresLength;if(u(this._batchTableBinaryProperties)){let r=this._batchTableBinaryProperties[t];if(u(r)){YOe(r,e,n);return}}if(u(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n))return;let o=this._properties[t];u(o)||(this._properties[t]=new Array(i),o=this._properties[t]),o[e]=Ge(n,!0)};function qOe(e){return e._batchTexture.textureDimensions.y===1?`uniform vec4 tile_textureStep; +vec2 computeSt(float batchId) +{ + float stepX = tile_textureStep.x; + float centerX = tile_textureStep.y; + return vec2(centerX + (batchId * stepX), 0.5); +} +`:`uniform vec4 tile_textureStep; +uniform vec2 tile_textureDimensions; +vec2 computeSt(float batchId) +{ + float stepX = tile_textureStep.x; + float centerX = tile_textureStep.y; + float stepY = tile_textureStep.z; + float centerY = tile_textureStep.w; + float xId = mod(batchId, tile_textureDimensions.x); + float yId = floor(batchId / tile_textureDimensions.x); + return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); +} +`}co.prototype.getVertexShaderCallback=function(e,t,n){if(this.featuresLength===0)return;let i=this;return function(o){let r=dte(o,n,!1),s;return Ft.maximumVertexTextureImageUnits>0?(s="",e&&(s+=`uniform bool tile_translucentCommand; +`),s+=`uniform sampler2D tile_batchTexture; +out vec4 tile_featureColor; +out vec2 tile_featureSt; +void main() +{ + vec2 st = computeSt(${t}); + vec4 featureProperties = texture(tile_batchTexture, st); + tile_color(featureProperties); + float show = ceil(featureProperties.a); + gl_Position *= show; +`,e&&(s+=` bool isStyleTranslucent = (featureProperties.a != 1.0); + if (czm_pass == czm_passTranslucent) + { + if (!isStyleTranslucent && !tile_translucentCommand) + { + gl_Position *= 0.0; + } + } + else + { + if (isStyleTranslucent) + { + gl_Position *= 0.0; + } + } +`),s+=` tile_featureColor = featureProperties; + tile_featureSt = st; +}`):s=`out vec2 tile_featureSt; +void main() +{ + tile_color(vec4(1.0)); + tile_featureSt = computeSt(${t}); +}`,`${r} +${qOe(i)}${s}`}};function ute(e,t){return e=ke.replaceMain(e,"tile_main"),t?`${e}uniform float tile_colorBlend; +void tile_color(vec4 tile_featureColor) +{ + tile_main(); + tile_featureColor = czm_gammaCorrect(tile_featureColor); + out_FragColor.a *= tile_featureColor.a; + float highlight = ceil(tile_colorBlend); + out_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight); +} +`:`${e}void tile_color(vec4 tile_featureColor) +{ + tile_main(); +} +`}function XOe(e,t){let n=`texture(${t}`,i=0,o=e.indexOf(n,i),r;for(;o>-1;){let s=0;for(let l=o;l<e.length;++l){let f=e.charAt(l);if(f==="(")++s;else if(f===")"&&(--s,s===0)){r=l+1;break}}let c=`tile_diffuse_final(${e.slice(o,r)}, tile_diffuse)`;e=e.slice(0,o)+c+e.slice(r),i=o+c.length,o=e.indexOf(n,i)}return e}function dte(e,t,n){if(!u(t))return ute(e,n);let i=new RegExp(`(uniform|attribute|in)\\s+(vec[34]|sampler2D)\\s+${t};`),o=e.match(i);if(!u(o))return ute(e,n);let r=o[0],s=o[2];e=ke.replaceMain(e,"tile_main"),e=e.replace(r,"");let a=`bool isWhite(vec3 color) +{ + return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); +} +vec4 tile_diffuse_final(vec4 sourceDiffuse, vec4 tileDiffuse) +{ + vec4 blendDiffuse = mix(sourceDiffuse, tileDiffuse, tile_colorBlend); + vec4 diffuse = isWhite(tileDiffuse.rgb) ? sourceDiffuse : blendDiffuse; + return vec4(diffuse.rgb, sourceDiffuse.a); +} +`,c=` tile_featureColor = czm_gammaCorrect(tile_featureColor); + out_FragColor.a *= tile_featureColor.a; + float highlight = ceil(tile_colorBlend); + out_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight); +`,l;if(s==="vec3"||s==="vec4"){let f=s==="vec3"?`vec4(${t}, 1.0)`:t,d=s==="vec3"?"tile_diffuse.xyz":"tile_diffuse";i=new RegExp(t,"g"),e=e.replace(i,d),l=` vec4 source = ${f}; + tile_diffuse = tile_diffuse_final(source, tile_featureColor); + tile_main(); +`}else s==="sampler2D"&&(e=XOe(e,t),l=` tile_diffuse = tile_featureColor; + tile_main(); +`);return e=`uniform float tile_colorBlend; +vec4 tile_diffuse = vec4(1.0); +${a}${r} +${e} +void tile_color(vec4 tile_featureColor) +{ +${l}`,n&&(e+=c),e+=`} +`,e}co.prototype.getFragmentShaderCallback=function(e,t,n){if(this.featuresLength!==0)return function(i){return i=dte(i,t,!0),Ft.maximumVertexTextureImageUnits>0?(i+=`uniform sampler2D tile_pickTexture; +in vec2 tile_featureSt; +in vec4 tile_featureColor; +void main() +{ + tile_color(tile_featureColor); +`,n&&(i+=` out_FragColor.rgb *= out_FragColor.a; +`),i+="}"):(e&&(i+=`uniform bool tile_translucentCommand; +`),i+=`uniform sampler2D tile_pickTexture; +uniform sampler2D tile_batchTexture; +in vec2 tile_featureSt; +void main() +{ + vec4 featureProperties = texture(tile_batchTexture, tile_featureSt); + if (featureProperties.a == 0.0) { + discard; + } +`,e&&(i+=` bool isStyleTranslucent = (featureProperties.a != 1.0); + if (czm_pass == czm_passTranslucent) + { + if (!isStyleTranslucent && !tile_translucentCommand) + { + discard; + } + } + else + { + if (isStyleTranslucent) + { + discard; + } + } +`),i+=` tile_color(featureProperties); +`,n&&(i+=` out_FragColor.rgb *= out_FragColor.a; +`),i+=`} +`),i}};co.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(e){return e=ke.replaceMain(e,"tile_main"),Ft.maximumVertexTextureImageUnits>0?e+=`uniform sampler2D tile_pickTexture; +in vec2 tile_featureSt; +in vec4 tile_featureColor; +void main() +{ + tile_main(); + out_FragColor = tile_featureColor; + out_FragColor.rgb *= out_FragColor.a; +}`:e+=`uniform sampler2D tile_batchTexture; +uniform sampler2D tile_pickTexture; +in vec2 tile_featureSt; +void main() +{ + tile_main(); + vec4 featureProperties = texture(tile_batchTexture, tile_featureSt); + if (featureProperties.a == 0.0) { + discard; + } + out_FragColor = featureProperties; + out_FragColor.rgb *= out_FragColor.a; +} +`,e}};function KOe(e){let t=e._content.tileset,n=t.colorBlendMode,i=t.colorBlendAmount;if(n===ul.HIGHLIGHT)return 0;if(n===ul.REPLACE)return 1;if(n===ul.MIX)return P.clamp(i,P.EPSILON4,1)}co.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let e=this;return function(t){return _t(t,{tile_batchTexture:function(){return y(e._batchTexture.batchTexture,e._batchTexture.defaultTexture)},tile_textureDimensions:function(){return e._batchTexture.textureDimensions},tile_textureStep:function(){return e._batchTexture.textureStep},tile_colorBlend:function(){return KOe(e)},tile_pickTexture:function(){return e._batchTexture.pickTexture}})}};co.prototype.getPickId=function(){return"texture(tile_pickTexture, tile_featureSt)"};var ag={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};co.prototype.addDerivedCommands=function(e,t){let n=e.commandList,i=n.length,o=this._content._tile,r=o._finalResolution,s=o.tileset,a=s._skipLevelOfDetail&&s._hasMixedContent&&e.context.stencilBuffer,c=ZOe(this);for(let l=t;l<i;++l){let f=n[l];if(f.pass===Ee.COMPUTE)continue;let d=f.derivedCommands.tileset;(!u(d)||f.dirty)&&(d={},f.derivedCommands.tileset=d,d.originalCommand=JOe(f),f.dirty=!1);let p=d.originalCommand;c!==ag.ALL_OPAQUE&&f.pass!==Ee.TRANSLUCENT&&(u(d.translucent)||(d.translucent=QOe(p))),c!==ag.ALL_TRANSLUCENT&&f.pass!==Ee.TRANSLUCENT&&(u(d.opaque)||(d.opaque=$Oe(p)),a&&(r||(u(d.zback)||(d.zback=tRe(e.context,p)),s._backfaceCommands.push(d.zback)),(!u(d.stencil)||o._selectionDepth!==iRe(d.stencil))&&(f.renderState.depthMask?d.stencil=nRe(p,o._selectionDepth):d.stencil=d.opaque)));let g=a?d.stencil:d.opaque,m=d.translucent;f.pass!==Ee.TRANSLUCENT?(c===ag.ALL_OPAQUE&&(n[l]=g),c===ag.ALL_TRANSLUCENT&&(n[l]=m),c===ag.OPAQUE_AND_TRANSLUCENT&&(n[l]=g,n.push(m))):n[l]=p}};function ZOe(e){let t=e._batchTexture.translucentFeaturesLength;return t===0?ag.ALL_OPAQUE:t===e.featuresLength?ag.ALL_TRANSLUCENT:ag.OPAQUE_AND_TRANSLUCENT}function JOe(e){let t=tt.shallowClone(e),n=t.pass===Ee.TRANSLUCENT;return t.uniformMap=u(t.uniformMap)?t.uniformMap:{},t.uniformMap.tile_translucentCommand=function(){return n},t}function QOe(e){let t=tt.shallowClone(e);return t.pass=Ee.TRANSLUCENT,t.renderState=oRe(e.renderState),t}function $Oe(e){let t=tt.shallowClone(e);return t.renderState=rRe(e.renderState),t}function eRe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"zBackfaceLogDepth");if(!u(n)){let i=t.fragmentShaderSource.clone();i.defines=u(i.defines)?i.defines.slice(0):[],i.defines.push("POLYGON_OFFSET"),i.sources.unshift(`#ifdef GL_OES_standard_derivatives +#extension GL_OES_standard_derivatives : enable +#endif +`),n=e.shaderCache.createDerivedShaderProgram(t,"zBackfaceLogDepth",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}return n}function tRe(e,t){let n=tt.shallowClone(t),i=Ge(n.renderState,!0);i.cull.enabled=!0,i.cull.face=gi.FRONT,i.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i.polygonOffset={enabled:!0,factor:5,units:5},i.stencilTest=Bt.setCesium3DTileBit(),i.stencilMask=Bt.CESIUM_3D_TILE_MASK,n.renderState=Ue.fromCache(i),n.castShadows=!1,n.receiveShadows=!1,n.uniformMap=Ge(t.uniformMap);let o=new H(5,5);return n.uniformMap.u_polygonOffset=function(){return o},n.shaderProgram=eRe(e,t.shaderProgram),n}function nRe(e,t){let n=tt.shallowClone(e),i=Ge(n.renderState,!0);return i.stencilTest.enabled=!0,i.stencilTest.mask=Bt.SKIP_LOD_MASK,i.stencilTest.reference=Bt.CESIUM_3D_TILE_MASK|t<<Bt.SKIP_LOD_BIT_SHIFT,i.stencilTest.frontFunction=kn.GREATER_OR_EQUAL,i.stencilTest.frontOperation.zPass=ut.REPLACE,i.stencilTest.backFunction=kn.GREATER_OR_EQUAL,i.stencilTest.backOperation.zPass=ut.REPLACE,i.stencilMask=Bt.CESIUM_3D_TILE_MASK|Bt.SKIP_LOD_MASK,n.renderState=Ue.fromCache(i),n}function iRe(e){return(e.renderState.stencilTest.reference&Bt.SKIP_LOD_MASK)>>>Bt.SKIP_LOD_BIT_SHIFT}function oRe(e){let t=Ge(e,!0);return t.cull.enabled=!1,t.depthTest.enabled=!0,t.depthMask=!1,t.blending=un.ALPHA_BLEND,t.stencilTest=Bt.setCesium3DTileBit(),t.stencilMask=Bt.CESIUM_3D_TILE_MASK,Ue.fromCache(t)}function rRe(e){let t=Ge(e,!0);return t.stencilTest=Bt.setCesium3DTileBit(),t.stencilMask=Bt.CESIUM_3D_TILE_MASK,Ue.fromCache(t)}co.prototype.update=function(e,t){this._batchTexture.update(e,t)};co.prototype.isDestroyed=function(){return!1};co.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),le(this)};var ap=co;function sRe(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var vh=sRe;var AT=`in vec3 position; +in float a_batchId; + +uniform mat4 u_modifiedModelViewProjection; + +void main() +{ + gl_Position = czm_depthClamp(u_modifiedModelViewProjection * vec4(position, 1.0)); +} +`;function Wu(e,t){this._content=e,this._batchId=t,this._color=void 0}Object.defineProperties(Wu.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return u(this._color)||(this._color=new z),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},polylinePositions:{get:function(){if(u(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});Wu.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};Wu.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};Wu.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};Wu.getPropertyInherited=function(e,t,n){let i=e.batchTable;if(u(i)){if(i.hasPropertyBySemantic(t,n))return i.getPropertyBySemantic(t,n);if(i.hasProperty(t,n))return i.getProperty(t,n)}let o=e.metadata;if(u(o)){if(o.hasPropertyBySemantic(n))return o.getPropertyBySemantic(n);if(o.hasProperty(n))return o.getProperty(n)}let r=e.tile,s=r.metadata;if(u(s)){if(s.hasPropertyBySemantic(n))return s.getPropertyBySemantic(n);if(s.hasProperty(n))return s.getProperty(n)}let a;if(u(r.implicitSubtree)&&(a=r.implicitSubtree.metadata),u(a)){if(a.hasPropertyBySemantic(n))return a.getPropertyBySemantic(n);if(a.hasProperty(n))return a.getProperty(n)}let c=u(e.group)?e.group.metadata:void 0;if(u(c)){if(c.hasPropertyBySemantic(n))return c.getPropertyBySemantic(n);if(c.hasProperty(n))return c.getProperty(n)}let l=e.tileset.metadata;if(u(l)){if(l.hasPropertyBySemantic(n))return l.getPropertyBySemantic(n);if(l.hasProperty(n))return l.getProperty(n)}};Wu.prototype.getPropertyInherited=function(e){return Wu.getPropertyInherited(this._content,this._batchId,e)};Wu.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};Wu.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};Wu.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};Wu.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var xs=Wu;var r5=class{add(t,n,i){if(typeof arguments[0]!="string")for(let o in arguments[0])this.add(o,arguments[0][o],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(o){this[o]=this[o]||[],n&&this[o][i?"unshift":"push"](n)},this)}run(t,n){this[t]=this[t]||[],this[t].forEach(function(i){i.call(n&&n.context?n.context:n,n)})}},s5=class{constructor(t){this.jsep=t,this.registered={}}register(...t){t.forEach(n=>{if(typeof n!="object"||!n.name||!n.init)throw new Error("Invalid JSEP plugin format");this.registered[n.name]||(n.init(this.jsep),this.registered[n.name]=n)})}},He=class{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+He.version}static addUnaryOp(t){return He.max_unop_len=Math.max(t.length,He.max_unop_len),He.unary_ops[t]=1,He}static addBinaryOp(t,n,i){return He.max_binop_len=Math.max(t.length,He.max_binop_len),He.binary_ops[t]=n,i?He.right_associative.add(t):He.right_associative.delete(t),He}static addIdentifierChar(t){return He.additional_identifier_chars.add(t),He}static addLiteral(t,n){return He.literals[t]=n,He}static removeUnaryOp(t){return delete He.unary_ops[t],t.length===He.max_unop_len&&(He.max_unop_len=He.getMaxKeyLen(He.unary_ops)),He}static removeAllUnaryOps(){return He.unary_ops={},He.max_unop_len=0,He}static removeIdentifierChar(t){return He.additional_identifier_chars.delete(t),He}static removeBinaryOp(t){return delete He.binary_ops[t],t.length===He.max_binop_len&&(He.max_binop_len=He.getMaxKeyLen(He.binary_ops)),He.right_associative.delete(t),He}static removeAllBinaryOps(){return He.binary_ops={},He.max_binop_len=0,He}static removeLiteral(t){return delete He.literals[t],He}static removeAllLiterals(){return He.literals={},He}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new He(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(n=>n.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return He.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!He.binary_ops[String.fromCharCode(t)]||He.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return He.isIdentifierStart(t)||He.isDecimalDigit(t)}throwError(t){let n=new Error(t+" at character "+this.index);throw n.index=this.index,n.description=t,n}runHook(t,n){if(He.hooks[t]){let i={context:this,node:n};return He.hooks.run(t,i),i.node}return n}searchHook(t){if(He.hooks[t]){let n={context:this};return He.hooks[t].find(function(i){return i.call(n.context,n),n.node}),n.node}}gobbleSpaces(){let t=this.code;for(;t===He.SPACE_CODE||t===He.TAB_CODE||t===He.LF_CODE||t===He.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let t=this.gobbleExpressions(),n=t.length===1?t[0]:{type:He.COMPOUND,body:t};return this.runHook("after-all",n)}gobbleExpressions(t){let n=[],i,o;for(;this.index<this.expr.length;)if(i=this.code,i===He.SEMCOL_CODE||i===He.COMMA_CODE)this.index++;else if(o=this.gobbleExpression())n.push(o);else if(this.index<this.expr.length){if(i===t)break;this.throwError('Unexpected "'+this.char+'"')}return n}gobbleExpression(){let t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,He.max_binop_len),n=t.length;for(;n>0;){if(He.binary_ops.hasOwnProperty(t)&&(!He.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!He.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=n,t;t=t.substr(0,--n)}return!1}gobbleBinaryExpression(){let t,n,i,o,r,s,a,c,l;if(s=this.gobbleToken(),!s||(n=this.gobbleBinaryOp(),!n))return s;for(r={value:n,prec:He.binaryPrecedence(n),right_a:He.right_associative.has(n)},a=this.gobbleToken(),a||this.throwError("Expected expression after "+n),o=[s,r,a];n=this.gobbleBinaryOp();){if(i=He.binaryPrecedence(n),i===0){this.index-=n.length;break}r={value:n,prec:i,right_a:He.right_associative.has(n)},l=n;let f=d=>r.right_a&&d.right_a?i>d.prec:i<=d.prec;for(;o.length>2&&f(o[o.length-2]);)a=o.pop(),n=o.pop().value,s=o.pop(),t={type:He.BINARY_EXP,operator:n,left:s,right:a},o.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+l),o.push(r,t)}for(c=o.length-1,t=o[c];c>1;)t={type:He.BINARY_EXP,operator:o[c-1].value,left:o[c-2],right:t},c-=2;return t}gobbleToken(){let t,n,i,o;if(this.gobbleSpaces(),o=this.searchHook("gobble-token"),o)return this.runHook("after-token",o);if(t=this.code,He.isDecimalDigit(t)||t===He.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===He.SQUOTE_CODE||t===He.DQUOTE_CODE)o=this.gobbleStringLiteral();else if(t===He.OBRACK_CODE)o=this.gobbleArray();else{for(n=this.expr.substr(this.index,He.max_unop_len),i=n.length;i>0;){if(He.unary_ops.hasOwnProperty(n)&&(!He.isIdentifierStart(this.code)||this.index+n.length<this.expr.length&&!He.isIdentifierPart(this.expr.charCodeAt(this.index+n.length)))){this.index+=i;let r=this.gobbleToken();return r||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:He.UNARY_EXP,operator:n,argument:r,prefix:!0})}n=n.substr(0,--i)}He.isIdentifierStart(t)?(o=this.gobbleIdentifier(),He.literals.hasOwnProperty(o.name)?o={type:He.LITERAL,value:He.literals[o.name],raw:o.name}:o.name===He.this_str&&(o={type:He.THIS_EXP})):t===He.OPAREN_CODE&&(o=this.gobbleGroup())}return o?(o=this.gobbleTokenProperty(o),this.runHook("after-token",o)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let n=this.code;for(;n===He.PERIOD_CODE||n===He.OBRACK_CODE||n===He.OPAREN_CODE||n===He.QUMARK_CODE;){let i;if(n===He.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==He.PERIOD_CODE)break;i=!0,this.index+=2,this.gobbleSpaces(),n=this.code}this.index++,n===He.OBRACK_CODE?(t={type:He.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()},this.gobbleSpaces(),n=this.code,n!==He.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):n===He.OPAREN_CODE?t={type:He.CALL_EXP,arguments:this.gobbleArguments(He.CPAREN_CODE),callee:t}:(n===He.PERIOD_CODE||i)&&(i&&this.index--,this.gobbleSpaces(),t={type:He.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),i&&(t.optional=!0),this.gobbleSpaces(),n=this.code}return t}gobbleNumericLiteral(){let t="",n,i;for(;He.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(this.code===He.PERIOD_CODE)for(t+=this.expr.charAt(this.index++);He.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(n=this.char,n==="e"||n==="E"){for(t+=this.expr.charAt(this.index++),n=this.char,(n==="+"||n==="-")&&(t+=this.expr.charAt(this.index++));He.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);He.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+t+this.char+")")}return i=this.code,He.isIdentifierStart(i)?this.throwError("Variable names cannot start with a number ("+t+this.char+")"):(i===He.PERIOD_CODE||t.length===1&&t.charCodeAt(0)===He.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:He.LITERAL,value:parseFloat(t),raw:t}}gobbleStringLiteral(){let t="",n=this.index,i=this.expr.charAt(this.index++),o=!1;for(;this.index<this.expr.length;){let r=this.expr.charAt(this.index++);if(r===i){o=!0;break}else if(r==="\\")switch(r=this.expr.charAt(this.index++),r){case"n":t+=` +`;break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=r}else t+=r}return o||this.throwError('Unclosed quote after "'+t+'"'),{type:He.LITERAL,value:t,raw:this.expr.substring(n,this.index)}}gobbleIdentifier(){let t=this.code,n=this.index;for(He.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,He.isIdentifierPart(t));)this.index++;return{type:He.IDENTIFIER,name:this.expr.slice(n,this.index)}}gobbleArguments(t){let n=[],i=!1,o=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let r=this.code;if(r===t){i=!0,this.index++,t===He.CPAREN_CODE&&o&&o>=n.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(r===He.COMMA_CODE){if(this.index++,o++,o!==n.length){if(t===He.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===He.CBRACK_CODE)for(let s=n.length;s<o;s++)n.push(null)}}else if(n.length!==o&&o!==0)this.throwError("Expected comma");else{let s=this.gobbleExpression();(!s||s.type===He.COMPOUND)&&this.throwError("Expected comma"),n.push(s)}}return i||this.throwError("Expected "+String.fromCharCode(t)),n}gobbleGroup(){this.index++;let t=this.gobbleExpressions(He.CPAREN_CODE);if(this.code===He.CPAREN_CODE)return this.index++,t.length===1?t[0]:t.length?{type:He.SEQUENCE_EXP,expressions:t}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:He.ARRAY_EXP,elements:this.gobbleArguments(He.CBRACK_CODE)}}},aRe=new r5;Object.assign(He,{hooks:aRe,plugins:new s5(He),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});He.max_unop_len=He.getMaxKeyLen(He.unary_ops);He.max_binop_len=He.getMaxKeyLen(He.binary_ops);var cg=e=>new He(e).parse(),cRe=Object.getOwnPropertyNames(He);cRe.forEach(e=>{cg[e]===void 0&&e!=="prototype"&&(cg[e]=He[e])});cg.Jsep=He;var lRe="ConditionalExpression",uRe={name:"ternary",init(e){e.hooks.add("after-expression",function(n){if(n.node&&this.code===e.QUMARK_CODE){this.index++;let i=n.node,o=this.gobbleExpression();if(o||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let r=this.gobbleExpression();if(r||this.throwError("Expected expression"),n.node={type:lRe,test:i,consequent:o,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let s=i;for(;s.right.operator&&e.binary_ops[s.right.operator]<=.9;)s=s.right;n.node.test=s.right,s.right=n.node,n.node=i}}else this.throwError("Expected :")}})}};cg.plugins.register(uRe);var fRe={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},ht=Object.freeze(fRe);function rd(e,t){this._expression=e,e=bRe(e,t),e=DRe(SRe(e)),cg.addBinaryOp("=~",0),cg.addBinaryOp("!~",0);let n;try{n=cg(e)}catch(i){throw new ue(i)}this._runtimeAst=Ai(this,n)}Object.defineProperties(rd.prototype,{expression:{get:function(){return this._expression}}});var Bn={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new H],cartesian3Array:[new h],cartesian4Array:[new oe],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new H),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new h),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new oe),this.cartesian4Array[this.cartesian4Index++]}};rd.prototype.evaluate=function(e,t){Bn.reset();let n=this._runtimeAst.evaluate(e);return t instanceof z&&n instanceof oe?z.fromCartesian4(n,t):n instanceof H||n instanceof h||n instanceof oe?n.clone(t):n};rd.prototype.evaluateColor=function(e,t){Bn.reset();let n=this._runtimeAst.evaluate(e);return z.fromCartesian4(n,t)};rd.prototype.getShaderFunction=function(e,t,n,i){let o=this.getShaderExpression(t,n);return o=`${i} ${e} +{ + return ${o}; +} +`,o};rd.prototype.getShaderExpression=function(e,t){return this._runtimeAst.getShaderExpression(e,t)};rd.prototype.getVariables=function(){let e=[];return this._runtimeAst.getVariables(e),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var dRe=["!","-","+"],hte=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],_V=/\${(.*?)}/g,hRe=/\\/g,mRe="@#%",pRe=/@#%/g,gV=new z,yV={abs:Cs(Math.abs),sqrt:Cs(Math.sqrt),cos:Cs(Math.cos),sin:Cs(Math.sin),tan:Cs(Math.tan),acos:Cs(Math.acos),asin:Cs(Math.asin),atan:Cs(Math.atan),radians:Cs(P.toRadians),degrees:Cs(P.toDegrees),sign:Cs(P.sign),floor:Cs(Math.floor),ceil:Cs(Math.ceil),round:Cs(Math.round),exp:Cs(Math.exp),exp2:Cs(gRe),log:Cs(Math.log),log2:Cs(yRe),fract:Cs(_Re),length:ARe,normalize:xRe},AV={atan2:mV(Math.atan2,!1),pow:mV(Math.pow,!1),min:mV(Math.min,!0),max:mV(Math.max,!0),distance:CRe,dot:TRe,cross:ERe},l5={clamp:mte(P.clamp,!0),mix:mte(P.lerp,!0)};function _Re(e){return e-Math.floor(e)}function gRe(e){return Math.pow(2,e)}function yRe(e){return P.log2(e)}function Cs(e){return function(t,n){if(typeof n=="number")return e(n);if(n instanceof H)return H.fromElements(e(n.x),e(n.y),Bn.getCartesian2());if(n instanceof h)return h.fromElements(e(n.x),e(n.y),e(n.z),Bn.getCartesian3());if(n instanceof oe)return oe.fromElements(e(n.x),e(n.y),e(n.z),e(n.w),Bn.getCartesian4());throw new ue(`Function "${t}" requires a vector or number argument. Argument is ${n}.`)}}function mV(e,t){return function(n,i,o){if(t&&typeof o=="number"){if(typeof i=="number")return e(i,o);if(i instanceof H)return H.fromElements(e(i.x,o),e(i.y,o),Bn.getCartesian2());if(i instanceof h)return h.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),Bn.getCartesian3());if(i instanceof oe)return oe.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),e(i.w,o),Bn.getCartesian4())}if(typeof i=="number"&&typeof o=="number")return e(i,o);if(i instanceof H&&o instanceof H)return H.fromElements(e(i.x,o.x),e(i.y,o.y),Bn.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),Bn.getCartesian3());if(i instanceof oe&&o instanceof oe)return oe.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),e(i.w,o.w),Bn.getCartesian4());throw new ue(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i} and ${o}.`)}}function mte(e,t){return function(n,i,o,r){if(t&&typeof r=="number"){if(typeof i=="number"&&typeof o=="number")return e(i,o,r);if(i instanceof H&&o instanceof H)return H.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),Bn.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),Bn.getCartesian3());if(i instanceof oe&&o instanceof oe)return oe.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),e(i.w,o.w,r),Bn.getCartesian4())}if(typeof i=="number"&&typeof o=="number"&&typeof r=="number")return e(i,o,r);if(i instanceof H&&o instanceof H&&r instanceof H)return H.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),Bn.getCartesian2());if(i instanceof h&&o instanceof h&&r instanceof h)return h.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),Bn.getCartesian3());if(i instanceof oe&&o instanceof oe&&r instanceof oe)return oe.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),e(i.w,o.w,r.w),Bn.getCartesian4());throw new ue(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i}, ${o}, and ${r}.`)}}function ARe(e,t){if(typeof t=="number")return Math.abs(t);if(t instanceof H)return H.magnitude(t);if(t instanceof h)return h.magnitude(t);if(t instanceof oe)return oe.magnitude(t);throw new ue(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function xRe(e,t){if(typeof t=="number")return 1;if(t instanceof H)return H.normalize(t,Bn.getCartesian2());if(t instanceof h)return h.normalize(t,Bn.getCartesian3());if(t instanceof oe)return oe.normalize(t,Bn.getCartesian4());throw new ue(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function CRe(e,t,n){if(typeof t=="number"&&typeof n=="number")return Math.abs(t-n);if(t instanceof H&&n instanceof H)return H.distance(t,n);if(t instanceof h&&n instanceof h)return h.distance(t,n);if(t instanceof oe&&n instanceof oe)return oe.distance(t,n);throw new ue(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function TRe(e,t,n){if(typeof t=="number"&&typeof n=="number")return t*n;if(t instanceof H&&n instanceof H)return H.dot(t,n);if(t instanceof h&&n instanceof h)return h.dot(t,n);if(t instanceof oe&&n instanceof oe)return oe.dot(t,n);throw new ue(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function ERe(e,t,n){if(t instanceof h&&n instanceof h)return h.cross(t,n,Bn.getCartesian3());throw new ue(`Function "${e}" requires vec3 arguments. Arguments are ${t} and ${n}.`)}function gt(e,t,n,i,o){this._type=e,this._value=t,this._left=n,this._right=i,this._test=o,this.evaluate=void 0,NRe(this)}function bRe(e,t){if(!u(t))return e;for(let n in t)if(t.hasOwnProperty(n)){let i=new RegExp(`\\$\\{${n}\\}`,"g"),o=`(${t[n]})`;u(o)&&(e=e.replace(i,o))}return e}function SRe(e){return e.replace(hRe,mRe)}function c5(e){return e.replace(pRe,"\\")}function DRe(e){let t=e,n="",i=t.indexOf("${");for(;i>=0;){let o=t.indexOf("'"),r=t.indexOf('"'),s;if(o>=0&&o<i)s=t.indexOf("'",o+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else if(r>=0&&r<i)s=t.indexOf('"',r+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else{n+=t.substr(0,i);let a=t.indexOf("}");if(a<0)throw new ue("Unmatched {.");n+=`czm_${t.substr(i+2,a-(i+2))}`,t=t.substr(a+1),i=t.indexOf("${")}}return n+=t,n}function vRe(e){let t=typeof e.value;if(e.value===null)return new gt(ht.LITERAL_NULL,null);if(t==="boolean")return new gt(ht.LITERAL_BOOLEAN,e.value);if(t==="number")return new gt(ht.LITERAL_NUMBER,e.value);if(t==="string")return e.value.indexOf("${")>=0?new gt(ht.VARIABLE_IN_STRING,e.value):new gt(ht.LITERAL_STRING,c5(e.value))}function wRe(e,t){let n=t.arguments,i=n.length,o,r,s,a;if(t.callee.type==="MemberExpression"){o=t.callee.property.name;let c=t.callee.object;if(o==="test"||o==="exec"){if(!u(c.callee)||c.callee.name!=="regExp")throw new ue(`${o} is not a function.`);return i===0?o==="test"?new gt(ht.LITERAL_BOOLEAN,!1):new gt(ht.LITERAL_NULL,null):(s=Ai(e,c),a=Ai(e,n[0]),new gt(ht.FUNCTION_CALL,o,s,a))}else if(o==="toString")return r=Ai(e,c),new gt(ht.FUNCTION_CALL,o,r);throw new ue(`Unexpected function call "${o}".`)}if(o=t.callee.name,o==="color"){if(i===0)return new gt(ht.LITERAL_COLOR,o);if(r=Ai(e,n[0]),u(n[1])){let c=Ai(e,n[1]);return new gt(ht.LITERAL_COLOR,o,[r,c])}return new gt(ht.LITERAL_COLOR,o,[r])}else if(o==="rgb"||o==="hsl"){if(i<3)throw new ue(`${o} requires three arguments.`);return r=[Ai(e,n[0]),Ai(e,n[1]),Ai(e,n[2])],new gt(ht.LITERAL_COLOR,o,r)}else if(o==="rgba"||o==="hsla"){if(i<4)throw new ue(`${o} requires four arguments.`);return r=[Ai(e,n[0]),Ai(e,n[1]),Ai(e,n[2]),Ai(e,n[3])],new gt(ht.LITERAL_COLOR,o,r)}else if(o==="vec2"||o==="vec3"||o==="vec4"){r=new Array(i);for(let c=0;c<i;++c)r[c]=Ai(e,n[c]);return new gt(ht.LITERAL_VECTOR,o,r)}else{if(o==="isNaN"||o==="isFinite")return i===0?o==="isNaN"?new gt(ht.LITERAL_BOOLEAN,!0):new gt(ht.LITERAL_BOOLEAN,!1):(r=Ai(e,n[0]),new gt(ht.UNARY,o,r));if(o==="isExactClass"||o==="isClass"){if(i<1||i>1)throw new ue(`${o} requires exactly one argument.`);return r=Ai(e,n[0]),new gt(ht.UNARY,o,r)}else if(o==="getExactClassName"){if(i>0)throw new ue(`${o} does not take any argument.`);return new gt(ht.UNARY,o)}else if(u(yV[o])){if(i!==1)throw new ue(`${o} requires exactly one argument.`);return r=Ai(e,n[0]),new gt(ht.UNARY,o,r)}else if(u(AV[o])){if(i!==2)throw new ue(`${o} requires exactly two arguments.`);return s=Ai(e,n[0]),a=Ai(e,n[1]),new gt(ht.BINARY,o,s,a)}else if(u(l5[o])){if(i!==3)throw new ue(`${o} requires exactly three arguments.`);s=Ai(e,n[0]),a=Ai(e,n[1]);let c=Ai(e,n[2]);return new gt(ht.TERNARY,o,s,a,c)}else{if(o==="Boolean")return i===0?new gt(ht.LITERAL_BOOLEAN,!1):(r=Ai(e,n[0]),new gt(ht.UNARY,o,r));if(o==="Number")return i===0?new gt(ht.LITERAL_NUMBER,0):(r=Ai(e,n[0]),new gt(ht.UNARY,o,r));if(o==="String")return i===0?new gt(ht.LITERAL_STRING,""):(r=Ai(e,n[0]),new gt(ht.UNARY,o,r));if(o==="regExp")return IRe(e,t)}}throw new ue(`Unexpected function call "${o}".`)}function IRe(e,t){let n=t.arguments;if(n.length===0)return new gt(ht.LITERAL_REGEX,new RegExp);let i=Ai(e,n[0]),o;if(n.length>1){let r=Ai(e,n[1]);if(a5(i)&&a5(r)){try{o=new RegExp(c5(String(i._value)),r._value)}catch(s){throw new ue(s)}return new gt(ht.LITERAL_REGEX,o)}return new gt(ht.REGEX,i,r)}if(a5(i)){try{o=new RegExp(c5(String(i._value)))}catch(r){throw new ue(r)}return new gt(ht.LITERAL_REGEX,o)}return new gt(ht.REGEX,i)}function PRe(e){if(MRe(e.name)){let t=LRe(e.name);return t.substr(0,8)==="tiles3d_"?new gt(ht.BUILTIN_VARIABLE,t):new gt(ht.VARIABLE,t)}else{if(e.name==="NaN")return new gt(ht.LITERAL_NUMBER,NaN);if(e.name==="Infinity")return new gt(ht.LITERAL_NUMBER,1/0);if(e.name==="undefined")return new gt(ht.LITERAL_UNDEFINED,void 0)}throw new ue(`${e.name} is not defined.`)}function ORe(e){let t=e.property.name;if(t==="PI")return new gt(ht.LITERAL_NUMBER,Math.PI);if(t==="E")return new gt(ht.LITERAL_NUMBER,Math.E)}function RRe(e){if(e.property.name==="POSITIVE_INFINITY")return new gt(ht.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function BRe(e,t){if(t.object.name==="Math")return ORe(t);if(t.object.name==="Number")return RRe(t);let n,i=Ai(e,t.object);return t.computed?(n=Ai(e,t.property),new gt(ht.MEMBER,"brackets",i,n)):(n=new gt(ht.LITERAL_STRING,t.property.name),new gt(ht.MEMBER,"dot",i,n))}function a5(e){return e._type>=ht.LITERAL_NULL}function MRe(e){return e.substr(0,4)==="czm_"}function LRe(e){return e.substr(4)}function Ai(e,t){let n,i,o,r;if(t.type==="Literal")n=vRe(t);else if(t.type==="CallExpression")n=wRe(e,t);else if(t.type==="Identifier")n=PRe(t);else if(t.type==="UnaryExpression"){i=t.operator;let s=Ai(e,t.argument);if(dRe.indexOf(i)>-1)n=new gt(ht.UNARY,i,s);else throw new ue(`Unexpected operator "${i}".`)}else if(t.type==="BinaryExpression")if(i=t.operator,o=Ai(e,t.left),r=Ai(e,t.right),hte.indexOf(i)>-1)n=new gt(ht.BINARY,i,o,r);else throw new ue(`Unexpected operator "${i}".`);else if(t.type==="LogicalExpression")i=t.operator,o=Ai(e,t.left),r=Ai(e,t.right),hte.indexOf(i)>-1&&(n=new gt(ht.BINARY,i,o,r));else if(t.type==="ConditionalExpression"){let s=Ai(e,t.test);o=Ai(e,t.consequent),r=Ai(e,t.alternate),n=new gt(ht.CONDITIONAL,"?",o,r,s)}else if(t.type==="MemberExpression")n=BRe(e,t);else if(t.type==="ArrayExpression"){let s=[];for(let a=0;a<t.elements.length;a++)s[a]=Ai(e,t.elements[a]);n=new gt(ht.ARRAY,s)}else throw t.type==="Compound"?new ue("Provide exactly one expression."):new ue("Cannot parse expression.");return n}function NRe(e){e._type===ht.CONDITIONAL?e.evaluate=e._evaluateConditional:e._type===ht.FUNCTION_CALL?e._value==="test"?e.evaluate=e._evaluateRegExpTest:e._value==="exec"?e.evaluate=e._evaluateRegExpExec:e._value==="toString"&&(e.evaluate=e._evaluateToString):e._type===ht.UNARY?e._value==="!"?e.evaluate=e._evaluateNot:e._value==="-"?e.evaluate=e._evaluateNegative:e._value==="+"?e.evaluate=e._evaluatePositive:e._value==="isNaN"?e.evaluate=e._evaluateNaN:e._value==="isFinite"?e.evaluate=e._evaluateIsFinite:e._value==="isExactClass"?e.evaluate=e._evaluateIsExactClass:e._value==="isClass"?e.evaluate=e._evaluateIsClass:e._value==="getExactClassName"?e.evaluate=e._evaluateGetExactClassName:e._value==="Boolean"?e.evaluate=e._evaluateBooleanConversion:e._value==="Number"?e.evaluate=e._evaluateNumberConversion:e._value==="String"?e.evaluate=e._evaluateStringConversion:u(yV[e._value])&&(e.evaluate=VRe(e._value)):e._type===ht.BINARY?e._value==="+"?e.evaluate=e._evaluatePlus:e._value==="-"?e.evaluate=e._evaluateMinus:e._value==="*"?e.evaluate=e._evaluateTimes:e._value==="/"?e.evaluate=e._evaluateDivide:e._value==="%"?e.evaluate=e._evaluateMod:e._value==="==="?e.evaluate=e._evaluateEqualsStrict:e._value==="!=="?e.evaluate=e._evaluateNotEqualsStrict:e._value==="<"?e.evaluate=e._evaluateLessThan:e._value==="<="?e.evaluate=e._evaluateLessThanOrEquals:e._value===">"?e.evaluate=e._evaluateGreaterThan:e._value===">="?e.evaluate=e._evaluateGreaterThanOrEquals:e._value==="&&"?e.evaluate=e._evaluateAnd:e._value==="||"?e.evaluate=e._evaluateOr:e._value==="=~"?e.evaluate=e._evaluateRegExpMatch:e._value==="!~"?e.evaluate=e._evaluateRegExpNotMatch:u(AV[e._value])&&(e.evaluate=URe(e._value)):e._type===ht.TERNARY?e.evaluate=kRe(e._value):e._type===ht.MEMBER?e._value==="brackets"?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===ht.ARRAY?e.evaluate=e._evaluateArray:e._type===ht.VARIABLE?e.evaluate=e._evaluateVariable:e._type===ht.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===ht.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===ht.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===ht.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===ht.REGEX?e.evaluate=e._evaluateRegExp:e._type===ht.BUILTIN_VARIABLE?e._value==="tiles3d_tileset_time"&&(e.evaluate=FRe):e.evaluate=e._evaluateLiteral}function FRe(e){return u(e)?e.content.tileset.timeSinceLoad:0}function VRe(e){let t=yV[e];return function(n){let i=this._left.evaluate(n);return t(e,i)}}function URe(e){let t=AV[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n);return t(e,i,o)}}function kRe(e){let t=l5[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n),r=this._test.evaluate(n);return t(e,i,o,r)}}function xV(e,t){if(u(e))return e.getPropertyInherited(t)}gt.prototype._evaluateLiteral=function(){return this._value};gt.prototype._evaluateLiteralColor=function(e){let t=gV,n=this._left;if(this._value==="color")u(n)?n.length>1?(z.fromCssColorString(n[0].evaluate(e),t),t.alpha=n[1].evaluate(e)):z.fromCssColorString(n[0].evaluate(e),t):z.fromBytes(255,255,255,255,t);else if(this._value==="rgb")z.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),255,t);else if(this._value==="rgba"){let i=n[3].evaluate(e)*255;z.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),i,t)}else this._value==="hsl"?z.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),1,t):this._value==="hsla"&&z.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),n[3].evaluate(e),t);return oe.fromColor(t,Bn.getCartesian4())};gt.prototype._evaluateLiteralVector=function(e){let t=Bn.getArray(),n=this._value,i=this._left,o=i.length;for(let a=0;a<o;++a){let c=i[a].evaluate(e);if(typeof c=="number")t.push(c);else if(c instanceof H)t.push(c.x,c.y);else if(c instanceof h)t.push(c.x,c.y,c.z);else if(c instanceof oe)t.push(c.x,c.y,c.z,c.w);else throw new ue(`${n} argument must be a vector or number. Argument is ${c}.`)}let r=t.length,s=parseInt(n.charAt(3));if(r===0)throw new ue(`Invalid ${n} constructor. No valid arguments.`);if(r<s&&r>1)throw new ue(`Invalid ${n} constructor. Not enough arguments.`);if(r>s&&o>1)throw new ue(`Invalid ${n} constructor. Too many arguments.`);if(r===1){let a=t[0];t.push(a,a,a)}if(n==="vec2")return H.fromArray(t,0,Bn.getCartesian2());if(n==="vec3")return h.fromArray(t,0,Bn.getCartesian3());if(n==="vec4")return oe.fromArray(t,0,Bn.getCartesian4())};gt.prototype._evaluateLiteralString=function(){return this._value};gt.prototype._evaluateVariableString=function(e){let t=this._value,n=_V.exec(t);for(;n!==null;){let i=n[0],o=n[1],r=xV(e,o);u(r)||(r=""),t=t.replace(i,r),n=_V.exec(t)}return t};gt.prototype._evaluateVariable=function(e){return xV(e,this._value)};function rA(e){return e._value==="feature"}gt.prototype._evaluateMemberDot=function(e){if(rA(this._left))return xV(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!u(t))return;let n=this._right.evaluate(e);if(t instanceof H||t instanceof h||t instanceof oe){if(n==="r")return t.x;if(n==="g")return t.y;if(n==="b")return t.z;if(n==="a")return t.w}return t[n]};gt.prototype._evaluateMemberBrackets=function(e){if(rA(this._left))return xV(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!u(t))return;let n=this._right.evaluate(e);if(t instanceof H||t instanceof h||t instanceof oe){if(n===0||n==="r")return t.x;if(n===1||n==="g")return t.y;if(n===2||n==="b")return t.z;if(n===3||n==="a")return t.w}return t[n]};gt.prototype._evaluateArray=function(e){let t=[];for(let n=0;n<this._value.length;n++)t[n]=this._value[n].evaluate(e);return t};gt.prototype._evaluateNot=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ue(`Operator "!" requires a boolean argument. Argument is ${t}.`);return!t};gt.prototype._evaluateNegative=function(e){let t=this._left.evaluate(e);if(t instanceof H)return H.negate(t,Bn.getCartesian2());if(t instanceof h)return h.negate(t,Bn.getCartesian3());if(t instanceof oe)return oe.negate(t,Bn.getCartesian4());if(typeof t=="number")return-t;throw new ue(`Operator "-" requires a vector or number argument. Argument is ${t}.`)};gt.prototype._evaluatePositive=function(e){let t=this._left.evaluate(e);if(!(t instanceof H||t instanceof h||t instanceof oe||typeof t=="number"))throw new ue(`Operator "+" requires a vector or number argument. Argument is ${t}.`);return t};gt.prototype._evaluateLessThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ue(`Operator "<" requires number arguments. Arguments are ${t} and ${n}.`);return t<n};gt.prototype._evaluateLessThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ue(`Operator "<=" requires number arguments. Arguments are ${t} and ${n}.`);return t<=n};gt.prototype._evaluateGreaterThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ue(`Operator ">" requires number arguments. Arguments are ${t} and ${n}.`);return t>n};gt.prototype._evaluateGreaterThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ue(`Operator ">=" requires number arguments. Arguments are ${t} and ${n}.`);return t>=n};gt.prototype._evaluateOr=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ue(`Operator "||" requires boolean arguments. First argument is ${t}.`);if(t)return!0;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new ue(`Operator "||" requires boolean arguments. Second argument is ${n}.`);return t||n};gt.prototype._evaluateAnd=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ue(`Operator "&&" requires boolean arguments. First argument is ${t}.`);if(!t)return!1;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new ue(`Operator "&&" requires boolean arguments. Second argument is ${n}.`);return t&&n};gt.prototype._evaluatePlus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof H&&t instanceof H)return H.add(t,n,Bn.getCartesian2());if(n instanceof h&&t instanceof h)return h.add(t,n,Bn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.add(t,n,Bn.getCartesian4());if(typeof t=="string"||typeof n=="string")return t+n;if(typeof t=="number"&&typeof n=="number")return t+n;throw new ue(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${t} and ${n}.`)};gt.prototype._evaluateMinus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof H&&t instanceof H)return H.subtract(t,n,Bn.getCartesian2());if(n instanceof h&&t instanceof h)return h.subtract(t,n,Bn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.subtract(t,n,Bn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t-n;throw new ue(`Operator "-" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};gt.prototype._evaluateTimes=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof H&&t instanceof H)return H.multiplyComponents(t,n,Bn.getCartesian2());if(n instanceof H&&typeof t=="number")return H.multiplyByScalar(n,t,Bn.getCartesian2());if(t instanceof H&&typeof n=="number")return H.multiplyByScalar(t,n,Bn.getCartesian2());if(n instanceof h&&t instanceof h)return h.multiplyComponents(t,n,Bn.getCartesian3());if(n instanceof h&&typeof t=="number")return h.multiplyByScalar(n,t,Bn.getCartesian3());if(t instanceof h&&typeof n=="number")return h.multiplyByScalar(t,n,Bn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.multiplyComponents(t,n,Bn.getCartesian4());if(n instanceof oe&&typeof t=="number")return oe.multiplyByScalar(n,t,Bn.getCartesian4());if(t instanceof oe&&typeof n=="number")return oe.multiplyByScalar(t,n,Bn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t*n;throw new ue(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${t} and ${n}.`)};gt.prototype._evaluateDivide=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof H&&t instanceof H)return H.divideComponents(t,n,Bn.getCartesian2());if(t instanceof H&&typeof n=="number")return H.divideByScalar(t,n,Bn.getCartesian2());if(n instanceof h&&t instanceof h)return h.divideComponents(t,n,Bn.getCartesian3());if(t instanceof h&&typeof n=="number")return h.divideByScalar(t,n,Bn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.divideComponents(t,n,Bn.getCartesian4());if(t instanceof oe&&typeof n=="number")return oe.divideByScalar(t,n,Bn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t/n;throw new ue(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${t} and ${n}.`)};gt.prototype._evaluateMod=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof H&&t instanceof H)return H.fromElements(t.x%n.x,t.y%n.y,Bn.getCartesian2());if(n instanceof h&&t instanceof h)return h.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,Bn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,t.w%n.w,Bn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t%n;throw new ue(`Operator "%" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};gt.prototype._evaluateEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof H&&t instanceof H||n instanceof h&&t instanceof h||n instanceof oe&&t instanceof oe?t.equals(n):t===n};gt.prototype._evaluateNotEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof H&&t instanceof H||n instanceof h&&t instanceof h||n instanceof oe&&t instanceof oe?!t.equals(n):t!==n};gt.prototype._evaluateConditional=function(e){let t=this._test.evaluate(e);if(typeof t!="boolean")throw new ue(`Conditional argument of conditional expression must be a boolean. Argument is ${t}.`);return t?this._left.evaluate(e):this._right.evaluate(e)};gt.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))};gt.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))};gt.prototype._evaluateIsExactClass=function(e){return u(e)?e.isExactClass(this._left.evaluate(e)):!1};gt.prototype._evaluateIsClass=function(e){return u(e)?e.isClass(this._left.evaluate(e)):!1};gt.prototype._evaluateGetExactClassName=function(e){if(u(e))return e.getExactClassName()};gt.prototype._evaluateBooleanConversion=function(e){return Boolean(this._left.evaluate(e))};gt.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))};gt.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))};gt.prototype._evaluateRegExp=function(e){let t=this._value.evaluate(e),n="";u(this._left)&&(n=this._left.evaluate(e));let i;try{i=new RegExp(t,n)}catch(o){throw new ue(o)}return i};gt.prototype._evaluateRegExpTest=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new ue(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);return t.test(n)};gt.prototype._evaluateRegExpMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return t.test(n);if(n instanceof RegExp&&typeof t=="string")return n.test(t);throw new ue(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};gt.prototype._evaluateRegExpNotMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return!t.test(n);if(n instanceof RegExp&&typeof t=="string")return!n.test(t);throw new ue(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};gt.prototype._evaluateRegExpExec=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new ue(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);let i=t.exec(n);return u(i)?i[1]:null};gt.prototype._evaluateToString=function(e){let t=this._left.evaluate(e);if(t instanceof RegExp||t instanceof H||t instanceof h||t instanceof oe)return String(t);throw new ue(`Unexpected function call "${this._value}".`)};function pte(e){let t=e._left,n=t.length;for(let a=0;a<n;++a)if(t[a]._type!==ht.LITERAL_NUMBER)return;let i=t[0]._value,o=t[1]._value,r=t[2]._value,s=n===4?t[3]._value:1;return z.fromHsl(i,o,r,s,gV)}function _te(e){let t=e._left,n=t.length;for(let o=0;o<n;++o)if(t[o]._type!==ht.LITERAL_NUMBER)return;let i=gV;return i.red=t[0]._value/255,i.green=t[1]._value/255,i.blue=t[2]._value/255,i.alpha=n===4?t[3]._value:1,i}function lg(e){return e%1===0?e.toFixed(1):e.toString()}function zRe(e){let t=lg(e.red),n=lg(e.green),i=lg(e.blue);return`vec3(${t}, ${n}, ${i})`}function pV(e){let t=lg(e.red),n=lg(e.green),i=lg(e.blue),o=lg(e.alpha);return`vec4(${t}, ${n}, ${i}, ${o})`}function gte(e,t,n,i){let o=e.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=e[s].getShaderExpression(t,n,i);return r}function yte(e,t){return u(t[e])?t[e]:rd.NULL_SENTINEL}rd.NULL_SENTINEL="czm_infinity";gt.prototype.getShaderExpression=function(e,t,n){let i,o,r,s,a=this._type,c=this._value;u(this._left)&&(Array.isArray(this._left)?o=gte(this._left,e,t,this):o=this._left.getShaderExpression(e,t,this)),u(this._right)&&(r=this._right.getShaderExpression(e,t,this)),u(this._test)&&(s=this._test.getShaderExpression(e,t,this)),Array.isArray(this._value)&&(c=gte(this._value,e,t,this));let l,f,d;switch(a){case ht.VARIABLE:return rA(this)?void 0:yte(c,e);case ht.UNARY:if(c==="Boolean")return`bool(${o})`;if(c==="Number")return`float(${o})`;if(c==="round")return`floor(${o} + 0.5)`;if(u(yV[c]))return`${c}(${o})`;if(c==="isNaN")return`(${o} != ${o})`;if(c==="isFinite")return`(abs(${o}) < czm_infinity)`;if(c==="String"||c==="isExactClass"||c==="isClass"||c==="getExactClassName")throw new ue(`Error generating style shader: "${c}" is not supported.`);return c+o;case ht.BINARY:return c==="%"?`mod(${o}, ${r})`:c==="==="?`(${o} == ${r})`:c==="!=="?`(${o} != ${r})`:c==="atan2"?`atan(${o}, ${r})`:u(AV[c])?`${c}(${o}, ${r})`:`(${o} ${c} ${r})`;case ht.TERNARY:if(u(l5[c]))return`${c}(${o}, ${r}, ${s})`;break;case ht.CONDITIONAL:return`(${s} ? ${o} : ${r})`;case ht.MEMBER:return rA(this._left)?yte(r,e):r==="r"||r==="x"||r==="0.0"?`${o}[0]`:r==="g"||r==="y"||r==="1.0"?`${o}[1]`:r==="b"||r==="z"||r==="2.0"?`${o}[2]`:r==="a"||r==="w"||r==="3.0"?`${o}[3]`:`${o}[int(${r})]`;case ht.FUNCTION_CALL:throw new ue(`Error generating style shader: "${c}" is not supported.`);case ht.ARRAY:if(c.length===4)return`vec4(${c[0]}, ${c[1]}, ${c[2]}, ${c[3]})`;if(c.length===3)return`vec3(${c[0]}, ${c[1]}, ${c[2]})`;if(c.length===2)return`vec2(${c[0]}, ${c[1]})`;throw new ue("Error generating style shader: Invalid array length. Array length should be 2, 3, or 4.");case ht.REGEX:throw new ue("Error generating style shader: Regular expressions are not supported.");case ht.VARIABLE_IN_STRING:throw new ue("Error generating style shader: Converting a variable to a string is not supported.");case ht.LITERAL_NULL:return rd.NULL_SENTINEL;case ht.LITERAL_BOOLEAN:return c?"true":"false";case ht.LITERAL_NUMBER:return lg(c);case ht.LITERAL_STRING:if(u(n)&&n._type===ht.MEMBER&&(c==="r"||c==="g"||c==="b"||c==="a"||c==="x"||c==="y"||c==="z"||c==="w"||rA(n._left)))return c;if(i=z.fromCssColorString(c,gV),u(i))return zRe(i);throw new ue("Error generating style shader: String literals are not supported.");case ht.LITERAL_COLOR:if(l=o,c==="color"){if(u(l)){if(l.length>1){let p=l[0],g=l[1];return g!=="1.0"&&(t.translucent=!0),`vec4(${p}, ${g})`}}else return"vec4(1.0)";return`vec4(${l[0]}, 1.0)`}else{if(c==="rgb")return i=_te(this),u(i)?pV(i):`vec4(${l[0]} / 255.0, ${l[1]} / 255.0, ${l[2]} / 255.0, 1.0)`;if(c==="rgba")return l[3]!=="1.0"&&(t.translucent=!0),i=_te(this),u(i)?pV(i):`vec4(${l[0]} / 255.0, ${l[1]} / 255.0, ${l[2]} / 255.0, ${l[3]})`;if(c==="hsl")return i=pte(this),u(i)?pV(i):`vec4(czm_HSLToRGB(vec3(${l[0]}, ${l[1]}, ${l[2]})), 1.0)`;if(c==="hsla")return i=pte(this),u(i)?(i.alpha!==1&&(t.translucent=!0),pV(i)):(l[3]!=="1.0"&&(t.translucent=!0),`vec4(czm_HSLToRGB(vec3(${l[0]}, ${l[1]}, ${l[2]})), ${l[3]})`)}break;case ht.LITERAL_VECTOR:f=o.length,d=`${c}(`;for(let p=0;p<f;++p)d+=o[p],p<f-1&&(d+=", ");return d+=")",d;case ht.LITERAL_REGEX:throw new ue("Error generating style shader: Regular expressions are not supported.");case ht.LITERAL_UNDEFINED:return rd.NULL_SENTINEL;case ht.BUILTIN_VARIABLE:if(c==="tiles3d_tileset_time")return c}};gt.prototype.getVariables=function(e,t){let n,i,o,r=this._type,s=this._value;if(u(this._left))if(Array.isArray(this._left))for(n=this._left,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);else this._left.getVariables(e,this);if(u(this._right)&&this._right.getVariables(e,this),u(this._test)&&this._test.getVariables(e,this),Array.isArray(this._value))for(n=this._value,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);let a;switch(r){case ht.VARIABLE:rA(this)||e.push(s);break;case ht.VARIABLE_IN_STRING:for(a=_V.exec(s);a!==null;)e.push(a[1]),a=_V.exec(s);break;case ht.LITERAL_STRING:u(t)&&t._type===ht.MEMBER&&rA(t._left)&&e.push(s);break}};var ju=rd;function cp(e){e=y(e,y.EMPTY_OBJECT),this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._vertexBatchIds=e.vertexBatchIds,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=e.indexOffsets,this._batchedIndices=e.batchedIndices,this._boundingVolume=e.boundingVolume,this._boundingVolumes=e.boundingVolumes,this._center=y(e.center,h.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=z.clone(z.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=y(e.classificationType,Un.BOTH),this._vertexShaderSource=e._vertexShaderSource,this._fragmentShaderSource=e._fragmentShaderSource,this._attributeLocations=e._attributeLocations,this._uniformMap=e._uniformMap,this._pickId=e._pickId,this._modelMatrix=e._modelMatrix,this._boundingSphere=e._boundingSphere,this._batchIdLookUp={};let t=this._batchIds.length;for(let n=0;n<t;++n){let i=this._batchIds[n];this._batchIdLookUp[i]=n}}Object.defineProperties(cp.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}}});var HRe={position:0,a_batchId:1};function GRe(e,t){if(u(e._va))return;let n=lt.createVertexBuffer({context:t,typedArray:e._positions,usage:Ne.STATIC_DRAW}),i=lt.createVertexBuffer({context:t,typedArray:e._vertexBatchIds,usage:Ne.STATIC_DRAW}),o=lt.createIndexBuffer({context:t,typedArray:e._indices,usage:Ne.DYNAMIC_DRAW,indexDatatype:e._indices.BYTES_PER_ELEMENT===2?Fe.UNSIGNED_SHORT:Fe.UNSIGNED_INT}),r=[{index:0,vertexBuffer:n,componentDatatype:q.fromTypedArray(e._positions),componentsPerAttribute:3},{index:1,vertexBuffer:i,componentDatatype:q.fromTypedArray(e._vertexBatchIds),componentsPerAttribute:1}];e._va=new oi({context:t,attributes:r,indexBuffer:o}),t.webgl2&&(e._vaSwap=new oi({context:t,attributes:r,indexBuffer:lt.createIndexBuffer({context:t,sizeInBytes:o.sizeInBytes,usage:Ne.DYNAMIC_DRAW,indexDatatype:o.indexDatatype})})),e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._verticesPromise=void 0}function WRe(e,t){if(u(e._sp))return;let n=e._batchTable,i=y(e._attributeLocations,HRe),o=e._pickId,r=e._vertexShaderSource,s=e._fragmentShaderSource;if(u(r)){e._sp=Xt.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i}),e._spStencil=e._sp,s=ke.replaceMain(s,"czm_non_pick_main"),s=`${s}void main() +{ + czm_non_pick_main(); + out_FragColor = ${o}; +} +`,e._spPick=Xt.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i});return}let a=n.getVertexShaderCallback(!1,"a_batchId",void 0)(AT),c=n.getFragmentShaderCallback(!1,void 0,!0)(eg);o=n.getPickId();let l=new ke({sources:[a]}),f=new ke({defines:["VECTOR_TILE"],sources:[c]});e._sp=Xt.fromCache({context:t,vertexShaderSource:l,fragmentShaderSource:f,attributeLocations:i}),l=new ke({sources:[AT]}),f=new ke({defines:["VECTOR_TILE"],sources:[eg]}),e._spStencil=Xt.fromCache({context:t,vertexShaderSource:l,fragmentShaderSource:f,attributeLocations:i}),c=ke.replaceMain(c,"czm_non_pick_main"),c=`${c} +void main() +{ + czm_non_pick_main(); + out_FragColor = ${o}; +} +`;let d=new ke({sources:[a]}),p=new ke({defines:["VECTOR_TILE"],sources:[c]});e._spPick=Xt.fromCache({context:t,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:i})}function Ate(e){let t=e?kn.EQUAL:kn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:t,frontOperation:{fail:ut.KEEP,zFail:ut.DECREMENT_WRAP,zPass:ut.KEEP},backFunction:t,backOperation:{fail:ut.KEEP,zFail:ut.INCREMENT_WRAP,zPass:ut.KEEP},reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Fa.LESS_OR_EQUAL},depthMask:!1}}var jRe={stencilTest:{enabled:!0,frontFunction:kn.NOT_EQUAL,frontOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},backFunction:kn.NOT_EQUAL,backOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:un.PRE_MULTIPLIED_ALPHA_BLEND},YRe={stencilTest:{enabled:!0,frontFunction:kn.NOT_EQUAL,frontOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},backFunction:kn.NOT_EQUAL,backOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function qRe(e){u(e._rsStencilDepthPass)||(e._rsStencilDepthPass=Ue.fromCache(Ate(!1)),e._rsStencilDepthPass3DTiles=Ue.fromCache(Ate(!0)),e._rsColorPass=Ue.fromCache(jRe),e._rsPickPass=Ue.fromCache(YRe))}var sA=new M,xte=new h;function XRe(e,t){if(u(e._uniformMap))return;let n={u_modifiedModelViewProjection:function(){let i=t.uniformState.view,o=t.uniformState.projection;return M.clone(i,sA),M.multiplyByPoint(sA,e._center,xte),M.setTranslation(sA,xte,sA),M.multiply(o,sA,sA),sA},u_highlightColor:function(){return e._highlightColor}};e._uniformMap=e._batchTable.getUniformMapCallback()(n)}function u5(e,t,n,i,o,r,s){let a=e.constructor.BYTES_PER_ELEMENT,c=r.length;for(let l=0;l<c;++l){let f=r[l],d=s[f],p=i[d],g=o[d],m=new e.constructor(e.buffer,a*p,g);t.set(m,n),i[d]=n,n+=g}return n}function KRe(e,t){let n=e._indices,i=e._indexOffsets,o=e._indexCounts,r=e._batchIdLookUp,s=new n.constructor(n.length),a=t.pop(),c=[a],l=u5(n,s,0,i,o,a.batchIds,r);for(a.offset=0,a.count=l;t.length>0;){let f=t.pop();if(z.equals(f.color,a.color))l=u5(n,s,l,i,o,f.batchIds,r),a.batchIds=a.batchIds.concat(f.batchIds),a.count=l-a.offset;else{let d=l;l=u5(n,s,l,i,o,f.batchIds,r),f.offset=d,f.count=l-d,c.push(f),a=f}}e._va.indexBuffer.copyFromArrayView(s),e._indices=s,e._batchedIndices=c}function f5(e,t,n,i,o,r,s){let a=e.bytesPerIndex,c=r.length;for(let l=0;l<c;++l){let f=r[l],d=s[f],p=i[d],g=o[d];t.copyFromBuffer(e,p*a,n*a,g*a),i[d]=n,n+=g}return n}function ZRe(e,t){let n=e._indexOffsets,i=e._indexCounts,o=e._batchIdLookUp,r=t.pop(),s=[r],a=e._va.indexBuffer,c=e._vaSwap.indexBuffer,l=f5(a,c,0,n,i,r.batchIds,o);for(r.offset=0,r.count=l;t.length>0;){let d=t.pop();if(z.equals(d.color,r.color))l=f5(a,c,l,n,i,d.batchIds,o),r.batchIds=r.batchIds.concat(d.batchIds),r.count=l-r.offset;else{let p=l;l=f5(a,c,l,n,i,d.batchIds,o),d.offset=p,d.count=l-p,s.push(d),r=d}}let f=e._va;e._va=e._vaSwap,e._vaSwap=f,e._batchedIndices=s}function JRe(e,t){return t.color.toRgba()-e.color.toRgba()}function QRe(e,t){if(!e._batchDirty)return!1;let n=e._batchedIndices,i=n.length,o=!1,r={};for(let s=0;s<i;++s){let c=n[s].color.toRgba();if(u(r[c])){o=!0;break}else r[c]=!0}if(!o)return e._batchDirty=!1,!1;if(o&&!e.forceRebatch&&e._framesSinceLastRebatch<120){++e._framesSinceLastRebatch;return}return n.sort(JRe),t.webgl2?ZRe(e,n):KRe(e,n),e._framesSinceLastRebatch=0,e._batchDirty=!1,e._pickCommandsDirty=!0,e._wireframeDirty=!0,!0}function $Re(e,t){let n=QRe(e,t),i=e._commands,o=e._batchedIndices,r=o.length,s=r*2;if(u(i)&&!n&&i.length===s)return;i.length=s;let a=e._va,c=e._sp,l=y(e._modelMatrix,M.IDENTITY),f=e._uniformMap,d=e._boundingVolume;for(let p=0;p<r;++p){let g=o[p].offset,m=o[p].count,A=i[p*2];u(A)||(A=i[p*2]=new tt({owner:e})),A.vertexArray=a,A.modelMatrix=l,A.offset=g,A.count=m,A.renderState=e._rsStencilDepthPass,A.shaderProgram=c,A.uniformMap=f,A.boundingVolume=d,A.cull=!1,A.pass=Ee.TERRAIN_CLASSIFICATION;let x=tt.shallowClone(A,A.derivedCommands.tileset);x.renderState=e._rsStencilDepthPass3DTiles,x.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,A.derivedCommands.tileset=x;let C=i[p*2+1];u(C)||(C=i[p*2+1]=new tt({owner:e})),C.vertexArray=a,C.modelMatrix=l,C.offset=g,C.count=m,C.renderState=e._rsColorPass,C.shaderProgram=c,C.uniformMap=f,C.boundingVolume=d,C.cull=!1,C.pass=Ee.TERRAIN_CLASSIFICATION;let T=tt.shallowClone(C,C.derivedCommands.tileset);T.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,C.derivedCommands.tileset=T}e._commandsDirty=!0}function eBe(e,t){if(e.classificationType===Un.TERRAIN||!t.invertClassification||u(e._commandsIgnoreShow)&&!e._commandsDirty)return;let n=e._commands,i=e._commandsIgnoreShow,o=e._spStencil,r=n.length,s=i.length=r/2,a=0;for(let c=0;c<s;++c){let l=i[c]=tt.shallowClone(n[a],i[c]);l.shaderProgram=o,l.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,a+=2}e._commandsDirty=!1}function tBe(e){if(!e._pickCommandsDirty)return;let t=e._indexOffsets.length,n=e._pickCommands;n.length=t*2;let i=e._va,o=e._spStencil,r=e._spPick,s=y(e._modelMatrix,M.IDENTITY),a=e._uniformMap;for(let c=0;c<t;++c){let l=e._indexOffsets[c],f=e._indexCounts[c],d=u(e._boundingVolumes)?e._boundingVolumes[c]:e.boundingVolume,p=n[c*2];u(p)||(p=n[c*2]=new tt({owner:e,pickOnly:!0})),p.vertexArray=i,p.modelMatrix=s,p.offset=l,p.count=f,p.renderState=e._rsStencilDepthPass,p.shaderProgram=o,p.uniformMap=a,p.boundingVolume=d,p.pass=Ee.TERRAIN_CLASSIFICATION;let g=tt.shallowClone(p,p.derivedCommands.tileset);g.renderState=e._rsStencilDepthPass3DTiles,g.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,p.derivedCommands.tileset=g;let m=n[c*2+1];u(m)||(m=n[c*2+1]=new tt({owner:e,pickOnly:!0})),m.vertexArray=i,m.modelMatrix=s,m.offset=l,m.count=f,m.renderState=e._rsPickPass,m.shaderProgram=r,m.uniformMap=a,m.boundingVolume=d,m.pass=Ee.TERRAIN_CLASSIFICATION;let A=tt.shallowClone(m,m.derivedCommands.tileset);A.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,m.derivedCommands.tileset=A}e._pickCommandsDirty=!1}cp.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new xs(e,r)}};cp.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function nBe(e,t){e._updatingAllCommands=!0;let n=e._batchIds,i=n.length,o;for(o=0;o<i;++o){let s=n[o],a=t[s];a.show=!0,a.color=z.WHITE}let r=e._batchedIndices;for(i=r.length,o=0;o<i;++o)r[o].color=z.clone(z.WHITE);e._updatingAllCommands=!1,e._batchDirty=!0}var iBe=new z,oBe=z.WHITE,rBe=!0,sBe=/\$/;cp.prototype.applyStyle=function(e,t){if(!u(e)){nBe(this,t);return}let n=e.color,i=n instanceof ju&&!sBe.test(n.expression);this._updatingAllCommands=i;let o=this._batchIds,r=o.length,s;for(s=0;s<r;++s){let a=o[s],c=t[a];c.color=u(e.color)?e.color.evaluateColor(c,iBe):oBe,c.show=u(e.show)?e.show.evaluate(c):rBe}if(i){let a=this._batchedIndices;for(r=a.length,s=0;s<r;++s)a[s].color=z.clone(z.WHITE);this._updatingAllCommands=!1,this._batchDirty=!0}};cp.prototype.updateCommands=function(e,t){if(this._updatingAllCommands)return;let n=this._batchIdLookUp,i=n[e];if(!u(i))return;let o=this._indexOffsets,r=this._indexCounts,s=o[i],a=r[i],c=this._batchedIndices,l=c.length,f;for(f=0;f<l;++f){let A=c[f].offset,x=c[f].count;if(s>=A&&s<A+x)break}c.push(new vh({color:z.clone(t),offset:s,count:a,batchIds:[e]}));let d=[],p=[],g=c[f].batchIds,m=g.length;for(let A=0;A<m;++A){let x=g[A];if(x===e)continue;let C=n[x];o[C]<s?d.push(x):p.push(x)}p.length!==0&&c.push(new vh({color:z.clone(c[f].color),offset:s+a,count:c[f].offset+c[f].count-(s+a),batchIds:p})),d.length!==0?(c[f].count=s-c[f].offset,c[f].batchIds=d):c.splice(f,1),this._batchDirty=!0};function Cte(e,t,n,i){let o=e.classificationType,r=o!==Un.CESIUM_3D_TILE,s=o!==Un.TERRAIN,a=t.commandList,c=n.length,l,f;for(f=0;f<c;++f)r&&(l=n[f],l.pass=Ee.TERRAIN_CLASSIFICATION,a.push(l)),s&&(l=n[f].derivedCommands.tileset,l.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,a.push(l));if(!(!t.invertClassification||!u(i)))for(c=i.length,f=0;f<c;++f)a.push(i[f])}function aBe(e,t){let n=e.commandList,i=t.length;for(let o=0;o<i;o+=2){let r=t[o+1];r.pass=Ee.OPAQUE,n.push(r)}}function cBe(e){let t=e.debugWireframe===e._debugWireframe;if(t=t&&!(e.debugWireframe&&e._wireframeDirty),t)return;u(e._rsWireframe)||(e._rsWireframe=Ue.fromCache({}));let n,i;e.debugWireframe?(n=e._rsWireframe,i=Me.LINES):(n=e._rsColorPass,i=Me.TRIANGLES);let o=e._commands,r=o.length;for(let s=0;s<r;s+=2){let a=o[s+1];a.renderState=n,a.primitiveType=i}e._debugWireframe=e.debugWireframe,e._wireframeDirty=!1}cp.prototype.update=function(e){let t=e.context;GRe(this,t),WRe(this,t),qRe(this),XRe(this,t);let n=e.passes;n.render&&($Re(this,t),eBe(this,e),cBe(this),this._debugWireframe?aBe(e,this._commands):Cte(this,e,this._commands,this._commandsIgnoreShow)),n.pick&&(tBe(this),Cte(this,e,this._pickCommands))};cp.prototype.isDestroyed=function(){return!1};cp.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaSwap=this._vaSwap&&this._vaSwap.destroy(),le(this)};var aA=cp;function Xl(e){this._boxes=e.boxes,this._boxBatchIds=e.boxBatchIds,this._cylinders=e.cylinders,this._cylinderBatchIds=e.cylinderBatchIds,this._ellipsoids=e.ellipsoids,this._ellipsoidBatchIds=e.ellipsoidBatchIds,this._spheres=e.spheres,this._sphereBatchIds=e.sphereBatchIds,this._modelMatrix=e.modelMatrix,this._batchTable=e.batchTable,this._boundingVolume=e.boundingVolume,this._center=e.center,u(this._center)||(u(this._boundingVolume)?this._center=h.clone(this._boundingVolume.center):this._center=h.clone(h.ZERO)),this._boundingVolumes=void 0,this._batchedIndices=void 0,this._indices=void 0,this._indexOffsets=void 0,this._indexCounts=void 0,this._positions=void 0,this._vertexBatchIds=void 0,this._batchIds=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._ready=!1,this._update=function(t,n){},this._readyPromise=pBe(this),this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Un.BOTH}Object.defineProperties(Xl.prototype,{trianglesLength:{get:function(){return u(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return u(this._primitive)?this._primitive.geometryByteLength:0}},readyPromise:{get:function(){return this._readyPromise}}});Xl.packedBoxLength=M.packedLength+h.packedLength;Xl.packedCylinderLength=M.packedLength+2;Xl.packedEllipsoidLength=M.packedLength+h.packedLength;Xl.packedSphereLength=h.packedLength+1;function lBe(e){let t=new Float64Array(M.packedLength+h.packedLength),n=0;return h.pack(e._center,t,n),n+=h.packedLength,M.pack(e._modelMatrix,t,n),t}function uBe(e,t){let n=0,i=t[n++],o=t[n++],r=e._boundingVolumes=new Array(o);for(let c=0;c<o;++c)r[c]=se.unpack(t,n),n+=se.packedLength;let s=t[n++],a=e._batchedIndices=new Array(s);for(let c=0;c<s;++c){let l=z.unpack(t,n);n+=z.packedLength;let f=t[n++],d=t[n++],p=t[n++],g=new Array(p);for(let m=0;m<p;++m)g[m]=t[n++];a[c]=new vh({color:l,offset:f,count:d,batchIds:g})}return i}var fBe=new pi("createVectorTileGeometries",5),dBe=new z;function hBe(e){if(!u(e._primitive)&&!u(e._verticesPromise)){let t=e._boxes,n=e._boxBatchIds,i=e._cylinders,o=e._cylinderBatchIds,r=e._ellipsoids,s=e._ellipsoidBatchIds,a=e._spheres,c=e._sphereBatchIds,l=e._batchTableColors,f=e._packedBuffer;if(!u(l)){let m=0;u(e._boxes)&&(t=e._boxes=t.slice(),n=e._boxBatchIds=n.slice(),m+=n.length),u(e._cylinders)&&(i=e._cylinders=i.slice(),o=e._cylinderBatchIds=o.slice(),m+=o.length),u(e._ellipsoids)&&(r=e._ellipsoids=r.slice(),s=e._ellipsoidBatchIds=s.slice(),m+=s.length),u(e._spheres)&&(a=e._sphere=a.slice(),c=e._sphereBatchIds=c.slice(),m+=c.length),l=e._batchTableColors=new Uint32Array(m);let A=e._batchTable;for(let x=0;x<m;++x){let C=A.getColor(x,dBe);l[x]=C.toRgba()}f=e._packedBuffer=lBe(e)}let d=[];u(t)&&d.push(t.buffer,n.buffer),u(i)&&d.push(i.buffer,o.buffer),u(r)&&d.push(r.buffer,s.buffer),u(a)&&d.push(a.buffer,c.buffer),d.push(l.buffer,f.buffer);let p={boxes:u(t)?t.buffer:void 0,boxBatchIds:u(t)?n.buffer:void 0,cylinders:u(i)?i.buffer:void 0,cylinderBatchIds:u(i)?o.buffer:void 0,ellipsoids:u(r)?r.buffer:void 0,ellipsoidBatchIds:u(r)?s.buffer:void 0,spheres:u(a)?a.buffer:void 0,sphereBatchIds:u(a)?c.buffer:void 0,batchTableColors:l.buffer,packedBuffer:f.buffer},g=e._verticesPromise=fBe.scheduleTask(p,d);return u(g)?g.then(function(m){let A=new Float64Array(m.packedBuffer);uBe(e,A)===2?e._indices=new Uint16Array(m.indices):e._indices=new Uint32Array(m.indices),e._indexOffsets=new Uint32Array(m.indexOffsets),e._indexCounts=new Uint32Array(m.indexCounts),e._positions=new Float32Array(m.positions),e._vertexBatchIds=new Uint16Array(m.vertexBatchIds),e._batchIds=new Uint16Array(m.batchIds),e._ready=!0}):void 0}}function mBe(e){e._ready&&!u(e._primitive)&&(e._primitive=new aA({batchTable:e._batchTable,positions:e._positions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center,pickObject:y(e._pickObject,e)}),e._boxes=void 0,e._boxBatchIds=void 0,e._cylinders=void 0,e._cylinderBatchIds=void 0,e._ellipsoids=void 0,e._ellipsoidBatchIds=void 0,e._spheres=void 0,e._sphereBatchIds=void 0,e._center=void 0,e._modelMatrix=void 0,e._batchTable=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._indices=void 0,e._indexOffsets=void 0,e._indexCounts=void 0,e._positions=void 0,e._vertexBatchIds=void 0,e._batchIds=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._verticesPromise=void 0)}Xl.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};Xl.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};Xl.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};Xl.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};function pBe(e){return new Promise(function(t,n){e._update=function(i,o){let r=hBe(i);i._ready&&(i._primitive.debugWireframe=i.debugWireframe,i._primitive.forceRebatch=i.forceRebatch,i._primitive.classificationType=i.classificationType,i._primitive.update(o)),u(r)&&r.then(function(){mBe(i),t(i)}).catch(function(s){n(s)})}})}Xl.prototype.update=function(e){this._update(this,e)};Xl.prototype.isDestroyed=function(){return!1};Xl.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),le(this)};var lp=Xl;function up(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._readyPromise=yBe(this,i,o)}Object.defineProperties(up.prototype,{featuresLength:{get:function(){return u(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return u(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return u(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return u(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function _Be(e){return function(t,n){u(e._geometries)&&e._geometries.updateCommands(t,n)}}function gBe(e,t){let n,i,o,r,s,a=y(e.BOXES_LENGTH,0),c=y(e.CYLINDERS_LENGTH,0),l=y(e.ELLIPSOIDS_LENGTH,0),f=y(e.SPHERES_LENGTH,0);if(a>0&&u(e.BOX_BATCH_IDS)){let m=t.byteOffset+e.BOX_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,m,a)}if(c>0&&u(e.CYLINDER_BATCH_IDS)){let m=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,m,c)}if(l>0&&u(e.ELLIPSOID_BATCH_IDS)){let m=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,m,l)}if(f>0&&u(e.SPHERE_BATCH_IDS)){let m=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset;r=new Uint16Array(t.buffer,m,f)}let d=u(n)||u(i)||u(o)||u(r),p=a>0&&!u(n)||c>0&&!u(i)||l>0&&!u(o)||f>0&&!u(r);if(d&&p)throw new ue("If one group of batch ids is defined, then all batch ids must be defined.");if(!u(n)&&!u(i)&&!u(o)&&!u(r)){let m=0;if(!u(n)&&a>0)for(n=new Uint16Array(a),s=0;s<a;++s)n[s]=m++;if(!u(i)&&c>0)for(i=new Uint16Array(c),s=0;s<c;++s)i[s]=m++;if(!u(o)&&l>0)for(o=new Uint16Array(l),s=0;s<l;++s)o[s]=m++;if(!u(r)&&f>0)for(r=new Uint16Array(f),s=0;s<f;++s)r[s]=m++}return{boxes:n,cylinders:i,ellipsoids:o,spheres:r}}var cA=Uint32Array.BYTES_PER_ELEMENT;function yBe(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=cA;let r=o.getUint32(n,!0);if(r!==1)throw new ue(`Only Geometry tile version 1 is supported. Version ${r} is not.`);n+=cA;let s=o.getUint32(n,!0);if(n+=cA,s===0){e._readyPromise.resolve(e);return}let a=o.getUint32(n,!0);if(n+=cA,a===0)throw new ue("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=cA;let l=o.getUint32(n,!0);n+=cA;let f=o.getUint32(n,!0);n+=cA;let d=Oo(i,n,a);n+=a;let p=new Uint8Array(t,n,c);n+=c;let g,m;l>0&&(g=Oo(i,n,l),n+=l,f>0&&(m=new Uint8Array(t,n,f),m=new Uint8Array(m)));let A=y(d.BOXES_LENGTH,0),x=y(d.CYLINDERS_LENGTH,0),C=y(d.ELLIPSOIDS_LENGTH,0),T=y(d.SPHERES_LENGTH,0),E=A+x+C+T,S=new ap(e,E,g,m,_Be(e));if(e._batchTable=S,E===0)return;let D=e.tile.computedTransform,w;u(d.RTC_CENTER)&&(w=h.unpack(d.RTC_CENTER),M.multiplyByPoint(D,w,w));let R=gBe(d,p);if(A>0||x>0||C>0||T>0){let O,L,N,_;if(A>0){let b=p.byteOffset+d.BOXES.byteOffset;O=new Float32Array(p.buffer,b,lp.packedBoxLength*A)}if(x>0){let b=p.byteOffset+d.CYLINDERS.byteOffset;L=new Float32Array(p.buffer,b,lp.packedCylinderLength*x)}if(C>0){let b=p.byteOffset+d.ELLIPSOIDS.byteOffset;N=new Float32Array(p.buffer,b,lp.packedEllipsoidLength*C)}if(T>0){let b=p.byteOffset+d.SPHERES.byteOffset;_=new Float32Array(p.buffer,b,lp.packedSphereLength*T)}return e._geometries=new lp({boxes:O,boxBatchIds:R.boxes,cylinders:L,cylinderBatchIds:R.cylinders,ellipsoids:N,ellipsoidBatchIds:R.ellipsoids,spheres:_,sphereBatchIds:R.spheres,center:w,modelMatrix:D,batchTable:S,boundingVolume:e.tile.boundingVolume.boundingVolume}),e._geometries.readyPromise.then(function(){return e})}return Promise.resolve(e)}function Tte(e){let t=e.featuresLength;if(!u(e._features)&&t>0){let n=new Array(t);u(e._geometries)&&e._geometries.createFeatures(e,n),e._features=n}}up.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};up.prototype.getFeature=function(e){return Tte(this),this._features[e]};up.prototype.applyDebugSettings=function(e,t){u(this._geometries)&&this._geometries.applyDebugSettings(e,t)};up.prototype.applyStyle=function(e){Tte(this),u(this._geometries)&&this._geometries.applyStyle(e,this._features)};up.prototype.update=function(e,t){u(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),u(this._batchTable)&&this._geometries._ready&&this._batchTable.update(e,t)};up.prototype.isDestroyed=function(){return!1};up.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),le(this)};var TP=up;var d5={};d5.encode2D=function(e,t,n){let i=Math.pow(2,e),o={x:t,y:n},r,s,a,c=BigInt(0);for(a=i/2;a>0;a/=2)r=(o.x&a)>0?1:0,s=(o.y&a)>0?1:0,c+=BigInt((3*r^s)*a*a),Ete(i,o,r,s);return c};d5.decode2D=function(e,t){let n=Math.pow(2,e),i={x:0,y:0},o,r,s,a;for(s=1,a=t;s<n;s*=2)o=1&Number(a/BigInt(2)),r=1&Number(a^BigInt(o)),Ete(s,i,o,r),i.x+=s*o,i.y+=s*r,a/=BigInt(4);return[i.x,i.y]};function Ete(e,t,n,i){if(i!==0)return;n===1&&(t.x=e-1-t.x,t.y=e-1-t.y);let o=t.x;t.x=t.y,t.y=o}var xT=d5;var lA=30,ABe=1<<lA,xBe=1<<lA+1>>>0,h5=2*lA+1,ug=4,Dte=[],vte=[],CBe=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],fg=1,CT=2,CV=[fg,0,0,fg|CT];function Ur(e){if(!Vt.supportsBigInt())throw new ue("S2 required BigInt support");this._cellId=e,this._level=Ur.getLevel(e)}Ur.fromToken=function(e){return new Ur(Ur.getIdFromToken(e))};Ur.isValidId=function(e){return!(e<=0||e>>BigInt(h5)>5||!(e&~e+BigInt(1)&BigInt("0x1555555555555555")))};Ur.isValidToken=function(e){return/^[0-9a-fA-F]{1,16}$/.test(e)?Ur.isValidId(Ur.getIdFromToken(e)):!1};Ur.getIdFromToken=function(e){return BigInt("0x"+e+"0".repeat(16-e.length))};Ur.getTokenFromId=function(e){let t=Math.floor(OBe(e)/4),n=e.toString(16).replace(/0*$/,"");return Array(17-t-n.length).join("0")+n};Ur.getLevel=function(e){let t=0;for(;e!==BigInt(0)&&!(e&BigInt(1));)t++,e=e>>BigInt(1);return lA-(t>>1)};Ur.prototype.getChild=function(e){let t=Pte(this._cellId)>>BigInt(2),n=this._cellId+BigInt(2*e+1-4)*t;return new Ur(n)};Ur.prototype.getParent=function(){let e=Pte(this._cellId)<<BigInt(2);return new Ur(this._cellId&~e+BigInt(1)|e)};Ur.prototype.getParentAtLevel=function(e){let t=IBe(e);return new Ur(this._cellId&-t|t)};Ur.prototype.getCenter=function(e){e=y(e,ie.WGS84);let t=TBe(this._cellId,this._level);t=h.normalize(t,t);let n=new he.fromCartesian(t,ie.UNIT_SPHERE);return he.toCartesian(n,e,new h)};Ur.prototype.getVertex=function(e,t){t=y(t,ie.WGS84);let n=EBe(this._cellId,this._level,e);n=h.normalize(n,n);let i=new he.fromCartesian(n,ie.UNIT_SPHERE);return he.toCartesian(i,t,new h)};Ur.fromFacePositionLevel=function(e,t,n){let i=(e<4?"0":"")+(e<2?"0":"")+e.toString(2),o=t.toString(2),r=Array(2*n-o.length+1).join("0"),s=Array(h5-2*n).join("0"),a=BigInt(`0b${i}${r}${o}1${s}`);return new Ur(a)};function TBe(e,t){let n=bBe(e,t);return SBe(n[0],n[1],n[2])}function EBe(e,t,n){let i=wte(e,t),o=DBe([i[1],i[2]],t),r=n>>1&1;return Ite(i[0],o[0][r^n&1],o[1][r])}function bBe(e,t){let n=wte(e),i=n[0],o=n[1],r=n[2],s=t===30,a=!s&&(BigInt(o)^e>>BigInt(2))&BigInt(1),c=s?1:a?2:0,l=(o<<1)+c,f=(r<<1)+c;return[i,l,f]}function wte(e){Dte.length===0&&wBe();let t=Number(e>>BigInt(h5)),n=t&fg,i=(1<<ug)-1,o=0,r=0;for(let s=7;s>=0;s--){let c=(1<<2*(s===7?lA-7*ug:ug))-1;n+=Number(e>>BigInt(s*2*ug+1)&BigInt(c))<<2,n=vte[n];let l=s*ug;o+=n>>ug+2<<l,r+=(n>>2&i)<<l,n&=fg|CT}return[t,o,r]}function SBe(e,t,n){let i=bte(t),o=bte(n),r=TV(i),s=TV(o);return Ite(e,r,s)}function Ite(e,t,n){switch(e){case 0:return new h(1,t,n);case 1:return new h(-t,1,n);case 2:return new h(-t,-n,1);case 3:return new h(-1,-n,-t);case 4:return new h(n,-1,-t);default:return new h(n,t,-1)}}function TV(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function bte(e){return 1/xBe*e}function DBe(e,t){let n=[[],[]],i=vBe(t);for(let o=0;o<2;++o){let r=e[o]&-i,s=r+i;n[o][0]=TV(Ste(r)),n[o][1]=TV(Ste(s))}return n}function vBe(e){return 1<<lA-e>>>0}function Ste(e){return 1/ABe*e}function dg(e,t,n,i,o,r){if(e===ug){let s=(t<<ug)+n;Dte[(s<<2)+i]=(o<<2)+r,vte[(o<<2)+i]=(s<<2)+r}else{e++,t<<=1,n<<=1,o<<=2;let s=CBe[r];dg(e,t+(s[0]>>1),n+(s[0]&1),i,o,r^CV[0]),dg(e,t+(s[1]>>1),n+(s[1]&1),i,o+1,r^CV[1]),dg(e,t+(s[2]>>1),n+(s[2]&1),i,o+2,r^CV[2]),dg(e,t+(s[3]>>1),n+(s[3]&1),i,o+3,r^CV[3])}}function wBe(){dg(0,0,0,0,0,0),dg(0,0,0,fg,0,fg),dg(0,0,0,CT,0,CT),dg(0,0,0,fg|CT,0,fg|CT)}function Pte(e){return e&~e+BigInt(1)}function IBe(e){return BigInt(1)<<BigInt(2*(lA-e))}var PBe=[64,0,1,39,2,15,40,23,3,12,16,59,41,19,24,54,4,64,13,10,17,62,60,28,42,30,20,51,25,44,55,47,5,32,65,38,14,22,11,58,18,53,63,9,61,27,29,50,43,46,31,37,21,57,52,8,26,49,45,36,56,7,48,35,6,34,33,0];function OBe(e){return PBe[(-e&e)%BigInt(67)]}var fp=Ur;function RBe(e,t){return u(e)&&u(e.extensions)&&u(e.extensions[t])}var ai=RBe;function m5(e){let t=e.lengthBits,n=e.availableCount,i=e.constant,o=e.bitstream;if(u(i))n=t;else{let r=Math.ceil(t/8);if(o.length!==r)throw new ue(`Availability bitstream must be exactly ${r} bytes long to store ${t} bits. Actual bitstream was ${o.length} bytes long.`);let s=y(e.computeAvailableCountEnabled,!1);!u(n)&&s&&(n=BBe(o,t))}this._lengthBits=t,this._availableCount=n,this._constant=i,this._bitstream=o}function BBe(e,t){let n=0;for(let i=0;i<t;i++){let o=i>>3,r=i%8;n+=e[o]>>r&1}return n}Object.defineProperties(m5.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});m5.prototype.getBit=function(e){if(u(this._constant))return this._constant;let t=e>>3,n=e%8;return(this._bitstream[t]>>n&1)===1};var TT=m5;function dp(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataTable,n=e.class,i=e.entityId,o=e.propertyTableJson;this._class=n,this._metadataTable=t,this._entityId=i,this._extensions=o.extensions,this._extras=o.extras}Object.defineProperties(dp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});dp.prototype.hasProperty=function(e){return this._metadataTable.hasProperty(e)};dp.prototype.hasPropertyBySemantic=function(e){return this._metadataTable.hasPropertyBySemantic(e)};dp.prototype.getPropertyIds=function(e){return this._metadataTable.getPropertyIds(e)};dp.prototype.getProperty=function(e){return this._metadataTable.getProperty(this._entityId,e)};dp.prototype.setProperty=function(e,t){return this._metadataTable.setProperty(this._entityId,e,t)};dp.prototype.getPropertyBySemantic=function(e){return this._metadataTable.getPropertyBySemantic(this._entityId,e)};dp.prototype.setPropertyBySemantic=function(e,t){return this._metadataTable.setPropertyBySemantic(this._entityId,e,t)};var ET=dp;var EV={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};EV.getBranchingFactor=function(e){switch(e){case EV.OCTREE:return 8;case EV.QUADTREE:return 4}};var kr=Object.freeze(EV);function ks(){}Object.defineProperties(ks.prototype,{class:{get:function(){de.throwInstantiationError()}}});ks.prototype.hasProperty=function(e){de.throwInstantiationError()};ks.prototype.hasPropertyBySemantic=function(e){de.throwInstantiationError()};ks.prototype.getPropertyIds=function(e){de.throwInstantiationError()};ks.prototype.getProperty=function(e){de.throwInstantiationError()};ks.prototype.setProperty=function(e,t){de.throwInstantiationError()};ks.prototype.getPropertyBySemantic=function(e){de.throwInstantiationError()};ks.prototype.setPropertyBySemantic=function(e,t){de.throwInstantiationError()};ks.hasProperty=function(e,t,n){if(u(t[e]))return!0;let i=n.properties;if(!u(i))return!1;let o=i[e];return!!(u(o)&&u(o.default))};ks.hasPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!u(i))return!1;let o=i[e];return u(o)};ks.getPropertyIds=function(e,t,n){n=u(n)?n:[],n.length=0;for(let o in e)e.hasOwnProperty(o)&&u(e[o])&&n.push(o);let i=t.properties;if(u(i))for(let o in i)i.hasOwnProperty(o)&&!u(e[o])&&u(i[o].default)&&n.push(o);return n};ks.getProperty=function(e,t,n){let i=n.properties[e],o=t[e];Array.isArray(o)&&(o=o.slice());let r=!0;if(o=i.handleNoData(o),!u(o)&&u(i.default))return o=Ge(i.default,!0),i.unpackVectorAndMatrixTypes(o,r);if(u(o))return o=i.normalize(o),o=i.applyValueTransform(o),i.unpackVectorAndMatrixTypes(o,r)};ks.setProperty=function(e,t,n,i){if(!u(n[e]))return!1;Array.isArray(t)&&(t=t.slice());let o,r=i.properties;u(r)&&(o=r[e]);let s=!0;return u(o)&&(t=o.packVectorAndMatrixTypes(t,s),t=o.unapplyValueTransform(t),t=o.unnormalize(t)),n[e]=t,!0};ks.getPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!u(i))return;let o=i[e];if(u(o))return ks.getProperty(o.id,t,n)};ks.setPropertyBySemantic=function(e,t,n,i){let o=i.propertiesBySemantic;if(!u(o))return!1;let r=i.propertiesBySemantic[e];return u(r)?ks.setProperty(r.id,t,n,i):!1};var Nn=ks;function hp(e){e=y(e,y.EMPTY_OBJECT);let t=e.subtreeMetadata,n=e.class,i=u(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(hp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});hp.prototype.hasProperty=function(e){return Nn.hasProperty(e,this._properties,this._class)};hp.prototype.hasPropertyBySemantic=function(e){return Nn.hasPropertyBySemantic(e,this._properties,this._class)};hp.prototype.getPropertyIds=function(e){return Nn.getPropertyIds(this._properties,this._class,e)};hp.prototype.getProperty=function(e){return Nn.getProperty(e,this._properties,this._class)};hp.prototype.setProperty=function(e,t){return Nn.setProperty(e,t,this._properties,this._class)};hp.prototype.getPropertyBySemantic=function(e){return Nn.getPropertyBySemantic(e,this._properties,this._class)};hp.prototype.setPropertyBySemantic=function(e,t){return Nn.setPropertyBySemantic(e,t,this._properties,this._class)};var EP=hp;var Dt={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};Dt.getMinimum=function(e){switch(e){case Dt.INT8:return-128;case Dt.UINT8:return 0;case Dt.INT16:return-32768;case Dt.UINT16:return 0;case Dt.INT32:return-2147483648;case Dt.UINT32:return 0;case Dt.INT64:return Vt.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case Dt.UINT64:return Vt.supportsBigInt()?BigInt(0):0;case Dt.FLOAT32:return-34028234663852886e22;case Dt.FLOAT64:return-Number.MAX_VALUE}};Dt.getMaximum=function(e){switch(e){case Dt.INT8:return 127;case Dt.UINT8:return 255;case Dt.INT16:return 32767;case Dt.UINT16:return 65535;case Dt.INT32:return 2147483647;case Dt.UINT32:return 4294967295;case Dt.INT64:return Vt.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case Dt.UINT64:return Vt.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case Dt.FLOAT32:return 34028234663852886e22;case Dt.FLOAT64:return Number.MAX_VALUE}};Dt.isIntegerType=function(e){switch(e){case Dt.INT8:case Dt.UINT8:case Dt.INT16:case Dt.UINT16:case Dt.INT32:case Dt.UINT32:case Dt.INT64:case Dt.UINT64:return!0;default:return!1}};Dt.isUnsignedIntegerType=function(e){switch(e){case Dt.UINT8:case Dt.UINT16:case Dt.UINT32:case Dt.UINT64:return!0;default:return!1}};Dt.isVectorCompatible=function(e){switch(e){case Dt.INT8:case Dt.UINT8:case Dt.INT16:case Dt.UINT16:case Dt.INT32:case Dt.UINT32:case Dt.FLOAT32:case Dt.FLOAT64:return!0;default:return!1}};Dt.normalize=function(e,t){return Math.max(Number(e)/Number(Dt.getMaximum(t)),-1)};Dt.unnormalize=function(e,t){let n=Dt.getMaximum(t),i=Dt.isUnsignedIntegerType(t)?0:-n;return e=P.sign(e)*Math.round(Math.abs(e)*Number(n)),(t===Dt.INT64||t===Dt.UINT64)&&Vt.supportsBigInt()&&(e=BigInt(e)),e>n?n:e<i?i:e};Dt.applyValueTransform=function(e,t,n){return n*e+t};Dt.unapplyValueTransform=function(e,t,n){return n===0?0:(e-t)/n};Dt.getSizeInBytes=function(e){switch(e){case Dt.INT8:case Dt.UINT8:return 1;case Dt.INT16:case Dt.UINT16:return 2;case Dt.INT32:case Dt.UINT32:return 4;case Dt.INT64:case Dt.UINT64:return 8;case Dt.FLOAT32:return 4;case Dt.FLOAT64:return 8}};Dt.fromComponentDatatype=function(e){switch(e){case q.BYTE:return Dt.INT8;case q.UNSIGNED_BYTE:return Dt.UINT8;case q.SHORT:return Dt.INT16;case q.UNSIGNED_SHORT:return Dt.UINT16;case q.INT:return Dt.INT32;case q.UNSIGNED_INT:return Dt.UINT32;case q.FLOAT:return Dt.FLOAT32;case q.DOUBLE:return Dt.FLOAT64}};Dt.toComponentDatatype=function(e){switch(e){case Dt.INT8:return q.BYTE;case Dt.UINT8:return q.UNSIGNED_BYTE;case Dt.INT16:return q.SHORT;case Dt.UINT16:return q.UNSIGNED_SHORT;case Dt.INT32:return q.INT;case Dt.UINT32:return q.UNSIGNED_INT;case Dt.FLOAT32:return q.FLOAT;case Dt.FLOAT64:return q.DOUBLE}};var tn=Object.freeze(Dt);var Mo={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4",BOOLEAN:"BOOLEAN",STRING:"STRING",ENUM:"ENUM"};Mo.isVectorType=function(e){switch(e){case Mo.VEC2:case Mo.VEC3:case Mo.VEC4:return!0;default:return!1}};Mo.isMatrixType=function(e){switch(e){case Mo.MAT2:case Mo.MAT3:case Mo.MAT4:return!0;default:return!1}};Mo.getComponentCount=function(e){switch(e){case Mo.SCALAR:case Mo.STRING:case Mo.ENUM:case Mo.BOOLEAN:return 1;case Mo.VEC2:return 2;case Mo.VEC3:return 3;case Mo.VEC4:return 4;case Mo.MAT2:return 4;case Mo.MAT3:return 9;case Mo.MAT4:return 16}};Mo.getMathType=function(e){switch(e){case Mo.VEC2:return H;case Mo.VEC3:return h;case Mo.VEC4:return oe;case Mo.MAT2:return Ji;case Mo.MAT3:return Z;case Mo.MAT4:return M;default:return}};var zt=Object.freeze(Mo);function ua(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.type,i=e.componentType,o=e.enumType,r=u(i)&&tn.isIntegerType(i)&&y(e.normalized,!1);this._id=t,this._name=e.name,this._description=e.description,this._semantic=e.semantic,this._isLegacyExtension=e.isLegacyExtension,this._type=n,this._componentType=i,this._enumType=o,this._valueType=u(o)?o.valueType:i,this._isArray=y(e.isArray,!1),this._isVariableLengthArray=y(e.isVariableLengthArray,!1),this._arrayLength=e.arrayLength,this._min=Ge(e.min,!0),this._max=Ge(e.max,!0),this._normalized=r;let s=Ge(e.offset,!0),a=Ge(e.scale,!0),c=u(s)||u(a),l=!0;u(s)||(s=this.expandConstant(0,l)),u(a)||(a=this.expandConstant(1,l)),this._offset=s,this._scale=a,this._hasValueTransform=c,this._noData=Ge(e.noData,!0),this._default=Ge(e.default,!0),this._required=y(e.required,!0),this._extras=Ge(e.extras,!0),this._extensions=Ge(e.extensions,!0)}ua.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.property,i=MBe(n),o=LBe(n,e.enums),r;return u(i)?i?r=u(n.optional)?!n.optional:!0:r=y(n.required,!1):r=!1,new ua({id:t,type:o.type,componentType:o.componentType,enumType:o.enumType,isArray:o.isArray,isVariableLengthArray:o.isVariableLengthArray,arrayLength:o.arrayLength,normalized:n.normalized,min:n.min,max:n.max,offset:n.offset,scale:n.scale,noData:n.noData,default:n.default,required:r,name:n.name,description:n.description,semantic:n.semantic,extras:n.extras,extensions:n.extensions,isLegacyExtension:i})};Object.defineProperties(ua.prototype,{id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},type:{get:function(){return this._type}},enumType:{get:function(){return this._enumType}},componentType:{get:function(){return this._componentType}},valueType:{get:function(){return this._valueType}},isArray:{get:function(){return this._isArray}},isVariableLengthArray:{get:function(){return this._isVariableLengthArray}},arrayLength:{get:function(){return this._arrayLength}},normalized:{get:function(){return this._normalized}},max:{get:function(){return this._max}},min:{get:function(){return this._min}},noData:{get:function(){return this._noData}},default:{get:function(){return this._default}},required:{get:function(){return this._required}},semantic:{get:function(){return this._semantic}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});function MBe(e){if(e.type==="ARRAY")return!0;let t=e.type;if(t===zt.SCALAR||zt.isMatrixType(t)||zt.isVectorType(t))return!1;if(u(tn[t]))return!0;if(u(e.noData)||u(e.scale)||u(e.offset)||u(e.required)||u(e.count)||u(e.array)||u(e.optional))return!1}function LBe(e,t){let n=e.type,i=e.componentType,o=n==="ARRAY",r,s,a;o?(r=!0,s=e.componentCount,a=!u(s)):e.array?(r=!0,s=e.count,a=!u(e.count)):(r=!1,s=void 0,a=!1);let c;if(u(e.enumType)&&(c=t[e.enumType]),n===zt.ENUM)return{type:n,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&i===zt.ENUM)return{type:i,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===zt.SCALAR||zt.isMatrixType(n)||zt.isVectorType(n))return{type:n,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===zt.BOOLEAN||n===zt.STRING)return{type:n,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&(i===zt.BOOLEAN||i===zt.STRING))return{type:i,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(u(i)&&u(tn[i]))return{type:zt.SCALAR,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(u(tn[n]))return{type:zt.SCALAR,componentType:n,enumType:void 0,valueType:n,isArray:r,isVariableLengthArray:a,arrayLength:s}}ua.prototype.normalize=function(e){return this._normalized?p5(e,this._valueType,tn.normalize):e};ua.prototype.unnormalize=function(e){return this._normalized?p5(e,this._valueType,tn.unnormalize):e};ua.prototype.applyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:ua.valueTransformInPlace(e,this._offset,this._scale,tn.applyValueTransform)};ua.prototype.unapplyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:ua.valueTransformInPlace(e,this._offset,this._scale,tn.unapplyValueTransform)};ua.prototype.expandConstant=function(e,t){t=y(t,!1);let n=this._isArray,i=this._arrayLength,o=zt.getComponentCount(this._type),r=n&&o>1;if(!n&&o===1)return e;if(!n)return new Array(o).fill(e);if(!r)return new Array(i).fill(e);if(!t)return new Array(this._arrayLength*o).fill(e);let s=new Array(o).fill(e);return new Array(this._arrayLength).fill(s)};ua.prototype.handleNoData=function(e){let t=this._noData;if(!u(t))return e;if(!Mte(e,t))return e};function Mte(e,t){if(!Array.isArray(e))return e===t;if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Mte(e[n],t[n]))return!1;return!0}ua.prototype.unpackVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=zt.getMathType(this._type),i=this._isArray,o=zt.getComponentCount(this._type),r=i&&o>1;return u(n)?t&&r?e.map(function(s){return n.unpack(s)}):i?n.unpackArray(e):n.unpack(e):e};ua.prototype.packVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=zt.getMathType(this._type),i=this._isArray,o=zt.getComponentCount(this._type),r=i&&o>1;return u(n)?t&&r?e.map(function(s){return n.pack(s,[])}):i?n.packArray(e,[]):n.pack(e,[]):e};ua.prototype.validate=function(e){if(!(!u(e)&&u(this._default)))return this._required&&!u(e)?"required property must have a value":this._isArray?NBe(this,e):Lte(this,e)};function NBe(e,t){if(!Array.isArray(t))return`value ${t} must be an array`;let n=t.length;if(!e._isVariableLengthArray&&n!==e._arrayLength)return"Array length does not match property.arrayLength";for(let i=0;i<n;i++){let o=Lte(e,t[i]);if(u(o))return o}}function Lte(e,t){let n=e._type,i=e._componentType,o=e._enumType,r=e._normalized;return zt.isVectorType(n)?FBe(t,n,i):zt.isMatrixType(n)?VBe(t,n,i):n===zt.STRING?UBe(t):n===zt.BOOLEAN?kBe(t):n===zt.ENUM?zBe(t,o):HBe(t,i,r)}function FBe(e,t,n){if(!tn.isVectorCompatible(n))return`componentType ${n} is incompatible with vector type ${t}`;if(t===zt.VEC2&&!(e instanceof H))return`vector value ${e} must be a Cartesian2`;if(t===zt.VEC3&&!(e instanceof h))return`vector value ${e} must be a Cartesian3`;if(t===zt.VEC4&&!(e instanceof oe))return`vector value ${e} must be a Cartesian4`}function VBe(e,t,n){if(!tn.isVectorCompatible(n))return`componentType ${n} is incompatible with matrix type ${t}`;if(t===zt.MAT2&&!(e instanceof Ji))return`matrix value ${e} must be a Matrix2`;if(t===zt.MAT3&&!(e instanceof Z))return`matrix value ${e} must be a Matrix3`;if(t===zt.MAT4&&!(e instanceof M))return`matrix value ${e} must be a Matrix4`}function UBe(e){if(typeof e!="string")return bV(e,zt.STRING)}function kBe(e){if(typeof e!="boolean")return bV(e,zt.BOOLEAN)}function zBe(e,t){let n=typeof e;if(u(t))return n!=="string"||!u(t.valuesByName[e])?`value ${e} is not a valid enum name for ${t.id}`:void 0}function HBe(e,t,n){let i=typeof e;switch(t){case tn.INT8:case tn.UINT8:case tn.INT16:case tn.UINT16:case tn.INT32:case tn.UINT32:case tn.FLOAT32:case tn.FLOAT64:return i!=="number"?bV(e,t):isFinite(e)?Rte(e,t,n):Bte(e,t);case tn.INT64:case tn.UINT64:return i!=="number"&&i!=="bigint"?bV(e,t):i==="number"&&!isFinite(e)?Bte(e,t):Rte(e,t,n)}}function bV(e,t){return`value ${e} does not match type ${t}`}function Ote(e,t,n){let i=`value ${e} is out of range for type ${t}`;return n&&(i+=" (normalized)"),i}function Rte(e,t,n){if(n){let i=tn.isUnsignedIntegerType(t)?0:-1,o=1;return e<i||e>o?Ote(e,t,n):void 0}if(e<tn.getMinimum(t)||e>tn.getMaximum(t))return Ote(e,t,n)}function Bte(e,t){return`value ${e} of type ${t} must be finite`}function p5(e,t,n){if(!Array.isArray(e))return n(e,t);for(let i=0;i<e.length;i++)e[i]=p5(e[i],t,n);return e}ua.valueTransformInPlace=function(e,t,n,i){if(!Array.isArray(e))return i(e,t,n);for(let o=0;o<e.length;o++)e[o]=ua.valueTransformInPlace(e[o],t[o],n[o],i);return e};var hg=ua;function bP(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.property,i=e.classProperty,o=e.bufferViews,r=i.type,s=i.isArray,a=i.isVariableLengthArray,c=i.valueType,l=i.enumType,f=r===zt.STRING,d=r===zt.BOOLEAN,p=0,g;if(a){let _=y(n.arrayOffsetType,n.offsetType);_=y(tn[_],tn.UINT32);let b=y(n.arrayOffsets,n.arrayOffsetBufferView);g=new _5(o[b],_,t+1),p+=g.typedArray.byteLength}let m=zt.getComponentCount(r),A;a?A=g.get(t)-g.get(0):s?A=t*i.arrayLength:A=t;let x=m*A,C;if(f){let _=y(n.stringOffsetType,n.offsetType);_=y(tn[_],tn.UINT32);let b=y(n.stringOffsets,n.stringOffsetBufferView);C=new _5(o[b],_,x+1),p+=C.typedArray.byteLength}(f||d)&&(c=tn.UINT8);let T;f?T=C.get(x)-C.get(0):d?T=Math.ceil(x/8):T=x;let E=y(n.values,n.bufferView),S=new _5(o[E],c,T);p+=S.typedArray.byteLength;let D=n.offset,w=n.scale,R=i.hasValueTransform||u(D)||u(w);D=y(D,i.offset),w=y(w,i.scale),D=Nte(D),w=Nte(w);let O,L,N=this;f?O=function(_){return jBe(_,N._values,N._stringOffsets)}:d?(O=function(_){return YBe(_,N._values)},L=function(_,b){qBe(_,N._values,b)}):u(l)?(O=function(_){let b=N._values.get(_);return l.namesByValue[b]},L=function(_,b){let v=l.valuesByName[b];N._values.set(_,v)}):(O=function(_){return N._values.get(_)},L=function(_,b){N._values.set(_,b)}),this._arrayOffsets=g,this._stringOffsets=C,this._values=S,this._classProperty=i,this._count=t,this._vectorComponentCount=m,this._min=n.min,this._max=n.max,this._offset=D,this._scale=w,this._hasValueTransform=R,this._getValue=O,this._setValue=L,this._unpackedValues=void 0,this._extras=n.extras,this._extensions=n.extensions,this._byteLength=p}Object.defineProperties(bP.prototype,{hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){return this._byteLength}}});bP.prototype.get=function(e){let t=GBe(this,e);return t=this._classProperty.handleNoData(t),u(t)?(t=this._classProperty.normalize(t),t=tMe(this,t),this._classProperty.unpackVectorAndMatrixTypes(t)):(t=this._classProperty.default,this._classProperty.unpackVectorAndMatrixTypes(t))};bP.prototype.set=function(e,t){let n=this._classProperty;t=n.packVectorAndMatrixTypes(t),t=nMe(this,t),t=n.unnormalize(t),WBe(this,e,t)};bP.prototype.getTypedArray=function(){if(u(this._values))return this._values.typedArray};function Nte(e){if(!Array.isArray(e))return e;let t=[];for(let n=0;n<e.length;n++){let i=e[n];Array.isArray(i)?t.push.apply(t,i):t.push(i)}return t}function GBe(e,t){Vte(e)&&Ute(e);let n=e._classProperty,i=n.isArray,o=n.type,r=zt.getComponentCount(o);if(u(e._unpackedValues)){let s=e._unpackedValues[t];return i?Ge(s,!0):s}return!i&&r===1?e._getValue(t):Fte(e,n,t)}function Fte(e,t,n){let i,o;if(t.isVariableLengthArray){i=e._arrayOffsets.get(n),o=e._arrayOffsets.get(n+1)-i;let s=zt.getComponentCount(t.type);i*=s,o*=s}else{let a=y(t.arrayLength,1)*e._vectorComponentCount;i=n*a,o=a}let r=new Array(o);for(let s=0;s<o;s++)r[s]=e._getValue(i+s);return r}function WBe(e,t,n){$Be(e,t,n)&&Ute(e);let i=e._classProperty,o=i.isArray,r=i.type,s=zt.getComponentCount(r);if(u(e._unpackedValues)){i.isArray&&(n=Ge(n,!0)),e._unpackedValues[t]=n;return}if(!o&&s===1){e._setValue(t,n);return}let a,c;if(i.isVariableLengthArray)a=e._arrayOffsets.get(t),c=e._arrayOffsets.get(t+1)-a;else{let f=y(i.arrayLength,1)*e._vectorComponentCount;a=t*f,c=f}for(let l=0;l<c;++l)e._setValue(a+l,n[l])}function jBe(e,t,n){let i=n.get(e),o=n.get(e+1)-i;return ll(t.typedArray,i,o)}function YBe(e,t){let n=e>>3,i=e%8;return(t.typedArray[n]>>i&1)===1}function qBe(e,t,n){let i=e>>3,o=e%8;n?t.typedArray[i]|=1<<o:t.typedArray[i]&=~(1<<o)}function XBe(e,t){let n=t.dataView,i=e*8,o=0,r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=c*Math.pow(256,a)}return r&&(o=-o),o}function KBe(e,t){let n=t.dataView,i=e*8,o=BigInt(0),r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=BigInt(c)*(BigInt(1)<<BigInt(a*8))}return r&&(o=-o),o}function ZBe(e,t){let n=t.dataView,i=e*8,o=n.getUint32(i,!0),r=n.getUint32(i+4,!0);return o+4294967296*r}function JBe(e,t){let n=t.dataView,i=e*8,o=BigInt(n.getUint32(i,!0)),r=BigInt(n.getUint32(i+4,!0));return o+BigInt(4294967296)*r}function QBe(e){switch(e){case tn.INT8:return q.BYTE;case tn.UINT8:return q.UNSIGNED_BYTE;case tn.INT16:return q.SHORT;case tn.UINT16:return q.UNSIGNED_SHORT;case tn.INT32:return q.INT;case tn.UINT32:return q.UNSIGNED_INT;case tn.FLOAT32:return q.FLOAT;case tn.FLOAT64:return q.DOUBLE}}function Vte(e){if(u(e._unpackedValues))return!1;let t=e._classProperty,n=t.type,i=t.valueType;return n===zt.STRING||i===tn.INT64&&!Vt.supportsBigInt64Array()||i===tn.UINT64&&!Vt.supportsBigUint64Array()}function $Be(e,t,n){if(Vte(e))return!0;let i=e._arrayOffsets;if(u(i)){let o=i.get(t+1)-i.get(t),r=n.length;if(o!==r)return!0}return!1}function Ute(e){e._unpackedValues=eMe(e),e._arrayOffsets=void 0,e._stringOffsets=void 0,e._values=void 0}function eMe(e){let t=e._count,n=new Array(t),i=e._classProperty,o=i.isArray,r=i.type,s=zt.getComponentCount(r);if(!o&&s===1){for(let a=0;a<t;++a)n[a]=e._getValue(a);return n}for(let a=0;a<t;a++)n[a]=Fte(e,i,a);return n}function tMe(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:hg.valueTransformInPlace(t,e._offset,e._scale,tn.applyValueTransform)}function nMe(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:hg.valueTransformInPlace(t,e._offset,e._scale,tn.unapplyValueTransform)}function _5(e,t,n){let i=this,o,r,s;if(t===tn.INT64)Vt.supportsBigInt()?Vt.supportsBigInt64Array()?(o=new BigInt64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return KBe(a,i)}):(wt("INT64 type is not fully supported on this platform. Values greater than 2^53 - 1 or less than -(2^53 - 1) may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return XBe(a,i)});else if(t===tn.UINT64)Vt.supportsBigInt()?Vt.supportsBigUint64Array()?(o=new BigUint64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return JBe(a,i)}):(wt("UINT64 type is not fully supported on this platform. Values greater than 2^53 - 1 may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return ZBe(a,i)});else{let a=QBe(t);o=q.createArrayBufferView(a,e.buffer,e.byteOffset,n),s=function(c,l){i.typedArray[c]=l}}u(r)||(r=function(a){return i.typedArray[a]}),this.typedArray=o,this.dataView=new DataView(o.buffer,o.byteOffset),this.get=r,this.set=s,this._componentType=t}var SP=bP;function sd(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.class,i=0,o={};if(u(e.properties)){for(let r in e.properties)if(e.properties.hasOwnProperty(r)){let s=new SP({count:t,property:e.properties[r],classProperty:n.properties[r],bufferViews:e.bufferViews});o[r]=s,i+=s.byteLength}}this._count=t,this._class=n,this._properties=o,this._byteLength=i}Object.defineProperties(sd.prototype,{count:{get:function(){return this._count}},class:{get:function(){return this._class}},byteLength:{get:function(){return this._byteLength}}});sd.prototype.hasProperty=function(e){return Nn.hasProperty(e,this._properties,this._class)};sd.prototype.hasPropertyBySemantic=function(e){return Nn.hasPropertyBySemantic(e,this._properties,this._class)};sd.prototype.getPropertyIds=function(e){return Nn.getPropertyIds(this._properties,this._class,e)};sd.prototype.getProperty=function(e,t){let n=this._properties[t],i;return u(n)?i=n.get(e):i=iMe(this._class,t),i};sd.prototype.setProperty=function(e,t,n){let i=this._properties[t];return u(i)?(i.set(e,n),!0):!1};sd.prototype.getPropertyBySemantic=function(e,t){let n,i=this._class.propertiesBySemantic;if(u(i)&&(n=i[t]),u(n))return this.getProperty(e,n.id)};sd.prototype.setPropertyBySemantic=function(e,t,n){let i,o=this._class.propertiesBySemantic;return u(o)&&(i=o[t]),u(i)?this.setProperty(e,i.id,n):!1};sd.prototype.getPropertyTypedArray=function(e){let t=this._properties[e];if(u(t))return t.getTypedArray()};sd.prototype.getPropertyTypedArrayBySemantic=function(e){let t,n=this._class.propertiesBySemantic;if(u(n)&&(t=n[e]),u(t))return this.getPropertyTypedArray(t.id)};function iMe(e,t){let n=e.properties;if(!u(n))return;let i=n[t];if(u(i)&&u(i.default)){let o=i.default;return i.isArray&&(o=Ge(o,!0)),o=i.normalize(o),i.unpackVectorAndMatrixTypes(o)}}var fl=sd;function mg(){}Object.defineProperties(mg.prototype,{promise:{get:function(){de.throwInstantiationError()}},cacheKey:{get:function(){de.throwInstantiationError()}}});mg.prototype.load=function(){de.throwInstantiationError()};mg.prototype.unload=function(){};mg.prototype.process=function(e){};mg.prototype.getError=function(e,t){u(t)&&(e+=` +${t.message}`);let n=new ue(e);return u(t)&&(n.stack=`Original stack: +${t.stack} +Handler stack: +${n.stack}`),n};mg.prototype.isDestroyed=function(){return!1};mg.prototype.destroy=function(){return this.unload(),le(this)};var no=mg;var oMe={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},Ut=Object.freeze(oMe);function mp(e){e=y(e,y.EMPTY_OBJECT);let t=e.typedArray,n=e.resource,i=e.cacheKey;this._typedArray=t,this._resource=n,this._cacheKey=i,this._state=Ut.UNLOADED,this._promise=void 0}u(Object.create)&&(mp.prototype=Object.create(no.prototype),mp.prototype.constructor=mp);Object.defineProperties(mp.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});mp.prototype.load=function(){return u(this._typedArray)?this._promise=Promise.resolve(this):this._promise=rMe(this),this._promise};function rMe(e){let t=e._resource;return e._state=Ut.LOADING,mp._fetchArrayBuffer(t).then(function(n){if(!e.isDestroyed())return e._typedArray=new Uint8Array(n),e._state=Ut.READY,e}).catch(function(n){if(e.isDestroyed())return;e._state=Ut.FAILED;let i=`Failed to load external buffer: ${t.url}`;return Promise.reject(e.getError(i,n))})}mp._fetchArrayBuffer=function(e){return e.fetchArrayBuffer()};mp.prototype.unload=function(){this._typedArray=void 0};var uA=mp;var njt=function(){"use strict";var e="B9h79tEBBBENQ9gEUEU9gEUB9gBB9gVUUUUUEU9gDUUEU9gLUUUUEU9gVUUUUUB9gLUUUUB9gIUUUEU9gD99UE99I8ayDILEVLEVLOOOOORRVBWWBEdddLVE9wEIIVIEBEOWEUEC+g/KEKR/QIhO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9fw9u9j9v9kw9WwvTw949C919m9mwvBE8f9tw79o9v9wT9fw9u9j9v9kw9WwvTw949C919m9mwv9C9v919u9kBDe9tw79o9v9wT9fw9u9j9v9kw9WwvTw949Wwv79p9v9uBIy9tw79o9v9wT9fw9u9j9v9kw69u9kw949C919m9mwvBL8e9tw79o9v9wT9fw9u9j9v9kw69u9kw949C919m9mwv9C9v919u9kBV8a9tw79o9v9wT9fw9u9j9v9kw69u9kw949Wwv79p9v9uBOe9tw79o9v9wT9fw9u9j9v9kw69u9kw949Twg91w9u9jwBRA9tw79o9v9wT9fw9u9j9v9kw69u9kw949Twg91w9u9jw9C9v919u9kBWl9tw79o9v9wT9fw9u9j9v9kws9p2Twv9P9jTBdk9tw79o9v9wT9fw9u9j9v9kws9p2Twv9R919hTBQl9tw79o9v9wT9fw9u9j9v9kws9p2Twvt949wBKe9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94j9h9j9owBpA9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94j9h9j9ow9TTv9p9wBSA9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94swT9j9o9Sw9t9h9wBZL79iv9rBhdWEBCEKDxcQ+1tyDBK/hKEyU8jJJJJBCJO9rGV8kJJJJBCBHODNALCEFAE0MBABCBrB+Q+KJJBC+gEv86BBAVCJDFCBCJDZ+TJJJB8aDNAItMBAVCJDFADALZmJJJB8aKABAEFHRABCEFHWAVALFCBCBCJDAL9rALCfE0eZ+TJJJB8aAVAVCJDFALZmJJJBHdCJ/ABAL9uHEDNDNALtMBAEC/wfBgGECJDAECJD6eHQCBHKINAKAI9PMEAdCJLFCBCJDZ+TJJJB8aAQAIAK9rAKAQFAI6eGXCSFGECL4CIFCD4HMADAKAL2FHpDNDNDNDNDNAEC9wgGStMBCBHZCEHhApHoAWHaXEKDNAXtMBCBHaCEHhApHcINAdAaFrBBHxAcHECBHOINAdCJLFAOFAErBBGqAx9rGxCETAxCkTCk91CR4786BBAEALFHEAqHxAOCEFGOAX9HMBKARAW9rAM6MIAWCBAMZ+TJJJBGEtMIAEAMFHWAcCEFHcAaCEFGaAL6HhAaAL9HMBXVKKARAW9rAM6MOAWCBAMZ+TJJJB8aCEHEINAWGxAMFHWALAEGOsMLDNARAW9rAM6MBAOCEFHEAWCBAMZ+TJJJB8aAxMEKKCBHWAOAL6MOXIKINDNAXtMBAdAZFrBBHxCBHEAoHOINAdCJLFAEFAOrBBGqAx9rGxCETAxCkTCk91CR4786BBAOALFHOAqHxAECEFGEAX9HMBKKARAa9rAM6MEARAaCBAMZ+TJJJBGlAMFGW9rCk6MDCBHkAdCJLFHcINAdCJLFAkFHyCWH8aCZHaCEHqINDNDNAqCE9HMBCUHOAyrBBMECBHODNINAOGECSsMEAECEFHOAcAEFCEFrBBtMBKKCUCBAECS6eHOXEKAqCETC/+fffEgHOCUAqTCU7CfEgHxCBHEINAOAxAcAEFrBB9NFHOAECEFGECZ9HMBKKAOAaAOAa6GEeHaAqA8aAEeH8aAqCETGqCW6MBKDNDNDNDNA8aCUFpDIEBKAlAkCO4FGEAErBBCDCIA8aCLseAkCI4COgTv86BBA8aCW9HMEAWAy8pBB83BBAWCWFAyCWF8pBB83BBAWCZFHWXDKAlAkCO4FGEAErBBCEAkCI4COgTv86BBKDNCWA8a9tGeMBINAWCB86BBAWCEFHWXBKKCUA8aTCU7HqCBH3AcH5INA5HEAeHxCBHOINAErBBGaAqAaAqCfEgGy6eAOCfEgA8aTvHOAECEFHEAxCUFGxMBKAWAO86BBA5AeFH5AWCEFHWA3AeFG3CZ6MBKCBHEINDNAcAEFrBBGOAy6MBAWAO86BBAWCEFHWKAECEFGECZ9HMBKKDNAkCZFGkAS9PMBAcCZFHcARAW9rCl0MEKKAkAS6MEAWtMEAoCEFHoAZCEFGZAL6HhAWHaAZALsMIXBKKCBHWAhCEgtMEXLKCBHWAhCEgMIKAdApAXCUFAL2FALZmJJJB8aAXAKFHKAWMBKCBHOXDKCBHOARAW9rCAALALCA6e6MEDNALC8f0MBAWCBCAAL9rGEZ+TJJJBAEFHWKAWAdCJDFALZmJJJBALFAB9rHOXEKCBHOKAVCJOF8kJJJJBAOK9HEEUAECAAECA0eABCJ/ABAE9uC/wfBgGDCJDADCJD6eGDFCUFAD9uAE2ADCL4CIFCD4ADv2FCEFKMBCBABbD+Q+KJJBK/YSE3U8jJJJJBC/AE9rGL8kJJJJBCBHVDNAICI9uGOChFAE0MBABCBYDn+KJJBGVC/gEv86BBALC/ABFCfECJEZ+TJJJB8aALCuFGR9CU83IBALC8wFGW9CU83IBALCYFGd9CU83IBALCAFGQ9CU83IBALCkFGK9CU83IBALCZFGX9CU83IBAL9CU83IWAL9CU83IBABAEFC9wFHMABCEFGpAOFHEDNAItMBCMCSAVCB9KGSeHZAVCE9IHhCBHoCBHaCBHcCBHxCBHqINDNAEAM9NMBCBHVXIKAqCUFHVADAcCDTFGOYDBHlAOCWFYDBHkAOCLFYDBHyCBH8aDNDNINALC/ABFAVCSgCITFGOYDLHeDNDNDNAOYDBGOAl9HMBAeAysMEKDNAOAy9HMBAeAk9HMBA8aCEFH8aXEKAOAk9HMEAeAl9HMEA8aCDFH8aKA8aC870MDAxCUFHVADA8aCIgCX2GOC+Y1JJBFYDBAcFCDTFYDBHeADAOCn1JJBFYDBAcFCDTFYDBHkADAOC+Q1JJBFYDBAcFCDTFYDBHlCBHODNINDNALAVCSgCDTFYDBAe9HMBAOHyXDKCUHyAVCUFHVAOCEFGOCZ9HMBKKAyCB9KAyAZ9IgGVCU7AeAosGOgH3DNDNDNDNDNAyCBCSAOeAVeGVCS9HMBAhMBAeAeAaAeCEFAasGVeGaCEFsMECMCSAVeHVKApAVA8aCDTC/wEgv86BBAVCS9HMEAeAa9rGVCETAVC8f917HVINAEAVCfB0CRTAVCfBgv86BBAECEFHEAVCJE6HOAVCR4HVAOtMBKAeHaXDKCpHVApA8aCDTCpv86BBAeHaKAVtMBAVAZ9IMEKALAxCDTFAebDBAxCEFCSgHxKAoA3FHoALC/ABFAqCITFGVAkbDLAVAebDBALC/ABFAqCEFCSgGVCITFGOAebDLAOAlbDBAVCEFHOXIKAVCUFHVA8aCLFG8aC/AB9HMBKKDNADCEAkAosCETAyAoseCX2GVC+Q1JJBFYDBAcFCDTFYDBGltADAVCn1JJBFYDBAcFCDTFYDBG8aCEsgADAVC+Y1JJBFYDBAcFCDTFYDBGyCDsgAoCB9HgASgG5CE9HMBAR9CU83IBAW9CU83IBAd9CU83IBAQ9CU83IBAK9CU83IBAX9CU83IBAL9CU83IWAL9CU83IBCBHoKCBHeAxCUFGVHODNINDNALAOCSgCDTFYDBA8a9HMBAeHkXDKCUHkAOCUFHOAeCEFGeCZ9HMBKKCBHODNINDNALAVCSgCDTFYDBAy9HMBAOHeXDKCUHeAVCUFHVAOCEFGOCZ9HMBKKAoAlAosG8eFH3DNDNAkCM0MBAkCEFHkXEKCBCSA8aA3sGVeHkA3AVFH3KDNDNAeCM0MBAeCEFHeXEKCBCSAyA3sGVeHeA3AVFH3KC9+CUA8eeH8fAeAkCLTvHOCBHVDNDNDNINAVCJ1JJBFrBBAOCfEgsMEAVCEFGVCZ9HMBXDKKAlAo9HAVCM0vA5vMBApAVC/wEv86BBXEKApA8f86BBAEAO86BBAECEFHEKDNA8eMBAlAa9rGVCETAVC8f917HVINAEAVCfB0GOCRTAVCfBgv86BBAVCR4HVAECEFHEAOMBKAlHaKDNAkCS9HMBA8aAa9rGVCETAVC8f917HVINAEAVCfB0GOCRTAVCfBgv86BBAVCR4HVAECEFHEAOMBKA8aHaKDNAeCS9HMBAyAa9rGVCETAVC8f917HVINAEAVCfB0GOCRTAVCfBgv86BBAVCR4HVAECEFHEAOMBKAyHaKALAxCDTFAlbDBAxCEFCSgHVDNDNAkpZBEEEEEEEEEEEEEEBEKALAVCDTFA8abDBAxCDFCSgHVKDNDNAepZBEEEEEEEEEEEEEEBEKALAVCDTFAybDBAVCEFCSgHVKALC/ABFAqCITFGOAlbDLAOA8abDBALC/ABFAqCEFCSgCITFGOA8abDLAOAybDBALC/ABFAqCDFCSgCITFGOAybDLAOAlbDBAqCIFHOAVHxA3HoKApCEFHpAOCSgHqAcCIFGcAI6MBKKCBHVAEAM0MBCBHVINAEAVFAVCJ1JJBFrBB86BBAVCEFGVCZ9HMBKAEAB9rAVFHVKALC/AEF8kJJJJBAVKzEEUCBHDDNINADCEFGDC8f0MECEADTAE6MBKKADCRFCfEgCR9uCI2CDFABCI9u2ChFKMBCBABbDn+KJJBK+cDEWU8jJJJJBCZ9rHLCBHVDNAICVFAE0MBCBHOABCBrBn+KJJBC/QEv86BBAL9CB83IWABCEFHRABAEFC98FHWDNAItMBCBHdINDNARAW6MBCBSKADAdCDTFYDBGQALCWFAOAQALCWFAOCDTFYDB9rGEAEC8f91GEFAE7C507GOCDTFGKYDB9rGEC8e91C9+gAECDT7AOvHEINARAECfB0GVCRTAECfBgv86BBAECR4HEARCEFHRAVMBKAKAQbDBAdCEFGdAI9HMBKKCBHVARAW0MBARCBbBBARAB9rCLFHVKAVKbEEUCBHDDNINADCEFGDC8f0MECEADTAE6MBKKADCWFCfEgCR9uAB2CVFK+DVLI99DUI99LUDNAEtMBCUADCETCUFTCU7+yHVDNDNCUAICUFTCU7+yGOjBBBzmGR+LjBBB9P9dtMBAR+oHWXEKCJJJJ94HWKCBHICBHdINALCLFiDBGRjBBBBjBBJzALiDBGQ+LAR+LmALCWFiDBGK+LmGR+VARjBBBB9beGRnHXAQARnHRALCXFiDBHQDNDNAKjBBBB9gtMBAXHKXEKjBBJzAR+L+TGKAK+MAXjBBBB9geHKjBBJzAX+L+TGXAX+MARjBBBB9geHRKDNDNAQjBBJ+/AQjBBJ+/9geGXjBBJzAXjBBJz9feAVnjBBBzjBBB+/AQjBBBB9gemGQ+LjBBB9P9dtMBAQ+oHMXEKCJJJJ94HMKDNDNAKjBBJ+/AKjBBJ+/9geGQjBBJzAQjBBJz9feAOnjBBBzjBBB+/AKjBBBB9gemGQ+LjBBB9P9dtMBAQ+oHpXEKCJJJJ94HpKDNDNARjBBJ+/ARjBBJ+/9geGQjBBJzAQjBBJz9feAOnjBBBzjBBB+/ARjBBBB9gemGR+LjBBB9P9dtMBAR+oHSXEKCJJJJ94HSKDNDNADCL9HMBABAdFGZAS86BBAZCIFAM86BBAZCDFAW86BBAZCEFAp86BBXEKABAIFGZAS87EBAZCOFAM87EBAZCLFAW87EBAZCDFAp87EBKALCZFHLAICWFHIAdCLFHdAECUFGEMBKKK/KLLD99EUD99EUDNAEtMBDNDNCUAICUFTCU7+yGVjBBBzmGO+LjBBB9P9dtMBAO+oHIXEKCJJJJ94HIKAIC/8fIgHRINABCOFCICDALCLFiDB+LALiDB+L9eGIALCWFiDB+LALAICDTFiDB+L9eeGIALCXFiDB+LALAICDTFiDB+L9eeGIARv87EBDNDNALAICEFCIgCDTFiDBj/zL+1znjBBJ+/jBBJzALAICDTFiDBjBBBB9deGOnGWjBBJ+/AWjBBJ+/9geGdjBBJzAdjBBJz9feAVnjBBBzjBBB+/AWjBBBB9gemGW+LjBBB9P9dtMBAW+oHQXEKCJJJJ94HQKABAQ87EBDNDNAOALAICDFCIgCDTFiDBj/zL+1znnGWjBBJ+/AWjBBJ+/9geGdjBBJzAdjBBJz9feAVnjBBBzjBBB+/AWjBBBB9gemGW+LjBBB9P9dtMBAW+oHQXEKCJJJJ94HQKABCDFAQ87EBDNDNAOALAICUFCIgCDTFiDBj/zL+1znnGOjBBJ+/AOjBBJ+/9geGWjBBJzAWjBBJz9feAVnjBBBzjBBB+/AOjBBBB9gemGO+LjBBB9P9dtMBAO+oHIXEKCJJJJ94HIKABCLFAI87EBABCWFHBALCZFHLAECUFGEMBKKK+7DDWUE998jJJJJBCZ9rGV8kJJJJBDNAEtMBADCL6MBCEAI9rHOADCD4GDCEADCE0eHRADCDTHWCBHdINC+cUHDALHIARHQINAIiDBAVCXFZ+XJJJB8aAVYDXGKADADAK9IeHDAICLFHIAQCUFGQMBKAOADFGICkTHKCBHDCBAI9rHXARHIINDNDNALADFiDBGMAXZ+WJJJBjBBBzjBBB+/AMjBBBB9gemGM+LjBBB9P9dtMBAM+oHQXEKCJJJJ94HQKABADFAQCfffRgAKvbDBADCLFHDAICUFGIMBKABAWFHBALAWFHLAdCEFGdAE9HMBKKAVCZF8kJJJJBK/tKDcUI998jJJJJBC+QD9rGV8kJJJJBAVC+oEFCBC/kBZ+TJJJB8aCBHODNADtMBCBHOAItMBDNABAE9HMBAVCUADCDTGOADCffffI0eCBYD1+KJJBhJJJJBBGEbD+oEAVCEbD1DAEABAOZmJJJB8aKAVC+YEFCWFCBbDBAV9CB83I+YEAVC+YEFAEADAIAVC+oEFZ+NJJJBCUAICDTGRAICffffI0eGWCBYD1+KJJBhJJJJBBHOAVC+oEFAVYD1DGdCDTFAObDBAVAdCEFGQbD1DAOAVYD+YEGKARZmJJJBHXAVC+oEFAQCDTFADCI9uGMCBYD1+KJJBhJJJJBBGObDBAVAdCDFGRbD1DAOCBAMZ+TJJJBHpAVC+oEFARCDTFAWCBYD1+KJJBhJJJJBBGSbDBAVAdCIFGQbD1DAXHOASHRINARALiDBALAOYDBGWCWAWCW6eCDTFC/EBFiDBmuDBAOCLFHOARCLFHRAICUFGIMBKAVC+oEFAQCDTFCUAMCDTADCffff970eCBYD1+KJJBhJJJJBBGQbDBAVAdCLFbD1DDNADCI6MBAMCEAMCE0eHIAEHOAQHRINARASAOYDBCDTFiDBASAOCLFYDBCDTFiDBmASAOCWFYDBCDTFiDBmuDBAOCXFHOARCLFHRAICUFGIMBKKAVC/MBFHZAVYD+cEHhAVYD+gEHoAVHOCBHWCBHRCBHaCEHcINAOHxCIHqAEARCI2GlCDTFGOCWFYDBHkAOYDBHDABAaCX2FGICLFAOCLFYDBGdbDBAIADbDBAICWFAkbDBApARFCE86BBAZAkbDWAZAdbDLAZADbDBAQARCDTFCBbDBDNAWtMBCIHqAxHIINDNAIYDBGOADsMBAOAdsMBAOAksMBAZAqCDTFAObDBAqCEFHqKAICLFHIAWCUFGWMBKKAaCEFHaAXADCDTFGOAOYDBCUFbDBAXAdCDTFGOAOYDBCUFbDBAXAkCDTFGOAOYDBCUFbDBCBHWINAoAhAEAWAlFCDTFYDBCDTGIFYDBCDTFGkHOAKAIFGdYDBGDHIDNADtMBDNINAOYDBARsMEAOCLFHOAICUFGItMDXBKKAOADCDTAkFC98FYDBbDBAdAdYDBCUFbDBKAWCEFGWCI9HMBKDNDNDNAqtMBCUHRjBBBBHyCBHOINASAZAOCDTFYDBCDTGIFGWiDBH8aAWALCBAOCEFGdAOCS0eCDTFiDBALAXAIFYDBGOCWAOCW6eCDTFC/EBFiDBmGeuDBDNAKAIFYDBGWtMBAeA8a+THeAoAhAIFYDBCDTFHOAWCDTHIINAQAOYDBGWCDTFGDAeADiDBmG8auDBA8aAyAyA8a9dGDeHyAWARADeHRAOCLFHOAIC98FGIMBKKAdHOAdAq9HMBKARCU9HMEKAcAM9PMEINDNApAcFrBBMBAcHRXDKAMAcCEFGc9HMBXDKKAqCZAqCZ6eHWAZHOAxHZARCU9HMEKKAVYD1DHOKAOCDTAVC+oEFFC98FHRDNINAOtMEARYDBCBYD+E+KJJBh+BJJJBBARC98FHRAOCUFHOXBKKAVC+QDF8kJJJJBK/uLEVUCUAICDTGVAICffffI0eGOCBYD1+KJJBhJJJJBBHRALALYD9gGWCDTFARbDBALAWCEFbD9gABARbDBAOCBYD1+KJJBhJJJJBBHRALALYD9gGOCDTFARbDBALAOCEFbD9gABARbDLCUADCDTADCffffI0eCBYD1+KJJBhJJJJBBHRALALYD9gGOCDTFARbDBALAOCEFbD9gABARbDWABYDBCBAVZ+TJJJB8aADCI9uHWDNADtMBABYDBHOAEHLADHRINAOALYDBCDTFGVAVYDBCEFbDBALCLFHLARCUFGRMBKKDNAItMBABYDBHLABYDLHRCBHVAIHOINARAVbDBARCLFHRALYDBAVFHVALCLFHLAOCUFGOMBKKDNADCI6MBAWCEAWCE0eHdABYDLHRABYDWHVCBHLINAECWFYDBHOAECLFYDBHDARAEYDBCDTFGWAWYDBGWCEFbDBAVAWCDTFALbDBARADCDTFGDADYDBGDCEFbDBAVADCDTFALbDBARAOCDTFGOAOYDBGOCEFbDBAVAOCDTFALbDBAECXFHEAdALCEFGL9HMBKKDNAItMBABYDLHEABYDBHLINAEAEYDBALYDB9rbDBALCLFHLAECLFHEAICUFGIMBKKKqBABAEADAIC+01JJBZ+MJJJBKqBABAEADAIC+c+JJJBZ+MJJJBK9dEEUABCfEAICDTZ+TJJJBHLCBHIDNADtMBINDNALAEYDBCDTFGBYDBCU9HMBABAIbDBAICEFHIKAECLFHEADCUFGDMBKKAIK9TEIUCBCBYD+M+KJJBGEABCIFC98gFGBbD+M+KJJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK/lEEEUDNDNAEABvCIgtMBABHIXEKDNDNADCZ9PMBABHIXEKABHIINAIAEYDBbDBAICLFAECLFYDBbDBAICWFAECWFYDBbDBAICXFAECXFYDBbDBAICZFHIAECZFHEADC9wFGDCS0MBKKADCL6MBINAIAEYDBbDBAECLFHEAICLFHIADC98FGDCI0MBKKDNADtMBINAIAErBB86BBAICEFHIAECEFHEADCUFGDMBKKABK/AEEDUDNDNABCIgtMBABHIXEKAECfEgC+B+C+EW2HLDNDNADCZ9PMBABHIXEKABHIINAIALbDBAICXFALbDBAICWFALbDBAICLFALbDBAICZFHIADC9wFGDCS0MBKKADCL6MBINAIALbDBAICLFHIADC98FGDCI0MBKKDNADtMBINAIAE86BBAICEFHIADCUFGDMBKKABK9TEIUCBCBYD+M+KJJBGEABCIFC98gFGBbD+M+KJJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK9+EIUzBHEDNDNCBYD+M+KJJBGDAECZTGI9NMBCUHEADAI9rCffIFCZ4NBCUsMEKADHEKCBABAE9rCIFC98gCBYD+M+KJJBFGDbD+M+KJJBDNADzBCZTGE9NMBADAE9rCffIFCZ4NB8aKKXBABAEZ+YJJJBK+BEEIUDNAB+8GDCl4GICfEgGLCfEsMBDNALMBDNABjBBBB9cMBAECBbDBABSKABjBBJ9fnAEZ+XJJJBHBAEAEYDBCNFbDBABSKAEAICfEgC+CUFbDBADCfff+D94gCJJJ/4Iv++HBKABK+gEBDNDNAECJE9IMBABjBBBUnHBDNAECfE9PMBAEC+BUFHEXDKABjBBBUnHBAECPDAECPD6eC+C9+FHEXEKAEC+BU9KMBABjBBJXnHBDNAEC+b9+9NMBAEC/mBFHEXEKABjBBJXnHBAEC+299AEC+2990eC/MEFHEKABAEClTCJJJ/8IF++nKK+eDDBCJWK+EDB4+H9W9n94+p+Gw+J9o+YE9pBBBBBBEBBBDBBBEBBBDBBBBBBBDBBBBBBBEBBBBBBB+L29Hz/69+9Kz/n/76z/RG97z/Z/O9Xz8j/b85z/+/U9Yz/B/K9hz+2/z9dz9E+L9Mz59a8kz+R/t3z+a+Zyz79ohz/J4++8++y+d9v8+BBBB9S+49+z8r+Hbz9m9m/m8+l/Z/O8+/8+pg89Q/X+j878r+Hq8++m+b/E87BBBBBBJzBBJzBBJz+e/v/n8++y+dSz9I/h/68+XD/r8+/H0838+/w+nOzBBBB+wv9o8+UF888+9I/h/68+9C9g/l89/N/M9M89/d8kO8+BBBBF+8Tz9M836zs+2azl/Zpzz818ez9E+LXz/u98f8+819e/68+BC+EQKXEBBBDBBBAwBB",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(p){n=p.instance,n.exports.__wasm_call_ctors(),n.exports.meshopt_encodeVertexVersion(0),n.exports.meshopt_encodeIndexVersion(1)});function o(p){for(var g=new Uint8Array(p.length),m=0;m<p.length;++m){var A=p.charCodeAt(m);g[m]=A>96?A-71:A>64?A-65:A>47?A+4:A>46?63:62}for(var x=0,m=0;m<p.length;++m)g[x++]=g[m]<60?t[g[m]]:(g[m]-60)*64+g[++m];return g.buffer.slice(0,x)}function r(p){if(!p)throw new Error("Assertion failed")}function s(p){return new Uint8Array(p.buffer,p.byteOffset,p.byteLength)}function a(p,g,m){var A=n.exports.sbrk,x=A(p.length*4),C=A(g*4),T=new Uint8Array(n.exports.memory.buffer),E=s(p);T.set(E,x),m&&m(x,x,p.length,g);var S=n.exports.meshopt_optimizeVertexFetchRemap(C,x,p.length,g);T=new Uint8Array(n.exports.memory.buffer);var D=new Uint32Array(g);new Uint8Array(D.buffer).set(T.subarray(C,C+g*4)),E.set(T.subarray(x,x+p.length*4)),A(x-A(0));for(var w=0;w<p.length;++w)p[w]=D[p[w]];return[D,S]}function c(p,g,m,A,x){var C=n.exports.sbrk,T=C(g),E=C(A*x),S=new Uint8Array(n.exports.memory.buffer);S.set(s(m),E);var D=p(T,g,E,A,x),w=new Uint8Array(D);return w.set(S.subarray(T,T+D)),C(T-C(0)),w}function l(p){for(var g=0,m=0;m<p.length;++m){var A=p[m];g=g<A?A:g}return g}function f(p,g){if(r(g==2||g==4),g==4)return new Uint32Array(p.buffer,p.byteOffset,p.byteLength/4);var m=new Uint16Array(p.buffer,p.byteOffset,p.byteLength/2);return new Uint32Array(m)}function d(p,g,m,A,x,C){var T=n.exports.sbrk,E=T(m*A),S=T(m*C),D=new Uint8Array(n.exports.memory.buffer);D.set(s(g),S),p(E,m,A,x,S);var w=new Uint8Array(m*A);return w.set(D.subarray(E,E+m*A)),T(E-T(0)),w}return{ready:i,supported:!0,reorderMesh:function(p,g,m){var A=g?m?n.exports.meshopt_optimizeVertexCacheStrip:n.exports.meshopt_optimizeVertexCache:void 0;return a(p,l(p)+1,A)},encodeVertexBuffer:function(p,g,m){r(m>0&&m<=256),r(m%4==0);var A=n.exports.meshopt_encodeVertexBufferBound(g,m);return c(n.exports.meshopt_encodeVertexBuffer,A,p,g,m)},encodeIndexBuffer:function(p,g,m){r(m==2||m==4),r(g%3==0);var A=f(p,m),x=n.exports.meshopt_encodeIndexBufferBound(g,l(A)+1);return c(n.exports.meshopt_encodeIndexBuffer,x,A,g,4)},encodeIndexSequence:function(p,g,m){r(m==2||m==4);var A=f(p,m),x=n.exports.meshopt_encodeIndexSequenceBound(g,l(A)+1);return c(n.exports.meshopt_encodeIndexSequence,x,A,g,4)},encodeGltfBuffer:function(p,g,m,A){var x={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return r(x[A]),x[A](p,g,m)},encodeFilterOct:function(p,g,m,A){return r(m==4||m==8),r(A>=1&&A<=16),d(n.exports.meshopt_encodeFilterOct,p,g,m,A,16)},encodeFilterQuat:function(p,g,m,A){return r(m==8),r(A>=4&&A<=16),d(n.exports.meshopt_encodeFilterQuat,p,g,m,A,16)},encodeFilterExp:function(p,g,m,A){return r(m>0&&m%4==0),r(A>=1&&A<=24),d(n.exports.meshopt_encodeFilterExp,p,g,m,A,m)}}}();var kte=function(){"use strict";var e="B9h79tEBBBE8fV9gBB9gVUUUUUEU9gIUUUB9gEUEU9gIUUUEUIKQBEEEDDDILLVIEBEOWEUEC+Q/IEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBEy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBDe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBIl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBLk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBOL79iv9rBRQ+p8yQDBK/3SEZU8jJJJJBCJ/EB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rADZ1JJJBHWCJ/ABAD9uHOAICEFHLDNADtMBAOC/wfBgGOCJDAOCJD6eHdCBHQINAQAE9PMEAdAEAQ9rAQAdFAE6eGKCSFGOCL4CIFCD4HXDNDNDNDNAOC9wgGMtMBCBHpCEHSAWCJDFHZALHhINARAh9rAX6MIDNARAhAXFGL9rCk6MBCZHOINAWCJ/CBFAOGIFGOC9wFHoDNDNDNDNDNAhAIC9wFGaCO4FrBBAaCI4COg4CIgpLBEDIBKAo9CB83IBAoCWF9CB83IBXIKAoALrBLALrBBGaCO4GcAcCIsGce86BBAOCgFALCLFAcFGorBBAaCL4CIgGcAcCIsGce86BBAOCvFAoAcFGorBBAaCD4CIgGcAcCIsGce86BBAOC7FAoAcFGorBBAaCIgGaAaCIsGae86BBAOCTFAoAaFGarBBALrBEGoCO4GcAcCIsGce86BBAOC91FAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOC4FAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOC93FAaAcFGarBBAoCIgGoAoCIsGoe86BBAOC94FAaAoFGarBBALrBDGoCO4GcAcCIsGce86BBAOC95FAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOC96FAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOC97FAaAcFGarBBAoCIgGoAoCIsGoe86BBAOC98FAaAoFGorBBALrBIGLCO4GaAaCIsGae86BBAOC99FAoAaFGorBBALCL4CIgGaAaCIsGae86BBAOC9+FAoAaFGorBBALCD4CIgGaAaCIsGae86BBAOCUFAoAaFGOrBBALCIgGLALCIsGLe86BBAOALFHLXDKAoALrBWALrBBGaCL4GcAcCSsGce86BBAOCgFALCWFAcFGorBBAaCSgGaAaCSsGae86BBAOCvFAoAaFGorBBALrBEGaCL4GcAcCSsGce86BBAOC7FAoAcFGorBBAaCSgGaAaCSsGae86BBAOCTFAoAaFGorBBALrBDGaCL4GcAcCSsGce86BBAOC91FAoAcFGorBBAaCSgGaAaCSsGae86BBAOC4FAoAaFGorBBALrBIGaCL4GcAcCSsGce86BBAOC93FAoAcFGorBBAaCSgGaAaCSsGae86BBAOC94FAoAaFGorBBALrBLGaCL4GcAcCSsGce86BBAOC95FAoAcFGorBBAaCSgGaAaCSsGae86BBAOC96FAoAaFGorBBALrBVGaCL4GcAcCSsGce86BBAOC97FAoAcFGorBBAaCSgGaAaCSsGae86BBAOC98FAoAaFGorBBALrBOGaCL4GcAcCSsGce86BBAOC99FAoAcFGorBBAaCSgGaAaCSsGae86BBAOC9+FAoAaFGorBBALrBRGLCL4GaAaCSsGae86BBAOCUFAoAaFGOrBBALCSgGLALCSsGLe86BBAOALFHLXEKAoAL8pBB83BBAoCWFALCWF8pBB83BBALCZFHLKDNAIAM9PMBAICZFHOARAL9rCl0MEKKAIAM6MIALtMIDNAKtMBAWApFrBBHoCBHOAZHIINAIAWCJ/CBFAOFrBBGaCE4CBAaCEg9r7AoFGo86BBAIADFHIAOCEFGOAK9HMBKKAZCEFHZApCEFGpAD6HSALHhApAD9HMEXVKKCBHLASCEgMDXIKALAXAD2FHcDNAKtMBCBHhCEHSAWCJDFHMINARAL9rAX6MIALtMDALAXFHLAWAhFrBBHoCBHOAMHIINAIAWCJ/CBFAOFrBBGaCE4CBAaCEg9r7AoFGo86BBAIADFHIAOCEFGOAK9HMBKAMCEFHMAhCEFGhAD6HSAhAD9HMBKAcHLXIKCBHOCEHSINARAL9rAX6MDALtMEALAXFHLAOCEFGOAD6HSADAO9HMBKAcHLXDKCBHLASCEgtMEKC9+HOXIKABAQAD2FAWCJDFAKAD2Z1JJJB8aAWAWCJDFAKCUFAD2FADZ1JJJB8aAKAQFHQALMBKC9+HOXEKCBC99ARAL9rADCAADCA0eseHOKAVCJ/EBF8kJJJJBAOK/YZEhU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJEZ+JJJJB8aAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHODNAEtMBCMCSAdCEseHKCBHXCBHMCBHdCBHICBHLINDNAOAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFALARCL4CU7FCSgCITFGpYDLHSApYDBHZDNARCSgGpAK9PMBAVAIARCU7FCSgCDTFYDBAXApeHRAptHpDNDNADCD9HMBABAdCETFGhAZ87EBAhCDFAS87EBAhCLFAR87EBXEKABAdCDTFGhAZbDBAhCLFASbDBAhCWFARbDBKAXApFHXAVC/ABFALCITFGhARbDBAhASbDLAVAICDTFARbDBAVC/ABFALCEFCSgGLCITFGhAZbDBAhARbDLAIApFHIALCEFHLXDKDNDNApCSsMBAMApFApC987FCEFHMXEKAOCEFHRAO8sBBGpCfEgHhDNDNApCU9MMBARHOXEKAOCVFHOAhCfBgHhCRHpDNINAR8sBBGoCfBgApTAhvHhAoCU9KMEARCEFHRApCRFGpC8j9HMBXDKKARCEFHOKAhCE4CBAhCEg9r7AMFHMKDNDNADCD9HMBABAdCETFGRAZ87EBARCDFAS87EBARCLFAM87EBXEKABAdCDTFGRAZbDBARCLFASbDBARCWFAMbDBKAVC/ABFALCITFGRAMbDBARASbDLAVAICDTFAMbDBAVC/ABFALCEFCSgGLCITFGRAZbDBARAMbDLAICEFHIALCEFHLXEKDNARCPE0MBAXCEFGoAVAIAQARCSgFrBBGpCL49rCSgCDTFYDBApCZ6GheHRAVAIAp9rCSgCDTFYDBAoAhFGSApCSgGoeHpAotHoDNDNADCD9HMBABAdCETFGZAX87EBAZCDFAR87EBAZCLFAp87EBXEKABAdCDTFGZAXbDBAZCLFARbDBAZCWFApbDBKAVAICDTFAXbDBAVC/ABFALCITFGZARbDBAZAXbDLAVAICEFGICSgCDTFARbDBAVC/ABFALCEFCSgCITFGZApbDBAZARbDLAVAIAhFCSgGICDTFApbDBAVC/ABFALCDFCSgGLCITFGRAXbDBARApbDLALCEFHLAIAoFHIASAoFHXXEKAXCBAOrBBGZeGaARC/+EsGRFHSAZCSgHcAZCL4HxDNDNAZCS0MBASCEFHoXEKASHoAVAIAx9rCSgCDTFYDBHSKDNDNAcMBAoCEFHXXEKAoHXAVAIAZ9rCSgCDTFYDBHoKDNDNARtMBAOCEFHRXEKAOCDFHRAO8sBEGhCfEgHpDNAhCU9KMBAOCOFHaApCfBgHpCRHODNINAR8sBBGhCfBgAOTApvHpAhCU9KMEARCEFHRAOCRFGOC8j9HMBKAaHRXEKARCEFHRKApCE4CBApCEg9r7AMFGMHaKDNDNAxCSsMBARHpXEKARCEFHpAR8sBBGOCfEgHhDNAOCU9KMBARCVFHSAhCfBgHhCRHODNINAp8sBBGRCfBgAOTAhvHhARCU9KMEApCEFHpAOCRFGOC8j9HMBKASHpXEKApCEFHpKAhCE4CBAhCEg9r7AMFGMHSKDNDNAcCSsMBApHOXEKApCEFHOAp8sBBGRCfEgHhDNARCU9KMBApCVFHoAhCfBgHhCRHRDNINAO8sBBGpCfBgARTAhvHhApCU9KMEAOCEFHOARCRFGRC8j9HMBKAoHOXEKAOCEFHOKAhCE4CBAhCEg9r7AMFGMHoKDNDNADCD9HMBABAdCETFGRAa87EBARCDFAS87EBARCLFAo87EBXEKABAdCDTFGRAabDBARCLFASbDBARCWFAobDBKAVC/ABFALCITFGRASbDBARAabDLAVAICDTFAabDBAVC/ABFALCEFCSgCITFGRAobDBARASbDLAVAICEFGICSgCDTFASbDBAVC/ABFALCDFCSgCITFGRAabDBARAobDLAVAIAZCZ6AxCSsvFGICSgCDTFAobDBAIActAcCSsvFHIALCIFHLKAWCEFHWALCSgHLAICSgHIAdCIFGdAE6MBKKCBC99AOAQseHOKAVC/AEF8kJJJJBAOK+LLEVU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHRAIALFC98FHWDNAEtMBDNADCDsMBCBHdINDNARAW6MBC9+SKARCEFHOAR8sBBGLCfEgHIDNDNALCU9MMBAOHRXEKARCVFHRAICfBgHICRHLDNINAO8sBBGDCfBgALTAIvHIADCU9KMEAOCEFHOALCRFGLC8j9HMBXDKKAOCEFHRKABAdCDTFAICD4CBAICE4CEg9r7AVCWFAICEgCDTvGOYDBFGLbDBAOALbDBAdCEFGdAE9HMBXDKKCBHdINDNARAW6MBC9+SKARCEFHOAR8sBBGLCfEgHIDNDNALCU9MMBAOHRXEKARCVFHRAICfBgHICRHLDNINAO8sBBGDCfBgALTAIvHIADCU9KMEAOCEFHOALCRFGLC8j9HMBXDKKAOCEFHRKABAdCETFAICD4CBAICE4CEg9r7AVCWFAICEgCDTvGOYDBFGL87EBAOALbDBAdCEFGdAE9HMBKKCBC99ARAWseHOKAOK+lVOEUE99DUD99EUD99DNDNADCL9HMBAEtMEINDNDNABCDFGD8sBB+yAB8sBBGI+yGL+L+TABCEFGV8sBBGO+yGR+L+TGWjBB/+9CAWAWnjBBBBAWAWjBBBB9gGdeGQ+MGKAQAICB9IeALmGWAWnAKAQAOCB9IeARmGQAQnmm+R+VGLnjBBBzjBBB+/AdemGR+LjBBB9P9dtMBAR+oHIXEKCJJJJ94HIKADAI86BBDNDNAQALnjBBBzjBBB+/AQjBBBB9gemGQ+LjBBB9P9dtMBAQ+oHDXEKCJJJJ94HDKAVAD86BBDNDNAWALnjBBBzjBBB+/AWjBBBB9gemGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD86BBABCLFHBAECUFGEMBXDKKAEtMBINDNDNABCLFGD8uEB+yAB8uEBGI+yGL+L+TABCDFGV8uEBGO+yGR+L+TGWjB/+fsAWAWnjBBBBAWAWjBBBB9gGdeGQ+MGKAQAICB9IeALmGWAWnAKAQAOCB9IeARmGQAQnmm+R+VGLnjBBBzjBBB+/AdemGR+LjBBB9P9dtMBAR+oHIXEKCJJJJ94HIKADAI87EBDNDNAQALnjBBBzjBBB+/AQjBBBB9gemGQ+LjBBB9P9dtMBAQ+oHDXEKCJJJJ94HDKAVAD87EBDNDNAWALnjBBBzjBBB+/AWjBBBB9gemGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD87EBABCWFHBAECUFGEMBKKK/SILIUI99IUE99DNAEtMBCBHIABHLINDNDNj/zL81zALCOF8uEBGVCIv+y+VGOAL8uEB+ynGRjB/+fsnjBBBzjBBB+/ARjBBBB9gemGW+LjBBB9P9dtMBAW+oHdXEKCJJJJ94HdKALCLF8uEBHQALCDF8uEBHKABAVCEFCIgAIvCETFAd87EBDNDNAOAK+ynGWjB/+fsnjBBBzjBBB+/AWjBBBB9gemGX+LjBBB9P9dtMBAX+oHKXEKCJJJJ94HKKABAVCDFCIgAIvCETFAK87EBDNDNAOAQ+ynGOjB/+fsnjBBBzjBBB+/AOjBBBB9gemGX+LjBBB9P9dtMBAX+oHQXEKCJJJJ94HQKABAVCUFCIgAIvCETFAQ87EBDNDNjBBJzARARn+TAWAWn+TAOAOn+TGRjBBBBARjBBBB9ge+RjB/+fsnjBBBzmGR+LjBBB9P9dtMBAR+oHQXEKCJJJJ94HQKABAVCIgAIvCETFAQ87EBALCWFHLAICLFHIAECUFGEMBKKK9MBDNADCD4AE2GEtMBINABABYDBGDCWTCW91+yADCE91CJJJ/8IFCJJJ98g++nuDBABCLFHBAECUFGEMBKKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK/lEEEUDNDNAEABvCIgtMBABHIXEKDNDNADCZ9PMBABHIXEKABHIINAIAEYDBbDBAICLFAECLFYDBbDBAICWFAECWFYDBbDBAICXFAECXFYDBbDBAICZFHIAECZFHEADC9wFGDCS0MBKKADCL6MBINAIAEYDBbDBAECLFHEAICLFHIADC98FGDCI0MBKKDNADtMBINAIAErBB86BBAICEFHIAECEFHEADCUFGDMBKKABK/AEEDUDNDNABCIgtMBABHIXEKAECfEgC+B+C+EW2HLDNDNADCZ9PMBABHIXEKABHIINAIALbDBAICXFALbDBAICWFALbDBAICLFALbDBAICZFHIADC9wFGDCS0MBKKADCL6MBINAIALbDBAICLFHIADC98FGDCI0MBKKDNADtMBINAIAE86BBAICEFHIADCUFGDMBKKABKKKEBCJWKLZ9kBB",t="B9h79tEBBBEkL9gBB9gVUUUUUEU9gIUUUB9gEUEUIKQBBEBEEDDDILVE9wEEEVIEBEOWEUEC+Q/aEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBDy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBLe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBOk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBRl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBWL79iv9rBdQ/T9TQLBZIK9+EVU8jJJJJBCZ9rHBCBHEINCBHDCBHIINABCWFADFAICJUAEAD4CEgGLe86BBAIALFHIADCEFGDCW9HMBKAEC+Q+YJJBFAI86BBAECITC+Q1JJBFAB8pIW83IBAECEFGECJD9HMBKK/H8jLhUD97EUO978jJJJJBCJ/KB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rAD/8QBBCJ/ABAD9uHOAICEFHLDNADtMBAOC/wfBgGOCJDAOCJD6eHWCBHdINAdAE9PMEAWAEAd9rAdAWFAE6eGQCSFGOC9wgGKCI2HXAKCETHMAOCL4CIFCD4HpABAdAD2FHSCBHZDNINCEHhALHoCBHaDNINARAo9rAp6MIAVCJ/CBFAaAK2FHcAoApFHLCBHIDNAKC/AB6MBARAL9rC/gB6MBCBHOINAcAOFHIDNDNDNDNDNAoAOCO4FrBBGxCIgpLBEDIBKAIPXBBBBBBBBBBBBBBBBPKLBXIKAIALPBBLALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlGqCDP+MEAqPMBZEhDoIaLcVxOqRlPXIIIIIIIIIIIIIIIIP9OGlPXIIIIIIIIIIIIIIIIP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBAkC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKLBALCLFAyPqBFAkC+Q+YJJBFrBBFHLXDKAIALPBBWALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlPXSSSSSSSSSSSSSSSSP9OGlPXSSSSSSSSSSSSSSSSP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBAkC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKLBALCWFAyPqBFAkC+Q+YJJBFrBBFHLXEKAIALPBBBPKLBALCZFHLKDNDNDNDNDNAxCD4CIgpLBEDIBKAIPXBBBBBBBBBBBBBBBBPKLZXIKAIALPBBLALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlGqCDP+MEAqPMBZEhDoIaLcVxOqRlPXIIIIIIIIIIIIIIIIP9OGlPXIIIIIIIIIIIIIIIIP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBAkC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKLZALCLFAyPqBFAkC+Q+YJJBFrBBFHLXDKAIALPBBWALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlPXSSSSSSSSSSSSSSSSP9OGlPXSSSSSSSSSSSSSSSSP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBAkC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKLZALCWFAyPqBFAkC+Q+YJJBFrBBFHLXEKAIALPBBBPKLZALCZFHLKDNDNDNDNDNAxCL4CIgpLBEDIBKAIPXBBBBBBBBBBBBBBBBPKLAXIKAIALPBBLALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlGqCDP+MEAqPMBZEhDoIaLcVxOqRlPXIIIIIIIIIIIIIIIIP9OGlPXIIIIIIIIIIIIIIIIP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBAkC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKLAALCLFAyPqBFAkC+Q+YJJBFrBBFHLXDKAIALPBBWALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlPXSSSSSSSSSSSSSSSSP9OGlPXSSSSSSSSSSSSSSSSP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBAkC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKLAALCWFAyPqBFAkC+Q+YJJBFrBBFHLXEKAIALPBBBPKLAALCZFHLKDNDNDNDNDNAxCO4pLBEDIBKAIPXBBBBBBBBBBBBBBBBPKL8wXIKAIALPBBLALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlGqCDP+MEAqPMBZEhDoIaLcVxOqRlPXIIIIIIIIIIIIIIIIP9OGlPXIIIIIIIIIIIIIIIIP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGxCITC+Q1JJBFPBIBAxC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGxCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKL8wALCLFAyPqBFAxC+Q+YJJBFrBBFHLXDKAIALPBBWALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlPXSSSSSSSSSSSSSSSSP9OGlPXSSSSSSSSSSSSSSSSP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGxCITC+Q1JJBFPBIBAxC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGxCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKL8wALCWFAyPqBFAxC+Q+YJJBFrBBFHLXEKAIALPBBBPKL8wALCZFHLKAOC/ABFHIAOCJEFAK0MEAIHOARAL9rC/fB0MBKKDNDNAIAK9PMBAICI4HOINARAL9rCk6MDAcAIFHxDNDNDNDNDNAoAICO4FrBBAOCOg4CIgpLBEDIBKAxPXBBBBBBBBBBBBBBBBPKLBXIKAxALPBBLALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlGqCDP+MEAqPMBZEhDoIaLcVxOqRlPXIIIIIIIIIIIIIIIIP9OGlPXIIIIIIIIIIIIIIIIP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBAkC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKLBALCLFAyPqBFAkC+Q+YJJBFrBBFHLXDKAxALPBBWALPBBBGqCLP+MEAqPMBZEhDoIaLcVxOqRlPXSSSSSSSSSSSSSSSSP9OGlPXSSSSSSSSSSSSSSSSP8jGqP5B9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBAkC+Q+YJJBFPBBBGyAyPMBBBBBBBBBBBBBBBBAqP5E9CJf/8/4/w/g/AB9+9Cu1+nGkCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAlAqP9SPKLBALCWFAyPqBFAkC+Q+YJJBFrBBFHLXEKAxALPBBBPKLBALCZFHLKAOCDFHOAICZFGIAK6MBKKALtMBAaCI6HhALHoAaCEFGOHaAOCLsMDXEKKCBHLAhCEgMDKDNAKtMBAVCJDFAZFHIAVAZFPBDBHyCBHxINAIAVCJ/CBFAxFGOPBLBGlCEP9tAlPXEEEEEEEEEEEEEEEEGqP9OP9hP9RGlAOAKFPBLBG8aCEP9tA8aAqP9OP9hP9RG8aPMBZEhDoIaLcVxOqRlGeAOAMFPBLBG3CEP9tA3AqP9OP9hP9RG3AOAXFPBLBG5CEP9tA5AqP9OP9hP9RG5PMBZEhDoIaLcVxOqRlG8ePMBEZhDIoaLVcxORqlGqAqPMBEDIBEDIBEDIBEDIAyP9uGyP9aDBBAIADFGOAyAqAqPMLVORLVORLVORLVORP9uGyP9aDBBAOADFGOAyAqAqPMWdQKWdQKWdQKWdQKP9uGyP9aDBBAOADFGOAyAqAqPMXMpSXMpSXMpSXMpSP9uGyP9aDBBAOADFGOAyAeA8ePMWdkyQK8aeXM35pS8e8fGqAqPMBEDIBEDIBEDIBEDIP9uGyP9aDBBAOADFGOAyAqAqPMLVORLVORLVORLVORP9uGyP9aDBBAOADFGOAyAqAqPMWdQKWdQKWdQKWdQKP9uGyP9aDBBAOADFGOAyAqAqPMXMpSXMpSXMpSXMpSP9uGyP9aDBBAOADFGOAyAlA8aPMWkdyQ8aKeX3M5p8eS8fGlA3A5PMWkdyQ8aKeX3M5p8eS8fG8aPMBEZhDIoaLVcxORqlGqAqPMBEDIBEDIBEDIBEDIP9uGyP9aDBBAOADFGOAyAqAqPMLVORLVORLVORLVORP9uGyP9aDBBAOADFGOAyAqAqPMWdQKWdQKWdQKWdQKP9uGyP9aDBBAOADFGOAyAqAqPMXMpSXMpSXMpSXMpSP9uGyP9aDBBAOADFGOAyAlA8aPMWdkyQK8aeXM35pS8e8fGqAqPMBEDIBEDIBEDIBEDIP9uGyP9aDBBAOADFGOAyAqAqPMLVORLVORLVORLVORP9uGyP9aDBBAOADFGOAyAqAqPMWdQKWdQKWdQKWdQKP9uGyP9aDBBAOADFGOAyAqAqPMXMpSXMpSXMpSXMpSP9uGyP9aDBBAOADFHIAxCZFGxAK6MBKKAZCLFGZAD6MBKASAVCJDFAQAD2/8QBBAVAVCJDFAQCUFAD2FAD/8QBBAQAdFHdC9+HOALMEXIKKC9+HOXEKCBC99ARAL9rADCAADCA0eseHOKAVCJ/KBF8kJJJJBAOKWBZ+BJJJBK/UZEhU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJE/8KBAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHODNAEtMBCMCSAdCEseHKCBHXCBHMCBHdCBHICBHLINDNAOAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFALARCL4CU7FCSgCITFGpYDLHSApYDBHZDNARCSgGpAK9PMBAVAIARCU7FCSgCDTFYDBAXApeHRAptHpDNDNADCD9HMBABAdCETFGhAZ87EBAhCDFAS87EBAhCLFAR87EBXEKABAdCDTFGhAZbDBAhCLFASbDBAhCWFARbDBKAXApFHXAVC/ABFALCITFGhARbDBAhASbDLAVAICDTFARbDBAVC/ABFALCEFCSgGLCITFGhAZbDBAhARbDLAIApFHIALCEFHLXDKDNDNApCSsMBAMApFApC987FCEFHMXEKAOCEFHRAO8sBBGpCfEgHhDNDNApCU9MMBARHOXEKAOCVFHOAhCfBgHhCRHpDNINAR8sBBGoCfBgApTAhvHhAoCU9KMEARCEFHRApCRFGpC8j9HMBXDKKARCEFHOKAhCE4CBAhCEg9r7AMFHMKDNDNADCD9HMBABAdCETFGRAZ87EBARCDFAS87EBARCLFAM87EBXEKABAdCDTFGRAZbDBARCLFASbDBARCWFAMbDBKAVC/ABFALCITFGRAMbDBARASbDLAVAICDTFAMbDBAVC/ABFALCEFCSgGLCITFGRAZbDBARAMbDLAICEFHIALCEFHLXEKDNARCPE0MBAXCEFGoAVAIAQARCSgFrBBGpCL49rCSgCDTFYDBApCZ6GheHRAVAIAp9rCSgCDTFYDBAoAhFGSApCSgGoeHpAotHoDNDNADCD9HMBABAdCETFGZAX87EBAZCDFAR87EBAZCLFAp87EBXEKABAdCDTFGZAXbDBAZCLFARbDBAZCWFApbDBKAVAICDTFAXbDBAVC/ABFALCITFGZARbDBAZAXbDLAVAICEFGICSgCDTFARbDBAVC/ABFALCEFCSgCITFGZApbDBAZARbDLAVAIAhFCSgGICDTFApbDBAVC/ABFALCDFCSgGLCITFGRAXbDBARApbDLALCEFHLAIAoFHIASAoFHXXEKAXCBAOrBBGZeGaARC/+EsGRFHSAZCSgHcAZCL4HxDNDNAZCS0MBASCEFHoXEKASHoAVAIAx9rCSgCDTFYDBHSKDNDNAcMBAoCEFHXXEKAoHXAVAIAZ9rCSgCDTFYDBHoKDNDNARtMBAOCEFHRXEKAOCDFHRAO8sBEGhCfEgHpDNAhCU9KMBAOCOFHaApCfBgHpCRHODNINAR8sBBGhCfBgAOTApvHpAhCU9KMEARCEFHRAOCRFGOC8j9HMBKAaHRXEKARCEFHRKApCE4CBApCEg9r7AMFGMHaKDNDNAxCSsMBARHpXEKARCEFHpAR8sBBGOCfEgHhDNAOCU9KMBARCVFHSAhCfBgHhCRHODNINAp8sBBGRCfBgAOTAhvHhARCU9KMEApCEFHpAOCRFGOC8j9HMBKASHpXEKApCEFHpKAhCE4CBAhCEg9r7AMFGMHSKDNDNAcCSsMBApHOXEKApCEFHOAp8sBBGRCfEgHhDNARCU9KMBApCVFHoAhCfBgHhCRHRDNINAO8sBBGpCfBgARTAhvHhApCU9KMEAOCEFHOARCRFGRC8j9HMBKAoHOXEKAOCEFHOKAhCE4CBAhCEg9r7AMFGMHoKDNDNADCD9HMBABAdCETFGRAa87EBARCDFAS87EBARCLFAo87EBXEKABAdCDTFGRAabDBARCLFASbDBARCWFAobDBKAVC/ABFALCITFGRASbDBARAabDLAVAICDTFAabDBAVC/ABFALCEFCSgCITFGRAobDBARASbDLAVAICEFGICSgCDTFASbDBAVC/ABFALCDFCSgCITFGRAabDBARAobDLAVAIAZCZ6AxCSsvFGICSgCDTFAobDBAIActAcCSsvFHIALCIFHLKAWCEFHWALCSgHLAICSgHIAdCIFGdAE6MBKKCBC99AOAQseHOKAVC/AEF8kJJJJBAOK+LLEVU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHRAIALFC98FHWDNAEtMBDNADCDsMBCBHdINDNARAW6MBC9+SKARCEFHOAR8sBBGLCfEgHIDNDNALCU9MMBAOHRXEKARCVFHRAICfBgHICRHLDNINAO8sBBGDCfBgALTAIvHIADCU9KMEAOCEFHOALCRFGLC8j9HMBXDKKAOCEFHRKABAdCDTFAICD4CBAICE4CEg9r7AVCWFAICEgCDTvGOYDBFGLbDBAOALbDBAdCEFGdAE9HMBXDKKCBHdINDNARAW6MBC9+SKARCEFHOAR8sBBGLCfEgHIDNDNALCU9MMBAOHRXEKARCVFHRAICfBgHICRHLDNINAO8sBBGDCfBgALTAIvHIADCU9KMEAOCEFHOALCRFGLC8j9HMBXDKKAOCEFHRKABAdCETFAICD4CBAICE4CEg9r7AVCWFAICEgCDTvGOYDBFGL87EBAOALbDBAdCEFGdAE9HMBKKCBC99ARAWseHOKAOK+epLIUO97EUE978jJJJJBCA9rHIDNDNADCL9HMBDNAEC98gGLtMBCBHVABHDINADADPBBBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdPXBBBBBBBBBBBBBBBBP+2EGQARPXBBBJBBBJBBBJBBBJGKP9OP9RP/kEGRPXBB/+9CBB/+9CBB/+9CBB/+9CARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEPXBBN0BBN0BBN0BBN0GQP/kEPXfBBBfBBBfBBBfBBBP9OAOPXBBBfBBBfBBBfBBBfP9OP9QARAWP/mEAQP/kECWP+rEPXBfBBBfBBBfBBBfBBP9OP9QAdAWP/mEAQP/kECZP+rEPXBBfBBBfBBBfBBBfBP9OP9QPKBBADCZFHDAVCLFGVAL6MBKKALAE9PMEAIAECIgGVCDTGDvCBCZAD9r/8KBAIABALCDTFGLAD/8QBBDNAVtMBAIAIPBLBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdPXBBBBBBBBBBBBBBBBP+2EGQARPXBBBJBBBJBBBJBBBJGKP9OP9RP/kEGRPXBB/+9CBB/+9CBB/+9CBB/+9CARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEPXBBN0BBN0BBN0BBN0GQP/kEPXfBBBfBBBfBBBfBBBP9OAOPXBBBfBBBfBBBfBBBfP9OP9QARAWP/mEAQP/kECWP+rEPXBfBBBfBBBfBBBfBBP9OP9QAdAWP/mEAQP/kECZP+rEPXBBfBBBfBBBfBBBfBP9OP9QPKLBKALAIAD/8QBBSKDNAEC98gGXtMBCBHVABHDINADCZFGLALPBBBGOPXBBBBBBffBBBBBBffGKP9OADPBBBGdAOPMLVORXMpScxql358e8fPXfUBBfUBBfUBBfUBBP9OP/6EAdAOPMBEDIWdQKZhoaky8aeGOCZP+sEP/6EGRP/gEAOCZP+rECZP+sEP/6EGWP/gEP/kEP/lEGOPXB/+fsB/+fsB/+fsB/+fsAWAOPXBBBBBBBBBBBBBBBBP+2EGQAWPXBBBJBBBJBBBJBBBJGMP9OP9RP/kEGWAWP/mEAOAOP/mEARAQARAMP9OP9RP/kEGOAOP/mEP/kEP/kEP/jEP/nEGRP/mEPXBBN0BBN0BBN0BBN0GQP/kECZP+rEAWARP/mEAQP/kEPXffBBffBBffBBffBBP9OP9QGWAOARP/mEAQP/kEPXffBBffBBffBBffBBP9OGOPMWdkyQK8aeXM35pS8e8fP9QPKBBADAdAKP9OAWAOPMBEZhDIoaLVcxORqlP9QPKBBADCAFHDAVCLFGVAX6MBKKAXAE9PMBAIAECIgGVCITGDFCBCAAD9r/8KBAIABAXCITFGLAD/8QBBDNAVtMBAIAIPBLZGOPXBBBBBBffBBBBBBffGKP9OAIPBLBGdAOPMLVORXMpScxql358e8fPXfUBBfUBBfUBBfUBBP9OP/6EAdAOPMBEDIWdQKZhoaky8aeGOCZP+sEP/6EGRP/gEAOCZP+rECZP+sEP/6EGWP/gEP/kEP/lEGOPXB/+fsB/+fsB/+fsB/+fsAWAOPXBBBBBBBBBBBBBBBBP+2EGQAWPXBBBJBBBJBBBJBBBJGMP9OP9RP/kEGWAWP/mEAOAOP/mEARAQARAMP9OP9RP/kEGOAOP/mEP/kEP/kEP/jEP/nEGRP/mEPXBBN0BBN0BBN0BBN0GQP/kECZP+rEAWARP/mEAQP/kEPXffBBffBBffBBffBBP9OP9QGWAOARP/mEAQP/kEPXffBBffBBffBBffBBP9OGOPMWdkyQK8aeXM35pS8e8fP9QPKLZAIAdAKP9OAWAOPMBEZhDIoaLVcxORqlP9QPKLBKALAIAD/8QBBKK/4WLLUE97EUV978jJJJJBC8w9rHIDNAEC98gGLtMBCBHVABHOINAIAOPBBBGRAOCZFGWPBBBGdPMLVORXMpScxql358e8fGQCZP+sEGKCLP+rEPKLBAOPXBBJzBBJzBBJzBBJzPX/zL81z/zL81z/zL81z/zL81zAKPXIBBBIBBBIBBBIBBBP9QP/6EP/nEGKARAdPMBEDIWdQKZhoaky8aeGRCZP+rECZP+sEP/6EP/mEGdAdP/mEAKARCZP+sEP/6EP/mEGXAXP/mEAKAQCZP+rECZP+sEP/6EP/mEGQAQP/mEP/kEP/kEP/lEPXBBBBBBBBBBBBBBBBP+4EP/jEPXB/+fsB/+fsB/+fsB/+fsGKP/mEPXBBN0BBN0BBN0BBN0GRP/kEPXffBBffBBffBBffBBGMP9OAXAKP/mEARP/kECZP+rEP9QGXAQAKP/mEARP/kECZP+rEAdAKP/mEARP/kEAMP9OP9QGKPMBEZhDIoaLVcxORqlGRP5BAIPBLBPeB+t+J83IBAOCWFARP5EAIPBLBPeE+t+J83IBAWAXAKPMWdkyQK8aeXM35pS8e8fGKP5BAIPBLBPeD+t+J83IBAOCkFAKP5EAIPBLBPeI+t+J83IBAOCAFHOAVCLFGVAL6MBKKDNALAE9PMBAIAECIgGVCITGOFCBCAAO9r/8KBAIABALCITFGWAO/8QBBDNAVtMBAIAIPBLBGRAIPBLZGdPMLVORXMpScxql358e8fGQCZP+sEGKCLP+rEPKLAAIPXBBJzBBJzBBJzBBJzPX/zL81z/zL81z/zL81z/zL81zAKPXIBBBIBBBIBBBIBBBP9QP/6EP/nEGKARAdPMBEDIWdQKZhoaky8aeGRCZP+rECZP+sEP/6EP/mEGdAdP/mEAKARCZP+sEP/6EP/mEGXAXP/mEAKAQCZP+rECZP+sEP/6EP/mEGQAQP/mEP/kEP/kEP/lEPXBBBBBBBBBBBBBBBBP+4EP/jEPXB/+fsB/+fsB/+fsB/+fsGKP/mEPXBBN0BBN0BBN0BBN0GRP/kEPXffBBffBBffBBffBBGMP9OAXAKP/mEARP/kECZP+rEP9QGXAQAKP/mEARP/kECZP+rEAdAKP/mEARP/kEAMP9OP9QGKPMBEZhDIoaLVcxORqlGRP5BAIPBLAPeB+t+J83IBAIARP5EAIPBLAPeE+t+J83IWAIAXAKPMWdkyQK8aeXM35pS8e8fGKP5BAIPBLAPeD+t+J83IZAIAKP5EAIPBLAPeI+t+J83IkKAWAIAO/8QBBKK+pDDIUE978jJJJJBC/AB9rHIDNADCD4AE2GLC98gGVtMBCBHDABHEINAEAEPBBBGOCWP+rECWP+sEP/6EAOCEP+sEPXBBJzBBJzBBJzBBJzP+uEPXBBJfBBJfBBJfBBJfP9OP/mEPKBBAECZFHEADCLFGDAV6MBKKDNAVAL9PMBAIALCIgGDCDTGEvCBC/ABAE9r/8KBAIABAVCDTFGVAE/8QBBDNADtMBAIAIPBLBGOCWP+rECWP+sEP/6EAOCEP+sEPXBBJzBBJzBBJzBBJzP+uEPXBBJfBBJfBBJfBBJfP9OP/mEPKLBKAVAIAE/8QBBKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIKKKEBCJWKLZ9tBB",n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=e;WebAssembly.validate(n)&&(o=t);var r,s=WebAssembly.instantiate(a(o),{}).then(function(d){r=d.instance,r.exports.__wasm_call_ctors()});function a(d){for(var p=new Uint8Array(d.length),g=0;g<d.length;++g){var m=d.charCodeAt(g);p[g]=m>96?m-71:m>64?m-65:m>47?m+4:m>46?63:62}for(var A=0,g=0;g<d.length;++g)p[A++]=p[g]<60?i[p[g]]:(p[g]-60)*64+p[++g];return p.buffer.slice(0,A)}function c(d,p,g,m,A,x){var C=r.exports.sbrk,T=g+3&-4,E=C(T*m),S=C(A.length),D=new Uint8Array(r.exports.memory.buffer);D.set(A,S);var w=d(E,g,m,S,A.length);if(w==0&&x&&x(E,T,m),p.set(D.subarray(E,E+g*m)),C(E-C(0)),w!=0)throw new Error("Malformed buffer data: "+w)}var l={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},f={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return{ready:s,supported:!0,decodeVertexBuffer:function(d,p,g,m,A){c(r.exports.meshopt_decodeVertexBuffer,d,p,g,m,r.exports[l[A]])},decodeIndexBuffer:function(d,p,g,m){c(r.exports.meshopt_decodeIndexBuffer,d,p,g,m)},decodeIndexSequence:function(d,p,g,m){c(r.exports.meshopt_decodeIndexSequence,d,p,g,m)},decodeGltfBuffer:function(d,p,g,m,A,x){c(r.exports[f[A]],d,p,g,m,r.exports[l[x]])}}}();var rjt=function(){"use strict";var e="B9h79tEBBBECd9gEUEU9gEUB9gBB9gQUUUUUUU99UUEU9gVUUUUUB9gLUUUUE999gIUUUE999gLUUUUEU9gIUUUEUIMXDILVORBWWBEWLVE9wEIIVIEBEOWEUECJ/JEKR7OO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BBZ9tw79o9v9wT9f79p9t9w29p9m95BEx9tw79o9v9wT9f79p9t9w29p9m959T9j9h2wBLA9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94swT9j9o9Sw9t9h9wBVL79iv9rBOdWEBCEKDdQQ+stXDBK/48yIkUp99hU8jJJJJBCJ/BB9rGQ8kJJJJBAQCkFCBC/kBZ1JJJB8aCUALCDTGKALCffffI0eGXCBYD/s1JJBhJJJJBBHMAQCkFAQYD94GpCDTFAMbDBAQAMbDWAQApCEFbD94AXCBYD/s1JJBhJJJJBBHSAQCkFAQYD94GpCDTFASbDBAQASbDXAQApCEFbD94CUADCITADCffffE0eCBYD/s1JJBhJJJJBBHZAQCkFAQYD94GpCDTFAZbDBAQAZbDZAQApCEFbD94AQCWFAEADALCBZ+CJJJBAXCBYD/s1JJBhJJJJBBHhAQCkFAQYD94GpCDTFAhbDBAQApCEFbD94AXCBYD/s1JJBhJJJJBBHoAQCkFAQYD94GpCDTFAobDBAQApCEFbD94ALCD4ALFHaCEHcINAcGpCETHcApAa6MBKCBHxCUApCDTGaApCffffI0eCBYD/s1JJBhJJJJBBHcAQCkFAQYD94GqCDTFAcbDBAQAqCEFbD94AcCfEAaZ1JJJBHlDNALtMBAVCD4HkApCUFHqINAIAxAk2CDTFGyYDLGpCh4Ap7C+f+B+dd2AyYDBGpCh4Ap7C/d/o+b8j27AyYDWGpCh4Ap7C+3f/n8n27HaCBHpDNDNINAlAaAqgGaCDTFG8aYDBGcCUsMEAIAcAk2CDTFAyCXZ+LJJJBtMDApCEFGpAaFHaApAq9NMBXDKKA8aAxbDBAxHcKAhAxCDTFAcbDBAxCEFGxAL9HMBKCBHpAoHcINAcApbDBAcCLFHcALApCEFGp9HMBKCBHpAhHcAoHaINDNApAcYDBGqsMBAaAoAqCDTFGqYDBbDBAqApbDBKAcCLFHcAaCLFHaALApCEFGp9HMBKKCBHaALCBYD/s1JJBhJJJJBBHyAQCkFAQYD94GpCDTFAybDBAQApCEFbD94AXCBYD/s1JJBhJJJJBBHpAQCkFAQYD94GcCDTFApbDBAQAcCEFbD94AXCBYD/s1JJBhJJJJBBHcAQCkFAQYD94GqCDTFAcbDBAQAqCEFbD94ApCfEAKZ1JJJBHeAcCfEAKZ1JJJBH3DNALtMBAZCWFH5INDNAMAaCDTGpFYDBG8etMBAZASApFYDBCITFH8fA3ApFHAAeApFHxCBHkINDNDNA8fAkCITFYDBGlAa9HMBAxAabDBAAAabDBXEKDNAMAlCDTGKFYDBGHtMBAZASAKFYDBCITGpFYDBAasMEAHCUFH8aA5ApFHcCBHpINA8aApsMEApCEFHpAcYDBHqAcCWFHcAqAa9HMBKApAH6MEKA3AKFGpAaAlApYDBCUsebDBAxAlAaAxYDBCUsebDBKAkCEFGkA8e9HMBKKAaCEFGaAL9HMBKAhHcAoHaA3HqAeHkCBHpINDNDNApAcYDBG8a9HMBDNApAaYDBG8a9HMBAkYDBH8aDNAqYDBGlCU9HMBA8aCU9HMBAyApFCB86BBXIKAyApFHxDNApAlsMBApA8asMBAxCE86BBXIKAxCL86BBXDKDNApAoA8aCDTGlFYDB9HMBDNAqYDBGxCUsMBApAxsMBAkYDBGKCUsMBApAKsMBA3AlFYDBG8eCUsMBA8eA8asMBAeAlFYDBGlCUsMBAlA8asMBDNAhAxCDTFYDBAhAlCDTFYDB9HMBAhAKCDTFYDBAhA8eCDTFYDB9HMBAyApFCD86BBXLKAyApFCL86BBXIKAyApFCL86BBXDKAyApFCL86BBXEKAyApFAyA8aFrBB86BBKAcCLFHcAaCLFHaAqCLFHqAkCLFHkALApCEFGp9HMBKAWCEgtMBAyHpALHcINDNAprBBCE9HMBApCL86BBKApCEFHpAcCUFGcMBKKCBHkCUALCX2ALC/V+q/V+qE0eCBYD/s1JJBhJJJJBBHMAQCkFAQYD94GpCDTFAMbDBAQApCEFbD94AMAIALAVZ+DJJJB8aCUALC8s2GcALC/d/o/F8u0eCBYD/s1JJBhJJJJBBHpAQCkFAQYD94GaCDTFApbDBAQAaCEFbD94ApCBAcZ1JJJBHZDNADtMBAEHcINDNAMAcCLFYDBG8aCX2FGpiDBAMAcYDBGlCX2FGaiDBGG+TG8jAMAcCWFYDBGxCX2FGqCLFiDBAaCLFiDBG8k+TG8lnAqiDBAG+TG8mApCLFiDBA8k+TG8nn+TGYAYnA8nAqCWFiDBAaCWFiDBG8p+TGinA8lApCWFiDBA8p+TG8nn+TG8lA8lnA8nA8mnAiA8jn+TG8jA8jnmm+RG8mjBBBB9etMBAYA8m+VHYA8jA8m+VH8jA8lA8m+VH8lKAZAhAlCDTFYDBC8s2FGpA8lA8m+RG8mA8lnnG8nApiDBmuDBApA8jA8mA8jnG8rnGiApiDLmuDLApAYA8mAYnG8snGrApiDWmuDWApA8rA8lnG8rApiDXmuDXApA8sA8lnG8uApiDZmuDZApA8sA8jnG8sApiDcmuDcApA8lA8mAYA8pnA8lAGnA8kA8jnmm+MG8knGGnG8lApiDkmuDkApA8jAGnG8jApiD3muD3ApAYAGnGYApiDAmuDAApAGA8knGGApiD8kmuD8kApA8mApiDYmuDYAZAhA8aCDTFYDBC8s2FGpA8nApiDBmuDBApAiApiDLmuDLApArApiDWmuDWApA8rApiDXmuDXApA8uApiDZmuDZApA8sApiDcmuDcApA8lApiDkmuDkApA8jApiD3muD3ApAYApiDAmuDAApAGApiD8kmuD8kApA8mApiDYmuDYAZAhAxCDTFYDBC8s2FGpA8nApiDBmuDBApAiApiDLmuDLApArApiDWmuDWApA8rApiDXmuDXApA8uApiDZmuDZApA8sApiDcmuDcApA8lApiDkmuDkApA8jApiD3muD3ApAYApiDAmuDAApAGApiD8kmuD8kApA8mApiDYmuDYAcCXFHcAkCIFGkAD6MBKCBH8aAEHxINCBHcINAyAEAcC+81JJBFYDBGlA8aFCDTFYDBGaFrBBHpDNDNAyAxAcFYDBGqFrBBGkC99FCfEgCPE0MBApCEsMBApCD9HMEKDNAkCUFCfEgCE0MBAeAqCDTFYDBAa9HMEKDNApCUFCfEgCE0MBA3AaCDTFYDBAq9HMEKDNAkCV2ApFC+g1JJBFrBBtMBAhAaCDTFYDBAhAqCDTFYDB0MEKjBBACjBBJzApCEseH8mAkCEsHKAEAlCDTC+81JJBFYDBA8aFCDTFYDBHlDNAMAaCX2FGpCWFiDBAMAqCX2FGkCWFiDBG8k+TG8lA8lnApiDBAkiDBG8p+TG8jA8jnApCLFiDBAkCLFiDBG8n+TGYAYnmm+RGGjBBBB9etMBA8lAG+VH8lAYAG+VHYA8jAG+VH8jKjBBACA8mAKeH8sDNAMAlCX2FGpiDWA8k+TG8mA8lA8mA8lnApiDBA8p+TGrA8jnAYApiDLA8n+TG8rnmmGin+TG8mA8mnArA8jAin+TG8lA8lnA8rAYAin+TG8jA8jnmm+RGYjBBBB9etMBA8mAY+VH8mA8jAY+VH8jA8lAY+VH8lKAZAhAqCDTFYDBC8s2FGpA8lA8sAGnGYA8lnnGiApiDBmuDBApA8jAYA8jnG8snGrApiDLmuDLApA8mAYA8mnGGnG8rApiDWmuDWApA8sA8lnG8sApiDXmuDXApAGA8lnG8uApiDZmuDZApAGA8jnG8vApiDcmuDcApA8lAYA8mA8knA8lA8pnA8nA8jnmm+MG8knGGnG8lApiDkmuDkApA8jAGnG8jApiD3muD3ApA8mAGnG8mApiDAmuDAApAGA8knGGApiD8kmuD8kApAYApiDYmuDYAZAhAaCDTFYDBC8s2FGpAiApiDBmuDBApArApiDLmuDLApA8rApiDWmuDWApA8sApiDXmuDXApA8uApiDZmuDZApA8vApiDcmuDcApA8lApiDkmuDkApA8jApiD3muD3ApA8mApiDAmuDAApAGApiD8kmuD8kApAYApiDYmuDYKAcCLFGcCX9HMBKAxCXFHxA8aCIFG8aAD6MBKKDNABAEsMBABAEADCDTZ+HJJJB8aKCUADCX2ADC/V+q/V+qE0eCBYD/s1JJBhJJJJBBHAAQCkFAQYD94GpCDTFAAbDBAQApCEFbD94CUADCDTADCffffI0eCBYD/s1JJBhJJJJBBH5AQCkFAQYD94GpCDTFA5bDBAQApCEFbD94AXCBYD/s1JJBhJJJJBBHIAQCkFAQYD94GpCDTFAIbDBAQApCEFbD94ALCBYD/s1JJBhJJJJBBH8wAQCkFAQYD94GpCDTFA8wbDBAQApCEFbD94jBBBBHrDNADAO9NMBARARnH8sAACWFH8xAQYDZH8yAQYDXH8zAQYDWH80jBBBBHrINAQCWFABADGSALAhZ+CJJJBCBHHABHxCBHKINCBHpINDNAhAxApFYDBGaCDTGEFYDBGkAhABApC+81JJBFYDBAKFCDTFYDBGcCDTFYDBG8asMBAyAcFrBBGlCV2AyAaFrBBGqFC/Q1JJBFrBBGDAqCV2AlFG8eC/Q1JJBFrBBG8fvCfEgtMBDNA8eC+g1JJBFrBBtMBA8aAk0MEKDNAqAl9HMBAqCUFCfEgCE0MBAeAEFYDBAc9HMEKAAAHCX2FGqAcAaA8fCfEgGkebDLAqAaAcAkebDBAqADA8fgCfEgCB9HbDWAHCEFHHKApCLFGpCX9HMBKAxCXFHxAKCIFGKAS6MBKDNDNAHtMBAAHcAHH8aINAcCWFGljBBBBjBBJzAZAhAcYDBGaCDTFYDBC8s2FGpiDYG8l+VA8ljBBBB9beApiDWAMAcCLFGEYDBGqCX2FGkCWFiDBG8lnApiDZAkiDBG8jnApiDAmG8mA8mmmA8lnApiDLAkCLFiDBG8mnApiDcA8lnApiD3mG8lA8lmmA8mnApiDBA8jnApiDXA8mnApiDkmG8lA8lmmA8jnApiD8kmmm+LnGYjBBBBjBBJzAZAhAqAaAlYDBGkeGlCDTFYDBC8s2FGpiDYG8l+VA8ljBBBB9beApiDWAMAaAqAkeGxCX2FGkCWFiDBG8lnApiDZAkiDBG8jnApiDAmG8mA8mmmA8lnApiDLAkCLFiDBG8mnApiDcA8lnApiD3mG8lA8lmmA8mnApiDBA8jnApiDXA8mnApiDkmG8lA8lmmA8jnApiD8kmmm+LnG8lAYA8l9fGpeuDBAEAqAxApebDBAcAaAlApebDBAcCXFHcA8aCUFG8aMBKAQCJEFCBCJ/ABZ1JJJB8aA8xHpAHHcINAQCJEFApYDBCo4C/8zgFGaAaYDBCEFbDBApCXFHpAcCUFGcMBKCBHpCBHcINAQCJEFApFGaYDBHqAaAcbDBAqAcFHcApCLFGpCJ/AB9HMBKCBHpA8xHcINAQCJEFAcYDBCo4C/8zgFGaAaYDBGaCEFbDBA5AaCDTFApbDBAcCXFHcAHApCEFGp9HMBKASAO9rGaCI9uH81DNALtMBCBHpAIHcINAcApbDBAcCLFHcALApCEFGp9HMBKKCBHbA8wCBALZ1JJJBH83AaCo9uHuA81CE4H85CBH86CBHKDNINAAA5AKCDTFYDBCX2FGxiDWG8jA8s9eMEA86A819PMEjffUUH8lDNA85AH9PMBAAA5A85CDTFYDBCX2FiDWjBB/AznH8lKDNA8jA8l9etMBA86Au0MDKDNA83AhAxYDLG87CDTG88FYDBGaFG89rBBA83AhAxYDBGECDTG8+FYDBGzFGNrBBvMBDNA80AzCDTGpFYDBGqtMBA8yA8zApFYDBCITFHpAMAaCX2FG8eCWFHDA8eCLFHXAMAzCX2FG8fCWFHVA8fCLFHWCBHcCEHlDNINDNAIApYDBCDTFYDBGkAasMBAIApCLFYDBCDTFYDBG8aAasMBAMA8aCX2FG8aiDBAMAkCX2FGkiDBG8m+TG8lAWiDBAkCLFiDBGY+TGGnA8fiDBA8m+TG8kA8aCLFiDBAY+TG8jn+TA8lAXiDBAY+TG8pnA8eiDBA8m+TG8nA8jn+TnA8jAViDBAkCWFiDBGY+TGinAGA8aCWFiDBAY+TG8mn+TA8jADiDBAY+TGYnA8pA8mn+TnA8mA8knAiA8ln+TA8mA8nnAYA8ln+TnmmjBBBB9dMDKApCWFHpAcCEFGcAq6HlAqAc9HMBKKAlCEgtMBA85CEFH85XEKAxCWFHqAZAaC8s2FGpAZAzC8s2FGciDBApiDBmuDBApAciDLApiDLmuDLApAciDWApiDWmuDWApAciDXApiDXmuDXApAciDZApiDZmuDZApAciDcApiDcmuDcApAciDkApiDkmuDkApAciD3ApiD3muD3ApAciDAApiDAmuDAApAciD8kApiD8kmuD8kApAciDYApiDYmuDYDNDNDNDNAyAEFGcrBBC9+FpDEBDKAEHpINAIApCDTGpFAabDBAoApFYDBGpAE9HMBXIKKAoA88FYDBHpAoA8+FYDBHEAIA8+FA87bDBApH87KAIAECDTFA87bDBKANCE86BBA89CE86BBAqiDBG8lArArA8l9deHrAbCEFHbCECDAcrBBCEseA86FH86KAKCEFGKAH9HMBKKAbtMBDNALtMBCBHcAeHpINDNApYDBGaCUsMBDNAcAIAaCDTGqFYDBGa9HMBAeAqFYDBHaKApAabDBKApCLFHpALAcCEFGc9HMBKCBHcA3HpINDNApYDBGaCUsMBDNAcAIAaCDTGqFYDBGa9HMBA3AqFYDBHaKApAabDBKApCLFHpALAcCEFGc9HMBKKCBHDABHpCBHkINDNAIApYDBCDTFYDBGcAIApCLFYDBCDTFYDBGasMBAcAIApCWFYDBCDTFYDBGqsMBAaAqsMBABADCDTFG8aAcbDBA8aCLFAabDBA8aCWFAqbDBADCIFHDKApCXFHpAkCIFGkAS9PMDXBKKASHDXDKADAO0MBKKDNAdtMBAdAr+RuDBKAQYD94GpCDTAQCkFFC98FHhDNINAptMEAhYDBCBYD/w1JJBh+BJJJBBAhC98FHhApCUFHpXBKKAQCJ/BBF8kJJJJBADK/PLEOUABYDBCBAICDTZ1JJJB8aADCI9uHVDNADtMBABYDBHODNALtMBAEHRADHWINAOALARYDBCDTFYDBCDTFGdAdYDBCEFbDBARCLFHRAWCUFGWMBXDKKAEHRADHWINAOARYDBCDTFGdAdYDBCEFbDBARCLFHRAWCUFGWMBKKDNAItMBABYDBHRABYDLHWCBHdAIHOINAWAdbDBAWCLFHWARYDBAdFHdARCLFHRAOCUFGOMBKKDNADCI6MBAVCEAVCE0eHQABYDLHVABYDWHRINAECWFYDBHWAECLFYDBHdAEYDBHODNALtMBALAWCDTFYDBHWALAdCDTFYDBHdALAOCDTFYDBHOKARAVAOCDTFGDYDBCITFAdbDBARADYDBCITFAWbDLADADYDBCEFbDBARAVAdCDTFGDYDBCITFAWbDBARADYDBCITFAObDLADADYDBCEFbDBARAVAWCDTFGWYDBCITFAObDBARAWYDBCITFAdbDLAWAWYDBCEFbDBAECXFHEAQCUFGQMBKKDNAItMBABYDLHRABYDBHWINARARYDBAWYDB9rbDBAWCLFHWARCLFHRAICUFGIMBKKK+3LDOUV998jJJJJBCA9rGLCZFCWFCBYD11JJBbDBALCB8pDJ1JJB83IZALCWFCBYDn1JJBbDBALCB8pD+M1JJB83IBDNADtMBAICD4HVDNABtMBAVCDTHOCBHRAEHWINABARCX2FGIAEARAV2CDTFGdiDBuDBAIAdiDLuDLAIAdiDWuDWCBHIINALCZFAIFGdAWAIFiDBGQAdiDBGKAKAQ9eeuDBALAIFGdAQAdiDBGKAKAQ9deuDBAICLFGICX9HMBKAWAOFHWARCEFGRAD9HMBXDKKAVCDTHRCBHWINCBHIINALCZFAIFGdAEAIFiDBGQAdiDBGKAKAQ9eeuDBALAIFGdAQAdiDBGKAKAQ9deuDBAICLFGICX9HMBKAEARFHEAWCEFGWAD9HMBKKALiDBALiDZGK+TjBBBB+XGQALiDLALiDcGX+TGMAMAQ9deGQALiDWALiDkGM+TGpApAQ9deHpDNABtMBADtMBjBBBBjBBJzAp+VApjBBBB9beHQINABAQABiDBAK+TnuDBABCLFGIAQAIiDBAX+TnuDBABCWFGIAQAIiDBAM+TnuDBABCXFHBADCUFGDMBKKApK+qDIDUI99DUCBHI8jJJJJBCA9rGLCZFCWFCBYD11JJBbDBALCB8pDJ1JJB83IZALCWFCBYDn1JJBbDBALCB8pD+M1JJB83IBDNDNAEMBjBBJfHVjBBJfHOjBBJfHRXEKADCD4CDTHWINCBHDINALCZFADFGdABADFiDBGOAdiDBGRARAO9eeuDBALADFGdAOAdiDBGRARAO9deuDBADCLFGDCX9HMBKABAWFHBAICEFGIAE9HMBKALiDWALiDk+THRALiDLALiDc+THOALiDBALiDZ+THVKAVjBBBB+XGVAOAOAV9deGOARARAO9deK9dEEUABCfEAICDTZ1JJJBHLCBHIDNADtMBINDNALAEYDBCDTFGBYDBCU9HMBABAIbDBAICEFHIKAECLFHEADCUFGDMBKKAIK9TEIUCBCBYD/01JJBGEABCIFC98gFGBbD/01JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK/lEEEUDNDNAEABvCIgtMBABHIXEKDNDNADCZ9PMBABHIXEKABHIINAIAEYDBbDBAICLFAECLFYDBbDBAICWFAECWFYDBbDBAICXFAECXFYDBbDBAICZFHIAECZFHEADC9wFGDCS0MBKKADCL6MBINAIAEYDBbDBAECLFHEAICLFHIADC98FGDCI0MBKKDNADtMBINAIAErBB86BBAICEFHIAECEFHEADCUFGDMBKKABK/AEEDUDNDNABCIgtMBABHIXEKAECfEgC+B+C+EW2HLDNDNADCZ9PMBABHIXEKABHIINAIALbDBAICXFALbDBAICWFALbDBAICLFALbDBAICZFHIADC9wFGDCS0MBKKADCL6MBINAIALbDBAICLFHIADC98FGDCI0MBKKDNADtMBINAIAE86BBAICEFHIADCUFGDMBKKABK9TEIUCBCBYD/01JJBGEABCIFC98gFGBbD/01JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK9+EIUzBHEDNDNCBYD/01JJBGDAECZTGI9NMBCUHEADAI9rCffIFCZ4NBCUsMEKADHEKCBABAE9rCIFC98gCBYD/01JJBFGDbD/01JJBDNADzBCZTGE9NMBADAE9rCffIFCZ4NB8aKK6EIUCBHIDNADtMBDNINABrBBGLAErBBGV9HMEAECEFHEABCEFHBADCUFGDMBXDKKALAV9rHIKAIKK+CEDBCJWK9pffUUffUUffUUffUfffUfffUfBBBBBBBBEEEBEEBEBBEEEBEBBBBBEBEBBBBBEBBBDBBBBBBBBBBBBBBBEEEEEBEBBBBBEBBBBBEEBBBBBBC/sWKXEBBBDBBBJ9kBB",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(p){n=p.instance,n.exports.__wasm_call_ctors()});function o(p){for(var g=new Uint8Array(p.length),m=0;m<p.length;++m){var A=p.charCodeAt(m);g[m]=A>96?A-71:A>64?A-65:A>47?A+4:A>46?63:62}for(var x=0,m=0;m<p.length;++m)g[x++]=g[m]<60?t[g[m]]:(g[m]-60)*64+g[++m];return g.buffer.slice(0,x)}function r(p){if(!p)throw new Error("Assertion failed")}function s(p){return new Uint8Array(p.buffer,p.byteOffset,p.byteLength)}function a(p,g){var m=n.exports.sbrk,A=m(p.length*4),x=m(g*4),C=new Uint8Array(n.exports.memory.buffer),T=s(p);C.set(T,A);var E=n.exports.meshopt_optimizeVertexFetchRemap(x,A,p.length,g);C=new Uint8Array(n.exports.memory.buffer);var S=new Uint32Array(g);new Uint8Array(S.buffer).set(C.subarray(x,x+g*4)),T.set(C.subarray(A,A+p.length*4)),m(A-m(0));for(var D=0;D<p.length;++D)p[D]=S[p[D]];return[S,E]}function c(p){for(var g=0,m=0;m<p.length;++m){var A=p[m];g=g<A?A:g}return g}function l(p,g,m,A,x,C,T,E,S){var D=n.exports.sbrk,w=D(4),R=D(m*4),O=D(x*C),L=D(m*4),N=new Uint8Array(n.exports.memory.buffer);N.set(s(A),O),N.set(s(g),L);var _=p(R,L,m,O,x,C,T,E,S,w);N=new Uint8Array(n.exports.memory.buffer);var b=new Uint32Array(_);s(b).set(N.subarray(R,R+_*4));var v=new Float32Array(1);return s(v).set(N.subarray(w,w+4)),D(w-D(0)),[b,v[0]]}function f(p,g,m,A){var x=n.exports.sbrk,C=x(m*A),T=new Uint8Array(n.exports.memory.buffer);T.set(s(g),C);var E=p(C,m,A);return x(C-x(0)),E}var d={LockBorder:1};return{ready:i,supported:!0,compactMesh:function(p){r(p instanceof Uint32Array||p instanceof Int32Array||p instanceof Uint16Array||p instanceof Int16Array),r(p.length%3==0);var g=p.BYTES_PER_ELEMENT==4?p:new Uint32Array(p);return a(g,c(p)+1)},simplify:function(p,g,m,A,x,C){r(p instanceof Uint32Array||p instanceof Int32Array||p instanceof Uint16Array||p instanceof Int16Array),r(p.length%3==0),r(g instanceof Float32Array),r(g.length%m==0),r(m>=3),r(A%3==0);for(var T=0,E=0;E<(C?C.length:0);++E)T|=d[C[E]];var S=p.BYTES_PER_ELEMENT==4?p:new Uint32Array(p),D=l(n.exports.meshopt_simplify,S,p.length,g,g.length,m*4,A,x,T);return D[0]=p instanceof Uint32Array?D[0]:new p.constructor(D[0]),D},getScale:function(p,g){return r(p instanceof Float32Array),r(p.length%g==0),f(n.exports.meshopt_simplifyScale,p,p.length,g*4)}}}();function pg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.bufferViewId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.bufferViews[i],c=a.buffer,l=a.byteOffset,f=a.byteLength,d=!1,p,g,m,A;if(ai(a,"EXT_meshopt_compression")){let C=a.extensions.EXT_meshopt_compression;c=C.buffer,l=y(C.byteOffset,0),f=C.byteLength,d=!0,p=C.byteStride,g=C.count,m=C.mode,A=y(C.filter,"NONE")}let x=n.buffers[c];this._hasMeshopt=d,this._meshoptByteStride=p,this._meshoptCount=g,this._meshoptMode=m,this._meshoptFilter=A,this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._buffer=x,this._bufferId=c,this._byteOffset=l,this._byteLength=f,this._cacheKey=s,this._bufferLoader=void 0,this._typedArray=void 0,this._state=Ut.UNLOADED,this._promise=void 0,this._process=function(C,T){}}u(Object.create)&&(pg.prototype=Object.create(no.prototype),pg.prototype.constructor=pg);Object.defineProperties(pg.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});pg.prototype.load=function(){let e=sMe(this);this._bufferLoader=e,this._state=Ut.LOADING;let t=this,n=new Promise(function(i){t._process=function(o,r){if(!o._hasMeshopt||!u(o._typedArray)||o._state!==Ut.PROCESSING)return;let s=o._meshoptCount,a=o._meshoptByteStride,c=new Uint8Array(s*a);kte.decodeGltfBuffer(c,s,a,o._typedArray,o._meshoptMode,o._meshoptFilter),o._typedArray=c,o._state=Ut.READY,i(o)}});return this._promise=e.promise.then(function(){if(t.isDestroyed())return;let i=e.typedArray,o=new Uint8Array(i.buffer,i.byteOffset+t._byteOffset,t._byteLength);return t.unload(),t._typedArray=o,t._hasMeshopt?(t._state=Ut.PROCESSING,n):(t._state=Ut.READY,t)}).catch(function(i){if(t.isDestroyed())return;t.unload(),t._state=Ut.FAILED;let o="Failed to load buffer view";return Promise.reject(t.getError(o,i))}),this._promise};function sMe(e){let t=e._resourceCache,n=e._buffer;if(u(n.uri)){let o=e._baseResource.getDerivedResource({url:n.uri});return t.loadExternalBuffer({resource:o})}return t.loadEmbeddedBuffer({parentResource:e._gltfResource,bufferId:e._bufferId})}pg.prototype.process=function(e){return this._process(this,e)};pg.prototype.unload=function(){u(this._bufferLoader)&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0};var bT=pg;function za(){}za._maxDecodingConcurrency=Math.max(Vt.hardwareConcurrency-1,1);za._decoderTaskProcessor=void 0;za._taskProcessorReady=!1;za._getDecoderTaskProcessor=function(){if(!u(za._decoderTaskProcessor)){let e=new pi("decodeDraco",za._maxDecodingConcurrency);e.initWebAssemblyModule({modulePath:"ThirdParty/Workers/draco_decoder_nodejs.js",wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(function(){za._taskProcessorReady=!0}),za._decoderTaskProcessor=e}return za._decoderTaskProcessor};za.decodePointCloud=function(e){let t=za._getDecoderTaskProcessor();if(za._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])};za.decodeBufferView=function(e){let t=za._getDecoderTaskProcessor();if(za._taskProcessorReady)return t.scheduleTask(e,[e.array.buffer])};var pp=za;function _g(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.draco,o=e.gltfResource,r=e.baseResource,s=e.cacheKey;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._draco=i,this._cacheKey=s,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=Ut.UNLOADED,this._promise=void 0,this._process=function(a,c){}}u(Object.create)&&(_g.prototype=Object.create(no.prototype),_g.prototype.constructor=_g);Object.defineProperties(_g.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});_g.prototype.load=function(){let t=this._resourceCache.loadBufferView({gltf:this._gltf,bufferViewId:this._draco.bufferView,gltfResource:this._gltfResource,baseResource:this._baseResource});this._bufferViewLoader=t,this._state=Ut.LOADING;let n=this,i=new Promise(function(o,r){n._process=function(s,a){if(!u(s._bufferViewTypedArray)||u(s._decodePromise))return;let c=s._draco,f=s._gltf.bufferViews,d=c.bufferView,p=f[d],g=c.attributes,m={array:new Uint8Array(s._bufferViewTypedArray),bufferView:p,compressedAttributes:g,dequantizeInShader:!0},A=pp.decodeBufferView(m);u(A)&&(s._decodePromise=A.then(function(x){if(s.isDestroyed()){o();return}s.unload(),s._decodedData={indices:x.indexArray,vertexAttributes:x.attributeData},s._state=Ut.READY,o(s)}).catch(function(x){if(s.isDestroyed()){o();return}r(x)}))}});return this._promise=t.promise.then(function(){if(!n.isDestroyed())return n._bufferViewTypedArray=t.typedArray,n._state=Ut.PROCESSING,i}).catch(function(o){if(!n.isDestroyed())return aMe(n,o)}),this._promise};function aMe(e,t){e.unload(),e._state=Ut.FAILED;let n="Failed to load Draco";return Promise.reject(e.getError(n,t))}_g.prototype.process=function(e){return this._process(this,e)};_g.prototype.unload=function(){u(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var ST=_g;function cMe(e){let t=e.uint8Array,n=e.format,i=e.request,o=y(e.flipY,!1),r=y(e.skipColorSpaceConversion,!1),s=new Blob([t],{type:n}),a;return Oe.supportsImageBitmapOptions().then(function(c){return c?Promise.resolve(Oe.createImageBitmapFromBlob(s,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:r})):(a=window.URL.createObjectURL(s),new Oe({url:a,request:i}).fetchImage({flipY:o,skipColorSpaceConversion:r}))}).then(function(c){return u(a)&&window.URL.revokeObjectURL(a),c}).catch(function(c){return u(a)&&window.URL.revokeObjectURL(a),Promise.reject(c)})}var fA=cMe;function _p(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.imageId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.images[i],c=a.bufferView,l=a.uri;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._bufferViewId=c,this._uri=l,this._cacheKey=s,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=Ut.UNLOADED,this._promise=void 0}u(Object.create)&&(_p.prototype=Object.create(no.prototype),_p.prototype.constructor=_p);Object.defineProperties(_p.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});_p.prototype.load=function(){return u(this._bufferViewId)?(this._promise=lMe(this),this._promise):(this._promise=uMe(this),this._promise)};function zte(e){let t;return Array.isArray(e)&&(t=e.slice(1,e.length).map(function(n){return n.bufferView}),e=e[0]),{image:e,mipLevels:t}}function lMe(e){let n=e._resourceCache.loadBufferView({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,e._state=Ut.LOADING,n.promise.then(function(){if(e.isDestroyed())return;let i=n.typedArray;return dMe(i).then(function(o){if(e.isDestroyed())return;let r=zte(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=Ut.READY,e})}).catch(function(i){if(!e.isDestroyed())return Hte(e,i,"Failed to load embedded image")})}function uMe(e){let t=e._baseResource,n=e._uri,i=t.getDerivedResource({url:n});return e._state=Ut.LOADING,mMe(i).then(function(o){if(e.isDestroyed())return;let r=zte(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=Ut.READY,e}).catch(function(o){if(!e.isDestroyed())return Hte(e,o,`Failed to load image: ${n}`)})}function Hte(e,t,n){return e.unload(),e._state=Ut.FAILED,Promise.reject(e.getError(n,t))}function fMe(e){let t=e.subarray(0,2),n=e.subarray(0,4),i=e.subarray(8,12);if(t[0]===255&&t[1]===216)return"image/jpeg";if(t[0]===137&&t[1]===80)return"image/png";if(t[0]===171&&t[1]===75)return"image/ktx2";if(n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&i[0]===87&&i[1]===69&&i[2]===66&&i[3]===80)return"image/webp";throw new ue("Image format is not recognized")}function dMe(e){let t=fMe(e);if(t==="image/ktx2"){let n=new Uint8Array(e);return tl(n)}return _p._loadImageFromTypedArray({uint8Array:e,format:t,flipY:!1,skipColorSpaceConversion:!0})}var hMe=/(^data:image\/ktx2)|(\.ktx2$)/i;function mMe(e){let t=e.getUrlComponent(!1,!0);return hMe.test(t)?tl(e):e.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}_p.prototype.unload=function(){u(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};_p._loadImageFromTypedArray=fA;var DT=_p;var pMe={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},fa=Object.freeze(pMe);function gg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.accessorId,o=e.gltfResource,r=e.baseResource,s=e.draco,a=e.cacheKey,c=y(e.asynchronous,!0),l=y(e.loadBuffer,!1),f=y(e.loadTypedArray,!1),d=n.accessors[i].componentType;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._accessorId=i,this._indexDatatype=d,this._draco=s,this._cacheKey=a,this._asynchronous=c,this._loadBuffer=l,this._loadTypedArray=f,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=Ut.UNLOADED,this._promise=void 0,this._process=function(p,g){}}u(Object.create)&&(gg.prototype=Object.create(no.prototype),gg.prototype.constructor=gg);Object.defineProperties(gg.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var _Me=new g5;gg.prototype.load=function(){let e;u(this._draco)?e=gMe(this):e=yMe(this);let t=this,n=new Promise(function(i){t._process=function(o,r){if(o._state===Ut.READY)return;let s=o._typedArray,a=o._indexDatatype;if(u(o._dracoLoader)&&o._dracoLoader.process(r),u(o._bufferViewLoader)&&o._bufferViewLoader.process(r),!u(s))return;let c;if(o._loadBuffer&&o._asynchronous){let l=_Me;if(l.set(s,a,r.context),!r.jobScheduler.execute(l,fa.BUFFER))return;c=l.buffer}else o._loadBuffer&&(c=Gte(s,a,r.context));o.unload(),o._buffer=c,o._typedArray=o._loadTypedArray?s:void 0,o._state=Ut.READY,i(o)}});return this._promise=e.then(function(){if(!t.isDestroyed())return n}).catch(function(i){if(!t.isDestroyed())return xMe(t,i)}),this._promise};function gMe(e){let n=e._resourceCache.loadDraco({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,e._state=Ut.LOADING,n.promise.then(function(){if(e.isDestroyed())return;let i=n.decodedData.indices.typedArray;return e._typedArray=i,e._indexDatatype=q.fromTypedArray(i),e._state=Ut.PROCESSING,e})}function yMe(e){let t=e._gltf,n=e._accessorId,o=t.accessors[n].bufferView,s=e._resourceCache.loadBufferView({gltf:t,bufferViewId:o,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._state=Ut.LOADING,e._bufferViewLoader=s,s.promise.then(function(){if(e.isDestroyed())return;let a=s.typedArray;return e._typedArray=AMe(e,a),e._state=Ut.PROCESSING,e})}function AMe(e,t){let n=e._gltf,i=e._accessorId,o=n.accessors[i],r=o.count,s=o.componentType,a=Fe.getSizeInBytes(s),c=t.buffer,l=t.byteOffset+o.byteOffset;if(l%a!==0){let d=r*a,p=new Uint8Array(c,l,d);c=new Uint8Array(p).buffer,l=0,nr("index-buffer-unaligned",`The index array is not aligned to a ${a}-byte boundary.`)}let f;return s===Fe.UNSIGNED_BYTE?f=new Uint8Array(c,l,r):s===Fe.UNSIGNED_SHORT?f=new Uint16Array(c,l,r):s===Fe.UNSIGNED_INT&&(f=new Uint32Array(c,l,r)),f}function xMe(e,t){e.unload(),e._state=Ut.FAILED;let n="Failed to load index buffer";return t=e.getError(n,t),Promise.reject(t)}function g5(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}g5.prototype.set=function(e,t,n){this.typedArray=e,this.indexDatatype=t,this.context=n};g5.prototype.execute=function(){this.buffer=Gte(this.typedArray,this.indexDatatype,this.context)};function Gte(e,t,n){let i=lt.createIndexBuffer({typedArray:e,context:n,usage:Ne.STATIC_DRAW,indexDatatype:t});return i.vertexArrayDestroyable=!1,i}gg.prototype.process=function(e){return this._process(this,e)};gg.prototype.unload=function(){u(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;u(this._bufferViewLoader)&&e.unload(this._bufferViewLoader),u(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var vT=gg;function CMe(e,t,n){if(n=y(n,!1),n){let i=e.indexOf(t);if(i>-1)return i}return e.push(t),e.length-1}var rs=CMe;function TMe(e,t){return u(e.extensionsUsed)&&e.extensionsUsed.indexOf(t)>=0}var _r=TMe;function Wt(){}Wt.objectLegacy=function(e,t){if(u(e)){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(u(o))return o}}};Wt.object=function(e,t){if(u(e)){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=t(o,i);if(u(r))return r}}};Wt.topLevel=function(e,t,n){let i=e[t];return u(i)&&!Array.isArray(i)?Wt.objectLegacy(i,n):Wt.object(i,n)};Wt.accessor=function(e,t){return Wt.topLevel(e,"accessors",t)};Wt.accessorWithSemantic=function(e,t,n){let i={};return Wt.mesh(e,function(o){return Wt.meshPrimitive(o,function(r){let s=Wt.meshPrimitiveAttribute(r,function(a,c){if(c.indexOf(t)===0&&!u(i[a])){i[a]=!0;let l=n(a);if(u(l))return l}});return u(s)?s:Wt.meshPrimitiveTarget(r,function(a){return Wt.meshPrimitiveTargetAttribute(a,function(c,l){if(l.indexOf(t)===0&&!u(i[c])){i[c]=!0;let f=n(c);if(u(f))return f}})})})})};Wt.accessorContainingVertexAttributeData=function(e,t){let n={};return Wt.mesh(e,function(i){return Wt.meshPrimitive(i,function(o){let r=Wt.meshPrimitiveAttribute(o,function(s){if(!u(n[s])){n[s]=!0;let a=t(s);if(u(a))return a}});return u(r)?r:Wt.meshPrimitiveTarget(o,function(s){return Wt.meshPrimitiveTargetAttribute(s,function(a){if(!u(n[a])){n[a]=!0;let c=t(a);if(u(c))return c}})})})})};Wt.accessorContainingIndexData=function(e,t){let n={};return Wt.mesh(e,function(i){return Wt.meshPrimitive(i,function(o){let r=o.indices;if(u(r)&&!u(n[r])){n[r]=!0;let s=t(r);if(u(s))return s}})})};Wt.animation=function(e,t){return Wt.topLevel(e,"animations",t)};Wt.animationChannel=function(e,t){let n=e.channels;return Wt.object(n,t)};Wt.animationSampler=function(e,t){let n=e.samplers;return Wt.object(n,t)};Wt.buffer=function(e,t){return Wt.topLevel(e,"buffers",t)};Wt.bufferView=function(e,t){return Wt.topLevel(e,"bufferViews",t)};Wt.camera=function(e,t){return Wt.topLevel(e,"cameras",t)};Wt.image=function(e,t){return Wt.topLevel(e,"images",t)};Wt.material=function(e,t){return Wt.topLevel(e,"materials",t)};Wt.materialValue=function(e,t){let n=e.values;u(e.extensions)&&u(e.extensions.KHR_techniques_webgl)&&(n=e.extensions.KHR_techniques_webgl.values);for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(u(o))return o}};Wt.mesh=function(e,t){return Wt.topLevel(e,"meshes",t)};Wt.meshPrimitive=function(e,t){let n=e.primitives;if(u(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r,o);if(u(s))return s}}};Wt.meshPrimitiveAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(u(o))return o}};Wt.meshPrimitiveTarget=function(e,t){let n=e.targets;if(u(n)){let i=n.length;for(let o=0;o<i;++o){let r=t(n[o],o);if(u(r))return r}}};Wt.meshPrimitiveTargetAttribute=function(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(u(o))return o}};Wt.node=function(e,t){return Wt.topLevel(e,"nodes",t)};Wt.nodeInTree=function(e,t,n){let i=e.nodes;if(u(i)){let o=t.length;for(let r=0;r<o;r++){let s=t[r],a=i[s];if(u(a)){let c=n(a,s);if(u(c))return c;let l=a.children;if(u(l)&&(c=Wt.nodeInTree(e,l,n),u(c)))return c}}}};Wt.nodeInScene=function(e,t,n){let i=t.nodes;if(u(i))return Wt.nodeInTree(e,i,n)};Wt.program=function(e,t){return _r(e,"KHR_techniques_webgl")?Wt.object(e.extensions.KHR_techniques_webgl.programs,t):Wt.topLevel(e,"programs",t)};Wt.sampler=function(e,t){return Wt.topLevel(e,"samplers",t)};Wt.scene=function(e,t){return Wt.topLevel(e,"scenes",t)};Wt.shader=function(e,t){return _r(e,"KHR_techniques_webgl")?Wt.object(e.extensions.KHR_techniques_webgl.shaders,t):Wt.topLevel(e,"shaders",t)};Wt.skin=function(e,t){return Wt.topLevel(e,"skins",t)};Wt.skinJoint=function(e,t){let n=e.joints;if(u(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r);if(u(s))return s}}};Wt.techniqueAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(u(o))return o}};Wt.techniqueUniform=function(e,t){let n=e.uniforms;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(u(o))return o}};Wt.techniqueParameter=function(e,t){let n=e.parameters;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(u(o))return o}};Wt.technique=function(e,t){return _r(e,"KHR_techniques_webgl")?Wt.object(e.extensions.KHR_techniques_webgl.techniques,t):Wt.topLevel(e,"techniques",t)};Wt.texture=function(e,t){return Wt.topLevel(e,"textures",t)};var Pe=Wt;function EMe(e){switch(e){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}var Kl=EMe;function bMe(e,t){let n=t.bufferView;if(u(n)){let i=e.bufferViews[n];if(u(i.byteStride)&&i.byteStride>0)return i.byteStride}return q.getSizeInBytes(t.componentType)*Kl(t.type)}var dl=bMe;function SMe(e){Pe.accessor(e,function(n){u(n.bufferView)&&(n.byteOffset=y(n.byteOffset,0))}),Pe.bufferView(e,function(n){u(n.buffer)&&(n.byteOffset=y(n.byteOffset,0))}),Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){if(i.mode=y(i.mode,ee.TRIANGLES),!u(i.material)){u(e.materials)||(e.materials=[]);let o={name:"default"};i.material=rs(e.materials,o)}})}),Pe.accessorContainingVertexAttributeData(e,function(n){let i=e.accessors[n],o=i.bufferView;if(i.normalized=y(i.normalized,!1),u(o)){let r=e.bufferViews[o];r.byteStride=dl(e,i),r.target=ee.ARRAY_BUFFER}}),Pe.accessorContainingIndexData(e,function(n){let o=e.accessors[n].bufferView;if(u(o)){let r=e.bufferViews[o];r.target=ee.ELEMENT_ARRAY_BUFFER}}),Pe.material(e,function(n){let i=y(n.extensions,y.EMPTY_OBJECT),o=i.KHR_materials_common;if(u(o)){let c=o.technique,l=u(o.values)?o.values:{};o.values=l,l.ambient=u(l.ambient)?l.ambient:[0,0,0,1],l.emission=u(l.emission)?l.emission:[0,0,0,1],l.transparency=y(l.transparency,1),c!=="CONSTANT"&&(l.diffuse=u(l.diffuse)?l.diffuse:[0,0,0,1],c!=="LAMBERT"&&(l.specular=u(l.specular)?l.specular:[0,0,0,1],l.shininess=y(l.shininess,0))),o.transparent=y(o.transparent,!1),o.doubleSided=y(o.doubleSided,!1);return}n.emissiveFactor=y(n.emissiveFactor,[0,0,0]),n.alphaMode=y(n.alphaMode,"OPAQUE"),n.doubleSided=y(n.doubleSided,!1),n.alphaMode==="MASK"&&(n.alphaCutoff=y(n.alphaCutoff,.5));let r=i.KHR_techniques_webgl;u(r)&&Pe.materialValue(n,function(c){u(c.index)&&dA(c)}),dA(n.emissiveTexture),dA(n.normalTexture),dA(n.occlusionTexture);let s=n.pbrMetallicRoughness;u(s)&&(s.baseColorFactor=y(s.baseColorFactor,[1,1,1,1]),s.metallicFactor=y(s.metallicFactor,1),s.roughnessFactor=y(s.roughnessFactor,1),dA(s.baseColorTexture),dA(s.metallicRoughnessTexture));let a=i.KHR_materials_pbrSpecularGlossiness;u(a)&&(a.diffuseFactor=y(a.diffuseFactor,[1,1,1,1]),a.specularFactor=y(a.specularFactor,[1,1,1]),a.glossinessFactor=y(a.glossinessFactor,1),dA(a.specularGlossinessTexture))}),Pe.animation(e,function(n){Pe.animationSampler(n,function(i){i.interpolation=y(i.interpolation,"LINEAR")})});let t=DMe(e);return Pe.node(e,function(n,i){u(t[i])||u(n.translation)||u(n.rotation)||u(n.scale)?(n.translation=y(n.translation,[0,0,0]),n.rotation=y(n.rotation,[0,0,0,1]),n.scale=y(n.scale,[1,1,1])):n.matrix=y(n.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),Pe.sampler(e,function(n){n.wrapS=y(n.wrapS,ee.REPEAT),n.wrapT=y(n.wrapT,ee.REPEAT)}),u(e.scenes)&&!u(e.scene)&&(e.scene=0),e}function DMe(e){let t={};return Pe.animation(e,function(n){Pe.animationChannel(n,function(i){let o=i.target,r=o.node,s=o.path;(s==="translation"||s==="rotation"||s==="scale")&&(t[r]=!0)})}),t}function dA(e){u(e)&&(e.texCoord=y(e.texCoord,0))}var DP=SMe;function vMe(e){return Pe.shader(e,function(t){SV(t)}),Pe.buffer(e,function(t){SV(t)}),Pe.image(e,function(t){SV(t)}),SV(e),e}function SV(e){e.extras=u(e.extras)?e.extras:{},e.extras._pipeline=u(e.extras._pipeline)?e.extras._pipeline:{}}var yg=vMe;function wMe(e,t){let n=e.extensionsRequired;if(u(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),n.length===0&&delete e.extensionsRequired}}var vP=wMe;function IMe(e,t){let n=e.extensionsUsed;if(u(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),vP(e,t),n.length===0&&delete e.extensionsUsed}}var hA=IMe;var PMe=4;function OMe(e){if(od(e)!=="glTF")throw new ue("File is not valid binary glTF");let n=Wte(e,0,5),i=n[1];if(i!==1&&i!==2)throw new ue("Binary glTF version is not 1 or 2");return i===1?RMe(e,n):BMe(e,n)}function Wte(e,t,n){let i=new DataView(e.buffer),o=new Array(n);for(let r=0;r<n;++r)o[r]=i.getUint32(e.byteOffset+t+r*PMe,!0);return o}function RMe(e,t){let n=t[2],i=t[3];if(t[4]!==0)throw new ue("Binary glTF scene format is not JSON");let r=20,s=r+i,a=ll(e,r,i),c=JSON.parse(a);yg(c);let l=e.subarray(s,n),f=c.buffers;if(u(f)&&Object.keys(f).length>0){let d=y(f.binary_glTF,f.KHR_binary_glTF);u(d)&&(d.extras._pipeline.source=l,delete d.uri)}return hA(c,"KHR_binary_glTF"),c}function BMe(e,t){let n=t[2],i=12,o,r;for(;i<n;){let s=Wte(e,i,2),a=s[0],c=s[1];i+=8;let l=e.subarray(i,i+a);if(i+=a,c===1313821514){let f=ll(l);o=JSON.parse(f),yg(o)}else c===5130562&&(r=l)}if(u(o)&&u(r)){let s=o.buffers;if(u(s)&&s.length>0){let a=s[0];a.extras._pipeline.source=r}}return o}var wP=OMe;function MMe(e){return Pe.shader(e,function(t){DV(t)}),Pe.buffer(e,function(t){DV(t)}),Pe.image(e,function(t){DV(t)}),DV(e),e}function DV(e){u(e.extras)&&(u(e.extras._pipeline)&&delete e.extras._pipeline,Object.keys(e.extras).length===0&&delete e.extras)}var IP=MMe;function LMe(e,t){let n=e.extensionsUsed;u(n)||(n=[],e.extensionsUsed=n),rs(n,t,!0)}var Yu=LMe;function NMe(e){switch(e){case q.BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt8(n+s*o)};case q.UNSIGNED_BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint8(n+s*o)};case q.SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt16(n+s*o,!0)};case q.UNSIGNED_SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint16(n+s*o,!0)};case q.INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt32(n+s*o,!0)};case q.UNSIGNED_INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint32(n+s*o,!0)};case q.FLOAT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat32(n+s*o,!0)};case q.DOUBLE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat64(n+s*o,!0)}}}var gp=NMe;function FMe(e,t){let n=e.bufferViews,i=e.buffers,o=t.bufferView,r=Kl(t.type);if(!u(t.bufferView))return{min:new Array(r).fill(0),max:new Array(r).fill(0)};let s=new Array(r).fill(Number.POSITIVE_INFINITY),a=new Array(r).fill(Number.NEGATIVE_INFINITY),c=n[o],l=c.buffer,d=i[l].extras._pipeline.source,p=t.count,g=dl(e,t),m=t.byteOffset+c.byteOffset+d.byteOffset,A=t.componentType,x=q.getSizeInBytes(A),C=new DataView(d.buffer),T=new Array(r),E=gp(A);for(let S=0;S<p;S++){E(C,m,r,x,T);for(let D=0;D<r;D++){let w=T[D];s[D]=Math.min(s[D],w),a[D]=Math.max(a[D],w)}m+=g}return{min:s,max:a}}var mA=FMe;var VMe=[ee.FUNC_ADD,ee.FUNC_ADD],UMe=[ee.ONE,ee.ZERO,ee.ONE,ee.ZERO];function jte(e,t){let n=e.enable;return u(n)?n.indexOf(t)>-1:!1}var kMe=[ee.ZERO,ee.ONE,ee.SRC_COLOR,ee.ONE_MINUS_SRC_COLOR,ee.SRC_ALPHA,ee.ONE_MINUS_SRC_ALPHA,ee.DST_ALPHA,ee.ONE_MINUS_DST_ALPHA,ee.DST_COLOR,ee.ONE_MINUS_DST_COLOR];function zMe(e,t){if(!u(e))return t;for(let n=0;n<4;n++)if(kMe.indexOf(e[n])===-1)return t;return e}function HMe(e){let t={},n={},i=e.techniques;return u(i)&&(Pe.technique(e,function(o,r){let s=o.states;if(u(s)){let a=n[r]={};if(jte(s,ee.BLEND)){a.alphaMode="BLEND";let c=s.functions;u(c)&&(u(c.blendEquationSeparate)||u(c.blendFuncSeparate))&&(t[r]={blendEquation:y(c.blendEquationSeparate,VMe),blendFactors:zMe(c.blendFuncSeparate,UMe)})}jte(s,ee.CULL_FACE)||(a.doubleSided=!0),delete o.states}}),Object.keys(t).length>0&&(u(e.extensions)||(e.extensions={}),Yu(e,"KHR_blend")),Pe.material(e,function(o){if(u(o.technique)){let r=n[o.technique];Pe.objectLegacy(r,function(a,c){o[c]=a});let s=t[o.technique];u(s)&&(u(o.extensions)||(o.extensions={}),o.extensions.KHR_blend=s)}})),e}var PP=HMe;function GMe(e,t){let n=e.extensionsRequired;u(n)||(n=[],e.extensionsRequired=n),rs(n,t,!0),Yu(e,t)}var OP=GMe;function WMe(e){let t=e.techniques,n={},i={},o={};if(u(t)){let r={programs:[],shaders:[],techniques:[]},s=e.glExtensionsUsed;delete e.glExtensionsUsed,Pe.technique(e,function(a,c){let l={name:a.name,program:void 0,attributes:{},uniforms:{}},f;if(Pe.techniqueAttribute(a,function(d,p){f=a.parameters[d],l.attributes[p]={semantic:f.semantic}}),Pe.techniqueUniform(a,function(d,p){f=a.parameters[d],l.uniforms[p]={count:f.count,node:f.node,type:f.type,semantic:f.semantic,value:f.value},u(n[c])||(n[c]={}),n[c][d]=p}),u(o[a.program]))l.program=o[a.program];else{let d=e.programs[a.program],p={name:d.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:s},g=e.shaders[d.fragmentShader];p.fragmentShader=rs(r.shaders,g,!0);let m=e.shaders[d.vertexShader];p.vertexShader=rs(r.shaders,m,!0),l.program=rs(r.programs,p),o[a.program]=l.program}i[c]=rs(r.techniques,l)}),r.techniques.length>0&&(u(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=r,Yu(e,"KHR_techniques_webgl"),OP(e,"KHR_techniques_webgl"))}return Pe.material(e,function(r){if(u(r.technique)){let s={technique:i[r.technique]};Pe.objectLegacy(r.values,function(a,c){u(s.values)||(s.values={});let l=n[r.technique][c];u(l)&&(s.values[l]=a)}),u(r.extensions)||(r.extensions={}),r.extensions.KHR_techniques_webgl=s}delete r.technique,delete r.values}),delete e.techniques,delete e.programs,delete e.shaders,e}var RP=WMe;function jMe(e,t){Qc.typeOf.object("material",e),Qc.defined("handler",t);let n=e.pbrMetallicRoughness;if(u(n)){if(u(n.baseColorTexture)){let o=n.baseColorTexture,r=t(o.index,o);if(u(r))return r}if(u(n.metallicRoughnessTexture)){let o=n.metallicRoughnessTexture,r=t(o.index,o);if(u(r))return r}}if(u(e.extensions)){let o=e.extensions.KHR_materials_pbrSpecularGlossiness;if(u(o)){if(u(o.diffuseTexture)){let s=o.diffuseTexture,a=t(s.index,s);if(u(a))return a}if(u(o.specularGlossinessTexture)){let s=o.specularGlossinessTexture,a=t(s.index,s);if(u(a))return a}}let r=e.extensions.KHR_materials_common;if(u(r)&&u(r.values)){let s=r.values.diffuse,a=r.values.ambient,c=r.values.emission,l=r.values.specular;if(u(s)&&u(s.index)){let f=t(s.index,s);if(u(f))return f}if(u(a)&&u(a.index)){let f=t(a.index,a);if(u(f))return f}if(u(c)&&u(c.index)){let f=t(c.index,c);if(u(f))return f}if(u(l)&&u(l.index)){let f=t(l.index,l);if(u(f))return f}}}let i=Pe.materialValue(e,function(o){if(u(o.index)){let r=t(o.index,o);if(u(r))return r}});if(u(i))return i;if(u(e.emissiveTexture)){let o=e.emissiveTexture,r=t(o.index,o);if(u(r))return r}if(u(e.normalTexture)){let o=e.normalTexture,r=t(o.index,o);if(u(r))return r}if(u(e.occlusionTexture)){let o=e.occlusionTexture,r=t(o.index,o);if(u(r))return r}}var wT=jMe;var Yte=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function YMe(e,t){return t=y(t,Yte),Yte.forEach(function(n){t.indexOf(n)>-1&&XMe(e,n)}),e}var qMe={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function XMe(e,t){let n=qMe[t],i=e[n];if(u(i)){let o=0,r=Ih[t](e),s=i.length;for(let a=0;a<s;++a)r[a]||(wh[t](e,a-o),o++)}}function wh(){}wh.accessor=function(e,t){e.accessors.splice(t,1),Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){Pe.meshPrimitiveAttribute(o,function(s,a){s>t&&o.attributes[a]--}),Pe.meshPrimitiveTarget(o,function(s){Pe.meshPrimitiveTargetAttribute(s,function(a,c){a>t&&s[c]--})});let r=o.indices;u(r)&&r>t&&o.indices--})}),Pe.skin(e,function(i){u(i.inverseBindMatrices)&&i.inverseBindMatrices>t&&i.inverseBindMatrices--}),Pe.animation(e,function(i){Pe.animationSampler(i,function(o){u(o.input)&&o.input>t&&o.input--,u(o.output)&&o.output>t&&o.output--})})};wh.buffer=function(e,t){e.buffers.splice(t,1),Pe.bufferView(e,function(i){u(i.buffer)&&i.buffer>t&&i.buffer--,u(i.extensions)&&u(i.extensions.EXT_meshopt_compression)&&i.extensions.EXT_meshopt_compression.buffer--})};wh.bufferView=function(e,t){if(e.bufferViews.splice(t,1),Pe.accessor(e,function(i){u(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Pe.shader(e,function(i){u(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Pe.image(e,function(i){u(i.bufferView)&&i.bufferView>t&&i.bufferView--}),_r(e,"KHR_draco_mesh_compression")&&Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){u(o.extensions)&&u(o.extensions.KHR_draco_mesh_compression)&&o.extensions.KHR_draco_mesh_compression.bufferView>t&&o.extensions.KHR_draco_mesh_compression.bufferView--})}),_r(e,"EXT_feature_metadata")){let o=e.extensions.EXT_feature_metadata.featureTables;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(u(a)){for(let c in a)if(a.hasOwnProperty(c)){let l=a[c];u(l.bufferView)&&l.bufferView>t&&l.bufferView--,u(l.arrayOffsetBufferView)&&l.arrayOffsetBufferView>t&&l.arrayOffsetBufferView--,u(l.stringOffsetBufferView)&&l.stringOffsetBufferView>t&&l.stringOffsetBufferView--}}}}if(_r(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTables;if(u(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let l in c)if(c.hasOwnProperty(l)){let f=c[l];u(f.values)&&f.values>t&&f.values--,u(f.arrayOffsets)&&f.arrayOffsets>t&&f.arrayOffsets--,u(f.stringOffsets)&&f.stringOffsets>t&&f.stringOffsets--}}}}};wh.image=function(e,t){e.images.splice(t,1),Pe.texture(e,function(i){u(i.source)&&i.source>t&&--i.source;let o=i.extensions;u(o)&&u(o.EXT_texture_webp)&&o.EXT_texture_webp.source>t?--i.extensions.EXT_texture_webp.source:u(o)&&u(o.KHR_texture_basisu)&&o.KHR_texture_basisu.source>t&&--i.extensions.KHR_texture_basisu.source})};wh.mesh=function(e,t){e.meshes.splice(t,1),Pe.node(e,function(i){u(i.mesh)&&(i.mesh>t?i.mesh--:i.mesh===t&&delete i.mesh)})};wh.node=function(e,t){e.nodes.splice(t,1),Pe.skin(e,function(i){u(i.skeleton)&&i.skeleton>t&&i.skeleton--,i.joints=i.joints.map(function(o){return o>t?o-1:o})}),Pe.animation(e,function(i){Pe.animationChannel(i,function(o){u(o.target)&&u(o.target.node)&&o.target.node>t&&o.target.node--})}),Pe.technique(e,function(i){Pe.techniqueUniform(i,function(o){u(o.node)&&o.node>t&&o.node--})}),Pe.node(e,function(i){u(i.children)&&(i.children=i.children.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o}))}),Pe.scene(e,function(i){i.nodes=i.nodes.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o})})};wh.material=function(e,t){e.materials.splice(t,1),Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){u(o.material)&&o.material>t&&o.material--})})};wh.sampler=function(e,t){e.samplers.splice(t,1),Pe.texture(e,function(i){u(i.sampler)&&i.sampler>t&&--i.sampler})};wh.texture=function(e,t){if(e.textures.splice(t,1),Pe.material(e,function(i){wT(i,function(o,r){r.index>t&&--r.index})}),_r(e,"EXT_feature_metadata")){Pe.mesh(e,function(r){Pe.meshPrimitive(r,function(s){let a=s.extensions;if(u(a)&&u(a.EXT_feature_metadata)){let l=a.EXT_feature_metadata.featureIdTextures;if(u(l)){let f=l.length;for(let d=0;d<f;++d){let g=l[d].featureIds.texture;g.index>t&&--g.index}}}})});let o=e.extensions.EXT_feature_metadata.featureTextures;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(u(a)){for(let c in a)if(a.hasOwnProperty(c)){let f=a[c].texture;f.index>t&&--f.index}}}}if(_r(e,"EXT_mesh_features")&&Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){let r=o.extensions;if(u(r)&&u(r.EXT_mesh_features)){let a=r.EXT_mesh_features.featureIds;if(u(a)){let c=a.length;for(let l=0;l<c;++l){let f=a[l];u(f.texture)&&f.texture.index>t&&--f.texture.index}}}})}),_r(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTextures;if(u(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let l in c)if(c.hasOwnProperty(l)){let f=c[l];f.index>t&&--f.index}}}}};function Ih(){}Ih.accessor=function(e){let t={};return Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){Pe.meshPrimitiveAttribute(i,function(r){t[r]=!0}),Pe.meshPrimitiveTarget(i,function(r){Pe.meshPrimitiveTargetAttribute(r,function(s){t[s]=!0})});let o=i.indices;u(o)&&(t[o]=!0)})}),Pe.skin(e,function(n){u(n.inverseBindMatrices)&&(t[n.inverseBindMatrices]=!0)}),Pe.animation(e,function(n){Pe.animationSampler(n,function(i){u(i.input)&&(t[i.input]=!0),u(i.output)&&(t[i.output]=!0)})}),_r(e,"EXT_mesh_gpu_instancing")&&Pe.node(e,function(n){u(n.extensions)&&u(n.extensions.EXT_mesh_gpu_instancing)&&Object.keys(n.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(i){let o=n.extensions.EXT_mesh_gpu_instancing.attributes[i];t[o]=!0})}),t};Ih.buffer=function(e){let t={};return Pe.bufferView(e,function(n){u(n.buffer)&&(t[n.buffer]=!0),u(n.extensions)&&u(n.extensions.EXT_meshopt_compression)&&(t[n.extensions.EXT_meshopt_compression.buffer]=!0)}),t};Ih.bufferView=function(e){let t={};if(Pe.accessor(e,function(n){u(n.bufferView)&&(t[n.bufferView]=!0)}),Pe.shader(e,function(n){u(n.bufferView)&&(t[n.bufferView]=!0)}),Pe.image(e,function(n){u(n.bufferView)&&(t[n.bufferView]=!0)}),_r(e,"KHR_draco_mesh_compression")&&Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){u(i.extensions)&&u(i.extensions.KHR_draco_mesh_compression)&&(t[i.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),_r(e,"EXT_feature_metadata")){let i=e.extensions.EXT_feature_metadata.featureTables;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(u(s)){for(let a in s)if(s.hasOwnProperty(a)){let c=s[a];u(c.bufferView)&&(t[c.bufferView]=!0),u(c.arrayOffsetBufferView)&&(t[c.arrayOffsetBufferView]=!0),u(c.stringOffsetBufferView)&&(t[c.stringOffsetBufferView]=!0)}}}}if(_r(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTables;if(u(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let l=a[c];u(l.values)&&(t[l.values]=!0),u(l.arrayOffsets)&&(t[l.arrayOffsets]=!0),u(l.stringOffsets)&&(t[l.stringOffsets]=!0)}}}}return t};Ih.image=function(e){let t={};return Pe.texture(e,function(n){u(n.source)&&(t[n.source]=!0),u(n.extensions)&&u(n.extensions.EXT_texture_webp)?t[n.extensions.EXT_texture_webp.source]=!0:u(n.extensions)&&u(n.extensions.KHR_texture_basisu)&&(t[n.extensions.KHR_texture_basisu.source]=!0)}),t};Ih.mesh=function(e){let t={};return Pe.node(e,function(n){if(u(n.mesh&&u(e.meshes))){let i=e.meshes[n.mesh];u(i)&&u(i.primitives)&&i.primitives.length>0&&(t[n.mesh]=!0)}}),t};function qte(e,t,n){let i=e.nodes[t];return u(i.mesh)||u(i.camera)||u(i.skin)||u(i.weights)||u(i.extras)||u(i.extensions)&&Object.keys(i.extensions).length!==0||u(n[t])?!1:!u(i.children)||i.children.filter(function(o){return!qte(e,o,n)}).length===0}Ih.node=function(e){let t={};return Pe.skin(e,function(n){u(n.skeleton)&&(t[n.skeleton]=!0),Pe.skinJoint(n,function(i){t[i]=!0})}),Pe.animation(e,function(n){Pe.animationChannel(n,function(i){u(i.target)&&u(i.target.node)&&(t[i.target.node]=!0)})}),Pe.technique(e,function(n){Pe.techniqueUniform(n,function(i){u(i.node)&&(t[i.node]=!0)})}),Pe.node(e,function(n,i){qte(e,i,t)||(t[i]=!0)}),t};Ih.material=function(e){let t={};return Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){u(i.material)&&(t[i.material]=!0)})}),t};Ih.texture=function(e){let t={};if(Pe.material(e,function(n){wT(n,function(i){t[i]=!0})}),_r(e,"EXT_feature_metadata")){Pe.mesh(e,function(o){Pe.meshPrimitive(o,function(r){let s=r.extensions;if(u(s)&&u(s.EXT_feature_metadata)){let c=s.EXT_feature_metadata.featureIdTextures;if(u(c)){let l=c.length;for(let f=0;f<l;++f){let p=c[f].featureIds.texture;t[p.index]=!0}}}})});let i=e.extensions.EXT_feature_metadata.featureTextures;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(u(s)){for(let a in s)if(s.hasOwnProperty(a)){let l=s[a].texture;t[l.index]=!0}}}}if(_r(e,"EXT_mesh_features")&&Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){let o=i.extensions;if(u(o)&&u(o.EXT_mesh_features)){let s=o.EXT_mesh_features.featureIds;if(u(s)){let a=s.length;for(let c=0;c<a;++c){let l=s[c];u(l.texture)&&(t[l.texture.index]=!0)}}}})}),_r(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTextures;if(u(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let l=a[c];t[l.index]=!0}}}}return t};Ih.sampler=function(e){let t={};return Pe.texture(e,function(n){u(n.sampler)&&(t[n.sampler]=!0)}),t};var BP=YMe;function KMe(e,t){let n={byteLength:t.length,extras:{_pipeline:{source:t}}},o={buffer:rs(e.buffers,n),byteOffset:0,byteLength:t.length};return rs(e.bufferViews,o)}var MP=KMe;function ZMe(e,t){let n=dl(e,t),i=q.getSizeInBytes(t.componentType),o=Kl(t.type),r=t.count,s=new Array(o*r);if(!u(t.bufferView))return s.fill(0);let a=e.bufferViews[t.bufferView],c=e.buffers[a.buffer].extras._pipeline.source,l=t.byteOffset+a.byteOffset+c.byteOffset,f=new DataView(c.buffer),d=new Array(o),p=gp(t.componentType);for(let g=0;g<r;++g){p(f,l,o,i,d);for(let m=0;m<o;++m)s[g*o+m]=d[m];l+=n}return s}var LP=ZMe;function JMe(e){let t;return Pe.accessorWithSemantic(e,"JOINTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===ee.BYTE?vV(e,i,q.UNSIGNED_BYTE):t!==ee.UNSIGNED_BYTE&&t!==ee.UNSIGNED_SHORT&&vV(e,i,q.UNSIGNED_SHORT)}),Pe.accessorWithSemantic(e,"WEIGHTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===ee.BYTE?vV(e,i,q.UNSIGNED_BYTE):t===ee.SHORT&&vV(e,i,q.UNSIGNED_SHORT)}),e}function vV(e,t,n){let i=q.createTypedArray(n,LP(e,t)),o=new Uint8Array(i.buffer);t.bufferView=MP(e,o),t.componentType=n,t.byteOffset=0}var NP=JMe;function QMe(e,t){return hA(e,t),t==="CESIUM_RTC"&&$Me(e),y5(e,t)}function $Me(e){Pe.technique(e,function(t){Pe.techniqueUniform(t,function(n){n.semantic==="CESIUM_RTC_MODELVIEW"&&(n.semantic="MODELVIEW")})})}function y5(e,t){if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;++i)y5(e[i],t)}else if(e!==null&&typeof e=="object"&&e.constructor===Object){let n=e.extensions,i;u(n)&&(i=n[t],u(i)&&(delete n[t],Object.keys(n).length===0&&delete e.extensions));for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&y5(e[o],t);return i}}var pA=QMe;var wV={.8:rLe,"1.0":DLe,"2.0":void 0};function eLe(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.targetVersion,i=e.version;e.asset=y(e.asset,{version:"1.0"}),e.asset.version=y(e.asset.version,"1.0"),i=y(i,e.asset.version).toString(),Object.prototype.hasOwnProperty.call(wV,i)||(u(i)&&(i=i.substring(0,3)),Object.prototype.hasOwnProperty.call(wV,i)||(i="1.0"));let o=wV[i];for(;u(o)&&i!==n;)o(e,t),i=e.asset.version,o=wV[i];return t.keepLegacyExtensions||(ILe(e),PLe(e)),e}function Kte(e){let t=e.materials;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.instanceTechnique;u(o)&&(i.technique=o.technique,i.values=o.values,delete i.instanceTechnique)}}function tLe(e){let t=e.meshes;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let o=t[n].primitives;if(u(o)){let r=o.length;for(let s=0;s<r;++s){let a=o[s],c=y(a.primitive,ee.TRIANGLES);a.mode=y(a.mode,c),delete a.primitive}}}}function nLe(e){let t=e.nodes,n=new h,i=new Le;for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o];if(u(r.rotation)){let a=r.rotation;h.fromArray(a,0,n),Le.fromAxisAngle(n,a[3],i),r.rotation=[i.x,i.y,i.z,i.w]}let s=r.instanceSkin;u(s)&&(r.skeletons=s.skeletons,r.skin=s.skin,r.meshes=s.meshes,delete r.instanceSkin)}}function iLe(e){let t=e.animations,n=e.accessors,i=e.bufferViews,o=e.buffers,r={},s=new h,a=new Le;for(let c in t)if(Object.prototype.hasOwnProperty.call(t,c)){let l=t[c],f=l.channels,d=l.parameters,p=l.samplers;if(u(f)){let g=f.length;for(let m=0;m<g;++m){let A=f[m];if(A.target.path==="rotation"){let x=d[p[A.sampler].output];if(u(r[x]))continue;r[x]=!0;let C=n[x],T=i[C.bufferView],S=o[T.buffer].extras._pipeline.source,D=S.byteOffset+T.byteOffset+C.byteOffset,w=C.componentType,R=C.count,O=Kl(C.type),L=C.count*O,N=q.createArrayBufferView(w,S.buffer,D,L);for(let _=0;_<R;_++){let b=_*O;h.unpack(N,b,s);let v=N[b+3];Le.fromAxisAngle(s,v,a),Le.pack(a,N,b)}}}}}}function oLe(e){let t=e.techniques;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.passes;if(u(o)){let r=y(i.pass,"defaultPass");if(Object.prototype.hasOwnProperty.call(o,r)){let s=o[r],a=s.instanceProgram;i.attributes=y(i.attributes,a.attributes),i.program=y(i.program,a.program),i.uniforms=y(i.uniforms,a.uniforms),i.states=y(i.states,s.states)}delete i.passes,delete i.pass}}}function rLe(e){u(e.asset)||(e.asset={});let t=e.asset;if(t.version="1.0",typeof t.profile=="string"){let n=t.profile.split(" ");t.profile={api:n[0],version:n[1]}}else t.profile={};if(u(e.version)&&delete e.version,Kte(e),tLe(e),nLe(e),iLe(e),oLe(e),u(e.allExtensions)&&(e.extensionsUsed=e.allExtensions,delete e.allExtensions),u(e.lights)){let n=y(e.extensions,{});e.extensions=n;let i=y(n.KHR_materials_common,{});n.KHR_materials_common=i,i.lights=e.lights,delete e.lights,Yu(e,"KHR_materials_common")}}function sLe(e){let t=e.animations;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.parameters;if(u(o)){let r=i.samplers;for(let s in r)if(Object.prototype.hasOwnProperty.call(r,s)){let a=r[s];a.input=o[a.input],a.output=o[a.output]}delete i.parameters}}}function Xte(e,t){let n=[];for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let o=e[i];t[i]=n.length,n.push(o),u(o.name)||(o.name=i)}return n}function aLe(e){let t,n={accessors:{},animations:{},buffers:{},bufferViews:{},cameras:{},images:{},materials:{},meshes:{},nodes:{},programs:{},samplers:{},scenes:{},shaders:{},skins:{},textures:{},techniques:{}},i,o={},r=e.nodes;for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&(i=r[s].jointName,u(i)&&(o[i]=s));for(let s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&u(n[s])){let a={},c=e[s];e[s]=Xte(c,a),n[s]=a}for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(o[i]=n.nodes[o[i]]);u(e.scene)&&(e.scene=n.scenes[e.scene]),Pe.bufferView(e,function(s){u(s.buffer)&&(s.buffer=n.buffers[s.buffer])}),Pe.accessor(e,function(s){u(s.bufferView)&&(s.bufferView=n.bufferViews[s.bufferView])}),Pe.shader(e,function(s){let a=s.extensions;if(u(a)){let c=a.KHR_binary_glTF;u(c)&&(s.bufferView=n.bufferViews[c.bufferView],delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Pe.program(e,function(s){u(s.vertexShader)&&(s.vertexShader=n.shaders[s.vertexShader]),u(s.fragmentShader)&&(s.fragmentShader=n.shaders[s.fragmentShader])}),Pe.technique(e,function(s){u(s.program)&&(s.program=n.programs[s.program]),Pe.techniqueParameter(s,function(a){u(a.node)&&(a.node=n.nodes[a.node]);let c=a.value;typeof c=="string"&&(a.value={index:n.textures[c]})})}),Pe.mesh(e,function(s){Pe.meshPrimitive(s,function(a){u(a.indices)&&(a.indices=n.accessors[a.indices]),Pe.meshPrimitiveAttribute(a,function(c,l){a.attributes[l]=n.accessors[c]}),u(a.material)&&(a.material=n.materials[a.material])})}),Pe.node(e,function(s){let a=s.children;if(u(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}if(u(s.meshes)){let c=s.meshes,l=c.length;if(l>0)for(s.mesh=n.meshes[c[0]],t=1;t<l;++t){let f={mesh:n.meshes[c[t]]},d=rs(e.nodes,f);u(a)||(a=[],s.children=a),a.push(d)}delete s.meshes}if(u(s.camera)&&(s.camera=n.cameras[s.camera]),u(s.skin)&&(s.skin=n.skins[s.skin]),u(s.skeletons)){let c=s.skeletons;if(c.length>0&&u(s.skin)){let f=e.skins[s.skin];f.skeleton=n.nodes[c[0]]}delete s.skeletons}u(s.jointName)&&delete s.jointName}),Pe.skin(e,function(s){u(s.inverseBindMatrices)&&(s.inverseBindMatrices=n.accessors[s.inverseBindMatrices]);let a=s.jointNames;if(u(a)){let c=[],l=a.length;for(t=0;t<l;++t)c[t]=o[a[t]];s.joints=c,delete s.jointNames}}),Pe.scene(e,function(s){let a=s.nodes;if(u(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}}),Pe.animation(e,function(s){let a={};s.samplers=Xte(s.samplers,a),Pe.animationSampler(s,function(c){c.input=n.accessors[c.input],c.output=n.accessors[c.output]}),Pe.animationChannel(s,function(c){c.sampler=a[c.sampler];let l=c.target;u(l)&&(l.node=n.nodes[l.id],delete l.id)})}),Pe.material(e,function(s){u(s.technique)&&(s.technique=n.techniques[s.technique]),Pe.materialValue(s,function(c,l){typeof c=="string"&&(s.values[l]={index:n.textures[c]})});let a=s.extensions;if(u(a)){let c=a.KHR_materials_common;u(c)&&u(c.values)&&Pe.materialValue(c,function(l,f){typeof l=="string"&&(c.values[f]={index:n.textures[l]})})}}),Pe.image(e,function(s){let a=s.extensions;if(u(a)){let c=a.KHR_binary_glTF;u(c)&&(s.bufferView=n.bufferViews[c.bufferView],s.mimeType=c.mimeType,delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Pe.texture(e,function(s){u(s.sampler)&&(s.sampler=n.samplers[s.sampler]),u(s.source)&&(s.source=n.images[s.source])})}function cLe(e){Pe.animation(e,function(t){Pe.animationSampler(t,function(n){delete n.name})})}function lLe(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];Array.isArray(n)&&n.length===0&&delete e[t]}Pe.node(e,function(t){u(t.children)&&t.children.length===0&&delete t.children})}function uLe(e){let t=e.asset;delete t.profile,delete t.premultipliedAlpha}var fLe={CESIUM_RTC:!0,KHR_materials_common:!0,WEB3D_quantized_attributes:!0};function dLe(e){let t=e.extensionsUsed;if(e.extensionsRequired=y(e.extensionsRequired,[]),u(t)){let n=t.length;for(let i=0;i<n;++i){let o=t[i];u(fLe[o])&&e.extensionsRequired.push(o)}}}function hLe(e){Pe.buffer(e,function(t){delete t.type})}function mLe(e){Pe.texture(e,function(t){delete t.format,delete t.internalFormat,delete t.target,delete t.type})}function pLe(e){Pe.mesh(e,function(t){Pe.meshPrimitive(t,function(n){Pe.meshPrimitiveAttribute(n,function(i,o){o==="TEXCOORD"?n.attributes.TEXCOORD_0=i:o==="COLOR"&&(n.attributes.COLOR_0=i)}),delete n.attributes.TEXCOORD,delete n.attributes.COLOR})}),Pe.technique(e,function(t){Pe.techniqueParameter(t,function(n){let i=n.semantic;u(i)&&(i==="TEXCOORD"?n.semantic="TEXCOORD_0":i==="COLOR"&&(n.semantic="COLOR_0"))})})}var _Le={POSITION:!0,NORMAL:!0,TANGENT:!0},gLe={COLOR:"COLOR",JOINT:"JOINTS",JOINTS:"JOINTS",TEXCOORD:"TEXCOORD",WEIGHT:"WEIGHTS",WEIGHTS:"WEIGHTS"};function yLe(e){let t={};Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){Pe.meshPrimitiveAttribute(i,function(o,r){if(r.charAt(0)!=="_"){let s=r.search(/_[0-9]+/g),a=r,c="_0";s>=0&&(a=r.substring(0,s),c=r.substring(s));let l,f=gLe[a];u(f)?(l=f+c,t[r]=l):u(_Le[a])||(l=`_${r}`,t[r]=l)}});for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],s=i.attributes[o];u(s)&&(delete i.attributes[o],i.attributes[r]=s)}})}),Pe.technique(e,function(n){Pe.techniqueParameter(n,function(i){let o=t[i.semantic];u(o)&&(i.semantic=o)})})}function ALe(e){Pe.camera(e,function(t){let n=t.perspective;if(u(n)){let i=n.aspectRatio;u(i)&&i===0&&delete n.aspectRatio;let o=n.yfov;u(o)&&o===0&&(n.yfov=1)}})}function A5(e,t){return u(t.byteStride)&&t.byteStride!==0?t.byteStride:dl(e,t)}function xLe(e){Pe.buffer(e,function(t){u(t.byteLength)||(t.byteLength=t.extras._pipeline.source.length)}),Pe.accessor(e,function(t){let n=t.bufferView;if(u(n)){let i=e.bufferViews[n],o=A5(e,t),r=t.byteOffset+t.count*o;i.byteLength=Math.max(y(i.byteLength,0),r)}})}function CLe(e){let t,n,i,o=e.bufferViews,r={};Pe.accessorContainingVertexAttributeData(e,function(a){let c=e.accessors[a];u(c.bufferView)&&(r[c.bufferView]=!0)});let s={};Pe.accessor(e,function(a){u(a.bufferView)&&(s[a.bufferView]=y(s[a.bufferView],[]),s[a.bufferView].push(a))});for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a)){i=o[a];let c=s[a];c.sort(function(p,g){return p.byteOffset-g.byteOffset});let l=0,f=0,d=c.length;for(t=0;t<d;++t){let p=c[t],g=A5(e,p),m=p.byteOffset,A=p.count*g;delete p.byteStride;let x=t<d-1,C=x?A5(e,c[t+1]):void 0;if(g!==C){let T=Ge(i,!0);r[a]&&(T.byteStride=g),T.byteOffset+=l,T.byteLength=m+A-l;let E=rs(o,T);for(n=f;n<=t;++n)p=c[n],p.bufferView=E,p.byteOffset=p.byteOffset-l;l=x?c[t+1].byteOffset:void 0,f=t+1}}}BP(e,["accessor","bufferView","buffer"])}function TLe(e){Pe.accessorWithSemantic(e,"POSITION",function(t){let n=e.accessors[t];if(!u(n.min)||!u(n.max)){let i=mA(e,n);n.min=i.min,n.max=i.max}})}function Zte(e){return(!u(e.children)||e.children.length===0)&&(!u(e.meshes)||e.meshes.length===0)&&!u(e.camera)&&!u(e.skin)&&!u(e.skeletons)&&!u(e.jointName)&&(!u(e.translation)||h.fromArray(e.translation).equals(h.ZERO))&&(!u(e.scale)||h.fromArray(e.scale).equals(new h(1,1,1)))&&(!u(e.rotation)||oe.fromArray(e.rotation).equals(new oe(0,0,0,1)))&&(!u(e.matrix)||M.fromColumnMajorArray(e.matrix).equals(M.IDENTITY))&&!u(e.extensions)&&!u(e.extras)}function Jte(e,t){Pe.scene(e,function(n){let i=n.nodes;if(u(i)){let o=i.length;for(let r=o;r>=0;--r)if(i[r]===t){i.splice(r,1);return}}}),Pe.node(e,function(n,i){if(u(n.children)){let o=n.children.indexOf(t);o>-1&&(n.children.splice(o,1),Zte(n)&&Jte(e,i))}}),delete e.nodes[t]}function ELe(e){return Pe.node(e,function(t,n){Zte(t)&&Jte(e,n)}),e}function bLe(e){Pe.animation(e,function(t){Pe.animationSampler(t,function(n){let i=e.accessors[n.input];if(!u(i.min)||!u(i.max)){let o=mA(e,i);i.min=o.min,i.max=o.max}})})}function SLe(e){Pe.accessor(e,function(t){if(u(t.min)||u(t.max)){let n=mA(e,t);u(t.min)&&(t.min=n.min),u(t.max)&&(t.max=n.max)}})}function DLe(e){e.asset=y(e.asset,{}),e.asset.version="2.0",Kte(e),sLe(e),ELe(e),aLe(e),cLe(e),uLe(e),dLe(e),xLe(e),CLe(e),TLe(e),bLe(e),SLe(e),hLe(e),mLe(e),pLe(e),yLe(e),NP(e),ALe(e),PP(e),RP(e),lLe(e)}var vLe=["u_tex","u_diffuse","u_emission"],wLe=["u_diffuse"];function x5(e){e.pbrMetallicRoughness=u(e.pbrMetallicRoughness)?e.pbrMetallicRoughness:{},e.pbrMetallicRoughness.roughnessFactor=1,e.pbrMetallicRoughness.metallicFactor=0}function IV(e){return u(e.index)}function PV(e){return Array.isArray(e)&&e.length===4}function Qte(e){let t=new Array(4);t[3]=e[3];for(let n=0;n<3;n++){let i=e[n];i<=.04045?t[n]=e[n]*.07739938080495357:t[n]=Math.pow((i+.055)*.9478672985781991,2.4)}return t}function ILe(e){Pe.material(e,function(t){Pe.materialValue(t,function(n,i){vLe.indexOf(i)!==-1&&IV(n)?(x5(t),t.pbrMetallicRoughness.baseColorTexture=n):wLe.indexOf(i)!==-1&&PV(n)&&(x5(t),t.pbrMetallicRoughness.baseColorFactor=Qte(n))})}),pA(e,"KHR_techniques_webgl"),pA(e,"KHR_blend")}function PLe(e){Pe.material(e,function(t){let n=y(t.extensions,y.EMPTY_OBJECT).KHR_materials_common;if(u(n)){n.technique==="CONSTANT"&&(Yu(e,"KHR_materials_unlit"),t.extensions=u(t.extensions)?t.extensions:{},t.extensions.KHR_materials_unlit={});let o=u(n.values)?n.values:{},r=o.ambient,s=o.diffuse,a=o.emission,c=o.transparency,l=n.doubleSided,f=n.transparent;x5(t),u(r)&&(PV(r)?t.emissiveFactor=r.slice(0,3):IV(r)&&(t.emissiveTexture=r)),u(s)&&(PV(s)?t.pbrMetallicRoughness.baseColorFactor=Qte(s):IV(s)&&(t.pbrMetallicRoughness.baseColorTexture=s)),u(l)&&(t.doubleSided=l),u(a)&&(PV(a)?t.emissiveFactor=a.slice(0,3):IV(a)&&(t.emissiveTexture=a)),u(c)&&(u(t.pbrMetallicRoughness.baseColorFactor)?t.pbrMetallicRoughness.baseColorFactor[3]*=c:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,c]),u(f)&&(t.alphaMode=f?"BLEND":"OPAQUE")}}),pA(e,"KHR_materials_common")}var FP=eLe;function Ag(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltfResource,i=e.baseResource,o=e.typedArray,r=e.gltfJson,s=e.cacheKey;this._resourceCache=t,this._gltfResource=n,this._baseResource=i,this._typedArray=o,this._gltfJson=r,this._cacheKey=s,this._gltf=void 0,this._bufferLoaders=[],this._state=Ut.UNLOADED,this._promise=void 0}u(Object.create)&&(Ag.prototype=Object.create(no.prototype),Ag.prototype.constructor=Ag);Object.defineProperties(Ag.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},gltf:{get:function(){return this._gltf}}});Ag.prototype.load=function(){this._state=Ut.LOADING;let e;u(this._gltfJson)?e=$te(this,this._gltfJson):u(this._typedArray)?e=ene(this,this._typedArray):e=OLe(this);let t=this;return this._promise=e.then(function(n){if(!t.isDestroyed())return t._gltf=n,t._state=Ut.READY,t}).catch(function(n){if(!t.isDestroyed())return RLe(t,n)}),this._promise};function OLe(e){return e._fetchGltf().then(function(t){if(e.isDestroyed())return;let n=new Uint8Array(t);return ene(e,n)})}function RLe(e,t){e.unload(),e._state=Ut.FAILED;let n=`Failed to load glTF: ${e._gltfResource.url}`;return Promise.reject(e.getError(n,t))}function BLe(e,t){if(u(t.asset)&&t.asset.version==="2.0"&&!_r(t,"KHR_techniques_webgl")&&!_r(t,"KHR_materials_common"))return Promise.resolve();let n=[];return Pe.buffer(t,function(i){if(!u(i.extras._pipeline.source)&&u(i.uri)){let o=e._baseResource.getDerivedResource({url:i.uri}),s=e._resourceCache.loadExternalBuffer({resource:o});e._bufferLoaders.push(s),n.push(s.promise.then(function(a){i.extras._pipeline.source=a.typedArray}))}}),Promise.all(n).then(function(){FP(t)})}function MLe(e){let t=[];return Pe.buffer(e,function(n){let i=n.uri;!u(n.extras._pipeline.source)&&u(i)&&Vm(i)&&(delete n.uri,t.push(Oe.fetchArrayBuffer(i).then(function(o){n.extras._pipeline.source=new Uint8Array(o)})))}),Promise.all(t)}function LLe(e,t){let n=[];return Pe.buffer(t,function(i,o){let r=i.extras._pipeline.source;if(u(r)&&!u(i.uri)){let a=e._resourceCache.loadEmbeddedBuffer({parentResource:e._gltfResource,bufferId:o,typedArray:r});e._bufferLoaders.push(a),n.push(a.promise)}}),Promise.all(n)}function $te(e,t){return yg(t),MLe(t).then(function(){return BLe(e,t)}).then(function(){return DP(t),LLe(e,t)}).then(function(){return IP(t),t})}function ene(e,t){let n;return od(t)==="glTF"?n=wP(t):n=Oo(t),$te(e,n)}Ag.prototype.unload=function(){let e=this._bufferLoaders,t=e.length;for(let n=0;n<t;++n)this._resourceCache.unload(e[n]);this._bufferLoaders.length=0,this._gltf=void 0};Ag.prototype._fetchGltf=function(){return this._gltfResource.fetchArrayBuffer()};var IT=Ag;var NLe={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"},Ph=Object.freeze(NLe);var Yo={};function FLe(){this.octEncoded=!1,this.octEncodedZXY=!1,this.normalizationRange=void 0,this.quantizedVolumeOffset=void 0,this.quantizedVolumeDimensions=void 0,this.quantizedVolumeStepSize=void 0,this.componentDatatype=void 0,this.type=void 0}function VLe(){this.name=void 0,this.semantic=void 0,this.setIndex=void 0,this.componentDatatype=void 0,this.type=void 0,this.normalized=!1,this.count=void 0,this.min=void 0,this.max=void 0,this.constant=void 0,this.quantization=void 0,this.typedArray=void 0,this.buffer=void 0,this.byteOffset=0,this.byteStride=void 0}function ULe(){this.indexDatatype=void 0,this.count=void 0,this.buffer=void 0,this.typedArray=void 0}function kLe(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.setIndex=void 0,this.label=void 0,this.positionalLabel=void 0}function zLe(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.offset=0,this.repeat=void 0,this.label=void 0,this.positionalLabel=void 0}function HLe(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.textureReader=void 0,this.label=void 0,this.positionalLabel=void 0}function GLe(){this.attributes=[]}function WLe(){this.attributes=[],this.morphTargets=[],this.indices=void 0,this.material=void 0,this.primitiveType=void 0,this.featureIds=[],this.propertyTextureIds=[],this.propertyAttributeIds=[],this.outlineCoordinates=void 0}function jLe(){this.attributes=[],this.featureIds=[],this.transformInWorldSpace=!1}function YLe(){this.index=void 0,this.joints=[],this.inverseBindMatrices=[]}function qLe(){this.name=void 0,this.index=void 0,this.children=[],this.primitives=[],this.instances=void 0,this.skin=void 0,this.matrix=void 0,this.translation=void 0,this.rotation=void 0,this.scale=void 0,this.morphWeights=[],this.articulationName=void 0}function XLe(){this.nodes=[]}var KLe={TRANSLATION:"translation",ROTATION:"rotation",SCALE:"scale",WEIGHTS:"weights"};function ZLe(){this.input=[],this.interpolation=void 0,this.output=[]}function JLe(){this.node=void 0,this.path=void 0}function QLe(){this.sampler=void 0,this.target=void 0}function $Le(){this.name=void 0,this.samplers=[],this.channels=[]}function eNe(){this.name=void 0,this.type=void 0,this.minimumValue=void 0,this.maximumValue=void 0,this.initialValue=void 0}function tNe(){this.name=void 0,this.stages=[]}function tne(){this.credits=[]}function nNe(){this.asset=new tne,this.scene=void 0,this.nodes=[],this.skins=[],this.animations=[],this.articulations=[],this.structuralMetadata=void 0,this.upAxis=void 0,this.forwardAxis=void 0,this.transform=M.clone(M.IDENTITY)}function iNe(){this.texture=void 0,this.index=void 0,this.texCoord=0,this.transform=Z.clone(Z.IDENTITY),this.channels=void 0}function xg(){this.baseColorTexture=void 0,this.metallicRoughnessTexture=void 0,this.baseColorFactor=oe.clone(xg.DEFAULT_BASE_COLOR_FACTOR),this.metallicFactor=xg.DEFAULT_METALLIC_FACTOR,this.roughnessFactor=xg.DEFAULT_ROUGHNESS_FACTOR}xg.DEFAULT_BASE_COLOR_FACTOR=oe.ONE;xg.DEFAULT_METALLIC_FACTOR=1;xg.DEFAULT_ROUGHNESS_FACTOR=1;function _A(){this.diffuseTexture=void 0,this.specularGlossinessTexture=void 0,this.diffuseFactor=oe.clone(_A.DEFAULT_DIFFUSE_FACTOR),this.specularFactor=h.clone(_A.DEFAULT_SPECULAR_FACTOR),this.glossinessFactor=_A.DEFAULT_GLOSSINESS_FACTOR}_A.DEFAULT_DIFFUSE_FACTOR=oe.ONE;_A.DEFAULT_SPECULAR_FACTOR=h.ONE;_A.DEFAULT_GLOSSINESS_FACTOR=1;function C5(){this.metallicRoughness=new xg,this.specularGlossiness=void 0,this.emissiveTexture=void 0,this.normalTexture=void 0,this.occlusionTexture=void 0,this.emissiveFactor=h.clone(C5.DEFAULT_EMISSIVE_FACTOR),this.alphaMode=Ph.OPAQUE,this.alphaCutoff=.5,this.doubleSided=!1,this.unlit=!1}C5.DEFAULT_EMISSIVE_FACTOR=h.ZERO;Yo.Quantization=FLe;Yo.Attribute=VLe;Yo.Indices=ULe;Yo.FeatureIdAttribute=kLe;Yo.FeatureIdTexture=HLe;Yo.FeatureIdImplicitRange=zLe;Yo.MorphTarget=GLe;Yo.Primitive=WLe;Yo.Instances=jLe;Yo.Skin=YLe;Yo.Node=qLe;Yo.Scene=XLe;Yo.AnimatedPropertyType=Object.freeze(KLe);Yo.AnimationSampler=ZLe;Yo.AnimationTarget=JLe;Yo.AnimationChannel=QLe;Yo.Animation=$Le;Yo.ArticulationStage=eNe;Yo.Articulation=tNe;Yo.Asset=tne;Yo.Components=nNe;Yo.TextureReader=iNe;Yo.MetallicRoughness=xg;Yo.SpecularGlossiness=_A;Yo.Material=C5;var Rt=Yo;var OV={};OV.getImageIdFromTexture=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.textureId,i=e.supportedImageFormats,o=t.textures[n],r=o.extensions;if(u(r)){if(i.webp&&u(r.EXT_texture_webp))return r.EXT_texture_webp.source;if(i.basis&&u(r.KHR_texture_basisu))return r.KHR_texture_basisu.source}return o.source};OV.createSampler=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.textureInfo,i=y(e.compressedTextureNoMipmap,!1),o=vn.REPEAT,r=vn.REPEAT,s=an.LINEAR,a=yi.LINEAR,c=n.index,f=t.textures[c].sampler;if(u(f)){let g=t.samplers[f];o=y(g.wrapS,o),r=y(g.wrapT,r),s=y(g.minFilter,s),a=y(g.magFilter,a)}let d=!1,p=n.extensions;return u(p)&&u(p.KHR_texture_transform)&&(d=!0),(i||d)&&s!==an.LINEAR&&s!==an.NEAREST&&(s===an.NEAREST_MIPMAP_NEAREST||s===an.NEAREST_MIPMAP_LINEAR?s=an.NEAREST:s=an.LINEAR),new ln({wrapS:o,wrapT:r,minificationFilter:s,magnificationFilter:a})};var oNe=new H(1,1);OV.createModelTextureReader=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureInfo,n=e.channels,i=e.texture,o=y(t.texCoord,0),r,s=y(t.extensions,y.EMPTY_OBJECT).KHR_texture_transform;if(u(s)){o=y(s.texCoord,o);let c=u(s.offset)?H.unpack(s.offset):H.ZERO,l=y(s.rotation,0),f=u(s.scale)?H.unpack(s.scale):oNe;l=-l,r=new Z(Math.cos(l)*f.x,-Math.sin(l)*f.y,c.x,Math.sin(l)*f.x,Math.cos(l)*f.y,c.y,0,0,1)}let a=new Rt.TextureReader;return a.index=t.index,a.texture=i,a.texCoord=o,a.transform=r,a.channels=n,a};var hl=OV;function rNe(e){let t=document.createElement("canvas");return t.width=P.nextPowerOfTwo(e.width),t.height=P.nextPowerOfTwo(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),t}var Cg=rNe;function Tg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.textureInfo,o=e.gltfResource,r=e.baseResource,s=e.supportedImageFormats,a=e.cacheKey,c=y(e.asynchronous,!0),l=i.index,f=hl.getImageIdFromTexture({gltf:n,textureId:l,supportedImageFormats:s});this._resourceCache=t,this._gltf=n,this._textureInfo=i,this._imageId=f,this._gltfResource=o,this._baseResource=r,this._cacheKey=a,this._asynchronous=c,this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._state=Ut.UNLOADED,this._promise=void 0,this._process=function(d,p){}}u(Object.create)&&(Tg.prototype=Object.create(no.prototype),Tg.prototype.constructor=Tg);Object.defineProperties(Tg.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},texture:{get:function(){return this._texture}}});var sNe=new T5;Tg.prototype.load=function(){let t=this._resourceCache.loadImage({gltf:this._gltf,imageId:this._imageId,gltfResource:this._gltfResource,baseResource:this._baseResource});this._imageLoader=t,this._state=Ut.LOADING;let n=this,i=new Promise(function(o){n._process=function(r,s){if(u(r._texture)||!u(r._image))return;let a;if(r._asynchronous){let c=sNe;if(c.set(r._gltf,r._textureInfo,r._image,r._mipLevels,s.context),!s.jobScheduler.execute(c,fa.TEXTURE))return;a=c.texture}else a=nne(r._gltf,r._textureInfo,r._image,r._mipLevels,s.context);r.unload(),r._texture=a,r._state=Ut.READY,o(r)}});return this._promise=t.promise.then(function(){if(!n.isDestroyed())return n._image=t.image,n._mipLevels=t.mipLevels,n._state=Ut.PROCESSING,i}).catch(function(o){if(n.isDestroyed())return;n.unload(),n._state=Ut.FAILED;let r="Failed to load texture";return Promise.reject(n.getError(r,o))}),this._promise};function T5(){this.gltf=void 0,this.textureInfo=void 0,this.image=void 0,this.context=void 0,this.texture=void 0}T5.prototype.set=function(e,t,n,i,o){this.gltf=e,this.textureInfo=t,this.image=n,this.mipLevels=i,this.context=o};T5.prototype.execute=function(){this.texture=nne(this.gltf,this.textureInfo,this.image,this.mipLevels,this.context)};function nne(e,t,n,i,o){let r=n.internalFormat,s=!1;rt.isCompressedFormat(r)&&!u(i)&&(s=!0);let a=hl.createSampler({gltf:e,textureInfo:t,compressedTextureNoMipmap:s}),c=a.minificationFilter,l=a.wrapS,f=a.wrapT,d=c===an.NEAREST_MIPMAP_NEAREST||c===an.NEAREST_MIPMAP_LINEAR||c===an.LINEAR_MIPMAP_NEAREST||c===an.LINEAR_MIPMAP_LINEAR,p=!u(r)&&d,g=p||l===vn.REPEAT||l===vn.MIRRORED_REPEAT||f===vn.REPEAT||f===vn.MIRRORED_REPEAT,m=!P.isPowerOfTwo(n.width)||!P.isPowerOfTwo(n.height),A=g&&m,x;return u(r)?(!o.webgl2&&rt.isCompressedFormat(r)&&m&&g&&console.warn("Compressed texture uses REPEAT or MIRRORED_REPEAT texture wrap mode and dimensions are not powers of two. The texture may be rendered incorrectly."),x=It.create({context:o,source:{arrayBufferView:n.bufferView,mipLevels:i},width:n.width,height:n.height,pixelFormat:n.internalFormat,sampler:a})):(A&&(n=Cg(n)),x=It.create({context:o,source:n,sampler:a,flipY:!1,skipColorSpaceConversion:!0})),p&&x.generateMipmap(),x}Tg.prototype.process=function(e){return this._process(this,e)};Tg.prototype.unload=function(){u(this._texture)&&this._texture.destroy(),u(this._imageLoader)&&this._resourceCache.unload(this._imageLoader),this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._gltf=void 0};var PT=Tg;function Eg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.gltfResource,o=e.baseResource,r=e.bufferViewId,s=e.draco,a=e.attributeSemantic,c=e.accessorId,l=e.cacheKey,f=y(e.asynchronous,!0),d=y(e.loadBuffer,!1),p=y(e.loadTypedArray,!1);this._resourceCache=t,this._gltfResource=i,this._baseResource=o,this._gltf=n,this._bufferViewId=r,this._draco=s,this._attributeSemantic=a,this._accessorId=c,this._cacheKey=l,this._asynchronous=f,this._loadBuffer=d,this._loadTypedArray=p,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._quantization=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=Ut.UNLOADED,this._promise=void 0,this._process=function(g,m){}}u(Object.create)&&(Eg.prototype=Object.create(no.prototype),Eg.prototype.constructor=Eg);Object.defineProperties(Eg.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},quantization:{get:function(){return this._quantization}}});function aNe(e,t){return u(e)&&u(e.attributes)&&u(e.attributes[t])}Eg.prototype.load=function(){let e;aNe(this._draco,this._attributeSemantic)?e=lNe(this):e=uNe(this);let t=this,n=new E5,i=new Promise(function(o){t._process=function(r,s){if(r._state===Ut.READY)return;let a=r._typedArray;if(u(r._dracoLoader)&&r._dracoLoader.process(s),u(r._bufferViewLoader)&&r._bufferViewLoader.process(s),!u(a))return;let c;if(r._loadBuffer&&r._asynchronous){let l=n;if(l.set(a,s.context),!s.jobScheduler.execute(l,fa.BUFFER))return;c=l.buffer}else r._loadBuffer&&(c=ine(a,s.context));r.unload(),r._buffer=c,r._typedArray=r._loadTypedArray?a:void 0,r._state=Ut.READY,o(r)}});return this._promise=e.then(function(){if(!t.isDestroyed())return i}).catch(function(o){if(!t.isDestroyed())return fNe(t,o)}),this._promise};function cNe(e,t,n,i){let r=(1<<e.quantizationBits)-1,s=1/r,a=new Rt.Quantization;if(a.componentDatatype=t,a.octEncoded=e.octEncoded,a.octEncodedZXY=!0,a.type=i,a.octEncoded)a.type=rn.VEC2,a.normalizationRange=r;else{let c=rn.getMathType(i);if(c===Number){let l=e.range;a.quantizedVolumeOffset=e.minValues[0],a.quantizedVolumeDimensions=l,a.normalizationRange=r,a.quantizedVolumeStepSize=l*s}else{a.quantizedVolumeOffset=c.unpack(e.minValues),a.normalizationRange=c.unpack(new Array(n).fill(r));let l=new Array(n).fill(e.range);a.quantizedVolumeDimensions=c.unpack(l);let f=l.map(function(d){return d*s});a.quantizedVolumeStepSize=c.unpack(f)}}return a}function lNe(e){let n=e._resourceCache.loadDraco({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,e._state=Ut.LOADING,n.promise.then(function(){if(e.isDestroyed())return;let i=n.decodedData.vertexAttributes,o=e._attributeSemantic,r=i[o],s=e._accessorId,c=e._gltf.accessors[s].type,l=r.array,f=r.data.quantization;return u(f)&&(e._quantization=cNe(f,r.data.componentDatatype,r.data.componentsPerAttribute,c)),e._typedArray=new Uint8Array(l.buffer,l.byteOffset,l.byteLength),e._state=Ut.PROCESSING,e})}function uNe(e){let n=e._resourceCache.loadBufferView({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._state=Ut.LOADING,e._bufferViewLoader=n,n.promise.then(function(){if(!e.isDestroyed())return e._typedArray=n.typedArray,e._state=Ut.PROCESSING,e})}function fNe(e,t){e.unload(),e._state=Ut.FAILED;let n="Failed to load vertex buffer";return t=e.getError(n,t),Promise.reject(t)}function E5(){this.typedArray=void 0,this.context=void 0,this.buffer=void 0}E5.prototype.set=function(e,t){this.typedArray=e,this.context=t};E5.prototype.execute=function(){this.buffer=ine(this.typedArray,this.context)};function ine(e,t){let n=lt.createVertexBuffer({typedArray:e,context:t,usage:Ne.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}Eg.prototype.process=function(e){return this._process(this,e)};Eg.prototype.unload=function(){u(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;u(this._bufferViewLoader)&&e.unload(this._bufferViewLoader),u(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var OT=Eg;function VP(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=y(e.properties,{}),i={};for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];u(r.semantic)&&(i[r.semantic]=r)}this._id=t,this._name=e.name,this._description=e.description,this._properties=n,this._propertiesBySemantic=i,this._extras=Ge(e.extras,!0),this._extensions=Ge(e.extensions,!0)}VP.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.class,i={};for(let o in n.properties)if(n.properties.hasOwnProperty(o)){let r=hg.fromJson({id:o,property:n.properties[o],enums:e.enums});i[o]=r}return new VP({id:t,name:n.name,description:n.description,properties:i,extras:n.extras,extensions:n.extensions})};Object.defineProperties(VP.prototype,{properties:{get:function(){return this._properties}},propertiesBySemantic:{get:function(){return this._propertiesBySemantic}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});VP.BATCH_TABLE_CLASS_NAME="_batchTable";var ad=VP;function RV(e){e=y(e,y.EMPTY_OBJECT);let t=e.value,n=e.name;this._value=t,this._name=n,this._description=e.description,this._extras=Ge(e.extras,!0),this._extensions=Ge(e.extensions,!0)}RV.fromJson=function(e){return new RV({value:e.value,name:e.name,description:e.description,extras:e.extras,extensions:e.extensions})};Object.defineProperties(RV.prototype,{value:{get:function(){return this._value}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var UP=RV;function BV(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.values,i={},o={},r=n.length;for(let a=0;a<r;++a){let c=n[a];i[c.value]=c.name,o[c.name]=c.value}let s=y(e.valueType,tn.UINT16);this._values=n,this._namesByValue=i,this._valuesByName=o,this._valueType=s,this._id=t,this._name=e.name,this._description=e.description,this._extras=Ge(e.extras,!0),this._extensions=Ge(e.extensions,!0)}BV.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.enum,i=n.values.map(function(o){return UP.fromJson(o)});return new BV({id:t,values:i,valueType:tn[n.valueType],name:n.name,description:n.description,extras:n.extras,extensions:n.extensions})};Object.defineProperties(BV.prototype,{values:{get:function(){return this._values}},namesByValue:{get:function(){return this._namesByValue}},valuesByName:{get:function(){return this._valuesByName}},valueType:{get:function(){return this._valueType}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var kP=BV;function MV(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.classes,{}),n=y(e.enums,{});this._classes=t,this._enums=n,this._id=e.id,this._name=e.name,this._description=e.description,this._version=e.version,this._extras=Ge(e.extras,!0),this._extensions=Ge(e.extensions,!0)}MV.fromJson=function(e){let t={};if(u(e.enums))for(let i in e.enums)e.enums.hasOwnProperty(i)&&(t[i]=kP.fromJson({id:i,enum:e.enums[i]}));let n={};if(u(e.classes))for(let i in e.classes)e.classes.hasOwnProperty(i)&&(n[i]=ad.fromJson({id:i,class:e.classes[i],enums:t}));return new MV({id:e.id,name:e.name,description:e.description,version:e.version,classes:n,enums:t,extras:e.extras,extensions:e.extensions})};Object.defineProperties(MV.prototype,{classes:{get:function(){return this._classes}},enums:{get:function(){return this._enums}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},version:{get:function(){return this._version}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var cd=MV;function gA(e){e=y(e,y.EMPTY_OBJECT);let t=e.schema,n=e.resource,i=e.cacheKey;this._schema=u(t)?cd.fromJson(t):void 0,this._resource=n,this._cacheKey=i,this._state=Ut.UNLOADED,this._promise=void 0}u(Object.create)&&(gA.prototype=Object.create(no.prototype),gA.prototype.constructor=gA);Object.defineProperties(gA.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},schema:{get:function(){return this._schema}}});gA.prototype.load=function(){return u(this._schema)?this._promise=Promise.resolve(this):this._promise=dNe(this),this._promise};function dNe(e){let t=e._resource;return e._state=Ut.LOADING,t.fetchJson().then(function(n){if(!e.isDestroyed())return e._schema=cd.fromJson(n),e._state=Ut.READY,e}).catch(function(n){if(e.isDestroyed())return;e._state=Ut.FAILED;let i=`Failed to load schema: ${t.url}`;return Promise.reject(e.getError(i,n))})}gA.prototype.unload=function(){this._schema=void 0};var RT=gA;var ld={};function zP(e){return Fm(e.url)}function LV(e){let t=e.byteOffset,n=e.byteLength;if(ai(e,"EXT_meshopt_compression")){let i=e.extensions.EXT_meshopt_compression;t=y(i.byteOffset,0),n=i.byteLength}return`${t}-${t+n}`}function hNe(e,t){let n=t.byteOffset+e.byteOffset,i=e.componentType,o=e.type,r=e.count;return`${n}-${i}-${o}-${r}`}function one(e){return zP(e)}function rne(e,t){return`${zP(e)}-buffer-id-${t}`}function HP(e,t,n,i){if(u(e.uri)){let o=i.getDerivedResource({url:e.uri});return one(o)}return rne(n,t)}function b5(e,t,n,i){let o=t.bufferView,r=e.bufferViews[o],s=r.buffer,a=e.buffers[s],c=HP(a,s,n,i),l=LV(r);return`${c}-range-${l}`}function sne(e,t,n,i){let o=e.images[t],r=o.bufferView,s=o.uri;if(u(s)){let p=i.getDerivedResource({url:s});return zP(p)}let a=e.bufferViews[r],c=a.buffer,l=e.buffers[c],f=HP(l,c,n,i),d=LV(a);return`${f}-range-${d}`}function mNe(e,t){let n=hl.createSampler({gltf:e,textureInfo:t});return`${n.wrapS}-${n.wrapT}-${n.minificationFilter}-${n.magnificationFilter}`}ld.getSchemaCacheKey=function(e){let t=e.schema,n=e.resource;return u(t)?`embedded-schema:${JSON.stringify(t)}`:`external-schema:${zP(n)}`};ld.getExternalBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.resource;return`external-buffer:${one(t)}`};ld.getEmbeddedBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.parentResource,n=e.bufferId;return`embedded-buffer:${rne(t,n)}`};ld.getGltfCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltfResource;return`gltf:${zP(t)}`};ld.getBufferViewCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.bufferViewId,i=e.gltfResource,o=e.baseResource,r=t.bufferViews[n],s=r.buffer,a=t.buffers[s];ai(r,"EXT_meshopt_compression")&&(s=r.extensions.EXT_meshopt_compression.buffer);let c=HP(a,s,i,o),l=LV(r);return`buffer-view:${c}-range-${l}`};ld.getDracoCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.draco,i=e.gltfResource,o=e.baseResource;return`draco:${b5(t,n,i,o)}`};ld.getVertexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.gltfResource,i=e.baseResource,o=e.frameState,r=e.bufferViewId,s=e.draco,a=e.attributeSemantic,c=y(e.dequantize,!1),l=y(e.loadBuffer,!1),f=y(e.loadTypedArray,!1),d="";if(c&&(d+="-dequantize"),l&&(d+="-buffer",d+=`-context-${o.context.id}`),f&&(d+="-typed-array"),u(s))return`vertex-buffer:${b5(t,s,n,i)}-draco-${a}${d}`;let p=t.bufferViews[r],g=p.buffer,m=t.buffers[g],A=HP(m,g,n,i),x=LV(p);return`vertex-buffer:${A}-range-${x}${d}`};ld.getIndexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.accessorId,i=e.gltfResource,o=e.baseResource,r=e.frameState,s=e.draco,a=y(e.loadBuffer,!1),c=y(e.loadTypedArray,!1),l="";if(a&&(l+="-buffer",l+=`-context-${r.context.id}`),c&&(l+="-typed-array"),u(s))return`index-buffer:${b5(t,s,i,o)}-draco${l}`;let f=t.accessors[n],d=f.bufferView,p=t.bufferViews[d],g=p.buffer,m=t.buffers[g],A=HP(m,g,i,o),x=hNe(f,p);return`index-buffer:${A}-accessor-${x}${l}`};ld.getImageCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.imageId,i=e.gltfResource,o=e.baseResource;return`image:${sne(t,n,i,o)}`};ld.getTextureCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.textureInfo,i=e.gltfResource,o=e.baseResource,r=e.supportedImageFormats,s=e.frameState,a=n.index,c=hl.getImageIdFromTexture({gltf:t,textureId:a,supportedImageFormats:r}),l=sne(t,c,i,o),f=mNe(t,n);return`texture:${l}-sampler-${f}-context-${s.context.id}`};var ml=ld;function GP(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}}GP.prototype.clear=function(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}};GP.prototype.addGeometryLoader=function(e){let t=e.cacheKey;if(this._geometrySizes.hasOwnProperty(t))return;this._geometrySizes[t]=0;let n=this;return e.promise.then(function(i){if(!n._geometrySizes.hasOwnProperty(t))return;let o=i.buffer,r=i.typedArray,s=0;u(o)&&(s+=o.sizeInBytes),u(r)&&(s+=r.byteLength),n.geometryByteLength+=s,n._geometrySizes[t]=s}).catch(function(){delete n._geometrySizes[t]})};GP.prototype.addTextureLoader=function(e){let t=e.cacheKey;if(this._textureSizes.hasOwnProperty(t))return;this._textureSizes[t]=0;let n=this;return e.promise.then(function(i){if(!n._textureSizes.hasOwnProperty(t))return;let o=i.texture.sizeInBytes;n.texturesByteLength+=i.texture.sizeInBytes,n._textureSizes[t]=o}).catch(function(){delete n._textureSizes[t]})};GP.prototype.removeLoader=function(e){let t=e.cacheKey,n=this._geometrySizes[t];delete this._geometrySizes[t],u(n)&&(this.geometryByteLength-=n);let i=this._textureSizes[t];delete this._textureSizes[t],u(i)&&(this.texturesByteLength-=i)};var WP=GP;function xn(){}xn.cacheEntries={};xn.statistics=new WP;function pNe(e){this.referenceCount=1,this.resourceLoader=e,this._statisticsPromise=void 0}xn.get=function(e){let t=xn.cacheEntries[e];if(u(t))return++t.referenceCount,t.resourceLoader};xn.load=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceLoader,n=t.cacheKey;xn.cacheEntries[n]=new pNe(t),t.load()};xn.unload=function(e){let t=e.cacheKey,n=xn.cacheEntries[t];--n.referenceCount,n.referenceCount===0&&(xn.statistics.removeLoader(e),e.destroy(),delete xn.cacheEntries[t])};xn.loadSchema=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.schema,n=e.resource,i=ml.getSchemaCacheKey({schema:t,resource:n}),o=xn.get(i);return u(o)||(o=new RT({schema:t,resource:n,cacheKey:i}),xn.load({resourceLoader:o})),o};xn.loadEmbeddedBuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.parentResource,n=e.bufferId,i=e.typedArray,o=ml.getEmbeddedBufferCacheKey({parentResource:t,bufferId:n}),r=xn.get(o);return u(r)||(r=new uA({typedArray:i,cacheKey:o}),xn.load({resourceLoader:r})),r};xn.loadExternalBuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.resource,n=ml.getExternalBufferCacheKey({resource:t}),i=xn.get(n);return u(i)||(i=new uA({resource:t,cacheKey:n}),xn.load({resourceLoader:i})),i};xn.loadGltfJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltfResource,n=e.baseResource,i=e.typedArray,o=e.gltfJson,r=ml.getGltfCacheKey({gltfResource:t}),s=xn.get(r);return u(s)||(s=new IT({resourceCache:xn,gltfResource:t,baseResource:n,typedArray:i,gltfJson:o,cacheKey:r}),xn.load({resourceLoader:s})),s};xn.loadBufferView=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.bufferViewId,i=e.gltfResource,o=e.baseResource,r=ml.getBufferViewCacheKey({gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}),s=xn.get(r);return u(s)||(s=new bT({resourceCache:xn,gltf:t,bufferViewId:n,gltfResource:i,baseResource:o,cacheKey:r}),xn.load({resourceLoader:s})),s};xn.loadDraco=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.draco,i=e.gltfResource,o=e.baseResource,r=ml.getDracoCacheKey({gltf:t,draco:n,gltfResource:i,baseResource:o}),s=xn.get(r);return u(s)||(s=new ST({resourceCache:xn,gltf:t,draco:n,gltfResource:i,baseResource:o,cacheKey:r}),xn.load({resourceLoader:s})),s};xn.loadVertexBuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.gltfResource,i=e.baseResource,o=e.frameState,r=e.bufferViewId,s=e.draco,a=e.attributeSemantic,c=e.accessorId,l=y(e.asynchronous,!0),f=y(e.dequantize,!1),d=y(e.loadBuffer,!1),p=y(e.loadTypedArray,!1),g=ml.getVertexBufferCacheKey({gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,dequantize:f,loadBuffer:d,loadTypedArray:p}),m=xn.get(g);if(u(m))return m;m=new OT({resourceCache:xn,gltf:t,gltfResource:n,baseResource:i,bufferViewId:r,draco:s,attributeSemantic:a,accessorId:c,cacheKey:g,asynchronous:l,dequantize:f,loadBuffer:d,loadTypedArray:p}),xn.load({resourceLoader:m});let A=xn.statistics.addGeometryLoader(m);return xn.cacheEntries[g]._statisticsPromise=A,m};xn.loadIndexBuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.accessorId,i=e.gltfResource,o=e.baseResource,r=e.frameState,s=e.draco,a=y(e.asynchronous,!0),c=y(e.loadBuffer,!1),l=y(e.loadTypedArray,!1),f=ml.getIndexBufferCacheKey({gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,loadBuffer:c,loadTypedArray:l}),d=xn.get(f);if(u(d))return d;d=new vT({resourceCache:xn,gltf:t,accessorId:n,gltfResource:i,baseResource:o,draco:s,cacheKey:f,asynchronous:a,loadBuffer:c,loadTypedArray:l}),xn.load({resourceLoader:d});let p=xn.statistics.addGeometryLoader(d);return xn.cacheEntries[f]._statisticsPromise=p,d};xn.loadImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.imageId,i=e.gltfResource,o=e.baseResource,r=ml.getImageCacheKey({gltf:t,imageId:n,gltfResource:i,baseResource:o}),s=xn.get(r);return u(s)||(s=new DT({resourceCache:xn,gltf:t,imageId:n,gltfResource:i,baseResource:o,cacheKey:r}),xn.load({resourceLoader:s})),s};xn.loadTexture=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.textureInfo,i=e.gltfResource,o=e.baseResource,r=e.supportedImageFormats,s=e.frameState,a=y(e.asynchronous,!0),c=ml.getTextureCacheKey({gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s}),l=xn.get(c);if(u(l))return l;l=new PT({resourceCache:xn,gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,cacheKey:c,asynchronous:a}),xn.load({resourceLoader:l});let f=xn.statistics.addTextureLoader(l);return xn.cacheEntries[c]._statisticsPromise=f,l};xn.clearForSpecs=function(){let e=[OT,vT,ST,PT,DT,bT,uA,RT,IT],t,n=xn.cacheEntries,i=[];for(t in n)n.hasOwnProperty(t)&&i.push(n[t]);i.sort(function(r,s){let a=e.indexOf(r.resourceLoader.constructor),c=e.indexOf(s.resourceLoader.constructor);return a-c});let o=i.length;for(let r=0;r<o;++r){let s=i[r];t=s.resourceLoader.cacheKey,u(n[t])&&(s.resourceLoader.destroy(),delete n[t])}xn.statistics.clear()};var Ui=xn;function Ha(e,t,n,i,o){this._resource=e,this._subtreeJson=void 0,this._bufferLoader=void 0,this._tileAvailability=void 0,this._contentAvailabilityBitstreams=[],this._childSubtreeAvailability=void 0,this._implicitCoordinates=o,this._subtreeLevels=i.subtreeLevels,this._subdivisionScheme=i.subdivisionScheme,this._branchingFactor=i.branchingFactor,this._metadata=void 0,this._tileMetadataTable=void 0,this._tilePropertyTableJson=void 0,this._contentMetadataTables=[],this._contentPropertyTableJsons=[],this._tileJumpBuffer=void 0,this._contentJumpBuffers=[],this._readyPromise=_Ne(this,t,n,i)}Object.defineProperties(Ha.prototype,{readyPromise:{get:function(){return this._readyPromise}},metadata:{get:function(){return this._metadata}},tileMetadataTable:{get:function(){return this._tileMetadataTable}},tilePropertyTableJson:{get:function(){return this._tilePropertyTableJson}},contentMetadataTables:{get:function(){return this._contentMetadataTables}},contentPropertyTableJsons:{get:function(){return this._contentPropertyTableJsons}},implicitCoordinates:{get:function(){return this._implicitCoordinates}}});Ha.prototype.tileIsAvailableAtIndex=function(e){return this._tileAvailability.getBit(e)};Ha.prototype.tileIsAvailableAtCoordinates=function(e){let t=this.getTileIndex(e);return this.tileIsAvailableAtIndex(t)};Ha.prototype.contentIsAvailableAtIndex=function(e,t){return t=y(t,0),this._contentAvailabilityBitstreams[t].getBit(e)};Ha.prototype.contentIsAvailableAtCoordinates=function(e,t){let n=this.getTileIndex(e);return this.contentIsAvailableAtIndex(n,t)};Ha.prototype.childSubtreeIsAvailableAtIndex=function(e){return this._childSubtreeAvailability.getBit(e)};Ha.prototype.childSubtreeIsAvailableAtCoordinates=function(e){let t=this.getChildSubtreeIndex(e);return this.childSubtreeIsAvailableAtIndex(t)};Ha.prototype.getLevelOffset=function(e){let t=this._branchingFactor;return(Math.pow(t,e)-1)/(t-1)};Ha.prototype.getParentMortonIndex=function(e){let t=2;return this._subdivisionScheme===kr.OCTREE&&(t=3),e>>t};function _Ne(e,t,n,i){let o;u(t)?o={json:t,binary:void 0}:o=gNe(n);let r=o.json;e._subtreeJson=r;let s;if(ai(r,"3DTILES_metadata"))s=r.extensions["3DTILES_metadata"];else if(u(r.tileMetadata)){let m=r.tileMetadata;s=r.propertyTables[m]}let a=[];if(u(r.contentMetadata)){let m=r.contentMetadata.length;for(let A=0;A<m;A++){let x=r.contentMetadata[A];a.push(r.propertyTables[x])}}let c,l=i.metadataSchema,f=r.subtreeMetadata;if(u(f)){let m=f.class,A=l.classes[m];c=new EP({subtreeMetadata:f,class:A})}e._metadata=c,e._tilePropertyTableJson=s,e._contentPropertyTableJsons=a;let d={constant:0};r.contentAvailabilityHeaders=[],ai(r,"3DTILES_multiple_contents")?r.contentAvailabilityHeaders=r.extensions["3DTILES_multiple_contents"].contentAvailability:Array.isArray(r.contentAvailability)?r.contentAvailabilityHeaders=r.contentAvailability:r.contentAvailabilityHeaders.push(y(r.contentAvailability,d));let p=yNe(r.buffers),g=ANe(r.bufferViews,p);xNe(r,g),u(s)&&ane(s,g);for(let m=0;m<a.length;m++){let A=a[m];ane(A,g)}return CNe(e,p,o.binary).then(function(m){let A=ENe(g,m);return bNe(e,r,i,A),u(s)&&(SNe(e,i,A),vNe(e)),DNe(e,i,A),wNe(e),e})}function gNe(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Oo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}function yNe(e){e=u(e)?e:[];for(let t=0;t<e.length;t++){let n=e[t];n.isExternal=u(n.uri),n.isActive=!1}return e}function ANe(e,t){e=u(e)?e:[];for(let n=0;n<e.length;n++){let i=e[n],o=t[i.buffer];i.bufferHeader=o,i.isActive=!1}return e}function xNe(e,t){let n,i=e.tileAvailability;u(i.bitstream)?n=t[i.bitstream]:u(i.bufferView)&&(n=t[i.bufferView]),u(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);let o=e.contentAvailabilityHeaders;for(let s=0;s<o.length;s++)n=void 0,u(o[s].bitstream)?n=t[o[s].bitstream]:u(o[s].bufferView)&&(n=t[o[s].bufferView]),u(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);n=void 0;let r=e.childSubtreeAvailability;u(r.bitstream)?n=t[r.bitstream]:u(r.bufferView)&&(n=t[r.bufferView]),u(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0)}function ane(e,t){let n=e.properties,i;for(let o in n)if(n.hasOwnProperty(o)){let r=n[o],s=y(r.values,r.bufferView);i=t[s],i.isActive=!0,i.bufferHeader.isActive=!0;let a=y(r.stringOffsets,r.stringOffsetBufferView);u(a)&&(i=t[a],i.isActive=!0,i.bufferHeader.isActive=!0);let c=y(r.arrayOffsets,r.arrayOffsetBufferView);u(c)&&(i=t[c],i.isActive=!0,i.bufferHeader.isActive=!0)}}function CNe(e,t,n){let i=[];for(let o=0;o<t.length;o++){let r=t[o];if(!r.isActive)i.push(Promise.resolve(void 0));else if(r.isExternal){let s=TNe(e,r);i.push(s)}else i.push(Promise.resolve(n))}return Promise.all(i).then(function(o){let r={};for(let s=0;s<o.length;s++){let a=o[s];u(a)&&(r[s]=a)}return r})}function TNe(e,t){let i=e._resource.getDerivedResource({url:t.uri}),o=Ui.loadExternalBuffer({resource:i});return e._bufferLoader=o,o.promise.then(function(r){return r.typedArray})}function ENe(e,t){let n={};for(let i=0;i<e.length;i++){let o=e[i];if(!o.isActive)continue;let r=o.byteOffset,s=r+o.byteLength,c=t[o.buffer].subarray(r,s);n[i]=c}return n}function bNe(e,t,n,i){let o=n.branchingFactor,r=n.subtreeLevels,s=(Math.pow(o,r)-1)/(o-1),a=Math.pow(o,r),c=ai(t,"3DTILES_metadata"),l=u(e._tilePropertyTableJson),f=c||l;e._tileAvailability=S5(t.tileAvailability,i,s,f);let d=e._contentPropertyTableJsons.length>0;f=f||d;for(let p=0;p<t.contentAvailabilityHeaders.length;p++){let g=S5(t.contentAvailabilityHeaders[p],i,s,f);e._contentAvailabilityBitstreams.push(g)}e._childSubtreeAvailability=S5(t.childSubtreeAvailability,i,a)}function S5(e,t,n,i){if(u(e.constant))return new TT({constant:Boolean(e.constant),lengthBits:n,availableCount:e.availableCount});let o;return u(e.bitstream)?o=t[e.bitstream]:u(e.bufferView)&&(o=t[e.bufferView]),new TT({bitstream:o,lengthBits:n,availableCount:e.availableCount,computeAvailableCountEnabled:i})}function SNe(e,t,n){let i=e._tilePropertyTableJson,o=e._tileAvailability.availableCount,r=t.metadataSchema,s=i.class,a=r.classes[s];e._tileMetadataTable=new fl({class:a,count:o,properties:i.properties,bufferViews:n})}function DNe(e,t,n){let i=e._contentPropertyTableJsons,o=e._contentAvailabilityBitstreams,r=t.metadataSchema,s=e._contentMetadataTables;for(let a=0;a<i.length;a++){let c=i[a],f=o[a].availableCount,d=c.class,p=r.classes[d],g=new fl({class:p,count:f,properties:c.properties,bufferViews:n});s.push(g)}}function cne(e){let t=0,n=e.lengthBits,i=e.availableCount,o;i<256?o=new Uint8Array(n):i<65536?o=new Uint16Array(n):o=new Uint32Array(n);for(let r=0;r<e.lengthBits;r++)e.getBit(r)&&(o[r]=t,t++);return o}function vNe(e){let t=cne(e._tileAvailability);e._tileJumpBuffer=t}function wNe(e){let t=e._contentJumpBuffers,n=e._contentAvailabilityBitstreams;for(let i=0;i<n.length;i++){let o=n[i],r=cne(o);t.push(r)}}Ha.prototype.getTileIndex=function(e){let t=e.level-this._implicitCoordinates.level;if(t<0||this._subtreeLevels<=t)throw new ue("level is out of bounds for this subtree");return e.getSubtreeCoordinates().getOffsetCoordinates(e).tileIndex};Ha.prototype.getChildSubtreeIndex=function(e){if(e.level-this._implicitCoordinates.level!==this._implicitCoordinates.subtreeLevels)throw new ue("level is out of bounds for this subtree");return e.getParentSubtreeCoordinates().getOffsetCoordinates(e).mortonIndex};function INe(e,t){if(!u(e._tileMetadataTable))return;let n=e.getTileIndex(t);if(e._tileAvailability.getBit(n))return e._tileJumpBuffer[n]}function PNe(e,t,n){let i=e._contentMetadataTables;if(!u(i))return;let o=i[n];if(!u(o))return;let r=e._contentAvailabilityBitstreams[n],s=e.getTileIndex(t);if(r.getBit(s))return e._contentJumpBuffers[n][s]}Ha.prototype.getTileMetadataView=function(e){let t=INe(this,e);if(!u(t))return;let n=this._tileMetadataTable;return new ET({class:n.class,metadataTable:n,entityId:t,propertyTableJson:this._tilePropertyTableJson})};Ha.prototype.getContentMetadataView=function(e,t){let n=PNe(this,e,t);if(!u(n))return;let i=this._contentMetadataTables[t],o=this._contentPropertyTableJsons[t];return new ET({class:i.class,metadataTable:i,entityId:n,contentIndex:t,propertyTableJson:o})};Ha.prototype.isDestroyed=function(){return!1};Ha.prototype.destroy=function(){return u(this._bufferLoader)&&Ui.unload(this._bufferLoader),le(this)};var yA=Ha;var ONe={ID:"ID",NAME:"NAME",DESCRIPTION:"DESCRIPTION",TILESET_TILE_COUNT:"TILESET_TILE_COUNT",TILE_BOUNDING_BOX:"TILE_BOUNDING_BOX",TILE_BOUNDING_REGION:"TILE_BOUNDING_REGION",TILE_BOUNDING_SPHERE:"TILE_BOUNDING_SPHERE",TILE_MINIMUM_HEIGHT:"TILE_MINIMUM_HEIGHT",TILE_MAXIMUM_HEIGHT:"TILE_MAXIMUM_HEIGHT",TILE_HORIZON_OCCLUSION_POINT:"TILE_HORIZON_OCCLUSION_POINT",TILE_GEOMETRIC_ERROR:"TILE_GEOMETRIC_ERROR",CONTENT_BOUNDING_BOX:"CONTENT_BOUNDING_BOX",CONTENT_BOUNDING_REGION:"CONTENT_BOUNDING_REGION",CONTENT_BOUNDING_SPHERE:"CONTENT_BOUNDING_SPHERE",CONTENT_MINIMUM_HEIGHT:"CONTENT_MINIMUM_HEIGHT",CONTENT_MAXIMUM_HEIGHT:"CONTENT_MAXIMUM_HEIGHT",CONTENT_HORIZON_OCCLUSION_POINT:"CONTENT_HORIZON_OCCLUSION_POINT"},AA=Object.freeze(ONe);function RNe(e){return{tile:{boundingVolume:lne("TILE",e),minimumHeight:une("TILE",e),maximumHeight:fne("TILE",e)},content:{boundingVolume:lne("CONTENT",e),minimumHeight:une("CONTENT",e),maximumHeight:fne("CONTENT",e)}}}function lne(e,t){let n=`${e}_BOUNDING_BOX`,i=t.getPropertyBySemantic(n);if(u(i))return{box:i};let o=`${e}_BOUNDING_REGION`,r=t.getPropertyBySemantic(o);if(u(r))return{region:r};let s=`${e}_BOUNDING_SPHERE`,a=t.getPropertyBySemantic(s);if(u(a))return{sphere:a}}function une(e,t){let n=`${e}_MINIMUM_HEIGHT`;return t.getPropertyBySemantic(n)}function fne(e,t){let n=`${e}_MAXIMUM_HEIGHT`;return t.getPropertyBySemantic(n)}var jP=RNe;function qu(e,t,n,i,o,r){let s=t.implicitTileset,a=t.implicitCoordinates;this._implicitTileset=s,this._implicitCoordinates=a,this._implicitSubtree=void 0,this._tileset=e,this._tile=t,this._resource=n,this._metadata=void 0,this.featurePropertiesDirty=!1,this._group=void 0;let c=a.getTemplateValues(),l=s.subtreeUriTemplate.getDerivedResource({templateValues:c});this._url=l.getUrlComponent(!0),this._readyPromise=BNe(this,i,o,r)}Object.defineProperties(qu.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._url}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function BNe(e,t,n,i){i=y(i,0);let o;u(n)&&(o=new Uint8Array(n,i));let r=new yA(e._resource,t,o,e._implicitTileset,e._implicitCoordinates);return e._implicitSubtree=r,r.readyPromise.then(function(){return MNe(e,r),e})}function MNe(e,t){let n=e._tile,i=e._implicitCoordinates.childIndex,o=NNe(e,t,n,i),r=e._tileset.statistics;n.children.push(o.rootTile),r.numberOfTilesTotal++;let s=LNe(e,t,o.bottomRow);for(let a=0;a<s.length;a++){let c=s[a],l=c.tile,f=jNe(e,l,c.childIndex);l.children.push(f),r.numberOfTilesTotal++}}function LNe(e,t,n){let i=[],o=e._implicitTileset.branchingFactor;for(let r=0;r<n.length;r++){let s=n[r];if(u(s))for(let a=0;a<o;a++){let c=r*o+a;t.childSubtreeIsAvailableAtIndex(c)&&i.push({tile:s,childIndex:a})}}return i}function NNe(e,t,n,i){let s=dne(e,t,n,i,0,!0),a=e._tileset.statistics,c=[s],l=[],f=e._implicitTileset;for(let d=1;d<f.subtreeLevels;d++){let p=t.getLevelOffset(d),g=f.branchingFactor*c.length;for(let m=0;m<g;m++){let A=p+m;if(!t.tileIsAvailableAtIndex(A)){l.push(void 0);continue}let x=t.getParentMortonIndex(m),C=c[x],T=m%f.branchingFactor,E=dne(e,t,C,T,A);C.children.push(E),a.numberOfTilesTotal++,l.push(E)}c=l,l=[]}return{rootTile:s,bottomRow:c}}function hne(e,t,n){let i=AA.TILE_GEOMETRIC_ERROR;return u(e)&&e.hasPropertyBySemantic(i)?e.getPropertyBySemantic(i):t.geometricError/Math.pow(2,n.level)}function dne(e,t,n,i,o,r){let s=e._implicitTileset,a;y(r,!1)?a=n.implicitCoordinates:a=n.implicitCoordinates.getChildCoordinates(i);let c,l,f;if(u(t.tilePropertyTableJson)){c=t.getTileMetadataView(a);let w=jP(c);l=w.tile,f=w.content}let p=t.contentPropertyTableJsons.length,g=!1;for(let w=0;w<p;w++)if(t.contentIsAvailableAtCoordinates(a,w)){g=!0;break}let m=UNe(s,a,i,r,n,l),A=[];for(let w=0;w<s.contentCount;w++){if(!t.contentIsAvailableAtIndex(o,w))continue;let L={uri:s.contentUriTemplates[w].getDerivedResource({templateValues:a.getTemplateValues()}).url},N=kNe(m,f);u(N)&&(L.boundingVolume=N),A.push(_t(L,s.contentHeaders[w]))}let x=hne(c,s,a),C={boundingVolume:m,geometricError:x,refine:s.refine,contents:A},T=!0,E=Ge(s.tileHeader,T);delete E.boundingVolume,delete E.transform;let S=_t(C,E,T),D=yne(e,s.baseResource,S,n);return D.implicitCoordinates=a,D.implicitSubtree=t,D.metadata=c,D.hasImplicitContentMetadata=g,D}function NV(e,t){return u(e)&&u(t)&&(u(t.minimumHeight)||u(t.maximumHeight))&&(ai(e,"3DTILES_bounding_volume_S2")||u(e.region))}function v5(e,t){u(t)&&(ai(e,"3DTILES_bounding_volume_S2")?VNe(e.extensions["3DTILES_bounding_volume_S2"],t.minimumHeight,t.maximumHeight):u(e.region)&&FNe(e.region,t.minimumHeight,t.maximumHeight))}function FNe(e,t,n){u(t)&&(e[4]=t),u(n)&&(e[5]=n)}function VNe(e,t,n){u(t)&&(e.minimumHeight=t),u(n)&&(e.maximumHeight=n)}function UNe(e,t,n,i,o,r){let s;return!u(r)||!u(r.boundingVolume)||!NV(r.boundingVolume,r)&&NV(e.boundingVolume,r)?s=mne(e,t,n,y(i,!1),o):s=r.boundingVolume,v5(s,r),s}function kNe(e,t){let n;return u(t)&&(n=t.boundingVolume),NV(n,t)?v5(n,t):NV(e,t)&&(n=Ge(e,!0),v5(n,t)),n}function mne(e,t,n,i,o){let r=e.boundingVolume;return ai(r,"3DTILES_bounding_volume_S2")?pne(i,o,n,t.level,t.x,t.y,t.z):u(r.region)?{region:gne(r.region,t.level,t.x,t.y,t.z)}:{box:_ne(r.box,t.level,t.x,t.y,t.z)}}function pne(e,t,n,i,o,r,s){let a=t._boundingVolume;if(e)return{extensions:{"3DTILES_bounding_volume_S2":{token:fp.getTokenFromId(a.s2Cell._cellId),minimumHeight:a.minimumHeight,maximumHeight:a.maximumHeight}}};let c=Number(t._boundingVolume.s2Cell._cellId>>BigInt(61)),l=c%2===0?xT.encode2D(i,o,r):xT.encode2D(i,r,o),f=fp.fromFacePositionLevel(c,BigInt(l),i),d,p;if(u(s)){let g=(a.maximumHeight+a.minimumHeight)/2;d=n<4?a.minimumHeight:g,p=n<4?g:a.maximumHeight}else d=a.minimumHeight,p=a.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:fp.getTokenFromId(f._cellId),minimumHeight:d,maximumHeight:p}}}}var zNe=new h,HNe=new h,D5=new h,GNe=new Z;function _ne(e,t,n,i,o){if(t===0)return e;let r=h.unpack(e,0,HNe),s=Z.unpack(e,3,GNe),a=Math.pow(2,-t),c=-1+(2*n+1)*a,l=-1+(2*i+1)*a,f=0,d=h.fromElements(a,a,1,zNe);u(o)&&(f=-1+(2*o+1)*a,d.z=a);let p=h.fromElements(c,l,f,D5);p=Z.multiplyByVector(s,p,D5),p=h.add(p,r,D5);let g=Z.clone(s);g=Z.multiplyByScale(g,d,g);let m=new Array(12);return h.pack(p,m),Z.pack(g,m,3),m}var WNe=new ce;function gne(e,t,n,i,o){if(t===0)return e.slice();let r=ce.unpack(e,0,WNe),s=e[4],a=e[5],c=Math.pow(2,-t),l=c*r.width,f=P.negativePiToPi(r.west+n*l),d=P.negativePiToPi(f+l),p=c*r.height,g=P.negativePiToPi(r.south+i*p),m=P.negativePiToPi(g+p),A=s,x=a;if(u(o)){let C=c*(a-s);A+=o*C,x=A+C}return[f,g,d,m,A,x]}function jNe(e,t,n){let i=e._implicitTileset,o=t.implicitCoordinates.getChildCoordinates(n),r=mne(i,o,n,!1,t),s=hne(void 0,i,o),a=i.subtreeUriTemplate.getDerivedResource({templateValues:o.getTemplateValues()}).url,c={boundingVolume:r,geometricError:s,refine:i.refine,contents:[{uri:a}]},l=yne(e,i.baseResource,c,t);return l.implicitTileset=i,l.implicitCoordinates=o,l}function yne(e,t,n,i){let o=e._tile.constructor;return new o(e._tileset,t,n,i)}qu.prototype.hasProperty=function(e,t){return!1};qu.prototype.getFeature=function(e){};qu.prototype.applyDebugSettings=function(e,t){};qu.prototype.applyStyle=function(e){};qu.prototype.update=function(e,t){};qu.prototype.isDestroyed=function(){return!1};qu.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),le(this)};qu._deriveBoundingBox=_ne;qu._deriveBoundingRegion=gne;qu._deriveBoundingVolumeS2=pne;var BT=qu;var YNe={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},Ga=Object.freeze(YNe);function MT(e,t){this._distance=t,this._normal=new Ane(e,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties(MT.prototype,{distance:{get:function(){return this._distance},set:function(e){u(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){u(this.onChangeCallback)&&!h.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),h.clone(e,this._normal._cartesian3)}}});MT.fromPlane=function(e,t){return u(t)?(t.normal=e.normal,t.distance=e.distance):t=new MT(e.normal,e.distance),t};MT.clone=function(e,t){return u(t)?(t.normal=e.normal,t.distance=e.distance,t):new MT(e.normal,e.distance)};function Ane(e,t){this._clippingPlane=t,this._cartesian3=h.clone(e)}Object.defineProperties(Ane.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){u(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){u(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){u(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}});var xA=MT;function Wa(e){e=y(e,y.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=y(e.enabled,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this.edgeColor=z.clone(y(e.edgeColor,z.WHITE)),this.edgeWidth=y(e.edgeWidth,0),this.planeAdded=new Ae,this.planeRemoved=new Ae,this._owner=void 0;let t=y(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?bne:Sne,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let n=e.planes;if(u(n)){let i=n.length;for(let o=0;o<i;++o)this.add(n[o])}}function bne(e){return e===Qt.OUTSIDE}function Sne(e){return e===Qt.INSIDE}Object.defineProperties(Wa.prototype,{length:{get:function(){return this._planes.length}},unionClippingRegions:{get:function(){return this._unionClippingRegions},set:function(e){this._unionClippingRegions!==e&&(this._unionClippingRegions=e,this._testIntersection=e?bne:Sne)}},enabled:{get:function(){return this._enabled},set:function(e){this._enabled!==e&&(this._enabled=e)}},texture:{get:function(){return this._clippingPlanesTexture}},owner:{get:function(){return this._owner}},clippingPlanesState:{get:function(){return this._unionClippingRegions?this._planes.length:-this._planes.length}}});function xne(e,t){e._multipleDirtyPlanes=e._multipleDirtyPlanes||e._dirtyIndex!==-1&&e._dirtyIndex!==t,e._dirtyIndex=t}Wa.prototype.add=function(e){let t=this._planes.length,n=this;e.onChangeCallback=function(i){xne(n,i)},e.index=t,xne(this,t),this._planes.push(e),this.planeAdded.raiseEvent(e,t)};Wa.prototype.get=function(e){return this._planes[e]};function Dne(e,t){let n=e.length;for(let i=0;i<n;++i)if(cn.equals(e[i],t))return i;return-1}Wa.prototype.contains=function(e){return Dne(this._planes,e)!==-1};Wa.prototype.remove=function(e){let t=this._planes,n=Dne(t,e);if(n===-1)return!1;e instanceof xA&&(e.onChangeCallback=void 0,e.index=-1);let i=t.length-1;for(let o=n;o<i;++o){let r=t[o+1];t[o]=r,r instanceof xA&&(r.index=o)}return this._multipleDirtyPlanes=!0,t.length=i,this.planeRemoved.raiseEvent(e,n),!0};Wa.prototype.removeAll=function(){let e=this._planes,t=e.length;for(let n=0;n<t;++n){let i=e[n];i instanceof xA&&(i.onChangeCallback=void 0,i.index=-1),this.planeRemoved.raiseEvent(i,n)}this._multipleDirtyPlanes=!0,this._planes=[]};var qNe=new oe,XNe=new oe;function Cne(e,t,n){let i=e._uint8View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=Gn.octEncodeToCartesian4(a.normal,XNe);i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=c.w;let l=oe.packFloat(a.distance,qNe);i[r+4]=l.x,i[r+5]=l.y,i[r+6]=l.z,i[r+7]=l.w,r+=8}}function Tne(e,t,n){let i=e._float32View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=a.normal;i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=a.distance,r+=4}}function vne(e,t){let n=Ft.maximumTextureSize;return t.x=Math.min(e,n),t.y=Math.ceil(e/t.x),t}var KNe=new H;Wa.prototype.update=function(e){let t=this._clippingPlanesTexture,n=e.context,i=Wa.useFloatTexture(n),o=i?this.length:this.length*2;if(u(t)){let s=t.width*t.height;(s<o||o<.25*s)&&(t.destroy(),t=void 0,this._clippingPlanesTexture=void 0)}if(this.length===0)return;if(!u(t)){let s=vne(o,KNe);s.y*=2,i?(t=new It({context:n,width:s.x,height:s.y,pixelFormat:rt.RGBA,pixelDatatype:Xe.FLOAT,sampler:ln.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*4)):(t=new It({context:n,width:s.x,height:s.y,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,sampler:ln.NEAREST,flipY:!1}),this._uint8View=new Uint8Array(s.x*s.y*4)),this._clippingPlanesTexture=t,this._multipleDirtyPlanes=!0}let r=this._dirtyIndex;if(!(!this._multipleDirtyPlanes&&r===-1)){if(this._multipleDirtyPlanes)i?(Tne(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._float32View}})):(Cne(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._uint8View}}));else{let s=0,a=0;i?(a=Math.floor(r/t.width),s=Math.floor(r-a*t.width),Tne(this,r,r+1),t.copyFrom({source:{width:1,height:1,arrayBufferView:this._float32View},xOffset:s,yOffset:a})):(a=Math.floor(r*2/t.width),s=Math.floor(r*2-a*t.width),Cne(this,r,r+1),t.copyFrom({source:{width:2,height:1,arrayBufferView:this._uint8View},xOffset:s,yOffset:a}))}this._multipleDirtyPlanes=!1,this._dirtyIndex=-1}};var ZNe=new M,Ene=new cn(h.UNIT_X,0);Wa.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._planes,i=n.length,o=this.modelMatrix;u(t)&&(o=M.multiply(t,o,ZNe));let r=Qt.INSIDE;!this.unionClippingRegions&&i>0&&(r=Qt.OUTSIDE);for(let s=0;s<i;++s){let a=n[s];cn.transform(a,o,Ene);let c=e.intersectPlane(Ene);if(c===Qt.INTERSECTING)r=c;else if(this._testIntersection(c))return c}return r};Wa.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),u(e)&&(e._owner=t,t[n]=e))};Wa.useFloatTexture=function(e){return e.floatingPointTexture};Wa.getTextureResolution=function(e,t,n){let i=e.texture;if(u(i))return n.x=i.width,n.y=i.height,n;let o=Wa.useFloatTexture(t)?e.length:e.length*2,r=vne(o,n);return r.y*=2,r};Wa.prototype.isDestroyed=function(){return!1};Wa.prototype.destroy=function(){return this._clippingPlanesTexture=this._clippingPlanesTexture&&this._clippingPlanesTexture.destroy(),le(this)};var ss=Wa;var YP={HIGHLIGHT:0,REPLACE:1,MIX:2};YP.getColorBlend=function(e,t){if(e===YP.HIGHLIGHT)return 0;if(e===YP.REPLACE)return 1;if(e===YP.MIX)return P.clamp(t,P.EPSILON4,1)};var ja=Object.freeze(YP);var JNe={XTRANSLATE:"xTranslate",YTRANSLATE:"yTranslate",ZTRANSLATE:"zTranslate",XROTATE:"xRotate",YROTATE:"yRotate",ZROTATE:"zRotate",XSCALE:"xScale",YSCALE:"yScale",ZSCALE:"zScale",UNIFORMSCALE:"uniformScale"},Ya=Object.freeze(JNe);var QNe={STEP:0,LINEAR:1,CUBICSPLINE:2},ud=Object.freeze(QNe);var wne={};function qP(e){this._count=e.count,this._properties=Ge(e.properties,!0)}qP.prototype.hasProperty=function(e){return Nn.hasProperty(e,this._properties,wne)};qP.prototype.getPropertyIds=function(e){return Nn.getPropertyIds(this._properties,wne,e)};qP.prototype.getProperty=function(e,t){let n=this._properties[t];if(u(n))return Ge(n[e],!0)};qP.prototype.setProperty=function(e,t,n){let i=this._properties[t];u(i)||(i=new Array(this._count),this._properties[t]=i),i[e]=Ge(n,!0)};var yp=qP;function qa(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._id=e.id,this._count=e.count,this._extras=e.extras,this._extensions=e.extensions,this._metadataTable=e.metadataTable,this._jsonMetadataTable=e.jsonMetadataTable,this._batchTableHierarchy=e.batchTableHierarchy}Object.defineProperties(qa.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},count:{get:function(){return this._count}},class:{get:function(){if(u(this._metadataTable))return this._metadataTable.class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){let e=0;return u(this._metadataTable)&&(e+=this._metadataTable.byteLength),u(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e}}});qa.prototype.hasProperty=function(e,t){return!!(u(this._metadataTable)&&this._metadataTable.hasProperty(t)||u(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)||u(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(t))};qa.prototype.hasPropertyBySemantic=function(e,t){return u(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(t):!1};qa.prototype.propertyExists=function(e){return!!(u(this._metadataTable)&&this._metadataTable.hasProperty(e)||u(this._batchTableHierarchy)&&this._batchTableHierarchy.propertyExists(e)||u(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(e))};qa.prototype.propertyExistsBySemantic=function(e){return u(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(e):!1};var w5=[];qa.prototype.getPropertyIds=function(e,t){return t=u(t)?t:[],t.length=0,u(this._metadataTable)&&t.push.apply(t,this._metadataTable.getPropertyIds(w5)),u(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,w5)),u(this._jsonMetadataTable)&&t.push.apply(t,this._jsonMetadataTable.getPropertyIds(w5)),t};qa.prototype.getProperty=function(e,t){let n;if(u(this._metadataTable)&&(n=this._metadataTable.getProperty(e,t),u(n))||u(this._batchTableHierarchy)&&(n=this._batchTableHierarchy.getProperty(e,t),u(n))||u(this._jsonMetadataTable)&&(n=this._jsonMetadataTable.getProperty(e,t),u(n)))return n};qa.prototype.setProperty=function(e,t,n){u(this._metadataTable)&&this._metadataTable.setProperty(e,t,n)||u(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n)||(u(this._jsonMetadataTable)||(this._jsonMetadataTable=new yp({count:this._count,properties:{}})),this._jsonMetadataTable.setProperty(e,t,n))};qa.prototype.getPropertyBySemantic=function(e,t){if(u(this._metadataTable))return this._metadataTable.getPropertyBySemantic(e,t)};qa.prototype.setPropertyBySemantic=function(e,t,n){return u(this._metadataTable)?this._metadataTable.setPropertyBySemantic(e,t,n):!1};qa.prototype.getPropertyTypedArray=function(e){if(u(this._metadataTable))return this._metadataTable.getPropertyTypedArray(e)};qa.prototype.getPropertyTypedArrayBySemantic=function(e){if(u(this._metadataTable))return this._metadataTable.getPropertyTypedArrayBySemantic(e)};qa.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return u(n)?n.isClass(e,t):!1};qa.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};qa.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(u(t))return t.getClassName(e)};var Ic=qa;function XP(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty,i=e.textures,o=u(t.channels)?t.channels:[0],r=t,s=hl.createModelTextureReader({textureInfo:r,channels:tFe(o),texture:i[r.index]});this._min=t.min,this._max=t.max;let a=t.offset,c=t.scale,l=n.hasValueTransform||u(a)||u(c);a=y(a,n.offset),c=y(c,n.scale),a=n.unpackVectorAndMatrixTypes(a),c=n.unpackVectorAndMatrixTypes(c),this._offset=a,this._scale=c,this._hasValueTransform=l,this._textureReader=s,this._classProperty=n,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(XP.prototype,{textureReader:{get:function(){return this._textureReader}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});XP.prototype.isGpuCompatible=function(){let e=this._classProperty,t=e.type,n=e.componentType;return e.isArray?!e.isVariableLengthArray&&e.arrayLength<=4&&t===zt.SCALAR&&n===tn.UINT8:zt.isVectorType(t)||t===zt.SCALAR?n===tn.UINT8:!1};var $Ne=[void 0,"float","vec2","vec3","vec4"],eFe=[void 0,"int","ivec2","ivec3","ivec4"];XP.prototype.getGlslType=function(){let e=this._classProperty,t=zt.getComponentCount(e.type);return e.isArray&&(t=e.arrayLength),e.normalized?$Ne[t]:eFe[t]};XP.prototype.unpackInShader=function(e){return this._classProperty.normalized?e:`${this.getGlslType()}(255.0 * ${e})`};function tFe(e){return e.map(function(t){return"rgba".charAt(t)}).join("")}var KP=XP;function I5(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyTexture,n=e.class,i=e.textures,o=t.extensions,r=t.extras,s={};if(u(t.properties))for(let a in t.properties)t.properties.hasOwnProperty(a)&&(s[a]=new KP({property:t.properties[a],classProperty:n.properties[a],textures:i}));this._name=e.name,this._id=e.id,this._class=n,this._properties=s,this._extras=r,this._extensions=o}Object.defineProperties(I5.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});I5.prototype.getProperty=function(e){return this._properties[e]};var CA=I5;function Ine(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty;this._attribute=t.attribute,this._classProperty=n,this._min=t.min,this._max=t.max;let i=t.offset,o=t.scale,r=n.hasValueTransform||u(i)||u(o);i=y(i,n.offset),o=y(o,n.scale),i=n.unpackVectorAndMatrixTypes(i),o=n.unpackVectorAndMatrixTypes(o),this._offset=i,this._scale=o,this._hasValueTransform=r,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Ine.prototype,{attribute:{get:function(){return this._attribute}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var ZP=Ine;function P5(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyAttribute,n=e.class,i={};if(u(t.properties))for(let o in t.properties)t.properties.hasOwnProperty(o)&&(i[o]=new ZP({property:t.properties[o],classProperty:n.properties[o]}));this._name=e.name,this._id=e.id,this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(P5.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});P5.prototype.getProperty=function(e){return this._properties[e]};var TA=P5;function JP(e){e=y(e,y.EMPTY_OBJECT),this._schema=e.schema;let t=e.propertyTables;this._propertyTableCount=u(t)?t.length:0,this._propertyTables=t,this._propertyTextures=e.propertyTextures,this._propertyAttributes=e.propertyAttributes,this._statistics=e.statistics,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(JP.prototype,{schema:{get:function(){return this._schema}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},propertyTableCount:{get:function(){return this._propertyTableCount}},propertyTables:{get:function(){return this._propertyTables}},propertyTextures:{get:function(){return this._propertyTextures}},propertyAttributes:{get:function(){return this._propertyAttributes}},propertyTablesByteLength:{get:function(){if(!u(this._propertyTables))return 0;let e=0,t=this._propertyTables.length;for(let n=0;n<t;n++)e+=this._propertyTables[n].byteLength;return e}}});JP.prototype.getPropertyTable=function(e){return this._propertyTables[e]};JP.prototype.getPropertyTexture=function(e){return this._propertyTextures[e]};JP.prototype.getPropertyAttribute=function(e){return this._propertyAttributes[e]};var da=JP;function nFe(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i=[];if(u(t.propertyTables))for(let s=0;s<t.propertyTables.length;s++){let a=t.propertyTables[s],c=n.classes[a.class],l=new fl({count:a.count,properties:a.properties,class:c,bufferViews:e.bufferViews});i.push(new Ic({id:s,name:a.name,count:a.count,metadataTable:l,extras:a.extras,extensions:a.extensions}))}let o=[];if(u(t.propertyTextures))for(let s=0;s<t.propertyTextures.length;s++){let a=t.propertyTextures[s];o.push(new CA({id:s,name:a.name,propertyTexture:a,class:n.classes[a.class],textures:e.textures}))}let r=[];if(u(t.propertyAttributes))for(let s=0;s<t.propertyAttributes.length;s++){let a=t.propertyAttributes[s];r.push(new TA({id:s,name:a.name,class:n.classes[a.class],propertyAttribute:a}))}return new da({schema:n,propertyTables:i,propertyTextures:o,propertyAttributes:r,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}var QP=nFe;function iFe(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i,o=[],r;if(u(t.featureTables))for(r=Object.keys(t.featureTables).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTables[a],l=n.classes[c.class],f=new fl({count:c.count,properties:c.properties,class:l,bufferViews:e.bufferViews});o.push(new Ic({id:a,count:c.count,metadataTable:f,extras:c.extras,extensions:c.extensions}))}let s=[];if(u(t.featureTextures))for(r=Object.keys(t.featureTextures).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTextures[a];s.push(new CA({id:a,propertyTexture:oFe(c),class:n.classes[c.class],textures:e.textures}))}return new da({schema:n,propertyTables:o,propertyTextures:s,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}function oFe(e){let t={class:e.class,properties:{}},n=e.properties;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i],r={channels:rFe(o.channels),extras:o.extras,extensions:o.extensions};t.properties[i]=_t(o.texture,r,!0)}return t}function rFe(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]="rgba".indexOf(e[i]);return n}var $P=iFe;function bg(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.extension,i=e.extensionLegacy,o=e.gltfResource,r=e.baseResource,s=e.supportedImageFormats,a=e.frameState,c=e.cacheKey,l=y(e.asynchronous,!0);this._gltfResource=o,this._baseResource=r,this._gltf=t,this._extension=n,this._extensionLegacy=i,this._supportedImageFormats=s,this._frameState=a,this._cacheKey=c,this._asynchronous=l,this._bufferViewLoaders=[],this._textureLoaders=[],this._schemaLoader=void 0,this._structuralMetadata=void 0,this._state=Ut.UNLOADED,this._promise=void 0}u(Object.create)&&(bg.prototype=Object.create(no.prototype),bg.prototype.constructor=bg);Object.defineProperties(bg.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},structuralMetadata:{get:function(){return this._structuralMetadata}}});bg.prototype.load=function(){let e=uFe(this),t=pFe(this),n=_Fe(this);this._gltf=void 0,this._state=Ut.LOADING;let i=this;this._promise=Promise.all([e,t,n]).then(function(o){if(i.isDestroyed())return;let r=o[0],s=o[1],a=o[2];return u(i._extension)?i._structuralMetadata=QP({extension:i._extension,schema:a,bufferViews:r,textures:s}):i._structuralMetadata=$P({extension:i._extensionLegacy,schema:a,bufferViews:r,textures:s}),i._state=Ut.READY,i}).catch(function(o){if(i.isDestroyed())return;i.unload(),i._state=Ut.FAILED;let r="Failed to load structural metadata";return Promise.reject(i.getError(r,o))})};function sFe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.values,r=i.arrayOffsets,s=i.stringOffsets;u(o)&&(t[o]=!0),u(r)&&(t[r]=!0),u(s)&&(t[s]=!0)}}function aFe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.bufferView,r=i.arrayOffsetBufferView,s=i.stringOffsetBufferView;u(o)&&(t[o]=!0),u(r)&&(t[r]=!0),u(s)&&(t[s]=!0)}}function cFe(e){let t=e.propertyTables,n={};if(u(t))for(let i=0;i<t.length;i++){let o=t[i];sFe(o.properties,n)}return n}function lFe(e){let t=e.featureTables,n={};if(u(t)){for(let i in t)if(t.hasOwnProperty(i)){let r=t[i].properties;u(r)&&aFe(r,n)}}return n}function uFe(e){let t;u(e._extension)?t=cFe(e._extension):t=lFe(e._extensionLegacy);let n=[],i={};for(let o in t)if(t.hasOwnProperty(o)){let r=Ui.loadBufferView({gltf:e._gltf,bufferViewId:parseInt(o),gltfResource:e._gltfResource,baseResource:e._baseResource});n.push(r.promise),e._bufferViewLoaders.push(r),i[o]=r}return Promise.all(n).then(function(){let o={};for(let r in i)if(i.hasOwnProperty(r)){let s=i[r],a=new Uint8Array(s.typedArray);o[r]=a}return Pne(e),o})}function fFe(e){let t={},n=e.propertyTextures;if(u(n))for(let i=0;i<n.length;i++){let r=n[i].properties;u(r)&&dFe(r,t)}return t}function dFe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t[i.index]=i}}function hFe(e){let t={},n=e.featureTextures;if(u(n)){for(let i in n)if(n.hasOwnProperty(i)){let r=n[i].properties;u(r)&&mFe(r,t)}}return t}function mFe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let o=e[n].texture;t[o.index]=o}}function pFe(e){let t;u(e._extension)?t=fFe(e._extension):t=hFe(e._extensionLegacy);let n=e._gltf,i=e._gltfResource,o=e._baseResource,r=e._supportedImageFormats,s=e._frameState,a=e._asynchronous,c=[],l={};for(let f in t)if(t.hasOwnProperty(f)){let d=Ui.loadTexture({gltf:n,textureInfo:t[f],gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s,asynchronous:a});c.push(d.promise),e._textureLoaders.push(d),l[f]=d}return Promise.all(c).then(function(){let f={};for(let d in l)if(l.hasOwnProperty(d)){let p=l[d];f[d]=p.texture}return f})}function _Fe(e){let t=y(e._extension,e._extensionLegacy),n;if(u(t.schemaUri)){let i=e._baseResource.getDerivedResource({url:t.schemaUri});n=Ui.loadSchema({resource:i})}else n=Ui.loadSchema({schema:t.schema});return e._schemaLoader=n,n.promise.then(function(i){return i.schema})}bg.prototype.process=function(e){if(this._state!==Ut.LOADING)return;let t=this._textureLoaders,n=t.length;for(let i=0;i<n;++i)t[i].process(e)};function Pne(e){let t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)Ui.unload(t[i]);e._bufferViewLoaders.length=0}function gFe(e){let t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)Ui.unload(t[i]);e._textureLoaders.length=0}bg.prototype.unload=function(){Pne(this),gFe(this),u(this._schemaLoader)&&Ui.unload(this._schemaLoader),this._schemaLoader=void 0,this._structuralMetadata=void 0};var e1=bg;var ci={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function yFe(e){switch(e){case ci.POSITION:return"positionMC";case ci.NORMAL:return"normalMC";case ci.TANGENT:return"tangentMC";case ci.TEXCOORD:return"texCoord";case ci.COLOR:return"color";case ci.JOINTS:return"joints";case ci.WEIGHTS:return"weights";case ci.FEATURE_ID:return"featureId"}}ci.hasSetIndex=function(e){switch(e){case ci.POSITION:case ci.NORMAL:case ci.TANGENT:return!1;case ci.TEXCOORD:case ci.COLOR:case ci.JOINTS:case ci.WEIGHTS:case ci.FEATURE_ID:return!0}};ci.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"POSITION":return ci.POSITION;case"NORMAL":return ci.NORMAL;case"TANGENT":return ci.TANGENT;case"TEXCOORD":return ci.TEXCOORD;case"COLOR":return ci.COLOR;case"JOINTS":return ci.JOINTS;case"WEIGHTS":return ci.WEIGHTS;case"_FEATURE_ID":return ci.FEATURE_ID}};ci.fromPntsSemantic=function(e){switch(e){case"POSITION":case"POSITION_QUANTIZED":return ci.POSITION;case"RGBA":case"RGB":case"RGB565":return ci.COLOR;case"NORMAL":case"NORMAL_OCT16P":return ci.NORMAL;case"BATCH_ID":return ci.FEATURE_ID}};ci.getGlslType=function(e){switch(e){case ci.POSITION:case ci.NORMAL:case ci.TANGENT:return"vec3";case ci.TEXCOORD:return"vec2";case ci.COLOR:return"vec4";case ci.JOINTS:return"ivec4";case ci.WEIGHTS:return"vec4";case ci.FEATURE_ID:return"int"}};ci.getVariableName=function(e,t){let n=yFe(e);return u(t)&&(n+=`_${t}`),n};var Ct=Object.freeze(ci);function Xa(){}Xa.getFailedLoadFunction=function(e,t,n){return function(i){let o=`Failed to load ${t}: ${n}`;u(i)&&(o+=` +${i.message}`);let r=new ue(o);return u(i)&&(r.stack=`Original stack: +${i.stack} +Handler stack: +${r.stack}`),Promise.reject(r)}};Xa.getNodeTransform=function(e){return u(e.matrix)?e.matrix:M.fromTranslationQuaternionRotationScale(u(e.translation)?e.translation:h.ZERO,u(e.rotation)?e.rotation:Le.IDENTITY,u(e.scale)?e.scale:h.ONE)};Xa.getAttributeBySemantic=function(e,t,n){let i=e.attributes,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=u(n)?s.setIndex===n:!0;if(s.semantic===t&&a)return s}};Xa.getAttributeByName=function(e,t){let n=e.attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.name===t)return r}};Xa.getFeatureIdsByLabel=function(e,t){for(let n=0;n<e.length;n++){let i=e[n];if(i.positionalLabel===t||i.label===t)return i}};Xa.hasQuantizedAttributes=function(e){if(!u(e))return!1;for(let t=0;t<e.length;t++){let n=e[t];if(u(n.quantization))return!0}return!1};Xa.getAttributeInfo=function(e){let t=e.semantic,n=e.setIndex,i,o=!1;u(t)?(i=Ct.getVariableName(t,n),o=!0):(i=e.name,i=i.replace(/^_/,""),i=i.toLowerCase());let r=/^color_\d+$/.test(i),s=e.type,a=rn.getGlslType(s);r&&(a="vec4");let c=u(e.quantization),l;return c&&(l=r?"vec4":rn.getGlslType(e.quantization.type)),{attribute:e,isQuantized:c,variableName:i,hasSemantic:o,glslType:a,quantizedGlslType:l}};var AFe=new h,xFe=new h;Xa.getPositionMinMax=function(e,t,n){let i=Xa.getAttributeBySemantic(e,"POSITION"),o=i.max,r=i.min;return u(n)&&u(t)&&(r=h.add(r,t,xFe),o=h.add(o,n,AFe)),{min:r,max:o}};Xa.getAxisCorrectionMatrix=function(e,t,n){return n=M.clone(M.IDENTITY,n),e===Po.Y?n=M.clone(Po.Y_UP_TO_Z_UP,n):e===Po.X&&(n=M.clone(Po.X_UP_TO_Z_UP,n)),t===Po.Z&&(n=M.multiplyTransformation(n,Po.Z_UP_TO_X_UP,n)),n};var CFe=new Z;Xa.getCullFace=function(e,t){if(!Me.isTriangles(t))return gi.BACK;let n=M.getMatrix3(e,CFe);return Z.determinant(n)<0?gi.FRONT:gi.BACK};Xa.sanitizeGlslIdentifier=function(e){let t=e.replaceAll(/[^A-Za-z0-9]+/g,"_");return t=t.replace(/^gl_/,""),/^\d/.test(t)&&(t=`_${t}`),t};Xa.supportedExtensions={AGI_articulations:!0,CESIUM_primitive_outline:!0,CESIUM_RTC:!0,EXT_feature_metadata:!0,EXT_instance_features:!0,EXT_mesh_features:!0,EXT_mesh_gpu_instancing:!0,EXT_meshopt_compression:!0,EXT_structural_metadata:!0,EXT_texture_webp:!0,KHR_blend:!0,KHR_draco_mesh_compression:!0,KHR_techniques_webgl:!0,KHR_materials_common:!0,KHR_materials_pbrSpecularGlossiness:!0,KHR_materials_unlit:!0,KHR_mesh_quantization:!0,KHR_texture_basisu:!0,KHR_texture_transform:!0,WEB3D_quantized_attributes:!0};Xa.checkSupportedExtensions=function(e){let t=e.length;for(let n=0;n<t;n++){let i=e[n];if(!Xa.supportedExtensions[i])throw new ue(`Unsupported glTF Extension: ${i}`)}};var sn=Xa;var LT={TRANSLATION:"TRANSLATION",ROTATION:"ROTATION",SCALE:"SCALE",FEATURE_ID:"_FEATURE_ID"};LT.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"TRANSLATION":return LT.TRANSLATION;case"ROTATION":return LT.ROTATION;case"SCALE":return LT.SCALE;case"_FEATURE_ID":return LT.FEATURE_ID}};var zr=Object.freeze(LT);var TFe=65534,EFe=255;function FV(e){e=y(e,y.EMPTY_OBJECT);let t=e.triangleIndices,n=e.outlineIndices,i=e.originalVertexCount;this._triangleIndices=t,this._originalVertexCount=i,this._edges=new Bne(n,i),this._outlineCoordinatesTypedArray=void 0,this._extraVertices=[],bFe(this)}Object.defineProperties(FV.prototype,{updatedTriangleIndices:{get:function(){return this._triangleIndices}},outlineCoordinates:{get:function(){return this._outlineCoordinatesTypedArray}}});function bFe(e){let t=e._triangleIndices,n=e._edges,i=[],o=e._extraVertices,r=e._originalVertexCount,s={};for(let a=0;a<t.length;a+=3){let c=t[a],l=t[a+1],f=t[a+2],d=!1,p=d||n.hasEdge(c,l),g=d||n.hasEdge(l,f),m=d||n.hasEdge(f,c),A=One(i,c,l,f,p,g,m);for(;u(A);){let x=s[A];if(!u(x)){x=r+o.length;let C=A;for(;C>=r;)C=o[C-r];o.push(C),s[A]=x}x>TFe&&(t instanceof Uint16Array||t instanceof Uint8Array)?t=new Uint32Array(t):x>EFe&&t instanceof Uint8Array&&(t=new Uint16Array(t)),A===c?(c=x,t[a]=x):A===l?(l=x,t[a+1]=x):(f=x,t[a+2]=x),A=One(i,c,l,f,p,g,m)}}e._triangleIndices=t,e._outlineCoordinatesTypedArray=new Float32Array(i)}function One(e,t,n,i,o,r,s){let a=s?1:0,c=o?1:0,l=0,f=O5(e,t,a,c,l);if(f===0)return t;let d=0,p=o?1:0,g=r?1:0,m=O5(e,n,d,p,g);if(m===0)return n;let A=s?1:0,x=0,C=r?1:0,T=O5(e,i,A,x,C);if(T===0)return i;let E=f&m&T,S,D,w;if(E&1<<0)S=0,D=1,w=2;else if(E&1<<1)S=0,w=1,D=2;else if(E&1<<2)D=0,S=1,w=2;else if(E&1<<3)D=0,w=1,S=2;else if(E&1<<4)w=0,S=1,D=2;else if(E&1<<5)w=0,D=1,S=2;else{let N=R5(f),_=R5(m),b=R5(T);return N<_&&N<b?t:_<b?n:i}let R=t*3;e[R+S]=a,e[R+D]=c,e[R+w]=l;let O=n*3;e[O+S]=d,e[O+D]=p,e[O+w]=g;let L=i*3;e[L+S]=A,e[L+D]=x,e[L+w]=C}function O5(e,t,n,i,o){let r=t*3,s=e[r],a=e[r+1],c=e[r+2];return u(s)?(s===n&&a===i&&c===o)<<0|(s===n&&a===o&&c===i)<<1|(s===i&&a===n&&c===o)<<2|(s===i&&a===o&&c===n)<<3|(s===o&&a===n&&c===i)<<4|(s===o&&a===i&&c===n)<<5:63}function R5(e){return(e&1)+(e>>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}FV.prototype.updateAttribute=function(e){let t=this._extraVertices,n=e.length,i=n/this._originalVertexCount,o=t.length,r=e.constructor,s=new r(e.length+o*i);s.set(e);for(let a=0;a<o;a++){let c=t[a]*i,l=n+a*i;for(let f=0;f<i;f++)s[l+f]=s[c+f]}return s};FV.createTexture=function(e){let t=e.cache.modelOutliningCache;if(u(t)||(t=e.cache.modelOutliningCache={}),u(t.outlineTexture))return t.outlineTexture;let n=Math.min(4096,Ft.maximumTextureSize),i=n,o=Rne(i),r=[];for(;i>1;)i>>=1,r.push(Rne(i));let s=new It({context:e,source:{arrayBufferView:o,mipLevels:r},width:n,height:1,pixelFormat:rt.LUMINANCE,sampler:new ln({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:an.LINEAR_MIPMAP_LINEAR,magnificationFilter:yi.LINEAR})});return t.outlineTexture=s,s};function Rne(e){let t=new Uint8Array(e);return t[e-1]=192,e===8?t[e-1]=96:e===4?t[e-1]=48:e===2?t[e-1]=24:e===1&&(t[e-1]=12),t}function Bne(e,t){this._originalVertexCount=t,this._edges=new Set;for(let n=0;n<e.length;n+=2){let i=e[n],o=e[n+1],r=Math.min(i,o),s=Math.max(i,o),a=r*this._originalVertexCount+s;this._edges.add(a)}}Bne.prototype.hasEdge=function(e,t){let n=Math.min(e,t),i=Math.max(e,t),o=n*this._originalVertexCount+i;return this._edges.has(o)};var EA=FV;function Mne(e){this.attribute=e,this.loadBuffer=!1,this.loadTypedArray=!1}function SFe(e){this.indices=e,this.loadBuffer=!1,this.loadTypedArray=!1}function VV(e){this.primitive=e,this.attributePlans=[],this.indicesPlan=void 0,this.needsOutlines=!1,this.outlineIndices=void 0}VV.prototype.postProcess=function(e){this.needsOutlines&&(DFe(this),wFe(this,e))};function DFe(e){let t=e.primitive,n=t.indices,i=t.attributes[0].count,o=new EA({triangleIndices:n.typedArray,outlineIndices:e.outlineIndices,originalVertexCount:i});n.typedArray=o.updatedTriangleIndices,n.indexDatatype=Fe.fromTypedArray(n.typedArray);let r=vFe(o.outlineCoordinates),s=new Mne(r);s.loadBuffer=!0,s.loadTypedArray=!1,e.attributePlans.push(s),t.outlineCoordinates=s.attribute;let a=e.attributePlans,c=e.attributePlans.length;for(let l=0;l<c;l++){let f=a[l].attribute;f.typedArray=o.updateAttribute(f.typedArray)}}function vFe(e){let t=new Rt.Attribute;return t.name="_OUTLINE_COORDINATES",t.typedArray=e,t.componentDatatype=q.FLOAT,t.type=rn.VEC3,t.normalized=!1,t.count=e.length/3,t}function wFe(e,t){IFe(e.attributePlans,t),u(e.indicesPlan)&&PFe(e.indicesPlan,t)}function IFe(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=o.attribute,s=r.typedArray;if(o.loadBuffer){let a=lt.createVertexBuffer({typedArray:s,context:t,usage:Ne.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.buffer=a}o.loadTypedArray||(r.typedArray=void 0)}}function PFe(e,t){let n=e.indices;if(e.loadBuffer){let i=lt.createIndexBuffer({typedArray:n.typedArray,context:t,usage:Ne.STATIC_DRAW,indexDatatype:n.indexDatatype});n.buffer=i,i.vertexArrayDestroyable=!1}e.loadTypedArray||(n.typedArray=void 0)}VV.AttributeLoadPlan=Mne;VV.IndicesLoadPlan=SFe;var bA=VV;function OFe(e){e=y(e,y.EMPTY_OBJECT),this.webp=y(e.webp,!1),this.basis=y(e.basis,!1)}var t1=OFe;var RFe=Rt.Attribute,BFe=Rt.Indices,Nne=Rt.FeatureIdAttribute,Fne=Rt.FeatureIdTexture,Vne=Rt.FeatureIdImplicitRange,MFe=Rt.MorphTarget,LFe=Rt.Primitive,NFe=Rt.Instances,FFe=Rt.Skin,VFe=Rt.Node,UFe=Rt.AnimatedPropertyType,kFe=Rt.AnimationSampler,zFe=Rt.AnimationTarget,HFe=Rt.AnimationChannel,GFe=Rt.Animation,WFe=Rt.ArticulationStage,jFe=Rt.Articulation,YFe=Rt.Asset,qFe=Rt.Scene,XFe=Rt.Components,KFe=Rt.MetallicRoughness,ZFe=Rt.SpecularGlossiness,JFe=Rt.Material,or={NOT_LOADED:0,LOADING:1,LOADED:2,PROCESSING:3,POST_PROCESSING:4,PROCESSED:5,READY:6,FAILED:7,UNLOADED:8};function xp(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltfResource,n=e.baseResource,i=e.typedArray,o=y(e.releaseGltfJson,!1),r=y(e.asynchronous,!0),s=y(e.incrementallyLoadTextures,!0),a=y(e.upAxis,Po.Y),c=y(e.forwardAxis,Po.Z),l=y(e.loadAttributesAsTypedArray,!1),f=y(e.loadAttributesFor2D,!1),d=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0),g=y(e.loadForClassification,!1),m=y(e.renameBatchIdSemantic,!1);n=u(n)?n:t.clone(),this._gltfJson=e.gltfJson,this._gltfResource=t,this._baseResource=n,this._typedArray=i,this._releaseGltfJson=o,this._asynchronous=r,this._incrementallyLoadTextures=s,this._upAxis=a,this._forwardAxis=c,this._loadAttributesAsTypedArray=l,this._loadAttributesFor2D=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._loadForClassification=g,this._renameBatchIdSemantic=m,this._hasKhrMeshQuantization=!1,this._sortedPropertyTableIds=void 0,this._sortedFeatureTextureIds=void 0,this._gltfJsonLoader=void 0,this._state=or.NOT_LOADED,this._textureState=or.NOT_LOADED,this._promise=void 0,this._texturesLoadedPromise=void 0,this._process=function(A,x){},this._processTextures=function(A,x){},this._primitiveLoadPlans=[],this._loaderPromises=[],this._textureLoaders=[],this._texturesPromises=[],this._bufferViewLoaders=[],this._geometryLoaders=[],this._structuralMetadataLoader=void 0,this._postProcessBuffers=[],this._components=void 0}u(Object.create)&&(xp.prototype=Object.create(no.prototype),xp.prototype.constructor=xp);Object.defineProperties(xp.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}},texturesLoadedPromise:{get:function(){return this._texturesLoadedPromise}}});xp.prototype.load=function(){let e=Ui.loadGltfJson({gltfResource:this._gltfResource,baseResource:this._baseResource,typedArray:this._typedArray,gltfJson:this._gltfJson});this._gltfJsonLoader=e,this._state=or.LOADING,this._textureState=or.LOADING;let t=this,n,i=new Promise(function(o,r){n=new Promise(function(s,a){t._process=function(c,l){if(!Vt.supportsWebP.initialized){Vt.supportsWebP.initialize();return}if(c._state===or.LOADED){c._state=or.PROCESSING;let f=new t1({webp:Vt.supportsWebP(),basis:l.context.supportsBasis}),d;u(c._gltfJsonLoader)?d=c._gltfJsonLoader.gltf:d=c._gltfJson,q2e(c,d,f,l,r,a),u(c._gltfJsonLoader)&&c._releaseGltfJson&&(Ui.unload(c._gltfJsonLoader),c._gltfJsonLoader=void 0)}c._state===or.PROCESSING&&QFe(c,l),c._state===or.POST_PROCESSING&&($Fe(c,l.context),c._state=or.PROCESSED),c._state===or.PROCESSED&&(qne(c),c._typedArray=void 0,c._state=or.READY,o(c))},t._processTextures=function(c,l){if(c._textureState===or.LOADED&&(c._textureState=or.PROCESSING),c._textureState===or.PROCESSING){let f,d=c._textureLoaders,p=d.length;for(f=0;f<p;++f)d[f].process(l)}c._textureState===or.PROCESSED&&(c._textureState=or.READY,s(c))}})});return this._promise=e.promise.then(function(){if(!t.isDestroyed())return t._state=or.LOADED,t._textureState=or.LOADED,i}).catch(function(o){if(!t.isDestroyed())return t._state=or.FAILED,t._textureState=or.FAILED,Lne(t,o)}),this._texturesLoadedPromise=n.catch(function(o){if(!t.isDestroyed())return t._textureState=or.FAILED,Lne(t,o)}),this._promise};function Lne(e,t){e.unload();let n="Failed to load glTF";return t=e.getError(n,t),Promise.reject(t)}function QFe(e,t){let n=e._bufferViewLoaders,i=n.length;for(let s=0;s<i;++s)n[s].process(t);let o=e._geometryLoaders,r=o.length;for(let s=0;s<r;++s)o[s].process(t);u(e._structuralMetadataLoader)&&e._structuralMetadataLoader.process(t)}function $Fe(e,t){let n=e._primitiveLoadPlans,i=n.length;for(let o=0;o<i;o++){let r=n[o];r.postProcess(t),r.needsOutlines&&e2e(e,r)}}function e2e(e,t){let n=e._postProcessBuffers,i=t.primitive,o=i.outlineCoordinates;u(o)&&n.push(o.buffer);let r=i.attributes,s=r.length;for(let c=0;c<s;c++){let l=r[c];u(l.buffer)&&n.push(l.buffer)}let a=i.indices;u(a)&&u(a.buffer)&&n.push(a.buffer)}xp.prototype.process=function(e){this._process(this,e),this._processTextures(this,e)};function t2e(e,t,n,i,o,r,s,a){let l=t.accessors[n].bufferView,f=Ui.loadVertexBuffer({gltf:t,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:a,bufferViewId:l,draco:o,attributeSemantic:i,accessorId:n,asynchronous:e._asynchronous,loadBuffer:r,loadTypedArray:s});return e._geometryLoaders.push(f),f}function n2e(e,t,n,i,o,r,s){let a=Ui.loadIndexBuffer({gltf:t,accessorId:n,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:s,draco:i,asynchronous:e._asynchronous,loadBuffer:o,loadTypedArray:r});return e._geometryLoaders.push(a),a}function i2e(e,t,n){let i=Ui.loadBufferView({gltf:t,bufferViewId:n,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoaders.push(i),i}function Une(e,t,n){let i=t.byteOffset,o=dl(e,t),r=t.count,s=Kl(t.type),a=t.componentType,c=q.getSizeInBytes(a),l=c*s,f=r*s;if(o===l)return n=new Uint8Array(n),q.createArrayBufferView(a,n.buffer,n.byteOffset+i,f);let d=q.createTypedArray(a,f),p=new DataView(n.buffer),g=new Array(s),m=gp(t.componentType);i=n.byteOffset+i;for(let A=0;A<r;++A){m(p,i,s,c,g);for(let x=0;x<s;++x)d[A*s+x]=g[x];i+=o}return d}function o2e(e,t){let n=e.type;if(n===rn.SCALAR)return t.fill(0);let i=rn.getMathType(n);return t.fill(i.clone(i.ZERO))}function r2e(e,t,n,i){let o=e.type,r=e.count;if(o===rn.SCALAR)for(let s=0;s<r;s++)n[s]=t[s];else if(o===rn.VEC4&&i)for(let s=0;s<r;s++)n[s]=Le.unpack(t,s*4);else{let s=rn.getMathType(o),a=rn.getNumberOfComponents(o);for(let c=0;c<r;c++)n[c]=s.unpack(t,c*a)}return n}function UV(e,t,n,i){let o=t.accessors[n],r=o.count,s=new Array(r),a=o.bufferView;if(u(a)){let l=i2e(e,t,a).promise.then(function(f){if(e.isDestroyed())return;let d=f.typedArray,p=Une(t,o,d);i=y(i,!1),r2e(o,p,s,i)});return e._loaderPromises.push(l),s}return o2e(o,s)}function Xu(e,t){if(u(t))return e===Number?t[0]:e.unpack(t)}function s2e(e){return e===Number?0:new e}function a2e(e){switch(e){case q.BYTE:return 127;case q.UNSIGNED_BYTE:return 255;case q.SHORT:return 32767;case q.UNSIGNED_SHORT:return 65535;default:return 1}}var c2e={VEC2:new H(-1,-1),VEC3:new h(-1,-1,-1),VEC4:new oe(-1,-1,-1,-1)};function l2e(e,t){let n=a2e(e.componentDatatype),i=c2e[e.type],o=e.min;u(o)&&(o=t.divideByScalar(o,n,o),o=t.maximumByComponent(o,i,o));let r=e.max;u(r)&&(r=t.divideByScalar(r,n,r),r=t.maximumByComponent(r,i,r)),e.min=o,e.max=r}function u2e(e,t,n){let i=e.decodeMatrix,o=Xu(n,e.decodedMin),r=Xu(n,e.decodedMax);u(o)&&u(r)&&(t.min=o,t.max=r);let s=new Rt.Quantization;s.componentDatatype=t.componentDatatype,s.type=t.type,i.length===4?(s.quantizedVolumeOffset=i[2],s.quantizedVolumeStepSize=i[0]):i.length===9?(s.quantizedVolumeOffset=new H(i[6],i[7]),s.quantizedVolumeStepSize=new H(i[0],i[4])):i.length===16?(s.quantizedVolumeOffset=new h(i[12],i[13],i[14]),s.quantizedVolumeStepSize=new h(i[0],i[5],i[10])):i.length===25&&(s.quantizedVolumeOffset=new oe(i[20],i[21],i[22],i[23]),s.quantizedVolumeStepSize=new oe(i[0],i[6],i[12],i[18])),t.quantization=s}function f2e(e,t,n,i,o,r){let s=e.accessors[t],a=rn.getMathType(s.type),c=y(s.normalized,!1),l=new RFe;l.name=n,l.semantic=i,l.setIndex=o,l.constant=s2e(a),l.componentDatatype=s.componentType,l.normalized=c,l.count=s.count,l.type=s.type,l.min=Xu(a,s.min),l.max=Xu(a,s.max),l.byteOffset=s.byteOffset,l.byteStride=dl(e,s),ai(s,"WEB3D_quantized_attributes")&&u2e(s.extensions.WEB3D_quantized_attributes,l,a);let f=l.semantic===Ct.POSITION||l.semantic===Ct.NORMAL||l.semantic===Ct.TANGENT||l.semantic===Ct.TEXCOORD;return r&&c&&f&&l2e(l,a),l}function kne(e){let n=/^\w+_(\d+)$/.exec(e);if(n!==null)return parseInt(n[1])}var d2e={gltfSemantic:void 0,renamedSemantic:void 0,modelSemantic:void 0};function B5(e,t,n){let i=n;e._renameBatchIdSemantic&&(n==="_BATCHID"||n==="BATCHID")&&(i="_FEATURE_ID_0");let o=t.fromGltfSemantic(i),r=d2e;return r.gltfSemantic=n,r.renamedSemantic=i,r.modelSemantic=o,r}function h2e(e){let t=e===Ct.POSITION,n=e===Ct.FEATURE_ID,i=e===Ct.TEXCOORD;return t||n||i}function m2e(e,t,n,i){if(e.byteOffset=0,e.byteStride=void 0,e.quantization=t.quantization,n&&(e.buffer=t.buffer),i){let o=u(t.quantization)?t.quantization.componentDatatype:e.componentDatatype;e.typedArray=q.createArrayBufferView(o,t.typedArray.buffer)}}function p2e(e,t,n,i,o,r){if(o&&(n.buffer=i.buffer),r){let s=i.typedArray;n.typedArray=Une(e,t,s),o||(n.byteOffset=0,n.byteStride=void 0)}}function zne(e,t,n,i,o,r,s,a){let c=t.accessors[n],l=c.bufferView,f=i.gltfSemantic,d=i.renamedSemantic,p=i.modelSemantic,g=u(p)?kne(d):void 0,A=f2e(t,n,f,p,g,e._hasKhrMeshQuantization);if(!u(o)&&!u(l))return A;let C=t2e(e,t,n,f,o,r,s,a).promise.then(function(T){e.isDestroyed()||(u(o)&&u(o.attributes)&&u(o.attributes[f])?m2e(A,T,r,s):p2e(t,c,A,T,r,s))});return e._loaderPromises.push(C),A}function Hne(e,t,n,i,o,r,s,a){let c=i.modelSemantic,l=c===Ct.POSITION,f=c===Ct.FEATURE_ID,d=l&&!r&&e._loadAttributesFor2D&&!a.scene3DOnly,p=e._loadForClassification&&f,g=e._loadAttributesAsTypedArray,m=!g,A=g||d||p,T=zne(e,t,n,i,o,s?!1:m,s?!0:A,a),E=new bA.AttributeLoadPlan(T);return E.loadBuffer=m,E.loadTypedArray=A,E}function _2e(e,t,n,i,o,r){let s=u(i.ROTATION),a=u(i.TRANSLATION)&&u(t.accessors[i.TRANSLATION].min)&&u(t.accessors[i.TRANSLATION].max),c=B5(e,zr,o),l=c.modelSemantic,f=l===zr.TRANSLATION||l===zr.ROTATION||l===zr.SCALE,d=l===zr.TRANSLATION,p=e._loadAttributesAsTypedArray||s&&f||!r.context.instancedArrays,g=!p,m=e._loadAttributesFor2D&&!r.scene3DOnly;return zne(e,t,n,c,void 0,g,p||d&&(!a||m),r)}function g2e(e,t,n,i,o,r,s){let a=t.accessors[n],c=a.bufferView;if(!u(i)&&!u(c))return;let l=new BFe;l.count=a.count;let f=e._loadAttributesAsTypedArray,d=e._loadIndicesForWireframe&&!s.context.webgl2,p=e._loadForClassification&&o,m=!f,A=f||d||p,E=n2e(e,t,n,i,r?!1:m,r?!0:A,s).promise.then(function(D){e.isDestroyed()||(l.indexDatatype=D.indexDatatype,l.buffer=D.buffer,l.typedArray=D.typedArray)});e._loaderPromises.push(E);let S=new bA.IndicesLoadPlan(l);return S.loadBuffer=m,S.loadTypedArray=A,S}function Ap(e,t,n,i,o,r){let s=hl.getImageIdFromTexture({gltf:t,textureId:n.index,supportedImageFormats:i});if(!u(s))return;let a=Ui.loadTexture({gltf:t,textureInfo:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:i,frameState:o,asynchronous:e._asynchronous});e._textureLoaders.push(a);let c=hl.createModelTextureReader({textureInfo:n}),l=a.promise.then(function(f){e.isUnloaded()||e.isDestroyed()||(c.texture=f.texture,u(r)&&(c.texture.sampler=r))});return e._texturesPromises.push(l),c}function y2e(e,t,n,i,o){let r=new JFe,s=y(n.extensions,y.EMPTY_OBJECT),a=s.KHR_materials_pbrSpecularGlossiness,c=n.pbrMetallicRoughness;if(r.unlit=u(s.KHR_materials_unlit),u(a)){let l=new ZFe;r.specularGlossiness=l,u(a.diffuseTexture)&&(l.diffuseTexture=Ap(e,t,a.diffuseTexture,i,o)),u(a.specularGlossinessTexture)&&u(a.specularGlossinessTexture)&&(l.specularGlossinessTexture=Ap(e,t,a.specularGlossinessTexture,i,o)),l.diffuseFactor=Xu(oe,a.diffuseFactor),l.specularFactor=Xu(h,a.specularFactor),l.glossinessFactor=a.glossinessFactor,r.pbrSpecularGlossiness=a}else if(u(c)){let l=new KFe;u(c.baseColorTexture)&&(l.baseColorTexture=Ap(e,t,c.baseColorTexture,i,o)),u(c.metallicRoughnessTexture)&&(l.metallicRoughnessTexture=Ap(e,t,c.metallicRoughnessTexture,i,o)),l.baseColorFactor=Xu(oe,c.baseColorFactor),l.metallicFactor=c.metallicFactor,l.roughnessFactor=c.roughnessFactor,r.metallicRoughness=l}return u(n.emissiveTexture)&&(r.emissiveTexture=Ap(e,t,n.emissiveTexture,i,o)),u(n.normalTexture)&&!e._loadForClassification&&(r.normalTexture=Ap(e,t,n.normalTexture,i,o)),u(n.occlusionTexture)&&(r.occlusionTexture=Ap(e,t,n.occlusionTexture,i,o)),r.emissiveFactor=Xu(h,n.emissiveFactor),r.alphaMode=n.alphaMode,r.alphaCutoff=n.alphaCutoff,r.doubleSided=n.doubleSided,r}function Gne(e,t){let n=new Nne;return n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.propertyTableId=e.propertyTable,n.setIndex=e.attribute,n.label=e.label,n.positionalLabel=t,n}function Wne(e,t,n,i){let o=new Nne,r=e.featureIds;return o.featureCount=n,o.propertyTableId=t,o.setIndex=kne(r.attribute),o.positionalLabel=i,o}function jne(e,t){let n=new Vne;return n.propertyTableId=e.propertyTable,n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.label=e.label,n.positionalLabel=t,n.offset=0,n.repeat=1,n}function Yne(e,t,n,i){let o=new Vne,r=e.featureIds;o.propertyTableId=t,o.featureCount=n,o.offset=y(r.constant,0);let s=y(r.divisor,0);return o.repeat=s===0?void 0:s,o.positionalLabel=i,o}function A2e(e,t,n,i,o,r){let s=new Fne;s.featureCount=n.featureCount,s.nullFeatureId=n.nullFeatureId,s.propertyTableId=n.propertyTable,s.label=n.label,s.positionalLabel=r;let a=n.texture;s.textureReader=Ap(e,t,a,i,o,ln.NEAREST);let l=(u(a.channels)?a.channels:[0]).map(function(f){return"rgba".charAt(f)}).join("");return s.textureReader.channels=l,s}function x2e(e,t,n,i,o,r,s,a){let c=new Fne,l=n.featureIds,f=l.texture;return c.featureCount=s,c.propertyTableId=i,c.textureReader=Ap(e,t,f,o,r,ln.NEAREST),c.textureReader.channels=l.channels,c.positionalLabel=a,c}function C2e(e,t,n,i,o,r){let s=new MFe,a=void 0,c=!1;for(let l in n)if(n.hasOwnProperty(l)){let f=n[l],d=B5(e,Ct,l),p=Hne(e,t,f,d,a,c,i,r);s.attributes.push(p.attribute),o.attributePlans.push(p)}return s}function T2e(e,t,n,i,o,r){let s=new LFe,a=new bA(s);e._primitiveLoadPlans.push(a);let c=n.material;u(c)&&(s.material=y2e(e,t,t.materials[c],o,r));let l=y(n.extensions,y.EMPTY_OBJECT),f=!1,d=l.CESIUM_primitive_outline;e._loadPrimitiveOutline&&u(d)&&(f=!0,a.needsOutlines=!0,a.outlineIndices=E2e(e,t,d,a));let p=e._loadForClassification,g=l.KHR_draco_mesh_compression,m=!1,A=n.attributes;if(u(A)){for(let R in A)if(A.hasOwnProperty(R)){let O=A[R],L=B5(e,Ct,R),N=L.modelSemantic;if(p&&!h2e(N))continue;N===Ct.FEATURE_ID&&(m=!0);let _=Hne(e,t,O,L,g,i,f,r);a.attributePlans.push(_),s.attributes.push(_.attribute)}}let x=n.targets;if(u(x)&&!p){let R=x.length;for(let O=0;O<R;++O)s.morphTargets.push(C2e(e,t,x[O],f,a,r))}let C=n.indices;if(u(C)){let R=g2e(e,t,C,g,m,f,r);u(R)&&(a.indicesPlan=R,s.indices=R.indices)}let T=l.EXT_structural_metadata,E=l.EXT_mesh_features,S=l.EXT_feature_metadata,D=u(S);u(E)?b2e(e,t,s,E,o,r):D&&S2e(e,t,s,S,o,r),u(T)?D2e(s,T):D&&v2e(e,s,S);let w=n.mode;if(p&&w!==Me.TRIANGLES)throw new ue("Only triangle meshes can be used for classification.");return s.primitiveType=w,s}function E2e(e,t,n){let i=n.indices;return UV(e,t,i,!1)}function b2e(e,t,n,i,o,r){let s;u(i)&&u(i.featureIds)?s=i.featureIds:s=[];for(let a=0;a<s.length;a++){let c=s[a],l=`featureId_${a}`,f;u(c.texture)?f=A2e(e,t,c,o,r,l):u(c.attribute)?f=Gne(c,l):f=jne(c,l),n.featureIds.push(f)}}function S2e(e,t,n,i,o,r){let s=t.extensions.EXT_feature_metadata.featureTables,a=0,c=i.featureIdAttributes;if(u(c)){let f=c.length;for(let d=0;d<f;++d){let p=c[d],g=p.featureTable,m=e._sortedPropertyTableIds.indexOf(g),A=s[g].count,x=`featureId_${a}`;a++;let C;u(p.featureIds.attribute)?C=Wne(p,m,A,x):C=Yne(p,m,A,x),n.featureIds.push(C)}}let l=i.featureIdTextures;if(u(l)){let f=l.length;for(let d=0;d<f;++d){let p=l[d],g=p.featureTable,m=e._sortedPropertyTableIds.indexOf(g),A=s[g].count,x=`featureId_${a}`;a++;let C=x2e(e,t,p,m,o,r,A,x);n.featureIds.push(C)}}}function D2e(e,t){u(t)&&(u(t.propertyTextures)&&(e.propertyTextureIds=t.propertyTextures),u(t.propertyAttributes)&&(e.propertyAttributeIds=t.propertyAttributes))}function v2e(e,t,n){u(n.featureTextures)&&(t.propertyTextureIds=n.featureTextures.map(function(i){return e._sortedFeatureTextureIds.indexOf(i)}))}function w2e(e,t,n,i){let o=n.EXT_mesh_gpu_instancing,r=new NFe,s=o.attributes;if(u(s)){for(let f in s)if(s.hasOwnProperty(f)){let d=s[f];r.attributes.push(_2e(e,t,d,s,f,i))}}let a=y(o.extensions,y.EMPTY_OBJECT),c=n.EXT_instance_features,l=a.EXT_feature_metadata;return u(c)?I2e(r,c):u(l)&&P2e(t,r,l,e._sortedPropertyTableIds),r}function I2e(e,t){let n=t.featureIds;for(let i=0;i<n.length;i++){let o=n[i],r=`instanceFeatureId_${i}`,s;u(o.attribute)?s=Gne(o,r):s=jne(o,r),e.featureIds.push(s)}}function P2e(e,t,n,i){let o=e.extensions.EXT_feature_metadata.featureTables,r=n.featureIdAttributes;if(u(r)){let s=r.length;for(let a=0;a<s;++a){let c=r[a],l=c.featureTable,f=i.indexOf(l),d=o[l].count,p=`instanceFeatureId_${a}`,g;u(c.featureIds.attribute)?g=Wne(c,f,d,p):g=Yne(c,f,d,p),t.featureIds.push(g)}}}function O2e(e,t,n,i,o){let r=new VFe;r.name=n.name,r.matrix=Xu(M,n.matrix),r.translation=Xu(h,n.translation),r.rotation=Xu(Le,n.rotation),r.scale=Xu(h,n.scale);let s=y(n.extensions,y.EMPTY_OBJECT),a=s.EXT_mesh_gpu_instancing,c=s.AGI_articulations;if(u(a)){if(e._loadForClassification)throw new ue("Models with the EXT_mesh_gpu_instancing extension cannot be used for classification.");r.instances=w2e(e,t,s,o)}u(c)&&(r.articulationName=c.articulationName);let l=n.mesh;if(u(l)){let f=t.meshes[l],d=f.primitives,p=d.length;for(let x=0;x<p;++x)r.primitives.push(T2e(e,t,d[x],u(r.instances),i,o));let g=y(n.weights,f.weights),A=r.primitives[0].morphTargets.length;r.morphWeights=u(g)?g.slice():new Array(A).fill(0)}return r}function R2e(e,t,n,i){if(!u(t.nodes))return[];let o,r,s=t.nodes.length,a=new Array(s);for(o=0;o<s;++o){let c=O2e(e,t,t.nodes[o],n,i);c.index=o,a[o]=c}for(o=0;o<s;++o){let c=t.nodes[o].children;if(u(c)){let l=c.length;for(r=0;r<l;++r)a[o].children.push(a[c[r]])}}return a}function B2e(e,t,n,i){let o=new FFe,r=n.joints,s=r.length,a=new Array(s);for(let l=0;l<s;++l)a[l]=i[r[l]];o.joints=a;let c=n.inverseBindMatrices;return u(c)?o.inverseBindMatrices=UV(e,t,c):o.inverseBindMatrices=new Array(s).fill(M.IDENTITY),o}function M2e(e,t,n){let i=t.skins;if(e._loadForClassification||!u(i))return[];let o=t.skins.length,r=new Array(o);for(let a=0;a<o;++a){let c=B2e(e,t,t.skins[a],n);c.index=a,r[a]=c}let s=n.length;for(let a=0;a<s;++a){let c=t.nodes[a].skin;u(c)&&(n[a].skin=r[c])}return r}function L2e(e,t,n,i,o,r){let s=new e1({gltf:t,extension:n,extensionLegacy:i,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:o,frameState:r,asynchronous:e._asynchronous});return s.load(),e._structuralMetadataLoader=s,s}function N2e(e,t,n){let i=new kFe,o=n.input;i.input=UV(e,t,o);let r=n.interpolation;i.interpolation=y(ud[r],ud.LINEAR);let s=n.output;return i.output=UV(e,t,s,!0),i}function F2e(e,t){let n=new zFe,i=e.node;if(!u(i))return;n.node=t[i];let o=e.path.toUpperCase();return n.path=UFe[o],n}function V2e(e,t,n){let i=new HFe,o=e.sampler;return i.sampler=t[o],i.target=F2e(e.target,n),i}function U2e(e,t,n,i){let o,r=new GFe;r.name=n.name;let s=n.samplers,a=s.length,c=new Array(a);for(o=0;o<a;o++){let p=N2e(e,t,s[o]);p.index=o,c[o]=p}let l=n.channels,f=l.length,d=new Array(f);for(o=0;o<f;o++)d[o]=V2e(l[o],c,i);return r.samplers=c,r.channels=d,r}function k2e(e,t,n){let i=t.animations;if(e._loadForClassification||!u(i))return[];let o=t.animations.length,r=new Array(o);for(let s=0;s<o;++s){let a=U2e(e,t,t.animations[s],n);a.index=s,r[s]=a}return r}function z2e(e){let t=new WFe;t.name=e.name;let n=e.type.toUpperCase();return t.type=Ya[n],t.minimumValue=e.minimumValue,t.maximumValue=e.maximumValue,t.initialValue=e.initialValue,t}function H2e(e){let t=new jFe;t.name=e.name;let n=e.stages,i=n.length,o=new Array(i);for(let r=0;r<i;r++){let s=z2e(n[r]);o[r]=s}return t.stages=o,t}function G2e(e){let n=y(e.extensions,y.EMPTY_OBJECT).AGI_articulations;if(!u(n))return[];let i=n.articulations;if(!u(i))return[];let o=i.length,r=new Array(o);for(let s=0;s<o;s++){let a=H2e(i[s]);r[s]=a}return r}function W2e(e){let t;return u(e.scenes)&&u(e.scene)&&(t=e.scenes[e.scene].nodes),t=y(t,e.nodes),t=u(t)?t:[],t}function j2e(e,t){let n=new qFe,i=W2e(e);return n.nodes=i.map(function(o){return t[o]}),n}var Y2e=new h;function q2e(e,t,n,i,o,r){let s=t.asset.version;if(s!=="1.0"&&s!=="2.0"){let D=e._gltfResource.url;throw new ue(`Failed to load ${D}: +Unsupported glTF version: ${s}`)}let a=t.extensionsRequired;u(a)&&(sn.checkSupportedExtensions(a),e._hasKhrMeshQuantization=a.includes("KHR_mesh_quantization"));let c=y(t.extensions,y.EMPTY_OBJECT),l=c.EXT_structural_metadata,f=c.EXT_feature_metadata,d=c.CESIUM_RTC;if(u(f)){let D=f.featureTables,w=f.featureTextures,R=u(D)?D:[],O=u(w)?w:[];e._sortedPropertyTableIds=Object.keys(R).sort(),e._sortedFeatureTextureIds=Object.keys(O).sort()}let p=R2e(e,t,n,i),g=M2e(e,t,p),m=k2e(e,t,p),A=G2e(t),x=j2e(t,p),C=new XFe,T=new YFe,E=t.asset.copyright;if(u(E)){let D=E.split(";").map(function(w){return new Zt(w.trim())});T.credits=D}if(C.asset=T,C.scene=x,C.nodes=p,C.skins=g,C.animations=m,C.articulations=A,C.upAxis=e._upAxis,C.forwardAxis=e._forwardAxis,u(d)){let D=h.fromArray(d.center,0,Y2e);C.transform=M.fromTranslation(D,C.transform)}if(e._components=C,u(l)||u(f)){let w=L2e(e,t,l,f,n,i).promise.then(function(R){e.isDestroyed()||(C.structuralMetadata=R.structuralMetadata)});e._loaderPromises.push(w)}let S=[];S.push.apply(S,e._loaderPromises),e._incrementallyLoadTextures||S.push.apply(S,e._texturesPromises),Promise.all(S).then(function(){e.isDestroyed()||(e._state=or.POST_PROCESSING)}).catch(o),Promise.all(e._texturesPromises).then(function(){e.isDestroyed()||(e._textureState=or.PROCESSED)}).catch(r)}function X2e(e){let t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)Ui.unload(t[i]);e._textureLoaders.length=0}function qne(e){let t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)Ui.unload(t[i]);e._bufferViewLoaders.length=0}function K2e(e){let t=e._geometryLoaders,n=t.length;for(let i=0;i<n;++i)Ui.unload(t[i]);e._geometryLoaders.length=0}function Z2e(e){let t=e._postProcessBuffers,n=t.length;for(let i=0;i<n;i++){let o=t[i];o.isDestroyed()||o.destroy()}t.length=0}function J2e(e){u(e._structuralMetadataLoader)&&(e._structuralMetadataLoader.destroy(),e._structuralMetadataLoader=void 0)}xp.prototype.isUnloaded=function(){return this._state===or.UNLOADED};xp.prototype.unload=function(){u(this._gltfJsonLoader)&&Ui.unload(this._gltfJsonLoader),this._gltfJsonLoader=void 0,X2e(this),qne(this),K2e(this),Z2e(this),J2e(this),this._components=void 0,this._typedArray=void 0,this._state=or.UNLOADED};var Cp=xp;var n1=`uniform sampler2D u_pointCloud_colorGBuffer; +uniform sampler2D u_pointCloud_depthGBuffer; +uniform vec2 u_distanceAndEdlStrength; +in vec2 v_textureCoordinates; + +vec2 neighborContribution(float log2Depth, vec2 offset) +{ + float dist = u_distanceAndEdlStrength.x; + vec2 texCoordOrig = v_textureCoordinates + offset * dist; + vec2 texCoord0 = v_textureCoordinates + offset * floor(dist); + vec2 texCoord1 = v_textureCoordinates + offset * ceil(dist); + + float depthOrLogDepth0 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord0)); + float depthOrLogDepth1 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord1)); + + // ignore depth values that are the clear depth + if (depthOrLogDepth0 == 0.0 || depthOrLogDepth1 == 0.0) { + return vec2(0.0); + } + + // interpolate the two adjacent depth values + float depthMix = mix(depthOrLogDepth0, depthOrLogDepth1, fract(dist)); + vec4 eyeCoordinate = czm_windowToEyeCoordinates(texCoordOrig, depthMix); + return vec2(max(0.0, log2Depth - log2(-eyeCoordinate.z / eyeCoordinate.w)), 1.0); +} + +void main() +{ + float depthOrLogDepth = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, v_textureCoordinates)); + + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depthOrLogDepth); + eyeCoordinate /= eyeCoordinate.w; + + float log2Depth = log2(-eyeCoordinate.z); + + if (depthOrLogDepth == 0.0) // 0.0 is the clear value for the gbuffer + { + discard; + } + + vec4 color = texture(u_pointCloud_colorGBuffer, v_textureCoordinates); + + // sample from neighbors left, right, down, up + vec2 texelSize = 1.0 / czm_viewport.zw; + + vec2 responseAndCount = vec2(0.0); + + responseAndCount += neighborContribution(log2Depth, vec2(-texelSize.x, 0.0)); + responseAndCount += neighborContribution(log2Depth, vec2(+texelSize.x, 0.0)); + responseAndCount += neighborContribution(log2Depth, vec2(0.0, -texelSize.y)); + responseAndCount += neighborContribution(log2Depth, vec2(0.0, +texelSize.y)); + + float response = responseAndCount.x / responseAndCount.y; + float strength = u_distanceAndEdlStrength.y; + float shade = exp(-response * 300.0 * strength); + color.rgb *= shade; + out_FragColor = vec4(color); + + // Input and output depth are the same. + gl_FragDepth = depthOrLogDepth; +} +`;function NT(){this._framebuffer=new mi({colorAttachmentsLength:2,depth:!0,supportsDepthTexture:!0}),this._drawCommand=void 0,this._clearCommand=void 0,this._strength=1,this._radius=1}Object.defineProperties(NT.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}},colorGBuffer:{get:function(){return this._framebuffer.getColorTexture(0)}},depthGBuffer:{get:function(){return this._framebuffer.getColorTexture(1)}}});function Q2e(e){e._framebuffer.destroy(),e._drawCommand=void 0,e._clearCommand=void 0}var M5=new H;function $2e(e,t){let n=new ke({defines:["LOG_DEPTH_WRITE"],sources:[n1]}),i={u_pointCloud_colorGBuffer:function(){return e.colorGBuffer},u_pointCloud_depthGBuffer:function(){return e.depthGBuffer},u_distanceAndEdlStrength:function(){return M5.x=e._radius,M5.y=e._strength,M5}},o=Ue.fromCache({blending:un.ALPHA_BLEND,depthMask:!0,depthTest:{enabled:!0},stencilTest:Bt.setCesium3DTileBit(),stencilMask:Bt.CESIUM_3D_TILE_MASK});e._drawCommand=t.createViewportQuadCommand(n,{uniformMap:i,renderState:o,pass:Ee.CESIUM_3D_TILE,owner:e}),e._clearCommand=new ii({framebuffer:e.framebuffer,color:new z(0,0,0,0),depth:1,renderState:Ue.fromCache(),pass:Ee.CESIUM_3D_TILE,owner:e})}function e3e(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i),$2e(e,t)}function Xne(e){return e.drawBuffers&&e.fragmentDepth}NT.isSupported=Xne;function t3e(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"EC");if(!u(n)){let i=t._attributeLocations,o=t.fragmentShaderSource.clone();o.sources.splice(0,0,`layout (location = 0) out vec4 out_FragData_0; +layout (location = 1) out vec4 out_FragData_1;`),o.sources=o.sources.map(function(r){return r=ke.replaceMain(r,"czm_point_cloud_post_process_main"),r=r.replaceAll(/out_FragColor/g,"out_FragData_0"),r}),o.sources.push(`void main() +{ + czm_point_cloud_post_process_main(); +#ifdef LOG_DEPTH + czm_writeLogDepth(); + out_FragData_1 = czm_packDepth(gl_FragDepth); +#else + out_FragData_1 = czm_packDepth(gl_FragCoord.z); +#endif +}`),n=e.shaderCache.createDerivedShaderProgram(t,"EC",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:o,attributeLocations:i})}return n}NT.prototype.update=function(e,t,n,i){if(!Xne(e.context))return;this._strength=n.eyeDomeLightingStrength,this._radius=n.eyeDomeLightingRadius*e.pixelRatio,e3e(this,e.context);let o,r=e.commandList,s=r.length;for(o=t;o<s;++o){let l=r[o];if(l.primitiveType!==Me.POINTS||l.pass===Ee.TRANSLUCENT)continue;let f,d,p=l.derivedCommands.pointCloudProcessor;u(p)&&(f=p.command,d=p.originalShaderProgram),(!u(f)||l.dirty||d!==l.shaderProgram||f.framebuffer!==this.framebuffer)&&(f=tt.shallowClone(l,f),f.framebuffer=this.framebuffer,f.shaderProgram=t3e(e.context,l.shaderProgram),f.castShadows=!1,f.receiveShadows=!1,u(p)||(p={command:f,originalShaderProgram:l.shaderProgram},l.derivedCommands.pointCloudProcessor=p),p.originalShaderProgram=l.shaderProgram),r[o]=f}let a=this._clearCommand,c=this._drawCommand;c.boundingVolume=i,r.push(c),r.push(a)};NT.prototype.isDestroyed=function(){return!1};NT.prototype.destroy=function(){return Q2e(this),le(this)};var Tp=NT;function Kne(e){let t=y(e,{});this.attenuation=y(t.attenuation,!1),this.geometricErrorScale=y(t.geometricErrorScale,1),this.maximumAttenuation=t.maximumAttenuation,this.baseResolution=t.baseResolution,this.eyeDomeLighting=y(t.eyeDomeLighting,!0),this.eyeDomeLightingStrength=y(t.eyeDomeLightingStrength,1),this.eyeDomeLightingRadius=y(t.eyeDomeLightingRadius,1),this.backFaceCulling=y(t.backFaceCulling,!1),this.normalShading=y(t.normalShading,!0)}Kne.isSupported=function(e){return Tp.isSupported(e.context)};var Oh=Kne;var ha={},n3e=new oe(0,0,0,1),Ka=new oe,i3e=new Ye,L5=new H,N5=new H;ha.wgs84ToWindowCoordinates=function(e,t,n){return ha.wgs84WithEyeOffsetToWindowCoordinates(e,t,h.ZERO,n)};var Zne=new oe,Jne=new h;function i1(e,t,n,i){let o=n.viewMatrix,r=M.multiplyByVector(o,oe.fromElements(e.x,e.y,e.z,1,Zne),Zne),s=h.multiplyComponents(t,h.normalize(r,Jne),Jne);return r.x+=t.x+s.x,r.y+=t.y+s.y,r.z+=s.z,M.multiplyByVector(n.frustum.projectionMatrix,r,i)}var o3e=new he(Math.PI,P.PI_OVER_TWO),r3e=new h,s3e=new h;ha.wgs84WithEyeOffsetToWindowCoordinates=function(e,t,n,i){let o=e.frameState,r=ha.computeActualWgs84Position(o,t,n3e);if(!u(r))return;let s=e.canvas,a=i3e;a.x=0,a.y=0,a.width=s.clientWidth,a.height=s.clientHeight;let c=e.camera,l=!1;if(o.mode===te.SCENE2D){let f=e.mapProjection,d=o3e,p=f.project(d,r3e),g=h.clone(c.position,s3e),m=c.frustum.clone(),A=M.computeViewportTransformation(a,0,1,new M),x=c.frustum.projectionMatrix,C=c.positionWC.y,T=h.fromElements(P.sign(C)*p.x-C,0,-c.positionWC.x),E=Ot.pointToGLWindowCoordinates(x,A,T);if(C===0||E.x<=0||E.x>=s.clientWidth)l=!0;else{if(E.x>s.clientWidth*.5){a.width=E.x,c.frustum.right=p.x-C,Ka=i1(r,n,c,Ka),ha.clipToGLWindowCoordinates(a,Ka,L5),a.x+=E.x,c.position.x=-c.position.x;let S=c.frustum.right;c.frustum.right=-c.frustum.left,c.frustum.left=-S,Ka=i1(r,n,c,Ka),ha.clipToGLWindowCoordinates(a,Ka,N5)}else{a.x+=E.x,a.width-=E.x,c.frustum.left=-p.x-C,Ka=i1(r,n,c,Ka),ha.clipToGLWindowCoordinates(a,Ka,L5),a.x=a.x-a.width,c.position.x=-c.position.x;let S=c.frustum.left;c.frustum.left=-c.frustum.right,c.frustum.right=-S,Ka=i1(r,n,c,Ka),ha.clipToGLWindowCoordinates(a,Ka,N5)}h.clone(g,c.position),c.frustum=m.clone(),i=H.clone(L5,i),(i.x<0||i.x>s.clientWidth)&&(i.x=N5.x)}}if(o.mode!==te.SCENE2D||l){if(Ka=i1(r,n,c,Ka),Ka.z<0&&!(c.frustum instanceof en)&&!(c.frustum instanceof Tr))return;i=ha.clipToGLWindowCoordinates(a,Ka,i)}return i.y=s.clientHeight-i.y,i};ha.wgs84ToDrawingBufferCoordinates=function(e,t,n){if(n=ha.wgs84ToWindowCoordinates(e,t,n),!!u(n))return ha.transformWindowToDrawingBuffer(e,n,n)};var Ep=new h,a3e=new he;ha.computeActualWgs84Position=function(e,t,n){let i=e.mode;if(i===te.SCENE3D)return h.clone(t,n);let o=e.mapProjection,r=o.ellipsoid.cartesianToCartographic(t,a3e);if(!u(r))return;if(o.project(r,Ep),i===te.COLUMBUS_VIEW)return h.fromElements(Ep.z,Ep.x,Ep.y,n);if(i===te.SCENE2D)return h.fromElements(0,Ep.x,Ep.y,n);let s=e.morphTime;return h.fromElements(P.lerp(Ep.z,t.x,s),P.lerp(Ep.x,t.y,s),P.lerp(Ep.y,t.z,s),n)};var Qne=new h,$ne=new h,eie=new M;ha.clipToGLWindowCoordinates=function(e,t,n){return h.divideByScalar(t,t.w,Qne),M.computeViewportTransformation(e,0,1,eie),M.multiplyByPoint(eie,Qne,$ne),H.fromCartesian3($ne,n)};ha.transformWindowToDrawingBuffer=function(e,t,n){let i=e.canvas,o=e.drawingBufferWidth/i.clientWidth,r=e.drawingBufferHeight/i.clientHeight;return H.fromElements(t.x*o,t.y*r,n)};var c3e=new oe,tie=new oe;ha.drawingBufferToWgs84Coordinates=function(e,t,n,i){let r=e.context.uniformState,s=r.currentFrustum,a=s.x,c=s.y;if(e.frameState.useLogDepth){let g=n*r.log2FarDepthFromNearPlusOne,m=Math.pow(2,g)-1;n=c*(1-a/(m+a))/(c-a)}let l=e.view.passState.viewport,f=oe.clone(oe.UNIT_W,c3e);f.x=(t.x-l.x)/l.width*2-1,f.y=(t.y-l.y)/l.height*2-1,f.z=n*2-1,f.w=1;let d,p=e.camera.frustum;if(!u(p.fovy))u(p._offCenterFrustum)&&(p=p._offCenterFrustum),d=tie,d.x=(f.x*(p.right-p.left)+p.left+p.right)*.5,d.y=(f.y*(p.top-p.bottom)+p.bottom+p.top)*.5,d.z=(f.z*(a-c)-a-c)*.5,d.w=1,d=M.multiplyByVector(r.inverseView,d,d);else{d=M.multiplyByVector(r.inverseViewProjection,f,tie);let g=1/d.w;h.multiplyByScalar(d,g,d)}return h.fromCartesian4(d,i)};var qi=ha;var l3e={LEFT:-1,NONE:0,RIGHT:1},Pc=Object.freeze(l3e);var FT={};FT._deprecationWarning=nr;var bp=Uint32Array.BYTES_PER_ELEMENT;FT.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=bp;let r=o.getUint32(t,!0);if(r!==1)throw new ue(`Only Batched 3D Model version 1 is supported. Version ${r} is not.`);t+=bp;let s=o.getUint32(t,!0);t+=bp;let a=o.getUint32(t,!0);t+=bp;let c=o.getUint32(t,!0);t+=bp;let l=o.getUint32(t,!0);t+=bp;let f=o.getUint32(t,!0);t+=bp;let d;l>=570425344?(t-=bp*2,d=a,l=c,f=0,a=0,c=0,FT._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):f>=570425344&&(t-=bp,d=l,l=a,f=c,a=0,c=0,FT._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let p;a===0?p={BATCH_LENGTH:y(d,0)}:(p=Oo(i,t,a),t+=a);let g=new Uint8Array(e,t,c);t+=c;let m,A;l>0&&(m=Oo(i,t,l),t+=l,f>0&&(A=new Uint8Array(e,t,f),A=new Uint8Array(A),t+=f));let x=n+s-t;if(x===0)throw new ue("glTF byte length must be greater than 0.");let C;return t%4===0?C=new Uint8Array(e,t,x):(FT._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),C=new Uint8Array(i.subarray(t,t+x))),{batchLength:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:A,gltf:C}};var o1=FT;function r1(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function nie(e,t,n,i,o,r){let s=e._cachedTypedArrays,a=s[t];return u(a)||(a=q.createArrayBufferView(n,e.buffer.buffer,e.buffer.byteOffset+r,o*i),s[t]=a),a}function u3e(e,t,n,i){let o=e._cachedTypedArrays,r=o[t];return u(r)||(r=q.createTypedArray(n,i),o[t]=r),r}r1.prototype.getGlobalProperty=function(e,t,n){let i=this.json[e];if(u(i))return u(i.byteOffset)?(t=y(t,q.UNSIGNED_INT),n=y(n,1),nie(this,e,t,n,1,i.byteOffset)):i};r1.prototype.hasProperty=function(e){return u(this.json[e])};r1.prototype.getPropertyArray=function(e,t,n){let i=this.json[e];if(u(i))return u(i.byteOffset)?(u(i.componentType)&&(t=q.fromName(i.componentType)),nie(this,e,t,n,this.featuresLength,i.byteOffset)):u3e(this,e,t,i)};r1.prototype.getProperty=function(e,t,n,i,o){let r=this.json[e];if(!u(r))return;let s=this.getPropertyArray(e,t,n);if(n===1)return s[i];for(let a=0;a<n;++a)o[a]=s[n*i+a];return o};var fd=r1;function s1(e){let t=e.count,n=e.batchTable,i=e.binaryBody,o=y(e.parseAsPropertyAttributes,!1),r=e.customAttributeOutput,s=f3e(n),a;u(s.jsonProperties)&&(a=new yp({count:t,properties:s.jsonProperties}));let c;u(s.hierarchy)&&(c=new oA({extension:s.hierarchy,binaryBody:i}));let l=ad.BATCH_TABLE_CLASS_NAME,f=s.binaryProperties,d,p,g;if(o){let x=h3e(t,l,f,i,r);g=x.transcodedSchema,p=[new TA({propertyAttribute:x.propertyAttributeJson,class:x.transcodedClass})]}else{let x=d3e(t,l,f,i);g=x.transcodedSchema;let C=x.featureTableJson;d=new fl({count:C.count,properties:C.properties,class:x.transcodedClass,bufferViews:x.bufferViewsTypedArrays}),p=[]}let m=[];if(u(d)||u(a)||u(c)){let x=new Ic({id:0,name:"Batch Table",count:t,metadataTable:d,jsonMetadataTable:a,batchTableHierarchy:c});m.push(x)}let A={schema:g,propertyTables:m,propertyAttributes:p,extensions:s.extensions,extras:s.extras};return new da(A)}function f3e(e){let t=e.HIERARCHY,n=e.extras,i=e.extensions,o;u(t)?(s1._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),o=t):u(i)&&(o=i["3DTILES_batch_table_hierarchy"]);let r,s={};for(let a in e){if(!e.hasOwnProperty(a)||a==="HIERARCHY"||a==="extensions"||a==="extras")continue;let c=e[a];Array.isArray(c)?(r=u(r)?r:{},r[a]=c):s[a]=c}return{binaryProperties:s,jsonProperties:r,hierarchy:o,extras:n,extensions:i}}function d3e(e,t,n,i){let o={},r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;if(!u(i))throw new ue(`Property ${d} requires a batch table binary.`);let p=n[d],g=ql(p);r[d]={bufferView:a},o[d]=iie(p),s[a]=g.createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e),a++}let c={classes:{}};c.classes[t]={properties:o};let l=cd.fromJson(c);return{featureTableJson:{class:t,count:e,properties:r},bufferViewsTypedArrays:s,transcodedSchema:l,transcodedClass:l.classes[t]}}function h3e(e,t,n,i,o){let r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;let p=n[d];if(!u(i)&&!u(p.typedArray))throw new ue(`Property ${d} requires a batch table binary.`);let g=sn.sanitizeGlslIdentifier(d);(g===""||r.hasOwnProperty(g))&&(g=`property_${a}`,a++);let m=iie(p);m.name=d,r[g]=m;let A=g.toUpperCase();A.startsWith("_")||(A=`_${A}`);let x=p.typedArray;u(x)||(x=ql(p).createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e));let C=new Rt.Attribute;C.name=A,C.count=e,C.type=p.type;let T=q.fromTypedArray(x);(T===q.INT||T===q.UNSIGNED_INT||T===q.DOUBLE)&&(s1._oneTimeWarning("Cast pnts property to floats",`Point cloud property "${A}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),x=new Float32Array(x)),C.componentDatatype=q.fromTypedArray(x),C.typedArray=x,o.push(C),s[g]={attribute:A}}let c={classes:{}};c.classes[t]={properties:r};let l=cd.fromJson(c);return{class:t,propertyAttributeJson:{properties:s},transcodedSchema:l,transcodedClass:l.classes[t]}}function iie(e){let t=m3e(e.componentType);return{type:e.type,componentType:t}}function m3e(e){switch(e){case"BYTE":return"INT8";case"UNSIGNED_BYTE":return"UINT8";case"SHORT":return"INT16";case"UNSIGNED_SHORT":return"UINT16";case"INT":return"INT32";case"UNSIGNED_INT":return"UINT32";case"FLOAT":return"FLOAT32";case"DOUBLE":return"FLOAT64"}}s1._deprecationWarning=nr;s1._oneTimeWarning=wt;var Sp=s1;var SA={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},p3e=Rt.FeatureIdAttribute;function Sg(e){e=y(e,y.EMPTY_OBJECT);let t=e.b3dmResource,n=e.baseResource,i=e.arrayBuffer,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Po.Y),l=y(e.forwardAxis,Po.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadAttributesFor2D,!1),p=y(e.loadIndicesForWireframe,!1),g=y(e.loadPrimitiveOutline,!0),m=y(e.loadForClassification,!1);n=u(n)?n:t.clone(),this._b3dmResource=t,this._baseResource=n,this._arrayBuffer=i,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=l,this._loadAttributesAsTypedArray=f,this._loadAttributesFor2D=d,this._loadIndicesForWireframe=p,this._loadPrimitiveOutline=g,this._loadForClassification=m,this._state=SA.UNLOADED,this._promise=void 0,this._gltfLoader=void 0,this._batchLength=0,this._propertyTable=void 0,this._batchTable=void 0,this._components=void 0,this._transform=M.IDENTITY}u(Object.create)&&(Sg.prototype=Object.create(no.prototype),Sg.prototype.constructor=Sg);Object.defineProperties(Sg.prototype,{promise:{get:function(){return this._promise}},texturesLoadedPromise:{get:function(){return this._gltfLoader.texturesLoadedPromise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Sg.prototype.load=function(){let e=o1.parse(this._arrayBuffer,this._byteOffset),t=e.batchLength,n=e.featureTableJson,i=e.featureTableBinary,o=e.batchTableJson,r=e.batchTableBinary,s=new fd(n,i);t=s.getGlobalProperty("BATCH_LENGTH"),this._batchLength=t;let a=s.getGlobalProperty("RTC_CENTER",q.FLOAT,3);u(a)&&(this._transform=M.fromTranslation(h.fromArray(a))),this._batchTable={json:o,binary:r};let c=new Cp({typedArray:e.gltf,upAxis:this._upAxis,forwardAxis:this._forwardAxis,gltfResource:this._b3dmResource,baseResource:this._baseResource,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadAttributesFor2D:this._loadAttributesFor2D,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline,loadForClassification:this._loadForClassification,renameBatchIdSemantic:!0});this._gltfLoader=c,this._state=SA.LOADING;let l=this;return c.load(),this._promise=c.promise.then(function(){if(l.isDestroyed())return;let f=c.components;return f.transform=M.multiplyTransformation(l._transform,f.transform,f.transform),g3e(l,f),l._components=f,l._arrayBuffer=void 0,l._state=SA.READY,l}).catch(function(f){if(!l.isDestroyed())return _3e(l,f)}),this._promise};function _3e(e,t){e.unload(),e._state=SA.FAILED;let n="Failed to load b3dm";return t=e.getError(n,t),Promise.reject(t)}Sg.prototype.process=function(e){this._state===SA.LOADING&&(this._state=SA.PROCESSING),this._state===SA.PROCESSING&&this._gltfLoader.process(e)};function g3e(e,t){let n=e._batchTable,i=e._batchLength;if(i===0)return;let o;if(u(n.json))o=Sp({count:i,batchTable:n.json,binaryBody:n.binary});else{let a=new Ic({name:ad.BATCH_TABLE_CLASS_NAME,count:i});o=new da({schema:{},propertyTables:[a]})}let r=t.scene.nodes,s=r.length;for(let a=0;a<s;a++)oie(r[a]);t.structuralMetadata=o}function oie(e){let t=e.children.length;for(let i=0;i<t;i++)oie(e.children[i]);let n=e.primitives.length;for(let i=0;i<n;i++){let o=e.primitives[i],r=sn.getAttributeBySemantic(o,Ct.FEATURE_ID);if(u(r)){r.setIndex=0;let s=new p3e;s.propertyTableId=0,s.setIndex=0,s.positionalLabel="featureId_0",o.featureIds.push(s)}}}Sg.prototype.unload=function(){u(this._gltfLoader)&&this._gltfLoader.unload(),this._components=void 0,this._arrayBuffer=void 0};var a1=Sg;function Dg(e){e=y(e,y.EMPTY_OBJECT),this._geoJson=e.geoJson,this._promise=void 0,this._process=function(t,n){},this._components=void 0}u(Object.create)&&(Dg.prototype=Object.create(no.prototype),Dg.prototype.constructor=Dg);Object.defineProperties(Dg.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Dg.prototype.load=function(){let e=this,t=new Promise(function(n){e._process=function(i,o){u(i._components)||(i._components=P3e(i._geoJson,o),i._geoJson=void 0,n(i))}});return this._promise=t,t};Dg.prototype.process=function(e){this._process(this,e)};function y3e(){this.lines=void 0,this.points=void 0,this.properties=void 0}function A3e(){this.features=[]}function F5(e){let t=e[0],n=e[1],i=y(e[2],0);return new h(t,n,i)}function V5(e){let t=e.length,n=new Array(t);for(let o=0;o<t;o++)n[o]=F5(e[o]);return[n]}function x3e(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=V5(e[i])[0];return n}function rie(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=V5(e[i])[0];return n}function C3e(e){let t=e.length,n=[];for(let i=0;i<t;i++)Array.prototype.push.apply(n,rie(e[i]));return n}function T3e(e){return[F5(e)]}function E3e(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=F5(e[i]);return n}var b3e={LineString:V5,MultiLineString:x3e,MultiPolygon:C3e,Polygon:rie,MultiPoint:E3e,Point:T3e},S3e={LineString:Me.LINES,MultiLineString:Me.LINES,MultiPolygon:Me.LINES,Polygon:Me.LINES,MultiPoint:Me.POINTS,Point:Me.POINTS};function sie(e,t){if(!u(e.geometry))return;let n=e.geometry.type,i=b3e[n],o=S3e[n],r=e.geometry.coordinates;if(!u(i)||!u(r))return;let s=new y3e;o===Me.LINES?s.lines=i(r):o===Me.POINTS&&(s.points=i(r)),s.properties=e.properties,t.features.push(s)}function D3e(e,t){let n=e.features,i=n.length;for(let o=0;o<i;o++)sie(n[o],t)}var v3e={FeatureCollection:D3e,Feature:sie},kV=new h;function w3e(e,t,n){let i=0,o=0,r=e.length;for(let L=0;L<r;L++){let N=e[L];if(u(N.lines)){let _=N.lines.length;for(let b=0;b<_;b++){let v=N.lines[b];i+=v.length,o+=(v.length-1)*2}}}let s=new Float32Array(i*3),a=new Float32Array(i),c=Fe.createTypedArray(i,o),l=Fe.fromTypedArray(c),f=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),d=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),p=0,g=0;for(let L=0;L<r;L++){let N=e[L];if(!u(N.lines))continue;let _=N.lines.length;for(let b=0;b<_;b++){let v=N.lines[b],I=v.length;for(let B=0;B<I;B++){let F=v[B],k=h.fromDegrees(F.x,F.y,F.z,ie.WGS84,kV),U=M.multiplyByPoint(t,k,kV);h.minimumByComponent(f,U,f),h.maximumByComponent(d,U,d),h.pack(U,s,p*3),a[p]=L,B<I-1&&(c[g*2]=p,c[g*2+1]=p+1,g++),p++}}}let m=lt.createVertexBuffer({typedArray:s,context:n.context,usage:Ne.STATIC_DRAW});m.vertexArrayDestroyable=!1;let A=lt.createVertexBuffer({typedArray:a,context:n.context,usage:Ne.STATIC_DRAW});A.vertexArrayDestroyable=!1;let x=lt.createIndexBuffer({typedArray:c,context:n.context,usage:Ne.STATIC_DRAW,indexDatatype:l});x.vertexArrayDestroyable=!1;let C=new Rt.Attribute;C.semantic=Ct.POSITION,C.componentDatatype=q.FLOAT,C.type=rn.VEC3,C.count=i,C.min=f,C.max=d,C.buffer=m;let T=new Rt.Attribute;T.semantic=Ct.FEATURE_ID,T.setIndex=0,T.componentDatatype=q.FLOAT,T.type=rn.SCALAR,T.count=i,T.buffer=A;let E=[C,T],S=new Rt.Material;S.unlit=!0;let D=new Rt.Indices;D.indexDatatype=l,D.count=c.length,D.buffer=x;let w=new Rt.FeatureIdAttribute;w.featureCount=r,w.propertyTableId=0,w.setIndex=0,w.positionalLabel="featureId_0";let R=[w],O=new Rt.Primitive;return O.attributes=E,O.indices=D,O.featureIds=R,O.primitiveType=Me.LINES,O.material=S,O}function I3e(e,t,n){let i=0,o=e.length;for(let E=0;E<o;E++){let S=e[E];u(S.points)&&(i+=S.points.length)}let r=new Float32Array(i*3),s=new Float32Array(i),a=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),c=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),l=0;for(let E=0;E<o;E++){let S=e[E];if(!u(S.points))continue;let D=S.points.length;for(let w=0;w<D;w++){let R=S.points[w],O=h.fromDegrees(R.x,R.y,R.z,ie.WGS84,kV),L=M.multiplyByPoint(t,O,kV);h.minimumByComponent(a,L,a),h.maximumByComponent(c,L,c),h.pack(L,r,l*3),s[l]=E,l++}}let f=lt.createVertexBuffer({typedArray:r,context:n.context,usage:Ne.STATIC_DRAW});f.vertexArrayDestroyable=!1;let d=lt.createVertexBuffer({typedArray:s,context:n.context,usage:Ne.STATIC_DRAW});d.vertexArrayDestroyable=!1;let p=new Rt.Attribute;p.semantic=Ct.POSITION,p.componentDatatype=q.FLOAT,p.type=rn.VEC3,p.count=i,p.min=a,p.max=c,p.buffer=f;let g=new Rt.Attribute;g.semantic=Ct.FEATURE_ID,g.setIndex=0,g.componentDatatype=q.FLOAT,g.type=rn.SCALAR,g.count=i,g.buffer=d;let m=[p,g],A=new Rt.Material;A.unlit=!0;let x=new Rt.FeatureIdAttribute;x.featureCount=o,x.propertyTableId=0,x.setIndex=0,x.positionalLabel="featureId_0";let C=[x],T=new Rt.Primitive;return T.attributes=m,T.featureIds=C,T.primitiveType=Me.POINTS,T.material=A,T}function P3e(e,t){let n=new A3e,i=v3e[e.type];u(i)&&i(e,n);let o=n.features,r=o.length;if(r===0)throw new ue("GeoJSON must have at least one feature");let s={};for(let L=0;L<r;L++){let N=o[L],_=y(N.properties,y.EMPTY_OBJECT);for(let b in _)_.hasOwnProperty(b)&&(u(s[b])||(s[b]=new Array(r)))}for(let L=0;L<r;L++){let N=o[L];for(let _ in s)if(s.hasOwnProperty(_)){let b=y(N.properties[_],"");s[_][L]=b}}let a=new yp({count:r,properties:s}),l=[new Ic({id:0,count:r,jsonMetadataTable:a})],f=cd.fromJson({}),d=new da({schema:f,propertyTables:l}),p=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),g=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),m=!1,A=!1;for(let L=0;L<r;L++){let N=o[L];if(u(N.lines)){m=!0;let _=N.lines.length;for(let b=0;b<_;b++){let v=N.lines[b],I=v.length;for(let B=0;B<I;B++)h.minimumByComponent(p,v[B],p),h.maximumByComponent(g,v[B],g)}}if(u(N.points)){A=!0;let _=N.points.length;for(let b=0;b<_;b++){let v=N.points[b];h.minimumByComponent(p,v,p),h.maximumByComponent(g,v,g)}}}let x=h.midpoint(p,g,new h),C=h.fromDegrees(x.x,x.y,x.z,ie.WGS84,new h),T=Ot.eastNorthUpToFixedFrame(C,ie.WGS84,new M),E=M.inverseTransformation(T,new M),S=[];m&&S.push(w3e(o,E,t)),A&&S.push(I3e(o,E,t));let D=new Rt.Node;D.index=0,D.primitives=S;let w=[D],R=new Rt.Scene;R.nodes=w;let O=new Rt.Components;return O.scene=R,O.nodes=w,O.transform=T,O.structuralMetadata=d,O}Dg.prototype.unload=function(){this._components=void 0};var c1=Dg;var zV={};zV._deprecationWarning=nr;var vg=Uint32Array.BYTES_PER_ELEMENT;zV.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=vg;let r=o.getUint32(t,!0);if(r!==1)throw new ue(`Only Instanced 3D Model version 1 is supported. Version ${r} is not.`);t+=vg;let s=o.getUint32(t,!0);t+=vg;let a=o.getUint32(t,!0);if(a===0)throw new ue("featureTableJsonByteLength is zero, the feature table must be defined.");t+=vg;let c=o.getUint32(t,!0);t+=vg;let l=o.getUint32(t,!0);t+=vg;let f=o.getUint32(t,!0);t+=vg;let d=o.getUint32(t,!0);if(d!==1&&d!==0)throw new ue(`Only glTF format 0 (uri) or 1 (embedded) are supported. Format ${d} is not.`);t+=vg;let p=Oo(i,t,a);t+=a;let g=new Uint8Array(e,t,c);t+=c;let m,A;l>0&&(m=Oo(i,t,l),t+=l,f>0&&(A=new Uint8Array(e,t,f),A=new Uint8Array(A),t+=f));let x=n+s-t;if(x===0)throw new ue("glTF byte length must be greater than 0.");let C;return t%4===0?C=new Uint8Array(e,t,x):(zV._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),C=new Uint8Array(i.subarray(t,t+x))),{gltfFormat:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:A,gltf:C}};var l1=zV;var dd={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},HV=Rt.Attribute,O3e=Rt.FeatureIdAttribute,cie=Rt.Instances;function Dp(e){e=y(e,y.EMPTY_OBJECT);let t=e.i3dmResource,n=e.arrayBuffer,i=e.baseResource,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Po.Y),l=y(e.forwardAxis,Po.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0);i=u(i)?i:t.clone(),this._i3dmResource=t,this._baseResource=i,this._arrayBuffer=n,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=l,this._loadAttributesAsTypedArray=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._state=dd.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._gltfLoaderPromise=void 0,this._process=function(g,m){},this._postProcess=function(g,m){},this._buffers=[],this._components=void 0,this._transform=M.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}u(Object.create)&&(Dp.prototype=Object.create(no.prototype),Dp.prototype.constructor=Dp);Object.defineProperties(Dp.prototype,{promise:{get:function(){return this._promise}},texturesLoadedPromise:{get:function(){return this._gltfLoader.texturesLoadedPromise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Dp.prototype.load=function(){let e=l1.parse(this._arrayBuffer,this._byteOffset),t=e.featureTableJson,n=e.featureTableBinary,i=e.batchTableJson,o=e.batchTableBinary,r=e.gltfFormat,s=new fd(t,n);this._featureTable=s;let a=s.getGlobalProperty("INSTANCES_LENGTH");if(s.featuresLength=a,!u(a))throw new ue("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=a;let c=s.getGlobalProperty("RTC_CENTER",q.FLOAT,3);u(c)&&(this._transform=M.fromTranslation(h.fromArray(c))),this._batchTable={json:i,binary:o};let l={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(r===0){let g=ll(e.gltf);g=g.replace(/[\s\0]+$/,"");let m=this._baseResource.getDerivedResource({url:g});l.gltfResource=m,l.baseResource=m}else l.gltfResource=this._i3dmResource,l.typedArray=e.gltf;let f=new Cp(l);this._gltfLoader=f,this._state=dd.LOADING,f.load();let d=this,p=new Promise(function(g){d._process=function(m,A){m._gltfLoader.process(A)},d._postProcess=function(m,A){let C=m._gltfLoader.components;C.transform=M.multiplyTransformation(m._transform,C.transform,C.transform),L3e(m,C,A),B3e(m,C),m._components=C,m._arrayBuffer=void 0,m._state=dd.READY,g(m)}});return this._promise=f.promise.then(function(){if(!d.isDestroyed())return d._state=dd.POST_PROCESSING,p}).catch(function(g){if(!d.isDestroyed())return R3e(d,g)}),this._promise};function R3e(e,t){e.unload(),e._state=dd.FAILED;let n="Failed to load i3dm";return t=e.getError(n,t),Promise.reject(t)}Dp.prototype.process=function(e){this._state===dd.LOADING&&(this._state=dd.PROCESSING),this._state===dd.PROCESSING&&this._process(this,e),this._state===dd.POST_PROCESSING&&this._postProcess(this,e)};function B3e(e,t){let n=e._batchTable,i=e._instancesLength;if(i===0)return;let o;if(u(n.json))o=Sp({count:i,batchTable:n.json,binaryBody:n.binary});else{let r=new Ic({name:ad.BATCH_TABLE_CLASS_NAME,count:i});o=new da({schema:{},propertyTables:[r]})}t.structuralMetadata=o}var GV=new h,U5=new Array(4),M3e=new M;function L3e(e,t,n){let i,o=e._featureTable,r=e._instancesLength;if(r===0)return;let s=o.getGlobalProperty("RTC_CENTER",q.FLOAT,3),a=o.getGlobalProperty("EAST_NORTH_UP"),c=o.hasProperty("NORMAL_UP")||o.hasProperty("NORMAL_UP_OCT32P")||a,l=o.hasProperty("SCALE")||o.hasProperty("SCALE_NON_UNIFORM"),f=F3e(o,r),d;c&&(d=new Float32Array(4*r));let p;l&&(p=new Float32Array(3*r));let g=new Float32Array(r),m=h.unpackArray(f),A=new h,x=new h,C=new h,T=new h,E=new Z,S=new Le,D=new Array(4),w=new h,R=new Array(3),O=new M;if(!u(s)){let U=se.fromPoints(m);for(i=0;i<m.length;i++)h.subtract(m[i],U.center,GV),f[3*i+0]=GV.x,f[3*i+1]=GV.y,f[3*i+2]=GV.z;let G=M.fromTranslation(U.center,M3e);t.transform=M.multiplyTransformation(G,t.transform,t.transform)}for(i=0;i<r;i++){A=h.clone(m[i]),u(s)&&h.add(A,h.unpack(s),A),c&&(V3e(o,a,i,S,A,C,x,T,E,O),Le.pack(S,D,0),d[4*i+0]=D[0],d[4*i+1]=D[1],d[4*i+2]=D[2],d[4*i+3]=D[3]),l&&(U3e(o,i,w),h.pack(w,R,0),p[3*i+0]=R[0],p[3*i+1]=R[1],p[3*i+2]=R[2]);let U=o.getProperty("BATCH_ID",q.UNSIGNED_SHORT,1,i);u(U)||(U=i),g[i]=U}let L=new cie;L.transformInWorldSpace=!0;let N=e._buffers,_=new HV;if(_.name="Instance Translation",_.semantic=zr.TRANSLATION,_.componentDatatype=q.FLOAT,_.type=rn.VEC3,_.count=r,_.typedArray=f,!c){let U=lt.createVertexBuffer({context:n.context,typedArray:f,usage:Ne.STATIC_DRAW});U.vertexArrayDestroyable=!1,N.push(U),_.buffer=U}if(L.attributes.push(_),c){let U=new HV;U.name="Instance Rotation",U.semantic=zr.ROTATION,U.componentDatatype=q.FLOAT,U.type=rn.VEC4,U.count=r,U.typedArray=d,L.attributes.push(U)}if(l){let U=new HV;if(U.name="Instance Scale",U.semantic=zr.SCALE,U.componentDatatype=q.FLOAT,U.type=rn.VEC3,U.count=r,c)U.typedArray=p;else{let G=lt.createVertexBuffer({context:n.context,typedArray:p,usage:Ne.STATIC_DRAW});G.vertexArrayDestroyable=!1,N.push(G),U.buffer=G}L.attributes.push(U)}let b=new HV;b.name="Instance Feature ID",b.setIndex=0,b.semantic=zr.FEATURE_ID,b.componentDatatype=q.FLOAT,b.type=rn.SCALAR,b.count=r;let v=lt.createVertexBuffer({context:n.context,typedArray:g,usage:Ne.STATIC_DRAW});v.vertexArrayDestroyable=!1,N.push(v),b.buffer=v,L.attributes.push(b);let I=new O3e;I.propertyTableId=0,I.setIndex=0,I.positionalLabel="instanceFeatureId_0",L.featureIds.push(I);let B=t.nodes,F=B.length,k=!1;for(i=0;i<F;i++){let U=B[i];U.primitives.length>0&&(U.instances=k?N3e(L):L,k=!0)}}function N3e(e){let t=new cie;t.transformInWorldSpace=e.transformInWorldSpace;let n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=Ge(n[o],!1);t.attributes.push(r)}return t.featureIds=e.featureIds,t}function F3e(e,t){if(e.hasProperty("POSITION"))return e.getPropertyArray("POSITION",q.FLOAT,3);if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",q.UNSIGNED_SHORT,3),i=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",q.FLOAT,3);if(!u(i))throw new ue("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let o=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",q.FLOAT,3);if(!u(o))throw new ue("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let r=new Float32Array(n.length);for(let s=0;s<n.length/3;s++)for(let a=0;a<3;a++){let c=3*s+a;r[c]=n[c]/65535*o[a]+i[a]}return r}else throw new ue("Either POSITION or POSITION_QUANTIZED must be defined for each instance.")}var aie=new Array(4);function V3e(e,t,n,i,o,r,s,a,c,l){let f=e.getProperty("NORMAL_UP",q.FLOAT,3,n,U5),d=e.getProperty("NORMAL_RIGHT",q.FLOAT,3,n,aie),p=!1;if(u(f)){if(!u(d))throw new ue("To define a custom orientation, both NORMAL_UP and NORMAL_RIGHT must be defined.");h.unpack(f,0,r),h.unpack(d,0,s),p=!0}else{let g=e.getProperty("NORMAL_UP_OCT32P",q.UNSIGNED_SHORT,2,n,U5),m=e.getProperty("NORMAL_RIGHT_OCT32P",q.UNSIGNED_SHORT,2,n,aie);if(u(g)){if(!u(m))throw new ue("To define a custom orientation with oct-encoded vectors, both NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P must be defined.");Gn.octDecodeInRange(g[0],g[1],65535,r),Gn.octDecodeInRange(m[0],m[1],65535,s),p=!0}else t?(Ot.eastNorthUpToFixedFrame(o,ie.WGS84,l),M.getMatrix3(l,c)):Z.clone(Z.IDENTITY,c)}p&&(h.cross(s,r,a),h.normalize(a,a),Z.setColumn(c,0,s,c),Z.setColumn(c,1,r,c),Z.setColumn(c,2,a,c)),Le.fromRotationMatrix(c,i)}function U3e(e,t,n){n=h.fromElements(1,1,1,n);let i=e.getProperty("SCALE",q.FLOAT,1,t);u(i)&&h.multiplyByScalar(n,i,n);let o=e.getProperty("SCALE_NON_UNIFORM",q.FLOAT,3,t,U5);u(o)&&(n.x*=o[0],n.y*=o[1],n.z*=o[2])}function k3e(e){let t=e._buffers,n=t.length;for(let i=0;i<n;i++){let o=t[i];o.isDestroyed()||o.destroy()}t.length=0}Dp.prototype.isUnloaded=function(){return this._state===dd.UNLOADED};Dp.prototype.unload=function(){u(this._gltfLoader)&&this._gltfLoader.unload(),k3e(this),this._components=void 0,this._arrayBuffer=void 0,this._state=dd.UNLOADED};var u1=Dp;var z3e={STOPPED:0,ANIMATING:1},hd=Object.freeze(z3e);function VT(){this.times=void 0,this.points=void 0,de.throwInstantiationError()}VT.getPointType=function(e){if(typeof e=="number")return Number;if(e instanceof h)return h;if(e instanceof Le)return Le};VT.prototype.evaluate=de.throwInstantiationError;VT.prototype.findTimeInterval=function(e,t){let n=this.times,i=n.length;if(t=y(t,0),e>=n[t]){if(t+1<i&&e<n[t+1])return t;if(t+2<i&&e<n[t+2])return t+1}else if(t-1>=0&&e>=n[t-1])return t-1;let o;if(e>n[t])for(o=t;o<i-1&&!(e>=n[o]&&e<n[o+1]);++o);else for(o=t-1;o>=0&&!(e>=n[o]&&e<n[o+1]);--o);return o===i-1&&(o=i-2),o};VT.prototype.wrapTime=function(e){let t=this.times,n=t[t.length-1],i=t[0],o=n-i,r;return e<i&&(r=Math.floor((i-e)/o)+1,e+=r*o),e>n&&(r=Math.floor((e-n)/o)+1,e-=r*o),e};VT.prototype.clampTime=function(e){let t=this.times;return P.clamp(e,t[0],t[t.length-1])};var io=VT;function UT(e){this._value=e,this._valueType=io.getPointType(e)}Object.defineProperties(UT.prototype,{value:{get:function(){return this._value}}});UT.prototype.findTimeInterval=function(e){};UT.prototype.wrapTime=function(e){return 0};UT.prototype.clampTime=function(e){return 0};UT.prototype.evaluate=function(e,t){let n=this._value,i=this._valueType;return i===Number?n:i.clone(n,t)};var f1=UT;function kT(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=io.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(kT.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});kT.prototype.findTimeInterval=io.prototype.findTimeInterval;kT.prototype.wrapTime=io.prototype.wrapTime;kT.prototype.clampTime=io.prototype.clampTime;kT.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);return this._pointType===Number?(1-r)*n[o]+r*n[o+1]:(u(t)||(t=new h),h.lerp(n[o],n[o+1],r,t))};var wg=kT;var lie={};lie.solve=function(e,t,n,i){let o=new Array(n.length),r=new Array(i.length),s=new Array(i.length),a;for(a=0;a<r.length;a++)r[a]=new h,s[a]=new h;o[0]=n[0]/t[0],r[0]=h.multiplyByScalar(i[0],1/t[0],r[0]);let c;for(a=1;a<o.length;++a)c=1/(t[a]-o[a-1]*e[a-1]),o[a]=n[a]*c,r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]);for(c=1/(t[a]-o[a-1]*e[a-1]),r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]),s[s.length-1]=r[r.length-1],a=s.length-2;a>=0;--a)s[a]=h.subtract(r[a],h.multiplyByScalar(s[a+1],o[a],s[a]),s[a]);return s};var zT=lie;var uie=[],fie=[],die=[],hie=[];function H3e(e,t,n){let i=uie,o=die,r=fie,s=hie;i.length=o.length=e.length-1,r.length=s.length=e.length;let a;i[0]=r[0]=1,o[0]=0;let c=s[0];for(u(c)||(c=s[0]=new h),h.clone(t,c),a=1;a<i.length-1;++a)i[a]=o[a]=1,r[a]=4,c=s[a],u(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c);return i[a]=0,o[a]=1,r[a]=4,c=s[a],u(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c),r[a+1]=1,c=s[a+1],u(c)||(c=s[a+1]=new h),h.clone(n,c),zT.solve(i,r,o,s)}function G3e(e){let t=uie,n=die,i=fie,o=hie;t.length=n.length=e.length-1,i.length=o.length=e.length;let r;t[0]=n[0]=1,i[0]=2;let s=o[0];for(u(s)||(s=o[0]=new h),h.subtract(e[1],e[0],s),h.multiplyByScalar(s,3,s),r=1;r<t.length;++r)t[r]=n[r]=1,i[r]=4,s=o[r],u(s)||(s=o[r]=new h),h.subtract(e[r+1],e[r-1],s),h.multiplyByScalar(s,3,s);return i[r]=2,s=o[r],u(s)||(s=o[r]=new h),h.subtract(e[r],e[r-1],s),h.multiplyByScalar(s,3,s),zT.solve(t,i,n,o)}function pl(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.inTangents,o=e.outTangents;this._times=n,this._points=t,this._pointType=io.getPointType(t[0]),this._inTangents=i,this._outTangents=o,this._lastTimeIndex=0}Object.defineProperties(pl.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},inTangents:{get:function(){return this._inTangents}},outTangents:{get:function(){return this._outTangents}}});pl.createC1=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.tangents,o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new pl({times:t,points:n,inTangents:r,outTangents:o})};pl.createNaturalCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points;if(n.length<3)return new wg({points:n,times:t});let i=G3e(n),o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new pl({times:t,points:n,inTangents:r,outTangents:o})};pl.createClampedCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.firstTangent,o=e.lastTangent,r=io.getPointType(n[0]);if(n.length<3)return new wg({points:n,times:t});let s=H3e(n,i,o),a=s.slice(0,s.length-1),c=s.slice(1,s.length);return new pl({times:t,points:n,inTangents:c,outTangents:a})};pl.hermiteCoefficientMatrix=new M(2,-3,0,1,-2,3,0,0,1,-2,1,0,1,-1,0,0);pl.prototype.findTimeInterval=io.prototype.findTimeInterval;var W3e=new oe,HT=new h;pl.prototype.wrapTime=io.prototype.wrapTime;pl.prototype.clampTime=io.prototype.clampTime;pl.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this.inTangents,r=this.outTangents;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let s=this._lastTimeIndex,a=i[s+1]-i[s],c=(e-i[s])/a,l=W3e;l.z=c,l.y=c*c,l.x=l.y*c,l.w=1;let f=M.multiplyByVector(pl.hermiteCoefficientMatrix,l,l);f.z*=a,f.w*=a;let d=this._pointType;return d===Number?n[s]*f.x+n[s+1]*f.y+r[s]*f.z+o[s]*f.w:(u(t)||(t=new d),t=d.multiplyByScalar(n[s],f.x,t),d.multiplyByScalar(n[s+1],f.y,HT),d.add(t,HT,t),d.multiplyByScalar(r[s],f.z,HT),d.add(t,HT,t),d.multiplyByScalar(o[s],f.w,HT),d.add(t,HT,t))};var Ig=pl;function GT(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=io.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(GT.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});GT.prototype.findTimeInterval=io.prototype.findTimeInterval;GT.prototype.wrapTime=io.prototype.wrapTime;GT.prototype.clampTime=io.prototype.clampTime;GT.prototype.evaluate=function(e,t){let n=this.points;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let i=this._lastTimeIndex,o=this._pointType;return o===Number?n[i]:(u(t)||(t=new o),o.clone(n[i],t))};var d1=GT;function j3e(e){let t=e.points,n=e.times;return function(i,o){u(o)||(o=new Le);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=t[r],c=t[r+1];return Le.fastSlerp(a,c,s,o)}}function WT(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._evaluateFunction=j3e(this),this._lastTimeIndex=0}Object.defineProperties(WT.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});WT.prototype.findTimeInterval=io.prototype.findTimeInterval;WT.prototype.wrapTime=io.prototype.wrapTime;WT.prototype.clampTime=io.prototype.clampTime;WT.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var h1=WT;var DA=Rt.AnimatedPropertyType;function z5(e){e=y(e,y.EMPTY_OBJECT);let t=e.channel,n=e.runtimeAnimation,i=e.runtimeNode;this._channel=t,this._runtimeAnimation=n,this._runtimeNode=i,this._splines=[],this._path=void 0,X3e(this)}Object.defineProperties(z5.prototype,{channel:{get:function(){return this._channel}},runtimeAnimation:{get:function(){return this._runtimeAnimation}},runtimeNode:{get:function(){return this._runtimeNode}},splines:{get:function(){return this._splines}}});function Y3e(e,t){let n=[],i=[],o=[],r=t.length;for(let s=0;s<r;s+=3)i.push(t[s]),n.push(t[s+1]),o.push(t[s+2]);return i.splice(0,1),o.length=o.length-1,new Ig({times:e,points:n,inTangents:i,outTangents:o})}function mie(e,t,n,i){if(e.length===1&&t.length===1)return new f1(t[0]);switch(n){case ud.STEP:return new d1({times:e,points:t});case ud.CUBICSPLINE:return Y3e(e,t);case ud.LINEAR:return i===DA.ROTATION?new h1({times:e,points:t}):new wg({times:e,points:t})}}function q3e(e,t,n,i,o){let r=[];if(i===DA.WEIGHTS){let a=t.length/o,c,l;for(c=0;c<o;c++){let f=new Array(a),d=c;if(n===ud.CUBICSPLINE)for(l=0;l<a;l+=3)f[l]=t[d],f[l+1]=t[d+o],f[l+2]=t[d+2*o],d+=o*3;else for(l=0;l<a;l++)f[l]=t[d],d+=o;r.push(mie(e,f,n,i))}}else r.push(mie(e,t,n,i));return r}var k5;function X3e(e){let t=e._channel,n=t.sampler,i=n.input,o=n.output,r=n.interpolation,a=t.target.path,c=e._runtimeNode,l=u(c.morphWeights)?c.morphWeights.length:1,f=q3e(i,o,r,a,l);switch(e._splines=f,e._path=a,a){case DA.TRANSLATION:case DA.SCALE:k5=new h;break;case DA.ROTATION:k5=new Le;break;case DA.WEIGHTS:break}}z5.prototype.animate=function(e){let t=this._splines,n=this._path,i=this._runtimeAnimation.model,o=this._runtimeNode;if(n===DA.WEIGHTS){let r=o.morphWeights,s=r.length;for(let a=0;a<s;a++){let c=t[a],l=i.clampAnimations?c.clampTime(e):c.wrapTime(e);r[a]=c.evaluate(l)}}else{if(o.userAnimated)return;{let r=t[0],s=i.clampAnimations?r.clampTime(e):r.wrapTime(e);o[n]=r.evaluate(s,k5)}}};var m1=z5;function H5(e,t,n){this._animation=t,this._name=t.name,this._runtimeChannels=void 0,this._startTime=$.clone(n.startTime),this._delay=y(n.delay,0),this._stopTime=$.clone(n.stopTime),this.removeOnStop=y(n.removeOnStop,!1),this._multiplier=y(n.multiplier,1),this._reverse=y(n.reverse,!1),this._loop=y(n.loop,Ga.NONE),this._animationTime=n.animationTime,this._prevAnimationDelta=void 0,this.start=new Ae,this.update=new Ae,this.stop=new Ae,this._state=hd.STOPPED,this._computedStartTime=void 0,this._duration=void 0;let i=this;this._raiseStartEvent=function(){i.start.raiseEvent(e,i)},this._updateEventTime=0,this._raiseUpdateEvent=function(){i.update.raiseEvent(e,i,i._updateEventTime)},this._raiseStopEvent=function(){i.stop.raiseEvent(e,i)},this._model=e,this._localStartTime=void 0,this._localStopTime=void 0,K3e(this)}Object.defineProperties(H5.prototype,{animation:{get:function(){return this._animation}},name:{get:function(){return this._name}},runtimeChannels:{get:function(){return this._runtimeChannels}},model:{get:function(){return this._model}},localStartTime:{get:function(){return this._localStartTime}},localStopTime:{get:function(){return this._localStopTime}},startTime:{get:function(){return this._startTime}},delay:{get:function(){return this._delay}},stopTime:{get:function(){return this._stopTime}},multiplier:{get:function(){return this._multiplier}},reverse:{get:function(){return this._reverse}},loop:{get:function(){return this._loop}},animationTime:{get:function(){return this._animationTime}}});function K3e(e){let t=Number.MAX_VALUE,n=-Number.MAX_VALUE,i=e._model.sceneGraph,r=e._animation.channels,s=r.length,a=[];for(let c=0;c<s;c++){let l=r[c],f=l.target;if(!u(f))continue;let d=f.node.index,p=i._runtimeNodes[d],g=new m1({channel:l,runtimeAnimation:e,runtimeNode:p}),m=l.sampler.input;t=Math.min(t,m[0]),n=Math.max(n,m[m.length-1]),a.push(g)}e._runtimeChannels=a,e._localStartTime=t,e._localStopTime=n}H5.prototype.animate=function(e){let t=this._runtimeChannels,n=t.length;for(let i=0;i<n;i++)t[i].animate(e)};var p1=H5;function vp(e){this.animationAdded=new Ae,this.animationRemoved=new Ae,this.animateWhilePaused=!1,this._model=e,this._runtimeAnimations=[],this._previousTime=void 0}Object.defineProperties(vp.prototype,{length:{get:function(){return this._runtimeAnimations.length}},model:{get:function(){return this._model}}});function G5(e,t,n){let i=e._model,o=new p1(i,t,n);return e._runtimeAnimations.push(o),e.animationAdded.raiseEvent(i,o),o}vp.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=e.index;if(u(i))return G5(this,n[i],e);let o=n.length;for(let r=0;r<o;++r)if(n[r].name===e.name){i=r;break}return G5(this,n[i],e)};vp.prototype.addAll=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=[],o=n.length;for(let r=0;r<o;++r){let s=G5(this,n[r],e);i.push(s)}return i};vp.prototype.remove=function(e){if(!u(e))return!1;let t=this._runtimeAnimations,n=t.indexOf(e);return n!==-1?(t.splice(n,1),this.animationRemoved.raiseEvent(this._model,e),!0):!1};vp.prototype.removeAll=function(){let e=this._model,t=this._runtimeAnimations,n=t.length;this._runtimeAnimations.length=0;for(let i=0;i<n;++i)this.animationRemoved.raiseEvent(e,t[i])};vp.prototype.contains=function(e){return u(e)?this._runtimeAnimations.indexOf(e)!==-1:!1};vp.prototype.get=function(e){return this._runtimeAnimations[e]};var WV=[];function Z3e(e,t,n){return function(){e.animationRemoved.raiseEvent(t,n)}}vp.prototype.update=function(e){let t=this._runtimeAnimations,n=t.length;if(n===0)return this._previousTime=void 0,!1;if(!this.animateWhilePaused&&$.equals(e.time,this._previousTime))return!1;this._previousTime=$.clone(e.time,this._previousTime);let i=!1,o=e.time,r=this._model;for(let s=0;s<n;++s){let a=t[s];u(a._computedStartTime)||(a._computedStartTime=$.addSeconds(y(a.startTime,o),a.delay,new $)),u(a._duration)||(a._duration=a.localStopTime*(1/a.multiplier));let c=a._computedStartTime,l=a._duration,f=a.stopTime,d=$.lessThanOrEquals(c,o),p=u(f)&&$.greaterThan(o,f),g=0;if(l!==0){let x=$.secondsDifference(p?f:o,c);g=u(a._animationTime)?a._animationTime(l,x):x/l}let m=a.loop===Ga.REPEAT||a.loop===Ga.MIRRORED_REPEAT,A=(d||m&&!u(a.startTime))&&(g<=1||m)&&!p;if(g===a._prevAnimationDelta){let x=a._state===hd.STOPPED;if(A!==x)continue}if(a._prevAnimationDelta=g,A||a._state===hd.ANIMATING){if(A&&a._state===hd.STOPPED&&(a._state=hd.ANIMATING,a.start.numberOfListeners>0&&e.afterRender.push(a._raiseStartEvent)),a.loop===Ga.REPEAT)g=g-Math.floor(g);else if(a.loop===Ga.MIRRORED_REPEAT){let C=Math.floor(g),T=g-C;g=C%2===1?1-T:T}a.reverse&&(g=1-g);let x=g*l*a.multiplier;x=P.clamp(x,a.localStartTime,a.localStopTime),a.animate(x),a.update.numberOfListeners>0&&(a._updateEventTime=x,e.afterRender.push(a._raiseUpdateEvent)),i=!0,A||(a._state=hd.STOPPED,a.stop.numberOfListeners>0&&e.afterRender.push(a._raiseStopEvent),a.removeOnStop&&WV.push(a))}}n=WV.length;for(let s=0;s<n;++s){let a=WV[s];t.splice(t.indexOf(a),1),e.afterRender.push(Z3e(this,r,a))}return WV.length=0,i};var _1=vp;function vA(e){this._model=e.model,this._featureTable=e.featureTable,this._featureId=e.featureId,this._color=void 0}Object.defineProperties(vA.prototype,{show:{get:function(){return this._featureTable.getShow(this._featureId)},set:function(e){this._featureTable.setShow(this._featureId,e)}},color:{get:function(){return u(this._color)||(this._color=new z),this._featureTable.getColor(this._featureId,this._color)},set:function(e){this._featureTable.setColor(this._featureId,e)}},primitive:{get:function(){return this._model}},featureTable:{get:function(){return this._featureTable}},featureId:{get:function(){return this._featureId}}});vA.prototype.hasProperty=function(e){return this._featureTable.hasProperty(this._featureId,e)};vA.prototype.getProperty=function(e){return this._featureTable.getProperty(this._featureId,e)};vA.prototype.getPropertyInherited=function(e){return this._featureTable.hasPropertyBySemantic(this._featureId,e)?this._featureTable.getPropertyBySemantic(this._featureId,e):this._featureTable.getProperty(this._featureId,e)};vA.prototype.getPropertyIds=function(e){return this._featureTable.getPropertyIds(e)};vA.prototype.setProperty=function(e,t){return this._featureTable.setProperty(this._featureId,e,t)};var g1=vA;var y1={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};y1.getStyleCommandsNeeded=function(e,t){return t===0?y1.ALL_OPAQUE:t===e?y1.ALL_TRANSLUCENT:y1.OPAQUE_AND_TRANSLUCENT};var md=Object.freeze(y1);var Pg={GLTF:"GLTF",TILE_GLTF:"TILE_GLTF",TILE_B3DM:"B3DM",TILE_I3DM:"I3DM",TILE_PNTS:"PNTS",TILE_GEOJSON:"TILE_GEOJSON"};Pg.is3DTiles=function(e){switch(e){case Pg.TILE_GLTF:case Pg.TILE_B3DM:case Pg.TILE_I3DM:case Pg.TILE_PNTS:case Pg.TILE_GEOJSON:return!0;case Pg.GLTF:return!1}};var rr=Object.freeze(Pg);function br(e){let t=e.model,n=e.propertyTable;this._propertyTable=n,this._model=t,this._features=void 0,this._featuresLength=0,this._batchTexture=void 0,this._styleCommandsNeededDirty=!1,this._styleCommandsNeeded=md.ALL_OPAQUE,J3e(this)}Object.defineProperties(br.prototype,{batchTexture:{get:function(){return this._batchTexture}},featuresLength:{get:function(){return this._featuresLength}},batchTextureByteLength:{get:function(){return u(this._batchTexture)?this._batchTexture.byteLength:0}},styleCommandsNeededDirty:{get:function(){return this._styleCommandsNeededDirty}}});function J3e(e){let t=e._model,n=rr.is3DTiles(t.type),i=e._propertyTable.count;if(i===0)return;let o,r=new Array(i);if(n){let s=t.content;for(o=0;o<i;o++)r[o]=new xs(s,o)}else for(o=0;o<i;o++)r[o]=new g1({model:t,featureId:o,featureTable:e});e._features=r,e._featuresLength=i,e._batchTexture=new wc({featuresLength:i,owner:e,statistics:n?t.content.tileset.statistics:void 0})}br.prototype.update=function(e){this._styleCommandsNeededDirty=!1,this._batchTexture.update(void 0,e);let t=md.getStyleCommandsNeeded(this._featuresLength,this._batchTexture.translucentFeaturesLength);this._styleCommandsNeeded!==t&&(this._styleCommandsNeededDirty=!0,this._styleCommandsNeeded=t)};br.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};br.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};br.prototype.getShow=function(e){return this._batchTexture.getShow(e)};br.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};br.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};br.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};br.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};br.prototype.getFeature=function(e){return this._features[e]};br.prototype.hasProperty=function(e,t){return this._propertyTable.hasProperty(e,t)};br.prototype.hasPropertyBySemantic=function(e,t){return this._propertyTable.hasPropertyBySemantic(e,t)};br.prototype.getProperty=function(e,t){return this._propertyTable.getProperty(e,t)};br.prototype.getPropertyBySemantic=function(e,t){return this._propertyTable.getPropertyBySemantic(e,t)};br.prototype.getPropertyIds=function(e){return this._propertyTable.getPropertyIds(e)};br.prototype.setProperty=function(e,t,n){return this._propertyTable.setProperty(e,t,n)};br.prototype.isClass=function(e,t){return this._propertyTable.isClass(e,t)};br.prototype.isExactClass=function(e,t){return this._propertyTable.isExactClass(e,t)};br.prototype.getExactClassName=function(e){return this._propertyTable.getExactClassName(e)};var Q3e=new z;br.prototype.applyStyle=function(e){if(!u(e)){this.setAllColor(wc.DEFAULT_COLOR_VALUE),this.setAllShow(wc.DEFAULT_SHOW_VALUE);return}for(let t=0;t<this._featuresLength;t++){let n=this.getFeature(t),i=u(e.color)?y(e.color.evaluateColor(n,Q3e),wc.DEFAULT_COLOR_VALUE):wc.DEFAULT_COLOR_VALUE,o=u(e.show)?y(e.show.evaluate(n),wc.DEFAULT_SHOW_VALUE):wc.DEFAULT_SHOW_VALUE;this.setColor(t,i),this.setShow(t,o)}};br.prototype.isDestroyed=function(){return!1};br.prototype.destroy=function(e){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),le(this)};var A1=br;var x1=`#if defined(HAS_NORMALS) && !defined(HAS_TANGENTS) && !defined(LIGHTING_UNLIT) + #ifdef GL_OES_standard_derivatives + #extension GL_OES_standard_derivatives : enable + #endif +#endif + +czm_modelMaterial defaultModelMaterial() +{ + czm_modelMaterial material; + material.diffuse = vec3(0.0); + material.specular = vec3(1.0); + material.roughness = 1.0; + material.occlusion = 1.0; + material.normalEC = vec3(0.0, 0.0, 1.0); + material.emissive = vec3(0.0); + material.alpha = 1.0; + return material; +} + +vec4 handleAlpha(vec3 color, float alpha) +{ + #ifdef ALPHA_MODE_MASK + if (alpha < u_alphaCutoff) { + discard; + } + #endif + + return vec4(color, alpha); +} + +SelectedFeature selectedFeature; + +void main() +{ + #ifdef HAS_MODEL_SPLITTER + modelSplitterStage(); + #endif + + czm_modelMaterial material = defaultModelMaterial(); + + ProcessedAttributes attributes; + geometryStage(attributes); + + FeatureIds featureIds; + featureIdStage(featureIds, attributes); + + Metadata metadata; + MetadataClass metadataClass; + MetadataStatistics metadataStatistics; + metadataStage(metadata, metadataClass, metadataStatistics, attributes); + + #ifdef HAS_SELECTED_FEATURE_ID + selectedFeatureIdStage(selectedFeature, featureIds); + #endif + + #ifndef CUSTOM_SHADER_REPLACE_MATERIAL + materialStage(material, attributes, selectedFeature); + #endif + + #ifdef HAS_CUSTOM_FRAGMENT_SHADER + customShaderStage(material, attributes, featureIds, metadata, metadataClass, metadataStatistics); + #endif + + lightingStage(material, attributes); + + #ifdef HAS_SELECTED_FEATURE_ID + cpuStylingStage(material, selectedFeature); + #endif + + #ifdef HAS_MODEL_COLOR + modelColorStage(material); + #endif + + #ifdef HAS_PRIMITIVE_OUTLINE + primitiveOutlineStage(material); + #endif + + vec4 color = handleAlpha(material.diffuse, material.alpha); + + #ifdef HAS_CLIPPING_PLANES + modelClippingPlanesStage(color); + #endif + + #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS) + silhouetteStage(color); + #endif + + out_FragColor = color; +} +`;var C1=`precision highp float; + +czm_modelVertexOutput defaultVertexOutput(vec3 positionMC) { + czm_modelVertexOutput vsOutput; + vsOutput.positionMC = positionMC; + vsOutput.pointSize = 1.0; + return vsOutput; +} + +void main() +{ + // Initialize the attributes struct with all + // attributes except quantized ones. + ProcessedAttributes attributes; + initializeAttributes(attributes); + + // Dequantize the quantized ones and add them to the + // attributes struct. + #ifdef USE_DEQUANTIZATION + dequantizationStage(attributes); + #endif + + #ifdef HAS_MORPH_TARGETS + morphTargetsStage(attributes); + #endif + + #ifdef HAS_SKINNING + skinningStage(attributes); + #endif + + #ifdef HAS_PRIMITIVE_OUTLINE + primitiveOutlineStage(); + #endif + + // Compute the bitangent according to the formula in the glTF spec. + // Normal and tangents can be affected by morphing and skinning, so + // the bitangent should not be computed until their values are finalized. + #ifdef HAS_BITANGENTS + attributes.bitangentMC = normalize(cross(attributes.normalMC, attributes.tangentMC) * attributes.tangentSignMC); + #endif + + FeatureIds featureIds; + featureIdStage(featureIds, attributes); + + #ifdef HAS_SELECTED_FEATURE_ID + SelectedFeature feature; + selectedFeatureIdStage(feature, featureIds); + // Handle any show properties that come from the style. + cpuStylingStage(attributes.positionMC, feature); + #endif + + #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) + // The scene mode 2D pipeline stage and instancing stage add a different + // model view matrix to accurately project the model to 2D. However, the + // output positions and normals should be transformed by the 3D matrices + // to keep the data the same for the fragment shader. + mat4 modelView = czm_modelView3D; + mat3 normal = czm_normal3D; + #else + // These are used for individual model projection because they will + // automatically change based on the scene mode. + mat4 modelView = czm_modelView; + mat3 normal = czm_normal; + #endif + + // Update the position for this instance in place + #ifdef HAS_INSTANCING + + // The legacy instance stage is used when rendering i3dm models that + // encode instances transforms in world space, as opposed to glTF models + // that use EXT_mesh_gpu_instancing, where instance transforms are encoded + // in object space. + #ifdef USE_LEGACY_INSTANCING + mat4 instanceModelView; + mat3 instanceModelViewInverseTranspose; + + legacyInstancingStage(attributes, instanceModelView, instanceModelViewInverseTranspose); + + modelView = instanceModelView; + normal = instanceModelViewInverseTranspose; + #else + instancingStage(attributes); + #endif + + #ifdef USE_PICKING + v_pickColor = a_pickColor; + #endif + + #endif + + Metadata metadata; + MetadataClass metadataClass; + MetadataStatistics metadataStatistics; + metadataStage(metadata, metadataClass, metadataStatistics, attributes); + + #ifdef HAS_CUSTOM_VERTEX_SHADER + czm_modelVertexOutput vsOutput = defaultVertexOutput(attributes.positionMC); + customShaderStage(vsOutput, attributes, featureIds, metadata, metadataClass, metadataStatistics); + #endif + + // Compute the final position in each coordinate system needed. + // This returns the value that will be assigned to gl_Position. + vec4 positionClip = geometryStage(attributes, modelView, normal); + + #ifdef HAS_SILHOUETTE + silhouetteStage(attributes, positionClip); + #endif + + #ifdef HAS_POINT_CLOUD_SHOW_STYLE + float show = pointCloudShowStylingStage(attributes, metadata); + #else + float show = 1.0; + #endif + + #ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING + show *= pointCloudBackFaceCullingStage(); + #endif + + #ifdef HAS_POINT_CLOUD_COLOR_STYLE + v_pointCloudColor = pointCloudColorStylingStage(attributes, metadata); + #endif + + #ifdef PRIMITIVE_TYPE_POINTS + #ifdef HAS_CUSTOM_VERTEX_SHADER + gl_PointSize = vsOutput.pointSize; + #elif defined(HAS_POINT_CLOUD_POINT_SIZE_STYLE) || defined(HAS_POINT_CLOUD_ATTENUATION) + gl_PointSize = pointCloudPointSizeStylingStage(attributes, metadata); + #else + gl_PointSize = 1.0; + #endif + + gl_PointSize *= show; + #endif + + gl_Position = show * positionClip; +} +`;function j5(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._command=t,this._model=i,this._runtimePrimitive=n.runtimePrimitive,this._modelMatrix=t.modelMatrix,this._boundingVolume=t.boundingVolume,this._cullFace=t.renderState.cull.face;let o=i.classificationType;this._classificationType=o,this._classifiesTerrain=o!==Un.CESIUM_3D_TILE,this._classifies3DTiles=o!==Un.TERRAIN,this._useDebugWireframe=i._enableDebugWireframe&&i.debugWireframe,this._pickId=n.pickId,this._commandListTerrain=[],this._commandList3DTiles=[],this._commandListIgnoreShow=[],this._commandListDebugWireframe=[],this._commandListTerrainPicking=[],this._commandList3DTilesPicking=[],nVe(this)}function $3e(e){return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:e,frontOperation:{fail:ut.KEEP,zFail:ut.DECREMENT_WRAP,zPass:ut.KEEP},backFunction:e,backOperation:{fail:ut.KEEP,zFail:ut.INCREMENT_WRAP,zPass:ut.KEEP},reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Fa.LESS_OR_EQUAL},depthMask:!1}}var eVe={stencilTest:{enabled:!0,frontFunction:kn.NOT_EQUAL,frontOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},backFunction:kn.NOT_EQUAL,backOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:un.PRE_MULTIPLIED_ALPHA_BLEND},tVe={stencilTest:{enabled:!0,frontFunction:kn.NOT_EQUAL,frontOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},backFunction:kn.NOT_EQUAL,backOperation:{fail:ut.ZERO,zFail:ut.ZERO,zPass:ut.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1},gie=[];function nVe(e){let t=e._command,n=gie;if(e._useDebugWireframe){t.pass=Ee.OPAQUE,n.length=0,n.push(t),e._commandListDebugWireframe=T1(e,n,e._commandListDebugWireframe);let r=e._commandListDebugWireframe,s=r.length;for(let a=0;a<s;a++){let c=r[a];c.count*=2,c.offset*=2}return}let o=e.model.allowPicking;if(e._classifiesTerrain){let r=Ee.TERRAIN_CLASSIFICATION,s=W5(t,r),a=pie(t,r);n.length=0,n.push(s,a),e._commandListTerrain=T1(e,n,e._commandListTerrain),o&&(e._commandListTerrainPicking=_ie(e,n,e._commandListTerrainPicking))}if(e._classifies3DTiles){let r=Ee.CESIUM_3D_TILE_CLASSIFICATION,s=W5(t,r),a=pie(t,r);n.length=0,n.push(s,a),e._commandList3DTiles=T1(e,n,e._commandList3DTiles),o&&(e._commandList3DTilesPicking=_ie(e,n,e._commandList3DTilesPicking))}}function T1(e,t,n){let i=e._runtimePrimitive,o=i.batchLengths,r=i.batchOffsets,s=o.length,a=t.length;for(let c=0;c<s;c++){let l=o[c],f=r[c];for(let d=0;d<a;d++){let p=t[d],g=tt.shallowClone(p);g.count=l,g.offset=f,n.push(g)}}return n}function W5(e,t){let n=tt.shallowClone(e);n.cull=!1,n.pass=t;let i=t===Ee.TERRAIN_CLASSIFICATION?kn.ALWAYS:kn.EQUAL,o=$3e(i);return n.renderState=Ue.fromCache(o),n}function pie(e,t){let n=tt.shallowClone(e);return n.cull=!1,n.pass=t,n.renderState=Ue.fromCache(eVe),n}var iVe=[];function _ie(e,t,n){let i=Ue.fromCache(tVe),o=t[0],r=t[1],s=tt.shallowClone(o);s.cull=!0,s.pickOnly=!0;let a=tt.shallowClone(r);a.cull=!0,a.pickOnly=!0,a.renderState=i,a.pickId=e._pickId;let c=iVe;return c.length=0,c.push(s,a),T1(e,c,n)}Object.defineProperties(j5.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},batchLengths:{get:function(){return this._runtimePrimitive.batchLengths}},batchOffsets:{get:function(){return this._runtimePrimitive.batchOffsets}},model:{get:function(){return this._model}},classificationType:{get:function(){return this._classificationType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=M.clone(e,this._modelMatrix);let t=this._runtimePrimitive.boundingSphere;this._boundingVolume=se.transform(t,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace=e}}});j5.prototype.pushCommands=function(e,t){let n=e.passes;if(n.render){if(this._useDebugWireframe){t.push.apply(t,this._commandListDebugWireframe);return}if(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrain),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTiles),e.invertClassification&&this._classifies3DTiles){if(this._commandListIgnoreShow.length===0){let o=Ee.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,r=W5(this._command,o),s=gie;s.length=0,s.push(r),this._commandListIgnoreShow=T1(this,s,this._commandListIgnoreShow)}t.push.apply(t,this._commandListIgnoreShow)}}return n.pick&&(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrainPicking),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTilesPicking)),t};var E1=j5;function jV(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._model=i;let o=n.runtimePrimitive;this._runtimePrimitive=o;let r=t.pass===Ee.TRANSLUCENT,a=!o.primitive.material.doubleSided&&!r,c=n.hasSilhouette,l=!r&&!c,f=n.hasSkipLevelOfDetail&&!r,d=c;this._command=t,this._modelMatrix=M.clone(t.modelMatrix),this._boundingVolume=se.clone(t.boundingVolume),this._modelMatrix2D=new M,this._boundingVolume2D=new se,this._modelMatrix2DDirty=!1,this._backFaceCulling=t.renderState.cull.enabled,this._cullFace=t.renderState.cull.face,this._shadows=i.shadows,this._debugShowBoundingVolume=t.debugShowBoundingVolume,this._usesBackFaceCulling=a,this._needsTranslucentCommand=l,this._needsSkipLevelOfDetailCommands=f,this._needsSilhouetteCommands=d,this._originalCommand=void 0,this._translucentCommand=void 0,this._skipLodBackfaceCommand=void 0,this._skipLodStencilCommand=void 0,this._silhouetteModelCommand=void 0,this._silhouetteColorCommand=void 0,this._derivedCommands=[],this._has2DCommands=!1,oVe(this)}function wp(e){this.command=e.command,this.updateShadows=e.updateShadows,this.updateBackFaceCulling=e.updateBackFaceCulling,this.updateCullFace=e.updateCullFace,this.updateDebugShowBoundingVolume=e.updateDebugShowBoundingVolume,this.is2D=y(e.is2D,!1),this.derivedCommand2D=void 0}wp.clone=function(e){return new wp({command:e.command,updateShadows:e.updateShadows,updateBackFaceCulling:e.updateBackFaceCulling,updateCullFace:e.updateCullFace,updateDebugShowBoundingVolume:e.updateDebugShowBoundingVolume,is2D:e.is2D,derivedCommand2D:e.derivedCommand2D})};function oVe(e){let t=e._command;t.modelMatrix=e._modelMatrix,t.boundingVolume=e._boundingVolume;let n=e._model,i=e._usesBackFaceCulling,o=e._derivedCommands;e._originalCommand=new wp({command:t,updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0,is2D:!1}),o.push(e._originalCommand),e._needsTranslucentCommand&&(e._translucentCommand=new wp({command:fVe(t),updateShadows:!0,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!0}),o.push(e._translucentCommand)),e._needsSkipLevelOfDetailCommands&&(e._skipLodBackfaceCommand=new wp({command:gVe(t),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:i,updateDebugShowBoundingVolume:!1}),e._skipLodStencilCommand=new wp({command:yVe(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),o.push(e._skipLodBackfaceCommand),o.push(e._skipLodStencilCommand)),e._needsSilhouetteCommands&&(e._silhouetteModelCommand=new wp({command:dVe(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),e._silhouetteColorCommand=new wp({command:hVe(t,n),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!1}),o.push(e._silhouetteModelCommand),o.push(e._silhouetteColorCommand))}Object.defineProperties(jV.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},model:{get:function(){return this._model}},primitiveType:{get:function(){return this._command.primitiveType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=M.clone(e,this._modelMatrix),this._modelMatrix2DDirty=!0,this._boundingVolume=se.transform(this.runtimePrimitive.boundingSphere,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},shadows:{get:function(){return this._shadows},set:function(e){this._shadows=e,sVe(this)}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){this._backFaceCulling!==e&&(this._backFaceCulling=e,aVe(this))}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace!==e&&(this._cullFace=e,cVe(this))}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolume=e,lVe(this))}}});function rVe(e,t){let n=e._modelMatrix;e._modelMatrix2D=M.clone(n,e._modelMatrix2D),e._modelMatrix2D[13]-=P.sign(n[13])*2*P.PI*t.mapProjection.ellipsoid.maximumRadius,e._boundingVolume2D=se.transform(e.runtimePrimitive.boundingSphere,e._modelMatrix2D,e._boundingVolume2D)}function sVe(e){let t=e.shadows,n=gn.castShadows(t),i=gn.receiveShadows(t),o=e._derivedCommands,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a.updateShadows){let c=a.command;c.castShadows=n,c.receiveShadows=i}}}function aVe(e){let t=e.backFaceCulling,n=e._derivedCommands,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.updateBackFaceCulling){let s=r.command,a=Ge(s.renderState,!0);a.cull.enabled=t,s.renderState=Ue.fromCache(a)}}}function cVe(e){let t=e.cullFace,n=e._derivedCommands,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.updateCullFace){let s=r.command,a=Ge(s.renderState,!0);a.cull.face=t,s.renderState=Ue.fromCache(a)}}}function lVe(e){let t=e.debugShowBoundingVolume,n=e._derivedCommands,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.updateDebugShowBoundingVolume){let s=r.command;s.debugShowBoundingVolume=t}}}jV.prototype.pushCommands=function(e,t){let n=yie(this,e);n&&!this._has2DCommands&&(uVe(this),this._has2DCommands=!0,this._modelMatrix2DDirty=!0),this._modelMatrix2DDirty&&(rVe(this,e),this._modelMatrix2DDirty=!1);let i=this.model.styleCommandsNeeded;if(!(this._needsTranslucentCommand&&u(i)&&(i!==md.ALL_OPAQUE&&YT(t,this._translucentCommand,n),i===md.ALL_TRANSLUCENT))){if(this._needsSkipLevelOfDetailCommands){let o=this._model.content,r=o.tileset,s=o.tile,a=r._hasMixedContent,c=s._finalResolution;if(a){c||YT(r._backfaceCommands,this._skipLodBackfaceCommand,n),mVe(this,s,n),YT(t,this._skipLodStencilCommand,n);return}}if(this._needsSilhouetteCommands){YT(t,this._silhouetteModelCommand,n);return}return YT(t,this._originalCommand,n),t}};jV.prototype.pushSilhouetteCommands=function(e,t){let n=yie(this,e);return YT(t,this._silhouetteColorCommand,n),t};function YT(e,t,n){e.push(t.command),n&&e.push(t.derivedCommand2D.command)}function yie(e,t){if(t.mode!==te.SCENE2D||e.model._projectTo2D)return!1;let i=e.model.sceneGraph._boundingSphere2D,o=i.center.y-i.radius,r=i.center.y+i.radius,s=t.mapProjection.ellipsoid.maximumRadius*P.PI;return o<s&&r>s||o<-s&&r>-s}function jT(e,t){if(!u(t))return;let n=wp.clone(t),i=tt.shallowClone(t.command);return i.modelMatrix=e._modelMatrix2D,i.boundingVolume=e._boundingVolume2D,n.command=i,n.updateShadows=!1,n.is2D=!0,t.derivedCommand2D=n,e._derivedCommands.push(n),n}function uVe(e){jT(e,e._originalCommand),jT(e,e._translucentCommand),jT(e,e._skipLodBackfaceCommand),jT(e,e._skipLodStencilCommand),jT(e,e._silhouetteModelCommand),jT(e,e._silhouetteColorCommand)}function fVe(e){let t=tt.shallowClone(e);t.pass=Ee.TRANSLUCENT;let n=Ge(e.renderState,!0);return n.cull.enabled=!1,n.depthMask=!1,n.blending=un.ALPHA_BLEND,t.renderState=Ue.fromCache(n),t}function dVe(e,t){let n=t._silhouetteId%255,i=tt.shallowClone(e),o=Ge(e.renderState,!0);return o.stencilTest={enabled:!0,frontFunction:ee.ALWAYS,backFunction:ee.ALWAYS,reference:n,mask:-1,frontOperation:{fail:ee.KEEP,zFail:ee.KEEP,zPass:ee.REPLACE},backOperation:{fail:ee.KEEP,zFail:ee.KEEP,zPass:ee.REPLACE}},t.isInvisible()&&(o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),i.renderState=Ue.fromCache(o),i}function hVe(e,t){let n=t._silhouetteId%255,i=tt.shallowClone(e),o=Ge(e.renderState,!0);o.cull.enabled=!1,(e.pass===Ee.TRANSLUCENT||t.silhouetteColor.alpha<1)&&(i.pass=Ee.TRANSLUCENT,o.depthMask=!1,o.blending=un.ALPHA_BLEND),o.stencilTest={enabled:!0,frontFunction:ee.NOTEQUAL,backFunction:ee.NOTEQUAL,reference:n,mask:-1,frontOperation:{fail:ee.KEEP,zFail:ee.KEEP,zPass:ee.KEEP},backOperation:{fail:ee.KEEP,zFail:ee.KEEP,zPass:ee.KEEP}};let s=Ge(e.uniformMap);return s.model_silhouettePass=function(){return!0},i.renderState=Ue.fromCache(o),i.uniformMap=s,i.castShadows=!1,i.receiveShadows=!1,i}function mVe(e,t,n){let i=e._skipLodStencilCommand,o=i.command,r=t._selectionDepth,s=pVe(o);if(r!==s){let a=_Ve(r),c=Ge(o.renderState,!0);c.stencilTest.reference=a,o.renderState=Ue.fromCache(c),n&&(i.derivedCommand2D.renderState=c)}}function pVe(e){return(e.renderState.stencilTest.reference&Bt.SKIP_LOD_MASK)>>>Bt.SKIP_LOD_BIT_SHIFT}function _Ve(e){return Bt.CESIUM_3D_TILE_MASK|e<<Bt.SKIP_LOD_BIT_SHIFT}function gVe(e){let t=tt.shallowClone(e),n=Ge(e.renderState,!0);n.cull.enabled=!0,n.cull.face=gi.FRONT,n.colorMask={red:!1,green:!1,blue:!1,alpha:!1},n.polygonOffset={enabled:!0,factor:5,units:5};let i=Ge(t.uniformMap),o=new H(5,5);return i.u_polygonOffset=function(){return o},t.renderState=Ue.fromCache(n),t.uniformMap=i,t.castShadows=!1,t.receiveShadows=!1,t}function yVe(e){let t=tt.shallowClone(e),n=Ge(e.renderState,!0);return n.stencilTest.enabled=!0,n.stencilTest.mask=Bt.SKIP_LOD_MASK,n.stencilTest.reference=Bt.CESIUM_3D_TILE_MASK,n.stencilTest.frontFunction=kn.GREATER_OR_EQUAL,n.stencilTest.frontOperation.zPass=ut.REPLACE,n.stencilTest.backFunction=kn.GREATER_OR_EQUAL,n.stencilTest.backOperation.zPass=ut.REPLACE,n.stencilMask=Bt.CESIUM_3D_TILE_MASK|Bt.SKIP_LOD_MASK,t.renderState=Ue.fromCache(n),t}var b1=jV;function AVe(e,t){let n=e.shaderBuilder;n.addVertexLines(C1),n.addFragmentLines(x1);let i=xVe(e),o=new oi({context:t.context,indexBuffer:i,attributes:e.attributes}),r=e.model;r._pipelineResources.push(o);let s=n.buildShaderProgram(t.context);r._pipelineResources.push(s);let a=e.alphaOptions.pass,c=r.sceneGraph,l=t.mode===te.SCENE3D,f,d;if(!l&&!t.scene3DOnly&&r._projectTo2D)f=M.multiplyTransformation(c._computedModelMatrix,e.runtimeNode.computedTransform,new M),d=e.runtimePrimitive.boundingSphere2D;else{let T=l?c._computedModelMatrix:c._computedModelMatrix2D;f=M.multiplyTransformation(T,e.runtimeNode.computedTransform,new M),d=se.transform(e.boundingSphere,f,e.boundingSphere)}let p=Ge(Ue.fromCache(e.renderStateOptions),!0);p.cull.face=sn.getCullFace(f,e.primitiveType),p=Ue.fromCache(p);let g=u(r.classificationType),m=g?!1:gn.castShadows(r.shadows),A=g?!1:gn.receiveShadows(r.shadows),x=g?void 0:e.pickId,C=new tt({boundingVolume:d,modelMatrix:f,uniformMap:e.uniformMap,renderState:p,vertexArray:o,shaderProgram:s,cull:r.cull,pass:a,count:e.count,owner:r,pickId:x,instanceCount:e.instanceCount,primitiveType:e.primitiveType,debugShowBoundingVolume:r.debugShowBoundingVolume,castShadows:m,receiveShadows:A});return g?new E1({primitiveRenderResources:e,command:C}):new b1({primitiveRenderResources:e,command:C})}function xVe(e){let t=e.wireframeIndexBuffer;if(u(t))return t;let n=e.indices;if(u(n))return n.buffer}var S1=AVe;var Aie={name:"TilesetPipelineStage"};Aie.process=function(e,t,n){if(t.hasSkipLevelOfDetail(n)){e.shaderBuilder.addDefine("POLYGON_OFFSET",void 0,Te.FRAGMENT);let r={u_polygonOffset:function(){return H.ZERO}};e.uniformMap=_t(r,e.uniformMap),e.hasSkipLevelOfDetail=!0}let i=e.renderStateOptions;i.stencilTest=Bt.setCesium3DTileBit(),i.stencilMask=Bt.CESIUM_3D_TILE_MASK};var D1=Aie;var v1=`vec3 proceduralIBL( + vec3 positionEC, + vec3 normalEC, + vec3 lightDirectionEC, + vec3 lightColorHdr, + czm_pbrParameters pbrParameters +) { + vec3 v = -positionEC; + vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0)); + vec3 vWC = -normalize(positionWC); + vec3 l = normalize(lightDirectionEC); + vec3 n = normalEC; + vec3 r = normalize(czm_inverseViewRotation * normalize(reflect(v, n))); + + float NdotL = clamp(dot(n, l), 0.001, 1.0); + float NdotV = abs(dot(n, v)) + 0.001; + + // Figure out if the reflection vector hits the ellipsoid + float vertexRadius = length(positionWC); + float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / vertexRadius); + float reflectionDotNadir = dot(r, normalize(positionWC)); + // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z. + r.x = -r.x; + r = -normalize(czm_temeToPseudoFixed * r); + r.x = -r.x; + + vec3 diffuseColor = pbrParameters.diffuseColor; + float roughness = pbrParameters.roughness; + vec3 specularColor = pbrParameters.f0; + + float inverseRoughness = 1.04 - roughness; + inverseRoughness *= inverseRoughness; + vec3 sceneSkyBox = czm_textureCube(czm_environmentMap, r).rgb * inverseRoughness; + + float atmosphereHeight = 0.05; + float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - horizonDotNadir); + float blendRegionOffset = roughness * -1.0; + float farAboveHorizon = clamp(horizonDotNadir - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999); + float aroundHorizon = clamp(horizonDotNadir + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999); + float farBelowHorizon = clamp(horizonDotNadir + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999); + float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir); + vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), smoothstepHeight); + vec3 nadirColor = belowHorizonColor * 0.5; + vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5); + vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, reflectionDotNadir * inverseRoughness * 0.5 + 0.75); + vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, smoothstepHeight); + vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9); + float diffuseIrradianceFromEarth = (1.0 - horizonDotNadir) * (reflectionDotNadir * 0.25 + 0.75) * smoothstepHeight; + float diffuseIrradianceFromSky = (1.0 - smoothstepHeight) * (1.0 - (reflectionDotNadir * 0.25 + 0.25)); + vec3 diffuseIrradiance = blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0); + float notDistantRough = (1.0 - horizonDotNadir * roughness * 0.8); + vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, reflectionDotNadir) * notDistantRough); + specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, reflectionDotNadir) * inverseRoughness); + specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, reflectionDotNadir) * inverseRoughness); + + // Luminance model from page 40 of http://silviojemma.com/public/papers/lighting/spherical-harmonic-lighting.pdf + #ifdef USE_SUN_LUMINANCE + // Angle between sun and zenith + float LdotZenith = clamp(dot(normalize(czm_inverseViewRotation * l), vWC), 0.001, 1.0); + float S = acos(LdotZenith); + // Angle between zenith and current pixel + float NdotZenith = clamp(dot(normalize(czm_inverseViewRotation * n), vWC), 0.001, 1.0); + // Angle between sun and current pixel + float gamma = acos(NdotL); + float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * pow(NdotL, 2.0)) * (1.0 - exp(-0.32 / NdotZenith))); + float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * pow(LdotZenith,2.0)) * (1.0 - exp(-0.32)); + float luminance = model_luminanceAtZenith * (numerator / denominator); + #endif + + vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; + vec3 iblColor = (diffuseIrradiance * diffuseColor * model_iblFactor.x) + (specularIrradiance * czm_srgbToLinear(specularColor * brdfLut.x + brdfLut.y) * model_iblFactor.y); + float maximumComponent = max(max(lightColorHdr.x, lightColorHdr.y), lightColorHdr.z); + vec3 lightColor = lightColorHdr / max(maximumComponent, 1.0); + iblColor *= lightColor; + + #ifdef USE_SUN_LUMINANCE + iblColor *= luminance; + #endif + + return iblColor; +} + +#if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) +vec3 textureIBL( + vec3 positionEC, + vec3 normalEC, + vec3 lightDirectionEC, + czm_pbrParameters pbrParameters +) { + vec3 diffuseColor = pbrParameters.diffuseColor; + float roughness = pbrParameters.roughness; + vec3 specularColor = pbrParameters.f0; + + vec3 v = -positionEC; + vec3 n = normalEC; + vec3 l = normalize(lightDirectionEC); + vec3 h = normalize(v + l); + + float NdotV = abs(dot(n, v)) + 0.001; + float VdotH = clamp(dot(v, h), 0.0, 1.0); + + const mat3 yUpToZUp = mat3( + -1.0, 0.0, 0.0, + 0.0, 0.0, -1.0, + 0.0, 1.0, 0.0 + ); + vec3 cubeDir = normalize(yUpToZUp * model_iblReferenceFrameMatrix * normalize(reflect(-v, n))); + + #ifdef DIFFUSE_IBL + #ifdef CUSTOM_SPHERICAL_HARMONICS + vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); + #else + vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); + #endif + #else + vec3 diffuseIrradiance = vec3(0.0); + #endif + + #ifdef SPECULAR_IBL + vec3 r0 = specularColor.rgb; + float reflectance = max(max(r0.r, r0.g), r0.b); + vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0)); + vec3 F = fresnelSchlick2(r0, r90, VdotH); + + vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; + #ifdef CUSTOM_SPECULAR_IBL + vec3 specularIBL = czm_sampleOctahedralProjection(model_specularEnvironmentMaps, model_specularEnvironmentMapsSize, cubeDir, roughness * model_specularEnvironmentMapsMaximumLOD, model_specularEnvironmentMapsMaximumLOD); + #else + vec3 specularIBL = czm_sampleOctahedralProjection(czm_specularEnvironmentMaps, czm_specularEnvironmentMapSize, cubeDir, roughness * czm_specularEnvironmentMapsMaximumLOD, czm_specularEnvironmentMapsMaximumLOD); + #endif + specularIBL *= F * brdfLut.x + brdfLut.y; + #else + vec3 specularIBL = vec3(0.0); + #endif + + return diffuseColor * diffuseIrradiance + specularColor * specularIBL; +} +#endif + +vec3 imageBasedLightingStage( + vec3 positionEC, + vec3 normalEC, + vec3 lightDirectionEC, + vec3 lightColorHdr, + czm_pbrParameters pbrParameters +) { + #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) + // Environment maps were provided, use them for IBL + return textureIBL( + positionEC, + normalEC, + lightDirectionEC, + pbrParameters + ); + #else + // Use the procedural IBL if there are no environment maps + return proceduralIBL( + positionEC, + normalEC, + lightDirectionEC, + lightColorHdr, + pbrParameters + ); + #endif +}`;var xie={name:"ImageBasedLightingPipelineStage"};xie.process=function(e,t,n){let i=t.imageBasedLighting,o=e.shaderBuilder;o.addDefine("USE_IBL_LIGHTING",void 0,Te.FRAGMENT),o.addUniform("vec2","model_iblFactor",Te.FRAGMENT),id.isSupported(n.context)&&((i.useSphericalHarmonics||i.useSpecularEnvironmentMaps||i.enabled)&&o.addUniform("mat3","model_iblReferenceFrameMatrix",Te.FRAGMENT),u(i.sphericalHarmonicCoefficients)?(o.addDefine("DIFFUSE_IBL",void 0,Te.FRAGMENT),o.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,Te.FRAGMENT),o.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",Te.FRAGMENT)):i.useDefaultSphericalHarmonics&&o.addDefine("DIFFUSE_IBL",void 0,Te.FRAGMENT),u(i.specularEnvironmentMapAtlas)&&i.specularEnvironmentMapAtlas.ready?(o.addDefine("SPECULAR_IBL",void 0,Te.FRAGMENT),o.addDefine("CUSTOM_SPECULAR_IBL",void 0,Te.FRAGMENT),o.addUniform("sampler2D","model_specularEnvironmentMaps",Te.FRAGMENT),o.addUniform("vec2","model_specularEnvironmentMapsSize",Te.FRAGMENT),o.addUniform("float","model_specularEnvironmentMapsMaximumLOD",Te.FRAGMENT)):t.useDefaultSpecularMaps&&o.addDefine("SPECULAR_IBL",void 0,Te.FRAGMENT)),u(i.luminanceAtZenith)&&(o.addDefine("USE_SUN_LUMINANCE",void 0,Te.FRAGMENT),o.addUniform("float","model_luminanceAtZenith",Te.FRAGMENT)),o.addFragmentLines(v1);let r={model_iblFactor:function(){return i.imageBasedLightingFactor},model_iblReferenceFrameMatrix:function(){return t._iblReferenceFrameMatrix},model_luminanceAtZenith:function(){return i.luminanceAtZenith},model_sphericalHarmonicCoefficients:function(){return i.sphericalHarmonicCoefficients},model_specularEnvironmentMaps:function(){return i.specularEnvironmentMapAtlas.texture},model_specularEnvironmentMapsSize:function(){return i.specularEnvironmentMapAtlas.texture.dimensions},model_specularEnvironmentMapsMaximumLOD:function(){return i.specularEnvironmentMapAtlas.maximumMipmapLevel}};e.uniformMap=_t(r,e.uniformMap)};var w1=xie;var CVe=P.EPSILON16;function q5(e){e=y(e,y.EMPTY_OBJECT);let t=e.stage,n=e.runtimeArticulation;this._stage=t,this._runtimeArticulation=n,this._name=t.name,this._type=t.type,this._minimumValue=t.minimumValue,this._maximumValue=t.maximumValue,this._currentValue=t.initialValue}Object.defineProperties(q5.prototype,{stage:{get:function(){return this._stage}},runtimeArticulation:{get:function(){return this._runtimeArticulation}},name:{get:function(){return this._name}},type:{get:function(){return this._type}},minimumValue:{get:function(){return this._minimumValue}},maximumValue:{get:function(){return this._maximumValue}},currentValue:{get:function(){return this._currentValue},set:function(e){e=P.clamp(e,this.minimumValue,this.maximumValue),P.equalsEpsilon(this._currentValue,e,CVe)||(this._currentValue=e,this.runtimeArticulation._dirty=!0)}}});var TVe=new h,Y5=new Z;q5.prototype.applyStageToMatrix=function(e){let t=this.type,n=this.currentValue,i=TVe,o;switch(t){case Ya.XROTATE:o=Z.fromRotationX(P.toRadians(n),Y5),e=M.multiplyByMatrix3(e,o,e);break;case Ya.YROTATE:o=Z.fromRotationY(P.toRadians(n),Y5),e=M.multiplyByMatrix3(e,o,e);break;case Ya.ZROTATE:o=Z.fromRotationZ(P.toRadians(n),Y5),e=M.multiplyByMatrix3(e,o,e);break;case Ya.XTRANSLATE:i.x=n,i.y=0,i.z=0,e=M.multiplyByTranslation(e,i,e);break;case Ya.YTRANSLATE:i.x=0,i.y=n,i.z=0,e=M.multiplyByTranslation(e,i,e);break;case Ya.ZTRANSLATE:i.x=0,i.y=0,i.z=n,e=M.multiplyByTranslation(e,i,e);break;case Ya.XSCALE:i.x=n,i.y=1,i.z=1,e=M.multiplyByScale(e,i,e);break;case Ya.YSCALE:i.x=1,i.y=n,i.z=1,e=M.multiplyByScale(e,i,e);break;case Ya.ZSCALE:i.x=1,i.y=1,i.z=n,e=M.multiplyByScale(e,i,e);break;case Ya.UNIFORMSCALE:e=M.multiplyByUniformScale(e,n,e);break;default:break}return e};var I1=q5;function YV(e){e=y(e,y.EMPTY_OBJECT);let t=e.articulation,n=e.sceneGraph;this._articulation=t,this._sceneGraph=n,this._name=t.name,this._runtimeStages=[],this._runtimeStagesByName={},this._runtimeNodes=[],this._dirty=!0,EVe(this)}Object.defineProperties(YV.prototype,{articulation:{get:function(){return this._articulation}},sceneGraph:{get:function(){return this._sceneGraph}},name:{get:function(){return this._name}},runtimeStages:{get:function(){return this._runtimeStages}},runtimeNodes:{get:function(){return this._runtimeNodes}}});function EVe(e){let n=e.articulation.stages,i=n.length,o=e._runtimeStages,r=e._runtimeStagesByName;for(let s=0;s<i;s++){let a=n[s],c=new I1({stage:a,runtimeArticulation:e});o.push(c);let l=a.name;r[l]=c}}YV.prototype.setArticulationStage=function(e,t){let n=this._runtimeStagesByName[e];u(n)&&(n.currentValue=t)};var bVe=new M,SVe=new M;YV.prototype.apply=function(){if(!this._dirty)return;this._dirty=!1;let e=M.clone(M.IDENTITY,bVe),t,n=this._runtimeStages,i=n.length;for(t=0;t<i;t++)e=n[t].applyStageToMatrix(e);let o=this._runtimeNodes,r=o.length;for(t=0;t<r;t++){let s=o[t],a=M.multiplyTransformation(s.originalTransform,e,SVe);s.transform=a}};var P1=YV;var O1=`void modelColorStage(inout czm_modelMaterial material) +{ + material.diffuse = mix(material.diffuse, model_color.rgb, model_colorBlend); + float highlight = ceil(model_colorBlend); + material.diffuse *= mix(model_color.rgb, vec3(1.0), highlight); + material.alpha *= model_color.a; +}`;var qT={name:"ModelColorPipelineStage",COLOR_UNIFORM_NAME:"model_color",COLOR_BLEND_UNIFORM_NAME:"model_colorBlend"};qT.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_COLOR",void 0,Te.FRAGMENT),i.addFragmentLines(O1);let o={},r=t.color;r.alpha===0&&!t.hasSilhouette(n)&&(e.renderStateOptions.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),r.alpha<1&&(e.alphaOptions.pass=Ee.TRANSLUCENT),i.addUniform("vec4",qT.COLOR_UNIFORM_NAME,Te.FRAGMENT),o[qT.COLOR_UNIFORM_NAME]=function(){return t.color},i.addUniform("float",qT.COLOR_BLEND_UNIFORM_NAME,Te.FRAGMENT),o[qT.COLOR_BLEND_UNIFORM_NAME]=function(){return ja.getColorBlend(t.colorBlendMode,t.colorBlendAmount)},e.uniformMap=_t(o,e.uniformMap)};var Og=qT;var R1=`#ifdef USE_CLIPPING_PLANES_FLOAT_TEXTURE +vec4 getClippingPlane( + highp sampler2D packedClippingPlanes, + int clippingPlaneNumber, + mat4 transform +) { + int pixY = clippingPlaneNumber / CLIPPING_PLANES_TEXTURE_WIDTH; + int pixX = clippingPlaneNumber - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); + float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel + float v = (float(pixY) + 0.5) * pixelHeight; + vec4 plane = texture(packedClippingPlanes, vec2(u, v)); + return czm_transformPlane(plane, transform); +} +#else +// Handle uint8 clipping texture instead +vec4 getClippingPlane( + highp sampler2D packedClippingPlanes, + int clippingPlaneNumber, + mat4 transform +) { + int clippingPlaneStartIndex = clippingPlaneNumber * 2; // clipping planes are two pixels each + int pixY = clippingPlaneStartIndex / CLIPPING_PLANES_TEXTURE_WIDTH; + int pixX = clippingPlaneStartIndex - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); + float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel + float v = (float(pixY) + 0.5) * pixelHeight; + vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; + vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); + vec4 plane; + plane.xyz = czm_octDecode(oct, 65535.0); + plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + pixelWidth, v))); + return czm_transformPlane(plane, transform); +} +#endif + +float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) { + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float pixelWidth = czm_metersPerPixel(position); + + #ifdef UNION_CLIPPING_REGIONS + float clipAmount; // For union planes, we want to get the min distance. So we set the initial value to the first plane distance in the loop below. + #else + float clipAmount = 0.0; + bool clipped = true; + #endif + + for (int i = 0; i < CLIPPING_PLANES_LENGTH; ++i) { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + + #ifdef UNION_CLIPPING_REGIONS + clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); + if (amount <= 0.0) { + discard; + } + #else + clipAmount = max(amount, clipAmount); + clipped = clipped && (amount <= 0.0); + #endif + } + + #ifndef UNION_CLIPPING_REGIONS + if (clipped) { + discard; + } + #endif + + return clipAmount; +} + +void modelClippingPlanesStage(inout vec4 color) +{ + float clipDistance = clip(gl_FragCoord, model_clippingPlanes, model_clippingPlanesMatrix); + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = model_clippingPlanesEdgeStyle.rgb; + float clippingPlanesEdgeWidth = model_clippingPlanesEdgeStyle.a; + + if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) { + color = clippingPlanesEdgeColor; + } +} +`;var Cie={name:"ModelClippingPlanesPipelineStage"},DVe=new H;Cie.process=function(e,t,n){let i=t.clippingPlanes,o=n.context,r=e.shaderBuilder;r.addDefine("HAS_CLIPPING_PLANES",void 0,Te.FRAGMENT),r.addDefine("CLIPPING_PLANES_LENGTH",i.length,Te.FRAGMENT),i.unionClippingRegions&&r.addDefine("UNION_CLIPPING_REGIONS",void 0,Te.FRAGMENT),ss.useFloatTexture(o)&&r.addDefine("USE_CLIPPING_PLANES_FLOAT_TEXTURE",void 0,Te.FRAGMENT);let s=ss.getTextureResolution(i,o,DVe);r.addDefine("CLIPPING_PLANES_TEXTURE_WIDTH",s.x,Te.FRAGMENT),r.addDefine("CLIPPING_PLANES_TEXTURE_HEIGHT",s.y,Te.FRAGMENT),r.addUniform("sampler2D","model_clippingPlanes",Te.FRAGMENT),r.addUniform("vec4","model_clippingPlanesEdgeStyle",Te.FRAGMENT),r.addUniform("mat4","model_clippingPlanesMatrix",Te.FRAGMENT),r.addFragmentLines(R1);let a={model_clippingPlanes:function(){return i.texture},model_clippingPlanesEdgeStyle:function(){let c=z.clone(i.edgeColor);return c.alpha=i.edgeWidth,c},model_clippingPlanesMatrix:function(){return t._clippingPlanesMatrix}};e.uniformMap=_t(a,e.uniformMap)};var B1=Cie;function Tie(e,t){this._model=e,this._runtimeNode=t}Object.defineProperties(Tie.prototype,{name:{get:function(){return this._runtimeNode._name}},id:{get:function(){return this._runtimeNode._id}},show:{get:function(){return this._runtimeNode.show},set:function(e){this._runtimeNode.show=e}},matrix:{get:function(){return this._runtimeNode.transform},set:function(e){u(e)?(this._runtimeNode.transform=e,this._runtimeNode.userAnimated=!0,this._model._userAnimationDirty=!0):(this._runtimeNode.transform=this.originalMatrix,this._runtimeNode.userAnimated=!1)}},originalMatrix:{get:function(){return this._runtimeNode.originalTransform}}});var M1=Tie;var L1=`mat4 getInstancingTransform() +{ + mat4 instancingTransform; + + #ifdef HAS_INSTANCE_MATRICES + instancingTransform = mat4( + a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0, // Column 1 + a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0, // Column 2 + a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0, // Column 3 + a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0 // Column 4 + ); + #else + vec3 translation = vec3(0.0, 0.0, 0.0); + vec3 scale = vec3(1.0, 1.0, 1.0); + + #ifdef HAS_INSTANCE_TRANSLATION + translation = a_instanceTranslation; + #endif + #ifdef HAS_INSTANCE_SCALE + scale = a_instanceScale; + #endif + + instancingTransform = mat4( + scale.x, 0.0, 0.0, 0.0, + 0.0, scale.y, 0.0, 0.0, + 0.0, 0.0, scale.z, 0.0, + translation.x, translation.y, translation.z, 1.0 + ); + #endif + + return instancingTransform; +} + +#ifdef USE_2D_INSTANCING +mat4 getInstancingTransform2D() +{ + mat4 instancingTransform2D; + + #ifdef HAS_INSTANCE_MATRICES + instancingTransform2D = mat4( + a_instancingTransform2DRow0.x, a_instancingTransform2DRow1.x, a_instancingTransform2DRow2.x, 0.0, // Column 1 + a_instancingTransform2DRow0.y, a_instancingTransform2DRow1.y, a_instancingTransform2DRow2.y, 0.0, // Column 2 + a_instancingTransform2DRow0.z, a_instancingTransform2DRow1.z, a_instancingTransform2DRow2.z, 0.0, // Column 3 + a_instancingTransform2DRow0.w, a_instancingTransform2DRow1.w, a_instancingTransform2DRow2.w, 1.0 // Column 4 + ); + #else + vec3 translation2D = vec3(0.0, 0.0, 0.0); + vec3 scale = vec3(1.0, 1.0, 1.0); + + #ifdef HAS_INSTANCE_TRANSLATION + translation2D = a_instanceTranslation2D; + #endif + #ifdef HAS_INSTANCE_SCALE + scale = a_instanceScale; + #endif + + instancingTransform2D = mat4( + scale.x, 0.0, 0.0, 0.0, + 0.0, scale.y, 0.0, 0.0, + 0.0, 0.0, scale.z, 0.0, + translation2D.x, translation2D.y, translation2D.z, 1.0 + ); + #endif + + return instancingTransform2D; +} +#endif +`;var N1=`void instancingStage(inout ProcessedAttributes attributes) +{ + vec3 positionMC = attributes.positionMC; + + mat4 instancingTransform = getInstancingTransform(); + + attributes.positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz; + + #ifdef HAS_NORMALS + vec3 normalMC = attributes.normalMC; + attributes.normalMC = (instancingTransform * vec4(normalMC, 0.0)).xyz; + #endif + + #ifdef USE_2D_INSTANCING + mat4 instancingTransform2D = getInstancingTransform2D(); + attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; + #endif +} +`;var F1=`void legacyInstancingStage( + inout ProcessedAttributes attributes, + out mat4 instanceModelView, + out mat3 instanceModelViewInverseTranspose) +{ + vec3 positionMC = attributes.positionMC; + + mat4 instancingTransform = getInstancingTransform(); + + mat4 instanceModel = instancingTransform * u_instance_nodeTransform; + instanceModelView = u_instance_modifiedModelView; + instanceModelViewInverseTranspose = mat3(u_instance_modifiedModelView * instanceModel); + + attributes.positionMC = (instanceModel * vec4(positionMC, 1.0)).xyz; + + #ifdef USE_2D_INSTANCING + mat4 instancingTransform2D = getInstancingTransform2D(); + attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; + #endif +} +`;var qV=new M,vVe=new M,wVe=new M,bie={name:"InstancingPipelineStage",_getInstanceTransformsAsMatrices:Iie,_transformsToTypedArray:K5};bie.process=function(e,t,n){let i=t.instances,o=i.attributes[0].count,r=e.shaderBuilder;r.addDefine("HAS_INSTANCING"),r.addVertexLines(L1);let s=e.model,a=s.sceneGraph,c=e.runtimeNode,l=n.mode!==te.SCENE3D&&!n.scene3DOnly&&s._projectTo2D,f=[];GVe(e,n,i,f,l),YVe(e,n,i,f);let d={};if(i.transformInWorldSpace?(r.addDefine("USE_LEGACY_INSTANCING",void 0,Te.VERTEX),r.addUniform("mat4","u_instance_modifiedModelView",Te.VERTEX),r.addUniform("mat4","u_instance_nodeTransform",Te.VERTEX),d.u_instance_modifiedModelView=function(){let p=M.multiplyTransformation(s.modelMatrix,a.components.transform,qV);return l?M.multiplyTransformation(n.context.uniformState.view3D,p,qV):(n.mode!==te.SCENE3D&&(p=Ot.basisTo2D(n.mapProjection,p,qV)),M.multiplyTransformation(n.context.uniformState.view,p,qV))},d.u_instance_nodeTransform=function(){return M.multiplyTransformation(a.axisCorrectionMatrix,c.computedTransform,vVe)},r.addVertexLines(F1)):r.addVertexLines(N1),l){r.addDefine("USE_2D_INSTANCING",void 0,Te.VERTEX),r.addUniform("mat4","u_modelView2D",Te.VERTEX);let p=n.context,g=M.fromTranslation(c.instancingReferencePoint2D,new M);d.u_modelView2D=function(){return M.multiplyTransformation(p.uniformState.view,g,wVe)}}e.uniformMap=_t(d,e.uniformMap),e.instanceCount=o,e.attributes.push.apply(e.attributes,f)};var V1=new M,IVe=new h;function PVe(e,t,n,i,o){let r=M.multiplyTransformation(t,e,V1);return r=M.multiplyTransformation(r,n,V1),o=Ot.basisTo2D(i.mapProjection,r,o),o}function OVe(e,t,n,i,o){let r=M.fromTranslation(e,V1),s=M.multiplyTransformation(t,r,V1);s=M.multiplyTransformation(s,n,V1);let a=M.getTranslation(s,IVe);return o=qi.computeActualWgs84Position(i,a,o),o}function Sie(e,t,n){let i=e.model,o=i.sceneGraph;e.runtimeNode.node.instances.transformInWorldSpace?(t=M.multiplyTransformation(i.modelMatrix,o.components.transform,t),n=M.multiplyTransformation(o.axisCorrectionMatrix,e.runtimeNode.computedTransform,n)):(t=M.clone(o.computedModelMatrix,t),t=M.multiplyTransformation(t,e.runtimeNode.computedTransform,t),n=M.clone(M.IDENTITY,n))}var Die=new M,vie=new M,RVe=new M,BVe=new h;function MVe(e,t,n,i){let o=Die,r=vie;Sie(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let l=0;l<c;l++){let f=e[l],d=PVe(f,o,r,n,RVe),p=M.getTranslation(d,BVe),g=h.subtract(p,a,p);i[l]=M.setTranslation(d,g,i[l])}return i}function LVe(e,t,n,i){let o=Die,r=vie;Sie(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let l=0;l<c;l++){let f=e[l],d=OVe(f,o,r,n,f);i[l]=h.subtract(d,a,i[l])}return i}var NVe=new h,FVe=new h;function wie(e,t){let n=e.runtimeNode,i=e.model.sceneGraph.computedModelMatrix,o=M.multiplyByPoint(i,n.instancingTranslationMin,NVe),r=qi.computeActualWgs84Position(t,o,o),s=M.multiplyByPoint(i,n.instancingTranslationMax,FVe),a=qi.computeActualWgs84Position(t,s,s);n.instancingReferencePoint2D=h.lerp(r,a,.5,new h)}function K5(e){let n=e.length,i=new Float32Array(n*12);for(let o=0;o<n;o++){let r=e[o],s=12*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8],i[s+3]=r[12],i[s+4]=r[1],i[s+5]=r[5],i[s+6]=r[9],i[s+7]=r[13],i[s+8]=r[2],i[s+9]=r[6],i[s+10]=r[10],i[s+11]=r[14]}return i}function VVe(e){let n=e.length,i=new Float32Array(n*3);for(let o=0;o<n;o++){let r=e[o],s=3*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8]}return i}var UVe=new h,kVe=new Le,zVe=new h;function Iie(e,t,n){let i=new Array(t),o=sn.getAttributeBySemantic(e,zr.TRANSLATION),r=sn.getAttributeBySemantic(e,zr.ROTATION),s=sn.getAttributeBySemantic(e,zr.SCALE),a=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),c=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),l=u(o),f=u(r),d=u(s),p=l?o.typedArray:new Float32Array(t*3),g=f?r.typedArray:new Float32Array(t*4);f&&r.normalized&&(g=Gn.dequantize(g,r.componentDatatype,r.type,t));let m;d?m=s.typedArray:(m=new Float32Array(t*3),m.fill(1));for(let x=0;x<t;x++){let C=new h(p[x*3],p[x*3+1],p[x*3+2],UVe);h.maximumByComponent(a,C,a),h.minimumByComponent(c,C,c);let T=new Le(g[x*4],g[x*4+1],g[x*4+2],f?g[x*4+3]:1,kVe),E=new h(m[x*3],m[x*3+1],m[x*3+2],zVe),S=M.fromTranslationQuaternionRotationScale(C,T,E,new M);i[x]=S}let A=n.runtimeNode;return A.instancingTranslationMin=c,A.instancingTranslationMax=a,l&&(o.typedArray=void 0),f&&(r.typedArray=void 0),d&&(s.typedArray=void 0),i}function HVe(e,t,n){let i=new Array(t),o=e.typedArray,r=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),s=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let c=0;c<t;c++){let l=new h(o[c*3],o[c*3+1],o[c*3+2]);i[c]=l,h.minimumByComponent(r,l,r),h.maximumByComponent(s,l,s)}let a=n.runtimeNode;return a.instancingTranslationMin=r,a.instancingTranslationMax=s,e.typedArray=void 0,i}function Z5(e,t){let n=lt.createVertexBuffer({context:t.context,typedArray:e,usage:Ne.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}function GVe(e,t,n,i,o){let r=sn.getAttributeBySemantic(n,zr.ROTATION);u(r)?WVe(e,n,i,t,o):jVe(e,n,i,t,o)}function WVe(e,t,n,i,o){let r=e.shaderBuilder,s=t.attributes[0].count,a=e.model,c=e.runtimeNode;r.addDefine("HAS_INSTANCE_MATRICES");let l="Transform",f,d=c.instancingTransformsBuffer;if(!u(d)){f=Iie(t,s,e);let A=K5(f);d=Z5(A,i),a._modelResources.push(d),c.instancingTransformsBuffer=d}if(Eie(e,d,n,l),!o)return;let p=Ge(i);p.mode=te.COLUMBUS_VIEW,wie(e,p);let g=c.instancingTransformsBuffer2D;if(!u(g)){let A=MVe(f,e,p,f),x=K5(A);g=Z5(x,i),a._modelResources.push(g),c.instancingTransformsBuffer2D=g}Eie(e,g,n,"Transform2D")}function jVe(e,t,n,i,o){let r=e.shaderBuilder,s=e.runtimeNode,a=sn.getAttributeBySemantic(t,zr.TRANSLATION),c=sn.getAttributeBySemantic(t,zr.SCALE);if(u(c)){r.addDefine("HAS_INSTANCE_SCALE");let C="Scale";X5(e,c.buffer,c.byteOffset,c.byteStride,n,C)}if(!u(a))return;let l,f=a.typedArray;u(f)?l=HVe(a,a.count,e):u(s.instancingTranslationMin)||(s.instancingTranslationMin=a.min,s.instancingTranslationMax=a.max),r.addDefine("HAS_INSTANCE_TRANSLATION");let d="Translation";if(X5(e,a.buffer,a.byteOffset,a.byteStride,n,d),!o)return;let p=Ge(i);p.mode=te.COLUMBUS_VIEW,wie(e,p);let g=s.instancingTranslationBuffer2D;if(!u(g)){let C=LVe(l,e,p,l),T=VVe(C);g=Z5(T,i),e.model._modelResources.push(g),s.instancingTranslationBuffer2D=g}X5(e,g,0,void 0,n,"Translation2D")}function Eie(e,t,n,i){let r=q.getSizeInBytes(q.FLOAT),s=r*12,a=[{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:q.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:q.FLOAT,normalize:!1,offsetInBytes:r*4,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:q.FLOAT,normalize:!1,offsetInBytes:r*8,strideInBytes:s,instanceDivisor:1}],c=e.shaderBuilder;c.addAttribute("vec4",`a_instancing${i}Row0`),c.addAttribute("vec4",`a_instancing${i}Row1`),c.addAttribute("vec4",`a_instancing${i}Row2`),n.push.apply(n,a)}function X5(e,t,n,i,o,r){o.push({index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:3,componentDatatype:q.FLOAT,normalize:!1,offsetInBytes:n,strideInBytes:i,instanceDivisor:1}),e.shaderBuilder.addAttribute("vec3",`a_instance${r}`)}function YVe(e,t,n,i){let o=n.attributes,r=e.shaderBuilder;for(let s=0;s<o.length;s++){let a=o[s];a.semantic===zr.FEATURE_ID&&(a.setIndex>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=a.setIndex+1),i.push({index:e.attributeIndex++,vertexBuffer:a.buffer,componentsPerAttribute:rn.getNumberOfComponents(a.type),componentDatatype:a.componentDatatype,normalize:!1,offsetInBytes:a.byteOffset,strideInBytes:a.byteStride,instanceDivisor:1}),r.addAttribute("float",`a_instanceFeatureId_${a.setIndex}`))}}var U1=bie;var J5={};J5.name="ModelMatrixUpdateStage";J5.update=function(e,t,n){let i=n.mode!==te.SCENE3D;if(!(i&&t._model._projectTo2D)&&e._transformDirty){let o=i?t._computedModelMatrix2D:t._computedModelMatrix;Pie(e,t,o,e.transformToRoot),e._transformDirty=!1}};function Pie(e,t,n,i){let o;i=M.multiplyTransformation(i,e.transform,new M),e.updateComputedTransform();let r=e.runtimePrimitives.length;for(o=0;o<r;o++){let c=e.runtimePrimitives[o].drawCommand;c.modelMatrix=M.multiplyTransformation(n,i,c.modelMatrix),c.cullFace=sn.getCullFace(c.modelMatrix,c.primitiveType)}let s=e.children.length;for(o=0;o<s;o++){let a=t._runtimeNodes[e.children[o]];a._transformToRoot=M.clone(i,a._transformToRoot),Pie(a,t,n,i),a._transformDirty=!1}}var k1=J5;var Oie={name:"NodeStatisticsPipelineStage",_countInstancingAttributes:Rie,_countGeneratedBuffers:Bie};Oie.process=function(e,t,n){let i=e.model.statistics,o=t.instances,r=e.runtimeNode;Rie(i,o),Bie(i,r)};function Rie(e,t){if(!u(t))return;let n=t.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];u(r.buffer)&&e.addBuffer(r.buffer,!1)}}function Bie(e,t){u(t.instancingTransformsBuffer)&&e.addBuffer(t.instancingTransformsBuffer,!1),u(t.instancingTransformsBuffer2D)&&e.addBuffer(t.instancingTransformsBuffer2D,!1),u(t.instancingTranslationBuffer2D)&&e.addBuffer(t.instancingTranslationBuffer2D,!1)}var z1=Oie;function XT(e){e=y(e,y.EMPTY_OBJECT);let t=e.node,n=e.transform,i=e.transformToRoot,o=e.sceneGraph,r=e.children;this._node=t,this._name=t.name,this._id=t.index,this._sceneGraph=o,this._children=r,this._originalTransform=M.clone(n,this._originalTransform),this._transform=M.clone(n,this._transform),this._transformToRoot=M.clone(i,this._transformToRoot),this._computedTransform=new M,this._transformDirty=!1,this._transformParameters=void 0,this._morphWeights=[],this._runtimeSkin=void 0,this._computedJointMatrices=[],this.show=!0,this.userAnimated=!1,this.pipelineStages=[],this.runtimePrimitives=[],this.updateStages=[],this.instancingTranslationMin=void 0,this.instancingTranslationMax=void 0,this.instancingTransformsBuffer=void 0,this.instancingTransformsBuffer2D=void 0,this.instancingTranslationBuffer2D=void 0,this.instancingReferencePoint2D=void 0,qVe(this)}Object.defineProperties(XT.prototype,{node:{get:function(){return this._node}},sceneGraph:{get:function(){return this._sceneGraph}},children:{get:function(){return this._children}},transform:{get:function(){return this._transform},set:function(e){this._transformDirty=!0,this._transform=M.clone(e,this._transform)}},transformToRoot:{get:function(){return this._transformToRoot}},computedTransform:{get:function(){return this._computedTransform}},originalTransform:{get:function(){return this._originalTransform}},translation:{get:function(){return u(this._transformParameters)?this._transformParameters.translation:void 0},set:function(e){let t=this._transformParameters,n=t.translation;h.equals(n,e)||(t.translation=h.clone(e,t.translation),Q5(this,t))}},rotation:{get:function(){return u(this._transformParameters)?this._transformParameters.rotation:void 0},set:function(e){let t=this._transformParameters,n=t.rotation;Le.equals(n,e)||(t.rotation=Le.clone(e,t.rotation),Q5(this,t))}},scale:{get:function(){return u(this._transformParameters)?this._transformParameters.scale:void 0},set:function(e){let t=this._transformParameters,n=t.scale;h.equals(n,e)||(t.scale=h.clone(e,t.scale),Q5(this,t))}},morphWeights:{get:function(){return this._morphWeights},set:function(e){let t=e.length;for(let n=0;n<t;n++)this._morphWeights[n]=e[n]}},runtimeSkin:{get:function(){return this._runtimeSkin}},computedJointMatrices:{get:function(){return this._computedJointMatrices}}});function qVe(e){let t=e.transform,n=e.transformToRoot,i=e._computedTransform;e._computedTransform=M.multiply(n,t,i);let o=e.node;u(o.matrix)||(e._transformParameters=new rg(o.translation,o.rotation,o.scale)),u(o.morphWeights)&&(e._morphWeights=o.morphWeights.slice());let r=o.articulationName;if(u(r)){let c=e.sceneGraph._runtimeArticulations[r];u(c)&&c.runtimeNodes.push(e)}}function Q5(e,t){e._transformDirty=!0,e._transform=M.fromTranslationRotationScale(t,e._transform)}XT.prototype.getChild=function(e){return this.sceneGraph._runtimeNodes[this.children[e]]};XT.prototype.configurePipeline=function(){let e=this.node,t=this.pipelineStages;t.length=0;let n=this.updateStages;n.length=0,u(e.instances)&&t.push(U1),t.push(z1),n.push(k1)};XT.prototype.updateComputedTransform=function(){this._computedTransform=M.multiply(this._transformToRoot,this._transform,this._computedTransform)};XT.prototype.updateJointMatrices=function(){let e=this._runtimeSkin;if(!u(e))return;e.updateJointMatrices();let t=this._computedJointMatrices,n=e.jointMatrices,i=n.length;for(let o=0;o<i;o++){u(t[o])||(t[o]=new M);let r=M.multiplyTransformation(this.transformToRoot,this.transform,t[o]),s=M.inverseTransformation(r,t[o]);t[o]=M.multiplyTransformation(s,n[o],t[o])}};var H1=XT;var Mie={name:"AlphaPipelineStage"};Mie.process=function(e,t,n){let i=e.alphaOptions,o=e.model;i.pass=y(i.pass,o.opaquePass);let r=e.renderStateOptions;i.pass===Ee.TRANSLUCENT&&(r.cull.enabled=!1,r.depthMask=!1,r.blending=un.ALPHA_BLEND);let s=e.shaderBuilder,a=e.uniformMap;u(i.alphaCutoff)&&(s.addDefine("ALPHA_MODE_MASK",void 0,Te.FRAGMENT),s.addUniform("float","u_alphaCutoff",Te.FRAGMENT),a.u_alphaCutoff=function(){return i.alphaCutoff})};var G1=Mie;var Lie={name:"BatchTexturePipelineStage"};Lie.process=function(e,t,n){let i=e.shaderBuilder,o={},r=e.model,s=r.featureTables[r.featureTableId],a=s.featuresLength;i.addUniform("int","model_featuresLength"),o.model_featuresLength=function(){return a};let c=s.batchTexture;i.addUniform("sampler2D","model_batchTexture"),o.model_batchTexture=function(){return y(c.batchTexture,c.defaultTexture)},i.addUniform("vec4","model_textureStep"),o.model_textureStep=function(){return c.textureStep},c.textureDimensions.y>1&&(i.addDefine("MULTILINE_BATCH_TEXTURE"),i.addUniform("vec2","model_textureDimensions"),o.model_textureDimensions=function(){return c.textureDimensions}),e.uniformMap=_t(o,e.uniformMap)};var W1=Lie;var Nie={name:"ClassificationPipelineStage"};Nie.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,Te.BOTH);let o=e.runtimePrimitive;u(o.batchLengths)||XVe(t,o)};function XVe(e,t){let n=sn.getAttributeBySemantic(e,Ct.POSITION);if(!u(n))throw new ue("Primitives must have a position attribute to be used for classification.");let i,o=e.indices,r=u(o);r&&(i=o.typedArray,o.typedArray=void 0);let s=r?o.count:n.count,a=sn.getAttributeBySemantic(e,Ct.FEATURE_ID,0);if(!u(a)){t.batchLengths=[s],t.batchOffsets=[0];return}let c=a.typedArray;a.typedArray=void 0;let l=[],f=[0],d=r?i[0]:0,p=c[d],g=0;for(let A=1;A<s;A++){let x=r?i[A]:A,C=c[x];if(C!==p){let T=A-g,E=A;l.push(T),f.push(E),g=E,p=C}}let m=s-g;l.push(m),t.batchLengths=l,t.batchOffsets=f}var j1=Nie;var Y1=`void filterByPassType(inout vec3 positionMC, vec4 featureColor) +{ + bool styleTranslucent = (featureColor.a != 1.0); + // Only render translucent features in the translucent pass (if the style or the original command has translucency). + if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) + { + // If the model has a translucent silhouette, it needs to render during the silhouette color command, + // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. + #ifdef HAS_SILHOUETTE + positionMC *= float(model_silhouettePass); + #else + positionMC *= 0.0; + #endif + } + // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. + else if (czm_pass != czm_passTranslucent && styleTranslucent) + { + positionMC *= 0.0; + } +} + +void cpuStylingStage(inout vec3 positionMC, inout SelectedFeature feature) +{ + float show = ceil(feature.color.a); + positionMC *= show; + + #if defined(HAS_SELECTED_FEATURE_ID_ATTRIBUTE) && !defined(HAS_CLASSIFICATION) + filterByPassType(positionMC, feature.color); + #endif +} +`;var q1=`void filterByPassType(vec4 featureColor) +{ + bool styleTranslucent = (featureColor.a != 1.0); + // Only render translucent features in the translucent pass (if the style or the original command has translucency). + if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) + { + // If the model has a translucent silhouette, it needs to render during the silhouette color command, + // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. + #ifdef HAS_SILHOUETTE + if(!model_silhouettePass) { + discard; + } + #else + discard; + #endif + } + // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. + else if (czm_pass != czm_passTranslucent && styleTranslucent) + { + discard; + } +} + +void cpuStylingStage(inout czm_modelMaterial material, SelectedFeature feature) +{ + vec4 featureColor = feature.color; + if (featureColor.a == 0.0) + { + discard; + } + + // If a feature ID vertex attribute is used, the pass type filter is applied in the vertex shader. + // So, we only apply in in the fragment shader if the feature ID texture is used. + #if defined(HAS_SELECTED_FEATURE_ID_TEXTURE) && !defined(HAS_CLASSIFICATION) + filterByPassType(featureColor); + #endif + + featureColor = czm_gammaCorrect(featureColor); + + // Classification models compute the diffuse differently. + #ifdef HAS_CLASSIFICATION + material.diffuse = featureColor.rgb * featureColor.a; + #else + float highlight = ceil(model_colorBlend); + material.diffuse *= mix(featureColor.rgb, vec3(1.0), highlight); + #endif + + material.alpha *= featureColor.a; +} +`;var Fie={name:"CPUStylingPipelineStage"};Fie.process=function(e,t,n){let i=e.model,o=e.shaderBuilder;o.addVertexLines(Y1),o.addFragmentLines(q1),o.addDefine("USE_CPU_STYLING",void 0,Te.BOTH),u(i.color)||(o.addUniform("float",Og.COLOR_BLEND_UNIFORM_NAME,Te.FRAGMENT),e.uniformMap[Og.COLOR_BLEND_UNIFORM_NAME]=function(){return ja.getColorBlend(i.colorBlendMode,i.colorBlendAmount)}),o.addUniform("bool","model_commandTranslucent",Te.BOTH),e.uniformMap.model_commandTranslucent=function(){return e.alphaOptions.pass===Ee.TRANSLUCENT}};var X1=Fie;var Vie={MODIFY_MATERIAL:"MODIFY_MATERIAL",REPLACE_MATERIAL:"REPLACE_MATERIAL"};Vie.getDefineName=function(e){return`CUSTOM_SHADER_${e}`};var Ip=Object.freeze(Vie);var K1=`void customShaderStage( + inout czm_modelVertexOutput vsOutput, + inout ProcessedAttributes attributes, + FeatureIds featureIds, + Metadata metadata, + MetadataClass metadataClass, + MetadataStatistics metadataStatistics +) { + // VertexInput and initializeInputStruct() are dynamically generated in JS, + // see CustomShaderPipelineStage.js + VertexInput vsInput; + initializeInputStruct(vsInput, attributes); + vsInput.featureIds = featureIds; + vsInput.metadata = metadata; + vsInput.metadataClass = metadataClass; + vsInput.metadataStatistics = metadataStatistics; + vertexMain(vsInput, vsOutput); + attributes.positionMC = vsOutput.positionMC; +} +`;var Z1=`void customShaderStage( + inout czm_modelMaterial material, + ProcessedAttributes attributes, + FeatureIds featureIds, + Metadata metadata, + MetadataClass metadataClass, + MetadataStatistics metadataStatistics +) { + // FragmentInput and initializeInputStruct() are dynamically generated in JS, + // see CustomShaderPipelineStage.js + FragmentInput fsInput; + initializeInputStruct(fsInput, attributes); + fsInput.featureIds = featureIds; + fsInput.metadata = metadata; + fsInput.metadataClass = metadataClass; + fsInput.metadataStatistics = metadataStatistics; + fragmentMain(fsInput, material); +} +`;var J1=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) { + initializeFeatureIds(featureIds, attributes); + initializeFeatureIdAliases(featureIds); +} +`;var Q1=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) +{ + initializeFeatureIds(featureIds, attributes); + initializeFeatureIdAliases(featureIds); + setFeatureIdVaryings(); +} +`;var Bi={name:"FeatureIdPipelineStage",STRUCT_ID_FEATURE_IDS_VS:"FeatureIdsVS",STRUCT_ID_FEATURE_IDS_FS:"FeatureIdsFS",STRUCT_NAME_FEATURE_IDS:"FeatureIds",FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS:"initializeFeatureIdsVS",FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS:"initializeFeatureIdsFS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS:"initializeFeatureIdAliasesVS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS:"initializeFeatureIdAliasesFS",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS:"void initializeFeatureIds(out FeatureIds featureIds, ProcessedAttributes attributes)",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES:"void initializeFeatureIdAliases(inout FeatureIds featureIds)",FUNCTION_ID_SET_FEATURE_ID_VARYINGS:"setFeatureIdVaryings",FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS:"void setFeatureIdVaryings()"};Bi.process=function(e,t,n){let i=e.shaderBuilder;KVe(i);let o=e.runtimeNode.node.instances;u(o)&&ZVe(e,o,n),JVe(e,t,n),i.addVertexLines(Q1),i.addFragmentLines(J1)};function KVe(e){e.addStruct(Bi.STRUCT_ID_FEATURE_IDS_VS,Bi.STRUCT_NAME_FEATURE_IDS,Te.VERTEX),e.addStruct(Bi.STRUCT_ID_FEATURE_IDS_FS,Bi.STRUCT_NAME_FEATURE_IDS,Te.FRAGMENT),e.addFunction(Bi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,Bi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,Te.VERTEX),e.addFunction(Bi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,Bi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,Te.FRAGMENT),e.addFunction(Bi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,Bi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,Te.VERTEX),e.addFunction(Bi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,Bi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,Te.FRAGMENT),e.addFunction(Bi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,Bi.FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS,Te.VERTEX)}function ZVe(e,t,n){let i=t.featureIds,o=t.attributes[0].count;for(let r=0;r<i.length;r++){let s=i[r],a=s.positionalLabel;s instanceof Rt.FeatureIdAttribute?QVe(e,s,a):Uie(e,s,a,o,1,n);let c=s.label;u(c)&&kie(e,a,c,Te.BOTH)}}function JVe(e,t,n){let i=t.featureIds,r=sn.getAttributeBySemantic(t,Ct.POSITION).count;for(let s=0;s<i.length;s++){let a=i[s],c=a.positionalLabel,l=Te.BOTH;a instanceof Rt.FeatureIdAttribute?$Ve(e,a,c):a instanceof Rt.FeatureIdImplicitRange?Uie(e,a,c,r,void 0,n):(eUe(e,a,c,s,n),l=Te.FRAGMENT);let f=a.label;u(f)&&kie(e,c,f,l)}}function QVe(e,t,n){let i=e.shaderBuilder;i.addStructField(Bi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Bi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=`a_${r}${o}`,a=`v_${r}${o}`,c=`featureIds.${n} = int(czm_round(${s}));`,l=`featureIds.${n} = int(czm_round(${a}));`;i.addFunctionLines(Bi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[c]),i.addFunctionLines(Bi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[l]),i.addVarying("float",a),i.addFunctionLines(Bi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${a} = ${s};`])}function $Ve(e,t,n){let i=e.shaderBuilder;i.addStructField(Bi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Bi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=[`featureIds.${n} = int(czm_round(attributes.${r}${o}));`];i.addFunctionLines(Bi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,s),i.addFunctionLines(Bi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,s)}function Uie(e,t,n,i,o,r){tUe(e,t,i,o,r);let s=e.shaderBuilder,a=`a_implicit_${n}`;s.addAttribute("float",a);let c=`v_implicit_${n}`;s.addVarying("float",c),s.addStructField(Bi.STRUCT_ID_FEATURE_IDS_VS,"int",n),s.addStructField(Bi.STRUCT_ID_FEATURE_IDS_FS,"int",n),s.addFunctionLines(Bi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${c} = ${a};`]),s.addFunctionLines(Bi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[`featureIds.${n} = int(czm_round(${a}));`]),s.addFunctionLines(Bi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[`featureIds.${n} = int(czm_round(${c}));`])}function eUe(e,t,n,i,o){let r=`u_featureIdTexture_${i}`,s=e.uniformMap,a=t.textureReader;s[r]=function(){return y(a.texture,o.context.defaultTexture)};let c=a.channels,l=e.shaderBuilder;l.addStructField(Bi.STRUCT_ID_FEATURE_IDS_FS,"int",n),l.addUniform("sampler2D",r,Te.FRAGMENT);let f=`v_texCoord_${a.texCoord}`,d=`texture(${r}, ${f}).${c}`,p=`featureIds.${n} = czm_unpackUint(${d});`;l.addFunctionLines(Bi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[p])}function kie(e,t,n,i){let o=e.shaderBuilder,r=Te.includesVertexShader(i);r&&o.addStructField(Bi.STRUCT_ID_FEATURE_IDS_VS,"int",n),o.addStructField(Bi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let s=[`featureIds.${n} = featureIds.${t};`];r&&o.addFunctionLines(Bi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,s),o.addFunctionLines(Bi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,s)}function tUe(e,t,n,i,o){let r=e.model,s,a;if(u(t.repeat)){let l=nUe(t,n);s=lt.createVertexBuffer({context:o.context,typedArray:l,usage:Ne.STATIC_DRAW}),s.vertexArrayDestroyable=!1,r._pipelineResources.push(s);let f=!1;r.statistics.addBuffer(s,f)}else a=[t.offset];let c={index:e.attributeIndex++,instanceDivisor:i,value:a,vertexBuffer:s,normalize:!1,componentsPerAttribute:1,componentDatatype:q.FLOAT,strideInBytes:q.getSizeInBytes(q.FLOAT),offsetInBytes:0};e.attributes.push(c)}function nUe(e,t){let n=e.offset,i=e.repeat,o=new Float32Array(t);for(let r=0;r<t;r++)o[r]=n+Math.floor(r/i);return o}var Rg=Bi;var $1=`void metadataStage( + out Metadata metadata, + out MetadataClass metadataClass, + out MetadataStatistics metadataStatistics, + ProcessedAttributes attributes + ) +{ + initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); +} +`;var eO=`void metadataStage( + out Metadata metadata, + out MetadataClass metadataClass, + out MetadataStatistics metadataStatistics, + ProcessedAttributes attributes + ) +{ + initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); + setMetadataVaryings(); +} +`;var xi={name:"MetadataPipelineStage",STRUCT_ID_METADATA_VS:"MetadataVS",STRUCT_ID_METADATA_FS:"MetadataFS",STRUCT_NAME_METADATA:"Metadata",STRUCT_ID_METADATA_CLASS_VS:"MetadataClassVS",STRUCT_ID_METADATA_CLASS_FS:"MetadataClassFS",STRUCT_NAME_METADATA_CLASS:"MetadataClass",STRUCT_ID_METADATA_STATISTICS_VS:"MetadataStatisticsVS",STRUCT_ID_METADATA_STATISTICS_FS:"MetadataStatisticsFS",STRUCT_NAME_METADATA_STATISTICS:"MetadataStatistics",FUNCTION_ID_INITIALIZE_METADATA_VS:"initializeMetadataVS",FUNCTION_ID_INITIALIZE_METADATA_FS:"initializeMetadataFS",FUNCTION_SIGNATURE_INITIALIZE_METADATA:"void initializeMetadata(out Metadata metadata, out MetadataClass metadataClass, out MetadataStatistics metadataStatistics, ProcessedAttributes attributes)",FUNCTION_ID_SET_METADATA_VARYINGS:"setMetadataVaryings",FUNCTION_SIGNATURE_SET_METADATA_VARYINGS:"void setMetadataVaryings()",METADATA_CLASS_FIELDS:[{specName:"noData",shaderName:"noData"},{specName:"default",shaderName:"defaultValue"},{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"}],METADATA_STATISTICS_FIELDS:[{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"},{specName:"mean",shaderName:"mean",type:"float"},{specName:"median",shaderName:"median"},{specName:"standardDeviation",shaderName:"standardDeviation",type:"float"},{specName:"variance",shaderName:"variance",type:"float"},{specName:"sum",shaderName:"sum"}]};xi.process=function(e,t,n){let{shaderBuilder:i,model:o}=e,{structuralMetadata:r={},content:s}=o,a=s?.tileset.metadataExtension?.statistics,c=iUe(r.propertyAttributes,t,a),l=rUe(r.propertyTextures,a),f=c.concat(l);aUe(i,f),uUe(i),i.addVertexLines(eO),i.addFragmentLines($1);for(let d=0;d<c.length;d++){let p=c[d];fUe(e,p)}for(let d=0;d<l.length;d++){let p=l[d];hUe(e,p)}};function iUe(e,t,n){return u(e)?e.flatMap(i=>oUe(i,t,n)):[]}function oUe(e,t,n){let{getAttributeByName:i,getAttributeInfo:o,sanitizeGlslIdentifier:r}=sn,s=e.class.id,a=n?.classes[s],c=Object.entries(e.properties),l=new Array(c.length);for(let f=0;f<c.length;f++){let[d,p]=c[f],g=i(t,p.attribute),{glslType:m,variableName:A}=o(g);l[f]={metadataVariable:r(d),property:p,type:p.classProperty.type,glslType:m,variableName:A,propertyStatistics:a?.properties[d],shaderDestination:Te.BOTH}}return l}function rUe(e,t){return u(e)?e.flatMap(n=>sUe(n,t)):[]}function sUe(e,t){let{sanitizeGlslIdentifier:n}=sn,i=e.class.id,o=t?.classes[i],r=Object.entries(e.properties).filter(([a,c])=>c.isGpuCompatible()),s=new Array(r.length);for(let a=0;a<r.length;a++){let[c,l]=r[a];s[a]={metadataVariable:n(c),property:l,type:l.classProperty.type,glslType:l.getGlslType(),propertyStatistics:o?.properties[c],shaderDestination:Te.FRAGMENT}}return s}function aUe(e,t){let n=new Set,i=new Set;for(let a=0;a<t.length;a++){let{type:c,glslType:l,propertyStatistics:f}=t[a];n.add(l),u(f)&&c!==zt.ENUM&&i.add(l)}let o=xi.METADATA_CLASS_FIELDS;for(let a of n){let c=`${a}MetadataClass`;s(c,a,o)}let r=xi.METADATA_STATISTICS_FIELDS;for(let a of i){let c=`${a}MetadataStatistics`;s(c,a,r)}function s(a,c,l){e.addStruct(a,a,Te.BOTH);for(let f=0;f<l.length;f++){let{shaderName:d}=l[f],p=l[f].type==="float"?lUe(c):c;e.addStructField(a,p,d)}}}var cUe={int:"float",ivec2:"vec2",ivec3:"vec3",ivec4:"vec4"};function lUe(e){let t=cUe[e];return u(t)?t:e}function uUe(e){e.addStruct(xi.STRUCT_ID_METADATA_VS,xi.STRUCT_NAME_METADATA,Te.VERTEX),e.addStruct(xi.STRUCT_ID_METADATA_FS,xi.STRUCT_NAME_METADATA,Te.FRAGMENT),e.addStruct(xi.STRUCT_ID_METADATA_CLASS_VS,xi.STRUCT_NAME_METADATA_CLASS,Te.VERTEX),e.addStruct(xi.STRUCT_ID_METADATA_CLASS_FS,xi.STRUCT_NAME_METADATA_CLASS,Te.FRAGMENT),e.addStruct(xi.STRUCT_ID_METADATA_STATISTICS_VS,xi.STRUCT_NAME_METADATA_STATISTICS,Te.VERTEX),e.addStruct(xi.STRUCT_ID_METADATA_STATISTICS_FS,xi.STRUCT_NAME_METADATA_STATISTICS,Te.FRAGMENT),e.addFunction(xi.FUNCTION_ID_INITIALIZE_METADATA_VS,xi.FUNCTION_SIGNATURE_INITIALIZE_METADATA,Te.VERTEX),e.addFunction(xi.FUNCTION_ID_INITIALIZE_METADATA_FS,xi.FUNCTION_SIGNATURE_INITIALIZE_METADATA,Te.FRAGMENT),e.addFunction(xi.FUNCTION_ID_SET_METADATA_VARYINGS,xi.FUNCTION_SIGNATURE_SET_METADATA_VARYINGS,Te.VERTEX)}function fUe(e,t){dUe(e,t),zie(e.shaderBuilder,t),Hie(e.shaderBuilder,t)}function dUe(e,t){let{shaderBuilder:n}=e,{metadataVariable:i,property:o,glslType:r}=t,s=Wie({valueExpression:`attributes.${t.variableName}`,renderResources:e,glslType:r,metadataVariable:i,shaderDestination:Te.BOTH,property:o});n.addStructField(xi.STRUCT_ID_METADATA_VS,r,i),n.addStructField(xi.STRUCT_ID_METADATA_FS,r,i);let a=`metadata.${i} = ${s};`;n.addFunctionLines(xi.FUNCTION_ID_INITIALIZE_METADATA_VS,[a]),n.addFunctionLines(xi.FUNCTION_ID_INITIALIZE_METADATA_FS,[a])}function hUe(e,t){mUe(e,t),zie(e.shaderBuilder,t),Hie(e.shaderBuilder,t)}function mUe(e,t){let{shaderBuilder:n,uniformMap:i}=e,{metadataVariable:o,glslType:r,property:s}=t,{texCoord:a,channels:c,index:l,texture:f}=s.textureReader,d=`u_propertyTexture_${l}`;i.hasOwnProperty(d)||(n.addUniform("sampler2D",d,Te.FRAGMENT),i[d]=()=>f),n.addStructField(xi.STRUCT_ID_METADATA_FS,r,o);let p=`attributes.texCoord_${a}`,g=`texture(${d}, ${p}).${c}`,m=s.unpackInShader(g),A=Wie({valueExpression:m,renderResources:e,glslType:r,metadataVariable:o,shaderDestination:Te.FRAGMENT,property:s}),x=`metadata.${o} = ${A};`;n.addFunctionLines(xi.FUNCTION_ID_INITIALIZE_METADATA_FS,[x])}function zie(e,t){let{classProperty:n}=t.property,{metadataVariable:i,glslType:o,shaderDestination:r}=t,s=Gie(xi.METADATA_CLASS_FIELDS,n,`metadataClass.${i}`,o),a=`${o}MetadataClass`;e.addStructField(xi.STRUCT_ID_METADATA_CLASS_FS,a,i),e.addFunctionLines(xi.FUNCTION_ID_INITIALIZE_METADATA_FS,s),Te.includesVertexShader(r)&&(e.addStructField(xi.STRUCT_ID_METADATA_CLASS_VS,a,i),e.addFunctionLines(xi.FUNCTION_ID_INITIALIZE_METADATA_VS,s))}function Hie(e,t){let{propertyStatistics:n}=t;if(!u(n))return;let{metadataVariable:i,type:o,glslType:r}=t;if(o===zt.ENUM)return;let s=xi.METADATA_STATISTICS_FIELDS,a=`metadataStatistics.${i}`,c=Gie(s,n,a,r),l=`${r}MetadataStatistics`;e.addStructField(xi.STRUCT_ID_METADATA_STATISTICS_FS,l,i),e.addFunctionLines(xi.FUNCTION_ID_INITIALIZE_METADATA_FS,c),Te.includesVertexShader(t.shaderDestination)&&(e.addStructField(xi.STRUCT_ID_METADATA_STATISTICS_VS,l,i),e.addFunctionLines(xi.FUNCTION_ID_INITIALIZE_METADATA_VS,c))}function Gie(e,t,n,i){return u(t)?e.map(o).filter(u):[];function o(r){let s=t[r.specName];if(u(s))return`${n}.${r.shaderName} = ${i}(${s});`}}function Wie(e){let{valueExpression:t,property:n}=e;if(!n.hasValueTransform)return t;let i=e.metadataVariable,o=`u_${i}_offset`,r=`u_${i}_scale`,{shaderBuilder:s,uniformMap:a}=e.renderResources,{glslType:c,shaderDestination:l}=e;s.addUniform(c,o,l),s.addUniform(c,r,l);let{offset:f,scale:d}=n;return a[o]=()=>f,a[r]=()=>d,`czm_valueTransform(${o}, ${r}, ${t})`}var Ku=xi;var pUe={INHERIT:0,OPAQUE:1,TRANSLUCENT:2},Bg=Object.freeze(pUe);var zs={name:"CustomShaderPipelineStage",STRUCT_ID_ATTRIBUTES_VS:"AttributesVS",STRUCT_ID_ATTRIBUTES_FS:"AttributesFS",STRUCT_NAME_ATTRIBUTES:"Attributes",STRUCT_ID_VERTEX_INPUT:"VertexInput",STRUCT_NAME_VERTEX_INPUT:"VertexInput",STRUCT_ID_FRAGMENT_INPUT:"FragmentInput",STRUCT_NAME_FRAGMENT_INPUT:"FragmentInput",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS:"initializeInputStructVS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS:"void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS:"initializeInputStructFS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS:"void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",_oneTimeWarning:wt};zs.process=function(e,t,n){let i=e.shaderBuilder,o=e.model.customShader;u(o.lightingModel)&&(e.lightingOptions.lightingModel=o.lightingModel);let r=e.alphaOptions;o.translucencyMode===Bg.TRANSLUCENT?r.pass=Ee.TRANSLUCENT:o.translucencyMode===Bg.OPAQUE&&(r.pass=void 0);let s=EUe(o,t);if(!s.customShaderEnabled)return;if(vUe(i,o,s),s.shouldComputePositionWC&&i.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,Te.BOTH),u(o.vertexShaderText)&&i.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,Te.VERTEX),u(o.fragmentShaderText)){i.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,Te.FRAGMENT);let l=Ip.getDefineName(o.mode);i.addDefine(l,void 0,Te.FRAGMENT)}let a=o.uniforms;for(let l in a)if(a.hasOwnProperty(l)){let f=a[l];i.addUniform(f.type,l)}let c=o.varyings;for(let l in c)if(c.hasOwnProperty(l)){let f=c[l];i.addVarying(f,l)}e.uniformMap=_t(e.uniformMap,o.uniformMap)};function _Ue(e){let t={};for(let n=0;n<e.length;n++){let i=e[n],o=sn.getAttributeInfo(i);t[o.variableName]=o}return t}var gUe={position:"vec3",normal:"vec3",tangent:"vec3",bitangent:"vec3",texCoord:"vec2",color:"vec4",joints:"ivec4",weights:"vec4"},yUe={position:"vec3(0.0)",normal:"vec3(0.0, 0.0, 1.0)",tangent:"vec3(1.0, 0.0, 0.0)",bitangent:"vec3(0.0, 1.0, 0.0)",texCoord:"vec2(0.0)",color:"vec4(1.0)",joints:"ivec4(0)",weights:"vec4(0.0)"};function jie(e){let t=e.replace(/_[0-9]+$/,"");t=t.replace(/(MC|EC)$/,"");let n=gUe[t],i=yUe[t];if(u(n))return{attributeField:[n,e],value:i}}function AUe(e,t,n){let i=Yie(t,e.usedVariablesVertex.attributeSet,!1),o=i.addToShader,r=i.missingAttributes,s,a,c=[],l=[];for(s in o)if(o.hasOwnProperty(s)){let d=[o[s].glslType,s];c.push(d),a=`vsInput.attributes.${s} = attributes.${s};`,l.push(a)}for(let f=0;f<r.length;f++){s=r[f];let d=jie(s);if(!u(d)){zs._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveVS",`Primitive is missing attribute ${s}, disabling custom vertex shader`);return}c.push(d.attributeField),a=`vsInput.attributes.${s} = ${d.value};`,l.push(a)}n.enabled=!0,n.attributeFields=c,n.initializationLines=l}function xUe(e){let t=[],n=[],i=e.usedVariablesFragment.attributeSet;return i.hasOwnProperty("positionWC")&&(t.push(["vec3","positionWC"]),n.push("fsInput.attributes.positionWC = attributes.positionWC;")),i.hasOwnProperty("positionEC")&&(t.push(["vec3","positionEC"]),n.push("fsInput.attributes.positionEC = attributes.positionEC;")),{attributeFields:t,initializationLines:n}}function CUe(e,t,n){let i=Yie(t,e.usedVariablesFragment.attributeSet,!0),o=i.addToShader,r=i.missingAttributes,s,a,c=[],l=[];for(s in o)if(o.hasOwnProperty(s)){let p=[o[s].glslType,s];c.push(p),a=`fsInput.attributes.${s} = attributes.${s};`,l.push(a)}for(let d=0;d<r.length;d++){s=r[d];let p=jie(s);if(!u(p)){zs._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveFS",`Primitive is missing attribute ${s}, disabling custom fragment shader.`);return}c.push(p.attributeField),a=`fsInput.attributes.${s} = ${p.value};`,l.push(a)}let f=xUe(e);n.enabled=!0,n.attributeFields=c.concat(f.attributeFields),n.initializationLines=f.initializationLines.concat(l)}var TUe={positionWC:!0,positionEC:!0};function Yie(e,t,n){let i,o,r={};for(o in e)if(e.hasOwnProperty(o)){let a=e[o];i=o,n&&o==="normalMC"?i="normalEC":n&&o==="tangentMC"&&(i="tangentEC"),t.hasOwnProperty(i)&&(r[i]=a)}let s=[];for(o in t)if(t.hasOwnProperty(o)){if(TUe.hasOwnProperty(o))continue;i=o,n&&o==="normalEC"?i="normalMC":n&&o==="tangentEC"&&(i="tangentMC"),e.hasOwnProperty(i)||s.push(o)}return{addToShader:r,missingAttributes:s}}function EUe(e,t){let n={enabled:!1},i={enabled:!1},o=_Ue(t.attributes);u(e.vertexShaderText)&&AUe(e,o,n),u(e.fragmentShaderText)&&CUe(e,o,i);let s=e.usedVariablesFragment.attributeSet.hasOwnProperty("positionWC")&&i.enabled;return{vertexLines:n,fragmentLines:i,vertexLinesEnabled:n.enabled,fragmentLinesEnabled:i.enabled,customShaderEnabled:n.enabled||i.enabled,shouldComputePositionWC:s}}function bUe(e,t){let n,i=zs.STRUCT_ID_ATTRIBUTES_VS;e.addStruct(i,zs.STRUCT_NAME_ATTRIBUTES,Te.VERTEX);let o=t.attributeFields;for(n=0;n<o.length;n++){let a=o[n],c=a[0],l=a[1];e.addStructField(i,c,l)}i=zs.STRUCT_ID_VERTEX_INPUT,e.addStruct(i,zs.STRUCT_NAME_VERTEX_INPUT,Te.VERTEX),e.addStructField(i,zs.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(i,Rg.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(i,Ku.STRUCT_NAME_METADATA,"metadata"),e.addStructField(i,Ku.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(i,Ku.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let r=zs.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS;e.addFunction(r,zs.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS,Te.VERTEX);let s=t.initializationLines;e.addFunctionLines(r,s)}function SUe(e,t){let n,i=zs.STRUCT_ID_ATTRIBUTES_FS;e.addStruct(i,zs.STRUCT_NAME_ATTRIBUTES,Te.FRAGMENT);let o,r,s,a=t.attributeFields;for(n=0;n<a.length;n++)o=a[n],r=o[0],s=o[1],e.addStructField(i,r,s);i=zs.STRUCT_ID_FRAGMENT_INPUT,e.addStruct(i,zs.STRUCT_NAME_FRAGMENT_INPUT,Te.FRAGMENT),e.addStructField(i,zs.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(i,Rg.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(i,Ku.STRUCT_NAME_METADATA,"metadata"),e.addStructField(i,Ku.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(i,Ku.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let c=zs.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS;e.addFunction(c,zs.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS,Te.FRAGMENT);let l=t.initializationLines;e.addFunctionLines(c,l)}var DUe=[];function vUe(e,t,n){let i=n.vertexLines,o=DUe;i.enabled&&(bUe(e,i),o.length=0,o.push("#line 0",t.vertexShaderText,K1),e.addVertexLines(o));let r=n.fragmentLines;r.enabled&&(SUe(e,r),o.length=0,o.push("#line 0",t.fragmentShaderText,Z1),e.addFragmentLines(o))}var tO=zs;var nO={name:"DequantizationPipelineStage",FUNCTION_ID_DEQUANTIZATION_STAGE_VS:"dequantizationStage",FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS:"void dequantizationStage(inout ProcessedAttributes attributes)"};nO.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=u(o.classificationType);i.addDefine("USE_DEQUANTIZATION",void 0,Te.VERTEX),i.addFunction(nO.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,nO.FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS,Te.VERTEX);let s=t.attributes;for(let a=0;a<s.length;a++){let c=s[a],l=c.quantization;if(!u(l))continue;let f=c.semantic===Ct.POSITION,d=c.semantic===Ct.TEXCOORD;if(r&&!f&&!d)continue;let p=sn.getAttributeInfo(c);IUe(i,p),wUe(e,p)}};function wUe(e,t){let n=e.shaderBuilder,i=e.uniformMap,o=t.variableName,r=t.attribute.quantization;if(r.octEncoded){let s=`model_normalizationRange_${o}`;n.addUniform("float",s,Te.VERTEX),i[s]=function(){return r.normalizationRange}}else{let s=`model_quantizedVolumeOffset_${o}`,a=`model_quantizedVolumeStepSize_${o}`,c=t.glslType;n.addUniform(c,s,Te.VERTEX),n.addUniform(c,a,Te.VERTEX);let l=r.quantizedVolumeOffset,f=r.quantizedVolumeStepSize;/^color_\d+$/.test(o)&&(l=qie(l,0),f=qie(f,1)),i[s]=function(){return l},i[a]=function(){return f}}}function qie(e,t){return e instanceof oe?e:new oe(e.x,e.y,e.z,t)}function IUe(e,t){let n=t.variableName,i=t.attribute.quantization,o;i.octEncoded?o=PUe(n,i):o=OUe(n),e.addFunctionLines(nO.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,[o])}function PUe(e,t){let n=`attributes.${e}`,i=`a_quantized_${e}`,o=`model_normalizationRange_${e}`,r=t.octEncodedZXY?".zxy":".xyz";return`${n} = czm_octDecode(${i}, ${o})${r};`}function OUe(e){let t=`attributes.${e}`,n=`a_quantized_${e}`,i=`model_quantizedVolumeOffset_${e}`,o=`model_quantizedVolumeStepSize_${e}`;return`${t} = ${i} + ${n} * ${o};`}var iO=nO;var oO=`void geometryStage(out ProcessedAttributes attributes) +{ + attributes.positionMC = v_positionMC; + attributes.positionEC = v_positionEC; + + #ifdef COMPUTE_POSITION_WC_CUSTOM_SHADER + attributes.positionWC = v_positionWC; + #endif + + #ifdef HAS_NORMALS + // renormalize after interpolation + attributes.normalEC = normalize(v_normalEC); + #endif + + #ifdef HAS_TANGENTS + attributes.tangentEC = normalize(v_tangentEC); + #endif + + #ifdef HAS_BITANGENTS + attributes.bitangentEC = normalize(v_bitangentEC); + #endif + + // Everything else is dynamically generated in GeometryPipelineStage + setDynamicVaryings(attributes); +} +`;var rO=`vec4 geometryStage(inout ProcessedAttributes attributes, mat4 modelView, mat3 normal) +{ + vec4 computedPosition; + + // Compute positions in different coordinate systems + vec3 positionMC = attributes.positionMC; + v_positionMC = positionMC; + v_positionEC = (modelView * vec4(positionMC, 1.0)).xyz; + + #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) + vec3 position2D = attributes.position2D; + vec3 positionEC = (u_modelView2D * vec4(position2D, 1.0)).xyz; + computedPosition = czm_projection * vec4(positionEC, 1.0); + #else + computedPosition = czm_projection * vec4(v_positionEC, 1.0); + #endif + + // Sometimes the custom shader and/or style needs this + #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE) + // Note that this is a 32-bit position which may result in jitter on small + // scales. + v_positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; + #endif + + #ifdef HAS_NORMALS + v_normalEC = normalize(normal * attributes.normalMC); + #endif + + #ifdef HAS_TANGENTS + v_tangentEC = normalize(normal * attributes.tangentMC); + #endif + + #ifdef HAS_BITANGENTS + v_bitangentEC = normalize(normal * attributes.bitangentMC); + #endif + + // All other varyings need to be dynamically generated in + // GeometryPipelineStage + setDynamicVaryings(attributes); + + return computedPosition; +} +`;var KT=`vec2 computeSt(float featureId) +{ + float stepX = model_textureStep.x; + float centerX = model_textureStep.y; + + #ifdef MULTILINE_BATCH_TEXTURE + float stepY = model_textureStep.z; + float centerY = model_textureStep.w; + + float xId = mod(featureId, model_textureDimensions.x); + float yId = floor(featureId / model_textureDimensions.x); + + return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); + #else + return vec2(centerX + (featureId * stepX), 0.5); + #endif +} + +void selectedFeatureIdStage(out SelectedFeature feature, FeatureIds featureIds) +{ + int featureId = featureIds.SELECTED_FEATURE_ID; + + + if (featureId < model_featuresLength) + { + vec2 featureSt = computeSt(float(featureId)); + + feature.id = featureId; + feature.st = featureSt; + feature.color = texture(model_batchTexture, featureSt); + } + // Floating point comparisons can be unreliable in GLSL, so we + // increment the feature ID to make sure it's always greater + // then the model_featuresLength - a condition we check for in the + // pick ID, to avoid sampling the pick texture if the feature ID is + // greater than the number of features. + else + { + feature.id = model_featuresLength + 1; + feature.st = vec2(0.0); + feature.color = vec4(1.0); + } + + #ifdef HAS_NULL_FEATURE_ID + if (featureId == model_nullFeatureId) { + feature.id = featureId; + feature.st = vec2(0.0); + feature.color = vec4(1.0); + } + #endif +} +`;var sO={name:"SelectedFeatureIdPipelineStage",STRUCT_ID_SELECTED_FEATURE:"SelectedFeature",STRUCT_NAME_SELECTED_FEATURE:"SelectedFeature",FUNCTION_ID_FEATURE_VARYINGS_VS:"updateFeatureStructVS",FUNCTION_ID_FEATURE_VARYINGS_FS:"updateFeatureStructFS",FUNCTION_SIGNATURE_UPDATE_FEATURE:"void updateFeatureStruct(inout SelectedFeature feature)"};sO.process=function(e,t,n){let i=e.shaderBuilder;e.hasPropertyTable=!0;let o=e.model,r=e.runtimeNode.node,s=RUe(o,r,t),a=s.shaderDestination;i.addDefine("HAS_SELECTED_FEATURE_ID",void 0,a),i.addDefine("SELECTED_FEATURE_ID",s.variableName,a),i.addDefine(s.featureIdDefine,void 0,a),BUe(i);let c=s.featureIds.nullFeatureId,l=e.uniformMap;u(c)&&(i.addDefine("HAS_NULL_FEATURE_ID",void 0,a),i.addUniform("int","model_nullFeatureId",a),l.model_nullFeatureId=function(){return c}),s.shaderDestination===Te.BOTH&&i.addVertexLines(KT),i.addFragmentLines(KT)};function Xie(e){return e instanceof Rt.FeatureIdTexture?"HAS_SELECTED_FEATURE_ID_TEXTURE":"HAS_SELECTED_FEATURE_ID_ATTRIBUTE"}function Kie(e){return e instanceof Rt.FeatureIdTexture?Te.FRAGMENT:Te.BOTH}function RUe(e,t,n){let i,o;return u(t.instances)&&(o=sn.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),u(o))?(i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:Kie(o),featureIdDefine:Xie(o)}):(o=sn.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:Kie(o),featureIdDefine:Xie(o)})}function BUe(e){e.addStructField(sO.STRUCT_ID_SELECTED_FEATURE,"int","id"),e.addStructField(sO.STRUCT_ID_SELECTED_FEATURE,"vec2","st"),e.addStructField(sO.STRUCT_ID_SELECTED_FEATURE,"vec4","color")}var Mg=sO;var Ts={name:"GeometryPipelineStage",STRUCT_ID_PROCESSED_ATTRIBUTES_VS:"ProcessedAttributesVS",STRUCT_ID_PROCESSED_ATTRIBUTES_FS:"ProcessedAttributesFS",STRUCT_NAME_PROCESSED_ATTRIBUTES:"ProcessedAttributes",FUNCTION_ID_INITIALIZE_ATTRIBUTES:"initializeAttributes",FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES:"void initializeAttributes(out ProcessedAttributes attributes)",FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS:"setDynamicVaryingsVS",FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS:"setDynamicVaryingsFS",FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS:"void setDynamicVaryings(inout ProcessedAttributes attributes)"};Ts.process=function(e,t,n){let i=e.shaderBuilder,o=e.model;i.addStruct(Ts.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"ProcessedAttributes",Te.VERTEX),i.addStruct(Ts.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"ProcessedAttributes",Te.FRAGMENT),i.addStruct(Mg.STRUCT_ID_SELECTED_FEATURE,Mg.STRUCT_NAME_SELECTED_FEATURE,Te.BOTH),i.addFunction(Ts.FUNCTION_ID_INITIALIZE_ATTRIBUTES,Ts.FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES,Te.VERTEX),i.addVarying("vec3","v_positionWC"),i.addVarying("vec3","v_positionEC"),i.addStructField(Ts.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionWC"),i.addStructField(Ts.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionEC"),i.addFunction(Ts.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,Ts.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,Te.VERTEX),i.addFunction(Ts.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,Ts.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,Te.FRAGMENT),o.type===rr.TILE_PNTS&&i.addDefine("HAS_SRGB_COLOR",void 0,Te.FRAGMENT);let s=n.mode!==te.SCENE3D&&!n.scene3DOnly&&o._projectTo2D,a=u(e.runtimeNode.node.instances),c=s&&!a,l=t.attributes.length;for(let f=0;f<l;f++){let d=t.attributes[f],p=rn.getAttributeLocationCount(d.type),g=d.semantic===Ct.POSITION,m;p>1?(m=e.attributeIndex,e.attributeIndex+=p):g&&!c?m=0:m=e.attributeIndex++,MUe(e,d,m,p,s,a)}GUe(i,t.attributes),t.primitiveType===Me.POINTS&&i.addDefine("PRIMITIVE_TYPE_POINTS"),i.addVertexLines(rO),i.addFragmentLines(oO)};function MUe(e,t,n,i,o,r){let s=e.shaderBuilder,a=sn.getAttributeInfo(t),c=o&&!r;i>1?FUe(e,t,n,i):NUe(e,t,n,c),UUe(s,a,c),VUe(s,a),u(t.semantic)&&LUe(s,t),kUe(s,a,o),zUe(s,a,c),HUe(s,a)}function LUe(e,t){let n=t.semantic,i=t.setIndex;switch(n){case Ct.NORMAL:e.addDefine("HAS_NORMALS");break;case Ct.TANGENT:e.addDefine("HAS_TANGENTS");break;case Ct.FEATURE_ID:e.addDefine(`HAS${n}_${i}`);break;case Ct.TEXCOORD:case Ct.COLOR:e.addDefine(`HAS_${n}_${i}`)}}function NUe(e,t,n,i){let o=t.quantization,r,s;u(o)?(r=o.type,s=o.componentDatatype):(r=t.type,s=t.componentDatatype);let a=t.semantic,c=t.setIndex;a===Ct.FEATURE_ID&&c>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=c+1);let l=a===Ct.POSITION,f=l?0:n,d=rn.getNumberOfComponents(r),p={index:f,value:u(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,count:t.count,componentsPerAttribute:d,componentDatatype:s,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};if(e.attributes.push(p),!l||!i)return;let g=e.runtimePrimitive.positionBuffer2D,m={index:n,vertexBuffer:g,count:t.count,componentsPerAttribute:d,componentDatatype:q.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:t.normalized};e.attributes.push(m)}function FUe(e,t,n,i){let o=t.quantization,r,s;u(o)?(r=o.type,s=o.componentDatatype):(r=t.type,s=t.componentDatatype);let a=t.normalized,l=rn.getNumberOfComponents(r)/i,f=q.getSizeInBytes(s),d=l*f,p=t.byteStride;for(let g=0;g<i;g++){let m=t.byteOffset+g*d,A={index:n+g,vertexBuffer:t.buffer,componentsPerAttribute:l,componentDatatype:s,offsetInBytes:m,strideInBytes:p,normalize:a};e.attributes.push(A)}}function VUe(e,t){let n=t.variableName,i=`v_${n}`,o;n==="normalMC"?(i="v_normalEC",o=t.glslType):n==="tangentMC"?(o="vec3",i="v_tangentEC"):o=t.glslType,e.addVarying(o,i)}function UUe(e,t,n){let i=t.attribute.semantic,o=t.variableName,r,s;t.isQuantized?(r=`a_quantized_${o}`,s=t.quantizedGlslType):(r=`a_${o}`,s=t.glslType);let a=i===Ct.POSITION;a?e.setPositionAttribute(s,r):e.addAttribute(s,r),a&&n&&e.addAttribute("vec3","a_position2D")}function kUe(e,t,n){let i=Ts.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,o=Ts.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,r=t.variableName;r==="tangentMC"?(e.addStructField(i,"vec3","tangentMC"),e.addStructField(i,"float","tangentSignMC"),e.addStructField(o,"vec3","tangentEC")):r==="normalMC"?(e.addStructField(i,"vec3","normalMC"),e.addStructField(o,"vec3","normalEC")):(e.addStructField(i,t.glslType,r),e.addStructField(o,t.glslType,r)),r==="positionMC"&&n&&e.addStructField(i,"vec3","position2D")}function zUe(e,t,n){let i=Ts.FUNCTION_ID_INITIALIZE_ATTRIBUTES,o=t.variableName;if(o==="positionMC"&&n){let a="attributes.position2D = a_position2D;";e.addFunctionLines(i,[a])}if(t.isQuantized)return;let s=[];o==="tangentMC"?(s.push("attributes.tangentMC = a_tangentMC.xyz;"),s.push("attributes.tangentSignMC = a_tangentMC.w;")):s.push(`attributes.${o} = a_${o};`),e.addFunctionLines(i,s)}function HUe(e,t){let n=t.attribute.semantic,i=t.attribute.setIndex;if(u(n)&&!u(i))return;let o=Ts.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,r=t.variableName,s=`v_${r} = attributes.${r};`;e.addFunctionLines(o,[s]),o=Ts.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,s=`attributes.${r} = v_${r};`,e.addFunctionLines(o,[s])}function GUe(e,t){let n=!1,i=!1;for(let o=0;o<t.length;o++){let r=t[o];r.semantic===Ct.NORMAL?n=!0:r.semantic===Ct.TANGENT&&(i=!0)}!n||!i||(e.addDefine("HAS_BITANGENTS"),e.addVarying("vec3","v_bitangentEC"),e.addStructField(Ts.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"vec3","bitangentMC"),e.addStructField(Ts.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","bitangentEC"))}var aO=Ts;var cO=`#ifdef LIGHTING_PBR +vec3 computePbrLighting(czm_modelMaterial inputMaterial, ProcessedAttributes attributes) +{ + czm_pbrParameters pbrParameters; + pbrParameters.diffuseColor = inputMaterial.diffuse; + pbrParameters.f0 = inputMaterial.specular; + pbrParameters.roughness = inputMaterial.roughness; + + #ifdef USE_CUSTOM_LIGHT_COLOR + vec3 lightColorHdr = model_lightColorHdr; + #else + vec3 lightColorHdr = czm_lightColorHdr; + #endif + + vec3 color = inputMaterial.diffuse; + #ifdef HAS_NORMALS + color = czm_pbrLighting( + attributes.positionEC, + inputMaterial.normalEC, + czm_lightDirectionEC, + lightColorHdr, + pbrParameters + ); + + #ifdef USE_IBL_LIGHTING + color += imageBasedLightingStage( + attributes.positionEC, + inputMaterial.normalEC, + czm_lightDirectionEC, + lightColorHdr, + pbrParameters + ); + #endif + #endif + + color *= inputMaterial.occlusion; + color += inputMaterial.emissive; + + // In HDR mode, the frame buffer is in linear color space. The + // post-processing stages (see PostProcessStageCollection) will handle + // tonemapping. However, if HDR is not enabled, we must tonemap else large + // values may be clamped to 1.0 + #ifndef HDR + color = czm_acesTonemapping(color); + #endif + + return color; +} +#endif + +void lightingStage(inout czm_modelMaterial material, ProcessedAttributes attributes) +{ + // Even though the lighting will only set the diffuse color, + // pass all other properties so further stages have access to them. + vec3 color = vec3(0.0); + + #ifdef LIGHTING_PBR + color = computePbrLighting(material, attributes); + #else // unlit + color = material.diffuse; + #endif + + #ifdef HAS_POINT_CLOUD_COLOR_STYLE + // The colors resulting from point cloud styles are adjusted differently. + color = czm_gammaCorrect(color); + #elif !defined(HDR) + // If HDR is not enabled, the frame buffer stores sRGB colors rather than + // linear colors so the linear value must be converted. + color = czm_linearToSrgb(color); + #endif + + material.diffuse = color; +} +`;var WUe={UNLIT:0,PBR:1},Rh=Object.freeze(WUe);var Zie={name:"LightingPipelineStage"};Zie.process=function(e,t){let n=e.model,i=e.lightingOptions,o=e.shaderBuilder;if(u(n.lightColor)){o.addDefine("USE_CUSTOM_LIGHT_COLOR",void 0,Te.FRAGMENT),o.addUniform("vec3","model_lightColorHdr",Te.FRAGMENT);let s=e.uniformMap;s.model_lightColorHdr=function(){return n.lightColor}}i.lightingModel===Rh.PBR?o.addDefine("LIGHTING_PBR",void 0,Te.FRAGMENT):o.addDefine("LIGHTING_UNLIT",void 0,Te.FRAGMENT),o.addFragmentLines(cO)};var lO=Zie;var uO=`// If the style color is white, it implies the feature has not been styled. +bool isDefaultStyleColor(vec3 color) +{ + return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); +} + +vec3 blend(vec3 sourceColor, vec3 styleColor, float styleColorBlend) +{ + vec3 blendColor = mix(sourceColor, styleColor, styleColorBlend); + vec3 color = isDefaultStyleColor(styleColor.rgb) ? sourceColor : blendColor; + return color; +} + +vec2 computeTextureTransform(vec2 texCoord, mat3 textureTransform) +{ + return vec2(textureTransform * vec3(texCoord, 1.0)); +} + +#ifdef HAS_NORMALS +vec3 computeNormal(ProcessedAttributes attributes) +{ + // Geometry normal. This is already normalized + vec3 ng = attributes.normalEC; + + vec3 normal = ng; + #if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME) + vec2 normalTexCoords = TEXCOORD_NORMAL; + #ifdef HAS_NORMAL_TEXTURE_TRANSFORM + normalTexCoords = computeTextureTransform(normalTexCoords, u_normalTextureTransform); + #endif + + // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set + #ifdef HAS_BITANGENTS + vec3 t = attributes.tangentEC; + vec3 b = attributes.bitangentEC; + mat3 tbn = mat3(t, b, ng); + vec3 n = texture(u_normalTexture, normalTexCoords).rgb; + normal = normalize(tbn * (2.0 * n - 1.0)); + #elif (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) + // If derivatives are available (not IE 10), compute tangents + vec3 positionEC = attributes.positionEC; + vec3 pos_dx = dFdx(positionEC); + vec3 pos_dy = dFdy(positionEC); + vec3 tex_dx = dFdx(vec3(normalTexCoords,0.0)); + vec3 tex_dy = dFdy(vec3(normalTexCoords,0.0)); + vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t); + t = normalize(t - ng * dot(ng, t)); + vec3 b = normalize(cross(ng, t)); + mat3 tbn = mat3(t, b, ng); + vec3 n = texture(u_normalTexture, normalTexCoords).rgb; + normal = normalize(tbn * (2.0 * n - 1.0)); + #endif + #endif + + #ifdef HAS_DOUBLE_SIDED_MATERIAL + if (czm_backFacing()) { + normal = -normal; + } + #endif + + return normal; +} +#endif + +void materialStage(inout czm_modelMaterial material, ProcessedAttributes attributes, SelectedFeature feature) +{ + #ifdef HAS_NORMALS + material.normalEC = computeNormal(attributes); + #endif + + vec4 baseColorWithAlpha = vec4(1.0); + // Regardless of whether we use PBR, set a base color + #ifdef HAS_BASE_COLOR_TEXTURE + vec2 baseColorTexCoords = TEXCOORD_BASE_COLOR; + + #ifdef HAS_BASE_COLOR_TEXTURE_TRANSFORM + baseColorTexCoords = computeTextureTransform(baseColorTexCoords, u_baseColorTextureTransform); + #endif + + baseColorWithAlpha = czm_srgbToLinear(texture(u_baseColorTexture, baseColorTexCoords)); + + #ifdef HAS_BASE_COLOR_FACTOR + baseColorWithAlpha *= u_baseColorFactor; + #endif + #elif defined(HAS_BASE_COLOR_FACTOR) + baseColorWithAlpha = u_baseColorFactor; + #endif + + #ifdef HAS_POINT_CLOUD_COLOR_STYLE + baseColorWithAlpha = v_pointCloudColor; + #elif defined(HAS_COLOR_0) + vec4 color = attributes.color_0; + // .pnts files store colors in the sRGB color space + #ifdef HAS_SRGB_COLOR + color = czm_srgbToLinear(color); + #endif + baseColorWithAlpha *= color; + #endif + + material.diffuse = baseColorWithAlpha.rgb; + material.alpha = baseColorWithAlpha.a; + + #ifdef USE_CPU_STYLING + material.diffuse = blend(material.diffuse, feature.color.rgb, model_colorBlend); + #endif + + #ifdef HAS_OCCLUSION_TEXTURE + vec2 occlusionTexCoords = TEXCOORD_OCCLUSION; + #ifdef HAS_OCCLUSION_TEXTURE_TRANSFORM + occlusionTexCoords = computeTextureTransform(occlusionTexCoords, u_occlusionTextureTransform); + #endif + material.occlusion = texture(u_occlusionTexture, occlusionTexCoords).r; + #endif + + #ifdef HAS_EMISSIVE_TEXTURE + vec2 emissiveTexCoords = TEXCOORD_EMISSIVE; + #ifdef HAS_EMISSIVE_TEXTURE_TRANSFORM + emissiveTexCoords = computeTextureTransform(emissiveTexCoords, u_emissiveTextureTransform); + #endif + + vec3 emissive = czm_srgbToLinear(texture(u_emissiveTexture, emissiveTexCoords).rgb); + #ifdef HAS_EMISSIVE_FACTOR + emissive *= u_emissiveFactor; + #endif + material.emissive = emissive; + #elif defined(HAS_EMISSIVE_FACTOR) + material.emissive = u_emissiveFactor; + #endif + + #if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS) + #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE + vec2 specularGlossinessTexCoords = TEXCOORD_SPECULAR_GLOSSINESS; + #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE_TRANSFORM + specularGlossinessTexCoords = computeTextureTransform(specularGlossinessTexCoords, u_specularGlossinessTextureTransform); + #endif + + vec4 specularGlossiness = czm_srgbToLinear(texture(u_specularGlossinessTexture, specularGlossinessTexCoords)); + vec3 specular = specularGlossiness.rgb; + float glossiness = specularGlossiness.a; + #ifdef HAS_SPECULAR_FACTOR + specular *= u_specularFactor; + #endif + + #ifdef HAS_GLOSSINESS_FACTOR + glossiness *= u_glossinessFactor; + #endif + #else + #ifdef HAS_SPECULAR_FACTOR + vec3 specular = clamp(u_specularFactor, vec3(0.0), vec3(1.0)); + #else + vec3 specular = vec3(1.0); + #endif + + #ifdef HAS_GLOSSINESS_FACTOR + float glossiness = clamp(u_glossinessFactor, 0.0, 1.0); + #else + float glossiness = 1.0; + #endif + #endif + + #ifdef HAS_DIFFUSE_TEXTURE + vec2 diffuseTexCoords = TEXCOORD_DIFFUSE; + #ifdef HAS_DIFFUSE_TEXTURE_TRANSFORM + diffuseTexCoords = computeTextureTransform(diffuseTexCoords, u_diffuseTextureTransform); + #endif + + vec4 diffuse = czm_srgbToLinear(texture(u_diffuseTexture, diffuseTexCoords)); + #ifdef HAS_DIFFUSE_FACTOR + diffuse *= u_diffuseFactor; + #endif + #elif defined(HAS_DIFFUSE_FACTOR) + vec4 diffuse = clamp(u_diffuseFactor, vec4(0.0), vec4(1.0)); + #else + vec4 diffuse = vec4(1.0); + #endif + czm_pbrParameters parameters = czm_pbrSpecularGlossinessMaterial( + diffuse.rgb, + specular, + glossiness + ); + material.diffuse = parameters.diffuseColor; + // the specular glossiness extension's alpha overrides anything set + // by the base material. + material.alpha = diffuse.a; + material.specular = parameters.f0; + material.roughness = parameters.roughness; + #elif defined(LIGHTING_PBR) + #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE + vec2 metallicRoughnessTexCoords = TEXCOORD_METALLIC_ROUGHNESS; + #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE_TRANSFORM + metallicRoughnessTexCoords = computeTextureTransform(metallicRoughnessTexCoords, u_metallicRoughnessTextureTransform); + #endif + + vec3 metallicRoughness = texture(u_metallicRoughnessTexture, metallicRoughnessTexCoords).rgb; + float metalness = clamp(metallicRoughness.b, 0.0, 1.0); + float roughness = clamp(metallicRoughness.g, 0.04, 1.0); + #ifdef HAS_METALLIC_FACTOR + metalness *= u_metallicFactor; + #endif + + #ifdef HAS_ROUGHNESS_FACTOR + roughness *= u_roughnessFactor; + #endif + #else + #ifdef HAS_METALLIC_FACTOR + float metalness = clamp(u_metallicFactor, 0.0, 1.0); + #else + float metalness = 1.0; + #endif + + #ifdef HAS_ROUGHNESS_FACTOR + float roughness = clamp(u_roughnessFactor, 0.04, 1.0); + #else + float roughness = 1.0; + #endif + #endif + czm_pbrParameters parameters = czm_pbrMetallicRoughnessMaterial( + material.diffuse, + metalness, + roughness + ); + material.diffuse = parameters.diffuseColor; + material.specular = parameters.f0; + material.roughness = parameters.roughness; + #endif +} +`;var jUe=Rt.Material,$5=Rt.MetallicRoughness,e6=Rt.SpecularGlossiness,Jie={name:"MaterialPipelineStage",_processTexture:Lg,_processTextureTransform:Qie};Jie.process=function(e,t,n){let i=t.material,o=e.model,r=u(o.classificationType),s=r,a=e.uniformMap,c=e.shaderBuilder,l=n.context.defaultTexture,f=n.context.defaultNormalTexture,d=n.context.defaultEmissiveTexture;YUe(i,a,c,l,f,d,s),u(i.specularGlossiness)?qUe(i,a,c,l,s):XUe(i,a,c,l,s);let p=sn.getAttributeBySemantic(t,Ct.NORMAL),g=e.lightingOptions;i.unlit||!p||r?g.lightingModel=Rh.UNLIT:g.lightingModel=Rh.PBR;let m=o.backFaceCulling&&!i.doubleSided;e.renderStateOptions.cull.enabled=m;let A=e.alphaOptions;i.alphaMode===Ph.BLEND?A.pass=Ee.TRANSLUCENT:i.alphaMode===Ph.MASK&&(A.alphaCutoff=i.alphaCutoff),c.addFragmentLines(uO),i.doubleSided&&c.addDefine("HAS_DOUBLE_SIDED_MATERIAL",void 0,Te.BOTH)};function Qie(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_TRANSFORM`;e.addDefine(r,void 0,Te.FRAGMENT);let s=`${i}Transform`;e.addUniform("mat3",s,Te.FRAGMENT),t[s]=function(){return n.transform}}function Lg(e,t,n,i,o,r){e.addUniform("sampler2D",i,Te.FRAGMENT),t[i]=function(){return y(n.texture,r)};let s=`HAS_${o}_TEXTURE`;e.addDefine(s,void 0,Te.FRAGMENT);let c=`v_texCoord_${n.texCoord}`,l=`TEXCOORD_${o}`;e.addDefine(l,c,Te.FRAGMENT);let f=n.transform;u(f)&&!Z.equals(f,Z.IDENTITY)&&Qie(e,t,n,i,o)}function YUe(e,t,n,i,o,r,s){let a=e.emissiveTexture;u(a)&&!s&&Lg(n,t,a,"u_emissiveTexture","EMISSIVE",r);let c=e.emissiveFactor;u(c)&&!h.equals(c,jUe.DEFAULT_EMISSIVE_FACTOR)&&(n.addUniform("vec3","u_emissiveFactor",Te.FRAGMENT),t.u_emissiveFactor=function(){return e.emissiveFactor},n.addDefine("HAS_EMISSIVE_FACTOR",void 0,Te.FRAGMENT));let l=e.normalTexture;u(l)&&!s&&Lg(n,t,l,"u_normalTexture","NORMAL",o);let f=e.occlusionTexture;u(f)&&!s&&Lg(n,t,f,"u_occlusionTexture","OCCLUSION",i)}function qUe(e,t,n,i,o){let r=e.specularGlossiness;n.addDefine("USE_SPECULAR_GLOSSINESS",void 0,Te.FRAGMENT);let s=r.diffuseTexture;u(s)&&!o&&Lg(n,t,s,"u_diffuseTexture","DIFFUSE",i);let a=r.diffuseFactor;u(a)&&!oe.equals(a,e6.DEFAULT_DIFFUSE_FACTOR)&&(n.addUniform("vec4","u_diffuseFactor",Te.FRAGMENT),t.u_diffuseFactor=function(){return r.diffuseFactor},n.addDefine("HAS_DIFFUSE_FACTOR",void 0,Te.FRAGMENT));let c=r.specularGlossinessTexture;u(c)&&!o&&Lg(n,t,c,"u_specularGlossinessTexture","SPECULAR_GLOSSINESS",i);let l=r.specularFactor;u(l)&&!h.equals(l,e6.DEFAULT_SPECULAR_FACTOR)&&(n.addUniform("vec3","u_specularFactor",Te.FRAGMENT),t.u_specularFactor=function(){return r.specularFactor},n.addDefine("HAS_SPECULAR_FACTOR",void 0,Te.FRAGMENT));let f=r.glossinessFactor;u(f)&&f!==e6.DEFAULT_GLOSSINESS_FACTOR&&(n.addUniform("float","u_glossinessFactor",Te.FRAGMENT),t.u_glossinessFactor=function(){return r.glossinessFactor},n.addDefine("HAS_GLOSSINESS_FACTOR",void 0,Te.FRAGMENT))}function XUe(e,t,n,i,o){let r=e.metallicRoughness;n.addDefine("USE_METALLIC_ROUGHNESS",void 0,Te.FRAGMENT);let s=r.baseColorTexture;u(s)&&!o&&Lg(n,t,s,"u_baseColorTexture","BASE_COLOR",i);let a=r.baseColorFactor;u(a)&&!oe.equals(a,$5.DEFAULT_BASE_COLOR_FACTOR)&&(n.addUniform("vec4","u_baseColorFactor",Te.FRAGMENT),t.u_baseColorFactor=function(){return r.baseColorFactor},n.addDefine("HAS_BASE_COLOR_FACTOR",void 0,Te.FRAGMENT));let c=r.metallicRoughnessTexture;u(c)&&!o&&Lg(n,t,c,"u_metallicRoughnessTexture","METALLIC_ROUGHNESS",i);let l=r.metallicFactor;u(l)&&l!==$5.DEFAULT_METALLIC_FACTOR&&(n.addUniform("float","u_metallicFactor",Te.FRAGMENT),t.u_metallicFactor=function(){return r.metallicFactor},n.addDefine("HAS_METALLIC_FACTOR",void 0,Te.FRAGMENT));let f=r.roughnessFactor;u(f)&&f!==$5.DEFAULT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_roughnessFactor",Te.FRAGMENT),t.u_roughnessFactor=function(){return r.roughnessFactor},n.addDefine("HAS_ROUGHNESS_FACTOR",void 0,Te.FRAGMENT))}var fO=Jie;var dO=`void morphTargetsStage(inout ProcessedAttributes attributes) +{ + vec3 positionMC = attributes.positionMC; + attributes.positionMC = getMorphedPosition(positionMC); + + #ifdef HAS_NORMALS + vec3 normalMC = attributes.normalMC; + attributes.normalMC = getMorphedNormal(normalMC); + #endif + + #ifdef HAS_TANGENTS + vec3 tangentMC = attributes.tangentMC; + attributes.tangentMC = getMorphedTangent(tangentMC); + #endif +}`;var ma={name:"MorphTargetsPipelineStage",FUNCTION_ID_GET_MORPHED_POSITION:"getMorphedPosition",FUNCTION_SIGNATURE_GET_MORPHED_POSITION:"vec3 getMorphedPosition(in vec3 position)",FUNCTION_ID_GET_MORPHED_NORMAL:"getMorphedNormal",FUNCTION_SIGNATURE_GET_MORPHED_NORMAL:"vec3 getMorphedNormal(in vec3 normal)",FUNCTION_ID_GET_MORPHED_TANGENT:"getMorphedTangent",FUNCTION_SIGNATURE_GET_MORPHED_TANGENT:"vec3 getMorphedTangent(in vec3 tangent)"};ma.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_MORPH_TARGETS",void 0,Te.VERTEX),eke(n);let i=t.morphTargets.length;for(let a=0;a<i;a++){let c=t.morphTargets[a].attributes,l=c.length;for(let f=0;f<l;f++){let d=c[f],p=d.semantic;p!==Ct.POSITION&&p!==Ct.NORMAL&&p!==Ct.TANGENT||(ZUe(e,d,e.attributeIndex,a),e.attributeIndex++)}}tke(n);let r=e.runtimeNode.morphWeights.length;n.addUniform("float",`u_morphWeights[${r}]`,Te.VERTEX),n.addVertexLines(dO);let s={u_morphWeights:function(){return e.runtimeNode.morphWeights}};e.uniformMap=_t(s,e.uniformMap)};var KUe={attributeString:void 0,functionId:void 0};function ZUe(e,t,n,i){let o=e.shaderBuilder;JUe(e,t,n);let r=QUe(t,KUe);$Ue(o,r,i)}function JUe(e,t,n){let i={index:n,value:u(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,componentsPerAttribute:rn.getNumberOfComponents(t.type),componentDatatype:t.componentDatatype,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};e.attributes.push(i)}function QUe(e,t){switch(e.semantic){case Ct.POSITION:t.attributeString="Position",t.functionId=ma.FUNCTION_ID_GET_MORPHED_POSITION;break;case Ct.NORMAL:t.attributeString="Normal",t.functionId=ma.FUNCTION_ID_GET_MORPHED_NORMAL;break;case Ct.TANGENT:t.attributeString="Tangent",t.functionId=ma.FUNCTION_ID_GET_MORPHED_TANGENT;break;default:break}return t}function $Ue(e,t,n){let i=t.attributeString,o=`a_target${i}_${n}`,r=`morphed${i} += u_morphWeights[${n}] * a_target${i}_${n};`;e.addAttribute("vec3",o),e.addFunctionLines(t.functionId,[r])}function eke(e){e.addFunction(ma.FUNCTION_ID_GET_MORPHED_POSITION,ma.FUNCTION_SIGNATURE_GET_MORPHED_POSITION,Te.VERTEX);let t="vec3 morphedPosition = position;";e.addFunctionLines(ma.FUNCTION_ID_GET_MORPHED_POSITION,[t]),e.addFunction(ma.FUNCTION_ID_GET_MORPHED_NORMAL,ma.FUNCTION_SIGNATURE_GET_MORPHED_NORMAL,Te.VERTEX);let n="vec3 morphedNormal = normal;";e.addFunctionLines(ma.FUNCTION_ID_GET_MORPHED_NORMAL,[n]),e.addFunction(ma.FUNCTION_ID_GET_MORPHED_TANGENT,ma.FUNCTION_SIGNATURE_GET_MORPHED_TANGENT,Te.VERTEX);let i="vec3 morphedTangent = tangent;";e.addFunctionLines(ma.FUNCTION_ID_GET_MORPHED_TANGENT,[i])}function tke(e){let t="return morphedPosition;";e.addFunctionLines(ma.FUNCTION_ID_GET_MORPHED_POSITION,[t]);let n="return morphedNormal;";e.addFunctionLines(ma.FUNCTION_ID_GET_MORPHED_NORMAL,[n]);let i="return morphedTangent;";e.addFunctionLines(ma.FUNCTION_ID_GET_MORPHED_TANGENT,[i])}var hO=ma;var $ie={name:"PickingPipelineStage"};$ie.process=function(e,t,n){let i=n.context,o=e.runtimeNode,r=e.shaderBuilder,s=e.model,a=o.node.instances;if(e.hasPropertyTable)nke(e,t,a,i);else if(u(a))ike(e,i);else{let c=eoe(e),l=i.createPickId(c);s._pipelineResources.push(l),s._pickIds.push(l),r.addUniform("vec4","czm_pickColor",Te.FRAGMENT);let f=e.uniformMap;f.czm_pickColor=function(){return l.color},e.pickId="czm_pickColor"}};function eoe(e,t){let n=e.model;if(u(n.pickObject))return n.pickObject;let i={model:n,node:e.runtimeNode,primitive:e.runtimePrimitive},o;if(rr.is3DTiles(n.type)){let r=n.content;o={content:r,primitive:r.tileset,detail:i}}else o={primitive:n,detail:i};return o.id=n.id,u(t)&&(o.instanceId=t),o}function nke(e,t,n){let i=e.model,o,r,s=i.featureIdLabel,a=i.instanceFeatureIdLabel;u(i.featureTableId)?o=i.featureTableId:u(n)?(r=sn.getFeatureIdsByLabel(n.featureIds,a),o=r.propertyTableId):(r=sn.getFeatureIdsByLabel(t.featureIds,s),o=r.propertyTableId);let c=i.featureTables[o];e.shaderBuilder.addUniform("sampler2D","model_pickTexture",Te.FRAGMENT);let f=c.batchTexture;e.uniformMap.model_pickTexture=function(){return y(f.pickTexture,f.defaultTexture)},e.pickId="((selectedFeature.id < int(model_featuresLength)) ? texture(model_pickTexture, selectedFeature.st) : vec4(0.0))"}function ike(e,t){let n=e.instanceCount,i=new Array(n),o=new Uint8Array(n*4),r=e.model,s=r._pipelineResources;for(let d=0;d<n;d++){let p=eoe(e,d),g=t.createPickId(p);s.push(g),i[d]=g;let m=g.color;o[d*4+0]=z.floatToByte(m.red),o[d*4+1]=z.floatToByte(m.green),o[d*4+2]=z.floatToByte(m.blue),o[d*4+3]=z.floatToByte(m.alpha)}r._pickIds=i;let a=lt.createVertexBuffer({context:t,typedArray:o,usage:Ne.STATIC_DRAW});a.vertexArrayDestroyable=!1;let c=!1;r.statistics.addBuffer(a,c),s.push(a);let l={index:e.attributeIndex++,vertexBuffer:a,componentsPerAttribute:4,componentDatatype:q.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0,instanceDivisor:1};e.attributes.push(l);let f=e.shaderBuilder;f.addDefine("USE_PICKING",void 0,Te.BOTH),f.addAttribute("vec4","a_pickColor"),f.addVarying("vec4","v_pickColor"),e.pickId="v_pickColor"}var mO=$ie;var oke={ADD:0,REPLACE:1},Sr=Object.freeze(oke);var pO=`float getPointSizeFromAttenuation(vec3 positionEC) { + // Variables are packed into a single vector to minimize gl.uniformXXX() calls + float pointSize = model_pointCloudParameters.x; + float geometricError = model_pointCloudParameters.y; + float depthMultiplier = model_pointCloudParameters.z; + + float depth = -positionEC.z; + return min((geometricError / depth) * depthMultiplier, pointSize); +} + +#ifdef HAS_POINT_CLOUD_SHOW_STYLE +float pointCloudShowStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + float tiles3d_tileset_time = model_pointCloudParameters.w; + return float(getShowFromStyle(attributes, metadata, tiles3d_tileset_time)); +} +#endif + +#ifdef HAS_POINT_CLOUD_COLOR_STYLE +vec4 pointCloudColorStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + float tiles3d_tileset_time = model_pointCloudParameters.w; + return getColorFromStyle(attributes, metadata, tiles3d_tileset_time); +} +#endif + +#ifdef HAS_POINT_CLOUD_POINT_SIZE_STYLE +float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + float tiles3d_tileset_time = model_pointCloudParameters.w; + return float(getPointSizeFromStyle(attributes, metadata, tiles3d_tileset_time)); +} +#elif defined(HAS_POINT_CLOUD_ATTENUATION) +float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + return getPointSizeFromAttenuation(v_positionEC); +} +#endif + +#ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING +float pointCloudBackFaceCullingStage() { + #if defined(HAS_NORMALS) && !defined(HAS_DOUBLE_SIDED_MATERIAL) + // This needs to be computed in eye coordinates so we can't use attributes.normalMC + return step(-v_normalEC.z, 0.0); + #else + return 1.0; + #endif +} +#endif`;var rke=new oe,noe={name:"PointCloudStylingPipelineStage"};noe.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=o.style,s=o.structuralMetadata,a=u(s)?s.propertyAttributes:void 0,c=u(o.featureTableId)&&o.featureTables[o.featureTableId].featuresLength>0,l=!u(a)&&c;if(u(r)&&!l){let A=lke(a),x=uke(r,A);fke(i,x);let T=dke(x).indexOf("normalMC")>=0,E=sn.getAttributeBySemantic(t,Ct.NORMAL);if(T&&!E)throw new ue("Style references the NORMAL semantic but the point cloud does not have normals");i.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,Te.VERTEX),x.styleTranslucent&&(e.alphaOptions.pass=Ee.TRANSLUCENT)}let f=o.pointCloudShading;f.attenuation&&i.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,Te.VERTEX),f.backFaceCulling&&i.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,Te.VERTEX);let d,p,g;rr.is3DTiles(o.type)&&(p=!0,d=o.content,g=d.tile.refine===Sr.ADD),i.addUniform("vec4","model_pointCloudParameters",Te.VERTEX),i.addVertexLines(pO);let m=e.uniformMap;m.model_pointCloudParameters=function(){let A=rke,x=1;p&&(x=g?5:d.tileset.maximumScreenSpaceError),A.x=y(f.maximumAttenuation,x),A.x*=n.pixelRatio;let C=ske(e,t,f,d);A.y=C*f.geometricErrorScale;let T=n.context,E=n.camera.frustum,S;return n.mode===te.SCENE2D||E instanceof en?S=Number.POSITIVE_INFINITY:S=T.drawingBufferHeight/n.camera.frustum.sseDenominator,A.z=S,p&&(A.w=d.tileset.timeSinceLoad),A}};var toe=new h;function ske(e,t,n,i){if(u(i)){let f=i.tile.geometricError;if(f>0)return f}if(u(n.baseResolution))return n.baseResolution;let o=sn.getAttributeBySemantic(t,Ct.POSITION),r=o.count,s=e.runtimeNode.transform,a=h.subtract(o.max,o.min,toe);a=M.multiplyByPointAsVector(s,a,toe);let c=a.x*a.y*a.z;return P.cbrt(c/r)}var ake={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},cke={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function lke(e){let t=Ge(cke);if(!u(e))return t;for(let n=0;n<e.length;n++){let o=e[n].properties;for(let r in o)o.hasOwnProperty(r)&&(t[r]=`metadata.${r}`)}return t}var t6="ProcessedAttributes attributes, Metadata metadata, float tiles3d_tileset_time";function uke(e,t){let n=ake,i={translucent:!1};return n.colorStyleFunction=e.getColorShaderFunction(`getColorFromStyle(${t6})`,t,i),n.showStyleFunction=e.getShowShaderFunction(`getShowFromStyle(${t6})`,t,i),n.pointSizeStyleFunction=e.getPointSizeShaderFunction(`getPointSizeFromStyle(${t6})`,t,i),n.styleTranslucent=u(n.colorStyleFunction)&&i.translucent,n}function fke(e,t){let n=t.colorStyleFunction;u(n)&&(e.addDefine("HAS_POINT_CLOUD_COLOR_STYLE",void 0,Te.BOTH),e.addVertexLines(n),e.addVarying("vec4","v_pointCloudColor"));let i=t.showStyleFunction;u(i)&&(e.addDefine("HAS_POINT_CLOUD_SHOW_STYLE",void 0,Te.VERTEX),e.addVertexLines(i));let o=t.pointSizeStyleFunction;u(o)&&(e.addDefine("HAS_POINT_CLOUD_POINT_SIZE_STYLE",void 0,Te.VERTEX),e.addVertexLines(o))}function n6(e,t){let n=/attributes\.(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function dke(e){let t=e.colorStyleFunction,n=e.showStyleFunction,i=e.pointSizeStyleFunction,o=[];return u(t)&&n6(t,o),u(n)&&n6(n,o),u(i)&&n6(i,o),o}var _O=noe;var gO=`void primitiveOutlineStage() { + v_outlineCoordinates = a_outlineCoordinates; +} +`;var yO=`void primitiveOutlineStage(inout czm_modelMaterial material) { + if (!model_showOutline) { + return; + } + + float outlineX = + texture(model_outlineTexture, vec2(v_outlineCoordinates.x, 0.5)).r; + float outlineY = + texture(model_outlineTexture, vec2(v_outlineCoordinates.y, 0.5)).r; + float outlineZ = + texture(model_outlineTexture, vec2(v_outlineCoordinates.z, 0.5)).r; + float outlineness = max(outlineX, max(outlineY, outlineZ)); + + material.diffuse = mix(material.diffuse, model_outlineColor.rgb, model_outlineColor.a * outlineness); +} + +`;var ioe={name:"PrimitiveOutlinePipelineStage"};ioe.process=function(e,t,n){let i=e.shaderBuilder,o=e.uniformMap;i.addDefine("HAS_PRIMITIVE_OUTLINE",void 0,Te.BOTH),i.addAttribute("vec3","a_outlineCoordinates"),i.addVarying("vec3","v_outlineCoordinates");let r=t.outlineCoordinates,s={index:e.attributeIndex++,vertexBuffer:r.buffer,componentsPerAttribute:rn.getNumberOfComponents(r.type),componentDatatype:r.componentDatatype,offsetInBytes:r.byteOffset,strideInBytes:r.byteStride,normalize:r.normalized};e.attributes.push(s),i.addUniform("sampler2D","model_outlineTexture",Te.FRAGMENT);let a=EA.createTexture(n.context);o.model_outlineTexture=function(){return a};let c=e.model;i.addUniform("vec4","model_outlineColor",Te.FRAGMENT),o.model_outlineColor=function(){return c.outlineColor},i.addUniform("bool","model_showOutline",Te.FRAGMENT),o.model_showOutline=function(){return c.showOutline},i.addVertexLines(gO),i.addFragmentLines(yO)};var AO=ioe;var ooe={name:"PrimitiveStatisticsPipelineStage",_countGeometry:roe,_count2DPositions:soe,_countMorphTargetAttributes:aoe,_countMaterialTextures:coe,_countFeatureIdTextures:loe,_countBinaryMetadata:uoe};ooe.process=function(e,t,n){let i=e.model,o=i.statistics;roe(o,t),soe(o,e.runtimePrimitive),aoe(o,t),coe(o,t.material),loe(o,t.featureIds),uoe(o,i)};function roe(e,t){let n=u(t.indices)?t.indices.count:sn.getAttributeBySemantic(t,"POSITION").count,i=t.primitiveType;i===Me.POINTS?e.pointsLength+=n:Me.isTriangles(i)&&(e.trianglesLength+=hke(i,n));let o=t.attributes,r=o.length;for(let c=0;c<r;c++){let l=o[c];if(u(l.buffer)){let f=u(l.typedArray);e.addBuffer(l.buffer,f)}}let s=t.outlineCoordinates;u(s)&&u(s.buffer)&&e.addBuffer(s.buffer,!1);let a=t.indices;if(u(a)&&u(a.buffer)){let c=u(a.typedArray);e.addBuffer(a.buffer,c)}}function hke(e,t){switch(e){case Me.TRIANGLES:return t/3;case Me.TRIANGLE_STRIP:case Me.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function soe(e,t){let n=t.positionBuffer2D;u(n)&&e.addBuffer(n,!0)}function aoe(e,t){let n=t.morphTargets;if(!u(n))return;let i=!1,o=n.length;for(let r=0;r<o;r++){let s=n[r].attributes,a=s.length;for(let c=0;c<a;c++){let l=s[c];u(l.buffer)&&e.addBuffer(l.buffer,i)}}}function coe(e,t){let n=mke(t),i=n.length;for(let o=0;o<i;o++){let r=n[o];u(r)&&u(r.texture)&&e.addTexture(r.texture)}}function mke(e){let t=e.metallicRoughness,n=[e.emissiveTexture,e.normalTexture,e.occlusionTexture,t.baseColorTexture,t.metallicRoughnessTexture],i=e.specularGlossiness;return u(i)&&(n.push(i.diffuseTexture),n.push(i.specularGlossinessTexture)),n}function loe(e,t){let n=t.length;for(let i=0;i<n;i++){let o=t[i];if(o instanceof Rt.FeatureIdTexture){let r=o.textureReader;u(r.texture)&&e.addTexture(r.texture)}}}function uoe(e,t){let n=t.structuralMetadata;u(n)&&(pke(e,n),e.propertyTablesByteLength+=n.propertyTablesByteLength);let i=t.featureTables;if(!u(i))return;let o=i.length;for(let r=0;r<o;r++){let s=i[r];e.addBatchTexture(s.batchTexture)}}function pke(e,t){let n=t.propertyTextures;if(!u(n))return;let i=n.length;for(let o=0;o<i;o++){let s=n[o].properties;for(let a in s)if(s.hasOwnProperty(a)){let l=s[a].textureReader;u(l.texture)&&e.addTexture(l.texture)}}}var xO=ooe;var _ke=new M,gke=new M,foe={name:"SceneMode2DPipelineStage"};foe.process=function(e,t,n){let i=sn.getAttributeBySemantic(t,Ct.POSITION),o=e.shaderBuilder,r=e.model,s=r.sceneGraph.computedModelMatrix,a=e.runtimeNode.computedTransform,c=M.multiplyTransformation(s,a,_ke),l=xke(e,c,n),f=e.runtimePrimitive;f.boundingSphere2D=l;let d=e.runtimeNode.node.instances;if(u(d))return;if(u(i.typedArray)){let A=Eke(i,c,l,n);f.positionBuffer2D=A,r._modelResources.push(A),i.typedArray=void 0}o.addDefine("USE_2D_POSITIONS",void 0,Te.VERTEX),o.addUniform("mat4","u_modelView2D",Te.VERTEX);let p=M.fromTranslation(l.center,new M),g=n.context,m={u_modelView2D:function(){return M.multiplyTransformation(g.uniformState.view,p,gke)}};e.uniformMap=_t(m,e.uniformMap)};var yke=new h,Ake=new h;function xke(e,t,n){let i=M.multiplyByPoint(t,e.positionMin,yke),o=qi.computeActualWgs84Position(n,i,i),r=M.multiplyByPoint(t,e.positionMax,Ake),s=qi.computeActualWgs84Position(n,r,r);return se.fromCornerPoints(o,s,new se)}var doe=new h;function Cke(e,t){let n=e.length,i=new Float32Array(n),o=t.quantizedVolumeOffset,r=t.quantizedVolumeStepSize;for(let s=0;s<n;s+=3){let a=h.fromArray(e,s,doe),c=h.multiplyComponents(a,r,a),l=h.add(c,o,c);i[s]=l.x,i[s+1]=l.y,i[s+2]=l.z}return i}function Tke(e,t,n,i){let o;u(e.quantization)?o=Cke(e.typedArray,e.quantization):o=e.typedArray.slice();let r=e.byteOffset/Float32Array.BYTES_PER_ELEMENT,s=o.length,a=u(e.byteStride)?e.byteStride/Float32Array.BYTES_PER_ELEMENT:3;for(let c=r;c<s;c+=a){let l=h.fromArray(o,c,doe);if(isNaN(l.x)||isNaN(l.y)||isNaN(l.z))continue;let f=M.multiplyByPoint(t,l,l),d=qi.computeActualWgs84Position(i,f,f),p=h.subtract(d,n,d);o[c]=p.x,o[c+1]=p.y,o[c+2]=p.z}return o}function Eke(e,t,n,i){let o=Ge(i);o.mode=te.COLUMBUS_VIEW;let r=n.center,s=Tke(e,t,r,o),a=lt.createVertexBuffer({context:i.context,typedArray:s,usage:Ne.STATIC_DRAW});return a.vertexArrayDestroyable=!1,a}var CO=foe;var TO=`void skinningStage(inout ProcessedAttributes attributes) +{ + mat4 skinningMatrix = getSkinningMatrix(); + mat3 skinningMatrixMat3 = mat3(skinningMatrix); + + vec4 positionMC = vec4(attributes.positionMC, 1.0); + attributes.positionMC = vec3(skinningMatrix * positionMC); + + #ifdef HAS_NORMALS + vec3 normalMC = attributes.normalMC; + attributes.normalMC = skinningMatrixMat3 * normalMC; + #endif + + #ifdef HAS_TANGENTS + vec3 tangentMC = attributes.tangentMC; + attributes.tangentMC = skinningMatrixMat3 * tangentMC; + #endif +}`;var wA={name:"SkinningPipelineStage",FUNCTION_ID_GET_SKINNING_MATRIX:"getSkinningMatrix",FUNCTION_SIGNATURE_GET_SKINNING_MATRIX:"mat4 getSkinningMatrix()"};wA.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_SKINNING",void 0,Te.VERTEX),Ske(n,t);let i=e.runtimeNode,o=i.computedJointMatrices;n.addUniform("mat4",`u_jointMatrices[${o.length}]`,Te.VERTEX),n.addVertexLines(TO);let r={u_jointMatrices:function(){return i.computedJointMatrices}};e.uniformMap=_t(r,e.uniformMap)};function bke(e){let t=-1,n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];(r.semantic===Ct.JOINTS||r.semantic===Ct.WEIGHTS)&&(t=Math.max(t,r.setIndex))}return t}function Ske(e,t){e.addFunction(wA.FUNCTION_ID_GET_SKINNING_MATRIX,wA.FUNCTION_SIGNATURE_GET_SKINNING_MATRIX,Te.VERTEX);let n="mat4 skinnedMatrix = mat4(0);";e.addFunctionLines(wA.FUNCTION_ID_GET_SKINNING_MATRIX,[n]);let i,o,r=["x","y","z","w"],s=bke(t);for(i=0;i<=s;i++)for(o=0;o<=3;o++){let c=r[o],l=`skinnedMatrix += a_weights_${i}.${c} * u_jointMatrices[int(a_joints_${i}.${c})];`;e.addFunctionLines(wA.FUNCTION_ID_GET_SKINNING_MATRIX,[l])}let a="return skinnedMatrix;";e.addFunctionLines(wA.FUNCTION_ID_GET_SKINNING_MATRIX,[a])}var EO=wA;var i6={};function Dke(e){let t=Fe.createTypedArray(e,e*2),n=e,i=0;for(let o=0;o<n;o+=3)t[i++]=o,t[i++]=o+1,t[i++]=o+1,t[i++]=o+2,t[i++]=o+2,t[i++]=o;return t}function vke(e,t){let n=t.length,i=Fe.createTypedArray(e,n*2),o=0;for(let r=0;r<n;r+=3){let s=t[r],a=t[r+1],c=t[r+2];i[o++]=s,i[o++]=a,i[o++]=a,i[o++]=c,i[o++]=c,i[o++]=s}return i}function wke(e){let t=e-2,n=2+t*4,i=Fe.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=r;return i}function Ike(e,t){let i=t.length-2,o=2+i*4,r=Fe.createTypedArray(e,o),s=0;r[s++]=t[0],r[s++]=t[1];for(let a=0;a<i;a++){let c=t[a],l=t[a+1],f=t[a+2];r[s++]=l,r[s++]=f,r[s++]=f,r[s++]=c}return r}function Pke(e){let t=e-2,n=2+t*4,i=Fe.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=0;return i}function Oke(e,t){let i=t.length-2,o=2+i*4,r=Fe.createTypedArray(e,o),s=0,a=t[0];r[s++]=a,r[s++]=t[1];for(let c=0;c<i;c++){let l=t[c+1],f=t[c+2];r[s++]=l,r[s++]=f,r[s++]=f,r[s++]=a}return r}i6.createWireframeIndices=function(e,t,n){let i=u(n);if(e===Me.TRIANGLES)return i?vke(t,n):Dke(t);if(e===Me.TRIANGLE_STRIP)return i?Ike(t,n):wke(t);if(e===Me.TRIANGLE_FAN)return i?Oke(t,n):Pke(t)};i6.getWireframeIndicesCount=function(e,t){return e===Me.TRIANGLES?t*2:e===Me.TRIANGLE_STRIP||e===Me.TRIANGLE_FAN?2+(t-2)*4:t};var ZT=i6;var hoe={name:"WireframePipelineStage"};hoe.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_WIREFRAME",void 0,Te.FRAGMENT);let o=e.model,r=Rke(t,e.indices,n);o._pipelineResources.push(r),e.wireframeIndexBuffer=r;let s=!1;o.statistics.addBuffer(r,s);let a=e.primitiveType,c=e.count;e.primitiveType=Me.LINES,e.count=ZT.getWireframeIndicesCount(a,c)};function Rke(e,t,n){let o=sn.getAttributeBySemantic(e,Ct.POSITION).count,r=n.context.webgl2,s;if(u(t)){let f=t.buffer,d=t.count;u(f)&&r?(s=f.sizeInBytes===d?new Uint8Array(d):Fe.createTypedArray(o,d),f.getBufferData(s)):s=t.typedArray}let a=e.primitiveType,c=ZT.createWireframeIndices(a,o,s),l=Fe.fromSizeInBytes(c.BYTES_PER_ELEMENT);return lt.createIndexBuffer({context:n.context,typedArray:c,usage:Ne.STATIC_DRAW,indexDatatype:l})}var bO=hoe;function moe(e){e=y(e,y.EMPTY_OBJECT);let t=e.primitive,n=e.node,i=e.model;this.primitive=t,this.node=n,this.model=i,this.pipelineStages=[],this.drawCommand=void 0,this.boundingSphere=void 0,this.boundingSphere2D=void 0,this.positionBuffer2D=void 0,this.batchLengths=void 0,this.batchOffsets=void 0,this.updateStages=[]}moe.prototype.configurePipeline=function(e){let t=this.pipelineStages;t.length=0;let n=this.primitive,i=this.node,o=this.model,r=o.customShader,s=o.style,a=e.context.webgl2,l=e.mode!==te.SCENE3D&&!e.scene3DOnly&&o._projectTo2D,f=u(n.morphTargets)&&n.morphTargets.length>0,d=u(i.skin),p=u(r),m=!(p&&u(r.fragmentShaderText))||r.mode!==Ip.REPLACE_MATERIAL,A=sn.hasQuantizedAttributes(n.attributes),x=o.debugWireframe&&Me.isTriangles(n.primitiveType)&&(o._enableDebugWireframe||a),C=o.pointCloudShading,T=u(C)&&C.attenuation,E=u(C)&&C.backFaceCulling,S=n.primitiveType===Me.POINTS&&(u(s)||T||E),D=o._enableShowOutline&&u(n.outlineCoordinates),w=Bke(o,i,n),R=u(o.classificationType);l&&t.push(CO),t.push(aO),x&&t.push(bO),R&&t.push(j1),f&&t.push(hO),d&&t.push(EO),S&&t.push(_O),A&&t.push(iO),m&&t.push(fO),t.push(Rg),t.push(Ku),w.hasPropertyTable&&(t.push(Mg),t.push(W1),t.push(X1)),p&&t.push(tO),t.push(lO),o.allowPicking&&t.push(mO),D&&t.push(AO),t.push(G1),t.push(xO)};function Bke(e,t,n){let i;return u(t.instances)&&(i=sn.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),u(i))?{hasFeatureIds:!0,hasPropertyTable:u(i.propertyTableId)}:(i=sn.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),u(i)?{hasFeatureIds:!0,hasPropertyTable:u(i.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var SO=moe;function o6(e){e=y(e,y.EMPTY_OBJECT),this._sceneGraph=e.sceneGraph;let t=e.skin;this._skin=t,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],Mke(this)}Object.defineProperties(o6.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function Mke(e){let t=e.skin,n=t.inverseBindMatrices;e._inverseBindMatrices=n;let i=t.joints,o=i.length,r=e.sceneGraph._runtimeNodes,s=e.joints,a=e._jointMatrices;for(let c=0;c<o;c++){let l=i[c].index,f=r[l];s.push(f);let d=n[c],p=poe(f,d,new M);a.push(p)}}function poe(e,t,n){let i=M.multiplyTransformation(e.transformToRoot,e.transform,n);return n=M.multiplyTransformation(i,t,n),n}o6.prototype.updateJointMatrices=function(){let e=this._jointMatrices,t=e.length;for(let n=0;n<t;n++){let i=this.joints[n],o=this.inverseBindMatrices[n];e[n]=poe(i,o,e[n])}};var DO=o6;function Lke(){this.pass=void 0,this.alphaCutoff=void 0}var vO=Lke;function Nke(e){this.shaderBuilder=new S0,this.model=e,this.uniformMap={},this.alphaOptions=new vO,this.renderStateOptions=Ue.getState(Ue.fromCache({depthTest:{enabled:!0,func:Fa.LESS_OR_EQUAL}})),this.hasSilhouette=!1,this.hasSkipLevelOfDetail=!1}var wO=Nke;var IO=`void silhouetteStage(inout vec4 color) { + if(model_silhouettePass) { + color = czm_gammaCorrect(model_silhouetteColor); + } +}`;var PO=`void silhouetteStage(in ProcessedAttributes attributes, inout vec4 positionClip) { + #ifdef HAS_NORMALS + if(model_silhouettePass) { + vec3 normal = normalize(czm_normal3D * attributes.normalMC); + normal.x *= czm_projection[0][0]; + normal.y *= czm_projection[1][1]; + positionClip.xy += normal.xy * positionClip.w * model_silhouetteSize * czm_pixelRatio / czm_viewport.z; + } + #endif +} +`;var XV={name:"ModelSilhouettePipelineStage"};XV.silhouettesLength=0;XV.process=function(e,t,n){u(t._silhouetteId)||(t._silhouetteId=++XV.silhouettesLength);let i=e.shaderBuilder;i.addDefine("HAS_SILHOUETTE",void 0,Te.BOTH),i.addVertexLines(PO),i.addFragmentLines(IO),i.addUniform("vec4","model_silhouetteColor",Te.FRAGMENT),i.addUniform("float","model_silhouetteSize",Te.VERTEX),i.addUniform("bool","model_silhouettePass",Te.BOTH);let o={model_silhouetteColor:function(){return t.silhouetteColor},model_silhouetteSize:function(){return t.silhouetteSize},model_silhouettePass:function(){return!1}};e.uniformMap=_t(o,e.uniformMap),e.hasSilhouette=!0};var OO=XV;var RO=`void modelSplitterStage() +{ + // Don't split when rendering the shadow map, because it is rendered from + // the perspective of a totally different camera. +#ifndef SHADOW_MAP + if (model_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (model_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; +#endif +} +`;var KV={name:"ModelSplitterPipelineStage",SPLIT_DIRECTION_UNIFORM_NAME:"model_splitDirection"};KV.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_SPLITTER",void 0,Te.FRAGMENT),i.addFragmentLines(RO);let o={};i.addUniform("float",KV.SPLIT_DIRECTION_UNIFORM_NAME,Te.FRAGMENT),o[KV.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return t.splitDirection},e.uniformMap=_t(o,e.uniformMap)};var BO=KV;function Fke(e,t){this.model=e.model,this.shaderBuilder=e.shaderBuilder.clone(),this.uniformMap=Ge(e.uniformMap),this.alphaOptions=Ge(e.alphaOptions),this.renderStateOptions=Ge(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.runtimeNode=t,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0}var MO=Fke;function Vke(e){e=y(e,y.EMPTY_OBJECT),this.lightingModel=y(e.lightingModel,Rh.UNLIT)}var LO=Vke;function Uke(e,t){this.model=e.model,this.runtimeNode=e.runtimeNode,this.attributes=e.attributes.slice(),this.attributeIndex=e.attributeIndex,this.featureIdVertexAttributeSetIndex=e.featureIdVertexAttributeSetIndex,this.uniformMap=Ge(e.uniformMap),this.alphaOptions=Ge(e.alphaOptions),this.renderStateOptions=Ge(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.shaderBuilder=e.shaderBuilder.clone(),this.instanceCount=e.instanceCount,this.runtimePrimitive=t;let n=t.primitive;this.count=u(n.indices)?n.indices.count:sn.getAttributeBySemantic(n,"POSITION").count,this.hasPropertyTable=!1,this.indices=n.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=n.primitiveType;let i=sn.getPositionMinMax(n,this.runtimeNode.instancingTranslationMin,this.runtimeNode.instancingTranslationMax);this.positionMin=h.clone(i.min,new h),this.positionMax=h.clone(i.max,new h),this.boundingSphere=se.fromCornerPoints(this.positionMin,this.positionMax,new se),this.lightingOptions=new LO,this.pickId=void 0}var NO=Uke;function Zl(e){e=y(e,y.EMPTY_OBJECT);let t=e.modelComponents;this._model=e.model,this._components=t,this._pipelineStages=[],this._updateStages=[],this._runtimeNodes=[],this._rootNodes=[],this._skinnedNodes=[],this._runtimeSkins=[],this.modelPipelineStages=[],this._boundingSphere=void 0,this._boundingSphere2D=void 0,this._computedModelMatrix=M.clone(M.IDENTITY),this._computedModelMatrix2D=M.clone(M.IDENTITY),this._axisCorrectionMatrix=sn.getAxisCorrectionMatrix(t.upAxis,t.forwardAxis,new M),this._runtimeArticulations={},kke(this)}Object.defineProperties(Zl.prototype,{components:{get:function(){return this._components}},computedModelMatrix:{get:function(){return this._computedModelMatrix}},axisCorrectionMatrix:{get:function(){return this._axisCorrectionMatrix}},boundingSphere:{get:function(){return this._boundingSphere}}});function kke(e){let t=e._components,n=t.scene,o=e._model.modelMatrix;_oe(e,o);let r=t.articulations,s=r.length,a=e._runtimeArticulations;for(let T=0;T<s;T++){let E=r[T],S=new P1({articulation:E,sceneGraph:e}),D=S.name;a[D]=S}let c=t.nodes,l=c.length;e._runtimeNodes=new Array(l);let d=n.nodes.length,p=M.IDENTITY;for(let T=0;T<d;T++){let E=n.nodes[T],S=goe(e,E,p);e._rootNodes.push(S)}let g=t.skins,m=e._runtimeSkins,A=g.length;for(let T=0;T<A;T++){let E=g[T];m.push(new DO({skin:E,sceneGraph:e}))}let x=e._skinnedNodes,C=x.length;for(let T=0;T<C;T++){let E=x[T],S=e._runtimeNodes[E],w=c[E].skin.index;S._runtimeSkin=m[w],S.updateJointMatrices()}e.applyArticulations()}function _oe(e,t){let n=e._components,i=e._model;e._computedModelMatrix=M.multiplyTransformation(t,n.transform,e._computedModelMatrix),e._computedModelMatrix=M.multiplyTransformation(e._computedModelMatrix,e._axisCorrectionMatrix,e._computedModelMatrix),e._computedModelMatrix=M.multiplyByUniformScale(e._computedModelMatrix,i.computedScale,e._computedModelMatrix)}var zke=new h;function Hke(e,t){let n=e._computedModelMatrix,i=M.getTranslation(n,zke);if(!h.equals(i,h.ZERO))e._computedModelMatrix2D=Ot.basisTo2D(t.mapProjection,n,e._computedModelMatrix2D);else{let o=e.boundingSphere.center,r=Ot.wgs84To2DModelMatrix(t.mapProjection,o,e._computedModelMatrix2D);e._computedModelMatrix2D=M.multiply(r,n,e._computedModelMatrix2D)}e._boundingSphere2D=se.transform(e._boundingSphere,e._computedModelMatrix2D,e._boundingSphere2D)}function goe(e,t,n){let i=[],o=sn.getNodeTransform(t),r=t.children.length;for(let f=0;f<r;f++){let d=t.children[f],p=M.multiplyTransformation(n,o,new M),g=goe(e,d,p);i.push(g)}let s=new H1({node:t,transform:o,transformToRoot:n,children:i,sceneGraph:e}),a=t.primitives.length;for(let f=0;f<a;f++)s.runtimePrimitives.push(new SO({primitive:t.primitives[f],node:t,model:e._model}));let c=t.index;e._runtimeNodes[c]=s,u(t.skin)&&e._skinnedNodes.push(c);let l=t.name;if(u(l)){let f=e._model,d=new M1(f,s);f._nodesByName[l]=d}return c}var Gke=new h,Wke=new h,jke=new h,Yke=new h;Zl.prototype.buildDrawCommands=function(e){let t=this._model,n=new wO(t);t.statistics.clear(),this.configurePipeline(e);let i=this.modelPipelineStages,o,r,s;for(o=0;o<i.length;o++)i[o].process(n,t,e);let a=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Gke),c=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Wke);for(o=0;o<this._runtimeNodes.length;o++){let l=this._runtimeNodes[o];if(!u(l))continue;l.configurePipeline();let f=l.pipelineStages,d=new MO(n,l);for(r=0;r<f.length;r++)f[r].process(d,l.node,e);let p=l.computedTransform;for(r=0;r<l.runtimePrimitives.length;r++){let g=l.runtimePrimitives[r];g.configurePipeline(e);let m=g.pipelineStages,A=new NO(d,g);for(s=0;s<m.length;s++)m[s].process(A,g.primitive,e);g.boundingSphere=se.clone(A.boundingSphere,new se);let x=M.multiplyByPoint(p,A.positionMin,jke),C=M.multiplyByPoint(p,A.positionMax,Yke);h.minimumByComponent(a,x,a),h.maximumByComponent(c,C,c);let T=S1(A,e);g.drawCommand=T}}this._boundingSphere=se.fromCornerPoints(a,c,new se),this._boundingSphere=se.transformWithoutScale(this._boundingSphere,this._axisCorrectionMatrix,this._boundingSphere),this._boundingSphere=se.transform(this._boundingSphere,this._components.transform,this._boundingSphere),t._boundingSphere=se.transform(this._boundingSphere,t.modelMatrix,t._boundingSphere),t._initialRadius=t._boundingSphere.radius,t._boundingSphere.radius*=t._clampedScale};Zl.prototype.configurePipeline=function(e){let t=this.modelPipelineStages;t.length=0;let n=this._model;u(n.color)&&t.push(Og),!u(n.classificationType)&&(n.imageBasedLighting.enabled&&t.push(w1),n.isClippingEnabled()&&t.push(B1),n.hasSilhouette(e)&&t.push(OO),u(n.splitDirection)&&n.splitDirection!==Pc.NONE&&t.push(BO),rr.is3DTiles(n.type)&&t.push(D1))};Zl.prototype.update=function(e,t){let n,i,o;for(n=0;n<this._runtimeNodes.length;n++){let r=this._runtimeNodes[n];if(!u(r))continue;for(i=0;i<r.updateStages.length;i++)r.updateStages[i].update(r,this,e);let s=e.mode!==te.SCENE3D&&this._model._projectTo2D;for(t&&!s&&this.updateJointMatrices(),i=0;i<r.runtimePrimitives.length;i++){let a=r.runtimePrimitives[i];for(o=0;o<a.updateStages.length;o++)a.updateStages[o].update(a,this)}}};Zl.prototype.updateModelMatrix=function(e,t){_oe(this,e),t.mode!==te.SCENE3D&&Hke(this,t);let n=this._rootNodes;for(let i=0;i<n.length;i++){let o=this._runtimeNodes[n[i]];o._transformDirty=!0}};Zl.prototype.updateJointMatrices=function(){let e=this._skinnedNodes,t=e.length;for(let n=0;n<t;n++){let i=e[n];this._runtimeNodes[i].updateJointMatrices()}};function yoe(e,t,n,i,o){if(n&&!t.show)return;let r=t.children.length;for(let c=0;c<r;c++){let l=t.getChild(c);yoe(e,l,n,i,o)}let s=t.runtimePrimitives,a=s.length;for(let c=0;c<a;c++){let l=s[c];i(l,o)}}function ZV(e,t,n,i){let o=e._rootNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s],c=e._runtimeNodes[a];yoe(e,c,t,n,i)}}var qke={backFaceCulling:void 0};Zl.prototype.updateBackFaceCulling=function(e){let t=qke;t.backFaceCulling=e,ZV(this,!1,Xke,t)};function Xke(e,t){let n=e.drawCommand;n.backFaceCulling=t.backFaceCulling}var Kke={shadowMode:void 0};Zl.prototype.updateShadows=function(e){let t=Kke;t.shadowMode=e,ZV(this,!1,Zke,t)};function Zke(e,t){let n=e.drawCommand;n.shadows=t.shadowMode}var Jke={debugShowBoundingVolume:void 0};Zl.prototype.updateShowBoundingVolume=function(e){let t=Jke;t.debugShowBoundingVolume=e,ZV(this,!1,Qke,t)};function Qke(e,t){let n=e.drawCommand;n.debugShowBoundingVolume=t.debugShowBoundingVolume}var Aoe=[],$ke={frameState:void 0,hasSilhouette:void 0};Zl.prototype.pushDrawCommands=function(e){let t=Aoe;t.length=0;let n=$ke;n.hasSilhouette=this._model.hasSilhouette(e),n.frameState=e,ZV(this,!0,eze,n),e.commandList.push.apply(e.commandList,t)};function eze(e,t){let n=t.frameState,i=t.hasSilhouette,o=n.passes,r=Aoe,s=e.drawCommand;s.pushCommands(n,n.commandList),i&&!o.pick&&s.pushSilhouetteCommands(n,r)}Zl.prototype.setArticulationStage=function(e,t){let n=e.split(" ");if(n.length!==2)return;let i=n[0],o=n[1],r=this._runtimeArticulations[i];u(r)&&r.setArticulationStage(o,t)};Zl.prototype.applyArticulations=function(){let e=this._runtimeArticulations;for(let t in e)e.hasOwnProperty(t)&&e[t].apply()};var FO=Zl;function JT(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdSet={},this._batchTextureIdMap=new xt}Object.defineProperties(JT.prototype,{batchTexturesByteLength:{get:function(){let e=this._batchTextureIdMap.length,t=this._batchTextureIdMap.values,n=0;for(let i=0;i<e;i++)n+=t[i].byteLength;return n}}});JT.prototype.clear=function(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdSet={},this._batchTextureIdMap.removeAll()};JT.prototype.addBuffer=function(e,t){if(!this._bufferIdSet.hasOwnProperty(e._id)){let n=t?2:1;this.geometryByteLength+=e.sizeInBytes*n}this._bufferIdSet[e._id]=!0};JT.prototype.addTexture=function(e){this._textureIdSet.hasOwnProperty(e._id)||(this.texturesByteLength+=e.sizeInBytes),this._textureIdSet[e._id]=!0};JT.prototype.addBatchTexture=function(e){this._batchTextureIdMap.contains(e._id)||this._batchTextureIdMap.set(e._id,e)};var VO=JT;var Eoe=vo(i3(),1);var xoe={},IA=Uint32Array.BYTES_PER_ELEMENT;xoe.parse=function(e,t){t=y(t,0);let n=new Uint8Array(e),i=new DataView(e);t+=IA;let o=i.getUint32(t,!0);if(o!==1)throw new ue(`Only Point Cloud tile version 1 is supported. Version ${o} is not.`);t+=IA,t+=IA;let r=i.getUint32(t,!0);if(r===0)throw new ue("Feature table must have a byte length greater than zero");t+=IA;let s=i.getUint32(t,!0);t+=IA;let a=i.getUint32(t,!0);t+=IA;let c=i.getUint32(t,!0);t+=IA;let l=Oo(n,t,r);t+=r;let f=new Uint8Array(e,t,s);t+=s;let d,p;a>0&&(d=Oo(n,t,a),t+=a,c>0&&(p=new Uint8Array(e,t,c),t+=c));let g=new fd(l,f),m=g.getGlobalProperty("POINTS_LENGTH");if(g.featuresLength=m,!u(m))throw new ue("Feature table global property: POINTS_LENGTH must be defined");let A=g.getGlobalProperty("RTC_CENTER",q.FLOAT,3);u(A)&&(A=h.unpack(A));let x=tze(g,d);if(x.rtcCenter=A,x.pointsLength=m,!x.hasPositions){let C=nze(g);x.positions=C,x.hasPositions=x.hasPositions||u(C)}if(!x.hasPositions)throw new ue("Either POSITION or POSITION_QUANTIZED must be defined.");if(!x.hasNormals){let C=oze(g);x.normals=C,x.hasNormals=x.hasNormals||u(C)}if(!x.hasColors){let C=ize(g);x.colors=C,x.hasColors=x.hasColors||u(C),x.hasConstantColor=u(x.constantColor),x.isTranslucent=u(C)&&C.isTranslucent}if(!x.hasBatchIds){let C=rze(g);x.batchIds=C,x.hasBatchIds=x.hasBatchIds||u(C)}if(x.hasBatchIds){let C=g.getGlobalProperty("BATCH_LENGTH");if(!u(C))throw new ue("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");x.batchLength=C}return u(p)&&(p=new Uint8Array(p),x.batchTableJson=d,x.batchTableBinary=p),x};function tze(e,t){let n=e.json,i,o,r,s=u(n.extensions)?n.extensions["3DTILES_draco_point_compression"]:void 0,a=u(t)&&u(t.extensions)?t.extensions["3DTILES_draco_point_compression"]:void 0;u(a)&&(r=a.properties);let c,l,f,d,p;if(u(s)){o=s.properties;let m=s.byteOffset,A=s.byteLength;if(!u(o)||!u(m)||!u(A))throw new ue("Draco properties, byteOffset, and byteLength must be defined");i=e.buffer.slice(m,m+A),c=u(o.POSITION),l=u(o.RGB)||u(o.RGBA),f=u(o.NORMAL),d=u(o.BATCH_ID),p=u(o.RGBA)}let g;return u(i)&&(g={buffer:i,featureTableProperties:o,batchTableProperties:r,properties:_t(o,r),dequantizeInShader:!0}),{draco:g,hasPositions:c,hasColors:l,isTranslucent:p,hasNormals:f,hasBatchIds:d}}function nze(e){let t=e.json,n;if(u(t.POSITION))return n=e.getPropertyArray("POSITION",q.FLOAT,3),{name:Ct.POSITION,semantic:Ct.POSITION,typedArray:n,isQuantized:!1,componentDatatype:q.FLOAT,type:rn.VEC3};if(u(t.POSITION_QUANTIZED)){n=e.getPropertyArray("POSITION_QUANTIZED",q.UNSIGNED_SHORT,3);let i=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",q.FLOAT,3);if(!u(i))throw new ue("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let o=(1<<16)-1,r=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",q.FLOAT,3);if(!u(r))throw new ue("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:Ct.POSITION,semantic:Ct.POSITION,typedArray:n,isQuantized:!0,componentDatatype:q.FLOAT,type:rn.VEC3,quantizedRange:o,quantizedVolumeOffset:h.unpack(r),quantizedVolumeScale:h.unpack(i),quantizedComponentDatatype:q.UNSIGNED_SHORT,quantizedType:rn.VEC3}}}function ize(e){let t=e.json,n;if(u(t.RGBA))return n=e.getPropertyArray("RGBA",q.UNSIGNED_BYTE,4),{name:Ct.COLOR,semantic:Ct.COLOR,setIndex:0,typedArray:n,componentDatatype:q.UNSIGNED_BYTE,type:rn.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(u(t.RGB))return n=e.getPropertyArray("RGB",q.UNSIGNED_BYTE,3),{name:"COLOR",semantic:Ct.COLOR,setIndex:0,typedArray:n,componentDatatype:q.UNSIGNED_BYTE,type:rn.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(u(t.RGB565))return n=e.getPropertyArray("RGB565",q.UNSIGNED_SHORT,1),{name:"COLOR",semantic:Ct.COLOR,setIndex:0,typedArray:n,componentDatatype:q.FLOAT,type:rn.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(u(t.CONSTANT_RGBA)){let i=e.getGlobalProperty("CONSTANT_RGBA",q.UNSIGNED_BYTE,4),o=i[3],r=z.fromBytes(i[0],i[1],i[2],o),s=o<255;return{name:Ct.COLOR,semantic:Ct.COLOR,setIndex:0,constantColor:r,componentDatatype:q.FLOAT,type:rn.VEC4,isQuantized:!1,isTranslucent:s}}}function oze(e){let t=e.json,n;if(u(t.NORMAL))return n=e.getPropertyArray("NORMAL",q.FLOAT,3),{name:Ct.NORMAL,semantic:Ct.NORMAL,typedArray:n,octEncoded:!1,octEncodedZXY:!1,componentDatatype:q.FLOAT,type:rn.VEC3};if(u(t.NORMAL_OCT16P)){n=e.getPropertyArray("NORMAL_OCT16P",q.UNSIGNED_BYTE,2);let i=8;return{name:Ct.NORMAL,semantic:Ct.NORMAL,typedArray:n,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<<i)-1,quantizedType:rn.VEC2,quantizedComponentDatatype:q.UNSIGNED_BYTE,componentDatatype:q.FLOAT,type:rn.VEC3}}}function rze(e){let t=e.json;if(u(t.BATCH_ID)){let n=e.getPropertyArray("BATCH_ID",q.UNSIGNED_SHORT,1);return{name:Ct.FEATURE_ID,semantic:Ct.FEATURE_ID,setIndex:0,typedArray:n,componentDatatype:q.fromTypedArray(n),type:rn.SCALAR}}}var PA=xoe;var sze=Rt.Components,aze=Rt.Scene,cze=Rt.Node,lze=Rt.Primitive,uze=Rt.Attribute,Coe=Rt.Quantization,fze=Rt.FeatureIdAttribute,dze=Rt.Material,hze=Rt.MetallicRoughness;function Ng(e){e=y(e,y.EMPTY_OBJECT);let t=e.arrayBuffer,n=y(e.byteOffset,0);this._arrayBuffer=t,this._byteOffset=n,this._loadAttributesFor2D=y(e.loadAttributesFor2D,!1),this._parsedContent=void 0,this._decodePromise=void 0,this._decodedAttributes=void 0,this._promise=void 0,this._process=function(i){},this._state=Ut.UNLOADED,this._buffers=[],this._components=void 0,this._transform=M.IDENTITY}u(Object.create)&&(Ng.prototype=Object.create(no.prototype),Ng.prototype.constructor=Ng);Object.defineProperties(Ng.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}},transform:{get:function(){return this._transform}}});Ng.prototype.load=function(){this._parsedContent=PA.parse(this._arrayBuffer,this._byteOffset),this._state=Ut.PROCESSING;let e=this;this._promise=new Promise(function(t,n){e._process=function(i){if(e._state===Ut.PROCESSING){if(u(e._decodePromise))return;let o=mze(e,i.context);u(o)&&o.then(t).catch(n)}}})};Ng.prototype.process=function(e){this._process(e)};function mze(e,t){let i=e._parsedContent.draco,o;if(u(i)?o=pp.decodePointCloud(i,t):o=Promise.resolve(),!!u(o))return e._decodePromise=o,o.then(function(r){if(!e.isDestroyed())return u(r)&&pze(e,i,r),Dze(e,t),e._state=Ut.READY,e}).catch(function(r){e.unload(),e._state=Ut.FAILED;let s="Failed to load Draco pnts";return Promise.reject(e.getError(s,r))})}function pze(e,t,n){e._state=Ut.READY;let i=e._parsedContent,o;if(u(n.POSITION)){if(o={name:"POSITION",semantic:Ct.POSITION,typedArray:n.POSITION.array,componentDatatype:q.FLOAT,type:rn.VEC3,isQuantized:!1},u(n.POSITION.data.quantization)){let a=n.POSITION.data.quantization,c=a.range,l=h.fromElements(c,c,c),f=h.unpack(a.minValues),d=(1<<a.quantizationBits)-1;o.isQuantized=!0,o.quantizedRange=d,o.quantizedVolumeOffset=f,o.quantizedVolumeScale=l,o.quantizedComponentDatatype=d<=255?q.UNSIGNED_BYTE:q.UNSIGNED_SHORT,o.quantizedType=rn.VEC3}i.positions=o}if(u(n.NORMAL)){if(o={name:"NORMAL",semantic:Ct.NORMAL,typedArray:n.NORMAL.array,componentDatatype:q.FLOAT,type:rn.VEC3,isQuantized:!1,octEncoded:!1,octEncodedZXY:!1},u(n.NORMAL.data.quantization)){let a=(1<<n.NORMAL.data.quantization.quantizationBits)-1;o.quantizedRange=a,o.octEncoded=!0,o.octEncodedZXY=!0,o.quantizedComponentDatatype=q.UNSIGNED_BYTE,o.quantizedType=rn.VEC2}i.normals=o}if(u(n.RGBA)?i.colors={name:"COLOR",semantic:Ct.COLOR,setIndex:0,typedArray:n.RGBA.array,componentDatatype:q.UNSIGNED_BYTE,type:rn.VEC4,normalized:!0,isTranslucent:!0}:u(n.RGB)&&(i.colors={name:"COLOR",semantic:Ct.COLOR,setIndex:0,typedArray:n.RGB.array,componentDatatype:q.UNSIGNED_BYTE,type:rn.VEC3,normalized:!0,isTranslucent:!1}),u(n.BATCH_ID)){let a=n.BATCH_ID.array;i.batchIds={name:"_FEATURE_ID",semantic:Ct.FEATURE_ID,setIndex:0,typedArray:a,componentDatatype:q.fromTypedArray(a),type:rn.SCALAR}}let r=i.batchTableJson,s=t.batchTableProperties;for(let a in s)if(s.hasOwnProperty(a)){let c=n[a];u(r)||(r={}),i.hasDracoBatchTable=!0;let l=c.data;r[a]={byteOffset:l.byteOffset,type:_ze(l.componentsPerAttribute),componentType:gze(l.componentDatatype),typedArray:c.array}}i.batchTableJson=r}function _ze(e){switch(e){case 1:return"SCALAR";case 2:return"VEC2";case 3:return"VEC3";case 4:return"VEC4"}}function gze(e){switch(e){case ee.BYTE:return"BYTE";case ee.UNSIGNED_BYTE:return"UNSIGNED_BYTE";case ee.SHORT:return"SHORT";case ee.UNSIGNED_SHORT:return"UNSIGNED_SHORT";case ee.INT:return"INT";case ee.UNSIGNED_INT:return"UNSIGNED_INT";case ee.DOUBLE:return"DOUBLE";case ee.FLOAT:return"FLOAT"}}function UO(e,t,n){let i=t.typedArray,o;if(t.octEncoded&&(o=new Coe,o.octEncoded=t.octEncoded,o.octEncodedZXY=t.octEncodedZXY,o.normalizationRange=t.quantizedRange,o.type=t.quantizedType,o.componentDatatype=t.quantizedComponentDatatype),t.isQuantized){o=new Coe;let a=t.quantizedRange;o.normalizationRange=a,o.quantizedVolumeOffset=h.ZERO;let c=t.quantizedVolumeScale;o.quantizedVolumeDimensions=c,o.quantizedVolumeStepSize=h.divideByScalar(c,a,new h),o.componentDatatype=t.quantizedComponentDatatype,o.type=t.quantizedType}let r=new uze;if(r.name=t.name,r.semantic=t.semantic,r.setIndex=t.setIndex,r.componentDatatype=t.componentDatatype,r.type=t.type,r.normalized=y(t.normalized,!1),r.min=t.min,r.max=t.max,r.quantization=o,t.isRGB565&&(i=Gn.decodeRGB565(i)),u(t.constantColor)){let a=new Array(4);r.constant=z.pack(t.constantColor,a)}else{let a=lt.createVertexBuffer({typedArray:i,context:n,usage:Ne.STATIC_DRAW});a.vertexArrayDestroyable=!1,e._buffers.push(a),r.buffer=a}let s=e._loadAttributesFor2D;return r.semantic===Ct.POSITION&&s&&(r.typedArray=i),r}var Toe,JV;function yze(e){if(!u(JV)){Toe=new Eoe.default(0),JV=new Array(e);for(let t=0;t<e;++t)JV[t]=Toe.random()}return JV}var Aze=new h,xze=new h,Cze=new h;function Tze(e){let t=e.typedArray,n=20,i=t.length/3,o=Math.min(i,n),r=yze(n),s=Number.MAX_VALUE,a=-Number.MAX_VALUE,c=h.fromElements(s,s,s,Aze),l=h.fromElements(a,a,a,xze),f,d,p;if(e.isQuantized)c=h.ZERO,l=e.quantizedVolumeScale;else for(f=0;f<o;++f)d=Math.floor(r[f]*i),p=h.unpack(t,d*3,Cze),h.minimumByComponent(c,p,c),h.maximumByComponent(l,p,l);e.min=h.clone(c),e.max=h.clone(l)}var Eze={name:Ct.COLOR,semantic:Ct.COLOR,setIndex:0,constantColor:z.DARKGRAY,componentDatatype:q.FLOAT,type:rn.VEC4,isQuantized:!1,isTranslucent:!1};function bze(e,t,n){let i=[],o,r=t.positions;return u(r)&&(Tze(r),o=UO(e,r,n),o.count=t.pointsLength,i.push(o)),u(t.normals)&&(o=UO(e,t.normals,n),i.push(o)),u(t.colors)?(o=UO(e,t.colors,n),i.push(o)):(o=UO(e,Eze,n),i.push(o)),u(t.batchIds)&&(o=UO(e,t.batchIds,n),i.push(o)),i}function Sze(e,t){let n=e.batchLength,i=e.pointsLength,o=e.batchTableBinary,r=!u(e.batchIds);if(u(o)||e.hasDracoBatchTable){let s=y(n,i);return Sp({count:s,batchTable:e.batchTableJson,binaryBody:o,parseAsPropertyAttributes:r,customAttributeOutput:t})}return new da({schema:{},propertyTables:[]})}function Dze(e,t){let n=e._parsedContent,i=new hze;i.metallicFactor=0,i.roughnessFactor=.9;let o=new dze;o.metallicRoughness=i;let r=n.colors;u(r)&&r.isTranslucent&&(o.alphaMode=Ph.BLEND);let s=!u(n.normals);o.unlit=s;let a=new lze;if(a.attributes=bze(e,n,t),a.primitiveType=Me.POINTS,a.material=o,u(n.batchIds)){let g=new fze;g.propertyTableId=0,g.setIndex=0,g.positionalLabel="featureId_0",a.featureIds.push(g)}let c=new cze;c.index=0,c.primitives=[a];let l=new aze;l.nodes=[c],l.upAxis=Po.Z,l.forwardAxis=Po.X;let f=new sze;f.scene=l,f.nodes=[c];let d=[];f.structuralMetadata=Sze(n,d),d.length>0&&vze(e,a,d,t),u(n.rtcCenter)&&(f.transform=M.multiplyByTranslation(f.transform,n.rtcCenter,f.transform));let p=n.positions;u(p)&&p.isQuantized&&(f.transform=M.multiplyByTranslation(f.transform,p.quantizedVolumeOffset,f.transform)),e._components=f,e._parsedContent=void 0,e._arrayBuffer=void 0}function vze(e,t,n,i){let o=t.attributes,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=lt.createVertexBuffer({typedArray:a.typedArray,context:i,usage:Ne.STATIC_DRAW});c.vertexArrayDestroyable=!1,e._buffers.push(c),a.buffer=c,a.typedArray=void 0,o.push(a)}t.propertyAttributeIds=[0]}Ng.prototype.unload=function(){let e=this._buffers;for(let t=0;t<e.length;t++)e[t].destroy();e.length=0,this._components=void 0,this._parsedContent=void 0,this._arrayBuffer=void 0};var kO=Ng;function Co(e){e=y(e,y.EMPTY_OBJECT),this._loader=e.loader,this._resource=e.resource,this.type=y(e.type,rr.GLTF),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=M.clone(this.modelMatrix),this._scale=y(e.scale,1),this._minimumPixelSize=y(e.minimumPixelSize,0),this._maximumScale=e.maximumScale,this._clampedScale=u(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._computedScale=this._clampedScale,this._updateModelMatrix=!1,this.referenceMatrix=void 0,this._iblReferenceFrameMatrix=Z.clone(Z.IDENTITY),this._resourcesLoaded=!1,this._drawCommandsBuilt=!1,this._ready=!1,this._customShader=e.customShader,this._content=e.content,this._texturesLoaded=!1,this._defaultTexture=void 0,this._activeAnimations=new _1(this),this._clampAnimations=y(e.clampAnimations,!0),this._userAnimationDirty=!1,this._id=e.id,this._idDirty=!1,this._color=z.clone(e.color),this._colorBlendMode=y(e.colorBlendMode,ja.HIGHLIGHT),this._colorBlendAmount=y(e.colorBlendAmount,.5);let t=y(e.silhouetteColor,z.RED);this._silhouetteColor=z.clone(t),this._silhouetteSize=y(e.silhouetteSize,0),this._silhouetteDirty=!1,this._silhouetteId=void 0,this._cull=y(e.cull,!0),this._opaquePass=y(e.opaquePass,Ee.OPAQUE),this._allowPicking=y(e.allowPicking,!0),this._show=y(e.show,!0),this._style=void 0,this._styleDirty=!1,this._styleCommandsNeeded=void 0;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._featureTables=[],this._featureTableId=void 0,this._featureTableIdDirty=!0,this._pipelineResources=[],this._modelResources=[],this._pickIds=[],this._boundingSphere=new se,this._initialRadius=void 0,this._heightReference=y(e.heightReference,We.NONE),this._heightDirty=this._heightReference!==We.NONE,this._removeUpdateHeightCallback=void 0,this._clampedModelMatrix=void 0;let o=e.scene;u(o)&&u(o.terrainProviderChanged)&&(this._terrainProviderChangedCallback=o.terrainProviderChanged.addEventListener(function(){this._heightDirty=!0},this)),this._scene=o,this._distanceDisplayCondition=e.distanceDisplayCondition;let r=new Oh(e.pointCloudShading);this._pointCloudShading=r,this._attenuation=r.attenuation,this._pointCloudBackFaceCulling=r.backFaceCulling;let s=e.clippingPlanes;u(s)&&s.owner===void 0?ss.setOwner(s,this,"_clippingPlanes"):this._clippingPlanes=s,this._clippingPlanesState=0,this._clippingPlanesMatrix=M.clone(M.IDENTITY),this._lightColor=h.clone(e.lightColor),this._imageBasedLighting=u(e.imageBasedLighting)?e.imageBasedLighting:new nA,this._shouldDestroyImageBasedLighting=!u(e.imageBasedLighting),this._backFaceCulling=y(e.backFaceCulling,!0),this._backFaceCullingDirty=!1,this._shadows=y(e.shadows,gn.ENABLED),this._shadowsDirty=!1,this._debugShowBoundingVolumeDirty=!1,this._debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this._enableShowOutline=y(e.enableShowOutline,!0),this._debugWireframe=y(e.debugWireframe,!1),this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===rr.GLTF&&wt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltf, otherwise debugWireframe will be ignored.");let a=e.credit;typeof a=="string"&&(a=new Zt(a)),this._credit=a,this._resourceCredits=[],this._gltfCredits=[],this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._showCreditsOnScreenDirty=!0,this._splitDirection=y(e.splitDirection,Pc.NONE),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,z.BLACK),this._classificationType=e.classificationType,this._statistics=new VO,this._sceneMode=void 0,this._projectTo2D=y(e.projectTo2D,!1),this._skipLevelOfDetail=!1,this._ignoreCommands=y(e.ignoreCommands,!1),this._completeLoad=function(c,l){},this._texturesLoadedPromise=void 0,this._readyPromise=Pze(this),this._sceneGraph=void 0,this._nodesByName={},this.pickObject=e.pickObject}function wze(e,t){let n=e._featureTables,i=t.propertyTables,o=i.length;for(let r=0;r<o;r++){let s=i[r],a=new A1({model:e,propertyTable:s});n.push(a)}return n}function Ize(e,t){let n=t._featureIdLabel,i=t._instanceFeatureIdLabel,o,r,s,a;for(o=0;o<e.nodes.length;o++)if(a=e.nodes[o],u(a.instances)&&(s=sn.getFeatureIdsByLabel(a.instances.featureIds,i),u(s)&&u(s.propertyTableId)))return s.propertyTableId;for(o=0;o<e.nodes.length;o++)for(a=e.nodes[o],r=0;r<a.primitives.length;r++){let c=a.primitives[r],l=sn.getFeatureIdsByLabel(c.featureIds,n);if(u(l))return l.propertyTableId}if(t._featureTables.length===1)return 0}function s6(e,t){if(!u(e)&&!u(t))return!1;if(u(e)!==u(t))return!0;let n=e.alpha,i=t.alpha;return Math.floor(n)!==Math.floor(i)||Math.ceil(n)!==Math.ceil(i)}function Pze(e){let t=e._loader,n=e._resource;t.load();let i=t.promise.then(function(s){if(!u(s))return;let a=s.components;if(!u(a)){if(s.isUnloaded())return;throw new ue("Failed to load model.")}let c=a.structuralMetadata;u(c)&&c.propertyTableCount>0&&wze(e,c);let l=new FO({model:e,modelComponents:a});e._sceneGraph=l,e._gltfCredits=l.components.asset.credits;let f=e._resource.credits;if(u(f)){let d=f.length;for(let p=0;p<d;p++)e._resourceCredits.push(f[p])}e._resourcesLoaded=!0}),o=y(t.texturesLoadedPromise,Promise.resolve());e._texturesLoadedPromise=o.then(function(){!u(e)||e.isDestroyed()||(e._texturesLoaded=!0,t._incrementallyLoadTextures&&e.resetDrawCommands())}).catch(sn.getFailedLoadFunction(e,"model",n));let r=new Promise(function(s,a){e._completeLoad=function(c,l){l.afterRender.push(function(){return c._ready=!0,s(c),!0})}});return i.then(function(){return r}).catch(sn.getFailedLoadFunction(e,"model",n))}Object.defineProperties(Co.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},texturesLoadedPromise:{get:function(){return this._texturesLoadedPromise}},loader:{get:function(){return this._loader}},statistics:{get:function(){return this._statistics}},activeAnimations:{get:function(){return this._activeAnimations}},clampAnimations:{get:function(){return this._clampAnimations},set:function(e){this._clampAnimations=e}},cull:{get:function(){return this._cull}},opaquePass:{get:function(){return this._opaquePass}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){e!==this._pointCloudShading&&this.resetDrawCommands(),this._pointCloudShading=e}},customShader:{get:function(){return this._customShader},set:function(e){e!==this._customShader&&this.resetDrawCommands(),this._customShader=e}},sceneGraph:{get:function(){return this._sceneGraph}},content:{get:function(){return this._content}},heightReference:{get:function(){return this._heightReference},set:function(e){e!==this._heightReference&&(this._heightDirty=!0),this._heightReference=e}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=bt.clone(e,this._distanceDisplayCondition)}},structuralMetadata:{get:function(){return this._sceneGraph.components.structuralMetadata}},featureTableId:{get:function(){return this._featureTableId},set:function(e){this._featureTableId=e}},featureTables:{get:function(){return this._featureTables},set:function(e){this._featureTables=e}},id:{get:function(){return this._id},set:function(e){e!==this._id&&(this._idDirty=!0),this._id=e}},allowPicking:{get:function(){return this._allowPicking}},style:{get:function(){return this._style},set:function(e){this._style=e,this._styleDirty=!0}},color:{get:function(){return this._color},set:function(e){s6(e,this._color)&&this.resetDrawCommands(),this._color=z.clone(e,this._color)}},colorBlendMode:{get:function(){return this._colorBlendMode},set:function(e){this._colorBlendMode=e}},colorBlendAmount:{get:function(){return this._colorBlendAmount},set:function(e){this._colorBlendAmount=e}},silhouetteColor:{get:function(){return this._silhouetteColor},set:function(e){if(!z.equals(e,this._silhouetteColor)){let t=s6(e,this._silhouetteColor);this._silhouetteDirty=this._silhouetteDirty||t}this._silhouetteColor=z.clone(e,this._silhouetteColor)}},silhouetteSize:{get:function(){return this._silhouetteSize},set:function(e){if(e!==this._silhouetteSize){let t=this._silhouetteSize,n=e>0&&t===0||e===0&&t>0;this._silhouetteDirty=this._silhouetteDirty||n,this._backFaceCullingDirty=this._backFaceCullingDirty||n}this._silhouetteSize=e}},boundingSphere:{get:function(){let e=u(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return Doe(this,e),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=e}},debugWireframe:{get:function(){return this._debugWireframe},set:function(e){this._debugWireframe!==e&&this.resetDrawCommands(),this._debugWireframe=e,this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===rr.GLTF&&wt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltf, otherwise debugWireframe will be ignored.")}},show:{get:function(){return this._show},set:function(e){this._show=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),e!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),e!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=e}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&(ss.setOwner(e,this,"_clippingPlanes"),this.resetDrawCommands())}},lightColor:{get:function(){return this._lightColor},set:function(e){u(e)!==u(this._lightColor)&&this.resetDrawCommands(),this._lightColor=h.clone(e,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){e!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=e}},scale:{get:function(){return this._scale},set:function(e){e!==this._scale&&(this._updateModelMatrix=!0),this._scale=e}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(e){e!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=e}},maximumScale:{get:function(){return this._maximumScale},set:function(e){e!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=e}},shadows:{get:function(){return this._shadows},set:function(e){e!==this._shadows&&(this._shadowsDirty=!0),this._shadows=e}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen!==e&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=e}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&this.resetDrawCommands(),this._splitDirection=e}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});Co.prototype.getNode=function(e){return this._nodesByName[e]};Co.prototype.setArticulationStage=function(e,t){this._sceneGraph.setArticulationStage(e,t)};Co.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};Co.prototype.makeStyleDirty=function(){this._styleDirty=!0};Co.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var Oze=new M,Rze=new Z,Bze=new M;Co.prototype.update=function(e){if(Mze(this,e),Lze(this,e),Nze(this,e),!this._resourcesLoaded||e.mode===te.MORPHING)return;Fze(this),Vze(this),Uze(this,e),kze(this),zze(this,e),Hze(this,e),Gze(this,e),Wze(this,e),this._defaultTexture=e.context.defaultTexture,jze(this,e),Yze(this,e),qze(this),Xze(this,e),Jze(this,e);let t=this;if(!t._ready){t._completeLoad(t,e);return}Zze(this),Qze(this,e),$ze(this),e4e(this,e)};function Mze(e,t){(!e._resourcesLoaded||!e._texturesLoaded)&&e._loader.process(t)}function Lze(e,t){u(e._customShader)&&e._customShader.update(t)}function Nze(e,t){e._imageBasedLighting.update(t),e._imageBasedLighting.shouldRegenerateShaders&&e.resetDrawCommands()}function Fze(e){if(!e._featureTableIdDirty)return;e._featureTableIdDirty=!1;let t=e._sceneGraph.components,n=t.structuralMetadata;u(n)&&n.propertyTableCount>0&&(e.featureTableId=Ize(t,e),e._styleDirty=!0,e.resetDrawCommands())}function Vze(e){e._styleDirty&&(e.applyStyle(e._style),e._styleDirty=!1)}function Uze(e,t){let n=e._featureTables,i=n.length,o=!1;for(let r=0;r<i;r++)n[r].update(t),n[r].styleCommandsNeededDirty&&(o=!0);o&&Soe(e)}function Soe(e){let t=e.featureTables[e.featureTableId];e._styleCommandsNeeded=md.getStyleCommandsNeeded(t.featuresLength,t.batchTexture.translucentFeaturesLength)}function kze(e){let t=e.pointCloudShading;t.attenuation!==e._attenuation&&(e.resetDrawCommands(),e._attenuation=t.attenuation),t.backFaceCulling!==e._pointCloudBackFaceCulling&&(e.resetDrawCommands(),e._pointCloudBackFaceCulling=t.backFaceCulling)}function zze(e,t){e._silhouetteDirty&&(voe(t)&&e.resetDrawCommands(),e._silhouetteDirty=!1)}function Hze(e,t){let n=e.hasSkipLevelOfDetail(t);n!==e._skipLevelOfDetail&&(e.resetDrawCommands(),e._skipLevelOfDetail=n)}function Gze(e,t){let n=0;e.isClippingEnabled()&&(e._clippingPlanes.owner===e&&e._clippingPlanes.update(t),n=e._clippingPlanes.clippingPlanesState),n!==e._clippingPlanesState&&(e.resetDrawCommands(),e._clippingPlanesState=n)}function Wze(e,t){t.mode!==e._sceneMode&&(e._projectTo2D?e.resetDrawCommands():e._updateModelMatrix=!0,e._sceneMode=t.mode)}function jze(e,t){e._drawCommandsBuilt||(e.destroyPipelineResources(),e._sceneGraph.buildDrawCommands(t),e._drawCommandsBuilt=!0)}function Yze(e,t){M.equals(e.modelMatrix,e._modelMatrix)||(e._updateModelMatrix=!0,e._modelMatrix=M.clone(e.modelMatrix,e._modelMatrix))}var Bh=new h,QV=new he;function qze(e){if(!e._updateModelMatrix&&!e._heightDirty&&e._minimumPixelSize===0)return;u(e._removeUpdateHeightCallback)&&(e._removeUpdateHeightCallback(),e._removeUpdateHeightCallback=void 0);let t=e._scene;if(!u(t)||!u(t.globe)||e.heightReference===We.NONE){e._clampedModelMatrix=void 0;return}let n=t.globe,i=n.ellipsoid,o=e.modelMatrix;Bh.x=o[12],Bh.y=o[13],Bh.z=o[14];let r=i.cartesianToCartographic(Bh);u(e._clampedModelMatrix)||(e._clampedModelMatrix=M.clone(o,new M));let s=n._surface;e._removeUpdateHeightCallback=s.updateHeight(r,boe(e,i,r));let a=n.getHeight(r);if(u(a)){let c=boe(e,i,r);he.clone(r,QV),QV.height=a,i.cartographicToCartesian(QV,Bh),c(Bh)}e._heightDirty=!1,e._updateModelMatrix=!0}function Xze(e,t){if(!e._updateModelMatrix&&e._minimumPixelSize===0)return;let n=u(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;Doe(e,n),Kze(e,n,t)}function Doe(e,t){e._clampedScale=u(e._maximumScale)?Math.min(e._scale,e._maximumScale):e._scale,e._boundingSphere.center=h.multiplyByScalar(e._sceneGraph.boundingSphere.center,e._clampedScale,e._boundingSphere.center),e._boundingSphere.radius=e._initialRadius*e._clampedScale,e._boundingSphere=se.transform(e._boundingSphere,t,e._boundingSphere)}function Kze(e,t,n){let i=e.scale;if(e.minimumPixelSize!==0&&!e._projectTo2D){let o=n.context,r=Math.max(o.drawingBufferWidth,o.drawingBufferHeight);M.getTranslation(t,Bh),e._sceneMode!==te.SCENE3D&&qi.computeActualWgs84Position(n,Bh,Bh);let s=e._boundingSphere.radius,a=t4e(Bh,s,n),c=1/a;Math.min(c*(2*s),r)<e.minimumPixelSize&&(i=e.minimumPixelSize*a/(2*e._initialRadius))}e._computedScale=u(e.maximumScale)?Math.min(e.maximumScale,i):i}function Zze(e){if(!e._idDirty)return;e._idDirty=!1;let t=e._id,n=e._pickIds,i=n.length;for(let o=0;o<i;++o)n[o].object.id=t}function Jze(e,t){let n=u(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix,i=y(e.referenceMatrix,n),o=t.context,r=e._imageBasedLighting;if(r.useSphericalHarmonicCoefficients||r.useSpecularEnvironmentMaps){let s=Rze,a=Oze;a=M.multiply(o.uniformState.view3D,i,a),s=M.getMatrix3(a,s),s=Z.getRotation(s,s),e._iblReferenceFrameMatrix=Z.transpose(s,e._iblReferenceFrameMatrix)}if(e.isClippingEnabled()){let s=Bze;s=M.multiply(o.uniformState.view3D,i,s),s=M.multiply(s,e._clippingPlanes.modelMatrix,s),e._clippingPlanesMatrix=M.inverseTranspose(s,e._clippingPlanesMatrix)}}function Qze(e,t){let n=e._sceneGraph;if(e._updateModelMatrix||e._minimumPixelSize!==0){let o=u(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;n.updateModelMatrix(o,t),e._updateModelMatrix=!1}e._backFaceCullingDirty&&(n.updateBackFaceCulling(e._backFaceCulling),e._backFaceCullingDirty=!1),e._shadowsDirty&&(n.updateShadows(e._shadows),e._shadowsDirty=!1),e._debugShowBoundingVolumeDirty&&(n.updateShowBoundingVolume(e._debugShowBoundingVolume),e._debugShowBoundingVolumeDirty=!1);let i=!1;u(e.classificationType)||(i=e._userAnimationDirty||e._activeAnimations.update(t)),n.update(t,i),e._userAnimationDirty=!1}function $ze(e){if(!e._showCreditsOnScreenDirty)return;e._showCreditsOnScreenDirty=!1;let t=e._showCreditsOnScreen;u(e._credit)&&(e._credit.showOnScreen=t);let n=e._resourceCredits,i=n.length;for(let s=0;s<i;s++)n[s].showOnScreen=t;let o=e._gltfCredits,r=o.length;for(let s=0;s<r;s++)o[s].showOnScreen=t}function e4e(e,t){let n=i4e(e,t),i=e.isInvisible(),o=e.hasSilhouette(t),r=e._show&&e._computedScale!==0&&n&&(!i||o),s=t.passes,a=s.render||s.pick&&e.allowPicking;r&&!e._ignoreCommands&&a&&(o4e(e,t),e._sceneGraph.pushDrawCommands(t))}var r6=new se;function t4e(e,t,n){return r6.center=e,r6.radius=t,n.camera.getPixelSize(r6,n.context.drawingBufferWidth,n.context.drawingBufferHeight)}function boe(e,t,n){return function(i){if(e.heightReference===We.RELATIVE_TO_GROUND){let r=t.cartesianToCartographic(i,QV);r.height+=n.height,t.cartographicToCartesian(r,i)}let o=e._clampedModelMatrix;M.clone(e.modelMatrix,o),o[12]=i.x,o[13]=i.y,o[14]=i.z,e._heightDirty=!0}}var n4e=new h;function i4e(e,t){let n=e.distanceDisplayCondition;if(!u(n))return!0;let i=n.near*n.near,o=n.far*n.far,r;if(t.mode===te.SCENE2D){let a=(t.camera.frustum.right-t.camera.frustum.left)*.5;r=a*a}else{let s=M.getTranslation(e.modelMatrix,n4e);qi.computeActualWgs84Position(t,s,s),r=h.distanceSquared(s,t.camera.positionWC)}return r>=i&&r<=o}function o4e(e,t){let n=t.creditDisplay,i=e._credit;u(i)&&n.addCredit(i);let o=e._resourceCredits,r=o.length;for(let c=0;c<r;c++)n.addCredit(o[c]);let s=e._gltfCredits,a=s.length;for(let c=0;c<a;c++)n.addCredit(s[c])}Co.prototype.isTranslucent=function(){let e=this.color;return u(e)&&e.alpha>0&&e.alpha<1};Co.prototype.isInvisible=function(){let e=this.color;return u(e)&&e.alpha===0};function voe(e){return e.context.stencilBuffer}Co.prototype.hasSilhouette=function(e){return voe(e)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!u(this._classificationType)};function r4e(e){return e.context.stencilBuffer}Co.prototype.hasSkipLevelOfDetail=function(e){if(!rr.is3DTiles(this.type))return!1;let n=this._content.tileset;return r4e(e)&&n.skipLevelOfDetail};Co.prototype.isClippingEnabled=function(){let e=this._clippingPlanes;return u(e)&&e.enabled&&e.length!==0};Co.prototype.isDestroyed=function(){return!1};Co.prototype.destroy=function(){let e=this._loader;u(e)&&e.destroy();let t=this._featureTables;if(u(t)){let i=t.length;for(let o=0;o<i;o++)t[o].destroy()}this.destroyPipelineResources(),this.destroyModelResources(),u(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),u(this._terrainProviderChangedCallback)&&(this._terrainProviderChangedCallback(),this._terrainProviderChangedCallback=void 0);let n=this._clippingPlanes;u(n)&&!n.isDestroyed()&&n.owner===this&&n.destroy(),this._clippingPlanes=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,le(this)};Co.prototype.destroyPipelineResources=function(){let e=this._pipelineResources;for(let t=0;t<e.length;t++)e[t].destroy();this._pipelineResources.length=0,this._pickIds.length=0};Co.prototype.destroyModelResources=function(){let e=this._modelResources;for(let t=0;t<e.length;t++)e[t].destroy();this._modelResources.length=0};Co.fromGltf=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.url,e.gltf),n={releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:u(e.classificationType)},i=y(e.basePath,""),o=Oe.createIfNeeded(i);u(t.asset)?(n.gltfJson=t,n.baseResource=o,n.gltfResource=o):t instanceof Uint8Array?(n.typedArray=t,n.baseResource=o,n.gltfResource=o):n.gltfResource=Oe.createIfNeeded(t);let r=new Cp(n),a=u(e.content)?rr.TILE_GLTF:rr.GLTF,c=zO(r,a,e);return c.resource=n.gltfResource,new Co(c)};Co.fromB3dm=function(e){let t={b3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:u(e.classificationType)},n=new a1(t),i=zO(n,rr.TILE_B3DM,e);return new Co(i)};Co.fromPnts=function(e){let t={arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,loadAttributesFor2D:e.projectTo2D},n=new kO(t),i=zO(n,rr.TILE_PNTS,e);return new Co(i)};Co.fromI3dm=function(e){let t={i3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline},n=new u1(t),i=zO(n,rr.TILE_I3DM,e);return new Co(i)};Co.fromGeoJson=function(e){let t={geoJson:e.geoJson},n=new c1(t),i=zO(n,rr.TILE_GEOJSON,e);return new Co(i)};Co.prototype.applyColorAndShow=function(e){let t=this._color,n=u(e)&&u(e.color),i=u(e)&&u(e.show);this._color=n?e.color.evaluateColor(void 0,this._color):z.clone(z.WHITE,this._color),this._show=i?e.show.evaluate(void 0):!0,s6(t,this._color)&&this.resetDrawCommands()};Co.prototype.applyStyle=function(e){let t=this.type===rr.TILE_PNTS,n=u(this.featureTableId)&&this.featureTables[this.featureTableId].featuresLength>0,i=u(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,o=u(i)&&u(i[0]);if(t&&(!n||o)){this.resetDrawCommands();return}n?(this.featureTables[this.featureTableId].applyStyle(e),Soe(this,e)):(this.applyColorAndShow(e),this._styleCommandsNeeded=void 0)};function zO(e,t,n){return{loader:e,type:t,resource:n.resource,show:n.show,modelMatrix:n.modelMatrix,scale:n.scale,minimumPixelSize:n.minimumPixelSize,maximumScale:n.maximumScale,id:n.id,allowPicking:n.allowPicking,clampAnimations:n.clampAnimations,shadows:n.shadows,debugShowBoundingVolume:n.debugShowBoundingVolume,enableDebugWireframe:n.enableDebugWireframe,debugWireframe:n.debugWireframe,cull:n.cull,opaquePass:n.opaquePass,customShader:n.customShader,content:n.content,heightReference:n.heightReference,scene:n.scene,distanceDisplayCondition:n.distanceDisplayCondition,color:n.color,colorBlendAmount:n.colorBlendAmount,colorBlendMode:n.colorBlendMode,silhouetteColor:n.silhouetteColor,silhouetteSize:n.silhouetteSize,enableShowOutline:n.enableShowOutline,showOutline:n.showOutline,outlineColor:n.outlineColor,clippingPlanes:n.clippingPlanes,lightColor:n.lightColor,imageBasedLighting:n.imageBasedLighting,backFaceCulling:n.backFaceCulling,credit:n.credit,showCreditsOnScreen:n.showCreditsOnScreen,splitDirection:n.splitDirection,projectTo2D:n.projectTo2D,featureIdLabel:n.featureIdLabel,instanceFeatureIdLabel:n.instanceFeatureIdLabel,pointCloudShading:n.pointCloudShading,classificationType:n.classificationType,pickObject:n.pickObject}}var pd=Co;function Es(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._readyPromise=void 0,this._metadata=void 0,this._group=void 0}Object.defineProperties(Es.prototype,{featuresLength:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;return u(t)&&u(t[n])?t[n].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let e=this._model.statistics;return e.propertyTablesByteLength+e.batchTexturesByteLength}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;if(u(t)&&u(t[n]))return t[n]}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});Es.prototype.getFeature=function(e){let t=this._model,n=t.featureTableId;return t.featureTables[n].getFeature(e)};Es.prototype.hasProperty=function(e,t){let n=this._model,i=n.featureTableId;return u(i)?n.featureTables[i].hasProperty(e,t):!1};Es.prototype.applyDebugSettings=function(e,t){t=e?t:z.WHITE,this.featuresLength===0?this._model.color=t:u(this.batchTable)&&this.batchTable.setAllColor(t)};Es.prototype.applyStyle=function(e){this._model.style=e};Es.prototype.update=function(e,t){let n=this._model,i=this._tile;n.colorBlendAmount=e.colorBlendAmount,n.colorBlendMode=e.colorBlendMode,n.modelMatrix=i.computedTransform,n.customShader=e.customShader,n.featureIdLabel=e.featureIdLabel,n.instanceFeatureIdLabel=e.instanceFeatureIdLabel,n.lightColor=e.lightColor,n.imageBasedLighting=e.imageBasedLighting,n.backFaceCulling=e.backFaceCulling,n.shadows=e.shadows,n.showCreditsOnScreen=e.showCreditsOnScreen,n.splitDirection=e.splitDirection,n.debugWireframe=e.debugWireframe,n.showOutline=e.showOutline,n.outlineColor=e.outlineColor,n.pointCloudShading=e.pointCloudShading;let o=e.clippingPlanes;n.referenceMatrix=e.clippingPlanesOriginMatrix,u(o)&&i.clippingPlanesDirty&&(n._clippingPlanes=o.enabled&&i._isClipped?o:void 0),u(o)&&u(n._clippingPlanes)&&n._clippingPlanes!==o&&(n._clippingPlanes=o,n._clippingPlanesState=0),n.update(t)};Es.prototype.isDestroyed=function(){return!1};Es.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),le(this)};Es.fromGltf=function(e,t,n,i){let o=new Es(e,t,n),s=HO(e,t,o,{gltf:i,basePath:n}),a=e.vectorClassificationOnly?void 0:e.classificationType;s.classificationType=a;let c=pd.fromGltf(s);return o._model=c,o._readyPromise=c.readyPromise.then(function(l){return l.activeAnimations.addAll({loop:Ga.REPEAT}),l}),o};Es.fromB3dm=function(e,t,n,i,o){let r=new Es(e,t,n),a=HO(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=e.vectorClassificationOnly?void 0:e.classificationType;a.classificationType=c;let l=pd.fromB3dm(a);return r._model=l,r._readyPromise=l.readyPromise.then(function(f){return f.activeAnimations.addAll({loop:Ga.REPEAT}),f}),r};Es.fromI3dm=function(e,t,n,i,o){let r=new Es(e,t,n),a=HO(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=pd.fromI3dm(a);return r._model=c,r._readyPromise=c.readyPromise.then(function(l){return l.activeAnimations.addAll({loop:Ga.REPEAT}),l}),r};Es.fromPnts=function(e,t,n,i,o){let r=new Es(e,t,n),a=HO(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=pd.fromPnts(a);return r._model=c,r._readyPromise=c.readyPromise,r};Es.fromGeoJson=function(e,t,n,i){let o=new Es(e,t,n),s=HO(e,t,o,{geoJson:i,resource:n}),a=pd.fromGeoJson(s);return o._model=a,o._readyPromise=a.readyPromise,o};function HO(e,t,n,i){let o={cull:!1,releaseGltfJson:!0,opaquePass:Ee.CESIUM_3D_TILE,modelMatrix:t.computedTransform,upAxis:e._modelUpAxis,forwardAxis:e._modelForwardAxis,incrementallyLoadTextures:!1,customShader:e.customShader,content:n,colorBlendMode:e.colorBlendMode,colorBlendAmount:e.colorBlendAmount,lightColor:e.lightColor,imageBasedLighting:e.imageBasedLighting,featureIdLabel:e.featureIdLabel,instanceFeatureIdLabel:e.instanceFeatureIdLabel,pointCloudShading:e.pointCloudShading,clippingPlanes:e.clippingPlanes,backFaceCulling:e.backFaceCulling,shadows:e.shadows,showCreditsOnScreen:e.showCreditsOnScreen,splitDirection:e.splitDirection,enableDebugWireframe:e._enableDebugWireframe,debugWireframe:e.debugWireframe,projectTo2D:e._projectTo2D,enableShowOutline:e._enableShowOutline,showOutline:e.showOutline,outlineColor:e.outlineColor};return _t(i,o)}var Mh=Es;function Pp(e,t,n,i){this._tileset=e,this._tile=t,this._resource=n,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._readyPromise=s4e(this,i)}Object.defineProperties(Pp.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function s4e(e,t){return e._tileset.loadTileset(e._resource,t,e._tile),Promise.resolve(e)}Pp.prototype.hasProperty=function(e,t){return!1};Pp.prototype.getFeature=function(e){};Pp.prototype.applyDebugSettings=function(e,t){};Pp.prototype.applyStyle=function(e){};Pp.prototype.update=function(e,t){};Pp.prototype.isDestroyed=function(){return!1};Pp.prototype.destroy=function(){return le(this)};var GO=Pp;var WO=`#ifdef GL_OES_standard_derivatives +#extension GL_OES_standard_derivatives : enable +#endif + +uniform sampler2D u_atlas; + +#ifdef VECTOR_TILE +uniform vec4 u_highlightColor; +#endif + +in vec2 v_textureCoordinates; +in vec4 v_pickColor; +in vec4 v_color; + +#ifdef SDF +in vec4 v_outlineColor; +in float v_outlineWidth; +#endif + +#ifdef FRAGMENT_DEPTH_CHECK +in vec4 v_textureCoordinateBounds; // the min and max x and y values for the texture coordinates +in vec4 v_originTextureCoordinateAndTranslate; // texture coordinate at the origin, billboard translate (used for label glyphs) +in vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize +in mat2 v_rotationMatrix; + +const float SHIFT_LEFT12 = 4096.0; +const float SHIFT_LEFT1 = 2.0; + +const float SHIFT_RIGHT12 = 1.0 / 4096.0; +const float SHIFT_RIGHT1 = 1.0 / 2.0; + +float getGlobeDepth(vec2 adjustedST, vec2 depthLookupST, bool applyTranslate, vec2 dimensions, vec2 imageSize) +{ + vec2 lookupVector = imageSize * (depthLookupST - adjustedST); + lookupVector = v_rotationMatrix * lookupVector; + vec2 labelOffset = (dimensions - imageSize) * (depthLookupST - vec2(0.0, v_originTextureCoordinateAndTranslate.y)); // aligns label glyph with bounding rectangle. Will be zero for billboards because dimensions and imageSize will be equal + + vec2 translation = v_originTextureCoordinateAndTranslate.zw; + + if (applyTranslate) + { + // this is only needed for labels where the horizontal origin is not LEFT + // it moves the label back to where the "origin" should be since all label glyphs are set to HorizontalOrigin.LEFT + translation += (dimensions * v_originTextureCoordinateAndTranslate.xy * vec2(1.0, 0.0)); + } + + vec2 st = ((lookupVector - translation + labelOffset) + gl_FragCoord.xy) / czm_viewport.zw; + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); + + if (logDepthOrDepth == 0.0) + { + return 0.0; // not on the globe + } + + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + return eyeCoordinate.z / eyeCoordinate.w; +} +#endif + + +#ifdef SDF + +// Get the distance from the edge of a glyph at a given position sampling an SDF texture. +float getDistance(vec2 position) +{ + return texture(u_atlas, position).r; +} + +// Samples the sdf texture at the given position and produces a color based on the fill color and the outline. +vec4 getSDFColor(vec2 position, float outlineWidth, vec4 outlineColor, float smoothing) +{ + float distance = getDistance(position); + + if (outlineWidth > 0.0) + { + // Don't get the outline edge exceed the SDF_EDGE + float outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE); + float outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); + vec4 sdfColor = mix(outlineColor, v_color, outlineFactor); + float alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance); + return vec4(sdfColor.rgb, sdfColor.a * alpha); + } + else + { + float alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); + return vec4(v_color.rgb, v_color.a * alpha); + } +} +#endif + +void main() +{ + vec4 color = texture(u_atlas, v_textureCoordinates); + +#ifdef SDF + float outlineWidth = v_outlineWidth; + vec4 outlineColor = v_outlineColor; + + // Get the current distance + float distance = getDistance(v_textureCoordinates); + +#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) + float smoothing = fwidth(distance); + // Get an offset that is approximately half the distance to the neighbor pixels + // 0.354 is approximately half of 1/sqrt(2) + vec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates)); + + // Sample the center point + vec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); + + // Sample the 4 neighbors + vec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); + vec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); + vec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); + vec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); + + // Equally weight the center sample and the 4 neighboring samples + color = (center + color1 + color2 + color3 + color4)/5.0; +#else + // If no derivatives available (IE 10?), just do a single sample + float smoothing = 1.0/32.0; + color = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); +#endif + + color = czm_gammaCorrect(color); +#else + color = czm_gammaCorrect(color); + color *= czm_gammaCorrect(v_color); +#endif + +// Fully transparent parts of the billboard are not pickable. +#if !defined(OPAQUE) && !defined(TRANSLUCENT) + if (color.a < 0.005) // matches 0/255 and 1/255 + { + discard; + } +#else +// The billboard is rendered twice. The opaque pass discards translucent fragments +// and the translucent pass discards opaque fragments. +#ifdef OPAQUE + if (color.a < 0.995) // matches < 254/255 + { + discard; + } +#else + if (color.a >= 0.995) // matches 254/255 and 255/255 + { + discard; + } +#endif +#endif + +#ifdef VECTOR_TILE + color *= u_highlightColor; +#endif + out_FragColor = color; + +#ifdef LOG_DEPTH + czm_writeLogDepth(); +#endif + +#ifdef FRAGMENT_DEPTH_CHECK + float temp = v_compressed.y; + + temp = temp * SHIFT_RIGHT1; + + float temp2 = (temp - floor(temp)) * SHIFT_LEFT1; + bool enableDepthTest = temp2 != 0.0; + bool applyTranslate = floor(temp) != 0.0; + + if (enableDepthTest) { + temp = v_compressed.z; + temp = temp * SHIFT_RIGHT12; + + vec2 dimensions; + dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; + dimensions.x = floor(temp); + + temp = v_compressed.w; + temp = temp * SHIFT_RIGHT12; + + vec2 imageSize; + imageSize.y = (temp - floor(temp)) * SHIFT_LEFT12; + imageSize.x = floor(temp); + + vec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy; + adjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y); + + float epsilonEyeDepth = v_compressed.x + czm_epsilon1; + float globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize); + + // negative values go into the screen + if (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth) + { + float globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize); // top left corner + if (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth) + { + float globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize); // top right corner + if (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth) + { + discard; + } + } + } + } +#endif + +} +`;var jO=`#ifdef INSTANCED +in vec2 direction; +#endif +in vec4 positionHighAndScale; +in vec4 positionLowAndRotation; +in vec4 compressedAttribute0; // pixel offset, translate, horizontal origin, vertical origin, show, direction, texture coordinates (texture offset) +in vec4 compressedAttribute1; // aligned axis, translucency by distance, image width +in vec4 compressedAttribute2; // label horizontal origin, image height, color, pick color, size in meters, valid aligned axis, 13 bits free +in vec4 eyeOffset; // eye offset in meters, 4 bytes free (texture range) +in vec4 scaleByDistance; // near, nearScale, far, farScale +in vec4 pixelOffsetScaleByDistance; // near, nearScale, far, farScale +in vec4 compressedAttribute3; // distance display condition near, far, disableDepthTestDistance, dimensions +in vec2 sdf; // sdf outline color (rgb) and width (w) +#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) +in vec4 textureCoordinateBoundsOrLabelTranslate; // the min and max x and y values for the texture coordinates +#endif +#ifdef VECTOR_TILE +in float a_batchId; +#endif + +out vec2 v_textureCoordinates; +#ifdef FRAGMENT_DEPTH_CHECK +out vec4 v_textureCoordinateBounds; +out vec4 v_originTextureCoordinateAndTranslate; +out vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize +out mat2 v_rotationMatrix; +#endif + +out vec4 v_pickColor; +out vec4 v_color; +#ifdef SDF +out vec4 v_outlineColor; +out float v_outlineWidth; +#endif + +const float UPPER_BOUND = 32768.0; + +const float SHIFT_LEFT16 = 65536.0; +const float SHIFT_LEFT12 = 4096.0; +const float SHIFT_LEFT8 = 256.0; +const float SHIFT_LEFT7 = 128.0; +const float SHIFT_LEFT5 = 32.0; +const float SHIFT_LEFT3 = 8.0; +const float SHIFT_LEFT2 = 4.0; +const float SHIFT_LEFT1 = 2.0; + +const float SHIFT_RIGHT12 = 1.0 / 4096.0; +const float SHIFT_RIGHT8 = 1.0 / 256.0; +const float SHIFT_RIGHT7 = 1.0 / 128.0; +const float SHIFT_RIGHT5 = 1.0 / 32.0; +const float SHIFT_RIGHT3 = 1.0 / 8.0; +const float SHIFT_RIGHT2 = 1.0 / 4.0; +const float SHIFT_RIGHT1 = 1.0 / 2.0; + +vec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp) +{ + // Note the halfSize cannot be computed in JavaScript because it is sent via + // compressed vertex attributes that coerce it to an integer. + vec2 halfSize = imageSize * scale * 0.5; + halfSize *= ((direction * 2.0) - 1.0); + + vec2 originTranslate = origin * abs(halfSize); + +#if defined(ROTATION) || defined(ALIGNED_AXIS) + if (validAlignedAxis || rotation != 0.0) + { + float angle = rotation; + if (validAlignedAxis) + { + vec4 projectedAlignedAxis = czm_modelView3D * vec4(alignedAxis, 0.0); + angle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) / + (projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y)); + } + + float cosTheta = cos(angle); + float sinTheta = sin(angle); + rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta); + halfSize = rotationMatrix * halfSize; + } + else + { + rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); + } +#endif + + mpp = czm_metersPerPixel(positionEC); + positionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp); + positionEC.xy += (translate + pixelOffset) * mpp; + + return positionEC; +} + +#ifdef VERTEX_DEPTH_CHECK +float getGlobeDepth(vec4 positionEC) +{ + vec4 posWC = czm_eyeToWindowCoordinates(positionEC); + + float globeDepth = czm_unpackDepth(texture(czm_globeDepthTexture, posWC.xy / czm_viewport.zw)); + + if (globeDepth == 0.0) + { + return 0.0; // not on the globe + } + + vec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth); + return eyeCoordinate.z / eyeCoordinate.w; +} +#endif +void main() +{ + // Modifying this shader may also require modifications to Billboard._computeScreenSpacePosition + + // unpack attributes + vec3 positionHigh = positionHighAndScale.xyz; + vec3 positionLow = positionLowAndRotation.xyz; + float scale = positionHighAndScale.w; + +#if defined(ROTATION) || defined(ALIGNED_AXIS) + float rotation = positionLowAndRotation.w; +#else + float rotation = 0.0; +#endif + + float compressed = compressedAttribute0.x; + + vec2 pixelOffset; + pixelOffset.x = floor(compressed * SHIFT_RIGHT7); + compressed -= pixelOffset.x * SHIFT_LEFT7; + pixelOffset.x -= UPPER_BOUND; + + vec2 origin; + origin.x = floor(compressed * SHIFT_RIGHT5); + compressed -= origin.x * SHIFT_LEFT5; + + origin.y = floor(compressed * SHIFT_RIGHT3); + compressed -= origin.y * SHIFT_LEFT3; + +#ifdef FRAGMENT_DEPTH_CHECK + vec2 depthOrigin = origin.xy; +#endif + origin -= vec2(1.0); + + float show = floor(compressed * SHIFT_RIGHT2); + compressed -= show * SHIFT_LEFT2; + +#ifdef INSTANCED + vec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w); + vec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w); + vec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange; +#else + vec2 direction; + direction.x = floor(compressed * SHIFT_RIGHT1); + direction.y = compressed - direction.x * SHIFT_LEFT1; + + vec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w); +#endif + + float temp = compressedAttribute0.y * SHIFT_RIGHT8; + pixelOffset.y = -(floor(temp) - UPPER_BOUND); + + vec2 translate; + translate.y = (temp - floor(temp)) * SHIFT_LEFT16; + + temp = compressedAttribute0.z * SHIFT_RIGHT8; + translate.x = floor(temp) - UPPER_BOUND; + + translate.y += (temp - floor(temp)) * SHIFT_LEFT8; + translate.y -= UPPER_BOUND; + + temp = compressedAttribute1.x * SHIFT_RIGHT8; + float temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2); + + vec2 imageSize = vec2(floor(temp), temp2); + +#ifdef FRAGMENT_DEPTH_CHECK + float labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2)); + float applyTranslate = 0.0; + if (labelHorizontalOrigin != 0.0) // is a billboard, so set apply translate to false + { + applyTranslate = 1.0; + labelHorizontalOrigin -= 2.0; + depthOrigin.x = labelHorizontalOrigin + 1.0; + } + + depthOrigin = vec2(1.0) - (depthOrigin * 0.5); +#endif + +#ifdef EYE_DISTANCE_TRANSLUCENCY + vec4 translucencyByDistance; + translucencyByDistance.x = compressedAttribute1.z; + translucencyByDistance.z = compressedAttribute1.w; + + translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; + + temp = compressedAttribute1.y * SHIFT_RIGHT8; + translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; +#endif + +#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) + temp = compressedAttribute3.w; + temp = temp * SHIFT_RIGHT12; + + vec2 dimensions; + dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; + dimensions.x = floor(temp); +#endif + +#ifdef ALIGNED_AXIS + vec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8)); + temp = compressedAttribute2.z * SHIFT_RIGHT5; + bool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0; +#else + vec3 alignedAxis = vec3(0.0); + bool validAlignedAxis = false; +#endif + + vec4 pickColor; + vec4 color; + + temp = compressedAttribute2.y; + temp = temp * SHIFT_RIGHT8; + pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + pickColor.r = floor(temp); + + temp = compressedAttribute2.x; + temp = temp * SHIFT_RIGHT8; + color.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + color.g = (temp - floor(temp)) * SHIFT_LEFT8; + color.r = floor(temp); + + temp = compressedAttribute2.z * SHIFT_RIGHT8; + bool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0; + temp = floor(temp) * SHIFT_RIGHT8; + + pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; + pickColor /= 255.0; + + color.a = floor(temp); + color /= 255.0; + + /////////////////////////////////////////////////////////////////////////// + + vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); + vec4 positionEC = czm_modelViewRelativeToEye * p; + +#if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK) + float eyeDepth = positionEC.z; +#endif + + positionEC = czm_eyeOffset(positionEC, eyeOffset.xyz); + positionEC.xyz *= show; + + /////////////////////////////////////////////////////////////////////////// + +#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) + float lengthSq; + if (czm_sceneMode == czm_sceneMode2D) + { + // 2D camera distance is a special case + // treat all billboards as flattened to the z=0.0 plane + lengthSq = czm_eyeHeight2D.y; + } + else + { + lengthSq = dot(positionEC.xyz, positionEC.xyz); + } +#endif + +#ifdef EYE_DISTANCE_SCALING + float distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq); + scale *= distanceScale; + translate *= distanceScale; + // push vertex behind near plane for clipping + if (scale == 0.0) + { + positionEC.xyz = vec3(0.0); + } +#endif + + float translucency = 1.0; +#ifdef EYE_DISTANCE_TRANSLUCENCY + translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); + // push vertex behind near plane for clipping + if (translucency == 0.0) + { + positionEC.xyz = vec3(0.0); + } +#endif + +#ifdef EYE_DISTANCE_PIXEL_OFFSET + float pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq); + pixelOffset *= pixelOffsetScale; +#endif + +#ifdef DISTANCE_DISPLAY_CONDITION + float nearSq = compressedAttribute3.x; + float farSq = compressedAttribute3.y; + if (lengthSq < nearSq || lengthSq > farSq) + { + positionEC.xyz = vec3(0.0); + } +#endif + + mat2 rotationMatrix; + float mpp; + +#ifdef DISABLE_DEPTH_DISTANCE + float disableDepthTestDistance = compressedAttribute3.z; +#endif + +#ifdef VERTEX_DEPTH_CHECK +if (lengthSq < disableDepthTestDistance) { + float depthsilon = 10.0; + + vec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy; + vec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + float globeDepth1 = getGlobeDepth(pEC1); + + if (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1) + { + vec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + float globeDepth2 = getGlobeDepth(pEC2); + + if (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2) + { + vec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + float globeDepth3 = getGlobeDepth(pEC3); + if (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3) + { + positionEC.xyz = vec3(0.0); + } + } + } +} +#endif + + positionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + gl_Position = czm_projection * positionEC; + v_textureCoordinates = textureCoordinates; + +#ifdef LOG_DEPTH + czm_vertexLogDepth(); +#endif + +#ifdef DISABLE_DEPTH_DISTANCE + if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) + { + disableDepthTestDistance = czm_minimumDisableDepthTestDistance; + } + + if (disableDepthTestDistance != 0.0) + { + // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. + float zclip = gl_Position.z / gl_Position.w; + bool clipped = (zclip < -1.0 || zclip > 1.0); + if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) + { + // Position z on the near plane. + gl_Position.z = -gl_Position.w; +#ifdef LOG_DEPTH + v_depthFromNearPlusOne = 1.0; +#endif + } + } +#endif + +#ifdef FRAGMENT_DEPTH_CHECK + if (sizeInMeters) { + translate /= mpp; + dimensions /= mpp; + imageSize /= mpp; + } + +#if defined(ROTATION) || defined(ALIGNED_AXIS) + v_rotationMatrix = rotationMatrix; +#else + v_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); +#endif + + float enableDepthCheck = 0.0; + if (lengthSq < disableDepthTestDistance) + { + enableDepthCheck = 1.0; + } + + float dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12)); + float dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12)); + + float iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12)); + float ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12)); + + v_compressed.x = eyeDepth; + v_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck; + v_compressed.z = dw * SHIFT_LEFT12 + dh; + v_compressed.w = iw * SHIFT_LEFT12 + ih; + v_originTextureCoordinateAndTranslate.xy = depthOrigin; + v_originTextureCoordinateAndTranslate.zw = translate; + v_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate; + +#endif + +#ifdef SDF + vec4 outlineColor; + float outlineWidth; + + temp = sdf.x; + temp = temp * SHIFT_RIGHT8; + outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor.r = floor(temp); + + temp = sdf.y; + temp = temp * SHIFT_RIGHT8; + float temp3 = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + outlineWidth = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor.a = floor(temp); + outlineColor /= 255.0; + + v_outlineWidth = outlineWidth / 255.0; + v_outlineColor = outlineColor; + v_outlineColor.a *= translucency; +#endif + + v_pickColor = pickColor; + + v_color = color; + v_color.a *= translucency; + +} +`;function Ci(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;u(n)&&(n=Pt.clone(n)),u(i)&&(i=Pt.clone(i)),u(o)&&(o=Pt.clone(o)),u(r)&&(r=bt.clone(r)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._pixelOffset=H.clone(y(e.pixelOffset,H.ZERO)),this._translate=new H(0,0),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._heightReference=y(e.heightReference,We.NONE),this._verticalOrigin=y(e.verticalOrigin,On.CENTER),this._horizontalOrigin=y(e.horizontalOrigin,_i.CENTER),this._scale=y(e.scale,1),this._color=z.clone(y(e.color,z.WHITE)),this._rotation=y(e.rotation,0),this._alignedAxis=h.clone(y(e.alignedAxis,h.ZERO)),this._width=e.width,this._height=e.height,this._scaleByDistance=o,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._sizeInMeters=y(e.sizeInMeters,!1),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._id=e.id,this._collection=y(e.collection,t),this._pickId=void 0,this._pickPrimitive=y(e._pickPrimitive,this),this._billboardCollection=t,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;let s=e.image,a=e.imageId;u(s)&&(u(a)||(typeof s=="string"?a=s:u(s.src)?a=s.src:a=zn()),this._imageId=a,this._image=s),u(e.imageSubRegion)&&(this._imageId=a,this._imageSubRegion=e.imageSubRegion),u(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=te.SCENE3D,this._clusterShow=!0,this._outlineColor=z.clone(y(e.outlineColor,z.BLACK)),this._outlineWidth=y(e.outlineWidth,0),this._updateClamping()}var woe=Ci.SHOW_INDEX=0,eU=Ci.POSITION_INDEX=1,Boe=Ci.PIXEL_OFFSET_INDEX=2,a4e=Ci.EYE_OFFSET_INDEX=3,c4e=Ci.HORIZONTAL_ORIGIN_INDEX=4,l4e=Ci.VERTICAL_ORIGIN_INDEX=5,u4e=Ci.SCALE_INDEX=6,tU=Ci.IMAGE_INDEX_INDEX=7,Ioe=Ci.COLOR_INDEX=8,f4e=Ci.ROTATION_INDEX=9,d4e=Ci.ALIGNED_AXIS_INDEX=10,h4e=Ci.SCALE_BY_DISTANCE_INDEX=11,m4e=Ci.TRANSLUCENCY_BY_DISTANCE_INDEX=12,p4e=Ci.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,_4e=Ci.DISTANCE_DISPLAY_CONDITION=14,g4e=Ci.DISABLE_DEPTH_DISTANCE=15;Ci.TEXTURE_COORDINATE_BOUNDS=16;var Poe=Ci.SDF_INDEX=17;Ci.NUMBER_OF_PROPERTIES=18;function Lo(e,t){let n=e._billboardCollection;u(n)&&(n._updateBillboard(e,t),e._dirty=!0)}Object.defineProperties(Ci.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Lo(this,woe))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),this._updateClamping(),Lo(this,eU))}},heightReference:{get:function(){return this._heightReference},set:function(e){let t=this._heightReference;e!==t&&(this._heightReference=e,this._updateClamping(),Lo(this,eU))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;H.equals(t,e)||(H.clone(e,t),Lo(this,Boe))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;Pt.equals(t,e)||(this._scaleByDistance=Pt.clone(e,t),Lo(this,h4e))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;Pt.equals(t,e)||(this._translucencyByDistance=Pt.clone(e,t),Lo(this,m4e))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;Pt.equals(t,e)||(this._pixelOffsetScaleByDistance=Pt.clone(e,t),Lo(this,p4e))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;h.equals(t,e)||(h.clone(e,t),Lo(this,a4e))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,Lo(this,c4e))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,Lo(this,l4e))}},scale:{get:function(){return this._scale},set:function(e){this._scale!==e&&(this._scale=e,Lo(this,u4e))}},color:{get:function(){return this._color},set:function(e){let t=this._color;z.equals(t,e)||(z.clone(e,t),Lo(this,Ioe))}},rotation:{get:function(){return this._rotation},set:function(e){this._rotation!==e&&(this._rotation=e,Lo(this,f4e))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(e){let t=this._alignedAxis;h.equals(t,e)||(h.clone(e,t),Lo(this,d4e))}},width:{get:function(){return y(this._width,this._imageWidth)},set:function(e){this._width!==e&&(this._width=e,Lo(this,tU))}},height:{get:function(){return y(this._height,this._imageHeight)},set:function(e){this._height!==e&&(this._height=e,Lo(this,tU))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters!==e&&(this._sizeInMeters=e,Lo(this,Ioe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){bt.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=bt.clone(e,this._distanceDisplayCondition),Lo(this,_4e))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,Lo(this,g4e))}},id:{get:function(){return this._id},set:function(e){this._id=e,u(this._pickId)&&(this._pickId.object.id=e)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(e){this._pickPrimitive=e,u(this._pickId)&&(this._pickId.object.primitive=e)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(e){u(e)?typeof e=="string"?this.setImage(e,e):e instanceof Oe?this.setImage(e.url,e):u(e.src)?this.setImage(e.src,e):this.setImage(zn(),e):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,Lo(this,tU))}},ready:{get:function(){return this._imageIndex!==-1}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition),Lo(this,eU)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,Lo(this,woe))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;z.equals(t,e)||(z.clone(e,t),Lo(this,Poe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Lo(this,Poe))}}});Ci.prototype.getPickId=function(e){return u(this._pickId)||(this._pickId=e.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId};Ci.prototype._updateClamping=function(){Ci._updateClamping(this._billboardCollection,this)};var YO=new he,Ooe=new h;Ci._updateClamping=function(e,t){let n=e._scene;if(!u(n)||!u(n.globe))return;let i=n.globe,o=i.ellipsoid,r=i._surface,s=n.frameState.mode,a=s!==t._mode;if(t._mode=s,(t._heightReference===We.NONE||a)&&u(t._removeCallbackFunc)&&(t._removeCallbackFunc(),t._removeCallbackFunc=void 0,t._clampedPosition=void 0),t._heightReference===We.NONE||!u(t._position))return;let c=o.cartesianToCartographic(t._position);if(!u(c)){t._actualClampedPosition=void 0;return}u(t._removeCallbackFunc)&&t._removeCallbackFunc();function l(d){if(t._heightReference===We.RELATIVE_TO_GROUND)if(t._mode===te.SCENE3D){let p=o.cartesianToCartographic(d,YO);p.height+=c.height,o.cartographicToCartesian(p,d)}else d.x+=c.height;t._clampedPosition=h.clone(d,t._clampedPosition)}t._removeCallbackFunc=r.updateHeight(c,l),he.clone(c,YO);let f=i.getHeight(c);u(f)&&(YO.height=f),o.cartographicToCartesian(YO,Ooe),l(Ooe)};Ci.prototype._loadImage=function(){let e=this._billboardCollection._textureAtlas,t=this._imageId,n=this._image,i=this._imageSubRegion,o,r=this;function s(a){if(r._imageId!==t||r._image!==n||!Ye.equals(r._imageSubRegion,i))return;let c=e.textureCoordinates[a];r._imageWidth=e.texture.width*c.width,r._imageHeight=e.texture.height*c.height,r._imageIndex=a,r._ready=!0,r._image=void 0,r._imageIndexPromise=void 0,Lo(r,tU)}if(u(n)){let a=e.getImageIndex(t);if(u(a)){s(a);return}o=e.addImage(t,n)}u(i)&&(o=e.addSubRegion(t,i)),this._imageIndexPromise=o,u(o)&&o.then(s).catch(function(a){console.error(`Error loading image for billboard: ${a}`),r._imageIndexPromise=void 0})};Ci.prototype.setImage=function(e,t){this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,u(this._billboardCollection._textureAtlas)&&this._loadImage())};Ci.prototype.setImageSubRegion=function(e,t){this._imageId===e&&Ye.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=Ye.clone(t),u(this._billboardCollection._textureAtlas)&&this._loadImage())};Ci.prototype._setTranslate=function(e){let t=this._translate;H.equals(t,e)||(H.clone(e,t),Lo(this,Boe))};Ci.prototype._getActualPosition=function(){return u(this._clampedPosition)?this._clampedPosition:this._actualPosition};Ci.prototype._setActualPosition=function(e){u(this._clampedPosition)||h.clone(e,this._actualPosition),Lo(this,eU)};var Roe=new oe;Ci._computeActualPosition=function(e,t,n,i){return u(e._clampedPosition)?(n.mode!==e._mode&&e._updateClamping(),e._clampedPosition):n.mode===te.SCENE3D?t:(M.multiplyByPoint(i,t,Roe),qi.computeActualWgs84Position(n,Roe))};var Moe=new h;Ci._computeScreenSpacePosition=function(e,t,n,i,o,r){let s=M.multiplyByPoint(e,t,Moe),a=qi.wgs84WithEyeOffsetToWindowCoordinates(o,s,n,r);if(u(a))return H.add(a,i,a),a};var $V=new H(0,0);Ci.prototype.computeScreenSpacePosition=function(e,t){let n=this._billboardCollection;u(t)||(t=new H),H.clone(this._pixelOffset,$V),H.add($V,this._translate,$V);let i=n.modelMatrix,o=this._position;if(u(this._clampedPosition)&&(o=this._clampedPosition,e.mode!==te.SCENE3D)){let s=e.mapProjection,a=s.ellipsoid,c=s.unproject(o,YO);o=a.cartographicToCartesian(c,Moe),i=M.IDENTITY}return Ci._computeScreenSpacePosition(i,o,this._eyeOffset,$V,e,t)};Ci.getScreenSpaceBoundingBox=function(e,t,n){let i=e.width,o=e.height,r=e.scale;i*=r,o*=r;let s=t.x;e.horizontalOrigin===_i.RIGHT?s-=i:e.horizontalOrigin===_i.CENTER&&(s-=i*.5);let a=t.y;return e.verticalOrigin===On.BOTTOM||e.verticalOrigin===On.BASELINE?a-=o:e.verticalOrigin===On.CENTER&&(a-=o*.5),u(n)||(n=new Ye),n.x=s,n.y=a,n.width=i,n.height=o,n};Ci.prototype.equals=function(e){return this===e||u(e)&&this._id===e._id&&h.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&Ye.equals(this._imageSubRegion,e._imageSubRegion)&&z.equals(this._color,e._color)&&H.equals(this._pixelOffset,e._pixelOffset)&&H.equals(this._translate,e._translate)&&h.equals(this._eyeOffset,e._eyeOffset)&&Pt.equals(this._scaleByDistance,e._scaleByDistance)&&Pt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Pt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&bt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance};Ci.prototype._destroy=function(){u(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),u(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var lo=Ci;var y4e={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},To=Object.freeze(y4e);var A4e={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},bs=Object.freeze(A4e);function Op(e,t,n,i,o){this.bottomLeft=y(e,H.ZERO),this.topRight=y(t,H.ZERO),this.childNode1=n,this.childNode2=i,this.imageIndex=o}var x4e=new H(16,16);function Fg(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.borderWidthInPixels,1),n=y(e.initialSize,x4e);this._context=e.context,this._pixelFormat=y(e.pixelFormat,rt.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=zn(),this._idHash={},this._indexHash={},this._initialSize=n,this._root=void 0}Object.defineProperties(Fg.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return u(this._texture)||(this._texture=new It({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}});function C4e(e,t){let n=e._context,i=e.numberOfImages,o=2,r=e._borderWidthInPixels;if(i>0){let s=e._texture.width,a=e._texture.height,c=o*(s+t.width+r),l=o*(a+t.height+r),f=s/c,d=a/l,p=new Op(new H(s+r,r),new H(c,a)),g=new Op(new H,new H(c,a),e._root,p),m=new Op(new H(r,a+r),new H(c,l)),A=new Op(new H,new H(c,l),g,m);for(let T=0;T<e._textureCoordinates.length;T++){let E=e._textureCoordinates[T];u(E)&&(E.x*=f,E.y*=d,E.width*=f,E.height*=d)}let x=new It({context:e._context,width:c,height:l,pixelFormat:e._pixelFormat}),C=new Ns({context:n,colorTextures:[e._texture],destroyAttachments:!1});C._bind(),x.copyFromFramebuffer(0,0,0,0,c,l),C._unBind(),C.destroy(),e._texture=e._texture&&e._texture.destroy(),e._texture=x,e._root=A}else{let s=o*(t.width+2*r),a=o*(t.height+2*r);s<e._initialSize.x&&(s=e._initialSize.x),a<e._initialSize.y&&(a=e._initialSize.y),e._texture=e._texture&&e._texture.destroy(),e._texture=new It({context:e._context,width:s,height:a,pixelFormat:e._pixelFormat}),e._root=new Op(new H(r,r),new H(s,a))}}function nU(e,t,n){if(u(t)){if(!u(t.childNode1)&&!u(t.childNode2)){if(u(t.imageIndex))return;let i=t.topRight.x-t.bottomLeft.x,o=t.topRight.y-t.bottomLeft.y,r=i-n.width,s=o-n.height;if(r<0||s<0)return;if(r===0&&s===0)return t;if(r>s){t.childNode1=new Op(new H(t.bottomLeft.x,t.bottomLeft.y),new H(t.bottomLeft.x+n.width,t.topRight.y));let a=t.bottomLeft.x+n.width+e._borderWidthInPixels;a<t.topRight.x&&(t.childNode2=new Op(new H(a,t.bottomLeft.y),new H(t.topRight.x,t.topRight.y)))}else{t.childNode1=new Op(new H(t.bottomLeft.x,t.bottomLeft.y),new H(t.topRight.x,t.bottomLeft.y+n.height));let a=t.bottomLeft.y+n.height+e._borderWidthInPixels;a<t.topRight.y&&(t.childNode2=new Op(new H(t.bottomLeft.x,a),new H(t.topRight.x,t.topRight.y)))}return nU(e,t.childNode1,n)}return nU(e,t.childNode1,n)||nU(e,t.childNode2,n)}}function Loe(e,t,n){let i=nU(e,e._root,t);if(u(i)){i.imageIndex=n;let o=e._texture.width,r=e._texture.height,s=i.topRight.x-i.bottomLeft.x,a=i.topRight.y-i.bottomLeft.y,c=i.bottomLeft.x/o,l=i.bottomLeft.y/r,f=s/o,d=a/r;e._textureCoordinates[n]=new Ye(c,l,f,d),e._texture.copyFrom({source:t,xOffset:i.bottomLeft.x,yOffset:i.bottomLeft.y})}else C4e(e,t),Loe(e,t,n);e._guid=zn()}function Noe(e,t){if(!u(e)||e.isDestroyed())return-1;let n=e.numberOfImages;return Loe(e,t,n),n}Fg.prototype.getImageIndex=function(e){return this._indexHash[e]};Fg.prototype.addImageSync=function(e,t){let n=this._indexHash[e];return u(n)||(n=Noe(this,t),this._idHash[e]=Promise.resolve(n),this._indexHash[e]=n),n};Fg.prototype.addImage=function(e,t){let n=this._idHash[e];if(u(n))return n;typeof t=="function"?t=t(e):(typeof t=="string"||t instanceof Oe)&&(t=Oe.createIfNeeded(t).fetchImage());let i=this;return n=Promise.resolve(t).then(function(o){let r=Noe(i,o);return i._indexHash[e]=r,r}),this._idHash[e]=n,n};Fg.prototype.addSubRegion=function(e,t){let n=this._idHash[e];if(!u(n))throw new ue(`image with id "${e}" not found in the atlas.`);let i=this;return Promise.resolve(n).then(function(o){if(o===-1)return-1;let r=i._texture.width,s=i._texture.height,a=i._textureCoordinates[o],c=a.x+t.x/r,l=a.y+t.y/s,f=t.width/r,d=t.height/s,p=i._textureCoordinates.push(new Ye(c,l,f,d))-1;return i._indexHash[e]=p,i._guid=zn(),p})};Fg.prototype.isDestroyed=function(){return!1};Fg.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),le(this)};var Vg=Fg;var T4e=lo.SHOW_INDEX,XO=lo.POSITION_INDEX,Foe=lo.PIXEL_OFFSET_INDEX,Voe=lo.EYE_OFFSET_INDEX,E4e=lo.HORIZONTAL_ORIGIN_INDEX,b4e=lo.VERTICAL_ORIGIN_INDEX,S4e=lo.SCALE_INDEX,qO=lo.IMAGE_INDEX_INDEX,Uoe=lo.COLOR_INDEX,D4e=lo.ROTATION_INDEX,v4e=lo.ALIGNED_AXIS_INDEX,koe=lo.SCALE_BY_DISTANCE_INDEX,zoe=lo.TRANSLUCENCY_BY_DISTANCE_INDEX,Hoe=lo.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,Goe=lo.DISTANCE_DISPLAY_CONDITION,w4e=lo.DISABLE_DEPTH_DISTANCE,I4e=lo.TEXTURE_COORDINATE_BOUNDS,Woe=lo.SDF_INDEX,h6=lo.NUMBER_OF_PROPERTIES,yo,P4e={positionHighAndScale:0,positionLowAndRotation:1,compressedAttribute0:2,compressedAttribute1:3,compressedAttribute2:4,eyeOffset:5,scaleByDistance:6,pixelOffsetScaleByDistance:7,compressedAttribute3:8,textureCoordinateBoundsOrLabelTranslate:9,a_batchId:10,sdf:11},O4e={direction:0,positionHighAndScale:1,positionLowAndRotation:2,compressedAttribute0:3,compressedAttribute1:4,compressedAttribute2:5,eyeOffset:6,scaleByDistance:7,pixelOffsetScaleByDistance:8,compressedAttribute3:9,textureCoordinateBoundsOrLabelTranslate:10,a_batchId:11,sdf:12};function Qu(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._shaderAlignedAxis=!1,this._compiledShaderAlignedAxis=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._shaderClampToGround=!1,this._compiledShaderClampToGround=!1,this._propertiesChanged=new Uint32Array(h6),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._allVerticalCenter=!0,this._allSizedInMeters=!0,this._baseVolume=new se,this._baseVolumeWC=new se,this._baseVolume2D=new se,this._boundingVolume=new se,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=M.clone(M.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowTextureAtlas=y(e.debugShowTextureAtlas,!1),this.blendOption=y(e.blendOption,To.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=te.SCENE3D,this._buffersUsage=[Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW],this._highlightColor=z.clone(z.WHITE);let t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.texture},u_highlightColor:function(){return t._highlightColor}};let n=this._scene;u(n)&&u(n.terrainProviderChanged)&&(this._removeCallbackFunc=n.terrainProviderChanged.addEventListener(function(){let i=this._billboards,o=i.length;for(let r=0;r<o;++r)u(i[r])&&i[r]._updateClamping()},this))}Object.defineProperties(Qu.prototype,{length:{get:function(){return m6(this),this._billboards.length}},textureAtlas:{get:function(){return this._textureAtlas},set:function(e){this._textureAtlas!==e&&(this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._textureAtlas=e,this._createVertexArray=!0)}},destroyTextureAtlas:{get:function(){return this._destroyTextureAtlas},set:function(e){this._destroyTextureAtlas=e}}});function joe(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Qu.prototype.add=function(e){let t=new lo(e,this);return t._index=this._billboards.length,this._billboards.push(t),this._createVertexArray=!0,t};Qu.prototype.remove=function(e){return this.contains(e)?(this._billboards[e._index]=void 0,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Qu.prototype.removeAll=function(){joe(this._billboards),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0};function m6(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;let t=[],n=e._billboards,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];u(s)&&(s._index=r++,t.push(s))}e._billboards=t}}Qu.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]};Qu.prototype.contains=function(e){return u(e)&&e._billboardCollection===this};Qu.prototype.get=function(e){return m6(this),this._billboards[e]};var a6;function R4e(e){let n=e.cache.billboardCollection_indexBufferBatched;if(u(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s+0,o[r+4]=s+2,o[r+5]=s+3;return n=lt.createIndexBuffer({context:e,typedArray:o,usage:Ne.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferBatched=n,n}function B4e(e){let t=e.cache.billboardCollection_indexBufferInstanced;return u(t)||(t=lt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ne.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferInstanced=t),t}function M4e(e){let t=e.cache.billboardCollection_vertexBufferInstanced;return u(t)||(t=lt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Ne.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_vertexBufferInstanced=t),t}Qu.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<h6;++i){let o=n[i]===0?Ne.STATIC_DRAW:Ne.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function L4e(e,t,n,i,o,r){let s=[{index:yo.positionHighAndScale,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[XO]},{index:yo.positionLowAndRotation,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[XO]},{index:yo.compressedAttribute0,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[Foe]},{index:yo.compressedAttribute1,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[zoe]},{index:yo.compressedAttribute2,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[Uoe]},{index:yo.eyeOffset,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[Voe]},{index:yo.scaleByDistance,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[koe]},{index:yo.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[Hoe]},{index:yo.compressedAttribute3,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[Goe]},{index:yo.textureCoordinateBoundsOrLabelTranslate,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[I4e]}];i&&s.push({index:yo.direction,componentsPerAttribute:2,componentDatatype:q.FLOAT,vertexBuffer:M4e(e)}),u(o)&&s.push({index:yo.a_batchId,componentsPerAttribute:1,componentDatatype:q.FLOAT,bufferUsage:Ne.STATIC_DRAW}),r&&s.push({index:yo.sdf,componentsPerAttribute:2,componentDatatype:q.FLOAT,usage:n[Woe]});let a=i?t:4*t;return new Wm(e,s,a,i)}var c6=new Hn;function Yoe(e,t,n,i,o){let r,s=i[yo.positionHighAndScale],a=i[yo.positionLowAndRotation],c=o._getActualPosition();e._mode===te.SCENE3D&&(se.expand(e._baseVolume,c,e._baseVolume),e._boundingVolumeDirty=!0),Hn.fromCartesian(c,c6);let l=o.scale,f=o.rotation;f!==0&&(e._shaderRotation=!0),e._maxScale=Math.max(e._maxScale,l);let d=c6.high,p=c6.low;e._instanced?(r=o._index,s(r,d.x,d.y,d.z,l),a(r,p.x,p.y,p.z,f)):(r=o._index*4,s(r+0,d.x,d.y,d.z,l),s(r+1,d.x,d.y,d.z,l),s(r+2,d.x,d.y,d.z,l),s(r+3,d.x,d.y,d.z,l),a(r+0,p.x,p.y,p.z,f),a(r+1,p.x,p.y,p.z,f),a(r+2,p.x,p.y,p.z,f),a(r+3,p.x,p.y,p.z,f))}var Ju=new H,Zu=32768,QT=65536,l6=4096,Lh=256,N4e=128,F4e=32,V4e=8,qoe=4,U4e=1/256,Xoe=0,Koe=2,Zoe=3,Joe=1;function Qoe(e,t,n,i,o){let r,s=i[yo.compressedAttribute0],a=o.pixelOffset,c=a.x,l=a.y,f=o._translate,d=f.x,p=f.y;e._maxPixelOffset=Math.max(e._maxPixelOffset,Math.abs(c+d),Math.abs(-l+p));let g=o.horizontalOrigin,m=o._verticalOrigin,A=o.show&&o.clusterShow;o.color.alpha===0&&(A=!1),m===On.BASELINE&&(m=On.BOTTOM),e._allHorizontalCenter=e._allHorizontalCenter&&g===_i.CENTER,e._allVerticalCenter=e._allVerticalCenter&&m===On.CENTER;let x=0,C=0,T=0,E=0,S=o._imageIndex;if(S!==-1){let k=n[S];x=k.x,C=k.y,T=k.width,E=k.height}let D=x+T,w=C+E,R=Math.floor(P.clamp(c,-Zu,Zu)+Zu)*N4e;R+=(g+1)*F4e,R+=(m+1)*V4e,R+=(A?1:0)*qoe;let O=Math.floor(P.clamp(l,-Zu,Zu)+Zu)*Lh,L=Math.floor(P.clamp(d,-Zu,Zu)+Zu)*Lh,N=(P.clamp(p,-Zu,Zu)+Zu)*U4e,_=Math.floor(N),b=Math.floor((N-_)*Lh);O+=_,L+=b,Ju.x=x,Ju.y=C;let v=Gn.compressTextureCoordinates(Ju);Ju.x=D;let I=Gn.compressTextureCoordinates(Ju);Ju.y=w;let B=Gn.compressTextureCoordinates(Ju);Ju.x=x;let F=Gn.compressTextureCoordinates(Ju);e._instanced?(r=o._index,s(r,R,O,L,v)):(r=o._index*4,s(r+0,R+Xoe,O,L,v),s(r+1,R+Koe,O,L,I),s(r+2,R+Zoe,O,L,B),s(r+3,R+Joe,O,L,F))}function $oe(e,t,n,i,o){let r,s=i[yo.compressedAttribute1],a=o.alignedAxis;h.equals(a,h.ZERO)||(e._shaderAlignedAxis=!0);let c=0,l=1,f=1,d=1,p=o.translucencyByDistance;u(p)&&(c=p.near,l=p.nearValue,f=p.far,d=p.farValue,(l!==1||d!==1)&&(e._shaderTranslucencyByDistance=!0));let g=0,m=o._imageIndex;m!==-1&&(g=n[m].width);let A=e._textureAtlas.texture.width,x=Math.round(y(o.width,A*g));e._maxSize=Math.max(e._maxSize,x);let C=P.clamp(x,0,QT),T=0;Math.abs(h.magnitudeSquared(a)-1)<P.EPSILON6&&(T=Gn.octEncodeFloat(a)),l=P.clamp(l,0,1),l=l===1?255:l*255|0,C=C*Lh+l,d=P.clamp(d,0,1),d=d===1?255:d*255|0,T=T*Lh+d,e._instanced?(r=o._index,s(r,C,T,c,f)):(r=o._index*4,s(r+0,C,T,c,f),s(r+1,C,T,c,f),s(r+2,C,T,c,f),s(r+3,C,T,c,f))}function f6(e,t,n,i,o){let r,s=i[yo.compressedAttribute2],a=o.color,c=u(e._batchTable)?z.WHITE:o.getPickId(t.context).color,l=o.sizeInMeters?1:0,f=Math.abs(h.magnitudeSquared(o.alignedAxis)-1)<P.EPSILON6?1:0;e._allSizedInMeters=e._allSizedInMeters&&l===1;let d=0,p=o._imageIndex;p!==-1&&(d=n[p].height);let g=e._textureAtlas.texture.dimensions,m=Math.round(y(o.height,g.y*d));e._maxSize=Math.max(e._maxSize,m);let A=y(o._labelHorizontalOrigin,-2);A+=2;let x=m*qoe+A,C=z.floatToByte(a.red),T=z.floatToByte(a.green),E=z.floatToByte(a.blue),S=C*QT+T*Lh+E;C=z.floatToByte(c.red),T=z.floatToByte(c.green),E=z.floatToByte(c.blue);let D=C*QT+T*Lh+E,w=z.floatToByte(a.alpha)*QT+z.floatToByte(c.alpha)*Lh;w+=l*2+f,e._instanced?(r=o._index,s(r,S,D,w,x)):(r=o._index*4,s(r+0,S,D,w,x),s(r+1,S,D,w,x),s(r+2,S,D,w,x),s(r+3,S,D,w,x))}function d6(e,t,n,i,o){let r,s=i[yo.eyeOffset],a=o.eyeOffset,c=a.z;if(o._heightReference!==We.NONE&&(c*=1.005),e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(a.x),Math.abs(a.y),Math.abs(c)),e._instanced){let l=0,f=0,d=o._imageIndex;if(d!==-1){let g=n[d];l=g.width,f=g.height}Ju.x=l,Ju.y=f;let p=Gn.compressTextureCoordinates(Ju);r=o._index,s(r,a.x,a.y,c,p)}else r=o._index*4,s(r+0,a.x,a.y,c,0),s(r+1,a.x,a.y,c,0),s(r+2,a.x,a.y,c,0),s(r+3,a.x,a.y,c,0)}function ere(e,t,n,i,o){let r,s=i[yo.scaleByDistance],a=0,c=1,l=1,f=1,d=o.scaleByDistance;u(d)&&(a=d.near,c=d.nearValue,l=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,l,f)):(r=o._index*4,s(r+0,a,c,l,f),s(r+1,a,c,l,f),s(r+2,a,c,l,f),s(r+3,a,c,l,f))}function tre(e,t,n,i,o){let r,s=i[yo.pixelOffsetScaleByDistance],a=0,c=1,l=1,f=1,d=o.pixelOffsetScaleByDistance;u(d)&&(a=d.near,c=d.nearValue,l=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderPixelOffsetScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,l,f)):(r=o._index*4,s(r+0,a,c,l,f),s(r+1,a,c,l,f),s(r+2,a,c,l,f),s(r+3,a,c,l,f))}function nre(e,t,n,i,o){let r,s=i[yo.compressedAttribute3],a=0,c=Number.MAX_VALUE,l=o.distanceDisplayCondition;u(l)&&(a=l.near,c=l.far,a*=a,c*=c,e._shaderDistanceDisplayCondition=!0);let f=o.disableDepthTestDistance,d=o.heightReference===We.CLAMP_TO_GROUND&&t.context.depthTexture;u(f)||(f=d?5e3:0),f*=f,(d||f>0)&&(e._shaderDisableDepthDistance=!0,f===Number.POSITIVE_INFINITY&&(f=-1));let p,g;if(u(o._labelDimensions))g=o._labelDimensions.x,p=o._labelDimensions.y;else{let C=0,T=0,E=o._imageIndex;if(E!==-1){let D=n[E];C=D.height,T=D.width}p=Math.round(y(o.height,e._textureAtlas.texture.dimensions.y*C));let S=e._textureAtlas.texture.width;g=Math.round(y(o.width,S*T))}let m=Math.floor(P.clamp(g,0,l6)),A=Math.floor(P.clamp(p,0,l6)),x=m*l6+A;e._instanced?(r=o._index,s(r,a,c,f,x)):(r=o._index*4,s(r+0,a,c,f,x),s(r+1,a,c,f,x),s(r+2,a,c,f,x),s(r+3,a,c,f,x))}function ire(e,t,n,i,o){if(o.heightReference===We.CLAMP_TO_GROUND){let m=e._scene,A=t.context,x=t.globeTranslucencyState.translucent,C=u(m.globe)&&m.globe.depthTestAgainstTerrain;e._shaderClampToGround=A.depthTexture&&!x&&C}let r,s=i[yo.textureCoordinateBoundsOrLabelTranslate];if(Ft.maximumVertexTextureImageUnits>0){let m=0,A=0;u(o._labelTranslate)&&(m=o._labelTranslate.x,A=o._labelTranslate.y),e._instanced?(r=o._index,s(r,m,A,0,0)):(r=o._index*4,s(r+0,m,A,0,0),s(r+1,m,A,0,0),s(r+2,m,A,0,0),s(r+3,m,A,0,0));return}let a=0,c=0,l=0,f=0,d=o._imageIndex;if(d!==-1){let m=n[d];a=m.x,c=m.y,l=m.width,f=m.height}let p=a+l,g=c+f;e._instanced?(r=o._index,s(r,a,c,p,g)):(r=o._index*4,s(r+0,a,c,p,g),s(r+1,a,c,p,g),s(r+2,a,c,p,g),s(r+3,a,c,p,g))}function k4e(e,t,n,i,o){if(!u(e._batchTable))return;let r=i[yo.a_batchId],s=o._batchIndex,a;e._instanced?(a=o._index,r(a,s)):(a=o._index*4,r(a+0,s),r(a+1,s),r(a+2,s),r(a+3,s))}function ore(e,t,n,i,o){if(!e._sdf)return;let r,s=i[yo.sdf],a=o.outlineColor,c=o.outlineWidth,l=z.floatToByte(a.red),f=z.floatToByte(a.green),d=z.floatToByte(a.blue),p=l*QT+f*Lh+d,g=c/bs.RADIUS,m=z.floatToByte(a.alpha)*QT+z.floatToByte(g)*Lh;e._instanced?(r=o._index,s(r,p,m)):(r=o._index*4,s(r+0,p+Xoe,m),s(r+1,p+Koe,m),s(r+2,p+Zoe,m),s(r+3,p+Joe,m))}function z4e(e,t,n,i,o){Yoe(e,t,n,i,o),Qoe(e,t,n,i,o),$oe(e,t,n,i,o),f6(e,t,n,i,o),d6(e,t,n,i,o),ere(e,t,n,i,o),tre(e,t,n,i,o),nre(e,t,n,i,o),ire(e,t,n,i,o),k4e(e,t,n,i,o),ore(e,t,n,i,o)}function u6(e,t,n,i,o,r){let s;i.mode===te.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let l=t[c],f=l.position,d=lo._computeActualPosition(l,f,i,o);u(d)&&(l._setActualPosition(d),r?a.push(d):se.expand(s,d,s))}r&&se.fromPoints(a,s)}function H4e(e,t){let n=t.mode,i=e._billboards,o=e._billboardsToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==te.SCENE3D&&!M.equals(r,e.modelMatrix)?(e._mode=n,M.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===te.SCENE3D||n===te.SCENE2D||n===te.COLUMBUS_VIEW)&&u6(e,i,i.length,t,r,!0)):n===te.MORPHING?u6(e,i,i.length,t,r,!0):(n===te.SCENE2D||n===te.COLUMBUS_VIEW)&&u6(e,o,e._billboardsToUpdateIndex,t,r,!1)}function G4e(e,t,n){let i=1;(!e._allSizedInMeters||e._maxPixelOffset!==0)&&(i=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight));let o=i*e._maxScale*e._maxSize*2;e._allHorizontalCenter&&e._allVerticalCenter&&(o*=.5);let r=i*e._maxPixelOffset+e._maxEyeOffset;n.radius+=o+r}function W4e(e,t){let n=`uniform sampler2D billboard_texture; +in vec2 v_textureCoordinates; +void main() +{ + out_FragColor = texture(billboard_texture, v_textureCoordinates); +} +`,i=t.createViewportQuadCommand(n,{uniformMap:{billboard_texture:function(){return e._textureAtlas.texture}}});return i.pass=Ee.OVERLAY,i}var j4e=[];Qu.prototype.update=function(e){if(m6(this),!this.show)return;let t=this._billboards,n=t.length,i=e.context;this._instanced=i.instancedArrays,yo=this._instanced?O4e:P4e,a6=this._instanced?B4e:R4e;let o=this._textureAtlas;if(!u(o)){o=this._textureAtlas=new Vg({context:i});for(let O=0;O<n;++O)t[O]._loadImage()}let r=o.textureCoordinates;if(r.length===0)return;H4e(this,e),t=this._billboards,n=t.length;let s=this._billboardsToUpdate,a=this._billboardsToUpdateIndex,c=this._propertiesChanged,l=o.guid,f=this._createVertexArray||this._textureAtlasGUID!==l;this._textureAtlasGUID=l;let d,p=e.passes,g=p.pick;if(f||!g&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let O=0;O<h6;++O)c[O]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=L4e(i,n,this._buffersUsage,this._instanced,this._batchTable,this._sdf),d=this._vaf.writers;for(let O=0;O<n;++O){let L=this._billboards[O];L._dirty=!1,z4e(this,e,r,d,L)}this._vaf.commit(a6(i))}this._billboardsToUpdateIndex=0}else if(a>0){let O=j4e;O.length=0,(c[XO]||c[D4e]||c[S4e])&&O.push(Yoe),(c[qO]||c[Foe]||c[E4e]||c[b4e]||c[T4e])&&(O.push(Qoe),this._instanced&&O.push(d6)),(c[qO]||c[v4e]||c[zoe])&&(O.push($oe),O.push(f6)),(c[qO]||c[Uoe])&&O.push(f6),c[Voe]&&O.push(d6),c[koe]&&O.push(ere),c[Hoe]&&O.push(tre),(c[Goe]||c[w4e]||c[qO]||c[XO])&&O.push(nre),(c[qO]||c[XO])&&O.push(ire),c[Woe]&&O.push(ore);let L=O.length;if(d=this._vaf.writers,a/n>.1){for(let N=0;N<a;++N){let _=s[N];_._dirty=!1;for(let b=0;b<L;++b)O[b](this,e,r,d,_)}this._vaf.commit(a6(i))}else{for(let N=0;N<a;++N){let _=s[N];_._dirty=!1;for(let b=0;b<L;++b)O[b](this,e,r,d,_);this._instanced?this._vaf.subCommit(_._index,1):this._vaf.subCommit(_._index*4,4)}this._vaf.endSubCommits()}this._billboardsToUpdateIndex=0}if(a>n*1.5&&(s.length=n),!u(this._vaf)||!u(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,se.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let m,A=M.IDENTITY;e.mode===te.SCENE3D?(A=this.modelMatrix,m=se.clone(this._baseVolumeWC,this._boundingVolume)):m=se.clone(this._baseVolume2D,this._boundingVolume),G4e(this,e,m);let x=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,x){this._blendOption===To.OPAQUE||this._blendOption===To.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Ue.fromCache({depthTest:{enabled:!0,func:ee.LESS},depthMask:!0}):this._rsOpaque=void 0;let O=this._blendOption===To.TRANSLUCENT;this._blendOption===To.TRANSLUCENT||this._blendOption===To.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Ue.fromCache({depthTest:{enabled:!0,func:O?ee.LEQUAL:ee.LESS},depthMask:O,blending:un.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let C,T,E,S,D,w=Ft.maximumVertexTextureImageUnits>0;if(x||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){C=jO,T=WO,D=[],u(this._batchTable)&&(D.push("VECTOR_TILE"),C=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(C),T=this._batchTable.getFragmentShaderCallback(!1,void 0)(T)),E=new ke({defines:D,sources:[C]}),this._instanced&&E.defines.push("INSTANCED"),this._shaderRotation&&E.defines.push("ROTATION"),this._shaderAlignedAxis&&E.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&E.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&E.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&E.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&E.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&E.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(w?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK"));let O=1-bs.CUTOFF;this._sdf&&E.defines.push("SDF");let L=u(this._batchTable)?"VECTOR_TILE":"";this._blendOption===To.OPAQUE_AND_TRANSLUCENT&&(S=new ke({defines:["OPAQUE",L],sources:[T]}),this._shaderClampToGround&&(w?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${O}`)),this._sp=Xt.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:E,fragmentShaderSource:S,attributeLocations:yo}),S=new ke({defines:["TRANSLUCENT",L],sources:[T]}),this._shaderClampToGround&&(w?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${O}`)),this._spTranslucent=Xt.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:E,fragmentShaderSource:S,attributeLocations:yo})),this._blendOption===To.OPAQUE&&(S=new ke({defines:[L],sources:[T]}),this._shaderClampToGround&&(w?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${O}`)),this._sp=Xt.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:E,fragmentShaderSource:S,attributeLocations:yo})),this._blendOption===To.TRANSLUCENT&&(S=new ke({defines:[L],sources:[T]}),this._shaderClampToGround&&(w?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${O}`)),this._spTranslucent=Xt.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:E,fragmentShaderSource:S,attributeLocations:yo})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let R=e.commandList;if(p.render||p.pick){let O=this._colorCommands,L=this._blendOption===To.OPAQUE,N=this._blendOption===To.OPAQUE_AND_TRANSLUCENT,_=this._vaf.va,b=_.length,v=this._uniforms,I;u(this._batchTable)?(v=this._batchTable.getUniformMapCallback()(v),I=this._batchTable.getPickId()):I="v_pickColor",O.length=b;let B=N?b*2:b;for(let F=0;F<B;++F){let k=O[F];u(k)||(k=O[F]=new tt);let U=L||N&&F%2===0;k.pass=U||!N?Ee.OPAQUE:Ee.TRANSLUCENT,k.owner=this;let G=N?Math.floor(F/2):F;k.boundingVolume=m,k.modelMatrix=A,k.count=_[G].indicesCount,k.shaderProgram=U?this._sp:this._spTranslucent,k.uniformMap=v,k.vertexArray=_[G].va,k.renderState=U?this._rsOpaque:this._rsTranslucent,k.debugShowBoundingVolume=this.debugShowBoundingVolume,k.pickId=I,this._instanced&&(k.count=6,k.instanceCount=n),R.push(k)}this.debugShowTextureAtlas&&(u(this.debugCommand)||(this.debugCommand=W4e(this,e.context)),R.push(this.debugCommand))}};Qu.prototype.isDestroyed=function(){return!1};Qu.prototype.destroy=function(){return u(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),joe(this._billboards),le(this)};var Jl=Qu;function Y4e(e,t,n,i,o){return function(){let r=document.createElement("canvas"),s=o+2*i;r.height=r.width=s;let a=r.getContext("2d");return a.clearRect(0,0,s,s),i!==0&&(a.beginPath(),a.arc(s/2,s/2,s/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=n,a.fill(),e<1&&(a.save(),a.globalCompositeOperation="destination-out",a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle="black",a.fill(),a.restore())),a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=t,a.fill(),r}}var OA=Y4e;function Hs(e,t,n,i,o){this._content=e,this._billboard=n,this._label=i,this._polyline=o,this._batchId=t,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),$T(this)}var q4e=new he;Object.defineProperties(Hs.prototype,{show:{get:function(){return this._label.show},set:function(e){this._label.show=e,this._billboard.show=e,this._polyline.show=e}},color:{get:function(){return this._color},set:function(e){this._color=z.clone(e,this._color),$T(this)}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=e,$T(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=z.clone(e,this._pointOutlineColor),$T(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=e,$T(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(e){this._label.fillColor=e,this._polyline.show=this._label.show&&e.alpha>0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){u(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){let t=y(this._heightOffset,0),n=this._content.tileset.ellipsoid,i=n.cartesianToCartographic(this._billboard.position,q4e);i.height=i.height-t+e;let o=n.cartographicToCartesian(i);this._billboard.position=o,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],o],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=z.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){let t=this._billboardImage!==e;this._billboardImage=e,t&&$T(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}});Hs.defaultColor=z.WHITE;Hs.defaultPointOutlineColor=z.BLACK;Hs.defaultPointOutlineWidth=0;Hs.defaultPointSize=8;function $T(e){let t=e._billboard;if(u(e._billboardImage)&&e._billboardImage!==t.image){t.image=e._billboardImage;return}if(u(e._billboardImage))return;let n=y(e._color,Hs.defaultColor),i=y(e._pointOutlineColor,Hs.defaultPointOutlineColor),o=y(e._pointOutlineWidth,Hs.defaultPointOutlineWidth),r=y(e._pointSize,Hs.defaultPointSize),s=e._billboardColor,a=e._billboardOutlineColor,c=e._billboardOutlineWidth,l=e._billboardSize;if(z.equals(n,s)&&z.equals(i,a)&&o===c&&r===l)return;e._billboardColor=z.clone(n,e._billboardColor),e._billboardOutlineColor=z.clone(i,e._billboardOutlineColor),e._billboardOutlineWidth=o,e._billboardSize=r;let f=n.alpha,d=n.toCssColorString(),p=i.toCssColorString(),g=JSON.stringify([d,r,p,o]);t.setImage(g,OA(f,d,p,o,r))}Hs.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};Hs.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};Hs.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};Hs.prototype.getPropertyInherited=function(e){return xs.getPropertyInherited(this._content,this._batchId,e)};Hs.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};Hs.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};Hs.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};Hs.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var Rp=Hs;function X4e(e,t,n,i,o){let r=e.measureText(t);if(!!/\S/.test(t)){let a=document.defaultView.getComputedStyle(e.canvas).getPropertyValue("font-size").replace("px",""),c=document.createElement("canvas"),l=100,f=r.width+l|0,d=3*a,p=d/2;c.width=f,c.height=d;let g=c.getContext("2d");g.font=n,g.fillStyle="white",g.fillRect(0,0,c.width+1,c.height+1),i&&(g.strokeStyle="black",g.lineWidth=e.lineWidth,g.strokeText(t,l/2,p)),o&&(g.fillStyle="black",g.fillText(t,l/2,p));let m=g.getImageData(0,0,f,d).data,A=m.length,x=f*4,C,T,E,S;for(C=0;C<A;++C)if(m[C]!==255){E=C/x|0;break}for(C=A-1;C>=0;--C)if(m[C]!==255){S=C/x|0;break}let D=-1;for(C=0;C<f&&D===-1;++C)for(T=0;T<d;++T){let w=C*4+T*x;if(m[w]!==255||m[w+1]!==255||m[w+2]!==255||m[w+3]!==255){D=C;break}}return{width:r.width,height:S-E,ascent:p-E,descent:S-p,minx:D-l/2}}return{width:r.width,height:0,ascent:0,descent:0,minx:0}}var RA;function K4e(e,t){if(e==="")return;t=y(t,y.EMPTY_OBJECT);let n=y(t.font,"10px sans-serif"),i=y(t.stroke,!1),o=y(t.fill,!0),r=y(t.strokeWidth,1),s=y(t.backgroundColor,z.TRANSPARENT),a=y(t.padding,0),c=a*2,l=document.createElement("canvas");l.width=1,l.height=1,l.style.font=n;let f=l.getContext("2d");u(RA)||(u(f.imageSmoothingEnabled)?RA="imageSmoothingEnabled":u(f.mozImageSmoothingEnabled)?RA="mozImageSmoothingEnabled":u(f.webkitImageSmoothingEnabled)?RA="webkitImageSmoothingEnabled":u(f.msImageSmoothingEnabled)&&(RA="msImageSmoothingEnabled")),f.font=n,f.lineJoin="round",f.lineWidth=r,f[RA]=!1,l.style.visibility="hidden",document.body.appendChild(l);let d=X4e(f,e,n,i,o);l.dimensions=d,document.body.removeChild(l),l.style.visibility="";let p=-d.minx,g=Math.ceil(d.width)+p+c,m=d.height+c,A=m-d.ascent+a,x=m-A+c;if(l.width=g,l.height=m,f.font=n,f.lineJoin="round",f.lineWidth=r,f[RA]=!1,s!==z.TRANSPARENT&&(f.fillStyle=s.toCssColorString(),f.fillRect(0,0,l.width,l.height)),i){let C=y(t.strokeColor,z.BLACK);f.strokeStyle=C.toCssColorString(),f.strokeText(e,p+a,x)}if(o){let C=y(t.fillColor,z.WHITE);f.fillStyle=C.toCssColorString(),f.fillText(e,p+a,x)}return l}var BA=K4e;var pre=vo(cre(),1);var J4e={FILL:0,OUTLINE:1,FILL_AND_OUTLINE:2},No=Object.freeze(J4e);var lre={},ure=0,Q4e=256,$4e=new z(.165,.165,.165,.8),eHe=new H(7,5),ts=Object.freeze({LTR:0,RTL:1,WEAK:2,BRACKETS:3});function MA(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function ZO(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}function JO(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)}function dre(e){let t=lre[e._font];if(!u(t)){let n=document.createElement("div");n.style.position="absolute",n.style.opacity=0,n.style.font=e._font,document.body.appendChild(n);let i=parseFloat(JO(n,"line-height"));isNaN(i)&&(i=void 0),t={family:JO(n,"font-family"),size:JO(n,"font-size").replace("px",""),style:JO(n,"font-style"),weight:JO(n,"font-weight"),lineHeight:i},document.body.removeChild(n),ure<Q4e&&(lre[e._font]=t,ure++)}e._fontFamily=t.family,e._fontSize=t.size,e._fontStyle=t.style,e._fontWeight=t.weight,e._lineHeight=t.lineHeight}function Bp(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;u(n)&&(n=Pt.clone(n)),u(i)&&(i=Pt.clone(i)),u(o)&&(o=Pt.clone(o)),u(r)&&(r=bt.clone(r)),this._renderedText=void 0,this._text=void 0,this._show=y(e.show,!0),this._font=y(e.font,"30px sans-serif"),this._fillColor=z.clone(y(e.fillColor,z.WHITE)),this._outlineColor=z.clone(y(e.outlineColor,z.BLACK)),this._outlineWidth=y(e.outlineWidth,1),this._showBackground=y(e.showBackground,!1),this._backgroundColor=z.clone(y(e.backgroundColor,$4e)),this._backgroundPadding=H.clone(y(e.backgroundPadding,eHe)),this._style=y(e.style,No.FILL),this._verticalOrigin=y(e.verticalOrigin,On.BASELINE),this._horizontalOrigin=y(e.horizontalOrigin,_i.LEFT),this._pixelOffset=H.clone(y(e.pixelOffset,H.ZERO)),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._position=h.clone(y(e.position,h.ZERO)),this._scale=y(e.scale,1),this._id=e.id,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._scaleByDistance=o,this._heightReference=y(e.heightReference,We.NONE),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._labelCollection=t,this._glyphs=[],this._backgroundBillboard=void 0,this._batchIndex=void 0,this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0,this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=void 0,this._clusterShow=!0,this.text=y(e.text,""),this._relativeSize=1,dre(this),this._updateClamping()}Object.defineProperties(Bp.prototype,{show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;u(r)&&(r.show=e)}let n=this._backgroundBillboard;u(n)&&(n.show=e)}}},position:{get:function(){return this._position},set:function(e){let t=this._position;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o].billboard;u(s)&&(s.position=e)}let i=this._backgroundBillboard;u(i)&&(i.position=e),this._updateClamping()}}},heightReference:{get:function(){return this._heightReference},set:function(e){if(e!==this._heightReference){this._heightReference=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;u(r)&&(r.heightReference=e)}let n=this._backgroundBillboard;u(n)&&(n.heightReference=e),ZO(this),this._updateClamping()}}},text:{get:function(){return this._text},set:function(e){if(this._text!==e){this._text=e;let t=e.replace(/\u00ad/g,"");this._renderedText=Bp.enableRightToLeftDetection?sHe(t):t,MA(this)}}},font:{get:function(){return this._font},set:function(e){this._font!==e&&(this._font=e,MA(this),dre(this))}},fillColor:{get:function(){return this._fillColor},set:function(e){let t=this._fillColor;z.equals(t,e)||(z.clone(e,t),MA(this))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;z.equals(t,e)||(z.clone(e,t),MA(this))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,MA(this))}},showBackground:{get:function(){return this._showBackground},set:function(e){this._showBackground!==e&&(this._showBackground=e,MA(this))}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){let t=this._backgroundColor;if(!z.equals(t,e)){z.clone(e,t);let n=this._backgroundBillboard;u(n)&&(n.color=t)}}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){let t=this._backgroundPadding;H.equals(t,e)||(H.clone(e,t),ZO(this))}},style:{get:function(){return this._style},set:function(e){this._style!==e&&(this._style=e,MA(this))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;if(!H.equals(t,e)){H.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];u(s.billboard)&&(s.billboard.pixelOffset=e)}let i=this._backgroundBillboard;u(i)&&(i.pixelOffset=e)}}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;if(!Pt.equals(t,e)){this._translucencyByDistance=Pt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];u(s.billboard)&&(s.billboard.translucencyByDistance=e)}let i=this._backgroundBillboard;u(i)&&(i.translucencyByDistance=e)}}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;if(!Pt.equals(t,e)){this._pixelOffsetScaleByDistance=Pt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];u(s.billboard)&&(s.billboard.pixelOffsetScaleByDistance=e)}let i=this._backgroundBillboard;u(i)&&(i.pixelOffsetScaleByDistance=e)}}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;if(!Pt.equals(t,e)){this._scaleByDistance=Pt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];u(s.billboard)&&(s.billboard.scaleByDistance=e)}let i=this._backgroundBillboard;u(i)&&(i.scaleByDistance=e)}}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];u(s.billboard)&&(s.billboard.eyeOffset=e)}let i=this._backgroundBillboard;u(i)&&(i.eyeOffset=e)}}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,ZO(this))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){if(this._verticalOrigin!==e){this._verticalOrigin=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];u(r.billboard)&&(r.billboard.verticalOrigin=e)}let n=this._backgroundBillboard;u(n)&&(n.verticalOrigin=e),ZO(this)}}},scale:{get:function(){return this._scale},set:function(e){if(this._scale!==e){this._scale=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];u(r.billboard)&&(r.billboard.scale=e*this._relativeSize)}let n=this._backgroundBillboard;u(n)&&(n.scale=e*this._relativeSize),ZO(this)}}},totalScale:{get:function(){return this._scale*this._relativeSize}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(!bt.equals(e,this._distanceDisplayCondition)){this._distanceDisplayCondition=bt.clone(e,this._distanceDisplayCondition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];u(r.billboard)&&(r.billboard.distanceDisplayCondition=e)}let n=this._backgroundBillboard;u(n)&&(n.distanceDisplayCondition=e)}}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(this._disableDepthTestDistance!==e){this._disableDepthTestDistance=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];u(r.billboard)&&(r.billboard.disableDepthTestDistance=e)}let n=this._backgroundBillboard;u(n)&&(n.disableDepthTestDistance=e)}}},id:{get:function(){return this._id},set:function(e){if(this._id!==e){this._id=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];u(r.billboard)&&(r.billboard.id=e)}let n=this._backgroundBillboard;u(n)&&(n.id=e)}}},pickId:{get:function(){if(!(this._glyphs.length===0||!u(this._glyphs[0].billboard)))return this._glyphs[0].billboard.pickId}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];u(r.billboard)&&(r.billboard._clampedPosition=e)}let n=this._backgroundBillboard;u(n)&&(n._clampedPosition=e)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){if(this._clusterShow!==e){this._clusterShow=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];u(r.billboard)&&(r.billboard.clusterShow=e)}let n=this._backgroundBillboard;u(n)&&(n.clusterShow=e)}}}});Bp.prototype._updateClamping=function(){lo._updateClamping(this._labelCollection,this)};Bp.prototype.computeScreenSpacePosition=function(e,t){u(t)||(t=new H);let i=this._labelCollection.modelMatrix,o=u(this._actualClampedPosition)?this._actualClampedPosition:this._position;return lo._computeScreenSpacePosition(i,o,this._eyeOffset,this._pixelOffset,e,t)};Bp.getScreenSpaceBoundingBox=function(e,t,n){let i=0,o=0,r=0,s=0,a=e.totalScale,c=e._backgroundBillboard;if(u(c))i=t.x+c._translate.x,o=t.y-c._translate.y,r=c.width*a,s=c.height*a,e.verticalOrigin===On.BOTTOM||e.verticalOrigin===On.BASELINE?o-=s:e.verticalOrigin===On.CENTER&&(o-=s*.5);else{i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;let l=0,f=0,d=e._glyphs,p=d.length;for(let g=0;g<p;++g){let m=d[g],A=m.billboard;if(!u(A))continue;let x=t.x+A._translate.x,C=t.y-A._translate.y,T=m.dimensions.width*a,E=m.dimensions.height*a;e.verticalOrigin===On.BOTTOM||e.verticalOrigin===On.BASELINE?C-=E:e.verticalOrigin===On.CENTER&&(C-=E*.5),e._verticalOrigin===On.TOP?C+=bs.PADDING*a:(e._verticalOrigin===On.BOTTOM||e._verticalOrigin===On.BASELINE)&&(C-=bs.PADDING*a),i=Math.min(i,x),o=Math.min(o,C),l=Math.max(l,x+T),f=Math.max(f,C+E)}r=l-i,s=f-o}return u(n)||(n=new Ye),n.x=i,n.y=o,n.width=r,n.height=s,n};Bp.prototype.equals=function(e){return this===e||u(e)&&this._show===e._show&&this._scale===e._scale&&this._outlineWidth===e._outlineWidth&&this._showBackground===e._showBackground&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&this._renderedText===e._renderedText&&this._font===e._font&&h.equals(this._position,e._position)&&z.equals(this._fillColor,e._fillColor)&&z.equals(this._outlineColor,e._outlineColor)&&z.equals(this._backgroundColor,e._backgroundColor)&&H.equals(this._backgroundPadding,e._backgroundPadding)&&H.equals(this._pixelOffset,e._pixelOffset)&&h.equals(this._eyeOffset,e._eyeOffset)&&Pt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Pt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&Pt.equals(this._scaleByDistance,e._scaleByDistance)&&bt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._id===e._id};Bp.prototype.isDestroyed=function(){return!1};Bp.enableRightToLeftDetection=!1;function tHe(e,t){let n=/[a-zA-Z0-9]/,i=/[()[\]{}<>]/,o=[],r="",s=ts.LTR,a="",c=e.length;for(let l=0;l<c;++l){let f=e.charAt(l);t.test(f)?a=ts.RTL:n.test(f)?a=ts.LTR:i.test(f)?a=ts.BRACKETS:a=ts.WEAK,l===0&&(s=a),s===a&&a!==ts.BRACKETS?r+=f:(r!==""&&o.push({Type:s,Word:r}),s=a,r=f)}return o.push({Type:a,Word:r}),o}function nHe(e){return e.split("").reverse().join("")}function QO(e,t,n){return e.slice(0,t)+n+e.slice(t)}function iHe(e){switch(e){case"(":return")";case")":return"(";case"[":return"]";case"]":return"[";case"{":return"}";case"}":return"{";case"<":return">";case">":return"<"}}var oHe="\u05D0-\u05EA",rHe="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",fre=new RegExp(`[${oHe}${rHe}]`);function sHe(e){let t=e.split(` +`),n="";for(let i=0;i<t.length;i++){let o=t[i],r=fre.test(o.charAt(0)),s=tHe(o,fre),a=0,c="";for(let l=0;l<s.length;++l){let f=s[l],d=f.Type===ts.BRACKETS?iHe(f.Word):nHe(f.Word);r?f.Type===ts.RTL?(c=d+c,a=0):f.Type===ts.LTR?(c=QO(c,a,f.Word),a+=f.Word.length):(f.Type===ts.WEAK||f.Type===ts.BRACKETS)&&(f.Type===ts.WEAK&&s[l-1].Type===ts.BRACKETS?c=d+c:s[l-1].Type===ts.RTL?(c=d+c,a=0):s.length>l+1?s[l+1].Type===ts.RTL?(c=d+c,a=0):(c=QO(c,a,f.Word),a+=f.Word.length):c=QO(c,0,d)):f.Type===ts.RTL?c=QO(c,a,d):f.Type===ts.LTR?(c+=f.Word,a=c.length):(f.Type===ts.WEAK||f.Type===ts.BRACKETS)&&(l>0&&s[l-1].Type===ts.RTL?s.length>l+1?s[l+1].Type===ts.RTL?c=QO(c,a,d):(c+=f.Word,a=c.length):c+=f.Word:(c+=f.Word,a=c.length))}n+=c,i<t.length-1&&(n+=` +`)}return n}var Ug=Bp;var _re=vo(hre(),1);function cHe(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function lHe(e,t,n){this.labelCollection=e,this.index=t,this.dimensions=n}var uHe=1.2,gre="ID_WHITE_PIXEL",p6=new H(4,4),fHe=new Ye(1,1,1,1);function dHe(e){let t=document.createElement("canvas");t.width=p6.x,t.height=p6.y;let n=t.getContext("2d");n.fillStyle="#fff",n.fillRect(0,0,t.width,t.height),e.addImage(gre,t)}var $u={};function hHe(e,t,n,i,o,r,s){return $u.font=t,$u.fillColor=n,$u.strokeColor=i,$u.strokeWidth=o,$u.padding=bs.PADDING,s===On.CENTER?$u.textBaseline="middle":s===On.TOP?$u.textBaseline="top":$u.textBaseline="bottom",$u.fill=r===No.FILL||r===No.FILL_AND_OUTLINE,$u.stroke=r===No.OUTLINE||r===No.FILL_AND_OUTLINE,$u.backgroundColor=z.BLACK,BA(e,$u)}function _6(e,t){t.textureInfo=void 0,t.dimensions=void 0;let n=t.billboard;u(n)&&(n.show=!1,n.image=void 0,u(n._removeCallbackFunc)&&(n._removeCallbackFunc(),n._removeCallbackFunc=void 0),e._spareBillboards.push(n),t.billboard=void 0)}function mHe(e,t,n,i){i.index=e.addImageSync(t,n)}var pHe=new _re.default;function _He(e,t){let n=t._renderedText,i=pHe.splitGraphemes(n),o=i.length,r=t._glyphs,s=r.length,a,c,l;if(t._relativeSize=t._fontSize/bs.FONT_SIZE,o<s)for(c=o;c<s;++c)_6(e,r[c]);r.length=o;let f=t._showBackground&&n.split(` +`).join("").length>0,d=t._backgroundBillboard,p=e._backgroundBillboardCollection;f?(u(d)||(d=p.add({collection:e,image:gre,imageSubRegion:fHe}),t._backgroundBillboard=d),d.color=t._backgroundColor,d.show=t._show,d.position=t._position,d.eyeOffset=t._eyeOffset,d.pixelOffset=t._pixelOffset,d.horizontalOrigin=_i.LEFT,d.verticalOrigin=t._verticalOrigin,d.heightReference=t._heightReference,d.scale=t.totalScale,d.pickPrimitive=t,d.id=t._id,d.translucencyByDistance=t._translucencyByDistance,d.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,d.scaleByDistance=t._scaleByDistance,d.distanceDisplayCondition=t._distanceDisplayCondition,d.disableDepthTestDistance=t._disableDepthTestDistance):u(d)&&(p.remove(d),t._backgroundBillboard=d=void 0);let g=e._glyphTextureCache;for(l=0;l<o;++l){let m=i[l],A=t._verticalOrigin,x=JSON.stringify([m,t._fontFamily,t._fontStyle,t._fontWeight,+A]),C=g[x];if(!u(C)){let T=`${t._fontStyle} ${t._fontWeight} ${bs.FONT_SIZE}px ${t._fontFamily}`,E=hHe(m,T,z.WHITE,z.WHITE,0,No.FILL,A);if(C=new lHe(e,-1,E.dimensions),g[x]=C,E.width>0&&E.height>0){let S=(0,pre.default)(E,{cutoff:bs.CUTOFF,radius:bs.RADIUS}),D=E.getContext("2d"),w=E.width,R=E.height,O=D.getImageData(0,0,w,R);for(let L=0;L<w;L++)for(let N=0;N<R;N++){let _=N*w+L,b=S[_]*255,v=_*4;O.data[v+0]=b,O.data[v+1]=b,O.data[v+2]=b,O.data[v+3]=b}D.putImageData(O,0,0),m!==" "&&mHe(e._textureAtlas,x,E,C)}}if(a=r[l],u(a)?C.index===-1?_6(e,a):u(a.textureInfo)&&(a.textureInfo=void 0):(a=new cHe,r[l]=a),a.textureInfo=C,a.dimensions=C.dimensions,C.index!==-1){let T=a.billboard,E=e._spareBillboards;u(T)||(E.length>0?T=E.pop():(T=e._billboardCollection.add({collection:e}),T._labelDimensions=new H,T._labelTranslate=new H),a.billboard=T),T.show=t._show,T.position=t._position,T.eyeOffset=t._eyeOffset,T.pixelOffset=t._pixelOffset,T.horizontalOrigin=_i.LEFT,T.verticalOrigin=t._verticalOrigin,T.heightReference=t._heightReference,T.scale=t.totalScale,T.pickPrimitive=t,T.id=t._id,T.image=x,T.translucencyByDistance=t._translucencyByDistance,T.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,T.scaleByDistance=t._scaleByDistance,T.distanceDisplayCondition=t._distanceDisplayCondition,T.disableDepthTestDistance=t._disableDepthTestDistance,T._batchIndex=t._batchIndex,T.outlineColor=t.outlineColor,t.style===No.FILL_AND_OUTLINE?(T.color=t._fillColor,T.outlineWidth=t.outlineWidth):t.style===No.FILL?(T.color=t._fillColor,T.outlineWidth=0):t.style===No.OUTLINE&&(T.color=z.TRANSPARENT,T.outlineWidth=t.outlineWidth)}}t._repositionAllGlyphs=!0}function mre(e,t,n){return t===_i.CENTER?-e/2:t===_i.RIGHT?-(e+n.x):n.x}var sr=new H,gHe=new H;function yHe(e){let t=e._glyphs,n=e._renderedText,i,o,r=0,s=0,a=[],c=Number.NEGATIVE_INFINITY,l=0,f=1,d,p=t.length,g=e._backgroundBillboard,m=H.clone(u(g)?e._backgroundPadding:H.ZERO,gHe);for(m.x/=e._relativeSize,m.y/=e._relativeSize,d=0;d<p;++d)n.charAt(d)===` +`?(a.push(r),++f,r=0):(i=t[d],o=i.dimensions,l=Math.max(l,o.height-o.descent),c=Math.max(c,o.descent),r+=o.width-o.minx,d<p-1&&(r+=t[d+1].dimensions.minx),s=Math.max(s,r));a.push(r);let A=l+c,x=e.totalScale,C=e._horizontalOrigin,T=e._verticalOrigin,E=0,S=a[E],D=mre(S,C,m),w=(u(e._lineHeight)?e._lineHeight:uHe*e._fontSize)/e._relativeSize,R=w*(f-1),O=s,L=A+R;u(g)&&(O+=m.x*2,L+=m.y*2,g._labelHorizontalOrigin=C),sr.x=D*x,sr.y=0;let N=!0,_=0;for(d=0;d<p;++d)if(n.charAt(d)===` +`)++E,_+=w,S=a[E],D=mre(S,C,m),sr.x=D*x,N=!0;else if(i=t[d],o=i.dimensions,T===On.TOP?(sr.y=o.height-l-m.y,sr.y+=bs.PADDING):T===On.CENTER?sr.y=(R+o.height-l)/2:T===On.BASELINE?(sr.y=R,sr.y-=bs.PADDING):(sr.y=R+c+m.y,sr.y-=bs.PADDING),sr.y=(sr.y-o.descent-_)*x,N&&(sr.x-=bs.PADDING*x,N=!1),u(i.billboard)&&(i.billboard._setTranslate(sr),i.billboard._labelDimensions.x=O,i.billboard._labelDimensions.y=L,i.billboard._labelHorizontalOrigin=C),d<p-1){let b=t[d+1];sr.x+=(o.width-o.minx+b.dimensions.minx)*x}if(u(g)&&n.split(` +`).join("").length>0&&(C===_i.CENTER?D=-s/2-m.x:C===_i.RIGHT?D=-(s+m.x*2):D=0,sr.x=D*x,T===On.TOP?sr.y=A-l-c:T===On.CENTER?sr.y=(A-l)/2-c:T===On.BASELINE?sr.y=-m.y-c:sr.y=0,sr.y=sr.y*x,g.width=O,g.height=L,g._setTranslate(sr),g._labelTranslate=H.clone(sr,g._labelTranslate)),e.heightReference===We.CLAMP_TO_GROUND)for(d=0;d<p;++d){i=t[d];let b=i.billboard;u(b)&&(b._labelTranslate=H.clone(sr,b._labelTranslate))}}function yre(e,t){let n=t._glyphs;for(let i=0,o=n.length;i<o;++i)_6(e,n[i]);u(t._backgroundBillboard)&&(e._backgroundBillboardCollection.remove(t._backgroundBillboard),t._backgroundBillboard=void 0),t._labelCollection=void 0,u(t._removeCallbackFunc)&&t._removeCallbackFunc(),le(t)}function Nh(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._backgroundTextureAtlas=void 0,this._backgroundBillboardCollection=new Jl({scene:this._scene}),this._backgroundBillboardCollection.destroyTextureAtlas=!1,this._billboardCollection=new Jl({scene:this._scene,batchTable:this._batchTable}),this._billboardCollection.destroyTextureAtlas=!1,this._billboardCollection._sdf=!0,this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this._highlightColor=z.clone(z.WHITE),this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,To.OPAQUE_AND_TRANSLUCENT)}Object.defineProperties(Nh.prototype,{length:{get:function(){return this._labels.length}}});Nh.prototype.add=function(e){let t=new Ug(e,this);return this._labels.push(t),this._labelsToUpdate.push(t),t};Nh.prototype.remove=function(e){if(u(e)&&e._labelCollection===this){let t=this._labels.indexOf(e);if(t!==-1)return this._labels.splice(t,1),yre(this,e),!0}return!1};Nh.prototype.removeAll=function(){let e=this._labels;for(let t=0,n=e.length;t<n;++t)yre(this,e[t]);e.length=0};Nh.prototype.contains=function(e){return u(e)&&e._labelCollection===this};Nh.prototype.get=function(e){return this._labels[e]};Nh.prototype.update=function(e){if(!this.show)return;let t=this._billboardCollection,n=this._backgroundBillboardCollection;t.modelMatrix=this.modelMatrix,t.debugShowBoundingVolume=this.debugShowBoundingVolume,n.modelMatrix=this.modelMatrix,n.debugShowBoundingVolume=this.debugShowBoundingVolume;let i=e.context;u(this._textureAtlas)||(this._textureAtlas=new Vg({context:i}),t.textureAtlas=this._textureAtlas),u(this._backgroundTextureAtlas)||(this._backgroundTextureAtlas=new Vg({context:i,initialSize:p6}),n.textureAtlas=this._backgroundTextureAtlas,dHe(this._backgroundTextureAtlas));let o=this._labelsToUpdate.length;for(let s=0;s<o;++s){let a=this._labelsToUpdate[s];if(a.isDestroyed())continue;let c=a._glyphs.length;a._rebindAllGlyphs&&(_He(this,a),a._rebindAllGlyphs=!1),a._repositionAllGlyphs&&(yHe(a),a._repositionAllGlyphs=!1);let l=a._glyphs.length-c;this._totalGlyphCount+=l}let r=n.length>0?To.TRANSLUCENT:this.blendOption;t.blendOption=r,n.blendOption=r,t._highlightColor=this._highlightColor,n._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,n.update(e),t.update(e)};Nh.prototype.isDestroyed=function(){return!1};Nh.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),le(this)};var Fh=Nh;var $O=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec3 position2DHigh; +in vec3 position2DLow; +in vec3 prevPosition3DHigh; +in vec3 prevPosition3DLow; +in vec3 prevPosition2DHigh; +in vec3 prevPosition2DLow; +in vec3 nextPosition3DHigh; +in vec3 nextPosition3DLow; +in vec3 nextPosition2DHigh; +in vec3 nextPosition2DLow; +in vec4 texCoordExpandAndBatchIndex; + +out vec2 v_st; +out float v_width; +out vec4 v_pickColor; +out float v_polylineAngle; + +void main() +{ + float texCoord = texCoordExpandAndBatchIndex.x; + float expandDir = texCoordExpandAndBatchIndex.y; + bool usePrev = texCoordExpandAndBatchIndex.z < 0.0; + float batchTableIndex = texCoordExpandAndBatchIndex.w; + + vec2 widthAndShow = batchTable_getWidthAndShow(batchTableIndex); + float width = widthAndShow.x + 0.5; + float show = widthAndShow.y; + + if (width < 1.0) + { + show = 0.0; + } + + vec4 pickColor = batchTable_getPickColor(batchTableIndex); + + vec4 p, prev, next; + if (czm_morphTime == 1.0) + { + p = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz); + prev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz); + next = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz); + } + else if (czm_morphTime == 0.0) + { + p = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy); + prev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy); + next = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy); + } + else + { + p = czm_columbusViewMorph( + czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy), + czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz), + czm_morphTime); + prev = czm_columbusViewMorph( + czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy), + czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz), + czm_morphTime); + next = czm_columbusViewMorph( + czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy), + czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz), + czm_morphTime); + } + + #ifdef DISTANCE_DISPLAY_CONDITION + vec3 centerHigh = batchTable_getCenterHigh(batchTableIndex); + vec4 centerLowAndRadius = batchTable_getCenterLowAndRadius(batchTableIndex); + vec3 centerLow = centerLowAndRadius.xyz; + float radius = centerLowAndRadius.w; + vec2 distanceDisplayCondition = batchTable_getDistanceDisplayCondition(batchTableIndex); + + float lengthSq; + if (czm_sceneMode == czm_sceneMode2D) + { + lengthSq = czm_eyeHeight2D.y; + } + else + { + vec4 center = czm_translateRelativeToEye(centerHigh.xyz, centerLow.xyz); + lengthSq = max(0.0, dot(center.xyz, center.xyz) - radius * radius); + } + + float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x; + float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y; + if (lengthSq < nearSq || lengthSq > farSq) + { + show = 0.0; + } + #endif + + float polylineAngle; + vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle); + gl_Position = czm_viewportOrthographic * positionWC * show; + + v_st.s = texCoord; + v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w); + + v_width = width; + v_pickColor = pickColor; + v_polylineAngle = polylineAngle; +} +`;var Oc={};Oc.numberOfPoints=function(e,t,n){let i=h.distance(e,t);return Math.ceil(i/n)};Oc.numberOfPointsRhumbLine=function(e,t,n){let i=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(i/(n*n))))};var AHe=new he;Oc.extractHeights=function(e,t){let n=e.length,i=new Array(n);for(let o=0;o<n;o++){let r=e[o];i[o]=t.cartesianToCartographic(r,AHe).height}return i};var xHe=new M,CHe=new h,Are=new h,THe=new cn(h.UNIT_X,0),xre=new h,EHe=new cn(h.UNIT_X,0),bHe=new h,SHe=new h,y6=[];function Tre(e,t,n){let i=y6;i.length=e;let o;if(t===n){for(o=0;o<e;o++)i[o]=t;return i}let s=(n-t)/e;for(o=0;o<e;o++){let a=t+o*s;i[o]=a}return i}var rU=new he,oU=new he,kg=new h,A6=new h,DHe=new h,g6=new Gu,eR=new la;function vHe(e,t,n,i,o,r,s,a){let c=i.scaleToGeodeticSurface(e,A6),l=i.scaleToGeodeticSurface(t,DHe),f=Oc.numberOfPoints(e,t,n),d=i.cartesianToCartographic(c,rU),p=i.cartesianToCartographic(l,oU),g=Tre(f,o,r);g6.setEndPoints(d,p);let m=g6.surfaceDistance/f,A=a;d.height=o;let x=i.cartographicToCartesian(d,kg);h.pack(x,s,A),A+=3;for(let C=1;C<f;C++){let T=g6.interpolateUsingSurfaceDistance(C*m,oU);T.height=g[C],x=i.cartographicToCartesian(T,kg),h.pack(x,s,A),A+=3}return A}function wHe(e,t,n,i,o,r,s,a){let c=i.cartesianToCartographic(e,rU),l=i.cartesianToCartographic(t,oU),f=Oc.numberOfPointsRhumbLine(c,l,n);c.height=0,l.height=0;let d=Tre(f,o,r);eR.ellipsoid.equals(i)||(eR=new la(void 0,void 0,i)),eR.setEndPoints(c,l);let p=eR.surfaceDistance/f,g=a;c.height=o;let m=i.cartographicToCartesian(c,kg);h.pack(m,s,g),g+=3;for(let A=1;A<f;A++){let x=eR.interpolateUsingSurfaceDistance(A*p,oU);x.height=d[A],m=i.cartographicToCartesian(x,kg),h.pack(m,s,g),g+=3}return g}Oc.wrapLongitude=function(e,t){let n=[],i=[];if(u(e)&&e.length>0){t=y(t,M.IDENTITY);let o=M.inverseTransformation(t,xHe),r=M.multiplyByPoint(o,h.ZERO,CHe),s=h.normalize(M.multiplyByPointAsVector(o,h.UNIT_Y,Are),Are),a=cn.fromPointNormal(r,s,THe),c=h.normalize(M.multiplyByPointAsVector(o,h.UNIT_X,xre),xre),l=cn.fromPointNormal(r,c,EHe),f=1;n.push(h.clone(e[0]));let d=n[0],p=e.length;for(let g=1;g<p;++g){let m=e[g];if(cn.getPointDistance(l,d)<0||cn.getPointDistance(l,m)<0){let A=Yi.lineSegmentPlane(d,m,a,bHe);if(u(A)){let x=h.multiplyByScalar(s,5e-9,SHe);cn.getPointDistance(a,d)<0&&h.negate(x,x),n.push(h.add(A,x,new h)),i.push(f+1),h.negate(x,x),n.push(h.add(A,x,new h)),f=1}}n.push(h.clone(e[g])),f++,d=m}i.push(f)}return{positions:n,lengths:i}};Oc.generateArc=function(e){u(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ie.WGS84),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let A=i.scaleToGeodeticSurface(t[0],A6);if(o=r?o[0]:o,o!==0){let x=i.geodeticSurfaceNormal(A,kg);h.multiplyByScalar(x,o,x),h.add(A,x,A)}return[A.x,A.y,A.z]}let s=e.minDistance;if(!u(s)){let A=y(e.granularity,P.RADIANS_PER_DEGREE);s=P.chordLength(A,i.maximumRadius)}let a=0,c;for(c=0;c<n-1;c++)a+=Oc.numberOfPoints(t[c],t[c+1],s);let l=(a+1)*3,f=new Array(l),d=0;for(c=0;c<n-1;c++){let A=t[c],x=t[c+1],C=r?o[c]:o,T=r?o[c+1]:o;d=vHe(A,x,s,i,C,T,f,d)}y6.length=0;let p=t[n-1],g=i.cartesianToCartographic(p,rU);g.height=r?o[n-1]:o;let m=i.cartographicToCartesian(g,kg);return h.pack(m,f,l-3),f};var Cre=new he,IHe=new he;Oc.generateRhumbArc=function(e){u(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ie.WGS84),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let C=i.scaleToGeodeticSurface(t[0],A6);if(o=r?o[0]:o,o!==0){let T=i.geodeticSurfaceNormal(C,kg);h.multiplyByScalar(T,o,T),h.add(C,T,C)}return[C.x,C.y,C.z]}let s=y(e.granularity,P.RADIANS_PER_DEGREE),a=0,c,l=i.cartesianToCartographic(t[0],Cre),f;for(c=0;c<n-1;c++)f=i.cartesianToCartographic(t[c+1],IHe),a+=Oc.numberOfPointsRhumbLine(l,f,s),l=he.clone(f,Cre);let d=(a+1)*3,p=new Array(d),g=0;for(c=0;c<n-1;c++){let C=t[c],T=t[c+1],E=r?o[c]:o,S=r?o[c+1]:o;g=wHe(C,T,s,i,E,S,p,g)}y6.length=0;let m=t[n-1],A=i.cartesianToCartographic(m,rU);A.height=r?o[n-1]:o;let x=i.cartographicToCartesian(A,kg);return h.pack(x,p,d-3),p};Oc.generateCartesianArc=function(e){let t=Oc.generateArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};Oc.generateCartesianRhumbArc=function(e){let t=Oc.generateRhumbArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};var Di=Oc;function Ql(e,t){e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._width=y(e.width,1),this._loop=y(e.loop,!1),this._distanceDisplayCondition=e.distanceDisplayCondition,this._material=e.material,u(this._material)||(this._material=Vi.fromType(Vi.ColorType,{color:new z(1,1,1,1)}));let n=e.positions;u(n)||(n=[]),this._positions=n,this._actualPositions=go(n,h.equalsEpsilon),this._loop&&this._actualPositions.length>2&&(this._actualPositions===this._positions&&(this._actualPositions=n.slice()),this._actualPositions.push(h.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id;let i;u(t)&&(i=M.clone(t.modelMatrix)),this._modelMatrix=i,this._segments=Di.wrapLongitude(this._actualPositions,i),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(bre),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=se.fromPoints(this._actualPositions),this._boundingVolumeWC=se.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new se}var Ere=Ql.POSITION_INDEX=0,PHe=Ql.SHOW_INDEX=1,OHe=Ql.WIDTH_INDEX=2,RHe=Ql.MATERIAL_INDEX=3,tR=Ql.POSITION_SIZE_INDEX=4,BHe=Ql.DISTANCE_DISPLAY_CONDITION=5,bre=Ql.NUMBER_OF_PROPERTIES=6;function Mp(e,t){++e._propertiesChanged[t];let n=e._polylineCollection;u(n)&&(n._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(Ql.prototype,{show:{get:function(){return this._show},set:function(e){e!==this._show&&(this._show=e,Mp(this,PHe))}},positions:{get:function(){return this._positions},set:function(e){let t=go(e,h.equalsEpsilon);this._loop&&t.length>2&&(t===e&&(t=e.slice()),t.push(h.clone(t[0]))),(this._actualPositions.length!==t.length||this._actualPositions.length!==this._length)&&Mp(this,tR),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=se.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=se.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),Mp(this,Ere),this.update()}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,Mp(this,RHe))}},width:{get:function(){return this._width},set:function(e){let t=this._width;e!==t&&(this._width=e,Mp(this,OHe))}},loop:{get:function(){return this._loop},set:function(e){if(e!==this._loop){let t=this._actualPositions;e?t.length>2&&!h.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(h.clone(t[0]))):t.length>2&&h.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,Mp(this,tR)}}},id:{get:function(){return this._id},set:function(e){this._id=e,u(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!u(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){bt.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=bt.clone(e,this._distanceDisplayCondition),Mp(this,BHe))}}});Ql.prototype.update=function(){let e=M.IDENTITY;u(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);let t=this._segments.positions.length,n=this._segments.lengths,i=this._propertiesChanged[Ere]>0||this._propertiesChanged[tR]>0;if((!M.equals(e,this._modelMatrix)||i)&&(this._segments=Di.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=se.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=M.clone(e,this._modelMatrix),this._segments.positions.length!==t)Mp(this,tR);else{let o=n.length;for(let r=0;r<o;++r)if(n[r]!==this._segments.lengths[r]){Mp(this,tR);break}}};Ql.prototype.getPickId=function(e){return u(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._polylineCollection,id:this._id})),this._pickId};Ql.prototype._clean=function(){this._dirty=!1;let e=this._propertiesChanged;for(let t=0;t<bre-1;++t)e[t]=0};Ql.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0};var ef=Ql;var MHe=ef.SHOW_INDEX,LHe=ef.WIDTH_INDEX,C6=ef.POSITION_INDEX,NHe=ef.MATERIAL_INDEX,Sre=ef.POSITION_SIZE_INDEX,FHe=ef.DISTANCE_DISPLAY_CONDITION,Rre=ef.NUMBER_OF_PROPERTIES,_l={texCoordExpandAndBatchIndex:0,position3DHigh:1,position3DLow:2,position2DHigh:3,position2DLow:4,prevPosition3DHigh:5,prevPosition3DLow:6,prevPosition2DHigh:7,prevPosition2DLow:8,nextPosition3DHigh:9,nextPosition3DLow:10,nextPosition2DHigh:11,nextPosition2DLow:12};function _d(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=M.clone(M.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(Rre),this._polylines=[],this._polylineBuckets={},this._positionBufferUsage={bufferUsage:Ne.STATIC_DRAW,frameCount:0},this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._texCoordExpandAndBatchIndexBuffer=void 0,this._batchTable=void 0,this._createBatchTable=!1,this._useHighlightColor=!1,this._highlightColor=z.clone(z.WHITE);let t=this;this._uniformMap={u_highlightColor:function(){return t._highlightColor}}}Object.defineProperties(_d.prototype,{length:{get:function(){return T6(this),this._polylines.length}}});_d.prototype.add=function(e){let t=new ef(e,this);return t._index=this._polylines.length,this._polylines.push(t),this._createVertexArray=!0,this._createBatchTable=!0,t};_d.prototype.remove=function(e){if(this.contains(e)){if(this._polylinesRemoved=!0,this._createVertexArray=!0,this._createBatchTable=!0,u(e._bucket)){let t=e._bucket;t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()}return e._destroy(),!0}return!1};_d.prototype.removeAll=function(){E6(this),Fre(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0};_d.prototype.contains=function(e){return u(e)&&e._polylineCollection===this};_d.prototype.get=function(e){return T6(this),this._polylines[e]};function VHe(e,t){u(e._batchTable)&&e._batchTable.destroy();let n=[{functionName:"batchTable_getWidthAndShow",componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:2},{functionName:"batchTable_getPickColor",componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0},{functionName:"batchTable_getCenterHigh",componentDatatype:q.FLOAT,componentsPerAttribute:3},{functionName:"batchTable_getCenterLowAndRadius",componentDatatype:q.FLOAT,componentsPerAttribute:4},{functionName:"batchTable_getDistanceDisplayCondition",componentDatatype:q.FLOAT,componentsPerAttribute:2}];e._batchTable=new O0(t,n,e._polylines.length)}var Bre=new Hn,Mre=new oe,Lre=new H;_d.prototype.update=function(e){if(T6(this),this._polylines.length===0||!this.show)return;WHe(this,e);let t=e.context,n=e.mapProjection,i,o=this._propertiesChanged;if(this._createBatchTable){if(Ft.maximumVertexTextureImageUnits===0)throw new ue("Vertex texture fetch support is required to render polylines. The maximum number of vertex texture image units must be greater than zero.");VHe(this,t),this._createBatchTable=!1}if(this._createVertexArray||kHe(this))wre(this,t,n);else if(this._polylinesUpdated){let c=this._polylinesToUpdate;if(this._mode!==te.SCENE3D){let l=c.length;for(let f=0;f<l;++f)i=c[f],i.update()}if(o[Sre]||o[NHe])wre(this,t,n);else{let l=c.length,f=this._polylineBuckets;for(let d=0;d<l;++d){i=c[d],o=i._propertiesChanged;let p=i._bucket,g=0;for(let m in f)if(f.hasOwnProperty(m)){if(f[m]===p){o[C6]&&p.writeUpdate(g,i,this._positionBuffer,n);break}g+=f[m].lengthOfPositions}if((o[MHe]||o[LHe])&&this._batchTable.setBatchedAttribute(i._index,0,new H(i._width,i._show)),this._batchTable.attributes.length>2){if(o[C6]||o[Sre]){let m=e.mode===te.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,A=Hn.fromCartesian(m.center,Bre),x=oe.fromElements(A.low.x,A.low.y,A.low.z,m.radius,Mre);this._batchTable.setBatchedAttribute(i._index,2,A.high),this._batchTable.setBatchedAttribute(i._index,3,x)}if(o[FHe]){let m=Lre;m.x=0,m.y=Number.MAX_VALUE;let A=i.distanceDisplayCondition;u(A)&&(m.x=A.near,m.y=A.far),this._batchTable.setBatchedAttribute(i._index,4,m)}}i._clean()}}c.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(let c=0;c<Rre;++c)o[c]=0;let r=M.IDENTITY;e.mode===te.SCENE3D&&(r=this.modelMatrix);let s=e.passes,a=e.morphTime!==0;if((!u(this._opaqueRS)||this._opaqueRS.depthTest.enabled!==a)&&(this._opaqueRS=Ue.fromCache({depthMask:a,depthTest:{enabled:a}})),(!u(this._translucentRS)||this._translucentRS.depthTest.enabled!==a)&&(this._translucentRS=Ue.fromCache({blending:un.ALPHA_BLEND,depthMask:!a,depthTest:{enabled:a}})),this._batchTable.update(e),s.render||s.pick){let c=this._colorCommands;UHe(this,e,c,r)}};var nR=new se,Dre=new se;function UHe(e,t,n,i){let o=t.context,r=t.commandList,s=n.length,a=0,c=!0,l=e._vertexArrays,f=e.debugShowBoundingVolume,p=e._batchTable.getUniformMapCallback(),g=l.length;for(let m=0;m<g;++m){let A=l[m],x=A.buckets,C=x.length;for(let T=0;T<C;++T){let E=x[T],S=E.offset,D=E.bucket.shaderProgram,w=E.bucket.polylines,R=w.length,O,L,N=0,_,b;for(let v=0;v<R;++v){let I=w[v],B=HHe(I._material);if(B!==O){if(u(O)&&N>0){let G=L.isTranslucent();a>=s?(_=new tt({owner:e}),n.push(_)):_=n[a],++a,b=_t(p(L._uniforms),e._uniformMap),_.boundingVolume=se.clone(nR,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=D,_.vertexArray=A.va,_.renderState=G?e._translucentRS:e._opaqueRS,_.pass=G?Ee.TRANSLUCENT:Ee.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=b,_.count=N,_.offset=S,S+=N,N=0,c=!0,r.push(_)}L=I._material,L.update(o),O=B}let F=I._locatorBuckets,k=F.length;for(let G=0;G<k;++G){let V=F[G];V.locator===E&&(N+=V.count)}let U;t.mode===te.SCENE3D?U=I._boundingVolumeWC:t.mode===te.COLUMBUS_VIEW?U=I._boundingVolume2D:t.mode===te.SCENE2D?u(I._boundingVolume2D)&&(U=se.clone(I._boundingVolume2D,Dre),U.center.x=0):u(I._boundingVolumeWC)&&u(I._boundingVolume2D)&&(U=se.union(I._boundingVolumeWC,I._boundingVolume2D,Dre)),c?(c=!1,se.clone(U,nR)):se.union(U,nR,nR)}u(O)&&N>0&&(a>=s?(_=new tt({owner:e}),n.push(_)):_=n[a],++a,b=_t(p(L._uniforms),e._uniformMap),_.boundingVolume=se.clone(nR,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=D,_.vertexArray=A.va,_.renderState=L.isTranslucent()?e._translucentRS:e._opaqueRS,_.pass=L.isTranslucent()?Ee.TRANSLUCENT:Ee.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=b,_.count=N,_.offset=S,c=!0,r.push(_)),O=void 0}}n.length=a}_d.prototype.isDestroyed=function(){return!1};_d.prototype.destroy=function(){return Nre(this),E6(this),Fre(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),le(this)};function kHe(e){let t=!1,n=e._propertiesChanged,i=e._positionBufferUsage;return n[C6]?(i.bufferUsage!==Ne.STREAM_DRAW&&(t=!0,i.bufferUsage=Ne.STREAM_DRAW),i.frameCount=100):i.bufferUsage!==Ne.STATIC_DRAW&&(i.frameCount===0?(t=!0,i.bufferUsage=Ne.STATIC_DRAW):i.frameCount--),t}var vre=[0,0,0];function wre(e,t,n){e._createVertexArray=!1,E6(e),Nre(e),GHe(e);let i=[[]],o=i[0],r=e._batchTable,s=e._useHighlightColor,a=[0],c=0,l=[[]],f=0,d=e._polylineBuckets,p,g;for(p in d)d.hasOwnProperty(p)&&(g=d[p],g.updateShader(t,r,s),f+=g.lengthOfPositions);if(f>0){let m=e._mode,A=new Float32Array(6*f*3),x=new Float32Array(f*4),C,T=0,E=0,S=0;for(p in d)if(d.hasOwnProperty(p)){g=d[p],g.write(A,x,T,E,S,r,t,n),m===te.MORPHING&&(u(C)||(C=new Float32Array(6*f*3)),g.writeForMorph(C,T));let b=g.lengthOfPositions;T+=6*b*3,E+=b*4,S+=b*4,c=g.updateIndices(i,a,l,c)}let D=e._positionBufferUsage.bufferUsage,w=Ne.STATIC_DRAW;e._positionBuffer=lt.createVertexBuffer({context:t,typedArray:A,usage:D});let R;u(C)&&(R=lt.createVertexBuffer({context:t,typedArray:C,usage:D})),e._texCoordExpandAndBatchIndexBuffer=lt.createVertexBuffer({context:t,typedArray:x,usage:w});let O=3*Float32Array.BYTES_PER_ELEMENT,L=4*Float32Array.BYTES_PER_ELEMENT,N=0,_=i.length;for(let b=0;b<_;++b)if(o=i[b],o.length>0){let v=new Uint16Array(o),I=lt.createIndexBuffer({context:t,typedArray:v,usage:Ne.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT});N+=a[b];let B=6*(b*(O*P.SIXTY_FOUR_KILOBYTES)-N*O),F=O+B,k=O+F,U=O+k,G=O+U,V=O+G,X=b*(L*P.SIXTY_FOUR_KILOBYTES)-N*L,j=[{index:_l.position3DHigh,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:B,strideInBytes:6*O},{index:_l.position3DLow,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:F,strideInBytes:6*O},{index:_l.position2DHigh,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:B,strideInBytes:6*O},{index:_l.position2DLow,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:F,strideInBytes:6*O},{index:_l.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:k,strideInBytes:6*O},{index:_l.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:U,strideInBytes:6*O},{index:_l.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:k,strideInBytes:6*O},{index:_l.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:U,strideInBytes:6*O},{index:_l.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:G,strideInBytes:6*O},{index:_l.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:V,strideInBytes:6*O},{index:_l.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:G,strideInBytes:6*O},{index:_l.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:q.FLOAT,offsetInBytes:V,strideInBytes:6*O},{index:_l.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:q.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:X}],Q,W,K,J;m===te.SCENE3D?(W=e._positionBuffer,Q="vertexBuffer",K=vre,J="value"):m===te.SCENE2D||m===te.COLUMBUS_VIEW?(W=vre,Q="value",K=e._positionBuffer,J="vertexBuffer"):(W=R,Q="vertexBuffer",K=e._positionBuffer,J="vertexBuffer"),j[0][Q]=W,j[1][Q]=W,j[2][J]=K,j[3][J]=K,j[4][Q]=W,j[5][Q]=W,j[6][J]=K,j[7][J]=K,j[8][Q]=W,j[9][Q]=W,j[10][J]=K,j[11][J]=K;let _e=new oi({context:t,attributes:j,indexBuffer:I});e._vertexArrays.push({va:_e,buckets:l[b]})}}}function zHe(e,t){return t instanceof It?t.id:t}var sU=[];function HHe(e){let t=Vi._uniformList[e.type],n=t.length;sU.length=2*n;let i=0;for(let o=0;o<n;++o){let r=t[o];sU[i]=r,sU[i+1]=e._uniforms[r](),i+=2}return`${e.type}:${JSON.stringify(sU,zHe)}`}function GHe(e){let t=e._mode,n=e._modelMatrix,i=e._polylineBuckets={},o=e._polylines,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a._actualPositions.length>1){a.update();let c=a.material,l=i[c.type];u(l)||(l=i[c.type]=new Vh(c,t,n)),l.addPolyline(a)}}}function WHe(e,t){let n=t.mode;(e._mode!==n||!M.equals(e._modelMatrix,e.modelMatrix))&&(e._mode=n,e._modelMatrix=M.clone(e.modelMatrix),e._createVertexArray=!0)}function T6(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;let t=[],n=[],i=0,o,r=e._polylines.length;for(let s=0;s<r;++s)o=e._polylines[s],o.isDestroyed||(o._index=i++,n.push(o),t.push(o));e._polylines=t,e._polylinesToUpdate=n}}function E6(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)if(!t[i].isDestroyed){let o=t[i]._bucket;u(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy())}}function Nre(e){let t=e._vertexArrays.length;for(let n=0;n<t;++n)e._vertexArrays[n].va.destroy();e._vertexArrays.length=0}_d.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,e._dirty||this._polylinesToUpdate.push(e),++this._propertiesChanged[t]};function Fre(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)t[i].isDestroyed||t[i]._destroy()}function x6(e,t,n){this.count=e,this.offset=t,this.bucket=n}function Vh(e,t,n){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.mode=t,this.modelMatrix=n}Vh.prototype.addPolyline=function(e){this.polylines.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this};Vh.prototype.updateShader=function(e,t,n){if(u(this.shaderProgram))return;let i=["DISTANCE_DISPLAY_CONDITION"];n&&i.push("VECTOR_TILE"),this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&i.push("POLYLINE_DASH"),Vt.isInternetExplorer()||i.push("CLIP_POLYLINE");let o=new ke({defines:i,sources:[`in vec4 v_pickColor; +`,this.material.shaderSource,H0]}),r=t.getVertexShaderCallback()($O),s=new ke({defines:i,sources:[Wl,r]});this.shaderProgram=Xt.fromCache({context:e,vertexShaderSource:s,fragmentShaderSource:o,attributeLocations:_l})};function Vre(e){return h.dot(h.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersectPlane(cn.ORIGIN_ZX_PLANE)===Qt.INTERSECTING}Vh.prototype.getPolylinePositionsLength=function(e){let t;if(this.mode===te.SCENE3D||!Vre(e))return t=e._actualPositions.length,t*4-4;let n=0,i=e._segments.lengths;t=i.length;for(let o=0;o<t;++o)n+=i[o]*4-4;return n};var as=new h,tf=new h,nf=new h,aU=new h,jHe=new oe,YHe=new H;Vh.prototype.write=function(e,t,n,i,o,r,s,a){let c=this.mode,l=a.ellipsoid.maximumRadius*P.PI,f=this.polylines,d=f.length;for(let p=0;p<d;++p){let g=f[p],m=g.width,A=g.show&&m>0,x=g._index,C=this.getSegments(g,a),T=C.positions,E=C.lengths,S=T.length,D=g.getPickId(s).color,w=0,R=0,O;for(let k=0;k<S;++k){k===0?g._loop?O=T[S-2]:(O=aU,h.subtract(T[0],T[1],O),h.add(T[0],O,O)):O=T[k-1],h.clone(O,tf),h.clone(T[k],as),k===S-1?g._loop?O=T[1]:(O=aU,h.subtract(T[S-1],T[S-2],O),h.add(T[S-1],O,O)):O=T[k+1],h.clone(O,nf);let U=E[w];k===R+U&&(R+=U,++w);let G=k-R===0,V=k===R+E[w]-1;c===te.SCENE2D&&(tf.z=0,as.z=0,nf.z=0),(c===te.SCENE2D||c===te.MORPHING)&&(G||V)&&l-Math.abs(as.x)<1&&((as.x<0&&tf.x>0||as.x>0&&tf.x<0)&&h.clone(as,tf),(as.x<0&&nf.x>0||as.x>0&&nf.x<0)&&h.clone(as,nf));let X=G?2:0,j=V?2:4;for(let Q=X;Q<j;++Q){Hn.writeElements(as,e,n),Hn.writeElements(tf,e,n+6),Hn.writeElements(nf,e,n+12);let W=Q-2<0?-1:1;t[o]=k/(S-1),t[o+1]=2*(Q%2)-1,t[o+2]=W,t[o+3]=x,n+=6*3,o+=4}}let L=jHe;L.x=z.floatToByte(D.red),L.y=z.floatToByte(D.green),L.z=z.floatToByte(D.blue),L.w=z.floatToByte(D.alpha);let N=YHe;N.x=m,N.y=A?1:0;let _=c===te.SCENE2D?g._boundingVolume2D:g._boundingVolumeWC,b=Hn.fromCartesian(_.center,Bre),v=b.high,I=oe.fromElements(b.low.x,b.low.y,b.low.z,_.radius,Mre),B=Lre;B.x=0,B.y=Number.MAX_VALUE;let F=g.distanceDisplayCondition;u(F)&&(B.x=F.near,B.y=F.far),r.setBatchedAttribute(x,0,N),r.setBatchedAttribute(x,1,L),r.attributes.length>2&&(r.setBatchedAttribute(x,2,v),r.setBatchedAttribute(x,3,I),r.setBatchedAttribute(x,4,B))}};var qHe=new h,XHe=new h,KHe=new h,Ire=new h;Vh.prototype.writeForMorph=function(e,t){let n=this.modelMatrix,i=this.polylines,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=s._segments.positions,c=s._segments.lengths,l=a.length,f=0,d=0;for(let p=0;p<l;++p){let g;p===0?s._loop?g=a[l-2]:(g=Ire,h.subtract(a[0],a[1],g),h.add(a[0],g,g)):g=a[p-1],g=M.multiplyByPoint(n,g,XHe);let m=M.multiplyByPoint(n,a[p],qHe),A;p===l-1?s._loop?A=a[1]:(A=Ire,h.subtract(a[l-1],a[l-2],A),h.add(a[l-1],A,A)):A=a[p+1],A=M.multiplyByPoint(n,A,KHe);let x=c[f];p===d+x&&(d+=x,++f);let C=p-d===0,T=p===d+c[f]-1,E=C?2:0,S=T?2:4;for(let D=E;D<S;++D)Hn.writeElements(m,e,t),Hn.writeElements(g,e,t+6),Hn.writeElements(A,e,t+12),t+=6*3}}};var ZHe=new Array(1);Vh.prototype.updateIndices=function(e,t,n,i){let o=n.length-1,r=new x6(0,i,this);n[o].push(r);let s=0,a=e[e.length-1],c=0;a.length>0&&(c=a[a.length-1]+1);let l=this.polylines,f=l.length;for(let d=0;d<f;++d){let p=l[d];p._locatorBuckets=[];let g;if(this.mode===te.SCENE3D){g=ZHe;let A=p._actualPositions.length;if(A>0)g[0]=A;else continue}else g=p._segments.lengths;let m=g.length;if(m>0){let A=0;for(let x=0;x<m;++x){let C=g[x]-1;for(let T=0;T<C;++T)c+4>P.SIXTY_FOUR_KILOBYTES&&(p._locatorBuckets.push({locator:r,count:A}),A=0,t.push(4),a=[],e.push(a),c=0,r.count=s,s=0,i=0,r=new x6(0,0,this),n[++o]=[r]),a.push(c,c+2,c+1),a.push(c+1,c+2,c+3),A+=6,s+=6,i+=6,c+=4}p._locatorBuckets.push({locator:r,count:A}),c+4>P.SIXTY_FOUR_KILOBYTES&&(t.push(0),a=[],e.push(a),c=0,r.count=s,i=0,s=0,r=new x6(0,0,this),n[++o]=[r])}p._clean()}return r.count=s,i};Vh.prototype.getPolylineStartIndex=function(e){let t=this.polylines,n=0,i=t.length;for(let o=0;o<i;++o){let r=t[o];if(r===e)break;n+=r._actualLength}return n};var eE={positions:void 0,lengths:void 0},Pre=new Array(1),JHe=new h,QHe=new he;Vh.prototype.getSegments=function(e,t){let n=e._actualPositions;if(this.mode===te.SCENE3D)return Pre[0]=n.length,eE.positions=n,eE.lengths=Pre,eE;Vre(e)&&(n=e._segments.positions);let i=t.ellipsoid,o=[],r=this.modelMatrix,s=n.length,a,c=JHe;for(let l=0;l<s;++l)a=n[l],c=M.multiplyByPoint(r,a,c),o.push(t.project(i.cartesianToCartographic(c,QHe)));if(o.length>0){e._boundingVolume2D=se.fromPoints(o,e._boundingVolume2D);let l=e._boundingVolume2D.center;e._boundingVolume2D.center=new h(l.z,l.x,l.y)}return eE.positions=o,eE.lengths=e._segments.lengths,eE};var Ore;Vh.prototype.writeUpdate=function(e,t,n,i){let o=this.mode,r=i.ellipsoid.maximumRadius*P.PI,s=t._actualLength;if(s){e+=this.getPolylineStartIndex(t);let a=Ore,c=6*s*3;!u(a)||a.length<c?a=Ore=new Float32Array(c):a.length>c&&(a=new Float32Array(a.buffer,0,c));let l=this.getSegments(t,i),f=l.positions,d=l.lengths,p=0,g=0,m=0,A;s=f.length;for(let x=0;x<s;++x){x===0?t._loop?A=f[s-2]:(A=aU,h.subtract(f[0],f[1],A),h.add(f[0],A,A)):A=f[x-1],h.clone(A,tf),h.clone(f[x],as),x===s-1?t._loop?A=f[1]:(A=aU,h.subtract(f[s-1],f[s-2],A),h.add(f[s-1],A,A)):A=f[x+1],h.clone(A,nf);let C=d[g];x===m+C&&(m+=C,++g);let T=x-m===0,E=x===m+d[g]-1;o===te.SCENE2D&&(tf.z=0,as.z=0,nf.z=0),(o===te.SCENE2D||o===te.MORPHING)&&(T||E)&&r-Math.abs(as.x)<1&&((as.x<0&&tf.x>0||as.x>0&&tf.x<0)&&h.clone(as,tf),(as.x<0&&nf.x>0||as.x>0&&nf.x<0)&&h.clone(as,nf));let S=T?2:0,D=E?2:4;for(let w=S;w<D;++w)Hn.writeElements(as,a,p),Hn.writeElements(tf,a,p+6),Hn.writeElements(nf,a,p+12),p+=6*3}n.copyFromArrayView(a,6*3*Float32Array.BYTES_PER_ELEMENT*e)}};var gd=_d;function zg(e){this._positions=e.positions,this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._rectangle=e.rectangle,this._minHeight=e.minimumHeight,this._maxHeight=e.maximumHeight,this._billboardCollection=new Jl({batchTable:e.batchTable}),this._labelCollection=new Fh({batchTable:e.batchTable}),this._polylineCollection=new gd,this._polylineCollection._useHighlightColor=!0,this._verticesPromise=void 0,this._packedBuffer=void 0,this._ready=!1,this._update=function(t,n){},this._readyPromise=uGe(this)}Object.defineProperties(zg.prototype,{pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){let e=this._billboardCollection.textureAtlas.texture.sizeInBytes,t=this._labelCollection._textureAtlas.texture.sizeInBytes;return e+t}},readyPromise:{get:function(){return this._readyPromise}}});function $He(e,t){let n=e._rectangle,i=e._minHeight,o=e._maxHeight,r=2+ce.packedLength+ie.packedLength,s=new Float64Array(r),a=0;return s[a++]=i,s[a++]=o,ce.pack(n,s,a),a+=ce.packedLength,ie.pack(t,s,a),s}var eGe=new pi("createVectorTilePoints",5),tGe=new h;function nGe(e,t){let n;if(!u(e._verticesPromise)){n=e._positions;let i=e._packedBuffer;u(i)||(n=e._positions=n.slice(),e._batchIds=e._batchIds.slice(),i=e._packedBuffer=$He(e,t));let o=[n.buffer,i.buffer],r={positions:n.buffer,packedBuffer:i.buffer},s=e._verticesPromise=eGe.scheduleTask(r,o);return u(s)?s.then(function(a){e._positions=new Float64Array(a.positions);let c=e._billboardCollection,l=e._labelCollection,f=e._polylineCollection;n=e._positions;let d=e._batchIds,p=n.length/3;for(let g=0;g<p;++g){let m=d[g],A=h.unpack(n,g*3,tGe),x=c.add();x.position=A,x._batchIndex=m;let C=l.add();C.text=" ",C.position=A,C._batchIndex=m;let T=f.add();T.positions=[h.clone(A),h.clone(A)]}e._positions=void 0,e._packedBuffer=void 0,e._ready=!0}):void 0}}zg.prototype.createFeatures=function(e,t){let n=this._billboardCollection,i=this._labelCollection,o=this._polylineCollection,r=this._batchIds,s=r.length;for(let a=0;a<s;++a){let c=r[a],l=n.get(a),f=i.get(a),d=o.get(a);t[c]=new Rp(e,c,l,f,d)}};zg.prototype.applyDebugSettings=function(e,t){e?(z.clone(t,this._billboardCollection._highlightColor),z.clone(t,this._labelCollection._highlightColor),z.clone(t,this._polylineCollection._highlightColor)):(z.clone(z.WHITE,this._billboardCollection._highlightColor),z.clone(z.WHITE,this._labelCollection._highlightColor),z.clone(z.WHITE,this._polylineCollection._highlightColor))};function iGe(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.pointSize=Rp.defaultPointSize,s.color=Rp.defaultColor,s.pointOutlineColor=Rp.defaultPointOutlineColor,s.pointOutlineWidth=Rp.defaultPointOutlineWidth,s.labelColor=z.WHITE,s.labelOutlineColor=z.WHITE,s.labelOutlineWidth=1,s.font="30px sans-serif",s.labelStyle=No.FILL,s.labelText=void 0,s.backgroundColor=new z(.165,.165,.165,.8),s.backgroundPadding=new H(7,5),s.backgroundEnabled=!1,s.scaleByDistance=void 0,s.translucencyByDistance=void 0,s.distanceDisplayCondition=void 0,s.heightOffset=0,s.anchorLineEnabled=!1,s.anchorLineColor=z.WHITE,s.image=void 0,s.disableDepthTestDistance=0,s.horizontalOrigin=_i.CENTER,s.verticalOrigin=On.CENTER,s.labelHorizontalOrigin=_i.RIGHT,s.labelVerticalOrigin=On.BASELINE}}var oGe=new z,rGe=new z,sGe=new z,aGe=new z,cGe=new z,lGe=new z,iR=new Pt,oR=new Pt,b6=new bt;zg.prototype.applyStyle=function(e,t){if(!u(e)){iGe(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];if(u(e.show)&&(s.show=e.show.evaluate(s)),u(e.pointSize)&&(s.pointSize=e.pointSize.evaluate(s)),u(e.color)&&(s.color=e.color.evaluateColor(s,oGe)),u(e.pointOutlineColor)&&(s.pointOutlineColor=e.pointOutlineColor.evaluateColor(s,rGe)),u(e.pointOutlineWidth)&&(s.pointOutlineWidth=e.pointOutlineWidth.evaluate(s)),u(e.labelColor)&&(s.labelColor=e.labelColor.evaluateColor(s,sGe)),u(e.labelOutlineColor)&&(s.labelOutlineColor=e.labelOutlineColor.evaluateColor(s,aGe)),u(e.labelOutlineWidth)&&(s.labelOutlineWidth=e.labelOutlineWidth.evaluate(s)),u(e.font)&&(s.font=e.font.evaluate(s)),u(e.labelStyle)&&(s.labelStyle=e.labelStyle.evaluate(s)),u(e.labelText)?s.labelText=e.labelText.evaluate(s):s.labelText=void 0,u(e.backgroundColor)&&(s.backgroundColor=e.backgroundColor.evaluateColor(s,cGe)),u(e.backgroundPadding)&&(s.backgroundPadding=e.backgroundPadding.evaluate(s)),u(e.backgroundEnabled)&&(s.backgroundEnabled=e.backgroundEnabled.evaluate(s)),u(e.scaleByDistance)){let a=e.scaleByDistance.evaluate(s);iR.near=a.x,iR.nearValue=a.y,iR.far=a.z,iR.farValue=a.w,s.scaleByDistance=iR}else s.scaleByDistance=void 0;if(u(e.translucencyByDistance)){let a=e.translucencyByDistance.evaluate(s);oR.near=a.x,oR.nearValue=a.y,oR.far=a.z,oR.farValue=a.w,s.translucencyByDistance=oR}else s.translucencyByDistance=void 0;if(u(e.distanceDisplayCondition)){let a=e.distanceDisplayCondition.evaluate(s);b6.near=a.x,b6.far=a.y,s.distanceDisplayCondition=b6}else s.distanceDisplayCondition=void 0;u(e.heightOffset)&&(s.heightOffset=e.heightOffset.evaluate(s)),u(e.anchorLineEnabled)&&(s.anchorLineEnabled=e.anchorLineEnabled.evaluate(s)),u(e.anchorLineColor)&&(s.anchorLineColor=e.anchorLineColor.evaluateColor(s,lGe)),u(e.image)?s.image=e.image.evaluate(s):s.image=void 0,u(e.disableDepthTestDistance)&&(s.disableDepthTestDistance=e.disableDepthTestDistance.evaluate(s)),u(e.horizontalOrigin)&&(s.horizontalOrigin=e.horizontalOrigin.evaluate(s)),u(e.verticalOrigin)&&(s.verticalOrigin=e.verticalOrigin.evaluate(s)),u(e.labelHorizontalOrigin)&&(s.labelHorizontalOrigin=e.labelHorizontalOrigin.evaluate(s)),u(e.labelVerticalOrigin)&&(s.labelVerticalOrigin=e.labelVerticalOrigin.evaluate(s))}};function uGe(e){return new Promise(function(t,n){e._update=function(i,o){let r=nGe(i,o.mapProjection.ellipsoid);i._ready&&(i._polylineCollection.update(o),i._billboardCollection.update(o),i._labelCollection.update(o)),u(r)&&r.then(function(){t()}).catch(function(s){n(s)})}})}zg.prototype.update=function(e){this._update(this,e)};zg.prototype.isDestroyed=function(){return!1};zg.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._polylineCollection=this._polylineCollection&&this._polylineCollection.destroy(),le(this)};var rR=zg;function Lp(e){this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._counts=e.counts,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._batchedPositions=void 0,this._transferrableBatchIds=void 0,this._vertexBatchIds=void 0,this._ellipsoid=y(e.ellipsoid,ie.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._polygonMinimumHeights=e.polygonMinimumHeights,this._polygonMaximumHeights=e.polygonMaximumHeights,this._center=y(e.center,h.ZERO),this._rectangle=e.rectangle,this._center=void 0,this._boundingVolume=e.boundingVolume,this._boundingVolumes=void 0,this._batchedIndices=void 0,this._ready=!1,this._update=function(t,n){},this._readyPromise=gGe(this),this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Un.BOTH}Object.defineProperties(Lp.prototype,{trianglesLength:{get:function(){return u(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return u(this._primitive)?this._primitive.geometryByteLength:0}},readyPromise:{get:function(){return this._readyPromise}}});function fGe(e){let t=new Float64Array(3+h.packedLength+ie.packedLength+ce.packedLength),n=0;return t[n++]=e._indices.BYTES_PER_ELEMENT,t[n++]=e._minimumHeight,t[n++]=e._maximumHeight,h.pack(e._center,t,n),n+=h.packedLength,ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,ce.pack(e._rectangle,t,n),t}function dGe(e,t){let n=1,i=t[n++],o=e._boundingVolumes=new Array(i);for(let a=0;a<i;++a)o[a]=Rn.unpack(t,n),n+=Rn.packedLength;let r=t[n++],s=e._batchedIndices=new Array(r);for(let a=0;a<r;++a){let c=z.unpack(t,n);n+=z.packedLength;let l=t[n++],f=t[n++],d=t[n++],p=new Array(d);for(let g=0;g<d;++g)p[g]=t[n++];s[a]=new vh({color:c,offset:l,count:f,batchIds:p})}}var hGe=new pi("createVectorTilePolygons",5),mGe=new z;function pGe(e){if(!u(e._primitive)&&!u(e._verticesPromise)){let t=e._positions,n=e._counts,i=e._indexCounts,o=e._indices,r=e._transferrableBatchIds,s=e._batchTableColors,a=e._packedBuffer;if(!u(s)){t=e._positions=e._positions.slice(),n=e._counts=e._counts.slice(),i=e._indexCounts=e._indexCounts.slice(),o=e._indices=e._indices.slice(),e._center=e._ellipsoid.cartographicToCartesian(ce.center(e._rectangle)),r=e._transferrableBatchIds=new Uint32Array(e._batchIds),s=e._batchTableColors=new Uint32Array(r.length);let g=e._batchTable,m=s.length;for(let A=0;A<m;++A){let x=g.getColor(A,mGe);s[A]=x.toRgba()}a=e._packedBuffer=fGe(e)}let c=[t.buffer,n.buffer,i.buffer,o.buffer,r.buffer,s.buffer,a.buffer],l={packedBuffer:a.buffer,positions:t.buffer,counts:n.buffer,indexCounts:i.buffer,indices:o.buffer,batchIds:r.buffer,batchTableColors:s.buffer},f=e._polygonMinimumHeights,d=e._polygonMaximumHeights;u(f)&&u(d)&&(f=f.slice(),d=d.slice(),c.push(f.buffer,d.buffer),l.minimumHeights=f,l.maximumHeights=d);let p=e._verticesPromise=hGe.scheduleTask(l,c);return u(p)?p.then(function(g){e._positions=void 0,e._counts=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0;let m=new Float64Array(g.packedBuffer),A=m[0];dGe(e,m),e._indices=Fe.getSizeInBytes(A)===2?new Uint16Array(g.indices):new Uint32Array(g.indices),e._indexOffsets=new Uint32Array(g.indexOffsets),e._indexCounts=new Uint32Array(g.indexCounts),e._batchedPositions=new Float32Array(g.positions),e._vertexBatchIds=new Uint16Array(g.batchIds),e._ready=!0}):void 0}}function _Ge(e){e._ready&&!u(e._primitive)&&(e._primitive=new aA({batchTable:e._batchTable,positions:e._batchedPositions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center}),e._batchTable=void 0,e._batchIds=void 0,e._positions=void 0,e._counts=void 0,e._indices=void 0,e._indexCounts=void 0,e._indexOffsets=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0,e._center=void 0,e._rectangle=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._verticesPromise=void 0)}Lp.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};Lp.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};Lp.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};Lp.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};function gGe(e){return new Promise(function(t,n){e._update=function(i,o){let r=pGe(i);i._ready&&(i._primitive.debugWireframe=i.debugWireframe,i._primitive.forceRebatch=i.forceRebatch,i._primitive.classificationType=i.classificationType,i._primitive.update(o)),u(r)&&r.then(function(){_Ge(i),t(i)}).catch(function(s){n(s)})}})}Lp.prototype.update=function(e){this._update(this,e)};Lp.prototype.isDestroyed=function(){return!1};Lp.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),le(this)};var sR=Lp;var aR=`in vec4 currentPosition; +in vec4 previousPosition; +in vec4 nextPosition; +in vec2 expandAndWidth; +in float a_batchId; + +uniform mat4 u_modifiedModelView; + +void main() +{ + float expandDir = expandAndWidth.x; + float width = abs(expandAndWidth.y) + 0.5; + bool usePrev = expandAndWidth.y < 0.0; + + vec4 p = u_modifiedModelView * currentPosition; + vec4 prev = u_modifiedModelView * previousPosition; + vec4 next = u_modifiedModelView * nextPosition; + + float angle; + vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle); + gl_Position = czm_viewportOrthographic * positionWC; +} +`;function yd(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ie.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=z.clone(z.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._update=function(t,n){},this._readyPromise=OGe(this),this._verticesPromise=void 0}Object.defineProperties(yd.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},readyPromise:{get:function(){return this._readyPromise}}});function yGe(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+ce.packedLength+ie.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,ce.pack(t,a,c),c+=ce.packedLength,ie.pack(o,a,c),c+=ie.packedLength,h.pack(r,a,c),a}var AGe=new pi("createVectorTilePolylines",5),tE={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function xGe(e,t){if(!u(e._va)&&!u(e._verticesPromise)){let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;u(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=yGe(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},l=e._verticesPromise=AGe.scheduleTask(c,a);return u(l)?l.then(function(f){e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._currentPositions=new Float32Array(f.currentPositions),e._previousPositions=new Float32Array(f.previousPositions),e._nextPositions=new Float32Array(f.nextPositions),e._expandAndWidth=new Float32Array(f.expandAndWidth),e._vertexBatchIds=new Uint16Array(f.batchIds);let d=f.indexDatatype;e._indices=d===Fe.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),e._ready=!0}):void 0}}function CGe(e,t){if(e._ready&&!u(e._va)){let n=e._currentPositions,i=e._previousPositions,o=e._nextPositions,r=e._expandAndWidth,s=e._vertexBatchIds,a=e._indices,c=i.byteLength+n.byteLength+o.byteLength;c+=r.byteLength+s.byteLength+a.byteLength,e._trianglesLength=a.length/3,e._geometryByteLength=c;let l=lt.createVertexBuffer({context:t,typedArray:i,usage:Ne.STATIC_DRAW}),f=lt.createVertexBuffer({context:t,typedArray:n,usage:Ne.STATIC_DRAW}),d=lt.createVertexBuffer({context:t,typedArray:o,usage:Ne.STATIC_DRAW}),p=lt.createVertexBuffer({context:t,typedArray:r,usage:Ne.STATIC_DRAW}),g=lt.createVertexBuffer({context:t,typedArray:s,usage:Ne.STATIC_DRAW}),m=lt.createIndexBuffer({context:t,typedArray:a,usage:Ne.STATIC_DRAW,indexDatatype:a.BYTES_PER_ELEMENT===2?Fe.UNSIGNED_SHORT:Fe.UNSIGNED_INT}),A=[{index:tE.previousPosition,vertexBuffer:l,componentDatatype:q.FLOAT,componentsPerAttribute:3},{index:tE.currentPosition,vertexBuffer:f,componentDatatype:q.FLOAT,componentsPerAttribute:3},{index:tE.nextPosition,vertexBuffer:d,componentDatatype:q.FLOAT,componentsPerAttribute:3},{index:tE.expandAndWidth,vertexBuffer:p,componentDatatype:q.FLOAT,componentsPerAttribute:2},{index:tE.a_batchId,vertexBuffer:g,componentDatatype:q.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new oi({context:t,attributes:A,indexBuffer:m}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._currentPositions=void 0,e._previousPositions=void 0,e._nextPositions=void 0,e._expandAndWidth=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var cR=new M,Ure=new h;function TGe(e,t){u(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return M.clone(n,cR),M.multiplyByPoint(cR,e._center,Ure),M.setTranslation(cR,Ure,cR),cR},u_highlightColor:function(){return e._highlightColor}})}function EGe(e){if(u(e._rs))return;let t={enabled:!0,factor:-5,units:-5};e._rs=Ue.fromCache({blending:un.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:t})}var bGe=`uniform vec4 u_highlightColor; +void main() +{ + out_FragColor = u_highlightColor; +} +`;function SGe(e,t){if(u(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(aR),o=n.getFragmentShaderCallback(!1,void 0,!1)(bGe),r=new ke({defines:["VECTOR_TILE",Vt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[Wl,i]}),s=new ke({defines:["VECTOR_TILE"],sources:[o]});e._sp=Xt.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:tE})}function DGe(e,t){if(!u(e._command)){let n=e._batchTable.getUniformMapCallback()(e._uniformMap);e._command=new tt({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:n,boundingVolume:e._boundingVolume,pass:Ee.TRANSLUCENT,pickId:e._batchTable.getPickId()})}t.commandList.push(e._command)}yd.getPolylinePositions=function(e,t){let n=e._batchIds,i=e._decodedPositions,o=e._decodedPositionOffsets;if(!u(n)||!u(i))return;let r,s,a=n.length,c=0,l=0;for(r=0;r<a;++r)n[r]===t&&(c+=o[r+1]-o[r]);if(c===0)return;let f=new Float64Array(c*3);for(r=0;r<a;++r)if(n[r]===t){let d=o[r],p=o[r+1]-d;for(s=0;s<p;++s){let g=(d+s)*3;f[l++]=i[g],f[l++]=i[g+1],f[l++]=i[g+2]}}return f};yd.prototype.getPositions=function(e){return yd.getPolylinePositions(this,e)};yd.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new xs(e,r)}};yd.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function vGe(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=z.WHITE}}var wGe=new z,IGe=z.WHITE,PGe=!0;yd.prototype.applyStyle=function(e,t){if(!u(e)){vGe(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=u(e.color)?e.color.evaluateColor(s,wGe):IGe,s.show=u(e.show)?e.show.evaluate(s):PGe}};function OGe(e){return new Promise(function(t,n){e._update=function(i,o){let r=o.context,s=xGe(i,r);if(TGe(i,r),SGe(i,r),EGe(i),i._ready){let a=o.passes;(a.render||a.pick)&&DGe(i,o)}u(s)&&s.then(function(){CGe(i,r),t()}).catch(function(a){n(a)})}})}yd.prototype.update=function(e){this._update(this,e)};yd.prototype.isDestroyed=function(){return!1};yd.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),le(this)};var LA=yd;var lR=`in vec3 startEllipsoidNormal; +in vec3 endEllipsoidNormal; +in vec4 startPositionAndHeight; +in vec4 endPositionAndHeight; +in vec4 startFaceNormalAndVertexCorner; +in vec4 endFaceNormalAndHalfWidth; +in float a_batchId; + +uniform mat4 u_modifiedModelView; +uniform vec2 u_minimumMaximumVectorHeights; + +out vec4 v_startPlaneEC; +out vec4 v_endPlaneEC; +out vec4 v_rightPlaneEC; +out float v_halfWidth; +out vec3 v_volumeUpEC; + +void main() +{ + // vertex corner IDs + // 3-----------7 + // /| left /| + // / | 1 / | + // 2-----------6 5 end + // | / | / + // start |/ right |/ + // 0-----------4 + // + float isEnd = floor(startFaceNormalAndVertexCorner.w * 0.251); // 0 for front, 1 for end + float isTop = floor(startFaceNormalAndVertexCorner.w * mix(0.51, 0.19, isEnd)); // 0 for bottom, 1 for top + + vec3 forward = endPositionAndHeight.xyz - startPositionAndHeight.xyz; + vec3 right = normalize(cross(forward, startEllipsoidNormal)); + + vec4 position = vec4(startPositionAndHeight.xyz, 1.0); + position.xyz += forward * isEnd; + + v_volumeUpEC = czm_normal * normalize(cross(right, forward)); + + // Push for volume height + float offset; + vec3 ellipsoidNormal = mix(startEllipsoidNormal, endEllipsoidNormal, isEnd); + + // offset height to create volume + offset = mix(startPositionAndHeight.w, endPositionAndHeight.w, isEnd); + offset = mix(u_minimumMaximumVectorHeights.y, u_minimumMaximumVectorHeights.x, isTop) - offset; + position.xyz += offset * ellipsoidNormal; + + // move from RTC to EC + position = u_modifiedModelView * position; + right = czm_normal * right; + + // Push for width in a direction that is in the start or end plane and in a plane with right + // N = normalEC ("right-facing" direction for push) + // R = right + // p = angle between N and R + // w = distance to push along R if R == N + // d = distance to push along N + // + // N R + // { p| } * cos(p) = dot(N, R) = w / d + // d | |w * d = w / dot(N, R) + // { | } + // o---------- polyline segment ----> + // + vec3 scratchNormal = mix(-startFaceNormalAndVertexCorner.xyz, endFaceNormalAndHalfWidth.xyz, isEnd); + scratchNormal = cross(scratchNormal, mix(startEllipsoidNormal, endEllipsoidNormal, isEnd)); + vec3 miterPushNormal = czm_normal * normalize(scratchNormal); + + offset = 2.0 * endFaceNormalAndHalfWidth.w * max(0.0, czm_metersPerPixel(position)); // offset = widthEC + offset = offset / dot(miterPushNormal, right); + position.xyz += miterPushNormal * (offset * sign(0.5 - mod(startFaceNormalAndVertexCorner.w, 2.0))); + + gl_Position = czm_depthClamp(czm_projection * position); + + position = u_modifiedModelView * vec4(startPositionAndHeight.xyz, 1.0); + vec3 startNormalEC = czm_normal * startFaceNormalAndVertexCorner.xyz; + v_startPlaneEC = vec4(startNormalEC, -dot(startNormalEC, position.xyz)); + v_rightPlaneEC = vec4(right, -dot(right, position.xyz)); + + position = u_modifiedModelView * vec4(endPositionAndHeight.xyz, 1.0); + vec3 endNormalEC = czm_normal * endFaceNormalAndHalfWidth.xyz; + v_endPlaneEC = vec4(endNormalEC, -dot(endNormalEC, position.xyz)); + v_halfWidth = endFaceNormalAndHalfWidth.w; +} +`;var uR=`in vec4 v_startPlaneEC; +in vec4 v_endPlaneEC; +in vec4 v_rightPlaneEC; +in float v_halfWidth; +in vec3 v_volumeUpEC; + +uniform vec4 u_highlightColor; +void main() +{ + float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw))); + + // Discard for sky + if (logDepthOrDepth == 0.0) { +#ifdef DEBUG_SHOW_VOLUME + out_FragColor = vec4(0.0, 0.0, 1.0, 0.5); + return; +#else // DEBUG_SHOW_VOLUME + discard; +#endif // DEBUG_SHOW_VOLUME + } + + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + eyeCoordinate /= eyeCoordinate.w; + + float halfMaxWidth = v_halfWidth * czm_metersPerPixel(eyeCoordinate); + + // Expand halfMaxWidth if direction to camera is almost perpendicular with the volume's up direction + halfMaxWidth += halfMaxWidth * (1.0 - dot(-normalize(eyeCoordinate.xyz), v_volumeUpEC)); + + // Check distance of the eye coordinate against the right-facing plane + float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz); + + // Check eye coordinate against the mitering planes + float distanceFromStart = czm_planeDistance(v_startPlaneEC, eyeCoordinate.xyz); + float distanceFromEnd = czm_planeDistance(v_endPlaneEC, eyeCoordinate.xyz); + + if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { +#ifdef DEBUG_SHOW_VOLUME + out_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5); + return; +#else // DEBUG_SHOW_VOLUME + discard; +#endif // DEBUG_SHOW_VOLUME + } + out_FragColor = u_highlightColor; + + czm_writeDepthClamp(); +} +`;function Np(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ie.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._minimumMaximumVectorHeights=new H(fi._defaultMinTerrainHeight,fi._defaultMaxTerrainHeight),this._boundingVolume=Rn.fromRectangle(e.rectangle,fi._defaultMinTerrainHeight,fi._defaultMaxTerrainHeight,this._ellipsoid),this._classificationType=e.classificationType,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._startEllipsoidNormals=void 0,this._endEllipsoidNormals=void 0,this._startPositionAndHeights=void 0,this._startFaceNormalAndVertexCornerIds=void 0,this._endPositionAndHeights=void 0,this._endFaceNormalAndHalfWidths=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=z.clone(z.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._update=function(t,n){},this._readyPromise=jGe(this),this._verticesPromise=void 0}Object.defineProperties(Np.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},readyPromise:{get:function(){return this._readyPromise}}});function RGe(e,t,n){let i=fi.getMinimumMaximumHeights(t,n),o=i.minimumTerrainHeight,r=i.maximumTerrainHeight,s=e._minimumMaximumVectorHeights;s.x=o,s.y=r;let a=e._boundingVolume,c=e._rectangle;Rn.fromRectangle(c,o,r,n,a)}function BGe(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+ce.packedLength+ie.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,ce.pack(t,a,c),c+=ce.packedLength,ie.pack(o,a,c),c+=ie.packedLength,h.pack(r,a,c),a}var MGe=new pi("createVectorTileClampedPolylines"),Hg={startEllipsoidNormal:0,endEllipsoidNormal:1,startPositionAndHeight:2,endPositionAndHeight:3,startFaceNormalAndVertexCorner:4,endFaceNormalAndHalfWidth:5,a_batchId:6};function LGe(e,t){if(!u(e._va)&&!u(e._verticesPromise)){let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;u(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=BGe(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},l=e._verticesPromise=MGe.scheduleTask(c,a);return u(l)?l.then(function(f){e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._startEllipsoidNormals=new Float32Array(f.startEllipsoidNormals),e._endEllipsoidNormals=new Float32Array(f.endEllipsoidNormals),e._startPositionAndHeights=new Float32Array(f.startPositionAndHeights),e._startFaceNormalAndVertexCornerIds=new Float32Array(f.startFaceNormalAndVertexCornerIds),e._endPositionAndHeights=new Float32Array(f.endPositionAndHeights),e._endFaceNormalAndHalfWidths=new Float32Array(f.endFaceNormalAndHalfWidths),e._vertexBatchIds=new Uint16Array(f.vertexBatchIds);let d=f.indexDatatype;e._indices=d===Fe.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),e._ready=!0}):void 0}}function NGe(e,t){if(e._ready&&!u(e._va)){let n=e._startEllipsoidNormals,i=e._endEllipsoidNormals,o=e._startPositionAndHeights,r=e._endPositionAndHeights,s=e._startFaceNormalAndVertexCornerIds,a=e._endFaceNormalAndHalfWidths,c=e._vertexBatchIds,l=e._indices,f=n.byteLength+i.byteLength;f+=o.byteLength+r.byteLength,f+=s.byteLength+a.byteLength,f+=c.byteLength+l.byteLength,e._trianglesLength=l.length/3,e._geometryByteLength=f;let d=lt.createVertexBuffer({context:t,typedArray:n,usage:Ne.STATIC_DRAW}),p=lt.createVertexBuffer({context:t,typedArray:i,usage:Ne.STATIC_DRAW}),g=lt.createVertexBuffer({context:t,typedArray:o,usage:Ne.STATIC_DRAW}),m=lt.createVertexBuffer({context:t,typedArray:r,usage:Ne.STATIC_DRAW}),A=lt.createVertexBuffer({context:t,typedArray:s,usage:Ne.STATIC_DRAW}),x=lt.createVertexBuffer({context:t,typedArray:a,usage:Ne.STATIC_DRAW}),C=lt.createVertexBuffer({context:t,typedArray:c,usage:Ne.STATIC_DRAW}),T=lt.createIndexBuffer({context:t,typedArray:l,usage:Ne.STATIC_DRAW,indexDatatype:l.BYTES_PER_ELEMENT===2?Fe.UNSIGNED_SHORT:Fe.UNSIGNED_INT}),E=[{index:Hg.startEllipsoidNormal,vertexBuffer:d,componentDatatype:q.FLOAT,componentsPerAttribute:3},{index:Hg.endEllipsoidNormal,vertexBuffer:p,componentDatatype:q.FLOAT,componentsPerAttribute:3},{index:Hg.startPositionAndHeight,vertexBuffer:g,componentDatatype:q.FLOAT,componentsPerAttribute:4},{index:Hg.endPositionAndHeight,vertexBuffer:m,componentDatatype:q.FLOAT,componentsPerAttribute:4},{index:Hg.startFaceNormalAndVertexCorner,vertexBuffer:A,componentDatatype:q.FLOAT,componentsPerAttribute:4},{index:Hg.endFaceNormalAndHalfWidth,vertexBuffer:x,componentDatatype:q.FLOAT,componentsPerAttribute:4},{index:Hg.a_batchId,vertexBuffer:C,componentDatatype:q.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new oi({context:t,attributes:E,indexBuffer:T}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._startEllipsoidNormals=void 0,e._endEllipsoidNormals=void 0,e._startPositionAndHeights=void 0,e._startFaceNormalAndVertexCornerIds=void 0,e._endPositionAndHeights=void 0,e._endFaceNormalAndHalfWidths=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var fR=new M,kre=new h;function FGe(e,t){u(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return M.clone(n,fR),M.multiplyByPoint(fR,e._center,kre),M.setTranslation(fR,kre,fR),fR},u_highlightColor:function(){return e._highlightColor},u_minimumMaximumVectorHeights:function(){return e._minimumMaximumVectorHeights}})}function zre(e){return Ue.fromCache({cull:{enabled:!0,face:gi.FRONT},blending:un.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:kn.EQUAL,frontOperation:{fail:ut.KEEP,zFail:ut.KEEP,zPass:ut.KEEP},backFunction:kn.EQUAL,backOperation:{fail:ut.KEEP,zFail:ut.KEEP,zPass:ut.KEEP},reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK}})}function VGe(e){u(e._rs)||(e._rs=zre(!1),e._rs3DTiles=zre(!0))}function UGe(e,t){if(u(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(lR),o=n.getFragmentShaderCallback(!1,void 0,!0)(uR),r=new ke({defines:["VECTOR_TILE",Vt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[Wl,i]}),s=new ke({defines:["VECTOR_TILE"],sources:[o]});e._sp=Xt.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:Hg})}function kGe(e,t){let n=e._command;if(!u(e._command)){let o=e._batchTable.getUniformMapCallback()(e._uniformMap);n=e._command=new tt({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:o,boundingVolume:e._boundingVolume,pass:Ee.TERRAIN_CLASSIFICATION,pickId:e._batchTable.getPickId()});let r=tt.shallowClone(n,n.derivedCommands.tileset);r.renderState=e._rs3DTiles,r.pass=Ee.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=r}let i=e._classificationType;(i===Un.TERRAIN||i===Un.BOTH)&&t.commandList.push(n),(i===Un.CESIUM_3D_TILE||i===Un.BOTH)&&t.commandList.push(n.derivedCommands.tileset)}Np.prototype.getPositions=function(e){return LA.getPolylinePositions(this,e)};Np.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new xs(e,r)}};Np.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function zGe(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=z.WHITE}}var HGe=new z,GGe=z.WHITE,WGe=!0;Np.prototype.applyStyle=function(e,t){if(!u(e)){zGe(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=u(e.color)?e.color.evaluateColor(s,HGe):GGe,s.show=u(e.show)?e.show.evaluate(s):WGe}};function jGe(e){return fi.initialize().then(function(){return RGe(e,e._rectangle,e._ellipsoid),new Promise(function(t,n){e._update=function(i,o){let r=o.context,s=LGe(i,r);if(FGe(i,r),UGe(i,r),VGe(i),i._ready){let a=o.passes;(a.render||a.pick)&&kGe(i,o)}u(s)&&s.then(function(){NGe(i,r),t(i)}).catch(function(a){n(a)})}})})}Np.prototype.update=function(e){this._update(this,e)};Np.prototype.isDestroyed=function(){return!1};Np.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),le(this)};var dR=Np;var S6=32767,YGe=new he,qGe=new h;function XGe(e,t,n,i,o){let r=e.length/3,s=e.subarray(0,r),a=e.subarray(r,2*r),c=e.subarray(2*r,3*r);Gn.zigZagDeltaDecode(s,a,c);let l=new Float64Array(e.length);for(let f=0;f<r;++f){let d=s[f],p=a[f],g=c[f],m=P.lerp(t.west,t.east,d/S6),A=P.lerp(t.south,t.north,p/S6),x=P.lerp(n,i,g/S6),C=he.fromRadians(m,A,x,YGe),T=o.cartographicToCartesian(C,qGe);h.pack(T,l,f*3)}return l}var hR=XGe;function Uh(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._polygons=void 0,this._polylines=void 0,this._points=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,$Ge(this,i,o)}Object.defineProperties(Uh.prototype,{featuresLength:{get:function(){return u(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return u(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){let e=0;return u(this._polygons)&&(e+=this._polygons.trianglesLength),u(this._polylines)&&(e+=this._polylines.trianglesLength),e}},geometryByteLength:{get:function(){let e=0;return u(this._polygons)&&(e+=this._polygons.geometryByteLength),u(this._polylines)&&(e+=this._polylines.geometryByteLength),e}},texturesByteLength:{get:function(){return u(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return u(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},readyPromise:{get:function(){let e=u(this._points)?this._points.readyPromise:void 0,t=u(this._polygons)?this._polygons.readyPromise:void 0,n=u(this._polylines)?this._polylines.readyPromise:void 0,i=this;return Promise.all([e,t,n]).then(function(){return i})}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function KGe(e){return function(t,n){u(e._polygons)&&e._polygons.updateCommands(t,n)}}function ZGe(e,t){let n,i,o,r,s=y(e.POLYGONS_LENGTH,0),a=y(e.POLYLINES_LENGTH,0),c=y(e.POINTS_LENGTH,0);if(s>0&&u(e.POLYGON_BATCH_IDS)){let p=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,p,s)}if(a>0&&u(e.POLYLINE_BATCH_IDS)){let p=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,p,a)}if(c>0&&u(e.POINT_BATCH_IDS)){let p=t.byteOffset+e.POINT_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,p,c)}let l=u(n)||u(i)||u(o),f=s>0&&!u(n)||a>0&&!u(i)||c>0&&!u(o);if(l&&f)throw new ue("If one group of batch ids is defined, then all batch ids must be defined.");if(!u(n)&&!u(i)&&!u(o)){let p=0;if(!u(n)&&s>0)for(n=new Uint16Array(s),r=0;r<s;++r)n[r]=p++;if(!u(i)&&a>0)for(i=new Uint16Array(a),r=0;r<a;++r)i[r]=p++;if(!u(o)&&c>0)for(o=new Uint16Array(c),r=0;r<c;++r)o[r]=p++}return{polygons:n,polylines:i,points:o}}var Ad=Uint32Array.BYTES_PER_ELEMENT;function JGe(e){return new LA(e)}function QGe(e){return new dR(e)}function $Ge(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=Ad;let r=o.getUint32(n,!0);if(r!==1)throw new ue(`Only Vector tile version 1 is supported. Version ${r} is not.`);n+=Ad;let s=o.getUint32(n,!0);if(n+=Ad,s===0)return Promise.resolve(e);let a=o.getUint32(n,!0);if(n+=Ad,a===0)throw new ue("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=Ad;let l=o.getUint32(n,!0);n+=Ad;let f=o.getUint32(n,!0);n+=Ad;let d=o.getUint32(n,!0);n+=Ad;let p=o.getUint32(n,!0);n+=Ad;let g=o.getUint32(n,!0);n+=Ad;let m=o.getUint32(n,!0);n+=Ad;let A=Oo(i,n,a);n+=a;let x=new Uint8Array(t,n,c);n+=c;let C,T;l>0&&(C=Oo(i,n,l),n+=l,f>0&&(T=new Uint8Array(t,n,f),T=new Uint8Array(T),n+=f));let E=y(A.POLYGONS_LENGTH,0),S=y(A.POLYLINES_LENGTH,0),D=y(A.POINTS_LENGTH,0),w=E+S+D,R=new ap(e,w,C,T,KGe(e));if(e._batchTable=R,w===0)return;let O=new fd(A,x),L=O.getGlobalProperty("REGION");if(!u(L))throw new ue("Feature table global property: REGION must be defined");let N=ce.unpack(L),_=L[4],b=L[5],v=e._tile.computedTransform,I=O.getGlobalProperty("RTC_CENTER",q.FLOAT,3);u(I)?(I=h.unpack(I),M.multiplyByPoint(v,I,I)):(I=ce.center(N),I.height=P.lerp(_,b,.5),I=ie.WGS84.cartographicToCartesian(I));let B=ZGe(A,x);if(n+=(4-n%4)%4,E>0){O.featuresLength=E;let F=y(O.getPropertyArray("POLYGON_COUNTS",q.UNSIGNED_INT,1),O.getPropertyArray("POLYGON_COUNT",q.UNSIGNED_INT,1));if(!u(F))throw new ue("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let k=y(O.getPropertyArray("POLYGON_INDEX_COUNTS",q.UNSIGNED_INT,1),O.getPropertyArray("POLYGON_INDEX_COUNT",q.UNSIGNED_INT,1));if(!u(k))throw new ue("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let U=F.reduce(function(W,K){return W+K*2},0),G=k.reduce(function(W,K){return W+K},0),V=new Uint32Array(t,n,G);n+=d;let X=new Uint16Array(t,n,U);n+=p;let j,Q;u(A.POLYGON_MINIMUM_HEIGHTS)&&u(A.POLYGON_MAXIMUM_HEIGHTS)&&(j=O.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",q.FLOAT,1),Q=O.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",q.FLOAT,1)),e._polygons=new sR({positions:X,counts:F,indexCounts:k,indices:V,minimumHeight:_,maximumHeight:b,polygonMinimumHeights:j,polygonMaximumHeights:Q,center:I,rectangle:N,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:R,batchIds:B.polygons,modelMatrix:v})}if(S>0){O.featuresLength=S;let F=y(O.getPropertyArray("POLYLINE_COUNTS",q.UNSIGNED_INT,1),O.getPropertyArray("POLYLINE_COUNT",q.UNSIGNED_INT,1));if(!u(F))throw new ue("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let k=O.getPropertyArray("POLYLINE_WIDTHS",q.UNSIGNED_SHORT,1);if(!u(k)){k=new Uint16Array(S);for(let Q=0;Q<S;++Q)k[Q]=2}let U=F.reduce(function(Q,W){return Q+W*3},0),G=new Uint16Array(t,n,U);n+=g;let V=e._tileset,X=V.examineVectorLinesFunction;if(u(X)){let Q=hR(new Uint16Array(G),N,_,b,ie.WGS84);e8e(Q,F,B.polylines,R,e.url,X)}let j=JGe;u(V.classificationType)&&(j=QGe),e._polylines=j({positions:G,widths:k,counts:F,batchIds:B.polylines,minimumHeight:_,maximumHeight:b,center:I,rectangle:N,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:R,classificationType:V.classificationType,keepDecodedPositions:V.vectorKeepDecodedPositions})}if(D>0){let F=new Uint16Array(t,n,D*3);n+=m,e._points=new rR({positions:F,batchIds:B.points,minimumHeight:_,maximumHeight:b,rectangle:N,batchTable:R})}return Promise.resolve(e)}function D6(e){let t=e.featuresLength;if(!u(e._features)&&t>0){let n=new Array(t);u(e._polygons)&&e._polygons.createFeatures(e,n),u(e._polylines)&&e._polylines.createFeatures(e,n),u(e._points)&&e._points.createFeatures(e,n),e._features=n}}Uh.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};Uh.prototype.getFeature=function(e){return u(this._features)||D6(this),this._features[e]};Uh.prototype.applyDebugSettings=function(e,t){u(this._polygons)&&this._polygons.applyDebugSettings(e,t),u(this._polylines)&&this._polylines.applyDebugSettings(e,t),u(this._points)&&this._points.applyDebugSettings(e,t)};Uh.prototype.applyStyle=function(e){u(this._features)||D6(this),u(this._polygons)&&this._polygons.applyStyle(e,this._features),u(this._polylines)&&this._polylines.applyStyle(e,this._features),u(this._points)&&this._points.applyStyle(e,this._features)};Uh.prototype.update=function(e,t){let n=!0;u(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),n=n&&this._polygons._ready),u(this._polylines)&&(this._polylines.update(t),n=n&&this._polylines._ready),u(this._points)&&(this._points.update(t),n=n&&this._points._ready),u(this._batchTable)&&n&&(u(this._features)||D6(this),this._batchTable.update(e,t))};Uh.prototype.getPolylinePositions=function(e){let t=this._polylines;if(u(t))return t.getPositions(e)};Uh.prototype.isDestroyed=function(){return!1};Uh.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),le(this)};function e8e(e,t,n,i,o,r){let s=t.length,a=0;for(let c=0;c<s;c++){let l=t[c]*3,f=e.slice(a,a+l);a+=l,r(f,n[c],o,i)}}var mR=Uh;var Hre={b3dm:function(e,t,n,i,o){return Mh.fromB3dm(e,t,n,i,o)},pnts:function(e,t,n,i,o){return Mh.fromPnts(e,t,n,i,o)},i3dm:function(e,t,n,i,o){return Mh.fromI3dm(e,t,n,i,o)},cmpt:function(e,t,n,i,o){return new xP(e,t,n,i,o,Hre)},externalTileset:function(e,t,n,i){return new GO(e,t,n,i)},geom:function(e,t,n,i,o){return new TP(e,t,n,i,o)},vctr:function(e,t,n,i,o){return new mR(e,t,n,i,o)},subt:function(e,t,n,i,o){return new BT(e,t,n,void 0,i,o)},subtreeJson:function(e,t,n,i){return new BT(e,t,n,i)},glb:function(e,t,n,i,o){if(i.byteLength<12)throw new ue("Invalid glb content");let a=new DataView(i,o).getUint32(8,!0),c=new Uint8Array(i,o,a);return Mh.fromGltf(e,t,n,c)},gltf:function(e,t,n,i){return Mh.fromGltf(e,t,n,i)},geoJson:function(e,t,n,i){return Mh.fromGeoJson(e,t,n,i)}},NA=Hre;var t8e={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},Eo=Object.freeze(t8e);var xd={BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",COMPOSITE:"cmpt",POINT_CLOUD:"pnts",VECTOR:"vctr",GEOMETRY:"geom",GLTF:"gltf",GLTF_BINARY:"glb",IMPLICIT_SUBTREE:"subt",IMPLICIT_SUBTREE_JSON:"subtreeJson",EXTERNAL_TILESET:"externalTileset",MULTIPLE_CONTENT:"multipleContent",GEOJSON:"geoJson",VOXEL_BINARY:"voxl",VOXEL_JSON:"voxelJson"};xd.isBinaryFormat=function(e){switch(e){case xd.BATCHED_3D_MODEL:case xd.INSTANCED_3D_MODEL:case xd.COMPOSITE:case xd.POINT_CLOUD:case xd.VECTOR:case xd.GEOMETRY:case xd.IMPLICIT_SUBTREE:case xd.VOXEL_BINARY:case xd.GLTF_BINARY:return!0;default:return!1}};var cs=Object.freeze(xd);var n8e={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0},of=Object.freeze(n8e);function Gre(){}var pR={stack:new Yl,stackMaximumLength:0};Gre.selectTiles=function(e,t){e._selectedTiles.length=0,e._requestedTiles.length=0,e._hasMixedContent=!1;let n=!0,i=e.root;if(i.updateVisibility(t),!Wre(i))return n;let o=pR.stack;for(o.push(e.root);o.length>0;){pR.stackMaximumLength=Math.max(pR.stackMaximumLength,o.length);let r=o.pop(),s=r.refine===Sr.ADD,a=r.refine===Sr.REPLACE,c=o8e(e,r);c&&r8e(e,r,o,t),(s||a&&!c)&&(s8e(e,r),a8e(e,r,t),l8e(e,r,t),!jre(r)&&!r.contentAvailable&&(n=!1)),c8e(e)}return pR.stack.trim(pR.stackMaximumLength),n};function Wre(e){return e._visible&&e._inRequestVolume}function jre(e){return e.hasEmptyContent||e.hasTilesetContent||e.hasImplicitContent}function i8e(e){return!jre(e)&&e.contentUnloaded}function o8e(e,t){return t.children.length===0?!1:t.hasTilesetContent||t.hasImplicitContent?!t.contentExpired:(t.hasEmptyContent,!0)}function r8e(e,t,n,i){let o=t.children,r=o.length;for(let s=0;s<r;++s){let a=o[s];a.updateVisibility(i),Wre(a)&&n.push(a)}}function s8e(e,t){(i8e(t)||t.contentExpired)&&(t._priority=0,e._requestedTiles.push(t))}function a8e(e,t,n){t._touchedFrame!==n.frameNumber&&(e._cache.touch(t),t._touchedFrame=n.frameNumber)}function c8e(e){++e.statistics.visited}function l8e(e,t,n){t.contentAvailable&&t.contentVisibility(n)!==Qt.OUTSIDE&&e._selectedTiles.push(t)}var nE=Gre;function Yre(){}function VA(e){return e._visible&&e._inRequestVolume}var _R={stack:new Yl,stackMaximumLength:0},gR={stack:new Yl,stackMaximumLength:0},yR={stack:new Yl,stackMaximumLength:0},kh={stack:new Yl,stackMaximumLength:0,ancestorStack:new Yl,ancestorStackMaximumLength:0},u8e=2;Yre.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e._hasMixedContent=!1;let n=e.root;if(uU(e,n,t),!VA(n)||n.getScreenSpaceError(t,!0)<=e._maximumScreenSpaceError)return;xR(e)?e.immediatelyLoadDesiredLevelOfDetail?d8e(e,n,t):h8e(e,n,t):f8e(e,n,t),_R.stack.trim(_R.stackMaximumLength),gR.stack.trim(gR.stackMaximumLength),yR.stack.trim(yR.stackMaximumLength),kh.stack.trim(kh.stackMaximumLength),kh.ancestorStack.trim(kh.ancestorStackMaximumLength);let i=e._requestedTiles,o=i.length;for(let r=0;r<o;++r)i[r].updatePriority()};function f8e(e,t,n){let i=e._maximumScreenSpaceError,o=e._maximumScreenSpaceError;w6(e,t,i,o,n)}function d8e(e,t,n){let i=Number.MAX_VALUE,o=e._maximumScreenSpaceError;w6(e,t,i,o,n),Zre(e,t,n)}function h8e(e,t,n){let i=Math.max(e.baseScreenSpaceError,e.maximumScreenSpaceError),o=e.maximumScreenSpaceError;w6(e,t,i,o,n),Zre(e,t,n)}function xR(e){return e._skipLevelOfDetail}function m8e(e,t){e._emptyTiles.push(t)}function AR(e,t,n){if(t.contentVisibility(n)!==Qt.OUTSIDE){let i=t.content;i.featurePropertiesDirty?(i.featurePropertiesDirty=!1,t.lastStyleTime=0,e._selectedTilesToStyle.push(t)):t._selectedFrame<n.frameNumber-1&&e._selectedTilesToStyle.push(t),t._selectedFrame=n.frameNumber,e._selectedTiles.push(t)}}function p8e(e,t,n){let i=yR.stack;for(i.push(t);i.length>0;){yR.stackMaximumLength=Math.max(yR.stackMaximumLength,i.length);let r=i.pop().children,s=r.length;for(let a=0;a<s;++a){let c=r[a];VA(c)&&(c.contentAvailable?(uU(e,c,n),lU(e,c,n),AR(e,c,n)):c._depth-t._depth<u8e&&i.push(c))}}}function cU(e,t,n){if(!xR(e)){t.contentAvailable&&AR(e,t,n);return}let i=t.contentAvailable?t:t._ancestorWithContentAvailable;u(i)?i._shouldSelect=!0:p8e(e,t,n)}function _8e(e,t,n){++e._statistics.visited,t._visitedFrame=n.frameNumber}function lU(e,t,n){t._touchedFrame!==n.frameNumber&&(e._cache.touch(t),t._touchedFrame=n.frameNumber)}function g8e(e,t){e._maximumPriority.distance=Math.max(t._priorityHolder._distanceToCamera,e._maximumPriority.distance),e._minimumPriority.distance=Math.min(t._priorityHolder._distanceToCamera,e._minimumPriority.distance),e._maximumPriority.depth=Math.max(t._depth,e._maximumPriority.depth),e._minimumPriority.depth=Math.min(t._depth,e._minimumPriority.depth),e._maximumPriority.foveatedFactor=Math.max(t._priorityHolder._foveatedFactor,e._maximumPriority.foveatedFactor),e._minimumPriority.foveatedFactor=Math.min(t._priorityHolder._foveatedFactor,e._minimumPriority.foveatedFactor),e._maximumPriority.reverseScreenSpaceError=Math.max(t._priorityReverseScreenSpaceError,e._maximumPriority.reverseScreenSpaceError),e._minimumPriority.reverseScreenSpaceError=Math.min(t._priorityReverseScreenSpaceError,e._minimumPriority.reverseScreenSpaceError)}function y8e(e,t,n){if(!e._cullRequestsWhileMoving)return!0;let i=t.boundingSphere,o=Math.max(i.radius*2,1),r=n.camera,s=r.positionWCDeltaMagnitude!==0?r.positionWCDeltaMagnitude:r.positionWCDeltaMagnitudeLastFrame;return e.cullRequestsWhileMovingMultiplier*s/o<1}function FA(e,t,n){if(t._requestedFrame===n.frameNumber||!Kre(t)&&!t.contentExpired||!y8e(e,t,n))return;let i=n.camera.timeSinceMoved<e.foveatedTimeDelay;t.priorityDeferred&&i||(t._requestedFrame=n.frameNumber,e._requestedTiles.push(t))}function qre(e,t,n){t._updatedVisibilityFrame!==e._updatedVisibilityFrame&&(t.updateVisibility(n),t._updatedVisibilityFrame=e._updatedVisibilityFrame)}function A8e(e,t,n){let i=!1,o=t.children,r=o.length;for(let s=0;s<r;++s){let a=o[s];qre(e,a,n),i=i||VA(a)}return i}function x8e(e,t,n){let i=t.parent;return!u(i)||i.hasTilesetContent||i.hasImplicitContent||i.refine!==Sr.ADD?!1:t.getScreenSpaceError(n,!0)<=e._maximumScreenSpaceError}function Xre(e,t,n){if(qre(e,t,n),!VA(t))return;let i=t.children.length>0;if((t.hasTilesetContent||t.hasImplicitContent)&&i){let s=t.children[0];Xre(e,s,n),t._visible=s._visible;return}if(x8e(e,t,n)){t._visible=!1;return}let o=t.refine===Sr.REPLACE,r=t._optimChildrenWithinParent===of.USE_OPTIMIZATION;if(o&&r&&i&&!A8e(e,t,n)){++e._statistics.numberOfTilesCulledWithChildrenUnion,t._visible=!1;return}}function uU(e,t,n){Xre(e,t,n),t.updateExpiration(),t._wasMinPriorityChild=!1,t._priorityHolder=t,g8e(e,t),t._shouldSelect=!1,t._finalResolution=!0}function C8e(e,t){e._ancestorWithContent=void 0,e._ancestorWithContentAvailable=void 0;let n=e.parent;if(u(n)){let i=!Kre(n)||n._requestedFrame===t.frameNumber;e._ancestorWithContent=i?n:n._ancestorWithContent,e._ancestorWithContentAvailable=n.contentAvailable?n:n._ancestorWithContentAvailable}}function CR(e){return e.hasEmptyContent||e.hasTilesetContent||e.hasImplicitContent}function Kre(e){return!CR(e)&&e.contentUnloaded}function T8e(e,t){let n=t._ancestorWithContent;return!e.immediatelyLoadDesiredLevelOfDetail&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf||u(n)&&t._screenSpaceError<n._screenSpaceError/e.skipScreenSpaceErrorFactor&&t._depth>n._depth+e.skipLevels)}function E8e(e,t){return t._distanceToCamera===0&&e._distanceToCamera===0?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera}function b8e(e,t,n,i){let o,r=t.refine===Sr.REPLACE,s=t.children,a=s.length;for(o=0;o<a;++o)uU(e,s[o],i);s.sort(E8e);let c=!xR(e)&&r&&!CR(t),l=!0,f=!1,d=-1,p=Number.MAX_VALUE,g;for(o=0;o<a;++o)if(g=s[o],VA(g)?(n.push(g),g._foveatedFactor<p&&(d=o,p=g._foveatedFactor),f=!0):(c||e.loadSiblings)&&(g._foveatedFactor<p&&(d=o,p=g._foveatedFactor),FA(e,g,i),lU(e,g,i)),c){let m;g._inRequestVolume?CR(g)?m=D8e(e,g,i):m=g.contentAvailable:m=!1,l=l&&m}if(f||(l=!1),d!==-1&&!xR(e)&&r){let m=s[d];m._wasMinPriorityChild=!0;let A=(t._wasMinPriorityChild||t===e.root)&&p<=t._priorityHolder._foveatedFactor?t._priorityHolder:t;for(A._foveatedFactor=Math.min(m._foveatedFactor,A._foveatedFactor),A._distanceToCamera=Math.min(m._distanceToCamera,A._distanceToCamera),o=0;o<a;++o)g=s[o],g._priorityHolder=A}return l}function S8e(e,t,n){return xR(e)?e.immediatelyLoadDesiredLevelOfDetail?!1:u(t._ancestorWithContent)?t._screenSpaceError===0?t.parent._screenSpaceError>n:t._screenSpaceError>n:!0:!0}function v6(e,t){return t.children.length===0?!1:t.hasTilesetContent||t.hasImplicitContent?!t.contentExpired:t._screenSpaceError>e._maximumScreenSpaceError}function w6(e,t,n,i,o){let r=_R.stack;for(r.push(t);r.length>0;){_R.stackMaximumLength=Math.max(_R.stackMaximumLength,r.length);let s=r.pop();C8e(s,o);let a=S8e(e,s,n),c=s.refine===Sr.ADD,l=s.refine===Sr.REPLACE,f=s.parent,d=!u(f)||f._refines,p=!1;v6(e,s)&&(p=b8e(e,s,r,o)&&d);let g=!p&&d;CR(s)?(m8e(e,s,o),FA(e,s,o),g&&cU(e,s,o)):c?(cU(e,s,o),FA(e,s,o)):l&&(a?(FA(e,s,o),g&&cU(e,s,o)):g?(cU(e,s,o),FA(e,s,o)):T8e(e,s)&&FA(e,s,o)),_8e(e,s,o),lU(e,s,o),s._refines=p}}function D8e(e,t,n){let i=!0,o=gR.stack;for(o.push(t);o.length>0;){gR.stackMaximumLength=Math.max(gR.stackMaximumLength,o.length);let r=o.pop(),s=r.children,a=s.length,c=CR(r),l=c&&v6(e,r),f=c&&r.children.length===0;if(!l&&!r.contentAvailable&&!f&&(i=!1),uU(e,r,n),VA(r)||(FA(e,r,n),lU(e,r,n)),l)for(let d=0;d<a;++d){let p=s[d];o.push(p)}}return i}function Zre(e,t,n){let i=kh.stack,o=kh.ancestorStack,r;for(i.push(t);i.length>0||o.length>0;){if(kh.stackMaximumLength=Math.max(kh.stackMaximumLength,i.length),kh.ancestorStackMaximumLength=Math.max(kh.ancestorStackMaximumLength,o.length),o.length>0){let p=o.peek();if(p._stackLength===i.length){o.pop(),p!==r&&(p._finalResolution=!1),AR(e,p,n);continue}}let s=i.pop();if(!u(s))continue;let a=s.refine===Sr.ADD,c=s._shouldSelect,l=s.children,f=l.length,d=v6(e,s);if(c)if(a)AR(e,s,n);else{if(s._selectionDepth=o.length,s._selectionDepth>0&&(e._hasMixedContent=!0),r=s,!d){AR(e,s,n);continue}o.push(s),s._stackLength=i.length}if(d)for(let p=0;p<f;++p){let g=l[p];VA(g)&&i.push(g)}}}var zh=Yre;var Cd={RENDER:0,PICK:1,SHADOW:2,PRELOAD:3,PRELOAD_FLIGHT:4,REQUEST_RENDER_MODE_DEFER_CHECK:5,MOST_DETAILED_PRELOAD:6,MOST_DETAILED_PICK:7,NUMBER_OF_PASSES:8},Fp=new Array(Cd.NUMBER_OF_PASSES);Fp[Cd.RENDER]=Object.freeze({traversal:zh,isRender:!0,requestTiles:!0,ignoreCommands:!1});Fp[Cd.PICK]=Object.freeze({traversal:zh,isRender:!1,requestTiles:!1,ignoreCommands:!1});Fp[Cd.SHADOW]=Object.freeze({traversal:zh,isRender:!1,requestTiles:!0,ignoreCommands:!1});Fp[Cd.PRELOAD]=Object.freeze({traversal:zh,isRender:!1,requestTiles:!0,ignoreCommands:!0});Fp[Cd.PRELOAD_FLIGHT]=Object.freeze({traversal:zh,isRender:!1,requestTiles:!0,ignoreCommands:!0});Fp[Cd.REQUEST_RENDER_MODE_DEFER_CHECK]=Object.freeze({traversal:zh,isRender:!1,requestTiles:!0,ignoreCommands:!0});Fp[Cd.MOST_DETAILED_PRELOAD]=Object.freeze({traversal:nE,isRender:!1,requestTiles:!0,ignoreCommands:!0});Fp[Cd.MOST_DETAILED_PICK]=Object.freeze({traversal:nE,isRender:!1,requestTiles:!1,ignoreCommands:!1});Cd.getPassOptions=function(e){return Fp[e]};var qo=Object.freeze(Cd);function Vp(e,t){this._tileset=e,this._tile=t,this.featurePropertiesDirty=!1}Object.defineProperties(Vp.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(e){}},batchTable:{get:function(){}},group:{get:function(){},set:function(e){}}});Vp.prototype.hasProperty=function(e,t){return!1};Vp.prototype.getFeature=function(e){};Vp.prototype.applyDebugSettings=function(e,t){};Vp.prototype.applyStyle=function(e){};Vp.prototype.update=function(e,t){};Vp.prototype.isDestroyed=function(){return!1};Vp.prototype.destroy=function(){return le(this)};var iE=Vp;function Up(e){e=y(e,y.EMPTY_OBJECT);let t=e.content,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(Up.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Up.prototype.hasProperty=function(e){return Nn.hasProperty(e,this._properties,this._class)};Up.prototype.hasPropertyBySemantic=function(e){return Nn.hasPropertyBySemantic(e,this._properties,this._class)};Up.prototype.getPropertyIds=function(e){return Nn.getPropertyIds(this._properties,this._class,e)};Up.prototype.getProperty=function(e){return Nn.getProperty(e,this._properties,this._class)};Up.prototype.setProperty=function(e,t){return Nn.setProperty(e,t,this._properties,this._class)};Up.prototype.getPropertyBySemantic=function(e){return Nn.getPropertyBySemantic(e,this._properties,this._class)};Up.prototype.setPropertyBySemantic=function(e,t){return Nn.setPropertyBySemantic(e,t,this._properties,this._class)};var TR=Up;function I6(e,t){let n=ai(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!u(n))return;if(!u(e.schema)){I6._oneTimeWarning("findContentMetadata-missing-root-schema","Could not find a metadata schema for content metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(u(n.class)){let o=i[n.class];return new TR({content:n,class:o})}}I6._oneTimeWarning=wt;var UA=I6;function v8e(e,t){let n=e.metadataExtension;if(!u(n))return;let i=n.groups,o=ai(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"].group:t.group;if(typeof o=="number")return i[o];let r=n.groupIds.findIndex(function(s){return s===o});return r>=0?i[r]:void 0}var kA=v8e;function kp(e){e=y(e,y.EMPTY_OBJECT);let t=e.tile,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(kp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});kp.prototype.hasProperty=function(e){return Nn.hasProperty(e,this._properties,this._class)};kp.prototype.hasPropertyBySemantic=function(e){return Nn.hasPropertyBySemantic(e,this._properties,this._class)};kp.prototype.getPropertyIds=function(e){return Nn.getPropertyIds(this._properties,this._class,e)};kp.prototype.getProperty=function(e){return Nn.getProperty(e,this._properties,this._class)};kp.prototype.setProperty=function(e,t){return Nn.setProperty(e,t,this._properties,this._class)};kp.prototype.getPropertyBySemantic=function(e){return Nn.getPropertyBySemantic(e,this._properties,this._class)};kp.prototype.setPropertyBySemantic=function(e,t){return Nn.setPropertyBySemantic(e,t,this._properties,this._class)};var ER=kp;function P6(e,t){let n=ai(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!u(n))return;if(!u(e.schema)){P6._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(u(n.class)){let o=i[n.class];return new ER({tile:n,class:o})}}P6._oneTimeWarning=wt;var bR=P6;function w8e(e){let t=new Uint8Array(e),n=od(t);if(n==="glTF"&&(n="glb"),cs.isBinaryFormat(n))return{contentType:n,binaryPayload:t};let i=I8e(t);if(u(i.root))return{contentType:cs.EXTERNAL_TILESET,jsonPayload:i};if(u(i.asset))return{contentType:cs.GLTF,jsonPayload:i};if(u(i.tileAvailability))return{contentType:cs.IMPLICIT_SUBTREE_JSON,jsonPayload:i};if(u(i.type))return{contentType:cs.GEOJSON,jsonPayload:i};if(u(i.voxelTable))return{contentType:cs.VOXEL_JSON,jsonPayload:i};throw new ue("Invalid tile content.")}function I8e(e){let t;try{t=Oo(e)}catch{throw new ue("Invalid tile content.")}return t}var Hh=w8e;function Td(e,t,n,i){this._tileset=e,this._tile=t,this._tilesetResource=n,this._contents=[],this._contentsCreated=!1;let o=u(i.contents)?i.contents:i.content;this._innerContentHeaders=o,this._requestsInFlight=0,this._cancelCount=0;let r=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(r),this._requests=new Array(r),this._innerContentResources=new Array(r),this._serverKeys=new Array(r);for(let s=0;s<r;s++){let a=n.getDerivedResource({url:o[s].uri}),c=Oa.getServerKey(a.getUrlComponent());this._innerContentResources[s]=a,this._serverKeys[s]=c}this._contentsFetchedPromise=void 0}Object.defineProperties(Td.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},readyPromise:{get:function(){if(!this._contentsCreated)return;let e=this._contents.map(function(n){return n.readyPromise}),t=this;return Promise.all(e).then(function(){return t})}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){},set:function(){}},innerContentUrls:{get:function(){return this._innerContentHeaders.map(function(e){return e.uri})}},contentsFetchedPromise:{get:function(){return this._contentsFetchedPromise}}});function O6(e,t){e._requestsInFlight+=t,e.tileset.statistics.numberOfPendingRequests+=t}function P8e(e,t){e._cancelCount++,e._tile._contentState=t;let n=e.tileset.statistics;n.numberOfPendingRequests-=e._requestsInFlight,n.numberOfAttemptedRequests+=e._requestsInFlight,e._requestsInFlight=0;let i=e._innerContentHeaders.length;e._arrayFetchPromises=new Array(i)}Td.prototype.requestInnerContents=function(){if(!O8e(this._serverKeys))return this._serverKeys.length;let e=this._innerContentHeaders;O6(this,e.length);for(let t=0;t<e.length;t++)this._arrayFetchPromises[t]=R8e(this,t,this._cancelCount,this._tile._contentState);return this._contentsFetchedPromise=B8e(this),0};function O8e(e){let t={};for(let n=0;n<e.length;n++){let i=e[n];u(t[i])?t[i]++:t[i]=1}for(let n in t)if(t.hasOwnProperty(n)&&!Oa.serverHasOpenSlots(n,t[n]))return!1;return Oa.heapHasOpenSlots(e.length)}function R8e(e,t,n,i){let o=e._innerContentResources[t].clone(),r=e.tile,s=function(){return r._priority},a=e._serverKeys[t],c=new zo({throttle:!0,throttleByServer:!0,type:Qr.TILES3D,priorityFunction:s,serverKey:a});o.request=c,e._requests[t]=c;let l=o.fetchArrayBuffer();return u(l)?l.then(function(f){if(!(n<e._cancelCount))return O6(e,-1),f}).catch(function(f){if(!(n<e._cancelCount)){if(o.request.state===hi.CANCELLED){P8e(e,i);return}O6(e,-1),Jre(e,t,f)}}):Promise.resolve(void 0)}function B8e(e){let t=e._cancelCount;return Promise.all(e._arrayFetchPromises).then(function(n){if(t<e._cancelCount)return;let i=n.map(function(o,r){if(u(o))return M8e(e,o,r)});e._contentsCreated=!0,e._contents=i.filter(u)})}function M8e(e,t,n){let i=Hh(t);if(i.contentType===cs.EXTERNAL_TILESET){let d=new ue("External tilesets are disallowed inside multiple contents");return Jre(e,n,d)}e._disableSkipLevelOfDetail=e._disableSkipLevelOfDetail||i.contentType===cs.GEOMETRY||i.contentType===cs.VECTOR;let o=e._tileset,r=e._innerContentResources[n],s=e._tile,a,c=NA[i.contentType];u(i.binaryPayload)?a=c(o,s,r,i.binaryPayload.buffer,0):a=c(o,s,r,i.jsonPayload);let l=e._innerContentHeaders[n];if(s.hasImplicitContentMetadata){let d=s.implicitSubtree,p=s.implicitCoordinates;a.metadata=d.getContentMetadataView(p,n)}else s.hasImplicitContent||(a.metadata=UA(o,l));let f=kA(o,l);return u(f)&&(a.group=new iA({metadata:f})),a}function Jre(e,t,n){let i=e._tileset,o=e._innerContentResources[t].url,r=u(n.message)?n.message:n.toString();i.tileFailed.numberOfListeners>0?i.tileFailed.raiseEvent({url:o,message:r}):(console.log(`A content failed to load: ${o}`),console.log(`Error: ${r}`))}Td.prototype.cancelRequests=function(){for(let e=0;e<this._requests.length;e++){let t=this._requests[e];u(t)&&t.cancel()}};Td.prototype.hasProperty=function(e,t){return!1};Td.prototype.getFeature=function(e){};Td.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};Td.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};Td.prototype.update=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].update(e,t)};Td.prototype.isDestroyed=function(){return!1};Td.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return le(this)};var SR=Td;var sse=vo(nse(),1);var Z8e=new h,J8e=new h,Gg={};Gg.computeArea2D=function(e){let t=e.length,n=0;for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];n+=r.x*s.y-s.x*r.y}return n*.5};Gg.computeWindingOrder2D=function(e){return Gg.computeArea2D(e)>0?Zr.COUNTER_CLOCKWISE:Zr.CLOCKWISE};Gg.triangulate=function(e,t){let n=H.packArray(e);return(0,sse.default)(n,t,2)};var ase=new h,cse=new h,lse=new h,ise=new h,ose=new h,rse=new h,zp=new h,use=new H,fse=new H,dse=new H,rE=new H;Gg.computeSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=u(i),s=n.slice(0),a,c=t.length,l=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let E=t[a];if(l[d++]=E.x,l[d++]=E.y,l[d++]=E.z,r){let S=i[a];f[p++]=S.x,f[p++]=S.y}}let g=[],m={},A=e.maximumRadius,x=P.chordLength(o,A),C=x*x;for(;s.length>0;){let E=s.pop(),S=s.pop(),D=s.pop(),w=h.fromArray(l,D*3,ase),R=h.fromArray(l,S*3,cse),O=h.fromArray(l,E*3,lse),L,N,_;r&&(L=H.fromArray(f,D*2,use),N=H.fromArray(f,S*2,fse),_=H.fromArray(f,E*2,dse));let b=h.multiplyByScalar(h.normalize(w,ise),A,ise),v=h.multiplyByScalar(h.normalize(R,ose),A,ose),I=h.multiplyByScalar(h.normalize(O,rse),A,rse),B=h.magnitudeSquared(h.subtract(b,v,zp)),F=h.magnitudeSquared(h.subtract(v,I,zp)),k=h.magnitudeSquared(h.subtract(I,b,zp)),U=Math.max(B,F,k),G,V,X;U>C?B===U?(G=`${Math.min(D,S)} ${Math.max(D,S)}`,a=m[G],u(a)||(V=h.add(w,R,zp),h.multiplyByScalar(V,.5,V),l.push(V.x,V.y,V.z),a=l.length/3-1,m[G]=a,r&&(X=H.add(L,N,rE),H.multiplyByScalar(X,.5,X),f.push(X.x,X.y))),s.push(D,a,E),s.push(a,S,E)):F===U?(G=`${Math.min(S,E)} ${Math.max(S,E)}`,a=m[G],u(a)||(V=h.add(R,O,zp),h.multiplyByScalar(V,.5,V),l.push(V.x,V.y,V.z),a=l.length/3-1,m[G]=a,r&&(X=H.add(N,_,rE),H.multiplyByScalar(X,.5,X),f.push(X.x,X.y))),s.push(S,a,D),s.push(a,E,D)):k===U&&(G=`${Math.min(E,D)} ${Math.max(E,D)}`,a=m[G],u(a)||(V=h.add(O,w,zp),h.multiplyByScalar(V,.5,V),l.push(V.x,V.y,V.z),a=l.length/3-1,m[G]=a,r&&(X=H.add(_,L,rE),H.multiplyByScalar(X,.5,X),f.push(X.x,X.y))),s.push(E,a,S),s.push(a,D,S)):(g.push(D),g.push(S),g.push(E))}let T={attributes:{position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:l})},indices:g,primitiveType:Me.TRIANGLES};return r&&(T.attributes.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:f})),new ct(T)};var Q8e=new he,$8e=new he,e5e=new he,N6=new he;Gg.computeRhumbLineSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=u(i),s=n.slice(0),a,c=t.length,l=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let D=t[a];if(l[d++]=D.x,l[d++]=D.y,l[d++]=D.z,r){let w=i[a];f[p++]=w.x,f[p++]=w.y}}let g=[],m={},A=e.maximumRadius,x=P.chordLength(o,A),C=new la(void 0,void 0,e),T=new la(void 0,void 0,e),E=new la(void 0,void 0,e);for(;s.length>0;){let D=s.pop(),w=s.pop(),R=s.pop(),O=h.fromArray(l,R*3,ase),L=h.fromArray(l,w*3,cse),N=h.fromArray(l,D*3,lse),_,b,v;r&&(_=H.fromArray(f,R*2,use),b=H.fromArray(f,w*2,fse),v=H.fromArray(f,D*2,dse));let I=e.cartesianToCartographic(O,Q8e),B=e.cartesianToCartographic(L,$8e),F=e.cartesianToCartographic(N,e5e);C.setEndPoints(I,B);let k=C.surfaceDistance;T.setEndPoints(B,F);let U=T.surfaceDistance;E.setEndPoints(F,I);let G=E.surfaceDistance,V=Math.max(k,U,G),X,j,Q,W,K;V>x?k===V?(X=`${Math.min(R,w)} ${Math.max(R,w)}`,a=m[X],u(a)||(j=C.interpolateUsingFraction(.5,N6),Q=(I.height+B.height)*.5,W=h.fromRadians(j.longitude,j.latitude,Q,e,zp),l.push(W.x,W.y,W.z),a=l.length/3-1,m[X]=a,r&&(K=H.add(_,b,rE),H.multiplyByScalar(K,.5,K),f.push(K.x,K.y))),s.push(R,a,D),s.push(a,w,D)):U===V?(X=`${Math.min(w,D)} ${Math.max(w,D)}`,a=m[X],u(a)||(j=T.interpolateUsingFraction(.5,N6),Q=(B.height+F.height)*.5,W=h.fromRadians(j.longitude,j.latitude,Q,e,zp),l.push(W.x,W.y,W.z),a=l.length/3-1,m[X]=a,r&&(K=H.add(b,v,rE),H.multiplyByScalar(K,.5,K),f.push(K.x,K.y))),s.push(w,a,R),s.push(a,D,R)):G===V&&(X=`${Math.min(D,R)} ${Math.max(D,R)}`,a=m[X],u(a)||(j=E.interpolateUsingFraction(.5,N6),Q=(F.height+I.height)*.5,W=h.fromRadians(j.longitude,j.latitude,Q,e,zp),l.push(W.x,W.y,W.z),a=l.length/3-1,m[X]=a,r&&(K=H.add(v,_,rE),H.multiplyByScalar(K,.5,K),f.push(K.x,K.y))),s.push(D,a,w),s.push(a,R,w)):(g.push(R),g.push(w),g.push(D))}let S={attributes:{position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:l})},indices:g,primitiveType:Me.TRIANGLES};return r&&(S.attributes.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:f})),new ct(S)};Gg.scaleToGeodeticHeight=function(e,t,n,i){n=y(n,ie.WGS84);let o=Z8e,r=J8e;if(t=y(t,0),i=y(i,!0),u(e)){let s=e.length;for(let a=0;a<s;a+=3)h.fromArray(e,a,r),i&&(r=n.scaleToGeodeticSurface(r,r)),t!==0&&(o=n.geodeticSurfaceNormal(r,o),h.multiplyByScalar(o,t,o),h.add(r,o,r)),e[a]=r.x,e[a+1]=r.y,e[a+2]=r.z}return e};var li=Gg;var hse=Math.cos,mse=Math.sin,t5e=Math.sqrt,V6={};V6.computePosition=function(e,t,n,i,o,r,s){let a=t.radiiSquared,c=e.nwCorner,l=e.boundingRectangle,f=c.latitude-e.granYCos*i+o*e.granXSin,d=hse(f),p=mse(f),g=a.z*p,m=c.longitude+i*e.granYSin+o*e.granXCos,A=d*hse(m),x=d*mse(m),C=a.x*A,T=a.y*x,E=t5e(C*A+T*x+g*p);if(r.x=C/E,r.y=T/E,r.z=g/E,n){let S=e.stNwCorner;u(S)?(f=S.latitude-e.stGranYCos*i+o*e.stGranXSin,m=S.longitude+i*e.stGranYSin+o*e.stGranXCos,s.x=(m-e.stWest)*e.lonScalar,s.y=(f-e.stSouth)*e.latScalar):(s.x=(m-l.west)*e.lonScalar,s.y=(f-l.south)*e.latScalar)}};var n5e=new Ji,rf=new h,i5e=new he,pU=new h,F6=new Ei;function pse(e,t,n,i,o,r,s){let a=Math.cos(t),c=i*a,l=n*a,f=Math.sin(t),d=i*f,p=n*f;rf=F6.project(e,rf),rf=h.subtract(rf,pU,rf);let g=Ji.fromRotation(t,n5e);rf=Ji.multiplyByVector(g,rf,rf),rf=h.add(rf,pU,rf),e=F6.unproject(rf,e),r-=1,s-=1;let m=e.latitude,A=m+r*p,x=m-c*s,C=m-c*s+r*p,T=Math.max(m,A,x,C),E=Math.min(m,A,x,C),S=e.longitude,D=S+r*l,w=S+s*d,R=S+s*d+r*l,O=Math.max(S,D,w,R),L=Math.min(S,D,w,R);return{north:T,south:E,east:O,west:L,granYCos:c,granYSin:d,granXCos:l,granXSin:p,nwCorner:e}}V6.computeOptions=function(e,t,n,i,o,r,s){let a=e.east,c=e.west,l=e.north,f=e.south,d=!1,p=!1;l===P.PI_OVER_TWO&&(d=!0),f===-P.PI_OVER_TWO&&(p=!0);let g,m=l-f;c>a?g=P.TWO_PI-c+a:g=a-c;let A=Math.ceil(g/t)+1,x=Math.ceil(m/t)+1,C=g/(A-1),T=m/(x-1),E=ce.northwest(e,r),S=ce.center(e,i5e);(n!==0||i!==0)&&(S.longitude<E.longitude&&(S.longitude+=P.TWO_PI),pU=F6.project(S,pU));let D=T,w=C,R=0,O=0,L=ce.clone(e,o),N={granYCos:D,granYSin:R,granXCos:w,granXSin:O,nwCorner:E,boundingRectangle:L,width:A,height:x,northCap:d,southCap:p};if(n!==0){let _=pse(E,n,C,T,S,A,x);l=_.north,f=_.south,a=_.east,c=_.west,N.granYCos=_.granYCos,N.granYSin=_.granYSin,N.granXCos=_.granXCos,N.granXSin=_.granXSin,L.north=l,L.south=f,L.east=a,L.west=c}if(i!==0){n=n-i;let _=ce.northwest(L,s),b=pse(_,n,C,T,S,A,x);N.stGranYCos=b.granYCos,N.stGranXCos=b.granXCos,N.stGranYSin=b.granYSin,N.stGranXSin=b.granXSin,N.stNwCorner=_,N.stWest=b.west,N.stSouth=b.south}return N};var ls=V6;var o5e=new se,r5e=new se,s5e=new h,a5e=new ce;function _se(e,t){let n=e._ellipsoid,i=t.height,o=t.width,r=t.northCap,s=t.southCap,a=i,c=2,l=0,f=4;r&&(c-=1,a-=1,l+=1,f-=2),s&&(c-=1,a-=1,l+=1,f-=2),l+=c*o+2*a-f;let d=new Float64Array(l*3),p=0,g=0,m,A=s5e;if(r)ls.computePosition(t,n,!1,g,0,A),d[p++]=A.x,d[p++]=A.y,d[p++]=A.z;else for(m=0;m<o;m++)ls.computePosition(t,n,!1,g,m,A),d[p++]=A.x,d[p++]=A.y,d[p++]=A.z;for(m=o-1,g=1;g<i;g++)ls.computePosition(t,n,!1,g,m,A),d[p++]=A.x,d[p++]=A.y,d[p++]=A.z;if(g=i-1,!s)for(m=o-2;m>=0;m--)ls.computePosition(t,n,!1,g,m,A),d[p++]=A.x,d[p++]=A.y,d[p++]=A.z;for(m=0,g=i-2;g>0;g--)ls.computePosition(t,n,!1,g,m,A),d[p++]=A.x,d[p++]=A.y,d[p++]=A.z;let x=d.length/3*2,C=Fe.createTypedArray(d.length/3,x),T=0;for(let S=0;S<d.length/3-1;S++)C[T++]=S,C[T++]=S+1;C[T++]=d.length/3-1,C[T++]=0;let E=new ct({attributes:new dn,primitiveType:Me.LINES});return E.attributes.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:d}),E.indices=C,E}function c5e(e,t){let n=e._surfaceHeight,i=e._extrudedHeight,o=e._ellipsoid,r=i,s=n,a=_se(e,t),c=t.height,l=t.width,f=li.scaleToGeodeticHeight(a.attributes.position.values,s,o,!1),d=f.length,p=new Float64Array(d*2);p.set(f);let g=li.scaleToGeodeticHeight(a.attributes.position.values,r,o);p.set(g,d),a.attributes.position.values=p;let m=t.northCap,A=t.southCap,x=4;m&&(x-=1),A&&(x-=1);let C=(p.length/3+x)*2,T=Fe.createTypedArray(p.length/3,C);d=p.length/6;let E=0;for(let D=0;D<d-1;D++)T[E++]=D,T[E++]=D+1,T[E++]=D+d,T[E++]=D+d+1;T[E++]=d-1,T[E++]=0,T[E++]=d+d-1,T[E++]=d,T[E++]=0,T[E++]=d;let S;if(m)S=c-1;else{let D=l-1;T[E++]=D,T[E++]=D+d,S=l+c-2}if(T[E++]=S,T[E++]=S+d,!A){let D=l+S-1;T[E++]=D,T[E]=D+d}return a.indices=T,a}function aE(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.granularity,P.RADIANS_PER_DEGREE),i=y(e.ellipsoid,ie.WGS84),o=y(e.rotation,0),r=y(e.height,0),s=y(e.extrudedHeight,r);this._rectangle=ce.clone(t),this._granularity=n,this._ellipsoid=i,this._surfaceHeight=Math.max(r,s),this._rotation=o,this._extrudedHeight=Math.min(r,s),this._offsetAttribute=e.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}aE.packedLength=ce.packedLength+ie.packedLength+5;aE.pack=function(e,t,n){return n=y(n,0),ce.pack(e._rectangle,t,n),n+=ce.packedLength,ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._extrudedHeight,t[n]=y(e._offsetAttribute,-1),t};var gse=new ce,yse=ie.clone(ie.UNIT_SPHERE),sE={rectangle:gse,ellipsoid:yse,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};aE.unpack=function(e,t,n){t=y(t,0);let i=ce.unpack(e,t,gse);t+=ce.packedLength;let o=ie.unpack(e,t,yse);t+=ie.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],l=e[t];return u(n)?(n._rectangle=ce.clone(i,n._rectangle),n._ellipsoid=ie.clone(o,n._ellipsoid),n._surfaceHeight=s,n._rotation=a,n._extrudedHeight=c,n._offsetAttribute=l===-1?void 0:l,n):(sE.granularity=r,sE.height=s,sE.rotation=a,sE.extrudedHeight=c,sE.offsetAttribute=l===-1?void 0:l,new aE(sE))};var l5e=new he;aE.createGeometry=function(e){let t=e._rectangle,n=e._ellipsoid,i=ls.computeOptions(t,e._granularity,e._rotation,0,a5e,l5e),o,r;if(P.equalsEpsilon(t.north,t.south,P.EPSILON10)||P.equalsEpsilon(t.east,t.west,P.EPSILON10))return;let s=e._surfaceHeight,a=e._extrudedHeight,c=!P.equalsEpsilon(s,a,0,P.EPSILON2),l;if(c){if(o=c5e(e,i),u(e._offsetAttribute)){let p=o.attributes.position.values.length/3,g=new Uint8Array(p);e._offsetAttribute===nn.TOP?g=g.fill(1,0,p/2):(l=e._offsetAttribute===nn.NONE?0:1,g=g.fill(l)),o.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}let f=se.fromRectangle3D(t,n,s,r5e),d=se.fromRectangle3D(t,n,a,o5e);r=se.union(f,d)}else{if(o=_se(e,i),o.attributes.position.values=li.scaleToGeodeticHeight(o.attributes.position.values,s,n,!1),u(e._offsetAttribute)){let f=o.attributes.position.values.length;l=e._offsetAttribute===nn.NONE?0:1;let d=new Uint8Array(f/3).fill(l);o.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}r=se.fromRectangle3D(t,n,s)}return new ct({attributes:o.attributes,indices:o.indices,primitiveType:Me.LINES,boundingSphere:r,offsetAttribute:e._offsetAttribute})};var HA=aE;function lE(e){this.rectangle=ce.clone(e.rectangle),this.minimumHeight=y(e.minimumHeight,0),this.maximumHeight=y(e.maximumHeight,0),this.southwestCornerCartesian=new h,this.northeastCornerCartesian=new h,this.westNormal=new h,this.southNormal=new h,this.eastNormal=new h,this.northNormal=new h;let t=y(e.ellipsoid,ie.WGS84);m5e(this,e.rectangle,t),this._orientedBoundingBox=void 0,this._boundingSphere=void 0,y(e.computeBoundingVolumes,!0)&&this.computeBoundingVolumes(t)}Object.defineProperties(lE.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});lE.prototype.computeBoundingVolumes=function(e){this._orientedBoundingBox=Rn.fromRectangle(this.rectangle,this.minimumHeight,this.maximumHeight,e),this._boundingSphere=se.fromOrientedBoundingBox(this._orientedBoundingBox)};var Ase=new h,_U=new h,xse=new h,u5e=new h,f5e=new h,d5e=new h,h5e=new h,sf=new he,Cse=new cn(h.UNIT_X,0),cE=new wn;function m5e(e,t,n){n.cartographicToCartesian(ce.southwest(t),e.southwestCornerCartesian),n.cartographicToCartesian(ce.northeast(t),e.northeastCornerCartesian),sf.longitude=t.west,sf.latitude=(t.south+t.north)*.5,sf.height=0;let i=n.cartographicToCartesian(sf,d5e),o=h.cross(i,h.UNIT_Z,u5e);h.normalize(o,e.westNormal),sf.longitude=t.east;let r=n.cartographicToCartesian(sf,h5e),s=h.cross(h.UNIT_Z,r,Ase);h.normalize(s,e.eastNormal);let a=h.subtract(i,r,Ase);h.magnitude(a)===0&&(a=h.clone(o,a));let c=h.normalize(a,f5e),l=t.south,f;if(l>0){sf.longitude=(t.west+t.east)*.5,sf.latitude=l;let A=n.cartographicToCartesian(sf,cE.origin);h.clone(c,cE.direction);let x=cn.fromPointNormal(e.southwestCornerCartesian,e.westNormal,Cse);Yi.rayPlane(cE,x,e.southwestCornerCartesian),f=n.geodeticSurfaceNormal(A,_U)}else f=n.geodeticSurfaceNormalCartographic(ce.southeast(t),_U);let d=h.cross(f,a,xse);h.normalize(d,e.southNormal);let p=t.north,g;if(p<0){sf.longitude=(t.west+t.east)*.5,sf.latitude=p;let A=n.cartographicToCartesian(sf,cE.origin);h.negate(c,cE.direction);let x=cn.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,Cse);Yi.rayPlane(cE,x,e.northeastCornerCartesian),g=n.geodeticSurfaceNormal(A,_U)}else g=n.geodeticSurfaceNormalCartographic(ce.northwest(t),_U);let m=h.cross(a,g,xse);h.normalize(m,e.northNormal)}var p5e=new h,_5e=new h,g5e=new h(0,-1,0),y5e=new h(0,0,-1),Tse=new h;function A5e(e,t){let n=t.camera,i=n.positionWC,o=n.positionCartographic,r=0;if(!ce.contains(e.rectangle,o)){let l=e.southwestCornerCartesian,f=e.northeastCornerCartesian,d=e.westNormal,p=e.southNormal,g=e.eastNormal,m=e.northNormal;t.mode!==te.SCENE3D&&(l=t.mapProjection.project(ce.southwest(e.rectangle),p5e),l.z=l.y,l.y=l.x,l.x=0,f=t.mapProjection.project(ce.northeast(e.rectangle),_5e),f.z=f.y,f.y=f.x,f.x=0,d=g5e,g=h.UNIT_Y,p=y5e,m=h.UNIT_Z);let A=h.subtract(i,l,Tse),x=h.dot(A,d),C=h.dot(A,p),T=h.subtract(i,f,Tse),E=h.dot(T,g),S=h.dot(T,m);x>0?r+=x*x:E>0&&(r+=E*E),C>0?r+=C*C:S>0&&(r+=S*S)}let s,a,c;if(t.mode===te.SCENE3D?(s=o.height,a=e.minimumHeight,c=e.maximumHeight):(s=i.x,a=0,c=0),s>c){let l=s-c;r+=l*l}else if(s<a){let l=a-s;r+=l*l}return Math.sqrt(r)}lE.prototype.distanceToCamera=function(e){let t=A5e(this,e);if(e.mode===te.SCENE3D&&u(this._orientedBoundingBox)){let n=Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC));return Math.max(t,n)}return t};lE.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};lE.prototype.createDebugVolume=function(e){let t=new M.clone(M.IDENTITY),n=new HA({rectangle:this.rectangle,height:this.minimumHeight,extrudedHeight:this.maximumHeight}),i=new At({geometry:n,id:"outline",modelMatrix:t,attributes:{color:Nt.fromColor(e)}});return new Dn({geometryInstances:i,appearance:new on({translucent:!1,flat:!0}),asynchronous:!1})};var af=lE;var IR={},x5e=new h,Ese=new h,bse=new h,Sse=new h,Dse=new Rn;IR.validOutline=function(e){let n=Rn.fromPoints(e,Dse).halfAxes,i=Z.getColumn(n,0,Ese),o=Z.getColumn(n,1,bse),r=Z.getColumn(n,2,Sse),s=h.magnitude(i),a=h.magnitude(o),c=h.magnitude(r);return!(s===0&&(a===0||c===0)||a===0&&c===0)};IR.computeProjectTo2DArguments=function(e,t,n,i){let o=Rn.fromPoints(e,Dse),r=o.halfAxes,s=Z.getColumn(r,0,Ese),a=Z.getColumn(r,1,bse),c=Z.getColumn(r,2,Sse),l=h.magnitude(s),f=h.magnitude(a),d=h.magnitude(c),p=Math.min(l,f,d);if(l===0&&(f===0||d===0)||f===0&&d===0)return!1;let g,m;return(p===f||p===d)&&(g=s),p===l?g=a:p===d&&(m=a),(p===l||p===f)&&(m=c),h.normalize(g,n),h.normalize(m,i),h.clone(o.center,t),!0};function vse(e,t,n,i,o){let r=h.subtract(e,t,x5e),s=h.dot(n,r),a=h.dot(i,r);return H.fromElements(s,a,o)}IR.createProjectPointsTo2DFunction=function(e,t,n){return function(i){let o=new Array(i.length);for(let r=0;r<i.length;r++)o[r]=vse(i[r],e,t,n);return o}};IR.createProjectPointTo2DFunction=function(e,t,n){return function(i,o){return vse(i,e,t,n,o)}};var Hp=IR;function Wg(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(Wg.prototype,{length:{get:function(){return this._length}}});Wg.prototype.enqueue=function(e){this._array.push(e),this._length++};Wg.prototype.dequeue=function(){if(this._length===0)return;let e=this._array,t=this._offset,n=e[t];return e[t]=void 0,t++,t>10&&t*2>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,n};Wg.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};Wg.prototype.contains=function(e){return this._array.indexOf(e)!==-1};Wg.prototype.clear=function(){this._array.length=this._offset=this._length=0};Wg.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var jg=Wg;var ar={};ar.computeHierarchyPackedLength=function(e,t){let n=0,i=[e];for(;i.length>0;){let o=i.pop();if(!u(o))continue;n+=2;let r=o.positions,s=o.holes;if(u(r)&&r.length>0&&(n+=r.length*t.packedLength),u(s)){let a=s.length;for(let c=0;c<a;++c)i.push(s[c])}}return n};ar.packPolygonHierarchy=function(e,t,n,i){let o=[e];for(;o.length>0;){let r=o.pop();if(!u(r))continue;let s=r.positions,a=r.holes;if(t[n++]=u(s)?s.length:0,t[n++]=u(a)?a.length:0,u(s)){let c=s.length;for(let l=0;l<c;++l,n+=i.packedLength)i.pack(s[l],t,n)}if(u(a)){let c=a.length;for(let l=0;l<c;++l)o.push(a[l])}}return n};ar.unpackPolygonHierarchy=function(e,t,n){let i=e[t++],o=e[t++],r=new Array(i),s=o>0?new Array(o):void 0;for(let a=0;a<i;++a,t+=n.packedLength)r[a]=n.unpack(e,t);for(let a=0;a<o;++a)s[a]=ar.unpackPolygonHierarchy(e,t,n),t=s[a].startingIndex,delete s[a].startingIndex;return{positions:r,holes:s,startingIndex:t}};var GA=new H;function Ose(e,t,n,i){return H.subtract(t,e,GA),H.multiplyByScalar(GA,n/i,GA),H.add(e,GA,GA),[GA.x,GA.y]}var Yg=new h;function C5e(e,t,n,i){return h.subtract(t,e,Yg),h.multiplyByScalar(Yg,n/i,Yg),h.add(e,Yg,Yg),[Yg.x,Yg.y,Yg.z]}ar.subdivideLineCount=function(e,t,n){let o=h.distance(e,t)/n,r=Math.max(0,Math.ceil(P.log2(o)));return Math.pow(2,r)};var U6=new he,k6=new he,T5e=new he,E5e=new h,wse=new la;ar.subdivideRhumbLineCount=function(e,t,n,i){let o=e.cartesianToCartographic(t,U6),r=e.cartesianToCartographic(n,k6),a=new la(o,r,e).surfaceDistance/i,c=Math.max(0,Math.ceil(P.log2(a)));return Math.pow(2,c)};ar.subdivideTexcoordLine=function(e,t,n,i,o,r){let s=ar.subdivideLineCount(n,i,o),a=H.distance(e,t),c=a/s,l=r;l.length=s*2;let f=0;for(let d=0;d<s;d++){let p=Ose(e,t,d*c,a);l[f++]=p[0],l[f++]=p[1]}return l};ar.subdivideLine=function(e,t,n,i){let o=ar.subdivideLineCount(e,t,n),r=h.distance(e,t),s=r/o;u(i)||(i=[]);let a=i;a.length=o*3;let c=0;for(let l=0;l<o;l++){let f=C5e(e,t,l*s,r);a[c++]=f[0],a[c++]=f[1],a[c++]=f[2]}return a};ar.subdivideTexcoordRhumbLine=function(e,t,n,i,o,r,s){let a=n.cartesianToCartographic(i,U6),c=n.cartesianToCartographic(o,k6);wse.setEndPoints(a,c);let l=wse.surfaceDistance/r,f=Math.max(0,Math.ceil(P.log2(l))),d=Math.pow(2,f),p=H.distance(e,t),g=p/d,m=s;m.length=d*2;let A=0;for(let x=0;x<d;x++){let C=Ose(e,t,x*g,p);m[A++]=C[0],m[A++]=C[1]}return m};ar.subdivideRhumbLine=function(e,t,n,i,o){let r=e.cartesianToCartographic(t,U6),s=e.cartesianToCartographic(n,k6),a=new la(r,s,e),c=a.surfaceDistance/i,l=Math.max(0,Math.ceil(P.log2(c))),f=Math.pow(2,l),d=a.surfaceDistance/f;u(o)||(o=[]);let p=o;p.length=f*3;let g=0;for(let m=0;m<f;m++){let A=a.interpolateUsingSurfaceDistance(m*d,T5e),x=e.cartographicToCartesian(A,E5e);p[g++]=x.x,p[g++]=x.y,p[g++]=x.z}return p};var b5e=new h,S5e=new h,D5e=new h,v5e=new h;ar.scaleToGeodeticHeightExtruded=function(e,t,n,i,o){i=y(i,ie.WGS84);let r=b5e,s=S5e,a=D5e,c=v5e;if(u(e)&&u(e.attributes)&&u(e.attributes.position)){let l=e.attributes.position.values,f=l.length/2;for(let d=0;d<f;d+=3)h.fromArray(l,d,a),i.geodeticSurfaceNormal(a,r),c=i.scaleToGeodeticSurface(a,c),s=h.multiplyByScalar(r,n,s),s=h.add(c,s,s),l[d+f]=s.x,l[d+1+f]=s.y,l[d+2+f]=s.z,o&&(c=h.clone(a,c)),s=h.multiplyByScalar(r,t,s),s=h.add(c,s,s),l[d]=s.x,l[d+1]=s.y,l[d+2]=s.z}return e};ar.polygonOutlinesFromHierarchy=function(e,t,n){let i=[],o=new jg;o.enqueue(e);let r,s,a;for(;o.length!==0;){let c=o.dequeue(),l=c.positions;if(t)for(a=l.length,r=0;r<a;r++)n.scaleToGeodeticSurface(l[r],l[r]);if(l=go(l,h.equalsEpsilon,!0),l.length<3)continue;let f=c.holes?c.holes.length:0;for(r=0;r<f;r++){let d=c.holes[r],p=d.positions;if(t)for(a=p.length,s=0;s<a;++s)n.scaleToGeodeticSurface(p[s],p[s]);if(p=go(p,h.equalsEpsilon,!0),p.length<3)continue;i.push(p);let g=0;for(u(d.holes)&&(g=d.holes.length),s=0;s<g;s++)o.enqueue(d.holes[s])}i.push(l)}return i};ar.polygonsFromHierarchy=function(e,t,n,i,o){let r=[],s=[],a=new jg;for(a.enqueue(e);a.length!==0;){let c=a.dequeue(),l=c.positions,f=c.holes,d,p;if(i)for(p=l.length,d=0;d<p;d++)o.scaleToGeodeticSurface(l[d],l[d]);if(t||(l=go(l,h.equalsEpsilon,!0)),l.length<3)continue;let g=n(l);if(!u(g))continue;let m=[],A=li.computeWindingOrder2D(g);A===Zr.CLOCKWISE&&(g.reverse(),l=l.slice().reverse());let x=l.slice(),C=u(f)?f.length:0,T=[],E;for(d=0;d<C;d++){let S=f[d],D=S.positions;if(i)for(p=D.length,E=0;E<p;++E)o.scaleToGeodeticSurface(D[E],D[E]);if(t||(D=go(D,h.equalsEpsilon,!0)),D.length<3)continue;let w=n(D);if(!u(w))continue;A=li.computeWindingOrder2D(w),A===Zr.CLOCKWISE&&(w.reverse(),D=D.slice().reverse()),T.push(D),m.push(x.length),x=x.concat(D),g=g.concat(w);let R=0;for(u(S.holes)&&(R=S.holes.length),E=0;E<R;E++)a.enqueue(S.holes[E])}r.push({outerRing:l,holes:T}),s.push({positions:x,positions2D:g,holes:m})}return{hierarchy:r,polygons:s}};var w5e=new H,I5e=new h,P5e=new Le,O5e=new Z;ar.computeBoundingRectangle=function(e,t,n,i,o){let r=Le.fromAxisAngle(e,i,P5e),s=Z.fromQuaternion(r,O5e),a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,d=n.length;for(let p=0;p<d;++p){let g=h.clone(n[p],I5e);Z.multiplyByVector(s,g,g);let m=t(g,w5e);u(m)&&(a=Math.min(a,m.x),c=Math.max(c,m.x),l=Math.min(l,m.y),f=Math.max(f,m.y))}return o.x=a,o.y=l,o.width=c-a,o.height=f-l,o};ar.createGeometryFromPositions=function(e,t,n,i,o,r,s){let a=li.triangulate(t.positions2D,t.holes);a.length<3&&(a=[0,1,2]);let c=t.positions,l=u(n),f=l?n.positions:void 0;if(o){let d=c.length,p=new Array(d*3),g=0;for(let x=0;x<d;x++){let C=c[x];p[g++]=C.x,p[g++]=C.y,p[g++]=C.z}let m={attributes:{position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:p})},indices:a,primitiveType:Me.TRIANGLES};l&&(m.attributes.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:H.packArray(f)}));let A=new ct(m);return r.normal?Ln.computeNormal(A):A}if(s===Kt.GEODESIC)return li.computeSubdivision(e,c,a,f,i);if(s===Kt.RHUMB)return li.computeRhumbLineSubdivision(e,c,a,f,i)};var Ise=[],Pse=[],R5e=new h,B5e=new h;ar.computeWallGeometry=function(e,t,n,i,o,r){let s,a,c,l,f,d,p,g,m,A=e.length,x=0,C=0,T=u(t),E=T?t.positions:void 0;if(o)for(a=A*3*2,s=new Array(a*2),T&&(m=A*2*2,g=new Array(m*2)),c=0;c<A;c++)l=e[c],f=e[(c+1)%A],s[x]=s[x+a]=l.x,++x,s[x]=s[x+a]=l.y,++x,s[x]=s[x+a]=l.z,++x,s[x]=s[x+a]=f.x,++x,s[x]=s[x+a]=f.y,++x,s[x]=s[x+a]=f.z,++x,T&&(d=E[c],p=E[(c+1)%A],g[C]=g[C+m]=d.x,++C,g[C]=g[C+m]=d.y,++C,g[C]=g[C+m]=p.x,++C,g[C]=g[C+m]=p.y,++C);else{let O=P.chordLength(i,n.maximumRadius),L=0;if(r===Kt.GEODESIC)for(c=0;c<A;c++)L+=ar.subdivideLineCount(e[c],e[(c+1)%A],O);else if(r===Kt.RHUMB)for(c=0;c<A;c++)L+=ar.subdivideRhumbLineCount(n,e[c],e[(c+1)%A],O);for(a=(L+A)*3,s=new Array(a*2),T&&(m=(L+A)*2,g=new Array(m*2)),c=0;c<A;c++){l=e[c],f=e[(c+1)%A];let N,_;T&&(d=E[c],p=E[(c+1)%A]),r===Kt.GEODESIC?(N=ar.subdivideLine(l,f,O,Pse),T&&(_=ar.subdivideTexcoordLine(d,p,l,f,O,Ise))):r===Kt.RHUMB&&(N=ar.subdivideRhumbLine(n,l,f,O,Pse),T&&(_=ar.subdivideTexcoordRhumbLine(d,p,n,l,f,O,Ise)));let b=N.length;for(let v=0;v<b;++v,++x)s[x]=N[v],s[x+a]=N[v];if(s[x]=f.x,s[x+a]=f.x,++x,s[x]=f.y,s[x+a]=f.y,++x,s[x]=f.z,s[x+a]=f.z,++x,T){let v=_.length;for(let I=0;I<v;++I,++C)g[C]=_[I],g[C+m]=_[I];g[C]=p.x,g[C+m]=p.x,++C,g[C]=p.y,g[C+m]=p.y,++C}}}A=s.length;let S=Fe.createTypedArray(A/3,A-e.length*6),D=0;for(A/=6,c=0;c<A;c++){let O=c,L=O+1,N=O+A,_=N+1;l=h.fromArray(s,O*3,R5e),f=h.fromArray(s,L*3,B5e),!h.equalsEpsilon(l,f,P.EPSILON10,P.EPSILON10)&&(S[D++]=O,S[D++]=N,S[D++]=L,S[D++]=L,S[D++]=N,S[D++]=_)}let w={attributes:new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:s})}),indices:S,primitiveType:Me.TRIANGLES};return T&&(w.attributes.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:g})),new ct(w)};var Wn=ar;function M5e(e){let t=e.length,n=new Float64Array(t*3),i=Fe.createTypedArray(t,t*2),o=0,r=0;for(let a=0;a<t;a++){let c=e[a];n[o++]=c.x,n[o++]=c.y,n[o++]=c.z,i[r++]=a,i[r++]=(a+1)%t}let s=new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:n})});return new ct({attributes:s,indices:i,primitiveType:Me.LINES})}function WA(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy;this._polygonHierarchy=t,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=Wn.computeHierarchyPackedLength(t,h)+1}WA.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions}};return new WA(t)};WA.pack=function(e,t,n){return n=y(n,0),n=Wn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),t[n]=e.packedLength,t};var L5e={polygonHierarchy:{}};WA.unpack=function(e,t,n){t=y(t,0);let i=Wn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=e[t];return u(n)||(n=new WA(L5e)),n._polygonHierarchy=i,n.packedLength=o,n};WA.createGeometry=function(e){let t=e._polygonHierarchy,n=t.positions;if(n=go(n,h.equalsEpsilon,!0),n.length<3||!Hp.validOutline(n))return;let o=Wn.polygonOutlinesFromHierarchy(t,!1);if(o.length===0)return;let r=[];for(let c=0;c<o.length;c++){let l=new At({geometry:M5e(o[c])});r.push(l)}let s=Ln.combineInstances(r)[0],a=se.fromPoints(t.positions);return new ct({attributes:s.attributes,indices:s.indices,primitiveType:s.primitiveType,boundingSphere:a})};var cf=WA;var gU=new he;function PR(e){let t=fp.fromToken(e.token),n=y(e.minimumHeight,0),i=y(e.maximumHeight,0),o=y(e.ellipsoid,ie.WGS84);this.s2Cell=t,this.minimumHeight=n,this.maximumHeight=i,this.ellipsoid=o;let r=W5e(t,n,i,o);this._boundingPlanes=r;let s=X5e(r);this._vertices=s,this._edgeNormals=new Array(6),this._edgeNormals[0]=X6(r[0],s.slice(0,4));let a;for(a=0;a<4;a++)this._edgeNormals[0][a]=h.negate(this._edgeNormals[0][a],this._edgeNormals[0][a]);for(this._edgeNormals[1]=X6(r[1],s.slice(4,8)),a=0;a<4;a++)this._edgeNormals[2+a]=X6(r[2+a],[s[a%4],s[(a+1)%4],s[4+(a+1)%4],s[4+a]]);for(this._planeVertices=[this._vertices.slice(0,4),this._vertices.slice(4,8)],a=0;a<4;a++)this._planeVertices.push([this._vertices[a%4],this._vertices[(a+1)%4],this._vertices[4+(a+1)%4],this._vertices[4+a]]);let c=t.getCenter();gU=o.cartesianToCartographic(c,gU),gU.height=(i+n)/2,this.center=o.cartographicToCartesian(gU,c),this._boundingSphere=se.fromPoints(s)}var N5e=new h,F5e=new he,V5e=new h,U5e=new he,k5e=new h,z5e=new h,H5e=new h,G5e=new h;function W5e(e,t,n,i){let o=new Array(6),r=e.getCenter(),s=i.geodeticSurfaceNormal(r,N5e),a=i.cartesianToCartographic(r,F5e);a.height=n;let c=i.cartographicToCartesian(a,V5e),l=cn.fromPointNormal(c,s);o[0]=l;let f=0,d,p=[],g,m;for(d=0;d<4;d++){g=e.getVertex(d),p[d]=g,m=i.cartesianToCartographic(g,U5e),m.height=t;let x=cn.getPointDistance(l,i.cartographicToCartesian(m,k5e));x<f&&(f=x)}let A=cn.clone(l);for(A.normal=h.negate(A.normal,A.normal),A.distance=A.distance*-1+f,o[1]=A,d=0;d<4;d++){g=p[d];let x=p[(d+1)%4],C=i.geodeticSurfaceNormal(g,z5e),T=h.subtract(x,g,G5e),E=h.cross(T,C,H5e);E=h.normalize(E,E),o[2+d]=cn.fromPointNormal(g,E)}return o}var jA=new h,YA=new h,qA=new h,z6=new h,H6=new h,G6=new h,j5e=new h,Y5e=new h,q5e=new h,W6=new h,j6=new h,Y6=new h,qg=new h,Gh=new Z;function Rse(e,t,n){jA=e.normal,YA=t.normal,qA=n.normal,z6=h.multiplyByScalar(e.normal,-e.distance,z6),H6=h.multiplyByScalar(t.normal,-t.distance,H6),G6=h.multiplyByScalar(n.normal,-n.distance,G6),W6=h.multiplyByScalar(h.cross(YA,qA,j5e),h.dot(z6,jA),W6),j6=h.multiplyByScalar(h.cross(qA,jA,Y5e),h.dot(H6,YA),j6),Y6=h.multiplyByScalar(h.cross(jA,YA,q5e),h.dot(G6,qA),Y6),Gh[0]=jA.x,Gh[1]=YA.x,Gh[2]=qA.x,Gh[3]=jA.y,Gh[4]=YA.y,Gh[5]=qA.y,Gh[6]=jA.z,Gh[7]=YA.z,Gh[8]=qA.z;let i=Z.determinant(Gh);return qg=h.add(W6,j6,qg),qg=h.add(qg,Y6,qg),new h(qg.x/i,qg.y/i,qg.z/i)}function X5e(e){let t=new Array(8);for(let n=0;n<4;n++)t[n]=Rse(e[0],e[2+(n+3)%4],e[2+n%4]),t[n+4]=Rse(e[1],e[2+(n+3)%4],e[2+n%4]);return t}var q6=new h,uE=new h;function X6(e,t){let n=[];for(let i=0;i<4;i++)q6=h.subtract(t[(i+1)%4],t[i],q6),uE=h.cross(e.normal,q6,uE),uE=h.normalize(uE,uE),n[i]=h.clone(uE);return n}Object.defineProperties(PR.prototype,{boundingVolume:{get:function(){return this}},boundingSphere:{get:function(){return this._boundingSphere}}});var K6=new h;PR.prototype.distanceToCamera=function(e){let t=e.camera.positionWC,n=[],i=[],o;cn.getPointDistance(this._boundingPlanes[0],t)>0?(n.push(0),i.push(this._planeVertices[0]),o=this._edgeNormals[0]):cn.getPointDistance(this._boundingPlanes[1],t)>0&&(n.push(1),i.push(this._planeVertices[1]),o=this._edgeNormals[1]);let r,s;for(r=0;r<4;r++)s=2+r,cn.getPointDistance(this._boundingPlanes[s],t)>0&&(n.push(s),i.push(this._planeVertices[s]),o=this._edgeNormals[s]);if(n.length===0)return 0;let a,c;if(n.length===1)return c=this._boundingPlanes[n[0]],a=Z6(cn.projectPointOntoPlane(c,t,K6),i[0],c,o),h.distance(a,t);if(n.length===2){if(n[0]===0){let p=[this._vertices[4*n[0]+(n[1]-2)],this._vertices[4*n[0]+(n[1]-2+1)%4]];return a=Bse(t,p[0],p[1]),h.distance(a,t)}let f=Number.MAX_VALUE,d;for(r=0;r<2;r++)c=this._boundingPlanes[n[r]],a=Z6(cn.projectPointOntoPlane(c,t,K6),i[r],c,this._edgeNormals[n[r]]),d=h.distanceSquared(a,t),d<f&&(f=d);return Math.sqrt(f)}else if(n.length>3)return a=Z6(cn.projectPointOntoPlane(this._boundingPlanes[1],t,K6),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),h.distance(a,t);let l=n[1]===2&&n[2]===5?0:1;return n[0]===0?h.distance(t,this._vertices[(n[1]-2+l)%4]):h.distance(t,this._vertices[4+(n[1]-2+l)%4])};var K5e=new h,Z5e=new h;function Bse(e,t,n){let i=h.subtract(n,t,K5e),o=h.subtract(e,t,Z5e),r=h.dot(i,o);if(r<=0)return t;let s=h.dot(i,i);return r>=s?n:(r=r/s,new h((1-r)*t.x+r*n.x,(1-r)*t.y+r*n.y,(1-r)*t.z+r*n.z))}var J5e=new cn(h.UNIT_X,0);function Z6(e,t,n,i){let o=Number.MAX_VALUE,r,s,a;for(let c=0;c<t.length;c++){let l=cn.fromPointNormal(t[c],i[c],J5e);cn.getPointDistance(l,e)<0||(a=Bse(e,t[c],t[(c+1)%4]),r=h.distance(e,a),r<o&&(o=r,s=a))}return u(s)?s:e}PR.prototype.intersectPlane=function(e){let t=0,n=0;for(let i=0;i<this._vertices.length;i++)h.dot(e.normal,this._vertices[i])+e.distance<0?n++:t++;return t===this._vertices.length?Qt.INSIDE:n===this._vertices.length?Qt.OUTSIDE:Qt.INTERSECTING};PR.prototype.createDebugVolume=function(e){let t=new M.clone(M.IDENTITY),n=new cf({polygonHierarchy:{positions:this._planeVertices[0]}}),i=cf.createGeometry(n),o=new At({geometry:i,id:"outline",modelMatrix:t,attributes:{color:Nt.fromColor(e)}}),r=new cf({polygonHierarchy:{positions:this._planeVertices[1]}}),s=cf.createGeometry(r),a=new At({geometry:s,id:"outline",modelMatrix:t,attributes:{color:Nt.fromColor(e)}}),c=[];for(let l=0;l<4;l++){let f=new cf({polygonHierarchy:{positions:this._planeVertices[2+l]}}),d=cf.createGeometry(f);c[l]=new At({geometry:d,id:"outline",modelMatrix:t,attributes:{color:Nt.fromColor(e)}})}return new Dn({geometryInstances:[c[0],c[1],c[2],c[3],a,o],appearance:new on({translucent:!1,flat:!0}),asynchronous:!1})};var OR=PR;var Q5e=new h(1,1,1),yU=Math.cos,AU=Math.sin;function fE(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,Q5e),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,10)),c=Math.round(y(e.slicePartitions,8)),l=Math.round(y(e.subdivisions,128));this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._subdivisions=l,this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}fE.packedLength=2*h.packedLength+8;fE.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n++]=e._subdivisions,t[n]=y(e._offsetAttribute,-1),t};var Mse=new h,Lse=new h,Gp={radii:Mse,innerRadii:Lse,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};fE.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,Mse);t+=h.packedLength;let o=h.unpack(e,t,Lse);t+=h.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],l=e[t++],f=e[t++],d=e[t++],p=e[t];return u(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._minimumClock=r,n._maximumClock=s,n._minimumCone=a,n._maximumCone=c,n._stackPartitions=l,n._slicePartitions=f,n._subdivisions=d,n._offsetAttribute=p===-1?void 0:p,n):(Gp.minimumClock=r,Gp.maximumClock=s,Gp.minimumCone=a,Gp.maximumCone=c,Gp.stackPartitions=l,Gp.slicePartitions=f,Gp.subdivisions=d,Gp.offsetAttribute=p===-1?void 0:p,new fE(Gp))};fE.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._subdivisions,c=ie.fromCartesian3(t),l=e._slicePartitions+1,f=e._stackPartitions+1;l=Math.round(l*Math.abs(o-i)/P.TWO_PI),f=Math.round(f*Math.abs(s-r)/P.PI),l<2&&(l=2),f<2&&(f=2);let d=0,p=1,g=n.x!==t.x||n.y!==t.y||n.z!==t.z,m=!1,A=!1;g&&(p=2,r>0&&(m=!0,d+=l),s<Math.PI&&(A=!0,d+=l));let x=a*p*(f+l),C=new Float64Array(x*3),T=2*(x+d-(l+f)*p),E=Fe.createTypedArray(x,T),S,D,w,R,O=0,L=new Array(f),N=new Array(f);for(S=0;S<f;S++)R=r+S*(s-r)/(f-1),L[S]=AU(R),N[S]=yU(R);let _=new Array(a),b=new Array(a);for(S=0;S<a;S++)w=i+S*(o-i)/(a-1),_[S]=AU(w),b[S]=yU(w);for(S=0;S<f;S++)for(D=0;D<a;D++)C[O++]=t.x*L[S]*b[D],C[O++]=t.y*L[S]*_[D],C[O++]=t.z*N[S];if(g)for(S=0;S<f;S++)for(D=0;D<a;D++)C[O++]=n.x*L[S]*b[D],C[O++]=n.y*L[S]*_[D],C[O++]=n.z*N[S];for(L.length=a,N.length=a,S=0;S<a;S++)R=r+S*(s-r)/(a-1),L[S]=AU(R),N[S]=yU(R);for(_.length=l,b.length=l,S=0;S<l;S++)w=i+S*(o-i)/(l-1),_[S]=AU(w),b[S]=yU(w);for(S=0;S<a;S++)for(D=0;D<l;D++)C[O++]=t.x*L[S]*b[D],C[O++]=t.y*L[S]*_[D],C[O++]=t.z*N[S];if(g)for(S=0;S<a;S++)for(D=0;D<l;D++)C[O++]=n.x*L[S]*b[D],C[O++]=n.y*L[S]*_[D],C[O++]=n.z*N[S];for(O=0,S=0;S<f*p;S++){let B=S*a;for(D=0;D<a-1;D++)E[O++]=B+D,E[O++]=B+D+1}let v=f*a*p;for(S=0;S<l;S++)for(D=0;D<a-1;D++)E[O++]=v+S+D*l,E[O++]=v+S+(D+1)*l;if(g)for(v=f*a*p+l*a,S=0;S<l;S++)for(D=0;D<a-1;D++)E[O++]=v+S+D*l,E[O++]=v+S+(D+1)*l;if(g){let B=f*a*p,F=B+a*l;if(m)for(S=0;S<l;S++)E[O++]=B+S,E[O++]=F+S;if(A)for(B+=a*l-l,F+=a*l-l,S=0;S<l;S++)E[O++]=B+S,E[O++]=F+S}let I=new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:C})});if(u(e._offsetAttribute)){let B=C.length,F=e._offsetAttribute===nn.NONE?0:1,k=new Uint8Array(B/3).fill(F);I.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:k})}return new ct({attributes:I,indices:E,primitiveType:Me.LINES,boundingSphere:se.fromEllipsoid(c),offsetAttribute:e._offsetAttribute})};var $l=fE;function dE(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,subdivisions:e.subdivisions};this._ellipsoidGeometry=new $l(i),this._workerName="createSphereOutlineGeometry"}dE.packedLength=$l.packedLength;dE.pack=function(e,t,n){return $l.pack(e._ellipsoidGeometry,t,n)};var $5e=new $l,XA={radius:void 0,radii:new h,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};dE.unpack=function(e,t,n){let i=$l.unpack(e,t,$5e);return XA.stackPartitions=i._stackPartitions,XA.slicePartitions=i._slicePartitions,XA.subdivisions=i._subdivisions,u(n)?(h.clone(i._radii,XA.radii),n._ellipsoidGeometry=new $l(XA),n):(XA.radius=i._radii.x,new dE(XA))};dE.createGeometry=function(e){return $l.createGeometry(e._ellipsoidGeometry)};var Wp=dE;function hE(e,t){t===0&&(t=P.EPSILON7),this._boundingSphere=new se(e,t)}Object.defineProperties(hE.prototype,{center:{get:function(){return this._boundingSphere.center}},radius:{get:function(){return this._boundingSphere.radius}},boundingVolume:{get:function(){return this._boundingSphere}},boundingSphere:{get:function(){return this._boundingSphere}}});hE.prototype.distanceToCamera=function(e){let t=this._boundingSphere;return Math.max(0,h.distance(t.center,e.camera.positionWC)-t.radius)};hE.prototype.intersectPlane=function(e){return se.intersectPlane(this._boundingSphere,e)};hE.prototype.update=function(e,t){h.clone(e,this._boundingSphere.center),this._boundingSphere.radius=t};hE.prototype.createDebugVolume=function(e){let t=new Wp({radius:this.radius}),n=M.fromTranslation(this.center,new M.clone(M.IDENTITY)),i=new At({geometry:t,id:"outline",modelMatrix:n,attributes:{color:Nt.fromColor(e)}});return new Dn({geometryInstances:i,appearance:new on({translucent:!1,flat:!0}),asynchronous:!1})};var jp=hE;var e6e=new h,t6e=new h,n6e=new h,i6e=new h;function KA(e,t,n){n=h.cross(e,t,n);let i=h.magnitude(n);return h.multiplyByScalar(n,P.EPSILON7/i,n)}function J6(e,t){let n=h.normalize(e,i6e),i=h.equalsEpsilon(n,h.UNIT_X,P.EPSILON6)?h.UNIT_Y:h.UNIT_X;return KA(e,i,t)}function Nse(e){let t=Z.getColumn(e,0,e6e),n=Z.getColumn(e,1,t6e),i=Z.getColumn(e,2,n6e),o=h.equals(t,h.ZERO),r=h.equals(n,h.ZERO),s=h.equals(i,h.ZERO);return!o&&!r&&!s?e:o&&r&&s?(e[0]=P.EPSILON7,e[4]=P.EPSILON7,e[8]=P.EPSILON7,e):(o&&!r&&!s?t=KA(n,i,t):!o&&r&&!s?n=KA(t,i,n):!o&&!r&&s?i=KA(n,t,i):o?r?s||(t=J6(i,t),n=KA(i,t,n)):(t=J6(n,t),i=KA(n,t,i)):(n=J6(t,n),i=KA(n,t,i)),Z.setColumn(e,0,t,e),Z.setColumn(e,1,n,e),Z.setColumn(e,2,i,e),e)}function mE(e,t){t=Nse(t),this._orientedBoundingBox=new Rn(e,t),this._boundingSphere=se.fromOrientedBoundingBox(this._orientedBoundingBox)}Object.defineProperties(mE.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});mE.prototype.distanceToCamera=function(e){return Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC))};mE.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};mE.prototype.update=function(e,t){h.clone(e,this._orientedBoundingBox.center),t=Nse(t),Z.clone(t,this._orientedBoundingBox.halfAxes),se.fromOrientedBoundingBox(this._orientedBoundingBox,this._boundingSphere)};mE.prototype.createDebugVolume=function(e){let t=new Xf({minimum:new h(-1,-1,-1),maximum:new h(1,1,1)}),n=M.fromRotationTranslation(this.boundingVolume.halfAxes,this.boundingVolume.center),i=new At({geometry:t,id:"outline",modelMatrix:n,attributes:{color:Nt.fromColor(e)}});return new Dn({geometryInstances:i,appearance:new on({translucent:!1,flat:!0}),asynchronous:!1})};var lf=mE;function Xo(e,t,n,i){this._tileset=e,this._header=n;let o=u(n.contents),r=o&&n.contents.length>1||ai(n,"3DTILES_multiple_contents"),s=o&&!r?n.contents[0]:n.content;this._contentHeader=s,this.transform=u(n.transform)?M.unpack(n.transform):M.clone(M.IDENTITY);let a=u(i)?i.computedTransform:e.modelMatrix,c=M.multiply(a,this.transform,new M),l=u(i)?i._initialTransform:M.IDENTITY;this._initialTransform=M.multiply(l,this.transform,new M),this.computedTransform=c,this._boundingVolume=this.createBoundingVolume(n.boundingVolume,c),this._boundingVolume2D=void 0;let f;u(s)&&u(s.boundingVolume)&&(f=this.createBoundingVolume(s.boundingVolume,c)),this._contentBoundingVolume=f,this._contentBoundingVolume2D=void 0;let d;u(n.viewerRequestVolume)&&(d=this.createBoundingVolume(n.viewerRequestVolume,c)),this._viewerRequestVolume=d,this.geometricError=n.geometricError,this._geometricError=n.geometricError,u(this._geometricError)||(this._geometricError=u(i)?i._geometricError:e._geometricError,Xo._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let p;u(n.refine)?((n.refine==="replace"||n.refine==="add")&&Xo._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${n.refine}". Instead use "${n.refine.toUpperCase()}".`),p=n.refine.toUpperCase()==="REPLACE"?Sr.REPLACE:Sr.ADD):u(i)?p=i.refine:p=Sr.REPLACE,this.refine=p,this.children=[],this.parent=i;let g,m=!1,A,x,C;if(t=Oe.createIfNeeded(t),r)A=Eo.UNLOADED,x=t.clone();else if(u(s)){let D=s.uri;u(s.url)&&(Xo._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),D=s.url),D===""?(Xo._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),g=new iE(e,this),m=!0,A=Eo.READY):(A=Eo.UNLOADED,x=t.getDerivedResource({url:D}),C=Oa.getServerKey(x.getUrlComponent()))}else g=new iE(e,this),m=!0,A=Eo.READY;this._content=g,this._contentResource=x,this._contentState=A,this._contentReadyToProcessPromise=void 0,this._contentReadyPromise=void 0,this._expiredContent=void 0,this._serverKey=C,this.hasEmptyContent=m,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=r,this.metadata=bR(e,n),this.cacheNode=void 0;let T=n.expire,E,S;u(T)&&(E=T.duration,u(T.date)&&(S=$.fromIso8601(T.date))),this.expireDuration=E,this.expireDate=S,this.lastStyleTime=0,this._optimChildrenWithinParent=of.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._clippingPlanesState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=z.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new $,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}Xo._deprecationWarning=nr;Object.defineProperties(Xo.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return y(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},extras:{get:function(){return this._header.extras}},color:{get:function(){return u(this._color)||(this._color=new z),z.clone(this._color)},set:function(e){this._color=z.clone(e,this._color),this._colorDirty=!0}},contentAvailable:{get:function(){return this.contentReady&&!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent||u(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===Eo.READY}},contentUnloaded:{get:function(){return this._contentState===Eo.UNLOADED}},contentExpired:{get:function(){return this._contentState===Eo.EXPIRED}},contentFailed:{get:function(){return this._contentState===Eo.FAILED}},contentReadyToProcessPromise:{get:function(){return this._contentReadyToProcessPromise}},contentReadyPromise:{get:function(){return this._contentReadyPromise}},commandsLength:{get:function(){return this._commandsLength}}});var Xg=new h;function o6e(e,t){let n=e._tileset,i=t.camera,o=e.boundingSphere,r=o.radius,s=h.multiplyByScalar(i.directionWC,e._centerZDepth,Xg),a=h.add(i.positionWC,s,Xg),c=h.subtract(a,o.center,Xg);if(h.magnitude(c)>r){let E=h.normalize(c,Xg),S=h.multiplyByScalar(E,r,Xg),D=h.add(o.center,S,Xg),w=h.subtract(D,i.positionWC,Xg),R=h.normalize(w,Xg);e._foveatedFactor=1-Math.abs(h.dot(i.directionWC,R))}else e._foveatedFactor=0;let d=e.refine===Sr.REPLACE,p=n._skipLevelOfDetail;if(d&&!p||!n.foveatedScreenSpaceError||n.foveatedConeSize===1||e._priorityProgressiveResolution&&d&&p||n._pass===qo.PRELOAD_FLIGHT||n._pass===qo.PRELOAD)return!1;let g=1-Math.cos(i.frustum.fov*.5),m=n.foveatedConeSize*g;if(e._foveatedFactor<=m)return!1;let A=g-m,x=P.clamp((e._foveatedFactor-m)/A,0,1),C=n.foveatedInterpolationCallback(n.foveatedMinimumScreenSpaceErrorRelaxation,n.maximumScreenSpaceError,x),T=e._screenSpaceError===0&&u(e.parent)?e.parent._screenSpaceError*.5:e._screenSpaceError;return n.maximumScreenSpaceError-C<=T}var Use=new $;Xo.prototype.getScreenSpaceError=function(e,t,n){let i=this._tileset,o=y(n,1),r=u(this.parent)?this.parent.geometricError:i._scaledGeometricError,s=t?r:this.geometricError;if(s===0)return 0;let a=e.camera,c=a.frustum,l=e.context,f=l.drawingBufferWidth,d=l.drawingBufferHeight*o,p;if(e.mode===te.SCENE2D||c instanceof en){u(c._offCenterFrustum)&&(c=c._offCenterFrustum);let g=Math.max(c.top-c.bottom,c.right-c.left)/Math.max(f,d);p=s/g}else{let g=Math.max(this._distanceToCamera,P.EPSILON7),m=a.frustum.sseDenominator;if(p=s*d/(g*m),i.dynamicScreenSpaceError){let A=i._dynamicScreenSpaceErrorComputedDensity,x=i.dynamicScreenSpaceErrorFactor,C=P.fog(g,A)*x;p-=C}}return p/=e.pixelRatio,p};function r6e(e,t){if(e.progressiveResolutionHeightFraction<=0||e.progressiveResolutionHeightFraction>.5)return!1;let n=t._screenSpaceErrorProgressiveResolution>e._maximumScreenSpaceError;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let i=t.parent,o=e._maximumScreenSpaceError,r=t._screenSpaceErrorProgressiveResolution<=o,s=u(i)&&i._screenSpaceErrorProgressiveResolution>o;return r&&s&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,n=!0),n}function s6e(e,t){let n=t.parent,o=u(n)&&(!e._skipLevelOfDetail||t._screenSpaceError===0||n.hasTilesetContent||n.hasImplicitContent)?n._screenSpaceError:t._screenSpaceError;return e.root._screenSpaceError-o}Xo.prototype.updateVisibility=function(e){let t=this.parent,n=this._tileset,i=u(t)?t.computedTransform:n.modelMatrix,o=u(t)?t._visibilityPlaneMask:$r.MASK_INDETERMINATE;this.updateTransform(i),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,n.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,o),this._visible=this._visibilityPlaneMask!==$r.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=s6e(n,this),this._priorityProgressiveResolution=r6e(n,this),this.priorityDeferred=o6e(this,e)};Xo.prototype.updateExpiration=function(){if(u(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let e=$.now(Use);$.lessThan(this.expireDate,e)&&(this._contentState=Eo.EXPIRED,this._expiredContent=this._content)}};function a6e(e){if(u(e.expireDuration)){let t=$.now(Use);$.addSeconds(t,e.expireDuration,t),u(e.expireDate)?$.lessThan(e.expireDate,t)&&$.clone(t,e.expireDate):e.expireDate=$.clone(t)}}function c6e(e){return function(){return e._priority}}Xo.prototype.requestContent=function(){return this.hasEmptyContent?0:this.hasMultipleContents?l6e(this):u6e(this)};function l6e(e){let t=e._content,n=e._tileset;if(!u(t)){let r=ai(e._header,"3DTILES_multiple_contents")?e._header.extensions["3DTILES_multiple_contents"]:e._header;t=new SR(n,e,e._contentResource.clone(),r),e._content=t}let i=t.requestInnerContents();if(i>0)return i;e._contentState=Eo.LOADING;let o=t.contentsFetchedPromise.then(function(){if(!(e._contentState!==Eo.LOADING||!u(t.readyPromise))){if(e.isDestroyed()){Q6(e,n,"Tile was unloaded while content was loading");return}return e._contentState=Eo.PROCESSING,t}});return e._contentReadyToProcessPromise=o,e._contentReadyPromise=o.then(function(r){if(u(r))return t.readyPromise}).then(function(r){if(u(r)){if(e.isDestroyed()){Q6(e,n,"Tile was unloaded while content was processing");return}return e._selectedFrame=0,e.lastStyleTime=0,$.now(e._loadTimestamp),e._contentState=Eo.READY,r}}).catch(function(r){Q6(e,n,r)}),0}function Q6(e,t,n){e._contentState===Eo.PROCESSING&&--t.statistics.numberOfTilesProcessing,e._contentState=Eo.FAILED}function u6e(e){let t=e._contentResource.clone(),n=e.contentExpired;n&&t.setQueryParameters({expired:e.expireDate.toString()});let i=new zo({throttle:!0,throttleByServer:!0,type:Qr.TILES3D,priorityFunction:c6e(e),serverKey:e._serverKey});e._request=i,t.request=i;let o=t.fetchArrayBuffer();if(!u(o))return 1;let r=e._contentState,s=e._tileset;e._contentState=Eo.LOADING,++s.statistics.numberOfPendingRequests;let a=o.then(function(c){if(e.isDestroyed()){$6(e,s);return}let l=f6e(e,c);return n&&(e.expireDate=void 0),e._content=l,e._contentState=Eo.PROCESSING,l});return e._contentReadyToProcessPromise=a,e._contentReadyPromise=a.then(function(c){if(u(c))return--s.statistics.numberOfPendingRequests,c.readyPromise}).then(function(c){if(u(c)){if(e.isDestroyed()){$6(e,s);return}return a6e(e),e._selectedFrame=0,e.lastStyleTime=0,$.now(e._loadTimestamp),e._contentState=Eo.READY,c}}).catch(function(c){return i.state===hi.CANCELLED?(e._contentState=r,--s.statistics.numberOfPendingRequests,++s.statistics.numberOfAttemptedRequests,Promise.reject("Cancelled")):($6(e,s),Promise.reject(c))}),0}function $6(e,t){e._contentState===Eo.PROCESSING?--t.statistics.numberOfTilesProcessing:--t.statistics.numberOfPendingRequests,e._contentState=Eo.FAILED}function f6e(e,t){let n=Hh(t),i=e._tileset;i._disableSkipLevelOfDetail=i._disableSkipLevelOfDetail||n.contentType===cs.GEOMETRY||n.contentType===cs.VECTOR,(n.contentType===cs.IMPLICIT_SUBTREE||n.contentType===cs.IMPLICIT_SUBTREE_JSON)&&(e.hasImplicitContent=!0),n.contentType===cs.EXTERNAL_TILESET&&(e.hasTilesetContent=!0);let o,r=NA[n.contentType];u(n.binaryPayload)?o=r(i,e,e._contentResource,n.binaryPayload.buffer,0):o=r(i,e,e._contentResource,n.jsonPayload);let s=e._contentHeader;if(e.hasImplicitContentMetadata){let c=e.implicitSubtree,l=e.implicitCoordinates;o.metadata=c.getContentMetadataView(l,0)}else e.hasImplicitContent||(o.metadata=UA(i,s));let a=kA(i,s);return u(a)&&(o.group=new iA({metadata:a})),o}Xo.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};Xo.prototype.unloadContent=function(){this.hasEmptyContent||this.hasTilesetContent||this.hasImplicitContent||(this._content=this._content&&this._content.destroy(),this._contentState=Eo.UNLOADED,this._contentReadyToProcessPromise=void 0,this._contentReadyPromise=void 0,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var kse=new se;function t9(e,t){if(t.mode!==te.SCENE3D&&!u(e._boundingVolume2D)){let n=e._boundingVolume.boundingSphere,i=se.projectTo2D(n,t.mapProjection,kse);e._boundingVolume2D=new jp(i.center,i.radius)}return t.mode!==te.SCENE3D?e._boundingVolume2D:e._boundingVolume}function d6e(e,t){if(t.mode!==te.SCENE3D&&!u(e._contentBoundingVolume2D)){let n=e._contentBoundingVolume.boundingSphere,i=se.projectTo2D(n,t.mapProjection,kse);e._contentBoundingVolume2D=new jp(i.center,i.radius)}return t.mode!==te.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}Xo.prototype.visibility=function(e,t){let n=e.cullingVolume,i=t9(this,e),o=this._tileset,r=o.clippingPlanes;if(u(r)&&r.enabled){let s=r.computeIntersectionWithBoundingVolume(i,o.clippingPlanesOriginMatrix);if(this._isClipped=s!==Qt.INSIDE,s===Qt.OUTSIDE)return $r.MASK_OUTSIDE}return n.computeVisibilityWithPlaneMask(i,t)};Xo.prototype.contentVisibility=function(e){if(!u(this._contentBoundingVolume))return Qt.INSIDE;if(this._visibilityPlaneMask===$r.MASK_INSIDE)return Qt.INSIDE;let t=e.cullingVolume,n=d6e(this,e),i=this._tileset,o=i.clippingPlanes;if(u(o)&&o.enabled){let r=o.computeIntersectionWithBoundingVolume(n,i.clippingPlanesOriginMatrix);if(this._isClipped=r!==Qt.INSIDE,r===Qt.OUTSIDE)return Qt.OUTSIDE}return t.computeVisibility(n)};Xo.prototype.distanceToTile=function(e){return t9(this,e).distanceToCamera(e)};var h6e=new h;Xo.prototype.distanceToTileCenter=function(e){let n=t9(this,e).boundingVolume,i=h.subtract(n.center,e.camera.positionWC,h6e);return h.dot(e.camera.directionWC,i)};Xo.prototype.insideViewerRequestVolume=function(e){let t=this._viewerRequestVolume;return!u(t)||t.distanceToCamera(e)===0};var zse=new Z,Hse=new h,m6e=new Z,Gse=new h,Wse=new ce,p6e=new Rn,e9=new M;function _6e(e,t,n){let i=h.fromElements(e[0],e[1],e[2],Gse),o=Z.fromArray(e,3,m6e);i=M.multiplyByPoint(t,i,i);let r=M.getMatrix3(t,zse);return o=Z.multiply(r,o,o),u(n)?(n.update(i,o),n):new lf(i,o)}function g6e(e,t,n,i){let o=ce.unpack(e,0,Wse),r=e[4],s=e[5],a=Rn.fromRectangle(o,r,s,ie.WGS84,p6e),c=a.center,l=a.halfAxes;t=M.multiplyTransformation(t,M.inverseTransformation(n,e9),e9),c=M.multiplyByPoint(t,c,c);let f=M.getMatrix3(t,zse);return l=Z.multiply(f,l,l),u(i)&&i instanceof lf?(i.update(c,l),i):new lf(c,l)}function y6e(e,t,n,i){if(!M.equalsEpsilon(t,n,P.EPSILON8))return g6e(e,t,n,i);if(u(i))return i;let o=ce.unpack(e,0,Wse);return new af({rectangle:o,minimumHeight:e[4],maximumHeight:e[5]})}function A6e(e,t,n){let i=h.fromElements(e[0],e[1],e[2],Gse),o=e[3];i=M.multiplyByPoint(t,i,i);let r=M.getScale(t,Hse),s=h.maximumComponent(r);return o*=s,u(n)?(n.update(i,o),n):new jp(i,o)}Xo.prototype.createBoundingVolume=function(e,t,n){if(!u(e))throw new ue("boundingVolume must be defined");if(ai(e,"3DTILES_bounding_volume_S2"))return new OR(e.extensions["3DTILES_bounding_volume_S2"]);if(u(e.box))return _6e(e.box,t,n);if(u(e.region))return y6e(e.region,t,this._initialTransform,n);if(u(e.sphere))return A6e(e.sphere,t,n);throw new ue("boundingVolume must contain a sphere, region, or box")};Xo.prototype.updateTransform=function(e){e=y(e,M.IDENTITY);let t=M.multiply(e,this.transform,e9);if(!!M.equals(t,this.computedTransform))return;M.clone(t,this.computedTransform);let i=this._header,o=this._contentHeader;this._boundingVolume=this.createBoundingVolume(i.boundingVolume,this.computedTransform,this._boundingVolume),u(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(o.boundingVolume,this.computedTransform,this._contentBoundingVolume)),u(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(i.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};Xo.prototype.updateGeometricErrorScale=function(){let e=M.getScale(this.computedTransform,Hse),t=h.maximumComponent(e);if(this.geometricError=this._geometricError*t,!u(this.parent)){let n=this._tileset;n._scaledGeometricError=n._geometricError*t}};function x6e(e,t,n,i){if(!i.isRender)return;let o=u(e._contentHeader)&&u(e._contentHeader.boundingVolume),r=e.hasEmptyContent||e.hasTilesetContent||e.hasImplicitContent,s=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o;if(s){let l;e._finalResolution?r?l=z.DARKGRAY:l=z.WHITE:l=z.YELLOW,u(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(l)),e._debugBoundingVolume.update(n);let f=e._debugBoundingVolume.getGeometryInstanceAttributes("outline");f.color=Nt.toValue(l,f.color)}else!s&&u(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy());t.debugShowContentBoundingVolume&&o?(u(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(z.BLUE)),e._debugContentBoundingVolume.update(n)):!t.debugShowContentBoundingVolume&&u(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&u(e._viewerRequestVolume)?(u(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(z.YELLOW)),e._debugViewerRequestVolume.update(n)):!t.debugShowViewerRequestVolume&&u(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy());let a=t.debugColorizeTiles&&!e._debugColorizeTiles||u(t._heatmap.tilePropertyName),c=!t.debugColorizeTiles&&e._debugColorizeTiles;a?(t._heatmap.colorize(e,n),e._debugColorizeTiles=!0,e.color=e._debugColor):c&&(e._debugColorizeTiles=!1,e.color=z.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),c&&t.makeStyleDirty()}function C6e(e,t,n){let i=e._content,o=e._expiredContent;if(!e.hasMultipleContents&&u(o)){if(!e.contentReady){o.update(t,n);return}e._expiredContent.destroy(),e._expiredContent=void 0}i.update(t,n)}function T6e(e,t){let n=t.clippingPlanes,i=0;u(n)&&e._isClipped&&n.enabled&&(i=n.clippingPlanesState),i!==e._clippingPlanesState&&(e._clippingPlanesState=i,e.clippingPlanesDirty=!0)}Xo.prototype.update=function(e,t,n){let i=t.commandList.length;T6e(this,e),x6e(this,e,t,n),C6e(this,e,t);let r=t.commandList.length-i;this._commandsLength=r;for(let s=0;s<r;++s){let a=t.commandList[i+s],c=a.pass===Ee.TRANSLUCENT;a.depthForTranslucentClassification=c}this.clippingPlanesDirty=!1};var Fse=[];Xo.prototype.process=function(e,t){let n=t.commandList;t.commandList=Fse,this._content.update(e,t),Fse.length=0,t.commandList=n};function Vse(e,t,n){let i=e*Math.pow(10,t);return parseInt(i)*Math.pow(10,n)}function xU(e,t,n){return Math.max(P.normalize(e,t,n)-P.EPSILON7,0)}Xo.prototype.updatePriority=function(){let e=this.tileset,t=e.preferLeaves,n=e._minimumPriority,i=e._maximumPriority,o=4,r=1,s=0,a=o,c=s+a,l=o,f=c+l,d=r,p=Math.pow(10,f),g=f+d,m=r,A=Math.pow(10,g),x=g+m,C=Math.pow(10,x),T=xU(this._depth,n.depth,i.depth);T=t?1-T:T;let S=!e._skipLevelOfDetail&&this.refine===Sr.REPLACE?xU(this._priorityHolder._distanceToCamera,n.distance,i.distance):xU(this._priorityReverseScreenSpaceError,n.reverseScreenSpaceError,i.reverseScreenSpaceError),D=Vse(S,a,s),w=this._priorityProgressiveResolution?0:p,R=xU(this._priorityHolder._foveatedFactor,n.foveatedFactor,i.foveatedFactor),O=Vse(R,l,c),L=this.priorityDeferred?A:0,N=e._pass===qo.PRELOAD_FLIGHT?0:C;this._priority=T+D+w+O+L+N};Xo.prototype.isDestroyed=function(){return!1};Xo.prototype.destroy=function(){return this._content=this._content&&this._content.destroy(),this._expiredContent=this._expiredContent&&!this._expiredContent.isDestroyed()&&this._expiredContent.destroy(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy(),le(this)};var eu=Xo;function Yp(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.group,i=e.class,o=u(n.properties)?n.properties:{};this._class=i,this._properties=o,this._id=t,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(Yp.prototype,{class:{get:function(){return this._class}},id:{get:function(){return this._id}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Yp.prototype.hasProperty=function(e){return Nn.hasProperty(e,this._properties,this._class)};Yp.prototype.hasPropertyBySemantic=function(e){return Nn.hasPropertyBySemantic(e,this._properties,this._class)};Yp.prototype.getPropertyIds=function(e){return Nn.getPropertyIds(this._properties,this._class,e)};Yp.prototype.getProperty=function(e){return Nn.getProperty(e,this._properties,this._class)};Yp.prototype.setProperty=function(e,t){return Nn.setProperty(e,t,this._properties,this._class)};Yp.prototype.getPropertyBySemantic=function(e){return Nn.getPropertyBySemantic(e,this._properties,this._class)};Yp.prototype.setPropertyBySemantic=function(e,t){return Nn.setPropertyBySemantic(e,t,this._properties,this._class)};var pE=Yp;function qp(e){e=y(e,y.EMPTY_OBJECT);let t=e.tileset,n=e.class,i=u(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(qp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});qp.prototype.hasProperty=function(e){return Nn.hasProperty(e,this._properties,this._class)};qp.prototype.hasPropertyBySemantic=function(e){return Nn.hasPropertyBySemantic(e,this._properties,this._class)};qp.prototype.getPropertyIds=function(e){return Nn.getPropertyIds(this._properties,this._class,e)};qp.prototype.getProperty=function(e){return Nn.getProperty(e,this._properties,this._class)};qp.prototype.setProperty=function(e,t){return Nn.setProperty(e,t,this._properties,this._class)};qp.prototype.getPropertyBySemantic=function(e){return Nn.getPropertyBySemantic(e,this._properties,this._class)};qp.prototype.setPropertyBySemantic=function(e,t){return Nn.setPropertyBySemantic(e,t,this._properties,this._class)};var RR=qp;function jse(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataJson,n=e.schema,i=y(t.metadata,t.tileset),o;u(i)&&(o=new RR({tileset:i,class:n.classes[i.class]}));let r=[],s=[],a=t.groups;if(Array.isArray(a)){let c=a.length;for(let l=0;l<c;l++){let f=a[l];s.push(new pE({group:f,class:n.classes[f.class]}))}}else if(u(a)){r=Object.keys(a).sort();let c=r.length;for(let l=0;l<c;l++){let f=r[l];if(a.hasOwnProperty(f)){let d=a[f];s.push(new pE({id:f,group:a[f],class:n.classes[d.class]}))}}}this._schema=n,this._groups=s,this._groupIds=r,this._tileset=o,this._statistics=t.statistics,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(jse.prototype,{schema:{get:function(){return this._schema}},groups:{get:function(){return this._groups}},groupIds:{get:function(){return this._groupIds}},tileset:{get:function(){return this._tileset}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var ZA=jse;var Yse={},E6e=new h;Yse.checkChildrenWithinParent=function(e){let t=e.children,n=t.length,i=e.boundingVolume;if(i instanceof lf||i instanceof af){let o=i._orientedBoundingBox;e._optimChildrenWithinParent=of.USE_OPTIMIZATION;for(let r=0;r<n;++r){let a=t[r].boundingVolume;if(!(a instanceof lf||a instanceof af)){e._optimChildrenWithinParent=of.SKIP_OPTIMIZATION;break}let c=a._orientedBoundingBox,l=h.subtract(c.center,o.center,E6e),f=h.magnitude(l);h.divideByScalar(l,f,l);let d=Math.abs(o.halfAxes[0]*l.x)+Math.abs(o.halfAxes[1]*l.y)+Math.abs(o.halfAxes[2]*l.z)+Math.abs(o.halfAxes[3]*l.x)+Math.abs(o.halfAxes[4]*l.y)+Math.abs(o.halfAxes[5]*l.z)+Math.abs(o.halfAxes[6]*l.x)+Math.abs(o.halfAxes[7]*l.y)+Math.abs(o.halfAxes[8]*l.z),p=Math.abs(c.halfAxes[0]*l.x)+Math.abs(c.halfAxes[1]*l.y)+Math.abs(c.halfAxes[2]*l.z)+Math.abs(c.halfAxes[3]*l.x)+Math.abs(c.halfAxes[4]*l.y)+Math.abs(c.halfAxes[5]*l.z)+Math.abs(c.halfAxes[6]*l.x)+Math.abs(c.halfAxes[7]*l.y)+Math.abs(c.halfAxes[8]*l.z);if(d<=p+f){e._optimChildrenWithinParent=of.SKIP_OPTIMIZATION;break}}}return e._optimChildrenWithinParent===of.USE_OPTIMIZATION};var BR=Yse;function MR(){this.head=void 0,this.tail=void 0,this._length=0}Object.defineProperties(MR.prototype,{length:{get:function(){return this._length}}});function b6e(e,t,n){this.item=e,this.previous=t,this.next=n}MR.prototype.add=function(e){let t=new b6e(e,this.tail,void 0);return u(this.tail)?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t};function qse(e,t){u(t.previous)&&u(t.next)?(t.previous.next=t.next,t.next.previous=t.previous):u(t.previous)?(t.previous.next=void 0,e.tail=t.previous):u(t.next)?(t.next.previous=void 0,e.head=t.next):(e.head=void 0,e.tail=void 0),t.next=void 0,t.previous=void 0}MR.prototype.remove=function(e){u(e)&&(qse(this,e),--this._length)};MR.prototype.splice=function(e,t){if(e===t)return;qse(this,t);let n=e.next;e.next=t,this.tail===e?this.tail=t:n.previous=t,t.next=n,t.previous=e};var LR=MR;function JA(){this._list=new LR,this._sentinel=this._list.add(),this._trimTiles=!1}JA.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};JA.prototype.touch=function(e){let t=e.cacheNode;u(t)&&this._list.splice(this._sentinel,t)};JA.prototype.add=function(e){u(e.cacheNode)||(e.cacheNode=this._list.add(e))};JA.prototype.unloadTile=function(e,t,n){let i=t.cacheNode;u(i)&&(this._list.remove(i),t.cacheNode=void 0,n(e,t))};JA.prototype.unloadTiles=function(e,t){let n=this._trimTiles;this._trimTiles=!1;let i=this._list,o=e.maximumMemoryUsage*1024*1024,r=this._sentinel,s=i.head;for(;s!==r&&(e.totalMemoryUsageInBytes>o||n);){let a=s.item;s=s.next,this.unloadTile(e,a,t)}};JA.prototype.trim=function(){this._trimTiles=!0};var NR=JA;function CU(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function i9(e,t){let n;return t==="_loadTimestamp"?n=$.toDate(e).getTime():n=e,n}CU.prototype.setReferenceMinimumMaximum=function(e,t,n){this._referenceMinimum[n]=i9(e,n),this._referenceMaximum[n]=i9(t,n)};function S6e(e,t){let n=e.tilePropertyName;if(u(n)){let i=i9(t[n],n);return u(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}var n9=[new z(.1,.1,.1,1),new z(.153,.278,.878,1),new z(.827,.231,.49,1),new z(.827,.188,.22,1),new z(1,.592,.259,1),new z(1,.843,0,1)];CU.prototype.colorize=function(e,t){let n=this.tilePropertyName;if(!u(n)||!e.contentAvailable||e._selectedFrame!==t.frameNumber)return;let i=S6e(this,e),o=this._previousMinimum,r=this._previousMaximum;if(o===Number.MAX_VALUE||r===-Number.MAX_VALUE)return;let s=r-o+P.EPSILON7,c=P.clamp(i-o,0,s)/s,l=n9.length-1,f=c*l,d=Math.floor(f),p=Math.ceil(f),g=f-d,m=n9[d],A=n9[p],x=z.clone(z.WHITE);x.red=P.lerp(m.red,A.red,g),x.green=P.lerp(m.green,A.green,g),x.blue=P.lerp(m.blue,A.blue,g),e._debugColor=x};CU.prototype.resetMinimumMaximum=function(){let e=this.tilePropertyName;if(u(e)){let t=this._referenceMinimum[e],n=this._referenceMaximum[e],i=u(t)&&u(n);this._previousMinimum=i?t:this._minimum,this._previousMaximum=i?n:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var FR=CU;function _E(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.batchTableByteLength=0}_E.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};function TU(e,t,n,i){let o=t.innerContents,r=t.pointsLength,s=t.trianglesLength,a=t.featuresLength,c=t.geometryByteLength,l=t.texturesByteLength,f=t.batchTableByteLength;if(i?(e.numberOfFeaturesLoaded+=n?-a:a,e.numberOfPointsLoaded+=n?-r:r,e.geometryByteLength+=n?-c:c,e.texturesByteLength+=n?-l:l,e.batchTableByteLength+=n?-f:f):(e.numberOfFeaturesSelected+=n?-a:a,e.numberOfPointsSelected+=n?-r:r,e.numberOfTrianglesSelected+=n?-s:s),u(o)){let d=o.length;for(let p=0;p<d;++p)TU(e,o[p],n,i)}}_E.prototype.incrementSelectionCounts=function(e){TU(this,e,!1,!1)};_E.prototype.incrementLoadCounts=function(e){TU(this,e,!1,!0)};_E.prototype.decrementLoadCounts=function(e){TU(this,e,!0,!0)};_E.clone=function(e,t){t.selected=e.selected,t.visited=e.visited,t.numberOfCommands=e.numberOfCommands,t.selected=e.selected,t.numberOfAttemptedRequests=e.numberOfAttemptedRequests,t.numberOfPendingRequests=e.numberOfPendingRequests,t.numberOfTilesProcessing=e.numberOfTilesProcessing,t.numberOfTilesWithContentReady=e.numberOfTilesWithContentReady,t.numberOfTilesTotal=e.numberOfTilesTotal,t.numberOfFeaturesSelected=e.numberOfFeaturesSelected,t.numberOfFeaturesLoaded=e.numberOfFeaturesLoaded,t.numberOfPointsSelected=e.numberOfPointsSelected,t.numberOfPointsLoaded=e.numberOfPointsLoaded,t.numberOfTrianglesSelected=e.numberOfTrianglesSelected,t.numberOfTilesStyled=e.numberOfTilesStyled,t.numberOfFeaturesStyled=e.numberOfFeaturesStyled,t.numberOfTilesCulledWithChildrenUnion=e.numberOfTilesCulledWithChildrenUnion,t.geometryByteLength=e.geometryByteLength,t.texturesByteLength=e.texturesByteLength,t.batchTableByteLength=e.batchTableByteLength};var Xp=_E;function VR(){this._style=void 0,this._styleDirty=!1,this._lastStyleTime=0}Object.defineProperties(VR.prototype,{style:{get:function(){return this._style},set:function(e){e!==this._style&&(this._style=e,this._styleDirty=!0)}}});VR.prototype.makeDirty=function(){this._styleDirty=!0};VR.prototype.resetDirty=function(){this._styleDirty=!1};VR.prototype.applyStyle=function(e){if(!e.ready||u(this._style)&&!this._style._ready)return;let t=this._styleDirty;t&&++this._lastStyleTime;let n=this._lastStyleTime,i=e._statistics,o=t?e._selectedTiles:e._selectedTilesToStyle,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a.lastStyleTime!==n){let c=a.content;a.lastStyleTime=n,c.applyStyle(this._style),i.numberOfFeaturesStyled+=c.featuresLength,++i.numberOfTilesStyled}}};var UR=VR;function D6e(e,t,n){let i=ai(t,"3DTILES_implicit_tiling")?t.extensions["3DTILES_implicit_tiling"]:t.implicitTiling;this.baseResource=e,this.geometricError=t.geometricError,this.metadataSchema=n;let o=t.boundingVolume;if(!u(o.box)&&!u(o.region)&&!ai(o,"3DTILES_bounding_volume_S2")&&!ai(o,"3DTILES_bounding_volume_cylinder"))throw new ue("Only box, region, 3DTILES_bounding_volume_S2, and 3DTILES_bounding_volume_cylinder are supported for implicit tiling");this.boundingVolume=o,this.refine=t.refine,this.subtreeUriTemplate=new Oe({url:i.subtrees.uri}),this.contentUriTemplates=[],this.contentHeaders=[];let r=v6e(t);for(let s=0;s<r.length;s++){let a=r[s];this.contentHeaders.push(Ge(a,!0));let c=new Oe({url:a.uri});this.contentUriTemplates.push(c)}this.contentCount=this.contentHeaders.length,this.tileHeader=w6e(t),this.subdivisionScheme=kr[i.subdivisionScheme],this.branchingFactor=kr.getBranchingFactor(this.subdivisionScheme),this.subtreeLevels=i.subtreeLevels,u(i.availableLevels)?this.availableLevels=i.availableLevels:this.availableLevels=i.maximumLevel+1}function v6e(e){if(ai(e,"3DTILES_multiple_contents")){let t=e.extensions["3DTILES_multiple_contents"];return u(t.contents)?t.contents:t.content}return u(e.contents)?e.contents:u(e.content)?[e.content]:[]}function w6e(e){let t=Ge(e,!0);return u(t.extensions)&&(delete t.extensions["3DTILES_implicit_tiling"],delete t.extensions["3DTILES_multiple_contents"],Object.keys(t.extensions).length===0&&delete t.extensions),delete t.implicitTiling,delete t.contents,delete t.content,t}var QA=D6e;var kR={};function Xse(e){return e=(e^e<<8)&16711935,e=(e^e<<4)&252645135,e=(e^e<<2)&858993459,e=(e^e<<1)&1431655765,e}function o9(e){return e=(e^e<<16)&50331903,e=(e^e<<8)&50393103,e=(e^e<<4)&51130563,e=(e^e<<2)&153391689,e}function Kse(e){return e&=1431655765,e=(e^e>>1)&858993459,e=(e^e>>2)&252645135,e=(e^e>>4)&16711935,e=(e^e>>8)&65535,e}function r9(e){return e&=153391689,e=(e^e>>2)&51130563,e=(e^e>>4)&50393103,e=(e^e>>8)&4278190335,e=(e^e>>16)&1023,e}kR.encode2D=function(e,t){return(Xse(e)|Xse(t)<<1)>>>0};kR.decode2D=function(e,t){return u(t)||(t=new Array(2)),t[0]=Kse(e),t[1]=Kse(e>>1),t};kR.encode3D=function(e,t,n){return o9(e)|o9(t)<<1|o9(n)<<2};kR.decode3D=function(e,t){return u(t)||(t=new Array(3)),t[0]=r9(e),t[1]=r9(e>>1),t[2]=r9(e>>2),t};var Kg=kR;function Fo(e){this.subdivisionScheme=e.subdivisionScheme,this.subtreeLevels=e.subtreeLevels,this.level=e.level,this.x=e.x,this.y=e.y,this.z=void 0,e.subdivisionScheme===kr.OCTREE&&(this.z=e.z)}Object.defineProperties(Fo.prototype,{childIndex:{get:function(){let e=0;return e|=this.x&1,e|=(this.y&1)<<1,this.subdivisionScheme===kr.OCTREE&&(e|=(this.z&1)<<2),e}},mortonIndex:{get:function(){return this.subdivisionScheme===kr.OCTREE?Kg.encode3D(this.x,this.y,this.z):Kg.encode2D(this.x,this.y)}},tileIndex:{get:function(){let e=this.subdivisionScheme===kr.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,t=this.mortonIndex;return e+t}}});Fo.prototype.getDescendantCoordinates=function(e){let t=this.level+e.level,n=(this.x<<e.level)+e.x,i=(this.y<<e.level)+e.y;if(this.subdivisionScheme===kr.OCTREE){let o=(this.z<<e.level)+e.z;return new Fo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new Fo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};Fo.prototype.getAncestorCoordinates=function(e){let t=1<<e,n=this.level-e,i=Math.floor(this.x/t),o=Math.floor(this.y/t);if(this.subdivisionScheme===kr.OCTREE){let r=Math.floor(this.z/t);return new Fo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o,z:r})}return new Fo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o})};Fo.prototype.getOffsetCoordinates=function(e){let t=e.level-this.level,n=1<<t,i=e.x%n,o=e.y%n;if(this.subdivisionScheme===kr.OCTREE){let r=e.z%n;return new Fo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o,z:r})}return new Fo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o})};Fo.prototype.getChildCoordinates=function(e){let t=this.level+1,n=2*this.x+e%2,i=2*this.y+Math.floor(e/2)%2;if(this.subdivisionScheme===kr.OCTREE){let o=2*this.z+Math.floor(e/4)%2;return new Fo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new Fo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};Fo.prototype.getSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels)};Fo.prototype.getParentSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels+this.subtreeLevels)};Fo.prototype.isAncestor=function(e){let t=e.level-this.level;if(t<=0)return!1;let n=e.x>>t,i=e.y>>t,o=this.x===n,r=this.y===i;if(this.subdivisionScheme===kr.OCTREE){let s=e.z>>t,a=this.z===s;return o&&r&&a}return o&&r};Fo.prototype.isEqual=function(e){return this.subdivisionScheme===e.subdivisionScheme&&this.subtreeLevels===e.subtreeLevels&&this.level===e.level&&this.x===e.x&&this.y===e.y&&(this.subdivisionScheme===kr.OCTREE?this.z===e.z:!0)};Fo.prototype.isImplicitTilesetRoot=function(){return this.level===0};Fo.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};Fo.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};Fo.prototype.getTemplateValues=function(){let e={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===kr.OCTREE&&(e.z=this.z),e};var Zse=[0,0,0];Fo.fromMortonIndex=function(e,t,n,i){let o;return e===kr.OCTREE?(o=Kg.decode3D(i,Zse),new Fo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1],z:o[2]})):(o=Kg.decode2D(i,Zse),new Fo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1]}))};Fo.fromTileIndex=function(e,t,n){let i,o,r;return e===kr.OCTREE?(i=Math.floor(P.log2(7*n+1)/3),o=((1<<3*i)-1)/7,r=n-o):(i=Math.floor(P.log2(3*n+1)/2),o=((1<<2*i)-1)/3,r=n-o),Fo.fromMortonIndex(e,t,i,r)};var $A=Fo;function Gs(e){e=y(e,y.EMPTY_OBJECT),this._url=void 0,this._basePath=void 0,this._root=void 0,this._resource=void 0,this._asset=void 0,this._properties=void 0,this._geometricError=void 0,this._scaledGeometricError=void 0,this._extensionsUsed=void 0,this._extensions=void 0,this._modelUpAxis=void 0,this._modelForwardAxis=void 0,this._cache=new NR,this._processingQueue=[],this._selectedTiles=[],this._emptyTiles=[],this._requestedTiles=[],this._selectedTilesToStyle=[],this._loadTimestamp=void 0,this._timeSinceLoad=0,this._updatedVisibilityFrame=0,this._updatedModelMatrixFrame=0,this._modelMatrixChanged=!1,this._previousModelMatrix=void 0,this._extras=void 0,this._credits=void 0,this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._cullWithChildrenBounds=y(e.cullWithChildrenBounds,!0),this._allTilesAdditive=!0,this._hasMixedContent=!1,this._stencilClearCommand=void 0,this._backfaceCommands=new Yl,this._maximumScreenSpaceError=y(e.maximumScreenSpaceError,16),this._maximumMemoryUsage=y(e.maximumMemoryUsage,512),this._styleEngine=new UR,this._styleApplied=!1,this._modelMatrix=u(e.modelMatrix)?M.clone(e.modelMatrix):M.clone(M.IDENTITY),this._statistics=new Xp,this._statisticsLast=new Xp,this._statisticsPerPass=new Array(qo.NUMBER_OF_PASSES);for(let r=0;r<qo.NUMBER_OF_PASSES;++r)this._statisticsPerPass[r]=new Xp;this._requestedTilesInFlight=[],this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,reverseScreenSpaceError:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,reverseScreenSpaceError:Number.MAX_VALUE},this._heatmap=new FR(e.debugHeatmapTilePropertyName),this.cullRequestsWhileMoving=y(e.cullRequestsWhileMoving,!0),this._cullRequestsWhileMoving=!1,this.cullRequestsWhileMovingMultiplier=y(e.cullRequestsWhileMovingMultiplier,60),this.progressiveResolutionHeightFraction=P.clamp(y(e.progressiveResolutionHeightFraction,.3),0,.5),this.preferLeaves=y(e.preferLeaves,!1),this._tilesLoaded=!1,this._initialTilesLoaded=!1,this._tileDebugLabels=void 0,this._classificationType=e.classificationType,this._ellipsoid=y(e.ellipsoid,ie.WGS84),this._initialClippingPlanesOriginMatrix=M.IDENTITY,this._clippingPlanesOriginMatrix=void 0,this._clippingPlanesOriginMatrixDirty=!0,this._vectorClassificationOnly=y(e.vectorClassificationOnly,!1),this._vectorKeepDecodedPositions=y(e.vectorKeepDecodedPositions,!1),this.preloadWhenHidden=y(e.preloadWhenHidden,!1),this.preloadFlightDestinations=y(e.preloadFlightDestinations,!0),this._pass=void 0,this.dynamicScreenSpaceError=y(e.dynamicScreenSpaceError,!1),this.foveatedScreenSpaceError=y(e.foveatedScreenSpaceError,!0),this._foveatedConeSize=y(e.foveatedConeSize,.1),this._foveatedMinimumScreenSpaceErrorRelaxation=y(e.foveatedMinimumScreenSpaceErrorRelaxation,0),this.foveatedInterpolationCallback=y(e.foveatedInterpolationCallback,P.lerp),this.foveatedTimeDelay=y(e.foveatedTimeDelay,.2),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorFactor=4,this.dynamicScreenSpaceErrorHeightFalloff=.25,this._dynamicScreenSpaceErrorComputedDensity=0,this.shadows=y(e.shadows,gn.ENABLED),this.show=y(e.show,!0),this.colorBlendMode=ul.HIGHLIGHT,this.colorBlendAmount=.5,this._pointCloudShading=new Oh(e.pointCloudShading),this._pointCloudEyeDomeLighting=new Tp,this.loadProgress=new Ae,this.allTilesLoaded=new Ae,this.initialTilesLoaded=new Ae,this.tileLoad=new Ae,this.tileUnload=new Ae,this.tileFailed=new Ae,this.tileVisible=new Ae,this.skipLevelOfDetail=y(e.skipLevelOfDetail,!1),this._skipLevelOfDetail=this.skipLevelOfDetail,this._disableSkipLevelOfDetail=!1,this.baseScreenSpaceError=y(e.baseScreenSpaceError,1024),this.skipScreenSpaceErrorFactor=y(e.skipScreenSpaceErrorFactor,16),this.skipLevels=y(e.skipLevels,1),this.immediatelyLoadDesiredLevelOfDetail=y(e.immediatelyLoadDesiredLevelOfDetail,!1),this.loadSiblings=y(e.loadSiblings,!1),this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,u(e.imageBasedLighting)?(this._imageBasedLighting=e.imageBasedLighting,this._shouldDestroyImageBasedLighting=!1):(this._imageBasedLighting=new nA,this._shouldDestroyImageBasedLighting=!0),this.lightColor=e.lightColor,this.backFaceCulling=y(e.backFaceCulling,!0),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,z.BLACK),this.splitDirection=y(e.splitDirection,Pc.NONE),this._projectTo2D=y(e.projectTo2D,!1),this.debugFreezeFrame=y(e.debugFreezeFrame,!1),this.debugColorizeTiles=y(e.debugColorizeTiles,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this.debugWireframe=y(e.debugWireframe,!1),this.debugWireframe===!0&&this._enableDebugWireframe===!1&&wt("tileset-debug-wireframe-ignored","enableDebugWireframe must be set to true in the Cesium3DTileset constructor, otherwise debugWireframe will be ignored."),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowContentBoundingVolume=y(e.debugShowContentBoundingVolume,!1),this.debugShowViewerRequestVolume=y(e.debugShowViewerRequestVolume,!1),this._tileDebugLabels=void 0,this.debugPickedTileLabelOnly=!1,this.debugPickedTile=void 0,this.debugPickPosition=void 0,this.debugShowGeometricError=y(e.debugShowGeometricError,!1),this.debugShowRenderingStatistics=y(e.debugShowRenderingStatistics,!1),this.debugShowMemoryUsage=y(e.debugShowMemoryUsage,!1),this.debugShowUrl=y(e.debugShowUrl,!1),this.examineVectorLinesFunction=void 0,this._metadataExtension=void 0,this._customShader=e.customShader;let t=y(e.featureIdLabel,"featureId_0");typeof t=="number"&&(t=`featureId_${t}`),this._featureIdLabel=t;let n=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof n=="number"&&(n=`instanceFeatureId_${n}`),this._instanceFeatureIdLabel=n,this._schemaLoader=void 0;let i=this,o;this._readyPromise=Promise.resolve(e.url).then(function(r){let s;return o=Oe.createIfNeeded(r),i._resource=o,i._credits=o.credits,o.extension==="json"?s=o.getBaseUri(!0):o.isDataUri&&(s=""),i._url=o.url,i._basePath=s,Gs.loadJson(o)}).then(function(r){if(!i.isDestroyed())return I6e(i,r)}).then(function(r){if(i.isDestroyed())return;i._geometricError=r.geometricError,i._scaledGeometricError=r.geometricError,i._root=i.loadTileset(o,r);let s=u(r.asset.gltfUpAxis)?Po.fromName(r.asset.gltfUpAxis):Po.Y,a=y(e.modelUpAxis,s),c=y(e.modelForwardAxis,Po.X),l=r.asset;i._asset=l,i._properties=r.properties,i._extensionsUsed=r.extensionsUsed,i._extensions=r.extensions,i._modelUpAxis=a,i._modelForwardAxis=c,i._extras=r.extras;let f=l.extras;if(u(f)&&u(f.cesium)&&u(f.cesium.credits)){let m=f.cesium.credits,A=i._credits;u(A)||(A=[],i._credits=A);for(let x=0;x<m.length;++x){let C=m[x];A.push(new Zt(C.html,i._showCreditsOnScreen))}}let p=i._root.createBoundingVolume(r.root.boundingVolume,M.IDENTITY).boundingSphere.center,g=i._ellipsoid.cartesianToCartographic(p);return u(g)&&g.height>fi._defaultMinTerrainHeight&&(i._initialClippingPlanesOriginMatrix=Ot.eastNorthUpToFixedFrame(p)),i._clippingPlanesOriginMatrix=M.clone(i._initialClippingPlanesOriginMatrix),i})}Object.defineProperties(Gs.prototype,{isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){return this._asset}},extensions:{get:function(){return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ss.setOwner(e,this,"_clippingPlanes")}},properties:{get:function(){return this._properties}},ready:{get:function(){return u(this._root)}},readyPromise:{get:function(){return this._readyPromise}},tilesLoaded:{get:function(){return this._tilesLoaded}},resource:{get:function(){return this._resource}},basePath:{get:function(){return nr("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(e){this._styleEngine.style=e}},customShader:{get:function(){return this._customShader},set:function(e){this._customShader=e}},metadataExtension:{get:function(){return this._metadataExtension}},metadata:{get:function(){if(u(this._metadataExtension))return this._metadataExtension.tileset}},schema:{get:function(){if(u(this._metadataExtension))return this._metadataExtension.schema}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(e){this._maximumScreenSpaceError=e}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(e){this._maximumMemoryUsage=e}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){this._pointCloudShading=e}},root:{get:function(){return this._root}},boundingSphere:{get:function(){return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=M.clone(e,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){let e=this._statistics;return e.texturesByteLength+e.geometryByteLength+e.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return u(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(M.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):M.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(e){this._foveatedConeSize=e}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(e){this._foveatedMinimumScreenSpaceErrorRelaxation=e}},extras:{get:function(){return this._extras}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1)}},vectorClassificationOnly:{get:function(){return this._vectorClassificationOnly}},vectorKeepDecodedPositions:{get:function(){return this._vectorKeepDecodedPositions}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),this._instanceFeatureIdLabel=e}}});Gs.loadJson=function(e){return Oe.createIfNeeded(e).fetchJson()};Gs.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};Gs.prototype.loadTileset=function(e,t,n){let i=t.asset;if(!u(i))throw new ue("Tileset must have an asset property.");if(i.version!=="0.0"&&i.version!=="1.0"&&i.version!=="1.1")throw new ue("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");u(t.extensionsRequired)&&Gs.checkSupportedExtensions(t.extensionsRequired);let o=this._statistics,r=i.tilesetVersion;u(r)&&(this._basePath+=`?v=${r}`,e=e.clone(),e.setQueryParameters({v:r}));let s=Jse(this,e,t.root,n);u(n)&&(n.children.push(s),s._depth=n._depth+1);let a=[];for(a.push(s);a.length>0;){let c=a.pop();++o.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&c.refine===Sr.ADD;let l=c._header.children;if(u(l)){let f=l.length;for(let d=0;d<f;++d){let p=l[d],g=Jse(this,e,p,c);c.children.push(g),g._depth=c._depth+1,a.push(g)}}this._cullWithChildrenBounds&&BR.checkChildrenWithinParent(c)}return s};function Jse(e,t,n,i){if(u(n.implicitTiling)||ai(n,"3DTILES_implicit_tiling")){let r=e.schema,s=new QA(t,n,r),a=new $A({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:0,x:0,y:0,z:0}),c=s.subtreeUriTemplate.getDerivedResource({templateValues:a.getTemplateValues()}).url,f=Ge(n,!0);f.contents=[{uri:c}],delete f.content,delete f.extensions;let d=new eu(e,t,f,i);return d.implicitTileset=s,d.implicitCoordinates=a,d}return new eu(e,t,n,i)}function I6e(e,t){let n=ai(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t,i;if(u(n.schemaUri)){let o=e._resource.getDerivedResource({url:n.schemaUri});i=Ui.loadSchema({resource:o})}else if(u(n.schema))i=Ui.loadSchema({schema:n.schema});else return Promise.resolve(t);return e._schemaLoader=i,i.promise.then(function(o){return e._metadataExtension=new ZA({schema:o.schema,metadataJson:n}),t})}var Qse=new h,P6e=new he,O6e=new M,R6e=new h,B6e=new h,M6e=new h;function L6e(e,t){let n,i,o,r,s,a=t.camera,c=e._root,l=c.contentBoundingVolume;if(l instanceof af)n=h.normalize(a.positionWC,Qse),i=a.directionWC,o=a.positionCartographic.height,r=l.minimumHeight,s=l.maximumHeight;else{let C=M.inverseTransformation(c.computedTransform,O6e),T=t.mapProjection.ellipsoid,E=l.boundingVolume,S=M.multiplyByPoint(C,E.center,R6e);if(h.magnitude(S)>T.minimumRadius){let D=he.fromCartesian(S,T,P6e);n=h.normalize(a.positionWC,Qse),i=a.directionWC,o=a.positionCartographic.height,r=0,s=D.height*2}else{let D=M.multiplyByPoint(C,a.positionWC,B6e);if(n=h.UNIT_Z,i=M.multiplyByPointAsVector(C,a.directionWC,M6e),i=h.normalize(i,i),o=D.z,l instanceof lf){let w=c._header.boundingVolume.box[11];r=S.z-w,s=S.z+w}else if(l instanceof jp){let w=E.radius;r=S.z-w,s=S.z+w}}}let f=e.dynamicScreenSpaceErrorHeightFalloff,d=r+(s-r)*f,p=s,g=P.clamp((o-d)/(p-d),0,1),A=1-Math.abs(h.dot(i,n));A=A*(1-g);let x=e.dynamicScreenSpaceErrorDensity;x*=A,e._dynamicScreenSpaceErrorComputedDensity=x}function N6e(e,t){if(t.hasEmptyContent)return;let n=e._statistics,i=t.contentExpired,o=t.requestContent();if(o>0){n.numberOfAttemptedRequests+=o;return}i&&(t.hasTilesetContent||t.hasImplicitContent?X6e(e,t):(n.decrementLoadCounts(t.content),--n.numberOfTilesWithContentReady)),e._requestedTilesInFlight.push(t),t.contentReadyToProcessPromise.then(k6e(e,t)).catch(function(r){}),t.contentReadyPromise.then(H6e(e,t)).catch(z6e(e,t))}function F6e(e,t){return e._priority-t._priority}Gs.prototype.postPassesUpdate=function(e){this.ready&&(V6e(this,e),Z6e(this,e),this._cache.unloadTiles(this,tae),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};Gs.prototype.prePassesUpdate=function(e){if(!this.ready)return;W6e(this,e);let t=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,u(t)&&t.enabled&&t.update(e),u(this._loadTimestamp)||(this._loadTimestamp=$.clone(e.time)),this._timeSinceLoad=Math.max($.secondsDifference(e.time,this._loadTimestamp)*1e3,0),this._skipLevelOfDetail=this.skipLevelOfDetail&&!u(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive,this.dynamicScreenSpaceError&&L6e(this,e),e.newFrame&&this._cache.reset()};function V6e(e,t){let n=e._requestedTilesInFlight,i=0,o=n.length;for(let r=0;r<o;++r){let s=n[r],a=t.frameNumber-s._touchedFrame>=1;if(s._contentState!==Eo.LOADING){++i;continue}else if(a){s.cancelRequests(),++i;continue}i>0&&(n[r-i]=s)}n.length-=i}function U6e(e,t){let n=e._requestedTiles,i=n.length;n.sort(F6e);for(let o=0;o<i;++o)N6e(e,n[o])}function k6e(e,t){return function(){e._processingQueue.push(t),++e._statistics.numberOfTilesProcessing}}function z6e(e,t){return function(n){if(t._contentState!==Eo.FAILED)return;let i=t._contentResource.url,o=u(n.message)?n.message:n.toString();e.tileFailed.numberOfListeners>0?e.tileFailed.raiseEvent({url:i,message:o}):(console.log(`A 3D tile failed to load: ${i}`),console.log(`Error: ${o}`))}}function H6e(e,t){return function(n){--e._statistics.numberOfTilesProcessing,u(n)&&(!t.hasTilesetContent&&!t.hasImplicitContent&&(e._statistics.incrementLoadCounts(t.content),++e._statistics.numberOfTilesWithContentReady,++e._statistics.numberOfLoadedTilesTotal,e._cache.add(t)),e.tileLoad.raiseEvent(t))}}function G6e(e){let t=e._processingQueue,n=t.length,i=0;for(let o=0;o<n;++o){let r=t[o];if(r._contentState!==Eo.PROCESSING){++i;continue}i>0&&(t[o-i]=r)}t.length-=i}function W6e(e,t){G6e(e);let n=e._processingQueue,i=n.length;for(let o=0;o<i;++o)n[o].process(e,t)}var EU=new h,j6e={maximumFractionDigits:3};function $se(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,j6e):Math.round(t).toLocaleString()}function s9(e){let t=e.boundingVolume.boundingVolume,n=t.halfAxes,i=t.radius,o=h.clone(t.center,EU);if(u(n))o.x+=.75*(n[0]+n[3]+n[6]),o.y+=.75*(n[1]+n[4]+n[7]),o.z+=.75*(n[2]+n[5]+n[8]);else if(u(i)){let r=h.normalize(t.center,EU);r=h.multiplyByScalar(r,.75*i,EU),o=h.add(r,t.center,EU)}return o}function a9(e,t,n){let i="",o=0;if(t.debugShowGeometricError&&(i+=` +Geometric error: ${e.geometricError}`,o++),t.debugShowRenderingStatistics&&(i+=` +Commands: ${e.commandsLength}`,o++,e.content.pointsLength>0&&(i+=` +Points: ${e.content.pointsLength}`,o++),e.content.trianglesLength>0&&(i+=` +Triangles: ${e.content.trianglesLength}`,o++),i+=` +Features: ${e.content.featuresLength}`,o++),t.debugShowMemoryUsage&&(i+=` +Texture Memory: ${$se(e.content.texturesByteLength)}`,i+=` +Geometry Memory: ${$se(e.content.geometryByteLength)}`,o+=2),t.debugShowUrl)if(e.hasMultipleContents){i+=` +Urls:`;let s=e.content.innerContentUrls;for(let a=0;a<s.length;a++)i+=` +- ${s[a]}`;o+=s.length}else i+=` +Url: ${e._contentHeader.uri}`,o++;let r={text:i.substring(1),position:n,font:`${19-o}px sans-serif`,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY};return t._tileDebugLabels.add(r)}function Y6e(e,t){let n,i,o=e._selectedTiles,r=o.length,s=e._emptyTiles,a=s.length;if(e._tileDebugLabels.removeAll(),e.debugPickedTileLabelOnly){if(u(e.debugPickedTile)){let c=u(e.debugPickPosition)?e.debugPickPosition:s9(e.debugPickedTile),l=a9(e.debugPickedTile,e,c);l.pixelOffset=new H(15,-15)}}else{for(n=0;n<r;++n)i=o[n],a9(i,e,s9(i));for(n=0;n<a;++n)i=s[n],(i.hasTilesetContent||i.hasImplicitContent)&&a9(i,e,s9(i))}e._tileDebugLabels.update(t)}function q6e(e,t,n){e._styleEngine.applyStyle(e),e._styleApplied=!0;let i=n.isRender,o=e._statistics,r=t.commandList,s=r.length,a=e._selectedTiles,c=a.length,l=e._emptyTiles,f=l.length,d=e.tileVisible,p,g,m=e._skipLevelOfDetail&&e._hasMixedContent&&t.context.stencilBuffer&&c>0;e._backfaceCommands.length=0,m&&(u(e._stencilClearCommand)||(e._stencilClearCommand=new ii({stencil:0,pass:Ee.CESIUM_3D_TILE,renderState:Ue.fromCache({stencilMask:Bt.SKIP_LOD_MASK})})),r.push(e._stencilClearCommand));let A=r.length;for(p=0;p<c;++p)g=a[p],i&&d.raiseEvent(g),g.update(e,t,n),o.incrementSelectionCounts(g.content),++o.selected;for(p=0;p<f;++p)g=l[p],g.update(e,t,n);let x=r.length-A;if(e._backfaceCommands.trim(),m){let C=e._backfaceCommands.values,T=C.length;for(r.length+=T,p=x-1;p>=0;--p)r[A+T+p]=r[A+p];for(p=0;p<T;++p)r[A+p]=C[p]}x=r.length-s,o.numberOfCommands=x,i&&e.pointCloudShading.attenuation&&e.pointCloudShading.eyeDomeLighting&&x>0&&e._pointCloudEyeDomeLighting.update(t,s,e.pointCloudShading,e.boundingSphere),i&&(e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(u(e._tileDebugLabels)||(e._tileDebugLabels=new Fh),Y6e(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}var eae=[];function X6e(e,t){let n=t,i=eae;for(i.push(t);i.length>0;){t=i.pop();let o=t.children,r=o.length;for(let s=0;s<r;++s)i.push(o[s]);t!==n&&(K6e(e,t),--e._statistics.numberOfTilesTotal)}n.children=[]}function tae(e,t){e.tileUnload.raiseEvent(t),e._statistics.decrementLoadCounts(t.content),--e._statistics.numberOfTilesWithContentReady,t.unloadContent()}function K6e(e,t){e._cache.unloadTile(e,t,tae),t.destroy()}Gs.prototype.trimLoadedTiles=function(){this._cache.trim()};function Z6e(e,t){let n=e._statistics,i=e._statisticsLast,o=n.numberOfPendingRequests,r=n.numberOfTilesProcessing,s=i.numberOfPendingRequests,a=i.numberOfTilesProcessing;Xp.clone(n,i);let c=o!==s||r!==a;c&&t.afterRender.push(function(){return e.loadProgress.raiseEvent(o,r),!0}),e._tilesLoaded=n.numberOfPendingRequests===0&&n.numberOfTilesProcessing===0&&n.numberOfAttemptedRequests===0,c&&e._tilesLoaded&&(t.afterRender.push(function(){return e.allTilesLoaded.raiseEvent(),!0}),e._initialTilesLoaded||(e._initialTilesLoaded=!0,t.afterRender.push(function(){return e.initialTilesLoaded.raiseEvent(),!0})))}function J6e(e){e._heatmap.resetMinimumMaximum(),e._minimumPriority.depth=Number.MAX_VALUE,e._maximumPriority.depth=-Number.MAX_VALUE,e._minimumPriority.foveatedFactor=Number.MAX_VALUE,e._maximumPriority.foveatedFactor=-Number.MAX_VALUE,e._minimumPriority.distance=Number.MAX_VALUE,e._maximumPriority.distance=-Number.MAX_VALUE,e._minimumPriority.reverseScreenSpaceError=Number.MAX_VALUE,e._maximumPriority.reverseScreenSpaceError=-Number.MAX_VALUE}function Q6e(e,t){(t.frameNumber!==e._updatedModelMatrixFrame||!u(e._previousModelMatrix))&&(e._updatedModelMatrixFrame=t.frameNumber,e._modelMatrixChanged=!M.equals(e.modelMatrix,e._previousModelMatrix),e._modelMatrixChanged&&(e._previousModelMatrix=M.clone(e.modelMatrix,e._previousModelMatrix)))}function $6e(e,t,n,i){if(t.mode===te.MORPHING||!e.ready)return!1;let o=e._statistics;o.clear();let r=i.isRender;++e._updatedVisibilityFrame,J6e(e),Q6e(e,t),e._cullRequestsWhileMoving=e.cullRequestsWhileMoving&&!e._modelMatrixChanged;let s=i.traversal.selectTiles(e,t);if(i.requestTiles&&U6e(e),q6e(e,t,i),Xp.clone(o,n),r){let a=e._credits;if(u(a)&&o.selected!==0){let c=a.length;for(let l=0;l<c;++l){let f=a[l];f.showOnScreen=e._showCreditsOnScreen,t.creditDisplay.addCredit(f)}}}return s}Gs.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)};Gs.prototype.updateForPass=function(e,t){let n=t.pass;if(n===qo.PRELOAD&&(!this.preloadWhenHidden||this.show)||n===qo.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||n===qo.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let i=e.commandList,o=e.camera,r=e.cullingVolume;t.ready=!1;let s=qo.getPassOptions(n),a=s.ignoreCommands,c=y(t.commandList,i),l=c.length;e.commandList=c,e.camera=y(t.camera,o),e.cullingVolume=y(t.cullingVolume,r);let f=this._statisticsPerPass[n];(this.show||a)&&(this._pass=n,t.ready=$6e(this,e,f,s)),a&&(c.length=l),e.commandList=i,e.camera=o,e.cullingVolume=r};Gs.prototype.hasExtension=function(e){return u(this._extensionsUsed)?this._extensionsUsed.indexOf(e)>-1:!1};Gs.prototype.isDestroyed=function(){return!1};Gs.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),u(this._schemaLoader)&&Ui.unload(this._schemaLoader),u(this._root)){let e=eae;for(e.push(this._root);e.length>0;){let t=e.pop();t.destroy();let n=t.children,i=n.length;for(let o=0;o<i;++o)e.push(n[o])}}return this._root=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,le(this)};Gs.supportedExtensions={"3DTILES_metadata":!0,"3DTILES_implicit_tiling":!0,"3DTILES_content_gltf":!0,"3DTILES_multiple_contents":!0,"3DTILES_bounding_volume_S2":!0,"3DTILES_batch_table_hierarchy":!0,"3DTILES_draco_point_compression":!0,MAXAR_content_geojson:!0};Gs.checkSupportedExtensions=function(e){for(let t=0;t<e.length;t++)if(!Gs.supportedExtensions[e[t]])throw new ue(`Unsupported 3D Tiles Extension: ${e[t]}`)};var Rc=Gs;var e9e=new M;function Zg(e,t){t.collectionChanged.addEventListener(Zg.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._tilesetHash={},this._entitiesToVisualize=new xt,this._onCollectionChanged(t,t.values,[],[])}Zg.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._tilesetHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._tileset,c,l=n[s.id],f=s.isShowing&&s.isAvailable(e)&&Y.getValueOrDefault(a._show,e,!0),d;if(f&&(d=s.computeModelMatrix(e,e9e),c=Oe.createIfNeeded(Y.getValueOrUndefined(a._uri,e))),!f){u(l)&&(l.tilesetPrimitive.show=!1);continue}let p=u(l)?l.tilesetPrimitive:void 0;(!u(p)||c.url!==l.url)&&(u(p)&&(i.removeAndDestroy(p),delete n[s.id]),p=new Rc({url:c}),p.id=s,i.add(p),l={tilesetPrimitive:p,url:c.url,loadFail:!1},n[s.id]=l,t9e(p,s,n)),p.show=!0,u(d)&&(p.modelMatrix=d),p.maximumScreenSpaceError=Y.getValueOrDefault(a.maximumScreenSpaceError,e,p.maximumScreenSpaceError)}return!0};Zg.prototype.isDestroyed=function(){return!1};Zg.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Zg.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._tilesetHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)c9(this,e[i],t,n);return le(this)};Zg.prototype.getBoundingSphere=function(e,t){let n=this._tilesetHash[e.id];if(!u(n)||n.loadFail)return at.FAILED;let i=n.tilesetPrimitive;return!u(i)||!i.show?at.FAILED:i.ready?(se.clone(i.boundingSphere,t),at.DONE):at.PENDING};Zg.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._tilesetHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],u(r._tileset)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],u(r._tileset)?s.set(r.id,r):(c9(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],c9(this,r,a,c),s.remove(r.id)};function c9(e,t,n,i){let o=n[t.id];u(o)&&(i.removeAndDestroy(o.tilesetPrimitive),delete n[t.id])}function t9e(e,t,n){e.readyPromise.catch(function(i){console.error(i),n[t.id].loadFail=!0})}var zR=Zg;var n9e=z.WHITE,i9e=z.BLACK,o9e=new H(2,2);function gE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new Ae,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties(gE.prototype,{isConstant:{get:function(){return Y.isConstant(this._evenColor)&&Y.isConstant(this._oddColor)&&Y.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:ae("evenColor"),oddColor:ae("oddColor"),repeat:ae("repeat")});gE.prototype.getType=function(e){return"Checkerboard"};gE.prototype.getValue=function(e,t){return u(t)||(t={}),t.lightColor=Y.getValueOrClonedDefault(this._evenColor,e,n9e,t.lightColor),t.darkColor=Y.getValueOrClonedDefault(this._oddColor,e,i9e,t.darkColor),t.repeat=Y.getValueOrDefault(this._repeat,e,o9e),t};gE.prototype.equals=function(e){return this===e||e instanceof gE&&Y.equals(this._evenColor,e._evenColor)&&Y.equals(this._oddColor,e._oddColor)&&Y.equals(this._repeat,e._repeat)};var yE=gE;var nae={id:void 0};function HR(e){if(e._firing){e._refire=!0;return}if(e._suspendCount===0){let t=e._addedEntities,n=e._removedEntities,i=e._changedEntities;if(i.length!==0||t.length!==0||n.length!==0){e._firing=!0;do{e._refire=!1;let o=t.values.slice(0),r=n.values.slice(0),s=i.values.slice(0);t.removeAll(),n.removeAll(),i.removeAll(),e._collectionChanged.raiseEvent(e,o,r,s)}while(e._refire);e._firing=!1}}}function Za(e){this._owner=e,this._entities=new xt,this._addedEntities=new xt,this._removedEntities=new xt,this._changedEntities=new xt,this._suspendCount=0,this._collectionChanged=new Ae,this._id=zn(),this._show=!0,this._firing=!1,this._refire=!1}Za.prototype.suspendEvents=function(){this._suspendCount++};Za.prototype.resumeEvents=function(){this._suspendCount--,HR(this)};Object.defineProperties(Za.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(e===this._show)return;this.suspendEvents();let t,n=[],i=this._entities.values,o=i.length;for(t=0;t<o;t++)n.push(i[t].isShowing);for(this._show=e,t=0;t<o;t++){let r=n[t],s=i[t];r!==s.isShowing&&s.definitionChanged.raiseEvent(s,"isShowing",s.isShowing,r)}this.resumeEvents()}},owner:{get:function(){return this._owner}}});Za.prototype.computeAvailability=function(){let e=ze.MAXIMUM_VALUE,t=ze.MINIMUM_VALUE,n=this._entities.values;for(let i=0,o=n.length;i<o;i++){let s=n[i].availability;if(u(s)){let a=s.start,c=s.stop;$.lessThan(a,e)&&!a.equals(ze.MINIMUM_VALUE)&&(e=a),$.greaterThan(c,t)&&!c.equals(ze.MAXIMUM_VALUE)&&(t=c)}}return ze.MAXIMUM_VALUE.equals(e)&&(e=ze.MINIMUM_VALUE),ze.MINIMUM_VALUE.equals(t)&&(t=ze.MAXIMUM_VALUE),new An({start:e,stop:t})};Za.prototype.add=function(e){e instanceof jo||(e=new jo(e));let t=e.id,n=this._entities;if(n.contains(t))throw new ue(`An entity with id ${t} already exists in this collection.`);return e.entityCollection=this,n.set(t,e),this._removedEntities.remove(t)||this._addedEntities.set(t,e),e.definitionChanged.addEventListener(Za.prototype._onEntityDefinitionChanged,this),HR(this),e};Za.prototype.remove=function(e){return u(e)?this.removeById(e.id):!1};Za.prototype.contains=function(e){return this._entities.get(e.id)===e};Za.prototype.removeById=function(e){if(!u(e))return!1;let n=this._entities.get(e);return this._entities.remove(e)?(this._addedEntities.remove(e)||(this._removedEntities.set(e,n),this._changedEntities.remove(e)),this._entities.remove(e),n.definitionChanged.removeEventListener(Za.prototype._onEntityDefinitionChanged,this),HR(this),!0):!1};Za.prototype.removeAll=function(){let e=this._entities,t=e.length,n=e.values,i=this._addedEntities,o=this._removedEntities;for(let r=0;r<t;r++){let s=n[r],a=s.id,c=i.get(a);u(c)||(s.definitionChanged.removeEventListener(Za.prototype._onEntityDefinitionChanged,this),o.set(a,s))}e.removeAll(),i.removeAll(),this._changedEntities.removeAll(),HR(this)};Za.prototype.getById=function(e){return this._entities.get(e)};Za.prototype.getOrCreateEntity=function(e){let t=this._entities.get(e);return u(t)||(nae.id=e,t=new jo(nae),this.add(t)),t};Za.prototype._onEntityDefinitionChanged=function(e){let t=e.id;this._addedEntities.contains(t)||this._changedEntities.set(t,e),HR(this)};var Ss=Za;var bU={id:void 0},AE=new Array(2);function l9(e){let t=e.propertyNames,n=t.length;for(let i=0;i<n;i++)e[t[i]]=void 0;e._name=void 0,e._availability=void 0}function iae(e,t,n,i){AE[0]=n,AE[1]=i.id,t[JSON.stringify(AE)]=i.definitionChanged.addEventListener(vr.prototype._onDefinitionChanged,e)}function oae(e,t,n,i){AE[0]=n,AE[1]=i.id;let o=JSON.stringify(AE);t[o](),t[o]=void 0}function Jg(e){if(e._shouldRecomposite=!0,e._suspendCount!==0)return;let t=e._collections,n=t.length,i=e._collectionsCopy,o=i.length,r,s,a,c,l,f=e._composite,d=new Ss(e),p=e._eventHash,g;for(r=0;r<o;r++)for(l=i[r],l.collectionChanged.removeEventListener(vr.prototype._onCollectionChanged,e),a=l.values,g=l.id,c=a.length-1;c>-1;c--)s=a[c],oae(e,p,g,s);for(r=n-1;r>=0;r--)for(l=t[r],l.collectionChanged.addEventListener(vr.prototype._onCollectionChanged,e),a=l.values,g=l.id,c=a.length-1;c>-1;c--){s=a[c],iae(e,p,g,s);let A=d.getById(s.id);u(A)||(A=f.getById(s.id),u(A)?l9(A):(bU.id=s.id,A=new jo(bU)),d.add(A)),A.merge(s)}e._collectionsCopy=t.slice(0),f.suspendEvents(),f.removeAll();let m=d.values;for(r=0;r<m.length;r++)f.add(m[r]);f.resumeEvents()}function vr(e,t){this._owner=t,this._composite=new Ss(this),this._suspendCount=0,this._collections=u(e)?e.slice():[],this._collectionsCopy=[],this._id=zn(),this._eventHash={},Jg(this),this._shouldRecomposite=!1}Object.defineProperties(vr.prototype,{collectionChanged:{get:function(){return this._composite._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._composite.values}},owner:{get:function(){return this._owner}}});vr.prototype.addCollection=function(e,t){u(t)?this._collections.splice(t,0,e):(t=this._collections.length,this._collections.push(e)),Jg(this)};vr.prototype.removeCollection=function(e){let t=this._collections.indexOf(e);return t!==-1?(this._collections.splice(t,1),Jg(this),!0):!1};vr.prototype.removeAllCollections=function(){this._collections.length=0,Jg(this)};vr.prototype.containsCollection=function(e){return this._collections.indexOf(e)!==-1};vr.prototype.contains=function(e){return this._composite.contains(e)};vr.prototype.indexOfCollection=function(e){return this._collections.indexOf(e)};vr.prototype.getCollection=function(e){return this._collections[e]};vr.prototype.getCollectionsLength=function(){return this._collections.length};function SU(e,t){return e.indexOf(t)}function rae(e,t,n){let i=e._collections;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,Jg(e)}vr.prototype.raiseCollection=function(e){let t=SU(this._collections,e);rae(this,t,t+1)};vr.prototype.lowerCollection=function(e){let t=SU(this._collections,e);rae(this,t,t-1)};vr.prototype.raiseCollectionToTop=function(e){let t=SU(this._collections,e);t!==this._collections.length-1&&(this._collections.splice(t,1),this._collections.push(e),Jg(this))};vr.prototype.lowerCollectionToBottom=function(e){let t=SU(this._collections,e);t!==0&&(this._collections.splice(t,1),this._collections.splice(0,0,e),Jg(this))};vr.prototype.suspendEvents=function(){this._suspendCount++,this._composite.suspendEvents()};vr.prototype.resumeEvents=function(){this._suspendCount--,this._shouldRecomposite&&this._suspendCount===0&&(Jg(this),this._shouldRecomposite=!1),this._composite.resumeEvents()};vr.prototype.computeAvailability=function(){return this._composite.computeAvailability()};vr.prototype.getById=function(e){return this._composite.getById(e)};vr.prototype._onCollectionChanged=function(e,t,n){let i=this._collectionsCopy,o=i.length,r=this._composite;r.suspendEvents();let s,a,c,l,f=n.length,d=this._eventHash,p=e.id;for(s=0;s<f;s++){let m=n[s];oae(this,d,p,m);let A=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(A),u(c)&&(u(l)||(l=r.getById(A),l9(l)),l.merge(c));u(l)||r.removeById(A),l=void 0}let g=t.length;for(s=0;s<g;s++){let m=t[s];iae(this,d,p,m);let A=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(A),u(c)&&(u(l)||(l=r.getById(A),u(l)?l9(l):(bU.id=A,l=new jo(bU),r.add(l))),l.merge(c));l=void 0}r.resumeEvents()};vr.prototype._onDefinitionChanged=function(e,t,n,i){let o=this._collections,r=this._composite,s=o.length,a=e.id,c=r.getById(a),l=c[t],f=!u(l),d=!0;for(let p=s-1;p>=0;p--){let g=o[p].getById(e.id);if(u(g)){let m=g[t];if(u(m)){if(d)if(d=!1,u(m.merge)&&u(m.clone))l=m.clone(l);else{l=m;break}l.merge(m)}}}f&&c.propertyNames.indexOf(t)===-1&&c.addProperty(t),c[t]=l};var u9=vr;function f9(){this._removalFunctions=[]}f9.prototype.add=function(e,t,n){let i=e.addEventListener(t,n);this._removalFunctions.push(i);let o=this;return function(){i();let r=o._removalFunctions;r.splice(r.indexOf(i),1)}};f9.prototype.removeAll=function(){let e=this._removalFunctions;for(let t=0,n=e.length;t<n;++t)e[t]();e.length=0};var wr=f9;function m9(e,t){return $.compare(e.start,t.start)}function Ir(e){if(this._intervals=[],this._changedEvent=new Ae,u(e)){let t=e.length;for(let n=0;n<t;n++)this.addInterval(e[n])}}Object.defineProperties(Ir.prototype,{changedEvent:{get:function(){return this._changedEvent}},start:{get:function(){let e=this._intervals;return e.length===0?void 0:e[0].start}},isStartIncluded:{get:function(){let e=this._intervals;return e.length===0?!1:e[0].isStartIncluded}},stop:{get:function(){let e=this._intervals,t=e.length;return t===0?void 0:e[t-1].stop}},isStopIncluded:{get:function(){let e=this._intervals,t=e.length;return t===0?!1:e[t-1].isStopIncluded}},length:{get:function(){return this._intervals.length}},isEmpty:{get:function(){return this._intervals.length===0}}});Ir.prototype.equals=function(e,t){if(this===e)return!0;if(!(e instanceof Ir))return!1;let n=this._intervals,i=e._intervals,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;r++)if(!An.equals(n[r],i[r],t))return!1;return!0};Ir.prototype.get=function(e){return this._intervals[e]};Ir.prototype.removeAll=function(){this._intervals.length>0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};Ir.prototype.findIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t]:void 0};Ir.prototype.findDataForIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0};Ir.prototype.contains=function(e){return this.indexOf(e)>=0};var d9=new An;Ir.prototype.indexOf=function(e){let t=this._intervals;d9.start=e,d9.stop=e;let n=wo(t,d9,m9);return n>=0?t[n].isStartIncluded?n:n>0&&t[n-1].stop.equals(e)&&t[n-1].isStopIncluded?n-1:~n:(n=~n,n>0&&n-1<t.length&&An.contains(t[n-1],e)?n-1:~n)};Ir.prototype.findInterval=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.start,n=e.stop,i=e.isStartIncluded,o=e.isStopIncluded,r=this._intervals;for(let s=0,a=r.length;s<a;s++){let c=r[s];if((!u(t)||c.start.equals(t))&&(!u(n)||c.stop.equals(n))&&(!u(i)||c.isStartIncluded===i)&&(!u(o)||c.isStopIncluded===o))return r[s]}};Ir.prototype.addInterval=function(e,t){if(e.isEmpty)return;let n=this._intervals;if(n.length===0||$.greaterThan(e.start,n[n.length-1].stop)){n.push(e),this._changedEvent.raiseEvent(this);return}let i=wo(n,e,m9);i<0?i=~i:i>0&&e.isStartIncluded&&n[i-1].isStartIncluded&&n[i-1].start.equals(e.start)?--i:i<n.length&&!e.isStartIncluded&&n[i].isStartIncluded&&n[i].start.equals(e.start)&&++i;let o;for(i>0&&(o=$.compare(n[i-1].stop,e.start),(o>0||o===0&&(n[i-1].isStopIncluded||e.isStartIncluded))&&((u(t)?t(n[i-1].data,e.data):n[i-1].data===e.data)?($.greaterThan(e.stop,n[i-1].stop)?e=new An({start:n[i-1].start,stop:e.stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):e=new An({start:n[i-1].start,stop:n[i-1].stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:n[i-1].isStopIncluded||e.stop.equals(n[i-1].stop)&&e.isStopIncluded,data:e.data}),n.splice(i-1,1),--i):(o=$.compare(n[i-1].stop,e.stop),(o>0||o===0&&n[i-1].isStopIncluded&&!e.isStopIncluded)&&n.splice(i,0,new An({start:e.stop,stop:n[i-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i-1].isStopIncluded,data:n[i-1].data})),n[i-1]=new An({start:n[i-1].start,stop:e.start,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:n[i-1].data}))));i<n.length&&(o=$.compare(e.stop,n[i].start),o>0||o===0&&(e.isStopIncluded||n[i].isStartIncluded));)if(u(t)?t(n[i].data,e.data):n[i].data===e.data)e=new An({start:e.start,stop:$.greaterThan(n[i].stop,e.stop)?n[i].stop:e.stop,isStartIncluded:e.isStartIncluded,isStopIncluded:$.greaterThan(n[i].stop,e.stop)?n[i].isStopIncluded:e.isStopIncluded,data:e.data}),n.splice(i,1);else if(n[i]=new An({start:e.stop,stop:n[i].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i].isStopIncluded,data:n[i].data}),n[i].isEmpty)n.splice(i,1);else break;n.splice(i,0,e),this._changedEvent.raiseEvent(this)};Ir.prototype.removeInterval=function(e){if(e.isEmpty)return!1;let t=this._intervals,n=wo(t,e,m9);n<0&&(n=~n);let i=!1;for(n>0&&($.greaterThan(t[n-1].stop,e.start)||t[n-1].stop.equals(e.start)&&t[n-1].isStopIncluded&&e.isStartIncluded)&&(i=!0,($.greaterThan(t[n-1].stop,e.stop)||t[n-1].isStopIncluded&&!e.isStopIncluded&&t[n-1].stop.equals(e.stop))&&t.splice(n,0,new An({start:e.stop,stop:t[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n-1].isStopIncluded,data:t[n-1].data})),t[n-1]=new An({start:t[n-1].start,stop:e.start,isStartIncluded:t[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[n-1].data})),n<t.length&&!e.isStartIncluded&&t[n].isStartIncluded&&e.start.equals(t[n].start)&&(i=!0,t.splice(n,0,new An({start:t[n].start,stop:t[n].start,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data})),++n);n<t.length&&$.greaterThan(e.stop,t[n].stop);)i=!0,t.splice(n,1);return n<t.length&&e.stop.equals(t[n].stop)&&(i=!0,!e.isStopIncluded&&t[n].isStopIncluded?n+1<t.length&&t[n+1].start.equals(e.stop)&&t[n].data===t[n+1].data?(t.splice(n,1),t[n]=new An({start:t[n].start,stop:t[n].stop,isStartIncluded:!0,isStopIncluded:t[n].isStopIncluded,data:t[n].data})):t[n]=new An({start:e.stop,stop:e.stop,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data}):t.splice(n,1)),n<t.length&&($.greaterThan(e.stop,t[n].start)||e.stop.equals(t[n].start)&&e.isStopIncluded&&t[n].isStartIncluded)&&(i=!0,t[n]=new An({start:e.stop,stop:t[n].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n].isStopIncluded,data:t[n].data})),i&&this._changedEvent.raiseEvent(this),i};Ir.prototype.intersect=function(e,t,n){let i=new Ir,o=0,r=0,s=this._intervals,a=e._intervals;for(;o<s.length&&r<a.length;){let c=s[o],l=a[r];if($.lessThan(c.stop,l.start))++o;else if($.lessThan(l.stop,c.start))++r;else{if(u(n)||u(t)&&t(c.data,l.data)||!u(t)&&l.data===c.data){let f=An.intersect(c,l,new An,n);f.isEmpty||i.addInterval(f,t)}$.lessThan(c.stop,l.stop)||c.stop.equals(l.stop)&&!c.isStopIncluded&&l.isStopIncluded?++o:++r}}return i};Ir.fromJulianDateArray=function(e,t){u(t)||(t=new Ir);let n=e.julianDates,i=n.length,o=e.dataCallback,r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=y(e.leadingInterval,!1),c=y(e.trailingInterval,!1),l,f=0;a&&(++f,l=new An({start:ze.MINIMUM_VALUE,stop:n[0],isStartIncluded:!0,isStopIncluded:!r}),l.data=u(o)?o(l,t.length):t.length,t.addInterval(l));for(let d=0;d<i-1;++d){let p=n[d],g=n[d+1];l=new An({start:p,stop:g,isStartIncluded:t.length===f?r:!0,isStopIncluded:d===i-2?s:!1}),l.data=u(o)?o(l,t.length):t.length,t.addInterval(l),p=g}return c&&(l=new An({start:n[i-1],stop:ze.MAXIMUM_VALUE,isStartIncluded:!s,isStopIncluded:!0}),l.data=u(o)?o(l,t.length):t.length,t.addInterval(l)),t};var Ja=new Lm,GR=[0,31,28,31,30,31,30,31,31,30,31,30,31];function h9(e,t,n){u(n)||(n=new $),$.toGregorianDate(e,Ja);let i=Ja.millisecond+t.millisecond,o=Ja.second+t.second,r=Ja.minute+t.minute,s=Ja.hour+t.hour,a=Ja.day+t.day,c=Ja.month+t.month,l=Ja.year+t.year;for(i>=1e3&&(o+=Math.floor(i/1e3),i=i%1e3),o>=60&&(r+=Math.floor(o/60),o=o%60),r>=60&&(s+=Math.floor(r/60),r=r%60),s>=24&&(a+=Math.floor(s/24),s=s%24),GR[2]=Nm(l)?29:28;a>GR[c]||c>=13;)a>GR[c]&&(a-=GR[c],++c),c>=13&&(--c,l+=Math.floor(c/12),c=c%12,++c),GR[2]=Nm(l)?29:28;return Ja.millisecond=i,Ja.second=o,Ja.minute=r,Ja.hour=s,Ja.day=a,Ja.month=c,Ja.year=l,$.fromGregorianDate(Ja,n)}var r9e=new $,s9e=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function sae(e,t){if(!u(e)||e.length===0)return!1;if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,t.millisecond=0,e[0]==="P"){let n=e.match(s9e);if(!u(n))return!1;if(u(n[1])&&(t.year=Number(n[1].replace(",","."))),u(n[2])&&(t.month=Number(n[2].replace(",","."))),u(n[3])&&(t.day=Number(n[3].replace(",","."))*7),u(n[4])&&(t.day+=Number(n[4].replace(",","."))),u(n[5])&&(t.hour=Number(n[5].replace(",","."))),u(n[6])&&(t.minute=Number(n[6].replace(",","."))),u(n[7])){let i=Number(n[7].replace(",","."));t.second=Math.floor(i),t.millisecond=i%1*1e3}}else e[e.length-1]!=="Z"&&(e+="Z"),$.toGregorianDate($.fromIso8601(e,r9e),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}var WR=new Lm;Ir.fromIso8601=function(e,t){let n=e.iso8601.split("/"),i=$.fromIso8601(n[0]),o=$.fromIso8601(n[1]),r=[];if(!sae(n[2],WR))r.push(i,o);else{let s=$.clone(i);for(r.push(s);$.compare(s,o)<0;)s=h9(s,WR),$.compare(o,s)<=0&&$.clone(o,s),r.push(s)}return Ir.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Ir.fromIso8601DateArray=function(e,t){return Ir.fromJulianDateArray({julianDates:e.iso8601Dates.map(function(n){return $.fromIso8601(n)}),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Ir.fromIso8601DurationArray=function(e,t){let n=e.epoch,i=e.iso8601Durations,o=y(e.relativeToPrevious,!1),r=[],s,a,c=i.length;for(let l=0;l<c;++l)(sae(i[l],WR)||l===0)&&(o&&u(a)?s=h9(a,WR):s=h9(n,WR),r.push(s),a=s);return Ir.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};var Pr=Ir;function a9e(e,t,n,i){function o(){n.raiseEvent(e)}let r=[];t.removeAll();let s=i.length;for(let a=0;a<s;a++){let c=i.get(a);u(c.data)&&r.indexOf(c.data)===-1&&t.add(c.data.definitionChanged,o)}}function ex(){this._eventHelper=new wr,this._definitionChanged=new Ae,this._intervals=new Pr,this._intervals.changedEvent.addEventListener(ex.prototype._intervalsChanged,this)}Object.defineProperties(ex.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});ex.prototype.getValue=function(e,t){let n=this._intervals.findDataForIntervalContainingDate(e);if(u(n))return n.getValue(e,t)};ex.prototype.equals=function(e){return this===e||e instanceof ex&&this._intervals.equals(e._intervals,Y.equals)};ex.prototype._intervalsChanged=function(){a9e(this,this._eventHelper,this._definitionChanged,this._intervals),this._definitionChanged.raiseEvent(this)};var Qa=ex;function Qg(){this._definitionChanged=new Ae,this._composite=new Qa,this._composite.definitionChanged.addEventListener(Qg.prototype._raiseDefinitionChanged,this)}Object.defineProperties(Qg.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}});Qg.prototype.getType=function(e){let t=this._composite._intervals.findDataForIntervalContainingDate(e);if(u(t))return t.getType(e)};Qg.prototype.getValue=function(e,t){let n=this._composite._intervals.findDataForIntervalContainingDate(e);if(u(n))return n.getValue(e,t)};Qg.prototype.equals=function(e){return this===e||e instanceof Qg&&this._composite.equals(e._composite,Y.equals)};Qg.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var xE=Qg;function $g(e){this._referenceFrame=y(e,to.FIXED),this._definitionChanged=new Ae,this._composite=new Qa,this._composite.definitionChanged.addEventListener($g.prototype._raiseDefinitionChanged,this)}Object.defineProperties($g.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite.intervals}},referenceFrame:{get:function(){return this._referenceFrame},set:function(e){this._referenceFrame=e}}});$g.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,to.FIXED,t)};$g.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._composite._intervals.findDataForIntervalContainingDate(e);if(u(i))return i.getValueInReferenceFrame(e,t,n)};$g.prototype.equals=function(e){return this===e||e instanceof $g&&this._referenceFrame===e._referenceFrame&&this._composite.equals(e._composite,Y.equals)};$g.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Ws=$g;var c9e={ROUNDED:0,MITERED:1,BEVELED:2},vi=Object.freeze(c9e);var js=[new h,new h],l9e=new h,u9e=new h,f9e=new h,d9e=new h,h9e=new h,m9e=new h,p9e=new h,_9e=new h,g9e=new h,CE=new h,DU=new h,jR={},p9=new he;function y9e(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++){let o=e[i];p9=t.cartesianToCartographic(o,p9),n[i]=p9.height,e[i]=t.scaleToGeodeticSurface(o,o)}return n}function _9(e,t,n,i){let o=e[0],r=e[1],s=h.angleBetween(o,r),a=Math.ceil(s/i),c=new Array(a),l;if(t===n){for(l=0;l<a;l++)c[l]=t;return c.push(n),c}let d=(n-t)/a;for(l=1;l<a;l++){let p=t+l*d;c[l]=p}return c[0]=t,c.push(n),c}var vU=new h,wU=new h;function A9e(e,t,n,i){let o=new ca(n,i),r=o.projectPointOntoPlane(h.add(n,e,vU),vU),s=o.projectPointOntoPlane(h.add(n,t,wU),wU),a=H.angleBetween(r,s);return s.x*r.y-s.y*r.x>=0?-a:a}var x9e=new h(-1,0,0),tx=new M,C9e=new M,g9=new Z,T9e=Z.IDENTITY.clone(),E9e=new h,b9e=new oe,aae=new h;function Kp(e,t,n,i,o,r,s,a){let c=E9e,l=b9e;tx=Ot.eastNorthUpToFixedFrame(e,o,tx),c=M.multiplyByPointAsVector(tx,x9e,c),c=h.normalize(c,c);let f=A9e(c,t,e,o);g9=Z.fromRotationZ(f,g9),aae.z=r,tx=M.multiplyTransformation(tx,M.fromRotationTranslation(g9,aae,C9e),tx);let d=T9e;d[0]=s;for(let p=0;p<a;p++)for(let g=0;g<n.length;g+=3)l=h.fromArray(n,g,l),l=Z.multiplyByVector(d,l,l),l=M.multiplyByPoint(tx,l,l),i.push(l.x,l.y,l.z);return i}var S9e=new h;function y9(e,t,n,i,o,r,s){for(let a=0;a<e.length;a+=3){let c=h.fromArray(e,a,S9e);i=Kp(c,t,n,i,o,r[a/3],s,1)}return i}function D9e(e,t){let n=e.length,i=new Array(n*6),o=0,r=t.x+t.width/2,s=t.y+t.height/2,a=e[0];i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s;for(let c=1;c<n;c++){a=e[c];let l=a.x-r,f=a.y-s;i[o++]=l,i[o++]=0,i[o++]=f,i[o++]=l,i[o++]=0,i[o++]=f}return a=e[0],i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s,i}function cae(e,t){let n=e.length,i=new Array(n*3),o=0,r=t.x+t.width/2,s=t.y+t.height/2;for(let a=0;a<n;a++)i[o++]=e[a].x-r,i[o++]=0,i[o++]=e[a].y-s;return i}var lae=new Le,uae=new h,fae=new Z;function dae(e,t,n,i,o,r,s,a,c,l){let f=h.angleBetween(h.subtract(t,e,CE),h.subtract(n,e,DU)),d=i===vi.BEVELED?0:Math.ceil(f/P.toRadians(5)),p;o?p=Z.fromQuaternion(Le.fromAxisAngle(h.negate(e,CE),f/(d+1),lae),fae):p=Z.fromQuaternion(Le.fromAxisAngle(e,f/(d+1),lae),fae);let g,m;if(t=h.clone(t,uae),d>0){let A=l?2:1;for(let x=0;x<d;x++)t=Z.multiplyByVector(p,t,t),g=h.subtract(t,e,CE),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,DU),s=Kp(m,g,a,s,r,c,1,A)}else g=h.subtract(t,e,CE),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,DU),s=Kp(m,g,a,s,r,c,1,1),n=h.clone(n,uae),g=h.subtract(n,e,CE),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(n,DU),s=Kp(m,g,a,s,r,c,1,1);return s}jR.removeDuplicatesFromShape=function(e){let t=e.length,n=[];for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];H.equals(r,s)||n.push(s)}return n};jR.angleIsGreaterThanPi=function(e,t,n,i){let o=new ca(n,i),r=o.projectPointOntoPlane(h.add(n,e,vU),vU),s=o.projectPointOntoPlane(h.add(n,t,wU),wU);return s.x*r.y-s.y*r.x>=0};var v9e=new h,w9e=new h;jR.computePositions=function(e,t,n,i,o){let r=i._ellipsoid,s=y9e(e,r),a=i._granularity,c=i._cornerType,l=o?D9e(t,n):cae(t,n),f=o?cae(t,n):void 0,d=n.height/2,p=n.width/2,g=e.length,m=[],A=o?[]:void 0,x=l9e,C=u9e,T=f9e,E=d9e,S=h9e,D=m9e,w=p9e,R=_9e,O=g9e,L=e[0],N=e[1];E=r.geodeticSurfaceNormal(L,E),x=h.subtract(N,L,x),x=h.normalize(x,x),R=h.cross(E,x,R),R=h.normalize(R,R);let _=s[0],b=s[1];o&&(A=Kp(L,R,f,A,r,_+d,1,1)),O=h.clone(L,O),L=N,C=h.negate(x,C);let v,I;for(let k=1;k<g-1;k++){let U=o?2:1;if(N=e[k+1],L.equals(N)){wt("Positions are too close and are considered equivalent with rounding error.");continue}x=h.subtract(N,L,x),x=h.normalize(x,x),T=h.add(x,C,T),T=h.normalize(T,T),E=r.geodeticSurfaceNormal(L,E);let G=h.multiplyByScalar(E,h.dot(x,E),v9e);h.subtract(x,G,G),h.normalize(G,G);let V=h.multiplyByScalar(E,h.dot(C,E),w9e);if(h.subtract(C,V,V),h.normalize(V,V),!P.equalsEpsilon(Math.abs(h.dot(G,V)),1,P.EPSILON7)){T=h.cross(T,E,T),T=h.cross(E,T,T),T=h.normalize(T,T);let j=1/Math.max(.25,h.magnitude(h.cross(T,C,CE))),Q=jR.angleIsGreaterThanPi(x,C,L,r);Q?(S=h.add(L,h.multiplyByScalar(T,j*p,T),S),D=h.add(S,h.multiplyByScalar(R,p,D),D),js[0]=h.clone(O,js[0]),js[1]=h.clone(D,js[1]),v=_9(js,_+d,b+d,a),I=Di.generateArc({positions:js,granularity:a,ellipsoid:r}),m=y9(I,R,l,m,r,v,1),R=h.cross(E,x,R),R=h.normalize(R,R),w=h.add(S,h.multiplyByScalar(R,p,w),w),c===vi.ROUNDED||c===vi.BEVELED?dae(S,D,w,c,Q,r,m,l,b+d,o):(T=h.negate(T,T),m=Kp(L,T,l,m,r,b+d,j,U)),O=h.clone(w,O)):(S=h.add(L,h.multiplyByScalar(T,j*p,T),S),D=h.add(S,h.multiplyByScalar(R,-p,D),D),js[0]=h.clone(O,js[0]),js[1]=h.clone(D,js[1]),v=_9(js,_+d,b+d,a),I=Di.generateArc({positions:js,granularity:a,ellipsoid:r}),m=y9(I,R,l,m,r,v,1),R=h.cross(E,x,R),R=h.normalize(R,R),w=h.add(S,h.multiplyByScalar(R,-p,w),w),c===vi.ROUNDED||c===vi.BEVELED?dae(S,D,w,c,Q,r,m,l,b+d,o):m=Kp(L,T,l,m,r,b+d,j,U),O=h.clone(w,O)),C=h.negate(x,C)}else m=Kp(O,R,l,m,r,_+d,1,1),O=L;_=b,b=s[k+1],L=N}js[0]=h.clone(O,js[0]),js[1]=h.clone(L,js[1]),v=_9(js,_+d,b+d,a),I=Di.generateArc({positions:js,granularity:a,ellipsoid:r}),m=y9(I,R,l,m,r,v,1),o&&(A=Kp(L,R,f,A,r,b+d,1,1)),g=m.length;let B=o?g+A.length:g,F=new Float64Array(B);return F.set(m),o&&F.set(A,g),F};var Ed=jR;var x9={},TE=new h,gae=new h,I9e=new h,hae=new h,Bc=[new h,new h],yae=new h,Aae=new h,xae=new h,P9e=new h,O9e=new h,R9e=new h,B9e=new h,M9e=new h,L9e=new h,N9e=new h,mae=new Le,pae=new Z;function IU(e,t,n,i,o){let r=h.angleBetween(h.subtract(t,e,TE),h.subtract(n,e,gae)),s=i===vi.BEVELED?1:Math.ceil(r/P.toRadians(5))+1,a=s*3,c=new Array(a);c[a-3]=n.x,c[a-2]=n.y,c[a-1]=n.z;let l;o?l=Z.fromQuaternion(Le.fromAxisAngle(h.negate(e,TE),r/s,mae),pae):l=Z.fromQuaternion(Le.fromAxisAngle(e,r/s,mae),pae);let f=0;t=h.clone(t,TE);for(let d=0;d<s;d++)t=Z.multiplyByVector(l,t,t),c[f++]=t.x,c[f++]=t.y,c[f++]=t.z;return c}function F9e(e){let t=yae,n=Aae,i=xae,o=e[1];n=h.fromArray(e[1],o.length-3,n),i=h.fromArray(e[0],0,i),t=h.midpoint(n,i,t);let r=IU(t,n,i,vi.ROUNDED,!1),s=e.length-1,a=e[s-1];o=e[s],n=h.fromArray(a,a.length-3,n),i=h.fromArray(o,0,i),t=h.midpoint(n,i,t);let c=IU(t,n,i,vi.ROUNDED,!1);return[r,c]}function _ae(e,t,n,i){let o=TE;return i?o=h.add(e,t,o):(t=h.negate(t,t),o=h.add(e,t,o)),[o.x,o.y,o.z,n.x,n.y,n.z]}function A9(e,t,n,i){let o=new Array(e.length),r=new Array(e.length),s=h.multiplyByScalar(t,n,TE),a=h.negate(s,gae),c=0,l=e.length-1;for(let f=0;f<e.length;f+=3){let d=h.fromArray(e,f,I9e),p=h.add(d,a,hae);o[c++]=p.x,o[c++]=p.y,o[c++]=p.z;let g=h.add(d,s,hae);r[l--]=g.z,r[l--]=g.y,r[l--]=g.x}return i.push(o,r),i}x9.addAttribute=function(e,t,n,i){let o=t.x,r=t.y,s=t.z;u(n)&&(e[n]=o,e[n+1]=r,e[n+2]=s),u(i)&&(e[i]=s,e[i-1]=r,e[i-2]=o)};var V9e=new h,U9e=new h;x9.computePositions=function(e){let t=e.granularity,n=e.positions,i=e.ellipsoid,o=e.width/2,r=e.cornerType,s=e.saveAttributes,a=yae,c=Aae,l=xae,f=P9e,d=O9e,p=R9e,g=B9e,m=M9e,A=L9e,x=N9e,C=[],T=s?[]:void 0,E=s?[]:void 0,S=n[0],D=n[1];c=h.normalize(h.subtract(D,S,c),c),a=i.geodeticSurfaceNormal(S,a),f=h.normalize(h.cross(a,c,f),f),s&&(T.push(f.x,f.y,f.z),E.push(a.x,a.y,a.z)),g=h.clone(S,g),S=D,l=h.negate(c,l);let w,R=[],O,L=n.length;for(O=1;O<L-1;O++){a=i.geodeticSurfaceNormal(S,a),D=n[O+1],c=h.normalize(h.subtract(D,S,c),c),d=h.normalize(h.add(c,l,d),d);let _=h.multiplyByScalar(a,h.dot(c,a),V9e);h.subtract(c,_,_),h.normalize(_,_);let b=h.multiplyByScalar(a,h.dot(l,a),U9e);if(h.subtract(l,b,b),h.normalize(b,b),!P.equalsEpsilon(Math.abs(h.dot(_,b)),1,P.EPSILON7)){d=h.cross(d,a,d),d=h.cross(a,d,d),d=h.normalize(d,d);let I=o/Math.max(.25,h.magnitude(h.cross(d,l,TE))),B=Ed.angleIsGreaterThanPi(c,l,S,i);d=h.multiplyByScalar(d,I,d),B?(m=h.add(S,d,m),x=h.add(m,h.multiplyByScalar(f,o,x),x),A=h.add(m,h.multiplyByScalar(f,o*2,A),A),Bc[0]=h.clone(g,Bc[0]),Bc[1]=h.clone(x,Bc[1]),w=Di.generateArc({positions:Bc,granularity:t,ellipsoid:i}),C=A9(w,f,o,C),s&&(T.push(f.x,f.y,f.z),E.push(a.x,a.y,a.z)),p=h.clone(A,p),f=h.normalize(h.cross(a,c,f),f),A=h.add(m,h.multiplyByScalar(f,o*2,A),A),g=h.add(m,h.multiplyByScalar(f,o,g),g),r===vi.ROUNDED||r===vi.BEVELED?R.push({leftPositions:IU(m,p,A,r,B)}):R.push({leftPositions:_ae(S,h.negate(d,d),A,B)})):(A=h.add(S,d,A),x=h.add(A,h.negate(h.multiplyByScalar(f,o,x),x),x),m=h.add(A,h.negate(h.multiplyByScalar(f,o*2,m),m),m),Bc[0]=h.clone(g,Bc[0]),Bc[1]=h.clone(x,Bc[1]),w=Di.generateArc({positions:Bc,granularity:t,ellipsoid:i}),C=A9(w,f,o,C),s&&(T.push(f.x,f.y,f.z),E.push(a.x,a.y,a.z)),p=h.clone(m,p),f=h.normalize(h.cross(a,c,f),f),m=h.add(A,h.negate(h.multiplyByScalar(f,o*2,m),m),m),g=h.add(A,h.negate(h.multiplyByScalar(f,o,g),g),g),r===vi.ROUNDED||r===vi.BEVELED?R.push({rightPositions:IU(A,p,m,r,B)}):R.push({rightPositions:_ae(S,d,m,B)})),l=h.negate(c,l)}S=D}a=i.geodeticSurfaceNormal(S,a),Bc[0]=h.clone(g,Bc[0]),Bc[1]=h.clone(S,Bc[1]),w=Di.generateArc({positions:Bc,granularity:t,ellipsoid:i}),C=A9(w,f,o,C),s&&(T.push(f.x,f.y,f.z),E.push(a.x,a.y,a.z));let N;return r===vi.ROUNDED&&(N=F9e(C)),{positions:C,corners:R,lefts:T,normals:E,endPositions:N}};var Mi=x9;var Eae=new h,bae=new h,PU=new h,OU=new h,k9e=new h,Sae=new h,ey=new h,EE=new h;function Dae(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function bd(e,t,n,i,o,r){let s=e.normals,a=e.tangents,c=e.bitangents,l=h.normalize(h.cross(n,t,ey),ey);r.normal&&Mi.addAttribute(s,t,i,o),r.tangent&&Mi.addAttribute(a,l,i,o),r.bitangent&&Mi.addAttribute(c,n,i,o)}function vae(e,t,n){let i=e.positions,o=e.corners,r=e.endPositions,s=e.lefts,a=e.normals,c=new dn,l,f=0,d=0,p,g=0,m;for(p=0;p<i.length;p+=2)m=i[p].length-3,f+=m,g+=m*2,d+=i[p+1].length-3;for(f+=3,d+=3,p=0;p<o.length;p++){l=o[p];let J=o[p].leftPositions;u(J)?(m=J.length,f+=m,g+=m):(m=o[p].rightPositions.length,d+=m,g+=m)}let A=u(r),x;A&&(x=r[0].length-3,f+=x,d+=x,x/=3,g+=x*6);let C=f+d,T=new Float64Array(C),E=t.normal?new Float32Array(C):void 0,S=t.tangent?new Float32Array(C):void 0,D=t.bitangent?new Float32Array(C):void 0,w={normals:E,tangents:S,bitangents:D},R=0,O=C-1,L,N,_,b,v=Eae,I=bae,B,F,k=x/2,U=Fe.createTypedArray(C/3,g),G=0;if(A){F=PU,B=OU;let J=r[0];for(v=h.fromArray(a,0,v),I=h.fromArray(s,0,I),p=0;p<k;p++)F=h.fromArray(J,(k-1-p)*3,F),B=h.fromArray(J,(k+p)*3,B),Mi.addAttribute(T,B,R),Mi.addAttribute(T,F,void 0,O),bd(w,v,I,R,O,t),N=R/3,b=N+1,L=(O-2)/3,_=L-1,U[G++]=L,U[G++]=N,U[G++]=_,U[G++]=_,U[G++]=N,U[G++]=b,R+=3,O-=3}let V=0,X=0,j=i[V++],Q=i[V++];T.set(j,R),T.set(Q,O-Q.length+1),I=h.fromArray(s,X,I);let W,K;for(m=Q.length-3,p=0;p<m;p+=3)W=n.geodeticSurfaceNormal(h.fromArray(j,p,ey),ey),K=n.geodeticSurfaceNormal(h.fromArray(Q,m-p,EE),EE),v=h.normalize(h.add(W,K,v),v),bd(w,v,I,R,O,t),N=R/3,b=N+1,L=(O-2)/3,_=L-1,U[G++]=L,U[G++]=N,U[G++]=_,U[G++]=_,U[G++]=N,U[G++]=b,R+=3,O-=3;for(W=n.geodeticSurfaceNormal(h.fromArray(j,m,ey),ey),K=n.geodeticSurfaceNormal(h.fromArray(Q,m,EE),EE),v=h.normalize(h.add(W,K,v),v),X+=3,p=0;p<o.length;p++){let J;l=o[p];let _e=l.leftPositions,xe=l.rightPositions,re,ye,fe=Sae,Se=PU,we=OU;if(v=h.fromArray(a,X,v),u(_e)){for(bd(w,v,I,void 0,O,t),O-=3,re=b,ye=_,J=0;J<_e.length/3;J++)fe=h.fromArray(_e,J*3,fe),U[G++]=re,U[G++]=ye-J-1,U[G++]=ye-J,Mi.addAttribute(T,fe,void 0,O),Se=h.fromArray(T,(ye-J-1)*3,Se),we=h.fromArray(T,re*3,we),I=h.normalize(h.subtract(Se,we,I),I),bd(w,v,I,void 0,O,t),O-=3;fe=h.fromArray(T,re*3,fe),Se=h.subtract(h.fromArray(T,ye*3,Se),fe,Se),we=h.subtract(h.fromArray(T,(ye-J)*3,we),fe,we),I=h.normalize(h.add(Se,we,I),I),bd(w,v,I,R,void 0,t),R+=3}else{for(bd(w,v,I,R,void 0,t),R+=3,re=_,ye=b,J=0;J<xe.length/3;J++)fe=h.fromArray(xe,J*3,fe),U[G++]=re,U[G++]=ye+J,U[G++]=ye+J+1,Mi.addAttribute(T,fe,R),Se=h.fromArray(T,re*3,Se),we=h.fromArray(T,(ye+J)*3,we),I=h.normalize(h.subtract(Se,we,I),I),bd(w,v,I,R,void 0,t),R+=3;fe=h.fromArray(T,re*3,fe),Se=h.subtract(h.fromArray(T,(ye+J)*3,Se),fe,Se),we=h.subtract(h.fromArray(T,ye*3,we),fe,we),I=h.normalize(h.negate(h.add(we,Se,I),I),I),bd(w,v,I,void 0,O,t),O-=3}for(j=i[V++],Q=i[V++],j.splice(0,3),Q.splice(Q.length-3,3),T.set(j,R),T.set(Q,O-Q.length+1),m=Q.length-3,X+=3,I=h.fromArray(s,X,I),J=0;J<Q.length;J+=3)W=n.geodeticSurfaceNormal(h.fromArray(j,J,ey),ey),K=n.geodeticSurfaceNormal(h.fromArray(Q,m-J,EE),EE),v=h.normalize(h.add(W,K,v),v),bd(w,v,I,R,O,t),b=R/3,N=b-1,_=(O-2)/3,L=_+1,U[G++]=L,U[G++]=N,U[G++]=_,U[G++]=_,U[G++]=N,U[G++]=b,R+=3,O-=3;R-=3,O+=3}if(v=h.fromArray(a,a.length-3,v),bd(w,v,I,R,O,t),A){R+=3,O-=3,F=PU,B=OU;let J=r[1];for(p=0;p<k;p++)F=h.fromArray(J,(x-p-1)*3,F),B=h.fromArray(J,p*3,B),Mi.addAttribute(T,F,void 0,O),Mi.addAttribute(T,B,R),bd(w,v,I,R,O,t),b=R/3,N=b-1,_=(O-2)/3,L=_+1,U[G++]=L,U[G++]=N,U[G++]=_,U[G++]=_,U[G++]=N,U[G++]=b,R+=3,O-=3}if(c.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:T}),t.st){let J=new Float32Array(C/3*2),_e,xe,re=0;if(A){f/=3,d/=3;let ye=Math.PI/(x+1);xe=1/(f-x+1),_e=1/(d-x+1);let fe,Se=x/2;for(p=Se+1;p<x+1;p++)fe=P.PI_OVER_TWO+ye*p,J[re++]=_e*(1+Math.cos(fe)),J[re++]=.5*(1+Math.sin(fe));for(p=1;p<d-x+1;p++)J[re++]=p*_e,J[re++]=0;for(p=x;p>Se;p--)fe=P.PI_OVER_TWO-p*ye,J[re++]=1-_e*(1+Math.cos(fe)),J[re++]=.5*(1+Math.sin(fe));for(p=Se;p>0;p--)fe=P.PI_OVER_TWO-ye*p,J[re++]=1-xe*(1+Math.cos(fe)),J[re++]=.5*(1+Math.sin(fe));for(p=f-x;p>0;p--)J[re++]=p*xe,J[re++]=1;for(p=1;p<Se+1;p++)fe=P.PI_OVER_TWO+ye*p,J[re++]=xe*(1+Math.cos(fe)),J[re++]=.5*(1+Math.sin(fe))}else{for(f/=3,d/=3,xe=1/(f-1),_e=1/(d-1),p=0;p<d;p++)J[re++]=p*_e,J[re++]=0;for(p=f;p>0;p--)J[re++]=(p-1)*xe,J[re++]=1}c.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:J})}return t.normal&&(c.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:w.normals})),t.tangent&&(c.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:w.tangents})),t.bitangent&&(c.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:w.bitangents})),{attributes:c,indices:U}}function z9e(e,t){if(!t.normal&&!t.tangent&&!t.bitangent&&!t.st)return e;let n=e.position.values,i,o;(t.normal||t.bitangent)&&(i=e.normal.values,o=e.bitangent.values);let r=e.position.values.length/18,s=r*3,a=r*2,c=s*2,l;if(t.normal||t.bitangent||t.tangent){let f=t.normal?new Float32Array(s*6):void 0,d=t.tangent?new Float32Array(s*6):void 0,p=t.bitangent?new Float32Array(s*6):void 0,g=Eae,m=bae,A=PU,x=OU,C=k9e,T=Sae,E=c;for(l=0;l<s;l+=3){let S=E+c;g=h.fromArray(n,l,g),m=h.fromArray(n,l+s,m),A=h.fromArray(n,(l+3)%s,A),m=h.subtract(m,g,m),A=h.subtract(A,g,A),x=h.normalize(h.cross(m,A,x),x),t.normal&&(Mi.addAttribute(f,x,S),Mi.addAttribute(f,x,S+3),Mi.addAttribute(f,x,E),Mi.addAttribute(f,x,E+3)),(t.tangent||t.bitangent)&&(T=h.fromArray(i,l,T),t.bitangent&&(Mi.addAttribute(p,T,S),Mi.addAttribute(p,T,S+3),Mi.addAttribute(p,T,E),Mi.addAttribute(p,T,E+3)),t.tangent&&(C=h.normalize(h.cross(T,x,C),C),Mi.addAttribute(d,C,S),Mi.addAttribute(d,C,S+3),Mi.addAttribute(d,C,E),Mi.addAttribute(d,C,E+3))),E+=6}if(t.normal){for(f.set(i),l=0;l<s;l+=3)f[l+s]=-i[l],f[l+s+1]=-i[l+1],f[l+s+2]=-i[l+2];e.normal.values=f}else e.normal=void 0;if(t.bitangent?(p.set(o),p.set(o,s),e.bitangent.values=p):e.bitangent=void 0,t.tangent){let S=e.tangent.values;d.set(S),d.set(S,s),e.tangent.values=d}}if(t.st){let f=e.st.values,d=new Float32Array(a*6);d.set(f),d.set(f,a);let p=a*2;for(let g=0;g<2;g++){for(d[p++]=f[0],d[p++]=f[1],l=2;l<a;l+=2){let m=f[l],A=f[l+1];d[p++]=m,d[p++]=A,d[p++]=m,d[p++]=A}d[p++]=f[0],d[p++]=f[1]}e.st.values=d}return e}function C9(e,t,n){n[t++]=e[0],n[t++]=e[1],n[t++]=e[2];for(let i=3;i<e.length;i+=3){let o=e[i],r=e[i+1],s=e[i+2];n[t++]=o,n[t++]=r,n[t++]=s,n[t++]=o,n[t++]=r,n[t++]=s}return n[t++]=e[0],n[t++]=e[1],n[t++]=e[2],n}function H9e(e,t){let n=new Ie({position:t.position,normal:t.normal||t.bitangent||e.shadowVolume,tangent:t.tangent,bitangent:t.normal||t.bitangent,st:t.st}),i=e.ellipsoid,o=Mi.computePositions(e),r=vae(o,n,i),s=e.height,a=e.extrudedHeight,c=r.attributes,l=r.indices,f=c.position.values,d=f.length,p=new Float64Array(d*6),g=new Float64Array(d);g.set(f);let m=new Float64Array(d*4);f=li.scaleToGeodeticHeight(f,s,i),m=C9(f,0,m),g=li.scaleToGeodeticHeight(g,a,i),m=C9(g,d*2,m),p.set(f),p.set(g,d),p.set(m,d*2),c.position.values=p,c=z9e(c,t);let A,x=d/3;if(e.shadowVolume){let L=c.normal.values;d=L.length;let N=new Float32Array(d*6);for(A=0;A<d;A++)L[A]=-L[A];N.set(L,d),N=C9(L,d*4,N),c.extrudeDirection=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:N}),t.normal||(c.normal=void 0)}if(u(e.offsetAttribute)){let L=new Uint8Array(x*6);if(e.offsetAttribute===nn.TOP)L=L.fill(1,0,x).fill(1,x*2,x*4);else{let N=e.offsetAttribute===nn.NONE?0:1;L=L.fill(N)}c.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:L})}let C=l.length,T=x+x,E=Fe.createTypedArray(p.length/3,C*2+T*3);E.set(l);let S=C;for(A=0;A<C;A+=3){let L=l[A],N=l[A+1],_=l[A+2];E[S++]=_+x,E[S++]=N+x,E[S++]=L+x}let D,w,R,O;for(A=0;A<T;A+=2)D=A+T,w=D+T,R=D+1,O=w+1,E[S++]=D,E[S++]=w,E[S++]=R,E[S++]=R,E[S++]=w,E[S++]=O;return{attributes:c,indices:E}}var Cae=new h,YR=new h,ff=new he;function Tae(e,t,n,i,o,r){let s=h.subtract(t,e,Cae);h.normalize(s,s);let a=n.geodeticSurfaceNormal(e,YR),c=h.cross(s,a,Cae);h.multiplyByScalar(c,i,c);let l=o.latitude,f=o.longitude,d=r.latitude,p=r.longitude;h.add(e,c,YR),n.cartesianToCartographic(YR,ff);let g=ff.latitude,m=ff.longitude;l=Math.min(l,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),h.subtract(e,c,YR),n.cartesianToCartographic(YR,ff),g=ff.latitude,m=ff.longitude,l=Math.min(l,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),o.latitude=l,o.longitude=f,r.latitude=d,r.longitude=p}var uf=new h,qR=new h,gl=new he,yl=new he;function wae(e,t,n,i,o){e=Dae(e,t);let r=go(e,h.equalsEpsilon),s=r.length;if(s<2||n<=0)return new ce;let a=n*.5;gl.latitude=Number.POSITIVE_INFINITY,gl.longitude=Number.POSITIVE_INFINITY,yl.latitude=Number.NEGATIVE_INFINITY,yl.longitude=Number.NEGATIVE_INFINITY;let c,l;if(i===vi.ROUNDED){let p=r[0];h.subtract(p,r[1],uf),h.normalize(uf,uf),h.multiplyByScalar(uf,a,uf),h.add(p,uf,qR),t.cartesianToCartographic(qR,ff),c=ff.latitude,l=ff.longitude,gl.latitude=Math.min(gl.latitude,c),gl.longitude=Math.min(gl.longitude,l),yl.latitude=Math.max(yl.latitude,c),yl.longitude=Math.max(yl.longitude,l)}for(let p=0;p<s-1;++p)Tae(r[p],r[p+1],t,a,gl,yl);let f=r[s-1];h.subtract(f,r[s-2],uf),h.normalize(uf,uf),h.multiplyByScalar(uf,a,uf),h.add(f,uf,qR),Tae(f,qR,t,a,gl,yl),i===vi.ROUNDED&&(t.cartesianToCartographic(qR,ff),c=ff.latitude,l=ff.longitude,gl.latitude=Math.min(gl.latitude,c),gl.longitude=Math.min(gl.longitude,l),yl.latitude=Math.max(yl.latitude,c),yl.longitude=Math.max(yl.longitude,l));let d=u(o)?o:new ce;return d.north=yl.latitude,d.south=gl.latitude,d.east=yl.longitude,d.west=gl.longitude,d}function Jp(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ie.clone(y(e.ellipsoid,ie.WGS84)),this._vertexFormat=Ie.clone(y(e.vertexFormat,Ie.DEFAULT)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,vi.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this.packedLength=1+t.length*h.packedLength+ie.packedLength+Ie.packedLength+7}Jp.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var Iae=ie.clone(ie.UNIT_SPHERE),Pae=new Ie,Zp={positions:void 0,ellipsoid:Iae,vertexFormat:Pae,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};Jp.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let m=0;m<i;++m,t+=h.packedLength)o[m]=h.unpack(e,t);let r=ie.unpack(e,t,Iae);t+=ie.packedLength;let s=Ie.unpack(e,t,Pae);t+=Ie.packedLength;let a=e[t++],c=e[t++],l=e[t++],f=e[t++],d=e[t++],p=e[t++]===1,g=e[t];return u(n)?(n._positions=o,n._ellipsoid=ie.clone(r,n._ellipsoid),n._vertexFormat=Ie.clone(s,n._vertexFormat),n._width=a,n._height=c,n._extrudedHeight=l,n._cornerType=f,n._granularity=d,n._shadowVolume=p,n._offsetAttribute=g===-1?void 0:g,n):(Zp.positions=o,Zp.width=a,Zp.height=c,Zp.extrudedHeight=l,Zp.cornerType=f,Zp.granularity=d,Zp.shadowVolume=p,Zp.offsetAttribute=g===-1?void 0:g,new Jp(Zp))};Jp.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.positions,i=e.width,o=y(e.ellipsoid,ie.WGS84),r=y(e.cornerType,vi.ROUNDED);return wae(n,o,i,r,t)};Jp.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=Dae(t,i);let o=go(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c=e._vertexFormat,l={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0},f;if(a)l.height=r,l.extrudedHeight=s,l.shadowVolume=e._shadowVolume,l.offsetAttribute=e._offsetAttribute,f=H9e(l,c);else{let g=Mi.computePositions(l);if(f=vae(g,c,i),f.attributes.position.values=li.scaleToGeodeticHeight(f.attributes.position.values,r,i),u(e._offsetAttribute)){let m=e._offsetAttribute===nn.NONE?0:1,A=f.attributes.position.values.length,x=new Uint8Array(A/3).fill(m);f.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}}let d=f.attributes,p=se.fromVertices(d.position.values,void 0,3);return c.position||(f.attributes.position.values=void 0),new ct({attributes:d,indices:f.indices,primitiveType:Me.TRIANGLES,boundingSphere:p,offsetAttribute:e._offsetAttribute})};Jp.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Jp({positions:e._positions,width:e._width,cornerType:e._cornerType,ellipsoid:o,granularity:i,extrudedHeight:r,height:s,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(Jp.prototype,{rectangle:{get:function(){return u(this._rectangle)||(this._rectangle=wae(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var nx=Jp;var Oae=new h,Rae=new h,G9e=new h;function W9e(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function Bae(e,t){let n=[],i=e.positions,o=e.corners,r=e.endPositions,s=new dn,a,c=0,l=0,f,d=0,p;for(f=0;f<i.length;f+=2)p=i[f].length-3,c+=p,d+=p/3*4,l+=i[f+1].length-3;for(c+=3,l+=3,f=0;f<o.length;f++){a=o[f];let B=o[f].leftPositions;u(B)?(p=B.length,c+=p,d+=p/3*2):(p=o[f].rightPositions.length,l+=p,d+=p/3*2)}let g=u(r),m;g&&(m=r[0].length-3,c+=m,l+=m,m/=3,d+=m*4);let A=c+l,x=new Float64Array(A),C=0,T=A-1,E,S,D,w,R,O,L=m/2,N=Fe.createTypedArray(A/3,d+4),_=0;if(N[_++]=C/3,N[_++]=(T-2)/3,g){n.push(C/3),O=Oae,R=Rae;let B=r[0];for(f=0;f<L;f++)O=h.fromArray(B,(L-1-f)*3,O),R=h.fromArray(B,(L+f)*3,R),Mi.addAttribute(x,R,C),Mi.addAttribute(x,O,void 0,T),S=C/3,w=S+1,E=(T-2)/3,D=E-1,N[_++]=E,N[_++]=D,N[_++]=S,N[_++]=w,C+=3,T-=3}let b=0,v=i[b++],I=i[b++];for(x.set(v,C),x.set(I,T-I.length+1),p=I.length-3,n.push(C/3,(T-2)/3),f=0;f<p;f+=3)S=C/3,w=S+1,E=(T-2)/3,D=E-1,N[_++]=E,N[_++]=D,N[_++]=S,N[_++]=w,C+=3,T-=3;for(f=0;f<o.length;f++){let B;a=o[f];let F=a.leftPositions,k=a.rightPositions,U,G=G9e;if(u(F)){for(T-=3,U=D,n.push(w),B=0;B<F.length/3;B++)G=h.fromArray(F,B*3,G),N[_++]=U-B-1,N[_++]=U-B,Mi.addAttribute(x,G,void 0,T),T-=3;n.push(U-Math.floor(F.length/6)),t===vi.BEVELED&&n.push((T-2)/3+1),C+=3}else{for(C+=3,U=w,n.push(D),B=0;B<k.length/3;B++)G=h.fromArray(k,B*3,G),N[_++]=U+B,N[_++]=U+B+1,Mi.addAttribute(x,G,C),C+=3;n.push(U+Math.floor(k.length/6)),t===vi.BEVELED&&n.push(C/3-1),T-=3}for(v=i[b++],I=i[b++],v.splice(0,3),I.splice(I.length-3,3),x.set(v,C),x.set(I,T-I.length+1),p=I.length-3,B=0;B<I.length;B+=3)w=C/3,S=w-1,D=(T-2)/3,E=D+1,N[_++]=E,N[_++]=D,N[_++]=S,N[_++]=w,C+=3,T-=3;C-=3,T+=3,n.push(C/3,(T-2)/3)}if(g){C+=3,T-=3,O=Oae,R=Rae;let B=r[1];for(f=0;f<L;f++)O=h.fromArray(B,(m-f-1)*3,O),R=h.fromArray(B,f*3,R),Mi.addAttribute(x,O,void 0,T),Mi.addAttribute(x,R,C),w=C/3,S=w-1,D=(T-2)/3,E=D+1,N[_++]=E,N[_++]=D,N[_++]=S,N[_++]=w,C+=3,T-=3;n.push(C/3)}else n.push(C/3,(T-2)/3);return N[_++]=C/3,N[_++]=(T-2)/3,s.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:x}),{attributes:s,indices:N,wallIndices:n}}function j9e(e){let t=e.ellipsoid,n=Mi.computePositions(e),i=Bae(n,e.cornerType),o=i.wallIndices,r=e.height,s=e.extrudedHeight,a=i.attributes,c=i.indices,l=a.position.values,f=l.length,d=new Float64Array(f);d.set(l);let p=new Float64Array(f*2);if(l=li.scaleToGeodeticHeight(l,r,t),d=li.scaleToGeodeticHeight(d,s,t),p.set(l),p.set(d,f),a.position.values=p,f/=3,u(e.offsetAttribute)){let E=new Uint8Array(f*2);if(e.offsetAttribute===nn.TOP)E=E.fill(1,0,f);else{let S=e.offsetAttribute===nn.NONE?0:1;E=E.fill(S)}a.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:E})}let g,m=c.length,A=Fe.createTypedArray(p.length/3,(m+o.length)*2);A.set(c);let x=m;for(g=0;g<m;g+=2){let E=c[g],S=c[g+1];A[x++]=E+f,A[x++]=S+f}let C,T;for(g=0;g<o.length;g++)C=o[g],T=C+f,A[x++]=C,A[x++]=T;return{attributes:a,indices:A}}function XR(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ie.clone(y(e.ellipsoid,ie.WGS84)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,vi.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._offsetAttribute=e.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+t.length*h.packedLength+ie.packedLength+6}XR.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n]=y(e._offsetAttribute,-1),t};var Mae=ie.clone(ie.UNIT_SPHERE),ty={positions:void 0,ellipsoid:Mae,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};XR.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let p=0;p<i;++p,t+=h.packedLength)o[p]=h.unpack(e,t);let r=ie.unpack(e,t,Mae);t+=ie.packedLength;let s=e[t++],a=e[t++],c=e[t++],l=e[t++],f=e[t++],d=e[t];return u(n)?(n._positions=o,n._ellipsoid=ie.clone(r,n._ellipsoid),n._width=s,n._height=a,n._extrudedHeight=c,n._cornerType=l,n._granularity=f,n._offsetAttribute=d===-1?void 0:d,n):(ty.positions=o,ty.width=s,ty.height=a,ty.extrudedHeight=c,ty.cornerType=l,ty.granularity=f,ty.offsetAttribute=d===-1?void 0:d,new XR(ty))};XR.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=W9e(t,i);let o=go(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!1},l;if(a)c.height=r,c.extrudedHeight=s,c.offsetAttribute=e._offsetAttribute,l=j9e(c);else{let p=Mi.computePositions(c);if(l=Bae(p,c.cornerType),l.attributes.position.values=li.scaleToGeodeticHeight(l.attributes.position.values,r,i),u(e._offsetAttribute)){let g=l.attributes.position.values.length,m=e._offsetAttribute===nn.NONE?0:1,A=new Uint8Array(g/3).fill(m);l.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:A})}}let f=l.attributes,d=se.fromVertices(f.position.values,void 0,3);return new ct({attributes:f,indices:l.indices,primitiveType:Me.LINES,boundingSphere:d,offsetAttribute:e._offsetAttribute})};var KR=XR;var Y9e=new ei(0);function Mc(e){si.call(this,e),this._zIndex=0,this._terrainOffsetProperty=void 0}u(Object.create)&&(Mc.prototype=Object.create(si.prototype),Mc.prototype.constructor=Mc);Object.defineProperties(Mc.prototype,{zIndex:{get:function(){return this._zIndex}},terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});Mc.prototype._isOnTerrain=function(e,t){return this._fillEnabled&&!u(t.height)&&!u(t.extrudedHeight)&&Ec.isSupported(this._scene)};Mc.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight;return t===0||u(n)&&n!==t};Mc.prototype._computeCenter=de.throwInstantiationError;Mc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(si.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!u(o))return;u(o.zIndex)&&(u(o.height)||u(o.extrudedHeight))&&wt(wt.geometryZIndex),this._zIndex=y(o.zIndex,Y9e),u(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference,s=o.extrudedHeightReference;if(u(r)||u(s)){let a=new nd(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new eA(this._scene,a,r,s)}};Mc.prototype.destroy=function(){u(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),si.prototype.destroy.call(this)};Mc.getGeometryHeight=function(e,t){if(!u(e)){t!==We.NONE&&wt(wt.geometryHeightReference);return}return t!==We.CLAMP_TO_GROUND?e:0};Mc.getGeometryExtrudedHeight=function(e,t){if(!u(e)){t!==We.NONE&&wt(wt.geometryExtrudedHeightReference);return}return t!==We.CLAMP_TO_GROUND?e:Mc.CLAMP_TO_GROUND};Mc.CLAMP_TO_GROUND="clamp";Mc.computeGeometryOffsetAttribute=function(e,t,n,i){(!u(e)||!u(t))&&(t=We.NONE),(!u(n)||!u(i))&&(i=We.NONE);let o=0;if(t!==We.NONE&&o++,i===We.RELATIVE_TO_GROUND&&o++,o===2)return nn.ALL;if(o===1)return nn.TOP};var jn=Mc;var Lae=new z,Nae=h.ZERO,Fae=new h,Vae=new ce;function q9e(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.cornerType=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.offsetAttribute=void 0}function Sd(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new q9e(e),geometryPropertyName:"corridor",observedPropertyNames:["availability","corridor"]}),this._onEntityPropertyChanged(e,"corridor",e.corridor,void 0)}u(Object.create)&&(Sd.prototype=Object.create(jn.prototype),Sd.prototype.constructor=Sd);Sd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Mt){let o;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,Lae)),u(o)||(o=z.WHITE),i.color=Nt.fromColor(o)}return u(this._options.offsetAttribute)&&(i.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,Nae,Fae))),new At({id:t,geometry:new nx(this._options),attributes:i})};Sd.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Lae),o={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0};return u(this._options.offsetAttribute)&&(o.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,Nae,Fae))),new At({id:t,geometry:new KR(this._options),attributes:o})};Sd.prototype._computeCenter=function(e,t){let n=Y.getValueOrUndefined(this._entity.corridor.positions,e);if(!(!u(n)||n.length===0))return h.clone(n[Math.floor(n.length/2)],t)};Sd.prototype._isHidden=function(e,t){return!u(t.positions)||!u(t.width)||si.prototype._isHidden.call(this,e,t)};Sd.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!Y.isConstant(t.height)||!Y.isConstant(t.extrudedHeight)||!Y.isConstant(t.granularity)||!Y.isConstant(t.width)||!Y.isConstant(t.outlineWidth)||!Y.isConstant(t.cornerType)||!Y.isConstant(t.zIndex)||this._onTerrain&&!Y.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Mt)};Sd.prototype._setStaticOptions=function(e,t){let n=Y.getValueOrUndefined(t.height,ze.MINIMUM_VALUE),i=Y.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,We.NONE),o=Y.getValueOrUndefined(t.extrudedHeight,ze.MINIMUM_VALUE),r=Y.getValueOrDefault(t.extrudedHeightReference,ze.MINIMUM_VALUE,We.NONE);u(o)&&!u(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Mt?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(ze.MINIMUM_VALUE,s.positions),s.width=t.width.getValue(ze.MINIMUM_VALUE),s.granularity=Y.getValueOrUndefined(t.granularity,ze.MINIMUM_VALUE),s.cornerType=Y.getValueOrUndefined(t.cornerType,ze.MINIMUM_VALUE),s.offsetAttribute=jn.computeGeometryOffsetAttribute(n,i,o,r),s.height=jn.getGeometryHeight(n,i),o=jn.getGeometryExtrudedHeight(o,r),o===jn.CLAMP_TO_GROUND&&(o=fi.getMinimumMaximumHeights(nx.computeRectangle(s,Vae)).minimumTerrainHeight),s.extrudedHeight=o};Sd.DynamicGeometryUpdater=bE;function bE(e,t,n){ri.call(this,e,t,n)}u(Object.create)&&(bE.prototype=Object.create(ri.prototype),bE.prototype.constructor=bE);bE.prototype._isHidden=function(e,t,n){let i=this._options;return!u(i.positions)||!u(i.width)||ri.prototype._isHidden.call(this,e,t,n)};bE.prototype._setOptions=function(e,t,n){let i=this._options,o=Y.getValueOrUndefined(t.height,n),r=Y.getValueOrDefault(t.heightReference,n,We.NONE),s=Y.getValueOrUndefined(t.extrudedHeight,n),a=Y.getValueOrDefault(t.extrudedHeightReference,n,We.NONE);u(s)&&!u(o)&&(o=0),i.positions=Y.getValueOrUndefined(t.positions,n),i.width=Y.getValueOrUndefined(t.width,n),i.granularity=Y.getValueOrUndefined(t.granularity,n),i.cornerType=Y.getValueOrUndefined(t.cornerType,n),i.offsetAttribute=jn.computeGeometryOffsetAttribute(o,r,s,a),i.height=jn.getGeometryHeight(o,r),s=jn.getGeometryExtrudedHeight(s,a),s===jn.CLAMP_TO_GROUND&&(s=fi.getMinimumMaximumHeights(nx.computeRectangle(i,Vae)).minimumTerrainHeight),i.extrudedHeight=s};var ZR=Sd;function RU(){de.throwInstantiationError()}Object.defineProperties(RU.prototype,{name:{get:de.throwInstantiationError},clock:{get:de.throwInstantiationError},entities:{get:de.throwInstantiationError},isLoading:{get:de.throwInstantiationError},changedEvent:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},loadingEvent:{get:de.throwInstantiationError},show:{get:de.throwInstantiationError},clustering:{get:de.throwInstantiationError}});RU.prototype.update=function(e){de.throwInstantiationError()};RU.setLoading=function(e,t){e._isLoading!==t&&(t?e._entityCollection.suspendEvents():e._entityCollection.resumeEvents(),e._isLoading=t,e._loading.raiseEvent(e,t))};var Or=RU;function Wh(e,t){this._ellipsoid=e,this._cameraPosition=new h,this._cameraPositionInScaledSpace=new h,this._distanceToLimbInScaledSpaceSquared=0,u(t)&&(this.cameraPosition=t)}Object.defineProperties(Wh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),i=h.magnitudeSquared(n)-1;h.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=n,this._distanceToLimbInScaledSpaceSquared=i}}});var Uae=new h;Wh.prototype.isPointVisible=function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,Uae);return E9(n,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};Wh.prototype.isScaledSpacePointVisible=function(e){return E9(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var X9e=new h;Wh.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(e,t){let n=this._ellipsoid,i,o;return u(t)&&t<0&&n.minimumRadius>-t?(o=X9e,o.x=this._cameraPosition.x/(n.radii.x+t),o.y=this._cameraPosition.y/(n.radii.y+t),o.z=this._cameraPosition.z/(n.radii.z+t),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),E9(e,o,i)};Wh.prototype.computeHorizonCullingPoint=function(e,t,n){return Hae(this._ellipsoid,e,t,n)};var kae=ie.clone(ie.UNIT_SPHERE);Wh.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,n,i){let o=zae(this._ellipsoid,n,kae);return Hae(o,e,t,i)};Wh.prototype.computeHorizonCullingPointFromVertices=function(e,t,n,i,o){return Gae(this._ellipsoid,e,t,n,i,o)};Wh.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,n,i,o,r){let s=zae(this._ellipsoid,o,kae);return Gae(s,e,t,n,i,r)};var K9e=[];Wh.prototype.computeHorizonCullingPointFromRectangle=function(e,t,n){let i=ce.subsample(e,t,0,K9e),o=se.fromPoints(i);if(!(h.magnitude(o.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(o.center,i,n)};var Z9e=new h;function zae(e,t,n){if(u(t)&&t<0&&e.minimumRadius>-t){let i=h.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,Z9e);e=ie.fromCartesian3(i,n)}return e}function Hae(e,t,n,i){u(i)||(i=new h);let o=Yae(e,t),r=0;for(let s=0,a=n.length;s<a;++s){let c=n[s],l=Wae(e,c,o);if(l<0)return;r=Math.max(r,l)}return jae(o,r,i)}var BU=new h;function Gae(e,t,n,i,o,r){u(r)||(r=new h),i=y(i,3),o=y(o,h.ZERO);let s=Yae(e,t),a=0;for(let c=0,l=n.length;c<l;c+=i){BU.x=n[c]+o.x,BU.y=n[c+1]+o.y,BU.z=n[c+2]+o.z;let f=Wae(e,BU,s);if(f<0)return;a=Math.max(a,f)}return jae(s,a,r)}function E9(e,t,n){let i=t,o=n,r=h.subtract(e,i,Uae),s=-h.dot(r,i);return!(o<0?s>0:s>o&&s*s/h.magnitudeSquared(r)>o)}var J9e=new h,Q9e=new h;function Wae(e,t,n){let i=e.transformPositionToScaledSpace(t,J9e),o=h.magnitudeSquared(i),r=Math.sqrt(o),s=h.divideByScalar(i,r,Q9e);o=Math.max(1,o),r=Math.max(1,r);let a=h.dot(s,n),c=h.magnitude(h.cross(s,n,s)),l=1/r,f=Math.sqrt(o-1)*l;return 1/(a*l-c*f)}function jae(e,t,n){if(!(t<=0||t===1/0||t!==t))return h.multiplyByScalar(e,t,n)}var T9=new h;function Yae(e,t){return h.equals(t,h.ZERO)?t:(e.transformPositionToScaledSpace(t,T9),h.normalize(T9,T9))}var Qp=Wh;function Rr(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.scaleByDistance,o=e.distanceDisplayCondition;u(n)&&(n=Pt.clone(n)),u(i)&&(i=Pt.clone(i)),u(o)&&(o=bt.clone(o)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._color=z.clone(y(e.color,z.WHITE)),this._outlineColor=z.clone(y(e.outlineColor,z.TRANSPARENT)),this._outlineWidth=y(e.outlineWidth,0),this._pixelSize=y(e.pixelSize,10),this._scaleByDistance=i,this._translucencyByDistance=n,this._distanceDisplayCondition=o,this._disableDepthTestDistance=y(e.disableDepthTestDistance,0),this._id=e.id,this._collection=y(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1}var qae=Rr.SHOW_INDEX=0,Zae=Rr.POSITION_INDEX=1,$9e=Rr.COLOR_INDEX=2,eWe=Rr.OUTLINE_COLOR_INDEX=3,tWe=Rr.OUTLINE_WIDTH_INDEX=4,nWe=Rr.PIXEL_SIZE_INDEX=5,iWe=Rr.SCALE_BY_DISTANCE_INDEX=6,oWe=Rr.TRANSLUCENCY_BY_DISTANCE_INDEX=7,rWe=Rr.DISTANCE_DISPLAY_CONDITION_INDEX=8,sWe=Rr.DISABLE_DEPTH_DISTANCE_INDEX=9;Rr.NUMBER_OF_PROPERTIES=10;function df(e,t){let n=e._pointPrimitiveCollection;u(n)&&(n._updatePointPrimitive(e,t),e._dirty=!0)}Object.defineProperties(Rr.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,df(this,qae))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),df(this,Zae))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;Pt.equals(t,e)||(this._scaleByDistance=Pt.clone(e,t),df(this,iWe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;Pt.equals(t,e)||(this._translucencyByDistance=Pt.clone(e,t),df(this,oWe))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){this._pixelSize!==e&&(this._pixelSize=e,df(this,nWe))}},color:{get:function(){return this._color},set:function(e){let t=this._color;z.equals(t,e)||(z.clone(e,t),df(this,$9e))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;z.equals(t,e)||(z.clone(e,t),df(this,eWe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,df(this,tWe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){bt.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=bt.clone(e,this._distanceDisplayCondition),df(this,rWe))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,df(this,sWe))}},id:{get:function(){return this._id},set:function(e){this._id=e,u(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,df(this,qae))}}});Rr.prototype.getPickId=function(e){return u(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};Rr.prototype._getActualPosition=function(){return this._actualPosition};Rr.prototype._setActualPosition=function(e){h.clone(e,this._actualPosition),df(this,Zae)};var Xae=new oe;Rr._computeActualPosition=function(e,t,n){return t.mode===te.SCENE3D?e:(M.multiplyByPoint(n,e,Xae),qi.computeActualWgs84Position(t,Xae))};var Kae=new oe;Rr._computeScreenSpacePosition=function(e,t,n,i){let o=M.multiplyByVector(e,oe.fromElements(t.x,t.y,t.z,1,Kae),Kae);return qi.wgs84ToWindowCoordinates(n,o,i)};Rr.prototype.computeScreenSpacePosition=function(e,t){let n=this._pointPrimitiveCollection;u(t)||(t=new H);let i=n.modelMatrix,o=Rr._computeScreenSpacePosition(i,this._actualPosition,e,t);if(u(o))return o.y=e.canvas.clientHeight-o.y,o};Rr.getScreenSpaceBoundingBox=function(e,t,n){let i=e.pixelSize,o=i*.5,r=t.x-o,s=t.y-o,a=i,c=i;return u(n)||(n=new Ye),n.x=r,n.y=s,n.width=a,n.height=c,n};Rr.prototype.equals=function(e){return this===e||u(e)&&this._id===e._id&&h.equals(this._position,e._position)&&z.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&z.equals(this._outlineColor,e._outlineColor)&&Pt.equals(this._scaleByDistance,e._scaleByDistance)&&Pt.equals(this._translucencyByDistance,e._translucencyByDistance)&&bt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance};Rr.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var Ds=Rr;var ny=`in vec4 v_color; +in vec4 v_outlineColor; +in float v_innerPercent; +in float v_pixelDistance; +in vec4 v_pickColor; + +void main() +{ + // The distance in UV space from this fragment to the center of the point, at most 0.5. + float distanceToCenter = length(gl_PointCoord - vec2(0.5)); + // The max distance stops one pixel shy of the edge to leave space for anti-aliasing. + float maxDistance = max(0.0, 0.5 - v_pixelDistance); + float wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter); + float innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter); + + vec4 color = mix(v_outlineColor, v_color, innerAlpha); + color.a *= wholeAlpha; + +// Fully transparent parts of the billboard are not pickable. +#if !defined(OPAQUE) && !defined(TRANSLUCENT) + if (color.a < 0.005) // matches 0/255 and 1/255 + { + discard; + } +#else +// The billboard is rendered twice. The opaque pass discards translucent fragments +// and the translucent pass discards opaque fragments. +#ifdef OPAQUE + if (color.a < 0.995) // matches < 254/255 + { + discard; + } +#else + if (color.a >= 0.995) // matches 254/255 and 255/255 + { + discard; + } +#endif +#endif + + out_FragColor = czm_gammaCorrect(color); + czm_writeLogDepth(); +} +`;var JR=`uniform float u_maxTotalPointSize; + +in vec4 positionHighAndSize; +in vec4 positionLowAndOutline; +in vec4 compressedAttribute0; // color, outlineColor, pick color +in vec4 compressedAttribute1; // show, translucency by distance, some free space +in vec4 scaleByDistance; // near, nearScale, far, farScale +in vec3 distanceDisplayConditionAndDisableDepth; // near, far, disableDepthTestDistance + +out vec4 v_color; +out vec4 v_outlineColor; +out float v_innerPercent; +out float v_pixelDistance; +out vec4 v_pickColor; + +const float SHIFT_LEFT8 = 256.0; +const float SHIFT_RIGHT8 = 1.0 / 256.0; + +void main() +{ + // Modifying this shader may also require modifications to PointPrimitive._computeScreenSpacePosition + + // unpack attributes + vec3 positionHigh = positionHighAndSize.xyz; + vec3 positionLow = positionLowAndOutline.xyz; + float outlineWidthBothSides = 2.0 * positionLowAndOutline.w; + float totalSize = positionHighAndSize.w + outlineWidthBothSides; + float outlinePercent = outlineWidthBothSides / totalSize; + // Scale in response to browser-zoom. + totalSize *= czm_pixelRatio; + + float temp = compressedAttribute1.x * SHIFT_RIGHT8; + float show = floor(temp); + +#ifdef EYE_DISTANCE_TRANSLUCENCY + vec4 translucencyByDistance; + translucencyByDistance.x = compressedAttribute1.z; + translucencyByDistance.z = compressedAttribute1.w; + + translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; + + temp = compressedAttribute1.y * SHIFT_RIGHT8; + translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; +#endif + + /////////////////////////////////////////////////////////////////////////// + + vec4 color; + vec4 outlineColor; + vec4 pickColor; + + // compressedAttribute0.z => pickColor.rgb + + temp = compressedAttribute0.z * SHIFT_RIGHT8; + pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + pickColor.r = floor(temp); + + // compressedAttribute0.x => color.rgb + + temp = compressedAttribute0.x * SHIFT_RIGHT8; + color.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + color.g = (temp - floor(temp)) * SHIFT_LEFT8; + color.r = floor(temp); + + // compressedAttribute0.y => outlineColor.rgb + + temp = compressedAttribute0.y * SHIFT_RIGHT8; + outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor.r = floor(temp); + + // compressedAttribute0.w => color.a, outlineColor.a, pickColor.a + + temp = compressedAttribute0.w * SHIFT_RIGHT8; + pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; + pickColor = pickColor / 255.0; + + temp = floor(temp) * SHIFT_RIGHT8; + outlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor /= 255.0; + color.a = floor(temp); + color /= 255.0; + + /////////////////////////////////////////////////////////////////////////// + + vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); + vec4 positionEC = czm_modelViewRelativeToEye * p; + + /////////////////////////////////////////////////////////////////////////// + +#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) + float lengthSq; + if (czm_sceneMode == czm_sceneMode2D) + { + // 2D camera distance is a special case + // treat all billboards as flattened to the z=0.0 plane + lengthSq = czm_eyeHeight2D.y; + } + else + { + lengthSq = dot(positionEC.xyz, positionEC.xyz); + } +#endif + +#ifdef EYE_DISTANCE_SCALING + totalSize *= czm_nearFarScalar(scaleByDistance, lengthSq); +#endif + if (totalSize > 0.0) { + // Add padding for anti-aliasing on both sides. + totalSize += 3.0; + } + + // Clamp to max point size. + totalSize = min(totalSize, u_maxTotalPointSize); + // If size is too small, push vertex behind near plane for clipping. + // Note that context.minimumAliasedPointSize "will be at most 1.0". + if (totalSize < 1.0) + { + positionEC.xyz = vec3(0.0); + totalSize = 1.0; + } + + float translucency = 1.0; +#ifdef EYE_DISTANCE_TRANSLUCENCY + translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); + // push vertex behind near plane for clipping + if (translucency < 0.004) + { + positionEC.xyz = vec3(0.0); + } +#endif + +#ifdef DISTANCE_DISPLAY_CONDITION + float nearSq = distanceDisplayConditionAndDisableDepth.x; + float farSq = distanceDisplayConditionAndDisableDepth.y; + if (lengthSq < nearSq || lengthSq > farSq) { + // push vertex behind camera to force it to be clipped + positionEC.xyz = vec3(0.0, 0.0, 1.0); + } +#endif + + gl_Position = czm_projection * positionEC; + czm_vertexLogDepth(); + +#ifdef DISABLE_DEPTH_DISTANCE + float disableDepthTestDistance = distanceDisplayConditionAndDisableDepth.z; + if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) + { + disableDepthTestDistance = czm_minimumDisableDepthTestDistance; + } + + if (disableDepthTestDistance != 0.0) + { + // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. + float zclip = gl_Position.z / gl_Position.w; + bool clipped = (zclip < -1.0 || zclip > 1.0); + if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) + { + // Position z on the near plane. + gl_Position.z = -gl_Position.w; +#ifdef LOG_DEPTH + czm_vertexLogDepth(vec4(czm_currentFrustum.x)); +#endif + } + } +#endif + + v_color = color; + v_color.a *= translucency * show; + v_outlineColor = outlineColor; + v_outlineColor.a *= translucency * show; + + v_innerPercent = 1.0 - outlinePercent; + v_pixelDistance = 2.0 / totalSize; + gl_PointSize = totalSize * show; + gl_Position *= show; + + v_pickColor = pickColor; +} +`;var aWe=Ds.SHOW_INDEX,D9=Ds.POSITION_INDEX,Jae=Ds.COLOR_INDEX,cWe=Ds.OUTLINE_COLOR_INDEX,lWe=Ds.OUTLINE_WIDTH_INDEX,uWe=Ds.PIXEL_SIZE_INDEX,Qae=Ds.SCALE_BY_DISTANCE_INDEX,$ae=Ds.TRANSLUCENCY_BY_DISTANCE_INDEX,ece=Ds.DISTANCE_DISPLAY_CONDITION_INDEX,fWe=Ds.DISABLE_DEPTH_DISTANCE_INDEX,v9=Ds.NUMBER_OF_PROPERTIES,$a={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepth:5};function hf(e){e=y(e,y.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(v9),this._maxPixelSize=1,this._baseVolume=new se,this._baseVolumeWC=new se,this._baseVolume2D=new se,this._boundingVolume=new se,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=M.clone(M.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,To.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=te.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW,Ne.STATIC_DRAW];let t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}Object.defineProperties(hf.prototype,{length:{get:function(){return w9(this),this._pointPrimitives.length}}});function tce(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}hf.prototype.add=function(e){let t=new Ds(e,this);return t._index=this._pointPrimitives.length,this._pointPrimitives.push(t),this._createVertexArray=!0,t};hf.prototype.remove=function(e){return this.contains(e)?(this._pointPrimitives[e._index]=null,this._pointPrimitivesRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};hf.prototype.removeAll=function(){tce(this._pointPrimitives),this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!0};function w9(e){if(e._pointPrimitivesRemoved){e._pointPrimitivesRemoved=!1;let t=[],n=e._pointPrimitives,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];s&&(s._index=r++,t.push(s))}e._pointPrimitives=t}}hf.prototype._updatePointPrimitive=function(e,t){e._dirty||(this._pointPrimitivesToUpdate[this._pointPrimitivesToUpdateIndex++]=e),++this._propertiesChanged[t]};hf.prototype.contains=function(e){return u(e)&&e._pointPrimitiveCollection===this};hf.prototype.get=function(e){return w9(this),this._pointPrimitives[e]};hf.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<v9;++i){let o=n[i]===0?Ne.STATIC_DRAW:Ne.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function dWe(e,t,n){return new Wm(e,[{index:$a.positionHighAndSize,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[D9]},{index:$a.positionLowAndShow,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[D9]},{index:$a.compressedAttribute0,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[Jae]},{index:$a.compressedAttribute1,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[$ae]},{index:$a.scaleByDistance,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:n[Qae]},{index:$a.distanceDisplayConditionAndDisableDepth,componentsPerAttribute:3,componentDatatype:q.FLOAT,usage:n[ece]}],t)}var b9=new Hn;function nce(e,t,n,i){let o=i._index,r=i._getActualPosition();e._mode===te.SCENE3D&&(se.expand(e._baseVolume,r,e._baseVolume),e._boundingVolumeDirty=!0),Hn.fromCartesian(r,b9);let s=i.pixelSize,a=i.outlineWidth;e._maxPixelSize=Math.max(e._maxPixelSize,s+a);let c=n[$a.positionHighAndSize],l=b9.high;c(o,l.x,l.y,l.z,s);let f=n[$a.positionLowAndOutline],d=b9.low;f(o,d.x,d.y,d.z,a)}var MU=65536,QR=256;function ice(e,t,n,i){let o=i._index,r=i.color,s=i.getPickId(t).color,a=i.outlineColor,c=z.floatToByte(r.red),l=z.floatToByte(r.green),f=z.floatToByte(r.blue),d=c*MU+l*QR+f;c=z.floatToByte(a.red),l=z.floatToByte(a.green),f=z.floatToByte(a.blue);let p=c*MU+l*QR+f;c=z.floatToByte(s.red),l=z.floatToByte(s.green),f=z.floatToByte(s.blue);let g=c*MU+l*QR+f,m=z.floatToByte(r.alpha)*MU+z.floatToByte(a.alpha)*QR+z.floatToByte(s.alpha),A=n[$a.compressedAttribute0];A(o,d,p,g,m)}function oce(e,t,n,i){let o=i._index,r=0,s=1,a=1,c=1,l=i.translucencyByDistance;u(l)&&(r=l.near,s=l.nearValue,a=l.far,c=l.farValue,(s!==1||c!==1)&&(e._shaderTranslucencyByDistance=!0));let f=i.show&&i.clusterShow;i.color.alpha===0&&i.outlineColor.alpha===0&&(f=!1),s=P.clamp(s,0,1),s=s===1?255:s*255|0;let d=(f?1:0)*QR+s;c=P.clamp(c,0,1),c=c===1?255:c*255|0;let p=c,g=n[$a.compressedAttribute1];g(o,d,p,r,a)}function rce(e,t,n,i){let o=i._index,r=n[$a.scaleByDistance],s=0,a=1,c=1,l=1,f=i.scaleByDistance;u(f)&&(s=f.near,a=f.nearValue,c=f.far,l=f.farValue,(a!==1||l!==1)&&(e._shaderScaleByDistance=!0)),r(o,s,a,c,l)}function sce(e,t,n,i){let o=i._index,r=n[$a.distanceDisplayConditionAndDisableDepth],s=0,a=Number.MAX_VALUE,c=i.distanceDisplayCondition;u(c)&&(s=c.near,a=c.far,s*=s,a*=a,e._shaderDistanceDisplayCondition=!0);let l=i.disableDepthTestDistance;l*=l,l>0&&(e._shaderDisableDepthDistance=!0,l===Number.POSITIVE_INFINITY&&(l=-1)),r(o,s,a,l)}function hWe(e,t,n,i){nce(e,t,n,i),ice(e,t,n,i),oce(e,t,n,i),rce(e,t,n,i),sce(e,t,n,i)}function S9(e,t,n,i,o,r){let s;i.mode===te.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let l=t[c],f=l.position,d=Ds._computeActualPosition(f,i,o);u(d)&&(l._setActualPosition(d),r?a.push(d):se.expand(s,d,s))}r&&se.fromPoints(a,s)}function mWe(e,t){let n=t.mode,i=e._pointPrimitives,o=e._pointPrimitivesToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==te.SCENE3D&&!M.equals(r,e.modelMatrix)?(e._mode=n,M.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===te.SCENE3D||n===te.SCENE2D||n===te.COLUMBUS_VIEW)&&S9(e,i,i.length,t,r,!0)):n===te.MORPHING?S9(e,i,i.length,t,r,!0):(n===te.SCENE2D||n===te.COLUMBUS_VIEW)&&S9(e,o,e._pointPrimitivesToUpdateIndex,t,r,!1)}function pWe(e,t,n){let o=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*e._maxPixelSize;n.radius+=o}var _We=[];hf.prototype.update=function(e){if(w9(this),!this.show)return;this._maxTotalPointSize=Ft.maximumAliasedPointSize,mWe(this,e);let n=this._pointPrimitives.length,i=this._pointPrimitivesToUpdate,o=this._pointPrimitivesToUpdateIndex,r=this._propertiesChanged,s=this._createVertexArray,a,c=e.context,l=e.passes,f=l.pick;if(s||!f&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let D=0;D<v9;++D)r[D]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=dWe(c,n,this._buffersUsage),a=this._vaf.writers;for(let D=0;D<n;++D){let w=this._pointPrimitives[D];w._dirty=!1,hWe(this,c,a,w)}this._vaf.commit()}this._pointPrimitivesToUpdateIndex=0}else if(o>0){let D=_We;D.length=0,(r[D9]||r[lWe]||r[uWe])&&D.push(nce),(r[Jae]||r[cWe])&&D.push(ice),(r[aWe]||r[$ae])&&D.push(oce),r[Qae]&&D.push(rce),(r[ece]||r[fWe])&&D.push(sce);let w=D.length;if(a=this._vaf.writers,o/n>.1){for(let R=0;R<o;++R){let O=i[R];O._dirty=!1;for(let L=0;L<w;++L)D[L](this,c,a,O)}this._vaf.commit()}else{for(let R=0;R<o;++R){let O=i[R];O._dirty=!1;for(let L=0;L<w;++L)D[L](this,c,a,O);this._vaf.subCommit(O._index,1)}this._vaf.endSubCommits()}this._pointPrimitivesToUpdateIndex=0}if(o>n*1.5&&(i.length=n),!u(this._vaf)||!u(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,se.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let d,p=M.IDENTITY;e.mode===te.SCENE3D?(p=this.modelMatrix,d=se.clone(this._baseVolumeWC,this._boundingVolume)):d=se.clone(this._baseVolume2D,this._boundingVolume),pWe(this,e,d);let g=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,g&&(this._blendOption===To.OPAQUE||this._blendOption===To.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Ue.fromCache({depthTest:{enabled:!0,func:ee.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===To.TRANSLUCENT||this._blendOption===To.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Ue.fromCache({depthTest:{enabled:!0,func:ee.LEQUAL},depthMask:!1,blending:un.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let m,A;(g||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(m=new ke({sources:[JR]}),this._shaderScaleByDistance&&m.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&m.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&m.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&m.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===To.OPAQUE_AND_TRANSLUCENT&&(A=new ke({defines:["OPAQUE"],sources:[ny]}),this._sp=Xt.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:A,attributeLocations:$a}),A=new ke({defines:["TRANSLUCENT"],sources:[ny]}),this._spTranslucent=Xt.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:A,attributeLocations:$a})),this._blendOption===To.OPAQUE&&(A=new ke({sources:[ny]}),this._sp=Xt.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:A,attributeLocations:$a})),this._blendOption===To.TRANSLUCENT&&(A=new ke({sources:[ny]}),this._spTranslucent=Xt.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:A,attributeLocations:$a})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let x,C,T,E,S=e.commandList;if(l.render||f){let D=this._colorCommands,w=this._blendOption===To.OPAQUE,R=this._blendOption===To.OPAQUE_AND_TRANSLUCENT;x=this._vaf.va,C=x.length,D.length=C;let O=R?C*2:C;for(E=0;E<O;++E){let L=w||R&&E%2===0;T=D[E],u(T)||(T=D[E]=new tt),T.primitiveType=Me.POINTS,T.pass=L||!R?Ee.OPAQUE:Ee.TRANSLUCENT,T.owner=this;let N=R?Math.floor(E/2):E;T.boundingVolume=d,T.modelMatrix=p,T.shaderProgram=L?this._sp:this._spTranslucent,T.uniformMap=this._uniforms,T.vertexArray=x[N].va,T.renderState=L?this._rsOpaque:this._rsTranslucent,T.debugShowBoundingVolume=this.debugShowBoundingVolume,T.pickId="v_pickColor",S.push(T)}}};hf.prototype.isDestroyed=function(){return!1};hf.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),tce(this._pointPrimitives),le(this)};var SE=hf;function eB(e,t,n,i,o,r){if(o-i<=n)return;let s=i+o>>1;ace(e,t,s,i,o,r%2),eB(e,t,n,i,s-1,r+1),eB(e,t,n,s+1,o,r+1)}function ace(e,t,n,i,o,r){for(;o>i;){if(o-i>600){let l=o-i+1,f=n-i+1,d=Math.log(l),p=.5*Math.exp(2*d/3),g=.5*Math.sqrt(d*p*(l-p)/l)*(f-l/2<0?-1:1),m=Math.max(i,Math.floor(n-f*p/l+g)),A=Math.min(o,Math.floor(n+(l-f)*p/l+g));ace(e,t,n,m,A,r)}let s=t[2*n+r],a=i,c=o;for($R(e,t,i,n),t[2*o+r]>s&&$R(e,t,i,o);a<c;){for($R(e,t,a,c),a++,c--;t[2*a+r]<s;)a++;for(;t[2*c+r]>s;)c--}t[2*i+r]===s?$R(e,t,i,c):(c++,$R(e,t,c,o)),c<=n&&(i=c+1),n<=c&&(o=c-1)}}function $R(e,t,n,i){I9(e,n,i),I9(t,2*n,2*i),I9(t,2*n+1,2*i+1)}function I9(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}function P9(e,t,n,i,o,r,s){let a=[0,e.length-1,0],c=[],l,f;for(;a.length;){let d=a.pop(),p=a.pop(),g=a.pop();if(p-g<=s){for(let x=g;x<=p;x++)l=t[2*x],f=t[2*x+1],l>=n&&l<=o&&f>=i&&f<=r&&c.push(e[x]);continue}let m=Math.floor((g+p)/2);l=t[2*m],f=t[2*m+1],l>=n&&l<=o&&f>=i&&f<=r&&c.push(e[m]);let A=(d+1)%2;(d===0?n<=l:i<=f)&&(a.push(g),a.push(m-1),a.push(A)),(d===0?o>=l:r>=f)&&(a.push(m+1),a.push(p),a.push(A))}return c}function O9(e,t,n,i,o,r){let s=[0,e.length-1,0],a=[],c=o*o;for(;s.length;){let l=s.pop(),f=s.pop(),d=s.pop();if(f-d<=r){for(let x=d;x<=f;x++)cce(t[2*x],t[2*x+1],n,i)<=c&&a.push(e[x]);continue}let p=Math.floor((d+f)/2),g=t[2*p],m=t[2*p+1];cce(g,m,n,i)<=c&&a.push(e[p]);let A=(l+1)%2;(l===0?n-o<=g:i-o<=m)&&(s.push(d),s.push(p-1),s.push(A)),(l===0?n+o>=g:i+o>=m)&&(s.push(p+1),s.push(f),s.push(A))}return a}function cce(e,t,n,i){let o=e-n,r=t-i;return o*o+r*r}var gWe=e=>e[0],yWe=e=>e[1],tB=class{constructor(t,n=gWe,i=yWe,o=64,r=Float64Array){this.nodeSize=o,this.points=t;let s=t.length<65536?Uint16Array:Uint32Array,a=this.ids=new s(t.length),c=this.coords=new r(t.length*2);for(let l=0;l<t.length;l++)a[l]=l,c[2*l]=n(t[l]),c[2*l+1]=i(t[l]);eB(a,c,o,0,a.length-1,0)}range(t,n,i,o){return P9(this.ids,this.coords,t,n,i,o,this.nodeSize)}within(t,n,i){return O9(this.ids,this.coords,t,n,i,this.nodeSize)}};function Dd(e){e=y(e,y.EMPTY_OBJECT),this._enabled=y(e.enabled,!1),this._pixelRange=y(e.pixelRange,80),this._minimumClusterSize=y(e.minimumClusterSize,2),this._clusterBillboards=y(e.clusterBillboards,!0),this._clusterLabels=y(e.clusterLabels,!0),this._clusterPoints=y(e.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new Ae,this.show=y(e.show,!0)}function AWe(e){return e.coord.x}function xWe(e){return e.coord.y}function lce(e,t){e.x-=t,e.y-=t,e.width+=t*2,e.height+=t*2}var CWe=new Ye;function uce(e,t,n,i,o){if(u(e._labelCollection)&&i._clusterLabels?o=Ug.getScreenSpaceBoundingBox(e,t,o):u(e._billboardCollection)&&i._clusterBillboards?o=lo.getScreenSpaceBoundingBox(e,t,o):u(e._pointPrimitiveCollection)&&i._clusterPoints&&(o=Ds.getScreenSpaceBoundingBox(e,t,o)),lce(o,n),i._clusterLabels&&!u(e._labelCollection)&&u(e.id)&&dce(i,e.id.id)&&u(e.id._label)){let r=i._collectionIndicesByEntity[e.id.id].labelIndex,s=i._labelCollection.get(r),a=Ug.getScreenSpaceBoundingBox(s,t,CWe);lce(a,n),o=Ye.union(o,a,o)}return o}function TWe(e,t){if(e.clusterShow=!0,!u(e._labelCollection)&&u(e.id)&&dce(t,e.id.id)&&u(e.id._label)){let n=t._collectionIndicesByEntity[e.id.id].labelIndex,i=t._labelCollection.get(n);i.clusterShow=!0}}function fce(e,t,n,i){let o={billboard:i._clusterBillboardCollection.add(),label:i._clusterLabelCollection.add(),point:i._clusterPointCollection.add()};o.billboard.show=!1,o.point.show=!1,o.label.show=!0,o.label.text=t.toLocaleString(),o.label.id=n,o.billboard.position=o.label.position=o.point.position=e,i._clusterEvent.raiseEvent(n,o)}function dce(e,t){return u(e)&&u(e._collectionIndicesByEntity[t])&&u(e._collectionIndicesByEntity[t].labelIndex)}function R9(e,t,n,i,o){if(!u(e))return;let r=e.length;for(let s=0;s<r;++s){let a=e.get(s);if(a.clusterShow=!1,!a.show||o._scene.mode===te.SCENE3D&&!i.isPointVisible(a.position))continue;let c=o._clusterLabels&&u(a._labelCollection),l=o._clusterBillboards&&u(a.id._billboard),f=o._clusterPoints&&u(a.id._point);if(c&&(f||l))continue;let d=a.computeScreenSpacePosition(n);u(d)&&t.push({index:s,collection:e,clustered:!1,coord:d})}}var EWe=new Ye,bWe=new Ye,SWe=new Ye;function DWe(e){return function(t){if(u(t)&&t<.05||!e.enabled)return;let n=e._scene,i=e._labelCollection,o=e._billboardCollection,r=e._pointCollection;if(!u(i)&&!u(o)&&!u(r)||!e._clusterBillboards&&!e._clusterLabels&&!e._clusterPoints)return;let s=e._clusterLabelCollection,a=e._clusterBillboardCollection,c=e._clusterPointCollection;u(s)?s.removeAll():s=e._clusterLabelCollection=new Fh({scene:n}),u(a)?a.removeAll():a=e._clusterBillboardCollection=new Jl({scene:n}),u(c)?c.removeAll():c=e._clusterPointCollection=new SE;let l=e._pixelRange,f=e._minimumClusterSize,d=e._previousClusters,p=[],g=e._previousHeight,m=n.camera.positionCartographic.height,A=n.mapProjection.ellipsoid,x=n.camera.positionWC,C=new Qp(A,x),T=[];e._clusterLabels&&R9(i,T,n,C,e),e._clusterBillboards&&R9(o,T,n,C,e),e._clusterPoints&&R9(r,T,n,C,e);let E,S,D,w,R,O,L,N,_,b,v,I,B=new tB(T,AWe,xWe,64,Int32Array);if(m<g)for(D=d.length,E=0;E<D;++E){let F=d[E];if(!C.isPointVisible(F.position))continue;let k=lo._computeScreenSpacePosition(M.IDENTITY,F.position,h.ZERO,H.ZERO,n);if(!u(k))continue;let U=1-m/g,G=F.width=F.width*U,V=F.height=F.height*U;G=Math.max(G,F.minimumWidth),V=Math.max(V,F.minimumHeight);let X=k.x-G*.5,j=k.y-V*.5,Q=k.x+G,W=k.y+V;for(R=B.range(X,j,Q,W),O=R.length,b=0,_=[],S=0;S<O;++S)L=R[S],N=T[L],N.clustered||(++b,v=N.collection,I=N.index,_.push(v.get(I).id));if(b>=f)for(fce(F.position,b,_,e),p.push(F),S=0;S<O;++S)T[R[S]].clustered=!0}for(D=T.length,E=0;E<D;++E){let F=T[E];if(F.clustered)continue;F.clustered=!0,v=F.collection,I=F.index;let k=v.get(I);w=uce(k,F.coord,l,e,EWe);let U=Ye.clone(w,bWe);R=B.range(w.x,w.y,w.x+w.width,w.y+w.height),O=R.length;let G=h.clone(k.position);for(b=1,_=[k.id],S=0;S<O;++S)if(L=R[S],N=T[L],!N.clustered){let V=N.collection.get(N.index),X=uce(V,N.coord,l,e,SWe);h.add(V.position,G,G),Ye.union(U,X,U),++b,_.push(V.id)}if(b>=f){let V=h.multiplyByScalar(G,1/b,G);for(fce(V,b,_,e),p.push({position:V,width:U.width,height:U.height,minimumWidth:w.width,minimumHeight:w.height}),S=0;S<O;++S)T[R[S]].clustered=!0}else TWe(k,e)}s.length===0&&(s.destroy(),e._clusterLabelCollection=void 0),a.length===0&&(a.destroy(),e._clusterBillboardCollection=void 0),c.length===0&&(c.destroy(),e._clusterPointCollection=void 0),e._previousClusters=p,e._previousHeight=m}}Dd.prototype._initialize=function(e){this._scene=e;let t=DWe(this);this._cluster=t,this._removeEventListener=e.camera.changed.addEventListener(t)};Object.defineProperties(Dd.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabledDirty=e!==this._enabled,this._enabled=e}},pixelRange:{get:function(){return this._pixelRange},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._pixelRange,this._pixelRange=e}},minimumClusterSize:{get:function(){return this._minimumClusterSize},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._minimumClusterSize,this._minimumClusterSize=e}},clusterEvent:{get:function(){return this._clusterEvent}},clusterBillboards:{get:function(){return this._clusterBillboards},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterBillboards,this._clusterBillboards=e}},clusterLabels:{get:function(){return this._clusterLabels},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterLabels,this._clusterLabels=e}},clusterPoints:{get:function(){return this._clusterPoints},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterPoints,this._clusterPoints=e}}});function M9(e,t,n,i){return function(o){let r=this[e];u(this._collectionIndicesByEntity)||(this._collectionIndicesByEntity={});let s=this._collectionIndicesByEntity[o.id];if(u(s)||(s=this._collectionIndicesByEntity[o.id]={billboardIndex:void 0,labelIndex:void 0,pointIndex:void 0}),u(r)&&u(s[i]))return r.get(s[i]);u(r)||(r=this[e]=new t({scene:this._scene}));let a,c,l=this[n];l.length>0?(a=l.pop(),c=r.get(a)):(c=r.add(),a=r.length-1),s[i]=a;let f=this;return Promise.resolve().then(function(){f._clusterDirty=!0}),c}}function L9(e,t){let n=e._collectionIndicesByEntity[t];!u(n.billboardIndex)&&!u(n.labelIndex)&&!u(n.pointIndex)&&delete e._collectionIndicesByEntity[t]}Dd.prototype.getLabel=M9("_labelCollection",Fh,"_unusedLabelIndices","labelIndex");Dd.prototype.removeLabel=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!u(this._labelCollection)||!u(t)||!u(t.labelIndex))return;let n=t.labelIndex;t.labelIndex=void 0,L9(this,e.id);let i=this._labelCollection.get(n);i.show=!1,i.text="",i.id=void 0,this._unusedLabelIndices.push(n),this._clusterDirty=!0};Dd.prototype.getBillboard=M9("_billboardCollection",Jl,"_unusedBillboardIndices","billboardIndex");Dd.prototype.removeBillboard=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!u(this._billboardCollection)||!u(t)||!u(t.billboardIndex))return;let n=t.billboardIndex;t.billboardIndex=void 0,L9(this,e.id);let i=this._billboardCollection.get(n);i.id=void 0,i.show=!1,i.image=void 0,this._unusedBillboardIndices.push(n),this._clusterDirty=!0};Dd.prototype.getPoint=M9("_pointCollection",SE,"_unusedPointIndices","pointIndex");Dd.prototype.removePoint=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!u(this._pointCollection)||!u(t)||!u(t.pointIndex))return;let n=t.pointIndex;t.pointIndex=void 0,L9(this,e.id);let i=this._pointCollection.get(n);i.show=!1,i.id=void 0,this._unusedPointIndices.push(n),this._clusterDirty=!0};function B9(e){if(!u(e))return;let t=e.length;for(let n=0;n<t;++n)e.get(n).clusterShow=!0}function vWe(e){e.enabled||(u(e._clusterLabelCollection)&&e._clusterLabelCollection.destroy(),u(e._clusterBillboardCollection)&&e._clusterBillboardCollection.destroy(),u(e._clusterPointCollection)&&e._clusterPointCollection.destroy(),e._clusterLabelCollection=void 0,e._clusterBillboardCollection=void 0,e._clusterPointCollection=void 0,B9(e._labelCollection),B9(e._billboardCollection),B9(e._pointCollection))}Dd.prototype.update=function(e){if(!this.show)return;let t;u(this._labelCollection)&&this._labelCollection.length>0&&this._labelCollection.get(0)._glyphs.length===0&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),u(this._billboardCollection)&&this._billboardCollection.length>0&&!u(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,vWe(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),u(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),u(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),u(this._clusterPointCollection)&&this._clusterPointCollection.update(e),u(this._labelCollection)&&this._labelCollection.update(e),u(this._billboardCollection)&&this._billboardCollection.update(e),u(this._pointCollection)&&this._pointCollection.update(e)};Dd.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),u(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var tu=Dd;function N9(e){this._name=e,this._clock=void 0,this._changed=new Ae,this._error=new Ae,this._isLoading=!1,this._loading=new Ae,this._entityCollection=new Ss(this),this._entityCluster=new tu}Object.defineProperties(N9.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){Or.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});N9.prototype.update=function(e){return!0};var nB=N9;var hce={};hce.computePositions=function(e,t,n,i,o){let r=e*.5,s=-r,a=i+i,c=o?2*a:a,l=new Float64Array(c*3),f,d=0,p=0,g=o?a*3:0,m=o?(a+i)*3:i*3;for(f=0;f<i;f++){let A=f/i*P.TWO_PI,x=Math.cos(A),C=Math.sin(A),T=x*n,E=C*n,S=x*t,D=C*t;l[p+g]=T,l[p+g+1]=E,l[p+g+2]=s,l[p+m]=S,l[p+m+1]=D,l[p+m+2]=r,p+=3,o&&(l[d++]=T,l[d++]=E,l[d++]=s,l[d++]=S,l[d++]=D,l[d++]=r)}return l};var ix=hce;var F9=new H,wWe=new h,IWe=new h,PWe=new h,OWe=new h;function $p(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.vertexFormat,Ie.DEFAULT),r=y(e.slices,128);this._length=t,this._topRadius=n,this._bottomRadius=i,this._vertexFormat=Ie.clone(o),this._slices=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderGeometry"}$p.packedLength=Ie.packedLength+5;$p.pack=function(e,t,n){return n=y(n,0),Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n]=y(e._offsetAttribute,-1),t};var mce=new Ie,DE={vertexFormat:mce,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};$p.unpack=function(e,t,n){t=y(t,0);let i=Ie.unpack(e,t,mce);t+=Ie.packedLength;let o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return u(n)?(n._vertexFormat=Ie.clone(i,n._vertexFormat),n._length=o,n._topRadius=r,n._bottomRadius=s,n._slices=a,n._offsetAttribute=c===-1?void 0:c,n):(DE.length=o,DE.topRadius=r,DE.bottomRadius=s,DE.slices=a,DE.offsetAttribute=c===-1?void 0:c,new $p(DE))};$p.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._vertexFormat,r=e._slices;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=r+r,a=r+s,c=s+s,l=ix.computePositions(t,n,i,r,!0),f=o.st?new Float32Array(c*2):void 0,d=o.normal?new Float32Array(c*3):void 0,p=o.tangent?new Float32Array(c*3):void 0,g=o.bitangent?new Float32Array(c*3):void 0,m,A=o.normal||o.tangent||o.bitangent;if(A){let R=o.tangent||o.bitangent,O=0,L=0,N=0,_=Math.atan2(i-n,t),b=wWe;b.z=Math.sin(_);let v=Math.cos(_),I=PWe,B=IWe;for(m=0;m<r;m++){let F=m/r*P.TWO_PI,k=v*Math.cos(F),U=v*Math.sin(F);A&&(b.x=k,b.y=U,R&&(I=h.normalize(h.cross(h.UNIT_Z,b,I),I)),o.normal&&(d[O++]=b.x,d[O++]=b.y,d[O++]=b.z,d[O++]=b.x,d[O++]=b.y,d[O++]=b.z),o.tangent&&(p[L++]=I.x,p[L++]=I.y,p[L++]=I.z,p[L++]=I.x,p[L++]=I.y,p[L++]=I.z),o.bitangent&&(B=h.normalize(h.cross(b,I,B),B),g[N++]=B.x,g[N++]=B.y,g[N++]=B.z,g[N++]=B.x,g[N++]=B.y,g[N++]=B.z))}for(m=0;m<r;m++)o.normal&&(d[O++]=0,d[O++]=0,d[O++]=-1),o.tangent&&(p[L++]=1,p[L++]=0,p[L++]=0),o.bitangent&&(g[N++]=0,g[N++]=-1,g[N++]=0);for(m=0;m<r;m++)o.normal&&(d[O++]=0,d[O++]=0,d[O++]=1),o.tangent&&(p[L++]=1,p[L++]=0,p[L++]=0),o.bitangent&&(g[N++]=0,g[N++]=1,g[N++]=0)}let x=12*r-12,C=Fe.createTypedArray(c,x),T=0,E=0;for(m=0;m<r-1;m++)C[T++]=E,C[T++]=E+2,C[T++]=E+3,C[T++]=E,C[T++]=E+3,C[T++]=E+1,E+=2;for(C[T++]=s-2,C[T++]=0,C[T++]=1,C[T++]=s-2,C[T++]=1,C[T++]=s-1,m=1;m<r-1;m++)C[T++]=s+m+1,C[T++]=s+m,C[T++]=s;for(m=1;m<r-1;m++)C[T++]=a,C[T++]=a+m,C[T++]=a+m+1;let S=0;if(o.st){let R=Math.max(n,i);for(m=0;m<c;m++){let O=h.fromArray(l,m*3,OWe);f[S++]=(O.x+R)/(2*R),f[S++]=(O.y+R)/(2*R)}}let D=new dn;o.position&&(D.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:l})),o.normal&&(D.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:d})),o.tangent&&(D.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:p})),o.bitangent&&(D.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:g})),o.st&&(D.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:f})),F9.x=t*.5,F9.y=Math.max(i,n);let w=new se(h.ZERO,H.magnitude(F9));if(u(e._offsetAttribute)){t=l.length;let R=e._offsetAttribute===nn.NONE?0:1,O=new Uint8Array(t/3).fill(R);D.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:O})}return new ct({attributes:D,indices:C,primitiveType:Me.TRIANGLES,boundingSphere:w,offsetAttribute:e._offsetAttribute})};var V9;$p.getUnitCylinder=function(){return u(V9)||(V9=$p.createGeometry(new $p({topRadius:1,bottomRadius:1,length:1,vertexFormat:Ie.POSITION_ONLY}))),V9};var iB=$p;var U9=new H;function vE(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.slices,128),r=Math.max(y(e.numberOfVerticalLines,16),0);this._length=t,this._topRadius=n,this._bottomRadius=i,this._slices=o,this._numberOfVerticalLines=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}vE.packedLength=6;vE.pack=function(e,t,n){return n=y(n,0),t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var ox={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};vE.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return u(n)?(n._length=i,n._topRadius=o,n._bottomRadius=r,n._slices=s,n._numberOfVerticalLines=a,n._offsetAttribute=c===-1?void 0:c,n):(ox.length=i,ox.topRadius=o,ox.bottomRadius=r,ox.slices=s,ox.numberOfVerticalLines=a,ox.offsetAttribute=c===-1?void 0:c,new vE(ox))};vE.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._slices,r=e._numberOfVerticalLines;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=o*2,a=ix.computePositions(t,n,i,o,!1),c=o*2,l;if(r>0){let A=Math.min(r,o);l=Math.round(o/A),c+=A}let f=Fe.createTypedArray(s,c*2),d=0,p;for(p=0;p<o-1;p++)f[d++]=p,f[d++]=p+1,f[d++]=p+o,f[d++]=p+1+o;if(f[d++]=o-1,f[d++]=0,f[d++]=o+o-1,f[d++]=o,r>0)for(p=0;p<o;p+=l)f[d++]=p,f[d++]=p+o;let g=new dn;g.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:a}),U9.x=t*.5,U9.y=Math.max(i,n);let m=new se(h.ZERO,H.magnitude(U9));if(u(e._offsetAttribute)){t=a.length;let A=e._offsetAttribute===nn.NONE?0:1,x=new Uint8Array(t/3).fill(A);g.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}return new ct({attributes:g,indices:f,primitiveType:Me.LINES,boundingSphere:m,offsetAttribute:e._offsetAttribute})};var oB=vE;var pce=h.ZERO,_ce=new h,RWe=new h,gce=new z;function BWe(e){this.id=e,this.vertexFormat=void 0,this.length=void 0,this.topRadius=void 0,this.bottomRadius=void 0,this.slices=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function nu(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new BWe(e),geometryPropertyName:"cylinder",observedPropertyNames:["availability","position","orientation","cylinder"]}),this._onEntityPropertyChanged(e,"cylinder",e.cylinder,void 0)}u(Object.create)&&(nu.prototype=Object.create(si.prototype),nu.prototype.constructor=nu);Object.defineProperties(nu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});nu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Vn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Mt){let a;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,gce)),u(a)||(a=z.WHITE),s.color=Nt.fromColor(a)}return u(this._options.offsetAttribute)&&(s.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,pce,_ce))),new At({id:t,geometry:new iB(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.mapProjection.ellipsoid),attributes:s})};nu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,gce),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o),offset:void 0};return u(this._options.offsetAttribute)&&(r.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,pce,_ce))),new At({id:t,geometry:new oB(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.mapProjection.ellipsoid),attributes:r})};nu.prototype._computeCenter=function(e,t){return Y.getValueOrUndefined(this._entity.position,e,t)};nu.prototype._isHidden=function(e,t){return!u(e.position)||!u(t.length)||!u(t.topRadius)||!u(t.bottomRadius)||si.prototype._isHidden.call(this,e,t)};nu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!Y.isConstant(e.orientation)||!t.length.isConstant||!t.topRadius.isConstant||!t.bottomRadius.isConstant||!Y.isConstant(t.slices)||!Y.isConstant(t.outlineWidth)||!Y.isConstant(t.numberOfVerticalLines)};nu.prototype._setStaticOptions=function(e,t){let n=Y.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,We.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Mt?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat,i.length=t.length.getValue(ze.MINIMUM_VALUE),i.topRadius=t.topRadius.getValue(ze.MINIMUM_VALUE),i.bottomRadius=t.bottomRadius.getValue(ze.MINIMUM_VALUE),i.slices=Y.getValueOrUndefined(t.slices,ze.MINIMUM_VALUE),i.numberOfVerticalLines=Y.getValueOrUndefined(t.numberOfVerticalLines,ze.MINIMUM_VALUE),i.offsetAttribute=n!==We.NONE?nn.ALL:void 0};nu.prototype._onEntityPropertyChanged=np;nu.DynamicGeometryUpdater=wE;function wE(e,t,n){ri.call(this,e,t,n)}u(Object.create)&&(wE.prototype=Object.create(ri.prototype),wE.prototype.constructor=wE);wE.prototype._isHidden=function(e,t,n){let i=this._options,o=Y.getValueOrUndefined(e.position,n,RWe);return!u(o)||!u(i.length)||!u(i.topRadius)||!u(i.bottomRadius)||ri.prototype._isHidden.call(this,e,t,n)};wE.prototype._setOptions=function(e,t,n){let i=Y.getValueOrDefault(t.heightReference,n,We.NONE),o=this._options;o.length=Y.getValueOrUndefined(t.length,n),o.topRadius=Y.getValueOrUndefined(t.topRadius,n),o.bottomRadius=Y.getValueOrUndefined(t.bottomRadius,n),o.slices=Y.getValueOrUndefined(t.slices,n),o.numberOfVerticalLines=Y.getValueOrUndefined(t.numberOfVerticalLines,n),o.offsetAttribute=i!==We.NONE?nn.ALL:void 0};var rB=nu;var MWe={UNBOUNDED:0,CLAMPED:1,LOOP_STOP:2},Br=Object.freeze(MWe);var LWe={TICK_DEPENDENT:0,SYSTEM_CLOCK_MULTIPLIER:1,SYSTEM_CLOCK:2},uo=Object.freeze(LWe);var NWe={NONE:0,HOLD:1,EXTRAPOLATE:2},iu=Object.freeze(NWe);var yce=vo(Ll(),1);function FWe(e){let t=new yce.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),n}var e_=FWe;var VWe=P.factorial;function k9(e,t,n,i,o,r){let s=0,a,c,l;if(i>0){for(c=0;c<o;c++){for(a=!1,l=0;l<r.length&&!a;l++)c===r[l]&&(a=!0);a||(r.push(c),s+=k9(e,t,n,i-1,o,r),r.splice(r.length-1,1))}return s}for(s=1,c=0;c<o;c++){for(a=!1,l=0;l<r.length&&!a;l++)c===r[l]&&(a=!0);a||(s*=e-n[t[c]])}return s}var LU={type:"Hermite"};LU.getRequiredDataPoints=function(e,t){return t=y(t,0),Math.max(Math.floor((e+1)/(t+1)),2)};LU.interpolateOrderZero=function(e,t,n,i,o){u(o)||(o=new Array(i));let r,s,a,c,l,f,d=t.length,p=new Array(i);for(r=0;r<i;r++){o[r]=0;let x=new Array(d);for(p[r]=x,s=0;s<d;s++)x[s]=[]}let g=d,m=new Array(g);for(r=0;r<g;r++)m[r]=r;let A=d-1;for(c=0;c<i;c++){for(s=0;s<g;s++)f=m[s]*i+c,p[c][0].push(n[f]);for(r=1;r<g;r++){let x=!1;for(s=0;s<g-r;s++){let C=t[m[s]],T=t[m[s+r]],E;T-C<=0?(f=m[s]*i+i*r+c,E=n[f],p[c][r].push(E/VWe(r))):(E=p[c][r-1][s+1]-p[c][r-1][s],p[c][r].push(E/(T-C))),x=x||E!==0}x||(A=r-1)}}for(a=0,l=0;a<=l;a++)for(r=a;r<=A;r++){let x=k9(e,m,t,a,r,[]);for(c=0;c<i;c++){let C=p[c][r][0];o[c+a*i]+=C*x}}return o};var UWe=[];LU.interpolate=function(e,t,n,i,o,r,s){let a=i*(r+1);u(s)||(s=new Array(a));for(let C=0;C<a;C++)s[C]=0;let c=t.length,l=new Array(c*(o+1)),f;for(f=0;f<c;f++)for(let C=0;C<o+1;C++)l[f*(o+1)+C]=f;let d=l.length,p=UWe,g=kWe(p,l,t,n,i,o),m=[],A=d*(d+1)/2,x=Math.min(g,r);for(let C=0;C<=x;C++)for(f=C;f<=g;f++){m.length=0;let T=k9(e,l,t,C,f,m),E=Math.floor(f*(1-f)/2)+d*f;for(let S=0;S<i;S++){let D=Math.floor(S*A),w=p[D+E];s[S+C*i]+=w*T}}return s};function kWe(e,t,n,i,o,r){let s,a,c=-1,l=t.length,f=l*(l+1)/2;for(let d=0;d<o;d++){let p=Math.floor(d*f);for(s=0;s<l;s++)a=t[s]*o*(r+1)+d,e[p+s]=i[a];for(let g=1;g<l;g++){let m=0,A=Math.floor(g*(1-g)/2)+l*g,x=!1;for(s=0;s<l-g;s++){let C=n[t[s]],T=n[t[s+g]],E,S;if(T-C<=0)a=t[s]*o*(r+1)+o*g+d,E=i[a],S=E/P.factorial(g),e[p+A+m]=S,m++;else{let D=Math.floor((g-1)*(2-g)/2)+l*(g-1);E=e[p+D+s+1]-e[p+D+s],S=E/(T-C),e[p+A+m]=S,m++}x=x||E!==0}x&&(c=Math.max(c,g))}}return c}var sB=LU;var z9={type:"Lagrange"};z9.getRequiredDataPoints=function(e){return Math.max(e+1,2)};z9.interpolateOrderZero=function(e,t,n,i,o){u(o)||(o=new Array(i));let r,s,a=t.length;for(r=0;r<i;r++)o[r]=0;for(r=0;r<a;r++){let c=1;for(s=0;s<a;s++)if(s!==r){let l=t[r]-t[s];c*=(e-t[s])/l}for(s=0;s<i;s++)o[s]+=c*n[r*i+s]}return o};var aB=z9;var H9={type:"Linear"};H9.getRequiredDataPoints=function(e){return 2};H9.interpolateOrderZero=function(e,t,n,i,o){u(o)||(o=new Array(i));let r,s,a,c=t[0],l=t[1];for(r=0;r<i;r++)s=n[r],a=n[r+i],o[r]=((a-s)*e+l*s-c*a)/(l-c);return o};var rx=H9;function ec(e,t,n){this.clock=y(e,0),this.cone=y(t,0),this.magnitude=y(n,1)}ec.fromCartesian3=function(e,t){let n=e.x,i=e.y,o=e.z,r=n*n+i*i;return u(t)||(t=new ec),t.clock=Math.atan2(i,n),t.cone=Math.atan2(Math.sqrt(r),o),t.magnitude=Math.sqrt(r+o*o),t};ec.clone=function(e,t){if(u(e))return u(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new ec(e.clock,e.cone,e.magnitude)};ec.normalize=function(e,t){return u(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=1,t):new ec(e.clock,e.cone,1)};ec.equals=function(e,t){return e===t||u(e)&&u(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude};ec.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||u(e)&&u(t)&&Math.abs(e.clock-t.clock)<=n&&Math.abs(e.cone-t.cone)<=n&&Math.abs(e.magnitude-t.magnitude)<=n};ec.prototype.equals=function(e){return ec.equals(this,e)};ec.prototype.clone=function(e){return ec.clone(this,e)};ec.prototype.equalsEpsilon=function(e,t){return ec.equalsEpsilon(this,e,t)};ec.prototype.toString=function(){return`(${this.clock}, ${this.cone}, ${this.magnitude})`};var cB=ec;var hB=vo(Ll(),1);var G9;typeof performance<"u"&&typeof performance.now=="function"&&isFinite(performance.now())?G9=function(){return performance.now()}:G9=function(){return Date.now()};var di=G9;function W9(e){e=y(e,y.EMPTY_OBJECT);let t=e.currentTime,n=e.startTime,i=e.stopTime;u(t)?t=$.clone(t):u(n)?t=$.clone(n):u(i)?t=$.addDays(i,-1,new $):t=$.now(),u(n)?n=$.clone(n):n=$.clone(t),u(i)?i=$.clone(i):i=$.addDays(n,1,new $),this.startTime=n,this.stopTime=i,this.clockRange=y(e.clockRange,Br.UNBOUNDED),this.canAnimate=y(e.canAnimate,!0),this.onTick=new Ae,this.onStop=new Ae,this._currentTime=void 0,this._multiplier=void 0,this._clockStep=void 0,this._shouldAnimate=void 0,this._lastSystemTime=di(),this.currentTime=t,this.multiplier=y(e.multiplier,1),this.shouldAnimate=y(e.shouldAnimate,!1),this.clockStep=y(e.clockStep,uo.SYSTEM_CLOCK_MULTIPLIER)}Object.defineProperties(W9.prototype,{currentTime:{get:function(){return this._currentTime},set:function(e){$.equals(this._currentTime,e)||(this._clockStep===uo.SYSTEM_CLOCK&&(this._clockStep=uo.SYSTEM_CLOCK_MULTIPLIER),this._currentTime=e)}},multiplier:{get:function(){return this._multiplier},set:function(e){this._multiplier!==e&&(this._clockStep===uo.SYSTEM_CLOCK&&(this._clockStep=uo.SYSTEM_CLOCK_MULTIPLIER),this._multiplier=e)}},clockStep:{get:function(){return this._clockStep},set:function(e){e===uo.SYSTEM_CLOCK&&(this._multiplier=1,this._shouldAnimate=!0,this._currentTime=$.now()),this._clockStep=e}},shouldAnimate:{get:function(){return this._shouldAnimate},set:function(e){this._shouldAnimate!==e&&(this._clockStep===uo.SYSTEM_CLOCK&&(this._clockStep=uo.SYSTEM_CLOCK_MULTIPLIER),this._shouldAnimate=e)}}});W9.prototype.tick=function(){let e=di(),t=$.clone(this._currentTime);if(this.canAnimate&&this._shouldAnimate){let n=this._clockStep;if(n===uo.SYSTEM_CLOCK)t=$.now(t);else{let i=this._multiplier;if(n===uo.TICK_DEPENDENT)t=$.addSeconds(t,i,t);else{let a=e-this._lastSystemTime;t=$.addSeconds(t,i*(a/1e3),t)}let o=this.clockRange,r=this.startTime,s=this.stopTime;if(o===Br.CLAMPED)$.lessThan(t,r)?t=$.clone(r,t):$.greaterThan(t,s)&&(t=$.clone(s,t),this.onStop.raiseEvent(this));else if(o===Br.LOOP_STOP)for($.lessThan(t,r)&&(t=$.clone(r,t));$.greaterThan(t,s);)t=$.addSeconds(r,$.secondsDifference(t,s),t),this.onStop.raiseEvent(this)}}return this._currentTime=t,this._lastSystemTime=e,this.onTick.raiseEvent(this),t};var vd=W9;function sx(){this._definitionChanged=new Ae,this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0}Object.defineProperties(sx.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},startTime:al("startTime"),stopTime:al("stopTime"),currentTime:al("currentTime"),clockRange:al("clockRange"),clockStep:al("clockStep"),multiplier:al("multiplier")});sx.prototype.clone=function(e){return u(e)||(e=new sx),e.startTime=this.startTime,e.stopTime=this.stopTime,e.currentTime=this.currentTime,e.clockRange=this.clockRange,e.clockStep=this.clockStep,e.multiplier=this.multiplier,e};sx.prototype.equals=function(e){return this===e||u(e)&&$.equals(this.startTime,e.startTime)&&$.equals(this.stopTime,e.stopTime)&&$.equals(this.currentTime,e.currentTime)&&this.clockRange===e.clockRange&&this.clockStep===e.clockStep&&this.multiplier===e.multiplier};sx.prototype.merge=function(e){this.startTime=y(this.startTime,e.startTime),this.stopTime=y(this.stopTime,e.stopTime),this.currentTime=y(this.currentTime,e.currentTime),this.clockRange=y(this.clockRange,e.clockRange),this.clockStep=y(this.clockStep,e.clockStep),this.multiplier=y(this.multiplier,e.multiplier)};sx.prototype.getValue=function(e){return u(e)||(e=new vd),e.startTime=y(this.startTime,e.startTime),e.stopTime=y(this.stopTime,e.stopTime),e.currentTime=y(this.currentTime,e.currentTime),e.clockRange=y(this.clockRange,e.clockRange),e.multiplier=y(this.multiplier,e.multiplier),e.clockStep=y(this.clockStep,e.clockStep),e};var wd=sx;var zWe=z.WHITE,HWe=.1,GWe=new H(8,8),WWe=new H(0,0),jWe=new H(1,1);function IE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new Ae,this._color=void 0,this._colorSubscription=void 0,this._cellAlpha=void 0,this._cellAlphaSubscription=void 0,this._lineCount=void 0,this._lineCountSubscription=void 0,this._lineThickness=void 0,this._lineThicknessSubscription=void 0,this._lineOffset=void 0,this._lineOffsetSubscription=void 0,this.color=e.color,this.cellAlpha=e.cellAlpha,this.lineCount=e.lineCount,this.lineThickness=e.lineThickness,this.lineOffset=e.lineOffset}Object.defineProperties(IE.prototype,{isConstant:{get:function(){return Y.isConstant(this._color)&&Y.isConstant(this._cellAlpha)&&Y.isConstant(this._lineCount)&&Y.isConstant(this._lineThickness)&&Y.isConstant(this._lineOffset)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color"),cellAlpha:ae("cellAlpha"),lineCount:ae("lineCount"),lineThickness:ae("lineThickness"),lineOffset:ae("lineOffset")});IE.prototype.getType=function(e){return"Grid"};IE.prototype.getValue=function(e,t){return u(t)||(t={}),t.color=Y.getValueOrClonedDefault(this._color,e,zWe,t.color),t.cellAlpha=Y.getValueOrDefault(this._cellAlpha,e,HWe),t.lineCount=Y.getValueOrClonedDefault(this._lineCount,e,GWe,t.lineCount),t.lineThickness=Y.getValueOrClonedDefault(this._lineThickness,e,jWe,t.lineThickness),t.lineOffset=Y.getValueOrClonedDefault(this._lineOffset,e,WWe,t.lineOffset),t};IE.prototype.equals=function(e){return this===e||e instanceof IE&&Y.equals(this._color,e._color)&&Y.equals(this._cellAlpha,e._cellAlpha)&&Y.equals(this._lineCount,e._lineCount)&&Y.equals(this._lineThickness,e._lineThickness)&&Y.equals(this._lineOffset,e._lineOffset)};var PE=IE;function OE(e){this._definitionChanged=new Ae,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(OE.prototype,{isConstant:{get:function(){return Y.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color")});OE.prototype.getType=function(e){return"PolylineArrow"};OE.prototype.getValue=function(e,t){return u(t)||(t={}),t.color=Y.getValueOrClonedDefault(this._color,e,z.WHITE,t.color),t};OE.prototype.equals=function(e){return this===e||e instanceof OE&&Y.equals(this._color,e._color)};var RE=OE;var YWe=z.WHITE,qWe=z.TRANSPARENT,XWe=16,KWe=255;function BE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new Ae,this._color=void 0,this._colorSubscription=void 0,this._gapColor=void 0,this._gapColorSubscription=void 0,this._dashLength=void 0,this._dashLengthSubscription=void 0,this._dashPattern=void 0,this._dashPatternSubscription=void 0,this.color=e.color,this.gapColor=e.gapColor,this.dashLength=e.dashLength,this.dashPattern=e.dashPattern}Object.defineProperties(BE.prototype,{isConstant:{get:function(){return Y.isConstant(this._color)&&Y.isConstant(this._gapColor)&&Y.isConstant(this._dashLength)&&Y.isConstant(this._dashPattern)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color"),gapColor:ae("gapColor"),dashLength:ae("dashLength"),dashPattern:ae("dashPattern")});BE.prototype.getType=function(e){return"PolylineDash"};BE.prototype.getValue=function(e,t){return u(t)||(t={}),t.color=Y.getValueOrClonedDefault(this._color,e,YWe,t.color),t.gapColor=Y.getValueOrClonedDefault(this._gapColor,e,qWe,t.gapColor),t.dashLength=Y.getValueOrDefault(this._dashLength,e,XWe,t.dashLength),t.dashPattern=Y.getValueOrDefault(this._dashPattern,e,KWe,t.dashPattern),t};BE.prototype.equals=function(e){return this===e||e instanceof BE&&Y.equals(this._color,e._color)&&Y.equals(this._gapColor,e._gapColor)&&Y.equals(this._dashLength,e._dashLength)&&Y.equals(this._dashPattern,e._dashPattern)};var ME=BE;var ZWe=z.WHITE,JWe=.25,QWe=1;function LE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new Ae,this._color=void 0,this._colorSubscription=void 0,this._glowPower=void 0,this._glowPowerSubscription=void 0,this._taperPower=void 0,this._taperPowerSubscription=void 0,this.color=e.color,this.glowPower=e.glowPower,this.taperPower=e.taperPower}Object.defineProperties(LE.prototype,{isConstant:{get:function(){return Y.isConstant(this._color)&&Y.isConstant(this._glow)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color"),glowPower:ae("glowPower"),taperPower:ae("taperPower")});LE.prototype.getType=function(e){return"PolylineGlow"};LE.prototype.getValue=function(e,t){return u(t)||(t={}),t.color=Y.getValueOrClonedDefault(this._color,e,ZWe,t.color),t.glowPower=Y.getValueOrDefault(this._glowPower,e,JWe,t.glowPower),t.taperPower=Y.getValueOrDefault(this._taperPower,e,QWe,t.taperPower),t};LE.prototype.equals=function(e){return this===e||e instanceof LE&&Y.equals(this._color,e._color)&&Y.equals(this._glowPower,e._glowPower)&&Y.equals(this._taperPower,e._taperPower)};var NE=LE;var $We=z.WHITE,e7e=z.BLACK,t7e=1;function FE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new Ae,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=e.color,this.outlineColor=e.outlineColor,this.outlineWidth=e.outlineWidth}Object.defineProperties(FE.prototype,{isConstant:{get:function(){return Y.isConstant(this._color)&&Y.isConstant(this._outlineColor)&&Y.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth")});FE.prototype.getType=function(e){return"PolylineOutline"};FE.prototype.getValue=function(e,t){return u(t)||(t={}),t.color=Y.getValueOrClonedDefault(this._color,e,$We,t.color),t.outlineColor=Y.getValueOrClonedDefault(this._outlineColor,e,e7e,t.outlineColor),t.outlineWidth=Y.getValueOrDefault(this._outlineWidth,e,t7e),t};FE.prototype.equals=function(e){return this===e||e instanceof FE&&Y.equals(this._color,e._color)&&Y.equals(this._outlineColor,e._outlineColor)&&Y.equals(this._outlineWidth,e._outlineWidth)};var iy=FE;function t_(e,t){this._value=void 0,this._definitionChanged=new Ae,this._eventHelper=new wr,this._referenceFrame=y(t,to.FIXED),this.setValue(e)}Object.defineProperties(t_.prototype,{isConstant:{get:function(){let e=this._value;if(!u(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!Y.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});t_.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,to.FIXED,t)};t_.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._value;if(!u(i))return;let o=i.length;u(n)||(n=new Array(o));let r=0,s=0;for(;r<o;){let c=i[r].getValueInReferenceFrame(e,t,n[r]);u(c)&&(n[s]=c,s++),r++}return n.length=s,n};t_.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),u(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];u(o)&&t.add(o.definitionChanged,t_.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};t_.prototype.equals=function(e){return this===e||e instanceof t_&&this._referenceFrame===e._referenceFrame&&Y.arrayEquals(this._value,e._value)};t_.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var n_=t_;function oy(e){this._value=void 0,this._definitionChanged=new Ae,this._eventHelper=new wr,this.setValue(e)}Object.defineProperties(oy.prototype,{isConstant:{get:function(){let e=this._value;if(!u(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!Y.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});oy.prototype.getValue=function(e,t){let n=this._value;if(!u(n))return;let i=n.length;u(t)||(t=new Array(i));let o=0,r=0;for(;o<i;){let a=this._value[o].getValue(e,t[o]);u(a)&&(t[r]=a,r++),o++}return t.length=r,t};oy.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),u(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];u(o)&&t.add(o.definitionChanged,oy.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};oy.prototype.equals=function(e){return this===e||e instanceof oy&&Y.arrayEquals(this._value,e._value)};oy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var VE=oy;function ax(e){let t=e._targetProperty;if(!u(t)){let n=e._targetEntity;if(!u(n)){if(n=e._targetCollection.getById(e._targetId),!u(n)){e._targetEntity=e._targetProperty=void 0;return}n.definitionChanged.addEventListener(ou.prototype._onTargetEntityDefinitionChanged,e),e._targetEntity=n}let i=e._targetPropertyNames;t=e._targetEntity;for(let o=0,r=i.length;o<r&&u(t);++o)t=t[i[o]];e._targetProperty=t}return t}function ou(e,t,n){this._targetCollection=e,this._targetId=t,this._targetPropertyNames=n,this._targetProperty=void 0,this._targetEntity=void 0,this._definitionChanged=new Ae,e.collectionChanged.addEventListener(ou.prototype._onCollectionChanged,this)}Object.defineProperties(ou.prototype,{isConstant:{get:function(){return Y.isConstant(ax(this))}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){let e=ax(this);return u(e)?e.referenceFrame:void 0}},targetId:{get:function(){return this._targetId}},targetCollection:{get:function(){return this._targetCollection}},targetPropertyNames:{get:function(){return this._targetPropertyNames}},resolvedProperty:{get:function(){return ax(this)}}});ou.fromString=function(e,t){let n,i=[],o=!0,r=!1,s="";for(let a=0;a<t.length;++a){let c=t.charAt(a);r?(s+=c,r=!1):c==="\\"?r=!0:o&&c==="#"?(n=s,o=!1,s=""):!o&&c==="."?(i.push(s),s=""):s+=c}return i.push(s),new ou(e,n,i)};ou.prototype.getValue=function(e,t){let n=ax(this);return u(n)?n.getValue(e,t):void 0};ou.prototype.getValueInReferenceFrame=function(e,t,n){let i=ax(this);return u(i)?i.getValueInReferenceFrame(e,t,n):void 0};ou.prototype.getType=function(e){let t=ax(this);return u(t)?t.getType(e):void 0};ou.prototype.equals=function(e){if(this===e)return!0;let t=this._targetPropertyNames,n=e._targetPropertyNames;if(this._targetCollection!==e._targetCollection||this._targetId!==e._targetId||t.length!==n.length)return!1;let i=this._targetPropertyNames.length;for(let o=0;o<i;o++)if(t[o]!==n[o])return!1;return!0};ou.prototype._onTargetEntityDefinitionChanged=function(e,t,n,i){u(this._targetProperty)&&this._targetPropertyNames[0]===t&&(this._targetProperty=void 0,this._definitionChanged.raiseEvent(this))};ou.prototype._onCollectionChanged=function(e,t,n){let i=this._targetEntity;u(i)&&n.indexOf(i)!==-1?(i.definitionChanged.removeEventListener(ou.prototype._onTargetEntityDefinitionChanged,this),this._targetEntity=this._targetProperty=void 0):u(i)||(i=ax(this),u(i)&&this._definitionChanged.raiseEvent(this))};var i_=ou;var n7e={packedLength:1,pack:function(e,t,n){return n=y(n,0),t[n]=e,t},unpack:function(e,t,n){return t=y(t,0),e[t]},convertPackedArrayForInterpolation:function(e,t,n,i){u(i)||(i=[]),t=y(t,0),n=y(n,e.length);let o;for(let r=0,s=n-t+1;r<s;r++){let a=e[t+r];r===0||Math.abs(o-a)<Math.PI?i[r]=a:i[r]=a-P.TWO_PI,o=a}},unpackInterpolationResult:function(e,t,n,i,o){return o=e[0],o<0?o+P.TWO_PI:o}},mf=n7e;var Ace={packedLength:1,pack:function(e,t,n){n=y(n,0),t[n]=e},unpack:function(e,t,n){return t=y(t,0),e[t]}};function xce(e,t,n){let i,o=e.length,r=n.length,s=o+r;if(e.length=s,o!==t){let a=o-1;for(i=s-1;i>=t;i--)e[i]=e[a--]}for(i=0;i<r;i++)e[t++]=n[i]}function Cce(e,t){return e instanceof $?e:typeof e=="string"?$.fromIso8601(e):$.addSeconds(t,e,new $)}var j9=[],Y9=[];function NU(e,t,n,i,o){let r=0,s,a,c,l,f,d;for(;r<i.length;){f=Cce(i[r],e),c=wo(t,f,$.compare);let p=0,g=0;if(c<0){for(c=~c,l=c*o,a=void 0,d=t[c];r<i.length&&(f=Cce(i[r],e),!(u(a)&&$.compare(a,f)>=0||u(d)&&$.compare(f,d)>=0));){for(j9[p++]=f,r=r+1,s=0;s<o;s++)Y9[g++]=i[r],r=r+1;a=f}p>0&&(Y9.length=g,xce(n,l,Y9),j9.length=p,xce(t,c,j9))}else{for(s=0;s<o;s++)r++,n[c*o+s]=i[r];r++}}}function Id(e,t){let n=e;n===Number&&(n=Ace);let i=n.packedLength,o=y(n.packedInterpolationLength,i),r=0,s;if(u(t)){let a=t.length;s=new Array(a);for(let c=0;c<a;c++){let l=t[c];l===Number&&(l=Ace);let f=l.packedLength;i+=f,o+=y(l.packedInterpolationLength,f),s[c]=l}r=a}this._type=e,this._innerType=n,this._interpolationDegree=1,this._interpolationAlgorithm=rx,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedLength=i,this._packedInterpolationLength=o,this._updateTableLength=!0,this._interpolationResult=new Array(o),this._definitionChanged=new Ae,this._derivativeTypes=t,this._innerDerivativeTypes=s,this._inputOrder=r,this._forwardExtrapolationType=iu.NONE,this._forwardExtrapolationDuration=0,this._backwardExtrapolationType=iu.NONE,this._backwardExtrapolationDuration=0}Object.defineProperties(Id.prototype,{isConstant:{get:function(){return this._values.length===0}},definitionChanged:{get:function(){return this._definitionChanged}},type:{get:function(){return this._type}},derivativeTypes:{get:function(){return this._derivativeTypes}},interpolationDegree:{get:function(){return this._interpolationDegree}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm}},forwardExtrapolationType:{get:function(){return this._forwardExtrapolationType},set:function(e){this._forwardExtrapolationType!==e&&(this._forwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},forwardExtrapolationDuration:{get:function(){return this._forwardExtrapolationDuration},set:function(e){this._forwardExtrapolationDuration!==e&&(this._forwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationType:{get:function(){return this._backwardExtrapolationType},set:function(e){this._backwardExtrapolationType!==e&&(this._backwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationDuration:{get:function(){return this._backwardExtrapolationDuration},set:function(e){this._backwardExtrapolationDuration!==e&&(this._backwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}}});Id.prototype.getValue=function(e,t){let n=this._times,i=n.length;if(i===0)return;let o,r=this._innerType,s=this._values,a=wo(n,e,$.compare);if(a<0){if(a=~a,a===0){let S=n[a];if(o=this._backwardExtrapolationDuration,this._backwardExtrapolationType===iu.NONE||o!==0&&$.secondsDifference(S,e)>o)return;if(this._backwardExtrapolationType===iu.HOLD)return r.unpack(s,0,t)}if(a>=i){a=i-1;let S=n[a];if(o=this._forwardExtrapolationDuration,this._forwardExtrapolationType===iu.NONE||o!==0&&$.secondsDifference(e,S)>o)return;if(this._forwardExtrapolationType===iu.HOLD)return a=i-1,r.unpack(s,a*r.packedLength,t)}let c=this._xTable,l=this._yTable,f=this._interpolationAlgorithm,d=this._packedInterpolationLength,p=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let S=Math.min(f.getRequiredDataPoints(this._interpolationDegree,p),i);S!==this._numberOfPoints&&(this._numberOfPoints=S,c.length=S,l.length=S*d)}let g=this._numberOfPoints-1;if(g<1)return;let m=0,A=i-1;if(A-m+1>=g+1){let S=a-(g/2|0)-1;S<m&&(S=m);let D=S+g;D>A&&(D=A,S=D-g,S<m&&(S=m)),m=S,A=D}let C=A-m+1;for(let S=0;S<C;++S)c[S]=$.secondsDifference(n[m+S],n[A]);if(u(r.convertPackedArrayForInterpolation))r.convertPackedArrayForInterpolation(s,m,A,l);else{let S=0,D=this._packedLength,w=m*D,R=(A+1)*D;for(;w<R;)l[S]=s[w],w++,S++}let T=$.secondsDifference(e,n[A]),E;if(p===0||!u(f.interpolate))E=f.interpolateOrderZero(T,c,l,d,this._interpolationResult);else{let S=Math.floor(d/(p+1));E=f.interpolate(T,c,l,S,p,p,this._interpolationResult)}return u(r.unpackInterpolationResult)?r.unpackInterpolationResult(E,s,m,A,t):r.unpack(E,0,t)}return r.unpack(s,a*this._packedLength,t)};Id.prototype.setInterpolationOptions=function(e){if(!u(e))return;let t=!1,n=e.interpolationAlgorithm,i=e.interpolationDegree;u(n)&&this._interpolationAlgorithm!==n&&(this._interpolationAlgorithm=n,t=!0),u(i)&&this._interpolationDegree!==i&&(this._interpolationDegree=i,t=!0),t&&(this._updateTableLength=!0,this._definitionChanged.raiseEvent(this))};Id.prototype.addSample=function(e,t,n){let i=this._innerDerivativeTypes,o=u(i),r=this._innerType,s=[];if(s.push(e),r.pack(t,s,s.length),o){let a=i.length;for(let c=0;c<a;c++)i[c].pack(n[c],s,s.length)}NU(void 0,this._times,this._values,s,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Id.prototype.addSamples=function(e,t,n){let i=this._innerDerivativeTypes,o=u(i),r=this._innerType,s=e.length,a=[];for(let c=0;c<s;c++)if(a.push(e[c]),r.pack(t[c],a,a.length),o){let l=n[c],f=i.length;for(let d=0;d<f;d++)i[d].pack(l[d],a,a.length)}NU(void 0,this._times,this._values,a,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Id.prototype.addSamplesPackedArray=function(e,t){NU(t,this._times,this._values,e,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Id.prototype.removeSample=function(e){let t=wo(this._times,e,$.compare);return t<0?!1:(Tce(this,t,1),!0)};function Tce(e,t,n){let i=e._packedLength;e._times.splice(t,n),e._values.splice(t*i,n*i),e._updateTableLength=!0,e._definitionChanged.raiseEvent(e)}Id.prototype.removeSamples=function(e){let t=this._times,n=wo(t,e.start,$.compare);n<0?n=~n:e.isStartIncluded||++n;let i=wo(t,e.stop,$.compare);i<0?i=~i:e.isStopIncluded&&++i,Tce(this,n,i-n)};Id.prototype.equals=function(e){if(this===e)return!0;if(!u(e)||this._type!==e._type||this._interpolationDegree!==e._interpolationDegree||this._interpolationAlgorithm!==e._interpolationAlgorithm)return!1;let t=this._derivativeTypes,n=u(t),i=e._derivativeTypes,o=u(i);if(n!==o)return!1;let r,s;if(n){if(s=t.length,s!==i.length)return!1;for(r=0;r<s;r++)if(t[r]!==i[r])return!1}let a=this._times,c=e._times;if(s=a.length,s!==c.length)return!1;for(r=0;r<s;r++)if(!$.equals(a[r],c[r]))return!1;let l=this._values,f=e._values;for(s=l.length,r=0;r<s;r++)if(l[r]!==f[r])return!1;return!0};Id._mergeNewSamples=NU;var ru=Id;function pf(e,t){t=y(t,0);let n;if(t>0){n=new Array(t);for(let i=0;i<t;i++)n[i]=h}this._numberOfDerivatives=t,this._property=new ru(h,n),this._definitionChanged=new Ae,this._referenceFrame=y(e,to.FIXED),this._property._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)}Object.defineProperties(pf.prototype,{isConstant:{get:function(){return this._property.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}},interpolationDegree:{get:function(){return this._property.interpolationDegree}},interpolationAlgorithm:{get:function(){return this._property.interpolationAlgorithm}},numberOfDerivatives:{get:function(){return this._numberOfDerivatives}},forwardExtrapolationType:{get:function(){return this._property.forwardExtrapolationType},set:function(e){this._property.forwardExtrapolationType=e}},forwardExtrapolationDuration:{get:function(){return this._property.forwardExtrapolationDuration},set:function(e){this._property.forwardExtrapolationDuration=e}},backwardExtrapolationType:{get:function(){return this._property.backwardExtrapolationType},set:function(e){this._property.backwardExtrapolationType=e}},backwardExtrapolationDuration:{get:function(){return this._property.backwardExtrapolationDuration},set:function(e){this._property.backwardExtrapolationDuration=e}}});pf.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,to.FIXED,t)};pf.prototype.getValueInReferenceFrame=function(e,t,n){if(n=this._property.getValue(e,n),u(n))return Jm.convertToReferenceFrame(e,n,this._referenceFrame,t,n)};pf.prototype.setInterpolationOptions=function(e){this._property.setInterpolationOptions(e)};pf.prototype.addSample=function(e,t,n){let i=this._numberOfDerivatives;this._property.addSample(e,t,n)};pf.prototype.addSamples=function(e,t,n){this._property.addSamples(e,t,n)};pf.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)};pf.prototype.removeSample=function(e){return this._property.removeSample(e)};pf.prototype.removeSamples=function(e){this._property.removeSamples(e)};pf.prototype.equals=function(e){return this===e||e instanceof pf&&Y.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame};var Ys=pf;var i7e={HORIZONTAL:0,VERTICAL:1},Pd=Object.freeze(i7e);var o7e=Pd.HORIZONTAL,r7e=z.WHITE,s7e=z.BLACK,a7e=0,c7e=1;function UE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new Ae,this._orientation=void 0,this._orientationSubscription=void 0,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._offset=void 0,this._offsetSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.orientation=e.orientation,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.offset=e.offset,this.repeat=e.repeat}Object.defineProperties(UE.prototype,{isConstant:{get:function(){return Y.isConstant(this._orientation)&&Y.isConstant(this._evenColor)&&Y.isConstant(this._oddColor)&&Y.isConstant(this._offset)&&Y.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},orientation:ae("orientation"),evenColor:ae("evenColor"),oddColor:ae("oddColor"),offset:ae("offset"),repeat:ae("repeat")});UE.prototype.getType=function(e){return"Stripe"};UE.prototype.getValue=function(e,t){return u(t)||(t={}),t.horizontal=Y.getValueOrDefault(this._orientation,e,o7e)===Pd.HORIZONTAL,t.evenColor=Y.getValueOrClonedDefault(this._evenColor,e,r7e,t.evenColor),t.oddColor=Y.getValueOrClonedDefault(this._oddColor,e,s7e,t.oddColor),t.offset=Y.getValueOrDefault(this._offset,e,a7e),t.repeat=Y.getValueOrDefault(this._repeat,e,c7e),t};UE.prototype.equals=function(e){return this===e||e instanceof UE&&Y.equals(this._orientation,e._orientation)&&Y.equals(this._evenColor,e._evenColor)&&Y.equals(this._oddColor,e._oddColor)&&Y.equals(this._offset,e._offset)&&Y.equals(this._repeat,e._repeat)};var kE=UE;function ry(e){this._definitionChanged=new Ae,this._intervals=new Pr,this._intervals.changedEvent.addEventListener(ry.prototype._intervalsChanged,this),this._referenceFrame=y(e,to.FIXED)}Object.defineProperties(ry.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}});ry.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,to.FIXED,t)};ry.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._intervals.findDataForIntervalContainingDate(e);if(u(i))return Jm.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};ry.prototype.equals=function(e){return this===e||e instanceof ry&&this._intervals.equals(e._intervals,Y.equals)&&this._referenceFrame===e._referenceFrame};ry.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var o_=ry;function cx(){this._definitionChanged=new Ae,this._intervals=new Pr,this._intervals.changedEvent.addEventListener(cx.prototype._intervalsChanged,this)}Object.defineProperties(cx.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});cx.prototype.getValue=function(e,t){let n=this._intervals.findDataForIntervalContainingDate(e);return u(n)&&typeof n.clone=="function"?n.clone(t):n};cx.prototype.equals=function(e){return this===e||e instanceof cx&&this._intervals.equals(e._intervals,Y.equals)};cx.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var r_=cx;function zE(e,t){this._position=void 0,this._subscription=void 0,this._definitionChanged=new Ae,this._normalize=y(t,!0),this.position=e}Object.defineProperties(zE.prototype,{isConstant:{get:function(){return Y.isConstant(this._position)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._position},set:function(e){let t=this._position;t!==e&&(u(t)&&this._subscription(),this._position=e,u(e)&&(this._subscription=e._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)),this._definitionChanged.raiseEvent(this))}},normalize:{get:function(){return this._normalize},set:function(e){this._normalize!==e&&(this._normalize=e,this._definitionChanged.raiseEvent(this))}}});var l7e=new h,Ece=new h,bce=new $,q9=1/60;zE.prototype.getValue=function(e,t){return this._getValue(e,t)};zE.prototype._getValue=function(e,t,n){u(t)||(t=new h);let i=this._position;if(Y.isConstant(i))return this._normalize?void 0:h.clone(h.ZERO,t);let o=i.getValue(e,l7e),r=i.getValue($.addSeconds(e,q9,bce),Ece);if(!u(o)||!u(r)&&(r=o,o=i.getValue($.addSeconds(e,-q9,bce),Ece),!u(o)))return;if(h.equals(o,r))return this._normalize?void 0:h.clone(h.ZERO,t);u(n)&&o.clone(n);let s=h.subtract(r,o,t);return this._normalize?h.normalize(s,t):h.divideByScalar(s,q9,t)};zE.prototype.equals=function(e){return this===e||e instanceof zE&&Y.equals(this._position,e._position)};var lx=zE;function lB(e,t){this._velocityVectorProperty=new lx(e,!0),this._subscription=void 0,this._ellipsoid=void 0,this._definitionChanged=new Ae,this.ellipsoid=y(t,ie.WGS84);let n=this;this._velocityVectorProperty.definitionChanged.addEventListener(function(){n._definitionChanged.raiseEvent(n)})}Object.defineProperties(lB.prototype,{isConstant:{get:function(){return Y.isConstant(this._velocityVectorProperty)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._velocityVectorProperty.position},set:function(e){this._velocityVectorProperty.position=e}},ellipsoid:{get:function(){return this._ellipsoid},set:function(e){this._ellipsoid!==e&&(this._ellipsoid=e,this._definitionChanged.raiseEvent(this))}}});var Sce=new h,u7e=new h,Dce=new Z;lB.prototype.getValue=function(e,t){let n=this._velocityVectorProperty._getValue(e,u7e,Sce);if(u(n))return Ot.rotationMatrixFromPositionVelocity(Sce,n,this._ellipsoid,Dce),Le.fromRotationMatrix(Dce,t)};lB.prototype.equals=function(e){return this===e||e instanceof lB&&Y.equals(this._velocityVectorProperty,e._velocityVectorProperty)&&(this._ellipsoid===e._ellipsoid||this._ellipsoid.equals(e._ellipsoid))};var uB=lB;function sy(){}sy.packedLength=h.packedLength;sy.unpack=h.unpack;sy.pack=h.pack;var X9;function fB(e,t){return t[0]==="#"&&(t=X9+t),i_.fromString(e,t)}function vce(e,t,n){if(u(n.reference))return fB(t,n.reference);if(u(n.velocityReference)){let i=fB(t,n.velocityReference);switch(e){case h:case sy:return new lx(i,e===sy);case Le:return new uB(i)}}throw new ue(`${JSON.stringify(n)} is not valid CZML.`)}function f7e(e,t){return new nd(function(n,i){return t(e.getValue(n,i))},e.isConstant)}var Li=new h,Lc=new cB,tc=new he,ux=new An,FU=new Le;function d7e(e){let t=e.rgbaf;if(u(t))return t;let n=e.rgba;if(!u(n))return;let i=n.length;if(i===z.packedLength)return[z.byteToFloat(n[0]),z.byteToFloat(n[1]),z.byteToFloat(n[2]),z.byteToFloat(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=z.byteToFloat(n[o+1]),t[o+2]=z.byteToFloat(n[o+2]),t[o+3]=z.byteToFloat(n[o+3]),t[o+4]=z.byteToFloat(n[o+4]);return t}function wce(e,t){let n=y(e.uri,e);return u(t)?t.getDerivedResource({url:n}):Oe.createIfNeeded(n)}function h7e(e){let t=e.wsen;if(u(t))return t;let n=e.wsenDegrees;if(!u(n))return;let i=n.length;if(i===ce.packedLength)return[P.toRadians(n[0]),P.toRadians(n[1]),P.toRadians(n[2]),P.toRadians(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=P.toRadians(n[o+1]),t[o+2]=P.toRadians(n[o+2]),t[o+3]=P.toRadians(n[o+3]),t[o+4]=P.toRadians(n[o+4]);return t}function m7e(e){let t=e.length;if(Lc.magnitude=1,t===2)return Lc.clock=e[0],Lc.cone=e[1],h.fromSpherical(Lc,Li),[Li.x,Li.y,Li.z];let n=new Array(t/3*4);for(let i=0,o=0;i<t;i+=3,o+=4)n[o]=e[i],Lc.clock=e[i+1],Lc.cone=e[i+2],h.fromSpherical(Lc,Li),n[o+1]=Li.x,n[o+2]=Li.y,n[o+3]=Li.z;return n}function p7e(e){let t=e.length;if(t===3)return Lc.clock=e[0],Lc.cone=e[1],Lc.magnitude=e[2],h.fromSpherical(Lc,Li),[Li.x,Li.y,Li.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],Lc.clock=e[i+1],Lc.cone=e[i+2],Lc.magnitude=e[i+3],h.fromSpherical(Lc,Li),n[i+1]=Li.x,n[i+2]=Li.y,n[i+3]=Li.z;return n}function _7e(e){let t=e.length;if(t===3)return tc.longitude=e[0],tc.latitude=e[1],tc.height=e[2],ie.WGS84.cartographicToCartesian(tc,Li),[Li.x,Li.y,Li.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],tc.longitude=e[i+1],tc.latitude=e[i+2],tc.height=e[i+3],ie.WGS84.cartographicToCartesian(tc,Li),n[i+1]=Li.x,n[i+2]=Li.y,n[i+3]=Li.z;return n}function g7e(e){let t=e.length;if(t===3)return tc.longitude=P.toRadians(e[0]),tc.latitude=P.toRadians(e[1]),tc.height=e[2],ie.WGS84.cartographicToCartesian(tc,Li),[Li.x,Li.y,Li.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],tc.longitude=P.toRadians(e[i+1]),tc.latitude=P.toRadians(e[i+2]),tc.height=e[i+3],ie.WGS84.cartographicToCartesian(tc,Li),n[i+1]=Li.x,n[i+2]=Li.y,n[i+3]=Li.z;return n}function K9(e){let t=e.cartesian;if(u(t))return t;let n=e.cartesianVelocity;if(u(n))return n;let i=e.unitCartesian;if(u(i))return i;let o=e.unitSpherical;if(u(o))return m7e(o);let r=e.spherical;if(u(r))return p7e(r);let s=e.cartographicRadians;if(u(s))return _7e(s);let a=e.cartographicDegrees;if(u(a))return g7e(a);throw new ue(`${JSON.stringify(e)} is not a valid CZML interval.`)}function Ice(e,t){h.unpack(e,t,Li),h.normalize(Li,Li),h.pack(Li,e,t)}function y7e(e){let t=K9(e);if(t.length===3)return Ice(t,0),t;for(let n=1;n<t.length;n+=4)Ice(t,n);return t}function Pce(e,t){Le.unpack(e,t,FU),Le.normalize(FU,FU),Le.pack(FU,e,t)}function A7e(e){let t=e.unitQuaternion;if(u(t)){if(t.length===4)return Pce(t,0),t;for(let n=1;n<t.length;n+=5)Pce(t,n)}return t}function Oce(e){return typeof e=="boolean"?Boolean:typeof e=="number"?Number:typeof e=="string"?String:e.hasOwnProperty("array")?Array:e.hasOwnProperty("boolean")?Boolean:e.hasOwnProperty("boundingRectangle")?Ye:e.hasOwnProperty("cartesian2")?H:e.hasOwnProperty("cartesian")||e.hasOwnProperty("spherical")||e.hasOwnProperty("cartographicRadians")||e.hasOwnProperty("cartographicDegrees")?h:e.hasOwnProperty("unitCartesian")||e.hasOwnProperty("unitSpherical")?sy:e.hasOwnProperty("rgba")||e.hasOwnProperty("rgbaf")?z:e.hasOwnProperty("arcType")?Kt:e.hasOwnProperty("classificationType")?Un:e.hasOwnProperty("colorBlendMode")?ja:e.hasOwnProperty("cornerType")?vi:e.hasOwnProperty("heightReference")?We:e.hasOwnProperty("horizontalOrigin")?_i:e.hasOwnProperty("date")?$:e.hasOwnProperty("labelStyle")?No:e.hasOwnProperty("number")?Number:e.hasOwnProperty("nearFarScalar")?Pt:e.hasOwnProperty("distanceDisplayCondition")?bt:e.hasOwnProperty("object")||e.hasOwnProperty("value")?Object:e.hasOwnProperty("unitQuaternion")?Le:e.hasOwnProperty("shadowMode")?gn:e.hasOwnProperty("string")?String:e.hasOwnProperty("stripeOrientation")?Pd:e.hasOwnProperty("wsen")||e.hasOwnProperty("wsenDegrees")?ce:e.hasOwnProperty("uri")?hB.default:e.hasOwnProperty("verticalOrigin")?On:Object}function x7e(e,t,n){switch(e){case Kt:return Kt[y(t.arcType,t)];case Array:return t.array;case Boolean:return y(t.boolean,t);case Ye:return t.boundingRectangle;case H:return t.cartesian2;case h:return K9(t);case sy:return y7e(t);case z:return d7e(t);case Un:return Un[y(t.classificationType,t)];case ja:return ja[y(t.colorBlendMode,t)];case vi:return vi[y(t.cornerType,t)];case We:return We[y(t.heightReference,t)];case _i:return _i[y(t.horizontalOrigin,t)];case Image:return wce(t,n);case $:return $.fromIso8601(y(t.date,t));case No:return No[y(t.labelStyle,t)];case Number:return y(t.number,t);case Pt:return t.nearFarScalar;case bt:return t.distanceDisplayCondition;case Object:return y(y(t.object,t.value),t);case Le:return A7e(t);case mf:return y(t.number,t);case gn:return gn[y(y(t.shadowMode,t.shadows),t)];case String:return y(t.string,t);case Pd:return Pd[y(t.stripeOrientation,t)];case ce:return h7e(t);case hB.default:return wce(t,n);case On:return On[y(t.verticalOrigin,t)];default:throw new ue(e)}}var C7e={HERMITE:sB,LAGRANGE:aB,LINEAR:rx};function VU(e,t){let n=e.interpolationAlgorithm,i=e.interpolationDegree;(u(n)||u(i))&&t.setInterpolationOptions({interpolationAlgorithm:C7e[n],interpolationDegree:i});let o=e.forwardExtrapolationType;u(o)&&(t.forwardExtrapolationType=iu[o]);let r=e.forwardExtrapolationDuration;u(r)&&(t.forwardExtrapolationDuration=r);let s=e.backwardExtrapolationType;u(s)&&(t.backwardExtrapolationType=iu[s]);let a=e.backwardExtrapolationDuration;u(a)&&(t.backwardExtrapolationDuration=a)}var Rce={iso8601:void 0};function cr(e){if(u(e))return Rce.iso8601=e,An.fromIso8601(Rce)}function Z9(e){let t=ze.MAXIMUM_INTERVAL.clone();return t.data=e,t}function Bce(e){let t=new Qa;return t.intervals.addInterval(Z9(e)),t}function Mce(e){let t=new Ws(e.referenceFrame);return t.intervals.addInterval(Z9(e)),t}function UU(e,t,n,i,o,r,s){let a=cr(i.interval);u(o)&&(u(a)?a=An.intersect(a,o,ux):a=o);let c,l,f,d=!u(i.reference)&&!u(i.velocityReference),p=u(a)&&!a.equals(ze.MAXIMUM_INTERVAL);if(i.delete===!0){if(!p){t[n]=void 0;return}return jce(t[n],a)}let g=!1;if(d){if(l=x7e(e,i,r),!u(l))return;c=y(e.packedLength,1),f=y(l.length,1),g=!u(i.array)&&typeof l!="string"&&f>c&&e!==Object}let m=typeof e.unpack=="function"&&e!==mf;if(!g&&!p){d?t[n]=new ei(m?e.unpack(l,0):l):t[n]=vce(e,s,i);return}let A=t[n],x,C=i.epoch;if(u(C)&&(x=$.fromIso8601(C)),g&&!p){A instanceof ru||(t[n]=A=new ru(e)),A.addSamplesPackedArray(l,x),VU(i,A);return}let T;if(!g&&p){a=a.clone(),d?a.data=m?e.unpack(l,0):l:a.data=vce(e,s,i),u(A)||(t[n]=A=d?new r_:new Qa),d&&A instanceof r_?A.intervals.addInterval(a):A instanceof Qa?(d&&(a.data=new ei(a.data)),A.intervals.addInterval(a)):(t[n]=A=Bce(A),d&&(a.data=new ei(a.data)),A.intervals.addInterval(a));return}u(A)||(t[n]=A=new Qa),A instanceof Qa||(t[n]=A=Bce(A));let E=A.intervals;T=E.findInterval(a),(!u(T)||!(T.data instanceof ru))&&(T=a.clone(),T.data=new ru(e),E.addInterval(T)),T.data.addSamplesPackedArray(l,x),VU(i,T.data)}function jce(e,t){if(e instanceof ru){e.removeSamples(t);return}else if(e instanceof r_){e.intervals.removeInterval(t);return}else if(e instanceof Qa){let n=e.intervals;for(let i=0;i<n.length;++i){let o=An.intersect(n.get(i),t,ux);o.isEmpty||jce(o.data,t)}n.removeInterval(t);return}}function ge(e,t,n,i,o,r,s){if(u(i))if(Array.isArray(i))for(let a=0,c=i.length;a<c;++a)UU(e,t,n,i[a],o,r,s);else UU(e,t,n,i,o,r,s)}function Lce(e,t,n,i,o,r){let s=cr(n.interval);u(i)&&(u(s)?s=An.intersect(s,i,ux):s=i);let a=u(n.cartesianVelocity)?1:0,c=h.packedLength*(a+1),l,f,d=!u(n.reference),p=u(s)&&!s.equals(ze.MAXIMUM_INTERVAL);if(n.delete===!0){if(!p){e[t]=void 0;return}return Yce(e[t],s)}let g,m=!1;if(d&&(u(n.referenceFrame)&&(g=to[n.referenceFrame]),g=y(g,to.FIXED),l=K9(n),f=y(l.length,1),m=f>c),!m&&!p){d?e[t]=new Sc(h.unpack(l),g):e[t]=fB(r,n.reference);return}let A=e[t],x,C=n.epoch;if(u(C)&&(x=$.fromIso8601(C)),m&&!p){(!(A instanceof Ys)||u(g)&&A.referenceFrame!==g)&&(e[t]=A=new Ys(g,a)),A.addSamplesPackedArray(l,x),VU(n,A);return}let T;if(!m&&p){s=s.clone(),d?s.data=h.unpack(l):s.data=fB(r,n.reference),u(A)||(d?A=new o_(g):A=new Ws(g),e[t]=A),d&&A instanceof o_&&u(g)&&A.referenceFrame===g?A.intervals.addInterval(s):A instanceof Ws?(d&&(s.data=new Sc(s.data,g)),A.intervals.addInterval(s)):(e[t]=A=Mce(A),d&&(s.data=new Sc(s.data,g)),A.intervals.addInterval(s));return}u(A)?A instanceof Ws||(e[t]=A=Mce(A)):e[t]=A=new Ws(g);let E=A.intervals;T=E.findInterval(s),(!u(T)||!(T.data instanceof Ys)||u(g)&&T.data.referenceFrame!==g)&&(T=s.clone(),T.data=new Ys(g,a),E.addInterval(T)),T.data.addSamplesPackedArray(l,x),VU(n,T.data)}function Yce(e,t){if(e instanceof Ys){e.removeSamples(t);return}else if(e instanceof o_){e.intervals.removeInterval(t);return}else if(e instanceof Ws){let n=e.intervals;for(let i=0;i<n.length;++i){let o=An.intersect(n.get(i),t,ux);o.isEmpty||Yce(o.data,t)}n.removeInterval(t);return}}function qce(e,t,n,i,o,r){if(u(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)Lce(e,t,n[s],i,o,r);else Lce(e,t,n,i,o,r)}function Nce(e,t,n,i){u(n.references)?kU(e,t,n.references,n.interval,i,VE,Qa):(u(n.cartesian2)?n.array=H.unpackArray(n.cartesian2):u(n.cartesian)&&(n.array=H.unpackArray(n.cartesian)),u(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function Fce(e,t,n,i,o,r){let s=cr(n.interval);u(i)&&(u(s)?s=An.intersect(s,i,ux):s=i);let a=e[t],c,l;if(u(s)){a instanceof xE||(a=new xE,e[t]=a);let d=a.intervals;l=d.findInterval({start:s.start,stop:s.stop}),u(l)?c=l.data:(l=s.clone(),d.addInterval(l))}else c=a;let f;u(n.solidColor)?(c instanceof Mt||(c=new Mt),f=n.solidColor,ge(z,c,"color",f.color,void 0,void 0,r)):u(n.grid)?(c instanceof PE||(c=new PE),f=n.grid,ge(z,c,"color",f.color,void 0,o,r),ge(Number,c,"cellAlpha",f.cellAlpha,void 0,o,r),ge(H,c,"lineCount",f.lineCount,void 0,o,r),ge(H,c,"lineThickness",f.lineThickness,void 0,o,r),ge(H,c,"lineOffset",f.lineOffset,void 0,o,r)):u(n.image)?(c instanceof og||(c=new og),f=n.image,ge(Image,c,"image",f.image,void 0,o,r),ge(H,c,"repeat",f.repeat,void 0,o,r),ge(z,c,"color",f.color,void 0,o,r),ge(Boolean,c,"transparent",f.transparent,void 0,o,r)):u(n.stripe)?(c instanceof kE||(c=new kE),f=n.stripe,ge(Pd,c,"orientation",f.orientation,void 0,o,r),ge(z,c,"evenColor",f.evenColor,void 0,o,r),ge(z,c,"oddColor",f.oddColor,void 0,o,r),ge(Number,c,"offset",f.offset,void 0,o,r),ge(Number,c,"repeat",f.repeat,void 0,o,r)):u(n.polylineOutline)?(c instanceof iy||(c=new iy),f=n.polylineOutline,ge(z,c,"color",f.color,void 0,o,r),ge(z,c,"outlineColor",f.outlineColor,void 0,o,r),ge(Number,c,"outlineWidth",f.outlineWidth,void 0,o,r)):u(n.polylineGlow)?(c instanceof NE||(c=new NE),f=n.polylineGlow,ge(z,c,"color",f.color,void 0,o,r),ge(Number,c,"glowPower",f.glowPower,void 0,o,r),ge(Number,c,"taperPower",f.taperPower,void 0,o,r)):u(n.polylineArrow)?(c instanceof RE||(c=new RE),f=n.polylineArrow,ge(z,c,"color",f.color,void 0,void 0,r)):u(n.polylineDash)?(c instanceof ME||(c=new ME),f=n.polylineDash,ge(z,c,"color",f.color,void 0,void 0,r),ge(z,c,"gapColor",f.gapColor,void 0,void 0,r),ge(Number,c,"dashLength",f.dashLength,void 0,o,r),ge(Number,c,"dashPattern",f.dashPattern,void 0,o,r)):u(n.checkerboard)&&(c instanceof yE||(c=new yE),f=n.checkerboard,ge(z,c,"evenColor",f.evenColor,void 0,o,r),ge(z,c,"oddColor",f.oddColor,void 0,o,r),ge(H,c,"repeat",f.repeat,void 0,o,r)),u(l)?l.data=c:e[t]=c}function su(e,t,n,i,o,r){if(u(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)Fce(e,t,n[s],i,o,r);else Fce(e,t,n,i,o,r)}function T7e(e,t,n,i){let o=t.name;u(o)&&(e.name=t.name)}function E7e(e,t,n,i){let o=t.description;u(o)&&ge(String,e,"description",o,void 0,i,n)}function b7e(e,t,n,i){let o=t.position;u(o)&&qce(e,"position",o,void 0,i,n)}function S7e(e,t,n,i){let o=t.viewFrom;u(o)&&ge(h,e,"viewFrom",o,void 0,i,n)}function D7e(e,t,n,i){let o=t.orientation;u(o)&&ge(Le,e,"orientation",o,void 0,i,n)}function v7e(e,t,n,i){let o=t.properties;if(u(o)){u(e.properties)||(e.properties=new cl);for(let r in o)if(o.hasOwnProperty(r)){e.properties.hasProperty(r)||e.properties.addProperty(r);let s=o[r];if(Array.isArray(s))for(let a=0,c=s.length;a<c;++a)UU(Oce(s[a]),e.properties,r,s[a],void 0,i,n);else UU(Oce(s),e.properties,r,s,void 0,i,n)}}}function kU(e,t,n,i,o,r,s){let a=n.map(function(c){return fB(o,c)});if(u(i)){i=cr(i);let c=e[t];if(!(c instanceof s)){let l=new s;l.intervals.addInterval(Z9(c)),e[t]=c=l}i.data=new r(a),c.intervals.addInterval(i)}else e[t]=new r(a)}function Vce(e,t,n,i){let o=n.references;u(o)?kU(e,t,o,n.interval,i,VE,Qa):ge(Array,e,t,n,void 0,void 0,i)}function Uce(e,t,n,i){if(u(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Vce(e,t,n[o],i);else Vce(e,t,n,i)}function kce(e,t,n,i){let o=n.references;u(o)?kU(e,t,o,n.interval,i,n_,Ws):(u(n.cartesian)?n.array=h.unpackArray(n.cartesian):u(n.cartographicRadians)?n.array=h.fromRadiansArrayHeights(n.cartographicRadians):u(n.cartographicDegrees)&&(n.array=h.fromDegreesArrayHeights(n.cartographicDegrees)),u(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function mB(e,t,n,i){if(u(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)kce(e,t,n[o],i);else kce(e,t,n,i)}function w7e(e){return h.unpackArray(e)}function I7e(e){return h.fromRadiansArrayHeights(e)}function P7e(e){return h.fromDegreesArrayHeights(e)}function zce(e,t,n,i){let o=n.references;if(u(o)){let r=o.map(function(s){let a={};return kU(a,"positions",s,n.interval,i,n_,Ws),a.positions});e[t]=new n_(r)}else u(n.cartesian)?n.array=n.cartesian.map(w7e):u(n.cartographicRadians)?n.array=n.cartographicRadians.map(I7e):u(n.cartographicDegrees)&&(n.array=n.cartographicDegrees.map(P7e)),u(n.array)&&ge(Array,e,t,n,void 0,void 0,i)}function O7e(e,t,n,i){if(u(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)zce(e,t,n[o],i);else zce(e,t,n,i)}function R7e(e,t,n,i){if(u(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;o++)Nce(e,t,n[o],i);else Nce(e,t,n,i)}function B7e(e,t,n,i){let o=t.availability;if(!u(o))return;let r;if(Array.isArray(o))for(let s=0,a=o.length;s<a;++s)u(r)||(r=new Pr),r.addInterval(cr(o[s]));else r=new Pr,r.addInterval(cr(o));e.availability=r}function M7e(e,t,n,i,o){u(t)&&ge(sy,e,"alignedAxis",t,n,i,o)}function L7e(e,t,n,i){let o=t.billboard;if(!u(o))return;let r=cr(o.interval),s=e.billboard;u(s)||(e.billboard=s=new Na),ge(Boolean,s,"show",o.show,r,i,n),ge(Image,s,"image",o.image,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(H,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(_i,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(On,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(z,s,"color",o.color,r,i,n),ge(mf,s,"rotation",o.rotation,r,i,n),M7e(s,o.alignedAxis,r,i,n),ge(Boolean,s,"sizeInMeters",o.sizeInMeters,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Pt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Pt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Pt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(Ye,s,"imageSubRegion",o.imageSubRegion,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function N7e(e,t,n,i){let o=t.box;if(!u(o))return;let r=cr(o.interval),s=e.box;u(s)||(e.box=s=new W0),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"dimensions",o.dimensions,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),su(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function F7e(e,t,n,i){let o=t.corridor;if(!u(o))return;let r=cr(o.interval),s=e.corridor;u(s)||(e.corridor=s=new Y0),ge(Boolean,s,"show",o.show,r,i,n),mB(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(We,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(vi,s,"cornerType",o.cornerType,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),su(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function V7e(e,t,n,i){let o=t.cylinder;if(!u(o))return;let r=cr(o.interval),s=e.cylinder;u(s)||(e.cylinder=s=new q0),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"length",o.length,r,i,n),ge(Number,s,"topRadius",o.topRadius,r,i,n),ge(Number,s,"bottomRadius",o.bottomRadius,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),su(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(Number,s,"slices",o.slices,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function U7e(e,t){let n=e.version;if(u(n)&&typeof n=="string"){let r=n.split(".");if(r.length===2){if(r[0]!=="1")throw new ue("Cesium only supports CZML version 1.");t._version=n}}if(!u(t._version))throw new ue("CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.");let i=t._documentPacket;u(e.name)&&(i.name=e.name);let o=e.clock;if(u(o)){let r=i.clock;u(r)?(r.interval=y(o.interval,r.interval),r.currentTime=y(o.currentTime,r.currentTime),r.range=y(o.range,r.range),r.step=y(o.step,r.step),r.multiplier=y(o.multiplier,r.multiplier)):i.clock={interval:o.interval,currentTime:o.currentTime,range:o.range,step:o.step,multiplier:o.multiplier}}}function k7e(e,t,n,i){let o=t.ellipse;if(!u(o))return;let r=cr(o.interval),s=e.ellipse;u(s)||(e.ellipse=s=new X0),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"semiMajorAxis",o.semiMajorAxis,r,i,n),ge(Number,s,"semiMinorAxis",o.semiMinorAxis,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(We,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(mf,s,"rotation",o.rotation,r,i,n),ge(mf,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),su(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function z7e(e,t,n,i){let o=t.ellipsoid;if(!u(o))return;let r=cr(o.interval),s=e.ellipsoid;u(s)||(e.ellipsoid=s=new K0),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"radii",o.radii,r,i,n),ge(h,s,"innerRadii",o.innerRadii,r,i,n),ge(Number,s,"minimumClock",o.minimumClock,r,i,n),ge(Number,s,"maximumClock",o.maximumClock,r,i,n),ge(Number,s,"minimumCone",o.minimumCone,r,i,n),ge(Number,s,"maximumCone",o.maximumCone,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),su(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"stackPartitions",o.stackPartitions,r,i,n),ge(Number,s,"slicePartitions",o.slicePartitions,r,i,n),ge(Number,s,"subdivisions",o.subdivisions,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function H7e(e,t,n,i){let o=t.label;if(!u(o))return;let r=cr(o.interval),s=e.label;u(s)||(e.label=s=new $f),ge(Boolean,s,"show",o.show,r,i,n),ge(String,s,"text",o.text,r,i,n),ge(String,s,"font",o.font,r,i,n),ge(No,s,"style",o.style,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Boolean,s,"showBackground",o.showBackground,r,i,n),ge(z,s,"backgroundColor",o.backgroundColor,r,i,n),ge(H,s,"backgroundPadding",o.backgroundPadding,r,i,n),ge(H,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(_i,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(On,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(z,s,"fillColor",o.fillColor,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Pt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Pt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(Pt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function G7e(e,t,n,i){let o=t.model;if(!u(o))return;let r=cr(o.interval),s=e.model;u(s)||(e.model=s=new $m),ge(Boolean,s,"show",o.show,r,i,n),ge(hB.default,s,"uri",o.gltf,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Number,s,"minimumPixelSize",o.minimumPixelSize,r,i,n),ge(Number,s,"maximumScale",o.maximumScale,r,i,n),ge(Boolean,s,"incrementallyLoadTextures",o.incrementallyLoadTextures,r,i,n),ge(Boolean,s,"runAnimations",o.runAnimations,r,i,n),ge(Boolean,s,"clampAnimations",o.clampAnimations,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(z,s,"silhouetteColor",o.silhouetteColor,r,i,n),ge(Number,s,"silhouetteSize",o.silhouetteSize,r,i,n),ge(z,s,"color",o.color,r,i,n),ge(ja,s,"colorBlendMode",o.colorBlendMode,r,i,n),ge(Number,s,"colorBlendAmount",o.colorBlendAmount,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n);let a,c,l=o.nodeTransformations;if(u(l))if(Array.isArray(l))for(a=0,c=l.length;a<c;++a)Hce(s,l[a],r,i,n);else Hce(s,l,r,i,n);let f=o.articulations;if(u(f))if(Array.isArray(f))for(a=0,c=f.length;a<c;++a)Gce(s,f[a],r,i,n);else Gce(s,f,r,i,n)}function Hce(e,t,n,i,o){let r=cr(t.interval);u(n)&&(u(r)?r=An.intersect(r,n,ux):r=n);let s=e.nodeTransformations,a=Object.keys(t);for(let c=0,l=a.length;c<l;++c){let f=a[c];if(f==="interval")continue;let d=t[f];if(!u(d))continue;u(s)||(e.nodeTransformations=s=new cl),s.hasProperty(f)||s.addProperty(f);let p=s[f];u(p)||(s[f]=p=new Z0),ge(h,p,"translation",d.translation,r,i,o),ge(Le,p,"rotation",d.rotation,r,i,o),ge(h,p,"scale",d.scale,r,i,o)}}function Gce(e,t,n,i,o){let r=cr(t.interval);u(n)&&(u(r)?r=An.intersect(r,n,ux):r=n);let s=e.articulations,a=Object.keys(t);for(let c=0,l=a.length;c<l;++c){let f=a[c];if(f==="interval")continue;let d=t[f];u(d)&&(u(s)||(e.articulations=s=new cl),s.hasProperty(f)||s.addProperty(f),ge(Number,s,f,d,r,i,o))}}function W7e(e,t,n,i){let o=t.path;if(!u(o))return;let r=cr(o.interval),s=e.path;u(s)||(e.path=s=new ep),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"leadTime",o.leadTime,r,i,n),ge(Number,s,"trailTime",o.trailTime,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"resolution",o.resolution,r,i,n),su(s,"material",o.material,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function j7e(e,t,n,i){let o=t.point;if(!u(o))return;let r=cr(o.interval),s=e.point;u(s)||(e.point=s=new Q0),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"pixelSize",o.pixelSize,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(z,s,"color",o.color,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Pt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Pt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function dB(e){this.polygon=e,this._definitionChanged=new Ae}Object.defineProperties(dB.prototype,{isConstant:{get:function(){let e=this.polygon._positions,t=this.polygon._holes;return(!u(e)||e.isConstant)&&(!u(t)||t.isConstant)}},definitionChanged:{get:function(){return this._definitionChanged}}});dB.prototype.getValue=function(e,t){let n;u(this.polygon._positions)&&(n=this.polygon._positions.getValue(e));let i;return u(this.polygon._holes)&&(i=this.polygon._holes.getValue(e),u(i)&&(i=i.map(function(o){return new Dc(o)}))),u(t)?(t.positions=n,t.holes=i,t):new Dc(n,i)};dB.prototype.equals=function(e){return this===e||e instanceof dB&&Y.equals(this.polygon._positions,e.polygon._positions)&&Y.equals(this.polygon._holes,e.polygon._holes)};function Y7e(e,t,n,i){let o=t.polygon;if(!u(o))return;let r=cr(o.interval),s=e.polygon;u(s)||(e.polygon=s=new ed),ge(Boolean,s,"show",o.show,r,i,n),mB(s,"_positions",o.positions,n),O7e(s,"_holes",o.holes,n),(u(s._positions)||u(s._holes))&&(s.hierarchy=new dB(s)),ge(Number,s,"height",o.height,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(We,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(mf,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),su(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Boolean,s,"perPositionHeight",o.perPositionHeight,r,i,n),ge(Boolean,s,"closeTop",o.closeTop,r,i,n),ge(Boolean,s,"closeBottom",o.closeBottom,r,i,n),ge(Kt,s,"arcType",o.arcType,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function q7e(e){return e?Kt.GEODESIC:Kt.NONE}function X7e(e,t,n,i){let o=t.polyline;if(!u(o))return;let r=cr(o.interval),s=e.polyline;if(u(s)||(e.polyline=s=new Ua),ge(Boolean,s,"show",o.show,r,i,n),mB(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),su(s,"material",o.material,r,i,n),su(s,"depthFailMaterial",o.depthFailMaterial,r,i,n),ge(Kt,s,"arcType",o.arcType,r,i,n),ge(Boolean,s,"clampToGround",o.clampToGround,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n),u(o.followSurface)&&!u(o.arcType)){let a={};ge(Boolean,a,"followSurface",o.followSurface,r,i,n),s.arcType=f7e(a.followSurface,q7e)}}function K7e(e,t,n,i){let o=t.polylineVolume;if(!u(o))return;let r=cr(o.interval),s=e.polylineVolume;u(s)||(e.polylineVolume=s=new $0),mB(s,"positions",o.positions,n),R7e(s,"shape",o.shape,n),ge(Boolean,s,"show",o.show,r,i,n),ge(vi,s,"cornerType",o.cornerType,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),su(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function Z7e(e,t,n,i){let o=t.rectangle;if(!u(o))return;let r=cr(o.interval),s=e.rectangle;u(s)||(e.rectangle=s=new td),ge(Boolean,s,"show",o.show,r,i,n),ge(ce,s,"coordinates",o.coordinates,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(We,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(We,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(mf,s,"rotation",o.rotation,r,i,n),ge(mf,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),su(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function J7e(e,t,n,i){let o=t.tileset;if(!u(o))return;let r=cr(o.interval),s=e.tileset;u(s)||(e.tileset=s=new J0),ge(Boolean,s,"show",o.show,r,i,n),ge(hB.default,s,"uri",o.uri,r,i,n),ge(Number,s,"maximumScreenSpaceError",o.maximumScreenSpaceError,r,i,n)}function Q7e(e,t,n,i){let o=t.wall;if(!u(o))return;let r=cr(o.interval),s=e.wall;u(s)||(e.wall=s=new tp),ge(Boolean,s,"show",o.show,r,i,n),mB(s,"positions",o.positions,n),Uce(s,"minimumHeights",o.minimumHeights,n),Uce(s,"maximumHeights",o.maximumHeights,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),su(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(gn,s,"shadows",o.shadows,r,i,n),ge(bt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function Wce(e,t,n,i,o){let r=e.id;if(u(r)||(r=zn()),X9=r,!u(o._version)&&r!=="document")throw new ue("The first CZML packet is required to be the document object.");if(e.delete===!0)t.removeById(r);else if(r==="document")U7e(e,o);else{let s=t.getOrCreateEntity(r),a=e.parent;u(a)&&(s.parent=t.getOrCreateEntity(a));for(let c=n.length-1;c>-1;c--)n[c](s,e,t,i)}X9=void 0}function $7e(e){let t,n=e._documentPacket.clock;if(!u(n)){if(!u(e._clock)){let o=e._entityCollection.computeAvailability();if(!o.start.equals(ze.MINIMUM_VALUE)){let r=o.start,s=o.stop,a=$.secondsDifference(s,r),c=Math.round(a/120);return t=new wd,t.startTime=$.clone(r),t.stopTime=$.clone(s),t.clockRange=Br.LOOP_STOP,t.multiplier=c,t.currentTime=$.clone(r),t.clockStep=uo.SYSTEM_CLOCK_MULTIPLIER,e._clock=t,!0}}return!1}u(e._clock)?t=e._clock.clone():(t=new wd,t.startTime=ze.MINIMUM_VALUE.clone(),t.stopTime=ze.MAXIMUM_VALUE.clone(),t.currentTime=ze.MINIMUM_VALUE.clone(),t.clockRange=Br.LOOP_STOP,t.clockStep=uo.SYSTEM_CLOCK_MULTIPLIER,t.multiplier=1);let i=cr(n.interval);return u(i)&&(t.startTime=i.start,t.stopTime=i.stop),u(n.currentTime)&&(t.currentTime=$.fromIso8601(n.currentTime)),u(n.range)&&(t.clockRange=y(Br[n.range],Br.LOOP_STOP)),u(n.step)&&(t.clockStep=y(uo[n.step],uo.SYSTEM_CLOCK_MULTIPLIER)),u(n.multiplier)&&(t.multiplier=n.multiplier),t.equals(e._clock)?!1:(e._clock=t.clone(e._clock),!0)}function Xce(e,t,n,i){n=y(n,y.EMPTY_OBJECT);let o=t,r=n.sourceUri,s=n.credit;if(typeof s=="string"&&(s=new Zt(s)),e._credit=s,typeof t=="string"||t instanceof Oe){t=Oe.createIfNeeded(t),o=t.fetchJson(),r=y(r,t.clone());let a=e._resourceCredits,c=t.credits;if(u(c)){let l=c.length;for(let f=0;f<l;f++)a.push(c[f])}}return r=Oe.createIfNeeded(r),Or.setLoading(e,!0),Promise.resolve(o).then(function(a){return eje(e,a,r,i)}).catch(function(a){return Or.setLoading(e,!1),e._error.raiseEvent(e,a),console.log(a),Promise.reject(a)})}function eje(e,t,n,i){Or.setLoading(e,!0);let o=e._entityCollection;i&&(e._version=void 0,e._documentPacket=new Kce,o.removeAll()),Al._processCzml(t,o,n,void 0,e);let r=$7e(e),s=e._documentPacket;return u(s.name)&&e._name!==s.name?(e._name=s.name,r=!0):!u(e._name)&&u(n)&&(e._name=e_(n.getUrlComponent()),r=!0),Or.setLoading(e,!1),r&&e._changed.raiseEvent(e),e}function Kce(){this.name=void 0,this.clock=void 0}function Al(e){this._name=e,this._changed=new Ae,this._error=new Ae,this._isLoading=!1,this._loading=new Ae,this._clock=void 0,this._documentPacket=new Kce,this._version=void 0,this._entityCollection=new Ss(this),this._entityCluster=new tu,this._credit=void 0,this._resourceCredits=[]}Al.load=function(e,t){return new Al().load(e,t)};Object.defineProperties(Al.prototype,{name:{get:function(){return this._name}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});Al.updaters=[L7e,N7e,F7e,V7e,k7e,z7e,H7e,G7e,T7e,E7e,W7e,j7e,Y7e,X7e,K7e,v7e,Z7e,b7e,J7e,S7e,Q7e,D7e,B7e];Al.prototype.process=function(e,t){return Xce(this,e,t,!1)};Al.prototype.load=function(e,t){return Xce(this,e,t,!0)};Al.prototype.update=function(e){return!0};Al.processPacketData=ge;Al.processPositionPacketData=qce;Al.processMaterialPacketData=su;Al._processCzml=function(e,t,n,i,o){if(i=y(i,Al.updaters),Array.isArray(e))for(let r=0,s=e.length;r<s;++r)Wce(e[r],t,i,n,o);else Wce(e,t,i,n,o)};var pB=Al;function Nc(){this._dataSources=[],this._dataSourceAdded=new Ae,this._dataSourceRemoved=new Ae,this._dataSourceMoved=new Ae}Object.defineProperties(Nc.prototype,{length:{get:function(){return this._dataSources.length}},dataSourceAdded:{get:function(){return this._dataSourceAdded}},dataSourceRemoved:{get:function(){return this._dataSourceRemoved}},dataSourceMoved:{get:function(){return this._dataSourceMoved}}});Nc.prototype.add=function(e){let t=this,n=this._dataSources;return Promise.resolve(e).then(function(i){return n===t._dataSources&&(t._dataSources.push(i),t._dataSourceAdded.raiseEvent(t,i)),i})};Nc.prototype.remove=function(e,t){t=y(t,!1);let n=this._dataSources.indexOf(e);return n!==-1?(this._dataSources.splice(n,1),this._dataSourceRemoved.raiseEvent(this,e),t&&typeof e.destroy=="function"&&e.destroy(),!0):!1};Nc.prototype.removeAll=function(e){e=y(e,!1);let t=this._dataSources;for(let n=0,i=t.length;n<i;++n){let o=t[n];this._dataSourceRemoved.raiseEvent(this,o),e&&typeof o.destroy=="function"&&o.destroy()}this._dataSources=[]};Nc.prototype.contains=function(e){return this.indexOf(e)!==-1};Nc.prototype.indexOf=function(e){return this._dataSources.indexOf(e)};Nc.prototype.get=function(e){return this._dataSources[e]};Nc.prototype.getByName=function(e){return this._dataSources.filter(function(t){return t.name===e})};function zU(e,t){return e.indexOf(t)}function Zce(e,t,n){let i=e._dataSources,o=i.length-1;if(t=P.clamp(t,0,o),n=P.clamp(n,0,o),t===n)return;let r=i[t];i[t]=i[n],i[n]=r,e.dataSourceMoved.raiseEvent(r,n,t)}Nc.prototype.raise=function(e){let t=zU(this._dataSources,e);Zce(this,t,t+1)};Nc.prototype.lower=function(e){let t=zU(this._dataSources,e);Zce(this,t,t-1)};Nc.prototype.raiseToTop=function(e){let t=zU(this._dataSources,e);t!==this._dataSources.length-1&&(this._dataSources.splice(t,1),this._dataSources.push(e),this.dataSourceMoved.raiseEvent(e,this._dataSources.length-1,t))};Nc.prototype.lowerToBottom=function(e){let t=zU(this._dataSources,e);t!==0&&(this._dataSources.splice(t,1),this._dataSources.splice(0,0,e),this.dataSourceMoved.raiseEvent(e,0,t))};Nc.prototype.isDestroyed=function(){return!1};Nc.prototype.destroy=function(){return this.removeAll(!0),le(this)};var _B=Nc;function qs(e){e=y(e,y.EMPTY_OBJECT),this._primitives=[],this._guid=zn(),this._zIndex=void 0,this.show=y(e.show,!0),this.destroyPrimitives=y(e.destroyPrimitives,!0)}Object.defineProperties(qs.prototype,{length:{get:function(){return this._primitives.length}}});qs.prototype.add=function(e,t){let n=u(t),i=e._external=e._external||{},o=i._composites=i._composites||{};return o[this._guid]={collection:this},n?this._primitives.splice(t,0,e):this._primitives.push(e),e};qs.prototype.remove=function(e){if(this.contains(e)){let t=this._primitives.indexOf(e);if(t!==-1)return this._primitives.splice(t,1),delete e._external._composites[this._guid],this.destroyPrimitives&&e.destroy(),!0}return!1};qs.prototype.removeAndDestroy=function(e){let t=this.remove(e);return t&&!this.destroyPrimitives&&e.destroy(),t};qs.prototype.removeAll=function(){let e=this._primitives,t=e.length;for(let n=0;n<t;++n)delete e[n]._external._composites[this._guid],this.destroyPrimitives&&e[n].destroy();this._primitives=[]};qs.prototype.contains=function(e){return!!(u(e)&&e._external&&e._external._composites&&e._external._composites[this._guid])};function HU(e,t){return e._primitives.indexOf(t)}qs.prototype.raise=function(e){if(u(e)){let t=HU(this,e),n=this._primitives;if(t!==n.length-1){let i=n[t];n[t]=n[t+1],n[t+1]=i}}};qs.prototype.raiseToTop=function(e){if(u(e)){let t=HU(this,e),n=this._primitives;t!==n.length-1&&(n.splice(t,1),n.push(e))}};qs.prototype.lower=function(e){if(u(e)){let t=HU(this,e),n=this._primitives;if(t!==0){let i=n[t];n[t]=n[t-1],n[t-1]=i}}};qs.prototype.lowerToBottom=function(e){if(u(e)){let t=HU(this,e),n=this._primitives;t!==0&&(n.splice(t,1),n.unshift(e))}};qs.prototype.get=function(e){return this._primitives[e]};qs.prototype.update=function(e){if(!this.show)return;let t=this._primitives;for(let n=0;n<t.length;++n)t[n].update(e)};qs.prototype.prePassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];u(i.prePassesUpdate)&&i.prePassesUpdate(e)}};qs.prototype.updateForPass=function(e,t){let n=this._primitives;for(let i=0;i<n.length;++i){let o=n[i];u(o.updateForPass)&&o.updateForPass(e,t)}};qs.prototype.postPassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];u(i.postPassesUpdate)&&i.postPassesUpdate(e)}};qs.prototype.isDestroyed=function(){return!1};qs.prototype.destroy=function(){return this.removeAll(),le(this)};var xl=qs;function jh(){this._length=0,this._collections={},this._collectionsArray=[],this.show=!0}Object.defineProperties(jh.prototype,{length:{get:function(){return this._length}}});jh.prototype.add=function(e,t){t=y(t,0);let n=this._collections[t];if(!u(n)){n=new xl({destroyPrimitives:!1}),n._zIndex=t,this._collections[t]=n;let i=this._collectionsArray,o=0;for(;o<i.length&&i[o]._zIndex<t;)o++;i.splice(o,0,n)}return n.add(e),this._length++,e._zIndex=t,e};jh.prototype.set=function(e,t){return t===e._zIndex||(this.remove(e,!0),this.add(e,t)),e};jh.prototype.remove=function(e,t){if(this.contains(e)){let n=e._zIndex,i=this._collections[n],o;return t?o=i.remove(e):o=i.removeAndDestroy(e),o&&this._length--,i.length===0&&(this._collectionsArray.splice(this._collectionsArray.indexOf(i),1),this._collections[n]=void 0,i.destroy()),o}return!1};jh.prototype.removeAll=function(){let e=this._collectionsArray;for(let t=0;t<e.length;t++){let n=e[t];n.destroyPrimitives=!0,n.destroy()}this._collections={},this._collectionsArray=[],this._length=0};jh.prototype.contains=function(e){if(!u(e))return!1;let t=this._collections[e._zIndex];return u(t)&&t.contains(e)};jh.prototype.update=function(e){if(!this.show)return;let t=this._collectionsArray;for(let n=0;n<t.length;n++)t[n].update(e)};jh.prototype.isDestroyed=function(){return!1};jh.prototype.destroy=function(){return this.removeAll(),le(this)};var gB=jh;function HE(e,t){this._primitives=e,this._orderedGroundPrimitives=t,this._dynamicUpdaters=new xt}HE.prototype.add=function(e,t){this._dynamicUpdaters.set(t.id,t.createDynamicUpdater(this._primitives,this._orderedGroundPrimitives))};HE.prototype.remove=function(e){let t=e.id,n=this._dynamicUpdaters.get(t);u(n)&&(this._dynamicUpdaters.remove(t),n.destroy())};HE.prototype.update=function(e){let t=this._dynamicUpdaters.values;for(let n=0,i=t.length;n<i;n++)t[n].update(e);return!0};HE.prototype.removeAllPrimitives=function(){let e=this._dynamicUpdaters.values;for(let t=0,n=e.length;t<n;t++)e[t].destroy();this._dynamicUpdaters.removeAll()};HE.prototype.getBoundingSphere=function(e,t){return e=this._dynamicUpdaters.get(e.id),u(e)&&u(e.getBoundingSphere)?e.getBoundingSphere(t):at.FAILED};var fx=HE;var Q9={},GU=new h,Jce=new h,Qce=new Le,$ce=new Z;function GE(e,t,n,i,o,r,s,a,c,l){let f=e+t;h.multiplyByScalar(i,Math.cos(f),GU),h.multiplyByScalar(n,Math.sin(f),Jce),h.add(GU,Jce,GU);let d=Math.cos(e);d=d*d;let p=Math.sin(e);p=p*p;let m=r/Math.sqrt(s*d+o*p)/a;return Le.fromAxisAngle(GU,m,Qce),Z.fromQuaternion(Qce,$ce),Z.multiplyByVector($ce,c,l),h.normalize(l,l),h.multiplyByScalar(l,a,l),l}var ele=new h,tle=new h,J9=new h,tje=new h;Q9.raisePositionsToHeight=function(e,t,n){let i=t.ellipsoid,o=t.height,r=t.extrudedHeight,s=n?e.length/3*2:e.length/3,a=new Float64Array(s*3),c=e.length,l=n?c:0;for(let f=0;f<c;f+=3){let d=f+1,p=f+2,g=h.fromArray(e,f,ele);i.scaleToGeodeticSurface(g,g);let m=h.clone(g,tle),A=i.geodeticSurfaceNormal(g,tje),x=h.multiplyByScalar(A,o,J9);h.add(g,x,g),n&&(h.multiplyByScalar(A,r,x),h.add(m,x,m),a[f+l]=m.x,a[d+l]=m.y,a[p+l]=m.z),a[f]=g.x,a[d]=g.y,a[p]=g.z}return a};var nje=new h,ije=new h,oje=new h;Q9.computeEllipsePositions=function(e,t,n){let i=e.semiMinorAxis,o=e.semiMajorAxis,r=e.rotation,s=e.center,a=e.granularity*8,c=i*i,l=o*o,f=o*i,d=h.magnitude(s),p=h.normalize(s,nje),g=h.cross(h.UNIT_Z,s,ije);g=h.normalize(g,g);let m=h.cross(p,g,oje),A=1+Math.ceil(P.PI_OVER_TWO/a),x=P.PI_OVER_TWO/(A-1),C=P.PI_OVER_TWO-A*x;C<0&&(A-=Math.ceil(Math.abs(C)/x));let T=2*(A*(A+2)),E=t?new Array(T*3):void 0,S=0,D=ele,w=tle,R=A*4*3,O=R-1,L=0,N=n?new Array(R):void 0,_,b,v,I,B;for(C=P.PI_OVER_TWO,D=GE(C,r,m,g,c,f,l,d,p,D),t&&(E[S++]=D.x,E[S++]=D.y,E[S++]=D.z),n&&(N[O--]=D.z,N[O--]=D.y,N[O--]=D.x),C=P.PI_OVER_TWO-x,_=1;_<A+1;++_){if(D=GE(C,r,m,g,c,f,l,d,p,D),w=GE(Math.PI-C,r,m,g,c,f,l,d,p,w),t){for(E[S++]=D.x,E[S++]=D.y,E[S++]=D.z,v=2*_+2,b=1;b<v-1;++b)I=b/(v-1),B=h.lerp(D,w,I,J9),E[S++]=B.x,E[S++]=B.y,E[S++]=B.z;E[S++]=w.x,E[S++]=w.y,E[S++]=w.z}n&&(N[O--]=D.z,N[O--]=D.y,N[O--]=D.x,N[L++]=w.x,N[L++]=w.y,N[L++]=w.z),C=P.PI_OVER_TWO-(_+1)*x}for(_=A;_>1;--_){if(C=P.PI_OVER_TWO-(_-1)*x,D=GE(-C,r,m,g,c,f,l,d,p,D),w=GE(C+Math.PI,r,m,g,c,f,l,d,p,w),t){for(E[S++]=D.x,E[S++]=D.y,E[S++]=D.z,v=2*(_-1)+2,b=1;b<v-1;++b)I=b/(v-1),B=h.lerp(D,w,I,J9),E[S++]=B.x,E[S++]=B.y,E[S++]=B.z;E[S++]=w.x,E[S++]=w.y,E[S++]=w.z}n&&(N[O--]=D.z,N[O--]=D.y,N[O--]=D.x,N[L++]=w.x,N[L++]=w.y,N[L++]=w.z)}C=P.PI_OVER_TWO,D=GE(-C,r,m,g,c,f,l,d,p,D);let F={};return t&&(E[S++]=D.x,E[S++]=D.y,E[S++]=D.z,F.positions=E,F.numPts=A),n&&(N[O--]=D.z,N[O--]=D.y,N[O--]=D.x,F.outerPositions=N),F};var Cl=Q9;var WE=new h,$9=new h,eW=new h,nle=new h,us=new H,ile=new Z,rje=new Z,tW=new Le,ole=new h,rle=new h,sle=new h,YU=new he,ale=new h,cle=new H,lle=new H;function ule(e,t,n){let i=t.vertexFormat,o=t.center,r=t.semiMajorAxis,s=t.semiMinorAxis,a=t.ellipsoid,c=t.stRotation,l=n?e.length/3*2:e.length/3,f=t.shadowVolume,d=i.st?new Float32Array(l*2):void 0,p=i.normal?new Float32Array(l*3):void 0,g=i.tangent?new Float32Array(l*3):void 0,m=i.bitangent?new Float32Array(l*3):void 0,A=f?new Float32Array(l*3):void 0,x=0,C=ole,T=rle,E=sle,S=new Ei(a),D=S.project(a.cartesianToCartographic(o,YU),ale),w=a.scaleToGeodeticSurface(o,WE);a.geodeticSurfaceNormal(w,w);let R=ile,O=rje;if(c!==0){let B=Le.fromAxisAngle(w,c,tW);R=Z.fromQuaternion(B,R),B=Le.fromAxisAngle(w,-c,tW),O=Z.fromQuaternion(B,O)}else R=Z.clone(Z.IDENTITY,R),O=Z.clone(Z.IDENTITY,O);let L=H.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,cle),N=H.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,lle),_=e.length,b=n?_:0,v=b/3*2;for(let B=0;B<_;B+=3){let F=B+1,k=B+2,U=h.fromArray(e,B,WE);if(i.st){let G=Z.multiplyByVector(R,U,$9),V=S.project(a.cartesianToCartographic(G,YU),eW);h.subtract(V,D,V),us.x=(V.x+r)/(2*r),us.y=(V.y+s)/(2*s),L.x=Math.min(us.x,L.x),L.y=Math.min(us.y,L.y),N.x=Math.max(us.x,N.x),N.y=Math.max(us.y,N.y),n&&(d[x+v]=us.x,d[x+1+v]=us.y),d[x++]=us.x,d[x++]=us.y}(i.normal||i.tangent||i.bitangent||f)&&(C=a.geodeticSurfaceNormal(U,C),f&&(A[B+b]=-C.x,A[F+b]=-C.y,A[k+b]=-C.z),(i.normal||i.tangent||i.bitangent)&&((i.tangent||i.bitangent)&&(T=h.normalize(h.cross(h.UNIT_Z,C,T),T),Z.multiplyByVector(O,T,T)),i.normal&&(p[B]=C.x,p[F]=C.y,p[k]=C.z,n&&(p[B+b]=-C.x,p[F+b]=-C.y,p[k+b]=-C.z)),i.tangent&&(g[B]=T.x,g[F]=T.y,g[k]=T.z,n&&(g[B+b]=-T.x,g[F+b]=-T.y,g[k+b]=-T.z)),i.bitangent&&(E=h.normalize(h.cross(C,T,E),E),m[B]=E.x,m[F]=E.y,m[k]=E.z,n&&(m[B+b]=E.x,m[F+b]=E.y,m[k+b]=E.z))))}if(i.st){_=d.length;for(let B=0;B<_;B+=2)d[B]=(d[B]-L.x)/(N.x-L.x),d[B+1]=(d[B+1]-L.y)/(N.y-L.y)}let I=new dn;if(i.position){let B=Cl.raisePositionsToHeight(e,t,n);I.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:B})}if(i.st&&(I.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:d})),i.normal&&(I.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:p})),i.tangent&&(I.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:g})),i.bitangent&&(I.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:m})),f&&(I.extrudeDirection=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:A})),n&&u(t.offsetAttribute)){let B=new Uint8Array(l);if(t.offsetAttribute===nn.TOP)B=B.fill(1,0,l/2);else{let F=t.offsetAttribute===nn.NONE?0:1;B=B.fill(F)}I.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:B})}return I}function fle(e){let t=new Array(12*(e*(e+1))-6),n=0,i,o,r,s,a;for(i=0,r=1,s=0;s<3;s++)t[n++]=r++,t[n++]=i,t[n++]=r;for(s=2;s<e+1;++s){for(r=s*(s+1)-1,i=(s-1)*s-1,t[n++]=r++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=r++,t[n++]=i,t[n++]=r}for(o=e*2,++r,++i,s=0;s<o-1;++s)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;for(t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i++,t[n++]=i,++i,s=e-1;s>1;--s){for(t[n++]=i++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=i++,t[n++]=i++,t[n++]=r++}for(s=0;s<3;s++)t[n++]=i++,t[n++]=i,t[n++]=r;return t}var dx=new h;function sje(e){let t=e.center;dx=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,dx),e.height,dx),dx=h.add(t,dx,dx);let n=new se(dx,e.semiMajorAxis),i=Cl.computeEllipsePositions(e,!0,!1),o=i.positions,r=i.numPts,s=ule(o,e,!1),a=fle(r);return a=Fe.createTypedArray(o.length/3,a),{boundingSphere:n,attributes:s,indices:a}}function aje(e,t){let n=t.vertexFormat,i=t.center,o=t.semiMajorAxis,r=t.semiMinorAxis,s=t.ellipsoid,a=t.height,c=t.extrudedHeight,l=t.stRotation,f=e.length/3*2,d=new Float64Array(f*3),p=n.st?new Float32Array(f*2):void 0,g=n.normal?new Float32Array(f*3):void 0,m=n.tangent?new Float32Array(f*3):void 0,A=n.bitangent?new Float32Array(f*3):void 0,x=t.shadowVolume,C=x?new Float32Array(f*3):void 0,T=0,E=ole,S=rle,D=sle,w=new Ei(s),R=w.project(s.cartesianToCartographic(i,YU),ale),O=s.scaleToGeodeticSurface(i,WE);s.geodeticSurfaceNormal(O,O);let L=Le.fromAxisAngle(O,l,tW),N=Z.fromQuaternion(L,ile),_=H.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,cle),b=H.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,lle),v=e.length,I=v/3*2;for(let F=0;F<v;F+=3){let k=F+1,U=F+2,G=h.fromArray(e,F,WE),V;if(n.st){let j=Z.multiplyByVector(N,G,$9),Q=w.project(s.cartesianToCartographic(j,YU),eW);h.subtract(Q,R,Q),us.x=(Q.x+o)/(2*o),us.y=(Q.y+r)/(2*r),_.x=Math.min(us.x,_.x),_.y=Math.min(us.y,_.y),b.x=Math.max(us.x,b.x),b.y=Math.max(us.y,b.y),p[T+I]=us.x,p[T+1+I]=us.y,p[T++]=us.x,p[T++]=us.y}G=s.scaleToGeodeticSurface(G,G),V=h.clone(G,$9),E=s.geodeticSurfaceNormal(G,E),x&&(C[F+v]=-E.x,C[k+v]=-E.y,C[U+v]=-E.z);let X=h.multiplyByScalar(E,a,nle);if(G=h.add(G,X,G),X=h.multiplyByScalar(E,c,X),V=h.add(V,X,V),n.position&&(d[F+v]=V.x,d[k+v]=V.y,d[U+v]=V.z,d[F]=G.x,d[k]=G.y,d[U]=G.z),n.normal||n.tangent||n.bitangent){D=h.clone(E,D);let j=h.fromArray(e,(F+3)%v,nle);h.subtract(j,G,j);let Q=h.subtract(V,G,eW);E=h.normalize(h.cross(Q,j,E),E),n.normal&&(g[F]=E.x,g[k]=E.y,g[U]=E.z,g[F+v]=E.x,g[k+v]=E.y,g[U+v]=E.z),n.tangent&&(S=h.normalize(h.cross(D,E,S),S),m[F]=S.x,m[k]=S.y,m[U]=S.z,m[F+v]=S.x,m[F+1+v]=S.y,m[F+2+v]=S.z),n.bitangent&&(A[F]=D.x,A[k]=D.y,A[U]=D.z,A[F+v]=D.x,A[k+v]=D.y,A[U+v]=D.z)}}if(n.st){v=p.length;for(let F=0;F<v;F+=2)p[F]=(p[F]-_.x)/(b.x-_.x),p[F+1]=(p[F+1]-_.y)/(b.y-_.y)}let B=new dn;if(n.position&&(B.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:d})),n.st&&(B.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:p})),n.normal&&(B.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:g})),n.tangent&&(B.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:m})),n.bitangent&&(B.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:A})),x&&(B.extrudeDirection=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:C})),u(t.offsetAttribute)){let F=new Uint8Array(f);if(t.offsetAttribute===nn.TOP)F=F.fill(1,0,f/2);else{let k=t.offsetAttribute===nn.NONE?0:1;F=F.fill(k)}B.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:F})}return B}function cje(e){let t=e.length/3,n=Fe.createTypedArray(t,t*6),i=0;for(let o=0;o<t;o++){let r=o,s=o+t,a=(r+1)%t,c=a+t;n[i++]=r,n[i++]=s,n[i++]=a,n[i++]=a,n[i++]=s,n[i++]=c}return n}var WU=new se,jU=new se;function lje(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,WE),e.height,WE);WU.center=h.add(t,o,WU.center),WU.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),jU.center=h.add(t,o,jU.center),jU.radius=i;let r=Cl.computeEllipsePositions(e,!0,!0),s=r.positions,a=r.numPts,c=r.outerPositions,l=se.union(WU,jU),f=ule(s,e,!0),d=fle(a),p=d.length;d.length=p*2;let g=s.length/3;for(let S=0;S<p;S+=3)d[S+p]=d[S+2]+g,d[S+1+p]=d[S+1]+g,d[S+2+p]=d[S]+g;let m=Fe.createTypedArray(g*2/3,d),A=new ct({attributes:f,indices:m,primitiveType:Me.TRIANGLES}),x=aje(c,e);d=cje(c);let C=Fe.createTypedArray(c.length*2/3,d),T=new ct({attributes:x,indices:C,primitiveType:Me.TRIANGLES}),E=Ln.combineInstances([new At({geometry:A}),new At({geometry:T})]);return{boundingSphere:l,attributes:E[0].attributes,indices:E[0].indices}}function dle(e,t,n,i,o,r,s){let c=Cl.computeEllipsePositions({center:e,semiMajorAxis:t,semiMinorAxis:n,rotation:i,granularity:o},!1,!0).outerPositions,l=c.length/3,f=new Array(l);for(let p=0;p<l;++p)f[p]=h.fromArray(c,p*3);let d=ce.fromCartesianArray(f,r,s);return d.width>P.PI&&(d.north=d.north>0?P.PI_OVER_TWO-P.EPSILON7:d.north,d.south=d.south<0?P.EPSILON7-P.PI_OVER_TWO:d.south,d.east=P.PI,d.west=-P.PI),d}function qh(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ie.WGS84),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.vertexFormat,Ie.DEFAULT),a=y(e.height,0),c=y(e.extrudedHeight,a);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ie.clone(n),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._height=Math.max(c,a),this._granularity=r,this._vertexFormat=Ie.clone(s),this._extrudedHeight=Math.min(c,a),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}qh.packedLength=h.packedLength+ie.packedLength+Ie.packedLength+9;qh.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var hle=new h,mle=new ie,ple=new Ie,Yh={center:hle,ellipsoid:mle,vertexFormat:ple,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};qh.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,hle);t+=h.packedLength;let o=ie.unpack(e,t,mle);t+=ie.packedLength;let r=Ie.unpack(e,t,ple);t+=Ie.packedLength;let s=e[t++],a=e[t++],c=e[t++],l=e[t++],f=e[t++],d=e[t++],p=e[t++],g=e[t++]===1,m=e[t];return u(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ie.clone(o,n._ellipsoid),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._semiMajorAxis=s,n._semiMinorAxis=a,n._rotation=c,n._stRotation=l,n._height=f,n._granularity=d,n._extrudedHeight=p,n._shadowVolume=g,n._offsetAttribute=m===-1?void 0:m,n):(Yh.height=f,Yh.extrudedHeight=p,Yh.granularity=d,Yh.stRotation=l,Yh.rotation=c,Yh.semiMajorAxis=s,Yh.semiMinorAxis=a,Yh.shadowVolume=g,Yh.offsetAttribute=m===-1?void 0:m,new qh(Yh))};qh.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.center,i=y(e.ellipsoid,ie.WGS84),o=e.semiMajorAxis,r=e.semiMinorAxis,s=y(e.granularity,P.RADIANS_PER_DEGREE),a=y(e.rotation,0);return dle(n,o,r,a,s,i,t)};qh.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation},r;if(i)o.extrudedHeight=n,o.shadowVolume=e._shadowVolume,o.offsetAttribute=e._offsetAttribute,r=lje(o);else if(r=sje(o),u(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===nn.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ct({attributes:r.attributes,indices:r.indices,primitiveType:Me.TRIANGLES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};qh.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new qh({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:o,rotation:e._rotation,stRotation:e._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0})};function uje(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let i=Cl.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0).outerPositions,o=i.length/3,r=new Array(o);for(let c=0;c<o;++c)r[c]=h.fromArray(i,c*3);let s=e._ellipsoid,a=e.rectangle;return ct._textureCoordinateRotationPoints(r,t,s,a)}Object.defineProperties(qh.prototype,{rectangle:{get:function(){return u(this._rectangle)||(this._rectangle=dle(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return u(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=uje(this)),this._textureCoordinateRotationPoints}}});var Fc=qh;var _le=new h,hx=new h;function fje(e){let t=e.center;hx=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,hx),e.height,hx),hx=h.add(t,hx,hx);let n=new se(hx,e.semiMajorAxis),i=Cl.computeEllipsePositions(e,!1,!0).outerPositions,o=new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:Cl.raisePositionsToHeight(i,e,!1)})}),r=i.length/3,s=Fe.createTypedArray(r,r*2),a=0;for(let c=0;c<r;++c)s[a++]=c,s[a++]=(c+1)%r;return{boundingSphere:n,attributes:o,indices:s}}var qU=new se,XU=new se;function dje(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,_le),e.height,_le);qU.center=h.add(t,o,qU.center),qU.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),XU.center=h.add(t,o,XU.center),XU.radius=i;let r=Cl.computeEllipsePositions(e,!1,!0).outerPositions,s=new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:Cl.raisePositionsToHeight(r,e,!0)})});r=s.position.values;let a=se.union(qU,XU),c=r.length/3;if(u(e.offsetAttribute)){let m=new Uint8Array(c);if(e.offsetAttribute===nn.TOP)m=m.fill(1,0,c/2);else{let A=e.offsetAttribute===nn.NONE?0:1;m=m.fill(A)}s.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:m})}let l=y(e.numberOfVerticalLines,16);l=P.clamp(l,0,c/2);let f=Fe.createTypedArray(c,c*2+l*2);c/=2;let d=0,p;for(p=0;p<c;++p)f[d++]=p,f[d++]=(p+1)%c,f[d++]=p+c,f[d++]=(p+1)%c+c;let g;if(l>0){let m=Math.min(l,c);g=Math.round(c/m);let A=Math.min(g*l,c);for(p=0;p<A;p+=g)f[d++]=p,f[d++]=p+c}return{boundingSphere:a,attributes:s,indices:f}}function jE(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ie.WGS84),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.height,0),a=y(e.extrudedHeight,s);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ie.clone(n),this._rotation=y(e.rotation,0),this._height=Math.max(a,s),this._granularity=r,this._extrudedHeight=Math.min(a,s),this._numberOfVerticalLines=Math.max(y(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}jE.packedLength=h.packedLength+ie.packedLength+8;jE.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var gle=new h,yle=new ie,s_={center:gle,ellipsoid:yle,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};jE.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,gle);t+=h.packedLength;let o=ie.unpack(e,t,yle);t+=ie.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],l=e[t++],f=e[t++],d=e[t++],p=e[t];return u(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ie.clone(o,n._ellipsoid),n._semiMajorAxis=r,n._semiMinorAxis=s,n._rotation=a,n._height=c,n._granularity=l,n._extrudedHeight=f,n._numberOfVerticalLines=d,n._offsetAttribute=p===-1?void 0:p,n):(s_.height=c,s_.extrudedHeight=f,s_.granularity=l,s_.rotation=a,s_.semiMajorAxis=r,s_.semiMinorAxis=s,s_.numberOfVerticalLines=d,s_.offsetAttribute=p===-1?void 0:p,new jE(s_))};jE.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines},r;if(i)o.extrudedHeight=n,o.offsetAttribute=e._offsetAttribute,r=dje(o);else if(r=fje(o),u(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===nn.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ct({attributes:r.attributes,indices:r.indices,primitiveType:Me.LINES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};var au=jE;var Ale=new z,xle=h.ZERO,Cle=new h,Tle=new ce;function hje(e){this.id=e,this.vertexFormat=void 0,this.center=void 0,this.semiMajorAxis=void 0,this.semiMinorAxis=void 0,this.rotation=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function Od(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new hje(e),geometryPropertyName:"ellipse",observedPropertyNames:["availability","position","ellipse"]}),this._onEntityPropertyChanged(e,"ellipse",e.ellipse,void 0)}u(Object.create)&&(Od.prototype=Object.create(jn.prototype),Od.prototype.constructor=Od);Od.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Mt){let o;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,Ale)),u(o)||(o=z.WHITE),i.color=Nt.fromColor(o)}return u(this._options.offsetAttribute)&&(i.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,xle,Cle))),new At({id:t,geometry:new Fc(this._options),attributes:i})};Od.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Ale),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o),offset:void 0};return u(this._options.offsetAttribute)&&(r.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,xle,Cle))),new At({id:t,geometry:new au(this._options),attributes:r})};Od.prototype._computeCenter=function(e,t){return Y.getValueOrUndefined(this._entity.position,e,t)};Od.prototype._isHidden=function(e,t){let n=e.position;return!u(n)||!u(t.semiMajorAxis)||!u(t.semiMinorAxis)||si.prototype._isHidden.call(this,e,t)};Od.prototype._isDynamic=function(e,t){return!e.position.isConstant||!t.semiMajorAxis.isConstant||!t.semiMinorAxis.isConstant||!Y.isConstant(t.rotation)||!Y.isConstant(t.height)||!Y.isConstant(t.extrudedHeight)||!Y.isConstant(t.granularity)||!Y.isConstant(t.stRotation)||!Y.isConstant(t.outlineWidth)||!Y.isConstant(t.numberOfVerticalLines)||!Y.isConstant(t.zIndex)||this._onTerrain&&!Y.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Mt)};Od.prototype._setStaticOptions=function(e,t){let n=Y.getValueOrUndefined(t.height,ze.MINIMUM_VALUE),i=Y.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,We.NONE),o=Y.getValueOrUndefined(t.extrudedHeight,ze.MINIMUM_VALUE),r=Y.getValueOrDefault(t.extrudedHeightReference,ze.MINIMUM_VALUE,We.NONE);u(o)&&!u(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Mt?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat,s.center=e.position.getValue(ze.MINIMUM_VALUE,s.center),s.semiMajorAxis=t.semiMajorAxis.getValue(ze.MINIMUM_VALUE,s.semiMajorAxis),s.semiMinorAxis=t.semiMinorAxis.getValue(ze.MINIMUM_VALUE,s.semiMinorAxis),s.rotation=Y.getValueOrUndefined(t.rotation,ze.MINIMUM_VALUE),s.granularity=Y.getValueOrUndefined(t.granularity,ze.MINIMUM_VALUE),s.stRotation=Y.getValueOrUndefined(t.stRotation,ze.MINIMUM_VALUE),s.numberOfVerticalLines=Y.getValueOrUndefined(t.numberOfVerticalLines,ze.MINIMUM_VALUE),s.offsetAttribute=jn.computeGeometryOffsetAttribute(n,i,o,r),s.height=jn.getGeometryHeight(n,i),o=jn.getGeometryExtrudedHeight(o,r),o===jn.CLAMP_TO_GROUND&&(o=fi.getMinimumMaximumHeights(Fc.computeRectangle(s,Tle)).minimumTerrainHeight),s.extrudedHeight=o};Od.DynamicGeometryUpdater=YE;function YE(e,t,n){ri.call(this,e,t,n)}u(Object.create)&&(YE.prototype=Object.create(ri.prototype),YE.prototype.constructor=YE);YE.prototype._isHidden=function(e,t,n){let i=this._options;return!u(i.center)||!u(i.semiMajorAxis)||!u(i.semiMinorAxis)||ri.prototype._isHidden.call(this,e,t,n)};YE.prototype._setOptions=function(e,t,n){let i=this._options,o=Y.getValueOrUndefined(t.height,n),r=Y.getValueOrDefault(t.heightReference,n,We.NONE),s=Y.getValueOrUndefined(t.extrudedHeight,n),a=Y.getValueOrDefault(t.extrudedHeightReference,n,We.NONE);u(s)&&!u(o)&&(o=0),i.center=Y.getValueOrUndefined(e.position,n,i.center),i.semiMajorAxis=Y.getValueOrUndefined(t.semiMajorAxis,n),i.semiMinorAxis=Y.getValueOrUndefined(t.semiMinorAxis,n),i.rotation=Y.getValueOrUndefined(t.rotation,n),i.granularity=Y.getValueOrUndefined(t.granularity,n),i.stRotation=Y.getValueOrUndefined(t.stRotation,n),i.numberOfVerticalLines=Y.getValueOrUndefined(t.numberOfVerticalLines,n),i.offsetAttribute=jn.computeGeometryOffsetAttribute(o,r,s,a),i.height=jn.getGeometryHeight(o,r),s=jn.getGeometryExtrudedHeight(s,a),s===jn.CLAMP_TO_GROUND&&(s=fi.getMinimumMaximumHeights(Fc.computeRectangle(i,Tle)).minimumTerrainHeight),i.extrudedHeight=s};var yB=Od;var mje=new h,pje=new h,_je=new h,gje=new h,yje=new h,Aje=new h(1,1,1),Ele=Math.cos,ble=Math.sin;function a_(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,Aje),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,64)),c=Math.round(y(e.slicePartitions,64)),l=y(e.vertexFormat,Ie.DEFAULT);this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._vertexFormat=Ie.clone(l),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidGeometry"}a_.packedLength=2*h.packedLength+Ie.packedLength+7;a_.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n]=y(e._offsetAttribute,-1),t};var Sle=new h,Dle=new h,vle=new Ie,ay={radii:Sle,innerRadii:Dle,vertexFormat:vle,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};a_.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,Sle);t+=h.packedLength;let o=h.unpack(e,t,Dle);t+=h.packedLength;let r=Ie.unpack(e,t,vle);t+=Ie.packedLength;let s=e[t++],a=e[t++],c=e[t++],l=e[t++],f=e[t++],d=e[t++],p=e[t];return u(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._minimumClock=s,n._maximumClock=a,n._minimumCone=c,n._maximumCone=l,n._stackPartitions=f,n._slicePartitions=d,n._offsetAttribute=p===-1?void 0:p,n):(ay.minimumClock=s,ay.maximumClock=a,ay.minimumCone=c,ay.maximumCone=l,ay.stackPartitions=f,ay.slicePartitions=d,ay.offsetAttribute=p===-1?void 0:p,new a_(ay))};a_.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._vertexFormat,c=e._slicePartitions+1,l=e._stackPartitions+1;c=Math.round(c*Math.abs(o-i)/P.TWO_PI),l=Math.round(l*Math.abs(s-r)/P.PI),c<2&&(c=2),l<2&&(l=2);let f,d,p=0,g=[r],m=[i];for(f=0;f<l;f++)g.push(r+f*(s-r)/(l-1));for(g.push(s),d=0;d<c;d++)m.push(i+d*(o-i)/(c-1));m.push(o);let A=g.length,x=m.length,C=0,T=1,E=n.x!==t.x||n.y!==t.y||n.z!==t.z,S=!1,D=!1,w=!1;E&&(T=2,r>0&&(S=!0,C+=c-1),s<Math.PI&&(D=!0,C+=c-1),(o-i)%P.TWO_PI?(w=!0,C+=(l-1)*2+1):C+=1);let R=x*A*T,O=new Float64Array(R*3),L=new Array(R).fill(!1),N=new Array(R).fill(!1),_=c*l*T,b=6*(_+C+1-(c+l)*T),v=Fe.createTypedArray(_,b),I=a.normal?new Float32Array(R*3):void 0,B=a.tangent?new Float32Array(R*3):void 0,F=a.bitangent?new Float32Array(R*3):void 0,k=a.st?new Float32Array(R*2):void 0,U=new Array(A),G=new Array(A);for(f=0;f<A;f++)U[f]=ble(g[f]),G[f]=Ele(g[f]);let V=new Array(x),X=new Array(x);for(d=0;d<x;d++)X[d]=Ele(m[d]),V[d]=ble(m[d]);for(f=0;f<A;f++)for(d=0;d<x;d++)O[p++]=t.x*U[f]*X[d],O[p++]=t.y*U[f]*V[d],O[p++]=t.z*G[f];let j=R/2;if(E)for(f=0;f<A;f++)for(d=0;d<x;d++)O[p++]=n.x*U[f]*X[d],O[p++]=n.y*U[f]*V[d],O[p++]=n.z*G[f],L[j]=!0,f>0&&f!==A-1&&d!==0&&d!==x-1&&(N[j]=!0),j++;p=0;let Q,W;for(f=1;f<A-2;f++)for(Q=f*x,W=(f+1)*x,d=1;d<x-2;d++)v[p++]=W+d,v[p++]=W+d+1,v[p++]=Q+d+1,v[p++]=W+d,v[p++]=Q+d+1,v[p++]=Q+d;if(E){let mt=A*x;for(f=1;f<A-2;f++)for(Q=mt+f*x,W=mt+(f+1)*x,d=1;d<x-2;d++)v[p++]=W+d,v[p++]=Q+d,v[p++]=Q+d+1,v[p++]=W+d,v[p++]=Q+d+1,v[p++]=W+d+1}let K,J;if(E){if(S)for(J=A*x,f=1;f<x-2;f++)v[p++]=f,v[p++]=f+1,v[p++]=J+f+1,v[p++]=f,v[p++]=J+f+1,v[p++]=J+f;if(D)for(K=A*x-x,J=A*x*T-x,f=1;f<x-2;f++)v[p++]=K+f+1,v[p++]=K+f,v[p++]=J+f,v[p++]=K+f+1,v[p++]=J+f,v[p++]=J+f+1}if(w){for(f=1;f<A-2;f++)J=x*A+x*f,K=x*f,v[p++]=J,v[p++]=K+x,v[p++]=K,v[p++]=J,v[p++]=J+x,v[p++]=K+x;for(f=1;f<A-2;f++)J=x*A+x*(f+1)-1,K=x*(f+1)-1,v[p++]=K+x,v[p++]=J,v[p++]=K,v[p++]=K+x,v[p++]=J+x,v[p++]=J}let _e=new dn;a.position&&(_e.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:O}));let xe=0,re=0,ye=0,fe=0,Se=R/2,we,Ve=ie.fromCartesian3(t),qe=ie.fromCartesian3(n);if(a.st||a.normal||a.tangent||a.bitangent){for(f=0;f<R;f++){we=L[f]?qe:Ve;let mt=h.fromArray(O,f*3,mje),Ht=we.geodeticSurfaceNormal(mt,pje);if(N[f]&&h.negate(Ht,Ht),a.st){let fn=H.negate(Ht,yje);k[xe++]=Math.atan2(fn.y,fn.x)/P.TWO_PI+.5,k[xe++]=Math.asin(Ht.z)/Math.PI+.5}if(a.normal&&(I[re++]=Ht.x,I[re++]=Ht.y,I[re++]=Ht.z),a.tangent||a.bitangent){let fn=_je,dt=0,Tn;if(L[f]&&(dt=Se),!S&&f>=dt&&f<dt+x*2?Tn=h.UNIT_X:Tn=h.UNIT_Z,h.cross(Tn,Ht,fn),h.normalize(fn,fn),a.tangent&&(B[ye++]=fn.x,B[ye++]=fn.y,B[ye++]=fn.z),a.bitangent){let Jn=h.cross(Ht,fn,gje);h.normalize(Jn,Jn),F[fe++]=Jn.x,F[fe++]=Jn.y,F[fe++]=Jn.z}}}a.st&&(_e.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:k})),a.normal&&(_e.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:I})),a.tangent&&(_e.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:B})),a.bitangent&&(_e.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:F}))}if(u(e._offsetAttribute)){let mt=O.length,Ht=e._offsetAttribute===nn.NONE?0:1,fn=new Uint8Array(mt/3).fill(Ht);_e.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:fn})}return new ct({attributes:_e,indices:v,primitiveType:Me.TRIANGLES,boundingSphere:se.fromEllipsoid(Ve),offsetAttribute:e._offsetAttribute})};var nW;a_.getUnitEllipsoid=function(){return u(nW)||(nW=a_.createGeometry(new a_({radii:new h(1,1,1),vertexFormat:Ie.POSITION_ONLY}))),nW};var vs=a_;var xje=new Mt(z.WHITE),iW=h.ZERO,oW=new h,Cje=new h,Tje=new h,rW=new z,Eje=new h(1,1,1);function bje(e){this.id=e,this.vertexFormat=void 0,this.radii=void 0,this.innerRadii=void 0,this.minimumClock=void 0,this.maximumClock=void 0,this.minimumCone=void 0,this.maximumCone=void 0,this.stackPartitions=void 0,this.slicePartitions=void 0,this.subdivisions=void 0,this.offsetAttribute=void 0}function cu(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new bje(e),geometryPropertyName:"ellipsoid",observedPropertyNames:["availability","position","orientation","ellipsoid"]}),this._onEntityPropertyChanged(e,"ellipsoid",e.ellipsoid,void 0)}u(Object.create)&&(cu.prototype=Object.create(si.prototype),cu.prototype.constructor=cu);Object.defineProperties(cu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});cu.prototype.createFillGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r,s=new _n(o&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),c=Vn.fromDistanceDisplayCondition(a),l={show:s,distanceDisplayCondition:c,color:void 0,offset:void 0};if(this._materialProperty instanceof Mt){let f;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||o)&&(f=this._materialProperty.color.getValue(e,rW)),u(f)||(f=z.WHITE),r=Nt.fromColor(f),l.color=r}return u(this._options.offsetAttribute)&&(l.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,iW,oW))),new At({id:i,geometry:new vs(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.mapProjection.ellipsoid,n),attributes:l})};cu.prototype.createOutlineGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,rW),s=this._distanceDisplayConditionProperty.getValue(e),a={show:new _n(o&&i.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(r),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(s),offset:void 0};return u(this._options.offsetAttribute)&&(a.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,iW,oW))),new At({id:i,geometry:new $l(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.mapProjection.ellipsoid,n),attributes:a})};cu.prototype._computeCenter=function(e,t){return Y.getValueOrUndefined(this._entity.position,e,t)};cu.prototype._isHidden=function(e,t){return!u(e.position)||!u(t.radii)||si.prototype._isHidden.call(this,e,t)};cu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!Y.isConstant(e.orientation)||!t.radii.isConstant||!Y.isConstant(t.innerRadii)||!Y.isConstant(t.stackPartitions)||!Y.isConstant(t.slicePartitions)||!Y.isConstant(t.outlineWidth)||!Y.isConstant(t.minimumClock)||!Y.isConstant(t.maximumClock)||!Y.isConstant(t.minimumCone)||!Y.isConstant(t.maximumCone)||!Y.isConstant(t.subdivisions)};cu.prototype._setStaticOptions=function(e,t){let n=Y.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,We.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Mt?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat,i.radii=t.radii.getValue(ze.MINIMUM_VALUE,i.radii),i.innerRadii=Y.getValueOrUndefined(t.innerRadii,i.radii),i.minimumClock=Y.getValueOrUndefined(t.minimumClock,ze.MINIMUM_VALUE),i.maximumClock=Y.getValueOrUndefined(t.maximumClock,ze.MINIMUM_VALUE),i.minimumCone=Y.getValueOrUndefined(t.minimumCone,ze.MINIMUM_VALUE),i.maximumCone=Y.getValueOrUndefined(t.maximumCone,ze.MINIMUM_VALUE),i.stackPartitions=Y.getValueOrUndefined(t.stackPartitions,ze.MINIMUM_VALUE),i.slicePartitions=Y.getValueOrUndefined(t.slicePartitions,ze.MINIMUM_VALUE),i.subdivisions=Y.getValueOrUndefined(t.subdivisions,ze.MINIMUM_VALUE),i.offsetAttribute=n!==We.NONE?nn.ALL:void 0};cu.prototype._onEntityPropertyChanged=np;cu.DynamicGeometryUpdater=AB;function AB(e,t,n){ri.call(this,e,t,n),this._scene=e._scene,this._modelMatrix=new M,this._attributes=void 0,this._outlineAttributes=void 0,this._lastSceneMode=void 0,this._lastShow=void 0,this._lastOutlineShow=void 0,this._lastOutlineWidth=void 0,this._lastOutlineColor=void 0,this._lastOffset=new h,this._material={}}u(Object.create)&&(AB.prototype=Object.create(ri.prototype),AB.prototype.constructor=AB);AB.prototype.update=function(e){let t=this._entity,n=t.ellipsoid;if(!t.isShowing||!t.isAvailable(e)||!Y.getValueOrDefault(n.show,e,!0)){u(this._primitive)&&(this._primitive.show=!1),u(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let i=Y.getValueOrUndefined(n.radii,e,Cje),o=u(i)?t.computeModelMatrixForHeightReference(e,n.heightReference,i.z*.5,this._scene.mapProjection.ellipsoid,this._modelMatrix):void 0;if(!u(o)||!u(i)){u(this._primitive)&&(this._primitive.show=!1),u(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let r=Y.getValueOrDefault(n.fill,e,!0),s=Y.getValueOrDefault(n.outline,e,!1),a=Y.getValueOrClonedDefault(n.outlineColor,e,z.BLACK,rW),c=Wo.getValue(e,y(n.material,xje),this._material),l=Y.getValueOrUndefined(n.innerRadii,e,Tje),f=Y.getValueOrUndefined(n.minimumClock,e),d=Y.getValueOrUndefined(n.maximumClock,e),p=Y.getValueOrUndefined(n.minimumCone,e),g=Y.getValueOrUndefined(n.maximumCone,e),m=Y.getValueOrUndefined(n.stackPartitions,e),A=Y.getValueOrUndefined(n.slicePartitions,e),x=Y.getValueOrUndefined(n.subdivisions,e),C=Y.getValueOrDefault(n.outlineWidth,e,1),T=Y.getValueOrDefault(n.heightReference,e,We.NONE),E=T!==We.NONE?nn.ALL:void 0,S=this._scene.mode,D=S===te.SCENE3D&&T===We.NONE,w=this._options,R=this._geometryUpdater.shadowsProperty.getValue(e),L=this._geometryUpdater.distanceDisplayConditionProperty.getValue(e),N=Y.getValueOrDefault(this._geometryUpdater.terrainOffsetProperty,e,iW,oW);if(!D||this._lastSceneMode!==S||!u(this._primitive)||w.stackPartitions!==m||w.slicePartitions!==A||u(l)&&!h.equals(w.innerRadii!==l)||w.minimumClock!==f||w.maximumClock!==d||w.minimumCone!==p||w.maximumCone!==g||w.subdivisions!==x||this._lastOutlineWidth!==C||w.offsetAttribute!==E){let b=this._primitives;if(b.removeAndDestroy(this._primitive),b.removeAndDestroy(this._outlinePrimitive),this._primitive=void 0,this._outlinePrimitive=void 0,this._lastSceneMode=S,this._lastOutlineWidth=C,w.stackPartitions=m,w.slicePartitions=A,w.subdivisions=x,w.offsetAttribute=E,w.radii=h.clone(D?Eje:i,w.radii),u(l))if(D){let F=h.magnitude(i);w.innerRadii=h.fromElements(l.x/F,l.y/F,l.z/F,w.innerRadii)}else w.innerRadii=h.clone(l,w.innerRadii);else w.innerRadii=void 0;w.minimumClock=f,w.maximumClock=d,w.minimumCone=p,w.maximumCone=g;let v=new oo({material:c,translucent:c.isTranslucent(),closed:!0});w.vertexFormat=v.vertexFormat;let I=this._geometryUpdater.createFillGeometryInstance(e,D,this._modelMatrix);this._primitive=b.add(new Dn({geometryInstances:I,appearance:v,asynchronous:!1,shadows:R}));let B=this._geometryUpdater.createOutlineGeometryInstance(e,D,this._modelMatrix);this._outlinePrimitive=b.add(new Dn({geometryInstances:B,appearance:new on({flat:!0,translucent:B.attributes.color.value[3]!==255,renderState:{lineWidth:this._geometryUpdater._scene.clampLineWidth(C)}}),asynchronous:!1,shadows:R})),this._lastShow=r,this._lastOutlineShow=s,this._lastOutlineColor=z.clone(a,this._lastOutlineColor),this._lastDistanceDisplayCondition=L,this._lastOffset=h.clone(N,this._lastOffset)}else if(this._primitive.ready){let b=this._primitive,v=this._outlinePrimitive;b.show=!0,v.show=!0,b.appearance.material=c;let I=this._attributes;u(I)||(I=b.getGeometryInstanceAttributes(t),this._attributes=I),r!==this._lastShow&&(I.show=_n.toValue(r,I.show),this._lastShow=r);let B=this._outlineAttributes;u(B)||(B=v.getGeometryInstanceAttributes(t),this._outlineAttributes=B),s!==this._lastOutlineShow&&(B.show=_n.toValue(s,B.show),this._lastOutlineShow=s),z.equals(a,this._lastOutlineColor)||(B.color=Nt.toValue(a,B.color),z.clone(a,this._lastOutlineColor)),bt.equals(L,this._lastDistanceDisplayCondition)||(I.distanceDisplayCondition=Vn.toValue(L,I.distanceDisplayCondition),B.distanceDisplayCondition=Vn.toValue(L,B.distanceDisplayCondition),bt.clone(L,this._lastDistanceDisplayCondition)),h.equals(N,this._lastOffset)||(I.offset=Wi.toValue(N,I.offset),B.offset=Wi.toValue(N,I.offset),h.clone(N,this._lastOffset))}D&&(i.x=Math.max(i.x,.001),i.y=Math.max(i.y,.001),i.z=Math.max(i.z,.001),o=M.multiplyByScale(o,i,o),this._primitive.modelMatrix=o,this._outlinePrimitive.modelMatrix=o)};var xB=cu;function qE(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.vertexFormat,Ie.DEFAULT);this._vertexFormat=t,this._workerName="createPlaneGeometry"}qE.packedLength=Ie.packedLength;qE.pack=function(e,t,n){return n=y(n,0),Ie.pack(e._vertexFormat,t,n),t};var wle=new Ie,Sje={vertexFormat:wle};qE.unpack=function(e,t,n){t=y(t,0);let i=Ie.unpack(e,t,wle);return u(n)?(n._vertexFormat=Ie.clone(i,n._vertexFormat),n):new qE(Sje)};var KU=new h(-.5,-.5,0),ZU=new h(.5,.5,0);qE.createGeometry=function(e){let t=e._vertexFormat,n=new dn,i,o;if(t.position){if(o=new Float64Array(4*3),o[0]=KU.x,o[1]=KU.y,o[2]=0,o[3]=ZU.x,o[4]=KU.y,o[5]=0,o[6]=ZU.x,o[7]=ZU.y,o[8]=0,o[9]=KU.x,o[10]=ZU.y,o[11]=0,n.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:o}),t.normal){let r=new Float32Array(12);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=1,r[9]=0,r[10]=0,r[11]=1,n.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:r})}if(t.st){let r=new Float32Array(8);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=1,r[5]=1,r[6]=0,r[7]=1,n.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:r})}if(t.tangent){let r=new Float32Array(12);r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r[6]=1,r[7]=0,r[8]=0,r[9]=1,r[10]=0,r[11]=0,n.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:r})}if(t.bitangent){let r=new Float32Array(12);r[0]=0,r[1]=1,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=1,r[8]=0,r[9]=0,r[10]=1,r[11]=0,n.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:r})}i=new Uint16Array(2*3),i[0]=0,i[1]=1,i[2]=2,i[3]=0,i[4]=2,i[5]=3}return new ct({attributes:n,indices:i,primitiveType:Me.TRIANGLES,boundingSphere:new se(h.ZERO,Math.sqrt(2))})};var CB=qE;function XE(){this._workerName="createPlaneOutlineGeometry"}XE.packedLength=0;XE.pack=function(e,t){return t};XE.unpack=function(e,t,n){return u(n)?n:new XE};var cy=new h(-.5,-.5,0),JU=new h(.5,.5,0);XE.createGeometry=function(){let e=new dn,t=new Uint16Array(4*2),n=new Float64Array(4*3);return n[0]=cy.x,n[1]=cy.y,n[2]=cy.z,n[3]=JU.x,n[4]=cy.y,n[5]=cy.z,n[6]=JU.x,n[7]=JU.y,n[8]=cy.z,n[9]=cy.x,n[10]=JU.y,n[11]=cy.z,e.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:n}),t[0]=0,t[1]=1,t[2]=1,t[3]=2,t[4]=2,t[5]=3,t[6]=3,t[7]=0,new ct({attributes:e,indices:t,primitiveType:Me.LINES,boundingSphere:new se(h.ZERO,Math.sqrt(2))})};var TB=XE;var Dje=new h,Ile=new z;function vje(e){this.id=e,this.vertexFormat=void 0,this.plane=void 0,this.dimensions=void 0}function _f(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new vje(e),geometryPropertyName:"plane",observedPropertyNames:["availability","position","orientation","plane"]}),this._onEntityPropertyChanged(e,"plane",e.plane,void 0)}u(Object.create)&&(_f.prototype=Object.create(si.prototype),_f.prototype.constructor=_f);_f.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Vn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Mt){let g;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(g=this._materialProperty.color.getValue(e,Ile)),u(g)||(g=z.WHITE),o=Nt.fromColor(g),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};let c=t.plane,l=this._options,f=t.computeModelMatrix(e),d=Y.getValueOrDefault(c.plane,e,l.plane),p=Y.getValueOrUndefined(c.dimensions,e,l.dimensions);return l.plane=d,l.dimensions=p,f=sW(d,p,f,f),new At({id:t,geometry:new CB(this._options),modelMatrix:f,attributes:i})};_f.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Ile),o=this._distanceDisplayConditionProperty.getValue(e),r=t.plane,s=this._options,a=t.computeModelMatrix(e),c=Y.getValueOrDefault(r.plane,e,s.plane),l=Y.getValueOrUndefined(r.dimensions,e,s.dimensions);return s.plane=c,s.dimensions=l,a=sW(c,l,a,a),new At({id:t,geometry:new TB,modelMatrix:a,attributes:{show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o)}})};_f.prototype._isHidden=function(e,t){return!u(t.plane)||!u(t.dimensions)||!u(e.position)||si.prototype._isHidden.call(this,e,t)};_f.prototype._getIsClosed=function(e){return!1};_f.prototype._isDynamic=function(e,t){return!e.position.isConstant||!Y.isConstant(e.orientation)||!t.plane.isConstant||!t.dimensions.isConstant||!Y.isConstant(t.outlineWidth)};_f.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Mt,i=this._options;i.vertexFormat=n?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat,i.plane=t.plane.getValue(ze.MINIMUM_VALUE,i.plane),i.dimensions=t.dimensions.getValue(ze.MINIMUM_VALUE,i.dimensions)};_f.DynamicGeometryUpdater=KE;function KE(e,t,n){ri.call(this,e,t,n)}u(Object.create)&&(KE.prototype=Object.create(ri.prototype),KE.prototype.constructor=KE);KE.prototype._isHidden=function(e,t,n){let i=this._options,o=Y.getValueOrUndefined(e.position,n,Dje);return!u(o)||!u(i.plane)||!u(i.dimensions)||ri.prototype._isHidden.call(this,e,t,n)};KE.prototype._setOptions=function(e,t,n){let i=this._options;i.plane=Y.getValueOrDefault(t.plane,n,i.plane),i.dimensions=Y.getValueOrUndefined(t.dimensions,n,i.dimensions)};var wje=new h,Ije=new h,Pje=new h,Oje=new h,Rje=new Z,Bje=new Z,Mje=new M;function sW(e,t,n,i){let o=e.normal,r=e.distance,s=h.multiplyByScalar(o,-r,Pje),a=h.clone(h.UNIT_Z,Ije);P.equalsEpsilon(Math.abs(h.dot(a,o)),1,P.EPSILON8)&&(a=h.clone(h.UNIT_Y,a));let c=h.cross(a,o,wje);a=h.cross(o,c,a),h.normalize(c,c),h.normalize(a,a);let l=Rje;Z.setColumn(l,0,c,l),Z.setColumn(l,1,a,l),Z.setColumn(l,2,o,l);let f=h.fromElements(t.x,t.y,1,Oje),d=Z.multiplyByScale(l,f,Bje),p=M.fromRotationTranslation(d,s,Mje);return M.multiplyTransformation(n,p,i)}_f.createPrimitiveMatrix=sW;var EB=_f;var Lje=new h,Nje=new Ye,Fje=new H,Vje=new H,Uje=new h,kje=new h,zje=new h,bB=new h,Hje=new h,Gje=new h,Ple=new Le,Wje=new Z,jje=new Z,Yje=new h;function qje(e,t,n,i,o,r,s,a,c){let l=e.positions,f=li.triangulate(e.positions2D,e.holes);f.length<3&&(f=[0,1,2]);let d=Fe.createTypedArray(l.length,f.length);d.set(f);let p=Wje;if(i!==0){let _=Le.fromAxisAngle(s,i,Ple);if(p=Z.fromQuaternion(_,p),t.tangent||t.bitangent){_=Le.fromAxisAngle(s,-i,Ple);let b=Z.fromQuaternion(_,jje);a=h.normalize(Z.multiplyByVector(b,a,a),a),t.bitangent&&(c=h.normalize(h.cross(s,a,c),c))}}else p=Z.clone(Z.IDENTITY,p);let g=Vje;t.st&&(g.x=n.x,g.y=n.y);let m=l.length,A=m*3,x=new Float64Array(A),C=t.normal?new Float32Array(A):void 0,T=t.tangent?new Float32Array(A):void 0,E=t.bitangent?new Float32Array(A):void 0,S=t.st?new Float32Array(m*2):void 0,D=0,w=0,R=0,O=0,L=0;for(let _=0;_<m;_++){let b=l[_];if(x[D++]=b.x,x[D++]=b.y,x[D++]=b.z,t.st)if(u(o)&&o.positions.length===m)S[L++]=o.positions[_].x,S[L++]=o.positions[_].y;else{let v=Z.multiplyByVector(p,b,Lje),I=r(v,Fje);H.subtract(I,g,I);let B=P.clamp(I.x/n.width,0,1),F=P.clamp(I.y/n.height,0,1);S[L++]=B,S[L++]=F}t.normal&&(C[w++]=s.x,C[w++]=s.y,C[w++]=s.z),t.tangent&&(T[O++]=a.x,T[O++]=a.y,T[O++]=a.z),t.bitangent&&(E[R++]=c.x,E[R++]=c.y,E[R++]=c.z)}let N=new dn;return t.position&&(N.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:x})),t.normal&&(N.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:C})),t.tangent&&(N.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:T})),t.bitangent&&(N.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:E})),t.st&&(N.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:S})),new ct({attributes:N,indices:d,primitiveType:Me.TRIANGLES})}function mx(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy,n=e.textureCoordinates,i=y(e.vertexFormat,Ie.DEFAULT);this._vertexFormat=Ie.clone(i),this._polygonHierarchy=t,this._stRotation=y(e.stRotation,0),this._ellipsoid=ie.clone(y(e.ellipsoid,ie.WGS84)),this._workerName="createCoplanarPolygonGeometry",this._textureCoordinates=n,this.packedLength=Wn.computeHierarchyPackedLength(t,h)+Ie.packedLength+ie.packedLength+(u(n)?Wn.computeHierarchyPackedLength(n,H):1)+2}mx.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,textureCoordinates:e.textureCoordinates};return new mx(t)};mx.pack=function(e,t,n){return n=y(n,0),n=Wn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._stRotation,u(e._textureCoordinates)?n=Wn.packPolygonHierarchy(e._textureCoordinates,t,n,H):t[n++]=-1,t[n++]=e.packedLength,t};var Xje=ie.clone(ie.UNIT_SPHERE),Kje=new Ie,Zje={polygonHierarchy:{}};mx.unpack=function(e,t,n){t=y(t,0);let i=Wn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ie.unpack(e,t,Xje);t+=ie.packedLength;let r=Ie.unpack(e,t,Kje);t+=Ie.packedLength;let s=e[t++],a=e[t]===-1?void 0:Wn.unpackPolygonHierarchy(e,t,H);u(a)?(t=a.startingIndex,delete a.startingIndex):t++;let c=e[t++];return u(n)||(n=new mx(Zje)),n._polygonHierarchy=i,n._ellipsoid=ie.clone(o,n._ellipsoid),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._stRotation=s,n._textureCoordinates=a,n.packedLength=c,n};mx.createGeometry=function(e){let t=e._vertexFormat,n=e._polygonHierarchy,i=e._stRotation,o=e._textureCoordinates,r=u(o),s=n.positions;if(s=go(s,h.equalsEpsilon,!0),s.length<3)return;let a=Uje,c=kje,l=zje,f=Hje,d=Gje;if(!Hp.computeProjectTo2DArguments(s,bB,f,d))return;if(a=h.cross(f,d,a),a=h.normalize(a,a),!h.equalsEpsilon(bB,h.ZERO,P.EPSILON6)){let L=e._ellipsoid.geodeticSurfaceNormal(bB,Yje);h.dot(a,L)<0&&(a=h.negate(a,a),f=h.negate(f,f))}let g=Hp.createProjectPointsTo2DFunction(bB,f,d),m=Hp.createProjectPointTo2DFunction(bB,f,d);t.tangent&&(c=h.clone(f,c)),t.bitangent&&(l=h.clone(d,l));let A=Wn.polygonsFromHierarchy(n,r,g,!1),x=A.hierarchy,C=A.polygons,T=function(L){return L},E=r?Wn.polygonsFromHierarchy(o,!0,T,!1).polygons:void 0;if(x.length===0)return;s=x[0].outerRing;let S=se.fromPoints(s),D=Wn.computeBoundingRectangle(a,m,s,i,Nje),w=[];for(let L=0;L<C.length;L++){let N=new At({geometry:qje(C[L],t,D,i,r?E[L]:void 0,m,a,c,l)});w.push(N)}let R=Ln.combineInstances(w)[0];R.attributes.position.values=new Float64Array(R.attributes.position.values),R.indices=Fe.createTypedArray(R.attributes.position.values.length/3,R.indices);let O=R.attributes;return t.position||delete O.position,new ct({attributes:O,indices:R.indices,primitiveType:R.primitiveType,boundingSphere:S})};var SB=mx;var Jje=new he,Ole=new he;function Qje(e,t,n,i){let r=i.cartesianToCartographic(e,Jje).height,s=i.cartesianToCartographic(t,Ole);s.height=r,i.cartographicToCartesian(s,t);let a=i.cartesianToCartographic(n,Ole);a.height=r-100,i.cartographicToCartesian(a,n)}var $je=new Ye,eYe=new h,tYe=new h,nYe=new h,iYe=new h,oYe=new h,rYe=new h,QU=new h,Xh=new h,ZE=new h,sYe=new H,aYe=new H,cYe=new h,Rle=new Le,lYe=new Z,uYe=new Z;function aW(e){let t=e.vertexFormat,n=e.geometry,i=e.shadowVolume,o=n.attributes.position.values,r=u(n.attributes.st)?n.attributes.st.values:void 0,s=o.length,a=e.wall,c=e.top||a,l=e.bottom||a;if(t.st||t.normal||t.tangent||t.bitangent||i){let f=e.boundingRectangle,d=e.tangentPlane,p=e.ellipsoid,g=e.stRotation,m=e.perPositionHeight,A=sYe;A.x=f.x,A.y=f.y;let x=t.st?new Float32Array(2*(s/3)):void 0,C;t.normal&&(m&&c&&!a?C=n.attributes.normal.values:C=new Float32Array(s));let T=t.tangent?new Float32Array(s):void 0,E=t.bitangent?new Float32Array(s):void 0,S=i?new Float32Array(s):void 0,D=0,w=0,R=tYe,O=nYe,L=iYe,N=!0,_=lYe,b=uYe;if(g!==0){let B=Le.fromAxisAngle(d._plane.normal,g,Rle);_=Z.fromQuaternion(B,_),B=Le.fromAxisAngle(d._plane.normal,-g,Rle),b=Z.fromQuaternion(B,b)}else _=Z.clone(Z.IDENTITY,_),b=Z.clone(Z.IDENTITY,b);let v=0,I=0;c&&l&&(v=s/2,I=s/3,s/=2);for(let B=0;B<s;B+=3){let F=h.fromArray(o,B,cYe);if(t.st&&!u(r)){let k=Z.multiplyByVector(_,F,eYe);k=p.scaleToGeodeticSurface(k,k);let U=d.projectPointOntoPlane(k,aYe);H.subtract(U,A,U);let G=P.clamp(U.x/f.width,0,1),V=P.clamp(U.y/f.height,0,1);l&&(x[D+I]=G,x[D+1+I]=V),c&&(x[D]=G,x[D+1]=V),D+=2}if(t.normal||t.tangent||t.bitangent||i){let k=w+1,U=w+2;if(a){if(B+3<s){let G=h.fromArray(o,B+3,oYe);if(N){let V=h.fromArray(o,B+s,rYe);m&&Qje(F,G,V,p),h.subtract(G,F,G),h.subtract(V,F,V),R=h.normalize(h.cross(V,G,R),R),N=!1}h.equalsEpsilon(G,F,P.EPSILON10)&&(N=!0)}(t.tangent||t.bitangent)&&(L=p.geodeticSurfaceNormal(F,L),t.tangent&&(O=h.normalize(h.cross(L,R,O),O)))}else R=p.geodeticSurfaceNormal(F,R),(t.tangent||t.bitangent)&&(m&&(QU=h.fromArray(C,w,QU),Xh=h.cross(h.UNIT_Z,QU,Xh),Xh=h.normalize(Z.multiplyByVector(b,Xh,Xh),Xh),t.bitangent&&(ZE=h.normalize(h.cross(QU,Xh,ZE),ZE))),O=h.cross(h.UNIT_Z,R,O),O=h.normalize(Z.multiplyByVector(b,O,O),O),t.bitangent&&(L=h.normalize(h.cross(R,O,L),L)));t.normal&&(e.wall?(C[w+v]=R.x,C[k+v]=R.y,C[U+v]=R.z):l&&(C[w+v]=-R.x,C[k+v]=-R.y,C[U+v]=-R.z),(c&&!m||a)&&(C[w]=R.x,C[k]=R.y,C[U]=R.z)),i&&(a&&(R=p.geodeticSurfaceNormal(F,R)),S[w+v]=-R.x,S[k+v]=-R.y,S[U+v]=-R.z),t.tangent&&(e.wall?(T[w+v]=O.x,T[k+v]=O.y,T[U+v]=O.z):l&&(T[w+v]=-O.x,T[k+v]=-O.y,T[U+v]=-O.z),c&&(m?(T[w]=Xh.x,T[k]=Xh.y,T[U]=Xh.z):(T[w]=O.x,T[k]=O.y,T[U]=O.z))),t.bitangent&&(l&&(E[w+v]=L.x,E[k+v]=L.y,E[U+v]=L.z),c&&(m?(E[w]=ZE.x,E[k]=ZE.y,E[U]=ZE.z):(E[w]=L.x,E[k]=L.y,E[U]=L.z))),w+=3}}t.st&&!u(r)&&(n.attributes.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:x})),t.normal&&(n.attributes.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:C})),t.tangent&&(n.attributes.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:T})),t.bitangent&&(n.attributes.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:E})),i&&(n.attributes.extrudeDirection=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:S}))}if(e.extrude&&u(e.offsetAttribute)){let f=o.length/3,d=new Uint8Array(f);if(e.offsetAttribute===nn.TOP)c&&l||a?d=d.fill(1,0,f/2):c&&(d=d.fill(1));else{let p=e.offsetAttribute===nn.NONE?0:1;d=d.fill(p)}n.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return n}var fYe=new he,dYe=new he,ly={westOverIDL:0,eastOverIDL:0},JE=new Gu;function Lle(e,t,n,i,o){if(o=y(o,new ce),!u(e)||e.length<3)return o.west=0,o.north=0,o.south=0,o.east=0,o;if(n===Kt.RHUMB)return ce.fromCartesianArray(e,t,o);JE.ellipsoid.equals(t)||(JE=new Gu(void 0,void 0,t)),o.west=Number.POSITIVE_INFINITY,o.east=Number.NEGATIVE_INFINITY,o.south=Number.POSITIVE_INFINITY,o.north=Number.NEGATIVE_INFINITY,ly.westOverIDL=Number.POSITIVE_INFINITY,ly.eastOverIDL=Number.NEGATIVE_INFINITY;let r=1/P.chordLength(i,t.maximumRadius),s=e.length,a=t.cartesianToCartographic(e[0],dYe),c=fYe,l;for(let f=1;f<s;f++)l=c,c=a,a=t.cartesianToCartographic(e[f],l),JE.setEndPoints(c,a),Ble(JE,r,o,ly);return l=c,c=a,a=t.cartesianToCartographic(e[0],l),JE.setEndPoints(c,a),Ble(JE,r,o,ly),o.east-o.west>ly.eastOverIDL-ly.westOverIDL&&(o.west=ly.westOverIDL,o.east=ly.eastOverIDL,o.east>P.PI&&(o.east=o.east-P.TWO_PI),o.west>P.PI&&(o.west=o.west-P.TWO_PI)),o}var hYe=new he;function Ble(e,t,n,i){let o=e.surfaceDistance,r=Math.ceil(o*t),s=r>0?o/(r-1):Number.POSITIVE_INFINITY,a=0;for(let c=0;c<r;c++){let l=e.interpolateUsingSurfaceDistance(a,hYe);a+=s;let f=l.longitude,d=l.latitude;n.west=Math.min(n.west,f),n.east=Math.max(n.east,f),n.south=Math.min(n.south,d),n.north=Math.max(n.north,d);let p=f>=0?f:f+P.TWO_PI;i.westOverIDL=Math.min(i.westOverIDL,p),i.eastOverIDL=Math.max(i.eastOverIDL,p)}}var Mle=[];function mYe(e,t,n,i,o,r,s,a,c,l){let f={walls:[]},d;if(s||a){let T=Wn.createGeometryFromPositions(e,t,n,i,r,c,l),E=T.attributes.position.values,S=T.indices,D,w;if(s&&a){let R=E.concat(E);D=R.length/3,w=Fe.createTypedArray(D,S.length*2),w.set(S);let O=S.length,L=D/2;for(d=0;d<O;d+=3){let N=w[d]+L,_=w[d+1]+L,b=w[d+2]+L;w[d+O]=b,w[d+1+O]=_,w[d+2+O]=N}if(T.attributes.position.values=R,r&&c.normal){let N=T.attributes.normal.values;T.attributes.normal.values=new Float32Array(R.length),T.attributes.normal.values.set(N)}if(c.st&&u(n)){let N=T.attributes.st.values;T.attributes.st.values=new Float32Array(D*2),T.attributes.st.values=N.concat(N)}T.indices=w}else if(a){for(D=E.length/3,w=Fe.createTypedArray(D,S.length),d=0;d<S.length;d+=3)w[d]=S[d+2],w[d+1]=S[d+1],w[d+2]=S[d];T.indices=w}f.topAndBottom=new At({geometry:T})}let p=o.outerRing,g=ca.fromPoints(p,e),m=g.projectPointsOntoPlane(p,Mle),A=li.computeWindingOrder2D(m);A===Zr.CLOCKWISE&&(p=p.slice().reverse());let x=Wn.computeWallGeometry(p,n,e,i,r,l);f.walls.push(new At({geometry:x}));let C=o.holes;for(d=0;d<C.length;d++){let T=C[d];g=ca.fromPoints(T,e),m=g.projectPointsOntoPlane(T,Mle),A=li.computeWindingOrder2D(m),A===Zr.COUNTER_CLOCKWISE&&(T=T.slice().reverse()),x=Wn.computeWallGeometry(T,n,e,i,r,l),f.walls.push(new At({geometry:x}))}return f}function Rd(e){let t=e.polygonHierarchy,n=y(e.vertexFormat,Ie.DEFAULT),i=y(e.ellipsoid,ie.WGS84),o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.stRotation,0),s=e.textureCoordinates,a=y(e.perPositionHeight,!1),c=a&&u(e.extrudedHeight),l=y(e.height,0),f=y(e.extrudedHeight,l);if(!c){let d=Math.max(l,f);f=Math.min(l,f),l=d}this._vertexFormat=Ie.clone(n),this._ellipsoid=ie.clone(i),this._granularity=o,this._stRotation=r,this._height=l,this._extrudedHeight=f,this._closeTop=y(e.closeTop,!0),this._closeBottom=y(e.closeBottom,!0),this._polygonHierarchy=t,this._perPositionHeight=a,this._perPositionHeightExtrude=c,this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=e.offsetAttribute,this._arcType=y(e.arcType,Kt.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this._textureCoordinates=s,this.packedLength=Wn.computeHierarchyPackedLength(t,h)+ie.packedLength+Ie.packedLength+(s?Wn.computeHierarchyPackedLength(s,H):1)+12}Rd.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,closeTop:e.closeTop,closeBottom:e.closeBottom,offsetAttribute:e.offsetAttribute,arcType:e.arcType,textureCoordinates:e.textureCoordinates};return new Rd(t)};Rd.pack=function(e,t,n){return n=y(n,0),n=Wn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._stRotation,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._closeTop?1:0,t[n++]=e._closeBottom?1:0,t[n++]=e._shadowVolume?1:0,t[n++]=y(e._offsetAttribute,-1),t[n++]=e._arcType,u(e._textureCoordinates)?n=Wn.packPolygonHierarchy(e._textureCoordinates,t,n,H):t[n++]=-1,t[n++]=e.packedLength,t};var pYe=ie.clone(ie.UNIT_SPHERE),_Ye=new Ie,gYe={polygonHierarchy:{}};Rd.unpack=function(e,t,n){t=y(t,0);let i=Wn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ie.unpack(e,t,pYe);t+=ie.packedLength;let r=Ie.unpack(e,t,_Ye);t+=Ie.packedLength;let s=e[t++],a=e[t++],c=e[t++],l=e[t++],f=e[t++]===1,d=e[t++]===1,p=e[t++]===1,g=e[t++]===1,m=e[t++]===1,A=e[t++],x=e[t++],C=e[t]===-1?void 0:Wn.unpackPolygonHierarchy(e,t,H);u(C)?(t=C.startingIndex,delete C.startingIndex):t++;let T=e[t++];return u(n)||(n=new Rd(gYe)),n._polygonHierarchy=i,n._ellipsoid=ie.clone(o,n._ellipsoid),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._height=s,n._extrudedHeight=a,n._granularity=c,n._stRotation=l,n._perPositionHeightExtrude=f,n._perPositionHeight=d,n._closeTop=p,n._closeBottom=g,n._shadowVolume=m,n._offsetAttribute=A===-1?void 0:A,n._arcType=x,n._textureCoordinates=C,n.packedLength=T,n};Rd.computeRectangle=function(e,t){let n=y(e.granularity,P.RADIANS_PER_DEGREE),i=y(e.arcType,Kt.GEODESIC),o=e.polygonHierarchy,r=y(e.ellipsoid,ie.WGS84);return Lle(o.positions,r,i,n,t)};Rd.createGeometry=function(e){let t=e._vertexFormat,n=e._ellipsoid,i=e._granularity,o=e._stRotation,r=e._polygonHierarchy,s=e._perPositionHeight,a=e._closeTop,c=e._closeBottom,l=e._arcType,f=e._textureCoordinates,d=u(f),p=r.positions;if(p.length<3)return;let g=ca.fromPoints(p,n),m=Wn.polygonsFromHierarchy(r,d,g.projectPointsOntoPlane.bind(g),!s,n),A=m.hierarchy,x=m.polygons,C=function(v){return v},T=d?Wn.polygonsFromHierarchy(f,!0,C,!1).polygons:void 0;if(A.length===0)return;p=A[0].outerRing;let E=Wn.computeBoundingRectangle(g.plane.normal,g.projectPointOntoPlane.bind(g),p,o,$je),S=[],D=e._height,w=e._extrudedHeight,R=e._perPositionHeightExtrude||!P.equalsEpsilon(D,w,0,P.EPSILON2),O={perPositionHeight:s,vertexFormat:t,geometry:void 0,tangentPlane:g,boundingRectangle:E,ellipsoid:n,stRotation:o,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:l},L;if(R)for(O.extrude=!0,O.top=a,O.bottom=c,O.shadowVolume=e._shadowVolume,O.offsetAttribute=e._offsetAttribute,L=0;L<x.length;L++){let v=mYe(n,x[L],d?T[L]:void 0,i,A[L],s,a,c,t,l),I;a&&c?(I=v.topAndBottom,O.geometry=Wn.scaleToGeodeticHeightExtruded(I.geometry,D,w,n,s)):a?(I=v.topAndBottom,I.geometry.attributes.position.values=li.scaleToGeodeticHeight(I.geometry.attributes.position.values,D,n,!s),O.geometry=I.geometry):c&&(I=v.topAndBottom,I.geometry.attributes.position.values=li.scaleToGeodeticHeight(I.geometry.attributes.position.values,w,n,!0),O.geometry=I.geometry),(a||c)&&(O.wall=!1,I.geometry=aW(O),S.push(I));let B=v.walls;O.wall=!0;for(let F=0;F<B.length;F++){let k=B[F];O.geometry=Wn.scaleToGeodeticHeightExtruded(k.geometry,D,w,n,s),k.geometry=aW(O),S.push(k)}}else for(L=0;L<x.length;L++){let v=new At({geometry:Wn.createGeometryFromPositions(n,x[L],d?T[L]:void 0,i,s,t,l)});if(v.geometry.attributes.position.values=li.scaleToGeodeticHeight(v.geometry.attributes.position.values,D,n,!s),O.geometry=v.geometry,v.geometry=aW(O),u(e._offsetAttribute)){let I=v.geometry.attributes.position.values.length,B=e._offsetAttribute===nn.NONE?0:1,F=new Uint8Array(I/3).fill(B);v.geometry.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:F})}S.push(v)}let N=Ln.combineInstances(S)[0];N.attributes.position.values=new Float64Array(N.attributes.position.values),N.indices=Fe.createTypedArray(N.attributes.position.values.length/3,N.indices);let _=N.attributes,b=se.fromVertices(_.position.values);return t.position||delete _.position,new ct({attributes:_,indices:N.indices,primitiveType:N.primitiveType,boundingSphere:b,offsetAttribute:e._offsetAttribute})};Rd.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Rd({polygonHierarchy:e._polygonHierarchy,ellipsoid:o,stRotation:e._stRotation,granularity:i,perPositionHeight:!1,extrudedHeight:r,height:s,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0,arcType:e._arcType})};function yYe(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let n=e._ellipsoid,i=e._polygonHierarchy.positions,o=e.rectangle;return ct._textureCoordinateRotationPoints(i,t,n,o)}Object.defineProperties(Rd.prototype,{rectangle:{get:function(){if(!u(this._rectangle)){let e=this._polygonHierarchy.positions;this._rectangle=Lle(e,this._ellipsoid,this._arcType,this._granularity)}return this._rectangle}},textureCoordinateRotationPoints:{get:function(){return u(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=yYe(this)),this._textureCoordinateRotationPoints}}});var px=Rd;var Nle=[],$U=[];function AYe(e,t,n,i,o){let s=ca.fromPoints(t,e).projectPointsOntoPlane(t,Nle);li.computeWindingOrder2D(s)===Zr.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,l,f=t.length,d=0;if(i)for(c=new Float64Array(f*2*3),l=0;l<f;l++){let m=t[l],A=t[(l+1)%f];c[d++]=m.x,c[d++]=m.y,c[d++]=m.z,c[d++]=A.x,c[d++]=A.y,c[d++]=A.z}else{let m=0;if(o===Kt.GEODESIC)for(l=0;l<f;l++)m+=Wn.subdivideLineCount(t[l],t[(l+1)%f],n);else if(o===Kt.RHUMB)for(l=0;l<f;l++)m+=Wn.subdivideRhumbLineCount(e,t[l],t[(l+1)%f],n);for(c=new Float64Array(m*3),l=0;l<f;l++){let A;o===Kt.GEODESIC?A=Wn.subdivideLine(t[l],t[(l+1)%f],n,$U):o===Kt.RHUMB&&(A=Wn.subdivideRhumbLine(e,t[l],t[(l+1)%f],n,$U));let x=A.length;for(let C=0;C<x;++C)c[d++]=A[C]}}f=c.length/3;let p=f*2,g=Fe.createTypedArray(f,p);for(d=0,l=0;l<f-1;l++)g[d++]=l,g[d++]=l+1;return g[d++]=f-1,g[d++]=0,new At({geometry:new ct({attributes:new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:c})}),indices:g,primitiveType:Me.LINES})})}function xYe(e,t,n,i,o){let s=ca.fromPoints(t,e).projectPointsOntoPlane(t,Nle);li.computeWindingOrder2D(s)===Zr.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,l,f=t.length,d=new Array(f),p=0;if(i)for(c=new Float64Array(f*2*3*2),l=0;l<f;++l){d[l]=p/3;let x=t[l],C=t[(l+1)%f];c[p++]=x.x,c[p++]=x.y,c[p++]=x.z,c[p++]=C.x,c[p++]=C.y,c[p++]=C.z}else{let x=0;if(o===Kt.GEODESIC)for(l=0;l<f;l++)x+=Wn.subdivideLineCount(t[l],t[(l+1)%f],n);else if(o===Kt.RHUMB)for(l=0;l<f;l++)x+=Wn.subdivideRhumbLineCount(e,t[l],t[(l+1)%f],n);for(c=new Float64Array(x*3*2),l=0;l<f;++l){d[l]=p/3;let C;o===Kt.GEODESIC?C=Wn.subdivideLine(t[l],t[(l+1)%f],n,$U):o===Kt.RHUMB&&(C=Wn.subdivideRhumbLine(e,t[l],t[(l+1)%f],n,$U));let T=C.length;for(let E=0;E<T;++E)c[p++]=C[E]}}f=c.length/(3*2);let g=d.length,m=(f*2+g)*2,A=Fe.createTypedArray(f+g,m);for(p=0,l=0;l<f;++l)A[p++]=l,A[p++]=(l+1)%f,A[p++]=l+f,A[p++]=(l+1)%f+f;for(l=0;l<g;l++){let x=d[l];A[p++]=x,A[p++]=x+f}return new At({geometry:new ct({attributes:new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:c})}),indices:A,primitiveType:Me.LINES})})}function _x(e){let t=e.polygonHierarchy,n=y(e.ellipsoid,ie.WGS84),i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.perPositionHeight,!1),r=o&&u(e.extrudedHeight),s=y(e.arcType,Kt.GEODESIC),a=y(e.height,0),c=y(e.extrudedHeight,a);if(!r){let l=Math.max(a,c);c=Math.min(a,c),a=l}this._ellipsoid=ie.clone(n),this._granularity=i,this._height=a,this._extrudedHeight=c,this._arcType=s,this._polygonHierarchy=t,this._perPositionHeight=o,this._perPositionHeightExtrude=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=Wn.computeHierarchyPackedLength(t,h)+ie.packedLength+8}_x.pack=function(e,t,n){return n=y(n,0),n=Wn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._arcType,t[n++]=y(e._offsetAttribute,-1),t[n]=e.packedLength,t};var CYe=ie.clone(ie.UNIT_SPHERE),TYe={polygonHierarchy:{}};_x.unpack=function(e,t,n){t=y(t,0);let i=Wn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ie.unpack(e,t,CYe);t+=ie.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++]===1,l=e[t++]===1,f=e[t++],d=e[t++],p=e[t];return u(n)||(n=new _x(TYe)),n._polygonHierarchy=i,n._ellipsoid=ie.clone(o,n._ellipsoid),n._height=r,n._extrudedHeight=s,n._granularity=a,n._perPositionHeight=l,n._perPositionHeightExtrude=c,n._arcType=f,n._offsetAttribute=d===-1?void 0:d,n.packedLength=p,n};_x.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute};return new _x(t)};_x.createGeometry=function(e){let t=e._ellipsoid,n=e._granularity,i=e._polygonHierarchy,o=e._perPositionHeight,r=e._arcType,s=Wn.polygonOutlinesFromHierarchy(i,!o,t);if(s.length===0)return;let a,c=[],l=P.chordLength(n,t.maximumRadius),f=e._height,d=e._extrudedHeight,p=e._perPositionHeightExtrude||!P.equalsEpsilon(f,d,0,P.EPSILON2),g,m;if(p)for(m=0;m<s.length;m++){if(a=xYe(t,s[m],l,o,r),a.geometry=Wn.scaleToGeodeticHeightExtruded(a.geometry,f,d,t,o),u(e._offsetAttribute)){let C=a.geometry.attributes.position.values.length/3,T=new Uint8Array(C);e._offsetAttribute===nn.TOP?T=T.fill(1,0,C/2):(g=e._offsetAttribute===nn.NONE?0:1,T=T.fill(g)),a.geometry.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:T})}c.push(a)}else for(m=0;m<s.length;m++){if(a=AYe(t,s[m],l,o,r),a.geometry.attributes.position.values=li.scaleToGeodeticHeight(a.geometry.attributes.position.values,f,t,!o),u(e._offsetAttribute)){let C=a.geometry.attributes.position.values.length;g=e._offsetAttribute===nn.NONE?0:1;let T=new Uint8Array(C/3).fill(g);a.geometry.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:T})}c.push(a)}let A=Ln.combineInstances(c)[0],x=se.fromVertices(A.attributes.position.values);return new ct({attributes:A.attributes,indices:A.indices,primitiveType:A.primitiveType,boundingSphere:x,offsetAttribute:e._offsetAttribute})};var DB=_x;var Fle="Entity polygons cannot have both height and perPositionHeight. height will be ignored",Vle="heightReference is not supported for entity polygons with perPositionHeight. heightReference will be ignored",Ule=new z,kle=h.ZERO,zle=new h,Hle=new ce,EYe=[],bYe=new H;function SYe(e){this.id=e,this.vertexFormat=void 0,this.polygonHierarchy=void 0,this.perPositionHeight=void 0,this.closeTop=void 0,this.closeBottom=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.offsetAttribute=void 0,this.arcType=void 0,this.textureCoordinates=void 0}function lu(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new SYe(e),geometryPropertyName:"polygon",observedPropertyNames:["availability","polygon"]}),this._onEntityPropertyChanged(e,"polygon",e.polygon,void 0)}u(Object.create)&&(lu.prototype=Object.create(jn.prototype),lu.prototype.constructor=lu);lu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Mt){let s;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(s=this._materialProperty.color.getValue(e,Ule)),u(s)||(s=z.WHITE),o.color=Nt.fromColor(s)}u(i.offsetAttribute)&&(o.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,kle,zle)));let r;return i.perPositionHeight&&!u(i.extrudedHeight)?r=new SB(i):r=new px(i),new At({id:t,geometry:r,attributes:o})};lu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Ule),r=this._distanceDisplayConditionProperty.getValue(e),s={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(o),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(r),offset:void 0};u(i.offsetAttribute)&&(s.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,kle,zle)));let a;return i.perPositionHeight&&!u(i.extrudedHeight)?a=new cf(i):a=new DB(i),new At({id:t,geometry:a,attributes:s})};lu.prototype._computeCenter=function(e,t){let n=Y.getValueOrUndefined(this._entity.polygon.hierarchy,e);if(!u(n))return;let i=n.positions;if(i.length===0)return;let o=this._scene.mapProjection.ellipsoid,r=ca.fromPoints(i,o),s=r.projectPointsOntoPlane(i,EYe),a=s.length,c=0,l=a-1,f=new H;for(let p=0;p<a;l=p++){let g=s[p],m=s[l],A=g.x*m.y-m.x*g.y,x=H.add(g,m,bYe);x=H.multiplyByScalar(x,A,x),f=H.add(f,x,f),c+=A}let d=1/(c*3);return f=H.multiplyByScalar(f,d,f),r.projectPointOntoEllipsoid(f,t)};lu.prototype._isHidden=function(e,t){return!u(t.hierarchy)||si.prototype._isHidden.call(this,e,t)};lu.prototype._isOnTerrain=function(e,t){let n=jn.prototype._isOnTerrain.call(this,e,t),i=t.perPositionHeight,o=u(i)&&(i.isConstant?i.getValue(ze.MINIMUM_VALUE):!0);return n&&!o};lu.prototype._isDynamic=function(e,t){return!t.hierarchy.isConstant||!Y.isConstant(t.height)||!Y.isConstant(t.extrudedHeight)||!Y.isConstant(t.granularity)||!Y.isConstant(t.stRotation)||!Y.isConstant(t.textureCoordinates)||!Y.isConstant(t.outlineWidth)||!Y.isConstant(t.perPositionHeight)||!Y.isConstant(t.closeTop)||!Y.isConstant(t.closeBottom)||!Y.isConstant(t.zIndex)||!Y.isConstant(t.arcType)||this._onTerrain&&!Y.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Mt)};lu.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Mt,i=this._options;i.vertexFormat=n?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat;let o=t.hierarchy.getValue(ze.MINIMUM_VALUE),r=Y.getValueOrUndefined(t.height,ze.MINIMUM_VALUE),s=Y.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,We.NONE),a=Y.getValueOrUndefined(t.extrudedHeight,ze.MINIMUM_VALUE),c=Y.getValueOrDefault(t.extrudedHeightReference,ze.MINIMUM_VALUE,We.NONE),l=Y.getValueOrDefault(t.perPositionHeight,ze.MINIMUM_VALUE,!1);r=jn.getGeometryHeight(r,s);let f;l?(u(r)&&(r=void 0,wt(Fle)),s!==We.NONE&&l&&(r=void 0,wt(Vle))):(u(a)&&!u(r)&&(r=0),f=jn.computeGeometryOffsetAttribute(r,s,a,c)),i.polygonHierarchy=o,i.granularity=Y.getValueOrUndefined(t.granularity,ze.MINIMUM_VALUE),i.stRotation=Y.getValueOrUndefined(t.stRotation,ze.MINIMUM_VALUE),i.perPositionHeight=l,i.closeTop=Y.getValueOrDefault(t.closeTop,ze.MINIMUM_VALUE,!0),i.closeBottom=Y.getValueOrDefault(t.closeBottom,ze.MINIMUM_VALUE,!0),i.offsetAttribute=f,i.height=r,i.arcType=Y.getValueOrDefault(t.arcType,ze.MINIMUM_VALUE,Kt.GEODESIC),i.textureCoordinates=Y.getValueOrUndefined(t.textureCoordinates,ze.MINIMUM_VALUE),a=jn.getGeometryExtrudedHeight(a,c),a===jn.CLAMP_TO_GROUND&&(a=fi.getMinimumMaximumHeights(px.computeRectangle(i,Hle)).minimumTerrainHeight),i.extrudedHeight=a};lu.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight,i=u(n)&&n!==t;return!e.perPositionHeight&&(!i&&t===0||i&&e.closeTop&&e.closeBottom)};lu.DynamicGeometryUpdater=QE;function QE(e,t,n){ri.call(this,e,t,n)}u(Object.create)&&(QE.prototype=Object.create(ri.prototype),QE.prototype.constructor=QE);QE.prototype._isHidden=function(e,t,n){return!u(this._options.polygonHierarchy)||ri.prototype._isHidden.call(this,e,t,n)};QE.prototype._setOptions=function(e,t,n){let i=this._options;i.polygonHierarchy=Y.getValueOrUndefined(t.hierarchy,n);let o=Y.getValueOrUndefined(t.height,n),r=Y.getValueOrDefault(t.heightReference,n,We.NONE),s=Y.getValueOrDefault(t.extrudedHeightReference,n,We.NONE),a=Y.getValueOrUndefined(t.extrudedHeight,n),c=Y.getValueOrUndefined(t.perPositionHeight,n);o=jn.getGeometryHeight(o,s);let l;c?(u(o)&&(o=void 0,wt(Fle)),r!==We.NONE&&c&&(o=void 0,wt(Vle))):(u(a)&&!u(o)&&(o=0),l=jn.computeGeometryOffsetAttribute(o,r,a,s)),i.granularity=Y.getValueOrUndefined(t.granularity,n),i.stRotation=Y.getValueOrUndefined(t.stRotation,n),i.textureCoordinates=Y.getValueOrUndefined(t.textureCoordinates,n),i.perPositionHeight=Y.getValueOrUndefined(t.perPositionHeight,n),i.closeTop=Y.getValueOrDefault(t.closeTop,n,!0),i.closeBottom=Y.getValueOrDefault(t.closeBottom,n,!0),i.offsetAttribute=l,i.height=o,i.arcType=Y.getValueOrDefault(t.arcType,n,Kt.GEODESIC),a=jn.getGeometryExtrudedHeight(a,s),a===jn.CLAMP_TO_GROUND&&(a=fi.getMinimumMaximumHeights(px.computeRectangle(i,Hle)).minimumTerrainHeight),i.extrudedHeight=a};var vB=lu;function DYe(e,t,n,i){let o=new dn;i.position&&(o.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:e}));let r=t.length,s=e.length/3,a=(s-r*2)/(r*2),c=li.triangulate(t),l=(a-1)*r*6+c.length*2,f=Fe.createTypedArray(s,l),d,p,g,m,A,x,C=r*2,T=0;for(d=0;d<a-1;d++){for(p=0;p<r-1;p++)g=p*2+d*r*2,x=g+C,m=g+1,A=m+C,f[T++]=m,f[T++]=g,f[T++]=A,f[T++]=A,f[T++]=g,f[T++]=x;g=r*2-2+d*r*2,m=g+1,A=m+C,x=g+C,f[T++]=m,f[T++]=g,f[T++]=A,f[T++]=A,f[T++]=g,f[T++]=x}if(i.st||i.tangent||i.bitangent){let D=new Float32Array(s*2),w=1/(a-1),R=1/n.height,O=n.height/2,L,N,_=0;for(d=0;d<a;d++){for(L=d*w,N=R*(t[0].y+O),D[_++]=L,D[_++]=N,p=1;p<r;p++)N=R*(t[p].y+O),D[_++]=L,D[_++]=N,D[_++]=L,D[_++]=N;N=R*(t[0].y+O),D[_++]=L,D[_++]=N}for(p=0;p<r;p++)L=0,N=R*(t[p].y+O),D[_++]=L,D[_++]=N;for(p=0;p<r;p++)L=(a-1)*w,N=R*(t[p].y+O),D[_++]=L,D[_++]=N;o.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:new Float32Array(D)})}let E=s-r*2;for(d=0;d<c.length;d+=3){let D=c[d]+E,w=c[d+1]+E,R=c[d+2]+E;f[T++]=D,f[T++]=w,f[T++]=R,f[T++]=R+r,f[T++]=w+r,f[T++]=D+r}let S=new ct({attributes:o,indices:f,boundingSphere:se.fromVertices(e),primitiveType:Me.TRIANGLES});if(i.normal&&(S=Ln.computeNormal(S)),i.tangent||i.bitangent){try{S=Ln.computeTangentAndBitangent(S)}catch{wt("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}i.tangent||(S.attributes.tangent=void 0),i.bitangent||(S.attributes.bitangent=void 0),i.st||(S.attributes.st=void 0)}return S}function IB(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ie.clone(y(e.ellipsoid,ie.WGS84)),this._cornerType=y(e.cornerType,vi.ROUNDED),this._vertexFormat=Ie.clone(y(e.vertexFormat,Ie.DEFAULT)),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*H.packedLength,this.packedLength=i+ie.packedLength+Ie.packedLength+2}IB.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=H.packedLength)H.pack(s[i],t,n);return ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var Gle=ie.clone(ie.UNIT_SPHERE),Wle=new Ie,wB={polylinePositions:void 0,shapePositions:void 0,ellipsoid:Gle,vertexFormat:Wle,cornerType:void 0,granularity:void 0};IB.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=H.packedLength)s[i]=H.unpack(e,t);let a=ie.unpack(e,t,Gle);t+=ie.packedLength;let c=Ie.unpack(e,t,Wle);t+=Ie.packedLength;let l=e[t++],f=e[t];return u(n)?(n._positions=r,n._shape=s,n._ellipsoid=ie.clone(a,n._ellipsoid),n._vertexFormat=Ie.clone(c,n._vertexFormat),n._cornerType=l,n._granularity=f,n):(wB.polylinePositions=r,wB.shapePositions=s,wB.cornerType=l,wB.granularity=f,new IB(wB))};var vYe=new Ye;IB.createGeometry=function(e){let t=e._positions,n=go(t,h.equalsEpsilon),i=e._shape;if(i=Ed.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;li.computeWindingOrder2D(i)===Zr.CLOCKWISE&&i.reverse();let o=Ye.fromPoints(i,vYe),r=Ed.computePositions(n,i,o,e,!0);return DYe(r,i,o,e._vertexFormat)};var PB=IB;function wYe(e,t){let n=new dn;n.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:e});let i=t.length,o=n.position.values.length/3,s=e.length/3/i,a=Fe.createTypedArray(o,2*i*(s+1)),c,l,f=0;c=0;let d=c*i;for(l=0;l<i-1;l++)a[f++]=l+d,a[f++]=l+d+1;for(a[f++]=i-1+d,a[f++]=d,c=s-1,d=c*i,l=0;l<i-1;l++)a[f++]=l+d,a[f++]=l+d+1;for(a[f++]=i-1+d,a[f++]=d,c=0;c<s-1;c++){let g=i*c,m=g+i;for(l=0;l<i;l++)a[f++]=l+g,a[f++]=l+m}return new ct({attributes:n,indices:Fe.createTypedArray(o,a),boundingSphere:se.fromVertices(e),primitiveType:Me.LINES})}function RB(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ie.clone(y(e.ellipsoid,ie.WGS84)),this._cornerType=y(e.cornerType,vi.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*H.packedLength,this.packedLength=i+ie.packedLength+2}RB.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=H.packedLength)H.pack(s[i],t,n);return ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var jle=ie.clone(ie.UNIT_SPHERE),OB={polylinePositions:void 0,shapePositions:void 0,ellipsoid:jle,height:void 0,cornerType:void 0,granularity:void 0};RB.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=H.packedLength)s[i]=H.unpack(e,t);let a=ie.unpack(e,t,jle);t+=ie.packedLength;let c=e[t++],l=e[t];return u(n)?(n._positions=r,n._shape=s,n._ellipsoid=ie.clone(a,n._ellipsoid),n._cornerType=c,n._granularity=l,n):(OB.polylinePositions=r,OB.shapePositions=s,OB.cornerType=c,OB.granularity=l,new RB(OB))};var IYe=new Ye;RB.createGeometry=function(e){let t=e._positions,n=go(t,h.equalsEpsilon),i=e._shape;if(i=Ed.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;li.computeWindingOrder2D(i)===Zr.CLOCKWISE&&i.reverse();let o=Ye.fromPoints(i,IYe),r=Ed.computePositions(n,i,o,e,!1);return wYe(r,i)};var BB=RB;var Yle=new z;function PYe(e){this.id=e,this.vertexFormat=void 0,this.polylinePositions=void 0,this.shapePositions=void 0,this.cornerType=void 0,this.granularity=void 0}function Kh(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new PYe(e),geometryPropertyName:"polylineVolume",observedPropertyNames:["availability","polylineVolume"]}),this._onEntityPropertyChanged(e,"polylineVolume",e.polylineVolume,void 0)}u(Object.create)&&(Kh.prototype=Object.create(si.prototype),Kh.prototype.constructor=Kh);Kh.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Vn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Mt){let c;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,Yle)),u(c)||(c=z.WHITE),o=Nt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new At({id:t,geometry:new PB(this._options),attributes:i})};Kh.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Yle),o=this._distanceDisplayConditionProperty.getValue(e);return new At({id:t,geometry:new BB(this._options),attributes:{show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o)}})};Kh.prototype._isHidden=function(e,t){return!u(t.positions)||!u(t.shape)||si.prototype._isHidden.call(this,e,t)};Kh.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!t.shape.isConstant||!Y.isConstant(t.granularity)||!Y.isConstant(t.outlineWidth)||!Y.isConstant(t.cornerType)};Kh.prototype._setStaticOptions=function(e,t){let n=t.granularity,i=t.cornerType,o=this._options,r=this._materialProperty instanceof Mt;o.vertexFormat=r?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat,o.polylinePositions=t.positions.getValue(ze.MINIMUM_VALUE,o.polylinePositions),o.shapePositions=t.shape.getValue(ze.MINIMUM_VALUE,o.shape),o.granularity=u(n)?n.getValue(ze.MINIMUM_VALUE):void 0,o.cornerType=u(i)?i.getValue(ze.MINIMUM_VALUE):void 0};Kh.DynamicGeometryUpdater=$E;function $E(e,t,n){ri.call(this,e,t,n)}u(Object.create)&&($E.prototype=Object.create(ri.prototype),$E.prototype.constructor=$E);$E.prototype._isHidden=function(e,t,n){let i=this._options;return!u(i.polylinePositions)||!u(i.shapePositions)||ri.prototype._isHidden.call(this,e,t,n)};$E.prototype._setOptions=function(e,t,n){let i=this._options;i.polylinePositions=Y.getValueOrUndefined(t.positions,n,i.polylinePositions),i.shapePositions=Y.getValueOrUndefined(t.shape,n),i.granularity=Y.getValueOrUndefined(t.granularity,n),i.cornerType=Y.getValueOrUndefined(t.cornerType,n)};var MB=Kh;var cW=new h,Kle=new h,Zle=new h,Jle=new h,Qle=new ce,OYe=new H,RYe=new se,BYe=new se;function $le(e,t){let n=new ct({attributes:new dn,primitiveType:Me.TRIANGLES});return n.attributes.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:t.positions}),e.normal&&(n.attributes.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(n.attributes.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.bitangent&&(n.attributes.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:t.bitangents})),n}function MYe(e,t,n,i){let o=e.length,r=t.normal?new Float32Array(o):void 0,s=t.tangent?new Float32Array(o):void 0,a=t.bitangent?new Float32Array(o):void 0,c=0,l=Jle,f=Zle,d=Kle;if(t.normal||t.tangent||t.bitangent)for(let p=0;p<o;p+=3){let g=h.fromArray(e,p,cW),m=c+1,A=c+2;d=n.geodeticSurfaceNormal(g,d),(t.tangent||t.bitangent)&&(h.cross(h.UNIT_Z,d,f),Z.multiplyByVector(i,f,f),h.normalize(f,f),t.bitangent&&h.normalize(h.cross(d,f,l),l)),t.normal&&(r[c]=d.x,r[m]=d.y,r[A]=d.z),t.tangent&&(s[c]=f.x,s[m]=f.y,s[A]=f.z),t.bitangent&&(a[c]=l.x,a[m]=l.y,a[A]=l.z),c+=3}return $le(t,{positions:e,normals:r,tangents:s,bitangents:a})}var lW=new h,eue=new h;function LYe(e,t,n){let i=e.length,o=t.normal?new Float32Array(i):void 0,r=t.tangent?new Float32Array(i):void 0,s=t.bitangent?new Float32Array(i):void 0,a=0,c=0,l=0,f=!0,d=Jle,p=Zle,g=Kle;if(t.normal||t.tangent||t.bitangent)for(let m=0;m<i;m+=6){let A=h.fromArray(e,m,cW),x=h.fromArray(e,(m+6)%i,lW);if(f){let C=h.fromArray(e,(m+3)%i,eue);h.subtract(x,A,x),h.subtract(C,A,C),g=h.normalize(h.cross(C,x,g),g),f=!1}h.equalsEpsilon(x,A,P.EPSILON10)&&(f=!0),(t.tangent||t.bitangent)&&(d=n.geodeticSurfaceNormal(A,d),t.tangent&&(p=h.normalize(h.cross(d,g,p),p))),t.normal&&(o[a++]=g.x,o[a++]=g.y,o[a++]=g.z,o[a++]=g.x,o[a++]=g.y,o[a++]=g.z),t.tangent&&(r[c++]=p.x,r[c++]=p.y,r[c++]=p.z,r[c++]=p.x,r[c++]=p.y,r[c++]=p.z),t.bitangent&&(s[l++]=d.x,s[l++]=d.y,s[l++]=d.z,s[l++]=d.x,s[l++]=d.y,s[l++]=d.z)}return $le(t,{positions:e,normals:o,tangents:r,bitangents:s})}function tue(e,t){let n=e._vertexFormat,i=e._ellipsoid,o=t.height,r=t.width,s=t.northCap,a=t.southCap,c=0,l=o,f=o,d=0;s&&(c=1,f-=1,d+=1),a&&(l-=1,f-=1,d+=1),d+=r*f;let p=n.position?new Float64Array(d*3):void 0,g=n.st?new Float32Array(d*2):void 0,m=0,A=0,x=cW,C=OYe,T=Number.MAX_VALUE,E=Number.MAX_VALUE,S=-Number.MAX_VALUE,D=-Number.MAX_VALUE;for(let b=c;b<l;++b)for(let v=0;v<r;++v)ls.computePosition(t,i,n.st,b,v,x,C),p[m++]=x.x,p[m++]=x.y,p[m++]=x.z,n.st&&(g[A++]=C.x,g[A++]=C.y,T=Math.min(T,C.x),E=Math.min(E,C.y),S=Math.max(S,C.x),D=Math.max(D,C.y));if(s&&(ls.computePosition(t,i,n.st,0,0,x,C),p[m++]=x.x,p[m++]=x.y,p[m++]=x.z,n.st&&(g[A++]=C.x,g[A++]=C.y,T=C.x,E=C.y,S=C.x,D=C.y)),a&&(ls.computePosition(t,i,n.st,o-1,0,x,C),p[m++]=x.x,p[m++]=x.y,p[m]=x.z,n.st&&(g[A++]=C.x,g[A]=C.y,T=Math.min(T,C.x),E=Math.min(E,C.y),S=Math.max(S,C.x),D=Math.max(D,C.y))),n.st&&(T<0||E<0||S>1||D>1))for(let b=0;b<g.length;b+=2)g[b]=(g[b]-T)/(S-T),g[b+1]=(g[b+1]-E)/(D-E);let w=MYe(p,n,i,t.tangentRotationMatrix),R=6*(r-1)*(f-1);s&&(R+=3*(r-1)),a&&(R+=3*(r-1));let O=Fe.createTypedArray(d,R),L=0,N=0,_;for(_=0;_<f-1;++_){for(let b=0;b<r-1;++b){let v=L,I=v+r,B=I+1,F=v+1;O[N++]=v,O[N++]=I,O[N++]=F,O[N++]=F,O[N++]=I,O[N++]=B,++L}++L}if(s||a){let b=d-1,v=d-1;s&&a&&(b=d-2);let I,B;if(L=0,s)for(_=0;_<r-1;_++)I=L,B=I+1,O[N++]=b,O[N++]=I,O[N++]=B,++L;if(a)for(L=(f-1)*r,_=0;_<r-1;_++)I=L,B=I+1,O[N++]=I,O[N++]=v,O[N++]=B,++L}return w.indices=O,n.st&&(w.attributes.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:g})),w}function eb(e,t,n,i,o){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n+2],e[t++]=o[n],e[t++]=o[n+1],e[t]=o[n+2],e}function tb(e,t,n,i){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n],e[t]=i[n+1],e}var uW=new Ie;function NYe(e,t){let n=e._shadowVolume,i=e._offsetAttribute,o=e._vertexFormat,r=e._extrudedHeight,s=e._surfaceHeight,a=e._ellipsoid,c=t.height,l=t.width,f;if(n){let dt=Ie.clone(o,uW);dt.normal=!0,e._vertexFormat=dt}let d=tue(e,t);n&&(e._vertexFormat=o);let p=li.scaleToGeodeticHeight(d.attributes.position.values,s,a,!1);p=new Float64Array(p);let g=p.length,m=g*2,A=new Float64Array(m);A.set(p);let x=li.scaleToGeodeticHeight(d.attributes.position.values,r,a);A.set(x,g),d.attributes.position.values=A;let C=o.normal?new Float32Array(m):void 0,T=o.tangent?new Float32Array(m):void 0,E=o.bitangent?new Float32Array(m):void 0,S=o.st?new Float32Array(m/3*2):void 0,D,w;if(o.normal){for(w=d.attributes.normal.values,C.set(w),f=0;f<g;f++)w[f]=-w[f];C.set(w,g),d.attributes.normal.values=C}if(n){w=d.attributes.normal.values,o.normal||(d.attributes.normal=void 0);let dt=new Float32Array(m);for(f=0;f<g;f++)w[f]=-w[f];dt.set(w,g),d.attributes.extrudeDirection=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:dt})}let R,O=u(i);if(O){let dt=g/3*2,Tn=new Uint8Array(dt);i===nn.TOP?Tn=Tn.fill(1,0,dt/2):(R=i===nn.NONE?0:1,Tn=Tn.fill(R)),d.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:Tn})}if(o.tangent){let dt=d.attributes.tangent.values;for(T.set(dt),f=0;f<g;f++)dt[f]=-dt[f];T.set(dt,g),d.attributes.tangent.values=T}if(o.bitangent){let dt=d.attributes.bitangent.values;E.set(dt),E.set(dt,g),d.attributes.bitangent.values=E}o.st&&(D=d.attributes.st.values,S.set(D),S.set(D,g/3*2),d.attributes.st.values=S);let L=d.indices,N=L.length,_=g/3,b=Fe.createTypedArray(m/3,N*2);for(b.set(L),f=0;f<N;f+=3)b[f+N]=L[f+2]+_,b[f+1+N]=L[f+1]+_,b[f+2+N]=L[f]+_;d.indices=b;let v=t.northCap,I=t.southCap,B=c,F=2,k=0,U=4,G=4;v&&(F-=1,B-=1,k+=1,U-=2,G-=1),I&&(F-=1,B-=1,k+=1,U-=2,G-=1),k+=F*l+2*B-U;let V=(k+G)*2,X=new Float64Array(V*3),j=n?new Float32Array(V*3):void 0,Q=O?new Uint8Array(V):void 0,W=o.st?new Float32Array(V*2):void 0,K=i===nn.TOP;O&&!K&&(R=i===nn.ALL?1:0,Q=Q.fill(R));let J=0,_e=0,xe=0,re=0,ye=l*B,fe;for(f=0;f<ye;f+=l)fe=f*3,X=eb(X,J,fe,p,x),J+=6,o.st&&(W=tb(W,_e,f*2,D),_e+=4),n&&(xe+=3,j[xe++]=w[fe],j[xe++]=w[fe+1],j[xe++]=w[fe+2]),K&&(Q[re++]=1,re+=1);if(I){let dt=v?ye+1:ye;for(fe=dt*3,f=0;f<2;f++)X=eb(X,J,fe,p,x),J+=6,o.st&&(W=tb(W,_e,dt*2,D),_e+=4),n&&(xe+=3,j[xe++]=w[fe],j[xe++]=w[fe+1],j[xe++]=w[fe+2]),K&&(Q[re++]=1,re+=1)}else for(f=ye-l;f<ye;f++)fe=f*3,X=eb(X,J,fe,p,x),J+=6,o.st&&(W=tb(W,_e,f*2,D),_e+=4),n&&(xe+=3,j[xe++]=w[fe],j[xe++]=w[fe+1],j[xe++]=w[fe+2]),K&&(Q[re++]=1,re+=1);for(f=ye-1;f>0;f-=l)fe=f*3,X=eb(X,J,fe,p,x),J+=6,o.st&&(W=tb(W,_e,f*2,D),_e+=4),n&&(xe+=3,j[xe++]=w[fe],j[xe++]=w[fe+1],j[xe++]=w[fe+2]),K&&(Q[re++]=1,re+=1);if(v){let dt=ye;for(fe=dt*3,f=0;f<2;f++)X=eb(X,J,fe,p,x),J+=6,o.st&&(W=tb(W,_e,dt*2,D),_e+=4),n&&(xe+=3,j[xe++]=w[fe],j[xe++]=w[fe+1],j[xe++]=w[fe+2]),K&&(Q[re++]=1,re+=1)}else for(f=l-1;f>=0;f--)fe=f*3,X=eb(X,J,fe,p,x),J+=6,o.st&&(W=tb(W,_e,f*2,D),_e+=4),n&&(xe+=3,j[xe++]=w[fe],j[xe++]=w[fe+1],j[xe++]=w[fe+2]),K&&(Q[re++]=1,re+=1);let Se=LYe(X,o,a);o.st&&(Se.attributes.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:W})),n&&(Se.attributes.extrudeDirection=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:j})),O&&(Se.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:Q}));let we=Fe.createTypedArray(V,k*6),Ve,qe,mt,Ht;g=X.length/3;let fn=0;for(f=0;f<g-1;f+=2){Ve=f,Ht=(Ve+2)%g;let dt=h.fromArray(X,Ve*3,lW),Tn=h.fromArray(X,Ht*3,eue);h.equalsEpsilon(dt,Tn,P.EPSILON10)||(qe=(Ve+1)%g,mt=(qe+2)%g,we[fn++]=Ve,we[fn++]=qe,we[fn++]=Ht,we[fn++]=Ht,we[fn++]=qe,we[fn++]=mt)}return Se.indices=we,Se=Ln.combineInstances([new At({geometry:d}),new At({geometry:Se})]),Se[0]}var FYe=[new h,new h,new h,new h],nue=new he,VYe=new he;function fW(e,t,n,i,o){if(n===0)return ce.clone(e,o);let r=ls.computeOptions(e,t,n,0,Qle,nue),s=r.height,a=r.width,c=FYe;return ls.computePosition(r,i,!1,0,0,c[0]),ls.computePosition(r,i,!1,0,a-1,c[1]),ls.computePosition(r,i,!1,s-1,0,c[2]),ls.computePosition(r,i,!1,s-1,a-1,c[3]),ce.fromCartesianArray(c,i,o)}function Zh(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.height,0),i=y(e.extrudedHeight,n);this._rectangle=ce.clone(t),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ie.clone(y(e.ellipsoid,ie.WGS84)),this._surfaceHeight=Math.max(n,i),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._vertexFormat=Ie.clone(y(e.vertexFormat,Ie.DEFAULT)),this._extrudedHeight=Math.min(n,i),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=e.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}Zh.packedLength=ce.packedLength+ie.packedLength+Ie.packedLength+7;Zh.pack=function(e,t,n){return n=y(n,0),ce.pack(e._rectangle,t,n),n+=ce.packedLength,ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var iue=new ce,oue=ie.clone(ie.UNIT_SPHERE),uy={rectangle:iue,ellipsoid:oue,vertexFormat:uW,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};Zh.unpack=function(e,t,n){t=y(t,0);let i=ce.unpack(e,t,iue);t+=ce.packedLength;let o=ie.unpack(e,t,oue);t+=ie.packedLength;let r=Ie.unpack(e,t,uW);t+=Ie.packedLength;let s=e[t++],a=e[t++],c=e[t++],l=e[t++],f=e[t++],d=e[t++]===1,p=e[t];return u(n)?(n._rectangle=ce.clone(i,n._rectangle),n._ellipsoid=ie.clone(o,n._ellipsoid),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._granularity=s,n._surfaceHeight=a,n._rotation=c,n._stRotation=l,n._extrudedHeight=f,n._shadowVolume=d,n._offsetAttribute=p===-1?void 0:p,n):(uy.granularity=s,uy.height=a,uy.rotation=c,uy.stRotation=l,uy.extrudedHeight=f,uy.shadowVolume=d,uy.offsetAttribute=p===-1?void 0:p,new Zh(uy))};Zh.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.rectangle,i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.ellipsoid,ie.WGS84),r=y(e.rotation,0);return fW(n,i,r,o,t)};var UYe=new Z,qle=new Le,kYe=new he;Zh.createGeometry=function(e){if(P.equalsEpsilon(e._rectangle.north,e._rectangle.south,P.EPSILON10)||P.equalsEpsilon(e._rectangle.east,e._rectangle.west,P.EPSILON10))return;let t=e._rectangle,n=e._ellipsoid,i=e._rotation,o=e._stRotation,r=e._vertexFormat,s=ls.computeOptions(t,e._granularity,i,o,Qle,nue,VYe),a=UYe;if(o!==0||i!==0){let g=ce.center(t,kYe),m=n.geodeticSurfaceNormalCartographic(g,lW);Le.fromAxisAngle(m,-o,qle),Z.fromQuaternion(qle,a)}else Z.clone(Z.IDENTITY,a);let c=e._surfaceHeight,l=e._extrudedHeight,f=!P.equalsEpsilon(c,l,0,P.EPSILON2);s.lonScalar=1/e._rectangle.width,s.latScalar=1/e._rectangle.height,s.tangentRotationMatrix=a;let d,p;if(t=e._rectangle,f){d=NYe(e,s);let g=se.fromRectangle3D(t,n,c,BYe),m=se.fromRectangle3D(t,n,l,RYe);p=se.union(g,m)}else{if(d=tue(e,s),d.attributes.position.values=li.scaleToGeodeticHeight(d.attributes.position.values,c,n,!1),u(e._offsetAttribute)){let g=d.attributes.position.values.length,m=e._offsetAttribute===nn.NONE?0:1,A=new Uint8Array(g/3).fill(m);d.attributes.applyOffset=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:1,values:A})}p=se.fromRectangle3D(t,n,c)}return r.position||delete d.attributes.position,new ct({attributes:d.attributes,indices:d.indices,primitiveType:d.primitiveType,boundingSphere:p,offsetAttribute:e._offsetAttribute})};Zh.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Zh({rectangle:e._rectangle,rotation:e._rotation,ellipsoid:o,stRotation:e._stRotation,granularity:i,extrudedHeight:s,height:r,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0})};var Xle=new ce,zYe=[new H,new H,new H],HYe=new Ji,GYe=new he;function WYe(e){if(e._stRotation===0)return[0,0,0,1,1,0];let t=ce.clone(e._rectangle,Xle),n=e._granularity,i=e._ellipsoid,o=e._rotation-e._stRotation,r=fW(t,n,o,i,Xle),s=zYe;s[0].x=r.west,s[0].y=r.south,s[1].x=r.west,s[1].y=r.north,s[2].x=r.east,s[2].y=r.south;let a=e.rectangle,c=Ji.fromRotation(e._stRotation,HYe),l=ce.center(a,GYe);for(let m=0;m<3;++m){let A=s[m];A.x-=l.longitude,A.y-=l.latitude,Ji.multiplyByVector(c,A,A),A.x+=l.longitude,A.y+=l.latitude,A.x=(A.x-a.west)/a.width,A.y=(A.y-a.south)/a.height}let f=s[0],d=s[1],p=s[2],g=new Array(6);return H.pack(f,g),H.pack(d,g,2),H.pack(p,g,4),g}Object.defineProperties(Zh.prototype,{rectangle:{get:function(){return u(this._rotatedRectangle)||(this._rotatedRectangle=fW(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return u(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=WYe(this)),this._textureCoordinateRotationPoints}}});var gx=Zh;var rue=new z,sue=h.ZERO,aue=new h,cue=new ce,jYe=new ce,YYe=new he;function qYe(e){this.id=e,this.vertexFormat=void 0,this.rectangle=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.rotation=void 0,this.offsetAttribute=void 0}function Bd(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new qYe(e),geometryPropertyName:"rectangle",observedPropertyNames:["availability","rectangle"]}),this._onEntityPropertyChanged(e,"rectangle",e.rectangle,void 0)}u(Object.create)&&(Bd.prototype=Object.create(jn.prototype),Bd.prototype.constructor=Bd);Bd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Mt){let o;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,rue)),u(o)||(o=z.WHITE),i.color=Nt.fromColor(o)}return u(this._options.offsetAttribute)&&(i.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,sue,aue))),new At({id:t,geometry:new gx(this._options),attributes:i})};Bd.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,rue),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o),offset:void 0};return u(this._options.offsetAttribute)&&(r.offset=Wi.fromCartesian3(Y.getValueOrDefault(this._terrainOffsetProperty,e,sue,aue))),new At({id:t,geometry:new HA(this._options),attributes:r})};Bd.prototype._computeCenter=function(e,t){let n=Y.getValueOrUndefined(this._entity.rectangle.coordinates,e,jYe);if(!u(n))return;let i=ce.center(n,YYe);return he.toCartesian(i,ie.WGS84,t)};Bd.prototype._isHidden=function(e,t){return!u(t.coordinates)||si.prototype._isHidden.call(this,e,t)};Bd.prototype._isDynamic=function(e,t){return!t.coordinates.isConstant||!Y.isConstant(t.height)||!Y.isConstant(t.extrudedHeight)||!Y.isConstant(t.granularity)||!Y.isConstant(t.stRotation)||!Y.isConstant(t.rotation)||!Y.isConstant(t.outlineWidth)||!Y.isConstant(t.zIndex)||this._onTerrain&&!Y.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Mt)};Bd.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Mt,i=Y.getValueOrUndefined(t.height,ze.MINIMUM_VALUE),o=Y.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,We.NONE),r=Y.getValueOrUndefined(t.extrudedHeight,ze.MINIMUM_VALUE),s=Y.getValueOrDefault(t.extrudedHeightReference,ze.MINIMUM_VALUE,We.NONE);u(r)&&!u(i)&&(i=0);let a=this._options;a.vertexFormat=n?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat,a.rectangle=t.coordinates.getValue(ze.MINIMUM_VALUE,a.rectangle),a.granularity=Y.getValueOrUndefined(t.granularity,ze.MINIMUM_VALUE),a.stRotation=Y.getValueOrUndefined(t.stRotation,ze.MINIMUM_VALUE),a.rotation=Y.getValueOrUndefined(t.rotation,ze.MINIMUM_VALUE),a.offsetAttribute=jn.computeGeometryOffsetAttribute(i,o,r,s),a.height=jn.getGeometryHeight(i,o),r=jn.getGeometryExtrudedHeight(r,s),r===jn.CLAMP_TO_GROUND&&(r=fi.getMinimumMaximumHeights(gx.computeRectangle(a,cue)).minimumTerrainHeight),a.extrudedHeight=r};Bd.DynamicGeometryUpdater=nb;function nb(e,t,n){ri.call(this,e,t,n)}u(Object.create)&&(nb.prototype=Object.create(ri.prototype),nb.prototype.constructor=nb);nb.prototype._isHidden=function(e,t,n){return!u(this._options.rectangle)||ri.prototype._isHidden.call(this,e,t,n)};nb.prototype._setOptions=function(e,t,n){let i=this._options,o=Y.getValueOrUndefined(t.height,n),r=Y.getValueOrDefault(t.heightReference,n,We.NONE),s=Y.getValueOrUndefined(t.extrudedHeight,n),a=Y.getValueOrDefault(t.extrudedHeightReference,n,We.NONE);u(s)&&!u(o)&&(o=0),i.rectangle=Y.getValueOrUndefined(t.coordinates,n,i.rectangle),i.granularity=Y.getValueOrUndefined(t.granularity,n),i.stRotation=Y.getValueOrUndefined(t.stRotation,n),i.rotation=Y.getValueOrUndefined(t.rotation,n),i.offsetAttribute=jn.computeGeometryOffsetAttribute(o,r,s,a),i.height=jn.getGeometryHeight(o,r),s=jn.getGeometryExtrudedHeight(s,a),s===jn.CLAMP_TO_GROUND&&(s=fi.getMinimumMaximumHeights(gx.computeRectangle(i,cue)).minimumTerrainHeight),i.extrudedHeight=s};var LB=Bd;var lue=new z,XYe=new bt,KYe=new bt,ZYe=h.ZERO,JYe=new h;function Md(e,t,n,i,o,r,s){this.translucent=t,this.appearanceType=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.depthFailMaterial=void 0,this.closed=r,this.shadows=s,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new xt,this.updaters=new xt,this.updatersWithAttributes=new xt,this.attributes=new xt,this.subscriptions=new xt,this.showsUpdated=new xt,this.itemsToRemove=[],this.invalidated=!1;let a;u(o)&&(a=o.definitionChanged.addEventListener(Md.prototype.onMaterialChanged,this)),this.removeMaterialSubscription=a}Md.prototype.onMaterialChanged=function(){this.invalidated=!0};Md.prototype.isMaterial=function(e){let t=this.depthFailMaterialProperty,n=e.depthFailMaterialProperty;return n===t?!0:u(t)?t.equals(n):!1};Md.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!Y.isConstant(e.distanceDisplayConditionProperty)||!Y.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};Md.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return u(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};Md.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0){u(i)&&(u(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i);let c;u(this.depthFailAppearanceType)&&(u(this.depthFailMaterialProperty)&&(this.depthFailMaterial=Wo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),c=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),i=new Dn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:c,shadows:this.shadows}),o.add(i),t=!1}else{u(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;u(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(u(i)&&i.ready){i.show=!0,u(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0),u(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Mt)&&(this.depthFailMaterial=Wo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let l=s[r],f=this.geometry.get(l.id),d=this.attributes.get(f.id.id);if(u(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!l.fillMaterialProperty.isConstant||c){let x=l.fillMaterialProperty.color,C=Y.getValueOrDefault(x,e,z.WHITE,lue);z.equals(d._lastColor,C)||(d._lastColor=z.clone(C,d._lastColor),d.color=Nt.toValue(C,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=l))}if(u(this.depthFailAppearanceType)&&l.depthFailMaterialProperty instanceof Mt&&(!l.depthFailMaterialProperty.isConstant||c)){let x=l.depthFailMaterialProperty.color,C=Y.getValueOrDefault(x,e,z.WHITE,lue);z.equals(d._lastDepthFailColor,C)||(d._lastDepthFailColor=z.clone(C,d._lastDepthFailColor),d.depthFailColor=Nt.toValue(C,d.depthFailColor))}let p=l.entity.isShowing&&(l.hasConstantFill||l.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=_n.toValue(p,d.show));let m=l.distanceDisplayConditionProperty;if(!Y.isConstant(m)){let x=Y.getValueOrDefault(m,e,KYe,XYe);bt.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=bt.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(x,d.distanceDisplayCondition))}let A=l.terrainOffsetProperty;if(!Y.isConstant(A)){let x=Y.getValueOrDefault(A,e,ZYe,JYe);h.equals(x,d._lastOffset)||(d._lastOffset=h.clone(x,d._lastOffset),d.offset=Wi.toValue(x,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else u(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};Md.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);u(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=_n.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};Md.prototype.contains=function(e){return this.updaters.contains(e.id)};Md.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return at.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!u(i)||!u(i.boundingSphere)||u(i.show)&&i.show[0]===0?at.FAILED:(i.boundingSphere.clone(t),at.DONE)};Md.prototype.destroy=function(){let e=this.primitive,t=this.primitives;u(e)&&t.remove(e);let n=this.oldPrimitive;u(n)&&t.remove(n),u(this.removeMaterialSubscription)&&this.removeMaterialSubscription()};function ib(e,t,n,i,o){this._solidItems=[],this._translucentItems=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}ib.prototype.add=function(e,t){let n,i,o=t.createFillGeometryInstance(e);o.attributes.color.value[3]===255?(n=this._solidItems,i=!1):(n=this._translucentItems,i=!0);let r=n.length;for(let a=0;a<r;a++){let c=n[a];if(c.isMaterial(t)){c.add(t,o);return}}let s=new Md(this._primitives,i,this._appearanceType,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);s.add(t,o),n.push(s)};function uue(e,t){let n=e.length;for(let i=n-1;i>=0;i--){let o=e[i];if(o.remove(t))return o.updaters.length===0&&(e.splice(i,1),o.destroy()),!0}return!1}ib.prototype.remove=function(e){uue(this._solidItems,e)||uue(this._translucentItems,e)};function fue(e,t,n){let i=!1,o=t.length;for(let r=0;r<o;++r){let s=t[r],a=s.itemsToRemove,c=a.length;if(c>0)for(r=0;r<c;r++){let l=a[r];s.remove(l),e.add(n,l),i=!0}}return i}function ek(e,t,n,i){let o=t.length,r;for(r=o-1;r>=0;r--){let s=t[r];if(s.invalidated){t.splice(r,1);let a=s.updaters.values,c=a.length;for(let l=0;l<c;l++)e.add(n,a[l]);s.destroy()}}for(o=t.length,r=0;r<o;++r)i=t[r].update(n)&&i;return i}ib.prototype.update=function(e){let t=ek(this,this._solidItems,e,!0);t=ek(this,this._translucentItems,e,t)&&t;let n=fue(this,this._solidItems,e),i=fue(this,this._translucentItems,e);return(n||i)&&(t=ek(this,this._solidItems,e,t)&&t,t=ek(this,this._translucentItems,e,t)&&t),t};function due(e,t,n){let i=e.length;for(let o=0;o<i;o++){let r=e[o];if(r.contains(t))return r.getBoundingSphere(t,n)}return at.FAILED}ib.prototype.getBoundingSphere=function(e,t){let n=due(this._solidItems,e,t);return n===at.FAILED?due(this._translucentItems,e,t):n};function hue(e){let t=e.length;for(let n=0;n<t;n++)e[n].destroy();e.length=0}ib.prototype.removeAllPrimitives=function(){hue(this._solidItems),hue(this._translucentItems)};var gf=ib;var QYe=new bt,$Ye=new bt,eqe=h.ZERO,tqe=new h;function Ld(e,t,n,i,o,r,s){this.primitives=e,this.appearanceType=t,this.materialProperty=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.closed=r,this.shadows=s,this.updaters=new xt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new xt,this.material=void 0,this.depthFailMaterial=void 0,this.updatersWithAttributes=new xt,this.attributes=new xt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(Ld.prototype.onMaterialChanged,this),this.subscriptions=new xt,this.showsUpdated=new xt}Ld.prototype.onMaterialChanged=function(){this.invalidated=!0};Ld.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty,i=this.depthFailMaterialProperty,o=e.depthFailMaterialProperty;if(n===t&&o===i)return!0;let r=u(t)&&t.equals(n);return r=(!u(i)&&!u(o)||u(i)&&i.equals(o))&&r,r};Ld.prototype.add=function(e,t){let n=t.id;if(this.updaters.set(n,t),this.geometry.set(n,t.createFillGeometryInstance(e)),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!Y.isConstant(t.distanceDisplayConditionProperty)||!Y.isConstant(t.terrainOffsetProperty))this.updatersWithAttributes.set(n,t);else{let i=this;this.subscriptions.set(n,t.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Ld.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return u(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};var nqe=new z;Ld.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0){u(n)&&(u(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=Wo.getValue(e,this.materialProperty,this.material);let a;u(this.depthFailMaterialProperty)&&(this.depthFailMaterial=Wo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),n=new Dn({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),i.add(n),t=!1}else{u(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;u(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(u(n)&&n.ready){n.show=!0,u(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=Wo.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,u(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Mt)&&(this.depthFailMaterial=Wo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],l=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(u(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),u(this.depthFailAppearanceType)&&this.depthFailMaterialProperty instanceof Mt&&!c.depthFailMaterialProperty.isConstant){let x=c.depthFailMaterialProperty.color,C=Y.getValueOrDefault(x,e,z.WHITE,nqe);z.equals(d._lastDepthFailColor,C)||(d._lastDepthFailColor=z.clone(C,d._lastDepthFailColor),d.depthFailColor=Nt.toValue(C,d.depthFailColor))}let p=l.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=_n.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!Y.isConstant(m)){let x=Y.getValueOrDefault(m,e,$Ye,QYe);bt.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=bt.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(x,d.distanceDisplayCondition))}let A=c.terrainOffsetProperty;if(!Y.isConstant(A)){let x=Y.getValueOrDefault(A,e,eqe,tqe);h.equals(x,d._lastOffset)||(d._lastOffset=h.clone(x,d._lastOffset),d.offset=Wi.toValue(x,d.offset))}}this.updateShows(n)}else u(n)&&!n.ready&&(t=!1);return t};Ld.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);u(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,l=a.show[0]===1;c!==l&&(a.show=_n.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Ld.prototype.contains=function(e){return this.updaters.contains(e.id)};Ld.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return at.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!u(i)||!u(i.boundingSphere)||u(i.show)&&i.show[0]===0?at.FAILED:(i.boundingSphere.clone(t),at.DONE)};Ld.prototype.destroy=function(){let e=this.primitive,t=this.primitives;u(e)&&t.remove(e);let n=this.oldPrimitive;u(n)&&t.remove(n),this.removeMaterialSubscription()};function ob(e,t,n,i,o){this._items=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}ob.prototype.add=function(e,t){let n=this._items,i=n.length;for(let r=0;r<i;r++){let s=n[r];if(s.isMaterial(t)){s.add(e,t);return}}let o=new Ld(this._primitives,this._appearanceType,t.fillMaterialProperty,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);o.add(e,t),n.push(o)};ob.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};ob.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};ob.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return at.FAILED};ob.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var yf=ob;var pue=vo(mue(),1);function tk(){this._tree=new pue.default}function yx(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.id=""}yx.fromRectangleAndId=function(e,t,n){return n.minX=t.west,n.minY=t.south,n.maxX=t.east,n.maxY=t.north,n.id=e,n};tk.prototype.insert=function(e,t){let n=yx.fromRectangleAndId(e,t,new yx);this._tree.insert(n)};function iqe(e,t){return e.id===t.id}var oqe=new yx;tk.prototype.remove=function(e,t){let n=yx.fromRectangleAndId(e,t,oqe);this._tree.remove(n,iqe)};var rqe=new yx;tk.prototype.collides=function(e){let t=yx.fromRectangleAndId("",e,rqe);return this._tree.collides(t)};var Ax=tk;var sqe=new z,aqe=new bt,cqe=new bt;function c_(e,t,n,i){this.primitives=e,this.zIndex=i,this.classificationType=t,this.color=n,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new xt,this.updaters=new xt,this.updatersWithAttributes=new xt,this.attributes=new xt,this.subscriptions=new xt,this.showsUpdated=new xt,this.itemsToRemove=[],this.isDirty=!1,this.rectangleCollisionCheck=new Ax}c_.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};c_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),this.rectangleCollisionCheck.insert(n,t.geometry.rectangle),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!Y.isConstant(e.distanceDisplayConditionProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};c_.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return u(i)&&(i(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};c_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)u(i)&&(u(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Ec({show:!1,asynchronous:!0,geometryInstances:s.slice(),classificationType:this.classificationType}),o.add(i,this.zIndex),t=!1;else{u(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;u(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(u(i)&&i.ready){i.show=!0,u(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let l=s[r],f=this.geometry.get(l.id),d=this.attributes.get(f.id.id);if(u(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!l.fillMaterialProperty.isConstant||c){let A=l.fillMaterialProperty.color,x=Y.getValueOrDefault(A,e,z.WHITE,sqe);z.equals(d._lastColor,x)||(d._lastColor=z.clone(x,d._lastColor),d.color=Nt.toValue(x,d.color))}let p=l.entity.isShowing&&(l.hasConstantFill||l.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=_n.toValue(p,d.show));let m=l.distanceDisplayConditionProperty;if(!Y.isConstant(m)){let A=Y.getValueOrDefault(m,e,cqe,aqe);bt.equals(A,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=bt.clone(A,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(A,d.distanceDisplayCondition))}}this.updateShows(i),this.waitingOnCreate=!1}else u(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};c_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);u(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=_n.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};c_.prototype.contains=function(e){return this.updaters.contains(e.id)};c_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return at.PENDING;let i=n.getBoundingSphere(e.entity);return u(i)?(i.clone(t),at.DONE):at.FAILED};c_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;u(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;u(n)&&(e.remove(n),this.oldPrimitive=void 0)};function rb(e,t){this._batches=[],this._primitives=e,this._classificationType=t}rb.prototype.add=function(e,t){let n=t.createFillGeometryInstance(e),i=this._batches,o=Y.getValueOrDefault(t.zIndex,0),r,s=i.length;for(let a=0;a<s;++a){let c=i[a];if(c.zIndex===o&&!c.overlapping(n.geometry.rectangle)){r=c;break}}return u(r)||(r=new c_(this._primitives,this._classificationType,n.attributes.color.value,o),i.push(r)),r.add(t,n),r};rb.prototype.remove=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;++i)if(t[i].remove(e))return};rb.prototype.update=function(e){let t,n,i=!0,o=this._batches,r=o.length;for(t=0;t<r;++t)i=o[t].update(e)&&i;for(t=0;t<r;++t){let s=o[t],a=s.itemsToRemove,c=a.length;for(let l=0;l<c;l++){n=a[l],s.remove(n);let f=this.add(e,n);s.isDirty=!0,f.isDirty=!0}}for(t=r-1;t>=0;--t){let s=o[t];s.isDirty&&(i=o[t].update(e)&&i,s.isDirty=!1),s.geometry.length===0&&o.splice(t,1)}return i};rb.prototype.getBoundingSphere=function(e,t){let n=this._batches,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return at.FAILED};rb.prototype.removeAllPrimitives=function(){let e=this._batches,t=e.length;for(let n=0;n<t;++n)e[n].removeAllPrimitives()};var sb=rb;var lqe=new bt,uqe=new bt;function Af(e,t,n,i,o,r){this.primitives=e,this.classificationType=t,this.appearanceType=n,this.materialProperty=i,this.updaters=new xt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new xt,this.material=void 0,this.updatersWithAttributes=new xt,this.attributes=new xt,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(Af.prototype.onMaterialChanged,this),this.subscriptions=new xt,this.showsUpdated=new xt,this.usingSphericalTextureCoordinates=o,this.zIndex=r,this.rectangleCollisionCheck=new Ax}Af.prototype.onMaterialChanged=function(){this.invalidated=!0};Af.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};Af.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Mt&&t instanceof Mt?!0:u(t)&&t.equals(n)};Af.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),this.rectangleCollisionCheck.insert(i,n.geometry.rectangle),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!Y.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Af.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return u(i)&&(i(),this.subscriptions.remove(t)),!0}return!1};Af.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)u(n)&&(u(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=Wo.getValue(e,this.materialProperty,this.material),n=new Ec({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),i.add(n,this.zIndex),t=!1;else{u(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;u(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(u(n)&&n.ready){n.show=!0,u(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=Wo.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],l=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);u(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d));let p=l.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=_n.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!Y.isConstant(m)){let A=Y.getValueOrDefault(m,e,uqe,lqe);bt.equals(A,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=bt.clone(A,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(A,d.distanceDisplayCondition))}}this.updateShows(n)}else u(n)&&!n.ready&&(t=!1);return t};Af.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);u(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,l=a.show[0]===1;c!==l&&(a.show=_n.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Af.prototype.contains=function(e){return this.updaters.contains(e.id)};Af.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return at.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!u(i)||!u(i.boundingSphere)||u(i.show)&&i.show[0]===0?at.FAILED:(i.boundingSphere.clone(t),at.DONE)};Af.prototype.destroy=function(){let e=this.primitive,t=this.primitives;u(e)&&t.remove(e);let n=this.oldPrimitive;u(n)&&t.remove(n),this.removeMaterialSubscription()};function ab(e,t,n){this._items=[],this._primitives=e,this._classificationType=t,this._appearanceType=n}ab.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=Gl.shouldUseSphericalCoordinates(o.geometry.rectangle),s=Y.getValueOrDefault(t.zIndex,0);for(let c=0;c<i;++c){let l=n[c];if(l.isMaterial(t)&&l.usingSphericalTextureCoordinates===r&&l.zIndex===s&&!l.overlapping(o.geometry.rectangle)){l.add(e,t,o);return}}let a=new Af(this._primitives,this._classificationType,this._appearanceType,t.fillMaterialProperty,r,s);a.add(e,t,o),n.push(a)};ab.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};ab.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};ab.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return at.FAILED};ab.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var NB=ab;var fqe=new z,dqe=new bt,hqe=new bt,mqe=h.ZERO,pqe=new h;function l_(e,t,n,i){this.translucent=t,this.width=n,this.shadows=i,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new xt,this.updaters=new xt,this.updatersWithAttributes=new xt,this.attributes=new xt,this.itemsToRemove=[],this.subscriptions=new xt,this.showsUpdated=new xt}l_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantOutline||!e.outlineColorProperty.isConstant||!Y.isConstant(e.distanceDisplayConditionProperty)||!Y.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};l_.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return u(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};l_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)u(i)&&(u(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Dn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new on({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),o.add(i),t=!1;else{u(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;u(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(u(i)&&i.ready){i.show=!0,u(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let l=s[r],f=this.geometry.get(l.id),d=this.attributes.get(f.id.id);if(u(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!l.outlineColorProperty.isConstant||c){let x=l.outlineColorProperty,C=Y.getValueOrDefault(x,e,z.WHITE,fqe);z.equals(d._lastColor,C)||(d._lastColor=z.clone(C,d._lastColor),d.color=Nt.toValue(C,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=l))}let p=l.entity.isShowing&&(l.hasConstantOutline||l.isOutlineVisible(e)),g=d.show[0]===1;p!==g&&(d.show=_n.toValue(p,d.show));let m=l.distanceDisplayConditionProperty;if(!Y.isConstant(m)){let x=Y.getValueOrDefault(m,e,hqe,dqe);bt.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=bt.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(x,d.distanceDisplayCondition))}let A=l.terrainOffsetProperty;if(!Y.isConstant(A)){let x=Y.getValueOrDefault(A,e,mqe,pqe);h.equals(x,d._lastOffset)||(d._lastOffset=h.clone(x,d._lastOffset),d.offset=Wi.toValue(x,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else u(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};l_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);u(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=_n.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};l_.prototype.contains=function(e){return this.updaters.contains(e.id)};l_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return at.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!u(i)||!u(i.boundingSphere)||u(i.show)&&i.show[0]===0?at.FAILED:(i.boundingSphere.clone(t),at.DONE)};l_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;u(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;u(n)&&(e.remove(n),this.oldPrimitive=void 0)};function cb(e,t,n){this._primitives=e,this._scene=t,this._shadows=n,this._solidBatches=new xt,this._translucentBatches=new xt}cb.prototype.add=function(e,t){let n=t.createOutlineGeometryInstance(e),i=this._scene.clampLineWidth(t.outlineWidth),o,r;n.attributes.color.value[3]===255?(o=this._solidBatches,r=o.get(i),u(r)||(r=new l_(this._primitives,!1,i,this._shadows),o.set(i,r)),r.add(t,n)):(o=this._translucentBatches,r=o.get(i),u(r)||(r=new l_(this._primitives,!0,i,this._shadows),o.set(i,r)),r.add(t,n))};cb.prototype.remove=function(e){let t,n=this._solidBatches.values,i=n.length;for(t=0;t<i;t++)if(n[t].remove(e))return;let o=this._translucentBatches.values,r=o.length;for(t=0;t<r;t++)if(o[t].remove(e))return};cb.prototype.update=function(e){let t,n,i,o,r=this._solidBatches.values,s=r.length,a=this._translucentBatches.values,c=a.length,l,f=!0,d=!1;do{for(d=!1,n=0;n<s;n++){o=r[n],f=o.update(e),l=o.itemsToRemove;let p=l.length;if(p>0)for(d=!0,t=0;t<p;t++)i=l[t],o.remove(i),this.add(e,i)}for(n=0;n<c;n++){o=a[n],f=o.update(e),l=o.itemsToRemove;let p=l.length;if(p>0)for(d=!0,t=0;t<p;t++)i=l[t],o.remove(i),this.add(e,i)}}while(d);return f};cb.prototype.getBoundingSphere=function(e,t){let n,i=this._solidBatches.values,o=i.length;for(n=0;n<o;n++){let a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}let r=this._translucentBatches.values,s=r.length;for(n=0;n<s;n++){let a=r[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return at.FAILED};cb.prototype.removeAllPrimitives=function(){let e,t=this._solidBatches.values,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._translucentBatches.values,o=i.length;for(e=0;e<o;e++)i[e].removeAllPrimitives()};var lb=cb;var _ue={};function _qe(e,t){return P.equalsEpsilon(e.latitude,t.latitude,P.EPSILON10)&&P.equalsEpsilon(e.longitude,t.longitude,P.EPSILON10)}var gqe=new he,yqe=new he;function Aqe(e,t,n,i){t=go(t,h.equalsEpsilon);let o=t.length;if(o<2)return;let r=u(i),s=u(n),a=new Array(o),c=new Array(o),l=new Array(o),f=t[0];a[0]=f;let d=e.cartesianToCartographic(f,gqe);s&&(d.height=n[0]),c[0]=d.height,r?l[0]=i[0]:l[0]=0;let p=c[0],g=l[0],m=p===g,A=1;for(let x=1;x<o;++x){let C=t[x],T=e.cartesianToCartographic(C,yqe);s&&(T.height=n[x]),m=m&&T.height===0,_qe(d,T)?d.height<T.height&&(c[A-1]=T.height):(a[A]=C,c[A]=T.height,r?l[A]=i[x]:l[A]=0,m=m&&c[A]===l[A],he.clone(T,d),++A)}if(!(m||A<2))return a.length=A,c.length=A,l.length=A,{positions:a,topHeights:c,bottomHeights:l}}var xqe=new Array(2),Cqe=new Array(2),Tqe={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};_ue.computePositions=function(e,t,n,i,o,r){let s=Aqe(e,t,n,i);if(!u(s))return;t=s.positions,n=s.topHeights,i=s.bottomHeights;let a=t.length,c=a-2,l,f,d=P.chordLength(o,e.maximumRadius),p=Tqe;if(p.minDistance=d,p.ellipsoid=e,r){let g=0,m;for(m=0;m<a-1;m++)g+=Di.numberOfPoints(t[m],t[m+1],d)+1;l=new Float64Array(g*3),f=new Float64Array(g*3);let A=xqe,x=Cqe;p.positions=A,p.height=x;let C=0;for(m=0;m<a-1;m++){A[0]=t[m],A[1]=t[m+1],x[0]=n[m],x[1]=n[m+1];let T=Di.generateArc(p);l.set(T,C),x[0]=i[m],x[1]=i[m+1],f.set(Di.generateArc(p),C),C+=T.length}}else p.positions=t,p.height=n,l=new Float64Array(Di.generateArc(p)),p.height=i,f=new Float64Array(Di.generateArc(p));return{bottomPositions:f,topPositions:l,numCorners:c}};var xx=_ue;var mW=new h,nk=new h,Eqe=new h,gue=new h,bqe=new h,Sqe=new h,Dqe=new h;function Cx(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.vertexFormat,Ie.DEFAULT),r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.ellipsoid,ie.WGS84);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._vertexFormat=Ie.clone(o),this._granularity=r,this._ellipsoid=ie.clone(s),this._workerName="createWallGeometry";let a=1+t.length*h.packedLength+2;u(i)&&(a+=i.length),u(n)&&(a+=n.length),this.packedLength=a+ie.packedLength+Ie.packedLength+1}Cx.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=u(s)?s.length:0,t[n++]=r,u(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=u(a)?a.length:0,t[n++]=r,u(a))for(i=0;i<r;++i)t[n++]=a[i];return ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n]=e._granularity,t};var yue=ie.clone(ie.UNIT_SPHERE),Aue=new Ie,FB={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:yue,vertexFormat:Aue,granularity:void 0};Cx.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ie.unpack(e,t,yue);t+=ie.packedLength;let l=Ie.unpack(e,t,Aue);t+=Ie.packedLength;let f=e[t];return u(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ie.clone(c,n._ellipsoid),n._vertexFormat=Ie.clone(l,n._vertexFormat),n._granularity=f,n):(FB.positions=r,FB.minimumHeights=s,FB.maximumHeights=a,FB.granularity=f,new Cx(FB))};Cx.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=u(o),a=u(r);if(s||a){let l=t.length;n=s?new Array(l):void 0,i=a?new Array(l):void 0;for(let f=0;f<l;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid,vertexFormat:e.vertexFormat};return new Cx(c)};Cx.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._vertexFormat,r=e._granularity,s=e._ellipsoid,a=xx.computePositions(s,t,i,n,r,!0);if(!u(a))return;let c=a.bottomPositions,l=a.topPositions,f=a.numCorners,d=l.length,p=d*2,g=o.position?new Float64Array(p):void 0,m=o.normal?new Float32Array(p):void 0,A=o.tangent?new Float32Array(p):void 0,x=o.bitangent?new Float32Array(p):void 0,C=o.st?new Float32Array(p/3*2):void 0,T=0,E=0,S=0,D=0,w=0,R=Dqe,O=Sqe,L=bqe,N=!0;d/=3;let _,b=0,v=1/(d-f-1);for(_=0;_<d;++_){let U=_*3,G=h.fromArray(l,U,mW),V=h.fromArray(c,U,nk);if(o.position&&(g[T++]=V.x,g[T++]=V.y,g[T++]=V.z,g[T++]=G.x,g[T++]=G.y,g[T++]=G.z),o.st&&(C[w++]=b,C[w++]=0,C[w++]=b,C[w++]=1),o.normal||o.tangent||o.bitangent){let X=h.clone(h.ZERO,gue),j=h.subtract(G,s.geodeticSurfaceNormal(G,nk),nk);if(_+1<d&&(X=h.fromArray(l,U+3,gue)),N){let Q=h.subtract(X,G,Eqe),W=h.subtract(j,G,mW);R=h.normalize(h.cross(W,Q,R),R),N=!1}h.equalsEpsilon(G,X,P.EPSILON10)?N=!0:(b+=v,o.tangent&&(O=h.normalize(h.subtract(X,G,O),O)),o.bitangent&&(L=h.normalize(h.cross(R,O,L),L))),o.normal&&(m[E++]=R.x,m[E++]=R.y,m[E++]=R.z,m[E++]=R.x,m[E++]=R.y,m[E++]=R.z),o.tangent&&(A[D++]=O.x,A[D++]=O.y,A[D++]=O.z,A[D++]=O.x,A[D++]=O.y,A[D++]=O.z),o.bitangent&&(x[S++]=L.x,x[S++]=L.y,x[S++]=L.z,x[S++]=L.x,x[S++]=L.y,x[S++]=L.z)}}let I=new dn;o.position&&(I.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:g})),o.normal&&(I.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:m})),o.tangent&&(I.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:A})),o.bitangent&&(I.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:x})),o.st&&(I.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:C}));let B=p/3;p-=6*(f+1);let F=Fe.createTypedArray(B,p),k=0;for(_=0;_<B-2;_+=2){let U=_,G=_+2,V=h.fromArray(g,U*3,mW),X=h.fromArray(g,G*3,nk);if(h.equalsEpsilon(V,X,P.EPSILON10))continue;let j=_+1,Q=_+3;F[k++]=j,F[k++]=U,F[k++]=Q,F[k++]=Q,F[k++]=U,F[k++]=G}return new ct({attributes:I,indices:F,primitiveType:Me.TRIANGLES,boundingSphere:new se.fromVertices(g)})};var VB=Cx;var xue=new h,Cue=new h;function Tx(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.ellipsoid,ie.WGS84);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._granularity=o,this._ellipsoid=ie.clone(r),this._workerName="createWallOutlineGeometry";let s=1+t.length*h.packedLength+2;u(i)&&(s+=i.length),u(n)&&(s+=n.length),this.packedLength=s+ie.packedLength+1}Tx.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=u(s)?s.length:0,t[n++]=r,u(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=u(a)?a.length:0,t[n++]=r,u(a))for(i=0;i<r;++i)t[n++]=a[i];return ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,t[n]=e._granularity,t};var Tue=ie.clone(ie.UNIT_SPHERE),UB={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:Tue,granularity:void 0};Tx.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ie.unpack(e,t,Tue);t+=ie.packedLength;let l=e[t];return u(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ie.clone(c,n._ellipsoid),n._granularity=l,n):(UB.positions=r,UB.minimumHeights=s,UB.maximumHeights=a,UB.granularity=l,new Tx(UB))};Tx.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=u(o),a=u(r);if(s||a){let l=t.length;n=s?new Array(l):void 0,i=a?new Array(l):void 0;for(let f=0;f<l;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid};return new Tx(c)};Tx.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._granularity,r=e._ellipsoid,s=xx.computePositions(r,t,i,n,o,!1);if(!u(s))return;let a=s.bottomPositions,c=s.topPositions,l=c.length,f=l*2,d=new Float64Array(f),p=0;l/=3;let g;for(g=0;g<l;++g){let T=g*3,E=h.fromArray(c,T,xue),S=h.fromArray(a,T,Cue);d[p++]=S.x,d[p++]=S.y,d[p++]=S.z,d[p++]=E.x,d[p++]=E.y,d[p++]=E.z}let m=new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:d})}),A=f/3;f=2*A-4+A;let x=Fe.createTypedArray(A,f),C=0;for(g=0;g<A-2;g+=2){let T=g,E=g+2,S=h.fromArray(d,T*3,xue),D=h.fromArray(d,E*3,Cue);if(h.equalsEpsilon(S,D,P.EPSILON10))continue;let w=g+1,R=g+3;x[C++]=w,x[C++]=T,x[C++]=w,x[C++]=R,x[C++]=T,x[C++]=E}return x[C++]=A-2,x[C++]=A-1,new ct({attributes:m,indices:x,primitiveType:Me.LINES,boundingSphere:new se.fromVertices(d)})};var kB=Tx;var Eue=new z;function vqe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.minimumHeights=void 0,this.maximumHeights=void 0,this.granularity=void 0}function Nd(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new vqe(e),geometryPropertyName:"wall",observedPropertyNames:["availability","wall"]}),this._onEntityPropertyChanged(e,"wall",e.wall,void 0)}u(Object.create)&&(Nd.prototype=Object.create(si.prototype),Nd.prototype.constructor=Nd);Nd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Vn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Mt){let c;u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,Eue)),u(c)||(c=z.WHITE),o=Nt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new At({id:t,geometry:new VB(this._options),attributes:i})};Nd.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=Y.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Eue),o=this._distanceDisplayConditionProperty.getValue(e);return new At({id:t,geometry:new kB(this._options),attributes:{show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Nt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o)}})};Nd.prototype._isHidden=function(e,t){return!u(t.positions)||si.prototype._isHidden.call(this,e,t)};Nd.prototype._getIsClosed=function(e){return!1};Nd.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!Y.isConstant(t.minimumHeights)||!Y.isConstant(t.maximumHeights)||!Y.isConstant(t.outlineWidth)||!Y.isConstant(t.granularity)};Nd.prototype._setStaticOptions=function(e,t){let n=t.minimumHeights,i=t.maximumHeights,o=t.granularity,r=this._materialProperty instanceof Mt,s=this._options;s.vertexFormat=r?on.VERTEX_FORMAT:oo.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(ze.MINIMUM_VALUE,s.positions),s.minimumHeights=u(n)?n.getValue(ze.MINIMUM_VALUE,s.minimumHeights):void 0,s.maximumHeights=u(i)?i.getValue(ze.MINIMUM_VALUE,s.maximumHeights):void 0,s.granularity=u(o)?o.getValue(ze.MINIMUM_VALUE):void 0};Nd.DynamicGeometryUpdater=ub;function ub(e,t,n){ri.call(this,e,t,n)}u(Object.create)&&(ub.prototype=Object.create(ri.prototype),ub.prototype.constructor=ub);ub.prototype._isHidden=function(e,t,n){return!u(this._options.positions)||ri.prototype._isHidden.call(this,e,t,n)};ub.prototype._setOptions=function(e,t,n){let i=this._options;i.positions=Y.getValueOrUndefined(t.positions,n,i.positions),i.minimumHeights=Y.getValueOrUndefined(t.minimumHeights,n,i.minimumHeights),i.maximumHeights=Y.getValueOrUndefined(t.maximumHeights,n,i.maximumHeights),i.granularity=Y.getValueOrUndefined(t.granularity,n)};var zB=Nd;var wqe=[],bue=[hP,rB,ZR,yB,xB,EB,vB,MB,LB,zB];function HB(e,t){this.entity=e,this.scene=t;let n=new Array(bue.length),i=new Ae;function o(s){i.raiseEvent(s)}let r=new wr;for(let s=0;s<n.length;s++){let a=new bue[s](e,t);r.add(a.geometryChanged,o),n[s]=a}this.updaters=n,this.geometryChanged=i,this.eventHelper=r,this._removeEntitySubscription=e.definitionChanged.addEventListener(HB.prototype._onEntityPropertyChanged,this)}HB.prototype._onEntityPropertyChanged=function(e,t,n,i){let o=this.updaters;for(let r=0;r<o.length;r++)o[r]._onEntityPropertyChanged(e,t,n,i)};HB.prototype.forEach=function(e){let t=this.updaters;for(let n=0;n<t.length;n++)e(t[n])};HB.prototype.destroy=function(){this.eventHelper.removeAll();let e=this.updaters;for(let t=0;t<e.length;t++)e[t].destroy();this._removeEntitySubscription(),le(this)};function xf(e,t,n,i){n=y(n,e.primitives),i=y(i,e.groundPrimitives),this._scene=e,this._primitives=n,this._groundPrimitives=i,this._entityCollection=void 0,this._addedObjects=new xt,this._removedObjects=new xt,this._changedObjects=new xt;let o=gn.NUMBER_OF_SHADOW_MODES;this._outlineBatches=new Array(o*2),this._closedColorBatches=new Array(o*2),this._closedMaterialBatches=new Array(o*2),this._openColorBatches=new Array(o*2),this._openMaterialBatches=new Array(o*2);let r=jo.supportsMaterialsforEntitiesOnTerrain(e);this._supportsMaterialsforEntitiesOnTerrain=r;let s;for(s=0;s<o;++s)this._outlineBatches[s]=new lb(n,e,s,!1),this._outlineBatches[o+s]=new lb(n,e,s,!0),this._closedColorBatches[s]=new gf(n,on,void 0,!0,s,!0),this._closedColorBatches[o+s]=new gf(n,on,void 0,!0,s,!1),this._closedMaterialBatches[s]=new yf(n,oo,void 0,!0,s,!0),this._closedMaterialBatches[o+s]=new yf(n,oo,void 0,!0,s,!1),this._openColorBatches[s]=new gf(n,on,void 0,!1,s,!0),this._openColorBatches[o+s]=new gf(n,on,void 0,!1,s,!1),this._openMaterialBatches[s]=new yf(n,oo,void 0,!1,s,!0),this._openMaterialBatches[o+s]=new yf(n,oo,void 0,!1,s,!1);let a=Un.NUMBER_OF_CLASSIFICATION_TYPES,c=new Array(a),l=[];if(r)for(s=0;s<a;++s)l.push(new NB(i,s,oo)),c[s]=new sb(i,s);else for(s=0;s<a;++s)c[s]=new sb(i,s);this._groundColorBatches=c,this._groundMaterialBatches=l,this._dynamicBatch=new fx(n,i),this._batches=this._outlineBatches.concat(this._closedColorBatches,this._closedMaterialBatches,this._openColorBatches,this._openMaterialBatches,this._groundColorBatches,this._groundMaterialBatches,this._dynamicBatch),this._subscriptions=new xt,this._updaterSets=new xt,this._entityCollection=t,t.collectionChanged.addEventListener(xf.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,wqe)}xf.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,l,f,d=this;for(a=s.length-1;a>-1;a--)c=s[a],l=c.id,f=this._updaterSets.get(l),f.entity===c?f.forEach(function(A){d._removeUpdater(A),d._insertUpdaterIntoBatch(e,A)}):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],l=c.id,f=this._updaterSets.get(l),f.forEach(this._removeUpdater.bind(this)),f.destroy(),this._updaterSets.remove(l),this._subscriptions.get(l)(),this._subscriptions.remove(l);for(a=n.length-1;a>-1;a--)c=n[a],l=c.id,f=new HB(c,this._scene),this._updaterSets.set(l,f),f.forEach(function(A){d._insertUpdaterIntoBatch(e,A)}),this._subscriptions.set(l,f.geometryChanged.addEventListener(xf._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let p=!0,g=this._batches,m=g.length;for(a=0;a<m;a++)p=g[a].update(e)&&p;return p};var Iqe=[],Pqe=new se;xf.prototype.getBoundingSphere=function(e,t){let n=Iqe,i=Pqe,o=0,r=at.DONE,s=this._batches,a=s.length,c=e.id,l=this._updaterSets.get(c).updaters;for(let f=0;f<l.length;f++){let d=l[f];for(let p=0;p<a;p++){if(r=s[p].getBoundingSphere(d,i),r===at.PENDING)return at.PENDING;r===at.DONE&&(n[o]=se.clone(i,n[o]),o++)}}return o===0?at.FAILED:(n.length=o,se.fromBoundingSpheres(n,t),at.DONE)};xf.prototype.isDestroyed=function(){return!1};xf.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(xf.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();this._subscriptions.removeAll();let o=this._updaterSets.values;for(n=o.length,e=0;e<n;e++)o[e].destroy();return this._updaterSets.removeAll(),le(this)};xf.prototype._removeUpdater=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;i++)t[i].remove(e)};xf.prototype._insertUpdaterIntoBatch=function(e,t){if(t.isDynamic){this._dynamicBatch.add(e,t);return}let n;(t.outlineEnabled||t.fillEnabled)&&(n=t.shadowsProperty.getValue(e));let i=gn.NUMBER_OF_SHADOW_MODES;if(t.outlineEnabled&&(u(t.terrainOffsetProperty)?this._outlineBatches[i+n].add(e,t):this._outlineBatches[n].add(e,t)),t.fillEnabled)if(t.onTerrain){let o=t.classificationTypeProperty.getValue(e);t.fillMaterialProperty instanceof Mt?this._groundColorBatches[o].add(e,t):this._groundMaterialBatches[o].add(e,t)}else t.isClosed?t.fillMaterialProperty instanceof Mt?u(t.terrainOffsetProperty)?this._closedColorBatches[i+n].add(e,t):this._closedColorBatches[n].add(e,t):u(t.terrainOffsetProperty)?this._closedMaterialBatches[i+n].add(e,t):this._closedMaterialBatches[n].add(e,t):t.fillMaterialProperty instanceof Mt?u(t.terrainOffsetProperty)?this._openColorBatches[i+n].add(e,t):this._openColorBatches[n].add(e,t):u(t.terrainOffsetProperty)?this._openMaterialBatches[i+n].add(e,t):this._openMaterialBatches[n].add(e,t)};xf._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!u(t.get(o))&&!u(n.get(o))&&n.set(o,i)};xf.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var GB=xf;var Oqe=1,Rqe="30px sans-serif",Bqe=No.FILL,Mqe=z.WHITE,Lqe=z.BLACK,Nqe=1,Fqe=!1,Vqe=new z(.165,.165,.165,.8),Uqe=new H(7,5),kqe=H.ZERO,zqe=h.ZERO,Hqe=We.NONE,Gqe=_i.CENTER,Wqe=On.CENTER,jqe=new h,Yqe=new z,qqe=new z,Xqe=new z,Kqe=new H,Zqe=new h,Jqe=new H,Qqe=new Pt,$qe=new Pt,eXe=new Pt,tXe=new bt;function Sue(e){this.entity=e,this.label=void 0,this.index=void 0}function fy(e,t){t.collectionChanged.addEventListener(fy.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new xt,this._onCollectionChanged(t,t.values,[],[])}fy.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._label,c,l=r.label,f=s.isShowing&&s.isAvailable(e)&&Y.getValueOrDefault(a._show,e,!0),d;if(f&&(d=Y.getValueOrUndefined(s._position,e,jqe),c=Y.getValueOrUndefined(a._text,e),f=u(d)&&u(c)),!f){pW(r,s,n);continue}Y.isConstant(s._position)||(n._clusterDirty=!0);let p=!1,g=Y.getValueOrDefault(a._heightReference,e,Hqe);u(l)||(l=n.getLabel(s),l.id=s,r.label=l,p=h.equals(l.position,d)&&l.heightReference===g),l.show=!0,l.position=d,l.text=c,l.scale=Y.getValueOrDefault(a._scale,e,Oqe),l.font=Y.getValueOrDefault(a._font,e,Rqe),l.style=Y.getValueOrDefault(a._style,e,Bqe),l.fillColor=Y.getValueOrDefault(a._fillColor,e,Mqe,Yqe),l.outlineColor=Y.getValueOrDefault(a._outlineColor,e,Lqe,qqe),l.outlineWidth=Y.getValueOrDefault(a._outlineWidth,e,Nqe),l.showBackground=Y.getValueOrDefault(a._showBackground,e,Fqe),l.backgroundColor=Y.getValueOrDefault(a._backgroundColor,e,Vqe,Xqe),l.backgroundPadding=Y.getValueOrDefault(a._backgroundPadding,e,Uqe,Kqe),l.pixelOffset=Y.getValueOrDefault(a._pixelOffset,e,kqe,Jqe),l.eyeOffset=Y.getValueOrDefault(a._eyeOffset,e,zqe,Zqe),l.heightReference=g,l.horizontalOrigin=Y.getValueOrDefault(a._horizontalOrigin,e,Gqe),l.verticalOrigin=Y.getValueOrDefault(a._verticalOrigin,e,Wqe),l.translucencyByDistance=Y.getValueOrUndefined(a._translucencyByDistance,e,Qqe),l.pixelOffsetScaleByDistance=Y.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,$qe),l.scaleByDistance=Y.getValueOrUndefined(a._scaleByDistance,e,eXe),l.distanceDisplayCondition=Y.getValueOrUndefined(a._distanceDisplayCondition,e,tXe),l.disableDepthTestDistance=Y.getValueOrUndefined(a._disableDepthTestDistance,e),p&&l._updateClamping()}return!0};fy.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!u(n)||!u(n.label))return at.FAILED;let i=n.label;return t.center=h.clone(y(i._clampedPosition,i.position),t.center),t.radius=0,at.DONE};fy.prototype.isDestroyed=function(){return!1};fy.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(fy.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeLabel(e[t]);return le(this)};fy.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],u(r._label)&&u(r._position)&&s.set(r.id,new Sue(r));for(o=i.length-1;o>-1;o--)r=i[o],u(r._label)&&u(r._position)?s.contains(r.id)||s.set(r.id,new Sue(r)):(pW(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],pW(s.get(r.id),r,a),s.remove(r.id)};function pW(e,t,n){u(e)&&(e.label=void 0,n.removeLabel(t))}var WB=fy;function nXe(e,t,n){return e.readyPromise.then(function(){return rXe(e,t,n)})}function iXe(e,t){let n=e[0],i=n.terrainProvider.requestTileGeometry(n.x,n.y,n.level);if(!i)return!1;let o=i.then(sXe(n)).catch(aXe(n));return e.shift(),t.push(o),!0}function oXe(e){return new Promise(function(t){setTimeout(t,e)})}function _W(e,t){return e.length?iXe(e,t)?_W(e,t):oXe(100).then(()=>_W(e,t)):Promise.resolve()}function rXe(e,t,n){let i=e.tilingScheme,o,r=[],s={};for(o=0;o<n.length;++o){let c=i.positionToTileXY(n[o],t);if(!u(c))continue;let l=c.toString();if(!s.hasOwnProperty(l)){let f={x:c.x,y:c.y,level:t,tilingScheme:i,terrainProvider:e,positions:[]};s[l]=f,r.push(f)}s[l].positions.push(n[o])}let a=[];return _W(r,a).then(function(){return Promise.all(a).then(function(){return n})})}function Due(e,t,n){let i=t.interpolateHeight(n,e.longitude,e.latitude);return i===void 0?!1:(e.height=i,!0)}function sXe(e){let t=e.positions,n=e.tilingScheme.tileXYToRectangle(e.x,e.y,e.level);return function(i){let o=!1;for(let r=0;r<t.length;++r){let s=t[r];if(!Due(s,i,n)){o=!0;break}}return o?i.createMesh({tilingScheme:e.tilingScheme,x:e.x,y:e.y,level:e.level,throttle:!1}).then(function(){for(let r=0;r<t.length;++r){let s=t[r];Due(s,i,n)}}):Promise.resolve()}}function aXe(e){let t=e.positions;return function(){for(let n=0;n<t.length;++n){let i=t[n];i.height=void 0}}}var jB=nXe;var gW=new H;function vue(e,t){return e.readyPromise.then(function(){let n=[],i=[],o=e.availability,r=[];for(let s=0;s<t.length;++s){let a=t[s],c=o.computeMaximumLevelAtPosition(a);if(i[s]=c,c===0){e.tilingScheme.positionToTileXY(a,1,gW);let f=e.loadTileDataAvailability(gW.x,gW.y,1);u(f)&&r.push(f)}let l=n[c];u(l)||(n[c]=l=[]),l.push(a)}return Promise.all(r).then(function(){return Promise.all(n.map(function(s,a){if(u(s))return jB(e,a,s)}))}).then(function(){let s=[];for(let a=0;a<t.length;++a){let c=t[a];o.computeMaximumLevelAtPosition(c)!==i[a]&&s.push(c)}if(s.length>0)return vue(e,s)}).then(function(){return t})})}var u_=vue;var cXe=1,lXe=0,uXe=!0,fXe=!0,dXe=gn.ENABLED,hXe=We.NONE,mXe=z.RED,pXe=0,_Xe=z.WHITE,gXe=ja.HIGHLIGHT,yXe=.5,AXe=new H(1,1),xXe=new M,CXe=new M,wue=new z;function Jh(e,t){t.collectionChanged.addEventListener(Jh.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new xt,this._onCollectionChanged(t,t.values,[],[])}Jh.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._modelHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._model,c,l=n[s.id],f=s.isShowing&&s.isAvailable(e)&&Y.getValueOrDefault(a._show,e,!0),d;if(f&&(d=s.computeModelMatrix(e,xXe),c=Oe.createIfNeeded(Y.getValueOrUndefined(a._uri,e)),f=u(d)&&u(c)),!f){u(l)&&(l.modelPrimitive.show=!1);continue}let p=u(l)?l.modelPrimitive:void 0;if((!u(p)||c.url!==l.url)&&(u(p)&&(i.removeAndDestroy(p),delete n[s.id]),p=pd.fromGltf({url:c,incrementallyLoadTextures:Y.getValueOrDefault(a._incrementallyLoadTextures,e,uXe),scene:this._scene}),p.id=s,i.add(p),l={modelPrimitive:p,url:c.url,animationsRunning:!1,nodeTransformationsScratch:{},articulationsScratch:{},loadFail:!1,awaitingSampleTerrain:!1,clampedBoundingSphere:void 0,sampleTerrainFailed:!1},n[s.id]=l,EXe(p,s,n)),p.show=!0,p.scale=Y.getValueOrDefault(a._scale,e,cXe),p.minimumPixelSize=Y.getValueOrDefault(a._minimumPixelSize,e,lXe),p.maximumScale=Y.getValueOrUndefined(a._maximumScale,e),p.modelMatrix=M.clone(d,p.modelMatrix),p.shadows=Y.getValueOrDefault(a._shadows,e,dXe),p.heightReference=Y.getValueOrDefault(a._heightReference,e,hXe),p.distanceDisplayCondition=Y.getValueOrUndefined(a._distanceDisplayCondition,e),p.silhouetteColor=Y.getValueOrDefault(a._silhouetteColor,e,mXe,wue),p.silhouetteSize=Y.getValueOrDefault(a._silhouetteSize,e,pXe),p.color=Y.getValueOrDefault(a._color,e,_Xe,wue),p.colorBlendMode=Y.getValueOrDefault(a._colorBlendMode,e,gXe),p.colorBlendAmount=Y.getValueOrDefault(a._colorBlendAmount,e,yXe),p.clippingPlanes=Y.getValueOrUndefined(a._clippingPlanes,e),p.clampAnimations=Y.getValueOrDefault(a._clampAnimations,e,fXe),p.imageBasedLighting.imageBasedLightingFactor=Y.getValueOrDefault(a._imageBasedLightingFactor,e,AXe),p.lightColor=Y.getValueOrUndefined(a._lightColor,e),p.customShader=Y.getValueOrUndefined(a._customShader,e),p.ready){let g=Y.getValueOrDefault(a._runAnimations,e,!0);l.animationsRunning!==g&&(g?p.activeAnimations.addAll({loop:Ga.REPEAT}):p.activeAnimations.removeAll(),l.animationsRunning=g);let m=Y.getValueOrUndefined(a._nodeTransformations,e,l.nodeTransformationsScratch);if(u(m)){let C=Object.keys(m);for(let T=0,E=C.length;T<E;++T){let S=C[T],D=m[S];if(!u(D))continue;let w=p.getNode(S);if(!u(w))continue;let R=M.fromTranslationRotationScale(D,CXe);w.matrix=M.multiply(w.originalMatrix,R,R)}}let A=!1,x=Y.getValueOrUndefined(a._articulations,e,l.articulationsScratch);if(u(x)){let C=Object.keys(x);for(let T=0,E=C.length;T<E;++T){let S=C[T],D=x[S];u(D)&&(A=!0,p.setArticulationStage(S,D))}}A&&p.applyArticulations()}}return!0};Jh.prototype.isDestroyed=function(){return!1};Jh.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Jh.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._modelHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)yW(this,e[i],t,n);return le(this)};Jh._sampleTerrainMostDetailed=u_;var fb=new h,Iue=new he;Jh.prototype.getBoundingSphere=function(e,t){let n=this._modelHash[e.id];if(!u(n)||n.loadFail)return at.FAILED;let i=n.modelPrimitive;if(!u(i)||!i.show)return at.FAILED;if(!i.ready)return at.PENDING;let r=this._scene.globe,s=r.ellipsoid,a=r.terrainProvider;if(i.heightReference!==We.NONE){if(!a.ready)return at.PENDING;let l=i.modelMatrix;fb.x=l[12],fb.y=l[13],fb.z=l[14];let f=s.cartesianToCartographic(fb);if(!u(a.availability)){i.heightReference===We.CLAMP_TO_GROUND&&(f.height=0);let g=s.cartographicToCartesian(f);return se.clone(i.boundingSphere,t),t.center=g,at.DONE}let d=this._modelHash[e.id].clampedBoundingSphere;return this._modelHash[e.id].sampleTerrainFailed?(this._modelHash[e.id].sampleTerrainFailed=!1,at.FAILED):u(d)?(se.clone(d,t),this._modelHash[e.id].clampedBoundingSphere=void 0,at.DONE):(d=new se,this._modelHash[e.id].awaitingSampleTerrain||(he.clone(f,Iue),this._modelHash[e.id].awaitingSampleTerrain=!0,Jh._sampleTerrainMostDetailed(a,[Iue]).then(m=>{this._modelHash[e.id].awaitingSampleTerrain=!1;let A=m[0];i.heightReference===We.RELATIVE_TO_GROUND&&(A.height+=f.height),s.cartographicToCartesian(A,fb),se.clone(i.boundingSphere,d),d.center=fb,this._modelHash[e.id].clampedBoundingSphere=se.clone(d)}).catch(m=>{this._modelHash[e.id].sampleTerrainFailed=!0,this._modelHash[e.id].awaitingSampleTerrain=!1})),at.PENDING)}return se.clone(i.boundingSphere,t),at.DONE};Jh.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._modelHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],u(r._model)&&u(r._position)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],u(r._model)&&u(r._position)?(TXe(r,a),s.set(r.id,r)):(yW(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],yW(this,r,a,c),s.remove(r.id)};function yW(e,t,n,i){let o=n[t.id];u(o)&&(i.removeAndDestroy(o.modelPrimitive),delete n[t.id])}function TXe(e,t){let n=t[e.id];u(n)&&(n.nodeTransformationsScratch={},n.articulationsScratch={})}function EXe(e,t,n){e.readyPromise.catch(function(i){console.error(i),n[t.id].loadFail=!0})}var YB=Jh;function dy(e){this._definitionChanged=new Ae,this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}Object.defineProperties(dy.prototype,{isConstant:{get:function(){return Y.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return u(this._value)?this._value.referenceFrame:to.FIXED}}});dy.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,to.FIXED,t)};dy.prototype.setValue=function(e){this._value!==e&&(this._value=e,u(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),u(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))};dy.prototype.getValueInReferenceFrame=function(e,t,n){if(u(this._value))return n=this._value.getValueInReferenceFrame(e,t,n),u(n)?ie.WGS84.scaleToGeodeticSurface(n,n):void 0};dy.prototype.equals=function(e){return this===e||e instanceof dy&&this._value===e._value};dy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Qh=dy;var bXe=60,SXe=1,Rue=new An,AW=new An,xW=new An;function Pue(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function DXe(e,t,n,i,o,r,s,a,c){let l=a,f;f=e.getValueInReferenceFrame(t,r,c[l]),u(f)&&(c[l++]=f);let d=!u(o)||$.lessThanOrEquals(o,t)||$.greaterThanOrEquals(o,n),p=0,g=i.length,m=i[p],A=n,x=!1,C,T,E;for(;p<g;){if(!d&&$.greaterThanOrEquals(m,o)&&(f=e.getValueInReferenceFrame(o,r,c[l]),u(f)&&(c[l++]=f),d=!0),$.greaterThan(m,t)&&$.lessThan(m,A)&&!m.equals(o)&&(f=e.getValueInReferenceFrame(m,r,c[l]),u(f)&&(c[l++]=f)),p<g-1){if(s>0&&!x){let S=i[p+1],D=$.secondsDifference(S,m);x=D>s,x&&(C=Math.ceil(D/s),T=0,E=D/Math.max(C,2),C=Math.max(C-1,1))}if(x&&T<C){m=$.addSeconds(m,E,new $),T++;continue}}x=!1,p++,m=i[p]}return f=e.getValueInReferenceFrame(n,r,c[l]),u(f)&&(c[l++]=f),l}function vXe(e,t,n,i,o,r,s,a){let c,l=0,f=s,d=t,p=Math.max(r,60),g=!u(i)||$.lessThanOrEquals(i,t)||$.greaterThanOrEquals(i,n);for(;$.lessThan(d,n);)!g&&$.greaterThanOrEquals(d,i)&&(g=!0,c=e.getValueInReferenceFrame(i,o,a[f]),u(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),u(c)&&(a[f]=c,f++),l++,d=$.addSeconds(t,p*l,new $);return c=e.getValueInReferenceFrame(n,o,a[f]),u(c)&&(a[f]=c,f++),f}function wXe(e,t,n,i,o,r,s,a){xW.start=t,xW.stop=n;let c=s,l=e.intervals;for(let f=0;f<l.length;f++){let d=l.get(f);if(!An.intersect(d,xW,Rue).isEmpty){let p=d.start;d.isStartIncluded||(d.isStopIncluded?p=d.stop:p=$.addSeconds(d.start,$.secondsDifference(d.stop,d.start)/2,new $));let g=e.getValueInReferenceFrame(p,o,a[c]);u(g)&&(a[c]=g,c++)}}return c}function IXe(e,t,n,i,o,r,s,a){let c=e.getValueInReferenceFrame(t,o,a[s]);return u(c)&&(a[s++]=c),s}function PXe(e,t,n,i,o,r,s,a){AW.start=t,AW.stop=n;let c=s,l=e.intervals;for(let f=0;f<l.length;f++){let d=l.get(f);if(!An.intersect(d,AW,Rue).isEmpty){let p=d.start,g=d.stop,m=t;$.greaterThan(p,m)&&(m=p);let A=n;$.lessThan(g,A)&&(A=g),c=Bue(d.data,m,A,i,o,r,c,a)}}return c}function Bue(e,t,n,i,o,r,s,a){for(;e instanceof i_;)e=e.resolvedProperty;if(e instanceof Ys){let c=e._property._times;s=DXe(e,t,n,c,i,o,r,s,a)}else e instanceof Ws?s=PXe(e,t,n,i,o,r,s,a):e instanceof o_?s=wXe(e,t,n,i,o,r,s,a):e instanceof Sc||e instanceof Qh&&Y.isConstant(e)?s=IXe(e,t,n,i,o,r,s,a):s=vXe(e,t,n,i,o,r,s,a);return s}function Mue(e,t,n,i,o,r,s){u(s)||(s=[]);let a=Bue(e,t,n,i,o,r,0,s);return s.length=a,s}var Oue=new Z;function qB(e,t){this._unusedIndexes=[],this._polylineCollection=new gd,this._scene=e,this._referenceFrame=t,e.primitives.add(this._polylineCollection)}qB.prototype.update=function(e){if(this._referenceFrame===to.INERTIAL){let t=Ot.computeIcrfToFixedMatrix(e,Oue);u(t)||(t=Ot.computeTemeToPseudoFixedMatrix(e,Oue)),M.fromRotationTranslation(t,h.ZERO,this._polylineCollection.modelMatrix)}};qB.prototype.updateObject=function(e,t){let n=t.entity,i=n._path,o=n._position,r,s,a=i._show,c=t.polyline,l=n.isShowing&&n.isAvailable(e)&&(!u(a)||a.getValue(e));if(l){let d=Y.getValueOrUndefined(i._leadTime,e),p=Y.getValueOrUndefined(i._trailTime,e),g=n._availability,m=u(g),A=u(d),x=u(p);if(l=m||A&&x,l){if(x&&(r=$.addSeconds(e,-p,new $)),A&&(s=$.addSeconds(e,d,new $)),m){let C=g.start,T=g.stop;(!x||$.greaterThan(C,r))&&(r=C),(!A||$.lessThan(T,s))&&(s=T)}l=$.lessThan(r,s)}}if(!l){u(c)&&(this._unusedIndexes.push(t.index),t.polyline=void 0,c.show=!1,t.index=void 0);return}if(!u(c)){let d=this._unusedIndexes;if(d.length>0){let g=d.pop();c=this._polylineCollection.get(g),t.index=g}else t.index=this._polylineCollection.length,c=this._polylineCollection.add();c.id=n,t.polyline=c}let f=Y.getValueOrDefault(i._resolution,e,bXe);c.show=!0,c.positions=Mue(o,r,s,e,this._referenceFrame,f,c.positions.slice()),c.material=Wo.getValue(e,i._material,c.material),c.width=Y.getValueOrDefault(i._width,e,SXe),c.distanceDisplayCondition=Y.getValueOrUndefined(i._distanceDisplayCondition,e,c.distanceDisplayCondition)};qB.prototype.removeObject=function(e){let t=e.polyline;u(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)};qB.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),le(this)};function hy(e,t){t.collectionChanged.addEventListener(hy.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new xt,this._onCollectionChanged(t,t.values,[],[])}hy.prototype.update=function(e){let t=this._updaters;for(let i in t)t.hasOwnProperty(i)&&t[i].update(e);let n=this._items.values;if(n.length===0&&u(this._updaters)&&Object.keys(this._updaters).length>0){for(let i in t)t.hasOwnProperty(i)&&t[i].destroy();this._updaters={}}for(let i=0,o=n.length;i<o;i++){let r=n[i],a=r.entity._position,c=r.updater,l=to.FIXED;this._scene.mode===te.SCENE3D&&(l=a.referenceFrame);let f=this._updaters[l];if(c===f&&u(f)){f.updateObject(e,r);continue}u(c)&&c.removeObject(r),u(f)||(f=new qB(this._scene,l),f.update(e),this._updaters[l]=f),r.updater=f,u(f)&&f.updateObject(e,r)}return!0};hy.prototype.isDestroyed=function(){return!1};hy.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(hy.prototype._onCollectionChanged,this);let e=this._updaters;for(let t in e)e.hasOwnProperty(t)&&e[t].destroy();return le(this)};hy.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s,a=this._items;for(o=t.length-1;o>-1;o--)r=t[o],u(r._path)&&u(r._position)&&a.set(r.id,new Pue(r));for(o=i.length-1;o>-1;o--)r=i[o],u(r._path)&&u(r._position)?a.contains(r.id)||a.set(r.id,new Pue(r)):(s=a.get(r.id),u(s)&&(u(s.updater)&&s.updater.removeObject(s),a.remove(r.id)));for(o=n.length-1;o>-1;o--)r=n[o],s=a.get(r.id),u(s)&&(u(s.updater)&&s.updater.removeObject(s),a.remove(r.id))};hy._subSample=Mue;var XB=hy;var Lue=z.WHITE,Nue=z.BLACK,Fue=0,Vue=1,Uue=0,kue=new z,OXe=new h,zue=new z,Hue=new Pt,Gue=new Pt,Wue=new bt;function jue(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function my(e,t){t.collectionChanged.addEventListener(my.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new xt,this._onCollectionChanged(t,t.values,[],[])}my.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._point,c=r.pointPrimitive,l=r.billboard,f=Y.getValueOrDefault(a._heightReference,e,We.NONE),d=s.isShowing&&s.isAvailable(e)&&Y.getValueOrDefault(a._show,e,!0),p;if(d&&(p=Y.getValueOrUndefined(s._position,e,OXe),d=u(p)),!d){KB(r,s,n);continue}Y.isConstant(s._position)||(n._clusterDirty=!0);let g=!1,m=!1;if(f!==We.NONE&&!u(l)?(u(c)&&(KB(r,s,n),c=void 0),l=n.getBillboard(s),l.id=s,l.image=void 0,r.billboard=l,g=!0,m=h.equals(l.position,p)&&l.heightReference===f):f===We.NONE&&!u(c)&&(u(l)&&(KB(r,s,n),l=void 0),c=n.getPoint(s),c.id=s,r.pointPrimitive=c),u(c))c.show=!0,c.position=p,c.scaleByDistance=Y.getValueOrUndefined(a._scaleByDistance,e,Hue),c.translucencyByDistance=Y.getValueOrUndefined(a._translucencyByDistance,e,Gue),c.color=Y.getValueOrDefault(a._color,e,Lue,kue),c.outlineColor=Y.getValueOrDefault(a._outlineColor,e,Nue,zue),c.outlineWidth=Y.getValueOrDefault(a._outlineWidth,e,Fue),c.pixelSize=Y.getValueOrDefault(a._pixelSize,e,Vue),c.distanceDisplayCondition=Y.getValueOrUndefined(a._distanceDisplayCondition,e,Wue),c.disableDepthTestDistance=Y.getValueOrDefault(a._disableDepthTestDistance,e,Uue);else if(u(l)){l.show=!0,l.position=p,l.scaleByDistance=Y.getValueOrUndefined(a._scaleByDistance,e,Hue),l.translucencyByDistance=Y.getValueOrUndefined(a._translucencyByDistance,e,Gue),l.distanceDisplayCondition=Y.getValueOrUndefined(a._distanceDisplayCondition,e,Wue),l.disableDepthTestDistance=Y.getValueOrDefault(a._disableDepthTestDistance,e,Uue),l.heightReference=f;let A=Y.getValueOrDefault(a._color,e,Lue,kue),x=Y.getValueOrDefault(a._outlineColor,e,Nue,zue),C=Math.round(Y.getValueOrDefault(a._outlineWidth,e,Fue)),T=Math.max(1,Math.round(Y.getValueOrDefault(a._pixelSize,e,Vue)));if(C>0?(l.scale=1,g=g||C!==r.outlineWidth||T!==r.pixelSize||!z.equals(A,r.color)||!z.equals(x,r.outlineColor)):(l.scale=T/50,T=50,g=g||C!==r.outlineWidth||!z.equals(A,r.color)||!z.equals(x,r.outlineColor)),g){r.color=z.clone(A,r.color),r.outlineColor=z.clone(x,r.outlineColor),r.pixelSize=T,r.outlineWidth=C;let E=A.alpha,S=A.toCssColorString(),D=x.toCssColorString(),w=JSON.stringify([S,T,D,C]);l.setImage(w,OA(E,S,D,C,T))}m&&l._updateClamping()}}return!0};my.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!u(n)||!(u(n.pointPrimitive)||u(n.billboard)))return at.FAILED;if(u(n.pointPrimitive))t.center=h.clone(n.pointPrimitive.position,t.center);else{let i=n.billboard;if(!u(i._clampedPosition))return at.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,at.DONE};my.prototype.isDestroyed=function(){return!1};my.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(my.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removePoint(e[t]);return le(this)};my.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],u(r._point)&&u(r._position)&&s.set(r.id,new jue(r));for(o=i.length-1;o>-1;o--)r=i[o],u(r._point)&&u(r._position)?s.contains(r.id)||s.set(r.id,new jue(r)):(KB(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],KB(s.get(r.id),r,a),s.remove(r.id)};function KB(e,t,n){if(u(e)){let i=e.pointPrimitive;if(u(i)){e.pointPrimitive=void 0,n.removePoint(t);return}let o=e.billboard;u(o)&&(e.billboard=void 0,n.removeBillboard(t))}}var ZB=my;var Zue=[];function RXe(e,t,n,i,o){let r=Zue;r.length=o;let s,a=n.red,c=n.green,l=n.blue,f=n.alpha,d=i.red,p=i.green,g=i.blue,m=i.alpha;if(z.equals(n,i)){for(s=0;s<o;s++)r[s]=z.clone(n);return r}let A=(d-a)/o,x=(p-c)/o,C=(g-l)/o,T=(m-f)/o;for(s=0;s<o;s++)r[s]=new z(a+s*A,c+s*x,l+s*C,f+s*T);return r}function JB(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.width,1),o=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._width=i,this._colorsPerVertex=o,this._vertexFormat=Ie.clone(y(e.vertexFormat,Ie.DEFAULT)),this._arcType=y(e.arcType,Kt.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ie.clone(y(e.ellipsoid,ie.WGS84)),this._workerName="createPolylineGeometry";let r=1+t.length*h.packedLength;r+=u(n)?1+n.length*z.packedLength:1,this.packedLength=r+ie.packedLength+Ie.packedLength+4}JB.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=u(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=z.packedLength)z.pack(s[i],t,n);return ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._width,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};var Jue=ie.clone(ie.UNIT_SPHERE),Que=new Ie,Ex={positions:void 0,colors:void 0,ellipsoid:Jue,vertexFormat:Que,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};JB.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=z.packedLength)s[i]=z.unpack(e,t);let a=ie.unpack(e,t,Jue);t+=ie.packedLength;let c=Ie.unpack(e,t,Que);t+=Ie.packedLength;let l=e[t++],f=e[t++]===1,d=e[t++],p=e[t];return u(n)?(n._positions=r,n._colors=s,n._ellipsoid=ie.clone(a,n._ellipsoid),n._vertexFormat=Ie.clone(c,n._vertexFormat),n._width=l,n._colorsPerVertex=f,n._arcType=d,n._granularity=p,n):(Ex.positions=r,Ex.colors=s,Ex.width=l,Ex.colorsPerVertex=f,Ex.arcType=d,Ex.granularity=p,new JB(Ex))};var Yue=new h,que=new h,Xue=new h,Kue=new h;JB.createGeometry=function(e){let t=e._width,n=e._vertexFormat,i=e._colors,o=e._colorsPerVertex,r=e._arcType,s=e._granularity,a=e._ellipsoid,c,l,f,d=[],p=go(e._positions,h.equalsEpsilon,!1,d);if(u(i)&&d.length>0){let B=0,F=d[0];i=i.filter(function(k,U){let G=!1;return o?G=U===F||U===0&&F===1:G=U+1===F,G?(B++,F=d[B],!1):!0})}let g=p.length;if(g<2||t<=0)return;if(r===Kt.GEODESIC||r===Kt.RHUMB){let B,F;r===Kt.GEODESIC?(B=P.chordLength(s,a.maximumRadius),F=Di.numberOfPoints):(B=s,F=Di.numberOfPointsRhumbLine);let k=Di.extractHeights(p,a);if(u(i)){let U=1;for(c=0;c<g-1;++c)U+=F(p[c],p[c+1],B);let G=new Array(U),V=0;for(c=0;c<g-1;++c){let X=p[c],j=p[c+1],Q=i[c],W=F(X,j,B);if(o&&c<U){let K=i[c+1],J=RXe(X,j,Q,K,W),_e=J.length;for(l=0;l<_e;++l)G[V++]=J[l]}else for(l=0;l<W;++l)G[V++]=z.clone(Q)}G[V]=z.clone(i[i.length-1]),i=G,Zue.length=0}r===Kt.GEODESIC?p=Di.generateCartesianArc({positions:p,minDistance:B,ellipsoid:a,height:k}):p=Di.generateCartesianRhumbArc({positions:p,granularity:B,ellipsoid:a,height:k})}g=p.length;let m=g*4-4,A=new Float64Array(m*3),x=new Float64Array(m*3),C=new Float64Array(m*3),T=new Float32Array(m*2),E=n.st?new Float32Array(m*2):void 0,S=u(i)?new Uint8Array(m*4):void 0,D=0,w=0,R=0,O=0,L;for(l=0;l<g;++l){l===0?(L=Yue,h.subtract(p[0],p[1],L),h.add(p[0],L,L)):L=p[l-1],h.clone(L,Xue),h.clone(p[l],que),l===g-1?(L=Yue,h.subtract(p[g-1],p[g-2],L),h.add(p[g-1],L,L)):L=p[l+1],h.clone(L,Kue);let B,F;u(S)&&(l!==0&&!o?B=i[l-1]:B=i[l],l!==g-1&&(F=i[l]));let k=l===0?2:0,U=l===g-1?2:4;for(f=k;f<U;++f){h.pack(que,A,D),h.pack(Xue,x,D),h.pack(Kue,C,D),D+=3;let G=f-2<0?-1:1;if(T[w++]=2*(f%2)-1,T[w++]=G*t,n.st&&(E[R++]=l/(g-1),E[R++]=Math.max(T[w-2],0)),u(S)){let V=f<2?B:F;S[O++]=z.floatToByte(V.red),S[O++]=z.floatToByte(V.green),S[O++]=z.floatToByte(V.blue),S[O++]=z.floatToByte(V.alpha)}}}let N=new dn;N.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:A}),N.prevPosition=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:x}),N.nextPosition=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:C}),N.expandAndWidth=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:T}),n.st&&(N.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:E})),u(S)&&(N.color=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:4,values:S,normalize:!0}));let _=Fe.createTypedArray(m,g*6-6),b=0,v=0,I=g-1;for(l=0;l<I;++l)_[v++]=b,_[v++]=b+2,_[v++]=b+1,_[v++]=b+1,_[v++]=b+2,_[v++]=b+3,b+=4;return new ct({attributes:N,indices:_,primitiveType:Me.TRIANGLES,boundingSphere:se.fromPoints(p),geometryType:Nu.POLYLINES})};var f_=JB;var BXe=new ei(0),ik={},$ue=new z,MXe=new Mt(z.WHITE),LXe=new ei(!0),NXe=new ei(gn.DISABLED),FXe=new ei(new bt),VXe=new ei(Un.BOTH);function UXe(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function kXe(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function Fd(e,t){this._entity=e,this._scene=t,this._entitySubscription=e.definitionChanged.addEventListener(Fd.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new Ae,this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new UXe,this._groundGeometryOptions=new kXe,this._id=`polyline-${e.id}`,this._clampToGround=!1,this._supportsPolylinesOnTerrain=jo.supportsPolylinesOnTerrain(t),this._zIndex=0,this._onEntityPropertyChanged(e,"polyline",e.polyline,void 0)}Object.defineProperties(Fd.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!u(this._entity.availability)&&Y.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}});Fd.prototype.isOutlineVisible=function(e){return!1};Fd.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e);return y(n,!1)};Fd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new _n(n&&t.isShowing&&this._showProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Vn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r},a;return this._materialProperty instanceof Mt&&(u(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,$ue)),u(a)||(a=z.WHITE),s.color=Nt.fromColor(a)),this.clampToGround?new At({id:t,geometry:new k0(this._groundGeometryOptions),attributes:s}):(u(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof Mt&&(u(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||n)&&(a=this._depthFailMaterialProperty.color.getValue(e,$ue)),u(a)||(a=z.WHITE),s.depthFailColor=Nt.fromColor(a)),new At({id:t,geometry:new f_(this._geometryOptions),attributes:s}))};Fd.prototype.createOutlineGeometryInstance=function(e){};Fd.prototype.isDestroyed=function(){return!1};Fd.prototype.destroy=function(){this._entitySubscription(),le(this)};Fd.prototype._onEntityPropertyChanged=function(e,t,n,i){if(!(t==="availability"||t==="polyline"))return;let o=this._entity.polyline;if(!u(o)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.positions,s=o.show;if(u(s)&&s.isConstant&&!s.getValue(ze.MINIMUM_VALUE)||!u(r)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let a=o.zIndex,c=y(o.material,MXe),l=c instanceof Mt;this._materialProperty=c,this._depthFailMaterialProperty=o.depthFailMaterial,this._showProperty=y(s,LXe),this._shadowsProperty=y(o.shadows,NXe),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,FXe),this._classificationTypeProperty=y(o.classificationType,VXe),this._fillEnabled=!0,this._zIndex=y(a,BXe);let f=o.width,d=o.arcType,p=o.clampToGround,g=o.granularity;if(!r.isConstant||!Y.isConstant(f)||!Y.isConstant(d)||!Y.isConstant(g)||!Y.isConstant(p)||!Y.isConstant(a))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{let m=this._geometryOptions,A=r.getValue(ze.MINIMUM_VALUE,m.positions);if(!u(A)||A.length<2){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let x;l&&(!u(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof Mt)?x=Vr.VERTEX_FORMAT:x=Vs.VERTEX_FORMAT,m.vertexFormat=x,m.positions=A,m.width=u(f)?f.getValue(ze.MINIMUM_VALUE):void 0,m.arcType=u(d)?d.getValue(ze.MINIMUM_VALUE):void 0,m.granularity=u(g)?g.getValue(ze.MINIMUM_VALUE):void 0;let C=this._groundGeometryOptions;C.positions=A,C.width=m.width,C.arcType=m.arcType,C.granularity=m.granularity,this._clampToGround=u(p)?p.getValue(ze.MINIMUM_VALUE):!1,!this._clampToGround&&u(a)&&wt("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};Fd.prototype.createDynamicUpdater=function(e,t){return new QB(e,t,this)};var db={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function QB(e,t,n){this._line=void 0,this._primitives=e,this._groundPrimitives=t,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=n,this._positions=[]}function efe(e){if(u(e._line))return e._line;let t=e._geometryUpdater._scene.id,n=ik[t],i=e._primitives;!u(n)||n.isDestroyed()?(n=new gd,ik[t]=n,i.add(n)):i.contains(n)||i.add(n);let o=n.add();return o.id=e._geometryUpdater._entity,e._line=o,o}QB.prototype.update=function(e){let t=this._geometryUpdater,n=t._entity,i=n.polyline,o=i.positions,r=Y.getValueOrUndefined(o,e,this._positions);t._clampToGround=Y.getValueOrDefault(i._clampToGround,e,!1),t._groundGeometryOptions.positions=r,t._groundGeometryOptions.width=Y.getValueOrDefault(i._width,e,1),t._groundGeometryOptions.arcType=Y.getValueOrDefault(i._arcType,e,Kt.GEODESIC),t._groundGeometryOptions.granularity=Y.getValueOrDefault(i._granularity,e,9999);let s=this._groundPrimitives;if(u(this._groundPolylinePrimitive)&&(s.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),t.clampToGround){if(!n.isShowing||!n.isAvailable(e)||!Y.getValueOrDefault(i._show,e,!0)||!u(r)||r.length<2)return;let f=t.fillMaterialProperty,d;if(f instanceof Mt)d=new Vr;else{let p=Wo.getValue(e,f,this._material);d=new Vs({material:p,translucent:p.isTranslucent()}),this._material=p}this._groundPolylinePrimitive=s.add(new Qf({geometryInstances:t.createFillGeometryInstance(e),appearance:d,classificationType:t.classificationTypeProperty.getValue(e),asynchronous:!1}),Y.getValueOrUndefined(t.zIndex,e)),u(this._line)&&(this._line.show=!1);return}let a=efe(this);if(!n.isShowing||!n.isAvailable(e)||!Y.getValueOrDefault(i._show,e,!0)){a.show=!1;return}if(!u(r)||r.length<2){a.show=!1;return}let c=Kt.GEODESIC;c=Y.getValueOrDefault(i._arcType,e,c);let l=t._scene.globe;c!==Kt.NONE&&u(l)&&(db.ellipsoid=l.ellipsoid,db.positions=r,db.granularity=Y.getValueOrUndefined(i._granularity,e),db.height=Di.extractHeights(r,l.ellipsoid),c===Kt.GEODESIC?r=Di.generateCartesianArc(db):r=Di.generateCartesianRhumbArc(db)),a.show=!0,a.positions=r.slice(),a.material=Wo.getValue(e,t.fillMaterialProperty,a.material),a.width=Y.getValueOrDefault(i._width,e,1),a.distanceDisplayCondition=Y.getValueOrUndefined(i._distanceDisplayCondition,e,a.distanceDisplayCondition)};QB.prototype.getBoundingSphere=function(e){if(this._geometryUpdater.clampToGround){let t=this._groundPolylinePrimitive;if(u(t)&&t.show&&t.ready){let n=t.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(u(n)&&u(n.boundingSphere))return se.clone(n.boundingSphere,e),at.DONE}return u(t)&&!t.ready?at.PENDING:at.DONE}else{let t=efe(this);if(t.show&&t.positions.length>0)return se.fromPoints(t.positions,e),at.DONE}return at.FAILED};QB.prototype.isDestroyed=function(){return!1};QB.prototype.destroy=function(){let t=this._geometryUpdater._scene.id,n=ik[t];u(n)&&(n.remove(this._line),n.length===0&&(this._primitives.removeAndDestroy(n),delete ik[t])),u(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),le(this)};var $B=Fd;var zXe=new z,HXe=new bt,GXe=new bt;function Vd(e,t,n,i,o){let r;n instanceof Mt?r=Vr:r=Vs,this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=r,this.materialProperty=n,this.updaters=new xt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new xt,this.material=void 0,this.updatersWithAttributes=new xt,this.attributes=new xt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(Vd.prototype.onMaterialChanged,this),this.subscriptions=new xt,this.showsUpdated=new xt,this.zIndex=i,this._asynchronous=o}Vd.prototype.onMaterialChanged=function(){this.invalidated=!0};Vd.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Mt&&t instanceof Mt?!0:u(t)&&t.equals(n)};Vd.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!Y.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Vd.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return u(n)&&(n(),this.subscriptions.remove(t)),!0}return!1};Vd.prototype.update=function(e){let t=!0,n=this.primitive,i=this.orderedGroundPrimitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)u(n)&&(u(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),n=new Qf({show:!1,asynchronous:this._asynchronous,geometryInstances:o.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===Vs&&(this.material=Wo.getValue(e,this.materialProperty,this.material),n.appearance.material=this.material),i.add(n,this.zIndex),t=!1;else{u(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;u(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(u(n)&&n.ready){n.show=!0,u(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===Vs&&(this.material=Wo.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],l=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(u(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!c.fillMaterialProperty.isConstant){let A=c.fillMaterialProperty.color,x=Y.getValueOrDefault(A,e,z.WHITE,zXe);z.equals(d._lastColor,x)||(d._lastColor=z.clone(x,d._lastColor),d.color=Nt.toValue(x,d.color))}let p=l.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=_n.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!Y.isConstant(m)){let A=Y.getValueOrDefault(m,e,GXe,HXe);bt.equals(A,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=bt.clone(A,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(A,d.distanceDisplayCondition))}}this.updateShows(n)}else u(n)&&!n.ready&&(t=!1);return t};Vd.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);u(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,l=a.show[0]===1;c!==l&&(a.show=_n.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Vd.prototype.contains=function(e){return this.updaters.contains(e.id)};Vd.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return at.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!u(i)||!u(i.boundingSphere)||u(i.show)&&i.show[0]===0?at.FAILED:(i.boundingSphere.clone(t),at.DONE)};Vd.prototype.destroy=function(){let e=this.primitive,t=this.orderedGroundPrimitives;u(e)&&t.remove(e);let n=this.oldPrimitive;u(n)&&t.remove(n),this.removeMaterialSubscription()};function hb(e,t,n){this._items=[],this._orderedGroundPrimitives=e,this._classificationType=t,this._asynchronous=y(n,!0)}hb.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=Y.getValueOrDefault(t.zIndex,0);for(let a=0;a<i;++a){let c=n[a];if(c.isMaterial(t)&&c.zIndex===r){c.add(e,t,o);return}}let s=new Vd(this._orderedGroundPrimitives,this._classificationType,t.fillMaterialProperty,r,this._asynchronous);s.add(e,t,o),n.push(s)};hb.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};hb.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};hb.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return at.FAILED};hb.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var eM=hb;var WXe=[];function tfe(e,t){let n=e._batches,i=n.length;for(let o=0;o<i;o++)n[o].remove(t)}function nfe(e,t,n){if(n.isDynamic){e._dynamicBatch.add(t,n);return}if(n.clampToGround&&n.fillEnabled){let s=n.classificationTypeProperty.getValue(t);e._groundBatches[s].add(t,n);return}let i;n.fillEnabled&&(i=n.shadowsProperty.getValue(t));let o=0;u(n.depthFailMaterialProperty)&&(o=n.depthFailMaterialProperty instanceof Mt?1:2);let r;u(i)&&(r=i+o*gn.NUMBER_OF_SHADOW_MODES),n.fillEnabled&&(n.fillMaterialProperty instanceof Mt?e._colorBatches[r].add(t,n):e._materialBatches[r].add(t,n))}function $h(e,t,n,i){i=y(i,e.groundPrimitives),n=y(n,e.primitives),this._scene=e,this._primitives=n,this._entityCollection=void 0,this._addedObjects=new xt,this._removedObjects=new xt,this._changedObjects=new xt;let o,r=gn.NUMBER_OF_SHADOW_MODES;for(this._colorBatches=new Array(r*3),this._materialBatches=new Array(r*3),o=0;o<r;++o)this._colorBatches[o]=new gf(n,Vr,void 0,!1,o),this._materialBatches[o]=new yf(n,Vs,void 0,!1,o),this._colorBatches[o+r]=new gf(n,Vr,Vr,!1,o),this._materialBatches[o+r]=new yf(n,Vs,Vr,!1,o),this._colorBatches[o+r*2]=new gf(n,Vr,Vs,!1,o),this._materialBatches[o+r*2]=new yf(n,Vs,Vs,!1,o);this._dynamicBatch=new fx(n,i);let s=Un.NUMBER_OF_CLASSIFICATION_TYPES;for(this._groundBatches=new Array(s),o=0;o<s;++o)this._groundBatches[o]=new eM(i,o);this._batches=this._colorBatches.concat(this._materialBatches,this._dynamicBatch,this._groundBatches),this._subscriptions=new xt,this._updaters=new xt,this._entityCollection=t,t.collectionChanged.addEventListener($h.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,WXe)}$h.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,l,f;for(a=s.length-1;a>-1;a--)c=s[a],l=c.id,f=this._updaters.get(l),f.entity===c?(tfe(this,f),nfe(this,e,f)):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],l=c.id,f=this._updaters.get(l),tfe(this,f),f.destroy(),this._updaters.remove(l),this._subscriptions.get(l)(),this._subscriptions.remove(l);for(a=n.length-1;a>-1;a--)c=n[a],l=c.id,f=new $B(c,this._scene),this._updaters.set(l,f),nfe(this,e,f),this._subscriptions.set(l,f.geometryChanged.addEventListener($h._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let d=!0,p=this._batches,g=p.length;for(a=0;a<g;a++)d=p[a].update(e)&&d;return d};var jXe=[],YXe=new se;$h.prototype.getBoundingSphere=function(e,t){let n=jXe,i=YXe,o=0,r=at.DONE,s=this._batches,a=s.length,c=this._updaters.get(e.id);for(let l=0;l<a;l++){if(r=s[l].getBoundingSphere(c,i),r===at.PENDING)return at.PENDING;r===at.DONE&&(n[o]=se.clone(i,n[o]),o++)}return o===0?at.FAILED:(n.length=o,se.fromBoundingSpheres(n,t),at.DONE)};$h.prototype.isDestroyed=function(){return!1};$h.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener($h.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();return this._subscriptions.removeAll(),le(this)};$h._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!u(t.get(o))&&!u(n.get(o))&&n.set(o,i)};$h.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var tM=$h;function Cf(e){Ec.initializeTerrainHeights(),Qf.initializeTerrainHeights();let t=e.scene,n=e.dataSourceCollection;this._eventHelper=new wr,this._eventHelper.add(n.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(n.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(n.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=n,this._scene=t,this._visualizersCallback=y(e.visualizersCallback,Cf.defaultVisualizersCallback);let i=!1,o=new xl,r=new xl;n.length>0&&(t.primitives.add(o),t.groundPrimitives.add(r),i=!0),this._primitives=o,this._groundPrimitives=r;for(let l=0,f=n.length;l<f;l++)this._onDataSourceAdded(n,n.get(l));let s=new nB;this._onDataSourceAdded(void 0,s),this._defaultDataSource=s;let a,c;if(!i){let l=this,f=function(){t.primitives.add(o),t.groundPrimitives.add(r),a(),c(),l._removeDefaultDataSourceListener=void 0,l._removeDataSourceCollectionListener=void 0};a=s.entities.collectionChanged.addEventListener(f),c=n.dataSourceAdded.addEventListener(f)}this._removeDefaultDataSourceListener=a,this._removeDataSourceCollectionListener=c,this._ready=!1}Cf.defaultVisualizersCallback=function(e,t,n){let i=n.entities;return[new Zw(t,i),new GB(e,i,n._primitives,n._groundPrimitives),new WB(t,i),new YB(e,i),new zR(e,i),new ZB(t,i),new XB(e,i),new tM(e,i,n._primitives,n._groundPrimitives)]};Object.defineProperties(Cf.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}});Cf.prototype.isDestroyed=function(){return!1};Cf.prototype.destroy=function(){this._eventHelper.removeAll();let e=this._dataSourceCollection;for(let t=0,n=e.length;t<n;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return this._onDataSourceRemoved(void 0,this._defaultDataSource),u(this._removeDefaultDataSourceListener)?(this._removeDefaultDataSourceListener(),this._removeDataSourceCollectionListener()):(this._scene.primitives.remove(this._primitives),this._scene.groundPrimitives.remove(this._groundPrimitives)),le(this)};Cf.prototype.update=function(e){if(!fi.initialized)return this._ready=!1,!1;let t=!0,n,i,o,r,s=this._dataSourceCollection,a=s.length;for(n=0;n<a;n++){let c=s.get(n);for(u(c.update)&&(t=c.update(e)&&t),o=c._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t}for(o=this._defaultDataSource._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t;return this._ready=t,t};Cf.prototype._postRender=function(){let e=this._scene.frameState,t=this._dataSourceCollection,n=t.length;for(let i=0;i<n;i++){let o=t.get(i),r=o.credit;u(r)&&e.creditDisplay.addCredit(r);let s=o._resourceCredits;if(u(s)){let a=s.length;for(let c=0;c<a;c++)e.creditDisplay.addCredit(s[c])}}};var qXe=[],XXe=new se;Cf.prototype.getBoundingSphere=function(e,t,n){if(!this._ready)return at.PENDING;let i,o,r=this._defaultDataSource;if(!r.entities.contains(e)){r=void 0;let p=this._dataSourceCollection;for(o=p.length,i=0;i<o;i++){let g=p.get(i);if(g.entities.contains(e)){r=g;break}}}if(!u(r))return at.FAILED;let s=qXe,a=XXe,c=0,l=at.DONE,f=r._visualizers,d=f.length;for(i=0;i<d;i++){let p=f[i];if(u(p.getBoundingSphere)){if(l=f[i].getBoundingSphere(e,a),!t&&l===at.PENDING)return at.PENDING;l===at.DONE&&(s[c]=se.clone(a,s[c]),c++)}}return c===0?at.FAILED:(s.length=c,se.fromBoundingSpheres(s,n),at.DONE)};Cf.prototype._onDataSourceAdded=function(e,t){let n=this._scene,i=this._primitives,o=this._groundPrimitives,r=i.add(new xl),s=o.add(new gB);t._primitives=r,t._groundPrimitives=s;let a=t.clustering;a._initialize(n),r.add(a),t._visualizers=this._visualizersCallback(n,a,t)};Cf.prototype._onDataSourceRemoved=function(e,t){let n=this._primitives,i=this._groundPrimitives,o=t._primitives,r=t._groundPrimitives,s=t.clustering;o.remove(s);let a=t._visualizers,c=a.length;for(let l=0;l<c;l++)a[l].destroy();n.remove(o),i.remove(r),t._visualizers=void 0};Cf.prototype._onDataSourceMoved=function(e,t,n){let i=this._primitives,o=this._groundPrimitives,r=e._primitives,s=e._groundPrimitives;t===n+1?(i.raise(r),o.raise(s)):t===n-1?(i.lower(r),o.lower(s)):t===0?(i.lowerToBottom(r),o.lowerToBottom(s),i.raise(r),o.raise(s)):(i.raiseToTop(r),o.raiseToTop(s))};var nM=Cf;function CW(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.range=y(n,0)}CW.clone=function(e,t){if(u(e))return u(t)||(t=new CW),t.heading=e.heading,t.pitch=e.pitch,t.range=e.range,t};var uu=CW;var ife=new Z,ofe=new Z,rfe=new Z,KXe=new M,ok=new h,sfe=new h,TW=new h,EW=new h,afe=new h,cfe=new h,mb=new $,ZXe=1.25;function JXe(e,t,n,i,o,r,s){let a=e.scene.mode,c=o.getValue(r,e._lastCartesian);if(u(c)){let l=!1,f=!1,d,p,g;if(a===te.SCENE3D){$.addSeconds(r,.001,mb);let T=o.getValue(mb,ok);if(u(T)||($.addSeconds(r,-.001,mb),T=o.getValue(mb,ok),f=!0),u(T)){let E=Ot.computeFixedToIcrfMatrix(r,ife),S=Ot.computeFixedToIcrfMatrix(mb,ofe),D;!u(E)||!u(S)?(D=Ot.computeTemeToPseudoFixedMatrix(r,rfe),E=Z.transpose(D,ife),S=Ot.computeTemeToPseudoFixedMatrix(mb,ofe),Z.transpose(S,S)):D=Z.transpose(E,rfe);let w=Z.multiplyByVector(E,c,afe),R=Z.multiplyByVector(S,T,cfe);h.subtract(w,R,EW);let O=h.magnitude(EW)*1e3,L=P.GRAVITATIONALPARAMETER,N=-L/(O*O-2*L/h.magnitude(w));N<0||N>ZXe*s.maximumRadius?(d=sfe,h.normalize(c,d),h.negate(d,d),g=h.clone(h.UNIT_Z,TW),p=h.cross(g,d,ok),h.magnitude(p)>P.EPSILON7&&(h.normalize(d,d),h.normalize(p,p),g=h.cross(d,p,TW),h.normalize(g,g),l=!0)):h.equalsEpsilon(c,T,P.EPSILON7)||(g=sfe,h.normalize(w,g),h.normalize(R,R),p=h.cross(g,R,TW),f&&(p=h.multiplyByScalar(p,-1,p)),h.equalsEpsilon(p,h.ZERO,P.EPSILON7)||(d=h.cross(p,g,ok),Z.multiplyByVector(D,d,d),Z.multiplyByVector(D,p,p),Z.multiplyByVector(D,g,g),h.normalize(d,d),h.normalize(p,p),h.normalize(g,g),l=!0))}}u(e.boundingSphere)&&(c=e.boundingSphere.center);let m,A,x;i&&(m=h.clone(t.position,EW),A=h.clone(t.direction,afe),x=h.clone(t.up,cfe));let C=KXe;l?(C[0]=d.x,C[1]=d.y,C[2]=d.z,C[3]=0,C[4]=p.x,C[5]=p.y,C[6]=p.z,C[7]=0,C[8]=g.x,C[9]=g.y,C[10]=g.z,C[11]=0,C[12]=c.x,C[13]=c.y,C[14]=c.z,C[15]=0):Ot.eastNorthUpToFixedFrame(c,s,C),t._setTransform(C),i&&(h.clone(m,t.position),h.clone(A,t.direction),h.clone(x,t.up),h.cross(A,x,t.right))}if(n){let l=a===te.SCENE2D||h.equals(e._offset3D,h.ZERO)?void 0:e._offset3D;t.lookAtTransform(t.transform,l)}}function iM(e,t,n){this.entity=e,this.scene=t,this.ellipsoid=y(n,ie.WGS84),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new h,this._defaultOffset3D=void 0,this._offset3D=new h}Object.defineProperties(iM,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=h.clone(e,new h)}}});iM.defaultOffset3D=new h(-14e3,3500,3500);var rk=new uu,QXe=new h;iM.prototype.update=function(e,t){let n=this.scene,i=this.ellipsoid,o=n.mode;if(o===te.MORPHING)return;let r=this.entity,s=r.position;if(!u(s))return;let a=r!==this._lastEntity,c=o!==this._mode,l=n.camera,f=a||c,d=!0;if(a){let p=r.viewFrom,g=u(p);if(!g&&u(t)){rk.pitch=-P.PI_OVER_FOUR,rk.range=0;let m=s.getValue(e,QXe);if(u(m)){let A=2-1/Math.max(1,h.magnitude(m)/i.maximumRadius);rk.pitch*=A}l.viewBoundingSphere(t,rk),this.boundingSphere=t,f=!1,d=!1}else(!g||!u(p.getValue(e,this._offset3D)))&&h.clone(iM._defaultOffset3D,this._offset3D)}else!c&&this._mode!==te.SCENE2D&&h.clone(l.position,this._offset3D);this._lastEntity=r,this._mode=o,JXe(this,l,f,d,s,e,i)};var oM=iM;function sM(){this._cache={}}sM.prototype.fromColor=function(e,t){return sk(void 0,void 0,e,t,this._cache)};sM.prototype.fromUrl=function(e,t,n){return sk(e,void 0,t,n,this._cache)};sM.prototype.fromMakiIconId=function(e,t,n){return sk($t(`Assets/Textures/maki/${encodeURIComponent(e)}.png`),void 0,t,n,this._cache)};sM.prototype.fromText=function(e,t,n){return sk(void 0,e,t,n,this._cache)};var $Xe=new z;function eKe(e,t,n){e.save(),e.scale(n/24,n/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,$Xe).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function lfe(e,t,n){let i=n/2.5,o=i,r=i;t.width>t.height?r=i*(t.height/t.width):t.width<t.height&&(o=i*(t.width/t.height));let s=Math.round((n-o)/2),a=Math.round(7/24*n-r/2);e.globalCompositeOperation="destination-out",e.drawImage(t,s-1,a,o,r),e.drawImage(t,s,a-1,o,r),e.drawImage(t,s+1,a,o,r),e.drawImage(t,s,a+1,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=z.BLACK.toCssColorString(),e.fillRect(s-1,a-1,o+2,r+2),e.globalCompositeOperation="destination-out",e.drawImage(t,s,a,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=z.WHITE.toCssColorString(),e.fillRect(s-1,a-2,o+2,r+2)}var rM=new Array(4);function sk(e,t,n,i,o){rM[0]=e,rM[1]=t,rM[2]=n,rM[3]=i;let r=JSON.stringify(rM),s=o[r];if(u(s))return s;let a=document.createElement("canvas");a.width=i,a.height=i;let c=a.getContext("2d");if(eKe(c,n,i),u(e)){let f=Oe.createIfNeeded(e).fetchImage().then(function(d){return lfe(c,d,i),o[r]=a,a});return o[r]=f,f}else if(u(t)){let l=BA(t,{font:`bold ${i}px sans-serif`});lfe(c,l,i)}return o[r]=a,a}var d_=sM;function bW(e){return e}function ak(e){if(e==null)return bW;var t,n,i=e.scale[0],o=e.scale[1],r=e.translate[0],s=e.translate[1];return function(a,c){c||(t=n=0);var l=2,f=a.length,d=new Array(f);for(d[0]=(t+=a[0])*i+r,d[1]=(n+=a[1])*o+s;l<f;)d[l]=a[l],++l;return d}}function ufe(e,t){for(var n,i=e.length,o=i-t;o<--i;)n=e[o],e[o++]=e[i],e[i]=n}function SW(e,t){return typeof t=="string"&&(t=e.objects[t]),t.type==="GeometryCollection"?{type:"FeatureCollection",features:t.geometries.map(function(n){return ffe(e,n)})}:ffe(e,t)}function ffe(e,t){var n=t.id,i=t.bbox,o=t.properties==null?{}:t.properties,r=DW(e,t);return n==null&&i==null?{type:"Feature",properties:o,geometry:r}:i==null?{type:"Feature",id:n,properties:o,geometry:r}:{type:"Feature",id:n,bbox:i,properties:o,geometry:r}}function DW(e,t){var n=ak(e.transform),i=e.arcs;function o(f,d){d.length&&d.pop();for(var p=i[f<0?~f:f],g=0,m=p.length;g<m;++g)d.push(n(p[g],g));f<0&&ufe(d,m)}function r(f){return n(f)}function s(f){for(var d=[],p=0,g=f.length;p<g;++p)o(f[p],d);return d.length<2&&d.push(d[0]),d}function a(f){for(var d=s(f);d.length<4;)d.push(d[0]);return d}function c(f){return f.map(a)}function l(f){var d=f.type,p;switch(d){case"GeometryCollection":return{type:d,geometries:f.geometries.map(l)};case"Point":p=r(f.coordinates);break;case"MultiPoint":p=f.coordinates.map(r);break;case"LineString":p=s(f.arcs);break;case"MultiLineString":p=f.arcs.map(s);break;case"Polygon":p=c(f.arcs);break;case"MultiPolygon":p=f.arcs.map(c);break;default:return null}return{type:d,coordinates:p}}return l(t)}function ck(e){return h.fromDegrees(e[0],e[1],e[2])}var vW={"urn:ogc:def:crs:OGC:1.3:CRS84":ck,"EPSG:4326":ck,"urn:ogc:def:crs:EPSG::4326":ck},dfe={},hfe={},wW=48,IW,PW=z.ROYALBLUE,OW=z.YELLOW,RW=2,BW=z.fromBytes(255,255,0,100),MW=!1,rKe={small:24,medium:48,large:64},sKe=["title","description","marker-size","marker-symbol","marker-color","stroke","stroke-opacity","stroke-width","fill","fill-opacity"];function mfe(e,t){let n="";for(let i in e)if(e.hasOwnProperty(i)){if(i===t||sKe.indexOf(i)!==-1)continue;let o=e[i];u(o)&&(typeof o=="object"?n+=`<tr><th>${i}</th><td>${mfe(o)}</td></tr>`:n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}return n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function aKe(e,t,n){let i;return function(o,r){return u(i)||(i=e(t,n)),i}}function cKe(e,t){return new nd(aKe(mfe,e,t),!0)}function lk(e,t,n){let i=e.id;if(!u(i)||e.type!=="Feature")i=zn();else{let s=2,a=i;for(;u(t.getById(a));)a=`${i}_${s}`,s++;i=a}let o=t.getOrCreateEntity(i),r=e.properties;if(u(r)){o.properties=r;let s,a=r.title;if(u(a))o.name=a,s="title";else{let l=Number.MAX_VALUE;for(let f in r)if(r.hasOwnProperty(f)&&r[f]){let d=f.toLowerCase();if(l>1&&d==="title"){l=1,s=f;break}else l>2&&d==="name"?(l=2,s=f):l>3&&/title/i.test(f)?(l=3,s=f):l>4&&/name/i.test(f)&&(l=4,s=f)}u(s)&&(o.name=r[s])}let c=r.description;c!==null&&(o.description=u(c)?new ei(c):n(r,s))}return o}function LW(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=t(e[i]);return n}var pfe={Feature:gfe,FeatureCollection:lKe,GeometryCollection:yfe,LineString:Efe,MultiLineString:bfe,MultiPoint:Cfe,MultiPolygon:vfe,Point:xfe,Polygon:Dfe,Topology:wfe},_fe={GeometryCollection:yfe,LineString:Efe,MultiLineString:bfe,MultiPoint:Cfe,MultiPolygon:vfe,Point:xfe,Polygon:Dfe,Topology:wfe};function gfe(e,t,n,i,o){if(t.geometry===null){lk(t,e._entityCollection,o.describe);return}if(!u(t.geometry))throw new ue("feature.geometry is required.");let r=t.geometry.type,s=_fe[r];if(!u(s))throw new ue(`Unknown geometry type: ${r}`);s(e,t,t.geometry,i,o)}function lKe(e,t,n,i,o){let r=t.features;for(let s=0,a=r.length;s<a;s++)gfe(e,r[s],void 0,i,o)}function yfe(e,t,n,i,o){let r=n.geometries;for(let s=0,a=r.length;s<a;s++){let c=r[s],l=c.type,f=_fe[l];if(!u(f))throw new ue(`Unknown geometry type: ${l}`);f(e,t,c,i,o)}}function Afe(e,t,n,i,o){let r=o.markerSymbol,s=o.markerColor,a=o.markerSize,c=t.properties;if(u(c)){let g=c["marker-color"];u(g)&&(s=z.fromCssColorString(g)),a=y(rKe[c["marker-size"]],a);let m=c["marker-symbol"];u(m)&&(r=m)}let l;u(r)?r.length===1?l=e._pinBuilder.fromText(r.toUpperCase(),s,a):l=e._pinBuilder.fromMakiIconId(r,s,a):l=e._pinBuilder.fromColor(s,a);let f=new Na;f.verticalOrigin=new ei(On.BOTTOM),i.length===2&&o.clampToGround&&(f.heightReference=We.CLAMP_TO_GROUND);let d=lk(t,e._entityCollection,o.describe);d.billboard=f,d.position=new Sc(n(i));let p=Promise.resolve(l).then(function(g){f.image=new ei(g)}).catch(function(){f.image=new ei(e._pinBuilder.fromColor(s,a))});e._promises.push(p)}function xfe(e,t,n,i,o){Afe(e,t,i,n.coordinates,o)}function Cfe(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Afe(e,t,i,r[s],o)}function Tfe(e,t,n,i,o){let r=o.strokeMaterialProperty,s=o.strokeWidthProperty,a=t.properties;if(u(a)){let f=a["stroke-width"];u(f)&&(s=new ei(f));let d,p=a.stroke;u(p)&&(d=z.fromCssColorString(p));let g=a["stroke-opacity"];u(g)&&g!==1&&(u(d)||(d=r.color.getValue().clone()),d.alpha=g),u(d)&&(r=new Mt(d))}let c=lk(t,e._entityCollection,o.describe),l=new Ua;c.polyline=l,l.clampToGround=o.clampToGround,l.material=r,l.width=s,l.positions=new ei(LW(i,n)),l.arcType=Kt.RHUMB}function Efe(e,t,n,i,o){Tfe(e,t,i,n.coordinates,o)}function bfe(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Tfe(e,t,i,r[s],o)}function Sfe(e,t,n,i,o){if(i.length===0||i[0].length===0)return;let r=o.strokeMaterialProperty.color,s=o.fillMaterialProperty,a=o.strokeWidthProperty,c=t.properties;if(u(c)){let g=c["stroke-width"];u(g)&&(a=new ei(g));let m,A=c.stroke;u(A)&&(m=z.fromCssColorString(A));let x=c["stroke-opacity"];u(x)&&x!==1&&(u(m)||(m=r.getValue().clone()),m.alpha=x),u(m)&&(r=new ei(m));let C,T=c.fill,E=s.color.getValue();u(T)&&(C=z.fromCssColorString(T),C.alpha=E.alpha),x=c["fill-opacity"],u(x)&&x!==E.alpha&&(u(C)||(C=E.clone()),C.alpha=x),u(C)&&(s=new Mt(C))}let l=new ed;l.outline=new ei(!0),l.outlineColor=r,l.outlineWidth=a,l.material=s,l.arcType=Kt.RHUMB;let f=[];for(let g=1,m=i.length;g<m;g++)f.push(new Dc(LW(i[g],n)));let d=i[0];l.hierarchy=new ei(new Dc(LW(d,n),f)),d[0].length>2?l.perPositionHeight=new ei(!0):o.clampToGround||(l.height=0);let p=lk(t,e._entityCollection,o.describe);p.polygon=l}function Dfe(e,t,n,i,o){Sfe(e,t,i,n.coordinates,o)}function vfe(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Sfe(e,t,i,r[s],o)}function wfe(e,t,n,i,o){for(let r in n.objects)if(n.objects.hasOwnProperty(r)){let s=SW(n,n.objects[r]),a=pfe[s.type];a(e,s,s,i,o)}}function py(e){this._name=e,this._changed=new Ae,this._error=new Ae,this._isLoading=!1,this._loading=new Ae,this._entityCollection=new Ss(this),this._promises=[],this._pinBuilder=new d_,this._entityCluster=new tu,this._credit=void 0,this._resourceCredits=[]}py.load=function(e,t){return new py().load(e,t)};Object.defineProperties(py,{markerSize:{get:function(){return wW},set:function(e){wW=e}},markerSymbol:{get:function(){return IW},set:function(e){IW=e}},markerColor:{get:function(){return PW},set:function(e){PW=e}},stroke:{get:function(){return OW},set:function(e){OW=e}},strokeWidth:{get:function(){return RW},set:function(e){RW=e}},fill:{get:function(){return BW},set:function(e){BW=e}},clampToGround:{get:function(){return MW},set:function(e){MW=e}},crsNames:{get:function(){return vW}},crsLinkHrefs:{get:function(){return dfe}},crsLinkTypes:{get:function(){return hfe}}});Object.defineProperties(py.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{value:void 0,writable:!1},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});py.prototype.load=function(e,t){return Ife(this,e,t,!0)};py.prototype.process=function(e,t){return Ife(this,e,t,!1)};function Ife(e,t,n,i){Or.setLoading(e,!0),n=y(n,y.EMPTY_OBJECT);let o=n.credit;typeof o=="string"&&(o=new Zt(o)),e._credit=o;let r=t,s=n.sourceUri;if(typeof t=="string"||t instanceof Oe){t=Oe.createIfNeeded(t),r=t.fetchJson(),s=y(s,t.getUrlComponent());let a=e._resourceCredits,c=t.credits;if(u(c)){let l=c.length;for(let f=0;f<l;f++)a.push(c[f])}}return n={describe:y(n.describe,cKe),markerSize:y(n.markerSize,wW),markerSymbol:y(n.markerSymbol,IW),markerColor:y(n.markerColor,PW),strokeWidthProperty:new ei(y(n.strokeWidth,RW)),strokeMaterialProperty:new Mt(y(n.stroke,OW)),fillMaterialProperty:new Mt(y(n.fill,BW)),clampToGround:y(n.clampToGround,MW)},Promise.resolve(r).then(function(a){return uKe(e,a,n,s,i)}).catch(function(a){throw Or.setLoading(e,!1),e._error.raiseEvent(e,a),a})}py.prototype.update=function(e){return!0};function uKe(e,t,n,i,o){let r;u(i)&&(r=e_(i)),u(r)&&e._name!==r&&(e._name=r,e._changed.raiseEvent(e));let s=pfe[t.type];if(!u(s))throw new ue(`Unsupported GeoJSON object type: ${t.type}`);let a=t.crs,c=a!==null?ck:null;if(u(a)){if(!u(a.properties))throw new ue("crs.properties is undefined.");let l=a.properties;if(a.type==="name"){if(c=vW[l.name],!u(c))throw new ue(`Unknown crs name: ${l.name}`)}else if(a.type==="link"){let f=dfe[l.href];if(u(f)||(f=hfe[l.type]),!u(f))throw new ue(`Unable to resolve crs link: ${JSON.stringify(l)}`);c=f(l)}else if(a.type==="EPSG"){if(c=vW[`EPSG:${l.code}`],!u(c))throw new ue(`Unknown crs EPSG code: ${l.code}`)}else throw new ue(`Unknown crs type: ${a.type}`)}return Promise.resolve(c).then(function(l){return o&&e._entityCollection.removeAll(),l!==null&&s(e,t,t,l,n),Promise.all(e._promises).then(function(){return e._promises.length=0,Or.setLoading(e,!1),e})})}var aM=py;var Pfe="4.0.0";function fKe(e){return e===void 0}function fu(e){return typeof e=="boolean"}function Ofe(e,t){for(var n in t)t.hasOwnProperty(n)&&fKe(e[n])&&(e[n]=t[n]);return e}function Rfe(e,t,n){var i;return e.length>t&&(n==null?(n="…",i=3):i=n.length,e=e.substring(0,t-i)+n),e}function Vo(e,t){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)}function _y(e,t){for(var n=e.length-1;n>=0;n--)t(e[n])===!0&&e.splice(n,1)}function gy(e){throw new Error("Unhandled case for value: '".concat(e,"'"))}var yy=/[A-Za-z]/,ws=/[\d]/;var du=/\s/,uk=/['"]/,Bfe=/[\x00-\x1F\x7F]/,Mfe=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,dKe=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source,hKe=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,mKe=Mfe+dKe+hKe,Lfe=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,P8n=new RegExp("[".concat(Mfe+Lfe,"]")),NW=mKe+Lfe,Ud=new RegExp("[".concat(NW,"]"));var fk=function(){function e(t){t===void 0&&(t={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=t.tagName||"",this.attrs=t.attrs||{},this.innerHTML=t.innerHtml||t.innerHTML||""}return e.prototype.setTagName=function(t){return this.tagName=t,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(t,n){var i=this.getAttrs();return i[t]=n,this},e.prototype.getAttr=function(t){return this.getAttrs()[t]},e.prototype.setAttrs=function(t){return Object.assign(this.getAttrs(),t),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(t){return this.setAttr("class",t)},e.prototype.addClass=function(t){for(var n=this.getClass(),i=n?n.split(du):[],o=t.split(du),r;r=o.shift();)i.indexOf(r)===-1&&i.push(r);return this.getAttrs().class=i.join(" "),this},e.prototype.removeClass=function(t){for(var n=this.getClass(),i=n?n.split(du):[],o=t.split(du),r;i.length&&(r=o.shift());){var s=i.indexOf(r);s!==-1&&i.splice(s,1)}return this.getAttrs().class=i.join(" "),this},e.prototype.getClass=function(){return this.getAttrs().class||""},e.prototype.hasClass=function(t){return(" "+this.getClass()+" ").indexOf(" "+t+" ")!==-1},e.prototype.setInnerHTML=function(t){return this.innerHTML=t,this},e.prototype.setInnerHtml=function(t){return this.setInnerHTML(t)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var t=this.getTagName(),n=this.buildAttrsStr();return n=n?" "+n:"",["<",t,n,">",this.getInnerHtml(),"</",t,">"].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var t=this.getAttrs(),n=[];for(var i in t)t.hasOwnProperty(i)&&n.push(i+'="'+t[i]+'"');return n.join(" ")},e}();function Nfe(e,t,n){var i,o;n==null?(n="…",o=3,i=8):(o=n.length,i=n.length);var r=function(T){var E={},S=T,D=S.match(/^([a-z]+):\/\//i);return D&&(E.scheme=D[1],S=S.substr(D[0].length)),D=S.match(/^(.*?)(?=(\?|#|\/|$))/i),D&&(E.host=D[1],S=S.substr(D[0].length)),D=S.match(/^\/(.*?)(?=(\?|#|$))/i),D&&(E.path=D[1],S=S.substr(D[0].length)),D=S.match(/^\?(.*?)(?=(#|$))/i),D&&(E.query=D[1],S=S.substr(D[0].length)),D=S.match(/^#(.*?)$/i),D&&(E.fragment=D[1]),E},s=function(T){var E="";return T.scheme&&T.host&&(E+=T.scheme+"://"),T.host&&(E+=T.host),T.path&&(E+="/"+T.path),T.query&&(E+="?"+T.query),T.fragment&&(E+="#"+T.fragment),E},a=function(T,E){var S=E/2,D=Math.ceil(S),w=-1*Math.floor(S),R="";return w<0&&(R=T.substr(w)),T.substr(0,D)+n+R};if(e.length<=t)return e;var c=t-o,l=r(e);if(l.query){var f=l.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);f&&(l.query=l.query.substr(0,f[1].length),e=s(l))}if(e.length<=t||(l.host&&(l.host=l.host.replace(/^www\./,""),e=s(l)),e.length<=t))return e;var d="";if(l.host&&(d+=l.host),d.length>=c)return l.host.length==t?(l.host.substr(0,t-o)+n).substr(0,c+i):a(d,c).substr(0,c+i);var p="";if(l.path&&(p+="/"+l.path),l.query&&(p+="?"+l.query),p)if((d+p).length>=c){if((d+p).length==t)return(d+p).substr(0,t);var g=c-d.length;return(d+a(p,g)).substr(0,c+i)}else d+=p;if(l.fragment){var m="#"+l.fragment;if((d+m).length>=c){if((d+m).length==t)return(d+m).substr(0,t);var A=c-d.length;return(d+a(m,A)).substr(0,c+i)}else d+=m}if(l.scheme&&l.host){var x=l.scheme+"://";if((d+x).length<c)return(x+d).substr(0,t)}if(d.length<=t)return d;var C="";return c>0&&(C=d.substr(-1*Math.floor(c/2))),(d.substr(0,Math.ceil(c/2))+n+C).substr(0,c+i)}function Ffe(e,t,n){if(e.length<=t)return e;var i,o;n==null?(n="…",i=8,o=3):(i=n.length,o=n.length);var r=t-o,s="";return r>0&&(s=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+s).substr(0,r+i)}function Vfe(e,t,n){return Rfe(e,t,n)}var Ufe=function(){function e(t){t===void 0&&(t={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=t.newWindow||!1,this.truncate=t.truncate||{},this.className=t.className||""}return e.prototype.build=function(t){return new fk({tagName:"a",attrs:this.createAttrs(t),innerHtml:this.processAnchorText(t.getAnchorText())})},e.prototype.createAttrs=function(t){var n={href:t.getAnchorHref()},i=this.createCssClass(t);return i&&(n.class=i),this.newWindow&&(n.target="_blank",n.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<t.getAnchorText().length&&(n.title=t.getAnchorHref()),n},e.prototype.createCssClass=function(t){var n=this.className;if(n){for(var i=[n],o=t.getCssClassSuffixes(),r=0,s=o.length;r<s;r++)i.push(n+"-"+o[r]);return i.join(" ")}else return""},e.prototype.processAnchorText=function(t){return t=this.doTruncate(t),t},e.prototype.doTruncate=function(t){var n=this.truncate;if(!n||!n.length)return t;var i=n.length,o=n.location;return o==="smart"?Nfe(t,i):o==="middle"?Ffe(t,i):Vfe(t,i)},e}();var FW=function(e,t){return FW=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(n[o]=i[o])},FW(e,t)};function em(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");FW(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Is=function(){return Is=Object.assign||function(t){for(var n,i=1,o=arguments.length;i<o;i++){n=arguments[i];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Is.apply(this,arguments)};var tm=function(){function e(t){this._=null,this.matchedText="",this.offset=0,this.tagBuilder=t.tagBuilder,this.matchedText=t.matchedText,this.offset=t.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(t){this.offset=t},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.type]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}();var pKe="(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|verm\xF6gensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|verm\xF6gensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|travelchannel|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|\u043A\u0430\u0442\u043E\u043B\u0438\u043A|\u0627\u062A\u0635\u0627\u0644\u0627\u062A|\u0627\u0644\u0628\u062D\u0631\u064A\u0646|\u0627\u0644\u062C\u0632\u0627\u0626\u0631|\u0627\u0644\u0639\u0644\u064A\u0627\u0646|\u067E\u0627\u06A9\u0633\u062A\u0627\u0646|\u0643\u0627\u062B\u0648\u0644\u064A\u0643|\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|yachts|yandex|zappos|\u043C\u043E\u0441\u043A\u0432\u0430|\u043E\u043D\u043B\u0430\u0439\u043D|\u0627\u0628\u0648\u0638\u0628\u064A|\u0627\u0631\u0627\u0645\u0643\u0648|\u0627\u0644\u0627\u0631\u062F\u0646|\u0627\u0644\u0645\u063A\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062A|\u0641\u0644\u0633\u0637\u064A\u0646|\u0645\u0644\u064A\u0633\u064A\u0627|\u092D\u093E\u0930\u0924\u092E\u094D|\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8|\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|\u05D9\u05E9\u05E8\u05D0\u05DC|\u0627\u06CC\u0631\u0627\u0646|\u0628\u0627\u0632\u0627\u0631|\u0628\u06BE\u0627\u0631\u062A|\u0633\u0648\u062F\u0627\u0646|\u0633\u0648\u0631\u064A\u0629|\u0647\u0645\u0631\u0627\u0647|\u092D\u093E\u0930\u094B\u0924|\u0938\u0902\u0917\u0920\u0928|\u09AC\u09BE\u0982\u09B2\u09BE|\u0C2D\u0C3E\u0C30\u0C24\u0C4D|\u0D2D\u0D3E\u0D30\u0D24\u0D02|\u5609\u91CC\u5927\u9152\u5E97|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|\u0434\u0435\u0442\u0438|\u0441\u0430\u0439\u0442|\u0628\u0627\u0631\u062A|\u0628\u064A\u062A\u0643|\u0680\u0627\u0631\u062A|\u062A\u0648\u0646\u0633|\u0634\u0628\u0643\u0629|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0645\u0648\u0642\u0639|\u092D\u093E\u0930\u0924|\u09AD\u09BE\u09B0\u09A4|\u09AD\u09BE\u09F0\u09A4|\u0A2D\u0A3E\u0A30\u0A24|\u0AAD\u0ABE\u0AB0\u0AA4|\u0B2D\u0B3E\u0B30\u0B24|\u0CAD\u0CBE\u0CB0\u0CA4|\u0DBD\u0D82\u0D9A\u0DCF|\u30A2\u30DE\u30BE\u30F3|\u30B0\u30FC\u30B0\u30EB|\u30AF\u30E9\u30A6\u30C9|\u30DD\u30A4\u30F3\u30C8|\u7EC4\u7EC7\u673A\u6784|\u96FB\u8A0A\u76C8\u79D1|\u9999\u683C\u91CC\u62C9|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|\u0431\u0435\u043B|\u043A\u043E\u043C|\u049B\u0430\u0437|\u043C\u043A\u0434|\u043C\u043E\u043D|\u043E\u0440\u0433|\u0440\u0443\u0441|\u0441\u0440\u0431|\u0443\u043A\u0440|\u0570\u0561\u0575|\u05E7\u05D5\u05DD|\u0639\u0631\u0628|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0915\u0949\u092E|\u0928\u0947\u091F|\u0E04\u0E2D\u0E21|\u0E44\u0E17\u0E22|\u0EA5\u0EB2\u0EA7|\u30B9\u30C8\u30A2|\u30BB\u30FC\u30EB|\u307F\u3093\u306A|\u4E2D\u6587\u7F51|\u4E9A\u9A6C\u900A|\u5929\u4E3B\u6559|\u6211\u7231\u4F60|\u65B0\u52A0\u5761|\u6DE1\u9A6C\u9521|\u8BFA\u57FA\u4E9A|\u98DE\u5229\u6D66|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|\u03B5\u03BB|\u03B5\u03C5|\u0431\u0433|\u0435\u044E|\u0440\u0444|\u10D2\u10D4|\uB2F7\uB137|\uB2F7\uCEF4|\uC0BC\uC131|\uD55C\uAD6D|\u30B3\u30E0|\u4E16\u754C|\u4E2D\u4FE1|\u4E2D\u56FD|\u4E2D\u570B|\u4F01\u4E1A|\u4F5B\u5C71|\u4FE1\u606F|\u5065\u5EB7|\u516B\u5366|\u516C\u53F8|\u516C\u76CA|\u53F0\u6E7E|\u53F0\u7063|\u5546\u57CE|\u5546\u5E97|\u5546\u6807|\u5609\u91CC|\u5728\u7EBF|\u5927\u62FF|\u5A31\u4E50|\u5BB6\u96FB|\u5E7F\u4E1C|\u5FAE\u535A|\u6148\u5584|\u624B\u673A|\u62DB\u8058|\u653F\u52A1|\u653F\u5E9C|\u65B0\u95FB|\u65F6\u5C1A|\u66F8\u7C4D|\u673A\u6784|\u6E38\u620F|\u6FB3\u9580|\u70B9\u770B|\u79FB\u52A8|\u7F51\u5740|\u7F51\u5E97|\u7F51\u7AD9|\u7F51\u7EDC|\u8054\u901A|\u8C37\u6B4C|\u8D2D\u7269|\u901A\u8CA9|\u96C6\u56E2|\u98DF\u54C1|\u9910\u5385|\u9999\u6E2F)",kfe=new RegExp("^"+pKe+"$");var _Ke=/[\/?#]/,gKe=/[-+&@#/%=~_()|'$*\[\]{}\u2713]/,zfe=/[?!:,.;^]/,VW=/https?:\/\//i,Hfe=new RegExp("^"+VW.source,"i"),Gfe=new RegExp(zfe.source+"$"),yKe=/^(javascript|vbscript):/i,AKe=/^[A-Za-z][-.+A-Za-z0-9]*:(\/\/)?([^:/]*)/,xKe=/^(?:\/\/)?([^/#?:]+)/;function dk(e){return yy.test(e)}function UW(e){return yy.test(e)||ws.test(e)||e==="+"||e==="-"||e==="."}function h_(e){return Ud.test(e)}function hk(e){return e==="_"||h_(e)}function kW(e){return Ud.test(e)||gKe.test(e)||zfe.test(e)}function mk(e){return _Ke.test(e)}function zW(e){return kfe.test(e.toLowerCase())}function Wfe(e){if(yKe.test(e))return!1;var t=e.match(AKe);if(!t)return!1;var n=!!t[1],i=t[2];return n?!0:!(i.indexOf(".")===-1||!yy.test(i))}function jfe(e){var t=e.match(xKe);if(!t)return!1;var n=t[0],i=n.split(".");if(i.length<2)return!1;var o=i[i.length-1];return!!zW(o)}var CKe=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,TKe=/[:/?#]/;function Yfe(e){var t=e.split(TKe,1)[0];return CKe.test(t)}var EKe=/^(https?:\/\/)?(www\.)?/i,bKe=/^\/\//,qfe=function(e){em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="url",i.url="",i.urlMatchType="scheme",i.protocolRelativeMatch=!1,i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.protocolPrepended=!1,i.urlMatchType=n.urlMatchType,i.url=n.url,i.protocolRelativeMatch=n.protocolRelativeMatch,i.stripPrefix=n.stripPrefix,i.stripTrailingSlash=n.stripTrailingSlash,i.decodePercentEncoding=n.decodePercentEncoding,i}return t.prototype.getType=function(){return"url"},t.prototype.getUrlMatchType=function(){return this.urlMatchType},t.prototype.getUrl=function(){var n=this.url;return!this.protocolRelativeMatch&&this.urlMatchType!=="scheme"&&!this.protocolPrepended&&(n=this.url="http://"+n,this.protocolPrepended=!0),n},t.prototype.getAnchorHref=function(){var n=this.getUrl();return n.replace(/&/g,"&")},t.prototype.getAnchorText=function(){var n=this.getMatchedText();return this.protocolRelativeMatch&&(n=vKe(n)),this.stripPrefix.scheme&&(n=SKe(n)),this.stripPrefix.www&&(n=DKe(n)),this.stripTrailingSlash&&(n=wKe(n)),this.decodePercentEncoding&&(n=IKe(n)),n},t}(tm);function SKe(e){return e.replace(Hfe,"")}function DKe(e){return e.replace(EKe,"$1")}function vKe(e){return e.replace(bKe,"")}function wKe(e){return e.charAt(e.length-1)==="/"&&(e=e.slice(0,-1)),e}function IKe(e){var t=e.replace(/%22/gi,""").replace(/%26/gi,"&").replace(/%27/gi,"'").replace(/%3C/gi,"<").replace(/%3E/gi,">");try{return decodeURIComponent(t)}catch{return t}}var Xfe=/^mailto:/i,PKe=new RegExp("[".concat(NW,"!#$%&'*+/=?^_`{|}~-]"));function Kfe(e){return Ud.test(e)}function pk(e){return PKe.test(e)}function Zfe(e){var t=e.split(".").pop()||"";return zW(t)}var Jfe=function(e){em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="email",i.email="",i.email=n.email,i}return t.prototype.getType=function(){return"email"},t.prototype.getEmail=function(){return this.email},t.prototype.getAnchorHref=function(){return"mailto:"+this.email},t.prototype.getAnchorText=function(){return this.email},t}(tm);function HW(e){return e==="_"||Ud.test(e)}function Qfe(e){return e.length<=140}var $fe=["twitter","facebook","instagram","tiktok"];var ede=function(e){em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="hashtag",i.serviceName="twitter",i.hashtag="",i.serviceName=n.serviceName,i.hashtag=n.hashtag,i}return t.prototype.getType=function(){return"hashtag"},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getHashtag=function(){return this.hashtag},t.prototype.getAnchorHref=function(){var n=this.serviceName,i=this.hashtag;switch(n){case"twitter":return"https://twitter.com/hashtag/"+i;case"facebook":return"https://www.facebook.com/hashtag/"+i;case"instagram":return"https://instagram.com/explore/tags/"+i;case"tiktok":return"https://www.tiktok.com/tag/"+i;default:throw gy(n),new Error("Invalid hashtag service: ".concat(n))}},t.prototype.getAnchorText=function(){return"#"+this.hashtag},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(tm);var OKe={twitter:/^@\w{1,15}$/,instagram:/^@[_\w]{1,30}$/,soundcloud:/^@[-a-z0-9_]{3,25}$/,tiktok:/^@[.\w]{1,23}[\w]$/},RKe=/[-\w.]/;function GW(e){return RKe.test(e)}function tde(e,t){var n=OKe[t];return n.test(e)}var nde=["twitter","instagram","soundcloud","tiktok"];var ide=function(e){em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="mention",i.serviceName="twitter",i.mention="",i.mention=n.mention,i.serviceName=n.serviceName,i}return t.prototype.getType=function(){return"mention"},t.prototype.getMention=function(){return this.mention},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;case"tiktok":return"https://www.tiktok.com/@"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},t.prototype.getAnchorText=function(){return"@"+this.mention},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(tm);var BKe=/[-. ]/,MKe=/[-. ()]/,LKe=/[,;]/,NKe=/(?:(?:(?:(\+)?\d{1,3}[-. ]?)?\(?\d{3}\)?[-. ]?\d{3}[-. ]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-. ]?(?:\d[-. ]?){6,12}\d+))([,;]+[0-9]+#?)*/,FKe=/(0([1-9]-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/,VKe=new RegExp("^".concat(NKe.source,"|").concat(FKe.source,"$"));function WW(e){return BKe.test(e)}function _k(e){return LKe.test(e)}function ode(e){var t=e.charAt(0)==="+"||MKe.test(e);return t&&VKe.test(e)}var rde=function(e){em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="phone",i.number="",i.plusSign=!1,i.number=n.number,i.plusSign=n.plusSign,i}return t.prototype.getType=function(){return"phone"},t.prototype.getPhoneNumber=function(){return this.number},t.prototype.getNumber=function(){return this.getPhoneNumber()},t.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},t.prototype.getAnchorText=function(){return this.matchedText},t}(tm);function cde(e,t){for(var n=t.tagBuilder,i=t.stripPrefix,o=t.stripTrailingSlash,r=t.decodePercentEncoding,s=t.hashtagServiceName,a=t.mentionServiceName,c=[],l=e.length,f=[],d=0;d<l;d++){var p=e.charAt(d);if(f.length===0)x(p);else for(var g=f.length-1;g>=0;g--){var m=f[g];switch(m.state){case 11:w(m,p);break;case 12:R(m,p);break;case 0:C(m,p);break;case 1:T(m,p);break;case 2:E(m,p);break;case 3:S(m,p);break;case 4:D(m,p);break;case 5:O(m,p);break;case 6:L(m,p);break;case 7:N(m,p);break;case 13:_(m,p);break;case 14:b(m,p);break;case 8:v(m,p);break;case 9:I(m,p);break;case 10:B(m,p);break;case 15:F(m,p);break;case 16:k(m,p);break;case 17:U(m,p);break;case 18:G(m,p);break;case 19:V(m,p);break;case 20:X(m,p);break;case 21:j(m,p);break;case 22:Q(m,p);break;case 23:W(m,p);break;case 24:K(m,p);break;case 25:J(m,p);break;case 26:_e(m,p);break;case 27:xe(m,p);break;case 28:re(m,p);break;case 29:ye(m,p);break;case 30:fe(m,p);break;case 31:Se(m,p);break;case 32:Ve(m,p);break;case 33:qe(m,p);break;case 34:mt(m,p);break;case 35:Ht(m,p);break;case 36:fn(m,p);break;case 37:we(m,p);break;case 38:dt(m,p);break;case 39:Tn(m,p);break;case 40:Jn(m,p);break;case 41:Gt(m,p);break;default:gy(m.state)}}}for(var A=f.length-1;A>=0;A--)f.forEach(function(pe){return Je(pe)});return c;function x(pe){if(pe==="#")f.push(GKe(d,28));else if(pe==="@")f.push(WKe(d,30));else if(pe==="/")f.push(YW(d,11));else if(pe==="+")f.push(qW(d,37));else if(pe==="(")f.push(qW(d,32));else{if(ws.test(pe)&&(f.push(qW(d,38)),f.push(zKe(d,13))),Kfe(pe)){var me=pe.toLowerCase()==="m"?15:22;f.push(HKe(d,me))}dk(pe)&&f.push(jW(d,0)),Ud.test(pe)&&f.push(YW(d,5))}}function C(pe,me){me===":"?pe.state=2:me==="-"?pe.state=1:UW(me)||Vo(f,pe)}function T(pe,me){me==="-"||(me==="/"?(Vo(f,pe),f.push(YW(d,11))):UW(me)?pe.state=0:Vo(f,pe))}function E(pe,me){me==="/"?pe.state=3:me==="."?Vo(f,pe):h_(me)?(pe.state=5,dk(me)&&f.push(jW(d,0))):Vo(f,pe)}function S(pe,me){me==="/"?pe.state=4:kW(me)?(pe.state=10,pe.acceptStateReached=!0):Je(pe)}function D(pe,me){me==="/"?pe.state=10:h_(me)?(pe.state=5,pe.acceptStateReached=!0):Vo(f,pe)}function w(pe,me){me==="/"?pe.state=12:Vo(f,pe)}function R(pe,me){h_(me)?pe.state=5:Vo(f,pe)}function O(pe,me){me==="."?pe.state=7:me==="-"?pe.state=6:me===":"?pe.state=8:mk(me)?pe.state=10:hk(me)||Je(pe)}function L(pe,me){me==="-"||(me==="."?Je(pe):h_(me)?pe.state=5:Je(pe))}function N(pe,me){me==="."?Je(pe):h_(me)?(pe.state=5,pe.acceptStateReached=!0):Je(pe)}function _(pe,me){me==="."?pe.state=14:me===":"?pe.state=8:ws.test(me)||(mk(me)?pe.state=10:Ud.test(me)?Vo(f,pe):Je(pe))}function b(pe,me){ws.test(me)?(pe.octetsEncountered++,pe.octetsEncountered===4&&(pe.acceptStateReached=!0),pe.state=13):Je(pe)}function v(pe,me){ws.test(me)?pe.state=9:Je(pe)}function I(pe,me){ws.test(me)||(mk(me)?pe.state=10:Je(pe))}function B(pe,me){kW(me)||Je(pe)}function F(pe,me){me.toLowerCase()==="a"?pe.state=16:Q(pe,me)}function k(pe,me){me.toLowerCase()==="i"?pe.state=17:Q(pe,me)}function U(pe,me){me.toLowerCase()==="l"?pe.state=18:Q(pe,me)}function G(pe,me){me.toLowerCase()==="t"?pe.state=19:Q(pe,me)}function V(pe,me){me.toLowerCase()==="o"?pe.state=20:Q(pe,me)}function X(pe,me){me.toLowerCase()===":"?pe.state=21:Q(pe,me)}function j(pe,me){pk(me)?pe.state=22:Vo(f,pe)}function Q(pe,me){me==="."?pe.state=23:me==="@"?pe.state=24:pk(me)?pe.state=22:Vo(f,pe)}function W(pe,me){me==="."?Vo(f,pe):me==="@"?Vo(f,pe):pk(me)?pe.state=22:Vo(f,pe)}function K(pe,me){h_(me)?pe.state=25:Vo(f,pe)}function J(pe,me){me==="."?pe.state=27:me==="-"?pe.state=26:hk(me)||Je(pe)}function _e(pe,me){me==="-"||me==="."?Je(pe):hk(me)?pe.state=25:Je(pe)}function xe(pe,me){me==="."||me==="-"?Je(pe):h_(me)?(pe.state=25,pe.acceptStateReached=!0):Je(pe)}function re(pe,me){HW(me)?(pe.state=29,pe.acceptStateReached=!0):Vo(f,pe)}function ye(pe,me){HW(me)||Je(pe)}function fe(pe,me){GW(me)?(pe.state=31,pe.acceptStateReached=!0):Vo(f,pe)}function Se(pe,me){GW(me)||(Ud.test(me)?Vo(f,pe):Je(pe))}function we(pe,me){ws.test(me)?pe.state=38:(Vo(f,pe),x(me))}function Ve(pe,me){ws.test(me)?pe.state=33:Vo(f,pe),x(me)}function qe(pe,me){ws.test(me)?pe.state=34:Vo(f,pe)}function mt(pe,me){ws.test(me)?pe.state=35:Vo(f,pe)}function Ht(pe,me){me===")"?pe.state=36:Vo(f,pe)}function fn(pe,me){ws.test(me)?pe.state=38:WW(me)?pe.state=39:Vo(f,pe)}function dt(pe,me){pe.acceptStateReached=!0,_k(me)?pe.state=40:me==="#"?pe.state=41:ws.test(me)||(me==="("?pe.state=32:WW(me)?pe.state=39:(Je(pe),dk(me)&&f.push(jW(d,0))))}function Tn(pe,me){ws.test(me)?pe.state=38:me==="("?pe.state=32:(Je(pe),x(me))}function Jn(pe,me){_k(me)||(me==="#"?pe.state=41:ws.test(me)?pe.state=38:Je(pe))}function Gt(pe,me){_k(me)?pe.state=40:ws.test(me)?Vo(f,pe):Je(pe)}function Je(pe){if(Vo(f,pe),!!pe.acceptStateReached){var me=pe.startIdx,be=e.slice(pe.startIdx,d);if(be=kKe(be),pe.type==="url"){var St=e.charAt(pe.startIdx-1);if(St==="@")return;var qt=pe.matchType;if(qt==="scheme"){var Kn=VW.exec(be);if(Kn&&(me=me+Kn.index,be=be.slice(Kn.index)),!Wfe(be))return}else if(qt==="tld"){if(!jfe(be))return}else if(qt==="ipV4"){if(!Yfe(be))return}else gy(qt);c.push(new qfe({tagBuilder:n,matchedText:be,offset:me,urlMatchType:qt,url:be,protocolRelativeMatch:be.slice(0,2)==="//",stripPrefix:i,stripTrailingSlash:o,decodePercentEncoding:r}))}else if(pe.type==="email")Zfe(be)&&c.push(new Jfe({tagBuilder:n,matchedText:be,offset:me,email:be.replace(Xfe,"")}));else if(pe.type==="hashtag")Qfe(be)&&c.push(new ede({tagBuilder:n,matchedText:be,offset:me,serviceName:s,hashtag:be.slice(1)}));else if(pe.type==="mention")tde(be,a)&&c.push(new ide({tagBuilder:n,matchedText:be,offset:me,serviceName:a,mention:be.slice(1)}));else if(pe.type==="phone"){if(be=be.replace(/ +$/g,""),ode(be)){var Ro=be.replace(/[^0-9,;#]/g,"");c.push(new rde({tagBuilder:n,matchedText:be,offset:me,number:Ro,plusSign:be.charAt(0)==="+"}))}}else gy(pe)}}}var UKe=/[\(\{\[]/,sde=/[\)\}\]]/,ade={")":"(","}":"{","]":"["};function kKe(e){for(var t={"(":0,"{":0,"[":0},n=0;n<e.length;n++){var i=e.charAt(n);UKe.test(i)?t[i]++:sde.test(i)&&t[ade[i]]--}for(var o=e.length-1,r;o>=0;)if(r=e.charAt(o),sde.test(r)){var s=ade[r];if(t[s]<0)t[s]++,o--;else break}else if(Gfe.test(r))o--;else break;return e.slice(0,o+1)}function jW(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"scheme"}}function YW(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"tld"}}function zKe(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"ipV4",octetsEncountered:1}}function HKe(e,t){return{type:"email",startIdx:e,state:t,acceptStateReached:!1}}function GKe(e,t){return{type:"hashtag",startIdx:e,state:t,acceptStateReached:!1}}function WKe(e,t){return{type:"mention",startIdx:e,state:t,acceptStateReached:!1}}function qW(e,t){return{type:"phone",startIdx:e,state:t,acceptStateReached:!1}}function lde(e,t){for(var n=t.onOpenTag,i=t.onCloseTag,o=t.onText,r=t.onComment,s=t.onDoctype,a=new nm,c=0,l=e.length,f=0,d=0,p=a;c<l;){var g=e.charAt(c);switch(f){case 0:m(g);break;case 1:A(g);break;case 2:C(g);break;case 3:x(g);break;case 4:T(g);break;case 5:E(g);break;case 6:S(g);break;case 7:D(g);break;case 8:w(g);break;case 9:R(g);break;case 10:O(g);break;case 11:L(g);break;case 12:N(g);break;case 13:_(g);break;case 14:b(g);break;case 15:v(g);break;case 16:I(g);break;case 17:B(g);break;case 18:F(g);break;case 19:k(g);break;case 20:U(g);break;default:gy(f)}c++}d<c&&j();function m(K){K==="<"&&V()}function A(K){K==="!"?f=13:K==="/"?(f=2,p=new nm(Is(Is({},p),{isClosing:!0}))):K==="<"?V():yy.test(K)?(f=3,p=new nm(Is(Is({},p),{isOpening:!0}))):(f=0,p=a)}function x(K){du.test(K)?(p=new nm(Is(Is({},p),{name:Q()})),f=4):K==="<"?V():K==="/"?(p=new nm(Is(Is({},p),{name:Q()})),f=12):K===">"?(p=new nm(Is(Is({},p),{name:Q()})),X()):!yy.test(K)&&!ws.test(K)&&K!==":"&&G()}function C(K){K===">"?G():yy.test(K)?f=3:G()}function T(K){du.test(K)||(K==="/"?f=12:K===">"?X():K==="<"?V():K==="="||uk.test(K)||Bfe.test(K)?G():f=5)}function E(K){du.test(K)?f=6:K==="/"?f=12:K==="="?f=7:K===">"?X():K==="<"?V():uk.test(K)&&G()}function S(K){du.test(K)||(K==="/"?f=12:K==="="?f=7:K===">"?X():K==="<"?V():uk.test(K)?G():f=5)}function D(K){du.test(K)||(K==='"'?f=8:K==="'"?f=9:/[>=`]/.test(K)?G():K==="<"?V():f=10)}function w(K){K==='"'&&(f=11)}function R(K){K==="'"&&(f=11)}function O(K){du.test(K)?f=4:K===">"?X():K==="<"&&V()}function L(K){du.test(K)?f=4:K==="/"?f=12:K===">"?X():K==="<"?V():(f=4,W())}function N(K){K===">"?(p=new nm(Is(Is({},p),{isClosing:!0})),X()):f=4}function _(K){e.substr(c,2)==="--"?(c+=2,p=new nm(Is(Is({},p),{type:"comment"})),f=14):e.substr(c,7).toUpperCase()==="DOCTYPE"?(c+=7,p=new nm(Is(Is({},p),{type:"doctype"})),f=20):G()}function b(K){K==="-"?f=15:K===">"?G():f=16}function v(K){K==="-"?f=18:K===">"?G():f=16}function I(K){K==="-"&&(f=17)}function B(K){K==="-"?f=18:f=16}function F(K){K===">"?X():K==="!"?f=19:K==="-"||(f=16)}function k(K){K==="-"?f=17:K===">"?X():f=16}function U(K){K===">"?X():K==="<"&&V()}function G(){f=0,p=a}function V(){f=1,p=new nm({idx:c})}function X(){var K=e.slice(d,p.idx);K&&o(K,d),p.type==="comment"?r(p.idx):p.type==="doctype"?s(p.idx):(p.isOpening&&n(p.name,p.idx),p.isClosing&&i(p.name,p.idx)),G(),d=c+1}function j(){var K=e.slice(d,c);o(K,d),d=c+1}function Q(){var K=p.idx+(p.isClosing?2:1);return e.slice(K,c).toLowerCase()}function W(){c--}}var nm=function(){function e(t){t===void 0&&(t={}),this.idx=t.idx!==void 0?t.idx:-1,this.type=t.type||"tag",this.name=t.name||"",this.isOpening=!!t.isOpening,this.isClosing=!!t.isClosing}return e}();var jKe=function(){function e(t){t===void 0&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=YKe(t.urls),this.email=fu(t.email)?t.email:this.email,this.phone=fu(t.phone)?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=fu(t.newWindow)?t.newWindow:this.newWindow,this.stripPrefix=qKe(t.stripPrefix),this.stripTrailingSlash=fu(t.stripTrailingSlash)?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=fu(t.decodePercentEncoding)?t.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=t.sanitizeHtml||!1;var n=this.mention;if(n!==!1&&nde.indexOf(n)===-1)throw new Error("invalid `mention` cfg '".concat(n,"' - see docs"));var i=this.hashtag;if(i!==!1&&$fe.indexOf(i)===-1)throw new Error("invalid `hashtag` cfg '".concat(i,"' - see docs"));this.truncate=XKe(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,n){var i=new e(n);return i.link(t)},e.parse=function(t,n){var i=new e(n);return i.parse(t)},e.prototype.parse=function(t){var n=this,i=["a","style","script"],o=0,r=[];return lde(t,{onOpenTag:function(s){i.indexOf(s)>=0&&o++},onText:function(s,a){if(o===0){var c=/( | |<|<|>|>|"|"|')/gi,l=s.split(c),f=a;l.forEach(function(d,p){if(p%2===0){var g=n.parseText(d,f);r.push.apply(r,g)}f+=d.length})}},onCloseTag:function(s){i.indexOf(s)>=0&&(o=Math.max(o-1,0))},onComment:function(s){},onDoctype:function(s){}}),r=this.compactMatches(r),r=this.removeUnwantedMatches(r),r},e.prototype.compactMatches=function(t){t.sort(function(c,l){return c.getOffset()-l.getOffset()});for(var n=0;n<t.length-1;){var i=t[n],o=i.getOffset(),r=i.getMatchedText().length,s=o+r;if(n+1<t.length){if(t[n+1].getOffset()===o){var a=t[n+1].getMatchedText().length>r?n:n+1;t.splice(a,1);continue}if(t[n+1].getOffset()<s){t.splice(n+1,1);continue}}n++}return t},e.prototype.removeUnwantedMatches=function(t){return this.hashtag||_y(t,function(n){return n.getType()==="hashtag"}),this.email||_y(t,function(n){return n.getType()==="email"}),this.phone||_y(t,function(n){return n.getType()==="phone"}),this.mention||_y(t,function(n){return n.getType()==="mention"}),this.urls.schemeMatches||_y(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="scheme"}),this.urls.tldMatches||_y(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="tld"}),this.urls.ipV4Matches||_y(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="ipV4"}),t},e.prototype.parseText=function(t,n){n===void 0&&(n=0),n=n||0;for(var i=cde(t,{tagBuilder:this.getTagBuilder(),stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding,hashtagServiceName:this.hashtag,mentionServiceName:this.mention||"twitter"}),o=0,r=i.length;o<r;o++)i[o].setOffset(n+i[o].getOffset());return i},e.prototype.link=function(t){if(!t)return"";this.sanitizeHtml&&(t=t.replace(/</g,"<").replace(/>/g,">"));for(var n=this.parse(t),i=[],o=0,r=0,s=n.length;r<s;r++){var a=n[r];i.push(t.substring(o,a.getOffset())),i.push(this.createMatchReturnVal(a)),o=a.getOffset()+a.getMatchedText().length}return i.push(t.substring(o)),i.join("")},e.prototype.createMatchReturnVal=function(t){var n;if(this.replaceFn&&(n=this.replaceFn.call(this.context,t)),typeof n=="string")return n;if(n===!1)return t.getMatchedText();if(n instanceof fk)return n.toAnchorString();var i=t.buildTag();return i.toAnchorString()},e.prototype.getTagBuilder=function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new Ufe({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t},e.version=Pfe,e}(),ude=jKe;function YKe(e){return e==null&&(e=!0),fu(e)?{schemeMatches:e,tldMatches:e,ipV4Matches:e}:{schemeMatches:fu(e.schemeMatches)?e.schemeMatches:!0,tldMatches:fu(e.tldMatches)?e.tldMatches:!0,ipV4Matches:fu(e.ipV4Matches)?e.ipV4Matches:!0}}function qKe(e){return e==null&&(e=!0),fu(e)?{scheme:e,www:e}:{scheme:fu(e.scheme)?e.scheme:!0,www:fu(e.www)?e.www:!0}}function XKe(e){return typeof e=="number"?{length:e,location:"end"}:Ofe(e||{},{length:Number.POSITIVE_INFINITY,location:"end"})}var gk=ude;var Ade;typeof DOMParser<"u"&&(Ade=new DOMParser);var KKe=new gk({stripPrefix:!1,email:!1,replaceFn:function(e,t){return t.urlMatchType==="scheme"||t.urlMatchType==="www"}}),yk=32,fde=2414016,dde=1,hde=16093e3,mde=.1,ZKe=[null,void 0,"http://www.topografix.com/GPX/1/1"],bo={gpx:ZKe};function JKe(e){return new Promise((t,n)=>{let i=new FileReader;i.addEventListener("load",function(){t(i.result)}),i.addEventListener("error",function(){n(i.error)}),i.readAsText(e)})}function XW(e,t){let n=uM(e,"id");return n=u(n)?n:zn(),t.getOrCreateEntity(n)}function KW(e){let t=pde(e,"lon"),n=pde(e,"lat"),i=cM(e,"ele",bo.gpx);return h.fromDegrees(t,n,i)}function pde(e,t){if(!u(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function uM(e,t){if(!u(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function Ay(e,t,n){if(!u(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function ZW(e,t,n){if(!u(e))return;let i=[],o=e.getElementsByTagName(t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function cM(e,t,n){let i=Ay(e,t,n);if(u(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function Tl(e,t,n){let i=Ay(e,t,n);if(u(i))return i.textContent.trim()}function xde(e){let t=new Na;return t.width=yk,t.height=yk,t.scaleByDistance=new Pt(fde,dde,hde,mde),t.pixelOffsetScaleByDistance=new Pt(fde,dde,hde,mde),t.verticalOrigin=new ei(On.BOTTOM),t.image=e,t}function QKe(){let e=new $f;return e.translucencyByDistance=new Pt(3e6,1,5e6,0),e.pixelOffset=new H(17,0),e.horizontalOrigin=_i.LEFT,e.font="16px sans-serif",e.style=No.FILL_AND_OUTLINE,e}function Cde(e){let t=new Ua;return t.width=4,t.material=new iy,t.material.color=u(e)?e:z.RED,t.material.outlineWidth=2,t.material.outlineColor=z.BLACK,t}var _de={time:{text:"Time",tag:"time"},comment:{text:"Comment",tag:"cmt"},description:{text:"Description",tag:"desc"},source:{text:"Source",tag:"src"},number:{text:"GPS track/route number",tag:"number"},type:{text:"Type",tag:"type"}},lM;typeof document<"u"&&(lM=document.createElement("div"));function JW(e,t){let n,i="",o=Object.keys(_de),r=o.length;for(n=0;n<r;n++){let f=o[n],d=_de[f];d.value=y(Tl(e,d.tag,bo.gpx),""),u(d.value)&&d.value!==""&&(i=`${i}<p>${d.text}: ${d.value}</p>`)}if(!u(i)||i==="")return;i=KKe.link(i),lM.innerHTML=i;let s=lM.querySelectorAll("a");for(n=0;n<s.length;n++)s[n].setAttribute("target","_blank");let a=z.WHITE,c=z.BLACK,l='<div class="cesium-infoBox-description-lighter" style="';return l+="overflow:auto;",l+="word-wrap:break-word;",l+=`background-color:${a.toCssColorString()};`,l+=`color:${c.toCssColorString()};`,l+='">',l+=`${lM.innerHTML}</div>`,lM.innerHTML="",l}function Tde(e,t,n,i){let o=KW(t),r=XW(t,n);r.position=o;let s=u(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",z.RED,yk);r.billboard=xde(s);let a=Tl(t,"name",bo.gpx);r.name=a,r.label=QKe(),r.label.text=a,r.description=JW(t,r),i.clampToGround&&(r.billboard.heightReference=We.CLAMP_TO_GROUND,r.label.heightReference=We.CLAMP_TO_GROUND)}function $Ke(e,t,n,i){let o=XW(t,n);o.description=JW(t,o);let r=ZW(t,"rtept",bo.gpx),s=new Array(r.length);for(let a=0;a<r.length;a++)Tde(e,r[a],n,i),s[a]=KW(r[a]);o.polyline=Cde(i.routeColor),i.clampToGround&&(o.polyline.clampToGround=!0),o.polyline.positions=s}function eZe(e,t,n,i){let o=XW(t,n);o.description=JW(t,o);let r=ZW(t,"trkseg",bo.gpx),s=[],a=[],c,l=!0,f=new Ys;for(let d=0;d<r.length;d++)c=tZe(r[d]),s=s.concat(c.positions),c.times.length>0?(a=a.concat(c.times),f.addSamples(a,s),l=l&&!0):l=!1;if(l){let d=u(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",z.RED,yk);o.billboard=xde(d),o.position=f,i.clampToGround&&(o.billboard.heightReference=We.CLAMP_TO_GROUND),o.availability=new Pr,o.availability.addInterval(new An({start:a[0],stop:a[a.length-1]}))}o.polyline=Cde(i.trackColor),o.polyline.positions=s,i.clampToGround&&(o.polyline.clampToGround=!0)}function tZe(e){let t={positions:[],times:[]},n=ZW(e,"trkpt",bo.gpx),i;for(let o=0;o<n.length;o++){let r=KW(n[o]);t.positions.push(r),i=Tl(n[o],"time",bo.gpx),u(i)&&t.times.push($.fromIso8601(i))}return t}function nZe(e){let t=Ay(e,"metadata",bo.gpx);if(u(t)){let n={name:Tl(t,"name",bo.gpx),desc:Tl(t,"desc",bo.gpx),author:iZe(t),copyright:rZe(t),link:Ede(t),time:Tl(t,"time",bo.gpx),keywords:Tl(t,"keywords",bo.gpx),bounds:sZe(t)};if(u(n.name)||u(n.desc)||u(n.author)||u(n.copyright)||u(n.link)||u(n.time)||u(n.keywords)||u(n.bounds))return n}}function iZe(e){let t=Ay(e,"author",bo.gpx);if(u(t)){let n={name:Tl(t,"name",bo.gpx),email:oZe(t),link:Ede(t)};if(u(n.name)||u(n.email)||u(n.link))return n}}function oZe(e){let t=Ay(e,"email",bo.gpx);if(u(t)){let n=Tl(t,"id",bo.gpx),i=Tl(t,"domain",bo.gpx);return`${n}@${i}`}}function Ede(e){let t=Ay(e,"link",bo.gpx);if(u(t)){let n={href:uM(t,"href"),text:Tl(t,"text",bo.gpx),mimeType:Tl(t,"type",bo.gpx)};if(u(n.href)||u(n.text)||u(n.mimeType))return n}}function rZe(e){let t=Ay(e,"copyright",bo.gpx);if(u(t)){let n={author:uM(t,"author"),year:Tl(t,"year",bo.gpx),license:Tl(t,"license",bo.gpx)};if(u(n.author)||u(n.year)||u(n.license))return n}}function sZe(e){let t=Ay(e,"bounds",bo.gpx);if(u(t)){let n={minLat:cM(t,"minlat",bo.gpx),maxLat:cM(t,"maxlat",bo.gpx),minLon:cM(t,"minlon",bo.gpx),maxLon:cM(t,"maxlon",bo.gpx)};if(u(n.minLat)||u(n.maxLat)||u(n.minLon)||u(n.maxLon))return n}}var gde={wpt:Tde,rte:$Ke,trk:eZe};function aZe(e,t,n,i){let o=Object.keys(gde),r=o.length;for(let s=0;s<r;s++){let a=o[s],c=gde[a],l=t.childNodes,f=l.length;for(let d=0;d<f;d++){let p=l[d];p.localName===a&&bo.gpx.indexOf(p.namespaceURI)!==-1&&c(e,p,n,i)}}}function yde(e,t,n){let i=e._entityCollection;i.removeAll();let o=t.documentElement,r=uM(o,"version"),s=uM(o,"creator"),a,c=nZe(o);u(c)&&(a=c.name),o.localName==="gpx"?aZe(e,o,i,n):console.log(`GPX - Unsupported node: ${o.localName}`);let l,f=i.computeAvailability(),d=f.start,p=f.stop,g=$.equals(d,ze.MINIMUM_VALUE),m=$.equals(p,ze.MAXIMUM_VALUE);if(!g||!m){let x;g&&(x=new Date,x.setHours(0,0,0,0),d=$.fromDate(x)),m&&(x=new Date,x.setHours(24,0,0,0),p=$.fromDate(x)),l=new wd,l.startTime=d,l.stopTime=p,l.currentTime=$.clone(d),l.clockRange=Br.LOOP_STOP,l.clockStep=uo.SYSTEM_CLOCK_MULTIPLIER,l.multiplier=Math.round(Math.min(Math.max($.secondsDifference(p,d)/60,1),31556900))}let A=!1;return e._name!==a&&(e._name=a,A=!0),e._creator!==s&&(e._creator=s,A=!0),cZe(e._metadata,c)&&(e._metadata=c,A=!0),e._version!==r&&(e._version=r,A=!0),l!==e._clock&&(A=!0,e._clock=l),A&&e._changed.raiseEvent(e),Or.setLoading(e,!1),e}function cZe(e,t){return!u(e)&&!u(t)?!1:u(e)&&u(t)?e.name!==t.name||e.dec!==t.desc||e.src!==t.src||e.author!==t.author||e.copyright!==t.copyright||e.link!==t.link||e.time!==t.time||e.bounds!==t.bounds:!0}function lZe(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=n;if(typeof n=="string"||n instanceof Oe){n=Oe.createIfNeeded(n),o=n.fetchBlob();let r=e._resourceCredits,s=n.credits;if(u(s)){let a=s.length;for(let c=0;c<a;c++)r.push(s[c])}}return Promise.resolve(o).then(function(r){return r instanceof Blob?JKe(r).then(function(s){let a,c;try{a=Ade.parseFromString(s,"application/xml")}catch(l){c=l.toString()}if(u(c)||a.body||a.documentElement.tagName==="parsererror"){let l=u(c)?c:a.documentElement.firstChild.nodeValue;throw l||(l=a.body.innerText),new ue(l)}return yde(e,a,i)}):yde(e,r,i)}).catch(function(r){return e._error.raiseEvent(e,r),console.log(r),Promise.reject(r)})}function pb(){this._changed=new Ae,this._error=new Ae,this._loading=new Ae,this._clock=void 0,this._entityCollection=new Ss(this),this._entityCluster=new tu,this._name=void 0,this._version=void 0,this._creator=void 0,this._metadata=void 0,this._isLoading=!1,this._pinBuilder=new d_}pb.load=function(e,t){return new pb().load(e,t)};Object.defineProperties(pb.prototype,{name:{get:function(){return this._name}},version:{get:function(){return this._version}},creator:{get:function(){return this._creator}},metadata:{get:function(){return this._metadata}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});pb.prototype.update=function(e){return!0};pb.prototype.load=function(e,t){if(!u(e))throw new de("data is required.");t=y(t,y.EMPTY_OBJECT),Or.setLoading(this,!0);let n=this._name,i=this;return lZe(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=$.equals(s,ze.MINIMUM_VALUE),l=$.equals(a,ze.MAXIMUM_VALUE);if(!c||!l){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=$.fromDate(d)),l&&(d=new Date,d.setHours(24,0,0,0),a=$.fromDate(d)),o=new wd,o.startTime=s,o.stopTime=a,o.currentTime=$.clone(s),o.clockRange=Br.LOOP_STOP,o.clockStep=uo.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max($.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Or.setLoading(i,!1),i}).catch(function(o){return Or.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};var fM=pb;function uZe(e,t){this.position=e,this.headingPitchRoll=t}var dM=uZe;var vM=vo(Ll(),1);function Sk(e){return Dk(e.map(([t,n])=>new Array(t).fill(n,0,t)))}function Dk(e){return e.reduce((t,n)=>t.concat(Array.isArray(n)?Dk(n):n),[])}var bde=[0,1,2,3].concat(...Sk([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function lr(){let e=this;function t(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,l=e.stat_desc.max_length,f,d,p,g,m,A,x=0;for(g=0;g<=15;g++)o.bl_count[g]=0;for(r[o.heap[o.heap_max]*2+1]=0,f=o.heap_max+1;f<573;f++)d=o.heap[f],g=r[r[d*2+1]*2+1]+1,g>l&&(g=l,x++),r[d*2+1]=g,!(d>e.max_code)&&(o.bl_count[g]++,m=0,d>=c&&(m=a[d-c]),A=r[d*2],o.opt_len+=A*(g+m),s&&(o.static_len+=A*(s[d*2+1]+m)));if(x!==0){do{for(g=l-1;o.bl_count[g]===0;)g--;o.bl_count[g]--,o.bl_count[g+1]+=2,o.bl_count[l]--,x-=2}while(x>0);for(g=l;g!==0;g--)for(d=o.bl_count[g];d!==0;)p=o.heap[--f],!(p>e.max_code)&&(r[p*2+1]!=g&&(o.opt_len+=(g-r[p*2+1])*r[p*2],r[p*2+1]=g),d--)}}function n(o,r){let s=0;do s|=o&1,o>>>=1,s<<=1;while(--r>0);return s>>>1}function i(o,r,s){let a=[],c=0,l,f,d;for(l=1;l<=15;l++)a[l]=c=c+s[l-1]<<1;for(f=0;f<=r;f++)d=o[f*2+1],d!==0&&(o[f*2]=n(a[d]++,d))}e.build_tree=function(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems,c,l,f=-1,d;for(o.heap_len=0,o.heap_max=573,c=0;c<a;c++)r[c*2]!==0?(o.heap[++o.heap_len]=f=c,o.depth[c]=0):r[c*2+1]=0;for(;o.heap_len<2;)d=o.heap[++o.heap_len]=f<2?++f:0,r[d*2]=1,o.depth[d]=0,o.opt_len--,s&&(o.static_len-=s[d*2+1]);for(e.max_code=f,c=Math.floor(o.heap_len/2);c>=1;c--)o.pqdownheap(r,c);d=a;do c=o.heap[1],o.heap[1]=o.heap[o.heap_len--],o.pqdownheap(r,1),l=o.heap[1],o.heap[--o.heap_max]=c,o.heap[--o.heap_max]=l,r[d*2]=r[c*2]+r[l*2],o.depth[d]=Math.max(o.depth[c],o.depth[l])+1,r[c*2+1]=r[l*2+1]=d,o.heap[1]=d++,o.pqdownheap(r,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],t(o),i(r,e.max_code,o.bl_count)}}lr._length_code=[0,1,2,3,4,5,6,7].concat(...Sk([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));lr.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];lr.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];lr.d_code=function(e){return e<256?bde[e]:bde[256+(e>>>7)]};lr.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];lr.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];lr.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];lr.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function pa(e,t,n,i,o){let r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=o}var fZe=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],dZe=Sk([[144,8],[112,9],[24,7],[8,8]]);pa.static_ltree=Dk(fZe.map((e,t)=>[e,dZe[t]]));var hZe=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],mZe=Sk([[30,5]]);pa.static_dtree=Dk(hZe.map((e,t)=>[e,mZe[t]]));pa.static_l_desc=new pa(pa.static_ltree,lr.extra_lbits,256+1,286,15);pa.static_d_desc=new pa(pa.static_dtree,lr.extra_dbits,0,30,15);pa.static_bl_desc=new pa(null,lr.extra_blbits,0,19,7);var pZe=9,_Ze=8;function im(e,t,n,i,o){let r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=o}var Dde=0,Ek=1,bx=2,kd=[new im(0,0,0,0,Dde),new im(4,4,8,4,Ek),new im(4,5,16,8,Ek),new im(4,6,32,32,Ek),new im(4,4,16,16,bx),new im(8,16,32,32,bx),new im(8,16,128,128,bx),new im(8,32,128,256,bx),new im(32,128,258,1024,bx),new im(32,258,258,4096,bx)],Ak=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],Tf=0,xk=1,hM=2,Ck=3,gZe=32,QW=42,Tk=113,mM=666,$W=8,yZe=0,e7=1,AZe=2,gr=3,bk=258,hu=bk+gr+1;function Sde(e,t,n,i){let o=e[t*2],r=e[n*2];return o<r||o==r&&i[t]<=i[n]}function xZe(){let e=this,t,n,i,o,r,s,a,c,l,f,d,p,g,m,A,x,C,T,E,S,D,w,R,O,L,N,_,b,v,I,B,F,k,U=new lr,G=new lr,V=new lr;e.depth=[];let X,j,Q,W,K,J;e.bl_count=[],e.heap=[],B=[],F=[],k=[];function _e(){l=2*r,d[g-1]=0;for(let Be=0;Be<g-1;Be++)d[Be]=0;N=kd[_].max_lazy,v=kd[_].good_length,I=kd[_].nice_length,L=kd[_].max_chain,D=0,C=0,R=0,T=O=gr-1,S=0,p=0}function xe(){let Be;for(Be=0;Be<286;Be++)B[Be*2]=0;for(Be=0;Be<30;Be++)F[Be*2]=0;for(Be=0;Be<19;Be++)k[Be*2]=0;B[256*2]=1,e.opt_len=e.static_len=0,j=Q=0}function re(){U.dyn_tree=B,U.stat_desc=pa.static_l_desc,G.dyn_tree=F,G.stat_desc=pa.static_d_desc,V.dyn_tree=k,V.stat_desc=pa.static_bl_desc,K=0,J=0,W=8,xe()}e.pqdownheap=function(Be,it){let Ke=e.heap,Ze=Ke[it],ft=it<<1;for(;ft<=e.heap_len&&(ft<e.heap_len&&Sde(Be,Ke[ft+1],Ke[ft],e.depth)&&ft++,!Sde(Be,Ze,Ke[ft],e.depth));)Ke[it]=Ke[ft],it=ft,ft<<=1;Ke[it]=Ze};function ye(Be,it){let Ke=-1,Ze,ft=Be[0*2+1],Lt=0,En=7,so=4;ft===0&&(En=138,so=3),Be[(it+1)*2+1]=65535;for(let So=0;So<=it;So++)Ze=ft,ft=Be[(So+1)*2+1],!(++Lt<En&&Ze==ft)&&(Lt<so?k[Ze*2]+=Lt:Ze!==0?(Ze!=Ke&&k[Ze*2]++,k[16*2]++):Lt<=10?k[17*2]++:k[18*2]++,Lt=0,Ke=Ze,ft===0?(En=138,so=3):Ze==ft?(En=6,so=3):(En=7,so=4))}function fe(){let Be;for(ye(B,U.max_code),ye(F,G.max_code),V.build_tree(e),Be=19-1;Be>=3&&k[lr.bl_order[Be]*2+1]===0;Be--);return e.opt_len+=3*(Be+1)+5+5+4,Be}function Se(Be){e.pending_buf[e.pending++]=Be}function we(Be){Se(Be&255),Se(Be>>>8&255)}function Ve(Be){Se(Be>>8&255),Se(Be&255&255)}function qe(Be,it){let Ke,Ze=it;J>16-Ze?(Ke=Be,K|=Ke<<J&65535,we(K),K=Ke>>>16-J,J+=Ze-16):(K|=Be<<J&65535,J+=Ze)}function mt(Be,it){let Ke=Be*2;qe(it[Ke]&65535,it[Ke+1]&65535)}function Ht(Be,it){let Ke,Ze=-1,ft,Lt=Be[0*2+1],En=0,so=7,So=4;for(Lt===0&&(so=138,So=3),Ke=0;Ke<=it;Ke++)if(ft=Lt,Lt=Be[(Ke+1)*2+1],!(++En<so&&ft==Lt)){if(En<So)do mt(ft,k);while(--En!==0);else ft!==0?(ft!=Ze&&(mt(ft,k),En--),mt(16,k),qe(En-3,2)):En<=10?(mt(17,k),qe(En-3,3)):(mt(18,k),qe(En-11,7));En=0,Ze=ft,Lt===0?(so=138,So=3):ft==Lt?(so=6,So=3):(so=7,So=4)}}function fn(Be,it,Ke){let Ze;for(qe(Be-257,5),qe(it-1,5),qe(Ke-4,4),Ze=0;Ze<Ke;Ze++)qe(k[lr.bl_order[Ze]*2+1],3);Ht(B,Be-1),Ht(F,it-1)}function dt(){J==16?(we(K),K=0,J=0):J>=8&&(Se(K&255),K>>>=8,J-=8)}function Tn(){qe(e7<<1,3),mt(256,pa.static_ltree),dt(),1+W+10-J<9&&(qe(e7<<1,3),mt(256,pa.static_ltree),dt()),W=7}function Jn(Be,it){let Ke,Ze,ft;if(e.dist_buf[j]=Be,e.lc_buf[j]=it&255,j++,Be===0?B[it*2]++:(Q++,Be--,B[(lr._length_code[it]+256+1)*2]++,F[lr.d_code(Be)*2]++),!(j&8191)&&_>2){for(Ke=j*8,Ze=D-C,ft=0;ft<30;ft++)Ke+=F[ft*2]*(5+lr.extra_dbits[ft]);if(Ke>>>=3,Q<Math.floor(j/2)&&Ke<Math.floor(Ze/2))return!0}return j==X-1}function Gt(Be,it){let Ke,Ze,ft=0,Lt,En;if(j!==0)do Ke=e.dist_buf[ft],Ze=e.lc_buf[ft],ft++,Ke===0?mt(Ze,Be):(Lt=lr._length_code[Ze],mt(Lt+256+1,Be),En=lr.extra_lbits[Lt],En!==0&&(Ze-=lr.base_length[Lt],qe(Ze,En)),Ke--,Lt=lr.d_code(Ke),mt(Lt,it),En=lr.extra_dbits[Lt],En!==0&&(Ke-=lr.base_dist[Lt],qe(Ke,En)));while(ft<j);mt(256,Be),W=Be[256*2+1]}function Je(){J>8?we(K):J>0&&Se(K&255),K=0,J=0}function pe(Be,it,Ke){Je(),W=8,Ke&&(we(it),we(~it)),e.pending_buf.set(c.subarray(Be,Be+it),e.pending),e.pending+=it}function me(Be,it,Ke){qe((yZe<<1)+(Ke?1:0),3),pe(Be,it,!0)}function be(Be,it,Ke){let Ze,ft,Lt=0;_>0?(U.build_tree(e),G.build_tree(e),Lt=fe(),Ze=e.opt_len+3+7>>>3,ft=e.static_len+3+7>>>3,ft<=Ze&&(Ze=ft)):Ze=ft=it+5,it+4<=Ze&&Be!=-1?me(Be,it,Ke):ft==Ze?(qe((e7<<1)+(Ke?1:0),3),Gt(pa.static_ltree,pa.static_dtree)):(qe((AZe<<1)+(Ke?1:0),3),fn(U.max_code+1,G.max_code+1,Lt+1),Gt(B,F)),xe(),Ke&&Je()}function St(Be){be(C>=0?C:-1,D-C,Be),C=D,t.flush_pending()}function qt(){let Be,it,Ke,Ze;do{if(Ze=l-R-D,Ze===0&&D===0&&R===0)Ze=r;else if(Ze==-1)Ze--;else if(D>=r+r-hu){c.set(c.subarray(r,r+r),0),w-=r,D-=r,C-=r,Be=g,Ke=Be;do it=d[--Ke]&65535,d[Ke]=it>=r?it-r:0;while(--Be!==0);Be=r,Ke=Be;do it=f[--Ke]&65535,f[Ke]=it>=r?it-r:0;while(--Be!==0);Ze+=r}if(t.avail_in===0)return;Be=t.read_buf(c,D+R,Ze),R+=Be,R>=gr&&(p=c[D]&255,p=(p<<x^c[D+1]&255)&A)}while(R<hu&&t.avail_in!==0)}function Kn(Be){let it=65535,Ke;for(it>i-5&&(it=i-5);;){if(R<=1){if(qt(),R===0&&Be==0)return Tf;if(R===0)break}if(D+=R,R=0,Ke=C+it,(D===0||D>=Ke)&&(R=D-Ke,D=Ke,St(!1),t.avail_out===0)||D-C>=r-hu&&(St(!1),t.avail_out===0))return Tf}return St(Be==4),t.avail_out===0?Be==4?hM:Tf:Be==4?Ck:xk}function Ro(Be){let it=L,Ke=D,Ze,ft,Lt=O,En=D>r-hu?D-(r-hu):0,so=I,So=a,ns=D+bk,Nr=c[Ke+Lt-1],Hi=c[Ke+Lt];O>=v&&(it>>=2),so>R&&(so=R);do if(Ze=Be,!(c[Ze+Lt]!=Hi||c[Ze+Lt-1]!=Nr||c[Ze]!=c[Ke]||c[++Ze]!=c[Ke+1])){Ke+=2,Ze++;do;while(c[++Ke]==c[++Ze]&&c[++Ke]==c[++Ze]&&c[++Ke]==c[++Ze]&&c[++Ke]==c[++Ze]&&c[++Ke]==c[++Ze]&&c[++Ke]==c[++Ze]&&c[++Ke]==c[++Ze]&&c[++Ke]==c[++Ze]&&Ke<ns);if(ft=bk-(ns-Ke),Ke=ns-bk,ft>Lt){if(w=Be,Lt=ft,ft>=so)break;Nr=c[Ke+Lt-1],Hi=c[Ke+Lt]}}while((Be=f[Be&So]&65535)>En&&--it!==0);return Lt<=R?Lt:R}function Uo(Be){let it=0,Ke;for(;;){if(R<hu){if(qt(),R<hu&&Be==0)return Tf;if(R===0)break}if(R>=gr&&(p=(p<<x^c[D+(gr-1)]&255)&A,it=d[p]&65535,f[D&a]=d[p],d[p]=D),it!==0&&(D-it&65535)<=r-hu&&b!=2&&(T=Ro(it)),T>=gr)if(Ke=Jn(D-w,T-gr),R-=T,T<=N&&R>=gr){T--;do D++,p=(p<<x^c[D+(gr-1)]&255)&A,it=d[p]&65535,f[D&a]=d[p],d[p]=D;while(--T!==0);D++}else D+=T,T=0,p=c[D]&255,p=(p<<x^c[D+1]&255)&A;else Ke=Jn(0,c[D]&255),R--,D++;if(Ke&&(St(!1),t.avail_out===0))return Tf}return St(Be==4),t.avail_out===0?Be==4?hM:Tf:Be==4?Ck:xk}function Ao(Be){let it=0,Ke,Ze;for(;;){if(R<hu){if(qt(),R<hu&&Be==0)return Tf;if(R===0)break}if(R>=gr&&(p=(p<<x^c[D+(gr-1)]&255)&A,it=d[p]&65535,f[D&a]=d[p],d[p]=D),O=T,E=w,T=gr-1,it!==0&&O<N&&(D-it&65535)<=r-hu&&(b!=2&&(T=Ro(it)),T<=5&&(b==1||T==gr&&D-w>4096)&&(T=gr-1)),O>=gr&&T<=O){Ze=D+R-gr,Ke=Jn(D-1-E,O-gr),R-=O-1,O-=2;do++D<=Ze&&(p=(p<<x^c[D+(gr-1)]&255)&A,it=d[p]&65535,f[D&a]=d[p],d[p]=D);while(--O!==0);if(S=0,T=gr-1,D++,Ke&&(St(!1),t.avail_out===0))return Tf}else if(S!==0){if(Ke=Jn(0,c[D-1]&255),Ke&&St(!1),D++,R--,t.avail_out===0)return Tf}else S=1,D++,R--}return S!==0&&(Ke=Jn(0,c[D-1]&255),S=0),St(Be==4),t.avail_out===0?Be==4?hM:Tf:Be==4?Ck:xk}function Yr(Be){return Be.total_in=Be.total_out=0,Be.msg=null,e.pending=0,e.pending_out=0,n=Tk,o=0,re(),_e(),0}e.deflateInit=function(Be,it,Ke,Ze,ft,Lt){return Ze||(Ze=$W),ft||(ft=_Ze),Lt||(Lt=0),Be.msg=null,it==-1&&(it=6),ft<1||ft>pZe||Ze!=$W||Ke<9||Ke>15||it<0||it>9||Lt<0||Lt>2?-2:(Be.dstate=e,s=Ke,r=1<<s,a=r-1,m=ft+7,g=1<<m,A=g-1,x=Math.floor((m+gr-1)/gr),c=new Uint8Array(r*2),f=[],d=[],X=1<<ft+6,e.pending_buf=new Uint8Array(X*4),i=X*4,e.dist_buf=new Uint16Array(X),e.lc_buf=new Uint8Array(X),_=it,b=Lt,Yr(Be))},e.deflateEnd=function(){return n!=QW&&n!=Tk&&n!=mM?-2:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,d=null,f=null,c=null,e.dstate=null,n==Tk?-3:0)},e.deflateParams=function(Be,it,Ke){let Ze=0;return it==-1&&(it=6),it<0||it>9||Ke<0||Ke>2?-2:(kd[_].func!=kd[it].func&&Be.total_in!==0&&(Ze=Be.deflate(1)),_!=it&&(_=it,N=kd[_].max_lazy,v=kd[_].good_length,I=kd[_].nice_length,L=kd[_].max_chain),b=Ke,Ze)},e.deflateSetDictionary=function(Be,it,Ke){let Ze=Ke,ft,Lt=0;if(!it||n!=QW)return-2;if(Ze<gr)return 0;for(Ze>r-hu&&(Ze=r-hu,Lt=Ke-Ze),c.set(it.subarray(Lt,Lt+Ze),0),D=Ze,C=Ze,p=c[0]&255,p=(p<<x^c[1]&255)&A,ft=0;ft<=Ze-gr;ft++)p=(p<<x^c[ft+(gr-1)]&255)&A,f[ft&a]=d[p],d[p]=ft;return 0},e.deflate=function(Be,it){let Ke,Ze,ft,Lt,En;if(it>4||it<0)return-2;if(!Be.next_out||!Be.next_in&&Be.avail_in!==0||n==mM&&it!=4)return Be.msg=Ak[2- -2],-2;if(Be.avail_out===0)return Be.msg=Ak[2- -5],-5;if(t=Be,Lt=o,o=it,n==QW&&(Ze=$W+(s-8<<4)<<8,ft=(_-1&255)>>1,ft>3&&(ft=3),Ze|=ft<<6,D!==0&&(Ze|=gZe),Ze+=31-Ze%31,n=Tk,Ve(Ze)),e.pending!==0){if(t.flush_pending(),t.avail_out===0)return o=-1,0}else if(t.avail_in===0&&it<=Lt&&it!=4)return t.msg=Ak[2- -5],-5;if(n==mM&&t.avail_in!==0)return Be.msg=Ak[2- -5],-5;if(t.avail_in!==0||R!==0||it!=0&&n!=mM){switch(En=-1,kd[_].func){case Dde:En=Kn(it);break;case Ek:En=Uo(it);break;case bx:En=Ao(it);break;default:}if((En==hM||En==Ck)&&(n=mM),En==Tf||En==hM)return t.avail_out===0&&(o=-1),0;if(En==xk){if(it==1)Tn();else if(me(0,0,!1),it==3)for(Ke=0;Ke<g;Ke++)d[Ke]=0;if(t.flush_pending(),t.avail_out===0)return o=-1,0}}return it!=4?0:1}}function vde(){let e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}vde.prototype={deflateInit:function(e,t){let n=this;return n.dstate=new xZe,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate:function(e){let t=this;return t.dstate?t.dstate.deflate(t,e):-2},deflateEnd:function(){let e=this;if(!e.dstate)return-2;let t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams:function(e,t){let n=this;return n.dstate?n.dstate.deflateParams(n,e,t):-2},deflateSetDictionary:function(e,t){let n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):-2},read_buf:function(e,t,n){let i=this,o=i.avail_in;return o>n&&(o=n),o===0?0:(i.avail_in-=o,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+o),t),i.next_in_index+=o,i.total_in+=o,o)},flush_pending:function(){let e=this,t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,e.dstate.pending===0&&(e.dstate.pending_out=0))}};function CZe(e){let t=this,n=new vde,i=TZe(e&&e.chunkSize?e.chunkSize:64*1024),o=0,r=new Uint8Array(i),s=e?e.level:-1;typeof s>"u"&&(s=-1),n.deflateInit(s),n.next_out=r,t.append=function(a,c){let l,f,d=0,p=0,g=0,m=[];if(a.length){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,l=n.deflate(o),l!=0)throw new Error("deflating: "+n.msg);n.next_out_index&&(n.next_out_index==i?m.push(new Uint8Array(r)):m.push(r.slice(0,n.next_out_index))),g+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=d&&(c(n.next_in_index),d=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return m.length>1?(f=new Uint8Array(g),m.forEach(function(A){f.set(A,p),p+=A.length})):f=m[0]||new Uint8Array(0),f}},t.flush=function(){let a,c,l=0,f=0,d=[];do{if(n.next_out_index=0,n.avail_out=i,a=n.deflate(4),a!=1&&a!=0)throw new Error("deflating: "+n.msg);i-n.avail_out>0&&d.push(r.slice(0,n.next_out_index)),f+=n.next_out_index}while(n.avail_in>0||n.avail_out===0);return n.deflateEnd(),c=new Uint8Array(f),d.forEach(function(p){c.set(p,l),l+=p.length}),c}}function TZe(e){return e+5*(Math.floor(e/16383)+1)}var wde=CZe;var mu=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Xde=1440,EZe=0,bZe=4,SZe=9,DZe=5,vZe=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],wZe=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],IZe=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],PZe=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],OZe=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],RZe=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],xy=15;function o7(){let e=this,t,n,i,o,r,s;function a(l,f,d,p,g,m,A,x,C,T,E){let S,D,w,R,O,L,N,_,b,v,I,B,F,k,U;v=0,O=d;do i[l[f+v]]++,v++,O--;while(O!==0);if(i[0]==d)return A[0]=-1,x[0]=0,0;for(_=x[0],L=1;L<=xy&&i[L]===0;L++);for(N=L,_<L&&(_=L),O=xy;O!==0&&i[O]===0;O--);for(w=O,_>O&&(_=O),x[0]=_,k=1<<L;L<O;L++,k<<=1)if((k-=i[L])<0)return-3;if((k-=i[O])<0)return-3;for(i[O]+=k,s[1]=L=0,v=1,F=2;--O!==0;)s[F]=L+=i[v],F++,v++;O=0,v=0;do(L=l[f+v])!==0&&(E[s[L]++]=O),v++;while(++O<d);for(d=s[w],s[0]=O=0,v=0,R=-1,B=-_,r[0]=0,I=0,U=0;N<=w;N++)for(S=i[N];S--!==0;){for(;N>B+_;){if(R++,B+=_,U=w-B,U=U>_?_:U,(D=1<<(L=N-B))>S+1&&(D-=S+1,F=N,L<U))for(;++L<U&&!((D<<=1)<=i[++F]);)D-=i[F];if(U=1<<L,T[0]+U>Xde)return-3;r[R]=I=T[0],T[0]+=U,R!==0?(s[R]=O,o[0]=L,o[1]=_,L=O>>>B-_,o[2]=I-r[R-1]-L,C.set(o,(r[R-1]+L)*3)):A[0]=I}for(o[1]=N-B,v>=d?o[0]=128+64:E[v]<p?(o[0]=E[v]<256?0:32+64,o[2]=E[v++]):(o[0]=m[E[v]-p]+16+64,o[2]=g[E[v++]-p]),D=1<<N-B,L=O>>>B;L<U;L+=D)C.set(o,(I+L)*3);for(L=1<<N-1;O&L;L>>>=1)O^=L;for(O^=L,b=(1<<B)-1;(O&b)!=s[R];)R--,B-=_,b=(1<<B)-1}return k!==0&&w!=1?-5:0}function c(l){let f;for(t||(t=[],n=[],i=new Int32Array(xy+1),o=[],r=new Int32Array(xy),s=new Int32Array(xy+1)),n.length<l&&(n=[]),f=0;f<l;f++)n[f]=0;for(f=0;f<xy+1;f++)i[f]=0;for(f=0;f<3;f++)o[f]=0;r.set(i.subarray(0,xy),0),s.set(i.subarray(0,xy+1),0)}e.inflate_trees_bits=function(l,f,d,p,g){let m;return c(19),t[0]=0,m=a(l,0,19,19,null,null,d,f,p,t,n),m==-3?g.msg="oversubscribed dynamic bit lengths tree":(m==-5||f[0]===0)&&(g.msg="incomplete dynamic bit lengths tree",m=-3),m},e.inflate_trees_dynamic=function(l,f,d,p,g,m,A,x,C){let T;return c(288),t[0]=0,T=a(d,0,l,257,IZe,PZe,m,p,x,t,n),T!=0||p[0]===0?(T==-3?C.msg="oversubscribed literal/length tree":T!=-4&&(C.msg="incomplete literal/length tree",T=-3),T):(c(288),T=a(d,l,f,0,OZe,RZe,A,g,x,t,n),T!=0||g[0]===0&&l>257?(T==-3?C.msg="oversubscribed distance tree":T==-5?(C.msg="incomplete distance tree",T=-3):T!=-4&&(C.msg="empty distance tree with lengths",T=-3),T):0)}}o7.inflate_trees_fixed=function(e,t,n,i){return e[0]=SZe,t[0]=DZe,n[0]=vZe,i[0]=wZe,0};var vk=0,Ide=1,Pde=2,Ode=3,Rde=4,Bde=5,Mde=6,t7=7,Lde=8,wk=9;function BZe(){let e=this,t,n=0,i,o=0,r=0,s=0,a=0,c=0,l=0,f=0,d,p=0,g,m=0;function A(x,C,T,E,S,D,w,R){let O,L,N,_,b,v,I,B,F,k,U,G,V,X,j,Q;I=R.next_in_index,B=R.avail_in,b=w.bitb,v=w.bitk,F=w.write,k=F<w.read?w.read-F-1:w.end-F,U=mu[x],G=mu[C];do{for(;v<20;)B--,b|=(R.read_byte(I++)&255)<<v,v+=8;if(O=b&U,L=T,N=E,Q=(N+O)*3,(_=L[Q])===0){b>>=L[Q+1],v-=L[Q+1],w.win[F++]=L[Q+2],k--;continue}do{if(b>>=L[Q+1],v-=L[Q+1],_&16){for(_&=15,V=L[Q+2]+(b&mu[_]),b>>=_,v-=_;v<15;)B--,b|=(R.read_byte(I++)&255)<<v,v+=8;O=b&G,L=S,N=D,Q=(N+O)*3,_=L[Q];do if(b>>=L[Q+1],v-=L[Q+1],_&16){for(_&=15;v<_;)B--,b|=(R.read_byte(I++)&255)<<v,v+=8;if(X=L[Q+2]+(b&mu[_]),b>>=_,v-=_,k-=V,F>=X)j=F-X,F-j>0&&2>F-j?(w.win[F++]=w.win[j++],w.win[F++]=w.win[j++],V-=2):(w.win.set(w.win.subarray(j,j+2),F),F+=2,j+=2,V-=2);else{j=F-X;do j+=w.end;while(j<0);if(_=w.end-j,V>_){if(V-=_,F-j>0&&_>F-j)do w.win[F++]=w.win[j++];while(--_!==0);else w.win.set(w.win.subarray(j,j+_),F),F+=_,j+=_,_=0;j=0}}if(F-j>0&&V>F-j)do w.win[F++]=w.win[j++];while(--V!==0);else w.win.set(w.win.subarray(j,j+V),F),F+=V,j+=V,V=0;break}else if(!(_&64))O+=L[Q+2],O+=b&mu[_],Q=(N+O)*3,_=L[Q];else return R.msg="invalid distance code",V=R.avail_in-B,V=v>>3<V?v>>3:V,B+=V,I-=V,v-=V<<3,w.bitb=b,w.bitk=v,R.avail_in=B,R.total_in+=I-R.next_in_index,R.next_in_index=I,w.write=F,-3;while(!0);break}if(_&64)return _&32?(V=R.avail_in-B,V=v>>3<V?v>>3:V,B+=V,I-=V,v-=V<<3,w.bitb=b,w.bitk=v,R.avail_in=B,R.total_in+=I-R.next_in_index,R.next_in_index=I,w.write=F,1):(R.msg="invalid literal/length code",V=R.avail_in-B,V=v>>3<V?v>>3:V,B+=V,I-=V,v-=V<<3,w.bitb=b,w.bitk=v,R.avail_in=B,R.total_in+=I-R.next_in_index,R.next_in_index=I,w.write=F,-3);if(O+=L[Q+2],O+=b&mu[_],Q=(N+O)*3,(_=L[Q])===0){b>>=L[Q+1],v-=L[Q+1],w.win[F++]=L[Q+2],k--;break}}while(!0)}while(k>=258&&B>=10);return V=R.avail_in-B,V=v>>3<V?v>>3:V,B+=V,I-=V,v-=V<<3,w.bitb=b,w.bitk=v,R.avail_in=B,R.total_in+=I-R.next_in_index,R.next_in_index=I,w.write=F,0}e.init=function(x,C,T,E,S,D){t=vk,l=x,f=C,d=T,p=E,g=S,m=D,i=null},e.proc=function(x,C,T){let E,S,D,w=0,R=0,O=0,L,N,_,b;for(O=C.next_in_index,L=C.avail_in,w=x.bitb,R=x.bitk,N=x.write,_=N<x.read?x.read-N-1:x.end-N;;)switch(t){case vk:if(_>=258&&L>=10&&(x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,T=A(l,f,d,p,g,m,x,C),O=C.next_in_index,L=C.avail_in,w=x.bitb,R=x.bitk,N=x.write,_=N<x.read?x.read-N-1:x.end-N,T!=0)){t=T==1?t7:wk;break}r=l,i=d,o=p,t=Ide;case Ide:for(E=r;R<E;){if(L!==0)T=0;else return x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);L--,w|=(C.read_byte(O++)&255)<<R,R+=8}if(S=(o+(w&mu[E]))*3,w>>>=i[S+1],R-=i[S+1],D=i[S],D===0){s=i[S+2],t=Mde;break}if(D&16){a=D&15,n=i[S+2],t=Pde;break}if(!(D&64)){r=D,o=S/3+i[S+2];break}if(D&32){t=t7;break}return t=wk,C.msg="invalid literal/length code",T=-3,x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);case Pde:for(E=a;R<E;){if(L!==0)T=0;else return x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);L--,w|=(C.read_byte(O++)&255)<<R,R+=8}n+=w&mu[E],w>>=E,R-=E,r=f,i=g,o=m,t=Ode;case Ode:for(E=r;R<E;){if(L!==0)T=0;else return x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);L--,w|=(C.read_byte(O++)&255)<<R,R+=8}if(S=(o+(w&mu[E]))*3,w>>=i[S+1],R-=i[S+1],D=i[S],D&16){a=D&15,c=i[S+2],t=Rde;break}if(!(D&64)){r=D,o=S/3+i[S+2];break}return t=wk,C.msg="invalid distance code",T=-3,x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);case Rde:for(E=a;R<E;){if(L!==0)T=0;else return x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);L--,w|=(C.read_byte(O++)&255)<<R,R+=8}c+=w&mu[E],w>>=E,R-=E,t=Bde;case Bde:for(b=N-c;b<0;)b+=x.end;for(;n!==0;){if(_===0&&(N==x.end&&x.read!==0&&(N=0,_=N<x.read?x.read-N-1:x.end-N),_===0&&(x.write=N,T=x.inflate_flush(C,T),N=x.write,_=N<x.read?x.read-N-1:x.end-N,N==x.end&&x.read!==0&&(N=0,_=N<x.read?x.read-N-1:x.end-N),_===0)))return x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);x.win[N++]=x.win[b++],_--,b==x.end&&(b=0),n--}t=vk;break;case Mde:if(_===0&&(N==x.end&&x.read!==0&&(N=0,_=N<x.read?x.read-N-1:x.end-N),_===0&&(x.write=N,T=x.inflate_flush(C,T),N=x.write,_=N<x.read?x.read-N-1:x.end-N,N==x.end&&x.read!==0&&(N=0,_=N<x.read?x.read-N-1:x.end-N),_===0)))return x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);T=0,x.win[N++]=s,_--,t=vk;break;case t7:if(R>7&&(R-=8,L++,O--),x.write=N,T=x.inflate_flush(C,T),N=x.write,_=N<x.read?x.read-N-1:x.end-N,x.read!=x.write)return x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);t=Lde;case Lde:return T=1,x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);case wk:return T=-3,x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T);default:return T=-2,x.bitb=w,x.bitk=R,C.avail_in=L,C.total_in+=O-C.next_in_index,C.next_in_index=O,x.write=N,x.inflate_flush(C,T)}},e.free=function(){}}var Nde=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],_b=0,n7=1,Fde=2,Vde=3,Ude=4,kde=5,Ik=6,Pk=7,zde=8,Sx=9;function MZe(e,t){let n=this,i=_b,o=0,r=0,s=0,a,c=[0],l=[0],f=new BZe,d=0,p=new Int32Array(Xde*3),g=0,m=new o7;n.bitk=0,n.bitb=0,n.win=new Uint8Array(t),n.end=t,n.read=0,n.write=0,n.reset=function(A,x){x&&(x[0]=g),i==Ik&&f.free(A),i=_b,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=function(A,x){let C,T,E;return T=A.next_out_index,E=n.read,C=(E<=n.write?n.write:n.end)-E,C>A.avail_out&&(C=A.avail_out),C!==0&&x==-5&&(x=0),A.avail_out-=C,A.total_out+=C,A.next_out.set(n.win.subarray(E,E+C),T),T+=C,E+=C,E==n.end&&(E=0,n.write==n.end&&(n.write=0),C=n.write-E,C>A.avail_out&&(C=A.avail_out),C!==0&&x==-5&&(x=0),A.avail_out-=C,A.total_out+=C,A.next_out.set(n.win.subarray(E,E+C),T),T+=C,E+=C),A.next_out_index=T,n.read=E,x},n.proc=function(A,x){let C,T,E,S,D,w,R,O;for(S=A.next_in_index,D=A.avail_in,T=n.bitb,E=n.bitk,w=n.write,R=w<n.read?n.read-w-1:n.end-w;;){let L,N,_,b,v,I,B,F;switch(i){case _b:for(;E<3;){if(D!==0)x=0;else return n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);D--,T|=(A.read_byte(S++)&255)<<E,E+=8}switch(C=T&7,d=C&1,C>>>1){case 0:T>>>=3,E-=3,C=E&7,T>>>=C,E-=C,i=n7;break;case 1:L=[],N=[],_=[[]],b=[[]],o7.inflate_trees_fixed(L,N,_,b),f.init(L[0],N[0],_[0],0,b[0],0),T>>>=3,E-=3,i=Ik;break;case 2:T>>>=3,E-=3,i=Vde;break;case 3:return T>>>=3,E-=3,i=Sx,A.msg="invalid block type",x=-3,n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x)}break;case n7:for(;E<32;){if(D!==0)x=0;else return n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);D--,T|=(A.read_byte(S++)&255)<<E,E+=8}if((~T>>>16&65535)!=(T&65535))return i=Sx,A.msg="invalid stored block lengths",x=-3,n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);o=T&65535,T=E=0,i=o!==0?Fde:d!==0?Pk:_b;break;case Fde:if(D===0||R===0&&(w==n.end&&n.read!==0&&(w=0,R=w<n.read?n.read-w-1:n.end-w),R===0&&(n.write=w,x=n.inflate_flush(A,x),w=n.write,R=w<n.read?n.read-w-1:n.end-w,w==n.end&&n.read!==0&&(w=0,R=w<n.read?n.read-w-1:n.end-w),R===0)))return n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);if(x=0,C=o,C>D&&(C=D),C>R&&(C=R),n.win.set(A.read_buf(S,C),w),S+=C,D-=C,w+=C,R-=C,(o-=C)!==0)break;i=d!==0?Pk:_b;break;case Vde:for(;E<14;){if(D!==0)x=0;else return n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);D--,T|=(A.read_byte(S++)&255)<<E,E+=8}if(r=C=T&16383,(C&31)>29||(C>>5&31)>29)return i=Sx,A.msg="too many length or distance symbols",x=-3,n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);if(C=258+(C&31)+(C>>5&31),!a||a.length<C)a=[];else for(O=0;O<C;O++)a[O]=0;T>>>=14,E-=14,s=0,i=Ude;case Ude:for(;s<4+(r>>>10);){for(;E<3;){if(D!==0)x=0;else return n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);D--,T|=(A.read_byte(S++)&255)<<E,E+=8}a[Nde[s++]]=T&7,T>>>=3,E-=3}for(;s<19;)a[Nde[s++]]=0;if(c[0]=7,C=m.inflate_trees_bits(a,c,l,p,A),C!=0)return x=C,x==-3&&(a=null,i=Sx),n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);s=0,i=kde;case kde:for(;C=r,!(s>=258+(C&31)+(C>>5&31));){let k,U;for(C=c[0];E<C;){if(D!==0)x=0;else return n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);D--,T|=(A.read_byte(S++)&255)<<E,E+=8}if(C=p[(l[0]+(T&mu[C]))*3+1],U=p[(l[0]+(T&mu[C]))*3+2],U<16)T>>>=C,E-=C,a[s++]=U;else{for(O=U==18?7:U-14,k=U==18?11:3;E<C+O;){if(D!==0)x=0;else return n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);D--,T|=(A.read_byte(S++)&255)<<E,E+=8}if(T>>>=C,E-=C,k+=T&mu[O],T>>>=O,E-=O,O=s,C=r,O+k>258+(C&31)+(C>>5&31)||U==16&&O<1)return a=null,i=Sx,A.msg="invalid bit length repeat",x=-3,n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);U=U==16?a[O-1]:0;do a[O++]=U;while(--k!==0);s=O}}if(l[0]=-1,v=[],I=[],B=[],F=[],v[0]=9,I[0]=6,C=r,C=m.inflate_trees_dynamic(257+(C&31),1+(C>>5&31),a,v,I,B,F,p,A),C!=0)return C==-3&&(a=null,i=Sx),x=C,n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);f.init(v[0],I[0],p,B[0],p,F[0]),i=Ik;case Ik:if(n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,(x=f.proc(n,A,x))!=1)return n.inflate_flush(A,x);if(x=0,f.free(A),S=A.next_in_index,D=A.avail_in,T=n.bitb,E=n.bitk,w=n.write,R=w<n.read?n.read-w-1:n.end-w,d===0){i=_b;break}i=Pk;case Pk:if(n.write=w,x=n.inflate_flush(A,x),w=n.write,R=w<n.read?n.read-w-1:n.end-w,n.read!=n.write)return n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);i=zde;case zde:return x=1,n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);case Sx:return x=-3,n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x);default:return x=-2,n.bitb=T,n.bitk=E,A.avail_in=D,A.total_in+=S-A.next_in_index,A.next_in_index=S,n.write=w,n.inflate_flush(A,x)}}},n.free=function(A){n.reset(A,null),n.win=null,p=null},n.set_dictionary=function(A,x,C){n.win.set(A.subarray(x,x+C),0),n.read=n.write=C},n.sync_point=function(){return i==n7?1:0}}var LZe=32,NZe=8,FZe=0,Hde=1,Gde=2,Wde=3,jde=4,Yde=5,i7=6,pM=7,qde=12,Cy=13,VZe=[0,0,255,255];function UZe(){let e=this;e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0;function t(n){return!n||!n.istate?-2:(n.total_in=n.total_out=0,n.msg=null,n.istate.mode=pM,n.istate.blocks.reset(n,null),0)}e.inflateEnd=function(n){return e.blocks&&e.blocks.free(n),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new MZe(n,1<<i),t(n),0)},e.inflate=function(n,i){let o,r;if(!n||!n.istate||!n.next_in)return-2;let s=n.istate;for(i=i==bZe?-5:0,o=-5;;)switch(s.mode){case FZe:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,((s.method=n.read_byte(n.next_in_index++))&15)!=NZe){s.mode=Cy,n.msg="unknown compression method",s.marker=5;break}if((s.method>>4)+8>s.wbits){s.mode=Cy,n.msg="invalid win size",s.marker=5;break}s.mode=Hde;case Hde:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,r=n.read_byte(n.next_in_index++)&255,((s.method<<8)+r)%31!==0){s.mode=Cy,n.msg="incorrect header check",s.marker=5;break}if(!(r&LZe)){s.mode=pM;break}s.mode=Gde;case Gde:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need=(n.read_byte(n.next_in_index++)&255)<<24&4278190080,s.mode=Wde;case Wde:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<16&16711680,s.mode=jde;case jde:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<8&65280,s.mode=Yde;case Yde:return n.avail_in===0?o:(o=i,n.avail_in--,n.total_in++,s.need+=n.read_byte(n.next_in_index++)&255,s.mode=i7,2);case i7:return s.mode=Cy,n.msg="need dictionary",s.marker=0,-2;case pM:if(o=s.blocks.proc(n,o),o==-3){s.mode=Cy,s.marker=0;break}if(o==0&&(o=i),o!=1)return o;o=i,s.blocks.reset(n,s.was),s.mode=qde;case qde:return n.avail_in=0,1;case Cy:return-3;default:return-2}},e.inflateSetDictionary=function(n,i,o){let r=0,s=o;if(!n||!n.istate||n.istate.mode!=i7)return-2;let a=n.istate;return s>=1<<a.wbits&&(s=(1<<a.wbits)-1,r=o-s),a.blocks.set_dictionary(i,r,s),a.mode=pM,0},e.inflateSync=function(n){let i,o,r,s,a;if(!n||!n.istate)return-2;let c=n.istate;if(c.mode!=Cy&&(c.mode=Cy,c.marker=0),(i=n.avail_in)===0)return-5;for(o=n.next_in_index,r=c.marker;i!==0&&r<4;)n.read_byte(o)==VZe[r]?r++:n.read_byte(o)!==0?r=0:r=4-r,o++,i--;return n.total_in+=o-n.next_in_index,n.next_in_index=o,n.avail_in=i,c.marker=r,r!=4?-3:(s=n.total_in,a=n.total_out,t(n),n.total_in=s,n.total_out=a,c.mode=pM,0)},e.inflateSyncPoint=function(n){return!n||!n.istate||!n.istate.blocks?-2:n.istate.blocks.sync_point()}}function Kde(){}Kde.prototype={inflateInit:function(e){let t=this;return t.istate=new UZe,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){let t=this;return t.istate?t.istate.inflate(t,e):-2},inflateEnd:function(){let e=this;if(!e.istate)return-2;let t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync:function(){let e=this;return e.istate?e.istate.inflateSync(e):-2},inflateSetDictionary:function(e,t){let n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):-2},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}};function kZe(e){let t=this,n=new Kde,i=e&&e.chunkSize?Math.floor(e.chunkSize*2):128*1024,o=EZe,r=new Uint8Array(i),s=!1;n.inflateInit(),n.next_out=r,t.append=function(a,c){let l=[],f,d,p=0,g=0,m=0;if(a.length!==0){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,n.avail_in===0&&!s&&(n.next_in_index=0,s=!0),f=n.inflate(o),s&&f===-5){if(n.avail_in!==0)throw new Error("inflating: bad input")}else if(f!==0&&f!==1)throw new Error("inflating: "+n.msg);if((s||f===1)&&n.avail_in===a.length)throw new Error("inflating: bad input");n.next_out_index&&(n.next_out_index===i?l.push(new Uint8Array(r)):l.push(r.slice(0,n.next_out_index))),m+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=p&&(c(n.next_in_index),p=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return l.length>1?(d=new Uint8Array(m),l.forEach(function(A){d.set(A,g),g+=A.length})):d=l[0]||new Uint8Array(0),d}},t.flush=function(){n.inflateEnd()}}var Zde=kZe;var zZe={chunkSize:524288,maxWorkers:typeof navigator<"u"&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},El=Object.assign({},zZe);function Ok(){return El}function gb(e){if(e.baseURL!==void 0&&(El.baseURL=e.baseURL),e.chunkSize!==void 0&&(El.chunkSize=e.chunkSize),e.maxWorkers!==void 0&&(El.maxWorkers=e.maxWorkers),e.terminateWorkerTimeout!==void 0&&(El.terminateWorkerTimeout=e.terminateWorkerTimeout),e.useWebWorkers!==void 0&&(El.useWebWorkers=e.useWebWorkers),e.Deflate!==void 0&&(El.Deflate=e.Deflate),e.Inflate!==void 0&&(El.Inflate=e.Inflate),e.workerScripts!==void 0){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");El.workerScripts||(El.workerScripts={}),El.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");El.workerScripts||(El.workerScripts={}),El.workerScripts.inflate=e.workerScripts.inflate}}}var Jde=[];for(let e=0;e<256;e++){let t=e;for(let n=0;n<8;n++)t&1?t=t>>>1^3988292384:t=t>>>1;Jde[e]=t}var r7=class{constructor(t){this.crc=t||-1}append(t){let n=this.crc|0;for(let i=0,o=t.length|0;i<o;i++)n=n>>>8^Jde[(n^t[i])&255];this.crc=n}get(){return~this.crc}},Ty=r7;var _M=HZe;function HZe(e){if(typeof TextEncoder>"u"){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}else return new TextEncoder().encode(e)}var Vc={concat(e,t){if(e.length===0||t.length===0)return e.concat(t);let n=e[e.length-1],i=Vc.getPartial(n);return i===32?e.concat(t):Vc._shiftRight(t,i,n|0,e.slice(0,e.length-1))},bitLength(e){let t=e.length;if(t===0)return 0;let n=e[t-1];return(t-1)*32+Vc.getPartial(n)},clamp(e,t){if(e.length*32<t)return e;e=e.slice(0,Math.ceil(t/32));let n=e.length;return t=t&31,n>0&&t&&(e[n-1]=Vc.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial(e,t,n){return e===32?t:(n?t|0:t<<32-e)+e*1099511627776},getPartial(e){return Math.round(e/1099511627776)||32},_shiftRight(e,t,n,i){for(i===void 0&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(t===0)return i.concat(e);for(let s=0;s<e.length;s++)i.push(n|e[s]>>>t),n=e[s]<<32-t;let o=e.length?e[e.length-1]:0,r=Vc.getPartial(o);return i.push(Vc.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},gM={bytes:{fromBits(e){let n=Vc.bitLength(e)/8,i=new Uint8Array(n),o;for(let r=0;r<n;r++)r&3||(o=e[r/4]),i[r]=o>>>24,o<<=8;return i},toBits(e){let t=[],n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],(n&3)===3&&(t.push(i),i=0);return n&3&&t.push(Vc.partial(8*(n&3),i)),t}}},s7={};s7.sha1=function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()};s7.sha1.prototype={blockSize:512,reset:function(){let e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){let t=this;typeof e=="string"&&(e=gM.utf8String.toBits(e));let n=t._buffer=Vc.concat(t._buffer,e),i=t._length,o=t._length=i+Vc.bitLength(e);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let r=new Uint32Array(n),s=0;for(let a=t.blockSize+i-(t.blockSize+i&t.blockSize-1);a<=o;a+=t.blockSize)t._block(r.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t},finalize:function(){let e=this,t=e._buffer,n=e._h;t=Vc.concat(t,[Vc.partial(1,1)]);for(let i=t.length+2;i&15;i++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(e._length|0);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,i){if(e<=19)return t&n|~t&i;if(e<=39)return t^n^i;if(e<=59)return t&n|t&i|n&i;if(e<=79)return t^n^i},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){let t=this,n=t._h,i=Array(80);for(let l=0;l<16;l++)i[l]=e[l];let o=n[0],r=n[1],s=n[2],a=n[3],c=n[4];for(let l=0;l<=79;l++){l>=16&&(i[l]=t._S(1,i[l-3]^i[l-8]^i[l-14]^i[l-16]));let f=t._S(5,o)+t._f(l,r,s,a)+c+i[l]+t._key[Math.floor(l/20)]|0;c=a,a=s,s=t._S(30,r),r=o,o=f}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+s|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0}};var a7={};a7.aes=class{constructor(e){let t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();let n=t._tables[0][4],i=t._tables[1],o=e.length,r,s,a,c=1;if(o!==4&&o!==6&&o!==8)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),a=[]],r=o;r<4*o+28;r++){let l=s[r-1];(r%o===0||o===8&&r%o===4)&&(l=n[l>>>24]<<24^n[l>>16&255]<<16^n[l>>8&255]<<8^n[l&255],r%o===0&&(l=l<<8^l>>>24^c<<24,c=c<<1^(c>>7)*283)),s[r]=s[r-o]^l}for(let l=0;r;l++,r--){let f=s[l&3?r:r-4];r<=4||l<4?a[l]=f:a[l]=i[0][n[f>>>24]]^i[1][n[f>>16&255]]^i[2][n[f>>8&255]]^i[3][n[f&255]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){let e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],o=[],r=[],s,a,c,l;for(let f=0;f<256;f++)r[(o[f]=f<<1^(f>>7)*283)^f]=f;for(let f=s=0;!n[f];f^=a||1,s=r[s]||1){let d=s^s<<1^s<<2^s<<3^s<<4;d=d>>8^d&255^99,n[f]=d,i[d]=f,l=o[c=o[a=o[f]]];let p=l*16843009^c*65537^a*257^f*16843008,g=o[d]*257^d*16843008;for(let m=0;m<4;m++)e[m][f]=g=g<<24^g>>>8,t[m][d]=p=p<<24^p>>>8}for(let f=0;f<5;f++)e[f]=e[f].slice(0),t[f]=t[f].slice(0)}_crypt(e,t){if(e.length!==4)throw new Error("invalid aes block size");let n=this._key[t],i=n.length/4-2,o=[0,0,0,0],r=this._tables[t],s=r[0],a=r[1],c=r[2],l=r[3],f=r[4],d=e[0]^n[0],p=e[t?3:1]^n[1],g=e[2]^n[2],m=e[t?1:3]^n[3],A=4,x,C,T;for(let E=0;E<i;E++)x=s[d>>>24]^a[p>>16&255]^c[g>>8&255]^l[m&255]^n[A],C=s[p>>>24]^a[g>>16&255]^c[m>>8&255]^l[d&255]^n[A+1],T=s[g>>>24]^a[m>>16&255]^c[d>>8&255]^l[p&255]^n[A+2],m=s[m>>>24]^a[d>>16&255]^c[p>>8&255]^l[g&255]^n[A+3],A+=4,d=x,p=C,g=T;for(let E=0;E<4;E++)o[t?3&-E:E]=f[d>>>24]<<24^f[p>>16&255]<<16^f[g>>8&255]<<8^f[m&255]^n[A++],x=d,d=p,p=g,g=m,m=x;return o}};var Qde={getRandomValues(e){let t=new Uint32Array(e.buffer),n=i=>{let o=987654321,r=4294967295;return function(){return o=36969*(o&65535)+(o>>16)&r,i=18e3*(i&65535)+(i>>16)&r,(((o<<16)+i&r)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i=0,o;i<e.length;i+=4){let r=n((o||Math.random())*4294967296);o=r()*987654071,t[i/4]=r()*4294967296|0}return e}},c7={};c7.ctrGladman=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if((e>>24&255)===255){let t=e>>16&255,n=e>>8&255,i=e&255;t===255?(t=0,n===255?(n=0,i===255?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){(e[0]=this.incWord(e[0]))===0&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];let o=Vc.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);let s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return Vc.clamp(t,o)}};var yb={importKey(e){return new yb.hmacSha1(gM.bytes.toBits(e))},pbkdf2(e,t,n,i){if(n=n||1e4,i<0||n<0)throw new Error("invalid params to pbkdf2");let o=(i>>5)+1<<2,r,s,a,c,l,f=new ArrayBuffer(o),d=new DataView(f),p=0,g=Vc;for(t=gM.bytes.toBits(t),l=1;p<(o||1);l++){for(r=s=e.encrypt(g.concat(t,[l])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)r[c]^=s[c];for(a=0;p<(o||1)&&a<r.length;a++)d.setInt32(p,r[a]),p+=4}return f.slice(0,i/8)}};yb.hmacSha1=class{constructor(e){let t=this,n=t._hash=s7.sha1,i=[[],[]],o=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>o&&(e=n.hash(e));for(let r=0;r<o;r++)i[0][r]=e[r]^909522486,i[1][r]=e[r]^1549556828;t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){let e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){let t=this;t._updated=!0,t._resultHash.update(e)}digest(){let e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}};var xb="Invalid pasword",Ab=16,GZe="raw",$de={name:"PBKDF2"},WZe={name:"HMAC"},jZe="SHA-1",YZe=Object.assign({hash:WZe},$de),ehe=Object.assign({iterations:1e3,hash:{name:jZe}},$de),qZe=["deriveBits"],AM=[8,12,16],yM=[16,24,32],Ey=10,the=[0,0,0,0],Mk=typeof crypto<"u",nhe=Mk&&typeof crypto.subtle<"u",om=gM.bytes,ihe=a7.aes,ohe=c7.ctrGladman,rhe=yb.hmacSha1,Rk=class{constructor(t,n,i){Object.assign(this,{password:t,signed:n,strength:i-1,pendingInput:new Uint8Array(0)})}async append(t){let n=this;if(n.password){let o=pu(t,0,AM[n.strength]+2);await XZe(n,o,n.password),n.password=null,n.aesCtrGladman=new ohe(new ihe(n.keys.key),Array.from(the)),n.hmac=new rhe(n.keys.authentication),t=pu(t,AM[n.strength]+2)}let i=new Uint8Array(t.length-Ey-(t.length-Ey)%Ab);return she(n,t,i,0,Ey,!0)}flush(){let t=this,n=t.pendingInput,i=pu(n,0,n.length-Ey),o=pu(n,n.length-Ey),r=new Uint8Array(0);if(i.length){let a=om.toBits(i);t.hmac.update(a);let c=t.aesCtrGladman.update(a);r=om.fromBits(c)}let s=!0;if(t.signed){let a=pu(om.fromBits(t.hmac.digest()),0,Ey);for(let c=0;c<Ey;c++)a[c]!=o[c]&&(s=!1)}return{valid:s,data:r}}},Bk=class{constructor(t,n){Object.assign(this,{password:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(t){let n=this,i=new Uint8Array(0);n.password&&(i=await KZe(n,n.password),n.password=null,n.aesCtrGladman=new ohe(new ihe(n.keys.key),Array.from(the)),n.hmac=new rhe(n.keys.authentication));let o=new Uint8Array(i.length+t.length-t.length%Ab);return o.set(i,0),she(n,t,o,i.length,0)}flush(){let t=this,n=new Uint8Array(0);if(t.pendingInput.length){let o=t.aesCtrGladman.update(om.toBits(t.pendingInput));t.hmac.update(o),n=om.fromBits(o)}let i=pu(om.fromBits(t.hmac.digest()),0,Ey);return{data:l7(n,i),signature:i}}};function she(e,t,n,i,o,r){let s=t.length-o;e.pendingInput.length&&(t=l7(e.pendingInput,t),n=$Ze(n,s-s%Ab));let a;for(a=0;a<=s-Ab;a+=Ab){let c=om.toBits(pu(t,a,a+Ab));r&&e.hmac.update(c);let l=e.aesCtrGladman.update(c);r||e.hmac.update(l),n.set(om.fromBits(l),a+i)}return e.pendingInput=pu(t,a),n}async function XZe(e,t,n){await ahe(e,n,pu(t,0,AM[e.strength]));let i=pu(t,AM[e.strength]),o=e.keys.passwordVerification;if(o[0]!=i[0]||o[1]!=i[1])throw new Error(xb)}async function KZe(e,t){let n=ZZe(new Uint8Array(AM[e.strength]));return await ahe(e,t,n),l7(n,e.keys.passwordVerification)}async function ahe(e,t,n){let i=_M(t),o=await JZe(GZe,i,YZe,!1,qZe),r=await QZe(Object.assign({salt:n},ehe),o,8*(yM[e.strength]*2+2)),s=new Uint8Array(r);e.keys={key:om.toBits(pu(s,0,yM[e.strength])),authentication:om.toBits(pu(s,yM[e.strength],yM[e.strength]*2)),passwordVerification:pu(s,yM[e.strength]*2)}}function ZZe(e){return Mk&&typeof crypto.getRandomValues=="function"?crypto.getRandomValues(e):Qde.getRandomValues(e)}function JZe(e,t,n,i,o){return Mk&&nhe&&typeof crypto.subtle.importKey=="function"?crypto.subtle.importKey(e,t,n,i,o):yb.importKey(t)}async function QZe(e,t,n){return Mk&&nhe&&typeof crypto.subtle.deriveBits=="function"?await crypto.subtle.deriveBits(e,t,n):yb.pbkdf2(t,e.salt,ehe.iterations,n)}function l7(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function $Ze(e,t){if(t&&t>e.length){let n=e;e=new Uint8Array(t),e.set(n,0)}return e}function pu(e,t,n){return e.subarray(t,n)}var Cb=12,Lk=class{constructor(t,n){let i=this;Object.assign(i,{password:t,passwordVerification:n}),fhe(i,t)}append(t){let n=this;if(n.password){let i=che(n,t.subarray(0,Cb));if(n.password=null,i[Cb-1]!=n.passwordVerification)throw new Error(xb);t=t.subarray(Cb)}return che(n,t)}flush(){return{valid:!0,data:new Uint8Array(0)}}},Nk=class{constructor(t,n){let i=this;Object.assign(i,{password:t,passwordVerification:n}),fhe(i,t)}append(t){let n=this,i,o;if(n.password){n.password=null;let r=crypto.getRandomValues(new Uint8Array(Cb));r[Cb-1]=n.passwordVerification,i=new Uint8Array(t.length+r.length),i.set(lhe(n,r),0),o=Cb}else i=new Uint8Array(t.length),o=0;return i.set(lhe(n,t),o),i}flush(){return{data:new Uint8Array(0)}}};function che(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=dhe(e)^t[i],u7(e,n[i]);return n}function lhe(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=dhe(e)^t[i],u7(e,t[i]);return n}function fhe(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new Ty(e.keys[0]),e.crcKey2=new Ty(e.keys[2]);for(let n=0;n<t.length;n++)u7(e,t.charCodeAt(n))}function u7(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=uhe(e.keys[1]+hhe(e.keys[0])),e.keys[1]=uhe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function dhe(e){let t=e.keys[2]|2;return hhe(Math.imul(t,t^1)>>>8)}function hhe(e){return e&255}function uhe(e){return e&4294967295}var Vk="deflate",Uk="inflate",Fk="Invalid signature",f7=class{constructor(t,{signature:n,password:i,signed:o,compressed:r,zipCrypto:s,passwordVerification:a,encryptionStrength:c},{chunkSize:l}){let f=Boolean(i);Object.assign(this,{signature:n,encrypted:f,signed:o,compressed:r,inflate:r&&new t({chunkSize:l}),crc32:o&&new Ty,zipCrypto:s,decrypt:f&&s?new Lk(i,a):new Rk(i,o,c)})}async append(t){let n=this;return n.encrypted&&t.length&&(t=await n.decrypt.append(t)),n.compressed&&t.length&&(t=await n.inflate.append(t)),(!n.encrypted||n.zipCrypto)&&n.signed&&t.length&&n.crc32.append(t),t}async flush(){let t=this,n,i=new Uint8Array(0);if(t.encrypted){let o=t.decrypt.flush();if(!o.valid)throw new Error(Fk);i=o.data}if((!t.encrypted||t.zipCrypto)&&t.signed){let o=new DataView(new Uint8Array(4).buffer);if(n=t.crc32.get(),o.setUint32(0,n),t.signature!=o.getUint32(0,!1))throw new Error(Fk)}return t.compressed&&(i=await t.inflate.append(i)||new Uint8Array(0),await t.inflate.flush()),{data:i,signature:n}}},d7=class{constructor(t,{encrypted:n,signed:i,compressed:o,level:r,zipCrypto:s,password:a,passwordVerification:c,encryptionStrength:l},{chunkSize:f}){Object.assign(this,{encrypted:n,signed:i,compressed:o,deflate:o&&new t({level:r||5,chunkSize:f}),crc32:i&&new Ty,zipCrypto:s,encrypt:n&&s?new Nk(a,c):new Bk(a,l)})}async append(t){let n=this,i=t;return n.compressed&&t.length&&(i=await n.deflate.append(t)),n.encrypted&&i.length&&(i=await n.encrypt.append(i)),(!n.encrypted||n.zipCrypto)&&n.signed&&t.length&&n.crc32.append(t),i}async flush(){let t=this,n,i=new Uint8Array(0);if(t.compressed&&(i=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){i=await t.encrypt.append(i);let o=t.encrypt.flush();n=o.signature;let r=new Uint8Array(i.length+o.data.length);r.set(i,0),r.set(o.data,i.length),i=r}return(!t.encrypted||t.zipCrypto)&&t.signed&&(n=t.crc32.get()),{data:i,signature:n}}};function mhe(e,t,n){if(t.codecType.startsWith(Vk))return new d7(e,t,n);if(t.codecType.startsWith(Uk))return new f7(e,t,n)}var phe="init",_he="append",h7="flush",eJe="message",ghe=!0,kk=(e,t,n,i,o,r,s)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:s,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,o(e)}}),r?nJe(e,i):tJe(e,i));function tJe(e,t){let n=mhe(e.codecConstructor,e.options,t);return{async append(i){try{return await n.append(i)}catch(o){throw e.onTaskFinished(),o}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}},abort(){e.onTaskFinished()}}}function nJe(e,t){let n,i={type:"module"};if(!e.interface){if(!ghe)e.worker=o(i,t.baseURL);else try{e.worker=o({},t.baseURL)}catch{ghe=!1,e.worker=o(i,t.baseURL)}e.worker.addEventListener(eJe,a,!1),e.interface={append(c){return r({type:_he,data:c})},flush(){return r({type:h7})},abort(){e.onTaskFinished()}}}return e.interface;function o(c,l){let f,d;f=e.scripts[0],typeof f=="function"&&(f=f());try{d=new URL(f,l)}catch{d=f}return new Worker(d,c)}async function r(c){if(!n){let l=e.options,f=e.scripts.slice(1);await s({scripts:f,type:phe,options:l,config:{chunkSize:t.chunkSize}})}return s(c)}function s(c){let l=e.worker,f=new Promise((d,p)=>n={resolve:d,reject:p});try{if(c.data)try{c.data=c.data.buffer,l.postMessage(c,[c.data])}catch{l.postMessage(c)}else l.postMessage(c)}catch(d){n.reject(d),n=null,e.onTaskFinished()}return f}function a(c){let l=c.data;if(n){let f=l.error,d=l.type;if(f){let p=new Error(f.message);p.stack=f.stack,n.reject(p),n=null,e.onTaskFinished()}else if(d==phe||d==h7||d==_he){let p=l.data;d==h7?(n.resolve({data:new Uint8Array(p),signature:l.signature}),n=null,e.onTaskFinished()):n.resolve(p&&new Uint8Array(p))}}}}var Dx=[],m7=[];function zk(e,t,n){let o=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||t.useWebWorkers===void 0&&n.useWebWorkers),r=o&&n.workerScripts?n.workerScripts[t.codecType]:[];if(Dx.length<n.maxWorkers){let a={};return Dx.push(a),kk(a,e,t,n,s,o,r)}else{let a=Dx.find(c=>!c.busy);return a?(yhe(a),kk(a,e,t,n,s,o,r)):new Promise(c=>m7.push({resolve:c,codecConstructor:e,options:t,webWorker:o,scripts:r}))}function s(a){if(m7.length){let[{resolve:c,codecConstructor:l,options:f,webWorker:d,scripts:p}]=m7.splice(0,1);c(kk(a,l,f,n,s,d,p))}else a.worker?(yhe(a),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(a.terminateTimeout=setTimeout(()=>{Dx=Dx.filter(c=>c!=a),a.terminate()},n.terminateWorkerTimeout))):Dx=Dx.filter(c=>c!=a)}}function yhe(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}var xhe="Abort error";async function Hk(e,t,n,i,o,r,s){let a=Math.max(r.chunkSize,64);return c();async function c(l=0,f=0){let d=s.signal,p=o();if(l<p){p7(d,e);let g=await t.readUint8Array(l+i,Math.min(a,p-l)),m=g.length;p7(d,e);let A=await e.append(g);if(p7(d,e),f+=await Ahe(n,A),s.onprogress)try{s.onprogress(l+m,p)}catch{}return c(l+a,f)}else{let g=await e.flush();return f+=await Ahe(n,g.data),{signature:g.signature,length:f}}}}function p7(e,t){if(e&&e.aborted)throw t.abort(),new Error(xhe)}async function Ahe(e,t){return t.length&&await e.writeUint8Array(t),t.length}var _7="text/plain";var Gk=class{constructor(){this.size=0}init(){this.initialized=!0}},Wk=class extends Gk{},xM=class extends Gk{writeUint8Array(t){this.size+=t.length}},jk=class extends Wk{constructor(t){super(),this.blobReader=new vx(new Blob([t],{type:_7}))}init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}readUint8Array(t,n){return this.blobReader.readUint8Array(t,n)}},Yk=class extends xM{constructor(t){super(),this.encoding=t,this.blob=new Blob([],{type:_7})}writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:_7})}getData(){if(this.blob.text)return this.blob.text();{let t=new FileReader;return new Promise((n,i)=>{t.onload=o=>n(o.target.result),t.onerror=()=>i(t.error),t.readAsText(this.blob,this.encoding)})}}};var qk=class extends xM{constructor(t){super(),this.data="data:"+(t||"")+";base64,",this.pending=[]}writeUint8Array(t){super.writeUint8Array(t);let n=0,i=this.pending,o=this.pending.length;for(this.pending="",n=0;n<Math.floor((o+t.length)/3)*3-o;n++)i+=String.fromCharCode(t[n]);for(;n<t.length;n++)this.pending+=String.fromCharCode(t[n]);i.length>2?this.data+=btoa(i):this.pending=i}getData(){return this.data+btoa(this.pending)}},vx=class extends Wk{constructor(t){super(),this.blob=t,this.size=t.size}async readUint8Array(t,n){if(this.blob.arrayBuffer)return new Uint8Array(await this.blob.slice(t,t+n).arrayBuffer());{let i=new FileReader;return new Promise((o,r)=>{i.onload=s=>o(new Uint8Array(s.target.result)),i.onerror=()=>r(i.error),i.readAsArrayBuffer(this.blob.slice(t,t+n))})}}},Tb=class extends xM{constructor(t){super(),this.contentType=t,this.arrayBuffersMaxlength=8,Che(this)}writeUint8Array(t){super.writeUint8Array(t),this.arrayBuffers.length==this.arrayBuffersMaxlength&&The(this),this.arrayBuffers.push(t.buffer)}getData(){return this.blob||(this.arrayBuffers.length&&The(this),this.blob=this.pendingBlob,Che(this)),this.blob}};function Che(e){e.pendingBlob=new Blob([],{type:e.contentType}),e.arrayBuffers=[]}function The(e){e.pendingBlob=new Blob([e.pendingBlob,...e.arrayBuffers],{type:e.contentType}),e.arrayBuffers=[]}var Eb="/",g7=new Date(2107,11,31),y7=new Date(1980,0,1);var iJe="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),Ehe=e=>{let t="";for(let n=0;n<e.length;n++)t+=iJe[e[n]];return t};var Xk=oJe;function oJe(e,t){if(t&&t.trim().toLowerCase()=="cp437")return Ehe(e);if(typeof TextDecoder>"u"){let n=new FileReader;return new Promise((i,o)=>{n.onload=r=>i(r.target.result),n.onerror=()=>o(n.error),n.readAsText(new Blob([e]))})}else return new TextDecoder(t).decode(e)}var rJe=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","version","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"],m_=class{constructor(t){rJe.forEach(n=>this[n]=t[n])}};var C7="File format is not recognized",lJe="End of central directory not found",uJe="End of Zip64 central directory not found",fJe="End of Zip64 central directory locator not found",dJe="Central directory header not found",hJe="Local file header not found",mJe="Zip64 extra field not found",pJe="File contains encrypted entry",_Je="Encryption method not supported",bhe="Compression method not supported",She="utf-8",Dhe="cp437",vhe=["uncompressedSize","compressedSize","offset"],iz=class{constructor(t,n={}){Object.assign(this,{reader:t,options:n,config:Ok()})}async*getEntriesGenerator(t={}){let n=this,i=n.reader;if(i.initialized||await i.init(),i.size<22)throw new Error(C7);let o=await CJe(i,101010256,i.size,22,65535*16);if(!o)throw new Error(lJe);let r=nc(o),s=Xs(r,12),a=Xs(r,16),c=_u(r,8),l=0;if(a==4294967295||s==4294967295||c==65535){let g=await by(i,o.offset-20,20),m=nc(g);if(Xs(m,0)!=117853008)throw new Error(uJe);a=Kk(m,8);let A=await by(i,a,56),x=nc(A),C=o.offset-20-56;if(Xs(x,0)!=101075792&&a!=C){let T=a;a=C,l=a-T,A=await by(i,a,56),x=nc(A)}if(Xs(x,0)!=101075792)throw new Error(fJe);c=Kk(x,32),s=Kk(x,40),a-=s}if(a<0||a>=i.size)throw new Error(C7);let f=0,d=await by(i,a,s),p=nc(d);if(s){let g=o.offset-s;if(Xs(p,f)!=33639248&&a!=g){let m=a;a=g,l=a-m,d=await by(i,a,s),p=nc(d)}}if(a<0||a>=i.size)throw new Error(C7);for(let g=0;g<c;g++){let m=new E7(i,n.config,n.options);if(Xs(p,f)!=33639248)throw new Error(dJe);Ihe(m,p,f+6);let A=Boolean(m.bitFlag.languageEncodingFlag),x=f+46,C=x+m.filenameLength,T=C+m.extraFieldLength,E=_u(p,f+4),S=(E&0)==0;Object.assign(m,{versionMadeBy:E,msDosCompatible:S,compressedSize:0,uncompressedSize:0,commentLength:_u(p,f+32),directory:S&&(Sb(p,f+38)&16)==16,offset:Xs(p,f+42)+l,internalFileAttribute:Xs(p,f+34),externalFileAttribute:Xs(p,f+38),rawFilename:d.subarray(x,C),filenameUTF8:A,commentUTF8:A,rawExtraField:d.subarray(C,T)});let D=T+m.commentLength;m.rawComment=d.subarray(T,D);let w=bb(n,t,"filenameEncoding"),R=bb(n,t,"commentEncoding"),[O,L]=await Promise.all([Xk(m.rawFilename,m.filenameUTF8?She:w||Dhe),Xk(m.rawComment,m.commentUTF8?She:R||Dhe)]);m.filename=O,m.comment=L,!m.directory&&m.filename.endsWith(Eb)&&(m.directory=!0),await Phe(m,m,p,f+6);let N=new m_(m);if(N.getData=(_,b)=>m.getData(_,N,b),f=D,t.onprogress)try{t.onprogress(g+1,c,new m_(m))}catch{}yield N}return!0}async getEntries(t={}){let n=[],i=this.getEntriesGenerator(t),o=i.next();for(;!(await o).done;)n.push((await o).value),o=i.next();return n}async close(){}};var E7=class{constructor(t,n,i){Object.assign(this,{reader:t,config:n,options:i})}async getData(t,n,i={}){let o=this,{reader:r,offset:s,extraFieldAES:a,compressionMethod:c,config:l,bitFlag:f,signature:d,rawLastModDate:p,compressedSize:g}=o,m=o.localDirectory={};r.initialized||await r.init();let A=await by(r,s,30),x=nc(A),C=bb(o,i,"password");if(C=C&&C.length&&C,a&&a.originalCompressionMethod!=99)throw new Error(bhe);if(c!=0&&c!=8)throw new Error(bhe);if(Xs(x,0)!=67324752)throw new Error(hJe);Ihe(m,x,4),A=await by(r,s,30+m.filenameLength+m.extraFieldLength),m.rawExtraField=A.subarray(30+m.filenameLength),await Phe(o,m,x,4),n.lastAccessDate=m.lastAccessDate,n.creationDate=m.creationDate;let T=o.encrypted&&m.encrypted,E=T&&!a;if(T){if(!E&&a.strength===void 0)throw new Error(_Je);if(!C)throw new Error(pJe)}let S=await zk(l.Inflate,{codecType:Uk,password:C,zipCrypto:E,encryptionStrength:a&&a.strength,signed:bb(o,i,"checkSignature"),passwordVerification:E&&(f.dataDescriptor?p>>>8&255:d>>>24&255),signature:d,compressed:c!=0,encrypted:T,useWebWorkers:bb(o,i,"useWebWorkers")},l);t.initialized||await t.init();let D=bb(o,i,"signal"),w=s+30+m.filenameLength+m.extraFieldLength;return await Hk(S,r,t,w,()=>g,l,{onprogress:i.onprogress,signal:D}),t.getData()}};function Ihe(e,t,n){let i=e.rawBitFlag=_u(t,n+2),o=(i&1)==1,r=Xs(t,n+6);Object.assign(e,{encrypted:o,version:_u(t,n),bitFlag:{level:(i&6)>>1,dataDescriptor:(i&8)==8,languageEncodingFlag:(i&2048)==2048},rawLastModDate:r,lastModDate:TJe(r),filenameLength:_u(t,n+22),extraFieldLength:_u(t,n+24)})}async function Phe(e,t,n,i){let o=t.rawExtraField,r=t.extraField=new Map,s=nc(new Uint8Array(o)),a=0;try{for(;a<o.length;){let A=_u(s,a),x=_u(s,a+2);r.set(A,{type:A,data:o.slice(a+4,a+4+x)}),a+=4+x}}catch{}let c=_u(n,i+4);t.signature=Xs(n,i+10),t.uncompressedSize=Xs(n,i+18),t.compressedSize=Xs(n,i+14);let l=r.get(1);l&&(gJe(l,t),t.extraFieldZip64=l);let f=r.get(28789);f&&(await whe(f,"filename","rawFilename",t,e),t.extraFieldUnicodePath=f);let d=r.get(25461);d&&(await whe(d,"comment","rawComment",t,e),t.extraFieldUnicodeComment=d);let p=r.get(39169);p?(yJe(p,t,c),t.extraFieldAES=p):t.compressionMethod=c;let g=r.get(10);g&&(AJe(g,t),t.extraFieldNTFS=g);let m=r.get(21589);m&&(xJe(m,t),t.extraFieldExtendedTimestamp=m)}function gJe(e,t){t.zip64=!0;let n=nc(e.data);e.values=[];for(let o=0;o<Math.floor(e.data.length/8);o++)e.values.push(Kk(n,0+o*8));let i=vhe.filter(o=>t[o]==4294967295);for(let o=0;o<i.length;o++)e[i[o]]=e.values[o];vhe.forEach(o=>{if(t[o]==4294967295)if(e[o]!==void 0)t[o]=e[o];else throw new Error(mJe)})}async function whe(e,t,n,i,o){let r=nc(e.data);e.version=Sb(r,0),e.signature=Xs(r,1);let s=new Ty;s.append(o[n]);let a=nc(new Uint8Array(4));a.setUint32(0,s.get(),!0),e[t]=await Xk(e.data.subarray(5)),e.valid=!o.bitFlag.languageEncodingFlag&&e.signature==Xs(a,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function yJe(e,t,n){let i=nc(e.data);e.vendorVersion=Sb(i,0),e.vendorId=Sb(i,2);let o=Sb(i,4);e.strength=o,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=_u(i,5)}function AJe(e,t){let n=nc(e.data),i=4,o;try{for(;i<e.data.length&&!o;){let r=_u(n,i),s=_u(n,i+2);r==1&&(o=e.data.slice(i+4,i+4+s)),i+=4+s}}catch{}try{if(o&&o.length==24){let r=nc(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),c=r.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:c});let l=T7(s),f=T7(a),d=T7(c),p={lastModDate:l,lastAccessDate:f,creationDate:d};Object.assign(e,p),Object.assign(t,p)}}catch{}}function xJe(e,t){let n=nc(e.data),i=Sb(n,0),o=[],r=[];(i&1)==1&&(o.push("lastModDate"),r.push("rawLastModDate")),(i&2)==2&&(o.push("lastAccessDate"),r.push("rawLastAccessDate")),(i&4)==4&&(o.push("creationDate"),r.push("rawCreationDate"));let s=1;o.forEach((a,c)=>{if(e.data.length>=s+4){let l=Xs(n,s);t[a]=e[a]=new Date(l*1e3);let f=r[c];e[f]=l}s+=4})}async function CJe(e,t,n,i,o){let r=new Uint8Array(4),s=nc(r);EJe(s,0,t);let a=i+o;return await c(i)||await c(Math.min(a,n));async function c(l){let f=n-l,d=await by(e,f,l);for(let p=d.length-i;p>=0;p--)if(d[p]==r[0]&&d[p+1]==r[1]&&d[p+2]==r[2]&&d[p+3]==r[3])return{offset:f+p,buffer:d.slice(p,p+i).buffer}}}function bb(e,t,n){return t[n]===void 0?e.options[n]:t[n]}function TJe(e){let t=(e&4294901760)>>16,n=e&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(n&63488)>>11,(n&2016)>>5,(n&31)*2,0)}catch{}}function T7(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function Sb(e,t){return e.getUint8(t)}function _u(e,t){return e.getUint16(t,!0)}function Xs(e,t){return e.getUint32(t,!0)}function Kk(e,t){return Number(e.getBigUint64(t,!0))}function EJe(e,t,n){e.setUint32(t,n,!0)}function nc(e){return new DataView(e.buffer)}function by(e,t,n){return e.readUint8Array(t,n)}var wJe="File already exists",IJe="Zip file comment exceeds 64KB",PJe="File entry comment exceeds 64KB",OJe="File entry name exceeds 64KB",Bhe="Version exceeds 65535",RJe="The strength must equal 1, 2, or 3",BJe="Extra field type exceeds 65535",MJe="Extra field data exceeds 64KB",L7="Zip64 is not supported",Mhe=new Uint8Array([7,0,2,0,65,69,3,0,0]),Lhe=24,B7=0,sz=class{constructor(t,n={}){Object.assign(this,{writer:t,options:n,config:Ok(),files:new Map,offset:t.size,pendingCompressedSize:0,pendingEntries:[],pendingAddFileCalls:new Set})}async add(t="",n,i={}){let o=this;if(B7<o.config.maxWorkers){B7++;let r;try{return r=LJe(o,t,n,i),this.pendingAddFileCalls.add(r),await r}finally{this.pendingAddFileCalls.delete(r),B7--;let s=o.pendingEntries.shift();s&&o.add(s.name,s.reader,s.options).then(s.resolve).catch(s.reject)}}else return new Promise((r,s)=>o.pendingEntries.push({name:t,reader:n,options:i,resolve:r,reject:s}))}async close(t=new Uint8Array(0),n={}){for(;this.pendingAddFileCalls.size;)await Promise.all(Array.from(this.pendingAddFileCalls));return await VJe(this,t,n),this.writer.getData()}};async function LJe(e,t,n,i){if(t=t.trim(),i.directory&&!t.endsWith(Eb)?t+=Eb:i.directory=t.endsWith(Eb),e.files.has(t))throw new Error(wJe);let o=_M(t);if(o.length>65535)throw new Error(OJe);let r=i.comment||"",s=_M(r);if(s.length>65535)throw new Error(PJe);let a=e.options.version||i.version||0;if(a>65535)throw new Error(Bhe);let c=e.options.versionMadeBy||i.versionMadeBy||20;if(c>65535)throw new Error(Bhe);let l=_a(e,i,"lastModDate")||new Date,f=_a(e,i,"lastAccessDate"),d=_a(e,i,"creationDate"),p=_a(e,i,"password"),g=_a(e,i,"encryptionStrength")||3,m=_a(e,i,"zipCrypto");if(p!==void 0&&g!==void 0&&(g<1||g>3))throw new Error(RJe);let A=new Uint8Array(0),x=i.extraField;if(x){let F=0,k=0;x.forEach(U=>F+=4+U.length),A=new Uint8Array(F),x.forEach((U,G)=>{if(G>65535)throw new Error(BJe);if(U.length>65535)throw new Error(MJe);Zs(A,new Uint16Array([G]),k),Zs(A,new Uint16Array([U.length]),k+2),Zs(A,U,k+4),k+=4+U.length})}let C=_a(e,i,"extendedTimestamp");C===void 0&&(C=!0);let T=0,E=_a(e,i,"keepOrder");E===void 0&&(E=!0);let S=0,D=_a(e,i,"msDosCompatible");D===void 0&&(D=!0);let w=_a(e,i,"internalFileAttribute")||0,R=_a(e,i,"externalFileAttribute")||0;n&&(n.initialized||await n.init(),S=n.size,T=kJe(S));let O=i.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=4294967295||S>=4294967295||T>=4294967295){if(i.zip64===!1||e.options.zip64===!1||!E)throw new Error(L7);O=!0}e.pendingCompressedSize+=T,await Promise.resolve();let L=_a(e,i,"level"),N=_a(e,i,"useWebWorkers"),_=_a(e,i,"bufferedWrite"),b=_a(e,i,"dataDescriptor"),v=_a(e,i,"dataDescriptorSignature"),I=_a(e,i,"signal");b===void 0&&(b=!0),b&&v===void 0&&(v=!1);let B=await NJe(e,t,n,Object.assign({},i,{rawFilename:o,rawComment:s,version:a,versionMadeBy:c,lastModDate:l,lastAccessDate:f,creationDate:d,rawExtraField:A,zip64:O,password:p,level:L,useWebWorkers:N,encryptionStrength:g,extendedTimestamp:C,zipCrypto:m,bufferedWrite:_,keepOrder:E,dataDescriptor:b,dataDescriptorSignature:v,signal:I,msDosCompatible:D,internalFileAttribute:w,externalFileAttribute:R}));return T&&(e.pendingCompressedSize-=T),Object.assign(B,{name:t,comment:r,extraField:x}),new m_(B)}async function NJe(e,t,n,i){let o=e.files,r=e.writer,s=Array.from(o.values()).pop(),a={},c,l,f;o.set(t,a);try{let d,p,g;if(i.keepOrder&&(d=s&&s.lock),a.lock=g=new Promise(m=>f=m),i.bufferedWrite||e.lockWrite||!i.dataDescriptor?(p=new Tb,p.init(),c=!0):(e.lockWrite=new Promise(m=>l=m),r.initialized||await r.init(),p=r),a=await FJe(n,p,e.config,i),a.lock=g,o.set(t,a),a.filename=t,c){let m=0,A=p.getData();await Promise.all([e.lockWrite,d]);let x;do x=Array.from(o.values()).find(C=>C.writingBufferedData),x&&await x.lock;while(x&&x.lock);if(a.writingBufferedData=!0,!i.dataDescriptor){let T=await Nhe(A,0,26),E=new DataView(T);(!a.encrypted||i.zipCrypto)&&fo(E,14,a.signature),a.zip64?(fo(E,18,4294967295),fo(E,22,4294967295)):(fo(E,18,a.compressedSize),fo(E,22,a.uncompressedSize)),await r.writeUint8Array(new Uint8Array(T)),m=26}await UJe(r,A,m),delete a.writingBufferedData}if(a.offset=e.offset,a.zip64){let m=zd(a.rawExtraFieldZip64);bl(m,20,BigInt(a.offset))}else if(a.offset>=4294967295)throw new Error(L7);return e.offset+=a.length,a}catch(d){throw(c&&a.writingBufferedData||!c&&a.dataWritten)&&(d.corruptedEntry=e.hasCorruptedEntries=!0,a.uncompressedSize&&(e.offset+=a.uncompressedSize)),o.delete(t),d}finally{f(),l&&l()}}async function FJe(e,t,n,i){let{rawFilename:o,lastAccessDate:r,creationDate:s,password:a,level:c,zip64:l,zipCrypto:f,dataDescriptor:d,dataDescriptorSignature:p,directory:g,version:m,versionMadeBy:A,rawComment:x,rawExtraField:C,useWebWorkers:T,onprogress:E,signal:S,encryptionStrength:D,extendedTimestamp:w,msDosCompatible:R,internalFileAttribute:O,externalFileAttribute:L}=i,N=Boolean(a&&a.length),_=c!==0&&!g,b;if(N&&!f){b=new Uint8Array(Mhe.length+2);let Ve=zd(b);Ko(Ve,0,39169),Zs(b,Mhe,2),az(Ve,8,D)}else b=new Uint8Array(0);let v,I;if(w){I=new Uint8Array(9+(r?4:0)+(s?4:0));let Ve=zd(I);Ko(Ve,0,21589),Ko(Ve,2,I.length-4);let qe=1+(r?2:0)+(s?4:0);az(Ve,4,qe),fo(Ve,5,Math.floor(i.lastModDate.getTime()/1e3)),r&&fo(Ve,9,Math.floor(r.getTime()/1e3)),s&&fo(Ve,13,Math.floor(s.getTime()/1e3));try{v=new Uint8Array(36);let mt=zd(v),Ht=M7(i.lastModDate);Ko(mt,0,10),Ko(mt,2,32),Ko(mt,8,1),Ko(mt,10,24),bl(mt,12,Ht),bl(mt,20,M7(r)||Ht),bl(mt,28,M7(s)||Ht)}catch{v=new Uint8Array(0)}}else v=I=new Uint8Array(0);let B={version:m||20,versionMadeBy:A,zip64:l,directory:Boolean(g),filenameUTF8:!0,rawFilename:o,commentUTF8:!0,rawComment:x,rawExtraFieldZip64:l?new Uint8Array(Lhe+4):new Uint8Array(0),rawExtraFieldExtendedTimestamp:I,rawExtraFieldNTFS:v,rawExtraFieldAES:b,rawExtraField:C,extendedTimestamp:w,msDosCompatible:R,internalFileAttribute:O,externalFileAttribute:L},F=B.uncompressedSize=0,k=2048;d&&(k=k|8);let U=0;_&&(U=8),l&&(B.version=B.version>45?B.version:45),N&&(k=k|1,f||(B.version=B.version>51?B.version:51,U=99,_&&(B.rawExtraFieldAES[9]=8))),B.compressionMethod=U;let G=B.headerArray=new Uint8Array(26),V=zd(G);Ko(V,0,B.version),Ko(V,2,k),Ko(V,4,U);let X=new Uint32Array(1),j=zd(X),Q;i.lastModDate<y7?Q=y7:i.lastModDate>g7?Q=g7:Q=i.lastModDate,Ko(j,0,(Q.getHours()<<6|Q.getMinutes())<<5|Q.getSeconds()/2),Ko(j,2,(Q.getFullYear()-1980<<4|Q.getMonth()+1)<<5|Q.getDate());let W=X[0];fo(V,6,W),Ko(V,22,o.length);let K=b.length+I.length+v.length+B.rawExtraField.length;Ko(V,24,K);let J=new Uint8Array(30+o.length+K),_e=zd(J);fo(_e,0,67324752),Zs(J,G,4),Zs(J,o,30),Zs(J,b,30+o.length),Zs(J,I,30+o.length+b.length),Zs(J,v,30+o.length+b.length+I.length),Zs(J,B.rawExtraField,30+o.length+b.length+I.length+v.length);let xe,re=0;if(e){let Ve=await zk(n.Deflate,{codecType:Vk,level:c,password:a,encryptionStrength:D,zipCrypto:N&&f,passwordVerification:N&&f&&W>>8&255,signed:!0,compressed:_,encrypted:N,useWebWorkers:T},n);await t.writeUint8Array(J),B.dataWritten=!0,xe=await Hk(Ve,e,t,0,()=>e.size,n,{onprogress:E,signal:S}),F=B.uncompressedSize=e.size,re=xe.length}else await t.writeUint8Array(J),B.dataWritten=!0;let ye=new Uint8Array(0),fe,Se=0;if(d&&(ye=new Uint8Array(l?p?24:20:p?16:12),fe=zd(ye),p&&(Se=4,fo(fe,0,134695760))),e){let Ve=xe.signature;if((!N||f)&&Ve!==void 0&&(fo(V,10,Ve),B.signature=Ve,d&&fo(fe,Se,Ve)),l){let qe=zd(B.rawExtraFieldZip64);Ko(qe,0,1),Ko(qe,2,Lhe),fo(V,14,4294967295),bl(qe,12,BigInt(re)),fo(V,18,4294967295),bl(qe,4,BigInt(F)),d&&(bl(fe,Se+4,BigInt(re)),bl(fe,Se+12,BigInt(F)))}else fo(V,14,re),fo(V,18,F),d&&(fo(fe,Se+4,re),fo(fe,Se+8,F))}d&&await t.writeUint8Array(ye);let we=J.length+re+ye.length;return Object.assign(B,{compressedSize:re,lastModDate:Q,rawLastModDate:W,creationDate:s,lastAccessDate:r,encrypted:N,length:we}),B}async function VJe(e,t,n){let i=e.writer,o=e.files,r=0,s=0,a=e.offset,c=o.size;for(let[,p]of o)s+=46+p.rawFilename.length+p.rawComment.length+p.rawExtraFieldZip64.length+p.rawExtraFieldAES.length+p.rawExtraFieldExtendedTimestamp.length+p.rawExtraFieldNTFS.length+p.rawExtraField.length;let l=n.zip64||e.options.zip64||!1;if(a>=4294967295||s>=4294967295||c>=65535){if(n.zip64===!1||e.options.zip64===!1)throw new Error(L7);l=!0}let f=new Uint8Array(s+(l?98:22)),d=zd(f);if(t&&t.length)if(t.length<=65535)Ko(d,r+20,t.length);else throw new Error(IJe);for(let[p,g]of Array.from(o.values()).entries()){let{rawFilename:m,rawExtraFieldZip64:A,rawExtraFieldAES:x,rawExtraField:C,rawComment:T,versionMadeBy:E,headerArray:S,directory:D,zip64:w,msDosCompatible:R,internalFileAttribute:O,externalFileAttribute:L}=g,N,_;if(g.extendedTimestamp){_=g.rawExtraFieldNTFS,N=new Uint8Array(9);let v=zd(N);Ko(v,0,21589),Ko(v,2,N.length-4),az(v,4,1),fo(v,5,Math.floor(g.lastModDate.getTime()/1e3))}else _=N=new Uint8Array(0);let b=A.length+x.length+N.length+_.length+C.length;if(fo(d,r,33639248),Ko(d,r+4,E),Zs(f,S,r+6),Ko(d,r+30,b),Ko(d,r+32,T.length),fo(d,r+34,O),L?fo(d,r+38,L):D&&R&&az(d,r+38,16),w?fo(d,r+42,4294967295):fo(d,r+42,g.offset),Zs(f,m,r+46),Zs(f,A,r+46+m.length),Zs(f,x,r+46+m.length+A.length),Zs(f,N,r+46+m.length+A.length+x.length),Zs(f,_,r+46+m.length+A.length+x.length+N.length),Zs(f,C,r+46+m.length+A.length+x.length+N.length+_.length),Zs(f,T,r+46+m.length+b),r+=46+m.length+b+T.length,n.onprogress)try{n.onprogress(p+1,o.size,new m_(g))}catch{}}l&&(fo(d,r,101075792),bl(d,r+4,BigInt(44)),Ko(d,r+12,45),Ko(d,r+14,45),bl(d,r+24,BigInt(c)),bl(d,r+32,BigInt(c)),bl(d,r+40,BigInt(s)),bl(d,r+48,BigInt(a)),fo(d,r+56,117853008),bl(d,r+64,BigInt(a)+BigInt(s)),fo(d,r+72,1),c=65535,a=4294967295,s=4294967295,r+=76),fo(d,r,101010256),Ko(d,r+8,c),Ko(d,r+10,c),fo(d,r+12,s),fo(d,r+16,a),await i.writeUint8Array(f),t&&t.length&&await i.writeUint8Array(t)}function Nhe(e,t,n){if(e.arrayBuffer)return t||n?e.slice(t,n).arrayBuffer():e.arrayBuffer();{let i=new FileReader;return new Promise((o,r)=>{i.onload=s=>o(s.target.result),i.onerror=()=>r(i.error),i.readAsArrayBuffer(t||n?e.slice(t,n):e)})}}async function UJe(e,t,n=0){await o();async function o(){if(n<t.size){let r=await Nhe(t,n,n+536870912);await e.writeUint8Array(new Uint8Array(r)),n+=536870912,await o()}}}function M7(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function _a(e,t,n){return t[n]===void 0?e.options[n]:t[n]}function kJe(e){return e+5*(Math.floor(e/16383)+1)}function az(e,t,n){e.setUint8(t,n)}function Ko(e,t,n){e.setUint16(t,n,!0)}function fo(e,t,n){e.setUint32(t,n,!0)}function bl(e,t,n){e.setBigUint64(t,n,!0)}function Zs(e,t,n){e.set(t,n)}function zd(e){return new DataView(e.buffer)}gb({Deflate:wde,Inflate:Zde});function zJe(e){return typeof e=="string"&&(e=document.getElementById(e)),e}var In=zJe;function HJe(e,t){this.position=e,this.headingPitchRange=t}var CM=HJe;function cz(e,t){this.id=t,this.name=e,this.playlistIndex=0,this.playlist=[],this.tourStart=new Ae,this.tourEnd=new Ae,this.entryStart=new Ae,this.entryEnd=new Ae,this._activeEntries=[]}cz.prototype.addPlaylistEntry=function(e){this.playlist.push(e)};cz.prototype.play=function(e,t){u(e.cesiumWidget)&&nr("viewer","The viewer parameter has been deprecated in Cesium 1.99. It will be removed in 1.100. Instead of a Viewer, pass a CesiumWidget instead."),this.tourStart.raiseEvent();let n=this;Uhe.call(this,e,t,function(i){n.playlistIndex=0,i||Vhe(n._activeEntries),n.tourEnd.raiseEvent(i)})};cz.prototype.stop=function(){Vhe(this._activeEntries)};function Vhe(e){for(let t=e.pop();t!==void 0;t=e.pop())t.stop()}function Uhe(e,t,n){let i=this.playlist[this.playlistIndex];if(i){let o=GJe.bind(this,e,t,n);if(this._activeEntries.push(i),this.entryStart.raiseEvent(i),i.blocking)i.play(o,e.scene.camera,t);else{let r=this;i.play(function(){r.entryEnd.raiseEvent(i);let s=r._activeEntries.indexOf(i);s>=0&&r._activeEntries.splice(s,1)}),o(e,t,n)}}else u(n)&&n(!1)}function GJe(e,t,n,i){let o=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(o,i),i)n(i);else{let r=this._activeEntries.indexOf(o);r>=0&&this._activeEntries.splice(r,1),this.playlistIndex++,Uhe.call(this,e,t,n)}}var TM=cz;var Ni={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?.5*(e*e*((t+1)*e-t)):.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-Ni.Bounce.Out(1-e)},Out:function(e){return e<.36363636363636365?7.5625*e*e:e<.7272727272727273?7.5625*(e-=.5454545454545454)*e+.75:e<.9090909090909091?7.5625*(e-=.8181818181818182)*e+.9375:7.5625*(e-=.9545454545454546)*e+.984375},InOut:function(e){return e<.5?Ni.Bounce.In(e*2)*.5:Ni.Bounce.Out(e*2-1)*.5+.5}}},EM;typeof self>"u"&&typeof process<"u"&&process.hrtime?EM=function(){var e=process.hrtime();return e[0]*1e3+e[1]/1e6}:typeof self<"u"&&self.performance!==void 0&&self.performance.now!==void 0?EM=self.performance.now.bind(self.performance):Date.now!==void 0?EM=Date.now:EM=function(){return new Date().getTime()};var Db=EM,WJe=function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map(function(n){return t._tweens[n]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(t){this._tweens[t.getId()]=t,this._tweensAddedDuringUpdate[t.getId()]=t},e.prototype.remove=function(t){delete this._tweens[t.getId()],delete this._tweensAddedDuringUpdate[t.getId()]},e.prototype.update=function(t,n){t===void 0&&(t=Db()),n===void 0&&(n=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<i.length;o++){var r=this._tweens[i[o]],s=!n;r&&r.update(t,s)===!1&&!n&&delete this._tweens[i[o]]}i=Object.keys(this._tweensAddedDuringUpdate)}return!0},e}(),bM={Linear:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=bM.Utils.Linear;return t<0?r(e[0],e[1],i):t>1?r(e[n],e[n-1],n-i):r(e[o],e[o+1>n?n:o+1],i-o)},Bezier:function(e,t){for(var n=0,i=e.length-1,o=Math.pow,r=bM.Utils.Bernstein,s=0;s<=i;s++)n+=o(1-t,i-s)*o(t,s)*e[s]*r(i,s);return n},CatmullRom:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=bM.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(i=n*(1+t))),r(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],i-o)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-i)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],i-n)-e[n]):r(e[o?o-1:0],e[o],e[n<o+1?n:o+1],e[n<o+2?n:o+2],i-o)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=bM.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:function(){var e=[1];return function(t){var n=1;if(e[t])return e[t];for(var i=t;i>1;i--)n*=i;return e[t]=n,n}}(),CatmullRom:function(e,t,n,i,o){var r=(n-e)*.5,s=(i-t)*.5,a=o*o,c=o*a;return(2*t-2*n+r+s)*c+(-3*t+3*n-2*r-s)*a+r*o+t}}},khe=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),zhe=new WJe,Hhe=function(){function e(t,n){n===void 0&&(n=zhe),this._object=t,this._group=n,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ni.Linear.None,this._interpolationFunction=bM.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=khe.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.to=function(t,n){return this._valuesEnd=Object.create(t),n!==void 0&&(this._duration=n),this},e.prototype.duration=function(t){return this._duration=t,this},e.prototype.start=function(t){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t!==void 0?typeof t=="string"?Db()+parseFloat(t):t:Db(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},e.prototype._setupProperties=function(t,n,i,o){for(var r in i){var s=t[r],a=Array.isArray(s),c=a?"array":typeof s,l=!a&&Array.isArray(i[r]);if(!(c==="undefined"||c==="function")){if(l){var f=i[r];if(f.length===0)continue;f=f.map(this._handleRelativeValue.bind(this,s)),i[r]=[s].concat(f)}if((c==="object"||a)&&s&&!l){n[r]=a?[]:{};for(var d in s)n[r][d]=s[d];o[r]=a?[]:{},this._setupProperties(s,n[r],i[r],o[r])}else typeof n[r]>"u"&&(n[r]=s),a||(n[r]*=1),l?o[r]=i[r].slice().reverse():o[r]=n[r]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(t){return t===void 0&&(t=Db()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=t,this._group&&this._group.remove(this),this)},e.prototype.resume=function(t){return t===void 0&&(t=Db()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},e.prototype.stopChainedTweens=function(){for(var t=0,n=this._chainedTweens.length;t<n;t++)this._chainedTweens[t].stop();return this},e.prototype.group=function(t){return this._group=t,this},e.prototype.delay=function(t){return this._delayTime=t,this},e.prototype.repeat=function(t){return this._initialRepeat=t,this._repeat=t,this},e.prototype.repeatDelay=function(t){return this._repeatDelayTime=t,this},e.prototype.yoyo=function(t){return this._yoyo=t,this},e.prototype.easing=function(t){return this._easingFunction=t,this},e.prototype.interpolation=function(t){return this._interpolationFunction=t,this},e.prototype.chain=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this._chainedTweens=t,this},e.prototype.onStart=function(t){return this._onStartCallback=t,this},e.prototype.onUpdate=function(t){return this._onUpdateCallback=t,this},e.prototype.onRepeat=function(t){return this._onRepeatCallback=t,this},e.prototype.onComplete=function(t){return this._onCompleteCallback=t,this},e.prototype.onStop=function(t){return this._onStopCallback=t,this},e.prototype.update=function(t,n){if(t===void 0&&(t=Db()),n===void 0&&(n=!0),this._isPaused)return!0;var i,o,r=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(t>r)return!1;n&&this.start(t)}if(this._goToEnd=!1,t<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),o=(t-this._startTime)/this._duration,o=this._duration===0||o>1?1:o;var s=this._easingFunction(o);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,s),this._onUpdateCallback&&this._onUpdateCallback(this._object,o),o===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(i in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[i]=="string"&&(this._valuesStartRepeat[i]=this._valuesStartRepeat[i]+parseFloat(this._valuesEnd[i])),this._yoyo&&this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=t+this._repeatDelayTime:this._startTime=t+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var a=0,c=this._chainedTweens.length;a<c;a++)this._chainedTweens[a].start(this._startTime+this._duration);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(t,n,i,o){for(var r in i)if(n[r]!==void 0){var s=n[r]||0,a=i[r],c=Array.isArray(t[r]),l=Array.isArray(a),f=!c&&l;f?t[r]=this._interpolationFunction(a,o):typeof a=="object"&&a?this._updateProperties(t[r],s,a,o):(a=this._handleRelativeValue(s,a),typeof a=="number"&&(t[r]=s+(a-s)*o))}},e.prototype._handleRelativeValue=function(t,n){return typeof n!="string"?n:n.charAt(0)==="+"||n.charAt(0)==="-"?t+parseFloat(n):parseFloat(n)},e.prototype._swapEndStartRepeatValues=function(t){var n=this._valuesStartRepeat[t],i=this._valuesEnd[t];typeof i=="string"?this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(i):this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=n},e}();var eWn=khe.nextId,rm=zhe,tWn=rm.getAll.bind(rm),nWn=rm.removeAll.bind(rm),iWn=rm.add.bind(rm),oWn=rm.remove.bind(rm),rWn=rm.update.bind(rm);var jJe={LINEAR_NONE:Ni.Linear.None,QUADRATIC_IN:Ni.Quadratic.In,QUADRATIC_OUT:Ni.Quadratic.Out,QUADRATIC_IN_OUT:Ni.Quadratic.InOut,CUBIC_IN:Ni.Cubic.In,CUBIC_OUT:Ni.Cubic.Out,CUBIC_IN_OUT:Ni.Cubic.InOut,QUARTIC_IN:Ni.Quartic.In,QUARTIC_OUT:Ni.Quartic.Out,QUARTIC_IN_OUT:Ni.Quartic.InOut,QUINTIC_IN:Ni.Quintic.In,QUINTIC_OUT:Ni.Quintic.Out,QUINTIC_IN_OUT:Ni.Quintic.InOut,SINUSOIDAL_IN:Ni.Sinusoidal.In,SINUSOIDAL_OUT:Ni.Sinusoidal.Out,SINUSOIDAL_IN_OUT:Ni.Sinusoidal.InOut,EXPONENTIAL_IN:Ni.Exponential.In,EXPONENTIAL_OUT:Ni.Exponential.Out,EXPONENTIAL_IN_OUT:Ni.Exponential.InOut,CIRCULAR_IN:Ni.Circular.In,CIRCULAR_OUT:Ni.Circular.Out,CIRCULAR_IN_OUT:Ni.Circular.InOut,ELASTIC_IN:Ni.Elastic.In,ELASTIC_OUT:Ni.Elastic.Out,ELASTIC_IN_OUT:Ni.Elastic.InOut,BACK_IN:Ni.Back.In,BACK_OUT:Ni.Back.Out,BACK_IN_OUT:Ni.Back.InOut,BOUNCE_IN:Ni.Bounce.In,BOUNCE_OUT:Ni.Bounce.Out,BOUNCE_IN_OUT:Ni.Bounce.InOut},Mr=Object.freeze(jJe);function lz(e,t,n){this.type="KmlTourFlyTo",this.blocking=!0,this.activeCamera=null,this.activeCallback=null,this.duration=e,this.view=n,this.flyToMode=t}lz.prototype.play=function(e,t,n){if(this.activeCamera=t,u(e)&&e!==null){let o=this;this.activeCallback=function(r){delete o.activeCallback,delete o.activeCamera,e(u(r)?!1:r)}}let i=this.getCameraOptions(n);if(this.view.headingPitchRoll)t.flyTo(i);else if(this.view.headingPitchRange){let o=new se(this.view.position);t.flyToBoundingSphere(o,i)}};lz.prototype.stop=function(){u(this.activeCamera)&&this.activeCamera.cancelFlight(),u(this.activeCallback)&&this.activeCallback(!0)};lz.prototype.getCameraOptions=function(e){let t={duration:this.duration};return u(this.activeCallback)&&(t.complete=this.activeCallback),this.flyToMode==="smooth"&&(t.easingFunction=Mr.LINEAR_NONE),this.view.headingPitchRoll?(t.destination=this.view.position,t.orientation=this.view.headingPitchRoll):this.view.headingPitchRange&&(t.offset=this.view.headingPitchRange),u(e)&&(t=_t(t,e)),t};var SM=lz;function N7(e){this.type="KmlTourWait",this.blocking=!0,this.duration=e,this.timeout=null}N7.prototype.play=function(e){let t=this;this.activeCallback=e,this.timeout=setTimeout(function(){delete t.activeCallback,e(!1)},this.duration*1e3)};N7.prototype.stop=function(){clearTimeout(this.timeout),u(this.activeCallback)&&this.activeCallback(!0)};var DM=N7;var Qhe={avi:"video/x-msvideo",bmp:"image/bmp",bz2:"application/x-bzip2",chm:"application/vnd.ms-htmlhelp",css:"text/css",csv:"text/csv",doc:"application/msword",dvi:"application/x-dvi",eps:"application/postscript",flv:"video/x-flv",gif:"image/gif",gz:"application/x-gzip",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",jnlp:"application/x-java-jnlp-file",jpeg:"image/jpeg",jpg:"image/jpeg",m3u:"audio/x-mpegurl",m4v:"video/mp4",mathml:"application/mathml+xml",mid:"audio/midi",midi:"audio/midi",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mp4v:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",ogg:"application/ogg",pdf:"application/pdf",png:"image/png",pps:"application/vnd.ms-powerpoint",ppt:"application/vnd.ms-powerpoint",ps:"application/postscript",qt:"video/quicktime",rdf:"application/rdf+xml",rss:"application/rss+xml",rtf:"application/rtf",svg:"image/svg+xml",swf:"application/x-shockwave-flash",text:"text/plain",tif:"image/tiff",tiff:"image/tiff",txt:"text/plain",wav:"audio/x-wav",wma:"audio/x-ms-wma",wmv:"video/x-ms-wmv",xml:"application/xml",zip:"application/zip",detectFromFilename:function(e){let t=e.toLowerCase();return t=f0(t),Qhe[t]}},G7;typeof DOMParser<"u"&&(G7=new DOMParser);var YJe=new gk({stripPrefix:!1,email:!1,replaceFn:function(e){return e.urlMatchType==="scheme"||e.urlMatchType==="www"}}),Sy=32,Ghe=2414016,Whe=1,jhe=16093e3,Yhe=.1,qhe=[null,void 0,"http://www.opengis.net/kml/2.2","http://earth.google.com/kml/2.2","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.0"],Xhe=["http://www.google.com/kml/ext/2.2"],qJe=["http://www.w3.org/2005/Atom"],Re={kml:qhe,gx:Xhe,atom:qJe,kmlgx:qhe.concat(Xhe)},W7={Document:cme,Folder:dQe,Placemark:hQe,NetworkLink:TQe,GroundOverlay:AQe,PhotoOverlay:fme,ScreenOverlay:yQe,Tour:pQe};function sm(e){this._dataSource=e,this._deferred=Jr(),this._stack=[],this._promises=[],this._timeoutSet=!1,this._used=!1,this._started=0,this._timeThreshold=1e3}Object.defineProperties(sm.prototype,{dataSource:{get:function(){return this._dataSource}}});sm.prototype.addNodes=function(e,t){this._stack.push({nodes:e,index:0,processingData:t}),this._used=!0};sm.prototype.addPromise=function(e){this._promises.push(e)};sm.prototype.wait=function(){let e=this._deferred;return this._used||e.resolve(),Promise.all([e.promise,Promise.all(this._promises)])};sm.prototype.process=function(){let e=this._stack.length===1;return e&&(this._started=Au._getTimestamp()),this._process(e)};sm.prototype._giveUpTime=function(){if(this._timeoutSet)return;this._timeoutSet=!0,this._timeThreshold=50;let e=this;setTimeout(function(){e._timeoutSet=!1,e._started=Au._getTimestamp(),e._process(!0)},0)};sm.prototype._nextNode=function(){let e=this._stack,t=e[e.length-1],n=t.index,i=t.nodes;if(n!==i.length)return++t.index,i[n]};sm.prototype._pop=function(){let e=this._stack;return e.pop(),e.length===0?(this._deferred.resolve(),!1):!0};sm.prototype._process=function(e){let t=this.dataSource,n=this._stack[this._stack.length-1].processingData,i=this._nextNode();for(;u(i);){let o=W7[i.localName];if(u(o)&&(Re.kml.indexOf(i.namespaceURI)!==-1||Re.gx.indexOf(i.namespaceURI)!==-1)&&(o(t,i,n,this),this._timeoutSet||Au._getTimestamp()>this._started+this._timeThreshold)){this._giveUpTime();return}i=this._nextNode()}this._pop()&&e&&this._process(!0)};function XJe(e){let t=e.slice(0,Math.min(4,e.size)),n=Jr(),i=new FileReader;return i.addEventListener("load",function(){n.resolve(new DataView(i.result).getUint32(0,!1)===1347093252)}),i.addEventListener("error",function(){n.reject(i.error)}),i.readAsArrayBuffer(t),n.promise}function KJe(e){let t=Jr(),n=new FileReader;return n.addEventListener("load",function(){t.resolve(n.result)}),n.addEventListener("error",function(){t.reject(n.error)}),n.readAsText(e),t.promise}function $he(e){let t={xsi:"http://www.w3.org/2001/XMLSchema-instance"},n,i,o,r;for(let s in t)t.hasOwnProperty(s)&&(o=RegExp(`[< ]${s}:`),r=`xmlns:${s}=`,o.test(e)&&e.indexOf(r)===-1&&(u(n)||(n=e.substr(0,e.indexOf("<kml")+4),i=e.substr(n.length)),n+=` ${r}"${t[s]}"`));return u(n)&&(e=n+i),e}function eme(e){let t=e.indexOf("xmlns:"),n=e.indexOf(">",t),i,o,r;for(;t!==-1&&t<n;)i=e.slice(t,e.indexOf('"',t)),o=t,t=e.indexOf(i,t+1),t!==-1?(r=e.indexOf('"',e.indexOf('"',t)+1),e=e.slice(0,t-1)+e.slice(r+1,e.length),t=e.indexOf("xmlns:",o-1)):t=e.indexOf("xmlns:",o+1);return e}function ZJe(e,t){return Promise.resolve(e.getData(new Yk)).then(function(n){n=$he(n),n=eme(n),t.kml=G7.parseFromString(n,"application/xml")})}function F7(e,t){let n=y(Qhe.detectFromFilename(e.filename),"application/octet-stream");return Promise.resolve(e.getData(new qk(n))).then(function(i){t[e.filename]=i})}function gu(e,t,n,i){let o=i.keys,r=new vM.default("."),s=e.querySelectorAll(t);for(let a=0;a<s.length;a++){let c=s[a],l=c.getAttribute(n);if(u(l)){let d=new vM.default(l).absoluteTo(r).toString(),p=o.indexOf(d);if(p!==-1){let g=o[p];c.setAttribute(n,i[g]),t==="a"&&c.getAttribute("download")===null&&c.setAttribute("download",g)}}}}function yu(e,t,n,i){let o=e.querySelectorAll(t);for(let r=0;r<o.length;r++){let s=o[r],a=s.getAttribute(n),c=j7(a,i);u(c)&&s.setAttribute(n,c.url)}}function tme(e,t,n){let i=fs(e,"id");i=u(i)&&i.length!==0?i:zn(),u(n)&&(i=n+i);let o=t.getById(i);return u(o)&&(i=zn(),u(n)&&(i=n+i)),o=t.add(new jo({id:i})),u(o.kml)||(o.addProperty("kml"),o.kml=new DQe),o}function wM(e,t){return e==="absolute"||e==="relativeToGround"||t==="relativeToSeaFloor"}function hz(e,t){if(!u(e))return h.fromDegrees(0,0,0,t);let n=e.match(/[^\s,\n]+/g);if(!u(n))return h.fromDegrees(0,0,0,t);let i=parseFloat(n[0]),o=parseFloat(n[1]),r=parseFloat(n[2]);return i=isNaN(i)?0:i,o=isNaN(o)?0:o,r=isNaN(r)?0:r,h.fromDegrees(i,o,r,t)}function uz(e,t){if(!u(e))return;let n=e.textContent.match(/[^\s\n]+/g);if(!u(n))return;let i=n.length,o=new Array(i),r=0;for(let s=0;s<i;s++)o[r++]=hz(n[s],t);return o}function Dy(e,t){if(!u(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function fs(e,t){if(!u(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function wi(e,t,n){if(!u(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function Khe(e,t,n){if(!u(e))return;let i=[],o=e.getElementsByTagNameNS("*",t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function Hd(e,t,n){if(!u(e))return[];let i=[],o=e.childNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function ni(e,t,n){let i=wi(e,t,n);if(u(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function Pn(e,t,n){let i=wi(e,t,n);if(u(i))return i.textContent.trim()}function Gd(e,t,n){let i=wi(e,t,n);if(u(i)){let o=i.textContent.trim();return o==="1"||/^true$/i.test(o)}}function j7(e,t,n){if(!u(e))return;let i;if(u(n)){e=e.replace(/\\/g,"/");let o=n[e];if(u(o))i=new Oe({url:o});else{let r=new vM.default(t.getUrlComponent()),s=new vM.default(e);o=n[s.absoluteTo(r)],u(o)&&(i=new Oe({url:o}))}}return u(i)||(i=t.getDerivedResource({url:e})),i}var Sl={maximumRed:void 0,red:void 0,maximumGreen:void 0,green:void 0,maximumBlue:void 0,blue:void 0};function z7(e,t){if(!u(e)||/^\s*$/gm.test(e))return;e[0]==="#"&&(e=e.substring(1));let n=parseInt(e.substring(0,2),16)/255,i=parseInt(e.substring(2,4),16)/255,o=parseInt(e.substring(4,6),16)/255,r=parseInt(e.substring(6,8),16)/255;return t?(r>0?(Sl.maximumRed=r,Sl.red=void 0):(Sl.maximumRed=void 0,Sl.red=0),o>0?(Sl.maximumGreen=o,Sl.green=void 0):(Sl.maximumGreen=void 0,Sl.green=0),i>0?(Sl.maximumBlue=i,Sl.blue=void 0):(Sl.maximumBlue=void 0,Sl.blue=0),Sl.alpha=n,z.fromRandom(Sl)):new z(r,o,i,n)}function wx(e,t,n){let i=Pn(e,t,n);if(u(i))return z7(i,Pn(e,"colorMode",n)==="random")}function JJe(e){let t=wi(e,"TimeStamp",Re.kmlgx),n=Pn(t,"when",Re.kmlgx);if(!u(t)||!u(n)||n.length===0)return;let i=$.fromIso8601(n),o=new Pr;return o.addInterval(new An({start:i,stop:ze.MAXIMUM_VALUE})),o}function QJe(e){let t=wi(e,"TimeSpan",Re.kmlgx);if(!u(t))return;let n,i=wi(t,"begin",Re.kmlgx),o=u(i)?$.fromIso8601(i.textContent):void 0,r=wi(t,"end",Re.kmlgx),s=u(r)?$.fromIso8601(r.textContent):void 0;if(u(o)&&u(s)){if($.lessThan(s,o)){let a=o;o=s,s=a}n=new Pr,n.addInterval(new An({start:o,stop:s}))}else u(o)?(n=new Pr,n.addInterval(new An({start:o,stop:ze.MAXIMUM_VALUE}))):u(s)&&(n=new Pr,n.addInterval(new An({start:ze.MINIMUM_VALUE,stop:s})));return n}function nme(){let e=new Na;return e.width=Sy,e.height=Sy,e.scaleByDistance=new Pt(Ghe,Whe,jhe,Yhe),e.pixelOffsetScaleByDistance=new Pt(Ghe,Whe,jhe,Yhe),e}function Y7(){let e=new ed;return e.outline=!0,e.outlineColor=z.WHITE,e}function ime(){let e=new $f;return e.translucencyByDistance=new Pt(3e6,1,5e6,0),e.pixelOffset=new H(17,0),e.horizontalOrigin=_i.LEFT,e.font="16px sans-serif",e.style=No.FILL_AND_OUTLINE,e}function q7(e,t,n,i,o){let r=Pn(e,"href",Re.kml);if(!u(r)||r.length===0)return;if(r.indexOf("root://icons/palette-")===0){let a=r.charAt(21),c=y(ni(e,"x",Re.gx),0),l=y(ni(e,"y",Re.gx),0);c=Math.min(c/32,7),l=7-Math.min(l/32,7);let f=8*l+c;r=`https://maps.google.com/mapfiles/kml/pal${a}/icon${f}.png`}let s=j7(r,n,i);if(o){let a=Pn(e,"refreshMode",Re.kml),c=Pn(e,"viewRefreshMode",Re.kml);a==="onInterval"||a==="onExpire"?wt(`kml-refreshMode-${a}`,`KML - Unsupported Icon refreshMode: ${a}`):(c==="onStop"||c==="onRegion")&&wt(`kml-refreshMode-${c}`,`KML - Unsupported Icon viewRefreshMode: ${c}`);let l=y(Pn(e,"viewBoundScale",Re.kml),1),f=c==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",d=y(Pn(e,"viewFormat",Re.kml),f),p=Pn(e,"httpQuery",Re.kml);u(d)&&s.setQueryParameters(Nl(dz(d))),u(p)&&s.setQueryParameters(Nl(dz(p)));let g=t._ellipsoid;return K7(s,t.camera,t.canvas,l,t._lastCameraView.bbox,g),s}return s}function $Je(e,t,n,i,o){let r=ni(t,"scale",Re.kml),s=ni(t,"heading",Re.kml),a=wx(t,"color",Re.kml),c=wi(t,"Icon",Re.kml),l=q7(c,e,i,o,!1);u(c)&&!u(l)&&(l=!1);let f=ni(c,"x",Re.gx),d=ni(c,"y",Re.gx),p=ni(c,"w",Re.gx),g=ni(c,"h",Re.gx),m=wi(t,"hotSpot",Re.kml),A=Dy(m,"x"),x=Dy(m,"y"),C=fs(m,"xunits"),T=fs(m,"yunits"),E=n.billboard;u(E)||(E=nme(),n.billboard=E),E.image=l,E.scale=r,E.color=a,(u(f)||u(d)||u(p)||u(g))&&(E.imageSubRegion=new Ye(f,d,p,g)),u(s)&&s!==0&&(E.rotation=P.toRadians(-s),E.alignedAxis=h.UNIT_Z),r=y(r,1);let S,D;u(A)&&(C==="pixels"?S=-A*r:C==="insetPixels"?S=(A-Sy)*r:C==="fraction"&&(S=-A*Sy*r),S+=Sy*.5*r),u(x)&&(T==="pixels"?D=x*r:T==="insetPixels"?D=(-x+Sy)*r:T==="fraction"&&(D=x*Sy*r),D-=Sy*.5*r),(u(S)||u(D))&&(E.pixelOffset=new H(S,D))}function fz(e,t,n,i,o){for(let r=0,s=t.childNodes.length;r<s;r++){let a=t.childNodes.item(r);if(a.localName==="IconStyle")$Je(e,a,n,i,o);else if(a.localName==="LabelStyle"){let c=n.label;u(c)||(c=ime(),n.label=c),c.scale=y(ni(a,"scale",Re.kml),c.scale),c.fillColor=y(wx(a,"color",Re.kml),c.fillColor),c.text=n.name}else if(a.localName==="LineStyle"){let c=n.polyline;u(c)||(c=new Ua,n.polyline=c),c.width=ni(a,"width",Re.kml),c.material=wx(a,"color",Re.kml),u(wx(a,"outerColor",Re.gx))&&wt("kml-gx:outerColor","KML - gx:outerColor is not supported in a LineStyle"),u(ni(a,"outerWidth",Re.gx))&&wt("kml-gx:outerWidth","KML - gx:outerWidth is not supported in a LineStyle"),u(ni(a,"physicalWidth",Re.gx))&&wt("kml-gx:physicalWidth","KML - gx:physicalWidth is not supported in a LineStyle"),u(Gd(a,"labelVisibility",Re.gx))&&wt("kml-gx:labelVisibility","KML - gx:labelVisibility is not supported in a LineStyle")}else if(a.localName==="PolyStyle"){let c=n.polygon;u(c)||(c=Y7(),n.polygon=c),c.material=y(wx(a,"color",Re.kml),c.material),c.fill=y(Gd(a,"fill",Re.kml),c.fill),c.outline=y(Gd(a,"outline",Re.kml),c.outline)}else if(a.localName==="BalloonStyle"){let c=y(z7(Pn(a,"bgColor",Re.kml)),z.WHITE),l=y(z7(Pn(a,"textColor",Re.kml)),z.BLACK),f=Pn(a,"text",Re.kml);n.addProperty("balloonStyle"),n.balloonStyle={bgColor:c,textColor:l,text:f}}else if(a.localName==="ListStyle"){let c=Pn(a,"listItemType",Re.kml);(c==="radioFolder"||c==="checkOffOnly")&&wt(`kml-listStyle-${c}`,`KML - Unsupported ListStyle with listItemType: ${c}`)}}}function eQe(e,t,n,i,o){let r=new jo,s,a=-1,c=t.childNodes,l=c.length;for(let d=0;d<l;d++){let p=c[d];(p.localName==="Style"||p.localName==="StyleMap")&&(a=d)}if(a!==-1){let d=c[a];if(d.localName==="Style")fz(e,d,r,i,o);else{let p=Hd(d,"Pair",Re.kml);for(let g=0;g<p.length;g++){let m=p[g],A=Pn(m,"key",Re.kml);if(A==="normal"){let x=Pn(m,"styleUrl",Re.kml);if(u(x))s=n.getById(x),u(s)||(s=n.getById(`#${x}`)),u(s)&&r.merge(s);else{let C=wi(m,"Style",Re.kml);fz(e,C,r,i,o)}}else wt(`kml-styleMap-${A}`,`KML - Unsupported StyleMap key: ${A}`)}}}let f=Pn(t,"styleUrl",Re.kml);if(u(f)){let d=f;if(f[0]!=="#"&&f.indexOf("#")!==-1){let p=f.split("#"),g=p[0];d=`${i.getDerivedResource({url:g}).getUrlComponent()}#${p[1]}`}s=n.getById(d),u(s)||(s=n.getById(`#${d}`)),u(s)&&r.merge(s)}return r}function tQe(e,t,n){return t.fetchXML().then(function(i){return ome(e,i,n,t,!0)})}function ome(e,t,n,i,o,r){let s,a,c,l,f=Khe(t,"Style",Re.kml);if(u(f)){let A=f.length;for(s=0;s<A;s++)l=f[s],a=fs(l,"id"),u(a)&&(a=`#${a}`,o&&u(i)&&(a=i.getUrlComponent()+a),u(n.getById(a))||(c=new jo({id:a}),n.add(c),fz(e,l,c,i,r)))}let d=Khe(t,"StyleMap",Re.kml);if(u(d)){let A=d.length;for(s=0;s<A;s++){let x=d[s];if(a=fs(x,"id"),u(a)){let C=Hd(x,"Pair",Re.kml);for(let T=0;T<C.length;T++){let E=C[T],S=Pn(E,"key",Re.kml);if(S==="normal"){if(a=`#${a}`,o&&u(i)&&(a=i.getUrlComponent()+a),!u(n.getById(a))){c=n.getOrCreateEntity(a);let D=Pn(E,"styleUrl",Re.kml);if(u(D)){D[0]!=="#"&&(D=`#${D}`),o&&u(i)&&(D=i.getUrlComponent()+D);let w=n.getById(D);u(w)&&c.merge(w)}else l=wi(E,"Style",Re.kml),fz(e,l,c,i,r)}}else wt(`kml-styleMap-${S}`,`KML - Unsupported StyleMap key: ${S}`)}}}}let p=[],g=t.getElementsByTagName("styleUrl"),m=g.length;for(s=0;s<m;s++){let A=g[s].textContent;if(A[0]!=="#"){let x=A.split("#");if(x.length===2){let C=x[0],T=i.getDerivedResource({url:C});p.push(tQe(e,T,n))}}}return p}function X7(e,t,n){let i=new i_(e,t.id,["position"]),o=new Qh(t.position);t.polyline=u(n.polyline)?n.polyline.clone():new Ua,t.polyline.positions=new n_([i,o])}function rme(e,t){return!u(e)&&!u(t)||e==="clampToGround"?We.CLAMP_TO_GROUND:e==="relativeToGround"?We.RELATIVE_TO_GROUND:e==="absolute"?We.NONE:t==="clampToSeaFloor"?(wt("kml-gx:altitudeMode-clampToSeaFloor","KML - <gx:altitudeMode>:clampToSeaFloor is currently not supported, using <kml:altitudeMode>:clampToGround."),We.CLAMP_TO_GROUND):t==="relativeToSeaFloor"?(wt("kml-gx:altitudeMode-relativeToSeaFloor","KML - <gx:altitudeMode>:relativeToSeaFloor is currently not supported, using <kml:altitudeMode>:relativeToGround."),We.RELATIVE_TO_GROUND):(u(e)?wt("kml-altitudeMode-unknown",`KML - Unknown <kml:altitudeMode>:${e}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`):wt("kml-gx:altitudeMode-unknown",`KML - Unknown <gx:altitudeMode>:${t}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`),We.CLAMP_TO_GROUND)}function nQe(e,t,n){return n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround"?e:((u(t)&&t!=="clampToGround"||u(n)&&n!=="clampToSeaFloor")&&wt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`),new Qh(e))}function iQe(e,t,n,i){if(!u(e))return;if(n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround")return e;(u(t)&&t!=="clampToGround"||u(n)&&n!=="clampToSeaFloor")&&wt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`);let o=e.length;for(let r=0;r<o;r++){let s=e[r];i.scaleToGeodeticSurface(s,s)}return e}function mz(e,t,n,i){let o=t.label;u(o)||(o=u(n.label)?n.label.clone():ime(),t.label=o),o.text=t.name;let r=t.billboard;u(r)||(r=u(n.billboard)?n.billboard.clone():nme(),t.billboard=r),u(r.image)?r.image.getValue()||(r.image=void 0):r.image=e._pinBuilder.fromColor(z.YELLOW,64);let s=1;u(r.scale)&&(s=r.scale.getValue(),s!==0?o.pixelOffset=new H(s*16+1,0):(o.pixelOffset=void 0,o.horizontalOrigin=void 0)),u(i)&&e._clampToGround&&(r.heightReference=i,o.heightReference=i)}function sme(e,t){let n=e.path;u(n)||(n=new ep,n.leadTime=0,e.path=n);let i=t.polyline;u(i)&&(n.material=i.material,n.width=i.width)}function oQe(e,t,n,i,o){let r=Pn(n,"coordinates",Re.kml),s=Pn(n,"altitudeMode",Re.kml),a=Pn(n,"altitudeMode",Re.gx),c=Gd(n,"extrude",Re.kml),l=e._ellipsoid,f=hz(r,l);return i.position=f,mz(e,i,o,rme(s,a)),c&&wM(s,a)&&X7(t,i,o),!0}function Zhe(e,t,n,i,o){let r=wi(n,"coordinates",Re.kml),s=Pn(n,"altitudeMode",Re.kml),a=Pn(n,"altitudeMode",Re.gx),c=Gd(n,"extrude",Re.kml),l=Gd(n,"tessellate",Re.kml),f=wM(s,a),d=ni(n,"drawOrder",Re.gx),p=e._ellipsoid,g=uz(r,p),m=o.polyline;if(f&&c){let A=new tp;i.wall=A,A.positions=g;let x=o.polygon;u(x)&&(A.fill=x.fill,A.material=x.material),A.outline=!0,u(m)?(A.outlineColor=u(m.material)?m.material.color:z.WHITE,A.outlineWidth=m.width):u(x)&&(A.outlineColor=u(x.material)?x.material.color:z.WHITE)}else if(e._clampToGround&&!f&&l){let A=new Ua;A.clampToGround=!0,i.polyline=A,A.positions=g,u(m)?(A.material=u(m.material)?m.material.color.getValue(ze.MINIMUM_VALUE):z.WHITE,A.width=y(m.width,1)):(A.material=z.WHITE,A.width=1),A.zIndex=d}else u(d)&&wt("kml-gx:drawOrder","KML - gx:drawOrder is not supported in LineStrings when clampToGround is false"),e._clampToGround&&!l&&wt("kml-line-tesselate","Ignoring clampToGround for KML lines without the tessellate flag."),m=u(m)?m.clone():new Ua,i.polyline=m,m.positions=iQe(g,s,a,p),(!l||f)&&(m.arcType=Kt.NONE);return!0}function rQe(e,t,n,i,o){let r=wi(n,"outerBoundaryIs",Re.kml),s=wi(r,"LinearRing",Re.kml),a=wi(s,"coordinates",Re.kml),c=e._ellipsoid,l=uz(a,c),f=Gd(n,"extrude",Re.kml),d=Pn(n,"altitudeMode",Re.kml),p=Pn(n,"altitudeMode",Re.gx),g=wM(d,p),m=u(o.polygon)?o.polygon.clone():Y7(),A=o.polyline;if(u(A)&&(m.outlineColor=u(A.material)?A.material.color:z.WHITE,m.outlineWidth=A.width),i.polygon=m,g?(m.perPositionHeight=!0,m.extrudedHeight=f?0:void 0):e._clampToGround||(m.height=0),u(l)){let x=new Dc(l),C=Hd(n,"innerBoundaryIs",Re.kml);for(let T=0;T<C.length;T++){s=Hd(C[T],"LinearRing",Re.kml);for(let E=0;E<s.length;E++)a=wi(s[E],"coordinates",Re.kml),l=uz(a,c),u(l)&&x.holes.push(new Dc(l))}m.hierarchy=x}return!0}function sQe(e,t,n,i,o){let r=Pn(n,"altitudeMode",Re.kml),s=Pn(n,"altitudeMode",Re.gx),a=Hd(n,"coord",Re.gx),c=Hd(n,"angles",Re.gx),l=Hd(n,"when",Re.kml),f=Gd(n,"extrude",Re.kml),d=wM(r,s),p=e._ellipsoid;c.length>0&&wt("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let g=Math.min(a.length,l.length),m=[],A=[];for(let C=0;C<g;C++){let T=hz(a[C].textContent,p);m.push(T),A.push($.fromIso8601(l[C].textContent))}let x=new Ys;return x.addSamples(A,m),i.position=x,mz(e,i,o,rme(r,s)),sme(i,o),i.availability=new Pr,l.length>0&&i.availability.addInterval(new An({start:A[0],stop:A[A.length-1]})),d&&f&&X7(t,i,o),!0}function Jhe(e,t,n,i,o,r,s,a,c){let l=e[0],f=e[e.length-1],d=new Ys;d.addSamples(e,t),n.intervals.addInterval(new An({start:l,stop:f,isStartIncluded:c,isStopIncluded:c,data:nQe(d,s,a)})),i.addInterval(new An({start:l,stop:f,isStartIncluded:c,isStopIncluded:c})),o.intervals.addInterval(new An({start:l,stop:f,isStartIncluded:c,isStopIncluded:c,data:r}))}function aQe(e,t,n,i,o){let r=Gd(n,"interpolate",Re.gx),s=Hd(n,"Track",Re.gx),a,c,l,f=!1,d=new r_,p=new Pr,g=new Ws,m=e._ellipsoid;for(let A=0,x=s.length;A<x;A++){let C=s[A],T=Hd(C,"when",Re.kml),E=Hd(C,"coord",Re.gx),S=Pn(C,"altitudeMode",Re.kml),D=Pn(C,"altitudeMode",Re.gx),w=wM(S,D),R=Gd(C,"extrude",Re.kml),O=Math.min(E.length,T.length),L=[];a=[];for(let N=0;N<O;N++){let _=hz(E[N].textContent,m);L.push(_),a.push($.fromIso8601(T[N].textContent))}r&&(u(c)&&Jhe([c,a[0]],[l,L[0]],g,p,d,!1,"absolute",void 0,!1),c=a[O-1],l=L[L.length-1]),Jhe(a,L,g,p,d,w&&R,S,D,!0),f=f||w&&R}return i.availability=p,i.position=g,mz(e,i,o),sme(i,o),f&&(X7(t,i,o),i.polyline.show=d),!0}var ame={Point:oQe,LineString:Zhe,LinearRing:Zhe,Polygon:rQe,Track:sQe,MultiTrack:aQe,MultiGeometry:cQe,Model:lQe};function cQe(e,t,n,i,o,r){let s=n.childNodes,a=!1;for(let c=0,l=s.length;c<l;c++){let f=s.item(c),d=ame[f.localName];if(u(d)){let p=tme(f,t,r);p.parent=i,p.name=i.name,p.availability=i.availability,p.description=i.description,p.kml=i.kml,d(e,t,f,p,o)&&(a=!0)}}return a}function lQe(e,t,n,i,o){return wt("kml-unsupportedGeometry",`KML - Unsupported geometry: ${n.localName}`),!1}function uQe(e,t){let n=wi(e,"ExtendedData",Re.kml);if(!u(n))return;u(wi(n,"SchemaData",Re.kml))&&wt("kml-schemaData","KML - SchemaData is unsupported"),u(fs(n,"xmlns:prefix"))&&wt("kml-extendedData","KML - ExtendedData with xmlns:prefix is unsupported");let i={},o=Hd(n,"Data",Re.kml);if(u(o)){let r=o.length;for(let s=0;s<r;s++){let a=o[s],c=fs(a,"name");u(c)&&(i[c]={displayName:Pn(a,"displayName",Re.kml),value:Pn(a,"value",Re.kml)})}}t.kml.extendedData=i}var ho;typeof document<"u"&&(ho=document.createElement("div"));function fQe(e,t,n,i,o){let r,s,a,c=t.kml,l=c.extendedData,f=Pn(e,"description",Re.kml),d=y(t.balloonStyle,n.balloonStyle),p=z.WHITE,g=z.BLACK,m=f;u(d)&&(p=y(d.bgColor,z.WHITE),g=y(d.textColor,z.BLACK),m=y(d.text,f));let A;if(u(m)){if(m=m.replace("$[name]",y(t.name,"")),m=m.replace("$[description]",y(f,"")),m=m.replace("$[address]",y(c.address,"")),m=m.replace("$[Snippet]",y(c.snippet,"")),m=m.replace("$[id]",t.id),m=m.replace("$[geDirections]",""),u(l)){let T=m.match(/\$\[.+?\]/g);if(T!==null)for(r=0;r<T.length;r++){let E=T[r],S=E.substr(2,E.length-3),D=/\/displayName$/.test(S);S=S.replace(/\/displayName$/,""),A=l[S],u(A)&&(A=D?A.displayName:A.value),u(A)&&(m=m.replace(E,y(A,"")))}}}else if(u(l)&&(a=Object.keys(l),a.length>0)){for(m='<table class="cesium-infoBox-defaultTable cesium-infoBox-defaultTable-lighter"><tbody>',r=0;r<a.length;r++)s=a[r],A=l[s],m+=`<tr><th>${y(A.displayName,s)}</th><td>${y(A.value,"")}</td></tr>`;m+="</tbody></table>"}if(!u(m))return;m=YJe.link(m),ho.innerHTML=m;let x=ho.querySelectorAll("a");for(r=0;r<x.length;r++)x[r].setAttribute("target","_blank");u(i)&&i.keys.length>1&&(gu(ho,"a","href",i),gu(ho,"link","href",i),gu(ho,"area","href",i),gu(ho,"img","src",i),gu(ho,"iframe","src",i),gu(ho,"video","src",i),gu(ho,"audio","src",i),gu(ho,"source","src",i),gu(ho,"track","src",i),gu(ho,"input","src",i),gu(ho,"embed","src",i),gu(ho,"script","src",i),gu(ho,"video","poster",i)),yu(ho,"a","href",o),yu(ho,"link","href",o),yu(ho,"area","href",o),yu(ho,"img","src",o),yu(ho,"iframe","src",o),yu(ho,"video","src",o),yu(ho,"audio","src",o),yu(ho,"source","src",o),yu(ho,"track","src",o),yu(ho,"input","src",o),yu(ho,"embed","src",o),yu(ho,"script","src",o),yu(ho,"video","poster",o);let C='<div class="cesium-infoBox-description-lighter" style="';C+="overflow:auto;",C+="word-wrap:break-word;",C+=`background-color:${p.toCssColorString()};`,C+=`color:${g.toCssColorString()};`,C+='">',C+=`${ho.innerHTML}</div>`,ho.innerHTML="",t.description=C}function pz(e,t,n){let i=n.entityCollection,o=n.parentEntity,r=n.sourceResource,s=n.uriResolver,a=tme(t,i,n.context),c=a.kml,l=eQe(e,t,n.styleCollection,r,s),f=Pn(t,"name",Re.kml);a.name=f,a.parent=o;let d=QJe(t);u(d)||(d=JJe(t)),a.availability=d,J7(a);function p(E){return E?E.show&&p(E.parent):!0}let g=Gd(t,"visibility",Re.kml);a.show=p(o)&&y(g,!0);let m=wi(t,"author",Re.atom),A=c.author;A.name=Pn(m,"name",Re.atom),A.uri=Pn(m,"uri",Re.atom),A.email=Pn(m,"email",Re.atom);let x=wi(t,"link",Re.atom),C=c.link;C.href=fs(x,"href"),C.hreflang=fs(x,"hreflang"),C.rel=fs(x,"rel"),C.type=fs(x,"type"),C.title=fs(x,"title"),C.length=fs(x,"length"),c.address=Pn(t,"address",Re.kml),c.phoneNumber=Pn(t,"phoneNumber",Re.kml),c.snippet=Pn(t,"Snippet",Re.kml),uQe(t,a),fQe(t,a,l,s,r);let T=e._ellipsoid;return ume(t,a,T),lme(t,a,T),u(wi(t,"Region",Re.kml))&&wt("kml-region","KML - Placemark Regions are unsupported"),{entity:a,styleEntity:l}}function cme(e,t,n,i){i.addNodes(t.childNodes,n),i.process()}function dQe(e,t,n,i){let o=pz(e,t,n),r=Ge(n);r.parentEntity=o.entity,cme(e,t,r,i)}function hQe(e,t,n,i){let o=pz(e,t,n),r=o.entity,s=o.styleEntity,a=!1,c=t.childNodes;for(let l=0,f=c.length;l<f&&!a;l++){let d=c.item(l),p=ame[d.localName];u(p)&&(p(e,n.entityCollection,d,r,s,r.id),a=!0)}a||(r.merge(s),mz(e,r,s))}var mQe={FlyTo:gQe,Wait:_Qe,SoundCue:V7,AnimatedUpdate:V7,TourControl:V7};function pQe(e,t,n,i){let o=Pn(t,"name",Re.kml),r=fs(t,"id"),s=new TM(o,r),a=wi(t,"Playlist",Re.gx);if(a){let c=e._ellipsoid,l=a.childNodes;for(let f=0;f<l.length;f++){let d=l[f];if(d.localName){let p=mQe[d.localName];p?p(s,d,c):console.log(`Unknown KML Tour playlist entry type ${d.localName}`)}}}e._kmlTours.push(s)}function V7(e,t){wt(`KML Tour unsupported node ${t.localName}`)}function _Qe(e,t){let n=ni(t,"duration",Re.gx);e.addPlaylistEntry(new DM(n))}function gQe(e,t,n){let i=ni(t,"duration",Re.gx),o=Pn(t,"flyToMode",Re.gx),r={kml:{}};ume(t,r,n),lme(t,r,n);let s=r.kml.lookAt||r.kml.camera,a=new SM(i,o,s);e.addPlaylistEntry(a)}function lme(e,t,n){let i=wi(e,"Camera",Re.kml);if(u(i)){let o=y(ni(i,"longitude",Re.kml),0),r=y(ni(i,"latitude",Re.kml),0),s=y(ni(i,"altitude",Re.kml),0),a=y(ni(i,"heading",Re.kml),0),c=y(ni(i,"tilt",Re.kml),0),l=y(ni(i,"roll",Re.kml),0),f=h.fromDegrees(o,r,s,n),d=Ba.fromDegrees(a,c-90,l);t.kml.camera=new dM(f,d)}}function ume(e,t,n){let i=wi(e,"LookAt",Re.kml);if(u(i)){let o=y(ni(i,"longitude",Re.kml),0),r=y(ni(i,"latitude",Re.kml),0),s=y(ni(i,"altitude",Re.kml),0),a=ni(i,"heading",Re.kml),c=ni(i,"tilt",Re.kml),l=y(ni(i,"range",Re.kml),0);c=P.toRadians(y(c,0)),a=P.toRadians(y(a,0));let f=new uu(a,c-P.PI_OVER_TWO,l),d=h.fromDegrees(o,r,s,n);t.kml.lookAt=new CM(d,f)}}function yQe(e,t,n,i){let o=n.screenOverlayContainer;if(!u(o))return;let r=n.sourceResource,s=n.uriResolver,a=wi(t,"Icon",Re.kml),c=q7(a,e,r,s,!1);if(!u(c))return;let l=document.createElement("img");e._screenOverlays.push(l),l.src=c.url,l.onload=function(){let f=["position: absolute"],d=wi(t,"screenXY",Re.kml),p=wi(t,"overlayXY",Re.kml),g=wi(t,"size",Re.kml),m,A,x,C,T,E;u(g)&&(m=Dy(g,"x"),A=Dy(g,"y"),x=fs(g,"xunits"),C=fs(g,"yunits"),u(m)&&m!==-1&&m!==0&&(x==="fraction"?T=`width: ${Math.floor(m*100)}%`:x==="pixels"&&(T=`width: ${m}px`),f.push(T)),u(A)&&A!==-1&&A!==0&&(C==="fraction"?E=`height: ${Math.floor(A*100)}%`:C==="pixels"&&(E=`height: ${A}px`),f.push(E))),l.style=f.join(";");let S=0,D=l.height;u(p)&&(m=Dy(p,"x"),A=Dy(p,"y"),x=fs(p,"xunits"),C=fs(p,"yunits"),u(m)&&(x==="fraction"?S=m*l.width:(x==="pixels"||x==="insetPixels")&&(S=m)),u(A)&&(C==="fraction"?D=A*l.height:(C==="pixels"||C==="insetPixels")&&(D=A))),u(d)&&(m=Dy(d,"x"),A=Dy(d,"y"),x=fs(d,"xunits"),C=fs(d,"yunits"),u(m)&&(x==="fraction"?T=`left: calc(${Math.floor(m*100)}% - ${S}px)`:x==="pixels"?T=`left: ${m-S}px`:x==="insetPixels"&&(T=`right: ${m-S}px`),f.push(T)),u(A)&&(C==="fraction"?E=`bottom: calc(${Math.floor(A*100)}% - ${D}px)`:C==="pixels"?E=`bottom: ${A-D}px`:C==="insetPixels"&&(E=`top: ${A-D}px`),f.push(E))),l.style=f.join(";")},o.appendChild(l)}function AQe(e,t,n,i){let r=pz(e,t,n).entity,s,a=!1,c=e._ellipsoid,l=uz(wi(t,"LatLonQuad",Re.gx),c),f=ni(t,"drawOrder",Re.kml);if(u(l))s=Y7(),s.hierarchy=new Dc(l),s.zIndex=f,r.polygon=s,a=!0;else{s=new td,s.zIndex=f,r.rectangle=s;let m=wi(t,"LatLonBox",Re.kml);if(u(m)){let A=ni(m,"west",Re.kml),x=ni(m,"south",Re.kml),C=ni(m,"east",Re.kml),T=ni(m,"north",Re.kml);u(A)&&(A=P.negativePiToPi(P.toRadians(A))),u(x)&&(x=P.clampToLatitudeRange(P.toRadians(x))),u(C)&&(C=P.negativePiToPi(P.toRadians(C))),u(T)&&(T=P.clampToLatitudeRange(P.toRadians(T))),s.coordinates=new ce(A,x,C,T);let E=ni(m,"rotation",Re.kml);if(u(E)){let S=P.toRadians(E);s.rotation=S,s.stRotation=S}}}let d=wi(t,"Icon",Re.kml),p=q7(d,e,n.sourceResource,n.uriResolver,!0);if(u(p)){a&&wt("kml-gx:LatLonQuad","KML - gx:LatLonQuad Icon does not support texture projection.");let m=ni(d,"x",Re.gx),A=ni(d,"y",Re.gx),x=ni(d,"w",Re.gx),C=ni(d,"h",Re.gx);(u(m)||u(A)||u(x)||u(C))&&wt("kml-groundOverlay-xywh","KML - gx:x, gx:y, gx:w, gx:h aren't supported for GroundOverlays"),s.material=p,s.material.color=wx(t,"color",Re.kml),s.material.transparent=!0}else s.material=wx(t,"color",Re.kml);let g=Pn(t,"altitudeMode",Re.kml);u(g)?g==="absolute"?(s.height=ni(t,"altitude",Re.kml),s.zIndex=void 0):g!=="clampToGround"&&wt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`):(g=Pn(t,"altitudeMode",Re.gx),g==="relativeToSeaFloor"?(wt("kml-altitudeMode-relativeToSeaFloor","KML - altitudeMode relativeToSeaFloor is currently not supported, treating as absolute."),s.height=ni(t,"altitude",Re.kml),s.zIndex=void 0):g==="clampToSeaFloor"?wt("kml-altitudeMode-clampToSeaFloor","KML - altitudeMode clampToSeaFloor is currently not supported, treating as clampToGround."):u(g)&&wt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`))}function fme(e,t,n,i){e._unsupportedNode.raiseEvent(e,n.parentEntity,t,n.entityCollection,n.styleCollection,n.sourceResource,n.uriResolver),wt(`kml-unsupportedFeature-${t.nodeName}`,`KML - Unsupported feature: ${t.nodeName}`)}var vy={INTERVAL:0,EXPIRE:1,STOP:2};function dz(e){if(!u(e)||e.length===0)return"";let t=e[0];return(t==="&"||t==="?")&&(e=e.substring(1)),e}var xQe=new ce,vb=new he,U7=new H,CQe=new h;function K7(e,t,n,i,o,r){function s(l){return l<-P.PI_OVER_TWO?-P.PI_OVER_TWO:l>P.PI_OVER_TWO?P.PI_OVER_TWO:l}function a(l){return l>P.PI?l-P.TWO_PI:l<-P.PI?l+P.TWO_PI:l}let c=p0(e.queryParameters);if(c=c.replace(/%5B/g,"[").replace(/%5D/g,"]"),u(t)&&t._mode!==te.MORPHING){let l,f;if(o=y(o,xQe),u(n)&&(U7.x=n.clientWidth*.5,U7.y=n.clientHeight*.5,l=t.pickEllipsoid(U7,r,CQe)),u(l)?f=r.cartesianToCartographic(l,vb):(f=ce.center(o,vb),l=r.cartographicToCartesian(f)),u(i)&&!P.equalsEpsilon(i,1,P.EPSILON9)){let C=o.width*i*.5,T=o.height*i*.5;o=new ce(a(f.longitude-C),s(f.latitude-T),a(f.longitude+C),s(f.latitude+T))}c=c.replace("[bboxWest]",P.toDegrees(o.west).toString()),c=c.replace("[bboxSouth]",P.toDegrees(o.south).toString()),c=c.replace("[bboxEast]",P.toDegrees(o.east).toString()),c=c.replace("[bboxNorth]",P.toDegrees(o.north).toString());let d=P.toDegrees(f.longitude).toString(),p=P.toDegrees(f.latitude).toString();c=c.replace("[lookatLon]",d),c=c.replace("[lookatLat]",p),c=c.replace("[lookatTilt]",P.toDegrees(t.pitch).toString()),c=c.replace("[lookatHeading]",P.toDegrees(t.heading).toString()),c=c.replace("[lookatRange]",h.distance(t.positionWC,l)),c=c.replace("[lookatTerrainLon]",d),c=c.replace("[lookatTerrainLat]",p),c=c.replace("[lookatTerrainAlt]",f.height.toString()),r.cartesianToCartographic(t.positionWC,vb),c=c.replace("[cameraLon]",P.toDegrees(vb.longitude).toString()),c=c.replace("[cameraLat]",P.toDegrees(vb.latitude).toString()),c=c.replace("[cameraAlt]",P.toDegrees(vb.height).toString());let g=t.frustum,m=g.aspectRatio,A="",x="";if(u(m)){let C=P.toDegrees(g.fov);m>1?(A=C,x=C/m):(x=C,A=C*m)}c=c.replace("[horizFov]",A.toString()),c=c.replace("[vertFov]",x.toString())}else c=c.replace("[bboxWest]","-180"),c=c.replace("[bboxSouth]","-90"),c=c.replace("[bboxEast]","180"),c=c.replace("[bboxNorth]","90"),c=c.replace("[lookatLon]",""),c=c.replace("[lookatLat]",""),c=c.replace("[lookatRange]",""),c=c.replace("[lookatTilt]",""),c=c.replace("[lookatHeading]",""),c=c.replace("[lookatTerrainLon]",""),c=c.replace("[lookatTerrainLat]",""),c=c.replace("[lookatTerrainAlt]",""),c=c.replace("[cameraLon]",""),c=c.replace("[cameraLat]",""),c=c.replace("[cameraAlt]",""),c=c.replace("[horizFov]",""),c=c.replace("[vertFov]","");u(n)?(c=c.replace("[horizPixels]",n.clientWidth),c=c.replace("[vertPixels]",n.clientHeight)):(c=c.replace("[horizPixels]",""),c=c.replace("[vertPixels]","")),c=c.replace("[terrainEnabled]","1"),c=c.replace("[clientVersion]","1"),c=c.replace("[kmlVersion]","2.2"),c=c.replace("[clientName]","Cesium"),c=c.replace("[language]","English"),e.setQueryParameters(Nl(c))}function TQe(e,t,n,i){let r=pz(e,t,n).entity,s=n.sourceResource,a=n.uriResolver,c=wi(t,"Link",Re.kml);if(u(c)||(c=wi(t,"Url",Re.kml)),u(c)){let l=Pn(c,"href",Re.kml),f,d;if(u(l)){let p=l;if(l=j7(l,s,n.uriResolver),/^data:/.test(l.getUrlComponent()))/\.kmz/i.test(s.getUrlComponent())||(p=s.getDerivedResource({url:p}));else{if(p=l.clone(),f=Pn(c,"viewRefreshMode",Re.kml),f==="onRegion"){wt("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion");return}d=y(Pn(c,"viewBoundScale",Re.kml),1);let x=f==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",C=y(Pn(c,"viewFormat",Re.kml),x),T=Pn(c,"httpQuery",Re.kml);u(C)&&l.setQueryParameters(Nl(dz(C))),u(T)&&l.setQueryParameters(Nl(dz(T)));let E=e._ellipsoid;K7(l,e.camera,e.canvas,d,e._lastCameraView.bbox,E)}let g={sourceUri:p,uriResolver:a,context:r.id,screenOverlayContainer:n.screenOverlayContainer},m=new Ss,A=Z7(e,m,l,g).then(function(x){let C=e._entityCollection,T=m.values;C.suspendEvents();for(let D=0;D<T.length;D++){let w=T[D];u(w.parent)||(w.parent=r,J7(w)),C.add(w)}C.resumeEvents();let E=Pn(c,"refreshMode",Re.kml),S=y(ni(c,"refreshInterval",Re.kml),0);if(E==="onInterval"&&S>0||E==="onExpire"||f==="onStop"){let D=wi(x,"NetworkLinkControl",Re.kml),w=u(D),R=$.now(),O={id:zn(),href:l,cookie:{},lastUpdated:R,updating:!1,entity:r,viewBoundScale:d,needsUpdate:!1,cameraUpdateTime:R},L=0;if(w&&(O.cookie=Nl(y(Pn(D,"cookie",Re.kml),"")),L=y(ni(D,"minRefreshPeriod",Re.kml),0)),E==="onInterval")w&&(S=Math.max(L,S)),O.refreshMode=vy.INTERVAL,O.time=S;else if(E==="onExpire"){let N;if(w&&(N=Pn(D,"expires",Re.kml)),u(N))try{let _=$.fromIso8601(N),b=$.secondsDifference(_,R);b>0&&b<L&&$.addSeconds(R,L,_),O.refreshMode=vy.EXPIRE,O.time=_}catch{wt("kml-refreshMode-onInterval-onExpire","KML - NetworkLinkControl expires is not a valid date")}else wt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element")}else u(e.camera)?(O.refreshMode=vy.STOP,O.time=y(ni(c,"viewRefreshTime",Re.kml),0)):wt("kml-refrehMode-onStop-noCamera","A NetworkLink with viewRefreshMode=onStop requires the `camera` property to be defined.");u(O.refreshMode)&&e._networkLinks.set(O.id,O)}}).catch(function(x){wt(`An error occured during loading ${l.url}`),e._error.raiseEvent(e,x)});i.addPromise(A)}}}function EQe(e,t,n,i){let o=W7[t.localName];return u(o)?o(e,t,n,i):fme(e,t,n,i)}function H7(e,t,n,i,o,r,s){t.removeAll();let a=n.documentElement,c=a.localName==="Document"?a:wi(a,"Document",Re.kml),l=Pn(c,"name",Re.kml);u(l)||(l=e_(i.getUrlComponent())),u(e._name)||(e._name=l);let f=new Au._DeferredLoading(e),d=new Ss(e);return Promise.all(ome(e,n,d,i,!1,o)).then(function(){let p=n.documentElement;if(p.localName==="kml"){let m=p.childNodes;for(let A=0;A<m.length;A++){let x=m[A];if(u(W7[x.localName])){p=x;break}}}let g={parentEntity:void 0,entityCollection:t,styleCollection:d,sourceResource:i,uriResolver:o,context:s,screenOverlayContainer:r};return t.suspendEvents(),EQe(e,p,g,f),t.resumeEvents(),f.wait().then(function(){return n.documentElement})})}function bQe(e,t,n,i,o){let r=$t("ThirdParty/Workers/z-worker-pako.js");gb({workerScripts:{deflate:[r,"./pako_deflate.min.js"],inflate:[r,"./pako_inflate.min.js"]}});let s=new iz(new vx(n));return Promise.resolve(s.getEntries()).then(function(a){let c=[],l={},f;for(let d=0;d<a.length;d++){let p=a[d];p.directory||(/\.kml$/i.test(p.filename)&&(!u(f)||!/\//i.test(p.filename))?(u(f)&&c.push(F7(f,l)),f=p):c.push(F7(p,l)))}return u(f)&&c.push(ZJe(f,l)),Promise.all(c).then(function(){if(s.close(),!u(l.kml))throw new ue("KMZ file does not contain a KML document.");return l.keys=Object.keys(l),H7(e,t,l.kml,i,l,o)})})}function Z7(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=i.sourceUri,r=i.uriResolver,s=i.context,a=i.screenOverlayContainer,c=n;if(typeof n=="string"||n instanceof Oe){n=Oe.createIfNeeded(n),c=n.fetchBlob(),o=y(o,n.clone());let l=e._resourceCredits,f=n.credits;if(u(f)){let d=f.length;for(let p=0;p<d;p++)l.push(f[p])}}else o=y(o,Oe.DEFAULT.clone());return o=Oe.createIfNeeded(o),u(a)&&(a=In(a)),Promise.resolve(c).then(function(l){return l instanceof Blob?XJe(l).then(function(f){return f?bQe(e,t,l,o,a):KJe(l).then(function(d){d=$he(d),d=eme(d);let p,g;try{p=G7.parseFromString(d,"application/xml")}catch(m){g=m.toString()}if(u(g)||p.body||p.documentElement.tagName==="parsererror"){let m=u(g)?g:p.documentElement.firstChild.nodeValue;throw m||(m=p.body.innerText),new ue(m)}return H7(e,t,p,o,r,a,s)})}):H7(e,t,l,o,r,a,s)}).catch(function(l){return e._error.raiseEvent(e,l),console.log(l),Promise.reject(l)})}function Au(e){e=y(e,y.EMPTY_OBJECT);let t=e.camera,n=e.canvas;this._changed=new Ae,this._error=new Ae,this._loading=new Ae,this._refresh=new Ae,this._unsupportedNode=new Ae,this._clock=void 0,this._entityCollection=new Ss(this),this._name=void 0,this._isLoading=!1,this._pinBuilder=new d_,this._networkLinks=new xt,this._entityCluster=new tu,this.canvas=n,this.camera=t,this._lastCameraView={position:u(t)?h.clone(t.positionWC):void 0,direction:u(t)?h.clone(t.directionWC):void 0,up:u(t)?h.clone(t.upWC):void 0,bbox:u(t)?t.computeViewRectangle():ce.clone(ce.MAX_VALUE)},this._ellipsoid=y(e.ellipsoid,ie.WGS84);let i=e.credit;typeof i=="string"&&(i=new Zt(i)),this._credit=i,this._resourceCredits=[],this._kmlTours=[],this._screenOverlays=[]}Au.load=function(e,t){return t=y(t,y.EMPTY_OBJECT),new Au(t).load(e,t)};Object.defineProperties(Au.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},refreshEvent:{get:function(){return this._refresh}},unsupportedNodeEvent:{get:function(){return this._unsupportedNode}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}},kmlTours:{get:function(){return this._kmlTours}}});Au.prototype.load=function(e,t){t=y(t,y.EMPTY_OBJECT),Or.setLoading(this,!0);let n=this._name;this._name=void 0,this._clampToGround=y(t.clampToGround,!1);let i=this;return Z7(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=$.equals(s,ze.MINIMUM_VALUE),l=$.equals(a,ze.MAXIMUM_VALUE);if(!c||!l){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=$.fromDate(d)),l&&(d=new Date,d.setHours(24,0,0,0),a=$.fromDate(d)),o=new wd,o.startTime=s,o.stopTime=a,o.currentTime=$.clone(s),o.clockRange=Br.LOOP_STOP,o.clockStep=uo.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max($.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Or.setLoading(i,!1),i}).catch(function(o){return Or.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};Au.prototype.destroy=function(){for(;this._screenOverlays.length>0;)this._screenOverlays.pop().remove()};function J7(e){let t=e.parent;if(u(t)){let n=t.availability;if(u(n)){let i=e.availability;u(i)?i.intersect(n):e.availability=n}}}function SQe(e,t,n,i,o){return function(r){if(!i.contains(t.id))return;let s=!1,a=wi(r,"NetworkLinkControl",Re.kml),c=u(a),l=0;if(c){if(u(wi(a,"Update",Re.kml))){wt("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),t.updating=!1,i.remove(t.id);return}t.cookie=Nl(y(Pn(a,"cookie",Re.kml),"")),l=y(ni(a,"minRefreshPeriod",Re.kml),0)}let f=$.now(),d=t.refreshMode;if(d===vy.INTERVAL)u(a)&&(t.time=Math.max(l,t.time));else if(d===vy.EXPIRE){let R;if(u(a)&&(R=Pn(a,"expires",Re.kml)),u(R))try{let O=$.fromIso8601(R),L=$.secondsDifference(O,f);L>0&&L<l&&$.addSeconds(f,l,O),t.time=O}catch{wt("kml-networkLinkControl-expires","KML - NetworkLinkControl expires is not a valid date"),s=!0}else wt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element"),s=!0}let p=t.entity,g=e._entityCollection,m=n.values;function A(R){g.remove(R);let O=R._children,L=O.length;for(let N=0;N<L;++N)A(O[N])}g.suspendEvents();let x=g.values.slice(),C;for(C=0;C<x.length;++C){let R=x[C];R.parent===p&&(R.parent=void 0,A(R))}for(g.resumeEvents(),g.suspendEvents(),C=0;C<m.length;C++){let R=m[C];u(R.parent)||(R.parent=p,J7(R)),g.add(R)}g.resumeEvents(),s?i.remove(t.id):t.lastUpdated=f;let T=g.computeAvailability(),E=T.start,S=T.stop,D=$.equals(E,ze.MINIMUM_VALUE),w=$.equals(S,ze.MAXIMUM_VALUE);if(!D||!w){let R=e._clock;(R.startTime!==E||R.stopTime!==S)&&(R.startTime=E,R.stopTime=S,e._changed.raiseEvent(e))}t.updating=!1,t.needsUpdate=!1,e._refresh.raiseEvent(e,o.getUrlComponent(!0))}}var k7=new xt;Au.prototype.update=function(e){let t=this._networkLinks;if(t.length===0)return!0;let n=$.now(),i=this;k7.removeAll();function o(f){let d=f._children,p=d.length;for(let g=0;g<p;++g){let m=d[g];k7.set(m.id,m),o(m)}}let r=!1,s=this._lastCameraView,a=this.camera;u(a)&&!(a.positionWC.equalsEpsilon(s.position,P.EPSILON7)&&a.directionWC.equalsEpsilon(s.direction,P.EPSILON7)&&a.upWC.equalsEpsilon(s.up,P.EPSILON7))&&(s.position=h.clone(a.positionWC),s.direction=h.clone(a.directionWC),s.up=h.clone(a.upWC),s.bbox=a.computeViewRectangle(),r=!0);let c=new xt,l=!1;return t.values.forEach(function(f){let d=f.entity;if(!k7.contains(d.id)){if(!f.updating){let p=!1;if(f.refreshMode===vy.INTERVAL?$.secondsDifference(n,f.lastUpdated)>f.time&&(p=!0):f.refreshMode===vy.EXPIRE?$.greaterThan(n,f.time)&&(p=!0):f.refreshMode===vy.STOP&&(r&&(f.needsUpdate=!0,f.cameraUpdateTime=n),f.needsUpdate&&$.secondsDifference(n,f.cameraUpdateTime)>=f.time&&(p=!0)),p){o(d),f.updating=!0;let g=new Ss,m=f.href.clone();m.setQueryParameters(f.cookie);let A=y(i._ellipsoid,ie.WGS84);K7(m,i.camera,i.canvas,f.viewBoundScale,s.bbox,A),Z7(i,g,m,{context:d.id}).then(SQe(i,f,g,c,m)).catch(function(x){let C=`NetworkLink ${f.href} refresh failed: ${x}`;console.log(C),i._error.raiseEvent(i,C)}),l=!0}}c.set(f.id,f)}}),l&&(this._networkLinks=c,this._changed.raiseEvent(this)),!0};function DQe(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}Au._DeferredLoading=sm;Au._getTimestamp=di;var IM=Au;function PM(){de.throwInstantiationError()}PM.prototype.update=de.throwInstantiationError;PM.prototype.getBoundingSphere=de.throwInstantiationError;PM.prototype.isDestroyed=de.throwInstantiationError;PM.prototype.destroy=de.throwInstantiationError;var Q7=PM;var $7=32,vQe="http://www.opengis.net/kml/2.2",jd="http://www.google.com/kml/ext/2.2",wQe="http://www.w3.org/2000/xmlns/";function _z(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}var IQe=/^data:image\/([^,;]+)/;_z.prototype.texture=function(e){let t=this,n;if(typeof e=="string"||e instanceof Oe){if(e=Oe.createIfNeeded(e),!e.isDataUri)return e.url;let i=e.url.match(IQe);n=`texture_${++this._count}`,u(i)&&(n+=`.${i[1]}`);let o=e.fetchBlob().then(function(r){t._files[n]=r});return this._promises.push(o),n}if(e instanceof HTMLCanvasElement){n=`texture_${++this._count}.png`;let i=new Promise(o=>{e.toBlob(function(r){t._files[n]=r,o()})});return this._promises.push(i),n}return""};function PQe(e,t){return function(n){e._files[t]=n}}_z.prototype.model=function(e,t){let n=this._modelCallback;if(!u(n))throw new ue("Encountered a model entity while exporting to KML, but no model callback was supplied.");let i={},o=n(e,t,i);for(let r in i)if(i.hasOwnProperty(r)){let s=Promise.resolve(i[r]);this._promises.push(s),s.then(PQe(this,r))}return o};Object.defineProperties(_z.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function gz(e){this._time=e}gz.prototype.get=function(e,t,n){let i;return u(e)&&(i=u(e.getValue)?e.getValue(this._time,n):e),y(i,t)};gz.prototype.getColor=function(e,t){let n=this.get(e,t);if(u(n))return Px(n)};gz.prototype.getMaterialType=function(e){if(u(e))return e.getType(this._time)};function ej(){this._ids={},this._styles={},this._count=0}ej.prototype.get=function(e){let t=this._ids,n=e.innerHTML;if(u(t[n]))return t[n];let i=`style-${++this._count}`;return e.setAttribute("id",i),i=`#${i}`,t[n]=i,this._styles[n]=e,i};ej.prototype.save=function(e){let t=this._styles,n=e.childNodes[0];for(let i in t)t.hasOwnProperty(i)&&e.insertBefore(t[i],n)};function mme(){this._ids={}}mme.prototype.get=function(e){if(!u(e))return this.get(zn());let t=this._ids;return u(t[e])?`${e.toString()}-${++t[e]}`:(t[e]=0,e)};function tj(e){e=y(e,y.EMPTY_OBJECT);let t=e.entities,n=y(e.kmz,!1),i=tj._createState(e),o=t.values.filter(function(l){return!u(l.parent)}),r=i.kmlDoc,s=r.documentElement;s.setAttributeNS(wQe,"xmlns:gx",jd);let a=r.createElement("Document");s.appendChild(a),_me(i,a,o),i.styleCache.save(a);let c=i.externalFileHandler;return c.promise.then(function(){let f=new XMLSerializer().serializeToString(i.kmlDoc);return n?OQe(f,c.files):{kml:f,externalFiles:c.files}})}function OQe(e,t){let n=$t("ThirdParty/Workers/z-worker-pako.js");gb({workerScripts:{deflate:[n,"./pako_deflate.min.js"],inflate:[n,"./pako_inflate.min.js"]}});let i=new Tb,o=new sz(i);return o.add("doc.kml",new jk(e)).then(function(){let r=Object.keys(t);return pme(o,r,t,0)}).then(function(){return o.close()}).then(function(r){return{kmz:r}})}function pme(e,t,n,i){if(t.length===i)return;let o=t[i];return e.add(o,new vx(n[o])).then(function(){return pme(e,t,n,i+1)})}tj._createState=function(e){let t=e.entities,n=new ej,i=t.computeAvailability(),o=u(e.time)?e.time:i.start,r=y(e.defaultAvailability,i),s=y(e.sampleDuration,60);r.start===ze.MINIMUM_VALUE?r.stop===ze.MAXIMUM_VALUE?r=new An:$.addSeconds(r.stop,-10*s,r.start):r.stop===ze.MAXIMUM_VALUE&&$.addSeconds(r.start,10*s,r.stop);let a=new _z(e.modelCallback);return{kmlDoc:document.implementation.createDocument(vQe,"kml"),ellipsoid:y(e.ellipsoid,ie.WGS84),idManager:new mme,styleCache:n,externalFileHandler:a,time:o,valueGetter:new gz(o),sampleDuration:s,defaultAvailability:new Pr([r])}};function _me(e,t,n){let i=e.kmlDoc,o=e.styleCache,r=e.valueGetter,s=e.idManager,a=n.length,c,l,f;for(let d=0;d<a;++d){let p=n[d];c=[],l=[],f=[],RQe(e,p,l,f),BQe(e,p.polyline,l,f),hme(e,p.rectangle,l,f,c),hme(e,p.polygon,l,f,c),FQe(e,p,p.model,l,f);let g,m=p.availability;u(m)&&(g=i.createElement("TimeSpan"),$.equals(m.start,ze.MINIMUM_VALUE)||g.appendChild(hn(i,"begin",$.toIso8601(m.start))),$.equals(m.stop,ze.MAXIMUM_VALUE)||g.appendChild(hn(i,"end",$.toIso8601(m.stop))));for(let C=0;C<c.length;++C){let T=c[C];T.setAttribute("id",s.get(p.id)),T.appendChild(hn(i,"name",p.name)),T.appendChild(hn(i,"visibility",p.show)),T.appendChild(hn(i,"description",p.description)),u(g)&&T.appendChild(g),t.appendChild(T)}let A=l.length;if(A>0){let C=i.createElement("Placemark");C.setAttribute("id",s.get(p.id));let T=p.name,E=p.label;if(u(E)){let D=i.createElement("LabelStyle"),w=r.get(E.text);T=u(w)&&w.length>0?w:T;let R=r.getColor(E.fillColor);u(R)&&(D.appendChild(hn(i,"color",R)),D.appendChild(hn(i,"colorMode","normal")));let O=r.get(E.scale);u(O)&&D.appendChild(hn(i,"scale",O)),f.push(D)}C.appendChild(hn(i,"name",T)),C.appendChild(hn(i,"visibility",p.show)),C.appendChild(hn(i,"description",p.description)),u(g)&&C.appendChild(g),t.appendChild(C);let S=f.length;if(S>0){let D=i.createElement("Style");for(let w=0;w<S;++w)D.appendChild(f[w]);C.appendChild(hn(i,"styleUrl",o.get(D)))}if(l.length===1)C.appendChild(l[0]);else if(l.length>1){let D=i.createElement("MultiGeometry");for(let w=0;w<A;++w)D.appendChild(l[w]);C.appendChild(D)}}let x=p._children;if(x.length>0){let C=i.createElement("Folder");C.setAttribute("id",s.get(p.id)),C.appendChild(hn(i,"name",p.name)),C.appendChild(hn(i,"visibility",p.show)),C.appendChild(hn(i,"description",p.description)),t.appendChild(C),_me(e,C,x)}}}var Dl=new h,Uc=new he,Wd=new $;function RQe(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter,a=y(t.billboard,t.point);if(!u(a)&&!u(t.path))return;let c=t.position;if(!c.isConstant){gme(e,t,a,n,i);return}s.get(c,void 0,Dl);let l=hn(o,"coordinates",Ix(Dl,r)),f=o.createElement("Point"),d=o.createElement("altitudeMode");d.appendChild(Ox(e,a.heightReference)),f.appendChild(d),f.appendChild(l),n.push(f);let p=a instanceof Na?Ame(e,a):yme(e,a);i.push(p)}function gme(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter,c,l=t.position,f=!0;l instanceof Ws?(c=l.intervals,f=!1):c=y(t.availability,e.defaultAvailability);let d=n instanceof $m,p,g,m,A=[];for(p=0;p<c.length;++p){let C=c.get(p),T=f?l:C.data,E=r.createElement("altitudeMode");T instanceof Qh?(T=T._value,E.appendChild(Ox(e,We.CLAMP_TO_GROUND))):u(n)?E.appendChild(Ox(e,n.heightReference)):E.appendChild(Ox(e,We.NONE));let S=[],D=[];if(T.isConstant){a.get(T,void 0,Dl);let R=hn(r,"coordinates",Ix(Dl,s));S.push($.toIso8601(C.start)),D.push(R),S.push($.toIso8601(C.stop)),D.push(R)}else if(T instanceof Ys)for(m=T._property._times,g=0;g<m.length;++g)S.push($.toIso8601(m[g])),T.getValueInReferenceFrame(m[g],to.FIXED,Dl),D.push(Ix(Dl,s));else if(T instanceof ru){m=T._times;let R=T._values;for(g=0;g<m.length;++g)S.push($.toIso8601(m[g])),h.fromArray(R,g*3,Dl),D.push(Ix(Dl,s))}else{let R=e.sampleDuration;C.start.clone(Wd),C.isStartIncluded||$.addSeconds(Wd,R,Wd);let O=C.stop;for(;$.lessThan(Wd,O);)T.getValue(Wd,Dl),S.push($.toIso8601(Wd)),D.push(Ix(Dl,s)),$.addSeconds(Wd,R,Wd);C.isStopIncluded&&$.equals(Wd,O)&&(T.getValue(Wd,Dl),S.push($.toIso8601(Wd)),D.push(Ix(Dl,s)))}let w=r.createElementNS(jd,"Track");w.appendChild(E);for(let R=0;R<S.length;++R){let O=hn(r,"when",S[R]),L=hn(r,"coord",D[R],jd);w.appendChild(O),w.appendChild(L)}d&&w.appendChild(xme(e,n)),A.push(w)}if(A.length===1)i.push(A[0]);else if(A.length>1){let C=r.createElementNS(jd,"MultiTrack");for(p=0;p<A.length;++p)C.appendChild(A[p]);i.push(C)}if(u(n)&&!d){let C=n instanceof Na?Ame(e,n):yme(e,n);o.push(C)}let x=t.path;if(u(x)){let C=a.get(x.width),T=x.material;if(u(T)||u(C)){let E=r.createElement("LineStyle");u(C)&&E.appendChild(hn(r,"width",C)),nj(e,T,E),o.push(E)}}}function yme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=n.createElement("IconStyle"),r=i.getColor(t.color);u(r)&&(o.appendChild(hn(n,"color",r)),o.appendChild(hn(n,"colorMode","normal")));let s=i.get(t.pixelSize);return u(s)&&o.appendChild(hn(n,"scale",s/$7)),o}function Ame(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("IconStyle"),s=i.get(t.image);if(u(s)){s=o.texture(s);let p=n.createElement("Icon");p.appendChild(hn(n,"href",s));let g=i.get(t.imageSubRegion);u(g)&&(p.appendChild(hn(n,"x",g.x,jd)),p.appendChild(hn(n,"y",g.y,jd)),p.appendChild(hn(n,"w",g.width,jd)),p.appendChild(hn(n,"h",g.height,jd))),r.appendChild(p)}let a=i.getColor(t.color);u(a)&&(r.appendChild(hn(n,"color",a)),r.appendChild(hn(n,"colorMode","normal")));let c=i.get(t.scale);u(c)&&r.appendChild(hn(n,"scale",c));let l=i.get(t.pixelOffset);if(u(l)){c=y(c,1),H.divideByScalar(l,c,l);let p=i.get(t.width,$7),g=i.get(t.height,$7),m=i.get(t.horizontalOrigin,_i.CENTER);m===_i.CENTER?l.x-=p*.5:m===_i.RIGHT&&(l.x-=p);let A=i.get(t.verticalOrigin,On.CENTER);A===On.TOP?l.y+=g:A===On.CENTER&&(l.y+=g*.5);let x=n.createElement("hotSpot");x.setAttribute("x",-l.x),x.setAttribute("y",l.y),x.setAttribute("xunits","pixels"),x.setAttribute("yunits","pixels"),r.appendChild(x)}let f=i.get(t.rotation),d=i.get(t.alignedAxis);return u(f)&&h.equals(h.UNIT_Z,d)&&(f=P.toDegrees(-f),f===0&&(f=360),r.appendChild(hn(n,"heading",f))),r}function BQe(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter;if(!u(t))return;let a=o.createElement("LineString"),c=o.createElement("altitudeMode"),l=s.get(t.clampToGround,!1),f;l?(a.appendChild(hn(o,"tessellate",!0)),f=o.createTextNode("clampToGround")):f=o.createTextNode("absolute"),c.appendChild(f),a.appendChild(c);let d=t.positions,p=s.get(d),g=hn(o,"coordinates",Ix(p,r));a.appendChild(g);let m=s.get(t.zIndex);l&&u(m)&&a.appendChild(hn(o,"drawOrder",m,jd)),n.push(a);let A=o.createElement("LineStyle"),x=s.get(t.width);u(x)&&A.appendChild(hn(o,"width",x)),nj(e,t.material,A),i.push(A)}function MQe(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0);n>0&&(r=n);let s=t.coordinates,a=o.get(s),c=[],l=[ce.northeast,ce.southeast,ce.southwest,ce.northwest];for(let g=0;g<4;++g)l[g](a,Uc),c.push(`${P.toDegrees(Uc.longitude)},${P.toDegrees(Uc.latitude)},${r}`);let f=hn(i,"coordinates",c.join(" ")),d=i.createElement("outerBoundaryIs"),p=i.createElement("LinearRing");return p.appendChild(f),d.appendChild(p),[d]}function dme(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=[],a=t.length;for(let f=0;f<a;++f)he.fromCartesian(t[f],r,Uc),s.push(`${P.toDegrees(Uc.longitude)},${P.toDegrees(Uc.latitude)},${i?Uc.height:n}`);let c=hn(o,"coordinates",s.join(" ")),l=o.createElement("LinearRing");return l.appendChild(c),l}function LQe(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0),s=o.get(t.perPositionHeight,!1);!s&&n>0&&(r=n);let a=[],c=t.hierarchy,l=o.get(c),f=Array.isArray(l)?l:l.positions,d=i.createElement("outerBoundaryIs");d.appendChild(dme(e,f,r,s)),a.push(d);let p=l.holes;if(u(p)){let g=p.length;for(let m=0;m<g;++m){let A=i.createElement("innerBoundaryIs");A.appendChild(dme(e,p[m].positions,r,s)),a.push(A)}}return a}function hme(e,t,n,i,o){let r=e.kmlDoc,s=e.valueGetter;if(!u(t))return;let a=t instanceof td;if(a&&s.getMaterialType(t.material)==="Image"){NQe(e,t,o);return}let c=r.createElement("Polygon"),l=s.get(t.extrudedHeight,0);l>0&&c.appendChild(hn(r,"extrude",!0));let f=a?MQe(e,t,l):LQe(e,t,l),d=f.length;for(let x=0;x<d;++x)c.appendChild(f[x]);let p=r.createElement("altitudeMode");p.appendChild(Ox(e,t.heightReference)),c.appendChild(p),n.push(c);let g=r.createElement("PolyStyle"),m=s.get(t.fill,!1);m&&g.appendChild(hn(r,"fill",m)),nj(e,t.material,g);let A=s.get(t.outline,!1);if(A){g.appendChild(hn(r,"outline",A));let x=r.createElement("LineStyle"),C=s.get(t.outlineWidth,1);x.appendChild(hn(r,"width",C));let T=s.getColor(t.outlineColor,z.BLACK);x.appendChild(hn(r,"color",T)),x.appendChild(hn(r,"colorMode","normal")),i.push(x)}i.push(g)}function NQe(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=e.externalFileHandler,s=i.createElement("GroundOverlay"),a=i.createElement("altitudeMode");a.appendChild(Ox(e,t.heightReference)),s.appendChild(a);let c=o.get(t.height);u(c)&&s.appendChild(hn(i,"altitude",c));let l=o.get(t.coordinates),f=i.createElement("LatLonBox");f.appendChild(hn(i,"north",P.toDegrees(l.north))),f.appendChild(hn(i,"south",P.toDegrees(l.south))),f.appendChild(hn(i,"east",P.toDegrees(l.east))),f.appendChild(hn(i,"west",P.toDegrees(l.west))),s.appendChild(f);let d=o.get(t.material),p=r.texture(d.image),g=i.createElement("Icon");g.appendChild(hn(i,"href",p)),s.appendChild(g);let m=d.color;u(m)&&s.appendChild(hn(i,"color",Px(d.color))),n.push(s)}function xme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("Model"),s=i.get(t.scale);if(u(s)){let l=n.createElement("scale");l.appendChild(hn(n,"x",s)),l.appendChild(hn(n,"y",s)),l.appendChild(hn(n,"z",s)),r.appendChild(l)}let a=n.createElement("Link"),c=o.model(t,e.time);return a.appendChild(hn(n,"href",c)),r.appendChild(a),r}function FQe(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter;if(!u(n))return;let c=t.position;if(!c.isConstant){gme(e,t,n,i,o);return}let l=xme(e,n),f=r.createElement("altitudeMode");f.appendChild(Ox(e,n.heightReference)),l.appendChild(f),a.get(c,void 0,Dl),he.fromCartesian(Dl,s,Uc);let d=r.createElement("Location");d.appendChild(hn(r,"longitude",P.toDegrees(Uc.longitude))),d.appendChild(hn(r,"latitude",P.toDegrees(Uc.latitude))),d.appendChild(hn(r,"altitude",Uc.height)),l.appendChild(d),i.push(l)}function nj(e,t,n){let i=e.kmlDoc,o=e.valueGetter;if(!u(t))return;let r=o.get(t);if(!u(r))return;let s,a=o.getMaterialType(t),c,l;switch(a){case"Image":s=Px(z.WHITE);break;case"Color":case"Grid":case"PolylineGlow":case"PolylineArrow":case"PolylineDash":s=Px(r.color);break;case"PolylineOutline":s=Px(r.color),c=Px(r.outlineColor),l=r.outlineWidth,n.appendChild(hn(i,"outerColor",c,jd)),n.appendChild(hn(i,"outerWidth",l,jd));break;case"Stripe":s=Px(r.oddColor);break}u(s)&&(n.appendChild(hn(i,"color",s)),n.appendChild(hn(i,"colorMode","normal")))}function Ox(e,t){let n=e.kmlDoc,o=e.valueGetter.get(t,We.NONE),r;switch(o){case We.NONE:r=n.createTextNode("absolute");break;case We.CLAMP_TO_GROUND:r=n.createTextNode("clampToGround");break;case We.RELATIVE_TO_GROUND:r=n.createTextNode("relativeToGround");break}return r}function Ix(e,t){Array.isArray(e)||(e=[e]);let n=e.length,i=[];for(let o=0;o<n;++o)he.fromCartesian(e[o],t,Uc),i.push(`${P.toDegrees(Uc.longitude)},${P.toDegrees(Uc.latitude)},${Uc.height}`);return i.join(" ")}function hn(e,t,n,i){n=y(n,""),typeof n=="boolean"&&(n=n?"1":"0");let o=u(i)?e.createElementNS(i,t):e.createElement(t),r=n==="string"&&n.indexOf("<")!==-1?e.createCDATASection(n):e.createTextNode(n);return o.appendChild(r),o}function Px(e){let t="",n=e.toBytes();for(let i=3;i>=0;--i)t+=n[i]<16?`0${n[i].toString(16)}`:n[i].toString(16);return t}var ij=tj;var wb=`#ifdef MRT +layout (location = 0) out vec4 out_FragData_0; +layout (location = 1) out vec4 out_FragData_1; +#else +layout (location = 0) out vec4 out_FragColor; +#endif + +uniform vec4 u_bgColor; +uniform sampler2D u_depthTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + if (texture(u_depthTexture, v_textureCoordinates).r < 1.0) + { +#ifdef MRT + out_FragData_0 = u_bgColor; + out_FragData_1 = vec4(u_bgColor.a); +#else + out_FragColor = u_bgColor; +#endif + return; + } + + discard; +} +`;var p_=`uniform vec3 u_radiiAndDynamicAtmosphereColor; + +uniform float u_atmosphereLightIntensity; +uniform float u_atmosphereRayleighScaleHeight; +uniform float u_atmosphereMieScaleHeight; +uniform float u_atmosphereMieAnisotropy; +uniform vec3 u_atmosphereRayleighCoefficient; +uniform vec3 u_atmosphereMieCoefficient; + +const float ATMOSPHERE_THICKNESS = 111e3; // The thickness of the atmosphere in meters. +const int PRIMARY_STEPS = 16; // Number of times the ray from the camera to the world position (primary ray) is sampled. +const int LIGHT_STEPS = 4; // Number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. + +/** + * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as + * the transmittance value for the ray. + * + * @param {czm_ray} primaryRay The ray from the camera to the position. + * @param {float} primaryRayLength The length of the primary ray. + * @param {vec3} lightDirection The direction of the light to calculate the scattering from. + * @param {vec3} rayleighColor The variable the Rayleigh scattering will be written to. + * @param {vec3} mieColor The variable the Mie scattering will be written to. + * @param {float} opacity The variable the transmittance will be written to. + * @glslFunction + */ +void computeScattering( + czm_ray primaryRay, + float primaryRayLength, + vec3 lightDirection, + float atmosphereInnerRadius, + out vec3 rayleighColor, + out vec3 mieColor, + out float opacity +) { + + // Initialize the default scattering amounts to 0. + rayleighColor = vec3(0.0); + mieColor = vec3(0.0); + opacity = 0.0; + + float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; + + vec3 origin = vec3(0.0); + + // Calculate intersection from the camera to the outer ring of the atmosphere. + czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius); + + // Return empty colors if no intersection with the atmosphere geometry. + if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { + return; + } + + // The ray should start from the first intersection with the outer atmopshere, or from the camera position, if it is inside the atmosphere. + primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0); + // The ray should end at the exit from the atmosphere or at the distance to the vertex, whichever is smaller. + primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength)); + + // Setup for sampling positions along the ray - starting from the intersection with the outer ring of the atmosphere. + float rayStepLength = (primaryRayAtmosphereIntersect.stop - primaryRayAtmosphereIntersect.start) / float(PRIMARY_STEPS); + float rayPositionLength = primaryRayAtmosphereIntersect.start; + + vec3 rayleighAccumulation = vec3(0.0); + vec3 mieAccumulation = vec3(0.0); + vec2 opticalDepth = vec2(0.0); + vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight); + + // Sample positions on the primary ray. + for (int i = 0; i < PRIMARY_STEPS; i++) { + // Calculate sample position along viewpoint ray. + vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength); + + // Calculate height of sample position above ellipsoid. + float sampleHeight = length(samplePosition) - atmosphereInnerRadius; + + // Calculate and accumulate density of particles at the sample position. + vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength; + opticalDepth += sampleDensity; + + // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere. + czm_ray lightRay = czm_ray(samplePosition, lightDirection); + czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius); + + float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS); + float lightPositionLength = 0.0; + + vec2 lightOpticalDepth = vec2(0.0); + + // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment. + for (int j = 0; j < LIGHT_STEPS; j++) { + + // Calculate sample position along light ray. + vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5); + + // Calculate height of the light sample position above ellipsoid. + float lightHeight = length(lightPosition) - atmosphereInnerRadius; + + // Calculate density of photons at the light sample position. + lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength; + + // Increment distance on light ray. + lightPositionLength += lightStepLength; + } + + // Compute attenuation via the primary ray and the light ray. + vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x)))); + + // Accumulate the scattering. + rayleighAccumulation += sampleDensity.x * attenuation; + mieAccumulation += sampleDensity.y * attenuation; + + // Increment distance on primary ray. + rayPositionLength += rayStepLength; + } + + // Compute the scattering amount. + rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation; + mieColor = u_atmosphereMieCoefficient * mieAccumulation; + + // Compute the transmittance i.e. how much light is passing through the atmosphere. + opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x)))); +} + +vec4 computeAtmosphereColor( + vec3 positionWC, + vec3 lightDirection, + vec3 rayleighColor, + vec3 mieColor, + float opacity +) { + // Setup the primary ray: from the camera position to the vertex position. + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + + float cosAngle = dot(cameraToPositionWCDirection, lightDirection); + float cosAngleSq = cosAngle * cosAngle; + + float G = u_atmosphereMieAnisotropy; + float GSq = G * G; + + // The Rayleigh phase function. + float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); + // The Mie phase function. + float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); + + // The final color is generated by combining the effects of the Rayleigh and Mie scattering. + vec3 rayleigh = rayleighPhase * rayleighColor; + vec3 mie = miePhase * mieColor; + + vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity; + + return vec4(color, opacity); +} +`;var OM=`in vec2 v_textureCoordinates; +const float M_PI = 3.141592653589793; + +float vdcRadicalInverse(int i) +{ + float r; + float base = 2.0; + float value = 0.0; + float invBase = 1.0 / base; + float invBi = invBase; + for (int x = 0; x < 100; x++) + { + if (i <= 0) + { + break; + } + r = mod(float(i), base); + value += r * invBi; + invBi *= invBase; + i = int(float(i) * invBase); + } + return value; +} + +vec2 hammersley2D(int i, int N) +{ + return vec2(float(i) / float(N), vdcRadicalInverse(i)); +} + +vec3 importanceSampleGGX(vec2 xi, float roughness, vec3 N) +{ + float a = roughness * roughness; + float phi = 2.0 * M_PI * xi.x; + float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (a * a - 1.0) * xi.y)); + float sinTheta = sqrt(1.0 - cosTheta * cosTheta); + vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); + vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); + vec3 tangentX = normalize(cross(upVector, N)); + vec3 tangentY = cross(N, tangentX); + return tangentX * H.x + tangentY * H.y + N * H.z; +} + +float G1_Smith(float NdotV, float k) +{ + return NdotV / (NdotV * (1.0 - k) + k); +} + +float G_Smith(float roughness, float NdotV, float NdotL) +{ + float k = roughness * roughness / 2.0; + return G1_Smith(NdotV, k) * G1_Smith(NdotL, k); +} + +vec2 integrateBrdf(float roughness, float NdotV) +{ + vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV); + float A = 0.0; + float B = 0.0; + const int NumSamples = 1024; + for (int i = 0; i < NumSamples; i++) + { + vec2 xi = hammersley2D(i, NumSamples); + vec3 H = importanceSampleGGX(xi, roughness, vec3(0.0, 0.0, 1.0)); + vec3 L = 2.0 * dot(V, H) * H - V; + float NdotL = clamp(L.z, 0.0, 1.0); + float NdotH = clamp(H.z, 0.0, 1.0); + float VdotH = clamp(dot(V, H), 0.0, 1.0); + if (NdotL > 0.0) + { + float G = G_Smith(roughness, NdotV, NdotL); + float G_Vis = G * VdotH / (NdotH * NdotV); + float Fc = pow(1.0 - VdotH, 5.0); + A += (1.0 - Fc) * G_Vis; + B += Fc * G_Vis; + } + } + return vec2(A, B) / float(NumSamples); +} + +void main() +{ + out_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0); +} +`;var RM=`uniform sampler2D u_noiseTexture; +uniform vec3 u_noiseTextureDimensions; +uniform float u_noiseDetail; +in vec2 v_offset; +in vec3 v_maximumSize; +in vec4 v_color; +in float v_slice; +in float v_brightness; + +float wrap(float value, float rangeLength) { + if(value < 0.0) { + float absValue = abs(value); + float modValue = mod(absValue, rangeLength); + return mod(rangeLength - modValue, rangeLength); + } + return mod(value, rangeLength); +} + +vec3 wrapVec(vec3 value, float rangeLength) { + return vec3(wrap(value.x, rangeLength), + wrap(value.y, rangeLength), + wrap(value.z, rangeLength)); +} + +vec2 voxelToUV(vec3 voxelIndex) { + float textureSliceWidth = u_noiseTextureDimensions.x; + float noiseTextureRows = u_noiseTextureDimensions.y; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; + + float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth; + vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared, + inverseNoiseTextureRows / textureSliceWidth); + vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth); + float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows); + float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows); + + float xPixelCoord = wrappedIndex.x + column * textureSliceWidth; + float yPixelCoord = wrappedIndex.y + row * textureSliceWidth; + return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions; +} + +// Interpolate a voxel with its neighbor (along the positive X-axis) +vec4 lerpSamplesX(vec3 voxelIndex, float x) { + vec2 uv0 = voxelToUV(voxelIndex); + vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0)); + vec4 sample0 = texture(u_noiseTexture, uv0); + vec4 sample1 = texture(u_noiseTexture, uv1); + return mix(sample0, sample1, x); +} + +vec4 sampleNoiseTexture(vec3 position) { + float textureSliceWidth = u_noiseTextureDimensions.x; + vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0); + vec3 lerpValue = fract(recenteredPos); + vec3 voxelIndex = floor(recenteredPos); + + vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x); + vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x); + vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x); + vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x); + + vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y); + vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y); + return mix(yLerp0, yLerp1, lerpValue.z); +} + +// Intersection with a unit sphere with radius 0.5 at center (0, 0, 0). +bool intersectSphere(vec3 origin, vec3 dir, float slice, + out vec3 point, out vec3 normal) { + float A = dot(dir, dir); + float B = dot(origin, dir); + float C = dot(origin, origin) - 0.25; + float discriminant = (B * B) - (A * C); + if(discriminant < 0.0) { + return false; + } + float root = sqrt(discriminant); + float t = (-B - root) / A; + if(t < 0.0) { + t = (-B + root) / A; + } + point = origin + t * dir; + + if(slice >= 0.0) { + point.z = (slice / 2.0) - 0.5; + if(length(point) > 0.5) { + return false; + } + } + + normal = normalize(point); + point -= czm_epsilon2 * normal; + return true; +} + +// Transforms the ray origin and direction into unit sphere space, +// then transforms the result back into the ellipsoid's space. +bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice, + out vec3 point, out vec3 normal) { + if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) { + return false; + } + + vec3 o = (origin - center) / scale; + vec3 d = dir / scale; + vec3 p, n; + bool intersected = intersectSphere(o, d, slice, p, n); + if(intersected) { + point = (p * scale) + center; + normal = n; + } + return intersected; +} + +// Assume that if phase shift is being called for octave i, +// the frequency is of i - 1. This saves us from doing extra +// division / multiplication operations. +vec2 phaseShift2D(vec2 p, vec2 freq) { + return (czm_pi / 2.0) * sin(freq.yx * p.yx); +} + +vec2 phaseShift3D(vec3 p, vec2 freq) { + return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z)); +} + +// The cloud texture function derived from Gardner's 1985 paper, +// "Visual Simulation of Clouds." +// https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf +const float T0 = 0.6; // contrast of the texture pattern +const float k = 0.1; // computed to produce a maximum value of 1 +const float C0 = 0.8; // coefficient +const float FX0 = 0.6; // frequency X +const float FY0 = 0.6; // frequency Y +const int octaves = 5; + +float T(vec3 point) { + vec2 sum = vec2(0.0); + float Ci = C0; + vec2 FXY = vec2(FX0, FY0); + vec2 PXY = vec2(0.0); + for(int i = 1; i <= octaves; i++) { + PXY = phaseShift3D(point, FXY); + Ci *= 0.707; + FXY *= 2.0; + vec2 sinTerm = sin(FXY * point.xy + PXY); + sum += Ci * sinTerm + vec2(T0); + } + return k * sum.x * sum.y; +} + +const float a = 0.5; // fraction of surface reflection due to ambient or scattered light, +const float t = 0.4; // fraction of texture shading +const float s = 0.25; // fraction of specular reflection + +float I(float Id, float Is, float It) { + return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a; +} + +const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7)); + +vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice, + float brightness) { + vec3 cloudPoint, cloudNormal; + if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice, + cloudPoint, cloudNormal)) { + return vec4(0.0); + } + + float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection + float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection + float It = T(cloudPoint); // texture function + float intensity = I(Id, Is, It); + vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0)); + + vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint); + float W = noise.x; + float W2 = noise.y; + float W3 = noise.z; + + // The dot product between the cloud's normal and the ray's direction is greatest + // in the center of the ellipsoid's surface. It decreases towards the edge. + // Thus, it is used to blur the areas leading to the edges of the ellipsoid, + // so that no harsh lines appear. + + // The first (and biggest) layer of worley noise is then subtracted from this. + // The final result is scaled up so that the base cloud is not too translucent. + float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0); + float TR = pow(ndDot, 3.0) - W; // translucency + TR *= 1.3; + + // Subtracting the second and third layers of worley noise is more complicated. + // If these layers of noise were simply subtracted from the current translucency, + // the shape derived from the first layer of noise would be completely deleted. + // The erosion of this noise should thus be constricted to the edges of the cloud. + // However, because the edges of the ellipsoid were already blurred away, mapping + // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance. + // The value of (0.5 - ndDot) provides the best compromise. + float minusDot = 0.5 - ndDot; + + // Even with the previous calculation, subtracting the second layer of wnoise + // erode too much of the cloud. The addition of it, however, will detailed + // volume to the cloud. As long as the noise is only added and not subtracted, + // the results are aesthetically pleasing. + + // The minusDot product is mapped in a way that it is larger at the edges of + // the ellipsoid, so a subtraction and min operation are used instead of + // an addition and max one. + TR -= min(minusDot * W2, 0.0); + + // The third level of worley noise is subtracted from the result, with some + // modifications. First, a scalar is added to minusDot so that the noise + // starts affecting the shape farther away from the center of the ellipsoid's + // surface. Then, it is scaled down so its impact is not too intense. + TR -= 0.8 * (minusDot + 0.25) * W3; + + // The texture function's shading does not correlate with the shape of the cloud + // produced by the layers of noise, so an extra shading scalar is calculated. + // The darkest areas of the cloud are assigned to be where the noise erodes + // the cloud the most. This is then interpolated based on the translucency + // and the diffuse shading term of that point in the cloud. + float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR); + + // To avoid values that are too dark, this scalar is increased by a small amount + // and clamped so it never goes to zero. + shading = clamp(shading + 0.2, 0.3, 1.0); + + // Finally, the contrast of the cloud's color is increased. + vec3 finalColor = mix(vec3(0.5), shading * color, 1.15); + return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color; +} + +void main() { +#ifdef DEBUG_BILLBOARDS + out_FragColor = vec4(0.0, 0.5, 0.5, 1.0); +#endif + // To avoid calculations with high values, + // we raycast from an arbitrarily smaller space. + vec2 coordinate = v_maximumSize.xy * v_offset; + + vec3 ellipsoidScale = 0.82 * v_maximumSize; + vec3 ellipsoidCenter = vec3(0.0); + + float zOffset = max(ellipsoidScale.z - 10.0, 0.0); + vec3 eye = vec3(0, 0, -10.0 - zOffset); + vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye); + vec3 rayOrigin = eye; +#ifdef DEBUG_ELLIPSOIDS + vec3 point, normal; + if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, + point, normal)) { + out_FragColor = v_brightness * v_color; + } +#else +#ifndef DEBUG_BILLBOARDS + vec4 cloud = drawCloud(rayOrigin, rayDir, + ellipsoidCenter, ellipsoidScale, v_slice, v_brightness); + if(cloud.w < 0.01) { + discard; + } + out_FragColor = cloud; +#endif +#endif +} +`;var BM=`#ifdef INSTANCED +in vec2 direction; +#endif +in vec4 positionHighAndScaleX; +in vec4 positionLowAndScaleY; +in vec4 packedAttribute0; +in vec4 packedAttribute1; +in vec4 color; + +out vec2 v_offset; +out vec3 v_maximumSize; +out vec4 v_color; +out float v_slice; +out float v_brightness; + +void main() { + // Unpack attributes. + vec3 positionHigh = positionHighAndScaleX.xyz; + vec3 positionLow = positionLowAndScaleY.xyz; + vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w); + + float show = packedAttribute0.x; + float brightness = packedAttribute0.y; + vec2 coordinates = packedAttribute0.wz; + vec3 maximumSize = packedAttribute1.xyz; + float slice = packedAttribute1.w; + +#ifdef INSTANCED + vec2 dir = direction; +#else + vec2 dir = coordinates; +#endif + + vec2 offset = dir - vec2(0.5, 0.5); + vec2 scaledOffset = scale * offset; + vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); + vec4 positionEC = czm_modelViewRelativeToEye * p; + positionEC.xy += scaledOffset; + + positionEC.xyz *= show; + gl_Position = czm_projection * positionEC; + + v_offset = offset; + v_maximumSize = maximumSize; + v_color = color; + v_slice = slice; + v_brightness = brightness; +} +`;var MM=`uniform vec3 u_noiseTextureDimensions; +uniform float u_noiseDetail; +uniform vec3 u_noiseOffset; +in vec2 v_position; + +float wrap(float value, float rangeLength) { + if(value < 0.0) { + float absValue = abs(value); + float modValue = mod(absValue, rangeLength); + return mod(rangeLength - modValue, rangeLength); + } + return mod(value, rangeLength); +} + +vec3 wrapVec(vec3 value, float rangeLength) { + return vec3(wrap(value.x, rangeLength), + wrap(value.y, rangeLength), + wrap(value.z, rangeLength)); +} + +vec3 random3(vec3 p) { + float dot1 = dot(p, vec3(127.1, 311.7, 932.8)); + float dot2 = dot(p, vec3(269.5, 183.3, 421.4)); + return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2)); +} + +// Frequency corresponds to cell size. +// The higher the frequency, the smaller the cell size. +vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) { + float textureSliceWidth = u_noiseTextureDimensions.x; + vec3 cell = centerCell + offset; + cell = wrapVec(cell, textureSliceWidth / u_noiseDetail); + cell += floor(u_noiseOffset / u_noiseDetail); + vec3 p = offset + random3(cell); + return p; +} + +float worleyNoise(vec3 p, float freq) { + vec3 centerCell = floor(p * freq); + vec3 pointInCell = fract(p * freq); + float shortestDistance = 1000.0; + + for(float z = -1.0; z <= 1.0; z++) { + for(float y = -1.0; y <= 1.0; y++) { + for(float x = -1.0; x <= 1.0; x++) { + vec3 offset = vec3(x, y, z); + vec3 point = getWorleyCellPoint(centerCell, offset, freq); + + float distance = length(pointInCell - point); + if(distance < shortestDistance) { + shortestDistance = distance; + } + } + } + } + + return shortestDistance; +} + +const float MAX_FBM_ITERATIONS = 10.0; + +float worleyFBMNoise(vec3 p, float octaves, float scale) { + float noise = 0.0; + float freq = 1.0; + float persistence = 0.625; + for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) { + if(i >= octaves) { + break; + } + + noise += worleyNoise(p * scale, freq * scale) * persistence; + persistence *= 0.5; + freq *= 2.0; + } + return noise; +} + +void main() { + float textureSliceWidth = u_noiseTextureDimensions.x; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; + float x = mod(v_position.x, textureSliceWidth); + float y = mod(v_position.y, textureSliceWidth); + float sliceRow = floor(v_position.y / textureSliceWidth); + float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth; + + vec3 position = vec3(x, y, z); + position /= u_noiseDetail; + float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0); + float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0); + float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0); + out_FragColor = vec4(worley0, worley1, worley2, 1.0); +} +`;var LM=`uniform vec3 u_noiseTextureDimensions; +in vec2 position; + +out vec2 v_position; + +void main() +{ + gl_Position = vec4(position, 0.1, 1.0); + + float textureSliceWidth = u_noiseTextureDimensions.x; + float noiseTextureRows = u_noiseTextureDimensions.y; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; + vec2 transformedPos = (position * 0.5) + vec2(0.5); + transformedPos *= textureSliceWidth; + transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows; + transformedPos.y *= noiseTextureRows; + v_position = transformedPos; +} +`;var NM=`uniform sampler2D u_opaqueDepthTexture; +uniform sampler2D u_translucentDepthTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r; + float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r; + translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth); + out_FragColor = czm_packDepth(translucentDepth); +} +`;var FM=`/** + * Compositing for Weighted Blended Order-Independent Transparency. See: + * - http://jcgt.org/published/0002/02/09/ + * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html + */ + +uniform sampler2D u_opaque; +uniform sampler2D u_accumulation; +uniform sampler2D u_revealage; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 opaque = texture(u_opaque, v_textureCoordinates); + vec4 accum = texture(u_accumulation, v_textureCoordinates); + float r = texture(u_revealage, v_textureCoordinates).r; + +#ifdef MRT + vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a); +#else + vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r); +#endif + + out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque; + + if (opaque != czm_backgroundColor) + { + out_FragColor.a = 1.0; + } +} +`;var VM=`in vec4 positionEC; + +void main() +{ + vec3 position; + vec3 direction; + if (czm_orthographicIn3D == 1.0) + { + vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; + vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom + vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top + position = vec3(mix(minPlane, maxPlane, uv), 0.0); + direction = vec3(0.0, 0.0, -1.0); + } + else + { + position = vec3(0.0); + direction = normalize(positionEC.xyz); + } + + czm_ray ray = czm_ray(position, direction); + + vec3 ellipsoid_center = czm_view[3].xyz; + + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); + if (!czm_isEmpty(intersection)) + { + out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); + } + else + { + discard; + } + + czm_writeLogDepth(); +} +`;var UM=`in vec4 position; + +out vec4 positionEC; + +void main() +{ + positionEC = czm_modelView * position; + gl_Position = czm_projection * positionEC; + + czm_vertexLogDepth(); +} +`;var Ib=`uniform vec3 u_radii; +uniform vec3 u_oneOverEllipsoidRadiiSquared; + +in vec3 v_positionEC; + +vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side) +{ + vec3 positionEC = czm_pointAlongRay(ray, intersection); + vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz; + vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared)); + vec3 sphericalNormal = normalize(positionMC / u_radii); + vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates + vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordiantes + + vec2 st = czm_ellipsoidWgs84TextureCoordinates(sphericalNormal); + vec3 positionToEyeEC = -positionEC; + + czm_materialInput materialInput; + materialInput.s = st.s; + materialInput.st = st; + materialInput.str = (positionMC + u_radii) / u_radii; + materialInput.normalEC = normalEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); + materialInput.positionToEyeEC = positionToEyeEC; + czm_material material = czm_getMaterial(materialInput); + +#ifdef ONLY_SUN_LIGHTING + return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC); +#else + return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif +} + +void main() +{ + // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii + // in the vertex shader. Only when it is larger than some constant, march along the ray. + // Otherwise perform one intersection test which will be the common case. + + // Test if the ray intersects a sphere with the ellipsoid's maximum radius. + // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test + // may cause false negatives. This will discard fragments before marching the ray forward. + float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5; + vec3 direction = normalize(v_positionEC); + vec3 ellipsoidCenter = czm_modelView[3].xyz; + + float t1 = -1.0; + float t2 = -1.0; + + float b = -2.0 * dot(direction, ellipsoidCenter); + float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius; + + float discriminant = b * b - 4.0 * c; + if (discriminant >= 0.0) { + t1 = (-b - sqrt(discriminant)) * 0.5; + t2 = (-b + sqrt(discriminant)) * 0.5; + } + + if (t1 < 0.0 && t2 < 0.0) { + discard; + } + + float t = min(t1, t2); + if (t < 0.0) { + t = 0.0; + } + + // March ray forward to intersection with larger sphere and find + czm_ray ray = czm_ray(t * direction, direction); + + vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z); + + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii); + + if (czm_isEmpty(intersection)) + { + discard; + } + + // If the viewer is outside, compute outsideFaceColor, with normals facing outward. + vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0); + + // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward. + vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0); + + out_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a); + out_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a); + +#if (defined(WRITE_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) + t = (intersection.start != 0.0) ? intersection.start : intersection.stop; + vec3 positionEC = czm_pointAlongRay(ray, t); + vec4 positionCC = czm_projection * vec4(positionEC, 1.0); +#ifdef LOG_DEPTH + czm_writeLogDepth(1.0 + positionCC.w); +#else + float z = positionCC.z / positionCC.w; + + float n = czm_depthRange.near; + float f = czm_depthRange.far; + + gl_FragDepth = (z * (f - n) + f + n) * 0.5; +#endif +#endif +} +`;var Pb=`in vec3 position; + +uniform vec3 u_radii; + +out vec3 v_positionEC; + +void main() +{ + // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates. + // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry, + // but doing it here allows us to change the radii without rewriting the vertex data, and + // allows all ellipsoids to reuse the same vertex data. + vec4 p = vec4(u_radii * position, 1.0); + + v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates + gl_Position = czm_modelViewProjection * p; // position in clip coordinates + + // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums + // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the + // ellipsoid (does not write depth) that was rendered in the farther frustum. + // + // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates + // artifacts since some fragments can be alpha blended twice. This is solved by only rendering + // the ellipsoid in the closest frustum to the viewer. + gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far); + + czm_vertexLogDepth(); +} +`;/** + * @license + * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of NVIDIA CORPORATION nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */var kM=`/** + * @license + * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of NVIDIA CORPORATION nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS \`\`AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples +// Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h + +// Steps used to integrate into Cesium: +// * The following defines are set: +// #define FXAA_PC 1 +// #define FXAA_WEBGL_1 1 +// #define FXAA_GREEN_AS_LUMA 1 +// #define FXAA_EARLY_EXIT 1 +// #define FXAA_GLSL_120 1 +// * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed. +// * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace +// /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/. +// * There are no implicit conversions from ivec* to vec* so replace: +// #define FxaaInt2 ivec2 +// with +// #define FxaaInt2 vec2 +// * The texture2DLod function is only available in vertex shaders so replace: +// #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) +// #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) +// with +// #define FxaaTexTop(t, p) texture(t, p) +// #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) +// * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future. +// * The following parameters to FxaaPixelShader are unused and can be removed: +// fxaaConsolePosPos +// fxaaConsoleRcpFrameOpt +// fxaaConsoleRcpFrameOpt2 +// fxaaConsole360RcpFrameOpt2 +// fxaaConsoleEdgeSharpness +// fxaaConsoleEdgeThreshold +// fxaaConsoleEdgeThresholdMi +// fxaaConsole360ConstDir + +// +// Choose the quality preset. +// This needs to be compiled into the shader as it effects code. +// Best option to include multiple presets is to +// in each shader define the preset, then include this file. +// +// OPTIONS +// ----------------------------------------------------------------------- +// 10 to 15 - default medium dither (10=fastest, 15=highest quality) +// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) +// 39 - no dither, very expensive +// +// NOTES +// ----------------------------------------------------------------------- +// 12 = slightly faster then FXAA 3.9 and higher edge quality (default) +// 13 = about same speed as FXAA 3.9 and better than 12 +// 23 = closest to FXAA 3.9 visually and performance wise +// _ = the lowest digit is directly related to performance +// _ = the highest digit is directly related to style +// +//#define FXAA_QUALITY_PRESET 12 + + +#if (FXAA_QUALITY_PRESET == 10) + #define FXAA_QUALITY_PS 3 + #define FXAA_QUALITY_P0 1.5 + #define FXAA_QUALITY_P1 3.0 + #define FXAA_QUALITY_P2 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 11) + #define FXAA_QUALITY_PS 4 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 3.0 + #define FXAA_QUALITY_P3 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 12) + #define FXAA_QUALITY_PS 5 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 4.0 + #define FXAA_QUALITY_P4 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 13) + #define FXAA_QUALITY_PS 6 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 4.0 + #define FXAA_QUALITY_P5 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 14) + #define FXAA_QUALITY_PS 7 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 4.0 + #define FXAA_QUALITY_P6 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 15) + #define FXAA_QUALITY_PS 8 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 4.0 + #define FXAA_QUALITY_P7 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 20) + #define FXAA_QUALITY_PS 3 + #define FXAA_QUALITY_P0 1.5 + #define FXAA_QUALITY_P1 2.0 + #define FXAA_QUALITY_P2 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 21) + #define FXAA_QUALITY_PS 4 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 22) + #define FXAA_QUALITY_PS 5 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 23) + #define FXAA_QUALITY_PS 6 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 24) + #define FXAA_QUALITY_PS 7 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 3.0 + #define FXAA_QUALITY_P6 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 25) + #define FXAA_QUALITY_PS 8 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 4.0 + #define FXAA_QUALITY_P7 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 26) + #define FXAA_QUALITY_PS 9 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 4.0 + #define FXAA_QUALITY_P8 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 27) + #define FXAA_QUALITY_PS 10 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 4.0 + #define FXAA_QUALITY_P9 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 28) + #define FXAA_QUALITY_PS 11 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 4.0 + #define FXAA_QUALITY_P10 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 29) + #define FXAA_QUALITY_PS 12 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 2.0 + #define FXAA_QUALITY_P10 4.0 + #define FXAA_QUALITY_P11 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 39) + #define FXAA_QUALITY_PS 12 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.0 + #define FXAA_QUALITY_P2 1.0 + #define FXAA_QUALITY_P3 1.0 + #define FXAA_QUALITY_P4 1.0 + #define FXAA_QUALITY_P5 1.5 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 2.0 + #define FXAA_QUALITY_P10 4.0 + #define FXAA_QUALITY_P11 8.0 +#endif + +#define FxaaBool bool +#define FxaaFloat float +#define FxaaFloat2 vec2 +#define FxaaFloat3 vec3 +#define FxaaFloat4 vec4 +#define FxaaHalf float +#define FxaaHalf2 vec2 +#define FxaaHalf3 vec3 +#define FxaaHalf4 vec4 +#define FxaaInt2 vec2 +#define FxaaTex sampler2D + +#define FxaaSat(x) clamp(x, 0.0, 1.0) +#define FxaaTexTop(t, p) texture(t, p) +#define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) + +FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } + +FxaaFloat4 FxaaPixelShader( + // + // Use noperspective interpolation here (turn off perspective interpolation). + // {xy} = center of pixel + FxaaFloat2 pos, + // + // Input color texture. + // {rgb_} = color in linear or perceptual color space + // if (FXAA_GREEN_AS_LUMA == 0) + // {___a} = luma in perceptual color space (not linear) + FxaaTex tex, + // + // Only used on FXAA Quality. + // This must be from a constant/uniform. + // {x_} = 1.0/screenWidthInPixels + // {_y} = 1.0/screenHeightInPixels + FxaaFloat2 fxaaQualityRcpFrame, + // + // Only used on FXAA Quality. + // This used to be the FXAA_QUALITY_SUBPIX define. + // It is here now to allow easier tuning. + // Choose the amount of sub-pixel aliasing removal. + // This can effect sharpness. + // 1.00 - upper limit (softer) + // 0.75 - default amount of filtering + // 0.50 - lower limit (sharper, less sub-pixel aliasing removal) + // 0.25 - almost off + // 0.00 - completely off + FxaaFloat fxaaQualitySubpix, + // + // Only used on FXAA Quality. + // This used to be the FXAA_QUALITY_EDGE_THRESHOLD define. + // It is here now to allow easier tuning. + // The minimum amount of local contrast required to apply algorithm. + // 0.333 - too little (faster) + // 0.250 - low quality + // 0.166 - default + // 0.125 - high quality + // 0.063 - overkill (slower) + FxaaFloat fxaaQualityEdgeThreshold, + // + // Only used on FXAA Quality. + // This used to be the FXAA_QUALITY_EDGE_THRESHOLD_MIN define. + // It is here now to allow easier tuning. + // Trims the algorithm from processing darks. + // 0.0833 - upper limit (default, the start of visible unfiltered edges) + // 0.0625 - high quality (faster) + // 0.0312 - visible limit (slower) + // Special notes when using FXAA_GREEN_AS_LUMA, + // Likely want to set this to zero. + // As colors that are mostly not-green + // will appear very dark in the green channel! + // Tune by looking at mostly non-green content, + // then start at zero and increase until aliasing is a problem. + FxaaFloat fxaaQualityEdgeThresholdMin +) { +/*--------------------------------------------------------------------------*/ + FxaaFloat2 posM; + posM.x = pos.x; + posM.y = pos.y; + FxaaFloat4 rgbyM = FxaaTexTop(tex, posM); + #define lumaM rgbyM.y + FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy)); + FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy)); + FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy)); + FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy)); +/*--------------------------------------------------------------------------*/ + FxaaFloat maxSM = max(lumaS, lumaM); + FxaaFloat minSM = min(lumaS, lumaM); + FxaaFloat maxESM = max(lumaE, maxSM); + FxaaFloat minESM = min(lumaE, minSM); + FxaaFloat maxWN = max(lumaN, lumaW); + FxaaFloat minWN = min(lumaN, lumaW); + FxaaFloat rangeMax = max(maxWN, maxESM); + FxaaFloat rangeMin = min(minWN, minESM); + FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold; + FxaaFloat range = rangeMax - rangeMin; + FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled); + FxaaBool earlyExit = range < rangeMaxClamped; +/*--------------------------------------------------------------------------*/ + if(earlyExit) + return rgbyM; +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy)); + FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy)); + FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy)); + FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy)); +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaNS = lumaN + lumaS; + FxaaFloat lumaWE = lumaW + lumaE; + FxaaFloat subpixRcpRange = 1.0/range; + FxaaFloat subpixNSWE = lumaNS + lumaWE; + FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS; + FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE; +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaNESE = lumaNE + lumaSE; + FxaaFloat lumaNWNE = lumaNW + lumaNE; + FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE; + FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE; +/*--------------------------------------------------------------------------*/ + FxaaFloat lumaNWSW = lumaNW + lumaSW; + FxaaFloat lumaSWSE = lumaSW + lumaSE; + FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2); + FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2); + FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW; + FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE; + FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4; + FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4; +/*--------------------------------------------------------------------------*/ + FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE; + FxaaFloat lengthSign = fxaaQualityRcpFrame.x; + FxaaBool horzSpan = edgeHorz >= edgeVert; + FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE; +/*--------------------------------------------------------------------------*/ + if(!horzSpan) lumaN = lumaW; + if(!horzSpan) lumaS = lumaE; + if(horzSpan) lengthSign = fxaaQualityRcpFrame.y; + FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM; +/*--------------------------------------------------------------------------*/ + FxaaFloat gradientN = lumaN - lumaM; + FxaaFloat gradientS = lumaS - lumaM; + FxaaFloat lumaNN = lumaN + lumaM; + FxaaFloat lumaSS = lumaS + lumaM; + FxaaBool pairN = abs(gradientN) >= abs(gradientS); + FxaaFloat gradient = max(abs(gradientN), abs(gradientS)); + if(pairN) lengthSign = -lengthSign; + FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange); +/*--------------------------------------------------------------------------*/ + FxaaFloat2 posB; + posB.x = posM.x; + posB.y = posM.y; + FxaaFloat2 offNP; + offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; + offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; + if(!horzSpan) posB.x += lengthSign * 0.5; + if( horzSpan) posB.y += lengthSign * 0.5; +/*--------------------------------------------------------------------------*/ + FxaaFloat2 posN; + posN.x = posB.x - offNP.x * FXAA_QUALITY_P0; + posN.y = posB.y - offNP.y * FXAA_QUALITY_P0; + FxaaFloat2 posP; + posP.x = posB.x + offNP.x * FXAA_QUALITY_P0; + posP.y = posB.y + offNP.y * FXAA_QUALITY_P0; + FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0; + FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN)); + FxaaFloat subpixE = subpixC * subpixC; + FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP)); +/*--------------------------------------------------------------------------*/ + if(!pairN) lumaNN = lumaSS; + FxaaFloat gradientScaled = gradient * 1.0/4.0; + FxaaFloat lumaMM = lumaM - lumaNN * 0.5; + FxaaFloat subpixF = subpixD * subpixE; + FxaaBool lumaMLTZero = lumaMM < 0.0; +/*--------------------------------------------------------------------------*/ + lumaEndN -= lumaNN * 0.5; + lumaEndP -= lumaNN * 0.5; + FxaaBool doneN = abs(lumaEndN) >= gradientScaled; + FxaaBool doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1; + FxaaBool doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1; +/*--------------------------------------------------------------------------*/ + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 3) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 4) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 5) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 6) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 7) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 8) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 9) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 10) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 11) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11; +/*--------------------------------------------------------------------------*/ + #if (FXAA_QUALITY_PS > 12) + if(doneNP) { + if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); + if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12; +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } +/*--------------------------------------------------------------------------*/ + FxaaFloat dstN = posM.x - posN.x; + FxaaFloat dstP = posP.x - posM.x; + if(!horzSpan) dstN = posM.y - posN.y; + if(!horzSpan) dstP = posP.y - posM.y; +/*--------------------------------------------------------------------------*/ + FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; + FxaaFloat spanLength = (dstP + dstN); + FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; + FxaaFloat spanLengthRcp = 1.0/spanLength; +/*--------------------------------------------------------------------------*/ + FxaaBool directionN = dstN < dstP; + FxaaFloat dst = min(dstN, dstP); + FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; + FxaaFloat subpixG = subpixF * subpixF; + FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; + FxaaFloat subpixH = subpixG * fxaaQualitySubpix; +/*--------------------------------------------------------------------------*/ + FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; + FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); + if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; + if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; + return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); +} +`;var zM=`uniform vec4 u_initialColor; + +#if TEXTURE_UNITS > 0 +uniform sampler2D u_dayTextures[TEXTURE_UNITS]; +uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS]; +uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS]; + +#ifdef APPLY_ALPHA +uniform float u_dayTextureAlpha[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_DAY_NIGHT_ALPHA +uniform float u_dayTextureNightAlpha[TEXTURE_UNITS]; +uniform float u_dayTextureDayAlpha[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_SPLIT +uniform float u_dayTextureSplit[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_BRIGHTNESS +uniform float u_dayTextureBrightness[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_CONTRAST +uniform float u_dayTextureContrast[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_HUE +uniform float u_dayTextureHue[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_SATURATION +uniform float u_dayTextureSaturation[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_GAMMA +uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_IMAGERY_CUTOUT +uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_COLOR_TO_ALPHA +uniform vec4 u_colorsToAlpha[TEXTURE_UNITS]; +#endif + +uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS]; +#endif + +#ifdef SHOW_REFLECTIVE_OCEAN +uniform sampler2D u_waterMask; +uniform vec4 u_waterMaskTranslationAndScale; +uniform float u_zoomedOutOceanSpecularIntensity; +#endif + +#ifdef SHOW_OCEAN_WAVES +uniform sampler2D u_oceanNormalMap; +#endif + +#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) +uniform vec2 u_lightingFadeDistance; +#endif + +#ifdef TILE_LIMIT_RECTANGLE +uniform vec4 u_cartographicLimitRectangle; +#endif + +#ifdef GROUND_ATMOSPHERE +uniform vec2 u_nightFadeDistance; +#endif + +#ifdef ENABLE_CLIPPING_PLANES +uniform highp sampler2D u_clippingPlanes; +uniform mat4 u_clippingPlanesMatrix; +uniform vec4 u_clippingPlanesEdgeStyle; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) +uniform float u_minimumBrightness; +#endif + +#ifdef COLOR_CORRECT +uniform vec3 u_hsbShift; // Hue, saturation, brightness +#endif + +#ifdef HIGHLIGHT_FILL_TILE +uniform vec4 u_fillHighlightColor; +#endif + +#ifdef TRANSLUCENT +uniform vec4 u_frontFaceAlphaByDistance; +uniform vec4 u_backFaceAlphaByDistance; +uniform vec4 u_translucencyRectangle; +#endif + +#ifdef UNDERGROUND_COLOR +uniform vec4 u_undergroundColor; +uniform vec4 u_undergroundColorAlphaByDistance; +#endif + +#ifdef ENABLE_VERTEX_LIGHTING +uniform float u_lambertDiffuseMultiplier; +uniform float u_vertexShadowDarkness; +#endif + +in vec3 v_positionMC; +in vec3 v_positionEC; +in vec3 v_textureCoordinates; +in vec3 v_normalMC; +in vec3 v_normalEC; + +#ifdef APPLY_MATERIAL +in float v_height; +in float v_slope; +in float v_aspect; +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +in float v_distance; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) +in vec3 v_atmosphereRayleighColor; +in vec3 v_atmosphereMieColor; +in float v_atmosphereOpacity; +#endif + +#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +float interpolateByDistance(vec4 nearFarScalar, float distance) +{ + float startDistance = nearFarScalar.x; + float startValue = nearFarScalar.y; + float endDistance = nearFarScalar.z; + float endValue = nearFarScalar.w; + float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); + return mix(startValue, endValue, t); +} +#endif + +#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL) +vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) +{ + return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); +} +#endif + +#ifdef TRANSLUCENT +bool inTranslucencyRectangle() +{ + return + v_textureCoordinates.x > u_translucencyRectangle.x && + v_textureCoordinates.x < u_translucencyRectangle.z && + v_textureCoordinates.y > u_translucencyRectangle.y && + v_textureCoordinates.y < u_translucencyRectangle.w; +} +#endif + +vec4 sampleAndBlend( + vec4 previousColor, + sampler2D textureToSample, + vec2 tileTextureCoordinates, + vec4 textureCoordinateRectangle, + vec4 textureCoordinateTranslationAndScale, + float textureAlpha, + float textureNightAlpha, + float textureDayAlpha, + float textureBrightness, + float textureContrast, + float textureHue, + float textureSaturation, + float textureOneOverGamma, + float split, + vec4 colorToAlpha, + float nightBlend) +{ + // This crazy step stuff sets the alpha to 0.0 if this following condition is true: + // tileTextureCoordinates.s < textureCoordinateRectangle.s || + // tileTextureCoordinates.s > textureCoordinateRectangle.p || + // tileTextureCoordinates.t < textureCoordinateRectangle.t || + // tileTextureCoordinates.t > textureCoordinateRectangle.q + // In other words, the alpha is zero if the fragment is outside the rectangle + // covered by this texture. Would an actual 'if' yield better performance? + vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates); + textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; + + alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates); + textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; + +#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) + textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend); +#endif + + vec2 translation = textureCoordinateTranslationAndScale.xy; + vec2 scale = textureCoordinateTranslationAndScale.zw; + vec2 textureCoordinates = tileTextureCoordinates * scale + translation; + vec4 value = texture(textureToSample, textureCoordinates); + vec3 color = value.rgb; + float alpha = value.a; + +#ifdef APPLY_COLOR_TO_ALPHA + vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb); + colorDiff.r = max(max(colorDiff.r, colorDiff.g), colorDiff.b); + alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha); +#endif + +#if !defined(APPLY_GAMMA) + vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); + color = tempColor.rgb; + alpha = tempColor.a; +#else + color = pow(color, vec3(textureOneOverGamma)); +#endif + +#ifdef APPLY_SPLIT + float splitPosition = czm_splitPosition; + // Split to the left + if (split < 0.0 && gl_FragCoord.x > splitPosition) { + alpha = 0.0; + } + // Split to the right + else if (split > 0.0 && gl_FragCoord.x < splitPosition) { + alpha = 0.0; + } +#endif + +#ifdef APPLY_BRIGHTNESS + color = mix(vec3(0.0), color, textureBrightness); +#endif + +#ifdef APPLY_CONTRAST + color = mix(vec3(0.5), color, textureContrast); +#endif + +#ifdef APPLY_HUE + color = czm_hue(color, textureHue); +#endif + +#ifdef APPLY_SATURATION + color = czm_saturation(color, textureSaturation); +#endif + + float sourceAlpha = alpha * textureAlpha; + float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); + outAlpha += sign(outAlpha) - 1.0; + + vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha; + + // When rendering imagery for a tile in multiple passes, + // some GPU/WebGL implementation combinations will not blend fragments in + // additional passes correctly if their computation includes an unmasked + // divide-by-zero operation, + // even if it's not in the output or if the output has alpha zero. + // + // For example, without sanitization for outAlpha, + // this renders without artifacts: + // if (outAlpha == 0.0) { outColor = vec3(0.0); } + // + // but using czm_branchFreeTernary will cause portions of the tile that are + // alpha-zero in the additional pass to render as black instead of blending + // with the previous pass: + // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor); + // + // So instead, sanitize against divide-by-zero, + // store this state on the sign of outAlpha, and correct on return. + + return vec4(outColor, max(outAlpha, 0.0)); +} + +vec3 colorCorrect(vec3 rgb) { +#ifdef COLOR_CORRECT + // Convert rgb color to hsb + vec3 hsb = czm_RGBToHSB(rgb); + // Perform hsb shift + hsb.x += u_hsbShift.x; // hue + hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation + hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness + // Convert shifted hsb back to rgb + rgb = czm_HSBToRGB(hsb); +#endif + return rgb; +} + +vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend); +vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade); + +const float fExposure = 2.0; + +vec3 computeEllipsoidPosition() +{ + float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0); + vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0); + xy *= czm_viewport.zw * mpp * 0.5; + + vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x)); + czm_ray ray = czm_ray(vec3(0.0), direction); + + vec3 ellipsoid_center = czm_view[3].xyz; + + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); + + vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start); + return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz; +} + +void main() +{ +#ifdef TILE_LIMIT_RECTANGLE + if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x || + v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y) + { + discard; + } +#endif + +#ifdef ENABLE_CLIPPING_PLANES + float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix); +#endif + +#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR) + vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates + vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordiantes +#endif + +#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) + float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0); +#else + float nightBlend = 0.0; +#endif + + // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0 + // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the + // fragments on the edges of tiles even though the vertex shader is outputting + // coordinates strictly in the 0-1 range. + vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend); + +#ifdef SHOW_TILE_BOUNDARIES + if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) || + v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0)) + { + color = vec4(1.0, 0.0, 0.0, 1.0); + } +#endif + +#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) + float cameraDist; + if (czm_sceneMode == czm_sceneMode2D) + { + cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5; + } + else if (czm_sceneMode == czm_sceneModeColumbusView) + { + cameraDist = -czm_view[3].z; + } + else + { + cameraDist = length(czm_view[3]); + } + float fadeOutDist = u_lightingFadeDistance.x; + float fadeInDist = u_lightingFadeDistance.y; + if (czm_sceneMode != czm_sceneMode3D) { + vec3 radii = czm_ellipsoidRadii; + float maxRadii = max(radii.x, max(radii.y, radii.z)); + fadeOutDist -= maxRadii; + fadeInDist -= maxRadii; + } + float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0); +#else + float fade = 0.0; +#endif + +#ifdef SHOW_REFLECTIVE_OCEAN + vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy; + vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw; + vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation; + waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y; + + float mask = texture(u_waterMask, waterMaskTextureCoordinates).r; + + if (mask > 0.0) + { + mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC); + + vec2 ellipsoidTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC); + vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC.zyx); + + vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z)); + + color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade); + } +#endif + +#ifdef APPLY_MATERIAL + czm_materialInput materialInput; + materialInput.st = v_textureCoordinates.st; + materialInput.normalEC = normalize(v_normalEC); + materialInput.positionToEyeEC = -v_positionEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC)); + materialInput.slope = v_slope; + materialInput.height = v_height; + materialInput.aspect = v_aspect; + czm_material material = czm_getMaterial(materialInput); + vec4 materialColor = vec4(material.diffuse, material.alpha); + color = alphaBlend(materialColor, color); +#endif + +#ifdef ENABLE_VERTEX_LIGHTING + float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0); + vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); +#elif defined(ENABLE_DAYNIGHT_SHADING) + float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0); + diffuseIntensity = mix(1.0, diffuseIntensity, fade); + vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); +#else + vec4 finalColor = color; +#endif + +#ifdef ENABLE_CLIPPING_PLANES + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb; + float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a; + + if (clipDistance < clippingPlanesEdgeWidth) + { + finalColor = clippingPlanesEdgeColor; + } +#endif + +#ifdef HIGHLIGHT_FILL_TILE + finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a); +#endif + +#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) + vec3 atmosphereLightDirection = czm_sunDirectionWC; +#else + vec3 atmosphereLightDirection = czm_lightDirectionWC; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) + if (!czm_backFacing()) + { + bool dynamicLighting = false; + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) + dynamicLighting = true; + #endif + + vec3 rayleighColor; + vec3 mieColor; + float opacity; + + vec3 positionWC; + vec3 lightDirection; + + // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader. + // Otherwise, the scattering is computed in the vertex shader. + #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE + positionWC = computeEllipsoidPosition(); + lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); + computeAtmosphereScattering( + positionWC, + lightDirection, + rayleighColor, + mieColor, + opacity + ); + #else + positionWC = v_positionMC; + lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); + rayleighColor = v_atmosphereRayleighColor; + mieColor = v_atmosphereMieColor; + opacity = v_atmosphereOpacity; + #endif + + rayleighColor = colorCorrect(rayleighColor); + mieColor = colorCorrect(mieColor); + + vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); + + // Fog is applied to tiles selected for fog, close to the Earth. + #ifdef FOG + vec3 fogColor = groundAtmosphereColor.rgb; + + // If there is lighting, apply that to the fog. + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) + float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0); + fogColor *= darken; + #endif + + #ifndef HDR + fogColor.rgb = czm_acesTonemapping(fogColor.rgb); + fogColor.rgb = czm_inverseGamma(fogColor.rgb); + #endif + + const float modifier = 0.15; + finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a); + + #else + // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere. + // This value is larger near the "circumference", as it is further away from the camera. We use it to + // brighten up that area of the ground atmosphere. + const float transmittanceModifier = 0.5; + float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0); + + vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance; + + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) + float fadeInDist = u_nightFadeDistance.x; + float fadeOutDist = u_nightFadeDistance.y; + + float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0); + float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0); + vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken); + + finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity); + #endif + + #ifndef HDR + finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb); + #else + finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6); + #endif + + finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade); + #endif + } +#endif + +#ifdef UNDERGROUND_COLOR + if (czm_backFacing()) + { + float distanceFromEllipsoid = max(czm_eyeHeight, 0.0); + float distance = max(v_distance - distanceFromEllipsoid, 0.0); + float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance); + vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount); + finalColor = alphaBlend(undergroundColor, finalColor); + } +#endif + +#ifdef TRANSLUCENT + if (inTranslucencyRectangle()) + { + vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance; + finalColor.a *= interpolateByDistance(alphaByDistance, v_distance); + } +#endif + + out_FragColor = finalColor; +} + + +#ifdef SHOW_REFLECTIVE_OCEAN + +float waveFade(float edge0, float edge1, float x) +{ + float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); + return pow(1.0 - y, 5.0); +} + +float linearFade(float edge0, float edge1, float x) +{ + return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); +} + +// Based on water rendering by Jonas Wagner: +// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog + +// low altitude wave settings +const float oceanFrequencyLowAltitude = 825000.0; +const float oceanAnimationSpeedLowAltitude = 0.004; +const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0; +const float oceanSpecularIntensity = 0.5; + +// high altitude wave settings +const float oceanFrequencyHighAltitude = 125000.0; +const float oceanAnimationSpeedHighAltitude = 0.008; +const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0; + +vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade) +{ + vec3 positionToEyeEC = -positionEyeCoordinates; + float positionToEyeECLength = length(positionToEyeEC); + + // The double normalize below works around a bug in Firefox on Android devices. + vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC)); + + // Fade out the waves as the camera moves far from the surface. + float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength); + +#ifdef SHOW_OCEAN_WAVES + // high altitude waves + float time = czm_frameNumber * oceanAnimationSpeedHighAltitude; + vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0); + vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude); + + // low altitude waves + time = czm_frameNumber * oceanAnimationSpeedLowAltitude; + noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0); + vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude); + + // blend the 2 wave layers based on distance to surface + float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength); + float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength); + vec3 normalTangentSpace = + (highAltitudeFade * normalTangentSpaceHighAltitude) + + (lowAltitudeFade * normalTangentSpaceLowAltitude); + normalTangentSpace = normalize(normalTangentSpace); + + // fade out the normal perturbation as we move farther from the water surface + normalTangentSpace.xy *= waveIntensity; + normalTangentSpace = normalize(normalTangentSpace); +#else + vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0); +#endif + + vec3 normalEC = enuToEye * normalTangentSpace; + + const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6); + + // Use diffuse light to highlight the waves + float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue; + vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade); + +#ifdef SHOW_OCEAN_WAVES + // Where diffuse light is low or non-existent, use wave highlights based solely on + // the wave bumpiness and no particular light direction. + float tsPerturbationRatio = normalTangentSpace.z; + vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity); +#else + vec3 nonDiffuseHighlight = vec3(0.0); +#endif + + // Add specular highlights in 3D, and in all modes when zoomed in. + float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0); + float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue); + float specular = specularIntensity * surfaceReflectance; + +#ifdef HDR + specular *= 1.4; + + float e = 0.2; + float d = 3.3; + float c = 1.7; + + vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular)); +#else + vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular; +#endif + + return vec4(color, imageryColor.a); +} + +#endif // #ifdef SHOW_REFLECTIVE_OCEAN +`;var HM=`#ifdef QUANTIZATION_BITS12 +in vec4 compressed0; +in float compressed1; +#else +in vec4 position3DAndHeight; +in vec4 textureCoordAndEncodedNormals; +#endif + +#ifdef GEODETIC_SURFACE_NORMALS +in vec3 geodeticSurfaceNormal; +#endif + +#ifdef EXAGGERATION +uniform vec2 u_terrainExaggerationAndRelativeHeight; +#endif + +uniform vec3 u_center3D; +uniform mat4 u_modifiedModelView; +uniform mat4 u_modifiedModelViewProjection; +uniform vec4 u_tileRectangle; + +// Uniforms for 2D Mercator projection +uniform vec2 u_southAndNorthLatitude; +uniform vec2 u_southMercatorYAndOneOverHeight; + +out vec3 v_positionMC; +out vec3 v_positionEC; + +out vec3 v_textureCoordinates; +out vec3 v_normalMC; +out vec3 v_normalEC; + +#ifdef APPLY_MATERIAL +out float v_slope; +out float v_aspect; +out float v_height; +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +out float v_distance; +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) +out vec3 v_atmosphereRayleighColor; +out vec3 v_atmosphereMieColor; +out float v_atmosphereOpacity; +#endif + +// These functions are generated at runtime. +vec4 getPosition(vec3 position, float height, vec2 textureCoordinates); +float get2DYPositionFraction(vec2 textureCoordinates); + +vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates) +{ + return u_modifiedModelViewProjection * vec4(position, 1.0); +} + +float get2DMercatorYPositionFraction(vec2 textureCoordinates) +{ + // The width of a tile at level 11, in radians and assuming a single root tile, is + // 2.0 * czm_pi / pow(2.0, 11.0) + // We want to just linearly interpolate the 2D position from the texture coordinates + // when we're at this level or higher. The constant below is the expression + // above evaluated and then rounded up at the 4th significant digit. + const float maxTileWidth = 0.003068; + float positionFraction = textureCoordinates.y; + float southLatitude = u_southAndNorthLatitude.x; + float northLatitude = u_southAndNorthLatitude.y; + if (northLatitude - southLatitude > maxTileWidth) + { + float southMercatorY = u_southMercatorYAndOneOverHeight.x; + float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y; + + float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y); + currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude); + positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight); + } + return positionFraction; +} + +float get2DGeographicYPositionFraction(vec2 textureCoordinates) +{ + return textureCoordinates.y; +} + +vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates) +{ + float yPositionFraction = get2DYPositionFraction(textureCoordinates); + vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); + return u_modifiedModelViewProjection * rtcPosition2D; +} + +vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates) +{ + return getPositionPlanarEarth(position, 0.0, textureCoordinates); +} + +vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates) +{ + return getPositionPlanarEarth(position, height, textureCoordinates); +} + +vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates) +{ + // We do not do RTC while morphing, so there is potential for jitter. + // This is unlikely to be noticeable, though. + vec3 position3DWC = position + u_center3D; + float yPositionFraction = get2DYPositionFraction(textureCoordinates); + vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); + vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime); + return czm_modelViewProjection * morphPosition; +} + +#ifdef QUANTIZATION_BITS12 +uniform vec2 u_minMaxHeight; +uniform mat4 u_scaleAndBias; +#endif + +void main() +{ +#ifdef QUANTIZATION_BITS12 + vec2 xy = czm_decompressTextureCoordinates(compressed0.x); + vec2 zh = czm_decompressTextureCoordinates(compressed0.y); + vec3 position = vec3(xy, zh.x); + float height = zh.y; + vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z); + + height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x; + position = (u_scaleAndBias * vec4(position, 1.0)).xyz; + +#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; + float encodedNormal = compressed1; +#elif defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; + float encodedNormal = 0.0; +#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) + float webMercatorT = textureCoordinates.y; + float encodedNormal = compressed0.w; +#else + float webMercatorT = textureCoordinates.y; + float encodedNormal = 0.0; +#endif + +#else + // A single float per element + vec3 position = position3DAndHeight.xyz; + float height = position3DAndHeight.w; + vec2 textureCoordinates = textureCoordAndEncodedNormals.xy; + +#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = textureCoordAndEncodedNormals.z; + float encodedNormal = textureCoordAndEncodedNormals.w; +#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) + float webMercatorT = textureCoordinates.y; + float encodedNormal = textureCoordAndEncodedNormals.z; +#elif defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = textureCoordAndEncodedNormals.z; + float encodedNormal = 0.0; +#else + float webMercatorT = textureCoordinates.y; + float encodedNormal = 0.0; +#endif + +#endif + + vec3 position3DWC = position + u_center3D; + +#ifdef GEODETIC_SURFACE_NORMALS + vec3 ellipsoidNormal = geodeticSurfaceNormal; +#else + vec3 ellipsoidNormal = normalize(position3DWC); +#endif + +#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) + float exaggeration = u_terrainExaggerationAndRelativeHeight.x; + float relativeHeight = u_terrainExaggerationAndRelativeHeight.y; + float newHeight = (height - relativeHeight) * exaggeration + relativeHeight; + + // stop from going through center of earth + float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z); + newHeight = max(newHeight, -minRadius); + + vec3 offset = ellipsoidNormal * (newHeight - height); + position += offset; + position3DWC += offset; + height = newHeight; +#endif + + gl_Position = getPosition(position, height, textureCoordinates); + + v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; + v_positionMC = position3DWC; // position in model coordinates + + v_textureCoordinates = vec3(textureCoordinates, webMercatorT); + +#if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) + vec3 normalMC = czm_octDecode(encodedNormal); + +#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) + vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal; + vec3 rejection = normalMC - projection; + normalMC = normalize(projection + rejection * exaggeration); +#endif + + v_normalMC = normalMC; + v_normalEC = czm_normal3D * v_normalMC; +#endif + +#if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE)) + + bool dynamicLighting = false; + + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) + dynamicLighting = true; + #endif + +#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) + vec3 atmosphereLightDirection = czm_sunDirectionWC; +#else + vec3 atmosphereLightDirection = czm_lightDirectionWC; +#endif + + vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC)); + + computeAtmosphereScattering( + position3DWC, + lightDirection, + v_atmosphereRayleighColor, + v_atmosphereMieColor, + v_atmosphereOpacity + ); +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) + v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz); +#endif + +#ifdef APPLY_MATERIAL + float northPoleZ = czm_ellipsoidRadii.z; + vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ); + vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal)); + float dotProd = abs(dot(ellipsoidNormal, v_normalMC)); + v_slope = acos(dotProd); + vec3 normalRejected = ellipsoidNormal * dotProd; + vec3 normalProjected = v_normalMC - normalRejected; + vec3 aspectVector = normalize(normalProjected); + v_aspect = acos(dot(aspectVector, vectorEastMC)); + float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal); + v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect); + v_height = height; +#endif +} +`;var Ob=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) { + + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + + float atmosphereInnerRadius = length(positionWC); + + computeScattering( + primaryRay, + length(cameraToPositionWC), + lightDirection, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); +} +`;var GM=`uniform sampler2D u_texture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = texture(u_texture, v_textureCoordinates); +} +`;var WM=`in vec4 position; +in float webMercatorT; + +uniform vec2 u_textureDimensions; + +out vec2 v_textureCoordinates; + +void main() +{ + v_textureCoordinates = vec2(position.x, webMercatorT); + gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0)); +} +`;var Rb=`float interpolateByDistance(vec4 nearFarScalar, float distance) +{ + float startDistance = nearFarScalar.x; + float startValue = nearFarScalar.y; + float endDistance = nearFarScalar.z; + float endValue = nearFarScalar.w; + float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); + return mix(startValue, endValue, t); +} + +vec3 getLightDirection(vec3 positionWC) +{ + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirection = + positionWC * float(lightEnum == 0.0) + + czm_lightDirectionWC * float(lightEnum == 1.0) + + czm_sunDirectionWC * float(lightEnum == 2.0); + return normalize(lightDirection); +} + +void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe) +{ + float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z; + + // Adjustment to the atmosphere radius applied based on the camera height. + float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0; + float distanceAdjustMax = czm_ellipsoidRadii.x; + float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0; + float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0); + + // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit + // for the position on the ellipsoid. + float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust; + float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust; + + // Setup the primary ray: from the camera position to the vertex position. + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + + underTranslucentGlobe = 0.0; + + // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled. + #if defined(GLOBE_TRANSLUCENT) + + // Check for intersection with the inner radius of the atmopshere. + czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust); + if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) { + + // Compute position on globe. + vec3 direction = normalize(positionWC); + czm_ray ellipsoidRay = czm_ray(positionWC, -direction); + czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii); + vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start); + + // Control the color using the camera angle. + float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth)); + + // Control the opacity using the distance from Earth. + opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth)); + vec3 horizonColor = vec3(0.1, 0.2, 0.3); + vec3 nearColor = vec3(0.0); + + rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity); + + // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton. + underTranslucentGlobe = 1.0; + return; + } + #endif + + computeScattering( + primaryRay, + length(cameraToPositionWC), + lightDirection, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); + + // Alter the opacity based on how close the viewer is to the ground. + // (0.0 = At edge of atmosphere, 1.0 = On ground) + float cameraHeight = czm_eyeHeight + atmosphereInnerRadius; + float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; + opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0); + + // Alter alpha based on time of day (0.0 = night , 1.0 = day) + float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0; + opacity *= pow(nightAlpha, 0.5); +} +`;var jM=`in vec3 v_outerPositionWC; + +uniform vec3 u_hsbShift; + +#ifndef PER_FRAGMENT_ATMOSPHERE +in vec3 v_mieColor; +in vec3 v_rayleighColor; +in float v_opacity; +in float v_translucent; +#endif + +void main (void) +{ + vec3 lightDirection = getLightDirection(v_outerPositionWC); + + vec3 mieColor; + vec3 rayleighColor; + float opacity; + float translucent; + + #ifdef PER_FRAGMENT_ATMOSPHERE + computeAtmosphereScattering( + v_outerPositionWC, + lightDirection, + rayleighColor, + mieColor, + opacity, + translucent + ); + #else + mieColor = v_mieColor; + rayleighColor = v_rayleighColor; + opacity = v_opacity; + translucent = v_translucent; + #endif + + vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity); + + #ifndef HDR + color.rgb = czm_acesTonemapping(color.rgb); + color.rgb = czm_inverseGamma(color.rgb); + #endif + + #ifdef COLOR_CORRECT + // Convert rgb color to hsb + vec3 hsb = czm_RGBToHSB(color.rgb); + // Perform hsb shift + hsb.x += u_hsbShift.x; // hue + hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation + hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness + // Convert shifted hsb back to rgb + color.rgb = czm_HSBToRGB(hsb); + #endif + + // For the parts of the sky atmosphere that are not behind a translucent globe, + // we mix in the default opacity so that the sky atmosphere still appears at distance. + // This is needed because the opacity in the sky atmosphere is initially adjusted based + // on the camera height. + if (translucent == 0.0) { + color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime); + } + + out_FragColor = color; +} +`;var YM=`in vec4 position; + +out vec3 v_outerPositionWC; + +#ifndef PER_FRAGMENT_ATMOSPHERE +out vec3 v_mieColor; +out vec3 v_rayleighColor; +out float v_opacity; +out float v_translucent; +#endif + +void main(void) +{ + vec4 positionWC = czm_model * position; + vec3 lightDirection = getLightDirection(positionWC.xyz); + + #ifndef PER_FRAGMENT_ATMOSPHERE + computeAtmosphereScattering( + positionWC.xyz, + lightDirection, + v_rayleighColor, + v_mieColor, + v_opacity, + v_translucent + ); + #endif + + v_outerPositionWC = positionWC.xyz; + gl_Position = czm_modelViewProjection * position; +} +`;var qM=`uniform samplerCube u_cubeMap; + +in vec3 v_texCoord; + +void main() +{ + vec4 color = czm_textureCube(u_cubeMap, normalize(v_texCoord)); + out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); +} +`;var XM=`in vec3 position; + +out vec3 v_texCoord; + +void main() +{ + vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); + gl_Position = czm_projection * vec4(p, 1.0); + v_texCoord = position.xyz; +} +`;var KM=`uniform sampler2D u_texture; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 color = texture(u_texture, v_textureCoordinates); + out_FragColor = czm_gammaCorrect(color); +} +`;var ZM=`uniform float u_radiusTS; + +in vec2 v_textureCoordinates; + +vec2 rotate(vec2 p, vec2 direction) +{ + return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x); +} + +vec4 addBurst(vec2 position, vec2 direction, float lengthScalar) +{ + vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75); + float radius = length(rotatedPosition) * lengthScalar; + float burst = 1.0 - smoothstep(0.0, 0.55, radius); + return vec4(burst); +} + +void main() +{ + float lengthScalar = 2.0 / sqrt(2.0); + vec2 position = v_textureCoordinates - vec2(0.5); + float radius = length(position) * lengthScalar; + float surface = step(radius, u_radiusTS); + vec4 color = vec4(vec2(1.0), surface + 0.2, surface); + + float glow = 1.0 - smoothstep(0.0, 0.55, radius); + color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; + + vec4 burst = vec4(0.0); + + // The following loop has been manually unrolled for speed, to + // avoid sin() and cos(). + // + //for (float i = 0.4; i < 3.2; i += 1.047) { + // vec2 direction = vec2(sin(i), cos(i)); + // burst += 0.4 * addBurst(position, direction, lengthScalar); + // + // direction = vec2(sin(i - 0.08), cos(i - 0.08)); + // burst += 0.3 * addBurst(position, direction, lengthScalar); + //} + + burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4 + burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047 + burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0 + + burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08 + burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08 + burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08 + + // End of manual loop unrolling. + + color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15; + + out_FragColor = clamp(color, vec4(0.0), vec4(1.0)); +} +`;var JM=`in vec2 direction; + +uniform float u_size; + +out vec2 v_textureCoordinates; + +void main() +{ + vec4 position; + if (czm_morphTime == 1.0) + { + position = vec4(czm_sunPositionWC, 1.0); + } + else + { + position = vec4(czm_sunPositionColumbusView.zxy, 1.0); + } + + vec4 positionEC = czm_view * position; + vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); + + vec2 halfSize = vec2(u_size * 0.5); + halfSize *= ((direction * 2.0) - 1.0); + + gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0); + + v_textureCoordinates = direction; +} +`;var QM=` +in vec2 v_textureCoordinates; + +void main() +{ + czm_materialInput materialInput; + + materialInput.s = v_textureCoordinates.s; + materialInput.st = v_textureCoordinates; + materialInput.str = vec3(v_textureCoordinates, 0.0); + materialInput.normalEC = vec3(0.0, 0.0, -1.0); + + czm_material material = czm_getMaterial(materialInput); + + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +} +`;var VQe={NONE:0,LERC:1},bf=Object.freeze(VQe);var UQe={NONE:0,BITS12:1},Ps=Object.freeze(UQe);var Rx=new h,kQe=new h,Sf=new H,yz=new M,zQe=new M,HQe=Math.pow(2,12);function ic(e,t,n,i,o,r,s,a,c,l){let f=Ps.NONE,d,p;if(u(t)&&u(n)&&u(i)&&u(o)){let g=t.minimum,m=t.maximum,A=h.subtract(m,g,kQe),x=i-n;Math.max(h.maximumComponent(A),x)<HQe-1?f=Ps.BITS12:f=Ps.NONE,d=M.inverseTransformation(o,new M);let T=h.negate(g,Rx);M.multiply(M.fromTranslation(T,yz),d,d);let E=Rx;E.x=1/A.x,E.y=1/A.y,E.z=1/A.z,M.multiply(M.fromScale(E,yz),d,d),p=M.clone(o),M.setTranslation(p,h.ZERO,p),o=M.clone(o,new M);let S=M.fromTranslation(g,yz),D=M.fromScale(A,zQe),w=M.multiply(S,D,yz);M.multiply(o,w,o),M.multiply(p,w,p)}this.quantization=f,this.minimumHeight=n,this.maximumHeight=i,this.center=h.clone(e),this.toScaledENU=d,this.fromScaledENU=o,this.matrix=p,this.hasVertexNormals=r,this.hasWebMercatorT=y(s,!1),this.hasGeodeticSurfaceNormals=y(a,!1),this.exaggeration=y(c,1),this.exaggerationRelativeHeight=y(l,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}ic.prototype.encode=function(e,t,n,i,o,r,s,a){let c=i.x,l=i.y;if(this.quantization===Ps.BITS12){n=M.multiplyByPoint(this.toScaledENU,n,Rx),n.x=P.clamp(n.x,0,1),n.y=P.clamp(n.y,0,1),n.z=P.clamp(n.z,0,1);let f=this.maximumHeight-this.minimumHeight,d=P.clamp((o-this.minimumHeight)/f,0,1);H.fromElements(n.x,n.y,Sf);let p=Gn.compressTextureCoordinates(Sf);H.fromElements(n.z,d,Sf);let g=Gn.compressTextureCoordinates(Sf);H.fromElements(c,l,Sf);let m=Gn.compressTextureCoordinates(Sf);if(e[t++]=p,e[t++]=g,e[t++]=m,this.hasWebMercatorT){H.fromElements(s,0,Sf);let A=Gn.compressTextureCoordinates(Sf);e[t++]=A}}else h.subtract(n,this.center,Rx),e[t++]=Rx.x,e[t++]=Rx.y,e[t++]=Rx.z,e[t++]=o,e[t++]=c,e[t++]=l,this.hasWebMercatorT&&(e[t++]=s);return this.hasVertexNormals&&(e[t++]=Gn.octPackFloat(r)),this.hasGeodeticSurfaceNormals&&(e[t++]=a.x,e[t++]=a.y,e[t++]=a.z),t};var GQe=new h,Cme=new h;ic.prototype.addGeodeticSurfaceNormals=function(e,t,n){if(this.hasGeodeticSurfaceNormals)return;let i=this.stride,o=e.length/i;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();let r=this.stride;for(let s=0;s<o;s++){for(let f=0;f<i;f++){let d=s*i+f,p=s*r+f;t[p]=e[d]}let a=this.decodePosition(t,s,GQe),c=n.geodeticSurfaceNormal(a,Cme),l=s*r+this._offsetGeodeticSurfaceNormal;t[l]=c.x,t[l+1]=c.y,t[l+2]=c.z}};ic.prototype.removeGeodeticSurfaceNormals=function(e,t){if(!this.hasGeodeticSurfaceNormals)return;let n=this.stride,i=e.length/n;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();let o=this.stride;for(let r=0;r<i;r++)for(let s=0;s<o;s++){let a=r*n+s,c=r*o+s;t[c]=e[a]}};ic.prototype.decodePosition=function(e,t,n){if(u(n)||(n=new h),t*=this.stride,this.quantization===Ps.BITS12){let i=Gn.decompressTextureCoordinates(e[t],Sf);n.x=i.x,n.y=i.y;let o=Gn.decompressTextureCoordinates(e[t+1],Sf);return n.z=o.x,M.multiplyByPoint(this.fromScaledENU,n,n)}return n.x=e[t],n.y=e[t+1],n.z=e[t+2],h.add(n,this.center,n)};ic.prototype.getExaggeratedPosition=function(e,t,n){n=this.decodePosition(e,t,n);let i=this.exaggeration,o=this.exaggerationRelativeHeight;if(i!==1&&this.hasGeodeticSurfaceNormals){let s=this.decodeGeodeticSurfaceNormal(e,t,Cme),a=this.decodeHeight(e,t),c=Cc.getHeight(a,i,o)-a;n.x+=s.x*c,n.y+=s.y*c,n.z+=s.z*c}return n};ic.prototype.decodeTextureCoordinates=function(e,t,n){return u(n)||(n=new H),t*=this.stride,this.quantization===Ps.BITS12?Gn.decompressTextureCoordinates(e[t+2],n):H.fromElements(e[t+4],e[t+5],n)};ic.prototype.decodeHeight=function(e,t){return t*=this.stride,this.quantization===Ps.BITS12?Gn.decompressTextureCoordinates(e[t+1],Sf).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:e[t+3]};ic.prototype.decodeWebMercatorT=function(e,t){return t*=this.stride,this.quantization===Ps.BITS12?Gn.decompressTextureCoordinates(e[t+3],Sf).x:e[t+6]};ic.prototype.getOctEncodedNormal=function(e,t,n){t=t*this.stride+this._offsetVertexNormal;let i=e[t]/256,o=Math.floor(i),r=(i-o)*256;return H.fromElements(o,r,n)};ic.prototype.decodeGeodeticSurfaceNormal=function(e,t,n){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,n.x=e[t],n.y=e[t+1],n.z=e[t+2],n};ic.prototype._calculateStrideAndOffsets=function(){let e=0;switch(this.quantization){case Ps.BITS12:e+=3;break;default:e+=6}this.hasWebMercatorT&&(e+=1),this.hasVertexNormals&&(this._offsetVertexNormal=e,e+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=e,e+=3),this.stride=e};var Az={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},xz={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};ic.prototype.getAttributes=function(e){let t=q.FLOAT,n=q.getSizeInBytes(t),i=this.stride*n,o=0,r=[];function s(a,c){r.push({index:a,vertexBuffer:e,componentDatatype:t,componentsPerAttribute:c,offsetInBytes:o,strideInBytes:i}),o+=c*n}if(this.quantization===Ps.NONE){s(Az.position3DAndHeight,4);let a=2;a+=this.hasWebMercatorT?1:0,a+=this.hasVertexNormals?1:0,s(Az.textureCoordAndEncodedNormals,a),this.hasGeodeticSurfaceNormals&&s(Az.geodeticSurfaceNormal,3)}else{let a=this.hasWebMercatorT||this.hasVertexNormals,c=this.hasWebMercatorT&&this.hasVertexNormals;s(xz.compressed0,a?4:3),c&&s(xz.compressed1,1),this.hasGeodeticSurfaceNormals&&s(xz.geodeticSurfaceNormal,3)}return r};ic.prototype.getAttributeLocations=function(){return this.quantization===Ps.NONE?Az:xz};ic.clone=function(e,t){if(u(e))return u(t)||(t=new ic),t.quantization=e.quantization,t.minimumHeight=e.minimumHeight,t.maximumHeight=e.maximumHeight,t.center=h.clone(e.center),t.toScaledENU=M.clone(e.toScaledENU),t.fromScaledENU=M.clone(e.fromScaledENU),t.matrix=M.clone(e.matrix),t.hasVertexNormals=e.hasVertexNormals,t.hasWebMercatorT=e.hasWebMercatorT,t.hasGeodeticSurfaceNormals=e.hasGeodeticSurfaceNormals,t.exaggeration=e.exaggeration,t.exaggerationRelativeHeight=e.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var oc=ic;var am={};am.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var oj=new h,WQe=new M,jQe=new h,YQe=new h;am.computeVertices=function(e){let t=Math.cos,n=Math.sin,i=Math.sqrt,o=Math.atan,r=Math.exp,s=P.PI_OVER_TWO,a=P.toRadians,c=e.heightmap,l=e.width,f=e.height,d=e.skirtHeight,p=d>0,g=y(e.isGeographic,!0),m=y(e.ellipsoid,ie.WGS84),A=1/m.maximumRadius,x=ce.clone(e.nativeRectangle),C=ce.clone(e.rectangle),T,E,S,D;u(C)?(T=C.west,E=C.south,S=C.east,D=C.north):g?(T=a(x.west),E=a(x.south),S=a(x.east),D=a(x.north)):(T=x.west*A,E=s-2*o(r(-x.south*A)),S=x.east*A,D=s-2*o(r(-x.north*A)));let w=e.relativeToCenter,R=u(w);w=R?w:h.ZERO;let O=y(e.includeWebMercatorT,!1),L=y(e.exaggeration,1),N=y(e.exaggerationRelativeHeight,0),b=L!==1,v=y(e.structure,am.DEFAULT_STRUCTURE),I=y(v.heightScale,am.DEFAULT_STRUCTURE.heightScale),B=y(v.heightOffset,am.DEFAULT_STRUCTURE.heightOffset),F=y(v.elementsPerHeight,am.DEFAULT_STRUCTURE.elementsPerHeight),k=y(v.stride,am.DEFAULT_STRUCTURE.stride),U=y(v.elementMultiplier,am.DEFAULT_STRUCTURE.elementMultiplier),G=y(v.isBigEndian,am.DEFAULT_STRUCTURE.isBigEndian),V=ce.computeWidth(x),X=ce.computeHeight(x),j=V/(l-1),Q=X/(f-1);g||(V*=A,X*=A);let W=m.radiiSquared,K=W.x,J=W.y,_e=W.z,xe=65536,re=-65536,ye=Ot.eastNorthUpToFixedFrame(w,m),fe=M.inverseTransformation(ye,WQe),Se,we;O&&(Se=Si.geodeticLatitudeToMercatorAngle(E),we=1/(Si.geodeticLatitudeToMercatorAngle(D)-Se));let Ve=jQe;Ve.x=Number.POSITIVE_INFINITY,Ve.y=Number.POSITIVE_INFINITY,Ve.z=Number.POSITIVE_INFINITY;let qe=YQe;qe.x=Number.NEGATIVE_INFINITY,qe.y=Number.NEGATIVE_INFINITY,qe.z=Number.NEGATIVE_INFINITY;let mt=Number.POSITIVE_INFINITY,Ht=l*f,fn=d>0?l*2+f*2:0,dt=Ht+fn,Tn=new Array(dt),Jn=new Array(dt),Gt=new Array(dt),Je=O?new Array(dt):[],pe=b?new Array(dt):[],me=0,be=f,St=0,qt=l;p&&(--me,++be,--St,++qt);let Kn=1e-5;for(let Ze=me;Ze<be;++Ze){let ft=Ze;ft<0&&(ft=0),ft>=f&&(ft=f-1);let Lt=x.north-Q*ft;g?Lt=a(Lt):Lt=s-2*o(r(-Lt*A));let En=(Lt-E)/(D-E);En=P.clamp(En,0,1);let so=Ze===me,So=Ze===be-1;d>0&&(so?Lt+=Kn*X:So&&(Lt-=Kn*X));let ns=t(Lt),Nr=n(Lt),Hi=_e*Nr,Oi;O&&(Oi=(Si.geodeticLatitudeToMercatorAngle(Lt)-Se)*we);for(let Ar=St;Ar<qt;++Ar){let Mn=Ar;Mn<0&&(Mn=0),Mn>=l&&(Mn=l-1);let Yn=ft*(l*k)+Mn*k,Zn;if(F===1)Zn=c[Yn];else{Zn=0;let mc;if(G)for(mc=0;mc<F;++mc)Zn=Zn*U+c[Yn+mc];else for(mc=F-1;mc>=0;--mc)Zn=Zn*U+c[Yn+mc]}Zn=Zn*I+B,re=Math.max(re,Zn),xe=Math.min(xe,Zn);let ti=x.west+j*Mn;g?ti=a(ti):ti=ti*A;let hc=(ti-T)/(S-T);hc=P.clamp(hc,0,1);let Do=ft*l+Mn;if(d>0){let mc=Ar===St,qr=Ar===qt-1,K2=so||So||mc||qr;if((so||So)&&(mc||qr))continue;K2&&(Zn-=d,mc?(Do=Ht+(f-ft-1),ti-=Kn*V):So?Do=Ht+f+(l-Mn-1):qr?(Do=Ht+f+l+ft,ti+=Kn*V):so&&(Do=Ht+f+l+f+Mn))}let Bo=ns*t(ti),kf=ns*n(ti),er=K*Bo,ba=J*kf,V_=1/i(er*Bo+ba*kf+Hi*Nr),Sa=er*V_,uh=ba*V_,i0=Hi*V_,tr=new h;tr.x=Sa+Bo*Zn,tr.y=uh+kf*Zn,tr.z=i0+Nr*Zn,M.multiplyByPoint(fe,tr,oj),h.minimumByComponent(oj,Ve,Ve),h.maximumByComponent(oj,qe,qe),mt=Math.min(mt,Zn),Tn[Do]=tr,Gt[Do]=new H(hc,En),Jn[Do]=Zn,O&&(Je[Do]=Oi),b&&(pe[Do]=m.geodeticSurfaceNormal(tr))}}let Ro=se.fromPoints(Tn),Uo;u(C)&&(Uo=Rn.fromRectangle(C,xe,re,m));let Ao;R&&(Ao=new Qp(m).computeHorizonCullingPointPossiblyUnderEllipsoid(w,Tn,xe));let Yr=new $_(Ve,qe,w),Be=new oc(w,Yr,mt,re,ye,!1,O,b,L,N),it=new Float32Array(dt*Be.stride),Ke=0;for(let Ze=0;Ze<dt;++Ze)Ke=Be.encode(it,Ke,Tn[Ze],Gt[Ze],Jn[Ze],void 0,Je[Ze],pe[Ze]);return{vertices:it,maximumHeight:re,minimumHeight:xe,encoding:Be,boundingSphere3D:Ro,orientedBoundingBox:Uo,occludeePointInScaledSpace:Ao}};var Bb=am;function wy(){de.throwInstantiationError()}Object.defineProperties(wy.prototype,{credits:{get:de.throwInstantiationError},waterMask:{get:de.throwInstantiationError}});wy.prototype.interpolateHeight=de.throwInstantiationError;wy.prototype.isChildAvailable=de.throwInstantiationError;wy.prototype.createMesh=de.throwInstantiationError;wy.prototype.upsample=de.throwInstantiationError;wy.prototype.wasCreatedByUpsampling=de.throwInstantiationError;wy.maximumAsynchronousTasks=5;var Yd=wy;function qQe(e,t,n,i,o,r,s,a,c,l,f,d,p,g,m,A){this.center=e,this.vertices=t,this.stride=y(l,6),this.indices=n,this.indexCountWithoutSkirts=i,this.vertexCountWithoutSkirts=o,this.minimumHeight=r,this.maximumHeight=s,this.boundingSphere3D=a,this.occludeePointInScaledSpace=c,this.orientedBoundingBox=f,this.encoding=d,this.westIndicesSouthToNorth=p,this.southIndicesEastToWest=g,this.eastIndicesNorthToSouth=m,this.northIndicesWestToEast=A}var Df=qQe;function kc(){de.throwInstantiationError()}Object.defineProperties(kc.prototype,{errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},ready:{get:de.throwInstantiationError},readyPromise:{get:de.throwInstantiationError},hasWaterMask:{get:de.throwInstantiationError},hasVertexNormals:{get:de.throwInstantiationError},availability:{get:de.throwInstantiationError}});var Tme=[];kc.getRegularGridIndices=function(e,t){let n=Tme[e];u(n)||(Tme[e]=n=[]);let i=n[t];return u(i)||(e*t<P.SIXTY_FOUR_KILOBYTES?i=n[t]=new Uint16Array((e-1)*(t-1)*6):i=n[t]=new Uint32Array((e-1)*(t-1)*6),Dme(e,t,i,0)),i};var Eme=[];kc.getRegularGridIndicesAndEdgeIndices=function(e,t){let n=Eme[e];u(n)||(Eme[e]=n=[]);let i=n[t];if(!u(i)){let o=kc.getRegularGridIndices(e,t),r=Sme(e,t),s=r.westIndicesSouthToNorth,a=r.southIndicesEastToWest,c=r.eastIndicesNorthToSouth,l=r.northIndicesWestToEast;i=n[t]={indices:o,westIndicesSouthToNorth:s,southIndicesEastToWest:a,eastIndicesNorthToSouth:c,northIndicesWestToEast:l}}return i};var bme=[];kc.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){let n=bme[e];u(n)||(bme[e]=n=[]);let i=n[t];if(!u(i)){let o=e*t,r=(e-1)*(t-1)*6,s=e*2+t*2,a=Math.max(0,s-4)*6,c=o+s,l=r+a,f=Sme(e,t),d=f.westIndicesSouthToNorth,p=f.southIndicesEastToWest,g=f.eastIndicesNorthToSouth,m=f.northIndicesWestToEast,A=Fe.createTypedArray(c,l);Dme(e,t,A,0),kc.addSkirtIndices(d,p,g,m,o,A,r),i=n[t]={indices:A,westIndicesSouthToNorth:d,southIndicesEastToWest:p,eastIndicesNorthToSouth:g,northIndicesWestToEast:m,indexCountWithoutSkirts:r}}return i};kc.addSkirtIndices=function(e,t,n,i,o,r,s){let a=o;s=Cz(e,a,r,s),a+=e.length,s=Cz(t,a,r,s),a+=t.length,s=Cz(n,a,r,s),a+=n.length,Cz(i,a,r,s)};function Sme(e,t){let n=new Array(t),i=new Array(e),o=new Array(t),r=new Array(e),s;for(s=0;s<e;++s)r[s]=s,i[s]=e*t-1-s;for(s=0;s<t;++s)o[s]=(s+1)*e-1,n[s]=(t-s-1)*e;return{westIndicesSouthToNorth:n,southIndicesEastToWest:i,eastIndicesNorthToSouth:o,northIndicesWestToEast:r}}function Dme(e,t,n,i){let o=0;for(let r=0;r<t-1;++r){for(let s=0;s<e-1;++s){let a=o,c=a+e,l=c+1,f=a+1;n[i++]=a,n[i++]=c,n[i++]=f,n[i++]=f,n[i++]=c,n[i++]=l,++o}++o}}function Cz(e,t,n,i){let o=e[0],r=e.length;for(let s=1;s<r;++s){let a=e[s];n[i++]=o,n[i++]=a,n[i++]=t,n[i++]=t,n[i++]=a,n[i++]=t+1,o=a,++t}return i}kc.heightmapTerrainQuality=.25;kc.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,n){return e.maximumRadius*2*Math.PI*kc.heightmapTerrainQuality/(t*n)};kc.prototype.requestTileGeometry=de.throwInstantiationError;kc.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;kc.prototype.getTileDataAvailable=de.throwInstantiationError;kc.prototype.loadTileDataAvailability=de.throwInstantiationError;var Hr=kc;function __(e){this._buffer=e.buffer,this._width=e.width,this._height=e.height,this._childTileMask=y(e.childTileMask,15),this._encoding=y(e.encoding,bf.NONE);let t=Bb.DEFAULT_STRUCTURE,n=e.structure;u(n)?n!==t&&(n.heightScale=y(n.heightScale,t.heightScale),n.heightOffset=y(n.heightOffset,t.heightOffset),n.elementsPerHeight=y(n.elementsPerHeight,t.elementsPerHeight),n.stride=y(n.stride,t.stride),n.elementMultiplier=y(n.elementMultiplier,t.elementMultiplier),n.isBigEndian=y(n.isBigEndian,t.isBigEndian)):n=t,this._structure=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._skirtHeight=void 0,this._bufferType=this._encoding===bf.LERC?Float32Array:this._buffer.constructor,this._mesh=void 0}Object.defineProperties(__.prototype,{credits:{get:function(){}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}}});var vme="createVerticesFromHeightmap",XQe=new pi(vme),KQe=new pi(vme,Yd.maximumAsynchronousTasks);__.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,l=t.tileXYToNativeRectangle(n,i,o),f=t.tileXYToRectangle(n,i,o),d=c.cartographicToCartesian(ce.center(f)),p=this._structure,m=Hr.getEstimatedLevelZeroGeometricErrorForAHeightmap(c,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(m*4,1e3);let x=(a?KQe:XQe).scheduleTask({heightmap:this._buffer,structure:p,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:l,rectangle:f,relativeToCenter:d,ellipsoid:c,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ei,exaggeration:r,exaggerationRelativeHeight:s,encoding:this._encoding});if(!u(x))return;let C=this;return Promise.resolve(x).then(function(T){let E;C._skirtHeight>0?E=Hr.getRegularGridAndSkirtIndicesAndEdgeIndices(T.gridWidth,T.gridHeight):E=Hr.getRegularGridIndicesAndEdgeIndices(T.gridWidth,T.gridHeight);let S=T.gridWidth*T.gridHeight;return C._mesh=new Df(d,new Float32Array(T.vertices),E.indices,E.indexCountWithoutSkirts,S,T.minimumHeight,T.maximumHeight,se.clone(T.boundingSphere3D),h.clone(T.occludeePointInScaledSpace),T.numberOfAttributes,Rn.clone(T.orientedBoundingBox),oc.clone(T.encoding),E.westIndicesSouthToNorth,E.southIndicesEastToWest,E.eastIndicesNorthToSouth,E.northIndicesWestToEast),C._buffer=void 0,C._mesh})};__.prototype._createMeshSync=function(e){let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=t.ellipsoid,c=t.tileXYToNativeRectangle(n,i,o),l=t.tileXYToRectangle(n,i,o),f=a.cartographicToCartesian(ce.center(l)),d=this._structure,g=Hr.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(g*4,1e3);let m=Bb.computeVertices({heightmap:this._buffer,structure:d,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:c,rectangle:l,relativeToCenter:f,ellipsoid:a,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ei,exaggeration:r,exaggerationRelativeHeight:s});this._buffer=void 0;let A;this._skirtHeight>0?A=Hr.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):A=Hr.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let x=m.gridWidth*m.gridHeight;return this._mesh=new Df(f,m.vertices,A.indices,A.indexCountWithoutSkirts,x,m.minimumHeight,m.maximumHeight,m.boundingSphere3D,m.occludeePointInScaledSpace,m.encoding.stride,m.orientedBoundingBox,m.encoding,A.westIndicesSouthToNorth,A.southIndicesEastToWest,A.eastIndicesNorthToSouth,A.northIndicesWestToEast),this._mesh};__.prototype.interpolateHeight=function(e,t,n){let i=this._width,o=this._height,r=this._structure,s=r.stride,a=r.elementsPerHeight,c=r.elementMultiplier,l=r.isBigEndian,f=r.heightOffset,d=r.heightScale,p=u(this._mesh),g=this._encoding===bf.LERC;if(!p&&g)return;let A;if(p){let x=this._mesh.vertices,C=this._mesh.encoding;A=wme(x,C,f,d,e,i,o,t,n)}else A=ZQe(this._buffer,a,c,s,l,e,i,o,t,n),A=A*d+f;return A};__.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!u(a))return;let c=this._width,l=this._height,f=this._structure,d=f.stride,p=new this._bufferType(c*l*d),g=a.vertices,m=a.encoding,A=e.tileXYToRectangle(t,n,i),x=e.tileXYToRectangle(o,r,s),C=f.heightOffset,T=f.heightScale,E=f.elementsPerHeight,S=f.elementMultiplier,D=f.isBigEndian,w=Math.pow(S,E-1);for(let R=0;R<l;++R){let O=P.lerp(x.north,x.south,R/(l-1));for(let L=0;L<c;++L){let N=P.lerp(x.west,x.east,L/(c-1)),_=wme(g,m,C,T,A,c,l,N,O);_=_<f.lowestEncodedHeight?f.lowestEncodedHeight:_,_=_>f.highestEncodedHeight?f.highestEncodedHeight:_,JQe(p,E,S,w,d,D,R*c+L,_)}}return Promise.resolve(new __({buffer:p,width:c,height:l,childTileMask:0,structure:this._structure,createdByUpsampling:!0}))};__.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};__.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};function ZQe(e,t,n,i,o,r,s,a,c,l){let f=(c-r.west)*(s-1)/(r.east-r.west),d=(l-r.south)*(a-1)/(r.north-r.south),p=f|0,g=p+1;g>=s&&(g=s-1,p=s-2);let m=d|0,A=m+1;A>=a&&(A=a-1,m=a-2);let x=f-p,C=d-m;m=a-1-m,A=a-1-A;let T=Tz(e,t,n,i,o,m*s+p),E=Tz(e,t,n,i,o,m*s+g),S=Tz(e,t,n,i,o,A*s+p),D=Tz(e,t,n,i,o,A*s+g);return Ime(x,C,T,E,S,D)}function wme(e,t,n,i,o,r,s,a,c){let l=(a-o.west)*(r-1)/(o.east-o.west),f=(c-o.south)*(s-1)/(o.north-o.south),d=l|0,p=d+1;p>=r&&(p=r-1,d=r-2);let g=f|0,m=g+1;m>=s&&(m=s-1,g=s-2);let A=l-d,x=f-g;g=s-1-g,m=s-1-m;let C=(t.decodeHeight(e,g*r+d)-n)/i,T=(t.decodeHeight(e,g*r+p)-n)/i,E=(t.decodeHeight(e,m*r+d)-n)/i,S=(t.decodeHeight(e,m*r+p)-n)/i;return Ime(A,x,C,T,E,S)}function Ime(e,t,n,i,o,r){return t<e?n+e*(i-n)+t*(r-i):n+e*(r-o)+t*(o-n)}function Tz(e,t,n,i,o,r){r*=i;let s=0,a;if(o)for(a=0;a<t;++a)s=s*n+e[r+a];else for(a=t-1;a>=0;--a)s=s*n+e[r+a];return s}function JQe(e,t,n,i,o,r,s,a){s*=o;let c;if(r)for(c=0;c<t-1;++c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;else for(c=t-1;c>0;--c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;e[s+c]=a}var ga=__;function Nb(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}var Bx=new ce;function QQe(e,t,n,i){let o=i.length;for(let r=0;r<o;++r){let s=i[r];if(s.x===t&&s.y===n&&s.level===e)return!0}return!1}Nb.prototype.addAvailableTileRange=function(e,t,n,i,o){let r=this._tilingScheme,s=this._rootNodes;if(e===0)for(let p=n;p<=o;++p)for(let g=t;g<=i;++g)QQe(e,g,p,s)||s.push(new Mb(r,void 0,0,g,p));r.tileXYToRectangle(t,n,e,Bx);let a=Bx.west,c=Bx.north;r.tileXYToRectangle(i,o,e,Bx);let l=Bx.east,f=Bx.south,d=new i$e(e,a,f,l,c);for(let p=0;p<s.length;++p){let g=s[p];rj(g.extent,d)&&o$e(this._maximumLevel,g,d)}};Nb.prototype.computeMaximumLevelAtPosition=function(e){let t;for(let n=0;n<this._rootNodes.length;++n){let i=this._rootNodes[n];if(Lb(i.extent,e)){t=i;break}}return u(t)?$M(void 0,t,e):-1};var $Qe=[],e$e=[],t$e=new ce,n$e=new ce;Nb.prototype.computeBestAvailableLevelOverRectangle=function(e){let t=$Qe;t.length=0,e.east<e.west?(t.push(ce.fromRadians(-Math.PI,e.south,e.east,e.north,t$e)),t.push(ce.fromRadians(e.west,e.south,Math.PI,e.north,n$e))):t.push(e);let n=e$e;n.length=0;let i;for(i=0;i<this._rootNodes.length;++i)eL(n,this._rootNodes[i],t);for(i=n.length-1;i>=0;--i)if(u(n[i])&&n[i].length===0)return i;return 0};var Pme=new he;Nb.prototype.isTileAvailable=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(t,n,e,Bx);return ce.center(i,Pme),this.computeMaximumLevelAtPosition(Pme)>=e};Nb.prototype.computeChildMaskForTile=function(e,t,n){let i=e+1;if(i>=this._maximumLevel)return 0;let o=0;return o|=this.isTileAvailable(i,2*t,2*n+1)?1:0,o|=this.isTileAvailable(i,2*t+1,2*n+1)?2:0,o|=this.isTileAvailable(i,2*t,2*n)?4:0,o|=this.isTileAvailable(i,2*t+1,2*n)?8:0,o};function Mb(e,t,n,i,o){this.tilingScheme=e,this.parent=t,this.level=n,this.x=i,this.y=o,this.extent=e.tileXYToRectangle(i,o,n),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties(Mb.prototype,{nw:{get:function(){return this._nw||(this._nw=new Mb(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new Mb(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new Mb(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new Mb(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function i$e(e,t,n,i,o){this.level=e,this.west=t,this.south=n,this.east=i,this.north=o}function rj(e,t){let n=Math.max(e.west,t.west),i=Math.max(e.south,t.south),o=Math.min(e.east,t.east),r=Math.min(e.north,t.north);return i<r&&n<o}function o$e(e,t,n){for(;t.level<e;)if(Ez(t.nw.extent,n))t=t.nw;else if(Ez(t.ne.extent,n))t=t.ne;else if(Ez(t.sw.extent,n))t=t.sw;else if(Ez(t.se.extent,n))t=t.se;else break;if(t.rectangles.length===0||t.rectangles[t.rectangles.length-1].level<=n.level)t.rectangles.push(n);else{let i=wo(t.rectangles,n.level,r$e);i<0&&(i=~i),t.rectangles.splice(i,0,n)}}function r$e(e,t){return e.level-t}function Ez(e,t){return t.west>=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function Lb(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function $M(e,t,n){let i=0,o=!1;for(;!o;){let r=t._nw&&Lb(t._nw.extent,n),s=t._ne&&Lb(t._ne.extent,n),a=t._sw&&Lb(t._sw.extent,n),c=t._se&&Lb(t._se.extent,n);if(r+s+a+c>1){r&&(i=Math.max(i,$M(t,t._nw,n))),s&&(i=Math.max(i,$M(t,t._ne,n))),a&&(i=Math.max(i,$M(t,t._sw,n))),c&&(i=Math.max(i,$M(t,t._se,n)));break}else r?t=t._nw:s?t=t._ne:a?t=t._sw:c?t=t._se:o=!0}for(;t!==e;){let r=t.rectangles;for(let s=r.length-1;s>=0&&r[s].level>i;--s){let a=r[s];Lb(a,n)&&(i=a.level)}t=t.parent}return i}function eL(e,t,n){if(!t)return;let i,o=!1;for(i=0;i<n.length;++i)o=o||rj(t.extent,n[i]);if(!o)return;let r=t.rectangles;for(i=0;i<r.length;++i){let s=r[i];e[s.level]||(e[s.level]=n),e[s.level]=s$e(e[s.level],s)}eL(e,t._nw,n),eL(e,t._ne,n),eL(e,t._sw,n),eL(e,t._se,n)}function s$e(e,t){let n=[];for(let i=0;i<e.length;++i){let o=e[i];rj(o,t)?(o.west<t.west&&n.push(new ce(o.west,o.south,t.west,o.north)),o.east>t.east&&n.push(new ce(t.east,o.south,o.east,o.north)),o.south<t.south&&n.push(new ce(Math.max(t.west,o.west),o.south,Math.min(t.east,o.east),t.south)),o.north>t.north&&n.push(new ce(Math.max(t.west,o.west),t.north,Math.min(t.east,o.east),o.north))):n.push(o)}return n}var qd=Nb;function a$e(e){let t,n=e.name,i=e.message;u(n)&&u(i)?t=`${n}: ${i}`:t=e.toString();let o=e.stack;return u(o)&&(t+=` +${o}`),t}var cm=a$e;function bz(e,t,n,i,o,r,s){this.provider=e,this.message=t,this.x=n,this.y=i,this.level=o,this.timesRetried=y(r,0),this.retry=!1,this.error=s}bz.reportError=function(e,t,n,i,o,r,s,a){let c=e;return u(e)?(c.provider=t,c.message=i,c.x=o,c.y=r,c.level=s,c.retry=!1,c.error=a,++c.timesRetried):c=new bz(t,i,o,r,s,0,a),n.numberOfListeners>0?n.raiseEvent(c):console.log(`An error occurred in "${t.constructor.name}": ${cm(i)}`),c};bz.reportSuccess=function(e){u(e)&&(e.timesRetried=-1)};var Xn=bz;function Iy(e){if(e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ie.WGS84),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1),this._projection=new Si(this._ellipsoid),u(e.rectangleSouthwestInMeters)&&u(e.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters;else{let i=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new H(-i,-i),this._rectangleNortheastInMeters=new H(i,i)}let t=this._projection.unproject(this._rectangleSouthwestInMeters),n=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new ce(t.longitude,t.latitude,n.longitude,n.latitude)}Object.defineProperties(Iy.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});Iy.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};Iy.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};Iy.prototype.rectangleToNativeRectangle=function(e,t){let n=this._projection,i=n.project(ce.southwest(e)),o=n.project(ce.northeast(e));return u(t)?(t.west=i.x,t.south=i.y,t.east=o.x,t.north=o.y,t):new ce(i.x,i.y,o.x,o.y)};Iy.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.getNumberOfXTilesAtLevel(n),r=this.getNumberOfYTilesAtLevel(n),s=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,a=this._rectangleSouthwestInMeters.x+e*s,c=this._rectangleSouthwestInMeters.x+(e+1)*s,l=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,f=this._rectangleNortheastInMeters.y-t*l,d=this._rectangleNortheastInMeters.y-(t+1)*l;return u(i)?(i.west=a,i.south=d,i.east=c,i.north=f,i):new ce(a,d,c,f)};Iy.prototype.tileXYToRectangle=function(e,t,n,i){let o=this.tileXYToNativeRectangle(e,t,n,i),r=this._projection,s=r.unproject(new H(o.west,o.south)),a=r.unproject(new H(o.east,o.north));return o.west=s.longitude,o.south=s.latitude,o.east=a.longitude,o.north=a.latitude,o};Iy.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!ce.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),a=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,l=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,d=this._projection.project(e),p=d.x-this._rectangleSouthwestInMeters.x,g=this._rectangleNortheastInMeters.y-d.y,m=p/a|0;m>=o&&(m=o-1);let A=g/l|0;return A>=r&&(A=r-1),u(n)?(n.x=m,n.y=A,n):new H(m,A)};var Gr=Iy;var c$e=15;function Fb(e){this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._ready=!1,this._width=void 0,this._height=void 0,this._encoding=void 0;let t=e.token;this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailablityLoaded=void 0,this._availableCache={};let n=this,i=y(e.ellipsoid,ie.WGS84);this._readyPromise=Promise.resolve(e.url).then(function(o){let r=Oe.createIfNeeded(o);return r.appendForwardSlash(),u(t)&&(r=r.getDerivedResource({queryParameters:{token:t}})),n._resource=r,r.getDerivedResource({queryParameters:{f:"pjson"}}).fetchJson()}).then(function(o){let r=o.copyrightText;u(r)&&(n._credit=new Zt(r));let s=o.spatialReference,a=y(s.latestWkid,s.wkid),c=o.extent,l={ellipsoid:i};if(a===4326)l.rectangle=ce.fromDegrees(c.xmin,c.ymin,c.xmax,c.ymax),n._tilingScheme=new ji(l);else if(a===3857){let p=Math.PI*i.maximumRadius;o.extent.xmax>p&&(o.extent.xmax=p),o.extent.ymax>p&&(o.extent.ymax=p),o.extent.xmin<-p&&(o.extent.xmin=-p),o.extent.ymin<-p&&(o.extent.ymin=-p),l.rectangleSouthwestInMeters=new H(c.xmin,c.ymin),l.rectangleNortheastInMeters=new H(c.xmax,c.ymax),n._tilingScheme=new Gr(l)}else return Promise.reject(new ue("Invalid spatial reference"));let f=o.tileInfo;return u(f)?(n._width=f.rows+1,n._height=f.cols+1,n._encoding=f.format==="LERC"?bf.LERC:bf.NONE,n._lodCount=f.lods.length-1,(n._hasAvailability=o.capabilities.indexOf("Tilemap")!==-1)&&(n._tilesAvailable=new qd(n._tilingScheme,n._lodCount),n._tilesAvailable.addAvailableTileRange(0,0,0,n._tilingScheme.getNumberOfXTilesAtLevel(0),n._tilingScheme.getNumberOfYTilesAtLevel(0)),n._tilesAvailablityLoaded=new qd(n._tilingScheme,n._lodCount)),n._levelZeroMaximumGeometricError=Hr.getEstimatedLevelZeroGeometricErrorForAHeightmap(n._tilingScheme.ellipsoid,n._width,n._tilingScheme.getNumberOfXTilesAtLevel(0)),o.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),u(o.minValues)&&u(o.maxValues)?n._terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:o.minValues[0],highestEncodedHeight:o.maxValues[0]}:n._terrainDataStructure={elementMultiplier:1},n._ready=!0,!0):Promise.reject(new ue("tileInfo is required"))}).catch(function(o){let r=`An error occurred while accessing ${n._resource.url}.`;return Xn.reportError(void 0,n,n._errorEvent,r),Promise.reject(o)}),this._errorEvent=new Ae}Object.defineProperties(Fb.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});Fb.prototype.requestTileGeometry=function(e,t,n,i){let o=this._resource.getDerivedResource({url:`tile/${n}/${t}/${e}`,request:i}),r=this._hasAvailability,s=Promise.resolve(!0),a;if(r&&!u(sj(this,n+1,e*2,t*2))){let d=Ome(this,n+1,e*2,t*2);s=d.promise,a=d.request}let c=o.fetchArrayBuffer();if(!u(c)||!u(s))return;let l=this,f=this._tilesAvailable;return Promise.all([c,s]).then(function(d){return new ga({buffer:d[0],width:l._width,height:l._height,childTileMask:r?f.computeChildMaskForTile(n,e,t):c$e,structure:l._terrainDataStructure,encoding:l._encoding})}).catch(function(d){return u(a)&&a.state===hi.CANCELLED?(i.cancel(),i.deferred.promise.finally(function(){return i.state=hi.CANCELLED,Promise.reject(d)})):Promise.reject(d)})};function sj(e,t,n,i){if(!e._hasAvailability)return;let o=e._tilesAvailablityLoaded,r=e._tilesAvailable;if(t>e._lodCount)return!1;if(r.isTileAvailable(t,n,i))return!0;if(o.isTileAvailable(t,n,i))return!1}Fb.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Fb.prototype.getTileDataAvailable=function(e,t,n){if(!this._hasAvailability)return;let i=sj(this,n,e,t);if(u(i))return i;Ome(this,n,e,t)};Fb.prototype.loadTileDataAvailability=function(e,t,n){};function l$e(e,t,n,i){let o=t-1,r=n-1,s=i[e.y*t+e.x],a=[],c={startX:e.x,startY:e.y,endX:0,endY:0},l=new H(e.x+1,e.y+1),f=!1,d=!1;for(;!(f&&d);){let p=l.x,g=d?l.y+1:l.y;if(!f){for(let m=e.y;m<g;++m)if(i[m*t+l.x]!==s){f=!0;break}f?(a.push(new H(l.x,e.y)),--l.x,--p,c.endX=l.x):l.x===o?(c.endX=l.x,f=!0):++l.x}if(!d){let m=l.y*t;for(let A=e.x;A<=p;++A)if(i[m+A]!==s){d=!0;break}d?(a.push(new H(e.x,l.y)),--l.y,c.endY=l.y):l.y===r?(c.endY=l.y,d=!0):++l.y}}return{endingIndices:a,range:c,value:s}}function u$e(e,t,n,i,o){let r=[];if(o.every(function(c){return c===o[0]}))return o[0]===1&&r.push({startX:e,startY:t,endX:e+n-1,endY:t+i-1}),r;let a=[new H(0,0)];for(;a.length>0;){let c=a.pop(),l=l$e(c,n,i,o);if(l.value===1){let d=l.range;d.startX+=e,d.endX+=e,d.startY+=t,d.endY+=t,r.push(d)}let f=l.endingIndices;f.length>0&&(a=a.concat(f))}return r}function Ome(e,t,n,i){if(!e._hasAvailability)return{};let o=Math.floor(n/128)*128,r=Math.floor(i/128)*128,s=Math.min(1<<t,128),a=`tilemap/${t}/${r}/${o}/${s}/${s}`,c=e._availableCache;if(u(c[a]))return c[a];let l=new zo({throttle:!1,throttleByServer:!0,type:Qr.TERRAIN}),d=e._resource.getDerivedResource({url:a,request:l}).fetchJson();return u(d)?(d=d.then(function(p){let g=u$e(o,r,s,s,p.data);e._tilesAvailablityLoaded.addAvailableTileRange(t,o,r,o+s,r+s);let m=e._tilesAvailable;for(let A=0;A<g.length;++A){let x=g[A];m.addAvailableTileRange(t,x.startX,x.startY,x.endX,x.endY)}return sj(e,t,n,i)}),c[a]={promise:d,request:l},d=d.finally(function(p){return delete c[a],p}),{promise:d,request:l}):{}}var aj=Fb;var Rme="https://dev.virtualearth.net/REST/v1/Locations";function cj(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._key=t;let n={key:t};u(e.culture)&&(n.culture=e.culture),this._resource=new Oe({url:Rme,queryParameters:n})}Object.defineProperties(cj.prototype,{url:{get:function(){return Rme}},key:{get:function(){return this._key}}});cj.prototype.geocode=function(e){return this._resource.getDerivedResource({queryParameters:{query:e}}).fetchJsonp("jsonp").then(function(n){return n.resourceSets.length===0?[]:n.resourceSets[0].resources.map(function(o){let r=o.bbox,s=r[0],a=r[1],c=r[2],l=r[3];return{displayName:o.name,destination:ce.fromDegrees(a,s,l,c)}})})};var lj=cj;function Bme(){}Bme.prototype.geocode=function(e){let t=e.match(/[^\s,\n]+/g);if(t.length===2||t.length===3){let n=+t[0],i=+t[1],o=t.length===3?+t[2]:300;if(isNaN(n)&&isNaN(i)){let r=/^(\d+.?\d*)([nsew])/i;for(let s=0;s<t.length;++s){let a=t[s].match(r);r.test(t[s])&&a.length===3&&(/^[ns]/i.test(a[2])?i=/^[n]/i.test(a[2])?+a[1]:-a[1]:/^[ew]/i.test(a[2])&&(n=/^[e]/i.test(a[2])?+a[1]:-a[1]))}}if(!isNaN(n)&&!isNaN(i)&&!isNaN(o)){let r={displayName:e,destination:h.fromDegrees(n,i,o)};return Promise.resolve([r])}}return Promise.resolve([])};var tL=Bme;var f$e=new oe,Mme=new h,Vb=new h;function d$e(e){let t=e.points,n=e.times;if(t.length<3){let i=n[0],o=1/(n[1]-i),r=t[0],s=t[1];return function(a,c){u(c)||(c=new h);let l=(a-i)*o;return h.lerp(r,s,l,c)}}return function(i,o){u(o)||(o=new h);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=f$e;a.z=s,a.y=s*s,a.x=a.y*s,a.w=1;let c,l,f,d,p;return r===0?(c=t[0],l=t[1],f=e.firstTangent,d=h.subtract(t[2],c,Mme),h.multiplyByScalar(d,.5,d),p=M.multiplyByVector(Ig.hermiteCoefficientMatrix,a,a)):r===t.length-2?(c=t[r],l=t[r+1],d=e.lastTangent,f=h.subtract(l,t[r-1],Mme),h.multiplyByScalar(f,.5,f),p=M.multiplyByVector(Ig.hermiteCoefficientMatrix,a,a)):(c=t[r-1],l=t[r],f=t[r+1],d=t[r+2],p=M.multiplyByVector(Py.catmullRomCoefficientMatrix,a,a)),o=h.multiplyByScalar(c,p.x,o),h.multiplyByScalar(l,p.y,Vb),h.add(o,Vb,o),h.multiplyByScalar(f,p.z,Vb),h.add(o,Vb,o),h.multiplyByScalar(d,p.w,Vb),h.add(o,Vb,o)}}var h$e=new h,m$e=new h;function Py(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.firstTangent,o=e.lastTangent;if(t.length>2&&(u(i)||(i=h$e,h.multiplyByScalar(t[1],2,i),h.subtract(i,t[2],i),h.subtract(i,t[0],i),h.multiplyByScalar(i,.5,i)),!u(o))){let r=t.length-1;o=m$e,h.multiplyByScalar(t[r-1],2,o),h.subtract(t[r],o,o),h.add(o,t[r-2],o),h.multiplyByScalar(o,.5,o)}this._times=n,this._points=t,this._firstTangent=h.clone(i),this._lastTangent=h.clone(o),this._evaluateFunction=d$e(this),this._lastTimeIndex=0}Object.defineProperties(Py.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});Py.catmullRomCoefficientMatrix=new M(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);Py.prototype.findTimeInterval=io.prototype.findTimeInterval;Py.prototype.wrapTime=io.prototype.wrapTime;Py.prototype.clampTime=io.prototype.clampTime;Py.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var uj=Py;var Sz={};Sz.clipTriangleAtAxisAlignedThreshold=function(e,t,n,i,o,r){u(r)?r.length=0:r=[];let s,a,c;t?(s=n<e,a=i<e,c=o<e):(s=n>e,a=i>e,c=o>e);let l=s+a+c,f,d,p,g,m,A;return l===1?s?(f=(e-n)/(i-n),d=(e-n)/(o-n),r.push(1),r.push(2),d!==1&&(r.push(-1),r.push(0),r.push(2),r.push(d)),f!==1&&(r.push(-1),r.push(0),r.push(1),r.push(f))):a?(p=(e-i)/(o-i),g=(e-i)/(n-i),r.push(2),r.push(0),g!==1&&(r.push(-1),r.push(1),r.push(0),r.push(g)),p!==1&&(r.push(-1),r.push(1),r.push(2),r.push(p))):c&&(m=(e-o)/(n-o),A=(e-o)/(i-o),r.push(0),r.push(1),A!==1&&(r.push(-1),r.push(2),r.push(1),r.push(A)),m!==1&&(r.push(-1),r.push(2),r.push(0),r.push(m))):l===2?!s&&n!==e?(g=(e-i)/(n-i),m=(e-o)/(n-o),r.push(0),r.push(-1),r.push(1),r.push(0),r.push(g),r.push(-1),r.push(2),r.push(0),r.push(m)):!a&&i!==e?(A=(e-o)/(i-o),f=(e-n)/(i-n),r.push(1),r.push(-1),r.push(2),r.push(1),r.push(A),r.push(-1),r.push(0),r.push(1),r.push(f)):!c&&o!==e&&(d=(e-n)/(o-n),p=(e-i)/(o-i),r.push(2),r.push(-1),r.push(0),r.push(2),r.push(d),r.push(-1),r.push(1),r.push(2),r.push(p)):l!==3&&(r.push(0),r.push(1),r.push(2)),r};Sz.computeBarycentricCoordinates=function(e,t,n,i,o,r,s,a,c){let l=n-s,f=s-o,d=r-a,p=i-a,g=1/(d*l+f*p),m=t-a,A=e-s,x=(d*A+f*m)*g,C=(-p*A+l*m)*g,T=1-x-C;return u(c)?(c.x=x,c.y=C,c.z=T,c):new h(x,C,T)};Sz.computeLineSegmentLineSegmentIntersection=function(e,t,n,i,o,r,s,a,c){let l=(s-o)*(t-r)-(a-r)*(e-o),f=(n-e)*(t-r)-(i-t)*(e-o),d=(a-r)*(n-e)-(s-o)*(i-t);if(d===0)return;let p=l/d,g=f/d;if(p>=0&&p<=1&&g>=0&&g<=1)return u(c)||(c=new H),c.x=e+p*(n-e),c.y=t+p*(i-t),c};var g_=Sz;function Oy(e){this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;let t=this._quantizedVertices.length/3,n=this._uValues=this._quantizedVertices.subarray(0,t),i=this._vValues=this._quantizedVertices.subarray(t,2*t);this._heightValues=this._quantizedVertices.subarray(2*t,3*t);function o(s,a){return i[s]-i[a]}function r(s,a){return n[s]-n[a]}this._westIndices=vz(e.westIndices,o,t),this._southIndices=vz(e.southIndices,r,t),this._eastIndices=vz(e.eastIndices,o,t),this._northIndices=vz(e.northIndices,r,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=y(e.childTileMask,15),this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Object.defineProperties(Oy.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return u(this._mesh)}}});var Dz=[];function vz(e,t,n){Dz.length=e.length;let i=!1;for(let o=0,r=e.length;o<r;++o)Dz[o]=e[o],i=i||o>0&&t(e[o-1],e[o])>0;return i?(Dz.sort(t),Fe.createTypedArray(n,Dz)):e}var Lme="createVerticesFromQuantizedTerrainMesh",p$e=new pi(Lme),_$e=new pi(Lme,Yd.maximumAsynchronousTasks);Oy.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,l=t.tileXYToRectangle(n,i,o),d=(a?_$e:p$e).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:l,relativeToCenter:this._boundingSphere.center,ellipsoid:c,exaggeration:r,exaggerationRelativeHeight:s});if(!u(d))return;let p=this;return Promise.resolve(d).then(function(g){let m=p._quantizedVertices.length/3,A=m+p._westIndices.length+p._southIndices.length+p._eastIndices.length+p._northIndices.length,x=Fe.createTypedArray(A,g.indices),C=new Float32Array(g.vertices),T=g.center,E=g.minimumHeight,S=g.maximumHeight,D=p._boundingSphere,w=p._orientedBoundingBox,R=y(h.clone(g.occludeePointInScaledSpace),p._horizonOcclusionPoint),O=g.vertexStride,L=oc.clone(g.encoding);return p._mesh=new Df(T,C,x,g.indexCountWithoutSkirts,m,E,S,D,R,O,w,L,g.westIndicesSouthToNorth,g.southIndicesEastToWest,g.eastIndicesNorthToSouth,g.northIndicesWestToEast),p._quantizedVertices=void 0,p._encodedNormals=void 0,p._indices=void 0,p._uValues=void 0,p._vValues=void 0,p._heightValues=void 0,p._westIndices=void 0,p._southIndices=void 0,p._eastIndices=void 0,p._northIndices=void 0,p._mesh})};var g$e=new pi("upsampleQuantizedTerrainMesh",Yd.maximumAsynchronousTasks);Oy.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!u(this._mesh))return;let c=t*2!==o,l=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=g$e.scheduleTask({vertices:a.vertices,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:l,childRectangle:d,ellipsoid:f});if(!u(p))return;let g=Math.min(this._westSkirtHeight,this._eastSkirtHeight);g=Math.min(g,this._southSkirtHeight),g=Math.min(g,this._northSkirtHeight);let m=c?g*.5:this._westSkirtHeight,A=l?g*.5:this._southSkirtHeight,x=c?this._eastSkirtHeight:g*.5,C=l?this._northSkirtHeight:g*.5,T=this._credits;return Promise.resolve(p).then(function(E){let S=new Uint16Array(E.vertices),D=Fe.createTypedArray(S.length/3,E.indices),w;return u(E.encodedNormals)&&(w=new Uint8Array(E.encodedNormals)),new Oy({quantizedVertices:S,indices:D,encodedNormals:w,minimumHeight:E.minimumHeight,maximumHeight:E.maximumHeight,boundingSphere:se.clone(E.boundingSphere),orientedBoundingBox:Rn.clone(E.orientedBoundingBox),horizonOcclusionPoint:h.clone(E.horizonOcclusionPoint),westIndices:E.westIndices,southIndices:E.southIndices,eastIndices:E.eastIndices,northIndices:E.northIndices,westSkirtHeight:m,southSkirtHeight:A,eastSkirtHeight:x,northSkirtHeight:C,childTileMask:0,credits:T,createdByUpsampling:!0})})};var fj=32767,Nme=new h;Oy.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1);i*=fj;let o=P.clamp((n-e.south)/e.height,0,1);return o*=fj,u(this._mesh)?C$e(this,i,o):T$e(this,i,o)};function Fme(e,t,n,i,o,r,s,a){let c=Math.min(n,o,s),l=Math.max(n,o,s),f=Math.min(i,r,a),d=Math.max(i,r,a);return e>=c&&e<=l&&t>=f&&t<=d}var y$e=new H,A$e=new H,x$e=new H;function C$e(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let l=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,l,y$e),g=r.decodeTextureCoordinates(o,f,A$e),m=r.decodeTextureCoordinates(o,d,x$e);if(Fme(t,n,p.x,p.y,g.x,g.y,m.x,m.y)){let A=g_.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,Nme);if(A.x>=-1e-15&&A.y>=-1e-15&&A.z>=-1e-15){let x=r.decodeHeight(o,l),C=r.decodeHeight(o,f),T=r.decodeHeight(o,d);return A.x*x+A.y*C+A.z*T}}}}function T$e(e,t,n){let i=e._uValues,o=e._vValues,r=e._heightValues,s=e._indices;for(let a=0,c=s.length;a<c;a+=3){let l=s[a],f=s[a+1],d=s[a+2],p=i[l],g=i[f],m=i[d],A=o[l],x=o[f],C=o[d];if(Fme(t,n,p,A,g,x,m,C)){let T=g_.computeBarycentricCoordinates(t,n,p,A,g,x,m,C,Nme);if(T.x>=-1e-15&&T.y>=-1e-15&&T.z>=-1e-15){let E=T.x*r[l]+T.y*r[f]+T.z*r[d];return P.lerp(e._minimumHeight,e._maximumHeight,E/fj)}}}}Oy.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};Oy.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var Mx=Oy;function E$e(e){this.resource=e.resource,this.version=e.version,this.isHeightmap=e.isHeightmap,this.tileUrlTemplates=e.tileUrlTemplates,this.availability=e.availability,this.hasVertexNormals=e.hasVertexNormals,this.hasWaterMask=e.hasWaterMask,this.hasMetadata=e.hasMetadata,this.availabilityLevels=e.availabilityLevels,this.availabilityTilesLoaded=e.availabilityTilesLoaded,this.littleEndianExtensionSize=e.littleEndianExtensionSize,this.availabilityPromiseCache={}}function Lx(e){this._heightmapWidth=65,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=y(e.requestVertexNormals,!1),this._requestWaterMask=y(e.requestWaterMask,!1),this._requestMetadata=y(e.requestMetadata,!0),this._errorEvent=new Ae;let t=e.credit;typeof t=="string"&&(t=new Zt(t)),this._credit=t,this._availability=void 0,this._ready=!1,this._tileCredits=void 0;let n=this,i,o,r,s=this._layers=[],a="",c=[],l=0;this._readyPromise=Promise.resolve(e.url).then(function(A){let x=Oe.createIfNeeded(A);return x.appendForwardSlash(),i=x,o=i.getDerivedResource({url:"layer.json"}),n._tileCredits=x.credits,m()});function f(A){let x;if(!A.format)return x="The tile format is not specified in the layer.json file.",r=Xn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new ue(x));if(!A.tiles||A.tiles.length===0)return x="The layer.json file does not specify any tile URL templates.",r=Xn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new ue(x));let C=!1,T=!1,E=!1,S=!0,D=!1;if(A.format==="heightmap-1.0")D=!0,u(n._heightmapStructure)||(n._heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),T=!0,n._requestWaterMask=!0;else if(A.format.indexOf("quantized-mesh-1.")!==0)return x=`The tile format "${A.format}" is invalid or not supported.`,r=Xn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new ue(x));let w=A.tiles,R=A.maxzoom;if(l=Math.max(l,R),!A.projection||A.projection==="EPSG:4326")n._tilingScheme=new ji({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:n._ellipsoid});else if(A.projection==="EPSG:3857")n._tilingScheme=new Gr({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:n._ellipsoid});else return x=`The projection "${A.projection}" is invalid or not supported.`,r=Xn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new ue(x));if(n._levelZeroMaximumGeometricError=Hr.getEstimatedLevelZeroGeometricErrorForAHeightmap(n._tilingScheme.ellipsoid,n._heightmapWidth,n._tilingScheme.getNumberOfXTilesAtLevel(0)),!A.scheme||A.scheme==="tms"||A.scheme==="slippyMap")n._scheme=A.scheme;else return x=`The scheme "${A.scheme}" is invalid or not supported.`,r=Xn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new ue(x));let O;u(A.extensions)&&A.extensions.indexOf("octvertexnormals")!==-1?C=!0:u(A.extensions)&&A.extensions.indexOf("vertexnormals")!==-1&&(C=!0,S=!1),u(A.extensions)&&A.extensions.indexOf("watermask")!==-1&&(T=!0),u(A.extensions)&&A.extensions.indexOf("metadata")!==-1&&(E=!0);let L=A.metadataAvailability,N=A.available,_;if(u(N)&&!u(L)){_=new qd(n._tilingScheme,N.length);for(let v=0;v<N.length;++v){let I=N[v],B=n._tilingScheme.getNumberOfYTilesAtLevel(v);u(c[v])||(c[v]=[]);for(let F=0;F<I.length;++F){let k=I[F],U=B-k.endY-1,G=B-k.startY-1;c[v].push([k.startX,U,k.endX,G]),_.addAvailableTileRange(v,k.startX,U,k.endX,G)}}}else u(L)&&(O=new qd(n._tilingScheme,R),_=new qd(n._tilingScheme,R),c[0]=[[0,0,1,0]],_.addAvailableTileRange(0,0,0,1,0));n._hasWaterMask=n._hasWaterMask||T,n._hasVertexNormals=n._hasVertexNormals||C,n._hasMetadata=n._hasMetadata||E,u(A.attribution)&&(a.length>0&&(a+=" "),a+=A.attribution),s.push(new E$e({resource:i,version:A.version,isHeightmap:D,tileUrlTemplates:w,availability:_,hasVertexNormals:C,hasWaterMask:T,hasMetadata:E,availabilityLevels:L,availabilityTilesLoaded:O,littleEndianExtensionSize:S}));let b=A.parentUrl;if(u(b)){if(!u(_))return console.log("A layer.json can't have a parentUrl if it does't have an available array."),Promise.resolve(!0);i=i.getDerivedResource({url:b}),i.appendForwardSlash(),o=i.getDerivedResource({url:"layer.json"});let v=o.fetchJson();return Promise.resolve(v).then(f).catch(d)}return Promise.resolve(!0)}function d(A){let x=`An error occurred while accessing ${o.url}.`;return r=Xn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new ue(x))}function p(A){return f(A).then(function(){if(u(r))return;let x=c.length;if(x>0){let C=n._availability=new qd(n._tilingScheme,l);for(let T=0;T<x;++T){let E=c[T];for(let S=0;S<E.length;++S){let D=E[S];C.addAvailableTileRange(T,D[0],D[1],D[2],D[3])}}}if(a.length>0){let C=new Zt(a);u(n._tileCredits)?n._tileCredits.push(C):n._tileCredits=[C]}return n._ready=!0,Promise.resolve(!0)})}function g(A){return u(A)&&A.statusCode===404?p({tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]}):d(A)}function m(){return Promise.resolve(o.fetchJson()).then(p).catch(g)}}var dj={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function Vme(e){return!u(e)||e.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${e.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function b$e(e,t,n,i,o){let r=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new ga({buffer:r,childTileMask:new Uint8Array(t,r.byteLength,1)[0],waterMask:new Uint8Array(t,r.byteLength+1,t.byteLength-r.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function S$e(e,t,n,i,o,r){let s=r.littleEndianExtensionSize,a=0,c=3,l=c+1,f=Float64Array.BYTES_PER_ELEMENT*c,d=Float64Array.BYTES_PER_ELEMENT*l,p=3,g=Uint16Array.BYTES_PER_ELEMENT*p,m=3,A=Uint16Array.BYTES_PER_ELEMENT,x=A*m,C=new DataView(t),T=new h(C.getFloat64(a,!0),C.getFloat64(a+8,!0),C.getFloat64(a+16,!0));a+=f;let E=C.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let S=C.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let D=new se(new h(C.getFloat64(a,!0),C.getFloat64(a+8,!0),C.getFloat64(a+16,!0)),C.getFloat64(a+f,!0));a+=d;let w=new h(C.getFloat64(a,!0),C.getFloat64(a+8,!0),C.getFloat64(a+16,!0));a+=f;let R=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let O=new Uint16Array(t,a,R*3);a+=R*g,R>64*1024&&(A=Uint32Array.BYTES_PER_ELEMENT,x=A*m);let L=O.subarray(0,R),N=O.subarray(R,2*R),_=O.subarray(R*2,3*R);Gn.zigZagDeltaDecode(L,N,_),a%A!==0&&(a+=A-a%A);let b=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let v=Fe.createTypedArrayFromArrayBuffer(R,t,a,b*m);a+=b*x;let I=0,B=v.length;for(let re=0;re<B;++re){let ye=v[re];v[re]=I-ye,ye===0&&++I}let F=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let k=Fe.createTypedArrayFromArrayBuffer(R,t,a,F);a+=F*A;let U=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let G=Fe.createTypedArrayFromArrayBuffer(R,t,a,U);a+=U*A;let V=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let X=Fe.createTypedArrayFromArrayBuffer(R,t,a,V);a+=V*A;let j=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let Q=Fe.createTypedArrayFromArrayBuffer(R,t,a,j);a+=j*A;let W,K;for(;a<C.byteLength;){let re=C.getUint8(a,!0);a+=Uint8Array.BYTES_PER_ELEMENT;let ye=C.getUint32(a,s);if(a+=Uint32Array.BYTES_PER_ELEMENT,re===dj.OCT_VERTEX_NORMALS&&e._requestVertexNormals)W=new Uint8Array(t,a,R*2);else if(re===dj.WATER_MASK&&e._requestWaterMask)K=new Uint8Array(t,a,ye);else if(re===dj.METADATA&&e._requestMetadata){let fe=C.getUint32(a,!0);if(fe>0){let we=Oo(new Uint8Array(t),a+Uint32Array.BYTES_PER_ELEMENT,fe).available;if(u(we))for(let Ve=0;Ve<we.length;++Ve){let qe=n+Ve+1,mt=we[Ve],Ht=e._tilingScheme.getNumberOfYTilesAtLevel(qe);for(let fn=0;fn<mt.length;++fn){let dt=mt[fn],Tn=Ht-dt.endY-1,Jn=Ht-dt.startY-1;e.availability.addAvailableTileRange(qe,dt.startX,Tn,dt.endX,Jn),r.availability.addAvailableTileRange(qe,dt.startX,Tn,dt.endX,Jn)}}}r.availabilityTilesLoaded.addAvailableTileRange(n,i,o,i,o)}a+=ye}let J=e.getLevelMaximumGeometricError(n)*5,_e=e._tilingScheme.tileXYToRectangle(i,o,n),xe=Rn.fromRectangle(_e,E,S,e._tilingScheme.ellipsoid);return new Mx({center:T,minimumHeight:E,maximumHeight:S,boundingSphere:D,orientedBoundingBox:xe,horizonOcclusionPoint:w,quantizedVertices:O,encodedNormals:W,indices:v,westIndices:k,southIndices:G,eastIndices:X,northIndices:Q,westSkirtHeight:J,southSkirtHeight:J,eastSkirtHeight:J,northSkirtHeight:J,childTileMask:e.availability.computeChildMaskForTile(n,i,o),waterMask:K,credits:e._tileCredits})}Lx.prototype.requestTileGeometry=function(e,t,n,i){let o=this._layers,r,s=o.length;if(s===1)r=o[0];else for(let a=0;a<s;++a){let c=o[a];if(!u(c.availability)||c.availability.isTileAvailable(n,e,t)){r=c;break}}return Ume(this,e,t,n,r,i)};function Ume(e,t,n,i,o,r){if(!u(o))return Promise.reject(new ue("Terrain tile doesn't exist"));let s=o.tileUrlTemplates;if(s.length===0)return;let a;!e._scheme||e._scheme==="tms"?a=e._tilingScheme.getNumberOfYTilesAtLevel(i)-n-1:a=n;let c=[];e._requestVertexNormals&&o.hasVertexNormals&&c.push(o.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),e._requestWaterMask&&o.hasWaterMask&&c.push("watermask"),e._requestMetadata&&o.hasMetadata&&c.push("metadata");let l,f,d=s[(t+a+i)%s.length],p=o.resource;u(p._ionEndpoint)&&!u(p._ionEndpoint.externalType)?(c.length!==0&&(f={extensions:c.join("-")}),l=Vme(void 0)):l=Vme(c);let g=p.getDerivedResource({url:d,templateValues:{version:o.version,z:i,x:t,y:a},queryParameters:f,headers:l,request:r}).fetchArrayBuffer();if(u(g))return g.then(function(m){return u(m)?u(e._heightmapStructure)?b$e(e,m,i,t,n):S$e(e,m,i,t,n,o):Promise.reject(new ue("Mesh buffer doesn't exist."))})}Object.defineProperties(Lx.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});Lx.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Lx.prototype.getTileDataAvailable=function(e,t,n){if(!u(this._availability))return;if(n>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(n,e,t))return!0;if(!this._hasMetadata)return!1;let i=this._layers,o=i.length;for(let r=0;r<o;++r)if(kme(this,e,t,n,i[r],r===0).result)return;return!1};Lx.prototype.loadTileDataAvailability=function(e,t,n){if(!u(this._availability)||n>this._availability._maximumLevel||this._availability.isTileAvailable(n,e,t)||!this._hasMetadata)return;let i=this._layers,o=i.length;for(let r=0;r<o;++r){let s=kme(this,e,t,n,i[r],r===0);if(u(s.promise))return s.promise}};function hj(e,t,n,i){if(i===0)return;let o=e.availabilityLevels,r=i%o===0?i-o:(i/o|0)*o,s=1<<i-r,a=t/s|0,c=n/s|0;return{level:r,x:a,y:c}}function kme(e,t,n,i,o,r){if(!u(o.availabilityLevels))return{result:!1};let s,a=function(){delete o.availabilityPromiseCache[s]},c=o.availabilityTilesLoaded,l=o.availability,f=hj(o,t,n,i);for(;u(f);){if(l.isTileAvailable(f.level,f.x,f.y)&&!c.isTileAvailable(f.level,f.x,f.y)){let d;if(!r&&(s=`${f.level}-${f.x}-${f.y}`,d=o.availabilityPromiseCache[s],!u(d))){let p=new zo({throttle:!1,throttleByServer:!0,type:Qr.TERRAIN});d=Ume(e,f.x,f.y,f.level,o,p),u(d)&&(o.availabilityPromiseCache[s]=d,d.then(a))}return{result:!0,promise:d}}f=hj(o,f.x,f.y,f.level)}return{result:!1}}Lx._getAvailabilityTile=hj;var nL=Lx;function y_(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new Fc(n),this._workerName="createCircleGeometry"}y_.packedLength=Fc.packedLength;y_.pack=function(e,t,n){return Fc.pack(e._ellipseGeometry,t,n)};var D$e=new Fc({center:new h,semiMajorAxis:1,semiMinorAxis:1}),rc={center:new h,radius:void 0,ellipsoid:ie.clone(ie.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new Ie,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};y_.unpack=function(e,t,n){let i=Fc.unpack(e,t,D$e);return rc.center=h.clone(i._center,rc.center),rc.ellipsoid=ie.clone(i._ellipsoid,rc.ellipsoid),rc.height=i._height,rc.extrudedHeight=i._extrudedHeight,rc.granularity=i._granularity,rc.vertexFormat=Ie.clone(i._vertexFormat,rc.vertexFormat),rc.stRotation=i._stRotation,rc.shadowVolume=i._shadowVolume,u(n)?(rc.semiMajorAxis=i._semiMajorAxis,rc.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new Fc(rc),n):(rc.radius=i._semiMajorAxis,new y_(rc))};y_.createGeometry=function(e){return Fc.createGeometry(e._ellipseGeometry)};y_.createShadowVolume=function(e,t,n){let i=e._ellipseGeometry._granularity,o=e._ellipseGeometry._ellipsoid,r=t(i,o),s=n(i,o);return new y_({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:o,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(y_.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var mj=y_;function Ub(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new au(n),this._workerName="createCircleOutlineGeometry"}Ub.packedLength=au.packedLength;Ub.pack=function(e,t,n){return au.pack(e._ellipseGeometry,t,n)};var v$e=new au({center:new h,semiMajorAxis:1,semiMinorAxis:1}),xu={center:new h,radius:void 0,ellipsoid:ie.clone(ie.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};Ub.unpack=function(e,t,n){let i=au.unpack(e,t,v$e);return xu.center=h.clone(i._center,xu.center),xu.ellipsoid=ie.clone(i._ellipsoid,xu.ellipsoid),xu.height=i._height,xu.extrudedHeight=i._extrudedHeight,xu.granularity=i._granularity,xu.numberOfVerticalLines=i._numberOfVerticalLines,u(n)?(xu.semiMajorAxis=i._semiMajorAxis,xu.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new au(xu),n):(xu.radius=i._semiMajorAxis,new Ub(xu))};Ub.createGeometry=function(e){return au.createGeometry(e._ellipseGeometry)};var pj=Ub;function kb(e){e=y(e,y.EMPTY_OBJECT),this._callback=e.callback,this._tilingScheme=e.tilingScheme,u(this._tilingScheme)||(this._tilingScheme=new ji({ellipsoid:y(e.ellipsoid,ie.WGS84)})),this._width=e.width,this._height=e.height;let t=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=Hr.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,t,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new Ae;let n=e.credit;typeof n=="string"&&(n=new Zt(n)),this._credit=n,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(kb.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});kb.prototype.requestTileGeometry=function(e,t,n,i){let o=this._callback(e,t,n);if(!u(o))return;let r=this._width,s=this._height;return Promise.resolve(o).then(function(a){let c=a;return Array.isArray(c)&&(c=new Float64Array(c)),new ga({buffer:c,width:r,height:s})})};kb.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};kb.prototype.getTileDataAvailable=function(e,t,n){};kb.prototype.loadTileDataAvailability=function(e,t,n){};var _j=kb;function zme(e){this.proxy=e}zme.prototype.getURL=function(e){let t=this.proxy.indexOf("?")===-1?"?":"";return this.proxy+t+encodeURIComponent(e)};var gj=zme;function Xd(e){this._comparator=e.comparator,this._maximumLength=e.maximumLength,this._array=u(e.maximumLength)?new Array(e.maximumLength):[],this._length=0}Object.defineProperties(Xd.prototype,{length:{get:function(){return this._length}},maximumLength:{get:function(){return this._maximumLength},set:function(e){if(u(e)){for(;this._length>e;)this.removeMinimum();this._array.length=e}this._maximumLength=e}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});Xd.prototype.clone=function(){let e=this._maximumLength,t=this._comparator,n=this._array,i=this._length,o=new Xd({comparator:t,maximumLength:e});o._length=i;for(let r=0;r<i;r++)o._array[r]=n[r];return o};Xd.prototype.reset=function(){this._length=0;let e=this._maximumLength;if(u(e))for(let t=0;t<e;t++)this._array[t]=void 0;else this._array.length=0};Xd.prototype.resort=function(){let e=this._length;for(let t=0;t<e;t++)Hme(this,t)};Xd.prototype.insert=function(e){let t,n=this._maximumLength;if(u(n)){if(n===0)return;if(this._length===n){let o=this._array[0];if(this._comparator(e,o)<=0)return e;t=this.removeMinimum()}}let i=this._length;return this._array[i]=e,this._length++,Hme(this,i),t};Xd.prototype.removeMinimum=function(){let e=this._length;if(e===0)return;this._length--;let t=this._array[0];return e>=2&&(this._array[0]=this._array[e-1],Gme(this,0)),this._array[e-1]=void 0,t};Xd.prototype.removeMaximum=function(){let e=this._length;if(e===0)return;this._length--;let t;if(e<=2)t=this._array[e-1];else{let n=yj(this,1,2)?1:2;t=this._array[n],this._array[n]=this._array[e-1],e>=4&&Gme(this,n)}return this._array[e-1]=void 0,t};Xd.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};Xd.prototype.getMaximum=function(){let e=this._length;if(e!==0)return e<=2?this._array[e-1]:this._array[yj(this,1,2)?1:2]};function wz(e,t,n){let i=e._array,o=i[t];i[t]=i[n],i[n]=o}function iL(e,t,n){return e._comparator(e._array[t],e._array[n])<0}function yj(e,t,n){return e._comparator(e._array[t],e._array[n])>0}function Hme(e,t){if(t===0)return;let n=Math.floor(P.log2(t+1))%2===0,i=Math.floor((t-1)/2),o=iL(e,t,i);for(o!==n&&(wz(e,t,i),t=i);t>=3;){let r=Math.floor((t-3)/4);if(iL(e,t,r)!==o)break;wz(e,t,r),t=r}}function Gme(e,t){let n=e._length,i=Math.floor(P.log2(t+1))%2===0,o;for(;(o=2*t+1)<n;){let r=o,s=o+1;if(s<n){iL(e,s,r)===i&&(r=s);let a=2*o+1,c=Math.max(Math.min(n-a,4),0);for(let l=0;l<c;l++){let f=a+l;iL(e,f,r)===i&&(r=f)}}if(iL(e,r,t)===i&&(wz(e,r,t),r!==o&&r!==s)){let a=Math.floor((r-1)/2);yj(e,r,a)===i&&wz(e,r,a)}t=r}}var Nx=Xd;function zb(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=e.tilingScheme,u(this._tilingScheme)||(this._tilingScheme=new ji({ellipsoid:y(e.ellipsoid,ie.WGS84)})),this._levelZeroMaximumGeometricError=Hr.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new Ae,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(zb.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});zb.prototype.requestTileGeometry=function(e,t,n,i){return Promise.resolve(new ga({buffer:new Uint8Array(16*16),width:16,height:16}))};zb.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};zb.prototype.getTileDataAvailable=function(e,t,n){};zb.prototype.loadTileDataAvailability=function(e,t,n){};var A_=zb;function lm(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new $r,this._perspectiveMatrix=new M,this._infinitePerspective=new M}function Aj(e){let t=e.top,n=e.bottom,i=e.right,o=e.left,r=e.near,s=e.far;(t!==e._top||n!==e._bottom||o!==e._left||i!==e._right||r!==e._near||s!==e._far)&&(e._left=o,e._right=i,e._top=t,e._bottom=n,e._near=r,e._far=s,e._perspectiveMatrix=M.computePerspectiveOffCenter(o,i,n,t,r,s,e._perspectiveMatrix),e._infinitePerspective=M.computeInfinitePerspectiveOffCenter(o,i,n,t,r,e._infinitePerspective))}Object.defineProperties(lm.prototype,{projectionMatrix:{get:function(){return Aj(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return Aj(this),this._infinitePerspective}}});var w$e=new h,I$e=new h,P$e=new h,O$e=new h;lm.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,l=this.far,f=h.cross(t,n,w$e),d=I$e;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=P$e;h.multiplyByScalar(t,l,p),h.add(e,p,p);let g=O$e;h.multiplyByScalar(f,a,g),h.add(d,g,g),h.subtract(g,e,g),h.normalize(g,g),h.cross(g,n,g),h.normalize(g,g);let m=i[0];return u(m)||(m=i[0]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(f,s,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(n,g,g),h.normalize(g,g),m=i[1],u(m)||(m=i[1]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,r,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(f,g,g),h.normalize(g,g),m=i[2],u(m)||(m=i[2]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,o,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(g,f,g),h.normalize(g,g),m=i[3],u(m)||(m=i[3]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),m=i[4],u(m)||(m=i[4]=new oe),m.x=t.x,m.y=t.y,m.z=t.z,m.w=-h.dot(t,d),h.negate(t,g),m=i[5],u(m)||(m=i[5]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,p),this._cullingVolume};lm.prototype.getPixelDimensions=function(e,t,n,i,o){Aj(this);let r=1/this.near,s=this.top*r,a=2*i*n*s/t;s=this.right*r;let c=2*i*n*s/e;return o.x=c,o.y=a,o};lm.prototype.clone=function(e){return u(e)||(e=new lm),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};lm.prototype.equals=function(e){return u(e)&&e instanceof lm&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};lm.prototype.equalsEpsilon=function(e,t,n){return e===this||u(e)&&e instanceof lm&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var zc=lm;function vl(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new zc,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this.xOffset=y(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=y(e.yOffset,0),this._yOffset=this.yOffset}vl.packedLength=6;vl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t};vl.unpack=function(e,t,n){return t=y(t,0),u(n)||(n=new vl),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n};function um(e){let t=e._offCenterFrustum;(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset)&&(e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:Math.atan(Math.tan(e.fov*.5)/e.aspectRatio)*2,e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset,t.top=e.near*Math.tan(.5*e._fovy),t.bottom=-t.top,t.right=e.aspectRatio*t.top,t.left=-t.right,t.near=e.near,t.far=e.far,t.right+=e.xOffset,t.left+=e.xOffset,t.top+=e.yOffset,t.bottom+=e.yOffset)}Object.defineProperties(vl.prototype,{projectionMatrix:{get:function(){return um(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return um(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return um(this),this._fovy}},sseDenominator:{get:function(){return um(this),this._sseDenominator}}});vl.prototype.computeCullingVolume=function(e,t,n){return um(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};vl.prototype.getPixelDimensions=function(e,t,n,i,o){return um(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};vl.prototype.clone=function(e){return u(e)||(e=new vl),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};vl.prototype.equals=function(e){return!u(e)||!(e instanceof vl)?!1:(um(this),um(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};vl.prototype.equalsEpsilon=function(e,t,n){return!u(e)||!(e instanceof vl)?!1:(um(this),um(e),P.equalsEpsilon(this.fov,e.fov,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var Ti=vl;var Iz=0,R$e=1;function Fx(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e.vertexFormat,Ie.DEFAULT),r=y(e._drawNearPlane,!0),s,a;t instanceof Ti?(s=Iz,a=Ti.packedLength):t instanceof en&&(s=R$e,a=en.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Le.clone(n),this._drawNearPlane=r,this._vertexFormat=o,this._workerName="createFrustumGeometry",this.packedLength=2+a+h.packedLength+Le.packedLength+Ie.packedLength}Fx.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===Iz?(Ti.pack(o,t,n),n+=Ti.packedLength):(en.pack(o,t,n),n+=en.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Le.pack(e._orientation,t,n),n+=Le.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n]=e._drawNearPlane?1:0,t};var B$e=new Ti,M$e=new en,L$e=new Le,N$e=new h,F$e=new Ie;Fx.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===Iz?(o=Ti.unpack(e,t,B$e),t+=Ti.packedLength):(o=en.unpack(e,t,M$e),t+=en.packedLength);let r=h.unpack(e,t,N$e);t+=h.packedLength;let s=Le.unpack(e,t,L$e);t+=Le.packedLength;let a=Ie.unpack(e,t,F$e);t+=Ie.packedLength;let c=e[t]===1;if(!u(n))return new Fx({frustum:o,origin:r,orientation:s,vertexFormat:a,_drawNearPlane:c});let l=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(l),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Le.clone(s,n._orientation),n._vertexFormat=Ie.clone(a,n._vertexFormat),n._drawNearPlane=c,n};function Hb(e,t,n,i,o,r,s,a){let c=e/3*2;for(let l=0;l<4;++l)u(t)&&(t[e]=r.x,t[e+1]=r.y,t[e+2]=r.z),u(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),u(i)&&(i[e]=a.x,i[e+1]=a.y,i[e+2]=a.z),e+=3;o[c]=0,o[c+1]=0,o[c+2]=1,o[c+3]=0,o[c+4]=1,o[c+5]=1,o[c+6]=0,o[c+7]=1}var V$e=new Z,U$e=new M,xj=new M,Wme=new h,jme=new h,Yme=new h,k$e=new h,z$e=new h,H$e=new h,Ry=new Array(3),oL=new Array(4);oL[0]=new oe(-1,-1,1,1);oL[1]=new oe(1,-1,1,1);oL[2]=new oe(1,1,1,1);oL[3]=new oe(-1,1,1,1);var qme=new Array(4);for(let e=0;e<4;++e)qme[e]=new oe;Fx._computeNearFarPlanes=function(e,t,n,i,o,r,s,a){let c=Z.fromQuaternion(t,V$e),l=y(r,Wme),f=y(s,jme),d=y(a,Yme);l=Z.getColumn(c,0,l),f=Z.getColumn(c,1,f),d=Z.getColumn(c,2,d),h.normalize(l,l),h.normalize(f,f),h.normalize(d,d),h.negate(l,l);let p=M.computeView(e,d,f,l,U$e),g,m;if(n===Iz){let A=i.projectionMatrix,x=M.multiply(A,p,xj);m=M.inverse(x,xj)}else g=M.inverseTransformation(p,xj);u(m)?(Ry[0]=i.near,Ry[1]=i.far):(Ry[0]=0,Ry[1]=i.near,Ry[2]=i.far);for(let A=0;A<2;++A)for(let x=0;x<4;++x){let C=oe.clone(oL[x],qme[x]);if(u(m)){C=M.multiplyByVector(m,C,C);let T=1/C.w;h.multiplyByScalar(C,T,C),h.subtract(C,e,C),h.normalize(C,C);let E=h.dot(d,C);h.multiplyByScalar(C,Ry[A]/E,C),h.add(C,e,C)}else{u(i._offCenterFrustum)&&(i=i._offCenterFrustum);let T=Ry[A],E=Ry[A+1];C.x=(C.x*(i.right-i.left)+i.left+i.right)*.5,C.y=(C.y*(i.top-i.bottom)+i.bottom+i.top)*.5,C.z=(C.z*(T-E)-T-E)*.5,C.w=1,M.multiplyByVector(g,C,C)}o[12*A+x*3]=C.x,o[12*A+x*3+1]=C.y,o[12*A+x*3+2]=C.z}};Fx.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=e._vertexFormat,a=r?6:5,c=new Float64Array(3*4*6);Fx._computeNearFarPlanes(i,o,t,n,c);let l=3*4*2;c[l]=c[3*4],c[l+1]=c[3*4+1],c[l+2]=c[3*4+2],c[l+3]=c[0],c[l+4]=c[1],c[l+5]=c[2],c[l+6]=c[3*3],c[l+7]=c[3*3+1],c[l+8]=c[3*3+2],c[l+9]=c[3*7],c[l+10]=c[3*7+1],c[l+11]=c[3*7+2],l+=3*4,c[l]=c[3*5],c[l+1]=c[3*5+1],c[l+2]=c[3*5+2],c[l+3]=c[3],c[l+4]=c[3+1],c[l+5]=c[3+2],c[l+6]=c[0],c[l+7]=c[1],c[l+8]=c[2],c[l+9]=c[3*4],c[l+10]=c[3*4+1],c[l+11]=c[3*4+2],l+=3*4,c[l]=c[3],c[l+1]=c[3+1],c[l+2]=c[3+2],c[l+3]=c[3*5],c[l+4]=c[3*5+1],c[l+5]=c[3*5+2],c[l+6]=c[3*6],c[l+7]=c[3*6+1],c[l+8]=c[3*6+2],c[l+9]=c[3*2],c[l+10]=c[3*2+1],c[l+11]=c[3*2+2],l+=3*4,c[l]=c[3*2],c[l+1]=c[3*2+1],c[l+2]=c[3*2+2],c[l+3]=c[3*6],c[l+4]=c[3*6+1],c[l+5]=c[3*6+2],c[l+6]=c[3*7],c[l+7]=c[3*7+1],c[l+8]=c[3*7+2],c[l+9]=c[3*3],c[l+10]=c[3*3+1],c[l+11]=c[3*3+2],r||(c=c.subarray(3*4));let f=new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:c})});if(u(s.normal)||u(s.tangent)||u(s.bitangent)||u(s.st)){let p=u(s.normal)?new Float32Array(12*a):void 0,g=u(s.tangent)?new Float32Array(3*4*a):void 0,m=u(s.bitangent)?new Float32Array(3*4*a):void 0,A=u(s.st)?new Float32Array(2*4*a):void 0,x=Wme,C=jme,T=Yme,E=h.negate(x,k$e),S=h.negate(C,z$e),D=h.negate(T,H$e);l=0,r&&(Hb(l,p,g,m,A,D,x,C),l+=3*4),Hb(l,p,g,m,A,T,E,C),l+=3*4,Hb(l,p,g,m,A,E,D,C),l+=3*4,Hb(l,p,g,m,A,S,D,E),l+=3*4,Hb(l,p,g,m,A,x,T,C),l+=3*4,Hb(l,p,g,m,A,C,T,E),u(p)&&(f.normal=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:p})),u(g)&&(f.tangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:g})),u(m)&&(f.bitangent=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:m})),u(A)&&(f.st=new ve({componentDatatype:q.FLOAT,componentsPerAttribute:2,values:A}))}let d=new Uint16Array(6*a);for(let p=0;p<a;++p){let g=p*6,m=p*4;d[g]=m,d[g+1]=m+1,d[g+2]=m+2,d[g+3]=m,d[g+4]=m+2,d[g+5]=m+3}return new ct({attributes:f,indices:d,primitiveType:Me.TRIANGLES,boundingSphere:se.fromVertices(c)})};var Vx=Fx;var Cj=0,G$e=1;function rL(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e._drawNearPlane,!0),r,s;t instanceof Ti?(r=Cj,s=Ti.packedLength):t instanceof en&&(r=G$e,s=en.packedLength),this._frustumType=r,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Le.clone(n),this._drawNearPlane=o,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+s+h.packedLength+Le.packedLength}rL.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===Cj?(Ti.pack(o,t,n),n+=Ti.packedLength):(en.pack(o,t,n),n+=en.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Le.pack(e._orientation,t,n),n+=Le.packedLength,t[n]=e._drawNearPlane?1:0,t};var W$e=new Ti,j$e=new en,Y$e=new Le,q$e=new h;rL.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===Cj?(o=Ti.unpack(e,t,W$e),t+=Ti.packedLength):(o=en.unpack(e,t,j$e),t+=en.packedLength);let r=h.unpack(e,t,q$e);t+=h.packedLength;let s=Le.unpack(e,t,Y$e);t+=Le.packedLength;let a=e[t]===1;if(!u(n))return new rL({frustum:o,origin:r,orientation:s,_drawNearPlane:a});let c=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(c),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Le.clone(s,n._orientation),n._drawNearPlane=a,n};rL.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=new Float64Array(3*4*2);Vx._computeNearFarPlanes(i,o,t,n,s);let a=new dn({position:new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:s})}),c,l,f=r?2:1,d=new Uint16Array(8*(f+1)),p=r?0:1;for(;p<2;++p)c=r?p*8:0,l=p*4,d[c]=l,d[c+1]=l+1,d[c+2]=l+1,d[c+3]=l+2,d[c+4]=l+2,d[c+5]=l+3,d[c+6]=l+3,d[c+7]=l;for(p=0;p<2;++p)c=(f+p)*8,l=p*4,d[c]=l,d[c+1]=l+4,d[c+2]=l+1,d[c+3]=l+5,d[c+4]=l+2,d[c+5]=l+6,d[c+6]=l+3,d[c+7]=l+7;return new ct({attributes:a,indices:d,primitiveType:Me.LINES,boundingSphere:se.fromVertices(s)})};var sL=rL;var X$e={SEARCH:0,AUTOCOMPLETE:1},By=Object.freeze(X$e);function Xme(){}Xme.prototype.geocode=de.throwInstantiationError;var Tj=Xme;function Kme(){de.throwInstantiationError()}Kme.createGeometry=function(e){de.throwInstantiationError()};var Ej=Kme;var eet=vo(bj(),1);function K$e(e,t){return(e&t)!==0}var sc=K$e;var Z$e=[1,2,4,8],Zme=15,J$e=16,Q$e=64,$$e=128;function fm(e,t,n,i,o,r){this._bits=e,this.cnodeVersion=t,this.imageryVersion=n,this.terrainVersion=i,this.imageryProvider=o,this.terrainProvider=r,this.ancestorHasTerrain=!1,this.terrainState=void 0}fm.clone=function(e,t){return u(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new fm(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t};fm.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()};fm.prototype.hasSubtree=function(){return sc(this._bits,J$e)};fm.prototype.hasImagery=function(){return sc(this._bits,Q$e)};fm.prototype.hasTerrain=function(){return sc(this._bits,$$e)};fm.prototype.hasChildren=function(){return sc(this._bits,Zme)};fm.prototype.hasChild=function(e){return sc(this._bits,Z$e[e])};fm.prototype.getChildBitmask=function(){return this._bits&Zme};var aL=fm;function tet(e){let t=e.length,n=new ArrayBuffer(t),i=new Uint8Array(n);for(let o=0;o<t;++o)i[o]=e.charCodeAt(o);return n}var net=tet(`E\xF4\xBD\vy\xE2jE"\x92,\xCDq\xF8IFgQ\0B%\xC6\xE8a,f)\b\xC64\xDCjb%y +wmi\xD6\xF0\x9Ck\x93\xA1\xBDNu\xE0A[\xDF@V\f\xD9\xBBr\x9B\x81|3S\xEEOl\xD4q\xB0{\xC0\x7FEVZ\xADwUe\v3\x92*\xACl5\xC50s\xF83>mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0<VqH\x82'UfYNe\x98u\xA3aF}a?A\0\x9F\xD7\xB44M\xCE\x87F\xB0\xD5\xB8\x8A'{\x8B\xDC+\xBBMg0\xC8\xD1\xF6\\\x8FP\xFA[/F\x9Bn5/'C.\xEB +\f^\xA5s\x1Be4\xE5l.jC'c#U\xA9?q{gC}:\xAF\xCD\xE2TU\x9C\xFDK\xC6\xE2\x9F/(\xED\xCB\\\xC6-f\x07\x88\xA7;/*"N\xB0k.\xDD\r\x95}}G\xBAC\xB2\xB2+>M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2 +\xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1 +ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS +>\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88 +\x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function Kd(e){let t=e;typeof t!="string"&&!(t instanceof Oe)&&(t=e.url);let n=Oe.createIfNeeded(t);n.appendForwardSlash(),this._resource=n,this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=P.EPSILON12,this.providers={},this.key=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={};let i=this;this._readyPromise=iet(this).then(function(){return i.getQuadTreePacket("",i._quadPacketVersion)}).then(function(){return!0}).catch(function(o){let r=`An error occurred while accessing ${Qme(i,"",1).url}.`;return Promise.reject(new ue(r))})}Object.defineProperties(Kd.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}},readyPromise:{get:function(){return this._readyPromise}}});Kd.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;sc(t,r)?sc(e,r)&&(s|=1):(s|=2,sc(e,r)||(s|=1)),i+=s}return i};Kd.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];sc(s,2)?sc(s,1)||(t|=r):(n|=r,sc(s,1)&&(t|=r))}return{x:t,y:n,level:i}};Kd.prototype.isValid=function(e){let t=this.getTileInformationFromQuadKey(e);if(u(t))return t!==null;let n=!0,i=e,o;for(;i.length>1;)if(o=i.substring(i.length-1),i=i.substring(0,i.length-1),t=this.getTileInformationFromQuadKey(i),u(t)){!t.hasSubtree()&&!t.hasChild(parseInt(o))&&(n=!1);break}else if(t===null){n=!1;break}return n};var Jme=new pi("decodeGoogleEarthEnterprisePacket");Kd.prototype.getQuadTreePacket=function(e,t,n){t=y(t,1),e=y(e,"");let o=Qme(this,e,t,n).fetchArrayBuffer();if(!u(o))return;let r=this._tileInfo,s=this.key;return o.then(function(a){return Jme.scheduleTask({buffer:a,quadKey:e,type:"Metadata",key:s},[a]).then(function(l){let f,d=-1;if(e!==""){d=e.length+1;let m=l[e];f=r[e],f._bits|=m._bits,delete l[e]}let p=Object.keys(l);p.sort(function(m,A){return m.length-A.length});let g=p.length;for(let m=0;m<g;++m){let A=p[m];if(l[A]!==null){let C=aL.clone(l[A]),T=A.length;if(T===d)C.setParent(f);else if(T>1){let E=r[A.substring(0,A.length-1)];C.setParent(E)}r[A]=C}else r[A]=null}})})};Kd.prototype.populateSubtree=function(e,t,n,i){let o=Kd.tileXYToQuadKey(e,t,n);return vj(this,o,i)};function vj(e,t,n){let i=e._tileInfo,o=t,r=i[o];if(u(r)&&(!r.hasSubtree()||r.hasChildren()))return r;for(;r===void 0&&o.length>1;)o=o.substring(0,o.length-1),r=i[o];let s,a=e._subtreePromises,c=a[o];if(u(c))return c.then(function(){return s=new zo({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),vj(e,t,s)});if(!u(r)||!r.hasSubtree())return Promise.reject(new ue(`Couldn't load metadata for tile ${t}`));if(c=e.getQuadTreePacket(o,r.cnodeVersion,n),!!u(c))return a[o]=c,c.then(function(){return s=new zo({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),vj(e,t,s)}).finally(function(){delete a[o]})}Kd.prototype.getTileInformation=function(e,t,n){let i=Kd.tileXYToQuadKey(e,t,n);return this._tileInfo[i]};Kd.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]};function Qme(e,t,n,i){return e._resource.getDerivedResource({url:`flatfile?q2-0${t}-q.${n.toString()}`,request:i})}var Sj,Dj;function iet(e){let t=e._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!u(Dj)){let n=$t("ThirdParty/google-earth-dbroot-parser.js"),i=window.cesiumGoogleEarthDbRootParser;Dj=m0(n).then(function(){Sj=window.cesiumGoogleEarthDbRootParser(eet),u(i)?window.cesiumGoogleEarthDbRootParser=i:delete window.cesiumGoogleEarthDbRootParser})}return Dj.then(function(){return t.fetchArrayBuffer()}).then(function(n){let i=Sj.EncryptedDbRootProto.decode(new Uint8Array(n)),o=i.encryptionData,r=o.byteOffset,s=r+o.byteLength,a=e.key=o.buffer.slice(r,s);o=i.dbrootData,r=o.byteOffset,s=r+o.byteLength;let c=o.buffer.slice(r,s);return Jme.scheduleTask({buffer:c,type:"DbRoot",key:a},[c])}).then(function(n){let i=Sj.DbRootProto.decode(new Uint8Array(n.buffer));if(e.imageryPresent=y(i.imageryPresent,e.imageryPresent),e.protoImagery=i.protoImagery,e.terrainPresent=y(i.terrainPresent,e.terrainPresent),u(i.endSnippet)&&u(i.endSnippet.model)){let a=i.endSnippet.model;e.negativeAltitudeExponentBias=y(a.negativeAltitudeExponentBias,e.negativeAltitudeExponentBias),e.negativeAltitudeThreshold=y(a.compressedNegativeAltitudeThreshold,e.negativeAltitudeThreshold)}u(i.databaseVersion)&&(e._quadPacketVersion=y(i.databaseVersion.quadtreeVersion,e._quadPacketVersion));let o=e.providers,r=y(i.providerInfo,[]),s=r.length;for(let a=0;a<s;++a){let c=r[a],l=c.copyrightString;u(l)&&(o[c.providerId]=new Zt(l.value))}}).catch(function(){console.log(`Failed to retrieve ${t.url}. Using defaults.`),e.key=net})}var Zd=Kd;function Ux(e){e=y(e,y.EMPTY_OBJECT),this._buffer=e.buffer,this._credits=e.credits,this._negativeAltitudeExponentBias=e.negativeAltitudeExponentBias,this._negativeElevationThreshold=e.negativeElevationThreshold;let t=y(e.childTileMask,15),n=t&3;n|=t&4?8:0,n|=t&8?4:0,this._childTileMask=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(Ux.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var tpe="createVerticesFromGoogleEarthEnterpriseBuffer",oet=new pi(tpe),ret=new pi(tpe,Yd.maximumAsynchronousTasks),$me=new ce,wj=new ce;Ux.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid;t.tileXYToNativeRectangle(n,i,o,$me),t.tileXYToRectangle(n,i,o,wj);let l=c.cartographicToCartesian(ce.center(wj)),d=40075.16/(1<<o);this._skirtHeight=Math.min(d*8,1e3);let g=(a?ret:oet).scheduleTask({buffer:this._buffer,nativeRectangle:$me,rectangle:wj,relativeToCenter:l,ellipsoid:c,skirtHeight:this._skirtHeight,exaggeration:r,exaggerationRelativeHeight:s,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!u(g))return;let m=this;return g.then(function(A){return m._mesh=new Df(l,new Float32Array(A.vertices),new Uint16Array(A.indices),A.indexCountWithoutSkirts,A.vertexCountWithoutSkirts,A.minimumHeight,A.maximumHeight,se.clone(A.boundingSphere3D),h.clone(A.occludeePointInScaledSpace),A.numberOfAttributes,Rn.clone(A.orientedBoundingBox),oc.clone(A.encoding),A.westIndicesSouthToNorth,A.southIndicesEastToWest,A.eastIndicesNorthToSouth,A.northIndicesWestToEast),m._minimumHeight=A.minimumHeight,m._maximumHeight=A.maximumHeight,m._buffer=void 0,m._mesh})};Ux.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1),o=P.clamp((n-e.south)/e.height,0,1);return u(this._mesh)?fet(this,i,o):met(this,i,o,e)};var set=new pi("upsampleQuantizedTerrainMesh",Yd.maximumAsynchronousTasks);Ux.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!u(this._mesh))return;let c=t*2!==o,l=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=set.scheduleTask({vertices:a.vertices,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:l,childRectangle:d,ellipsoid:f});if(!u(p))return;let g=this;return p.then(function(m){let A=new Uint16Array(m.vertices),x=Fe.createTypedArray(A.length/3,m.indices),C=g._skirtHeight;return new Mx({quantizedVertices:A,indices:x,minimumHeight:m.minimumHeight,maximumHeight:m.maximumHeight,boundingSphere:se.clone(m.boundingSphere),orientedBoundingBox:Rn.clone(m.orientedBoundingBox),horizonOcclusionPoint:h.clone(m.horizonOcclusionPoint),westIndices:m.westIndices,southIndices:m.southIndices,eastIndices:m.eastIndices,northIndices:m.northIndices,westSkirtHeight:C,southSkirtHeight:C,eastSkirtHeight:C,northSkirtHeight:C,childTileMask:0,createdByUpsampling:!0,credits:g._credits})})};Ux.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};Ux.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var aet=new H,cet=new H,uet=new H,npe=new h;function fet(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let l=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,l,aet),g=r.decodeTextureCoordinates(o,f,cet),m=r.decodeTextureCoordinates(o,d,uet),A=g_.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,npe);if(A.x>=-1e-15&&A.y>=-1e-15&&A.z>=-1e-15){let x=r.decodeHeight(o,l),C=r.decodeHeight(o,f),T=r.decodeHeight(o,d);return A.x*x+A.y*C+A.z*T}}}var det=Uint16Array.BYTES_PER_ELEMENT,epe=Uint32Array.BYTES_PER_ELEMENT,Ij=Int32Array.BYTES_PER_ELEMENT,het=Float32Array.BYTES_PER_ELEMENT,Pj=Float64Array.BYTES_PER_ELEMENT;function met(e,t,n,i){let o=e._buffer,r=0,s=0,a=0;n>.5?(t>.5?(r=2,s=.5):r=3,a=.5):t>.5&&(r=1,s=.5);let c=new DataView(o),l=0;for(let D=0;D<r;++D)l+=c.getUint32(l,!0),l+=epe;l+=epe,l+=2*Pj;let f=P.toRadians(c.getFloat64(l,!0)*180);l+=Pj;let d=P.toRadians(c.getFloat64(l,!0)*180);l+=Pj;let p=i.width/f/2,g=i.height/d/2,m=c.getInt32(l,!0);l+=Ij;let A=c.getInt32(l,!0)*3;l+=Ij,l+=Ij;let x=new Array(m),C=new Array(m),T=new Array(m),E;for(E=0;E<m;++E)x[E]=s+c.getUint8(l++)*p,C[E]=a+c.getUint8(l++)*g,T[E]=c.getFloat32(l,!0)*6371010,l+=het;let S=new Array(A);for(E=0;E<A;++E)S[E]=c.getUint16(l,!0),l+=det;for(E=0;E<A;E+=3){let D=S[E],w=S[E+1],R=S[E+2],O=x[D],L=x[w],N=x[R],_=C[D],b=C[w],v=C[R],I=g_.computeBarycentricCoordinates(t,n,O,_,L,b,N,v,npe);if(I.x>=-1e-15&&I.y>=-1e-15&&I.z>=-1e-15)return I.x*T[D]+I.y*T[w]+I.z*T[R]}}var Gb=Ux;var vf={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},Pz=new $;function Oz(){this._terrainCache={},this._lastTidy=$.now()}Oz.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:$.now()}};Oz.prototype.get=function(e){let n=this._terrainCache[e];if(u(n))return delete this._terrainCache[e],n.buffer};Oz.prototype.tidy=function(){if($.now(Pz),$.secondsDifference(Pz,this._lastTidy)>10){let e=this._terrainCache,t=Object.keys(e),n=t.length;for(let i=0;i<n;++i){let o=t[i],r=e[o];$.secondsDifference(Pz,r.timestamp)>10&&delete e[o]}$.clone(Pz,this._lastTidy)}};function Wb(e){e=y(e,y.EMPTY_OBJECT);let t;if(u(e.metadata))t=e.metadata;else{let r=Oe.createIfNeeded(e.url);t=new Zd(r)}this._metadata=t,this._tilingScheme=new ji({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ce(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let n=e.credit;typeof n=="string"&&(n=new Zt(n)),this._credit=n,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new Oz,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new Ae,this._ready=!1;let i=this,o;this._readyPromise=t.readyPromise.then(function(r){if(!t.terrainPresent){let s=new ue(`The server ${t.url} doesn't have terrain`);return o=Xn.reportError(o,i,i._errorEvent,s.message,void 0,void 0,void 0,s),Promise.reject(s)}return Xn.reportSuccess(o),i._ready=r,r}).catch(function(r){return o=Xn.reportError(o,i,i._errorEvent,r.message,void 0,void 0,void 0,r),Promise.reject(r)})}Object.defineProperties(Wb.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});var pet=new pi("decodeGoogleEarthEnterprisePacket");function ipe(e,t,n){let i=t.getChildBitmask();if(t.terrainState===vf.PARENT){i=0;for(let o=0;o<4;++o){let r=n.getTileInformationFromQuadKey(e+o.toString());u(r)&&r.hasTerrain()&&(i|=1<<o)}}return i}Wb.prototype.requestTileGeometry=function(e,t,n,i){let o=Zd.tileXYToQuadKey(e,t,n),r=this._terrainCache,s=this._metadata,a=s.getTileInformationFromQuadKey(o);if(!u(a))return Promise.reject(new ue("Terrain tile doesn't exist"));let c=a.terrainState;u(c)||(c=a.terrainState=vf.UNKNOWN);let l=r.get(o);if(u(l)){let C=s.providers[a.terrainProvider];return Promise.resolve(new Gb({buffer:l,childTileMask:ipe(o,a,s),credits:u(C)?[C]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold}))}if(r.tidy(),a.ancestorHasTerrain){if(c===vf.NONE)return Promise.reject(new ue("Terrain tile doesn't exist"))}else return Promise.resolve(new ga({buffer:new Uint8Array(16*16),width:16,height:16}));let f,d=o,p=-1;switch(c){case vf.SELF:p=a.terrainVersion;break;case vf.PARENT:d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),p=f.terrainVersion;break;case vf.UNKNOWN:a.hasTerrain()?p=a.terrainVersion:(d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),u(f)&&f.hasTerrain()&&(p=f.terrainVersion));break}if(p<0)return Promise.reject(new ue("Terrain tile doesn't exist"));let g=this._terrainPromises,m=this._terrainRequests,A,x;if(u(g[d]))A=g[d],x=m[d];else{x=i;let C=_et(this,d,p,x).fetchArrayBuffer();if(!u(C))return;A=C.then(function(T){return u(T)?pet.scheduleTask({buffer:T,type:"Terrain",key:s.key},[T]).then(function(E){let S=s.getTileInformationFromQuadKey(d);S.terrainState=vf.SELF,r.add(d,E[0]);let D=S.terrainProvider,w=E.length-1;for(let R=0;R<w;++R){let O=d+R.toString(),L=s.getTileInformationFromQuadKey(O);u(L)&&(r.add(O,E[R+1]),L.terrainState=vf.PARENT,L.terrainProvider===0&&(L.terrainProvider=D))}}):Promise.reject(new ue("Failed to load terrain."))}),g[d]=A,m[d]=x,A=A.finally(function(){delete g[d],delete m[d]})}return A.then(function(){let C=r.get(o);if(u(C)){let T=s.providers[a.terrainProvider];return new Gb({buffer:C,childTileMask:ipe(o,a,s),credits:u(T)?[T]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold})}return Promise.reject(new ue("Failed to load terrain."))}).catch(function(C){return x.state===hi.CANCELLED?(i.state=x.state,Promise.reject(C)):(a.terrainState=vf.NONE,Promise.reject(C))})};Wb.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Wb.prototype.getTileDataAvailable=function(e,t,n){let i=this._metadata,o=Zd.tileXYToQuadKey(e,t,n),r=i.getTileInformation(e,t,n);if(r===null)return!1;if(u(r)){if(!r.ancestorHasTerrain)return!0;let s=r.terrainState;if(s===vf.NONE)return!1;if((!u(s)||s===vf.UNKNOWN)&&(r.terrainState=vf.UNKNOWN,!r.hasTerrain())){o=o.substring(0,o.length-1);let a=i.getTileInformationFromQuadKey(o);if(!u(a)||!a.hasTerrain())return!1}return!0}if(i.isValid(o)){let s=new zo({throttle:!1,throttleByServer:!0,type:Qr.TERRAIN});i.populateSubtree(e,t,n,s)}return!1};Wb.prototype.loadTileDataAvailability=function(e,t,n){};function _et(e,t,n,i){return n=u(n)&&n>0?n:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${t}-t.${n.toString()}`,request:i})}var Oj=Wb;function get(e,t,n,i){this.rightAscension=e,this.declination=t,this.rotation=n,this.rotationRate=i}var cL=get;var gpe={},yet=32.184,Aet=2451545,ope=-.0529921,rpe=-.1059842,spe=13.0120009,ape=13.3407154,cpe=.9856003,lpe=26.4057084,upe=13.064993,fpe=.3287146,dpe=1.7484877,hpe=-.1589763,mpe=.0036096,ppe=.1643573,_pe=12.9590088,Rj=new $;gpe.ComputeMoon=function(e,t){u(e)||(e=$.now()),Rj=$.addSeconds(e,yet,Rj);let n=$.totalDays(Rj)-Aet,i=n/Qn.DAYS_PER_JULIAN_CENTURY,o=(125.045+ope*n)*P.RADIANS_PER_DEGREE,r=(250.089+rpe*n)*P.RADIANS_PER_DEGREE,s=(260.008+spe*n)*P.RADIANS_PER_DEGREE,a=(176.625+ape*n)*P.RADIANS_PER_DEGREE,c=(357.529+cpe*n)*P.RADIANS_PER_DEGREE,l=(311.589+lpe*n)*P.RADIANS_PER_DEGREE,f=(134.963+upe*n)*P.RADIANS_PER_DEGREE,d=(276.617+fpe*n)*P.RADIANS_PER_DEGREE,p=(34.226+dpe*n)*P.RADIANS_PER_DEGREE,g=(15.134+hpe*n)*P.RADIANS_PER_DEGREE,m=(119.743+mpe*n)*P.RADIANS_PER_DEGREE,A=(239.961+ppe*n)*P.RADIANS_PER_DEGREE,x=(25.053+_pe*n)*P.RADIANS_PER_DEGREE,C=Math.sin(o),T=Math.sin(r),E=Math.sin(s),S=Math.sin(a),D=Math.sin(c),w=Math.sin(l),R=Math.sin(f),O=Math.sin(d),L=Math.sin(p),N=Math.sin(g),_=Math.sin(m),b=Math.sin(A),v=Math.sin(x),I=Math.cos(o),B=Math.cos(r),F=Math.cos(s),k=Math.cos(a),U=Math.cos(c),G=Math.cos(l),V=Math.cos(f),X=Math.cos(d),j=Math.cos(p),Q=Math.cos(g),W=Math.cos(m),K=Math.cos(A),J=Math.cos(x),_e=(269.9949+.0031*i-3.8787*C-.1204*T+.07*E-.0172*S+.0072*w-.0052*N+.0043*v)*P.RADIANS_PER_DEGREE,xe=(66.5392+.013*i+1.5419*I+.0239*B-.0278*F+.0068*k-.0029*G+9e-4*V+8e-4*Q-9e-4*J)*P.RADIANS_PER_DEGREE,re=(38.3213+13.17635815*n-14e-13*n*n+3.561*C+.1208*T-.0642*E+.0158*S+.0252*D-.0066*w-.0047*R-.0046*O+.0028*L+.0052*N+.004*_+.0019*b-.0044*v)*P.RADIANS_PER_DEGREE,ye=(13.17635815-14e-13*(2*n)+3.561*I*ope+.1208*B*rpe-.0642*F*spe+.0158*k*ape+.0252*U*cpe-.0066*G*lpe-.0047*V*upe-.0046*X*fpe+.0028*j*dpe+.0052*Q*hpe+.004*W*mpe+.0019*K*ppe-.0044*J*_pe)/86400*P.RADIANS_PER_DEGREE;return u(t)||(t=new cL),t.rightAscension=_e,t.declination=xe,t.rotation=re,t.rotationRate=ye,t};var lL=gpe;function ype(e){(!u(e)||typeof e!="function")&&(e=lL.ComputeMoon),this._computeFunction=e}var xet=new h,Cet=new h,Tet=new h;function Eet(e,t,n){let i=xet;i.x=Math.cos(e+P.PI_OVER_TWO),i.y=Math.sin(e+P.PI_OVER_TWO),i.z=0;let o=Math.cos(t),r=Tet;r.x=o*Math.cos(e),r.y=o*Math.sin(e),r.z=Math.sin(t);let s=h.cross(r,i,Cet);return u(n)||(n=new Z),n[0]=i.x,n[1]=s.x,n[2]=r.x,n[3]=i.y,n[4]=s.y,n[5]=r.y,n[6]=i.z,n[7]=s.z,n[8]=r.z,n}var bet=new Z,Det=new Le;ype.prototype.evaluate=function(e,t){u(e)||(e=$.now());let n=this._computeFunction(e),i=Eet(n.rightAscension,n.declination,t),o=P.zeroToTwoPi(n.rotation),r=Le.fromAxisAngle(h.UNIT_Z,o,Det),s=Z.fromQuaternion(Le.conjugate(r,r),bet);return Z.multiply(s,i,i)};var uL=ype;var fL={};fL.type=void 0;fL.getRequiredDataPoints=de.throwInstantiationError;fL.interpolateOrderZero=de.throwInstantiationError;fL.interpolate=de.throwInstantiationError;var Bj=fL;var Mj,Ape="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3NTUwMzYxOS04YmYzLTRkMzAtYjIyMy03ZmY3MjExZWNiNzciLCJpZCI6MjU5LCJpYXQiOjE2NzUyNzM5NjF9.rR_X1Phio3WgkIiwLJfSPMVTJEdSHKzj6GY9oNwttfo",Rz={};Rz.defaultAccessToken=Ape;Rz.defaultServer=new Oe({url:"https://api.cesium.com/"});Rz.getDefaultTokenCredit=function(e){if(e===Ape){if(!u(Mj)){let t=`<b> This application is using Cesium's default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>`;Mj=new Zt(t,!0)}return Mj}};var Jd=Rz;function Lj(e){this._url=Oe.createIfNeeded(e),this._url.appendForwardSlash()}Object.defineProperties(Lj.prototype,{url:{get:function(){return this._url}}});Lj.prototype.geocode=function(e,t){return this._url.getDerivedResource({url:t===By.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}}).fetchJson().then(function(i){return i.features.map(function(o){let r,s=o.bbox;if(u(s))r=ce.fromDegrees(s[0],s[1],s[2],s[3]);else{let a=o.geometry.coordinates[0],c=o.geometry.coordinates[1];r=h.fromDegrees(a,c)}return{displayName:o.properties.label,destination:r}})})};var dL=Lj;function xpe(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.accessToken,Jd.defaultAccessToken),n=Oe.createIfNeeded(y(e.server,Jd.defaultServer));n.appendForwardSlash();let i=Jd.getDefaultTokenCredit(t);u(i)&&e.scene.frameState.creditDisplay.addDefaultCredit(Zt.clone(i));let o=n.getDerivedResource({url:"v1/geocode"});u(t)&&o.appendQueryParameters({access_token:t}),this._accessToken=t,this._server=n,this._pelias=new dL(o)}xpe.prototype.geocode=function(e,t){return this._pelias.geocode(e,t)};var hL=xpe;var Nj=vo(Ll(),1);function Hc(e,t){let n,i=e.externalType,o=u(i);if(!o)n={url:e.url,retryAttempts:1,retryCallback:vet};else if(i==="3DTILES"||i==="STK_TERRAIN_SERVER")n={url:e.options.url};else throw new ue("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");Oe.call(this,n),this._ionEndpoint=e,this._ionEndpointDomain=o?void 0:new Nj.default(e.url).authority(),this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=o}u(Object.create)&&(Hc.prototype=Object.create(Oe.prototype),Hc.prototype.constructor=Hc);Hc.fromAssetId=function(e,t){let n=Hc._createEndpointResource(e,t);return n.fetchJson().then(function(i){return new Hc(i,n)})};Object.defineProperties(Hc.prototype,{credits:{get:function(){return u(this._ionRoot)?this._ionRoot.credits:u(this._credits)?this._credits:(this._credits=Hc.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});Hc.getCreditsFromEndpoint=function(e,t){let n=e.attributions.map(Zt.getIonCredit),i=Jd.getDefaultTokenCredit(t.queryParameters.access_token);return u(i)&&n.push(Zt.clone(i)),n};Hc.prototype.clone=function(e){let t=y(this._ionRoot,this);return u(e)||(e=new Hc(t._ionEndpoint,t._ionEndpointResource)),e=Oe.prototype.clone.call(this,e),e._ionRoot=t,e._isExternal=this._isExternal,e};Hc.prototype.fetchImage=function(e){if(!this._isExternal){let t=e;e={preferBlob:!0},u(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)}return Oe.prototype.fetchImage.call(this,e)};Hc.prototype._makeRequest=function(e){return this._isExternal||new Nj.default(this.url).authority()!==this._ionEndpointDomain?Oe.prototype._makeRequest.call(this,e):(u(e.headers)||(e.headers={}),e.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,Oe.prototype._makeRequest.call(this,e))};Hc._createEndpointResource=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.server,Jd.defaultServer),i=y(t.accessToken,Jd.defaultAccessToken);n=Oe.createIfNeeded(n);let o={url:`v1/assets/${e}/endpoint`};return u(i)&&(o.queryParameters={access_token:i}),n.getDerivedResource(o)};function vet(e,t){let n=y(e._ionRoot,e),i=n._ionEndpointResource,o=typeof Image<"u";return!u(t)||t.statusCode!==401&&!(o&&t.target instanceof Image)?Promise.resolve(!1):(u(n._pendingPromise)||(n._pendingPromise=i.fetchJson().then(function(r){return n._ionEndpoint=r,r}).finally(function(r){return n._pendingPromise=void 0,r})),n._pendingPromise.then(function(r){return e._ionEndpoint=r,!0}))}var Qd=Hc;var wet={SHIFT:0,CTRL:1,ALT:2},Js=Object.freeze(wet);function Bz(){de.throwInstantiationError()}Object.defineProperties(Bz.prototype,{ellipsoid:{get:de.throwInstantiationError}});Bz.prototype.project=de.throwInstantiationError;Bz.prototype.unproject=de.throwInstantiationError;var Fj=Bz;function jb(e){e=y(e,y.EMPTY_OBJECT);let t=e.weights,n=e.times;this._times=n,this._weights=t,this._count=t.length/n.length,this._lastTimeIndex=0}Object.defineProperties(jb.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});jb.prototype.findTimeInterval=io.prototype.findTimeInterval;jb.prototype.wrapTime=io.prototype.wrapTime;jb.prototype.clampTime=io.prototype.clampTime;jb.prototype.evaluate=function(e,t){let n=this.weights,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);u(t)||(t=new Array(this._count));for(let s=0;s<this._count;s++){let a=o*this._count+s;t[s]=n[a]*(1-r)+n[a+this._count]*r}return t};var Vj=jb;var Iet={NONE:-1,PARTIAL:0,FULL:1},ur=Object.freeze(Iet);function ac(e,t){this._occluderPosition=h.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=t}var Mz=new h;Object.defineProperties(ac.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(e){e=h.clone(e,this._cameraPosition);let t=h.subtract(this._occluderPosition,e,Mz),n=h.magnitudeSquared(t),i=this._occluderRadius*this._occluderRadius,o,r,s;if(n>i){o=Math.sqrt(n-i),n=1/Math.sqrt(n),r=h.multiplyByScalar(t,n,Mz);let a=o*o*n;s=h.add(e,h.multiplyByScalar(r,a,Mz),Mz)}else o=Number.MAX_VALUE;this._horizonDistance=o,this._horizonPlaneNormal=r,this._horizonPlanePosition=s,this._cameraPosition=e}}});ac.fromBoundingSphere=function(e,t,n){return u(n)?(h.clone(e.center,n._occluderPosition),n._occluderRadius=e.radius,n.cameraPosition=t,n):new ac(e,t)};var Tpe=new h;ac.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){let t=h.subtract(e,this._occluderPosition,Tpe),n=this._occluderRadius;if(n=h.magnitudeSquared(t)-n*n,n>0)return n=Math.sqrt(n)+this._horizonDistance,t=h.subtract(e,this._cameraPosition,t),n*n>h.magnitudeSquared(t)}return!1};var Pet=new h;ac.prototype.isBoundingSphereVisible=function(e){let t=h.clone(e.center,Pet),n=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,Tpe),o=this._occluderRadius-n;if(o=h.magnitudeSquared(i)-o*o,n<this._occluderRadius)return o>0?(o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i),o*o+n*n>h.magnitudeSquared(i)):!1;if(o>0){i=h.subtract(t,this._cameraPosition,i);let r=h.magnitudeSquared(i),s=this._occluderRadius*this._occluderRadius,a=n*n;return(this._horizonDistance*this._horizonDistance+s)*a>r*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+a>r)}return!0}return!1};var Oet=new h;ac.prototype.computeVisibility=function(e){let t=h.clone(e.center),n=e.radius;if(n>this._occluderRadius)return ur.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,Oet),o=this._occluderRadius-n,r=h.magnitudeSquared(i);if(o=r-o*o,o>0){o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i);let s=h.magnitudeSquared(i);return o*o+n*n<s?ur.NONE:(o=this._occluderRadius+n,o=r-o*o,o>0?(o=Math.sqrt(o)+this._horizonDistance,s<o*o+n*n?ur.FULL:ur.PARTIAL):(i=h.subtract(t,this._horizonPlanePosition,i),h.dot(i,this._horizonPlaneNormal)>-n?ur.PARTIAL:ur.FULL))}}return ur.NONE};var Lz=new h;ac.computeOccludeePoint=function(e,t,n){let i=h.clone(t),o=h.clone(e.center),r=e.radius,s=n.length,a=h.normalize(h.subtract(i,o,Lz),Lz),c=-h.dot(a,o),l=ac._anyRotationVector(o,a,c),f=ac._horizonToPlaneNormalDotProduct(e,a,c,l,n[0]);if(!f)return;let d;for(let g=1;g<s;++g){if(d=ac._horizonToPlaneNormalDotProduct(e,a,c,l,n[g]),!d)return;d<f&&(f=d)}if(f<.0017453283658983088)return;let p=r/f;return h.add(o,h.multiplyByScalar(a,p,Lz),Lz)};var Ret=[];ac.computeOccludeePointFromRectangle=function(e,t){t=y(t,ie.WGS84);let n=ce.subsample(e,t,0,Ret),i=se.fromPoints(n),o=h.ZERO;if(!h.equals(o,i.center))return ac.computeOccludeePoint(new se(o,t.minimumRadius),i.center,n)};var Bet=new h;ac._anyRotationVector=function(e,t,n){let i=h.abs(t,Bet),o=i.x>i.y?0:1;(o===0&&i.z>i.x||o===1&&i.z>i.y)&&(o=2);let r=new h,s;o===0?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,s=h.UNIT_X):o===1?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,s=h.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,s=h.UNIT_Z);let a=(h.dot(t,i)+n)/-h.dot(t,s);return h.normalize(h.subtract(h.add(i,h.multiplyByScalar(s,a,r),i),e,i),i)};var Met=new h;ac._rotationVector=function(e,t,n,i,o){let r=h.subtract(i,e,Met);if(r=h.normalize(r,r),h.dot(t,r)<.9999999847691291){let s=h.cross(t,r,r);if(h.magnitude(s)>P.EPSILON13)return h.normalize(s,new h)}return o};var Uj=new h,Let=new h,Nz=new h,Cpe=new h;ac._horizonToPlaneNormalDotProduct=function(e,t,n,i,o){let r=h.clone(o,Uj),s=h.clone(e.center,Let),a=e.radius,c=h.subtract(s,r,Nz),l=h.magnitudeSquared(c),f=a*a;if(l<f)return!1;let d=l-f,p=Math.sqrt(d),m=1/Math.sqrt(l),x=p*m*p;c=h.normalize(c,c);let C=h.add(r,h.multiplyByScalar(c,x,Cpe),Cpe),T=Math.sqrt(d-x*x),E=this._rotationVector(s,t,n,r,i),S=h.fromElements(E.x*E.x*c.x+(E.x*E.y-E.z)*c.y+(E.x*E.z+E.y)*c.z,(E.x*E.y+E.z)*c.x+E.y*E.y*c.y+(E.y*E.z-E.x)*c.z,(E.x*E.z-E.y)*c.x+(E.y*E.z+E.x)*c.y+E.z*E.z*c.z,Uj);S=h.normalize(S,S);let D=h.multiplyByScalar(S,T,Uj);E=h.normalize(h.subtract(h.add(C,D,Nz),s,Nz),Nz);let w=h.dot(t,E);E=h.normalize(h.subtract(h.subtract(C,D,E),s,E),E);let R=h.dot(t,E);return w<R?w:R};var mL=ac;function kj(e,t,n){e=Oe.createIfNeeded(e),e.appendForwardSlash(),e.setQueryParameters({key:t}),this._url=e,this._params=y(n,{})}Object.defineProperties(kj.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}}});kj.prototype.geocode=function(e){return this._url.getDerivedResource({url:"json",queryParameters:_t(this._params,{q:e})}).fetchJson().then(function(n){return n.results.map(function(i){let o,r=i.bounds;if(u(r))o=ce.fromDegrees(r.southwest.lng,r.southwest.lat,r.northeast.lng,r.northeast.lat);else{let s=i.geometry.lat,a=i.geometry.lng;o=h.fromDegrees(s,a)}return{displayName:i.formatted,destination:o}})})};var zj=kj;var Net={packedLength:void 0,pack:de.throwInstantiationError,unpack:de.throwInstantiationError},Hj=Net;var Fet={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:de.throwInstantiationError,unpackInterpolationResult:de.throwInstantiationError},Gj=Fet;function Epe(){de.throwInstantiationError()}Epe.prototype.getURL=de.throwInstantiationError;var Wj=Epe;var Vet={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},yn=Object.freeze(Vet);function My(e,t,n){let i=e._element;if(i===document)return n.x=t.clientX,n.y=t.clientY,n;let o=i.getBoundingClientRect();return n.x=t.clientX-o.left,n.y=t.clientY-o.top,n}function Zj(e,t){let n=e;return u(t)&&(n+=`+${t}`),n}function kx(e){if(e.shiftKey)return Js.SHIFT;if(e.ctrlKey)return Js.CTRL;if(e.altKey)return Js.ALT}var ds={LEFT:0,MIDDLE:1,RIGHT:2};function Cu(e,t,n,i){function o(r){i(e,r)}Vt.isInternetExplorer()?n.addEventListener(t,o,!1):n.addEventListener(t,o,{capture:!1,passive:!1}),e._removalFunctions.push(function(){n.removeEventListener(t,o,!1)})}function Uet(e){let t=e._element,n=u(t.disableRootEvents)?t:document;Vt.supportsPointerEvents()?(Cu(e,"pointerdown",t,jet),Cu(e,"pointerup",t,Bpe),Cu(e,"pointermove",t,Yet),Cu(e,"pointercancel",t,Bpe)):(Cu(e,"mousedown",t,Mpe),Cu(e,"mouseup",n,Lpe),Cu(e,"mousemove",n,Npe),Cu(e,"touchstart",t,Get),Cu(e,"touchend",n,wpe),Cu(e,"touchmove",n,Wet),Cu(e,"touchcancel",n,wpe)),Cu(e,"dblclick",t,zet);let i;"onwheel"in t?i="wheel":document.onmousewheel!==void 0?i="mousewheel":i="DOMMouseScroll",Cu(e,i,t,Het)}function ket(e){let t=e._removalFunctions;for(let n=0;n<t.length;++n)t[n]()}var bpe={position:new H};function Jj(e){e._lastSeenTouchEvent=di()}function Qj(e){return di()-e._lastSeenTouchEvent>$d.mouseEmulationIgnoreMilliseconds}function Kj(e,t,n){let i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)<n}function Mpe(e,t){if(!Qj(e))return;let n=t.button;e._buttonDown[n]=!0;let i;if(n===ds.LEFT)i=yn.LEFT_DOWN;else if(n===ds.MIDDLE)i=yn.MIDDLE_DOWN;else if(n===ds.RIGHT)i=yn.RIGHT_DOWN;else return;let o=My(e,t,e._primaryPosition);H.clone(o,e._primaryStartPosition),H.clone(o,e._primaryPreviousPosition);let r=kx(t),s=e.getInputAction(i,r);u(s)&&(H.clone(o,bpe.position),s(bpe),t.preventDefault())}var Spe={position:new H},Dpe={position:new H};function jj(e,t,n,i){let o=kx(i),r=e.getInputAction(t,o),s=e.getInputAction(n,o);if(u(r)||u(s)){let a=My(e,i,e._primaryPosition);if(u(r)&&(H.clone(a,Spe.position),r(Spe)),u(s)){let c=e._primaryStartPosition;Kj(c,a,e._clickPixelTolerance)&&(H.clone(a,Dpe.position),s(Dpe))}}}function Lpe(e,t){if(!Qj(e))return;let n=t.button;n!==ds.LEFT&&n!==ds.MIDDLE&&n!==ds.RIGHT||(e._buttonDown[ds.LEFT]&&(jj(e,yn.LEFT_UP,yn.LEFT_CLICK,t),e._buttonDown[ds.LEFT]=!1),e._buttonDown[ds.MIDDLE]&&(jj(e,yn.MIDDLE_UP,yn.MIDDLE_CLICK,t),e._buttonDown[ds.MIDDLE]=!1),e._buttonDown[ds.RIGHT]&&(jj(e,yn.RIGHT_UP,yn.RIGHT_CLICK,t),e._buttonDown[ds.RIGHT]=!1))}var Yj={startPosition:new H,endPosition:new H};function Npe(e,t){if(!Qj(e))return;let n=kx(t),i=My(e,t,e._primaryPosition),o=e._primaryPreviousPosition,r=e.getInputAction(yn.MOUSE_MOVE,n);u(r)&&(H.clone(o,Yj.startPosition),H.clone(i,Yj.endPosition),r(Yj)),H.clone(i,o),(e._buttonDown[ds.LEFT]||e._buttonDown[ds.MIDDLE]||e._buttonDown[ds.RIGHT])&&t.preventDefault()}var vpe={position:new H};function zet(e,t){let n=t.button,i;if(n===ds.LEFT)i=yn.LEFT_DOUBLE_CLICK;else return;let o=kx(t),r=e.getInputAction(i,o);u(r)&&(My(e,t,vpe.position),r(vpe))}function Het(e,t){let n;if(u(t.deltaY)){let r=t.deltaMode;r===t.DOM_DELTA_PIXEL?n=-t.deltaY:r===t.DOM_DELTA_LINE?n=-t.deltaY*40:n=-t.deltaY*120}else t.detail>0?n=t.detail*-120:n=t.wheelDelta;if(!u(n))return;let i=kx(t),o=e.getInputAction(yn.WHEEL,i);u(o)&&(o(n),t.preventDefault())}function Get(e,t){Jj(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.set(s,My(e,r,new H));Fz(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.set(s,H.clone(a.get(s)))}function wpe(e,t){Jj(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.remove(s);Fz(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.remove(s)}var Ipe={position:new H},qj={position1:new H,position2:new H},Ppe={position:new H},Ope={position:new H},Rpe={position:new H};function Fz(e,t){let n=kx(t),i=e._positions,o=i.length,r,s,a=e._isPinching;if(o!==1&&e._buttonDown[ds.LEFT]){if(e._buttonDown[ds.LEFT]=!1,u(e._touchHoldTimer)&&(clearTimeout(e._touchHoldTimer),e._touchHoldTimer=void 0),r=e.getInputAction(yn.LEFT_UP,n),u(r)&&(H.clone(e._primaryPosition,Ppe.position),r(Ppe)),o===0&&!e._isTouchHolding&&(s=e.getInputAction(yn.LEFT_CLICK,n),u(s))){let c=e._primaryStartPosition,l=e._previousPositions.values[0];Kj(c,l,e._clickPixelTolerance)&&(H.clone(e._primaryPosition,Ope.position),s(Ope))}e._isTouchHolding=!1}if(o===0&&a&&(e._isPinching=!1,r=e.getInputAction(yn.PINCH_END,n),u(r)&&r()),o===1&&!a){let c=i.values[0];H.clone(c,e._primaryPosition),H.clone(c,e._primaryStartPosition),H.clone(c,e._primaryPreviousPosition),e._buttonDown[ds.LEFT]=!0,r=e.getInputAction(yn.LEFT_DOWN,n),u(r)&&(H.clone(c,Ipe.position),r(Ipe)),e._touchHoldTimer=setTimeout(function(){if(!e.isDestroyed()&&(e._touchHoldTimer=void 0,e._isTouchHolding=!0,s=e.getInputAction(yn.RIGHT_CLICK,n),u(s))){let l=e._primaryStartPosition,f=e._previousPositions.values[0];Kj(l,f,e._holdPixelTolerance)&&(H.clone(e._primaryPosition,Rpe.position),s(Rpe))}},$d.touchHoldDelayMilliseconds),t.preventDefault()}o===2&&!a&&(e._isPinching=!0,r=e.getInputAction(yn.PINCH_START,n),u(r)&&(H.clone(i.values[0],qj.position1),H.clone(i.values[1],qj.position2),r(qj),t.preventDefault()))}function Wet(e,t){Jj(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i){r=n[i],s=r.identifier;let l=a.get(s);u(l)&&My(e,r,l)}Fpe(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,H.clone(a.get(s),c.get(s))}var Xj={startPosition:new H,endPosition:new H},pL={distance:{startPosition:new H,endPosition:new H},angleAndHeight:{startPosition:new H,endPosition:new H}};function Fpe(e,t){let n=kx(t),i=e._positions,o=e._previousPositions,r=i.length,s;if(r===1&&e._buttonDown[ds.LEFT]){let a=i.values[0];H.clone(a,e._primaryPosition);let c=e._primaryPreviousPosition;s=e.getInputAction(yn.MOUSE_MOVE,n),u(s)&&(H.clone(c,Xj.startPosition),H.clone(a,Xj.endPosition),s(Xj)),H.clone(a,c),t.preventDefault()}else if(r===2&&e._isPinching&&(s=e.getInputAction(yn.PINCH_MOVE,n),u(s))){let a=i.values[0],c=i.values[1],l=o.values[0],f=o.values[1],d=c.x-a.x,p=c.y-a.y,g=Math.sqrt(d*d+p*p)*.25,m=f.x-l.x,A=f.y-l.y,x=Math.sqrt(m*m+A*A)*.25,C=(c.y+a.y)*.125,T=(f.y+l.y)*.125,E=Math.atan2(p,d),S=Math.atan2(A,m);H.fromElements(0,x,pL.distance.startPosition),H.fromElements(0,g,pL.distance.endPosition),H.fromElements(S,T,pL.angleAndHeight.startPosition),H.fromElements(E,C,pL.angleAndHeight.endPosition),s(pL)}}function jet(e,t){if(t.target.setPointerCapture(t.pointerId),t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.set(i,My(e,t,new H)),Fz(e,t),e._previousPositions.set(i,H.clone(n.get(i)))}else Mpe(e,t)}function Bpe(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.remove(i),Fz(e,t),e._previousPositions.remove(i)}else Lpe(e,t)}function Yet(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId,o=n.get(i);if(!u(o))return;My(e,t,o),Fpe(e,t);let r=e._previousPositions;H.clone(n.get(i),r.get(i))}else Npe(e,t)}function $d(e){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-$d.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new H,this._primaryPosition=new H,this._primaryPreviousPosition=new H,this._positions=new xt,this._previousPositions=new xt,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=y(e,document),Uet(this)}$d.prototype.setInputAction=function(e,t,n){let i=Zj(t,n);this._inputEvents[i]=e};$d.prototype.getInputAction=function(e,t){let n=Zj(e,t);return this._inputEvents[n]};$d.prototype.removeInputAction=function(e,t){let n=Zj(e,t);delete this._inputEvents[n]};$d.prototype.isDestroyed=function(){return!1};$d.prototype.destroy=function(){return ket(this),le(this)};$d.mouseEmulationIgnoreMilliseconds=800;$d.touchHoldDelayMilliseconds=1500;var Tu=$d;function qet(e,t,n,i,o,r,s){let a=Di.numberOfPoints(e,t,o),c,l=n.red,f=n.green,d=n.blue,p=n.alpha,g=i.red,m=i.green,A=i.blue,x=i.alpha;if(z.equals(n,i)){for(c=0;c<a;c++)r[s++]=z.floatToByte(l),r[s++]=z.floatToByte(f),r[s++]=z.floatToByte(d),r[s++]=z.floatToByte(p);return s}let C=(g-l)/a,T=(m-f)/a,E=(A-d)/a,S=(x-p)/a,D=s;for(c=0;c<a;c++)r[D++]=z.floatToByte(l+c*C),r[D++]=z.floatToByte(f+c*T),r[D++]=z.floatToByte(d+c*E),r[D++]=z.floatToByte(p+c*S);return D}function _L(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._colorsPerVertex=i,this._arcType=y(e.arcType,Kt.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=y(e.ellipsoid,ie.WGS84),this._workerName="createSimplePolylineGeometry";let o=1+t.length*h.packedLength;o+=u(n)?1+n.length*z.packedLength:1,this.packedLength=o+ie.packedLength+3}_L.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=u(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=z.packedLength)z.pack(s[i],t,n);return ie.pack(e._ellipsoid,t,n),n+=ie.packedLength,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};_L.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=z.packedLength)s[i]=z.unpack(e,t);let a=ie.unpack(e,t);t+=ie.packedLength;let c=e[t++]===1,l=e[t++],f=e[t];return u(n)?(n._positions=r,n._colors=s,n._ellipsoid=a,n._colorsPerVertex=c,n._arcType=l,n._granularity=f,n):new _L({positions:r,colors:s,ellipsoid:a,colorsPerVertex:c,arcType:l,granularity:f})};var Vz=new Array(2),Uz=new Array(2),Xet={positions:Vz,height:Uz,ellipsoid:void 0,minDistance:void 0,granularity:void 0};_L.createGeometry=function(e){let t=e._positions,n=e._colors,i=e._colorsPerVertex,o=e._arcType,r=e._granularity,s=e._ellipsoid,a=P.chordLength(r,s.maximumRadius),c=u(n)&&!i,l,f=t.length,d,p,g,m,A=0;if(o===Kt.GEODESIC||o===Kt.RHUMB){let S,D,w;o===Kt.GEODESIC?(S=P.chordLength(r,s.maximumRadius),D=Di.numberOfPoints,w=Di.generateArc):(S=r,D=Di.numberOfPointsRhumbLine,w=Di.generateRhumbArc);let R=Di.extractHeights(t,s),O=Xet;if(o===Kt.GEODESIC?O.minDistance=a:O.granularity=r,O.ellipsoid=s,c){let L=0;for(l=0;l<f-1;l++)L+=D(t[l],t[l+1],S)+1;d=new Float64Array(L*3),g=new Uint8Array(L*4),O.positions=Vz,O.height=Uz;let N=0;for(l=0;l<f-1;++l){Vz[0]=t[l],Vz[1]=t[l+1],Uz[0]=R[l],Uz[1]=R[l+1];let _=w(O);if(u(n)){let b=_.length/3;m=n[l];for(let v=0;v<b;++v)g[N++]=z.floatToByte(m.red),g[N++]=z.floatToByte(m.green),g[N++]=z.floatToByte(m.blue),g[N++]=z.floatToByte(m.alpha)}d.set(_,A),A+=_.length}}else if(O.positions=t,O.height=R,d=new Float64Array(w(O)),u(n)){for(g=new Uint8Array(d.length/3*4),l=0;l<f-1;++l){let N=t[l],_=t[l+1],b=n[l],v=n[l+1];A=qet(N,_,b,v,a,g,A)}let L=n[f-1];g[A++]=z.floatToByte(L.red),g[A++]=z.floatToByte(L.green),g[A++]=z.floatToByte(L.blue),g[A++]=z.floatToByte(L.alpha)}}else{p=c?f*2-2:f,d=new Float64Array(p*3),g=u(n)?new Uint8Array(p*4):void 0;let S=0,D=0;for(l=0;l<f;++l){let w=t[l];if(c&&l>0&&(h.pack(w,d,S),S+=3,m=n[l-1],g[D++]=z.floatToByte(m.red),g[D++]=z.floatToByte(m.green),g[D++]=z.floatToByte(m.blue),g[D++]=z.floatToByte(m.alpha)),c&&l===f-1)break;h.pack(w,d,S),S+=3,u(n)&&(m=n[l],g[D++]=z.floatToByte(m.red),g[D++]=z.floatToByte(m.green),g[D++]=z.floatToByte(m.blue),g[D++]=z.floatToByte(m.alpha))}}let x=new dn;x.position=new ve({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:d}),u(n)&&(x.color=new ve({componentDatatype:q.UNSIGNED_BYTE,componentsPerAttribute:4,values:g,normalize:!0})),p=d.length/3;let C=(p-1)*2,T=Fe.createTypedArray(p,C),E=0;for(l=0;l<p-1;++l)T[E++]=l,T[E++]=l+1;return new ct({attributes:x,indices:T,primitiveType:Me.LINES,boundingSphere:se.fromPoints(t)})};var $j=_L;function Yb(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new vs(i),this._workerName="createSphereGeometry"}Yb.packedLength=vs.packedLength;Yb.pack=function(e,t,n){return vs.pack(e._ellipsoidGeometry,t,n)};var Ket=new vs,Ly={radius:void 0,radii:new h,vertexFormat:new Ie,stackPartitions:void 0,slicePartitions:void 0};Yb.unpack=function(e,t,n){let i=vs.unpack(e,t,Ket);return Ly.vertexFormat=Ie.clone(i._vertexFormat,Ly.vertexFormat),Ly.stackPartitions=i._stackPartitions,Ly.slicePartitions=i._slicePartitions,u(n)?(h.clone(i._radii,Ly.radii),n._ellipsoidGeometry=new vs(Ly),n):(Ly.radius=i._radii.x,new Yb(Ly))};Yb.createGeometry=function(e){return vs.createGeometry(e._ellipsoidGeometry)};var eY=Yb;var Zet={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7},pn=Zet;function Ny(e){}Object.defineProperties(Ny.prototype,{ellipsoid:{get:de.throwInstantiationError},rectangle:{get:de.throwInstantiationError},projection:{get:de.throwInstantiationError}});Ny.prototype.getNumberOfXTilesAtLevel=de.throwInstantiationError;Ny.prototype.getNumberOfYTilesAtLevel=de.throwInstantiationError;Ny.prototype.rectangleToNativeRectangle=de.throwInstantiationError;Ny.prototype.tileXYToNativeRectangle=de.throwInstantiationError;Ny.prototype.tileXYToRectangle=de.throwInstantiationError;Ny.prototype.positionToTileXY=de.throwInstantiationError;var tY=Ny;function Jet(e,t){this.rectangle=e,this.maxLevel=t}function qb(e){e=y(e,y.EMPTY_OBJECT);let t=Oe.createIfNeeded(e.url);this._resource=t,this._errorEvent=new Ae,this._ready=!1,this._terrainDataStructure={heightScale:1/1e3,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:256*256*256-1};let n=e.credit;typeof n=="string"&&(n=new Zt(n)),this._credit=n,this._tilingScheme=void 0,this._rectangles=[];let i=this,o,r=y(e.ellipsoid,ie.WGS84);function s(l){let f=l.getElementsByTagName("SRS")[0].textContent;if(f==="EPSG:4326")i._tilingScheme=new ji({ellipsoid:r});else return Promise.reject(new ue(`SRS ${f} is not supported.`));let d=l.getElementsByTagName("TileFormat")[0];i._heightmapWidth=parseInt(d.getAttribute("width"),10),i._heightmapHeight=parseInt(d.getAttribute("height"),10),i._levelZeroMaximumGeometricError=Hr.getEstimatedLevelZeroGeometricErrorForAHeightmap(r,Math.min(i._heightmapWidth,i._heightmapHeight),i._tilingScheme.getNumberOfXTilesAtLevel(0));let p=l.getElementsByTagName("DataExtent");for(let g=0;g<p.length;++g){let m=p[g],A=P.toRadians(parseFloat(m.getAttribute("minx"))),x=P.toRadians(parseFloat(m.getAttribute("miny"))),C=P.toRadians(parseFloat(m.getAttribute("maxx"))),T=P.toRadians(parseFloat(m.getAttribute("maxy"))),E=parseInt(m.getAttribute("maxlevel"),10);i._rectangles.push(new Jet(new ce(A,x,C,T),E))}return i._ready=!0,Promise.resolve(!0)}function a(l){let f=y(u(l)?l.message:void 0,`An error occurred while accessing ${i._resource.url}.`);return o=Xn.reportError(o,i,i._errorEvent,f),o.retry?c():Promise.reject(new ue(f))}function c(){return i._resource.fetchXML().then(s).catch(a)}this._readyPromise=c()}Object.defineProperties(qb.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});qb.prototype.requestTileGeometry=function(e,t,n,i){let o=this._tilingScheme.getNumberOfYTilesAtLevel(n),s=this._resource.getDerivedResource({url:`${n}/${e}/${o-t-1}.tif`,queryParameters:{cesium:!0},request:i}).fetchImage({preferImageBitmap:!0});if(!u(s))return;let a=this;return Promise.resolve(s).then(function(c){return new ga({buffer:Wf(c),width:a._heightmapWidth,height:a._heightmapHeight,childTileMask:Qet(a,e,t,n),structure:a._terrainDataStructure})})};qb.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};var Vpe=new ce;function Qet(e,t,n,i){let o=e._tilingScheme,r=e._rectangles,s=o.tileXYToRectangle(t,n,i),a=0;for(let c=0;c<r.length&&a!==15;++c){let l=r[c];if(l.maxLevel<=i)continue;let f=l.rectangle,d=ce.intersection(f,s,Vpe);u(d)&&(kz(o,f,t*2,n*2,i+1)&&(a|=4),kz(o,f,t*2+1,n*2,i+1)&&(a|=8),kz(o,f,t*2,n*2+1,i+1)&&(a|=1),kz(o,f,t*2+1,n*2+1,i+1)&&(a|=2))}return a}function kz(e,t,n,i,o){let r=e.tileXYToRectangle(n,i,o);return u(ce.intersection(r,t,Vpe))}qb.prototype.getTileDataAvailable=function(e,t,n){};qb.prototype.loadTileDataAvailability=function(e,t,n){};var nY=qb;function zx(e){e=y(e,y.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=e.clock,this.element=e.element,this.epoch=y(e.epoch,ze.MINIMUM_VALUE),this.tolerance=y(e.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}Object.defineProperties(zx.prototype,{clock:{get:function(){return this._clock},set:function(e){let t=this._clock;t!==e&&(u(t)&&(this._clockSubscription(),this._clockSubscription=void 0),u(e)&&(this._clockSubscription=e.onTick.addEventListener(zx.prototype._onTick,this)),this._clock=e)}},element:{get:function(){return this._element},set:function(e){let t=this._element;t!==e&&(u(t)&&t.removeEventListener("seeked",this._seekFunction,!1),u(e)&&(this._seeking=!1,this._seekFunction=$et(this),e.addEventListener("seeked",this._seekFunction,!1)),this._element=e,this._seeking=!1,this._firstTickAfterSeek=!1)}}});zx.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,le(this)};zx.prototype.isDestroyed=function(){return!1};zx.prototype._trySetPlaybackRate=function(e){if(this._lastPlaybackRate===e.multiplier)return;let t=this._element;try{t.playbackRate=e.multiplier}catch{t.playbackRate=0}this._lastPlaybackRate=e.multiplier};zx.prototype._onTick=function(e){let t=this._element;if(!u(t)||t.readyState<2)return;let n=t.paused,i=e.shouldAnimate;if(i===n&&(i?t.play():t.pause()),this._seeking||this._firstTickAfterSeek){this._firstTickAfterSeek=!1;return}this._trySetPlaybackRate(e);let o=e.currentTime,r=y(this.epoch,ze.MINIMUM_VALUE),s=$.secondsDifference(o,r),a=t.duration,c,l=t.currentTime;t.loop?(s=s%a,s<0&&(s=a-s),c=s):s>a?c=a:s<0?c=0:c=s;let f=i?y(this.tolerance,1):.001;Math.abs(c-l)>f&&(this._seeking=!0,t.currentTime=c)};function $et(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}var iY=zx;var ett={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033},oY=Object.freeze(ett);var x_;typeof cancelAnimationFrame<"u"&&(x_=cancelAnimationFrame);(function(){if(!u(x_)&&typeof window<"u"){let e=["webkit","moz","ms","o"],t=0,n=e.length;for(;t<n&&!u(x_);)x_=window[`${e[t]}CancelAnimationFrame`],u(x_)||(x_=window[`${e[t]}CancelRequestAnimationFrame`]),++t}u(x_)||(x_=clearTimeout)})();function ttt(e){nr("Cesium.cancelAnimationFrame","Cesium.cancelAnimationFrame was deprecated in CesiumJS 1.96 and will be removed in 1.99. Use the native cancelAnimationFrame method instead."),x_(e)}var rY=ttt;function ntt(e){return e=y(e,y.EMPTY_OBJECT),new nL({url:Qd.fromAssetId(1),requestVertexNormals:y(e.requestVertexNormals,!1),requestWaterMask:y(e.requestWaterMask,!1)})}var gL=ntt;var itt=1953029805,ott=2917034100;function sY(e,t){if(sY.passThroughDataForTesting)return t;let n=e.byteLength;if(n===0||n%4!==0)throw new ue("The length of key must be greater than 0 and a multiple of 4.");let i=new DataView(t),o=i.getUint32(0,!0);if(o===itt||o===ott)return t;let r=new DataView(e),s=0,a=t.byteLength,c=a-a%8,l=n,f,d=8;for(;s<c;)for(d=(d+8)%24,f=d;s<c&&f<l;)i.setUint32(s,i.getUint32(s,!0)^r.getUint32(f,!0),!0),i.setUint32(s+4,i.getUint32(s+4,!0)^r.getUint32(f+4,!0),!0),s+=8,f+=24;if(s<a)for(f>=l&&(d=(d+8)%24,f=d);s<a;)i.setUint8(s,i.getUint8(s)^r.getUint8(f)),s++,f++}sY.passThroughDataForTesting=!1;var yL=sY;function rtt(e,t,n){let i=new Uint8ClampedArray(e.buffer),o=new ImageData(i,t,n),r=document.createElement("canvas");return r.width=t,r.height=n,r.getContext("2d").putImageData(o,0,0),r}var AL=rtt;var aY=[],cY=[];function stt(e,t,n,i,o,r){let s=o-i+1,a=r-o,c=aY,l=cY,f,d;for(f=0;f<s;++f)c[f]=e[i+f];for(d=0;d<a;++d)l[d]=e[o+d+1];f=0,d=0;for(let p=i;p<=r;++p){let g=c[f],m=l[d];f<s&&(d>=a||t(g,m,n)<=0)?(e[p]=g,++f):d<a&&(e[p]=m,++d)}}function lY(e,t,n,i,o){if(i>=o)return;let r=Math.floor((i+o)*.5);lY(e,t,n,i,r),lY(e,t,n,r+1,o),stt(e,t,n,i,r,o)}function att(e,t,n){let i=e.length,o=Math.ceil(i*.5);aY.length=o,cY.length=o,lY(e,t,n,0,i-1),aY.length=0,cY.length=0}var C_=att;var ctt=new h;function ltt(e,t,n,i){let o=R0(e,t,n,i,ctt);return u(o)?o.x>0&&o.y>0&&o.z>0:!1}var uY=ltt;var Hx;typeof requestAnimationFrame<"u"&&(Hx=requestAnimationFrame);(function(){if(!u(Hx)&&typeof window<"u"){let e=["webkit","moz","ms","o"],t=0,n=e.length;for(;t<n&&!u(Hx);)Hx=window[`${e[t]}RequestAnimationFrame`],++t}if(!u(Hx)){let e=16.666666666666668,t=0;Hx=function(n){let i=di(),o=Math.max(e-(i-t),0);return t=i+o,setTimeout(function(){n(t)},o)}}})();function utt(e){return nr("Cesium.requestAnimationFrame","Cesium.requestAnimationFrame was deprecated in CesiumJS 1.96 and will be removed in 1.99. Use the native requestAnimationFrame method instead."),Hx(e)}var fY=utt;function ftt(e){switch(e){case ee.FLOAT:return"float";case ee.FLOAT_VEC2:return"vec2";case ee.FLOAT_VEC3:return"vec3";case ee.FLOAT_VEC4:return"vec4";case ee.FLOAT_MAT2:return"mat2";case ee.FLOAT_MAT3:return"mat3";case ee.FLOAT_MAT4:return"mat4";case ee.SAMPLER_2D:return"sampler2D";case ee.BOOL:return"bool"}}var dY=ftt;function dtt(e,t,n){return function(){n.apply(e,arguments),t.apply(e,arguments)}}var xL=dtt;function hY(e){e=y(e,y.EMPTY_OBJECT),this._pixelsToCheck=e.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let t=Oe.createIfNeeded(e.missingImageUrl),n=this;function i(r){u(r.blob)&&(n._missingImageByteLength=r.blob.size);let s=Wf(r);if(e.disableCheckIfAllPixelsAreTransparent){let a=!0,c=r.width,l=e.pixelsToCheck;for(let f=0,d=l.length;a&&f<d;++f){let p=l[f],g=p.x*4+p.y*c;s[g+3]>0&&(a=!1)}a&&(s=void 0)}n._missingImagePixels=s,n._isReady=!0}function o(){n._missingImagePixels=void 0,n._isReady=!0}t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(i).catch(o)}hY.prototype.isReady=function(){return this._isReady};hY.prototype.shouldDiscardImage=function(e){let t=this._pixelsToCheck,n=this._missingImagePixels;if(!u(n)||u(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;let i=Wf(e),o=e.width;for(let r=0,s=t.length;r<s;++r){let a=t[r],c=a.x*4+a.y*o;for(let l=0;l<4;++l){let f=c+l;if(i[f]!==n[f])return!1}}return!0};var CL=hY;function mY(){this.name=void 0,this.description=void 0,this.position=void 0,this.data=void 0,this.imageryLayer=void 0}mY.prototype.configureNameFromProperties=function(e){let t=10,n;for(let i in e)if(e.hasOwnProperty(i)&&e[i]){let o=i.toLowerCase();t>1&&o==="name"?(t=1,n=i):t>2&&o==="title"?(t=2,n=i):t>3&&/name/i.test(i)?(t=3,n=i):t>4&&/title/i.test(i)&&(t=4,n=i)}u(n)&&(this.name=e[n])};mY.prototype.configureDescriptionFromProperties=function(e){function t(n){let i='<table class="cesium-infoBox-defaultTable">';for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];u(r)&&(typeof r=="object"?i+=`<tr><td>${o}</td><td>${t(r)}</td></tr>`:i+=`<tr><td>${o}</td><td>${r}</td></tr>`)}return i+="</table>",i}this.description=t(e)};var eh=mY;function Xb(){this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,de.throwInstantiationError()}Object.defineProperties(Xb.prototype,{ready:{get:de.throwInstantiationError},readyPromise:{get:de.throwInstantiationError},rectangle:{get:de.throwInstantiationError},tileWidth:{get:de.throwInstantiationError},tileHeight:{get:de.throwInstantiationError},maximumLevel:{get:de.throwInstantiationError},minimumLevel:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},tileDiscardPolicy:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},proxy:{get:de.throwInstantiationError},hasAlphaChannel:{get:de.throwInstantiationError}});Xb.prototype.getTileCredits=function(e,t,n){de.throwInstantiationError()};Xb.prototype.requestImage=function(e,t,n,i){de.throwInstantiationError()};Xb.prototype.pickFeatures=function(e,t,n,i,o){de.throwInstantiationError()};var htt=/\.ktx2$/i;Xb.loadImage=function(e,t){let n=Oe.createIfNeeded(t);return htt.test(n.url)?tl(n):u(e)&&u(e.tileDiscardPolicy)?n.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):n.fetchImage({preferImageBitmap:!0,flipY:!0})};var Gc=Xb;function TL(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t=Oe.createIfNeeded(e.url);t.appendForwardSlash(),u(e.token)&&t.setQueryParameters({token:e.token}),this._resource=t,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new ji({ellipsoid:e.ellipsoid})),this._useTiles=y(e.usePreCachedTilesIfAvailable,!0),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._layers=e.layers;let n=e.credit;typeof n=="string"&&(n=new Zt(n)),this._credit=n,this.enablePickFeatures=y(e.enablePickFeatures,!0),this._errorEvent=new Ae,this._ready=!1;let i=this,o;function r(c){let l=c.tileInfo;if(!u(l))i._useTiles=!1;else{if(i._tileWidth=l.rows,i._tileHeight=l.cols,l.spatialReference.wkid===102100||l.spatialReference.wkid===102113)i._tilingScheme=new Gr({ellipsoid:e.ellipsoid});else if(c.tileInfo.spatialReference.wkid===4326)i._tilingScheme=new ji({ellipsoid:e.ellipsoid});else{let f=`Tile spatial reference WKID ${c.tileInfo.spatialReference.wkid} is not supported.`;return o=Xn.reportError(o,i,i._errorEvent,f,void 0,void 0,void 0),o.retry?a():Promise.reject(new ue(f))}if(i._maximumLevel=c.tileInfo.lods.length-1,u(c.fullExtent)){if(u(c.fullExtent.spatialReference)&&u(c.fullExtent.spatialReference.wkid))if(c.fullExtent.spatialReference.wkid===102100||c.fullExtent.spatialReference.wkid===102113){let f=new Si,d=c.fullExtent,p=f.unproject(new h(Math.max(d.xmin,-i._tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(d.ymin,-i._tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),g=f.unproject(new h(Math.min(d.xmax,i._tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(d.ymax,i._tilingScheme.ellipsoid.maximumRadius*Math.PI),0));i._rectangle=new ce(p.longitude,p.latitude,g.longitude,g.latitude)}else if(c.fullExtent.spatialReference.wkid===4326)i._rectangle=ce.fromDegrees(c.fullExtent.xmin,c.fullExtent.ymin,c.fullExtent.xmax,c.fullExtent.ymax);else{let f=`fullExtent.spatialReference WKID ${c.fullExtent.spatialReference.wkid} is not supported.`;return o=Xn.reportError(o,i,i._errorEvent,f,void 0,void 0,void 0),o.retry?a():Promise.reject(new ue(f))}}else i._rectangle=i._tilingScheme.rectangle;u(i._tileDiscardPolicy)||(i._tileDiscardPolicy=new CL({missingImageUrl:Upe(i,0,0,i._maximumLevel).url,pixelsToCheck:[new H(0,0),new H(200,20),new H(20,200),new H(80,110),new H(160,130)],disableCheckIfAllPixelsAreTransparent:!0})),i._useTiles=!0}return u(c.copyrightText)&&c.copyrightText.length>0&&(i._credit=new Zt(c.copyrightText)),i._ready=!0,Xn.reportSuccess(o),Promise.resolve(!0)}function s(c){let l=`An error occurred while accessing ${i._resource.url}.`;return o=Xn.reportError(o,i,i._errorEvent,l,void 0,void 0,void 0),Promise.reject(new ue(l))}function a(){return i._resource.getDerivedResource({queryParameters:{f:"json"}}).fetchJsonp().then(r).catch(s)}this._useTiles?this._readyPromise=a():(this._ready=!0,this._readyPromise=Promise.resolve(!0))}function Upe(e,t,n,i,o){let r;if(e._useTiles)r=e._resource.getDerivedResource({url:`tile/${i}/${n}/${t}`,request:o});else{let s=e._tilingScheme.tileXYToNativeRectangle(t,n,i),c={bbox:`${s.west},${s.south},${s.east},${s.north}`,size:`${e._tileWidth},${e._tileHeight}`,format:"png32",transparent:!0,f:"image"};e._tilingScheme.projection instanceof Ei?(c.bboxSR=4326,c.imageSR=4326):(c.bboxSR=3857,c.imageSR=3857),e.layers&&(c.layers=`show:${e.layers}`),r=e._resource.getDerivedResource({url:"export",request:o,queryParameters:c})}return r}Object.defineProperties(TL.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}});TL.prototype.getTileCredits=function(e,t,n){};TL.prototype.requestImage=function(e,t,n,i){return Gc.loadImage(this,Upe(this,e,t,n,i))};TL.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures)return;let r=this._tilingScheme.tileXYToNativeRectangle(e,t,n),s,a,c;if(this._tilingScheme.projection instanceof Ei)s=P.toDegrees(i),a=P.toDegrees(o),c="4326";else{let p=this._tilingScheme.projection.project(new he(i,o,0));s=p.x,a=p.y,c="3857"}let l="visible";u(this._layers)&&(l+=`:${this._layers}`);let f={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${s},${a}`,mapExtent:`${r.west},${r.south},${r.east},${r.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:c,layers:l};return this._resource.getDerivedResource({url:"identify",queryParameters:f}).fetchJson().then(function(p){let g=[],m=p.results;if(!u(m))return g;for(let A=0;A<m.length;++A){let x=m[A],C=new eh;if(C.data=x,C.name=x.value,C.properties=x.attributes,C.configureDescriptionFromProperties(x.attributes),x.geometryType==="esriGeometryPoint"&&x.geometry){let T=x.geometry.spatialReference&&x.geometry.spatialReference.wkid?x.geometry.spatialReference.wkid:4326;if(T===4326||T===4283)C.position=he.fromDegrees(x.geometry.x,x.geometry.y,x.geometry.z);else if(T===102100||T===900913||T===3857){let E=new Si;C.position=E.unproject(new h(x.geometry.x,x.geometry.y,x.geometry.z))}}g.push(C)}return g})};var T_=TL;var mtt={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"},EL=Object.freeze(mtt);function bL(e){}bL.prototype.isReady=function(){return!0};bL.prototype.shouldDiscardImage=function(e){return bL.EMPTY_IMAGE===e};var zz;Object.defineProperties(bL,{EMPTY_IMAGE:{get:function(){return u(zz)||(zz=new Image,zz.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),zz}}});var Kb=bL;function Qs(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=1,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._key=t,this._resource=Oe.createIfNeeded(e.url),this._resource.appendForwardSlash(),this._tileProtocol=e.tileProtocol,this._mapStyle=y(e.mapStyle,EL.AERIAL),this._culture=y(e.culture,""),this._tileDiscardPolicy=e.tileDiscardPolicy,u(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new Kb),this._proxy=e.proxy,this._credit=new Zt(`<a href="https://www.microsoft.com/en-us/maps/product/enduserterms"><img src="${Qs.logoUrl}" title="Bing Imagery"/></a>`),this._tilingScheme=new Gr({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._errorEvent=new Ae,this._ready=!1;let n=this._tileProtocol;u(n)?n.length>0&&n[n.length-1]===":"&&(n=n.substr(0,n.length-1)):n=document.location.protocol==="http:"?"http":"https";let i=this._resource.getDerivedResource({url:`REST/v1/Imagery/Metadata/${this._mapStyle}`,queryParameters:{incl:"ImageryProviders",key:this._key,uriScheme:n}}),o=this,r;function s(d){if(d.resourceSets.length!==1)return a();let p=d.resourceSets[0].resources[0];o._tileWidth=p.imageWidth,o._tileHeight=p.imageHeight,o._maximumLevel=p.zoomMax-1,o._imageUrlSubdomains=p.imageUrlSubdomains,o._imageUrlTemplate=p.imageUrl;let g=o._attributionList=p.imageryProviders;g||(g=o._attributionList=[]);for(let m=0,A=g.length;m<A;++m){let x=g[m];if(x.credit instanceof Zt)break;x.credit=new Zt(x.attribution);let C=x.coverageAreas;for(let T=0,E=x.coverageAreas.length;T<E;++T){let S=C[T],D=S.bbox;S.bbox=new ce(P.toRadians(D[1]),P.toRadians(D[0]),P.toRadians(D[3]),P.toRadians(D[2]))}}return o._ready=!0,Xn.reportSuccess(r),Promise.resolve(!0)}function a(d){let p=`An error occurred while accessing ${i.url}.`;return r=Xn.reportError(r,o,o._errorEvent,p,void 0,void 0,void 0),r.retry?l():Promise.reject(new ue(p))}let c=i.url;function l(){let d=i.fetchJsonp("jsonp");return Qs._metadataCache[c]=d,d.then(s).catch(a)}let f=Qs._metadataCache[c];u(f)?this._readyPromise=f.then(s).catch(a):this._readyPromise=l()}Object.defineProperties(Qs.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});var ptt=new ce;Qs.prototype.getTileCredits=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(e,t,n,ptt);return ytt(this._attributionList,n,i)};Qs.prototype.requestImage=function(e,t,n,i){let o=Gc.loadImage(this,_tt(this,e,t,n,i));if(u(o))return o.catch(function(r){return u(r.blob)&&r.blob.size===0?Kb.EMPTY_IMAGE:Promise.reject(r)})};Qs.prototype.pickFeatures=function(e,t,n,i,o){};Qs.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;e&r&&(s|=1),t&r&&(s|=2),i+=s}return i};Qs.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];s&1&&(t|=r),s&2&&(n|=r)}return{x:t,y:n,level:i}};Qs._logoUrl=void 0;Object.defineProperties(Qs,{logoUrl:{get:function(){return u(Qs._logoUrl)||(Qs._logoUrl=$t("Assets/Images/bing_maps_credit.png")),Qs._logoUrl},set:function(e){Qs._logoUrl=e}}});function _tt(e,t,n,i,o){let r=e._imageUrlTemplate,s=e._imageUrlSubdomains,a=(t+n+i)%s.length;return e._resource.getDerivedResource({url:r,request:o,templateValues:{quadkey:Qs.tileXYToQuadKey(t,n,i),subdomain:s[a],culture:e._culture},queryParameters:{n:"z"}})}var gtt=new ce;function ytt(e,t,n){++t;let i=[];for(let o=0,r=e.length;o<r;++o){let s=e[o],a=s.coverageAreas,c=!1;for(let l=0,f=s.coverageAreas.length;!c&&l<f;++l){let d=a[l];if(t>=d.zoomMin&&t<=d.zoomMax){let p=ce.intersection(n,d.bbox,gtt);u(p)&&(c=!0)}}c&&i.push(s.credit)}return i}Qs._metadataCache={};var SL=Qs;var kpe=/{[^}]+}/g,zpe={x:Ttt,y:btt,z:vtt,s:wtt,reverseX:Ett,reverseY:Stt,reverseZ:Dtt,westDegrees:Itt,southDegrees:Ptt,eastDegrees:Ott,northDegrees:Rtt,westProjected:Btt,southProjected:Mtt,eastProjected:Ltt,northProjected:Ntt,width:Ftt,height:Vtt},Att=_t(zpe,{i:Utt,j:ktt,reverseI:ztt,reverseJ:Htt,longitudeDegrees:Wtt,latitudeDegrees:jtt,longitudeProjected:Ytt,latitudeProjected:qtt,format:Ktt});function Qb(e){this._errorEvent=new Ae,this._resource=void 0,this._urlSchemeZeroPadding=void 0,this._pickFeaturesResource=void 0,this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._minimumLevel=void 0,this._tilingScheme=void 0,this._rectangle=void 0,this._tileDiscardPolicy=void 0,this._credit=void 0,this._hasAlphaChannel=void 0,this._readyPromise=void 0,this._tags=void 0,this._pickFeaturesTags=void 0,this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this.enablePickFeatures=!0,this.reinitialize(e)}Object.defineProperties(Qb.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return u(this._resource)}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}}});Qb.prototype.reinitialize=function(e){let t=this;t._readyPromise=Promise.resolve(e).then(function(n){let i=n.customTags,o=_t(zpe,i),r=_t(Att,i),s=Oe.createIfNeeded(n.url),a=Oe.createIfNeeded(n.pickFeaturesUrl);t.enablePickFeatures=y(n.enablePickFeatures,t.enablePickFeatures),t._urlSchemeZeroPadding=y(n.urlSchemeZeroPadding,t.urlSchemeZeroPadding),t._tileDiscardPolicy=n.tileDiscardPolicy,t._getFeatureInfoFormats=n.getFeatureInfoFormats,t._subdomains=n.subdomains,Array.isArray(t._subdomains)?t._subdomains=t._subdomains.slice():u(t._subdomains)&&t._subdomains.length>0?t._subdomains=t._subdomains.split(""):t._subdomains=["a","b","c"],t._tileWidth=y(n.tileWidth,256),t._tileHeight=y(n.tileHeight,256),t._minimumLevel=y(n.minimumLevel,0),t._maximumLevel=n.maximumLevel,t._tilingScheme=y(n.tilingScheme,new Gr({ellipsoid:n.ellipsoid})),t._rectangle=y(n.rectangle,t._tilingScheme.rectangle),t._rectangle=ce.intersection(t._rectangle,t._tilingScheme.rectangle),t._hasAlphaChannel=y(n.hasAlphaChannel,!0);let c=n.credit;return typeof c=="string"&&(c=new Zt(c)),t._credit=c,t._resource=s,t._tags=o,t._pickFeaturesResource=a,t._pickFeaturesTags=r,!0})};Qb.prototype.getTileCredits=function(e,t,n){};Qb.prototype.requestImage=function(e,t,n,i){return Gc.loadImage(this,xtt(this,e,t,n,i))};Qb.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures||!u(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let r=0,s=this;function a(l,f){return l.callback(f)}function c(){if(r>=s._getFeatureInfoFormats.length)return Promise.resolve([]);let l=s._getFeatureInfoFormats[r],f=Ctt(s,e,t,n,i,o,l.format);return++r,l.type==="json"?f.fetchJson().then(l.callback).catch(c):l.type==="xml"?f.fetchXML().then(l.callback).catch(c):l.type==="text"||l.type==="html"?f.fetchText().then(l.callback).catch(c):f.fetch({responseType:l.format}).then(a.bind(void 0,l)).catch(c)}return c()};var Hz=!1,Eu=new ce,Gz=!1,DL=new ce;function xtt(e,t,n,i,o){Hz=!1,Gz=!1;let r=e._resource,s=r.getUrlComponent(!0),a=e._tags,c={},l=s.match(kpe);return u(l)&&l.forEach(function(f){let d=f.substring(1,f.length-1);u(a[d])&&(c[d]=a[d](e,t,n,i))}),r.getDerivedResource({request:o,templateValues:c})}var pY=!1,Jb=new H,_Y=!1;function Ctt(e,t,n,i,o,r,s){Hz=!1,Gz=!1,pY=!1,_Y=!1;let a=e._pickFeaturesResource,c=a.getUrlComponent(!0),l=e._pickFeaturesTags,f={},d=c.match(kpe);return u(d)&&d.forEach(function(p){let g=p.substring(1,p.length-1);u(l[g])&&(f[g]=l[g](e,t,n,i,o,r,s))}),a.getDerivedResource({templateValues:f})}function $b(e,t,n){if(e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)){let i=e.urlSchemeZeroPadding[t];if(typeof i=="string"){let o=i.length;o>1&&(n=n.length>=o?n:new Array(o-n.toString().length+1).join("0")+n)}}return n}function Ttt(e,t,n,i){return $b(e,"{x}",t)}function Ett(e,t,n,i){let o=e.tilingScheme.getNumberOfXTilesAtLevel(i)-t-1;return $b(e,"{reverseX}",o)}function btt(e,t,n,i){return $b(e,"{y}",n)}function Stt(e,t,n,i){let o=e.tilingScheme.getNumberOfYTilesAtLevel(i)-n-1;return $b(e,"{reverseY}",o)}function Dtt(e,t,n,i){let o=e.maximumLevel,r=u(o)&&i<o?o-i-1:i;return $b(e,"{reverseZ}",r)}function vtt(e,t,n,i){return $b(e,"{z}",i)}function wtt(e,t,n,i){let o=(t+n+i)%e._subdomains.length;return e._subdomains[o]}function Wz(e,t,n,i){Hz||(e.tilingScheme.tileXYToRectangle(t,n,i,Eu),Eu.west=P.toDegrees(Eu.west),Eu.south=P.toDegrees(Eu.south),Eu.east=P.toDegrees(Eu.east),Eu.north=P.toDegrees(Eu.north),Hz=!0)}function Itt(e,t,n,i){return Wz(e,t,n,i),Eu.west}function Ptt(e,t,n,i){return Wz(e,t,n,i),Eu.south}function Ott(e,t,n,i){return Wz(e,t,n,i),Eu.east}function Rtt(e,t,n,i){return Wz(e,t,n,i),Eu.north}function jz(e,t,n,i){Gz||(e.tilingScheme.tileXYToNativeRectangle(t,n,i,DL),Gz=!0)}function Btt(e,t,n,i){return jz(e,t,n,i),DL.west}function Mtt(e,t,n,i){return jz(e,t,n,i),DL.south}function Ltt(e,t,n,i){return jz(e,t,n,i),DL.east}function Ntt(e,t,n,i){return jz(e,t,n,i),DL.north}function Ftt(e,t,n,i){return e.tileWidth}function Vtt(e,t,n,i){return e.tileHeight}function Utt(e,t,n,i,o,r,s){return Yz(e,t,n,i,o,r),Jb.x}function ktt(e,t,n,i,o,r,s){return Yz(e,t,n,i,o,r),Jb.y}function ztt(e,t,n,i,o,r,s){return Yz(e,t,n,i,o,r),e.tileWidth-Jb.x-1}function Htt(e,t,n,i,o,r,s){return Yz(e,t,n,i,o,r),e.tileHeight-Jb.y-1}var Gtt=new ce,Zb=new h;function Yz(e,t,n,i,o,r,s){if(pY)return;gY(e,t,n,i,o,r);let a=Zb,c=e.tilingScheme.tileXYToNativeRectangle(t,n,i,Gtt);Jb.x=e.tileWidth*(a.x-c.west)/c.width|0,Jb.y=e.tileHeight*(c.north-a.y)/c.height|0,pY=!0}function Wtt(e,t,n,i,o,r,s){return P.toDegrees(o)}function jtt(e,t,n,i,o,r,s){return P.toDegrees(r)}function Ytt(e,t,n,i,o,r,s){return gY(e,t,n,i,o,r),Zb.x}function qtt(e,t,n,i,o,r,s){return gY(e,t,n,i,o,r),Zb.y}var Xtt=new he;function gY(e,t,n,i,o,r,s){if(!_Y){if(e.tilingScheme.projection instanceof Ei)Zb.x=P.toDegrees(o),Zb.y=P.toDegrees(r);else{let a=Xtt;a.longitude=o,a.latitude=r,e.tilingScheme.projection.project(a,Zb)}_Y=!0}}function Ktt(e,t,n,i,o,r,s){return s}var ya=Qb;function Gx(e){e=y(e,y.EMPTY_OBJECT),this._tmsResource=void 0,this._xmlResource=void 0,this._options=e,this._metadataError=void 0,this._metadataSuccess=this._metadataSuccess.bind(this),this._metadataFailure=this._metadataFailure.bind(this),this._requestMetadata=this._requestMetadata.bind(this);let t,n=this,i=Promise.resolve(e.url).then(function(o){return t=Oe.createIfNeeded(o),t.appendForwardSlash(),n._tmsResource=t,n._xmlResource=t.getDerivedResource({url:"tilemapresource.xml"}),n._requestMetadata()}).catch(o=>Promise.reject(o));ya.call(this,i),this._promise=i}u(Object.create)&&(Gx.prototype=Object.create(ya.prototype),Gx.prototype.constructor=Gx);Gx.prototype._requestMetadata=function(){return this._xmlResource.fetchXML().then(this._metadataSuccess).catch(e=>e instanceof ph?this._metadataFailure():Promise.reject(e))};function Hpe(e,t){return e.west<t.rectangle.west&&(e.west=t.rectangle.west),e.east>t.rectangle.east&&(e.east=t.rectangle.east),e.south<t.rectangle.south&&(e.south=t.rectangle.south),e.north>t.rectangle.north&&(e.north=t.rectangle.north),e}function Gpe(e,t,n){let i=e.positionToTileXY(ce.southwest(t),n),o=e.positionToTileXY(ce.northeast(t),n);return(Math.abs(o.x-i.x)+1)*(Math.abs(o.y-i.y)+1)>4?0:n}Gx.prototype._metadataSuccess=function(e){let t=/tileformat/i,n=/tileset/i,i=/tilesets/i,o=/boundingbox/i,r,s,a,c=[],l=this._xmlResource,f=this._metadataError,d=this._requestMetadata,p=e.childNodes[0].childNodes;for(let O=0;O<p.length;O++)if(t.test(p.item(O).nodeName))r=p.item(O);else if(i.test(p.item(O).nodeName)){a=p.item(O);let L=p.item(O).childNodes;for(let N=0;N<L.length;N++)n.test(L.item(N).nodeName)&&c.push(L.item(N))}else o.test(p.item(O).nodeName)&&(s=p.item(O));let g;if(!u(a)||!u(s))return g=`Unable to find expected tilesets or bbox attributes in ${l.url}.`,f=Xn.reportError(f,this,this.errorEvent,g),f.retry?(this._metadataError=f,d()):Promise.reject(new ue(g));let m=this._options,A=y(m.fileExtension,r.getAttribute("extension")),x=y(m.tileWidth,parseInt(r.getAttribute("width"),10)),C=y(m.tileHeight,parseInt(r.getAttribute("height"),10)),T=y(m.minimumLevel,parseInt(c[0].getAttribute("order"),10)),E=y(m.maximumLevel,parseInt(c[c.length-1].getAttribute("order"),10)),S=a.getAttribute("profile"),D=m.tilingScheme;if(!u(D))if(S==="geodetic"||S==="global-geodetic")D=new ji({ellipsoid:m.ellipsoid});else if(S==="mercator"||S==="global-mercator")D=new Gr({ellipsoid:m.ellipsoid});else return g=`${l.url}specifies an unsupported profile attribute, ${S}.`,f=Xn.reportError(f,this,this.errorEvent,g),f.retry?(this._metadataError=f,d()):Promise.reject(new ue(g));let w=ce.clone(m.rectangle);if(!u(w)){let O,L,N,_;y(m.flipXY,!1)?(N=new H(parseFloat(s.getAttribute("miny")),parseFloat(s.getAttribute("minx"))),_=new H(parseFloat(s.getAttribute("maxy")),parseFloat(s.getAttribute("maxx")))):(N=new H(parseFloat(s.getAttribute("minx")),parseFloat(s.getAttribute("miny"))),_=new H(parseFloat(s.getAttribute("maxx")),parseFloat(s.getAttribute("maxy"))));let v=S==="geodetic"||S==="mercator";if(D.projection instanceof Ei||v)O=he.fromDegrees(N.x,N.y),L=he.fromDegrees(_.x,_.y);else{let I=D.projection;O=I.unproject(N),L=I.unproject(_)}w=new ce(O.longitude,O.latitude,L.longitude,L.latitude)}w=Hpe(w,D),T=Gpe(D,w,T);let R=this._tmsResource.getDerivedResource({url:`{z}/{x}/{reverseY}.${A}`});return Promise.resolve({url:R,tilingScheme:D,rectangle:w,tileWidth:x,tileHeight:C,minimumLevel:T,maximumLevel:E,tileDiscardPolicy:m.tileDiscardPolicy,credit:m.credit})};Gx.prototype._metadataFailure=function(){let e=this._options,t=y(e.fileExtension,"png"),n=y(e.tileWidth,256),i=y(e.tileHeight,256),o=e.maximumLevel,r=u(e.tilingScheme)?e.tilingScheme:new Gr({ellipsoid:e.ellipsoid}),s=y(e.rectangle,r.rectangle);s=Hpe(s,r);let a=Gpe(r,s,e.minimumLevel),c=this._tmsResource.getDerivedResource({url:`{z}/{x}/{reverseY}.${t}`});return Promise.resolve({url:c,tilingScheme:r,rectangle:s,tileWidth:n,tileHeight:i,minimumLevel:a,maximumLevel:o,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit})};var Fy=Gx;function wf(e){e=y(e,{}),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=1.9,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t=e.url,n=y(e.path,"/default_map"),i=Oe.createIfNeeded(t).getDerivedResource({url:n[0]==="/"?n.substring(1):n});i.appendForwardSlash(),this._resource=i,this._url=t,this._path=n,this._tileDiscardPolicy=e.tileDiscardPolicy,this._channel=e.channel,this._requestType="ImageryMaps",this._credit=new Zt(`<a href="http://www.google.com/enterprise/mapsearth/products/earthenterprise.html"><img src="${wf.logoUrl}" title="Google Imagery"/></a>`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=e.maximumLevel,this._errorEvent=new Ae,this._ready=!1;let o=i.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),r=this,s;function a(f){let d;try{d=JSON.parse(f)}catch{d=JSON.parse(f.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}let p;for(let m=0;m<d.layers.length;m++)if(d.layers[m].id===r._channel){p=d.layers[m];break}let g;if(!u(p))return g=`Could not find layer with channel (id) of ${r._channel}.`,s=Xn.reportError(s,r,r._errorEvent,g),s.retry?l():Promise.reject(new ue(g));if(!u(p.version))return g=`Could not find a version in channel (id) ${r._channel}.`,s=Xn.reportError(s,r,r._errorEvent,g),s.retry?l():Promise.reject(new ue(g));if(r._version=p.version,u(d.projection)&&d.projection==="flat")r._tilingScheme=new ji({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ce(-Math.PI,-Math.PI,Math.PI,Math.PI),ellipsoid:e.ellipsoid});else if(!u(d.projection)||d.projection==="mercator")r._tilingScheme=new Gr({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid});else return g=`Unsupported projection ${d.projection}.`,s=Xn.reportError(s,r,r._errorEvent,g),s.retry?l():Promise.reject(new ue(g));return r._ready=!0,Xn.reportSuccess(s),Promise.resolve(!0)}function c(f){let d=y(f.message,`An error occurred while accessing ${o.url}.`);return s=Xn.reportError(s,r,r._errorEvent,d),Promise.reject(new ue(d))}function l(){return o.fetchText().then(a).catch(c)}this._readyPromise=l()}Object.defineProperties(wf.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});wf.prototype.getTileCredits=function(e,t,n){};wf.prototype.requestImage=function(e,t,n,i){let o=this._resource.getDerivedResource({url:"query",request:i,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:n+1}});return Gc.loadImage(this,o)};wf.prototype.pickFeatures=function(e,t,n,i,o){};wf._logoUrl=void 0;Object.defineProperties(wf,{logoUrl:{get:function(){return u(wf._logoUrl)||(wf._logoUrl=$t("Assets/Images/google_earth_credit.png")),wf._logoUrl},set:function(e){wf._logoUrl=e}}});var vL=wf;var Ztt=/\/$/,Wpe=new Zt('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function eS(e){e=y(e,y.EMPTY_OBJECT);let t=e.mapId,n=e.accessToken;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let i=Oe.createIfNeeded(y(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=n;let o=y(e.format,"png");/\./.test(o)||(o=`.${o}`),this._format=o;let r=i.getUrlComponent();Ztt.test(r)||(r+="/"),r+=`${t}/{z}/{x}/{y}${this._format}`,i.url=r,i.setQueryParameters({access_token:n});let s;u(e.credit)?(s=e.credit,typeof s=="string"&&(s=new Zt(s))):s=Wpe,this._resource=i,this._imageryProvider=new ya({url:i,credit:s,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(eS.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return this._imageryProvider.ready}},readyPromise:{get:function(){return this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});eS.prototype.getTileCredits=function(e,t,n){};eS.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};eS.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};eS._defaultCredit=Wpe;var wL=eS;function IL(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t=Oe.createIfNeeded(e.url),n=y(e.rectangle,ce.MAX_VALUE),i=new ji({rectangle:n,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=i,this._resource=t,this._image=void 0,this._texture=void 0,this._tileWidth=0,this._tileHeight=0,this._errorEvent=new Ae,this._ready=!1;let o=e.credit;typeof o=="string"&&(o=new Zt(o)),this._credit=o;let r=this,s;function a(f){return r._image=f,r._tileWidth=f.width,r._tileHeight=f.height,r._ready=!0,Xn.reportSuccess(r._errorEvent),Promise.resolve(!0)}function c(f){let d=`Failed to load image ${t.url}.`;return s=Xn.reportError(s,r,r._errorEvent,d,0,0,0),s.retry?l():Promise.reject(new ue(d))}function l(){return Gc.loadImage(null,t).then(a).catch(c)}this._readyPromise=l()}Object.defineProperties(IL.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});IL.prototype.getTileCredits=function(e,t,n){};IL.prototype.requestImage=function(e,t,n,i){if(u(this._image))return Promise.resolve(this._image)};IL.prototype.pickFeatures=function(e,t,n,i,o){};var PL=IL;function Jtt(e,t,n){this.type=e,u(t)||(e==="json"?t="application/json":e==="xml"?t="text/xml":e==="html"?t="text/html":e==="text"&&(t="text/plain")),this.format=t,u(n)||(e==="json"?n=Qtt:e==="xml"?n=nnt:(e==="html"||e==="text")&&(n=jpe)),this.callback=n}function Qtt(e){let t=[],n=e.features;for(let i=0;i<n.length;++i){let o=n[i],r=new eh;if(r.data=o,r.properties=o.properties,r.configureNameFromProperties(o.properties),r.configureDescriptionFromProperties(o.properties),u(o.geometry)&&o.geometry.type==="Point"){let s=o.geometry.coordinates[0],a=o.geometry.coordinates[1];r.position=he.fromDegrees(s,a)}t.push(r)}return t}var yY="http://www.mapinfo.com/mxp",$tt="http://www.esri.com/wms",ent="http://www.opengis.net/wfs",tnt="http://www.opengis.net/gml";function nnt(e){let t=e.documentElement;if(t.localName==="MultiFeatureCollection"&&t.namespaceURI===yY)return int(e);if(t.localName==="FeatureInfoResponse"&&t.namespaceURI===$tt)return ont(e);if(t.localName==="FeatureCollection"&&t.namespaceURI===ent)return rnt(e);if(t.localName==="ServiceExceptionReport")throw new ue(new XMLSerializer().serializeToString(t));return t.localName==="msGMLOutput"?snt(e):ant(e)}function int(e){let t=[],i=e.documentElement.getElementsByTagNameNS(yY,"Feature");for(let o=0;o<i.length;++o){let r=i[o],s={},a=r.getElementsByTagNameNS(yY,"Val");for(let l=0;l<a.length;++l){let f=a[l];if(f.hasAttribute("ref")){let d=f.getAttribute("ref"),p=f.textContent.trim();s[d]=p}}let c=new eh;c.data=r,c.properties=s,c.configureNameFromProperties(s),c.configureDescriptionFromProperties(s),t.push(c)}return t}function ont(e){let t=e.documentElement,n=[],i,o=t.getElementsByTagNameNS("*","FIELDS");if(o.length>0)for(let r=0;r<o.length;++r){let s=o[r];i={};let a=s.attributes;for(let c=0;c<a.length;++c){let l=a[c];i[l.name]=l.value}n.push(qz(s,i))}else{let r=t.getElementsByTagNameNS("*","FeatureInfo");for(let s=0;s<r.length;++s){let a=r[s];i={};let c=a.childNodes;for(let l=0;l<c.length;++l){let f=c[l];f.nodeType===Node.ELEMENT_NODE&&(i[f.localName]=f.textContent)}n.push(qz(a,i))}}return n}function rnt(e){let t=[],i=e.documentElement.getElementsByTagNameNS(tnt,"featureMember");for(let o=0;o<i.length;++o){let r=i[o],s={};AY(r,s),t.push(qz(r,s))}return t}function snt(e){let t=[],n,i=e.documentElement.childNodes;for(let r=0;r<i.length;r++)if(i[r].nodeType===Node.ELEMENT_NODE){n=i[r];break}if(!u(n))throw new ue("Unable to find first child of the feature info xml document");let o=n.childNodes;for(let r=0;r<o.length;++r){let s=o[r];if(s.nodeType===Node.ELEMENT_NODE){let a={};AY(s,a),t.push(qz(s,a))}}return t}function AY(e,t){let n=!0;for(let i=0;i<e.childNodes.length;++i){let o=e.childNodes[i];o.nodeType===Node.ELEMENT_NODE&&(n=!1),!(o.localName==="Point"||o.localName==="LineString"||o.localName==="Polygon"||o.localName==="boundedBy")&&o.hasChildNodes()&&AY(o,t)&&(t[o.localName]=o.textContent)}return n}function qz(e,t){let n=new eh;return n.data=e,n.properties=t,n.configureNameFromProperties(t),n.configureDescriptionFromProperties(t),n}function ant(e){let t=new XMLSerializer().serializeToString(e),n=document.createElement("div"),i=document.createElement("pre");i.textContent=t,n.appendChild(i);let o=new eh;return o.data=e,o.description=n.innerHTML,[o]}var cnt=/<body>\s*<\/body>/im,lnt=/<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im,unt=/<title>([\s\S]*)<\/title>/im;function jpe(e){if(cnt.test(e)||lnt.test(e))return;let t,n=unt.exec(e);n&&n.length>1&&(t=n[1]);let i=new eh;return i.name=t,i.description=e,i.data=e,[i]}var Wx=Jtt;function OL(e){e=y(e,y.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}Object.defineProperties(OL.prototype,{clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});OL.prototype.getFromCache=function(e,t,n,i){let o=Ype(e,t,n),r,s=this._tileCache[this._currentIntervalIndex];if(u(s)&&u(s[o])){let a=s[o];r=a.promise.catch(function(c){throw i.state=a.request.state,c}),delete s[o]}return r};OL.prototype.checkApproachingInterval=function(e,t,n,i){let o=Ype(e,t,n),r=this._tilesRequestedForInterval,s=qpe(this),a={key:o,priorityFunction:i.priorityFunction};(!u(s)||!Xpe(this,a,s))&&r.push(a),r.length>=512&&r.splice(0,256)};OL.prototype._clockOnTick=function(e){let t=e.currentTime,i=this._times.indexOf(t),o=this._currentIntervalIndex;if(i!==o){let s=this._tileCache[o];for(let a in s)s.hasOwnProperty(a)&&s[a].request.cancel();delete this._tileCache[o],this._tilesRequestedForInterval=[],this._currentIntervalIndex=i,this._reloadFunction();return}let r=qpe(this);if(u(r)){let s=this._tilesRequestedForInterval,a=!0;for(;a&&s.length!==0;){let c=s.pop();a=Xpe(this,c,r),a||s.push(c)}}};function Ype(e,t,n){return`${e}-${t}-${n}`}function fnt(e){let t=e.split("-");if(t.length===3)return{x:Number(t[0]),y:Number(t[1]),level:Number(t[2])}}function qpe(e){let t=e._times;if(!u(t))return;let n=e._clock,i=n.currentTime,o=n.canAnimate&&n.shouldAnimate,r=n.multiplier;if(!o&&r!==0)return;let s,a=t.indexOf(i);if(a<0)return;let c=t.get(a);return r>0?(s=$.secondsDifference(c.stop,i),++a):(s=$.secondsDifference(c.start,i),--a),s/=r,a>=0&&s<=5?t.get(a):void 0}function Xpe(e,t,n){let i=e._times.indexOf(n.start),o=e._tileCache,r=o[i];u(r)||(r=o[i]={});let s=t.key;if(u(r[s]))return!0;let a=fnt(s),c=new zo({throttle:!1,throttleByServer:!0,type:Qr.IMAGERY,priorityFunction:t.priorityFunction}),l=e._requestImageFunction(a.x,a.y,a.level,c,n);return u(l)?(r[s]={promise:l,request:c},!0):!1}var jx=OL;var dnt=[3034,3035,3042,3043,3044],hnt=[4471,4559];function th(e){if(e=y(e,y.EMPTY_OBJECT),u(e.times)&&!u(e.clock))throw new de("options.times was specified, so options.clock is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=y(e.getFeatureInfoUrl,e.url);let t=Oe.createIfNeeded(e.url),n=Oe.createIfNeeded(this._getFeatureInfoUrl);t.setQueryParameters(th.DefaultParameters,!0),n.setQueryParameters(th.GetFeatureInfoDefaultParameters,!0),u(e.parameters)&&t.setQueryParameters(Kpe(e.parameters)),u(e.getFeatureInfoParameters)&&n.setQueryParameters(Kpe(e.getFeatureInfoParameters));let i=this;this._reload=void 0,u(e.times)&&(this._timeDynamicImagery=new jx({clock:e.clock,times:e.times,requestImageFunction:function(s,a,c,l,f){return Zpe(i,s,a,c,l,f)},reloadFunction:function(){u(i._reload)&&i._reload()}}));let o={};if(o.layers=e.layers,o.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",o.width="{width}",o.height="{height}",parseFloat(t.queryParameters.version)>=1.3){o.crs=y(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof Si?"EPSG:3857":"CRS:84");let s=o.crs.split(":");if(s[0]==="EPSG"&&s.length===2){let a=Number(s[1]);(a>=4e3&&a<5e3&&!hnt.includes(a)||dnt.includes(a))&&(o.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else o.srs=y(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof Si?"EPSG:3857":"EPSG:4326");t.setQueryParameters(o,!0),n.setQueryParameters(o,!0);let r={query_layers:e.layers,info_format:"{format}"};parseFloat(n.queryParameters.version)>=1.3?(r.i="{i}",r.j="{j}"):(r.x="{i}",r.y="{j}"),n.setQueryParameters(r,!0),this._resource=t,this._pickFeaturesResource=n,this._layers=e.layers,this._tileProvider=new ya({url:t,pickFeaturesUrl:n,tilingScheme:y(e.tilingScheme,new ji({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:y(e.getFeatureInfoFormats,th.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function Zpe(e,t,n,i,o,r){let s=u(r)?r.data:void 0,a=e._tileProvider;return u(s)&&a._resource.setQueryParameters(s),a.requestImage(t,n,i,o)}function mnt(e,t,n,i,o,r,s){let a=u(s)?s.data:void 0,c=e._tileProvider;return u(a)&&c._pickFeaturesResource.setQueryParameters(a),c.pickFeatures(t,n,i,o,r)}Object.defineProperties(th.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},ready:{get:function(){return this._tileProvider.ready}},readyPromise:{get:function(){return this._tileProvider.readyPromise}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}}});th.prototype.getTileCredits=function(e,t,n){return this._tileProvider.getTileCredits(e,t,n)};th.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return u(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),u(o)||(o=Zpe(this,e,t,n,i,s)),u(o)&&u(r)&&r.checkApproachingInterval(e,t,n,i),o};th.prototype.pickFeatures=function(e,t,n,i,o){let r=this._timeDynamicImagery,s=u(r)?r.currentInterval:void 0;return mnt(this,e,t,n,i,o,s)};th.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});th.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});th.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new Wx("json","application/json")),Object.freeze(new Wx("xml","text/xml")),Object.freeze(new Wx("text","text/html"))]);function Kpe(e){let t={};for(let n in e)e.hasOwnProperty(n)&&(t[n.toLowerCase()]=e[n]);return t}var RL=th;var pnt=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function BL(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t=Oe.createIfNeeded(e.url),n=e.style,i=e.tileMatrixSetID,o=t.url,r=o.match(/{/g);if(!u(r)||r.length===1&&/{s}/.test(o))t.setQueryParameters(pnt),this._useKvp=!0;else{let d={style:n,Style:n,TileMatrixSet:i};t.setTemplateValues(d),this._useKvp=!1}this._resource=t,this._layer=e.layer,this._style=n,this._tileMatrixSetID=i,this._tileMatrixLabels=e.tileMatrixLabels,this._format=y(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=u(e.tilingScheme)?e.tilingScheme:new Gr({ellipsoid:e.ellipsoid}),this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;let s=this;this._reload=void 0,u(e.times)&&(this._timeDynamicImagery=new jx({clock:e.clock,times:e.times,requestImageFunction:function(d,p,g,m,A){return Jpe(s,d,p,g,m,A)},reloadFunction:function(){u(s._reload)&&s._reload()}})),this._readyPromise=Promise.resolve(!0);let a=this._tilingScheme.positionToTileXY(ce.southwest(this._rectangle),this._minimumLevel),c=this._tilingScheme.positionToTileXY(ce.northeast(this._rectangle),this._minimumLevel),l=(Math.abs(c.x-a.x)+1)*(Math.abs(c.y-a.y)+1);this._errorEvent=new Ae;let f=e.credit;this._credit=typeof f=="string"?new Zt(f):f,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():u(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function Jpe(e,t,n,i,o,r){let s=e._tileMatrixLabels,a=u(s)?s[i]:i.toString(),c=e._subdomains,l=e._dimensions,f=u(r)?r.data:void 0,d,p;if(!e._useKvp)p={TileMatrix:a,TileRow:n.toString(),TileCol:t.toString(),s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({request:o}),d.setTemplateValues(p),u(l)&&d.setTemplateValues(l),u(f)&&d.setTemplateValues(f);else{let g={};g.tilematrix=a,g.layer=e._layer,g.style=e._style,g.tilerow=n,g.tilecol=t,g.tilematrixset=e._tileMatrixSetID,g.format=e._format,u(l)&&(g=_t(g,l)),u(f)&&(g=_t(g,f)),p={s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({queryParameters:g,request:o}),d.setTemplateValues(p)}return Gc.loadImage(e,d)}Object.defineProperties(BL.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},ready:{value:!0},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,u(this._reload)&&this._reload())}}});BL.prototype.getTileCredits=function(e,t,n){};BL.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return u(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),u(o)||(o=Jpe(this,e,t,n,i,s)),u(o)&&u(r)&&r.checkApproachingInterval(e,t,n,i),o};BL.prototype.pickFeatures=function(e,t,n,i,o){};var ML=BL;function E_(e){return function(t){return new e(t)}}var _nt={ARCGIS_MAPSERVER:E_(T_),BING:E_(SL),GOOGLE_EARTH:E_(vL),MAPBOX:E_(wL),SINGLE_TILE:E_(PL),TMS:E_(Fy),URL_TEMPLATE:E_(ya),WMS:E_(RL),WMTS:E_(ML)};function Vy(e){e=y(e,y.EMPTY_OBJECT);let t=e.assetId;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._ready=!1,this._tileCredits=void 0,this._errorEvent=new Ae;let n=this,i=Qd._createEndpointResource(t,e),o=e.assetId.toString()+e.accessToken+e.server,r=Vy._endpointCache[o];u(r)||(r=i.fetchJson(),Vy._endpointCache[o]=r),this._readyPromise=r.then(function(s){if(s.type!=="IMAGERY")return Promise.reject(new ue(`Cesium ion asset ${t} is not an imagery asset.`));let a,c=s.externalType;if(!u(c))a=new Fy({url:new Qd(s,i)});else{let l=_nt[c];if(!u(l))return Promise.reject(new ue(`Unrecognized Cesium ion imagery type: ${c}`));a=l(s.options)}return n._tileCredits=Qd.getCreditsFromEndpoint(s,i),a.errorEvent.addEventListener(function(l){l.provider=n,n._errorEvent.raiseEvent(l)}),n._imageryProvider=a,a.readyPromise.then(function(){return n._ready=!0,!0})})}Object.defineProperties(Vy.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel},proxy:{get:function(){}}}});Vy.prototype.getTileCredits=function(e,t,n){let i=this._imageryProvider.getTileCredits(e,t,n);return u(i)?this._tileCredits.concat(i):this._tileCredits};Vy.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};Vy.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};Vy._endpointCache={};var b_=Vy;var gnt={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},S_=Object.freeze(gnt);function ynt(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.style,S_.AERIAL);return new b_({assetId:t})}var D_=ynt;var Ant=new H;function xnt(e,t){let n=e.unionClippingRegions,i=e.length,o=ss.useFloatTexture(t),r=ss.getTextureResolution(e,t,Ant),s=r.x,a=r.y,c=o?Ent(s,a):bnt(s,a);return c+=` +`,c+=n?Cnt(i):Tnt(i),c}function Cnt(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) +{ + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float clipAmount; + float pixelWidth = czm_metersPerPixel(position); + bool breakAndDiscard = false; + for (int i = 0; i < ${e}; ++i) + { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); + if (amount <= 0.0) + { + breakAndDiscard = true; + break; + } + } + if (breakAndDiscard) { + discard; + } + return clipAmount; +} +`}function Tnt(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) +{ + bool clipped = true; + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float clipAmount = 0.0; + float pixelWidth = czm_metersPerPixel(position); + for (int i = 0; i < ${e}; ++i) + { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + clipAmount = max(amount, clipAmount); + clipped = clipped && (amount <= 0.0); + } + if (clipped) + { + discard; + } + return clipAmount; +} +`}function Ent(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) +{ + int pixY = clippingPlaneNumber / ${e}; + int pixX = clippingPlaneNumber - (pixY * ${e}); + float u = (float(pixX) + 0.5) * ${o}; + float v = (float(pixY) + 0.5) * ${r}; + vec4 plane = texture(packedClippingPlanes, vec2(u, v)); + return czm_transformPlane(plane, transform); +} +`}function bnt(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) +{ + int clippingPlaneStartIndex = clippingPlaneNumber * 2; + int pixY = clippingPlaneStartIndex / ${e}; + int pixX = clippingPlaneStartIndex - (pixY * ${e}); + float u = (float(pixX) + 0.5) * ${o}; + float v = (float(pixY) + 0.5) * ${r}; + vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; + vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); + vec4 plane; + plane.xyz = czm_octDecode(oct, 65535.0); + plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + ${o}, v))); + return czm_transformPlane(plane, transform); +} +`}var v_=xnt;function Snt(e,t,n,i,o){this.numberOfDayTextures=e,this.flags=t,this.material=n,this.shaderProgram=i,this.clippingShaderState=o}function xY(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function Dnt(e){let t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }",n="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }",i="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }",o;switch(e){case te.SCENE3D:o=t;break;case te.SCENE2D:case te.COLUMBUS_VIEW:o=n;break;case te.MORPHING:o=i;break}return o}function vnt(e){return e?"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }":"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }"}xY.prototype.getShaderProgram=function(e){let t=e.frameState,n=e.surfaceTile,i=e.numberOfDayTextures,o=e.applyBrightness,r=e.applyContrast,s=e.applyHue,a=e.applySaturation,c=e.applyGamma,l=e.applyAlpha,f=e.applyDayNightAlpha,d=e.applySplit,p=e.showReflectiveOcean,g=e.showOceanWaves,m=e.enableLighting,A=e.dynamicAtmosphereLighting,x=e.dynamicAtmosphereLightingFromSun,C=e.showGroundAtmosphere,T=e.perFragmentGroundAtmosphere,E=e.hasVertexNormals,S=e.useWebMercatorProjection,D=e.enableFog,w=e.enableClippingPlanes,R=e.clippingPlanes,O=e.clippedByBoundaries,L=e.hasImageryLayerCutout,N=e.colorCorrect,_=e.highlightFillTile,b=e.colorToAlpha,v=e.hasGeodeticSurfaceNormals,I=e.hasExaggeration,B=e.showUndergroundColor,F=e.translucent,k=0,U="",V=n.renderedMesh.encoding;V.quantization===Ps.BITS12&&(k=1,U="QUANTIZATION_BITS12");let j=0,Q="";O&&(j=1,Q="TILE_LIMIT_RECTANGLE");let W=0,K="";L&&(W=1,K="APPLY_IMAGERY_CUTOUT");let J=t.mode,_e=J|o<<2|r<<3|s<<4|a<<5|c<<6|l<<7|p<<8|g<<9|m<<10|A<<11|x<<12|C<<13|T<<14|E<<15|S<<16|D<<17|k<<18|d<<19|w<<20|j<<21|W<<22|N<<23|_<<24|b<<25|v<<26|I<<27|B<<28|F<<29|f<<30,xe=0;u(R)&&R.length>0&&(xe=w?R.clippingPlanesState:0);let re=n.surfaceShader;if(u(re)&&re.numberOfDayTextures===i&&re.flags===_e&&re.material===this.material&&re.clippingShaderState===xe)return re.shaderProgram;let ye=this._shadersByTexturesFlags[i];if(u(ye)||(ye=this._shadersByTexturesFlags[i]=[]),re=ye[_e],!u(re)||re.material!==this.material||re.clippingShaderState!==xe){let fe=this.baseVertexShaderSource.clone(),Se=this.baseFragmentShaderSource.clone();xe!==0&&Se.sources.unshift(v_(R,t.context)),fe.defines.push(U),Se.defines.push(`TEXTURE_UNITS ${i}`,Q,K),o&&Se.defines.push("APPLY_BRIGHTNESS"),r&&Se.defines.push("APPLY_CONTRAST"),s&&Se.defines.push("APPLY_HUE"),a&&Se.defines.push("APPLY_SATURATION"),c&&Se.defines.push("APPLY_GAMMA"),l&&Se.defines.push("APPLY_ALPHA"),f&&Se.defines.push("APPLY_DAY_NIGHT_ALPHA"),p&&(Se.defines.push("SHOW_REFLECTIVE_OCEAN"),fe.defines.push("SHOW_REFLECTIVE_OCEAN")),g&&Se.defines.push("SHOW_OCEAN_WAVES"),b&&Se.defines.push("APPLY_COLOR_TO_ALPHA"),B&&(fe.defines.push("UNDERGROUND_COLOR"),Se.defines.push("UNDERGROUND_COLOR")),F&&(fe.defines.push("TRANSLUCENT"),Se.defines.push("TRANSLUCENT")),m&&(E?(fe.defines.push("ENABLE_VERTEX_LIGHTING"),Se.defines.push("ENABLE_VERTEX_LIGHTING")):(fe.defines.push("ENABLE_DAYNIGHT_SHADING"),Se.defines.push("ENABLE_DAYNIGHT_SHADING"))),A&&(fe.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),Se.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),x&&(fe.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),Se.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),C&&(fe.defines.push("GROUND_ATMOSPHERE"),Se.defines.push("GROUND_ATMOSPHERE"),T&&(fe.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),Se.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),fe.defines.push("INCLUDE_WEB_MERCATOR_Y"),Se.defines.push("INCLUDE_WEB_MERCATOR_Y"),D&&(fe.defines.push("FOG"),Se.defines.push("FOG")),d&&Se.defines.push("APPLY_SPLIT"),w&&Se.defines.push("ENABLE_CLIPPING_PLANES"),N&&Se.defines.push("COLOR_CORRECT"),_&&Se.defines.push("HIGHLIGHT_FILL_TILE"),v&&fe.defines.push("GEODETIC_SURFACE_NORMALS"),I&&fe.defines.push("EXAGGERATION");let we=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend) + { + vec4 color = initialColor; +`;L&&(we+=` vec4 cutoutAndColorResult; + bool texelUnclipped; +`);for(let qe=0;qe<i;++qe)L?we+=` cutoutAndColorResult = u_dayTextureCutoutRectangles[${qe}]; + texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y; + cutoutAndColorResult = sampleAndBlend( +`:we+=` color = sampleAndBlend( +`,we+=` color, + u_dayTextures[${qe}], + u_dayTextureUseWebMercatorT[${qe}] ? textureCoordinates.xz : textureCoordinates.xy, + u_dayTextureTexCoordsRectangle[${qe}], + u_dayTextureTranslationAndScale[${qe}], + ${l?`u_dayTextureAlpha[${qe}]`:"1.0"}, + ${f?`u_dayTextureNightAlpha[${qe}]`:"1.0"}, +${f?`u_dayTextureDayAlpha[${qe}]`:"1.0"}, +${o?`u_dayTextureBrightness[${qe}]`:"0.0"}, + ${r?`u_dayTextureContrast[${qe}]`:"0.0"}, + ${s?`u_dayTextureHue[${qe}]`:"0.0"}, + ${a?`u_dayTextureSaturation[${qe}]`:"0.0"}, + ${c?`u_dayTextureOneOverGamma[${qe}]`:"0.0"}, + ${d?`u_dayTextureSplit[${qe}]`:"0.0"}, + ${b?`u_colorsToAlpha[${qe}]`:"vec4(0.0)"}, + nightBlend ); +`,L&&(we+=` color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color); +`);we+=` return color; + }`,Se.sources.push(we),fe.sources.push(Dnt(J)),fe.sources.push(vnt(S));let Ve=Xt.fromCache({context:t.context,vertexShaderSource:fe,fragmentShaderSource:Se,attributeLocations:V.getAttributeLocations()});re=ye[_e]=new Snt(i,_e,this.material,Ve,xe)}return n.surfaceShader=re,re.shaderProgram};xY.prototype.destroy=function(){let e,t,n=this._shadersByTexturesFlags;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];if(!u(o))continue;for(e in o)o.hasOwnProperty(e)&&(t=o[e],u(t)&&t.shaderProgram.destroy())}return le(this)};var LL=xY;var wnt={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},ui=Object.freeze(wnt);var Int={START:0,LOADING:1,DONE:2,FAILED:3},Os=Object.freeze(Int);var Pnt={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},mo=Object.freeze(Pnt);function Zo(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new oe(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new h,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=mo.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new se,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(Zo.prototype,{eligibleForUnloading:{get:function(){let e=this.terrainState,n=!(e===mo.RECEIVING||e===mo.TRANSFORMING),i=this.imagery;for(let o=0,r=i.length;n&&o<r;++o){let s=i[o];n=!u(s.loadingImagery)||s.loadingImagery.state!==ui.TRANSITIONING}return n}},renderedMesh:{get:function(){if(u(this.vertexArray))return this.mesh;if(u(this.fill))return this.fill.mesh}}});var Ont=new he;function CY(e,t,n,i,o,r){let s=e.getExaggeratedPosition(i,o,r);if(u(t)&&t!==te.SCENE3D){let c=n.ellipsoid.cartesianToCartographic(s,Ont);s=n.project(c,r),s=h.fromElements(s.z,s.x,s.y,r)}return s}var Rnt=new h,Bnt=new h,Mnt=new h;Zo.prototype.pick=function(e,t,n,i,o){let r=this.renderedMesh;if(!u(r))return;let s=r.vertices,a=r.indices,c=r.encoding,l=a.length,f=Number.MAX_VALUE;for(let d=0;d<l;d+=3){let p=a[d],g=a[d+1],m=a[d+2],A=CY(c,t,n,s,p,Rnt),x=CY(c,t,n,s,g,Bnt),C=CY(c,t,n,s,m,Mnt),T=Yi.rayTriangleParametric(e,A,x,C,i);u(T)&&T<f&&T>=0&&(f=T)}return f!==Number.MAX_VALUE?wn.getPoint(e,f,o):void 0};Zo.prototype.freeResources=function(){u(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=mo.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let e=this.imagery;for(let t=0,n=e.length;t<n;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()};Zo.prototype.freeVertexArray=function(){Zo._freeVertexArray(this.vertexArray),this.vertexArray=void 0,Zo._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0};Zo.initialize=function(e,t,n){let i=e.data;u(i)||(i=e.data=new Zo),e.state===Os.START&&(Lnt(e,t,n),e.state=Os.LOADING)};Zo.processStateMachine=function(e,t,n,i,o,r,s){Zo.initialize(e,n,i);let a=e.data;if(e.state===Os.LOADING&&Nnt(e,t,n,i,o,r),s)return;let c=e.renderable;e.renderable=u(a.vertexArray);let l=a.terrainState===mo.READY;e.upsampledFromParent=u(a.terrainData)&&a.terrainData.wasCreatedByUpsampling();let f=a.processImagery(e,n,t);if(l&&f){let d=e._loadedCallbacks,p={};for(let g in d)d.hasOwnProperty(g)&&(d[g](e)||(p[g]=d[g]));e._loadedCallbacks=p,e.state=Os.DONE}c&&(e.renderable=!0)};Zo.prototype.processImagery=function(e,t,n,i){let o=e.data,r=e.upsampledFromParent,s=!1,a=!0,c=o.imagery,l,f;for(l=0,f=c.length;l<f;++l){let d=c[l];if(!u(d.loadingImagery)){r=!1;continue}if(d.loadingImagery.state===ui.PLACEHOLDER){let g=d.loadingImagery.imageryLayer;if(g.imageryProvider.ready){d.freeResources(),c.splice(l,1),g._createTileImagerySkeletons(e,t,l),--l,f=c.length;continue}else r=!1}let p=d.processStateMachine(e,n,i);a=a&&p,s=s||p||u(d.readyImagery),r=r&&u(d.loadingImagery)&&(d.loadingImagery.state===ui.FAILED||d.loadingImagery.state===ui.INVALID)}return e.upsampledFromParent=r,e.renderable=e.renderable&&(s||a),a};function Qpe(e,t,n,i){let o=e.renderedMesh,r=o.vertices,s=o.encoding,a=r.length/s.stride,c=oc.clone(s);c.hasGeodeticSurfaceNormals=t,c=oc.clone(c);let l=c.stride,f=new Float32Array(a*l);t?s.addGeodeticSurfaceNormals(r,f,n):s.removeGeodeticSurfaceNormals(r,f),o.vertices=f,o.stride=l,o!==e.mesh?(Zo._freeVertexArray(e.fill.vertexArray),e.fill.vertexArray=Zo._createVertexArrayForMesh(i.context,o)):(Zo._freeVertexArray(e.vertexArray),e.vertexArray=Zo._createVertexArrayForMesh(i.context,o)),Zo._freeVertexArray(e.wireframeVertexArray),e.wireframeVertexArray=void 0}Zo.prototype.addGeodeticSurfaceNormals=function(e,t){Qpe(this,!0,e,t)};Zo.prototype.removeGeodeticSurfaceNormals=function(e){Qpe(this,!1,void 0,e)};Zo.prototype.updateExaggeration=function(e,t,n){let i=this,o=i.renderedMesh;if(o===void 0)return;let r=t.terrainExaggeration,s=t.terrainExaggerationRelativeHeight,a=r!==1,c=o.encoding,l=c.exaggeration!==r,f=c.exaggerationRelativeHeight!==s;if(l||f){if(l)if(a&&!c.hasGeodeticSurfaceNormals){let d=e.tilingScheme.ellipsoid;i.addGeodeticSurfaceNormals(d,t)}else!a&&c.hasGeodeticSurfaceNormals&&i.removeGeodeticSurfaceNormals(t);if(c.exaggeration=r,c.exaggerationRelativeHeight=s,n!==void 0){n._tileToUpdateHeights.push(e);let d=e.customData,p=d.length;for(let g=0;g<p;g++){let m=d[g];m.level=-1}}}};function Lnt(e,t,n){let i=t.getTileDataAvailable(e.x,e.y,e.level);if(!u(i)&&u(e.parent)){let o=e.parent,r=o.data;u(r)&&u(r.terrainData)&&(i=r.terrainData.isChildAvailable(o.x,o.y,e.x,e.y))}i===!1&&(e.data.terrainState=mo.FAILED);for(let o=0,r=n.length;o<r;++o){let s=n.get(o);s.show&&s._createTileImagerySkeletons(e,t)}}function Nnt(e,t,n,i,o,r){let s=e.data,a=e.parent;if(s.terrainState===mo.FAILED&&a!==void 0&&(a.data!==void 0&&a.data.terrainData!==void 0&&a.data.terrainData.canUpsample!==!1||Zo.processStateMachine(a,t,n,i,o,r,!0)),s.terrainState===mo.FAILED&&Fnt(s,e,t,n,e.x,e.y,e.level),s.terrainState===mo.UNLOADED&&Vnt(s,n,e.x,e.y,e.level),s.terrainState===mo.RECEIVED&&knt(s,t,n,e.x,e.y,e.level),s.terrainState===mo.TRANSFORMED&&(znt(s,t.context,n,e.x,e.y,e.level,r),s.updateExaggeration(e,t,o)),s.terrainState>=mo.RECEIVED&&s.waterMaskTexture===void 0&&n.hasWaterMask)if(s.terrainData.waterMask!==void 0)Gnt(t.context,s);else{let l=s._findAncestorTileWithTerrainData(e);u(l)&&u(l.data.waterMaskTexture)&&(s.waterMaskTexture=l.data.waterMaskTexture,++s.waterMaskTexture.referenceCount,s._computeWaterMaskTranslationAndScale(e,l,s.waterMaskTranslationAndScale))}}function Fnt(e,t,n,i,o,r,s){let a=t.parent;if(!a){t.state=Os.FAILED;return}let c=a.data.terrainData,l=a.x,f=a.y,d=a.level;if(!u(c))return;let p=c.upsample(i.tilingScheme,l,f,d,o,r,s);u(p)&&(e.terrainState=mo.RECEIVING,Promise.resolve(p).then(function(g){e.terrainData=g,e.terrainState=mo.RECEIVED}).catch(function(){e.terrainState=mo.FAILED}))}function Vnt(e,t,n,i,o){function r(c){e.terrainData=c,e.terrainState=mo.RECEIVED,e.request=void 0}function s(c){if(e.request.state===hi.CANCELLED){e.terrainData=void 0,e.terrainState=mo.UNLOADED,e.request=void 0;return}e.terrainState=mo.FAILED,e.request=void 0;let l=`Failed to obtain terrain tile X: ${n} Y: ${i} Level: ${o}. Error message: "${c}"`;t._requestError=Xn.reportError(t._requestError,t,t.errorEvent,l,n,i,o),t._requestError.retry&&a()}function a(){let c=new zo({throttle:!1,throttleByServer:!0,type:Qr.TERRAIN});e.request=c;let l=t.requestTileGeometry(n,i,o,c);u(l)?(e.terrainState=mo.RECEIVING,Promise.resolve(l).then(function(f){r(f)}).catch(function(f){s(f)})):(e.terrainState=mo.UNLOADED,e.request=void 0)}a()}var Unt={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function knt(e,t,n,i,o,r){let s=n.tilingScheme,a=Unt;a.tilingScheme=s,a.x=i,a.y=o,a.level=r,a.exaggeration=t.terrainExaggeration,a.exaggerationRelativeHeight=t.terrainExaggerationRelativeHeight,a.throttle=!0;let l=e.terrainData.createMesh(a);u(l)&&(e.terrainState=mo.TRANSFORMING,Promise.resolve(l).then(function(f){e.mesh=f,e.terrainState=mo.TRANSFORMED}).catch(function(){e.terrainState=mo.FAILED}))}Zo._createVertexArrayForMesh=function(e,t){let n=t.vertices,i=lt.createVertexBuffer({context:e,typedArray:n,usage:Ne.STATIC_DRAW}),o=t.encoding.getAttributes(i),r=t.indices.indexBuffers||{},s=r[e.id];if(!u(s)||s.isDestroyed()){let a=t.indices;s=lt.createIndexBuffer({context:e,typedArray:a,usage:Ne.STATIC_DRAW,indexDatatype:Fe.fromSizeInBytes(a.BYTES_PER_ELEMENT)}),s.vertexArrayDestroyable=!1,s.referenceCount=1,r[e.id]=s,t.indices.indexBuffers=r}else++s.referenceCount;return new oi({context:e,attributes:o,indexBuffer:s})};Zo._freeVertexArray=function(e){if(u(e)){let t=e.indexBuffer;e.isDestroyed()||e.destroy(),u(t)&&!t.isDestroyed()&&u(t.referenceCount)&&(--t.referenceCount,t.referenceCount===0&&t.destroy())}};function znt(e,t,n,i,o,r,s){e.vertexArray=Zo._createVertexArrayForMesh(t,e.mesh),e.terrainState=mo.READY,e.fill=e.fill&&e.fill.destroy(s)}function Hnt(e){let t=e.cache.tile_waterMaskData;if(!u(t)){let n=It.create({context:e,pixelFormat:rt.LUMINANCE,pixelDatatype:Xe.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});n.referenceCount=1;let i=new ln({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:an.LINEAR,magnificationFilter:yi.LINEAR});t={allWaterTexture:n,sampler:i,destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=t}return t}function Gnt(e,t){let n=t.terrainData.waterMask,i=Hnt(e),o,r=n.length;if(r===1)if(n[0]!==0)o=i.allWaterTexture;else return;else{let s=Math.sqrt(r);o=It.create({context:e,pixelFormat:rt.LUMINANCE,pixelDatatype:Xe.UNSIGNED_BYTE,source:{width:s,height:s,arrayBufferView:n},sampler:i.sampler,flipY:!1}),o.referenceCount=0}++o.referenceCount,t.waterMaskTexture=o,oe.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}Zo.prototype._findAncestorTileWithTerrainData=function(e){let t=e.parent;for(;u(t)&&(!u(t.data)||!u(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling());)t=t.parent;return t};Zo.prototype._computeWaterMaskTranslationAndScale=function(e,t,n){let i=t.rectangle,o=e.rectangle,r=o.width,s=o.height,a=r/i.width,c=s/i.height;return n.x=a*(o.west-i.west)/r,n.y=c*(o.south-i.south)/s,n.z=a,n.w=c,n};var If=Zo;function tS(e,t,n,i,o){if(this.imageryLayer=e,this.x=t,this.y=n,this.level=i,this.request=void 0,i!==0){let r=t/2|0,s=n/2|0,a=i-1;this.parent=e.getImageryFromCache(r,s,a)}this.state=ui.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!u(o)&&e.imageryProvider.ready&&(o=e.imageryProvider.tilingScheme.tileXYToRectangle(t,n,i)),this.rectangle=o}tS.createPlaceholder=function(e){let t=new tS(e,0,0,0);return t.addReference(),t.state=ui.PLACEHOLDER,t};tS.prototype.addReference=function(){++this.referenceCount};tS.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),u(this.parent)&&this.parent.releaseReference(),u(this.image)&&u(this.image.destroy)&&this.image.destroy(),u(this.texture)&&this.texture.destroy(),u(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),le(this),0):this.referenceCount};tS.prototype.processStateMachine=function(e,t,n){this.state===ui.UNLOADED&&!n&&(this.state=ui.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===ui.RECEIVED&&(this.state=ui.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));let i=this.state===ui.READY&&t&&!this.texture;(this.state===ui.TEXTURE_LOADED||i)&&(this.state=ui.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var nS=tS;function TY(e,t,n){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=n}TY.prototype.freeResources=function(){u(this.readyImagery)&&this.readyImagery.releaseReference(),u(this.loadingImagery)&&this.loadingImagery.releaseReference()};TY.prototype.processStateMachine=function(e,t,n){let i=this.loadingImagery,o=i.imageryLayer;if(i.processStateMachine(t,!this.useWebMercatorT,n),i.state===ui.READY)return u(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this),!0;let r=i.parent,s;for(;u(r)&&(r.state!==ui.READY||!this.useWebMercatorT&&!u(r.texture));)r.state!==ui.FAILED&&r.state!==ui.INVALID&&(s=s||r),r=r.parent;return this.readyImagery!==r&&(u(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=r,u(r)&&(r.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this))),i.state===ui.FAILED||i.state===ui.INVALID?u(s)?(s.processStateMachine(t,!this.useWebMercatorT,n),!1):!0:!1};var iS=TY;function ki(e,t){this._imageryProvider=e,t=y(t,y.EMPTY_OBJECT),this.alpha=y(t.alpha,y(e.defaultAlpha,1)),this.nightAlpha=y(t.nightAlpha,y(e.defaultNightAlpha,1)),this.dayAlpha=y(t.dayAlpha,y(e.defaultDayAlpha,1)),this.brightness=y(t.brightness,y(e.defaultBrightness,ki.DEFAULT_BRIGHTNESS)),this.contrast=y(t.contrast,y(e.defaultContrast,ki.DEFAULT_CONTRAST)),this.hue=y(t.hue,y(e.defaultHue,ki.DEFAULT_HUE)),this.saturation=y(t.saturation,y(e.defaultSaturation,ki.DEFAULT_SATURATION)),this.gamma=y(t.gamma,y(e.defaultGamma,ki.DEFAULT_GAMMA)),this.splitDirection=y(t.splitDirection,y(e.defaultSplit,ki.DEFAULT_SPLIT)),this.minificationFilter=y(t.minificationFilter,y(e.defaultMinificationFilter,ki.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=y(t.magnificationFilter,y(e.defaultMagnificationFilter,ki.DEFAULT_MAGNIFICATION_FILTER)),this.show=y(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=y(t.rectangle,ce.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new iS(nS.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=y(t.colorToAlphaThreshold,ki.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD)}Object.defineProperties(ki.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},rectangle:{get:function(){return this._rectangle}}});ki.DEFAULT_BRIGHTNESS=1;ki.DEFAULT_CONTRAST=1;ki.DEFAULT_HUE=0;ki.DEFAULT_SATURATION=1;ki.DEFAULT_GAMMA=1;ki.DEFAULT_SPLIT=Pc.NONE;ki.DEFAULT_MINIFICATION_FILTER=an.LINEAR;ki.DEFAULT_MAGNIFICATION_FILTER=yi.LINEAR;ki.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;ki.prototype.isBaseLayer=function(){return this._isBaseLayer};ki.prototype.isDestroyed=function(){return!1};ki.prototype.destroy=function(){return le(this)};var t_e=new ce,$pe=new ce,EY=new ce,n_e=new ce;ki.prototype.getViewableRectangle=function(){let e=this._imageryProvider,t=this._rectangle;return e.readyPromise.then(function(){return ce.intersection(e.rectangle,t)})};ki.prototype._createTileImagerySkeletons=function(e,t,n){let i=e.data;if(u(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel||u(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;let o=this._imageryProvider;if(u(n)||(n=i.imagery.length),!o.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),i.imagery.splice(n,0,this._skeletonPlaceholder),!0;let r=o.tilingScheme.projection instanceof Si&&e.rectangle.north<Si.MaximumLatitude&&e.rectangle.south>-Si.MaximumLatitude,s=ce.intersection(o.rectangle,this._rectangle,t_e),a=ce.intersection(e.rectangle,s,$pe);if(!u(a)){if(!this.isBaseLayer())return!1;let v=s,I=e.rectangle;a=$pe,I.south>=v.north?a.north=a.south=v.north:I.north<=v.south?a.north=a.south=v.south:(a.south=Math.max(I.south,v.south),a.north=Math.min(I.north,v.north)),I.west>=v.east?a.west=a.east=v.east:I.east<=v.west?a.west=a.east=v.west:(a.west=Math.max(I.west,v.west),a.east=Math.min(I.east,v.east))}let c=0;a.south>0?c=a.south:a.north<0&&(c=a.north);let f=1*t.getLevelMaximumGeometricError(e.level),d=Ynt(this,f,c);d=Math.max(0,d);let p=o.maximumLevel;if(d>p&&(d=p),u(o.minimumLevel)){let v=o.minimumLevel;d<v&&(d=v)}let g=o.tilingScheme,m=g.positionToTileXY(ce.northwest(a),d),A=g.positionToTileXY(ce.southeast(a),d),x=e.rectangle.width/512,C=e.rectangle.height/512,T=g.tileXYToRectangle(m.x,m.y,d);Math.abs(T.south-e.rectangle.north)<C&&m.y<A.y&&++m.y,Math.abs(T.east-e.rectangle.west)<x&&m.x<A.x&&++m.x;let E=g.tileXYToRectangle(A.x,A.y,d);Math.abs(E.north-e.rectangle.south)<C&&A.y>m.y&&--A.y,Math.abs(E.west-e.rectangle.east)<x&&A.x>m.x&&--A.x;let S=ce.clone(e.rectangle,n_e),D=g.tileXYToRectangle(m.x,m.y,d),w=ce.intersection(D,s,EY),R;r?(g.rectangleToNativeRectangle(S,S),g.rectangleToNativeRectangle(D,D),g.rectangleToNativeRectangle(w,w),g.rectangleToNativeRectangle(s,s),R=g.tileXYToNativeRectangle.bind(g),x=S.width/512,C=S.height/512):R=g.tileXYToRectangle.bind(g);let O,L=0,N=1,_;!this.isBaseLayer()&&Math.abs(w.west-S.west)>=x&&(L=Math.min(1,(w.west-S.west)/S.width)),!this.isBaseLayer()&&Math.abs(w.north-S.north)>=C&&(N=Math.max(0,(w.north-S.south)/S.height));let b=N;for(let v=m.x;v<=A.x;v++)if(O=L,D=R(v,m.y,d),w=ce.simpleIntersection(D,s,EY),!!u(w)){L=Math.min(1,(w.east-S.west)/S.width),v===A.x&&(this.isBaseLayer()||Math.abs(w.east-S.east)<x)&&(L=1),N=b;for(let I=m.y;I<=A.y;I++){if(_=N,D=R(v,I,d),w=ce.simpleIntersection(D,s,EY),!u(w))continue;N=Math.max(0,(w.south-S.south)/S.height),I===A.y&&(this.isBaseLayer()||Math.abs(w.south-S.south)<C)&&(N=0);let B=new oe(O,N,L,_),F=this.getImageryFromCache(v,I,d);i.imagery.splice(n,0,new iS(F,B,r)),++n}}return!0};ki.prototype._calculateTextureTranslationAndScale=function(e,t){let n=t.readyImagery.rectangle,i=e.rectangle;if(t.useWebMercatorT){let c=t.readyImagery.imageryLayer.imageryProvider.tilingScheme;n=c.rectangleToNativeRectangle(n,t_e),i=c.rectangleToNativeRectangle(i,n_e)}let o=i.width,r=i.height,s=o/n.width,a=r/n.height;return new oe(s*(i.west-n.west)/o,a*(i.south-n.south)/r,s,a)};ki.prototype._requestImagery=function(e){let t=this._imageryProvider,n=this;function i(s){if(!u(s))return o();e.image=s,e.state=ui.RECEIVED,e.request=void 0,Xn.reportSuccess(n._requestImageError)}function o(s){if(e.request.state===hi.CANCELLED){e.state=ui.UNLOADED,e.request=void 0;return}e.state=ui.FAILED,e.request=void 0;let a=`Failed to obtain image tile X: ${e.x} Y: ${e.y} Level: ${e.level}.`;n._requestImageError=Xn.reportError(n._requestImageError,t,t.errorEvent,a,e.x,e.y,e.level,s),n._requestImageError.retry&&r()}function r(){let s=new zo({throttle:!1,throttleByServer:!0,type:Qr.IMAGERY});e.request=s,e.state=ui.TRANSITIONING;let a=t.requestImage(e.x,e.y,e.level,s);if(!u(a)){e.state=ui.UNLOADED,e.request=void 0;return}u(t.getTileCredits)&&(e.credits=t.getTileCredits(e.x,e.y,e.level)),a.then(function(c){i(c)}).catch(function(c){o(c)})}r()};ki.prototype._createTextureWebGL=function(e,t){let n=new ln({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),i=t.image;return u(i.internalFormat)?new It({context:e,pixelFormat:i.internalFormat,width:i.width,height:i.height,source:{arrayBufferView:i.bufferView},sampler:n}):new It({context:e,source:i,pixelFormat:this._imageryProvider.hasAlphaChannel?rt.RGBA:rt.RGB,sampler:n})};ki.prototype._createTexture=function(e,t){let n=this._imageryProvider,i=t.image;if(u(n.tileDiscardPolicy)){let r=n.tileDiscardPolicy;if(u(r)){if(!r.isReady()){t.state=ui.RECEIVED;return}if(r.shouldDiscardImage(i)){t.state=ui.INVALID;return}}}let o=this._createTextureWebGL(e,t);n.tilingScheme.projection instanceof Si?t.textureWebMercator=o:t.texture=o,t.image=void 0,t.state=ui.TEXTURE_LOADED};function e_e(e,t,n){return`${e}:${t}:${n}`}ki.prototype._finalizeReprojectTexture=function(e,t){let n=this.minificationFilter,i=this.magnificationFilter;if(n===an.LINEAR&&i===yi.LINEAR&&!rt.isCompressedFormat(t.pixelFormat)&&P.isPowerOfTwo(t.width)&&P.isPowerOfTwo(t.height)){n=an.LINEAR_MIPMAP_LINEAR;let r=Ft.maximumTextureFilterAnisotropy,s=Math.min(r,y(this._maximumAnisotropy,r)),a=e_e(n,i,s),c=e.cache.imageryLayerMipmapSamplers;u(c)||(c={},e.cache.imageryLayerMipmapSamplers=c);let l=c[a];u(l)||(l=c[a]=new ln({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i,maximumAnisotropy:s})),t.generateMipmap(Ah.NICEST),t.sampler=l}else{let r=e_e(n,i,0),s=e.cache.imageryLayerNonMipmapSamplers;u(s)||(s={},e.cache.imageryLayerNonMipmapSamplers=s);let a=s[r];u(a)||(a=s[r]=new ln({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i})),t.sampler=a}};ki.prototype._reprojectTexture=function(e,t,n){let i=t.textureWebMercator||t.texture,o=t.rectangle,r=e.context;if(n=y(n,!0),n&&!(this._imageryProvider.tilingScheme.projection instanceof Ei)&&o.width/i.width>1e-5){let s=this;t.addReference();let a=new Lu({persists:!0,owner:this,preExecute:function(c){jnt(c,r,i,t.rectangle)},postExecute:function(c){t.texture=c,s._finalizeReprojectTexture(r,c),t.state=ui.READY,t.releaseReference()},canceled:function(){t.state=ui.TEXTURE_LOADED,t.releaseReference()}});this._reprojectComputeCommands.push(a)}else n&&(t.texture=i),this._finalizeReprojectTexture(r,i),t.state=ui.READY};ki.prototype.queueReprojectionCommands=function(e){let t=this._reprojectComputeCommands,n=t.length;for(let i=0;i<n;++i)e.commandList.push(t[i]);t.length=0};ki.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(e){u(e.canceled)&&e.canceled()}),this._reprojectComputeCommands.length=0};ki.prototype.getImageryFromCache=function(e,t,n,i){let o=i_e(e,t,n),r=this._imageryCache[o];return u(r)||(r=new nS(this,e,t,n,i),this._imageryCache[o]=r),r.addReference(),r};ki.prototype.removeImageryFromCache=function(e){let t=i_e(e.x,e.y,e.level);delete this._imageryCache[t]};function i_e(e,t,n){return JSON.stringify([e,t,n])}var Xz={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new H,texture:void 0},Wnt=Vt.supportsTypedArrays()?new Float32Array(2*64):void 0;function jnt(e,t,n,i){let o=t.cache.imageryLayer_reproject;if(!u(o)){o=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){u(this.framebuffer)&&this.framebuffer.destroy(),u(this.vertexArray)&&this.vertexArray.destroy(),u(this.shaderProgram)&&this.shaderProgram.destroy()}};let x=new Float32Array(2*64*2),C=0;for(let w=0;w<64;++w){let R=w/63;x[C++]=0,x[C++]=R,x[C++]=1,x[C++]=R}let T={position:0,webMercatorT:1},E=Hr.getRegularGridIndices(2,64),S=lt.createIndexBuffer({context:t,typedArray:E,usage:Ne.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT});o.vertexArray=new oi({context:t,attributes:[{index:T.position,vertexBuffer:lt.createVertexBuffer({context:t,typedArray:x,usage:Ne.STATIC_DRAW}),componentsPerAttribute:2},{index:T.webMercatorT,vertexBuffer:lt.createVertexBuffer({context:t,sizeInBytes:64*2*4,usage:Ne.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:S});let D=new ke({sources:[WM]});o.shaderProgram=Xt.fromCache({context:t,vertexShaderSource:D,fragmentShaderSource:GM,attributeLocations:T}),o.sampler=new ln({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:an.LINEAR,magnificationFilter:yi.LINEAR})}n.sampler=o.sampler;let r=n.width,s=n.height;Xz.textureDimensions.x=r,Xz.textureDimensions.y=s,Xz.texture=n;let a=Math.sin(i.south),c=.5*Math.log((1+a)/(1-a));a=Math.sin(i.north);let f=1/(.5*Math.log((1+a)/(1-a))-c),d=new It({context:t,width:r,height:s,pixelFormat:n.pixelFormat,pixelDatatype:n.pixelDatatype,preMultiplyAlpha:n.preMultiplyAlpha});P.isPowerOfTwo(r)&&P.isPowerOfTwo(s)&&d.generateMipmap(Ah.NICEST);let p=i.south,g=i.north,m=Wnt,A=0;for(let x=0;x<64;++x){let C=x/63,T=P.lerp(p,g,C);a=Math.sin(T);let S=(.5*Math.log((1+a)/(1-a))-c)*f;m[A++]=S,m[A++]=S}o.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(m),e.shaderProgram=o.shaderProgram,e.outputTexture=d,e.uniformMap=Xz,e.vertexArray=o.vertexArray}function Ynt(e,t,n){let i=e._imageryProvider,o=i.tilingScheme,r=o.ellipsoid,s=e._imageryProvider.tilingScheme.projection instanceof Ei?1:Math.cos(n),a=o.rectangle,l=r.maximumRadius*a.width*s/(i.tileWidth*o.getNumberOfXTilesAtLevel(0))/t,f=Math.log(l)/Math.log(2);return Math.round(f)|0}var bu=ki;var o_e={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=o_e.RENDERED_AND_KICKED},originalResult:function(e){return e&3},kick:function(e){return e|4}},$n=o_e;function rS(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new oe}rS.prototype.update=function(e,t,n){this.changedThisFrame&&(f_e(e,t,this.tile,n),this.changedThisFrame=!1)};rS.prototype.destroy=function(e){this._destroyVertexArray(e),u(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};rS.prototype._destroyVertexArray=function(e){u(this.vertexArray)&&(u(e)?e.push(this.vertexArray):If._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var qnt=new jg;rS.updateFillTiles=function(e,t,n,i){let o=e._quadtree,r=o._levelZeroTiles,s=o._lastSelectionFrameNumber,a=qnt;a.clear();for(let l=0;l<t.length;++l){let f=t[l];u(f.data.vertexArray)&&a.enqueue(t[l])}let c=a.dequeue();for(;c!==void 0;){let l=c.findTileToWest(r),f=c.findTileToSouth(r),d=c.findTileToEast(r),p=c.findTileToNorth(r);hs(e,n,c,l,s,pn.EAST,!1,a,i),hs(e,n,c,f,s,pn.NORTH,!1,a,i),hs(e,n,c,d,s,pn.WEST,!1,a,i),hs(e,n,c,p,s,pn.SOUTH,!1,a,i);let g=l.findTileToNorth(r),m=l.findTileToSouth(r),A=d.findTileToNorth(r),x=d.findTileToSouth(r);hs(e,n,c,g,s,pn.SOUTHEAST,!1,a,i),hs(e,n,c,A,s,pn.SOUTHWEST,!1,a,i),hs(e,n,c,m,s,pn.NORTHEAST,!1,a,i),hs(e,n,c,x,s,pn.NORTHWEST,!1,a,i),c=a.dequeue()}};function hs(e,t,n,i,o,r,s,a,c){if(i===void 0)return;let l=i;for(;l&&(l._lastSelectionResultFrame!==o||$n.wasKicked(l._lastSelectionResult)||$n.originalResult(l._lastSelectionResult)===$n.CULLED);){if(s)return;let f=l.parent;if(r>=pn.NORTHWEST&&f!==void 0)switch(r){case pn.NORTHWEST:l=l===f.northwestChild?f:void 0;break;case pn.NORTHEAST:l=l===f.northeastChild?f:void 0;break;case pn.SOUTHWEST:l=l===f.southwestChild?f:void 0;break;case pn.SOUTHEAST:l=l===f.southeastChild?f:void 0;break}else l=f}if(l!==void 0){if(l._lastSelectionResult===$n.RENDERED){if(u(l.data.vertexArray))return;Xnt(e,t,n,l,r,o,a,c);return}if($n.originalResult(i._lastSelectionResult)!==$n.CULLED)switch(r){case pn.WEST:hs(e,t,n,i.northwestChild,o,r,!0,a,c),hs(e,t,n,i.southwestChild,o,r,!0,a,c);break;case pn.EAST:hs(e,t,n,i.southeastChild,o,r,!0,a,c),hs(e,t,n,i.northeastChild,o,r,!0,a,c);break;case pn.SOUTH:hs(e,t,n,i.southwestChild,o,r,!0,a,c),hs(e,t,n,i.southeastChild,o,r,!0,a,c);break;case pn.NORTH:hs(e,t,n,i.northeastChild,o,r,!0,a,c),hs(e,t,n,i.northwestChild,o,r,!0,a,c);break;case pn.NORTHWEST:hs(e,t,n,i.northwestChild,o,r,!0,a,c);break;case pn.NORTHEAST:hs(e,t,n,i.northeastChild,o,r,!0,a,c);break;case pn.SOUTHWEST:hs(e,t,n,i.southwestChild,o,r,!0,a,c);break;case pn.SOUTHEAST:hs(e,t,n,i.southeastChild,o,r,!0,a,c);break;default:throw new de("Invalid edge")}}}function Xnt(e,t,n,i,o,r,s,a){let c=i.data;if(c.fill===void 0)c.fill=new rS(i);else if(c.fill.visitedFrame===r)return;c.fill.enqueuedFrame!==r&&(c.fill.enqueuedFrame=r,c.fill.changedThisFrame=!1,s.enqueue(i)),Knt(e,t,n,i,o,a)}function Knt(e,t,n,i,o,r){let s=i.data.fill,a,c=n.data.fill;u(c)?(c.visitedFrame=t.frameNumber,c.changedThisFrame&&(f_e(e,t,n,r),c.changedThisFrame=!1),a=n.data.fill.mesh):a=n.data.mesh;let l,f;switch(o){case pn.WEST:l=s.westMeshes,f=s.westTiles;break;case pn.SOUTH:l=s.southMeshes,f=s.southTiles;break;case pn.EAST:l=s.eastMeshes,f=s.eastTiles;break;case pn.NORTH:l=s.northMeshes,f=s.northTiles;break;case pn.NORTHWEST:s.changedThisFrame=s.changedThisFrame||s.northwestMesh!==a,s.northwestMesh=a,s.northwestTile=n;return;case pn.NORTHEAST:s.changedThisFrame=s.changedThisFrame||s.northeastMesh!==a,s.northeastMesh=a,s.northeastTile=n;return;case pn.SOUTHWEST:s.changedThisFrame=s.changedThisFrame||s.southwestMesh!==a,s.southwestMesh=a,s.southwestTile=n;return;case pn.SOUTHEAST:s.changedThisFrame=s.changedThisFrame||s.southeastMesh!==a,s.southeastMesh=a,s.southeastTile=n;return}if(n.level<=i.level){s.changedThisFrame=s.changedThisFrame||l[0]!==a||l.length!==1,l[0]=a,f[0]=n,l.length=1,f.length=1;return}let d,p,g,m,A=n.rectangle,x,C=i.rectangle;switch(o){case pn.WEST:for(x=(C.north-C.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(A.north,m.south,x));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(A.south,m.north,x));++p);break;case pn.SOUTH:for(x=(C.east-C.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(A.west,m.east,x));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(A.east,m.west,x));++p);break;case pn.EAST:for(x=(C.north-C.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(A.south,m.north,x));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(A.north,m.south,x));++p);break;case pn.NORTH:for(x=(C.east-C.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(A.east,m.west,x));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(A.west,m.east,x));++p);break}p-d===1?(s.changedThisFrame=s.changedThisFrame||l[d]!==a,l[d]=a,f[d]=n):(s.changedThisFrame=!0,l.splice(d,p-d,a),f.splice(d,p-d,n))}var Yx=new he,Znt=new he,oS=new h,vY=new h,bY=new H,SY=new H,Su=new H;function t4(){this.height=0,this.encodedNormal=new H}function Kz(e,t,n,i,o,r,s,a,c){if(u(o))return o;let l;if(u(r)&&u(s))l=(r.height+s.height)*.5;else if(u(r))l=r.height;else if(u(s))l=s.height;else if(u(a))l=a.height;else{let d=e.tile.data.tileBoundingRegion,p=0,g=0;u(d)&&(p=d.minimumHeight,g=d.maximumHeight),l=(p+g)*.5}return d_e(e,t,n,i,l,c),c}var Jnt={minimumHeight:0,maximumHeight:0},Qnt=new h,r_e=new t4,s_e=new t4,a_e=new t4,c_e=new t4,$nt=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,eit={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function f_e(e,t,n,i){If.initialize(n,e.terrainProvider,e._imageryLayers);let o=n.data,r=o.fill,s=n.rectangle,a=t.terrainExaggeration,c=t.terrainExaggerationRelativeHeight,l=a!==1,f=n.tilingScheme.ellipsoid,d=Jz(r,f,0,1,r.northwestTile,r.northwestMesh,r.northTiles,r.northMeshes,r.westTiles,r.westMeshes,a_e),p=Jz(r,f,0,0,r.southwestTile,r.southwestMesh,r.westTiles,r.westMeshes,r.southTiles,r.southMeshes,r_e),g=Jz(r,f,1,0,r.southeastTile,r.southeastMesh,r.southTiles,r.southMeshes,r.eastTiles,r.eastMeshes,s_e),m=Jz(r,f,1,1,r.northeastTile,r.northeastMesh,r.eastTiles,r.eastMeshes,r.northTiles,r.northMeshes,c_e);d=Kz(r,f,0,1,d,p,m,g,a_e),p=Kz(r,f,0,0,p,d,g,m,r_e),g=Kz(r,f,1,1,g,p,m,d,s_e),m=Kz(r,f,1,1,m,g,d,p,c_e);let A=p.height,x=g.height,C=d.height,T=m.height,E=Math.min(A,x,C,T),S=Math.max(A,x,C,T),D=(E+S)*.5,w,R,O=e.getLevelMaximumGeometricError(n.level),L=f.maximumRadius-O,N=Math.acos(L/f.maximumRadius)*4;if(N*=1.5,s.width>N&&S-E<=O){let v=new ga({width:9,height:9,buffer:$nt,structure:{heightOffset:S}}),I=eit;I.tilingScheme=n.tilingScheme,I.x=n.x,I.y=n.y,I.level=n.level,I.exaggeration=a,I.exaggerationRelativeHeight=c,r.mesh=v._createMeshSync(I)}else{let v=l,I=ce.center(s,Znt);I.height=D;let B=f.cartographicToCartesian(I,Qnt),F=new oc(B,void 0,void 0,void 0,void 0,!0,!0,v,a,c),k=5,U;for(U=r.westMeshes,w=0,R=U.length;w<R;++w)k+=U[w].eastIndicesNorthToSouth.length;for(U=r.southMeshes,w=0,R=U.length;w<R;++w)k+=U[w].northIndicesWestToEast.length;for(U=r.eastMeshes,w=0,R=U.length;w<R;++w)k+=U[w].westIndicesSouthToNorth.length;for(U=r.northMeshes,w=0,R=U.length;w<R;++w)k+=U[w].southIndicesEastToWest.length;let G=Jnt;G.minimumHeight=E,G.maximumHeight=S;let V=F.stride,X=new Float32Array(k*V),j=0,Q=j;j=Zz(f,s,F,X,j,0,1,d.height,d.encodedNormal,1,G),j=$z(r,f,F,X,j,r.westTiles,r.westMeshes,pn.EAST,G);let W=j;j=Zz(f,s,F,X,j,0,0,p.height,p.encodedNormal,0,G),j=$z(r,f,F,X,j,r.southTiles,r.southMeshes,pn.NORTH,G);let K=j;j=Zz(f,s,F,X,j,1,0,g.height,g.encodedNormal,0,G),j=$z(r,f,F,X,j,r.eastTiles,r.eastMeshes,pn.WEST,G);let J=j;j=Zz(f,s,F,X,j,1,1,m.height,m.encodedNormal,1,G),j=$z(r,f,F,X,j,r.northTiles,r.northMeshes,pn.SOUTH,G),E=G.minimumHeight,S=G.maximumHeight;let _e=Rn.fromRectangle(s,E,S,n.tilingScheme.ellipsoid),xe=Si.geodeticLatitudeToMercatorAngle(s.south),re=1/(Si.geodeticLatitudeToMercatorAngle(s.north)-xe),ye=(Si.geodeticLatitudeToMercatorAngle(I.latitude)-xe)*re,fe=f.geodeticSurfaceNormalCartographic(Yx,vY),Se=Gn.octEncode(fe,bY),we=j;F.encode(X,j*V,_e.center,H.fromElements(.5,.5,Su),D,Se,ye,fe),++j;let Ve=j,qe=Ve<256?1:2,mt=(Ve-1)*3,Ht=mt*qe,fn=(X.length-Ve*V)*Float32Array.BYTES_PER_ELEMENT,dt;if(fn>=Ht){let me=Ve*V*Float32Array.BYTES_PER_ELEMENT;dt=Ve<256?new Uint8Array(X.buffer,me,mt):new Uint16Array(X.buffer,me,mt)}else dt=Ve<256?new Uint8Array(mt):new Uint16Array(mt);X=new Float32Array(X.buffer,0,Ve*V);let Tn=0;for(w=0;w<Ve-2;++w)dt[Tn++]=we,dt[Tn++]=w,dt[Tn++]=w+1;dt[Tn++]=we,dt[Tn++]=w,dt[Tn++]=0;let Jn=[];for(w=W;w>=Q;--w)Jn.push(w);let Gt=[];for(w=K;w>=W;--w)Gt.push(w);let Je=[];for(w=J;w>=K;--w)Je.push(w);let pe=[];for(pe.push(0),w=we-1;w>=J;--w)pe.push(w);r.mesh=new Df(F.center,X,dt,mt,Ve,E,S,se.fromOrientedBoundingBox(_e),ait(e,_e.center,s,E,S),F.stride,_e,F,Jn,Gt,Je,pe)}let _=t.context;r._destroyVertexArray(i),r.vertexArray=If._createVertexArrayForMesh(_,r.mesh),o.processImagery(n,e.terrainProvider,t,!0);let b=r.waterMaskTexture;if(r.waterMaskTexture=void 0,e.terrainProvider.hasWaterMask){let v=o._findAncestorTileWithTerrainData(n);u(v)&&u(v.data.waterMaskTexture)&&(r.waterMaskTexture=v.data.waterMaskTexture,++r.waterMaskTexture.referenceCount,o._computeWaterMaskTranslationAndScale(n,v,r.waterMaskTranslationAndScale))}u(b)&&(--b.referenceCount,b.referenceCount===0&&b.destroy())}function Zz(e,t,n,i,o,r,s,a,c,l,f){let d=Yx;d.longitude=P.lerp(t.west,t.east,r),d.latitude=P.lerp(t.south,t.north,s),d.height=a;let p=e.cartographicToCartesian(d,oS),g;n.hasGeodeticSurfaceNormals&&(g=e.geodeticSurfaceNormal(p,vY));let m=SY;return m.x=r,m.y=s,n.encode(i,o*n.stride,p,m,a,c,l,g),f.minimumHeight=Math.min(f.minimumHeight,a),f.maximumHeight=Math.max(f.maximumHeight,a),o+1}var e4=new ce;function NL(e,t,n,i){let o=e.rectangle,r=t.rectangle;t.x===0&&n.x===1&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?(o=ce.clone(e.rectangle,e4),o.west-=P.TWO_PI,o.east-=P.TWO_PI):e.x===0&&n.x===0&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&(o=ce.clone(e.rectangle,e4),o.west+=P.TWO_PI,o.east+=P.TWO_PI);let s=o.east-o.west,a=(r.west-o.west)/s,c=(r.east-o.west)/s,l=o.north-o.south,f=(r.south-o.south)/l,d=(r.north-o.south)/l,p=(n.x-a)/(c-a),g=(n.y-f)/(d-f);return Math.abs(p)<Math.EPSILON5?p=0:Math.abs(p-1)<Math.EPSILON5&&(p=1),Math.abs(g)<Math.EPSILON5?g=0:Math.abs(g-1)<Math.EPSILON5&&(g=1),i.x=p,i.y=g,i}var tit=new H;function DY(e,t,n,i,o){let r=e.encoding,s=e.vertices;if(o.height=r.decodeHeight(s,t),r.hasVertexNormals)r.getOctEncodedNormal(s,t,o.encodedNormal);else{let a=o.encodedNormal;a.x=0,a.y=0}}var nit=new H,iit=new h;function oit(e,t,n,i,o,r,s,a,c,l){let f=i.encoding,d=i.vertices,p=NL(t,n,f.decodeTextureCoordinates(d,o,Su),Su),g=NL(t,n,f.decodeTextureCoordinates(d,r,SY),SY),m;c?m=(s-p.x)/(g.x-p.x):m=(a-p.y)/(g.y-p.y);let A=f.decodeHeight(d,o),x=f.decodeHeight(d,r),C=n.rectangle;Yx.longitude=P.lerp(C.west,C.east,s),Yx.latitude=P.lerp(C.south,C.north,a),l.height=Yx.height=P.lerp(A,x,m);let T;if(f.hasVertexNormals){let E=f.getOctEncodedNormal(d,o,tit),S=f.getOctEncodedNormal(d,r,nit),D=Gn.octDecode(E.x,E.y,oS),w=Gn.octDecode(S.x,S.y,iit);T=h.lerp(D,w,m,oS),h.normalize(T,T),Gn.octEncode(T,l.encodedNormal)}else T=e.geodeticSurfaceNormalCartographic(Yx,oS),Gn.octEncode(T,l.encodedNormal)}function d_e(e,t,n,i,o,r){r.height=o;let s=t.geodeticSurfaceNormalCartographic(Yx,oS);Gn.octEncode(s,r.encodedNormal)}function Jz(e,t,n,i,o,r,s,a,c,l,f){if(u_e(e,t,a,s,!1,n,i,f)||u_e(e,t,l,c,!0,n,i,f))return f;let p;if(wY(o,r))return n===0?i===0?p=r.eastIndicesNorthToSouth[0]:p=r.southIndicesEastToWest[0]:i===0?p=r.northIndicesWestToEast[0]:p=r.westIndicesSouthToNorth[0],DY(r,p,n,i,f),f;let g;if(n===0?i===0?g=Qz(e.westMeshes,e.westTiles,pn.EAST,e.southMeshes,e.southTiles,pn.NORTH,n,i):g=Qz(e.northMeshes,e.northTiles,pn.SOUTH,e.westMeshes,e.westTiles,pn.EAST,n,i):i===0?g=Qz(e.southMeshes,e.southTiles,pn.NORTH,e.eastMeshes,e.eastTiles,pn.WEST,n,i):g=Qz(e.eastMeshes,e.eastTiles,pn.WEST,e.northMeshes,e.northTiles,pn.SOUTH,n,i),u(g))return d_e(e,t,n,i,g,f),f}function Qz(e,t,n,i,o,r,s,a){let c=l_e(e,t,!1,n,s,a),l=l_e(i,o,!0,r,s,a);return u(c)&&u(l)?(c+l)*.5:u(c)?c:l}function $z(e,t,n,i,o,r,s,a,c){for(let l=0;l<r.length;++l)o=rit(e,t,n,i,o,r[l],s[l],a,c);return o}function rit(e,t,n,i,o,r,s,a,c){let l=r.rectangle;a===pn.EAST&&e.tile.x===0?(l=ce.clone(r.rectangle,e4),l.west-=P.TWO_PI,l.east-=P.TWO_PI):a===pn.WEST&&r.x===0&&(l=ce.clone(r.rectangle,e4),l.west+=P.TWO_PI,l.east+=P.TWO_PI);let f=e.tile.rectangle,d,p;o>0&&(n.decodeTextureCoordinates(i,o-1,Su),d=Su.x,p=Su.y);let g,m;switch(a){case pn.WEST:g=s.westIndicesSouthToNorth,m=!1;break;case pn.NORTH:g=s.northIndicesWestToEast,m=!0;break;case pn.EAST:g=s.eastIndicesNorthToSouth,m=!1;break;case pn.SOUTH:g=s.southIndicesEastToWest,m=!0;break}let A=r,x=e.tile,C=s.encoding,T=s.vertices,E=n.stride,S,D;C.hasWebMercatorT&&(S=Si.geodeticLatitudeToMercatorAngle(f.south),D=1/(Si.geodeticLatitudeToMercatorAngle(f.north)-S));for(let w=0;w<g.length;++w){let R=g[w],O=C.decodeTextureCoordinates(T,R,Su);NL(A,x,O,O);let L=O.x,N=O.y,_=m?L:N;if(_<0||_>1||Math.abs(L-d)<P.EPSILON5&&Math.abs(N-p)<P.EPSILON5)continue;let b=Math.abs(L)<P.EPSILON5||Math.abs(L-1)<P.EPSILON5,v=Math.abs(N)<P.EPSILON5||Math.abs(N-1)<P.EPSILON5;if(b&&v)continue;let I=C.decodePosition(T,R,oS),B=C.decodeHeight(T,R),F;C.hasVertexNormals?F=C.getOctEncodedNormal(T,R,bY):(F=bY,F.x=0,F.y=0);let k=N;if(C.hasWebMercatorT){let G=P.lerp(f.south,f.north,N);k=(Si.geodeticLatitudeToMercatorAngle(G)-S)*D}let U;n.hasGeodeticSurfaceNormals&&(U=t.geodeticSurfaceNormal(I,vY)),n.encode(i,o*E,I,O,B,F,k,U),c.minimumHeight=Math.min(c.minimumHeight,B),c.maximumHeight=Math.max(c.maximumHeight,B),++o}return o}function l_e(e,t,n,i,o,r){let s,a,c;n?(s=0,a=e.length,c=1):(s=e.length-1,a=-1,c=-1);for(let l=s;l!==a;l+=c){let f=e[l],d=t[l];if(!wY(d,f))continue;let p;switch(i){case pn.WEST:p=f.westIndicesSouthToNorth;break;case pn.SOUTH:p=f.southIndicesEastToWest;break;case pn.EAST:p=f.eastIndicesNorthToSouth;break;case pn.NORTH:p=f.northIndicesWestToEast;break}let g=p[n?0:p.length-1];if(u(g))return f.encoding.decodeHeight(f.vertices,g)}}function wY(e,t){return u(t)&&(!u(e.data.fill)||!e.data.fill.changedThisFrame)}function u_e(e,t,n,i,o,r,s,a){let c,l,f,d,p,g=i[o?0:n.length-1],m=n[o?0:n.length-1];if(wY(g,m)&&(r===0?s===0?(c=o?m.northIndicesWestToEast:m.eastIndicesNorthToSouth,l=o,f=o):(c=o?m.eastIndicesNorthToSouth:m.southIndicesEastToWest,l=!o,f=!1):s===0?(c=o?m.westIndicesSouthToNorth:m.northIndicesWestToEast,l=!o,f=!0):(c=o?m.southIndicesEastToWest:m.westIndicesSouthToNorth,l=o,f=!o),c.length>0)){d=o?0:c.length-1,p=c[d],m.encoding.decodeTextureCoordinates(m.vertices,p,Su);let A=NL(g,e.tile,Su,Su);if(A.x===r&&A.y===s)return DY(m,p,r,s,a),!0;if(d=wo(c,l?r:s,function(x,C){m.encoding.decodeTextureCoordinates(m.vertices,x,Su);let T=NL(g,e.tile,Su,Su);return f?l?T.x-r:T.y-s:l?r-T.x:s-T.y}),d<0){if(d=~d,d>0&&d<c.length)return oit(t,g,e.tile,m,c[d-1],c[d],r,s,l,a),!0}else return DY(m,c[d],r,s,a),!0}return!1}var sit=[new h,new h,new h,new h];function ait(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=sit;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}var sS=rS;function Jo(e){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=gn.RECEIVE_ONLY,this.vertexShadowDarkness=.3,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new Ae,this._imageryLayers.layerAdded.addEventListener(Jo.prototype._onLayerAdded,this),this._imageryLayers.layerRemoved.addEventListener(Jo.prototype._onLayerRemoved,this),this._imageryLayers.layerMoved.addEventListener(Jo.prototype._onLayerMoved,this),this._imageryLayers.layerShownOrHidden.addEventListener(Jo.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new Ae,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new z(0,0,.5,1),this._clippingPlanes=void 0,this.cartographicLimitRectangle=ce.clone(ce.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldTerrainExaggeration=void 0,this._oldTerrainExaggerationRelativeHeight=void 0}Object.defineProperties(Jo.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){this._baseColor=e,this._firstPassInitialColor=oe.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){this._quadtree=e}},ready:{get:function(){return this._terrainProvider.ready&&(this._imageryLayers.length===0||this._imageryLayers.get(0).imageryProvider.ready)}},tilingScheme:{get:function(){return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){this._terrainProvider!==e&&(this._terrainProvider=e,u(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ss.setOwner(e,this,"_clippingPlanes")}}});function cit(e,t){let n=e.loadingImagery;u(n)||(n=e.readyImagery);let i=t.loadingImagery;return u(i)||(i=t.readyImagery),n.imageryLayer._layerIndex-i.imageryLayer._layerIndex}Jo.prototype.update=function(e){this._imageryLayers._update()};function lit(e,t){let n=t.creditDisplay;e._terrainProvider.ready&&u(e._terrainProvider.credit)&&n.addCredit(e._terrainProvider.credit);let i=e._imageryLayers;for(let o=0,r=i.length;o<r;++o){let s=i.get(o).imageryProvider;s.ready&&u(s.credit)&&n.addCredit(s.credit)}}Jo.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(i){i.data.imagery.sort(cit)})),lit(this,e);let t=this._vertexArraysToDestroy,n=t.length;for(let i=0;i<n;++i)If._freeVertexArray(t[i]);t.length=0};Jo.prototype.beginUpdate=function(e){let t=this._tilesToRenderByTextureCount;for(let i=0,o=t.length;i<o;++i){let r=t[i];u(r)&&(r.length=0)}let n=this._clippingPlanes;u(n)&&n.enabled&&n.update(e),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};Jo.prototype.endUpdate=function(e){if(!u(this._renderState)){this._renderState=Ue.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Fa.LESS}}),this._blendRenderState=Ue.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Fa.LESS_OR_EQUAL},blending:un.ALPHA_BLEND});let s=Ge(this._renderState,!0);s.cull.enabled=!1,this._disableCullingRenderState=Ue.fromCache(s),s=Ge(this._blendRenderState,!0),s.cull.enabled=!1,this._disableCullingBlendRenderState=Ue.fromCache(s)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&sS.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);let t=this.quadtree,n=e.terrainExaggeration,i=e.terrainExaggerationRelativeHeight,o=this._oldTerrainExaggeration!==n||this._oldTerrainExaggerationRelativeHeight!==i;this._oldTerrainExaggeration=n,this._oldTerrainExaggerationRelativeHeight=i,o&&t.forEachLoadedTile(function(s){s.data.updateExaggeration(s,e,t)});let r=this._tilesToRenderByTextureCount;for(let s=0,a=r.length;s<a;++s){let c=r[s];if(u(c))for(let l=0,f=c.length;l<f;++l){let d=c[l],p=d.data.tileBoundingRegion;Bit(this,d,e),e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,p.minimumHeight)}}};function g_e(e,t){let n=t.globeTranslucencyState;if(n.translucent){let i=e.renderState.blending.enabled;n.pushDerivedCommands(e,i,t)}else t.commandList.push(e)}Jo.prototype.updateForPick=function(e){let t=this._drawCommands;for(let n=0,i=this._usedDrawCommands;n<i;++n)g_e(t[n],e)};Jo.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};Jo.prototype.getLevelMaximumGeometricError=function(e){return this._terrainProvider.getLevelMaximumGeometricError(e)};Jo.prototype.loadTile=function(e,t){let n=t.data,i=!0,o;u(n)&&(i=n.boundingVolumeSourceTile!==t||t._lastSelectionResult===$n.CULLED_BUT_NEEDED,o=n.terrainState),If.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i),n=t.data,i&&o!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==ur.NONE&&n.boundingVolumeSourceTile===t&&(i=!1,If.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i))};var uit=new se,y_e=new ce,fit=new ce,dit=new he;function i4(e,t){if(t.west<t.east)return t;let n=ce.clone(t,fit);return ce.center(e,dit).longitude>0?n.east=P.PI:n.west=-P.PI,n}function A_e(e,t){if(t.cameraUnderground||t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;let n=e._clippingPlanes;return!!(u(n)&&n.enabled||!ce.equals(e.cartographicLimitRectangle,ce.MAX_VALUE))}Jo.prototype.computeTileVisibility=function(e,t,n){let i=this.computeDistanceToTile(e,t);e._distance=i;let o=A_e(this,t);if(t.fog.enabled&&!o&&P.fog(i,t.fog.density)>=1)return ur.NONE;let r=e.data,s=r.tileBoundingRegion;if(r.boundingVolumeSourceTile===void 0)return ur.PARTIAL;let a=t.cullingVolume,c=s.boundingVolume;u(c)||(c=s.boundingSphere),r.clippedByBoundaries=!1;let l=i4(e.rectangle,this.cartographicLimitRectangle),f=ce.simpleIntersection(l,e.rectangle,y_e);if(!u(f))return ur.NONE;if(ce.equals(f,e.rectangle)||(r.clippedByBoundaries=!0),t.mode!==te.SCENE3D&&(c=uit,se.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,s.minimumHeight,s.maximumHeight,c),h.fromElements(c.center.z,c.center.x,c.center.y,c.center),t.mode===te.MORPHING&&u(r.renderedMesh)&&(c=se.union(s.boundingSphere,c,c))),!u(c))return ur.PARTIAL;let d=this._clippingPlanes;if(u(d)&&d.enabled){let A=d.computeIntersectionWithBoundingVolume(c);if(e.isClipped=A!==Qt.INSIDE,A===Qt.OUTSIDE)return ur.NONE}let p,g=a.computeVisibility(c);if(g===Qt.OUTSIDE?p=ur.NONE:g===Qt.INTERSECTING?p=ur.PARTIAL:g===Qt.INSIDE&&(p=ur.FULL),p===ur.NONE)return p;let m=t.mode===te.SCENE3D&&t.camera.frustum instanceof en;if(t.mode===te.SCENE3D&&!m&&u(n)&&!o){let A=r.occludeePointInScaledSpace;return!u(A)||n.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(A,s.minimumHeight)?p:ur.NONE}return p};Jo.prototype.canRefine=function(e){return u(e.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(e.x*2,e.y*2,e.level+1)!==void 0};var hit=[],mit=[];Jo.prototype.canRenderWithoutLosingDetail=function(e,t){let n=e.data,i=hit;i.length=this._imageryLayers.length;let o=!1,r=!1,s;u(n)&&(o=n.terrainState===mo.READY,r=!0,s=n.imagery);let a,c;for(a=0,c=i.length;a<c;++a)i[a]=r;if(u(s))for(a=0,c=s.length;a<c;++a){let d=s[a],p=d.loadingImagery,g=!u(p)||p.state===ui.FAILED||p.state===ui.INVALID,m=(d.loadingImagery||d.readyImagery).imageryLayer._layerIndex;i[m]=g&&i[m]}let l=this.quadtree._lastSelectionFrameNumber,f=mit;for(f.length=0,f.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);f.length>0;){let d=f.pop(),p=d._lastSelectionResultFrame===l?d._lastSelectionResult:$n.NONE;if(p===$n.RENDERED){let g=d.data;if(!u(g))continue;if(!o&&d.data.terrainState===mo.READY)return!1;let m=d.data.imagery;for(a=0,c=m.length;a<c;++a){let A=m[a],x=A.loadingImagery,C=!u(x)||x.state===ui.FAILED||x.state===ui.INVALID,T=(A.loadingImagery||A.readyImagery).imageryLayer._layerIndex;if(C&&!i[T])return!1}}else p===$n.REFINED&&f.push(d.southwestChild,d.southeastChild,d.northwestChild,d.northeastChild)}return!0};var pit=new h;Jo.prototype.computeTileLoadPriority=function(e,t){let n=e.data;if(n===void 0)return 0;let i=n.tileBoundingRegion.boundingVolume;if(i===void 0)return 0;let o=t.camera.positionWC,r=t.camera.directionWC,s=h.subtract(i.center,o,pit),a=h.magnitude(s);return a<P.EPSILON5?0:(h.divideByScalar(s,a,s),(1-h.dot(s,r))*e._distance)};var h_e=new M,n4=new M,_it=new oe,git=new oe,yit=new oe,Ait=new h,m_e=new h,xit=new h,Cit=new h;Jo.prototype.showTileThisFrame=function(e,t){let n=0,i=e.data.imagery;for(let a=0,c=i.length;a<c;++a){let l=i[a];u(l.readyImagery)&&l.readyImagery.imageryLayer.alpha!==0&&++n}let o=this._tilesToRenderByTextureCount[n];u(o)||(o=[],this._tilesToRenderByTextureCount[n]=o),o.push(e);let r=e.data;u(r.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let s=this._debug;++s.tilesRendered,s.texturesRendered+=n};var Tit=[new h,new h,new h,new h];function p_e(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=Tit;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}Jo.prototype.computeDistanceToTile=function(e,t){Eit(e,this,t);let n=e.data;if(n.boundingVolumeSourceTile===void 0)return 9999999999;let o=n.tileBoundingRegion,r=o.minimumHeight,s=o.maximumHeight;if(n.boundingVolumeSourceTile!==e){let c=t.camera.positionCartographic.height,l=Math.abs(c-r),f=Math.abs(c-s);l>f?(o.minimumHeight=r,o.maximumHeight=r):(o.minimumHeight=s,o.maximumHeight=s)}let a=o.distanceToCamera(t);return o.minimumHeight=r,o.maximumHeight=s,a};function Eit(e,t,n){let i=e.data;i===void 0&&(i=e.data=new If);let o=e.tilingScheme.ellipsoid;i.tileBoundingRegion===void 0&&(i.tileBoundingRegion=new af({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:o,minimumHeight:0,maximumHeight:0}));let r=i.tileBoundingRegion,s=r.minimumHeight,a=r.maximumHeight,c=!1,l=e,f=i.mesh,d=i.terrainData;if(f!==void 0&&f.minimumHeight!==void 0&&f.maximumHeight!==void 0)r.minimumHeight=f.minimumHeight,r.maximumHeight=f.maximumHeight,c=!0;else if(d!==void 0&&d._minimumHeight!==void 0&&d._maximumHeight!==void 0)r.minimumHeight=d._minimumHeight,r.maximumHeight=d._maximumHeight;else{r.minimumHeight=Number.NaN,r.maximumHeight=Number.NaN;let p=e.parent;for(;p!==void 0;){let g=p.data;if(g!==void 0){let m=g.mesh,A=g.terrainData;if(m!==void 0&&m.minimumHeight!==void 0&&m.maximumHeight!==void 0){r.minimumHeight=m.minimumHeight,r.maximumHeight=m.maximumHeight;break}else if(A!==void 0&&A._minimumHeight!==void 0&&A._maximumHeight!==void 0){r.minimumHeight=A._minimumHeight,r.maximumHeight=A._maximumHeight;break}}p=p.parent}l=p}if(l!==void 0){let p=n.terrainExaggeration,g=n.terrainExaggerationRelativeHeight;if(p!==1&&(c=!1,r.minimumHeight=Cc.getHeight(r.minimumHeight,p,g),r.maximumHeight=Cc.getHeight(r.maximumHeight,p,g)),c)i.boundingVolumeIsFromMesh||(r._orientedBoundingBox=Rn.clone(f.orientedBoundingBox,r._orientedBoundingBox),r._boundingSphere=se.clone(f.boundingSphere3D,r._boundingSphere),i.occludeePointInScaledSpace=h.clone(f.occludeePointInScaledSpace,i.occludeePointInScaledSpace),u(i.occludeePointInScaledSpace)||(i.occludeePointInScaledSpace=p_e(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace)));else{let A=r._orientedBoundingBox===void 0||r._boundingSphere===void 0;(r.minimumHeight!==s||r.maximumHeight!==a||A)&&(r.computeBoundingVolumes(o),i.occludeePointInScaledSpace=p_e(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace))}i.boundingVolumeSourceTile=l,i.boundingVolumeIsFromMesh=c}else i.boundingVolumeSourceTile=void 0,i.boundingVolumeIsFromMesh=!1}Jo.prototype.isDestroyed=function(){return!1};Jo.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),le(this)};function bit(e,t,n){return function(i){let o,r,s=-1,a=i.data.imagery,c=a.length,l;for(l=0;l<c;++l)if(o=a[l],r=y(o.readyImagery,o.loadingImagery),r.imageryLayer===t){s=l;break}if(s!==-1){let f=s+e;if(o=a[f],r=u(o)?y(o.readyImagery,o.loadingImagery):void 0,!u(r)||r.imageryLayer!==t)return!t._createTileImagerySkeletons(i,n,f);for(l=s;l<f;++l)a[l].freeResources();a.splice(s,e)}return!0}}Jo.prototype._onLayerAdded=function(e,t){if(e.show){let n=this._terrainProvider,i=this,o=e.imageryProvider,r=this._imageryLayersUpdatedEvent;o._reload=function(){e._imageryCache={},i._quadtree.forEachLoadedTile(function(s){if(u(s._loadedCallbacks[e._layerIndex]))return;let a,c=s.data.imagery,l=c.length,f=-1,d=0;for(a=0;a<l;++a){let g=c[a];if(y(g.readyImagery,g.loadingImagery).imageryLayer===e)f===-1&&(f=a),++d;else if(f!==-1)break}if(f===-1)return;let p=f+d;e._createTileImagerySkeletons(s,n,p)&&(s._loadedCallbacks[e._layerIndex]=bit(d,e,n),s.state=Os.LOADING)})},this._quadtree.forEachLoadedTile(function(s){e._createTileImagerySkeletons(s,n)&&(s.state=Os.LOADING,s.level!==0&&(s._lastSelectionResultFrame!==i.quadtree._lastSelectionFrameNumber||s._lastSelectionResult!==$n.RENDERED)&&(s.renderable=!1))}),this._layerOrderChanged=!0,r.raiseEvent()}};Jo.prototype._onLayerRemoved=function(e,t){this._quadtree.forEachLoadedTile(function(n){let i=n.data.imagery,o=-1,r=0;for(let s=0,a=i.length;s<a;++s){let c=i[s],l=c.loadingImagery;if(u(l)||(l=c.readyImagery),l.imageryLayer===e)o===-1&&(o=s),c.freeResources(),++r;else if(o!==-1)break}o!==-1&&i.splice(o,r)}),u(e.imageryProvider)&&(e.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};Jo.prototype._onLayerMoved=function(e,t,n){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};Jo.prototype._onLayerShownOrHidden=function(e,t,n){n?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};var Sit=new M,Dit=new M;function __e(e,t){let n={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_terrainExaggerationAndRelativeHeight:function(){return this.properties.terrainExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let i=e.context.uniformState.view,o=M.multiplyByPoint(i,this.properties.rtc,m_e);return M.setTranslation(i,o,h_e),h_e},u_modifiedModelViewProjection:function(){let i=e.context.uniformState.view,o=e.context.uniformState.projection,r=M.multiplyByPoint(i,this.properties.rtc,m_e);return M.setTranslation(i,r,n4),M.multiply(o,n4,n4),n4},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){let i=t._clippingPlanes;return u(i)&&u(i.texture)?i.texture:e.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let i=t._clippingPlanes,o=u(i)?M.multiply(e.context.uniformState.view,i.modelMatrix,Sit):M.IDENTITY;return M.inverseTranspose(o,Dit)},u_clippingPlanesEdgeStyle:function(){let i=this.properties.clippingPlanesEdgeColor;return i.alpha=this.properties.clippingPlanesEdgeWidth,i},u_minimumBrightness:function(){return e.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},u_vertexShadowDarkness:function(){return this.properties.vertexShadowDarkness},properties:{initialColor:new oe(0,0,.5,1),fillHighlightColor:new z(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new H(65e5,9e6),nightFadeDistance:new H(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new h(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new h(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new h,center3D:void 0,rtc:new h,modifiedModelView:new M,tileRectangle:new oe,terrainExaggerationAndRelativeHeight:new H(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new H,southMercatorYAndOneOverHeight:new H,waterMask:void 0,waterMaskTranslationAndScale:new oe,minMaxHeight:new H,scaleAndBias:new M,clippingPlanesEdgeColor:z.clone(z.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new oe,frontFaceAlphaByDistance:new oe,backFaceAlphaByDistance:new oe,localizedTranslucencyRectangle:new oe,undergroundColor:z.clone(z.TRANSPARENT),undergroundColorAlphaByDistance:new oe,lambertDiffuseMultiplier:0,vertexShadowDarkness:0}};return u(t.materialUniformMap)?_t(n,t.materialUniformMap):n}function vit(e,t,n){let i=n.data,o,r;if(u(i.vertexArray)?(o=i.mesh,r=i.vertexArray):u(i.fill)&&u(i.fill.vertexArray)&&(o=i.fill.mesh,r=i.fill.vertexArray),!(!u(o)||!u(r))){if(u(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===o)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=wit(e,r,o),i.wireframeVertexArray.mesh=o}}function wit(e,t,n){let o={indices:n.indices,primitiveType:Me.TRIANGLES};Ln.toWireframe(o);let r=o.indices,s=lt.createIndexBuffer({context:e,typedArray:r,usage:Ne.STATIC_DRAW,indexDatatype:Fe.fromSizeInBytes(r.BYTES_PER_ELEMENT)});return new oi({context:e,attributes:t._attributes,indexBuffer:s})}var x_e,C_e,o4;(function(){let e=new At({geometry:Xf.fromDimensions({dimensions:new h(2,2,2)})}),t=new At({geometry:new Wp({radius:1})}),n=new M,i,o;function r(s){return new Dn({geometryInstances:s,appearance:new on({translucent:!1,flat:!0}),asynchronous:!1})}x_e=function(s,a){return s===i||(o4(),i=s,n=M.fromRotationTranslation(s.halfAxes,s.center,n),e.modelMatrix=n,e.attributes.color=Nt.fromColor(a),o=r(e)),o},C_e=function(s,a){return s===i||(o4(),i=s,n=M.fromTranslation(s.center,n),n=M.multiplyByUniformScale(n,s.radius,n),t.modelMatrix=n,t.attributes.color=Nt.fromColor(a),o=r(t)),o},o4=function(){u(o)&&(o.destroy(),o=void 0,i=void 0)}})();var Iit=new oe(0,0,0,0),Pit={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},Oit=z.TRANSPARENT,Rit=new Pt;function Bit(e,t,n){let i=t.data;u(i.vertexArray)||(i.fill===void 0&&(i.fill=new sS(t)),i.fill.update(e,n));let o=n.creditDisplay,r=i.terrainData;if(u(r)&&u(r.credits)){let Je=r.credits;for(let pe=0,me=Je.length;pe<me;++pe)o.addCredit(Je[pe])}let s=Ft.maximumTextureImageUnits,a=i.waterMaskTexture,c=i.waterMaskTranslationAndScale;!u(a)&&u(i.fill)&&(a=i.fill.waterMaskTexture,c=i.fill.waterMaskTranslationAndScale);let l=n.cameraUnderground,f=n.globeTranslucencyState,d=f.translucent,p=f.frontFaceAlphaByDistance,g=f.backFaceAlphaByDistance,m=f.rectangle,A=y(e.undergroundColor,Oit),x=y(e.undergroundColorAlphaByDistance,Rit),C=A_e(e,n)&&n.mode===te.SCENE3D&&A.alpha>0&&(x.nearValue>0||x.farValue>0),T=e.lambertDiffuseMultiplier,E=e.vertexShadowDarkness,S=e.hasWaterMask&&u(a),D=e.oceanNormalMap,w=S&&u(D),R=e.terrainProvider.ready&&e.terrainProvider.hasVertexNormals,O=n.fog.enabled&&n.fog.renderable&&!l,L=e.showGroundAtmosphere&&n.mode===te.SCENE3D,N=gn.castShadows(e.shadows)&&!d,_=gn.receiveShadows(e.shadows)&&!d,b=e.hueShift,v=e.saturationShift,I=e.brightnessShift,B=!(P.equalsEpsilon(b,0,P.EPSILON7)&&P.equalsEpsilon(v,0,P.EPSILON7)&&P.equalsEpsilon(I,0,P.EPSILON7)),F=!1;if(L){let Je=h.magnitude(n.camera.positionWC),pe=e.nightFadeOutDistance;F=Je>pe}S&&--s,w&&--s,u(n.shadowState)&&n.shadowState.shadowsEnabled&&--s,u(e.clippingPlanes)&&e.clippingPlanes.enabled&&--s,s-=f.numberOfTextureUniforms;let k=i.renderedMesh,U=k.center,G=k.encoding,V=i.tileBoundingRegion,X=n.terrainExaggeration,j=n.terrainExaggerationRelativeHeight,Q=X!==1,W=G.hasGeodeticSurfaceNormals,K=_it,J=0,_e=0,xe=0,re=0,ye=!1;if(n.mode!==te.SCENE3D){let Je=n.mapProjection,pe=Je.project(ce.southwest(t.rectangle),xit),me=Je.project(ce.northeast(t.rectangle),Cit);if(K.x=pe.x,K.y=pe.y,K.z=me.x,K.w=me.y,n.mode!==te.MORPHING&&(U=Ait,U.x=0,U.y=(K.z+K.x)*.5,U.z=(K.w+K.y)*.5,K.x-=U.y,K.y-=U.z,K.z-=U.y,K.w-=U.z),n.mode===te.SCENE2D&&G.quantization===Ps.BITS12){let be=1/(Math.pow(2,12)-1)*.5,St=(K.z-K.x)*be,qt=(K.w-K.y)*be;K.x-=St,K.y-=qt,K.z+=St,K.w+=qt}Je instanceof Si&&(J=t.rectangle.south,_e=t.rectangle.north,xe=Si.geodeticLatitudeToMercatorAngle(J),re=1/(Si.geodeticLatitudeToMercatorAngle(_e)-xe),ye=!0)}let fe=Pit;fe.frameState=n,fe.surfaceTile=i,fe.showReflectiveOcean=S,fe.showOceanWaves=w,fe.enableLighting=e.enableLighting,fe.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,fe.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,fe.showGroundAtmosphere=L,fe.atmosphereLightIntensity=e.atmosphereLightIntensity,fe.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,fe.atmosphereMieCoefficient=e.atmosphereMieCoefficient,fe.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,fe.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,fe.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,fe.perFragmentGroundAtmosphere=F,fe.hasVertexNormals=R,fe.useWebMercatorProjection=ye,fe.clippedByBoundaries=i.clippedByBoundaries,fe.hasGeodeticSurfaceNormals=W,fe.hasExaggeration=Q;let Se=i.imagery,we=0,Ve=Se.length,qe=e.showSkirts&&!l&&!d,mt=e.backFaceCulling&&!l&&!d,Ht=mt?e._renderState:e._disableCullingRenderState,fn=mt?e._blendRenderState:e._disableCullingBlendRenderState,dt=Ht,Tn=e._firstPassInitialColor,Jn=n.context;if(u(e._debug.boundingSphereTile)||o4(),e._materialUniformMap!==e.materialUniformMap){e._materialUniformMap=e.materialUniformMap;let Je=e._drawCommands.length;for(let pe=0;pe<Je;++pe)e._uniformMaps[pe]=__e(n,e)}do{let Je=0,pe,me;if(e._drawCommands.length<=e._usedDrawCommands?(pe=new tt,pe.owner=t,pe.cull=!1,pe.boundingVolume=new se,pe.orientedBoundingBox=void 0,me=__e(n,e),e._drawCommands.push(pe),e._uniformMaps.push(me)):(pe=e._drawCommands[e._usedDrawCommands],me=e._uniformMaps[e._usedDrawCommands]),pe.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile){let Do=V.boundingVolume,Bo=V.boundingSphere;u(Do)?x_e(Do,z.RED).update(n):u(Bo)&&C_e(Bo,z.RED).update(n)}let be=me.properties;oe.clone(Tn,be.initialColor),be.oceanNormalMap=D,be.lightingFadeDistance.x=e.lightingFadeOutDistance,be.lightingFadeDistance.y=e.lightingFadeInDistance,be.nightFadeDistance.x=e.nightFadeOutDistance,be.nightFadeDistance.y=e.nightFadeInDistance,be.atmosphereLightIntensity=e.atmosphereLightIntensity,be.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,be.atmosphereMieCoefficient=e.atmosphereMieCoefficient,be.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,be.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,be.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,be.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;let St=l?g:p,qt=l?p:g;u(St)&&(oe.fromElements(St.near,St.nearValue,St.far,St.farValue,be.frontFaceAlphaByDistance),oe.fromElements(qt.near,qt.nearValue,qt.far,qt.farValue,be.backFaceAlphaByDistance)),oe.fromElements(x.near,x.nearValue,x.far,x.farValue,be.undergroundColorAlphaByDistance),z.clone(A,be.undergroundColor),be.lambertDiffuseMultiplier=T,be.vertexShadowDarkness=E;let Kn=!u(i.vertexArray)&&u(e.fillHighlightColor)&&e.fillHighlightColor.alpha>0;Kn&&z.clone(e.fillHighlightColor,be.fillHighlightColor),be.terrainExaggerationAndRelativeHeight.x=X,be.terrainExaggerationAndRelativeHeight.y=j,be.center3D=k.center,h.clone(U,be.rtc),oe.clone(K,be.tileRectangle),be.southAndNorthLatitude.x=J,be.southAndNorthLatitude.y=_e,be.southMercatorYAndOneOverHeight.x=xe,be.southMercatorYAndOneOverHeight.y=re;let Ro=git,Uo=i4(t.rectangle,e.cartographicLimitRectangle),Ao=yit,Yr=i4(t.rectangle,m);h.fromElements(b,v,I,be.hsbShift);let Be=t.rectangle,it=1/Be.width,Ke=1/Be.height;Ro.x=(Uo.west-Be.west)*it,Ro.y=(Uo.south-Be.south)*Ke,Ro.z=(Uo.east-Be.west)*it,Ro.w=(Uo.north-Be.south)*Ke,oe.clone(Ro,be.localizedCartographicLimitRectangle),Ao.x=(Yr.west-Be.west)*it,Ao.y=(Yr.south-Be.south)*Ke,Ao.z=(Yr.east-Be.west)*it,Ao.w=(Yr.north-Be.south)*Ke,oe.clone(Ao,be.localizedTranslucencyRectangle);let Ze=O&&P.fog(t._distance,n.fog.density)>P.EPSILON3;B=B&&(Ze||L);let ft=!1,Lt=!1,En=!1,so=!1,So=!1,ns=!1,Nr=!1,Hi=!1,Oi=!1,Ar=!1;for(;Je<s&&we<Ve;){let Do=Se[we],Bo=Do.readyImagery;if(++we,!u(Bo)||Bo.imageryLayer.alpha===0)continue;let kf=Do.useWebMercatorT?Bo.textureWebMercator:Bo.texture,er=Bo.imageryLayer;u(Do.textureTranslationAndScale)||(Do.textureTranslationAndScale=er._calculateTextureTranslationAndScale(t,Do)),be.dayTextures[Je]=kf,be.dayTextureTranslationAndScale[Je]=Do.textureTranslationAndScale,be.dayTextureTexCoordsRectangle[Je]=Do.textureCoordinateRectangle,be.dayTextureUseWebMercatorT[Je]=Do.useWebMercatorT,be.dayTextureAlpha[Je]=er.alpha,ns=ns||be.dayTextureAlpha[Je]!==1,be.dayTextureNightAlpha[Je]=er.nightAlpha,Nr=Nr||be.dayTextureNightAlpha[Je]!==1,be.dayTextureDayAlpha[Je]=er.dayAlpha,Nr=Nr||be.dayTextureDayAlpha[Je]!==1,be.dayTextureBrightness[Je]=er.brightness,ft=ft||be.dayTextureBrightness[Je]!==bu.DEFAULT_BRIGHTNESS,be.dayTextureContrast[Je]=er.contrast,Lt=Lt||be.dayTextureContrast[Je]!==bu.DEFAULT_CONTRAST,be.dayTextureHue[Je]=er.hue,En=En||be.dayTextureHue[Je]!==bu.DEFAULT_HUE,be.dayTextureSaturation[Je]=er.saturation,so=so||be.dayTextureSaturation[Je]!==bu.DEFAULT_SATURATION,be.dayTextureOneOverGamma[Je]=1/er.gamma,So=So||be.dayTextureOneOverGamma[Je]!==1/bu.DEFAULT_GAMMA,be.dayTextureSplit[Je]=er.splitDirection,Hi=Hi||be.dayTextureSplit[Je]!==0;let ba=be.dayTextureCutoutRectangles[Je];if(u(ba)||(ba=be.dayTextureCutoutRectangles[Je]=new oe),oe.clone(oe.ZERO,ba),u(er.cutoutRectangle)){let Sa=i4(Be,er.cutoutRectangle),uh=ce.simpleIntersection(Sa,Be,y_e);Oi=u(uh)||Oi,ba.x=(Sa.west-Be.west)*it,ba.y=(Sa.south-Be.south)*Ke,ba.z=(Sa.east-Be.west)*it,ba.w=(Sa.north-Be.south)*Ke}let lh=be.colorsToAlpha[Je];u(lh)||(lh=be.colorsToAlpha[Je]=new oe);let V_=u(er.colorToAlpha)&&er.colorToAlphaThreshold>0;if(Ar=Ar||V_,V_){let Sa=er.colorToAlpha;lh.x=Sa.red,lh.y=Sa.green,lh.z=Sa.blue,lh.w=er.colorToAlphaThreshold}else lh.w=-1;if(u(Bo.credits)){let Sa=Bo.credits;for(let uh=0,i0=Sa.length;uh<i0;++uh)o.addCredit(Sa[uh])}++Je}be.dayTextures.length=Je,be.waterMask=a,oe.clone(c,be.waterMaskTranslationAndScale),be.minMaxHeight.x=G.minimumHeight,be.minMaxHeight.y=G.maximumHeight,M.clone(G.matrix,be.scaleAndBias);let Mn=e._clippingPlanes,Yn=u(Mn)&&Mn.enabled&&t.isClipped;Yn&&(be.clippingPlanesEdgeColor=z.clone(Mn.edgeColor,be.clippingPlanesEdgeColor),be.clippingPlanesEdgeWidth=Mn.edgeWidth),fe.numberOfDayTextures=Je,fe.applyBrightness=ft,fe.applyContrast=Lt,fe.applyHue=En,fe.applySaturation=so,fe.applyGamma=So,fe.applyAlpha=ns,fe.applyDayNightAlpha=Nr,fe.applySplit=Hi,fe.enableFog=Ze,fe.enableClippingPlanes=Yn,fe.clippingPlanes=Mn,fe.hasImageryLayerCutout=Oi,fe.colorCorrect=B,fe.highlightFillTile=Kn,fe.colorToAlpha=Ar,fe.showUndergroundColor=C,fe.translucent=d;let Zn=i.renderedMesh.indices.length;qe||(Zn=i.renderedMesh.indexCountWithoutSkirts),pe.shaderProgram=e._surfaceShaderSet.getShaderProgram(fe),pe.castShadows=N,pe.receiveShadows=_,pe.renderState=dt,pe.primitiveType=Me.TRIANGLES,pe.vertexArray=i.vertexArray||i.fill.vertexArray,pe.count=Zn,pe.uniformMap=me,pe.pass=Ee.GLOBE,e._debug.wireframe&&(vit(Jn,e,t),u(i.wireframeVertexArray)&&(pe.vertexArray=i.wireframeVertexArray,pe.primitiveType=Me.LINES,pe.count=Zn*2));let ti=pe.boundingVolume,hc=pe.orientedBoundingBox;n.mode!==te.SCENE3D?(se.fromRectangleWithHeights2D(t.rectangle,n.mapProjection,V.minimumHeight,V.maximumHeight,ti),h.fromElements(ti.center.z,ti.center.x,ti.center.y,ti.center),n.mode===te.MORPHING&&(ti=se.union(V.boundingSphere,ti,ti))):(pe.boundingVolume=se.clone(V.boundingSphere,ti),pe.orientedBoundingBox=Rn.clone(V.boundingVolume,hc)),pe.dirty=!0,d&&f.updateDerivedCommands(pe,n),g_e(pe,n),dt=fn,Tn=Iit}while(we<Ve)}var FL=Jo;function T_e(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=ce.clone(ce.MAX_VALUE)}Object.defineProperties(T_e.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){this._frontFaceAlphaByDistance=Pt.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){this._backFaceAlphaByDistance=Pt.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){u(e)||(e=ce.clone(ce.MAX_VALUE)),ce.clone(e,this._rectangle)}}});var VL=T_e;function ms(){this._layers=[],this.layerAdded=new Ae,this.layerRemoved=new Ae,this.layerMoved=new Ae,this.layerShownOrHidden=new Ae}Object.defineProperties(ms.prototype,{length:{get:function(){return this._layers.length}}});ms.prototype.add=function(e,t){u(t)?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t)};ms.prototype.addImageryProvider=function(e,t){let n=new bu(e);return this.add(n,t),n};ms.prototype.remove=function(e,t){t=y(t,!0);let n=this._layers.indexOf(e);return n!==-1?(this._layers.splice(n,1),this._update(),this.layerRemoved.raiseEvent(e,n),t&&e.destroy(),!0):!1};ms.prototype.removeAll=function(e){e=y(e,!0);let t=this._layers;for(let n=0,i=t.length;n<i;n++){let o=t[n];this.layerRemoved.raiseEvent(o,n),e&&o.destroy()}this._layers=[]};ms.prototype.contains=function(e){return this.indexOf(e)!==-1};ms.prototype.indexOf=function(e){return this._layers.indexOf(e)};ms.prototype.get=function(e){return this._layers[e]};function r4(e,t){return e.indexOf(t)}function E_e(e,t,n){let i=e._layers;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,e._update(),e.layerMoved.raiseEvent(o,n,t)}ms.prototype.raise=function(e){let t=r4(this._layers,e);E_e(this,t,t+1)};ms.prototype.lower=function(e){let t=r4(this._layers,e);E_e(this,t,t-1)};ms.prototype.raiseToTop=function(e){let t=r4(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))};ms.prototype.lowerToBottom=function(e){let t=r4(this._layers,e);t!==0&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};var Mit=new ce;function b_e(e,t,n,i){let o=e.globe._surface._tilesToRender,r;for(let a=0;!u(r)&&a<o.length;++a){let c=o[a];ce.contains(c.rectangle,t)&&(r=c)}if(!u(r))return;let s=r.data.imagery;for(let a=s.length-1;a>=0;--a){let c=s[a],l=c.readyImagery;if(!u(l))continue;let f=l.imageryLayer.imageryProvider;if(n&&!u(f.pickFeatures)||!ce.contains(l.rectangle,t))continue;let d=Mit,p=1/1024;d.west=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.x-p),d.east=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.z+p),d.south=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.y-p),d.north=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.w+p),ce.contains(d,t)&&i(l)}}ms.prototype.pickImageryLayers=function(e,t){let n=t.globe.pick(e,t);if(!u(n))return;let i=t.globe.ellipsoid.cartesianToCartographic(n),o=[];if(b_e(t,i,!1,function(r){o.push(r.imageryLayer)}),o.length!==0)return o};ms.prototype.pickImageryLayerFeatures=function(e,t){let n=t.globe.pick(e,t);if(!u(n))return;let i=t.globe.ellipsoid.cartesianToCartographic(n),o=[],r=[];if(b_e(t,i,!0,function(s){let c=s.imageryLayer.imageryProvider.pickFeatures(s.x,s.y,s.level,i.longitude,i.latitude);u(c)&&(o.push(c),r.push(s.imageryLayer))}),o.length!==0)return Promise.all(o).then(function(s){let a=[];for(let c=0;c<s.length;++c){let l=s[c],f=r[c];if(u(l)&&l.length>0)for(let d=0;d<l.length;++d){let p=l[d];p.imageryLayer=f,u(p.position)||(p.position=i),a.push(p)}}return a})};ms.prototype.queueReprojectionCommands=function(e){let t=this._layers;for(let n=0,i=t.length;n<i;++n)t[n].queueReprojectionCommands(e)};ms.prototype.cancelReprojections=function(){let e=this._layers;for(let t=0,n=e.length;t<n;++t)e[t].cancelReprojections()};ms.prototype.isDestroyed=function(){return!1};ms.prototype.destroy=function(){return this.removeAll(!0),le(this)};ms.prototype._update=function(){let e=!0,t=this._layers,n,i,o,r;for(o=0,r=t.length;o<r;++o)i=t[o],i._layerIndex=o,i.show?(i._isBaseLayer=e,e=!1):i._isBaseLayer=!1,i.show!==i._show&&(u(i._show)&&(u(n)||(n=[]),n.push(i)),i._show=i.show);if(u(n))for(o=0,r=n.length;o<r;++o)i=n[o],this.layerShownOrHidden.raiseEvent(i,i._layerIndex,i.show)};var UL=ms;function S_e(e){this._ellipsoid=new Qp(e.ellipsoid,h.ZERO)}Object.defineProperties(S_e.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var kL=S_e;function Wc(e){this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=$n.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=Os.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}Wc.createLevelZeroTiles=function(e){let t=e.getNumberOfXTilesAtLevel(0),n=e.getNumberOfYTilesAtLevel(0),i=new Array(t*n),o=0;for(let r=0;r<n;++r)for(let s=0;s<t;++s)i[o++]=new Wc({tilingScheme:e,x:s,y:r,level:0});return i};Wc.prototype._updateCustomData=function(e,t,n){let i=this.customData,o,r,s;if(u(t)&&u(n)){for(i=i.filter(function(a){return n.indexOf(a)===-1}),this._customData=i,s=this._rectangle,o=0;o<t.length;++o)r=t[o],ce.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=e}else{let a=this._parent;if(u(a)&&this._frameUpdated!==a._frameUpdated){i.length=0,s=this._rectangle;let c=a.customData;for(o=0;o<c.length;++o)r=c[o],ce.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=a._frameUpdated}}};Object.defineProperties(Wc.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return u(this._southwestChild)||(this._southwestChild=new Wc({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return u(this._southeastChild)||(this._southeastChild=new Wc({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return u(this._northwestChild)||(this._northwestChild=new Wc({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return u(this._northeastChild)||(this._northeastChild=new Wc({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<Os.DONE}},eligibleForUnloading:{get:function(){let e=!0;return u(this.data)&&(e=this.data.eligibleForUnloading,u(e)||(e=!0)),e}}});Wc.prototype.findLevelZeroTile=function(e,t,n){let i=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=i:t>=i&&(t-=i),!(n<0||n>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter(function(o){return o.x===t&&o.y===n})[0]};Wc.prototype.findTileToWest=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;let n=t.findTileToWest(e);if(n!==void 0)return t.southwestChild===this?n.southeastChild:n.northeastChild};Wc.prototype.findTileToEast=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;let n=t.findTileToEast(e);if(n!==void 0)return t.southeastChild===this?n.southwestChild:n.northwestChild};Wc.prototype.findTileToSouth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;let n=t.findTileToSouth(e);if(n!==void 0)return t.southwestChild===this?n.northwestChild:n.northeastChild};Wc.prototype.findTileToNorth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;let n=t.findTileToNorth(e);if(n!==void 0)return t.northwestChild===this?n.southwestChild:n.southeastChild};Wc.prototype.freeResources=function(){this.state=Os.START,this.renderable=!1,this.upsampledFromParent=!1,u(this.data)&&u(this.data.freeResources)&&this.data.freeResources(),s4(this._southwestChild),this._southwestChild=void 0,s4(this._southeastChild),this._southeastChild=void 0,s4(this._northwestChild),this._northwestChild=void 0,s4(this._northeastChild),this._northeastChild=void 0};function s4(e){u(e)&&e.freeResources()}var zL=Wc;function a4(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}a4.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};a4.prototype.trimTiles=function(e){let t=this.tail,n=!0;for(;n&&u(this._lastBeforeStartOfFrame)&&this.count>e&&u(t);){n=t!==this._lastBeforeStartOfFrame;let i=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),D_e(this,t)),t=i}};function D_e(e,t){let n=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:n.replacementNext=i,t===e.tail?e.tail=n:i.replacementPrevious=n,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}a4.prototype.markTileRendered=function(e){let t=this.head;if(t===e){e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext);return}if(++this.count,!u(t)){e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,this.tail=e;return}(u(e.replacementPrevious)||u(e.replacementNext))&&D_e(this,e),e.replacementPrevious=void 0,e.replacementNext=t,t.replacementPrevious=e,this.head=e};var HL=a4;function Pf(e){this._tileProvider=e.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let n=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new HL,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=y(e.maximumScreenSpaceError,2),this.tileCacheSize=y(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new kL({ellipsoid:n}),this._tileLoadProgressEvent=new Ae,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(Pf.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});Pf.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function Lit(e){let t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,w_e(e);let n=e._levelZeroTiles;if(u(n))for(let i=0;i<n.length;++i){let r=n[i].customData,s=r.length;for(let a=0;a<s;++a){let c=r[a];c.level=0,e._addHeightCallbacks.push(c)}n[i].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}Pf.prototype.forEachLoadedTile=function(e){let t=this._tileReplacementQueue.head;for(;u(t);)t.state!==Os.START&&e(t),t=t.replacementNext};Pf.prototype.forEachRenderedTile=function(e){let t=this._tilesToRender;for(let n=0,i=t.length;n<i;++n)e(t[n])};Pf.prototype.updateHeight=function(e,t){let n=this,i={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t};return i.removeFunc=function(){let o=n._addHeightCallbacks,r=o.length;for(let s=0;s<r;++s)if(o[s]===i){o.splice(s,1);break}n._removeHeightCallbacks.push(i),i.callback&&(i.callback=void 0)},n._addHeightCallbacks.push(i),i.removeFunc};Pf.prototype.update=function(e){u(this._tileProvider.update)&&this._tileProvider.update(e)};function w_e(e){let t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}Pf.prototype.beginFrame=function(e){e.passes.render&&(this._tilesInvalidated&&(Lit(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),w_e(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};Pf.prototype.render=function(e){let t=e.passes,n=this._tileProvider;t.render&&(n.beginUpdate(e),Uit(this,e),Kit(this,e),n.endUpdate(e)),t.pick&&this._tilesToRender.length>0&&n.updateForPick(e)};function Nit(e,t){let n=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;if(n!==e._lastTileLoadQueueLength||e._tilesInvalidated){let o=Ae.prototype.raiseEvent.bind(e._tileLoadProgressEvent,n);t.afterRender.push(()=>(o(),!0)),e._lastTileLoadQueueLength=n}let i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce(function(o,r){return Math.max(o,r.level)},-1),i.tilesRendered=e._tilesToRender.length,(i.tilesVisited!==i.lastTilesVisited||i.tilesRendered!==i.lastTilesRendered||i.tilesCulled!==i.lastTilesCulled||i.maxDepth!==i.lastMaxDepth||i.tilesWaitingForChildren!==i.lastTilesWaitingForChildren||i.maxDepthVisited!==i.lastMaxDepthVisited)&&(console.log(`Visited ${i.tilesVisited}, Rendered: ${i.tilesRendered}, Culled: ${i.tilesCulled}, Max Depth Rendered: ${i.maxDepth}, Max Depth Visited: ${i.maxDepthVisited}, Waiting for children: ${i.tilesWaitingForChildren}`),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}Pf.prototype.endFrame=function(e){!e.passes.render||e.mode===te.MORPHING||(jit(this,e),Xit(this,e),Nit(this,e))};Pf.prototype.isDestroyed=function(){return!1};Pf.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var WL,v_e=new he;function Fit(e,t){let n=ce.center(e.rectangle,v_e),i=n.longitude-WL.longitude,o=n.latitude-WL.latitude;n=ce.center(t.rectangle,v_e);let r=n.longitude-WL.longitude,s=n.latitude-WL.latitude;return i*i+o*o-(r*r+s*s)}var Vit=new h,GL=[];function Uit(e,t){let n=e._debug;if(n.suspendLodUpdate)return;let i=e._tilesToRender;i.length=0;let o,r=e._tileProvider;if(!u(e._levelZeroTiles))if(r.ready){let A=r.tilingScheme;e._levelZeroTiles=zL.createLevelZeroTiles(A);let x=e._levelZeroTiles.length;if(GL.length<x)for(GL=new Array(x),o=0;o<x;++o)GL[o]===void 0&&(GL[o]=new jL)}else return;e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;let s,a=e._levelZeroTiles,c=a.length>1?e._occluders:void 0;WL=t.camera.positionCartographic,a.sort(Fit);let l=e._addHeightCallbacks,f=e._removeHeightCallbacks,d=t.frameNumber,p;if(l.length>0||f.length>0){for(o=0,p=a.length;o<p;++o)s=a[o],s._updateCustomData(d,l,f);l.length=0,f.length=0}let g=t.camera;e._cameraPositionCartographic=g.positionCartographic;let m=M.getTranslation(g.transform,Vit);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(m,e._cameraReferenceFrameOriginCartographic),o=0,p=a.length;o<p;++o)s=a[o],e._tileReplacementQueue.markTileRendered(s),s.renderable?Aa(e,s,r,t,c,!1,GL[o]):(w_(e,e._tileLoadQueueHigh,s,t),++n.tilesWaitingForChildren);e._lastSelectionFrameNumber=d}function w_(e,t,n,i){n.needsLoading&&(e.tileProvider.computeTileLoadPriority!==void 0&&(n._loadPriority=e.tileProvider.computeTileLoadPriority(n,i)),t.push(n))}function jL(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function I_e(){this.southwest=new jL,this.southeast=new jL,this.northwest=new jL,this.northeast=new jL}I_e.prototype.combine=function(e){let t=this.southwest,n=this.southeast,i=this.northwest,o=this.northeast;e.allAreRenderable=t.allAreRenderable&&n.allAreRenderable&&i.allAreRenderable&&o.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||o.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+n.notYetRenderableCount+i.notYetRenderableCount+o.notYetRenderableCount};var OY=new Array(31);for(let e=0;e<OY.length;++e)OY[e]=new I_e;function kit(e,t,n,i,o){let r=e._debug;++r.tilesVisited,e._tileReplacementQueue.markTileRendered(n),n._updateCustomData(t.frameNumber),n.level>r.maxDepthVisited&&(r.maxDepthVisited=n.level);let s=Git(e,t,n)<e.maximumScreenSpaceError,a=n.southwestChild,c=n.southeastChild,l=n.northwestChild,f=n.northeastChild,d=e._lastSelectionFrameNumber,p=n._lastSelectionResultFrame===d?n._lastSelectionResult:$n.NONE,g=e.tileProvider;if(s||i){let m=$n.originalResult(p)===$n.RENDERED,A=$n.originalResult(p)===$n.CULLED||p===$n.NONE,x=n.state===Os.DONE,C=m||A||x;if(C||u(g.canRenderWithoutLosingDetail)&&(C=g.canRenderWithoutLosingDetail(n)),C){s&&w_(e,e._tileLoadQueueMedium,n,t),c4(e,n),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===$n.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=$n.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}i=!0,s&&w_(e,e._tileLoadQueueHigh,n,t)}if(g.canRefine(n)){if(a.upsampledFromParent&&c.upsampledFromParent&&l.upsampledFromParent&&f.upsampledFromParent){c4(e,n),w_(e,e._tileLoadQueueMedium,n,t),e._tileReplacementQueue.markTileRendered(a),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(l),e._tileReplacementQueue.markTileRendered(f),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===$n.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=$n.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=$n.REFINED;let A=e._tilesToRender.length,x=e._tileLoadQueueLow.length,C=e._tileLoadQueueMedium.length,T=e._tileLoadQueueHigh.length,E=e._tileToUpdateHeights.length;if(zit(e,a,c,l,f,t,i,o),A!==e._tilesToRender.length){let S=o.allAreRenderable,D=o.anyWereRenderedLastFrame,w=o.notYetRenderableCount,R=!1;if(!S&&!D){let O=e._tilesToRender;for(let N=A;N<O.length;++N){let _=O[N];for(;_!==void 0&&_._lastSelectionResult!==$n.KICKED&&_!==n;)_._lastSelectionResult=$n.kick(_._lastSelectionResult),_=_.parent}e._tilesToRender.length=A,e._tileToUpdateHeights.length=E,c4(e,n),n._lastSelectionResult=$n.RENDERED;let L=p===$n.RENDERED;!L&&w>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=x,e._tileLoadQueueMedium.length=C,e._tileLoadQueueHigh.length=T,w_(e,e._tileLoadQueueMedium,n,t),o.notYetRenderableCount=n.renderable?0:1,R=!0),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=L,L||e._tileToUpdateHeights.push(n),++r.tilesWaitingForChildren}e.preloadAncestors&&!R&&w_(e,e._tileLoadQueueLow,n,t)}return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=$n.RENDERED,c4(e,n),w_(e,e._tileLoadQueueHigh,n,t),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===$n.RENDERED,o.notYetRenderableCount=n.renderable?0:1}function zit(e,t,n,i,o,r,s,a){let c=r.camera.positionCartographic,l=e._tileProvider,f=e._occluders,d=OY[t.level],p=d.southwest,g=d.southeast,m=d.northwest,A=d.northeast;c.longitude<t.rectangle.east?c.latitude<t.rectangle.north?(Aa(e,t,l,r,f,s,p),Aa(e,n,l,r,f,s,g),Aa(e,i,l,r,f,s,m),Aa(e,o,l,r,f,s,A)):(Aa(e,i,l,r,f,s,m),Aa(e,t,l,r,f,s,p),Aa(e,o,l,r,f,s,A),Aa(e,n,l,r,f,s,g)):c.latitude<t.rectangle.north?(Aa(e,n,l,r,f,s,g),Aa(e,t,l,r,f,s,p),Aa(e,o,l,r,f,s,A),Aa(e,i,l,r,f,s,m)):(Aa(e,o,l,r,f,s,A),Aa(e,i,l,r,f,s,m),Aa(e,n,l,r,f,s,g),Aa(e,t,l,r,f,s,p)),d.combine(a)}function Hit(e,t){let n=t.rectangle;return u(e._cameraPositionCartographic)&&ce.contains(n,e._cameraPositionCartographic)||u(e._cameraReferenceFrameOriginCartographic)&&ce.contains(n,e._cameraReferenceFrameOriginCartographic)}function Aa(e,t,n,i,o,r,s){if(n.computeTileVisibility(t,i,o)!==ur.NONE)return kit(e,i,t,r,s);if(++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),s.allAreRenderable=!0,s.anyWereRenderedLastFrame=!1,s.notYetRenderableCount=0,Hit(e,t)){(!u(t.data)||!u(t.data.vertexArray))&&w_(e,e._tileLoadQueueMedium,t,i);let a=e._lastSelectionFrameNumber,c=t._lastSelectionResultFrame===a?t._lastSelectionResult:$n.NONE;c!==$n.CULLED_BUT_NEEDED&&c!==$n.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=$n.CULLED_BUT_NEEDED}else e.preloadSiblings||t.level===0?(w_(e,e._tileLoadQueueLow,t,i),t._lastSelectionResult=$n.CULLED):t._lastSelectionResult=$n.CULLED;t._lastSelectionResultFrame=i.frameNumber}function Git(e,t,n){if(t.mode===te.SCENE2D||t.camera.frustum instanceof en||t.camera.frustum instanceof Tr)return Wit(e,t,n);let i=e._tileProvider.getLevelMaximumGeometricError(n.level),o=n._distance,r=t.context.drawingBufferHeight,s=t.camera.frustum.sseDenominator,a=i*r/(o*s);return t.fog.enabled&&(a-=P.fog(o,t.fog.density)*t.fog.sse),a/=t.pixelRatio,a}function Wit(e,t,n){let o=t.camera.frustum;u(o._offCenterFrustum)&&(o=o._offCenterFrustum);let r=t.context,s=r.drawingBufferWidth,a=r.drawingBufferHeight,c=e._tileProvider.getLevelMaximumGeometricError(n.level),l=Math.max(o.top-o.bottom,o.right-o.left)/Math.max(s,a),f=c/l;return t.fog.enabled&&t.mode!==te.SCENE2D&&(f-=P.fog(n._distance,t.fog.density)*t.fog.sse),f/=t.pixelRatio,f}function c4(e,t){e._tilesToRender.push(t)}function jit(e,t){let n=e._tileLoadQueueHigh,i=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;if(n.length===0&&i.length===0&&o.length===0)return;e._tileReplacementQueue.trimTiles(e.tileCacheSize);let r=di()+e._loadQueueTimeSlice,s=e._tileProvider,a=IY(e,t,s,r,n,!1);a=IY(e,t,s,r,i,a),IY(e,t,s,r,o,a)}function Yit(e,t){return e._loadPriority-t._loadPriority}function IY(e,t,n,i,o,r){n.computeTileLoadPriority!==void 0&&o.sort(Yit);for(let s=0,a=o.length;s<a&&(di()<i||!r);++s){let c=o[s];e._tileReplacementQueue.markTileRendered(c),n.loadTile(t,c),r=!0}return r}var aS=new wn,PY=new he,Uy=new h,qit=[];function Xit(e,t){if(!e.tileProvider.ready)return;let n=qit;n.length=0;let i=e._tileToUpdateHeights,o=di(),r=e._updateHeightsTimeSlice,s=o+r,a=t.mode,c=t.mapProjection,l=e.tileProvider.tilingScheme.ellipsoid,f;for(;i.length>0;){let d=i[0];if(!u(d.data)||!u(d.data.mesh)){let A=d._lastSelectionResultFrame===e._lastSelectionFrameNumber?d._lastSelectionResult:$n.NONE;(A===$n.RENDERED||A===$n.CULLED_BUT_NEEDED)&&n.push(d),i.shift(),e._lastTileIndex=0;continue}let p=d.customData,g=p.length,m=!1;for(f=e._lastTileIndex;f<g;++f){let A=p[f],x=d.data.terrainData,C=u(x)&&x.wasCreatedByUpsampling();if(d.level>A.level&&!C){if(u(A.positionOnEllipsoidSurface)||(A.positionOnEllipsoidSurface=h.fromRadians(A.positionCartographic.longitude,A.positionCartographic.latitude,0,l)),a===te.SCENE3D){let E=l.geodeticSurfaceNormal(A.positionOnEllipsoidSurface,aS.direction),S=l.getSurfaceNormalIntersectionWithZAxis(A.positionOnEllipsoidSurface,11500,aS.origin);if(!u(S)){let D=0;u(d.data.tileBoundingRegion)&&(D=d.data.tileBoundingRegion.minimumHeight);let w=Math.min(D,-11500),R=h.multiplyByScalar(E,Math.abs(w)+1,Uy);h.subtract(A.positionOnEllipsoidSurface,R,aS.origin)}}else he.clone(A.positionCartographic,PY),PY.height=-11500,c.project(PY,Uy),h.fromElements(Uy.z,Uy.x,Uy.y,Uy),h.clone(Uy,aS.origin),h.clone(h.UNIT_X,aS.direction);let T=d.data.pick(aS,a,c,!1,Uy);u(T)&&(u(A.callback)&&A.callback(T),A.level=d.level)}if(di()>=s){m=!0;break}}if(m){e._lastTileIndex=f;break}else e._lastTileIndex=0,i.shift()}for(f=0;f<n.length;f++)i.push(n[f])}function Kit(e,t){let n=e._tileProvider,i=e._tilesToRender;for(let o=0,r=i.length;o<r;++o){let s=i[o];n.showTileThisFrame(s,t)}}var YL=Pf;function nh(e){e=y(e,ie.WGS84);let t=new A_({ellipsoid:e}),n=new UL;this._ellipsoid=e,this._imageryLayerCollection=n,this._surfaceShaderSet=new LL,this._material=void 0,this._surface=new YL({tileProvider:new FL({terrainProvider:t,imageryLayers:n,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new Ae,this._undergroundColor=z.clone(z.BLACK),this._undergroundColorAlphaByDistance=new Pt(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new VL,BY(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new Oe({url:$t("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!0,this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=1e7,this.lightingFadeInDistance=2e7,this.nightFadeOutDistance=1e7,this.nightFadeInDistance=5e7,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=gn.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0,this.vertexShadowDarkness=.3}Object.defineProperties(nh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return u(this._surface)?this._surface.tileProvider.ready&&this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){u(e)||(e=ce.clone(ce.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),u(this._material)&&BY(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,BY(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=z.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){this._undergroundColorAlphaByDistance=Pt.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});function BY(e){let t=[],n=u(e._material)&&(e._material.shaderSource.match(/slope/)||e._material.shaderSource.match("normalEC")),i=[p_,Ob];u(e._material)&&(!n||e._terrainProvider.requestVertexNormals)?(i.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms):e._surface._tileProvider.materialUniformMap=void 0,i.push(zM),e._surfaceShaderSet.baseVertexShaderSource=new ke({sources:[p_,Ob,HM],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new ke({sources:i,defines:t}),e._surfaceShaderSet.material=e._material}function Zit(e){return function(t,n){let i=se.distanceSquaredTo(t.pickBoundingSphere,e),o=se.distanceSquaredTo(n.pickBoundingSphere,e);return i-o}}var Jit=[],Qit={start:0,stop:0};nh.prototype.pickWorldCoordinates=function(e,t,n,i){n=y(n,!0);let o=t.mode,r=t.mapProjection,s=Jit;s.length=0;let a=this._surface._tilesToRender,c=a.length,l,f;for(f=0;f<c;++f){l=a[f];let p=l.data;if(!u(p))continue;let g=p.pickBoundingSphere;if(o!==te.SCENE3D)p.pickBoundingSphere=g=se.fromRectangleWithHeights2D(l.rectangle,r,p.tileBoundingRegion.minimumHeight,p.tileBoundingRegion.maximumHeight,g),h.fromElements(g.center.z,g.center.x,g.center.y,g.center);else if(u(p.renderedMesh))se.clone(p.tileBoundingRegion.boundingSphere,g);else continue;let m=Yi.raySphere(e,g,Qit);u(m)&&s.push(p)}s.sort(Zit(e.origin));let d;for(c=s.length,f=0;f<c&&(d=s[f].pick(e,t.mode,t.mapProjection,n,i),!u(d));++f);return d};var $it=new he;nh.prototype.pick=function(e,t,n){if(n=this.pickWorldCoordinates(e,t,!0,n),u(n)&&t.mode!==te.SCENE3D){n=h.fromElements(n.y,n.z,n.x,n);let i=t.mapProjection.unproject(n,$it);n=t.globe.ellipsoid.cartographicToCartesian(i,n)}return n};var eot=new h,P_e=new h,tot=new he,not=new wn;function RY(e,t){return u(e)&&ce.contains(e.rectangle,t)?e:void 0}nh.prototype.getHeight=function(e){let t=this._surface._levelZeroTiles;if(!u(t))return;let n,i,o=t.length;for(i=0;i<o&&(n=t[i],!ce.contains(n.rectangle,e));++i);if(i>=o)return;let r=n;for(;u(n);)n=RY(n._southwestChild,e)||RY(n._southeastChild,e)||RY(n._northwestChild,e)||n._northeastChild,u(n)&&u(n.data)&&u(n.data.renderedMesh)&&(r=n);if(n=r,!u(n)||!u(n.data)||!u(n.data.renderedMesh))return;let s=this._surface._tileProvider.tilingScheme.projection,a=this._surface._tileProvider.tilingScheme.ellipsoid,c=h.fromRadians(e.longitude,e.latitude,0,a,eot),l=not,f=a.geodeticSurfaceNormal(c,l.direction),d=a.getSurfaceNormalIntersectionWithZAxis(c,11500,l.origin);if(!u(d)){let g;u(n.data.tileBoundingRegion)&&(g=n.data.tileBoundingRegion.minimumHeight);let m=Math.min(y(g,0),-11500),A=h.multiplyByScalar(f,Math.abs(m)+1,P_e);h.subtract(c,A,l.origin)}let p=n.data.pick(l,void 0,s,!1,P_e);if(u(p))return a.cartesianToCartographic(p,tot).height};nh.prototype.update=function(e){this.show&&e.passes.render&&this._surface.update(e)};nh.prototype.beginFrame=function(e){let t=this._surface,n=t.tileProvider,i=this.terrainProvider,o=this.showWaterEffect&&i.ready&&i.hasWaterMask;if(o&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let a=this._oceanNormalMapResource,c=a.url;if(u(c)){let l=this;a.fetchImage().then(function(f){c===l._oceanNormalMapResource.url&&(l._oceanNormalMap=l._oceanNormalMap&&l._oceanNormalMap.destroy(),l._oceanNormalMap=new It({context:e.context,source:f}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let r=e.passes,s=e.mode;r.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,t.maximumScreenSpaceError=this.maximumScreenSpaceError,t.tileCacheSize=this.tileCacheSize,t.loadingDescendantLimit=this.loadingDescendantLimit,t.preloadAncestors=this.preloadAncestors,t.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===te.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.atmosphereLightIntensity=this.atmosphereLightIntensity,n.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,n.atmosphereMieCoefficient=this.atmosphereMieCoefficient,n.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,n.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,n.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.vertexShadowDarkness=this.vertexShadowDarkness,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,n.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,t.beginFrame(e))};nh.prototype.render=function(e){this.show&&(u(this._material)&&this._material.update(e.context),this._surface.render(e))};nh.prototype.endFrame=function(e){this.show&&e.passes.render&&this._surface.endFrame(e)};nh.prototype.isDestroyed=function(){return!1};nh.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),le(this)};var qL=nh;var MY={position:0};function l4(e){e=y(e,y.EMPTY_OBJECT),this.center=h.clone(y(e.center,h.ZERO)),this._center=new h,this.radii=h.clone(e.radii),this._radii=new h,this._oneOverEllipsoidRadiiSquared=new h,this._boundingSphere=new se,this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=new M,this._computedModelMatrix=new M,this.show=y(e.show,!0),this.material=y(e.material,Vi.fromType(Vi.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.onlySunLighting=y(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=y(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new tt({owner:y(e._owner,this)}),this._pickCommand=new tt({owner:y(e._owner,this),pickOnly:!0});let t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function iot(e){let t=e.cache.ellipsoidPrimitive_vertexArray;if(u(t))return t;let n=ol.createGeometry(ol.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Ie.POSITION_ONLY}));return t=oi.fromGeometry({context:e,geometry:n,attributeLocations:MY,bufferUsage:Ne.STATIC_DRAW,interleave:!0}),e.cache.ellipsoidPrimitive_vertexArray=t,t}l4.prototype.update=function(e){if(!this.show||e.mode!==te.SCENE3D||!u(this.center)||!u(this.radii))return;let t=e.context,n=this.material.isTranslucent(),i=this._translucent!==n;(!u(this._rs)||i)&&(this._translucent=n,this._rs=Ue.fromCache({cull:{enabled:!0,face:gi.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!n&&t.fragmentDepth,blending:n?un.ALPHA_BLEND:void 0})),u(this._va)||(this._va=iot(t));let o=!1,r=this.radii;if(!h.equals(this._radii,r)){h.clone(r,this._radii);let A=this._oneOverEllipsoidRadiiSquared;A.x=1/(r.x*r.x),A.y=1/(r.y*r.y),A.z=1/(r.z*r.z),o=!0}(!M.equals(this.modelMatrix,this._modelMatrix)||!h.equals(this.center,this._center))&&(M.clone(this.modelMatrix,this._modelMatrix),h.clone(this.center,this._center),M.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(h.clone(h.ZERO,this._boundingSphere.center),this._boundingSphere.radius=h.maximumComponent(r),se.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let s=this._material!==this.material;this._material=this.material,this._material.update(t);let a=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let c=e.useLogDepth,l=this._useLogDepth!==c;this._useLogDepth=c;let f=this._colorCommand,d,p;(s||a||i||l)&&(d=new ke({sources:[Pb]}),p=new ke({sources:[this.material.shaderSource,Ib]}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._sp=Xt.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:MY}),f.vertexArray=this._va,f.renderState=this._rs,f.shaderProgram=this._sp,f.uniformMap=_t(this._uniforms,this.material._uniforms),f.executeInClosestFrustum=n);let g=e.commandList,m=e.passes;if(m.render&&(f.boundingVolume=this._boundingSphere,f.debugShowBoundingVolume=this.debugShowBoundingVolume,f.modelMatrix=this._computedModelMatrix,f.pass=n?Ee.TRANSLUCENT:Ee.OPAQUE,g.push(f)),m.pick){let A=this._pickCommand;(!u(this._pickId)||this._id!==this.id)&&(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),(s||a||!u(this._pickSP)||l)&&(d=new ke({sources:[Pb]}),p=new ke({sources:[this.material.shaderSource,Ib],pickColorQualifier:"uniform"}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._pickSP=Xt.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:MY}),A.vertexArray=this._va,A.renderState=this._rs,A.shaderProgram=this._pickSP,A.uniformMap=_t(_t(this._uniforms,this._pickUniforms),this.material._uniforms),A.executeInClosestFrustum=n),A.boundingVolume=this._boundingSphere,A.modelMatrix=this._computedModelMatrix,A.pass=n?Ee.TRANSLUCENT:Ee.OPAQUE,g.push(A)}};l4.prototype.isDestroyed=function(){return!1};l4.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),le(this)};var XL=l4;function KL(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureUrl;u(t)||(t=$t("Assets/Textures/moonSmall.jpg")),this.show=y(e.show,!0),this.textureUrl=t,this._ellipsoid=y(e.ellipsoid,ie.MOON),this.onlySunLighting=y(e.onlySunLighting,!0),this._ellipsoidPrimitive=new XL({radii:this.ellipsoid.radii,material:Vi.fromType(Vi.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new uL}Object.defineProperties(KL.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var u4=new Z,oot=new Z,rot=new h,f4=[];KL.prototype.update=function(e){if(!this.show)return;let t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;let n=e.time;u(Ot.computeIcrfToFixedMatrix(n,u4))||Ot.computeTemeToPseudoFixedMatrix(n,u4);let i=this._axes.evaluate(n,oot);Z.transpose(i,i),Z.multiply(u4,i,i);let o=K_.computeMoonPositionInEarthInertialFrame(n,rot);Z.multiplyByVector(u4,o,o),M.fromRotationTranslation(i,o,t.modelMatrix);let r=e.commandList;return e.commandList=f4,f4.length=0,t.update(e),e.commandList=r,f4.length===1?f4[0]:void 0};KL.prototype.isDestroyed=function(){return!1};KL.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),le(this)};var ZL=KL;function JL(){this._colorTexture=void 0,this._drawCommand=void 0}Object.defineProperties(JL.prototype,{colorTexture:{get:function(){return this._colorTexture}}});function sot(e,t,n){let i=t.createViewportQuadCommand(OM,{framebuffer:n,renderState:Ue.fromCache({viewport:new Ye(0,0,256,256)})});e._drawCommand=i}JL.prototype.update=function(e){if(!u(this._colorTexture)){let t=e.context,n=new It({context:t,width:256,height:256,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,sampler:ln.NEAREST});this._colorTexture=n;let i=new Ns({context:t,colorTextures:[n],destroyAttachments:!1});sot(this,t,i),this._drawCommand.execute(t),i.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}};JL.prototype.isDestroyed=function(){return!1};JL.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),le(this)};var QL=JL;var M_e={};function aot(e,t,n){let i,o,r;if(e instanceof Ti){let s=Math.tan(.5*e.fovy);return i=e.near,o=e.near*s,r=e.aspectRatio*o,Math.max(t*i/r,n*i/o)}else if(e instanceof zc)return i=e.near,o=e.top,r=e.right,Math.max(t*i/r,n*i/o);return Math.max(t,n)}var cot=new h,O_e=new h;function L_e(e,t,n,i){if(u(i)&&n(.5)>i){let o=n(0),r=n(1),s=n(.5),a=s-o,c=s-r;return function(l){let f=n(l);if(l<=.5){let p=(f-o)/a;return P.lerp(e,-P.PI_OVER_TWO,p)}let d=(f-r)/c;return P.lerp(-P.PI_OVER_TWO,t,1-d)}}return function(o){return P.lerp(e,t,o)}}function NY(e,t,n,i,o){let r=o,s=Math.max(n,i);if(!u(r)){let a=e.position,c=t,l=e.up,f=e.right,d=e.frustum,p=h.subtract(a,c,cot),g=h.magnitude(h.multiplyByScalar(l,h.dot(p,l),O_e)),m=h.magnitude(h.multiplyByScalar(f,h.dot(p,f),O_e));r=Math.min(aot(d,g,m)*.2,1e9)}if(s<r){let l=-Math.pow((r-n)*1e6,.125),f=Math.pow((r-i)*1e6,1/8);return function(d){let p=d*(f-l)+l;return-Math.pow(p,8)/1e6+r}}return function(a){return P.lerp(n,i,a)}}function $L(e,t){return P.equalsEpsilon(e,P.TWO_PI,P.EPSILON11)&&(e=0),t>e+Math.PI?e+=P.TWO_PI:t<e-Math.PI&&(e-=P.TWO_PI),e}var N_e=new h;function lot(e,t,n,i,o,r,s,a){let c=e.camera,l=h.clone(c.position,N_e),f=c.pitch,d=$L(c.heading,i),p=$L(c.roll,r),g=NY(c,n,l.z,n.z,s),m=L_e(f,o,g,a);function A(x){let C=x.time/t;c.setView({orientation:{heading:P.lerp(d,i,C),pitch:m(C),roll:P.lerp(p,r,C)}}),H.lerp(l,n,C,c.position),c.position.z=g(C)}return A}function uot(e,t){e.longitude<t.longitude?e.longitude+=P.TWO_PI:t.longitude+=P.TWO_PI}function fot(e,t){let n=e.longitude-t.longitude;n<-P.PI?e.longitude+=P.TWO_PI:n>P.PI&&(t.longitude+=P.TWO_PI)}var dot=new he,hot=new he;function mot(e,t,n,i,o,r,s,a,c,l){let f=e.camera,p=e.mapProjection.ellipsoid,g=he.clone(f.positionCartographic,dot),m=f.pitch,A=$L(f.heading,i),x=$L(f.roll,r),C=p.cartesianToCartographic(n,hot);g.longitude=P.zeroToTwoPi(g.longitude),C.longitude=P.zeroToTwoPi(C.longitude);let T=!1;if(u(a)){let w=P.zeroToTwoPi(a),R=Math.min(g.longitude,C.longitude),O=Math.max(g.longitude,C.longitude),L=w>=R&&w<=O;if(u(c)){let N=Math.abs(g.longitude-C.longitude),_=P.TWO_PI-N;(L?N:_)<(L?_:N)*c&&!L&&(T=!0)}else L||(T=!0)}T?uot(g,C):fot(g,C);let E=NY(f,n,g.height,C.height,s),S=L_e(m,o,E,l);function D(){let w=g.longitude,R=C.longitude,O=g.latitude,L=C.latitude;return function(_){let b=_.time/t,v=h.fromRadians(P.lerp(w,R,b),P.lerp(O,L,b),E(b),p);f.setView({destination:v,orientation:{heading:P.lerp(A,i,b),pitch:S(b),roll:P.lerp(x,r,b)}})}}return D()}function pot(e,t,n,i,o,r,s){let a=e.camera,c=h.clone(a.position,N_e),l=$L(a.heading,i),f=a.frustum.right-a.frustum.left,d=NY(a,n,f,n.z,s);function p(g){let m=g.time/t;a.setView({orientation:{heading:P.lerp(l,i,m)}}),H.lerp(c,n,m,a.position);let A=d(m),x=a.frustum,C=x.top/x.right,T=(A-(x.right-x.left))*.5;x.right+=T,x.left-=T,x.top=C*x.right,x.bottom=-x.top}return p}var R_e=new he,_ot=new h;function LY(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function B_e(e,t){function n(){typeof t=="function"&&t(),e.enableInputs=!0}return n}M_e.createTween=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.destination,i=e.mode;if(i===te.MORPHING)return LY();let o=y(t.convert,!0),r=e.mapProjection,s=r.ellipsoid,a=t.maximumHeight,c=t.flyOverLongitude,l=t.flyOverLongitudeWeight,f=t.pitchAdjustHeight,d=t.easingFunction;o&&i!==te.SCENE3D&&(s.cartesianToCartographic(n,R_e),n=r.project(R_e,_ot));let p=e.camera,g=t.endTransform;u(g)&&p._setTransform(g);let m=t.duration;u(m)||(m=Math.ceil(h.distance(p.position,n)/1e6)+2,m=Math.min(m,3));let A=y(t.heading,0),x=y(t.pitch,-P.PI_OVER_TWO),C=y(t.roll,0),T=e.screenSpaceCameraController;T.enableInputs=!1;let E=B_e(T,t.complete),S=B_e(T,t.cancel),D=p.frustum,w=e.mode===te.SCENE2D;if(w=w&&H.equalsEpsilon(p.position,n,P.EPSILON6),w=w&&P.equalsEpsilon(Math.max(D.right-D.left,D.top-D.bottom),n.z,P.EPSILON6),w=w||e.mode!==te.SCENE2D&&h.equalsEpsilon(n,p.position,P.EPSILON10),w=w&&P.equalsEpsilon(P.negativePiToPi(A),P.negativePiToPi(p.heading),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(x),P.negativePiToPi(p.pitch),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(C),P.negativePiToPi(p.roll),P.EPSILON10),w)return LY(E,S);let R=new Array(4);if(R[te.SCENE2D]=pot,R[te.SCENE3D]=mot,R[te.COLUMBUS_VIEW]=lot,m<=0)return LY(function(){R[i](e,1,n,A,x,C,a,c,l,f)({time:1}),typeof E=="function"&&E()},S);let O=R[i](e,m,n,A,x,C,a,c,l,f);if(!u(d)){let L=p.positionCartographic.height,N=i===te.SCENE3D?s.cartesianToCartographic(n).height:n.z;L>N&&L>11500?d=Mr.CUBIC_OUT:d=Mr.QUINTIC_IN_OUT}return{duration:m,easingFunction:d,startObject:{time:0},stopObject:{time:m},update:O,complete:E,cancel:S}};var eN=M_e;var got={ROTATE:0,INFINITE_SCROLL:1},wl=Object.freeze(got);function Jt(e){this._scene=e,this._transform=M.clone(M.IDENTITY),this._invTransform=M.clone(M.IDENTITY),this._actualTransform=M.clone(M.IDENTITY),this._actualInvTransform=M.clone(M.IDENTITY),this._transformChanged=!1,this.position=new h,this._position=new h,this._positionWC=new h,this._positionCartographic=new he,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new h,this._direction=new h,this._directionWC=new h,this.up=new h,this._up=new h,this._upWC=new h,this.right=new h,this._right=new h,this._rightWC=new h,this.frustum=new Ti,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new Ae,this._moveEnd=new Ae,this._changed=new Ae,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this.percentageChanged=.5,this._viewMatrix=new M,this._invViewMatrix=new M,W_e(this),this._mode=te.SCENE3D,this._modeChanged=!0;let t=e.mapProjection;this._projection=t,this._maxCoord=t.project(new he(Math.PI,P.PI_OVER_TWO)),this._max2Dfrustum=void 0,nge(this,Jt.DEFAULT_VIEW_RECTANGLE,this.position,!0);let n=h.magnitude(this.position);n+=n*Jt.DEFAULT_VIEW_FACTOR,h.normalize(this.position,this.position),h.multiplyByScalar(this.position,n,this.position)}Jt.TRANSFORM_2D=new M(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);Jt.TRANSFORM_2D_INVERSE=M.inverseTransformation(Jt.TRANSFORM_2D,new M);Jt.DEFAULT_VIEW_RECTANGLE=ce.fromDegrees(-95,-20,-70,90);Jt.DEFAULT_VIEW_FACTOR=.5;Jt.DEFAULT_OFFSET=new uu(0,-P.PI_OVER_FOUR,0);function W_e(e){M.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),M.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),M.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function yot(e){if(!u(e._oldPositionWC))e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC);else{e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude;let t=h.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC);e.positionWCDeltaMagnitude=h.magnitude(t),e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC),e.positionWCDeltaMagnitude>0?(e.timeSinceMoved=0,e._lastMovedTimestamp=di()):e.timeSinceMoved=Math.max(di()-e._lastMovedTimestamp,0)/1e3}}Jt.prototype.canPreloadFlight=function(){return u(this._currentFlight)&&this._mode!==te.SCENE2D};Jt.prototype._updateCameraChanged=function(){let e=this;if(yot(e),e._changed.numberOfListeners===0)return;let t=e.percentageChanged,n=e.heading;u(e._changedHeading)||(e._changedHeading=n);let i=Math.abs(e._changedHeading-n)%P.TWO_PI;i=i>P.PI?P.TWO_PI-i:i;let o=i/Math.PI;if(o>t&&(e._changed.raiseEvent(o),e._changedHeading=n),e._mode===te.SCENE2D){if(!u(e._changedFrustum)){e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone();return}let l=e.position,f=e._changedPosition,d=e.frustum,p=e._changedFrustum,g=l.x+d.left,m=l.x+d.right,A=f.x+p.left,x=f.x+p.right,C=l.y+d.bottom,T=l.y+d.top,E=f.y+p.bottom,S=f.y+p.top,D=Math.max(g,A),w=Math.min(m,x),R=Math.max(C,E),O=Math.min(T,S),L;if(D>=w||R>=T)L=1;else{let N=p;g<A&&m>x&&C<E&&T>S&&(N=d),L=1-(w-D)*(O-R)/((N.right-N.left)*(N.top-N.bottom))}L>t&&(e._changed.raiseEvent(L),e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum));return}if(!u(e._changedDirection)){e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection);return}let r=P.acosClamped(h.dot(e.directionWC,e._changedDirection)),s;u(e.frustum.fovy)?s=r/(e.frustum.fovy*.5):s=r;let c=h.distance(e.positionWC,e._changedPosition)/e.positionCartographic.height;(s>t||c>t)&&(e._changed.raiseEvent(Math.max(s,c)),e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection))};function Aot(e){Ot.basisTo2D(e._projection,e._transform,e._actualTransform)}var xot=new he,Cot=new h,d4=new h,Tot=new oe,Eot=new oe,bot=new oe,Sot=new oe,Dot=new oe;function vot(e){let t=e._projection,n=t.ellipsoid,i=M.getColumn(e._transform,3,Tot),o=n.cartesianToCartographic(i,xot),r=t.project(o,Cot),s=Eot;s.x=r.z,s.y=r.x,s.z=r.y,s.w=1;let a=oe.clone(oe.UNIT_X,Dot),c=oe.add(M.getColumn(e._transform,0,d4),i,d4);n.cartesianToCartographic(c,o),t.project(o,r);let l=bot;l.x=r.z,l.y=r.x,l.z=r.y,l.w=0,h.subtract(l,s,l),l.x=0;let f=Sot;if(h.magnitudeSquared(l)>P.EPSILON10)h.cross(a,l,f);else{let d=oe.add(M.getColumn(e._transform,1,d4),i,d4);n.cartesianToCartographic(d,o),t.project(o,r),f.x=r.z,f.y=r.x,f.z=r.y,f.w=0,h.subtract(f,s,f),f.x=0,h.magnitudeSquared(f)<P.EPSILON10&&(oe.clone(oe.UNIT_Y,l),oe.clone(oe.UNIT_Z,f))}h.cross(f,a,l),h.normalize(l,l),h.cross(a,l,f),h.normalize(f,f),M.setColumn(e._actualTransform,0,l,e._actualTransform),M.setColumn(e._actualTransform,1,f,e._actualTransform),M.setColumn(e._actualTransform,2,a,e._actualTransform),M.setColumn(e._actualTransform,3,s,e._actualTransform)}var FY=new h;function lc(e){let t=e._mode,n=!1,i=0;t===te.SCENE2D&&(i=e.frustum.right-e.frustum.left,n=i!==e._positionCartographic.height);let o=e._position,r=!h.equals(o,e.position)||n;r&&(o=h.clone(e.position,e._position));let s=e._direction,a=!h.equals(s,e.direction);a&&(h.normalize(e.direction,e.direction),s=h.clone(e.direction,e._direction));let c=e._up,l=!h.equals(c,e.up);l&&(h.normalize(e.up,e.up),c=h.clone(e.up,e._up));let f=e._right,d=!h.equals(f,e.right);d&&(h.normalize(e.right,e.right),f=h.clone(e.right,e._right));let p=e._transformChanged||e._modeChanged;e._transformChanged=!1,p&&(M.inverseTransformation(e._transform,e._invTransform),e._mode===te.COLUMBUS_VIEW||e._mode===te.SCENE2D?M.equals(M.IDENTITY,e._transform)?M.clone(Jt.TRANSFORM_2D,e._actualTransform):e._mode===te.COLUMBUS_VIEW?Aot(e):vot(e):M.clone(e._transform,e._actualTransform),M.inverseTransformation(e._actualTransform,e._actualInvTransform),e._modeChanged=!1);let g=e._actualTransform;if(r||p)if(e._positionWC=M.multiplyByPoint(g,o,e._positionWC),t===te.SCENE3D||t===te.MORPHING)e._positionCartographic=e._projection.ellipsoid.cartesianToCartographic(e._positionWC,e._positionCartographic);else{let m=FY;m.x=e._positionWC.y,m.y=e._positionWC.z,m.z=e._positionWC.x,t===te.SCENE2D&&(m.z=i),e._projection.unproject(m,e._positionCartographic)}if(a||l||d){let m=h.dot(s,h.cross(c,f,FY));if(Math.abs(1-m)>P.EPSILON2){let A=1/h.magnitudeSquared(c),x=h.dot(c,s)*A,C=h.multiplyByScalar(s,x,FY);c=h.normalize(h.subtract(c,C,e._up),e._up),h.clone(c,e.up),f=h.cross(s,c,e._right),h.clone(f,e.right)}}(a||p)&&(e._directionWC=M.multiplyByPointAsVector(g,s,e._directionWC),h.normalize(e._directionWC,e._directionWC)),(l||p)&&(e._upWC=M.multiplyByPointAsVector(g,c,e._upWC),h.normalize(e._upWC,e._upWC)),(d||p)&&(e._rightWC=M.multiplyByPointAsVector(g,f,e._rightWC),h.normalize(e._rightWC,e._rightWC)),(r||a||l||d||p)&&W_e(e)}function j_e(e,t){let n;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)?n=Math.atan2(t.y,t.x)-P.PI_OVER_TWO:n=Math.atan2(e.y,e.x)-P.PI_OVER_TWO,P.TWO_PI-P.zeroToTwoPi(n)}function Y_e(e){return P.PI_OVER_TWO-P.acosClamped(e.z)}function q_e(e,t,n){let i=0;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)||(i=Math.atan2(-n.z,t.z),i=P.zeroToTwoPi(i+P.TWO_PI)),i}var p4=new M,_4=new M;Object.defineProperties(Jt.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return lc(this),this._invTransform}},viewMatrix:{get:function(){return lc(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return lc(this),this._invViewMatrix}},positionCartographic:{get:function(){return lc(this),this._positionCartographic}},positionWC:{get:function(){return lc(this),this._positionWC}},directionWC:{get:function(){return lc(this),this._directionWC}},upWC:{get:function(){return lc(this),this._upWC}},rightWC:{get:function(){return lc(this),this._rightWC}},heading:{get:function(){if(this._mode!==te.MORPHING){let e=this._projection.ellipsoid,t=M.clone(this._transform,p4),n=Ot.eastNorthUpToFixedFrame(this.positionWC,e,_4);this._setTransform(n);let i=j_e(this.direction,this.up);return this._setTransform(t),i}}},pitch:{get:function(){if(this._mode!==te.MORPHING){let e=this._projection.ellipsoid,t=M.clone(this._transform,p4),n=Ot.eastNorthUpToFixedFrame(this.positionWC,e,_4);this._setTransform(n);let i=Y_e(this.direction);return this._setTransform(t),i}}},roll:{get:function(){if(this._mode!==te.MORPHING){let e=this._projection.ellipsoid,t=M.clone(this._transform,p4),n=Ot.eastNorthUpToFixedFrame(this.positionWC,e,_4);this._setTransform(n);let i=q_e(this.direction,this.up,this.right);return this._setTransform(t),i}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});Jt.prototype.update=function(e){let t=!1;if(e!==this._mode&&(this._mode=e,this._modeChanged=e!==te.MORPHING,t=this._mode===te.SCENE2D),t){let n=this._max2Dfrustum=this.frustum.clone(),i=2,o=n.top/n.right;n.right=this._maxCoord.x*i,n.left=-n.right,n.top=o*n.right,n.bottom=-n.top}this._mode===te.SCENE2D&&J_e(this,this.position)};var wot=new h,Iot=new h,Pot=new h;Jt.prototype._setTransform=function(e){let t=h.clone(this.positionWC,wot),n=h.clone(this.upWC,Iot),i=h.clone(this.directionWC,Pot);M.clone(e,this._transform),this._transformChanged=!0,lc(this);let o=this._actualInvTransform;M.multiplyByPoint(o,t,this.position),M.multiplyByPointAsVector(o,i,this.direction),M.multiplyByPointAsVector(o,n,this.up),h.cross(this.direction,this.up,this.right),lc(this)};var Oot=new H,Rot=new wn,Bot=new h,Mot=new h;function X_e(e){if(!M.equals(M.IDENTITY,e.transform))return h.magnitude(e.position);let t=e._scene,n=t.globe,i=Oot;i.x=t.drawingBufferWidth/2,i.y=t.drawingBufferHeight/2;let o;if(u(n)){let a=e.getPickRay(i,Rot);o=n.pickWorldCoordinates(a,t,!0,Bot)}let r;t.pickPositionSupported&&(r=t.pickPositionWorldCoordinates(i,Mot));let s;if(u(o)||u(r)){let a=u(r)?h.distance(r,e.positionWC):Number.POSITIVE_INFINITY,c=u(o)?h.distance(o,e.positionWC):Number.POSITIVE_INFINITY;s=Math.min(a,c)}else s=Math.max(e.positionCartographic.height,0);return s}Jt.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof en&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=X_e(this)))};var g4=new h,HY=new M,Lot=new M,GY=new Le,WY=new Z,K_e=new he;function Not(e,t,n){let i=M.clone(e.transform,HY),o=Ot.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,Lot);e._setTransform(o),h.clone(h.ZERO,e.position),n.heading=n.heading-P.PI_OVER_TWO;let r=Le.fromHeadingPitchRoll(n,GY),s=Z.fromQuaternion(r,WY);Z.getColumn(s,0,e.direction),Z.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(i),e._adjustOrthographicFrustum(!0)}function Fot(e,t,n,i){let o=M.clone(e.transform,HY);if(e._setTransform(M.IDENTITY),!h.equals(t,e.positionWC)){if(i){let a=e._projection,c=a.ellipsoid.cartesianToCartographic(t,K_e);t=a.project(c,g4)}h.clone(t,e.position)}n.heading=n.heading-P.PI_OVER_TWO;let r=Le.fromHeadingPitchRoll(n,GY),s=Z.fromQuaternion(r,WY);Z.getColumn(s,0,e.direction),Z.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(o),e._adjustOrthographicFrustum(!0)}function Vot(e,t,n,i){let o=M.clone(e.transform,HY);if(e._setTransform(M.IDENTITY),!h.equals(t,e.positionWC)){if(i){let c=e._projection,l=c.ellipsoid.cartesianToCartographic(t,K_e);t=c.project(l,g4)}H.clone(t,e.position);let r=-t.z*.5,s=-r,a=e.frustum;if(s>r){let c=a.top/a.right;a.right=s,a.left=r,a.top=a.right*c,a.bottom=-a.top}}if(e._scene.mapMode2D===wl.ROTATE){n.heading=n.heading-P.PI_OVER_TWO,n.pitch=-P.PI_OVER_TWO,n.roll=0;let r=Le.fromHeadingPitchRoll(n,GY),s=Z.fromQuaternion(r,WY);Z.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right)}e._setTransform(o)}var Uot=new h,kot=new h,zot=new h;function Z_e(e,t,n,i){let o=h.clone(n.direction,Uot),r=h.clone(n.up,kot);if(e._scene.mode===te.SCENE3D){let a=e._projection.ellipsoid,c=Ot.eastNorthUpToFixedFrame(t,a,p4),l=M.inverseTransformation(c,_4);M.multiplyByPointAsVector(l,o,o),M.multiplyByPointAsVector(l,r,r)}let s=h.cross(o,r,zot);return i.heading=j_e(o,r),i.pitch=Y_e(o),i.roll=q_e(o,r,s),i}var zY={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},cS=new Ba;Jt.prototype.setView=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.orientation,y.EMPTY_OBJECT),n=this._mode;if(n===te.MORPHING)return;u(e.endTransform)&&this._setTransform(e.endTransform);let i=y(e.convert,!0),o=y(e.destination,h.clone(this.positionWC,g4));u(o)&&u(o.west)&&(o=this.getRectangleCameraCoordinates(o,g4),i=!1),u(t.direction)&&(t=Z_e(this,o,t,zY.orientation)),cS.heading=y(t.heading,0),cS.pitch=y(t.pitch,-P.PI_OVER_TWO),cS.roll=y(t.roll,0),n===te.SCENE3D?Not(this,o,cS):n===te.SCENE2D?Vot(this,o,cS,i):Fot(this,o,cS,i)};var Hot=new h;Jt.prototype.flyHome=function(e){let t=this._mode;if(t===te.MORPHING&&this._scene.completeMorph(),t===te.SCENE2D)this.flyTo({destination:Jt.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:M.IDENTITY});else if(t===te.SCENE3D){let n=this.getRectangleCameraCoordinates(Jt.DEFAULT_VIEW_RECTANGLE),i=h.magnitude(n);i+=i*Jt.DEFAULT_VIEW_FACTOR,h.normalize(n,n),h.multiplyByScalar(n,i,n),this.flyTo({destination:n,duration:e,endTransform:M.IDENTITY})}else if(t===te.COLUMBUS_VIEW){let n=this._projection.ellipsoid.maximumRadius,i=new h(0,-1,1);i=h.multiplyByScalar(h.normalize(i,i),5*n,i),this.flyTo({destination:i,duration:e,orientation:{heading:0,pitch:-Math.acos(h.normalize(i,Hot).z),roll:0},endTransform:M.IDENTITY,convert:!1})}};Jt.prototype.worldToCameraCoordinates=function(e,t){return u(t)||(t=new oe),lc(this),M.multiplyByVector(this._actualInvTransform,e,t)};Jt.prototype.worldToCameraCoordinatesPoint=function(e,t){return u(t)||(t=new h),lc(this),M.multiplyByPoint(this._actualInvTransform,e,t)};Jt.prototype.worldToCameraCoordinatesVector=function(e,t){return u(t)||(t=new h),lc(this),M.multiplyByPointAsVector(this._actualInvTransform,e,t)};Jt.prototype.cameraToWorldCoordinates=function(e,t){return u(t)||(t=new oe),lc(this),M.multiplyByVector(this._actualTransform,e,t)};Jt.prototype.cameraToWorldCoordinatesPoint=function(e,t){return u(t)||(t=new h),lc(this),M.multiplyByPoint(this._actualTransform,e,t)};Jt.prototype.cameraToWorldCoordinatesVector=function(e,t){return u(t)||(t=new h),lc(this),M.multiplyByPointAsVector(this._actualTransform,e,t)};function J_e(e,t){let n=e._scene.mapMode2D===wl.ROTATE,i=e._maxCoord.x,o=e._maxCoord.y,r,s;n?(s=i,r=-s):(s=t.x-i*2,r=t.x+i*2),t.x>i&&(t.x=s),t.x<-i&&(t.x=r),t.y>o&&(t.y=o),t.y<-o&&(t.y=-o)}var F_e=new h;Jt.prototype.move=function(e,t){let n=this.position;h.multiplyByScalar(e,t,F_e),h.add(n,F_e,n),this._mode===te.SCENE2D&&J_e(this,n),this._adjustOrthographicFrustum(!0)};Jt.prototype.moveForward=function(e){e=y(e,this.defaultMoveAmount),this._mode===te.SCENE2D?y4(this,e):this.move(this.direction,e)};Jt.prototype.moveBackward=function(e){e=y(e,this.defaultMoveAmount),this._mode===te.SCENE2D?y4(this,-e):this.move(this.direction,-e)};Jt.prototype.moveUp=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,e)};Jt.prototype.moveDown=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,-e)};Jt.prototype.moveRight=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,e)};Jt.prototype.moveLeft=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,-e)};Jt.prototype.lookLeft=function(e){e=y(e,this.defaultLookAmount),this._mode!==te.SCENE2D&&this.look(this.up,-e)};Jt.prototype.lookRight=function(e){e=y(e,this.defaultLookAmount),this._mode!==te.SCENE2D&&this.look(this.up,e)};Jt.prototype.lookUp=function(e){e=y(e,this.defaultLookAmount),this._mode!==te.SCENE2D&&this.look(this.right,-e)};Jt.prototype.lookDown=function(e){e=y(e,this.defaultLookAmount),this._mode!==te.SCENE2D&&this.look(this.right,e)};var Got=new Le,Wot=new Z;Jt.prototype.look=function(e,t){let n=y(t,this.defaultLookAmount),i=Le.fromAxisAngle(e,-n,Got),o=Z.fromQuaternion(i,Wot),r=this.direction,s=this.up,a=this.right;Z.multiplyByVector(o,r,r),Z.multiplyByVector(o,s,s),Z.multiplyByVector(o,a,a)};Jt.prototype.twistLeft=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,e)};Jt.prototype.twistRight=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,-e)};var jot=new Le,Yot=new Z;Jt.prototype.rotate=function(e,t){let n=y(t,this.defaultRotateAmount),i=Le.fromAxisAngle(e,-n,jot),o=Z.fromQuaternion(i,Yot);Z.multiplyByVector(o,this.position,this.position),Z.multiplyByVector(o,this.direction,this.direction),Z.multiplyByVector(o,this.up,this.up),h.cross(this.direction,this.up,this.right),h.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};Jt.prototype.rotateDown=function(e){e=y(e,this.defaultRotateAmount),Q_e(this,e)};Jt.prototype.rotateUp=function(e){e=y(e,this.defaultRotateAmount),Q_e(this,-e)};var qot=new h,Xot=new h,Kot=new h,V_e=new h;function Q_e(e,t){let n=e.position;if(u(e.constrainedAxis)&&!h.equalsEpsilon(e.position,h.ZERO,P.EPSILON2)){let i=h.normalize(n,qot),o=h.equalsEpsilon(i,e.constrainedAxis,P.EPSILON2),r=h.equalsEpsilon(i,h.negate(e.constrainedAxis,V_e),P.EPSILON2);if(!o&&!r){let s=h.normalize(e.constrainedAxis,Xot),a=h.dot(i,s),c=P.acosClamped(a);t>0&&t>c&&(t=c-P.EPSILON4),a=h.dot(i,h.negate(s,V_e)),c=P.acosClamped(a),t<0&&-t>c&&(t=-c+P.EPSILON4);let l=h.cross(s,i,Kot);e.rotate(l,t)}else(o&&t<0||r&&t>0)&&e.rotate(e.right,t)}else e.rotate(e.right,t)}Jt.prototype.rotateRight=function(e){e=y(e,this.defaultRotateAmount),$_e(this,-e)};Jt.prototype.rotateLeft=function(e){e=y(e,this.defaultRotateAmount),$_e(this,e)};function $_e(e,t){u(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function y4(e,t){let n=e.frustum,i;if(t=t*.5,Math.abs(n.top)+Math.abs(n.bottom)>Math.abs(n.left)+Math.abs(n.right)){let o=n.top-t,r=n.bottom+t,s=e._maxCoord.y;e._scene.mapMode2D===wl.ROTATE&&(s*=e.maximumZoomFactor),r>s&&(r=s,o=-s),o<=r&&(o=1,r=-1),i=n.right/n.top,n.top=o,n.bottom=r,n.right=n.top*i,n.left=-n.right}else{let o=n.right-t,r=n.left+t,s=e._maxCoord.x;e._scene.mapMode2D===wl.ROTATE&&(s*=e.maximumZoomFactor),o>s&&(o=s,r=-s),o<=r&&(o=1,r=-1),i=n.top/n.right,n.right=o,n.left=r,n.top=n.right*i,n.bottom=-n.top}}function ege(e,t){e.move(e.direction,t)}Jt.prototype.zoomIn=function(e){e=y(e,this.defaultZoomAmount),this._mode===te.SCENE2D?y4(this,e):ege(this,e)};Jt.prototype.zoomOut=function(e){e=y(e,this.defaultZoomAmount),this._mode===te.SCENE2D?y4(this,-e):ege(this,-e)};Jt.prototype.getMagnitude=function(){if(this._mode===te.SCENE3D)return h.magnitude(this.position);if(this._mode===te.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===te.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var Zot=new M;Jt.prototype.lookAt=function(e,t){let n=Ot.eastNorthUpToFixedFrame(e,ie.WGS84,Zot);this.lookAtTransform(n,t)};var Jot=new h,Qot=new Le,$ot=new Le,ert=new Z;function tge(e,t,n){t=P.clamp(t,-P.PI_OVER_TWO,P.PI_OVER_TWO),e=P.zeroToTwoPi(e)-P.PI_OVER_TWO;let i=Le.fromAxisAngle(h.UNIT_Y,-t,Qot),o=Le.fromAxisAngle(h.UNIT_Z,-e,$ot),r=Le.multiply(o,i,o),s=Z.fromQuaternion(r,ert),a=h.clone(h.UNIT_X,Jot);return Z.multiplyByVector(s,a,a),h.negate(a,a),h.multiplyByScalar(a,n,a),a}Jt.prototype.lookAtTransform=function(e,t){if(this._setTransform(e),!u(t))return;let n;if(u(t.heading)?n=tge(t.heading,t.pitch,t.range):n=t,this._mode===te.SCENE2D){H.clone(H.ZERO,this.position),h.negate(n,this.up),this.up.z=0,h.magnitudeSquared(this.up)<P.EPSILON10&&h.clone(h.UNIT_Y,this.up),h.normalize(this.up,this.up),this._setTransform(M.IDENTITY),h.negate(h.UNIT_Z,this.direction),h.cross(this.direction,this.up,this.right),h.normalize(this.right,this.right);let i=this.frustum,o=i.top/i.right;i.right=h.magnitude(n)*.5,i.left=-i.right,i.top=o*i.right,i.bottom=-i.top,this._setTransform(e);return}h.clone(n,this.position),h.negate(this.position,this.direction),h.normalize(this.direction,this.direction),h.cross(this.direction,h.UNIT_Z,this.right),h.magnitudeSquared(this.right)<P.EPSILON10&&h.clone(h.UNIT_X,this.right),h.normalize(this.right,this.right),h.cross(this.right,this.direction,this.up),h.normalize(this.up,this.up),this._adjustOrthographicFrustum(!0)};var tN=new he,trt=new he,nrt=new h,irt=new h,ort=new h,rrt=new h,srt=new h,art=new h,crt=new h,VY=new h,lrt={direction:new h,right:new h,up:new h},U_e;function cc(e,t,n,i){return Math.abs(h.dot(t,n))/i-h.dot(e,n)}function nge(e,t,n,i){let o=e._projection.ellipsoid,r=i?e:lrt,s=t.north,a=t.south,c=t.east,l=t.west;l>c&&(c+=P.TWO_PI);let f=(l+c)*.5,d;if(a<-P.PI_OVER_TWO+P.RADIANS_PER_DEGREE&&s>P.PI_OVER_TWO-P.RADIANS_PER_DEGREE)d=0;else{let L=tN;L.longitude=f,L.latitude=s,L.height=0;let N=trt;N.longitude=f,N.latitude=a,N.height=0;let _=U_e;(!u(_)||_.ellipsoid!==o)&&(U_e=_=new Gu(void 0,void 0,o)),_.setEndPoints(L,N),d=_.interpolateUsingFraction(.5,tN).latitude}let p=tN;p.longitude=f,p.latitude=d,p.height=0;let g=o.cartographicToCartesian(p,crt),m=tN;m.longitude=c,m.latitude=s;let A=o.cartographicToCartesian(m,nrt);m.longitude=l;let x=o.cartographicToCartesian(m,ort);m.longitude=f;let C=o.cartographicToCartesian(m,srt);m.latitude=a;let T=o.cartographicToCartesian(m,art);m.longitude=c;let E=o.cartographicToCartesian(m,rrt);m.longitude=l;let S=o.cartographicToCartesian(m,irt);h.subtract(x,g,x),h.subtract(E,g,E),h.subtract(A,g,A),h.subtract(S,g,S),h.subtract(C,g,C),h.subtract(T,g,T);let D=o.geodeticSurfaceNormal(g,r.direction);h.negate(D,D);let w=h.cross(D,h.UNIT_Z,r.right);h.normalize(w,w);let R=h.cross(w,D,r.up),O;if(e.frustum instanceof en){let L=Math.max(h.distance(A,x),h.distance(E,S)),N=Math.max(h.distance(A,E),h.distance(x,S)),_,b,v=e.frustum._offCenterFrustum.right/e.frustum._offCenterFrustum.top,I=N*v;L>I?(_=L,b=_/v):(b=N,_=I),O=Math.max(_,b)}else{let L=Math.tan(e.frustum.fovy*.5),N=e.frustum.aspectRatio*L;if(O=Math.max(cc(D,R,x,L),cc(D,R,E,L),cc(D,R,A,L),cc(D,R,S,L),cc(D,R,C,L),cc(D,R,T,L),cc(D,w,x,N),cc(D,w,E,N),cc(D,w,A,N),cc(D,w,S,N),cc(D,w,C,N),cc(D,w,T,N)),a<0&&s>0){let _=tN;_.longitude=l,_.latitude=0,_.height=0;let b=o.cartographicToCartesian(_,VY);h.subtract(b,g,b),O=Math.max(O,cc(D,R,b,L),cc(D,w,b,N)),_.longitude=c,b=o.cartographicToCartesian(_,VY),h.subtract(b,g,b),O=Math.max(O,cc(D,R,b,L),cc(D,w,b,N))}}return h.add(g,h.multiplyByScalar(D,-O,VY),n)}var urt=new he,frt=new h,drt=new h;function hrt(e,t,n){let i=e._projection;t.west>t.east&&(t=ce.MAX_VALUE);let o=e._actualTransform,r=e._actualInvTransform,s=urt;s.longitude=t.east,s.latitude=t.north;let a=i.project(s,frt);M.multiplyByPoint(o,a,a),M.multiplyByPoint(r,a,a),s.longitude=t.west,s.latitude=t.south;let c=i.project(s,drt);if(M.multiplyByPoint(o,c,c),M.multiplyByPoint(r,c,c),n.x=(a.x-c.x)*.5+c.x,n.y=(a.y-c.y)*.5+c.y,u(e.frustum.fovy)){let l=Math.tan(e.frustum.fovy*.5),f=e.frustum.aspectRatio*l;n.z=Math.max((a.x-c.x)/f,(a.y-c.y)/l)*.5}else{let l=a.x-c.x,f=a.y-c.y;n.z=Math.max(l,f)}return n}var mrt=new he,prt=new h,_rt=new h;function grt(e,t,n){let i=e._projection,o=t.east;t.west>t.east&&(e._scene.mapMode2D===wl.INFINITE_SCROLL?o+=P.TWO_PI:(t=ce.MAX_VALUE,o=t.east));let r=mrt;r.longitude=o,r.latitude=t.north;let s=i.project(r,prt);r.longitude=t.west,r.latitude=t.south;let a=i.project(r,_rt),c=Math.abs(s.x-a.x)*.5,l=Math.abs(s.y-a.y)*.5,f,d,p=e.frustum.right/e.frustum.top,g=l*p;return c>g?(f=c,d=f/p):(d=l,f=g),l=Math.max(2*f,2*d),n.x=(s.x-a.x)*.5+a.x,n.y=(s.y-a.y)*.5+a.y,r=i.unproject(n,r),r.height=l,n=i.project(r,n),n}Jt.prototype.getRectangleCameraCoordinates=function(e,t){let n=this._mode;if(u(t)||(t=new h),n===te.SCENE3D)return nge(this,e,t);if(n===te.COLUMBUS_VIEW)return hrt(this,e,t);if(n===te.SCENE2D)return grt(this,e,t)};var yrt=new wn;function Art(e,t,n,i){n=y(n,ie.WGS84);let o=e.getPickRay(t,yrt),r=Yi.rayEllipsoid(o,n);if(!r)return;let s=r.start>0?r.start:r.stop;return wn.getPoint(o,s,i)}var xrt=new wn;function Crt(e,t,n,i){let r=e.getPickRay(t,xrt).origin;r=h.fromElements(r.y,r.z,0,r);let s=n.unproject(r);if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO))return n.ellipsoid.cartographicToCartesian(s,i)}var Trt=new wn;function Ert(e,t,n,i){let o=e.getPickRay(t,Trt),r=-o.origin.x/o.direction.x;wn.getPoint(o,r,i);let s=n.unproject(new h(i.y,i.z,0));if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI))return n.ellipsoid.cartographicToCartesian(s,i)}Jt.prototype.pickEllipsoid=function(e,t,n){let i=this._scene.canvas;if(!(i.clientWidth===0||i.clientHeight===0)){if(u(n)||(n=new h),t=y(t,ie.WGS84),this._mode===te.SCENE3D)n=Art(this,e,t,n);else if(this._mode===te.SCENE2D)n=Crt(this,e,this._projection,n);else if(this._mode===te.COLUMBUS_VIEW)n=Ert(this,e,this._projection,n);else return;return n}};var brt=new h,Srt=new h,Drt=new h;function vrt(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=Math.tan(e.frustum.fovy*.5),a=e.frustum.aspectRatio*s,c=e.frustum.near,l=2/o*t.x-1,f=2/r*(r-t.y)-1,d=e.positionWC;h.clone(d,n.origin);let p=h.multiplyByScalar(e.directionWC,c,brt);h.add(d,p,p);let g=h.multiplyByScalar(e.rightWC,l*c*a,Srt),m=h.multiplyByScalar(e.upWC,f*c*s,Drt),A=h.add(p,g,n.direction);return h.add(A,m,A),h.subtract(A,d,A),h.normalize(A,A),n}var h4=new h;function wrt(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=e.frustum;u(s._offCenterFrustum)&&(s=s._offCenterFrustum);let a=2/o*t.x-1;a*=(s.right-s.left)*.5;let c=2/r*(r-t.y)-1;c*=(s.top-s.bottom)*.5;let l=n.origin;return h.clone(e.position,l),h.multiplyByScalar(e.right,a,h4),h.add(h4,l,l),h.multiplyByScalar(e.up,c,h4),h.add(h4,l,l),h.clone(e.directionWC,n.direction),(e._mode===te.COLUMBUS_VIEW||e._mode===te.SCENE2D)&&h.fromElements(n.origin.z,n.origin.x,n.origin.y,n.origin),n}Jt.prototype.getPickRay=function(e,t){u(t)||(t=new wn);let n=this._scene.canvas;if(n.clientWidth<=0||n.clientHeight<=0)return;let i=this.frustum;return u(i.aspectRatio)&&u(i.fov)&&u(i.near)?vrt(this,e,t):wrt(this,e,t)};var Irt=new h,Prt=new h;Jt.prototype.distanceToBoundingSphere=function(e){let t=h.subtract(this.positionWC,e.center,Irt),n=h.multiplyByScalar(this.directionWC,h.dot(t,this.directionWC),Prt);return Math.max(0,h.magnitude(n)-e.radius)};var Ort=new H;Jt.prototype.getPixelSize=function(e,t,n){let i=this.distanceToBoundingSphere(e),o=this.frustum.getPixelDimensions(t,n,i,this._scene.pixelRatio,Ort);return Math.max(o.x,o.y)};function Rrt(e,t,n,i,o,r){let s=h.clone(t);n.y>i?s.y-=n.y-i:n.y<-i&&(s.y+=-i-n.y),n.z>o?s.z-=n.z-o:n.z<-o&&(s.z+=-o-n.z);function a(c){let l=h.lerp(t,s,c.time,new h);e.worldToCameraCoordinatesPoint(l,e.position)}return{easingFunction:Mr.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:r,update:a}}var Brt=new h,k_e=new h,Mrt=new h,Lrt=new h;function Nrt(e,t){let n=e.position,i=e.direction,o=e.worldToCameraCoordinatesVector(h.UNIT_X,Brt),r=-h.dot(o,n)/h.dot(o,i),s=h.add(n,h.multiplyByScalar(i,r,k_e),k_e);e.cameraToWorldCoordinatesPoint(s,s),n=e.cameraToWorldCoordinatesPoint(e.position,Mrt);let a=Math.tan(e.frustum.fovy*.5),c=e.frustum.aspectRatio*a,l=h.magnitude(h.subtract(n,s,Lrt)),f=c*l,d=a*l,p=e._maxCoord.x,g=e._maxCoord.y,m=Math.max(f-p,p),A=Math.max(d-g,g);if(n.z<-m||n.z>m||n.y<-A||n.y>A){let x=s.y<-m||s.y>m,C=s.z<-A||s.z>A;if(x||C)return Rrt(e,n,s,m,A,t)}}Jt.prototype.createCorrectPositionTween=function(e){if(this._mode===te.COLUMBUS_VIEW)return Nrt(this,e)};var Frt=new h,Rs={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};Jt.prototype.cancelFlight=function(){u(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};Jt.prototype.completeFlight=function(){if(u(this._currentFlight)){this._currentFlight.cancelTween();let e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};e.destination=Rs.destination,e.orientation.heading=Rs.heading,e.orientation.pitch=Rs.pitch,e.orientation.roll=Rs.roll,this.setView(e),u(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};Jt.prototype.flyTo=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.destination;if(this._mode===te.MORPHING)return;this.cancelFlight();let i=t instanceof ce;i&&(t=this.getRectangleCameraCoordinates(t,Frt));let o=y(e.orientation,y.EMPTY_OBJECT);if(u(o.direction)&&(o=Z_e(this,t,o,zY.orientation)),u(e.duration)&&e.duration<=0){let f=zY;f.destination=e.destination,f.orientation.heading=o.heading,f.orientation.pitch=o.pitch,f.orientation.roll=o.roll,f.convert=e.convert,f.endTransform=e.endTransform,this.setView(f),typeof e.complete=="function"&&e.complete();return}let r=this,s;Rs.destination=t,Rs.heading=o.heading,Rs.pitch=o.pitch,Rs.roll=o.roll,Rs.duration=e.duration,Rs.complete=function(){s===r._currentFlight&&(r._currentFlight=void 0),u(e.complete)&&e.complete()},Rs.cancel=e.cancel,Rs.endTransform=e.endTransform,Rs.convert=i?!1:e.convert,Rs.maximumHeight=e.maximumHeight,Rs.pitchAdjustHeight=e.pitchAdjustHeight,Rs.flyOverLongitude=e.flyOverLongitude,Rs.flyOverLongitudeWeight=e.flyOverLongitudeWeight,Rs.easingFunction=e.easingFunction;let a=this._scene,c=eN.createTween(a,Rs);if(c.duration===0){typeof c.complete=="function"&&c.complete();return}s=a.tweens.add(c),this._currentFlight=s;let l=this._scene.preloadFlightCamera;this._mode!==te.SCENE2D&&(u(l)||(l=Jt.clone(this)),l.setView({destination:t,orientation:o}),this._scene.preloadFlightCullingVolume=l.frustum.computeCullingVolume(l.positionWC,l.directionWC,l.upWC))};function Vrt(e,t){let n=e.frustum,i=Math.tan(n.fovy*.5),o=n.aspectRatio*i;return Math.max(t/o,t/i)}function Urt(e,t){let n=e.frustum;u(n._offCenterFrustum)&&(n=n._offCenterFrustum);let i,o,r=n.right/n.top,s=t*r;return t>s?(i=t,o=i/r):(o=t,i=s),Math.max(i,o)*1.5}var krt=100;function ige(e,t,n){n=uu.clone(u(n)?n:Jt.DEFAULT_OFFSET);let i=e._scene.screenSpaceCameraController.minimumZoomDistance,o=e._scene.screenSpaceCameraController.maximumZoomDistance,r=n.range;if(!u(r)||r===0){let s=t.radius;s===0?n.range=krt:e.frustum instanceof en||e._mode===te.SCENE2D?n.range=Urt(e,s):n.range=Vrt(e,s),n.range=P.clamp(n.range,i,o)}return n}Jt.prototype.viewBoundingSphere=function(e,t){t=ige(this,e,t),this.lookAt(e.center,t)};var zrt=new M,Hrt=new h,Grt=new h,Wrt=new h,jrt=new h,Yrt=new oe,qrt=new Le,Xrt=new Z;Jt.prototype.flyToBoundingSphere=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=this._mode===te.SCENE2D||this._mode===te.COLUMBUS_VIEW;this._setTransform(M.IDENTITY);let i=ige(this,e,t.offset),o;n?o=h.multiplyByScalar(h.UNIT_Z,i.range,Hrt):o=tge(i.heading,i.pitch,i.range);let r=Ot.eastNorthUpToFixedFrame(e.center,ie.WGS84,zrt);M.multiplyByPoint(r,o,o);let s,a;if(!n){if(s=h.subtract(e.center,o,Grt),h.normalize(s,s),a=M.multiplyByPointAsVector(r,h.UNIT_Z,Wrt),1-Math.abs(h.dot(s,a))<P.EPSILON6){let l=Le.fromAxisAngle(s,i.heading,qrt),f=Z.fromQuaternion(l,Xrt);h.fromCartesian4(M.getColumn(r,1,Yrt),a),Z.multiplyByVector(f,a,a)}let c=h.cross(s,a,jrt);h.cross(c,s,a),h.normalize(a,a)}this.flyTo({destination:o,orientation:{direction:s,up:a},duration:t.duration,complete:t.complete,cancel:t.cancel,endTransform:t.endTransform,maximumHeight:t.maximumHeight,easingFunction:t.easingFunction,flyOverLongitude:t.flyOverLongitude,flyOverLongitudeWeight:t.flyOverLongitudeWeight,pitchAdjustHeight:t.pitchAdjustHeight})};var z_e=new h,H_e=new h,UY=new h,G_e=new h,nN=[new h,new h,new h,new h];function Krt(e,t){let n=t.radii,i=e.positionWC,o=h.multiplyComponents(t.oneOverRadii,i,z_e),r=h.magnitude(o),s=h.normalize(o,H_e),a,c;h.equalsEpsilon(s,h.UNIT_Z,P.EPSILON10)?(a=new h(0,1,0),c=new h(0,0,1)):(a=h.normalize(h.cross(h.UNIT_Z,s,UY),UY),c=h.normalize(h.cross(s,a,G_e),G_e));let l=Math.sqrt(h.magnitudeSquared(o)-1),f=h.multiplyByScalar(s,1/r,z_e),d=l/r,p=h.multiplyByScalar(a,d,H_e),g=h.multiplyByScalar(c,d,UY),m=h.add(f,g,nN[0]);h.subtract(m,p,m),h.multiplyComponents(n,m,m);let A=h.subtract(f,g,nN[1]);h.subtract(A,p,A),h.multiplyComponents(n,A,A);let x=h.subtract(f,g,nN[2]);h.add(x,p,x),h.multiplyComponents(n,x,x);let C=h.add(f,g,nN[3]);return h.add(C,p,C),h.multiplyComponents(n,C,C),nN}var kY=new H,Zrt=new h,ky=[new he,new he,new he,new he];function m4(e,t,n,i,o,r){kY.x=e,kY.y=t;let s=i.pickEllipsoid(kY,o,Zrt);return u(s)?(ky[n]=o.cartesianToCartographic(s,ky[n]),1):(ky[n]=o.cartesianToCartographic(r[n],ky[n]),0)}Jt.prototype.computeViewRectangle=function(e,t){e=y(e,ie.WGS84);let n=this.frustum.computeCullingVolume(this.positionWC,this.directionWC,this.upWC),i=new se(h.ZERO,e.maximumRadius);if(n.computeVisibility(i)===Qt.OUTSIDE)return;let r=this._scene.canvas,s=r.clientWidth,a=r.clientHeight,c=0,l=Krt(this,e);if(c+=m4(0,0,0,this,e,l),c+=m4(0,a,1,this,e,l),c+=m4(s,a,2,this,e,l),c+=m4(s,0,3,this,e,l),c<2)return ce.MAX_VALUE;t=ce.fromCartographicArray(ky,t);let f=0,d=ky[3].longitude;for(let p=0;p<4;++p){let g=ky[p].longitude,m=Math.abs(g-d);m>P.PI?f+=P.TWO_PI-m:f+=m,d=g}return P.equalsEpsilon(Math.abs(f),P.TWO_PI,P.EPSILON9)&&(t.west=-P.PI,t.east=P.PI,ky[0].latitude>=0?t.north=P.PI_OVER_TWO:t.south=-P.PI_OVER_TWO),t};Jt.prototype.switchToPerspectiveFrustum=function(){if(this._mode===te.SCENE2D||this.frustum instanceof Ti)return;let e=this._scene;this.frustum=new Ti,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60)};Jt.prototype.switchToOrthographicFrustum=function(){if(this._mode===te.SCENE2D||this.frustum instanceof en)return;let e=X_e(this),t=this._scene;this.frustum=new en,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e};Jt.clone=function(e,t){return u(t)||(t=new Jt(e._scene)),h.clone(e.position,t.position),h.clone(e.direction,t.direction),h.clone(e.up,t.up),h.clone(e.right,t.right),M.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var ro=Jt;function Jrt(e){this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}var Of=Jrt;var cge=vo(Ll(),1),oge=576,Qrt=100,iN="#ffffff",jY="#48b";function lge(e,t){this.credit=e,this.count=y(t,1)}function $rt(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i];if(Zt.equals(o,t))return!0}return!1}function est(e){let t=e._previousCesiumCredit,n=e._currentCesiumCredit;Zt.equals(n,t)||(u(t)&&e._cesiumCreditContainer.removeChild(t.element),u(n)&&e._cesiumCreditContainer.appendChild(n.element),e._previousCesiumCredit=n)}var uge="cesium-credit-delimiter";function rge(e){let t=document.createElement("span");return t.textContent=e,t.className=uge,t}function sge(e,t){if(u(t)){let n=document.createElement(t);n._creditId=e._creditId,n.appendChild(e),e=n}return e}function age(e,t,n,i){let o=e.childNodes,r=-1;t.sort(function(s,a){return a.count-s.count});for(let s=0;s<t.length;++s){let a=t[s].credit;if(u(a)){if(r=s,u(n)&&(r*=2,s>0)){let l=r-1;if(o.length<=l)e.appendChild(rge(n));else{let f=o[l];f.className!==uge&&e.replaceChild(rge(n),f)}}let c=a.element;if(o.length<=r)e.appendChild(sge(c,i));else{let l=o[r];l._creditId!==a._id&&e.replaceChild(sge(c,i),l)}}}for(++r;r<o.length;)e.removeChild(o[r])}function tst(e){let t=e._lightboxCredits,n=e.viewport.clientWidth,i=e.viewport.clientHeight;n!==e._lastViewportWidth&&(n<oge?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`),e._lastViewportWidth=n),n>=oge&&i!==e._lastViewportHeight&&(t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`,e._lastViewportHeight=i)}function uc(e,t){let n=`${e} {`;for(let i in t)t.hasOwnProperty(i)&&(n+=`${i}: ${t[i]}; `);return n+=` } +`,n}function nst(){let e="";e+=uc(".cesium-credit-lightbox-overlay",{display:"none","z-index":"1",position:"absolute",top:"0",left:"0",width:"100%",height:"100%","background-color":"rgba(80, 80, 80, 0.8)"}),e+=uc(".cesium-credit-lightbox",{"background-color":"#303336",color:iN,position:"relative","min-height":`${Qrt}px`,margin:"auto"}),e+=uc(".cesium-credit-lightbox > ul > li a, .cesium-credit-lightbox > ul > li a:visited",{color:iN}),e+=uc(".cesium-credit-lightbox > ul > li a:hover",{color:jY}),e+=uc(".cesium-credit-lightbox.cesium-credit-lightbox-expanded",{border:"1px solid #444","border-radius":"5px","max-width":"370px"}),e+=uc(".cesium-credit-lightbox.cesium-credit-lightbox-mobile",{height:"100%",width:"100%"}),e+=uc(".cesium-credit-lightbox-title",{padding:"20px 20px 0 20px"}),e+=uc(".cesium-credit-lightbox-close",{"font-size":"18pt",cursor:"pointer",position:"absolute",top:"0",right:"6px",color:iN}),e+=uc(".cesium-credit-lightbox-close:hover",{color:jY}),e+=uc(".cesium-credit-lightbox > ul",{margin:"0",padding:"12px 20px 12px 40px","font-size":"13px"}),e+=uc(".cesium-credit-lightbox > ul > li",{"padding-bottom":"6px"}),e+=uc(".cesium-credit-lightbox > ul > li *",{padding:"0",margin:"0"}),e+=uc(".cesium-credit-expand-link",{"padding-left":"5px",cursor:"pointer","text-decoration":"underline",color:iN}),e+=uc(".cesium-credit-expand-link:hover",{color:jY}),e+=uc(".cesium-credit-text",{color:iN}),e+=uc(".cesium-credit-textContainer *, .cesium-credit-logoContainer *",{display:"inline"});let t=document.head,n=document.createElement("style");n.innerHTML=e,t.insertBefore(n,t.firstChild)}function yr(e,t,n){let i=this;n=y(n,document.body);let o=document.createElement("div");o.className="cesium-credit-lightbox-overlay",n.appendChild(o);let r=document.createElement("div");r.className="cesium-credit-lightbox",o.appendChild(r);function s(m){r.contains(m.target)||i.hideLightbox()}o.addEventListener("click",s,!1);let a=document.createElement("div");a.className="cesium-credit-lightbox-title",a.textContent="Data provided by:",r.appendChild(a);let c=document.createElement("a");c.onclick=this.hideLightbox.bind(this),c.innerHTML="×",c.className="cesium-credit-lightbox-close",r.appendChild(c);let l=document.createElement("ul");r.appendChild(l);let f=document.createElement("div");f.className="cesium-credit-logoContainer",f.style.display="inline",e.appendChild(f);let d=document.createElement("div");d.className="cesium-credit-textContainer",d.style.display="inline",e.appendChild(d);let p=document.createElement("a");p.className="cesium-credit-expand-link",p.onclick=this.showLightbox.bind(this),p.textContent="Data attribution",e.appendChild(p),nst();let g=Zt.clone(yr.cesiumCredit);this._delimiter=y(t," \u2022 "),this._screenContainer=d,this._cesiumCreditContainer=f,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=r,this._creditList=l,this._lightbox=o,this._hideLightbox=s,this._expandLink=p,this._expanded=!1,this._defaultCredits=[],this._cesiumCredit=g,this._previousCesiumCredit=void 0,this._currentCesiumCredit=g,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new xt,lightboxCredits:new xt},this._defaultCredit=void 0,this.viewport=n,this.container=e}function fge(e,t,n,i){i=y(i,1);let o=t.get(n.id);if(u(o))o.count<Number.MAX_VALUE&&(o.count+=i);else{let r=e._creditDisplayElementPool,s=e._creditDisplayElementPoolIndex;s<r.length?(o=r[s],o.credit=n,o.count=i):(o=new lge(n,i),r.push(o)),++e._creditDisplayElementPoolIndex,t.set(n.id,o)}}yr.prototype.addCredit=function(e){if(e._isIon){u(this._defaultCredit)||(this._defaultCredit=Zt.clone(dge())),this._currentCesiumCredit=this._defaultCredit;return}let t;e.showOnScreen?t=this._currentFrameCredits.screenCredits:t=this._currentFrameCredits.lightboxCredits,fge(this,t,e)};yr.prototype.addDefaultCredit=function(e){let t=this._defaultCredits;$rt(t,e)||t.push(e)};yr.prototype.removeDefaultCredit=function(e){let t=this._defaultCredits,n=t.indexOf(e);n!==-1&&t.splice(n,1)};yr.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};yr.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};yr.prototype.update=function(){this._expanded&&tst(this)};yr.prototype.beginFrame=function(){let e=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let t=e.screenCredits;t.removeAll();let n=this._defaultCredits;for(let i=0;i<n.length;++i){let o=n[i];fge(this,t,o,Number.MAX_VALUE)}e.lightboxCredits.removeAll(),Zt.equals(yr.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=Zt.clone(yr.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};yr.prototype.endFrame=function(){let e=this._currentFrameCredits.screenCredits.values;age(this._screenContainer,e,this._delimiter,void 0);let t=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=t.length>0?"inline":"none",age(this._creditList,t,void 0,"li"),est(this)};yr.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),le(this)};yr.prototype.isDestroyed=function(){return!1};yr._cesiumCredit=void 0;yr._cesiumCreditInitialized=!1;var A4;function dge(){if(!u(A4)){let e=$t("Assets/Images/ion-credit.png");e.indexOf("http://")!==0&&e.indexOf("https://")!==0&&e.indexOf("data:")!==0&&(e=new cge.default(e).path()),A4=new Zt(`<a href="https://cesium.com/" target="_blank"><img src="${e}" title="Cesium ion"/></a>`,!0)}return yr._cesiumCreditInitialized||(yr._cesiumCredit=A4,yr._cesiumCreditInitialized=!0),A4}Object.defineProperties(yr,{cesiumCredit:{get:function(){return dge(),yr._cesiumCredit},set:function(e){yr._cesiumCredit=e,yr._cesiumCreditInitialized=!0}}});yr.CreditDisplayElement=lge;var oN=yr;function x4(e){e=y(e,y.EMPTY_OBJECT),this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=y(e.color,z.CYAN),this._updateOnChange=y(e.updateOnChange,!0),this.show=y(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}var ist=new h,ost=new Z,rst=new Le,sst=new Ti,ast=new zc,cst=new en,lst=new Tr,ust=new z,fst=[1,1e5];x4.prototype.update=function(e){if(!this.show)return;let t=this._planesPrimitives,n=this._outlinePrimitives,i,o;if(this._updateOnChange){for(o=t.length,i=0;i<o;++i)n[i]=n[i]&&n[i].destroy(),t[i]=t[i]&&t[i].destroy();t.length=0,n.length=0}if(t.length===0){let r=this._camera,s=r.frustum,a;s instanceof Ti?a=sst:s instanceof zc?a=ast:s instanceof en?a=cst:a=lst,a=s.clone(a);let c,l=this._frustumSplits;!u(l)||l.length<=1?(l=fst,l[0]=this._camera.frustum.near,l[1]=this._camera.frustum.far,c=1):c=l.length-1;let f=r.positionWC,d=r.directionWC,p=r.upWC,g=r.rightWC;g=h.negate(g,ist);let m=ost;Z.setColumn(m,0,g,m),Z.setColumn(m,1,p,m),Z.setColumn(m,2,d,m);let A=Le.fromRotationMatrix(m,rst);for(t.length=n.length=c,i=0;i<c;++i)a.near=l[i],a.far=l[i+1],t[i]=new Dn({geometryInstances:new At({geometry:new Vx({origin:f,orientation:A,frustum:a,_drawNearPlane:i===0}),attributes:{color:Nt.fromColor(z.fromAlpha(this._color,.1,ust))},id:this.id,pickPrimitive:this}),appearance:new on({translucent:!0,flat:!0}),asynchronous:!1}),n[i]=new Dn({geometryInstances:new At({geometry:new sL({origin:f,orientation:A,frustum:a,_drawNearPlane:i===0}),attributes:{color:Nt.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new on({translucent:!1,flat:!0}),asynchronous:!1})}for(o=t.length,i=0;i<o;++i)n[i].update(e),t[i].update(e)};x4.prototype.isDestroyed=function(){return!1};x4.prototype.destroy=function(){let e=this._planesPrimitives.length;for(let t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return le(this)};var dm=x4;function sN(e){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=y(e,0)}var rN=Vt.supportsTypedArrays()?new Float32Array(12):[],hge=new h,mge=new h,YY=new h,pge=new h,C4=new h;function dst(e,t){let n=e.radii,i=t.camera,o,r,s;if(i.frustum instanceof en)o=h.ZERO,r=i.rightWC,s=i.upWC;else{let d=i.positionWC,p=h.multiplyComponents(e.oneOverRadii,d,hge),g=h.normalize(p,mge),m=h.normalize(h.cross(h.UNIT_Z,p,YY),YY),A=h.normalize(h.cross(g,m,pge),pge),x=h.magnitude(p),C=Math.sqrt(x*x-1);o=h.multiplyByScalar(g,1/x,hge);let T=C/x;r=h.multiplyByScalar(m,T,mge),s=h.multiplyByScalar(A,T,YY)}let a=h.add(o,s,C4);h.subtract(a,r,a),h.multiplyComponents(n,a,a),h.pack(a,rN,0);let c=h.subtract(o,s,C4);h.subtract(c,r,c),h.multiplyComponents(n,c,c),h.pack(c,rN,3);let l=h.add(o,s,C4);h.add(l,r,l),h.multiplyComponents(n,l,l),h.pack(l,rN,6);let f=h.subtract(o,s,C4);return h.add(f,r,f),h.multiplyComponents(n,f,f),h.pack(f,rN,9),rN}sN.prototype.update=function(e){if(this._mode=e.mode,e.mode!==te.SCENE3D)return;let t=e.context,n=e.mapProjection.ellipsoid.radii,i=new ie(n.x+this._ellipsoidOffset,n.y+this._ellipsoidOffset,n.z+this._ellipsoidOffset),o=e.useLogDepth;if(u(this._command)||(this._rs=Ue.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new tt({renderState:this._rs,boundingVolume:new se(h.ZERO,i.maximumRadius),pass:Ee.OPAQUE,owner:this})),!u(this._sp)||this._useLogDepth!==o){this._useLogDepth=o;let s=new ke({sources:[UM]}),a=new ke({sources:[VM]});o&&(a.defines.push("LOG_DEPTH"),s.defines.push("LOG_DEPTH")),this._sp=Xt.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let r=dst(i,e);if(u(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(r);else{let s=new ct({attributes:{position:new ve({componentDatatype:q.FLOAT,componentsPerAttribute:3,values:r})},indices:[0,1,2,2,1,3],primitiveType:Me.TRIANGLES});this._va=oi.fromGeometry({context:t,geometry:s,attributeLocations:{position:0},bufferUsage:Ne.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};sN.prototype.execute=function(e,t){this._mode===te.SCENE3D&&this._command.execute(e,t)};sN.prototype.isDestroyed=function(){return!1};sN.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var aN=sN;function cN(){}var hst=/\bgl_FragDepth\b/,mst=/\bdiscard\b/;function pst(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(!u(n)){let i=t._attributeLocations,o=t.fragmentShaderSource,r,s=!1,a=o.sources,c=a.length;for(r=0;r<c;++r)if(hst.test(a[r])||mst.test(a[r])){s=!0;break}let l=!1,f=o.defines;for(c=f.length,r=0;r<c;++r)if(f[r]==="LOG_DEPTH"){l=!0;break}let d;!s&&!l?(d=`void main() +{ + out_FragColor = vec4(1.0); +} +`,o=new ke({sources:[d]})):!s&&l&&(d=`void main() +{ + out_FragColor = vec4(1.0); + czm_writeLogDepth(); +} +`,o=new ke({defines:["LOG_DEPTH"],sources:[d]})),n=e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:o,attributeLocations:i})}return n}function _st(e,t){let n=e._depthOnlyRenderStateCache,i=n[t.id];if(!u(i)){let o=Ue.getState(t);o.depthMask=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i=Ue.fromCache(o),n[t.id]=i}return i}cN.createDepthOnlyDerivedCommand=function(e,t,n,i){u(i)||(i={});let o,r;return u(i.depthOnlyCommand)&&(o=i.depthOnlyCommand.shaderProgram,r=i.depthOnlyCommand.renderState),i.depthOnlyCommand=tt.shallowClone(t,i.depthOnlyCommand),!u(o)||i.shaderProgramId!==t.shaderProgram.id?(i.depthOnlyCommand.shaderProgram=pst(n,t.shaderProgram),i.depthOnlyCommand.renderState=_st(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.depthOnlyCommand.shaderProgram=o,i.depthOnlyCommand.renderState=r),i};var gst=/\s+czm_writeLogDepth\(/,yst=/\s+czm_vertexLogDepth\(/;function Ast(e,t){if(t.fragmentShaderSource.defines.indexOf("LOG_DEPTH_READ_ONLY")>=0)return t;let i=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(!u(i)){let o=t._attributeLocations,r=t.vertexShaderSource.clone(),s=t.fragmentShaderSource.clone();r.defines=u(r.defines)?r.defines.slice(0):[],r.defines.push("LOG_DEPTH"),s.defines=u(s.defines)?s.defines.slice(0):[],s.defines.push("LOG_DEPTH");let a,c,l=!1,f=r.sources,d=f.length;for(a=0;a<d;++a)if(yst.test(f[a])){l=!0;break}if(!l){for(a=0;a<d;++a)f[a]=ke.replaceMain(f[a],"czm_log_depth_main");c=` + +void main() +{ + czm_log_depth_main(); + czm_vertexLogDepth(); +} +`,f.push(c)}for(f=s.sources,d=f.length,l=!1,a=0;a<d;++a)gst.test(f[a])&&(l=!0);s.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(l=!0);let p="";if(!l){for(a=0;a<d;a++)f[a]=ke.replaceMain(f[a],"czm_log_depth_main");p+=` +void main() +{ + czm_log_depth_main(); + czm_writeLogDepth(); +} +`}f.push(p),i=e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o})}return i}cN.createLogDepthCommand=function(e,t,n){u(n)||(n={});let i;return u(n.command)&&(i=n.command.shaderProgram),n.command=tt.shallowClone(e,n.command),!u(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=Ast(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};function xst(e,t,n){let i=e.shaderCache.getDerivedShaderProgram(t,"pick");if(!u(i)){let o=t._attributeLocations,r=t.fragmentShaderSource,s=r.sources,a=s.length,c=`void main() +{ + czm_non_pick_main(); + if (out_FragColor.a == 0.0) { + discard; + } + out_FragColor = ${n}; +} +`,l=new Array(a+1);for(let f=0;f<a;++f)l[f]=ke.replaceMain(s[f],"czm_non_pick_main");l[a]=c,r=new ke({sources:l,defines:r.defines}),i=e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:r,attributeLocations:o})}return i}function Cst(e,t){let n=e.picking.pickRenderStateCache,i=n[t.id];if(!u(i)){let o=Ue.getState(t);o.blending.enabled=!1,o.depthMask=!0,i=Ue.fromCache(o),n[t.id]=i}return i}cN.createPickDerivedCommand=function(e,t,n,i){u(i)||(i={});let o,r;return u(i.pickCommand)&&(o=i.pickCommand.shaderProgram,r=i.pickCommand.renderState),i.pickCommand=tt.shallowClone(t,i.pickCommand),!u(o)||i.shaderProgramId!==t.shaderProgram.id?(i.pickCommand.shaderProgram=xst(n,t.shaderProgram,t.pickId),i.pickCommand.renderState=Cst(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.pickCommand.shaderProgram=o,i.pickCommand.renderState=r),i};function Tst(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"HDR");if(!u(n)){let i=t._attributeLocations,o=t.vertexShaderSource.clone(),r=t.fragmentShaderSource.clone();o.defines=u(o.defines)?o.defines.slice(0):[],o.defines.push("HDR"),r.defines=u(r.defines)?r.defines.slice(0):[],r.defines.push("HDR"),n=e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:i})}return n}cN.createHdrCommand=function(e,t,n){u(n)||(n={});let i;return u(n.command)&&(i=n.command.shaderProgram),n.command=tt.shallowClone(e,n.command),!u(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=Tst(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};var I_=cN;function T4(e){this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let t=this;function n(i){let o=i.alpha;if(!u(o)){t._alpha=void 0,t._beta=void 0,t._gamma=void 0;return}t._alpha=P.toRadians(o),t._beta=P.toRadians(i.beta),t._gamma=P.toRadians(i.gamma)}window.addEventListener("deviceorientation",n,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",n,!1)}}var Est=new Le,_ge=new Le,bst=new Z;function Sst(e,t,n,i){let o=e.direction,r=e.right,s=e.up,a=Le.fromAxisAngle(o,n,_ge),c=Le.fromAxisAngle(r,i,Est),l=Le.multiply(c,a,c),f=Le.fromAxisAngle(s,t,_ge);Le.multiply(f,l,l);let d=Z.fromQuaternion(l,bst);Z.multiplyByVector(d,r,r),Z.multiplyByVector(d,s,s),Z.multiplyByVector(d,o,o)}T4.prototype.update=function(){if(!u(this._alpha))return;u(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,n=this._lastGamma-this._gamma;Sst(this._scene.camera,-e,t,n),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};T4.prototype.isDestroyed=function(){return!1};T4.prototype.destroy=function(){return this._removeListener(),le(this)};var lN=T4;function gge(){this.enabled=!0,this.renderable=!0,this.density=2e-4,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}var E4=[359.393,800.749,1275.6501,2151.1192,3141.7763,4777.5198,6281.2493,12364.307,15900.765,49889.0549,78026.8259,99260.7344,120036.3873,151011.0158,156091.1953,203849.3112,274866.9803,319916.3149,493552.0528,628733.5874],hm=[2e-5,2e-4,1e-4,7e-5,5e-5,4e-5,3e-5,19e-6,1e-5,85e-7,62e-7,58e-7,53e-7,52e-7,51e-7,42e-7,4e-6,34e-7,26e-7,22e-7];for(let e=0;e<hm.length;++e)hm[e]*=1e6;var yge=hm[1],qY=hm[hm.length-1];for(let e=0;e<hm.length;++e)hm[e]=(hm[e]-qY)/(yge-qY);var $s=0;function Dst(e){let t=E4,n=t.length;if(e<t[0])return $s=0,$s;if(e>t[n-1])return $s=n-2,$s;if(e>=t[$s]){if($s+1<n&&e<t[$s+1])return $s;if($s+2<n&&e<t[$s+2])return++$s,$s}else if($s-1>=0&&e>=t[$s-1])return--$s,$s;let i;for(i=0;i<n-2&&!(e>=t[i]&&e<t[i+1]);++i);return $s=i,$s}var vst=new h;gge.prototype.update=function(e){if(!(e.fog.enabled=this.enabled))return;e.fog.renderable=this.renderable;let n=e.camera,i=n.positionCartographic;if(!u(i)||i.height>8e5||e.mode!==te.SCENE3D){e.fog.enabled=!1;return}let o=i.height,r=Dst(o),s=P.clamp((o-E4[r])/(E4[r+1]-E4[r]),0,1),a=P.lerp(hm[r],hm[r+1],s),c=this.density*1e6,l=c/yge*qY;a=a*(c-l)*1e-6;let f=h.normalize(n.positionWC,vst),d=Math.abs(h.dot(n.directionWC,f));a*=1-d,e.fog.density=a,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness};var uN=gge;function wst(e,t,n){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=te.SCENE3D,this.morphTime=te.getMorphTime(te.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=n,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,density:void 0,sse:void 0,minimumBrightness:void 0},this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0}var fN=wst;var ea={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},qx=ea.DERIVED_COMMANDS_MAXIMUM_LENGTH,wge=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function Xx(){this._frontFaceAlphaByDistance=new Pt(0,1,0,1),this._backFaceAlphaByDistance=new Pt(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=ce.clone(ce.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(qx),this._derivedBlendCommandTypes=new Array(qx),this._derivedPickCommandTypes=new Array(qx),this._derivedCommandTypesToUpdate=new Array(qx),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(Xx.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});Xx.prototype.update=function(e){let t=e.globe;if(!u(t)||!t.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=Age(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=Age(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=xge(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=xge(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=Rst(this,e,t),this._sunVisibleThroughGlobe=Ist(this,e),this._environmentVisible=Pst(this,e),this._useDepthPlane=Ost(this,e),this._numberOfTextureUniforms=Bst(this),this._rectangle=ce.clone(t.translucency.rectangle,this._rectangle),Mst(this,e)};function Age(e,t,n,i){return e?u(n)?(Pt.clone(n,i),i.nearValue*=t,i.farValue*=t,i):(i.nearValue=t,i.farValue=t,i):(i.nearValue=1,i.farValue=1,i)}function xge(e,t,n){return e&&(n.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function Ist(e,t){let n=e._frontFaceTranslucent,i=e._backFaceTranslucent;return n&&(t.cameraUnderground||i)}function Pst(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function Ost(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function Rst(e,t,n){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!n.depthTestAgainstTerrain&&t.mode!==te.SCENE2D&&t.context.depthTexture}function Bst(e){let t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function Mst(e,t){e._derivedCommandsLength=XY(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=XY(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=XY(e,t,!1,!0,e._derivedPickCommandTypes);let n,i=0;for(n=0;n<e._derivedCommandsLength;++n)i|=1<<e._derivedCommandTypes[n];for(n=0;n<e._derivedBlendCommandsLength;++n)i|=1<<e._derivedBlendCommandTypes[n];for(n=0;n<e._derivedPickCommandsLength;++n)i|=1<<e._derivedPickCommandTypes[n];let o=0;for(n=0;n<qx;++n)(i&1<<n)>0&&(e._derivedCommandTypesToUpdate[o++]=n);e._derivedCommandsToUpdateLength=o;let r=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=r,!u(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=Kst())}function XY(e,t,n,i,o){let r=0,s=e._frontFaceTranslucent,a=e._backFaceTranslucent;if(!s)return r;let c=t.cameraUnderground,l=e._requiresManualDepthTest,f=i?ea.PICK_FRONT_FACE:l?ea.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:ea.TRANSLUCENT_FRONT_FACE,d=i?ea.PICK_BACK_FACE:l?ea.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:ea.TRANSLUCENT_BACK_FACE;return t.mode===te.SCENE2D?(o[r++]=ea.DEPTH_ONLY_FRONT_FACE,o[r++]=f,r):(a?(n||(o[r++]=ea.DEPTH_ONLY_FRONT_AND_BACK_FACE),c?(o[r++]=f,o[r++]=d):(o[r++]=d,o[r++]=f)):c?(n||(o[r++]=ea.DEPTH_ONLY_BACK_FACE),o[r++]=ea.OPAQUE_FRONT_FACE,o[r++]=d):(n||(o[r++]=ea.DEPTH_ONLY_FRONT_FACE),o[r++]=ea.OPAQUE_BACK_FACE,o[r++]=f),r)}function Rf(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Cge(e,t){return e.indexOf(t)>-1}function Lst(e,t){Rf(e.defines,"TRANSLUCENT"),Rf(t.defines,"TRANSLUCENT")}function Nst(e,t){Rf(e.defines,"GROUND_ATMOSPHERE"),Rf(t.defines,"GROUND_ATMOSPHERE"),Rf(e.defines,"FOG"),Rf(t.defines,"FOG"),Rf(e.defines,"TRANSLUCENT"),Rf(t.defines,"TRANSLUCENT")}function KY(e,t){if(Cge(t.defines,"TILE_LIMIT_RECTANGLE")||Cge(t.defines,"ENABLE_CLIPPING_PLANES"))return;let n=`void main() +{ + out_FragColor = vec4(1.0); +} +`;t.sources=[n]}function ZY(e,t){let n=t.sources,i=n.length;for(let r=0;r<i;++r)n[r]=ke.replaceMain(n[r],"czm_globe_translucency_main");let o=` + +uniform sampler2D u_classificationTexture; +void main() +{ + vec2 st = gl_FragCoord.xy / czm_viewport.zw; +#ifdef MANUAL_DEPTH_TEST + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); + if (logDepthOrDepth != 0.0) + { + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + float depthEC = eyeCoordinate.z / eyeCoordinate.w; + if (v_positionEC.z < depthEC) + { + discard; + } + } +#endif + czm_globe_translucency_main(); + vec4 classificationColor = texture(u_classificationTexture, st); + if (classificationColor.a > 0.0) + { + // Reverse premultiplication process to get the correct composited result of the classification primitives + classificationColor.rgb /= classificationColor.a; + } + out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); +} +`;n.push(o)}function Ige(e,t){ZY(e,t),Rf(e.defines,"GROUND_ATMOSPHERE"),Rf(t.defines,"GROUND_ATMOSPHERE"),Rf(e.defines,"FOG"),Rf(t.defines,"FOG")}function Fst(e,t){ZY(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function Vst(e,t){Ige(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function Tge(e,t){let n=`uniform sampler2D u_classificationTexture; +void main() +{ + vec2 st = gl_FragCoord.xy / czm_viewport.zw; + vec4 pickColor = texture(u_classificationTexture, st); + if (pickColor == vec4(0.0)) + { + discard; + } + out_FragColor = pickColor; +} +`;t.sources=[n]}function Ust(e,t,n,i,o,r){if(!u(o))return t;if(!i&&u(n))return n;let s=e.shaderCache.getDerivedShaderProgram(t,r);if(!u(s)){let a=t._attributeLocations,c=t.vertexShaderSource.clone(),l=t.fragmentShaderSource.clone();c.defines=u(c.defines)?c.defines.slice(0):[],l.defines=u(l.defines)?l.defines.slice(0):[],o(c,l),s=e.shaderCache.createDerivedShaderProgram(t,r,{vertexShaderSource:c,fragmentShaderSource:l,attributeLocations:a})}return s}function kst(e){e.cull.face=gi.BACK,e.cull.enabled=!0}function zst(e){e.cull.face=gi.FRONT,e.cull.enabled=!0}function Hst(e){e.cull.face=gi.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Gst(e){e.cull.face=gi.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Wst(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Ege(e){e.cull.face=gi.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=un.ALPHA_BLEND}function bge(e){e.cull.face=gi.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=un.ALPHA_BLEND}function jst(e){e.cull.face=gi.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function Yst(e){e.cull.face=gi.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function qst(e,t,n,i,o){if(!u(i))return e;if(!n&&u(t))return t;let r=o[e.id];if(!u(r)){let s=Ue.getState(e);i(s),r=Ue.fromCache(s),o[e.id]=r}return r}function lS(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function Xst(e,t,n,i,o){return u(o)?!i&&u(n)?n:_t(t,o(e),!1):t}function ih(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function Kst(){return[new ih({pass:Ee.GLOBE,pickOnly:!1,getShaderProgramFunction:Lst,getRenderStateFunction:kst,getUniformMapFunction:void 0}),new ih({pass:Ee.GLOBE,pickOnly:!1,getShaderProgramFunction:Nst,getRenderStateFunction:zst,getUniformMapFunction:void 0}),new ih({pass:Ee.GLOBE,pickOnly:!1,getShaderProgramFunction:KY,getRenderStateFunction:Hst,getUniformMapFunction:void 0}),new ih({pass:Ee.GLOBE,pickOnly:!1,getShaderProgramFunction:KY,getRenderStateFunction:Gst,getUniformMapFunction:void 0}),new ih({pass:Ee.GLOBE,pickOnly:!1,getShaderProgramFunction:KY,getRenderStateFunction:Wst,getUniformMapFunction:void 0}),new ih({pass:Ee.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:ZY,getRenderStateFunction:Ege,getUniformMapFunction:lS}),new ih({pass:Ee.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Ige,getRenderStateFunction:bge,getUniformMapFunction:lS}),new ih({pass:Ee.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Fst,getRenderStateFunction:Ege,getUniformMapFunction:lS}),new ih({pass:Ee.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Vst,getRenderStateFunction:bge,getUniformMapFunction:lS}),new ih({pass:Ee.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:Tge,getRenderStateFunction:jst,getUniformMapFunction:lS}),new ih({pass:Ee.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:Tge,getRenderStateFunction:Yst,getUniformMapFunction:lS})]}var Sge=new Array(qx),Dge=new Array(qx);Xx.prototype.updateDerivedCommands=function(e,t){let n=this._derivedCommandTypesToUpdate,i=this._derivedCommandsToUpdateLength;if(i!==0){for(let o=0;o<i;++o)Dge[o]=this._derivedCommandPacks[n[o]],Sge[o]=wge[n[o]];Zst(this,e,i,n,Sge,Dge,t)}};function Zst(e,t,n,i,o,r,s){let a=t.derivedCommands.globeTranslucency,c=e._derivedCommandsDirty;if(t.dirty||!u(a)||c){t.dirty=!1,u(a)||(a={},t.derivedCommands.globeTranslucency=a);let l=s.frameNumber,f=y(a.uniformMapDirtyFrame,0),d=y(a.shaderProgramDirtyFrame,0),p=y(a.renderStateDirtyFrame,0),g=a.uniformMap!==t.uniformMap,m=a.shaderProgramId!==t.shaderProgram.id,A=a.renderStateId!==t.renderState.id;g&&(a.uniformMapDirtyFrame=l),m&&(a.shaderProgramDirtyFrame=l),A&&(a.renderStateDirtyFrame=l),a.uniformMap=t.uniformMap,a.shaderProgramId=t.shaderProgram.id,a.renderStateId=t.renderState.id;for(let x=0;x<n;++x){let C=r[x],T=i[x],E=o[x],S=a[E],D,w,R;u(S)?(D=S.uniformMap,w=S.shaderProgram,R=S.renderState):(D=void 0,w=void 0,R=void 0),S=tt.shallowClone(t,S),a[E]=S;let O=y(S.derivedCommands.uniformMapDirtyFrame,0),L=y(S.derivedCommands.shaderProgramDirtyFrame,0),N=y(S.derivedCommands.renderStateDirtyFrame,0),_=g||O<f,b=m||L<d,v=A||N<p;_&&(S.derivedCommands.uniformMapDirtyFrame=l),b&&(S.derivedCommands.shaderProgramDirtyFrame=l),v&&(S.derivedCommands.renderStateDirtyFrame=l),S.derivedCommands.type=T,S.pass=C.pass,S.pickOnly=C.pickOnly,S.uniformMap=Xst(e,t.uniformMap,D,_,C.getUniformMapFunction),S.shaderProgram=Ust(s.context,t.shaderProgram,w,b,C.getShaderProgramFunction,E),S.renderState=qst(t.renderState,R,v,C.getRenderStateFunction,C.renderStateCache)}}}Xx.prototype.pushDerivedCommands=function(e,t,n){let i=n.passes.pick;if(i&&t)return;let o=this._derivedCommandTypes,r=this._derivedCommandsLength;if(i?(o=this._derivedPickCommandTypes,r=this._derivedPickCommandsLength):t&&(o=this._derivedBlendCommandTypes,r=this._derivedBlendCommandsLength),r===0){n.commandList.push(e);return}let s=e.derivedCommands.globeTranslucency;for(let a=0;a<r;++a){let c=wge[o[a]];n.commandList.push(s[c])}};function Pge(e,t,n,i,o,r,s){for(let a=0;a<t;++a){let c=e[a],l=c.derivedCommands.type;(!u(s)||s.indexOf(l)>-1)&&n(c,i,o,r)}}function vge(e,t,n,i,o,r){for(let s=0;s<t;++s)n(e[s],i,o,r)}var Jst=[ea.OPAQUE_FRONT_FACE,ea.OPAQUE_BACK_FACE],Qst=[ea.DEPTH_ONLY_FRONT_FACE,ea.DEPTH_ONLY_BACK_FACE,ea.DEPTH_ONLY_FRONT_AND_BACK_FACE];Xx.prototype.executeGlobeCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[Ee.GLOBE],a=e.indices[Ee.GLOBE];a!==0&&(this._globeTranslucencyFramebuffer=n,n.clearClassification(r,o),Pge(s,a,t,i,r,o,Jst))};Xx.prototype.executeGlobeClassificationCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[Ee.GLOBE],a=e.indices[Ee.GLOBE],c=e.commands[Ee.TERRAIN_CLASSIFICATION],l=e.indices[Ee.TERRAIN_CLASSIFICATION];if(a===0||l===0)return;let f=this._frontFaceTranslucent,d=this._backFaceTranslucent;if((!f||!d)&&vge(c,l,t,i,r,o),!f&&!d)return;this._globeTranslucencyFramebuffer=n;let p=r.uniformState.globeDepthTexture,g=o.framebuffer;if(o.framebuffer=n.classificationFramebuffer,Pge(s,a,t,i,r,o,Qst),r.depthTexture){let m=n.packDepth(r,o);r.uniformState.globeDepthTexture=m}vge(c,l,t,i,r,o),r.uniformState.globeDepthTexture=p,o.framebuffer=g};var dN=Xx;var Il=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = texture(colorTexture, v_textureCoordinates); +} +`;function mm(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new mi({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new mi({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new ii({color:new z(0,0,0,0),owner:this}),this._clearCommand=new ii({color:new z(0,0,0,0),depth:1,stencil:0});let e=this;this._uniformMap={colorTexture:function(){return e._fbo.getColorTexture()},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._fboClassified.getColorTexture()}}}Object.defineProperties(mm.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});mm.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};var $st={depthMask:!1,stencilTest:{enabled:!0,frontFunction:kn.EQUAL,frontOperation:{fail:ut.KEEP,zFail:ut.KEEP,zPass:ut.KEEP},backFunction:kn.NEVER,reference:0,mask:Bt.CLASSIFICATION_MASK},blending:un.ALPHA_BLEND},eat={depthMask:!1,stencilTest:{enabled:!0,frontFunction:kn.NOT_EQUAL,frontOperation:{fail:ut.KEEP,zFail:ut.KEEP,zPass:ut.KEEP},backFunction:kn.NEVER,reference:0,mask:Bt.CLASSIFICATION_MASK},blending:un.ALPHA_BLEND},tat={depthMask:!0,depthTest:{enabled:!0},stencilTest:Bt.setCesium3DTileBit(),stencilMask:Bt.CESIUM_3D_TILE_MASK,blending:un.ALPHA_BLEND},nat=`uniform sampler2D colorTexture; +uniform sampler2D depthTexture; +uniform sampler2D classifiedTexture; +in vec2 v_textureCoordinates; +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + if (color.a == 0.0) + { + discard; + } + bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0))); +#ifdef UNCLASSIFIED + vec4 highlightColor = czm_invertClassificationColor; + if (isClassified) + { + discard; + } +#else + vec4 highlightColor = vec4(1.0); + if (!isClassified) + { + discard; + } +#endif + out_FragColor = color * highlightColor; + gl_FragDepth = texture(depthTexture, v_textureCoordinates).r; +} +`,iat=`uniform sampler2D colorTexture; +in vec2 v_textureCoordinates; +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + if (color.a == 0.0) + { + discard; + } +#ifdef UNCLASSIFIED + out_FragColor = color * czm_invertClassificationColor; +#else + out_FragColor = color; +#endif +} +`;mm.prototype.update=function(e,t,n){let i=this._fbo.getColorTexture(),o=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let r=this._numSamples!==t,s=e.drawingBufferWidth,a=e.drawingBufferHeight,c=!u(i)||i.width!==s||i.height!==a;if((c||o||r)&&(this._numSamples=t,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),u(this._previousFramebuffer)||(this._depthStencilTexture=new It({context:e,width:s,height:a,pixelFormat:rt.DEPTH_STENCIL,pixelDatatype:Xe.UNSIGNED_INT_24_8}),t>1&&(this._depthStencilRenderbuffer=new Ul({context:e,width:s,height:a,format:_c.DEPTH24_STENCIL8,numSamples:t})))),!u(this._fbo.framebuffer)||c||o||r){this._fbo.destroy(),this._fboClassified.destroy();let l,f;u(this._previousFramebuffer)?(l=n.getDepthStencilTexture(),f=n.getDepthStencilRenderbuffer()):(l=this._depthStencilTexture,f=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(l),u(f)&&this._fbo.setDepthStencilRenderbuffer(f),this._fbo.update(e,s,a,t),u(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(l),this._fboClassified.update(e,s,a))}if(u(this._rsUnclassified)||(this._rsUnclassified=Ue.fromCache($st),this._rsClassified=Ue.fromCache(eat),this._rsDefault=Ue.fromCache(tat)),!u(this._unclassifiedCommand)||o||r){u(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let l=u(this._previousFramebuffer)?iat:nat,f=new ke({defines:["UNCLASSIFIED"],sources:[l]}),d=new ke({sources:[l]});this._unclassifiedCommand=e.createViewportQuadCommand(f,{renderState:u(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(d,{renderState:u(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),u(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),u(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(Il,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};mm.prototype.prepareTextures=function(e,t){this._fbo._numSamples>1&&this._fbo.prepareTextures(e,t)};mm.prototype.clear=function(e,t){u(this._previousFramebuffer)?this._fbo.clear(e,this._clearColorCommand,t):(this._fbo.clear(e,this._clearCommand,t),this._fboClassified.clear(e,this._clearCommand,t))};mm.prototype.executeClassified=function(e,t){if(!u(this._previousFramebuffer)){let n=t.framebuffer;this.prepareTextures(e,!0),t.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(e,t),t.framebuffer=n}this._classifiedCommand.execute(e,t)};mm.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)};mm.prototype.isDestroyed=function(){return!1};mm.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),u(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),le(this)};var uS=mm;function b4(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(b4.prototype,{total:{get:function(){return this._total}}});function zy(e){let t=new Array(fa.NUMBER_OF_JOB_TYPES);t[fa.TEXTURE]=new b4(u(e)?e[fa.TEXTURE]:10),t[fa.PROGRAM]=new b4(u(e)?e[fa.PROGRAM]:10),t[fa.BUFFER]=new b4(u(e)?e[fa.BUFFER]:30);let n=t.length,i,o=0;for(i=0;i<n;++i)o+=t[i].total;let r=new Array(n);for(i=0;i<n;++i)r[i]=!1;this._totalBudget=o,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=r}zy.getTimestamp=di;Object.defineProperties(zy.prototype,{totalBudget:{get:function(){return this._totalBudget}}});zy.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};zy.prototype.resetBudgets=function(){let e=this._budgets,t=e.length;for(let n=0;n<t;++n){let i=e[n];i.starvedLastFrame=i.starvedThisFrame,i.starvedThisFrame=!1,i.usedThisFrame=0,i.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};zy.prototype.execute=function(e,t){let n=this._budgets,i=n[t],o=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&o)return i.starvedThisFrame=!0,!1;let r;if(i.usedThisFrame+i.stolenFromMeThisFrame>=i.total){let c=n.length,l;for(l=0;l<c&&(r=n[l],!(r.usedThisFrame+r.stolenFromMeThisFrame<r.total&&!r.starvedLastFrame));++l);if(l===c&&o)return!1;o&&(i.starvedThisFrame=!0)}let s=zy.getTimestamp();e.execute();let a=zy.getTimestamp()-s;return this._totalUsedThisFrame+=a,r?r.stolenFromMeThisFrame+=a:i.usedThisFrame+=a,this._executedThisFrame[t]=!0,!0};var hN=zy;function S4(e){e=y(e,y.EMPTY_OBJECT);let t=In(e.container);this._container=t;let n=document.createElement("div");n.className="cesium-performanceDisplay";let i=document.createElement("div");i.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),i.appendChild(this._fpsText);let o=document.createElement("div");o.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),o.appendChild(this._msText),n.appendChild(o),n.appendChild(i),this._container.appendChild(n),this._lastFpsSampleTime=di(),this._lastMsSampleTime=di(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let r=document.createElement("div");r.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),r.appendChild(this._throttledText),n.appendChild(r)}Object.defineProperties(S4.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(e?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=e)}}});S4.prototype.update=function(e){let t=di(),n=y(e,!0);this._fpsFrameCount++;let i=t-this._lastFpsSampleTime;if(i>1e3){let r="N/A";n&&(r=this._fpsFrameCount*1e3/i|0),this._fpsText.nodeValue=`${r} FPS`,this._lastFpsSampleTime=t,this._fpsFrameCount=0}this._msFrameCount++;let o=t-this._lastMsSampleTime;if(o>200){let r="N/A";n&&(r=(o/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${r} MS`,this._lastMsSampleTime=t,this._msFrameCount=0}};S4.prototype.destroy=function(){return le(this)};var P_=S4;function Kx(){this._framebuffer=new mi,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(Kx.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function oat(e,t,n){let i=n.width,o=n.height;e._framebuffer.update(t,i,o)}function rat(e,t,n){if(!u(e._copyDepthCommand)){let i=`uniform highp sampler2D u_texture; +in vec2 v_textureCoordinates; +void main() +{ + out_FragColor = czm_packDepth(texture(u_texture, v_textureCoordinates).r); +} +`;e._copyDepthCommand=t.createViewportQuadCommand(i,{renderState:Ue.fromCache(),uniformMap:{u_texture:function(){return e._textureToCopy}},owner:e})}e._textureToCopy=n,e._copyDepthCommand.framebuffer=e.framebuffer}Kx.prototype.update=function(e,t){oat(this,e,t),rat(this,e,t)};var sat=new oe,aat=new oe(1,1/255,1/65025,1/16581375);Kx.prototype.getDepth=function(e,t,n){if(!u(this.framebuffer))return;let i=e.readPixels({x:t,y:n,width:1,height:1,framebuffer:this.framebuffer}),o=oe.unpack(i,0,sat);return oe.divideByScalar(o,255,o),oe.dot(o,aat)};Kx.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)};Kx.prototype.isDestroyed=function(){return!1};Kx.prototype.destroy=function(){return this._framebuffer.destroy(),u(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=u(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),le(this)};var mN=Kx;function cat(e,t){this.near=y(e,0),this.far=y(t,0);let n=Ee.NUMBER_OF_PASSES,i=new Array(n),o=new Array(n);for(let r=0;r<n;++r)i[r]=[],o[r]=0;this.commands=i,this.indices=o}var pN=cat;var Hy=`uniform highp sampler2D u_depthTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = czm_packDepth(texture(u_depthTexture, v_textureCoordinates).r); +} +`;function pm(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new mi({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new mi({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new mi,this._tempCopyDepthFramebuffer=new mi,this._updateDepthFramebuffer=new mi({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new Ye,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties(pm.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(e){this._picking=e}}});function lat(e){e._pickColorFramebuffer.destroy(),e._outputFramebuffer.destroy(),e._copyDepthFramebuffer.destroy(),e._tempCopyDepthFramebuffer.destroy(),e._updateDepthFramebuffer.destroy()}function Oge(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!Ye.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,Ye.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Ye.clone(o.viewport,e._scissorRectangle),s=!0),(!u(e._rs)||!Ye.equals(e._viewport,e._rs.viewport)||s)&&(e._rs=Ue.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=Ue.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:un.ALPHA_BLEND}),e._rsUpdate=Ue.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:kn.EQUAL,frontOperation:{fail:ut.KEEP,zFail:ut.KEEP,zPass:ut.KEEP},backFunction:kn.NEVER,reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK}})),u(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(Hy,{uniformMap:{u_depthTexture:function(){return e.colorFramebufferManager.getDepthStencilTexture()}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer.framebuffer,e._copyDepthCommand.renderState=e._rs,u(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(Il,{uniformMap:{colorTexture:function(){return e.colorFramebufferManager.getColorTexture()}},owner:e})),e._copyColorCommand.renderState=e._rs,u(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(Hy,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer.framebuffer,e._tempCopyDepthCommand.renderState=e._rs,u(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(Il,{uniformMap:{colorTexture:function(){return e._tempCopyDepthFramebuffer.getColorTexture()}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer.framebuffer,e._updateDepthCommand.renderState=e._rsUpdate,u(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new ii({color:new z(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e.framebuffer}pm.prototype.update=function(e,t,n,i,o,r){let s=n.width,a=n.height,c=o?e.halfFloatingPointTexture?Xe.HALF_FLOAT:Xe.FLOAT:Xe.UNSIGNED_BYTE;this._numSamples=i,this.picking?this._pickColorFramebuffer.update(e,s,a):this._outputFramebuffer.update(e,s,a,i,c),this._copyDepthFramebuffer.update(e,s,a),Oge(this,e,s,a,t),e.uniformState.globeDepthTexture=void 0,this._useHdr=o,this._clearGlobeDepth=r};pm.prototype.prepareColorTextures=function(e,t){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(e,t)};pm.prototype.executeCopyDepth=function(e,t){u(this._copyDepthCommand)&&(this.prepareColorTextures(e),this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};pm.prototype.executeUpdateDepth=function(e,t,n,i){let o=u(i)?i:t.framebuffer.depthStencilTexture;if(n||o!==this.colorFramebufferManager.getDepthStencilTexture()){if(u(this._updateDepthCommand)){if(!u(this._updateDepthFramebuffer.framebuffer)||this._updateDepthFramebuffer.getDepthStencilTexture()!==o||this._updateDepthFramebuffer.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let r=this._copyDepthFramebuffer.getColorTexture().width,s=this._copyDepthFramebuffer.getColorTexture().height;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(e,r,s);let a=this._copyDepthFramebuffer.getColorTexture();this._updateDepthFramebuffer.setColorTexture(a,0),this._updateDepthFramebuffer.setDepthStencilTexture(o),this._updateDepthFramebuffer.update(e,r,s),Oge(this,e,r,s,t)}this._tempCopyDepthTexture=o,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)}return}u(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t)};pm.prototype.executeCopyColor=function(e,t){u(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)};pm.prototype.clear=function(e,t,n){let i=this._clearGlobeColorCommand;u(i)&&(z.clone(n,i.color),this.colorFramebufferManager.clear(e,i,t))};pm.prototype.isDestroyed=function(){return!1};pm.prototype.destroy=function(){return lat(this),u(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),u(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),u(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),u(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),le(this)};var _N=pm;function Zx(){this._framebuffer=new mi({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new mi,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new Ye,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(Zx.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function uat(e){e._framebuffer.destroy(),e._packedDepthFramebuffer.destroy()}function fat(e,t,n,i,o){let r=o?t.halfFloatingPointTexture?Xe.HALF_FLOAT:Xe.FLOAT:Xe.UNSIGNED_BYTE;e._framebuffer.update(t,n,i,1,r),e._packedDepthFramebuffer.update(t,n,i)}function dat(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!Ye.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,Ye.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Ye.clone(o.viewport,e._scissorRectangle),s=!0),(!u(e._renderState)||!Ye.equals(e._viewport,e._renderState.viewport)||s)&&(e._renderState=Ue.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),u(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(Hy,{uniformMap:{u_depthTexture:function(){return e.depthStencilTexture}},owner:e})),u(e._clearCommand)||(e._clearCommand=new ii({color:new z(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer.framebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e.classificationFramebuffer,e._clearCommand.renderState=e._renderState}Zx.prototype.updateAndClear=function(e,t,n,i){let o=t.width,r=t.height;fat(this,n,o,r,e),dat(this,n,o,r,i),this._useHdr=e};Zx.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)};Zx.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this.packedDepthTexture};Zx.prototype.isDestroyed=function(){return!1};Zx.prototype.destroy=function(){return uat(this),le(this)};var gN=Zx;function O_(e){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let t=e.colorBufferFloat&&e.depthTexture&&e.floatBlend;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new mi({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new mi({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new mi({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new mi({createColorAttachments:!1}),this._opaqueClearCommand=new ii({color:new z(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new ii({color:new z(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new ii({color:new z(0,0,0,0),owner:this}),this._alphaClearCommand=new ii({color:new z(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new Ye,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function Rge(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function JY(e){e._translucentFBO.destroy(),e._alphaFBO.destroy(),e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO.destroy()}function Bge(e){Rge(e),JY(e)}function hat(e,t,n,i){Rge(e),e._accumulationTexture=new It({context:t,width:n,height:i,pixelFormat:rt.RGBA,pixelDatatype:Xe.FLOAT});let o=new Float32Array(n*i*4);e._revealageTexture=new It({context:t,pixelFormat:rt.RGBA,pixelDatatype:Xe.FLOAT,source:{arrayBufferView:o,width:n,height:i},flipY:!1})}function mat(e,t){JY(e);let n=ee.FRAMEBUFFER_COMPLETE,i=!0,{width:o,height:r}=e._accumulationTexture;if(e._translucentMRTSupport&&(e._translucentFBO.setColorTexture(e._accumulationTexture,0),e._translucentFBO.setColorTexture(e._revealageTexture,1),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture,0),e._adjustTranslucentFBO.setColorTexture(e._revealageTexture,1),e._adjustTranslucentFBO.update(t,o,r),(e._translucentFBO.status!==n||e._adjustTranslucentFBO.status!==n)&&(JY(e),e._translucentMRTSupport=!1)),!e._translucentMRTSupport){e._translucentFBO.setColorTexture(e._accumulationTexture),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._alphaFBO.setColorTexture(e._revealageTexture),e._alphaFBO.setDepthStencilTexture(e._depthStencilTexture),e._alphaFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture),e._adjustTranslucentFBO.update(t,o,r),e._adjustAlphaFBO.setColorTexture(e._revealageTexture),e._adjustAlphaFBO.update(t,o,r);let s=e._translucentFBO.status===n,a=e._alphaFBO.status===n,c=e._adjustTranslucentFBO.status===n,l=e._adjustAlphaFBO.status===n;(!s||!a||!c||!l)&&(Bge(e),e._translucentMultipassSupport=!1,i=!1)}return i}O_.prototype.update=function(e,t,n,i,o){if(!this.isSupported())return;this._opaqueFBO=n,this._opaqueTexture=n.getColorTexture(0),this._depthStencilTexture=n.getDepthStencilTexture();let{width:r,height:s}=this._opaqueTexture,a=this._accumulationTexture,c=!u(a)||a.width!==r||a.height!==s||i!==this._useHDR,l=this._numSamples!==o;if((c||l)&&(this._numSamples=o,hat(this,e,r,s)),(!u(this._translucentFBO.framebuffer)||c||l)&&!mat(this,e))return;this._useHDR=i;let f=this,d,p;u(this._compositeCommand)||(d=new ke({sources:[FM]}),this._translucentMRTSupport&&d.defines.push("MRT"),p={u_opaque:function(){return f._opaqueTexture},u_accumulation:function(){return f._accumulationTexture},u_revealage:function(){return f._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})),u(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(d=new ke({defines:["MRT"],sources:[wb]}),p={u_bgColor:function(){return f._translucentMRTClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})):this._translucentMultipassSupport&&(d=new ke({sources:[wb]}),p={u_bgColor:function(){return f._translucentMultipassClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}),p={u_bgColor:function(){return f._alphaClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}))),this._viewport.width=r,this._viewport.height=s;let g=!Ye.equals(this._viewport,t.viewport),m=g!==this._useScissorTest;this._useScissorTest=g,Ye.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=Ye.clone(t.viewport,this._scissorRectangle),m=!0),(!u(this._rs)||!Ye.equals(this._viewport,this._rs.viewport)||m)&&(this._rs=Ue.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),u(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),u(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var pat={enabled:!0,color:new z(0,0,0,0),equationRgb:aa.ADD,equationAlpha:aa.ADD,functionSourceRgb:xo.ONE,functionDestinationRgb:xo.ONE,functionSourceAlpha:xo.ZERO,functionDestinationAlpha:xo.ONE_MINUS_SOURCE_ALPHA},_at={enabled:!0,color:new z(0,0,0,0),equationRgb:aa.ADD,equationAlpha:aa.ADD,functionSourceRgb:xo.ONE,functionDestinationRgb:xo.ONE,functionSourceAlpha:xo.ONE,functionDestinationAlpha:xo.ONE},gat={enabled:!0,color:new z(0,0,0,0),equationRgb:aa.ADD,equationAlpha:aa.ADD,functionSourceRgb:xo.ZERO,functionDestinationRgb:xo.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:xo.ZERO,functionDestinationAlpha:xo.ONE_MINUS_SOURCE_ALPHA};function QY(e,t,n,i){let o=n[i.id];if(!u(o)){let r=Ue.getState(i);r.depthMask=!1,r.blending=t,o=Ue.fromCache(r),n[i.id]=o}return o}function yat(e,t,n){return QY(t,pat,e._translucentRenderStateCache,n)}function Aat(e,t,n){return QY(t,_at,e._translucentRenderStateCache,n)}function xat(e,t,n){return QY(t,gat,e._alphaRenderStateCache,n)}var Cat=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; + float ai = czm_out_FragColor.a; + float wzi = czm_alphaWeight(ai); + out_FragData_0 = vec4(Ci * wzi, ai); + out_FragData_1 = vec4(ai * wzi); +`,Tat=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; + float ai = czm_out_FragColor.a; + float wzi = czm_alphaWeight(ai); + out_FragColor = vec4(Ci, ai) * wzi; +`,Eat=` float ai = czm_out_FragColor.a; + out_FragColor = vec4(ai); +`;function $Y(e,t,n,i){let{shaderCache:o}=e,r=o.getDerivedShaderProgram(t,n);if(u(r))return r;let s=t._attributeLocations,a=t.fragmentShaderSource.clone();a.sources=a.sources.map(function(f){return ke.replaceMain(f,"czm_translucent_main").replace(/out_FragColor/g,"czm_out_FragColor").replace(/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,"").replace(/\bdiscard\b/g,"czm_discard = true").replace(/czm_phong/g,"czm_translucentPhong")}),a.sources.splice(0,0,`vec4 czm_out_FragColor; +bool czm_discard = false; +`);let c=[...i.matchAll(/out_FragData_(\d+)/g)],l="";for(let f=0;f<c.length;f++){let d=c[f];l=`layout (location = ${d[1]}) out vec4 ${d[0]}; +${l}`}return a.sources.push(l),a.sources.push(`void main() +{ + czm_translucent_main(); + if (czm_discard) + { + discard; + } +${i}} +`),o.createDerivedShaderProgram(t,n,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:s})}function bat(e,t){return $Y(e,t,"translucentMRT",Cat)}function Sat(e,t){return $Y(e,t,"translucentMultipass",Tat)}function Dat(e,t){return $Y(e,t,"alphaMultipass",Eat)}O_.prototype.createDerivedCommands=function(e,t,n){if(u(n)||(n={}),this._translucentMRTSupport){let a,c;return u(n.translucentCommand)&&(a=n.translucentCommand.shaderProgram,c=n.translucentCommand.renderState),n.translucentCommand=tt.shallowClone(e,n.translucentCommand),!u(a)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=bat(t,e.shaderProgram),n.translucentCommand.renderState=yat(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=a,n.translucentCommand.renderState=c),n}let i,o,r,s;return u(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState,r=n.alphaCommand.shaderProgram,s=n.alphaCommand.renderState),n.translucentCommand=tt.shallowClone(e,n.translucentCommand),n.alphaCommand=tt.shallowClone(e,n.alphaCommand),!u(i)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=Sat(t,e.shaderProgram),n.translucentCommand.renderState=Aat(this,t,e.renderState),n.alphaCommand.shaderProgram=Dat(t,e.shaderProgram),n.alphaCommand.renderState=xat(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o,n.alphaCommand.shaderProgram=r,n.alphaCommand.renderState=s),n};function vat(e,t,n,i,o,r){let s,a,c,{context:l,frameState:f}=t,{useLogDepth:d,shadowState:p}=f,g=t._hdr,m=i.framebuffer,A=p.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(l,i),i.framebuffer=e._adjustAlphaFBO.framebuffer,e._adjustAlphaCommand.execute(l,i);let x=e._opaqueFBO.framebuffer;for(i.framebuffer=e._translucentFBO.framebuffer,c=0;c<o.length;++c)s=o[c],s=d?s.derivedCommands.logDepth.command:s,s=g?s.derivedCommands.hdr.command:s,a=A&&s.receiveShadows?s.derivedCommands.oit.shadows.translucentCommand:s.derivedCommands.oit.translucentCommand,n(a,t,l,i,x);for(u(r)&&(s=r.unclassifiedCommand,a=A&&s.receiveShadows?s.derivedCommands.oit.shadows.translucentCommand:s.derivedCommands.oit.translucentCommand,n(a,t,l,i,x)),i.framebuffer=e._alphaFBO.framebuffer,c=0;c<o.length;++c)s=o[c],s=d?s.derivedCommands.logDepth.command:s,s=g?s.derivedCommands.hdr.command:s,a=A&&s.receiveShadows?s.derivedCommands.oit.shadows.alphaCommand:s.derivedCommands.oit.alphaCommand,n(a,t,l,i,x);u(r)&&(s=r.unclassifiedCommand,a=A&&s.receiveShadows?s.derivedCommands.oit.shadows.alphaCommand:s.derivedCommands.oit.alphaCommand,n(a,t,l,i,x)),i.framebuffer=m}function wat(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:l}=a,f=t._hdr,d=i.framebuffer,p=l.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;let m,A;for(let x=0;x<o.length;++x)m=o[x],m=c?m.derivedCommands.logDepth.command:m,m=f?m.derivedCommands.hdr.command:m,A=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand,n(A,t,s,i,g);u(r)&&(m=r.unclassifiedCommand,A=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand,n(A,t,s,i,g)),i.framebuffer=d}O_.prototype.executeCommands=function(e,t,n,i,o){if(this._translucentMRTSupport){wat(this,e,t,n,i,o);return}vat(this,e,t,n,i,o)};O_.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)};O_.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this._opaqueFBO.framebuffer,z.clone(n,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(e,t)),t.framebuffer=i};O_.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};O_.prototype.isDestroyed=function(){return!1};O_.prototype.destroy=function(){return Bge(this),u(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),u(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),u(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),le(this)};var yN=O_;function AN(){this._framebuffer=new mi({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(AN.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function Iat(e){e._framebuffer.destroy()}function Pat(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i);let o=new La(t);o.blendingEnabled=!1,o.scissorTest={enabled:!0,rectangle:new Ye},o.viewport=new Ye,e._passState=o}AN.prototype.update=function(e,t,n){let i=n.width,o=n.height;this._framebuffer.isDirty(i,o)&&Pat(this,e);let r=this.framebuffer,s=this._passState;return s.framebuffer=r,s.viewport.width=i,s.viewport.height=o,s.scissorTest.rectangle.x=t.x,s.scissorTest.rectangle.y=o-t.y,s.scissorTest.rectangle.width=1,s.scissorTest.rectangle.height=1,s};AN.prototype.isDestroyed=function(){return!1};AN.prototype.destroy=function(){return Iat(this),le(this)};var xN=AN;function TN(e){let t=new La(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new Ye},t.viewport=new Ye,this._context=e,this._fb=new mi({depthStencil:!0}),this._passState=t,this._width=0,this._height=0}TN.prototype.begin=function(e,t){let n=this._context,i=t.width,o=t.height;return Ye.clone(e,this._passState.scissorTest.rectangle),this._width=i,this._height=o,this._fb.update(n,i,o),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=i,this._passState.viewport.height=o,this._passState};var CN=new z;TN.prototype.end=function(e){let t=y(e.width,1),n=y(e.height,1),i=this._context,o=i.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.max(t,n),s=r*r,a=Math.floor(t*.5),c=Math.floor(n*.5),l=0,f=0,d=0,p=-1;for(let g=0;g<s;++g){if(-a<=l&&l<=a&&-c<=f&&f<=c){let m=4*((c-f)*t+l+a);CN.red=z.byteToFloat(o[m]),CN.green=z.byteToFloat(o[m+1]),CN.blue=z.byteToFloat(o[m+2]),CN.alpha=z.byteToFloat(o[m+3]);let A=i.getObjectByPickColor(CN);if(u(A))return A}if(l===f||l<0&&-l===f||l>0&&l===1-f){let m=d;d=-p,p=m}l+=d,f+=p}};TN.prototype.isDestroyed=function(){return!1};TN.prototype.destroy=function(){return this._fb.destroy(),le(this)};var EN=TN;function R_(){this._numSamples=1,this._colorFramebuffer=new mi({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new mi({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new z(0,0,0,0),this._clearCommand=new ii({color:new z(0,0,0,0),depth:1,owner:this})}function Oat(e){e._colorFramebuffer.destroy(),e._idFramebuffer.destroy()}Object.defineProperties(R_.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});R_.prototype.update=function(e,t,n,i){let o=t.width,r=t.height,s=n?e.halfFloatingPointTexture?Xe.HALF_FLOAT:Xe.FLOAT:Xe.UNSIGNED_BYTE;this._numSamples=i,this._colorFramebuffer.update(e,o,r,i,s),this._idFramebuffer.update(e,o,r)};R_.prototype.clear=function(e,t,n){z.clone(n,this._clearCommand.color),z.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(e,this._clearCommand,t),this._idFramebuffer.clear(e,this._clearCommand,t)};R_.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};R_.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};R_.prototype.prepareColorTextures=function(e){this._numSamples>1&&this._colorFramebuffer.prepareTextures(e)};R_.prototype.isDestroyed=function(){return!1};R_.prototype.destroy=function(){return Oat(this),le(this)};var Jx=R_;function Qx(){}Qx.getShadowCastShaderKeyword=function(e,t,n,i){return`castShadow ${e} ${t} ${n} ${i}`};Qx.createShadowCastVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);i.push("SHADOW_MAP"),n&&i.push("GENERATE_POSITION");let r=ke.findPositionVarying(e),s=u(r);if(t&&!s){let a=o.length;for(let l=0;l<a;++l)o[l]=ke.replaceMain(o[l],"czm_shadow_cast_main");let c=`in vec3 v_positionEC; +void main() +{ + czm_shadow_cast_main(); + v_positionEC = (czm_inverseProjection * gl_Position).xyz; +}`;o.push(c)}return new ke({defines:i,sources:o})};Qx.createShadowCastFragmentShader=function(e,t,n,i){let o=e.defines.slice(0),r=e.sources.slice(0);o.push("SHADOW_MAP");let s=ke.findPositionVarying(e),a=u(s);a||(s="v_positionEC");let c=r.length;for(let f=0;f<c;++f)r[f]=ke.replaceMain(r[f],"czm_shadow_cast_main");let l="";return t&&(a||(l+=`in vec3 v_positionEC; +`),l+=`uniform vec4 shadowMap_lightPositionEC; +`),i?l+=`void main() +{ +`:l+=`void main() +{ + czm_shadow_cast_main(); + if (out_FragColor.a == 0.0) + { + discard; + } +`,t?l+=` float distance = length(${s}); + if (distance >= shadowMap_lightPositionEC.w) + { + discard; + } + distance /= shadowMap_lightPositionEC.w; // radius + out_FragColor = czm_packDepth(distance); +`:n?l+=` out_FragColor = vec4(1.0); +`:l+=` out_FragColor = czm_packDepth(gl_FragCoord.z); +`,l+=`} +`,r.push(l),new ke({defines:o,sources:r})};Qx.getShadowReceiveShaderKeyword=function(e,t,n,i){let o=e._usesDepthTexture,r=e._polygonOffsetSupported,s=e._isPointLight,a=e._isSpotLight,c=e._numberOfCascades>1,l=e.debugCascadeColors,f=e.softShadows;return`receiveShadow ${o}${r}${s}${a}${c}${l}${f}${t}${n}${i}`};Qx.createShadowReceiveVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);return i.push("SHADOW_MAP"),t&&(n?i.push("GENERATE_POSITION_AND_NORMAL"):i.push("GENERATE_POSITION")),new ke({defines:i,sources:o})};Qx.createShadowReceiveFragmentShader=function(e,t,n,i,o){let r=ke.findNormalVarying(e),s=!i&&u(r)||i&&o,a=ke.findPositionVarying(e),c=u(a),l=t._usesDepthTexture,f=t._polygonOffsetSupported,d=t._isPointLight,p=t._isSpotLight,g=t._numberOfCascades>1,m=t.debugCascadeColors,A=t.softShadows,x=d?t._pointBias:i?t._terrainBias:t._primitiveBias,C=e.defines.slice(0),T=e.sources.slice(0),E=T.length;for(let w=0;w<E;++w)T[w]=ke.replaceMain(T[w],"czm_shadow_receive_main");d?C.push("USE_CUBE_MAP_SHADOW"):l&&C.push("USE_SHADOW_DEPTH_TEXTURE"),A&&!d&&C.push("USE_SOFT_SHADOWS"),g&&n&&i&&(s?C.push("ENABLE_VERTEX_LIGHTING"):C.push("ENABLE_DAYNIGHT_SHADING")),n&&x.normalShading&&s&&(C.push("USE_NORMAL_SHADING"),x.normalShadingSmooth>0&&C.push("USE_NORMAL_SHADING_SMOOTH"));let S="";d?S+=`uniform samplerCube shadowMap_textureCube; +`:S+=`uniform sampler2D shadowMap_texture; +`;let D;return c?D=` return vec4(${a}, 1.0); +`:D=`#ifndef LOG_DEPTH + return czm_windowToEyeCoordinates(gl_FragCoord); +#else + return vec4(v_logPositionEC, 1.0); +#endif +`,S+=`uniform mat4 shadowMap_matrix; +uniform vec3 shadowMap_lightDirectionEC; +uniform vec4 shadowMap_lightPositionEC; +uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; +uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; +#ifdef LOG_DEPTH +in vec3 v_logPositionEC; +#endif +vec4 getPositionEC() +{ +${D}} +vec3 getNormalEC() +{ +${s?` return normalize(${r}); +`:` return vec3(1.0); +`}} +void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) +{ +${x.normalOffset&&s?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; + float normalOffsetScale = 1.0 - nDotL; + vec3 offset = normalOffset * normalOffsetScale * normalEC; + positionEC.xyz += offset; +`:""}} +`,S+=`void main() +{ + czm_shadow_receive_main(); + vec4 positionEC = getPositionEC(); + vec3 normalEC = getNormalEC(); + float depth = -positionEC.z; +`,S+=` czm_shadowParameters shadowParameters; + shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; + shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; + shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; + shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; +`,i?S+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); +`:f||(S+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); +`),d?S+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; + float distance = length(directionEC); + directionEC = normalize(directionEC); + float radius = shadowMap_lightPositionEC.w; + // Stop early if the fragment is beyond the point light radius + if (distance > radius) + { + return; + } + vec3 directionWC = czm_inverseViewRotation * directionEC; + shadowParameters.depth = distance / radius; + shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); + shadowParameters.texCoords = directionWC; + float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); +`:p?S+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); + float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + vec4 shadowPosition = shadowMap_matrix * positionEC; + // Spot light uses a perspective projection, so perform the perspective divide + shadowPosition /= shadowPosition.w; + // Stop early if the fragment is not in the shadow bounds + if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) + { + return; + } + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); +`:g?S+=` float maxDepth = shadowMap_cascadeSplits[1].w; + // Stop early if the eye depth exceeds the last cascade + if (depth > maxDepth) + { + return; + } + // Get the cascade based on the eye-space depth + vec4 weights = czm_cascadeWeights(depth); + // Apply normal offset + float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + // Transform position into the cascade + vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; + // Get visibility + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); + // Fade out shadows that are far away + float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; + float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); + visibility = mix(visibility, 1.0, fade); +${m?` // Draw cascade colors for debugging + out_FragColor *= czm_cascadeColor(weights); +`:""}`:S+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + vec4 shadowPosition = shadowMap_matrix * positionEC; + // Stop early if the fragment is not in the shadow bounds + if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) + { + return; + } + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); +`,S+=` out_FragColor.rgb *= visibility; +} +`,T.push(S),new ke({defines:C,sources:T})};var _m=Qx;function gm(e){e=y(e,y.EMPTY_OBJECT);let t=e.context;this._enabled=y(e.enabled,!0),this._softShadows=y(e.softShadows,!1),this._normalOffset=y(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=y(e.fromLightSource,!0),this.darkness=y(e.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=y(e.fadingEnabled,!0),this.maximumDistance=y(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let n=!0;(Vt.isInternetExplorer()||Vt.isEdge()||(Vt.isChrome()||Vt.isFirefox())&&Vt.isWindows()&&!t.depthTexture)&&(n=!1),this._polygonOffsetSupported=n,this._terrainBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new M,this._shadowMapTexture=void 0,this._lightDirectionEC=new h,this._lightPositionEC=new oe,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new D4,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new se,this._isPointLight=y(e.isPointLight,!1),this._pointLightRadius=y(e.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:y(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?y(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new H,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Tr:u(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new oe,new oe],this._cascadeMatrices=[new M,new M,new M,new M],this._cascadeDistances=new oe;let i;this._isPointLight?i=6:this._cascadesEnabled?i=this._numberOfCascades:i=1,this._passes=new Array(i);for(let o=0;o<i;++o)this._passes[o]=new Rat(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,tq(this),this._clearCommand=new ii({depth:1,color:new z}),this._clearPassState=new La(t),this._size=y(e.size,2048),this.size=this._size}gm.MAXIMUM_DISTANCE=2e4;function Rat(e){this.camera=new D4,this.passState=new La(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function eq(e,t){return Ue.fromCache({cull:{enabled:!0,face:gi.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function tq(e){let t=!e._usesDepthTexture;e._primitiveRenderState=eq(t,e._primitiveBias),e._terrainRenderState=eq(t,e._terrainBias),e._pointRenderState=eq(t,e._pointBias)}gm.prototype.debugCreateRenderStates=function(){tq(this)};Object.defineProperties(gm.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){Vat(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});function nq(e){let t=e._passes.length;for(let n=0;n<t;++n){let i=e._passes[n],o=i.framebuffer;u(o)&&!o.isDestroyed()&&o.destroy(),i.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function Bat(e,t){let n=new Ul({context:t,width:e._textureSize.x,height:e._textureSize.y,format:_c.DEPTH_COMPONENT16}),i=new It({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,sampler:ln.NEAREST}),o=new Ns({context:t,depthRenderbuffer:n,colorTextures:[i],destroyAttachments:!1}),r=e._passes.length;for(let s=0;s<r;++s){let a=e._passes[s];a.framebuffer=o,a.passState.framebuffer=o}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function Mat(e,t){let n=new It({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:rt.DEPTH_STENCIL,pixelDatatype:Xe.UNSIGNED_INT_24_8,sampler:ln.NEAREST}),i=new Ns({context:t,depthStencilTexture:n,destroyAttachments:!1}),o=e._passes.length;for(let r=0;r<o;++r){let s=e._passes[r];s.framebuffer=i,s.passState.framebuffer=i}e._shadowMapTexture=n,e._depthAttachment=n}function Lat(e,t){let n=new Ul({context:t,width:e._textureSize.x,height:e._textureSize.y,format:_c.DEPTH_COMPONENT16}),i=new Ma({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,sampler:ln.NEAREST}),o=[i.negativeX,i.negativeY,i.negativeZ,i.positiveX,i.positiveY,i.positiveZ];for(let r=0;r<6;++r){let s=new Ns({context:t,depthRenderbuffer:n,colorTextures:[o[r]],destroyAttachments:!1}),a=e._passes[r];a.framebuffer=s,a.passState.framebuffer=s}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function Nge(e,t){e._isPointLight?Lat(e,t):e._usesDepthTexture?Mat(e,t):Bat(e,t)}function Nat(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==ee.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,tq(e),nq(e),Nge(e,t))}function Fat(e,t){(!u(e._passes[0].framebuffer)||e._shadowMapTexture.width!==e._textureSize.x)&&(nq(e),Nge(e,t),Nat(e,t),Fge(e,t))}function Fge(e,t,n){n=y(n,0),(e._isPointLight||n===0)&&(e._clearCommand.framebuffer=e._passes[n].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function Vat(e,t){e._size=t;let n=e._passes,i=n.length,o=e._textureSize;if(e._isPointLight){t=Ft.maximumCubeMapSize>=t?t:Ft.maximumCubeMapSize,o.x=t,o.y=t;let r=new Ye(0,0,t,t);n[0].passState.viewport=r,n[1].passState.viewport=r,n[2].passState.viewport=r,n[3].passState.viewport=r,n[4].passState.viewport=r,n[5].passState.viewport=r}else i===1?(t=Ft.maximumTextureSize>=t?t:Ft.maximumTextureSize,o.x=t,o.y=t,n[0].passState.viewport=new Ye(0,0,t,t)):i===4&&(t=Ft.maximumTextureSize>=t*2?t:Ft.maximumTextureSize/2,o.x=t*2,o.y=t*2,n[0].passState.viewport=new Ye(0,0,t,t),n[1].passState.viewport=new Ye(t,0,t,t),n[2].passState.viewport=new Ye(0,t,t,t),n[3].passState.viewport=new Ye(t,t,t,t));e._clearPassState.viewport=new Ye(0,0,o.x,o.y);for(let r=0;r<i;++r){let s=n[r],a=s.passState.viewport,c=a.x/o.x,l=a.y/o.y,f=a.width/o.x,d=a.height/o.y;s.textureOffsets=new M(f,0,0,c,0,d,0,l,0,0,1,0,0,0,0,1)}}var Uat=new Ye;function kat(e,t){let n;e._isPointLight?n=`uniform samplerCube shadowMap_textureCube; +in vec2 v_textureCoordinates; +void main() +{ + vec2 uv = v_textureCoordinates; + vec3 dir; + + if (uv.y < 0.5) + { + if (uv.x < 0.333) + { + dir.x = -1.0; + dir.y = uv.x * 6.0 - 1.0; + dir.z = uv.y * 4.0 - 1.0; + } + else if (uv.x < 0.666) + { + dir.y = -1.0; + dir.x = uv.x * 6.0 - 3.0; + dir.z = uv.y * 4.0 - 1.0; + } + else + { + dir.z = -1.0; + dir.x = uv.x * 6.0 - 5.0; + dir.y = uv.y * 4.0 - 1.0; + } + } + else + { + if (uv.x < 0.333) + { + dir.x = 1.0; + dir.y = uv.x * 6.0 - 1.0; + dir.z = uv.y * 4.0 - 3.0; + } + else if (uv.x < 0.666) + { + dir.y = 1.0; + dir.x = uv.x * 6.0 - 3.0; + dir.z = uv.y * 4.0 - 3.0; + } + else + { + dir.z = 1.0; + dir.x = uv.x * 6.0 - 5.0; + dir.y = uv.y * 4.0 - 3.0; + } + } + + float shadow = czm_unpackDepth(czm_textureCube(shadowMap_textureCube, dir)); + out_FragColor = vec4(vec3(shadow), 1.0); +} +`:n=`uniform sampler2D shadowMap_texture; +in vec2 v_textureCoordinates; +void main() +{ +${e._usesDepthTexture?` float shadow = texture(shadowMap_texture, v_textureCoordinates).r; +`:` float shadow = czm_unpackDepth(texture(shadowMap_texture, v_textureCoordinates)); +`} out_FragColor = vec4(vec3(shadow), 1.0); +} +`;let i=t.createViewportQuadCommand(n,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=Ee.OVERLAY,i}function zat(e,t){let n=t.context,i=t.context.drawingBufferWidth,o=t.context.drawingBufferHeight,r=Math.min(i,o)*.3,s=Uat;s.x=i-r,s.y=0,s.width=r,s.height=r;let a=e._debugShadowViewCommand;u(a)||(a=kat(e,n),e._debugShadowViewCommand=a),(!u(a.renderState)||!Ye.equals(a.renderState.viewport,s))&&(a.renderState=Ue.fromCache({viewport:Ye.clone(s)})),t.commandList.push(e._debugShadowViewCommand)}var ym=new Array(8);ym[0]=new oe(-1,-1,-1,1);ym[1]=new oe(1,-1,-1,1);ym[2]=new oe(1,1,-1,1);ym[3]=new oe(-1,1,-1,1);ym[4]=new oe(-1,-1,1,1);ym[5]=new oe(1,-1,1,1);ym[6]=new oe(1,1,1,1);ym[7]=new oe(-1,1,1,1);var Gy=new M,iq=new Array(8);for(let e=0;e<8;++e)iq[e]=new oe;function Hat(e,t){let n=new At({geometry:new Xf({minimum:new h(-.5,-.5,-.5),maximum:new h(.5,.5,.5)}),attributes:{color:Nt.fromColor(t)}}),i=new At({geometry:new Wp({radius:.5}),attributes:{color:Nt.fromColor(t)}});return new Dn({geometryInstances:[n,i],appearance:new on({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}var Gat=[z.RED,z.GREEN,z.BLUE,z.MAGENTA],Wat=new h;function jat(e,t){zat(e,t);let n=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(n&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new dm({camera:e._sceneCamera,color:z.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){n&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new dm({camera:e._shadowMapCamera,color:z.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(let i=0;i<e._numberOfCascades;++i)n&&(e._debugCascadeFrustums[i]=e._debugCascadeFrustums[i]&&e._debugCascadeFrustums[i].destroy(),e._debugCascadeFrustums[i]=new dm({camera:e._passes[i].camera,color:Gat[i],updateOnChange:!1})),e._debugCascadeFrustums[i].update(t)}}else if(e._isPointLight){if(!u(e._debugLightFrustum)||e._needsUpdate){let i=e._shadowMapCamera.positionWC,o=Le.IDENTITY,r=e._pointLightRadius*2,s=h.fromElements(r,r,r,Wat),a=M.fromTranslationQuaternionRotationScale(i,o,s,Gy);e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=Hat(a,z.YELLOW)}e._debugLightFrustum.update(t)}else(!u(e._debugLightFrustum)||e._needsUpdate)&&(e._debugLightFrustum=new dm({camera:e._shadowMapCamera,color:z.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function D4(){this.viewMatrix=new M,this.inverseViewMatrix=new M,this.frustum=void 0,this.positionCartographic=new he,this.positionWC=new h,this.directionWC=h.clone(h.UNIT_Z),this.upWC=h.clone(h.UNIT_Y),this.rightWC=h.clone(h.UNIT_X),this.viewProjectionMatrix=new M}D4.prototype.clone=function(e){M.clone(e.viewMatrix,this.viewMatrix),M.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),he.clone(e.positionCartographic,this.positionCartographic),h.clone(e.positionWC,this.positionWC),h.clone(e.directionWC,this.directionWC),h.clone(e.upWC,this.upWC),h.clone(e.rightWC,this.rightWC)};var Yat=new M(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);D4.prototype.getViewProjection=function(){let e=this.viewMatrix,t=this.frustum.projectionMatrix;return M.multiply(t,e,this.viewProjectionMatrix),M.multiply(Yat,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};var qat=new Array(5),Xat=new Ti,Kat=new Array(4),Vge=new h,Uge=new h;function Zat(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=i.frustum.near,r=i.frustum.far,s=e._numberOfCascades,a,c=r-o,l=r/o,f=.9,d=!1;t.shadowState.closestObjectSize<200&&(d=!0,f=.9);let p=Kat,g=qat;for(g[0]=o,g[s]=r,a=0;a<s;++a){let N=(a+1)/s,_=o*Math.pow(l,N),b=o+c*N,v=P.lerp(b,_,f);g[a+1]=v,p[a]=v-g[a]}if(d){for(a=0;a<s;++a)p[a]=Math.min(p[a],e._maximumCascadeDistances[a]);let N=g[0];for(a=0;a<s-1;++a)N+=p[a],g[a+1]=N}oe.unpack(g,0,e._cascadeSplits[0]),oe.unpack(g,1,e._cascadeSplits[1]),oe.unpack(p,0,e._cascadeDistances);let m=n.frustum,A=m.left,x=m.right,C=m.bottom,T=m.top,E=m.near,S=m.far,D=n.positionWC,w=n.directionWC,R=n.upWC,O=i.frustum.clone(Xat),L=n.getViewProjection();for(a=0;a<s;++a){O.near=g[a],O.far=g[a+1];let N=M.multiply(O.projectionMatrix,i.viewMatrix,Gy),_=M.inverse(N,Gy),b=M.multiply(L,_,Gy),v=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Vge),I=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Uge);for(let G=0;G<8;++G){let V=oe.clone(ym[G],iq[G]);M.multiplyByVector(b,V,V),h.divideByScalar(V,V.w,V),h.minimumByComponent(V,v,v),h.maximumByComponent(V,I,I)}v.x=Math.max(v.x,0),v.y=Math.max(v.y,0),v.z=0,I.x=Math.min(I.x,1),I.y=Math.min(I.y,1),I.z=Math.min(I.z,1);let B=e._passes[a],F=B.camera;F.clone(n);let k=F.frustum;k.left=A+v.x*(x-A),k.right=A+I.x*(x-A),k.bottom=C+v.y*(T-C),k.top=C+I.y*(T-C),k.near=E+v.z*(S-E),k.far=E+I.z*(S-E),B.cullingVolume=F.frustum.computeCullingVolume(D,w,R);let U=e._cascadeMatrices[a];M.multiply(F.getViewProjection(),i.inverseViewMatrix,U),M.multiply(B.textureOffsets,U,U)}}var Jat=new M,Qat=new h,$at=new h,Mge=new h;function ect(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=M.multiply(i.frustum.projectionMatrix,i.viewMatrix,Gy),r=M.inverse(o,Gy),s=n.directionWC,a=i.directionWC;h.equalsEpsilon(s,a,P.EPSILON10)&&(a=i.upWC);let c=h.cross(s,a,Qat);a=h.cross(c,s,$at),h.normalize(a,a),h.normalize(c,c);let l=h.fromElements(0,0,0,Mge),f=M.computeView(l,s,a,c,Jat),d=M.multiply(f,r,Gy),p=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Vge),g=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Uge);for(let S=0;S<8;++S){let D=oe.clone(ym[S],iq[S]);M.multiplyByVector(d,D,D),h.divideByScalar(D,D.w,D),h.minimumByComponent(D,p,p),h.maximumByComponent(D,g,g)}g.z+=1e3,p.z-=10;let m=Mge;m.x=-(.5*(p.x+g.x)),m.y=-(.5*(p.y+g.y)),m.z=-g.z;let A=M.fromTranslation(m,Gy);f=M.multiply(A,f,f);let x=.5*(g.x-p.x),C=.5*(g.y-p.y),T=g.z-p.z,E=n.frustum;E.left=-x,E.right=x,E.bottom=-C,E.top=C,E.near=.01,E.far=T,M.clone(f,n.viewMatrix),M.inverse(f,n.inverseViewMatrix),M.getTranslation(n.inverseViewMatrix,n.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),h.clone(s,n.directionWC),h.clone(a,n.upWC),h.clone(c,n.rightWC)}var tct=[new h(-1,0,0),new h(0,-1,0),new h(0,0,-1),new h(1,0,0),new h(0,1,0),new h(0,0,1)],nct=[new h(0,-1,0),new h(0,0,-1),new h(0,-1,0),new h(0,-1,0),new h(0,0,1),new h(0,-1,0)],ict=[new h(0,0,1),new h(1,0,0),new h(-1,0,0),new h(0,0,-1),new h(1,0,0),new h(1,0,0)];function oct(e,t){let n=new Ti;n.fov=P.PI_OVER_TWO,n.near=1,n.far=e._pointLightRadius,n.aspectRatio=1;for(let i=0;i<6;++i){let o=e._passes[i].camera;o.positionWC=e._shadowMapCamera.positionWC,o.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(o.positionWC,o.positionCartographic),o.directionWC=tct[i],o.upWC=nct[i],o.rightWC=ict[i],M.computeView(o.positionWC,o.directionWC,o.upWC,o.rightWC,o.viewMatrix),M.inverse(o.viewMatrix,o.inverseViewMatrix),o.frustum=n}}var rct=new h,sct=new h,kge=new se,Lge=kge.center;function act(e,t){let n=e._sceneCamera,i=e._shadowMapCamera,o=kge;if(e._cascadesEnabled){if(n.frustum.near>=e.maximumDistance){e._outOfView=!0,e._needsUpdate=!1;return}let r=t.mapProjection.ellipsoid.geodeticSurfaceNormal(n.positionWC,rct),s=h.negate(i.directionWC,sct),a=h.dot(r,s);if(e.fadingEnabled){let c=P.clamp(a/.1,0,1);e._darkness=P.lerp(1,e.darkness,c)}else e._darkness=e.darkness;if(a<0){e._outOfView=!0,e._needsUpdate=!1;return}e._needsUpdate=!0,e._outOfView=!1}else if(e._isPointLight)o.center=i.positionWC,o.radius=e._pointLightRadius,e._outOfView=t.cullingVolume.computeVisibility(o)===Qt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),se.clone(o,e._boundingSphere);else{let r=i.frustum.far/2,s=h.add(i.positionWC,h.multiplyByScalar(i.directionWC,r,Lge),Lge);o.center=s,o.radius=r,e._outOfView=t.cullingVolume.computeVisibility(o)===Qt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),se.clone(o,e._boundingSphere)}}function cct(e,t){let n=t.camera,i=e._lightCamera,o=e._sceneCamera,r=e._shadowMapCamera;e._cascadesEnabled?h.clone(i.directionWC,r.directionWC):e._isPointLight?h.clone(i.positionWC,r.positionWC):r.clone(i);let s=e._lightDirectionEC;M.multiplyByPointAsVector(n.viewMatrix,r.directionWC,s),h.normalize(s,s),h.negate(s,s),M.multiplyByPoint(n.viewMatrix,r.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius;let a,c;e._fitNearFar?(a=Math.min(t.shadowState.nearPlane,e.maximumDistance),c=Math.min(t.shadowState.farPlane,e.maximumDistance),c=Math.max(c,a+1)):(a=n.frustum.near,c=e.maximumDistance),e._sceneCamera=ro.clone(n,o),n.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=a,e._sceneCamera.frustum.far=c,e._distance=c-a,act(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}gm.prototype.update=function(e){if(cct(this,e),this._needsUpdate)if(Fat(this,e.context),this._isPointLight&&oct(this,e),this._cascadesEnabled&&(ect(this,e),this._numberOfCascades>1&&Zat(this,e)),this._isPointLight)this._shadowMapCullingVolume=$r.fromBoundingSphere(this._boundingSphere);else{let t=this._shadowMapCamera,n=t.positionWC,i=t.directionWC,o=t.upWC;this._shadowMapCullingVolume=t.frustum.computeCullingVolume(n,i,o),this._passes.length===1&&this._passes[0].camera.clone(t)}if(this._passes.length===1){let t=this._sceneCamera.inverseViewMatrix;M.multiply(this._shadowMapCamera.getViewProjection(),t,this._shadowMapMatrix)}this.debugShow&&jat(this,e)};gm.prototype.updatePass=function(e,t){Fge(this,e,t)};var lct=new H;function zge(e,t,n){let i=e._isPointLight?e._pointBias:n?e._terrainBias:e._primitiveBias,o={shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture},shadowMap_matrix:function(){return e._shadowMapMatrix},shadowMap_cascadeSplits:function(){return e._cascadeSplits},shadowMap_cascadeMatrices:function(){return e._cascadeMatrices},shadowMap_lightDirectionEC:function(){return e._lightDirectionEC},shadowMap_lightPositionEC:function(){return e._lightPositionEC},shadowMap_cascadeDistances:function(){return e._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let r=lct;return r.x=1/e._textureSize.x,r.y=1/e._textureSize.y,oe.fromElements(r.x,r.y,i.depthBias,i.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return oe.fromElements(i.normalOffsetScale,e._distance,e.maximumDistance,e._darkness,this.combinedUniforms2)},combinedUniforms1:new oe,combinedUniforms2:new oe};return _t(t,o,!1)}function uct(e,t,n,i,o,r){let s,a,c;if(u(r)&&(s=r.shaderProgram,a=r.renderState,c=r.uniformMap),r=tt.shallowClone(n,r),r.castShadows=!0,r.receiveShadows=!1,!u(s)||o!==n.shaderProgram.id||t){let l=n.shaderProgram,f=n.pass===Ee.GLOBE,d=n.pass!==Ee.TRANSLUCENT,p=e._isPointLight,g=e._usesDepthTexture,m=_m.getShadowCastShaderKeyword(p,f,g,d);if(s=i.shaderCache.getDerivedShaderProgram(l,m),!u(s)){let x=l.vertexShaderSource,C=l.fragmentShaderSource,T=_m.createShadowCastVertexShader(x,p,f),E=_m.createShadowCastFragmentShader(C,p,g,d);s=i.shaderCache.createDerivedShaderProgram(l,m,{vertexShaderSource:T,fragmentShaderSource:E,attributeLocations:l._attributeLocations})}a=e._primitiveRenderState,p?a=e._pointRenderState:f&&(a=e._terrainRenderState),n.renderState.cull.enabled||(a=Ge(a,!1),a.cull=Ge(a.cull,!1),a.cull.enabled=!1,a=Ue.fromCache(a)),c=zge(e,n.uniformMap,f)}return r.shaderProgram=s,r.renderState=a,r.uniformMap=c,r}gm.createReceiveDerivedCommand=function(e,t,n,i,o){u(o)||(o={});let r=e.length>0,s=t.shaderProgram,a=s.vertexShaderSource,c=s.fragmentShaderSource,l=t.pass===Ee.GLOBE,f=!1;if(l&&(f=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&r){let d,p;u(o.receiveCommand)&&(d=o.receiveCommand.shaderProgram,p=o.receiveCommand.uniformMap),o.receiveCommand=tt.shallowClone(t,o.receiveCommand),o.castShadows=!1,o.receiveShadows=!0;let g=o.receiveShaderCastShadows!==t.castShadows,m=o.receiveShaderProgramId!==t.shaderProgram.id;if(!u(d)||m||n||g){let A=_m.getShadowReceiveShaderKeyword(e[0],t.castShadows,l,f);if(d=i.shaderCache.getDerivedShaderProgram(s,A),!u(d)){let x=_m.createShadowReceiveVertexShader(a,l,f),C=_m.createShadowReceiveFragmentShader(c,e[0],t.castShadows,l,f);d=i.shaderCache.createDerivedShaderProgram(s,A,{vertexShaderSource:x,fragmentShaderSource:C,attributeLocations:s._attributeLocations})}p=zge(e[0],t.uniformMap,l)}o.receiveCommand.shaderProgram=d,o.receiveCommand.uniformMap=p,o.receiveShaderProgramId=t.shaderProgram.id,o.receiveShaderCastShadows=t.castShadows}return o};gm.createCastDerivedCommand=function(e,t,n,i,o){if(u(o)||(o={}),t.castShadows){let r=o.castCommands;u(r)||(r=o.castCommands=[]);let s=o.castShaderProgramId,a=e.length;r.length=a;for(let c=0;c<a;++c)r[c]=uct(e[c],n,t,i,s,r[c]);o.castShaderProgramId=t.shaderProgram.id}return o};gm.prototype.isDestroyed=function(){return!1};gm.prototype.destroy=function(){nq(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(let e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return le(this)};var B_=gm;var $x=`uniform sampler2D colorTexture; + +#ifdef DEBUG_SHOW_DEPTH +uniform sampler2D u_packedTranslucentDepth; +#endif + +in vec2 v_textureCoordinates; + +void main() +{ +#ifdef DEBUG_SHOW_DEPTH + if (v_textureCoordinates.x < 0.5) + { + out_FragColor.rgb = vec3(czm_unpackDepth(texture(u_packedTranslucentDepth, v_textureCoordinates))); + out_FragColor.a = 1.0; + } +#else + vec4 color = texture(colorTexture, v_textureCoordinates); + +#ifdef PICK + if (color == vec4(0.0)) + { + discard; + } +#else + // Reverse premultiplication process to get the correct composited result of the classification primitives + color.rgb /= color.a; +#endif + out_FragColor = color; +#endif +} +`;var fct=!1;function Wy(e){this._drawClassificationFBO=new mi({createDepthAttachments:!1}),this._accumulationFBO=new mi({createDepthAttachments:!1}),this._packFBO=new mi,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new ii({color:new z(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new ii({depth:1,stencil:0,owner:this}),this._supported=e.depthTexture,this._viewport=new Ye,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(Wy.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function Hge(e){e._textureToComposite=void 0,e._translucentDepthStencilTexture=e._translucentDepthStencilTexture&&!e._translucentDepthStencilTexture.isDestroyed()&&e._translucentDepthStencilTexture.destroy()}function Gge(e){e._drawClassificationFBO.destroy(),e._accumulationFBO.destroy(),e._packFBO.destroy()}function dct(e,t,n,i){Hge(e),e._translucentDepthStencilTexture=new It({context:t,width:n,height:i,pixelFormat:rt.DEPTH_STENCIL,pixelDatatype:Xe.UNSIGNED_INT_24_8,sampler:ln.NEAREST})}function hct(e,t,n,i){Gge(e),e._drawClassificationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._drawClassificationFBO.update(t,n,i),e._accumulationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._accumulationFBO.update(t,n,i),e._packFBO.update(t,n,i)}function mct(e,t,n,i){if(!e.isSupported())return;e._opaqueDepthStencilTexture=i;let o=e._opaqueDepthStencilTexture.width,r=e._opaqueDepthStencilTexture.height;e._drawClassificationFBO.isDirty(o,r)&&(dct(e,t,o,r),hct(e,t,o,r));let s,a;if(u(e._packDepthCommand)||(s=new ke({sources:[NM]}),a={u_opaqueDepthTexture:function(){return e._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return e._translucentDepthStencilTexture}},e._packDepthCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),!u(e._compositeCommand)){s=new ke({sources:[$x]}),a={colorTexture:function(){return e._textureToComposite}},fct&&(s.defines=["DEBUG_SHOW_DEPTH"],a.u_packedTranslucentDepth=function(){return e._packFBO.getColorTexture()}),e._compositeCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e});let f=e._compositeCommand,d=f.shaderProgram,p=t.shaderCache.createDerivedShaderProgram(d,"pick",{vertexShaderSource:d.vertexShaderSource,fragmentShaderSource:new ke({sources:s.sources,defines:["PICK"]}),attributeLocations:d._attributeLocations}),g=tt.shallowClone(f);g.shaderProgram=p,f.derivedCommands.pick=g}u(e._copyCommand)||(s=new ke({sources:[$x]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._copyCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),u(e._accumulateCommand)||(s=new ke({sources:[$x]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._accumulateCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),e._viewport.width=o,e._viewport.height=r;let c=!Ye.equals(e._viewport,n.viewport),l=c!==e._useScissorTest;e._useScissorTest=c,Ye.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=Ye.clone(n.viewport,e._scissorRectangle),l=!0),(!u(e._rsDepth)||!Ye.equals(e._viewport,e._rsDepth.viewport)||l)&&(e._rsDepth=Ue.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),u(e._packDepthCommand)&&(e._packDepthCommand.renderState=e._rsDepth),(!u(e._rsAccumulate)||!Ye.equals(e._viewport,e._rsAccumulate.viewport)||l)&&(e._rsAccumulate=Ue.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:kn.EQUAL,reference:Bt.CESIUM_3D_TILE_MASK}})),u(e._accumulateCommand)&&(e._accumulateCommand.renderState=e._rsAccumulate),(!u(e._rsComp)||!Ye.equals(e._viewport,e._rsComp.viewport)||l)&&(e._rsComp=Ue.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:un.ALPHA_BLEND})),u(e._compositeCommand)&&(e._compositeCommand.renderState=e._rsComp,e._compositeCommand.derivedCommands.pick.renderState=e._rsComp)}Wy.prototype.executeTranslucentCommands=function(e,t,n,i,o){let r=i.length,s,a,c=e.frameState.useLogDepth,l=e.context,f=n.framebuffer;for(a=0;a<r;++a)if(s=i[a],s=c?s.derivedCommands.logDepth.command:s,s.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}if(this._hasTranslucentDepth){for(mct(this,l,n,o),n.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(l,n),a=0;a<r;++a){if(s=i[a],s=c?s.derivedCommands.logDepth.command:s,!s.depthForTranslucentClassification)continue;let d=s.derivedCommands.depth.depthOnlyCommand;t(d,e,l,n)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(n.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(l,n)),n.framebuffer=f}};Wy.prototype.executeClassificationCommands=function(e,t,n,i){if(!this._hasTranslucentDepth)return;let o=e.context,r=o.uniformState,s=n.framebuffer;this._frustumsDrawn===2&&(n.framebuffer=this._accumulationFBO.framebuffer,this._copyCommand.execute(o,n)),n.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(o,n),r.updatePass(Ee.CESIUM_3D_TILE_CLASSIFICATION);let a=r.globeDepthTexture;r.globeDepthTexture=this._packFBO.getColorTexture();let c=i.commands[Ee.CESIUM_3D_TILE_CLASSIFICATION],l=i.indices[Ee.CESIUM_3D_TILE_CLASSIFICATION];for(let f=0;f<l;++f)t(c[f],e,o,n);r.globeDepthTexture=a,n.framebuffer=s,this._frustumsDrawn!==1&&(n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=s)};Wy.prototype.execute=function(e,t){if(!this._hasTranslucentDepth)return;this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(e.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(e.context,t),pct(this,e,t)};function pct(e,t,n){if(!e._hasTranslucentDepth)return;let i=n.framebuffer;n.framebuffer=e._drawClassificationFBO.framebuffer,e._clearColorCommand.execute(t._context,n),n.framebuffer=i,e._frustumsDrawn>1&&(n.framebuffer=e._accumulationFBO.framebuffer,e._clearColorCommand.execute(t._context,n)),e._hasTranslucentDepth=!1,e._frustumsDrawn=0}Wy.prototype.isSupported=function(){return this._supported};Wy.prototype.isDestroyed=function(){return!1};Wy.prototype.destroy=function(){return Hge(this),Gge(this),u(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),u(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),le(this)};var bN=Wy;function _ct(){this.command=void 0,this.near=void 0,this.far=void 0}function v4(e,t,n){let i=e.context,o;i.depthTexture&&(o=new _N);let r;e._useOIT&&i.depthTexture&&(r=new yN(i));let s=new La(i);s.viewport=Ye.clone(n),this.camera=t,this._cameraClone=ro.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=n,this.passState=s,this.pickFramebuffer=new EN(i),this.pickDepthFramebuffer=new xN,this.sceneFramebuffer=new Jx,this.globeDepth=o,this.globeTranslucencyFramebuffer=new gN,this.oit=r,this.translucentTileClassification=new bN(i),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var Wge=new h,jge=new h;function gct(e,t){let n=Math.max(Math.abs(e.x),Math.abs(t.x)),i=Math.max(Math.abs(e.y),Math.abs(t.y)),o=Math.max(Math.abs(e.z),Math.abs(t.z));return Math.max(Math.max(n,i),o)}function yct(e,t,n){let i=1/Math.max(1,gct(e.position,t.position));return h.multiplyByScalar(e.position,i,Wge),h.multiplyByScalar(t.position,i,jge),h.equalsEpsilon(Wge,jge,n)&&h.equalsEpsilon(e.direction,t.direction,n)&&h.equalsEpsilon(e.up,t.up,n)&&h.equalsEpsilon(e.right,t.right,n)&&M.equalsEpsilon(e.transform,t.transform,n)&&e.frustum.equalsEpsilon(t.frustum,n)}v4.prototype.checkForCameraUpdates=function(e){let t=this.camera,n=this._cameraClone;return yct(t,n,P.EPSILON15)?(this._cameraStartFired&&di()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=di(),ro.clone(t,n),!0)};function Act(e,t,n,i){let o=t.frameState,r=o.camera,s=o.useLogDepth?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,a=t.mode===te.SCENE2D,c=t.nearToFarDistance2D;i*=1+P.EPSILON2,n=Math.min(Math.max(n,r.frustum.near),r.frustum.far),i=Math.max(Math.min(i,r.frustum.far),n);let l;a?(i=Math.min(i,r.position.z+t.nearToFarDistance2D),n=Math.min(n,i),l=Math.ceil(Math.max(1,i-n)/t.nearToFarDistance2D)):l=Math.ceil(Math.log(i/n)/Math.log(s));let f=e.frustumCommandsList;f.length=l;for(let d=0;d<l;++d){let p,g;a?(p=Math.min(i-c,n+d*c),g=Math.min(i,p+c)):(p=Math.max(n,Math.pow(s,d)*n),g=Math.min(i,s*p));let m=f[d];u(m)?(m.near=p,m.far=g):m=f[d]=new pN(p,g)}}function xct(e,t,n,i,o){t.debugShowFrustums&&(n.debugOverlappingFrustums=0);let r=e.frustumCommandsList,s=r.length;for(let a=0;a<s;++a){let c=r[a],l=c.near,f=c.far;if(i>f)continue;if(o<l)break;let d=n.pass,p=c.indices[d]++;if(c.commands[d][p]=n,t.debugShowFrustums&&(n.debugOverlappingFrustums|=1<<a),n.executeInClosestFrustum)break}if(t.debugShowFrustums){let a=e.debugFrustumStatistics.commandsInFrustums;a[n.debugOverlappingFrustums]=u(a[n.debugOverlappingFrustums])?a[n.debugOverlappingFrustums]+1:1,++e.debugFrustumStatistics.totalCommands}t.updateDerivedCommands(n)}var Yge=new $r,Cct=new yc;v4.prototype.createPotentiallyVisibleSet=function(e){let t=e.frameState,n=t.camera,i=n.directionWC,o=n.positionWC,r=e._computeCommandList,s=e._overlayCommandList,a=t.commandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let c=this.frustumCommandsList,l=c.length,f=Ee.NUMBER_OF_PASSES;for(let b=0;b<l;++b)for(let v=0;v<f;++v)c[b].indices[v]=0;r.length=0,s.length=0;let d=this._commandExtents,p=d.length,g=0,m=+Number.MAX_VALUE,A=-Number.MAX_VALUE,x=t.shadowState.shadowsEnabled,C=+Number.MAX_VALUE,T=-Number.MAX_VALUE,E=Number.MAX_VALUE,S=t.mode===te.SCENE3D?t.occluder:void 0,D=t.cullingVolume,w=Yge.planes;for(let b=0;b<5;++b)w[b]=D.planes[b];D=Yge;let R=a.length;for(let b=0;b<R;++b){let v=a[b],I=v.pass;if(I===Ee.COMPUTE)r.push(v);else if(I===Ee.OVERLAY)s.push(v);else{let B,F,k=v.boundingVolume;if(u(k)){if(!e.isVisible(v,D,S))continue;let G=k.computePlaneDistances(o,i,Cct);if(B=G.start,F=G.stop,m=Math.min(m,B),A=Math.max(A,F),x&&v.receiveShadows&&B<B_.MAXIMUM_DISTANCE&&!(I===Ee.GLOBE&&B<-100&&F>100)){let V=F-B;I!==Ee.GLOBE&&B<100&&(E=Math.min(E,V)),C=Math.min(C,B),T=Math.max(T,F)}}else v instanceof ii?(B=n.frustum.near,F=n.frustum.far):(B=n.frustum.near,F=n.frustum.far,m=Math.min(m,B),A=Math.max(A,F));let U=d[g];u(U)||(U=d[g]=new _ct),U.command=v,U.near=B,U.far=F,g++}}x&&(C=Math.min(Math.max(C,n.frustum.near),n.frustum.far),T=Math.max(Math.min(T,n.frustum.far),C)),x&&(t.shadowState.nearPlane=C,t.shadowState.farPlane=T,t.shadowState.closestObjectSize=E),Act(this,e,m,A);let O,L;for(O=0;O<g;O++)L=d[O],xct(this,e,L.command,L.near,L.far);if(g<p)for(O=g;O<p&&(L=d[O],!!u(L.command));O++)L.command=void 0;let N=c.length,_=t.frustumSplits;_.length=N+1;for(let b=0;b<N;++b)_[b]=c[b].near,b===N-1&&(_[b+1]=c[b].far)};v4.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let e,t=this.pickDepths,n=t.length;for(e=0;e<n;++e)t[e].destroy()};var eC=v4;var Xge=.1,Tct=new Of({pass:qo.MOST_DETAILED_PRELOAD}),Ect=new Of({pass:qo.MOST_DETAILED_PICK}),oq=new Of({pass:qo.PICK});function xa(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let t=new Ye(0,0,1,1),n=new ro(e);n.frustum=new en({width:Xge,aspectRatio:1,near:.1}),this._pickOffscreenView=new eC(e,n,t)}xa.prototype.update=function(){this._pickPositionCacheDirty=!0};xa.prototype.getPickDepth=function(e,t){let n=e.view.pickDepths,i=n[t];return u(i)||(i=new mN,n[t]=i),i};var bct=new Tr,Sct=new h,w4=new h,Dct=new H,vct=new M;function wct(e,t,n,i,o){let r=e.camera,s=r.frustum;u(s._offCenterFrustum)&&(s=s._offCenterFrustum);let a=2*(t.x-o.x)/o.width-1;a*=(s.right-s.left)*.5;let c=2*(o.height-t.y-o.y)/o.height-1;c*=(s.top-s.bottom)*.5;let l=M.clone(r.transform,vct);r._setTransform(M.IDENTITY);let f=h.clone(r.position,Sct);h.multiplyByScalar(r.right,a,w4),h.add(w4,f,f),h.multiplyByScalar(r.up,c,w4),h.add(w4,f,f),r._setTransform(l),e.mode===te.SCENE2D&&h.fromElements(f.z,f.x,f.y,f);let d=s.getPixelDimensions(o.width,o.height,1,1,Dct),p=bct;return p.right=d.x*.5,p.left=-p.right,p.top=d.y*.5,p.bottom=-p.top,p.near=s.near,p.far=s.far,p.computeCullingVolume(f,r.directionWC,r.upWC)}var Ict=new zc,Pct=new H;function Oct(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.near,c=Math.tan(s.fovy*.5),l=s.aspectRatio*c,f=2*(t.x-o.x)/o.width-1,d=2*(o.height-t.y-o.y)/o.height-1,p=f*a*l,g=d*a*c,m=s.getPixelDimensions(o.width,o.height,1,1,Pct),A=m.x*n*.5,x=m.y*i*.5,C=Ict;return C.top=g+x,C.bottom=g-x,C.right=p+A,C.left=p-A,C.near=a,C.far=s.far,C.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function Kge(e,t,n,i,o){let r=e.camera.frustum;return r instanceof en||r instanceof Tr?wct(e,t,n,i,o):Oct(e,t,n,i,o)}var fS=3,SN=3,Am=new Ye(0,0,fS,SN),Zge=new H,rq=new z(0,0,0,0);xa.prototype.pick=function(e,t,n,i){fS=y(n,3),SN=y(i,fS);let o=e.context,r=o.uniformState,s=e.frameState,a=e.defaultView;e.view=a;let c=a.viewport;c.x=0,c.y=0,c.width=o.drawingBufferWidth,c.height=o.drawingBufferHeight;let l=a.passState;l.viewport=Ye.clone(c,l.viewport);let f=qi.transformWindowToDrawingBuffer(e,t,Zge);e.jobScheduler.disableThisFrame(),e.updateFrameState(),s.cullingVolume=Kge(e,f,fS,SN,c),s.invertClassification=!1,s.passes.pick=!0,s.tilesetPassState=oq,r.update(s),e.updateEnvironment(),Am.x=f.x-(fS-1)*.5,Am.y=e.drawingBufferHeight-f.y-(SN-1)*.5,Am.width=fS,Am.height=SN,l=a.pickFramebuffer.begin(Am,a.viewport),e.updateAndExecuteCommands(l,rq),e.resolveFramebuffers(l);let d=a.pickFramebuffer.end(Am);return o.endFrame(),d};function Rct(e,t){let n=e.context,i=e.frameState,o=e.environmentState,r=e.defaultView;e.view=r;let s=r.viewport;s.x=0,s.y=0,s.width=n.drawingBufferWidth,s.height=n.drawingBufferHeight;let a=r.passState;a.viewport=Ye.clone(s,a.viewport),e.clearPasses(i.passes),i.passes.pick=!0,i.passes.depth=!0,i.cullingVolume=Kge(e,t,1,1,s),i.tilesetPassState=oq,e.updateEnvironment(),o.renderTranslucentDepthForPick=!0,a=r.pickDepthFramebuffer.update(n,t,s),e.updateAndExecuteCommands(a,rq),e.resolveFramebuffers(a),n.endFrame()}var Bct=new Ti,Mct=new zc,Lct=new en,Nct=new Tr;xa.prototype.pickPositionWorldCoordinates=function(e,t,n){if(!e.useDepthPicking)return;let i=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(i))return h.clone(this._pickPositionCache[i],n);let o=e.frameState,r=e.context,s=r.uniformState,a=e.defaultView;e.view=a;let c=qi.transformWindowToDrawingBuffer(e,t,Zge);e.pickTranslucentDepth?Rct(e,c):(e.updateFrameState(),s.update(o),e.updateEnvironment()),c.y=e.drawingBufferHeight-c.y;let l=e.camera,f;u(l.frustum.fov)?f=l.frustum.clone(Bct):u(l.frustum.infiniteProjectionMatrix)?f=l.frustum.clone(Mct):u(l.frustum.width)?f=l.frustum.clone(Lct):f=l.frustum.clone(Nct);let d=a.frustumCommandsList,p=d.length;for(let g=0;g<p;++g){let A=this.getPickDepth(e,g).getDepth(r,c.x,c.y);if(u(A)&&A>0&&A<1){let x=d[g],C;return e.mode===te.SCENE2D?(C=l.position.z,l.position.z=C-x.near+1,f.far=Math.max(1,x.far-x.near),f.near=1,s.update(o),s.updateFrustum(f)):(f.near=x.near*(g!==0?e.opaqueFrustumNearOffset:1),f.far=x.far,s.updateFrustum(f)),n=qi.drawingBufferToWgs84Coordinates(e,c,A,n),e.mode===te.SCENE2D&&(l.position.z=C,s.update(o)),this._pickPositionCache[i]=h.clone(n),n}}this._pickPositionCache[i]=void 0};var Fct=new he;xa.prototype.pickPosition=function(e,t,n){if(n=this.pickPositionWorldCoordinates(e,t,n),u(n)&&e.mode!==te.SCENE3D){h.fromElements(n.y,n.z,n.x,n);let i=e.mapProjection,o=i.ellipsoid,r=i.unproject(n,Fct);o.cartographicToCartesian(r,n)}return n};function Jge(e,t){let n,i,o=[],r=[],s=[],a=[];u(e)||(e=Number.MAX_VALUE);let c=t();for(;u(c);){let l=c.object,f=c.position,d=c.exclude;if(u(f)&&!u(l)){o.push(c);break}if(!u(l)||!u(l.primitive)||!d&&(o.push(c),0>=--e))break;let p=l.primitive,g=!1;typeof p.getGeometryInstanceAttributes=="function"&&u(l.id)&&(i=p.getGeometryInstanceAttributes(l.id),u(i)&&u(i.show)&&(g=!0,i.show=_n.toValue(!1,i.show),s.push(i))),l instanceof xs&&(g=!0,l.show=!1,a.push(l)),g||(p.show=!1,r.push(p)),c=t()}for(n=0;n<r.length;++n)r[n].show=!0;for(n=0;n<s.length;++n)i=s[n],i.show=_n.toValue(!0,i.show);for(n=0;n<a.length;++n)a[n].show=!0;return o}xa.prototype.drillPick=function(e,t,n,i,o){let r=this;return Jge(n,function(){let c=r.pick(e,t,i,o);if(u(c))return{object:c,position:void 0,exclude:!1}}).map(function(c){return c.object})};var qge=new h,Vct=new h;function Uct(e,t,n){this.ray=e,this.width=t,this.tilesets=n,this.ready=!1;let i=this;this.promise=new Promise(o=>{i._completePick=()=>{o()}})}function Qge(e,t,n,i){let o=t.direction,r=h.mostOrthogonalAxis(o,qge),s=h.cross(o,r,qge),a=h.cross(o,s,Vct);return i.position=t.origin,i.direction=o,i.up=a,i.right=s,i.frustum.width=y(n,Xge),i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC)}function kct(e,t,n){let i=t.frameState,o=n.ray,r=n.width,s=n.tilesets,a=e._pickOffscreenView.camera,c=Qge(e,o,r,a),l=Tct;l.camera=a,l.cullingVolume=c;let f=!0,d=s.length;for(let p=0;p<d;++p){let g=s[p];g.show&&t.primitives.contains(g)&&(g.updateForPass(i,l),f=f&&l.ready)}return f&&n._completePick(),f}xa.prototype.updateMostDetailedRayPicks=function(e){let t=this._mostDetailedRayPicks;for(let n=0;n<t.length;++n)kct(this,e,t[n])&&t.splice(n--,1)};function $ge(e,t,n){let i=e.length;for(let o=0;o<i;++o){let r=e.get(o);r.show&&(u(r.isCesium3DTileset)?(!u(t)||t.indexOf(r)===-1)&&n.push(r):r instanceof xl&&$ge(r,t,n))}}function I4(e,t,n,i,o,r){let s=[];if($ge(t.primitives,i,s),s.length===0)return Promise.resolve(r());let a=new Uct(n,o,s);return e._mostDetailedRayPicks.push(a),a.promise.then(function(){return r()})}function zct(e,t){return!u(e)||!u(t)||t.length===0?!1:t.indexOf(e)>-1||t.indexOf(e.primitive)>-1||t.indexOf(e.id)>-1}function Hct(e,t,n,i,o,r,s){let a=t.context,c=a.uniformState,l=t.frameState,f=e._pickOffscreenView;t.view=f,Qge(e,n,o,f.camera),Am=Ye.clone(f.viewport,Am);let d=f.pickFramebuffer.begin(Am,f.viewport);t.jobScheduler.disableThisFrame(),t.updateFrameState(),l.invertClassification=!1,l.passes.pick=!0,l.passes.offscreen=!0,s?l.tilesetPassState=Ect:l.tilesetPassState=oq,c.update(l),t.updateEnvironment(),t.updateAndExecuteCommands(d,rq),t.resolveFramebuffers(d);let p,g=f.pickFramebuffer.end(Am);if(t.context.depthTexture){let m=f.frustumCommandsList.length;for(let A=0;A<m;++A){let C=e.getPickDepth(t,A).getDepth(a,0,0);if(u(C)&&C>0&&C<1){let T=f.frustumCommandsList[A],E=T.near*(A!==0?t.opaqueFrustumNearOffset:1),S=T.far,D=E+C*(S-E);p=wn.getPoint(n,D);break}}}if(t.view=t.defaultView,a.endFrame(),u(g)||u(p))return{object:g,position:p,exclude:!u(p)&&r||zct(g,i)}}function eye(e,t,n,i,o,r,s,a){return Jge(i,function(){return Hct(e,t,n,o,r,s,a)})}function dS(e,t,n,i,o,r,s){let a=eye(e,t,n,1,i,o,r,s);if(a.length>0)return a[0]}function tye(e,t,n,i,o,r,s,a){return eye(e,t,n,i,o,r,s,a)}function P4(e,t){return new Promise((n,i)=>{t.then(function(o){let r=e.postRender.addEventListener(function(){r(),n(o)});e.requestRender()}).catch(function(o){i(o)})})}xa.prototype.pickFromRay=function(e,t,n,i){return dS(this,e,t,n,i,!1,!1)};xa.prototype.drillPickFromRay=function(e,t,n,i,o){return tye(this,e,t,n,i,o,!1,!1)};xa.prototype.pickFromRayMostDetailed=function(e,t,n,i){let o=this;return t=wn.clone(t),n=u(n)?n.slice():n,P4(e,I4(o,e,t,n,i,function(){return dS(o,e,t,n,i,!1,!0)}))};xa.prototype.drillPickFromRayMostDetailed=function(e,t,n,i,o){let r=this;return t=wn.clone(t),i=u(i)?i.slice():i,P4(e,I4(r,e,t,i,o,function(){return tye(r,e,t,n,i,o,!1,!0)}))};var Gct=new h,Wct=new h,jct=new wn,nye=new he;function sq(e,t){let n=e.globe,i=u(n)?n.ellipsoid:e.mapProjection.ellipsoid,o=fi._defaultMaxTerrainHeight,r=i.geodeticSurfaceNormalCartographic(t,Wct),s=he.toCartesian(t,i,Gct),a=jct;a.origin=s,a.direction=r;let c=new wn;return wn.getPoint(a,o,c.origin),h.negate(r,c.direction),c}function iye(e,t){let n=e.globe,i=u(n)?n.ellipsoid:e.mapProjection.ellipsoid,o=he.fromCartesian(t,i,nye);return sq(e,o)}function oye(e,t){let n=e.globe,i=u(n)?n.ellipsoid:e.mapProjection.ellipsoid;return he.fromCartesian(t,i,nye).height}function Yct(e,t,n,i,o){let r=sq(t,n);return I4(e,t,r,i,o,function(){let s=dS(e,t,r,i,o,!0,!0);if(u(s))return oye(t,s.position)})}function qct(e,t,n,i,o,r){let s=iye(t,n);return I4(e,t,s,i,o,function(){let a=dS(e,t,s,i,o,!0,!0);if(u(a))return h.clone(a.position,r)})}xa.prototype.sampleHeight=function(e,t,n,i){let o=sq(e,t),r=dS(this,e,o,n,i,!0,!1);if(u(r))return oye(e,r.position)};xa.prototype.clampToHeight=function(e,t,n,i,o){let r=iye(e,t),s=dS(this,e,r,n,i,!0,!1);if(u(s))return h.clone(s.position,o)};xa.prototype.sampleHeightMostDetailed=function(e,t,n,i){n=u(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=Yct(this,e,t[s],n,i);return P4(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c].height=s[c];return t}))};xa.prototype.clampToHeightMostDetailed=function(e,t,n,i){n=u(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=qct(this,e,t[s],n,i,t[s]);return P4(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c]=s[c];return t}))};xa.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var DN=xa;var vN=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#endif + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + color /= texture(autoExposure, vec2(0.5)).r; +#endif + color = czm_acesTonemapping(color); + color = czm_inverseGamma(color); + + out_FragColor = vec4(color, fragmentColor.a); +} +`;var wN=`uniform sampler2D randomTexture; +uniform sampler2D depthTexture; +uniform float intensity; +uniform float bias; +uniform float lengthCap; +uniform float stepSize; +uniform float frustumLength; + +in vec2 v_textureCoordinates; + +vec4 clipToEye(vec2 uv, float depth) +{ + vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); + vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0); + posEC = posEC / posEC.w; + return posEC; +} + +//Reconstruct Normal Without Edge Removation +vec3 getNormalXEdge(vec3 posInCamera, float depthU, float depthD, float depthL, float depthR, vec2 pixelSize) +{ + vec4 posInCameraUp = clipToEye(v_textureCoordinates - vec2(0.0, pixelSize.y), depthU); + vec4 posInCameraDown = clipToEye(v_textureCoordinates + vec2(0.0, pixelSize.y), depthD); + vec4 posInCameraLeft = clipToEye(v_textureCoordinates - vec2(pixelSize.x, 0.0), depthL); + vec4 posInCameraRight = clipToEye(v_textureCoordinates + vec2(pixelSize.x, 0.0), depthR); + + vec3 up = posInCamera.xyz - posInCameraUp.xyz; + vec3 down = posInCameraDown.xyz - posInCamera.xyz; + vec3 left = posInCamera.xyz - posInCameraLeft.xyz; + vec3 right = posInCameraRight.xyz - posInCamera.xyz; + + vec3 DX = length(left) < length(right) ? left : right; + vec3 DY = length(up) < length(down) ? up : down; + + return normalize(cross(DY, DX)); +} + +void main(void) +{ + float depth = czm_readDepth(depthTexture, v_textureCoordinates); + vec4 posInCamera = clipToEye(v_textureCoordinates, depth); + + if (posInCamera.z > frustumLength) + { + out_FragColor = vec4(1.0); + return; + } + + vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; + float depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y)); + float depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y)); + float depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0)); + float depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0)); + vec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize); + + float ao = 0.0; + vec2 sampleDirection = vec2(1.0, 0.0); + float gapAngle = 90.0 * czm_radiansPerDegree; + + // RandomNoise + float randomVal = texture(randomTexture, v_textureCoordinates).x; + + //Loop for each direction + for (int i = 0; i < 4; i++) + { + float newGapAngle = gapAngle * (float(i) + randomVal); + float cosVal = cos(newGapAngle); + float sinVal = sin(newGapAngle); + + //Rotate Sampling Direction + vec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y); + float localAO = 0.0; + float localStepSize = stepSize; + + //Loop for each step + for (int j = 0; j < 6; j++) + { + vec2 newCoords = v_textureCoordinates + rotatedSampleDirection * localStepSize * pixelSize; + + //Exception Handling + if(newCoords.x > 1.0 || newCoords.y > 1.0 || newCoords.x < 0.0 || newCoords.y < 0.0) + { + break; + } + + float stepDepthInfo = czm_readDepth(depthTexture, newCoords); + vec4 stepPosInCamera = clipToEye(newCoords, stepDepthInfo); + vec3 diffVec = stepPosInCamera.xyz - posInCamera.xyz; + float len = length(diffVec); + + if (len > lengthCap) + { + break; + } + + float dotVal = clamp(dot(normalInCamera, normalize(diffVec)), 0.0, 1.0 ); + float weight = len / lengthCap; + weight = 1.0 - weight * weight; + + if (dotVal < bias) + { + dotVal = 0.0; + } + + localAO = max(localAO, dotVal * weight); + localStepSize += stepSize; + } + ao += localAO; + } + + ao /= 4.0; + ao = 1.0 - clamp(ao, 0.0, 1.0); + ao = pow(ao, intensity); + out_FragColor = vec4(vec3(ao), 1.0); +} +`;var IN=`uniform sampler2D colorTexture; +uniform sampler2D ambientOcclusionTexture; +uniform bool ambientOcclusionOnly; +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 color = texture(colorTexture, v_textureCoordinates).rgb; + vec3 ao = texture(ambientOcclusionTexture, v_textureCoordinates).rgb; + out_FragColor.rgb = ambientOcclusionOnly ? ao : ao * color; +} +`;var PN=`uniform sampler2D colorTexture; +uniform float gradations; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; +#ifdef CZM_SELECTED_FEATURE + if (czm_selected()) { + out_FragColor = vec4(rgb, 1.0); + return; + } +#endif + float luminance = czm_luminance(rgb); + float darkness = luminance * gradations; + darkness = (darkness - fract(darkness)) / gradations; + out_FragColor = vec4(vec3(darkness), 1.0); +} +`;var ON=`uniform sampler2D colorTexture; +uniform sampler2D bloomTexture; +uniform bool glowOnly; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + +#ifdef CZM_SELECTED_FEATURE + if (czm_selected()) { + out_FragColor = color; + return; + } +#endif + + vec4 bloom = texture(bloomTexture, v_textureCoordinates); + out_FragColor = glowOnly ? bloom : bloom + color; +} +`;var RN=`uniform sampler2D colorTexture; +uniform float brightness; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; + vec3 target = vec3(0.0); + out_FragColor = vec4(mix(target, rgb, brightness), 1.0); +} +`;var BN=`uniform sampler2D colorTexture; +uniform float contrast; +uniform float brightness; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 sceneColor = texture(colorTexture, v_textureCoordinates).xyz; + sceneColor = czm_RGBToHSB(sceneColor); + sceneColor.z += brightness; + sceneColor = czm_HSBToRGB(sceneColor); + + float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast)); + sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5); + out_FragColor = vec4(sceneColor, 1.0); +} +`;var MN=`uniform sampler2D colorTexture; +uniform sampler2D blurTexture; +uniform sampler2D depthTexture; +uniform float focalDistance; + +in vec2 v_textureCoordinates; + +vec4 toEye(vec2 uv, float depth) +{ + vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); + vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); + posInCamera = posInCamera / posInCamera.w; + return posInCamera; +} + +float computeDepthBlur(float depth) +{ + float f; + if (depth < focalDistance) + { + f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x); + } + else + { + f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance); + f = pow(f, 0.1); + } + f *= f; + f = clamp(f, 0.0, 1.0); + return pow(f, 0.5); +} + +void main(void) +{ + float depth = czm_readDepth(depthTexture, v_textureCoordinates); + vec4 posInCamera = toEye(v_textureCoordinates, depth); + float d = computeDepthBlur(-posInCamera.z); + out_FragColor = mix(texture(colorTexture, v_textureCoordinates), texture(blurTexture, v_textureCoordinates), d); +} +`;var LN=`uniform sampler2D depthTexture; + +in vec2 v_textureCoordinates; + +void main(void) +{ + float depth = czm_readDepth(depthTexture, v_textureCoordinates); + out_FragColor = vec4(vec3(depth), 1.0); +} +`;var NN=`uniform sampler2D depthTexture; +uniform float length; +uniform vec4 color; + +in vec2 v_textureCoordinates; + +void main(void) +{ + float directions[3]; + directions[0] = -1.0; + directions[1] = 0.0; + directions[2] = 1.0; + + float scalars[3]; + scalars[0] = 3.0; + scalars[1] = 10.0; + scalars[2] = 3.0; + + float padx = czm_pixelRatio / czm_viewport.z; + float pady = czm_pixelRatio / czm_viewport.w; + +#ifdef CZM_SELECTED_FEATURE + bool selected = false; + for (int i = 0; i < 3; ++i) + { + float dir = directions[i]; + selected = selected || czm_selected(vec2(-padx, dir * pady)); + selected = selected || czm_selected(vec2(padx, dir * pady)); + selected = selected || czm_selected(vec2(dir * padx, -pady)); + selected = selected || czm_selected(vec2(dir * padx, pady)); + if (selected) + { + break; + } + } + if (!selected) + { + out_FragColor = vec4(color.rgb, 0.0); + return; + } +#endif + + float horizEdge = 0.0; + float vertEdge = 0.0; + + for (int i = 0; i < 3; ++i) + { + float dir = directions[i]; + float scale = scalars[i]; + + horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; + horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; + + vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; + vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; + } + + float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); + out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); +} +`;var FN=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#endif + +// See slides 142 and 143: +// http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#endif + + const float A = 0.22; // shoulder strength + const float B = 0.30; // linear strength + const float C = 0.10; // linear angle + const float D = 0.20; // toe strength + const float E = 0.01; // toe numerator + const float F = 0.30; // toe denominator + + const float white = 11.2; // linear white point value + + vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F; + float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F; + + c = czm_inverseGamma(c / w); + out_FragColor = vec4(c, fragmentColor.a); +} +`;var VN=`in vec2 v_textureCoordinates; + +uniform sampler2D colorTexture; + +const float fxaaQualitySubpix = 0.5; +const float fxaaQualityEdgeThreshold = 0.125; +const float fxaaQualityEdgeThresholdMin = 0.0833; + +void main() +{ + vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw; + vec4 color = FxaaPixelShader( + v_textureCoordinates, + colorTexture, + fxaaQualityRcpFrame, + fxaaQualitySubpix, + fxaaQualityEdgeThreshold, + fxaaQualityEdgeThresholdMin); + float alpha = texture(colorTexture, v_textureCoordinates).a; + out_FragColor = vec4(color.rgb, alpha); +} +`;var jy=`#define SAMPLES 8 + +uniform float delta; +uniform float sigma; +uniform float direction; // 0.0 for x direction, 1.0 for y direction + +uniform sampler2D colorTexture; + +#ifdef USE_STEP_SIZE +uniform float stepSize; +#else +uniform vec2 step; +#endif + +in vec2 v_textureCoordinates; + +// Incremental Computation of the Gaussian: +// https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html + +void main() +{ + vec2 st = v_textureCoordinates; + vec2 dir = vec2(1.0 - direction, direction); + +#ifdef USE_STEP_SIZE + vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw)); +#else + vec2 step = step; +#endif + + vec3 g; + g.x = 1.0 / (sqrt(czm_twoPi) * sigma); + g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); + g.z = g.y * g.y; + + vec4 result = texture(colorTexture, st) * g.x; + for (int i = 1; i < SAMPLES; ++i) + { + g.xy *= g.yz; + + vec2 offset = float(i) * dir * step; + result += texture(colorTexture, st - offset) * g.x; + result += texture(colorTexture, st + offset) * g.x; + } + + out_FragColor = result; +} +`;var UN=`uniform sampler2D colorTexture; +uniform sampler2D dirtTexture; +uniform sampler2D starTexture; +uniform vec2 dirtTextureDimensions; +uniform float distortion; +uniform float ghostDispersal; +uniform float haloWidth; +uniform float dirtAmount; +uniform float earthRadius; +uniform float intensity; + +in vec2 v_textureCoordinates; + +// whether it is in space or not +// 6500000.0 is empirical value +#define DISTANCE_TO_SPACE 6500000.0 + +// return ndc from world coordinate biased earthRadius +vec4 getNDCFromWC(vec3 WC, float earthRadius) +{ + vec4 positionEC = czm_view * vec4(WC, 1.0); + positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0); + vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); + return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0); +} + +// Check if current pixel is included Earth +// if then mask it gradually +float isInEarth(vec2 texcoord, vec2 sceneSize) +{ + vec2 NDC = texcoord * 2.0 - 1.0; + vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0); + vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5); + NDC.xy -= earthPosSC.xy; + + float X = abs(NDC.x) * sceneSize.x; + float Y = abs(NDC.y) * sceneSize.y; + + return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0)); +} + +// For Chromatic effect +vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace) +{ + vec2 sceneSize = czm_viewport.zw; + vec3 color; + if(isSpace) + { + color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture(tex, texcoord + direction * distortion.r).r; + color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture(tex, texcoord + direction * distortion.g).g; + color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture(tex, texcoord + direction * distortion.b).b; + } + else + { + color.r = texture(tex, texcoord + direction * distortion.r).r; + color.g = texture(tex, texcoord + direction * distortion.g).g; + color.b = texture(tex, texcoord + direction * distortion.b).b; + } + return vec4(clamp(color, 0.0, 1.0), 0.0); +} + +void main(void) +{ + vec4 originalColor = texture(colorTexture, v_textureCoordinates); + vec3 rgb = originalColor.rgb; + bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE; + + // Sun position + vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); + vec4 sunPositionEC = czm_view * sunPos; + vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); + sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); + + // If sun is not in the screen space, use original color. + if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1))) + { + // Lens flare is disabled when not in space until #5932 is fixed. + // https://github.com/CesiumGS/cesium/issues/5932 + out_FragColor = originalColor; + return; + } + + vec2 texcoord = vec2(1.0) - v_textureCoordinates; + vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; + vec2 invPixelSize = 1.0 / pixelSize; + vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion); + + // ghost vector to image centre: + vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal; + vec3 direction = normalize(vec3(ghostVec, 0.0)); + + // sample ghosts: + vec4 result = vec4(0.0); + vec4 ghost = vec4(0.0); + for (int i = 0; i < 4; ++i) + { + vec2 offset = fract(texcoord + ghostVec * float(i)); + // Only bright spots from the centre of the source image + ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace); + } + result += ghost; + + // sample halo + vec2 haloVec = normalize(ghostVec) * haloWidth; + float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5)); + weightForHalo = pow(1.0 - weightForHalo, 5.0); + + result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5; + + // dirt on lens + vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions; + if (dirtTexCoords.x > 1.0) + { + dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x); + } + if (dirtTexCoords.y > 1.0) + { + dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y); + } + result += dirtAmount * texture(dirtTexture, dirtTexCoords); + + // Rotating starburst texture's coordinate + // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0)) + float camrot = czm_view[0].z + czm_view[1].y; + float cosValue = cos(camrot); + float sinValue = sin(camrot); + mat3 rotation = mat3( + cosValue, -sinValue, 0.0, + sinValue, cosValue, 0.0, + 0.0, 0.0, 1.0 + ); + + vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0); + vec3 st2 = vec3((rotation * st1).xy, 1.0); + vec3 st3 = st2 * 0.5 + vec3(0.5); + vec2 lensStarTexcoord = st3.xy; + float weightForLensFlare = length(vec3(sunPos.xy, 0.0)); + float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0); + + if (!isSpace) + { + result *= oneMinusWeightForLensFlare * intensity * 0.2; + } + else + { + result *= oneMinusWeightForLensFlare * intensity; + result *= texture(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0; + } + + result += texture(colorTexture, v_textureCoordinates); + + out_FragColor = result; +} +`;var kN=`uniform sampler2D colorTexture; +uniform vec3 white; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#endif + +// See equation 4: +// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#endif + color = (color * (1.0 + color / white)) / (1.0 + color); + color = czm_inverseGamma(color); + out_FragColor = vec4(color, fragmentColor.a); +} +`;var zN=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +float rand(vec2 co) +{ + return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453); +} + +void main(void) +{ + float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1; + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; + vec3 green = vec3(0.0, 1.0, 0.0); + out_FragColor = vec4((noiseValue + rgb) * green, 1.0); +} +`;var HN=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#endif + +// See equation 3: +// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#endif + color = color / (1.0 + color); + color = czm_inverseGamma(color); + out_FragColor = vec4(color, fragmentColor.a); +} +`;var GN=`uniform sampler2D colorTexture; +uniform sampler2D silhouetteTexture; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates); + vec4 color = texture(colorTexture, v_textureCoordinates); + out_FragColor = mix(color, silhouetteColor, silhouetteColor.a); +} +`;function tC(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new mi,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new H,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}Object.defineProperties(tC.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){let e=this._framebuffers;if(u(e))return e[e.length-1].getColorTexture(0)}}});function rye(e){let t=e._framebuffers;if(!u(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].destroy();e._framebuffers=void 0,e._previousLuminance.destroy(),e._previousLuminance=void 0}function Xct(e,t){rye(e);let n=e._width,i=e._height,o=t.halfFloatingPointTexture?Xe.HALF_FLOAT:Xe.FLOAT,r=Math.ceil(Math.log(Math.max(n,i))/Math.log(3)),s=new Array(r);for(let c=0;c<r;++c)n=Math.max(Math.ceil(n/3),1),i=Math.max(Math.ceil(i/3),1),s[c]=new mi,s[c].update(t,n,i,1,o);let a=s[r-1].getColorTexture(0);e._previousLuminance.update(t,a.width,a.height,1,o),e._framebuffers=s}function sye(e){let t=e._commands;if(!u(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].shaderProgram.destroy();e._commands=void 0}function Kct(e,t){let n;if(t===0)n={colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions}};else{let i=e._framebuffers[t-1].getColorTexture(0);n={colorTexture:function(){return i},colorTextureDimensions:function(){return i.dimensions}}}return n.minMaxLuminance=function(){return e._minMaxLuminance},n.previousLuminance=function(){return e._previousLuminance.getColorTexture(0)},n}function Zct(e,t){let n=`uniform sampler2D colorTexture; +in vec2 v_textureCoordinates; +float sampleTexture(vec2 offset) { +`;return e===0?n+=` vec4 color = texture(colorTexture, v_textureCoordinates + offset); + return czm_luminance(color.rgb); +`:n+=` return texture(colorTexture, v_textureCoordinates + offset).r; +`,n+=`} + +`,n+=`uniform vec2 colorTextureDimensions; +uniform vec2 minMaxLuminance; +uniform sampler2D previousLuminance; +void main() { + float color = 0.0; + float xStep = 1.0 / colorTextureDimensions.x; + float yStep = 1.0 / colorTextureDimensions.y; + int count = 0; + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + vec2 offset; + offset.x = -xStep + float(i) * xStep; + offset.y = -yStep + float(j) * yStep; + if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { + continue; + } + color += sampleTexture(offset); + ++count; + } + } + if (count > 0) { + color /= float(count); + } +`,e===t-1&&(n+=` float previous = texture(previousLuminance, vec2(0.5)).r; + color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); + color = previous + (color - previous) / (60.0 * 1.5); + color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); +`),n+=` out_FragColor = vec4(color); +} +`,n}function Jct(e,t){sye(e);let n=e._framebuffers,i=n.length,o=new Array(i);for(let r=0;r<i;++r)o[r]=t.createViewportQuadCommand(Zct(r,i),{framebuffer:n[r].framebuffer,uniformMap:Kct(e,r)});e._commands=o}tC.prototype.clear=function(e){let t=this._framebuffers;if(!u(t))return;let n=this._clearCommand;u(n)||(n=this._clearCommand=new ii({color:new z(0,0,0,0),framebuffer:void 0}));let i=t.length;for(let o=0;o<i;++o)t[o].clear(e,n)};tC.prototype.update=function(e){let t=e.drawingBufferWidth,n=e.drawingBufferHeight;(t!==this._width||n!==this._height)&&(this._width=t,this._height=n,Xct(this,e),Jct(this,e),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;let i=this._framebuffers,o=i[i.length-1];i[i.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=o};tC.prototype.execute=function(e,t){this._colorTexture=t;let n=this._commands;if(!u(n))return;let i=n.length;for(let o=0;o<i;++o)n[o].execute(e)};tC.prototype.isDestroyed=function(){return!1};tC.prototype.destroy=function(){return rye(this),sye(this),le(this)};var WN=tC;var Qct={NEAREST:0,LINEAR:1},Du=Qct;function nC(e){e=y(e,y.EMPTY_OBJECT);let t=e.fragmentShader,n=y(e.textureScale,1),i=y(e.pixelFormat,rt.RGBA);this._fragmentShader=t,this._uniforms=e.uniforms,this._textureScale=n,this._forcePowerOfTwo=y(e.forcePowerOfTwo,!1),this._sampleMode=y(e.sampleMode,Du.NEAREST),this._pixelFormat=i,this._pixelDatatype=y(e.pixelDatatype,Xe.UNSIGNED_BYTE),this._clearColor=y(e.clearColor,z.BLACK),this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;let o=new La;o.scissorTest={enabled:!0,rectangle:u(e.scissorRectangle)?Ye.clone(e.scissorRectangle):new Ye},this._passState=o,this._ready=!1;let r=e.name;u(r)||(r=zn()),this._name=r,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(nC.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(u(this._textureCache)){let e=this._textureCache.getFramebuffer(this._name);if(u(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});var $ct=/uniform\s+sampler2D\s+depthTexture/g;nC.prototype._isSupported=function(e){return!$ct.test(this._fragmentShader)||e.depthTexture};function elt(e,t,n){let i=t[n];return(typeof i=="string"||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData)&&e._dirtyUniforms.push(n),{get:function(){return t[n]},set:function(o){let r=t[n];t[n]=o;let s=e._actualUniforms,a=s[n];u(a)&&a!==r&&a instanceof It&&!u(e._textureCache.getStageByName(n))&&(e._texturesToRelease.push(a),delete s[n],delete s[`${n}Dimensions`]),r instanceof It&&e._texturesToRelease.push(r),typeof o=="string"||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement||o instanceof HTMLVideoElement||o instanceof ImageData?e._dirtyUniforms.push(n):s[n]=o}}}function tlt(e,t){return function(){let n=e._actualUniforms[t];return typeof n=="function"?n():n}}function nlt(e,t){return function(){let n=e[t]();if(u(n))return n.dimensions}}function ilt(e){if(u(e._uniformMap))return;let t={},n={},i=e._uniforms,o=e._actualUniforms;for(let r in i)if(i.hasOwnProperty(r)){typeof i[r]!="function"?(t[r]=tlt(e,r),n[r]=elt(e,i,r)):(t[r]=i[r],n[r]=i[r]),o[r]=i[r];let s=t[r]();(typeof s=="string"||s instanceof It||s instanceof HTMLImageElement||s instanceof HTMLCanvasElement||s instanceof HTMLVideoElement)&&(t[`${r}Dimensions`]=nlt(t,r))}e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=_t(t,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}function olt(e,t){if(u(e._command)&&!e._logDepthChanged&&!e._selectedDirty)return;let n=e._fragmentShader;if(u(e._selectedIdTexture)){let o=e._selectedIdTexture.width;n=n.replace(/in\s+vec2\s+v_textureCoordinates;/g,""),n=`#define CZM_SELECTED_FEATURE +uniform sampler2D czm_idTexture; +uniform sampler2D czm_selectedIdTexture; +uniform float czm_selectedIdTextureStep; +in vec2 v_textureCoordinates; +bool czm_selected(vec2 offset) +{ + bool selected = false; + vec4 id = texture(czm_idTexture, v_textureCoordinates + offset); + for (int i = 0; i < ${o}; ++i) + { + vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); + if (all(equal(id, selectedId))) + { + return true; + } + } + return false; +} + +bool czm_selected() +{ + return czm_selected(vec2(0.0)); +} + +${n}`}let i=new ke({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[n]});e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e})}function rlt(e){let t=e._sampleMode,n,i;t===Du.LINEAR?(n=an.LINEAR,i=yi.LINEAR):(n=an.NEAREST,i=yi.NEAREST);let o=e._sampler;(!u(o)||o.minificationFilter!==n||o.magnificationFilter!==i)&&(e._sampler=new ln({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i}))}function slt(e,t){return function(n){e._texturesToCreate.push({name:t,source:n})}}function alt(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function clt(e,t){let n,i,o,r=e._texturesToRelease,s=r.length;for(n=0;n<s;++n)i=r[n],i=i&&i.destroy();r.length=0;let a=e._texturesToCreate;for(s=a.length,n=0;n<s;++n){let d=a[n];o=d.name;let p=d.source;e._actualUniforms[o]=new It({context:t,source:p})}a.length=0;let c=e._dirtyUniforms;if(c.length===0&&!u(e._texturePromise)){e._ready=!0;return}if(c.length===0||u(e._texturePromise))return;s=c.length;let l=e._uniforms,f=[];for(n=0;n<s;++n){o=c[n];let d=l[o],p=e._textureCache.getStageByName(d);if(u(p))e._actualUniforms[o]=alt(e,d);else if(typeof d=="string"){let g=new Oe({url:d});f.push(g.fetchImage().then(slt(e,o)))}else e._texturesToCreate.push({name:o,source:d})}c.length=0,f.length>0?(e._ready=!1,e._texturePromise=Promise.all(f).then(function(){e._ready=!0,e._texturePromise=void 0})):e._ready=!0}function aye(e){u(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();let t=e._textureCache;if(!u(t))return;let n=e._uniforms,i=e._actualUniforms;for(let o in i)i.hasOwnProperty(o)&&i[o]instanceof It&&(u(t.getStageByName(n[o]))||i[o].destroy(),e._dirtyUniforms.push(o))}function llt(e){let t=u(e._selected)?e._selected.length:0,n=u(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,u(e._selected)&&u(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):u(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&u(e._combinedSelected)){if(!u(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}function ult(e,t){if(!e._selectedDirty)return;e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;let n=e._combinedSelected;if(!u(n))return;let i,o,r=0,s=n.length;for(i=0;i<s;++i)o=n[i],u(o.pickIds)?r+=o.pickIds.length:u(o.pickId)&&++r;if(s===0||r===0){let f=new Uint8Array(4);f[0]=255,f[1]=255,f[2]=255,f[3]=255,e._selectedIdTexture=new It({context:t,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,source:{arrayBufferView:f,width:1,height:1},sampler:ln.NEAREST});return}let a,c=0,l=new Uint8Array(r*4);for(i=0;i<s;++i)if(o=n[i],u(o.pickIds)){let f=o.pickIds,d=f.length;for(let p=0;p<d;++p)a=f[p].color,l[c]=z.floatToByte(a.red),l[c+1]=z.floatToByte(a.green),l[c+2]=z.floatToByte(a.blue),l[c+3]=z.floatToByte(a.alpha),c+=4}else u(o.pickId)&&(a=o.pickId.color,l[c]=z.floatToByte(a.red),l[c+1]=z.floatToByte(a.green),l[c+2]=z.floatToByte(a.blue),l[c+3]=z.floatToByte(a.alpha),c+=4);e._selectedIdTexture=new It({context:t,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,source:{arrayBufferView:l,width:r,height:1},sampler:ln.NEAREST})}nC.prototype.update=function(e,t){if(this.enabled!==this._enabled&&!this.enabled&&aye(this),this._enabled=this.enabled,!this._enabled||(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=llt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=u(this._selected)?this._selected.length:0,this._parentSelectedLength=u(this._parentSelected)?this._parentSelected.length:0,ult(this,e),ilt(this),clt(this,e),olt(this,e),rlt(this),this._selectedDirty=!1,!this._ready))return;let n=this._textureCache.getFramebuffer(this._name);if(this._command.framebuffer=n,!u(n))return;let i=n.getColorTexture(0),o;(i.width!==e.drawingBufferWidth||i.height!==e.drawingBufferHeight)&&(o=this._renderState,(!u(o)||i.width!==o.viewport.width||i.height!==o.viewport.height)&&(this._renderState=Ue.fromCache({viewport:new Ye(0,0,i.width,i.height)}))),this._command.renderState=o};nC.prototype.execute=function(e,t,n,i){if(!u(this._command)||!u(this._command.framebuffer)||!this._ready||!this._enabled)return;this._colorTexture=t,this._depthTexture=n,this._idTexture=i,ln.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler);let o=this.scissorRectangle.width>0&&this.scissorRectangle.height>0?this._passState:void 0;u(o)&&(o.context=e),this._command.execute(e,o)};nC.prototype.isDestroyed=function(){return!1};nC.prototype.destroy=function(){return aye(this),le(this)};var po=nC;function iC(e){e=y(e,y.EMPTY_OBJECT),this._stages=e.stages,this._inputPreviousStageTexture=y(e.inputPreviousStageTexture,!0);let t=e.name;u(t)||(t=zn()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(iC.prototype,{ready:{get:function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)if(!e[n].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)t[i].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});iC.prototype._isSupported=function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)if(!t[i]._isSupported(e))return!1;return!0};iC.prototype.get=function(e){return this._stages[e]};function flt(e){let t=u(e._selected)?e._selected.length:0,n=u(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,u(e._selected)&&u(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):u(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&u(e._combinedSelected)){if(!u(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}iC.prototype.update=function(e,t){this._selectedDirty=flt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=u(this._selected)?this._selected.length:0,this._parentSelectedLength=u(this._parentSelected)?this._parentSelected.length:0;let n=this._stages,i=n.length;for(let o=0;o<i;++o){let r=n[o];this._selectedDirty&&(r.parentSelected=this._combinedSelected),r.update(e,t)}};iC.prototype.isDestroyed=function(){return!1};iC.prototype.destroy=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return le(this)};var jc=iC;var Lr={};function O4(e){let o=`#define USE_STEP_SIZE +${jy}`,r=new po({name:`${e}_x_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:Du.LINEAR}),s=new po({name:`${e}_y_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:Du.LINEAR}),a={};return Object.defineProperties(a,{delta:{get:function(){return r.uniforms.delta},set:function(c){let l=r.uniforms,f=s.uniforms;l.delta=f.delta=c}},sigma:{get:function(){return r.uniforms.sigma},set:function(c){let l=r.uniforms,f=s.uniforms;l.sigma=f.sigma=c}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(c){let l=r.uniforms,f=s.uniforms;l.stepSize=f.stepSize=c}}}),new jc({name:e,stages:[r,s],uniforms:a})}Lr.createBlurStage=function(){return O4("czm_blur")};Lr.createDepthOfFieldStage=function(){let e=O4("czm_depth_of_field_blur"),t=new po({name:"czm_depth_of_field_composite",fragmentShader:MN,uniforms:{focalDistance:5,blurTexture:e.name}}),n={};return Object.defineProperties(n,{focalDistance:{get:function(){return t.uniforms.focalDistance},set:function(i){t.uniforms.focalDistance=i}},delta:{get:function(){return e.uniforms.delta},set:function(i){e.uniforms.delta=i}},sigma:{get:function(){return e.uniforms.sigma},set:function(i){e.uniforms.sigma=i}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(i){e.uniforms.stepSize=i}}}),new jc({name:"czm_depth_of_field",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Lr.isDepthOfFieldSupported=function(e){return e.context.depthTexture};Lr.createEdgeDetectionStage=function(){let e=zn();return new po({name:`czm_edge_detection_${e}`,fragmentShader:NN,uniforms:{length:.25,color:z.clone(z.BLACK)}})};Lr.isEdgeDetectionSupported=function(e){return e.context.depthTexture};function dlt(e){if(!u(e))return Lr.createEdgeDetectionStage();let t=new jc({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),n={},i="",o="";for(let a=0;a<e.length;++a)i+=`uniform sampler2D edgeTexture${a}; +`,o+=` vec4 edge${a} = texture(edgeTexture${a}, v_textureCoordinates); + if (edge${a}.a > 0.0) + { + color = edge${a}; + break; + } +`,n[`edgeTexture${a}`]=e[a].name;let r=`${i}in vec2 v_textureCoordinates; +void main() { + vec4 color = vec4(0.0); + for (int i = 0; i < ${e.length}; i++) + { +${o} } + out_FragColor = color; +} +`,s=new po({name:"czm_edge_detection_combine",fragmentShader:r,uniforms:n});return new jc({name:"czm_edge_detection_composite",stages:[t,s]})}Lr.createSilhouetteStage=function(e){let t=dlt(e),n=new po({name:"czm_silhouette_color_edges",fragmentShader:GN,uniforms:{silhouetteTexture:t.name}});return new jc({name:"czm_silhouette",stages:[t,n],inputPreviousStageTexture:!1,uniforms:t.uniforms})};Lr.isSilhouetteSupported=function(e){return e.context.depthTexture};Lr.createBloomStage=function(){let e=new po({name:"czm_bloom_contrast_bias",fragmentShader:BN,uniforms:{contrast:128,brightness:-.3}}),t=O4("czm_bloom_blur"),n=new jc({name:"czm_bloom_contrast_bias_blur",stages:[e,t]}),i=new po({name:"czm_bloom_generate_composite",fragmentShader:ON,uniforms:{glowOnly:!1,bloomTexture:n.name}}),o={};return Object.defineProperties(o,{glowOnly:{get:function(){return i.uniforms.glowOnly},set:function(r){i.uniforms.glowOnly=r}},contrast:{get:function(){return e.uniforms.contrast},set:function(r){e.uniforms.contrast=r}},brightness:{get:function(){return e.uniforms.brightness},set:function(r){e.uniforms.brightness=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}}}),new jc({name:"czm_bloom",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Lr.createAmbientOcclusionStage=function(){let e=new po({name:"czm_ambient_occlusion_generate",fragmentShader:wN,uniforms:{intensity:3,bias:.1,lengthCap:.26,stepSize:1.95,frustumLength:1e3,randomTexture:void 0}}),t=O4("czm_ambient_occlusion_blur");t.uniforms.stepSize=.86;let n=new jc({name:"czm_ambient_occlusion_generate_blur",stages:[e,t]}),i=new po({name:"czm_ambient_occlusion_composite",fragmentShader:IN,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:n.name}}),o={};return Object.defineProperties(o,{intensity:{get:function(){return e.uniforms.intensity},set:function(r){e.uniforms.intensity=r}},bias:{get:function(){return e.uniforms.bias},set:function(r){e.uniforms.bias=r}},lengthCap:{get:function(){return e.uniforms.lengthCap},set:function(r){e.uniforms.lengthCap=r}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(r){e.uniforms.stepSize=r}},frustumLength:{get:function(){return e.uniforms.frustumLength},set:function(r){e.uniforms.frustumLength=r}},randomTexture:{get:function(){return e.uniforms.randomTexture},set:function(r){e.uniforms.randomTexture=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},blurStepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}},ambientOcclusionOnly:{get:function(){return i.uniforms.ambientOcclusionOnly},set:function(r){i.uniforms.ambientOcclusionOnly=r}}}),new jc({name:"czm_ambient_occlusion",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Lr.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};var hlt=`#define FXAA_QUALITY_PRESET 39 +${kM} +${VN}`;Lr.createFXAAStage=function(){return new po({name:"czm_FXAA",fragmentShader:hlt,sampleMode:Du.LINEAR})};Lr.createAcesTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=vN,new po({name:"czm_aces",fragmentShader:t,uniforms:{autoExposure:void 0}})};Lr.createFilmicTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=FN,new po({name:"czm_filmic",fragmentShader:t,uniforms:{autoExposure:void 0}})};Lr.createReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=HN,new po({name:"czm_reinhard",fragmentShader:t,uniforms:{autoExposure:void 0}})};Lr.createModifiedReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=kN,new po({name:"czm_modified_reinhard",fragmentShader:t,uniforms:{white:z.WHITE,autoExposure:void 0}})};Lr.createAutoExposureStage=function(){return new WN};Lr.createBlackAndWhiteStage=function(){return new po({name:"czm_black_and_white",fragmentShader:PN,uniforms:{gradations:5}})};Lr.createBrightnessStage=function(){return new po({name:"czm_brightness",fragmentShader:RN,uniforms:{brightness:.5}})};Lr.createNightVisionStage=function(){return new po({name:"czm_night_vision",fragmentShader:zN})};Lr.createDepthViewStage=function(){return new po({name:"czm_depth_view",fragmentShader:LN})};Lr.createLensFlareStage=function(){return new po({name:"czm_lens_flare",fragmentShader:UN,uniforms:{dirtTexture:$t("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:$t("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:ie.WGS84.maximumRadius}})};var Bf=Lr;function M_(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function YN(e){for(;u(e.length);)e=e.get(e.length-1);return e.name}function aq(e,t,n,i,o){if(!i.enabled||!i._isSupported(t))return o;let r=n[i.name]={};if(u(o)){let a=e.getStageByName(o);r[YN(a)]=!0}let s=i.uniforms;if(u(s)){let a=Object.getOwnPropertyNames(s),c=a.length;for(let l=0;l<c;++l){let f=s[a[l]];if(typeof f=="string"){let d=e.getStageByName(f);u(d)&&(r[YN(d)]=!0)}}}return i.name}function jN(e,t,n,i,o){if(u(i.enabled)&&!i.enabled||u(i._isSupported)&&!i._isSupported(t))return o;let r=o,s=!u(i.inputPreviousStageTexture)||i.inputPreviousStageTexture,a=o,c=i.length;for(let d=0;d<c;++d){let p=i.get(d);u(p.length)?a=jN(e,t,n,p,o):a=aq(e,t,n,p,o),s&&(o=a)}let l,f;if(s)for(l=1;l<c;++l)f=YN(i.get(l)),u(n[f])||(n[f]={}),n[f][r]=!0;else for(l=1;l<c;++l){f=YN(i.get(l));let d=n[f];for(let p=0;p<l;++p)d[YN(i.get(p))]=!0}return a}function mlt(e,t){let n={};if(u(e.ambientOcclusion)){let i=e.ambientOcclusion,o=e.bloom,r=e._tonemapping,s=e.fxaa,a=jN(e,t,n,i,void 0);a=jN(e,t,n,o,a),a=aq(e,t,n,r,a),a=jN(e,t,n,e,a),aq(e,t,n,s,a)}else jN(e,t,n,e,void 0);return n}function plt(e,t,n){let o=e._collection.getStageByName(t),r=o._textureScale,s=o._forcePowerOfTwo,a=o._pixelFormat,c=o._pixelDatatype,l=o._clearColor,f,d,p=e._framebuffers,g=p.length;for(f=0;f<g;++f){if(d=p[f],r!==d.textureScale||s!==d.forcePowerOfTwo||a!==d.pixelFormat||c!==d.pixelDatatype||!z.equals(l,d.clearColor))continue;let m=d.stages,A=m.length,x=!1;for(let C=0;C<A;++C)if(n[m[C]]){x=!0;break}if(!x)break}return u(d)&&f<g?(d.stages.push(t),d):(d={textureScale:r,forcePowerOfTwo:s,pixelFormat:a,pixelDatatype:c,clearColor:l,stages:[t],buffer:new mi({pixelFormat:a,pixelDatatype:c}),clear:void 0},p.push(d),d)}function _lt(e,t){let n=mlt(e._collection,t);for(let i in n)n.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=plt(e,i,n[i]))}function cq(e){let t=e._framebuffers,n=t.length;for(let i=0;i<n;++i)t[i].buffer.destroy()}function glt(e,t){let n=e._width,i=e._height,o=e._framebuffers,r=o.length;for(let s=0;s<r;++s){let a=o[s],c=a.textureScale,l=Math.ceil(n*c),f=Math.ceil(i*c),d=Math.min(l,f);a.forcePowerOfTwo&&(P.isPowerOfTwo(d)||(d=P.nextPowerOfTwo(d)),l=d,f=d),a.buffer.update(t,l,f),a.clear=new ii({color:a.clearColor,framebuffer:a.buffer.framebuffer})}}M_.prototype.updateDependencies=function(){this._updateDependencies=!0};M_.prototype.update=function(e){let t=this._collection,n=this._updateDependencies,i=u(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),o=u(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),r=u(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),s=u(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),a=!u(t._activeStages)||t._activeStages.length>0||i||o||r||s;if((n||!a&&this._framebuffers.length>0)&&(cq(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!n&&!a)return;this._framebuffers.length===0&&_lt(this,e);let c=e.drawingBufferWidth,l=e.drawingBufferHeight,f=this._width!==c||this._height!==l;!n&&!f||(this._width=c,this._height=l,this._updateDependencies=!1,cq(this),glt(this,e))};M_.prototype.clear=function(e){let t=this._framebuffers;for(let n=0;n<t.length;++n)t[n].clear.execute(e)};M_.prototype.getStageByName=function(e){return this._collection.getStageByName(e)};M_.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)};M_.prototype.getFramebuffer=function(e){let t=this._stageNameToFramebuffer[e];if(u(t))return t.buffer.framebuffer};M_.prototype.isDestroyed=function(){return!1};M_.prototype.destroy=function(){return cq(this),le(this)};var oC=M_;var qN={REINHARD:0,MODIFIED_REINHARD:1,FILMIC:2,ACES:3,validate:function(e){return e===qN.REINHARD||e===qN.MODIFIED_REINHARD||e===qN.FILMIC||e===qN.ACES}},Yy=Object.freeze(qN);var lq=[];function Yc(){let e=Bf.createFXAAStage(),t=Bf.createAmbientOcclusionStage(),n=Bf.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=Bf.createAutoExposureStage(),this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=Yy.ACES;let i=this._tonemapping;e.enabled=!1,t.enabled=!1,n.enabled=!1,i.enabled=!1;let o=new oC(this),r={},s=lq;for(s.push(e,t,n,i);s.length>0;){let c=s.pop();r[c.name]=c,c._textureCache=o;let l=c.length;if(u(l))for(let f=0;f<l;++f)s.push(c.get(f))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let a=this;t.uniforms.randomTexture=function(){return a._randomTexture},this._ao=t,this._bloom=n,this._fxaa=e,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=r,this._textureCache=o}Object.defineProperties(Yc.prototype,{ready:{get:function(){let e=!1,t=this._stages,n=t.length;for(let a=n-1;a>=0;--a){let c=t[a];e=e||c.ready&&c.enabled}let i=this._fxaa,o=this._ao,r=this._bloom,s=this._tonemapping;return e=e||i.ready&&i.enabled,e=e||o.ready&&o.enabled,e=e||r.ready&&r.enabled,e=e||s.ready&&s.enabled,e}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return uq(this),this._stages.length}},outputTexture:{get:function(){let e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);let t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){let a=t[s];if(u(a)&&a.ready&&a.enabled)return this.getOutputTexture(a.name)}let i=this._tonemapping;if(i.enabled&&i.ready)return this.getOutputTexture(i.name);let o=this._bloom;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let r=this._ao;if(r.enabled&&r.ready)return this.getOutputTexture(r.name)}},hasSelected:{get:function(){let e=this._stages.slice();for(;e.length>0;){let t=e.pop();if(!u(t))continue;if(u(t.selected))return!0;let n=t.length;if(u(n))for(let i=0;i<n;++i)e.push(t.get(i))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper===e)return;u(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let t=this._autoExposureEnabled,n;switch(e){case Yy.REINHARD:n=Bf.createReinhardTonemappingStage(t);break;case Yy.MODIFIED_REINHARD:n=Bf.createModifiedReinhardTonemappingStage(t);break;case Yy.FILMIC:n=Bf.createFilmicTonemappingStage(t);break;default:n=Bf.createAcesTonemappingStage(t);break}if(t){let i=this._autoExposure;n.uniforms.autoExposure=function(){return i.outputTexture}}this._tonemapper=e,this._tonemapping=n,u(this._stageNames)&&(this._stageNames[n.name]=n,n._textureCache=this._textureCache),this._textureCacheDirty=!0}}});function uq(e){if(!e._stagesRemoved)return;e._stagesRemoved=!1;let t=[],n=e._stages,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];s&&(s._index=r++,t.push(s))}e._stages=t}Yc.prototype.add=function(e){let t=this._stageNames,n=lq;for(n.push(e);n.length>0;){let o=n.pop();t[o.name]=o,o._textureCache=this._textureCache;let r=o.length;if(u(r))for(let s=0;s<r;++s)n.push(o.get(s))}let i=this._stages;return e._index=i.length,i.push(e),this._textureCacheDirty=!0,e};Yc.prototype.remove=function(e){if(!this.contains(e))return!1;let t=this._stageNames,n=lq;for(n.push(e);n.length>0;){let i=n.pop();delete t[i.name];let o=i.length;if(u(o))for(let r=0;r<o;++r)n.push(i.get(r))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0};Yc.prototype.contains=function(e){return u(e)&&u(e._index)&&e._textureCache===this._textureCache};Yc.prototype.get=function(e){return uq(this),this._stages[e]};Yc.prototype.removeAll=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)this.remove(e[n]);e.length=0};Yc.prototype.getStageByName=function(e){return this._stageNames[e]};Yc.prototype.update=function(e,t,n){uq(this);let i=this._activeStages,o=this._activeStages=this._previousActiveStages;this._previousActiveStages=i;let r=this._stages,s=o.length=r.length,a,c,l=0;for(a=0;a<s;++a)c=r[a],c.ready&&c.enabled&&c._isSupported(e)&&(o[l++]=c);o.length=l;let f=l!==i.length;if(!f){for(a=0;a<l;++a)if(o[a]!==i[a]){f=!0;break}}let d=this._ao,p=this._bloom,g=this._autoExposure,m=this._tonemapping,A=this._fxaa;m.enabled=n;let x=d.enabled&&d._isSupported(e),C=p.enabled&&p._isSupported(e),T=m.enabled&&m._isSupported(e),E=A.enabled&&A._isSupported(e);if((f||this._textureCacheDirty||x!==this._aoEnabled||C!==this._bloomEnabled||T!==this._tonemappingEnabled||E!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=x,this._bloomEnabled=C,this._tonemappingEnabled=T,this._fxaaEnabled=E,this._textureCacheDirty=!1),u(this._randomTexture)&&!x&&(this._randomTexture.destroy(),this._randomTexture=void 0),!u(this._randomTexture)&&x){s=256*256*3;let S=new Uint8Array(s);for(a=0;a<s;a+=3)S[a]=Math.floor(Math.random()*255);this._randomTexture=new It({context:e,pixelFormat:rt.RGB,pixelDatatype:Xe.UNSIGNED_BYTE,source:{arrayBufferView:S,width:256,height:256},sampler:new ln({wrapS:vn.REPEAT,wrapT:vn.REPEAT,minificationFilter:an.NEAREST,magnificationFilter:yi.NEAREST})})}for(this._textureCache.update(e),A.update(e,t),d.update(e,t),p.update(e,t),m.update(e,t),this._autoExposureEnabled&&g.update(e,t),s=r.length,a=0;a<s;++a)r[a].update(e,t);for(l=0,a=0;a<s;++a)c=r[a],c.ready&&c.enabled&&c._isSupported(e)&&l++;f=l!==o.length,f&&this.update(e,t,n)};Yc.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)};function rC(e){for(;u(e.length);)e=e.get(e.length-1);return e.outputTexture}Yc.prototype.getOutputTexture=function(e){let t=this.getStageByName(e);if(u(t))return rC(t)};function xm(e,t,n,i,o){if(u(e.execute)){e.execute(t,n,i,o);return}let r=e.length,s;if(e.inputPreviousStageTexture)for(xm(e.get(0),t,n,i,o),s=1;s<r;++s)xm(e.get(s),t,rC(e.get(s-1)),i,o);else for(s=0;s<r;++s)xm(e.get(s),t,n,i,o)}Yc.prototype.execute=function(e,t,n,i){let o=this._activeStages,r=o.length,s=this._fxaa,a=this._ao,c=this._bloom,l=this._autoExposure,f=this._tonemapping,d=a.enabled&&a._isSupported(e),p=c.enabled&&c._isSupported(e),g=this._autoExposureEnabled,m=f.enabled&&f._isSupported(e),A=s.enabled&&s._isSupported(e);if(!A&&!d&&!p&&!m&&r===0)return;let x=t;d&&a.ready&&(xm(a,e,x,n,i),x=rC(a)),p&&c.ready&&(xm(c,e,x,n,i),x=rC(c)),g&&l.ready&&xm(l,e,x,n,i),m&&f.ready&&(xm(f,e,x,n,i),x=rC(f));let C=x;if(r>0){xm(o[0],e,x,n,i);for(let T=1;T<r;++T)xm(o[T],e,rC(o[T-1]),n,i);C=rC(o[r-1])}A&&s.ready&&xm(s,e,C,n,i)};Yc.prototype.copy=function(e,t){if(!u(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Il,{uniformMap:{colorTexture:function(){return n.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};Yc.prototype.isDestroyed=function(){return!1};Yc.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),le(this)};var XN=Yc;function sC(e){this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}sC.prototype.completeMorph=function(){u(this._completeMorph)&&this._completeMorph()};sC.prototype.morphTo2D=function(e,t){u(this._completeMorph)&&this._completeMorph();let n=this._scene;this._previousMode=n.mode,this._morphToOrthographic=n.camera.frustum instanceof en,!(this._previousMode===te.SCENE2D||this._previousMode===te.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,te.SCENE2D,!0),n._mode=te.MORPHING,n.camera._setTransform(M.IDENTITY),this._previousMode===te.COLUMBUS_VIEW?Zlt(this,e):iut(this,e,t),e===0&&u(this._completeMorph)&&this._completeMorph())};var ylt=new h,Alt=new h,xlt=new h,Clt=new h,Tlt=new h,Elt=new h,blt=new h,Slt=new he,Dlt=new M,vlt=new Ti,wlt=new en,Ilt={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};sC.prototype.morphToColumbusView=function(e,t){u(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,this._previousMode===te.COLUMBUS_VIEW||this._previousMode===te.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,te.COLUMBUS_VIEW,!0),n.camera._setTransform(M.IDENTITY);let i=ylt,o=Alt,r=xlt;if(e>0)i.x=0,i.y=-1,i.z=1,i=h.multiplyByScalar(h.normalize(i,i),5*t.maximumRadius,i),h.negate(h.normalize(i,o),o),h.cross(h.UNIT_X,o,r);else{let l=n.camera;if(this._previousMode===te.SCENE2D)h.clone(l.position,i),i.z=l.frustum.right-l.frustum.left,h.negate(h.UNIT_Z,o),h.clone(h.UNIT_Y,r);else{h.clone(l.positionWC,i),h.clone(l.directionWC,o),h.clone(l.upWC,r);let f=t.scaleToGeodeticSurface(i,blt),d=Ot.eastNorthUpToFixedFrame(f,t,Dlt);M.inverseTransformation(d,d),n.mapProjection.project(t.cartesianToCartographic(i,Slt),i),M.multiplyByPointAsVector(d,o,o),M.multiplyByPointAsVector(d,r,r)}}let s;this._morphToOrthographic?(s=wlt,s.width=n.camera.frustum.right-n.camera.frustum.left,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight):(s=vlt,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,s.fov=P.toRadians(60));let a=Ilt;a.position=i,a.direction=o,a.up=r,a.frustum=s;let c=rut(a);KN(this,c),this._previousMode===te.SCENE2D?out(this,e,a,c):(a.position2D=M.multiplyByPoint(ro.TRANSFORM_2D,i,Clt),a.direction2D=M.multiplyByPointAsVector(ro.TRANSFORM_2D,o,Tlt),a.up2D=M.multiplyByPointAsVector(ro.TRANSFORM_2D,r,Elt),n._mode=te.MORPHING,yye(this,e,a,c)),e===0&&u(this._completeMorph)&&this._completeMorph()};var hq={position:new h,direction:new h,up:new h,frustum:void 0},lye=new Ti;sC.prototype.morphTo3D=function(e,t){u(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,!(this._previousMode===te.SCENE3D||this._previousMode===te.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,te.SCENE3D,!0),n._mode=te.MORPHING,n.camera._setTransform(M.IDENTITY),this._previousMode===te.SCENE2D)klt(this,e,t);else{let i;e>0?(i=hq,h.fromDegrees(0,0,5*t.maximumRadius,t,i.position),h.negate(i.position,i.direction),h.normalize(i.direction,i.direction),h.clone(h.UNIT_Z,i.up)):i=uye(this,t);let o,r=n.camera;r.frustum instanceof en?o=r.frustum.clone():(o=lye,o.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,o.fov=P.toRadians(60)),i.frustum=o;let s=xye(i);KN(this,s),dq(this,e,i,s)}e===0&&u(this._completeMorph)&&this._completeMorph()}};sC.prototype.isDestroyed=function(){return!1};sC.prototype.destroy=function(){return R4(this),le(this)};function KN(e,t){if(e._scene.completeMorphOnUserInput){e._morphHandler=new Tu(e._scene.canvas);let n=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)};e._completeMorph=n,e._morphHandler.setInputAction(n,yn.LEFT_DOWN),e._morphHandler.setInputAction(n,yn.MIDDLE_DOWN),e._morphHandler.setInputAction(n,yn.RIGHT_DOWN),e._morphHandler.setInputAction(n,yn.WHEEL)}}function R4(e){let t=e._currentTweens;for(let n=0;n<t.length;++n)t[n].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}var Plt=new he,Olt=new h,Rlt=new M;function uye(e,t){let n=e._scene,i=n.camera,o=hq,r=o.position,s=o.direction,a=o.up,c=n.mapProjection.unproject(i.position,Plt);t.cartographicToCartesian(c,r);let l=t.scaleToGeodeticSurface(r,Olt),f=Ot.eastNorthUpToFixedFrame(l,t,Rlt);return M.multiplyByPointAsVector(f,i.direction,s),M.multiplyByPointAsVector(f,i.up,a),o}var Blt=new h,Mlt=new h,Llt=new h,Nlt=new h,Flt=new h,Vlt=new h;function dq(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(r.position,Blt),a=h.clone(r.direction,Mlt),c=h.clone(r.up,Llt),l=M.multiplyByPoint(ro.TRANSFORM_2D_INVERSE,n.position,Nlt),f=M.multiplyByPointAsVector(ro.TRANSFORM_2D_INVERSE,n.direction,Flt),d=M.multiplyByPointAsVector(ro.TRANSFORM_2D_INVERSE,n.up,Vlt);function p(m){Mf(s,l,m.time,r.position),Mf(a,f,m.time,r.direction),Mf(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let g=o.tweens.add({duration:t,easingFunction:Mr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){Aye(e,o,0,1,t,i)}});e._currentTweens.push(g)}var Ult=new en,fye=new h,dye=new h,hye=new h,mq=new h,mye=new h,pye=new h;function klt(e,t,n){t/=3;let i=e._scene,o=i.camera,r;t>0?(r=hq,h.fromDegrees(0,0,5*n.maximumRadius,n,r.position),h.negate(r.position,r.direction),h.normalize(r.direction,r.direction),h.clone(h.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=uye(e,n));let s;e._morphToOrthographic?(s=Ult,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.width=o.frustum.right-o.frustum.left):(s=lye,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.fov=P.toRadians(60)),r.frustum=s;let a=xye(r);KN(e,a);let c;e._morphToOrthographic?c=function(){dq(e,t,r,a)}:c=function(){gye(e,t,r,function(){dq(e,t,r,a)})},t>0?(i._mode=te.SCENE2D,o.flyTo({duration:t,destination:h.fromDegrees(0,0,5*n.maximumRadius,n,mq),complete:function(){i._mode=te.MORPHING,c()}})):c()}function Mf(e,t,n,i){return h.lerp(e,t,n,i)}function _ye(e,t,n,i,o){let r=e._scene,s=r.camera;if(s.frustum instanceof en)return;let a=s.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,l=n.position.z*Math.tan(a*.5);s.frustum.far=l/Math.tan(c*.5)+1e7;function f(p){s.frustum.fov=P.lerp(a,c,p.time);let g=l/Math.tan(s.frustum.fov*.5);i(s,g)}let d=r.tweens.add({duration:t,easingFunction:Mr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){s.frustum=n.frustum.clone(),o(e)}});e._currentTweens.push(d)}var zlt=new h,Hlt=new h,Glt=new h,fq=new h,Wlt=new h,jlt=new h,Ylt=new Tr,qlt=new wn,Xlt=new h,Klt={position:void 0,direction:void 0,up:void 0,frustum:void 0};function Zlt(e,t){t*=.5;let n=e._scene,i=n.camera,o=h.clone(i.position,zlt),r=h.clone(i.direction,Hlt),s=h.clone(i.up,Glt),a=h.negate(h.UNIT_Z,Wlt),c=h.clone(h.UNIT_Y,jlt),l=fq;if(t>0)h.clone(h.ZERO,fq),l.z=5*n.mapProjection.ellipsoid.maximumRadius;else{h.clone(o,fq);let x=qlt;M.multiplyByPoint(ro.TRANSFORM_2D,o,x.origin),M.multiplyByPointAsVector(ro.TRANSFORM_2D,r,x.direction);let C=n.globe;if(u(C)){let T=C.pickWorldCoordinates(x,n,!0,Xlt);u(T)&&(M.multiplyByPoint(ro.TRANSFORM_2D_INVERSE,T,l),l.z+=h.distance(o,l))}}let f=Ylt;f.right=l.z*.5,f.left=-f.right,f.top=f.right*(n.drawingBufferHeight/n.drawingBufferWidth),f.bottom=-f.top;let d=Klt;d.position=l,d.direction=a,d.up=c,d.frustum=f;let p=Cye(d);KN(e,p);function g(x){Mf(o,l,x.time,i.position),Mf(r,a,x.time,i.direction),Mf(s,c,x.time,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i._adjustOrthographicFrustum(!0)}function m(x,C){x.position.z=C}let A=n.tweens.add({duration:t,easingFunction:Mr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){_ye(e,t,d,m,p)}});e._currentTweens.push(A)}var cye=new he,Jlt={position:new h,direction:new h,up:new h,position2D:new h,direction2D:new h,up2D:new h,frustum:new Tr},Qlt={position:new h,direction:new h,up:new h,frustum:void 0},$lt=new h,eut=new wn,tut=new M,nut=new h;function iut(e,t,n){t*=.5;let i=e._scene,o=i.camera,r=Jlt;if(t>0)h.clone(h.ZERO,r.position),r.position.z=5*n.maximumRadius,h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);else{n.cartesianToCartographic(o.positionWC,cye),i.mapProjection.project(cye,r.position),h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);let d=eut;h.clone(r.position2D,d.origin);let p=h.clone(o.directionWC,d.direction),g=n.scaleToGeodeticSurface(o.positionWC,nut),m=Ot.eastNorthUpToFixedFrame(g,n,tut);M.inverseTransformation(m,m),M.multiplyByPointAsVector(m,p,p),M.multiplyByPointAsVector(ro.TRANSFORM_2D,p,p);let A=i.globe;if(u(A)){let x=A.pickWorldCoordinates(d,i,!0,$lt);if(u(x)){let C=h.distance(r.position2D,x);x.x+=C,h.clone(x,r.position2D)}}}function s(d,p){d.position.x=p}M.multiplyByPoint(ro.TRANSFORM_2D,r.position,r.position2D),M.multiplyByPointAsVector(ro.TRANSFORM_2D,r.direction,r.direction2D),M.multiplyByPointAsVector(ro.TRANSFORM_2D,r.up,r.up2D);let a=r.frustum;a.right=r.position.z*.5,a.left=-a.right,a.top=a.right*(i.drawingBufferHeight/i.drawingBufferWidth),a.bottom=-a.top;let c=Qlt;M.multiplyByPoint(ro.TRANSFORM_2D_INVERSE,r.position2D,c.position),h.clone(r.direction,c.direction),h.clone(r.up,c.up),c.frustum=a;let l=Cye(c);KN(e,l);function f(){_ye(e,t,r,s,l)}yye(e,t,r,f)}function gye(e,t,n,i){let o=e._scene,r=o.camera,s=r.frustum.right-r.frustum.left;r.frustum=n.frustum.clone();let a=r.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,l=s*Math.tan(a*.5);r.frustum.far=l/Math.tan(c*.5)+1e7,r.frustum.fov=c;function f(p){r.frustum.fov=P.lerp(c,a,p.time),r.position.z=l/Math.tan(r.frustum.fov*.5)}let d=o.tweens.add({duration:t,easingFunction:Mr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){i(e)}});e._currentTweens.push(d)}function out(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(n.position,mq),a=h.clone(n.direction,mye),c=h.clone(n.up,pye);o._mode=te.MORPHING;function l(){r.frustum=n.frustum.clone();let f=h.clone(r.position,fye),d=h.clone(r.direction,dye),p=h.clone(r.up,hye);f.z=s.z;function g(A){Mf(f,s,A.time,r.position),Mf(d,a,A.time,r.direction),Mf(p,c,A.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let m=o.tweens.add({duration:t,easingFunction:Mr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){i(e)}});e._currentTweens.push(m)}e._morphToOrthographic?l():gye(e,0,n,l)}function yye(e,t,n,i){let o=e._scene,r=o.camera,s=h.clone(r.position,fye),a=h.clone(r.direction,dye),c=h.clone(r.up,hye),l=h.clone(n.position2D,mq),f=h.clone(n.direction2D,mye),d=h.clone(n.up2D,pye);function p(m){Mf(s,l,m.time,r.position),Mf(a,f,m.time,r.direction),Mf(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right),r._adjustOrthographicFrustum(!0)}let g=o.tweens.add({duration:t,easingFunction:Mr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){Aye(e,o,1,0,t,i)}});e._currentTweens.push(g)}function Aye(e,t,n,i,o,r){let s={object:t,property:"morphTime",startValue:n,stopValue:i,duration:o,easingFunction:Mr.QUARTIC_OUT};u(r)&&(s.complete=function(){r(e)});let a=t.tweens.addProperty(s);e._currentTweens.push(a)}function xye(e){return function(t){let n=t._scene;n._mode=te.SCENE3D,n.morphTime=te.getMorphTime(te.SCENE3D),R4(t);let i=n.camera;(t._previousMode!==te.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone());let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=u(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,te.SCENE3D,r)}}function Cye(e){return function(t){let n=t._scene;n._mode=te.SCENE2D,n.morphTime=te.getMorphTime(te.SCENE2D),R4(t);let i=n.camera;h.clone(e.position,i.position),i.position.z=n.mapProjection.ellipsoid.maximumRadius*2,h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone();let o=u(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,te.SCENE2D,o)}}function rut(e){return function(t){let n=t._scene;n._mode=te.COLUMBUS_VIEW,n.morphTime=te.getMorphTime(te.COLUMBUS_VIEW),R4(t);let i=n.camera;(t._previousModeMode!==te.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right));let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=u(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,te.COLUMBUS_VIEW,r)}}var ZN=sC;var sut={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},Ii=Object.freeze(sut);function fc(e,t){let n=e;return u(t)&&(n+=`+${t}`),n}function aut(e,t){H.clone(e.distance.startPosition,t.distance.startPosition),H.clone(e.distance.endPosition,t.distance.endPosition),H.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),H.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function Tye(e,t,n){let i=fc(Ii.PINCH,t),o=e._update,r=e._isDown,s=e._eventStartPosition,a=e._pressTime,c=e._releaseTime;o[i]=!0,r[i]=!1,s[i]=new H;let l=e._movement[i];u(l)||(l=e._movement[i]={}),l.distance={startPosition:new H,endPosition:new H},l.angleAndHeight={startPosition:new H,endPosition:new H},l.prevAngle=0,e._eventHandler.setInputAction(function(f){e._buttonsDown++,r[i]=!0,a[i]=new Date,H.lerp(f.position1,f.position2,.5,s[i])},yn.PINCH_START,t),e._eventHandler.setInputAction(function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),r[i]=!1,c[i]=new Date},yn.PINCH_END,t),e._eventHandler.setInputAction(function(f){if(r[i]){o[i]?(aut(f,l),o[i]=!1,l.prevAngle=l.angleAndHeight.startPosition.x):(H.clone(f.distance.endPosition,l.distance.endPosition),H.clone(f.angleAndHeight.endPosition,l.angleAndHeight.endPosition));let d=l.angleAndHeight.endPosition.x,p=l.prevAngle,g=Math.PI*2;for(;d>=p+Math.PI;)d-=g;for(;d<p-Math.PI;)d+=g;l.angleAndHeight.endPosition.x=-d*n.clientWidth/12,l.angleAndHeight.startPosition.x=-p*n.clientWidth/12}},yn.PINCH_MOVE,t)}function Eye(e,t){let n=fc(Ii.WHEEL,t),i=e._update;i[n]=!0;let o=e._movement[n];u(o)||(o=e._movement[n]={}),o.startPosition=new H,o.endPosition=new H,e._eventHandler.setInputAction(function(r){let s=15*P.toRadians(r);i[n]?(H.clone(H.ZERO,o.startPosition),o.endPosition.x=0,o.endPosition.y=s,i[n]=!1):o.endPosition.y=o.endPosition.y+s},yn.WHEEL,t)}function hS(e,t,n){let i=fc(n,t),o=e._isDown,r=e._eventStartPosition,s=e._pressTime,a=e._releaseTime;o[i]=!1,r[i]=new H;let c=e._lastMovement[i];u(c)||(c=e._lastMovement[i]={startPosition:new H,endPosition:new H,valid:!1});let l,f;n===Ii.LEFT_DRAG?(l=yn.LEFT_DOWN,f=yn.LEFT_UP):n===Ii.RIGHT_DRAG?(l=yn.RIGHT_DOWN,f=yn.RIGHT_UP):n===Ii.MIDDLE_DRAG&&(l=yn.MIDDLE_DOWN,f=yn.MIDDLE_UP),e._eventHandler.setInputAction(function(d){e._buttonsDown++,c.valid=!1,o[i]=!0,s[i]=new Date,H.clone(d.position,r[i])},l,t),e._eventHandler.setInputAction(function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),o[i]=!1,a[i]=new Date},f,t)}function bye(e,t){H.clone(e.startPosition,t.startPosition),H.clone(e.endPosition,t.endPosition)}function Sye(e,t){let n=e._update,i=e._movement,o=e._lastMovement,r=e._isDown;for(let s in Ii)if(Ii.hasOwnProperty(s)){let a=Ii[s];if(u(a)){let c=fc(a,t);n[c]=!0,u(e._lastMovement[c])||(e._lastMovement[c]={startPosition:new H,endPosition:new H,valid:!1}),u(e._movement[c])||(e._movement[c]={startPosition:new H,endPosition:new H})}}e._eventHandler.setInputAction(function(s){for(let a in Ii)if(Ii.hasOwnProperty(a)){let c=Ii[a];if(u(c)){let l=fc(c,t);r[l]&&(n[l]?(bye(i[l],o[l]),o[l].valid=!0,bye(s,i[l]),n[l]=!1):H.clone(s.endPosition,i[l].endPosition))}}H.clone(s.endPosition,e._currentMousePosition)},yn.MOUSE_MOVE,t)}function Lf(e){this._eventHandler=new Tu(e),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new H,Eye(this,void 0),Tye(this,void 0,e),hS(this,void 0,Ii.LEFT_DRAG),hS(this,void 0,Ii.RIGHT_DRAG),hS(this,void 0,Ii.MIDDLE_DRAG),Sye(this,void 0);for(let t in Js)if(Js.hasOwnProperty(t)){let n=Js[t];u(n)&&(Eye(this,n),Tye(this,n,e),hS(this,n,Ii.LEFT_DRAG),hS(this,n,Ii.RIGHT_DRAG),hS(this,n,Ii.MIDDLE_DRAG),Sye(this,n))}}Object.defineProperties(Lf.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){let e=!this._update[fc(Ii.WHEEL)]||!this._update[fc(Ii.WHEEL,Js.SHIFT)]||!this._update[fc(Ii.WHEEL,Js.CTRL)]||!this._update[fc(Ii.WHEEL,Js.ALT)];return this._buttonsDown>0||e}}});Lf.prototype.isMoving=function(e,t){let n=fc(e,t);return!this._update[n]};Lf.prototype.getMovement=function(e,t){let n=fc(e,t);return this._movement[n]};Lf.prototype.getLastMovement=function(e,t){let n=fc(e,t),i=this._lastMovement[n];if(i.valid)return i};Lf.prototype.isButtonDown=function(e,t){let n=fc(e,t);return this._isDown[n]};Lf.prototype.getStartMousePosition=function(e,t){if(e===Ii.WHEEL)return this._currentMousePosition;let n=fc(e,t);return this._eventStartPosition[n]};Lf.prototype.getButtonPressTime=function(e,t){let n=fc(e,t);return this._pressTime[n]};Lf.prototype.getButtonReleaseTime=function(e,t){let n=fc(e,t);return this._releaseTime[n]};Lf.prototype.reset=function(){for(let e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)};Lf.prototype.isDestroyed=function(){return!1};Lf.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),le(this)};var JN=Lf;function B4(e,t,n,i,o,r,s,a,c,l){this._tweens=e,this._tweenjs=t,this._startObject=Ge(n),this._stopObject=Ge(i),this._duration=o,this._delay=r,this._easingFunction=s,this._update=a,this._complete=c,this.cancel=l,this.needsStart=!0}Object.defineProperties(B4.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});B4.prototype.cancelTween=function(){this._tweens.remove(this)};function oh(){this._tweens=[]}Object.defineProperties(oh.prototype,{length:{get:function(){return this._tweens.length}}});oh.prototype.add=function(e){if(e=y(e,y.EMPTY_OBJECT),e.duration===0)return u(e.complete)&&e.complete(),new B4(this);let t=e.duration/Qn.SECONDS_PER_MILLISECOND,n=y(e.delay,0),i=n/Qn.SECONDS_PER_MILLISECOND,o=y(e.easingFunction,Mr.LINEAR_NONE),r=e.startObject,s=new Hhe(r);s.to(Ge(e.stopObject),t),s.delay(i),s.easing(o),u(e.update)&&s.onUpdate(function(){e.update(r)}),s.onComplete(y(e.complete,null)),s.repeat(y(e._repeat,0));let a=new B4(this,s,e.startObject,e.stopObject,e.duration,n,o,e.update,e.complete,e.cancel);return this._tweens.push(a),a};oh.prototype.addProperty=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.object,n=e.property,i=e.startValue,o=e.stopValue;function r(s){t[n]=s.value}return this.add({startObject:{value:i},stopObject:{value:o},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:r,complete:e.complete,cancel:e.cancel,_repeat:e._repeat})};oh.prototype.addAlpha=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.material,n=[];for(let o in t.uniforms)t.uniforms.hasOwnProperty(o)&&u(t.uniforms[o])&&u(t.uniforms[o].alpha)&&n.push(o);function i(o){let r=n.length;for(let s=0;s<r;++s)t.uniforms[n[s]].alpha=o.alpha}return this.add({startObject:{alpha:y(e.startValue,0)},stopObject:{alpha:y(e.stopValue,1)},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:i,complete:e.complete,cancel:e.cancel})};oh.prototype.addOffsetIncrement=function(e){e=y(e,y.EMPTY_OBJECT);let n=e.material.uniforms;return this.addProperty({object:n,property:"offset",startValue:n.offset,stopValue:n.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})};oh.prototype.remove=function(e){if(!u(e))return!1;let t=this._tweens.indexOf(e);return t!==-1?(e.tweenjs.stop(),u(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0):!1};oh.prototype.removeAll=function(){let e=this._tweens;for(let t=0;t<e.length;++t){let n=e[t];n.tweenjs.stop(),u(n.cancel)&&n.cancel()}e.length=0};oh.prototype.contains=function(e){return u(e)&&this._tweens.indexOf(e)!==-1};oh.prototype.get=function(e){return this._tweens[e]};oh.prototype.update=function(e){let t=this._tweens,n=0;for(e=u(e)?e/Qn.SECONDS_PER_MILLISECOND:di();n<t.length;){let i=t[n],o=i.tweenjs;i.needsStart?(i.needsStart=!1,o.start(e)):o.update(e)?n++:(o.stop(),t.splice(n,1))}};var aC=oh;function $N(e){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.translateEventTypes=Ii.LEFT_DRAG,this.zoomEventTypes=[Ii.RIGHT_DRAG,Ii.WHEEL,Ii.PINCH],this.rotateEventTypes=Ii.LEFT_DRAG,this.tiltEventTypes=[Ii.MIDDLE_DRAG,Ii.PINCH,{eventType:Ii.LEFT_DRAG,modifier:Js.CTRL},{eventType:Ii.RIGHT_DRAG,modifier:Js.CTRL}],this.lookEventTypes={eventType:Ii.LEFT_DRAG,modifier:Js.SHIFT},this.minimumPickingTerrainHeight=15e4,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumCollisionTerrainHeight=15e3,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=75e5,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this._scene=e,this._globe=void 0,this._ellipsoid=void 0,this._aggregator=new JN(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new aC,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new H(-1,-1),this._tiltCenter=new h,this._rotateMousePosition=new H(-1,-1),this._rotateStartPosition=new h,this._strafeStartPosition=new h,this._strafeMousePosition=new H,this._strafeEndMousePosition=new H,this._zoomMouseStart=new H(-1,-1),this._zoomWorldPosition=new h,this._useZoomWorldPosition=!1,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let t=e.mapProjection;this._maxCoord=t.project(new he(Math.PI,P.PI_OVER_TWO)),this._zoomFactor=5,this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function cut(e,t){if(e<0)return 0;let n=(1-t)*25;return Math.exp(-n*e)}function lut(e){return H.equalsEpsilon(e.startPosition,e.endPosition,P.EPSILON14)}var uut=.4;function fut(e,t,n,i,o,r,s){let a=r[s];u(a)||(a=r[s]={startPosition:new H,endPosition:new H,motion:new H,inertiaEnabled:!0});let c=e.getButtonPressTime(t,n),l=e.getButtonReleaseTime(t,n),f=c&&l&&(l.getTime()-c.getTime())/1e3,d=new Date,p=l&&(d.getTime()-l.getTime())/1e3;if(c&&l&&f<uut){let g=cut(p,i),m=e.getLastMovement(t,n);if(!u(m)||lut(m)||!a.inertiaEnabled||(a.motion.x=(m.endPosition.x-m.startPosition.x)*.5,a.motion.y=(m.endPosition.y-m.startPosition.y)*.5,a.startPosition=H.clone(m.startPosition,a.startPosition),a.endPosition=H.multiplyByScalar(a.motion,g,a.endPosition),a.endPosition=H.add(a.startPosition,a.endPosition,a.endPosition),isNaN(a.endPosition.x)||isNaN(a.endPosition.y)||H.distance(a.startPosition,a.endPosition)<.5))return;if(!e.isButtonDown(t,n)){let A=e.getStartMousePosition(t,n);o(r,A,a)}}}function dut(e,t){if(u(t)){let n=e[t];u(n)&&(n.inertiaEnabled=!0);let i=e._inertiaDisablers[t];if(u(i)){let o=i.length;for(let r=0;r<o;++r)n=e[i[r]],u(n)&&(n.inertiaEnabled=!1)}}}var Dye=[];function qc(e,t,n,i,o,r){if(!u(n))return;let s=e._aggregator;Array.isArray(n)||(Dye[0]=n,n=Dye);let a=n.length;for(let c=0;c<a;++c){let l=n[c],f=u(l.eventType)?l.eventType:l,d=l.modifier,p=s.isMoving(f,d)&&s.getMovement(f,d),g=s.getStartMousePosition(f,d);e.enableInputs&&t&&(p?(i(e,g,p),dut(e,r)):o<1&&fut(s,f,d,o,i,e,r))}}var M4=new wn,hut=new h,mut=new H,put=new h,_ut=new H,gut=new h,yut=new h,Aut=new h,xut=new h,Cut=new h,Tut=new h,Eut=new h,but=new h,Sut=new h,Dut=new h,vut=new h,wut=new h,Iut=new h,Put=new h,Out=new h,cC=new h,vye=new h,wye=new h,pq={orientation:new Ba};function Eq(e,t,n,i,o,r){let s=1;u(r)&&(s=P.clamp(Math.abs(r),.25,1));let a=n.endPosition.y-n.startPosition.y,l=a>0?e.minimumZoomDistance*s:0,f=e.maximumZoomDistance,d=o-l,p=i*d;p=P.clamp(p,e._minimumZoomRate,e._maximumZoomRate);let g=a/e._scene.canvas.clientHeight;g=Math.min(g,e.maximumMovementRatio);let m=p*g;if(e.enableCollisionDetection||e.minimumZoomDistance===0||!u(e._globe)){if(m>0&&Math.abs(o-l)<1||m<0&&Math.abs(o-f)<1)return;o-m<l?m=o-l-1:o-m>f&&(m=o-f)}let A=e._scene,x=A.camera,C=A.mode,T=pq.orientation;if(T.heading=x.heading,T.pitch=x.pitch,T.roll=x.roll,x.frustum instanceof en){Math.abs(m)>0&&(x.zoomIn(m),x._adjustOrthographicFrustum());return}let E=H.equals(t,e._zoomMouseStart),S=e._zoomingOnVector,D=e._rotatingZoom,w;if(E||(e._zoomMouseStart=H.clone(t,e._zoomMouseStart),u(e._globe)&&(C===te.SCENE2D?(w=x.getPickRay(t,M4).origin,w=h.fromElements(w.y,w.z,w.x)):w=qy(e,t,hut)),u(w)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=h.clone(w,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,S=e._zoomingOnVector=!1,D=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),!e._useZoomWorldPosition){x.zoomIn(m);return}let R=C===te.COLUMBUS_VIEW;if(x.positionCartographic.height<2e6&&(D=!0),!E||D){if(C===te.SCENE2D){let O=e._zoomWorldPosition,L=x.position;if(!h.equals(O,L)&&x.positionCartographic.height<e._maxCoord.x*2){let N=x.position.x,_=h.subtract(O,L,put);h.normalize(_,_);let b=h.distance(O,L)*m/(x.getMagnitude()*.5);x.move(_,b*.5),(x.position.x<0&&N>0||x.position.x>0&&N<0)&&(w=x.getPickRay(t,M4).origin,w=h.fromElements(w.y,w.z,w.x),e._zoomWorldPosition=h.clone(w,e._zoomWorldPosition))}}else if(C===te.SCENE3D){let O=h.normalize(x.position,Cut);if(e._cameraUnderground||e._zoomingUnderground||x.positionCartographic.height<3e3&&Math.abs(h.dot(x.direction,O))<.6)R=!0;else{let L=A.canvas,N=_ut;N.x=L.clientWidth/2,N.y=L.clientHeight/2;let _=qy(e,N,gut);if(!u(_))R=!0;else if(x.positionCartographic.height<1e6)if(h.dot(x.direction,O)>=-.5)R=!0;else{let b=Eut;h.clone(x.position,b);let v=e._zoomWorldPosition,I=Tut;if(I=h.normalize(v,I),h.dot(I,O)<0)return;let B=Out,F=Dut;h.clone(x.direction,F),h.add(b,h.multiplyByScalar(F,1e3,cC),B);let k=vut,U=wut;h.subtract(v,b,k),h.normalize(k,U);let G=h.dot(O,U);if(G>=0){e._zoomMouseStart.x=-1;return}let V=Math.acos(-G),X=h.magnitude(b),j=h.magnitude(v),Q=X-m,W=h.magnitude(k),K=Math.asin(P.clamp(W/j*Math.sin(V),-1,1)),J=Math.asin(P.clamp(Q/j*Math.sin(V),-1,1)),_e=K-J+V,xe=but;h.normalize(b,xe);let re=Sut;re=h.cross(U,xe,re),re=h.normalize(re,re),h.normalize(h.cross(xe,re,cC),F),h.multiplyByScalar(h.normalize(B,cC),h.magnitude(B)-m,B),h.normalize(b,b),h.multiplyByScalar(b,Q,b);let ye=Iut;h.multiplyByScalar(h.add(h.multiplyByScalar(xe,Math.cos(_e)-1,vye),h.multiplyByScalar(F,Math.sin(_e),wye),cC),Q,ye),h.add(b,ye,b),h.normalize(B,xe),h.normalize(h.cross(xe,re,cC),F);let fe=Put;h.multiplyByScalar(h.add(h.multiplyByScalar(xe,Math.cos(_e)-1,vye),h.multiplyByScalar(F,Math.sin(_e),wye),cC),h.magnitude(B),fe),h.add(B,fe,B),h.clone(b,x.position),h.normalize(h.subtract(B,b,cC),x.direction),h.clone(x.direction,x.direction),h.cross(x.direction,x.up,x.right),h.cross(x.right,x.direction,x.up),x.setView(pq);return}else{let b=h.normalize(_,yut),v=h.normalize(e._zoomWorldPosition,Aut),I=h.dot(v,b);if(I>0&&I<1){let B=P.acosClamped(I),F=h.cross(v,b,xut),k=Math.abs(B)>P.toRadians(20)?x.positionCartographic.height*.75:x.positionCartographic.height-m,U=m/k;x.rotate(F,B*U)}}}}e._rotatingZoom=!R}if(!E&&R||S){let O,L=qi.wgs84ToWindowCoordinates(A,e._zoomWorldPosition,mut);C!==te.COLUMBUS_VIEW&&H.equals(t,e._zoomMouseStart)&&u(L)?O=x.getPickRay(L,M4):O=x.getPickRay(t,M4);let N=O.direction;(C===te.COLUMBUS_VIEW||C===te.SCENE2D)&&h.fromElements(N.y,N.z,N.x,N),x.move(N,m),e._zoomingOnVector=!0}else x.zoomIn(m);e._cameraUnderground||x.setView(pq)}var Rut=new wn,But=new wn,Mut=new h;function Lut(e,t,n){let o=e._scene.camera,r=o.getPickRay(n.startPosition,Rut).origin,s=o.getPickRay(n.endPosition,But).origin;r=h.fromElements(r.y,r.z,r.x,r),s=h.fromElements(s.y,s.z,s.x,s);let a=h.subtract(r,s,Mut),c=h.magnitude(a);c>0&&(h.normalize(a,a),o.move(a,c))}function Iye(e,t,n){u(n.distance)&&(n=n.distance);let o=e._scene.camera;Eq(e,t,n,e._zoomFactor,o.getMagnitude())}var Nut=new H,Fut=new H;function Pye(e,t,n){if(u(n.angleAndHeight)){Vut(e,t,n.angleAndHeight);return}let i=e._scene,o=i.camera,r=i.canvas,s=r.clientWidth,a=r.clientHeight,c=Nut;c.x=2/s*n.startPosition.x-1,c.y=2/a*(a-n.startPosition.y)-1,c=H.normalize(c,c);let l=Fut;l.x=2/s*n.endPosition.x-1,l.y=2/a*(a-n.endPosition.y)-1,l=H.normalize(l,l);let f=P.acosClamped(c.x);c.y<0&&(f=P.TWO_PI-f);let d=P.acosClamped(l.x);l.y<0&&(d=P.TWO_PI-d);let p=d-f;o.twistRight(p)}function Vut(e,t,n){let i=e._rotateFactor*e._rotateRateRangeAdjustment;i>e._maximumRotateRate&&(i=e._maximumRotateRate),i<e._minimumRotateRate&&(i=e._minimumRotateRate);let o=e._scene,r=o.camera,s=o.canvas,a=(n.endPosition.x-n.startPosition.x)/s.clientWidth;a=Math.min(a,e.maximumMovementRatio);let c=i*a*Math.PI*4;r.twistRight(c)}function Uut(e){let t=e._scene.mapMode2D===wl.ROTATE;M.equals(M.IDENTITY,e._scene.camera.transform)?(qc(e,e.enableTranslate,e.translateEventTypes,Lut,e.inertiaTranslate,"_lastInertiaTranslateMovement"),qc(e,e.enableZoom,e.zoomEventTypes,Iye,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&qc(e,e.enableRotate,e.tiltEventTypes,Pye,e.inertiaSpin,"_lastInertiaTiltMovement")):(qc(e,e.enableZoom,e.zoomEventTypes,Iye,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&qc(e,e.enableRotate,e.translateEventTypes,Pye,e.inertiaSpin,"_lastInertiaSpinMovement"))}var Lye=new wn,kut=new h,zut=new h;function qy(e,t,n){let i=e._scene,o=e._globe,r=i.camera;if(!u(o))return;let s=!e._cameraUnderground,a;i.pickPositionSupported&&(a=i.pickPositionWorldCoordinates(t,kut));let c=r.getPickRay(t,Lye),l=o.pickWorldCoordinates(c,i,s,zut),f=u(a)?h.distance(a,r.positionWC):Number.POSITIVE_INFINITY,d=u(l)?h.distance(l,r.positionWC):Number.POSITIVE_INFINITY;return f<d?h.clone(a,n):h.clone(l,n)}var Hut=new he;function k4(e){let t=e._ellipsoid,n=e._scene,i=n.camera,o=n.mode,r=0;if(o===te.SCENE3D){let c=t.cartesianToCartographic(i.position,Hut);u(c)&&(r=c.height)}else r=i.position.z;let s=y(e._scene.globeHeight,0);return Math.abs(s-r)}var Gut=new h;function Nye(e,t){let n=t.origin,i=t.direction,o=k4(e),r=h.normalize(n,Gut),s=Math.abs(h.dot(r,i));return s=Math.max(s,.5)*2,o*s}function Fye(e,t,n,i){let o=h.distance(t.origin,n),r=k4(e),s=P.clamp(r*5,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance);return o>s&&(o=Math.min(o,r/5),o=Math.max(o,100)),wn.getPoint(t,o,i)}function Vye(e,t,n,i){let o;return u(n)?(o=h.distance(t.origin,n),o>e._maximumUndergroundPickDistance&&(o=k4(e))):o=k4(e),wn.getPoint(t,o,i)}var Wut=new H;function Uye(e,t){let n=t.endPosition,i=H.subtract(t.endPosition,t.startPosition,Wut),o=e._strafeEndMousePosition;H.add(o,i,o),t.endPosition=o,bq(e,t,e._strafeStartPosition),t.endPosition=n}var Oye=new wn,jut=new wn,_q=new h,Yut=new h,qut=new h,Xut=new h,Kut=new cn(h.UNIT_X,0),Zut=new H,Jut=new H;function Qut(e,t,n){if(h.equals(t,e._translateMousePosition)||(e._looking=!1),h.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking){wu(e,t,n);return}if(e._strafing){Uye(e,n);return}let o=e._scene.camera,r=e._cameraUnderground,s=H.clone(n.startPosition,Zut),a=H.clone(n.endPosition,Jut),c=o.getPickRay(s,Oye),l=h.clone(h.ZERO,Xut),f=h.UNIT_X,d;if(o.position.z<e._minimumPickingTerrainHeight&&(d=qy(e,s,_q),u(d)&&(l.x=d.x)),r||l.x>o.position.z&&u(d)){let E=d;r&&(E=Vye(e,c,d,_q)),H.clone(t,e._strafeMousePosition),H.clone(t,e._strafeEndMousePosition),h.clone(E,e._strafeStartPosition),e._strafing=!0,bq(e,n,e._strafeStartPosition);return}let p=cn.fromPointNormal(l,f,Kut);c=o.getPickRay(s,Oye);let g=Yi.rayPlane(c,p,_q),m=o.getPickRay(a,jut),A=Yi.rayPlane(m,p,Yut);if(!u(g)||!u(A)){e._looking=!0,wu(e,t,n),H.clone(t,e._translateMousePosition);return}let x=h.subtract(g,A,qut),C=x.x;x.x=x.y,x.y=x.z,x.z=C;let T=h.magnitude(x);T>P.EPSILON6&&(h.normalize(x,x),o.move(x,T))}var kye=new H,N4=new wn,F4=new h,$ut=new h,zye=new M,eft=new M,tft=new h,nft=new cn(h.UNIT_X,0),gq=new h,xq=new he,Hye=new M,ift=new Le,oft=new Z,V4=new h;function rft(e,t,n){if(u(n.angleAndHeight)&&(n=n.angleAndHeight),H.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking){wu(e,t,n);return}let o=e._scene.camera;e._tiltCVOffMap||!e.onMap()||Math.abs(o.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,sft(e,t,n)):aft(e,t,n)}function sft(e,t,n){let i=e._scene,o=i.camera,r=i.canvas,s=kye;s.x=r.clientWidth/2,s.y=r.clientHeight/2;let a=o.getPickRay(s,N4),c=h.UNIT_X,l=a.origin,f=a.direction,d,p=h.dot(c,f);if(Math.abs(p)>P.EPSILON6&&(d=-h.dot(c,l)/p),!u(d)||d<=0){e._looking=!0,wu(e,t,n),H.clone(t,e._tiltCenterMousePosition);return}let g=h.multiplyByScalar(f,d,F4);h.add(l,g,g);let m=i.mapProjection,A=m.ellipsoid;h.fromElements(g.y,g.z,g.x,g);let x=m.unproject(g,xq);A.cartographicToCartesian(x,g);let C=Ot.eastNorthUpToFixedFrame(g,A,zye),T=e._globe,E=e._ellipsoid;e._globe=void 0,e._ellipsoid=ie.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let S=M.clone(o.transform,Hye);o._setTransform(C),vu(e,t,n,h.UNIT_Z),o._setTransform(S),e._globe=T,e._ellipsoid=E;let D=E.maximumRadius;e._rotateFactor=1/D,e._rotateRateRangeAdjustment=D}function aft(e,t,n){let i=e._scene,o=i.camera,r=e._cameraUnderground,s,a,c=h.UNIT_X;if(H.equals(t,e._tiltCenterMousePosition))s=h.clone(e._tiltCenter,F4);else{if(o.position.z<e._minimumPickingTerrainHeight&&(s=qy(e,t,F4)),!u(s)){a=o.getPickRay(t,N4);let _=a.origin,b=a.direction,v,I=h.dot(c,b);if(Math.abs(I)>P.EPSILON6&&(v=-h.dot(c,_)/I),!u(v)||v<=0){e._looking=!0,wu(e,t,n),H.clone(t,e._tiltCenterMousePosition);return}s=h.multiplyByScalar(b,v,F4),h.add(_,s,s)}r&&(u(a)||(a=o.getPickRay(t,N4)),Fye(e,a,s,s)),H.clone(t,e._tiltCenterMousePosition),h.clone(s,e._tiltCenter)}let l=i.canvas,f=kye;f.x=l.clientWidth/2,f.y=e._tiltCenterMousePosition.y,a=o.getPickRay(f,N4);let d=h.clone(h.ZERO,tft);d.x=s.x;let p=cn.fromPointNormal(d,c,nft),g=Yi.rayPlane(a,p,$ut),m=o._projection,A=m.ellipsoid;h.fromElements(s.y,s.z,s.x,s);let x=m.unproject(s,xq);A.cartographicToCartesian(x,s);let C=Ot.eastNorthUpToFixedFrame(s,A,zye),T;u(g)?(h.fromElements(g.y,g.z,g.x,g),x=m.unproject(g,xq),A.cartographicToCartesian(x,g),T=Ot.eastNorthUpToFixedFrame(g,A,eft)):T=C;let E=e._globe,S=e._ellipsoid;e._globe=void 0,e._ellipsoid=ie.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let D=h.UNIT_Z,w=M.clone(o.transform,Hye);o._setTransform(C);let R=h.cross(h.UNIT_Z,h.normalize(o.position,gq),gq),O=h.dot(o.right,R);if(vu(e,t,n,D,!1,!0),o._setTransform(T),O<0){let _=n.startPosition.y-n.endPosition.y;(r&&_<0||!r&&_>0)&&(D=void 0);let b=o.constrainedAxis;o.constrainedAxis=void 0,vu(e,t,n,D,!0,!1),o.constrainedAxis=b}else vu(e,t,n,D,!0,!1);if(u(o.constrainedAxis)){let _=h.cross(o.direction,o.constrainedAxis,V4);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,o.right)<0&&h.negate(_,_),h.cross(_,o.direction,o.up),h.cross(o.direction,o.up,o.right),h.normalize(o.up,o.up),h.normalize(o.right,o.right))}o._setTransform(w),e._globe=E,e._ellipsoid=S;let L=S.maximumRadius;e._rotateFactor=1/L,e._rotateRateRangeAdjustment=L;let N=h.clone(o.positionWC,gq);if(e.enableCollisionDetection&&vq(e),!h.equals(o.positionWC,N)){o._setTransform(T),o.worldToCameraCoordinatesPoint(N,N);let _=h.magnitudeSquared(N);h.magnitudeSquared(o.position)>_&&(h.normalize(o.position,o.position),h.multiplyByScalar(o.position,Math.sqrt(_),o.position));let b=h.angleBetween(N,o.position),v=h.cross(N,o.position,N);h.normalize(v,v);let I=Le.fromAxisAngle(v,b,ift),B=Z.fromQuaternion(I,oft);Z.multiplyByVector(B,o.direction,o.direction),Z.multiplyByVector(B,o.up,o.up),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up),o._setTransform(w)}}var Gye=new H,Wye=new wn,jye=new h;function cft(e,t,n){u(n.distance)&&(n=n.distance);let i=e._scene,o=i.camera,r=i.canvas,s=e._cameraUnderground,a;s?a=t:(a=Gye,a.x=r.clientWidth/2,a.y=r.clientHeight/2);let c=o.getPickRay(a,Wye),l=c.origin,f=c.direction,d=o.position.z,p;d<e._minimumPickingTerrainHeight&&(p=qy(e,a,jye));let g;if(u(p)&&(g=h.distance(l,p)),s){let m=Nye(e,c,d);u(g)?g=Math.min(g,m):g=m}if(!u(g)){let m=h.UNIT_X;g=-h.dot(m,l)/h.dot(m,f)}Eq(e,t,n,e._zoomFactor,g)}function lft(e){let n=e._scene.camera;if(!M.equals(M.IDENTITY,n.transform))qc(e,e.enableRotate,e.rotateEventTypes,vu,e.inertiaSpin,"_lastInertiaSpinMovement"),qc(e,e.enableZoom,e.zoomEventTypes,Yye,e.inertiaZoom,"_lastInertiaZoomMovement");else{let i=e._tweens;if(e._aggregator.anyButtonDown&&i.removeAll(),qc(e,e.enableTilt,e.tiltEventTypes,rft,e.inertiaSpin,"_lastInertiaTiltMovement"),qc(e,e.enableTranslate,e.translateEventTypes,Qut,e.inertiaTranslate,"_lastInertiaTranslateMovement"),qc(e,e.enableZoom,e.zoomEventTypes,cft,e.inertiaZoom,"_lastInertiaZoomMovement"),qc(e,e.enableLook,e.lookEventTypes,wu),!e._aggregator.anyButtonDown&&!i.contains(e._tween)){let o=n.createCorrectPositionTween(e.bounceAnimationTime);u(o)&&(e._tween=i.add(o))}i.update()}}var uft=new wn,fft=new cn(h.UNIT_X,0),dft=new h,hft=new h,mft=new h;function bq(e,t,n){let i=e._scene,o=i.camera,r=o.getPickRay(t.endPosition,uft),s=h.clone(o.direction,hft);i.mode===te.COLUMBUS_VIEW&&h.fromElements(s.z,s.x,s.y,s);let a=cn.fromPointNormal(n,s,fft),c=Yi.rayPlane(r,a,dft);u(c)&&(s=h.subtract(n,c,s),i.mode===te.COLUMBUS_VIEW&&h.fromElements(s.y,s.z,s.x,s),h.add(o.position,s,o.position))}var Rye=new h,pft=new he,Cq=new h,Tq=new ie,_ft=new h,gft=new h;function yft(e,t,n){let o=e._scene.camera,r=e._cameraUnderground,s=e._ellipsoid;if(!M.equals(o.transform,M.IDENTITY)){vu(e,t,n);return}let a,c,l=s.geodeticSurfaceNormal(o.position,_ft);if(H.equals(t,e._rotateMousePosition)){if(e._looking)wu(e,t,n,l);else if(e._rotating)vu(e,t,n);else if(e._strafing)Uye(e,n);else{if(h.magnitude(o.position)<h.magnitude(e._rotateStartPosition))return;a=h.magnitude(e._rotateStartPosition),c=Cq,c.x=c.y=c.z=a,s=ie.fromCartesian3(c,Tq),Aq(e,t,n,s)}return}e._looking=!1,e._rotating=!1,e._strafing=!1;let f=s.cartesianToCartographic(o.positionWC,pft).height,d=e._globe;if(u(d)&&f<e._minimumPickingTerrainHeight){let p=qy(e,n.startPosition,mft);if(u(p)){let g=!1,m=o.getPickRay(n.startPosition,Lye);if(r)g=!0,Vye(e,m,p,p);else{let A=s.geodeticSurfaceNormal(p,gft);Math.abs(h.dot(m.direction,A))<.05?g=!0:g=h.magnitude(o.position)<h.magnitude(p)}g?(H.clone(t,e._strafeEndMousePosition),h.clone(p,e._strafeStartPosition),e._strafing=!0,bq(e,n,e._strafeStartPosition)):(a=h.magnitude(p),c=Cq,c.x=c.y=c.z=a,s=ie.fromCartesian3(c,Tq),Aq(e,t,n,s),h.clone(p,e._rotateStartPosition))}else e._looking=!0,wu(e,t,n,l)}else u(o.pickEllipsoid(n.startPosition,e._ellipsoid,Rye))?(Aq(e,t,n,e._ellipsoid),h.clone(Rye,e._rotateStartPosition)):f>e._minimumTrackBallHeight?(e._rotating=!0,vu(e,t,n)):(e._looking=!0,wu(e,t,n,l));H.clone(t,e._rotateMousePosition)}function vu(e,t,n,i,o,r){o=y(o,!1),r=y(r,!1);let s=e._scene,a=s.camera,c=s.canvas,l=a.constrainedAxis;u(i)&&(a.constrainedAxis=i);let f=h.magnitude(a.position),d=e._rotateFactor*(f-e._rotateRateRangeAdjustment);d>e._maximumRotateRate&&(d=e._maximumRotateRate),d<e._minimumRotateRate&&(d=e._minimumRotateRate);let p=(n.startPosition.x-n.endPosition.x)/c.clientWidth,g=(n.startPosition.y-n.endPosition.y)/c.clientHeight;p=Math.min(p,e.maximumMovementRatio),g=Math.min(g,e.maximumMovementRatio);let m=d*p*Math.PI*2,A=d*g*Math.PI;o||a.rotateRight(m),r||a.rotateUp(A),a.constrainedAxis=l}var Aft=oe.clone(oe.UNIT_W),xft=oe.clone(oe.UNIT_W),L4=new h,yq=new h,Cft=new h,Tft=new h,Eft=new H,bft=new H;function Aq(e,t,n,i){let r=e._scene.camera,s=H.clone(n.startPosition,Eft),a=H.clone(n.endPosition,bft),c=r.pickEllipsoid(s,i,Aft),l=r.pickEllipsoid(a,i,xft);if(!u(c)||!u(l)){e._rotating=!0,vu(e,t,n);return}if(c=r.worldToCameraCoordinates(c,c),l=r.worldToCameraCoordinates(l,l),u(r.constrainedAxis)){let f=r.constrainedAxis,d=h.mostOrthogonalAxis(f,L4);h.cross(d,f,d),h.normalize(d,d);let p=h.cross(f,d,yq),g=h.magnitude(c),m=h.dot(f,c),A=Math.acos(m/g),x=h.multiplyByScalar(f,m,Cft);h.subtract(c,x,x),h.normalize(x,x);let C=h.magnitude(l),T=h.dot(f,l),E=Math.acos(T/C),S=h.multiplyByScalar(f,T,Tft);h.subtract(l,S,S),h.normalize(S,S);let D=Math.acos(h.dot(x,d));h.dot(x,p)<0&&(D=P.TWO_PI-D);let w=Math.acos(h.dot(S,d));h.dot(S,p)<0&&(w=P.TWO_PI-w);let R=D-w,O;h.equalsEpsilon(f,r.position,P.EPSILON2)?O=r.right:O=h.cross(f,r.position,L4);let L=h.cross(f,O,L4),N=h.dot(L,h.subtract(c,f,yq)),_=h.dot(L,h.subtract(l,f,yq)),b;N>0&&_>0?b=E-A:N>0&&_<=0?h.dot(r.position,f)>0?b=-A-E:b=A+E:b=A-E,r.rotateRight(R),r.rotateUp(b)}else{h.normalize(c,c),h.normalize(l,l);let f=h.dot(c,l),d=h.cross(c,l,L4);if(f<1&&!h.equalsEpsilon(d,h.ZERO,P.EPSILON14)){let p=Math.acos(f);r.rotate(d,p)}}}var Sft=new h,Dft=new he;function Yye(e,t,n){u(n.distance)&&(n=n.distance);let i=e._ellipsoid,o=e._scene,r=o.camera,s=o.canvas,a=e._cameraUnderground,c;a?c=t:(c=Gye,c.x=s.clientWidth/2,c.y=s.clientHeight/2);let l=r.getPickRay(c,Wye),f,d=i.cartesianToCartographic(r.position,Dft).height;d<e._minimumPickingTerrainHeight&&(f=qy(e,c,jye));let p;if(u(f)&&(p=h.distance(l.origin,f)),a){let m=Nye(e,l,d);u(p)?p=Math.min(p,m):p=m}u(p)||(p=d);let g=h.normalize(r.position,Sft);Eq(e,t,n,e._zoomFactor,p,h.dot(g,r.direction))}var qye=new H,U4=new wn,QN=new h,vft=new h,Xye=new M,wft=new M,Kye=new M,Ift=new Le,Pft=new Z,Sq=new he,Dq=new h;function Oft(e,t,n){let o=e._scene.camera;if(!M.equals(o.transform,M.IDENTITY))return;if(u(n.angleAndHeight)&&(n=n.angleAndHeight),H.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking){let a=e._ellipsoid.geodeticSurfaceNormal(o.position,Dq);wu(e,t,n,a);return}let s=e._ellipsoid.cartesianToCartographic(o.position,Sq);e._tiltOnEllipsoid||s.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,Bft(e,t,n)):Mft(e,t,n)}var Rft=new he;function Bft(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e.minimumZoomDistance*.25,a=i.cartesianToCartographic(r.positionWC,Rft).height;if(a-s-1<P.EPSILON3&&n.endPosition.y-n.startPosition.y<0)return;let c=o.canvas,l=qye;l.x=c.clientWidth/2,l.y=c.clientHeight/2;let f=r.getPickRay(l,U4),d,p=Yi.rayEllipsoid(f,i);if(u(p))d=wn.getPoint(f,p.start,QN);else if(a>e._minimumTrackBallHeight){let T=Yi.grazingAltitudeLocation(f,i);if(!u(T))return;let E=i.cartesianToCartographic(T,Sq);E.height=0,d=i.cartographicToCartesian(E,QN)}else{e._looking=!0;let T=e._ellipsoid.geodeticSurfaceNormal(r.position,Dq);wu(e,t,n,T),H.clone(t,e._tiltCenterMousePosition);return}let g=Ot.eastNorthUpToFixedFrame(d,i,Xye),m=e._globe,A=e._ellipsoid;e._globe=void 0,e._ellipsoid=ie.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let x=M.clone(r.transform,Kye);r._setTransform(g),vu(e,t,n,h.UNIT_Z),r._setTransform(x),e._globe=m,e._ellipsoid=A;let C=A.maximumRadius;e._rotateFactor=1/C,e._rotateRateRangeAdjustment=C}function Mft(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e._cameraUnderground,a,c,l;if(H.equals(t,e._tiltCenterMousePosition))a=h.clone(e._tiltCenter,QN);else{if(a=qy(e,t,QN),!u(a)){if(c=r.getPickRay(t,U4),l=Yi.rayEllipsoid(c,i),!u(l)){if(i.cartesianToCartographic(r.position,Sq).height<=e._minimumTrackBallHeight){e._looking=!0;let b=e._ellipsoid.geodeticSurfaceNormal(r.position,Dq);wu(e,t,n,b),H.clone(t,e._tiltCenterMousePosition)}return}a=wn.getPoint(c,l.start,QN)}s&&(u(c)||(c=r.getPickRay(t,U4)),Fye(e,c,a,a)),H.clone(t,e._tiltCenterMousePosition),h.clone(a,e._tiltCenter)}let f=o.canvas,d=qye;d.x=f.clientWidth/2,d.y=e._tiltCenterMousePosition.y,c=r.getPickRay(d,U4);let p=h.magnitude(a),g=h.fromElements(p,p,p,Cq),m=ie.fromCartesian3(g,Tq);if(l=Yi.rayEllipsoid(c,m),!u(l))return;let A=h.magnitude(c.origin)>p?l.start:l.stop,x=wn.getPoint(c,A,vft),C=Ot.eastNorthUpToFixedFrame(a,i,Xye),T=Ot.eastNorthUpToFixedFrame(x,m,wft),E=e._globe,S=e._ellipsoid;e._globe=void 0,e._ellipsoid=ie.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let D=h.UNIT_Z,w=M.clone(r.transform,Kye);r._setTransform(T);let R=h.cross(x,r.positionWC,V4);if(h.dot(r.rightWC,R)<0){let _=n.startPosition.y-n.endPosition.y;(s&&_<0||!s&&_>0)&&(D=void 0);let b=r.constrainedAxis;r.constrainedAxis=void 0,vu(e,t,n,D,!0,!1),r.constrainedAxis=b}else vu(e,t,n,D,!0,!1);if(r._setTransform(C),vu(e,t,n,D,!1,!0),u(r.constrainedAxis)){let _=h.cross(r.direction,r.constrainedAxis,V4);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,r.right)<0&&h.negate(_,_),h.cross(_,r.direction,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.up,r.up),h.normalize(r.right,r.right))}r._setTransform(w),e._globe=E,e._ellipsoid=S;let L=S.maximumRadius;e._rotateFactor=1/L,e._rotateRateRangeAdjustment=L;let N=h.clone(r.positionWC,V4);if(e.enableCollisionDetection&&vq(e),!h.equals(r.positionWC,N)){r._setTransform(T),r.worldToCameraCoordinatesPoint(N,N);let _=h.magnitudeSquared(N);h.magnitudeSquared(r.position)>_&&(h.normalize(r.position,r.position),h.multiplyByScalar(r.position,Math.sqrt(_),r.position));let b=h.angleBetween(N,r.position),v=h.cross(N,r.position,N);h.normalize(v,v);let I=Le.fromAxisAngle(v,b,Ift),B=Z.fromQuaternion(I,Pft);Z.multiplyByVector(B,r.direction,r.direction),Z.multiplyByVector(B,r.up,r.up),h.cross(r.direction,r.up,r.right),h.cross(r.right,r.direction,r.up),r._setTransform(w)}}var Lft=new H,Nft=new H,Bye=new wn,Mye=new wn,Fft=new h,Vft=new h;function wu(e,t,n,i){let r=e._scene.camera,s=Lft;s.x=n.startPosition.x,s.y=0;let a=Nft;a.x=n.endPosition.x,a.y=0;let c=r.getPickRay(s,Bye),l=r.getPickRay(a,Mye),f=0,d,p;r.frustum instanceof en?(d=c.origin,p=l.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=l.direction);let g=h.dot(d,p);g<1&&(f=Math.acos(g)),f=n.startPosition.x>n.endPosition.x?-f:f;let m=e._horizontalRotationAxis;if(u(i)?r.look(i,-f):u(m)?r.look(m,-f):r.lookLeft(f),s.x=0,s.y=n.startPosition.y,a.x=0,a.y=n.endPosition.y,c=r.getPickRay(s,Bye),l=r.getPickRay(a,Mye),f=0,r.frustum instanceof en?(d=c.origin,p=l.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=l.direction),g=h.dot(d,p),g<1&&(f=Math.acos(g)),f=n.startPosition.y>n.endPosition.y?-f:f,i=y(i,m),u(i)){let A=r.direction,x=h.negate(i,Fft),C=h.equalsEpsilon(A,i,P.EPSILON2),T=h.equalsEpsilon(A,x,P.EPSILON2);if(!C&&!T){g=h.dot(A,i);let E=P.acosClamped(g);f>0&&f>E&&(f=E-P.EPSILON4),g=h.dot(A,x),E=P.acosClamped(g),f<0&&-f>E&&(f=-E+P.EPSILON4);let S=h.cross(i,A,Vft);r.look(S,f)}else(C&&f<0||T&&f>0)&&r.look(r.right,-f)}else r.lookUp(f)}function Uft(e){qc(e,e.enableRotate,e.rotateEventTypes,yft,e.inertiaSpin,"_lastInertiaSpinMovement"),qc(e,e.enableZoom,e.zoomEventTypes,Yye,e.inertiaZoom,"_lastInertiaZoomMovement"),qc(e,e.enableTilt,e.tiltEventTypes,Oft,e.inertiaSpin,"_lastInertiaTiltMovement"),qc(e,e.enableLook,e.lookEventTypes,wu)}var kft=new M,zft=new he;function vq(e){e._adjustedHeightForTerrain=!0;let t=e._scene,n=t.mode,i=t.globe;if(!u(i)||n===te.SCENE2D||n===te.MORPHING)return;let o=t.camera,r=i.ellipsoid,s=t.mapProjection,a,c;M.equals(o.transform,M.IDENTITY)||(a=M.clone(o.transform,kft),c=h.magnitude(o.position),o._setTransform(M.IDENTITY));let l=zft;n===te.SCENE3D?r.cartesianToCartographic(o.position,l):s.unproject(o.position,l);let f=!1;if(l.height<e._minimumCollisionTerrainHeight){let d=e._scene.globeHeight;if(u(d)){let p=d+e.minimumZoomDistance;l.height<p&&(l.height=p,n===te.SCENE3D?r.cartographicToCartesian(l,o.position):s.project(l,o.position),f=!0)}}u(a)&&(o._setTransform(a),f&&(h.normalize(o.position,o.position),h.negate(o.position,o.direction),h.multiplyByScalar(o.position,Math.max(c,e.minimumZoomDistance),o.position),h.normalize(o.direction,o.direction),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up)))}$N.prototype.onMap=function(){let e=this._scene,t=e.mode,n=e.camera;return t===te.COLUMBUS_VIEW?Math.abs(n.position.x)-this._maxCoord.x<0&&Math.abs(n.position.y)-this._maxCoord.y<0:!0};var Hft=new h,Gft=new h;$N.prototype.update=function(){let e=this._scene,t=e.camera,n=e.globe,i=e.mode;M.equals(t.transform,M.IDENTITY)?(this._globe=n,this._ellipsoid=u(this._globe)?this._globe.ellipsoid:e.mapProjection.ellipsoid):(this._globe=void 0,this._ellipsoid=ie.UNIT_SPHERE);let o=u(this._globe)?this._globe.terrainExaggeration:1,r=u(this._globe)?this._globe.terrainExaggerationRelativeHeight:0;this._minimumCollisionTerrainHeight=Cc.getHeight(this.minimumCollisionTerrainHeight,o,r),this._minimumPickingTerrainHeight=Cc.getHeight(this.minimumPickingTerrainHeight,o,r),this._minimumTrackBallHeight=Cc.getHeight(this.minimumTrackBallHeight,o,r),this._cameraUnderground=e.cameraUnderground&&u(this._globe);let s=this._ellipsoid.maximumRadius;this._rotateFactor=1/s,this._rotateRateRangeAdjustment=s,this._adjustedHeightForTerrain=!1;let a=h.clone(t.positionWC,Hft),c=h.clone(t.directionWC,Gft);i===te.SCENE2D?Uut(this):i===te.COLUMBUS_VIEW?(this._horizontalRotationAxis=h.UNIT_Z,lft(this)):i===te.SCENE3D&&(this._horizontalRotationAxis=void 0,Uft(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain&&(!h.equals(a,t.positionWC)||!h.equals(c,t.directionWC))&&vq(this),this._aggregator.reset()};$N.prototype.isDestroyed=function(){return!1};$N.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),le(this)};var eF=$N;var tF=`uniform sampler2D colorTexture; +uniform sampler2D colorTexture2; + +uniform vec2 center; +uniform float radius; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 color0 = texture(colorTexture, v_textureCoordinates); + vec4 color1 = texture(colorTexture2, v_textureCoordinates); + + float x = length(gl_FragCoord.xy - center) / radius; + float t = smoothstep(0.5, 0.8, x); + out_FragColor = mix(color0 + color1, color1, t); +} +`;var nF=`uniform sampler2D colorTexture; + +uniform float avgLuminance; +uniform float threshold; +uniform float offset; + +in vec2 v_textureCoordinates; + +float key(float avg) +{ + float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0)); + return max(0.0, guess) + 0.1; +} + +// See section 9. "The bright-pass filter" of Realtime HDR Rendering +// http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf + +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + vec3 xyz = czm_RGBToXYZ(color.rgb); + float luminance = xyz.r; + + float scaledLum = key(avgLuminance) * luminance / avgLuminance; + float brightLum = max(scaledLum - threshold, 0.0); + float brightness = brightLum / (offset + brightLum); + + xyz.r = brightness; + out_FragColor = vec4(czm_XYZToRGB(xyz), 1.0); +} +`;function L_(){this._sceneFramebuffer=new Jx;let e=.125,t=new Array(6);t[0]=new po({fragmentShader:Il,textureScale:e,forcePowerOfTwo:!0,sampleMode:Du.LINEAR});let n=t[1]=new po({fragmentShader:nF,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:e,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new H,t[2]=new po({fragmentShader:jy,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:e,forcePowerOfTwo:!0}),t[3]=new po({fragmentShader:jy,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:e,forcePowerOfTwo:!0}),t[4]=new po({fragmentShader:Il,sampleMode:Du.LINEAR}),this._uCenter=new H,this._uRadius=void 0,t[5]=new po({fragmentShader:tF,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new jc({stages:t});let o=new oC(this),r=t.length;for(let s=0;s<r;++s)t[s]._textureCache=o;this._textureCache=o,this.length=t.length}L_.prototype.get=function(e){return this._stages.get(e)};L_.prototype.getStageByName=function(e){let t=this._stages.length;for(let n=0;n<t;++n){let i=this._stages.get(n);if(i.name===e)return i}};var Wft=new oe,Zye=new H,jft=new H,Jye=new M;function Yft(e,t,n){let i=t.uniformState,o=i.sunPositionWC,r=i.view,s=i.viewProjection,a=i.projection,c=M.computeViewportTransformation(n,0,1,Jye),l=M.multiplyByPoint(r,o,Wft),f=Ot.pointToGLWindowCoordinates(s,c,o,Zye);l.x+=P.SOLAR_RADIUS;let d=Ot.pointToGLWindowCoordinates(a,c,l,l),p=H.magnitude(H.subtract(d,f,d))*30*2,g=jft;g.x=p,g.y=p,e._uCenter=H.clone(f,e._uCenter),e._uRadius=Math.max(g.x,g.y)*.15;let m=t.drawingBufferWidth,A=t.drawingBufferHeight,x=e._stages,C=x.get(0),T=C.outputTexture.width,E=C.outputTexture.height,S=new Ye;S.width=T,S.height=E,c=M.computeViewportTransformation(S,0,1,Jye),f=Ot.pointToGLWindowCoordinates(s,c,o,Zye),g.x*=T/m,g.y*=E/A;let D=C.scissorRectangle;D.x=Math.max(f.x-g.x*.5,0),D.y=Math.max(f.y-g.y*.5,0),D.width=Math.min(g.x,m),D.height=Math.min(g.y,A);for(let w=1;w<4;++w)Ye.clone(D,x.get(w).scissorRectangle)}L_.prototype.clear=function(e,t,n){this._sceneFramebuffer.clear(e,t,n),this._textureCache.clear(e)};L_.prototype.update=function(e){let t=e.context,n=e.viewport,i=this._sceneFramebuffer;i.update(t,n);let o=i.framebuffer;return this._textureCache.update(t),this._stages.update(t,!1),Yft(this,t,n),o};L_.prototype.execute=function(e){let t=this._sceneFramebuffer.framebuffer.getColorTexture(0),n=this._stages,i=n.length;n.get(0).execute(e,t);for(let o=1;o<i;++o)n.get(o).execute(e,n.get(o-1).outputTexture)};L_.prototype.copy=function(e,t){if(!u(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Il,{uniformMap:{colorTexture:function(){return n._stages.get(n._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};L_.prototype.isDestroyed=function(){return!1};L_.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),le(this)};var iF=L_;function Qye(){this._cachedShowFrustumsShaders={}}function qft(e){let t={},n=e.vertexAttributes;for(let i in n)n.hasOwnProperty(i)&&(t[i]=n[i].index);return t}function Xft(e,t){let n=e.context,i=t,o=i.fragmentShaderSource.clone(),r=[];o.sources=o.sources.map(function(f){f=ke.replaceMain(f,"czm_Debug_main");let d=/out_FragData_(\d+)/g,p;for(;(p=d.exec(f))!==null;)r.indexOf(p[1])===-1&&r.push(p[1]);return f});let s=r.length,a="";a+=`uniform vec3 debugShowCommandsColor; +`,a+=`uniform vec3 debugShowFrustumsColor; +`,a+=`void main() +{ + czm_Debug_main(); +`;let c;if(s>0)for(c=0;c<s;++c)a+=` out_FragData_${r[c]}.rgb *= debugShowCommandsColor; +`,a+=` out_FragData_${r[c]}.rgb *= debugShowFrustumsColor; +`;else a+=` out_FragColor.rgb *= debugShowCommandsColor; +`,a+=` out_FragColor.rgb *= debugShowFrustumsColor; +`;a+="}",o.sources.push(a);let l=qft(i);return Xt.fromCache({context:n,vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:o,attributeLocations:l})}var oF=new z;function Kft(e,t){let n;return u(t.uniformMap)?n=t.uniformMap:n={},u(n.debugShowCommandsColor)||u(n.debugShowFrustumsColor)||(n.debugShowCommandsColor=function(){return e.debugShowCommands?(u(t._debugColor)||(t._debugColor=z.fromRandom()),t._debugColor):z.WHITE},n.debugShowFrustumsColor=function(){return e.debugShowFrustums?(oF.red=t.debugOverlappingFrustums&1<<0?1:0,oF.green=t.debugOverlappingFrustums&1<<1?1:0,oF.blue=t.debugOverlappingFrustums&1<<2?1:0,oF.alpha=1,oF):z.WHITE}),n}var Zft=new tt;Qye.prototype.executeDebugShowFrustumsCommand=function(e,t,n){let i=t.shaderProgram.id,o=this._cachedShowFrustumsShaders[i];u(o)||(o=Xft(e,t.shaderProgram),this._cachedShowFrustumsShaders[i]=o);let r=tt.shallowClone(t,Zft);r.shaderProgram=o,r.uniformMap=Kft(e,t),r.execute(e.context,n)};var rF=Qye;var H4=function(e){return function(){e.frameState.afterRender.push(function(){e.requestRender()})}};function Xi(e){e=y(e,y.EMPTY_OBJECT);let t=e.canvas,n=e.creditContainer,i=e.creditViewport,o=Ge(e.contextOptions),r=u(n),s=new Gw(t,o);r||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0 0 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",t.parentNode.appendChild(n)),u(i)||(i=t.parentNode),this._id=zn(),this._jobScheduler=new hN,this._frameState=new fN(s,new oN(n," \u2022 ",i),this._jobScheduler),this._frameState.scene3DOnly=y(e.scene3DOnly,!1),this._removeCreditContainer=!r,this._creditContainer=n,this._canvas=t,this._context=s,this._computeEngine=new XS(s),this._globe=void 0,this._globeTranslucencyState=new dN,this._primitives=new xl,this._groundPrimitives=new xl,this._globeHeight=void 0,this._cameraUnderground=!1,this._logDepthBuffer=s.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new aC,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=y(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new aN(e.depthPlaneEllipsoidOffset),this._clearColorCommand=new ii({color:new z,stencil:0,owner:this}),this._depthClearCommand=new ii({depth:1,owner:this}),this._stencilClearCommand=new ii({stencil:0}),this._classificationStencilClearCommand=new ii({stencil:0,renderState:Ue.fromCache({stencilMask:Bt.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new ZN(this),this._preUpdate=new Ae,this._postUpdate=new Ae,this._renderError=new Ae,this._preRender=new Ae,this._postRender=new Ae,this._minimumDisableDepthTestDistance=0,this._debugInspector=new rF,this._msaaSamples=y(e.msaaSamples,1),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new Ae,this.morphComplete=new Ae,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=z.clone(z.BLACK),this._mode=te.SCENE3D,this._mapProjection=u(e.mapProjection)?e.mapProjection:new Ei,this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.fog=new uN,this._shadowMapCamera=new ro(this),this.shadowMap=new B_({context:s,lightCamera:this._shadowMapCamera,enabled:y(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=z.clone(z.WHITE),this._actualInvertClassificationColor=z.clone(this._invertClassificationColor),this._invertClassification=new uS,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new XN,this._brdfLutGenerator=new QL,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new eF(this),this._cameraUnderground=!1,this._mapMode2D=y(e.mapMode2D,wl.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=y(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=y(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=Oa.requestCompletedEvent.addEventListener(H4(this)),this._removeTaskProcessorListenerCallback=pi.taskCompletedEvent.addEventListener(H4(this)),this._removeGlobeCallbacks=[];let a=new Ye(0,0,s.drawingBufferWidth,s.drawingBufferHeight),c=new ro(this);this._logDepthBuffer&&(c.frustum.near=.1,c.frustum.far=1e10),this.preloadFlightCamera=new ro(this),this.preloadFlightCullingVolume=void 0,this._picking=new DN(this),this._defaultView=new eC(this,c,a),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentMapAtlas=void 0,this.light=new Hm,n0e(this,0,$.now()),this.updateFrameState(),this.initializeFrame()}function Jft(e,t){for(let i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;let n=[];u(t)&&(n.push(t.imageryLayersUpdatedEvent.addEventListener(H4(e))),n.push(t.terrainProviderChanged.addEventListener(H4(e)))),e._removeGlobeCallbacks=n}Object.defineProperties(Xi.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return Ft.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return Ft.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return id.isSupported(this._context)}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,Jft(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(u(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(u(this.globe))return this.globe.terrainProvider},set:function(e){u(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(u(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){e===te.SCENE2D?this.morphTo2D(0):e===te.SCENE3D?this.morphTo3D(0):e===te.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(e){this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new ro(this),u(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new lN(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(e){this._frameState.splitPosition=e}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){let t=this._context,n=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=n!==this._hdr,this._hdr=n}},highDynamicRangeSupported:{get:function(){let e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(e){e=Math.min(e,Ft.maximumSamples),this._msaaSamples=e}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return .9999}},globeHeight:{get:function(){return this._globeHeight}}});Xi.prototype.getCompressedTextureFormatSupported=function(e){let t=this.context;return(e==="WEBGL_compressed_texture_s3tc"||e==="s3tc")&&t.s3tc||(e==="WEBGL_compressed_texture_pvrtc"||e==="pvrtc")&&t.pvrtc||(e==="WEBGL_compressed_texture_etc"||e==="etc")&&t.etc||(e==="WEBGL_compressed_texture_etc1"||e==="etc1")&&t.etc1||(e==="WEBGL_compressed_texture_astc"||e==="astc")&&t.astc||(e==="EXT_texture_compression_bptc"||e==="bc7")&&t.bc7};function $ye(e,t,n){let i=e._frameState,o=e._context,r=e._view.oit,s=i.shadowState.lightShadowMaps,a=i.shadowState.lightShadowsEnabled,c=t.derivedCommands;u(t.pickId)&&(c.picking=I_.createPickDerivedCommand(e,t,o,c.picking)),t.pickOnly||(c.depth=I_.createDepthOnlyDerivedCommand(e,t,o,c.depth)),c.originalCommand=t,e._hdr&&(c.hdr=I_.createHdrCommand(t,o,c.hdr),t=c.hdr.command,c=t.derivedCommands),a&&t.receiveShadows&&(c.shadows=B_.createReceiveDerivedCommand(s,t,n,o,c.shadows)),t.pass===Ee.TRANSLUCENT&&u(r)&&r.isSupported()&&(a&&t.receiveShadows?(c.oit=u(c.oit)?c.oit:{},c.oit.shadows=r.createDerivedCommands(c.shadows.receiveCommand,o,c.oit.shadows)):c.oit=r.createDerivedCommands(t,o,c.oit))}Xi.prototype.updateDerivedCommands=function(e){if(!u(e.derivedCommands))return;let t=this._frameState,n=this._context,i=!1,o=t.shadowState.lastDirtyTime;e.lastDirtyTime!==o&&(e.lastDirtyTime=o,e.dirty=!0,i=!0);let r=t.useLogDepth,s=this._hdr,a=e.derivedCommands,c=u(a.logDepth),l=u(a.hdr),f=u(a.originalCommand),d=r&&!c,p=s&&!l,g=(!r||!s)&&!f;if(e.dirty=e.dirty||d||p||g,e.dirty){e.dirty=!1;let m=t.shadowState.shadowMaps;t.shadowState.shadowsEnabled&&e.castShadows&&(a.shadows=B_.createCastDerivedCommand(m,e,i,n,a.shadows)),(c||d)&&(a.logDepth=I_.createLogDepthCommand(e,n,a.logDepth),$ye(this,a.logDepth.command,i)),(f||g)&&$ye(this,e,i)}};var Qft=new Of({pass:qo.RENDER}),wq=new Of({pass:qo.PRELOAD}),Iq=new Of({pass:qo.PRELOAD_FLIGHT}),$ft=new Of({pass:qo.REQUEST_RENDER_MODE_DEFER_CHECK}),e0e=new se,Pq;function edt(e){let t=e.globe;if(e._mode===te.SCENE3D&&u(t)&&t.show&&!e._cameraUnderground&&!e._globeTranslucencyState.translucent){let n=t.ellipsoid,i=e.frameState.minimumTerrainHeight;return e0e.radius=n.minimumRadius+i,Pq=mL.fromBoundingSphere(e0e,e.camera.positionWC,Pq),Pq}}Xi.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1};function n0e(e,t,n){let i=e._frameState;i.frameNumber=t,i.time=$.clone(n,i.time)}Xi.prototype.updateFrameState=function(){let e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=edt(this),t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof en||this.camera.frustum instanceof Tr),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState,u(this.globe)&&(t.terrainExaggeration=this.globe.terrainExaggeration,t.terrainExaggerationRelativeHeight=this.globe.terrainExaggerationRelativeHeight),u(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready?(t.specularEnvironmentMaps=this._specularEnvironmentMapAtlas.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentMapAtlas.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=z.clone(this.invertClassificationColor,this._actualInvertClassificationColor),uS.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,u(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0};Xi.prototype.isVisible=function(e,t,n){return u(e)&&(!u(e.boundingVolume)||!e.cull||t.computeVisibility(e.boundingVolume)!==Qt.OUTSIDE&&(!u(n)||!e.occlude||!e.boundingVolume.isOccluded(n)))};var z4=new M(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);z4=M.inverseTransformation(z4,z4);function tdt(e,t,n,i){let o=t._frameState,r=o.context,s=e.boundingVolume;u(t._debugVolume)&&t._debugVolume.destroy();let a,c=h.clone(s.center);if(o.mode!==te.SCENE3D){c=M.multiplyByPoint(z4,c,c);let p=o.mapProjection,g=p.unproject(c);c=p.ellipsoid.cartographicToCartesian(g)}if(u(s.radius)){let p=s.radius;a=Ln.toWireframe(vs.createGeometry(new vs({radii:new h(p,p,p),vertexFormat:on.FLAT_VERTEX_FORMAT}))),t._debugVolume=new Dn({geometryInstances:new At({geometry:a,modelMatrix:M.fromTranslation(c),attributes:{color:new Nt(1,0,0,1)}}),appearance:new on({flat:!0,translucent:!1}),asynchronous:!1})}else{let p=s.halfAxes;a=Ln.toWireframe(ol.createGeometry(ol.fromDimensions({dimensions:new h(2,2,2),vertexFormat:on.FLAT_VERTEX_FORMAT}))),t._debugVolume=new Dn({geometryInstances:new At({geometry:a,modelMatrix:M.fromRotationTranslation(p,c,new M),attributes:{color:new Nt(1,0,0,1)}}),appearance:new on({flat:!0,translucent:!1}),asynchronous:!1})}let l=o.commandList,f=o.commandList=[];t._debugVolume.update(o),e=f[0],o.useLogDepth&&(e=I_.createLogDepthCommand(e,r).command);let d;u(i)&&(d=n.framebuffer,n.framebuffer=i),e.execute(r,n),u(d)&&(n.framebuffer=d),o.commandList=l}function Ca(e,t,n,i,o){let r=t._frameState;if(u(t.debugCommandFilter)&&!t.debugCommandFilter(e))return;if(e instanceof ii){e.execute(n,i);return}e.debugShowBoundingVolume&&u(e.boundingVolume)&&tdt(e,t,i,o),r.useLogDepth&&u(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);let s=r.passes;if(!s.pick&&!s.depth&&t._hdr&&u(e.derivedCommands)&&u(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),s.pick||s.depth){if(s.pick&&!s.depth&&u(e.derivedCommands.picking)){e=e.derivedCommands.picking.pickCommand,e.execute(n,i);return}else if(u(e.derivedCommands.depth)){e=e.derivedCommands.depth.depthOnlyCommand,e.execute(n,i);return}}if(t.debugShowCommands||t.debugShowFrustums){t._debugInspector.executeDebugShowFrustumsCommand(t,e,i);return}r.shadowState.lightShadowsEnabled&&e.receiveShadows&&u(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand.execute(n,i):e.execute(n,i)}function sF(e,t,n,i){let o=t._frameState,r=e.derivedCommands;u(r)&&(o.useLogDepth&&u(r.logDepth)&&(e=r.logDepth.command),r=e.derivedCommands,u(r.picking)?(e=r.picking.pickCommand,e.execute(n,i)):u(r.depth)&&(e=r.depth.depthOnlyCommand,e.execute(n,i)))}function i0e(e,t,n){return t.boundingVolume.distanceSquaredTo(n)-e.boundingVolume.distanceSquaredTo(n)}function ndt(e,t,n){return e.boundingVolume.distanceSquaredTo(n)-t.boundingVolume.distanceSquaredTo(n)+P.EPSILON12}function idt(e,t,n,i,o){let r=e.context;C_(i,i0e,e.camera.positionWC),u(o)&&t(o.unclassifiedCommand,e,r,n);let s=i.length;for(let a=0;a<s;++a)t(i[a],e,r,n)}function odt(e,t,n,i,o){let r=e.context;C_(i,ndt,e.camera.positionWC),u(o)&&t(o.unclassifiedCommand,e,r,n);let s=i.length;for(let a=0;a<s;++a)t(i[a],e,r,n)}function rdt(e,t,n,i){let o=e.context;C_(i,i0e,e.camera.positionWC);let r=i.length;for(let s=0;s<r;++s)t(i[s],e,o,n)}var sdt=new Ti,adt=new zc,cdt=new en,ldt=new Tr;function Oq(e,t){let n=e.camera,i=e.context,o=e.frameState,r=i.uniformState;r.updateCamera(n);let s;u(n.frustum.fov)?s=n.frustum.clone(sdt):u(n.frustum.infiniteProjectionMatrix)?s=n.frustum.clone(adt):u(n.frustum.width)?s=n.frustum.clone(cdt):s=n.frustum.clone(ldt),s.near=n.frustum.near,s.far=n.frustum.far,r.updateFrustum(s),r.updatePass(Ee.ENVIRONMENT);let a=o.passes,c=a.pick,l=e._environmentState,f=e._view,d=l.renderTranslucentDepthForPick,p=l.useWebVR;if(!c){let b=l.skyBoxCommand;if(u(b)&&Ca(b,e,i,t),l.isSkyAtmosphereVisible&&Ca(l.skyAtmosphereCommand,e,i,t),l.isSunVisible&&(l.sunDrawCommand.execute(i,t),e.sunBloom&&!p)){let v;l.useGlobeDepthFramebuffer?v=f.globeDepth.framebuffer:l.usePostProcess?v=f.sceneFramebuffer.framebuffer:v=l.originalFramebuffer,e._sunPostProcess.execute(i),e._sunPostProcess.copy(i,v),t.framebuffer=v}l.isMoonVisible&&l.moonCommand.execute(i,t)}let g;l.useOIT?(u(e._executeOITFunction)||(e._executeOITFunction=function(b,v,I,B,F){f.globeDepth.prepareColorTextures(i),f.oit.executeCommands(b,v,I,B,F)}),g=e._executeOITFunction):a.render?g=idt:g=odt;let m=f.frustumCommandsList,A=m.length,x=l.clearGlobeDepth,C=l.useDepthPlane,T=e._globeTranslucencyState,E=T.translucent,S=e._view.globeTranslucencyFramebuffer,D=e._depthClearCommand,w=e._stencilClearCommand,R=e._classificationStencilClearCommand,O=e._depthPlane,L=l.usePostProcessSelected,N=n.position.z,_;for(let b=0;b<A;++b){let v=A-b-1,I=m[v];e.mode===te.SCENE2D?(n.position.z=N-I.near+1,s.far=Math.max(1,I.far-I.near),s.near=1,r.update(o),r.updateFrustum(s)):(s.near=v!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s)),D.execute(i,t),i.stencilBuffer&&w.execute(i,t),r.updatePass(Ee.GLOBE);let B=I.commands[Ee.GLOBE],F=I.indices[Ee.GLOBE];if(E)T.executeGlobeCommands(I,Ca,S,e,t);else for(_=0;_<F;++_)Ca(B[_],e,i,t);let k=f.globeDepth;if(u(k)&&l.useGlobeDepthFramebuffer&&k.executeCopyDepth(i,t),!l.renderTranslucentDepthForPick)if(r.updatePass(Ee.TERRAIN_CLASSIFICATION),B=I.commands[Ee.TERRAIN_CLASSIFICATION],F=I.indices[Ee.TERRAIN_CLASSIFICATION],E)T.executeGlobeClassificationCommands(I,Ca,S,e,t);else for(_=0;_<F;++_)Ca(B[_],e,i,t);if(x&&(D.execute(i,t),C&&O.execute(i,t)),!l.useInvertClassification||c||l.renderTranslucentDepthForPick){for(r.updatePass(Ee.CESIUM_3D_TILE),B=I.commands[Ee.CESIUM_3D_TILE],F=I.indices[Ee.CESIUM_3D_TILE],_=0;_<F;++_)Ca(B[_],e,i,t);if(F>0&&(u(k)&&l.useGlobeDepthFramebuffer&&(k.prepareColorTextures(i,x),k.executeUpdateDepth(i,t,x,k.depthStencilTexture)),!l.renderTranslucentDepthForPick))for(r.updatePass(Ee.CESIUM_3D_TILE_CLASSIFICATION),B=I.commands[Ee.CESIUM_3D_TILE_CLASSIFICATION],F=I.indices[Ee.CESIUM_3D_TILE_CLASSIFICATION],_=0;_<F;++_)Ca(B[_],e,i,t)}else{e._invertClassification.clear(i,t);let X=t.framebuffer;for(t.framebuffer=e._invertClassification._fbo.framebuffer,r.updatePass(Ee.CESIUM_3D_TILE),B=I.commands[Ee.CESIUM_3D_TILE],F=I.indices[Ee.CESIUM_3D_TILE],_=0;_<F;++_)Ca(B[_],e,i,t);for(u(k)&&l.useGlobeDepthFramebuffer&&(e._invertClassification.prepareTextures(i),k.executeUpdateDepth(i,t,x,e._invertClassification._fbo.getDepthStencilTexture())),r.updatePass(Ee.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),B=I.commands[Ee.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],F=I.indices[Ee.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],_=0;_<F;++_)Ca(B[_],e,i,t);for(t.framebuffer=X,e._invertClassification.executeClassified(i,t),o.invertClassificationColor.alpha===1&&e._invertClassification.executeUnclassified(i,t),F>0&&i.stencilBuffer&&R.execute(i,t),r.updatePass(Ee.CESIUM_3D_TILE_CLASSIFICATION),B=I.commands[Ee.CESIUM_3D_TILE_CLASSIFICATION],F=I.indices[Ee.CESIUM_3D_TILE_CLASSIFICATION],_=0;_<F;++_)Ca(B[_],e,i,t)}for(F>0&&i.stencilBuffer&&w.execute(i,t),r.updatePass(Ee.OPAQUE),B=I.commands[Ee.OPAQUE],F=I.indices[Ee.OPAQUE],_=0;_<F;++_)Ca(B[_],e,i,t);v!==0&&e.mode!==te.SCENE2D&&(s.near=I.near,r.updateFrustum(s));let U;if(!c&&l.useInvertClassification&&o.invertClassificationColor.alpha<1&&(U=e._invertClassification),r.updatePass(Ee.TRANSLUCENT),B=I.commands[Ee.TRANSLUCENT],B.length=I.indices[Ee.TRANSLUCENT],g(e,Ca,t,B,U),I.indices[Ee.CESIUM_3D_TILE_CLASSIFICATION]>0&&f.translucentTileClassification.isSupported()&&(f.translucentTileClassification.executeTranslucentCommands(e,Ca,t,B,k.depthStencilTexture),f.translucentTileClassification.executeClassificationCommands(e,Ca,t,I)),i.depthTexture&&e.useDepthPicking&&(l.useGlobeDepthFramebuffer||d)){let X=k.depthStencilTexture,j=e._picking.getPickDepth(e,v);j.update(i,X),j.executeCopyDepth(i,t)}if(r.updatePass(Ee.VOXELS),B=I.commands[Ee.VOXELS],F=I.indices[Ee.VOXELS],B.length=F,rdt(e,Ca,t,B),c||!L)continue;let V=t.framebuffer;if(t.framebuffer=f.sceneFramebuffer.getIdFramebuffer(),s.near=v!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s),r.updatePass(Ee.GLOBE),B=I.commands[Ee.GLOBE],F=I.indices[Ee.GLOBE],E)T.executeGlobeCommands(I,sF,S,e,t);else for(_=0;_<F;++_)sF(B[_],e,i,t);for(x&&(D.framebuffer=t.framebuffer,D.execute(i,t),D.framebuffer=void 0),x&&C&&O.execute(i,t),r.updatePass(Ee.CESIUM_3D_TILE),B=I.commands[Ee.CESIUM_3D_TILE],F=I.indices[Ee.CESIUM_3D_TILE],_=0;_<F;++_)sF(B[_],e,i,t);for(r.updatePass(Ee.OPAQUE),B=I.commands[Ee.OPAQUE],F=I.indices[Ee.OPAQUE],_=0;_<F;++_)sF(B[_],e,i,t);for(r.updatePass(Ee.TRANSLUCENT),B=I.commands[Ee.TRANSLUCENT],F=I.indices[Ee.TRANSLUCENT],_=0;_<F;++_)sF(B[_],e,i,t);t.framebuffer=V}}function o0e(e){e.context.uniformState.updatePass(Ee.COMPUTE);let n=e._environmentState.sunComputeCommand;u(n)&&n.execute(e._computeEngine);let i=e._computeCommandList,o=i.length;for(let r=0;r<o;++r)i[r].execute(e._computeEngine)}function udt(e,t){e.context.uniformState.updatePass(Ee.OVERLAY);let i=e.context,o=e._overlayCommandList,r=o.length;for(let s=0;s<r;++s)o[s].execute(i,t)}function fdt(e,t,n){let i=n.shadowMapCullingVolume,o=n.isPointLight,r=n.passes,s=r.length,a=t.length;for(let c=0;c<a;++c){let l=t[c];if(e.updateDerivedCommands(l),l.castShadows&&(l.pass===Ee.GLOBE||l.pass===Ee.CESIUM_3D_TILE||l.pass===Ee.OPAQUE||l.pass===Ee.TRANSLUCENT)&&e.isVisible(l,i))if(o)for(let f=0;f<s;++f)r[f].commandList.push(l);else if(s===1)r[0].commandList.push(l);else{let f=!1;for(let d=s-1;d>=0;--d){let p=r[d].cullingVolume;if(e.isVisible(l,p))r[d].commandList.push(l),f=!0;else if(f)break}}}}function r0e(e){let t=e.frameState,n=t.shadowState.shadowMaps,i=n.length;if(!t.shadowState.shadowsEnabled)return;let o=e.context,r=o.uniformState;for(let s=0;s<i;++s){let a=n[s];if(a.outOfView)continue;let c=a.passes,l=c.length;for(let d=0;d<l;++d)c[d].commandList.length=0;let f=e.frameState.commandList;fdt(e,f,a);for(let d=0;d<l;++d){let p=a.passes[d];r.updateCamera(p.camera),a.updatePass(o,d);let g=p.commandList.length;for(let m=0;m<g;++m){let A=p.commandList[m];r.updatePass(A.pass),Ca(A.derivedCommands.shadows.castCommands[s],e,o,p.passState)}}}}var ddt=new h;Xi.prototype.updateAndExecuteCommands=function(e,t){let i=this._frameState.mode;this._environmentState.useWebVR?hdt(this,e,t):i!==te.SCENE2D||this._mapMode2D===wl.ROTATE?Xy(!0,this,e,t):(Rq(this,e,t),Tdt(this,e))};function hdt(e,t,n){let i=e._view,o=i.camera,s=e._environmentState.renderTranslucentDepthForPick;Rq(e,t,n),s0e(e),i.createPotentiallyVisibleSet(e),o0e(e),s||r0e(e);let a=t.viewport;a.x=0,a.y=0,a.width=a.width*.5;let c=ro.clone(o,e._cameraVR);c.frustum=o.frustum;let l=o.frustum.near,f=l*y(e.focalLength,5),d=y(e.eyeSeparation,f/30),p=h.multiplyByScalar(c.right,d*.5,ddt);o.frustum.aspectRatio=a.width/a.height;let g=.5*d*l/f;h.add(c.position,p,o.position),o.frustum.xOffset=g,Oq(e,t),a.x=a.width,h.subtract(c.position,p,o.position),o.frustum.xOffset=-g,Oq(e,t),ro.clone(c,o)}var mdt=new he(Math.PI,P.PI_OVER_TWO),pdt=new h,_dt=new h,gdt=new M,ydt=new M,Adt=new h,xdt=new h,Cdt=new Ye;function Tdt(e,t){let n=e.context,i=e.frameState,o=e.camera,r=t.viewport,s=Ye.clone(r,Cdt);t.viewport=s;let a=mdt,c=pdt;e.mapProjection.project(a,c);let f=h.clone(o.position,_dt),d=M.clone(o.transform,ydt),p=o.frustum.clone();o._setTransform(M.IDENTITY);let g=M.computeViewportTransformation(s,0,1,gdt),m=o.frustum.projectionMatrix,A=o.positionWC.y,x=h.fromElements(P.sign(A)*c.x-A,0,-o.positionWC.x,Adt),C=Ot.pointToGLWindowCoordinates(m,g,x,xdt);C.x=Math.floor(C.x);let T=s.x,E=s.width;if(A===0||C.x<=T||C.x>=T+E)Xy(!0,e,t);else if(Math.abs(T+E*.5-C.x)<1)s.width=C.x-s.x,o.position.x*=P.sign(o.position.x),o.frustum.right=0,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),Xy(!0,e,t),s.x=C.x,o.position.x=-o.position.x,o.frustum.right=-o.frustum.left,o.frustum.left=0,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),Xy(!1,e,t);else if(C.x>T+E*.5){s.width=C.x-T;let S=o.frustum.right;o.frustum.right=c.x-A,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),Xy(!0,e,t),s.x=C.x,s.width=T+E-C.x,o.position.x=-o.position.x,o.frustum.left=-o.frustum.right,o.frustum.right=S-o.frustum.right*2,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),Xy(!1,e,t)}else{s.x=C.x,s.width=T+E-C.x;let S=o.frustum.left;o.frustum.left=-c.x-A,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),Xy(!0,e,t),s.x=T,s.width=C.x-T,o.position.x=-o.position.x,o.frustum.right=-o.frustum.left,o.frustum.left=S-o.frustum.left*2,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),Xy(!1,e,t)}o._setTransform(d),h.clone(f,o.position),o.frustum=p.clone(),t.viewport=r}function Xy(e,t,n,i){let o=t._environmentState,r=t._view,s=o.renderTranslucentDepthForPick;e||(t.frameState.commandList.length=0),s0e(t),r.createPotentiallyVisibleSet(t),e&&(u(i)&&Rq(t,n,i),o0e(t),s||r0e(t)),Oq(t,n)}var t0e=new $r;Xi.prototype.updateEnvironment=function(){let e=this._frameState,t=this._view,n=this._environmentState,i=e.passes.render,o=e.passes.offscreen,r=this.skyAtmosphere,s=this.globe,a=this._globeTranslucencyState;if(!i||this._mode!==te.SCENE2D&&t.camera.frustum instanceof en||!a.environmentVisible)n.skyAtmosphereCommand=void 0,n.skyBoxCommand=void 0,n.sunDrawCommand=void 0,n.sunComputeCommand=void 0,n.moonCommand=void 0;else{u(r)?(u(s)&&(r.setDynamicAtmosphereColor(s.enableLighting&&s.dynamicAtmosphereLighting,s.dynamicAtmosphereLightingFromSun),n.isReadyForAtmosphere=n.isReadyForAtmosphere||s._surface._tilesToRender.length>0),n.skyAtmosphereCommand=r.update(e,s),u(n.skyAtmosphereCommand)&&this.updateDerivedCommands(n.skyAtmosphereCommand)):n.skyAtmosphereCommand=void 0,n.skyBoxCommand=u(this.skyBox)?this.skyBox.update(e,this._hdr):void 0;let A=u(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0;n.sunDrawCommand=u(A)?A.drawCommand:void 0,n.sunComputeCommand=u(A)?A.computeCommand:void 0,n.moonCommand=u(this.moon)?this.moon.update(e):void 0}let c=n.clearGlobeDepth=u(s)&&s.show&&(!s.depthTestAgainstTerrain||this.mode===te.SCENE2D);(n.useDepthPlane=c&&this.mode===te.SCENE3D&&a.useDepthPlane)&&this._depthPlane.update(e),n.renderTranslucentDepthForPick=!1,n.useWebVR=this._useWebVR&&this.mode!==te.SCENE2D&&!o;let f=e.mode===te.SCENE3D&&!a.sunVisibleThroughGlobe?e.occluder:void 0,d=e.cullingVolume,p=t0e.planes;for(let A=0;A<5;++A)p[A]=d.planes[A];d=t0e,n.isSkyAtmosphereVisible=u(n.skyAtmosphereCommand)&&n.isReadyForAtmosphere,n.isSunVisible=this.isVisible(n.sunDrawCommand,d,f),n.isMoonVisible=this.isVisible(n.moonCommand,d,f);let g=this.specularEnvironmentMaps,m=this._specularEnvironmentMapAtlas;u(g)&&(!u(m)||m.url!==g)?(m=m&&m.destroy(),this._specularEnvironmentMapAtlas=new id(g)):!u(g)&&u(m)&&(m.destroy(),this._specularEnvironmentMapAtlas=void 0),u(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(e)};function Edt(e){let t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new dm({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),u(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function bdt(e){let t=e._frameState,n=t.shadowMaps,i=n.length,o=i>0&&!t.passes.pick&&e.mode===te.SCENE3D;if(o!==t.shadowState.shadowsEnabled&&(++t.shadowState.lastDirtyTime,t.shadowState.shadowsEnabled=o),t.shadowState.lightShadowsEnabled=!1,!!o){for(let r=0;r<i;++r)if(n[r]!==t.shadowState.shadowMaps[r]){++t.shadowState.lastDirtyTime;break}t.shadowState.shadowMaps.length=0,t.shadowState.lightShadowMaps.length=0;for(let r=0;r<i;++r){let s=n[r];s.update(t),t.shadowState.shadowMaps.push(s),s.fromLightSource&&(t.shadowState.lightShadowMaps.push(s),t.shadowState.lightShadowsEnabled=!0),s.dirty&&(++t.shadowState.lastDirtyTime,s.dirty=!1)}}}function s0e(e){let t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),Edt(e),bdt(e),e._globe&&e._globe.render(t)}function Rq(e,t,n){let i=e._context,o=e._frameState,r=e._environmentState,s=e._view,c=e._frameState.passes.pick;u(s.globeDepth)&&(s.globeDepth.picking=c);let l=r.useWebVR;r.originalFramebuffer=t.framebuffer,u(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!l?e._sunPostProcess=new iF:u(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!u(e.sun)&&u(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);let f=e._clearColorCommand;z.clone(n,f.color),f.execute(i,t);let d=r.useGlobeDepthFramebuffer=u(s.globeDepth);d&&(s.globeDepth.update(i,t,s.viewport,e.msaaSamples,e._hdr,r.clearGlobeDepth),s.globeDepth.clear(i,t,n));let p=s.oit,g=r.useOIT=!c&&u(p)&&p.isSupported();g&&(p.update(i,t,s.globeDepth.colorFramebufferManager,e._hdr,e.msaaSamples),p.clear(i,t,n),r.useOIT=p.isSupported());let m=e.postProcessStages,A=r.usePostProcess=!c&&(e._hdr||m.length>0||m.ambientOcclusion.enabled||m.fxaa.enabled||m.bloom.enabled);if(r.usePostProcessSelected=!1,A&&(s.sceneFramebuffer.update(i,s.viewport,e._hdr,e.msaaSamples),s.sceneFramebuffer.clear(i,t,n),m.update(i,o.useLogDepth,e._hdr),m.clear(i),A=r.usePostProcess=m.ready,r.usePostProcessSelected=A&&m.hasSelected),r.isSunVisible&&e.sunBloom&&!l?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(i,t,n)):d?t.framebuffer=s.globeDepth.framebuffer:A&&(t.framebuffer=s.sceneFramebuffer.framebuffer),u(t.framebuffer)&&f.execute(i,t),r.useInvertClassification=!c&&u(t.framebuffer)&&e.invertClassification){let C;if(e.frameState.invertClassificationColor.alpha===1&&r.useGlobeDepthFramebuffer&&(C=s.globeDepth.framebuffer),u(C)||i.depthTexture){if(e._invertClassification.previousFramebuffer=C,e._invertClassification.update(i,e.msaaSamples,s.globeDepth.colorFramebufferManager),e._invertClassification.clear(i,t),e.frameState.invertClassificationColor.alpha<1&&g){let T=e._invertClassification.unclassifiedCommand,E=T.derivedCommands;E.oit=p.createDerivedCommands(T,i,E.oit)}}else r.useInvertClassification=!1}e._globeTranslucencyState.translucent&&s.globeTranslucencyFramebuffer.updateAndClear(e._hdr,s.viewport,i,t)}Xi.prototype.resolveFramebuffers=function(e){let t=this._context,n=this._environmentState,i=this._view,o=i.globeDepth;u(o)&&o.prepareColorTextures(t);let r=n.useOIT,s=n.useGlobeDepthFramebuffer,a=n.usePostProcess,c=n.originalFramebuffer,l=s?o.colorFramebufferManager:void 0,f=i.sceneFramebuffer._colorFramebuffer,d=i.sceneFramebuffer.idFramebuffer;r&&(e.framebuffer=a?f.framebuffer:c,i.oit.execute(t,e));let p=i.translucentTileClassification;if(p.hasTranslucentDepth&&p.isSupported()&&p.execute(this,e),a){i.sceneFramebuffer.prepareColorTextures(t);let g=f;s&&!r&&(g=l);let m=this.postProcessStages,A=g.getColorTexture(0),x=d.getColorTexture(0),C=y(l,f).getDepthStencilTexture();m.execute(t,A,C,x),m.copy(t,c)}!r&&!a&&s&&(e.framebuffer=c,o.executeCopyColor(t,e))};function Sdt(e){let t=e._frameState.afterRender;for(let n=0,i=t.length;n<i;++n)t[n]()&&e.requestRender();t.length=0}function Ddt(e){let t=e._globe,i=e.camera.positionCartographic;if(u(t)&&t.show&&u(i))return t.getHeight(i)}function vdt(e){let t=e.camera,n=e._mode,i=e.globe,o=e._screenSpaceCameraController,r=t.positionCartographic;if(!u(r))return!1;if(!o.onMap()&&r.height<0)return!0;if(!u(i)||!i.show||n===te.SCENE2D||n===te.MORPHING)return!1;let s=e._globeHeight;return u(s)&&r.height<s}Xi.prototype.initializeFrame=function(){this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeight=Ddt(this),this._cameraUnderground=vdt(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),u(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function wdt(e,t){if(e.debugShowFramesPerSecond){if(!u(e._performanceDisplay)){let n=document.createElement("div");n.className="cesium-performanceDisplay-defaultContainer",e._canvas.parentNode.appendChild(n);let o=new P_({container:n});e._performanceDisplay=o,e._performanceContainer=n}e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)}else u(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function Idt(e){e._jobScheduler.resetBudgets();let t=e._frameState;e.primitives.prePassesUpdate(t),u(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function Pdt(e){let t=e._frameState;e.primitives.postPassesUpdate(t),Oa.update()}var Odt=new z;function Rdt(e){let t=e._frameState,n=e.context,i=n.uniformState,o=e._defaultView;e._view=o,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=Qft;let r=y(e.backgroundColor,z.BLACK);e._hdr&&(r=z.clone(r,Odt),r.red=Math.pow(r.red,e.gamma),r.green=Math.pow(r.green,e.gamma),r.blue=Math.pow(r.blue,e.gamma)),t.backgroundColor=r,e.fog.update(t),i.update(t);let s=e.shadowMap;u(s)&&s.enabled&&(!u(e.light)||e.light instanceof Hm?h.negate(i.sunDirectionWC,e._shadowMapCamera.direction):h.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(s)),e._computeCommandList.length=0,e._overlayCommandList.length=0;let a=o.viewport;a.x=0,a.y=0,a.width=n.drawingBufferWidth,a.height=n.drawingBufferHeight;let c=o.passState;c.framebuffer=void 0,c.blendingEnabled=void 0,c.scissorTest=void 0,c.viewport=Ye.clone(a,c.viewport),u(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(c,r),e.resolveFramebuffers(c),c.framebuffer=void 0,udt(e,c),u(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),n.endFrame()}function lC(e,t){try{t(e)}catch(n){if(e._renderError.raiseEvent(e,n),e.rethrowRenderErrors)throw n}}function Bdt(e){return e._picking.updateMostDetailedRayPicks(e)}Xi.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);let t=this._frameState;t.newFrame=!1,u(e)||(e=$.now());let n=this._view.checkForCameraUpdates(this),i=!this.requestRenderMode||this._renderRequested||n||this._logDepthBufferDirty||this._hdrDirty||this.mode===te.MORPHING;if(!i&&u(this.maximumRenderTimeChange)&&u(this._lastRenderTime)){let o=Math.abs($.secondsDifference(this._lastRenderTime,e));i=i||o>this.maximumRenderTimeChange}if(i){this._lastRenderTime=$.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let o=P.incrementWrap(t.frameNumber,15e6,1);n0e(this,o,e),t.newFrame=!0}lC(this,Idt),this.primitives.show&&(lC(this,Bdt),lC(this,Mdt),lC(this,Ldt),i||lC(this,Ndt)),this._postUpdate.raiseEvent(this,e),i&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),lC(this,Rdt)),wdt(this,i),lC(this,Pdt),Sdt(this),i&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())};Xi.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)};Xi.prototype.requestRender=function(){this._renderRequested=!0};Xi.prototype.clampLineWidth=function(e){return Math.max(Ft.minimumAliasedLineWidth,Math.min(e,Ft.maximumAliasedLineWidth))};Xi.prototype.pick=function(e,t,n){return this._picking.pick(this,e,t,n)};Xi.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)};Xi.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)};Xi.prototype.drillPick=function(e,t,n,i){return this._picking.drillPick(this,e,t,n,i)};function Mdt(e){let t=e._frameState;wq.camera=t.camera,wq.cullingVolume=t.cullingVolume,e.primitives.updateForPass(t,wq)}function Ldt(e){let t=e._frameState;if(!t.camera.canPreloadFlight())return;Iq.camera=e.preloadFlightCamera,Iq.cullingVolume=e.preloadFlightCullingVolume,e.primitives.updateForPass(t,Iq)}function Ndt(e){e.primitives.updateForPass(e._frameState,$ft)}Xi.prototype.pickFromRay=function(e,t,n){return this._picking.pickFromRay(this,e,t,n)};Xi.prototype.drillPickFromRay=function(e,t,n,i){return this._picking.drillPickFromRay(this,e,t,n,i)};Xi.prototype.pickFromRayMostDetailed=function(e,t,n){return this._picking.pickFromRayMostDetailed(this,e,t,n)};Xi.prototype.drillPickFromRayMostDetailed=function(e,t,n,i){return this._picking.drillPickFromRayMostDetailed(this,e,t,n,i)};Xi.prototype.sampleHeight=function(e,t,n){return this._picking.sampleHeight(this,e,t,n)};Xi.prototype.clampToHeight=function(e,t,n,i){return this._picking.clampToHeight(this,e,t,n,i)};Xi.prototype.sampleHeightMostDetailed=function(e,t,n){return this._picking.sampleHeightMostDetailed(this,e,t,n)};Xi.prototype.clampToHeightMostDetailed=function(e,t,n){return this._picking.clampToHeightMostDetailed(this,e,t,n)};Xi.prototype.cartesianToCanvasCoordinates=function(e,t){return qi.wgs84ToWindowCoordinates(this,e,t)};Xi.prototype.completeMorph=function(){this._transitioner.completeMorph()};Xi.prototype.morphTo2D=function(e){let t,n=this.globe;u(n)?t=n.ellipsoid:t=this.mapProjection.ellipsoid,e=y(e,2),this._transitioner.morphTo2D(e,t)};Xi.prototype.morphToColumbusView=function(e){let t,n=this.globe;u(n)?t=n.ellipsoid:t=this.mapProjection.ellipsoid,e=y(e,2),this._transitioner.morphToColumbusView(e,t)};Xi.prototype.morphTo3D=function(e){let t,n=this.globe;u(n)?t=n.ellipsoid:t=this.mapProjection.ellipsoid,e=y(e,2),this._transitioner.morphTo3D(e,t)};Xi.prototype.isDestroyed=function(){return!1};Xi.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),u(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,le(this)};var aF=Xi;function mS(e){e=y(e,ie.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;let t=1.025,n=h.multiplyByScalar(e.radii,t,new h);this._scaleMatrix=M.fromScale(n),this._modelMatrix=new M,this._command=new tt({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new h;let i=new h;i.x=e.maximumRadius*t,i.y=e.maximumRadius,i.z=0,this._radiiAndDynamicAtmosphereColor=i;let o=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return o._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return o._hueSaturationBrightness.x=o.hueShift,o._hueSaturationBrightness.y=o.saturationShift,o._hueSaturationBrightness.z=o.brightnessShift,o._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return o.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return o.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return o.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return o.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return o.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return o.atmosphereMieAnisotropy}}}Object.defineProperties(mS.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});mS.prototype.setDynamicAtmosphereColor=function(e,t){let n=e?t?2:1:0;this._radiiAndDynamicAtmosphereColor.z=n};var Bq=new M;mS.prototype.update=function(e,t){if(!this.show)return;let n=e.mode;if(n!==te.SCENE3D&&n!==te.MORPHING||!e.passes.render)return;let i=M.fromRotationTranslation(e.context.uniformState.inverseViewRotation,h.ZERO,Bq),o=M.multiplyTransformation(i,Po.Y_UP_TO_Z_UP,Bq),r=M.multiply(this._scaleMatrix,o,Bq);M.clone(r,this._modelMatrix);let s=e.context,a=Fdt(this),c=e.globeTranslucencyState.translucent,l=this.perFragmentAtmosphere||c||!u(t)||!t.show,f=this._command;if(!u(f.vertexArray)){let p=vs.createGeometry(new vs({radii:new h(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:Ie.POSITION_ONLY}));f.vertexArray=oi.fromGeometry({context:s,geometry:p,attributeLocations:Ln.createAttributeLocations(p),bufferUsage:Ne.STATIC_DRAW}),f.renderState=Ue.fromCache({cull:{enabled:!0,face:gi.FRONT},blending:un.ALPHA_BLEND,depthMask:!1})}let d=a|l<<2|c<<3;if(d!==this._flags){this._flags=d;let p=[];a&&p.push("COLOR_CORRECT"),l&&p.push("PER_FRAGMENT_ATMOSPHERE"),c&&p.push("GLOBE_TRANSLUCENT");let g=new ke({defines:p,sources:[p_,Rb,YM]}),m=new ke({defines:p,sources:[p_,Rb,jM]});this._spSkyAtmosphere=Xt.fromCache({context:s,vertexShaderSource:g,fragmentShaderSource:m}),f.shaderProgram=this._spSkyAtmosphere}return f};function Fdt(e){return!(P.equalsEpsilon(e.hueShift,0,P.EPSILON7)&&P.equalsEpsilon(e.saturationShift,0,P.EPSILON7)&&P.equalsEpsilon(e.brightnessShift,0,P.EPSILON7))}mS.prototype.isDestroyed=function(){return!1};mS.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),le(this)};var cF=mS;function G4(e){this.sources=e.sources,this._sources=void 0,this.show=y(e.show,!0),this._command=new tt({modelMatrix:M.clone(M.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0}G4.prototype.update=function(e,t){let n=this;if(!this.show||e.mode!==te.SCENE3D&&e.mode!==te.MORPHING||!e.passes.render)return;let i=e.context;if(this._sources!==this.sources){this._sources=this.sources;let r=this.sources;typeof r.positiveX=="string"?Xw(i,this._sources).then(function(s){n._cubeMap=n._cubeMap&&n._cubeMap.destroy(),n._cubeMap=s}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new Ma({context:i,source:r}))}let o=this._command;if(!u(o.vertexArray)){o.uniformMap={u_cubeMap:function(){return n._cubeMap}};let r=ol.createGeometry(ol.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Ie.POSITION_ONLY})),s=this._attributeLocations=Ln.createAttributeLocations(r);o.vertexArray=oi.fromGeometry({context:i,geometry:r,attributeLocations:s,bufferUsage:Ne.STATIC_DRAW}),o.renderState=Ue.fromCache({blending:un.ALPHA_BLEND})}if(!u(o.shaderProgram)||this._useHdr!==t){let r=new ke({defines:[t?"HDR":""],sources:[qM]});o.shaderProgram=Xt.fromCache({context:i,vertexShaderSource:XM,fragmentShaderSource:r,attributeLocations:this._attributeLocations}),this._useHdr=t}if(u(this._cubeMap))return o};G4.prototype.isDestroyed=function(){return!1};G4.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),le(this)};var lF=G4;function fF(){this.show=!0,this._drawCommand=new tt({primitiveType:Me.TRIANGLES,boundingVolume:new se,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new se,this._boundingVolume2D=new se,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;let e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(fF.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var Vdt=new H,Udt=new H,kdt=new oe,uF=new oe;fF.prototype.update=function(e,t,n){if(!this.show)return;let i=e.mode;if(i===te.SCENE2D||i===te.MORPHING||!e.passes.render)return;let o=e.context,r=t.viewport.width,s=t.viewport.height;if(!u(this._texture)||r!==this._drawingBufferWidth||s!==this._drawingBufferHeight||this._glowFactorDirty||n!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=r,this._drawingBufferHeight=s,this._glowFactorDirty=!1,this._useHdr=n;let S=Math.max(r,s);S=Math.pow(2,Math.ceil(Math.log(S)/Math.log(2))-2),S=Math.max(1,S);let D=n?o.halfFloatingPointTexture?Xe.HALF_FLOAT:Xe.FLOAT:Xe.UNSIGNED_BYTE;this._texture=new It({context:o,width:S,height:S,pixelFormat:rt.RGBA,pixelDatatype:D}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let w=this,R={u_radiusTS:function(){return w._radiusTS}};this._commands.computeCommand=new Lu({fragmentShaderSource:ZM,outputTexture:this._texture,uniformMap:R,persists:!1,owner:this,postExecute:function(){w._commands.computeCommand=void 0}})}let a=this._drawCommand;if(!u(a.vertexArray)){let S={direction:0},D=new Uint8Array(4*2);D[0]=0,D[1]=0,D[2]=255,D[3]=0,D[4]=255,D[5]=255,D[6]=0,D[7]=255;let w=lt.createVertexBuffer({context:o,typedArray:D,usage:Ne.STATIC_DRAW}),R=[{index:S.direction,vertexBuffer:w,componentsPerAttribute:2,normalize:!0,componentDatatype:q.UNSIGNED_BYTE}],O=lt.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ne.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT});a.vertexArray=new oi({context:o,attributes:R,indexBuffer:O}),a.shaderProgram=Xt.fromCache({context:o,vertexShaderSource:JM,fragmentShaderSource:KM,attributeLocations:S}),a.renderState=Ue.fromCache({blending:un.ALPHA_BLEND}),a.uniformMap=this._uniformMap}let c=o.uniformState.sunPositionWC,l=o.uniformState.sunPositionColumbusView,f=this._boundingVolume,d=this._boundingVolume2D;h.clone(c,f.center),d.center.x=l.z,d.center.y=l.x,d.center.z=l.y,f.radius=P.SOLAR_RADIUS+P.SOLAR_RADIUS*this._glowLengthTS,d.radius=f.radius,i===te.SCENE3D?se.clone(f,a.boundingVolume):i===te.COLUMBUS_VIEW&&se.clone(d,a.boundingVolume);let p=qi.computeActualWgs84Position(e,c,uF),g=h.magnitude(h.subtract(p,e.camera.position,uF)),m=o.uniformState.projection,A=kdt;A.x=0,A.y=0,A.z=-g,A.w=1;let x=M.multiplyByVector(m,A,uF),C=qi.clipToGLWindowCoordinates(t.viewport,x,Vdt);A.x=P.SOLAR_RADIUS;let T=M.multiplyByVector(m,A,uF),E=qi.clipToGLWindowCoordinates(t.viewport,T,Udt);return this._size=H.magnitude(H.subtract(E,C,uF)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};fF.prototype.isDestroyed=function(){return!1};fF.prototype.destroy=function(){let e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),le(this)};var dF=fF;function pS(e){return $t(`Assets/Textures/SkyBox/tycho2t3_80_${e}.jpg`)}function zdt(e){e._renderLoopRunning=!0;let t=0;function n(i){if(!e.isDestroyed())if(e._useDefaultRenderLoop)try{let o=e._targetFrameRate;if(!u(o))e.resize(),e.render(),requestAnimationFrame(n);else{let r=1e3/o,s=i-t;s>r&&(e.resize(),e.render(),t=i-s%r),requestAnimationFrame(n)}}catch(o){if(e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._showRenderLoopErrors){let r="An error occurred while rendering. Rendering has stopped.";e.showErrorPanel(r,void 0,o)}}else e._renderLoopRunning=!1}requestAnimationFrame(n)}function a0e(e){let t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,u(e._scene)&&(e._scene.pixelRatio=t),t}function c0e(e){let t=e._canvas,n=t.clientWidth,i=t.clientHeight,o=a0e(e);e._canvasClientWidth=n,e._canvasClientHeight=i,n*=o,i*=o,t.width=n,t.height=i,e._canRender=n!==0&&i!==0,e._lastDevicePixelRatio=window.devicePixelRatio}function l0e(e){let t=e._canvas,n=t.width,i=t.height;if(n!==0&&i!==0){let o=e._scene.camera.frustum;u(o.aspectRatio)?o.aspectRatio=n/i:(o.top=o.right*(i/n),o.bottom=-o.top)}}function uC(e,t){e=In(e),t=y(t,y.EMPTY_OBJECT);let n=document.createElement("div");n.className="cesium-widget",e.appendChild(n);let i=document.createElement("canvas"),o=Vt.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=o,o&&(i.style.imageRendering=Vt.imageRenderingValue()),i.oncontextmenu=function(){return!1},i.onselectstart=function(){return!1};function r(){i!==i.ownerDocument.activeElement&&i.ownerDocument.activeElement.blur()}y(t.blurActiveElementOnCanvasFocus,!0)&&(i.addEventListener("mousedown",r),i.addEventListener("pointerdown",r)),n.appendChild(i);let a=document.createElement("div");a.className="cesium-widget-credits";let c=u(t.creditContainer)?In(t.creditContainer):n;c.appendChild(a);let l=u(t.creditViewport)?In(t.creditViewport):n,f=y(t.showRenderLoopErrors,!0),d=y(t.useBrowserRecommendedResolution,!0);this._element=n,this._container=e,this._canvas=i,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=l,this._creditContainer=c,this._innerCreditContainer=a,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=f,this._resolutionScale=1,this._useBrowserRecommendedResolution=d,this._forceResize=!1,this._clock=u(t.clock)?t.clock:new vd,c0e(this);try{let p=new aF({canvas:i,contextOptions:t.contextOptions,creditContainer:a,creditViewport:l,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:y(t.scene3DOnly,!1),shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});this._scene=p,p.camera.constrainedAxis=h.UNIT_Z,a0e(this),l0e(this);let g=y(p.mapProjection.ellipsoid,ie.WGS84),m=t.globe;u(m)||(m=new qL(g)),m!==!1&&(p.globe=m,p.globe.shadows=y(t.terrainShadows,gn.RECEIVE_ONLY));let A=t.skyBox;u(A)||(A=new lF({sources:{positiveX:pS("px"),negativeX:pS("mx"),positiveY:pS("py"),negativeY:pS("my"),positiveZ:pS("pz"),negativeZ:pS("mz")}})),A!==!1&&(p.skyBox=A,p.sun=new dF,p.moon=new ZL);let x=t.skyAtmosphere;u(x)||(x=new cF(g)),x!==!1&&(p.skyAtmosphere=x);let C=t.globe===!1?!1:t.imageryProvider;u(C)||(C=D_()),C!==!1&&p.imageryLayers.addImageryProvider(C),u(t.terrainProvider)&&t.globe!==!1&&(p.terrainProvider=t.terrainProvider),this._screenSpaceEventHandler=new Tu(i),u(t.sceneMode)&&(t.sceneMode===te.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===te.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=y(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;let T=this;this._onRenderError=function(E,S){if(T._useDefaultRenderLoop=!1,T._renderLoopRunning=!1,T._showRenderLoopErrors){let D="An error occurred while rendering. Rendering has stopped.";T.showErrorPanel(D,void 0,S)}},p.renderError.addEventListener(this._onRenderError)}catch(p){if(f){let g="Error constructing CesiumWidget.",m='Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:';this.showErrorPanel(g,m,p)}throw p}}Object.defineProperties(uC.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},camera:{get:function(){return this._scene.camera}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&zdt(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}}});uC.prototype.showErrorPanel=function(e,t,n){let i=this._element,o=document.createElement("div");o.className="cesium-widget-errorPanel";let r=document.createElement("div");r.className="cesium-widget-errorPanel-content",o.appendChild(r);let s=document.createElement("div");s.className="cesium-widget-errorPanel-header",s.appendChild(document.createTextNode(e)),r.appendChild(s);let a=document.createElement("div");a.className="cesium-widget-errorPanel-scroll",r.appendChild(a);function c(){a.style.maxHeight=`${Math.max(Math.round(i.clientHeight*.9-100),30)}px`}c(),u(window.addEventListener)&&window.addEventListener("resize",c,!1);let l=u(t),f=u(n);if(l||f){let g=document.createElement("div");if(g.className="cesium-widget-errorPanel-message",a.appendChild(g),f){let m=cm(n);l||(typeof n=="string"&&(n=new Error(n)),t=cm({name:n.name,message:n.message}),m=n.stack),typeof console<"u"&&console.error(`${e} +${t} +${m}`);let A=document.createElement("div");A.className="cesium-widget-errorPanel-message-details collapsed";let x=document.createElement("span");x.className="cesium-widget-errorPanel-more-details",x.appendChild(document.createTextNode("See more...")),A.appendChild(x),A.onclick=function(C){A.removeChild(x),A.appendChild(document.createTextNode(m)),A.className="cesium-widget-errorPanel-message-details",r.className="cesium-widget-errorPanel-content expanded",A.onclick=void 0},a.appendChild(A)}g.innerHTML=`<p>${t}</p>`}let d=document.createElement("div");d.className="cesium-widget-errorPanel-buttonPanel",r.appendChild(d);let p=document.createElement("button");p.setAttribute("type","button"),p.className="cesium-button",p.appendChild(document.createTextNode("OK")),p.onclick=function(){u(c)&&u(window.removeEventListener)&&window.removeEventListener("resize",c,!1),i.removeChild(o)},d.appendChild(p),i.appendChild(o)};uC.prototype.isDestroyed=function(){return!1};uC.prototype.destroy=function(){u(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),le(this)};uC.prototype.resize=function(){let e=this._canvas;!this._forceResize&&this._canvasClientWidth===e.clientWidth&&this._canvasClientHeight===e.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,c0e(this),l0e(this),this._scene.requestRender())};uC.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let e=this._clock.tick();this._scene.render(e)}else this._clock.tick()};var hF=uC;var Hdt=new h(1,1,1);function Mq(e){e=y(e,Hdt),this._dimensions=h.clone(e)}Object.defineProperties(Mq.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){h.clone(e,this._dimensions)}}});var Gdt=new h;Mq.prototype.emit=function(e){let t=this._dimensions,n=h.multiplyByScalar(t,.5,Gdt),i=P.randomBetween(-n.x,n.x),o=P.randomBetween(-n.y,n.y),r=P.randomBetween(-n.z,n.z);e.position=h.fromElements(i,o,r,e.position),e.velocity=h.normalize(e.position,e.velocity)};var Lq=Mq;function N_(){this.featurePropertiesDirty=!1}Object.defineProperties(N_.prototype,{featuresLength:{get:function(){de.throwInstantiationError()}},pointsLength:{get:function(){de.throwInstantiationError()}},trianglesLength:{get:function(){de.throwInstantiationError()}},geometryByteLength:{get:function(){de.throwInstantiationError()}},texturesByteLength:{get:function(){de.throwInstantiationError()}},batchTableByteLength:{get:function(){de.throwInstantiationError()}},innerContents:{get:function(){de.throwInstantiationError()}},readyPromise:{get:function(){de.throwInstantiationError()}},tileset:{get:function(){de.throwInstantiationError()}},tile:{get:function(){de.throwInstantiationError()}},url:{get:function(){de.throwInstantiationError()}},batchTable:{get:function(){de.throwInstantiationError()}},metadata:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}},group:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}}});N_.prototype.hasProperty=function(e,t){de.throwInstantiationError()};N_.prototype.getFeature=function(e){de.throwInstantiationError()};N_.prototype.applyDebugSettings=function(e,t){de.throwInstantiationError()};N_.prototype.applyStyle=function(e){de.throwInstantiationError()};N_.prototype.update=function(e,t){de.throwInstantiationError()};N_.prototype.isDestroyed=function(){de.throwInstantiationError()};N_.prototype.destroy=function(){de.throwInstantiationError()};var Nq=N_;function _S(e,t){this._conditionsExpression=Ge(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,jdt(this,t)}Object.defineProperties(_S.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}});function Wdt(e,t){this.condition=e,this.expression=t}function jdt(e,t){let n=[],i=e._conditions;if(!u(i))return;let o=i.length;for(let r=0;r<o;++r){let s=i[r],a=String(s[0]),c=String(s[1]);n.push(new Wdt(new ju(a,t),new ju(c,t)))}e._runtimeConditions=n}_S.prototype.evaluate=function(e,t){let n=this._runtimeConditions;if(!u(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluate(e,t)}};_S.prototype.evaluateColor=function(e,t){let n=this._runtimeConditions;if(!u(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluateColor(e,t)}};_S.prototype.getShaderFunction=function(e,t,n,i){let o=this._runtimeConditions;if(!u(o)||o.length===0)return;let r="",s=o.length;for(let a=0;a<s;++a){let c=o[a],l=c.condition.getShaderExpression(t,n),f=c.expression.getShaderExpression(t,n);r+=` ${a===0?"if":"else if"} (${l}) + { + return ${f}; + } +`}return r=`${i} ${e} +{ +${r} return ${i}(1.0); +} +`,r};_S.prototype.getVariables=function(){let e=[],t=this._runtimeConditions;if(!u(t)||t.length===0)return e;let n=t.length;for(let i=0;i<n;++i){let o=t[i];e.push.apply(e,o.condition.getVariables()),e.push.apply(e,o.expression.getVariables())}return e=e.filter(function(i,o,r){return r.indexOf(i)===o}),e};var mF=_S;function Ky(e){this._style={},this._ready=!1,this._show=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._labelColor=void 0,this._labelOutlineColor=void 0,this._labelOutlineWidth=void 0,this._font=void 0,this._labelStyle=void 0,this._labelText=void 0,this._backgroundColor=void 0,this._backgroundPadding=void 0,this._backgroundEnabled=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._distanceDisplayCondition=void 0,this._heightOffset=void 0,this._anchorLineEnabled=void 0,this._anchorLineColor=void 0,this._image=void 0,this._disableDepthTestDistance=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._labelHorizontalOrigin=void 0,this._labelVerticalOrigin=void 0,this._meta=void 0,this._colorShaderFunction=void 0,this._showShaderFunction=void 0,this._pointSizeShaderFunction=void 0,this._colorShaderFunctionReady=!1,this._showShaderFunctionReady=!1,this._pointSizeShaderFunctionReady=!1,this._colorShaderTranslucent=!1,Ydt(this,e)}function Ydt(e,t){t=y(Ge(t,!0),e._style),e._style=t,e.show=t.show,e.color=t.color,e.pointSize=t.pointSize,e.pointOutlineColor=t.pointOutlineColor,e.pointOutlineWidth=t.pointOutlineWidth,e.labelColor=t.labelColor,e.labelOutlineColor=t.labelOutlineColor,e.labelOutlineWidth=t.labelOutlineWidth,e.labelStyle=t.labelStyle,e.font=t.font,e.labelText=t.labelText,e.backgroundColor=t.backgroundColor,e.backgroundPadding=t.backgroundPadding,e.backgroundEnabled=t.backgroundEnabled,e.scaleByDistance=t.scaleByDistance,e.translucencyByDistance=t.translucencyByDistance,e.distanceDisplayCondition=t.distanceDisplayCondition,e.heightOffset=t.heightOffset,e.anchorLineEnabled=t.anchorLineEnabled,e.anchorLineColor=t.anchorLineColor,e.image=t.image,e.disableDepthTestDistance=t.disableDepthTestDistance,e.horizontalOrigin=t.horizontalOrigin,e.verticalOrigin=t.verticalOrigin,e.labelHorizontalOrigin=t.labelHorizontalOrigin,e.labelVerticalOrigin=t.labelVerticalOrigin;let n={};if(u(t.meta)){let i=t.defines,o=y(t.meta,y.EMPTY_OBJECT);for(let r in o)o.hasOwnProperty(r)&&(n[r]=new ju(o[r],i))}e._meta=n,e._ready=!0}function Qo(e,t){let n=y(e._style,y.EMPTY_OBJECT).defines;if(u(t)){if(typeof t=="boolean"||typeof t=="number")return new ju(String(t));if(typeof t=="string")return new ju(t,n);if(u(t.conditions))return new mF(t,n)}else return;return t}function $o(e){if(u(e)){if(u(e.expression))return e.expression;if(u(e.conditionsExpression))return Ge(e.conditionsExpression,!0)}else return;return e}Object.defineProperties(Ky.prototype,{style:{get:function(){return this._style}},show:{get:function(){return this._show},set:function(e){this._show=Qo(this,e),this._style.show=$o(this._show),this._showShaderFunctionReady=!1}},color:{get:function(){return this._color},set:function(e){this._color=Qo(this,e),this._style.color=$o(this._color),this._colorShaderFunctionReady=!1}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=Qo(this,e),this._style.pointSize=$o(this._pointSize),this._pointSizeShaderFunctionReady=!1}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=Qo(this,e),this._style.pointOutlineColor=$o(this._pointOutlineColor)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=Qo(this,e),this._style.pointOutlineWidth=$o(this._pointOutlineWidth)}},labelColor:{get:function(){return this._labelColor},set:function(e){this._labelColor=Qo(this,e),this._style.labelColor=$o(this._labelColor)}},labelOutlineColor:{get:function(){return this._labelOutlineColor},set:function(e){this._labelOutlineColor=Qo(this,e),this._style.labelOutlineColor=$o(this._labelOutlineColor)}},labelOutlineWidth:{get:function(){return this._labelOutlineWidth},set:function(e){this._labelOutlineWidth=Qo(this,e),this._style.labelOutlineWidth=$o(this._labelOutlineWidth)}},font:{get:function(){return this._font},set:function(e){this._font=Qo(this,e),this._style.font=$o(this._font)}},labelStyle:{get:function(){return this._labelStyle},set:function(e){this._labelStyle=Qo(this,e),this._style.labelStyle=$o(this._labelStyle)}},labelText:{get:function(){return this._labelText},set:function(e){this._labelText=Qo(this,e),this._style.labelText=$o(this._labelText)}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=Qo(this,e),this._style.backgroundColor=$o(this._backgroundColor)}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){this._backgroundPadding=Qo(this,e),this._style.backgroundPadding=$o(this._backgroundPadding)}},backgroundEnabled:{get:function(){return this._backgroundEnabled},set:function(e){this._backgroundEnabled=Qo(this,e),this._style.backgroundEnabled=$o(this._backgroundEnabled)}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){this._scaleByDistance=Qo(this,e),this._style.scaleByDistance=$o(this._scaleByDistance)}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){this._translucencyByDistance=Qo(this,e),this._style.translucencyByDistance=$o(this._translucencyByDistance)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=Qo(this,e),this._style.distanceDisplayCondition=$o(this._distanceDisplayCondition)}},heightOffset:{get:function(){return this._heightOffset},set:function(e){this._heightOffset=Qo(this,e),this._style.heightOffset=$o(this._heightOffset)}},anchorLineEnabled:{get:function(){return this._anchorLineEnabled},set:function(e){this._anchorLineEnabled=Qo(this,e),this._style.anchorLineEnabled=$o(this._anchorLineEnabled)}},anchorLineColor:{get:function(){return this._anchorLineColor},set:function(e){this._anchorLineColor=Qo(this,e),this._style.anchorLineColor=$o(this._anchorLineColor)}},image:{get:function(){return this._image},set:function(e){this._image=Qo(this,e),this._style.image=$o(this._image)}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance=Qo(this,e),this._style.disableDepthTestDistance=$o(this._disableDepthTestDistance)}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin=Qo(this,e),this._style.horizontalOrigin=$o(this._horizontalOrigin)}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin=Qo(this,e),this._style.verticalOrigin=$o(this._verticalOrigin)}},labelHorizontalOrigin:{get:function(){return this._labelHorizontalOrigin},set:function(e){this._labelHorizontalOrigin=Qo(this,e),this._style.labelHorizontalOrigin=$o(this._labelHorizontalOrigin)}},labelVerticalOrigin:{get:function(){return this._labelVerticalOrigin},set:function(e){this._labelVerticalOrigin=Qo(this,e),this._style.labelVerticalOrigin=$o(this._labelVerticalOrigin)}},meta:{get:function(){return this._meta},set:function(e){this._meta=e}}});Ky.fromUrl=function(e){return Oe.createIfNeeded(e).fetchJson(e).then(function(n){return new Ky(n)})};Ky.prototype.getColorShaderFunction=function(e,t,n){return this._colorShaderFunctionReady?(n.translucent=this._colorShaderTranslucent,this._colorShaderFunction):(this._colorShaderFunctionReady=!0,u(this.color)&&u(this.color.getShaderFunction)?this._colorShaderFunction=this.color.getShaderFunction(e,t,n,"vec4"):this._colorShaderFunction=void 0,this._colorShaderTranslucent=n.translucent,this._colorShaderFunction)};Ky.prototype.getShowShaderFunction=function(e,t,n){return this._showShaderFunctionReady?this._showShaderFunction:(this._showShaderFunctionReady=!0,u(this.show)&&u(this.show.getShaderFunction)?this._showShaderFunction=this.show.getShaderFunction(e,t,n,"bool"):this._showShaderFunction=void 0,this._showShaderFunction)};Ky.prototype.getPointSizeShaderFunction=function(e,t,n){return this._pointSizeShaderFunctionReady?this._pointSizeShaderFunction:(this._pointSizeShaderFunctionReady=!0,u(this.pointSize)&&u(this.pointSize.getShaderFunction)?this._pointSizeShaderFunction=this.pointSize.getShaderFunction(e,t,n,"float"):this._pointSizeShaderFunction=void 0,this._pointSizeShaderFunction)};Ky.prototype.getVariables=function(){let e=[];return u(this.color)&&u(this.color.getVariables)&&e.push.apply(e,this.color.getVariables()),u(this.show)&&u(this.show.getVariables)&&e.push.apply(e,this.show.getVariables()),u(this.pointSize)&&u(this.pointSize.getVariables)&&e.push.apply(e,this.pointSize.getVariables()),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var fC=Ky;function pF(e){e=y(e,y.EMPTY_OBJECT),this._maximumSubtreeCount=y(e.maximumSubtreeCount,0),this._subtreeRequestCounter=0,this._queue=new Nx({comparator:pF.comparator})}pF.prototype.addSubtree=function(e){let t=new qdt(e,this._subtreeRequestCounter);this._subtreeRequestCounter++,this._queue.insert(t);let n=e.implicitCoordinates;if(n.level>0){let i=n.getParentSubtreeCoordinates(),o=this.find(i)}if(this._maximumSubtreeCount>0)for(;this._queue.length>this._maximumSubtreeCount&&this._queue.getMinimum()!==t;)this._queue.removeMinimum()};pF.prototype.find=function(e){let t=this._queue,n=t.internalArray,i=t.length;for(let o=0;o<i;o++){let r=n[o],a=r.subtree.implicitCoordinates;if(e.isEqual(a))return r.subtree}};pF.comparator=function(e,t){let n=e.subtree.implicitCoordinates,i=t.subtree.implicitCoordinates;return n.isAncestor(i)?1:i.isAncestor(n)?-1:e.stamp-t.stamp};function qdt(e,t){this.subtree=e,this.stamp=t}var _F=pF;function Pl(){this.orientedBoundingBox=new Rn,this.boundingSphere=new se,this.boundTransform=new M,this.shapeTransform=new M,this._minBounds=h.clone(Pl.DefaultMinBounds,new h),this._maxBounds=h.clone(Pl.DefaultMaxBounds,new h),this.shaderUniforms={boxUvToRenderBoundsTransform:new M,boxUvToRenderBoundsScale:new h,boxUvToRenderBoundsTranslate:new h,boxUvToShapeUvScale:new h,boxUvToShapeUvTranslate:new h},this.shaderDefines={BOX_INTERSECTION_INDEX:void 0,BOX_HAS_RENDER_BOUNDS:void 0,BOX_HAS_SHAPE_BOUNDS:void 0,BOX_IS_2D:void 0},this.shaderMaximumIntersectionsLength=0}var Xdt=new h,Fq=new h,Kdt=new Z,Zdt=new M,Jdt=new h,Qdt=new h,$dt=new Z,eht=new h,tht=new h,nht=new h,iht=new h,oht=M.fromRotationTranslation(Z.fromUniformScale(2,new Z),new h(-1,-1,-1),new M),rht=M.fromRotation(Z.fromColumnMajorArray([0,0,1,0,1,0,1,0,0],new Z),new M),sht=M.fromRotation(Z.fromColumnMajorArray([1,0,0,0,0,1,0,1,0],new Z),new M);Pl.prototype.update=function(e,t,n,i,o){i=y(i,Pl.DefaultMinBounds),o=y(o,Pl.DefaultMaxBounds);let r=Pl.DefaultMinBounds,s=Pl.DefaultMaxBounds;t=this._minBounds=h.clamp(t,r,s,this._minBounds),n=this._maxBounds=h.clamp(n,r,s,this._maxBounds),i=h.clamp(i,r,s,eht),o=h.clamp(o,r,s,tht);let a=h.clamp(t,i,o,nht),c=h.clamp(n,i,o,iht),l=M.getScale(e,Fq);if(a.x>c.x||a.y>c.y||a.z>c.z||(a.x===c.x)+(a.y===c.y)+(a.z===c.z)>=2||i.x>o.x||i.y>o.y||i.z>o.z||l.x===0||l.y===0||l.z===0)return!1;this.shapeTransform=M.clone(e,this.shapeTransform),this.orientedBoundingBox=u0e(a,c,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=M.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=se.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let f=this.shaderUniforms,d=this.shaderDefines;for(let A in d)d.hasOwnProperty(A)&&(d[A]=void 0);let p=a.x!==r.x||c.x!==s.x||a.y!==r.y||c.y!==s.y||a.z!==r.z||c.z!==s.z,g=t.x!==r.x||n.x!==s.x||t.y!==r.y||n.y!==s.y||t.z!==r.z||n.z!==s.z,m=0;if(d.BOX_INTERSECTION_INDEX=m,m+=1,p){d.BOX_HAS_RENDER_BOUNDS=!0;let A=a,x=c,C=h.fromElements(2/(A.x===x.x?1:x.x-A.x),2/(A.y===x.y?1:x.y-A.y),2/(A.z===x.z?1:x.z-A.z),Qdt),T=h.fromElements(-C.x*.5*(A.x+x.x),-C.y*.5*(A.y+x.y),-C.z*.5*(A.z+x.z),Jdt),E=M.fromRotationTranslation(Z.fromScale(C,$dt),T,Zdt);if(A.x===x.x||A.y===x.y||A.z===x.z){d.BOX_IS_2D=!0;let S;A.x===x.x?S=rht:A.y===x.y?S=sht:A.z===x.z&&(S=M.IDENTITY),E=M.multiplyTransformation(S,E,E)}f.boxUvToRenderBoundsTransform=M.multiplyTransformation(E,oht,f.boxUvToRenderBoundsTransform),f.boxUvToRenderBoundsScale=M.getScale(f.boxUvToRenderBoundsTransform,f.boxUvToRenderBoundsScale),f.boxUvToRenderBoundsTranslate=M.getTranslation(f.boxUvToRenderBoundsTransform,f.boxUvToRenderBoundsTranslate)}if(g){d.BOX_HAS_SHAPE_BOUNDS=!0;let A=t,x=n;f.boxUvToShapeUvScale=h.fromElements(2/(A.x===x.x?1:x.x-A.x),2/(A.y===x.y?1:x.y-A.y),2/(A.z===x.z?1:x.z-A.z),f.boxUvToShapeUvScale),f.boxUvToShapeUvTranslate=h.fromElements(-f.boxUvToShapeUvScale.x*(A.x*.5+.5),-f.boxUvToShapeUvScale.y*(A.y*.5+.5),-f.boxUvToShapeUvScale.z*(A.z*.5+.5),f.boxUvToShapeUvTranslate)}return this.shaderMaximumIntersectionsLength=m,!0};var aht=new h,cht=new h;Pl.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minBounds,s=this._maxBounds,a=1/Math.pow(2,e),c=h.fromElements(P.lerp(r.x,s.x,a*t),P.lerp(r.y,s.y,a*n),P.lerp(r.z,s.z,a*i),aht),l=h.fromElements(P.lerp(r.x,s.x,a*(t+1)),P.lerp(r.y,s.y,a*(n+1)),P.lerp(r.z,s.z,a*(i+1)),cht);return u0e(c,l,this.shapeTransform,o)};Pl.prototype.computeApproximateStepSize=function(e){return 1/h.maximumComponent(e)};Pl.DefaultMinBounds=Object.freeze(new h(-1,-1,-1));Pl.DefaultMaxBounds=Object.freeze(new h(1,1,1));function u0e(e,t,n,i){let o=Pl.DefaultMinBounds,r=Pl.DefaultMaxBounds;if(h.equals(e,o)&&h.equals(t,r))i.center=M.getTranslation(n,i.center),i.halfAxes=M.getMatrix3(n,i.halfAxes);else{let a=M.getScale(n,Fq),c=h.midpoint(e,t,Xdt);i.center=M.multiplyByPoint(n,c,i.center),a=h.fromElements(a.x*.5*(t.x-e.x),a.y*.5*(t.y-e.y),a.z*.5*(t.z-e.z),Fq);let l=M.getRotation(n,Kdt);i.halfAxes=Z.setScale(l,a,i.halfAxes)}return i}var Cm=Pl;function f0e(e,t,n,i){this._resource=e,this._metadataTable=void 0;let o;u(t)?o={json:t,binary:void 0}:o=fht(n),this._readyPromise=lht(this,o.json,o.binary,i)}Object.defineProperties(f0e.prototype,{readyPromise:{get:function(){return this._readyPromise}},metadataTable:{get:function(){return this._metadataTable}}});function lht(e,t,n,i){return uht(e,t,n).then(function(o){let r={},s=t.bufferViews.length;for(let l=0;l<s;++l){let f=t.bufferViews[l],d=f.byteOffset,p=d+f.byteLength,m=o[f.buffer].subarray(d,p);r[l]=m}let a=t.voxelTable,c=t.propertyTables[a];return e._metadataTable=new fl({count:c.count,properties:c.properties,class:i.classes[c.class],bufferViews:r}),e})}function uht(e,t,n){let i=t.buffers.length,o=new Array(i);for(let r=0;r<i;r++){let s=t.buffers[r];if(u(s.uri)){let c=e._resource.getDerivedResource({url:s.uri});o[r]=c.fetchArrayBuffer().then(function(l){return new Uint8Array(l)})}else o[r]=Promise.resolve(n)}return Promise.all(o)}function fht(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Oo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}var gF=f0e;function Wr(){this.orientedBoundingBox=new Rn,this.boundingSphere=new se,this.boundTransform=new M,this.shapeTransform=new M,this._minimumRadius=Wr.DefaultMinBounds.x,this._maximumRadius=Wr.DefaultMaxBounds.x,this._minimumHeight=Wr.DefaultMinBounds.y,this._maximumHeight=Wr.DefaultMaxBounds.y,this._minimumAngle=Wr.DefaultMinBounds.z,this._maximumAngle=Wr.DefaultMaxBounds.z,this.shaderUniforms={cylinderUvToRenderBoundsScale:new h,cylinderUvToRenderBoundsTranslate:new h,cylinderUvToRenderRadiusMin:0,cylinderRenderAngleMinMax:new H,cylinderUvToShapeUvRadius:new H,cylinderUvToShapeUvHeight:new H,cylinderUvToShapeUvAngle:new H,cylinderShapeUvAngleMinMax:new H,cylinderShapeUvAngleRangeZeroMid:0},this.shaderDefines={CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MAX:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MIN:void 0,CYLINDER_INTERSECTION_INDEX_ANGLE:void 0},this.shaderMaximumIntersectionsLength=0}var h0e=new h,dht=new h,hht=new h,mht=new Z,pht=new M,_ht=new M,ght=M.fromRotationTranslation(Z.fromUniformScale(2,new Z),new h(-1,-1,-1),new M);Wr.prototype.update=function(e,t,n,i,o){i=y(i,Wr.DefaultMinBounds),o=y(o,Wr.DefaultMaxBounds);let r=Wr.DefaultMinBounds.x,s=Wr.DefaultMaxBounds.x,a=Wr.DefaultMinBounds.y,c=Wr.DefaultMaxBounds.y,l=Wr.DefaultMinBounds.z,f=Wr.DefaultMaxBounds.z,d=f-l,p=.5*d,g=P.EPSILON10,m=P.EPSILON3,A=P.EPSILON10,x=P.clamp(t.x,r,s),C=P.clamp(n.x,r,s),T=P.clamp(i.x,r,s),E=P.clamp(o.x,r,s),S=Math.max(x,T),D=Math.min(C,E),w=P.clamp(t.y,a,c),R=P.clamp(n.y,a,c),O=P.clamp(i.y,a,c),L=P.clamp(o.y,a,c),N=Math.max(w,O),_=Math.min(R,L),b=P.negativePiToPi(t.z),v=P.negativePiToPi(n.z),I=P.negativePiToPi(i.z),B=P.negativePiToPi(o.z),F=Math.max(b,I),k=Math.min(v,B),U=M.getScale(e,h0e);if(D===0||S>D||N>_||P.equalsEpsilon(U.x,0,void 0,g)||P.equalsEpsilon(U.y,0,void 0,g)||P.equalsEpsilon(U.z,0,void 0,g))return!1;this._minimumRadius=x,this._maximumRadius=C,this._minimumHeight=w,this._maximumHeight=R,this._minimumAngle=b,this._maximumAngle=v,this.shapeTransform=M.clone(e,this.shapeTransform),this.orientedBoundingBox=Uq(S,D,N,_,F,k,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=M.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=se.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let X=x===r&&C===s,j=w===a&&R===c,Q=v<b,W=v-b+Q*d,K=W>p+A&&W<d-A,J=W>A&&W<p-A,_e=W>=p-A&&W<=p+A,xe=W<=A,re=K||J||_e||xe,ye=P.equalsEpsilon(b,l,void 0,m),fe=P.equalsEpsilon(v,f,void 0,m),Se=D===s,we=S===r,Ve=N===a&&_===c,qe=k<F,mt=k-F+qe*d,Ht=mt>p+A&&mt<d-A,fn=mt>A&&mt<p-A,dt=mt>=p-A&&mt<=p+A,Tn=mt<=A,Jn=Ht||fn||dt||Tn,Gt=this.shaderUniforms,Je=this.shaderDefines;for(let me in Je)Je.hasOwnProperty(me)&&(Je[me]=void 0);let pe=0;if(Je.CYLINDER_INTERSECTION_INDEX_RADIUS_MAX=pe,pe+=1,we||(Je.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN=!0,Je.CYLINDER_INTERSECTION_INDEX_RADIUS_MIN=pe,pe+=1,Gt.cylinderUvToRenderRadiusMin=D/S),Se||(Je.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX=!0),S===D&&(Je.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT=!0),Ve||(Je.CYLINDER_HAS_RENDER_BOUNDS_HEIGHT=!0),N===_&&(Je.CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT=!0),w===R&&(Je.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT=!0),x===C&&(Je.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT=!0),!X){Je.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS=!0;let me=1/(C-x),be=x/(x-C);Gt.cylinderUvToShapeUvRadius=H.fromElements(me,be,Gt.cylinderUvToShapeUvRadius)}if(!j){Je.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT=!0;let me=2/(R-w),be=(w+1)/(w-R);Gt.cylinderUvToShapeUvHeight=H.fromElements(me,be,Gt.cylinderUvToShapeUvHeight)}if(!Se||!Ve){let me=.5*(_-N),be=h.fromElements(1/D,1/D,1/(me===0?1:me),hht),St=h.fromElements(0,0,-be.z*.5*(N+_),dht),qt=M.fromRotationTranslation(Z.fromScale(be,mht),St,pht),Kn=M.multiplyTransformation(qt,ght,_ht);Gt.cylinderUvToRenderBoundsScale=M.getScale(Kn,Gt.cylinderUvToRenderBoundsScale),Gt.cylinderUvToRenderBoundsTranslate=M.getTranslation(Kn,Gt.cylinderUvToRenderBoundsTranslate)}if(Q&&(Je.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED=!0),Jn&&(Je.CYLINDER_HAS_RENDER_BOUNDS_ANGLE=!0,Je.CYLINDER_INTERSECTION_INDEX_ANGLE=pe,Ht?(Je.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF=!0,pe+=1):fn?(Je.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF=!0,pe+=2):dt?(Je.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF=!0,pe+=1):Tn&&(Je.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0,pe+=2),Gt.cylinderRenderAngleMinMax=H.fromElements(F,k,Gt.cylinderAngleMinMax)),re){Je.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE=!0,xe&&(Je.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0),ye&&(Je.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY=!0),fe&&(Je.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY=!0);let me=(b-l)/d,be=(v-l)/d,St=1-W/d;Gt.cylinderShapeUvAngleMinMax=H.fromElements(me,be,Gt.cylinderShapeUvAngleMinMax),Gt.cylinderShapeUvAngleRangeZeroMid=(be+.5*St)%1;let qt=d/W,Kn=-(b-l)/W;Gt.cylinderUvToShapeUvAngle=H.fromElements(qt,Kn,Gt.cylinderUvToShapeUvAngle)}return this.shaderMaximumIntersectionsLength=pe,!0};Wr.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minimumRadius,s=this._maximumRadius,a=this._minimumHeight,c=this._maximumHeight,l=this._minimumAngle,f=this._maximumAngle,d=1/Math.pow(2,e),p=P.lerp(r,s,t*d),g=P.lerp(r,s,(t+1)*d),m=P.lerp(a,c,n*d),A=P.lerp(a,c,(n+1)*d),x=P.lerp(l,f,i*d),C=P.lerp(l,f,(i+1)*d);return Uq(p,g,m,A,x,C,this.shapeTransform,o)};var yht=new Rn,Aht=new h,xht=new h,Cht=new h;Wr.prototype.computeApproximateStepSize=function(e){let t=this.shapeTransform,n=this._minimumRadius,i=this._maximumRadius,o=this._minimumHeight,r=this._maximumHeight,s=this._minimumAngle,a=this._maximumAngle,c=1-1/e.x,l=1-1/e.y,f=1-1/e.z,d=P.lerp(n,i,c),p=P.lerp(o,r,l),g=P.lerp(s,a,f),C=Uq(d,i,p,r,g,a,t,yht),T=Z.getScale(C.halfAxes,Aht),E=M.getScale(t,xht),S=h.divideComponents(T,E,Cht);return h.minimumComponent(S)};Wr.DefaultMinBounds=Object.freeze(new h(0,-1,-P.PI));Wr.DefaultMaxBounds=Object.freeze(new h(1,1,+P.PI));var Tht=5,Eht=new Array(Tht),bht=new h,Sht=new Z,Dht=new M,vht=new M,wht=new M,Vq=new M,Iht=new h,Pht=new h,Oht=new h,m0e=new Array(8);for(let e=0;e<8;e++)m0e[e]=new h;function d0e(e,t,n){return Math.abs(oe.dot(e,t))<n}function Rht(e){let t=M.getColumn(e,0,Iht),n=M.getColumn(e,1,Pht),i=M.getColumn(e,2,Oht),o=P.EPSILON4;return d0e(t,n,o)&&d0e(n,i,o)}function Bht(e,t){let n=m0e;h.fromElements(-.5,-.5,-.5,n[0]),h.fromElements(-.5,-.5,.5,n[1]),h.fromElements(-.5,.5,-.5,n[2]),h.fromElements(-.5,.5,.5,n[3]),h.fromElements(.5,-.5,-.5,n[4]),h.fromElements(.5,-.5,.5,n[5]),h.fromElements(.5,.5,-.5,n[6]),h.fromElements(.5,.5,.5,n[7]);for(let i=0;i<8;++i)M.multiplyByPoint(e,n[i],n[i]);return Rn.fromPoints(n,t)}function Uq(e,t,n,i,o,r,s,a){let c=Wr.DefaultMinBounds,l=Wr.DefaultMaxBounds,f=c.x,d=l.x,p=c.y,g=l.y,m=c.z,A=l.z;if(e===f&&t===d&&n===p&&i===g&&o===m&&r===A)return a.center=M.getTranslation(s,a.center),a.halfAxes=M.getMatrix3(s,a.halfAxes),a;r<o&&(r+=P.TWO_PI);let C=r-o,T=o+C*.5,E=Eht,S=0;E[S++]=o,E[S++]=r,E[S++]=T,C>P.PI&&(E[S++]=T-P.PI_OVER_TWO,E[S++]=T+P.PI_OVER_TWO);let D=1,w=1,R=-1,O=-1;for(let Q=0;Q<S;++Q){let W=E[Q]-T,K=Math.cos(W),J=Math.sin(W),_e=K*e,xe=J*e,re=K*t,ye=J*t;D=Math.min(D,_e),w=Math.min(w,xe),D=Math.min(D,re),w=Math.min(w,ye),R=Math.max(R,_e),O=Math.max(O,xe),R=Math.max(R,re),O=Math.max(O,ye)}let L=R-D,N=O-w,_=i-n,b=(D+R)*.5,v=(w+O)*.5,I=(n+i)*.5,B=h.fromElements(b,v,I,bht),F=Z.fromRotationZ(T,Sht),k=h.fromElements(L,N,_,h0e),U=M.fromScale(k,wht),G=M.fromRotation(F,vht),V=M.fromTranslation(B,Dht),X=M.multiplyTransformation(G,M.multiplyTransformation(V,U,Vq),Vq),j=M.multiplyTransformation(s,X,Vq);return Rht(j)?Rn.fromTransformation(j,a):Bht(j,a)}var Tm=Wr;function Ol(){this.orientedBoundingBox=new Rn,this.boundingSphere=new se,this.boundTransform=new M,this.shapeTransform=new M,this._rectangle=new ce,this._minimumHeight=Ol.DefaultMinBounds.z,this._maximumHeight=Ol.DefaultMaxBounds.z,this._ellipsoid=new ie,this._translation=new h,this._rotation=new Z,this.shaderUniforms={ellipsoidRadiiUv:new h,ellipsoidInverseRadiiSquaredUv:new h,ellipsoidRenderLongitudeMinMax:new H,ellipsoidShapeUvLongitudeMinMaxMid:new h,ellipsoidUvToShapeUvLongitude:new H,ellipsoidUvToShapeUvLatitude:new H,ellipsoidRenderLatitudeCosSqrHalfMinMax:new H,ellipsoidInverseHeightDifferenceUv:0,ellipseInnerRadiiUv:new H,ellipsoidInverseInnerScaleUv:0,ellipsoidInverseOuterScaleUv:0},this.shaderDefines={ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT:void 0,ELLIPSOID_IS_SPHERE:void 0,ELLIPSOID_INTERSECTION_INDEX_LONGITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN:void 0},this.shaderMaximumIntersectionsLength=0}var Mht=new h,Lht=new Z,p0e=new h,_0e=new h,g0e=new h,y0e=new h,Nht=new ce;Ol.prototype.update=function(e,t,n,i,o){i=y(i,Ol.DefaultMinBounds),o=y(o,Ol.DefaultMaxBounds);let r=Ol.DefaultMinBounds.x,s=Ol.DefaultMaxBounds.x,a=s-r,c=.5*a,l=Ol.DefaultMinBounds.y,f=Ol.DefaultMaxBounds.y,d=f-l,p=P.EPSILON10,g=P.EPSILON3,m=P.EPSILON10,A=P.EPSILON10,x=P.EPSILON3,C=P.clamp(t.x,r,s),T=P.clamp(n.x,r,s),E=P.clamp(i.x,r,s),S=P.clamp(o.x,r,s),D=Math.max(C,E),w=Math.min(T,S),R=P.clamp(t.y,l,f),O=P.clamp(n.y,l,f),L=P.clamp(i.y,l,f),N=P.clamp(o.y,l,f),_=Math.max(R,L),b=Math.min(O,N),v=M.getScale(e,Mht),I=v.x===v.y&&v.y===v.z,B=h.minimumComponent(v),F=Math.max(t.z,-B),k=Math.max(n.z,-B),U=Math.max(i.z,-B),G=Math.max(o.z,-B),V=Math.max(F,U),X=Math.min(k,G),j=h.add(v,h.fromElements(F,F,F,_0e),_0e),Q=h.add(v,h.fromElements(k,k,k,p0e),p0e),W=h.maximumComponent(Q),K=h.add(v,h.fromElements(V,V,V,y0e),y0e),J=h.add(v,h.fromElements(X,X,X,g0e),g0e);if(_>b||_===f||b===l||V>X||P.equalsEpsilon(J,h.ZERO,void 0,p))return!1;this._rectangle=ce.fromRadians(C,R,T,O),this._translation=M.getTranslation(e,this._translation),this._rotation=M.getRotation(e,this._rotation),this._ellipsoid=ie.fromCartesian3(v,this._ellipsoid),this._minimumHeight=F,this._maximumHeight=k;let _e=ce.fromRadians(D,_,w,b,Nht);this.orientedBoundingBox=A0e(_e,V,X,this._ellipsoid,this._translation,this._rotation,this.orientedBoundingBox),this.shapeTransform=M.fromRotationTranslation(Z.setScale(this._rotation,Q,Lht),this._translation,this.shapeTransform),this.boundTransform=M.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=se.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let xe=w<D,re=w-D+xe*a,ye=re<=m,fe=re>c+m&&re<a-m,Se=re>=c-m&&re<=c+m,we=re>m&&re<c-m,Ve=ye||fe||Se||we,qe=T<C,mt=T-C+qe*a,Ht=mt<=m,fn=mt>c+m&&mt<a-m,dt=mt>=c-m&&mt<=c+m,Tn=mt>m&&mt<c-m,Jn=Ht||fn||dt||Tn,Gt=b<-x,Je=b>=-x&&b<=+x,pe=b>+x&&b<f-A,me=Gt||Je||pe,be=_>l+A&&_<-x,St=_>=-x&&_<=+x,qt=_>+x,Kn=be||St||qt,Ro=me||Kn,Uo=O-R,Ao=O<-x,Yr=O>=-x&&O<=+x,Be=O>+x&&O<f-A,it=Ao||Yr||Be,Ke=R>l+A&&R<-x,Ze=R>=-x&&R<=+x,ft=R>+x,En=it||(Ke||Ze||ft),so=!h.equals(K,h.ZERO),So=!h.equals(J,h.ZERO),ns=so||So,Nr=X-V,Hi=!h.equals(j,h.ZERO),Oi=!h.equals(Q,h.ZERO),Ar=Hi||Oi,Mn=this.shaderUniforms,Yn=this.shaderDefines;for(let ti in Yn)Yn.hasOwnProperty(ti)&&(Yn[ti]=void 0);Mn.ellipsoidRadiiUv=h.divideByScalar(Q,W,Mn.ellipsoidRadiiUv),Mn.ellipsoidInverseRadiiSquaredUv=h.divideComponents(h.ONE,h.multiplyComponents(Mn.ellipsoidRadiiUv,Mn.ellipsoidRadiiUv,Mn.ellipsoidInverseRadiiSquaredUv),Mn.ellipsoidInverseRadiiSquaredUv);let Zn=0;if(Yn.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX=Zn,Zn+=1,ns&&(Nr===0&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT=!0),so&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN=!0,Yn.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN=Zn,Zn+=1,Mn.ellipsoidInverseInnerScaleUv=W/(W-(k-V))),So&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX=!0,Mn.ellipsoidInverseOuterScaleUv=W/(W-(k-X)))),Ar){if(Hi){Yn.ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN=!0;let ti=(k-F)/W;Mn.ellipsoidInverseHeightDifferenceUv=1/ti,Mn.ellipseInnerRadiiUv=H.fromElements(Mn.ellipsoidRadiiUv.x*(1-ti),Mn.ellipsoidRadiiUv.z*(1-ti),Mn.ellipseInnerRadiiUv)}F===k&&(Yn.ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT=!0)}if(Ve&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE=!0,Yn.ELLIPSOID_INTERSECTION_INDEX_LONGITUDE=Zn,fe?(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF=!0,Zn+=1):we?(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF=!0,Zn+=2):Se?(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF=!0,Zn+=1):ye&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO=!0,Zn+=2),Mn.ellipsoidRenderLongitudeMinMax=H.fromElements(D,w,Mn.ellipsoidRenderLongitudeMinMax)),Jn){Yn.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE=!0,T<C&&(Yn.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED=!0);let hc=a/mt,Do=-(C-r)/mt;Mn.ellipsoidUvToShapeUvLongitude=H.fromElements(hc,Do,Mn.ellipsoidUvToShapeUvLongitude)}if(Ve){let ti=P.equalsEpsilon(D,r,void 0,g),hc=P.equalsEpsilon(w,s,void 0,g);ti&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY=!0),hc&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY=!0);let Do=(C-r)/a,Bo=(T-r)/a,kf=(w-r)/a,er=1-re/a,ba=(kf+.5*er)%1;Mn.ellipsoidShapeUvLongitudeMinMaxMid=h.fromElements(Do,Bo,ba,Mn.ellipsoidShapeUvLongitudeMinMaxMid)}if(Ro){Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE=!0,Kn&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN=!0,Yn.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN=Zn,be?(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF=!0,Zn+=1):St?(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF=!0,Zn+=1):qt&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF=!0,Zn+=2)),me&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX=!0,Yn.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX=Zn,Gt?(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF=!0,Zn+=2):Je?(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF=!0,Zn+=1):pe&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF=!0,Zn+=1)),_===b&&(Yn.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO=!0);let ti=Math.pow(Math.cos(P.PI_OVER_TWO-Math.abs(_)),2),hc=Math.pow(Math.cos(P.PI_OVER_TWO-Math.abs(b)),2);Mn.ellipsoidRenderLatitudeCosSqrHalfMinMax=H.fromElements(ti,hc,Mn.ellipsoidRenderLatitudeCosSqrHalfMinMax)}if(En){Yn.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE=!0,R===O&&(Yn.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO=!0);let ti=d/Uo,hc=(l-R)/Uo;Mn.ellipsoidUvToShapeUvLatitude=H.fromElements(ti,hc,Mn.ellipsoidUvToShapeUvLatitude)}return I&&(Yn.ELLIPSOID_IS_SPHERE=!0),this.shaderMaximumIntersectionsLength=Zn,!0};var Fht=new ce;Ol.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=1/Math.pow(2,e),s=t*r,a=(t+1)*r,c=n*r,l=(n+1)*r,f=i*r,d=(i+1)*r,p=ce.subsection(this._rectangle,s,c,a,l,Fht),g=P.lerp(this._minimumHeight,this._maximumHeight,f),m=P.lerp(this._minimumHeight,this._maximumHeight,d);return A0e(p,g,m,this._ellipsoid,this._translation,this._rotation,o)};Ol.prototype.computeApproximateStepSize=function(e){let n=this._ellipsoid.maximumRadius,i=this._minimumHeight,o=this._maximumHeight;return .5*((o-i)/(n+o))/e.z};function A0e(e,t,n,i,o,r,s){return s=Rn.fromRectangle(e,t,n,i,s),s.center=h.add(s.center,o,s.center),s.halfAxes=Z.multiply(s.halfAxes,r,s.halfAxes),s}Ol.DefaultMinBounds=Object.freeze(new h(-P.PI,-P.PI_OVER_TWO,-Number.MAX_VALUE));Ol.DefaultMaxBounds=Object.freeze(new h(+P.PI,+P.PI_OVER_TWO,+Number.MAX_VALUE));var dC=Ol;var Iu={BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER"};Iu.getMinBounds=function(e){switch(e){case Iu.BOX:return Cm.DefaultMinBounds;case Iu.ELLIPSOID:return dC.DefaultMinBounds;case Iu.CYLINDER:return Tm.DefaultMinBounds}};Iu.getMaxBounds=function(e){switch(e){case Iu.BOX:return Cm.DefaultMaxBounds;case Iu.ELLIPSOID:return dC.DefaultMaxBounds;case Iu.CYLINDER:return Tm.DefaultMaxBounds}};Iu.getShapeConstructor=function(e){switch(e){case Iu.BOX:return Cm;case Iu.ELLIPSOID:return dC;case Iu.CYLINDER:return Tm}};var zi=Object.freeze(Iu);function kq(e){e=y(e,y.EMPTY_OBJECT),this.ready=!1,this.shapeTransform=void 0,this.globalTransform=void 0,this.shape=void 0,this.minBounds=void 0,this.maxBounds=void 0,this.dimensions=void 0,this.paddingBefore=void 0,this.paddingAfter=void 0,this.names=void 0,this.types=void 0,this.componentTypes=void 0,this.minimumValues=void 0,this.maximumValues=void 0,this.maximumTileCount=void 0,this._implicitTileset=void 0,this._subtreeCache=new _F;let t=this,n;this._readyPromise=Promise.resolve(e.url).then(function(i){let o=Oe.createIfNeeded(i);return o.fetchJson().then(function(r){return n=r,Uht(n),Wht(n,o).promise}).then(function(r){let s=n.root,a=s.content.extensions["3DTILES_content_voxels"],c=a.class,l=ai(n,"3DTILES_metadata")?n.extensions["3DTILES_metadata"]:n,f=r.schema,d=new ZA({metadataJson:l,schema:f});jht(t,d,c);let p=new QA(o,s,f),{shape:g,minBounds:m,maxBounds:A,shapeTransform:x,globalTransform:C}=kht(s);t.shape=g,t.minBounds=m,t.maxBounds=A,t.dimensions=h.unpack(a.dimensions),t.shapeTransform=x,t.globalTransform=C,t.maximumTileCount=Vht(d);let T,E;return u(a.padding)&&(T=h.unpack(a.padding.before),E=h.unpack(a.padding.after)),t.paddingBefore=T,t.paddingAfter=E,t._implicitTileset=p,Ui.unload(r),t.ready=!0,t})})}Object.defineProperties(kq.prototype,{readyPromise:{get:function(){return this._readyPromise}}});function Vht(e){if(u(e.tileset))return e.tileset.getPropertyBySemantic(AA.TILESET_TILE_COUNT)}function Uht(e){let t=e.root;if(!u(t.content))throw new ue("Root must have content");if(!ai(t.content,"3DTILES_content_voxels"))throw new ue("Root tile content must have 3DTILES_content_voxels extension");if(!ai(t,"3DTILES_implicit_tiling")&&!u(t.implicitTiling))throw new ue("Root tile must have implicit tiling");if(!u(e.schema)&&!u(e.schemaUri)&&!ai(e,"3DTILES_metadata"))throw new ue("Tileset must have a metadata schema")}function kht(e){let t=e.boundingVolume,n;if(u(e.transform)?n=M.unpack(e.transform):n=M.clone(M.IDENTITY),u(t.box))return Hht(t.box,n);if(u(t.region))return zht(t.region);if(ai(t,"3DTILES_bounding_volume_cylinder"))return Ght(t.extensions["3DTILES_bounding_volume_cylinder"].cylinder,n);throw new ue("Only box, region and 3DTILES_bounding_volume_cylinder are supported in Cesium3DTilesVoxelProvider")}function zht(e){let t=e[0],n=e[1],i=e[2],o=e[3],r=e[4],s=e[5],a=M.fromScale(ie.WGS84.radii),c=t,l=i,f=n,d=o,p=r,g=s,m=new h(c,f,p),A=new h(l,d,g);return{shape:zi.ELLIPSOID,minBounds:m,maxBounds:A,shapeTransform:a,globalTransform:M.clone(M.IDENTITY)}}function Hht(e,t){let n=Rn.unpack(e),i=M.fromRotationTranslation(n.halfAxes,n.center);return{shape:zi.BOX,minBounds:h.clone(Cm.DefaultMinBounds),maxBounds:h.clone(Cm.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function Ght(e,t){let n=Rn.unpack(e),i=M.fromRotationTranslation(n.halfAxes,n.center);return{shape:zi.CYLINDER,minBounds:h.clone(Tm.DefaultMinBounds),maxBounds:h.clone(Tm.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function Wht(e,t){let{schemaUri:n,schema:i}=e;return u(n)?Ui.loadSchema({resource:t.getDerivedResource({url:n})}):Ui.loadSchema({schema:i})}function jht(e,t,n){let{schema:i,statistics:o}=t,r=o?.classes[n],s=i.classes[n].properties,a=Object.entries(s).map(([d,p])=>{let{type:g,componentType:m}=p,A=r?.properties[d].min,x=r?.properties[d].max,C=zt.getComponentCount(g),T=x0e(A,C),E=x0e(x,C);return{id:d,type:g,componentType:m,minValue:T,maxValue:E}});e.names=a.map(d=>d.id),e.types=a.map(d=>d.type),e.componentTypes=a.map(d=>d.componentType);let c=a.map(d=>d.minValue),l=a.map(d=>d.maxValue),f=c.some(u);e.minimumValues=f?c:void 0,e.maximumValues=f?l:void 0}function x0e(e,t){if(!u(e))return;let n=Array.isArray(e)?e:[e];return Array.from({length:t},(i,o)=>n[o])}function Yht(e,t){let n=e.contentUriTemplates[0].getDerivedResource({templateValues:t.getTemplateValues()}),i=e.baseResource.getDerivedResource({url:n.url});return i.fetchArrayBuffer().then(function(o){let r=Hh(o);return new gF(i,r.jsonPayload,r.binaryPayload,e.metadataSchema).readyPromise})}function qht(e,t){let n=e._implicitTileset,i=e._subtreeCache,o=i.find(t);if(u(o))return o.readyPromise;let r=n.subtreeUriTemplate.getDerivedResource({templateValues:t.getTemplateValues()}),s=n.baseResource.getDerivedResource({url:r.url});return s.fetchArrayBuffer().then(function(a){let c=i.find(t);if(u(c))return c.readyPromise;let l=Hh(a);return c=new yA(s,l.jsonPayload,l.binaryPayload,n,t),i.addSubtree(c),c.readyPromise})}kq.prototype.requestData=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.tileLevel,0),n=y(e.tileX,0),i=y(e.tileY,0),o=y(e.tileZ,0);if(y(e.keyframe,0)!==0)return;let s=this._implicitTileset,a=this.names,c=new $A({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:t,x:n,y:i,z:o}),l=c.isSubtreeRoot()&&c.level>0,f=l?c.getParentSubtreeCoordinates():c.getSubtreeCoordinates();return qht(this,f).then(function(p){return(l?p.childSubtreeIsAvailableAtCoordinates(c):p.tileIsAvailableAtCoordinates(c))?Yht(s,c):Promise.reject("Tile is not available")}).then(function(p){return a.map(function(g){return p.metadataTable.getPropertyTypedArray(g)})})};var zq=kq;function Hq(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(Hq.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});Hq.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,this._radius),i=n*Math.cos(t),o=n*Math.sin(t),r=0;e.position=h.fromElements(i,o,r,e.position),e.velocity=h.clone(h.UNIT_Z,e.velocity)};var yF=Hq;var Gq={CUMULUS:0};Gq.validate=function(e){return e===Gq.CUMULUS};var gS=Object.freeze(Gq);function rh(e,t){if(e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),!u(e.scale)&&u(e.maximumSize))this._maximumSize=h.clone(e.maximumSize),this._scale=new H(this._maximumSize.x,this._maximumSize.y);else{this._scale=H.clone(y(e.scale,new H(20,12)));let n=new h(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=h.clone(y(e.maximumSize,n))}this._slice=y(e.slice,-1),this._color=z.clone(y(e.color,z.WHITE)),this._brightness=y(e.brightness,1),this._cloudCollection=t,this._index=-1}var Xht=rh.SHOW_INDEX=0,Kht=rh.POSITION_INDEX=1,Zht=rh.SCALE_INDEX=2,Jht=rh.MAXIMUM_SIZE_INDEX=3,Qht=rh.SLICE_INDEX=4,$ht=rh.BRIGHTNESS_INDEX=5,emt=rh.COLOR_INDEX=6;rh.NUMBER_OF_PROPERTIES=7;function hC(e,t){let n=e._cloudCollection;u(n)&&(n._updateCloud(e,t),e._dirty=!0)}Object.defineProperties(rh.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,hC(this,Xht))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),hC(this,Kht))}},scale:{get:function(){return this._scale},set:function(e){let t=this._scale;H.equals(t,e)||(H.clone(e,t),hC(this,Zht))}},maximumSize:{get:function(){return this._maximumSize},set:function(e){let t=this._maximumSize;h.equals(t,e)||(h.clone(e,t),hC(this,Jht))}},color:{get:function(){return this._color},set:function(e){let t=this._color;z.equals(t,e)||(z.clone(e,t),hC(this,emt))}},slice:{get:function(){return this._slice},set:function(e){this._slice!==e&&(this._slice=e,hC(this,Qht))}},brightness:{get:function(){return this._brightness},set:function(e){this._brightness!==e&&(this._brightness=e,hC(this,$ht))}}});rh.prototype._destroy=function(){this._cloudCollection=void 0};var Pu=rh;var Ou,W4=new h,tmt={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},nmt={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},imt=Pu.SHOW_INDEX,omt=Pu.POSITION_INDEX,rmt=Pu.SCALE_INDEX,smt=Pu.MAXIMUM_SIZE_INDEX,amt=Pu.SLICE_INDEX,cmt=Pu.BRIGHTNESS_INDEX,lmt=Pu.NUMBER_OF_PROPERTIES,umt=Pu.COLOR_INDEX;function sh(e){e=y(e,y.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(lmt),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=y(e.noiseDetail,16),this.noiseOffset=h.clone(y(e.noiseOffset,h.ZERO)),this._loading=!1,this._ready=!1;let t=this;this._uniforms={u_noiseTexture:function(){return t._noiseTexture},u_noiseTextureDimensions:C0e(t),u_noiseDetail:function(){return t.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=y(e.show,!0),this._colorCommands=[],this.debugBillboards=y(e.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=y(e.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function C0e(e){return function(){return W4.x=e._textureSliceWidth,W4.y=e._noiseTextureRows,W4.z=1/e._noiseTextureRows,W4}}Object.defineProperties(sh.prototype,{length:{get:function(){return jq(this),this._clouds.length}}});function T0e(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}sh.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.cloudType,gS.CUMULUS),n;return t===gS.CUMULUS&&(n=new Pu(e,this),n._index=this._clouds.length,this._clouds.push(n),this._createVertexArray=!0),n};sh.prototype.remove=function(e){return this.contains(e)?(this._clouds[e._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};sh.prototype.removeAll=function(){T0e(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0};function jq(e){if(e._cloudsRemoved){e._cloudsRemoved=!1;let t=[],n=e._clouds,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];u(s)&&(n._index=r++,t.push(s))}e._clouds=t}}sh.prototype._updateCloud=function(e,t){e._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=e),++this._propertiesChanged[t]};sh.prototype.contains=function(e){return u(e)&&e._cloudCollection===this};sh.prototype.get=function(e){return jq(this),this._clouds[e]};var fmt=new Float32Array([-1,-1,1,-1,1,1,-1,1]),dmt=new Uint16Array([0,1,2,0,2,3]);function hmt(e){let t=lt.createVertexBuffer({context:e,typedArray:fmt,usage:Ne.STATIC_DRAW}),n=lt.createIndexBuffer({context:e,typedArray:dmt,usage:Ne.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),i=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:q.FLOAT}];return new oi({context:e,attributes:i,indexBuffer:n})}var Yq;function mmt(e){let n=e.cache.cloudCollection_indexBufferBatched;if(u(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s,o[r+4]=s+2,o[r+5]=s+3;return n=lt.createIndexBuffer({context:e,typedArray:o,usage:Ne.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferBatched=n,n}function pmt(e){let t=e.cache.cloudCollection_indexBufferInstanced;return u(t)||(t=lt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ne.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferInstanced=t),t}function _mt(e){let t=e.cache.cloudCollection_vertexBufferInstanced;return u(t)||(t=lt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Ne.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_vertexBufferInstanced=t),t}function gmt(e,t,n){let i=[{index:Ou.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:Ne.STATIC_DRAW},{index:Ou.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:Ne.STATIC_DRAW},{index:Ou.packedAttribute0,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:Ne.STATIC_DRAW},{index:Ou.packedAttribute1,componentsPerAttribute:4,componentDatatype:q.FLOAT,usage:Ne.STATIC_DRAW},{index:Ou.color,componentsPerAttribute:4,componentDatatype:q.UNSIGNED_BYTE,normalize:!0,usage:Ne.STATIC_DRAW}];n&&i.push({index:Ou.direction,componentsPerAttribute:2,componentDatatype:q.FLOAT,vertexBuffer:_mt(e)});let o=n?t:4*t;return new Wm(e,i,o,n)}var Wq=new Hn;function E0e(e,t,n,i){let o,r=n[Ou.positionHighAndScaleX],s=n[Ou.positionLowAndScaleY],a=i.position;Hn.fromCartesian(a,Wq);let c=i.scale,l=Wq.high,f=Wq.low;e._instanced?(o=i._index,r(o,l.x,l.y,l.z,c.x),s(o,f.x,f.y,f.z,c.y)):(o=i._index*4,r(o+0,l.x,l.y,l.z,c.x),r(o+1,l.x,l.y,l.z,c.x),r(o+2,l.x,l.y,l.z,c.x),r(o+3,l.x,l.y,l.z,c.x),s(o+0,f.x,f.y,f.z,c.y),s(o+1,f.x,f.y,f.z,c.y),s(o+2,f.x,f.y,f.z,c.y),s(o+3,f.x,f.y,f.z,c.y))}function b0e(e,t,n,i){let o,r=n[Ou.packedAttribute0],s=i.show,a=i.brightness;e._instanced?(o=i._index,r(o,s,a,0,0)):(o=i._index*4,r(o+0,s,a,0,0),r(o+1,s,a,1,0),r(o+2,s,a,1,1),r(o+3,s,a,0,1))}function S0e(e,t,n,i){let o,r=n[Ou.packedAttribute1],s=i.maximumSize,a=i.slice;e._instanced?(o=i._index,r(o,s.x,s.y,s.z,a)):(o=i._index*4,r(o+0,s.x,s.y,s.z,a),r(o+1,s.x,s.y,s.z,a),r(o+2,s.x,s.y,s.z,a),r(o+3,s.x,s.y,s.z,a))}function D0e(e,t,n,i){let o,r=n[Ou.color],s=i.color,a=z.floatToByte(s.red),c=z.floatToByte(s.green),l=z.floatToByte(s.blue),f=z.floatToByte(s.alpha);e._instanced?(o=i._index,r(o,a,c,l,f)):(o=i._index*4,r(o+0,a,c,l,f),r(o+1,a,c,l,f),r(o+2,a,c,l,f),r(o+3,a,c,l,f))}function ymt(e,t,n,i){E0e(e,t,n,i),b0e(e,t,n,i),S0e(e,t,n,i),D0e(e,t,n,i)}function Amt(e,t,n,i){let o=e,r=o._textureSliceWidth,s=o._noiseTextureRows,a=t.context;o._vaNoise=hmt(a),o._spNoise=Xt.fromCache({context:a,vertexShaderSource:n,fragmentShaderSource:i,attributeLocations:{position:0}});let c=o.noiseDetail,l=o.noiseOffset;o._noiseTexture=new It({context:a,width:r*r/s,height:r*s,pixelDatatype:Xe.UNSIGNED_BYTE,pixelFormat:rt.RGBA,sampler:new ln({wrapS:vn.REPEAT,wrapT:vn.REPEAT,minificationFilter:an.NEAREST,magnificationFilter:yi.NEAREST})});let f=new Lu({vertexArray:o._vaNoise,shaderProgram:o._spNoise,outputTexture:o._noiseTexture,uniformMap:{u_noiseTextureDimensions:C0e(o),u_noiseDetail:function(){return c},u_noiseOffset:function(){return l}},persists:!1,owner:e,postExecute:function(d){o._ready=!0,o._loading=!1}});t.commandList.push(f),o._loading=!0}function xmt(e,t){let n=e,i=t.context;n._createVertexArray=!1,n._vaf=n._vaf&&n._vaf.destroy();let o=e._clouds,r=o.length;if(r>0){n._vaf=gmt(i,r,n._instanced);let s=n._vaf.writers,a;for(a=0;a<r;++a){let c=o[a];ymt(e,t,s,c)}n._vaf.commit(Yq(i))}}var Cmt=[];function Tmt(e,t){let n=t.context,i=e,r=i._clouds.length,s=i._cloudsToUpdate,a=i._cloudsToUpdateIndex,c=i._propertiesChanged,l=Cmt;l.length=0,(c[omt]||c[rmt])&&l.push(E0e),(c[imt]||c[cmt])&&l.push(b0e),(c[smt]||c[amt])&&l.push(S0e),c[umt]&&l.push(D0e);let f=l.length,d=i._vaf.writers,p,g,m;if(a/r>.1){for(p=0;p<a;++p)for(g=s[p],g._dirty=!1,m=0;m<f;++m)l[m](e,t,d,g);i._vaf.commit(Yq(n))}else{for(p=0;p<a;++p){for(g=s[p],g._dirty=!1,m=0;m<f;++m)l[m](e,t,d,g);i._instanced?i._vaf.subCommit(g._index,1):i._vaf.subCommit(g._index*4,4)}i._vaf.endSubCommits()}i._cloudsToUpdateIndex=0}function Emt(e,t,n,i){let o=t.context,r=e,s=new ke({defines:[],sources:[n]});r._instanced&&s.defines.push("INSTANCED");let a=new ke({defines:[],sources:[i]});r.debugBillboards&&a.defines.push("DEBUG_BILLBOARDS"),r.debugEllipsoids&&a.defines.push("DEBUG_ELLIPSOIDS"),r._sp=Xt.replaceCache({context:o,shaderProgram:r._sp,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:Ou}),r._rs=Ue.fromCache({depthTest:{enabled:!0,func:ee.LESS},depthMask:!1,blending:un.ALPHA_BLEND}),r._spCreated=!0,r._compiledDebugBillboards=r.debugBillboards,r._compiledDebugEllipsoids=r.debugEllipsoids}function bmt(e,t){let n=e,i=t.passes,o=n._uniforms,r=t.commandList;if(i.render){let s=n._colorCommands,a=n._vaf.va,c=a.length;s.length=c;for(let l=0;l<c;l++){let f=s[l];u(f)||(f=s[l]=new tt),f.pass=Ee.TRANSLUCENT,f.owner=e,f.uniformMap=o,f.count=a[l].indicesCount,f.vertexArray=a[l].va,f.shaderProgram=n._sp,f.renderState=n._rs,n._instanced&&(f.count=6,f.instanceCount=n._clouds.length),r.push(f)}}}sh.prototype.update=function(e){if(jq(this),!this.show)return;let t=this.debugBillboards||this.debugEllipsoids;this._ready=t?!0:u(this._noiseTexture),!this._ready&&!this._loading&&!t&&Amt(this,e,LM,MM),this._instanced=e.context.instancedArrays,Ou=this._instanced?nmt:tmt,Yq=this._instanced?pmt:mmt;let i=this._clouds.length,o=this._cloudsToUpdate,r=this._cloudsToUpdateIndex;this._createVertexArray?xmt(this,e):r>0&&Tmt(this,e),r>i*1.5&&(o.length=i),!(!u(this._vaf)||!u(this._vaf.va)||!this._ready&!t)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&Emt(this,e,BM,RM),bmt(this,e))};sh.prototype.isDestroyed=function(){return!1};sh.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),T0e(this._clouds),le(this)};var qq=sh;var Smt=P.toRadians(30);function Xq(e){this._angle=y(e,Smt)}Object.defineProperties(Xq.prototype,{angle:{get:function(){return this._angle},set:function(e){this._angle=e}}});Xq.prototype.emit=function(e){let t=Math.tan(this._angle),n=P.randomBetween(0,P.TWO_PI),i=P.randomBetween(0,t),o=i*Math.cos(n),r=i*Math.sin(n),s=1;e.velocity=h.fromElements(o,r,s,e.velocity),h.normalize(e.velocity,e.velocity),e.position=h.clone(h.ZERO,e.position)};var Kq=Xq;function AF(e){e=y(e,y.EMPTY_OBJECT);let t=e.attributeName,n=e.perInstanceAttribute;u(n)||(n=!1);let i=y(e.glslDatatype,"vec3"),o=`v_${t}`,r;if(t==="normal"||t==="tangent"||t==="bitangent")r=`vec4 getColor() { return vec4((${o} + vec3(1.0)) * 0.5, 1.0); } +`;else switch(t==="st"&&(i="vec2"),i){case"float":r=`vec4 getColor() { return vec4(vec3(${o}), 1.0); } +`;break;case"vec2":r=`vec4 getColor() { return vec4(${o}, 0.0, 1.0); } +`;break;case"vec3":r=`vec4 getColor() { return vec4(${o}, 1.0); } +`;break;case"vec4":r=`vec4 getColor() { return ${o}; } +`;break}let s=`in vec3 position3DHigh; +in vec3 position3DLow; +in float batchId; +${n?"":`in ${i} ${t}; +`}out ${i} ${o}; +void main() +{ +vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow); +${n?`${o} = czm_batchTable_${t}(batchId); +`:`${o} = ${t}; +`}gl_Position = czm_modelViewProjectionRelativeToEye * p; +}`,a=`in ${i} ${o}; +${r} +void main() +{ +out_FragColor = getColor(); +}`;this.material=void 0,this.translucent=y(e.translucent,!1),this._vertexShaderSource=y(e.vertexShaderSource,s),this._fragmentShaderSource=y(e.fragmentShaderSource,a),this._renderState=$i.getDefaultRenderState(!1,!1,e.renderState),this._closed=y(e.closed,!1),this._attributeName=t,this._glslDatatype=i}Object.defineProperties(AF.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});AF.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;AF.prototype.isTranslucent=$i.prototype.isTranslucent;AF.prototype.getRenderState=$i.prototype.getRenderState;var Zq=AF;function j4(e){e=y(e,y.EMPTY_OBJECT),this.length=y(e.length,1e7),this._length=void 0,this.width=y(e.width,2),this._width=void 0,this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=new M,this.id=e.id,this._id=void 0,this._primitive=void 0}j4.prototype.update=function(e){if(this.show){if(!u(this._primitive)||!M.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=M.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,u(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let t=new At({geometry:new f_({positions:[h.ZERO,h.UNIT_X],width:this.width,vertexFormat:Vr.VERTEX_FORMAT,colors:[z.RED,z.RED],arcType:Kt.NONE}),modelMatrix:M.multiplyByUniformScale(this.modelMatrix,this.length,new M),id:this.id,pickPrimitive:this}),n=new At({geometry:new f_({positions:[h.ZERO,h.UNIT_Y],width:this.width,vertexFormat:Vr.VERTEX_FORMAT,colors:[z.GREEN,z.GREEN],arcType:Kt.NONE}),modelMatrix:M.multiplyByUniformScale(this.modelMatrix,this.length,new M),id:this.id,pickPrimitive:this}),i=new At({geometry:new f_({positions:[h.ZERO,h.UNIT_Z],width:this.width,vertexFormat:Vr.VERTEX_FORMAT,colors:[z.BLUE,z.BLUE],arcType:Kt.NONE}),modelMatrix:M.multiplyByUniformScale(this.modelMatrix,this.length,new M),id:this.id,pickPrimitive:this});this._primitive=new Dn({geometryInstances:[t,n,i],appearance:new Vr,asynchronous:!1})}this._primitive.update(e)}};j4.prototype.isDestroyed=function(){return!1};j4.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),le(this)};var xF=j4;function Dmt(e){this.direction=h.clone(e.direction),this.color=z.clone(y(e.color,z.WHITE)),this.intensity=y(e.intensity,1)}var Jq=Dmt;var CF=`in vec3 v_positionMC; +in vec3 v_positionEC; +in vec2 v_st; + +void main() +{ + czm_materialInput materialInput; + + vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0))); +#ifdef FACE_FORWARD + normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); +#endif + + materialInput.s = v_st.s; + materialInput.st = v_st; + materialInput.str = vec3(v_st, 0.0); + + // Convert tangent space material normal to eye space + materialInput.normalEC = normalEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC); + + // Convert view vector to world space + vec3 positionToEyeEC = -v_positionEC; + materialInput.positionToEyeEC = positionToEyeEC; + + czm_material material = czm_getMaterial(materialInput); + +#ifdef FLAT + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#else + out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif +} +`;var TF=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec2 st; +in float batchId; + +out vec3 v_positionMC; +out vec3 v_positionEC; +out vec2 v_st; + +void main() +{ + vec4 p = czm_computePosition(); + + v_positionMC = position3DHigh + position3DLow; // position in model coordinates + v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates + v_st = st; + + gl_Position = czm_modelViewProjectionRelativeToEye * p; +} +`;function mC(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.aboveGround,!1);this.material=u(e.material)?e.material:Vi.fromType(Vi.ColorType),this.translucent=y(e.translucent,!0),this._vertexShaderSource=y(e.vertexShaderSource,TF),this._fragmentShaderSource=y(e.fragmentShaderSource,CF),this._renderState=$i.getDefaultRenderState(t,!n,e.renderState),this._closed=!1,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,n),this._aboveGround=n}Object.defineProperties(mC.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return mC.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}});mC.VERTEX_FORMAT=Ie.POSITION_AND_ST;mC.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;mC.prototype.isTranslucent=$i.prototype.isTranslucent;mC.prototype.getRenderState=$i.prototype.getRenderState;var Qq=mC;function Rl(e){this._scene=e.scene,this.samplingWindow=y(e.samplingWindow,Rl.defaultSettings.samplingWindow),this.quietPeriod=y(e.quietPeriod,Rl.defaultSettings.quietPeriod),this.warmupPeriod=y(e.warmupPeriod,Rl.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=y(e.minimumFrameRateDuringWarmup,Rl.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=y(e.minimumFrameRateAfterWarmup,Rl.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new Ae,this._nominalFrameRate=new Ae,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let t=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(o,r){vmt(t,r)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let n=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function i(){wmt(t)}this._visibilityChangeRemoveListener=void 0,u(n)&&(document.addEventListener(n,i,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(n,i,!1)})}Rl.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};Rl.fromScene=function(e){return(!u(e._frameRateMonitor)||e._frameRateMonitor.isDestroyed())&&(e._frameRateMonitor=new Rl({scene:e})),e._frameRateMonitor};Object.defineProperties(Rl.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});Rl.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};Rl.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};Rl.prototype.isDestroyed=function(){return!1};Rl.prototype.destroy=function(){return this._preUpdateRemoveListener(),u(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),le(this)};function vmt(e,t){if(e._pauseCount>0)return;let n=di();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=n+e.quietPeriod/Qn.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/Qn.SECONDS_PER_MILLISECOND;else if(n>=e._quietPeriodEndTime){e._frameTimes.push(n);let i=n-e.samplingWindow/Qn.SECONDS_PER_MILLISECOND;if(e._frameTimes.length>=2&&e._frameTimes[0]<=i){for(;e._frameTimes.length>=2&&e._frameTimes[1]<i;)e._frameTimes.shift();let o=(n-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/o;let r=1e3/(n>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup);o>r?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}function wmt(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}var EF=Rl;var v0e=vo(bj(),1);function $q(){this._image=new Image}$q.prototype.isReady=function(){return!0};$q.prototype.shouldDiscardImage=function(e){return e===this._image};function bF(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t;if(u(e.metadata))t=e.metadata;else{let r=Oe.createIfNeeded(e.url);t=new Zd(r)}this._metadata=t,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new ji({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ce(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let n=e.credit;typeof n=="string"&&(n=new Zt(n)),this._credit=n,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,u(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new $q),this._errorEvent=new Ae,this._ready=!1;let i=this,o;this._readyPromise=t.readyPromise.then(function(r){if(!t.imageryPresent){let s=new ue(`The server ${t.url} doesn't have imagery`);return o=Xn.reportError(o,i,i._errorEvent,s.message,void 0,void 0,void 0,s),Promise.reject(s)}return Xn.reportSuccess(o),i._ready=r,r}).catch(function(r){return o=Xn.reportError(o,i,i._errorEvent,r.message,void 0,void 0,void 0,r),Promise.reject(r)})}Object.defineProperties(bF.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});bF.prototype.getTileCredits=function(e,t,n){let i=this._metadata,o=i.getTileInformation(e,t,n);if(u(o)){let r=i.providers[o.imageryProvider];if(u(r))return[r]}};bF.prototype.requestImage=function(e,t,n,i){let o=this._tileDiscardPolicy._image,r=this._metadata,s=Zd.tileXYToQuadKey(e,t,n),a=r.getTileInformation(e,t,n);if(!u(a)){if(r.isValid(s)){let l=new zo({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction});r.populateSubtree(e,t,n,l);return}return Promise.resolve(o)}if(!a.hasImagery())return Promise.resolve(o);let c=Imt(this,a,e,t,n,i).fetchArrayBuffer();if(u(c))return c.then(function(l){yL(r.key,l);let f=new Uint8Array(l),d,p=r.protoImagery;if((!u(p)||!p)&&(d=Pmt(f)),!u(d)&&(!u(p)||p)){let g=Omt(f);d=g.imageType,f=g.imageData}return!u(d)||!u(f)?o:fA({uint8Array:f,format:d,flipY:!0})})};bF.prototype.pickFeatures=function(e,t,n,i,o){};function Imt(e,t,n,i,o,r){let s=Zd.tileXYToQuadKey(n,i,o),a=t.imageryVersion;return a=u(a)&&a>0?a:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1-0${s}-i.${a.toString()}`,request:r})}function Pmt(e){let t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";let n="PNG";if(e[1]===n.charCodeAt(0)&&e[2]===n.charCodeAt(1)&&e[3]===n.charCodeAt(2))return"image/png"}function Omt(e){let t=v0e.Reader.create(e),n=t.len,i={};for(;t.pos<n;){let s=t.uint32(),a;switch(s>>>3){case 1:i.imageType=t.uint32();break;case 2:i.imageData=t.bytes();break;case 3:i.alphaType=t.uint32();break;case 4:i.imageAlpha=t.bytes();break;case 5:if(a=i.copyrightIds,u(a)||(a=i.copyrightIds=[]),(s&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)a.push(t.uint32())}else a.push(t.uint32());break;default:t.skipType(s&7);break}}let o=i.imageType;if(u(o))switch(o){case 0:i.imageType="image/jpeg";break;case 4:i.imageType="image/png";break;default:throw new ue("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let r=i.alphaType;return u(r)&&r!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete i.alphaType,delete i.imageAlpha),i}var eX=bF;var Rmt=new z(1,1,1,.4),Bmt=new z(0,1,0,.05),Mmt=new z(0,.5,0,.2);function pC(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._tilingScheme=u(e.tilingScheme)?e.tilingScheme:new ji({ellipsoid:e.ellipsoid}),this._cells=y(e.cells,8),this._color=y(e.color,Rmt),this._glowColor=y(e.glowColor,Bmt),this._glowWidth=y(e.glowWidth,6),this._backgroundColor=y(e.backgroundColor,Mmt),this._errorEvent=new Ae,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._canvasSize=y(e.canvasSize,256),this._canvas=this._createGridCanvas(),this._readyPromise=Promise.resolve(!0)}Object.defineProperties(pC.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});pC.prototype._drawGrid=function(e){let n=this._canvasSize;for(let i=0;i<=this._cells;++i){let r=1+i/this._cells*(n-1);e.moveTo(r,0),e.lineTo(r,n),e.moveTo(0,r),e.lineTo(n,r)}e.stroke()};pC.prototype._createGridCanvas=function(){let e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;let t=0,n=this._canvasSize,i=e.getContext("2d"),o=this._backgroundColor.toCssColorString();i.fillStyle=o,i.fillRect(t,t,n,n);let r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i),i.lineWidth=this._glowWidth*.5,i.strokeRect(t,t,n,n),this._drawGrid(i);let s=this._color.toCssColorString();return i.strokeStyle=s,i.lineWidth=2,i.strokeRect(t,t,n,n),i.lineWidth=1,this._drawGrid(i),e};pC.prototype.getTileCredits=function(e,t,n){};pC.prototype.requestImage=function(e,t,n,i){return Promise.resolve(this._canvas)};pC.prototype.pickFeatures=function(e,t,n,i,o){};var tX=pC;function nX(e,t){this._parent=e,this._dataProvider=e._dataProvider,this._layer=e._layer,u(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${t}`}):this._resource=this._parent.resource.getDerivedResource({url:t})}Object.defineProperties(nX.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}}});nX.prototype.load=function(){let e=this;return this._dataProvider._loadJson(this._resource).then(function(t){return e._data=t,t})};var SF=nX;function yS(e,t){this._storageInfo=t,this._parent=e,this._dataProvider=e._dataProvider;let n=`attributes/${t.key}/0`;u(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${n}`}):this._resource=this._parent.resource.getDerivedResource({url:n})}Object.defineProperties(yS.prototype,{resource:{get:function(){return this._resource}},header:{get:function(){return this._header}},values:{get:function(){return u(this._values)&&u(this._values.attributeValues)?this._values.attributeValues:[]}},name:{get:function(){return this._storageInfo.name}}});function Lmt(e){return e==="UInt8"||e==="Int8"?1:e==="UInt16"||e==="Int16"?2:e==="UInt32"||e==="Int32"||e==="Oid32"||e==="Float32"?4:e==="UInt64"||e==="Int64"||e==="Float64"?8:0}yS.prototype.load=function(){let e=this;return this._dataProvider._loadBinary(this._resource).then(function(t){let n=new DataView(t),i=!0;if(n.getUint8(0)==="{".charCodeAt(0)&&new TextDecoder().decode(t).includes("404")&&(i=!1,console.error(`Failed to load: ${e.resource.url}`)),i){e._data=t;let o=e._parseHeader(n),r=Lmt(e._storageInfo.attributeValues.valueType);r>0&&(o=Math.ceil(o/r)*r),e._parseBody(n,o)}})};yS.prototype._parseValue=function(e,t,n){let i;if(t==="UInt8")i=e.getUint8(n),n+=1;else if(t==="Int8")i=e.getInt8(n),n+=1;else if(t==="UInt16")i=e.getUint16(n,!0),n+=2;else if(t==="Int16")i=e.getInt16(n,!0),n+=2;else if(t==="UInt32")i=e.getUint32(n,!0),n+=4;else if(t==="Oid32")i=e.getUint32(n,!0),n+=4;else if(t==="Int32")i=e.getInt32(n,!0),n+=4;else if(t==="UInt64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);i=o+Math.pow(2,32)*r,n+=8}else if(t==="Int64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);r<Math.pow(2,31)?i=o+Math.pow(2,32)*r:i=o+Math.pow(2,32)*(r-Math.pow(2,32)),n+=8}else t==="Float32"?(i=e.getFloat32(n,!0),n+=4):t==="Float64"?(i=e.getFloat64(n,!0),n+=8):t==="String"&&(i=String.fromCharCode(e.getUint8(n)),n+=1);return{value:i,offset:n}};yS.prototype._parseHeader=function(e){let t=0;this._header={};for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n],o=this._parseValue(e,i.valueType,t);this._header[i.property]=o.value,t=o.offset}return t};yS.prototype._parseBody=function(e,t){this._values={};for(let n=0;n<this._storageInfo.ordering.length;n++){let i=this._storageInfo.ordering[n],o=this._storageInfo[i];if(u(o)){this._values[i]=[];for(let r=0;r<this._header.count;++r)if(o.valueType!=="String"){let s=this._parseValue(e,o.valueType,t);this._values[i].push(s.value),t=s.offset}else{let s=this._values.attributeByteCounts[r],a="";for(let c=0;c<s;++c){let l=this._parseValue(e,o.valueType,t);l.value.charCodeAt(0)!==0&&(a+=l.value),t=l.offset}this._values[i].push(a)}}}};var DF=yS;function vF(e,t){let n=e._dataProvider,i=e._layer,o;u(e._nodeIndex)?o=i.resource.getDerivedResource({url:`nodes/${e._data.mesh.geometry.resource}/${t}`}):o=e.resource.getDerivedResource({url:t}),this._parent=e,this._dataProvider=n,this._layer=i,this._resource=o,this._customAttributes=void 0}Object.defineProperties(vF.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},customAttributes:{get:function(){return this._customAttributes}}});vF.prototype.load=function(){let e=this;return this._dataProvider._loadBinary(this._resource).then(function(t){return e._data=t,t})};var Nmt=new h,Fmt=new h,Vmt=new h,Umt=new h,kmt=new h;function iX(e,t,n,i){let o=h.subtract(i,n,Nmt),r=h.cross(o,h.subtract(e,n,Fmt),Umt),s=h.cross(o,h.subtract(t,n,Vmt),kmt);return h.dot(r,s)>=0}var zmt=new h,Hmt=new h,Gmt=new h,Wmt=new h,jmt=new h,Ymt=new h,qmt=new h,Xmt=new h,Kmt=new h,Zmt=new h;vF.prototype.getClosestPointIndexOnTriangle=function(e,t,n){if(u(this._customAttributes)&&u(this._customAttributes.positions)){let i=new h(e,t,n);i.x-=this._customAttributes.cartesianCenter.x,i.y-=this._customAttributes.cartesianCenter.y,i.z-=this._customAttributes.cartesianCenter.z,Z.multiplyByVector(this._customAttributes.parentRotation,i,i);let o=Number.MAX_VALUE,r,s,a,c,l=this._customAttributes.positions,f=this._customAttributes.indices,d;u(f)?d=f.length:d=l.length/3;for(let p=0;p<d;p++){let g,m,A;u(f)?(g=f[p],m=f[p+1],A=f[p+2]):(g=p*3,m=p*3+1,A=p*3+2);let x=h.fromElements(l[g*3],l[g*3+1],l[g*3+2],zmt),C=h.fromElements(l[m*3],l[m*3+1],l[m*3+2],Hmt),T=new h(l[A*3],l[A*3+1],l[A*3+2],Gmt);if(!iX(i,x,C,T)||!iX(i,C,x,T)||!iX(i,T,x,C))continue;let E=h.subtract(C,x,Wmt),S=h.subtract(T,x,jmt),D=h.cross(E,S,Ymt);if(h.magnitude(D)===0)continue;let w=h.normalize(D,qmt),R=h.subtract(i,x,Xmt),O=Math.abs(h.dot(R,w));if(O<o){o=O,r=p;let L=h.magnitudeSquared(h.subtract(i,x,R)),N=h.magnitudeSquared(h.subtract(i,C,Kmt)),_=h.magnitudeSquared(h.subtract(i,T,Zmt));L<N&&L<_?(a=g,c=x,s=L):N<_?(a=m,c=C,s=N):(a=A,c=T,s=_)}}if(u(r))return{index:a,distanceSquared:s,distance:Math.sqrt(s),queriedPosition:i,closestPosition:h.clone(c)}}return{index:-1,distanceSquared:Number.Infinity,distance:Number.Infinity}};vF.prototype._generateGltf=function(e,t,n,i,o,r){let s={pbrMetallicRoughness:{metallicFactor:0},doubleSided:!0,name:"Material"},a=!1,c,l="";if(u(this._parent._data.mesh)&&u(this._layer._data.materialDefinitions)){let A=this._parent._data.mesh.material.definition;if(A>=0&&A<this._layer._data.materialDefinitions.length&&(c=this._layer._data.materialDefinitions[A],s=c,u(s.pbrMetallicRoughness)&&u(s.pbrMetallicRoughness.baseColorTexture))){a=!0,s.pbrMetallicRoughness.baseColorTexture.index=0;let x="0";if(u(this._layer._data.textureSetDefinitions))for(let C=0;C<this._layer._data.textureSetDefinitions.length;C++){let T=this._layer._data.textureSetDefinitions[C];for(let E=0;E<T.formats.length;E++){let S=T.formats[E];if(S.format==="jpg"){x=S.name;break}}}u(this._parent._data.mesh)&&this._parent._data.mesh.material.resource>=0&&(l=this._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.material.resource}/textures/${x}`}).url)}}else u(this._parent._data.textureData)&&(a=!0,l=this._parent.resource.getDerivedResource({url:`${this._parent._data.textureData[0].href}`}).url,s.pbrMetallicRoughness.baseColorTexture={index:0});let f=[],d=[],p=[];return a&&(f=[{sampler:0,source:0}],d=[{uri:l}],p=[{magFilter:9729,minFilter:9986,wrapS:10497,wrapT:10497}]),{scene:0,scenes:[{nodes:e}],nodes:t,meshes:n,buffers:i,bufferViews:o,accessors:r,materials:[s],textures:f,images:d,samplers:p,asset:{version:"2.0"}}};var AS=vF;function Bl(e,t,n){let i,o,r,s;n?(i=0,o=e):(i=e._level+1,o=e._layer),typeof t=="number"?r=t:s=e.resource.getDerivedResource({url:`${t}/`}),this._parent=e,this._dataProvider=e._dataProvider,this._isRoot=n,this._level=i,this._layer=o,this._nodeIndex=r,this._resource=s,this._tile=void 0,this._data=void 0,this._geometryData=[],this._featureData=[],this._fields={},this._children=[],this._childrenReadyPromise=void 0,this._globalTransform=void 0,this._inverseGlobalTransform=void 0,this._inverseRotationMatrix=void 0}Object.defineProperties(Bl.prototype,{resource:{get:function(){return this._resource}},layer:{get:function(){return this._layer}},parent:{get:function(){return this._parent}},children:{get:function(){return this._children}},geometryData:{get:function(){return this._geometryData}},featureData:{get:function(){return this._featureData}},fields:{get:function(){return this._fields}},tile:{get:function(){return this._tile}},data:{get:function(){return this._data}}});Bl.prototype.load=function(){let e=this;function t(){if(!e._isRoot){let n=e._create3DTileDefinition();e._tile=new eu(e._layer._tileset,e._dataProvider.resource,n,e._parent._tile),e._tile._i3sNode=e}}return u(this._nodeIndex)?this._layer._getNodeInNodePages(this._nodeIndex).then(function(n){e._data=n;let i;e._isRoot?i="nodes/root/":u(n.mesh)&&(i=`../${n.mesh.geometry.resource}/`),u(i)&&(e._resource=e._parent.resource.getDerivedResource({url:i})),t()}):this._dataProvider._loadJson(this._resource).then(function(n){e._data=n,t()})};Bl.prototype.loadFields=function(){let e=this._layer._data.attributeStorageInfo,t=this;function n(o,r){let s=new DF(t,o[r]);return t._fields[s._storageInfo.name]=s,s.load()}let i=[];if(u(e))for(let o=0;o<e.length;o++)i.push(n(e,o));return Promise.all(i)};Bl.prototype.getFieldsForPickedPosition=function(e){let t=this.geometryData[0];if(!u(t.customAttributes.featureIndex))return{};let n=t.getClosestPointIndexOnTriangle(e.x,e.y,e.z);if(n.index===-1||n.index>t.customAttributes.featureIndex.length)return{};let i=t.customAttributes.featureIndex[n.index];return this.getFieldsForFeature(i)};Bl.prototype.getFieldsForFeature=function(e){let t={};for(let n in this.fields)if(this.fields.hasOwnProperty(n)){let i=this.fields[n];e>=0&&e<i.values.length&&(t[i.name]=i.values[e])}return t};Bl.prototype._loadChildren=function(){let e=this;if(u(this._childrenReadyPromise))return this._childrenReadyPromise;let t=[];if(u(e._data.children))for(let n=0;n<e._data.children.length;n++){let i=e._data.children[n],o=new Bl(e,y(i.href,i),!1);e._children.push(o),t.push(o.load())}return this._childrenReadyPromise=Promise.all(t).then(function(){for(let n=0;n<e._children.length;n++)e._tile.children.push(e._children[n]._tile)}),this._childrenReadyPromise};Bl.prototype._loadGeometryData=function(){let e=[];if(u(this._data.geometryData))for(let t=0;t<this._data.geometryData.length;t++){let n=new AS(this,this._data.geometryData[t].href);this._geometryData.push(n),e.push(n.load())}else if(u(this._data.mesh)){let t=this._layer._findBestGeometryBuffers(this._data.mesh.geometry.definition,["position","uv0"]),n=`./geometries/${t.bufferIndex}/`,i=new AS(this,n);i._geometryDefinitions=t.definition,i._geometryBufferInfo=t.geometryBufferInfo,this._geometryData.push(i),e.push(i.load())}return Promise.all(e)};Bl.prototype._loadFeatureData=function(){let e=[];if(u(this._data.featureData))for(let t=0;t<this._data.featureData.length;t++){let n=new SF(this,this._data.featureData[t].href);this._featureData.push(n),e.push(n.load())}return Promise.all(e)};Bl.prototype._clearGeometryData=function(){this._geometryData=[]};Bl.prototype._create3DTileDefinition=function(){let e=this._data.obb,t=this._data.mbs;if(!u(e)&&!u(t)){console.error("Failed to load I3S node. Bounding volume is required.");return}let n;if(u(e)?n=he.fromDegrees(e.center[0],e.center[1],e.center[2]):n=he.fromDegrees(t[0],t[1],t[2]),u(this._dataProvider._geoidDataList)&&u(n))for(let C=0;C<this._dataProvider._geoidDataList.length;C++){let T=this._dataProvider._geoidDataList[C],E=T.projection.project(n);if(E.x>T.nativeExtent.west&&E.x<T.nativeExtent.east&&E.y>T.nativeExtent.south&&E.y<T.nativeExtent.north){n.height+=Qmt(E.x,E.y,T);break}}let i={},o,r=0;u(e)?(i={box:[0,0,0,e.halfSize[0],0,0,0,e.halfSize[1],0,0,0,e.halfSize[2]]},r=Math.max(Math.max(this._data.obb.halfSize[0],this._data.obb.halfSize[1]),this._data.obb.halfSize[2]),o=ie.WGS84.cartographicToCartesian(n)):(i={sphere:[0,0,0,t[3]]},o=ie.WGS84.cartographicToCartesian(n),r=this._data.mbs[3]),r*=2;let s=1/0;if(u(this._data.lodThreshold))if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThresholdSQ"){let C=Math.sqrt(this._data.lodThreshold/(Math.PI*.25));s=r/C}else if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThreshold"){let C=this._data.lodThreshold;s=r/C}else console.error("Invalid lodSelectionMetricType in Layer");else if(u(this._data.lodSelection))for(let C=0;C<this._data.lodSelection.length;C++)this._data.lodSelection[C].metricType==="maxScreenThreshold"&&(s=r/this._data.lodSelection[C].maxError);s===1/0&&(s=1e5);let a=s*16,c=new Ba(0,0,0),l=Ot.headingPitchRollQuaternion(o,c);u(this._data.obb)&&(l=new Le(this._data.obb.quaternion[0],this._data.obb.quaternion[1],this._data.obb.quaternion[2],this._data.obb.quaternion[3]));let f=Z.fromQuaternion(l),d=Z.inverse(f,new Z),p=new M(f[0],f[1],f[2],0,f[3],f[4],f[5],0,f[6],f[7],f[8],0,o.x,o.y,o.z,1),g=M.inverse(p,new M),m=M.clone(p);u(this._parent._globalTransform)&&M.multiply(p,this._parent._inverseGlobalTransform,m),this._globalTransform=p,this._inverseGlobalTransform=g,this._inverseRotationMatrix=d;let A=[];for(let C=0;C<this._children.length;C++)A.push(this._children[C]._create3DTileDefinition());return{children:A,refine:"REPLACE",boundingVolume:i,transform:[m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]],content:{uri:u(this._resource)?this._resource.url:void 0},geometricError:a}};Bl.prototype._createI3SDecoderTask=function(e,t){let n=t.geometryData._parent._data,i=t.geometryData._parent._inverseRotationMatrix,o=0,r=0,s=0;u(n.obb)?(o=n.obb.center[0],r=n.obb.center[1],s=n.obb.center[2]):u(n.mbs)&&(o=n.mbs[0],r=n.mbs[1],s=n.mbs[2]);let a=Z.fromRotationX(-P.PI_OVER_TWO),c=new Z;Z.multiply(a,i,c);let l=he.fromDegrees(o,r,s),f=ie.WGS84.cartographicToCartesian(l),d={binaryData:t.geometryData._data,featureData:u(t.featureData)&&u(t.featureData[0])?t.featureData[0].data:void 0,schema:t.defaultGeometrySchema,bufferInfo:t.geometryData._geometryBufferInfo,ellipsoidRadiiSquare:ie.WGS84.radiiSquared,url:t.url,geoidDataList:t.geometryData._dataProvider._geoidDataList,cartographicCenter:l,cartesianCenter:f,parentRotation:c},p=e._getDecoderTaskProcessor(),g=[];return e._taskProcessorReadyPromise.then(function(){return p.scheduleTask(d,g)})};Bl.prototype._createContentURL=function(){let e={scene:0,scenes:[{nodes:[0]}],nodes:[{name:"singleNode"}],meshes:[],buffers:[],bufferViews:[],accessors:[],materials:[],textures:[],images:[],samplers:[],asset:{version:"2.0"}},t=[this._loadGeometryData()];this._dataProvider.legacyVersion16&&t.push(this._loadFeatureData());let n=this;return Promise.all(t).then(function(){let i=Promise.resolve();if(u(n._geometryData)&&n._geometryData.length>0){let o={geometryData:n._geometryData[0],featureData:n._featureData,defaultGeometrySchema:n._layer._data.store.defaultGeometrySchema,url:n._geometryData[0].resource.url,tile:n._tile},r=n._createI3SDecoderTask(n._dataProvider,o);if(!u(r))return;i=r.then(function(s){e=o.geometryData._generateGltf(s.meshData.nodesInScene,s.meshData.nodes,s.meshData.meshes,s.meshData.buffers,s.meshData.bufferViews,s.meshData.accessors),n._geometryData[0]._customAttributes=s.meshData._customAttributes})}return i.then(function(){let o=n._dataProvider._binarizeGltf(e),r=new Blob([o],{type:"application/binary"});n._glbURL=URL.createObjectURL(r)})})};eu.prototype._hookedRequestContent=eu.prototype.requestContent;eu.prototype._resolveHookedObject=function(){let e=this;this._hookedRequestContent(),this._contentReadyToProcessPromise.then(function(){e._contentReadyToProcessDefer.resolve()}),this._contentReadyPromise.then(function(t){e._isLoading=!1,e._contentReadyDefer.resolve(t)})};eu.prototype.requestContent=function(){let e=this;return this.tileset._isI3STileSet?this._isLoading?1:(this._isLoading=!0,this._contentReadyToProcessDefer=Jr(),this._contentReadyDefer=Jr(),this._contentReadyToProcessPromise=this._contentReadyToProcessDefer.promise,this._contentReadyPromise=this._contentReadyDefer.promise,this._i3sNode._createContentURL().then(function(){e._contentResource=new Oe({url:e._i3sNode._glbURL}),e._resolveHookedObject()}),0):this._hookedRequestContent()};function Jmt(e,t,n,i,o,r){let s=n*(1-e)+i*e,a=o*(1-e)+r*e;return s*(1-t)+a*t}function Y4(e,t,n,i){let o=e+t*n;return i[o]}function Qmt(e,t,n){let i=n.nativeExtent,o=(e-i.west)/(i.east-i.west)*(n.width-1),r=(t-i.south)/(i.north-i.south)*(n.height-1),s=Math.floor(o),a=Math.floor(r);o-=s,r-=a;let c=s<n.width?s+1:s,l=a<n.height?a+1:a;a=n.height-1-a,l=n.height-1-l;let f=Y4(s,a,n.width,n.buffer),d=Y4(c,a,n.width,n.buffer),p=Y4(s,l,n.width,n.buffer),g=Y4(c,l,n.width,n.buffer),m=Jmt(o,r,f,d,p,g);return m=m*n.scale+n.offset,m}Object.defineProperties(eu.prototype,{i3sNode:{get:function(){return this._i3sNode}}});var xS=Bl;function Nf(e,t,n){this._dataProvider=e,u(t.href)||(t.href=`./layers/${n}`);let i=this._dataProvider.resource.getUrlComponent(),o="";i.match(/layers\/\d/)?o=`${i}`.replace(/\/+$/,""):o=`${i}`.replace(/\/?$/,"/").concat(`${t.href}`),this._version=t.store.version;let r=this._version.split(".");this._majorVersion=parseInt(r[0]),this._minorVersion=r.length>1?parseInt(r[1]):0,this._resource=new Oe({url:o}),this._resource.setQueryParameters(this._dataProvider.resource.queryParameters),this._resource.appendForwardSlash(),this._data=t,this._rootNode=void 0,this._nodePages={},this._nodePageFetches={},this._extent=void 0,this._tileset=void 0,this._geometryDefinitions=void 0,this._computeGeometryDefinitions(!0),this._computeExtent()}Object.defineProperties(Nf.prototype,{resource:{get:function(){return this._resource}},rootNode:{get:function(){return this._rootNode}},tileset:{get:function(){return this._tileset}},data:{get:function(){return this._data}},version:{get:function(){return this._version}},majorVersion:{get:function(){return this._majorVersion}},minorVersion:{get:function(){return this._minorVersion}},legacyVersion16:{get:function(){if(u(this.version))return this.majorVersion<1||this.majorVersion===1&&this.minorVersion<=6}}});Nf.prototype.load=function(){let e=this;return this._data.spatialReference.wkid!==4326?(console.log(`Unsupported spatial reference: ${this._data.spatialReference.wkid}`),Promise.reject()):this._dataProvider._geoidDataIsReadyPromise.then(function(){return e._loadRootNode().then(function(){return e._create3DTileset(),e._tileset.readyPromise.then(function(){if(e._rootNode._tile=e._tileset._root,e._tileset._root._i3sNode=e._rootNode,e.legacyVersion16)return e._rootNode._loadChildren()})})})};Nf.prototype._computeGeometryDefinitions=function(e){if(this._geometryDefinitions=[],u(this._data.geometryDefinitions))for(let t=0;t<this._data.geometryDefinitions.length;t++){let n=[],i=this._data.geometryDefinitions[t].geometryBuffers;for(let o=0;o<i.length;o++){let r=i[o],s=[],a=!1;if(u(r.compressedAttributes)&&e){a=!0;let c=r.compressedAttributes.attributes;for(let l=0;l<c.length;l++)s.push(c[l])}else for(let c in r)c!=="offset"&&s.push(c);n.push({compressed:a,attributes:s,index:i.indexOf(r)})}n.sort(function(o,r){return o.compressed&&!r.compressed?-1:!o.compressed&&r.compressed?1:o.attributes.length-r.attributes.length}),this._geometryDefinitions.push(n)}};Nf.prototype._findBestGeometryBuffers=function(e,t){let n=this._geometryDefinitions[e];if(u(n))for(let i=0;i<n.length;++i){let o=n[i],r=!1,s=o.attributes;for(let a=0;a<t.length;a++)if(!s.includes(t[a])){r=!0;break}if(!r)return{bufferIndex:o.index,definition:n,geometryBufferInfo:o}}return 0};Nf.prototype._loadRootNode=function(){if(u(this._data.nodePages)){let e=0;u(this._data.nodePages.rootIndex)&&(e=this._data.nodePages.rootIndex),this._rootNode=new xS(this,e,!0)}else this._rootNode=new xS(this,this._data.store.rootNode,!0);return this._rootNode.load()};Nf.prototype._getNodeInNodePages=function(e){let t=Math.floor(e/this._data.nodePages.nodesPerPage),n=e%this._data.nodePages.nodesPerPage,i=this;return this._loadNodePage(t).then(function(){return i._nodePages[t][n]})};Nf._fetchJson=function(e){return e.fetchJson()};Nf.prototype._loadNodePage=function(e){let t=this;if(!u(this._nodePageFetches[e])){let n=this.resource.getDerivedResource({url:`nodepages/${e}/`}),i=Nf._fetchJson(n).then(function(o){return u(o.error)&&o.error.code!==200?Promise.reject(o.error):(t._nodePages[e]=o.nodes,o)});this._nodePageFetches[e]=i}return this._nodePageFetches[e]};Nf.prototype._computeExtent=function(){u(this._data.fullExtent)?this._extent=ce.fromDegrees(this._data.fullExtent.xmin,this._data.fullExtent.ymin,this._data.fullExtent.xmax,this._data.fullExtent.ymax):u(this._data.store.extent)&&(this._extent=ce.fromDegrees(this._data.store.extent[0],this._data.store.extent[1],this._data.store.extent[2],this._data.store.extent[3]))};Nf.prototype._create3DTileset=function(){let e={asset:{version:"1.0"},geometricError:Number.MAX_VALUE,root:this._rootNode._create3DTileDefinition()},t=new Blob([JSON.stringify(e)],{type:"application/json"}),n=URL.createObjectURL(t),i={};if(u(this._dataProvider._cesium3dTilesetOptions))for(let r in this._dataProvider._cesium3dTilesetOptions)this._dataProvider._cesium3dTilesetOptions.hasOwnProperty(r)&&(i[r]=this._dataProvider._cesium3dTilesetOptions[r]);i.url=n,i.show=this._dataProvider.show,this._tileset=new Rc(i),this._tileset._isI3STileSet=!0;let o=this;this._tileset.readyPromise.then(function(){o._tileset.tileUnload.addEventListener(function(r){r._i3sNode._clearGeometryData(),URL.revokeObjectURL(r._contentResource._url),r._contentResource=r._i3sNode.resource}),o._tileset.tileVisible.addEventListener(function(r){u(r._i3sNode)&&r._i3sNode._loadChildren()})})};var CS=Nf;var I0e=vo(w0e(),1);function Ta(e){e=y(e,y.EMPTY_OBJECT),this._resource=Oe.createIfNeeded(e.url),this._name=e.name,this._show=y(e.show,!0),this._geoidTiledTerrainProvider=e.geoidTiledTerrainProvider,this._traceFetches=y(e.traceFetches,!1),this._cesium3dTilesetOptions=y(e.cesium3dTilesetOptions,y.EMPTY_OBJECT),this._layers=[],this._data=void 0,this._extent=void 0,this._geoidDataIsReadyPromise=void 0,this._geoidDataList=void 0,this._decoderTaskProcessor=void 0,this._readyPromise=void 0,this._ready=!1,this._load()}Object.defineProperties(Ta.prototype,{name:{get:function(){return this._name}},show:{get:function(){return this._show},set:function(e){this._show=e;for(let t=0;t<this._layers.length;t++)u(this._layers[t]._tileset)&&(this._layers[t]._tileset.show=this._show)}},traceFetches:{get:function(){return this._traceFetches},set:function(e){this._traceFetches=e}},geoidTiledTerrainProvider:{get:function(){return this._geoidTiledTerrainProvider}},layers:{get:function(){return this._layers}},data:{get:function(){return this._data}},extent:{get:function(){return this._extent}},readyPromise:{get:function(){return this._readyPromise}},ready:{get:function(){return this._ready}},resource:{get:function(){return this._resource}}});Ta.prototype.destroy=function(){for(let e=0;e<this._layers.length;e++)u(this._layers[e]._tileset)&&this._layers[e]._tileset.destroy();return le(this)};Ta.prototype.isDestroyed=function(){return!1};Ta.prototype.update=function(e){for(let t=0;t<this._layers.length;t++)u(this._layers[t]._tileset)&&this._layers[t]._tileset.ready&&this._layers[t]._tileset.update(e)};Ta.prototype.prePassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)u(this._layers[t]._tileset)&&this._layers[t]._tileset.ready&&this._layers[t]._tileset.prePassesUpdate(e)};Ta.prototype.postPassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)u(this._layers[t]._tileset)&&this._layers[t]._tileset.ready&&this._layers[t]._tileset.postPassesUpdate(e)};Ta.prototype.updateForPass=function(e,t){for(let n=0;n<this._layers.length;n++)u(this._layers[n]._tileset)&&this._layers[n]._tileset.ready&&this._layers[n]._tileset.updateForPass(e,t)};Ta.prototype._load=function(){let e=this;return this._readyPromise=this._loadJson(this._resource).then(function(t){if(e._data=t,u(e._data.layers))for(let i=0;i<e._data.layers.length;i++){let o=new CS(e,e._data.layers[i],i);e._layers.push(o)}else{let i=new CS(e,e._data,e._data.id);e._layers.push(i)}e._computeExtent(),e._loadGeoidData();let n=[];for(let i=0;i<e._layers.length;i++)n.push(e._layers[i].load());return Promise.all(n).then(function(){return e._ready=!0,e})}),this._readyPromise};Ta._fetchJson=function(e){return e.fetchJson()};Ta.prototype._loadJson=function(e){return this._traceFetches&&console.log("I3S FETCH:",e.url),Ta._fetchJson(e).then(function(t){if(u(t.error)){if(console.error("Failed to fetch I3S ",e.url),u(t.error.message)&&console.error(t.error.message),u(t.error.details))for(let n=0;n<t.error.details.length;n++)console.log(t.error.details[n]);return Promise.reject(t.error)}return t})};Ta.prototype._loadBinary=function(e){return this._traceFetches&&console.log("I3S FETCH:",e.url),e.fetchArrayBuffer()};Ta.prototype._binarizeGltf=function(e){let n=new TextEncoder().encode(JSON.stringify(e)),i=new Uint8Array(n.byteLength+20),o={magic:new Uint8Array(i.buffer,0,4),version:new Uint32Array(i.buffer,4,1),length:new Uint32Array(i.buffer,8,1),chunkLength:new Uint32Array(i.buffer,12,1),chunkType:new Uint32Array(i.buffer,16,1),chunkData:new Uint8Array(i.buffer,20,n.byteLength)};return o.magic[0]="g".charCodeAt(),o.magic[1]="l".charCodeAt(),o.magic[2]="T".charCodeAt(),o.magic[3]="F".charCodeAt(),o.version[0]=2,o.length[0]=i.byteLength,o.chunkLength[0]=n.byteLength,o.chunkType[0]=1313821514,o.chunkData.set(n),i};Ta.prototype._getDecoderTaskProcessor=function(){if(!u(this._decoderTaskProcessor)){let e=new pi("decodeI3S");this._taskProcessorReadyPromise=e.initWebAssemblyModule({modulePath:"ThirdParty/Workers/draco_decoder_nodejs.js",wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}),this._decoderTaskProcessor=e}return this._decoderTaskProcessor};function $mt(e,t){return e.readyPromise.then(function(){return tpt(e,t)})}var ept=new H;function tpt(e,t){let n=e.tilingScheme,i=[],o={},r=e._lodCount,s=he.fromRadians(t.west,t.north),a=he.fromRadians(t.east,t.south),c=n.positionToTileXY(s,r),l=n.positionToTileXY(a,r);for(let d=c.x;d<=l.x;d++)for(let p=c.y;p<=l.y;p++){let g=H.fromElements(d,p,ept),m=g.toString();if(!o.hasOwnProperty(m)){let A={x:g.x,y:g.y,level:r,tilingScheme:n,terrainProvider:e,positions:[]};o[m]=A,i.push(A)}}let f=[];for(let d=0;d<i.length;++d){let p=i[d],g=p.terrainProvider.requestTileGeometry(p.x,p.y,p.level);f.push(g)}return Promise.all(f).then(function(d){let p=[];for(let g=0;g<d.length;g++){let m={tilingScheme:n,x:i[g].x,y:i[g].y,level:i[g].level},A=d[g],x="Geographic";n._projection instanceof Si&&(x="WebMercator");let C={projectionType:x,projection:n._projection,nativeExtent:n.tileXYToNativeRectangle(m.x,m.y,m.level),height:A._height,width:A._width,scale:A._structure.heightScale,offset:A._structure.heightOffset};if(A._encoding===bf.LERC){let T=I0e.default.decode(A._buffer);C.buffer=T.pixels[0]}else C.buffer=A._buffer;p.push(C)}return p})}Ta.prototype._loadGeoidData=function(){let e=this,t=this._geoidTiledTerrainProvider;return u(t)?(this._geoidDataIsReadyPromise=t.readyPromise.then(function(){return $mt(t,e._extent).then(function(i){e._geoidDataList=i})}),this._geoidDataIsReadyPromise):(console.log("No Geoid Terrain service provided - no geoid conversion will be performed."),this._geoidDataIsReadyPromise=Promise.resolve(),this._geoidDataIsReadyPromise)};Ta.prototype._computeExtent=function(){let e;for(let t=0;t<this._layers.length;t++)if(u(this._layers[t]._extent)){let n=this._layers[t]._extent;u(e)?ce.union(e,n,e):e=ce.clone(n)}this._extent=e};var oX=Ta;var P0e=Object.freeze({UNLOADED:0,RECEIVING:1,RECEIVED:2,LOADED:3,FAILED:4,UNAVAILABLE:5});function X4(e,t){this.spatialNode=e,this.keyframe=t,this.state=P0e.UNLOADED,this.metadatas=[],this.megatextureIndex=-1,this.priority=-Number.MAX_VALUE,this.highPriorityFrameNumber=-1}X4.priorityComparator=function(e,t){return e.priority-t.priority};X4.searchComparator=function(e,t){return e.keyframe-t.keyframe};X4.LoadState=P0e;var Ki=X4;function O0e(){}Object.defineProperties(O0e.prototype,{color:{get:de.throwInstantiationError},intensity:{get:de.throwInstantiationError}});var rX=O0e;var npt=/\/$/,R0e=new Zt('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function TS(e){e=y(e,y.EMPTY_OBJECT);let t=e.styleId,n=e.accessToken;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let i=Oe.createIfNeeded(y(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=n;let o=y(e.tilesize,512);this._tilesize=o;let r=y(e.username,"mapbox");this._username=r;let s=u(e.scaleFactor)?"@2x":"",a=i.getUrlComponent();npt.test(a)||(a+="/"),a+=`${this._username}/${t}/tiles/${this._tilesize}/{z}/{x}/{y}${s}`,i.url=a,i.setQueryParameters({access_token:n});let c;u(e.credit)?(c=e.credit,typeof c=="string"&&(c=new Zt(c))):c=R0e,this._resource=i,this._imageryProvider=new ya({url:i,credit:c,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(TS.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return this._imageryProvider.ready}},readyPromise:{get:function(){return this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});TS.prototype.getTileCredits=function(e,t,n){};TS.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};TS.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};TS._defaultCredit=R0e;var sX=TS;function Zy(e,t,n,i,o){i===tn.UNSIGNED_SHORT&&(i=tn.FLOAT32);let r=e.floatingPointTexture;if(i===tn.FLOAT32&&!r)throw new ue("Floating point texture not supported");let s;i===tn.FLOAT32||i===tn.FLOAT64?s=Xe.FLOAT:i===tn.UINT8&&(s=Xe.UNSIGNED_BYTE);let a;n===1?a=e.webgl2?rt.RED:rt.LUMINANCE:n===2?a=e.webgl2?rt.RG:rt.LUMINANCE_ALPHA:n===3?a=rt.RGB:n===4&&(a=rt.RGBA);let c=512*1024*1024,l=128*1024*1024;o=Math.min(y(o,l),c);let f=Ft.maximumTextureSize,d=tn.getSizeInBytes(i),p=Math.floor(o/(n*d)),g=Math.min(f,P.previousPowerOfTwo(Math.floor(Math.sqrt(p)))),m=Math.ceil(Math.sqrt(t.x)),A=Math.ceil(t.z/m),x=m*t.x,C=A*t.y,T=Math.floor(g/x),E=Math.floor(g/C);if(T===0||E===0)throw new ue("Tileset is too large to fit into megatexture");this.channelCount=n,this.componentType=i,this.voxelCountPerTile=h.clone(t,new h),this.maximumTileCount=T*E,this.regionCountPerMegatexture=new H(T,E),this.voxelCountPerRegion=new H(x,C),this.sliceCountPerRegion=new H(m,A),this.voxelSizeUv=new H(1/g,1/g),this.sliceSizeUv=new H(t.x/g,t.y/g),this.regionSizeUv=new H(x/g,C/g),this.texture=new It({context:e,pixelFormat:a,pixelDatatype:s,flipY:!1,width:g,height:g,sampler:new ln({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:an.LINEAR,magnificationFilter:yi.LINEAR})});let S=tn.toComponentDatatype(i);this.tileVoxelDataTemp=q.createTypedArray(S,x*C*n),this.nodes=new Array(this.maximumTileCount);for(let D=0;D<this.maximumTileCount;D++)this.nodes[D]=new ipt(D);for(let D=0;D<this.maximumTileCount;D++){let w=this.nodes[D];w.previousNode=D>0?this.nodes[D-1]:void 0,w.nextNode=D<this.maximumTileCount-1?this.nodes[D+1]:void 0}this.occupiedList=void 0,this.emptyList=this.nodes[0],this.occupiedCount=0}function ipt(e){this.index=e,this.nextNode=void 0,this.previousNode=void 0}Zy.prototype.add=function(e){if(this.isFull())throw new de("Trying to add when there are no empty spots");let t=this.emptyList;this.emptyList=this.emptyList.nextNode,u(this.emptyList)&&(this.emptyList.previousNode=void 0),t.nextNode=this.occupiedList,u(t.nextNode)&&(t.nextNode.previousNode=t),this.occupiedList=t;let n=t.index;return this.writeDataToTexture(n,e),this.occupiedCount++,n};Zy.prototype.remove=function(e){if(e<0||e>=this.maximumTileCount)throw new de("Megatexture index out of bounds");let t=this.nodes[e];u(t.previousNode)&&(t.previousNode.nextNode=t.nextNode),u(t.nextNode)&&(t.nextNode.previousNode=t.previousNode),t.nextNode=this.emptyList,u(t.nextNode)&&(t.nextNode.previousNode=t),t.previousNode=void 0,this.emptyList=t,this.occupiedCount--};Zy.prototype.isFull=function(){return this.emptyList===void 0};Zy.getApproximateTextureMemoryByteLength=function(e,t,n,i){i===tn.UNSIGNED_SHORT&&(i=tn.FLOAT32);let o=tn.getSizeInBytes(i),r=e*t.x*t.y*t.z,s=Math.ceil(Math.sqrt(t.z)),a=Math.ceil(t.z/s),c=s*t.x,l=a*t.y,f=P.previousPowerOfTwo(Math.floor(Math.sqrt(r)));for(;;){let p=Math.floor(f/c),g=Math.floor(f/l);if(p*g>=e)break;f*=2}return f*f*n*o};Zy.prototype.writeDataToTexture=function(e,t){let n=t.constructor===Uint16Array?new Float32Array(t):t,i=this.voxelCountPerTile,o=this.sliceCountPerRegion,r=this.voxelCountPerRegion,s=this.channelCount,a=this.tileVoxelDataTemp;for(let A=0;A<i.z;A++){let x=A%o.x*i.x,C=Math.floor(A/o.x)*i.y;for(let T=0;T<i.y;T++)for(let E=0;E<i.x;E++){let S=A*i.y*i.x+T*i.x+E,D=(C+T)*r.x+(x+E);for(let w=0;w<s;w++)a[D*s+w]=n[S*s+w]}}let c=this.regionCountPerMegatexture,l=r.x,f=r.y,d=e%c.x*r.x,p=Math.floor(e/c.x)*r.y,m={source:{arrayBufferView:a,width:l,height:f},xOffset:d,yOffset:p};this.texture.copyFrom(m)};Zy.prototype.isDestroyed=function(){return!1};Zy.prototype.destroy=function(){return this.texture=this.texture&&this.texture.destroy(),le(this)};var ES=Zy;function aX(e){}aX.prototype.isReady=function(){return!0};aX.prototype.shouldDiscardImage=function(e){return!1};var cX=aX;var opt=new Zt("MapQuest, Open Street Map and contributors, CC-BY-SA");function K4(e){e=y(e,y.EMPTY_OBJECT);let t=Oe.createIfNeeded(y(e.url,"https://a.tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+=`{z}/{x}/{y}.${y(e.fileExtension,"png")}`;let n=new Gr({ellipsoid:e.ellipsoid}),i=256,o=256,r=y(e.minimumLevel,0),s=e.maximumLevel,a=y(e.rectangle,n.rectangle),c=n.positionToTileXY(ce.southwest(a),r),l=n.positionToTileXY(ce.northeast(a),r),f=(Math.abs(l.x-c.x)+1)*(Math.abs(l.y-c.y)+1),d=y(e.credit,opt);typeof d=="string"&&(d=new Zt(d)),ya.call(this,{url:t,credit:d,tilingScheme:n,tileWidth:i,tileHeight:o,minimumLevel:r,maximumLevel:s,rectangle:a})}u(Object.create)&&(K4.prototype=Object.create(ya.prototype),K4.prototype.constructor=K4);var _C=K4;var rpt=new H(1,1);function lX(e){e=y(e,y.EMPTY_OBJECT),this.mass=y(e.mass,1),this.position=h.clone(y(e.position,h.ZERO)),this.velocity=h.clone(y(e.velocity,h.ZERO)),this.life=y(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=z.clone(y(e.startColor,z.WHITE)),this.endColor=z.clone(y(e.endColor,z.WHITE)),this.startScale=y(e.startScale,1),this.endScale=y(e.endScale,1),this.imageSize=H.clone(y(e.imageSize,rpt)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(lX.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var B0e=new h;lX.prototype.update=function(e,t){return h.multiplyByScalar(this.velocity,e,B0e),h.add(this.position,B0e,this.position),u(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var bS=lX;function M0e(e){e=y(e,y.EMPTY_OBJECT),this.time=y(e.time,0),this.minimum=y(e.minimum,0),this.maximum=y(e.maximum,50),this._complete=!1}Object.defineProperties(M0e.prototype,{complete:{get:function(){return this._complete}}});var uX=M0e;function L0e(e){}L0e.prototype.emit=function(e){de.throwInstantiationError()};var fX=L0e;var N0e=new H(1,1);function wF(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.updateCallback=e.updateCallback,this.loop=y(e.loop,!0),this.image=y(e.image,void 0);let t=e.emitter;u(t)||(t=new yF(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._emitterModelMatrix=M.clone(y(e.emitterModelMatrix,M.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new M,this._startColor=z.clone(y(e.color,y(e.startColor,z.WHITE))),this._endColor=z.clone(y(e.color,y(e.endColor,z.WHITE))),this._startScale=y(e.scale,y(e.startScale,1)),this._endScale=y(e.scale,y(e.endScale,1)),this._emissionRate=y(e.emissionRate,5),this._minimumSpeed=y(e.speed,y(e.minimumSpeed,1)),this._maximumSpeed=y(e.speed,y(e.maximumSpeed,1)),this._minimumParticleLife=y(e.particleLife,y(e.minimumParticleLife,5)),this._maximumParticleLife=y(e.particleLife,y(e.maximumParticleLife,5)),this._minimumMass=y(e.mass,y(e.minimumMass,1)),this._maximumMass=y(e.mass,y(e.maximumMass,1)),this._minimumImageSize=H.clone(y(e.imageSize,y(e.minimumImageSize,N0e))),this._maximumImageSize=H.clone(y(e.imageSize,y(e.maximumImageSize,N0e))),this._sizeInMeters=y(e.sizeInMeters,!1),this._lifetime=y(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new Ae,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(wF.prototype,{emitter:{get:function(){return this._emitter},set:function(e){this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!M.equals(this._modelMatrix,e),M.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!M.equals(this._emitterModelMatrix,e),M.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){z.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){z.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function spt(e){let t=e._emissionRate,n=e._maximumParticleLife,i=0,o=e._bursts;if(u(o)){let d=o.length;for(let p=0;p<d;++p)i+=o[p].maximum}let r=e._billboardCollection,s=e.image,a=Math.ceil(t*n+i),c=e._particles,l=e._particlePool,f=Math.max(a-c.length-l.length,0);for(let d=0;d<f;++d){let p=new bS;p._billboard=r.add({image:s}),l.push(p)}e._particleEstimate=a}function apt(e){let t=e._particlePool.pop();return u(t)||(t=new bS),t}function cpt(e,t){e._particlePool.push(t)}function lpt(e){let t=e._particles,n=e._particlePool,i=e._billboardCollection,o=t.length,r=n.length,s=e._particleEstimate,a=r-Math.max(s-o-r,0);for(let c=a;c<r;++c){let l=n[c];i.remove(l._billboard)}n.length=a}function upt(e){u(e._billboard)&&(e._billboard.show=!1)}function F0e(e,t){let n=t._billboard;u(n)||(n=t._billboard=e._billboardCollection.add({image:t.image})),n.width=t.imageSize.x,n.height=t.imageSize.y,n.position=t.position,n.sizeInMeters=e.sizeInMeters,n.show=!0;let i=P.lerp(t.startColor.red,t.endColor.red,t.normalizedAge),o=P.lerp(t.startColor.green,t.endColor.green,t.normalizedAge),r=P.lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),s=P.lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);n.color=new z(i,o,r,s),n.scale=P.lerp(t.startScale,t.endScale,t.normalizedAge)}function fpt(e,t){t.startColor=z.clone(e._startColor,t.startColor),t.endColor=z.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=P.randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=P.randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=P.randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=P.randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;let n=P.randomBetween(e._minimumSpeed,e._maximumSpeed);h.multiplyByScalar(t.velocity,n,t.velocity),e._particles.push(t)}function dpt(e,t){if(e._isComplete)return 0;t=P.mod(t,e._lifetime);let n=t*e._emissionRate,i=Math.floor(n);if(e._carryOver+=n-i,e._carryOver>1&&(i++,e._carryOver-=1),u(e.bursts)){let o=e.bursts.length;for(let r=0;r<o;r++){let s=e.bursts[r],a=e._currentTime;u(s)&&!s._complete&&a>s.time&&(i+=P.randomBetween(s.minimum,s.maximum),s._complete=!0)}}return i}var Z4=new h;wF.prototype.update=function(e){if(!this.show)return;u(this._billboardCollection)||(this._billboardCollection=new Jl),this._updateParticlePool&&(spt(this),this._updateParticlePool=!1);let t=0;this._previousTime&&(t=$.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);let n=this._particles,i=this._emitter,o=this.updateCallback,r,s,a=n.length;for(r=0;r<a;++r)s=n[r],s.update(t,o)?F0e(this,s):(upt(s),cpt(this,s),n[r]=n[a-1],--r,--a);n.length=a;let c=dpt(this,t);if(c>0&&u(i)){this._matrixDirty&&(this._combinedMatrix=M.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let l=this._combinedMatrix;for(r=0;r<c;r++)s=apt(this),this._emitter.emit(s),h.add(s.position,s.velocity,Z4),M.multiplyByPoint(l,Z4,Z4),s.position=M.multiplyByPoint(l,s.position,s.position),h.subtract(Z4,s.position,s.velocity),h.normalize(s.velocity,s.velocity),fpt(this,s),F0e(this,s)}if(this._billboardCollection.update(e),this._previousTime=$.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=P.mod(this._currentTime,this._lifetime),this.bursts){let l=this.bursts.length;for(r=0;r<l;r++)this.bursts[r]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120===0&&lpt(this)};wF.prototype.isDestroyed=function(){return!1};wF.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),le(this)};var dX=wF;var k0e=vo(i3(),1);function hpt(e,t,n){return` float clipDistance = clip(gl_FragCoord, ${e}, ${t}); + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = ${n}.rgb; + float clippingPlanesEdgeWidth = ${n}.a; + if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) + { + out_FragColor = clippingPlanesEdgeColor; + } +`}var IF=hpt;var mpt={modifyFragmentShader:function(t){return t=ke.replaceMain(t,"czm_splitter_main"),t+=`uniform float czm_splitDirection; +void main() +{ +#ifndef SHADOW_MAP + if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; +#endif + czm_splitter_main(); +} +`,t},addUniforms:function(t,n){n.czm_splitDirection=function(){return t.splitDirection}}},SS=mpt;var gC={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function PF(e){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=z.clone(z.DARKGRAY),this._highlightColor=z.clone(z.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=gC.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=y(e.opaquePass,Ee.OPAQUE),this._cull=y(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=M.clone(M.IDENTITY),this._modelMatrix=M.clone(M.IDENTITY),this.time=0,this.shadows=gn.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=y(e.splitDirection,Pc.NONE),this._splittingEnabled=!1,this._resolveReadyPromise=void 0,this._rejectReadyPromise=void 0,this._readyPromise=ppt(this,e)}Object.defineProperties(PF.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},color:{get:function(){return z.clone(this._highlightColor)},set:function(e){this._highlightColor=z.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(u(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=se.clone(e,this._boundingSphere)}}});function ppt(e,t){let n=PA.parse(t.arrayBuffer,t.byteOffset);if(e._parsedContent=n,e._rtcCenter=n.rtcCenter,e._hasNormals=n.hasNormals,e._hasColors=n.hasColors,e._hasBatchIds=n.hasBatchIds,e._isTranslucent=n.isTranslucent,!n.hasBatchIds&&u(n.batchTableBinary)&&(n.styleableProperties=ap.getBinaryProperties(n.pointsLength,n.batchTableJson,n.batchTableBinary)),u(n.draco)){let a=n.draco;e._decodingState=gC.NEEDS_DECODE,a.dequantizeInShader=e._dequantizeInShader}let i=n.positions;u(i)&&(e._isQuantized=i.isQuantized,e._quantizedVolumeScale=i.quantizedVolumeScale,e._quantizedVolumeOffset=i.quantizedVolumeOffset,e._quantizedRange=i.quantizedRange);let o=n.normals;u(o)&&(e._isOctEncoded16P=o.octEncoded);let r=n.colors;u(r)&&(u(r.constantColor)&&(e._constantColor=z.clone(r.constantColor,e._constantColor),e._hasColors=!1),e._isRGB565=r.isRGB565);let s=n.batchIds;return u(n.batchIds)&&(s.name="BATCH_ID",s.semantic="BATCH_ID",s.setIndex=void 0),n.hasBatchIds&&e._batchTableLoaded(n.batchLength,n.batchTableJson,n.batchTableBinary),e._pointsLength=n.pointsLength,new Promise(function(a,c){e._resolveReadyPromise=function(){e._ready=!0,a(e)},e._rejectReadyPromise=c})}var _pt=new h,gpt=new h,ypt=new h,V0e,J4;function Apt(e){if(!u(J4)){V0e=new k0e.default(0),J4=new Array(e);for(let t=0;t<e;++t)J4[t]=V0e.random()}return J4}function xpt(e){let n=e.length/3,i=Math.min(n,20),o=Apt(20),r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=h.fromElements(r,r,r,_pt),c=h.fromElements(s,s,s,gpt);for(let f=0;f<i;++f){let d=Math.floor(o[f]*n),p=h.unpack(e,d*3,ypt);h.minimumByComponent(a,p,a),h.maximumByComponent(c,p,c)}let l=se.fromCornerPoints(a,c);return l.radius+=P.EPSILON2,l}function U0e(e,t){let n=q.fromTypedArray(e);return n===q.INT||n===q.UNSIGNED_INT||n===q.DOUBLE?(wt("Cast pnts property to floats",`Point cloud property "${t}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(e)):e}var Cpt=new oe,Tpt=new oe,Ept=new z,z0e=0,Q4=1,gX=2,H0e=3,bpt=4,hX=new M,Spt=new M;function Dpt(e,t){let n=t.context,i=e._parsedContent,o=e._pointsLength,r=i.positions,s=i.colors,a=i.normals,c=i.batchIds,l=i.styleableProperties,f=u(l),d=e._isQuantized,p=e._isQuantizedDraco,g=e._isOctEncoded16P,m=e._isOctEncodedDraco,A=e._quantizedRange,x=e._octEncodedRange,C=e._isRGB565,T=e._isTranslucent,E=e._hasColors,S=e._hasNormals,D=e._hasBatchIds,w,R,O=[],L={};if(e._styleableShaderAttributes=L,f){let U=bpt;for(let G in l)if(l.hasOwnProperty(G)){let V=l[G],X=U0e(V.typedArray,G);w=V.componentCount,R=q.fromTypedArray(X);let j=lt.createVertexBuffer({context:n,typedArray:X,usage:Ne.STATIC_DRAW});e._geometryByteLength+=j.sizeInBytes;let Q={index:U,vertexBuffer:j,componentsPerAttribute:w,componentDatatype:R,normalize:!1,offsetInBytes:0,strideInBytes:0};O.push(Q),L[G]={location:U,componentCount:w},++U}}let N=lt.createVertexBuffer({context:n,typedArray:r.typedArray,usage:Ne.STATIC_DRAW});e._geometryByteLength+=N.sizeInBytes;let _;E&&(_=lt.createVertexBuffer({context:n,typedArray:s.typedArray,usage:Ne.STATIC_DRAW}),e._geometryByteLength+=_.sizeInBytes);let b;S&&(b=lt.createVertexBuffer({context:n,typedArray:a.typedArray,usage:Ne.STATIC_DRAW}),e._geometryByteLength+=b.sizeInBytes);let v;D&&(c.typedArray=U0e(c.typedArray,"batchIds"),v=lt.createVertexBuffer({context:n,typedArray:c.typedArray,usage:Ne.STATIC_DRAW}),e._geometryByteLength+=v.sizeInBytes);let I=[];if(d?R=q.UNSIGNED_SHORT:p?R=A<=255?q.UNSIGNED_BYTE:q.UNSIGNED_SHORT:R=q.FLOAT,I.push({index:z0e,vertexBuffer:N,componentsPerAttribute:3,componentDatatype:R,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(d||p?e._boundingSphere=se.fromCornerPoints(h.ZERO,e._quantizedVolumeScale):e._boundingSphere=xpt(r.typedArray)),E)if(C)I.push({index:Q4,vertexBuffer:_,componentsPerAttribute:1,componentDatatype:q.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let U=T?4:3;I.push({index:Q4,vertexBuffer:_,componentsPerAttribute:U,componentDatatype:q.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}S&&(g?(w=2,R=q.UNSIGNED_BYTE):m?(w=2,R=x<=255?q.UNSIGNED_BYTE:q.UNSIGNED_SHORT):(w=3,R=q.FLOAT),I.push({index:gX,vertexBuffer:b,componentsPerAttribute:w,componentDatatype:R,normalize:!1,offsetInBytes:0,strideInBytes:0})),D&&I.push({index:H0e,vertexBuffer:v,componentsPerAttribute:1,componentDatatype:q.fromTypedArray(c.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),f&&(I=I.concat(O));let B=new oi({context:n,attributes:I}),F={depthTest:{enabled:!0}},k={depthTest:{enabled:!0},depthMask:!1,blending:un.ALPHA_BLEND};e._opaquePass===Ee.CESIUM_3D_TILE&&(F.stencilTest=Bt.setCesium3DTileBit(),F.stencilMask=Bt.CESIUM_3D_TILE_MASK,k.stencilTest=Bt.setCesium3DTileBit(),k.stencilMask=Bt.CESIUM_3D_TILE_MASK),e._opaqueRenderState=Ue.fromCache(F),e._translucentRenderState=Ue.fromCache(k),e._drawCommand=new tt({boundingVolume:new se,cull:e._cull,modelMatrix:new M,primitiveType:Me.POINTS,vertexArray:B,count:o,shaderProgram:void 0,uniformMap:void 0,renderState:T?e._translucentRenderState:e._opaqueRenderState,pass:T?Ee.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function vpt(e,t){let n=t.context,i=e._isQuantized,o=e._isQuantizedDraco,r=e._isOctEncodedDraco,s={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let a=Cpt;if(a.x=e._attenuation?e.maximumAttenuation:e._pointSize,a.x*=t.pixelRatio,a.y=e.time,e._attenuation){let c=t.camera.frustum,l;t.mode===te.SCENE2D||c instanceof en?l=Number.POSITIVE_INFINITY:l=n.drawingBufferHeight/t.camera.frustum.sseDenominator,a.z=e.geometricError*e.geometricErrorScale,a.w=l}return a},u_highlightColor:function(){return e._highlightColor},u_constantColor:function(){return e._constantColor},u_clippingPlanes:function(){let a=e.clippingPlanes;return e.isClipped?a.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){let a=e.clippingPlanes;if(!u(a))return z.TRANSPARENT;let c=z.clone(a.edgeColor,Ept);return c.alpha=a.edgeWidth,c},u_clippingPlanesMatrix:function(){let a=e.clippingPlanes;if(!u(a))return M.IDENTITY;let c=y(e.clippingPlanesOriginMatrix,e._modelMatrix);M.multiply(n.uniformState.view3D,c,hX);let l=M.multiply(hX,a.modelMatrix,hX);return M.inverseTranspose(l,Spt)}};SS.addUniforms(e,s),(i||o||r)&&(s=_t(s,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let a=Tpt;if(u(e._quantizedVolumeScale)){let c=h.clone(e._quantizedVolumeScale,a);h.divideByScalar(c,e._quantizedRange,a)}return a.w=e._octEncodedRange,a}})),u(e._uniformMapLoaded)&&(s=e._uniformMapLoaded(s)),e._drawCommand.uniformMap=s}function mX(e,t){let n=/czm_3dtiles_property_(\d+)/g,i=n.exec(e);for(;i!==null;){let o=parseInt(i[1]);t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function pX(e,t){e=e.slice(e.indexOf(` +`));let n=/czm_3dtiles_builtin_property_(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function _X(e,t){let n=e.numberOfAttributes;for(let i=0;i<n;++i){let o=e.getAttribute(i);if(o.index===t)return o}}var wpt={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function Ipt(e,t,n){let i,o,r,s=t.context,a=u(n),c=e._isQuantized,l=e._isQuantizedDraco,f=e._isOctEncoded16P,d=e._isOctEncodedDraco,p=e._isRGB565,g=e._isTranslucent,m=e._hasColors,A=e._hasNormals,x=e._hasBatchIds,C=e._backFaceCulling,T=e._normalShading,E=e._drawCommand.vertexArray,S=e.clippingPlanes,D=e._attenuation,w,R,O,L=g,N=Ge(wpt),_={},b=e._styleableShaderAttributes;for(o in b)b.hasOwnProperty(o)&&(r=b[o],N[o]=`czm_3dtiles_property_${r.location}`,_[r.location]=r);if(a){let re={translucent:!1},ye="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";w=n.getColorShaderFunction(`getColorFromStyle${ye}`,N,re),R=n.getShowShaderFunction(`getShowFromStyle${ye}`,N,re),O=n.getPointSizeShaderFunction(`getPointSizeFromStyle${ye}`,N,re),u(w)&&re.translucent&&(L=!0)}e._styleTranslucent=L;let v=u(w),I=u(R),B=u(O),F=e.isClipped,k=[],U=[];v&&(mX(w,k),pX(w,U)),I&&(mX(R,k),pX(R,U)),B&&(mX(O,k),pX(O,U));let G=U.indexOf("COLOR")>=0,V=U.indexOf("NORMAL")>=0;if(V&&!A)throw new ue("Style references the NORMAL semantic but the point cloud does not have normals");for(o in b)if(b.hasOwnProperty(o)){r=b[o];let re=k.indexOf(r.location)>=0,ye=_X(E,r.location);ye.enabled=re}let X=m&&(!v||G);if(m){let re=_X(E,Q4);re.enabled=X}let j=A&&(T||C||V);if(A){let re=_X(E,gX);re.enabled=j}let Q={a_position:z0e};X&&(Q.a_color=Q4),j&&(Q.a_normal=gX),x&&(Q.a_batchId=H0e);let W="",K=k.length;for(i=0;i<K;++i){let re=k[i];r=_[re];let ye=r.componentCount,fe=`czm_3dtiles_property_${re}`,Se;ye===1?Se="float":Se=`vec${ye}`,W+=`in ${Se} ${fe}; +`,Q[fe]=r.location}vpt(e,t);let J=`in vec3 a_position; +out vec4 v_color; +uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; +uniform vec4 u_constantColor; +uniform vec4 u_highlightColor; +`;J+=`float u_pointSize; +float tiles3d_tileset_time; +`,D&&(J+=`float u_geometricError; +float u_depthMultiplier; +`),J+=W,X&&(g?J+=`in vec4 a_color; +`:p?J+=`in float a_color; +const float SHIFT_RIGHT_11 = 1.0 / 2048.0; +const float SHIFT_RIGHT_5 = 1.0 / 32.0; +const float SHIFT_LEFT_11 = 2048.0; +const float SHIFT_LEFT_5 = 32.0; +const float NORMALIZE_6 = 1.0 / 64.0; +const float NORMALIZE_5 = 1.0 / 32.0; +`:J+=`in vec3 a_color; +`),j&&(f||d?J+=`in vec2 a_normal; +`:J+=`in vec3 a_normal; +`),x&&(J+=`in float a_batchId; +`),(c||l||d)&&(J+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; +`),v&&(J+=w),I&&(J+=R),B&&(J+=O),J+=`void main() +{ + u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; + tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; +`,D&&(J+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; + u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; +`),X?g?J+=` vec4 color = a_color; +`:p?J+=` float compressed = a_color; + float r = floor(compressed * SHIFT_RIGHT_11); + compressed -= r * SHIFT_LEFT_11; + float g = floor(compressed * SHIFT_RIGHT_5); + compressed -= g * SHIFT_LEFT_5; + float b = compressed; + vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); + vec4 color = vec4(rgb, 1.0); +`:J+=` vec4 color = vec4(a_color, 1.0); +`:J+=` vec4 color = u_constantColor; +`,c||l?J+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; +`:J+=` vec3 position = a_position; +`,J+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); +`,j?(f?J+=` vec3 normal = czm_octDecode(a_normal); +`:d?J+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; +`:J+=` vec3 normal = a_normal; +`,J+=` vec3 normalEC = czm_normal * normal; +`):J+=` vec3 normal = vec3(1.0); +`,v&&(J+=` color = getColorFromStyle(position, position_absolute, color, normal); +`),I&&(J+=` float show = float(getShowFromStyle(position, position_absolute, color, normal)); +`),B?J+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; +`:D?J+=` vec4 positionEC = czm_modelView * vec4(position, 1.0); + float depth = -positionEC.z; + gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); +`:J+=` gl_PointSize = u_pointSize; +`,J+=` color = color * u_highlightColor; +`,j&&T&&(J+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); + diffuseStrength = max(diffuseStrength, 0.4); + color.xyz *= diffuseStrength * czm_lightColor; +`),J+=` v_color = color; + gl_Position = czm_modelViewProjection * vec4(position, 1.0); +`,j&&C&&(J+=` float visible = step(-normalEC.z, 0.0); + gl_Position *= visible; + gl_PointSize *= visible; +`),I&&(J+=` gl_Position.w *= float(show); + gl_PointSize *= float(show); +`),J+=`} +`;let _e=`in vec4 v_color; +`;F&&(_e+=`uniform highp sampler2D u_clippingPlanes; +uniform mat4 u_clippingPlanesMatrix; +uniform vec4 u_clippingPlanesEdgeStyle; +`,_e+=` +`,_e+=v_(S,s),_e+=` +`),_e+=`void main() +{ + out_FragColor = czm_gammaCorrect(v_color); +`,F&&(_e+=IF("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),_e+=`} +`,e.splitDirection!==Pc.NONE&&(_e=SS.modifyFragmentShader(_e)),u(e._vertexShaderLoaded)&&(J=e._vertexShaderLoaded(J)),u(e._fragmentShaderLoaded)&&(_e=e._fragmentShaderLoaded(_e));let xe=e._drawCommand;u(xe.shaderProgram)&&xe.shaderProgram.destroy(),xe.shaderProgram=Xt.fromCache({context:s,vertexShaderSource:J,fragmentShaderSource:_e,attributeLocations:Q});try{xe.shaderProgram._bind()}catch{throw new ue("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function Ppt(e,t){if(e._decodingState===gC.READY)return!1;if(e._decodingState===gC.NEEDS_DECODE){let n=e._parsedContent,i=n.draco,o=pp.decodePointCloud(i,t);u(o)&&(e._decodingState=gC.DECODING,o.then(function(r){e._decodingState=gC.READY;let s=u(r.POSITION)?r.POSITION.array:void 0,a=u(r.RGB)?r.RGB.array:void 0,c=u(r.RGBA)?r.RGBA.array:void 0,l=u(r.NORMAL)?r.NORMAL.array:void 0,f=u(r.BATCH_ID)?r.BATCH_ID.array:void 0,d=u(s)&&u(r.POSITION.data.quantization),p=u(l)&&u(r.NORMAL.data.quantization);if(d){let x=r.POSITION.data.quantization,C=x.range;e._quantizedVolumeScale=h.fromElements(C,C,C),e._quantizedVolumeOffset=h.unpack(x.minValues),e._quantizedRange=(1<<x.quantizationBits)-1,e._isQuantizedDraco=!0}p&&(e._octEncodedRange=(1<<r.NORMAL.data.quantization.quantizationBits)-1,e._isOctEncodedDraco=!0);let g=n.styleableProperties,m=i.batchTableProperties;for(let x in m)if(m.hasOwnProperty(x)){let C=r[x];u(g)||(g={}),g[x]={typedArray:C.array,componentCount:C.data.componentsPerAttribute}}u(s)&&(n.positions={typedArray:s});let A=y(c,a);u(A)&&(n.colors={typedArray:A}),u(l)&&(n.normals={typedArray:l}),u(f)&&(n.batchIds={typedArray:f}),n.styleableProperties=g}).catch(function(r){e._decodingState=gC.FAILED,e._rejectReadyPromise(r)}))}return!0}var Opt=new oe,Rpt=new h;PF.prototype.update=function(e){let t=e.context;if(Ppt(this,t))return;let i=!1,o=!M.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==e.mode&&(this._mode=e.mode,o=!0),u(this._drawCommand)||(Dpt(this,e),o=!0,i=!0,this._resolveReadyPromise(),this._parsedContent=void 0),o){M.clone(this.modelMatrix,this._modelMatrix);let l=this._drawCommand.modelMatrix;if(M.clone(this._modelMatrix,l),u(this._rtcCenter)&&M.multiplyByTranslation(l,this._rtcCenter,l),u(this._quantizedVolumeOffset)&&M.multiplyByTranslation(l,this._quantizedVolumeOffset,l),e.mode!==te.SCENE3D){let d=e.mapProjection,p=M.getColumn(l,3,Opt);oe.equals(p,oe.UNIT_W)||Ot.basisTo2D(d,l,l)}let f=this._drawCommand.boundingVolume;if(se.clone(this._boundingSphere,f),this._cull){let d=f.center;M.multiplyByPoint(l,d,d);let p=M.getScale(l,Rpt);f.radius*=h.maximumComponent(p)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,i=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,i=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,i=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,i=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,i=!0);let r=this.splitDirection!==Pc.NONE;this._splittingEnabled!==r&&(this._splittingEnabled=r,i=!0),i&&Ipt(this,e,this._style),this._drawCommand.castShadows=gn.castShadows(this.shadows),this._drawCommand.receiveShadows=gn.receiveShadows(this.shadows);let s=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=s?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=s?Ee.TRANSLUCENT:this._opaquePass;let a=e.commandList,c=e.passes;(c.render||c.pick)&&a.push(this._drawCommand)};PF.prototype.isDestroyed=function(){return!1};PF.prototype.destroy=function(){let e=this._drawCommand;return u(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),le(this)};var OF=PF;function Ru(){de.throwInstantiationError()}Ru.computeDefaultLevelZeroMaximumGeometricError=function(e){return e.ellipsoid.maximumRadius*2*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))};Object.defineProperties(Ru.prototype,{quadtree:{get:de.throwInstantiationError,set:de.throwInstantiationError},ready:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError}});Ru.prototype.update=de.throwInstantiationError;Ru.prototype.beginUpdate=de.throwInstantiationError;Ru.prototype.endUpdate=de.throwInstantiationError;Ru.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;Ru.prototype.loadTile=de.throwInstantiationError;Ru.prototype.computeTileVisibility=de.throwInstantiationError;Ru.prototype.showTileThisFrame=de.throwInstantiationError;Ru.prototype.computeDistanceToTile=de.throwInstantiationError;Ru.prototype.isDestroyed=de.throwInstantiationError;Ru.prototype.destroy=de.throwInstantiationError;var yX=Ru;function ah(e,t,n,i,o,r,s){this.children=void 0,this.parent=o,this.level=e,this.x=t,this.y=n,this.z=i,this.keyframeNodes=[],this.renderableKeyframeNodes=[],this.renderableKeyframeNodeLerp=0,this.renderableKeyframeNodePrevious=void 0,this.renderableKeyframeNodeNext=void 0,this.orientedBoundingBox=new Rn,this.approximateVoxelSize=0,this.screenSpaceError=0,this.visitedFrameNumber=-1,this.computeBoundingVolumes(r,s)}ah.spatialComparator=function(e,t){return t.screenSpaceError-e.screenSpaceError};var Bpt=new h;ah.prototype.computeBoundingVolumes=function(e,t){this.orientedBoundingBox=e.computeOrientedBoundingBoxForTile(this.level,this.x,this.y,this.z,this.orientedBoundingBox);let n=Z.getScale(this.orientedBoundingBox.halfAxes,Bpt),i=2*h.maximumComponent(n);this.approximateVoxelSize=i/h.minimumComponent(t)};ah.prototype.visibility=function(e,t){let n=this.orientedBoundingBox;return e.cullingVolume.computeVisibilityWithPlaneMask(n,t)};ah.prototype.computeScreenSpaceError=function(e,t){let n=this.orientedBoundingBox,i=Math.sqrt(n.distanceSquaredTo(e));i=Math.max(i,P.EPSILON7);let o=this.approximateVoxelSize,r=t*(o/i);this.screenSpaceError=r};var G0e={keyframe:0};function RF(e,t){return G0e.keyframe=e,wo(t,G0e,Ki.searchComparator)}ah.prototype.computeSurroundingRenderableKeyframeNodes=function(e){let t=this,n=t.level,i=Math.floor(e),o=Math.ceil(e),r,s,a=+Number.MAX_VALUE,c=+Number.MAX_VALUE;for(;u(t);){let l=t.renderableKeyframeNodes;if(l.length>=1){let f=RF(i,l);f<0&&(f=P.clamp(~f-1,0,l.length-1));let d=l[f],p=d.keyframe,g;if(o===i||i<p)g=d;else{let R=Math.min(f+1,l.length-1);g=l[R]}let m=g.keyframe,A=i-p,x=m-o,C=n-t.level,T=Math.exp(C*4),E=1,S=200,D=C*T+(A>=0?A*E:-A*S),w=C*T+(x>=0?x*E:-x*S);if(D<a&&(a=D,r=d),w<c&&(c=w,s=g),A===0&&x===0)break}t=t.parent}if(this.renderableKeyframeNodePrevious=r,this.renderableKeyframeNodeNext=s,u(r)&&u(s)){let l=r.keyframe,f=s.keyframe;this.renderableKeyframeNodeLerp=l===f?0:P.clamp((e-l)/(f-l),0,1)}};ah.prototype.isVisited=function(e){return this.visitedFrameNumber===e};ah.prototype.createKeyframeNode=function(e){let t=RF(e,this.keyframeNodes);if(t<0){t=~t;let n=new Ki(this,e);this.keyframeNodes.splice(t,0,n)}};ah.prototype.destroyKeyframeNode=function(e,t){let n=e.keyframe,i=RF(n,this.keyframeNodes);if(i<0)throw new de("Keyframe node does not exist.");if(this.keyframeNodes.splice(i,1),e.megatextureIndex!==-1){for(let r=0;r<t.length;r++)t[r].remove(e.megatextureIndex);let o=RF(n,this.renderableKeyframeNodes);if(o<0)throw new de("Renderable keyframe node does not exist.");this.renderableKeyframeNodes.splice(o,1)}e.spatialNode=void 0,e.state=Ki.LoadState.UNLOADED,e.metadatas={},e.megatextureIndex=-1,e.priority=-Number.MAX_VALUE,e.highPriorityFrameNumber=-1};ah.prototype.addKeyframeNodeToMegatextures=function(e,t){if(e.state!==Ki.LoadState.RECEIVED||e.megatextureIndex!==-1||e.metadatas.length!==t.length)throw new de("Keyframe node cannot be added to megatexture");for(let o=0;o<t.length;o++){let r=t[o];e.megatextureIndex=r.add(e.metadatas[o]),e.metadatas[o]=void 0}e.state=Ki.LoadState.LOADED;let n=this.renderableKeyframeNodes,i=RF(e.keyframe,n);if(i>=0)throw new de("Keyframe already renderable");i=~i,n.splice(i,0,e)};ah.prototype.isRenderable=function(e){let t=this.renderableKeyframeNodePrevious,n=this.renderableKeyframeNodeNext,i=this.level;return u(t)&&u(n)&&(t.spatialNode.level===i||n.spatialNode.level===i)&&this.visitedFrameNumber===e};var DS=ah;function AX(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(AX.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});AX.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,P.PI),i=P.randomBetween(0,this._radius),o=i*Math.cos(t)*Math.sin(n),r=i*Math.sin(t)*Math.sin(n),s=i*Math.cos(n);e.position=h.fromElements(o,r,s,e.position),e.velocity=h.normalize(e.position,e.velocity)};var xX=AX;function BF(){}BF.prototype.evaluate=function(e,t){de.throwInstantiationError()};BF.prototype.evaluateColor=function(e,t){de.throwInstantiationError()};BF.prototype.getShaderFunction=function(e,t,n,i){de.throwInstantiationError()};BF.prototype.getVariables=function(){de.throwInstantiationError()};var CX=BF;function vS(){}vS.prototype.boundingVolume=void 0;vS.prototype.boundingSphere=void 0;vS.prototype.distanceToCamera=function(e){de.throwInstantiationError()};vS.prototype.intersectPlane=function(e){de.throwInstantiationError()};vS.prototype.createDebugVolume=function(e){de.throwInstantiationError()};var TX=vS;function MF(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=u(e.tilingScheme)?e.tilingScheme:new ji({ellipsoid:e.ellipsoid}),this._color=y(e.color,z.YELLOW),this._errorEvent=new Ae,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._readyPromise=Promise.resolve(!0),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0}Object.defineProperties(MF.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});MF.prototype.getTileCredits=function(e,t,n){};MF.prototype.requestImage=function(e,t,n,i){let o=document.createElement("canvas");o.width=256,o.height=256;let r=o.getContext("2d"),s=this._color.toCssColorString();return r.strokeStyle=s,r.lineWidth=2,r.strokeRect(1,1,255,255),r.font="bold 25px Arial",r.textAlign="center",r.fillStyle=s,r.fillText(`L: ${n}`,124,86),r.fillText(`X: ${e}`,124,136),r.fillText(`Y: ${t}`,124,186),Promise.resolve(o)};MF.prototype.pickFeatures=function(e,t,n,i,o){};var LF=MF;function EX(e){de.throwInstantiationError()}EX.prototype.isReady=de.throwInstantiationError;EX.prototype.shouldDiscardImage=de.throwInstantiationError;var bX=EX;var Mpt={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},SX=Object.freeze(Mpt);function AC(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this.shadows=y(e.shadows,gn.ENABLED),this.maximumMemoryUsage=y(e.maximumMemoryUsage,256),this.shading=new Oh(e.shading),this.style=e.style,this.frameFailed=new Ae,this.frameChanged=new Ae,this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new Tp,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._resolveReadyPromise=void 0;let t=this;this._readyPromise=new Promise(function(n){t._resolveReadyPromise=n}),this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(AC.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ss.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(u(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}},readyPromise:{get:function(){return this._readyPromise}}});function Lpt(e){return`uniform vec4 czm_pickColor; +${e}`}function Npt(e){return function(t){return _t(t,{czm_pickColor:function(){return e._pickId.color}})}}function Fpt(){return"czm_pickColor"}AC.prototype.makeStyleDirty=function(){this._styleDirty=!0};AC.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var Vpt=new $;function vX(e){let t=e._clock,n=t.canAnimate&&t.shouldAnimate,i=t.multiplier;return n?i:0}function yC(e,t){return e._intervals.indexOf(t.start)}function Upt(e,t){let n=e._intervals,i=e._clock,o=vX(e);if(o===0)return;let r=e._getAverageLoadTime(),s=$.addSeconds(i.currentTime,r*o,Vpt),a=n.indexOf(s),c=yC(e,t);return a===c&&(o>=0?++a:--a),n.get(a)}function kpt(e){let t=e._intervals,i=e._clock.currentTime,o=t.indexOf(i);return t.get(o)}function zpt(e,t,n){let i=vX(e),o=yC(e,t),r=yC(e,n);return i>=0?o>=r:o<=r}function Hpt(e,t){return function(n){let i=u(n.message)?n.message:n.toString();e.frameFailed.numberOfListeners>0?e.frameFailed.raiseEvent({uri:t,message:i}):(console.log(`A frame failed to load: ${t}`),console.log(`Error: ${i}`))}}function Gpt(e,t,n){let i=yC(e,t),o=e._frames,r=o[i];if(!u(r)){let s=t.data.transform,a=u(s)?M.fromArray(s):void 0,c=t.data.uri;r={pointCloud:void 0,transform:a,timestamp:di(),sequential:!0,ready:!1,touchedFrameNumber:n.frameNumber},o[i]=r,Oe.fetchArrayBuffer({url:c}).then(function(l){return r.pointCloud=new OF({arrayBuffer:l,cull:!0,fragmentShaderLoaded:Lpt,uniformMapLoaded:Npt(e),pickIdLoaded:Fpt}),r.pointCloud.readyPromise}).catch(Hpt(e,c))}return r}function Wpt(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function jpt(e,t,n,i){t.touchedFrameNumber<i.frameNumber-1&&(t.sequential=!1);let o=t.pointCloud;if(u(o)&&!t.ready){let r=i.commandList,s=r.length;if(j0e(e,t,n,i),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,r.length=s,t.sequential)){let a=(di()-t.timestamp)/1e3;Wpt(e,a)}}t.touchedFrameNumber=i.frameNumber}var Ypt=new M;function qpt(e,t){let n=e.shading;return u(n)&&u(n.baseResolution)?n.baseResolution:u(t.boundingSphere)?P.cbrt(t.boundingSphere.volume()/t.pointsLength):0}function Xpt(e){let t=e.shading;return u(t)&&u(t.maximumAttenuation)?t.maximumAttenuation:10}var Kpt=new Oh;function j0e(e,t,n,i){let o=y(e.shading,Kpt),r=t.pointCloud,s=y(t.transform,M.IDENTITY);r.modelMatrix=M.multiplyTransformation(e.modelMatrix,s,Ypt),r.style=e.style,r.time=n.timeSinceLoad,r.shadows=e.shadows,r.clippingPlanes=e._clippingPlanes,r.isClipped=n.isClipped,r.attenuation=o.attenuation,r.backFaceCulling=o.backFaceCulling,r.normalShading=o.normalShading,r.geometricError=qpt(e,r),r.geometricErrorScale=o.geometricErrorScale,r.maximumAttenuation=Xpt(e),r.update(i),t.touchedFrameNumber=i.frameNumber}function DX(e,t,n,i){let o=Gpt(e,t,i);jpt(e,o,n,i)}function Zpt(e){return function(t){return t.touchedFrameNumber<e.frameNumber}}function Y0e(e,t){let n=e._frames,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(u(r)&&(!u(t)||t(r))){let s=r.pointCloud;r.ready&&(e._totalMemoryUsageInBytes-=s.geometryByteLength),u(s)&&s.destroy(),r===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),n[o]=void 0}}}function Jpt(e,t){let n=yC(e,t),i=e._frames[n];if(u(i)&&i.ready)return i}function W0e(e,t,n,i,o){return u(n)?n.ready?!0:(DX(e,t,i,o),n.ready):!1}function Qpt(e,t,n,i,o){let r,s,a,c=e._intervals,l=e._frames,f=yC(e,n),d=yC(e,t);if(f>=d){for(r=f;r>=d;--r)if(s=c.get(r),a=l[r],W0e(e,s,a,i,o))return s}else for(r=f;r<=d;++r)if(s=c.get(r),a=l[r],W0e(e,s,a,i,o))return s;return t}function $pt(e,t,n){let i=e._frames,o=i.length;for(let r=0;r<o;++r){let s=i[r];u(s)&&u(s.pointCloud)&&(s.pointCloud.clippingPlanesDirty=t,s.pointCloud.styleDirty=n)}}var wS={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};AC.prototype.update=function(e){if(e.mode===te.MORPHING||!this.show)return;u(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),u(this._loadTimestamp)||(this._loadTimestamp=$.clone(e.time));let t=Math.max($.secondsDifference(e.time,this._loadTimestamp)*1e3,0),n=this._clippingPlanes,i=0,o=!1,r=u(n)&&n.enabled;r&&(n.update(e),i=n.clippingPlanesState),this._clippingPlanesState!==i&&(this._clippingPlanesState=i,o=!0);let s=this._styleDirty;this._styleDirty=!1,(o||s)&&$pt(this,o,s),wS.timeSinceLoad=t,wS.isClipped=r;let a=this.shading,c=this._pointCloudEyeDomeLighting,l=e.commandList,f=l.length,d=this._previousInterval,p=this._nextInterval,g=kpt(this);if(!u(g))return;let m=!1,A=vX(this),x=A===0;A!==this._clockMultiplier&&(m=!0,this._clockMultiplier=A),(!u(d)||x)&&(d=g),(!u(p)||m||zpt(this,g,p))&&(p=Upt(this,g)),d=Qpt(this,d,g,wS,e);let C=Jpt(this,d);u(C)||(DX(this,d,wS,e),C=this._lastRenderedFrame),u(C)&&j0e(this,C,wS,e),u(p)&&DX(this,p,wS,e);let T=this;u(C)&&!u(this._lastRenderedFrame)&&e.afterRender.push(function(){return T._resolveReadyPromise(T),!0}),u(C)&&C!==this._lastRenderedFrame&&T.frameChanged.numberOfListeners>0&&e.afterRender.push(function(){return T.frameChanged.raiseEvent(T),!0}),this._previousInterval=d,this._nextInterval=p,this._lastRenderedFrame=C;let E=this._totalMemoryUsageInBytes,S=this.maximumMemoryUsage*1024*1024;E>S&&Y0e(this,Zpt(e));let w=l.length-f;u(a)&&a.attenuation&&a.eyeDomeLighting&&w>0&&c.update(e,f,a,this.boundingSphere)};AC.prototype.isDestroyed=function(){return!1};AC.prototype.destroy=function(){return Y0e(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),le(this)};var IS=AC;function $4(e,t){this.show=!0,u(e)||(e=new Ye),this.rectangle=Ye.clone(e),u(t)||(t=Vi.fromType(Vi.ColorType,{color:new z(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}$4.prototype.update=function(e){if(!this.show)return;let t=this._rs;if((!u(t)||!Ye.equals(t.viewport,this.rectangle))&&(this._rs=Ue.fromCache({blending:un.ALPHA_BLEND,viewport:this.rectangle})),e.passes.render){let i=e.context;if(this._material!==this.material||!u(this._overlayCommand)){this._material=this.material,u(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let o=new ke({sources:[this._material.shaderSource,QM]});this._overlayCommand=i.createViewportQuadCommand(o,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=Ee.OVERLAY}this._material.update(i),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)}};$4.prototype.isDestroyed=function(){return!1};$4.prototype.destroy=function(){return u(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),le(this)};var wX=$4;var NF=`// See Intersection.glsl for the definition of intersectScene +// See IntersectionUtils.glsl for the definition of nextIntersection +// See convertUvToBox.glsl, convertUvToCylinder.glsl, or convertUvToEllipsoid.glsl +// for the definition of convertUvToShapeUvSpace. The appropriate function is +// selected based on the VoxelPrimitive shape type, and added to the shader in +// Scene/VoxelRenderResources.js. +// See Octree.glsl for the definitions of TraversalData, SampleData, +// traverseOctreeFromBeginning, and traverseOctreeFromExisting +// See Megatexture.glsl for the definition of accumulatePropertiesFromMegatexture + +#define STEP_COUNT_MAX 1000 // Harcoded value because GLSL doesn't like variable length loops +#define ALPHA_ACCUM_MAX 0.98 // Must be > 0.0 and <= 1.0 + +uniform mat3 u_transformDirectionViewToLocal; +uniform vec3 u_cameraPositionUv; + +#if defined(PICKING) + uniform vec4 u_pickColor; +#endif + +#if defined(JITTER) +float hash(vec2 p) +{ + vec3 p3 = fract(vec3(p.xyx) * 50.0); // magic number = hashscale + p3 += dot(p3, p3.yzx + 19.19); + return fract((p3.x + p3.y) * p3.z); +} +#endif + +void main() +{ + vec4 fragCoord = gl_FragCoord; + vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1] + vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz); + vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case + vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case + vec3 viewPosUv = u_cameraPositionUv; + + Intersections ix; + vec2 entryExitT = intersectScene(screenCoord, viewPosUv, viewDirUv, ix); + + // Exit early if the scene was completely missed. + if (entryExitT.x == NO_HIT) { + discard; + } + + float currT = entryExitT.x; + float endT = entryExitT.y; + vec3 positionUv = viewPosUv + currT * viewDirUv; + // TODO: is it possible for this to be out of bounds, and does it matter? + vec3 positionUvShapeSpace = convertUvToShapeUvSpace(positionUv); + + // Traverse the tree from the start position + TraversalData traversalData; + SampleData sampleDatas[SAMPLE_COUNT]; + traverseOctreeFromBeginning(positionUvShapeSpace, traversalData, sampleDatas); + + // TODO: + // - jitter doesn't affect the first traversal? + // - jitter is always > 0? + // - jitter is only applied at one step? + #if defined(JITTER) + float noise = hash(screenCoord); // [0,1] + currT += noise * traversalData.stepT; + positionUv += noise * traversalData.stepT * viewDirUv; + #endif + + FragmentInput fragmentInput; + #if defined(STATISTICS) + setStatistics(fragmentInput.metadata.statistics); + #endif + + vec4 colorAccum =vec4(0.0); + + for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) { + // Read properties from the megatexture based on the traversal state + Properties properties = accumulatePropertiesFromMegatexture(sampleDatas); + + // Prepare the custom shader inputs + copyPropertiesToMetadata(properties, fragmentInput.metadata); + fragmentInput.voxel.positionUv = positionUv; + fragmentInput.voxel.positionShapeUv = positionUvShapeSpace; + fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv; + fragmentInput.voxel.viewDirUv = viewDirUv; + fragmentInput.voxel.viewDirWorld = viewDirWorld; + fragmentInput.voxel.travelDistance = traversalData.stepT; + + // Run the custom shader + czm_modelMaterial materialOutput; + fragmentMain(fragmentInput, materialOutput); + + // Sanitize the custom shader output + vec4 color = vec4(materialOutput.diffuse, materialOutput.alpha); + color.rgb = max(color.rgb, vec3(0.0)); + color.a = clamp(color.a, 0.0, 1.0); + + // Pre-multiplied alpha blend + colorAccum += (1.0 - colorAccum.a) * vec4(color.rgb * color.a, color.a); + + // Stop traversing if the alpha has been fully saturated + if (colorAccum.a > ALPHA_ACCUM_MAX) { + colorAccum.a = ALPHA_ACCUM_MAX; + break; + } + + if (traversalData.stepT == 0.0) { + // Shape is infinitely thin, no need to traverse further + break; + } + + // Keep raymarching + currT += traversalData.stepT; + positionUv += traversalData.stepT * viewDirUv; + + // Check if there's more intersections. + if (currT > endT) { + #if (INTERSECTION_COUNT == 1) + break; + #else + vec2 entryExitT = nextIntersection(ix); + if (entryExitT.x == NO_HIT) { + break; + } else { + // Found another intersection. Resume raymarching there + currT = entryExitT.x; + endT = entryExitT.y; + positionUv = viewPosUv + currT * viewDirUv; + } + #endif + } + + // Traverse the tree from the current ray position. + // This is similar to traverseOctree but is faster when the ray is in the same tile as the previous step. + positionUvShapeSpace = convertUvToShapeUvSpace(positionUv); + traverseOctreeFromExisting(positionUvShapeSpace, traversalData, sampleDatas); + } + + // Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1] + colorAccum.a /= ALPHA_ACCUM_MAX; + + #if defined(PICKING) + // If alpha is 0.0 there is nothing to pick + if (colorAccum.a == 0.0) { + discard; + } + out_FragColor = u_pickColor; + #else + out_FragColor = colorAccum; + #endif +} +`;var FF=`in vec2 position; + +uniform vec4 u_ndcSpaceAxisAlignedBoundingBox; + +void main() { + vec2 aabbMin = u_ndcSpaceAxisAlignedBoundingBox.xy; + vec2 aabbMax = u_ndcSpaceAxisAlignedBoundingBox.zw; + vec2 translation = 0.5 * (aabbMax + aabbMin); + vec2 scale = 0.5 * (aabbMax - aabbMin); + gl_Position = vec4(position * scale + translation, 0.0, 1.0); +} +`;var VF=`/* Intersection defines +#define INTERSECTION_COUNT ### +*/ + +#define NO_HIT (-czm_infinity) +#define INF_HIT (czm_infinity * 0.5) + +struct Ray { + vec3 pos; + vec3 dir; +}; + +struct Intersections { + // Don't access these member variables directly - call the functions instead. + + #if (INTERSECTION_COUNT > 1) + // Store an array of intersections. Each intersection is composed of: + // x for the T value + // y for the shape type - which encodes positive vs negative and entering vs exiting + // For example: + // y = 0: positive shape entry + // y = 1: positive shape exit + // y = 2: negative shape entry + // y = 3: negative shape exit + vec2 intersections[INTERSECTION_COUNT * 2]; + + // Maintain state for future nextIntersection calls + int index; + int surroundCount; + bool surroundIsPositive; + #else + // When there's only one positive shape intersection none of the extra stuff is needed. + float intersections[2]; + #endif +}; + +// Using a define instead of a real function because WebGL1 cannot access array with non-constant index. +#if (INTERSECTION_COUNT > 1) + #define getIntersection(/*inout Intersections*/ ix, /*int*/ index) (ix).intersections[(index)].x +#else + #define getIntersection(/*inout Intersections*/ ix, /*int*/ index) (ix).intersections[(index)] +#endif + +// Using a define instead of a real function because WebGL1 cannot access array with non-constant index. +#define getIntersectionPair(/*inout Intersections*/ ix, /*int*/ index) vec2(getIntersection((ix), (index) * 2 + 0), getIntersection((ix), (index) * 2 + 1)) + +// Using a define instead of a real function because WebGL1 cannot access array with non-constant index. +#if (INTERSECTION_COUNT > 1) + #define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*enter*/ enter) (ix).intersections[(index)] = vec2((t), float(!positive) * 2.0 + float(!enter)) +#else + #define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*enter*/ enter) (ix).intersections[(index)] = (t) +#endif + +// Using a define instead of a real function because WebGL1 cannot access array with non-constant index. +#if (INTERSECTION_COUNT > 1) + #define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = vec2((entryExit).x, float((index) > 0) * 2.0 + 0.0); (ix).intersections[(index) * 2 + 1] = vec2((entryExit).y, float((index) > 0) * 2.0 + 1.0) +#else + #define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = (entryExit).x; (ix).intersections[(index) * 2 + 1] = (entryExit).y +#endif + +#if (INTERSECTION_COUNT > 1) +void initializeIntersections(inout Intersections ix) { + // Sort the intersections from min T to max T with bubble sort. + // Note: If this sorting function changes, some of the intersection test may + // need to be updated. Search for "bubble sort" to find those areas. + const int sortPasses = INTERSECTION_COUNT * 2 - 1; + for (int n = sortPasses; n > 0; --n) { + for (int i = 0; i < sortPasses; ++i) { + // The loop should be: for (i = 0; i < n; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to break early instead + if (i >= n) { break; } + + vec2 intersect0 = ix.intersections[i + 0]; + vec2 intersect1 = ix.intersections[i + 1]; + + float t0 = intersect0.x; + float t1 = intersect1.x; + float b0 = intersect0.y; + float b1 = intersect1.y; + + float tmin = min(t0, t1); + float tmax = max(t0, t1); + float bmin = tmin == t0 ? b0 : b1; + float bmax = tmin == t0 ? b1 : b0; + + ix.intersections[i + 0] = vec2(tmin, bmin); + ix.intersections[i + 1] = vec2(tmax, bmax); + } + } + + // Prepare initial state for nextIntersection + ix.index = 0; + ix.surroundCount = 0; + ix.surroundIsPositive = false; +} +#endif + +#if (INTERSECTION_COUNT > 1) +vec2 nextIntersection(inout Intersections ix) { + vec2 entryExitT = vec2(NO_HIT); + + const int passCount = INTERSECTION_COUNT * 2; + + if (ix.index == passCount) { + return entryExitT; + } + + for (int i = 0; i < passCount; ++i) { + // The loop should be: for (i = ix.index; i < passCount; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to continue instead. + if (i < ix.index) { + continue; + } + + ix.index = i + 1; + + vec2 intersect = ix.intersections[i]; + float t = intersect.x; + bool currShapeIsPositive = intersect.y < 2.0; + bool enter = mod(intersect.y, 2.0) == 0.0; + + ix.surroundCount += enter ? +1 : -1; + ix.surroundIsPositive = currShapeIsPositive ? enter : ix.surroundIsPositive; + + // entering positive or exiting negative + if (ix.surroundCount == 1 && ix.surroundIsPositive && enter == currShapeIsPositive) { + entryExitT.x = t; + } + + // exiting positive or entering negative after being inside positive + // TODO: Can this be simplified? + bool exitPositive = !enter && currShapeIsPositive && ix.surroundCount == 0; + bool enterNegativeFromPositive = enter && !currShapeIsPositive && ix.surroundCount == 2 && ix.surroundIsPositive; + if (exitPositive || enterNegativeFromPositive) { + entryExitT.y = t; + + // entry and exit have been found, so the loop can stop + if (exitPositive) { + // After exiting positive shape there is nothing left to intersect, so jump to the end index. + ix.index = passCount; + } + break; + } + } + + return entryExitT; +} +#endif + +// NOTE: initializeIntersections, nextIntersection aren't even declared unless INTERSECTION_COUNT > 1 +// export { NO_HIT, INF_HIT, Ray, Intersections, getIntersectionPair, setIntersectionPair, initializeIntersections, nextIntersection }; +`;var UF=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, +// setIntersectionPair, INF_HIT, NO_HIT + +/* intersectDepth defines (set in Scene/VoxelRenderResources.js) +#define DEPTH_INTERSECTION_INDEX ### +*/ + +uniform mat4 u_transformPositionViewToUv; + +void intersectDepth(vec2 screenCoord, Ray ray, inout Intersections ix) { + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord)); + if (logDepthOrDepth != 0.0) { + // Calculate how far the ray must travel before it hits the depth buffer. + vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth); + eyeCoordinateDepth /= eyeCoordinateDepth.w; + vec3 depthPositionUv = vec3(u_transformPositionViewToUv * eyeCoordinateDepth); + float t = dot(depthPositionUv - ray.pos, ray.dir); + setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(t, +INF_HIT)); + } else { + // There's no depth at this location. + setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(NO_HIT)); + } +} +`;var kF=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, INF_HIT, +// NO_HIT, setIntersectionPair + +/* Clipping plane defines (set in Scene/VoxelRenderResources.js) +#define CLIPPING_PLANES_UNION +#define CLIPPING_PLANES_COUNT +#define CLIPPING_PLANES_INTERSECTION_INDEX +*/ + +uniform sampler2D u_clippingPlanesTexture; +uniform mat4 u_clippingPlanesMatrix; + +// Plane is in Hessian Normal Form +vec2 intersectPlane(Ray ray, vec4 plane) { + vec3 o = ray.pos; + vec3 d = ray.dir; + vec3 n = plane.xyz; // normal + float w = plane.w; // -dot(pointOnPlane, normal) + + float a = dot(o, n); + float b = dot(d, n); + float t = -(w + a) / b; + + if (dot(d, n) > 0.0) { + return vec2(t, +INF_HIT); + } else { + return vec2(-INF_HIT, t); + } +} + +void intersectClippingPlanes(Ray ray, inout Intersections ix) { + #if (CLIPPING_PLANES_COUNT == 1) + // Union and intersection are the same when there's one clipping plane, and the code + // is more simplified. + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix); + vec2 intersection = intersectPlane(ray, planeUv); + setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX, intersection); + #elif defined(CLIPPING_PLANES_UNION) + float minPositiveT = +INF_HIT; + float maxNegativeT = -INF_HIT; + for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); + vec2 intersection = intersectPlane(ray, planeUv); + if (intersection.y == +INF_HIT) { + minPositiveT = min(minPositiveT, intersection.x); + } else { + maxNegativeT = max(maxNegativeT, intersection.y); + } + } + setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, vec2(-INF_HIT, maxNegativeT)); + setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, vec2(minPositiveT, +INF_HIT)); + #else // intersection + float maxPositiveT = -INF_HIT; + float minNegativeT = +INF_HIT; + for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); + vec2 intersection = intersectPlane(ray, planeUv); + if (intersection.y == +INF_HIT) { + maxPositiveT = max(maxPositiveT, intersection.x); + } else { + minNegativeT = min(minNegativeT, intersection.y); + } + } + if (maxPositiveT < minNegativeT) { + setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX, vec2(maxPositiveT, minNegativeT)); + } else { + setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX, vec2(NO_HIT)); + } + #endif +} +`;var zF=`// See IntersectionUtils.glsl for the definitions of Ray and NO_HIT + +/* Box defines (set in Scene/VoxelBoxShape.js) +#define BOX_INTERSECTION_INDEX ### // always 0 +#define BOX_HAS_RENDER_BOUNDS +#define BOX_IS_2D +*/ + +#if defined(BOX_HAS_RENDER_BOUNDS) + #if defined(BOX_IS_2D) + // This matrix bakes in an axis conversion so that the math works for XY plane. + uniform mat4 u_boxUvToRenderBoundsTransform; + #else + // Similar to u_boxTransformUvToBounds but fewer instructions needed. + uniform vec3 u_boxUvToRenderBoundsScale; + uniform vec3 u_boxUvToRenderBoundsTranslate; + #endif +#endif + +vec2 intersectUnitCube(Ray ray) // Unit cube from [-1, +1] +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + + vec3 dInv = 1.0 / d; + vec3 od = -o * dInv; + vec3 t0 = od - dInv; + vec3 t1 = od + dInv; + vec3 m0 = min(t0, t1); + vec3 m1 = max(t0, t1); + float tMin = max(max(m0.x, m0.y), m0.z); + float tMax = min(min(m1.x, m1.y), m1.z); + + if (tMin >= tMax) { + return vec2(NO_HIT); + } + + return vec2(tMin, tMax); +} + +vec2 intersectUnitSquare(Ray ray) // Unit square from [-1, +1] +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + + float t = -o.z / d.z; + vec2 planePos = o.xy + d.xy * t; + if (any(greaterThan(abs(planePos), vec2(1.0)))) { + return vec2(NO_HIT); + } + + return vec2(t, t); +} + +void intersectShape(Ray ray, inout Intersections ix) +{ + #if defined(BOX_HAS_RENDER_BOUNDS) + #if defined(BOX_IS_2D) + // Transform the ray into unit square space on Z plane + // This matrix bakes in an axis conversion so that the math works for XY plane. + ray.pos = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.pos, 1.0)); + ray.dir = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.dir, 0.0)); + vec2 entryExit = intersectUnitSquare(ray); + #else + // Transform the ray into unit cube space + ray.pos = ray.pos * u_boxUvToRenderBoundsScale + u_boxUvToRenderBoundsTranslate; + ray.dir *= u_boxUvToRenderBoundsScale; + vec2 entryExit = intersectUnitCube(ray); + #endif + #else + // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. + // Direction is scaled as well to be in sync with position. + ray.pos = ray.pos * 2.0 - 1.0; + ray.dir = ray.dir * 2.0; + vec2 entryExit = intersectUnitCube(ray); + #endif + + setIntersectionPair(ix, BOX_INTERSECTION_INDEX, entryExit); +} +`;var HF=`// See IntersectionUtils.glsl for the definitions of Ray, setIntersection, +// setIntersectionPair + +/* Cylinder defines (set in Scene/VoxelCylinderShape.js) +#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN +#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX +#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT +#define CYLINDER_HAS_RENDER_BOUNDS_HEIGHT +#define CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO + +#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS +#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT +#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT +#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED + +#define CYLINDER_INTERSECTION_INDEX_RADIUS_MAX +#define CYLINDER_INTERSECTION_INDEX_RADIUS_MIN +#define CYLINDER_INTERSECTION_INDEX_ANGLE +*/ + +// Cylinder uniforms +#if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX) || defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT) + uniform vec3 u_cylinderUvToRenderBoundsScale; + uniform vec3 u_cylinderUvToRenderBoundsTranslate; +#endif +#if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) && !defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) + uniform float u_cylinderUvToRenderRadiusMin; +#endif +#if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE) + uniform vec2 u_cylinderRenderAngleMinMax; +#endif + +vec4 intersectHalfPlane(Ray ray, float angle) { + vec2 o = ray.pos.xy; + vec2 d = ray.dir.xy; + vec2 planeDirection = vec2(cos(angle), sin(angle)); + vec2 planeNormal = vec2(planeDirection.y, -planeDirection.x); + + float a = dot(o, planeNormal); + float b = dot(d, planeNormal); + float t = -a / b; + + vec2 p = o + t * d; + bool outside = dot(p, planeDirection) < 0.0; + if (outside) return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); + + return vec4(-INF_HIT, t, t, +INF_HIT); +} + +#define POSITIVE_HIT vec2(t, +INF_HIT); +#define NEGATIVE_HIT vec2(-INF_HIT, t); + +vec2 intersectHalfSpace(Ray ray, float angle) +{ + vec2 o = ray.pos.xy; + vec2 d = ray.dir.xy; + vec2 n = vec2(sin(angle), -cos(angle)); + + float a = dot(o, n); + float b = dot(d, n); + float t = -a / b; + float s = sign(a); + + // Half space cuts right through the camera, pick the side to intersect + if (a == 0.0) { + if (b >= 0.0) { + return POSITIVE_HIT; + } else { + return NEGATIVE_HIT; + } + } + + if (t >= 0.0 != s >= 0.0) { + return POSITIVE_HIT; + } else { + return NEGATIVE_HIT; + } +} + +vec2 intersectRegularWedge(Ray ray, float minAngle, float maxAngle) +{ + vec2 o = ray.pos.xy; + vec2 d = ray.dir.xy; + vec2 n1 = vec2(sin(minAngle), -cos(minAngle)); + vec2 n2 = vec2(-sin(maxAngle), cos(maxAngle)); + + float a1 = dot(o, n1); + float a2 = dot(o, n2); + float b1 = dot(d, n1); + float b2 = dot(d, n2); + + float t1 = -a1 / b1; + float t2 = -a2 / b2; + float s1 = sign(a1); + float s2 = sign(a2); + + float tmin = min(t1, t2); + float tmax = max(t1, t2); + float smin = tmin == t1 ? s1 : s2; + float smax = tmin == t1 ? s2 : s1; + + bool e = tmin >= 0.0; + bool f = tmax >= 0.0; + bool g = smin >= 0.0; + bool h = smax >= 0.0; + + if (e != g && f == h) return vec2(tmin, tmax); + else if (e == g && f == h) return vec2(-INF_HIT, tmin); + else if (e != g && f != h) return vec2(tmax, +INF_HIT); + else return vec2(NO_HIT); +} + +vec4 intersectFlippedWedge(Ray ray, float minAngle, float maxAngle) +{ + vec2 planeIntersectMin = intersectHalfSpace(ray, minAngle); + vec2 planeIntersectMax = intersectHalfSpace(ray, maxAngle + czm_pi); + return vec4(planeIntersectMin, planeIntersectMax); +} + +vec2 intersectUnitCylinder(Ray ray) +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + + float a = dot(d.xy, d.xy); + float b = dot(o.xy, d.xy); + float c = dot(o.xy, o.xy) - 1.0; + float det = b * b - a * c; + + if (det < 0.0) { + return vec2(NO_HIT); + } + + det = sqrt(det); + float ta = (-b - det) / a; + float tb = (-b + det) / a; + float t1 = min(ta, tb); + float t2 = max(ta, tb); + + float z1 = o.z + t1 * d.z; + float z2 = o.z + t2 * d.z; + + if (abs(z1) >= 1.0) + { + float tCap = (sign(z1) - o.z) / d.z; + t1 = abs(b + a * tCap) < det ? tCap : NO_HIT; + } + + if (abs(z2) >= 1.0) + { + float tCap = (sign(z2) - o.z) / d.z; + t2 = abs(b + a * tCap) < det ? tCap : NO_HIT; + } + + return vec2(t1, t2); +} + +vec2 intersectUnitCircle(Ray ray) { + vec3 o = ray.pos; + vec3 d = ray.dir; + + float t = -o.z / d.z; + vec2 zPlanePos = o.xy + d.xy * t; + float distSqr = dot(zPlanePos, zPlanePos); + + if (distSqr > 1.0) { + return vec2(NO_HIT); + } + + return vec2(t, t); +} + +vec2 intersectInfiniteUnitCylinder(Ray ray) +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + + float a = dot(d.xy, d.xy); + float b = dot(o.xy, d.xy); + float c = dot(o.xy, o.xy) - 1.0; + float det = b * b - a * c; + + if (det < 0.0) { + return vec2(NO_HIT); + } + + det = sqrt(det); + float t1 = (-b - det) / a; + float t2 = (-b + det) / a; + float tmin = min(t1, t2); + float tmax = max(t1, t2); + + return vec2(tmin, tmax); +} + +void intersectShape(Ray ray, inout Intersections ix) +{ + #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MAX) || defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT) + ray.pos = ray.pos * u_cylinderUvToRenderBoundsScale + u_cylinderUvToRenderBoundsTranslate; + ray.dir *= u_cylinderUvToRenderBoundsScale; + #else + // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. + // Direction is scaled as well to be in sync with position. + ray.pos = ray.pos * 2.0 - 1.0; + ray.dir *= 2.0; + #endif + + #if defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT) + vec2 outerIntersect = intersectUnitCircle(ray); + #else + vec2 outerIntersect = intersectUnitCylinder(ray); + #endif + + setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MAX, outerIntersect); + + if (outerIntersect.x == NO_HIT) { + return; + } + + #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) + // When the cylinder is perfectly thin it's necessary to sandwich the + // inner cylinder intersection inside the outer cylinder intersection. + + // Without this special case, + // [outerMin, outerMax, innerMin, innerMax] will bubble sort to + // [outerMin, innerMin, outerMax, innerMax] which will cause the back + // side of the cylinder to be invisible because it will think the ray + // is still inside the inner (negative) cylinder after exiting the + // outer (positive) cylinder. + + // With this special case, + // [outerMin, innerMin, innerMax, outerMax] will bubble sort to + // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + + // Note: If initializeIntersections() changes its sorting function + // from bubble sort to something else, this code may need to change. + vec2 innerIntersect = intersectInfiniteUnitCylinder(ray); + setIntersection(ix, 0, outerIntersect.x, true, true); // positive, enter + setIntersection(ix, 1, innerIntersect.x, false, true); // negative, enter + setIntersection(ix, 2, innerIntersect.y, false, false); // negative, exit + setIntersection(ix, 3, outerIntersect.y, true, false); // positive, exit + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) + Ray innerRay = Ray(ray.pos * u_cylinderUvToRenderRadiusMin, ray.dir * u_cylinderUvToRenderRadiusMin); + vec2 innerIntersect = intersectInfiniteUnitCylinder(innerRay); + setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MIN, innerIntersect); + #endif + + #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF) + vec2 wedgeIntersect = intersectRegularWedge(ray, u_cylinderRenderAngleMinMax.x, u_cylinderRenderAngleMinMax.y); + setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF) + vec4 wedgeIntersect = intersectFlippedWedge(ray, u_cylinderRenderAngleMinMax.x, u_cylinderRenderAngleMinMax.y); + setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersect.xy); + setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersect.zw); + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_HALF) + vec2 wedgeIntersect = intersectHalfSpace(ray, u_cylinderRenderAngleMinMax.x); + setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) + vec4 wedgeIntersect = intersectHalfPlane(ray, u_cylinderRenderAngleMinMax.x); + setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersect.xy); + setIntersectionPair(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersect.zw); + #endif +} +`;var GF=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, +// setIntersection, setIntersectionPair, INF_HIT, NO_HIT + +/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX +#define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN +#define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT +#define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE +#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX +#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN +#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX +#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN +*/ + +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE) + uniform vec2 u_ellipsoidRenderLongitudeMinMax; +#endif +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) + uniform vec2 u_ellipsoidRenderLatitudeCosSqrHalfMinMax; +#endif +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX) + uniform float u_ellipsoidInverseOuterScaleUv; +#endif +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN) + uniform float u_ellipsoidInverseInnerScaleUv; +#endif + +vec2 intersectZPlane(Ray ray) +{ + float o = ray.pos.z; + float d = ray.dir.z; + float t = -o / d; + float s = sign(o); + + if (t >= 0.0 != s >= 0.0) return vec2(t, +INF_HIT); + else return vec2(-INF_HIT, t); +} + +vec4 intersectHalfPlane(Ray ray, float angle) { + vec2 o = ray.pos.xy; + vec2 d = ray.dir.xy; + vec2 planeDirection = vec2(cos(angle), sin(angle)); + vec2 planeNormal = vec2(planeDirection.y, -planeDirection.x); + + float a = dot(o, planeNormal); + float b = dot(d, planeNormal); + float t = -a / b; + + vec2 p = o + t * d; + bool outside = dot(p, planeDirection) < 0.0; + if (outside) return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); + + return vec4(-INF_HIT, t, t, +INF_HIT); +} + +vec2 intersectHalfSpace(Ray ray, float angle) +{ + vec2 o = ray.pos.xy; + vec2 d = ray.dir.xy; + vec2 n = vec2(sin(angle), -cos(angle)); + + float a = dot(o, n); + float b = dot(d, n); + float t = -a / b; + float s = sign(a); + + if (t >= 0.0 != s >= 0.0) return vec2(t, +INF_HIT); + else return vec2(-INF_HIT, t); +} + +vec2 intersectRegularWedge(Ray ray, float minAngle, float maxAngle) +{ + vec2 o = ray.pos.xy; + vec2 d = ray.dir.xy; + vec2 n1 = vec2(sin(minAngle), -cos(minAngle)); + vec2 n2 = vec2(-sin(maxAngle), cos(maxAngle)); + + float a1 = dot(o, n1); + float a2 = dot(o, n2); + float b1 = dot(d, n1); + float b2 = dot(d, n2); + + float t1 = -a1 / b1; + float t2 = -a2 / b2; + float s1 = sign(a1); + float s2 = sign(a2); + + float tmin = min(t1, t2); + float tmax = max(t1, t2); + float smin = tmin == t1 ? s1 : s2; + float smax = tmin == t1 ? s2 : s1; + + bool e = tmin >= 0.0; + bool f = tmax >= 0.0; + bool g = smin >= 0.0; + bool h = smax >= 0.0; + + if (e != g && f == h) return vec2(tmin, tmax); + else if (e == g && f == h) return vec2(-INF_HIT, tmin); + else if (e != g && f != h) return vec2(tmax, +INF_HIT); + else return vec2(NO_HIT); +} + +vec4 intersectFlippedWedge(Ray ray, float minAngle, float maxAngle) +{ + vec2 planeIntersectMin = intersectHalfSpace(ray, minAngle); + vec2 planeIntersectMax = intersectHalfSpace(ray, maxAngle + czm_pi); + return vec4(planeIntersectMin, planeIntersectMax); +} + +vec2 intersectUnitSphere(Ray ray) +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + + float b = dot(d, o); + float c = dot(o, o) - 1.0; + float det = b * b - c; + + if (det < 0.0) { + return vec2(NO_HIT); + } + + det = sqrt(det); + float t1 = -b - det; + float t2 = -b + det; + float tmin = min(t1, t2); + float tmax = max(t1, t2); + + return vec2(tmin, tmax); +} + +vec2 intersectUnitSphereUnnormalizedDirection(Ray ray) +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + + float a = dot(d, d); + float b = dot(d, o); + float c = dot(o, o) - 1.0; + float det = b * b - a * c; + + if (det < 0.0) { + return vec2(NO_HIT); + } + + det = sqrt(det); + float t1 = (-b - det) / a; + float t2 = (-b + det) / a; + float tmin = min(t1, t2); + float tmax = max(t1, t2); + + return vec2(tmin, tmax); +} + +vec2 intersectDoubleEndedCone(Ray ray, float cosSqrHalfAngle) +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + float a = d.z * d.z - dot(d, d) * cosSqrHalfAngle; + float b = d.z * o.z - dot(o, d) * cosSqrHalfAngle; + float c = o.z * o.z - dot(o, o) * cosSqrHalfAngle; + float det = b * b - a * c; + + if (det < 0.0) { + return vec2(NO_HIT); + } + + det = sqrt(det); + float t1 = (-b - det) / a; + float t2 = (-b + det) / a; + float tmin = min(t1, t2); + float tmax = max(t1, t2); + return vec2(tmin, tmax); +} + +vec4 intersectFlippedCone(Ray ray, float cosSqrHalfAngle) { + vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); + + if (intersect.x == NO_HIT) { + return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); + } + + vec3 o = ray.pos; + vec3 d = ray.dir; + float tmin = intersect.x; + float tmax = intersect.y; + float zmin = o.z + tmin * d.z; + float zmax = o.z + tmax * d.z; + + // One interval + if (zmin < 0.0 && zmax < 0.0) return vec4(-INF_HIT, +INF_HIT, NO_HIT, NO_HIT); + else if (zmin < 0.0) return vec4(-INF_HIT, tmax, NO_HIT, NO_HIT); + else if (zmax < 0.0) return vec4(tmin, +INF_HIT, NO_HIT, NO_HIT); + // Two intervals + else return vec4(-INF_HIT, tmin, tmax, +INF_HIT); +} + +vec2 intersectRegularCone(Ray ray, float cosSqrHalfAngle) { + vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); + + if (intersect.x == NO_HIT) { + return vec2(NO_HIT); + } + + vec3 o = ray.pos; + vec3 d = ray.dir; + float tmin = intersect.x; + float tmax = intersect.y; + float zmin = o.z + tmin * d.z; + float zmax = o.z + tmax * d.z; + + if (zmin < 0.0 && zmax < 0.0) return vec2(NO_HIT); + else if (zmin < 0.0) return vec2(tmax, +INF_HIT); + else if (zmax < 0.0) return vec2(-INF_HIT, tmin); + else return vec2(tmin, tmax); +} + +void intersectShape(in Ray ray, inout Intersections ix) { + // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. + // Direction is scaled as well to be in sync with position. + ray.pos = ray.pos * 2.0 - 1.0; + ray.dir *= 2.0; + + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX) + Ray outerRay = Ray(ray.pos * u_ellipsoidInverseOuterScaleUv, ray.dir * u_ellipsoidInverseOuterScaleUv); + #else + Ray outerRay = ray; + #endif + + // Outer ellipsoid + vec2 outerIntersect = intersectUnitSphereUnnormalizedDirection(outerRay); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect); + + // Exit early if the outer ellipsoid was missed. + if (outerIntersect.x == NO_HIT) { + return; + } + + // Inner ellipsoid + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT) + // When the ellipsoid is perfectly thin it's necessary to sandwich the + // inner ellipsoid intersection inside the outer ellipsoid intersection. + + // Without this special case, + // [outerMin, outerMax, innerMin, innerMax] will bubble sort to + // [outerMin, innerMin, outerMax, innerMax] which will cause the back + // side of the ellipsoid to be invisible because it will think the ray + // is still inside the inner (negative) ellipsoid after exiting the + // outer (positive) ellipsoid. + + // With this special case, + // [outerMin, innerMin, innerMax, outerMax] will bubble sort to + // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + + // Note: If initializeIntersections() changes its sorting function + // from bubble sort to something else, this code may need to change. + setIntersection(ix, 0, outerIntersect.x, true, true); // positive, enter + setIntersection(ix, 1, outerIntersect.x, false, true); // negative, enter + setIntersection(ix, 2, outerIntersect.y, false, false); // negative, exit + setIntersection(ix, 3, outerIntersect.y, true, false); // positive, exit + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN) + Ray innerRay = Ray(ray.pos * u_ellipsoidInverseInnerScaleUv, ray.dir * u_ellipsoidInverseInnerScaleUv); + vec2 innerIntersect = intersectUnitSphereUnnormalizedDirection(innerRay); + + if (innerIntersect == vec2(NO_HIT)) { + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN, innerIntersect); + } else { + // When the ellipsoid is very large and thin it's possible for floating + // point math to cause the ray to intersect the inner ellipsoid before + // the outer ellipsoid. To prevent this from happening, clamp innerIntersect + // to outerIntersect and sandwhich the intersections like described above. + // + // In theory a similar fix is needed for cylinders, however it's more + // complicated to implement because the inner shape is allowed to be + // intersected first. + innerIntersect.x = max(innerIntersect.x, outerIntersect.x); + innerIntersect.y = min(innerIntersect.y, outerIntersect.y); + setIntersection(ix, 0, outerIntersect.x, true, true); // positive, enter + setIntersection(ix, 1, innerIntersect.x, false, true); // negative, enter + setIntersection(ix, 2, innerIntersect.y, false, false); // negative, exit + setIntersection(ix, 3, outerIntersect.y, true, false); // positive, exit + } + #endif + + // Flip the ray because the intersection function expects a cone growing towards +Z. + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) + Ray flippedRay = outerRay; + flippedRay.dir.z *= -1.0; + flippedRay.pos.z *= -1.0; + #endif + + // Bottom cone + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) + vec2 bottomConeIntersection = intersectRegularCone(flippedRay, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.x); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) + vec2 bottomConeIntersection = intersectZPlane(flippedRay); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) + vec4 bottomConeIntersection = intersectFlippedCone(ray, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.x); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 0, bottomConeIntersection.xy); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 1, bottomConeIntersection.zw); + #endif + + // Top cone + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) + vec4 topConeIntersection = intersectFlippedCone(flippedRay, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.y); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 0, topConeIntersection.xy); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 1, topConeIntersection.zw); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF) + vec2 topConeIntersection = intersectZPlane(ray); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) + vec2 topConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeCosSqrHalfMinMax.y); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); + #endif + + // Wedge + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) + vec4 wedgeIntersect = intersectHalfPlane(ray, u_ellipsoidRenderLongitudeMinMax.x); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersect.xy); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersect.zw); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF) + vec2 wedgeIntersect = intersectRegularWedge(ray, u_ellipsoidRenderLongitudeMinMax.x, u_ellipsoidRenderLongitudeMinMax.y); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_HALF) + vec2 wedgeIntersect = intersectHalfSpace(ray, u_ellipsoidRenderLongitudeMinMax.x); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF) + vec4 wedgeIntersect = intersectFlippedWedge(ray, u_ellipsoidRenderLongitudeMinMax.x, u_ellipsoidRenderLongitudeMinMax.y); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersect.xy); + setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersect.zw); + #endif +} +`;var xC=`// Main intersection function for Voxel scenes. +// See IntersectBox.glsl, IntersectCylinder.glsl, or IntersectEllipsoid.glsl +// for the definition of intersectShape. The appropriate function is selected +// based on the VoxelPrimitive shape type, and added to the shader in +// Scene/VoxelRenderResources.js. +// See also IntersectClippingPlane.glsl and IntersectDepth.glsl. +// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, +// getIntersectionPair, initializeIntersections, nextIntersection. + +/* Intersection defines (set in Scene/VoxelRenderResources.js) +#define INTERSECTION_COUNT ### +*/ + +vec2 intersectScene(vec2 screenCoord, vec3 positionUv, vec3 directionUv, out Intersections ix) { + Ray ray = Ray(positionUv, directionUv); + + // Do a ray-shape intersection to find the exact starting and ending points. + intersectShape(ray, ix); + + // Exit early if the positive shape was completely missed or behind the ray. + vec2 entryExitT = getIntersectionPair(ix, 0); + if (entryExitT.x == NO_HIT) { + // Positive shape was completely missed - so exit early. + return vec2(NO_HIT); + } + + // Clipping planes + #if defined(CLIPPING_PLANES) + intersectClippingPlanes(ray, ix); + #endif + + // Depth + #if defined(DEPTH_TEST) + intersectDepth(screenCoord, ray, ix); + #endif + + // Find the first intersection that's in front of the ray + #if (INTERSECTION_COUNT > 1) + initializeIntersections(ix); + for (int i = 0; i < INTERSECTION_COUNT; ++i) { + entryExitT = nextIntersection(ix); + if (entryExitT.y > 0.0) { + // Set start to 0.0 when ray is inside the shape. + entryExitT.x = max(entryExitT.x, 0.0); + break; + } + } + #else + // Set start to 0.0 when ray is inside the shape. + entryExitT.x = max(entryExitT.x, 0.0); + #endif + + return entryExitT; +} +`;var WF=`/* Box defines (set in Scene/VoxelBoxShape.js) +#define BOX_HAS_SHAPE_BOUNDS +*/ + +#if defined(BOX_HAS_SHAPE_BOUNDS) + uniform vec3 u_boxUvToShapeUvScale; + uniform vec3 u_boxUvToShapeUvTranslate; +#endif + +vec3 convertUvToShapeUvSpace(in vec3 positionUv) { + #if defined(BOX_HAS_SHAPE_BOUNDS) + return positionUv * u_boxUvToShapeUvScale + u_boxUvToShapeUvTranslate; + #else + return positionUv; + #endif +} +`;var jF=`/* Cylinder defines (set in Scene/VoxelCylinderShape.js) +#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS +#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT +#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT +#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED +*/ + +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + uniform vec2 u_cylinderUvToShapeUvRadius; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + uniform vec2 u_cylinderUvToShapeUvHeight; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + uniform vec2 u_cylinderUvToShapeUvAngle; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) + uniform vec2 u_cylinderShapeUvAngleMinMax; +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) + uniform float u_cylinderShapeUvAngleRangeZeroMid; +#endif + +vec3 convertUvToShapeUvSpace(in vec3 positionUv) { + vec3 positionLocal = positionUv * 2.0 - 1.0; // [-1,+1] + + // Compute radius + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT) + float radius = 1.0; + #else + float radius = length(positionLocal.xy); // [0,1] + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y; // x = scale, y = offset + #endif + #endif + + // Compute height + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) + float height = 1.0; + #else + float height = positionUv.z; // [0,1] + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y; // x = scale, y = offset + #endif + #endif + + // Compute angle + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) + float angle = 1.0; + #else + float angle = (atan(positionLocal.y, positionLocal.x) + czm_pi) / czm_twoPi; // [0,1] + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) + // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative. + angle += float(angle < u_cylinderShapeUvAngleRangeZeroMid); + #endif + + // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) + angle = angle > u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.x : angle; + #elif defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) + angle = angle < u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.y : angle; + #endif + + angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y; // x = scale, y = offset + #endif + #endif + + return vec3(radius, height, angle); +} +`;var YF=`/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO +#define ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN +#define ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT +#define ELLIPSOID_IS_SPHERE +*/ + +uniform vec3 u_ellipsoidRadiiUv; // [0,1] +#if !defined(ELLIPSOID_IS_SPHERE) + uniform vec3 u_ellipsoidInverseRadiiSquaredUv; +#endif +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) + uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid; +#endif +#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + uniform vec2 u_ellipsoidUvToShapeUvLongitude; // x = scale, y = offset +#endif +#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + uniform vec2 u_ellipsoidUvToShapeUvLatitude; // x = scale, y = offset +#endif +#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN) && !defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) + uniform float u_ellipsoidInverseHeightDifferenceUv; + uniform vec2 u_ellipseInnerRadiiUv; // [0,1] +#endif + +// robust iterative solution without trig functions +// https://github.com/0xfaded/ellipse_demo/issues/1 +// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse +// Pro: Good when radii.x ~= radii.y +// Con: Breaks at pos.x ~= 0.0, especially inside the ellipse +// Con: Inaccurate with exterior points and thin ellipses +float ellipseDistanceIterative (vec2 pos, vec2 radii) { + vec2 p = abs(pos); + vec2 invRadii = 1.0 / radii; + vec2 a = vec2(1.0, -1.0) * (radii.x * radii.x - radii.y * radii.y) * invRadii; + vec2 t = vec2(0.70710678118); // sqrt(2) / 2 + vec2 v = radii * t; + + const int iterations = 3; + for (int i = 0; i < iterations; ++i) { + vec2 e = a * pow(t, vec2(3.0)); + vec2 q = normalize(p - e) * length(v - e); + t = normalize((q + e) * invRadii); + v = radii * t; + } + return length(v * sign(pos) - pos) * sign(p.y - v.y); +} + +vec3 convertUvToShapeUvSpace(in vec3 positionUv) { + // Compute position and normal. + // Convert positionUv [0,1] to local space [-1,+1] to "normalized" cartesian space [-a,+a] where a = (radii + height) / (max(radii) + height). + // A point on the largest ellipsoid axis would be [-1,+1] and everything else would be smaller. + vec3 positionLocal = positionUv * 2.0 - 1.0; + #if defined(ELLIPSOID_IS_SPHERE) + vec3 posEllipsoid = positionLocal * u_ellipsoidRadiiUv.x; + vec3 normal = normalize(posEllipsoid); + #else + vec3 posEllipsoid = positionLocal * u_ellipsoidRadiiUv; + vec3 normal = normalize(posEllipsoid * u_ellipsoidInverseRadiiSquaredUv); // geodetic surface normal + #endif + + // Compute longitude + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) + float longitude = 1.0; + #else + float longitude = (atan(normal.y, normal.x) + czm_pi) / czm_twoPi; + + // Correct the angle when max < min + // Technically this should compare against min longitude - but it has precision problems so compare against the middle of empty space. + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) + longitude += float(longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z); + #endif + + // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) + longitude = longitude > u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.x : longitude; + #endif + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) + longitude = longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.y : longitude; + #endif + + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + longitude = longitude * u_ellipsoidUvToShapeUvLongitude.x + u_ellipsoidUvToShapeUvLongitude.y; + #endif + #endif + + // Compute latitude + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO) + float latitude = 1.0; + #else + float latitude = (asin(normal.z) + czm_piOverTwo) / czm_pi; + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + latitude = latitude * u_ellipsoidUvToShapeUvLatitude.x + u_ellipsoidUvToShapeUvLatitude.y; + #endif + #endif + + // Compute height + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) + // TODO: This breaks down when minBounds == maxBounds. To fix it, this + // function would have to know if ray is intersecting the front or back of the shape + // and set the shape space position to 1 (front) or 0 (back) accordingly. + float height = 1.0; + #else + #if defined(ELLIPSOID_IS_SPHERE) + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN) + float height = (length(posEllipsoid) - u_ellipseInnerRadiiUv.x) * u_ellipsoidInverseHeightDifferenceUv; + #else + float height = length(posEllipsoid); + #endif + #else + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN) + // Convert the 3D position to a 2D position relative to the ellipse (radii.x, radii.z) (assuming radii.x == radii.y which is true for WGS84). + // This is an optimization so that math can be done with ellipses instead of ellipsoids. + vec2 posEllipse = vec2(length(posEllipsoid.xy), posEllipsoid.z); + float height = ellipseDistanceIterative(posEllipse, u_ellipseInnerRadiiUv) * u_ellipsoidInverseHeightDifferenceUv; + #else + // TODO: this is probably not correct + float height = length(posEllipsoid); + #endif + #endif + #endif + + return vec3(longitude, latitude, height); +} +`;var qF=`// These octree flags must be in sync with GpuOctreeFlag in VoxelTraversal.js +#define OCTREE_FLAG_INTERNAL 0 +#define OCTREE_FLAG_LEAF 1 +#define OCTREE_FLAG_PACKED_LEAF_FROM_PARENT 2 + +#define OCTREE_MAX_LEVELS 32 // Harcoded value because GLSL doesn't like variable length loops + +uniform sampler2D u_octreeInternalNodeTexture; +uniform vec2 u_octreeInternalNodeTexelSizeUv; +uniform int u_octreeInternalNodeTilesPerRow; +uniform sampler2D u_octreeLeafNodeTexture; +uniform vec2 u_octreeLeafNodeTexelSizeUv; +uniform int u_octreeLeafNodeTilesPerRow; + +uniform float u_stepSize; + +struct OctreeNodeData { + int data; + int flag; +}; + +struct TraversalData { + float stepT; + ivec4 octreeCoords; + int parentOctreeIndex; +}; + +struct SampleData { + int megatextureIndex; + bool usingParentMegatextureIndex; + vec3 tileUv; + #if (SAMPLE_COUNT > 1) + float weight; + #endif +}; + +// Integer mod: For WebGL1 only +int intMod(in int a, in int b) { + return a - (b * (a / b)); +} +int normU8_toInt(in float value) { + return int(value * 255.0); +} +int normU8x2_toInt(in vec2 value) { + return int(value.x * 255.0) + 256 * int(value.y * 255.0); +} +float normU8x2_toFloat(in vec2 value) { + return float(normU8x2_toInt(value)) / 65535.0; +} + +OctreeNodeData getOctreeNodeData(in vec2 octreeUv) { + vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv); + + OctreeNodeData data; + data.data = normU8x2_toInt(texData.xy); + data.flag = normU8x2_toInt(texData.zw); + return data; +} + +OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) { + int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x; + int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex; + int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow; + vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); + return getOctreeNodeData(octreeUv); +} + +int getOctreeParentIndex(in int octreeIndex) { + int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9; + int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow; + vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); + vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv); + int parentOctreeIndex = normU8x2_toInt(parentData.xy); + return parentOctreeIndex; +} + +/** +* Convert a position in the uv-space of the tileset bounding shape +* into the uv-space of a tile within the tileset +*/ +vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { + // TODO: use bit-shifting (only in WebGL2) + float dimAtLevel = pow(2.0, float(octreeCoords.w)); + return shapePosition * dimAtLevel - vec3(octreeCoords.xyz); +} + +void setSampleUv(in vec3 shapePosition, in ivec4 octreeCoords, inout SampleData sampleData) { + ivec4 sampleCoords = sampleData.usingParentMegatextureIndex + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; + sampleData.tileUv = getTileUv(shapePosition, sampleCoords); +} + +void getOctreeLeafSampleData(in OctreeNodeData data, out SampleData sampleData) { + sampleData.megatextureIndex = data.data; + sampleData.usingParentMegatextureIndex = data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT; +} + +#if (SAMPLE_COUNT > 1) +void getOctreeLeafSampleDatas(in OctreeNodeData data, out SampleData sampleData0, out SampleData sampleData1) { + int leafIndex = data.data; + int leafNodeTexelCount = 2; + // Adding 0.5 moves to the center of the texel + float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5; + float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5; + + vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY); + vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY); + vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0); + vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1); + + float lerp = normU8x2_toFloat(leafData0.xy); + + sampleData0.megatextureIndex = normU8x2_toInt(leafData1.xy); + sampleData1.megatextureIndex = normU8x2_toInt(leafData1.zw); + // TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT + sampleData0.usingParentMegatextureIndex = normU8_toInt(leafData0.z) == 1; + sampleData1.usingParentMegatextureIndex = normU8_toInt(leafData0.w) == 1; + sampleData0.weight = 1.0 - lerp; + sampleData1.weight = lerp; +} +#endif + +void traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { + float sizeAtLevel = 1.0 / pow(2.0, float(traversalData.octreeCoords.w)); + vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel; + vec3 end = start + vec3(sizeAtLevel); + + for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { + // Find out which octree child contains the position + // 0 if before center, 1 if after + vec3 center = 0.5 * (start + end); + vec3 childCoord = step(center, shapePosition); + + OctreeNodeData childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord)); + + // Get octree coords for the next level down + ivec4 octreeCoords = traversalData.octreeCoords; + traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1); + + if (childData.flag == OCTREE_FLAG_INTERNAL) { + // interior tile - keep going deeper + start = mix(start, center, childCoord); + end = mix(center, end, childCoord); + traversalData.parentOctreeIndex = childData.data; + } else { + // leaf tile - stop traversing + float dimAtLevel = pow(2.0, float(traversalData.octreeCoords.w)); + traversalData.stepT = u_stepSize / dimAtLevel; + #if (SAMPLE_COUNT == 1) + getOctreeLeafSampleData(childData, sampleDatas[0]); + setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]); + #else + getOctreeLeafSampleDatas(childData, sampleDatas[0], sampleDatas[1]); + setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]); + setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[1]); + #endif + return; + } + } +} + +/** +* Transform a given position to an octree tile coordinate and a position within that tile, +* and find the corresponding megatexture index and texture coordinates +*/ +void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { + traversalData.octreeCoords = ivec4(0); + traversalData.parentOctreeIndex = 0; + + OctreeNodeData rootData = getOctreeNodeData(vec2(0.0)); + if (rootData.flag == OCTREE_FLAG_LEAF) { + // No child data, only the root tile has data + traversalData.stepT = u_stepSize; + #if (SAMPLE_COUNT == 1) + getOctreeLeafSampleData(rootData, sampleDatas[0]); + setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]); + #else + getOctreeLeafSampleDatas(rootData, sampleDatas[0], sampleDatas[1]); + setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]); + setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[1]); + #endif + } else { + traverseOctreeDownwards(shapePosition, traversalData, sampleDatas); + } +} + +bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) { + return clamp(v, minVal, maxVal) == v; +} + +bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) { + vec3 tileUv = getTileUv(shapePosition, octreeCoords); + bool inside = inRange(tileUv, vec3(0.0), vec3(1.0)); + // Assume (!) the position is always inside the root tile. + return inside || octreeCoords.w == 0; +} + +void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) { + if (insideTile(shapePosition, traversalData.octreeCoords)) { + for (int i = 0; i < SAMPLE_COUNT; i++) { + setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[i]); + } + } else { + // Go up tree + for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) + { + traversalData.octreeCoords.xyz /= 2; + traversalData.octreeCoords.w -= 1; + + if (!insideTile(shapePosition, traversalData.octreeCoords)) { + traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex); + } else { + break; + } + } + + // Go down tree + traverseOctreeDownwards(shapePosition, traversalData, sampleDatas); + } +} +`;var XF=`// See Octree.glsl for the definitions of SampleData and intMod + +/* Megatexture defines (set in Scene/VoxelRenderResources.js) +#define SAMPLE_COUNT ### +#define NEAREST_SAMPLING +#define PADDING +*/ + +uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions +uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions +uniform vec2 u_megatextureVoxelSizeUv; +uniform vec2 u_megatextureSliceSizeUv; +uniform vec2 u_megatextureTileSizeUv; + +uniform ivec3 u_dimensions; // does not include padding +#if defined(PADDING) + uniform ivec3 u_paddingBefore; + uniform ivec3 u_paddingAfter; +#endif + +// Integer min, max, clamp: For WebGL1 only +int intMin(int a, int b) { + return a <= b ? a : b; +} +int intMax(int a, int b) { + return a >= b ? a : b; +} +int intClamp(int v, int minVal, int maxVal) { + return intMin(intMax(v, minVal), maxVal); +} + +vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale) +{ + int indexX = intMod(index, dimensions.x); + int indexY = index / dimensions.x; + return vec2(indexX, indexY) * uvScale; +} + +/* + How is 3D data stored in a 2D megatexture? + + In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total). + The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and + the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1). + Note that there could be empty space in the megatexture because it's a power of two. + + 0 1 2 3 + +---+---+---+---+ + | | | | | 3 + +---+---+---+---+ + | | | | | 2 + +-------+-------+ + |010|110|011|111| 1 + |--- ---|--- ---| + |000|100|001|101| 0 + +-------+-------+ + + When doing linear interpolation the megatexture needs to be sampled twice: once for + the Z slice above the voxel coordinate and once for the slice below. The two slices + are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is + halfway between two Z slices so the interpolation factor is 0.5. Below is a side view + of the 3D voxel grid with voxel coordinates on the left side. + + 2 +---+ + |001| + 1 +-z-+ + |000| + 0 +---+ + + When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice. +*/ + +Properties getPropertiesFromMegatexture(in SampleData sampleData) { + vec3 tileUv = clamp(sampleData.tileUv, vec3(0.0), vec3(1.0)); // TODO is the clamp necessary? + int tileIndex = sampleData.megatextureIndex; + vec3 voxelCoord = tileUv * vec3(u_dimensions); + ivec3 voxelDimensions = u_dimensions; + + #if defined(PADDING) + voxelDimensions += u_paddingBefore + u_paddingAfter; + voxelCoord += vec3(u_paddingBefore); + #endif + + #if defined(NEAREST_SAMPLING) + // Round to the center of the nearest voxel + voxelCoord = floor(voxelCoord) + vec3(0.5); + #endif + + // Tile location + vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv); + + // Slice location + float slice = voxelCoord.z - 0.5; + int sliceIndex = int(floor(slice)); + int sliceIndex0 = intClamp(sliceIndex, 0, voxelDimensions.z - 1); + vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); + + // Voxel location + vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(voxelDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv; + + // Final location in the megatexture + vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset; + + #if defined(NEAREST_SAMPLING) + return getPropertiesFromMegatextureAtUv(uv0); + #else + float sliceLerp = fract(slice); + int sliceIndex1 = intMin(sliceIndex + 1, voxelDimensions.z - 1); + vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); + vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset; + Properties properties0 = getPropertiesFromMegatextureAtUv(uv0); + Properties properties1 = getPropertiesFromMegatextureAtUv(uv1); + return mixProperties(properties0, properties1, sliceLerp); + #endif +} + +// Convert an array of sample datas to a final weighted properties. +Properties accumulatePropertiesFromMegatexture(in SampleData sampleDatas[SAMPLE_COUNT]) { + #if (SAMPLE_COUNT == 1) + return getPropertiesFromMegatexture(sampleDatas[0]); + #else + // When more than one sample is taken the accumulator needs to start at 0 + Properties properties = clearProperties(); + for (int i = 0; i < SAMPLE_COUNT; ++i) { + float weight = sampleDatas[i].weight; + + // Avoid reading the megatexture when the weight is 0 as it can be costly. + if (weight > 0.0) { + Properties tempProperties = getPropertiesFromMegatexture(sampleDatas[i]); + tempProperties = scaleProperties(tempProperties, weight); + properties = sumProperties(properties, tempProperties); + } + } + return properties; + #endif +} +`;function e_t(e){let t=new S0;this.shaderBuilder=t;let n=e._customShader,i=_t(e._uniformMap,n.uniformMap);e._uniformMap=i;let o=n.uniforms;for(let p in o)if(o.hasOwnProperty(p)){let g=o[p];t.addUniform(g.type,p,Te.FRAGMENT)}t.addUniform("sampler2D","u_megatextureTextures[METADATA_COUNT]",Te.FRAGMENT),this.uniformMap=i;let r=e._clippingPlanes,s=u(r)&&r.enabled?r.length:0;this.clippingPlanes=r,this.clippingPlanesLength=s,t.addVertexLines([FF]),t.addFragmentLines([n.fragmentShaderText,"#line 0",VF]),s>0&&(t.addDefine("CLIPPING_PLANES",void 0,Te.FRAGMENT),t.addDefine("CLIPPING_PLANES_COUNT",s,Te.FRAGMENT),r.unionClippingRegions&&t.addDefine("CLIPPING_PLANES_UNION",void 0,Te.FRAGMENT),t.addFragmentLines([kF])),e._depthTest&&(t.addDefine("DEPTH_TEST",void 0,Te.FRAGMENT),t.addFragmentLines([UF]));let a=e._provider.shape;a==="BOX"?t.addFragmentLines([zF,xC,WF]):a==="CYLINDER"?t.addFragmentLines([HF,xC,jF]):a==="ELLIPSOID"&&t.addFragmentLines([GF,xC,YF]),t.addFragmentLines([qF,XF,NF]);let c=e._shape,l=c.shaderDefines;for(let p in l)if(l.hasOwnProperty(p)){let g=l[p];u(g)&&(g=g===!0?void 0:g,t.addDefine(p,g,Te.FRAGMENT))}let f=c.shaderMaximumIntersectionsLength;s>0&&(t.addDefine("CLIPPING_PLANES_INTERSECTION_INDEX",f,Te.FRAGMENT),s===1?f+=1:r.unionClippingRegions?f+=2:f+=1),e._depthTest&&(t.addDefine("DEPTH_INTERSECTION_INDEX",f,Te.FRAGMENT),f+=1),t.addDefine("INTERSECTION_COUNT",f,Te.FRAGMENT),(!h.equals(e.paddingBefore,h.ZERO)||!h.equals(e.paddingAfter,h.ZERO))&&t.addDefine("PADDING",void 0,Te.FRAGMENT),e._useLogDepth&&t.addDefine("LOG_DEPTH_READ_ONLY",void 0,Te.FRAGMENT),e._jitter&&t.addDefine("JITTER",void 0,Te.FRAGMENT),e._nearestSampling&&t.addDefine("NEAREST_SAMPLING",void 0,Te.FRAGMENT);let d=e._traversal;t.addDefine("SAMPLE_COUNT",`${d._sampleCount}`,Te.FRAGMENT)}var KF=e_t;function t_t(e,t){let{shaderBuilder:n}=e,{names:i,types:o,componentTypes:r,minimumValues:s,maximumValues:a}=t._provider,c=o.length,l=u(s)&&u(a);n.addDefine("METADATA_COUNT",c,Te.FRAGMENT),l&&n.addDefine("STATISTICS",void 0,Te.FRAGMENT);for(let O=0;O<c;O++){let L=i[O],N=o[O],_=`PropertyStatistics_${L}`,b=`PropertyStatistics_${L}`;n.addStruct(_,b,Te.FRAGMENT);let v=eH(N);n.addStructField(_,v,"min"),n.addStructField(_,v,"max")}let f="Statistics",d="Statistics",p="statistics";n.addStruct(f,d,Te.FRAGMENT);for(let O=0;O<c;O++){let L=i[O],N=`PropertyStatistics_${L}`,_=L;n.addStructField(f,N,_)}let g="Metadata",m="Metadata",A="metadata";n.addStruct(g,m,Te.FRAGMENT),n.addStructField(g,d,p);for(let O=0;O<c;O++){let L=i[O],N=o[O],_=eH(N);n.addStructField(g,_,L)}for(let O=0;O<c;O++){let L=i[O],N=o[O],_=i_t(N),b=`VoxelProperty_${L}`,v=`VoxelProperty_${L}`;n.addStruct(b,v,Te.FRAGMENT),n.addStructField(b,_,"partialDerivativeLocal"),n.addStructField(b,_,"partialDerivativeWorld"),n.addStructField(b,_,"partialDerivativeView"),n.addStructField(b,_,"partialDerivativeValid")}let x="Voxel",C="Voxel",T="voxel";n.addStruct(x,C,Te.FRAGMENT);for(let O=0;O<c;O++){let L=i[O],N=`VoxelProperty_${L}`;n.addStructField(x,N,L)}n.addStructField(x,"vec3","positionEC"),n.addStructField(x,"vec3","positionUv"),n.addStructField(x,"vec3","positionShapeUv"),n.addStructField(x,"vec3","positionUvLocal"),n.addStructField(x,"vec3","viewDirUv"),n.addStructField(x,"vec3","viewDirWorld"),n.addStructField(x,"float","travelDistance");let E="FragmentInput",S="FragmentInput";n.addStruct(E,S,Te.FRAGMENT),n.addStructField(E,m,A),n.addStructField(E,C,T);let D="Properties",w="Properties",R="properties";n.addStruct(D,w,Te.FRAGMENT);for(let O=0;O<c;O++){let L=i[O],N=o[O],_=eH(N);n.addStructField(D,_,L)}{let O="clearProperties";n.addFunction(O,`${w} clearProperties()`,Te.FRAGMENT),n.addFunctionLines(O,[`${w} ${R};`]);for(let L=0;L<c;L++){let N=i[L],_=o[L],b=r[L],v=eH(_,b);n.addFunctionLines(O,[`${R}.${N} = ${v}(0.0);`])}n.addFunctionLines(O,[`return ${R};`])}{let O="sumProperties";n.addFunction(O,`${w} sumProperties(${w} propertiesA, ${w} propertiesB)`,Te.FRAGMENT),n.addFunctionLines(O,[`${w} ${R};`]);for(let L=0;L<c;L++){let N=i[L];n.addFunctionLines(O,[`${R}.${N} = propertiesA.${N} + propertiesB.${N};`])}n.addFunctionLines(O,[`return ${R};`])}{let O="scaleProperties";n.addFunction(O,`${w} scaleProperties(${w} ${R}, float scale)`,Te.FRAGMENT),n.addFunctionLines(O,[`${w} scaledProperties = ${R};`]);for(let L=0;L<c;L++){let N=i[L];n.addFunctionLines(O,[`scaledProperties.${N} *= scale;`])}n.addFunctionLines(O,["return scaledProperties;"])}{let O="mixProperties";n.addFunction(O,`${w} mixProperties(${w} propertiesA, ${w} propertiesB, float mixFactor)`,Te.FRAGMENT),n.addFunctionLines(O,[`${w} ${R};`]);for(let L=0;L<c;L++){let N=i[L];n.addFunctionLines(O,[`${R}.${N} = mix(propertiesA.${N}, propertiesB.${N}, mixFactor);`])}n.addFunctionLines(O,[`return ${R};`])}{let O="copyPropertiesToMetadata";n.addFunction(O,`void copyPropertiesToMetadata(in ${w} ${R}, inout ${m} ${A})`,Te.FRAGMENT);for(let L=0;L<c;L++){let N=i[L];n.addFunctionLines(O,[`${A}.${N} = ${R}.${N};`])}}if(l){let O="setStatistics";n.addFunction(O,`void setStatistics(inout ${d} ${p})`,Te.FRAGMENT);for(let L=0;L<c;L++){let N=i[L],_=o[L],b=zt.getComponentCount(_);for(let v=0;v<b;v++){let I=o_t(_,v),B=s[L][v],F=a[L][v];n.addFunctionLines(O,[`${p}.${N}.min${I} = ${q0e(B)};`,`${p}.${N}.max${I} = ${q0e(F)};`])}}}{let O="getPropertiesFromMegatextureAtUv";n.addFunction(O,`${w} getPropertiesFromMegatextureAtUv(vec2 texcoord)`,Te.FRAGMENT),n.addFunctionLines(O,[`${w} ${R};`]);for(let L=0;L<c;L++){let N=i[L],_=o[L],b=r[L],v=n_t(_,b);n.addFunctionLines(O,[`properties.${N} = texture(u_megatextureTextures[${L}], texcoord)${v};`])}n.addFunctionLines(O,[`return ${R};`])}}function eH(e){if(e===zt.SCALAR)return"float";if(e===zt.VEC2)return"vec2";if(e===zt.VEC3)return"vec3";if(e===zt.VEC4)return"vec4"}function n_t(e){if(e===zt.SCALAR)return".r";if(e===zt.VEC2)return".ra";if(e===zt.VEC3)return".rgb";if(e===zt.VEC4)return""}function i_t(e){if(e===zt.SCALAR)return"vec3";if(e===zt.VEC2)return"mat2";if(e===zt.VEC3)return"mat3";if(e===zt.VEC4)return"mat4"}function q0e(e){let t=e.toString();return t.indexOf(".")===-1&&(t=`${e}.0`),t}function o_t(e,t){return e===zt.SCALAR?"":`[${t}]`}var ZF=t_t;function r_t(e,t){let n=new KF(e);ZF(n,e);let{shaderBuilder:i,clippingPlanes:o,clippingPlanesLength:r}=n;if(r>0){let m="getClippingPlane",A=v_(o,t),x=0,C=A.indexOf(")")+1,T=A.indexOf("{",C)+1,E=A.indexOf("}",T),S=A.slice(x,C),D=A.slice(T,E);i.addFunction(m,S,Te.FRAGMENT),i.addFunctionLines(m,[D])}let s=i.clone();s.addDefine("PICKING",void 0,Te.FRAGMENT);let a=i.buildShaderProgram(t),c=s.buildShaderProgram(t),l=Ue.fromCache({cull:{enabled:!0,face:gi.BACK},depthTest:{enabled:!1},depthMask:!1,blending:un.PRE_MULTIPLIED_ALPHA_BLEND}),f=t.getViewportQuadVertexArray(),d=e._depthTest,p=new tt({vertexArray:f,primitiveType:Me.TRIANGLES,renderState:l,shaderProgram:a,uniformMap:n.uniformMap,pass:Ee.VOXELS,executeInClosestFrustum:!0,owner:this,cull:d,occlude:d}),g=tt.shallowClone(p,new tt);if(g.shaderProgram=c,g.pickOnly=!0,u(e._drawCommand)){let m=e._drawCommand;m.shaderProgram=m.shaderProgram&&m.shaderProgram.destroy()}if(u(e._drawCommandPick)){let m=e._drawCommandPick;m.shaderProgram=m.shaderProgram&&m.shaderProgram.destroy()}e._drawCommand=p,e._drawCommandPick=g}var JF=r_t;function Jy(e,t,n,i,o,r,s){this._primitive=e;let a=i.length;this.megatextures=new Array(a);for(let D=0;D<a;D++){let w=i[D],R=zt.getComponentCount(w),O=o[D];this.megatextures[D]=new ES(t,n,R,O,s)}let c=this.megatextures[0].maximumTileCount;this._simultaneousRequestCount=0,this._debugPrint=!1,this._frameNumber=0;let l=e._shape,f=0,d=0,p=0,g=0,m=void 0;this.rootNode=new DS(f,d,p,g,m,l,n),this._priorityQueue=new Nx({maximumLength:c,comparator:Ki.priorityComparator}),this._highPriorityKeyframeNodes=new Array(c),this._keyframeNodesInMegatexture=new Array(c),this._keyframeCount=r,this._sampleCount=void 0,this._keyframeLocation=0,this._binaryTreeKeyframeWeighting=new Array(r);function A(D,w,R,O){if(w>R)return;let L=Math.floor((w+R)/2);D[L]=O,A(D,w,L-1,O+1),A(D,L+1,R,O+1)}let x=this._binaryTreeKeyframeWeighting;x[0]=0,x[r-1]=0,A(x,1,r-2,0);let C=9,T=2048,E=Math.floor(T/C),S=Math.ceil(c/E);this.internalNodeTexture=new It({context:t,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,flipY:!1,width:T,height:S,sampler:new ln({minificationFilter:an.NEAREST,magnificationFilter:yi.NEAREST})}),this.internalNodeTilesPerRow=E,this.internalNodeTexelSizeUv=new H(1/T,1/S),this.leafNodeTexture=void 0,this.leafNodeTilesPerRow=void 0,this.leafNodeTexelSizeUv=new H}Jy.simultaneousRequestCountMaximum=50;Jy.prototype.update=function(e,t,n,i){let o=this._primitive,r=e.context,s=this.megatextures[0].maximumTileCount,a=this._keyframeCount,c=o._levelBlendFactor,l=c>0,f=a>1,d=(l?2:1)*(f?2:1);this._sampleCount=d;let p=d>=2;if(p&&!u(this.leafNodeTexture)){let T=Math.floor(512),E=Math.ceil(s/T);this.leafNodeTexture=new It({context:r,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,flipY:!1,width:1024,height:E,sampler:new ln({minificationFilter:an.NEAREST,magnificationFilter:yi.NEAREST})}),this.leafNodeTexelSizeUv=H.fromElements(1/1024,1/E,this.leafNodeTexelSizeUv),this.leafNodeTilesPerRow=T}else!p&&u(this.leafNodeTexture)&&(this.leafNodeTexture=this.leafNodeTexture.destroy());if(this._keyframeLocation=P.clamp(t,0,a-1),n&&X0e(this,this.rootNode),i)return;this._frameNumber=e.frameNumber;let g=di();c_t(this,e);let m=di();f_t(this,d,c);let A=di();if(this._debugPrint){let x=m-g,C=A-m,T=A-g;u_t(this,x,C,T)}};Jy.prototype.isRenderable=function(e){return e.isRenderable(this._frameNumber)};Jy.prototype.isDestroyed=function(){return!1};Jy.prototype.destroy=function(){let e=this.megatextures,t=e.length;for(let n=0;n<t;n++)e[n]=e[n]&&e[n].destroy();return this.internalNodeTexture=this.internalNodeTexture&&this.internalNodeTexture.destroy(),this.leafNodeTexture=this.leafNodeTexture&&this.leafNodeTexture.destroy(),le(this)};function X0e(e,t){let n=e._primitive,i=n._shape,o=n._provider.dimensions;if(t.computeBoundingVolumes(i,o),u(t.children))for(let r=0;r<8;r++){let s=t.children[r];X0e(e,s)}}function s_t(e,t){if(e._simultaneousRequestCount>=Jy.simultaneousRequestCountMaximum)return;let n=e._primitive,i=n._provider,o=t.keyframe,r=t.spatialNode,s=r.level,a=r.x,c=r.y,l=r.z;function f(g){e._simultaneousRequestCount--;let m=n._provider.types.length;if(!u(g))t.state=Ki.LoadState.UNAVAILABLE;else if(g===Ki.LoadState.FAILED)t.state=Ki.LoadState.FAILED;else if(!Array.isArray(g)||g.length!==m)t.state=Ki.LoadState.FAILED;else{let A=e.megatextures;for(let x=0;x<m;x++){let{voxelCountPerTile:C,channelCount:T}=A[x],{x:E,y:S,z:D}=C,w=E*S*D,R=g[x],O=w*T;if(R.length===O)t.metadatas[x]=R,t.state=Ki.LoadState.RECEIVED;else{t.state=Ki.LoadState.FAILED;break}}}}function d(){e._simultaneousRequestCount--,t.state=Ki.LoadState.FAILED}let p=i.requestData({tileLevel:s,tileX:a,tileY:c,tileZ:l,keyframe:o});u(p)?(e._simultaneousRequestCount++,t.state=Ki.LoadState.RECEIVING,p.then(f).catch(d)):t.state=Ki.LoadState.FAILED}function a_t(e){return e/(1+e)}function c_t(e,t){let n=e._frameNumber,i=e._primitive,o=i._shape,r=i._provider.dimensions,s=i._screenSpaceError,a=e._priorityQueue,c=e._keyframeLocation,l=e._keyframeCount,f=e.rootNode,d=t.camera.positionWC,p=t.camera.frustum.sseDenominator,m=t.context.drawingBufferHeight/t.pixelRatio/p;function A(O,L){if(O.computeScreenSpaceError(d,m),L=O.visibility(t,L),L===$r.MASK_OUTSIDE)return;O.visitedFrameNumber=n;let N=P.clamp(Math.floor(c),0,l-2),_=N+1;if(l===1)O.createKeyframeNode(0);else if(O.keyframeNodes.length!==l)for(let F=0;F<l;F++)O.createKeyframeNode(F);let b=a_t(O.screenSpaceError),v=!1,I=O.keyframeNodes;for(let F=0;F<I.length;F++){let k=I[F],U=k.keyframe,G=Math.min(Math.abs(U-N),Math.abs(U-_)),V=Math.max(N,l-_-1,1),X=Math.pow(1-G/V,4),j=Math.exp(-e._binaryTreeKeyframeWeighting[U]);k.priority=10*b,k.priority+=P.lerp(j,X,.15+.85*X),k.state!==Ki.LoadState.UNAVAILABLE&&k.state!==Ki.LoadState.FAILED&&k.priority!==-Number.MAX_VALUE&&a.insert(k),k.state===Ki.LoadState.LOADED&&(v=!0)}if(O.screenSpaceError<s||!v){O.children=void 0;return}if(!u(O.children)){let F=l_t(O),k=O.level+1;O.children=F.map(([U,G,V])=>new DS(k,U,G,V,O,o,r))}for(let F=0;F<8;F++){let k=O.children[F];A(k,L)}}a.reset(),A(f,$r.MASK_INDETERMINATE);let x=e._highPriorityKeyframeNodes,C=0,T;for(;a.length>0;)T=a.removeMaximum(),T.highPriorityFrameNumber=n,x[C]=T,C++;let E=e._keyframeNodesInMegatexture,S=e.megatextures[0],D=S.occupiedCount;E.length=D,E.sort(function(O,L){return O.highPriorityFrameNumber===L.highPriorityFrameNumber?L.priority-O.priority:L.highPriorityFrameNumber-O.highPriorityFrameNumber});let w=0,R=0;for(let O=0;O<C;O++)if(T=x[O],!(T.state===Ki.LoadState.LOADED||T.spatialNode===void 0)&&(T.state===Ki.LoadState.UNLOADED&&s_t(e,T),T.state===Ki.LoadState.RECEIVED)){let L=0;if(S.isFull()){L=D-1-w,w++;let N=E[L];N.spatialNode.destroyKeyframeNode(N,e.megatextures)}else L=D+R,R++;T.spatialNode.addKeyframeNodeToMegatextures(T,e.megatextures),E[L]=T}}function l_t(e){let{x:t,y:n,z:i}=e,o=t*2,r=n*2,s=i*2,a=r+1,c=o+1,l=s+1;return[[o,r,s],[c,r,s],[o,a,s],[c,a,s],[o,r,l],[c,r,l],[o,a,l],[c,a,l]]}function u_t(e,t,n,i){let o=e._keyframeCount,r=e.rootNode,s=Object.keys(Ki.LoadState).length,a=new Array(s),c=new Array(s),l=0;for(let C=0;C<s;C++){let T=new Array(o);a[C]=T;for(let E=0;E<o;E++)T[E]=0;c[C]=0}function f(C){let T=C.keyframeNodes;for(let E=0;E<T.length;E++){let S=T[E],D=S.keyframe,w=S.state;a[w][D]+=1,c[w]+=1,l++}if(u(C.children))for(let E=0;E<8;E++){let S=C.children[E];f(S)}}f(r);let d=`KEYFRAMES: ${a[Ki.LoadState.LOADED]}`,p=`UNLOADED: ${c[Ki.LoadState.UNLOADED]} | RECEIVING: ${c[Ki.LoadState.RECEIVING]} | RECEIVED: ${c[Ki.LoadState.RECEIVED]} | LOADED: ${c[Ki.LoadState.LOADED]} | FAILED: ${c[Ki.LoadState.FAILED]} | UNAVAILABLE: ${c[Ki.LoadState.UNAVAILABLE]} | TOTAL: ${l}`,g=Math.round(t*100)/100,m=Math.round(n*100)/100,A=Math.round(i*100)/100,x=`LOAD: ${g} | OCT: ${m} | ALL: ${A}`;console.log(`${d} || ${p} || ${x}`)}var tH={INTERNAL:0,LEAF:1,PACKED_LEAF_FROM_PARENT:2};function f_t(e,t,n){let i=e._primitive._screenSpaceError,o=e._keyframeLocation,r=e._frameNumber,s=t>=2,a=0,c=0,l=[],f=[];function d(g,m,A,x,C){let T=!1;if(u(g.children))for(let E=0;E<8;E++){let S=g.children[E];S.computeSurroundingRenderableKeyframeNodes(o),S.isRenderable(r)&&(T=!0)}if(T){l[C]=tH.INTERNAL<<16|m,l[A]=x,a++,x=m,C=x*9+1;for(let E=0;E<8;E++){let S=g.children[E];m=a,A=m*9+0,d(S,m,A,x,C+E)}}else{if(s){let E=c*5,S=g.renderableKeyframeNodePrevious,D=g.level-S.spatialNode.level,w=S.spatialNode.parent,R=u(w)?w.renderableKeyframeNodePrevious:S,O=d_t(g,i,n),L=D,N=1,_=S.megatextureIndex,b=R.megatextureIndex;f[E+0]=O,f[E+1]=L,f[E+2]=N,f[E+3]=_,f[E+4]=b,l[C]=tH.LEAF<<16|c}else{let E=g.renderableKeyframeNodePrevious,D=g.level-E.spatialNode.level===0?tH.LEAF:tH.PACKED_LEAF_FROM_PARENT;l[C]=D<<16|E.megatextureIndex}c++}}let p=e.rootNode;p.computeSurroundingRenderableKeyframeNodes(o),p.isRenderable(r)&&d(p,0,0,0,0),h_t(l,9,e.internalNodeTilesPerRow,e.internalNodeTexture),s&&m_t(f,2,e.leafNodeTilesPerRow,e.leafNodeTexture)}function d_t(e,t,n){if(e.parent===void 0)return 0;let i=e.screenSpaceError,o=e.parent.screenSpaceError,s=((t-i)/(o-i)+n-1)/n;return P.clamp(s,0,1)}function h_t(e,t,n,i){let o=rt.componentsLength(i.pixelFormat),r=Math.ceil(e.length/t),s=Math.max(1,t*Math.min(r,n)),a=Math.max(1,Math.ceil(r/n)),c=new Uint8Array(s*a*o);for(let d=0;d<e.length;d++){let p=e[d],g=d*o;for(let m=0;m<o;m++)c[g+m]=p>>>m*8&255}let f={source:{arrayBufferView:c,width:s,height:a},xOffset:0,yOffset:0};i.copyFrom(f)}function m_t(e,t,n,i){let o=rt.componentsLength(i.pixelFormat),r=5,s=Math.ceil(e.length/r),a=Math.max(1,t*Math.min(s,n)),c=Math.max(1,Math.ceil(s/n)),l=new Uint8Array(a*c*o);for(let p=0;p<s;p++){let g=e[p*r+0],m=e[p*r+1],A=e[p*r+2],x=e[p*r+3],C=e[p*r+4],T=P.clamp(Math.floor(65536*g),0,65535);l[p*8+0]=T>>>0&255,l[p*8+1]=T>>>8&255,l[p*8+2]=m&255,l[p*8+3]=A&255,l[p*8+4]=x>>>0&255,l[p*8+5]=x>>>8&255,l[p*8+6]=C>>>0&255,l[p*8+7]=C>>>8&255}let d={source:{arrayBufferView:l,width:a,height:c},xOffset:0,yOffset:0};i.copyFrom(d)}Jy.getApproximateTextureMemoryByteLength=function(e,t,n,i){let o=0,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=i[s],l=zt.getComponentCount(a);o+=ES.getApproximateTextureMemoryByteLength(e,t,l,c)}return o};var PS=Jy;var p_t={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},OS=Object.freeze(p_t);function RS(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}RS.prototype.getTexture=function(e){return this._textures[e]};function __t(e,t,n){n.resource.fetchImage().then(function(i){e._loadedImages.push({id:t,image:i,textureUniform:n})}).catch(function(){let i=e._textures[t];u(i)&&i!==e._defaultTexture&&i.destroy(),e._textures[t]=e._defaultTexture})}RS.prototype.loadTexture2D=function(e,t){u(t.typedArray)?this._loadedImages.push({id:e,textureUniform:t}):__t(this,e,t)};function g_t(e,t,n){let{id:i,textureUniform:o,image:r}=t,s=n.webgl2?nH(o,r,n):y_t(o,r,n),a=e._textures[i];u(a)&&a!==n.defaultTexture&&a.destroy(),e._textures[i]=s}function nH(e,t,n){let{typedArray:i,sampler:o}=e,r=u(i)?Z0e(e,n):new It({context:n,source:t,sampler:o});return K0e(o)&&r.generateMipmap(),r}function y_t(e,t,n){let{typedArray:i,sampler:o}=e,r=K0e(o),s=o.wrapS===vn.REPEAT||o.wrapS===vn.MIRRORED_REPEAT||o.wrapT===vn.REPEAT||o.wrapT===vn.MIRRORED_REPEAT,{width:a,height:c}=u(i)?e:t,l=[a,c].every(P.isPowerOfTwo);if((r||s)&&!l)if(u(i)){if(e.pixelDatatype===Xe.UNSIGNED_BYTE){let d=AL(i,a,c),p=Cg(d);return nH({sampler:o},p,n)}}else{let d=Cg(t);return nH(e,d,n)}else return nH(e,t,n);return r?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):s&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),Z0e(e,n)}function K0e(e){return[an.NEAREST_MIPMAP_NEAREST,an.NEAREST_MIPMAP_LINEAR,an.LINEAR_MIPMAP_NEAREST,an.LINEAR_MIPMAP_LINEAR].includes(e.minificationFilter)}function Z0e(e,t){let{pixelFormat:n,pixelDatatype:i,width:o,height:r,typedArray:s,sampler:a}=e;return new It({context:t,pixelFormat:n,pixelDatatype:i,source:{arrayBufferView:s,width:o,height:r},sampler:a,flipY:!1})}RS.prototype.update=function(e){if(e.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=e.frameNumber;let t=e.context;this._defaultTexture=t.defaultTexture;let n=this._loadedImages;for(let i=0;i<n.length;i++){let o=n[i];g_t(this,o,t)}n.length=0};RS.prototype.isDestroyed=function(){return!1};RS.prototype.destroy=function(){let e=this._textures;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];n!==this._defaultTexture&&n.destroy()}return le(this)};var QF=RS;function $F(e){e=y(e,y.EMPTY_OBJECT),this.mode=y(e.mode,Ip.MODIFY_MATERIAL),this.lightingModel=e.lightingModel,this.uniforms=y(e.uniforms,y.EMPTY_OBJECT),this.varyings=y(e.varyings,y.EMPTY_OBJECT),this.vertexShaderText=e.vertexShaderText,this.fragmentShaderText=e.fragmentShaderText,this.translucencyMode=y(e.translucencyMode,Bg.INHERIT),this._textureManager=new QF,this._defaultTexture=void 0,this.uniformMap=A_t(this),this.usedVariablesVertex={attributeSet:{},featureIdSet:{},metadataSet:{}},this.usedVariablesFragment={attributeSet:{},featureIdSet:{},metadataSet:{},materialSet:{}},T_t(this),E_t(this)}function A_t(e){let t=e.uniforms,n={};for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];o.type===OS.SAMPLER_2D?(e._textureManager.loadTexture2D(i,o.value),n[i]=x_t(e,i)):n[i]=C_t(e,i)}return n}function x_t(e,t){return function(){return y(e._textureManager.getTexture(t),e._defaultTexture)}}function C_t(e,t){return function(){return e.uniforms[t].value}}function CC(e,t,n){let i;for(;(i=t.exec(e))!==null;){let o=i[1];n[o]=!0}}function T_t(e){let t=/[vf]sInput\.attributes\.(\w+)/g,n=/[vf]sInput\.featureIds\.(\w+)/g,i=/[vf]sInput\.metadata.(\w+)/g,o,r=e.vertexShaderText;u(r)&&(o=e.usedVariablesVertex.attributeSet,CC(r,t,o),o=e.usedVariablesVertex.featureIdSet,CC(r,n,o),o=e.usedVariablesVertex.metadataSet,CC(r,i,o));let s=e.fragmentShaderText;if(u(s)){o=e.usedVariablesFragment.attributeSet,CC(s,t,o),o=e.usedVariablesFragment.featureIdSet,CC(s,n,o),o=e.usedVariablesFragment.metadataSet,CC(s,i,o);let a=/material\.(\w+)/g,c=e.usedVariablesFragment.materialSet;CC(s,a,c)}}function J0e(e){let t=/^.*MC$/,n=/^.*WC$/,i=/^.*EC$/;return t.test(e)?`${e} (model coordinates)`:n.test(e)?`${e} (Cartesian world coordinates)`:i.test(e)?`${e} (eye coordinates)`:e}function dc(e,t,n,i){if(e.hasOwnProperty(t)){let o=`${J0e(t)} is not available in the ${i} shader. Did you mean ${J0e(n)} instead?`;throw new de(o)}}function E_t(e){let t=e.usedVariablesVertex.attributeSet;dc(t,"position","positionMC","vertex"),dc(t,"normal","normalMC","vertex"),dc(t,"tangent","tangentMC","vertex"),dc(t,"bitangent","bitangentMC","vertex"),dc(t,"positionWC","positionMC","vertex"),dc(t,"positionEC","positionMC","vertex"),dc(t,"normalEC","normalMC","vertex"),dc(t,"tangentEC","tangentMC","vertex"),dc(t,"bitangentEC","bitangentMC","vertex");let n=e.usedVariablesFragment.attributeSet;dc(n,"position","positionEC","fragment"),dc(n,"normal","normalEC","fragment"),dc(n,"tangent","tangentEC","fragment"),dc(n,"bitangent","bitangentEC","fragment"),dc(n,"normalMC","normalEC","fragment"),dc(n,"tangentMC","tangentEC","fragment"),dc(n,"bitangentMC","bitangentEC","fragment")}$F.prototype.setUniform=function(e,t){let n=this.uniforms[e];n.type===OS.SAMPLER_2D?this._textureManager.loadTexture2D(e,t):u(t.clone)?n.value=t.clone(n.value):n.value=t};$F.prototype.update=function(e){this._defaultTexture=e.context.defaultTexture,this._textureManager.update(e)};$F.prototype.isDestroyed=function(){return!1};$F.prototype.destroy=function(){this._textureManager=this._textureManager&&this._textureManager.destroy(),le(this)};var TC=$F;function Em(e){e=y(e,y.EMPTY_OBJECT),this._ready=!1,this._provider=y(e.provider,Em.DefaultProvider),this._traversal=void 0,this._shape=void 0,this._shapeVisible=!1,this._paddingBefore=new h,this._paddingAfter=new h,this._minBounds=new h,this._minBoundsOld=new h,this._maxBounds=new h,this._maxBoundsOld=new h,this._minClippingBounds=new h,this._minClippingBoundsOld=new h,this._maxClippingBounds=new h,this._maxClippingBoundsOld=new h,this._clippingPlanes=void 0,this._clippingPlanesState=0,this._clippingPlanesEnabled=!1,this._modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._compoundModelMatrix=new M,this._compoundModelMatrixOld=new M,this._customShader=y(e.customShader,Em.DefaultCustomShader),this._customShaderCompilationEvent=new Ae,this._shaderDirty=!0,this._drawCommand=void 0,this._drawCommandPick=void 0,this._pickId=void 0,this._clock=e.clock,this._transformPositionWorldToUv=new M,this._transformPositionUvToWorld=new M,this._transformDirectionWorldToLocal=new Z,this._transformNormalLocalToWorld=new Z,this._stepSizeUv=1,this._jitter=!0,this._nearestSampling=!1,this._levelBlendFactor=0,this._stepSizeMultiplier=1,this._depthTest=!0,this._useLogDepth=void 0,this._screenSpaceError=4,this._debugPolylines=new gd,this._debugDraw=!1,this._disableRender=!1,this._disableUpdate=!1,this._uniforms={octreeInternalNodeTexture:void 0,octreeInternalNodeTilesPerRow:0,octreeInternalNodeTexelSizeUv:new H,octreeLeafNodeTexture:void 0,octreeLeafNodeTilesPerRow:0,octreeLeafNodeTexelSizeUv:new H,megatextureTextures:[],megatextureSliceDimensions:new H,megatextureTileDimensions:new H,megatextureVoxelSizeUv:new H,megatextureSliceSizeUv:new H,megatextureTileSizeUv:new H,dimensions:new h,paddingBefore:new h,paddingAfter:new h,transformPositionViewToUv:new M,transformPositionUvToView:new M,transformDirectionViewToLocal:new Z,transformNormalLocalToWorld:new Z,cameraPositionUv:new h,ndcSpaceAxisAlignedBoundingBox:new oe,clippingPlanesTexture:void 0,clippingPlanesMatrix:new M,stepSize:0,pickColor:new z},this._shapeDefinesOld={},this._uniformMap={};let t=this._uniforms,n=this._uniformMap;for(let o in t)if(t.hasOwnProperty(o)){let r=`u_${o}`;n[r]=function(){return t[o]}}let i=this._provider;this._completeLoad=function(o,r){},this._readyPromise=b_t(this,i)}function b_t(e,t){let n=new Promise(function(i){e._completeLoad=function(o,r){r.afterRender.push(function(){return o._ready=!0,i(o),!0})}});return t.readyPromise.then(function(){return n})}Object.defineProperties(Em.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},provider:{get:function(){return this._provider}},boundingSphere:{get:function(){return this._shape.boundingSphere}},orientedBoundingBox:{get:function(){return this._shape.orientedBoundingBox}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=M.clone(e,this._modelMatrix)}},shape:{get:function(){return this._provider.shape}},dimensions:{get:function(){return this._provider.dimensions}},minimumValues:{get:function(){return this._provider.minimumValues}},maximumValues:{get:function(){return this._provider.maximumValues}},show:{get:function(){return!this._disableRender},set:function(e){this._disableRender=!e}},disableUpdate:{get:function(){return this._disableUpdate},set:function(e){this._disableUpdate=e}},debugDraw:{get:function(){return this._debugDraw},set:function(e){this._debugDraw=e}},depthTest:{get:function(){return this._depthTest},set:function(e){this._depthTest!==e&&(this._depthTest=e,this._shaderDirty=!0)}},jitter:{get:function(){return this._jitter},set:function(e){this._jitter!==e&&(this._jitter=e,this._shaderDirty=!0)}},nearestSampling:{get:function(){return this._nearestSampling},set:function(e){this._nearestSampling!==e&&(this._nearestSampling=e,this._shaderDirty=!0)}},levelBlendFactor:{get:function(){return this._levelBlendFactor},set:function(e){this._levelBlendFactor=P.clamp(e,0,1)}},screenSpaceError:{get:function(){return this._screenSpaceError},set:function(e){this._screenSpaceError=e}},stepSize:{get:function(){return this._stepSizeMultiplier},set:function(e){this._stepSizeMultiplier=e}},minBounds:{get:function(){return this._minBounds},set:function(e){this._minBounds=h.clone(e,this._minBounds)}},maxBounds:{get:function(){return this._maxBounds},set:function(e){this._maxBounds=h.clone(e,this._maxBounds)}},minClippingBounds:{get:function(){return this._minClippingBounds},set:function(e){this._minClippingBounds=h.clone(e,this._minClippingBounds)}},maxClippingBounds:{get:function(){return this._maxClippingBounds},set:function(e){this._maxClippingBounds=h.clone(e,this._maxClippingBounds)}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ss.setOwner(e,this,"_clippingPlanes")}},customShader:{get:function(){return this._customShader},set:function(e){if(this._customShader!==e){let t=this._uniformMap,i=this._customShader.uniformMap;for(let o in i)i.hasOwnProperty(o)&&delete t[o];u(e)?this._customShader=e:this._customShader=Em.DefaultCustomShader,this._shaderDirty=!0}}},customShaderCompilationEvent:{get:function(){return this._customShaderCompilationEvent}}});var S_t=new h,D_t=new oe,v_t=new oe,w_t=new h,I_t=new h,P_t=new Z,O_t=new Z,R_t=new M,B_t=new M,M_t=new M,L_t=M.fromRotationTranslation(Z.fromUniformScale(.5,new Z),new h(.5,.5,.5),new M),N_t=M.fromRotationTranslation(Z.fromUniformScale(2,new Z),new h(-1,-1,-1),new M);Em.prototype.update=function(e){let t=this._provider;if(this._customShader.update(e),!this._ready&&!t.ready)return;let n=e.context;if(!this._ready){F_t(this,t,n),this._completeLoad(this,e);return}let i=$0e(this,t),o=this._shape;if(i&&(this._shapeVisible=eAe(this,o,t),k_t(this,o)&&(this._shaderDirty=!0)),!this._shapeVisible)return;let r=z_t(t.timeIntervalCollection,this._clock),s=this._traversal,a=s._sampleCount;if(s.update(e,r,i,this._disableUpdate),a!==s._sampleCount&&(this._shaderDirty=!0),!s.isRenderable(s.rootNode)||(this._debugDraw&&K_t(this,e),this._disableRender))return;this._useLogDepth!==e.useLogDepth&&(this._useLogDepth=e.useLogDepth,this._shaderDirty=!0),H_t(this,e)&&(this._shaderDirty=!0);let l=s.leafNodeTexture,f=this._uniforms;u(l)&&(f.octreeLeafNodeTexture=s.leafNodeTexture,f.octreeLeafNodeTexelSizeUv=H.clone(s.leafNodeTexelSizeUv,f.octreeLeafNodeTexelSizeUv),f.octreeLeafNodeTilesPerRow=s.leafNodeTilesPerRow),this._shaderDirty&&(JF(this,n),this._shaderDirty=!1);let d=n.uniformState.viewProjection,p=o.orientedBoundingBox,g=j_t(p,d,v_t);if(g.x===1||g.y===1||g.z===-1||g.w===-1)return;f.ndcSpaceAxisAlignedBoundingBox=oe.clone(g,f.ndcSpaceAxisAlignedBoundingBox);let A=n.uniformState.inverseView;f.transformPositionViewToUv=M.multiplyTransformation(this._transformPositionWorldToUv,A,f.transformPositionViewToUv);let x=n.uniformState.view;f.transformPositionUvToView=M.multiplyTransformation(x,this._transformPositionUvToWorld,f.transformPositionUvToView);let C=n.uniformState.inverseViewRotation;f.transformDirectionViewToLocal=Z.multiply(this._transformDirectionWorldToLocal,C,f.transformDirectionViewToLocal),f.transformNormalLocalToWorld=Z.clone(this._transformNormalLocalToWorld,f.transformNormalLocalToWorld);let T=e.camera.positionWC;f.cameraPositionUv=M.multiplyByPoint(this._transformPositionWorldToUv,T,f.cameraPositionUv),f.stepSize=this._stepSizeUv*this._stepSizeMultiplier;let E=e.passes.pick?this._drawCommandPick:this._drawCommand;E.boundingVolume=o.boundingSphere,e.commandList.push(E)};function F_t(e,t,n){let i=e._uniforms;e._pickId=n.createPickId({primitive:e}),i.pickColor=z.clone(e._pickId.color,i.pickColor);let{shape:o,minBounds:r=zi.getMinBounds(o),maxBounds:s=zi.getMaxBounds(o)}=t;e.minBounds=r,e.maxBounds=s,e.minClippingBounds=zi.getMinBounds(o),e.maxClippingBounds=zi.getMaxBounds(o),$0e(e,t);let a=zi.getShapeConstructor(o);e._shape=new a,e._shapeVisible=eAe(e,e._shape,t);let{shaderDefines:c,shaderUniforms:l}=e._shape;e._shapeDefinesOld=Ge(c,!0);let f=e._uniformMap;for(let d in l)if(l.hasOwnProperty(d)){let p=`u_${d}`;f[p]=function(){return l[d]}}i.dimensions=h.clone(t.dimensions,i.dimensions),e._paddingBefore=h.clone(y(t.paddingBefore,h.ZERO),e._paddingBefore),i.paddingBefore=h.clone(e._paddingBefore,i.paddingBefore),e._paddingAfter=h.clone(y(t.paddingAfter,h.ZERO),e._paddingBefore),i.paddingAfter=h.clone(e._paddingAfter,i.paddingAfter),e._traversal=V_t(e,t,n),U_t(e._traversal,i)}function $0e(e,t){let n=y(t.shapeTransform,M.IDENTITY),i=y(t.globalTransform,M.IDENTITY);return M.multiplyTransformation(i,e._modelMatrix,e._compoundModelMatrix),M.multiplyTransformation(e._compoundModelMatrix,n,e._compoundModelMatrix),e2(e,"_compoundModelMatrix","_compoundModelMatrixOld")+e2(e,"_minBounds","_minBoundsOld")+e2(e,"_maxBounds","_maxBoundsOld")+e2(e,"_minClippingBounds","_minClippingBoundsOld")+e2(e,"_maxClippingBounds","_maxClippingBoundsOld")>0}function e2(e,t,n){let i=e[t],o=e[n],r=!i.equals(o);return r&&i.clone(o),r?1:0}function eAe(e,t,n){if(!t.update(e._compoundModelMatrix,e.minBounds,e.maxBounds,e.minClippingBounds,e.maxClippingBounds))return!1;let o=t.shapeTransform,r=M.inverse(o,R_t),s=M.getRotation(o,P_t),a=M.getScale(o,w_t),c=h.maximumComponent(a),l=h.divideByScalar(a,c,I_t),f=Z.multiplyByScale(s,l,O_t),d=n.dimensions;return e._stepSizeUv=t.computeApproximateStepSize(d),e._transformPositionWorldToUv=M.multiplyTransformation(L_t,r,e._transformPositionWorldToUv),e._transformPositionUvToWorld=M.multiplyTransformation(o,N_t,e._transformPositionUvToWorld),e._transformDirectionWorldToLocal=M.getMatrix3(r,e._transformDirectionWorldToLocal),e._transformNormalLocalToWorld=Z.inverseTranspose(f,e._transformNormalLocalToWorld),!0}function V_t(e,t,n){let i=h.clone(t.dimensions,S_t);h.add(i,e._paddingBefore,i),h.add(i,e._paddingAfter,i);let o=t.maximumTileCount,r=u(o)?PS.getApproximateTextureMemoryByteLength(o,i,t.types,t.componentTypes):void 0,s=y(t.keyframeCount,1);return new PS(e,n,i,t.types,t.componentTypes,s,r)}function U_t(e,t){t.octreeInternalNodeTexture=e.internalNodeTexture,t.octreeInternalNodeTexelSizeUv=H.clone(e.internalNodeTexelSizeUv,t.octreeInternalNodeTexelSizeUv),t.octreeInternalNodeTilesPerRow=e.internalNodeTilesPerRow;let n=e.megatextures,i=n[0],o=n.length;t.megatextureTextures=new Array(o);for(let r=0;r<o;r++)t.megatextureTextures[r]=n[r].texture;t.megatextureSliceDimensions=H.clone(i.sliceCountPerRegion,t.megatextureSliceDimensions),t.megatextureTileDimensions=H.clone(i.regionCountPerMegatexture,t.megatextureTileDimensions),t.megatextureVoxelSizeUv=H.clone(i.voxelSizeUv,t.megatextureVoxelSizeUv),t.megatextureSliceSizeUv=H.clone(i.sliceSizeUv,t.megatextureSliceSizeUv),t.megatextureTileSizeUv=H.clone(i.regionSizeUv,t.megatextureTileSizeUv)}function k_t(e,t){let n=t.shaderDefines,i=Object.keys(n).some(o=>n[o]!==e._shapeDefinesOld[o]);return i&&(e._shapeDefinesOld=Ge(n,!0)),i}function z_t(e,t){if(!u(e)||!u(t))return 0;let n=t.currentTime,i,o=e.indexOf(n);o>=0?i=e.get(o):(o=~o,o===e.length?(o=e.length-1,i=e.get(o),n=i.stop):(i=e.get(o),n=i.start));let r=$.secondsDifference(i.stop,i.start),a=$.secondsDifference(n,i.start)/r;return o+a}function H_t(e,t){let n=e.clippingPlanes;if(!u(n))return!1;n.update(t);let{clippingPlanesState:i,enabled:o}=n;if(o){let r=e._uniforms;r.clippingPlanesTexture=n.texture,r.clippingPlanesMatrix=M.transpose(M.multiplyTransformation(M.inverse(n.modelMatrix,r.clippingPlanesMatrix),e._transformPositionUvToWorld,r.clippingPlanesMatrix),r.clippingPlanesMatrix)}return e._clippingPlanesState===i&&e._clippingPlanesEnabled===o?!1:(e._clippingPlanesState=i,e._clippingPlanesEnabled=o,!0)}Em.prototype.isDestroyed=function(){return!1};Em.prototype.destroy=function(){let e=this._drawCommand;u(e)&&(e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy());let t=this._drawCommandPick;return u(t)&&(t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()),this._pickId=this._pickId&&this._pickId.destroy(),this._traversal=this._traversal&&this._traversal.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),le(this)};var Q0e=new Array(new oe(-1,-1,-1,1),new oe(1,-1,-1,1),new oe(-1,1,-1,1),new oe(1,1,-1,1),new oe(-1,-1,1,1),new oe(1,-1,1,1),new oe(-1,1,1,1),new oe(1,1,1,1)),G_t=new Array(1,2,4,0,3,5,0,3,6,1,2,7,0,5,6,1,4,7,2,4,7,3,5,6),W_t=new Array(new oe,new oe,new oe,new oe,new oe,new oe,new oe,new oe);function j_t(e,t,n){let i=M.fromRotationTranslation(e.halfAxes,e.center,B_t),o=M.multiply(t,i,M_t),r=+Number.MAX_VALUE,s=-Number.MAX_VALUE,a=+Number.MAX_VALUE,c=-Number.MAX_VALUE,l,f=W_t,d=Q0e.length;for(l=0;l<d;l++)M.multiplyByVector(o,Q0e[l],f[l]);for(l=0;l<d;l++){let p=f[l];if(p.z>=-p.w){let g=p.x/p.w,m=p.y/p.w;r=Math.min(r,g),s=Math.max(s,g),a=Math.min(a,m),c=Math.max(c,m)}else for(let g=0;g<3;g++){let m=G_t[l*3+g],A=f[m];if(A.z>=-A.w){let x=p.z+p.w,C=A.z+A.w,T=x/(x-C),E=oe.lerp(p,A,T,D_t),S=E.x/E.w,D=E.y/E.w;r=Math.min(r,S),s=Math.max(s,S),a=Math.min(a,D),c=Math.max(c,D)}}}return r=P.clamp(r,-1,1),a=P.clamp(a,-1,1),s=P.clamp(s,-1,1),c=P.clamp(c,-1,1),n=oe.fromElements(r,a,s,c,n),n}var IX=3e7,Y_t=new h(IX,0,0),q_t=new h(0,IX,0),X_t=new h(0,0,IX);function K_t(e,t){let n=e._traversal,i=e._debugPolylines;i.removeAll();function o(c,l,f,d){i.add({positions:[c,l],width:d,material:Vi.fromType("Color",{color:f})})}function r(c,l,f){let d=c.computeCorners();o(d[0],d[1],l,f),o(d[2],d[3],l,f),o(d[4],d[5],l,f),o(d[6],d[7],l,f),o(d[0],d[2],l,f),o(d[4],d[6],l,f),o(d[1],d[3],l,f),o(d[5],d[7],l,f),o(d[0],d[4],l,f),o(d[2],d[6],l,f),o(d[1],d[5],l,f),o(d[3],d[7],l,f)}function s(c){if(!n.isRenderable(c))return;let l=c.level,d=Math.max(1,5/Math.pow(2,l)),g=[z.RED,z.LIME,z.BLUE][l%3];if(r(c.orientedBoundingBox,g,d),u(c.children))for(let m=0;m<8;m++)s(c.children[m])}r(e._shape.orientedBoundingBox,z.WHITE,5),s(n.rootNode);let a=10;o(h.ZERO,Y_t,z.RED,a),o(h.ZERO,q_t,z.LIME,a),o(h.ZERO,X_t,z.BLUE,a),i.update(t)}Em.DefaultCustomShader=new TC({fragmentShaderText:`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) +{ + material.diffuse = vec3(1.0); + material.alpha = 1.0; +}`});function tAe(){this.ready=!0,this.readyPromise=Promise.resolve(this),this.shape=zi.BOX,this.dimensions=new h(1,1,1),this.names=["data"],this.types=[zt.SCALAR],this.componentTypes=[tn.FLOAT32],this.maximumTileCount=1}tAe.prototype.requestData=function(e){if(!((u(e)?y(e.tileLevel,0):0)>=1))return Promise.resolve([new Float32Array(1)])};Em.DefaultProvider=new tAe;var BS=Em;function PX(){de.throwInstantiationError()}Object.defineProperties(PX.prototype,{ready:{get:de.throwInstantiationError},readyPromise:{get:de.throwInstantiationError},globalTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shape:{get:de.throwInstantiationError},minBounds:{get:de.throwInstantiationError},maxBounds:{get:de.throwInstantiationError},dimensions:{get:de.throwInstantiationError},paddingBefore:{get:de.throwInstantiationError},paddingAfter:{get:de.throwInstantiationError},names:{get:de.throwInstantiationError},types:{get:de.throwInstantiationError},componentTypes:{get:de.throwInstantiationError},minimumValues:{get:de.throwInstantiationError},maximumValues:{get:de.throwInstantiationError},maximumTileCount:{get:de.throwInstantiationError},keyframeCount:{get:de.throwInstantiationError},timeIntervalCollection:{get:de.throwInstantiationError}});PX.prototype.requestData=de.throwInstantiationError;var OX=PX;function EC(){de.throwInstantiationError()}Object.defineProperties(EC.prototype,{orientedBoundingBox:{get:de.throwInstantiationError},boundingSphere:{get:de.throwInstantiationError},boundTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shaderUniforms:{get:de.throwInstantiationError},shaderDefines:{get:de.throwInstantiationError},shaderMaximumIntersectionsLength:{get:de.throwInstantiationError}});EC.prototype.update=de.throwInstantiationError;EC.prototype.computeOrientedBoundingBoxForTile=de.throwInstantiationError;EC.prototype.computeApproximateStepSize=de.throwInstantiationError;EC.DefaultMinBounds=de.throwInstantiationError;EC.DefaultMaxBounds=de.throwInstantiationError;var RX=EC;function BX(e,t){let n=t.terrainProvider,i=t.mapProjection,o=i.ellipsoid,r,s=t.camera.getRectangleCameraCoordinates(e);return t.mode===te.SCENE3D?r=o.cartesianToCartographic(s):r=i.unproject(s),u(n)?n.readyPromise.then(function(){let a=n.availability;if(!u(a)||t.mode===te.SCENE2D)return r;let c=[ce.center(e),ce.southeast(e),ce.southwest(e),ce.northeast(e),ce.northwest(e)];return BX._sampleTerrainMostDetailed(n,c).then(function(l){let f=!1,d=l.reduce(function(g,m){return u(m.height)?(f=!0,Math.max(m.height,g)):g},-Number.MAX_VALUE),p=r;return f&&(p.height+=d),p})}):Promise.resolve(r)}BX._sampleTerrainMostDetailed=u_;var bC=BX;var Z_t=new z,J_t=new z,Q_t=new z,$_t=new z,nAe=new oe,t2=new Uint8Array(4);function iAe(e,t,n,i){let o=t.height===n.height?0:(e-t.height)/(n.height-t.height);return z.lerp(t.color,n.color,o,i)}function iH(e,t){return{height:e,color:z.clone(t)}}function oAe(e){return e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?t.height===i[n-1].height:!0,a=r?t.height===i[n+1].height:!0;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?z.equals(t.color,i[n-1].color):!1,a=r?z.equals(t.color,i[n+1].color):!1;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=o?z.equals(t.color,i[n-1].color):!1,s=o?t.height===i[n-1].height:!0;return!r||!s}),e}function egt(e){let t,n,i=[],o=e.length;for(t=0;t<o;t++){let r=e[t],s=r.entries,a=s.length,c=[];for(n=0;n<a;n++){let g=s[n],m=P.clamp(g.height,Ml._minimumHeight,Ml._maximumHeight),A=z.clone(g.color,Z_t);A.red*=A.alpha,A.green*=A.alpha,A.blue*=A.alpha,c.push(iH(m,A))}let l=!0,f=!0;for(n=0;n<a-1;n++){let g=c[n+0],m=c[n+1];l=l&&g.height<=m.height,f=f&&g.height>=m.height}f?c=c.reverse():l||C_(c,function(g,m){return P.sign(g.height-m.height)});let d=y(r.extendDownwards,!1),p=y(r.extendUpwards,!1);c.length===1&&!d&&!p&&(d=!0,p=!0),d&&c.splice(0,0,iH(Ml._minimumHeight,c[0].color)),p&&c.splice(c.length,0,iH(Ml._maximumHeight,c[c.length-1].color)),c=oAe(c),i.push(c)}return i}function tgt(e){let t=egt(e),n=[],i=[],o;function r(l,f){n.push(iH(l,f))}function s(l,f,d){let p=z.multiplyByScalar(d,1-f.alpha,$_t);p=z.add(p,f,p),r(l,p)}let a=t.length;for(o=0;o<a;o++){let l=t[o],f=0,d=0;i=n,n=[];let p=l.length,g=i.length;for(;f<p||d<g;){let m=f<p?l[f]:void 0,A=f>0?l[f-1]:void 0,x=f<p-1?l[f+1]:void 0,C=d<g?i[d]:void 0,T=d>0?i[d-1]:void 0,E=d<g-1?i[d+1]:void 0;if(u(m)&&u(C)&&m.height===C.height){let S=u(E)&&C.height===E.height,D=!u(T),w=!u(E),R=u(x)&&m.height===x.height,O=!u(A),L=!u(x);S?R?(s(m.height,m.color,C.color),s(m.height,x.color,E.color)):O?(r(m.height,C.color),s(m.height,m.color,E.color)):L?(s(m.height,m.color,C.color),r(m.height,E.color)):(s(m.height,m.color,C.color),s(m.height,m.color,E.color)):D?R?(r(m.height,m.color),s(m.height,x.color,C.color)):L?(r(m.height,m.color),r(m.height,C.color)):(O||r(m.height,m.color),s(m.height,m.color,C.color)):w?R?(s(m.height,m.color,C.color),r(m.height,x.color)):O?(r(m.height,C.color),r(m.height,m.color)):L?s(m.height,m.color,C.color):(s(m.height,m.color,C.color),r(m.height,m.color)):R?(s(m.height,m.color,C.color),s(m.height,x.color,C.color)):O?(r(m.height,C.color),s(m.height,m.color,C.color)):L?(s(m.height,m.color,C.color),r(m.height,C.color)):s(m.height,m.color,C.color),f+=R?2:1,d+=S?2:1}else if(u(m)&&u(C)&&u(T)&&m.height<C.height){let S=iAe(m.height,T,C,Q_t);u(A)?u(x)?s(m.height,m.color,S):(s(m.height,m.color,S),r(m.height,S)):(r(m.height,S),s(m.height,m.color,S)),f++}else if(u(C)&&u(m)&&u(A)&&C.height<m.height){let S=iAe(C.height,A,m,J_t);u(T)?u(E)?s(C.height,S,C.color):(s(C.height,S,C.color),r(C.height,S)):(r(C.height,S),s(C.height,S,C.color)),d++}else u(m)&&(!u(C)||m.height<C.height)?(u(C)&&!u(T)&&!u(x)?(r(m.height,m.color),r(m.height,Ml._emptyColor),r(C.height,Ml._emptyColor)):(!u(C)&&u(T)&&!u(A)&&(r(T.height,Ml._emptyColor),r(m.height,Ml._emptyColor)),r(m.height,m.color)),f++):u(C)&&(!u(m)||C.height<m.height)&&(r(C.height,C.color),d++)}}return oAe(n)}function Ml(e){let{scene:t,layers:n}=y(e,y.EMPTY_OBJECT),{context:i}=t,o=tgt(n),r=o.length,s,a,c;if(!Ml._useFloatTexture(i)){a=Xe.UNSIGNED_BYTE,c=rt.RGBA,s=new Uint8Array(r*4);for(let g=0;g<r;g++)oe.packFloat(o[g].height,nAe),oe.pack(nAe,s,g*4)}else{a=Xe.FLOAT,c=i.webgl2?rt.RED:rt.LUMINANCE,s=new Float32Array(r);for(let g=0;g<r;g++)s[g]=o[g].height}let f=It.create({context:i,pixelFormat:c,pixelDatatype:a,source:{arrayBufferView:s,width:r,height:1},sampler:new ln({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:an.NEAREST,magnificationFilter:yi.NEAREST})}),d=new Uint8Array(r*4);for(let g=0;g<r;g++)o[g].color.toBytes(t2),d[g*4+0]=t2[0],d[g*4+1]=t2[1],d[g*4+2]=t2[2],d[g*4+3]=t2[3];let p=It.create({context:i,pixelFormat:rt.RGBA,pixelDatatype:Xe.UNSIGNED_BYTE,source:{arrayBufferView:d,width:r,height:1},sampler:new ln({wrapS:vn.CLAMP_TO_EDGE,wrapT:vn.CLAMP_TO_EDGE,minificationFilter:an.LINEAR,magnificationFilter:yi.LINEAR})});return Vi.fromType("ElevationBand",{heights:f,colors:p})}Ml._useFloatTexture=function(e){return e.floatingPointTexture};Ml._maximumHeight=5906376425472;Ml._minimumHeight=-5906376425472;Ml._emptyColor=new z(0,0,0,0);var MX=Ml;function ngt(e){e=_t(e,{url:Qd.fromAssetId(96188)});let t=new Rc(e),n=e.style;if(!u(n)){let i=y(e.defaultColor,z.WHITE).toCssColorString();n=new fC({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${i}`})}return t.style=n,t}var LX=ngt;function igt(e){e=y(e,y.EMPTY_OBJECT);let t=[],n=e.geometry;(!u(n.attributes)||!u(n.primitiveType))&&(n=n.constructor.createGeometry(n));let i=n.attributes,o=M.clone(y(e.modelMatrix,M.IDENTITY)),r=y(e.length,1e4);if(u(i.normal)&&t.push(new At({geometry:Ln.createLineSegmentsForVectors(n,"normal",r),attributes:{color:new Nt(1,0,0,1)},modelMatrix:o})),u(i.tangent)&&t.push(new At({geometry:Ln.createLineSegmentsForVectors(n,"tangent",r),attributes:{color:new Nt(0,1,0,1)},modelMatrix:o})),u(i.bitangent)&&t.push(new At({geometry:Ln.createLineSegmentsForVectors(n,"bitangent",r),attributes:{color:new Nt(0,0,1,1)},modelMatrix:o})),t.length>0)return new Dn({asynchronous:!1,geometryInstances:t,appearance:new on({flat:!0,translucent:!1})})}var NX=igt;var FX=`uniform sampler2D u_depthTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + float z_window = czm_unpackDepth(texture(u_depthTexture, v_textureCoordinates)); + z_window = czm_reverseLogDepth(z_window); + float n_range = czm_depthRange.near; + float f_range = czm_depthRange.far; + float z_ndc = (2.0 * z_window - n_range - f_range) / (f_range - n_range); + float scale = pow(z_ndc * 0.5 + 0.5, 8.0); + out_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0); +} +`;function ogt(e){e=y(e,y.EMPTY_OBJECT),this.typedArray=e.typedArray,this.width=e.width,this.height=e.height,this.pixelFormat=y(e.pixelFormat,rt.RGBA),this.pixelDatatype=y(e.pixelDatatype,Xe.UNSIGNED_BYTE);let t=e.url;typeof t=="string"&&(t=Oe.createIfNeeded(t)),this.resource=t;let i=y(e.repeat,!0)?vn.REPEAT:vn.CLAMP_TO_EDGE;this.sampler=new ln({wrapS:i,wrapT:i,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy})}var VX=ogt;var rgt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},UX=Object.freeze(rgt);function sgt(e,t,n){let i;try{return i=e(t,n),i}catch(o){return Promise.reject(o)}}function agt(e){let t;return function(n){let i=n.data,o=[],r={id:i.id,result:void 0,error:void 0};return Promise.resolve(sgt(e,i.parameters,o)).then(function(s){r.result=s}).catch(function(s){s instanceof Error?r.error={name:s.name,message:s.message,stack:s.stack}:r.error=s}).finally(function(){u(t)||(t=y(self.webkitPostMessage,self.postMessage)),i.canTransferArrayBuffer||(o.length=0);try{t(r,o)}catch(s){r.result=void 0,r.error=`postMessage failed with error: ${cm(s)} + with responseMessage: ${JSON.stringify(r)}`,t(r)}})}}var kX=agt;var n2;typeof ko<"u"&&(n2=ko);(function(){/*! + * Knockout JavaScript library v3.5.1 + * (c) The Knockout.js team - http://knockoutjs.com/ + * License: MIT (http://www.opensource.org/licenses/mit-license.php) + */(function(){(function(e){var t=this||(0,eval)("this"),n=t.document,i=t.navigator,o=t.jQuery,r=t.JSON;o||typeof jQuery>"u"||(o=jQuery),function(s){s(t.ko={})}(function(s,a){function c(_,b){return _===null||typeof _ in A?_===b:!1}function l(_,b){var v;return function(){v||(v=m.a.setTimeout(function(){v=e,_()},b))}}function f(_,b){var v;return function(){clearTimeout(v),v=m.a.setTimeout(_,b)}}function d(_,b){b&&b!=="change"?b==="beforeChange"?this.pc(_):this.gb(_,b):this.qc(_)}function p(_,b){b!==null&&b.s&&b.s()}function g(_,b){var v=this.qd,I=v[S];I.ra||(this.Qb&&this.mb[b]?(v.uc(b,_,this.mb[b]),this.mb[b]=null,--this.Qb):I.I[b]||v.uc(b,_,I.J?{da:_}:v.$c(_)),_.Ja&&_.gd())}var m=typeof s<"u"?s:{};m.b=function(_,b){for(var v=_.split("."),I=m,B=0;B<v.length-1;B++)I=I[v[B]];I[v[v.length-1]]=b},m.L=function(_,b,v){_[b]=v},m.version="3.5.1",m.b("version",m.version),m.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},m.a=function(){function _(W,K){for(var J in W)B.call(W,J)&&K(J,W[J])}function b(W,K){if(K)for(var J in K)B.call(K,J)&&(W[J]=K[J]);return W}function v(W,K){return W.__proto__=K,W}function I(W,K,J,_e){var xe=W[K].match(j)||[];m.a.D(J.match(j),function(re){m.a.Na(xe,re,_e)}),W[K]=xe.join(" ")}var B=Object.prototype.hasOwnProperty,F={__proto__:[]}instanceof Array,k=typeof Symbol=="function",U={},G={};U[i&&/Firefox\/2/i.test(i.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],U.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),_(U,function(W,K){if(K.length)for(var J=0,_e=K.length;J<_e;J++)G[K[J]]=W});var V={propertychange:!0},X=n&&function(){for(var W=3,K=n.createElement("div"),J=K.getElementsByTagName("i");K.innerHTML="<!--[if gt IE "+ ++W+"]><i></i><![endif]-->",J[0];);return 4<W?W:e}(),j=/\S+/g,Q;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(W,K,J){for(var _e=0,xe=W.length;_e<xe;_e++)K.call(J,W[_e],_e,W)},A:typeof Array.prototype.indexOf=="function"?function(W,K){return Array.prototype.indexOf.call(W,K)}:function(W,K){for(var J=0,_e=W.length;J<_e;J++)if(W[J]===K)return J;return-1},Lb:function(W,K,J){for(var _e=0,xe=W.length;_e<xe;_e++)if(K.call(J,W[_e],_e,W))return W[_e];return e},Pa:function(W,K){var J=m.a.A(W,K);0<J?W.splice(J,1):J===0&&W.shift()},wc:function(W){var K=[];return W&&m.a.D(W,function(J){0>m.a.A(K,J)&&K.push(J)}),K},Mb:function(W,K,J){var _e=[];if(W)for(var xe=0,re=W.length;xe<re;xe++)_e.push(K.call(J,W[xe],xe));return _e},jb:function(W,K,J){var _e=[];if(W)for(var xe=0,re=W.length;xe<re;xe++)K.call(J,W[xe],xe)&&_e.push(W[xe]);return _e},Nb:function(W,K){if(K instanceof Array)W.push.apply(W,K);else for(var J=0,_e=K.length;J<_e;J++)W.push(K[J]);return W},Na:function(W,K,J){var _e=m.a.A(m.a.bc(W),K);0>_e?J&&W.push(K):J||W.splice(_e,1)},Ba:F,extend:b,setPrototypeOf:v,Ab:F?v:b,P:_,Ga:function(W,K,J){if(!W)return W;var _e={},xe;for(xe in W)B.call(W,xe)&&(_e[xe]=K.call(J,W[xe],xe,W));return _e},Tb:function(W){for(;W.firstChild;)m.removeNode(W.firstChild)},Yb:function(W){W=m.a.la(W);for(var K=(W[0]&&W[0].ownerDocument||n).createElement("div"),J=0,_e=W.length;J<_e;J++)K.appendChild(m.oa(W[J]));return K},Ca:function(W,K){for(var J=0,_e=W.length,xe=[];J<_e;J++){var re=W[J].cloneNode(!0);xe.push(K?m.oa(re):re)}return xe},va:function(W,K){if(m.a.Tb(W),K)for(var J=0,_e=K.length;J<_e;J++)W.appendChild(K[J])},Xc:function(W,K){var J=W.nodeType?[W]:W;if(0<J.length){for(var _e=J[0],xe=_e.parentNode,re=0,ye=K.length;re<ye;re++)xe.insertBefore(K[re],_e);for(re=0,ye=J.length;re<ye;re++)m.removeNode(J[re])}},Ua:function(W,K){if(W.length){for(K=K.nodeType===8&&K.parentNode||K;W.length&&W[0].parentNode!==K;)W.splice(0,1);for(;1<W.length&&W[W.length-1].parentNode!==K;)W.length--;if(1<W.length){var J=W[0],_e=W[W.length-1];for(W.length=0;J!==_e;)W.push(J),J=J.nextSibling;W.push(_e)}}return W},Zc:function(W,K){7>X?W.setAttribute("selected",K):W.selected=K},Db:function(W){return W===null||W===e?"":W.trim?W.trim():W.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(W,K){return W=W||"",K.length>W.length?!1:W.substring(0,K.length)===K},vd:function(W,K){if(W===K)return!0;if(W.nodeType===11)return!1;if(K.contains)return K.contains(W.nodeType!==1?W.parentNode:W);if(K.compareDocumentPosition)return(K.compareDocumentPosition(W)&16)==16;for(;W&&W!=K;)W=W.parentNode;return!!W},Sb:function(W){return m.a.vd(W,W.ownerDocument.documentElement)},kd:function(W){return!!m.a.Lb(W,m.a.Sb)},R:function(W){return W&&W.tagName&&W.tagName.toLowerCase()},Ac:function(W){return m.onError?function(){try{return W.apply(this,arguments)}catch(K){throw m.onError&&m.onError(K),K}}:W},setTimeout:function(W,K){return setTimeout(m.a.Ac(W),K)},Gc:function(W){setTimeout(function(){throw m.onError&&m.onError(W),W},0)},B:function(W,K,J){var _e=m.a.Ac(J);if(J=V[K],m.options.useOnlyNativeEvents||J||!o)if(J||typeof W.addEventListener!="function")if(typeof W.attachEvent<"u"){var xe=function(ye){_e.call(W,ye)},re="on"+K;W.attachEvent(re,xe),m.a.K.za(W,function(){W.detachEvent(re,xe)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else W.addEventListener(K,_e,!1);else Q||(Q=typeof o(W).on=="function"?"on":"bind"),o(W)[Q](K,_e)},Fb:function(W,K){if(!W||!W.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var J;if(m.a.R(W)==="input"&&W.type&&K.toLowerCase()=="click"?(J=W.type,J=J=="checkbox"||J=="radio"):J=!1,m.options.useOnlyNativeEvents||!o||J)if(typeof n.createEvent=="function")if(typeof W.dispatchEvent=="function")J=n.createEvent(G[K]||"HTMLEvents"),J.initEvent(K,!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,W),W.dispatchEvent(J);else throw Error("The supplied element doesn't support dispatchEvent");else if(J&&W.click)W.click();else if(typeof W.fireEvent<"u")W.fireEvent("on"+K);else throw Error("Browser doesn't support triggering events");else o(W).trigger(K)},f:function(W){return m.O(W)?W():W},bc:function(W){return m.O(W)?W.v():W},Eb:function(W,K,J){var _e;K&&(typeof W.classList=="object"?(_e=W.classList[J?"add":"remove"],m.a.D(K.match(j),function(xe){_e.call(W.classList,xe)})):typeof W.className.baseVal=="string"?I(W.className,"baseVal",K,J):I(W,"className",K,J))},Bb:function(W,K){var J=m.a.f(K);(J===null||J===e)&&(J="");var _e=m.h.firstChild(W);!_e||_e.nodeType!=3||m.h.nextSibling(_e)?m.h.va(W,[W.ownerDocument.createTextNode(J)]):_e.data=J,m.a.Ad(W)},Yc:function(W,K){if(W.name=K,7>=X)try{var J=W.name.replace(/[&<>'"]/g,function(_e){return"&#"+_e.charCodeAt(0)+";"});W.mergeAttributes(n.createElement("<input name='"+J+"'/>"),!1)}catch{}},Ad:function(W){9<=X&&(W=W.nodeType==1?W:W.parentNode,W.style&&(W.style.zoom=W.style.zoom))},wd:function(W){if(X){var K=W.style.width;W.style.width=0,W.style.width=K}},Pd:function(W,K){W=m.a.f(W),K=m.a.f(K);for(var J=[],_e=W;_e<=K;_e++)J.push(_e);return J},la:function(W){for(var K=[],J=0,_e=W.length;J<_e;J++)K.push(W[J]);return K},Da:function(W){return k?Symbol(W):W},Zd:X===6,$d:X===7,W:X,Lc:function(W,K){for(var J=m.a.la(W.getElementsByTagName("input")).concat(m.a.la(W.getElementsByTagName("textarea"))),_e=typeof K=="string"?function(ye){return ye.name===K}:function(ye){return K.test(ye.name)},xe=[],re=J.length-1;0<=re;re--)_e(J[re])&&xe.push(J[re]);return xe},Nd:function(W){return typeof W=="string"&&(W=m.a.Db(W))?r&&r.parse?r.parse(W):new Function("return "+W)():null},hc:function(W,K,J){if(!r||!r.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return r.stringify(m.a.f(W),K,J)},Od:function(W,K,J){J=J||{};var _e=J.params||{},xe=J.includeFields||this.Jc,re=W;if(typeof W=="object"&&m.a.R(W)==="form")for(var re=W.action,ye=xe.length-1;0<=ye;ye--)for(var fe=m.a.Lc(W,xe[ye]),Se=fe.length-1;0<=Se;Se--)_e[fe[Se].name]=fe[Se].value;K=m.a.f(K);var we=n.createElement("form");we.style.display="none",we.action=re,we.method="post";for(var Ve in K)W=n.createElement("input"),W.type="hidden",W.name=Ve,W.value=m.a.hc(m.a.f(K[Ve])),we.appendChild(W);_(_e,function(qe,mt){var Ht=n.createElement("input");Ht.type="hidden",Ht.name=qe,Ht.value=mt,we.appendChild(Ht)}),n.body.appendChild(we),J.submitter?J.submitter(we):we.submit(),setTimeout(function(){we.parentNode.removeChild(we)},0)}}}(),m.b("utils",m.a),m.b("utils.arrayForEach",m.a.D),m.b("utils.arrayFirst",m.a.Lb),m.b("utils.arrayFilter",m.a.jb),m.b("utils.arrayGetDistinctValues",m.a.wc),m.b("utils.arrayIndexOf",m.a.A),m.b("utils.arrayMap",m.a.Mb),m.b("utils.arrayPushAll",m.a.Nb),m.b("utils.arrayRemoveItem",m.a.Pa),m.b("utils.cloneNodes",m.a.Ca),m.b("utils.createSymbolOrString",m.a.Da),m.b("utils.extend",m.a.extend),m.b("utils.fieldsIncludedWithJsonPost",m.a.Jc),m.b("utils.getFormFields",m.a.Lc),m.b("utils.objectMap",m.a.Ga),m.b("utils.peekObservable",m.a.bc),m.b("utils.postJson",m.a.Od),m.b("utils.parseJson",m.a.Nd),m.b("utils.registerEventHandler",m.a.B),m.b("utils.stringifyJson",m.a.hc),m.b("utils.range",m.a.Pd),m.b("utils.toggleDomNodeCssClass",m.a.Eb),m.b("utils.triggerEvent",m.a.Fb),m.b("utils.unwrapObservable",m.a.f),m.b("utils.objectForEach",m.a.P),m.b("utils.addOrRemoveItem",m.a.Na),m.b("utils.setTextContent",m.a.Bb),m.b("unwrap",m.a.f),Function.prototype.bind||(Function.prototype.bind=function(_){var b=this;if(arguments.length===1)return function(){return b.apply(_,arguments)};var v=Array.prototype.slice.call(arguments,1);return function(){var I=v.slice(0);return I.push.apply(I,arguments),b.apply(_,I)}}),m.a.g=new function(){var _=0,b="__ko__"+new Date().getTime(),v={},I,B;return m.a.W?(I=function(F,k){var U=F[b];if(!U||U==="null"||!v[U]){if(!k)return e;U=F[b]="ko"+_++,v[U]={}}return v[U]},B=function(F){var k=F[b];return k?(delete v[k],F[b]=null,!0):!1}):(I=function(F,k){var U=F[b];return!U&&k&&(U=F[b]={}),U},B=function(F){return F[b]?(delete F[b],!0):!1}),{get:function(F,k){var U=I(F,!1);return U&&U[k]},set:function(F,k,U){(F=I(F,U!==e))&&(F[k]=U)},Ub:function(F,k,U){return F=I(F,!0),F[k]||(F[k]=U)},clear:B,Z:function(){return _+++b}}},m.b("utils.domData",m.a.g),m.b("utils.domData.clear",m.a.g.clear),m.a.K=new function(){function _(k,U){var G=m.a.g.get(k,I);return G===e&&U&&(G=[],m.a.g.set(k,I,G)),G}function b(k){var U=_(k,!1);if(U)for(var U=U.slice(0),G=0;G<U.length;G++)U[G](k);m.a.g.clear(k),m.a.K.cleanExternalData(k),F[k.nodeType]&&v(k.childNodes,!0)}function v(k,U){for(var G=[],V,X=0;X<k.length;X++)if((!U||k[X].nodeType===8)&&(b(G[G.length]=V=k[X]),k[X]!==V))for(;X--&&m.a.A(G,k[X])==-1;);}var I=m.a.g.Z(),B={1:!0,8:!0,9:!0},F={1:!0,9:!0};return{za:function(k,U){if(typeof U!="function")throw Error("Callback must be a function");_(k,!0).push(U)},yb:function(k,U){var G=_(k,!1);G&&(m.a.Pa(G,U),G.length==0&&m.a.g.set(k,I,e))},oa:function(k){return m.u.G(function(){B[k.nodeType]&&(b(k),F[k.nodeType]&&v(k.getElementsByTagName("*")))}),k},removeNode:function(k){m.oa(k),k.parentNode&&k.parentNode.removeChild(k)},cleanExternalData:function(k){o&&typeof o.cleanData=="function"&&o.cleanData([k])}}},m.oa=m.a.K.oa,m.removeNode=m.a.K.removeNode,m.b("cleanNode",m.oa),m.b("removeNode",m.removeNode),m.b("utils.domNodeDisposal",m.a.K),m.b("utils.domNodeDisposal.addDisposeCallback",m.a.K.za),m.b("utils.domNodeDisposal.removeDisposeCallback",m.a.K.yb),function(){var _=[0,"",""],b=[1,"<table>","</table>"],v=[3,"<table><tbody><tr>","</tr></tbody></table>"],I=[1,"<select multiple='multiple'>","</select>"],B={thead:b,tbody:b,tfoot:b,tr:[2,"<table><tbody>","</tbody></table>"],td:v,th:v,option:I,optgroup:I},F=8>=m.a.W;m.a.ua=function(k,U){var G;if(o){if(o.parseHTML)G=o.parseHTML(k,U)||[];else if((G=o.clean([k],U))&&G[0]){for(var V=G[0];V.parentNode&&V.parentNode.nodeType!==11;)V=V.parentNode;V.parentNode&&V.parentNode.removeChild(V)}}else{(G=U)||(G=n);var V=G.parentWindow||G.defaultView||t,X=m.a.Db(k).toLowerCase(),j=G.createElement("div"),Q;for(Q=(X=X.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&B[X[1]]||_,X=Q[0],Q="ignored<div>"+Q[1]+k+Q[2]+"</div>",typeof V.innerShiv=="function"?j.appendChild(V.innerShiv(Q)):(F&&G.body.appendChild(j),j.innerHTML=Q,F&&j.parentNode.removeChild(j));X--;)j=j.lastChild;G=m.a.la(j.lastChild.childNodes)}return G},m.a.Md=function(k,U){var G=m.a.ua(k,U);return G.length&&G[0].parentElement||m.a.Yb(G)},m.a.fc=function(k,U){if(m.a.Tb(k),U=m.a.f(U),U!==null&&U!==e)if(typeof U!="string"&&(U=U.toString()),o)o(k).html(U);else for(var G=m.a.ua(U,k.ownerDocument),V=0;V<G.length;V++)k.appendChild(G[V])}}(),m.b("utils.parseHtmlFragment",m.a.ua),m.b("utils.setHtml",m.a.fc),m.aa=function(){function _(v,I){if(v){if(v.nodeType==8){var B=m.aa.Uc(v.nodeValue);B!=null&&I.push({ud:v,Kd:B})}else if(v.nodeType==1)for(var B=0,F=v.childNodes,k=F.length;B<k;B++)_(F[B],I)}}var b={};return{Xb:function(v){if(typeof v!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var I=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return b[I]=v,"<!--[ko_memo:"+I+"]-->"},bd:function(v,I){var B=b[v];if(B===e)throw Error("Couldn't find any memo with ID "+v+". Perhaps it's already been unmemoized.");try{return B.apply(null,I||[]),!0}finally{delete b[v]}},cd:function(v,I){var B=[];_(v,B);for(var F=0,k=B.length;F<k;F++){var U=B[F].ud,G=[U];I&&m.a.Nb(G,I),m.aa.bd(B[F].Kd,G),U.nodeValue="",U.parentNode&&U.parentNode.removeChild(U)}},Uc:function(v){return(v=v.match(/^\[ko_memo\:(.*?)\]$/))?v[1]:null}}}(),m.b("memoization",m.aa),m.b("memoization.memoize",m.aa.Xb),m.b("memoization.unmemoize",m.aa.bd),m.b("memoization.parseMemoText",m.aa.Uc),m.b("memoization.unmemoizeDomNodeAndDescendants",m.aa.cd),m.na=function(){function _(){if(B){for(var U=B,G=0,V;k<B;)if(V=I[k++]){if(k>U){if(5e3<=++G){k=B,m.a.Gc(Error("'Too much recursion' after processing "+G+" task groups."));break}U=B}try{V()}catch(X){m.a.Gc(X)}}}}function b(){_(),k=B=I.length=0}var v,I=[],B=0,F=1,k=0;return t.MutationObserver?v=function(U){var G=n.createElement("div");return new MutationObserver(U).observe(G,{attributes:!0}),function(){G.classList.toggle("foo")}}(b):v=n&&"onreadystatechange"in n.createElement("script")?function(U){var G=n.createElement("script");G.onreadystatechange=function(){G.onreadystatechange=null,n.documentElement.removeChild(G),G=null,U()},n.documentElement.appendChild(G)}:function(U){setTimeout(U,0)},{scheduler:v,zb:function(U){return B||m.na.scheduler(b),I[B++]=U,F++},cancel:function(U){U=U-(F-B),U>=k&&U<B&&(I[U]=null)},resetForTesting:function(){var U=B-k;return k=B=I.length=0,U},Sd:_}}(),m.b("tasks",m.na),m.b("tasks.schedule",m.na.zb),m.b("tasks.runEarly",m.na.Sd),m.Ta={throttle:function(_,b){_.throttleEvaluation=b;var v=null;return m.$({read:_,write:function(I){clearTimeout(v),v=m.a.setTimeout(function(){_(I)},b)}})},rateLimit:function(_,b){var v,I,B;typeof b=="number"?v=b:(v=b.timeout,I=b.method),_.Hb=!1,B=typeof I=="function"?I:I=="notifyWhenChangesStop"?f:l,_.ub(function(F){return B(F,v,b)})},deferred:function(_,b){if(b!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");_.Hb||(_.Hb=!0,_.ub(function(v){var I,B=!1;return function(){if(!B){m.na.cancel(I),I=m.na.zb(v);try{B=!0,_.notifySubscribers(e,"dirty")}finally{B=!1}}}}))},notify:function(_,b){_.equalityComparer=b=="always"?null:c}};var A={undefined:1,boolean:1,number:1,string:1};m.b("extenders",m.Ta),m.ic=function(_,b,v){this.da=_,this.lc=b,this.mc=v,this.Ib=!1,this.fb=this.Jb=null,m.L(this,"dispose",this.s),m.L(this,"disposeWhenNodeIsRemoved",this.l)},m.ic.prototype.s=function(){this.Ib||(this.fb&&m.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},m.ic.prototype.l=function(_){this.Jb=_,m.a.K.za(_,this.fb=this.s.bind(this))},m.T=function(){m.a.Ab(this,x),x.qb(this)};var x={qb:function(_){_.U={change:[]},_.sc=1},subscribe:function(_,b,v){var I=this;v=v||"change";var B=new m.ic(I,b?_.bind(b):_,function(){m.a.Pa(I.U[v],B),I.hb&&I.hb(v)});return I.Qa&&I.Qa(v),I.U[v]||(I.U[v]=[]),I.U[v].push(B),B},notifySubscribers:function(_,b){if(b=b||"change",b==="change"&&this.Gb(),this.Wa(b)){var v=b==="change"&&this.ed||this.U[b].slice(0);try{m.u.xc();for(var I=0,B;B=v[I];++I)B.Ib||B.lc(_)}finally{m.u.end()}}},ob:function(){return this.sc},Dd:function(_){return this.ob()!==_},Gb:function(){++this.sc},ub:function(_){var b=this,v=m.O(b),I,B,F,k,U;b.gb||(b.gb=b.notifySubscribers,b.notifySubscribers=d);var G=_(function(){b.Ja=!1,v&&k===b&&(k=b.nc?b.nc():b());var V=B||U&&b.sb(F,k);U=B=I=!1,V&&b.gb(F=k)});b.qc=function(V,X){X&&b.Ja||(U=!X),b.ed=b.U.change.slice(0),b.Ja=I=!0,k=V,G()},b.pc=function(V){I||(F=V,b.gb(V,"beforeChange"))},b.rc=function(){U=!0},b.gd=function(){b.sb(F,b.v(!0))&&(B=!0)}},Wa:function(_){return this.U[_]&&this.U[_].length},Bd:function(_){if(_)return this.U[_]&&this.U[_].length||0;var b=0;return m.a.P(this.U,function(v,I){v!=="dirty"&&(b+=I.length)}),b},sb:function(_,b){return!this.equalityComparer||!this.equalityComparer(_,b)},toString:function(){return"[object Object]"},extend:function(_){var b=this;return _&&m.a.P(_,function(v,I){var B=m.Ta[v];typeof B=="function"&&(b=B(b,I)||b)}),b}};m.L(x,"init",x.qb),m.L(x,"subscribe",x.subscribe),m.L(x,"extend",x.extend),m.L(x,"getSubscriptionsCount",x.Bd),m.a.Ba&&m.a.setPrototypeOf(x,Function.prototype),m.T.fn=x,m.Qc=function(_){return _!=null&&typeof _.subscribe=="function"&&typeof _.notifySubscribers=="function"},m.b("subscribable",m.T),m.b("isSubscribable",m.Qc),m.S=m.u=function(){function _(F){v.push(I),I=F}function b(){I=v.pop()}var v=[],I,B=0;return{xc:_,end:b,cc:function(F){if(I){if(!m.Qc(F))throw Error("Only subscribable things can act as dependencies");I.od.call(I.pd,F,F.fd||(F.fd=++B))}},G:function(F,k,U){try{return _(),F.apply(k,U||[])}finally{b()}},qa:function(){if(I)return I.o.qa()},Va:function(){if(I)return I.o.Va()},Ya:function(){if(I)return I.Ya},o:function(){if(I)return I.o}}}(),m.b("computedContext",m.S),m.b("computedContext.getDependenciesCount",m.S.qa),m.b("computedContext.getDependencies",m.S.Va),m.b("computedContext.isInitial",m.S.Ya),m.b("computedContext.registerDependency",m.S.cc),m.b("ignoreDependencies",m.Yd=m.u.G);var C=m.a.Da("_latestValue");m.ta=function(_){function b(){return 0<arguments.length?(b.sb(b[C],arguments[0])&&(b.ya(),b[C]=arguments[0],b.xa()),this):(m.u.cc(b),b[C])}return b[C]=_,m.a.Ba||m.a.extend(b,m.T.fn),m.T.fn.qb(b),m.a.Ab(b,T),m.options.deferUpdates&&m.Ta.deferred(b,!0),b};var T={equalityComparer:c,v:function(){return this[C]},xa:function(){this.notifySubscribers(this[C],"spectate"),this.notifySubscribers(this[C])},ya:function(){this.notifySubscribers(this[C],"beforeChange")}};m.a.Ba&&m.a.setPrototypeOf(T,m.T.fn);var E=m.ta.Ma="__ko_proto__";T[E]=m.ta,m.O=function(_){if((_=typeof _=="function"&&_[E])&&_!==T[E]&&_!==m.o.fn[E])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!_},m.Za=function(_){return typeof _=="function"&&(_[E]===T[E]||_[E]===m.o.fn[E]&&_.Nc)},m.b("observable",m.ta),m.b("isObservable",m.O),m.b("isWriteableObservable",m.Za),m.b("isWritableObservable",m.Za),m.b("observable.fn",T),m.L(T,"peek",T.v),m.L(T,"valueHasMutated",T.xa),m.L(T,"valueWillMutate",T.ya),m.Ha=function(_){if(_=_||[],typeof _!="object"||!("length"in _))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return _=m.ta(_),m.a.Ab(_,m.Ha.fn),_.extend({trackArrayChanges:!0})},m.Ha.fn={remove:function(_){for(var b=this.v(),v=[],I=typeof _!="function"||m.O(_)?function(k){return k===_}:_,B=0;B<b.length;B++){var F=b[B];if(I(F)){if(v.length===0&&this.ya(),b[B]!==F)throw Error("Array modified during remove; cannot remove item");v.push(F),b.splice(B,1),B--}}return v.length&&this.xa(),v},removeAll:function(_){if(_===e){var b=this.v(),v=b.slice(0);return this.ya(),b.splice(0,b.length),this.xa(),v}return _?this.remove(function(I){return 0<=m.a.A(_,I)}):[]},destroy:function(_){var b=this.v(),v=typeof _!="function"||m.O(_)?function(F){return F===_}:_;this.ya();for(var I=b.length-1;0<=I;I--){var B=b[I];v(B)&&(B._destroy=!0)}this.xa()},destroyAll:function(_){return _===e?this.destroy(function(){return!0}):_?this.destroy(function(b){return 0<=m.a.A(_,b)}):[]},indexOf:function(_){var b=this();return m.a.A(b,_)},replace:function(_,b){var v=this.indexOf(_);0<=v&&(this.ya(),this.v()[v]=b,this.xa())},sorted:function(_){var b=this().slice(0);return _?b.sort(_):b.sort()},reversed:function(){return this().slice(0).reverse()}},m.a.Ba&&m.a.setPrototypeOf(m.Ha.fn,m.ta.fn),m.a.D("pop push reverse shift sort splice unshift".split(" "),function(_){m.Ha.fn[_]=function(){var b=this.v();this.ya(),this.zc(b,_,arguments);var v=b[_].apply(b,arguments);return this.xa(),v===b?this:v}}),m.a.D(["slice"],function(_){m.Ha.fn[_]=function(){var b=this();return b[_].apply(b,arguments)}}),m.Pc=function(_){return m.O(_)&&typeof _.remove=="function"&&typeof _.push=="function"},m.b("observableArray",m.Ha),m.b("isObservableArray",m.Pc),m.Ta.trackArrayChanges=function(_,b){function v(){function j(){if(U){var Q=[].concat(_.v()||[]),W;_.Wa("arrayChange")&&((!B||1<U)&&(B=m.a.Pb(G,Q,_.Ob)),W=B),G=Q,B=null,U=0,W&&W.length&&_.notifySubscribers(W,"arrayChange")}}I?j():(I=!0,k=_.subscribe(function(){++U},null,"spectate"),G=[].concat(_.v()||[]),B=null,F=_.subscribe(j))}if(_.Ob={},b&&typeof b=="object"&&m.a.extend(_.Ob,b),_.Ob.sparse=!0,!_.zc){var I=!1,B=null,F,k,U=0,G,V=_.Qa,X=_.hb;_.Qa=function(j){V&&V.call(_,j),j==="arrayChange"&&v()},_.hb=function(j){X&&X.call(_,j),j!=="arrayChange"||_.Wa("arrayChange")||(F&&F.s(),k&&k.s(),k=F=null,I=!1,G=e)},_.zc=function(j,Q,W){function K(we,Ve,qe){return J[J.length]={status:we,value:Ve,index:qe}}if(I&&!U){var J=[],_e=j.length,xe=W.length,re=0;switch(Q){case"push":re=_e;case"unshift":for(Q=0;Q<xe;Q++)K("added",W[Q],re+Q);break;case"pop":re=_e-1;case"shift":_e&&K("deleted",j[re],re);break;case"splice":Q=Math.min(Math.max(0,0>W[0]?_e+W[0]:W[0]),_e);for(var _e=xe===1?_e:Math.min(Q+(W[1]||0),_e),xe=Q+xe-2,re=Math.max(_e,xe),ye=[],fe=[],Se=2;Q<re;++Q,++Se)Q<_e&&fe.push(K("deleted",j[Q],Q)),Q<xe&&ye.push(K("added",W[Se],Q));m.a.Kc(fe,ye);break;default:return}B=J}}}};var S=m.a.Da("_state");m.o=m.$=function(_,b,v){function I(){if(0<arguments.length){if(typeof B=="function")B.apply(F.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return F.ra||m.u.cc(I),(F.ka||F.J&&I.Xa())&&I.ha(),F.X}if(typeof _=="object"?v=_:(v=v||{},_&&(v.read=_)),typeof v.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var B=v.write,F={X:e,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:v.read,nb:b||v.owner,l:v.disposeWhenNodeIsRemoved||v.l||null,Sa:v.disposeWhen||v.Sa,Rb:null,I:{},V:0,Ic:null};return I[S]=F,I.Nc=typeof B=="function",m.a.Ba||m.a.extend(I,m.T.fn),m.T.fn.qb(I),m.a.Ab(I,D),v.pure?(F.wb=!0,F.J=!0,m.a.extend(I,w)):v.deferEvaluation&&m.a.extend(I,R),m.options.deferUpdates&&m.Ta.deferred(I,!0),F.l&&(F.jc=!0,F.l.nodeType||(F.l=null)),F.J||v.deferEvaluation||I.ha(),F.l&&I.ja()&&m.a.K.za(F.l,F.Rb=function(){I.s()}),I};var D={equalityComparer:c,qa:function(){return this[S].V},Va:function(){var _=[];return m.a.P(this[S].I,function(b,v){_[v.Ka]=v.da}),_},Vb:function(_){if(!this[S].V)return!1;var b=this.Va();return m.a.A(b,_)!==-1?!0:!!m.a.Lb(b,function(v){return v.Vb&&v.Vb(_)})},uc:function(_,b,v){if(this[S].wb&&b===this)throw Error("A 'pure' computed must not be called recursively");this[S].I[_]=v,v.Ka=this[S].V++,v.La=b.ob()},Xa:function(){var _,b,v=this[S].I;for(_ in v)if(Object.prototype.hasOwnProperty.call(v,_)&&(b=v[_],this.Ia&&b.da.Ja||b.da.Dd(b.La)))return!0},Jd:function(){this.Ia&&!this[S].rb&&this.Ia(!1)},ja:function(){var _=this[S];return _.ka||0<_.V},Rd:function(){this.Ja?this[S].ka&&(this[S].sa=!0):this.Hc()},$c:function(_){if(_.Hb){var b=_.subscribe(this.Jd,this,"dirty"),v=_.subscribe(this.Rd,this);return{da:_,s:function(){b.s(),v.s()}}}return _.subscribe(this.Hc,this)},Hc:function(){var _=this,b=_.throttleEvaluation;b&&0<=b?(clearTimeout(this[S].Ic),this[S].Ic=m.a.setTimeout(function(){_.ha(!0)},b)):_.Ia?_.Ia(!0):_.ha(!0)},ha:function(_){var b=this[S],v=b.Sa,I=!1;if(!b.rb&&!b.ra){if(b.l&&!m.a.Sb(b.l)||v&&v()){if(!b.jc){this.s();return}}else b.jc=!1;b.rb=!0;try{I=this.zd(_)}finally{b.rb=!1}return I}},zd:function(_){var b=this[S],I=!1,v=b.wb?e:!b.V,I={qd:this,mb:b.I,Qb:b.V};m.u.xc({pd:I,od:g,o:this,Ya:v}),b.I={},b.V=0;var B=this.yd(b,I);return b.V?I=this.sb(b.X,B):(this.s(),I=!0),I&&(b.J?this.Gb():this.notifySubscribers(b.X,"beforeChange"),b.X=B,this.notifySubscribers(b.X,"spectate"),!b.J&&_&&this.notifySubscribers(b.X),this.rc&&this.rc()),v&&this.notifySubscribers(b.X,"awake"),I},yd:function(_,b){try{var v=_.Wc;return _.nb?v.call(_.nb):v()}finally{m.u.end(),b.Qb&&!_.J&&m.a.P(b.mb,p),_.sa=_.ka=!1}},v:function(_){var b=this[S];return(b.ka&&(_||!b.V)||b.J&&this.Xa())&&this.ha(),b.X},ub:function(_){m.T.fn.ub.call(this,_),this.nc=function(){return this[S].J||(this[S].sa?this.ha():this[S].ka=!1),this[S].X},this.Ia=function(b){this.pc(this[S].X),this[S].ka=!0,b&&(this[S].sa=!0),this.qc(this,!b)}},s:function(){var _=this[S];!_.J&&_.I&&m.a.P(_.I,function(b,v){v.s&&v.s()}),_.l&&_.Rb&&m.a.K.yb(_.l,_.Rb),_.I=e,_.V=0,_.ra=!0,_.sa=!1,_.ka=!1,_.J=!1,_.l=e,_.Sa=e,_.Wc=e,this.Nc||(_.nb=e)}},w={Qa:function(_){var b=this,v=b[S];if(!v.ra&&v.J&&_=="change"){if(v.J=!1,v.sa||b.Xa())v.I=null,v.V=0,b.ha()&&b.Gb();else{var I=[];m.a.P(v.I,function(B,F){I[F.Ka]=B}),m.a.D(I,function(B,F){var k=v.I[B],U=b.$c(k.da);U.Ka=F,U.La=k.La,v.I[B]=U}),b.Xa()&&b.ha()&&b.Gb()}v.ra||b.notifySubscribers(v.X,"awake")}},hb:function(_){var b=this[S];b.ra||_!="change"||this.Wa("change")||(m.a.P(b.I,function(v,I){I.s&&(b.I[v]={da:I.da,Ka:I.Ka,La:I.La},I.s())}),b.J=!0,this.notifySubscribers(e,"asleep"))},ob:function(){var _=this[S];return _.J&&(_.sa||this.Xa())&&this.ha(),m.T.fn.ob.call(this)}},R={Qa:function(_){_!="change"&&_!="beforeChange"||this.v()}};m.a.Ba&&m.a.setPrototypeOf(D,m.T.fn);var O=m.ta.Ma;D[O]=m.o,m.Oc=function(_){return typeof _=="function"&&_[O]===D[O]},m.Fd=function(_){return m.Oc(_)&&_[S]&&_[S].wb},m.b("computed",m.o),m.b("dependentObservable",m.o),m.b("isComputed",m.Oc),m.b("isPureComputed",m.Fd),m.b("computed.fn",D),m.L(D,"peek",D.v),m.L(D,"dispose",D.s),m.L(D,"isActive",D.ja),m.L(D,"getDependenciesCount",D.qa),m.L(D,"getDependencies",D.Va),m.xb=function(_,b){return typeof _=="function"?m.o(_,b,{pure:!0}):(_=m.a.extend({},_),_.pure=!0,m.o(_,b))},m.b("pureComputed",m.xb),function(){function _(I,B,F){if(F=F||new v,I=B(I),typeof I!="object"||I===null||I===e||I instanceof RegExp||I instanceof Date||I instanceof String||I instanceof Number||I instanceof Boolean)return I;var k=I instanceof Array?[]:{};return F.save(I,k),b(I,function(U){var G=B(I[U]);switch(typeof G){case"boolean":case"number":case"string":case"function":k[U]=G;break;case"object":case"undefined":var V=F.get(G);k[U]=V!==e?V:_(G,B,F)}}),k}function b(I,B){if(I instanceof Array){for(var F=0;F<I.length;F++)B(F);typeof I.toJSON=="function"&&B("toJSON")}else for(F in I)B(F)}function v(){this.keys=[],this.values=[]}m.ad=function(I){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return _(I,function(B){for(var F=0;m.O(B)&&10>F;F++)B=B();return B})},m.toJSON=function(I,B,F){return I=m.ad(I),m.a.hc(I,B,F)},v.prototype={constructor:v,save:function(I,B){var F=m.a.A(this.keys,I);0<=F?this.values[F]=B:(this.keys.push(I),this.values.push(B))},get:function(I){return I=m.a.A(this.keys,I),0<=I?this.values[I]:e}}}(),m.b("toJS",m.ad),m.b("toJSON",m.toJSON),m.Wd=function(_,b,v){function I(B){var F=m.xb(_,v).extend({ma:"always"}),k=F.subscribe(function(U){U&&(k.s(),B(U))});return F.notifySubscribers(F.v()),k}return typeof Promise!="function"||b?I(b.bind(v)):new Promise(I)},m.b("when",m.Wd),function(){m.w={M:function(_){switch(m.a.R(_)){case"option":return _.__ko__hasDomDataOptionValue__===!0?m.a.g.get(_,m.c.options.$b):7>=m.a.W?_.getAttributeNode("value")&&_.getAttributeNode("value").specified?_.value:_.text:_.value;case"select":return 0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex]):e;default:return _.value}},cb:function(_,b,v){switch(m.a.R(_)){case"option":typeof b=="string"?(m.a.g.set(_,m.c.options.$b,e),"__ko__hasDomDataOptionValue__"in _&&delete _.__ko__hasDomDataOptionValue__,_.value=b):(m.a.g.set(_,m.c.options.$b,b),_.__ko__hasDomDataOptionValue__=!0,_.value=typeof b=="number"?b:"");break;case"select":(b===""||b===null)&&(b=e);for(var I=-1,B=0,F=_.options.length,k;B<F;++B)if(k=m.w.M(_.options[B]),k==b||k===""&&b===e){I=B;break}(v||0<=I||b===e&&1<_.size)&&(_.selectedIndex=I,m.a.W===6&&m.a.setTimeout(function(){_.selectedIndex=I},0));break;default:(b===null||b===e)&&(b=""),_.value=b}}}}(),m.b("selectExtensions",m.w),m.b("selectExtensions.readValue",m.w.M),m.b("selectExtensions.writeValue",m.w.cb),m.m=function(){function _(U){U=m.a.Db(U),U.charCodeAt(0)===123&&(U=U.slice(1,-1)),U+=` +,`;var G=[],V=U.match(I),X,j=[],Q=0;if(1<V.length){for(var W=0,K;K=V[W];++W){var J=K.charCodeAt(0);if(J===44){if(0>=Q){G.push(X&&j.length?{key:X,value:j.join("")}:{unknown:X||j.join("")}),X=Q=0,j=[];continue}}else if(J===58){if(!Q&&!X&&j.length===1){X=j.pop();continue}}else{if(J===47&&1<K.length&&(K.charCodeAt(1)===47||K.charCodeAt(1)===42))continue;J===47&&W&&1<K.length?(J=V[W-1].match(B))&&!F[J[0]]&&(U=U.substr(U.indexOf(K)+1),V=U.match(I),W=-1,K="/"):J===40||J===123||J===91?++Q:J===41||J===125||J===93?--Q:X||j.length||J!==34&&J!==39||(K=K.slice(1,-1))}j.push(K)}if(0<Q)throw Error("Unbalanced parentheses, braces, or brackets")}return G}var b=["true","false","null","undefined"],v=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,I=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.* +|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),B=/[\])"'A-Za-z0-9_$]+$/,F={in:1,return:1,typeof:1},k={};return{Ra:[],wa:k,ac:_,vb:function(U,G){function V(J,_e){var xe;if(!W){var re=m.getBindingHandler(J);if(re&&re.preprocess&&!(_e=re.preprocess(_e,J,V)))return;(re=k[J])&&(xe=_e,0<=m.a.A(b,xe)?xe=!1:(re=xe.match(v),xe=re===null?!1:re[1]?"Object("+re[1]+")"+re[2]:xe),re=xe),re&&j.push("'"+(typeof k[J]=="string"?k[J]:J)+"':function(_z){"+xe+"=_z}")}Q&&(_e="function(){return "+_e+" }"),X.push("'"+J+"':"+_e)}G=G||{};var X=[],j=[],Q=G.valueAccessors,W=G.bindingParams,K=typeof U=="string"?_(U):U;return m.a.D(K,function(J){V(J.key||J.unknown,J.value)}),j.length&&V("_ko_property_writers","{"+j.join(",")+" }"),X.join(",")},Id:function(U,G){for(var V=0;V<U.length;V++)if(U[V].key==G)return!0;return!1},eb:function(U,G,V,X,j){U&&m.O(U)?!m.Za(U)||j&&U.v()===X||U(X):(U=G.get("_ko_property_writers"))&&U[V]&&U[V](X)}}}(),m.b("expressionRewriting",m.m),m.b("expressionRewriting.bindingRewriteValidators",m.m.Ra),m.b("expressionRewriting.parseObjectLiteral",m.m.ac),m.b("expressionRewriting.preProcessBindings",m.m.vb),m.b("expressionRewriting._twoWayBindings",m.m.wa),m.b("jsonExpressionRewriting",m.m),m.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",m.m.vb),function(){function _(V){return V.nodeType==8&&F.test(B?V.text:V.nodeValue)}function b(V){return V.nodeType==8&&k.test(B?V.text:V.nodeValue)}function v(V,X){for(var j=V,Q=1,W=[];j=j.nextSibling;){if(b(j)&&(m.a.g.set(j,G,!0),Q--,Q===0))return W;W.push(j),_(j)&&Q++}if(!X)throw Error("Cannot find closing comment tag to match: "+V.nodeValue);return null}function I(V,X){var j=v(V,X);return j?0<j.length?j[j.length-1].nextSibling:V.nextSibling:null}var B=n&&n.createComment("test").text==="<!--test-->",F=B?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,k=B?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,U={ul:!0,ol:!0},G="__ko_matchedEndComment__";m.h={ea:{},childNodes:function(V){return _(V)?v(V):V.childNodes},Ea:function(V){if(_(V)){V=m.h.childNodes(V);for(var X=0,j=V.length;X<j;X++)m.removeNode(V[X])}else m.a.Tb(V)},va:function(V,X){if(_(V)){m.h.Ea(V);for(var j=V.nextSibling,Q=0,W=X.length;Q<W;Q++)j.parentNode.insertBefore(X[Q],j)}else m.a.va(V,X)},Vc:function(V,X){var j;_(V)?(j=V.nextSibling,V=V.parentNode):j=V.firstChild,j?X!==j&&V.insertBefore(X,j):V.appendChild(X)},Wb:function(V,X,j){j?(j=j.nextSibling,_(V)&&(V=V.parentNode),j?X!==j&&V.insertBefore(X,j):V.appendChild(X)):m.h.Vc(V,X)},firstChild:function(V){if(_(V))return!V.nextSibling||b(V.nextSibling)?null:V.nextSibling;if(V.firstChild&&b(V.firstChild))throw Error("Found invalid end comment, as the first child of "+V);return V.firstChild},nextSibling:function(V){if(_(V)&&(V=I(V)),V.nextSibling&&b(V.nextSibling)){var X=V.nextSibling;if(b(X)&&!m.a.g.get(X,G))throw Error("Found end comment without a matching opening comment, as child of "+V);return null}return V.nextSibling},Cd:_,Vd:function(V){return(V=(B?V.text:V.nodeValue).match(F))?V[1]:null},Sc:function(V){if(U[m.a.R(V)]){var X=V.firstChild;if(X)do if(X.nodeType===1){var j;j=X.firstChild;var Q=null;if(j)do if(Q)Q.push(j);else if(_(j)){var W=I(j,!0);W?j=W:Q=[j]}else b(j)&&(Q=[j]);while(j=j.nextSibling);if(j=Q)for(Q=X.nextSibling,W=0;W<j.length;W++)Q?V.insertBefore(j[W],Q):V.appendChild(j[W])}while(X=X.nextSibling)}}}}(),m.b("virtualElements",m.h),m.b("virtualElements.allowedBindings",m.h.ea),m.b("virtualElements.emptyNode",m.h.Ea),m.b("virtualElements.insertAfter",m.h.Wb),m.b("virtualElements.prepend",m.h.Vc),m.b("virtualElements.setDomNodeChildren",m.h.va),function(){m.ga=function(){this.nd={}},m.a.extend(m.ga.prototype,{nodeHasBindings:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind")!=null||m.j.getComponentNameForNode(_);case 8:return m.h.Cd(_);default:return!1}},getBindings:function(_,b){var v=this.getBindingsString(_,b),v=v?this.parseBindingsString(v,b,_):null;return m.j.tc(v,_,b,!1)},getBindingAccessors:function(_,b){var v=this.getBindingsString(_,b),v=v?this.parseBindingsString(v,b,_,{valueAccessors:!0}):null;return m.j.tc(v,_,b,!0)},getBindingsString:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind");case 8:return m.h.Vd(_);default:return null}},parseBindingsString:function(_,b,v,I){try{var B=this.nd,F=_+(I&&I.valueAccessors||""),k;if(!(k=B[F])){var U,G="with($context){with($data||{}){return{"+m.m.vb(_,I)+"}}}";U=new Function("$context","$element",G),k=B[F]=U}return k(b,v)}catch(V){throw V.message=`Unable to parse bindings. +Bindings value: `+_+` +Message: `+V.message,V}}}),m.ga.instance=new m.ga}(),m.b("bindingProvider",m.ga),function(){function _(re){var ye=(re=m.a.g.get(re,xe))&&re.N;ye&&(re.N=null,ye.Tc())}function b(re,ye,fe){this.node=re,this.yc=ye,this.kb=[],this.H=!1,ye.N||m.a.K.za(re,_),fe&&fe.N&&(fe.N.kb.push(re),this.Kb=fe)}function v(re){return function(){return re}}function I(re){return re()}function B(re){return m.a.Ga(m.u.G(re),function(ye,fe){return function(){return re()[fe]}})}function F(re,ye,fe){return typeof re=="function"?B(re.bind(null,ye,fe)):m.a.Ga(re,v)}function k(re,ye){return B(this.getBindings.bind(this,re,ye))}function U(re,ye){var fe=m.h.firstChild(ye);if(fe){var Se,we=m.ga.instance,Ve=we.preprocessNode;if(Ve){for(;Se=fe;)fe=m.h.nextSibling(Se),Ve.call(we,Se);fe=m.h.firstChild(ye)}for(;Se=fe;)fe=m.h.nextSibling(Se),G(re,Se)}m.i.ma(ye,m.i.H)}function G(re,ye){var fe=re,Se=ye.nodeType===1;Se&&m.h.Sc(ye),(Se||m.ga.instance.nodeHasBindings(ye))&&(fe=X(ye,null,re).bindingContextForDescendants),fe&&!J[m.a.R(ye)]&&U(fe,ye)}function V(re){var ye=[],fe={},Se=[];return m.a.P(re,function we(Ve){if(!fe[Ve]){var qe=m.getBindingHandler(Ve);qe&&(qe.after&&(Se.push(Ve),m.a.D(qe.after,function(mt){if(re[mt]){if(m.a.A(Se,mt)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+Se.join(", "));we(mt)}}),Se.length--),ye.push({key:Ve,Mc:qe})),fe[Ve]=!0}}),ye}function X(re,ye,fe){var Se=m.a.g.Ub(re,xe,{}),we=Se.hd;if(!ye){if(we)throw Error("You cannot apply bindings multiple times to the same element.");Se.hd=!0}we||(Se.context=fe),Se.Zb||(Se.Zb={});var Ve;if(ye&&typeof ye!="function")Ve=ye;else{var qe=m.ga.instance,mt=qe.getBindingAccessors||k,Ht=m.$(function(){return(Ve=ye?ye(fe,re):mt.call(qe,re,fe))&&(fe[Q]&&fe[Q](),fe[K]&&fe[K]()),Ve},null,{l:re});Ve&&Ht.ja()||(Ht=null)}var fn=fe,dt;if(Ve){var Tn=function(){return m.a.Ga(Ht?Ht():Ve,I)},Jn=Ht?function(Gt){return function(){return I(Ht()[Gt])}}:function(Gt){return Ve[Gt]};Tn.get=function(Gt){return Ve[Gt]&&I(Jn(Gt))},Tn.has=function(Gt){return Gt in Ve},m.i.H in Ve&&m.i.subscribe(re,m.i.H,function(){var Gt=(0,Ve[m.i.H])();if(Gt){var Je=m.h.childNodes(re);Je.length&&Gt(Je,m.Ec(Je[0]))}}),m.i.pa in Ve&&(fn=m.i.Cb(re,fe),m.i.subscribe(re,m.i.pa,function(){var Gt=(0,Ve[m.i.pa])();Gt&&m.h.firstChild(re)&&Gt(re)})),Se=V(Ve),m.a.D(Se,function(Gt){var Je=Gt.Mc.init,pe=Gt.Mc.update,me=Gt.key;if(re.nodeType===8&&!m.h.ea[me])throw Error("The binding '"+me+"' cannot be used with virtual elements");try{typeof Je=="function"&&m.u.G(function(){var be=Je(re,Jn(me),Tn,fn.$data,fn);if(be&&be.controlsDescendantBindings){if(dt!==e)throw Error("Multiple bindings ("+dt+" and "+me+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");dt=me}}),typeof pe=="function"&&m.$(function(){pe(re,Jn(me),Tn,fn.$data,fn)},null,{l:re})}catch(be){throw be.message='Unable to process binding "'+me+": "+Ve[me]+`" +Message: `+be.message,be}})}return Se=dt===e,{shouldBindDescendants:Se,bindingContextForDescendants:Se&&fn}}function j(re,ye){return re&&re instanceof m.fa?re:new m.fa(re,e,e,ye)}var Q=m.a.Da("_subscribable"),W=m.a.Da("_ancestorBindingInfo"),K=m.a.Da("_dataDependency");m.c={};var J={script:!0,textarea:!0,template:!0};m.getBindingHandler=function(re){return m.c[re]};var _e={};m.fa=function(re,ye,fe,Se,we){function Ve(){var Jn=fn?Ht():Ht,Gt=m.a.f(Jn);return ye?(m.a.extend(qe,ye),W in ye&&(qe[W]=ye[W])):(qe.$parents=[],qe.$root=Gt,qe.ko=m),qe[Q]=dt,mt?Gt=qe.$data:(qe.$rawData=Jn,qe.$data=Gt),fe&&(qe[fe]=Gt),Se&&Se(qe,ye,Gt),ye&&ye[Q]&&!m.S.o().Vb(ye[Q])&&ye[Q](),Tn&&(qe[K]=Tn),qe.$data}var qe=this,mt=re===_e,Ht=mt?e:re,fn=typeof Ht=="function"&&!m.O(Ht),dt,Tn=we&&we.dataDependency;we&&we.exportDependencies?Ve():(dt=m.xb(Ve),dt.v(),dt.ja()?dt.equalityComparer=null:qe[Q]=e)},m.fa.prototype.createChildContext=function(re,ye,fe,Se){if(!Se&&ye&&typeof ye=="object"&&(Se=ye,ye=Se.as,fe=Se.extend),ye&&Se&&Se.noChildContext){var we=typeof re=="function"&&!m.O(re);return new m.fa(_e,this,null,function(Ve){fe&&fe(Ve),Ve[ye]=we?re():re},Se)}return new m.fa(re,this,ye,function(Ve,qe){Ve.$parentContext=qe,Ve.$parent=qe.$data,Ve.$parents=(qe.$parents||[]).slice(0),Ve.$parents.unshift(Ve.$parent),fe&&fe(Ve)},Se)},m.fa.prototype.extend=function(re,ye){return new m.fa(_e,this,null,function(fe){m.a.extend(fe,typeof re=="function"?re(fe):re)},ye)};var xe=m.a.g.Z();b.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},b.prototype.sd=function(re){m.a.Pa(this.kb,re),!this.kb.length&&this.H&&this.Cc()},b.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,m.a.K.yb(this.node,_),m.i.ma(this.node,m.i.pa),this.Tc())},m.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(re,ye,fe,Se,we){var Ve=m.a.g.Ub(re,xe,{});return Ve.Fa||(Ve.Fa=new m.T),we&&we.notifyImmediately&&Ve.Zb[ye]&&m.u.G(fe,Se,[re]),Ve.Fa.subscribe(fe,Se,ye)},ma:function(re,ye){var fe=m.a.g.get(re,xe);if(fe&&(fe.Zb[ye]=!0,fe.Fa&&fe.Fa.notifySubscribers(re,ye),ye==m.i.H)){if(fe.N)fe.N.Cc();else if(fe.N===e&&fe.Fa&&fe.Fa.Wa(m.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(re,ye){var fe=m.a.g.Ub(re,xe,{});return fe.N||(fe.N=new b(re,fe,ye[W])),ye[W]==fe?ye:ye.extend(function(Se){Se[W]=fe})}},m.Td=function(re){return(re=m.a.g.get(re,xe))&&re.context},m.ib=function(re,ye,fe){return re.nodeType===1&&m.h.Sc(re),X(re,ye,j(fe))},m.ld=function(re,ye,fe){return fe=j(fe),m.ib(re,F(ye,fe,re),fe)},m.Oa=function(re,ye){ye.nodeType!==1&&ye.nodeType!==8||U(j(re),ye)},m.vc=function(re,ye,fe){if(!o&&t.jQuery&&(o=t.jQuery),2>arguments.length){if(ye=n.body,!ye)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!ye||ye.nodeType!==1&&ye.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");G(j(re,fe),ye)},m.Dc=function(re){return!re||re.nodeType!==1&&re.nodeType!==8?e:m.Td(re)},m.Ec=function(re){return(re=m.Dc(re))?re.$data:e},m.b("bindingHandlers",m.c),m.b("bindingEvent",m.i),m.b("bindingEvent.subscribe",m.i.subscribe),m.b("bindingEvent.startPossiblyAsyncContentBinding",m.i.Cb),m.b("applyBindings",m.vc),m.b("applyBindingsToDescendants",m.Oa),m.b("applyBindingAccessorsToNode",m.ib),m.b("applyBindingsToNode",m.ld),m.b("contextFor",m.Dc),m.b("dataFor",m.Ec)}(),function(_){function b(k,U){var G=Object.prototype.hasOwnProperty.call(B,k)?B[k]:_,V;G?G.subscribe(U):(G=B[k]=new m.T,G.subscribe(U),v(k,function(X,j){var Q=!(!j||!j.synchronous);F[k]={definition:X,Gd:Q},delete B[k],V||Q?G.notifySubscribers(X):m.na.zb(function(){G.notifySubscribers(X)})}),V=!0)}function v(k,U){I("getConfig",[k],function(G){G?I("loadComponent",[k,G],function(V){U(V,G)}):U(null,null)})}function I(k,U,G,V){V||(V=m.j.loaders.slice(0));var X=V.shift();if(X){var j=X[k];if(j){var Q=!1;if(j.apply(X,U.concat(function(W){Q?G(null):W!==null?G(W):I(k,U,G,V)}))!==_&&(Q=!0,!X.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else I(k,U,G,V)}else G(null)}var B={},F={};m.j={get:function(k,U){var G=Object.prototype.hasOwnProperty.call(F,k)?F[k]:_;G?G.Gd?m.u.G(function(){U(G.definition)}):m.na.zb(function(){U(G.definition)}):b(k,U)},Bc:function(k){delete F[k]},oc:I},m.j.loaders=[],m.b("components",m.j),m.b("components.get",m.j.get),m.b("components.clearCachedDefinition",m.j.Bc)}(),function(){function _(G,V,X,j){function Q(){--K===0&&j(W)}var W={},K=2,J=X.template;X=X.viewModel,J?B(V,J,function(_e){m.j.oc("loadTemplate",[G,_e],function(xe){W.template=xe,Q()})}):Q(),X?B(V,X,function(_e){m.j.oc("loadViewModel",[G,_e],function(xe){W[U]=xe,Q()})}):Q()}function b(G,V,X){if(typeof V=="function")X(function(Q){return new V(Q)});else if(typeof V[U]=="function")X(V[U]);else if("instance"in V){var j=V.instance;X(function(){return j})}else"viewModel"in V?b(G,V.viewModel,X):G("Unknown viewModel value: "+V)}function v(G){switch(m.a.R(G)){case"script":return m.a.ua(G.text);case"textarea":return m.a.ua(G.value);case"template":if(I(G.content))return m.a.Ca(G.content.childNodes)}return m.a.Ca(G.childNodes)}function I(G){return t.DocumentFragment?G instanceof DocumentFragment:G&&G.nodeType===11}function B(G,V,X){typeof V.require=="string"?a||t.require?(a||t.require)([V.require],function(j){j&&typeof j=="object"&&j.Xd&&j.default&&(j=j.default),X(j)}):G("Uses require, but no AMD loader is present"):X(V)}function F(G){return function(V){throw Error("Component '"+G+"': "+V)}}var k={};m.j.register=function(G,V){if(!V)throw Error("Invalid configuration for "+G);if(m.j.tb(G))throw Error("Component "+G+" is already registered");k[G]=V},m.j.tb=function(G){return Object.prototype.hasOwnProperty.call(k,G)},m.j.unregister=function(G){delete k[G],m.j.Bc(G)},m.j.Fc={getConfig:function(G,V){V(m.j.tb(G)?k[G]:null)},loadComponent:function(G,V,X){var j=F(G);B(j,V,function(Q){_(G,j,Q,X)})},loadTemplate:function(G,V,X){if(G=F(G),typeof V=="string")X(m.a.ua(V));else if(V instanceof Array)X(V);else if(I(V))X(m.a.la(V.childNodes));else if(V.element)if(V=V.element,t.HTMLElement?V instanceof HTMLElement:V&&V.tagName&&V.nodeType===1)X(v(V));else if(typeof V=="string"){var j=n.getElementById(V);j?X(v(j)):G("Cannot find element with ID "+V)}else G("Unknown element type: "+V);else G("Unknown template value: "+V)},loadViewModel:function(G,V,X){b(F(G),V,X)}};var U="createViewModel";m.b("components.register",m.j.register),m.b("components.isRegistered",m.j.tb),m.b("components.unregister",m.j.unregister),m.b("components.defaultLoader",m.j.Fc),m.j.loaders.push(m.j.Fc),m.j.dd=k}(),function(){function _(v,I){var B=v.getAttribute("params");if(B){var B=b.parseBindingsString(B,I,v,{valueAccessors:!0,bindingParams:!0}),B=m.a.Ga(B,function(U){return m.o(U,null,{l:v})}),F=m.a.Ga(B,function(U){var G=U.v();return U.ja()?m.o({read:function(){return m.a.f(U())},write:m.Za(G)&&function(V){U()(V)},l:v}):G});return Object.prototype.hasOwnProperty.call(F,"$raw")||(F.$raw=B),F}return{$raw:{}}}m.j.getComponentNameForNode=function(v){var I=m.a.R(v);if(m.j.tb(I)&&(I.indexOf("-")!=-1||""+v=="[object HTMLUnknownElement]"||8>=m.a.W&&v.tagName===I))return I},m.j.tc=function(v,I,B,F){if(I.nodeType===1){var k=m.j.getComponentNameForNode(I);if(k){if(v=v||{},v.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var U={name:k,params:_(I,B)};v.component=F?function(){return U}:U}}return v};var b=new m.ga;9>m.a.W&&(m.j.register=function(v){return function(I){return v.apply(this,arguments)}}(m.j.register),n.createDocumentFragment=function(v){return function(){var I=v(),B=m.j.dd,F;for(F in B);return I}}(n.createDocumentFragment))}(),function(){function _(I,B,F){if(B=B.template,!B)throw Error("Component '"+I+"' has no template");I=m.a.Ca(B),m.h.va(F,I)}function b(I,B,F){var k=I.createViewModel;return k?k.call(I,B,F):B}var v=0;m.c.component={init:function(I,B,F,k,U){function G(){var W=V&&V.dispose;typeof W=="function"&&W.call(V),j&&j.s(),X=V=j=null}var V,X,j,Q=m.a.la(m.h.childNodes(I));return m.h.Ea(I),m.a.K.za(I,G),m.o(function(){var W=m.a.f(B()),K,J;if(typeof W=="string"?K=W:(K=m.a.f(W.name),J=m.a.f(W.params)),!K)throw Error("No component name specified");var _e=m.i.Cb(I,U),xe=X=++v;m.j.get(K,function(re){if(X===xe){if(G(),!re)throw Error("Unknown component '"+K+"'");_(K,re,I);var ye=b(re,J,{element:I,templateNodes:Q});re=_e.createChildContext(ye,{extend:function(fe){fe.$component=ye,fe.$componentTemplateNodes=Q}}),ye&&ye.koDescendantsComplete&&(j=m.i.subscribe(I,m.i.pa,ye.koDescendantsComplete,ye)),V=ye,m.Oa(re,I)}})},null,{l:I}),{controlsDescendantBindings:!0}}},m.h.ea.component=!0}();var L={class:"className",for:"htmlFor"};m.c.attr={update:function(_,b){var v=m.a.f(b())||{};m.a.P(v,function(I,B){B=m.a.f(B);var F=I.indexOf(":"),F="lookupNamespaceURI"in _&&0<F&&_.lookupNamespaceURI(I.substr(0,F)),k=B===!1||B===null||B===e;k?F?_.removeAttributeNS(F,I):_.removeAttribute(I):B=B.toString(),8>=m.a.W&&I in L?(I=L[I],k?_.removeAttribute(I):_[I]=B):k||(F?_.setAttributeNS(F,I,B):_.setAttribute(I,B)),I==="name"&&m.a.Yc(_,k?"":B)})}},function(){m.c.checked={after:["value","attr"],init:function(_,b,v){function I(){var W=_.checked,K=F();if(!m.S.Ya()&&(W||!U&&!m.S.qa())){var J=m.u.G(b);if(V){var _e=X?J.v():J,xe=Q;Q=K,xe!==K?W&&(m.a.Na(_e,K,!0),m.a.Na(_e,xe,!1)):m.a.Na(_e,K,W),X&&m.Za(J)&&J(_e)}else k&&(K===e?K=W:W||(K=e)),m.m.eb(J,v,"checked",K,!0)}}function B(){var W=m.a.f(b()),K=F();V?(_.checked=0<=m.a.A(W,K),Q=K):_.checked=k&&K===e?!!W:F()===W}var F=m.xb(function(){if(v.has("checkedValue"))return m.a.f(v.get("checkedValue"));if(j)return v.has("value")?m.a.f(v.get("value")):_.value}),k=_.type=="checkbox",U=_.type=="radio";if(k||U){var G=b(),V=k&&m.a.f(G)instanceof Array,X=!(V&&G.push&&G.splice),j=U||V,Q=V?F():e;U&&!_.name&&m.c.uniqueName.init(_,function(){return!0}),m.o(I,null,{l:_}),m.a.B(_,"click",I),m.o(B,null,{l:_}),G=e}}},m.m.wa.checked=!0,m.c.checkedValue={update:function(_,b){_.value=m.a.f(b())}}}(),m.c.class={update:function(_,b){var v=m.a.Db(m.a.f(b()));m.a.Eb(_,_.__ko__cssValue,!1),_.__ko__cssValue=v,m.a.Eb(_,v,!0)}},m.c.css={update:function(_,b){var v=m.a.f(b());v!==null&&typeof v=="object"?m.a.P(v,function(I,B){B=m.a.f(B),m.a.Eb(_,I,B)}):m.c.class.update(_,b)}},m.c.enable={update:function(_,b){var v=m.a.f(b());v&&_.disabled?_.removeAttribute("disabled"):v||_.disabled||(_.disabled=!0)}},m.c.disable={update:function(_,b){m.c.enable.update(_,function(){return!m.a.f(b())})}},m.c.event={init:function(_,b,v,I,B){var F=b()||{};m.a.P(F,function(k){typeof k=="string"&&m.a.B(_,k,function(U){var G,V=b()[k];if(V){try{var X=m.a.la(arguments);I=B.$data,X.unshift(I),G=V.apply(I,X)}finally{G!==!0&&(U.preventDefault?U.preventDefault():U.returnValue=!1)}v.get(k+"Bubble")===!1&&(U.cancelBubble=!0,U.stopPropagation&&U.stopPropagation())}})})}},m.c.foreach={Rc:function(_){return function(){var b=_(),v=m.a.bc(b);return!v||typeof v.length=="number"?{foreach:b,templateEngine:m.ba.Ma}:(m.a.f(b),{foreach:v.data,as:v.as,noChildContext:v.noChildContext,includeDestroyed:v.includeDestroyed,afterAdd:v.afterAdd,beforeRemove:v.beforeRemove,afterRender:v.afterRender,beforeMove:v.beforeMove,afterMove:v.afterMove,templateEngine:m.ba.Ma})}},init:function(_,b){return m.c.template.init(_,m.c.foreach.Rc(b))},update:function(_,b,v,I,B){return m.c.template.update(_,m.c.foreach.Rc(b),v,I,B)}},m.m.Ra.foreach=!1,m.h.ea.foreach=!0,m.c.hasfocus={init:function(_,b,v){function I(k){_.__ko_hasfocusUpdating=!0;var U=_.ownerDocument;if("activeElement"in U){var G;try{G=U.activeElement}catch{G=U.body}k=G===_}U=b(),m.m.eb(U,v,"hasfocus",k,!0),_.__ko_hasfocusLastValue=k,_.__ko_hasfocusUpdating=!1}var B=I.bind(null,!0),F=I.bind(null,!1);m.a.B(_,"focus",B),m.a.B(_,"focusin",B),m.a.B(_,"blur",F),m.a.B(_,"focusout",F),_.__ko_hasfocusLastValue=!1},update:function(_,b){var v=!!m.a.f(b());_.__ko_hasfocusUpdating||_.__ko_hasfocusLastValue===v||(v?_.focus():_.blur(),!v&&_.__ko_hasfocusLastValue&&_.ownerDocument.body.focus(),m.u.G(m.a.Fb,null,[_,v?"focusin":"focusout"]))}},m.m.wa.hasfocus=!0,m.c.hasFocus=m.c.hasfocus,m.m.wa.hasFocus="hasfocus",m.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(_,b){m.a.fc(_,b())}},function(){function _(b,v,I){m.c[b]={init:function(B,F,k,U,G){var V,X,j={},Q,W,K;if(v){U=k.get("as");var J=k.get("noChildContext");K=!(U&&J),j={as:U,noChildContext:J,exportDependencies:K}}return W=(Q=k.get("completeOn")=="render")||k.has(m.i.pa),m.o(function(){var _e=m.a.f(F()),xe=!I!=!_e,re=!X,ye;(K||xe!==V)&&(W&&(G=m.i.Cb(B,G)),xe&&((!v||K)&&(j.dataDependency=m.S.o()),ye=v?G.createChildContext(typeof _e=="function"?_e:F,j):m.S.qa()?G.extend(null,j):G),re&&m.S.qa()&&(X=m.a.Ca(m.h.childNodes(B),!0)),xe?(re||m.h.va(B,m.a.Ca(X)),m.Oa(ye,B)):(m.h.Ea(B),Q||m.i.ma(B,m.i.H)),V=xe)},null,{l:B}),{controlsDescendantBindings:!0}}},m.m.Ra[b]=!1,m.h.ea[b]=!0}_("if"),_("ifnot",!1,!0),_("with",!0)}(),m.c.let={init:function(_,b,v,I,B){return b=B.extend(b),m.Oa(b,_),{controlsDescendantBindings:!0}}},m.h.ea.let=!0;var N={};m.c.options={init:function(_){if(m.a.R(_)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<_.length;)_.remove(0);return{controlsDescendantBindings:!0}},update:function(_,b,v){function I(){return m.a.jb(_.options,function(J){return J.selected})}function B(J,_e,xe){var re=typeof _e;return re=="function"?_e(J):re=="string"?J[_e]:xe}function F(J,_e){if(W&&V)m.i.ma(_,m.i.H);else if(Q.length){var xe=0<=m.a.A(Q,m.w.M(_e[0]));m.a.Zc(_e[0],xe),W&&!xe&&m.u.G(m.a.Fb,null,[_,"change"])}}var k=_.multiple,U=_.length!=0&&k?_.scrollTop:null,G=m.a.f(b()),V=v.get("valueAllowUnset")&&v.has("value"),X=v.get("optionsIncludeDestroyed");b={};var j,Q=[];V||(k?Q=m.a.Mb(I(),m.w.M):0<=_.selectedIndex&&Q.push(m.w.M(_.options[_.selectedIndex]))),G&&(typeof G.length>"u"&&(G=[G]),j=m.a.jb(G,function(J){return X||J===e||J===null||!m.a.f(J._destroy)}),v.has("optionsCaption")&&(G=m.a.f(v.get("optionsCaption")),G!==null&&G!==e&&j.unshift(N)));var W=!1;if(b.beforeRemove=function(J){_.removeChild(J)},G=F,v.has("optionsAfterRender")&&typeof v.get("optionsAfterRender")=="function"&&(G=function(J,_e){F(0,_e),m.u.G(v.get("optionsAfterRender"),null,[_e[0],J!==N?J:e])}),m.a.ec(_,j,function(J,_e,xe){return xe.length&&(Q=!V&&xe[0].selected?[m.w.M(xe[0])]:[],W=!0),_e=_.ownerDocument.createElement("option"),J===N?(m.a.Bb(_e,v.get("optionsCaption")),m.w.cb(_e,e)):(xe=B(J,v.get("optionsValue"),J),m.w.cb(_e,m.a.f(xe)),J=B(J,v.get("optionsText"),xe),m.a.Bb(_e,J)),[_e]},b,G),!V){var K;k?K=Q.length&&I().length<Q.length:K=Q.length&&0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex])!==Q[0]:Q.length||0<=_.selectedIndex,K&&m.u.G(m.a.Fb,null,[_,"change"])}(V||m.S.Ya())&&m.i.ma(_,m.i.H),m.a.wd(_),U&&20<Math.abs(U-_.scrollTop)&&(_.scrollTop=U)}},m.c.options.$b=m.a.g.Z(),m.c.selectedOptions={init:function(_,b,v){function I(){var k=b(),U=[];m.a.D(_.getElementsByTagName("option"),function(G){G.selected&&U.push(m.w.M(G))}),m.m.eb(k,v,"selectedOptions",U)}function B(){var k=m.a.f(b()),U=_.scrollTop;k&&typeof k.length=="number"&&m.a.D(_.getElementsByTagName("option"),function(G){var V=0<=m.a.A(k,m.w.M(G));G.selected!=V&&m.a.Zc(G,V)}),_.scrollTop=U}if(m.a.R(_)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var F;m.i.subscribe(_,m.i.H,function(){F?I():(m.a.B(_,"change",I),F=m.o(B,null,{l:_}))},null,{notifyImmediately:!0})},update:function(){}},m.m.wa.selectedOptions=!0,m.c.style={update:function(_,b){var v=m.a.f(b()||{});m.a.P(v,function(I,B){if(B=m.a.f(B),(B===null||B===e||B===!1)&&(B=""),o)o(_).css(I,B);else if(/^--/.test(I))_.style.setProperty(I,B);else{I=I.replace(/-(\w)/g,function(k,U){return U.toUpperCase()});var F=_.style[I];_.style[I]=B,B===F||_.style[I]!=F||isNaN(B)||(_.style[I]=B+"px")}})}},m.c.submit={init:function(_,b,v,I,B){if(typeof b()!="function")throw Error("The value for a submit binding must be a function");m.a.B(_,"submit",function(F){var k,U=b();try{k=U.call(B.$data,_)}finally{k!==!0&&(F.preventDefault?F.preventDefault():F.returnValue=!1)}})}},m.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(_,b){m.a.Bb(_,b())}},m.h.ea.text=!0,function(){if(t&&t.navigator){var _=function(j){if(j)return parseFloat(j[1])},b=t.navigator.userAgent,v,I,B,F,k;(v=t.opera&&t.opera.version&&parseInt(t.opera.version()))||(k=_(b.match(/Edge\/([^ ]+)$/)))||_(b.match(/Chrome\/([^ ]+)/))||(I=_(b.match(/Version\/([^ ]+) Safari/)))||(B=_(b.match(/Firefox\/([^ ]+)/)))||(F=m.a.W||_(b.match(/MSIE ([^ ]+)/)))||(F=_(b.match(/rv:([^ )]+)/)))}if(8<=F&&10>F)var U=m.a.g.Z(),G=m.a.g.Z(),V=function(j){var Q=this.activeElement;(Q=Q&&m.a.g.get(Q,G))&&Q(j)},X=function(j,Q){var W=j.ownerDocument;m.a.g.get(W,U)||(m.a.g.set(W,U,!0),m.a.B(W,"selectionchange",V)),m.a.g.set(j,G,Q)};m.c.textInput={init:function(j,Q,W){function K(Ve,qe){m.a.B(j,Ve,qe)}function J(){var Ve=m.a.f(Q());(Ve===null||Ve===e)&&(Ve=""),fe!==e&&Ve===fe?m.a.setTimeout(J,4):j.value!==Ve&&(we=!0,j.value=Ve,we=!1,re=j.value)}function _e(){ye||(fe=j.value,ye=m.a.setTimeout(xe,4))}function xe(){clearTimeout(ye),fe=ye=e;var Ve=j.value;re!==Ve&&(re=Ve,m.m.eb(Q(),W,"textInput",Ve))}var re=j.value,ye,fe,Se=m.a.W==9?_e:xe,we=!1;F&&K("keypress",xe),11>F&&K("propertychange",function(Ve){we||Ve.propertyName!=="value"||Se(Ve)}),F==8&&(K("keyup",xe),K("keydown",xe)),X&&(X(j,Se),K("dragend",_e)),(!F||9<=F)&&K("input",Se),5>I&&m.a.R(j)==="textarea"?(K("keydown",_e),K("paste",_e),K("cut",_e)):11>v?K("keydown",_e):4>B?(K("DOMAutoComplete",xe),K("dragdrop",xe),K("drop",xe)):k&&j.type==="number"&&K("keydown",_e),K("change",xe),K("blur",xe),m.o(J,null,{l:j})}},m.m.wa.textInput=!0,m.c.textinput={preprocess:function(j,Q,W){W("textInput",j)}}}(),m.c.uniqueName={init:function(_,b){if(b()){var v="ko_unique_"+ ++m.c.uniqueName.rd;m.a.Yc(_,v)}}},m.c.uniqueName.rd=0,m.c.using={init:function(_,b,v,I,B){var F;return v.has("as")&&(F={as:v.get("as"),noChildContext:v.get("noChildContext")}),b=B.createChildContext(b,F),m.Oa(b,_),{controlsDescendantBindings:!0}}},m.h.ea.using=!0,m.c.value={init:function(_,b,v){var I=m.a.R(_),B=I=="input";if(!B||_.type!="checkbox"&&_.type!="radio"){var F=[],k=v.get("valueUpdate"),U=!1,G=null;k&&(typeof k=="string"?F=[k]:F=m.a.wc(k),m.a.Pa(F,"change"));var V=function(){G=null,U=!1;var Q=b(),W=m.w.M(_);m.m.eb(Q,v,"value",W)};!m.a.W||!B||_.type!="text"||_.autocomplete=="off"||_.form&&_.form.autocomplete=="off"||m.a.A(F,"propertychange")!=-1||(m.a.B(_,"propertychange",function(){U=!0}),m.a.B(_,"focus",function(){U=!1}),m.a.B(_,"blur",function(){U&&V()})),m.a.D(F,function(Q){var W=V;m.a.Ud(Q,"after")&&(W=function(){G=m.w.M(_),m.a.setTimeout(V,0)},Q=Q.substring(5)),m.a.B(_,Q,W)});var X;if(X=B&&_.type=="file"?function(){var Q=m.a.f(b());Q===null||Q===e||Q===""?_.value="":m.u.G(V)}:function(){var Q=m.a.f(b()),W=m.w.M(_);G!==null&&Q===G?m.a.setTimeout(X,0):(Q!==W||W===e)&&(I==="select"?(W=v.get("valueAllowUnset"),m.w.cb(_,Q,W),W||Q===m.w.M(_)||m.u.G(V)):m.w.cb(_,Q))},I==="select"){var j;m.i.subscribe(_,m.i.H,function(){j?v.get("valueAllowUnset")?X():V():(m.a.B(_,"change",V),j=m.o(X,null,{l:_}))},null,{notifyImmediately:!0})}else m.a.B(_,"change",V),m.o(X,null,{l:_})}else m.ib(_,{checkedValue:b})},update:function(){}},m.m.wa.value=!0,m.c.visible={update:function(_,b){var v=m.a.f(b()),I=_.style.display!="none";v&&!I?_.style.display="":!v&&I&&(_.style.display="none")}},m.c.hidden={update:function(_,b){m.c.visible.update(_,function(){return!m.a.f(b())})}},function(_){m.c[_]={init:function(b,v,I,B,F){return m.c.event.init.call(this,b,function(){var k={};return k[_]=v(),k},I,B,F)}}}("click"),m.ca=function(){},m.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},m.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},m.ca.prototype.makeTemplateSource=function(_,b){if(typeof _=="string"){b=b||n;var v=b.getElementById(_);if(!v)throw Error("Cannot find template with ID "+_);return new m.C.F(v)}if(_.nodeType==1||_.nodeType==8)return new m.C.ia(_);throw Error("Unknown template type: "+_)},m.ca.prototype.renderTemplate=function(_,b,v,I){return _=this.makeTemplateSource(_,I),this.renderTemplateSource(_,b,v,I)},m.ca.prototype.isTemplateRewritten=function(_,b){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(_,b).data("isRewritten")},m.ca.prototype.rewriteTemplate=function(_,b,v){_=this.makeTemplateSource(_,v),b=b(_.text()),_.text(b),_.data("isRewritten",!0)},m.b("templateEngine",m.ca),m.kc=function(){function _(I,B,F,k){I=m.m.ac(I);for(var U=m.m.Ra,G=0;G<I.length;G++){var V=I[G].key;if(Object.prototype.hasOwnProperty.call(U,V)){var X=U[V];if(typeof X=="function"){if(V=X(I[G].value))throw Error(V)}else if(!X)throw Error("This template engine does not support the '"+V+"' binding within its templates")}}return F="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+m.m.vb(I,{valueAccessors:!0})+" } })()},'"+F.toLowerCase()+"')",k.createJavaScriptEvaluatorBlock(F)+B}var b=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,v=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(I,B,F){B.isTemplateRewritten(I,F)||B.rewriteTemplate(I,function(k){return m.kc.Ld(k,B)},F)},Ld:function(I,B){return I.replace(b,function(F,k,U,G,V){return _(V,k,U,B)}).replace(v,function(F,k){return _(k,"<!-- ko -->","#comment",B)})},md:function(I,B){return m.aa.Xb(function(F,k){var U=F.nextSibling;U&&U.nodeName.toLowerCase()===B&&m.ib(U,I,k)})}}}(),m.b("__tr_ambtns",m.kc.md),function(){m.C={},m.C.F=function(v){if(this.F=v){var I=m.a.R(v);this.ab=I==="script"?1:I==="textarea"?2:I=="template"&&v.content&&v.content.nodeType===11?3:4}},m.C.F.prototype.text=function(){var v=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[v];var I=arguments[0];v==="innerHTML"?m.a.fc(this.F,I):this.F[v]=I};var _=m.a.g.Z()+"_";m.C.F.prototype.data=function(v){if(arguments.length===1)return m.a.g.get(this.F,_+v);m.a.g.set(this.F,_+v,arguments[1])};var b=m.a.g.Z();m.C.F.prototype.nodes=function(){var v=this.F;if(arguments.length==0){var I=m.a.g.get(v,b)||{},B=I.lb||(this.ab===3?v.content:this.ab===4?v:e);if(!B||I.jd){var F=this.text();F&&F!==I.bb&&(B=m.a.Md(F,v.ownerDocument),m.a.g.set(v,b,{lb:B,bb:F,jd:!0}))}return B}I=arguments[0],this.ab!==e&&this.text(""),m.a.g.set(v,b,{lb:I})},m.C.ia=function(v){this.F=v},m.C.ia.prototype=new m.C.F,m.C.ia.prototype.constructor=m.C.ia,m.C.ia.prototype.text=function(){if(arguments.length==0){var v=m.a.g.get(this.F,b)||{};return v.bb===e&&v.lb&&(v.bb=v.lb.innerHTML),v.bb}m.a.g.set(this.F,b,{bb:arguments[0]})},m.b("templateSources",m.C),m.b("templateSources.domElement",m.C.F),m.b("templateSources.anonymousTemplate",m.C.ia)}(),function(){function _(G,V,X){var j;for(V=m.h.nextSibling(V);G&&(j=G)!==V;)G=m.h.nextSibling(j),X(j,G)}function b(G,V){if(G.length){var X=G[0],j=G[G.length-1],Q=X.parentNode,W=m.ga.instance,K=W.preprocessNode;if(K){if(_(X,j,function(J,_e){var xe=J.previousSibling,re=K.call(W,J);re&&(J===X&&(X=re[0]||_e),J===j&&(j=re[re.length-1]||xe))}),G.length=0,!X)return;X===j?G.push(X):(G.push(X,j),m.a.Ua(G,Q))}_(X,j,function(J){J.nodeType!==1&&J.nodeType!==8||m.vc(V,J)}),_(X,j,function(J){J.nodeType!==1&&J.nodeType!==8||m.aa.cd(J,[V])}),m.a.Ua(G,Q)}}function v(G){return G.nodeType?G:0<G.length?G[0]:null}function I(G,V,X,j,Q){Q=Q||{};var W=(G&&v(G)||X||{}).ownerDocument,K=Q.templateEngine||F;if(m.kc.xd(X,K,W),X=K.renderTemplate(X,j,Q,W),typeof X.length!="number"||0<X.length&&typeof X[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(W=!1,V){case"replaceChildren":m.h.va(G,X),W=!0;break;case"replaceNode":m.a.Xc(G,X),W=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+V)}return W&&(b(X,j),Q.afterRender&&m.u.G(Q.afterRender,null,[X,j[Q.as||"$data"]]),V=="replaceChildren"&&m.i.ma(G,m.i.H)),X}function B(G,V,X){return m.O(G)?G():typeof G=="function"?G(V,X):G}var F;m.gc=function(G){if(G!=e&&!(G instanceof m.ca))throw Error("templateEngine must inherit from ko.templateEngine");F=G},m.dc=function(G,V,X,j,Q){if(X=X||{},(X.templateEngine||F)==e)throw Error("Set a template engine before calling renderTemplate");if(Q=Q||"replaceChildren",j){var W=v(j);return m.$(function(){var J=V&&V instanceof m.fa?V:new m.fa(V,null,null,null,{exportDependencies:!0}),K=B(G,J.$data,J),J=I(j,Q,K,J,X);Q=="replaceNode"&&(j=J,W=v(j))},null,{Sa:function(){return!W||!m.a.Sb(W)},l:W&&Q=="replaceNode"?W.parentNode:W})}return m.aa.Xb(function(K){m.dc(G,V,X,K,"replaceNode")})},m.Qd=function(G,V,X,j,Q){function W(fe,Se){m.u.G(m.a.ec,null,[j,fe,J,X,K,Se]),m.i.ma(j,m.i.H)}function K(fe,Se){b(Se,_e),X.afterRender&&X.afterRender(Se,fe),_e=null}function J(fe,Se){_e=Q.createChildContext(fe,{as:xe,noChildContext:X.noChildContext,extend:function(Ve){Ve.$index=Se,xe&&(Ve[xe+"Index"]=Se)}});var we=B(G,fe,_e);return I(j,"ignoreTargetNode",we,_e,X)}var _e,xe=X.as,re=X.includeDestroyed===!1||m.options.foreachHidesDestroyed&&!X.includeDestroyed;if(re||X.beforeRemove||!m.Pc(V))return m.$(function(){var fe=m.a.f(V)||[];typeof fe.length>"u"&&(fe=[fe]),re&&(fe=m.a.jb(fe,function(Se){return Se===e||Se===null||!m.a.f(Se._destroy)})),W(fe)},null,{l:j});W(V.v());var ye=V.subscribe(function(fe){W(V(),fe)},null,"arrayChange");return ye.l(j),ye};var k=m.a.g.Z(),U=m.a.g.Z();m.c.template={init:function(G,V){var X=m.a.f(V());if(typeof X=="string"||"name"in X)m.h.Ea(G);else if("nodes"in X){if(X=X.nodes||[],m.O(X))throw Error('The "nodes" option must be a plain, non-observable array.');var j=X[0]&&X[0].parentNode;j&&m.a.g.get(j,U)||(j=m.a.Yb(X),m.a.g.set(j,U,!0)),new m.C.ia(G).nodes(j)}else if(X=m.h.childNodes(G),0<X.length)j=m.a.Yb(X),new m.C.ia(G).nodes(j);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(G,V,X,j,Q){var W=V();V=m.a.f(W),X=!0,j=null,typeof V=="string"?V={}:(W="name"in V?V.name:G,"if"in V&&(X=m.a.f(V.if)),X&&"ifnot"in V&&(X=!m.a.f(V.ifnot)),X&&!W&&(X=!1)),"foreach"in V?j=m.Qd(W,X&&V.foreach||[],V,G,Q):X?(X=Q,"data"in V&&(X=Q.createChildContext(V.data,{as:V.as,noChildContext:V.noChildContext,exportDependencies:!0})),j=m.dc(W,X,V,G)):m.h.Ea(G),Q=j,(V=m.a.g.get(G,k))&&typeof V.s=="function"&&V.s(),m.a.g.set(G,k,!Q||Q.ja&&!Q.ja()?e:Q)}},m.m.Ra.template=function(G){return G=m.m.ac(G),G.length==1&&G[0].unknown||m.m.Id(G,"name")?null:"This template engine does not support anonymous templates nested within its templates"},m.h.ea.template=!0}(),m.b("setTemplateEngine",m.gc),m.b("renderTemplate",m.dc),m.a.Kc=function(_,b,v){if(_.length&&b.length){var I,B,F,k,U;for(I=B=0;(!v||I<v)&&(k=_[B]);++B){for(F=0;U=b[F];++F)if(k.value===U.value){k.moved=U.index,U.moved=k.index,b.splice(F,1),I=F=0;break}I+=F}}},m.a.Pb=function(){function _(b,v,I,B,F){var k=Math.min,U=Math.max,G=[],V,X=b.length,j,Q=v.length,W=Q-X||1,K=X+Q+1,J,_e,xe;for(V=0;V<=X;V++)for(_e=J,G.push(J=[]),xe=k(Q,V+W),j=U(0,V-1);j<=xe;j++)J[j]=j?V?b[V-1]===v[j-1]?_e[j-1]:k(_e[j]||K,J[j-1]||K)+1:j+1:V+1;for(k=[],U=[],W=[],V=X,j=Q;V||j;)Q=G[V][j]-1,j&&Q===G[V][j-1]?U.push(k[k.length]={status:I,value:v[--j],index:j}):V&&Q===G[V-1][j]?W.push(k[k.length]={status:B,value:b[--V],index:V}):(--j,--V,F.sparse||k.push({status:"retained",value:v[j]}));return m.a.Kc(W,U,!F.dontLimitMoves&&10*X),k.reverse()}return function(b,v,I){return I=typeof I=="boolean"?{dontLimitMoves:I}:I||{},b=b||[],v=v||[],b.length<v.length?_(b,v,"added","deleted",I):_(v,b,"deleted","added",I)}}(),m.b("utils.compareArrays",m.a.Pb),function(){function _(I,B,F,k,U){var G=[],V=m.$(function(){var X=B(F,U,m.a.Ua(G,I))||[];0<G.length&&(m.a.Xc(G,X),k&&m.u.G(k,null,[F,X,U])),G.length=0,m.a.Nb(G,X)},null,{l:I,Sa:function(){return!m.a.kd(G)}});return{Y:G,$:V.ja()?V:e}}var b=m.a.g.Z(),v=m.a.g.Z();m.a.ec=function(I,B,F,k,U,G){function V(Gt){we={Aa:Gt,pb:m.ta(_e++)},K.push(we),W||Se.push(we)}function X(Gt){we=Q[Gt],_e!==we.pb.v()&&fe.push(we),we.pb(_e++),m.a.Ua(we.Y,I),K.push(we)}function j(Gt,Je){if(Gt)for(var pe=0,me=Je.length;pe<me;pe++)m.a.D(Je[pe].Y,function(be){Gt(be,pe,Je[pe].Aa)})}B=B||[],typeof B.length>"u"&&(B=[B]),k=k||{};var Q=m.a.g.get(I,b),W=!Q,K=[],J=0,_e=0,xe=[],re=[],ye=[],fe=[],Se=[],we,Ve=0;if(W)m.a.D(B,V);else{if(!G||Q&&Q._countWaitingForRemove){var qe=m.a.Mb(Q,function(Gt){return Gt.Aa});G=m.a.Pb(qe,B,{dontLimitMoves:k.dontLimitMoves,sparse:!0})}for(var qe=0,mt,Ht,fn;mt=G[qe];qe++)switch(Ht=mt.moved,fn=mt.index,mt.status){case"deleted":for(;J<fn;)X(J++);Ht===e&&(we=Q[J],we.$&&(we.$.s(),we.$=e),m.a.Ua(we.Y,I).length&&(k.beforeRemove&&(K.push(we),Ve++,we.Aa===v?we=null:ye.push(we)),we&&xe.push.apply(xe,we.Y))),J++;break;case"added":for(;_e<fn;)X(J++);Ht!==e?(re.push(K.length),X(Ht)):V(mt.value)}for(;_e<B.length;)X(J++);K._countWaitingForRemove=Ve}m.a.g.set(I,b,K),j(k.beforeMove,fe),m.a.D(xe,k.beforeRemove?m.oa:m.removeNode);var dt,Tn,Jn;try{Jn=I.ownerDocument.activeElement}catch{}if(re.length)for(;(qe=re.shift())!=e;){for(we=K[qe],dt=e;qe;)if((Tn=K[--qe].Y)&&Tn.length){dt=Tn[Tn.length-1];break}for(B=0;J=we.Y[B];dt=J,B++)m.h.Wb(I,J,dt)}for(qe=0;we=K[qe];qe++){for(we.Y||m.a.extend(we,_(I,F,we.Aa,U,we.pb)),B=0;J=we.Y[B];dt=J,B++)m.h.Wb(I,J,dt);!we.Ed&&U&&(U(we.Aa,we.Y,we.pb),we.Ed=!0,dt=we.Y[we.Y.length-1])}for(Jn&&I.ownerDocument.activeElement!=Jn&&Jn.focus(),j(k.beforeRemove,ye),qe=0;qe<ye.length;++qe)ye[qe].Aa=v;j(k.afterMove,fe),j(k.afterAdd,Se)}}(),m.b("utils.setDomNodeChildrenFromArrayMapping",m.a.ec),m.ba=function(){this.allowTemplateRewriting=!1},m.ba.prototype=new m.ca,m.ba.prototype.constructor=m.ba,m.ba.prototype.renderTemplateSource=function(_,b,v,I){return(b=!(9>m.a.W)&&_.nodes?_.nodes():null)?m.a.la(b.cloneNode(!0).childNodes):(_=_.text(),m.a.ua(_,I))},m.ba.Ma=new m.ba,m.gc(m.ba.Ma),m.b("nativeTemplateEngine",m.ba),function(){m.$a=function(){var b=this.Hd=function(){if(!o||!o.tmpl)return 0;try{if(0<=o.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(v,I,B,F){if(F=F||n,B=B||{},2>b)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var k=v.data("precompiled");return k||(k=v.text()||"",k=o.template(null,"{{ko_with $item.koBindingContext}}"+k+"{{/ko_with}}"),v.data("precompiled",k)),v=[I.$data],I=o.extend({koBindingContext:I},B.templateOptions),I=o.tmpl(k,v,I),I.appendTo(F.createElement("div")),o.fragments={},I},this.createJavaScriptEvaluatorBlock=function(v){return"{{ko_code ((function() { return "+v+" })()) }}"},this.addTemplate=function(v,I){n.write("<script type='text/html' id='"+v+"'>"+I+"<\/script>")},0<b&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},m.$a.prototype=new m.ca,m.$a.prototype.constructor=m.$a;var _=new m.$a;0<_.Hd&&m.gc(_),m.b("jqueryTmplTemplateEngine",m.$a)}()})})()})()})();var cgt=ko;typeof window<"u"?(ko=window.ko,typeof n2<"u"?window.ko=n2:delete window.ko):(ko=global.ko,typeof n2<"u"?global.ko=n2:delete global.ko);var SC=cgt;/** + * @license + * Knockout ES5 plugin - https://github.com/SteveSanderson/knockout-es5 + * Copyright (c) Steve Sanderson + * MIT license + */var zX="__knockoutObservables",HX="__knockoutSubscribable";function rAe(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=sAe(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach(function(o){if(!(o===zX||o===HX)&&!(o in i)){var r=e[o],s=r instanceof Array,a=n.isObservable(r)?r:s?n.observableArray(r):n.observable(r);Object.defineProperty(e,o,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[o]=a,s&&ugt(n,a)}}),e}function sAe(e,t){var n=e[zX];return!n&&t&&(n={},Object.defineProperty(e,zX,{value:n})),n}function lgt(e,t,n){var i=this,o={owner:e,deferEvaluation:!0};if(typeof n=="function")o.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof n.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');o.read=n.get,o.write=n.set}return e[t]=i.computed(o),rAe.call(i,e,[t]),e}function ugt(e,t){var n=null;e.computed(function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=fgt(e,t,i))})}function fgt(e,t,n){var i=dgt(e,n);return i.subscribe(t)}function dgt(e,t){var n=t[HX];if(!n){n=new e.subscribable,Object.defineProperty(t,HX,{value:n});var i={};hgt(t,n,i),mgt(e,t,n,i)}return n}function hgt(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(i){var o=e[i];e[i]=function(){var r=o.apply(this,arguments);return n.pause!==!0&&t.notifySubscribers(this),r}})}function mgt(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(o){Object.defineProperty(t,o,{enumerable:!1,value:function(){var r;i.pause=!0;try{r=e.observableArray.fn[o].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),r}})})}function aAe(e,t){if(!e)return null;var n=sAe(e,!1);return n&&n[t]||null}function pgt(e,t){var n=aAe(e,t);n&&n.valueHasMutated()}function _gt(e){e.track=rAe,e.getObservable=aAe,e.valueHasMutated=pgt,e.defineProperty=lgt}var i2={attachToKo:_gt};var cAe="http://www.w3.org/2000/svg",lAe="cesium-svgPath-svg",ggt={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){let i=document.createElementNS(cAe,"svg:svg");i.setAttribute("class",lAe);let o=document.createElementNS(cAe,"path");return i.appendChild(o),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){let r=e.unwrap(n());o.setAttribute("d",e.unwrap(r.path));let s=e.unwrap(r.width),a=e.unwrap(r.height);i.setAttribute("width",s),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${s} ${a}`),r.css&&i.setAttribute("class",`${lAe} ${e.unwrap(r.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}},o2=ggt;i2.attachToKo(SC);o2.register(SC);var Ce=SC;function r2(e){u(e)||(e=new vd),this._clock=e,this._eventHelper=new wr,this._eventHelper.add(e.onTick,this.synchronize,this),this.systemTime=Ce.observable($.now()),this.systemTime.equalityComparer=$.equals,this.startTime=Ce.observable(e.startTime),this.startTime.equalityComparer=$.equals,this.startTime.subscribe(function(t){e.startTime=t,this.synchronize()},this),this.stopTime=Ce.observable(e.stopTime),this.stopTime.equalityComparer=$.equals,this.stopTime.subscribe(function(t){e.stopTime=t,this.synchronize()},this),this.currentTime=Ce.observable(e.currentTime),this.currentTime.equalityComparer=$.equals,this.currentTime.subscribe(function(t){e.currentTime=t,this.synchronize()},this),this.multiplier=Ce.observable(e.multiplier),this.multiplier.subscribe(function(t){e.multiplier=t,this.synchronize()},this),this.clockStep=Ce.observable(e.clockStep),this.clockStep.subscribe(function(t){e.clockStep=t,this.synchronize()},this),this.clockRange=Ce.observable(e.clockRange),this.clockRange.subscribe(function(t){e.clockRange=t,this.synchronize()},this),this.canAnimate=Ce.observable(e.canAnimate),this.canAnimate.subscribe(function(t){e.canAnimate=t,this.synchronize()},this),this.shouldAnimate=Ce.observable(e.shouldAnimate),this.shouldAnimate.subscribe(function(t){e.shouldAnimate=t,this.synchronize()},this),Ce.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(r2.prototype,{clock:{get:function(){return this._clock}}});r2.prototype.synchronize=function(){let e=this._clock;this.systemTime=$.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate};r2.prototype.isDestroyed=function(){return!1};r2.prototype.destroy=function(){this._eventHelper.removeAll(),le(this)};var s2=r2;function ygt(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,de.throwInstantiationError()}var GX=ygt;var a2={};a2.createCheckbox=function(e,t,n){let i=document.createElement("div"),o=document.createElement("label"),r=document.createElement("input");r.type="checkbox";let s=`checked: ${t}`;return u(n)&&(s+=`, enable: ${n}`),r.setAttribute("data-bind",s),o.appendChild(r),o.appendChild(document.createTextNode(e)),i.appendChild(o),i};a2.createSection=function(e,t,n,i){let o=document.createElement("div");o.className="cesium-cesiumInspector-section",o.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${n} }`),e.appendChild(o);let r=document.createElement("h3");r.className="cesium-cesiumInspector-sectionHeader",r.appendChild(document.createTextNode(t)),r.setAttribute("data-bind",`click: ${i}`),o.appendChild(r);let s=document.createElement("div");return s.className="cesium-cesiumInspector-sectionContent",o.appendChild(s),s};a2.createRangeInput=function(e,t,n,i,o,r){r=y(r,t);let s=document.createElement("input");s.setAttribute("data-bind",`value: ${r}`),s.type="number";let a=document.createElement("input");a.type="range",a.min=n,a.max=i,a.step=y(o,"any"),a.setAttribute("data-bind",`valueUpdate: "input", value: ${t}`);let c=document.createElement("div");c.appendChild(a);let l=document.createElement("div");return l.className="cesium-cesiumInspector-slider",l.appendChild(document.createTextNode(e)),l.appendChild(s),l.appendChild(c),l};a2.createButton=function(e,t,n){let i=document.createElement("button");i.type="button",i.textContent=e,i.className="cesium-cesiumInspector-pickButton";let o=`click: ${t}`;return u(n)&&(o+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${n}}`),i.setAttribute("data-bind",o),i};var Ea=a2;function uAe(e,t){this._command=e,t=y(t,y.EMPTY_OBJECT),this.toggled=y(t.toggled,!1),this.tooltip=y(t.tooltip,""),Ce.track(this,["toggled","tooltip"])}Object.defineProperties(uAe.prototype,{command:{get:function(){return this._command}}});var Qy=uAe;function Agt(e,t){t=y(t,!0);let n=new Ae,i=new Ae;function o(){let r={args:arguments,cancel:!1},s;return n.raiseEvent(r),r.cancel||(s=e.apply(null,arguments),i.raiseEvent(s)),s}return o.canExecute=t,Ce.track(o,["canExecute"]),Object.defineProperties(o,{beforeExecute:{value:n},afterExecute:{value:i}}),o}var Cn=Agt;function xgt(e,t,n,i,o){return n.call(i,e[t]),Ce.getObservable(e,t).subscribe(n,i,o)}var ta=xgt;var DC="http://www.w3.org/2000/svg",hAe="http://www.w3.org/1999/xlink",oH,c2=z.fromCssColorString("rgba(247,250,255,0.384)"),rH=z.fromCssColorString("rgba(143,191,255,0.216)"),WX=z.fromCssColorString("rgba(153,197,255,0.098)"),sH=z.fromCssColorString("rgba(255,255,255,0.086)"),Cgt=z.fromCssColorString("rgba(255,255,255,0.267)"),Tgt=z.fromCssColorString("rgba(255,255,255,0)"),fAe=z.fromCssColorString("rgba(66,67,68,0.3)"),dAe=z.fromCssColorString("rgba(0,0,0,0.5)");function $y(e){return z.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}var l2={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function ch(e){let t=document.createElementNS(DC,e.tagName);for(let n in e)if(e.hasOwnProperty(n)&&n!=="tagName")if(n==="children"){let i=e.children.length;for(let o=0;o<i;++o)t.appendChild(ch(e.children[o]))}else n.indexOf("xlink:")===0?t.setAttributeNS(hAe,n.substring(6),e[n]):n==="textContent"?t.textContent=e[n]:t.setAttribute(n,e[n]);return t}function jX(e,t,n){let i=document.createElementNS(DC,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");let o=document.createElementNS(DC,"tspan");return o.textContent=n,i.appendChild(o),i}function Egt(e,t,n){e.setAttribute("transform",`translate(100,100) rotate(${n})`),t.setAttribute("transform",`rotate(${n})`)}var aH=new z;function jr(e,t){let n=t.alpha,i=1-n;return aH.red=e.red*i+t.red*n,aH.green=e.green*i+t.green*n,aH.blue=e.blue*i+t.blue*n,aH.toCssColorString()}function YX(e,t,n){let i=l2[n],o={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return ch(o)}function bgt(e,t,n){let i=l2[n],o=l2.animation_pathWingButton,r={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return ch(r)}function Sgt(e,t){let n=e._viewModel,i=n.shuttleRingDragging;if(!(i&&oH!==e))if(t.type==="mousedown"||i&&t.type==="mousemove"||t.type==="touchstart"&&t.touches.length===1||i&&t.type==="touchmove"&&t.touches.length===1){let o=e._centerX,r=e._centerY,a=e._svgNode.getBoundingClientRect(),c,l;if(t.type==="touchstart"||t.type==="touchmove"?(c=t.touches[0].clientX,l=t.touches[0].clientY):(c=t.clientX,l=t.clientY),!i&&(c>a.right||c<a.left||l<a.top||l>a.bottom))return;let f=e._shuttleRingPointer.getBoundingClientRect(),d=c-o-a.left,p=l-r-a.top,g=Math.atan2(p,d)*180/Math.PI+90;g>180&&(g-=360);let m=n.shuttleRingAngle;i||c<f.right&&c>f.left&&l>f.top&&l<f.bottom?(oH=e,n.shuttleRingDragging=!0,n.shuttleRingAngle=g):g<m?n.slower():g>m&&n.faster(),t.preventDefault()}else e===oH&&(oH=void 0),n.shuttleRingDragging=!1}function F_(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;let n=this;this._clickFunction=function(){let i=n._viewModel.command;i.canExecute&&i()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[ta(t,"toggled",this.setToggled,this),ta(t,"tooltip",this.setTooltip,this),ta(t.command,"canExecute",this.setEnabled,this)]}F_.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let e=this._subscriptions;for(let t=0,n=e.length;t<n;t++)e[t].dispose();le(this)};F_.prototype.isDestroyed=function(){return!1};F_.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};F_.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))};F_.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};function MS(e,t){e=In(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;let n=e.ownerDocument,i=document.createElement("style");i.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",n.head.insertBefore(i,n.head.childNodes[0]);let o=document.createElement("div");o.className="cesium-animation-theme",o.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=o,this._themeNormal=o.childNodes[0],this._themeHover=o.childNodes[1],this._themeSelect=o.childNodes[2],this._themeDisabled=o.childNodes[3],this._themeKnob=o.childNodes[4],this._themePointer=o.childNodes[5],this._themeSwoosh=o.childNodes[6],this._themeSwooshHover=o.childNodes[7];let r=document.createElementNS(DC,"svg:svg");this._svgNode=r,r.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",hAe);let s=document.createElementNS(DC,"g");this._topG=s,this._realtimeSVG=new F_(bgt(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new F_(YX(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new F_(YX(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new F_(YX(84,99,"animation_pathPause"),t.pauseViewModel);let a=document.createElementNS(DC,"g");a.appendChild(this._realtimeSVG.svgElement),a.appendChild(this._playReverseSVG.svgElement),a.appendChild(this._playForwardSVG.svgElement),a.appendChild(this._pauseSVG.svgElement);let c=ch({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=c;let l=l2.animation_pathSwooshFX,f=l2.animation_pathPointer,d=ch({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:l.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:l.d},{tagName:l.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:l.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=d,this._shuttleRingPointer=ch({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:f.tagName,d:f.d});let p=ch({tagName:"g",transform:"translate(100,100)"});this._knobOuter=ch({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let g=61,m=ch({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:g});this._knobDate=jX(0,-24,""),this._knobTime=jX(0,-7,""),this._knobStatus=jX(0,-41,"");let A=ch({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:g}),x=document.createElementNS(DC,"g");x.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(o),s.appendChild(x),s.appendChild(p),s.appendChild(a),x.appendChild(c),x.appendChild(d),x.appendChild(this._shuttleRingPointer),p.appendChild(this._knobOuter),p.appendChild(m),p.appendChild(this._knobDate),p.appendChild(this._knobTime),p.appendChild(this._knobStatus),p.appendChild(A),r.appendChild(s),e.appendChild(r);let C=this;function T(R){Sgt(C,R)}this._mouseCallback=T,c.addEventListener("mousedown",T,!0),c.addEventListener("touchstart",T,!0),d.addEventListener("mousedown",T,!0),d.addEventListener("touchstart",T,!0),n.addEventListener("mousemove",T,!0),n.addEventListener("touchmove",T,!0),n.addEventListener("mouseup",T,!0),n.addEventListener("touchend",T,!0),n.addEventListener("touchcancel",T,!0),this._shuttleRingPointer.addEventListener("mousedown",T,!0),this._shuttleRingPointer.addEventListener("touchstart",T,!0),this._knobOuter.addEventListener("mousedown",T,!0),this._knobOuter.addEventListener("touchstart",T,!0);let E=this._knobTime.childNodes[0],S=this._knobDate.childNodes[0],D=this._knobStatus.childNodes[0],w;this._subscriptions=[ta(t.pauseViewModel,"toggled",function(R){w!==R&&(w=R,w?C._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):C._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),ta(t,"shuttleRingAngle",function(R){Egt(C._shuttleRingPointer,C._knobOuter,R)}),ta(t,"dateLabel",function(R){S.textContent!==R&&(S.textContent=R)}),ta(t,"timeLabel",function(R){E.textContent!==R&&(E.textContent=R)}),ta(t,"multiplierLabel",function(R){D.textContent!==R&&(D.textContent=R)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(MS.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});MS.prototype.isDestroyed=function(){return!1};MS.prototype.destroy=function(){u(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let n=this._subscriptions;for(let i=0,o=n.length;i<o;i++)n[i].dispose();return le(this)};MS.prototype.resize=function(){let e=this._container.clientWidth,t=this._container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;let n=this._svgNode,i=200,o=132,r=e,s=t;e===0&&t===0?(r=i,s=o):e===0?(s=t,r=i*(t/o)):t===0&&(r=e,s=o*(e/i));let a=r/i,c=s/o;n.style.cssText=`width: ${r}px; height: ${s}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,n.setAttribute("width",r),n.setAttribute("height",s),n.setAttribute("viewBox",`0 0 ${r} ${s}`),this._topG.setAttribute("transform",`scale(${a},${c})`),this._centerX=Math.max(1,100*a),this._centerY=Math.max(1,100*c),this._lastHeight=e,this._lastWidth=t};MS.prototype.applyThemeChanges=function(){let e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(u(this._observer))return;let f=this;f._observer=new MutationObserver(function(){e.body.contains(f._container)&&(f._observer.disconnect(),f._observer=void 0,f.applyThemeChanges())}),f._observer.observe(e,{childList:!0,subtree:!0});return}let t=$y(this._themeNormal),n=$y(this._themeHover),i=$y(this._themeSelect),o=$y(this._themeDisabled),r=$y(this._themeKnob),s=$y(this._themePointer),a=$y(this._themeSwoosh),c=$y(this._themeSwooshHover),l=ch({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":jr(t,c2)},{tagName:"stop",offset:"12%","stop-color":jr(t,rH)},{tagName:"stop",offset:"46%","stop-color":jr(t,WX)},{tagName:"stop",offset:"81%","stop-color":jr(t,sH)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":jr(n,c2)},{tagName:"stop",offset:"12%","stop-color":jr(n,rH)},{tagName:"stop",offset:"46%","stop-color":jr(n,WX)},{tagName:"stop",offset:"81%","stop-color":jr(n,sH)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":jr(i,c2)},{tagName:"stop",offset:"12%","stop-color":jr(i,rH)},{tagName:"stop",offset:"46%","stop-color":jr(i,WX)},{tagName:"stop",offset:"81%","stop-color":jr(i,sH)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":jr(o,Cgt)},{tagName:"stop",offset:"75%","stop-color":jr(o,Tgt)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":a.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":jr(s,dAe)},{tagName:"stop",offset:"100%","stop-color":jr(s,dAe)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":jr(r,c2)},{tagName:"stop",offset:"60%","stop-color":jr(r,fAe)},{tagName:"stop",offset:"85%","stop-color":jr(r,rH)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":jr(r,fAe)},{tagName:"stop",offset:"60%","stop-color":jr(r,c2)},{tagName:"stop",offset:"85%","stop-color":jr(r,sH)}]}]});u(this._defsElement)?this._svgNode.replaceChild(l,this._defsElement):this._svgNode.appendChild(l),this._defsElement=l};var u2=MS;var Dgt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],e0=15,LS=105;function mAe(e,t){return e-t}function qX(e,t){let n=wo(t,e,mAe);return n<0?~n:n}function vgt(e,t){if(Math.abs(e)<=e0)return e/e0;let n=e0,i=LS,o,r=0,s;return e>0?(o=Math.log(t[t.length-1]),s=(o-r)/(i-n),Math.exp(r+s*(e-n))):(o=Math.log(-t[0]),s=(o-r)/(i-n),-Math.exp(r+s*(Math.abs(e)-n)))}function wgt(e,t,n){if(n.clockStep===uo.SYSTEM_CLOCK)return e0;if(Math.abs(e)<=1)return e*e0;let i=t[t.length-1];e>i?e=i:e<-i&&(e=-i);let o=e0,r=LS,s,a=0,c;return e>0?(s=Math.log(i),c=(s-a)/(r-o),(Math.log(e)-a)/c+o):(s=Math.log(-t[0]),c=(s-a)/(r-o),-((Math.log(Math.abs(e))-a)/c+o))}function Ff(e){let t=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=Ff.defaultDateFormatter,this._timeFormatter=Ff.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,Ce.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(Ff.defaultTicks),this.timeLabel=void 0,Ce.defineProperty(this,"timeLabel",function(){return t._timeFormatter(t._clockViewModel.currentTime,t)}),this.dateLabel=void 0,Ce.defineProperty(this,"dateLabel",function(){return t._dateFormatter(t._clockViewModel.currentTime,t)}),this.multiplierLabel=void 0,Ce.defineProperty(this,"multiplierLabel",function(){let s=t._clockViewModel;if(s.clockStep===uo.SYSTEM_CLOCK)return"Today";let a=s.multiplier;return a%1===0?`${a.toFixed(0)}x`:`${a.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,Ce.defineProperty(this,"shuttleRingAngle",{get:function(){return wgt(e.multiplier,t._allShuttleRingTicks,e)},set:function(s){s=Math.max(Math.min(s,LS),-LS);let a=t._allShuttleRingTicks,c=t._clockViewModel;if(c.clockStep=uo.SYSTEM_CLOCK_MULTIPLIER,Math.abs(s)===LS){c.multiplier=s>0?a[a.length-1]:a[0];return}let l=vgt(s,a);if(t.snapToTicks)l=a[qX(l,a)];else if(l!==0){let f=Math.abs(l);if(f>100){let d=f.toFixed(0).length-2,p=Math.pow(10,d);l=Math.round(l/p)*p|0}else f>e0?l=Math.round(l):f>1?l=+l.toFixed(1):f>0&&(l=+l.toFixed(2))}c.multiplier=l}}),this._canAnimate=void 0,Ce.defineProperty(this,"_canAnimate",function(){let s=t._clockViewModel,a=s.clockRange;if(t.shuttleRingDragging||a===Br.UNBOUNDED)return!0;let c=s.multiplier,l=s.currentTime,f=s.startTime,d=!1;if(a===Br.LOOP_STOP)d=$.greaterThan(l,f)||l.equals(f)&&c>0;else{let p=s.stopTime;d=$.greaterThan(l,f)&&$.lessThan(l,p)||l.equals(f)&&c>0||l.equals(p)&&c<0}return d||(s.shouldAnimate=!1),d}),this._isSystemTimeAvailable=void 0,Ce.defineProperty(this,"_isSystemTimeAvailable",function(){let s=t._clockViewModel;if(s.clockRange===Br.UNBOUNDED)return!0;let c=s.systemTime;return $.greaterThanOrEquals(c,s.startTime)&&$.lessThanOrEquals(c,s.stopTime)}),this._isAnimating=void 0,Ce.defineProperty(this,"_isAnimating",function(){return t._clockViewModel.shouldAnimate&&(t._canAnimate||t.shuttleRingDragging)});let n=Cn(function(){let s=t._clockViewModel;s.shouldAnimate?s.shouldAnimate=!1:t._canAnimate&&(s.shouldAnimate=!0)});this._pauseViewModel=new Qy(n,{toggled:Ce.computed(function(){return!t._isAnimating}),tooltip:"Pause"});let i=Cn(function(){let s=t._clockViewModel,a=s.multiplier;a>0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playReverseViewModel=new Qy(i,{toggled:Ce.computed(function(){return t._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});let o=Cn(function(){let s=t._clockViewModel,a=s.multiplier;a<0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playForwardViewModel=new Qy(o,{toggled:Ce.computed(function(){return t._isAnimating&&e.multiplier>0&&e.clockStep!==uo.SYSTEM_CLOCK}),tooltip:"Play Forward"});let r=Cn(function(){t._clockViewModel.clockStep=uo.SYSTEM_CLOCK},Ce.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new Qy(r,{toggled:Ce.computed(function(){return e.clockStep===uo.SYSTEM_CLOCK}),tooltip:Ce.computed(function(){return t._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=Cn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,l=qX(c,a)-1;l>=0&&(s.multiplier=a[l])}),this._faster=Cn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,l=qX(c,a)+1;l<a.length&&(s.multiplier=a[l])})}Ff.defaultDateFormatter=function(e,t){let n=$.toGregorianDate(e);return`${Dgt[n.month-1]} ${n.day} ${n.year}`};Ff.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800];Ff.defaultTimeFormatter=function(e,t){let n=$.toGregorianDate(e),i=Math.round(n.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")}.${i.toString().padStart(3,"0")}`:`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")} UTC`};Ff.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};Ff.prototype.setShuttleRingTicks=function(e){let t,n,i,o={},r=this._sortedFilteredPositiveTicks;for(r.length=0,t=0,n=e.length;t<n;++t)i=e[t],o.hasOwnProperty(i)||(o[i]=!0,r.push(i));r.sort(mAe);let s=[];for(n=r.length,t=n-1;t>=0;--t)i=r[t],i!==0&&s.push(-i);Array.prototype.push.apply(s,r),this._allShuttleRingTicks=s};Object.defineProperties(Ff.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){this._timeFormatter=e}}});Ff._maxShuttleRingAngle=LS;Ff._realtimeShuttleRingAngle=e0;var f2=Ff;function pAe(e){e=y(e,y.EMPTY_OBJECT);let t=e.globe,n=y(e.imageryProviderViewModels,[]),i=y(e.terrainProviderViewModels,[]);this._globe=t,this.imageryProviderViewModels=n.slice(0),this.terrainProviderViewModels=i.slice(0),this.dropDownVisible=!1,Ce.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let o=Ce.getObservable(this,"imageryProviderViewModels"),r=Ce.pureComputed(function(){let d=o(),p={},g;for(g=0;g<d.length;g++){let x=d[g],C=x.category;u(p[C])?p[C].push(x):p[C]=[x]}let m=Object.keys(p),A=[];for(g=0;g<m.length;g++){let x=m[g];A.push({name:x,providers:p[x]})}return A});this._imageryProviders=r;let s=Ce.getObservable(this,"terrainProviderViewModels"),a=Ce.pureComputed(function(){let d=s(),p={},g;for(g=0;g<d.length;g++){let x=d[g],C=x.category;u(p[C])?p[C].push(x):p[C]=[x]}let m=Object.keys(p),A=[];for(g=0;g<m.length;g++){let x=m[g];A.push({name:x,providers:p[x]})}return A});this._terrainProviders=a,this.buttonTooltip=void 0,Ce.defineProperty(this,"buttonTooltip",function(){let d=this.selectedImagery,p=this.selectedTerrain,g=u(d)?d.name:void 0,m=u(p)?p.name:void 0;return u(g)&&u(m)?`${g} +${m}`:u(g)?g:m}),this.buttonImageUrl=void 0,Ce.defineProperty(this,"buttonImageUrl",function(){let d=this.selectedImagery;if(u(d))return d.iconUrl}),this.selectedImagery=void 0;let c=Ce.observable();this._currentImageryProviders=[],Ce.defineProperty(this,"selectedImagery",{get:function(){return c()},set:function(d){if(c()===d){this.dropDownVisible=!1;return}let p,g=this._currentImageryProviders,m=g.length,A=this._globe.imageryLayers,x=!1;for(p=0;p<m;p++){let C=A.length;for(let T=0;T<C;T++){let E=A.get(T);if(E.imageryProvider===g[p]){A.remove(E),x=!0;break}}}if(u(d)){let C=d.creationCommand();if(Array.isArray(C)){let T=C.length;for(p=T-1;p>=0;p--)A.addImageryProvider(C[p],0);this._currentImageryProviders=C.slice(0)}else if(this._currentImageryProviders=[C],x)A.addImageryProvider(C,0);else{let T=A.get(0);u(T)&&A.remove(T),A.addImageryProvider(C,0)}}c(d),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let l=Ce.observable();Ce.defineProperty(this,"selectedTerrain",{get:function(){return l()},set:function(d){if(l()===d){this.dropDownVisible=!1;return}let p;u(d)&&(p=d.creationCommand()),this._globe.depthTestAgainstTerrain=!(p instanceof A_),this._globe.terrainProvider=p,l(d),this.dropDownVisible=!1}});let f=this;this._toggleDropDown=Cn(function(){f.dropDownVisible=!f.dropDownVisible}),this.selectedImagery=y(e.selectedImageryProviderViewModel,n[0]),this.selectedTerrain=y(e.selectedTerrainProviderViewModel,i[0])}Object.defineProperties(pAe.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var d2=pAe;function cH(e,t){e=In(e);let n=new d2(t),i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(i);let o=document.createElement("img");o.setAttribute("draggable","false"),o.className="cesium-baseLayerPicker-selected",o.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-baseLayerPicker-dropDown",r.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(r);let s=document.createElement("div");s.className="cesium-baseLayerPicker-sectionTitle",s.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),s.innerHTML="Imagery",r.appendChild(s);let a=document.createElement("div");a.className="cesium-baseLayerPicker-section",a.setAttribute("data-bind","foreach: _imageryProviders"),r.appendChild(a);let c=document.createElement("div");c.className="cesium-baseLayerPicker-category",a.appendChild(c);let l=document.createElement("div");l.className="cesium-baseLayerPicker-categoryTitle",l.setAttribute("data-bind","text: name"),c.appendChild(l);let f=document.createElement("div");f.className="cesium-baseLayerPicker-choices",f.setAttribute("data-bind","foreach: providers"),c.appendChild(f);let d=document.createElement("div");d.className="cesium-baseLayerPicker-item",d.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),f.appendChild(d);let p=document.createElement("img");p.className="cesium-baseLayerPicker-itemIcon",p.setAttribute("data-bind","attr: { src: iconUrl }"),p.setAttribute("draggable","false"),d.appendChild(p);let g=document.createElement("div");g.className="cesium-baseLayerPicker-itemLabel",g.setAttribute("data-bind","text: name"),d.appendChild(g);let m=document.createElement("div");m.className="cesium-baseLayerPicker-sectionTitle",m.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),m.innerHTML="Terrain",r.appendChild(m);let A=document.createElement("div");A.className="cesium-baseLayerPicker-section",A.setAttribute("data-bind","foreach: _terrainProviders"),r.appendChild(A);let x=document.createElement("div");x.className="cesium-baseLayerPicker-category",A.appendChild(x);let C=document.createElement("div");C.className="cesium-baseLayerPicker-categoryTitle",C.setAttribute("data-bind","text: name"),x.appendChild(C);let T=document.createElement("div");T.className="cesium-baseLayerPicker-choices",T.setAttribute("data-bind","foreach: providers"),x.appendChild(T);let E=document.createElement("div");E.className="cesium-baseLayerPicker-item",E.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),T.appendChild(E);let S=document.createElement("img");S.className="cesium-baseLayerPicker-itemIcon",S.setAttribute("data-bind","attr: { src: iconUrl }"),S.setAttribute("draggable","false"),E.appendChild(S);let D=document.createElement("div");D.className="cesium-baseLayerPicker-itemLabel",D.setAttribute("data-bind","text: name"),E.appendChild(D),Ce.applyBindings(n,i),Ce.applyBindings(n,r),this._viewModel=n,this._container=e,this._element=i,this._dropPanel=r,this._closeDropDown=function(w){i.contains(w.target)||r.contains(w.target)||(n.dropDownVisible=!1)},Vt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(cH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});cH.prototype.isDestroyed=function(){return!1};cH.prototype.destroy=function(){return Vt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Ce.cleanNode(this._element),Ce.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),le(this)};var h2=cH;function _Ae(e){let t=e.creationFunction;u(t.canExecute)||(t=Cn(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=y(e.category,""),Ce.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(_Ae.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var ps=_Ae;function Igt(){let e=[];return e.push(new ps({name:"Bing Maps Aerial",iconUrl:$t("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return D_({style:S_.AERIAL})}})),e.push(new ps({name:"Bing Maps Aerial with Labels",iconUrl:$t("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return D_({style:S_.AERIAL_WITH_LABELS})}})),e.push(new ps({name:"Bing Maps Roads",iconUrl:$t("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return D_({style:S_.ROAD})}})),e.push(new ps({name:"ESRI World Imagery",iconUrl:$t("Widgets/Images/ImageryProviders/esriWorldImagery.png"),tooltip:`World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes NASA Blue Marble: Next Generation 500m resolution imagery at small scales (above 1:1,000,000), i-cubed 15m eSAT imagery at medium-to-large scales (down to 1:70,000) for the world, and USGS 15m Landsat imagery for Antarctica. The map features 0.3m resolution imagery in the continental United States and 0.6m resolution imagery in parts of Western Europe from DigitalGlobe. In other parts of the world, 1 meter resolution imagery is available from GeoEye IKONOS, i-cubed Nationwide Prime, Getmapping, AeroGRID, IGN Spain, and IGP Portugal. Additionally, imagery at different resolutions has been contributed by the GIS User Community. +http://www.esri.com`,category:"Other",creationFunction:function(){return new T_({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",enablePickFeatures:!1})}})),e.push(new ps({name:"ESRI World Street Map",iconUrl:$t("Widgets/Images/ImageryProviders/esriWorldStreetMap.png"),tooltip:`This worldwide street map presents highway-level data for the world. Street-level data includes the United States; much of Canada; Japan; most countries in Europe; Australia and New Zealand; India; parts of South America including Argentina, Brazil, Chile, Colombia, and Venezuela; Ghana; and parts of southern Africa including Botswana, Lesotho, Namibia, South Africa, and Swaziland. +http://www.esri.com`,category:"Other",creationFunction:function(){return new T_({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",enablePickFeatures:!1})}})),e.push(new ps({name:"ESRI National Geographic",iconUrl:$t("Widgets/Images/ImageryProviders/esriNationalGeographic.png"),tooltip:`This web map contains the National Geographic World Map service. This map service is designed to be used as a general reference map for informational and educational purposes as well as a basemap by GIS professionals and other users for creating web maps and web mapping applications. +http://www.esri.com`,category:"Other",creationFunction:function(){return new T_({url:"https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",enablePickFeatures:!1})}})),e.push(new ps({name:"Open\xADStreet\xADMap",iconUrl:$t("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. +http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new _C({url:"https://a.tile.openstreetmap.org/"})}})),e.push(new ps({name:"Stamen Watercolor",iconUrl:$t("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:`Reminiscent of hand drawn maps, Stamen watercolor maps apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. +http://maps.stamen.com`,category:"Other",creationFunction:function(){return new _C({url:"https://stamen-tiles.a.ssl.fastly.net/watercolor/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),e.push(new ps({name:"Stamen Toner",iconUrl:$t("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`A high contrast black and white map. +http://maps.stamen.com`,category:"Other",creationFunction:function(){return new _C({url:"https://stamen-tiles.a.ssl.fastly.net/toner/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),e.push(new ps({name:"Sentinel-2",iconUrl:$t("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return new b_({assetId:3954})}})),e.push(new ps({name:"Blue Marble",iconUrl:$t("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return new b_({assetId:3845})}})),e.push(new ps({name:"Earth at night",iconUrl:$t("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return new b_({assetId:3812})}})),e.push(new ps({name:"Natural Earth\xA0II",iconUrl:$t("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast. +http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return new Fy({url:$t("Assets/Textures/NaturalEarthII")})}})),e}var m2=Igt;function Pgt(){let e=[];return e.push(new ps({name:"WGS84 Ellipsoid",iconUrl:$t("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new A_}})),e.push(new ps({name:"Cesium World Terrain",iconUrl:$t("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return gL({requestWaterMask:!0,requestVertexNormals:!0})}})),e}var p2=Pgt;function Ogt(e){return function(t){let n=e._scene.pick(t.position);u(n)&&n.primitive instanceof Rc&&(e.tileset=n.primitive),e.pickActive=!1}}function yAe(e,t){t?e._eventHandler.setInputAction(function(n){let i=e._scene.pick(n.endPosition);u(i)&&i.primitive instanceof Rc&&(e.tileset=i.primitive)},yn.MOUSE_MOVE):(e._eventHandler.removeInputAction(yn.MOUSE_MOVE),e.picking=e.picking)}var Rgt={maximumFractionDigits:3};function _2(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,Rgt):Math.round(t).toLocaleString()}function g2(e,t){if(!u(e))return"";let n=t?e._statisticsPerPass[qo.PICK]:e._statisticsPerPass[qo.RENDER],i='<ul class="cesium-cesiumInspector-statistics">';return i+=`<li><strong>Visited: </strong>${n.visited.toLocaleString()}</li><li><strong>Selected: </strong>${n.selected.toLocaleString()}</li><li><strong>Commands: </strong>${n.numberOfCommands.toLocaleString()}</li>`,i+="</ul>",t||(i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Requests: </strong>${n.numberOfPendingRequests.toLocaleString()}</li><li><strong>Attempted: </strong>${n.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>Processing: </strong>${n.numberOfTilesProcessing.toLocaleString()}</li><li><strong>Content Ready: </strong>${n.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>Total: </strong>${n.numberOfTilesTotal.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Features Selected: </strong>${n.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>Features Loaded: </strong>${n.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>Points Selected: </strong>${n.numberOfPointsSelected.toLocaleString()}</li><li><strong>Points Loaded: </strong>${n.numberOfPointsLoaded.toLocaleString()}</li><li><strong>Triangles Selected: </strong>${n.numberOfTrianglesSelected.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Tiles styled: </strong>${n.numberOfTilesStyled.toLocaleString()}</li><li><strong>Features styled: </strong>${n.numberOfFeaturesStyled.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Children Union Culled: </strong>${n.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Geometry Memory (MB): </strong>${_2(n.geometryByteLength)}</li><li><strong>Texture Memory (MB): </strong>${_2(n.texturesByteLength)}</li><li><strong>Batch Table Memory (MB): </strong>${_2(n.batchTableByteLength)}</li>`,i+="</ul>"),i}function AAe(){let e=Ui.statistics;return` + <ul class="cesium-cesiumInspector-statistics"> + <li><strong>Geometry Memory (MB): </strong>${_2(e.geometryByteLength)}</li> + <li><strong>Texture Memory (MB): </strong>${_2(e.texturesByteLength)}</li> + </ul> + `}var Bgt=[{text:"Highlight",value:ul.HIGHLIGHT},{text:"Replace",value:ul.REPLACE},{text:"Mix",value:ul.MIX}],gAe=new z(1,1,0,.4),Mgt=new z,lH=new z;function na(e,t){let n=this,i=e.canvas;this._eventHandler=new Tu(i),this._scene=e,this._performanceContainer=t,this._canvas=i,this._performanceDisplay=new P_({container:t}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this.hasEnabledWireframe=!1,this._tileset=void 0,this._feature=void 0,this._tile=void 0,Ce.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile","_tileset","hasEnabledWireframe"]),this._properties=Ce.observable({}),this.properties=[],Ce.defineProperty(this,"properties",function(){let V=[],X=n._properties();for(let j in X)X.hasOwnProperty(j)&&V.push(j);return V});let o=Ce.observable();Ce.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return o()},set:function(V){o(V),u(n._tileset)&&(n._tileset.dynamicScreenSpaceError=V)}}),this.dynamicScreenSpaceError=!1;let r=Ce.observable();Ce.defineProperty(this,"colorBlendMode",{get:function(){return r()},set:function(V){r(V),u(n._tileset)&&(n._tileset.colorBlendMode=V,n._scene.requestRender())}}),this.colorBlendMode=ul.HIGHLIGHT;let s=Ce.observable(),a=Ce.observable();Ce.defineProperty(this,"picking",{get:function(){return a()},set:function(V){a(V),V?n._eventHandler.setInputAction(function(X){let j=e.pick(X.endPosition);if(j instanceof xs?(n.feature=j,n.tile=j.content.tile):u(j)&&u(j.content)?(n.feature=void 0,n.tile=j.content.tile):(n.feature=void 0,n.tile=void 0),!!u(n._tileset)){if(s&&u(j)&&u(j.content)){let Q;e.pickPositionSupported&&(Q=e.pickPosition(X.endPosition),u(Q)&&(n._tileset.debugPickPosition=Q)),n._tileset.debugPickedTile=j.content.tile}else n._tileset.debugPickedTile=void 0;n._scene.requestRender()}},yn.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(yn.MOUSE_MOVE))}}),this.picking=!0;let c=Ce.observable();Ce.defineProperty(this,"colorize",{get:function(){return c()},set:function(V){c(V),u(n._tileset)&&(n._tileset.debugColorizeTiles=V,n._scene.requestRender())}}),this.colorize=!1;let l=Ce.observable();Ce.defineProperty(this,"wireframe",{get:function(){return l()},set:function(V){l(V),u(n._tileset)&&(n._tileset.debugWireframe=V,n._scene.requestRender())}}),this.wireframe=!1;let f=Ce.observable();Ce.defineProperty(this,"showBoundingVolumes",{get:function(){return f()},set:function(V){f(V),u(n._tileset)&&(n._tileset.debugShowBoundingVolume=V,n._scene.requestRender())}}),this.showBoundingVolumes=!1;let d=Ce.observable();Ce.defineProperty(this,"showContentBoundingVolumes",{get:function(){return d()},set:function(V){d(V),u(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=V,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let p=Ce.observable();Ce.defineProperty(this,"showRequestVolumes",{get:function(){return p()},set:function(V){p(V),u(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=V,n._scene.requestRender())}}),this.showRequestVolumes=!1;let g=Ce.observable();Ce.defineProperty(this,"freezeFrame",{get:function(){return g()},set:function(V){g(V),u(n._tileset)&&(n._tileset.debugFreezeFrame=V,n._scene.debugShowFrustumPlanes=V,n._scene.requestRender())}}),this.freezeFrame=!1,Ce.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return s()},set:function(V){s(V),u(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=V,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let m=Ce.observable();Ce.defineProperty(this,"showGeometricError",{get:function(){return m()},set:function(V){m(V),u(n._tileset)&&(n._tileset.debugShowGeometricError=V,n._scene.requestRender())}}),this.showGeometricError=!1;let A=Ce.observable();Ce.defineProperty(this,"showRenderingStatistics",{get:function(){return A()},set:function(V){A(V),u(n._tileset)&&(n._tileset.debugShowRenderingStatistics=V,n._scene.requestRender())}}),this.showRenderingStatistics=!1;let x=Ce.observable();Ce.defineProperty(this,"showMemoryUsage",{get:function(){return x()},set:function(V){x(V),u(n._tileset)&&(n._tileset.debugShowMemoryUsage=V,n._scene.requestRender())}}),this.showMemoryUsage=!1;let C=Ce.observable();Ce.defineProperty(this,"showUrl",{get:function(){return C()},set:function(V){C(V),u(n._tileset)&&(n._tileset.debugShowUrl=V,n._scene.requestRender())}}),this.showUrl=!1;let T=Ce.observable();Ce.defineProperty(this,"maximumScreenSpaceError",{get:function(){return T()},set:function(V){V=Number(V),isNaN(V)||(T(V),u(n._tileset)&&(n._tileset.maximumScreenSpaceError=V))}}),this.maximumScreenSpaceError=16;let E=Ce.observable();Ce.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return E()},set:function(V){V=Number(V),isNaN(V)||(E(V),u(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=V))}}),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,Ce.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(E(),1/6)},set:function(V){E(Math.pow(V,6))}});let S=Ce.observable();Ce.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return S()},set:function(V){V=Number(V),isNaN(V)||(S(V),u(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=V))}}),this.dynamicScreenSpaceErrorFactor=4;let D=Ogt(this),w=Ce.observable();Ce.defineProperty(this,"pickActive",{get:function(){return w()},set:function(V){w(V),V?n._eventHandler.setInputAction(D,yn.LEFT_CLICK):n._eventHandler.removeInputAction(yn.LEFT_CLICK)}});let R=Ce.observable();Ce.defineProperty(this,"pointCloudShading",{get:function(){return R()},set:function(V){R(V),u(n._tileset)&&(n._tileset.pointCloudShading.attenuation=V)}}),this.pointCloudShading=!1;let O=Ce.observable();Ce.defineProperty(this,"geometricErrorScale",{get:function(){return O()},set:function(V){V=Number(V),isNaN(V)||(O(V),u(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=V))}}),this.geometricErrorScale=1;let L=Ce.observable();Ce.defineProperty(this,"maximumAttenuation",{get:function(){return L()},set:function(V){V=Number(V),isNaN(V)||(L(V),u(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=V===0?void 0:V))}}),this.maximumAttenuation=0;let N=Ce.observable();Ce.defineProperty(this,"baseResolution",{get:function(){return N()},set:function(V){V=Number(V),isNaN(V)||(N(V),u(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=V===0?void 0:V))}}),this.baseResolution=0;let _=Ce.observable();Ce.defineProperty(this,"eyeDomeLighting",{get:function(){return _()},set:function(V){_(V),u(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=V)}}),this.eyeDomeLighting=!1;let b=Ce.observable();Ce.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return b()},set:function(V){V=Number(V),isNaN(V)||(b(V),u(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=V))}}),this.eyeDomeLightingStrength=1;let v=Ce.observable();Ce.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return v()},set:function(V){V=Number(V),isNaN(V)||(v(V),u(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=V))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let I=Ce.observable();Ce.defineProperty(this,"skipLevelOfDetail",{get:function(){return I()},set:function(V){I(V),u(n._tileset)&&(n._tileset.skipLevelOfDetail=V)}}),this.skipLevelOfDetail=!0;let B=Ce.observable();Ce.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return B()},set:function(V){V=Number(V),isNaN(V)||(B(V),u(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=V))}}),this.skipScreenSpaceErrorFactor=16;let F=Ce.observable();Ce.defineProperty(this,"baseScreenSpaceError",{get:function(){return F()},set:function(V){V=Number(V),isNaN(V)||(F(V),u(n._tileset)&&(n._tileset.baseScreenSpaceError=V))}}),this.baseScreenSpaceError=1024;let k=Ce.observable();Ce.defineProperty(this,"skipLevels",{get:function(){return k()},set:function(V){V=Number(V),isNaN(V)||(k(V),u(n._tileset)&&(n._tileset.skipLevels=V))}}),this.skipLevels=1;let U=Ce.observable();Ce.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return U()},set:function(V){U(V),u(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=V)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let G=Ce.observable();Ce.defineProperty(this,"loadSiblings",{get:function(){return G()},set:function(V){G(V),u(n._tileset)&&(n._tileset.loadSiblings=V)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()}),u(this._tileset)||yAe(this,!0)}Object.defineProperties(na.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return Bgt}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,u(e)){let t=this;e.readyPromise.then(function(r){t.isDestroyed()||t._properties(r.properties)});let n=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],i=n.length;for(let r=0;r<i;++r){let s=n[r];this[s]=this[s]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings,this.hasEnabledWireframe=e._enableDebugWireframe;let o=e.pointCloudShading;this.pointCloudShading=o.attenuation,this.geometricErrorScale=o.geometricErrorScale,this.maximumAttenuation=o.maximumAttenuation?o.maximumAttenuation:0,this.baseResolution=o.baseResolution?o.baseResolution:0,this.eyeDomeLighting=o.eyeDomeLighting,this.eyeDomeLightingStrength=o.eyeDomeLightingStrength,this.eyeDomeLightingRadius=o.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=g2(e,!1),this._pickStatisticsText=g2(e,!0),this._resourceCacheStatisticsText=AAe(),yAe(this,!1)}},feature:{get:function(){return this._feature},set:function(e){if(this._feature===e)return;let t=this._feature;u(t)&&!t.content.isDestroyed()&&(!this.colorize&&u(this._style)?t.color=u(this._style.color)?this._style.color.evaluateColor(t,Mgt):z.WHITE:t.color=lH,this._scene.requestRender()),u(e)&&(z.clone(e.color,lH),e.color=gAe,this._scene.requestRender()),this._feature=e}},tile:{get:function(){return this._tile},set:function(e){if(this._tile===e)return;let t=this._tile;u(t)&&!t.isDestroyed()&&!XX(t.content)&&(t.color=lH,this._scene.requestRender()),u(e)&&!XX(e.content)&&(z.clone(e.color,lH),e.color=gAe,this._scene.requestRender()),this._tile=e}}});function XX(e){if(!u(e))return!1;if(e.featuresLength>0)return!0;let t=e.innerContents;if(u(t)){let n=t.length;for(let i=0;i<n;++i)if(!XX(t[i]))return!1;return!0}return!1}na.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};na.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};na.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};na.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};na.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};na.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};na.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};na.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};na.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};na.prototype.trimTilesCache=function(){u(this._tileset)&&this._tileset.trimLoadedTiles()};na.prototype.compileStyle=function(){let e=this._tileset;if(!(!u(e)||this.styleString===JSON.stringify(e.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new fC(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(t){this._editorError=t.toString()}this.feature=this._feature,this.tile=this._tile}};na.prototype.styleEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` +`),c=a.length,l;if(t.shiftKey)for(l=0;l<c;++l)a[l][0]===" "&&(a[l][1]===" "?(a[l]=a[l].substr(2),r-=2):(a[l]=a[l].substr(1),r-=1));else for(l=0;l<c;++l)a[l]=` ${a[l]}`,r+=2;let f=a.join(` +`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileStyle();return!0};na.prototype._update=function(){let e=this._tileset;if(this.performance&&this._performanceDisplay.update(),u(e)){if(e.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=g2(e,!1),this._pickStatisticsText=g2(e,!0),this._resourceCacheStatisticsText=AAe())};na.prototype.isDestroyed=function(){return!1};na.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let e=this;return this._definedProperties.forEach(function(t){Ce.getObservable(e,t).dispose()}),le(this)};na.getStatistics=g2;var y2=na;function uH(e,t){e=In(e);let n=document.createElement("div"),i=document.createElement("div");i.setAttribute("data-bind","visible: performance");let o=new y2(t,i);this._viewModel=o,this._container=e,this._element=n;let r=document.createElement("div");r.textContent="3D Tiles Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleInspector"),n.appendChild(r),n.className="cesium-cesiumInspector cesium-3DTilesInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",n.appendChild(s);let a=Ea.createSection,c=Ea.createCheckbox,l=Ea.createRangeInput,f=Ea.createButton,d=a(s,"Tileset","tilesetVisible","toggleTileset"),p=a(s,"Display","displayVisible","toggleDisplay"),g=a(s,"Update","updateVisible","toggleUpdate"),m=a(s,"Logging","loggingVisible","toggleLogging"),A=a(s,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),x=a(s,"Style","styleVisible","toggleStyle"),C=a(s,"Optimization","optimizationVisible","toggleOptimization"),T=document.createElement("div");T.className="field-group";let E=document.createElement("label");E.className="field-label",E.appendChild(document.createTextNode("Properties: "));let S=document.createElement("div");S.setAttribute("data-bind","text: properties"),T.appendChild(E),T.appendChild(S),d.appendChild(T),d.appendChild(f("Pick Tileset","togglePickTileset","pickActive")),d.appendChild(f("Trim Tiles Cache","trimTilesCache")),d.appendChild(c("Enable Picking","picking")),p.appendChild(c("Colorize","colorize"));let D=p.appendChild(c("Wireframe","wireframe","_tileset === undefined || hasEnabledWireframe")),w=document.createElement("p");w.setAttribute("data-bind","visible: _tileset !== undefined && !hasEnabledWireframe"),w.setAttribute("class","cesium-3DTilesInspector-disabledElementsInfo"),w.innerText="Set enableDebugWireframe to true in the tileset constructor to enable this option.",D.appendChild(w),p.appendChild(c("Bounding Volumes","showBoundingVolumes")),p.appendChild(c("Content Volumes","showContentBoundingVolumes")),p.appendChild(c("Request Volumes","showRequestVolumes")),p.appendChild(c("Point Cloud Shading","pointCloudShading"));let R=document.createElement("div");R.setAttribute("data-bind","visible: pointCloudShading"),R.appendChild(l("Geometric Error Scale","geometricErrorScale",0,2,.01)),R.appendChild(l("Maximum Attenuation","maximumAttenuation",0,32,1)),R.appendChild(l("Base Resolution","baseResolution",0,1,.01)),R.appendChild(c("Eye Dome Lighting (EDL)","eyeDomeLighting")),p.appendChild(R);let O=document.createElement("div");O.setAttribute("data-bind","visible: eyeDomeLighting"),O.appendChild(l("EDL Strength","eyeDomeLightingStrength",0,2,.1)),O.appendChild(l("EDL Radius","eyeDomeLightingRadius",0,4,.1)),R.appendChild(O),g.appendChild(c("Freeze Frame","freezeFrame")),g.appendChild(c("Dynamic Screen Space Error","dynamicScreenSpaceError"));let L=document.createElement("div");L.appendChild(l("Maximum Screen Space Error","maximumScreenSpaceError",0,128,1)),g.appendChild(L);let N=document.createElement("div");N.setAttribute("data-bind","visible: dynamicScreenSpaceError"),N.appendChild(l("Screen Space Error Density","dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"dynamicScreenSpaceErrorDensity")),N.appendChild(l("Screen Space Error Factor","dynamicScreenSpaceErrorFactor",1,10,.1)),g.appendChild(N),m.appendChild(c("Performance","performance")),m.appendChild(i),m.appendChild(c("Statistics","showStatistics"));let _=document.createElement("div");_.className="cesium-3dTilesInspector-statistics",_.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),m.appendChild(_),m.appendChild(c("Pick Statistics","showPickStatistics"));let b=document.createElement("div");b.className="cesium-3dTilesInspector-statistics",b.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),m.appendChild(b),m.appendChild(c("Resource Cache Statistics","showResourceCacheStatistics"));let v=document.createElement("div");v.className="cesium-3dTilesInspector-statistics",v.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),m.appendChild(v);let I=document.createElement("div");x.appendChild(I),I.appendChild(document.createTextNode("Color Blend Mode: "));let B=document.createElement("select");B.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),I.appendChild(B);let F=document.createElement("textarea");F.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),I.className="cesium-cesiumInspector-styleEditor",I.appendChild(F);let k=f("Compile (Ctrl+Enter)","compileStyle");I.appendChild(k);let U=document.createElement("div");U.className="cesium-cesiumInspector-error",U.setAttribute("data-bind","text: editorError"),I.appendChild(U),A.appendChild(c("Show Picked Only","showOnlyPickedTileDebugLabel")),A.appendChild(c("Geometric Error","showGeometricError")),A.appendChild(c("Rendering Statistics","showRenderingStatistics")),A.appendChild(c("Memory Usage (MB)","showMemoryUsage")),A.appendChild(c("Url","showUrl")),C.appendChild(c("Skip Tile LODs","skipLevelOfDetail"));let G=document.createElement("div");G.appendChild(l("Skip SSE Factor","skipScreenSpaceErrorFactor",1,50,1)),C.appendChild(G);let V=document.createElement("div");V.appendChild(l("SSE before skipping LOD","baseScreenSpaceError",0,4096,1)),C.appendChild(V);let X=document.createElement("div");X.appendChild(l("Min. levels to skip","skipLevels",0,10,1)),C.appendChild(X),C.appendChild(c("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),C.appendChild(c("Load siblings of visible tiles","loadSiblings")),Ce.applyBindings(o,n)}Object.defineProperties(uH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});uH.prototype.isDestroyed=function(){return!1};uH.prototype.destroy=function(){return Ce.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),le(this)};var A2=uH;function Lgt(e){let t;if(u(e)){t="Command Statistics";let n=e.commandsInFrustums;for(let i in n)if(n.hasOwnProperty(i)){let o=parseInt(i,10),r;if(o===7)r="1, 2 and 3";else{let s=[];for(let a=2;a>=0;a--){let c=Math.pow(2,a);o>=c&&(s.push(a+1),o-=c)}r=s.reverse().join(" and ")}t+=`<br>    ${n[i]} in frustum ${r}`}t+=`<br>Total: ${e.totalCommands}`}return t}function KX(e,t,n){let i=Math.min(n,t);return i=Math.max(i,e),i}var Ngt=new wn,Fgt=new h;function x2(e,t){let n=this,i=e.canvas,o=new Tu(i);this._eventHandler=o,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;let r=this._scene.globe;r.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",Ce.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=Cn(function(){n.dropDownVisible=!n.dropDownVisible}),this._toggleGeneral=Cn(function(){n.generalVisible=!n.generalVisible}),this._togglePrimitives=Cn(function(){n.primitivesVisible=!n.primitivesVisible}),this._toggleTerrain=Cn(function(){n.terrainVisible=!n.terrainVisible}),this._frustumsSubscription=Ce.getObservable(this,"frustums").subscribe(function(l){n._scene.debugShowFrustums=l,n._scene.requestRender()}),this._frustumPlanesSubscription=Ce.getObservable(this,"frustumPlanes").subscribe(function(l){n._scene.debugShowFrustumPlanes=l,n._scene.requestRender()}),this._performanceSubscription=Ce.getObservable(this,"performance").subscribe(function(l){l?n._performanceDisplay=new P_({container:n._performanceContainer}):n._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=Cn(function(){return n._primitive.debugShowBoundingVolume=n.primitiveBoundingSphere,n._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=Ce.getObservable(this,"primitiveBoundingSphere").subscribe(function(){n._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=Cn(function(){if(n.primitiveReferenceFrame){let l=n._primitive.modelMatrix;n._modelMatrixPrimitive=new xF({modelMatrix:l}),n._scene.primitives.add(n._modelMatrixPrimitive)}else u(n._modelMatrixPrimitive)&&(n._scene.primitives.remove(n._modelMatrixPrimitive),n._modelMatrixPrimitive=void 0);return n._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=Ce.getObservable(this,"primitiveReferenceFrame").subscribe(function(){n._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=Cn(function(){return n.filterPrimitive?n._scene.debugCommandFilter=function(l){return u(n._modelMatrixPrimitive)&&l.owner===n._modelMatrixPrimitive._primitive?!0:u(n._primitive)?l.owner===n._primitive||l.owner===n._primitive._billboardCollection||l.owner.primitive===n._primitive:!1}:n._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=Ce.getObservable(this,"filterPrimitive").subscribe(function(){n._doFilterPrimitive(),n._scene.requestRender()}),this._wireframeSubscription=Ce.getObservable(this,"wireframe").subscribe(function(l){r._surface.tileProvider._debug.wireframe=l,n._scene.requestRender()}),this._depthFrustumSubscription=Ce.getObservable(this,"depthFrustum").subscribe(function(l){n._scene.debugShowDepthFrustum=l,n._scene.requestRender()}),this._incrementDepthFrustum=Cn(function(){let l=n.depthFrustum+1;return n.depthFrustum=KX(1,n._numberOfFrustums,l),n._scene.requestRender(),!0}),this._decrementDepthFrustum=Cn(function(){let l=n.depthFrustum-1;return n.depthFrustum=KX(1,n._numberOfFrustums,l),n._scene.requestRender(),!0}),this._suspendUpdatesSubscription=Ce.getObservable(this,"suspendUpdates").subscribe(function(l){r._surface._debug.suspendLodUpdate=l,l||(n.filterTile=!1)});let s;this._showTileCoordinates=Cn(function(){return n.tileCoordinates&&!u(s)?s=e.imageryLayers.addImageryProvider(new LF({tilingScheme:e.terrainProvider.tilingScheme})):!n.tileCoordinates&&u(s)&&(e.imageryLayers.remove(s),s=void 0),!0}),this._tileCoordinatesSubscription=Ce.getObservable(this,"tileCoordinates").subscribe(function(){n._showTileCoordinates(),n._scene.requestRender()}),this._tileBoundingSphereSubscription=Ce.getObservable(this,"tileBoundingSphere").subscribe(function(){n._showTileBoundingSphere(),n._scene.requestRender()}),this._showTileBoundingSphere=Cn(function(){return n.tileBoundingSphere?r._surface.tileProvider._debug.boundingSphereTile=n._tile:r._surface.tileProvider._debug.boundingSphereTile=void 0,n._scene.requestRender(),!0}),this._doFilterTile=Cn(function(){return n.filterTile?(n.suspendUpdates=!0,r._surface._tilesToRender=[],u(n._tile)&&n._tile.renderable&&r._surface._tilesToRender.push(n._tile)):n.suspendUpdates=!1,!0}),this._filterTileSubscription=Ce.getObservable(this,"filterTile").subscribe(function(){n.doFilterTile(),n._scene.requestRender()});function a(l){let f=n._scene.pick({x:l.position.x,y:l.position.y});u(f)&&(n.primitive=u(f.collection)?f.collection:f.primitive),n._scene.requestRender(),n.pickPrimitiveActive=!1}this._pickPrimitive=Cn(function(){n.pickPrimitiveActive=!n.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=Ce.getObservable(this,"pickPrimitiveActive").subscribe(function(l){l?o.setInputAction(a,yn.LEFT_CLICK):o.removeInputAction(yn.LEFT_CLICK)});function c(l){let f,d=r.ellipsoid,p=n._scene.camera.getPickRay(l.position,Ngt),g=r.pick(p,n._scene,Fgt);if(u(g)){let m=d.cartesianToCartographic(g),A=r._surface.tileProvider._tilesToRenderByTextureCount;for(let x=0;!f&&x<A.length;++x){let C=A[x];if(u(C))for(let T=0;!f&&T<C.length;++T){let E=C[T];ce.contains(E.rectangle,m)&&(f=E)}}}n.tile=f,n.pickTileActive=!1}this._pickTile=Cn(function(){n.pickTileActive=!n.pickTileActive}),this._pickTileActiveSubscription=Ce.getObservable(this,"pickTileActive").subscribe(function(l){l?o.setInputAction(c,yn.LEFT_CLICK):o.removeInputAction(yn.LEFT_CLICK)}),this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()})}Object.defineProperties(x2.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let e=this;return Cn(function(){e.tile=e.tile.parent})}},selectNW:{get:function(){let e=this;return Cn(function(){e.tile=e.tile.northwestChild})}},selectNE:{get:function(){let e=this;return Cn(function(){e.tile=e.tile.northeastChild})}},selectSW:{get:function(){let e=this;return Cn(function(){e.tile=e.tile.southwestChild})}},selectSE:{get:function(){let e=this;return Cn(function(){e.tile=e.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(e){let t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,u(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,u(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=e,e.show=!1,setTimeout(function(){e.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){if(u(e)){this.hasPickedTile=!0;let t=this._tile;if(e!==t){this.tileText=`L: ${e.level} X: ${e.x} Y: ${e.y}`,this.tileText+=`<br>SW corner: ${e.rectangle.west}, ${e.rectangle.south}`,this.tileText+=`<br>NE corner: ${e.rectangle.east}, ${e.rectangle.north}`;let n=e.data;u(n)&&u(n.tileBoundingRegion)?this.tileText+=`<br>Min: ${n.tileBoundingRegion.minimumHeight} Max: ${n.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});x2.prototype._update=function(){this.frustums&&(this.frustumStatisticText=Lgt(this._scene.debugFrustumStatistics));let e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=KX(1,e,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${e}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};x2.prototype.isDestroyed=function(){return!1};x2.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),le(this)};var C2=x2;function fH(e,t){e=In(e);let n=document.createElement("div"),i=new C2(t,n);this._viewModel=i,this._container=e;let o=document.createElement("div");this._element=o;let r=document.createElement("div");r.textContent="Cesium Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleDropDown"),o.appendChild(r),o.className="cesium-cesiumInspector",o.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",o.appendChild(s);let a=Ea.createSection,c=Ea.createCheckbox,l=a(s,"General","generalVisible","toggleGeneral"),f=c("Show Frustums","frustums"),d=document.createElement("div");d.className="cesium-cesiumInspector-frustumStatistics",d.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),f.appendChild(d),l.appendChild(f),l.appendChild(c("Show Frustum Planes","frustumPlanes")),l.appendChild(c("Performance Display","performance")),n.className="cesium-cesiumInspector-performanceDisplay",l.appendChild(n);let p=document.createElement("div");p.className="cesium-cesiumInspector-shaderCache",p.setAttribute("data-bind","html: shaderCacheText"),l.appendChild(p);let g=document.createElement("div");l.appendChild(g);let m=document.createElement("span");m.setAttribute("data-bind",'html: "     Frustum:"'),g.appendChild(m);let A=document.createElement("span");A.setAttribute("data-bind","text: depthFrustumText"),g.appendChild(A);let x=document.createElement("input");x.type="button",x.value="-",x.className="cesium-cesiumInspector-pickButton",x.setAttribute("data-bind","click: decrementDepthFrustum"),g.appendChild(x);let C=document.createElement("input");C.type="button",C.value="+",C.className="cesium-cesiumInspector-pickButton",C.setAttribute("data-bind","click: incrementDepthFrustum"),g.appendChild(C);let T=a(s,"Primitives","primitivesVisible","togglePrimitives"),E=document.createElement("div");E.className="cesium-cesiumInspector-pickSection",T.appendChild(E);let S=document.createElement("input");S.type="button",S.value="Pick a primitive",S.className="cesium-cesiumInspector-pickButton",S.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let D=document.createElement("div");D.className="cesium-cesiumInspector-center",D.appendChild(S),E.appendChild(D),E.appendChild(c("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),E.appendChild(c("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=c("Show only selected","filterPrimitive","hasPickedPrimitive"),E.appendChild(this._primitiveOnly);let w=a(s,"Terrain","terrainVisible","toggleTerrain"),R=document.createElement("div");R.className="cesium-cesiumInspector-pickSection",w.appendChild(R);let O=document.createElement("input");O.type="button",O.value="Pick a tile",O.className="cesium-cesiumInspector-pickButton",O.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),D=document.createElement("div"),D.appendChild(O),D.className="cesium-cesiumInspector-center",R.appendChild(D);let L=document.createElement("div");R.appendChild(L);let N=document.createElement("input");N.type="button",N.value="Parent",N.className="cesium-cesiumInspector-pickButton",N.setAttribute("data-bind","click: selectParent");let _=document.createElement("input");_.type="button",_.value="NW",_.className="cesium-cesiumInspector-pickButton",_.setAttribute("data-bind","click: selectNW");let b=document.createElement("input");b.type="button",b.value="NE",b.className="cesium-cesiumInspector-pickButton",b.setAttribute("data-bind","click: selectNE");let v=document.createElement("input");v.type="button",v.value="SW",v.className="cesium-cesiumInspector-pickButton",v.setAttribute("data-bind","click: selectSW");let I=document.createElement("input");I.type="button",I.value="SE",I.className="cesium-cesiumInspector-pickButton",I.setAttribute("data-bind","click: selectSE");let B=document.createElement("div");B.className="cesium-cesiumInspector-tileText",L.className="cesium-cesiumInspector-frustumStatistics",L.appendChild(B),L.setAttribute("data-bind","visible: hasPickedTile"),B.setAttribute("data-bind","html: tileText");let F=document.createElement("div");F.className="cesium-cesiumInspector-relativeText",F.textContent="Select relative:",L.appendChild(F);let k=document.createElement("table"),U=document.createElement("tr"),G=document.createElement("tr"),V=document.createElement("td");V.appendChild(N);let X=document.createElement("td");X.appendChild(_);let j=document.createElement("td");j.appendChild(b),U.appendChild(V),U.appendChild(X),U.appendChild(j);let Q=document.createElement("td"),W=document.createElement("td");W.appendChild(v);let K=document.createElement("td");K.appendChild(I),G.appendChild(Q),G.appendChild(W),G.appendChild(K),k.appendChild(U),k.appendChild(G),L.appendChild(k),R.appendChild(c("Show bounding volume","tileBoundingSphere","hasPickedTile")),R.appendChild(c("Show only selected","filterTile","hasPickedTile")),w.appendChild(c("Wireframe","wireframe")),w.appendChild(c("Suspend LOD update","suspendUpdates")),w.appendChild(c("Show tile coordinates","tileCoordinates")),Ce.applyBindings(i,this._element)}Object.defineProperties(fH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});fH.prototype.isDestroyed=function(){return!1};fH.prototype.destroy=function(){return Ce.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),le(this)};var T2=fH;var xAe=1e3;function bm(e){u(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new tL,new hL({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._geocodePromise=void 0,this._complete=new Ae,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=TAe,this._handleArrowUp=CAe;let t=this;this._suggestionsVisible=Ce.pureComputed(function(){let o=Ce.getObservable(t,"_suggestions")().length>0,r=Ce.getObservable(t,"_showSuggestions")();return o&&r}),this._searchCommand=Cn(function(i){if(i=y(i,By.SEARCH),t._focusTextbox=!1,u(t._selectedSuggestion))return t.activateSuggestion(t._selectedSuggestion),!1;t.hideSuggestions(),t.isSearchInProgress?Ggt(t):zgt(t,t._geocoderServices,i)}),this.deselectSuggestion=function(){t._selectedSuggestion=void 0},this.handleKeyDown=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38;return(r||s)&&o.preventDefault(),!0},this.handleKeyUp=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38,a=o.key==="Enter"||o.keyCode===13;return s?CAe(t):r?TAe(t):a&&t._searchCommand(),!0},this.activateSuggestion=function(i){t.hideSuggestions(),t._searchText=i.displayName;let o=i.destination;bAe(t),t.destinationFound(t,o)},this.hideSuggestions=function(){t._showSuggestions=!1,t._selectedSuggestion=void 0},this.showSuggestions=function(){t._showSuggestions=!0},this.handleMouseover=function(i,o){i!==t._selectedSuggestion&&(t._selectedSuggestion=i)},this.keepExpanded=!1,this.autoComplete=y(e.autocomplete,!0),this.destinationFound=y(e.destinationFound,bm.flyToDestination),this._focusTextbox=!1,Ce.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let n=Ce.getObservable(this,"_searchText");n.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=n.subscribe(function(){bm._updateSearchSuggestions(t)}),this.isSearchInProgress=void 0,Ce.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,Ce.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(i){this._searchText=i}}),this.flightDuration=void 0,Ce.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(i){this._flightDuration=i}})}Object.defineProperties(bm.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});bm.prototype.destroy=function(){this._suggestionSubscription.dispose()};function CAe(e){if(e._suggestions.length===0)return;let t=e._suggestions.indexOf(e._selectedSuggestion);if(t===-1||t===0){e._selectedSuggestion=void 0;return}let n=t-1;e._selectedSuggestion=e._suggestions[n],bm._adjustSuggestionsScroll(e,n)}function TAe(e){if(e._suggestions.length===0)return;let t=e._suggestions.length,i=(e._suggestions.indexOf(e._selectedSuggestion)+1)%t;e._selectedSuggestion=e._suggestions[i],bm._adjustSuggestionsScroll(e,i)}function Vgt(e,t){let n=u(t)?t.availability:void 0;return u(n)?u_(t,[e]).then(function(i){return e=i[0],e.height+=xAe,e}):(e.height+=xAe,Promise.resolve(e))}function Ugt(e,t){let n=e._scene,o=n.mapProjection.ellipsoid,r=n.camera,s=n.terrainProvider,a=t,c;return t instanceof ce?P.equalsEpsilon(t.south,t.north,P.EPSILON7)&&P.equalsEpsilon(t.east,t.west,P.EPSILON7)?t=ce.center(t):c=bC(t,n):t=o.cartesianToCartographic(t),u(c)||(c=Vgt(t,s)),c.then(function(l){a=o.cartographicToCartesian(l)}).finally(function(){r.flyTo({destination:a,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:M.IDENTITY})})}function kgt(e,t,n,i){return e.then(function(o){return u(o)&&o.state==="fulfilled"&&o.value.length>0?o:t.geocode(n,i).then(function(s){return{state:"fulfilled",value:s}}).catch(function(s){return{state:"rejected",reason:s}})})}function zgt(e,t,n){let i=e._searchText;if(EAe(i)){e.showSuggestions();return}e._isSearchInProgress=!0;let o=Promise.resolve();for(let r=0;r<t.length;r++)o=kgt(o,t[r],i,n);e._geocodePromise=o,o.then(function(r){if(o.cancel)return;e._isSearchInProgress=!1;let s=r.value;if(r.state==="fulfilled"&&u(s)&&s.length>0){e._searchText=s[0].displayName,e.destinationFound(e,s[0].destination);return}e._searchText=`${i} (not found)`})}function Hgt(e,t){let n=In(e._viewContainer),i=n.getElementsByClassName("search-results")[0],r=n.getElementsByTagName("li")[t];if(t===0){i.scrollTop=0;return}let s=r.offsetTop;s+r.clientHeight>i.clientHeight?i.scrollTop=s+r.clientHeight:s<i.scrollTop&&(i.scrollTop=s)}function Ggt(e){e._isSearchInProgress=!1,u(e._geocodePromise)&&(e._geocodePromise.cancel=!0,e._geocodePromise=void 0)}function EAe(e){return/^\s*$/.test(e)}function bAe(e){Ce.getObservable(e,"_suggestions").removeAll()}function Wgt(e){if(!e.autoComplete)return;let t=e._searchText;if(bAe(e),EAe(t))return;let n=Promise.resolve([]);return e._geocoderServices.forEach(function(i){n=n.then(function(o){return o.length>=5?o:i.geocode(t,By.AUTOCOMPLETE).then(function(r){return o=o.concat(r),o})})}),n.then(function(i){let o=e._suggestions;for(let r=0;r<i.length;r++)o.push(i[r])})}bm.flyToDestination=Ugt;bm._updateSearchSuggestions=Wgt;bm._adjustSuggestionsScroll=Hgt;var E2=bm;var jgt="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",Ygt="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function dH(e){let t=In(e.container),n=new E2(e);n._startSearchPath=jgt,n._stopSearchPath=Ygt;let i=document.createElement("form");i.setAttribute("data-bind","submit: search");let o=document.createElement("input");o.type="search",o.className="cesium-geocoder-input",o.setAttribute("placeholder","Enter an address or landmark..."),o.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){o.select()},0)},o.addEventListener("focus",this._onTextBoxFocus,!1),i.appendChild(o),this._textBox=o;let r=document.createElement("span");r.className="cesium-geocoder-searchButton",r.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(r),t.appendChild(i);let s=document.createElement("div");s.className="search-results",s.setAttribute("data-bind","visible: _suggestionsVisible");let a=document.createElement("ul");a.setAttribute("data-bind","foreach: _suggestions");let c=document.createElement("li");a.appendChild(c),c.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),s.appendChild(a),t.appendChild(s),Ce.applyBindings(n,i),Ce.applyBindings(n,s),this._container=t,this._searchSuggestionsContainer=s,this._viewModel=n,this._form=i,this._onInputBegin=function(l){let f=l.target;typeof l.composedPath=="function"&&(f=l.composedPath()[0]),t.contains(f)||(n._focusTextbox=!1,n.hideSuggestions())},this._onInputEnd=function(l){n._focusTextbox=!0,n.showSuggestions()},Vt.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),t.addEventListener("pointerup",this._onInputEnd,!0),t.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),t.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),t.addEventListener("touchend",this._onInputEnd,!0),t.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(dH.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});dH.prototype.isDestroyed=function(){return!1};dH.prototype.destroy=function(){let e=this._container;return Vt.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),Ce.cleanNode(this._form),Ce.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),le(this)};var b2=dH;function SAe(e,t){this._scene=e,this._duration=t;let n=this;this._command=Cn(function(){n._scene.camera.flyHome(n._duration)}),this.tooltip="View Home",Ce.track(this,["tooltip"])}Object.defineProperties(SAe.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}}});var S2=SAe;function hH(e,t,n){e=In(e);let i=new S2(t,n);i._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button cesium-home-button",o.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(o),Ce.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(hH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});hH.prototype.isDestroyed=function(){return!1};hH.prototype.destroy=function(){return Ce.cleanNode(this._element),this._container.removeChild(this._element),le(this)};var D2=hH;function mH(e,t){u(t)||(t=document.body),t=In(t);let n=this,i=Ce.observable(fr.fullscreen),o=Ce.observable(fr.enabled),r=t.ownerDocument;this.isFullscreen=void 0,Ce.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,Ce.defineProperty(this,"isFullscreenEnabled",{get:function(){return o()},set:function(s){o(s&&fr.enabled)}}),this.tooltip=void 0,Ce.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=Cn(function(){fr.fullscreen?fr.exitFullscreen():fr.requestFullscreen(n._fullscreenElement)},Ce.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=y(In(e),r.body),this._callback=function(){i(fr.fullscreen)},r.addEventListener(fr.changeEventName,this._callback)}Object.defineProperties(mH.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){this._fullscreenElement=e}},command:{get:function(){return this._command}}});mH.prototype.isDestroyed=function(){return!1};mH.prototype.destroy=function(){document.removeEventListener(fr.changeEventName,this._callback),le(this)};var v2=mH;var qgt="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",Xgt="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function pH(e,t){e=In(e);let n=new v2(t,e);n._exitFullScreenPath=Xgt,n._enterFullScreenPath=qgt;let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-fullscreenButton",i.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(i),Ce.applyBindings(n,i),this._container=e,this._viewModel=n,this._element=i}Object.defineProperties(pH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});pH.prototype.isDestroyed=function(){return!1};pH.prototype.destroy=function(){return this._viewModel.destroy(),Ce.cleanNode(this._element),this._container.removeChild(this._element),le(this)};var w2=pH;var Kgt="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",Zgt="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function ZX(){this._cameraClicked=new Ae,this._closeClicked=new Ae,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",Ce.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,Ce.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?Zgt:Kgt}}),Ce.defineProperty(this,"_bodyless",{get:function(){return!u(this.description)||this.description.length===0}})}ZX.prototype.maxHeightOffset=function(e){return`${this.maxHeight-e}px`};Object.defineProperties(ZX.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var I2=ZX;function _H(e){e=In(e);let t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t);let n=document.createElement("div");n.className="cesium-infoBox-title",n.setAttribute("data-bind","text: titleText"),t.appendChild(n);let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-infoBox-camera",i.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-infoBox-close",o.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),o.innerHTML="×",t.appendChild(o);let r=document.createElement("iframe");r.className="cesium-infoBox-iframe",r.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),r.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),r.setAttribute("allowfullscreen",!0),t.appendChild(r);let s=new I2;Ce.applyBindings(s,t),this._container=e,this._element=t,this._frame=r,this._viewModel=s,this._descriptionSubscription=void 0;let a=this;r.addEventListener("load",function(){let c=r.contentDocument,l=c.createElement("link");l.href=$t("Widgets/InfoBox/InfoBoxDescription.css"),l.rel="stylesheet",l.type="text/css";let f=c.createElement("div");f.className="cesium-infoBox-description",c.head.appendChild(l),c.body.appendChild(f),a._descriptionSubscription=ta(s,"description",function(d){r.style.height="5px",f.innerHTML=d;let p=null,g=f.firstElementChild;if(g!==null&&f.childNodes.length===1){let A=window.getComputedStyle(g);if(A!==null){let x=A["background-color"],C=z.fromCssColorString(x);u(C)&&C.alpha!==0&&(p=A["background-color"])}}t.style["background-color"]=p;let m=f.getBoundingClientRect().height;r.style.height=`${m}px`})}),r.setAttribute("src","about:blank")}Object.defineProperties(_H.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});_H.prototype.isDestroyed=function(){return!1};_H.prototype.destroy=function(){let e=this._container;return Ce.cleanNode(this._element),e.removeChild(this._element),u(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),le(this)};var P2=_H;function DAe(){this.showInstructions=!1;let e=this;this._command=Cn(function(){e.showInstructions=!e.showInstructions}),this._showClick=Cn(function(){e._touch=!1}),this._showTouch=Cn(function(){e._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",Ce.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(DAe.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var O2=DAe;function gH(e){let t=In(e.container),n=new O2,i=y(e.instructionsInitiallyVisible,!1);n.showInstructions=i,n._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let o=document.createElement("span");o.className="cesium-navigationHelpButton-wrapper",t.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",r.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),o.appendChild(r);let s=document.createElement("div");s.className="cesium-navigation-help",s.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-navigation-button cesium-navigation-button-left",a.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let c=document.createElement("img");c.src=$t("Widgets/Images/NavigationHelp/Mouse.svg"),c.className="cesium-navigation-button-icon",c.style.width="25px",c.style.height="25px",a.appendChild(c),a.appendChild(document.createTextNode("Mouse"));let l=document.createElement("button");l.type="button",l.className="cesium-navigation-button cesium-navigation-button-right",l.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let f=document.createElement("img");f.src=$t("Widgets/Images/NavigationHelp/Touch.svg"),f.className="cesium-navigation-button-icon",f.style.width="25px",f.style.height="25px",l.appendChild(f),l.appendChild(document.createTextNode("Touch")),s.appendChild(a),s.appendChild(l);let d=document.createElement("div");d.className="cesium-click-navigation-help cesium-navigation-help-instructions",d.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),d.innerHTML=` <table> <tr> <td><img src="${$t("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${$t("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${$t("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,s.appendChild(d);let p=document.createElement("div");p.className="cesium-touch-navigation-help cesium-navigation-help-instructions",p.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),p.innerHTML=` <table> <tr> <td><img src="${$t("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${$t("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${$t("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${$t("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,s.appendChild(p),Ce.applyBindings(n,o),this._container=t,this._viewModel=n,this._wrapper=o,this._closeInstructions=function(g){o.contains(g.target)||(n.showInstructions=!1)},Vt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(gH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});gH.prototype.isDestroyed=function(){return!1};gH.prototype.destroy=function(){return Vt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),Ce.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),le(this)};var R2=gH;function JX(e){this._scene=e.scene,this.lowFrameRateMessage=y(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,Ce.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let t=this;this._dismissMessage=Cn(function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0});let n=EF.fromScene(e.scene);this._unsubscribeLowFrameRate=n.lowFrameRate.addEventListener(function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=n.nominalFrameRate.addEventListener(function(){t.showingLowFrameRateMessage=!1})}Object.defineProperties(JX.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});JX.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),le(this)};var B2=JX;function yH(e){let t=In(e.container),n=new B2(e),i=document.createElement("div");i.className="cesium-performance-watchdog-message-area",i.setAttribute("data-bind","visible: showingLowFrameRateMessage");let o=document.createElement("button");o.setAttribute("type","button"),o.className="cesium-performance-watchdog-message-dismiss",o.innerHTML="×",o.setAttribute("data-bind","click: dismissMessage"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-performance-watchdog-message",r.setAttribute("data-bind","html: lowFrameRateMessage"),i.appendChild(r),t.appendChild(i),Ce.applyBindings(n,i),this._container=t,this._viewModel=n,this._element=i}Object.defineProperties(yH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});yH.prototype.isDestroyed=function(){return!1};yH.prototype.destroy=function(){return this._viewModel.destroy(),Ce.cleanNode(this._element),this._container.removeChild(this._element),le(this)};var M2=yH;function AH(e){this._scene=e,this._orthographic=e.camera.frustum instanceof en,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,Ce.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let t=this;Ce.defineProperty(this,"selectedTooltip",function(){return t._orthographic?t.tooltipOrthographic:t.tooltipPerspective}),this._toggleDropDown=Cn(function(){t.sceneMode===te.SCENE2D||t._flightInProgress||(t.dropDownVisible=!t.dropDownVisible)}),this._eventHelper=new wr,this._eventHelper.add(e.morphComplete,function(n,i,o,r){t.sceneMode=o,t._orthographic=o===te.SCENE2D||t._scene.camera.frustum instanceof en}),this._eventHelper.add(e.preRender,function(){t._flightInProgress=u(e.camera._currentFlight)}),this._switchToPerspective=Cn(function(){t.sceneMode!==te.SCENE2D&&(t._scene.camera.switchToPerspectiveFrustum(),t._orthographic=!1,t.dropDownVisible=!1)}),this._switchToOrthographic=Cn(function(){t.sceneMode!==te.SCENE2D&&(t._scene.camera.switchToOrthographicFrustum(),t._orthographic=!0,t.dropDownVisible=!1)}),this._sceneMode=te}Object.defineProperties(AH.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});AH.prototype.isDestroyed=function(){return!1};AH.prototype.destroy=function(){this._eventHelper.removeAll(),le(this)};var L2=AH;var Jgt="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",Qgt="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function xH(e,t){e=In(e);let n=new L2(t);n._perspectivePath=Jgt,n._orthographicPath=Qgt;let i=document.createElement("span");i.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button",o.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),o.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',i.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",r.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),i.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),i.appendChild(s),Ce.applyBindings(n,i),this._viewModel=n,this._container=e,this._wrapper=i,this._closeDropDown=function(a){i.contains(a.target)||(n.dropDownVisible=!1)},Vt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(xH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});xH.prototype.isDestroyed=function(){return!1};xH.prototype.destroy=function(){return this._viewModel.destroy(),Vt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Ce.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),le(this)};var N2=xH;function CH(e,t){this._scene=e;let n=this,i=function(o,r,s,a){n.sceneMode=s,n.dropDownVisible=!1};this._eventHelper=new wr,this._eventHelper.add(e.morphStart,i),this._duration=y(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",Ce.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,Ce.defineProperty(this,"selectedTooltip",function(){let o=n.sceneMode;return o===te.SCENE2D?n.tooltip2D:o===te.SCENE3D?n.tooltip3D:n.tooltipColumbusView}),this._toggleDropDown=Cn(function(){n.dropDownVisible=!n.dropDownVisible}),this._morphTo2D=Cn(function(){e.morphTo2D(n._duration)}),this._morphTo3D=Cn(function(){e.morphTo3D(n._duration)}),this._morphToColumbusView=Cn(function(){e.morphToColumbusView(n._duration)}),this._sceneMode=te}Object.defineProperties(CH.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});CH.prototype.isDestroyed=function(){return!1};CH.prototype.destroy=function(){this._eventHelper.removeAll(),le(this)};var F2=CH;var $gt="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",eyt="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",tyt="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function TH(e,t,n){e=In(e);let i=new F2(t,n);i._globePath=$gt,i._flatMapPath=eyt,i._columbusViewPath=tyt;let o=document.createElement("span");o.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button",r.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),r.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',o.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",a.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),o.appendChild(a);let c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",c.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),o.appendChild(c),Ce.applyBindings(i,o),this._viewModel=i,this._container=e,this._wrapper=o,this._closeDropDown=function(l){o.contains(l.target)||(i.dropDownVisible=!1)},Vt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(TH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});TH.prototype.isDestroyed=function(){return!1};TH.prototype.destroy=function(){return this._viewModel.destroy(),Vt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Ce.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),le(this)};var V2=TH;var nyt=new H,EH="-1000px";function U2(e,t,n){this._scene=e,this._screenPositionX=EH,this._screenPositionY=EH,this._tweens=e.tweens,this._container=y(n,document.body),this._selectionIndicatorElement=t,this._scale=1,this.position=void 0,this.showSelection=!1,Ce.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,Ce.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&u(this.position)}}),Ce.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(i,o){return qi.wgs84ToWindowCoordinates(e,i,o)}}U2.prototype.update=function(){if(this.showSelection&&u(this.position)){let e=this.computeScreenSpacePosition(this.position,nyt);if(!u(e))this._screenPositionX=EH,this._screenPositionY=EH;else{let t=this._container,n=t.parentNode.clientWidth,i=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,r=o*.5;e.x=Math.min(Math.max(e.x,-o),n+o)-r,e.y=Math.min(Math.max(e.y,-o),i+o)-r,this._screenPositionX=`${Math.floor(e.x+.25)}px`,this._screenPositionY=`${Math.floor(e.y+.25)}px`}}};U2.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:Mr.EXPONENTIAL_OUT})};U2.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:Mr.EXPONENTIAL_OUT})};Object.defineProperties(U2.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var k2=U2;function bH(e,t){e=In(e),this._container=e;let n=document.createElement("div");n.className="cesium-selection-wrapper",n.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(n),this._element=n;let i="http://www.w3.org/2000/svg",o="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",r=document.createElementNS(i,"svg:svg");r.setAttribute("width",160),r.setAttribute("height",160),r.setAttribute("viewBox","0 0 160 160");let s=document.createElementNS(i,"g");s.setAttribute("transform","translate(80,80)"),r.appendChild(s);let a=document.createElementNS(i,"path");a.setAttribute("data-bind","attr: { transform: _transform }"),a.setAttribute("d",o),s.appendChild(a),n.appendChild(r);let c=new k2(t,this._element,this._container);this._viewModel=c,Ce.applyBindings(this._viewModel,this._element)}Object.defineProperties(bH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});bH.prototype.isDestroyed=function(){return!1};bH.prototype.destroy=function(){let e=this._container;return Ce.cleanNode(this._element),e.removeChild(this._element),le(this)};var z2=bH;function vC(e,t,n){this._color=e,this._height=t,this._base=y(n,0)}vC.prototype.getHeight=function(){return this._height};vC.prototype.getBase=function(){return this._base};vC.prototype.getStartTime=function(){return this._start};vC.prototype.getStopTime=function(){return this._stop};vC.prototype.setRange=function(e,t){this._start=e,this._stop=t};vC.prototype.render=function(e){let t="";if(this._start&&this._stop&&this._color){let n=$.secondsDifference(this._start,e.epochJulian),i=Math.round(e.timeBarWidth*e.getAlpha(n)),o=$.secondsDifference(this._stop,e.epochJulian),r=Math.round(e.timeBarWidth*e.getAlpha(o))-i;i<0&&(r+=i,i=0),i+r>e.timeBarWidth&&(r=e.timeBarWidth-i),r>0&&(t=`<span class="cesium-timeline-highlight" style="left: ${i.toString()}px; width: ${r.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return t};var H2=vC;function vAe(e,t,n,i){this.interval=e,this.height=t,this.color=n||new z(.5,.5,.5,1),this.backgroundColor=i||new z(0,0,0,0)}vAe.prototype.render=function(e,t){let n=this.interval.start,i=this.interval.stop,o=t.startJulian,r=$.addSeconds(t.startJulian,t.duration,new $);if($.lessThan(n,o)&&$.greaterThan(i,r))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if($.lessThanOrEquals(n,r)&&$.greaterThanOrEquals(i,o)){let s,a,c;for(s=0;s<t.timeBarWidth;++s){let l=$.addSeconds(t.startJulian,s/t.timeBarWidth*t.duration,new $);!u(a)&&$.greaterThanOrEquals(l,n)?a=s:!u(c)&&$.greaterThanOrEquals(l,i)&&(c=s)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),u(a)&&(u(c)||(c=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(a,t.y,Math.max(c-a,1),this.height))}};var G2=vAe;var QX=1e12,Vf={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},Xc={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},t0=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],iyt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Kc(e,t){e=In(e);let n=e.ownerDocument;this.container=e;let i=n.createElement("div");i.className="cesium-timeline-main",e.appendChild(i),this._topDiv=i,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=Vf.none,this._touchMode=Xc.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=oyt(this),this._onMouseUp=ryt(this),this._onMouseMove=syt(this),this._onMouseWheel=ayt(this),this._onTouchStart=cyt(this),this._onTouchMove=uyt(this),this._onTouchEnd=lyt(this);let o=this._timeBarEle;n.addEventListener("mouseup",this._onMouseUp,!1),n.addEventListener("mousemove",this._onMouseMove,!1),o.addEventListener("mousedown",this._onMouseDown,!1),o.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),o.addEventListener("mousewheel",this._onMouseWheel,!1),o.addEventListener("touchstart",this._onTouchStart,!1),o.addEventListener("touchmove",this._onTouchMove,!1),o.addEventListener("touchend",this._onTouchEnd,!1),o.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}Kc.prototype.addEventListener=function(e,t,n){this._topDiv.addEventListener(e,t,n)};Kc.prototype.removeEventListener=function(e,t,n){this._topDiv.removeEventListener(e,t,n)};Kc.prototype.isDestroyed=function(){return!1};Kc.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);let t=this._timeBarEle;t.removeEventListener("mousedown",this._onMouseDown,!1),t.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),t.removeEventListener("mousewheel",this._onMouseWheel,!1),t.removeEventListener("touchstart",this._onTouchStart,!1),t.removeEventListener("touchmove",this._onTouchMove,!1),t.removeEventListener("touchend",this._onTouchEnd,!1),t.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),le(this)};Kc.prototype.addHighlightRange=function(e,t,n){let i=new H2(e,t,n);return this._highlightRanges.push(i),this.resize(),i};Kc.prototype.addTrack=function(e,t,n,i){let o=new G2(e,t,n,i);return this._trackList.push(o),this._lastHeight=void 0,this.resize(),o};Kc.prototype.zoomTo=function(e,t){if(this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=$.secondsDifference(t,e),this._clock&&this._clock.clockRange!==Br.UNBOUNDED){let i=this._clock.startTime,o=this._clock.stopTime,r=$.secondsDifference(o,i),s=$.secondsDifference(i,this._startJulian),a=$.secondsDifference(o,this._endJulian);this._timeBarSecondsSpan>=r?(this._timeBarSecondsSpan=r,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):s>0?(this._endJulian=$.addSeconds(this._endJulian,s,new $),this._startJulian=i,this._timeBarSecondsSpan=$.secondsDifference(this._endJulian,this._startJulian)):a<0&&(this._startJulian=$.addSeconds(this._startJulian,a,new $),this._endJulian=o,this._timeBarSecondsSpan=$.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)};Kc.prototype.zoomFrom=function(e){let t=$.secondsDifference(this._scrubJulian,this._startJulian);e>1||t<0||t>this._timeBarSecondsSpan?t=this._timeBarSecondsSpan*.5:t+=t-this._timeBarSecondsSpan*.5;let n=this._timeBarSecondsSpan-t;this.zoomTo($.addSeconds(this._startJulian,t-t*e,new $),$.addSeconds(this._endJulian,n*e-n,new $))};function $X(e){return e<10?`0${e.toString()}`:e.toString()}Kc.prototype.makeLabel=function(e){let t=$.toGregorianDate(e),n=t.millisecond,i=" UTC";if(n>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(n).toString();i.length<3;)i=`0${i}`;i=`.${i}`}return`${iyt[t.month-1]} ${t.day} ${t.year} ${$X(t.hour)}:${$X(t.minute)}:${$X(t.second)}${i}`};Kc.prototype.smallestTicInPixels=7;Kc.prototype._makeTics=function(){let e=this._timeBarEle,t=$.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan),i=n-8,o,r=this;this._needleEle.style.left=`${n.toString()}px`;let s="",a=.01,c=31536e6,l=1e-10,f=0,d=this._timeBarSecondsSpan;d<a?(d=a,this._timeBarSecondsSpan=a,this._endJulian=$.addSeconds(this._startJulian,a,new $)):d>c&&(d=c,this._timeBarSecondsSpan=c,this._endJulian=$.addSeconds(this._startJulian,c,new $));let p=this._timeBarEle.clientWidth;p<10&&(p=10);let g=this._startJulian,m=Math.min(d/p*1e-5,.4),A,x=$.toGregorianDate(g);d>31536e4?A=$.fromDate(new Date(Date.UTC(Math.floor(x.year/100)*100,0))):d>31536e3?A=$.fromDate(new Date(Date.UTC(Math.floor(x.year/10)*10,0))):d>86400?A=$.fromDate(new Date(Date.UTC(x.year,0))):A=$.fromDate(new Date(Date.UTC(x.year,x.month,x.day)));let C=$.secondsDifference(this._startJulian,$.addSeconds(A,m,new $)),T=C+d;this._epochJulian=A;function E(V){return Math.floor(C/V)*V}function S(V,X){return Math.ceil(V/X+.5)*X}function D(V){return(V-C)/d}function w(V,X){return V-X*Math.round(V/X)}this._rulerEle.innerHTML=this.makeLabel($.addSeconds(this._endJulian,-a,new $));let R=this._rulerEle.offsetWidth+20;R<30&&(R=180);let O=f;f-=l;let L={startTime:C,startJulian:g,epochJulian:A,duration:d,timeBarWidth:p,getAlpha:D};this._highlightRanges.forEach(function(V){s+=V.render(L)});let N=0,_=0,b=0,v=R/p;v>1&&(v=1),v*=this._timeBarSecondsSpan;let I=-1,B=-1,F=t0.length,k;for(k=0;k<F;++k){let V=t0[k];if(++I,N=V,V>v&&V>f)break;B<0&&p*(V/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(B=I)}if(I>0){for(;I>0;)if(--I,Math.abs(w(N,t0[I]))<1e-5){t0[I]>=f&&(_=t0[I]);break}if(B>=0)for(;B<I;){if(Math.abs(w(_,t0[B]))<1e-5&&t0[B]>=f){b=t0[B];break}++B}}f=O,f>l&&b<1e-5&&Math.abs(f-N)>l&&(b=f,f<=N+l&&(_=0));let U=-999999,G;if(p*(b/this._timeBarSecondsSpan)>=3)for(o=E(b);o<=T;o=S(o,b))s+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(p*D(o)).toString()}px;"></span>`;if(p*(_/this._timeBarSecondsSpan)>=3)for(o=E(_);o<=T;o=S(o,_))s+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(p*D(o)).toString()}px;"></span>`;if(p*(N/this._timeBarSecondsSpan)>=2){this._mainTicSpan=N,T+=N,o=E(N);let V=$.computeTaiMinusUtc(A);for(;o<=T;){let X=$.addSeconds(g,o-C,new $);if(N>2.1){let K=$.computeTaiMinusUtc(X);Math.abs(K-V)>.1&&(o+=K-V,X=$.addSeconds(g,o-C,new $))}let j=Math.round(p*D(o)),Q=this.makeLabel(X);this._rulerEle.innerHTML=Q,G=this._rulerEle.offsetWidth,G<10&&(G=R);let W=j-(G/2-1);W>U?(U=W+G+5,s+=`<span class="cesium-timeline-ticMain" style="left: ${j.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${W.toString()}px;">${Q}</span>`):s+=`<span class="cesium-timeline-ticSub" style="left: ${j.toString()}px;"></span>`,o=S(o,N)}}else this._mainTicSpan=-1;s+=`<span class="cesium-timeline-icon16" style="left:${i}px;bottom:0;background-position: 0 0;"></span>`,e.innerHTML=s,this._scrubElement=e.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),L.y=0,this._trackList.forEach(function(V){V.render(r._context,L),L.y+=V.height})};Kc.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let e=this._scrubElement;if(u(this._scrubElement)){let t=$.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==n&&(this._lastXPos=n,e.style.left=`${n-8}px`,this._needleEle.style.left=`${n}px`)}u(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo($.addSeconds(this._startJulian,this._timelineDrag,new $),$.addSeconds(this._endJulian,this._timelineDrag,new $)))};Kc.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=$.addSeconds(this._startJulian,t,new $),this._scrubElement){let i=e-8;this._scrubElement.style.left=`${i.toString()}px`,this._needleEle.style.left=`${e.toString()}px`}let n=document.createEvent("Event");n.initEvent("settime",!0,!0),n.clientX=e,n.timeSeconds=t,n.timeJulian=this._scrubJulian,n.clock=this._clock,this._topDiv.dispatchEvent(n)};function oyt(e){return function(t){e._mouseMode!==Vf.touchOnly&&(t.button===0?(e._mouseMode=Vf.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,t.button===2?e._mouseMode=Vf.zoom:e._mouseMode=Vf.slide)),t.preventDefault()}}function ryt(e){return function(t){e._mouseMode=Vf.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function syt(e){return function(t){let n;if(e._mouseMode===Vf.scrub){t.preventDefault();let i=t.clientX-e._topDiv.getBoundingClientRect().left;i<0?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):i>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===Vf.slide){if(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0){let i=n*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo($.addSeconds(e._startJulian,i,new $),$.addSeconds(e._endJulian,i,new $))}}else e._mouseMode===Vf.zoom&&(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0&&e.zoomFrom(Math.pow(1.01,n)))}}function ayt(e){return function(t){let n=t.wheelDeltaY||t.wheelDelta||-t.detail;QX=Math.max(Math.min(Math.abs(n),QX),1),n/=QX,e.zoomFrom(Math.pow(1.05,-n))}}function cyt(e){return function(t){let n=t.touches.length,i,o,r=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=Vf.touchOnly,n===1?(i=$.secondsDifference(e._scrubJulian,e._startJulian),o=Math.round(i*e._topDiv.clientWidth/e._timeBarSecondsSpan+r),Math.abs(t.touches[0].clientX-o)<50?(e._touchMode=Xc.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=n===1?"-16px 0":"0 0")):(e._touchMode=Xc.singleTap,e._touchState.centerX=t.touches[0].clientX-r)):n===2?(e._touchMode=Xc.slideZoom,e._touchState.centerX=(t.touches[0].clientX+t.touches[1].clientX)*.5-r,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=Xc.ignore}}function lyt(e){return function(t){let n=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===Xc.singleTap?(e._touchMode=Xc.scrub,e._onTouchMove(t)):e._touchMode===Xc.scrub&&e._onTouchMove(t),e._mouseMode=Vf.touchOnly,n!==1?e._touchMode=n>0?Xc.ignore:Xc.none:e._touchMode===Xc.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function uyt(e){return function(t){let n,i,o,r,s,a,c=1,l=e._topDiv.getBoundingClientRect().left;e._touchMode===Xc.singleTap&&(e._touchMode=Xc.slideZoom),e._mouseMode=Vf.touchOnly,e._touchMode===Xc.scrub?(t.preventDefault(),t.changedTouches.length===1&&(i=t.changedTouches[0].clientX-l,i>=0&&i<=e._topDiv.clientWidth&&e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===Xc.slideZoom&&(o=t.touches.length,o===2?(r=(t.touches[0].clientX+t.touches[1].clientX)*.5-l,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):o===1&&(r=t.touches[0].clientX-l,s=0),u(r)&&(s>0&&e._touchState.spanX>0?(c=e._touchState.spanX/s,a=$.addSeconds(e._startJulian,(e._touchState.centerX*e._timeBarSecondsSpan-r*e._timeBarSecondsSpan*c)/e._topDiv.clientWidth,new $)):(n=e._touchState.centerX-r,a=$.addSeconds(e._startJulian,n*e._timeBarSecondsSpan/e._topDiv.clientWidth,new $)),e.zoomTo(a,$.addSeconds(a,e._timeBarSecondsSpan*c,new $)),e._touchState.centerX=r,e._touchState.spanX=s))}}Kc.prototype.resize=function(){let e=this.container.clientWidth,t=this.container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;this._trackContainer.style.height=`${t}px`;let n=1;this._trackList.forEach(function(i){n+=i.height}),this._trackListEle.style.height=`${n.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=n,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=t};var W2=Kc;var RAe=vo(OAe(),1);function hyt(e){let t=!1,n=window.screen;return u(n)&&(u(n.lockOrientation)?t=n.lockOrientation(e):u(n.mozLockOrientation)?t=n.mozLockOrientation(e):u(n.msLockOrientation)?t=n.msLockOrientation(e):u(n.orientation&&n.orientation.lock)&&(t=n.orientation.lock(e))),t}function BAe(){let e=window.screen;u(e)&&(u(e.unlockOrientation)?e.unlockOrientation():u(e.mozUnlockOrientation)?e.mozUnlockOrientation():u(e.msUnlockOrientation)?e.msUnlockOrientation():u(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function myt(e,t,n,i){i()||(n()?(t.useWebVR=!1,e._locked&&(BAe(),e._locked=!1),e._noSleep.disable(),fr.exitFullscreen(),n(!1)):(fr.fullscreen||fr.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=hyt("landscape")),t.useWebVR=!0,n(!0)))}function SH(e,t){let n=this,i=Ce.observable(fr.enabled),o=Ce.observable(!1);this.isVRMode=void 0,Ce.defineProperty(this,"isVRMode",{get:function(){return o()}}),this.isVREnabled=void 0,Ce.defineProperty(this,"isVREnabled",{get:function(){return i()},set:function(s){i(s&&fr.enabled)}}),this.tooltip=void 0,Ce.defineProperty(this,"tooltip",function(){return i()?o()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let r=Ce.observable(!1);this._isOrthographic=void 0,Ce.defineProperty(this,"_isOrthographic",{get:function(){return r()}}),this._eventHelper=new wr,this._eventHelper.add(e.preRender,function(){r(e.camera.frustum instanceof en)}),this._locked=!1,this._noSleep=new RAe.default,this._command=Cn(function(){myt(n,e,o,r)},Ce.getObservable(this,"isVREnabled")),this._vrElement=y(In(t),document.body),this._callback=function(){!fr.fullscreen&&o()&&(e.useWebVR=!1,n._locked&&(BAe(),n._locked=!1),n._noSleep.disable(),o(!1))},document.addEventListener(fr.changeEventName,this._callback)}Object.defineProperties(SH.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){this._vrElement=e}},command:{get:function(){return this._command}}});SH.prototype.isDestroyed=function(){return!1};SH.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(fr.changeEventName,this._callback),le(this)};var j2=SH;var pyt="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",_yt="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function DH(e,t,n){e=In(e);let i=new j2(t,n);i._exitVRPath=_yt,i._enterVRPath=pyt;let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-vrButton",o.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(o),Ce.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(DH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});DH.prototype.isDestroyed=function(){return!1};DH.prototype.destroy=function(){return this._viewModel.destroy(),Ce.cleanNode(this._element),this._container.removeChild(this._element),le(this)};var Y2=DH;var n0=new se;function NAe(e){let t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function gyt(e){let t=e.getPropertyIds(),n="";return t.forEach(function(i){let o=e.getProperty(i);u(o)&&(n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}),n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function yyt(e){let t,n=[],i=e.getPropertyIds();for(t=0;t<i.length;t++){let r=i[t];/^name$/i.test(r)?n[0]=e.getProperty(r):/name/i.test(r)?n[1]=e.getProperty(r):/^title$/i.test(r)?n[2]=e.getProperty(r):/^(id|identifier)$/i.test(r)?n[3]=e.getProperty(r):/element/i.test(r)?n[4]=e.getProperty(r):/(id|identifier)$/i.test(r)&&(n[5]=e.getProperty(r))}let o=n.length;for(t=0;t<o;t++){let r=n[t];if(u(r)&&r!=="")return r}return"Unnamed Feature"}function MAe(e,t){let n=e.scene.pick(t.position);if(u(n)){let i=y(n.id,n.primitive.id);if(i instanceof jo)return i;if(n instanceof xs)return new jo({name:yyt(n),description:gyt(n),feature:n})}if(u(e.scene.globe))return Cyt(e,t.position)}var Ayt=new $;function FAe(e,t,n){if(u(n)){let i=n.clock;if(u(i)&&(i.getValue(t),u(e))){let o=i.startTime,r=i.stopTime;$.equals(o,r)&&(r=$.addSeconds(o,P.EPSILON2,Ayt)),e.updateFromClock(),e.zoomTo(o,r)}}}var xyt=new h;function Cyt(e,t){let n=e.scene,i=n.camera.getPickRay(t),o=n.imageryLayers.pickImageryLayerFeatures(i,n);if(!u(o))return;let r=new jo({id:"Loading...",description:"Loading feature information..."});return o.then(function(s){if(e.selectedEntity!==r)return;if(!u(s)||s.length===0){e.selectedEntity=LAe();return}let a=s[0],c=new jo({id:a.name,description:a.description});if(u(a.position)){let l=e.scene.globe.ellipsoid.cartographicToCartesian(a.position,xyt);c.position=new Sc(l)}e.selectedEntity=c},function(){e.selectedEntity===r&&(e.selectedEntity=LAe())}),r}function LAe(){return new jo({id:"None",description:"No features found."})}function Tyt(e,t){let n=e._geocoder,i=e._homeButton,o=e._sceneModePicker,r=e._projectionPicker,s=e._baseLayerPicker,a=e._animation,c=e._timeline,l=e._fullscreenButton,f=e._infoBox,d=e._selectionIndicator,p=t?"hidden":"visible";if(u(n)&&(n.container.style.visibility=p),u(i)&&(i.container.style.visibility=p),u(o)&&(o.container.style.visibility=p),u(r)&&(r.container.style.visibility=p),u(s)&&(s.container.style.visibility=p),u(a)&&(a.container.style.visibility=p),u(c)&&(c.container.style.visibility=p),u(l)&&l.viewModel.isFullscreenEnabled&&(l.container.style.visibility=p),u(f)&&(f.container.style.visibility=p),u(d)&&(d.container.style.visibility=p),e._container){let g=t||!u(l)?0:l.container.clientWidth;e._vrButton.container.style.right=`${g}px`,e.forceResize()}}function Pi(e,t){e=In(e),t=y(t,y.EMPTY_OBJECT);let n=(!u(t.globe)||t.globe!==!1)&&(!u(t.baseLayerPicker)||t.baseLayerPicker!==!1),i=this,o=document.createElement("div");o.className="cesium-viewer",e.appendChild(o);let r=document.createElement("div");r.className="cesium-viewer-cesiumWidgetContainer",o.appendChild(r);let s=document.createElement("div");s.className="cesium-viewer-bottom",o.appendChild(s);let a=y(t.scene3DOnly,!1),c,l,f=!1;u(t.clockViewModel)?(l=t.clockViewModel,c=l.clock):(c=new vd,l=new s2(c),f=!0),u(t.shouldAnimate)&&(c.shouldAnimate=t.shouldAnimate);let d=new hF(r,{imageryProvider:n||u(t.imageryProvider)?!1:void 0,clock:c,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:u(t.creditContainer)?t.creditContainer:s,creditViewport:t.creditViewport,scene3DOnly:a,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,blurActiveElementOnCanvasFocus:t.blurActiveElementOnCanvasFocus,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples}),p=t.dataSources,g=!1;u(p)||(p=new _B,g=!0);let m=d.scene,A=new nM({scene:m,dataSourceCollection:p}),x=new wr;x.add(c.onTick,Pi.prototype._onTick,this),x.add(m.morphStart,Pi.prototype._clearTrackedObject,this);let C;if(!u(t.selectionIndicator)||t.selectionIndicator!==!1){let j=document.createElement("div");j.className="cesium-viewer-selectionIndicatorContainer",o.appendChild(j),C=new z2(j,m)}let T;if(!u(t.infoBox)||t.infoBox!==!1){let j=document.createElement("div");j.className="cesium-viewer-infoBoxContainer",o.appendChild(j),T=new P2(j);let Q=T.viewModel;x.add(Q.cameraClicked,Pi.prototype._onInfoBoxCameraClicked,this),x.add(Q.closeClicked,Pi.prototype._onInfoBoxClockClicked,this)}let E=document.createElement("div");E.className="cesium-viewer-toolbar",o.appendChild(E);let S;if(!u(t.geocoder)||t.geocoder!==!1){let j=document.createElement("div");j.className="cesium-viewer-geocoderContainer",E.appendChild(j);let Q;u(t.geocoder)&&typeof t.geocoder!="boolean"&&(Q=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),S=new b2({container:j,geocoderServices:Q,scene:m}),x.add(S.viewModel.search.beforeExecute,Pi.prototype._clearObjects,this)}let D;(!u(t.homeButton)||t.homeButton!==!1)&&(D=new D2(E,m),u(S)&&x.add(D.viewModel.command.afterExecute,function(){let j=S.viewModel;j.searchText="",j.isSearchInProgress&&j.search()}),x.add(D.viewModel.command.beforeExecute,Pi.prototype._clearTrackedObject,this));let w;!a&&(!u(t.sceneModePicker)||t.sceneModePicker!==!1)&&(w=new V2(E,m));let R;t.projectionPicker&&(R=new N2(E,m));let O,L;if(n){let j=y(t.imageryProviderViewModels,m2()),Q=y(t.terrainProviderViewModels,p2());O=new h2(E,{globe:m.globe,imageryProviderViewModels:j,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:Q,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel}),L=E.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}u(t.imageryProvider)&&t.imageryProvider!==!1&&(n&&(O.viewModel.selectedImagery=void 0),m.imageryLayers.removeAll(),m.imageryLayers.addImageryProvider(t.imageryProvider)),u(t.terrainProvider)&&(n&&(O.viewModel.selectedTerrain=void 0),m.terrainProvider=t.terrainProvider);let N;if(!u(t.navigationHelpButton)||t.navigationHelpButton!==!1){let j=!0;try{if(u(window.localStorage)){let Q=window.localStorage.getItem("cesium-hasSeenNavHelp");u(Q)&&Boolean(Q)?j=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}N=new R2({container:E,instructionsInitiallyVisible:y(t.navigationInstructionsInitiallyVisible,j)})}let _;if(!u(t.animation)||t.animation!==!1){let j=document.createElement("div");j.className="cesium-viewer-animationContainer",o.appendChild(j),_=new u2(j,new f2(l))}let b;if(!u(t.timeline)||t.timeline!==!1){let j=document.createElement("div");j.className="cesium-viewer-timelineContainer",o.appendChild(j),b=new W2(j,c),b.addEventListener("settime",NAe,!1),b.zoomTo(c.startTime,c.stopTime)}let v,I,B;(!u(t.fullscreenButton)||t.fullscreenButton!==!1)&&(B=document.createElement("div"),B.className="cesium-viewer-fullscreenContainer",o.appendChild(B),v=new w2(B,t.fullscreenElement),I=ta(v.viewModel,"isFullscreenEnabled",function(j){B.style.display=j?"block":"none",u(b)&&(b.container.style.right=`${B.clientWidth}px`,b.resize())}));let F,k,U;if(t.vrButton){let j=document.createElement("div");j.className="cesium-viewer-vrContainer",o.appendChild(j),F=new Y2(j,m,t.fullScreenElement),k=ta(F.viewModel,"isVREnabled",function(Q){j.style.display=Q?"block":"none",u(v)&&(j.style.right=`${B.clientWidth}px`),u(b)&&(b.container.style.right=`${j.clientWidth}px`,b.resize())}),U=ta(F.viewModel,"isVRMode",function(Q){Tyt(i,Q)})}this._baseLayerPickerDropDown=L,this._fullscreenSubscription=I,this._vrSubscription=k,this._vrModeSubscription=U,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=y(t.automaticallyTrackDataSourceClocks,!0),this._container=e,this._bottomContainer=s,this._element=o,this._cesiumWidget=d,this._selectionIndicator=C,this._infoBox=T,this._dataSourceCollection=p,this._destroyDataSourceCollection=g,this._dataSourceDisplay=A,this._clockViewModel=l,this._destroyClockViewModel=f,this._toolbar=E,this._homeButton=D,this._sceneModePicker=w,this._projectionPicker=R,this._baseLayerPicker=O,this._navigationHelpButton=N,this._animation=_,this._timeline=b,this._fullscreenButton=v,this._vrButton=F,this._geocoder=S,this._eventHelper=x,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void 0,this._enableInfoOrSelection=u(T)||u(C),this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void 0,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._selectedEntityChanged=new Ae,this._trackedEntityChanged=new Ae,Ce.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),x.add(p.dataSourceAdded,Pi.prototype._onDataSourceAdded,this),x.add(p.dataSourceRemoved,Pi.prototype._onDataSourceRemoved,this),x.add(m.postUpdate,Pi.prototype.resize,this),x.add(m.postRender,Pi.prototype._postRender,this);let G=p.length;for(let j=0;j<G;j++)this._dataSourceAdded(p,p.get(j));this._dataSourceAdded(void 0,A.defaultDataSource),x.add(p.dataSourceAdded,Pi.prototype._dataSourceAdded,this),x.add(p.dataSourceRemoved,Pi.prototype._dataSourceRemoved,this);function V(j){let Q=MAe(i,j);u(Q)?Y.getValueOrUndefined(Q.position,i.clock.currentTime)?i.trackedEntity=Q:i.zoomTo(Q):u(i.trackedEntity)&&(i.trackedEntity=void 0)}function X(j){i.selectedEntity=MAe(i,j)}d.screenSpaceEventHandler.setInputAction(X,yn.LEFT_CLICK),d.screenSpaceEventHandler.setInputAction(V,yn.LEFT_DOUBLE_CLICK)}Object.defineProperties(Pi.prototype,{container:{get:function(){return this._container}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,vH(this);let t=this.scene,n=t.mode;!u(e)||!u(e.position)?(this._needTrackedEntityUpdate=!1,(n===te.COLUMBUS_VIEW||n===te.SCENE2D)&&(t.screenSpaceCameraController.enableTranslate=!0),(n===te.COLUMBUS_VIEW||n===te.SCENE3D)&&(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(M.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;let t=u(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;u(e)?u(t)&&t.animateAppear():u(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,FAe(this._timeline,this.clock,e))}}});Pi.prototype.extend=function(e,t){e(this,t)};Pi.prototype.resize=function(){let e=this._cesiumWidget,t=this._container,n=t.clientWidth,i=t.clientHeight,o=u(this._animation),r=u(this._timeline);if(e.resize(),n===this._lastWidth&&i===this._lastHeight)return;let s=i-125,a=this._baseLayerPickerDropDown;if(u(a)&&(a.style.maxHeight=`${s}px`),u(this._geocoder)){let g=this._geocoder.searchSuggestionsContainer;g.style.maxHeight=`${s}px`}u(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);let c=this._timeline,l,f=0,d=0,p=0;if(o&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let g=this._lastWidth;l=this._animation.container,n>900?(f=169,g<=900&&(l.style.width="169px",l.style.height="112px",this._animation.resize())):n>=600?(f=136,(g<600||g>900)&&(l.style.width="136px",l.style.height="90px",this._animation.resize())):(f=106,(g>600||g===0)&&(l.style.width="106px",l.style.height="70px",this._animation.resize())),d=f+5}if(r&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let g=this._fullscreenButton,m=this._vrButton,A=c.container,x=A.style;p=A.clientHeight+3,x.left=`${f}px`;let C=0;u(g)&&(C+=g.container.clientWidth),u(m)&&(C+=m.container.clientWidth),x.right=`${C}px`,c.resize()}this._bottomContainer.style.left=`${d}px`,this._bottomContainer.style.bottom=`${p}px`,this._lastWidth=n,this._lastHeight=i};Pi.prototype.forceResize=function(){this._lastWidth=0,this.resize()};Pi.prototype.render=function(){this._cesiumWidget.render()};Pi.prototype.isDestroyed=function(){return!1};Pi.prototype.destroy=function(){let e;this.screenSpaceEventHandler.removeInputAction(yn.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(yn.LEFT_DOUBLE_CLICK);let t=this.dataSources,n=t.length;for(e=0;e<n;e++)this._dataSourceRemoved(t,t.get(e));return this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),u(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),u(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),u(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),u(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),u(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),u(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),u(this._timeline)&&(this._timeline.removeEventListener("settime",NAe,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),u(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),u(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),u(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),u(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),le(this)};Pi.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(Pi.prototype._onEntityCollectionChanged,this)};Pi.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(Pi.prototype._onEntityCollectionChanged,this),u(this.trackedEntity)&&n.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0),u(this.selectedEntity)&&n.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};Pi.prototype._onTick=function(e){let t=e.currentTime,n=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=n);let i=this._entityView;if(u(i)){let f=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(f,!1,n0)===at.DONE&&i.update(t,n0)}let o,r=!1,s=this.selectedEntity,a=u(s)&&this._enableInfoOrSelection;a&&s.isShowing&&s.isAvailable(t)&&(this._dataSourceDisplay.getBoundingSphere(s,!0,n0)!==at.FAILED?o=n0.center:u(s.position)&&(o=s.position.getValue(t,o)),r=u(o));let c=u(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;u(c)&&(c.position=h.clone(o,c.position),c.showSelection=a&&r,c.update());let l=u(this._infoBox)?this._infoBox.viewModel:void 0;u(l)&&(l.showInfo=a,l.enableCamera=r,l.isCameraTracking=this.trackedEntity===this.selectedEntity,a?(l.titleText=y(s.name,s.id),l.description=Y.getValueOrDefault(s.description,t,"")):(l.titleText="",l.description=""))};Pi.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.trackedEntity===r&&(this.trackedEntity=void 0),this.selectedEntity===r&&(this.selectedEntity=void 0)}};Pi.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let n=this.selectedEntity.position;u(n)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};Pi.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};Pi.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0};Pi.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};Pi.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&FAe(this.timeline,this.clock,e)};Pi.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,Pi.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};Pi.prototype._onDataSourceRemoved=function(e,t){let n=this.clockTrackedDataSource===t,i=t.entities.id;if(this._dataSourceChangedListeners[i](),this._dataSourceChangedListeners[i]=void 0,n){let o=e.length;this._automaticallyTrackDataSourceClocks&&o>0?this.clockTrackedDataSource=e.get(o-1):this.clockTrackedDataSource=void 0}};Pi.prototype.zoomTo=function(e,t){return VAe(this,e,{offset:t},!1)};Pi.prototype.flyTo=function(e,t){return VAe(this,e,t,!0)};function VAe(e,t,n,i){vH(e);let o=new Promise(r=>{e._completeZoom=function(s){r(s)}});return e._zoomPromise=o,e._zoomIsFlight=i,e._zoomOptions=n,Promise.resolve(t).then(function(r){if(e._zoomPromise===o){if(r instanceof bu){r.getViewableRectangle().then(function(s){return bC(s,e.scene)}).then(function(s){e._zoomPromise===o&&(e._zoomTarget=s)});return}if(r instanceof Rc||r instanceof IS||r instanceof BS){e._zoomTarget=r;return}if(r.isLoading&&u(r.loadingEvent)){let s=r.loadingEvent.addEventListener(function(){s(),e._zoomPromise===o&&(e._zoomTarget=r.entities.values.slice(0))});return}if(Array.isArray(r)){e._zoomTarget=r.slice(0);return}r=y(r.values,r),u(r.entities)&&(r=r.entities.values),Array.isArray(r)?e._zoomTarget=r.slice(0):e._zoomTarget=[r]}}),e.scene.requestRender(),o}function NS(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function vH(e){let t=e._zoomPromise;u(t)&&(NS(e),e._completeZoom(!1))}Pi.prototype._postRender=function(){Eyt(this),byt(this)};function Eyt(e){let t=e._zoomTarget;if(!u(t)||e.scene.mode===te.MORPHING)return;let n=e.scene,i=n.camera,o=y(e._zoomOptions,{}),r;if(t instanceof Rc||t instanceof BS)return t.readyPromise.then(function(){let l=t.boundingSphere;u(o.offset)||(o.offset=new uu(0,-.5,l.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(t.boundingSphere,r):(i.viewBoundingSphere(l,o.offset),i.lookAtTransform(M.IDENTITY),e._completeZoom(!0)),NS(e)}).catch(()=>{vH(e)});if(t instanceof IS)return t.readyPromise.then(function(){let l=t.boundingSphere;u(o.offset)||(o.offset=new uu(0,-.5,l.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(l,r):(i.viewBoundingSphere(l,o.offset),i.lookAtTransform(M.IDENTITY),e._completeZoom(!0)),NS(e)});if(t instanceof he){r={destination:n.mapProjection.ellipsoid.cartographicToCartesian(t),duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyTo(r):(i.setView(r),e._completeZoom(!0)),NS(e);return}let s=t,a=[];for(let l=0,f=s.length;l<f;l++){let d=e._dataSourceDisplay.getBoundingSphere(s[l],!1,n0);if(d===at.PENDING)return;d!==at.FAILED&&a.push(se.clone(n0))}if(a.length===0){vH(e);return}e.trackedEntity=void 0;let c=se.fromBoundingSpheres(a);e._zoomIsFlight?(NS(e),i.flyToBoundingSphere(c,{duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)},offset:o.offset})):(i.viewBoundingSphere(c,o.offset),i.lookAtTransform(M.IDENTITY),NS(e),e._completeZoom(!0))}function byt(e){if(!e._needTrackedEntityUpdate)return;let t=e._trackedEntity,n=e.clock.currentTime,i=Y.getValueOrUndefined(t.position,n);if(!u(i))return;let o=e.scene,r=e._dataSourceDisplay.getBoundingSphere(t,!1,n0);if(r===at.PENDING)return;let s=o.mode;(s===te.COLUMBUS_VIEW||s===te.SCENE2D)&&(o.screenSpaceCameraController.enableTranslate=!1),(s===te.COLUMBUS_VIEW||s===te.SCENE3D)&&(o.screenSpaceCameraController.enableTilt=!1);let a=r!==at.FAILED?n0:void 0;e._entityView=new oM(t,o,o.mapProjection.ellipsoid),e._entityView.update(n,a),e._needTrackedEntityUpdate=!1}var iK=Pi;function Syt(e){let t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);let n=new A2(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return n}}})}var oK=Syt;function Dyt(e){let t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);let n=new T2(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return n}}})}var rK=Dyt;function vyt(e,t){t=y(t,y.EMPTY_OBJECT);let n=!0,i=y(t.flyToOnDrop,!0),o=new Ae,r=y(t.clearOnDrop,!0),s=y(t.dropTarget,e.container),a=y(t.clampToGround,!0),c=t.proxy;s=In(s),Object.defineProperties(e,{dropTarget:{get:function(){return s},set:function(f){UAe(s,l),s=f,sK(s,l)}},dropEnabled:{get:function(){return n},set:function(f){f!==n&&(f?sK(s,l):UAe(s,l),n=f)}},dropError:{get:function(){return o}},clearOnDrop:{get:function(){return r},set:function(f){r=f}},flyToOnDrop:{get:function(){return i},set:function(f){i=f}},proxy:{get:function(){return c},set:function(f){c=f}},clampToGround:{get:function(){return a},set:function(f){a=f}}});function l(f){wC(f),r&&(e.entities.removeAll(),e.dataSources.removeAll());let d=f.dataTransfer.files,p=d.length;for(let g=0;g<p;g++){let m=d[g],A=new FileReader;A.onload=wyt(e,m,c,a),A.onerror=Iyt(e,m),A.readAsText(m)}}sK(s,l),e.destroy=xL(e,e.destroy,function(){e.dropEnabled=!1}),e._handleDrop=l}function wC(e){e.stopPropagation(),e.preventDefault()}function UAe(e,t){let n=e;u(n)&&(n.removeEventListener("drop",t,!1),n.removeEventListener("dragenter",wC,!1),n.removeEventListener("dragover",wC,!1),n.removeEventListener("dragexit",wC,!1))}function sK(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",wC,!1),e.addEventListener("dragover",wC,!1),e.addEventListener("dragexit",wC,!1)}function wyt(e,t,n,i){let o=e.scene;return function(r){let s=t.name;try{let a;if(/\.czml$/i.test(s))a=pB.load(JSON.parse(r.target.result),{sourceUri:s});else if(/\.geojson$/i.test(s)||/\.json$/i.test(s)||/\.topojson$/i.test(s))a=aM.load(JSON.parse(r.target.result),{sourceUri:s,clampToGround:i});else if(/\.(kml|kmz)$/i.test(s))a=IM.load(t,{sourceUri:s,proxy:n,camera:o.camera,canvas:o.canvas,clampToGround:i,screenOverlayContainer:e.container});else if(/\.gpx$/i.test(s))a=fM.load(t,{sourceUri:s,proxy:n});else{e.dropError.raiseEvent(e,s,`Unrecognized file: ${s}`);return}u(a)&&e.dataSources.add(a).then(function(c){e.flyToOnDrop&&e.flyTo(c)}).catch(function(c){e.dropError.raiseEvent(e,s,c)})}catch(a){e.dropError.raiseEvent(e,s,a)}}}function Iyt(e,t){return function(n){e.dropError.raiseEvent(e,t.name,n.target.error)}}var aK=vyt;function Pyt(e,t){t=y(t,y.EMPTY_OBJECT);let n=new M2({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return n}}})}var cK=Pyt;function kAe(e){let t=e.split(` +`),n;for(n=0;n<t.length&&!t[n].match(/\S/);n++);if(n===t.length)return"";let i="",o=/^\s*/,s=t[n].match(o)[0].length;for(let a=n;a<t.length;a++){let c=t[a];c.match(o)[0].length>=s&&(c=c.slice(s)),i+=`${c} +`}return i}function Uf(e){this._scene=e,this._voxelPrimitive=void 0,this._customShaderCompilationRemoveCallback=void 0,this._definedProperties=[],this._getPrimitiveFunctions=[],this._modelMatrixReady=!1;let t=this;function n(o){let{name:r,initialValue:s}=o;t._definedProperties.push(r);let a=o.setPrimitiveFunction;a===!0&&(a=function(f){t._voxelPrimitive[r]=f});let c=o.getPrimitiveFunction;c===!0&&(c=function(){t[r]=t._voxelPrimitive[r]}),u(c)&&t._getPrimitiveFunctions.push(c);let l=Ce.observable();return Ce.defineProperty(t,r,{get:function(){return l()},set:function(f){typeof s=="number"&&typeof f=="string"&&(f=Number(f),isNaN(f)&&(f=s)),typeof s=="boolean"&&typeof f=="number"&&(f=f===1),l(f),u(a)&&u(t._voxelPrimitive)&&(a(f),e.requestRender())}}),t[r]=s,l}function i(o,r){return function(s){let a=t._voxelPrimitive[o].clone();a[r]=s,t._voxelPrimitive[o]=a}}n({name:"inspectorVisible",initialValue:!0}),n({name:"displayVisible",initialValue:!1}),n({name:"transformVisible",initialValue:!1}),n({name:"boundsVisible",initialValue:!1}),n({name:"clippingVisible",initialValue:!1}),n({name:"shaderVisible",initialValue:!1}),n({name:"shaderString",initialValue:"",getPrimitiveFunction:function(){let o=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=kAe(o)}}),n({name:"shaderCompilationMessage",initialValue:""}),n({name:"shaderCompilationSuccess",initialValue:!0}),n({name:"depthTest",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"show",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"disableUpdate",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"debugDraw",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"jitter",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"nearestSampling",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"screenSpaceError",initialValue:4,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"stepSize",initialValue:1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"shapeIsBox",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsBox=o===zi.BOX}}),n({name:"shapeIsEllipsoid",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsEllipsoid=o===zi.ELLIPSOID}}),n({name:"shapeIsCylinder",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsCylinder=o===zi.CYLINDER}}),n({name:"boundsBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMaxX=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsBoxMinX",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMinX=t._voxelPrimitive.minBounds.x}}),n({name:"boundsBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMaxY=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsBoxMinY",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMinY=t._voxelPrimitive.minBounds.y}}),n({name:"boundsBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMaxZ=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsBoxMinZ",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMinZ=t._voxelPrimitive.minBounds.z}}),n({name:"boundsEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLongitude=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLongitude=t._voxelPrimitive.minBounds.x}}),n({name:"boundsEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLatitude=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLatitude=t._voxelPrimitive.minBounds.y}}),n({name:"boundsEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxHeight=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMinHeight=t._voxelPrimitive.minBounds.z}}),n({name:"boundsCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMaxRadius=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMinRadius=t._voxelPrimitive.minBounds.x}}),n({name:"boundsCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMaxHeight=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMinHeight=t._voxelPrimitive.minBounds.y}}),n({name:"boundsCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMaxAngle=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMinAngle=t._voxelPrimitive.minBounds.z}}),n({name:"clippingBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMaxX=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingBoxMinX",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMinX=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMaxY=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingBoxMinY",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMinY=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMaxZ=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingBoxMinZ",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMinZ=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLongitude=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLongitude=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLatitude=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLatitude=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxHeight=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMinHeight=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMaxRadius=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMinRadius=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMaxHeight=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMinHeight=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMaxAngle=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMinAngle=t._voxelPrimitive.minClippingBounds.z}}),n({name:"translationX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Sm(t)},getPrimitiveFunction:function(){t.translationX=M.getTranslation(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"translationY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Sm(t)},getPrimitiveFunction:function(){t.translationY=M.getTranslation(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"translationZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Sm(t)},getPrimitiveFunction:function(){t.translationZ=M.getTranslation(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"scaleX",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&Sm(t)},getPrimitiveFunction:function(){t.scaleX=M.getScale(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"scaleY",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&Sm(t)},getPrimitiveFunction:function(){t.scaleY=M.getScale(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"scaleZ",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&Sm(t)},getPrimitiveFunction:function(){t.scaleZ=M.getScale(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"angleX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Sm(t)}}),n({name:"angleY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Sm(t)}}),n({name:"angleZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Sm(t)}})}var Oyt=new h,Ryt=new h,Byt=new Ba,Myt=new Z;function Sm(e){let t=h.fromElements(e.translationX,e.translationY,e.translationZ,Oyt),n=h.fromElements(e.scaleX,e.scaleY,e.scaleZ,Ryt),i=Byt;i.heading=e.angleX,i.pitch=e.angleY,i.roll=e.angleZ;let o=Z.fromHeadingPitchRoll(i,Myt),r=Z.multiplyByScale(o,n,o);e._voxelPrimitive.modelMatrix=M.fromRotationTranslation(r,t,e._voxelPrimitive.modelMatrix)}Object.defineProperties(Uf.prototype,{scene:{get:function(){return this._scene}},voxelPrimitive:{get:function(){return this._voxelPrimitive},set:function(e){if(u(this._customShaderCompilationRemoveCallback)&&this._customShaderCompilationRemoveCallback(),u(e)){this._voxelPrimitive=e;let t=this;t._voxelPrimitive.readyPromise.then(function(){t._customShaderCompilationRemoveCallback=t._voxelPrimitive.customShaderCompilationEvent.addEventListener(function(n){let i=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=kAe(i),u(n)?(t.shaderCompilationMessage=n.message,t.shaderCompilationSuccess=!1):(t.shaderCompilationMessage="Shader compiled successfully!",t.shaderCompilationSuccess=!0)}),t._modelMatrixReady=!1;for(let n=0;n<t._getPrimitiveFunctions.length;n++)t._getPrimitiveFunctions[n]();t._modelMatrixReady=!0,Sm(t)})}}}});Uf.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};Uf.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};Uf.prototype.toggleTransform=function(){this.transformVisible=!this.transformVisible};Uf.prototype.toggleBounds=function(){this.boundsVisible=!this.boundsVisible};Uf.prototype.toggleClipping=function(){this.clippingVisible=!this.clippingVisible};Uf.prototype.toggleShader=function(){this.shaderVisible=!this.shaderVisible};Uf.prototype.compileShader=function(){u(this._voxelPrimitive)&&(this._voxelPrimitive.customShader=new TC({fragmentShaderText:this.shaderString,uniforms:this._voxelPrimitive.customShader.uniforms}))};Uf.prototype.shaderEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` +`),c=a.length,l;if(t.shiftKey)for(l=0;l<c;++l)a[l][0]===" "&&(a[l][1]===" "?(a[l]=a[l].substr(2),r-=2):(a[l]=a[l].substr(1),r-=1));else for(l=0;l<c;++l)a[l]=` ${a[l]}`,r+=2;let f=a.join(` +`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileShader();return!0};Uf.prototype.isDestroyed=function(){return!1};Uf.prototype.destroy=function(){let e=this;return this._definedProperties.forEach(function(t){Ce.getObservable(e,t).dispose()}),le(this)};var q2=Uf;function wH(e,t){e=In(e);let n=document.createElement("div"),i=new q2(t);this._viewModel=i,this._container=e,this._element=n;let o=document.createElement("div");o.textContent="Voxel Inspector",o.className="cesium-cesiumInspector-button",o.setAttribute("data-bind","click: toggleInspector"),n.appendChild(o),n.className="cesium-cesiumInspector cesium-VoxelInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let r=document.createElement("div");r.className="cesium-cesiumInspector-dropDown",n.appendChild(r);let s=Ea.createSection,a=Ea.createCheckbox,c=Ea.createRangeInput,l=Ea.createButton,f=s(r,"Display","displayVisible","toggleDisplay"),d=s(r,"Transform","transformVisible","toggleTransform"),p=s(r,"Bounds","boundsVisible","toggleBounds"),g=s(r,"Clipping","clippingVisible","toggleClipping"),m=s(r,"Shader","shaderVisible","toggleShader");f.appendChild(a("Depth Test","depthTest")),f.appendChild(a("Show","show")),f.appendChild(a("Disable Update","disableUpdate")),f.appendChild(a("Debug Draw","debugDraw")),f.appendChild(a("Jitter","jitter")),f.appendChild(a("Nearest Sampling","nearestSampling")),f.appendChild(c("Screen Space Error","screenSpaceError",0,128)),f.appendChild(c("Step Size","stepSize",0,2));let A=10,x=10,C=P.PI;d.appendChild(c("Translation X","translationX",-A,+A)),d.appendChild(c("Translation Y","translationY",-A,+A)),d.appendChild(c("Translation Z","translationZ",-A,+A)),d.appendChild(c("Scale X","scaleX",0,+x)),d.appendChild(c("Scale Y","scaleY",0,+x)),d.appendChild(c("Scale Z","scaleZ",0,+x)),d.appendChild(c("Heading","angleX",-C,+C)),d.appendChild(c("Pitch","angleY",-C,+C)),d.appendChild(c("Roll","angleZ",-C,+C));let T=zi.getMinBounds(zi.BOX),E=zi.getMaxBounds(zi.BOX),S=h.fromElements(zi.getMinBounds(zi.ELLIPSOID).x,zi.getMinBounds(zi.ELLIPSOID).y,-ie.WGS84.maximumRadius,new h),D=h.fromElements(zi.getMaxBounds(zi.ELLIPSOID).x,zi.getMaxBounds(zi.ELLIPSOID).y,1e7,new h),w=zi.getMinBounds(zi.CYLINDER),R=zi.getMaxBounds(zi.CYLINDER);FS("Max X","Min X","Max Y","Min Y","Max Z","Min Z","boundsBoxMaxX","boundsBoxMinX","boundsBoxMaxY","boundsBoxMinY","boundsBoxMaxZ","boundsBoxMinZ",T,E,"shapeIsBox",p),FS("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","boundsEllipsoidMaxLongitude","boundsEllipsoidMinLongitude","boundsEllipsoidMaxLatitude","boundsEllipsoidMinLatitude","boundsEllipsoidMaxHeight","boundsEllipsoidMinHeight",S,D,"shapeIsEllipsoid",p),FS("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","boundsCylinderMaxRadius","boundsCylinderMinRadius","boundsCylinderMaxHeight","boundsCylinderMinHeight","boundsCylinderMaxAngle","boundsCylinderMinAngle",w,R,"shapeIsCylinder",p),FS("Max X","Min X","Max Y","Min Y","Max Z","Min Z","clippingBoxMaxX","clippingBoxMinX","clippingBoxMaxY","clippingBoxMinY","clippingBoxMaxZ","clippingBoxMinZ",T,E,"shapeIsBox",g),FS("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","clippingEllipsoidMaxLongitude","clippingEllipsoidMinLongitude","clippingEllipsoidMaxLatitude","clippingEllipsoidMinLatitude","clippingEllipsoidMaxHeight","clippingEllipsoidMinHeight",S,D,"shapeIsEllipsoid",g),FS("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","clippingCylinderMaxRadius","clippingCylinderMinRadius","clippingCylinderMaxHeight","clippingCylinderMinHeight","clippingCylinderMaxAngle","clippingCylinderMinAngle",w,R,"shapeIsCylinder",g);let O=document.createElement("div");m.appendChild(O);let L=document.createElement("textarea");L.setAttribute("data-bind","textInput: shaderString, event: { keydown: shaderEditorKeyPress }"),O.className="cesium-cesiumInspector-styleEditor",O.appendChild(L);let N=l("Compile (Ctrl+Enter)","compileShader");O.appendChild(N);let _=document.createElement("label");_.style.display="block",_.setAttribute("data-bind","text: shaderCompilationMessage, style: {color: shaderCompilationSuccess ? 'green' : 'red'}"),O.appendChild(_),Ce.applyBindings(i,n)}Object.defineProperties(wH.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});wH.prototype.isDestroyed=function(){return!1};wH.prototype.destroy=function(){return Ce.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),le(this)};function FS(e,t,n,i,o,r,s,a,c,l,f,d,p,g,m,A){let x=Ea.createRangeInput,C=p,T=g,E=A.appendChild(document.createElement("div"));E.setAttribute("data-bind",`if: ${m}`),E.appendChild(x(e,s,C.x,T.x)),E.appendChild(x(t,a,C.x,T.x)),E.appendChild(x(n,c,C.y,T.y)),E.appendChild(x(i,l,C.y,T.y)),E.appendChild(x(o,f,C.z,T.z)),E.appendChild(x(r,d,C.z,T.z))}var X2=wH;function Lyt(e){let t=document.createElement("div");t.className="cesium-viewer-voxelInspectorContainer",e.container.appendChild(t);let n=new X2(t,e.scene);Object.defineProperties(e,{voxelInspector:{get:function(){return n}}})}var lK=Lyt;var Nyt="1.102";return nxe(Fyt);})(); diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json new file mode 100644 index 000000000..0dbf15782 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":0,"numberOfSamples":1000,"samples":[-0.002403025022753476,-2.5083047211757836e-5,-1.721638967214743e-8,-0.002402558217007106,-2.5020003017226545e-5,-1.7146589882925253e-8,-0.002402152743739069,-2.4908815008776256e-5,-1.7018183343380784e-8,-0.0024018177616850914,-2.4779340864272868e-5,-1.686693112266686e-8,-0.0024015512294922256,-2.4661265859267777e-5,-1.672851429567895e-8,-0.0024013415089134365,-2.4580601237402673e-5,-1.6634308307010567e-8,-0.0024011692853140917,-2.4557354638250633e-5,-1.660856911234815e-8,-0.0024010094083213077,-2.460379520847823e-5,-1.666634004388421e-8,-0.002400832781870665,-2.472274606391698e-5,-1.681138635859172e-8,-0.0024006088674261195,-2.490565851910724e-5,-1.7033840158805374e-8,-0.0024003096414815053,-2.513083477542098e-5,-1.7307985763326293e-8,-0.002399915678730765,-2.5363106308028472e-5,-1.759177707540246e-8,-0.0023994239684226163,-2.5557205638682287e-5,-1.7830822072448312e-8,-0.0023988549431304905,-2.566700881355288e-5,-1.7969488578482e-8,-0.0023982538707374547,-2.5660422954022525e-5,-1.7968844164137065e-8,-0.002397681821948537,-2.553480284678542e-5,-1.7825226886235993e-8,-0.0023971964165357008,-2.53237668313255e-5,-1.7578462540315414e-8,-0.002396830441918346,-2.50885777844268e-5,-1.7301586465142487e-8,-0.0023965800106651434,-2.4896546614298096e-5,-1.7075078798371497e-8,-0.0023964084361551537,-2.4797687943490375e-5,-1.695902560230991e-8,-0.002396262002993096,-2.481096708533641e-5,-1.6976666372280337e-8,-0.0023960882393536166,-2.4923817586803518e-5,-1.7113670694608337e-8,-0.002395849219877066,-2.5101106375207836e-5,-1.732863106912266e-8,-0.002395527525579831,-2.5297461255455714e-5,-1.756761197379987e-8,-0.0023951260596151974,-2.546854998291281e-5,-1.7777564319951067e-8,-0.0023946640036132836,-2.5579325396643004e-5,-1.7916241394922998e-8,-0.0023941708783994835,-2.5608875350224024e-5,-1.7958135357141878e-8,-0.0023936800199459637,-2.5552141704174967e-5,-1.7896681829365477e-8,-0.00239322243029576,-2.5418865388500117e-5,-1.774311016303839e-8,-0.0023928218677541743,-2.5230314934074022e-5,-1.7522587181791123e-8,-0.0023924917832175113,-2.5014690159013176e-5,-1.7268730448048223e-8,-0.0023922342643846748,-2.480218762163173e-5,-1.7017686942652696e-8,-0.0023920407464684762,-2.4620565317509125e-5,-1.6802798466007283e-8,-0.0023918939307276768,-2.4491771693316273e-5,-1.6650542584010726e-8,-0.0023917702332855676,-2.442975015807349e-5,-1.6577888357278284e-8,-0.002391642329452238,-2.443909807420655e-5,-1.6590679729922046e-8,-0.002391481763245852,-2.4514179502452957e-5,-1.6682551340715887e-8,-0.0023912619080620466,-2.4638499724969643e-5,-1.6834129065335303e-8,-0.002390961805205984,-2.478455800610903e-5,-1.701276797456279e-8,-0.00239057134744484,-2.4915132198915024e-5,-1.717399678816932e-8,-0.0023900974268101054,-2.4987729973603072e-5,-1.7266795508165544e-8,-0.0023895689055318833,-2.496391501976109e-5,-1.7244787681999786e-8,-0.002389036165074365,-2.4823284691699932e-5,-1.7083063873624844e-8,-0.002388560578292379,-2.4577378315217863e-5,-1.6794918110509053e-8,-0.0023881937570601162,-2.4274142413621198e-5,-1.643724545979219e-8,-0.0023879553394346147,-2.3985163329236852e-5,-1.6095335313882396e-8,-0.002387823242597225,-2.3778727505381422e-5,-1.5850778179207802e-8,-0.002387743703083488,-2.3693514905278695e-5,-1.575012576846581e-8,-0.002387654469699301,-2.3727803248252375e-5,-1.57919573836453e-8,-0.0023875068224310926,-2.384701163322787e-5,-1.5935693828749185e-8,-0.0023872766838733636,-2.4000872036063545e-5,-1.6121849968027748e-8,-0.0023869645383715133,-2.4139837531397063e-5,-1.6291451853276617e-8,-0.0023865890688437295,-2.4225578577636494e-5,-1.6398545934918142e-8,-0.002386179207668243,-2.4235415814278647e-5,-1.641560182566368e-8,-0.0023857671367677994,-2.4162608465253676e-5,-1.633403013000638e-8,-0.00238538293231372,-2.4014446579879058e-5,-1.6162059832962554e-8,-0.002385050648932289,-2.3809267842749758e-5,-1.5921265822080736e-8,-0.0023847856192039767,-2.357281279621325e-5,-1.564223465313254e-8,-0.002384592973846085,-2.333418942320294e-5,-1.5359717819261274e-8,-0.0023844674152753756,-2.3121781930974167e-5,-1.5107704928910368e-8,-0.0023843942234786524,-2.2959461734624766e-5,-1.491486592392592e-8,-0.002384351361188566,-2.2863520256191973e-5,-1.4800873864748202e-8,-0.0023843123252193354,-2.28406536006252e-5,-1.4773996666932113e-8,-0.0023842493365599203,-2.2887020091128393e-5,-1.4829969279080835e-8,-0.0023841366567967904,-2.2988230871289267e-5,-1.4951960812478233e-8,-0.0023839539952364617,-2.312021069380629e-5,-1.5111546301631272e-8,-0.00238369008534005,-2.3251022890859802e-5,-1.527079819049034e-8,-0.0023833464925758774,-2.3344139544444378e-5,-1.5386101234343148e-8,-0.002382941139623567,-2.336411463944466e-5,-1.5414884137776942e-8,-0.002382509826925251,-2.328539769468119e-5,-1.532618136616557e-8,-0.0023821027927208825,-2.3103440347943915e-5,-1.5114003628255345e-8,-0.002381773349088804,-2.284408291453904e-5,-1.4808671898883374e-8,-0.0023815590512039917,-2.2563826220574735e-5,-1.4477243667166011e-8,-0.002381463086871345,-2.233471929550198e-5,-1.4205559558666824e-8,-0.0023814485095478804,-2.221697578834785e-5,-1.4065641166745777e-8,-0.002381452228381859,-2.2233998994991225e-5,-1.4085907881538568e-8,-0.002381411455037569,-2.2365307161191684e-5,-1.424262147988882e-8,-0.0023812864408547367,-2.2559894107652725e-5,-1.447559680357265e-8,-0.002381068549780454,-2.2758766135733266e-5,-1.4714854003566721e-8,-0.0023807747559344136,-2.291337561706086e-5,-1.4902487127724783e-8,-0.002380436370789755,-2.2994297064707167e-5,-1.5003052078078702e-8,-0.0023800885646524635,-2.299177707261808e-5,-1.5004382649226507e-8,-0.00237976327801646,-2.291211671228343e-5,-1.4913466509235396e-8,-0.0023794853741548514,-2.277298527889861e-5,-1.4750994633350504e-8,-0.0023792708581126575,-2.2599122259547465e-5,-1.4546281765613793e-8,-0.0023791261518308006,-2.241861685502684e-5,-1.4332799297124966e-8,-0.002379048025038435,-2.2259517123002332e-5,-1.4144070736454437e-8,-0.002379024159088545,-2.214660348294054e-5,-1.4009774292460906e-8,-0.0023790344674725033,-2.209831973031592e-5,-1.395206580492697e-8,-0.0023790533562057336,-2.2124111902023713e-5,-1.3982415286808531e-8,-0.002379052917494198,-2.222265873839312e-5,-1.4099513692685225e-8,-0.0023790067355613062,-2.238139064397462e-5,-1.428869841454831e-8,-0.002378893869389061,-2.257747476862916e-5,-1.4523091866730754e-8,-0.002378702581053121,-2.2780337278386994e-5,-1.476653436627111e-8,-0.002378433361551305,-2.2955662245878917e-5,-1.4978254730954575e-8,-0.002378100828725866,-2.3070719458652143e-5,-1.511914018072533e-8,-0.0023777339193535064,-2.310095367991105e-5,-1.515956714522654e-8,-0.0023773732909614727,-2.303748192499462e-5,-1.5088399696609955e-8,-0.0023770645160716658,-2.2893966475516838e-5,-1.492131520640025e-8,-0.002376846389675512,-2.2709585344523315e-5,-1.4704506770614907e-8,-0.0023767362857042957,-2.2543662682762967e-5,-1.4508420483594385e-8,-0.0023767187552697256,-2.2459283627088534e-5,-1.4408307234147157e-8,-0.0023767459611238515,-2.2499820209175073e-5,-1.445625065299755e-8,-0.0023767538670920077,-2.2670163085399482e-5,-1.4658709621930782e-8,-0.0023766872411040843,-2.2934727415897178e-5,-1.4973964372283597e-8,-0.0023765193201164465,-2.323369224805631e-5,-1.5331258141108677e-8,-0.0023762563410213845,-2.350669143427009e-5,-1.5658866089500266e-8,-0.002375928430938125,-2.371079089789632e-5,-1.5905466616878e-8,-0.0023755754730009244,-2.382701217823089e-5,-1.6047996748580552e-8,-0.0023752354105984904,-2.3857755177899014e-5,-1.6088754695381856e-8,-0.002374937643938984,-2.3820288416794153e-5,-1.6047823960984603e-8,-0.002374700710601401,-2.3740166302795695e-5,-1.5955340321399732e-8,-0.0023745323579410426,-2.364615831678585e-5,-1.584546360315411e-8,-0.002374430478790293,-2.356666639934087e-5,-1.575205426032653e-8,-0.002374384221762089,-2.352701024171114e-5,-1.57053729084508e-8,-0.0023743752258978223,-2.3547031862098734e-5,-1.572919102890182e-8,-0.0023743792463522813,-2.3638741087943782e-5,-1.5837991897107692e-8,-0.002374368580960303,-2.380412406762251e-5,-1.60343866710735e-8,-0.002374315566041234,-2.403369636554169e-5,-1.6307405665562255e-8,-0.0023741969508027684,-2.4306554286211768E-05,-1.663253558578559e-8,-0.0023739984897390765,-2.4592488041431972e-5,-1.6974166769903272e-8,-0.0023737187937815855,-2.485635257581502e-5,-1.729069822860392e-8,-0.0023733713634909127,-2.506433547134887e-5,-1.75419012861819e-8,-0.002372983923689407,-2.5191127286277645e-5,-1.769739737193478e-8,-0.002372594652471399,-2.5226659292504724e-5,-1.774469317666995e-8,-0.0023722453489884105,-2.518097690876975e-5,-1.7695084665231785e-8,-0.0023719720500917853,-2.508558541252764e-5,-1.758542950683843e-8,-0.0023717945137316262,-2.4989429346639012e-5,-1.7473550411127092e-8,-0.002371707467356645,-2.494832237534192e-5,-1.7425795584798645e-8,-0.002371677894372136,-2.5008867215187453e-5,-1.7497939205762146e-8,-0.0023716521953735695,-2.519167607485704e-5,-1.7715125311405072e-8,-0.002371573067713854,-2.548183725590846e-5,-1.8060341886620035e-8,-0.0023713996123746663,-2.5833052724984733e-5,-1.8479137373701417e-8,-0.002371120733790304,-2.6184543627960917e-5,-1.8899572452170946e-8,-0.002370755545988175,-2.6481976563885553e-5,-1.925703522704526e-8,-0.0023703426289241364,-2.6692240399045317e-5,-1.951183288718046e-8,-0.002369925545652223,-2.6807480392539526e-5,-1.9654094044252732e-8,-0.0023695414256623836,-2.6840554567015164e-5,-1.969852847864199e-8,-0.0023692152111846727,-2.681698378371743e-5,-1.9675010651785046e-8,-0.0023689586030738027,-2.676742403134865e-5,-1.961971546979294e-8,-0.002368771517557994,-2.672230169153053e-5,-1.9568738474777108e-8,-0.0023686442754798733,-2.6708491821190418e-5,-1.9554090992955217e-8,-0.0023685596467347297,-2.6747237733667733e-5,-1.960116950419851e-8,-0.0023684946354959537,-2.68525198499682e-5,-1.97267938434712e-8,-0.002368422377939945,-2.7029396546161804e-5,-1.9937245693158044e-8,-0.002368314731930507,-2.7272358283705946e-5,-2.0226327583010683e-8,-0.002368145999280894,-2.7564325967266348e-5,-2.0574158419038293e-8,-0.0023678977178564387,-2.7877297359742607e-5,-2.0947880438817348e-8,-0.002367563716932125,-2.8175607003251493e-5,-2.13054362009557e-8,-0.0023671538835179904,-2.842219417818171e-5,-2.1602912348808545e-8,-0.0023666947656918185,-2.8587099112517685e-5,-2.1804557557978034e-8,-0.002366225711058261,-2.865603679897383e-5,-2.1892948933762033e-8,-0.0023657906850576426,-2.8636207775475263e-5,-2.1875955583981355e-8,-0.0023654275601418958,-2.855700316341736e-5,-2.178772414823076e-8,-0.0023651577407058874,-2.8464659629023123e-5,-2.168254086275059e-8,-0.002364979157822262,-2.8411626526095733e-5,-2.162241058543541e-8,-0.0023648650418965824,-2.8442979454826838e-5,-2.166103733977592e-8,-0.0023647696710966484,-2.858341235909699e-5,-2.182833892955203e-8,-0.0023646404647817425,-2.8828964162584613e-5,-2.2120438590644107e-8,-0.002364433315624853,-2.9147094222646294e-5,-2.2499504905555506e-8,-0.0023641258489594833,-2.9486173871872614e-5,-2.2904806040155516e-8,-0.0023637232753826293,-2.979130710829397e-5,-2.3271375506734424e-8,-0.0023632546433513643,-3.0020135017275484e-5,-2.3548762139194928e-8,-0.002362761919778162,-3.0152532930312014e-5,-2.371261331000258e-8,-0.002362287259213515,-3.019176737033716e-5,-2.3766181246292998e-8,-0.002361863354709199,-3.015895406508579e-5,-2.3733906423839642e-8,-0.0023615089325091636,-3.0084812691876054e-5,-2.3651770841389847e-8,-0.00236122863993826,-3.0002168291456246e-5,-2.355846990290136e-8,-0.002361015342081342,-2.9940748794497447e-5,-2.3489231721847384e-8,-0.002360853090462664,-2.99242064708113e-5,-2.347223119682423e-8,-0.0023607198261957722,-2.9968579872684983e-5,-2.352671480071416e-8,-0.0023605896206938806,-3.008134175253829e-5,-2.3661849584525067e-8,-0.002360434817332799,-3.0260449420114613e-5,-2.3875596082544623e-8,-0.002360228724551759,-3.049336232044938e-5,-2.4153533560309604e-8,-0.002359949398259028,-3.0756647438100245e-5,-2.4468344706144205e-8,-0.0023595845450922696,-3.1017291850921676e-5,-2.4781284325725616e-8,-0.0023591366902662777,-3.1236974924948935e-5,-2.5047141991886597e-8,-0.0023586265980894577,-3.1379935910133564e-5,-2.5223485405296768e-8,-0.0023580922330621156,-3.1423318194842274e-5,-2.5282880705071384e-8,-0.002357581446433621,-3.136654245445751e-5,-2.5224014627911062e-8,-0.0023571393504713037,-3.123511772789739e-5,-2.507629936540768e-8,-0.0023567945569627356,-3.107585378526121e-5,-2.4894381030997065e-8,-0.002356549808293787,-3.094425143746427e-5,-2.474345004782824e-8,-0.0023563808398743354,-3.088856588907149e-5,-2.468058353057825e-8,-0.002356243673347264,-3.093631165990455e-5,-2.473883210055294e-8,-0.0023560873309623623,-3.108742146766624e-5,-2.491898425872327e-8,-0.002355867681615853,-3.131543790559243e-5,-2.5190695953120915e-8,-0.0023555585115042363,-3.157564626292947e-5,-2.5501820575724358e-8,-0.0023551570793018816,-3.1817414987353845e-5,-2.5792819079502532e-8,-0.0023546830395721335,-3.199708556138092e-5,-2.601196397786125e-8,-0.0023541715928763573,-3.2087761735616844e-5,-2.612699814404651e-8,-0.0023536634728575476,-3.208356074308803e-5,-2.6130313106072467e-8,-0.002353195112875602,-3.199796079202877e-5,-2.6037164980856268e-8,-0.0023527917127598285,-3.185788963483199e-5,-2.5878832104811108e-8,-0.0023524643421163408,-3.1696231806253835e-5,-2.569384848742031e-8,-0.002352210558042157,-3.15451429795799e-5,-2.5520122001298037e-8,-0.002352017095867703,-3.1431404225224024e-5,-2.5389404645823923e-8,-0.0023518632011028735,-3.137387309610943e-5,-2.532421829510982e-8,-0.0023517237164243985,-3.138241693585632e-5,-2.5336544634470662e-8,-0.0023515716747720653,-3.1457557889187125e-5,-2.542738407693742e-8,-0.002351380666688492,-3.159026777706401e-5,-2.5586503563180176e-8,-0.002351127544409854,-3.1761819323126654e-5,-2.5792232842799336e-8,-0.002350795997438297,-3.194420346482523e-5,-2.601189004377488e-8,-0.00235038109753939,-3.210218902073709e-5,-2.620411988036901e-8,-0.0023498939766626002,-3.2198362784118887e-5,-2.6324761207664516e-8,-0.002349364441336059,-3.2201906185988056e-5,-2.6337171516754927e-8,-0.002348838300113838,-3.2099820884316304e-5,-2.622549250364978e-8,-0.002348367104865175,-3.1906193387378433E-05,-2.6005638953133388e-8,-0.002347991928908947,-3.16632964565759e-5,-2.572670334096174e-8,-0.0023477278385863123,-3.1430895046698076e-5,-2.5458524871709287e-8,-0.0023475573302447783,-3.1266834683295797e-5,-2.526903432937616e-8,-0.0023474365947856223,-3.1207840834265524e-5,-2.5201788974958383e-8,-0.0023473111312674834,-3.125926073193481e-5,-2.5263855985966862e-8,-0.0023471329217680113,-3.139668630853095e-5,-2.5427484190962568e-8,-0.0023468725828316842,-3.157629805487812e-5,-2.564195034641037e-8,-0.00234652400711633,-3.174838223286182e-5,-2.5849203831761563e-8,-0.0023461023891960834,-3.1869477830964374e-5,-2.5998061315297644e-8,-0.0023456379459007243,-3.191071358278629e-5,-2.6054089874945166e-8,-0.002345167714297938,-3.1861618822297345e-5,-2.6004274687434745e-8,-0.0023447273964050676,-3.1729710102991125e-5,-2.5856743363241975e-8,-0.0023443447623778383,-3.15367263237694e-5,-2.5636504725218675e-8,-0.002344035611415732,-3.1312828941514695e-5,-2.5378716588854288e-8,-0.0023438025868741026,-3.1090321324122036e-5,-2.5121307043493483e-8,-0.002343636419494298,-3.0898215687290654e-5,-2.4898533605619872e-8,-0.0023435187346924568,-3.075840762917019e-5,-2.473640851696107e-8,-0.002343425470101371,-3.06836209512552e-5,-2.4650217468068794e-8,-0.002343330156203922,-3.067678824239108e-5,-2.46437581014699e-8,-0.0023432067557343844,-3.0731268964403044e-5,-2.4709591242115973e-8,-0.002343032205144756,-3.083142896996042e-5,-2.482971769728214e-8,-0.0023427890317182145,-3.09534849684997e-5,-2.4976536733214626e-8,-0.002342468429998982,-3.1066960867543575e-5,-2.5114480866863458e-8,-0.0023420738829506476,-3.113759753821509e-5,-2.520334251191813e-8,-0.0023416245655075696,-3.113286617338482e-5,-2.5204692814982757e-8,-0.002341156456037676,-3.1030702451985074e-5,-2.5092155875587517e-8,-0.0023407180452088712,-3.083007768640861e-5,-2.4863906224778936e-8,-0.0023403583393829482,-3.055874873840108e-5,-2.4551880478986413e-8,-0.002340109110049135,-3.027131810595971e-5,-2.421961909495806e-8,-0.0023399695530012623,-3.0033690127916367e-5,-2.394416454197952e-8,-0.0023399035996637175,-2.9898874983898596e-5,-2.378781857784365e-8,-0.0023398534173924984,-2.9886919236503446e-5,-2.3774659522504135e-8,-0.002339761711113448,-2.9979953784273124e-5,-2.388461211409085e-8,-0.0023395905205925225,-3.0132912884441697e-5,-2.4065731184666787e-8,-0.002339328969507674,-3.0291463113513845e-5,-2.4254908440399182e-8,-0.0023389905263682936,-3.0407909014329455e-5,-2.439632805788379e-8,-0.002338604647812188,-3.0450610353352113e-5,-2.4452510933726005e-8,-0.002338207386718835,-3.0406942615971795e-5,-2.4407957962391716e-8,-0.002337833512955816,-3.0281802581374335e-5,-2.4267646192649814e-8,-0.002337510916804099,-3.009374007485284e-5,-2.405271127085375e-8,-0.00233725717872705,-2.9870050109659613e-5,-2.379481298482102e-8,-0.0023370780896862574,-2.96415499392353e-5,-2.3530020163429226e-8,-0.0023369679571642664,-2.943765111817507e-5,-2.3292964938693384e-8,-0.002336911380731853,-2.928228272071026e-5,-2.311196745938867e-8,-0.0023368860519105425,-2.9191004014698512e-5,-2.3005572673000774e-8,-0.0023368660995786595,-2.9169474421886248e-5,-2.2980719814710166e-8,-0.002336825467155114,-2.921325593941368e-5,-2.3032512896595408e-8,-0.0023367409423963475,-2.9308629309781252e-5,-2.3145193486284356e-8,-0.002336594789812839,-2.94340434461076e-5,-2.329383537317645e-8,-0.002336377141683103,-2.9562078747041886e-5,-2.3446595994696407e-8,-0.0023360882937399465,-2.9662099579462933e-5,-2.3567732219797592e-8,-0.0023357408585416017,-2.9704065354320472e-5,-2.36219691020052e-8,-0.0023353611169372288,-2.9664178807460198e-5,-2.3581074777115405e-8,-0.002334987901996926,-2.953256184083392e-5,-2.3432902238347995e-8,-0.002334666656879615,-2.9321444023828176e-5,-2.3191111499019182e-8,-0.002334437144125591,-2.906967526378198e-5,-2.2900614292587276e-8,-0.0023343170286952335,-2.8837540628692366e-5,-2.263164135915559e-8,-0.002334289377364724,-2.868863915936848e-5,-2.245863079739621e-8,-0.0023343042731189534,-2.8664576401788524e-5,-2.243065985991554e-8,-0.002334297427240077,-2.8766728884431434e-5,-2.2550060161150142e-8,-0.00233421602436304,-2.8956937999179782e-5,-2.277304822604038e-8,-0.0023340366493231914,-2.9175695277364925e-5,-2.3030723691705274e-8,-0.0023337675567428337,-2.9365148437702835e-5,-2.325572494540632e-8,-0.002333439019167699,-2.948499872544599e-5,-2.3400714149062195e-8,-0.002333090235900311,-2.9517803647735512e-5,-2.3444668908795366e-8,-0.002332758701346869,-2.9466638538369463e-5,-2.3390385484474364e-8,-0.0023324738052357035,-2.934937562502968e-5,-2.3258055105401835e-8,-0.0023322540424882687,-2.919255582833955e-5,-2.3078281732160556e-8,-0.0023321064600515273,-2.902614663617285e-5,-2.2885999487207492e-8,-0.002332027286009202,-2.8879263050207602e-5,-2.271540058262342e-8,-0.0023320033619865835,-2.877662704188809e-5,-2.259567613496163e-8,-0.002332014289946477,-2.873576097567269e-5,-2.2547631244607782e-8,-0.002332035177135321,-2.8765014379972653e-5,-2.2581326280258576e-8,-0.0023320398449503863,-2.8862571973660708e-5,-2.2694919143851268e-8,-0.0023320042471653172,-2.9016654866027363e-5,-2.287492871831799e-8,-0.0023319096779583115,-2.9206946607571382e-5,-2.3097917898279694e-8,-0.002331745434296553,-2.940702053860624e-5,-2.333330260051453e-8,-0.0023315107913132412,-2.9587554741398894e-5,-2.354703004535643e-8,-0.002331216183994399,-2.9720241445388588e-5,-2.370604059396504e-8,-0.0023308833968589734,-2.9782371874826208e-5,-2.378354402409868e-8,-0.0023305442821816677,-2.976211745161164e-5,-2.376519028712881e-8,-0.002330237019842478,-2.9664138028036154e-5,-2.3655730605611676e-8,-0.002329998741183291,-2.9513937315933643e-5,-2.3484296706424633e-8,-0.0023298543227104943,-2.935776247905231e-5,-2.3304483190610554e-8,-0.0023298039688696283,-2.9254146272590037e-5,-2.3184600111912306e-8,-0.0023298161627486316,-2.9255771124284795e-5,-2.3186513526067538e-8,-0.002329833717182933,-2.9387407680729007e-5,-2.3339799540173714e-8,-0.00232979429485865,-2.963251445919433e-5,-2.3625939095795707e-8,-0.0023296555485235837,-2.993876684354111e-5,-2.3984573422930422e-8,-0.002329410031430962,-3.0240089226068864e-5,-2.433902191722381e-8,-0.002329082684861528,-3.048133910260082e-5,-2.4624941076546366e-8,-0.002328716252266335,-3.063272313348873e-5,-2.4807118980201846e-8,-0.0023283552432151315,-3.0691090518933916e-5,-2.4881121231374615e-8,-0.002328035235814446,-3.067316204035687e-5,-2.486564617259907e-8,-0.002327778453652459,-3.060672619689269e-5,-2.4792504271784795e-8,-0.0023275936390781573,-3.052324005011218e-5,-2.4698123022970693e-8,-0.002327477917828302,-3.0452785078251434e-5,-2.461765146651857e-8,-0.002327419112590265,-3.0420884134364205E-05,-2.458113394257909e-8,-0.0023273980040969685,-3.0446326357327403e-5,-2.4610839446448034e-8,-0.002327390669521878,-3.0539531096370326e-5,-2.4719266183936192e-8,-0.0023273711094918687,-3.070139397965835e-5,-2.4907774784639605e-8,-0.002327314298389271,-3.0922803788878494e-5,-2.5166047977091938e-8,-0.002327199604182002,-3.118523180180453e-5,-2.5472802828543438e-8,-0.0023270141555905726,-3.146275582275373e-5,-2.579813850369303e-8,-0.002326755507257778,-3.1725524753218145e-5,-2.6107509797618743e-8,-0.002326433025242352,-3.194433915074523e-5,-2.636696380227279e-8,-0.00232606757107646,-3.2095816875852493E-05,-2.6549064620552972e-8,-0.0023256892347763903,-3.216744119251998e-5,-2.663874128588696e-8,-0.0023253330548705857,-3.216173673953351e-5,-2.6638224765391106e-8,-0.002325032753407156,-3.209873777588853e-5,-2.6570101510359574e-8,-0.0023248127299698297,-3.201549252585091e-5,-2.6476970450584947e-8,-0.002324679419257254,-3.1960909325668365e-5,-2.641563798078472e-8,-0.002324614738368727,-3.198471760129885e-5,-2.6444333423830437e-8,-0.0023245759518624605,-3.2121629871326e-5,-2.6604171937243653e-8,-0.002324505785473568,-3.237602913514e-5,-2.6901108196581215e-8,-0.0023243518127423596,-3.271591879496891e-5,-2.7298653087985366e-8,-0.00232408675837698,-3.308237216229446e-5,-2.772870037338478e-8,-0.0023237183421038277,-3.341134600686158e-5,-2.8116827565107905e-8,-0.0023232834120907914,-3.365603424276712e-5,-2.8408283829963784e-8,-0.0023228315250686865,-3.379852594585868e-5,-2.8581601521190148e-8,-0.0023224081917482394,-3.384823308876176e-5,-2.8646918820079517e-8,-0.0023220447513682056,-3.3832392487888304e-5,-2.8635163154902712e-8,-0.0023217556857669294,-3.378539642682306e-5,-2.8585851446400122e-8,-0.0023215406467797794,-3.374081042009061e-5,-2.8537897313167375e-8,-0.002321388188291431,-3.3726795999537757e-5,-2.8524238705810844e-8,-0.002321279357326137,-3.376398701175925e-5,-2.8569237172436706e-8,-0.002321190580067218,-3.3864561252015965e-5,-2.8687469509032147e-8,-0.0023210960815719848,-3.403170234189584e-5,-2.8883032294239802e-8,-0.0023209703112198727,-3.425921865422195e-5,-2.9149091545929388e-8,-0.0023207907692627456,-3.453153525414017e-5,-2.9467892708359517e-8,-0.002320541348280485,-3.4824632907782434e-5,-2.9811852888919886e-8,-0.002320215787982576,-3.510859047522046e-5,-3.014647119465895e-8,-0.002319820326628823,-3.5352020534393274e-5,-3.0435397604764066e-8,-0.002319374429235887,-3.5528027890910064e-5,-3.064726176518535e-8,-0.0023189086929537852,-3.562058707993201e-5,-3.0763027321289934e-8,-0.0023184596969337903,-3.562967431567573e-5,-3.078198150000386e-8,-0.0023180625159862473,-3.557348082881343e-5,-3.072444153370548e-8,-0.0023177424037032486,-3.548664144440317e-5,-3.062992075551395e-8,-0.0023175074984734543,-3.5414226963611394e-5,-3.0550393228261676e-8,-0.0023173444808164832,-3.5402047537825155e-5,-3.053919267474974e-8,-0.002317219043515323,-3.548478675955916e-5,-3.063722510387765e-8,-0.0023170825452282313,-3.567474791693208e-5,-3.085971138660794e-8,-0.0023168847150472982,-3.595522696647335e-5,-3.118819869005432e-8,-0.0023165894160324624,-3.628263070896687e-5,-3.157275232013399e-8,-0.0023161874027681608,-3.659879209134966e-5,-3.194610912976707e-8,-0.002315699674318987,-3.6849589557777495e-5,-3.224527727736699e-8,-0.002315169322935829,-3.7001624225642415e-5,-3.2430960432418255e-8,-0.002314646199700832,-3.704960690848625e-5,-3.249625130896201e-8,-0.0023141720768090047,-3.701289220350198e-5,-3.246278529929417e-8,-0.0023137719944856,-3.692533958583261e-5,-3.2369181497699095e-8,-0.002313452787336121,-3.682436937453514e-5,-3.225850415814049e-8,-0.002313206349815514,-3.674303927821273e-5,-3.216911319350878e-8,-0.002313014513893187,-3.6705975238209506e-5,-3.21298653443614e-8,-0.002312853494672486,-3.6728114464930174e-5,-3.215852030546475e-8,-0.0023126972338266515,-3.681481612065799e-5,-3.226175333094992e-8,-0.0023125198655322456,-3.696232465768661e-5,-3.24356389814037e-8,-0.002312297893017724,-3.7158178604489365e-5,-3.266612338087536e-8,-0.0023120126639769563,-3.7381726521067834e-5,-3.292962936131338e-8,-0.002311653424383115,-3.760539504033395e-5,-3.319450237088803e-8,-0.0023112206387045776,-3.7797568417562995e-5,-3.3424282093674193e-8,-0.002310728536788081,-3.7927679776685745e-5,-3.3583518129125895e-8,-0.0023102052694704335,-3.7973269632081315e-5,-3.3645883688399196e-8,-0.002309689114953737,-3.792741024238655e-5,-3.3602769741033175e-8,-0.002309220367796046,-3.780365018678395e-5,-3.34690861984953e-8,-0.0023088306454635615,-3.763560952953059e-5,-3.328295822689161e-8,-0.0023085331437765486,-3.7470095324169245e-5,-3.30979876994702e-8,-0.0023083175552887736,-3.7355299923970754e-5,-3.296981668241202e-8,-0.0023081517291295645,-3.732774019023125e-5,-3.2941121239366296e-8,-0.0023079897002703125,-3.740204716129852e-5,-3.302971182509186e-8,-0.0023077837234663535,-3.7566599907923365e-5,-3.322321468544985e-8,-0.0023074969972720206,-3.778618699150824e-5,-3.348181192736664e-8,-0.002307113642460123,-3.801111136025596e-5,-3.374850764245679e-8,-0.002306642967714749,-3.819047303514916e-5,-3.3964389987148476e-8,-0.0023061164179579287,-3.8285780849737995e-5,-3.40844388236443e-8,-0.0023055780533455137,-3.828042081343265e-5,-3.408864550347391e-8,-0.0023050720265702773,-3.818189606197478e-5,-3.3984813393723e-8,-0.0023046316398957264,-3.801683262139339e-5,-3.3802987367837267e-8,-0.00230427334288954,-3.7821682524135505e-5,-3.358486019035794e-8,-0.0023039963644423222,-3.7633111972824855e-5,-3.337272686138091e-8,-0.002303786336992908,-3.748100255910153e-5,-3.320135317605305e-8,-0.0023036204437704402,-3.738497046118624e-5,-3.3093833427999516e-8,-0.002303472191629436,-3.735370107695463e-5,-3.306068870435814e-8,-0.002303315004370737,-3.738581151208172e-5,-3.310077586295026e-8,-0.0023031247168510474,-3.7471158388023855e-5,-3.32027746012847e-8,-0.002302881512812013,-3.759204402485969e-5,-3.334659244660564e-8,-0.002302571933303701,-3.772437161974421e-5,-3.3504698526810776e-8,-0.0023021913377570913,-3.7839318120416736e-5,-3.364401288936653e-8,-0.0023017466592312736,-3.790639624397905e-5,-3.3729365113627754e-8,-0.002301258499438132,-3.789868982799408e-5,-3.3729469251606456e-8,-0.0023007607416336475,-3.780025860121621e-5,-3.362545368835861e-8,-0.0023002955727393715,-3.761398422436507e-5,-3.341996763976326e-8,-0.002299903135206751,-3.7366095073082776e-5,-3.314251715734096e-8,-0.002299608241321281,-3.7103131944292765e-5,-3.284613208267745e-8,-0.002299409859179875,-3.687991824381861e-5,-3.259369265324991e-8,-0.002299279285932504,-3.674229260682073e-5,-3.243819215569253e-8,-0.002299168823546775,-3.6712133551511284e-5,-3.240551750739637e-8,-0.002299027108588892,-3.678121604662647e-5,-3.248721326687466e-8,-0.0022988143521173038,-3.6915489318077446e-5,-3.2645093229978927e-8,-0.0022985121434507642,-3.706652291671608e-5,-3.282408232012828e-8,-0.0022981259731840605,-3.718510344513982e-5,-3.296765596479805e-8,-0.002297681444338649,-3.723291069296564e-5,-3.3031266622567177e-8,-0.0022972163826716816,-3.7189964304819385e-5,-3.299108395567988e-8,-0.002296771289655474,-3.705699893642229e-5,-3.284699771750507e-8,-0.0022963804162048507,-3.685301926143306e-5,-3.2620069474865724e-8,-0.0022960653412444033,-3.66092080660818e-5,-3.234570517089325e-8,-0.0022958321994601843,-3.6361104881873565e-5,-3.206471491834107e-8,-0.002295672602594345,-3.6141216362085723e-5,-3.181475278986125e-8,-0.002295567237924504,-3.5973699239903435e-5,-3.1624065630400416e-8,-0.0022954906243840873,-3.5871742882865936e-5,-3.150833328403298e-8,-0.002295415668514197,-3.583734289021038e-5,-3.1470303577740756e-8,-0.002295317231199662,-3.5862619387422194e-5,-3.15012747362056e-8,-0.002295174587684972,-3.593175025312556e-5,-3.158334026307848e-8,-0.0022949731503511582,-3.6022919077861825e-5,-3.169165951737354e-8,-0.0022947059593891967,-3.6110200777476796e-5,-3.1796616976641045e-8,-0.0022943752972072132,-3.616576445549112e-5,-3.186629056886203e-8,-0.002293994395917849,-3.616308491839482e-5,-3.1870055583428156e-8,-0.0022935884913046806,-3.608188698839053e-5,-3.1784218012190775e-8,-0.002293193570220022,-3.591490428985524e-5,-3.159981966187581e-8,-0.002292850700555697,-3.567488665407547e-5,-3.1330816136700846e-8,-0.0022925949121289655,-3.539799888834784e-5,-3.101814903088958e-8,-0.002292441079759657,-3.5138654460845667e-5,-3.072396888884776e-8,-0.0022923737482313526,-3.495377210004042e-5,-3.051367324612897e-8,-0.0022923487357085484,-3.4881645478195986e-5,-3.043169702193616e-8,-0.0022923082878944408,-3.492651926994169e-5,-3.048374540670587e-8,-0.0022922023645509603,-3.5057777584302726e-5,-3.063565736187704e-8,-0.002292004823110608,-3.522321745129158e-5,-3.0828335408719365e-8,-0.002291718031987991,-3.536782916311345e-5,-3.099901295008251e-8,-0.0022913672330241424,-3.544908418763723e-5,-3.109866179650461e-8,-0.002290990059070643,-3.544468044302114e-5,-3.1100956371175926e-8,-0.0022906260283061795,-3.535334262818601e-5,-3.1003445892457103e-8,-0.0022903084934227853,-3.5191150650947184e-5,-3.082366001102285e-8,-0.002290059645962504,-3.4985740590012e-5,-3.059271116004469e-8,-0.002289888308889336,-3.476990829758171e-5,-3.034806608016834e-8,-0.002289790112933232,-3.457553303386381e-5,-3.0126527996035566e-8,-0.0022897496397346197,-3.442855427528838e-5,-2.995832382862933e-8,-0.002289743927638933,-3.434557978525591e-5,-2.986303752963534e-8,-0.002289746588173612,-3.433235628935457e-5,-2.984772570762622e-8,-0.002289731806192985,-3.438399705495003e-5,-2.9907130752155833e-8,-0.0022896776371395563,-3.448658144544781e-5,-3.0025539997263514e-8,-0.002289568333240068,-3.4619516180843974e-5,-3.0179546880832127e-8,-0.002289395830989697,-3.47581192864351e-5,-3.034104020878307e-8,-0.0022891606980330746,-3.487624615385044e-5,-3.048017863245395e-8,-0.0022888727561433233,-3.494909690242651e-5,-3.0568516096956604e-8,-0.0022885513883073552,-3.4956571873741554e-5,-3.058275352336701e-8,-0.002288225022291335,-3.4887629910986334e-5,-3.050971134872694e-8,-0.0022879285346280604,-3.474558680788467e-5,-3.0352495822772635e-8,-0.002287697014005668,-3.4552914595581084e-5,-3.013619110840197e-8,-0.002287555258528512,-3.4352264826514714e-5,-2.990924381258495e-8,-0.002287505296293813,-3.419939650252042e-5,-2.9735499630763315e-8,-0.0022875185392014596,-3.414608973943245e-5,-2.9674650423240414e-8,-0.002287540654767576,-3.421841512072958e-5,-2.975725826269698e-8,-0.0022875109191809696,-3.44028369555647e-5,-2.9968681291149824e-8,-0.0022873866431173677,-3.4650463730046105e-5,-3.025373403994287e-8,-0.002287158332342123,-3.489747604808045e-5,-3.05398504214709e-8,-0.0022868484445149025,-3.5088852879194874e-5,-3.076405861695239e-8,-0.0022864982748903593,-3.519317267669936e-5,-3.0889870385194194e-8,-0.002286152562989151,-3.520525313625685e-5,-3.091044534452543e-8,-0.002285848351995372,-3.514064936767193e-5,-3.084259232463975e-8,-0.0022856095545583004,-3.5027359972136336e-5,-3.071759518882632e-8,-0.0022854458582351883,-3.4898128170332654e-5,-3.057260162184731e-8,-0.00228535406658743,-3.4784542000901826e-5,-3.0443888195242704e-8,-0.0022853205545476122,-3.471284955278595e-5,-3.0361936066289834e-8,-0.0022853242782383083,-3.4701131164836125e-5,-3.034799776992067e-8,-0.0022853401172956323,-3.475768108400181e-5,-3.0412079618106474e-8,-0.0022853423369857883,-3.488055943683937e-5,-3.055234935450222e-8,-0.0022853079331452636,-3.505829657473036e-5,-3.075595068991225e-8,-0.002285219540357508,-3.5271714452898415e-5,-3.1001145596984345e-8,-0.0022850675526555806,-3.5496617417606936e-5,-3.12604400979373e-8,-0.0022848513167228906,-3.5706935033342264e-5,-3.150417106161792e-8,-0.0022845794630886704,-3.587803665272236e-5,-3.170422273669897e-8,-0.0022842694256383967,-3.599011192601114e-5,-3.183778648177624e-8,-0.00228394612191299,-3.6031573527607656e-5,-3.1891182357691236e-8,-0.002283639559272516,-3.6002497987339216e-5,-3.1863829412209876e-8,-0.0022833807000028155,-3.591781523569677e-5,-3.17720571397393e-8,-0.002283194835117489,-3.580895633737797e-5,-3.1651234007313374e-8,-0.0022830926687873554,-3.572151453512309e-5,-3.155331255203707e-8,-0.0022830615120185546,-3.57062013456485e-5,-3.1536574359696766e-8,-0.002283061910144253,-3.5802515052971905e-5,-3.1646865496677e-8,-0.0022830358716624693,-3.602024681505544e-5,-3.1896238479571526e-8,-0.002282927452508825,-3.6329876875859376e-5,-3.2251745516056244e-8,-0.0022827062816265977,-3.667107036558002e-5,-3.264498114105585e-8,-0.0022823796709535715,-3.697658131461953e-5,-3.299928501542816e-8,-0.0022819864232603475,-3.719735460090399e-5,-3.325834215160285e-8,-0.0022815785791103415,-3.731532145924846e-5,-3.340080377913226e-8,-0.0022812032084957965,-3.734128205682896e-5,-3.3438034270071183e-8,-0.002280891871937716,-3.7304369843453694e-5,-3.3402379181189025e-8,-0.00228065814223643,-3.724061603780327e-5,-3.333439792808469e-8,-0.0022805000038872204,-3.718451764462349e-5,-3.327337443004344e-8,-0.0022804039844390635,-3.7164175330215406e-5,-3.325171023981485e-8,-0.002280349211641098,-3.7198996010101034e-5,-3.3292116454290506e-8,-0.0022803108906574855,-3.729879835377055e-5,-3.3406389414515064e-8,-0.002280263357184188,-3.746369139111816e-5,-3.359514042205903e-8,-0.0022801829142725643,-3.76845561343038e-5,-3.3848312986735143e-8,-0.0022800505440541212,-3.794419075362827e-5,-3.4146529008746734e-8,-0.002279854394613768,-3.821932509749697e-5,-3.446344080378021e-8,-0.002279591667380771,-3.8483592197162534e-5,-3.4769134737453335e-8,-0.0022792694769532365,-3.8711202674219674e-5,-3.503427192200282e-8,-0.002278904453787725,-3.888090559245803e-5,-3.523451107453436e-8,-0.002278520994022731,-3.897981593858639e-5,-3.5354790439935546e-8,-0.0022781481387727765,-3.900661067575245e-5,-3.539296714173588e-8,-0.002277815196272408,-3.897358681368924e-5,-3.536228182941742e-8,-0.0022775462453310945,-3.8907078916294634e-5,-3.5292063500544346e-8,-0.0022773537578315915,-3.88453723888866e-5,-3.5225611058902015e-8,-0.0022772323066882973,-3.88328268780596e-5,-3.5213664861948535e-8,-0.002277154719218136,-3.89093864059176e-5,-3.5302432695555914e-8,-0.0022770743013513575,-3.909671606337604e-5,-3.551757119061668e-8,-0.0022769361938568297,-3.93858582620144e-5,-3.584980135264396e-8,-0.0022766965332619883,-3.9734321357865546e-5,-3.625133407898208e-8,-0.002276341115211891,-4.007817531691193e-5,-3.664954907985626e-8,-0.0022758922917568173,-4.035551223226274e-5,-3.697373201351628e-8,-0.0022753992488523085,-4.0528709716748785e-5,-3.7180470529775404e-8,-0.0022749180581077707,-4.059371095721217e-5,-3.726429156698758e-8,-0.0022744933359550488,-4.057442247318822e-5,-3.7251455930854735e-8,-0.0022741491150162865,-4.0509294110553696e-5,-3.718495011122612e-8,-0.0022738888817427747,-4.043836498717976e-5,-3.7109976390399145e-8,-0.0022737006122365193,-4.0394935220934196e-5,-3.706454561541384e-8,-0.0022735628534328385,-4.0401953921682715e-5,-3.7075254422409025e-8,-0.0022734497848497666,-4.047142453162688e-5,-3.7156399239620105e-8,-0.0022733348583905645,-4.060512607912676e-5,-3.731060746631049e-8,-0.0022731934580261463,-4.0795705115488924e-5,-3.752998308750005e-8,-0.00227300512552994,-4.102789765037355e-5,-3.7797496246937914e-8,-0.0022727556876095496,-4.128004247365327e-5,-3.808875005360056e-8,-0.002272439315133133,-4.152626986166031e-5,-3.837450044928072e-8,-0.0022720601389120266,-4.173970137526162e-5,-3.862427282168575e-8,-0.0022716327599983676,-4.1896595491755895e-5,-3.8811002059216745e-8,-0.0022711810539608945,-4.1980908267824755e-5,-3.8916135263443654e-8,-0.00227073496835204,-4.1988409487146426e-5,-3.8934279948754235e-8,-0.002270325441507122,-4.192927899551331e-5,-3.8876227340469446e-8,-0.002269978122215947,-4.1828177158028644e-5,-3.8769219119330844e-8,-0.00226970702629286,-4.172123601459589e-5,-3.865378498185866e-8,-0.0022695094556672577,-4.1649926366732944e-5,-3.857700174244831e-8,-0.002269363629343624,-4.165219466353312e-5,-3.858250738357373e-8,-0.0022692306298698933,-4.175204263636338e-5,-3.869853604806306e-8,-0.0022690619905320303,-4.195007217268219e-5,-3.892687238355782e-8,-0.0022688127656313537,-4.22189359377569e-5,-3.923733305382498e-8,-0.0022684568851602466,-4.2507766167857475e-5,-3.9572560430991624e-8,-0.002267998326091102,-4.275672312180571e-5,-3.986449700076138e-8,-0.0022674714734245843,-4.291695195769548e-5,-4.005713795935709e-8,-0.0022669291597497737,-4.296662160132691e-5,-4.012487438155247e-8,-0.0022664242564903914,-4.2915295188340505e-5,-4.007760659904807e-8,-0.0022659940652150863,-4.279611123618072e-5,-3.995206908990567e-8,-0.002265653503930502,-4.265191244855833e-5,-3.979631362883339e-8,-0.0022653969340296893,-4.252261313043785e-5,-3.965552378432056e-8,-0.0022652046236925952,-4.243769493960012e-5,-3.95634861733223e-8,-0.002265049794477369,-4.241380155046763e-5,-3.9539697044729416e-8,-0.0022649041082798216,-4.245547864330964e-5,-3.9589986428501323e-8,-0.00226474124918325,-4.255711975844435e-5,-3.970856627954339e-8,-0.0022645391613217362,-4.270500455743162e-5,-3.988028806109427e-8,-0.0022642816799547678,-4.287910780361013e-5,-4.008272167427198e-8,-0.002263960087918555,-4.3054900809357125e-5,-4.028824466566982e-8,-0.002263574719130994,-4.320567695985923e-5,-4.0466687322319195e-8,-0.0022631362204558894,-4.330590165289405e-5,-4.058908270551296e-8,-0.0022626656639188536,-4.3335670173572484e-5,-4.063264302083518e-8,-0.0022621925719040524,-4.328569846595285e-5,-4.0586363627982455e-8,-0.0022617502460647106,-4.316153538197371e-5,-4.045582192050501e-8,-0.0022613686905826485,-4.298517863381172e-5,-4.02651379123331e-8,-0.002261066659628733,-4.279254577136207e-5,-4.0054328367112326e-8,-0.002260845254738966,-4.2626492298289355e-5,-3.9871642378719045e-8,-0.002260685452234943,-4.252671070386968e-5,-3.976228848354713e-8,-0.0022605509404802003,-4.251909481418603e-5,-3.9756384567982686e-8,-0.002260396131472639,-4.260760900980759e-5,-3.985954021720435e-8,-0.002260177694963087,-4.277131989594658e-5,-4.004914789052283e-8,-0.002259866766101412,-4.2968166060102e-5,-4.027830918497738e-8,-0.002259458210637815,-4.3145372744970057e-5,-4.048742944540769e-8,-0.0022589733613924707,-4.3254145791464096e-5,-4.062085419440258e-8,-0.002258454294531585,-4.326392054614321e-5,-4.064315339359069e-8,-0.0022579511436190353,-4.3170655978861896e-5,-4.0548734377790825e-8,-0.0022575073922757242,-4.2995916330466316e-5,-4.036104128218041e-8,-0.0022571489718927946,-4.2777865460527206e-5,-4.012258232791228e-8,-0.0022568805697357453,-4.255884861731508e-5,-3.988102778980891e-8,-0.0022566887016491335,-4.2374725671374876e-5,-3.967716426716014e-8,-0.002256548444902981,-4.2248875604791526e-5,-3.953799287615894e-8,-0.002256430457477919,-4.2190877177150564e-5,-3.9475031093020603e-8,-0.0022563063262742698,-4.219814048656945e-5,-3.9485967035225393e-8,-0.0022561518892659908,-4.225864272457631e-5,-3.9557654446514965e-8,-0.0022559490620141626,-4.235363463796422e-5,-3.9669178707093105e-8,-0.0022556869196150115,-4.245992921932744e-5,-3.9794503964805914e-8,-0.002255362650026142,-4.2551960746738174e-5,-3.990484416493067e-8,-0.00225498259128279,-4.260418776905965e-5,-3.9971363026047316e-8,-0.0022545629951551973,-4.259443556510106e-5,-3.996888136177645e-8,-0.002254129647814144,-4.2508371758274345e-5,-3.988086135327218e-8,-0.0022537151993712646,-4.234455193159232e-5,-3.970509132900266e-8,-0.00225335330209883,-4.2118407480589275e-5,-3.9458268320626675e-8,-0.0022530698916637996,-4.186263655252896e-5,-3.917660732834667e-8,-0.0022528740190121094,-4.162180095563857e-5,-3.8909958155369906e-8,-0.002252752217450626,-4.1441201489894646e-5,-3.870944411348118e-8,-0.0022526698614514173,-4.1353325375690816e-5,-3.861225482382609e-8,-0.0022525801000990234,-4.136713774543938e-5,-3.862947201208333e-8,-0.0022524373733573866,-4.146464933767827e-5,-3.8741929345072135e-8,-0.002252210525373519,-4.1605994325611274e-5,-3.89055852814104e-8,-0.0022518911377591767,-4.1740803405337114e-5,-3.906405012373955e-8,-0.0022514949999607,-4.182182996698903e-5,-3.9163825942864726e-8,-0.0022510569958787445,-4.181681135790668e-5,-3.916776403591502e-8,-0.002250621342141275,-4.171557236139564e-5,-3.906331946104076e-8,-0.0022502301294550285,-4.15308425955026e-5,-3.886378396708598e-8,-0.002249913449319389,-4.129306958437996e-5,-3.860271679338941e-8,-0.002249683726453224,-4.104130530740587e-5,-3.832383998911728e-8,-0.002249535283975047,-4.0813295369522146e-5,-3.8069884935159855e-8,-0.0022494483048860476,-4.0637702512655366e-5,-3.787370255806774e-8,-0.002249395075586441,-4.053008747505458e-5,-3.775352485809548e-8,-0.002249346228387429,-4.049258564563083e-5,-3.771239510768213e-8,-0.0022492755010270257,-4.0516052192387256e-5,-3.774046242612261e-8,-0.0022491626277783426,-4.058321264511812e-5,-3.7818520580070174e-8,-0.0022489947436900195,-4.0671780343274614e-5,-3.7921589641568395e-8,-0.002248766957445944,-4.075711343877572e-5,-3.8021986797907276e-8,-0.0022484826632076446,-4.081452585563666e-5,-3.8091951714669235e-8,-0.002248153838048646,-4.0821728247974105e-5,-3.8106341905870566e-8,-0.002247801079960905,-4.076195151424849e-5,-3.804605949402225e-8,-0.002247452593148405,-4.0628012018448585e-5,-3.790257146744856e-8,-0.0022471409301629466,-4.042682459236734e-5,-3.768302732502345e-8,-0.00224689646765886,-4.018263561138499e-5,-3.7414039313886286e-8,-0.0022467379334867687,-3.993603737751534e-5,-3.71407722402369e-8,-0.0022466629330224067,-3.973603731085064e-5,-3.6918205817805125e-8,-0.0022466437937668942,-3.962548372148706e-5,-3.679484541297912e-8,-0.0022466332626418345,-3.962510713746668e-5,-3.679475135912498e-8,-0.0022465795112438054,-3.972433968955547e-5,-3.690704831574807e-8,-0.002246443844399572,-3.988431149987231e-5,-3.7089012125681974e-8,-0.0022462127331009103,-4.005144641550452e-5,-3.728104124941213e-8,-0.002245899726127667,-4.017461828870116e-5,-3.742571513024981e-8,-0.0022455385610210964,-4.021870065905526e-5,-3.7482979092119534e-8,-0.002245171991501091,-4.017101257208119e-5,-3.743755699529912e-8,-0.0022448406857828573,-4.0040872064166135e-5,-3.729877117661851e-8,-0.002244574842630709,-3.985434389103751e-5,-3.709499167218068e-8,-0.00224438953153147,-3.964658315948225e-5,-3.6865281132306804e-8,-0.002244283739282433,-3.9453769098646514e-5,-3.6650395806950313e-8,-0.0022442425786291715,-3.9306138580895836e-5,-3.648483998275852e-8,-0.0022442417262513318,-3.9223235736532204e-5,-3.639130046745756e-8,-0.002244252825270072,-3.921193238763609e-5,-3.637818766334322e-8,-0.002244248580715095,-3.926701981343953e-5,-3.6440147045714485e-8,-0.002244206665010873,-3.9373614587264704e-5,-3.656072898333406e-8,-0.0022441120851505714,-3.9510449394149734e-5,-3.671615220159067e-8,-0.002243958158082218,-3.9653224799783987e-5,-3.687916687487293e-8,-0.002243746569982561,-3.977754481038861e-5,-3.702240992509356e-8,-0.0022434870012997396,-3.986143852984975e-5,-3.7121211995940224e-8,-0.002243196539261886,-3.9887788360821346e-5,-3.715623183345602e-8,-0.002242898748955786,-3.984704324325663e-5,-3.711640914072695e-8,-0.0022426218280860106,-3.974042123909537e-5,-3.7002547544910815e-8,-0.0022423948446182447,-3.9583186860967147e-5,-3.683110598566761e-8,-0.002242241179018976,-3.940641160112801e-5,-3.663638469156625e-8,-0.00224216956598242,-3.925442123747653e-5,-3.646787712775838e-8,-0.002242165743912653,-3.917522022806908e-5,-3.63796461283401e-8,-0.0022421904430927637,-3.92042809462743e-5,-3.641210968875951e-8,-0.0022421888363345576,-3.934800163595166e-5,-3.657333079382851e-8,-0.0022421101287026773,-3.957707112540881e-5,-3.683135600408295e-8,-0.0022419276065207064,-3.983591431005777e-5,-3.712457446970693e-8,-0.0022416477393448642,-4.0063753426798325e-5,-3.73851192566621e-8,-0.0022413045475564155,-4.0215340963561835e-5,-3.7561970560884604e-8,-0.0022409449338205603,-4.0271819274777205e-5,-3.7633148529958066e-8,-0.0022406136872176463,-4.0240309319839884e-5,-3.7605480019251675e-8,-0.002240343470877864,-4.0146522531138636e-5,-3.750668536605433e-8,-0.002240150677565745,-4.002533269708593e-5,-3.7375157741474976e-8,-0.002240035711440105,-3.991240818250783e-5,-3.725076167766338e-8,-0.002239985804253139,-3.9838071993125945e-5,-3.7167903625866e-8,-0.0022399789880449567,-3.9823368021104823e-5,-3.715090319780558e-8,-0.0022399885175577506,-3.9878050065343086e-5,-3.721146830451135e-8,-0.002239987272940578,-4.000036042511323e-5,-3.734824122526935e-8,-0.0022399516443405575,-4.017838712946535e-5,-3.7548239619326853e-8,-0.002239864499431365,-4.0392596449678075e-5,-3.778973496167977e-8,-0.0022397169957782525,-4.061908331716644e-5,-3.804599535317224e-8,-0.002239509163109704,-4.083302738834809e-5,-3.828923970936112e-8,-0.00223924945058436,-4.101186342286681e-5,-3.8494196874711744e-8,-0.002238953599371396,-4.113797301515876e-5,-3.8641048926455915e-8,-0.0022386430618668383,-4.120100796303263e-5,-3.871793082545036e-8,-0.002238342944066297,-4.1200001151770064e-5,-3.872324181388282e-8,-0.0022380791839847307,-4.114530686782865e-5,-3.866788607866194e-8,-0.002237874380510262,-4.1060002066053976e-5,-3.857703907310176e-8,-0.00223774180926945,-4.097948394853225e-5,-3.848995354296783e-8,-0.00223767825635013,-4.094712480839855e-5,-3.845528558322179e-8,-0.002237658399419641,-4.1004061797862145e-5,-3.851967858482813e-8,-0.0022376356888406273,-4.11738325963669e-5,-3.8710382858211906e-8,-0.0022375542283195344,-4.144791944811161e-5,-3.9018797372337954e-8,-0.002237369976256706,-4.178239537910177e-5,-3.939648342269923e-8,-0.0022370705865857117,-4.211192540677199e-5,-3.97707040733493e-8,-0.002236681021205403,-4.237528136520402e-5,-4.0072894403993155e-8,-0.0022362515136581293,-4.2537390808246587e-5,-4.026326754963274e-8,-0.0022358368811051695,-4.2596592517748946e-5,-4.033897314519272e-8,-0.002235479455892738,-4.257760540665977e-5,-4.032647668471118e-8,-0.0022352014732815342,-4.251839568376904e-5,-4.026725325138652e-8,-0.0022350055128588357,-4.245824814262653e-5,-4.0204769494537755e-8,-0.002234879072292001,-4.2429981973685345e-5,-4.017588031994506e-8,-0.002234800143287794,-4.245617891594765e-5,-4.020647152992803e-8,-0.0022347421748675988,-4.254810062132713e-5,-4.030997076660549e-8,-0.002234678089860464,-4.2706022024608e-5,-4.04874490318804e-8,-0.002234583596800719,-4.292040013149177e-5,-4.072877100486095e-8,-0.0022344399196055193,-4.3173776366831664e-5,-4.101470592062815e-8,-0.002234235865992565,-4.344333894544913e-5,-4.13198704377615e-8,-0.002233969089473579,-4.370403283753067e-5,-4.1616299339581775e-8,-0.0022336463289874286,-4.393200590097062e-5,-4.1877337327494744e-8,-0.002233282501130823,-4.410796757286399e-5,-4.2081351239347404e-8,-0.0022328987863395795,-4.422003807868895e-5,-4.2214822045642e-8,-0.0022325199496675764,-4.426587777665794e-5,-4.227465236873269e-8,-0.0022321710530385326,-4.4253972215963034e-5,-4.226962591744968e-8,-0.0022318736432929433,-4.420392191805795e-5,-4.2220888713159193e-8,-0.0022316414113256896,-4.414545555348796e-5,-4.216110347774086e-8,-0.0022314754270215662,-4.4115440270257426e-5,-4.213136166132721e-8,-0.002231359823442391,-4.415175418461966e-5,-4.217445054382591e-8,-0.0022312601532689185,-4.4283382554984865e-5,-4.232367827957026e-8,-0.002231127767120565,-4.4518168017474204e-5,-4.258888372588604e-8,-0.0022309127621388284,-4.483326721123653e-5,-4.2945429863533486e-8,-0.0022305832777618443,-4.5176107345948044e-5,-4.33350641470657e-8,-0.0022301417812274774,-4.548042189951665e-5,-4.3683804639003184e-8,-0.00222962696006888,-4.5691654474732635e-5,-4.3930355472978606e-8,-0.0022290982784922498,-4.578732224176004e-5,-4.404886114752745e-8,-0.0022286126995498105,-4.578096414425489e-5,-4.405337631430236e-8,-0.002228207126679372,-4.571064953482692e-5,-4.39852734699268e-8,-0.002227893056699919,-4.562206961243283e-5,-4.38947320909112e-8,-0.002227660846567752,-4.555526540573994e-5,-4.382620421038141e-8,-0.002227487702103169,-4.55379758899719e-5,-4.381102028222137e-8,-0.0022273451775774154,-4.558426004228901e-5,-4.386564409422788e-8,-0.0022272045720067527,-4.569590592468164e-5,-4.39929402649985e-8,-0.002227040330898362,-4.586469098944103e-5,-4.418444952301841e-8,-0.0022268322499077128,-4.607464729273845e-5,-4.4422813065954085e-8,-0.0022265671012077232,-4.6304319138032545e-5,-4.46843227290974e-8,-0.002226239866699384,-4.65292374402582e-5,-4.4941773047288794e-8,-0.002225854484890745,-4.6724799757426735e-5,-4.51677431041688e-8,-0.0022254237956320375,-4.6869601410910074e-5,-4.5338309138385286e-8,-0.002224968272659459,-4.694890763075256e-5,-4.543684582222292e-8,-0.002224513374267207,-4.695764552052053e-5,-4.545727907051517e-8,-0.0022240857042466885,-4.690227807341315e-5,-4.5406156340506795e-8,-0.0022237084214524207,-4.680103654287797e-5,-4.530300679993751e-8,-0.002223396530534961,-4.668216756519775e-5,-4.517860947561035e-8,-0.002223152787249789,-4.658014304122351e-5,-4.507104168252101e-8,-0.002222964935742375,-4.652995213290346e-5,-4.501951893274435e-8,-0.002222805166025817,-4.655966574712351e-5,-4.505611999008108e-8,-0.0022226330833182246,-4.6682000764129616e-5,-4.519616588800026e-8,-0.002222403496610867,-4.6886909508180545e-5,-4.542958762812166e-8,-0.002222079087811143,-4.7138819175493126e-5,-4.571749442657403e-8,-0.0022216449448798823,-4.738267384694757e-5,-4.59987335824701e-8,-0.002221118171827722,-4.7560111136303446e-5,-4.620795613858712e-8,-0.002220545312392466,-4.763048075773373e-5,-4.629917145710085e-8,-0.002219986393474025,-4.758588464850228e-5,-4.626262271116031e-8,-0.002219493466999461,-4.745169161788492e-5,-4.612549476134362e-8,-0.0022190950899372997,-4.727349057060608e-5,-4.5937616176018814e-8,-0.0022187928437108866,-4.709946526084481e-5,-4.575211981967887e-8,-0.0022185676608473866,-4.6967148258508964e-5,-4.561086581454774e-8,-0.0022183897340214403,-4.6897877865561347e-5,-4.5538205382200175e-8,-0.002218227112864587,-4.689730372738356e-5,-4.55412865670691e-8,-0.0022180511931498754,-4.6958726789225835e-5,-4.5613476972552826e-8,-0.002217839478448058,-4.706684563405332e-5,-4.573834204511953e-8,-0.002217576767892167,-4.720088385532349e-5,-4.5893088802846886e-8,-0.0022172557391592737,-4.7337099909682e-5,-4.605143273264397e-8,-0.0022168773700565656,-4.74510906017821e-5,-4.6186255635813826e-8,-0.0022164511799183666,-4.752034046529439e-5,-4.627248139736567e-8,-0.002215994899699834,-4.7527295848164124e-5,-4.629045712510837e-8,-0.002215532947978386,-4.746279506796771e-5,-4.622968509992351e-8,-0.0022150932151455763,-4.732912349998839e-5,-4.60921625117704e-8,-0.0022147021652644183,-4.714160221841957e-5,-4.589418230010463e-8,-0.002214378969883185,-4.692762570971198e-5,-4.566542228593394e-8,-0.0022141300645164186,-4.672255695780222e-5,-4.544463178449744e-8,-0.0022139458137362612,-4.6562850713633075e-5,-4.52722393117001e-8,-0.00221380060967952,-4.64777591528412e-5,-4.518126383051442e-8,-0.0022136569173281237,-4.648149783906708e-5,-4.518852648490155e-8,-0.0022134729343128413,-4.65678409922886e-5,-4.5288350736913463e-8,-0.002213212730213477,-4.670898079689068e-5,-4.545089717714251e-8,-0.002212856797894262,-4.686004182357243e-5,-4.562684735817594e-8,-0.0022124099074522273,-4.6969555866714336e-5,-4.575890861717408e-8,-0.0022119026018825377,-4.699407898397332e-5,-4.579813949784263e-8,-0.0022113839010346006,-4.691226389953383e-5,-4.5719800103478644e-8,-0.0022109065487812933,-4.673212611187127e-5,-4.553166994833471e-8,-0.0022105106421530336,-4.6487513953655795e-5,-4.52703652159344e-8,-0.002210212924897253,-4.622545023671105e-5,-4.498750033432147e-8,-0.0022100056515220326,-4.599082657138239e-5,-4.4732842639896e-8,-0.0022098634270506174,-4.58151562763414e-5,-4.454182124988341e-8,-0.002209753114187779,-4.5712337116466916e-5,-4.4430643000829475e-8,-0.0022096423610802776,-4.568024895658921e-5,-4.439779129857697e-8,-0.0022095048224221024,-4.570516696428774e-5,-4.4428692789315846e-8,-0.0022093223580628898,-4.576643434562114e-5,-4.45008081941231e-8,-0.0022090854104389146,-4.5840198863217866e-5,-4.458782308690369e-8,-0.002208792684048753,-4.590211841998753e-5,-4.4662757683266604e-8,-0.002208450773065764,-4.592949249699432e-5,-4.470041059236587e-8,-0.0022080738356743857,-4.590342965342051e-5,-4.467976024450722e-8,-0.0022076829208446235,-4.581149511652582e-5,-4.45868263584567e-8,-0.0022073042325302127,-4.565081152181556e-5,-4.441802397944935e-8,-0.002206965605216999,-4.5430915166275075e-5,-4.418331181075295e-8,-0.0022066909305378285,-4.51749843519472e-5,-4.390764665471133e-8,-0.0022064933389565914,-4.49177448738443e-5,-4.3628860219709356e-8,-0.0022063692939843756,-4.469903269899099e-5,-4.339076928750656e-8,-0.002206296459441618,-4.455384182826084e-5,-4.323234070924075e-8,-0.002206237344690818,-4.450182876565845e-5,-4.317610450389361e-8,-0.002206148437110928,-4.454022855258338e-5,-4.322014158498983e-8,-0.0022059920678573607,-4.464314996140854e-5,-4.333696738013364e-8,-0.002205747078655037,-4.47677698551155e-5,-4.3480006469238615e-8,-0.0022054149560458707,-4.4865453971987394e-5,-4.359562672668298e-8,-0.0022050197778874484,-4.4894469310904836e-5,-4.363714563703815e-8,-0.002204602080350687,-4.483081733338681e-5,-4.357698088947024e-8,-0.0022042082496701748,-4.4674256976108435e-5,-4.34136267011671e-8,-0.002203878355963061,-4.444767502332483e-5,-4.317130450908105e-8,-0.002203636131830214,-4.418988337579432e-5,-4.289227455216706e-8,-0.0022034842767954172,-4.3944313012475434e-5,-4.2624468807672645e-8,-0.0022034062225738905,-4.374765150444576e-5,-4.240888990786396e-8,-0.0022033728732570334,-4.362214656382595e-5,-4.22709113039624e-8,-0.0022033511472193176,-4.357325021474196e-5,-4.2217405326860426e-8,-0.002203311259278957,-4.359184072021775e-5,-4.2238963148967383e-8,-0.002203231161403219,-4.365884984553331e-5,-4.2314893940482235e-8,-0.0022030981896355236,-4.37501815219e-5,-4.241868804084055e-8,-0.0022029088590102435,-4.3840715442687394e-5,-4.252255845087228e-8,-0.002202667855443351,-4.390713159132299e-5,-4.2600676139939876e-8,-0.0022023869397814195,-4.392991328620103e-5,-4.263141972686281e-8,-0.002202083971331653,-4.389514078579005e-5,-4.259929970541784e-8,-0.0022017817509400405,-4.3796571313615305e-5,-4.2497155377534966e-8,-0.002201506019114991,-4.363807773550661e-5,-4.232878802184368e-8,-0.002201281829056389,-4.3435865519477696e-5,-4.211145676298463e-8,-0.0022011278651603286,-4.321905966755535e-5,-4.187668985882363e-8,-0.002201049428771376,-4.3026635343832115e-5,-4.166711799444936e-8,-0.0022010326564595945,-4.2899212226683795e-5,-4.1527605488542144e-8,-0.0022010438605880736,-4.2866701401245325e-5,-4.149168981230639e-8,-0.002201036815050561,-4.2936311524374124e-5,-4.156826007306663e-8,-0.0022009668005209242,-4.3087189621691026e-5,-4.1735408849570453e-8,-0.002200805687849186,-4.3275540935940235e-5,-4.194576010041846e-8,-0.0022005511147673534,-4.344845205145683e-5,-4.214141087930924e-8,-0.0022002261579351164,-4.356010243054483e-5,-4.2271627325288035e-8,-0.0021998709471877614,-4.3583870411128616e-5,-4.230621553318354e-8,-0.0021995306329296136,-4.351713167905666e-5,-4.2241049980976345e-8,-0.002199244012936336,-4.337907539302264e-5,-4.209604395428574e-8,-0.0021990354974688524,-4.3203716761038325e-5,-4.190782352683438e-8,-0.0021989114882803953,-4.303068697336216e-5,-4.1719808660383815e-8,-0.0021988611198272934,-4.2896143039547516e-5,-4.157220587465444e-8,-0.002198860529686386,-4.28256834219112e-5,-4.149400848221767e-8,-0.0021988792290551736,-4.283052362484336e-5,-4.149848437908441e-8,-0.0021988868020958604,-4.290728558961128e-5,-4.158266825085552e-8,-0.002198858332636107,-4.30407374421635e-5,-4.1730227888167276e-8,-0.0021987776559889718,-4.320815607531913e-5,-4.191627227789234e-8,-0.0021986383828306827,-4.338394252488224e-5,-4.211255171468341e-8,-0.0021984432617016725,-4.354352417484422e-5,-4.229189520363366e-8,-0.0021982026851288055,-4.366616419637895e-5,-4.243138177200893e-8,-0.002197932987833362,-4.373685585806035e-5,-4.2514400830429825e-8,-0.0021976547873646343,-4.374776948947891e-5,-4.2532145447490745e-8,-0.0021973912163822202,-4.3699666494011446e-5,-4.248507449934088e-8,-0.002197165565964018,-4.360339553726757e-5,-4.238455982416569e-8,-0.0021969976661542537,-4.348102472191013e-5,-4.2254266098886135e-8,-0.0021968986060033643,-4.3365344851824027e-5,-4.212983081364773e-8,-0.002196864488916266,-4.329582521635688e-5,-4.205462845468875e-8,-0.00219687177106506,-4.330950164594914e-5,-4.206983298743024e-8,-0.0021968783763478264,-4.342774012978813e-5,-4.219976819299261e-8,-0.002196833942465688,-4.364410781791684e-5,-4.2438344229764724e-8,-0.0021966974953614438,-4.392134829558463e-5,-4.274547229078794e-8,-0.0021964542822063117,-4.420215324008212e-5,-4.305868573313644e-8,-0.002196122004749595,-4.4429633911088055e-5,-4.3315482134634745e-8,-0.002195743141195934,-4.456667055575025e-5,-4.3474511881865136e-8,-0.0021953688213683063,-4.460502832877005e-5,-4.352567029416044e-8,-0.0021950430896256865,-4.456276883725236e-5,-4.34875261233581e-8,-0.00219479325103675,-4.447456387533459e-5,-4.339707996174946e-8,-0.0021946271302473947,-4.4380500039176534e-5,-4.329781770575668e-8,-0.0021945353071144784,-4.43168589575551e-5,-4.322972528487527e-8,-0.0021944959560133495,-4.4310062852754164e-5,-4.322252177775724e-8,-0.002194480563537203,-4.4373660852183527e-5,-4.32920524953864e-8,-0.0021944595227321863,-4.450786864707432e-5,-4.343945466521452e-8,-0.0021944069506842096,-4.4701191951449525e-5,-4.36527150890374e-8,-0.0021943042180325003,-4.49335617950116e-5,-4.391005375463803e-8,-0.002194141906377647,-4.518027077748843e-5,-4.4184332052663467e-8,-0.0021939201779301136,-4.5416019876788224e-5,-4.444764386522221e-8,-0.002193647790767406,-4.561847347713716e-5,-4.4675332295713537e-8,-0.0021933402416158846,-4.5770915859345256e-5,-4.484892453692752e-8,-0.00219301755709073,-4.586399243241319e-5,-4.495797173896476e-8,-0.0021927019881854267,-4.589680376520009e-5,-4.50011490514789e-8,-0.002192415581968075,-4.587758677189852e-5,-4.498696354861374e-8,-0.002192177416627541,-4.582404354917942e-5,-4.493420418458068e-8,-0.0021920001056428633,-4.576302032079154e-5,-4.487180284605771e-8,-0.0021918853630141493,-4.5728554041258204e-5,-4.483694086387648e-8,-0.0021918193971149852,-4.575678790110061e-5,-4.486962210563871e-8,-0.0021917704552939657,-4.5876737000029106e-5,-4.500249145208053e-8,-0.0021916921793231213,-4.609805171784536e-5,-4.524715951212536e-8,-0.002191535722030832,-4.640085504307758e-5,-4.558273256144663e-8,-0.002191268622527711,-4.673572239421093e-5,-4.5955562378608346e-8,-0.0021908911531643392,-4.703860588774864e-5,-4.6295536372601254e-8,-0.0021904389342049485,-4.725525462149562e-5,-4.654284579454351e-8,-0.0021899688757674282,-4.7361335435271427e-5,-4.667003748796585e-8,-0.002189537217572945,-4.736738240175443e-5,-4.66875152635767e-8,-0.002189182178099598,-4.730905371796731e-5,-4.6633131046491385e-8,-0.0021889175315774733,-4.723144495265606e-5,-4.655539679656418e-8,-0.0021887354256682617,-4.717574835041439e-5,-4.6499184056199204e-8,-0.0021886135162408732,-4.717157179860376e-5,-4.649736314449432e-8,-0.0021885224957076004,-4.723435333698451e-5,-4.656775348526145e-8,-0.002188432196672109,-4.736596568910569e-5,-4.671343301511786e-8,-0.0021883159915355365,-4.755688007918747e-5,-4.69247944722332e-8,-0.002188153797184117,-4.7789060056815985e-5,-4.7182558125506696e-8,-0.0021879339216937933,-4.8039252490120275e-5,-4.7461392605544466e-8,-0.0021876538472704776,-4.828243590852618e-5,-4.773381750934838e-8,-0.002187319992989988,-4.849521912185547e-5,-4.7974061450627616e-8,-0.0021869464613131022,-4.865894024085986e-5,-4.816152081756237e-8,-0.0021865528992877276,-4.87620998684626e-5,-4.828339410490294e-8,-0.0021861618199906937,-4.8801891534619e-5,-4.833627312095251e-8,-0.0021857956854069802,-4.878486309271509e-5,-4.832680892763946e-8,-0.0021854738600616984,-4.8726762987137e-5,-4.8271587194920043e-8,-0.0021852094900030724,-4.86515128943926e-5,-4.8196176656966384e-8,-0.002185006334014698,-4.858914285791343e-5,-4.8133122371377696e-8,-0.0021848556724831675,-4.8572182159752406e-5,-4.8118210423692764e-8,-0.0021847340908449993,-4.862969584851901e-5,-4.818398533821574e-8,-0.0021846040333787834,-4.8778729210677626e-5,-4.835019658202303e-8,-0.0021844197065521583,-4.901477659668526e-5,-4.861300583671992e-8,-0.002184139908137586,-4.9305740268685153e-5,-4.89380239589084e-8,-0.002183745208710712,-4.959578164277363e-5,-4.926436436193073e-8,-0.0021832508778272947,-4.9822400093252296e-5,-4.9523381452495355e-8,-0.0021827054179990426,-4.9940812964766306e-5,-4.9665452368679164e-8,-0.002182172657790118,-4.9941786271621964e-5,-4.967953305482646e-8,-0.0021817074157041024,-4.985220421423567e-5,-4.959386599256073e-8,-0.002181338673865619,-4.9720142395811015e-5,-4.945991919619401e-8,-0.0021810666706533364,-4.9595568980319e-5,-4.933166537295909e-8,-0.0021808703783844,-4.951657478515571e-5,-4.92507832762818e-8,-0.0021807181941960203,-4.950399504420421e-5,-4.924073730655143e-8,-0.0021805769182982548,-4.956218364039945e-5,-4.9307324380953e-8,-0.0021804174795038798,-4.968259370492711e-5,-4.9442212976376634e-8,-0.0021802179110294567,-4.9847836933814006e-5,-4.9627109424267564e-8,-0.002179964670767143,-5.003531159657192e-5,-4.983764252872737e-8,-0.0021796530724134083,-5.0220385609024966e-5,-5.004692161411961e-8,-0.002179287108625143,-5.0379309817940806e-5,-5.0228863268068284e-8,-0.0021788786984716967,-5.049197671212808e-5,-5.0361312329529946e-8,-0.0021784462256297563,-5.054452595703909e-5,-5.04289060225776e-8,-0.0021780122025803136,-5.053151803276535e-5,-5.042538797210063e-8,-0.002177600157916581,-5.045722929573454e-5,-5.035495070136917e-8,-0.0021772310966522526,-5.0335776567875636e-5,-5.023237210708531e-8,-0.002176919902460922,-5.0189932859938544e-5,-5.0081843179902245e-8,-0.00217667207082299,-5.004853269807545e-5,-4.993436120974221e-8,-0.0021764812441906808,-4.994249777622941e-5,-4.982363597059191e-8,-0.0021763280507105863,-4.98996114264398e-5,-4.978052270196503e-8,-0.0021761809437515654,-4.9938185981473035e-5,-4.982603516805561e-8,-0.002176000149806595,-5.006025793450334e-5,-4.9963621703133264e-8,-0.002175745817326205,-5.024622884164902e-5,-5.0172910484799115e-8,-0.002175390157594791,-5.0454365055776456e-5,-5.0408841281164365e-8,-0.002174930337153652,-5.06288459355e-5,-5.061036106903455e-8,-0.002174395353711165,-5.071699644838109e-5,-5.0719362989473973e-8,-0.0021738401034926535,-5.0689679713245726e-5,-5.0703131233504954e-8,-0.0021733265233010663,-5.055363671187018e-5,-5.056794205359903e-8,-0.0021729011128648096,-5.034775070284775e-5,-5.035513085813307e-8,-0.0021725811078602674,-5.012585939427826e-5,-5.012259516349527e-8,-0.0021723547388293137,-4.993700515060601e-5,-4.992354472562844e-8,-0.0021721915116131806,-4.9812811310871116e-5,-4.979285902848771e-8,-0.0021720546749986677,-4.976445626435847e-5,-4.9743630077680485e-8,-0.002171910550591354,-4.978612573658363e-5,-4.977057674929707e-8,-0.0021717334408312126,-4.986073223887547e-5,-4.985593590639394e-8,-0.0021715072056702122,-4.9965197761627746e-5,-4.997503848354697e-8,-0.002171225123681876,-5.007442062639999e-5,-5.010064735726323e-8,-0.0021708891541935235,-5.0164162613396194e-5,-5.020624123144993e-8,-0.002170509011565236,-5.021337352113505e-5,-5.026869269970753e-8,-0.0021701010201165194,-5.020633834079381e-5,-5.027067408474085e-8,-0.002169686481978018,-5.013479660142251e-5,-5.02029350445516e-8,-0.0021692892001323122,-4.999980622314807e-5,-5.006625128102955e-8,-0.002168932022375522,-4.9812758371010945e-5,-4.9872480658075486e-8,-0.002168632724515974,-4.95948957641629e-5,-4.96440934171442e-8,-0.0021683999304833723,-4.9374905475583854e-5,-4.94117279890712e-8,-0.0021682299884622017,-4.9184517024424835e-5,-4.9209644023520306e-8,-0.0021681057683319905,-4.905256550499114e-5,-4.906946354132325e-8,-0.0021679981084059274,-4.899850303697785e-5,-4.901315398366616e-8,-0.0021678702118165865,-4.902660625417457e-5,-4.904654790153962e-8,-0.002167684855459021,-4.912228342329066e-5,-4.915496722137846e-8,-0.002167413675346147,-4.9252117611135175e-5,-4.930287422769272e-8,-0.0021670467328493287,-4.9369236645834006e-5,-4.9439453319941026e-8,-0.0021665991445428225,-4.942457392269512e-5,-4.951084310411176e-8,-0.0021661107109958544,-4.9382031214902844e-5,-4.9476821013151695e-8,-0.0021656359860024264,-4.923205966050717e-5,-4.932584479686643e-8,-0.0021652269664645565,-4.8996524294130615e-5,-4.908058662160895e-8,-0.0021649159058167063,-4.872105249104496e-5,-4.878982557957179e-8,-0.002164706655984438,-4.8458301673946887e-5,-4.8510450968611894e-8,-0.0021645777385677746,-4.825084661063017e-5,-4.8288973195301046e-8,-0.0021644934054848965,-4.812122783466715e-5,-4.81506379139743e-8,-0.0021644159176900527,-4.8071024900689184e-5,-4.809815557247862e-8,-0.0021643141929952214,-4.808594061576428e-5,-4.81168922637752e-8,-0.002164167674411756,-4.814266053659258e-5,-4.818208341414474e-8,-0.0021639667146355628,-4.8214709519840826e-5,-4.8265144796799985e-8,-0.0021637113015193915,-4.8276471408607926e-5,-4.833815104674628e-8,-0.0021634093935051597,-4.8305717497990586e-5,-4.8376751136334334e-8,-0.0021630753860666465,-4.8285336142651836e-5,-4.836216222000512e-8,-0.0021627286667312874,-4.8204863846761885e-5,-4.828283802361071e-8,-0.002162391861482956,-4.8062097732630306e-5,-4.813613888210156e-8,-0.0021620882679398825,-4.786457221389886e-5,-4.792984469758117e-8,-0.0021618381966684985,-4.763020148052184e-5,-4.768283959318655e-8,-0.0021616544721947527,-4.738615688544101e-5,-4.74240049864915e-8,-0.0021615380479013072,-4.716519867376527e-5,-4.718845234479752e-8,-0.002161475302072799,-4.699937039553237e-5,-4.701091284755469e-8,-0.0021614386393250546,-4.6912154688658707e-5,-4.691736184216948e-8,-0.002161391201800069,-4.6911292679655636e-5,-4.691717630397373e-8,-0.002161295075484384,-4.698475296081406e-5,-4.6998506562417824e-8,-0.002161121034202,-4.710162372082691e-5,-4.712886694957854e-8,-0.002160857131367918,-4.7218339997966116e-5,-4.726153824963162e-8,-0.0021605135166616594,-4.728911357216719e-5,-4.734669635449493e-8,-0.002160121614640899,-4.727811102218645e-5,-4.7344670899897986e-8,-0.002159727070259186,-4.71700332472349e-5,-4.72376676723403e-8,-0.002159377681774251,-4.697546153405605e-5,-4.703590761080976e-8,-0.0021591097858532486,-4.672829423936533e-5,-4.677517141941328e-8,-0.002158938074167603,-4.6475408602648845e-5,-4.650582202815821e-8,-0.002158852916009944,-4.626235480050213e-5,-4.627738514230599e-8,-0.002158825801635166,-4.612087538018337e-5,-4.612493766194266e-8,-0.002158819709787541,-4.606270599802699e-5,-4.606214934513943e-8,-0.002158799607308813,-4.608051665422589e-5,-4.6081993496327766e-8,-0.0021587395273344563,-4.615361327504223e-5,-4.616267371658823e-8,-0.002158625286072611,-4.625494118904886e-5,-4.627511694149892e-8,-0.002158453953359905,-4.635691120285143e-5,-4.638936013416345e-8,-0.002158231790057722,-4.643523375110354e-5,-4.647887273854775e-8,-0.002157971911670394,-4.647108233605865e-5,-4.652305041561149e-8,-0.0021576922476335206,-4.6452294121769896e-5,-4.650856384345036e-8,-0.0021574138014324212,-4.637428430326153e-5,-4.6430286990051256e-8,-0.0021571587957101316,-4.624105015071745e-5,-4.629227406134107e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json new file mode 100644 index 000000000..b4be24167 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":1000,"numberOfSamples":1000,"samples":[-0.002156948117797158,-4.6066106188504274e-5,-4.610870837852341e-8,-0.0021567976844821175,-4.587262928957953e-5,-4.590411215695837e-8,-0.002156713908245568,-4.569170874283684e-5,-4.5711626484184725e-8,-0.0021566893595621928,-4.555761003533914e-5,-4.5568113732113295e-8,-0.002156700743371349,-4.549983445555494e-5,-4.5505741530892555e-8,-0.0021567115663395065,-4.5533671389188886e-5,-4.5541790676334716e-8,-0.0021566804178876843,-4.5652915406612466e-5,-4.5670622833809834e-8,-0.002156572912636481,-4.582870678241587e-5,-4.58621255953264e-8,-0.0021563728566239655,-4.601620142754535e-5,-4.6068577295811786e-8,-0.0021560880133587525,-4.616711622705171e-5,-4.623794070121091e-8,-0.002155748222189647,-4.62434863816923e-5,-4.6328641438483505e-8,-0.002155396920669294,-4.622782396424562e-5,-4.632067580425877e-8,-0.00215507933393081,-4.612686483113469e-5,-4.621997607570151e-8,-0.0021548310204559523,-4.596856314722607e-5,-4.605556460572259e-8,-0.0021546697448800787,-4.579380803487395e-5,-4.5870948767990285e-8,-0.0021545925009090403,-4.564545026639773e-5,-4.571243253541094e-8,-0.00215457808447119,-4.555777214888923e-5,-4.561767662258407e-8,-0.002154594019620961,-4.554927142265337e-5,-4.560764640929833e-8,-0.002154605368940617,-4.562040509803385e-5,-4.568383677005805e-8,-0.002154582628502511,-4.575613804937631e-5,-4.583074108471704e-8,-0.0021545067042819666,-4.593156748733217e-5,-4.602179515117175e-8,-0.0021543704349080905,-4.6118291920214145e-5,-4.6226298143065905e-8,-0.002154177429419203,-4.628970757896518e-5,-4.64152905393417e-8,-0.0021539395320203554,-4.642448039496704e-5,-4.656547403677698e-8,-0.0021536740325304696,-4.6508347419083976e-5,-4.6661248300741016e-8,-0.002153401212638439,-4.6534852085000904e-5,-4.669548060691322e-8,-0.0021531422886805827,-4.650565883599465e-5,-4.666974436961425e-8,-0.0021529174221249937,-4.6430830311047396e-5,-4.6594529114611347e-8,-0.002152743281384537,-4.632899782380846e-5,-4.648943285318694e-8,-0.0021526297364554913,-4.622682327908873e-5,-4.6382720029024235e-8,-0.0021525757781952213,-4.615665217809799e-5,-4.6309007987320986e-8,-0.0021525657635618595,-4.615111791560906e-5,-4.630363581540198e-8,-0.0021525683606683156,-4.623433111379003e-5,-4.639321479077921e-8,-0.0021525411131787307,-4.641162808298889e-5,-4.658444896551646e-8,-0.00215244181360915,-4.6662730585749126e-5,-4.685650807739798e-8,-0.002152243559761613,-4.69438336830974e-5,-4.716299443903288e-8,-0.0021519463173773905,-4.720028130623982e-5,-4.744536946490242e-8,-0.0021515783140552483,-4.738487646555355e-5,-4.7652539659263205e-8,-0.0021511863195340735,-4.7473012892754915e-5,-4.775714558013054e-8,-0.002150820158632104,-4.74681988823182e-5,-4.7761682951372046e-8,-0.0021505186509381763,-4.739759003524929e-5,-4.769404722497823e-8,-0.002150301454146949,-4.7301602034095665e-5,-4.75967746928141e-8,-0.002150167504080223,-4.722237577724007e-5,-4.751493736774092e-8,-0.0021500984653760494,-4.7194327180898005e-5,-4.7486029043007825e-8,-0.002150065007643072,-4.7238211715320985e-5,-4.753336591146179e-8,-0.002150034011848315,-4.735890504159874e-5,-4.7663329284699034e-8,-0.0021499752813515308,-4.754650144645341e-5,-4.7866189097583804e-8,-0.0021498666614940885,-4.777999559892799e-5,-4.811985529955003e-8,-0.002149696844734374,-4.8032435641353954e-5,-4.8395408706038154e-8,-0.0021494657462589853,-4.8276239272205825e-5,-4.866295866283441e-8,-0.0021491829316347584,-4.848761715432387e-5,-4.8896590036391526e-8,-0.002148864888882999,-4.864954755615883e-5,-4.9077698538029214e-8,-0.002148531969661492,-4.875324012053347e-5,-4.9196590948451486e-8,-0.00214820559302335,-4.879845385417849e-5,-4.925275811633043e-8,-0.0021479058723801398,-4.8793211725869386e-5,-4.9254476683867235e-8,-0.0021476494691693242,-4.875326148772683e-5,-4.921820529983365e-8,-0.0021474473356039884,-4.8701280224926454e-5,-4.916782927985692e-8,-0.002147302025734625,-4.8665427348109735e-5,-4.913330991550414e-8,-0.0021472046146883317,-4.867636961659977e-5,-4.914769826441347e-8,-0.0021471322071707254,-4.8761685544412094e-5,-4.924121019381598e-8,-0.0021470482597085038,-4.893732048233069e-5,-4.943192954490526e-8,-0.002146908584499707,-4.91979967179343e-5,-4.97152190263401E-08,-0.002146674363316176,-4.9511646656850674e-5,-5.0057427768996096e-8,-0.002146328667920062,-4.982422622000098e-5,-5.0400872447169334e-8,-0.0021458875359486144,-5.007688042712524e-5,-5.0682229364308553e-8,-0.002145397011314185,-5.0228379818507437e-5,-5.0856638807463407e-8,-0.0021449161791735768,-5.0270217445764416e-5,-5.091394422090286e-8,-0.002144495917953705,-5.0226434247242504e-5,-5.087865414824122e-8,-0.002144164522903363,-5.01408709895491e-5,-5.079660476566392e-8,-0.002143924532470479,-5.0060878640441164e-5,-5.0717902245852795e-8,-0.002143757959315198,-5.002483607513269e-5,-5.068379162791456e-8,-0.002143634896737234,-5.005585115815337e-5,-5.071984838493151e-8,-0.002143521842854634,-5.0160650756850324e-5,-5.083446444779818e-8,-0.002143388120717485,-5.0331651201626866e-5,-5.102064773664288e-8,-0.002143210184954386,-5.055054311417113e-5,-5.125954074459971e-8,-0.002142974117514982,-5.079251129394976e-5,-5.152482507010141e-8,-0.0021426765074378826,-5.103064468172294e-5,-5.178753018681961e-8,-0.0021423238391256607,-5.124006797853224e-5,-5.202065134245872e-8,-0.002141930651324379,-5.140134181465216e-5,-5.220297342970296e-8,-0.0021415168281439588,-5.150282446702924e-5,-5.2321688446799315e-8,-0.0021411044645297406,-5.154180999406271e-5,-5.237359158139016e-8,-0.0021407148054202576,-5.152449499997826e-5,-5.236496558245039e-8,-0.0021403655678020684,-5.146510002939213e-5,-5.231059043138093e-8,-0.002140068652238457,-5.138444270295482e-5,-5.2232268635753575e-8,-0.002139828133292629,-5.1308028225241545e-5,-5.2156950212399334e-8,-0.002139638422673149,-5.126350568803761e-5,-5.2114230564000163e-8,-0.00213948268691379,-5.1277018333799685e-5,-5.213259191254482e-8,-0.002139332290822501,-5.1367795817320406e-5,-5.223357239670482e-8,-0.0021391489883805194,-5.154098912009453e-5,-5.242383088390882e-8,-0.002138891970010422,-5.1780522562900146e-5,-5.268710604455327e-8,-0.0021385305995390066,-5.20462253084977e-5,-5.2980835455315765e-8,-0.002138059594008942,-5.2280784568316565e-5,-5.324353111816718e-8,-0.002137508049281609,-5.242840674319948e-5,-5.341489927661907e-8,-0.0021369333564798328,-5.245794992558174e-5,-5.3460757754233854e-8,-0.0021364000567887635,-5.237659280739311e-5,-5.338772944526506e-8,-0.0021359554177806913,-5.222499524366457e-5,-5.323816602452792e-8,-0.0021356157132549174,-5.205829004263862e-5,-5.307010206523827e-8,-0.002135367798385966,-5.1925718630202697e-5,-5.293584770307225e-8,-0.0021351802309842655,-5.185853393324863e-5,-5.2869237987871783e-8,-0.002135015709675917,-5.186747116928778e-5,-5.288277568269625e-8,-0.0021348401734937695,-5.194616985504687e-5,-5.2970891829753475e-8,-0.002134627758060293,-5.2076667370690687e-5,-5.311539888620349e-8,-0.002134362664862016,-5.22346501846903e-5,-5.329085053332862e-8,-0.0021340393185033547,-5.2393733389077045e-5,-5.3469096840437146e-8,-0.002133661644592146,-5.252894430972528e-5,-5.362316413179043e-8,-0.0021332416919183183,-5.2619642849676823e-5,-5.373058405670703e-8,-0.002132797639105352,-5.265187989316952e-5,-5.377605953151373e-8,-0.00213235123299873,-5.262008658853691e-5,-5.3753301407695094e-8,-0.0021319247547086106,-5.252787431710746e-5,-5.366582385721862e-8,-0.002131537812166341,-5.2387711692295135e-5,-5.3526527141880856e-8,-0.002131204386649835,-5.221948578729788e-5,-5.335616249926751e-8,-0.002130930436840616,-5.204813499564776e-5,-5.3180922715721016e-8,-0.0021307122475242276,-5.190051666082856e-5,-5.3029303636494595e-8,-0.002130535691096194,-5.1801663288743484e-5,-5.2928303953712826e-8,-0.002130376577415983,-5.1770519389418736e-5,-5.289893815879023e-8,-0.0021302025383327134,-5.1815158911048855e-5,-5.2950976313991277e-8,-0.002129977378036466,-5.192792796725971e-5,-5.3077407334747964E-08,-0.0021296688087945386,-5.208214555192072e-5,-5.325050928388623e-8,-0.0021292592998348823,-5.2233329336141494e-5,-5.342289782969275e-8,-0.002128757014872047,-5.2328224363975537e-5,-5.353718707965699e-8,-0.0021282003685288873,-5.232211388239153e-5,-5.354471701182651e-8,-0.0021276495587692528,-5.219820202071707e-5,-5.342650421322242e-8,-0.002127165444777017,-5.1977374748586926e-5,-5.32037987462269e-8,-0.002126786408919701,-5.1710339300552144e-5,-5.292980367635397e-8,-0.0021265166937946525,-5.145633618560855e-5,-5.2667177244896215e-8,-0.00212633105580082,-5.126167160748416e-5,-5.246538067689548e-8,-0.002126189328271234,-5.114869660600918e-5,-5.234897812409529e-8,-0.0021260510373621883,-5.111638783278097e-5,-5.231801132895357e-8,-0.002125884513579751,-5.114733030685652e-5,-5.235503053809026e-8,-0.0021256702248682435,-5.121572331910457e-5,-5.243327665430199e-8,-0.002125400455812279,-5.1293642979333694e-5,-5.252321996716058e-8,-0.0021250775059338096,-5.1355096043385815e-5,-5.259696904862907e-8,-0.0021247116610059085,-5.1378537621995244e-5,-5.2631164024147827e-8,-0.0021243192352671083,-5.134861185069034e-5,-5.2609026267915535e-8,-0.002123920533294502,-5.125749504161394e-5,-5.252187717870801e-8,-0.002123537513917045,-5.1105899487825944e-5,-5.237017732952232e-8,-0.0021231909824004935,-5.0903510148269925e-5,-5.21639052525058e-8,-0.002122897386272381,-5.066840160744641e-5,-5.192188374186477e-8,-0.0021226656718111524,-5.042508933637542e-5,-5.166975788992617e-8,-0.002122494839571998,-5.0201204525872756e-5,-5.143662126873064e-8,-0.0021223728064571974,-5.002307532138799e-5,-5.125052539179263e-8,-0.002122277063662247,-4.9910792187481684e-5,-5.1133373559448276e-8,-0.002122177350465051,-4.9873571668336e-5,-5.1095958839310544e-8,-0.002122040271899325,-4.990621895883855e-5,-5.113395766297128e-8,-0.002121835670220407,-4.998749569171908e-5,-5.122580454826739e-8,-0.002121544289358671,-5.008151805352115e-5,-5.133380683137773e-8,-0.0021211653940700756,-5.0143498952941705e-5,-5.141007127166793e-8,-0.0021207216447338448,-5.0130441492102875e-5,-5.1407976149345016e-8,-0.002120257496141451,-5.001520456175847e-5,-5.1297441102601807e-8,-0.002119828397979043,-4.9798850489622e-5,-5.107840402680578e-8,-0.0021194826754195456,-4.9513892869127156e-5,-5.078451782729881e-8,-0.002119244086201465,-4.921409445932999e-5,-5.0472444375840066e-8,-0.0021191046402436534,-4.8954748273117716e-5,-5.0200988226733736e-8,-0.002119031138708923,-4.8773978554723135e-5,-5.001124485406591e-8,-0.002118980101862301,-4.8684026206295004e-5,-4.991720030835334e-8,-0.00211891220827597,-4.867379334879302e-5,-4.990812813538284e-8,-0.0021188006530865576,-4.8717674424215837e-5,-4.9957631878584515e-8,-0.0021186330805224884,-4.878489183979079e-5,-5.003335885442783e-8,-0.002118409606923484,-4.8846210672363946e-5,-5.010414572430475e-8,-0.0021181395569648243,-4.887764161794287e-5,-5.0144131459874775e-8,-0.002117838428140765,-4.8862089859800686e-5,-5.013472762586503e-8,-0.0021175254797301053,-4.87900395563563e-5,-5.006548391793509e-8,-0.0021172217039225403,-4.865995177280172e-5,-4.9934517707598465e-8,-0.0021169477453683006,-4.8478584561881674e-5,-4.9748766630150475e-8,-0.002116721392799632,-4.8261007717598124e-5,-4.952391111144196e-8,-0.00211655455107997,-4.802973321358578e-5,-4.928344153787555e-8,-0.002116450096966629,-4.781233066898358e-5,-4.9056238260434893e-8,-0.0021163995074253497,-4.763723300556185e-5,-4.88723175000772e-8,-0.00211638238176434,-4.752806896211847e-5,-4.8757005535652654e-8,-0.0021163687749273766,-4.749765415455074e-5,-4.872463016284184e-8,-0.0021163245129189124,-4.75433801208055e-5,-4.8773504423959966e-8,-0.0021162186131261293,-4.7645689733550204e-5,-4.888400543678275e-8,-0.0021160311239636605,-4.7770598620135224e-5,-4.902087037517744e-8,-0.0021157594156345004,-4.787624496808221e-5,-4.913984622203423e-8,-0.0021154210653734945,-4.792249771712643e-5,-4.919779498322852e-8,-0.0021150518661444766,-4.788171611098116e-5,-4.916427157162084e-8,-0.0021146983037815758,-4.774784549571525e-5,-4.903151581702451e-8,-0.0021144054214774677,-4.754043449876239e-5,-4.881909664190108e-8,-0.002114203335655032,-4.730071511555959e-5,-4.857004998709531e-8,-0.0021140976257717674,-4.7079605315396366e-5,-4.8338297363515245e-8,-0.002114068243449401,-4.6921741162987395e-5,-4.817168920274723e-8,-0.0021140776517754515,-4.685238849929127e-5,-4.8097948508555413e-8,-0.002114084019446718,-4.6872596236596724e-5,-4.81192411375788e-8,-0.002114053227237637,-4.6963141965845496e-5,-4.821604606694751e-8,-0.002113965448400426,-4.7093502898033734e-5,-4.8356449951288814e-8,-0.0021138158726727416,-4.7231060835115885e-5,-4.8505867927921634e-8,-0.0021136117434029157,-4.73475915439524e-5,-4.863405741638106e-8,-0.002113368243224607,-4.742253450655109e-5,-4.8718797175518944e-8,-0.0021131048107557887,-4.7443958322278066e-5,-4.874708212682086e-8,-0.002112842390293642,-4.740840058984932e-5,-4.87150037508711e-8,-0.002112601402461571,-4.732044050097083e-5,-4.8627229494421786e-8,-0.002112399898104981,-4.71923458598116e-5,-4.84965171325286e-8,-0.0021122513870208202,-4.7043586695278016e-5,-4.834314259144425e-8,-0.002112162155506463,-4.689959768605062e-5,-4.8193650389836864e-8,-0.0021121284044120486,-4.678902511400128e-5,-4.807810872069021e-8,-0.002112134192586928,-4.6738909755118304e-5,-4.802520783954363e-8,-0.002112151736011111,-4.676805674809973e-5,-4.8055358790222776e-8,-0.0021121455008559073,-4.68802207502431e-5,-4.8173435647070684e-8,-0.002112080244306887,-4.705993268071947e-5,-4.8364140938563196e-8,-0.0021119310664213338,-4.727368018370931e-5,-4.8592931302070324e-8,-0.002111691895111901,-4.747730114612249e-5,-4.881352739322071e-8,-0.0021113788749667064,-4.7627699607907756e-5,-4.898012188224292e-8,-0.00211102704677318,-4.7694954771803144e-5,-4.9060201272908396e-8,-0.002110681352249585,-4.767075494556609e-5,-4.90436883734857e-8,-0.002110384874318121,-4.7570663804349934e-5,-4.894570849816082e-8,-0.0021101677401916797,-4.7429813825341904e-5,-4.8802430880724736e-8,-0.002110039696581039,-4.729335730533683e-5,-4.866125590022362e-8,-0.0021099884072854364,-4.7204358850854926e-5,-4.8568084600913465e-8,-0.002109983945387274,-4.7192708949043166e-5,-4.855543459993911e-8,-0.0021099879117350232,-4.726846620998511e-5,-4.863507382826351e-8,-0.0021099639576379094,-4.7421428985429237e-5,-4.879720662545984e-8,-0.0021098861854816123,-4.7626298326830003e-5,-4.901567331796005e-8,-0.002109743186109511,-4.7850789510772105e-5,-4.9256450069474826e-8,-0.002109537586825893,-4.8063526347891254e-5,-4.948609768053289e-8,-0.002109282655958739,-4.8239580975826655e-5,-4.967782243823404e-8,-0.0021089979409871034,-4.8363148343395243e-5,-4.981449771751667e-8,-0.002108705341277884,-4.8427999229028034e-5,-4.988923858233261e-8,-0.002108426170116319,-4.843672757019664e-5,-4.990457813568429e-8,-0.0021081790939703336,-4.8399655340769195e-5,-4.987120855545762e-8,-0.002107978462340765,-4.8333815691984267e-5,-4.98068240380907e-8,-0.0021078325085235445,-4.8261883157006745e-5,-4.973500790876879e-8,-0.002107741182028866,-4.8210487087105704e-5,-4.968358842430621e-8,-0.0021076938773007476,-4.820714020935879e-5,-4.9681591379790985e-8,-0.0021076680383246907,-4.827513281127266e-5,-4.975399170959863e-8,-0.002107630376401887,-4.842654419791798e-5,-4.991432609044488e-8,-0.0021075425159545343,-4.865523284848443e-5,-5.015711147352186e-8,-0.0021073713272879244,-4.893349928726431e-5,-5.045403692151433e-8,-0.002107101054149504,-4.921621165090497e-5,-5.075804312180078e-8,-0.00210674158544731,-4.9453141274911964e-5,-5.1016160495136004e-8,-0.0021063277292051657,-4.960526660686225e-5,-5.1186657637328415e-8,-0.0021059088236712936,-4.965767137535703e-5,-5.1252729209342855e-8,-0.002105533355710234,-4.962333434846008e-5,-5.122672710022117e-8,-0.002105235298687669,-4.953725574759237e-5,-5.114433301511661e-8,-0.0021050267301768173,-4.9444765358431426e-5,-5.105262008384059e-8,-0.0021048975954977385,-4.938895653500951e-5,-5.099704564916817e-8,-0.0021048209457205044,-4.940083264676395e-5,-5.1011036159970786e-8,-0.0021047611320736954,-4.9493878141675046e-5,-5.110997819652719e-8,-0.0021046825545899023,-4.9663315734863536e-5,-5.1290024568352304e-8,-0.002104557033149279,-4.98893453161492e-5,-5.1531150434198844e-8,-0.0021043684802190066,-5.0143026698940785e-5,-5.1803180748147716e-8,-0.002104114312419352,-5.0393089164750924e-5,-5.2073008844431506e-8,-0.0021038039107087792,-5.0611974369170696e-5,-5.2311154609061635e-8,-0.002103455142864527,-5.077997300985246e-5,-5.249634587215205e-8,-0.0021030901973043527,-5.088713159052434e-5,-5.261767665298347e-8,-0.002102731754757487,-5.093327497583167e-5,-5.2674658453290784e-8,-0.002102400038249737,-5.0926853473763044e-5,-5.267593710089334e-8,-0.002102110741705476,-5.088333895282607e-5,-5.2637516149960456e-8,-0.002101873489403106,-5.08235740242651e-5,-5.2580999673824274e-8,-0.0021016904381226816,-5.07720385838116e-5,-5.2531862498246874e-8,-0.0021015548084289933,-5.0754644122074386e-5,-5.2517309070279127e-8,-0.002101449525764805,-5.079541727592946e-5,-5.256294807274047e-8,-0.002101346863688587,-5.091147619245311e-5,-5.268753767417356e-8,-0.0021012107625705593,-5.110647842638639e-5,-5.2895930277749896e-8,-0.0021010036231113496,-5.1364431323432054e-5,-5.317225671965255e-8,-0.0021006978474307205,-5.164780092740599e-5,-5.347763770609452e-8,-0.0021002887607210427,-5.1904283966139336e-5,-5.3757151991875933e-8,-0.0020998017811831972,-5.2082983385010847e-5,-5.3956856249473105e-8,-0.002099287305051419,-5.2153786677272464e-5,-5.404424493360183e-8,-0.002098803714303415,-5.211938886395136e-5,-5.402099729340937e-8,-0.0020983970909576486,-5.201310176200273e-5,-5.392087032373497e-8,-0.0020980879471518285,-5.1884788106360025e-5,-5.379525398388802e-8,-0.0020978694594535633,-5.178355560077695e-5,-5.3695353664609535e-8,-0.0020977146033212875,-5.1744897802943776e-5,-5.3658858151211176e-8,-0.0020975867206337855,-5.17850538647107e-5,-5.370387698001164e-8,-0.002097449252174256,-5.1901448471996434e-5,-5.382901325735156e-8,-0.0020972727165282454,-5.2076755488728516e-5,-5.4017187239652266e-8,-0.002097038679265766,-5.228448053746355e-5,-5.424119501315798e-8,-0.002096741115512614,-5.2494770950254756e-5,-5.446974146690214e-8,-0.0020963856479537316,-5.267968073580639e-5,-5.467310941300608e-8,-0.0020959871806476727,-5.281730553664611e-5,-5.482773870037851e-8,-0.002095566547851664,-5.2894425618154075e-5,-5.49192091763326e-8,-0.0020951467983804607,-5.2907580747666326e-5,-5.494346629557186e-8,-0.0020947496865052926,-5.2862703551995284e-5,-5.490641407062349e-8,-0.00209439283463895,-5.277366064911636e-5,-5.482230500560337e-8,-0.002094087719578533,-5.266022168051224e-5,-5.471156076175677e-8,-0.0020938383034884785,-5.2545818362760925e-5,-5.459846822588298e-8,-0.00209364009071615,-5.245512424241938e-5,-5.4508786421523974e-8,-0.002093479524987209,-5.241128303972207e-5,-5.4467015989831044e-8,-0.002093333866675805,-5.243244496307399e-5,-5.449285675295966e-8,-0.002093172238328941,-5.25272454837531e-5,-5.459637339444828e-8,-0.002092959192295158,-5.2689536740216397e-5,-5.47721861308031e-8,-0.002092662162437497,-5.289419192472436e-5,-5.4994709404817255e-8,-0.002092262731012093,-5.3097515495686634e-5,-5.5218327291160634e-8,-0.0020917682925749906,-5.3246152076680836e-5,-5.5386719323868286e-8,-0.0020912168729252238,-5.32948950916572e-5,-5.5451705931345774e-8,-0.00209066831104737,-5.322638039161152e-5,-5.539407826225248e-8,-0.002090182976448214,-5.306061034027742e-5,-5.523368866112795e-8,-0.0020897991792229852,-5.2847036022818596e-5,-5.502129784760488e-8,-0.0020895220312050072,-5.264403046194828e-5,-5.481735951820511e-8,-0.002089327651578887,-5.2498344531242285e-5,-5.4670817165440435e-8,-0.002089176601984936,-5.243402752975581e-5,-5.46075905285881e-8,-0.002089027832962104,-5.2451886161662154e-5,-5.462976227025945e-8,-0.002088848145979607,-5.253524957931374e-5,-5.4721159636310425e-8,-0.002088616519163286,-5.265749417095675e-5,-5.485481113266398e-8,-0.0020883247601802828,-5.278870213189013e-5,-5.499971074275159e-8,-0.0020879761659435914,-5.290068935685728e-5,-5.512613172786507e-8,-0.002087583221816599,-5.297058683962383e-5,-5.520959628157752e-8,-0.002087164777385674,-5.29832296796577e-5,-5.5233626895864976e-8,-0.002086742950109644,-5.2932455223265686e-5,-5.519126877302781e-8,-0.002086339956581604,-5.282138748957507e-5,-5.508542075950947e-8,-0.0020859750527439137,-5.266171847400609e-5,-5.492801945295256e-8,-0.0020856618891764334,-5.247200185689632e-5,-5.4738177469182e-8,-0.0020854066000901466,-5.227520696881749e-5,-5.453962120190033e-8,-0.0020852067040709943,-5.209587655834655e-5,-5.4357819901512334e-8,-0.002085050761531667,-5.19570440334916e-5,-5.421693100956444e-8,-0.0020849188250382576,-5.187695475340274e-5,-5.4136513752244604e-8,-0.0020847838283227895,-5.1865633386018315e-5,-5.4127943797766366e-8,-0.002084614302700284,-5.192134366393279e-5,-5.4190517439071605e-8,-0.002084379177216386,-5.202743147570318e-5,-5.4307801867957737e-8,-0.0020840552632532838,-5.2151132764179095e-5,-5.444603412637725e-8,-0.0020836367229090016,-5.2246983387897786e-5,-5.4557508305702125e-8,-0.0020831432642481086,-5.226727446908682e-5,-5.45915998704627e-8,-0.00208262110484632,-5.217892051956154e-5,-5.451267651801983e-8,-0.0020821314693878165,-5.1979995231158984e-5,-5.4317639028435655e-8,-0.002081728580818981,-5.170500269403149e-5,-5.404156653193917e-8,-0.0020814384597434145,-5.1412711832119855e-5,-5.374512512192592e-8,-0.0020812512548079114,-5.1162601970100065e-5,-5.349017232141276e-8,-0.0020811301739922143,-5.0993981576040526e-5,-5.331814200443522e-8,-0.0020810288964036128,-5.091778800135395e-5,-5.324144113486929e-8,-0.0020809068797548306,-5.0920708246115815e-5,-5.324742058440525e-8,-0.002080737412895719,-5.0975044648063965e-5,-5.330822538299496e-8,-0.0020805090765344805,-5.104836915559959e-5,-5.339054776415609e-8,-0.0020802235105041346,-5.111032019083676e-5,-5.3462654102947513e-8,-0.0020798920087048986,-5.113645247824958e-5,-5.349856905196274e-8,-0.0020795322310856322,-5.111013067736273e-5,-5.3480319452971573e-8,-0.002079165270330489,-5.102337145825212e-5,-5.339903379738613e-8,-0.002078812929807196,-5.0877027322918444e-5,-5.325522084868336e-8,-0.0020784951021789507,-5.0680399754512935e-5,-5.3058323468374344e-8,-0.0020782272019827155,-5.0450194248135284e-5,-5.2825530483115977E-08,-0.002078017796904138,-5.020860124030872e-5,-5.257971627504764e-8,-0.002077866846658982,-4.998045829403398e-5,-5.234652763334412e-8,-0.002077764949227266,-4.9789769777337244e-5,-5.215090293742938e-8,-0.002077693796213007,-4.96559598259346e-5,-5.201333928555749e-8,-0.002077627945643406,-4.959024266445353e-5,-5.1946199184189877e-8,-0.0020775379573369774,-4.959258117963107e-5,-5.1950458272378425e-8,-0.002077394847759163,-4.964972754567608e-5,-5.20133946027985e-8,-0.0020771757956997636,-4.973494898228385e-5,-5.2107934240242226e-8,-0.0020768707597667575,-4.981047198397003e-5,-5.21948928946358e-8,-0.002076488719453658,-4.9833950263944744e-5,-5.222962698296795e-8,-0.0020760607752435137,-4.976947981592237e-5,-5.217368787144459e-8,-0.0020756363255762,-4.960119521007246e-5,-5.2009327355383566e-8,-0.0020752699804712604,-4.934370262592132e-5,-5.175068444401802e-8,-0.002075002258206543,-4.904167747827994e-5,-5.144355599514386e-8,-0.002074843505137487,-4.875527236421879e-5,-5.115030112001243e-8,-0.002074770885112081,-4.85375576824606e-5,-5.092642497342114e-8,-0.0020747400769557814,-4.841647775431193e-5,-5.080178737543361e-8,-0.00207470360549399,-4.839002227744564e-5,-5.077538800998163e-8,-0.0020746254988324455,-4.843356303392952e-5,-5.082265162308837e-8,-0.002074487411936633,-4.8512066229528486e-5,-5.090778965666528e-8,-0.002074287589063454,-4.8590652566310444e-5,-5.099462507142112e-8,-0.0020740364229402913,-4.864094211986411e-5,-5.105327235216716e-8,-0.0020737516117730406,-4.864364377231825e-5,-5.1063071939584795e-8,-0.0020734542779023923,-4.858893563414716e-5,-5.101324060777878e-8,-0.0020731661303226793,-4.847596434842968e-5,-5.090249495797251e-8,-0.0020729072209830705,-4.831209437291138e-5,-5.073826475982897e-8,-0.002072693884949742,-4.81119863715466e-5,-5.053563043378728e-8,-0.0020725366574624164,-4.789627336170478e-5,-5.031584456326077e-8,-0.002072438244777095,-4.76894406001386e-5,-5.0104114550785046e-8,-0.0020723920062757552,-4.751664405123388e-5,-4.992640119935618e-8,-0.002072381620741844,-4.7399626029792626e-5,-4.980535122260885e-8,-0.002072382493146707,-4.735231857382114e-5,-4.975587690759763e-8,-0.002072365126038206,-4.737703392101369e-5,-4.9781211913094104e-8,-0.0020723002115636837,-4.746229500170882e-5,-4.987048608611002e-8,-0.002072164686144449,-4.758318793891755e-5,-4.9998772052492005e-8,-0.0020719476479477516,-4.7704672733856255e-5,-5.0130175273880784e-8,-0.0020716548762382742,-4.778785681354576e-5,-5.0224127220180263E-08,-0.002071310506859259,-4.779875995902617e-5,-5.0244500497020163e-8,-0.0020709542977483263,-4.7718213318121765e-5,-5.017014103512715e-8,-0.002070633392768585,-4.755018007788747e-5,-5.0003890279004845e-8,-0.0020703892518739446,-4.7324560969728754e-5,-4.9775852540256276e-8,-0.002070243556064142,-4.709095642120351e-5,-4.953713265926498e-8,-0.002070189582318923,-4.690347790577672e-5,-4.93441179578025e-8,-0.002070194443298303,-4.6802416516879245e-5,-4.9239360290252976e-8,-0.002070211781957937,-4.680166452708117e-5,-4.923831183218621e-8,-0.0020701982102484394,-4.688757653287808e-5,-4.9327848095478144e-8,-0.0020701254502533,-4.702784331254064e-5,-4.947517696147768e-8,-0.002069984310820259,-4.718405080239909e-5,-4.9640685225447364e-8,-0.002069781881963152,-4.732196406548829e-5,-4.978861540585559e-8,-0.002069535727065262,-4.741708010271714e-5,-4.989300757237092e-8,-0.0020692682062174064,-4.7456088345065395e-5,-4.993946266170168e-8,-0.0020690022999483347,-4.743604483466135e-5,-4.9924473337753236e-8,-0.0020687589325963695,-4.736278778201662e-5,-4.9853830021207306e-8,-0.0020685552095647745,-4.724938104372905e-5,-4.9740931313843226e-8,-0.0020684029471759965,-4.7114721697835956e-5,-4.9605222607596616e-8,-0.002068307113632894,-4.698198596032385e-5,-4.9470525465095644e-8,-0.002068264210735056,-4.6876359384872586e-5,-4.936274057243991e-8,-0.0020682611085878133,-4.682161851644506e-5,-4.930645763105391e-8,-0.002068275207205279,-4.683559588593652e-5,-4.932042167102954e-8,-0.002068276840995726,-4.692525626768796e-5,-4.941250393336782e-8,-0.0020682343681795467,-4.708286526062035e-5,-4.9575641749325084e-8,-0.002068121336074826,-4.728509807584928e-5,-4.9786665145860586e-8,-0.002067923897843404,-4.7496385865671217e-5,-5.0009436305109905e-8,-0.0020676460373650566,-4.7676378285878495e-5,-5.0202301586995866e-8,-0.0020673105644500745,-4.77898332491647e-5,-5.032822287464823e-8,-0.002066955050994269,-4.781625324925658e-5,-5.036486940750825e-8,-0.0020666233471462645,-4.7756464778773514e-5,-5.0311739548860085e-8,-0.002066354580310086,-4.763398187934115e-5,-5.0191974764700023E-08,-0.0020661724200392493,-4.7490128745401975e-5,-5.004766473653001e-8,-0.0020660778693884388,-4.737345115377653e-5,-4.9929071504630356e-8,-0.002066048524221078,-4.732603099287772e-5,-4.9880421809209325e-8,-0.0020660453797246812,-4.737129330364156e-5,-4.992704483799921e-8,-0.0020660250285791494,-4.7508085193365105e-5,-5.006889477610717e-8,-0.0020659523841825966,-4.7713206060515434e-5,-5.028283650859611e-8,-0.0020658090029066624,-4.795053885650078e-5,-5.053188956294247e-8,-0.002065594771846483,-4.818222569886375e-5,-5.0776768516938594e-8,-0.002065324117375244,-4.837752105633615e-5,-5.0985184294608874e-8,-0.002065019767433622,-4.851728875182688e-5,-5.1136723525022014e-8,-0.0020647068446275245,-4.8594594783670716e-5,-5.1223668798557995e-8,-0.0020644086381638085,-4.861304972472082e-5,-5.124938607964203e-8,-0.002064144097864555,-4.8584434676873395e-5,-5.122584536957933e-8,-0.002063926468637026,-4.852647936788248e-5,-5.1171225339119544e-8,-0.0020637623786124806,-4.846100605905334e-5,-5.11079143446867e-8,-0.0020636508879348973,-4.841213269692522e-5,-5.106066445180714e-8,-0.002063582435238546,-4.8403934845334516e-5,-5.1054290024565175e-8,-0.002063538168965467,-4.8457018960260466e-5,-5.1110281108115146e-8,-0.002063490642966396,-4.858388401565267e-5,-5.12421042751145e-8,-0.002063407082221286,-4.8783799285689586e-5,-5.144985988199522e-8,-0.0020632559577338995,-4.9039126710606216e-5,-5.1716281192541857e-8,-0.0020630160427410785,-4.931581340272001e-5,-5.200696102828744e-8,-0.002062684941410063,-4.95699691789468e-5,-5.2276889335559116e-8,-0.0020622829172062315,-4.9759696099219955e-5,-5.2482526161209284e-8,-0.0020618491854511264,-4.9858113731482825e-5,-5.259526114699326e-8,-0.0020614313126430684,-4.98622055714111e-5,-5.261072103110058e-8,-0.0020610717124268244,-4.979388598943105e-5,-5.255018976438976e-8,-0.00206079622917913,-4.9693307260769264e-5,-5.2454091838812215e-8,-0.002060608259750969,-4.960738794563041e-5,-5.2370482519734586e-8,-0.0020604893759882652,-4.957747244117635e-5,-5.234243575739418e-8,-0.0020604054583355405,-4.962944279368117e-5,-5.239769021503708e-8,-0.00206031622426224,-4.976850689463904e-5,-5.254290844467591e-8,-0.0020601854537221713,-4.997959938080869e-5,-5.276367005121703e-8,-0.002059989171420568,-5.0232827495872717e-5,-5.3029781808228276e-8,-0.0020597197607184654,-5.049196909900188e-5,-5.330394627200139e-8,-0.002059385412596773,-5.0723251719086136e-5,-5.35509256812709e-8,-0.002059005920337264,-5.0901931837912855e-5,-5.374455696877302e-8,-0.0020586068325025636,-5.1015438910330984e-5,-5.387122879648511e-8,-0.0020582139353274493,-5.106332394108202e-5,-5.3929977985066915e-8,-0.0020578492211639973,-5.105516573900859e-5,-5.3930358175955645e-8,-0.002057528552028513,-5.100771436745336e-5,-5.388943054436595e-8,-0.0020572605931187234,-5.094215881551009e-5,-5.382886471043966e-8,-0.0020570463828137086,-5.088182315066045e-5,-5.3772543032440546e-8,-0.0020568790450358394,-5.0850080664488783e-5,-5.3744486331419684e-8,-0.0020567435004348058,-5.086799254343324e-5,-5.376655829843546e-8,-0.0020566165172875277,-5.0951144908211624e-5,-5.38553140117008e-8,-0.002056468009873697,-5.1105440079060466e-5,-5.40176449522486e-8,-0.002056264887091375,-5.13224346701609e-5,-5.4245796040435814e-8,-0.0020559784072281106,-5.157623756835036e-5,-5.451389058844007e-8,-0.0020555942713637253,-5.1825209665744814e-5,-5.4779432398487804e-8,-0.0020551217432332926,-5.202108670480498e-5,-5.4992587084446835e-8,-0.002054595971680873,-5.212442299521637e-5,-5.511211091620739e-8,-0.002054069540827032,-5.212000715115373e-5,-5.51213256728815e-8,-0.0020535954582683582,-5.202381128623128e-5,-5.503543356010499e-8,-0.002053209667556904,-5.187728707364314e-5,-5.48959111155173e-8,-0.002052921320923942,-5.1732422490422854e-5,-5.4755490408141264e-8,-0.0020527136286440546,-5.163540619096735e-5,-5.466165472016251e-8,-0.002052552370246584,-5.16152962902263e-5,-5.464504010682952e-8,-0.002052397089200715,-5.167979779085585e-5,-5.471483931427527e-8,-0.0020522111175157827,-5.1817015362214554e-5,-5.4860156203498216e-8,-0.002051968552414977,-5.200091488002448e-5,-5.505518884494557e-8,-0.002051657757119859,-5.219838699551085e-5,-5.5266251947721564e-8,-0.0020512816489339715,-5.237636228823249e-5,-5.5459107581815276e-8,-0.0020508553095427784,-5.2507832957142995e-5,-5.5605365688318714e-8,-0.0020504017421625635,-5.2575890404729004e-5,-5.568690921630114e-8,-0.002049946887543557,-5.257533993074332e-5,-5.5697769382127575e-8,-0.002049514984834118,-5.251207506856239e-5,-5.5643570315387093e-8,-0.0020491250330573053,-5.240083953067565e-5,-5.553919797775131e-8,-0.0020487886736325817,-5.226219084775036e-5,-5.540559549606092e-8,-0.002048509350314085,-5.211942672300324e-5,-5.526655233827838e-8,-0.0020482822912756475,-5.1995876311308334e-5,-5.514595440180733e-8,-0.0020480948969156336,-5.191250486751777e-5,-5.506543751527602e-8,-0.0020479273660762303,-5.188554270222557e-5,-5.5042078174011434e-8,-0.002047753716271682,-5.19237834715236e-5,-5.5085654827554707e-8,-0.002047543853386551,-5.202532476066097e-5,-5.5195172880639046e-8,-0.0020472677925593256,-5.2174216124140644e-5,-5.535514660858792e-8,-0.002046902870774027,-5.2338771760351975e-5,-5.553355877045675e-8,-0.0020464432837271392,-5.247451873274851e-5,-5.568470840459575e-8,-0.0020459084093877532,-5.253449204712567e-5,-5.575981860047395e-8,-0.002045343640214381,-5.2486027294355265e-5,-5.5724461720487053e-8,-0.002044808785656605,-5.2326853813685626e-5,-5.557525555895152e-8,-0.002044356731611969,-5.208986005362827e-5,-5.534487592771635e-8,-0.002044013525552351,-5.183141847200364e-5,-5.5090255370018856e-8,-0.002043771226817781,-5.160953417781544e-5,-5.48704621303244e-8,-0.0020435956589243583,-5.1464429347744986e-5,-5.472704260792385e-8,-0.0020434418674889353,-5.1410036594933055e-5,-5.4675282541850294e-8,-0.0020432684427998627,-5.14362548539681e-5,-5.470618039648655e-8,-0.0020430462096218717,-5.1516940304592496e-5,-5.4794150517663037e-8,-0.0020427612302023604,-5.161886518563504e-5,-5.490581755587025e-8,-0.002042413976632722,-5.170911019925943e-5,-5.50074620408479e-8,-0.0020420165420526716,-5.1760253982835196e-5,-5.5070471238764245e-8,-0.0020415890123641396,-5.1753638794210315e-5,-5.507496856439569e-8,-0.002041155494939975,-5.168102371657047e-5,-5.501178570621877e-8,-0.0020407401651533347,-5.154474405169965e-5,-5.488278817879703e-8,-0.0020403637204026146,-5.135653343018677e-5,-5.4699684377973364e-8,-0.002040040576882192,-5.113526412477106e-5,-5.448162890443747e-8,-0.002039777091455139,-5.09039490226065e-5,-5.425206240270826e-8,-0.0020395709362431877,-5.068649756636404e-5,-5.4035371776647424e-8,-0.002039411459954195,-5.050467571637247e-5,-5.385385724355181e-8,-0.002039280756574348,-5.037542727193322e-5,-5.372512326084712e-8,-0.0020391552857087123,-5.030852534711591e-5,-5.365977061904039e-8,-0.0020390080427771986,-5.030447590753775e-5,-5.365921376204627e-8,-0.002038811568452725,-5.0352607930303213e-5,-5.3713516384989046e-8,-0.0020385424324039243,-5.042973944197244e-5,-5.379970190700536e-8,-0.0020381875739485158,-5.050077044952324e-5,-5.388206675784495e-8,-0.0020377516616928775,-5.052330199125621e-5,-5.391680200972993e-8,-0.0020372625651711995,-5.045802416725423e-5,-5.386277190055731e-8,-0.0020367698775526524,-5.028392416035833e-5,-5.3697376840582164e-8,-0.0020363321435952564,-5.001196000452072e-5,-5.34308014077663e-8,-0.0020359951521852593,-4.968703486004547e-5,-5.310816086035136e-8,-0.0020357726478473404,-4.937288418461528e-5,-5.279414480895378e-8,-0.0020356419556401216,-4.9126855995544544e-5,-5.2547399322285394e-8,-0.002035556684070434,-4.897959533240644e-5,-5.2399885499866514e-8,-0.0020354668174017705,-4.892970414356411e-5,-5.2351307750795756e-8,-0.0020353344578759418,-4.8951698867931034e-5,-5.237686688565701e-8,-0.0020351402813209166,-4.900893595997211e-5,-5.2440021527677685e-8,-0.0020348825479860966,-4.906468718670452e-5,-5.250353037457378e-8,-0.0020345726105927375,-4.908894182699448e-5,-5.253641005057569e-8,-0.002034229863541913,-4.906144649731033e-5,-5.251727392128725e-8,-0.002033877432711455,-4.897243922319491e-5,-5.2435389666249733e-8,-0.002033538711092817,-4.882223756648143e-5,-5.2290488844127926e-8,-0.002033234470164266,-4.8620156756388854e-5,-5.2091736421230884e-8,-0.0020329804185158853,-4.838285072517303e-5,-5.185597492180308e-8,-0.0020327852353072594,-4.813206614562613e-5,-5.160531630998899e-8,-0.002032649254192641,-4.789178910703803e-5,-5.136415864036497e-8,-0.00203256409568354,-4.7684964149517676e-5,-5.115586867184493e-8,-0.002032513412831578,-4.7530207576543425e-5,-5.099954932398015e-8,-0.0020324746777436327,-4.743890663944881e-5,-5.0907215491822745e-8,-0.002032421864725609,-4.741298395352246e-5,-5.088156196373777e-8,-0.002032328861343699,-4.744359026821503e-5,-5.091451930689139e-8,-0.002032173443614939,-4.7510913626487626e-5,-5.098678990055797e-8,-0.002031941783002499,-4.75853718193778e-5,-5.106873150905396e-8,-0.0020316332829377146,-4.763092567556373e-5,-5.112349305662727e-8,-0.002031264678451989,-4.7611506845454626e-5,-5.111354889776993e-8,-0.0020308711459007655,-4.7500835256465015e-5,-5.101094070015697e-8,-0.002030501384939176,-4.7293891553481265e-5,-5.0809346057054425e-8,-0.0020302046550841244,-4.7015069114082157e-5,-5.053271389164446e-8,-0.002030012417735536,-4.6715860633814e-5,-5.023306514824246e-8,-0.0020299237206302333,-4.645858056483108e-5,-4.997393446583235e-8,-0.002029904534219609,-4.629246101907128e-5,-4.980599835191041e-8,-0.0020299027081861383,-4.6235733219535855e-5,-4.974874457112798e-8,-0.0020298691085456756,-4.6273355836021885e-5,-4.9787942532947575e-8,-0.002029772836986357,-4.6368492929145236e-5,-4.9886997870461254e-8,-0.0020296053518841788,-4.6478270704142267e-5,-5.0002696473796485e-8,-0.0020293762284797076,-4.6565779984025805e-5,-5.009732090515303e-8,-0.0020291058975264805,-4.660586503998099e-5,-5.0144678766039385e-8,-0.0020288190745721122,-4.658611551409667e-5,-5.013139050785385e-8,-0.0020285401833065263,-4.650544482721242e-5,-5.0055709880198454e-8,-0.0020282905163081324,-4.637198758862261e-5,-4.9925521941264115e-8,-0.0020280863812595215,-4.6201017541421475e-5,-4.975620376898143e-8,-0.002027937697407739,-4.6012910954525015e-5,-4.95684364968778e-8,-0.0020278468548150497,-4.5830932166805734e-5,-4.938584335030445e-8,-0.0020278079352926354,-4.5678563130217145e-5,-4.923225233991149e-8,-0.0020278066732735607,-4.5576287146234076e-5,-4.9128512005390405e-8,-0.0020278216052989797,-4.553814792964579e-5,-4.908913495339701e-8,-0.0020278266184087235,-4.5568694544187735e-5,-4.91192941943901e-8,-0.0020277947861438816,-4.566099727855335e-5,-4.921277950752152e-8,-0.0020277030598136164,-4.579640243999685e-5,-4.9351559556919325e-8,-0.0020275370670149273,-4.5946459644631754e-5,-4.950743825762933e-8,-0.0020272951641109476,-4.6077038467505365e-5,-4.964594133297112e-8,-0.0020269909380996286,-4.615441491887575e-5,-4.9732349917762104e-8,-0.002026653192492816,-4.615293081887066e-5,-4.973956903588067e-8,-0.002026322209052732,-4.606314805429271e-5,-4.965671815932576e-8,-0.0020260414134917063,-4.5898197313257225e-5,-4.949598467985722e-8,-0.002025845064816443,-4.569487890022771e-5,-4.929407616837752e-8,-0.0020257453978966516,-4.550622741121225e-5,-4.9104815330766504e-8,-0.0020257254701901042,-4.538541867435896e-5,-4.898274157296879e-8,-0.0020257433889951937,-4.536680350718691e-5,-4.89636608578841e-8,-0.0020257476215753702,-4.5453789008186565e-5,-4.905208248604179e-8,-0.002025695654193513,-4.562012774480506e-5,-4.922225373647776e-8,-0.0020255663701208917,-4.582262170758979e-5,-4.943082479997011e-8,-0.0020253618227586557,-4.6016984020625265e-5,-4.963283638283841e-8,-0.00202510099803616,-4.6169328034816214e-5,-4.979343944742674e-8,-0.002024811017417274,-4.626077683867761e-5,-4.989278000082901e-8,-0.002024519795827304,-4.6286832571634604e-5,-4.992561400738215e-8,-0.0020242514862415977,-4.625433913083903e-5,-4.989840752411386e-8,-0.002024024252686185,-4.617810969109077e-5,-4.982595556164917e-8,-0.0020238493406938953,-4.607808430854788e-5,-4.972841725462505e-8,-0.0020237306112493255,-4.597702408116703e-5,-4.96288581956967e-8,-0.002023664162763472,-4.589834984431947e-5,-4.955099750636145e-8,-0.0020236381094273855,-4.586365827157764e-5,-4.951673189348936e-8,-0.0020236329502209293,-4.5889656355000434e-5,-4.954314934249165e-8,-0.002023623153744319,-4.5984715081919234e-5,-4.963915423232379e-8,-0.0020235804546441657,-4.6145777376813115e-5,-4.980235686787022e-8,-0.002023478863220688,-4.635676148666589e-5,-5.0017332271608656e-8,-0.0020233006158513526,-4.658965624449702e-5,-5.025648223081647e-8,-0.002023041531229927,-4.6808945440860525e-5,-5.048423155390615e-8,-0.0020227139642913913,-4.6978896318268104e-5,-5.066420578545552e-8,-0.002022346013528821,-4.7072161309276584e-5,-5.0767917079637096e-8,-0.002021976583923614,-4.7077557162162256e-5,-5.0782829172766134e-8,-0.002021646938817805,-4.700482993717928e-5,-5.071753209060727e-8,-0.0020213903373314294,-4.688457071627136e-5,-5.060204845365824e-8,-0.00202122225761361,-4.676225438165741e-5,-5.048208770780828e-8,-0.002021134399579563,-4.668682793085823e-5,-5.040757499631068e-8,-0.0020210955157597492,-4.66964938733245e-5,-5.041810897949245e-8,-0.002021060207166187,-4.680660727557303e-5,-5.053039604591645e-8,-0.0020209831787395298,-4.700501284627893e-5,-5.073317426465869e-8,-0.0020208331782008877,-4.7257207541469374e-5,-5.0992163914768974e-8,-0.002020600749527367,-4.751873684499668e-5,-5.126249359928724e-8,-0.002020297495132843,-4.7748817668834114e-5,-5.150253416122725e-8,-0.002019949045350994,-4.791973032907616e-5,-5.168357842505219e-8,-0.002019586148214338,-4.801998291591459e-5,-5.1793273968425187e-8,-0.0020192374342056386,-4.8052601996660434e-5,-5.183409256541799e-8,-0.002018925159106304,-4.8031175323490096e-5,-5.181942050354247e-8,-0.0020186634942643855,-4.797571811880198e-5,-5.1769350061628944e-8,-0.002018458307559683,-4.7909321720409155e-5,-5.17071934570522e-8,-0.0020183074793059634,-4.7855657746552463e-5,-5.1656878184229704e-8,-0.0020182012242393878,-4.783688725574289e-5,-5.164083264519561e-8,-0.0020181224346406887,-4.7871384574551e-5,-5.167777089044754e-8,-0.002018047515893418,-4.797092449356852e-5,-5.177995991815182e-8,-0.0020179484270965854,-4.813745696818201e-5,-5.1950004632217014e-8,-0.0020177966111187182,-4.836022705575067e-5,-5.217785319666721e-8,-0.0020175689778127058,-4.861471743161788e-5,-5.243952149084699e-8,-0.0020172549083493363,-4.886518940475764e-5,-5.2699404555608824e-8,-0.0020168618491771245,-4.9071739379400246e-5,-5.291720278700551e-8,-0.0020164165457899337,-4.920074189090056e-5,-5.305839885690176e-8,-0.0020159601254947663,-4.923537724905972e-5,-5.310497994930823e-8,-0.0020155377782343923,-4.9182101111894395e-5,-5.3062208619770655e-8,-0.0020151863264922898,-4.9070186505180795e-5,-5.2958496549887175e-8,-0.0020149239683831454,-4.894424255995497e-5,-5.28381974040878e-8,-0.002014745466484543,-4.8852234007670655e-5,-5.2749744360003565e-8,-0.002014623980385843,-4.8832737442584404e-5,-5.2732795661562925E-08,-0.0020145187675945538,-4.8905033515197663e-5,-5.2807996323674024e-8,-0.002014386463354211,-4.9064737170752646e-5,-5.297217537397421e-8,-0.0020141926071653754,-4.928613889269881e-5,-5.3200321420099145e-8,-0.002013919923050992,-4.953032530867741e-5,-5.3453543629696204e-8,-0.002013571006866503,-4.975617191211685e-5,-5.369014468097558e-8,-0.0020131652167542056,-4.993046123284049e-5,-5.3875992139383384e-8,-0.002012731692604997,-5.0034158097124634e-5,-5.399109718532883e-8,-0.0020123014742402913,-5.0063845602625036e-5,-5.403129483295887e-8,-0.00201190121087524,-5.002933955111049e-5,-5.4005977959494064e-8,-0.002011549521326985,-4.994945558883987e-5,-5.393385164637899e-8,-0.002011255743455944,-4.984764678639762e-5,-5.383846809376056e-8,-0.0020110201985696686,-4.974843179222414e-5,-5.374453985485008e-8,-0.002010835083772604,-4.9674777295965575e-5,-5.367526613695328e-8,-0.0020106854277154628,-4.964606496865315e-5,-5.365032901804489e-8,-0.0020105500400673802,-4.9676073962541255e-5,-5.3683953076972764e-8,-0.0020104028617102853,-4.9770593190928885e-5,-5.3782559234610896e-8,-0.0020102154280196164,-4.992472116898015e-5,-5.39419945769669e-8,-0.002009961203093299,-5.01205774324166e-5,-5.4145045648848874e-8,-0.0020096220475094026,-5.032702956215601e-5,-5.436091558231032e-8,-0.0020091956873586328,-5.0503577918817376e-5,-5.454893403638213e-8,-0.0020087010935627442,-5.060963041617747e-5,-5.466782814365228e-8,-0.0020081776870822868,-5.06175125618987e-5,-5.468889528583259e-8,-0.0020076760813480246,-5.052404157729019e-5,-5.4607820427235687e-8,-0.0020072426309083852,-5.03543523152836e-5,-5.444874990717472e-8,-0.0020069043511348767,-5.015493124700536e-5,-5.42575575233768e-8,-0.0020066610667815107,-4.997871174697851e-5,-5.40871357697118e-8,-0.0020064875013838,-4.98690470565664e-5,-5.3981449732444325e-8,-0.0020063429428621477,-4.9848723760962696e-5,-5.396442162152271e-8,-0.0020061836818402717,-4.991653940438004e-5,-5.40361687618578e-8,-0.0020059740082301832,-5.005060728795719e-5,-5.4175883241144576e-8,-0.0020056933781890086,-5.021595398427699e-5,-5.434910207886136e-8,-0.0020053390005447076,-5.037374382076034e-5,-5.4516829286568113e-8,-0.0020049242019915922,-5.048986269802197e-5,-5.464425732666e-8,-0.0020044736538592134,-5.054119841472836e-5,-5.470733410760349e-8,-0.0020040170112563204,-5.0518666909647305e-5,-5.469609132681992e-8,-0.002003582651521957,-5.0426916644760484e-5,-5.461455429534083e-8,-0.002003192848389794,-5.028151267800684e-5,-5.4477987905210974e-8,-0.0020028610069787686,-5.010484787898947e-5,-5.430874706071043e-8,-0.0020025908720933084,-4.992194480586509e-5,-5.413196542421391e-8,-0.0020023771463984017,-4.9756918400443195e-5,-5.3971933421660555e-8,-0.002002206808863418,-4.963034306888264e-5,-5.384945799572805e-8,-0.0020020606277349035,-4.955729195151486e-5,-5.3779965287491494e-8,-0.002001914752160842,-4.9545629165052306e-5,-5.377186303277142e-8,-0.0020017426370449094,-4.959424701946217e-5,-5.382477021649585e-8,-0.0020015178700865826,-4.9691252782268014e-5,-5.392756337052816e-8,-0.002001218597218113,-4.981272984636775e-5,-5.4056892268100934e-8,-0.0020008337756181305,-4.9923598500677135e-5,-5.417780009747694e-8,-0.002000370096206164,-4.998267559890689e-5,-5.4248682766537245e-8,-0.0019998563334538166,-4.995319905600739e-5,-5.423191853970226e-8,-0.0019993405058199324,-4.981692900508882e-5,-5.4108211202206056e-8,-0.0019988771595501596,-4.958544642961348e-5,-5.388813032255459e-8,-0.001998508235516319,-4.930060305686856e-5,-5.361273486836377e-8,-0.0019982470792282445,-4.902112276864653e-5,-5.3340329163181614e-8,-0.001998074636703137,-4.880149849864028e-5,-5.31255233957502e-8,-0.0019979490776461596,-4.867431780069525e-5,-5.300163018068865e-8,-0.001997822100817167,-4.864355803151583e-5,-5.2973805172126e-8,-0.0019976535169998273,-4.8688691267618395e-5,-5.3022777123200866e-8,-0.001997419552504148,-4.8774601604832057e-5,-5.311433704727912e-8,-0.001997114744774493,-4.8862226688571974e-5,-5.320970261330998e-8,-0.0019967494607951706,-4.891701856579829e-5,-5.3273961127601174e-8,-0.0019963452028423133,-4.8914377496388965e-5,-5.328171644965104e-8,-0.0019959291743273603,-4.884227819040176e-5,-5.3220032150562435e-8,-0.0019955289872912786,-4.870151669163586e-5,-5.3088954045228216e-8,-0.001995168161878916,-4.850401085939419e-5,-5.289994962557313e-8,-0.0019948628903654394,-4.8269744288963775e-5,-5.267284224427861e-8,-0.0019946202670904343,-4.8023026531601735e-5,-5.2431967802807096e-8,-0.0019944379707342885,-4.7788675113880514e-5,-5.220224766362233e-8,-0.0019943051797844005,-4.7588659781935926e-5,-5.200579146376313e-8,-0.0019942042706509,-4.743954711749449e-5,-5.1859386167826104e-8,-0.001994112859914415,-4.735069680607469e-5,-5.1772781475901097e-8,-0.001994006037341234,-4.732295848864623e-5,-5.1747440313270875e-8,-0.001993858894812306,-4.7347710668200726e-5,-5.177551950964653e-8,-0.0019936496579878314,-4.740627635058635e-5,-5.18390919640976e-8,-0.001993363861819001,-4.7470190253398286e-5,-5.1910146838977426e-8,-0.0019929996205191062,-4.7503541595903896e-5,-5.195272017060764e-8,-0.0019925728195238626,-4.746902878186876e-5,-5.1928915188607375e-8,-0.001992119310680294,-4.7338527946317814e-5,-5.1809644671995214e-8,-0.001991689987214206,-4.710613654808492e-5,-5.1587956392584026e-8,-0.0019913363447532006,-4.6797293437381455e-5,-5.128838764343941e-8,-0.0019910904742861894,-4.6465669201456026e-5,-5.096398901617266e-8,-0.001990950368197197,-4.617513909028325e-5,-5.067840830528089e-8,-0.0019908806466250022,-4.5975167125504204e-5,-5.048140368418561e-8,-0.0019908285309041696,-4.5883747649525306e-5,-5.039181646697579e-8,-0.0019907446103717484,-4.588605349155747e-5,-5.039601315964357e-8,-0.0019905972795608703,-4.59456274268961e-5,-5.045866854053545e-8,-0.0019903769307380295,-4.601920467643337e-5,-5.053718566759492e-8,-0.001990092573971516,-4.60683822052351e-5,-5.059317403618827e-8,-0.0019897653271612717,-4.6066023946311286e-5,-5.059894157366422e-8,-0.0019894219047486518,-4.5998288524238066e-5,-5.0539804388693425e-8,-0.001989089388356069,-4.5864029542767294e-5,-5.041380553085208e-8,-0.001988791342582684,-4.5672889943786124e-5,-5.023002279694939e-8,-0.0019885450270769787,-4.544267119758317e-5,-5.000598811628438e-8,-0.001988359611822744,-4.519623780012269e-5,-4.9764511439258186e-8,-0.001988235373861473,-4.4958196634044265e-5,-4.9530237154278555e-8,-0.001988163874878257,-4.475155292368226e-5,-4.932622435749737e-8,-0.0019881291494703197,-4.4594624487372946e-5,-4.917088069716583e-8,-0.0019881097672433527,-4.449860634103792e-5,-4.907562319610449e-8,-0.0019880814361664893,-4.446599676205845e-5,-4.9043404078743095e-8,-0.001988019896370336,-4.448984902371915e-5,-4.90679788963876e-8,-0.0019879040251158317,-4.455382789815783e-5,-4.9133842968146527e-8,-0.001987719144006088,-4.463316087772778e-5,-4.921694042093964e-8,-0.001987460558236463,-4.46967620556441e-5,-4.9286514917244204e-8,-0.0019871370966062707,-4.471122399257981e-5,-4.9308929889939364e-8,-0.0019867735413332,-4.464753053386993e-5,-4.925440944020967e-8,-0.0019864096922321078,-4.449046879624519e-5,-4.910667619111871e-8,-0.001986093293887148,-4.424847454638656e-5,-4.887310764941467e-8,-0.0019858657165408035,-4.395851101024967e-5,-4.858986252843164e-8,-0.0019857444502105696,-4.36793761172567e-5,-4.831531748591886e-8,-0.0019857123157436644,-4.3471892985409506e-5,-4.811032585031551e-8,-0.001985722442942424,-4.3374678707536145e-5,-4.801403302963816e-8,-0.001985717837909519,-4.3389861516746215e-5,-4.802953349265059e-8,-0.0019856536347009303,-4.348657983914437e-5,-4.812711300883761e-8,-0.001985509793314366,-4.3617293200771854e-5,-4.826016677840372e-8,-0.001985291041141802,-4.373551017512467e-5,-4.8382599589213666e-8,-0.001985018982825112,-4.380710889702349e-5,-4.8460059289153266e-8,-0.00198472269519155,-4.381413163467009e-5,-4.8473904889146595e-8,-0.0019844313817317153,-4.3753602107519224e-5,-4.8420335013601454e-8,-0.0019841698777690116,-4.3634265418978614e-5,-4.830740886578302e-8,-0.00198395631013117,-4.347308097731399e-5,-4.815167459106861e-8,-0.00198380093609794,-4.32920529085931e-5,-4.7974972464015794e-8,-0.0019837056325942176,-4.311530044265703e-5,-4.7801388949448075e-8,-0.0019836639326078916,-4.2966205027643966e-5,-4.765430103584804e-8,-0.0019836616788419274,-4.2864560277764126e-5,-4.755351001687462e-8,-0.0019836784835310212,-4.2823816969524074e-5,-4.75125667742844e-8,-0.0019836901334029686,-4.284880913635948e-5,-4.753661876885519e-8,-0.0019836717844280323,-4.293443985340406e-5,-4.7621167559884083e-8,-0.001983601577361672,-4.306561983656408e-5,-4.775195443764006e-8,-0.00198346427639853,-4.321860830029743e-5,-4.79061064744248e-8,-0.001983254503428399,-4.3363817575379086e-5,-4.805466061004061e-8,-0.001982979128261479,-4.3470011868281195e-5,-4.8166508580713625e-8,-0.0019826583317162807,-4.350982227820718e-5,-4.8213806615591725e-8,-0.0019823245270563744,-4.346642997860529e-5,-4.817876549475533e-8,-0.0019820179079688013,-4.334055689306835e-5,-4.806092503305833e-8,-0.0019817776241884424,-4.315546627647395e-5,-4.788249609663614e-8,-0.001981629243341138,-4.295622121243347e-5,-4.768788218876515e-8,-0.00198157253207564,-4.279964969343516e-5,-4.753376447678903e-8,-0.0019815768110193243,-4.273555993575656e-5,-4.747031671641675e-8,-0.0019815896914275643,-4.2786939561310826e-5,-4.752132323658576e-8,-0.001981556964728314,-4.294065163758243e-5,-4.767470277125102e-8,-0.001981442898715948,-4.315455768342111e-5,-4.788935301045354e-8,-0.001981239994932547,-4.337586664281439e-5,-4.811318043326988e-8,-0.001980965615592369,-4.3559380683812036e-5,-4.830112897720887e-8,-0.001980651104271411,-4.3677669740602314e-5,-4.842535724700544e-8,-0.001980330622165264,-4.37224614567855e-5,-4.8476842035870866e-8,-0.001980033601616317,-4.370082309922366e-5,-4.846185712372692e-8,-0.001979781186553916,-4.362987461869388e-5,-4.8396913373778846e-8,-0.0019795853426471683,-4.35321462310607e-5,-4.8304189751421825e-8,-0.001979449164923876,-4.343211096476673e-5,-4.8208004801788516e-8,-0.001979367516891493,-4.335355049589747e-5,-4.81320762404166e-8,-0.0019793277939190233,-4.331724667908914e-5,-4.8097157631997425e-8,-0.0019793109779484602,-4.333865671006025e-5,-4.811875302716466e-8,-0.00197929334115372,-4.342552864224307e-5,-4.8204839307820454e-8,-0.0019792491585166726,-4.3575840607934675e-5,-4.835390191602501e-8,-0.0019791544719827683,-4.377676979296662e-5,-4.855390559455163e-8,-0.0019789914659854206,-4.400538864917376e-5,-4.878285284376596e-8,-0.001978752618067997,-4.423151487384888e-5,-4.9011380729146134e-8,-0.001978443571552841,-4.442266642057841e-5,-4.920743293376487e-8,-0.0019780837559768326,-4.455044155192306e-5,-4.93424419569069e-8,-0.001977704189216635,-4.459716325964112e-5,-4.9397956177720134e-8,-0.0019773423735596264,-4.4561466986321577e-5,-4.937141684655841e-8,-0.001977034607825835,-4.446140319979623e-5,-4.927959934097138e-8,-0.0019768066566202684,-4.433345001834858e-5,-4.915798984075471e-8,-0.0019766648048065616,-4.422600808807836e-5,-4.905454320636164e-8,-0.001976590642014865,-4.418718038152136e-5,-4.901754862575995e-8,-0.0019765433922679146,-4.424941926591262e-5,-4.908018505043689e-8,-0.0019764714799322142,-4.441704193678446e-5,-4.924782281001948e-8,-0.0019763299672662825,-4.466351711965738e-5,-4.949503779025665e-8,-0.0019760958592488333,-4.494111748014449e-5,-4.9774988214425593e-8,-0.001975773776278894,-4.519821653836421e-5,-5.003649186587927e-8,-0.001975390495162118,-4.539533451112828e-5,-5.0239976118785304e-8,-0.0019749831859174212,-4.551335871876182e-5,-5.0365773681986254e-8,-0.0019745879207018306,-4.555320514137526e-5,-5.041400386812903e-8,-0.0019742323786003236,-4.553037719774458e-5,-5.039938833552872e-8,-0.0019739331147513276,-4.5468406296927464e-5,-5.03448680797245e-8,-0.001973695819172792,-4.539349471122782e-5,-5.0276287499947574e-8,-0.0019735168135767726,-4.533089935511781e-5,-5.0218721062822205e-8,-0.0019733846944876474,-4.5302611923024283e-5,-5.019408501320979e-8,-0.0019732817668098417,-4.532562487218592e-5,-5.021939519624579e-8,-0.0019731854504376916,-4.5410207074392044e-5,-5.0305107394665245e-8,-0.0019730701622044603,-4.5557997564901036e-5,-5.045329830787116e-8,-0.001972910223039121,-4.576026673732602e-5,-5.0655959638034884e-8,-0.001972684031500541,-4.5997198476817514E-05,-5.0894198826261366e-8,-0.001972379090884328,-4.623929153514652e-5,-5.113944114811148e-8,-0.001971996635686588,-4.6451727228890164e-5,-5.135753400078218e-8,-0.0019715539766186102,-4.660160044857538e-5,-5.1515737334611745e-8,-0.0019710828542270687,-4.6666477609024985e-5,-5.159115485388241e-8,-0.001970623298040414,-4.664162896085638e-5,-5.1578016403124346e-8,-0.001970214212090245,-4.65432620191606e-5,-5.1491151948029e-8,-0.001969883242927487,-4.6406229230851866e-5,-5.1364075446337285e-8,-0.001969638857557791,-4.627639846031354e-5,-5.124174919757445e-8,-0.001969467008160238,-4.6199420166105754e-5,-5.116961866658035e-8,-0.0019693336914688433,-4.6208627966382286e-5,-5.1181552597747694e-8,-0.001969193371546135,-4.631535486871011e-5,-5.128996338486575e-8,-0.0019690015104308046,-4.650497733936632e-5,-5.148150977961362e-8,-0.001968727504736385,-4.6740821064600386e-5,-5.172064567922468e-8,-0.001968363316252578,-4.697522012612561e-5,-5.196041523031695e-8,-0.00196792440570595,-4.71636765838571e-5,-5.2156492160433425e-8,-0.001967443051877653,-4.727655930735045e-5,-5.227890703313716e-8,-0.0019669575953292872,-4.730437768201357e-5,-5.2317472555509746e-8,-0.0019665022928231123,-4.7256201646844035e-5,-5.228042290007389e-8,-0.0019661009362071376,-4.715377406937989e-5,-5.218873377314962e-8,-0.0019657647779907092,-4.702464970878444e-5,-5.206938544394163e-8,-0.001965493477560509,-4.689660585321579e-5,-5.194979398067257e-8,-0.001965277377825799,-4.6794002474408414e-5,-5.185413345399812e-8,-0.001965099914950498,-4.67357278760477e-5,-5.1801254050097615e-8,-0.0019649396611614903,-4.673397854378611e-5,-5.180348656861776e-8,-0.0019647721014879383,-4.6793187059781656e-5,-5.186563289514447e-8,-0.0019645716558417217,-4.690878647692816e-5,-5.1983771468773974e-8,-0.0019643145874512157,-4.706604455706395e-5,-5.214404907793817e-8,-0.001963983213520618,-4.7239795327600476e-5,-5.232226406608289e-8,-0.0019635711534783046,-4.7396399391850306e-5,-5.248560550378622e-8,-0.0019630881783210172,-4.749923158841316e-5,-5.2597912011238834e-8,-0.0019625620385825687,-4.7517783547080394e-5,-5.262860028092075e-8,-0.001962034600536159,-4.743810866143697e-5,-5.2563034466538445e-8,-0.001961551663459193,-4.7270187530390955e-5,-5.2409958425237556e-8,-0.0019611493437624405,-4.7047867070956564e-5,-5.2201684891901307e-8,-0.0019608425118726406,-4.682012526184868e-5,-5.198578136085175e-8,-0.001960620223510975,-4.663679110534357e-5,-5.1811253235307756e-8,-0.00196044964691645,-4.65343886842311e-5,-5.1714684022350806e-8,-0.001960286244385532,-4.652696232149927e-5,-5.171103424799668e-8,-0.0019600861987816276,-4.660393314075276e-5,-5.1791161198884274e-8,-0.001959817384072231,-4.673447845393499e-5,-5.192571546679343e-8,-0.0019594663672666632,-4.687647620848606e-5,-5.207366237327364e-8,-0.0019590402013480103,-4.69873681531962e-5,-5.219291849091948e-8,-0.0019585630459199917,-4.7034093216261266e-5,-5.2250281015410575e-8,-0.0019580689434451474,-4.699963912862847e-5,-5.222813797470916e-8,-0.001957593098636109,-4.6884855780413277E-05,-5.212650982795257e-8,-0.0019571642607120374,-4.6705755925512453e-5,-5.196056523166988e-8,-0.001956800031936092,-4.648795164335014e-5,-5.175520387715332e-8,-0.0019565055327110657,-4.626040613743492e-5,-5.1538868280151164e-8,-0.001956274664949442,-4.605019885705157e-5,-5.133830575689433e-8,-0.0019560927255029953,-4.587904903303501e-5,-5.117507505063576e-8,-0.001955939273522816,-4.5761480824035993e-5,-5.106372503209461e-8,-0.00195579066288265,-4.570401845100373e-5,-5.101104052329391e-8,-0.001955622211363207,-4.570476038673568e-5,-5.101566680936453e-8,-0.001955410378080181,-4.575298140689403e-5,-5.1067700552761083e-8,-0.0019551355106216866,-4.5828851541139104e-5,-5.114829612455283e-8,-0.0019547856381423576,-4.590392133545704e-5,-5.122995115968192e-8,-0.001954361197611504,-4.594364275569868e-5,-5.127880370114713e-8,-0.001953879361532978,-4.591336545457481e-5,-5.126044894606853e-8,-0.001953375159198017,-4.5788157126795125e-5,-5.114965466945004e-8,-0.0019528960573228693,-4.556404200060815e-5,-5.094156483201756e-8,-0.0019524888638265663,-4.52650121756844e-5,-5.0658773399677315e-8,-0.0019521829510683111,-4.493969555783338e-5,-5.03482415102804e-8,-0.001951978224705543,-4.4646436883604996e-5,-5.006686001308755e-8,-0.0019518449631389671,-4.4433199757164185e-5,-4.9861909053352045e-8,-0.0019517355290165363,-4.43223575013476e-5,-4.9756164208185047e-8,-0.0019516011374687279,-4.430667685873654e-5,-4.9743737900243164e-8,-0.0019514058087092413,-4.4355660121435736e-5,-4.979589561049797e-8,-0.0019511334488388776,-4.442707829644108e-5,-4.987196748279403e-8,-0.0019507882121724506,-4.4478635729643045e-5,-4.993057447552316e-8,-0.0019503903208332868,-4.447687118184344e-5,-4.9938400968221414e-8,-0.0019499696523796678,-4.440237013879302e-5,-4.9875550740711113e-8,-0.0019495587983859016,-4.425144642123595e-5,-4.973750799595954e-8,-0.0019491867583722598,-4.403481674939329e-5,-4.953408613857425e-8,-0.001948874170726926,-4.3773966244990976e-5,-4.928597425302703e-8,-0.0019486306854478142,-4.3496186610003896e-5,-4.901984567298104e-8,-0.0019484545808215287,-4.322941742227304e-5,-4.876319520040075e-8,-0.0019483342448092852,-4.299784164805793e-5,-4.853991498678627e-8,-0.0019482508367361243,-4.281882578092175e-5,-4.8367249272998265E-08,-0.0019481813406516451,-4.2701332047739913e-5,-4.8254265238426306e-8,-0.001948101431884755,-4.2645465612550796e-5,-4.820147285858156e-8,-0.0019479880023605153,-4.2642663695294445e-5,-4.820104258643957e-8,-0.0019478215084132696,-4.267621983914629e-5,-4.823725928348993e-8,-0.0019475884766814169,-4.2722120831818105e-5,-4.8287176766687065e-8,-0.001947284537476418,-4.2750605376743135e-5,-4.832193112023108e-8,-0.0019469179020162252,-4.272943149953421e-5,-4.830978464674593e-8,-0.001946512130701754,-4.2629987351193034e-5,-4.8222103668448865e-8,-0.0019461057920909896,-4.243645483759409e-5,-4.804249139879382e-8,-0.0019457459924259364,-4.2155871844775294e-5,-4.777688442978733e-8,-0.001945474433914433,-4.182357814670306e-5,-4.745909633402526e-8,-0.0019453099923769398,-4.149726260691403e-5,-4.7145127891331156e-8,-0.0019452376149965635,-4.123797713130104e-5,-4.689469161507122e-8,-0.0019452123501192205,-4.108646923628689e-5,-4.67481344270079e-8,-0.0019451775408544185,-4.104846697515171e-5,-4.671199913017461e-8,-0.001945086305653114,-4.10964890190002e-5,-4.67605464329462e-8,-0.00194491498170104,-4.118420798055841e-5,-4.6849415350206084e-8,-0.0019446649566739968,-4.1263439193324884e-5,-4.693190382853436e-8,-0.0019443564891179575,-4.129638690638195e-5,-4.6970831215838533e-8,-0.001944019871009889,-4.126124977537125e-5,-4.694416268183079e-8,-0.0019436874568431314,-4.115267744009283e-5,-4.6845757576426216e-8,-0.0019433878283089455,-4.097933082895468e-5,-4.668329117893592e-8,-0.0019431420227587768,-4.076018683375537e-5,-4.64748293924473e-8,-0.001942961425049852,-4.052037587530838e-5,-4.624478413720799e-8,-0.001942847090506267,-4.028693694379081e-5,-4.6019666043409794e-8,-0.001942790358890472,-4.008483999357206e-5,-4.5824064376144906e-8,-0.0019427745871054582,-3.9933607897037706e-5,-4.5677259981585586e-8,-0.0019427777616891982,-3.984486508728241e-5,-4.559083113158273e-8,-0.0019427755865315058,-3.982107608163827e-5,-4.556748866183424e-8,-0.0019427445679542873,-3.985544668643988e-5,-4.5601049016244416e-8,-0.0019426648249855798,-3.9932722126588916e-5,-4.5677213148583996e-8,-0.0019425225723483325,-4.003067731752825e-5,-4.577491057145826e-8,-0.00194231231186212,-4.0122223590998573e-5,-4.586815250812175e-8,-0.001942038840723702,-4.017825071467646e-5,-4.592859500544757e-8,-0.0019417189403766162,-4.017172995117602e-5,-4.592943591477745e-8,-0.0019413817963929902,-4.0083668653272205e-5,-4.5851299075569445e-8,-0.0019410663758636533,-3.9910612776753746e-5,-4.5689797651230024e-8,-0.0019408138567119492,-3.9671609827259084e-5,-4.546263553447091e-8,-0.0019406546006421536,-3.941021451110704e-5,-4.52117972507066e-8,-0.001940593319235403,-3.918608994782784e-5,-4.499543804327817e-8,-0.0019406012767298,-3.905498590278002e-5,-4.486832358067523e-8,-0.001940623920404477,-3.904542284858823e-5,-4.4859006867683975e-8,-0.0019406025544464632,-3.914639483061919e-5,-4.495769578301747e-8,-0.001940497520876102,-3.931411884703988e-5,-4.512260307194805e-8,-0.001940299698239888,-3.949212761192832e-5,-4.5299254342045724e-8,-0.0019400271696272137,-3.9631546521015266e-5,-4.5440050246729585e-8,-0.0019397134945464904,-3.970249901148748e-5,-4.55153769119164e-8,-0.0019393955892964717,-3.969592038203203e-5,-4.551557626730208e-8,-0.0019391053846128947,-3.961966037424788e-5,-4.544745102453445e-8,-0.0019388656601532564,-3.9492805816283906e-5,-4.532898685003671e-8,-0.0019386887618311728,-3.9340423201373115e-5,-4.518433473733331e-8,-0.0019385768153243493,-3.9189313030825355e-5,-4.5039624737876385e-8,-0.0019385226755074644,-3.9064588188579694e-5,-4.491950007652083e-8,-0.0019385113945777103,-3.89868350713039e-5,-4.4844233237342264e-8,-0.0019385222021650083,-3.8969763524809525e-5,-4.48273957066787e-8,-0.0019385310528990875,-3.9018436577778017e-5,-4.4874176736247263E-08,-0.001938513684450707,-3.912838732750907e-5,-4.498060099930697e-8,-0.0019384488723173468,-3.928589530112374e-5,-4.51338353807561e-8,-0.001938321483040145,-3.946943857740446e-5,-4.531354277085539e-8,-0.0019381250107120861,-3.965222629013153e-5,-4.5494184057548586e-8,-0.0019378633026130548,-3.9805684583894356e-5,-4.5648196322549064e-8,-0.0019375512317700392,-3.990367219926965e-5,-4.574992768613837e-8,-0.0019372141057675222,-3.9927275177831916e-5,-4.5780279834495175e-8,-0.0019368852732491004,-3.987006414845319e-5,-4.573198875575406e-8,-0.0019366009982821448,-3.9743041431457964e-5,-4.561474398462704e-8,-0.001936392008214114,-3.9577268369624826e-5,-4.545806912288991e-8,-0.0019362725887905185,-3.9421116423997146e-5,-4.530885190760244e-8,-0.0019362308367980837,-3.93293215936308e-5,-4.522070434461868e-8,-0.0019362265448863605,-3.934447117414749e-5,-4.5235796012735197e-8,-0.0019362021567699314,-3.947831204143984e-5,-4.5366449130396565e-8,-0.0019361044622756712,-3.9704499044345756e-5,-4.558787687093552e-8,-0.0019359055467726995,-3.9969038024905696e-5,-4.5848165191453386e-8,-0.001935610918476163,-4.0212436952495197e-5,-4.608967212085328e-8,-0.0019352522767100955,-4.0390248298052926e-5,-4.626892936144965e-8,-0.001934872343550989,-4.04826572347339e-5,-4.636602580928481e-8,-0.0019345110162189247,-4.0492973987788945e-5,-4.6383349171738214e-8,-0.0019341974042064007,-4.0440353373262014e-5,-4.633877244453355e-8,-0.00193394745527741,-4.035183976460438e-5,-4.6258113992407355e-8,-0.0019337648831009675,-4.025623586702828e-5,-4.6169223646382756e-8,-0.001933643297940725,-4.018010690860001e-5,-4.6098017218746215e-8,-0.0019335684391845415,-4.014524819687492e-5,-4.606588963420782e-8,-0.0019335202829593439,-4.016691288990378e-5,-4.608791074426844e-8,-0.001933475196842574,-4.025240778009302e-5,-4.617145854048994e-8,-0.0019334084174011334,-4.039999941699849e-5,-4.6315210257224784e-8,-0.0019332970460884604,-4.0598441631085976e-5,-4.6508730328468455e-8,-0.0019331234337040622,-4.0827636234276635e-5,-4.67330881859333e-8,-0.0019328784570221483,-4.1060782189105156e-5,-4.69628242270068e-8,-0.001932564016748744,-4.126806268614148e-5,-4.716934132885776e-8,-0.0019321940512386387,-4.14215942181376e-5,-4.732552837106896e-8,-0.001931793485630655,-4.1500945427768556e-5,-4.741103326315836e-8,-0.0019313948975945483,-4.149824340283206e-5,-4.741729676503009e-8,-0.0019310330346188518,-4.142188515293687e-5,-4.7351395895912765e-8,-0.0019307375352558293,-4.1297801414388954e-5,-4.723760067108958e-8,-0.0019305246932332914,-4.116693684145903e-5,-4.711522060800814e-8,-0.0019303901558369954,-4.107771840039374e-5,-4.7031429532281454e-8,-0.001930305702440573,-4.1073507327231025e-5,-4.70290097302363e-8,-0.001930223661133537,-4.117772149833033e-5,-4.71316652941459e-8,-0.0019300904151773313,-4.1382707713134946e-5,-4.733292449466249e-8,-0.0019298652063116251,-4.1649473063614e-5,-4.7595646288971316e-8,-0.0019295353407003367,-4.192078311450537e-5,-4.786461098057043e-8,-0.0019291195029987889,-4.214178037375372e-5,-4.8086494979264673e-8,-0.0019286581510240075,-4.227740391874418e-5,-4.822680388860586e-8,-0.0019281977027044515,-4.23190945630982e-5,-4.827648982478889e-8,-0.001927776949794641,-4.228093381957044e-5,-4.8248402386580654e-8,-0.0019274200721663662,-4.219051722902683e-5,-4.8168652620736966e-8,-0.001927135772707496,-4.20798850584923e-5,-4.8067954346620734e-8,-0.0019269198332215003,-4.197912027142969e-5,-4.797542280744417e-8,-0.0019267586318278405,-4.1912777277154615e-5,-4.7915023022203665e-8,-0.0019266323173630316,-4.189820026513446e-5,-4.7903834928403336e-8,-0.0019265173637764677,-4.194471819140883e-5,-4.795122144177823e-8,-0.0019263888011234276,-4.205308385953557e-5,-4.805829680961167e-8,-0.0019262225974915343,-4.221501646557592e-5,-4.821751718558146e-8,-0.0019259985568891125,-4.2413183674726635e-5,-4.8412658231367925e-8,-0.0019257037357562376,-4.262227688328076e-5,-4.861977364178274e-8,-0.0019253358507307667,-4.281183412618318e-5,-4.88097763412886e-8,-0.0019249056464002532,-4.295109158693287e-5,-4.895296804974039e-8,-0.00192443696510101,-4.3015405547280085e-5,-4.9025146674251664e-8,-0.001923963576351099,-4.299286159649854e-5,-4.901401418858055e-8,-0.0019235227456985294,-4.288907110417211e-5,-4.892397352513479e-8,-0.0019231466972611288,-4.2728295806226845e-5,-4.8777489495455956e-8,-0.0019228540148536525,-4.2549887097491935e-5,-4.861195243355361e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json new file mode 100644 index 000000000..771149a59 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":10000,"numberOfSamples":1000,"samples":[1.9197471616856318e-4,7.996600532056201e-6,-1.2597360486632112e-8,1.923979354906972e-4,8.059544161443208e-6,-1.2601754449986743e-8,1.9274745963100852e-4,8.18217092448731e-6,-1.2612185701149497e-8,1.9301410614298842e-4,8.328459694631899e-6,-1.2625220207854334e-8,1.9320200661086356e-4,8.46367290461882e-6,-1.263746635903232e-8,1.933256574311564e-4,8.557979990756902e-6,-1.264596926377846e-8,1.9340729897750835e-4,8.588749871695277e-6,-1.2648467217789009e-8,1.9347454382165973e-4,8.54234886551231e-6,-1.2643575641672086e-8,1.9355780445299317e-4,8.41580428718647e-6,-1.2630935191527253e-8,1.9368703586457032e-4,8.218144650907273e-6,-1.2611321617725655e-8,1.9388759494511673e-4,7.970728457914735e-6,-1.2586673932584885e-8,1.9417557384287807e-4,7.70570255454025e-6,-1.2559972916060515e-8,1.9455353413614596e-4,7.461994170668981e-6,-1.2534909842557773e-8,1.950079268750979e-4,7.278838435440244e-6,-1.2515320800328438e-8,1.9550946566497787e-4,7.1877009230743185e-6,-1.250443183656935e-8,1.9601716991058025e-4,7.204296880679899e-6,-1.2504049076168112e-8,1.964858622143666e-4,7.322751895738212e-6,-1.2513893072518937e-8,1.9687601817327312e-4,7.513719443070609e-6,-1.2531293180978063e-8,1.9716418145619786e-4,7.727807131336245e-6,-1.255143733487227e-8,1.9735148270881055e-4,7.904972006017888e-6,-1.256828984627858e-8,1.9746717430474582e-4,7.989189307001313e-6,-1.2576107854737417e-8,1.9756414464783983e-4,7.945391162788686e-6,-1.2571208909452543e-8,1.9770522673983343e-4,7.772936988045046e-6,-1.255336219063038e-8,1.9794335851555265e-4,7.508737590816236e-6,-1.2526112219574885e-8,1.9830340643788719e-4,7.216310774252375e-6,-1.2495704511570225e-8,1.9877444051722307e-4,6.9643475770128966e-6,-1.2468991956480241e-8,1.9931605492441463e-4,6.804754497374457e-6,-1.2451273955690413e-8,1.99874367496323e-4,6.7599548302468994e-6,-1.2444993679265321e-8,2.0039900027274713e-4,6.82270849799812e-6,-1.2449629419202722e-8,2.0085428305204736e-4,6.964723431631095e-6,-1.2462470630692901e-8,2.012230129828281e-4,7.147810040913146e-6,-1.2479705950981818e-8,2.015048844233702e-4,7.3331078822919305e-6,-1.2497376827881843e-8,2.0171260728942556e-4,7.4869143007848404e-6,-1.2512018298014086e-8,2.0186784837753266e-4,7.583663846056725e-6,-1.2521002574264202e-8,2.0199788115223623e-4,7.6072954724533325e-6,-1.252268798054521e-8,2.0213287762151582e-4,7.552075776678594e-6,-1.25164799413586e-8,2.023032713093168e-4,7.423389313956485e-6,-1.250287524528341e-8,2.025365492604393e-4,7.238354929979809e-6,-1.2483501654253962e-8,2.0285312487000682e-4,7.025543178481034e-6,-1.2461102098633864e-8,2.032615548180566e-4,6.822697696785637e-6,-1.2439358398961576e-8,2.037542292355152e-4,6.671464949679808e-6,-1.2422433892723618e-8,2.043054648544205e-4,6.609017340781519e-6,-1.241418367286807e-8,2.0487402079284614e-4,6.658061470286973e-6,-1.2417141084804209e-8,2.0541091916908847e-4,6.8183286453880834e-6,-1.2431576848491557e-8,2.0587131297464264e-4,7.063148440915905e-6,-1.2455025250029365e-8,2.0622704282800456e-4,7.343452105811302e-6,-1.2482583077772363e-8,2.064756840198449e-4,7.598950788494315e-6,-1.2508013979414962e-8,2.0664282168786132e-4,7.773572333271332e-6,-1.2525372054527937e-8,2.0677643799377142e-4,7.830732911241555e-6,-1.2530654293509096e-8,2.069346139971509e-4,7.763969732585166e-6,-1.252297208136234e-8,2.0716968071363143e-4,7.599507240572051e-6,-1.2504868071919612e-8,2.075133831394106e-4,7.389324388835024e-6,-1.2481637303243253e-8,2.079680047158014e-4,7.196295440443784e-6,-1.2459822238997104e-8,2.0850678511286473e-4,7.076223630712314e-6,-1.2445361216516968e-8,2.09083353603553e-4,7.063208010991012e-6,-1.2442027977015235e-8,2.0964607359171694e-4,7.163288146015455e-6,-1.245068068918884e-8,2.1015153998119444e-4,7.357300167494584e-6,-1.2469466055778998e-8,2.105729208467013e-4,7.6098914082299795e-6,-1.2494715588623496e-8,2.1090206952705673e-4,7.880059152858419e-6,-1.2522068534104855e-8,2.1114705135521922e-4,8.129688725332927e-6,-1.2547426277362978e-8,2.11327623932954e-4,8.328785948689606e-6,-1.2567558359396523e-8,2.1147063027153733e-4,8.45781981905388e-6,-1.2580371063842255e-8,2.116062170779773e-4,8.508318739735103e-6,-1.2584953522756101e-8,2.1176489219544155e-4,8.482821664273282e-6,-1.2581533889456395e-8,2.1197487908306462e-4,8.394780190546323e-6,-1.2571439050506965e-8,2.1225908578335732e-4,8.268336110121104e-6,-1.2557075378613995e-8,2.1263125815806694e-4,8.137282943263268e-6,-1.2541867403695375e-8,2.1309149641396343e-4,8.042041677157666e-6,-1.2530015745409708e-8,2.1362232923984473e-4,8.023413973770414e-6,-1.2525906367685887e-8,2.141877185477536e-4,8.112834049185048e-6,-1.2533095524318957e-8,2.1473774581068903e-4,8.3210914871919e-6,-1.2553050116063849e-8,2.1522011129794914e-4,8.630080126066386e-6,-1.2584142235542132e-8,2.1559591766686086e-4,8.992908412392393e-6,-1.2621531987775295e-8,2.1585357677476676e-4,9.344915051726786e-6,-1.2658284937238318e-8,2.1601416666211921e-4,9.622593263837225e-6,-1.2687427039128446e-8,2.1612534488552648e-4,9.78287653756447e-6,-1.2704087855205246e-8,2.1624652249650514e-4,9.81514982519467e-6,-1.2706860844017089e-8,2.1643148366610137e-4,9.742398905621779e-6,-1.2697982257149455e-8,2.1671439125053968e-4,9.612686075077394e-6,-1.2682472194826136e-8,2.1710262618754617e-4,9.484942883597433e-6,-1.2666663487275253e-8,2.1757724992220657e-4,9.413689438536168e-6,-1.2656583095773519e-8,2.180998881122663e-4,9.436636301726828e-6,-1.2656579120301334e-8,2.1862349866680082e-4,9.567821662343242e-6,-1.2668481926430359e-8,2.1910382506955763e-4,9.797254291937394e-6,-1.2691451235088495e-8,2.1950852180187367e-4,1.0096209406878957e-5,-1.2722473686840802e-8,2.1982203208259762e-4,1.0425814221374339e-5,-1.2757289563240955e-8,2.2004593990235762e-4,1.0746017377170483e-5,-1.279141904043139e-8,2.2019594725035345e-4,1.1022697089033848e-5,-1.2821004358988786e-8,2.2029723714439854e-4,1.1231954282858246e-5,-1.284332207805951e-8,2.2037976133546005e-4,1.1361792925413278e-5,-1.285697045584737e-8,2.204743050715671e-4,1.1412058566647195e-5,-1.2861837839761607e-8,2.2060942735678435e-4,1.139360836886871e-5,-1.2858986747465736e-8,2.2080886496210573e-4,1.1327297175898568e-5,-1.2850546480647196e-8,2.2108883199633075e-4,1.1242779422350658e-5,-1.2839626876663463e-8,2.2145479727229533e-4,1.117656313941561e-5,-1.2830179748791994e-8,2.218978524119614e-4,1.1168241380550244e-5,-1.2826654765479383e-8,2.223918274118358e-4,1.125368271022084e-5,-1.2833271066266854e-8,2.2289360923823234e-4,1.1454892795233024e-5,-1.2852838922138324e-8,2.2334970247736352e-4,1.1768728623398749e-5,-1.288537714386462e-8,2.2371036423718345e-4,1.2159917386077626e-5,-1.2927189221052759e-8,2.2394786325905398e-4,1.2565129918165497e-5,-1.2971236046903973e-8,2.2407012789687003e-4,1.2910776320851335e-5,-1.3009149058543156e-8,2.2412080512659326e-4,1.3138423398335554e-5,-1.3034156281509835e-8,2.2416403518024246e-4,1.3225258584550226e-5,-1.3043432270151873e-8,2.242617193073924e-4,1.31895428771349e-5,-1.303873108036752e-8,2.244545122747121e-4,1.3080514119203897e-5,-1.302529805681681e-8,2.247533541484739e-4,1.2960154137190002e-5,-1.3009918312410972e-8,2.2514149681588606e-4,1.288542370013457e-5,-1.2999015386017868e-8,2.2558304221404233e-4,1.2896057941767493e-5,-1.2997297157850649e-8,2.2603369392279116e-4,1.3009117176953077e-5,-1.3007061790201875e-8,2.264507770082446e-4,1.3219243737167519e-5,-1.3028087674737915e-8,2.2680097981678127e-4,1.3502917845584759e-5,-1.3057987443448877e-8,2.2706512925085745e-4,1.3825112165154655e-5,-1.3092899943215674e-8,2.2723980182644377e-4,1.4146844760246526e-5,-1.312835960370297e-8,2.2733606659061404e-4,1.4432176615984899e-5,-1.316015072754668e-8,2.2737613010144923e-4,1.4653552288310205e-5,-1.3184975709050629e-8,2.2738889061095103e-4,1.4794967275872633e-5,-1.3200846957566375e-8,2.2740539458427508e-4,1.485298630857986e-5,-1.3207200828708261e-8,2.2745491914188558e-4,1.48361020505556e-5,-1.3204810600297655e-8,2.2756189301271438e-4,1.4763163136429955e-5,-1.3195611648549548e-8,2.2774342945347363e-4,1.4661392768367974e-5,-1.318251654013457e-8,2.2800711646406744e-4,1.4564073938727435e-5,-1.3169225227622847e-8,2.2834878588194946e-4,1.4507553748530596e-5,-1.3159958692847593e-8,2.287503519544513e-4,1.4526782542924386e-5,-1.3158983635572145e-8,2.2917872878590236e-4,1.4648464790645952e-5,-1.3169782666393387e-8,2.2958798770619958e-4,1.4881779191418465e-5,-1.3193861131791164e-8,2.2992738155013117e-4,1.5208892056563145e-5,-1.3229487616666131e-8,2.3015629354228862e-4,1.5580637661667213e-5,-1.3271075564489491e-8,2.3026234150305317e-4,1.5924292688085457e-5,-1.331008459441756e-8,2.3027280889853033e-4,1.6165999528322054e-5,-1.3337725131374554e-8,2.3024916735463958e-4,1.6259694822258185e-5,-1.3348408049319169e-8,2.3026415545918469e-4,1.6206222473384533e-5,-1.334196191813377e-8,2.303737207873722e-4,1.6050930760160185e-5,-1.3323325049974134e-8,2.3059936656605264e-4,1.586282236461781e-5,-1.3300188674521488e-8,2.309273397309413e-4,1.5709080036263402e-5,-1.328019137069129e-8,2.3131987266427655e-4,1.5637160807724585e-5,-1.3268952807786755e-8,2.3172978464227394e-4,1.5668110115491378e-5,-1.3269276372437528e-8,2.3211253167230013e-4,1.579838872190477e-5,-1.3281222326984168e-8,2.3243381968418038e-4,1.6005968044664794e-5,-1.3302645758738719e-8,2.326732628860945e-4,1.6257565449448583e-5,-1.3329918467555854e-8,2.3282524674238283e-4,1.651551762610959e-5,-1.3358697686405669e-8,2.3289788056306504e-4,1.674381866600482e-5,-1.3384673664069943e-8,2.3291052997145164e-4,1.6913063406322665e-5,-1.3404220672953126e-8,2.3289032072172143e-4,1.700401500413197e-5,-1.3414875180816028e-8,2.3286803858424185e-4,1.7009620439693355e-5,-1.3415595856352999e-8,2.328739025738482e-4,1.6935397883075238e-5,-1.3406804390503862e-8,2.3293373693946084e-4,1.6798289595216762e-5,-1.3390246403408823e-8,2.3306590757557672e-4,1.6624355851294292e-5,-1.3368746419574027e-8,2.3327907598190837e-4,1.6445739810291813e-5,-1.334591547674048e-8,2.3357067709120252e-4,1.6297106752196225e-5,-1.3325815392409889e-8,2.3392604926032666e-4,1.621152078481189e-5,-1.3312532903507163e-8,2.3431832644508823e-4,1.6215461539974096e-5,-1.3309583151627188e-8,2.3470981296471905e-4,1.6322593851986297e-5,-1.3319074542987742e-8,2.350563586266793e-4,1.6526652827706943e-5,-1.3340700335972787e-8,2.3531635632917516e-4,1.6795606538324656e-5,-1.3370882993466678e-8,2.3546449597391608e-4,1.7071515543042718e-5,-1.3402687449686616e-8,2.3550651143611578e-4,1.7281479296035646e-5,-1.3427194538859864e-8,2.354860662292638e-4,1.736119067195648e-5,-1.3436455207389577e-8,2.354745423562714e-4,1.7282664410910297e-5,-1.3426879119078932e-8,2.3554413988636483e-4,1.7069422488256228e-5,-1.340100684306105e-8,2.3573843359821594e-4,1.678735137254538e-5,-1.3366380140959267e-8,2.3605794175604995e-4,1.6516440745440828e-5,-1.333226482032832e-8,2.364666128436858e-4,1.6321330128306323e-5,-1.3306309980540544e-8,2.369106704107837e-4,1.6235316784717564e-5,-1.329272307712745e-8,2.373372411284009e-4,1.6259841608278305e-5,-1.3292124623119489e-8,2.3770594596677692e-4,1.6372931299750227e-5,-1.3302373390412671e-8,2.37993246071328e-4,1.6539681380754335e-5,-1.3319651568231e-8,2.3819211939730327e-4,1.6721074059761234e-5,-1.3339438365960858e-8,2.3830961030271236e-4,1.6880231173799742e-5,-1.335727306140373e-8,2.3836375681855868e-4,1.6986636247061285e-5,-1.3369334013755532e-8,2.3838035533166568e-4,1.701905501777484e-5,-1.33728675782703e-8,2.383895323005555e-4,1.6967478698558967e-5,-1.3366467989198284e-8,2.38422070556946e-4,1.6834089647268072e-5,-1.3350197399653409e-8,2.3850556570700744e-4,1.6633066038275236e-5,-1.3325545739040455e-8,2.3866072662191243e-4,1.6388979589520194e-5,-1.32952356240298e-8,2.3889832942241776e-4,1.613376763873816e-5,-1.3262897145540119e-8,2.3921726251748584e-4,1.5902571416136462e-5,-1.3232645062727092e-8,2.3960391772207974e-4,1.5728837101970084e-5,-1.3208572512056224e-8,2.4003306897066437e-4,1.5639090729009958e-5,-1.3194159292205045e-8,2.4047031694471747e-4,1.5647770280759835e-5,-1.3191601366742145e-8,2.408763192909911e-4,1.5752441997243236e-5,-1.320109658813078e-8,2.4121332685415593e-4,1.593012198481269e-5,-1.3220221033409507e-8,2.414543324312317e-4,1.6136500786482835e-5,-1.3243695130072412e-8,2.4159379503856346e-4,1.631092961927605e-5,-1.3263965868818756e-8,2.416563493402631e-4,1.6389819439386743e-5,-1.327294423034196e-8,2.416971351728686e-4,1.6327839253466488e-5,-1.3264745691624821e-8,2.4178793488179986e-4,1.611933231700696e-5,-1.323839068662466e-8,2.4199092390150611e-4,1.580664719687679e-5,-1.3198809867441091e-8,2.4233282522947923e-4,1.546635588883893e-5,-1.315515486800695e-8,2.42795161206397e-4,1.5179028049018296e-5,-1.3117189496490207e-8,2.4332560646111933e-4,1.5000197877739287e-5,-1.3091844309906427e-8,2.4386095630435782e-4,1.494730909943296e-5,-1.3081612462610715e-8,2.443476230301867e-4,1.5004081626133282e-5,-1.3084945993000656e-8,2.447521154769013e-4,1.513382584235183e-5,-1.3097713318885834e-8,2.4506227529865664e-4,1.529290726155764e-5,-1.3114741963102495e-8,2.4528352222681816e-4,1.5440210476210758e-5,-1.3130971246521739e-8,2.454337577216843e-4,1.554235342838633e-5,-1.3142157207141877e-8,2.4553879145722154e-4,1.5576059836117717e-5,-1.3145250706278301e-8,2.456286535961741e-4,1.5529165859651303e-5,-1.313858102750454e-8,2.4573440156436537e-4,1.5401067537156352e-5,-1.312192399297445e-8,2.4588495016140917e-4,1.5202739157127264e-5,-1.3096479904399723e-8,2.4610367254958987e-4,1.4956012999883382e-5,-1.3064759078539774e-8,2.4640490122437197e-4,1.4691580503364029e-5,-1.3030343464314749e-8,2.467909300514352e-4,1.444531172938255e-5,-1.299749108332309e-8,2.472503716788958e-4,1.4252978327617077e-5,-1.2970574858005676e-8,2.4775861981413225e-4,1.4143991993889015e-5,-1.2953383025503955e-8,2.482808292580495e-4,1.4135196216785739e-5,-1.2948356913590524e-8,2.4877732410946555e-4,1.4225995061342692e-5,-1.295589775406787e-8,2.492108317402965e-4,1.439598151292376e-5,-1.297390984283666e-8,2.495546496005041e-4,1.4605934664835293e-5,-1.2997753852338253e-8,2.4980058126312243e-4,1.4802976706468473e-5,-1.3020791083393111e-8,2.499648122532091e-4,1.4930522578149964e-5,-1.3035648974352602e-8,2.500889719183307e-4,1.4942625206491755e-5,-1.3036141981384923e-8,2.502332948927713e-4,1.4819937637970325e-5,-1.301942657528763e-8,2.5046053996871437e-4,1.458121681939785e-5,-1.2987549154608683e-8,2.508142835955966e-4,1.4282610184457833e-5,-1.294739872783118e-8,2.513011655620707e-4,1.4000896174505066e-5,-1.2908626141535389e-8,2.5188749805877945e-4,1.3806467779425598e-5,-1.288027326783674e-8,2.5251290861910285e-4,1.3739666020847875e-5,-1.286777210466249e-8,2.531129543478528e-4,1.3801980509944972e-5,-1.2871727408598455e-8,2.5363851477171943e-4,1.3963248403024858e-5,-1.288867324663838e-8,2.5406475771490327e-4,1.4177059797621997e-5,-1.2912910633960826e-8,2.543902585935145e-4,1.4395467555977205e-5,-1.2938351134914312e-8,2.5463093937902145e-4,1.457846819591566e-5,-1.295977796036463e-8,2.54813136638039e-4,1.4698160028561238e-5,-1.2973461632588474e-8,2.54967981581639e-4,1.4739503755468211e-5,-1.2977324579518188e-8,2.551274405562864e-4,1.4699654562096109e-5,-1.2970877284779953e-8,2.5532142348084824e-4,1.4587027197628657e-5,-1.2955077061468487e-8,2.5557518672666003e-4,1.4420380583572636e-5,-1.2932175481281603e-8,2.5590650103593743e-4,1.4227567224019883e-5,-1.2905548350362233e-8,2.5632253366152845e-4,1.4043212860365394e-5,-1.287943866108471e-8,2.568170361656435e-4,1.3904585536052271e-5,-1.285851192094646e-8,2.5736901125437294e-4,1.384542362248093e-5,-1.2847155402873307e-8,2.5794421239109947e-4,1.388843946076878e-5,-1.2848556465930347e-8,2.5850035030317047e-4,1.403829277109537e-5,-1.2863749847957166e-8,2.589956924459188e-4,1.4277505943607658e-5,-1.2890953907157057e-8,2.5939924357184515e-4,1.4567459494134127e-5,-1.2925525776831505e-8,2.596996993209261e-4,1.4855178454192225e-5,-1.2960705554380696e-8,2.5991041763439313e-4,1.5084813281586183e-5,-1.2989066766874659e-8,2.6006856585053105e-4,1.5211326349834672e-5,-1.3004361087109885e-8,2.602278725687631e-4,1.5213126500508729e-5,-1.3003294012197764e-8,2.6044583194747623e-4,1.5100107540589441e-5,-1.2986715711409487e-8,2.607678954750293e-4,1.4913817381501574e-5,-1.2959760458590743e-8,2.6121309337834975e-4,1.471789554231206e-5,-1.2930675613196354e-8,2.617666739936158e-4,1.4580147819581488e-5,-1.2908507750034461e-8,2.623838952785086e-4,1.4551998820653167e-5,-1.2900372867353652e-8,2.6300436611455946e-4,1.465364176688067e-5,-1.2909389577639032e-8,2.6357084573760297e-4,1.4871017273617807e-5,-1.293411963262422e-8,2.640443869669923e-4,1.5164543154651873e-5,-1.2969586613798102e-8,2.64410737769705e-4,1.548385098723045e-5,-1.3009177614068972e-8,2.6467821443590807e-4,1.5781554620764703e-5,-1.304650817055167e-8,2.648707916531887e-4,1.602193715049497e-5,-1.3076659266674922e-8,2.650204220774552e-4,1.6184189121099728e-5,-1.309668323525758e-8,0.00026516090400317593,1.626199634794566e-5,-1.3105583832666333e-8,2.653238016446657e-4,1.626157432670227e-5,-1.3104045518856175e-8,2.6553584872296177e-4,1.619953400725645e-5,-1.3094120073806924e-8,2.6581694404772865e-4,1.6101034287601604e-5,-1.3078966785871532e-8,2.6617803512994057e-4,1.599792643257314e-5,-1.3062635061321467e-8,2.666186743112128e-4,1.5926127147520803e-5,-1.3049789195619948e-8,2.671247177812508e-4,1.5921303481340893e-5,-1.3045222202262528e-8,2.6766743265218185e-4,1.6012313493671894e-5,-1.3053032308258361e-8,2.682058449019524e-4,1.6212993883764293e-5,-1.3075494404843321e-8,2.6869381754198406e-4,1.6514662380160417e-5,-1.3111934310112453e-8,2.690915392547794e-4,1.688312459406304e-5,-1.3158158531168263e-8,2.693782808806831e-4,1.726356887424719e-5,-1.3206971608799833e-8,2.695612194819721e-4,1.7593764377538284e-5,-1.3249899145305468e-8,2.696757969225932e-4,1.7821710710339604e-5,-1.3279603194733367e-8,2.697766262792751e-4,1.7921174890309415e-5,-1.3292069257397106e-8,2.699221571586634e-4,1.7899381168918985e-5,-1.3287759748585721e-8,2.701585140051222e-4,1.7794662659770487e-5,-1.3271427248333769e-8,2.7050743193193414e-4,1.7665574219650932e-5,-1.3250774476406711e-8,2.70961263500747e-4,1.7575149467220522e-5,-1.3234415117476824e-8,2.714859046544607e-4,1.7574737909080554e-5,-1.3229680863399421e-8,2.7203052331977687e-4,1.769170100835547e-5,-1.324083414757745e-8,2.7254117585821244e-4,1.7924189075479015e-5,-1.3268167506586092e-8,2.729741997691505e-4,1.8244128847031433e-5,-1.3308232751599827e-8,2.733054105239225e-4,1.860683481743521e-5,-1.335506308671976e-8,2.7353289682521516e-4,1.896345349760831e-5,-1.3401893664246537E-08,2.73673842637392e-4,1.9271996265799993e-5,-1.3442759869942829e-8,2.737578282615282e-4,1.9504213337008058e-5,-1.3473535503050086e-8,2.738194967147241e-4,1.9647848480923535e-5,-1.3492301040760689e-8,2.7389256852830313e-4,1.9705491001702175e-5,-1.3499197079042159e-8,2.740058704701865e-4,1.9691777654711647e-5,-1.3496023246278775e-8,2.741810262902575e-4,1.9630334079578346e-5,-1.3485807494797274e-8,2.744310131178127e-4,1.9551058078948304e-5,-1.347245824705066e-8,2.747588655876082e-4,1.948759434125028e-5,-1.3460484076347776e-8,2.7515620852405575e-4,1.9474357175009086e-5,-1.3454669802832967e-8,2.7560192124283077e-4,1.954221941430565e-5,-1.3459536895858992e-8,2.760620815654129e-4,1.9712188518429024e-5,-1.3478446229307413e-8,2.764931140341487e-4,1.998747860898367e-5,-1.3512381587099931e-8,2.768499825458415e-4,2.0346447047745347e-5,-1.3558791588758346e-8,2.7709934818909317e-4,2.0740975236487897e-5,-1.3611211001438215e-8,2.7723376707050325e-4,2.1104902391710272e-5,-1.3660381144345922e-8,2.7727951721184677e-4,2.1372977512600064e-5,-1.3696942301516698e-8,2.7729156569639065e-4,2.150364337470411e-5,-1.371469511192883e-8,2.7733590146886866e-4,2.1494482605572527e-5,-1.3712813986364758e-8,2.7746730910535865e-4,2.1382407878183956e-5,-1.3695935779833347e-8,2.777129170467314e-4,2.1229571564400812e-5,-1.3672319050985458e-8,2.7806720281447627e-4,2.1102980963536406e-5,-1.3651166775522754e-8,2.7849753778370835e-4,2.105639774177976e-5,-1.3640203101975407e-8,2.7895571606205595e-4,2.1119312740397868e-5,-1.36440855384151e-8,2.7939082054513723e-4,2.129380639205303e-5,-1.3663777942921247e-8,2.797602560487331e-4,2.155785003144518e-5,-1.3696778046641539e-8,2.8003725820557e-4,2.1872858482824725e-5,-1.3738005196123418e-8,2.802142004107094e-4,2.219328394309847e-5,-1.3781099702460829e-8,2.8030175709160225e-4,2.2476143948988695e-5,-1.381982555271776e-8,2.8032472939190016e-4,2.268859947612066e-5,-1.3849251125167231e-8,2.803159812312574e-4,2.2812371570131774e-5,-1.386647093141835e-8,2.803101183459111e-4,2.2844791364820303e-5,-1.387080182051307e-8,2.8033821087907477e-4,2.2797146171930603e-5,-1.3863552789390385e-8,2.8042420340903043e-4,2.2691458727297488e-5,-1.3847561307081722e-8,2.8058292600206835e-4,2.2556824850266946e-5,-1.3826691726476474e-8,2.8081916298474405e-4,2.2425953925453616e-5,-1.3805403994071266e-8,2.8112721903985157e-4,2.2331951025042324e-5,-1.3788383591687185e-8,2.8149066344888076e-4,2.2304951530066296e-5,-1.3780134438421739e-8,2.8188238547674434e-4,2.2367947560152177e-5,-1.3784386060479597e-8,2.822658721965546e-4,2.2531246589409013e-5,-1.380320444288144e-8,2.8259936195518845e-4,2.278597036190299e-5,-1.38358812243578e-8,2.828444569445365e-4,2.3098866508920356e-5,-1.3877999412904191e-8,2.82979105364523e-4,2.341279564136978e-5,-1.3921401485040897e-8,2.8301103748081484e-4,2.3657751771110462e-5,-1.3955814384309308e-8,2.8298340770177647e-4,2.37731328817469e-5,-1.3972176264270338e-8,2.8296484207766603e-4,2.3733029889624773e-5,-1.3966353021702428e-8,2.830249037760498e-4,2.3559828091315065e-5,-1.3941085550751729e-8,2.832073180871705e-4,2.331632681640619e-5,-1.3904875495648811e-8,2.8351576155621184e-4,2.308077284889224e-5,-1.3868553787955135e-8,2.8391769853862014e-4,2.2919547763551398e-5,-1.384157822144315e-8,2.8436019434869387e-4,2.287017449835268e-5,-1.3829694080640847e-8,2.847876469600927e-4,2.2937814065198065e-5,-1.3834319348602738e-8,2.8515485284144533e-4,2.3101223801610495e-5,-1.3853146215244e-8,2.85433793371567e-4,2.332264590269975e-5,-1.3881308460203237e-8,2.856153143340677e-4,2.3557815709961442e-5,-1.3912679492992264e-8,2.857074693224336e-4,2.3764383273789843e-5,-1.3941085356826256e-8,2.8573186713930584e-4,2.390828726211465e-5,-1.3961325891680267e-8,2.857188696819171e-4,2.39679560926046e-5,-1.3969911360196299e-8,2.8570231452007376e-4,2.3936257400670855e-5,-1.3965439487283113e-8,2.857144182944666e-4,2.382028199606721e-5,-1.394860030825303e-8,2.8578147687363805e-4,2.3639260037550102e-5,-1.3921869960500952e-8,2.8592084201393037e-4,2.342114432945347e-5,-1.3889012634409748e-8,2.8613931356911184e-4,2.3198585473751224e-5,-1.3854531958188717e-8,2.864327166543551e-4,2.3004883616430312e-5,-1.3823159470958645e-8,2.867863494363946e-4,2.2870125806672398e-5,-1.3799380523453057e-8,2.8717609388622425e-4,2.2817452101605205e-5,-1.378693317459741e-8,2.8757018441867614e-4,2.2859200077940465e-5,-1.378819562942302e-8,2.8793216925267906e-4,2.2992674449651844e-5,-1.3803413833910311e-8,2.8822619040308e-4,2.3196048522297792e-5,-1.3829891060439484e-8,2.8842548394305867e-4,2.3426397377221117e-5,-1.386152544402009e-8,2.885234854253173e-4,2.362330839766609e-5,-1.3889296541301406e-8,2.885438986592403e-4,2.3721722641275258e-5,-1.3903263102308176e-8,2.885424114376653e-4,2.3674183477913317e-5,-1.3896003696172715e-8,2.885929118709168e-4,2.3474313471584593e-5,-1.3866152311867126e-8,2.8875979009874574e-4,2.316637368653028e-5,-1.3819777847051538e-8,2.890704395776163e-4,2.283074746827438e-5,-1.3768264842029872e-8,2.895049885128943e-4,2.2551813469805068e-5,-1.3723757443181604e-8,2.900082669629545e-4,2.2387357101861408e-5,-1.3694865214262721e-8,2.9051374253208817e-4,2.235489612947439e-5,-1.36846867449533e-8,2.909649021340734e-4,2.2436103025525936e-5,-1.3691271872221072e-8,2.9132650488845045e-4,2.2590621258034392e-5,-1.3709370985045623e-8,2.9158637691061105e-4,2.2770429252790272e-5,-1.3732329579321405e-8,2.917517969683068e-4,2.2930448877807925e-5,-1.3753577653967498e-8,2.9184401188628566e-4,2.303489006955536e-5,-1.3767628184703838e-8,2.918927671925494e-4,2.3060445344766418e-5,-1.3770682898745772e-8,2.919314014291164e-4,2.299749274559909e-5,-1.3760937852867262e-8,2.9199247847638013e-4,2.2849926468667013e-5,-1.3738629102849638e-8,2.921039092862608e-4,2.2633834466347406e-5,-1.370584503210565e-8,2.92285666948327e-4,2.2375057960451114e-5,-1.3666144851793793e-8,2.925473850976914e-4,2.2105676829510934e-5,-1.3624037426111123e-8,2.9288716836903646e-4,2.185972836237773e-5,-1.3584395520403735e-8,2.93291734444017e-4,2.1668667070356885e-5,-1.355186975838904e-8,2.937378250344291e-4,2.1556973898122735e-5,-1.3530315087571015e-8,2.941947974500097e-4,2.1538210800188506e-5,-1.3522214675142932e-8,2.9462828965697827e-4,2.161178421989162e-5,-1.3528102494893166e-8,2.950049836659742e-4,2.176062612107966e-5,-1.3546028771640402e-8,2.9529877895283186e-4,2.1950341406551685e-5,-1.3571220417731373e-8,2.95498425036084e-4,2.2131299035723218e-5,-1.3596256341667975e-8,2.956153580837951e-4,2.22458472466366e-5,-1.361215968484941e-8,2.9568840667843486e-4,2.224225736534045e-5,-1.3610641296881544e-8,2.957800686939963e-4,2.2093977823393965e-5,-1.3587181550703598e-8,2.9595999348482825e-4,2.181678085271199e-5,-1.3543713834794471e-8,2.9627849161117025e-4,2.1471574018712877e-5,-1.3489060449153417e-8,2.9674319322068856e-4,2.1145294614123724e-5,-1.343609251827474e-8,2.9731425733706953e-4,2.09172161107864e-5,-1.3396774613550436e-8,2.9792187015270356e-4,2.082994835974585e-5,-1.3377886272534408e-8,2.984942122206886e-4,2.0880413673918396e-5,-1.3379586077781747e-8,2.989796522647844e-4,2.1030612573302552e-5,-1.3396809617098212e-8,2.993552928593664e-4,2.1226817991504233e-5,-1.3421929704689853e-8,2.9962420917402626e-4,2.141632957853267e-5,-1.3447160232838052e-8,2.998076048709863e-4,2.155742331817498e-5,-1.3466074608348756e-8,2.999366508951447e-4,2.162322261659597e-5,-1.3474303011588651e-8,3.0004605342871587e-4,2.160194083120627e-5,-1.3469704117491014e-8,3.001694758979349e-4,2.1495566477339442e-5,-1.3452259987949643e-8,3.003361714790454e-4,2.131801033581268e-5,-1.34238210598226e-8,3.00568250260884e-4,2.109291783629834e-5,-1.3387751649168571e-8,3.0087835205456256e-4,2.0850953582104578e-5,-1.3348491679679161e-8,3.012678716217725e-4,2.062624812724149e-5,-1.3311032550608233e-8,3.0172620046434173e-4,2.045193589878053e-5,-1.3280308792564854e-8,3.0223147737772435e-4,2.0355180263715515e-5,-1.3260534503027968e-8,3.027530905670879e-4,2.03523675046193e-5,-1.3254528922034592e-8,3.0325589739471393e-4,2.0445234386801097e-5,-1.326309141038214e-8,3.0370584098537583e-4,2.061873537337817e-5,-1.3284535301274032e-8,3.0407635475241393e-4,2.084132023298335e-5,-1.3314523112149486e-8,3.043548220950259e-4,2.106807932262644e-5,-1.334635951759101e-8,3.0454817712909907e-4,2.1247259597402573e-5,-1.337190847136496e-8,3.0468606841306306e-4,2.1330590886984806e-5,-1.338324729373875e-8,3.048190993710789e-4,2.1286814653441683e-5,-1.337492842426596e-8,3.0500947292813136e-4,2.1115405047104646e-5,-1.3346293728374482e-8,3.0531334240780847e-4,2.0854333144826318e-5,-1.330280661991811e-8,3.0575933228971686e-4,2.057446009779354e-5,-1.3255246543245369e-8,3.063336126043048e-4,2.035786012500672e-5,-1.3216390908366007e-8,3.0698195437051866e-4,2.0267933422058764e-5,-1.3196404367399528e-8,3.076297906607286e-4,2.0326989761099988e-5,-1.3199302777510673e-8,3.0820929098613465e-4,2.051301152374637e-5,-1.3222284594361782e-8,3.086790667643346e-4,2.0774250916837253e-5,-1.3257795354211066e-8,3.0902959140693113e-4,2.1050411845724763e-5,-1.3296685507824527e-8,3.0927719251130383e-4,2.1289582840270976e-5,-1.3330825505471842e-8,3.0945357058928e-4,2.145674944124067e-5,-1.33545105445674e-8,3.095961699201846e-4,2.153531284308726e-5,-1.3364818313685573e-8,3.0974146708267824e-4,2.152488868920895e-5,-1.3361368767381744e-8,3.0992097203242546e-4,2.1438017800151246e-5,-1.3345858365688848e-8,3.1015887202686857e-4,2.1297039816659653e-5,-1.3321563576426557e-8,3.1047036154725256e-4,2.1131275414374563e-5,-1.3292871575557973e-8,3.1086020309551777e-4,2.0974113615666323e-5,-1.3264820449894448e-8,0.00031132159469673937,2.0859458460963544e-5,-1.3242589706398116e-8,3.118358892299663e-4,2.08172018406579e-5,-1.3230876462418405e-8,3.123739556176808e-4,2.0867961619606607e-5,-1.3233145002595053e-8,3.1289980273878425e-4,2.1017999708571363e-5,-1.3250835029635484e-8,3.133765322075633e-4,2.1255710514705023e-5,-1.3282711917019378e-8,3.1377389441996034e-4,2.1551170659549085e-5,-1.332461455740315e-8,3.1407592571305155e-4,2.1859774047728385e-5,-1.3369828669154369e-8,3.1428671803730246e-4,2.212997996013805e-5,-1.3410177045357869e-8,3.14432506824964e-4,2.2314131680739853e-5,-1.3437721540724634e-8,3.1455876362506394e-4,2.2380463429616143e-5,-1.3446783871977407e-8,3.1472170043465105e-4,2.2323641852085563e-5,-1.3435813847370838e-8,3.1497476110345693e-4,2.217044112756572e-5,-1.3408494160108003e-8,3.153526234579617e-4,2.1976994096751363e-5,-1.337345682081832e-8,3.1585774444304715e-4,2.1815602165497123e-5,-1.3342262745022897e-8,3.1645594131746787e-4,2.1753230588716412e-5,-1.332596859353312e-8,3.170852855440563e-4,2.1829339986754936e-5,-1.3331486306519194e-8,3.1767609064744373e-4,2.204329336795916e-5,-1.335938578246327e-8,3.1817307131503856e-4,2.2357437282565592e-5,-1.3404182809004631e-8,3.185496252597622e-4,2.2713150253212193e-5,-1.3456770258106373e-8,3.188097318692035e-4,2.305068096859074e-5,-1.350756753269062e-8,3.1898017607109944e-4,2.3324049974074164e-5,-1.3548973772346303e-8,3.1909924742474843e-4,2.3507561072834535e-5,-1.3576520061523686e-8,3.192068961684871e-4,2.359541331330978e-5,-1.3588911123510958e-8,3.1933831976116504e-4,2.3597783076813762e-5,-1.358746123971623e-8,3.1952065880791903e-4,2.3536160980096142e-5,-1.3575362908229614e-8,3.19771579080949e-4,2.3439311888661372e-5,-1.3557025218592592e-8,3.200985885643759e-4,2.3340011786561243e-5,-1.3537543756519094e-8,3.2049846336595103e-4,2.3272031254568778e-5,-1.3522245412330314e-8,3.2095680118528186e-4,2.3266656684082567e-5,-1.3516194501257755e-8,3.214482960990994e-4,2.3348264536126095e-5,-1.3523546070473995e-8,3.219387035953197e-4,2.352905494166589e-5,-1.3546710031825095e-8,3.2238945173181284e-4,2.3803973484541637e-5,-1.3585453917150966e-8,3.2276517284783867e-4,2.414782235178386e-5,-1.3636274656717374e-8,3.2304300787259485e-4,2.4516917684648338e-5,-1.369247871891746e-8,3.2322093588827404e-4,2.4856694790520883e-5,-1.374527463790208e-8,3.2332167991338466e-4,2.5114409674883268e-5,-1.3785796286515207e-8,3.233897052011945e-4,2.525357146846435e-5,-1.3807516666649438e-8,3.2348120921461983e-4,2.5265406266578555e-5,-1.3808261001094046e-8,3.2364963922767976e-4,2.5173284625345988e-5,-1.3791120413398418e-8,3.2393091613960477e-4,2.5028248522414485e-5,-1.3763924450587002e-8,3.243327110819311e-4,2.489645279708152e-5,-1.3737355303383892e-8,3.2483114194985555e-4,2.4841661933600615e-5,-1.3722151158493351e-8,3.253764637315329e-4,2.4907661106982096e-5,-1.3726145974744325e-8,3.2590667505080653e-4,2.5106163518978407e-5,-1.3752074004335538e-8,3.263648743232834e-4,2.5414592771149465e-5,-1.3796943801410434e-8,3.267142644419916e-4,2.5784562274762126e-5,-1.3853232512079237e-8,3.2694560655390203e-4,2.6157379978950974e-5,-1.3911368702242648e-8,3.2707552207375036e-4,2.64802029079398e-5,-1.3962446344578679e-8,3.2713809920406574e-4,2.6717260951139974e-5,-1.4000191368277358e-8,3.2717430412455535e-4,2.685395991046812e-5,-1.4021757723105099e-8,3.272230250199076e-4,2.6895095773412356e-5,-1.4027518182301305e-8,3.273154328546555e-4,2.6859988741622723e-5,-1.4020303863838187e-8,3.27472427946398e-4,2.6777052624059808e-5,-1.4004517409235265e-8,3.2770404819257206e-4,2.667917357422416e-5,-1.3985374637999391e-8,3.2800968800751206e-4,2.6600135622202087e-5,-1.396833964272351e-8,3.283784197698704e-4,2.65715822213231e-5,-1.3958675851617953e-8,3.2878934377281676e-4,2.661975357857392e-5,-1.3960963251046796e-8,3.2921252136175277e-4,2.6761429111553565e-5,-1.397844020247438e-8,3.2961152402647006e-4,2.699907821559547e-5,-1.4012129808211943e-8,3.29948753915105e-4,2.7316263206531952e-5,-1.4059921868231094e-8,3.3019401009220286e-4,2.7675690266479282e-5,-1.4116060189696021e-8,3.303348983515174e-4,2.8023052525526852e-5,-1.417164175112956e-8,3.303851664433875e-4,2.8298564869411255e-5,-1.4216501609523993e-8,3.303858174704456e-4,2.845434313568276e-5,-1.4242167403395092e-8,3.303959416014983e-4,2.847131185450436e-5,-1.424477933710207e-8,3.304753311960585e-4,2.8367701265917583e-5,-1.4226626167552076e-8,3.3066574499633107e-4,2.8194592527739406e-5,-1.4195561924860455e-8,3.3097847333721307e-4,2.8020371048836455e-5,-1.4162617817120332e-8,3.3139229136450047e-4,2.7910733393913838e-5,-1.4138840614943994e-8,3.318610576038761e-4,2.7911418740544573e-5,-1.4132437583694847e-8,3.32327158660616e-4,2.8038257552148033e-5,-1.4146944421067845e-8,3.3273630146328536e-4,2.8275956095937735e-5,-1.4180721826563061e-8,3.3304982043797914e-4,2.8584590280257757e-5,-1.4227750741366778e-8,3.332518772704476e-4,2.8911198090895583e-5,-1.4279413650778645e-8,3.3335044303321585e-4,2.9203016014443303e-5,-1.4326720121414798e-8,3.3337264600420897e-4,2.9418844303718548e-5,-1.4362340255230543e-8,3.333565716870711e-4,2.953593528593423e-5,-1.438192328577023e-8,3.333423100299153e-4,2.955156240787833e-5,-1.4384490907506754e-8,3.333646227280616e-4,2.9480245799448394e-5,-1.4372041376989542e-8,3.3344841055820307e-4,2.9348582447400512e-5,-1.434870041016347e-8,3.3360692534264394e-4,2.9189588504290738e-5,-1.4319770705147037e-8,3.338418939605668e-4,2.903780052882538e-5,-1.429092220642219e-8,3.341445478842576e-4,2.8925502238673784e-5,-1.4267598983776846e-8,3.3449686902692956e-4,2.8879716510260736e-5,-1.4254567192028621e-8,3.34872893630502e-4,2.8919305085978387e-5,-1.4255452413328958e-8,3.3524046998712566e-4,2.905162633610626e-5,-1.4272125495191893e-8,3.3556438983591447e-4,2.926868042533546e-5,-1.4303906971243346e-8,3.358120415655983e-4,2.9543700862908523e-5,-1.4346787820191492e-8,3.359620973953016e-4,2.9830621885824582e-5,-1.4393165436296007e-8,3.3601476557872876e-4,3.0069847654572008e-5,-1.4432765793470925e-8,3.3599911919222826e-4,3.020259394749606e-5,-1.4455159337401374e-8,3.3597110300592314e-4,3.019141034190686e-5,-1.4453385307179457e-8,3.35998526488256e-4,3.00380349093956e-5,-1.4427081304578546e-8,3.3613729850181856e-4,2.9787423935761663e-5,-1.4383225010504009e-8,3.3641053011372276e-4,2.9513350056419022e-5,-1.4333808242876725e-8,3.368014006431015e-4,2.9292449987817804e-5,-1.4291641185111276e-8,3.3726185452744576e-4,2.9179980574871958e-5,-1.4266408426820145e-8,3.377303740186198e-4,2.9197037823386694e-5,-1.4262469364142498e-8,3.3814986945613203e-4,2.9330730888683372e-5,-1.427863436126763e-8,3.3848010158714516e-4,2.9543115154846164e-5,-1.4309336642064932e-8,3.38703273259897e-4,2.9783603206552747e-5,-1.4346471770152776e-8,3.388238715787891e-4,3.0001002317025725e-5,-1.4381352417660723e-8,3.388645512106792e-4,3.015313826145052e-5,-1.4406430035573901e-8,3.388596992978482e-4,3.0213214891368453e-5,-1.441656210821404e-8,3.388480896868653e-4,3.0172579589435465e-5,-1.4409671063513486e-8,3.3886595201610624e-4,3.0040010984943417e-5,-1.4386745775937594e-8,3.389415616773652e-4,2.983826465857231e-5,-1.435129353309962e-8,3.3909197448769624e-4,2.9599024245251944e-5,-1.4308467177209232e-8,3.393219732788287e-4,2.935743690567301e-5,-1.4264115645959442e-8,3.396247872186201e-4,2.9147198599977515e-5,-1.4223960274082391e-8,3.3998384944594585e-4,2.8996680396776103e-5,-1.419298232822601e-8,3.4037497978542483e-4,2.8925994092867653e-5,-1.4174970094013113e-8,3.4076876816749476e-4,2.8944576739562157e-5,-1.4172101451461987e-8,3.4113333363185183e-4,2.9048903134653624e-5,-1.4184452613283302e-8,3.4143806830900614e-4,2.9220259014859665e-5,-1.4209426481068721e-8,3.416592313159679e-4,2.942335957385573e-5,-1.4241300071719586e-8,3.4178768959361645e-4,2.9607879560626548e-5,-1.4271351102299056e-8,3.418373350901813e-4,2.971582378240197e-5,-1.4289150939638257e-8,3.4184996084014505e-4,2.9696727082961728e-5,-1.4285356690807156e-8,3.418902633601011e-4,2.952827110856552e-5,-1.425546855762454e-8,3.420270707706498e-4,2.9232745927517535e-5,-1.4202771104298555e-8,3.4230607491550166e-4,2.8876464783064984e-5,-1.4138250014917669e-8,3.4272891522547444e-4,2.8547270391760742e-5,-1.4076783978948293e-8,3.432521860159393e-4,2.8320914566404532e-5,-1.4031512125887654e-8,3.4380643577638096e-4,2.8235399587572567e-5,-1.4009518407800017e-8,3.4432227839255926e-4,2.8284922903914585e-5,-1.4010681330376893e-8,3.4474989405392577e-4,2.8430706232186193e-5,-1.4029244458375631e-8,3.450667007921132e-4,2.8618389049455682e-5,-1.405649452639386e-8,3.4527564357985356e-4,2.879355388007985e-5,-1.4083250375345564e-8,3.453987654829163e-4,2.8912049121438285e-5,-1.4101646097180218e-8,3.45469585268103e-4,2.894525815503267e-5,-1.4106194425210915e-8,3.4552604642457406e-4,2.8881730901118583e-5,-1.4094281874326899e-8,3.4560455047242703e-4,2.8726431535401165e-5,-1.4066215283106948e-8,3.457351529958053e-4,2.84982490045257e-5,-1.4024875511406945e-8,3.459380666037131e-4,2.8226171437823553e-5,-1.397505116091795e-8,3.462216637718113e-4,2.794459723979762e-5,-1.3922581182171141e-8,3.4658209986642525e-4,2.7688322235778394e-5,-1.3873458405560078e-8,3.4700449561030034e-4,2.748781270498401e-5,-1.3833031101689292e-8,3.474653304988083e-4,2.7365322208472776e-5,-1.3805386540778746e-8,3.479355692431911e-4,2.7332084280176915e-5,-1.3792904236856692e-8,3.483841987506852e-4,2.738651159118678e-5,-1.3795909548384521e-8,3.48782076015223e-4,2.7513276120753096e-5,-1.3812375954175199e-8,3.4910623716508923e-4,2.768327317176719e-5,-1.3837706596348546e-8,3.493450066374296e-4,2.785497909947437e-5,-1.3864767635512509e-8,3.4950380428156456e-4,2.7978582520697178e-5,-1.388452258098352e-8,3.496101796449104e-4,2.800470747307293e-5,-1.3887648902006153e-8,3.4971470295323565e-4,2.7898579782032046e-5,-1.3867255990212172e-8,3.498829672228969e-4,2.7657103890016168e-5,-1.3822133605209417e-8,3.5017591926531956e-4,2.7320571946380355e-5,-1.375894735333673e-8,3.5062370726759935e-4,2.6967510508779796e-5,-1.3691352108885298e-8,3.512076836751679e-4,2.668829415482261e-5,-1.3635359280006073e-8,3.518645594543916e-4,2.6549168451208284e-5,-1.3603044848274974e-8,3.525120860381075e-4,2.6567976763254272e-5,-1.359825241655584e-8,3.530801471377777e-4,2.671440633051558e-5,-1.3616465703002289e-8,3.5353016455276417e-4,2.692942938290615e-5,-1.3647971513994665e-8,3.538577002956241e-4,2.7148881753446637e-5,-1.3681795510084634e-8,3.540840771794443e-4,2.7320151877578618e-5,-1.3708567939664234e-8,3.542449634789241e-4,2.740961864282937e-5,-1.372191839944505e-8,3.543805993034693e-4,2.7403434203548572e-5,-1.3718799059739425e-8,3.545289983413223e-4,2.730498627401825e-5,-1.3699233288566783e-8,3.547216624954893e-4,2.7131303055044464e-5,-1.366581028187246e-8,3.5498087228620824e-4,2.690928730173587e-5,-1.3623050830270064e-8,3.5531797095255416e-4,2.6671814970846222e-5,-1.3576675347345746e-8,3.557325408326314e-4,2.6453572621222732e-5,-1.3532810617513158e-8,3.562126332903402e-4,2.628664184351773e-5,-1.3497191162436568e-8,3.5673629776197384e-4,2.619610347960688e-5,-1.3474416118620455e-8,3.5727449108908464e-4,2.6196233744873596e-5,-1.3467331827186608e-8,3.577951171362706e-4,2.628789151186731e-5,-1.3476583429700484e-8,3.582677504977914e-4,2.6457485603445368e-5,-1.3500355686777276e-8,3.5866856083210973e-4,2.667773719840518e-5,-1.3534335889835297e-8,3.58984983565573e-4,2.691031135287597e-5,-1.3571967951946276e-8,3.592197788921785e-4,2.7110381522096033e-5,-1.3605104433755066e-8,3.5939395836391525e-4,2.723347733466807e-5,-1.3625211838772243e-8,3.5954731475294516e-4,2.7245005640118063e-5,-1.3625233122092842e-8,3.5973439287282456e-4,2.7131819567977223e-5,-1.3601941703224978e-8,3.600135954575884e-4,2.6912915110491107e-5,-1.355814290805302e-8,3.60429073295564e-4,2.664325075241653e-5,-1.3503526756102676e-8,3.60990418920039e-4,2.64034696792908e-5,-1.3452835801158697e-8,3.6166146352094975e-4,2.6273775898966717e-5,-1.3421074493356377e-8,3.623688032765512e-4,2.630225709809558e-5,-1.3417659611230746e-8,3.6302889191182174e-4,2.6485921915614753e-5,-1.3442821004948017e-8,3.635787000997205e-4,2.6775836053406942e-5,-1.3488337737398986e-8,3.6399313254539714e-4,2.7100845265447172e-5,-1.3541675775041822e-8,3.6428387361378935e-4,2.739386253867796e-5,-1.3590675845310196e-8,3.644865074909421e-4,2.7608376878739416e-5,-1.3626575377250361e-8,3.6464576613601913e-4,2.7723005292816395e-5,-1.364495582745406e-8,3.6480461555127395e-4,2.77383404850266e-5,-1.3645341642181487e-8,3.6499818740537e-4,2.76710053685678e-5,-1.3630271402829668e-8,3.6525122259954397e-4,2.754788664050142e-5,-1.360432815008887e-8,3.6557730310316335e-4,2.7401492817728636e-5,-1.357329062063108e-8,3.659787553882458e-4,2.72661665993695e-5,-1.3543394730429565e-8,3.6644689750384423e-4,2.7174555417879994e-5,-1.352065178127914e-8,3.669628241382334e-4,2.7153908983776746e-5,-1.3510179030065285e-8,3.674992016602788e-4,2.7222166045638933e-5,-1.3515526234079713e-8,3.68023539090487e-4,2.73843521332642e-5,-1.3538046023492725e-8,3.685030041719975e-4,2.7630228716345682e-5,-1.357642629855776e-8,3.689102801263324e-4,2.793415315314418e-5,-1.362653567100988e-8,3.692294796808659e-4,2.825781083626839e-5,-1.368173224189925e-8,3.694608523244996e-4,2.8555916027981706e-5,-1.3733727733496358e-8,3.6962307871807993e-4,2.8784249160797294e-5,-1.3773978177336275e-8,3.697522993353289e-4,2.8908903102290343e-5,-1.3795451641862713e-8,3.6989731803456434e-4,2.8915385836666257e-5,-1.3794521381371401e-8,3.701106527110447e-4,2.8815745762559872e-5,-1.3772576532502819e-8,3.704358354453675e-4,2.8651045702873957e-5,-1.3736749819577554e-8,3.7089307273516974e-4,2.8486040803253674e-5,-1.369908367506479e-8,3.714679608227572e-4,2.8394043726751596e-5,-1.3673710854101186e-8,3.7210991213757036e-4,2.843405066778115e-5,-1.3672440108961631e-8,3.7274498490128303e-4,2.8628554579815174e-5,-1.3700371291720451e-8,3.733002400374539e-4,2.8953884905579092e-5,-1.375383654447321e-8,3.737283127161456e-4,2.934966667201483e-5,-1.3821992572909582e-8,3.74019840199307e-4,2.9742318752869464e-5,-1.3891158565206442e-8,3.741996113300426e-4,3.0069483883304552e-5,-1.3949424588473654e-8,3.743121974552402e-4,3.0294519375517385e-5,-1.3989456769194334e-8,3.7440629029591007e-4,3.0408720943630665e-5,-1.4009040575435913e-8,3.745237271452724e-4,3.042555417326966e-5,-1.4010137999684472e-8,3.7469432233555345e-4,3.0372415163084517e-5,-1.399745265579277e-8,3.7493481407911624e-4,3.0283392801809747e-5,-1.3977121315336288e-8,3.7524974009757705e-4,3.0194074963467853e-5,-1.3955729687359219e-8,3.7563276072333213e-4,3.013796030115297e-5,-1.3939607838651707e-8,3.7606789752317216e-4,3.014358067755694e-5,-1.3934276197156442e-8,3.765308715945007e-4,3.0231593508346177e-5,-1.394391327502817e-8,3.769911447976581e-4,3.0411553226949515e-5,-1.3970762499094855e-8,3.774153866080384e-4,3.067874957136116e-5,-1.4014505540693484e-8,3.7777276900158004e-4,3.101223988098575e-5,-1.4071785355970582e-8,3.780416881621932e-4,3.137561973052833e-5,-1.4136185048005719e-8,3.782164562994042e-4,3.1721813892388676e-5,-1.4198962795870701e-8,3.7831168136817563e-4,3.2002044707192615e-5,-1.4250643304019193e-8,3.7836207867593326e-4,3.2177378338159576e-5,-1.4283213281041604e-8,3.784166470845473e-4,3.222972568760059e-5,-1.4292338201740607e-8,3.7852801727424653e-4,3.216882097511682e-5,-1.4278915068388991e-8,3.7873941235653586e-4,3.2032643792585974e-5,-1.4249424676350356e-8,3.7907250187723524e-4,3.1880386191779476e-5,-1.4214835935159804e-8,3.79519524138801e-4,3.1778859253417956e-5,-1.4188143257430748e-8,3.800425591675725e-4,3.1785057707013906e-5,-1.4180988668013144e-8,3.8058155833472476e-4,3.192941802742809e-5,-1.420023019579586e-8,3.810702007095623e-4,3.220552703223705e-5,-1.424564138430845e-8,3.814550608339061e-4,3.257118968284767e-5,-1.4309824655516338e-8,3.8171088610531375e-4,3.2961679962287354e-5,-1.4380610992098202e-8,3.818457030615165e-4,3.3310117296884816e-5,-1.444499449135639e-8,3.8189440825249304e-4,3.356630414228731e-5,-1.4492871054400158e-8,3.8190518456659355e-4,3.3706990005561714e-5,-1.4519156100786139e-8,3.8192545511999565e-4,3.3735939536645784e-5,-1.4523932873023375e-8,0.00038199221663132935,3.36770574780388e-5,-1.4511243699103591e-8,3.8212794959808886e-4,3.356532850735636e-5,-1.44874232515469e-8,3.8234068283503006e-4,3.3438964212912564e-5,-1.445961632653455e-8,3.826260695837975e-4,3.333397058547786e-5,-1.4434725361888601e-8,3.8296985541619517e-4,3.328078604508245e-5,-1.4418750654133305e-8,3.8335002714571484e-4,3.3302014460873146e-5,-1.441635218389012e-8,3.837387391287661e-4,3.341034772114456e-5,-1.4430449062814374e-8,3.841046361875188e-4,3.3606223967194986e-5,-1.4461732780659432e-8,3.844163948873668e-4,3.3875453388444264e-5,-1.4508108409027856e-8,3.846481026697538e-4,3.4187920503036706e-5,-1.4564283527851176e-8,3.8478626988731516e-4,3.449926174844078e-5,-1.4621926226168586e-8,3.8483677916458626e-4,3.475742957885683e-5,-1.4670832194101453e-8,3.8482854708888275e-4,3.491455839733871e-5,-1.4701226812136726e-8,3.8481043392111564e-4,3.4941584971485933e-5,-1.4706695752866484e-8,3.8484010168733006e-4,3.484013825587449e-5,-1.468664371357169e-8,3.8496755452253895e-4,3.464574228765504e-5,-1.4647105606473425e-8,3.852194666708856e-4,3.4419635873436564e-5,-1.4599384135326243e-8,3.8559051584685747e-4,3.4231768838361375e-5,-1.4556966089518085e-8,3.8604470174984556e-4,3.4141257634779535e-5,-1.4531832281699271e-8,3.8652549596401316e-4,3.4180796113487486e-5,-1.4531324827219252e-8,3.8697101818921484e-4,3.434917801281351e-5,-1.4556386882613265e-8,3.8732970092140794e-4,3.461318978913546e-5,-1.4601550234372074e-8,3.875723463890504e-4,3.491766325493246e-5,-1.4656605918405712e-8,3.8769763284319733e-4,3.5200524303996284e-5,-1.4709446876581307e-8,3.8772997811639925e-4,3.540841369879993e-5,-1.474921260370285e-8,3.877109937265693e-4,3.550840337825738e-5,-1.476877406003373e-8,3.8768778169230556e-4,3.5492866851361164e-5,-1.476588786722735e-8,3.877020190388187e-4,3.5377264492801586e-5,-1.4742916279944912e-8,3.8778272420060984e-4,3.519311331097323e-5,-1.4705540490345767e-8,3.8794354267678884e-4,3.497940485725285e-5,-1.4661111679795208e-8,3.88183621815305e-4,3.4775082366194856e-5,-1.4617171125102894e-8,3.8849040862005046e-4,3.4613774624727124e-5,-1.4580401934381552e-8,3.888429039948693e-4,3.452069902788002e-5,-1.4556015515333534e-8,3.8921458948142855e-4,3.45109299576898e-5,-1.4547412738969088e-8,3.8957597873680495e-4,3.4588150401447517e-5,-1.455591709815627e-8,3.8989728274007056e-4,3.474336635341969e-5,-1.4580440622513306e-8,3.9015195396758514e-4,3.495368121352255e-5,-1.4617090694513199e-8,3.9032177735499337e-4,3.5182101792084835e-5,-1.4658947568485471e-8,3.9040340540185385e-4,3.5380277120652675e-5,-1.4696467881042956e-8,3.904146306630224e-4,3.549631641986946e-5,-1.4719008759851094e-8,3.903967427080332e-4,3.548836893154207e-5,-1.4717615696219794e-8,3.9040860609677376e-4,3.534095270614115e-5,-1.468840935651692e-8,3.905107938530057e-4,3.507658782265891e-5,-1.4635025503981219e-8,3.9074435561294203e-4,3.4754301960084933e-5,-1.4568447883446436e-8,3.911142837911334e-4,3.445237060488615e-5,-1.4503769375063293e-8,3.915867065914306e-4,3.4242280516138355e-5,-1.4455241755727162e-8,3.9210098851033884e-4,3.416630020580259e-5,-1.4431921054112957e-8,3.9258978921974933e-4,3.42277415173893e-5,-1.4435583191215956e-8,3.92997891960016e-4,3.43949587943332e-5,-1.446115512515839e-8,3.9329397995157005e-4,3.4614214184008465e-5,-1.4498870429778417e-8,3.934741228294369e-4,3.482529654460197e-5,-1.4537116508416524e-8,3.935585439745504e-4,3.497539271070658e-5,-1.456516089516988e-8,3.935841244453831e-4,3.502882428209544e-5,-1.4575248316469991e-8,3.935950084123615e-4,3.497180118274077e-5,-1.4563798423281858e-8,3.9363335905265697e-4,3.4812268755863353e-5,-1.453161028551469e-8,3.9373196934599825e-4,3.457567997812712e-5,-1.4483168817569692e-8,3.9390985158140024e-4,3.4298244121273065e-5,-1.442534785326174e-8,3.941710735045695e-4,3.401951202215226e-5,-1.4365908871774454e-8,3.945062887672119e-4,3.377587091359689e-5,-1.431215883946541e-8,3.948959058166358e-4,3.3595868201667825e-5,-1.4269990715109863e-8,3.9531378332501087e-4,3.34975018387911e-5,-1.4243345355196083e-8,3.95730734118531e-4,3.348697905005418e-5,-1.4233969882786683e-8,3.9611767962868447e-4,3.3558268125866676e-5,-1.424129255710753e-8,3.964487102877791e-4,3.3693000306870486e-5,-1.4262290516375536e-8,3.9670457560232427e-4,3.386072530925677e-5,-1.429136009013897e-8,3.96877142245794e-4,3.402026478479182e-5,-1.4320404114221407e-8,3.96974675963087e-4,3.412377428846557e-5,-1.433955280018419e-8,3.970263033690597e-4,3.412534347773198e-5,-1.4338948576893425e-8,3.970821930901893e-4,3.3994646882125137E-05,-1.4311677516442803e-8,3.972051269460485e-4,3.373258641401384e-5,-1.4257126814339408e-8,3.9745171697619185e-4,3.3380857036472385e-5,-1.4183048350455968e-8,3.9784887548471545e-4,3.3015677815108926e-5,-1.4104376616313594e-8,3.983784208606685e-4,3.272315572911758e-5,-1.4038376360391643e-8,3.989810077392129e-4,3.2567028222608205e-5,-1.3998275239165507e-8,3.995784033932848e-4,3.256650678484111e-5,-1.3988808427858587e-8,4.001011450991133e-4,3.269479846358877e-5,-1.4005705396679457e-8,4.0050766556828905e-4,3.2894820685850835e-5,-1.4038489709830286e-8,4.0078956955466436e-4,3.310064022337845e-5,-1.407446327281956e-8,4.0096621978551547e-4,3.325505206119748e-5,-1.4102093289319672e-8,4.010745404447036e-4,3.3319672146671645e-5,-1.4113112716440347e-8,4.0115849496576356e-4,3.3278246778498246e-5,-1.4103416685224999e-8,4.0126036221118603e-4,3.3135359116825646e-5,-1.4073080729645138e-8,4.014143685471576e-4,3.291243375807629e-5,-1.4025773677232568e-8,4.0164265136440953e-4,3.264223661405534e-5,-1.3967743564302586e-8,4.019534608500238e-4,3.236272447032621e-5,-1.390655605379301e-8,4.023414451750576e-4,3.211102729665613e-5,-1.3849797898036786e-8,4.0278971307670453e-4,3.191824538468825e-5,-1.3803953237611915e-8,4.032731686233601e-4,3.18056089510052e-5,-1.3773602883065726e-8,4.037624347508987e-4,3.178228329803735e-5,-1.376099772735688e-8,4.0422776760387706e-4,3.184466222614487e-5,-1.3765925422093045e-8,4.0464271102872616e-4,3.1976751617668895e-5,-1.3785736315062855e-8,4.049875078121135e-4,3.2151373504918296e-5,-1.3815449042655647e-8,4.0525242347578963e-4,3.2332175019236376e-5,-1.3847964962952615e-8,4.0544119121250843e-4,3.2476862419152035e-5,-1.3874561986942388e-8,4.05574305140568e-4,3.254270756363941e-5,-1.3885979640020726e-8,4.0569066632959827e-4,3.249544686392352e-5,-1.3874369128060043e-8,4.0584474135106326e-4,3.232141920233108e-5,-1.3836033795223245e-8,4.060959597117366e-4,3.203981711665866e-5,-1.3774198864523915e-8,4.0648944202457856e-4,3.170776499799547e-5,-1.3700205970255192e-8,4.070339380710125e-4,3.14094387988266e-5,-1.3631320248747382e-8,4.076901544592694e-4,3.122757281338524e-5,-1.3584880382566213e-8,4.083808447150242e-4,3.1209812559531696e-5,-1.357136683146307e-8,4.090200221087287e-4,3.1349995147856346e-5,-1.3590446140588086e-8,4.0954443123187515e-4,3.1595103343674464e-5,-1.3632168430282483e-8,4.099303837683666e-4,3.187049880203468e-5,-1.3681872256090355e-8,4.101918277261662e-4,3.210671035463291e-5,-1.3725481876963942e-8,4.103671176469619e-4,3.225608889167277e-5,-1.3752883934071199e-8,4.1050398879131114e-4,3.2297665182539014e-5,-1.3759059927073484e-8,4.106480562172606e-4,3.223425978678608e-5,-1.3743742869076615e-8,4.108359107796797e-4,3.208637535174844e-5,-1.371041895829871e-8,4.1109180515318115e-4,3.188566709771694e-5,-1.366514943234374e-8,4.1142658815250326e-4,3.166901056491771e-5,-1.3615380156688916e-8,4.118380537063425e-4,3.147326545835003e-5,-1.3568790580043022e-8,4.123123872285276e-4,3.1330693322293186e-5,-1.3532246924646132e-8,4.1282660990819755e-4,3.12650855735152e-5,-1.3510937230181173e-8,4.1335194038861985e-4,3.12888232285669e-5,-1.3507759179538763e-8,0.00041385782791872523,3.14012402587035e-5,-1.3523006860697865e-8,4.143162097043059e-4,3.158851800056764e-5,-1.3554343762603742e-8,4.147055736697891e-4,3.182504325345812e-5,-1.3596998591413753e-8,4.150145461827425e-4,3.207610038134238e-5,-1.3644157727172217e-8,4.1524476893370035e-4,3.230183268389632e-5,-1.368759809958973e-8,4.1541284364256985e-4,3.2462481911037404e-5,-1.3718658948585584e-8,4.1555091775811174e-4,3.252513293742975e-5,-1.3729683805619488e-8,4.1570478512098117e-4,3.247211793603926e-5,-1.3715984522395111e-8,4.159276624200048e-4,3.2310116826504505e-5,-1.3678055124053507e-8,4.1626805702971783e-4,3.2076790804311726e-5,-1.3623245822332607e-8,4.167524617387805e-4,3.1839355536118996e-5,-1.3565610929515464e-8,4.173687071937988e-4,3.1679433606488e-5,-1.352271054257597e-8,4.180608672886187e-4,3.166480571656874e-5,-1.3509541984888306e-8,4.187443288713044e-4,3.182021371545731e-5,-1.353221487846181e-8,4.193369682737023e-4,3.211533218369021e-5,-1.3585218588590153e-8,4.1978931227977685e-4,3.247863499575709e-5,-1.3654153761093438e-8,4.2009704087509506e-4,3.282777137229304e-5,-1.3721983897773367e-8,4.202929904690921e-4,3.309778073197644e-5,-1.377490014751364e-8,4.2042859167406205e-4,3.325494568929429e-5,-1.3805267082687721e-8,4.2055631802961126e-4,3.329635406528146e-5,-1.3811685967344244e-8,4.207187075410816e-4,3.324181570289828e-5,-1.3797529601781316e-8,4.209438553744661e-4,3.312430221578908e-5,-1.376914696052265e-8,4.212450114021482e-4,3.29820290127452e-5,-1.3734307231289387e-8,4.2162200611876914e-4,3.285276439909095e-5,-1.3700985550654417e-8,4.220632466273461e-4,3.276974175556986e-5,-1.3676406563612262e-8,4.225479806825113e-4,3.275847057478871e-5,-1.3666274054639809e-8,4.2304896717371235e-4,3.283409778896946e-5,-1.367416405793029e-8,4.23535782825238e-4,3.299935006506142e-5,-1.3701088573561653e-8,4.2397886988324306e-4,3.3243478824476034e-5,-1.374527589841765e-8,4.2435406637511227e-4,3.354279531934157e-5,-1.3802236076034794e-8,4.246470102477941e-4,3.3863147891369016e-5,-1.3865160722445153e-8,4.248566904943515e-4,3.4164346787876715e-5,-1.392568757735148e-8,4.249974307882397e-4,3.4406249583597606e-5,-1.3975043403899051e-8,4.2509869023787635e-4,3.455590008719841e-5,-1.4005525482322397e-8,4.252022353167417e-4,3.4594902384809774e-5,-1.4012200930378964e-8,4.2535628227180944e-4,3.452606191561703e-5,-1.3994602436161527e-8,4.2560627053101944e-4,3.437774195887487e-5,-1.3957997791203556e-8,4.259826655671023e-4,3.42033544248866e-5,-1.3913552496987838e-8,4.2648812302165757e-4,3.407288572264099e-5,-1.3876612700332113e-8,4.2708920644435e-4,3.405490071168592e-5,-1.3862734860228985e-8,4.2771960286236156e-4,3.419246160656786e-5,-1.388224482934693e-8,4.2829858276369735e-4,3.4483331127508464e-5,-1.39356667397566e-8,4.287591800201008e-4,3.487711132752329e-5,-1.401286696741407e-8,4.2907189221625086e-4,3.529375343362766e-5,-1.4096933853643936e-8,4.2925111181198606e-4,3.5653822332007866e-5,-1.4170691079982273e-8,4.293431436633978e-4,3.590386737424457e-5,-1.422220020649449e-8,4.294057069943159e-4,3.602629900089709e-5,-1.4246968028465437e-8,4.2949028887441184e-4,3.603476243390713e-5,-1.4247107509361492e-8,4.296326637699373e-4,3.596258975350247e-5,-1.422906114426545e-8,4.298507830160587e-4,3.585122067538412e-5,-1.4201284229219959e-8,4.30146821619837e-4,3.574178595192985e-5,-1.4172502101488057e-8,4.305105528179752e-4,3.567004669500458e-5,-1.4150577469349977e-8,4.309225690144668e-4,3.566353502127585e-5,-1.4141794633184363e-8,4.3135708115020477e-4,3.5739694174433475e-5,-1.4150368611616155e-8,4.3178466029482305e-4,3.5904363120716595e-5,-1.4178070671429282e-8,4.321754230960808e-4,3.615055457113382e-5,-1.4223940930016515e-8,4.3250300470527235e-4,3.645801938170371e-5,-1.4284152898436964e-8,4.327492141671965e-4,3.6794455062480333e-5,-1.4352180111878265e-8,4.329086361301494e-4,3.711914037777242e-5,-1.441944170755436e-8,4.329919362284678e-4,3.738922622588004e-5,-1.4476525706585657e-8,4.3302648954548616e-4,3.756805202918171e-5,-1.4514923144055002e-8,4.330533235187689e-4,3.763391300210855e-5,-1.4528989528198715e-8,4.331202330514279e-4,3.7587099620632155e-5,-1.4517675625248134e-8,4.33271953934643e-4,3.7453099149815584e-5,-1.4485529520827118e-8,4.335391170749413e-4,3.728040086638992e-5,-1.4442540122095772e-8,4.3392835970523195e-4,3.713209968463934e-5,-1.4402528788363379e-8,4.344165500758634e-4,3.707165347756771e-5,-1.4380064897967802e-8,4.3495230062594813e-4,3.714511840207765e-5,-1.438637838413005e-8,4.3546692736868404e-4,3.7364868229131036e-5,-1.4425430174624792e-8,4.3589372030768185e-4,3.7701867510223756e-5,-1.4491842764582526e-8,4.361893091351183e-4,3.8092289800798756e-5,-1.4572120153155367e-8,4.3634757852403625e-4,3.8457985039809324e-5,-1.464910812938325e-8,4.363991796352178e-4,3.8732147174392066e-5,-1.4707727290935779e-8,4.3639763452364114e-4,3.887826414780291e-5,-1.4739264857224268e-8,4.364001722647106e-4,3.889525252824335e-5,-1.474263969373984e-8,4.364523016838084e-4,3.881021476354108e-5,-1.4722977299200551e-8,4.365804771433114e-4,3.866556340462599e-5,-1.468896039574687e-8,4.367919722871205e-4,3.8506926413442914e-5,-1.4650297668231218e-8,4.370786669043261e-4,3.837491837753309e-5,-1.4615939698352876e-8,4.3742177567648004e-4,3.8300841711920557e-5,-1.4593067497875068e-8,4.377959505900983e-4,3.830495380523125e-5,-1.4586611379527836e-8,4.3817246361271725e-4,3.839583492266989e-5,-1.4599028669935255e-8,4.385219262133009e-4,3.856996202628723e-5,-1.4630154871815322e-8,4.388172474094774e-4,3.881133934777927e-5,-1.4677068982739351e-8,4.3903736753377824e-4,3.909172438758446e-5,-1.4734059655137036e-8,4.39171785700476e-4,3.9372492362129876e-5,-1.4792916472356046e-8,4.392250878709724e-4,3.9609287825052854e-5,-1.48438349018792e-8,4.392197841418492e-4,3.9760010138741e-5,-1.4877110525214467e-8,4.391952872335693e-4,3.9795215836805176e-5,-1.488546114998337e-8,4.392015028478242e-4,3.9708130526000964e-5,-1.4866368508482124e-8,4.392874740657098e-4,3.9520303226885334e-5,-1.4823547388579492e-8,4.3948798661524503e-4,3.927964654825381e-5,-1.4766788554084115e-8,4.3981252877586845e-4,3.905019462021475e-5,-1.4709963203151688e-8,4.4024057367895406e-4,3.889606668889953e-5,-1.4667637174980205e-8,4.407251019923313e-4,3.886426054421898e-5,-1.465121537204819e-8,4.4120371732378895e-4,3.897130268161372e-5,-1.4665702138134793e-8,4.4161456567829924e-4,3.919776198075389e-5,-1.4708062006301217e-8,4.41912806692747e-4,3.949272215218089e-5,-1.4767828043097781e-8,4.4208268554817335e-4,3.978761101197567e-5,-1.4829982902345276e-8,4.421409699762284e-4,4.001548958358082e-5,-1.4879284623686034e-8,4.421303237867017e-4,4.012928886396741e-5,-1.4904509091663218e-8,4.4210531633417574e-4,4.011254468451751e-5,-1.4901064005645254e-8,4.421168168722615e-4,3.997960143327207e-5,-1.487124044964496e-8,4.422004451507053e-4,3.9767094807069e-5,-1.4822485598136494e-8,4.4237183113721076e-4,3.9521669753076244e-5,-1.4764783122292205e-8,4.426279491665109e-4,3.928881642907068e-5,-1.4708204056709783e-8,4.429518454747351e-4,3.91054375635812e-5,-1.4661205248835662e-8,4.433181067887932e-4,3.899632725145631e-5,-1.4629752573422735e-8,4.436975223791884e-4,3.8973357147412855e-5,-1.4617048273316101e-8,4.4406056405082626e-4,3.903590468819179e-5,-1.4623561502714967e-8,4.4438008650014344e-4,3.91715076460056e-5,-1.4647122090138582e-8,4.446339768961001e-4,3.935646602380224e-5,-1.4682981479505956e-8,4.448083963396037e-4,3.955684978592832e-5,-1.4723927049201846e-8,4.4490177030358924e-4,3.973098128986008e-5,-1.4760714274992125e-8,4.4492878725670593e-4,3.9834759260079374e-5,-1.4783179135015065e-8,4.4492247041699046e-4,3.983068781073579e-5,-1.4782276848273152e-8,4.4493150521741963e-4,3.9699639584905065e-5,-1.4752832416571488e-8,4.4501065268293756e-4,3.945150399211428e-5,-1.4696101798232349e-8,4.452051621230111e-4,3.912878232058367e-5,-1.4620773630123115e-8,4.4553450758414917e-4,3.879851843897706e-5,-1.4541367888067542e-8,4.459831270119789e-4,3.853341144760553e-5,-1.4474199279655483e-8,4.4650334228181737e-4,3.83892962100095e-5,-1.4432428557074345e-8,4.470294963479162e-4,3.838843851633301e-5,-1.4422210720894016e-8,4.474971022466872e-4,3.8514644123259556e-5,-1.4441268698217063e-8,4.4785977033990704e-4,3.872025545847296e-5,-1.4480033042680275e-8,4.480991934681107e-4,3.8940889744311725e-5,-1.4524608121518424e-8,4.48226794522255e-4,3.911257774162124e-5,-1.4560498684405491e-8,4.482780588321118e-4,3.918669829382871e-5,-1.457607889926847e-8,4.4830195410043057e-4,3.913954024565277e-5,-1.4565007306195704e-8,4.483485381147606e-4,3.8974954360315984e-5,-1.4527125710483059e-8,4.484579671969714e-4,3.872030337677846e-5,-1.4467791545713628e-8,4.4865345969394e-4,3.841765061935548e-5,-1.4396030200337683e-8,4.489392960449042e-4,3.811327623924533e-5,-1.4322193270630174e-8,4.4930320331229367e-4,3.7848511485026534e-5,-1.4255821744391228e-8,4.497213338957374e-4,3.765366154702086e-5,-1.4204163537672068e-8,4.5016388935185643e-4,3.7545304813913294e-5,-1.4171463776027224e-8,4.5060002058532647e-4,3.752619081927828e-5,-1.415888242467012e-8,4.5100150770761724e-4,3.758652962581753e-5,-1.4164756572674547e-8,4.5134546376081325e-4,3.7705677615177184e-5,-1.4184941935731645e-8,4.5161665818218725e-4,3.785383751499737e-5,-1.4213111016563784e-8,4.518100423627256e-4,3.7994051971822126e-5,-1.4241074681839239e-8,4.5193371514478737e-4,3.8085369823532785e-5,-1.4259379743515523e-8,4.5201173652522936e-4,3.808847352382779e-5,-1.4258553184670598e-8,4.5208492668352473e-4,3.797471001575803e-5,-1.4231251193107125e-8,4.522066971808626e-4,3.77376787180318e-5,-1.4175095272905575e-8,4.5243135935849304e-4,3.7403252871591634e-5,-1.4095172040726785e-8,4.5279582657719995e-4,3.7030874343293475e-5,-1.4004497095542028e-8,4.5330172975054594e-4,3.6700112219684904e-5,-1.3921072538958264e-8,4.539088056613535e-4,3.648437266876659e-5,-1.3861984223206524e-8,4.545461169138244e-4,3.642372882885231e-5,-1.3837216692123784e-8,4.5513658700048617e-4,3.651138922317251e-5,-1.3846408129259836e-8,4.556220323441288e-4,3.66997016694241e-5,-1.3879890283223254e-8,4.559775185965056e-4,3.691969978430192e-5,-1.3922769386842146e-8,4.562122242740801e-4,3.710309854736905e-5,-1.3959682858114987e-8,4.5636084388552884e-4,3.7198647914217366e-5,-1.397848887776796e-8,4.564712492187718e-4,3.7180239677984124e-5,-1.3972296643507357e-8,4.5659257815677795e-4,3.7047788247771294e-5,-1.393998633269255e-8,4.5676585962010804e-4,3.682314037864092e-5,-1.3885605024489333e-8,4.57017899354544e-4,3.65430985371316e-5,-1.3816998895031419e-8,4.573585513254664e-4,3.625115082842816e-5,-1.3743986972765052e-8,4.5778120823241134e-4,3.5989329685002914e-5,-1.367641965358165e-8,4.582659310878471e-4,3.579152347703973e-5,-1.3622494409608255e-8,4.587842300484169e-4,3.567911872805785e-5,-1.3587614246913989e-8,4.5930436312677383e-4,3.565921697959824e-5,-1.357389940117045e-8,4.5979615512869434e-4,3.572510183973148e-5,-1.358027877351196e-8,4.6023475988321376e-4,3.585820060660067e-5,-1.360294284347647e-8,4.6060335832733674e-4,3.6030722091809204e-5,-1.3635911870639802e-8,4.60895139188042e-4,3.6208528902177354e-5,-1.3671590860836431e-8,4.6111494690815154e-4,3.635429757026502e-5,-1.3701352069797334e-8,4.612807925415506e-4,3.6431488839050474e-5,-1.3716346193401218e-8,4.614247987373746e-4,3.6410027954227026e-5,-1.3708835750741679e-8,4.6159205914533125e-4,3.62743262879114e-5,-1.3674231350069227e-8,4.6183498055835207e-4,3.6032773953528615e-5,-1.3613573886357206e-8,4.6220096368370197e-4,3.572504366766511e-5,-1.3535497406452498e-8,4.627142460022724e-4,3.5420516607509466e-5,-1.345601089443765e-8,4.633589570077975e-4,3.520158587923049e-5,-1.339462640412944e-8,4.640754895656249e-4,3.5133781640715624e-5,-1.336732887285183e-8,4.6477797333421513e-4,3.523710146370312e-5,-1.337976511947418e-8,4.653863109243403e-4,3.5476761963375476e-5,-1.3424888861955243e-8,4.658546211216421e-4,3.577942568893229e-5,-1.3486488367131025e-8,4.661813358342299e-4,3.6063351831523195e-5,-1.3545965988268696e-8,4.664004611033069e-4,3.626473218857858e-5,-1.3588320959816941e-8,4.665639958352068e-4,3.6350407228647365e-5,-1.360513303776225e-8,4.6672541684679767e-4,3.631790496298228e-5,-1.3594788762173888e-8,4.6692865416770923e-4,3.618845377576418e-5,-1.3561187150119446e-8,4.672026368560225e-4,3.5997925297469526e-5,-1.3511940939945172e-8,4.6755982834898976e-4,3.5788386314177225e-5,-1.3456575605413407e-8,4.67997179408685e-4,3.5601078032541834e-5,-1.3404875559273569e-8,4.684985923176623e-4,3.5470812389852354e-5,-1.3365423942936016e-8,4.6903849108559164e-4,3.542180047068913e-5,-1.3344439413006975e-8,4.695861596821659e-4,3.546508508953634e-5,-1.3345040436527447e-8,4.7011041192164126e-4,3.559772500847251e-5,-1.3367006714160734e-8,4.705840542170844e-4,3.580375537789526e-5,-1.3407016011675667e-8,4.7098759753275935e-4,3.6056678871433476e-5,-1.3459233547938723e-8,4.7131190949890184e-4,3.632298007574168e-5,-1.3516078049011552e-8,4.71559790690804e-4,3.6566204934469644e-5,-1.3569053058169974e-8,4.717465735754899e-4,3.6751383530202755E-05,-1.3609647477316639e-8,4.718998124130554e-4,3.684981905601746e-5,-1.3630405599256602e-8,4.7205781579265745e-4,3.684452081682734e-5,-1.3626310087204059e-8,4.7226605766033966e-4,3.673637051258554e-5,-1.3596506069195115e-8,4.725699924678846e-4,3.654994787786842e-5,-1.3546025765795578e-8,4.730033180778431e-4,3.6336041112372295e-5,-1.3486667699711668e-8,4.7357300089362716e-4,3.616604739808837e-5,-1.3435763281303896e-8,4.74246972161772e-4,3.611397064008277e-5,-1.3411769997669891e-8,4.7495468950762464e-4,3.6228226616847743e-5,-1.342728801093758e-8,4.756075265498231e-4,3.6506596772157785e-5,-1.3482806498111208e-8,4.761324789643435e-4,3.68921215314555e-5,-1.3565521966204982e-8,4.76500027685036e-4,3.729587464380291e-5,-1.3654665288008376e-8,4.7672987690625123e-4,3.763293743393644e-5,-1.3730017018062513e-8,4.768749775046739e-4,3.7850136442992455e-5,-1.3778472109271951e-8,4.7699763159739244e-4,3.7934345672070496e-5,-1.379606231317544e-8,4.7715085690734735e-4,3.790502947009683e-5,-1.3786386207802384e-8,4.7736947329048336e-4,3.780076670277705e-5,-1.3757715344810296e-8,4.7766881383462853e-4,3.7666865402247315e-5,-1.3720316041747617e-8,4.780473761409701e-4,3.7546640888132714e-5,-1.368447808114495e-8,4.7849069816615584e-4,3.747611264933771e-5,-1.3659170952435136e-8,4.789752246660876e-4,3.748091718942398e-5,-1.3651117518452754e-8,4.7947201707088224e-4,3.757448492495361e-5,-1.3664168314897276e-8,4.799505077512641e-4,3.775714321569889e-5,-1.3698971973992664e-8,4.803824002412184e-4,3.801622409426613e-5,-1.3752971782310215e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json new file mode 100644 index 000000000..765f637b6 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":11000,"numberOfSamples":1000,"samples":[4.807455898115237e-4,3.832746570992544e-5,-1.3820749559112586e-8,4.810276804026849e-4,3.8657939483712816e-5,-1.3894708855793208e-8,4.8122851144731977e-4,3.897037866353488e-5,-1.3966029941865335e-8,4.8136122169643126e-4,3.922846753666153e-5,-1.4025813189547578e-8,4.8145158055841605e-4,3.94025277918899e-5,-1.406634943105251e-8,4.815355041583503e-4,3.9474978459853574e-5,-1.408245537787128e-8,4.8165478219839815e-4,3.9445013590506954e-5,-1.4072791780691197e-8,4.8185089652025466e-4,3.933196966399209e-5,-1.4041008026015441e-8,4.8215671196515623e-4,3.9176311765079673e-5,-1.3996340784096513e-8,4.825864763543066e-4,3.9036228711670225e-5,-1.3953028790341758e-8,4.8312623641597524e-4,3.897747212754661e-5,-1.3927849119148707e-8,4.837291888970253e-4,3.9055456474574426e-5,-1.3935510387344442e-8,4.843221611312391e-4,3.929313827217236e-5,-1.3982860442730526e-8,4.848265247112546e-4,3.966499254457847e-5,-1.4064616609993489e-8,4.8518733416020557e-4,4.009980545620315e-5,-1.4163881241573302e-8,4.853950931909375e-4,4.050581912340954e-5,-1.425830655995102e-8,4.854866151667581e-4,4.080574058134305e-5,-1.4328715323638037e-8,4.85525688196407e-4,4.096178493042818e-5,-1.4365239392562207e-8,4.855772001398806e-4,4.0979862819758134e-5,-1.4368394366073396e-8,4.856885804979649e-4,4.089713112766541e-5,-1.4346234987150922e-8,4.8588326125485515e-4,4.076435074414623e-5,-1.4310345248447114e-8,4.8616296080937287e-4,4.063161994000118e-5,-1.4272594843316575e-8,4.865136173432042e-4,4.054008405187016e-5,-1.4243172616081504e-8,4.8691142789272524e-4,4.051847158520118e-5,-1.4229620182921136e-8,4.8732762934217247e-4,4.0582299326150006e-5,-1.4236433463507242e-8,4.8773212709177916e-4,4.07341134689005e-5,-1.4264941962397524e-8,4.880965967034294e-4,4.096407600183585e-5,-1.4313353517338398e-8,4.88397573177068e-4,4.1250927252936434e-5,-1.4376959666340294e-8,4.886197129387349e-4,4.1563798332032156e-5,-1.4448564853229553e-8,4.887589435265532e-4,4.1865488207741994e-5,-1.451924254306548e-8,4.888247307700336e-4,4.211748974787741e-5,-1.4579476522027053e-8,4.888405100767859e-4,4.228641181812268e-5,-1.462064263346648e-8,4.888415356313333e-4,4.235083017747227e-5,-1.463666315611464e-8,4.888699069788087e-4,4.2307124574301165e-5,-1.462554429370797e-8,4.889672434197426e-4,4.2172729191325406e-5,-1.459042628142175e-8,4.89166100944331e-4,4.198561886052198e-5,-1.4539802909504917e-8,4.894815424795779e-4,4.179941029790374e-5,-1.4486638095790344e-8,4.899045597653066e-4,4.16738571918689e-5,-1.4446179472955758e-8,4.903995543457572e-4,4.1661226263416274e-5,-1.4432491631334258e-8,4.909084078410756e-4,4.179064877681403e-5,-1.4454232713012669e-8,4.913629055658968e-4,4.205495921373214e-5,-1.4510927067288458e-8,4.917043498415898e-4,4.2406630471518614e-5,-1.4591584452824552e-8,4.919041260653661e-4,4.2768455240018365e-5,-1.4677226547185713e-8,4.91975143734432e-4,4.30581023135401e-5,-1.4747087713819914e-8,4.919667281492841e-4,4.321634341236769e-5,-1.4785795141156964e-8,4.919450134806429e-4,4.322488299346272e-5,-1.4787918091785175e-8,4.919696544610528e-4,4.310619995991277e-5,-1.4758043194016052e-8,4.920780610928328e-4,4.2909134196637064e-5,-1.4707389424281414e-8,4.922813225790399e-4,4.269033595193827e-5,-1.464944226297227e-8,4.925688425220637e-4,4.249988199139718e-5,-1.4596537842685818e-8,4.92916302217559e-4,4.2373819969799324e-5,-1.4557994767186664e-8,4.932930424762773e-4,4.233227598512297e-5,-1.4539483417289066e-8,4.936673798735039e-4,4.2380499169877454e-5,-1.4543082916464466e-8,4.940100632622315e-4,4.251078828128216e-5,-1.4567604259159937e-8,4.942967406427109e-4,4.27043504794895e-5,-1.4608973846901326e-8,4.945102476677884e-4,4.2933063498730834e-5,-1.4660638792530654e-8,4.946431248320447e-4,4.316170803770033e-5,-1.4714088579726986e-8,4.947001929114915e-4,4.335150966562856e-5,-1.4759675319273507e-8,4.947003518474758e-4,4.3465620460088586e-5,-1.4787908056141978e-8,4.946762700491294e-4,4.3476391218321277e-5,-1.4791230435817252e-8,4.946706632709735e-4,4.337312853241991e-5,-1.4766006598097854e-8,4.947286919062398e-4,4.316792790944356e-5,-1.4714140745679074e-8,4.948875598480194e-4,4.289680338026428e-5,-1.46436248866499e-8,4.951660198459949e-4,4.261431606960693e-5,-1.4567507684274658e-8,4.955572023782361e-4,4.238205390573295e-5,-1.4501266960766878e-8,4.960275056948562e-4,4.225356593077395e-5,-1.4459112508157139e-8,4.965226079965434e-4,4.225970770296015e-5,-1.445012992875491e-8,4.969797348841862e-4,4.239855798309805e-5,-1.4475344797421208e-8,4.973435745501257e-4,4.263333074298414e-5,-1.452672530286383e-8,4.975817616767804e-4,4.290011641573763e-5,-1.4588789841322534e-8,4.976949342797306e-4,4.31246291984686e-5,-1.4642736998874316e-8,4.977169933512843e-4,4.32435191844831e-5,-1.4671952404593025e-8,4.977043744489744e-4,4.3222752491909916e-5,-1.4666876259907704e-8,4.977180995272924e-4,4.30657402384419e-5,-1.4627283126456636e-8,4.978060190996614e-4,4.280844975449757e-5,-1.4561258969220208e-8,4.979920722311104e-4,4.2505071693506214e-5,-1.4481783123106343e-8,4.982749931993637e-4,4.221149461163865e-5,-1.4402704387878677e-8,4.986341351162414e-4,4.1972812399652274e-5,-1.4335614319282961e-8,4.99038023174974e-4,4.181724732728816e-5,-1.4288203371298527e-8,4.994521132236064e-4,4.1755451375511826e-5,-1.4263899128169458e-8,4.998442497099592e-4,4.1782774302784495e-5,-1.4262268021020732e-8,5.001879318353291e-4,4.1882399162322495e-5,-1.4279703860248156e-8,5.004642516735846e-4,4.202823461485221e-5,-1.4310113798395751e-8,5.006634317541689e-4,4.218742398465999e-5,-1.4345522650409268e-8,5.007865154243883e-4,4.232301933686223e-5,-1.4376697915433863e-8,5.008471450808845e-4,4.239771827120947e-5,-1.4394026271468186e-8,5.008726192415792e-4,4.237947661390274e-5,-1.4388889379628621e-8,5.009027064025104e-4,4.224906691188224e-5,-1.4355605708386248e-8,5.009844664141034e-4,4.200814399437556e-5,-1.4293595372097094e-8,5.011622958425812e-4,4.168457799010023e-5,-1.4208933086185455e-8,5.014648490094809e-4,4.133098997158663e-5,-1.4114222164068199e-8,5.018933871908035e-4,4.1014046129932506e-5,-1.4026120755346876e-8,5.024172779489319e-4,4.079629120466331e-5,-1.3960894019653134e-8,5.029800978344093e-4,4.0716851663191706e-5,-1.3929502673170868e-8,5.035149205751237e-4,4.0778803174321974e-5,-1.3934148788121047e-8,5.039631026052139e-4,4.0948067350335475e-5,-1.3967574412809247e-8,5.042898951464934e-4,4.116358529728348e-5,-1.4015214047407058e-8,5.044923433820881e-4,4.1354546447450864e-5,-1.405930760929713e-8,5.045980853346142e-4,4.145904379395495e-5,-1.4083628433054094e-8,5.046562864241187e-4,4.143903113694813e-5,-1.4077491031220824e-8,5.047237703547672e-4,4.128796116298141e-5,-1.4038013428869964e-8,5.048504577142612e-4,4.1029648300892024e-5,-1.3970152894372228e-8,5.050682042868694e-4,4.070946922079784e-5,-1.3884718542673423e-8,5.053857892959258e-4,4.038129871002777e-5,-1.3795175637434057e-8,5.057904773855169e-4,4.0094587167200846e-5,-1.3714342555419928e-8,5.062542972907671e-4,3.988514116215506e-5,-1.3651908298048012e-8,5.067420758582822e-4,3.9771018930213065e-5,-1.36131932106548e-8,5.072186700798977e-4,3.9752847710952766e-5,-1.3599056334601855e-8,5.076541049257842e-4,3.981679039448647e-5,-1.3606552572220539e-8,5.080265636895346e-4,3.993839829792082e-5,-1.3629887915207912e-8,5.083239056768367e-4,4.008625429723009e-5,-1.366134539027628e-8,5.085445405312649e-4,4.02251540015048e-5,-1.3692068130210929e-8,5.086982215653529e-4,4.031923748367069e-5,-1.3712790472901225e-8,5.088067942896942e-4,4.033585746282454e-5,-1.3714758380114217e-8,5.089042016332715e-4,4.0250984480183826e-5,-1.369110873241738e-8,5.090342370463796e-4,4.005630209267127e-5,-1.36387919547938e-8,5.09244162874289e-4,3.976656292219734e-5,-1.3560660497017656e-8,5.095732393487734e-4,3.942360984383623e-5,-1.3466737784983145e-8,5.100381218559963e-4,3.9092145563312785e-5,-1.3373334502326575e-8,5.106211663506831e-4,3.884421714299498e-5,-1.3299185546533904e-8,5.112695708256073e-4,3.873558642398053e-5,-1.325938777322804e-8,5.119093049859852e-4,3.878426446529394e-5,-1.3259745614206067e-8,5.124690770718819e-4,3.896273593345075e-5,-1.3294485083970076e-8,5.129030399538616e-4,3.920805997219822e-5,-1.3348486880023718e-8,5.13202292093832e-4,3.944384781038976e-5,-1.3402621757432825e-8,5.133926118135372e-4,3.9603311868793384e-5,-1.3439524368879208e-8,5.135225876503645e-4,3.964513077729718e-5,-1.344773648237942e-8,5.136484244188965e-4,3.955939833262208e-5,-1.3423498173910979e-8,5.138202846515992e-4,3.936503101320661e-5,-1.337045078206997e-8,5.140727251366115e-4,3.9101620258126494e-5,-1.3297891578819023e-8,5.144200439889327e-4,3.8818723273896924e-5,-1.3218230049065295e-8,5.148563248939854e-4,3.8565076244178615e-5,-1.31442269252279e-8,5.153592942705727e-4,3.8379720577811564e-5,-1.3086552229207539e-8,5.158965586590853e-4,3.8286402743178446e-5,-1.3052102047767048e-8,5.164325300028227e-4,3.829166482457637e-5,-1.3043289492522785e-8,5.169345624266961e-4,3.838611140678518e-5,-1.3058250794240458e-8,5.173773998025525e-4,3.854777091398222e-5,-1.3091694599441699e-8,5.177457469094699e-4,3.8746318140652295E-05,-1.3136024508001314e-8,5.180353753683765e-4,3.894721737733719e-5,-1.3182422098429487e-8,5.182533801875123e-4,3.9115464526579055e-5,-1.322176802538456e-8,5.184180207872244e-4,3.9219155018714586e-5,-1.3245479826195314e-8,5.185582174206982e-4,3.923339887816621e-5,-1.3246473160946539e-8,5.187121920390923e-4,3.9145162676454723e-5,-1.3220474590964729e-8,0.00051892397371530155,3.895909776742693e-5,-1.316773040159988e-8,5.192361363727685e-4,3.8702959631497384e-5,-1.3094695644609137e-8,5.19678041196177e-4,3.8429183553321686e-5,-1.3014701920521112e-8,5.20251698135249e-4,3.820781513346968e-5,-1.2946243125940887e-8,5.209217831712024e-4,3.810779889170091e-5,-1.2908049988956758e-8,5.216188239536118e-4,3.817071047034634e-5,-1.2912046211167408e-8,5.222596846655533e-4,3.8389929217076366e-5,-1.295764933741635e-8,5.227776981227885e-4,3.870942493105218e-5,-1.3031193682067312e-8,5.231462221446176e-4,3.90449333361414e-5,-1.3111251595486714e-8,5.233834624169179e-4,3.9315346546736246e-5,-1.3176687479802485e-8,5.235394281321812e-4,3.946752696132619e-5,-1.3213083897284422e-8,5.236754233317036e-4,3.9485713744511626e-5,-1.3215295714260378e-8,5.238462568216775e-4,3.9387314888452363e-5,-1.3186630329662888e-8,5.240896667697123e-4,3.921173128856953e-5,-1.3136310014778118e-8,5.244226644038686e-4,3.900801174331826e-5,-1.3076572242619164e-8,5.248426426550115e-4,3.882439799199982e-5,-1.3020069826079723e-8,5.253311937372029e-4,3.870065090327242e-5,-1.2977767650741354e-8,5.258593061790778e-4,3.8663123547147846e-5,-1.2957402470289928e-8,5.263931056407179e-4,3.8722437005912813e-5,-1.2962597830659435e-8,5.268994400545242e-4,3.887355383309786e-5,-1.2992693609541672e-8,5.273506944811689e-4,3.909786013135494e-5,-1.304323238147115e-8,5.277283618928682e-4,3.9366737045691754e-5,-1.310693161469982e-8,5.280251104455353e-4,3.964596224958332e-5,-1.3174889451303355e-8,5.282454335082373e-4,3.990022972843365e-5,-1.3237768428264953e-8,5.284052231946588e-4,4.009736888639202e-5,-1.3286836033079106e-8,5.285305494829884e-4,4.021225325537939e-5,-1.3314912562979519e-8,5.286557060394544e-4,4.0230579521206196e-5,-1.3317363974876683e-8,5.288202403339737e-4,4.015271335318547e-5,-1.3293259523465599e-8,5.290641459351538e-4,3.999743645858218e-5,-1.3246644881952389e-8,5.29420183065172e-4,3.980429049478516e-5,-1.3187490243689071e-8,5.299032094367221e-4,3.963165594186321e-5,-1.313141009986588e-8,5.304988417193463e-4,3.9546878333224285e-5,-1.3097054263167734e-8,5.311574317731786e-4,3.96065921173356e-5,-1.3100650126240523e-8,5.318014578119245e-4,3.98319165292681e-5,-1.3149038022273758e-8,5.32349611324718e-4,4.019180005671327e-5,-1.3234910936428494e-8,5.327485204893838e-4,4.0608738174731215e-5,-1.3338177317094923e-8,5.32993774836213e-4,4.098800442554419e-5,-1.3433731281722263e-8,5.331274981533502e-4,4.125409164773492e-5,-1.3501160283562443e-8,5.332164335123858e-4,4.137379163363762e-5,-1.353087213849061e-8,5.333259193608972e-4,4.13576666322837e-5,-1.3524569124303872e-8,5.335024650995162e-4,4.124644008992089e-5,-1.3491904463169542e-8,5.337679129261047e-4,4.109355822924989e-5,-1.3446225415098136e-8,5.341216559001369e-4,4.0951180469202836e-5,-1.340113134321436e-8,5.345463734211426e-4,4.0861572281668134e-5,-1.3368231159593744e-8,5.350143019353962e-4,4.0852955656746325e-5,-1.3355852072504397e-8,5.354928423825327e-4,4.093817556745151e-5,-1.3368381791204466e-8,5.359493976739728e-4,4.111506478866112e-5,-1.3406093750610092e-8,5.363555591240247e-4,4.136805710751307e-5,-1.3465430533373401e-8,5.366906062535734e-4,4.167087291184944e-5,-1.353970510439085e-8,5.369441549435876e-4,4.199017748541348e-5,-1.3620131233801054e-8,5.371176836764395e-4,4.229004758300979e-5,-1.3697055796399448e-8,5.372246939412618e-4,4.2536815840649555e-5,-1.376122922588961e-8,5.372894831724115e-4,4.2703741062777625e-5,-1.3804984921125316e-8,5.373446669618185e-4,4.277512234113474e-5,-1.3823300988072162e-8,0.00053742757544824975,4.27496117961429e-5,-1.3814764582700658e-8,5.375755603610683e-4,4.264248462223457e-5,-1.3782413644499372e-8,5.378200593904353e-4,4.2486472593883745e-5,-1.373430126808111e-8,5.381792508290428e-4,4.233015478549633e-5,-1.368338167500512e-8,5.386499283189473e-4,4.223204705859813e-5,-1.3646059069466792e-8,5.392010226639216e-4,4.224848840771485e-5,-1.3638780125339982e-8,5.397734225659609e-4,4.2415447202705524e-5,-1.3672723821927818e-8,5.402914650870005e-4,4.272937436938092e-5,-1.3748141826012162e-8,5.406870951769552e-4,4.3138228021123006e-5,-1.3851605137995859e-8,5.409276624223462e-4,4.355360016244392e-5,-1.3959259082476329e-8,5.410308634400444e-4,4.388299832113226e-5,-1.404572807505199e-8,5.410560312127462e-4,4.406544519190341e-5,-1.409387560046213e-8,5.410774246421454e-4,4.4090008179269903e-5,-1.4099829500317099e-8,5.411566007764416e-4,4.399025355105983e-5,-1.4071552354515442e-8,5.413273035270495e-4,4.3823916588713976e-5,-1.4023612135435341e-8,5.415945168970027e-4,4.365179453199496e-5,-1.3971835246327046e-8,5.41941678191083e-4,4.3523829968479546e-5,-1.3929763987744986e-8,5.423397870270695e-4,4.3473105445618066e-5,-1.3906988846966135e-8,5.427550475932729e-4,4.3515132910834864e-5,-1.3908697960636151e-8,5.431542404764803e-4,4.364960885200329e-5,-1.393582992804166e-8,5.435083954292767e-4,4.386290135691708e-5,-1.3985503452994463e-8,5.437955680521673e-4,4.413075019834189e-5,-1.4051648813651171e-8,5.440031193610353e-4,4.442130458093591e-5,-1.4125847171957948e-8,5.441294904295869e-4,4.4698775986850106e-5,-1.4198377383350764e-8,5.441851609821107e-4,4.4927902109817414e-5,-1.4259451932272639e-8,5.44192274379237e-4,4.5079042801761985e-5,-1.4300570677415424e-8,5.441825131835359e-4,4.513324877772769e-5,-1.4315854380231034e-8,5.441931678314615e-4,4.508643514283918e-5,-1.4303200161377657e-8,5.442616930190452e-4,4.495182030705989e-5,-1.4265097005812744e-8,5.444193252662113e-4,4.475992062198913e-5,-1.420891194830896e-8,5.446845113517835e-4,4.455563870804244e-5,-1.4146439051286658e-8,5.450570012046475e-4,4.439214140356481e-5,-1.4092482439868092e-8,5.455138259491807e-4,4.432123995689494e-5,-1.4062247519459378e-8,5.460091567979519e-4,4.4380529159655735e-5,-1.4067548181360422e-8,5.464806332929459e-4,4.457933352573298e-5,-1.411246534473196e-8,5.468639351101996e-4,4.488842557502628e-5,-1.41900303462031e-8,5.471137114483806e-4,4.5240836901430264e-5,-1.4282186009332701e-8,5.472228700801882e-4,4.5549104705021665e-5,-1.436459415403402e-8,5.472286408053625e-4,4.573542557700775e-5,-1.4415174862346914e-8,5.471991045330296e-4,4.576046398285103e-5,-1.4422216878027767e-8,5.47206448294467e-4,4.56349055279638e-5,-1.4387623676551349e-8,5.473019740297997e-4,4.5409058585348715e-5,-1.4324164571538933e-8,5.475045890269017e-4,4.5149831126079944e-5,-1.4249406835206891e-8,5.47803705825606e-4,4.4918876045973197e-5,-1.4180002072172085e-8,5.481698176479473e-4,4.4759851057189094e-5,-1.412830013525889e-8,5.48565692247331e-4,4.469494792163449e-5,-1.410125538583461e-8,5.489546078069922e-4,4.4727065395722936e-5,-1.4100722236229494e-8,5.493051789854964e-4,4.484400912140682e-5,-1.4124308082445898e-8,5.495938405083384e-4,4.5022613923846395e-5,-1.4166321890606745e-8,5.498062624304646e-4,4.523222436300298e-5,-1.4218687392005276e-8,5.499384595504489e-4,4.54378852388539e-5,-1.4271863647322725e-8,5.49997724894559e-4,4.560386201037831e-5,-1.4315865288538859e-8,5.500030030438457e-4,4.5697985530979016e-5,-1.434147018981161e-8,5.499839508065228e-4,4.5696843463098964e-5,-1.4341625669559141e-8,5.499779032270899e-4,4.559110119398946e-5,-1.4312908167490931e-8,5.500244181110129e-4,4.5389582007094315e-5,-1.4256724128095877e-8,5.50157883005538e-4,4.512048381923619e-5,-1.417984329569152e-8,5.503995686945172e-4,4.482844257285975e-5,-1.4093882581779136e-8,5.507511242321261e-4,4.456714389146746e-5,-1.4013561269086788e-8,5.511914791808575e-4,4.438847474538031e-5,-1.3953862718354635e-8,5.516785262955729e-4,4.43302010252111e-5,-1.3926532510634918e-8,5.521561635635225e-4,4.4404755979930705e-5,-1.3936611787065186e-8,5.525663239678071e-4,4.459220322119048e-5,-1.3979975801327925e-8,5.528642063231052e-4,4.484065587117192e-5,-1.4043007349154969e-8,5.530328973052125e-4,4.507661529127626e-5,-1.4105288308440919e-8,5.530916519570143e-4,4.522480506594574e-5,-1.4145236907282978e-8,5.530923528858961e-4,4.523202408225343e-5,-1.4147030087645297e-8,5.531031506537776e-4,4.5085084291692684e-5,-1.4105860437065999e-8,5.531855430718504e-4,4.4813819040833696e-5,-1.4028958709191986e-8,5.533755526889687e-4,4.447784879142051e-5,-1.3932084645392354e-8,5.536768815553462e-4,4.41448232435347e-5,-1.3833668292310375e-8,5.540662856310166e-4,4.387093911013423e-5,-1.3749517436350942e-8,5.545054107827476e-4,4.369036706870036e-5,-1.3689826206305373e-8,5.549526056740539e-4,4.3613801028485625e-5,-1.3658542876311258e-8,5.553711420623051e-4,4.363257224331595e-5,-1.3654223719707622e-8,5.55733434845886e-4,4.3724503286497815e-5,-1.3671440617076656e-8,5.560225166865299e-4,4.385919757848827e-5,-1.3702164569045507e-8,5.56232263778228e-4,4.400211587684637e-5,-1.3736921152732457e-8,5.563673733728169e-4,4.4117846392702796e-5,-1.376575922796316e-8,5.564433941300915e-4,4.4173372568585065e-5,-1.3779194966470485e-8,5.564864419333089e-4,4.414206095567587e-5,-1.3769317275568825e-8,5.565317072407061e-4,4.4008603643539826E-05,-1.373115531210439e-8,5.566196665612034e-4,4.377426004116058e-5,-1.3664180386757936e-8,5.567893255742785e-4,4.3460653879901505e-5,-1.3573495648336821e-8,5.5706903259323e-4,4.3109638309396154e-5,-1.3470018373719109e-8,5.574671621600434e-4,4.277713905643178e-5,-1.3369019224232388e-8,5.579663031544923e-4,4.25209069743737e-5,-1.3286905991693288e-8,5.585242506155931e-4,4.2385091814629774e-5,-1.323695369887385e-8,5.590827837639093e-4,4.238670958930531e-5,-1.322532616995296e-8,5.595820943030839e-4,4.2508928121728134e-5,-1.324879527303495e-8,5.599765436803205e-4,4.270375260425213e-5,-1.3295025360336303e-8,5.602470647653046e-4,4.290357624198227e-5,-1.3345467218010926e-8,5.604066433327727e-4,4.3038521618008536e-5,-1.3380135565607916e-8,5.604971361354452e-4,4.305496671614097e-5,-1.3382982052173816e-8,5.605778644400599e-4,4.293002467591174e-5,-1.3346289025681776e-8,5.607089623263255e-4,4.267729978794635e-5,-1.3272636519098559e-8,5.609347399582315e-4,4.234165410834814e-5,-1.3173718674744843e-8,5.61272824224999e-4,4.1984822487049506e-5,-1.3066489427049024e-8,5.617125088503604e-4,4.1667542738988164e-5,-1.2968201743518012e-8,5.622215885905281e-4,4.1434866394617e-5,-1.289219032748799e-8,5.627575830200749e-4,4.130882130901546e-5,-1.2845587660872705e-8,5.632786025023382e-4,4.1288594336048484e-5,-1.2829102735199409e-8,5.637508743402848e-4,4.135555763250854e-5,-1.2838217765699319e-8,5.641523616550949e-4,4.147987966628914e-5,-1.2864954028178306e-8,5.644734987008431e-4,4.1626480056051095e-5,-1.2899567931198906e-8,5.647164882240774e-4,4.1759528984558676e-5,-1.2931887162585448e-8,5.648942535231952e-4,4.184578296212132e-5,-1.2952297818560158e-8,5.650294889116143e-4,4.1857547900959665e-5,-1.2952577895423737e-8,5.651535715361088e-4,4.177605896823371e-5,-1.2926828568155383e-8,5.653044894483615e-4,4.159567182824132e-5,-1.287267633441649e-8,5.655225692094629e-4,4.132839759346974e-5,-1.279266224815386e-8,5.658430328778544e-4,4.100697766475647e-5,-1.2695307297663935e-8,5.662857653330005e-4,4.068344030322492e-5,-1.2594934042639526e-8,5.668451659124272e-4,4.042019197207262e-5,-1.2509327194232984e-8,5.674853336557398e-4,4.027347907363591e-5,-1.2455107328985577e-8,5.681455713211361e-4,4.027408208489247e-5,-1.244214622307206e-8,5.68756746685192e-4,4.0414004798879e-5,-1.2469513131187434e-8,5.692626340933667e-4,4.0646580039138516e-5,-1.2525133623159566e-8,5.696369955166504e-4,4.090066807453131e-5,-1.2589478046435055e-8,5.698896665275624e-4,4.110245921092196e-5,-1.2641551835441664e-8,5.700608716068607e-4,4.1195953729986446e-5,-1.2664715990718236e-8,5.702077505850598e-4,4.1155798139361454e-5,-1.2650540717421748e-8,5.703884759901265e-4,4.099042424392756e-5,-1.2600051493450478e-8,5.706483903579017e-4,4.073662588412746e-5,-1.2522583891047876e-8,5.710109691405875e-4,4.0448332338844876e-5,-1.243290518949643e-8,5.714748841309391e-4,4.0182934684654553E-05,-1.2347452802728689e-8,5.720170435890389e-4,3.9988544477136714e-5,-1.2280615128135358e-8,5.726001321744273e-4,3.9895057969472874e-5,-1.2241921421025485e-8,5.731821206679281e-4,3.991064069654339e-5,-1.2234717623019245e-8,5.737250198595423e-4,4.002343402058786e-5,-1.2256397133360156e-8,5.742009861844149e-4,4.0206784374766535e-5,-1.2299779958393722e-8,5.745952088943357e-4,4.042579305071043e-5,-1.2355009254206567e-8,5.749061274942017e-4,4.064339540438695e-5,-1.2411383146639144e-8,5.751440773201222e-4,4.0825069665894794e-5,-1.2458778726029885e-8,5.753293799587323e-4,4.094221059405223e-5,-1.2488629625521792e-8,5.754904006567578e-4,4.097477176506438e-5,-1.2494646793562146e-8,5.756615125629631e-4,4.0913864151746437e-5,-1.2473547362790684e-8,5.758803459554417e-4,4.076472695839921e-5,-1.24259847650868e-8,5.761832436211499e-4,4.0549772255380785e-5,-1.2357617600292305e-8,5.765979379808243e-4,4.0310124351701156e-5,-1.2279811549458918e-8,5.771336876089873e-4,4.010269549721812e-5,-1.2209012413795871e-8,5.777716895829274e-4,3.9989598090760646e-5,-1.2163757626176808e-8,5.784616465902294e-4,4.001937776225071e-5,-1.2159125570823381e-8,5.791308482835355e-4,4.020580099469462e-5,-1.2200322952745242e-8,5.797065295022585e-4,4.0515899636114696e-5,-1.2278907274980914e-8,5.80142457888133e-4,4.087731150446172e-5,-1.2374661952472232e-8,5.804354401798264e-4,4.120363917341638e-5,-1.2462792256088949e-8,5.806232139856671e-4,4.142456024104346e-5,-1.2522577976320966e-8,5.807671988462954e-4,4.1505812543823224e-5,-1.2543184545504214e-8,5.809309310098887e-4,4.145299058481706e-5,-1.2524943479233836e-8,5.811633911987712e-4,4.130273058000135e-5,-1.2477155055317291e-8,5.814906054594975e-4,4.110843349549538e-5,-1.241437134424403e-8,5.819145513730104e-4,4.092617541810449e-5,-1.2352610977888855e-8,5.824169208822125e-4,4.0803658015597504e-5,-1.2306198503680667e-8,5.829655041898003e-4,4.077300848955851e-5,-1.2285457641107754e-8,5.835216304790936e-4,4.08473506951388e-5,-1.2295353076190144e-8,5.840475044047213e-4,4.1020878040647856e-5,-1.2335168157344423e-8,5.845123946407954e-4,4.1271912795883656e-5,-1.2399194688289209e-8,5.848968676341912e-4,4.1568009920163966e-5,-1.247819580484653e-8,5.851947152164219e-4,4.1871931312817365e-5,-1.2561243079423654e-8,5.854127287371877e-4,4.214737362730478e-5,-1.2637501168654626e-8,5.855689082537816e-4,4.236363657066199e-5,-1.2697641820982583e-8,5.856898580934266e-4,4.2498978178316354e-5,-1.2734800220127118e-8,5.85807889067023e-4,4.254292268264029e-5,-1.2745207957826337e-8,5.859579513795578e-4,4.249795347224145e-5,-1.272871639020561e-8,5.861741086786202e-4,4.2380895742717424e-5,-1.2689360718495551e-8,5.8648484953241e-4,4.2223796026970555e-5,-1.2635890084310931e-8,5.869065735812319e-4,4.2073073991807874e-5,-1.2581801894459312e-8,5.874356319421588e-4,4.19846475120227e-5,-1.2544061137121026e-8,5.880413756125081e-4,4.201259995003142e-5,-1.2539678227518325e-8,5.886653049404993e-4,4.219108683589354e-5,-1.2580052638216501e-8,5.8923238679551e-4,4.2514839582835756e-5,-1.266480189970253e-8,5.896756386652956e-4,4.2930283800824865e-5,-1.2778839288959433e-8,5.89964101552167e-4,4.334851356362142e-5,-1.2896139522771572e-8,5.901171113360668e-4,4.367814905014522e-5,-1.298951948589008e-8,5.901947880698806e-4,4.38602737483596e-5,-1.3040992057450742e-8,5.902714285460607e-4,4.3885736496831144e-5,-1.3046861211874255e-8,5.904086373518427e-4,4.3789236335983746e-5,-1.3016096632518927e-8,5.90640488345573e-4,4.362965960038413e-5,-1.2964884842237333e-8,5.90971946441086e-4,4.34695603945582e-5,-1.2911008855333938e-8,5.913852195337234e-4,4.336092270372908e-5,-1.2869904121306538e-8,5.918485774305888e-4,4.333812126088688e-5,-1.285252461742886e-8,5.923245446952727e-4,4.3416150897318016e-5,-1.2864501648532461e-8,5.927764593066211e-4,4.359190961413261e-5,-1.2906114467297666e-8,5.931734732856898e-4,4.384714236114294e-5,-1.2972841846778543e-8,5.934942150203255e-4,4.4152466088083324e-5,-1.3056421398296158e-8,5.937291030815587e-4,4.447215885443439e-5,-1.3146311817982143e-8,5.938811933955622e-4,4.47693426906656e-5,-1.3231356330999967e-8,5.93965485886057e-4,4.5011077674093984e-5,-1.3301399351245954e-8,5.94006799600864e-4,4.5172770496475155e-5,-1.334862131885749e-8,5.940365840398179e-4,4.5241413682133494e-5,-1.336846818500244e-8,5.940891110207756e-4,4.521750624615486e-5,-1.3360212923084611e-8,5.941973595900601e-4,4.511571456359875e-5,-1.3327250246980502e-8,5.943887128092454e-4,4.4964352725929755e-5,-1.3277177720368145e-8,5.946803298205737e-4,4.480359021479988e-5,-1.3221572693952441E-08,5.950740552025116e-4,4.4681698944798734e-5,-1.3175121289205661e-8,5.955515209880322e-4,4.4648007751150914e-5,-1.3153551831570361e-8,5.960715426732222e-4,4.474149532569575e-5,-1.3169977028198143e-8,5.965733804112413e-4,4.4975795704802126e-5,-1.3229934760324216e-8,5.969897334847129e-4,4.5325368620618036e-5,-1.3326761651752678e-8,5.972695820723137e-4,4.572244176421522e-5,-1.3440440521292401e-8,5.974020923934746e-4,4.607385900358259e-5,-1.3542760448690568e-8,5.974260041454101e-4,4.6295468638069834e-5,-1.3607887991505155e-8,5.974149745012774e-4,4.63461491160932e-5,-1.3622690856111841e-8,5.974464645346873e-4,4.62408255489987e-5,-1.3590608456208522e-8,5.975733330563519e-4,4.603711609863486e-5,-1.3527729382284185e-8,5.978120949073726e-4,4.5808229996933905e-5,-1.3455010772294891e-8,5.981476506938362e-4,4.561887790575258e-5,-1.3391473757723922e-8,5.985457456463102e-4,4.551241536514983e-5,-1.3350535217826406e-8,5.989652880636257e-4,4.550820785410715e-5,-1.3339057205444769e-8,5.993671400674556e-4,4.560473672048171e-5,-1.3357888193002322e-8,5.997192571010954e-4,4.578464443118222e-5,-1.340296607210915e-8,5.999993638835912e-4,4.601975491101805e-5,-1.3466562670281527e-8,6.001963194062474e-4,4.627562551405624e-5,-1.353859250547407e-8,6.003106951839153e-4,4.651585668922163e-5,-1.3607999789540018e-8,6.003545828554706e-4,4.670640694476506e-5,-1.3664190858733449e-8,6.003504102879558e-4,4.681993271445912e-5,-1.3698426655564152e-8,6.003285040062579e-4,4.6839792267256964e-5,-1.3705039077842174e-8,6.003233654665366e-4,4.6763054815347505e-5,-1.3682318721009288e-8,6.00368980029104e-4,4.6601915443853456e-5,-1.3632979669015082e-8,6.004936892972919e-4,4.638313791509782e-5,-1.3564152706925421e-8,6.007152397239569e-4,4.6145339984406526e-5,-1.348684271745055e-8,6.010365913857648e-4,4.5934168128419516e-5,-1.3414767746104295e-8,6.014429942225124e-4,4.5795480210201754e-5,-1.3362464203894209e-8,6.019011057532637e-4,4.576653383496385e-5,-1.334252963495435e-8,6.023615895275835e-4,4.586559553492988e-5,-1.3362105344807452e-8,6.027669935205449e-4,4.608188309838632e-5,-1.3419300705541302e-8,6.030658883371729e-4,4.6370003546858796e-5,-1.350105745458068e-8,6.032312519987232e-4,4.66548633865428e-5,-1.3584497719127712e-8,6.032758091670896e-4,4.685133527899667e-5,-1.3643100300052348e-8,6.032535495762095e-4,4.6894725810143705e-5,-1.365628640799527e-8,6.03241729155245e-4,4.6767362660908595e-5,-1.3617683021674188e-8,6.033108166392385e-4,4.65049510596044e-5,-1.3537085025814027e-8,6.034993182490741e-4,4.617895985207165e-5,-1.3435213551070888e-8,6.038060843341433e-4,4.5867317225684895e-5,-1.3335114749071355e-8,6.041994185155103e-4,4.563018257654167e-5,-1.3255104395874068e-8,6.046332663829588e-4,4.549926714185694e-5,-1.3205572436516151e-8,6.05061438746373e-4,4.5478931464839044e-5,-1.3189054107180226e-8,6.054462336936745e-4,4.555306960662015e-5,-1.3201909329785792e-8,6.05762009514742e-4,4.5692876070382345e-5,-1.3236331295070042e-8,6.059957599659084e-4,4.586321651672058e-5,-1.3282117826334546e-8,6.061465022300673e-4,4.6027351570760987e-5,-1.332813231699191e-8,6.062243702543427e-4,4.615066462844048e-5,-1.3363565264245378e-8,6.062495021200464e-4,4.620409516581872e-5,-1.3379104609315037e-8,6.062503718534889e-4,4.616766157689615e-5,-1.3368067825864579e-8,6.062610395188557e-4,4.6033924576426214e-5,-1.3327457601791911e-8,6.063169469718518e-4,4.581063544655485e-5,-1.3258772884036288e-8,6.064494044595206e-4,4.55215188896636e-5,-1.3168331958415403e-8,6.066795318747286e-4,4.52042881604833e-5,-1.3066866709055663e-8,6.070128998625647e-4,4.490545427349359e-5,-1.2968213330564991e-8,6.074363111856063e-4,4.467226793872749e-5,-1.2887087372606102e-8,6.079179098524724e-4,4.4543009907630994e-5,-1.2836174421477544e-8,6.084112436310817e-4,4.453736700212919e-5,-1.282297992625794e-8,6.08863370461571e-4,4.464886329443632e-5,-1.2847073663286673e-8,6.092264758703546e-4,4.4841679024146196e-5,-1.289860746681526e-8,6.094712937410751e-4,4.505445305432866e-5,-1.2959127922180999e-8,6.095987972448405e-4,4.521292039621171e-5,-1.3005410854173592e-8,6.096448764943399e-4,4.5250510079934645e-5,-1.3016030794821033e-8,6.096730138384927e-4,4.513114561506076e-5,-1.2978711001202054e-8,6.097545631549566e-4,4.486402580498518e-5,-1.2895124516848801e-8,6.099439852908066e-4,4.450134061490781e-5,-1.2780348513948726e-8,6.102610819546051e-4,4.4118743907326676e-5,-1.265702267633818e-8,6.106884949894511e-4,4.378880296374916e-5,-1.2547376438516559e-8,6.111831302385094e-4,4.356052924504412e-5,-1.2467023709897674e-8,6.116930853079845e-4,4.3451843285146805e-5,-1.2422507196552202e-8,6.121718091847651e-4,4.3453283807383274e-5,-1.2412110270198072e-8,6.125859229567852e-4,4.3537061943772174e-5,-1.242828767855344e-8,6.129174051327997e-4,4.3666315988779066e-5,-1.2460290569013057e-8,6.131625421240779e-4,4.380214478201701e-5,-1.249629588729844e-8,6.133297797994605e-4,4.390824915390768e-5,-1.2524935334363993e-8,6.134376059320164e-4,4.395405443660182e-5,-1.2536392208869133e-8,6.135126429920539e-4,4.391729178049016e-5,-1.2523285610369912e-8,6.135875232541355e-4,4.37866565556534e-5,-1.248151062142838e-8,6.136978474050366e-4,4.3564553195397556e-5,-1.2411078877572878e-8,6.138776204707606e-4,4.3269171658970975e-5,-1.2316794930864575e-8,6.141531157431434e-4,4.293451537346142e-5,-1.2208394276352459e-8,6.145360882992824e-4,4.260690395661579e-5,-1.2099680577646451e-8,6.150183068876578e-4,4.233718420343913e-5,-1.2006354865178858e-8,6.155698862543469e-4,4.216944569007125e-5,-1.194266561911202e-8,6.161432780116315e-4,4.212893829735594e-5,-1.191760894514987e-8,6.166829962369822e-4,4.221304211145604e-5,-1.1931838226690434e-8,6.171390028809723e-4,4.2388733189199025e-5,-1.1976435073662864e-8,6.174801786565707e-4,4.2598204728411776e-5,-1.2034228597516467e-8,6.177039713164523e-4,4.2771969148489644e-5,-1.2083631887323418e-8,6.178390324477566e-4,4.284658717591776e-5,-1.2104190944765916e-8,6.179391490155112e-4,4.2782467541547576e-5,-1.2082381407395732e-8,6.180690499519215e-4,4.257622589977647e-5,-1.2015807665370394e-8,6.182856981106309e-4,4.2262641290182364e-5,-1.1914142478848567e-8,6.186214061728539e-4,4.1904306638940616e-5,-1.1796159869780265e-8,6.190753692770967e-4,4.1572254817565175e-5,-1.168386155567887e-8,6.196167242703293e-4,4.1325277041778395e-5,-1.1596058210408694e-8,6.201967488488639e-4,4.119594759437842e-5,-1.1543865254199268e-8,6.20764019662867e-4,4.118716574602068e-5,-1.1529328261415304e-8,6.21276549030351e-4,4.127757978552318e-5,-1.154678533548196e-8,6.217080946567695e-4,4.143120927489927e-5,-1.1585638643255654e-8,6.220491812385284e-4,4.1606888823869886e-5,-1.1633240123016763e-8,6.223049974865838e-4,4.176527688606243e-5,-1.1677161479087305e-8,6.224922388533137e-4,4.1873203335198556e-5,-1.1706688765447071e-8,6.226360955927154e-4,4.1906205539858945e-5,-1.1713717885084007e-8,6.227676718629662e-4,4.185030251602371e-5,-1.1693341505436549E-08,6.229214415278793e-4,4.1703735041523074e-5,-1.1644381723185078e-8,6.231319853664534e-4,4.147878640125714e-5,-1.1569970337746821e-8,6.234292802965761e-4,4.120299476324085e-5,-1.1478018587251494e-8,6.238323413543623e-4,4.0918246606836314e-5,-1.1381111507640178e-8,6.243421835840833e-4,4.067585345858345e-5,-1.1295177991775304e-8,6.249366570621865e-4,4.052646987191822e-5,-1.1236482520549367e-8,6.255707246045346e-4,4.0506051125566727e-5,-1.1217220872998886e-8,6.261847863392266e-4,4.062225481812146e-5,-1.124105993740093e-8,6.267202336075681e-4,4.08475845493812e-5,-1.1300642714626034e-8,6.271371716095217e-4,4.112393555640522e-5,-1.1378640363826194e-8,6.274272002337375e-4,4.137818217173511e-5,-1.1452374173663731e-8,6.276160661029025e-4,4.1543172110683946e-5,-1.1500321761911784e-8,6.277555903893943e-4,4.157642470580568e-5,-1.1508102924530854e-8,6.27908422691926e-4,4.147064598947023e-5,-1.1472061584588963e-8,6.281309101857208e-4,4.125382444025051e-5,-1.1399670417759892e-8,6.284589806615875e-4,4.0979990293322234e-5,-1.1307001676311571e-8,6.289004951050204e-4,4.071397673517665e-5,-1.1214196847662963e-8,6.294355537344494e-4,4.051475934856745e-5,-1.1140281814471427e-8,6.300239373611482e-4,4.0422039237037176e-5,-1.1098767800734435e-8,6.306167817204206e-4,4.044943019418976e-5,-1.1095165829009265e-8,6.311685570877783e-4,4.058515042629986e-5,-1.1126836428171848e-8,6.316459742628735e-4,4.079850842401508e-5,-1.1184776656645354e-8,6.320322305868174e-4,4.104897677346346e-5,-1.1256406714476454e-8,6.323269912046183e-4,4.129481071708473e-5,-1.1328374881368757e-8,6.325436800244089e-4,4.149944694038418e-5,-1.138873428162963e-8,6.327057717418874e-4,4.16353572641571e-5,-1.142829124798009e-8,6.3284320211077e-4,4.168599958414399e-5,-1.144127484924841e-8,6.329892507073682e-4,4.1646813714983565e-5,-1.1425641935138297e-8,6.331776221375067e-4,4.1525972124440285e-5,-1.1383308731724334e-8,6.334390698103364e-4,4.134505386970275e-5,-1.1320431548573354e-8,6.337968406765966e-4,4.1139068109295805e-5,-1.1247577530122925e-8,6.342606793062239e-4,4.0954382499360176e-5,-1.1179279984573037e-8,6.34820349377044e-4,4.084256691331992e-5,-1.1132243894526839e-8,6.354414692002509e-4,4.084884439949683e-5,-1.1121682761778917e-8,6.360679001502076e-4,4.0996568100376256e-5,-1.1156195968997953e-8,6.366339468110234e-4,4.1273455162251384e-5,-1.1233067444498262e-8,6.370847593082296e-4,4.162814226045832e-5,-1.1336844237008164e-8,6.37396720814852e-4,4.1982708229566924e-5,-1.1443112874876232e-8,6.375870858518857e-4,4.225789061658065e-5,-1.1526456467575253e-8,6.377074182492132e-4,4.239935949578947e-5,-1.1568844891267493e-8,6.378247532323368e-4,4.239301187350808e-5,-1.1564617122042744e-8,6.380001550354765e-4,4.226467189936685e-5,-1.1520634437041544e-8,6.382730696351323e-4,4.20678159364482e-5,-1.145275407366425e-8,6.386547983664781e-4,4.186642207611976e-5,-1.1380759726833166e-8,6.391301491825187e-4,4.1718969727590826e-5,-1.1323481608403951e-8,6.396645134501095e-4,4.16669354931265E-05,-1.1295058824572489e-8,6.402135211432802e-4,4.1728883630486846e-5,-1.130272523179324e-8,6.407329313863037e-4,4.189994975384543e-5,-1.1346210158588048e-8,6.411869273337647e-4,4.215579668992807e-5,-1.141864418294653e-8,6.415535317098374e-4,4.245951292741821e-5,-1.1508603446175233e-8,6.418266451670236e-4,4.276953906141313e-5,-1.160268944345754e-8,6.420150711981394e-4,4.3046889911181794e-5,-1.168800792468656e-8,6.42139481568027e-4,4.326056338850396e-5,-1.1754073581974093e-8,6.422284650134046e-4,4.3390762964130205e-5,-1.1793939423120785e-8,6.423145863944254e-4,4.343025232088572e-5,-1.1804643333497793e-8,6.424308611712833e-4,4.3384560725109035e-5,-1.1787259369334247e-8,6.426075271147033e-4,4.327164998942055e-5,-1.1746830998873365e-8,6.428686772623222e-4,4.312121499188235e-5,-1.1692290186969063e-8,6.43228211111064e-4,4.297319789412587e-5,-1.163620160738782e-8,6.436849034127897e-4,4.2874338512484316e-5,-1.1593853762600689e-8,6.442175178239869e-4,4.287106863696716e-5,-1.1581024865378009e-8,6.447826241944376e-4,4.299769946587701e-5,-1.1610003778983072e-8,6.453192106631316e-4,4.326148989808878e-5,-1.1684410461728622e-8,6.457633643151136e-4,4.363072674477005e-5,-1.179495428359945e-8,6.460709780358178e-4,4.403539258500074e-5,-1.1919425251124777e-8,6.46238269440531e-4,4.438654427814625e-5,-1.202896701159812e-8,6.463067360377512e-4,4.460863357575101e-5,-1.2098638955452586e-8,6.463473522053487e-4,4.466782983677177e-5,-1.2116629130642991e-8,6.464328198700985e-4,4.458091988511223e-5,-1.2087172530117929e-8,6.466134080396352e-4,4.440296244483021e-5,-1.2026767218001455e-8,6.469062893985017e-4,4.420432212394621e-5,-1.1957162905655501e-8,6.472980673486538e-4,4.4049415375376975e-5,-1.1898899064049858e-8,6.477545569824074e-4,4.398348465637827e-5,-1.1867178141227173e-8,6.482321283936542e-4,4.402769158632383e-5,-1.1870077472484313e-8,6.486874451684293e-4,4.4180110616365914e-5,-1.190843181001741e-8,6.490845942283705e-4,4.442004791255551e-5,-1.1976767655848106e-8,6.493996674170178e-4,4.471399475420608e-5,-1.2064930829832403e-8,6.496230132730473e-4,4.502224997790057e-5,-1.2160170877601224e-8,6.497593165315699e-4,4.530541463222377e-5,-1.2249376594925378e-8,6.498257985589669e-4,4.5530023897967826e-5,-1.2321106524374785e-8,6.498490150835266e-4,4.5672787320462324e-5,-1.2367125184429808e-8,6.49860849248668e-4,4.5723111388483726e-5,-1.2383285624306336e-8,6.498943459428724e-4,4.56838734642481e-5,-1.2369777794004631e-8,6.499798483583396e-4,4.5570805788698724e-5,-1.2330940194194202e-8,6.50141540921297e-4,4.5410946737608354e-5,-1.2274858062634918e-8,6.50394252361549e-4,4.524034632505981e-5,-1.2212820673742356e-8,6.507402898474811e-4,4.510081644081227e-5,-1.2158498221920027e-8,6.511662941424877e-4,4.503501619399875e-5,-1.2126476181320007e-8,6.516409652377725e-4,4.507883196177047e-5,-1.2129687005367259e-8,6.521158333795178e-4,4.525065636203942e-5,-1.2175577965498676e-8,6.525322031476455e-4,4.553941364164363e-5,-1.2261726884082065e-8,6.528365381010586e-4,4.5896913451435045e-5,-1.2372957541494924e-8,6.53001864278318e-4,4.6243075736359524e-5,-1.2482966177543175e-8,6.530450153429226e-4,4.6489294263523875e-5,-1.2562182212005331e-8,6.530262302326049e-4,4.657300931178719e-5,-1.2589338662501737e-8,6.530266241761063e-4,4.6484341852986244e-5,-1.2560253186849565e-8,6.531153745404709e-4,4.626789168937222e-5,-1.248839206681805e-8,6.533259500794602e-4,4.600025166059354e-5,-1.2397689341809364e-8,6.536518626923442e-4,4.5759473698595974e-5,-1.2312978138197302e-8,6.540578644141293e-4,4.56028117197643e-5,-1.2253084886290816e-8,6.544960449519266e-4,4.555825704891566e-5,-1.222809841334969e-8,6.549192256583115e-4,4.562646405711048e-5,-1.2239671643138295e-8,6.552892641813089e-4,4.578752220519903e-5,-1.2282737836356728e-8,6.555809511761707e-4,4.6008638879196065e-5,-1.23475952409882e-8,6.557831063329746e-4,4.625097547136351e-5,-1.2421941128098137e-8,6.558981448308248e-4,4.647540239116749e-5,-1.2492798538365653e-8,6.559406151232579e-4,4.664739366488725e-5,-1.2548313680324879e-8,6.55934795368779e-4,4.674108669115587e-5,-1.2579299722569738e-8,6.559114262674878e-4,4.674234926529412e-5,-1.258037528172128e-8,6.559037475636952e-4,4.6650576798607184e-5,-1.2550589153337167e-8,6.559431799480559e-4,4.647890047352641e-5,-1.2493483386171588e-8,6.560551490320222e-4,4.625272895401807e-5,-1.241665830734056e-8,6.562554736211841e-4,4.6006843480568736e-5,-1.2330965549949725e-8,6.565475621712678e-4,4.5781298533340715e-5,-1.224938677601268e-8,6.569205673771478e-4,4.561626701972796e-5,-1.2185538559539806e-8,6.573487109405446e-4,4.554580590585966e-5,-1.2151659149246088e-8,6.577924153502072e-4,4.5590415220543125e-5,-1.215594635662814e-8,6.58202593113294e-4,4.574881097857109e-5,-1.2199412084801173e-8,6.585297262397721e-4,4.59909687918636e-5,-1.2273096298199133e-8,6.587382425042407e-4,4.62568085760598e-5,-1.2357324481940705e-8,6.588231495329708e-4,4.646624084061321e-5,-1.2425073606254522e-8,6.588204978599106e-4,4.65431768960108e-5,-1.2450244405357208e-8,6.588012287440477e-4,4.644637290291428e-5,-1.2418191579088436e-8,6.588458419334591e-4,4.61899779128904e-5,-1.2332619928155143e-8,6.590119357198074e-4,4.5838877755827045e-5,-1.2214031205022718e-8,6.593137391720427e-4,4.548068499544168e-5,-1.2090617955505468e-8,6.597236153319567e-4,4.519227164557173e-5,-1.1987544773090963e-8,6.601895628610029e-4,4.5018724180246425e-5,-1.1920237507966108e-8,6.606554423138694e-4,4.49697296954195e-5,-1.189308702067798e-8,6.610749674083071e-4,4.502738150794323e-5,-1.1901620274760557e-8,6.614178803084616e-4,4.515738862713096e-5,-1.1935726383931564e-8,6.616706357616994e-4,4.531887849385159e-5,-1.1982572911828448e-8,6.61834447382716e-4,4.547133072107415e-5,-1.2028824379413137e-8,6.6192264137107e-4,4.5579126378920714e-5,-1.2062283892577649e-8,6.619580115031964e-4,4.561475770029697e-5,-1.2073180904243843e-8,6.619700433900955e-4,4.556135838574398e-5,-1.2055197467963607e-8,6.61991699576438e-4,4.5414661343623503e-5,-1.200620365179172e-8,6.620555712945934e-4,4.51840896179602e-5,-1.1928622796913211e-8,6.621894741458482e-4,4.489240920507422e-5,-1.182931385336294e-8,6.624119923538018e-4,4.457342997377879e-5,-1.1718880084197724e-8,6.627287685916333e-4,4.4267655432898346e-5,-1.1610397059841187e-8,6.631303288208212e-4,4.401622188040044e-5,-1.1517614629584648e-8,6.635920520441031e-4,4.3853814799379214e-5,-1.1452739383809711e-8,6.640766309640293e-4,4.3801500136949246e-5,-1.1423990223408127e-8,6.645391547065707e-4,4.3860465762502585e-5,-1.1433213609765761e-8,6.649348907757294e-4,4.400781803244625e-5,-1.1474022268078109e-8,6.652295738743438e-4,4.4196208170768975e-5,-1.1531237312247409e-8,6.654109062286146e-4,4.435975285734818e-5,-1.1582666541464982e-8,6.654978651706966e-4,4.442827675775156e-5,-1.1603994416442983e-8,6.655421492594667e-4,4.434891282437948e-5,-1.1576365369570233e-8,6.656163939754637e-4,4.410816482066763e-5,-1.1494114352982963e-8,6.657897957674164e-4,4.3742356818358154e-5,-1.136844192019311e-8,6.661014873919342e-4,4.332714263267976e-5,-1.1223980436229123e-8,6.66546435586102e-4,4.294919512763321e-5,-1.1089453851181167e-8,6.670813088959861e-4,4.267547632709114e-5,-1.0987569771282318e-8,6.676444956798761e-4,4.2535713727573955e-5,-1.0929181332560628e-8,6.681774843805674e-4,4.252258156620681e-5,-1.0913107238000703e-8,6.686384044883153e-4,4.260325002735994e-5,-1.0929587800350869e-8,6.690062161390295e-4,4.2733346818073974e-5,-1.0964592948012124e-8,6.692787368457985e-4,4.286787118068754e-5,-1.1003310653399214e-8,6.694682707915127e-4,4.296777011126571e-5,-1.1032406940396475e-8,6.695972389198812e-4,4.300322240539698e-5,-1.1041321064106932e-8,6.696946149272839e-4,4.295523829967347e-5,-1.1023008875669534e-8,6.697929196037282e-4,4.2816698354687566e-5,-1.0974419442589062e-8,6.699251733474295e-4,4.2593196764431914e-5,-1.0896807753560433e-8,6.701212865700194e-4,4.230341044442153e-5,-1.0795842637994127e-8,6.704037174690174e-4,4.1978221761531796e-5,-1.0681328919295532e-8,6.707828559139265e-4,4.1657672615155404e-5,-1.0566288547495148e-8,6.712532690016723e-4,4.138524242901553e-5,-1.0465216530512158e-8,6.717922865944109e-4,4.119981360746378e-5,-1.0391550497627238e-8,6.723621835534646e-4,4.112674104581725e-5,-1.0354712996658229e-8,6.729163674503193e-4,4.117028254115718e-5,-1.0357404924622589e-8,6.734087601805087e-4,4.1309743555585105e-5,-1.0393953428156289e-8,6.738045432664134e-4,4.150094656252346e-5,-1.0450378613876328e-8,6.740899326696811e-4,4.168357203370962e-5,-1.0506544084907395e-8,6.742784623792691e-4,4.1793849405908306e-5,-1.0540362360195925e-8,6.744112537778521e-4,4.178074134045985e-5,-1.053345924363471e-8,6.745493044657425e-4,4.1621948675312874e-5,-1.0476951591107518e-8,6.747577135709221e-4,4.1334207987166106e-5,-1.0375304924468307e-8,6.750854372839487e-4,4.097200972504231e-5,-1.0246168788815136e-8,6.755482329271165e-4,4.0612262569480024e-5,-1.0115334350837037e-8,6.761231653952755e-4,4.032957409188221e-5,-1.0008413784011982e-8,6.767578521833027e-4,4.017301604488647e-5,-9.94290139609733e-9,6.773894310269758e-4,4.015465619698559e-5,-9.924065754328441e-9,6.779636072244319e-4,4.025271194279116e-5,-9.945684323589636e-9,6.784462992592076e-4,4.042426218751692e-5,-9.994032077050076e-9,6.788262531519046e-4,4.0619750895181834e-5,-1.0052621713449427e-8,6.791114670866537e-4,4.0793953317949755e-5,-1.0105937498144301e-8,6.793233103813246e-4,4.091197852871128e-5,-1.0141630257049476e-8,6.794909850969935e-4,4.0951453051865014e-5,-1.01514585939184e-8,6.7964728168145e-4,4.090274064307937e-5,-1.0131510062344522e-8,6.798254076015645e-4,4.076859742149239e-5,-1.0082138915684628e-8,6.800561699820016e-4,4.0563850495158245e-5,-1.0007849266961698e-8,6.8036477449427e-4,4.031492566409186e-5,-9.917132870207206e-9,6.807668440871827e-4,4.0058407100975396e-5,-9.822042726828585e-9,6.812639721347429e-4,3.98374389784475e-5,-9.737104678895134e-9,6.818400995093161e-4,3.9695020030860256e-5,-9.677186556046806e-9,6.824608377364019e-4,3.966437272967973e-5,-9.65429089058683e-9,6.830778514977682e-4,3.975846050622824e-5,-9.673896804332269e-9,6.8363893699842e-4,3.996251016407234e-5,-9.732153955509115e-9,6.841017372567231e-4,4.023361206932423e-5,-9.815394137449953e-9,6.844466228191916e-4,4.05092582535884e-5,-9.902727164968086e-9,6.846838738110617e-4,4.072297495515305e-5,-9.971213593928136e-9,6.848523051199315e-4,4.082220466885166e-5,-1.000201594026922e-8,6.850095982123903e-4,4.07828469698932e-5,-9.98560223372568e-9,6.852171873960667e-4,4.0616222783899834e-5,-9.924483469796086e-9,6.855238737488718e-4,4.036653532224773e-5,-9.832728989987601e-9,6.859526224257744e-4,4.00993290741107e-5,-9.732322816114245e-9,6.86494446675017e-4,3.988386503340198e-5,-9.647264291981038e-9,6.871115650576727e-4,3.977452661168896e-5,-9.597109977300679e-9,6.877489646437295e-4,3.979728759741124e-5,-9.592045225736865e-9,6.883501673843535e-4,3.994563772478752e-5,-9.631095222420986e-9,6.888714062386018e-4,4.018638516815171e-5,-9.70376889018204e-9,6.89289773006254e-4,4.047168422173579e-5,-9.79400284884246e-9,6.896042371432542e-4,4.075196513064055e-5,-9.884614283434994e-9,6.898314601928995e-4,4.0985699460782386e-5,-9.960814485912439e-9,6.899994707481199e-4,4.114457896454388e-5,-1.0012195088317796e-8,6.901416346331935e-4,4.1214864630885974e-5,-1.0033353714839723e-8,6.902920197616812e-4,4.119656099349532e-5,-1.0023683572674945e-8,6.904821165138293e-4,4.1101881144250444e-5,-9.986848350330236e-9,6.907382638650003e-4,4.09537582206849e-5,-9.930264533573738e-9,6.910790024415842e-4,4.0784383529647454e-5,-9.864646068425661e-9,6.915118287645734e-4,4.06330723894299e-5,-9.803388502339166e-9,6.92029478921974e-4,4.054225759251511e-5,-9.761330963984282e-9,6.926069404711696e-4,4.055042383207215e-5,-9.752392841996608e-9,6.93201577440324e-4,4.068187369966381e-5,-9.785963135087253e-9,6.937591702126083e-4,4.0935603885594335e-5,-9.86281521804032e-9,6.942270330740719e-4,4.1278405821690475e-5,-9.972398042232453e-9,6.945712632534799e-4,4.164815702606528e-5,-1.0093706764041374e-8,6.947908016139201e-4,4.196965425274466e-5,-1.0200641875276863e-8,6.949204861200494e-4,4.217816671559534e-5,-1.027018519806173e-8,6.950204845917e-4,4.2240436893643125e-5,-1.0289782773011855e-8,6.951568783835051e-4,4.2163991349505506e-5,-1.0260761389728324e-8,6.953820071952732e-4,4.1992296890793167e-5,-1.0196951522017627e-8,6.957214881833488e-4,4.1789873918597023e-5,-1.0119904592446122e-8,6.961704254910497e-4,4.162399139921554e-5,-1.0052855248199617e-8,6.966977464138914e-4,4.154851515582117e-5,-1.0015196278929336e-8,6.972559483814732e-4,4.159322790104321e-5,-1.0018554243928807e-8,6.977931798100247e-4,4.1759927789965654e-5,-1.006500579411969e-8,6.982647541256812e-4,4.202510292476047e-5,-1.0147554437825793e-8,6.986416504509654e-4,4.23477429452799e-5,-1.0252547579380231e-8,6.989144432942709e-4,4.267979568978907e-5,-1.0363254734980224e-8,6.990924889111561e-4,4.297633660441667e-5,-1.046354978955787e-8,6.991995765864698e-4,4.3203125469473766e-5,-1.0540778184890215e-8,6.992679525856361e-4,4.334055988722916e-5,-1.0587341630078698e-8,6.993324737511327e-4,4.338433788379723e-5,-1.0601042222300012e-8,6.994259422448656e-4,4.33439373540044e-5,-1.0584573537885036e-8,6.995758178822197e-4,4.324016014019141e-5,-1.0544655239898046e-8,6.998018846283525e-4,4.310255497934784e-5,-1.049116419505745e-8,7.001142366953494e-4,4.296687167505949e-5,-1.0436353487376878e-8,7.00511078834245e-4,4.28720812612912e-5,-1.0393964239501379e-8,7.009763426032131e-4,4.285598693783195e-5,-1.0377799290857615e-8,7.014781075470884e-4,4.294835757893481e-5,-1.0399281482030315e-8,7.01969994354906e-4,4.316142500987284e-5,-1.0463892261942207e-8,7.023982919714376e-4,4.3479848296496525E-05,-1.0567290124078954e-8,7.027162843902773e-4,4.385542505735799e-5,-1.0693127635927223e-8,7.029027821209852e-4,4.42135354664673e-5,-1.0815191406563102e-8,7.029758681401383e-4,4.44744496722845e-5,-1.0904987723913586e-8,7.029914590549362e-4,4.458263269534113e-5,-1.0942205658178163e-8,7.030240973959722e-4,4.4528749813272105e-5,-1.0922540209312683e-8,7.031394395161471e-4,4.435182467687107e-5,-1.0858532246731884e-8,7.033730001998939e-4,4.412187581728143e-5,-1.0773708033050758e-8,7.037236525719877e-4,4.391449186565976e-5,-1.0694038600834027e-8,7.041603691418619e-4,4.378961991431415e-5,-1.0640801646843702e-8,7.046353875274154e-4,4.378031259963003e-5,-1.0626632482199593e-8,7.050976569019387e-4,4.3890906265389334e-5,-1.0654550090175343e-8,7.055033512381783e-4,4.4101463726791514e-5,-1.0719012226212606e-8,7.058225832089542e-4,4.4375368649487437e-5,-1.0808140470310517e-8,7.060425584939559e-4,4.4667972118194066e-5,-1.0906544945457309e-8,7.061676354241381e-4,4.4934992978476056e-5,-1.0998328320161188e-8,7.062167941862384e-4,4.513963638656883e-5,-1.1069817830506132e-8,7.062192461146077e-4,4.525758094198104e-5,-1.1111586225981603e-8,7.062091365135665e-4,4.527941172781372e-5,-1.1119497270185845e-8,7.062203187254132e-4,4.521057587191405e-5,-1.1094762027694266e-8,7.062819845440831e-4,4.5069391812404094e-5,-1.1043233702560278e-8,7.06415505665796e-4,4.488393907460559e-5,-1.0974313413837001e-8,7.066323612634319e-4,4.4688540962570335e-5,-1.089978106738531e-8,7.069327966070445e-4,4.452012245181196e-5,-1.0832652650027417e-8,7.073048809528734e-4,4.4414291049901125e-5,-1.0785940512482935e-8,7.077239303819673e-4,4.4400593182769026e-5,-1.0771010723654536e-8,7.081530282662858e-4,4.449628480384157e-5,-1.0795218004047385e-8,7.08546309372772e-4,4.4698728013663695e-5,-1.0858860998889045e-8,7.088570074624559e-4,4.497837061391854e-5,-1.0952277710884579e-8,7.090511764918637e-4,4.527680031930541e-5,-1.1054882078469456e-8,7.091242875412201e-4,4.551603875633128e-5,-1.1138494306429178e-8,7.091120498076681e-4,4.562208888687946e-5,-1.117598713005094e-8,7.090846177539748e-4,4.5555482629709526e-5,-1.1152408119707443e-8,7.091216217038918e-4,4.533143658656323e-5,-1.1072207380177586e-8,7.092802036001695e-4,4.501504148607371e-5,-1.0957523637321026e-8,7.095747795025035e-4,4.469379194735881e-5,-1.0838617797559788e-8,7.099779924341384e-4,4.4444886939645104e-5,-1.0742641317809363e-8,7.104372322708001e-4,4.431417690490606e-5,-1.0686428868332595e-8,7.108944427121056e-4,4.43116119214771e-5,-1.067478403156329e-8,7.113007184917924e-4,4.441806234799192e-5,-1.0702470480375884e-8,7.11623679367533e-4,4.459632083759559e-5,-1.0757592826290675e-8,7.118492538786992e-4,4.480161570626685e-5,-1.0824953711808661e-8,7.11980233791131e-4,4.4989876558258635e-5,-1.0888886188899312e-8,7.120332870788396e-4,4.512373743613871e-5,-1.093553525218388e-8,7.120351830951165e-4,4.517671189813642e-5,-1.0954618391336977e-8,7.12018506314901e-4,4.513573773315998e-5,-1.094058962873492e-8,7.12017114163592e-4,4.500208629716573e-5,-1.0893112309757543e-8,7.120616914124563e-4,4.47905968840482e-5,-1.0816818974571956e-8,7.121758530794824e-4,4.452730583824109e-5,-1.0720449941183935e-8,7.12373225808455e-4,4.424582850797638e-5,-1.0615582948149321e-8,7.126557056969058e-4,4.3983020894276823E-05,-1.0515185840291802e-8,7.130128748690027e-4,4.377430370445033e-5,-1.0432097453514521e-8,7.134225026408814e-4,4.364884043657226e-5,-1.0377410518766734e-8,7.138521296875519e-4,4.3624612316220915e-5,-1.0358662531311387e-8,7.142621087199356e-4,4.370335181858926e-5,-1.0377769717223068e-8,7.146110340123279e-4,4.386580901383108e-5,-1.0428929632440784e-8,7.148644843579355e-4,4.406916289330847e-5,-1.0497305281474699e-8,7.150068229220568e-4,4.424991700273873e-5,-1.0559887164612516e-8,7.150530524366479e-4,4.4336178298709344e-5,-1.0590042672540263e-8,7.15053734810595e-4,4.42704276374271e-5,-1.056605287956476e-8,7.150846291680763e-4,4.403576931514396e-5,-1.0480847359923442e-8,7.152198511851885e-4,4.3670120179829765e-5,-1.0347183403858284e-8,7.155008744882165e-4,4.325529287265698e-5,-1.019372183871818e-8,7.159202063701489e-4,4.288442453165478e-5,-1.0053486378649688e-8,7.164288382090401e-4,4.262714020159595e-5,-9.95164253828637e-9,7.169595712173114e-4,4.2511112636761016e-5,-9.899008498589871e-9,7.174506599694499e-4,4.2524020942925516e-5,-9.892540841677029e-9,7.178598144621892e-4,4.2627404619268514e-5,-9.91983987587705e-9,7.181678446769699e-4,4.27721963699476e-5,-9.964266310840572e-9,7.183759126586623e-4,4.291045343841636e-5,-1.0008908875743132e-8,7.18500405594647e-4,4.300234497131943e-5,-1.0039122755238085e-8,7.185677828556197e-4,4.30196320106107e-5,-1.0044007543963475e-8,7.186101042079086e-4,4.294717412168661e-5,-1.001723346601736e-8,7.186610533817944e-4,4.278335317154585e-5,-9.957406051808767e-9,7.18752168284341e-4,4.253964376045135e-5,-9.867997924772748e-9,7.189091853091514e-4,4.2239192867652126e-5,-9.756827287293615e-9,7.191486680453425e-4,4.191412441845834e-5,-9.635062646698978e-9,7.194753833185204e-4,4.1601472907260915e-5,-9.515794554155215e-9,7.198809710473828e-4,4.1338056243998875e-5,-9.412302783608438e-9,7.203442861506658e-4,4.115483206636226e-5,-9.33615368049298e-9,7.208335901116579e-4,4.107136650050428e-5,-9.295250483512817e-9,7.21310582686931e-4,4.109113767836152e-5,-9.292009746461441e-9,7.217361374829578e-4,4.1198376722348027e-5,-9.321908690989147e-9,7.220776248483091e-4,4.135721706930838e-5,-9.372781644989014e-9,7.223174798075731e-4,4.151444248885548e-5,-9.42550576306746e-9,7.224616572947125e-4,4.160760778234224e-5,-9.456878589667109e-9,7.225448756233372e-4,4.157965702183735e-5,-9.445137808270311e-9,7.226279081272899e-4,4.139838628719147e-5,-9.377400707335786e-9,7.22782831518834e-4,4.107397411941798e-5,-9.256348015631858e-9,7.230679109607896e-4,4.066348908937088e-5,-9.10200491377539e-9,7.235030324353299e-4,4.025454393631868e-5,-8.94585670514005e-9,7.240604349135902e-4,3.993307278447048e-5,-8.819235976789946e-9,7.246770474161983e-4,3.9752475639384204e-5,-8.74220271896425e-9,7.25280167562206e-4,3.972032945361145e-5,-8.71863631377646e-9,7.258112499168408e-4,3.980545137139982e-5,-8.738490452126625e-9,7.262379795707331e-4,3.995588791311808e-5,-8.783922245220665e-9,7.265545698200255e-4,4.011659749582939e-5,-8.83541706972929e-9,7.267755339873465e-4,4.024105833074878e-5,-8.875936197311278e-9,7.269279845271264e-4,4.029652987094112e-5,-8.892976574019021e-9,7.270451450548466e-4,4.026516750216042e-5,-8.879235354411228e-9,7.271616327638609e-4,4.014326976173892e-5,-8.832575722188413e-9,7.273099551577129e-4,3.993996905439593e-5,-8.755682817923396e-9,7.275175140387404e-4,3.9675705000669275e-5,-8.65552457776656e-9,7.278037036096325e-4,3.938023732409923e-5,-8.542589315450922e-9,7.281770882665271e-4,3.9089662899162196e-5,-8.429786504232964e-9,7.286331360591269e-4,3.884197223268564e-5,-8.330888585721539e-9,7.291533677555678e-4,3.867120217350354e-5,-8.258515599405508e-9,7.297067738756757e-4,3.860090558086704e-5,-8.221844583454592e-9,7.302539666578742e-4,3.8638182704821905e-5,-8.224400957513714e-9,7.307538962269374e-4,3.876983049784128e-5,-8.262452625865695e-9,7.311722092434422e-4,3.896204742743471e-5,-8.324571705863522e-9,7.314897527645678e-4,3.9164524285314036e-5,-8.3927927962959e-9,7.317094414493923e-4,3.931904431090589e-5,-8.445566122962981e-9,7.318594845103638e-4,3.937201425400375e-5,-8.462392890762826e-9,7.319908066651358e-4,3.928917259530832e-5,-8.42948659848983e-9,7.321669790530052e-4,3.906885058053107e-5,-8.345010771919948e-9,7.324469928605998e-4,3.8748281868431985e-5,-8.22172192559327e-9,7.328651675913713e-4,3.839739804730499e-5,-8.084889760603431e-9,7.334166535442571e-4,3.809868218835139e-5,-7.964969302770367e-9,7.340570593855317e-4,3.791967584824037e-5,-7.88746795733556e-9,7.347180158889726e-4,3.789093829132095e-5,-7.864694610367329e-9,7.35330978895752e-4,3.799999059049531e-5,-7.893257941684946e-9,7.358473549973659e-4,3.820188625552753e-5,-7.95762224232136e-9,7.36247320859895e-4,3.8438037090302746e-5,-8.036768609057542e-9,7.365375874964547e-4,3.865343008418449e-5,-8.110432460280896e-9,7.367432165561168e-4,3.880698844533339e-5,-8.163005946748622e-9,7.368986354207467e-4,3.8875061863166875e-5,-8.185035831936871e-9,7.370405983510341e-4,3.885061218849014e-5,-8.173156102939069e-9,7.372035548293182e-4,3.8740714185469477e-5,-8.129326522098361e-9,7.374166923744471e-4,3.8563901864775714e-5,-8.05990590565618e-9,7.377017025310008e-4,3.834777065479802e-5,-7.974743340507008e-9,7.38070622142274e-4,3.8126512150255426e-5,-7.886238130470689e-9,7.385236155784789e-4,3.7937678633434624e-5,-7.80816935910351e-9,7.390471872462534e-4,3.7817479218706066e-5,-7.754041850862354e-9,7.39613896733862e-4,3.779443638936219e-5,-7.734832514708064e-9,7.401848806728716e-4,3.788221163124379e-5,-7.75635096994411e-9,7.407160397257579e-4,3.807351780711525e-5,-7.816863716772319e-9,7.411675017627108e-4,3.83377342940748e-5,-7.905958120875292e-9,7.415142919555773e-4,3.8624442718095306e-5,-8.005552813609206e-9,7.417549191637427e-4,3.887335159084064e-5,-8.093346705012602e-9,7.419146387750976e-4,3.902868594401002e-5,-8.14809060536792e-9,7.420415466924796e-4,3.9054260051663074e-5,-8.155305505607456e-9,7.421957712450767e-4,3.894484020912841e-5,-8.111780096870276e-9,7.424340938914088e-4,3.873006125504485e-5,-8.02737573183699e-9,7.42793899355561e-4,3.846880194086285e-5,-7.923264854219435e-9,7.432812620141698e-4,3.823437454532318e-5,-7.82664187542525e-9,7.438677441412036e-4,3.809405520022208e-5,-7.763143694430137e-9,7.444981839003461e-4,3.808955287654943e-5,-7.749409650064826e-9,7.451073361538792e-4,3.822586805072566e-5,-7.788599612458683e-9,7.456389114710405e-4,3.847282903416642e-5,-7.870587084328902e-9,7.460595325375159e-4,3.8777620572790256e-5,-7.97634017132848e-9,7.463633344203971e-4,3.90818258416466e-5,-8.084164382373755e-9,7.465679154850866e-4,3.9335967587656355e-5,-8.175197120055171e-9,7.467056704916095e-4,3.950769387356267e-5,-8.236653653676395e-9,7.468147802209882e-4,3.958364471163843e-5,-8.262748556136644e-9,7.469323302937862e-4,3.956728801685668e-5,-8.25406326448367e-9,7.470900224543724e-4,3.947522924674709e-5,-8.21625230612436E-09,7.473117786206921e-4,3.9333574246693434e-5,-8.15868872939971e-9,7.476122444451707e-4,3.917483364161524e-5,-8.093285230637837e-9,7.479954258414936e-4,3.9035053263447094e-5,-8.033430521419e-9,7.484532171378763e-4,3.8950407831258895e-5,-7.992775209673987e-9,7.489642810589979e-4,3.895244597740534e-5,-7.983527194781351e-9,7.494944525688141e-4,3.906165830601274e-5,-8.014060469529422e-9,7.500002746529996e-4,3.9280174203610924e-5,-8.086078232861302e-9,7.504369055959056e-4,3.9586013083436254e-5,-8.192238951203957e-9,7.507699029120727e-4,3.993257848288867e-5,-8.31570446363603e-9,7.509875768828624e-4,4.025651618290501e-5,-8.432888245201967e-9,7.511084739632404e-4,4.049377684511111e-5,-8.519412651981377e-9,7.511792950330379e-4,4.059903216808652e-5,-8.557453460506901e-9,7.51262580818493e-4,4.056073182061699e-5,-8.541545996409175e-9,7.514184424281146e-4,4.040549547796316e-5,-8.480474453332119e-9,7.516871944073718e-4,4.019036204144835e-5,-8.394680466844668e-9,7.520786833722089e-4,3.998634873333417e-5,-8.31041577663291e-9,7.525708694622507e-4,3.985920059382761e-5,-8.252707967838128e-9,7.531170338310043e-4,3.985300180192867e-5,-8.239147244363815e-9,7.536588526186752e-4,3.998070036708499e-5,-8.276008258796359e-9,7.541413990265233e-4,4.022342678605548e-5,-8.357544078241255e-9,7.54525863865062e-4,4.05380201242533e-5,-8.468421354961952e-9,7.547967008719969e-4,4.0869815523018587e-5,-8.588335122366214e-9,7.549619635945633e-4,4.116635887970118e-5,-8.697206288555848e-9,7.550480101612701e-4,4.1388047065979665e-5,-8.779387588935774e-9,7.550913554910073e-4,4.151357045899603e-5,-8.825967420826681e-9,7.551305842522161e-4,4.154031612162445e-5,-8.835132581061215e-9,7.552001895864037e-4,4.148139165922518e-5,-8.811164119887681e-9,7.55326828426084e-4,4.1361260126847735e-5,-8.762820923675844e-9,7.555274925687125e-4,4.12114438663705e-5,-8.70170647458801e-9,7.558087203055979e-4,4.1066871518413693e-5,-8.640891785799208e-9,7.561661037027524e-4,4.09626519740274e-5,-8.593743073534889e-9,7.565837873294337e-4,4.0930595848213674e-5,-8.572674913245856e-9,7.570343023719693e-4,4.0994708019895345e-5,-8.58746909968765e-9,7.574798432523166e-4,4.116526167701248e-5,-8.642942450707564e-9,7.578766597453443e-4,4.143219506580418e-5,-8.736227826676889e-9,7.581839700006578e-4,4.1760430647830195e-5,-8.85472089607003e-9,7.583769007372872e-4,4.209143613341075e-5,-8.97646260497755e-9,7.584593350854895e-4,4.235492678888832e-5,-9.074535079715516e-9,7.584693326984003e-4,4.249010700473473e-5,-9.125223368184249e-9,7.58470988460264e-4,4.246860282595259e-5,-9.116849569321388e-9,7.585337351705025e-4,4.230716762507732e-5,-9.054700673282172e-9,7.587083994551931e-4,4.206260627237825e-5,-8.959261900385463e-9,7.590114511903744e-4,4.181169099700161e-5,-8.858889905876627e-9,7.594231618304254e-4,4.162653730197789e-5,-8.780808674797843e-9,7.598974502542237e-4,4.155567159126383e-5,-8.744091746991325e-9,7.603770701441117e-4,4.161547883315085e-5,-8.756261200644959e-9,7.608083072352005e-4,4.1791395294714015e-5,-8.813314074637931e-9,7.611518311466191e-4,4.204568142158321e-5,-8.902175671211233e-9,7.613885521055572e-4,4.232834360337178e-5,-9.004492689727314e-9,7.615206177534766e-4,4.258845489577387e-5,-9.100837967244961e-9,7.61568322961355e-4,4.2783817580922045e-5,-9.174529986143186e-9,7.615641863347267e-4,4.288746563387388e-5,-9.214382010099968e-9,7.615458421224065e-4,4.289030424473849e-5,-9.215981555878051e-9,7.615493776879412e-4,4.280020160465099e-5,-9.181526671744856e-9,7.616042486398303e-4,4.26385797343642e-5,-9.118594656166542e-9,7.61730210455046e-4,4.2435795379432153e-5,-9.03837554219817e-9,7.61936050598561e-4,4.222646210520275e-5,-8.953874020503188e-9,7.622194897874063e-4,4.204535712200338e-5,-8.87837427683221e-9,7.625676250645121e-4,4.1923882039288665e-5,-8.824153587401546e-9,7.629576171601758e-4,4.188660389994002e-5,-8.801211913123232e-9,0.00076335781686778445,4.194730410322629e-5,-8.815719768604965e-9,7.637301806589586e-4,4.210424149540176e-5,-8.868024377405146e-9,7.640353866362429e-4,4.233530176320579e-5,-8.950502771608857e-9,7.642418368971225e-4,4.259542541961727e-5,-9.046295943306457e-9,7.643379706413167e-4,4.282042794217269e-5,-9.130652554192153e-9,7.643436783033333e-4,4.29411494887276e-5,-9.176459932444947e-9,7.643128225427903e-4,4.290719105443412e-5,-9.163573390875584e-9,7.643198908851147e-4,4.27107298651634e-5,-9.088104238947882e-9,7.644329712891078e-4,4.23954390951903e-5,-8.965872528852865e-9,7.646866633436667e-4,4.204199444422708e-5,-8.826934866527333e-9,7.650704200976676e-4,4.17372669333947e-5,-8.704057045239502e-9,7.655369936842672e-4,4.154471093131832e-5,-8.621706108552556e-9,7.660227565342318e-4,4.1489461027239444e-5,-8.590446292021975e-9,7.664679096395077e-4,4.155968867214678e-5,-8.60719762281304e-9,7.668295552510263e-4,4.1717667344140696e-5,-8.65897698447111e-9,7.670867797953163e-4,4.191334217832278e-5,-8.727615499482921e-9,7.672399375245228e-4,4.209611415617943e-5,-8.794011363368658e-9,7.673067113076542e-4,4.2223374435902354e-5,-8.841422117427617e-9,7.673167461421355e-4,4.226589688328241e-5,-8.857772846673981e-9,7.673057770691697e-4,4.221051342646373e-5,-8.837001052988211e-9,7.673098402283448e-4,4.206030802892788e-5,-8.779391079594279e-9,7.673601781277127e-4,4.18326361185597e-5,-8.690943756311483e-9,7.674793660680467e-4,4.1555511526051535e-5,-8.58199870451685e-9,7.676789770593695e-4,4.126301892957958e-5,-8.465429763661297e-9,7.679588364412986e-4,4.0990480338567314e-5,-8.354768907767848e-9,7.683075907368027e-4,4.077001331558171e-5,-8.262536838002104e-9,7.687041577968274e-4,4.062672035544098e-5,-8.198843955832656e-9,7.691197778494181e-4,4.057536670843389e-5,-8.170131786714939e-9,7.69520695114969e-4,4.061730481647757e-5,-8.17788778750396e-9,7.698719236009533e-4,4.073758088267318e-5,-8.217289031700045e-9,7.701429410375053e-4,4.090284202188645e-5,-8.276083307954193e-9,7.703158959245221e-4,4.106194157234824e-5,-8.334583011415699e-9]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json new file mode 100644 index 000000000..ed067a159 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":12000,"numberOfSamples":1000,"samples":[7.703954280162467e-4,4.1152337826266915e-5,-8.368108119871265e-9,7.704163319665058e-4,4.111507788730868e-5,-8.352989399151336e-9,7.704421464154993e-4,4.091720944904923e-5,-8.275542352848811e-9,7.705485092428724e-4,4.05724562623383e-5,-8.140252864992262e-9,7.707939985966856e-4,4.014524130054576e-5,-7.971353086916377e-9,7.71193504222048e-4,3.972957759547678e-5,-7.80469566907836e-9,7.717115053607008e-4,3.9412072212316335e-5,-7.673655282248528e-9,7.722792203821364e-4,3.924081276169691e-5,-7.597334312683116e-9,7.728228927422465e-4,3.921592014800571e-5,-7.576902082499595e-9,7.732865636479628e-4,3.930044006202883e-5,-7.599469965429773e-9,7.736417360467977e-4,3.9439508716162856e-5,-7.645015059481085e-9,7.738862021781628e-4,3.9577299627356655e-5,-7.692550022805146e-9,7.740375781067476e-4,3.9667776867413035e-5,-7.724156675043192e-9,7.741257583521852e-4,3.9679734947780095e-5,-7.727075835179889e-9,7.741863193020013e-4,3.959810915098842e-5,-7.69451274251175e-9,7.742552430288779e-4,3.9423328672554246e-5,-7.625696494804441e-9,7.743646142276804e-4,3.9169548057952974e-5,-7.525395913350832e-9,7.745390796275454e-4,3.886191912277735e-5,-7.4029175785362335e-9,7.747931611691499e-4,3.853296073940333e-5,-7.2706518736087654e-9,7.751296404933389e-4,3.821816871539602e-5,-7.14230656603222e-9,7.75539277044951e-4,3.795118644851318e-5,-7.03102083378519e-9,7.760019965895818e-4,3.7759097444815016e-5,-6.947589780698099e-9,7.764894114568546e-4,3.7658393030000226e-5,-6.898960011119357e-9,7.769683935525284e-4,3.765194567776308e-5,-6.887041206138857e-9,7.77405468600329e-4,3.7727187339015794e-5,-6.907852463658269e-9,7.777719367210197e-4,3.7855696317654865e-5,-6.951096001721251e-9,7.780497715515111e-4,3.799465132874708e-5,-7.000433114460731e-9,7.782381033839588e-4,3.809125972066116e-5,-7.035036448543083e-9,7.783590131789634e-4,3.809174285674149e-5,-7.033143881376136e-9,7.784595953194529e-4,3.795570392998253e-5,-6.97793131163529e-9,7.786057068107846e-4,3.767368510457848e-5,-6.864708360881282e-9,7.78863996118783e-4,3.728037531656348e-5,-6.706310810691064e-9,7.792756265371022e-4,3.685219468959701e-5,-6.532225465482031e-9,7.798348397283327e-4,3.648330405006227e-5,-6.379231745544197e-9,7.804875774404013e-4,3.624915992465997e-5,-6.277220111165846e-9,7.811532791147602e-4,3.6178446406365796e-5,-6.238248751260801e-9,7.817563618614648e-4,3.624887846641678e-5,-6.254752293779451e-9,7.822492066349364e-4,3.6404572752001926e-5,-6.305999039127454e-9,7.826184621073835e-4,3.658034238992342e-5,-6.367226110433409e-9,7.828786448897808e-4,3.672020080806501e-5,-6.416659701095429e-9,7.830611528872669e-4,3.678622737434062e-5,-6.439002339589363e-9,7.83204269111392e-4,3.6760045223355876e-5,-6.4262288080890655e-9,7.83346116265409e-4,3.6640538094929564e-5,-6.376990645821899e-9,7.835202865150684e-4,3.644047816686522e-5,-6.2955425776532835e-9,7.837530585274323e-4,3.618322636043522e-5,-6.190565289506217e-9,7.840613538345039e-4,3.5899528490766174e-5,-6.073894295370791e-9,7.844511692520874e-4,3.56240404001225e-5,-5.959079652820332e-9,7.849166362486965e-4,3.5391266889247926e-5,-5.859734881539029e-9,7.854401461991078e-4,3.5230870470624936e-5,-5.787703349498604e-9,7.85994077008628e-4,3.516280326863614e-5,-5.751203618221222e-9,7.865443681490566e-4,3.519312942196211e-5,-5.753224515569559e-9,7.870557121649313e-4,3.531147041257569e-5,-5.790462278713693e-9,7.874977374834473e-4,3.549084781661851e-5,-5.8530751899271e-9,7.878512977067683e-4,3.5690381696580056e-5,-5.925483082828172e-9,7.88113902130303e-4,3.586089281430252e-5,-5.9883395159535995e-9,7.883033069918536e-4,3.595324388575569e-5,-6.021732124830117e-9,7.884579960410935e-4,3.5929083510116866e-5,-6.009544248256601e-9,7.886327975757129e-4,3.577280030598468e-5,-5.9444715378693474e-9,7.888879780100181e-4,3.550164046195876e-5,-5.832367391647236e-9,7.8927192870103e-4,3.51687389345516e-5,-5.693704861085736e-9,7.898018205719634e-4,3.4853326117873307e-5,-5.559814012217819e-9,7.904515896948133e-4,3.4636846056963114e-5,-5.463410169207496e-9,7.911567365586743e-4,3.457328365667514e-5,-5.426733674861982e-9,7.91836723351535e-4,3.4669207955395765e-5,-5.453450884163303e-9,7.924237202788972e-4,3.488486649734166e-5,-5.5288267094573905e-9,7.928824548961669e-4,3.515389152880303e-5,-5.627269436403621e-9,7.932136820118008e-4,3.540839736028799e-5,-5.722097489506235e-9,7.934449059141124e-4,3.5597063748403574e-5,-5.792673659357338e-9,7.936168882573704e-4,3.569210775996662e-5,-5.827295173952732e-9,7.937723217445624e-4,3.568791359332356e-5,-5.822884193637893e-9,7.93948800831336e-4,3.559595323883983e-5,-5.783216738249511e-9,7.941754088277288e-4,3.543933477989003e-5,-5.716920600537979e-9,7.944713320113322e-4,3.524834071649752e-5,-5.635744464363097e-9,7.948452117223364e-4,3.505690102972568e-5,-5.5531067119024055e-9,7.952946621025866e-4,3.489936168856889e-5,-5.482741290558481e-9,7.958060134527227e-4,3.4806877971801684e-5,-5.437234302862502e-9,7.963548356244236e-4,3.4803064153757236e-5,-5.4263155715433935e-9,7.969080873912969e-4,3.4899187129560714e-5,-5.454979598662578e-9,7.974285582348853e-4,3.50899868901018e-5,-5.521799771482021e-9,7.978815595783528e-4,3.53517139310461e-5,-5.618028402827992e-9,7.982428279621153e-4,3.5643920541599894e-5,-5.728107579266846e-9,7.985056927078104e-4,3.591576113045357e-5,-5.8319638327390805e-9,7.986852279968585e-4,3.6116131940588234e-5,-5.908914090462572e-9,7.988176580367524e-4,3.620557989303193e-5,-5.942429308719043e-9,7.989544079791842e-4,3.616720864975489e-5,-5.924668401918435e-9,7.991513656849079e-4,3.601375362426653e-5,-5.859607617947738e-9,7.994550428476274e-4,3.5788266373648105e-5,-5.763648882378041e-9,7.99888593020665e-4,3.5556588356057684e-5,-5.662870662485801e-9,8.004419741134302e-4,3.539153188530321e-5,-5.586797190304597e-9,8.010710698253013e-4,3.5351857597047766e-5,-5.559879219657929e-9,8.017086298947224e-4,3.546304659868737e-5,-5.5935163200738305e-9,8.022846671415112e-4,3.5708577068191366e-5,-5.6822096378184195e-9,8.027481145977655e-4,3.603666410112383e-5,-5.805964874906324e-9,8.03080122412991e-4,3.637928126071499e-5,-5.9377647708489825e-9,8.032943410005627e-4,3.66738652272459e-5,-6.0522761139605395e-9,8.034269249007324e-4,3.687843167960255e-5,-6.132033879229968e-9,8.035230519879982e-4,3.697653334579644e-5,-6.1696217748146e-9,8.036257380118303e-4,3.6974206946549126e-5,-6.166656508896828e-9,8.037692352128727e-4,3.689330257374978e-5,-6.131278442552063e-9,8.039764427338145e-4,3.6764723596644845e-5,-6.075520263494496e-9,8.042586457584074e-4,3.662315128777011e-5,-6.013183162784273e-9,8.046160819092535e-4,3.6503272989771094e-5,-5.9582713714511854e-9,8.050385231957502e-4,3.643678976682334e-5,-5.9237473528870625e-9,8.055057955743184e-4,3.644934285412461e-5,-5.920288595123292e-9,8.05988792090945e-4,3.655676717208342e-5,-5.95478706400642e-9,8.064519656770659e-4,3.676075426661275e-5,-6.028574833606665e-9,8.068582848986766e-4,3.7045013088594046e-5,-6.1357749440002495e-9,8.071769237677392e-4,3.737399900933667e-5,-6.26261951082692e-9,8.073924491758243e-4,3.769659412573422e-5,-6.388754892200863e-9,8.075124666197616e-4,3.7955997865778476e-5,-6.491115253060035e-9,8.075698393218493e-4,3.8104352666225344e-5,-6.549812033282912e-9,8.07616918266904e-4,3.811755258854625e-5,-6.5542030392740885e-9,8.077125028108634e-4,3.8004458985452114e-5,-6.506795533466793e-9,8.079056000982033e-4,3.780654452780539e-5,-6.4233624926436094e-9,8.082214227720043e-4,3.758774308343327e-5,-6.3291414262697445e-9,8.086539871520523e-4,3.741775103981728e-5,-6.252328710187585e-9,8.091672759069606e-4,3.7353752588214316e-5,-6.216752306565877e-9,8.097045052884347e-4,3.742558962134468e-5,-6.235686559437506e-9,8.10203012993122e-4,3.7628423384850995e-5,-6.308502277607127e-9,8.106106251449948e-4,3.792510731679957e-5,-6.421212634856097e-9,8.108985322821864e-4,3.8257644162653106e-5,-6.550833196339432e-9,8.11066628774171e-4,3.856383400569566e-5,-6.6720638631456955e-9,8.111401568994287e-4,3.8793232686939005e-5,-6.763879623403471e-9,8.111600098107639e-4,3.89173073971411e-5,-6.813868422693099e-9,8.111711107269196e-4,3.893182181341246e-5,-6.8194280235812216e-9,8.112128636990658e-4,3.8852913529948424e-5,-6.786357912765378e-9,8.1131356935384e-4,3.8710088334482416e-5,-6.726121364291298e-9,8.114885730374386e-4,3.853908980505929e-5,-6.652976845483148e-9,8.117408037071133e-4,3.837625006855202e-5,-6.5816575047402725e-9,8.120622864326276e-4,3.825456404102906e-5,-6.5257403552766695e-9,8.124357145823514e-4,3.82008938099246e-5,-6.496493824519633e-9,8.128358550233297e-4,3.823344877076438e-5,-6.50185004606853e-9,8.132312194083829e-4,3.8358874558908814e-5,-6.54518991660995e-9,8.135869354214777e-4,3.856887726212377e-5,-6.623869747140799e-9,8.138698868858205e-4,3.8837323813125146e-5,-6.727869263055802e-9,8.140566018155787e-4,3.91199837876055e-5,-6.83950023112515e-9,8.141427039935174e-4,3.935979230186433e-5,-6.9354371500791985e-9,8.14150262656473e-4,3.949946847388898e-5,-6.9918722744796985e-9,8.141277285832854e-4,3.949960053306327e-5,-6.991994835378283e-9,8.141388942367572e-4,3.935526219250151e-5,-6.93289197521611e-9,8.142430879224422e-4,3.910207785679162e-5,-6.8281493368907015e-9,8.144749296276758e-4,3.880686864520632e-5,-6.704223833237992e-9,8.1483306083408e-4,3.854646680042599e-5,-6.592073096421126e-9,8.152821053230805e-4,3.838435896231063e-5,-6.5178631025860026e-9,8.157651947313659e-4,3.835428291873892e-5,-6.49629781434836e-9,8.162207450781731e-4,3.845478693315215e-5,-6.528135674230928e-9,8.16597684699937e-4,3.865376270796675e-5,-6.60159629155916e-9,8.168657158061926e-4,3.889947743847334e-5,-6.69644446442954e-9,8.170194049574676e-4,3.913422953807289e-5,-6.7893400986806185e-9,8.17076394641524e-4,3.930728020730456e-5,-6.85914255437804e-9,8.170710316645813e-4,3.938449175604022e-5,-6.891061862959034e-9,8.170454569870298e-4,3.935306732398158e-5,-6.878882809994513e-9,8.170405722878981e-4,3.9221105681444305e-5,-6.825033584806315e-9,8.1708896023377e-4,3.901310215359767e-5,-6.7388979016364186e-9,8.172108407223391e-4,3.87633764776707e-5,-6.634171213681119e-9,8.174130175522054e-4,3.850938229687362e-5,-6.526094414707984e-9,8.176899834395489e-4,3.8286205079792516e-5,-6.4291520891420515e-9,8.180260959470649e-4,3.812267075009407e-5,-6.3554492104173685e-9,8.183979894619872e-4,3.803873780290355e-5,-6.313637763487015e-9,8.187769116206049e-4,3.804351923521837e-5,-6.308093725118056e-9,8.191312129866966e-4,3.813337134793312e-5,-6.338063937256885e-9,8.194296942684052e-4,3.8289922698924704e-5,-6.396704673018225e-9,8.196467238419641e-4,3.847879781237149e-5,-6.470354270719354e-9,8.197695294206804e-4,3.8650968100779566e-5,-6.538921130269099e-9,8.19806513649201e-4,3.874943540462814e-5,-6.5785960033068025e-9,8.197929489727498e-4,3.8723134804595094e-5,-6.5676898771434025e-9,8.197883002079536e-4,3.854613941350416e-5,-6.4947236728071645e-9,8.198609759695765e-4,3.823403064971981e-5,-6.365297279203114e-9,8.200636944477346e-4,3.784594464219167e-5,-6.203000857389413e-9,0.000820411436661712,3.746667085519243e-5,-6.042172936215794e-9,8.208749674671344e-4,3.7176223092774686e-5,-5.915617415305801e-9,8.213932248000017e-4,3.7022992160726405e-5,-5.843759010230899e-9,8.218961027605576e-4,3.701275044446644e-5,-5.830076453078521e-9,8.223254904904929e-4,3.711435819021485e-5,-5.863118056849916e-9,8.226473843906112e-4,3.727482958449793e-5,-5.922239824745653e-9,8.228545590175748e-4,3.7435687186837764e-5,-5.983966399587255e-9,8.229627474394682e-4,3.7545885310616436e-5,-6.027176921838554e-9,8.230036090129152e-4,3.756990148797665e-5,-6.036554527428151e-9,8.230167806825249e-4,3.749138311092206e-5,-6.004372061981051e-9,8.230423185742567e-4,3.731317666393389e-5,-5.930818699795622e-9,8.231143493501816e-4,3.705449505134662e-5,-5.823063768625377e-9,8.23256553209646e-4,3.674606808012696e-5,-5.693352353058202e-9,8.234798189428454e-4,3.642429612693932e-5,-5.556571384393087e-9,8.237820413355269e-4,3.6125418828181186e-5,-5.427765212931279e-9,8.241496751844597e-4,3.588054059534543e-5,-5.320016584338888e-9,8.245603883153199e-4,3.571199342395666e-5,-5.242923452023574e-9,8.249861688108776e-4,3.563099782478505e-5,-5.201638270344065e-9,8.253965549120751e-4,3.563626588694151e-5,-5.1962726434097535e-9,8.257620082869455e-4,3.571323197160154e-5,-5.221486300041849e-9,8.260577695440884e-4,3.583385451251235e-5,-5.266230045559657e-9,8.262687299902825e-4,3.595753207818218e-5,-5.313924512584801e-9,8.263954241197148e-4,3.6034603798458864e-5,-5.343784865943491e-9,8.264598903887887e-4,3.601442540484084e-5,-5.334201311502159e-9,8.265081515702821e-4,3.585914554288692e-5,-5.268642284511385e-9,8.26604385596247e-4,3.556101693181241e-5,-5.143074426032549e-9,8.268132192939278e-4,3.515537353926115e-5,-4.971501142912185e-9,8.271738744510702e-4,3.471782861774951e-5,-4.7848532086355065e-9,8.276795586094963e-4,3.4340322196190036e-5,-4.621118053741745e-9,8.282766891716653e-4,3.4095760039524445e-5,-4.5108069909192165e-9,8.288861464980373e-4,3.401140563924369e-5,-4.465996728964361e-9,8.29433355059079e-4,3.406500941237964e-5,-4.4785874372255114e-9,8.298704729894737e-4,3.420103631857123e-5,-4.526688711410476e-9,8.301833096396713e-4,3.4353709967328716e-5,-4.583790454622501e-9,8.303862100769367e-4,3.446546478614344e-5,-4.626173157513306e-9,8.305118250621173e-4,3.449687603771798e-5,-4.6370194576684565e-9,8.306008664699762e-4,3.442941009341466e-5,-4.607762309491803e-9,8.306940322478887e-4,3.426386875947961e-5,-4.537752547464339e-9,8.308263261536525e-4,3.401682527001027e-5,-4.4330652748613145e-9,8.310232819304966e-4,3.371620106257414e-5,-4.304822699303797e-9,8.312987280593526e-4,3.339641097448233e-5,-4.167187973746248e-9,8.31653979219806e-4,3.309335744578138e-5,-4.0351952674026125e-9,8.32078417238307e-4,3.283958122742209e-5,-3.9226242940869606e-9,8.325514069439921e-4,3.26599656110982e-5,-3.8401496329485945e-9,8.330453353948687e-4,3.256846904668967e-5,-3.793977723288974e-9,8.335293651888821e-4,3.2566169333962955e-5,-3.785049055168084e-9,8.33973516225973e-4,3.264061001145597e-5,-3.808740687729704e-9,8.343528580041156e-4,3.2766396288388346e-5,-3.855005633134729e-9,8.346517248312861e-4,3.290709657118518e-5,-3.9089874063833434e-9,8.348679389439184e-4,3.301872928211123e-5,-3.95230090306051e-9,8.350167359300278e-4,3.305558632640454e-5,-3.965393684369818e-9,8.351331058149185e-4,3.297932755397413e-5,-3.9314416005053e-9,8.352699660831031e-4,3.277126367429032e-5,-3.8417220291605366e-9,8.354889117471341e-4,3.244507340953231e-5,-3.7012047953805833e-9,8.358419691208809e-4,3.205326833172769e-5,-3.531440109697599e-9,8.36348763283404e-4,3.167867290599403e-5,-3.3670502139274996e-9,8.369813197061595e-4,3.140782451156133e-5,-3.244586908337016e-9,8.376693061030729e-4,3.129669563122999e-5,-3.1881493598681102e-9,8.383263658012633e-4,3.134863920078477e-5,-3.200051972071662e-9,8.388826052155265e-4,3.151766556410064e-5,-3.2619908468242225e-9,8.393050072888866e-4,3.173205489277276e-5,-3.344664087646371e-9,8.395988757541516e-4,3.192172100776251e-5,-3.419003963066664e-9,8.397963286098811e-4,3.203621272799185e-5,-3.46362815353071e-9,8.399416326313247e-4,3.205061679819683e-5,-3.4674080518768483e-9,8.400794992423449e-4,3.1963263817541386e-5,-3.4287495907215916e-9,8.402479103687121e-4,3.179002909330446e-5,-3.3534888117140308e-9,8.404745687451004e-4,3.155830071326884e-5,-3.2525737289196144e-9,8.407754646399417e-4,3.130173895136262e-5,-3.1399368209433314e-9,8.41154541388092e-4,3.1055764720891035e-5,-3.0305415711644196e-9,8.416041280544131e-4,3.085345156272672e-5,-2.9385364426828023e-9,8.421061656017975e-4,3.072164283076384e-5,-2.8755213785209154e-9,8.426344113814458e-4,3.067736638925079e-5,-2.8490015368691745e-9,8.431577953645121e-4,3.072498523450466e-5,-2.8612024549307127e-9,8.436447971117692e-4,3.085470440573325e-5,-2.9084547718786858e-9,8.440683720702881e-4,3.1042869672780824e-5,-2.981273689818602e-9,8.444108321936859e-4,3.125426055813509e-5,-3.065198477158535e-9,8.446680629527056e-4,3.144642492558669e-5,-3.142451937358192e-9,8.448524507159502e-4,3.15759057443261e-5,-3.194437005461156e-9,8.449938340091091e-4,3.160610588444374e-5,-3.2050494314965393e-9,8.451374660071655e-4,3.151638576719877e-5,-3.1646699302547115e-9,8.453375715697237e-4,3.1311130994121866e-5,-3.0742611477808833e-9,8.456453986738488e-4,3.1025780835067146e-5,-2.94819557957702e-9,8.46092653379528e-4,3.0725045293271956e-5,-2.81368862948315e-9,8.466753220872281e-4,3.0488818598972834e-5,-2.704879810332908e-9,8.473471109643087e-4,3.038640446510119e-5,-2.6518278127619258e-9,8.480305696476147e-4,3.0449024854662588e-5,-2.668679548466348e-9,8.486441257401572e-4,3.065628903781551e-5,-2.7477040330430985e-9,8.491313375173792e-4,3.094576582096809e-5,-2.8631317709746885e-9,8.494766164139384e-4,3.123946697058364e-5,-2.9822273668107125e-9,8.497020423260754e-4,3.1471127846907625e-5,-3.0767866876898872e-9,8.498521170161459e-4,3.16017891014394e-5,-3.129775126187276e-9,8.499770409409726e-4,3.1621830699592834e-5,-3.1363362066964675e-9,8.501209480543094e-4,3.1544720456021056e-5,-3.1013685836141294e-9,8.503161532077362e-4,3.1398399640952655e-5,-3.036097487468567e-9,8.505816546173871e-4,3.1217759899263695e-5,-2.9550165687006546e-9,8.509236995527479e-4,3.103916188717301e-5,-2.8735662703891047e-9,8.513369862483362e-4,3.0896507607776705e-5,-2.8063743424389867e-9,8.518060495699486e-4,3.081805794501351e-5,-2.7657886014572145e-9,8.523069735798167e-4,3.082345930368575e-5,-2.7605358876292335e-9,8.528098318936862e-4,3.0920864735206294e-5,-2.79447672381635e-9,8.532822991542584e-4,3.110457416848017e-5,-2.8656065993726486e-9,8.536945524033567e-4,3.1354085988535145e-5,-2.965633018689591e-9,8.540249574865114e-4,3.163548969538209e-5,-3.080489694586202e-9,8.542654720972812e-4,3.190574453586719e-5,-3.192028596537508e-9,8.544254041595665e-4,3.211974836915866e-5,-3.28090202256463e-9,8.545322236510779e-4,3.2239278828225266e-5,-3.3303148632010992e-9,8.546285733291039e-4,3.224218246448245e-5,-3.330007151957699e-9,8.547652672831671e-4,3.2129878781118014e-5,-3.279649312494011e-9,8.549907364400541e-4,3.193111420486313e-5,-3.1907193571916717e-9,8.553382926807156e-4,3.1699773222277685e-5,-3.0858345714949625e-9,8.558140144434115e-4,3.150496484434305e-5,-2.9946769942906606e-9,8.563897321781071e-4,3.1413455736156216e-5,-2.9464704670555277e-9,8.570061787799461e-4,3.1468304822318046e-5,-2.960646903904852e-9,8.575886586831152e-4,3.167199701229673e-5,-3.039317862345337e-9,8.580709942206223e-4,3.198346246211776e-5,-3.1656988018487623e-9,8.584171135061124e-4,3.233248147476386e-5,-3.310099393214403e-9,8.586297960336273e-4,3.264478971416768e-5,-3.440645754903185e-9,8.587438963877701e-4,3.286515489171303e-5,-3.5332321749884526e-9,8.58810255130539e-4,3.2968897888927814e-5,-3.5765784450704622e-9,8.588794391843271e-4,3.2960802961293873e-5,-3.5719305847910328e-9,8.589911009932855e-4,3.2866533850223576e-5,-3.529577019202463e-9,8.591697919005255e-4,3.272249454060714e-5,-3.4646650245504987e-9,8.594251730433313e-4,3.256765883619841e-5,-3.393767811079765e-9,8.597541389353542e-4,3.2438210292960187e-5,-3.3325521813766835e-9,8.601432315592983e-4,3.236427582707883e-5,-3.2942803106507433e-9,8.605707893509768e-4,3.236765846754327e-5,-3.2887387933129255e-9,8.610090272757816e-4,3.245976837958149e-5,-3.3212886990489386e-9,8.614266330715411e-4,3.2639496241471747e-5,-3.3919234343927197e-9,8.617925265638105e-4,3.289145361493536e-5,-3.4944824234170423e-9,8.620810773671341e-4,3.318566240946574e-5,-3.616455097562243e-9,8.62278291344594e-4,3.3480062508905175e-5,-3.7399625948591e-9,8.623874686730959e-4,3.372681857367478e-5,-3.844371487446432e-9,8.624320722870976e-4,3.38822001208865e-5,-3.910489310686052e-9,8.624536695365803e-4,3.391801974913249e-5,-3.925509323340507e-9,8.625041693741896e-4,3.3831145103447495e-5,-3.887217720697746e-9,8.626336863724894e-4,3.364749744285424e-5,-3.805912914971897e-9,8.628771728569449e-4,3.34184061309152e-5,-3.703085242205503e-9,8.632436901356097e-4,3.3209472451514874e-5,-3.606852247536402e-9,8.637117164869609e-4,3.30843353744748e-5,-3.5450791305814132e-9,8.64232526978409e-4,3.30874054017447e-5,-3.537852982664476e-9,8.647417259564168e-4,3.32305264787094e-5,-3.591449619924816e-9,8.651764977358669e-4,3.348834402295054e-5,-3.695963620118213e-9,8.654934113410493e-4,3.380514974584113e-5,-3.827962144226022e-9,8.65680227216288e-4,3.411174050293928e-5,-3.957644664897803e-9,8.657570330287688e-4,3.4346041766830635e-5,-4.057808965225653e-9,8.657669387277931e-4,3.446932313815453e-5,-4.11101586076775e-9,8.657613435022625e-4,3.4472588411529344e-5,-4.112539581686109e-9,8.657862135868558e-4,3.4373094380466114e-5,-4.069050533975013e-9,8.658735763707832e-4,3.4205060581144676e-5,-3.99475967321788e-9,8.660388852455758e-4,3.400943296480929e-5,-3.907091687927469e-9,8.66282466493992e-4,3.3825844969993364e-5,-3.823219696797409e-9,8.665927137849105e-4,3.3687619719216236e-5,-3.7578388388344435e-9,8.669494024009601e-4,3.361913423273398e-5,-3.7219299984715987e-9,8.673264891657124e-4,3.363439881774626e-5,-3.7220625465320145e-9,8.676945418145927e-4,3.373592694579208e-5,-3.7598487309122184e-9,8.680234235964354e-4,3.391351714465576e-5,-3.831368929963179e-9,8.682859972296471e-4,3.4143297256214016e-5,-3.926691202132316e-9,8.684632880644983e-4,3.4388163647136244e-5,-4.029972466578756e-9,8.685506814790997e-4,3.460127638371885e-5,-4.120889818604067e-9,8.685633840062911e-4,3.4734023180121915e-5,-4.178058611548191e-9,8.685380720783138e-4,3.4748252417980764e-5,-4.184372534042753e-9,8.685276349437916e-4,3.462966914812959e-5,-4.132901756292709e-9,8.685883291320915e-4,3.439669502663824e-5,-4.030854924441111e-9,8.687628382465881e-4,3.409933619952682e-5,-3.8992420211352555e-9,8.690658895057307e-4,3.3806647123293056e-5,-3.767634596223998e-9,8.694785799556857e-4,3.358696397155016e-5,-3.66578227162126e-9,8.69953568550893e-4,3.348840676249508e-5,-3.6152232829612797e-9,8.704286241585501e-4,3.352635120659295e-5,-3.623705146793659e-9,8.708434233092473e-4,3.36810197345908e-5,-3.6838087593563796e-9,8.711544860856722e-4,3.390464015558857e-5,-3.775680273187482e-9,8.713445725476498e-4,3.4135193673201416e-5,-3.872743220397276e-9,8.714246913321904e-4,3.4312587501143965e-5,-3.948669842514471e-9,8.714288385999942e-4,3.4392832306213484e-5,-3.983673438771948e-9,8.714035709437477e-4,3.4356588349835174e-5,-3.968454991877816e-9,8.713959401397892e-4,3.4210390500048455e-5,-3.904979500162979e-9,8.714434314935408e-4,3.398142071965159e-5,-3.80439632081465e-9,8.715682144280527e-4,3.370866502664886e-5,-3.6833035835006632e-9,8.717760142029626e-4,3.343373250814609e-5,-3.5597712152619653e-9,8.720583485322628e-4,3.3193644320049306e-5,-3.450143545804329e-9,8.723963305223968e-4,3.301640385510928e-5,-3.367013852901416e-9,8.727645877754009e-4,3.2918942751948914e-5,-3.318240190622122e-9,8.731346053164378e-4,3.290646426016532e-5,-3.3065975355143806e-9,8.734775263631105e-4,3.297227361968222e-5,-3.329661479803068e-9,8.737669246598247e-4,3.3097659941762863e-5,-3.3797021541565744e-9,8.739822501713752e-4,3.325204966262417e-5,-3.443668277316694e-9,8.741134429392175e-4,3.339441456133996e-5,-3.5037068763647772e-9,8.741663973729802e-4,3.347758868121113e-5,-3.538992779628764e-9,8.741674829281171e-4,3.3457101736264556e-5,-3.529614543781381e-9,8.741636709228396e-4,3.33044797175946e-5,-3.4624919926690294e-9,8.742144615830622e-4,3.302135267114131e-5,-3.337668517116169e-9,8.743747932608298e-4,3.264687423555464e-5,-3.1716545924770886e-9,8.746743840366114e-4,3.2251051243278426e-5,-2.9946081022665746e-9,8.751039489192597e-4,3.1913364921373566e-5,-2.841130150424048e-9,8.75616678903275e-4,3.169573821909346e-5,-2.738595983860198e-9,8.761445007935473e-4,3.162302292091491e-5,-2.698649906049282e-9,8.766203447195945e-4,3.167892308982781e-5,-2.715236885002451e-9,8.769963987697803e-4,3.18159383463042e-5,-2.7686104110067445e-9,8.772531062745815e-4,3.197221978649029e-5,-2.8323654947714774e-9,8.773990475854998e-4,3.2088299096119665e-5,-2.880564943726866e-9,8.774645762292172e-4,3.211954673233677e-5,-2.893205151464858e-9,8.774924155916585e-4,3.204298846969703e-5,-2.8593905607603026e-9,8.775277330636137e-4,3.185874387139908e-5,-2.778242446816188e-9,8.776094585559394e-4,3.158700840416259e-5,-2.657838435817586e-9,8.777641128132043e-4,3.126183960920271e-5,-2.5126548703569532e-9,8.78002877757191e-4,3.092341017264447e-5,-2.360210638245288e-9,8.78321864386743e-4,3.061051760107952e-5,-2.217716237311034e-9,8.787048132667152e-4,3.0354696413936292e-5,-2.0993733631963004e-9,8.791271129207127e-4,3.0176554948077197e-5,-2.0146576508170057e-9,8.795600526842855e-4,3.0084265265720063e-5,-1.9675904842138486e-9,8.799746005764623e-4,3.0073592700195904e-5,-1.9567272155798592e-9,8.803445685727407e-4,3.0128701933306585e-5,-1.9754931411414064e-9,8.806494724082241e-4,3.0223295863434567e-5,-2.012635250546257e-9,8.808775707256542e-4,3.0322170015652122e-5,-2.052817626545346e-9,8.810294629751855e-4,3.0383874541022066e-5,-2.077700737209661e-9,8.811219817814094e-4,3.0365784932921254e-5,-2.068140259899549e-9,8.811907881742122e-4,3.0232911390513986e-5,-2.0081342888122047e-9,8.812885190182023e-4,2.997035224275941e-5,-1.8904615726488688e-9,8.814748050867232e-4,2.9595882363843328e-5,-1.7223897108962145e-9,8.817972325406356e-4,2.9164896341324755e-5,-1.5279575596742727e-9,8.822694105023639e-4,2.8759323793384683e-5,-1.343146342028477e-9,8.828590048460752e-4,2.846005103322195e-5,-1.203784176843767e-9,8.834961316970444e-4,2.8315408404152892e-5,-1.1317019817736651e-9,8.840994293836644e-4,2.83238474756633e-5,-1.1270381711241277e-9,8.846048503517724e-4,2.8439563876848128e-5,-1.1705107836514342e-9,8.849825261434277e-4,2.859423427913567e-5,-1.2327153363012424e-9,8.852377405673897e-4,2.872082247503333e-5,-1.2843809606697235e-9,8.854014350719654e-4,2.876976020388615e-5,-1.303411303612948e-9,8.855175691600622e-4,2.8715569658327886e-5,-1.277894686911527e-9,8.856319414654461e-4,2.8556383656666185e-5,-1.2061264571813115e-9,8.857841196699158e-4,2.8309570284204513e-5,-1.0949624616496077e-9,8.86002414496257e-4,2.800577749822175e-5,-9.574157297751806e-10,8.863013254260068e-4,2.7682541703841347e-5,-8.099261480403505e-10,8.866810883604368e-4,2.737801278175877e-5,-6.695408320630273e-10,8.871291034948231e-4,2.712535762590261e-5,-5.513048593649785e-10,8.876228817584209e-4,2.6948399119048687e-5,-4.661876242949888e-10,8.881339924077757e-4,2.6858865286951922e-5,-4.197713685400893e-10,8.886323956855838e-4,2.6855412138336997e-5,-4.1179225649502044e-10,8.890905424093482e-4,2.6924258581403914e-5,-4.3643441475982406e-10,8.89486876270744e-4,2.704096977561104e-5,-4.831197421077393e-10,8.898087302066524e-4,2.7172978043164845e-5,-5.375765842824722e-10,8.900547902185537e-4,2.7282747178927522e-5,-5.831513974124379e-10,8.902372653753913e-4,2.733186854749421e-5,-6.02542926548089e-10,8.903834851144673e-4,2.7286782595027556e-5,-5.803341451115104e-10,8.905356820182493e-4,2.712678713758405e-5,-5.066546828876249e-10,8.907466490935431e-4,2.6853822167289743e-5,-3.817222697006188e-10,8.910687379135351e-4,2.650095008026581e-5,-2.1981389275727818e-10,8.915358613141435e-4,2.613316302797963e-5,-4.974968918210426e-11,8.921441557986117e-4,2.583341569558239e-5,9.130127597938247e-11,8.928435576312597e-4,2.5673648601187617e-5,1.7077634639135572e-10,8.935508750856743e-4,2.5683679634147847e-5,1.7468326592194504e-10,8.941811428365587e-4,2.5837610180360195e-5,1.1381510218411522e-10,8.946793739990621e-4,2.6067113585673513e-5,1.8006901262402275e-11,8.950349091826171e-4,2.6291644820413183e-5,-7.717084794839584e-11,8.952750213494531e-4,2.6446389435700407e-5,-1.427663814093566e-10,8.954475970296075e-4,2.64960814946439e-5,-1.625988001066087e-10,8.956041887442954e-4,2.6435196735103513e-5,-1.334689640026147e-10,8.957887712051753e-4,2.6280905283114967e-5,-6.224871917615731e-11,8.960323226691599e-4,2.6064317323041538e-5,3.777765165941726e-11,8.963513575114935e-4,2.5822815459411318e-5,1.5017549800954496e-10,8.96748509792149e-4,2.5594124919428984e-5,2.5799083696445723e-10,8.972140957359525e-4,2.5411712108030967e-5,3.459131555119787e-10,8.97728398380985e-4,2.5301088813513795e-5,4.0208667445015245e-10,8.982646818886401e-4,2.5276973108559064e-5,4.19511702332487e-10,8.987928885022273e-4,2.5341491278246515e-5,3.969097854818967e-10,8.992838386101128e-4,2.548373838032777e-5,3.389148700251626e-10,8.997135067687896e-4,2.5680959581705512e-5,2.5551799630259e-10,9.000668011166033e-4,2.590128913974731e-5,1.6084571383571664e-10,9.003404075887244e-4,2.610773225553987e-5,7.143433854803536e-11,9.005444531271067e-4,2.626306035931546e-5,4.124552392039377e-12,9.00702826310028e-4,2.6335350498633444e-5,-2.636373164642357e-11,9.008518990331428e-4,2.6304027478397698e-5,-1.0173572691243059e-11,9.010369750715351e-4,2.616622985452215e-5,5.4685092455799334e-11,9.013053376731691e-4,2.5942528849006335e-5,1.5954350428825642e-10,9.016950534266347e-4,2.5679451672258137e-5,2.8372503804596007e-10,9.022205066966907e-4,2.544470577148632e-5,3.9657633063202955e-10,9.028595081446744e-4,2.5311299328910574e-5,4.6464848630157026e-10,9.035509621163673e-4,2.5331826054565013e-5,4.634519661365919e-10,9.042106403831823e-4,2.5513725417149697e-5,3.8884970955208253e-10,9.047617243836385e-4,2.5811755065389144e-5,2.60664002639359e-10,9.051639505218222e-4,2.614554976562279e-5,1.1486292999309726e-10,9.054243849394402e-4,2.6432431256007105e-5,-1.1230224109221291e-11,9.055864786501333e-4,2.6615750824420068e-5,-9.174245642919217e-11,9.057083348203511e-4,2.6675961252054152e-5,-1.1728835587695205e-10,9.05843511575355e-4,2.6625694545636095e-5,-9.286576972832296e-11,9.06030514980889e-4,2.649764658641052e-5,-3.258481232105302e-11,9.06290090659766e-4,2.6332711316700743e-5,4.5492394804177083e-11,9.066269079166894e-4,2.617147979221003e-5,1.230902666428942e-10,9.07032727485054e-4,2.6049140781842117e-5,1.8405636274430814e-10,9.074895537591257e-4,2.5992565692749985e-5,2.1580884693763228e-10,9.079725233622418e-4,2.601842289978903e-5,2.1034058494702972e-10,9.08452843161885e-4,2.6131794189518346e-5,1.649501949413581e-10,9.089011187176733e-4,2.632531969086917e-5,8.266582317282753e-11,9.092912509323934e-4,2.657930002330282e-5,-2.7811191372744197e-11,9.096046947811349e-4,2.686337600497953e-5,-1.5287896453951608e-10,9.098343835696975e-4,2.7140160235303376e-5,-2.756580777618742e-10,9.099874027396871e-4,2.737067976970732e-5,-3.7839683569915226e-10,9.100856080701482e-4,2.7521019033657425e-5,-4.4541806075215186e-10,9.101636727790192e-4,2.756915427471307e-5,-4.662024595936307e-10,9.102644580498961e-4,2.751076592587584e-5,-4.3810314345020306E-10,9.104319511252228e-4,2.736291054800073e-5,-3.681879685719245e-10,9.107022221916946e-4,2.7164432891512126e-5,-2.736553609265788e-10,9.110933354507029e-4,2.6971680885033756e-5,-1.800824904443576e-10,9.11596330532063e-4,2.6848117080263942e-5,-1.167738231171905e-10,9.121710507471927e-4,2.6847793958635906e-5,-1.0913815308381964e-10,9.12751534970597e-4,2.6996070209376236e-5,-1.6964949395235283e-10,9.132634636288651e-4,2.72756008370633e-5,-2.9115810444199527e-10,9.136492992958313e-4,2.762733566158342e-5,-4.471383736182009e-10,9.138892892803114e-4,2.797002314543524e-5,-6.005507786510418e-10,9.140064810409892e-4,2.8229735821653137e-5,-7.173953360843062e-10,9.140537060586121e-4,2.8363778381520954e-5,-7.777099880424133e-10,9.14091744347561e-4,2.8368259804342512e-5,-7.790964097262822e-10,9.141707165736832e-4,2.8270290432506036e-5,-7.332676996715194e-10,9.143209375298112e-4,2.811333903517838e-5,-6.595294780294835e-10,9.145523676781168e-4,2.7943782175206335e-5,-5.787922436801097e-10,9.148586524660526e-4,2.780218073489562e-5,-5.09645207598181e-10,9.15222213264884e-4,2.771907523928594e-5,-4.663750532641056e-10,9.156186000215372e-4,2.771356286516508e-5,-4.581833019385022e-10,9.160198239972885e-4,2.7793018214471577e-5,-4.889247071998724e-10,9.163971548837643e-4,2.795307226790254e-5,-5.570122799444724e-10,9.167240149473723e-4,2.8177711329907586e-5,-6.554310086134877e-10,9.169794235753807e-4,2.8439962674449603e-5,-7.720472188029496e-10,9.171519825482253e-4,2.870402885777489e-5,-8.905750008556582e-10,9.172436935254598e-4,2.8929649817970348e-5,-9.925419838939779e-10,9.172722940063046e-4,2.9078832692983632e-5,-1.0603291660817625e-9,9.172706400546866e-4,2.912409780548574e-5,-1.080924584550345e-9,9.17282157849279e-4,2.9056323329246427e-5,-1.0495469582952546e-9,9.17352548715972e-4,2.8889652042343435e-5,-9.719977617501207e-10,9.175193386587934e-4,2.8661331040972106e-5,-8.647637143988589e-10,9.178017998224793e-4,2.842566755332037e-5,-7.524533284368034e-10,9.181939299909826e-4,2.824278153652306e-5,-6.627971222401617e-10,9.186627846165465e-4,2.8164133229208014e-5,-6.200278774014088e-10,9.19153691738718e-4,2.8217986087638425e-5,-6.380459293784765e-10,9.196025451004935e-4,2.8398984740483134E-05,-7.153326477966576e-10,9.199531003263491e-4,2.8666337663424036e-5,-8.338087002295918e-10,9.201741950295597e-4,2.8953522843619235e-5,-9.631226655409933e-10,9.202698561839225e-4,2.918802920852016e-5,-1.0697405631849333e-9,9.202770539297086e-4,2.9313951870328424e-5,-1.1274657767908662e-9,9.20251788073042e-4,2.9307694253609973e-5,-1.1248038587933661e-9,9.202503631241845e-4,2.918064509705824e-5,-1.0663142394564279e-9,9.203142811661418e-4,2.897003743896867e-5,-9.68530131895985e-10,9.204634699590332e-4,2.8724513202568727e-5,-8.534492296718607e-10,9.206973132387841e-4,2.849110787091789e-5,-7.426352211365498e-10,9.209999773637789e-4,2.8307067355278376e-5,-6.534492842105844e-10,9.213465790289916e-4,2.8196472237938423e-5,-5.974035621587512e-10,9.21708293335506e-4,2.8169942280115928e-5,-5.798940312517992e-10,9.220560080914304e-4,2.8225631349565033e-5,-6.005462214024394e-10,9.223629986190541e-4,2.8350410654034294e-5,-6.536955210792199e-10,9.226073866112044e-4,2.8520935298446312e-5,-7.28851240962084e-10,9.227750120124014e-4,2.8705005688838147e-5,-8.113094184352923e-10,9.228628541636617e-4,2.886416079327547e-5,-8.833278120249603e-10,9.228823589672353e-4,2.895853283479903e-5,-9.263428574000358e-10,9.228611534120579e-4,2.8954410829763517e-5,-9.244525203760215e-10,9.22841094274703e-4,2.8833597004887607e-5,-8.687589669821464e-10,9.228711087655056e-4,2.860178543460586e-5,-7.612984631604381e-10,9.229952903879357e-4,2.8291928119182712e-5,-6.167002132570091e-10,9.232395355675018e-4,2.7959342967609063e-5,-4.600776629160696e-10,9.236018170315074e-4,2.766851040299726e-5,-3.211006337196332e-10,9.240504121843283e-4,2.7475443382623978e-5,-2.2596816610665073e-10,9.24531262399518e-4,2.741170749626898e-5,-1.8999789985040983e-10,9.249820629694834e-4,2.747542499218661e-5,-2.1326498107148244e-10,9.25348579660942e-4,2.7631811895541113e-5,-2.805432543382063e-10,9.255984900902482e-4,2.7822723222327646e-5,-3.6544697746303546e-10,9.257290496695094e-4,2.798233184373522e-5,-4.3755816439126784e-10,9.25766534088789e-4,2.80545120609564e-5,-4.705154590635174e-10,9.257576987930197e-4,2.800685278340508e-5,-4.4865598588417815e-10,9.257561138535627e-4,2.7837106293070436e-5,-3.701910247767966e-10,9.258080615404461e-4,2.757056376533481e-5,-2.4616627976356377e-10,9.259425348434525e-4,2.7250326470559132e-5,-9.609656809923689e-11,9.261676807511085e-4,2.6924824434891593e-5,5.773311606893498e-11,9.264731188036599e-4,2.663697142690499e-5,1.9528968966108854e-10,9.268356351407438e-4,2.6417432659609167e-5,3.019901995562894e-10,9.272255509647921e-4,2.6282152592361178e-5,3.6997091936557287e-10,9.276120574189009e-4,2.6232846291373425e-5,3.9797540595297546e-10,9.279670116931762e-4,2.6258881085469936e-5,3.9055441141759986e-10,9.282675227858236e-4,2.633942937784366e-5,3.570959163618194e-10,9.284980234511821e-4,2.644547284239765e-5,3.109050504872678e-10,9.286524796636579e-4,2.654193492234242e-5,2.6822927772623276e-10,9.287369625751979e-4,2.6590780100069592e-5,2.468431766251289e-10,9.287720369209947e-4,2.6556135305642376e-5,2.636822102111064e-10,9.287934339306461e-4,2.6412028824363202e-5,3.312264037819188e-10,9.288486997992517e-4,2.6151880961107663e-5,4.530300718778846e-10,9.289878720362526e-4,2.5796515725207018e-5,6.199146734068698e-10,9.292487589067231e-4,2.5395465656098757e-5,8.092647167352129e-10,9.29641666352082e-4,2.5017209649756432e-5,9.894516360464816e-10,9.301413876496481e-4,2.472917795980915e-5,1.1290141747255939e-9,9.306922559167429e-4,2.4575229989538544e-5,1.2070780979559616e-9,9.312251819721861e-4,2.4561109000296633e-5,1.2202059312944135e-9,9.316789667520669e-4,2.465414560968802e-5,1.1827604254879246e-9,9.320169043861123e-4,2.479571175444768e-5,1.1213819953507269e-9,9.322336847376593e-4,2.4919677271373376e-5,1.0666004249723868e-9,9.323526991819391e-4,2.496981318218703e-5,1.044792681412822e-9,9.324168167771345e-4,2.4911728305382368e-5,1.072537792680831e-9,9.324763341556606e-4,2.473779692662344e-5,1.1541348440936524e-9,9.32577287240139e-4,2.446550131433796e-5,1.2821529509168165e-9,9.327524775390439e-4,2.4130741138395573e-5,1.440358563370683e-9,9.330166395630526e-4,2.3778318046824064e-5,1.608044416470438e-9,9.333661039477023e-4,2.345210977652227e-5,1.7646106799430005e-9,9.337821762564567e-4,2.3187164366326925e-5,1.8933448565731633e-9,9.342366534787011e-4,2.3004991867956138e-5,1.983756984261391e-9,9.346977645863617e-4,2.2912152275451638e-5,2.0323646948176415e-9,9.351352665974508e-4,2.2901360219547865e-5,2.0422501912195693e-9,9.355241516458479e-4,2.2953966611580642e-5,2.021915505548688e-9,9.358471024062418e-4,2.3042848220487e-5,1.983917263664366e-9,9.360962029673838e-4,2.313526295966051e-5,1.9435240421953627e-9,9.362744148421519e-4,2.319579877368126e-5,1.9173555450183216e-9,9.363970340869479e-4,2.3190008396632788e-5,1.921714213936969e-9,9.364926985739199e-4,2.3089580081948874e-5,1.970175219873316e-9,9.366025595028989e-4,2.287954350737153e-5,2.070174683549589e-9,9.367754583789063e-4,2.256662486320555e-5,2.219009962619075e-9,9.370572543760401e-4,2.2185503816041416e-5,2.40080151825208e-9,9.374749898088448e-4,2.179746684581724e-5,2.5870254829646286e-9,9.380215496738124e-4,2.1476617739059208e-5,2.7428988022427817e-9,9.386504920238448e-4,2.1285143976963856e-5,2.8389345262250392e-9,9.392879545260637e-4,2.124847926412409e-5,2.8626284858923288e-9,9.398581363504856e-4,2.1344635824425707e-5,2.8236063659948714e-9,9.403092110193681e-4,2.1513973951784947e-5,2.749245885993131e-9,9.406269138130842e-4,2.1682634723939766e-5,2.67386501863676e-9,9.408323763286779e-4,2.178648157968665e-5,2.6275885831474924e-9,9.409696504997068e-4,2.1786146578814432e-5,2.6292808737827737e-9,9.410906514838015e-4,2.1671298131321062e-5,2.6844268786052037e-9,9.41242649635597e-4,2.145702236312698e-5,2.786633456564728e-9,9.414601509848395e-4,2.1176178630965497e-5,2.9210047073092557e-9,9.417610200086401e-4,2.0870608445111807e-5,3.0681179766648086e-9,9.421460370053103e-4,2.0582809873944577e-5,3.207899651127782e-9,9.426010936837508e-4,2.0348968697412414e-5,3.3229824926066307e-9,9.431012540259686e-4,2.0193985304551373e-5,3.401195641488044e-9,9.436158120570794e-4,2.012884842892798e-5,3.436951038320817e-9,9.441134784478598e-4,2.015031500623975e-5,3.4314859276191417e-9,9.44566950904901e-4,2.0242534645964484e-5,3.3921135298370826e-9,9.449563631171996e-4,2.0379982085524475e-5,3.330805785534591e-9,9.45271517348029e-4,2.0530961708450033e-5,3.2625023737391606e-9,9.455131621575188e-4,2.0661233197895548e-5,3.203395247216593e-9,9.456936234191719e-4,2.0737740900431553e-5,3.1692023079153e-9,9.458369007988554e-4,2.073272466669384e-5,3.1732674706314038e-9,9.459779040524844e-4,2.0628653770206123e-5,3.224233945190357e-9,9.461597634391267e-4,2.0424167988906754e-5,3.3231751090821356e-9,9.46427574458297e-4,2.014003684687474e-5,3.4606600272122213e-9,9.468173676227388e-4,1.98221812789624e-5,3.615192303367057e-9,9.473413942934375e-4,1.9537012097558103e-5,3.755318583394564e-9,9.479753457182548e-4,1.9355058402098106e-5,3.847349600926752e-9,9.486571399076209e-4,1.9325058394134616e-5,3.867688552958027e-9,9.493040520760504e-4,1.9450539767815956e-5,3.814066075128484e-9,9.498430651538646e-4,1.9684623094334385e-5,3.7081770948540923e-9,9.502378728614017e-4,1.994861501821484e-5,3.5870008241428506e-9,9.504975307118342e-4,2.01632840220824e-5,3.4880374073031084e-9,9.506654032765242e-4,2.0274709481559317e-5,3.437068799563959e-9,9.507989420812344e-4,2.0264365859063468e-5,3.4433449550727618e-9,9.509516863480496e-4,2.0145143002205663e-5,3.5013586813003237e-9,9.511626032896819e-4,1.9950604861647016e-5,3.595755007819909e-9,9.514523625841899e-4,1.972359867900281e-5,3.7065483148110366e-9,9.518240846294337e-4,1.9507126203245064e-5,3.813351896094841e-9,9.522662841079077e-4,1.933798514493866e-5,3.898421280054506e-9,9.527567177104721e-4,1.9242649321887765e-5,3.94873970416592e-9,9.532666534200279e-4,1.9234898009828817e-5,3.9573083496472175e-9,9.537653046836214e-4,1.931500888982162e-5,3.923656171525834e-9,9.542241491314553e-4,1.9470419469034043e-5,3.853573929853045e-9,9.546208269205008e-4,1.967778168597357e-5,3.758113485784791e-9,9.549422337944906e-4,1.990624356532854e-5,3.6519733720235854e-9,9.551864658672643e-4,2.012153016907811e-5,3.5515235649189295e-9,9.553635348866212e-4,2.029033148993112e-5,3.4727284456947125e-9,9.554949463176509e-4,2.0384734278047446e-5,3.429079651875691e-9,9.55612166139684e-4,2.03866030610309e-5,3.4295402733541126e-9,9.557537872596488e-4,2.029183687422643e-5,3.4764900665650733e-9,9.559608378031081e-4,2.0114246891201803e-5,3.563775485379721e-9,9.562694312086343e-4,1.988802000189864e-5,3.6753836672060575e-9,9.567005353306505e-4,1.9666425812314765e-5,3.785918859393363e-9,9.572485741343938e-4,1.951354653734905e-5,3.864486310112931e-9,9.57873847869679e-4,1.9487015195238054e-5,3.8829949935352816e-9,9.58506375185627e-4,1.961495423927636e-5,3.827353654574862e-9,9.590658554599388e-4,1.9878214338844435e-5,3.706183686441474e-9,9.59491778185771e-4,2.021167822462048e-5,3.5503480856677113e-9,9.597671996149698e-4,2.0528378965229346e-5,3.4014299519401243e-9,9.599217284447296e-4,2.0753552855409916e-5,3.295380207449077e-9,9.600140258223889e-4,2.084893939258985e-5,3.2508500223577976e-9,9.601071466008167e-4,2.081721898662703e-5,3.2670417811981256e-9,9.602500853369318e-4,2.0691028420511654e-5,3.3288768573415605e-9,9.604701387776805e-4,2.051709319339869e-5,3.4144264007709955e-9,9.60773545484276e-4,2.034297332174702e-5,3.501100421052396e-9,9.611500679665309e-4,2.0208786324005668e-5,3.569552864573399e-9,9.615783591656324e-4,2.014318881895291e-5,3.6056735200335207e-9,9.620307130834803e-4,2.0161937110386437e-5,3.6014269400379457e-9,9.62477113531018e-4,2.0267731706648574e-5,3.5550823882264824e-9,9.628889049217328e-4,2.0450864920827385e-5,3.4710012484743916e-9,9.632422415170349e-4,2.069066577730867e-5,3.3589647822421636e-9,9.635212754316284e-4,2.0957906935666852e-5,3.2329849290971195e-9,9.637208099389389e-4,2.1218360815741975e-5,3.1095519476630494e-9,9.638478893925641e-4,2.143740445538196e-5,3.0054061149790872e-9,9.639218361763492e-4,2.158517204251695e-5,2.9350831633136274e-9,9.639725275225862e-4,2.164161332623286e-5,2.9085171189180765e-9,9.64036920303166e-4,2.1600821946777073e-5,2.928960887667208e-9,9.641539462469475e-4,2.1473982466179215e-5,2.991503500896854e-9,9.643579665181983e-4,2.129029021121154e-5,3.0824929931979146e-9,9.646710825382556e-4,2.1095019009386883e-5,3.180304929063653e-9,9.650951414487477e-4,2.0943493593642626e-5,3.2581268817857795e-9,9.656055505064805e-4,2.08898021785074e-5,3.2893920797482204e-9,9.661506527532753e-4,2.0970707862049013e-5,3.2556740154475738e-9,9.666609700686485e-4,2.1188936127107843e-5,3.154989219151684e-9,9.670695157136533e-4,2.1504456001118907e-5,3.0062342252277902e-9,9.673367523603838e-4,2.1842686062608042e-5,2.8453160317467475e-9,9.674669505838162e-4,2.2120216315934066e-5,2.7126670331229932e-9,9.675052672091475e-4,2.227588153984791e-5,2.6381300324599617e-9,9.67517310975436e-4,2.2290098639572074e-5,2.631571812351488e-9,9.675641549386202e-4,2.2184188610723864e-5,2.683192639935835e-9,9.676856175598294e-4,2.20050732406217e-5,2.770831293998539e-9,9.678958345343047e-4,2.1806797104405777e-5,2.8687326779884426e-9,9.681874796128061e-4,2.1636899335670483e-5,2.953998363007588e-9,9.685391645791842e-4,2.152957275673156e-5,3.00987037631748e-9,9.689223645110006e-4,2.150393434528262e-5,3.0266647100820593e-9,9.693065461435913e-4,2.1564905127593073e-5,3.0015027830697376e-9,9.696627464705727e-4,2.170489096403e-5,2.9376390040777005e-9,9.699663713453124e-4,2.190558400417185e-5,2.843664610904784e-9,9.701997585934131e-4,2.213998368625858e-5,2.732536103734538e-9,9.703546573483743e-4,2.2375052452482884e-5,2.6202568912921775e-9,9.704343769114892e-4,2.2575473791547756e-5,2.524023751178972e-9,9.70454924970594e-4,2.2708679506424222e-5,2.4597828841057676e-9,9.704442684490575e-4,2.2750680548228815e-5,2.4394191096140195e-9,9.70439123002729e-4,2.269163919856002e-5,2.4680675742140396e-9,9.704792630519241e-4,2.2539791907013454e-5,2.542185695856593e-9,9.706000419416595e-4,2.2322356320565065e-5,2.6490241837254375e-9,9.708244225247657e-4,2.208254490993235e-5,2.7679330778128663e-9,9.711561348596273e-4,2.1872563135784633e-5,2.8736116004682885e-9,9.715756674472968e-4,2.1743144202396543e-5,2.9411105609226534e-9,9.720408542324096e-4,2.1730926538918943e-5,2.952015717458691e-9,9.724936339510598e-4,2.1846219921065344e-5,2.9005828036571425e-9,9.728734724452532e-4,2.206526684943893e-5,2.797753482524233e-9,9.73135268736305e-4,2.2331915022099625e-5,2.670534930423955e-9,9.732656869873846e-4,2.2571721047228047e-5,2.5551777813643346e-9,9.732896097496811e-4,2.2715649390846857e-5,2.4855509251822116e-9,9.732616414073596e-4,2.272350320648063e-5,2.481624710067114e-9,9.732459633450723e-4,2.2595527734851322e-5,2.5437609524692543e-9,9.732948670608518e-4,2.2367393624596813e-5,2.6551037957679194e-9,9.73435775314028e-4,2.2093662920085047e-5,2.7895237218060307e-9,9.736697513088091e-4,2.18295826774539e-5,2.9203430820786453e-9,9.739779823635234e-4,2.1618463822268142e-5,3.0263986928152343e-9,9.743307630656896e-4,2.14864286442583e-5,3.094632000552376e-9,9.746951934172733e-4,2.1442559653592196e-5,3.120143478228777e-9,9.75040337470858e-4,2.1481561948537084e-5,3.105047155900916e-9,9.753402753088035e-4,2.1586872020260996e-5,3.0570669881734935e-9,9.755760407850127e-4,2.1733399542332765e-5,2.9882432258541283e-9,9.757372606998641e-4,2.1890007987213578e-5,2.913710103700545e-9,9.758238522467932e-4,2.2022308074060718e-5,2.8502981225779335e-9,9.758475695193567e-4,2.2096463822383953e-5,2.814649675643213e-9,9.75832592759985e-4,2.208441265972937e-5,2.8206647589847394e-9,9.758139779570534e-4,2.1970120824932505e-5,2.8764536267483205e-9,9.758329513980938e-4,2.1755459239150598e-5,2.9814657729990575e-9,9.759289405456378e-4,2.146343405290607e-5,3.1248755506446147e-9,9.761297562449015e-4,2.1136469459250627e-5,3.2863308207215907e-9,9.764427844228285e-4,2.0828722875066234e-5,3.4395760619971846e-9,9.768504235625822e-4,2.05936578116549e-5,3.558401665094199e-9,9.773119310828517e-4,2.047011212383905e-5,3.623414500991834e-9,9.777718670258082e-4,2.0470907088346007e-5,3.627703453703138e-9,9.781733258317801e-4,2.057752945621449e-5,3.5796494003707138e-9,9.784727031122457e-4,2.0742968740602736e-5,3.501766797457081e-9,9.786520083386822e-4,2.090280873294008e-5,3.4254174178099575e-9,9.787247391817811e-4,2.099234249163606e-5,3.3824366972435045e-9,9.787325073239532e-4,2.0964978181006943e-5,3.3960258792809006e-9,9.787325574450096e-4,2.080554329966027e-5,3.474116418782361e-9,9.78780386798012e-4,2.053316629811452e-5,3.607853339306525e-9,9.78914283306498e-4,2.0192836373745813e-5,3.7756288344559166e-9,9.79147450149718e-4,1.9840040928541138e-5,3.9505044744465266e-9,9.794691393037586e-4,1.9525344833017023e-5,4.107694790089413e-9,9.798520178516646e-4,1.928413468832371e-5,4.229601723499455e-9,9.802613780058582e-4,1.9132999458968806e-5,4.30768523320254e-9,9.806628425931363e-4,1.9071152761889917e-5,4.341903576740723e-9,9.810273134182267e-4,1.9084239326578834e-5,4.338962357581536e-9,9.81333537072951e-4,1.9148443642578993e-5,4.310353550740631e-9,9.81569296115634e-4,1.9233976343823555e-5,4.2706388260183405e-9,9.817321483998952e-4,1.9307966381521585e-5,4.235993167701627e-9,9.81830219636952e-4,1.933733918927407e-5,4.222757802688705e-9,9.818829501630556e-4,1.9292467400002797e-5,4.245632427234919e-9,9.819209964844942e-4,1.9152168044642423e-5,4.315222825428222e-9,9.8198392831691e-4,1.890983975966044e-5,4.435029642934434e-9,9.821143377150008e-4,1.857919889488635e-5,4.59861659028588e-9,9.823480141006478e-4,1.819663416702158e-5,4.788408783691395e-9,9.827021678395676e-4,1.781681352429813e-5,4.977767747591471e-9,9.8316630954625e-4,1.750019208422675e-5,5.1370239028109335e-9,9.837010460599907e-4,1.729533464359589e-5,5.242087342349132e-9,9.842471758127079e-4,1.722284340206006e-5,5.282365711457081e-9,9.847423799112572e-4,1.7267922501442923e-5,5.2645551112541595e-9,9.851390392167326e-4,1.7384650541422545e-5,5.210737350473865e-9,9.85416712413494e-4,1.7509721680699187e-5,5.151788515618179e-9,9.855858656559924e-4,1.7580163367743918e-5,5.118732221992248e-9,9.856830005405348e-4,1.754937325800318e-5,5.134813103943706e-9,9.857596419803308e-4,1.7397498039928058e-5,5.210281577132254e-9,9.858686370143312e-4,1.7134242430752782e-5,5.340872784086539e-9,9.860514093620037e-4,1.6794137806137563e-5,5.509998145968244e-9,9.863293550422345e-4,1.6426136917274978e-5,5.693759305662125e-9,9.867012674118518e-4,1.6080882897378395e-5,5.867166202605813e-9,9.871466831850105e-4,1.5799461394281728e-5,6.009706321470195e-9,9.876331363464859e-4,1.560644168178504e-5,6.108876220456722e-9,9.881244546795737e-4,1.5508013115131364e-5,6.16123561320287e-9,9.885877203164924e-4,1.5494168132305846e-5,6.1714423956312695e-9,9.889977731607897e-4,1.554301218967708e-5,6.150173958810571e-9,9.89339357154404e-4,1.5625438489487203e-5,6.11180328305642e-9,9.896077069428486e-4,1.5709163928471263e-5,6.072354236231378e-9,9.898084641090051e-4,1.5761986455145772e-5,6.047846128949401e-9,9.89957481892549e-4,1.575472773264608e-5,6.052821432389052e-9,9.900805416390554e-4,1.5664564164811243e-5,6.098708901861965e-9,9.902123484409752e-4,1.5479331179479615e-5,6.191709401312268e-9,9.903935258545628e-4,1.5202748222706768e-5,6.33020714370356e-9,9.906641160678208e-4,1.4859172652645127e-5,6.502381741232603e-9,9.910530106883304e-4,1.4494749524882107e-5,6.685572808518867e-9,9.915653761885476e-4,1.4170939529055735e-5,6.8494023081549725e-9,9.92173804543939e-4,1.3948485846748767e-5,6.963646567409606e-9,9.92820439606734e-4,1.3865800846189006e-5,7.008937764536123e-9,9.934330686488335e-4,1.3922023616282452e-5,6.98524850756154e-9,9.939493480964887e-4,1.4075052891534514e-5,6.91302227434678e-9,9.943372374337234e-4,1.4256527274009431e-5,6.825888020437902e-9,9.946022722861765e-4,1.4395571285888233e-5,6.75895614654633e-9,9.947808856143072e-4,1.4439740434982362e-5,6.738430832136037e-9,9.949257957257986e-4,1.4366093115323758e-5,6.776065172871318e-9,9.950905167510095e-4,1.418186073054903e-5,6.868729017701459e-9,9.953173989064848e-4,1.391790875148587e-5,7.001518418367263e-9,9.95630713119781e-4,1.3618756991412558e-5,7.152573416875709e-9,9.960345799292754e-4,1.3332040182830323e-5,7.29822948174995e-9,9.965148922381106e-4,1.3099245727471433e-5,7.4176277467670906e-9,9.970441941477112e-4,1.294893783688122e-5,7.496180701557594e-9,9.975882397394037e-4,1.2893264734091967e-5,7.527452492986098e-9,9.98112746713271e-4,1.2927881166143136e-5,7.513323955728468e-9,9.985890416039868e-4,1.3034634044303174e-5,7.462717843178684e-9,9.98997826875862e-4,1.3185900947308538e-5,7.389423516943071e-9,9.993309205324102e-4,1.3349405125668461e-5,7.3096360810763596e-9,9.99591375901445e-4,1.3492586365441474e-5,7.2397137309556e-9,9.99792668555754e-4,1.3586170648049899e-5,7.19436794380859e-9,9.999574846180697e-4,1.3607159236305784e-5,7.185183536470915e-9,0.0010001162353076604,1.3541721843540724e-5,7.219205045654568e-9,0.0010003049165363592,1.3388426048463978e-5,7.297338394204071e-9,0.0010005613623854227,1.3161776667357265e-5,7.4125560623676355e-9,0.0010009186855654698,1.2894930291567578e-5,7.548472365832492e-9,0.001001395431805748,1.2638913929780974e-5,7.679645009834532e-9,0.0010019842716833783,1.2454704246940159e-5,7.775465670467849e-9,0.0010026447567112351,1.2396089240531763e-5,7.80872345265965e-9,0.0010033080233894881,1.2487217081785896e-5,7.766920829338294e-9,0.0010038972478855197,1.2706548445498057e-5,7.660458605367358e-9,0.0010043565504526115,1.2989946449421098e-5,7.521224770364038e-9,0.001004672231437384,1.3254551939388285e-5,7.390681026669133e-9,0.0010048741581043606,1.3430195374539308e-5,7.304097230213788e-9,0.001005019125368549,1.3480998017901777e-5,7.27969563649755e-9,0.001005168386359312,1.340941335065461e-5,7.316596454133312e-9,0.0010053704906546521,1.3246930061867809e-5,7.3994046186029145e-9,0.0010056532197300141,1.3040000118914438e-5,7.505138119129774e-9,0.0010060229091539998,1.2837303701281687e-5,7.609490773330097e-9,0.0010064679702872599,1.2680694358525935e-5,7.691325334965295e-9,0.00100696410900686,1.2599802055308625e-5,7.73543576837147e-9,0.0010074799303969257,1.2609453088105831e-5,7.733972018905462e-9,0.0010079824262810555,1.270927137545503e-5,7.68678360040066e-9,0.001008441983199197,1.2885166585695294e-5,7.600766502657164e-9,0.0010088364680810365,1.3112382500046945e-5,7.488348827427479e-9,0.0010091540147537904,1.3359627618872047e-5,7.365366043977686e-9,0.0010093942793346546,1.3593707411098743e-5,7.248659658443538e-9,0.0010095681767792678,1.3783993741249416e-5,7.15377885761242e-9,0.0010096964280629517,1.3906222158150544e-5,7.093063507146875e-9,0.0010098073351207102,1.3945501108580383e-5,7.074156161434548e-9,0.001009933998475673,1.3898670498425644e-5,7.098839141011301e-9,0.0010101108925560731,1.3776156395851466e-5,7.162087545997906e-9,0.0010103693537762879,1.3603229200616472e-5,7.2513716092129284e-9,0.001010731370310706,1.3419833637562037e-5,7.3466457393835305e-9,0.0010112016762827962,1.3277108498864683e-5,7.422018074019115e-9,0.0010117598625822178,1.3228209751310446e-5,7.450356500270065e-9,0.0010123568768607588,1.3312347000828476e-5,7.411421404428368e-9,0.0010129222480500654,1.3535582819181508e-5,7.301724939909382e-9,0.001013385331984101,1.3858804132080293e-5,7.140781390672817e-9,0.001013703707706818,1.4205000113155494e-5,6.967497490960027e-9,0.0010138822454817784,1.448749274687313e-5,6.825833236491937e-9,0.0010139696115598694,1.464433393257325e-5,6.747309515966404e-9,0.001014034960781267,1.4658559233696529e-5,6.740744459985028e-9,0.0010141406929217946,1.4555765436898252e-5,6.793498539548968e-9,0.0010143254890754552,1.4386576477060897e-5,6.880297884166936e-9,0.0010146008251386124,1.420706593101242e-5,6.973012537470857e-9,0.0010149561275081414,1.4065065181815716e-5,7.047465907773897e-9,0.00101536675460542,1.3993570240248546e-5,7.0867457546242325e-9,0.0010158013574818438,1.4009210516690739e-5,7.0820601273590445e-9,0.0010162275161801665,1.4113340727320419e-5,7.032323770553171e-9,0.0010166159146742558,1.429419134817385e-5,6.943198192930504e-9,0.0010169435907143895,1.4529570251940101e-5,6.825790427443894e-9,0.001017196458485237,1.4790107827825064e-5,6.695003258799705e-9,0.0010173710222833715,1.5043063994411697e-5,6.5675509780237646e-9,0.0010174750556951806,1.5256600380969255e-5,6.459732390817189e-9,0.001017526963278131,1.5404159828331004e-5,6.385177403566588e-9,0.0010175537373666459,1.5468376233596634e-5,6.352868110860509e-9,0.001017587717364337,1.544402654131814e-5,6.365661713647204e-9,0.0010176624605994554,1.5339717534360233e-5,6.419435210938414e-9,0.0010178080063839555,1.5178075945731396e-5,6.502944076621323e-9,0.0010180457452669584,1.4994254410299033e-5,6.598491835633543e-9,0.001018383064035031,1.4832381264038678e-5,6.6836353960864175e-9,0.0010188083316972948,1.47391332796154e-5,6.734397667122887e-9,0.0010192878609278002,1.475363974145172e-5,6.730438678602947e-9,0.0010197678046505864,1.4894272655654495e-5,6.661915015952189e-9,0.00102018443463024,1.5145950174105276e-5,6.5361350999692345e-9,0.0010204836747962334,1.5455522234757765e-5,6.380048705078234e-9,0.0010206437243931602,1.5743334912936524e-5,6.2343512371156256e-9,0.0010206877187796243,1.5931055263172206e-5,6.139179160224897e-9,0.0010206758978202743,1.5972669549953236e-5,6.118206896081988e-9,0.0010206802785743953,1.587040614601252e-5,6.170538509004209e-9,0.0010207572457502255,1.5667653115910527e-5,6.274358304487625e-9,0.0010209325449119094,1.5426977239675342e-5,6.398084889086976e-9,0.0010212017498908892,1.520786821074164e-5,6.511580983868921e-9,0.0010215398590799887,1.5053291656116975e-5,6.5929010127443566e-9,0.001021912431934167,1.498569502034724e-5,6.630329259183798e-9,0.0010222841435015692,1.5008880327172054e-5,6.621529648464819e-9,0.0010226239917599095,1.5112068113238198e-5,6.571614831742929e-9,0.0010229080944826484,1.527401144689631e-5,6.491159177179544e-9,0.0010231212780165244,1.5466570242856973e-5,6.394419794620523e-9,0.001023258140679252,1.565799311163615e-5,6.29764201481796e-9,0.001023323723746117,1.581631986787821e-5,6.217269214912676e-9,0.0010233335657502231,1.5913194832607108e-5,6.1679458224003706e-9,0.001023312652942418,1.592801691867029e-5,6.160375068918902e-9,0.0010232928007281963,1.5851837316847298e-5,6.199331981376249e-9,0.0010233083950897286,1.5690131829775294e-5,6.282255337576482e-9,0.0010233908943278179,1.5463603240336597e-5,6.398818557630599e-9,0.0010235628682748299,1.5206365333078503e-5,6.531796793225194e-9,0.001023832615986048,1.4961295414609502e-5,6.659351030318273e-9,0.0010241904386357422,1.4772889164037382e-5,6.75860252344733e-9,0.001024607567166903,1.4678269177210256e-5,6.810218842264442e-9,0.001025038835875019,1.4697338813962965e-5,6.803536849223181e-9,0.0010254302198467145,1.4824014543455562e-5,6.7412161836967475e-9,0.001025731571596928,1.5021882123837198e-5,6.641636326261475e-9,0.0010259126052034333,1.522848767407803e-5,6.536783150416774e-9,0.0010259765363499528,1.5370953906319304e-5,6.464197088487894e-9,0.0010259633245588596,1.5390062552732196e-5,6.454503675266422e-9,0.0010259374918061134,1.5262568774086813e-5,6.519889575291671e-9,0.0010259645518792863,1.5009405517106155e-5,6.649894303135918e-9,0.0010260881771412683,1.4685110812366908e-5,6.816835676346961e-9,0.0010263193576777233,1.4355638624471758e-5,6.98711790063453e-9,0.0010266398889383535,1.4077159844329356e-5,7.1319926882616635e-9,0.001027014226018415,1.388425288732607e-5,7.2335633845970444e-9,0.0010274020414492461,1.3788133610311604e-5,7.285745723386852e-9,0.0010277670997235588,1.378095198171993e-5,7.292187151879546e-9,0.0010280818168414282,1.384189253769118e-5,7.263261955630348e-9,0.0010283288268859772,1.3942614549109414e-5,7.213352520340318e-9,0.0010285011445110084,1.405139140764495e-5,7.158731665697266e-9,0.0010286019408435882,1.413632711989153e-5,7.115870597147311e-9,0.0010286442540053864,1.4168322568558104e-5,7.09986088584424e-9,0.0010286504037499457,1.4124365397943462e-5,7.12268504128625e-9,0.0010286504791455998,1.3991292700524017e-5,7.191271681234185e-9,0.0010286791648484964,1.3769478993510954e-5,7.3056080066068604e-9,0.0010287705469715204,1.3475266008978337e-5,7.457494460578409e-9,0.001028951327632887,1.3140689311306862e-5,7.630660550566689e-9,0.0010292338285229816,1.280935564220711e-5,7.802822009644976e-9,0.0010296108825569928,1.2528353458002378e-5,7.949760843038067e-9,0.0010300546940236487,1.233759347627838e-5,8.050755726164393e-9,0.0010305208273311641,1.2259178009605778e-5,8.094075186049836e-9,0.0010309570900584187,1.2289732755782155e-5,8.08103476461809e-9,0.0010313157392175553,1.239822992254162e-5,8.027273387668908e-9,0.0010315663465513536,1.2530919495367793e-5,7.960336714121893e-9,0.0010317058209335492,1.2623500762804774e-5,7.913435014428099e-9,0.001031761762409121,1.2618455216019864e-5,7.916445804350526e-9,0.0010317863213620134,1.2482715648861428e-5,7.986708154305847e-9,0.0010318409415092163,1.2218875567850196e-5,8.123174915224233e-9,0.0010319770490094284,1.1864341225077265e-5,8.306813126168584e-9,0.00103222073763433,1.1478137897328902e-5,8.507363432120657e-9,0.001032567744181653,1.1121486498340977e-5,8.693293502779717e-9,0.001032989301697024,1.084087419509298e-5,8.840491614529463e-9,0.0010334441429188832,1.065944919603051e-5,8.936740074754993e-9,0.0010338905402688494,1.0577173083741774e-5,8.981736505163395e-9,0.0010342945423151325,1.0576383955421915e-5,8.98433665789792e-9,0.00103463375858786,1.0628837350001691e-5,8.958991422832772e-9,0.0010348979793146607,1.0701777354861157e-5,8.922621233770985e-9,0.0010350882727302663,1.0762337371071754e-5,8.89230185881902e-9,0.0010352157191526022,1.0780632780980312e-5,8.883608858628518e-9,0.0010353002554859072,1.0732303407048932e-5,8.90925860516677e-9,0.0010353694431257166,1.0601227344865006e-5,8.977690201699487e-9,0.0010354564618759658,1.0382697470573208e-5,9.09143350297743e-9,0.0010355964502504992,1.008658752883728e-5,9.245490273873833e-9,0.00103582062126145,9.739174784541215e-6,9.426394426544935e-9,0.001036148531357024,9.381685552026843e-6,9.612933762557046e-9,0.001036580411402926,9.063860868442835e-6,9.779418101910907e-9,0.0010370928511063498,8.832500434599207e-6,9.901545674027221e-9,0.0010376410685493903,8.717740287966906e-6,9.963490318062588e-9,0.001038168776362179,8.722090107823838e-6,9.963639543713632e-9,0.001038623174432724,8.817117820241822e-6,9.916433090139891e-9,0.0010389699638132367,8.949806345046257e-6,9.849185263172341e-9,0.0010392031310252545,9.056681538401306e-6,9.794814136056429e-9,0.0010393464417650642,9.081041880969784e-6,9.7828832107339e-9,0.0010394465445357972,8.98803121924295e-6,9.831716602058708e-9,0.0010395599652596504,8.773379181090786e-6,9.943793307826468e-9,0.0010397377850124105,8.463527638538071e-6,1.010562028455275e-8,0.0010400124740567555,8.107264085356009e-6,1.0292016552047566e-8,0.0010403907983126954,7.761647465210934e-6,1.047336668482392e-8,0.0010408546068110553,7.476975351250501e-6,1.0623406725890964e-8,0.0010413683448417354,7.285608742141655e-6,1.0725068130866081e-8,0.0010418898199738098,7.197436696745734e-6,1.077292879202111e-8,0.0010423802623030689,7.201792582882333e-6,1.0772323696065717e-8,0.0010428110604212102,7.273401012350935e-6,1.0736320365516424e-8,0.0010431666141344895,7.3794054706384364e-6,1.0682066369385867e-8,0.0010434442537033133,7.485424438284342e-6,1.062758834085327e-8,0.001043652630466233,7.559908129853109e-6,1.0589456096467488e-8,0.0010438096899647942,7.577040457584126e-6,1.0581220954317427e-8,0.0010439407598399314,7.518874452397437e-6,1.0612288493742078e-8,0.0010440766580099585,7.3774053804267025e-6,1.0686856280073861e-8,0.0010442511917944904,7.1569232978676465e-6,1.0802719477653824e-8,0.0010444971593526165,6.876269078840813e-6,1.0950114569202205e-8,0.001044840195797599,6.569674575005575e-6,1.1111270660756568e-8,0.0010452907905748228,6.284047442282688e-6,1.1261780001466925e-8,0.0010458366657182785,6.070632446913745e-6,1.1374885918198315e-8,0.0010464397212440041,5.970991705073476e-6,1.1428761032437083e-8,0.0010470419129418023,6.0012650636924906e-6,1.1414752486565529e-8,0.0010475808873286244,6.142246342171787e-6,1.134266195270011e-8,0.0010480101442759484,6.342031857499272e-6,1.1239472124113928e-8,0.0010483145665516262,6.531775462877667e-6,1.1141164514740623e-8,0.0010485141839921832,6.647674109549178e-6,1.1081204358546142e-8,0.0010486555927916323,6.649554437643226e-6,1.1080769771562399e-8,0.0010487962274780228,6.52970014858732e-6,1.1144090607712959e-8,0.001048988161110087,6.311113549640392e-6,1.1259318747852037e-8,0.001049266135585487,6.038217412853158e-6,1.140334069973273e-8,0.0010496417708631659,5.764112342343603e-6,1.1548386965958874e-8,0.001050103884713581,5.538005408647266e-6,1.1668579695155248e-8,0.0010506236688532541,5.395419538643018e-6,1.1745084312143063e-8,0.001051162793625547,5.352737678222033e-6,1.176905039772956e-8,0.0010516822059403249,5.4065291012566944e-6,1.1742069546748452e-8,0.0010521495626468031,5.5369304279269275e-6,1.1674479004989727e-8,0.0010525439851890206,5.7134564555245825e-6,1.1582329111142928e-8,0.0010528578438257308,5.9014015084172195e-6,1.1483979856274418e-8,0.0010530961263485919,6.067417747217445e-6,1.139710095373138e-8,0.0010532743691075914,6.1835874192326255e-6,1.133647354846759e-8,0.0010534160834845703,6.230045791333779e-6,1.1312589735762775e-8,0.001053550198721015,6.1966823130205854e-6,1.1330774854534354e-8,0.0010537085154161126,6.0844906794547615e-6,1.1390513063025623e-8,0.0010539227224054864,5.906847205676181e-6,1.1484802633572627e-8,0.00105422025687308,5.690435278638442e-6,1.1599668036115498e-8,0.0010546184278993171,5.4746708261865515e-6,1.1714426246353476e-8,0.001055117156275193,5.307635025766357e-6,1.1803769941651274e-8,0.001055692545616445,5.236529243510756e-6,1.184274644058134e-8,0.001056295705931545,5.292689648675187e-6,1.1814655608677331e-8,0.0010568617072468647,5.4757403210461624e-6,1.1719477956429268e-8,0.0010573293783666506,5.74604326804144e-6,1.157796966652239e-8,0.0010576645165347547,6.033560344798371e-6,1.1427058221344922e-8,0.0010578737870635731,6.261973517443829e-6,1.1307094518131505e-8,0.0010580009637449824,6.3760497725166996e-6,1.1247346419441141e-8,0.001058108517330219,6.358165356812837e-6,1.1257242872632262e-8,0.0010582556001528874,6.228289144348805e-6,1.1326384333356857e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json new file mode 100644 index 000000000..d7e3be98a --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":13000,"numberOfSamples":1000,"samples":[0.0010584823083198346,6.031818825503171e-6,1.14309469118811e-8,0.0010588036033781425,5.823520864538709e-6,1.1542103150393909e-8,0.0010592110744742987,5.6537248748726675e-6,1.1633248752700286e-8,0.0010596790894540058,5.559275280564943e-6,1.1684765345343194e-8,0.0010601724727019367,5.559236240846307e-6,1.1686339583847125e-8,0.0010606540091394276,5.654379293057021e-6,1.163732802349451e-8,0.0010610908819856466,5.829497270171977e-6,1.1545624012790231e-8,0.0010614594503400023,6.057715047147503e-6,1.1425423187205381e-8,0.001061747989835144,6.305862037083749e-6,1.1294367431781857e-8,0.0010619573719630783,6.539955951254238e-6,1.1170587469196216e-8,0.0010620999645025674,6.73003410085884e-6,1.107008326599654e-8,0.0010621972572704668,6.85379996171742e-6,1.1004756707165859e-8,0.0010622768540195135,6.898913123430779e-6,1.098119849532928e-8,0.0010623693266318172,6.864185869807982e-6,1.1000078885400938e-8,0.0010625050436689565,6.760079817880366e-6,1.1055907410923635e-8,0.001062710756522555,6.608668374463369e-6,1.1137052470541557e-8,0.0010630055440594903,6.442842455479279e-6,1.122613014857253e-8,0.0010633958133875673,6.303928192637586e-6,1.1301216346173524e-8,0.0010638698300656857,6.236227673998108e-6,1.1338700200742188e-8,0.0010643938207032379,6.277096687541316e-6,1.1318549017049607e-8,0.0010649135018336272,6.443029009602109e-6,1.1231761017071778e-8,0.0010653652534506645,6.716334917457601e-6,1.1087554932954997e-8,0.0010656971998236583,7.041447402084115e-6,1.0915428186536279e-8,0.0010658919742331224,7.338860744797124e-6,1.0757744815379704e-8,0.0010659770288683225,7.534292063466726e-6,1.0654138240953239e-8,0.001066013886508743,7.587831708115414e-6,1.0625935223163422e-8,0.0010660723258305996,7.506181686783977e-6,1.0669662265910576e-8,0.0010662052115061964,7.3335686443663195e-6,1.0761922260944352e-8,0.0010664358470525873,7.130863915281745e-6,1.0870481691937031e-8,0.0010667588393153595,6.955633515934309e-6,1.0964801902708683e-8,0.0010671485918925085,6.8498410434954626e-6,1.1022511941646397e-8,0.0010675694409390784,6.835426550329633e-6,1.1031759374762615e-8,0.0010679841615469535,6.915158645441867e-6,1.0990824083116765e-8,0.0010683599657830244,7.076052103195604e-6,1.0906394119921115e-8,0.0010686723933572796,7.293685466136946e-6,1.0791343615514796e-8,0.00106890765095213,7.536822311352906e-6,1.0662299642942404e-8,0.0010690635977016276,7.77211139688823e-6,1.0537115853861746e-8,0.001069149428980129,7.968577301214409e-6,1.0432429890255657e-8,0.0010691841550370862,8.101601929648258e-6,1.036149374624633e-8,0.0010691940071483454,8.156061538266819e-6,1.0332478423133815e-8,0.001069209055658057,8.128266563717782e-6,1.03474435063982e-8,0.0010692594713290538,8.026593480405271e-6,1.0402013164716527e-8,0.0010693717459872535,7.870945267100574e-6,1.0485664177770738e-8,0.0010695649713014753,7.691125951702836e-6,1.05825672334285e-8,0.0010698471837835711,7.524020444771572e-6,1.0673046459330192e-8,0.0010702118794917663,7.409199319244088e-6,1.073588364535248e-8,0.0010706353190277158,7.382260325524803e-6,1.0751866255570777e-8,0.0010710762838212979,7.465490347225327e-6,1.0708824642405977e-8,0.0010714809682874885,7.6570210693528492E-06,1.0607528738465052e-8,0.0010717954666795326,7.92266264450533e-6,1.0466162353522634e-8,0.0010719849482146093,8.197549025520211e-6,1.031948512559187e-8,0.0010720518335533688,8.403355641842077e-6,1.0209555077841326e-8,0.0010720405373210041,8.477632103826806e-6,1.0169920153450947e-8,0.001072021738228369,8.400092320472587e-6,1.021150931330851e-8,0.0010720635198379748,8.199374023477202e-6,1.0319075409549964e-8,0.0010722065788787624,7.937147885028722e-6,1.0459750886515433e-8,0.00107245583521534,7.681893768449438e-6,1.0597036740148054e-8,0.0010727875503866039,7.487659268153709e-6,1.0702071381753594e-8,0.0010731630002383215,7.384581405590331e-6,1.075864496894142e-8,0.0010735409195010803,7.379180450137632e-6,1.0763066178824929e-8,0.001073885642552888,7.459556157906894e-6,1.0721462765445143e-8,0.0010741711464074789,7.60167164073378e-6,1.064650717664984e-8,0.0010743824677307964,7.774854624539591e-6,1.05545292946971e-8,0.0010745158753886549,7.946253107214568e-6,1.0463140800736486e-8,0.0010745783975093434,8.084663970024577e-6,1.0389154063601514e-8,0.0010745867148931046,8.164015707520659e-6,1.0346669113505363e-8,0.0010745652935797434,8.166515928713906e-6,1.0345347414447921e-8,0.0010745436064007652,8.085247843115634e-6,1.0389003625916266e-8,0.001074552414002862,7.925732239563838e-6,1.04747713355022e-8,0.0010746194263179607,7.705947602888145e-6,1.0593098065321354e-8,0.0010747649179418883,7.45457851834404e-6,1.0728675241616273e-8,0.0010749978735612412,7.207509835919612e-6,1.0862287758949862e-8,0.0010753131883688583,7.0027414856204215e-6,1.0973502950806292e-8,0.0010756904320888402,6.874033979996817e-6,1.1044059873554255e-8,0.0010760947834755237,6.8436529769841505e-6,1.1061787085804026e-8,0.001076481049891446,6.914886396186059e-6,1.1024693263841812e-8,0.0010768018290682909,7.066051634150347e-6,1.0944283327208556e-8,0.0010770200321076698,7.249261634913781e-6,1.0846289489249666e-8,0.001077123420982185,7.39804993243476e-6,1.076656197635394e-8,0.0010771348797026668,7.44585714263904e-6,1.0741042838621376e-8,0.0010771101367558554,7.350779981649652e-6,1.0792371226593277e-8,0.0010771194563272597,7.114340819791003e-6,1.091978472227473e-8,0.0010772207158111727,6.781925749825741e-6,1.1098942285178267e-8,0.001077438751988009,6.423598569950669e-6,1.1292263291924475e-8,0.0010777614606054466,6.107174429654953e-6,1.1463350840217734e-8,0.001078150988925822,5.878278442603043e-6,1.1587643347827043e-8,0.0010785602961386523,5.753858224937523e-6,1.1655892460490189e-8,0.0010789465240847547,5.72623912615062e-6,1.167203738632892e-8,0.0010792781883616845,5.7715171050260465e-6,1.1648769383961856e-8,0.0010795372547668179,5.857715055435001e-6,1.1603202812664468e-8,0.001079718408317149,5.950842140755552e-6,1.1553633958985417e-8,0.0010798274054571314,6.018931123532262e-6,1.1517348515355086e-8,0.0010798793764046966,6.034916081994106e-6,1.150903056702829e-8,0.0010798970957694128,5.979082561969348e-6,1.1539400992860876e-8,0.0010799088782759599,5.841386795654391e-6,1.1613943229511664e-8,0.001079945671266815,5.6234999239785664e-6,1.1731800417280663e-8,0.0010800370563297977,5.339960624404898e-6,1.1885168170973472e-8,0.0010802063626677298,5.017558699714286e-6,1.2059638070394361e-8,0.001080465709873069,4.692281975823613e-6,1.2235836282107038e-8,0.0010808121845919524,4.403722523375394e-6,1.239241282362964e-8,0.0010812263927673289,4.1875776377249006e-6,1.2510056790341688e-8,0.0010816742755761358,4.067606126441703e-6,1.2575830541311822e-8,0.0010821124162932766,4.048764490048608e-6,1.2586910279254428e-8,0.001082496394029135,4.1132067224480435e-6,1.2552812557360103e-8,0.0010827911400719823,4.220728194789922e-6,1.2495218049522599e-8,0.0010829814407256138,4.315035608807498e-6,1.2444602628550136e-8,0.0010830795939978,4.336331558319785e-6,1.2433397469308228e-8,0.0010831263014689158,4.238515418925506e-6,1.2486625405764085e-8,0.0010831815716910997,4.005888907583e-6,1.2612831618416838e-8,0.0010833062871192334,3.6615290203470267e-6,1.2799568273597161e-8,0.0010835411795810717,3.261162454656364e-6,1.3016729071965934e-8,0.0010838933778462134,2.8737930394674124e-6,1.3227010267237029e-8,0.001084337034999438,2.5585169726812227e-6,1.3398407369065678e-8,0.0010848260137734957,2.3486087687672093e-6,1.351281176227918e-8,0.0010853104715353803,2.2479370425633493e-6,1.3567994079646327e-8,0.0010857496852788604,2.2371567972056594e-6,1.3574322546551323e-8,0.0010861181451779231,2.2837281191620208e-6,1.3549388239562281e-8,0.0010864060912470594,2.3509882779473265e-6,1.351309848109019e-8,0.001086617167375567,2.4043382300803017e-6,1.348429676688557e-8,0.0010867653789912383,2.414780175748046e-6,1.3478800918996513e-8,0.0010868723951977914,2.36090336349784e-6,1.3508287044674754e-8,0.0010869652859729975,2.230320299619587e-6,1.357949036950374e-8,0.0010870742527047388,2.0210940838380106e-6,1.3693435401754393e-8,0.0010872297036982135,1.7431263470573831e-6,1.3844706627164613e-8,0.0010874581583647045,1.4188304041524766e-6,1.4021110351396713e-8,0.0010877770309646244,1.0819285734700634e-6,1.420434005833336e-8,0.0010881892473587201,7.732394508393998e-7,1.4372250040797893e-8,0.0010886795450963712,5.330813350595426e-7,1.4502949312721697e-8,0.001089214649730255,3.9140243490344096e-7,1.458013766244398e-8,0.0010897487258969283,3.584072521389756e-7,1.459820749252219e-8,0.0010902335819651038,4.191729634013468e-7,1.4565214418600275e-8,0.0010906310187498445,5.348153076480196e-7,1.4502295396028616e-8,0.0010909236281021046,6.506177348026824e-7,1.443926695100913e-8,0.001091120685014961,7.092800663955221e-7,1.4407391615029013e-8,0.001091257136747916,6.658869235087142e-7,1.4431183604022623e-8,0.0010913854479859381,5.005821622148568e-7,1.4521478794650966e-8,0.0010915618860652314,2.251478759511052e-7,1.467185398741576e-8,0.0010918307189155313,-1.1924299742407577e-7,1.4859864732950039e-8,0.0010922113493534546,-4.734372432057817e-7,1.5053255310459487e-8,0.0010926932935980337,-7.775556028587294e-7,1.5219334684945516e-8,0.0010932410472572044,-9.877102401363634e-7,1.533407805988485e-8,0.0010938063797259453,-1.0859165470122615e-6,1.5387566050399254e-8,0.001094342455259391,-1.080589230442882e-6,1.5384321095468852e-8,0.00109481445675083,-9.995980021090122e-7,1.5339569592932147e-8,0.0010952043212414967,-8.803420527904827e-7,1.5273828324478645e-8,0.0010955103354372215,-7.608506842509845e-7,1.520800473466209e-8,0.0010957438947718288,-6.738297010954895e-7,1.516008890171015e-8,0.0010959255739260278,-6.435882030741187e-7,1.514342886133524e-8,0.0010960816844447629,-6.848008439732961e-7,1.516603611113632e-8,0.001096241543978873,-8.02004725041787e-7,1.5230321629549556e-8,0.0010964350536024304,-9.891361497491146e-7,1.5332873831182345e-8,0.0010966898752015986,-1.2290044827439803e-6,1.5464206803068726e-8,0.0010970275583669783,-1.4932930260580311e-6,1.5608784981685757e-8,0.0010974584822657629,-1.7443109645131954e-6,1.574598051452959e-8,0.0010979764965260918,-1.9399561880694465e-6,1.5852762521604583e-8,0.0010985554895813923,-2.0426623918831098e-6,1.590856103716042e-8,0.0010991510076969397,-2.031063016383569e-6,1.590164521848076e-8,0.0010997091337757634,-1.9102678540224635e-6,1.5834788151340182e-8,0.0011001814643931509,-1.7151290714917107e-6,1.5727115299126148e-8,0.0011005408546707206,-1.5028952094650604e-6,1.5610105905041306e-8,0.001100790948640354,-1.3368393448549428e-6,1.5518581808694086e-8,0.001100965184316589,-1.2672952194125447e-6,1.5480237846173764e-8,0.0011011161176956588,-1.3175209969869768e-6,1.5507843040213407e-8,0.0011012998469212088,-1.4787697248972343e-6,1.5596542078759433e-8,0.001101561065014156,-1.7146998910046917e-6,1.5726308035865734e-8,0.0011019226990827457,-1.9724071175410574e-6,1.586801490545639e-8,0.001102382007116548,-2.196363356079692e-6,1.5991084228148263e-8,0.0011029132667145561,-2.3416096021800094e-6,1.6070722292919825e-8,0.0011034757514399483,-2.38310916619068e-6,1.6093077245681256e-8,0.0011040244786115357,-2.31927776315323e-6,1.6057225467888683e-8,0.0011045205794044041,-2.1694385072843676e-6,1.597381802522786e-8,0.0011049385690624493,-1.966838354498544e-6,1.5861252045493124e-8,0.0011052692443645087,-1.750001842086337e-6,1.5740883086523665e-8,0.0011055186380034719,-1.5550353774155559e-6,1.5632734001830676e-8,0.0011057045369247066,-1.4103695910270938e-6,1.5552549745965977e-8,0.0011058522277989002,-1.3341378137981495e-6,1.551032955262108e-8,0.0011059906217503908,-1.3335025490994153e-6,1.5509962936515426e-8,0.001106149150194748,-1.404950501845874e-6,1.5549420079728942e-8,0.0011063551807779252,-1.5348143523852197e-6,1.5621073311654e-8,0.0011066313631327655,-1.6998081049754247e-6,1.5712016164878937e-8,0.0011069922927926747,-1.8679853774396568e-6,1.580459705808824e-8,0.0011074402507398938,-2.0011637405826746e-6,1.5877740607269027e-8,0.0011079607077455421,-2.060248709035317e-6,1.5909858156164228e-8,0.001108519738968454,-2.0144254988523965e-6,1.588390462537339e-8,0.0011090667951459137,-1.8531436940924132e-6,1.5794016241904865e-8,0.0011095457522609323,-1.5962893152773853E-06,1.5651187561937485e-8,0.0011099131036531966,-1.295286315591519e-6,1.548393416264128e-8,0.0011101558729649911,-1.0201697065466408e-6,1.5331133204623056e-8,0.0011102988958696094,-8.358929741676526e-7,1.5228836499800212e-8,0.001110396160826366,-7.792957175517323e-7,1.519745019538023e-8,0.00111051078357651,-8.4832733122868e-7,1.5235767590110828e-8,0.0011106942753399312,-1.0069042485667557e-6,1.5323711725274e-8,0.00111097368196469,-1.1999692577389667e-6,1.5430718007157876e-8,0.0011113487938456635,-1.370515245006706e-6,1.5525164027079777e-8,0.0011117968919402519,-1.472886234678616e-6,1.5581716379428368e-8,0.00111228126468647,-1.4803580618799743e-6,1.5585522069862342e-8,0.0011127605283525728,-1.38735025143936e-6,1.553345118973782e-8,0.0011131969606502966,-1.207467615593322e-6,1.5433042494833323e-8,0.0011135628384484684,-9.68609089136904e-7,1.5299812786382335e-8,0.0011138441430138264,-7.063766770539463e-7,1.515359787677788e-8,0.0011140413969519087,-4.5716749529745555e-7,1.5014692696968984e-8,0.0011141679771116317,-2.5224292949749117e-7,1.4900524553462284e-8,0.0011142467106409985,-1.1360505719006956e-7,1.4823340179212186e-8,0.0011143057375622243,-5.1947099677121166e-8,1.478906414284595e-8,0.0011143745275428235,-6.641623982905153e-8,1.479718055412551e-8,0.0011144805411490116,-1.4554045014367347e-7,1.4841267716474989e-8,0.0011146465039405943,-2.6868186327244643e-7,1.4909818722617364e-8,0.0011148879464543517,-4.077487512787168e-7,1.4987193531681402e-8,0.0011152106069133069,-5.293572049765862e-7,1.5054810350341645e-8,0.001115607505557431,-5.981354506604627e-7,1.5092967998964315e-8,0.0011160562278251995,-5.82238372920153e-7,1.508390498897239e-8,0.0011165181858738054,-4.617774614729789e-7,1.5016501585294573e-8,0.0011169427756374372,-2.3916486858598275e-7,1.489207589936706e-8,0.001117279123695704,5.281074662320559e-8,1.4728931150574154e-8,0.0011174945353303808,3.5238253651923323e-7,1.4561593636104278e-8,0.0011175918891919794,5.85237341776037e-7,1.4431602483043102e-8,0.001117613973298778,6.922600246158575e-7,1.4371955080154304e-8,0.0011176285284481737,6.540692000960255e-7,1.4393394122909386e-8,0.0011177012518909313,4.973859584028976e-7,1.4480914676359373e-8,0.0011178724639969737,2.807665191832271e-7,1.4601797634793543e-8,0.0011181484319527568,7.064887876481905e-8,1.4718987525011862e-8,0.0011185068668504749,-7.890745011779789e-8,1.4802357637019236e-8,0.0011189091709123736,-1.3646153918415363e-7,1.4834384089423755e-8,0.0011193126105248509,-9.43931094899234e-8,1.48108065335213e-8,0.0011196792366973227,3.5164048593491474e-8,1.473837430297344e-8,0.0011199811858316087,2.26369559642981e-7,1.4631494218090753e-8,0.0011202031869314724,4.4589422366034254e-7,1.4508776239873582e-8,0.00112034310520379,6.586854121746841e-7,1.4389816343386903e-8,0.0011204109385747102,8.330417415667043e-7,1.4292352649188305e-8,0.0011204265234972595,9.446967691452359e-7,1.4229970169917528e-8,0.0011204162785695454,9.796302768584618e-7,1.4210520366177409e-8,0.0011204093914756884,9.354136766252925e-7,1.423536740670385e-8,0.0011204339509095645,8.210357617533893e-7,1.4299488573279187e-8,0.0011205135047749502,6.554492436680685e-7,1.4392288214421408e-8,0.0011206642577800594,4.652528434009131e-7,1.4498888367884619e-8,0.001120892869175372,2.817729973787914e-7,1.4601751044198787e-8,0.0011211947550755549,1.3757495990860276e-7,1.4682621069015419e-8,0.0011215528883894927,6.21872975976025e-8,1.4724918735586556e-8,0.001121937523487324,7.657802320904832e-8,1.471684663627745e-8,0.0011223081121608392,1.862337483495964e-7,1.4655293964103262e-8,0.0011226193191337492,3.7406125879550593e-7,1.4549846746055096e-8,0.001122832579558784,5.965725646991329e-7,1.4424943518651694e-8,0.001122931860338344,7.888398809784377e-7,1.4317073347269448e-8,0.0011229368584202211,8.823540066354003e-7,1.42646972284513e-8,0.0011229030163360236,8.31978931560535e-7,1.4293081372632381e-8,0.0011229027871189272,6.377983868581165e-7,1.4402074372500076e-8,0.0011229961745440554,3.466313844851877e-7,1.4565346045514696e-8,0.0011232080312209413,3.131213495657076e-8,1.4742059226319447e-8,0.0011235241667242122,-2.384517151272013e-7,1.4893183747109764e-8,0.0011239038866639104,-4.1705069829968125e-7,1.4993199888376666e-8,0.0011242978045176068,-4.891837396590307e-7,1.5033552385496457e-8,0.0011246618087164136,-4.650533911979487e-7,1.501996092483476e-8,0.0011249644073865193,-3.712956185955165e-7,1.4967350495564534e-8,0.0011251887847238463,-2.4226609099827207e-7,1.489497804254355e-8,0.0011253319323496448,-1.1342860023329529e-7,1.4822732804632492e-8,0.001125402634959825,-1.6748392335343594e-8,1.476855463336166e-8,0.0011254190551908455,2.2583818610430424e-8,1.4746592428163293e-8,0.001125406006350285,-1.147849811646348e-8,1.4765866874794957e-8,0.0011253918703925659,-1.2428284425453638e-7,1.4829389975213278e-8,0.001125405153669,-3.098575433825358e-7,1.4933811618400424e-8,0.001125470825285484,-5.515007109536961e-7,1.5069747750744837e-8,0.0011256068473051415,-8.237402109522106e-7,1.522287862447306e-8,0.0011258213742378021,-1.0955210324600928e-6,1.5375735433027346e-8,0.001126110953640497,-1.33434576076099e-6,1.551002392607651e-8,0.0011264599688784321,-1.5110754595557068e-6,1.5609325258051984e-8,0.0011268415324472347,-1.6050367155868619e-6,1.5661979950811296e-8,0.0011272200850014037,-1.6091063327225863e-6,1.5663968705012574e-8,0.0011275562307977297,-1.5342861631028003e-6,1.5621508044081852e-8,0.0011278144681279808,-1.4124327608801717e-6,1.5552595027563792e-8,0.001127973697196369,-1.2945868803236955e-6,1.548604925928786e-8,0.0011280382587597413,-1.2418556395565706e-6,1.5456333428887506e-8,0.0011280441049613882,-1.3076713541081708e-6,1.5493515389976944e-8,0.0011280530903307478,-1.5159246352740396e-6,1.5610950547436537e-8,0.001128132778175655,-1.8463668689740967e-6,1.579711977668449e-8,0.0011283296134604944,-2.238778351585612e-6,1.601804452302929e-8,0.0011286507402838491,-2.6162893563312223e-6,1.6230430827785135e-8,0.001129064849116733,-2.914505922934018e-6,1.639803217786027e-8,0.0011295188883964043,-3.1003495271215335e-6,1.650223555792818e-8,0.0011299585096496848,-3.1743954370268017e-6,1.6543390761059785e-8,0.0011303422387863712,-3.1616614223987634e-6,1.6535639899295777e-8,0.0011306468543703053,-3.099226465392222e-6,1.649993957729718e-8,0.0011308665355909385,-3.026115926253836e-6,1.6458343678529448e-8,0.0011310092877528594,-2.97696670198988e-6,1.643041637428008e-8,0.0011310930107738839,-2.9787150579821667e-6,1.643135725219101e-8,0.0011311420979546502,-3.048971357365785e-6,1.6471083224590702e-8,0.0011311844863316548,-3.1951543584245246e-6,1.655374177555831e-8,0.0011312487969415517,-3.4140426711787296e-6,1.667746050617603e-8,0.001131361247585663,-3.6918347099299193e-6,1.683438659836271e-8,0.0011315422288500833,-4.005155407124281e-6,1.701126248263884e-8,0.0011318028686057846,-4.323516118603748e-6,1.719082210152812e-8,0.001132142305142021,-4.613386976593811e-6,1.7354095519871995e-8,0.001132546459390808,-4.843583003603475e-6,1.7483454475893005e-8,0.0011329889427781129,-4.991272754047409e-6,1.7566013688537354e-8,0.0011334344413259357,-5.047541910774497e-6,1.7596784618951905e-8,0.001133844458183822,-5.021292733474158e-6,1.7580889129752105e-8,0.0011341848700335095,-4.94040959890774e-6,1.753421475919338e-8,0.0011344344119443499,-4.8491916969188745e-6,1.748193700907113e-8,0.0011345925814498685,-4.801059066100088e-6,1.745434825021528e-8,0.001134684387300292,-4.846227082445247e-6,1.7479841111046328e-8,0.0011347584805635495,-5.0160858158737145e-6,1.7576061597522453e-8,0.0011348759327808268,-5.309263400214288e-6,1.7742064468409605e-8,0.0011350908173706725,-5.6869034120381485e-6,1.7955706489080888e-8,0.0011354299176144932,-6.082800701089851e-6,1.8179418623203863e-8,0.0011358822190113598,-6.426124898603051e-6,1.8373054177066374e-8,0.0011364043809356825,-6.665757949870108e-6,1.8507648393622844e-8,0.0011369384853650538,-6.7840861137196476e-6,1.8573247563186413e-8,0.0011374316455507916,-6.795823634017219e-6,1.8578280026159067e-8,0.001137848673807987,-6.736604005607285e-6,1.85430965640259e-8,0.001138175543947817,-6.649378408098194e-6,1.8492219634553844e-8,0.0011384164599360274,-6.574091986083006e-6,1.8448433493018965e-8,0.0011385884812031334,-6.5420367269707E-06,1.8429543600599157e-8,0.0011387163515221173,-6.573764105960214e-6,1.844718403120001e-8,0.0011388284833158092,-6.678850501571657e-6,1.8506697577031452e-8,0.0011389539421612653,-6.856289459219892e-6,1.8607380918886297e-8,0.0011391198567281403,-7.094990988364993e-6,1.8742791852569966e-8,0.0011393486909906535,-7.374470404067843e-6,1.8901162544082247e-8,0.001139655105173082,-7.666288253826918e-6,1.9066235687773136e-8,0.0011400426757558419,-7.936983461486883e-6,1.921894205864218e-8,0.0011405013577337874,-8.152936837249098e-6,1.9340168556050783e-8,0.0011410069453844265,-8.286904307477137e-6,1.941447163411268e-8,0.001141523687978373,-8.325052062458535e-6,1.943407977800105e-8,0.0011420104921204704,-8.272482966705914e-6,1.940204081740356e-8,0.0011424298885641681,-8.155032071176124e-6,1.9333238629293002e-8,0.0011427577026877223,-8.01590505046847e-6,1.9252449665323856e-8,0.0011429907616206283,-7.907174957399983e-6,1.9189445751876634e-8,0.0011431501649271265,-7.877608061907913e-6,1.917200273740673e-8,0.0011432784491987938,-7.9594886944176e-6,1.9218374972079383e-8,0.0011434302434748492,-8.157983701078854e-6,1.9331275036921774e-8,0.0011436578055424847,-8.446881947193677e-6,1.949552477305666e-8,0.00114399515501405,-8.773659928063834e-6,1.9681008281834052e-8,0.001144446522983574,-9.073972603149053e-6,1.9850948567032337e-8,0.0011449845240813815,-9.291172843971188e-6,1.997301868872744e-8,0.0011455595354737658,-9.393027652032006e-6,2.0028869806567677e-8,0.0011461161009334714,-9.378716130867975e-6,2.001814630971795e-8,0.0011466089029168024,-9.274461172054308e-6,1.9956008806800238e-8,0.0011470122988015584,-9.121833292035425e-6,1.9866427698242803e-8,0.00114732188508422,-8.96496066277439e-6,1.977481168122164e-8,0.001147550426654242,-8.84115873090527e-6,1.970259092640148e-8,0.0011477216937115396,-8.776250220560751e-6,1.966451506584681e-8,0.0011478647584178116,-8.783503033521037e-6,1.966805944170667e-8,0.0011480097210303582,-8.864451422748417e-6,1.971393023358895e-8,0.0011481847339456337,-9.010282799110149e-6,1.9796897029095008e-8,0.0011484137013095736,-9.203162855983934e-6,1.9906583070119853e-8,0.0011487139621447924,-9.417536219790016e-6,2.0028232082651543e-8,0.0011490935669522466,-9.622008265590576e-6,2.0143797216780358e-8,0.0011495483701545808,-9.782674812070154e-6,2.0233850339937727e-8,0.0011500598968202766,-9.868530899457088e-6,2.0280675342107168e-8,0.001150595576793416,-9.858788234789456e-6,2.027245503525575e-8,0.0011511130407411538,-9.750551556433113e-6,2.0207673116114426e-8,0.0011515690958261268,-9.563815939238883e-6,2.0097983923800655e-8,0.0011519316806153635,-9.340392670730376e-6,1.9967584121287674e-8,0.001152190749497022,-9.135185026245966e-6,1.9848156573524196e-8,0.0011523634382926925,-9.001659265593388e-6,1.9770455193964563e-8,0.0011524907957058544,-8.976351650421527e-6,1.975535707782608e-8,0.0011526268209164589,-9.067935946616826e-6,1.9807599727437817e-8,0.0011528235054923113,-9.25449432683755e-6,1.9914294904382524e-8,0.0011531166414686328,-9.489552149459594e-6,2.0048491573720485e-8,0.0011535164504243166,-9.71476019621844e-6,2.0176519619224113e-8,0.0011540055000518578,-9.875454353321969e-6,2.0266935867828633e-8,0.0011545443526542588,-9.934597905884134e-6,2.029851857027083e-8,0.0011550830429836547,-9.881012223473731e-6,2.026498429883669e-8,0.0011555744937682764,-9.729706251418504e-6,2.0175168201088018e-8,0.0011559854772124829,-9.51504938883692e-6,2.0049071556327196e-8,0.0011563021464909625,-9.280042396553756e-6,1.991163982225793e-8,0.0011565296752859802,-9.065727818539686e-6,1.9786613888511836e-8,0.001156687736425848,-8.903688987058367e-6,1.9692182364519e-8,0.0011568044046975123,-8.8125619957311e-6,1.9638981965480233e-8,0.0011569105458751,-8.797789715304598e-6,1.9629991386652268e-8,0.0011570356151798416,-8.853178776230065e-6,1.9661469660227554e-8,0.0011572048275839113,-8.963029002850191e-6,1.9724213131765286e-8,0.0011574371573823965,-9.104180604326605e-6,1.9804750235027096e-8,0.0011577435098976399,-9.247950130788989e-6,1.9886461799431398e-8,0.0011581246406424353,-9.362476184699034e-6,1.9950934601369646e-8,0.001158568958664678,-9.41631267388031e-6,1.9980033554842147e-8,0.001159051135572797,-9.383982662467644e-6,1.9959107105592105e-8,0.0011595332400694842,-9.253407196201551e-6,1.988127948054991e-8,0.0011599704116754437,-9.033473617199929e-6,1.9751830591591057e-8,0.001160321905079089,-8.757962164306107e-6,1.9590469326886845e-8,0.0011605651381540996,-8.481352968156326e-6,1.9428884611557018e-8,0.0011607066977102414,-8.264780100526713e-6,1.9302555692561575e-8,0.0011607835786356816,-8.156211653841857e-6,1.9239208531028127e-8,0.001160852303938451,-8.173672131833849e-6,1.9249082973678126e-8,0.0011609704050213417,-8.299502401002055e-6,1.9321670102197103e-8,0.0011611786600939425,-8.487524842860316e-6,1.942996472795716e-8,0.00116149085756971,-8.678548440956826e-6,1.9539526753642373e-8,0.0011618930476837161,-8.817263786054158e-6,1.961829467481908e-8,0.0011623502480845786,-8.865197369246996e-6,1.9644073624203352e-8,0.0011628170462849206,-8.807345064885849e-6,1.9608343243756524e-8,0.001163248772606246,-8.652436380407108e-6,1.9516370694754277e-8,0.0011636107636861521,-8.42810745764086e-6,1.9384372461534673e-8,0.0011638841503945102,-8.17290291549061e-6,1.9234838808357553e-8,0.0011640675332915647,-7.927309243105636e-6,1.9091306227406572e-8,0.001164174910574985,-7.725934562782125e-6,1.897381570422459e-8,0.0011642310911780206,-7.592301438636944e-6,1.8895911963434465e-8,0.001164266183153776,-7.536686249750781e-6,1.8863426101585725e-8,0.0011643105098843333,-7.556534996681924e-6,1.8874751833990127e-8,0.0011643907219274397,-7.638508383357229e-6,1.892205030520054e-8,0.0011645272144765674,-7.761166811425134e-6,1.8992807601442906e-8,0.0011647324707863098,-7.897651936164617e-6,1.9071379900299287e-8,0.0011650098094900412,-8.018265814666975e-6,1.914048233352255e-8,0.0011653521888236509,-8.093307790327415e-6,1.9182839583695098e-8,0.001165741133615056,-8.096798948189496e-6,1.9183362843101123e-8,0.0011661465394286383,-8.01169930545659e-6,1.913219846759754e-8,0.0011665289267256526,-7.836536321099879e-6,1.9028592765835697e-8,0.0011668460658409007,-7.591725078170206e-6,1.8884569456476698e-8,0.0011670647742319771,-7.321672629410377e-6,1.872613603007408e-8,0.0011671752536712213,-7.087778965397692e-6,1.8589162929747138e-8,0.0011672007945532352,-6.950506281680236e-6,1.8508875117680157e-8,0.0011671946165852476,-6.946270276537636e-6,1.8506350208028936e-8,0.0011672219724961402,-7.071417197234697e-6,1.8579216055933185e-8,0.0011673358746302342,-7.283275108892446e-6,1.8702356985605753e-8,0.0011675594159570796,-7.517413113909867e-6,1.8838061377010595e-8,0.0011678822015231747,-7.710561368063675e-6,1.8949420655493054e-8,0.0011682689261397071,-7.818135372925264e-6,1.9010538692202126e-8,0.0011686730493583339,-7.821696462300443e-6,1.90108499425854e-8,0.0011690494583318888,-7.727720962976632e-6,1.8954353489254236e-8,0.0011693632444199163,-7.56134032774171e-6,1.885590552632025e-8,0.00116959424227111,-7.358324729191973e-6,1.8736493783482777e-8,0.0011697381322427927,-7.157289319737172e-6,1.861866602390422e-8,0.001169805015940991,-6.993028321525914e-6,1.852264983791331e-8,0.0011698161546601542,-6.891491872816817e-6,1.8463458014440653e-8,0.0011697995747586565,-6.866806023143072e-6,1.8449195474681566e-8,0.001169785345145261,-6.9204124414224666e-6,1.8480593608555368e-8,0.0011698012390084927,-7.0420511084665356e-6,1.8551596753815423e-8,0.0011698692959780039,-7.212115770190638e-6,1.865072612237821e-8,0.001170003535115469,-7.40476340602822e-6,1.876287162320732e-8,0.0011702087001298016,-7.591191261412983e-6,1.887118665962335e-8,0.001170479701385697,-7.742851069545861e-6,1.895896527939579e-8,0.0011708015200401624,-7.834746251544546e-6,1.9011588216858993e-8,0.0011711496211634048,-7.849130822009977e-6,1.9018713426567524e-8,0.0011714913924403504,-7.779910197998646e-6,1.8976869060788222e-8,0.0011717897544849946,-7.637523831636095e-6,1.889230519205385e-8,0.001172010309956273,-7.452738502943907e-6,1.8783182601489195e-8,0.0011721323598993924,-7.275994332800178e-6,1.867913794942048e-8,0.0011721611281580594,-7.168155593634209e-6,1.861581265298405e-8,0.0011721343191450696,-7.1813051484193844e-6,1.862357539268324e-8,0.0011721149049607846,-7.335813716215587e-6,1.87141217167984e-8,0.001172168800567516,-7.607145133330706e-6,1.8872833135365767e-8,0.0011723380208572738,-7.933227173421569e-6,1.9063184028057393e-8,0.0011726252496139771,-8.239481077610759e-6,1.924143891636807e-8,0.0011729975280554965,-8.466260519538257e-6,1.9372719916227837e-8,0.0011734031858778484,-8.584501548552111e-6,1.944016181411194e-8,0.001173790302185874,-8.596454295920204e-6,1.944531693494591e-8,0.0011741190787508823,-8.527161410478187e-6,1.9403109104349883e-8,0.0011743669348481497,-8.413502697600549e-6,1.933534155711618e-8,0.0011745284115409797,-8.294793736602777e-6,1.9265131227668844e-8,0.0011746124079364151,-8.206190261184355e-6,1.9213032276832187e-8,0.0011746385065752375,-8.174556373859033e-6,1.9194649111671876e-8,0.0011746330915234392,-8.216052103381338e-6,1.9219279634408336e-8,0.0011746253880197785,-8.335082109550146e-6,1.9289350289034145e-8,0.0011746435809791025,-8.524542340119898e-6,1.9400586230916127e-8,0.0011747112692470335,-8.767280557710057e-6,1.954286430798587e-8,0.0011748445359639791,-9.03865596643075e-6,1.9701692857538592e-8,0.0011750499632298852,-9.309966660718363e-6,1.9860201817912727e-8,0.001175323799399941,-9.552298843262974e-6,2.0001396821218872e-8,0.00117565222379474,-9.740381416028808e-6,2.0110439466007515e-8,0.0011760125740055314,-9.856258828588306e-6,2.0176834214821782e-8,0.001176375524771259,-9.89270749701017e-6,2.0196458357561633e-8,0.0011767084198622795,-9.856295447680713e-6,2.0173355725141192e-8,0.0011769802534832457,-9.769680052766479e-6,2.0121046365166935e-8,0.001177168799588408,-9.671871258832764e-6,2.0062613323586582e-8,0.0011772694476469777,-9.6141384720008e-6,2.002822704058926e-8,0.0011773031276615976,-9.649130357389883e-6,2.004871269724044e-8,0.001177317927990144,-9.813195811093411e-6,2.0145182911243707e-8,0.0011773784774201084,-1.0107742086366462e-5,2.031816622647421e-8,0.0011775429199502576,-1.0491244705205072e-5,2.054301185498362e-8,0.001177837880102486,-1.0891186429975976e-5,2.077695811502661e-8,0.0011782469508336748,-1.1232228758863288e-5,2.0975685618500445e-8,0.0011787199252995327,-1.1464270048217633e-5,2.1109807093236463e-8,0.001179195117857407,-1.1575096317836384e-5,2.1172327792887724e-8,0.0011796204060343677,-1.1585333083324484e-5,2.117567378298927e-8,0.001179964253721622,-1.153426084540048e-5,2.1143276835969646e-8,0.001180216947487361,-1.1465789942356163e-5,2.1101215758474892e-8,0.0011803864077251783,-1.1418915216628996e-5,2.107252293342305e-8,0.0011804924552570766,-1.1422849945557147e-5,2.1074313204903283e-8,0.0011805616351961057,-1.149534972563153e-5,2.111684828473406e-8,0.0011806231296561194,-1.164260838042896e-5,2.1203547272920038e-8,0.001180705405349917,-1.185983590457733e-5,2.133138289587363e-8,0.0011808332022572984,-1.2132380829244001e-5,2.1491566451183692e-8,0.0011810247593277404,-1.2437538534793616e-5,2.1670609888946692e-8,0.00118128939658047,-1.2747235945817167e-5,2.1851893747692842e-8,0.0011816258296817952,-1.3031688632184382e-5,2.2017816721285344e-8,0.0011820217409164156,-1.3263766786722557e-5,2.215238102483769e-8,0.0011824549343442512,-1.3423476824073942e-5,2.224386173036045e-8,0.0011828960923008392,-1.3501908143475178e-5,2.228715845248425e-8,0.0011833129578829248,-1.3504032616951642e-5,2.2285447254115404e-8,0.0011836756314048944,-1.3449812928952117e-5,2.2250794275112108e-8,0.001183962592413837,-1.3373153848677134e-5,2.2203458812617827e-8,0.0011841669322909438,-1.3318065327970467e-5,2.2169537514422055e-8,0.0011843016926503368,-1.3331175884827947e-5,2.2176482373441217e-8,0.0011844020642103072,-1.3450260247773386e-5,2.2246332098472546e-8,0.001184521202676278,-1.3690428025695983e-5,2.2387640451217336e-8,0.0011847171293863903,-1.4032994909381187e-5,2.2589027933433944e-8,0.001185032463777717,-1.4424743371322873e-5,2.281883562996951e-8,0.0011854755677246913,-1.4792794984495582e-5,2.3033918419938312e-8,0.0011860147396502052,-1.507088024578483e-5,2.319513060443558e-8,0.0011865905179456926,-1.5223319477673633e-5,2.328150001628114e-8,0.0011871389466646689,-1.5253718038456167e-5,2.3295410581307743e-8,0.0011876123061146714,-1.519648813755946e-5,2.3257586969311357e-8,0.0011879885113928858,-1.5099845661934605e-5,2.3196940123018956e-8,0.0011882695341677578,-1.501035144178206e-5,2.31412842396481e-8,0.0011884742356245803,-1.4963788315746421e-5,2.3111852364620775e-8,0.001188630530564791,-1.4982034546106686e-5,2.3121452402727265e-8,0.0011887692807419578,-1.507353292827563e-5,2.3174817880824452e-8,0.0011889202463939105,-1.5235106883747588e-5,2.3269772227890994e-8,0.0011891093972103773,-1.5453904219857056e-5,2.3398442893928934e-8,0.001189356787492648,-1.5709243646093957e-5,2.3548380493865156e-8,0.001189674562434833,-1.597465760311393e-5,2.3703767108688843e-8,0.0011900650705906138,-1.622059546320253e-5,2.3847010207390837e-8,0.0011905194959919482,-1.641817450904896e-5,2.396096721453941e-8,0.0011910177895063875,-1.6543919681829082e-5,2.403177226492937e-8,0.0011915306556030559,-1.6584788766736868e-5,2.4051839818261955e-8,0.001192023898945927,-1.6542298384545826e-5,2.4022324070467803e-8,0.001192464757553144,-1.643440146715635e-5,2.3954211093486313e-8,0.001192829119799411,-1.629404609753833e-5,2.3867395750016865e-8,0.001193108027212104,-1.6164104458207515e-5,2.3787569044241983e-8,0.0011933118430555575,-1.608921071912973e-5,2.3741272731391792e-8,0.0011934707320330146,-1.6105658509481013e-5,2.374985781205688e-8,0.0011936303976635173,-1.623111932778949e-5,2.3823425330801796e-8,0.0011938425904213918,-1.6456797947603263e-5,2.3956291913805633e-8,0.0011941512693824246,-1.6745405678767475e-5,2.4125926378533872e-8,0.0011945777513011316,-1.703806116613979e-5,2.4297131106293858e-8,0.0011951108176325653,-1.7270552184130284e-5,2.4431706269672658e-8,0.0011957078826386161,-1.7394145331375484e-5,2.4500786304503858e-8,0.001196308651953773,-1.7391670563142902e-5,2.4494397478295562e-8,0.0011968553574094527,-1.7280885870127336e-5,2.442346637634852e-8,0.0011973097438809756,-1.7104486121415902e-5,2.4313830319614202e-8,0.0011976600271846305,-1.6913544964189015e-5,2.4196263777647027e-8,0.0011979178287977973,-1.6752823815132273e-5,2.4097605696463648e-8,0.0011981097707620147,-1.6652578579863055e-5,2.4035827004151324e-8,0.0011982686801686477,-1.6626751066110573e-5,2.401899572758425e-8,0.0011984270612510747,-1.6674980003615707e-5,2.4046572026728495e-8,0.0011986131998672476,-1.6785856209140574e-5,2.411144126081378e-8,0.00119884907936858,-1.6939967517406705e-5,2.4201781684558578e-8,0.0011991490988296598,-1.7112385016964997e-5,2.430255743190104e-8,0.0011995189044720176,-1.727490968716899e-5,2.4396846663078468e-8,0.0011999541434850292,-1.73987053704685e-5,2.446740213138539e-8,0.0012004395264967585,-1.7457927525291007e-5,2.4498820966803372E-08,0.0012009491082435547,-1.743451264755266e-5,2.4480422287605266e-8,0.001201448900782843,-1.7323465817622007e-5,2.4409425154034857e-8,0.0012019025457898729,-1.713703206787251e-5,2.429344400128628e-8,0.0012022796375072394,-1.6905527800039264e-5,2.415095110327444e-8,0.001202564674709609,-1.66730256383639e-5,2.4008615527302114e-8,0.0012027634568679232,-1.6487847620334767e-5,2.3895505198766226e-8,0.001202904030611828,-1.6390163394670685e-5,2.3835574955575874e-8,0.0012030311028923925,-1.6400516224166192e-5,2.384078723594285e-8,0.0012031951747230444,-1.6513004713512284e-5,2.390712060734509e-8,0.001203439368777117,-1.6695385826531313e-5,2.4014786720648956e-8,0.0012037875416534632,-1.6896357132806125e-5,2.413273573212916e-8,0.0012042369997383238,-1.7058417430140396e-5,2.422642990299439e-8,0.001204758270153749,-1.7133153462624448e-5,2.42669920335499e-8,0.0012053027296240449,-1.7094557087145528e-5,2.4239131779032624e-8,0.001205816243419089,-1.694576087819249e-5,2.414512189749825e-8,0.001206254208107606,-1.671652593603102e-5,2.4003224447649546e-8,0.0012065924774887938,-1.6452686017868706e-5,2.3841274764580573e-8,0.0012068306855210508,-1.6202252980745935e-5,2.3688257288772364e-8,0.0012069882451567506,-1.6003642610002783e-5,2.3567193058502826e-8,0.0012070962548821874,-1.5879317737007825e-5,2.3491350212189728e-8,0.0012071891126864752,-1.5834987172204415e-5,2.3463848234982794e-8,0.0012072982435586271,-1.5862395994595704e-5,2.3479429419473134E-08,0.0012074484919681056,-1.5943390285158226e-5,2.3526960795175952e-8,0.0012076565349967772,-1.6053727644420263e-5,2.3591735054261115e-8,0.0012079303224518817,-1.6166109640853678e-5,2.3657270713232458e-8,0.0012082687433021958,-1.625265566416613e-5,2.370677465035961e-8,0.0012086611896754904,-1.6287448494366172e-5,2.372466631141001e-8,0.0012090872917999832,-1.6249836702848495e-5,2.3698580523446967e-8,0.0012095176855486077,-1.6128815528154758e-5,2.3622028928013453e-8,0.0012099170613362122,-1.592798579392285e-5,2.349739986274672e-8,0.0012102505659388227,-1.566936060894537e-5,2.3338237567455915e-8,0.0012104933479661164,-1.5393153749585413e-5,2.316906420901978e-8,0.0012106406191476266,-1.5150881099106516e-5,2.302113572545944e-8,0.001210713427762985,-1.4991745019339821e-5,2.2924136337323242e-8,0.0012107557250189674,-1.4946543294335746e-5,2.2896419733099684e-8,0.0012108221716802248,-1.5016161651831003e-5,2.293810304377412e-8,0.0012109612315525406,-1.5170264902251345e-5,2.3030401775421017e-8,0.0012112005956738774,-1.535671009607627e-5,2.3141465559964834e-8,0.0012115402123723076,-1.551722648703216e-5,2.3235958218962858e-8,0.0012119541203185218,-1.5603217342101987e-5,2.32846361790215e-8,0.0012123989690091418,-1.558704649773601e-5,2.32711262155396e-8,0.0012128258188160085,-1.546672637976945e-5,2.3194667025593706e-8,0.0012131919055231588,-1.526397476343263e-5,2.306882035076686e-8,0.001213469672752588,-1.5016981076206275e-5,2.2916988632259907e-8,0.0012136512717100716,-1.4770193242323362e-5,2.2766165374691033e-8,0.0012137479589100495,-1.4563974629347552e-5,2.2640665341646183e-8,0.0012137852603573004,-1.4426773355970368e-5,2.255743926778347e-8,0.0012137959093788662,-1.4371343522844578e-5,2.2523883713028728e-8,0.0012138128365966673,-1.439499826481813e-5,2.2538091856692798e-8,0.0012138638400819995,-1.4482668698853964e-5,2.2590762305896745e-8,0.0012139685086682349,-1.4611158244269921e-5,2.2667775734842887e-8,0.0012141370773553156,-1.4753294457875256e-5,2.2752669276880412e-8,0.0012143704447298367,-1.4881339284913565e-5,2.2828655628043122e-8,0.0012146606157735983,-1.4969696583580246e-5,2.2880242761076628e-8,0.0012149911979015464,-1.499739616837105e-5,2.2894754107216863e-8,0.001215338074413792,-1.495094088433912e-5,2.286409075695815e-8,0.0012156709220629822,-1.4827860365214653e-5,2.278691472150337e-8,0.0012159566967008494,-1.4640607873998432e-5,2.2671006872583375e-8,0.0012161661678526474,-1.4419214392042551e-5,2.253482998176492e-8,0.0012162834218881762,-1.4209794962010202e-5,2.2406545421342624e-8,0.001216315642396274,-1.4065845309811994e-5,2.2318651755283653e-8,0.0012162975273846636,-1.4032046896515793e-5,2.229810801795348e-8,0.001216284646636957,-1.412603160851158e-5,2.2355282871068613e-8,0.0012163354726003424,-1.4328040488737538e-5,2.2477767363016963e-8,0.0012164899159747096,-1.4585949126754397e-5,2.263355123417095e-8,0.001216755574130199,-1.4833892797710722e-5,2.278243853374842e-8,0.0012171078245810246,-1.5014490026863692e-5,2.2889603737556964e-8,0.001217501208749591,-1.5094377647005056e-5,2.2935034657986378e-8,0.0012178847630020077,-1.5068934395509631e-5,2.2916347417685273e-8,0.0012182150285436164,-1.4958137548021152e-5,2.2846155074825506e-8,0.0012184640069405344,-1.4797783644600629e-5,2.2746590779909395e-8,0.0012186220505673322,-1.4629683731770791e-5,2.2643235920746163e-8,0.001218696822913379,-1.449297270290909e-5,2.2559801522444672e-8,0.0012187095811834294,-1.4417539138099393e-5,2.2514186857630122e-8,0.0012186898663968694,-1.4420061297596525e-5,2.2516180023635898e-8,0.0012186696633395672,-1.4502833252156467e-5,2.2566860603567102e-8,0.0012186780735641304,-1.4655108434294776e-5,2.2659490899290508e-8,0.0012187372918174148,-1.4856253456001961e-5,2.2781443114298367e-8,0.001218860273629298,-1.5079824490775369e-5,2.2916635639418696e-8,0.0012190500435946263,-1.5297700051893458e-5,2.3047988343221898e-8,0.001219300200263371,-1.548365519236493e-5,2.3159560794279936e-8,0.0012195960618367548,-1.5616237415079354e-5,2.3238309613797606e-8,0.0012199161265676276,-1.568118550987916e-5,2.3275603178996437e-8,0.0012202338545077081,-1.567373100870673e-5,2.326866879195279e-8,0.0012205201561264112,-1.560100091808706e-5,2.3222067337371707e-8,0.001220747382989795,-1.5484226141098953e-5,2.3148995007320677e-8,0.0012208955835540899,-1.535941411892994e-5,2.3071605072069785e-8,0.0012209607427107806,-1.5274050539459638e-5,2.3018902382756045e-8,0.001220962475274646,-1.5277280997782236e-5,2.3020705792687032e-8,0.0012209458731045407,-1.5403436960660497e-5,2.309762894932575e-8,0.0012209717976255354,-1.565448470536381e-5,2.3250476497938733e-8,0.0012210955463632595,-1.5992317511104423e-5,2.345566341649283e-8,0.0012213435678971353,-1.634934524496698e-5,2.367175263118225e-8,0.0012217022640911984,-1.6653999885394203e-5,2.3855040758167472e-8,0.0012221254162641652,-1.685673242853055e-5,2.397543609100118e-8,0.0012225539172616843,-1.694295513018085e-5,2.4024369111537456e-8,0.0012229355612905532,-1.6930207344080828e-5,2.4013018459709848e-8,0.0012232368258948774,-1.6856088422204816e-5,2.3964815471614588e-8,0.001223445818883135,-1.6764870074623695e-5,2.3907108196114857e-8,0.0012235694616662836,-1.66972195773145e-5,2.3864781052871904e-8,0.0012236282176459417,-1.668400111843338e-5,2.3856473140188308e-8,0.0012236504409797394,-1.6743379709783217e-5,2.3892909894168513e-8,0.0012236671763620997,-1.6880175503808295e-5,2.3976645895061022e-8,0.001223707624433692,-1.708683221483701e-5,2.4102766441136323e-8,0.0012237954317209335,-1.734565340062886e-5,2.426029685357651e-8,0.0012239459921608604,-1.7631973134540477e-5,2.4434117926847972e-8,0.0012241649213519893,-1.791791608308859e-5,2.4607207076905056e-8,0.0012244478183697678,-1.817632574317451e-5,2.476299133590999e-8,0.0012247812244358886,-1.838435464330882e-5,2.4887533086232756e-8,0.0012251444556581857,-1.8526399189167512e-5,2.4971356499031972e-8,0.001225512030680893,-1.8596356874691012e-5,2.5010875116620252e-8,0.0012258566090267735,-1.8599249204608337e-5,2.500940666446154e-8,0.0012261525206215848,-1.8552184327634754e-5,2.4977727871947743e-8,0.0012263801754533244,-1.8484389126531722e-5,2.4934001023126065e-8,0.001226531589440995,-1.8435353897332787e-5,2.4902521731442044e-8,0.0012266163824655456,-1.844942436845583e-5,2.4910327037782435e-8,0.0012266658987470957,-1.8565429063659797e-5,2.498085133256966e-8,0.0012267312754294553,-1.880207278591228e-5,2.5125090674904964e-8,0.0012268713258371598,-1.914430998630717e-5,2.533341535608457e-8,0.001227131022819862,-1.954022969406463e-5,2.557377342250434e-8,0.0012275202373195173,-1.991570456003484e-5,2.5800673545950185e-8,0.0012280066605481112,-2.0202550073462475e-5,2.5972399157529153e-8,0.0012285289260753722,-2.036442274620531e-5,2.6066887113834473e-8,0.0012290215337736447,-2.0405843598096857e-5,2.608730247250189e-8,0.0012294364792536673,-2.0362831684957532e-5,2.605626237353159e-8,0.0012297525480403702,-2.0285001528169813e-5,2.600470001447718e-8,0.001229973287643303,-2.0219675206655426e-5,2.596192790923771e-8,0.00123011945294299,-2.0202577079814657e-5,2.5949829286862887e-8,0.0012302208090147813,-2.0254570927893388e-5,2.598089556577197e-8,0.001230309575850642,-2.0382079862008366e-5,2.6058620701201978e-8,0.0012304158345859968,-2.0579100696291248e-5,2.6178889594627654e-8,0.0012305643517482184,-2.0829746668818747e-5,2.6331638580619262e-8,0.0012307723235892732,-2.1111062515209374e-5,2.6502607204116547e-8,0.0012310478548748765,-2.1396114777007075e-5,2.6675202086625746e-8,0.0012313891899758615,-2.1657391046044656e-5,2.6832534064826254e-8,0.0012317848985939483,-2.187044513583133e-5,2.6959629716658373e-8,0.001232215249623264,-2.2017430944470345e-5,2.7045614719736176e-8,0.0012326547447966258,-2.209001773221379e-5,2.7085542859440893e-8,0.0012330755592392312,-2.2091326924775106e-5,2.70816135899996e-8,0.0012334516279752959,-2.203663011034868e-5,2.7043580150642033e-8,0.001233763101802164,-2.1952544155669515e-5,2.6988170698065287e-8,0.001234000846053606,-2.1874499915341305e-5,2.6937404354593894e-8,0.0012341705639102628,-2.184212653370876e-5,2.691563704449534e-8,0.0012342956223987628,-2.1891979650956894e-5,2.6945050302677308e-8,0.001234416688585595,-2.2047557895417835e-5,2.7039585964648845e-8,0.0012345855888722889,-2.23083766412273e-5,2.719839449139654e-8,0.0012348517249173988,-2.2642708147870215e-5,2.7401545144008608e-8,0.0012352433616983397,-2.2990593392258627e-5,2.7611962377998624e-8,0.0012357521897338616,-2.328103233247334e-5,2.778596961972363e-8,0.0012363319390749912,-2.3458241076732956e-5,2.7889391237730747e-8,0.001236914832205126,-2.3503051358274284e-5,2.7910738893106944e-8,0.0012374372602634584,-2.34370143285074e-5,2.7863779646029196e-8,0.0012378600978094599,-2.3308844078715344e-5,2.7779123129400366e-8,0.001238175025995959,-2.3173834169043024e-5,2.7691345091404345e-8,0.0012383987375117022,-2.3077516654817154e-5,2.7628715793488518e-8,0.0012385621901050622,-2.304804267920002e-5,2.7608434146434345e-8,0.001238700730871274,-2.3095701387628564e-5,2.7636418998067664e-8,0.0012388473917175444,-2.321606101218933e-5,2.7709418024290113e-8,0.0012390291726658905,-2.339397590953754e-5,2.781763697063455e-8,0.001239265187271221,-2.3607198404592336e-5,2.7947049692492793e-8,0.0012395656932513142,-2.3829477290720274e-5,2.808131142382676e-8,0.001239931567574002,-2.4033454791804963e-5,2.8203502070202986e-8,0.001240354197034772,-2.419368952870141e-5,2.8297948187087624e-8,0.0012408160639877112,-2.4289979933212816e-5,2.835226322126063e-8,0.0012412924936616241,-2.431076507997636e-5,2.835947104322042e-8,0.001241754847581157,-2.4255949556786933e-5,2.8319783468064274e-8,0.0012421750027906508,-2.413837942889537e-5,2.8241514856497743e-8,0.0012425305735050856,-2.398330917104594e-5,2.8140695039591662e-8,0.001242810041407821,-2.3825431793646963e-5,2.803911624686781e-8,0.0012430167548026835,-2.3703494765039817e-5,2.796086702784852e-8,0.0012431707595330977,-2.3653019187846447e-5,2.792773776976358e-8,0.0012433075282853305,-2.3697965910599013e-5,2.7954078812129726e-8,0.0012434727173970845,-2.3842679769997022e-5,2.8041949740427052e-8,0.001243712463212426,-2.4066405760676784e-5,2.8177927469785303e-8,0.0012440601035040232,-2.432362427984792e-5,2.8333484399655164e-8,0.0012445228361571915,-2.4553159928907133e-5,2.84706844897476e-8,0.001245074558848186,-2.469598742631698e-5,2.8553156726817562e-8,0.0012456608862963842,-2.4715959349908565e-5,2.8558858281151512e-8,0.001246216708050109,-2.4613291013679496e-5,2.8488399775580813e-8,0.001246688489499405,-2.4423038202625592e-5,2.8364074640010765e-8,0.0012470500759516796,-2.4199802086790886e-5,2.8220269933140577e-8,0.0012473056186578205,-2.3997923243581362e-5,2.8091007067191165e-8,0.0012474816718979766,-2.3856832628854112e-5,2.8000725693752732e-8,0.0012476152297567857,-2.3795467178827526e-5,2.796083255759579e-8,0.0012477434727424471,-2.3813936544781482e-5,2.797087896365848e-8,0.0012478974825907967,-2.3898538079999737e-5,2.802185450423327e-8,0.0012480994715242364,-2.4027063105389873e-5,2.8099607177080368e-8,0.0012483620860405254,-2.4173063448967265e-5,2.8187527217003586e-8,0.0012486885425988454,-2.4309038643380227e-5,2.8268487756534477e-8,0.0012490729604937483,-2.4409048929309893e-5,2.832640747738927e-8,0.0012495008229754566,-2.4451320673572244e-5,2.8347832218140762e-8,0.0012499499393055541,-2.442119484453209e-5,2.8323772418069707e-8,0.0012503925365264328,-2.4314275664468087e-5,2.8251695604431464e-8,0.0012507990005257714,-2.4139030867608762e-5,2.8137171704645568e-8,0.001251143262636996,-2.391768914256767e-5,2.7994415164953935e-8,0.0012514090363835088,-2.368426701735876e-5,2.7844976389814205e-8,0.0012515953110546903,-2.3479107716070564e-5,2.771421375274228e-8,0.0012517191350728285,-2.3340474530020665e-5,2.7625933544735366e-8,0.0012518141482856812,-2.3295030625602135e-5,2.7596407518891168e-8,0.00125192444142756,-2.334975383124914e-5,2.7629401271552236e-8,0.0012520946514939732,-2.348776438369355e-5,2.7713746828686006e-8,0.0012523583631477433,-2.3669877510084097e-5,2.7824516476769492e-8,0.0012527277286170939,-2.38425421336231e-5,2.7928118057615044e-8,0.0012531876409788102,-2.3951178423680048e-5,2.7990642199443437e-8,0.0012536974445180235,-2.395580939174183e-5,2.7987543221912417e-8,0.0012542012794675764,-2.3843814405731823e-5,2.7911488512020674e-8,0.0012546444912580575,-2.3634230998913443e-5,2.7774939914552914e-8,0.0012549898708866338,-2.337098949679818e-5,2.760582318235473e-8,0.0012552269467497428,-2.31078977299701e-5,2.7438033142794907e-8,0.0012553712247767674,-2.2892283909759187e-5,2.730112602560997e-8,0.001255455539610628,-2.2753872111695107e-5,2.7213370434487382e-8,0.0012555187275849952,-2.2701515499694785e-5,2.7179817449245153e-8,0.0012555962675502516,-2.2726235663317327e-5,2.719436714414756e-8,0.0012557148843836085,-2.280713457832666e-5,2.724360162183075e-8,0.001255890687072248,-2.2917285638186973e-5,2.7310518757386415e-8,0.001256129398595488,-2.3028282424195017e-5,2.7377340966423323e-8,0.0012564273842037858,-2.3113398094334926e-5,2.742741470506988e-8,0.001256772748129926,-2.3149894992070267e-5,2.7446594516070987e-8,0.0012571463545275083,-2.3121157899020574e-5,2.7424565261140528e-8,0.0012575231640768645,-2.3019131476612913e-5,2.7356401669610725e-8,0.001257874612111306,-2.284700440575688e-5,2.7244296214391676e-8,0.0012581727000068063,-2.2621361371800596e-5,2.7098925268443296e-8,0.0012583959412701018,-2.2372382207858894e-5,2.6939533510837228e-8,0.0012585362273141267,-2.2140433227805133e-5,2.6791698499354605e-8,0.0012586042852673735,-2.196814660205169e-5,2.6682241581275458e-8,0.0012586306549829782,-2.1889126806689826e-5,2.6632055608261722e-8,0.0012586601311620252,-2.1916855981065547e-5,2.664914718129419e-8,0.0012587403517282045,-2.2038399148444123e-5,2.672480002912566e-8,0.0012589081308858302,-2.2216070066749486e-5,2.6834805998698666e-8,0.001259178401966701,-2.2397001174915816e-5,2.6945651229235044e-8,0.0012595395662738137,-2.2527436600423014e-5,2.7023591961309044e-8,0.0012599565073977735,-2.2567114697326255e-5,2.704368259177285e-8,0.0012603800277351954,-2.249955563699239e-5,2.6996141762203254e-8,0.0012607598300570521,-2.2335587057110256e-5,2.6888416016816608e-8,0.0012610573544834757,-2.2109330675960614e-5,2.674249136516303e-8,0.0012612547690560867,-2.186800615213288e-5,2.6588343449294578e-8,0.0012613575758832708,-2.1658922356915117e-5,2.6455686208838244e-8,0.001261390591051946,-2.151793017938794e-5,2.6366737636690552e-8,0.00126138947197204,-2.146269522919313e-5,2.6332111564846554e-8,0.001261391218294045,-2.1491868003257122e-5,2.635046486548411e-8,0.0012614266428808319,-2.15888902989852e-5,2.641103229929555e-8,0.0012615162216082754,-2.1727952954471072e-5,2.6497431575663864e-8,0.0012616690635331466,-2.187983048108349e-5,2.6591299115901463e-8,0.0012618838439774989,-2.2016383972793845e-5,2.6675035116793972e-8,0.0012621505235054361,-2.2113585277586392e-5,2.6733624171416905e-8,0.0012624521180612978,-2.2153524616584108e-5,2.6755867859438524e-8,0.00126276632102878,-2.2126043067001626e-5,2.6735440962205498e-8,0.0012630672801498218,-2.2030481309721585e-5,2.6672051476437688e-8,0.0012633282001385453,-2.1877576094169603e-5,2.6572675677080794e-8,0.0012635254927225803,-2.1690821374928485e-5,2.6452399559931268e-8,0.0012636447200479173,-2.150581193844573e-5,2.6333924961939377e-8,0.0012636873694712005,-2.1365630790647973e-5,2.62445471842398e-8,0.001263675689203714,-2.1311092535360135e-5,2.6209908895091034e-8,0.001263651583389443,-2.1367352542053175e-5,2.624553285893486e-8,0.0012636669236140193,-2.1532112858698217e-5,2.6349454998586358e-8,0.0012637672086514252,-2.1772261625864342e-5,2.6500247615930587e-8,0.0012639754671761418,-2.2032532614826404e-5,2.666264158225693e-8,0.001264284192241647,-2.2253087100624153e-5,2.679874434506354e-8,0.0012646586664950854,-2.238799657886381e-5,2.687976398338216e-8,0.001265048952007261,-2.2417146448438736e-5,2.68935001124463e-8,0.0012654046375396352,-2.2348637976309602e-5,2.6845743928639548e-8,0.001265687166465729,-2.2213199967963506e-5,2.6756558234120423e-8,0.0012658770847539854,-2.205411237295862e-5,2.6653709859809845e-8,0.0012659757694239995,-2.1916095275190147e-5,2.6565519875628988e-8,0.0012660024992930466,-2.1835733466883678e-5,2.6514812194613012e-8,0.0012659883363219941,-2.183504682483079e-5,2.6514975770749016e-8,0.001265968564043513,-2.1918984668542527e-5,2.656857289282304e-8,0.0012659755016867593,-2.2076758125450218e-5,2.666835322071545e-8,0.0012660331867845541,-2.2286013655878877e-5,2.6799978389807436e-8,0.0012661546447266811,-2.2518299270481508e-5,2.6945459630868268e-8,0.0012663416011667139,-2.2744366594706175e-5,2.708642168120064e-8,0.0012665859156780787,-2.2938374403736194e-5,2.720666230998871e-8,0.0012668718340026004,-2.308069895407578e-5,2.729387607334129e-8,0.0012671783608418628,-2.315961813842999e-5,2.7340731279403066e-8,0.0012674815022603028,-2.3172399530941718e-5,2.734561490457562e-8,0.0012677565540440863,-2.3126206424985553e-5,2.7313258391016998e-8,0.0012679809078356128,-2.3038880813856224e-5,2.7255232108115096e-8,0.0012681379667225815,-2.293909764723427e-5,2.718996925380211e-8,0.001268222410981478,-2.2864607647463806e-5,2.714153350665855e-8,0.0012682458991817589,-2.285674137919671e-5,2.7136033101520892e-8,0.0012682404442877298,-2.294997743206441e-5,2.7194986348181077e-8,0.0012682552261359058,-2.3158135615329883e-5,2.732665258099185e-8,0.0012683438357439264,-2.3463184370203866e-5,2.751908579692521e-8,0.0012685445912806244,-2.381508922712379e-5,2.774017528295886e-8,0.0012688635218484556,-2.4146813037913072e-5,2.794723304902699e-8,0.0012692705636366676,-2.439852622614259e-5,2.8102383947438925e-8,0.0012697114811386142,-2.453808374801821e-5,2.818558432617654e-8,0.0012701278926337827,-2.456798692026666e-5,2.8199025785485304E-08,0.0012704747097447653,-2.451874191640579e-5,2.8162796580241977e-8,0.0012707290511519327,-2.4435369716645258e-5,2.8106093111468987e-8,0.00127089082105009,-2.4363968771578763e-5,2.8058468845464867e-8,0.0012709780445711418,-2.4341966719446985e-5,2.804354865594735e-8,0.0012710200656264432,-2.439279816146933e-5,2.8075722588673664e-8,0.001271050641705294,-2.4524258495752033e-5,2.8159296031538897e-8,0.0012711018882705825,-2.4729497552478398e-5,2.8289339641440367e-8,0.0012711994916664129,-2.4989923105568873e-5,2.8453680377103202e-8,0.0012713595362361608,-2.5279401250563086e-5,2.863560229913506e-8,0.0012715871496310693,-2.5568988582094783e-5,2.8816787886148046e-8,0.0012718768697763392,-2.5831442116825033e-5,2.898007870930307e-8,0.0012722144010838205,-2.6044933071783422e-5,2.911175618979125e-8,0.0012725792455093397,-2.619559555621507e-5,2.9203144635270495e-8,0.001272947626786604,-2.627888618297095e-5,2.9251514544716158e-8,0.0012732953571026233,-2.630006763486035e-5,2.9260441855358742e-8,0.0012736006475878774,-2.6274127894061375e-5,2.9239767557704245e-8,0.0012738470763975945,-2.6225193166156763e-5,2.9205161411702542e-8,0.0012740270157430664,-2.6185124088254545e-5,2.9177104177386633e-8,0.0012741455908807501,-2.6190414429344983e-5,2.9178785414269988e-8,0.001274224316427514,-2.62760887589678e-5,2.9232165679184445e-8,0.0012743020615554482,-2.646586880061536e-5,2.935178899471236e-8,0.001274429803943883,-2.6760187731966526e-5,2.9537333686976303e-8,0.0012746566213436674,-2.712756647179489e-5,2.976831346906732e-8,0.0012750096385508432,-2.7507546288788524e-5,3.0006033761210905e-8,0.0012754781610912526,-2.7829406560484464e-5,3.020548189174035e-8,0.001276013858158292,-2.8039650417442057e-5,3.033279425528792e-8,0.0012765492750488386,-2.812244159011328e-5,3.0378310890776146e-8,0.001277023642649741,-2.810137217333263e-5,3.035772861075833e-8,0.0012774012466509133,-2.802473521408781e-5,3.0302589247883327e-8,0.0012776758745853178,-2.7945890596938154e-5,3.024749497268067e-8,0.0012778647758220772,-2.79085430819153e-5,3.022048134829472e-8,0.001277998800793535,-2.793980262467159e-5,3.0238533240266736e-8,0.0012781132813501053,-2.804931557698271e-5,3.0307171318946226e-8,0.0012782413834105137,-2.8231718287190717e-5,3.042226138414893e-8,0.0012784098972853835,-2.8470294804898002e-5,3.0572571320992245e-8,0.0012786367518833218,-2.8740849073584766e-5,3.074235593251752e-8,0.0012789297433653374,-2.9015619036969142e-5,3.091384476109464e-8,0.0012792863683563302,-2.9267159831319898e-5,3.10696300382083e-8,0.0012796947422641365,-2.9471974501639326e-5,3.119488465856777e-8,0.0012801355484260517,-2.9613619515355336e-5,3.127929159311357e-8,0.0012805848824221722,-2.9684936207415627e-5,3.131847898599492e-8,0.001281017638662968,-2.968910490383866e-5,3.131473845451968e-8,0.0012814109964758992,-2.963950002011583e-5,3.1276957457645865e-8,0.0012817477332364437,-2.9558493616968298e-5,3.1219814796159154e-8,0.0012820192456920046,-2.9475284638605605e-5,3.116227933862801e-8,0.001282228197848576,-2.9422701983244574e-5,3.1125420021043346e-8,0.001282390606699797,-2.943268070189973e-5,3.112941115271035e-8,0.0012825366317504978,-2.9529907636028162e-5,3.118948519163852e-8,0.0012827084194776662,-2.9723676059624966e-5,3.131088059813362e-8,0.0012829528288665348,-2.9999700516418604e-5,3.1483844908667825e-8,0.0012833079130263225,-3.0316201547194518e-5,3.168132285335997e-8,0.0012837859765342673,-3.061020073146328e-5,3.1863018658290956e-8,0.0012843618450062628,-3.081684226297564e-5,3.198765635324121e-8,0.0012849765874220782,-3.089521995994752e-5,3.20294184946202e-8,0.0012855586318208988,-3.084588285428632e-5,3.1989175468429604e-8,0.0012860510837547415,-3.0708540178211655e-5,3.189304549666774e-8,0.001286429391721135,-3.054259065273131e-5,3.1779790208841204e-8,0.0012867022080911398,-3.0404062537684042e-5,3.1685762437681995e-8,0.001286900377279203,-3.0330777585708804e-5,3.163518182633183e-8,0.001287063300987379,-3.0338387143386424e-5,3.163759774986754e-8,0.001287228565364857,-3.042354922701865e-5,3.1690131287687944e-8,0.0012874261434639106,-3.056970632894269e-5,3.1781451277475414e-8,0.0012876761011276928,-3.075264889043229e-5,3.189554315979008e-8,0.001287988197340863,-3.094489886686548e-5,3.201458498978887e-8,0.0012883622633117567,-3.111913753711612e-5,3.2121090216733314e-8,0.0012887890246263095,-3.125116421789353e-5,3.219969606469643e-8,0.0012892514436496775,-3.1322610080414284e-5,3.223881626240157e-8,0.0012897267572810904,-3.132337450102907e-5,3.223217751474067e-8,0.0012901893827250341,-3.125348366035541e-5,3.2180042784654345e-8,0.0012906146194111945,-3.1123848609875844e-5,3.208974051574626e-8,0.0012909826969805158,-3.0955505293186115e-5,3.197517438868874e-8,0.0012912825565626971,-3.0777215881050795e-5,3.185520292845642e-8,0.0012915147687625943,-3.0621540642874033e-5,3.175097395022615e-8,0.001291693035842951,-3.0519716537336427E-05,3.168249183610786e-8,0.0012918438362249742,-3.0495841413462402e-5,3.1664819795655e-8,0.0012920037928547566,-3.056087693364674e-5,3.1704304670211076e-8,0.0012922141715474165,-3.0707282053063105e-5,3.17953364867465e-8,0.001292512034520009,-3.090599709338316e-5,3.1918661500173786e-8,0.0012929187002381516,-3.110850773894603e-5,3.2042880122178096e-8,0.0012934285950733568,-3.1256693423193994e-5,3.213078673276235e-8,0.0012940044453168913,-3.1300498297250774e-5,3.215061328521406e-8,0.001294584877820033,-3.12176444133966e-5,3.20885883560331e-8,0.001295104589766634,-3.102462475607171e-5,3.195596529494129e-8,0.0012955179603695564,-3.077085167751126e-5,3.178521309227125e-8,0.0012958131840410975,-3.0518540566581096e-5,3.1616916955709714e-8,0.0012960105999187787,-3.032026641965267e-5,3.148511085415194e-8,0.0012961495978159076,-3.0205433323736027e-5,3.140845109678617e-8,0.0012962734470908504,-3.0178565979806494e-5,3.1389212768773746e-8,0.0012964186126221632,-3.022527856628844e-5,3.141738252834504e-8,0.0012966099467786687,-3.032037295760454e-5,3.1476126820308665e-8,0.0012968600751613467,-3.043465498738407e-5,3.154631955101938e-8,0.0012971707339509185,-3.0539529403013107e-5,3.160949484610287e-8,0.0012975345391934867,-3.0609886172662965e-5,3.164960498486348e-8,0.0012979366525891216,-3.062613758462698e-5,3.1654217987039235e-8,0.0012983564533401342,-3.057599296156603e-5,3.1615600298714555e-8,0.0012987695840761062,-3.0456167864014533e-5,3.1531828857941956e-8,0.0012991507884455799,-3.027379091331488e-5,3.140775068646107e-8,0.0012994777236449333,-3.004683999448522e-5,3.125530194558217e-8,0.0012997353921117309,-2.9802813505353085e-5,3.1092622133109445e-8,0.0012999202861004046,-2.9575139003558806e-5,3.09416264273142e-8,0.0013000430270444395,-2.93974130243819e-5,3.0824133092212875e-8,0.001300128331498118,-2.9296350396882437e-5,3.075718715872455e-8,0.0013002116679433546,-2.928500804947685e-5,3.074866956412388e-8,0.0013003328193243616,-2.935801434543197e-5,3.0794343521651624e-8,0.001300527308605543,-2.9490231267340253e-5,3.0877225135393917e-8,0.0013008171756119307,-2.9639869058835446e-5,3.0969838317194383e-8,0.0013012031591031939,-2.9756515314625574e-5,3.10395465251122e-8,0.0013016609455879465,-2.9793446563434323e-5,3.105650235031395e-8,0.0013021442562541905,-2.972172931898944e-5,3.100263591424007e-8,0.0013025961177511457,-2.9541337275106654e-5,3.087867894617946e-8,0.0013029660006317406,-2.9283509335878423e-5,3.0705543544897195e-8,0.0013032261586196996,-2.9001308736517474e-5,3.051808034793436e-8,0.0013033793833759004,-2.875164122635431e-5,3.035331118242153e-8,0.0013034547749617115,-2.8577237008618275e-5,3.023868954419752e-8,0.0013034950005774671,-2.8496554952853205e-5,3.018561791167246e-8,0.0013035422626375217,-2.8503927091162528e-5,3.018972942257647e-8,0.0013036286487182313,-2.8576659673191224e-5,3.023572044825167e-8,0.0013037723920898197,-2.8683998777921855e-5,3.0303320007544866e-8,0.0013039784710675347,-2.8794434907111588e-5,3.037204952208462e-8,0.0013042411712836108,-2.8880283437659195e-5,3.042410362765577e-8,0.0013045469059940415,-2.8920083977942182e-5,3.044577741719525e-8,0.0013048765892900785,-2.8899827777303695e-5,3.042817208710491e-8,0.0013052076096280716,-2.8813836177220682e-5,3.0367751697282956e-8,0.0013055158699504063,-2.8665686201342626e-5,3.026699500311816e-8,0.0013057784723598796,-2.8469027833693583e-5,3.0134989400730604e-8,0.0013059774012722158,-2.824758312302742e-5,2.998744624708401e-8,0.0013061039917527009,-2.803329661145913e-5,2.984543622349855e-8,0.0013061631500154798,-2.786174715368294e-5,2.973227959525612e-8,0.0013061755169066931,-2.7764752904717206e-5,2.966860348764004e-8,0.0013061756394885842,-2.7761595595907e-5,2.9666567318660748e-8,0.0013062052931786697,-2.785175086959786e-5,2.972518749832201e-8,0.001306303142538855,-2.801230059159129e-5,2.9828826603746476e-8,0.0013064938194895942,-2.820182285028999e-5,2.9949955265754234e-8,0.001306780086361943,-2.8370168467178228e-5,3.005571106771042e-8,0.0013071407644421912,-2.8471378373462444e-5,3.0116392578181026e-8,0.0013075352201250116,-2.8475996159682643e-5,3.011342304590286e-8,0.001307913334487316,-2.8379292346448963e-5,3.0044539506056616e-8,0.0013082284553436203,-2.820295608258615e-5,2.992467194139616e-8,0.001308449795111905,-2.798934380814309e-5,2.9781980996995586e-8,0.0013085703641908598,-2.7789555942438875e-5,2.9649940584985727e-8,0.0013086075992558702,-2.7649081856834136e-5,2.9557946510256037e-8,0.0013085965713823258,-2.7596068441511594e-5,2.9523765739778143e-8,0.001308578775603071,-2.763613069992761e-5,2.9550353019012925e-8,0.0013085910545795772,-2.7754483402330733e-5,2.9627464816654964e-8,0.0013086582864577261,-2.7923038311927625e-5,2.973644409629548e-8,0.00130879097813508,-2.810881146934206e-5,2.985573633256056e-8,0.0013089866559391336,-2.8280794299983097e-5,2.9965288371083946e-8,0.0013092330853364449,-2.841421177594859e-5,3.004918959647898e-8,0.0013095117218239086,-2.849249915857971e-5,3.00968495932514e-8,0.0013098006051115334,-2.8507901829533638e-5,3.010335322333937e-8,0.0013100766331532816,-2.8461574612671678e-5,3.006956699423517e-8,0.00131031764281404,-2.8363692896845595e-5,3.0002285569679514e-8,0.0013105049028917662,-2.823351948220192e-5,2.991431821194102e-8,0.0013106264457913824,-2.809877946612421e-5,2.9824048280105456e-8,0.001310681133427025,-2.7993271777071674e-5,2.9753766780009736e-8,0.0013106824426351005,-2.795161269268233e-5,2.972610709291234e-8,0.0013106598420135267,-2.8000824017845768e-5,2.975846481850516e-8,0.001310655166280242,-2.8150479328616627e-5,2.9856575254154354e-8,0.0013107127876955784,-2.8385509043680695e-5,3.000993471753322e-8,0.0013108657814568222,-2.866643869990418e-5,3.0192141079751784e-8,0.0013111236756196114,-2.8939129152693387e-5,3.036744088323199e-8,0.0013114677764056418,-2.915104009753794e-5,3.0501486920959236e-8,0.001311856492484787,-2.9267251923133067e-5,3.0571854184595145e-8,0.001312238049311916,-2.9279859822208612e-5,3.057411525864111e-8,0.0013125651169096678,-2.9208198159179714e-5,3.0521802359526976e-8,0.0013128064021552001,-2.909142250826646e-5,3.044129361786551e-8,0.0013129525886068233,-2.897698933927629e-5,3.0364030849243177e-8,0.001313016206816826,-2.890865807546817e-5,3.031854722956662e-8,0.001313026461668143,-2.8916887043806896e-5,3.0324238748257375e-8,0.0013130209243820167,-2.901349026915853e-5,3.0388075426164644e-8,0.0013130364508609068,-2.91912467162573e-5,3.050460897562148e-8,0.0013131016267059507,-2.9427863667728573e-5,3.0658773423636455e-8,0.00131323234339437,-2.9692576163541312e-5,3.0830280966021656e-8,0.0013134309224520154,-2.9953194080713292e-5,3.099817761610996e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json new file mode 100644 index 000000000..e8e2db514 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":14000,"numberOfSamples":1000,"samples":[0.0013136880538731968,-3.0181825300251084e-5,3.1144455018197914e-8,0.0013139862307697747,-3.0358458604268804e-5,3.125626468859012e-8,0.0013143034381558063,-3.0472498704118995e-5,3.1326857923882795e-8,0.001314616342296335,-3.0522889122674205e-5,3.135568412117831e-8,0.0013149028238326915,-3.051757614543907e-5,3.134810730752583e-8,0.0013151441476950397,-3.0472812693602606e-5,3.1315005489895234e-8,0.001315327245423572,-3.041233669157899e-5,3.127221966442859e-8,0.0013154474985632677,-3.0365940022199845e-5,3.1239522569258994e-8,0.0013155119761371786,-3.0366482616605727e-5,3.123852579233063e-8,0.0013155421786821661,-3.044428590458291e-5,3.1288903751562086e-8,0.0013155741637083083,-3.061859253490029e-5,3.140279579367739e-8,0.0013156532826805987,-3.08878545724263e-5,3.15785553459714e-8,0.0013158221093964287,-3.122350814634265e-5,3.179684474210843e-8,0.0013161043666861684,-3.1573152017452694e-5,3.202287220092828e-8,0.001316492562279381,-3.187552478285449e-5,3.221630534507893e-8,0.0013169475071545026,-3.2081986318948946e-5,3.234541530079332e-8,0.0013174114482328236,-3.217362581767834e-5,3.2398333198900105e-8,0.0013178279759007432,-3.216549962188907e-5,3.238578137269618e-8,0.0013181587209702065,-3.209786877058771e-5,3.233512178519737e-8,0.0013183908584672483,-3.202101456924127e-5,3.2280078366949867e-8,0.0013185355723118594,-3.198087692229784e-5,3.22510415181099e-8,0.0013186210256550192,-3.200948903377424e-5,3.226871171627078e-8,0.001318683516304464,-3.212087078817048e-5,3.2341550899422565e-8,0.0013187592325329092,-3.2311333689063695e-5,3.246626921888799e-8,0.0013188777975085585,-3.256278527721231e-5,3.263027897225073e-8,0.0013190580943835157,-3.28478210560236e-5,3.281520552707126e-8,0.001319306537685271,-3.3135522599053245e-5,3.30007052286256e-8,0.0013196176305973269,-3.339691167788335e-5,3.3167938459672674e-8,0.0013199762931723731,-3.360923943949643e-5,3.330224076991175e-8,0.001320361240591444,-3.3758679883073964e-5,3.339478932604852e-8,0.0013207486407314094,-3.3841371491741154e-5,3.3443266039948134e-8,0.0013211154170834028,-3.3863122696377714e-5,3.345170814905867e-8,0.0013214419486963593,-3.3838325595684376e-5,3.342984862739796e-8,0.0013217143059939618,-3.3788485178276064e-5,3.3392152957732015e-8,0.0013219262892678202,-3.374042925569602e-5,3.3356565064026065e-8,0.0013220814837101608,-3.37239298755937e-5,3.334280561542386e-8,0.0013221952658236343,-3.3768093745891034e-5,3.336987271475884e-8,0.0013222959339579021,-3.389572813238187e-5,3.345230413051685e-8,0.0013224231012386285,-3.411559264521433e-5,3.359518483099222e-8,0.001322620987373266,-3.44143314836092e-5,3.378904291433436e-8,0.0013229254974994617,-3.47525377055976e-5,3.4007455453146385e-8,0.0013233481259613213,-3.507078420316715e-5,3.421110391244622e-8,0.0013238651644779758,-3.5307915680853196e-5,3.435980179531848e-8,0.0013244214578083684,-3.5424988893193025e-5,3.4428250117923195e-8,0.0013249498096669955,-3.5421322382391885e-5,3.441665080515855e-8,0.0013253957656545127,-3.533284530570563e-5,3.4349593606930406e-8,0.0013257341054285624,-3.521518782185486e-5,3.4264687362774436e-8,0.0013259708733802966,-3.5122901891955616e-5,3.4198504380576074e-8,0.0013261345823387194,-3.509485421874728e-5,3.4176685340857736e-8,0.0013262639590043055,-3.514877227589115e-5,3.421034115508173e-8,0.0013263974759466818,-3.5282692478288204e-5,3.42972534612874e-8,0.0013265664975942637,-3.547980948220061e-5,3.4425417060696266e-8,0.00132679174008558,-3.5714173837029465e-5,3.457707337361339e-8,0.0013270820868991236,-3.595606011854193e-5,3.473236215303623e-8,0.0013274350277215283,-3.617667618018595e-5,3.487237396855363e-8,0.0013278383205704806,-3.6352045676457e-5,3.4981566469251094e-8,0.0013282725585155749,-3.6465885830951754e-5,3.504952018493835e-8,0.0013287143399232126,-3.651136884131447e-5,3.507202780552796e-8,0.001329139723468503,-3.649166207236073e-5,3.5051459488144146e-8,0.0013295275370495275,-3.6419245769639135e-5,3.499636143139478e-8,0.0013298621741601225,-3.631427873602864e-5,3.492040029054349e-8,0.0013301357987788196,-3.620233676919433e-5,3.484081953074903e-8,0.0013303500182077856,-3.6111625895291846e-5,3.4776475543805855e-8,0.0013305170072328,-3.606960581815073e-5,3.4745462642883064e-8,0.0013306599051258836,-3.609882203418703e-5,3.4762278550856455e-8,0.0013308118536023116,-3.621166286686944e-5,3.483441417239421e-8,0.0013310123518564367,-3.64043217054422e-5,3.495855682409469e-8,0.0013312994223816388,-3.6651762152887505e-5,3.511751481890027e-8,0.0013316973518746693,-3.6907391838432765e-5,3.528018149292224e-8,0.0013322032136629622,-3.711186898684884e-5,3.540737536800615e-8,0.0013327798493111566,-3.721219549322923e-5,3.546437127639159e-8,0.0013333634934342639,-3.718420813249119e-5,3.543571757580381e-8,0.001333886255019829,-3.70450465515009e-5,3.53335093009964e-8,0.0013343019613464686,-3.6846215847581066e-5,3.5192757078025216e-8,0.001334600413137058,-3.6651362298198277e-5,3.505642654975122e-8,0.0013348042208097524,-3.6512872822752915e-5,3.495958564720737e-8,0.0013349544109773996,-3.6458841744971036e-5,3.49205708479965e-8,0.0013350949386154267,-3.649215529746224e-5,3.49404840851344e-8,0.0013352621732775469,-3.659679818886342e-5,3.500770195061645e-8,0.001335480179315456,-3.6746003522191745e-5,3.510363508802379e-8,0.0013357600358690303,-3.6909212409168185e-5,3.520756323936493e-8,0.0013361011544938224,-3.705705068984642e-5,3.52999605336332e-8,0.00133649332519081,-3.7164741980348925e-5,3.536463540591373e-8,0.0013369190829818159,-3.7214510810799346e-5,3.539015342857483e-8,0.0013373563443612583,-3.719721204638616e-5,3.537079341232845e-8,0.0013377813051418917,-3.711323131523201e-5,3.530711046883947e-8,0.0013381715937814552,-3.697254005026054e-5,3.520601101140213e-8,0.0013385094912165925,-3.6793660324817705e-5,3.5080116340020854e-8,0.0013387847813319696,-3.660147627572446e-5,3.494630461274569e-8,0.0013389968351418553,-3.642410292771776e-5,3.482354178926302e-8,0.0013391557003256266,-3.628905404552198e-5,3.473019081800264e-8,0.0013392819820180002,-3.621893946658274e-5,3.468102678374732e-8,0.0013394052631200586,-3.622700347066692e-5,3.468425016446891e-8,0.0013395607383982387,-3.631286700900988e-5,3.473878515860904e-8,0.0013397835600754613,-3.645915330073845e-5,3.483228424044899e-8,0.0013401005623555385,-3.663056453013473e-5,3.494077405219707e-8,0.0013405202232471124,-3.6777887727110934e-5,3.5031461893425745e-8,0.0013410241084409612,-3.684910446392256e-5,3.5070089714356354e-8,0.0013415655317836142,-3.68068037108336e-5,3.503236888286036e-8,0.0013420805713068025,-3.664539114072159e-5,3.491530557749418e-8,0.0013425100358751974,-3.6397470548011556e-5,3.47413920987351e-8,0.00134282186684753,-3.6122771266874264e-5,3.455114282299104e-8,0.0013430210440999052,-3.5884585735838275e-5,3.438718523558038e-8,0.0013431424937006674,-3.5727401868071906e-5,3.427912167202074e-8,0.00134323392387406,-3.5666709476200635e-5,3.423668442759081e-8,0.0013433393957544833,-3.569188452387105e-5,3.425186840423222e-8,0.0013434898472930886,-3.577592172660759e-5,3.430576805004325e-8,0.0013437006458960645,-3.588557734935549e-5,3.4375631883152696e-8,0.0013439733632099559,-3.598872432152733e-5,3.443987682266083e-8,0.0013442990272794215,-3.6058572131738544e-5,3.448082578605249e-8,0.0013446613049089872,-3.6075754726357985e-5,3.44859220020242e-8,0.001345039248616876,-3.6029368037547205e-5,3.444825503332818e-8,0.0013454098213895693,-3.591751673460431e-5,3.436684759254604e-8,0.0013457504724702282,-3.57474829484819e-5,3.424678910825797e-8,0.0013460419605556845,-3.5535332633184876e-5,3.409904369034362e-8,0.0013462713941414768,-3.530453678562293e-5,3.3939575913952353e-8,0.0013464350440412546,-3.5083247688415916e-5,3.3787496601098456e-8,0.001346540218956281,-3.490026072080504e-5,3.366224387151234e-8,0.0013466055506973335,-3.478008498355249e-5,3.358013732940204e-8,0.001346659241019408,-3.4737853074248655e-5,3.355088149022233e-8,0.0013467351263881956,-3.477505002897689e-5,3.3574748237485566e-8,0.0013468668157807983,-3.487707274585662e-5,3.36411293630354e-8,0.0013470805087412794,-3.501350818296307e-5,3.3728992049500143e-8,0.0013473874871725111,-3.5141989537112516e-5,3.3809694862078156e-8,0.0013477779846166242,-3.5216299066590065e-5,3.385250575241212e-8,0.0013482190793279586,-3.5198369687471605e-5,3.3832555330064887e-8,0.001348659613978359,-3.507162618165665e-5,3.3739577083562544e-8,0.001349043468490627,-3.485031268644354e-5,3.358395470384573e-8,0.001349327999366581,-3.4578485620740276e-5,3.3395893343763146e-8,0.0013494994616960665,-3.431622032059404e-5,3.321604676365601e-8,0.001349576900362316,-3.411840812110945e-5,3.3081186820720924e-8,0.0013496024923671088,-3.4016892922365775e-5,3.3012189592066463e-8,0.0013496246279193777,-3.401415154718749e-5,3.300992090644571e-8,0.0013496829179363164,-3.408870967312186e-5,3.305913434321514e-8,0.0013498005419856707,-3.420638364611618e-5,3.313629142245499e-8,0.001349983766265312,-3.433103577998142e-5,3.3216931742549514e-8,0.001350225503188383,-3.443167213616684e-5,3.328041116125517e-8,0.001350509870791549,-3.44857855079198e-5,3.3311987997451824e-8,0.001350816111848709,-3.44802776149318e-5,3.330325655153641e-8,0.0013511215354534733,-3.44113203272646e-5,3.325193674476666e-8,0.0013514038266242718,-3.428394324938091e-5,3.3161588903372553e-8,0.0013516432294084326,-3.41115562702498e-5,3.3041366067246576e-8,0.0013518249947347244,-3.391515061958602e-5,3.29055587983786e-8,0.0013519421489563276,-3.372159161237384e-5,3.277246672853169e-8,0.0013519981162253448,-3.35604192219653e-5,3.2662172488743894e-8,0.0013520082488663807,-3.345899609113347e-5,3.259313778399188e-8,0.0013519991491952143,-3.343655294053388e-5,3.257806735071459e-8,0.0013520049886915973,-3.349849264305731e-5,3.262004101630264e-8,0.0013520609158930905,-3.36328575909331e-5,3.2710241377374956e-8,0.0013521948074782938,-3.3810651240403614e-5,3.2828394204526694e-8,0.0013524194680195325,-3.399070247049815e-5,3.2946301667474426e-8,0.0013527275548078518,-3.412846985252045e-5,3.3033954284171145e-8,0.0013530910516223313,-3.41870260521444e-5,3.306696170857802e-8,0.0013534662186818406,-3.414758958099839e-5,3.303351712767489e-8,0.0013538036921596796,-3.401650121264336e-5,3.293885919569297e-8,0.0013540617630267778,-3.3825695437600704e-5,3.280532715743045e-8,0.0013542189655621978,-3.3625013396523797e-5,3.2666968653528377e-8,0.0013542809896239987,-3.3467679762926974e-5,3.255963827369867e-8,0.0013542783419837156,-3.3394020433318414e-5,3.251003853738814e-8,0.0013542554119995557,-3.342020697923614e-5,3.252828382153754e-8,0.0013542560140103023,-3.3536391035527796e-5,3.2606892142050424e-8,0.0013543116989025482,-3.371353007933651e-5,3.2725642792952345e-8,0.0013544365308802784,-3.391431273365121e-5,3.285910327271554e-8,0.0013546280975285543,-3.410316353858851e-5,3.2983383466057345e-8,0.0013548720539619643,-3.4252552907384106e-5,3.308026489902493e-8,0.001355147353668992,-3.43454908576762e-5,3.313870075252464e-8,0.0013554305468037433,-3.437553330264171e-5,3.315467676927687e-8,0.0013556988011802253,-3.434572357619407e-5,3.313045281129339e-8,0.0013559320038673691,-3.426735815892247e-5,3.30737806614842e-8,0.0013561145343338845,-3.415887769336406e-5,3.299724375590522e-8,0.0013562372346350193,-3.40446430953795e-5,3.291748056072256e-8,0.001356299729968249,-3.395293821719811e-5,3.285379960496967e-8,0.0013563126464800305,-3.39124616274109e-5,3.2825694374099335e-8,0.0013562986345168043,-3.394695718115785e-5,3.284908231937111e-8,0.0013562906901488832,-3.406854808973949e-5,3.2931730931658255e-8,0.0013563265580224901,-3.4271700357362895e-5,3.3069227097465745e-8,0.0013564394803830895,-3.453081024388408e-5,3.3243512234392763e-8,0.001356647830444362,-3.480395690125668e-5,3.342564568063368e-8,0.0013569477158602284,-3.504296952579012e-5,3.358281757335669e-8,0.0013573120584085639,-3.52068525793514e-5,3.368754392194241e-8,0.001357697050412798,-3.5273779767518736e-5,3.3725762172275216e-8,0.0013580538346326509,-3.524742322405932e-5,3.3700952947215904e-8,0.0013583414729187431,-3.515577457801083e-5,3.3633068996217375e-8,0.0013585373183607017,-3.504326814963739e-5,3.3552899090837633e-8,0.0013586421139425234,-3.4958781479045985e-5,3.3493719387707e-8,0.001358678685937704,-3.494290707046618e-5,3.3482624669021657e-8,0.001358684778336174,-3.501803608967189e-5,3.353396129882613e-8,0.001358702322909947,-3.518405715028354e-5,3.36466993389363e-8,0.0013587666406036992,-3.542061521536396e-5,3.380626499920978e-8,0.0013588989123856205,-3.5694495803273485e-5,3.398974496696862e-8,0.001359103663247866,-3.5969025766868755e-5,3.417229612867719e-8,0.0013593708567535968,-3.621226756590788e-5,3.4332592451649465e-8,0.0013596806793210175,-3.640207539916034e-5,3.4456072169122394e-8,0.0013600088338772479,-3.6527817297702786e-5,3.4535941490019846e-8,0.0013603309085686056,-3.6589745925869715e-5,3.4572666368770736e-8,0.0013606253906847028,-3.659727205627579e-5,3.4572817000381455e-8,0.0013608755966453268,-3.656705235731982e-5,3.45478428901892e-8,0.0013610710755603856,-3.652125748003627e-5,3.4512957394544435e-8,0.0013612090115036409,-3.648585481662091e-5,3.448596151433922e-8,0.0013612958461505,-3.648833256815448e-5,3.448560847301663e-8,0.0013613487825353768,-3.655412453139295e-5,3.452905427534737e-8,0.0013613960977975756,-3.6701245140876124e-5,3.4628141465119906e-8,0.0013614745650237811,-3.693358561190437e-5,3.4784884782548805e-8,0.0013616224205170902,-3.7235042204870165e-5,3.4987633233731027e-8,0.001361868091522445,-3.756832421090297e-5,3.521045772248526e-8,0.001362218255945228,-3.788197415238886e-5,3.541808383563176e-8,0.0013626514699812326,-3.812539193249165e-5,3.557619486093644e-8,0.001363122322234058,-3.8266165560665596e-5,3.566324383611881e-8,0.0013635754647547845,-3.830134386399334e-5,3.5678079037798024e-8,0.0013639630780626708,-3.825738313571894e-5,3.563975015298319e-8,0.001364258080357862,-3.817994201829989e-5,3.5580274568062977e-8,0.0013644589434662312,-3.811922202797349e-5,3.5534332460088205e-8,0.0013645865742663128,-3.81166924124298e-5,3.5530027944857735e-8,0.0013646762446455044,-3.819653354824757e-5,3.558310331044814e-8,0.001364767819829093,-3.8362605590993256e-5,3.569514079478911e-8,0.0013648967631197295,-3.8600238344742254e-5,3.585514627803409e-8,0.0013650874946786213,-3.888148752071901e-5,3.60434300221522e-8,0.0013653499642588421,-3.917227000116867e-5,3.62365942886353e-8,0.00136567964200512,-3.943967176457917e-5,3.6412451385441956e-8,0.0013660603709506384,-3.965784039600382e-5,3.65538578644758e-8,0.0013664688889499187,-3.981147629204727e-5,3.665089579529965e-8,0.0013668796761675812,-3.989679821734419e-5,3.6701401260529234e-8,0.0013672690955396569,-3.992052333462929e-5,3.6710241547116054e-8,0.0013676183253096337,-3.9897716306200194e-5,3.668789735721834e-8,0.0013679151464472477,-3.984932666566189e-5,3.664884493646582e-8,0.0013681550099158162,-3.979985343784534e-5,3.660997364210455e-8,0.0013683418187992174,-3.977508572660584e-5,3.658897704031485e-8,0.0013684886345164064,-3.9799531863791056e-5,3.6602481816290366e-8,0.0013686181140462686,-3.989297417404592e-5,3.6663608773571173e-8,0.0013687618136698219,-4.006569078124706e-5,3.677873040014451e-8,0.0013689567976789784,-4.031268759372785e-5,3.6943686509812775e-8,0.0013692379960220952,-4.0608958982055686e-5,3.714077674900414e-8,0.0013696263976024602,-4.0909688045915914e-5,3.733908018595111e-8,0.001370116858706226,-4.115943735403728e-5,3.7500783826076915e-8,0.0013706730192843547,-4.131030892561659e-5,3.759353716751259e-8,0.0013712357655380756,-4.1341651354543865e-5,3.760387092264407e-8,0.001371743681640421,-4.1269733274189294e-5,3.754378869036469e-8,0.0013721549303818486,-4.114093707006044e-5,3.744600118910848e-8,0.0013724590038156602,-4.1013018078885606e-5,3.7350822712677154e-8,0.0013726746583584263,-4.0935524588789915e-5,3.7292433498253575e-8,0.0013728388253621247,-4.093780361015353e-5,3.7290504667023286e-8,0.0013729936653109317,-4.102619609853645e-5,3.7348411588796894e-8,0.001373176359782013,-4.118762655376452e-5,3.745605098886693e-8,0.0013734130133102524,-4.139607981819826e-5,3.759467361926248e-8,0.0013737161837680623,-4.161950138762874e-5,3.7741869452387925e-8,0.0013740850229568907,-4.182594710895547e-5,3.787581954548767e-8,0.0013745072421834012,-4.198858396882682e-5,3.797857502949695e-8,0.0013749623837124778,-4.208926335925624e-5,3.803827857381001e-8,0.0013754258276343432,-4.2120407717748035e-5,3.8050265155743136e-8,0.001375872892622539,-4.2085198307853355e-5,3.801710263943968e-8,0.001376282469925798,-4.199628974034897e-5,3.7947728565110885e-8,0.0013766397572874227,-4.187345120748918e-5,3.7855899666402347e-8,0.0013769379150291574,-4.1740698791756187e-5,3.775826686919178e-8,0.0013771788132807986,-4.162339046388268e-5,3.76723488673647e-8,0.0013773731537905993,-4.154540420571933e-5,3.7614493141915814e-8,0.0013775401104706387,-4.1526264618012495e-5,3.759779228022895e-8,0.0013777064032593797,-4.157796597586423e-5,3.762987031680914e-8,0.001377904267471179,-4.170125910920436e-5,3.771044184184231e-8,0.0013781672206391812,-4.188175848661827e-5,3.78288749397831e-8,0.00137852256618738,-4.2087548328483725e-5,3.7962807628071696e-8,0.0013789809169083302,-4.2271422389212076e-5,3.807982991820045e-8,0.0013795260580142504,-4.238109909941585e-5,3.8144447194615674e-8,0.0013801120459359865,-4.237742637005507e-5,3.813041208095439e-8,0.0013806741263976,-4.225334424947585e-5,3.8033625865393774e-8,0.0013811520519300435,-4.2041187655938626e-5,3.787713159675286e-8,0.0013815136370865081,-4.180098864064637e-5,3.7703002181980215e-8,0.0013817644462791729,-4.159593522969593e-5,3.755522195444356e-8,0.0013819398040921613,-4.146995772891535e-5,3.7463973571636786e-8,0.0013820873195676013,-4.143814444971667e-5,3.74389528223684e-8,0.0013822508297504756,-4.1489856674521627e-5,3.747173694159376e-8,0.0013824612018183504,-4.159808318168086e-5,3.7542636676095634e-8,0.001382733677333939,-4.172918004101423e-5,3.76277743218216e-8,0.0013830692173663335,-4.185025959459586e-5,3.7704340994960595e-8,0.0013834575067367659,-4.193387127219509e-5,3.7753754368892116e-8,0.00138388030970731,-4.196070426809343e-5,3.776329962305264e-8,0.0013843148322871465,-4.1921028124019695e-5,3.7726878625517075e-8,0.0013847370777409624,-4.181512286564115e-5,3.7645150528966244e-8,0.0013851250900450299,-4.165273271465304e-5,3.752512539985943e-8,0.0013854619058602147,-4.145156074913463e-5,3.737919056711855e-8,0.0013857379458243554,-4.123483834305219e-5,3.722351350041851e-8,0.0013859525067954938,-4.1028195536964666e-5,3.707590164867331e-8,0.001386114186987945,-4.08562465832129e-5,3.6953376917189425e-8,0.0013862402914967716,-4.0739217947163935e-5,3.6869727504020365e-8,0.0013863552819137583,-4.068981038566365e-5,3.683325080139284e-8,0.0013864882812566375,-4.071045407698197e-5,3.684488191793497e-8,0.0013866695093654466,-4.0791084850707254e-5,3.689683217641563e-8,0.0013869252570760705,-4.0907845082072896e-5,3.6971967000828836e-8,0.0013872711358115565,-4.102392437415202e-5,3.7044638632372434e-8,0.0013877044103900269,-4.10944872644231e-5,3.708418444800822e-8,0.0013881982022425643,-4.107730918647336e-5,3.70621554354846e-8,0.0013887024507251455,-4.094823201885367e-5,3.696274535980045e-8,0.0013891560996636264,-4.071545369969397e-5,3.6792453536201996e-8,0.0013895088976246747,-4.042264374578624e-5,3.658214577314118e-8,0.0013897421255975183,-4.013475017712353e-5,3.637717862062872e-8,0.0013898751358086116,-3.99123909946508e-5,3.621955119697095e-8,0.0013899539157585976,-3.97898760399196e-5,3.613256495667892e-8,0.0013900305358917047,-3.976825529054825e-5,3.611605869920365e-8,0.0013901459897183817,-3.982280938552323e-5,3.615187595826213e-8,0.001390322583927315,-3.9916483926864295e-5,3.621354110721034e-8,0.0013905644815372748,-4.00116379826972e-5,3.627465691377648e-8,0.001390862196549241,-4.007719389834769e-5,3.6313891042696686e-8,0.0013911977272878053,-4.009168854677753e-5,3.631692015857626e-8,0.001391548803289706,-4.004388985804637e-5,3.627660019245447e-8,0.0013918921108757572,-3.9932383942914886e-5,3.619246897144912e-8,0.001392205925877442,-3.976474847087717e-5,3.607009012040189e-8,0.001392472481833256,-3.9556371616133894e-5,3.592027726302581e-8,0.0013926801795685095,-3.932876436594814e-5,3.5758025153182566e-8,0.0013928255206943443,-3.910712261197275e-5,3.5600891948591315e-8,0.0013929143574365078,-3.891704325009154e-5,3.546670424830646e-8,0.0013929619662561058,-3.878067864465175e-5,3.5370785800753655e-8,0.0013929916634681091,-3.8712865216251155e-5,3.5323145245009847e-8,0.0013930319212074739,-3.871783709874851e-5,3.532613964822986e-8,0.0013931121650108214,-3.878718027241075e-5,3.537313617747967e-8,0.0013932576761824852,-3.889956926863257e-5,3.544855030305457e-8,0.0013934841205019005,-3.902264562679513e-5,3.5529430896809445e-8,0.0013937923389470475,-3.911747336501126e-5,3.558876680690813e-8,0.0013941645951322254,-3.9146037401005566e-5,3.560072677257016e-8,0.0013945643433518572,-3.908149684330105e-5,3.554760976148454e-8,0.0013949419740809537,-3.8919080012482775e-5,3.54271205202408e-8,0.0013952477277678645,-3.868301987054237e-5,3.525691407233159e-8,0.001395448996586115,-3.842366805801884e-5,3.507242835859129e-8,0.0013955441184541493,-3.8202198743737096e-5,3.491619511363628e-8,0.001395563841894682,-3.806835542580855e-5,3.482237329132881e-8,0.0013955584098649994,-3.804297850225461e-5,3.4804676331452736e-8,0.0013955778157443777,-3.8114400232592614e-5,3.4854056156277526e-8,0.0013956561830292,-3.8248114880291454e-5,3.4945709067619815e-8,0.0013958061096767589,-3.840169374270801e-5,3.504970300817749e-8,0.001396021525706078,-3.853707477095065e-5,3.513962678304474e-8,0.0013962843041433993,-3.8627076516026636e-5,3.5197026880596114e-8,0.0013965707576988314,-3.865699570879773e-5,3.521229439063478e-8,0.0013968563725718281,-3.8623536025609064e-5,3.5183688298750485e-8,0.0013971187911648243,-3.8532907044979155e-5,3.511587978476073e-8,0.001397339741657006,-3.8398963032655006e-5,3.501866053362015e-8,0.0013975065707011172,-3.824149273866268e-5,3.490584928664414e-8,0.0013976137214529206,-3.808437691328442e-5,3.47941124837482e-8,0.0013976641337538325,-3.795316224892923e-5,3.470130668547223e-8,0.0013976701313359334,-3.787171824233571e-5,3.4644083108582145e-8,0.0013976530803277948,-3.785809777299285e-5,3.4634877223998395e-8,0.0013976411745630901,-3.792027581554576e-5,3.467883721971932e-8,0.0013976651171231898,-3.8052873706371765e-5,3.477154552196402e-8,0.001397752138213877,-3.8236151892252456e-5,3.489846164729002e-8,0.0013979195447783234,-3.8438219455829296e-5,3.5036710195449224e-8,0.0013981694399458889,-3.862056128580171e-5,3.515918741519236e-8,0.001398486147697437,-3.874608834560939e-5,3.524031957876636e-8,0.0013988374531938928,-3.878827062153085e-5,3.526239348503685e-8,0.001399180229735303,-3.873936055813441e-5,3.5221074317918304e-8,0.0013994701906148062,-3.861521125226919e-5,3.5128449985403174e-8,0.0013996740998213511,-3.845410205611195e-5,3.501191367250836e-8,0.0013997808979702491,-3.830798334251088e-5,3.490787420794603e-8,0.0013998068841861602,-3.822734029112152e-5,3.485117466616385e-8,0.0013997912690781416,-3.824484084870901e-5,3.486381492238321e-8,0.001399782875381604,-3.836511152067367e-5,3.494805808686753e-8,0.0013998239209614296,-3.856545057793629e-5,3.508720829151086e-8,0.0013999383452429608,-3.880618248898522e-5,3.5253069111989446e-8,0.001400128687982977,-3.9044513556967366e-5,3.5415721677933286e-8,0.0014003803140351105,-3.924559928935504e-5,3.555119946742358e-8,0.0014006688652410718,-3.938796884383357e-5,3.564509648433299e-8,0.0014009672459019793,-3.946401158692379e-5,3.569268613464028e-8,0.0014012504631784645,-3.9477773714654874e-5,3.5697219627372335e-8,0.0014014983378744935,-3.9442025791079544e-5,3.566783351875651e-8,0.0014016968485090753,-3.937562123845998e-5,3.561776933093947e-8,0.0014018389311078144,-3.930135009856592e-5,3.556297869454529e-8,0.0014019252611881805,-3.924395351028988e-5,3.552079791655267e-8,0.0014019650674987158,-3.922771502573723e-5,3.550823547292913e-8,0.0014019765254487317,-3.927316184126799e-5,3.5539561321083074e-8,0.0014019859072127623,-3.939286678870541e-5,3.562326047613582e-8,0.0014020245683540645,-3.9587049026522654e-5,3.57589225433063e-8,0.0014021232793080098,-3.984050350448809e-5,3.5935183683834784e-8,0.0014023045619820167,-4.0122876368864325e-5,3.613011664758931e-8,0.001402575188517273,-4.0393711578013267e-5,3.631499515737404e-8,0.0014029218430838034,-4.0611873294491905e-5,3.6461068646827724e-8,0.0014033123169753285,-4.074679499372091e-5,3.654749216388009e-8,0.0014037026283073234,-4.078780138232347e-5,3.6567752091281347e-8,0.0014040481592061073,-4.074819558912667e-5,3.653228462529379e-8,0.0014043154629272954,-4.0662606574106574e-5,3.646629348386904e-8,0.0014044912857379814,-4.057825582912705e-5,3.640333363998543e-8,0.001404586199481951,-4.054249152292174e-5,3.6376420565956945E-08,0.0014046315916832204,-4.059001163717845e-5,3.640913312668297e-8,0.0014046706036646942,-4.073363552405963e-5,3.650939734711049e-8,0.0014047457709805932,-4.096173679938644e-5,3.6668033280187714e-8,0.0014048875975041877,-4.1243138982900314e-5,3.686248986601918e-8,0.0014051079231287907,-4.153727189609017e-5,3.706412048229687e-8,0.0014053996891925462,-4.180543919169627e-5,3.724605723962737e-8,0.0014057418851642401,-4.201928520354164e-5,3.7388982979293707e-8,0.0014061067325829505,-4.216459310863377e-5,3.748357386154352e-8,0.0014064662792454632,-4.2240904034702006e-5,3.75300453375767e-8,0.001406796935332708,-4.225873123662221e-5,3.753610982343233e-8,0.0014070818711074016,-4.223609237701761e-5,3.7514565091294765e-8,0.0014073119283782146,-4.219538055815336e-5,3.748118402098386e-8,0.0014074858454996213,-4.216086923191445e-5,3.7453036902211475e-8,0.0014076103837110468,-4.215657537536124e-5,3.744699428145286e-8,0.001407700482867457,-4.2203893189522455e-5,3.7477990165415446e-8,0.0014077790394113716,-4.231848459825597e-5,3.755673767593618e-8,0.0014078754676845311,-4.250633958081457e-5,3.768691664581742e-8,0.0014080219967517041,-4.275967059593405e-5,3.7862358742113034e-8,0.0014082470158322466,-4.305438268393406e-5,3.8065444478173206e-8,0.0014085662107764442,-4.3351709842482535e-5,3.826846229183665e-8,0.0014089744868300872,-4.360598119993927e-5,3.843922404533621e-8,0.0014094431536157055,-4.377765422595991e-5,3.8550288702544655e-8,0.0014099256069116926,-4.384699363489847e-5,3.8588547143931624e-8,0.001410370621965012,-4.3822017616625005e-5,3.8560684416864574e-8,0.0014107379906385569,-4.373660777036701e-5,3.8491618344667396e-8,0.001411009964557524,-4.363969764258664e-5,3.841657689536917e-8,0.0014111946000197385,-4.3580512043394426e-5,3.8370420063415034e-8,0.0014113211867777273,-4.359545857298468e-5,3.837829828573306e-8,0.0014114306461733982,-4.3700232323209964e-5,3.8450239351540594e-8,0.001411564408632792,-4.388818610139138e-5,3.858035161105931e-8,0.0014117547305501578,-4.4134232812283986e-5,3.874997182226532e-8,0.0014120184750084578,-4.440248212920195e-5,3.8933324817321076e-8,0.0014123552829552618,-4.4655279826922307e-5,3.910396017989396e-8,0.0014127498958597165,-4.4861304314633954e-5,3.924032595412258e-8,0.0014131773611926266,-4.500092974261656e-5,3.932930729967511e-8,0.0014136092759243295,-4.5068124233728125e-5,3.9367328715653395e-8,0.001414019350464863,-4.50693223258045e-5,3.9359414083827914e-8,0.001414387280570928,-4.5020436860496765e-5,3.931705416718012e-8,0.0014147007530842784,-4.4943253683445574e-5,3.925572649703533e-8,0.0014149560140847756,-4.486209219785531e-5,3.919262101512192e-8,0.0014151576551419522,-4.4801074437002196e-5,3.914474595500056e-8,0.001415318136201093,-4.478183557739158e-5,3.912726793698288e-8,0.0014154572003696824,-4.482122856836196e-5,3.9151802563573214e-8,0.0014156009001108517,-4.492859041749618e-5,3.9224425325897754e-8,0.0014157795097893533,-4.5102449376290346e-5,3.93433918158505e-8,0.0014160233109937125,-4.532727500167816e-5,3.94970098303655e-8,0.0014163555567608258,-4.557201265798743e-5,3.96628298780135e-8,0.0014167833913719533,-4.579313198730899e-5,3.980996986060289e-8,0.0014172901012929602,-4.594441145983626e-5,3.990606550755613e-8,0.0014178341748209257,-4.599235373069634e-5,3.9928088314464635e-8,0.0014183591944381855,-4.593096157451421e-5,3.987268351609923e-8,0.0014188124373602864,-4.5787093578951006e-5,3.975984439233655e-8,0.001419163393834719,-4.561185313227637e-5,3.9626636645945325e-8,0.0014194126920989531,-4.5462152420401115e-5,3.951386849890556e-8,0.0014195882504336435,-4.5382171232237414e-5,3.945270542300551e-8,0.0014197329253106763,-4.539256577330823e-5,3.9456983564371725e-8,0.0014198906236090039,-4.548923231726588e-5,3.952257759491028e-8,0.001420095771986858,-4.5648857684138e-5,3.963175850856077e-8,0.0014203677362581296,-4.5837385340540104e-5,3.975959325884974e-8,0.0014207096597213865,-4.601850510949015e-5,3.988016811818957e-8,0.0014211104809135435,-4.616063637726872e-5,3.9971495331700885e-8,0.0014215489510336552,-4.624177480943514e-5,4.001871904464167e-8,0.0014219986351035052,-4.6251956591088596e-5,4.0015574979438314e-8,0.0014224329376801295,-4.619339291718908e-5,3.996426457805398e-8,0.001422829353219783,-4.607871301987465e-5,3.9874120697775513e-8,0.0014231724530763103,-4.592798447099774e-5,3.9759530620922137e-8,0.0014234554326269762,-4.57652124151591e-5,3.9637548056577846e-8,0.0014236803642659415,-4.561496504861187e-5,3.952556952558051e-8,0.0014238575838519927,-4.5499512314608026e-5,3.943929979142778e-8,0.0014240046262760098,-4.543644346492547e-5,3.9390987574810174e-8,0.0014241448474782898,-4.543650107068099e-5,3.938780661528568e-8,0.0014243055769598875,-4.55014025622324e-5,3.943030334635427e-8,0.0014245153230789524,-4.562160361393435e-5,3.951093333991738e-8,0.0014247992679477627,-4.5774516750711624e-5,3.9613026810845106e-8,0.0014251725776000539,-4.592471607435623e-5,3.97111673534239e-8,0.0014256324150758487,-4.6028499832087334e-5,3.9774539919194244e-8,0.0014261519278773282,-4.604466942670059e-5,3.97745103455597e-8,0.0014266816106519023,-4.595018557846401e-5,3.9695557904295956e-8,0.0014271621257017225,-4.575388705227969e-5,3.9544859389287236e-8,0.0014275457311608392,-4.549845458283125e-5,3.935358890200528e-8,0.001427815306107102,-4.524605002091276e-5,3.916657774531871e-8,0.0014279894860666584,-4.505443172790813e-5,3.9025101307670685e-8,0.001428111845943068,-4.4957151971777735e-5,3.895259664595886e-8,0.0014282324457039898,-4.4956997998443266e-5,3.8950037799349965e-8,0.0014283921152246375,-4.5031813061035744e-5,3.9000405529012745e-8,0.001428614503799861,-4.514594302658012e-5,3.907728510090153e-8,0.0014289052039444517,-4.526123102336767e-5,3.915303573565249e-8,0.0014292549887714064,-4.5344780633131716e-5,3.9204408290150735e-8,0.0014296445351593818,-4.537328317671618e-5,3.921546485399938e-8,0.0014300491927835234,-4.533479827914965e-5,3.917854634066426e-8,0.0014304433224275918,-4.522881772940035e-5,3.909403114722347e-8,0.001430804033341362,-4.5065037434135e-5,3.896929881664266e-8,0.001431114134170649,-4.486114602985143e-5,3.8817147411994384e-8,0.001431364173594574,-4.463995090524377e-5,3.8653843304944497e-8,0.001431553477665542,-4.4426110315797016e-5,3.8496905092415785e-8,0.0014316900992935974,-4.4242818950062476e-5,3.8362786478080485e-8,0.0014317897941557708,-4.410886020323244e-5,3.8264727869013804e-8,0.0014318743099349634,-4.403620954390451e-5,3.8210949087253464e-8,0.0014319691565770345,-4.402814004867514e-5,3.8203232744223565e-8,0.0014321008288139233,-4.407781633250867e-5,3.823596615193787e-8,0.0014322933132242908,-4.4167493057523215e-5,3.829575167824442e-8,0.0014325635783059797,-4.426874231918825e-5,3.8361828243839776e-8,0.0014329159984174987,-4.4344806916418694e-5,3.8407962919808685e-8,0.0014333367610415697,-4.435666435111393e-5,3.840682171688473e-8,0.0014337910720800594,-4.4273697098380086e-5,3.833742616530986e-8,0.0014342273731959762,-4.408716016137151e-5,3.819450047412489e-8,0.0014345914434781843,-4.382020957560829e-5,3.79954130449742e-8,0.0014348470970175808,-4.352582193219588e-5,3.7778581483576264e-8,0.0014349925697684392,-4.326902649537983e-5,3.759070188014273e-8,0.0014350613489107376,-4.3101343714786775e-5,3.746837044387351e-8,0.0014351064354383872,-4.304237393549526e-5,3.74248666578265e-8,0.0014351786308693037,-4.3077895175319485e-5,3.744893988723652e-8,0.001435311120145527,-4.3171511316731736e-5,3.751349253798805e-8,0.001435514983638263,-4.3280124103506245e-5,3.7587031889058094e-8,0.0014357827442222175,-4.33657644870084e-5,3.764234602726513e-8,0.0014360950176135047,-4.340168328161423e-5,3.766080981694061e-8,0.0014364268982985113,-4.3373918763642415e-5,3.7633249662091946e-8,0.0014367527843651797,-4.328039694830718e-5,3.755898187846603e-8,0.0014370497401466067,-4.312909776010434e-5,3.7444270646673757e-8,0.0014372999251545048,-4.29358844997081e-5,3.730070931627148e-8,0.0014374923724849156,-4.2722063680720855e-5,3.71435536648068e-8,0.0014376241618117747,-4.251167408721932e-5,3.6989920136254e-8,0.0014377009262072043,-4.2328490779715396e-5,3.6856738666764285e-8,0.0014377364788064743,-4.2192837572660376e-5,3.675846863045126e-8,0.0014377513692969844,-4.2118585485798534e-5,3.6704856042820815e-8,0.001437770451447845,-4.2110786884528316e-5,3.669912913273134e-8,0.0014378196981251372,-4.21642244916051e-5,3.6736925449717485e-8,0.0014379224790505686,-4.226308798281828e-5,3.680616377621557e-8,0.0014380955334853483,-4.238200534606743e-5,3.6888012155040675e-8,0.0014383449114242503,-4.2488670304332985e-5,3.6959034935254815e-8,0.0014386623333420816,-4.254848883471872e-5,3.69946922542799e-8,0.001439023053413255,-4.253172746547254e-5,3.6974437223496824e-8,0.00143938722951177,-4.242284653717159e-5,3.688818009449981e-8,0.001439707137154768,-4.222971419566938e-5,3.674257304428873e-8,0.0014399409659193428,-4.198781671588203e-5,3.656376280190634e-8,0.001440069459918548,-4.1753765044836575e-5,3.6392606119182155e-8,0.001440106597622063,-4.158679104094984e-5,3.6271381464065536e-8,0.0014400959148385573,-4.1525832600832144e-5,3.622739349459521e-8,0.0014400927711180566,-4.15752438414865e-5,3.626283531393904e-8,0.0014401429180055368,-4.170699406909172e-5,3.635659541946491e-8,0.0014402691460889587,-4.1875615871244114e-5,3.6475292110604114e-8,0.0014404700687453444,-4.20353985030447e-5,3.658586574851633e-8,0.0014407270427852904,-4.215187194132588e-5,3.666388371140973e-8,0.001441013130719309,-4.220595818615349e-5,3.6696359973947585e-8,0.0014413003263376396,-4.219308157288958e-5,3.6680826446642095e-8,0.001441564033217401,-4.212012924590863e-5,3.662287749152233e-8,0.0014417853809006085,-4.2002181831792545e-5,3.653368462176073e-8,0.0014419523959797523,-4.185969337729201e-5,3.642799751790315e-8,0.0014420606999227586,-4.171600435622608e-5,3.632248964966348e-8,0.0014421139198980406,-4.159487387718513e-5,3.623411674528073e-8,0.0014421237028206181,-4.151777055500738e-5,3.6178218018737015e-8,0.0014421089934266833,-4.150085444996026e-5,3.6166287820635e-8,0.0014420941576250958,-4.155198804294638e-5,3.620370937664565e-8,0.0014421057972856064,-4.166845338362705e-5,3.628802792965738e-8,0.0014421685219863218,-4.183607922736202e-5,3.6408352528175015e-8,0.0014423002757643633,-4.203032172674412e-5,3.65463031098458e-8,0.0014425080608542666,-4.22195472333642e-5,3.667862994977846e-8,0.001442784991572208,-4.237031728117714e-5,3.6781252110025435e-8,0.0014431095090614871,-4.245409762385614e-5,3.6834180674033206e-8,0.0014434474962299161,-4.245454297942441e-5,3.682664986919906e-8,0.0014437579597159325,-4.237398291446551e-5,3.676149381934002e-8,0.0014440024218877274,-4.2236870836770005e-5,3.665727124065034e-8,0.0014441566692500326,-4.208735480065546e-5,3.654623465415403e-8,0.0014442210777839057,-4.197894413823149e-5,3.646678154580181e-8,0.0014442238639085503,-4.1957657259825583e-5,3.6451395741224957e-8,0.001444213177633174,-4.204514955028633e-5,3.6514704020701185e-8,0.0014442400148779796,-4.2230738483301597e-5,3.664799820937176e-8,0.001444340327612597,-4.2477002171248194e-5,3.6823531208232587E-08,0.0014445252831045401,-4.273521305190709e-5,3.700583739358809e-8,0.001444782633063003,-4.296167146369278e-5,3.716358146341754e-8,0.0014450854085491184,-4.312785702347721e-5,3.727679374827056e-8,0.001445401951167018,-4.322288651739154e-5,3.733842340885731e-8,0.001445703365975638,-4.3250813436262515e-5,3.735212787958807e-8,0.0014459674945798882,-4.32260760357198e-5,3.73288004390637e-8,0.001446180300220262,-4.316923443732345e-5,3.728344873718978e-8,0.0014463359582635035,-4.310370309668452e-5,3.723292189167686e-8,0.0014464365687389773,-4.305328850624032e-5,3.719426687269874e-8,0.0014464918465855834,-4.304002473972689e-5,3.718325365119318e-8,0.0014465186728166825,-4.308181819575483e-5,3.721266618215463e-8,0.0014465400355141305,-4.3189687170519945e-5,3.7290221487352145e-8,0.0014465827531187007,-4.336489798552785e-5,3.741640893771544e-8,0.0014466736056468219,-4.3596841039752464e-5,3.758294229173246e-8,0.0014468340922974643,-4.386279199894946e-5,3.77726972029659e-8,0.0014470748301542683,-4.413057535440872e-5,3.7961848327240886e-8,0.0014473912922101449,-4.4364408720834884e-5,3.812432810558878e-8,0.0014477626657607462,-4.453297875666711e-5,3.8237820661230854e-8,0.001448154854433801,-4.461771816489685e-5,3.828974037644961e-8,0.0014485274030723117,-4.461890202134063e-5,3.8281447589952853e-8,0.0014488429638407447,-4.455758179245559e-5,3.822931479912126e-8,0.001449077126957026,-4.447225398864734e-5,3.816195570741389e-8,0.001449226023125882,-4.441032020245069e-5,3.8113794316332475e-8,0.0014493090755652274,-4.441579020404974e-5,3.8116125833806295e-8,0.001449364947092221,-4.451633994090186e-5,3.818794133287042e-8,0.0014494407057380814,-4.471426477041007e-5,3.832972073058778e-8,0.0014495774144823556,-4.498555350055323e-5,3.8523117853081915e-8,0.0014497978450341655,-4.5288121537755064e-5,3.873716648698755e-8,0.001450101396289851,-4.557563857325436e-5,3.89383696430426e-8,0.0014504674700356046,-4.581077178440381e-5,3.9100206897818924e-8,0.001450864329811925,-4.59729347684755e-5,3.920855010190983e-8,0.001451258767715561,-4.605934108050844e-5,3.92621859121156e-8,0.001451623153623208,-4.608136827590191e-5,3.926997648012008e-8,0.0014519388956488832,-4.605924560935e-5,3.9246910208725725e-8,0.0014521971379447417,-4.6017229535460886e-5,3.9210629613232204e-8,0.0014523980389310705,-4.5980057149587095e-5,3.917896492879653e-8,0.0014525496603379358,-4.597051953376308e-5,3.9168276920308264e-8,0.0014526669574361673,-4.600759430739576e-5,3.9192135619664394e-8,0.0014527708281076104,-4.610453020282936e-5,3.9259884840940946e-8,0.0014528867245701964,-4.626654176388048e-5,3.9374895639106777e-8,0.0014530421048613528,-4.648831416903428e-5,3.9532731387203335e-8,0.0014532621468013511,-4.6752190201937326e-5,3.971990995005398e-8,0.0014535637916342824,-4.7028515568426274e-5,3.9914326393312656e-8,0.0014539493947660874,-4.727971460801391e-5,4.008841173852169e-8,0.0014544025921314587,-4.7468597955633217e-5,4.021531201044032e-8,0.0014548892922685616,-4.7569142347220584e-5,4.027675511472258e-8,0.0014553650558184153,-4.7575810436338764e-5,4.026972977663235e-8,0.0014557870851216873,-4.750717265528638e-5,4.020889782847651e-8,0.0014561265502366723,-4.7401772022354576e-5,4.012327246018735e-8,0.0014563767220609832,-4.730757137609055e-5,4.004821937536077e-8,0.00145655435776092,-4.726880621379515e-5,4.001569186801683e-8,0.001456694463586125,-4.73144514864003e-5,4.004587627083997e-8,0.0014568404770532691,-4.7451327393656046e-5,4.0142460997834714e-8,0.0014570327641523222,-4.7663290283813975e-5,4.029246947753112e-8,0.001457298519145466,-4.7916441311999795e-5,4.047043105356473e-8,0.0014576457793189451,-4.816871716330359e-5,4.064555627563837e-8,0.0014580630692166065,-4.8380870254886153e-5,4.07896946312839e-8,0.0014585242916217804,-4.85254475628263e-5,4.0883660976549706e-8,0.0014589966823086494,-4.859135992178545e-5,4.092028278391199e-8,0.0014594488895383127,-4.8583561201735886e-5,4.0903922552317477e-8,0.0014598568660654338,-4.851917902858856e-5,4.084752107398645e-8,0.001460206718017994,-4.8422238333548e-5,4.0768741953613706e-8,0.0014604949812930131,-4.831876578154884e-5,4.068648768877478e-8,0.0014607274013576004,-4.823314160900414e-5,4.0618350180221016e-8,0.0014609172150457537,-4.8185712318530414e-5,4.057893429465176e-8,0.001461083502746424,-4.8191179258434105E-05,4.0578670798416085e-8,0.001461249671904525,-4.82571706133708e-5,4.0622715345642995e-8,0.001461441693727446,-4.838261929000545e-5,4.07097296081658e-8,0.0014616854233344243,-4.8556014057686534e-5,4.083066061163576e-8,0.0014620023267894015,-4.8754249269082786e-5,4.0968058990523775e-8,0.0014624034953483796,-4.894358809285292e-5,4.109698020827211e-8,0.0014628831941533296,-4.908464338861261e-5,4.118875936509696e-8,0.0014634150433660768,-4.914226299762998e-5,4.121824393937142e-8,0.0014639548020531532,-4.9098224861191336e-5,4.117296927439143e-8,0.001464451637979818,-4.8961091183785824e-5,4.106020733296679e-8,0.0014648646915946838,-4.8766820370606e-5,4.090722801199529e-8,0.0014651772883869003,-4.8568009313809076e-5,4.075319349404685e-8,0.0014654017214941388,-4.8416426777365386e-5,4.063612262558724e-8,0.0014655731149098806,-4.834715390556542e-5,4.05811408271586e-8,0.0014657366598345033,-4.8370472978448067e-5,4.0594648027202523e-8,0.0014659342958094506,-4.847253437725393e-5,4.066516335293664e-8,0.0014661950114605521,-4.862215666828612e-5,4.076876008564538e-8,0.0014665301910791108,-4.8780249807602064e-5,4.0876316291687736e-8,0.0014669336173157724,-4.8909088442915184e-5,4.096041061837196e-8,0.0014673849869394323,-4.89797010783182e-5,4.10005813588427e-8,0.0014678556191269404,-4.8976435201010984e-5,4.0986359543432826e-8,0.0014683149714162325,-4.889830880085964e-5,4.091793502517985e-8,0.0014687365529222206,-4.875735290426732e-5,4.080472681276175e-8,0.0014691021142846357,-4.857481423921316e-5,4.0662543710692137e-8,0.0014694036337962362,-4.8376450354823765e-5,4.0510213167388694e-8,0.0014696432745798936,-4.8188046898087444e-5,4.0366429937764576e-8,0.0014698319277800106,-4.803190530328035e-5,4.0247286006004545e-8,0.0014699871102827962,-4.7924526915939426e-5,4.0164595796703556e-8,0.0014701307848855516,-4.787522027490336e-5,4.012482396092963e-8,0.0014702872622128149,-4.788517195205734e-5,4.012834089633514e-8,0.0014704809975428358,-4.794666693736669e-5,4.0168855709075365e-8,0.0014707338344027386,-4.804244009905834e-5,4.0233062784634995e-8,0.0014710611213139102,-4.814566107532364e-5,4.030084085232558e-8,0.0014714665413726273,-4.822181569590968e-5,4.034683134470572e-8,0.001471936732554558,-4.823419676772928e-5,4.0344537351810816e-8,0.0014724385787785134,-4.815393883152968e-5,4.02735824939934e-8,0.0014729232921461939,-4.7972708991935915e-5,4.012881131104992e-8,0.001473339733380658,-4.771194684085152e-5,3.99268721108642e-8,0.0014736534482333627,-4.7420811459529796e-5,3.97045678271898e-8,0.0014738614631978186,-4.716016424666695e-5,3.9506949528936975e-8,0.0014739933492919856,-4.697982067329245e-5,3.937043540172194e-8,0.0014740979744279096,-4.690167112469379e-5,3.931032980142313e-8,0.0014742246024554207,-4.691644256644111e-5,3.9318604552850936e-8,0.0014744082651071803,-4.69922299640802e-5,3.9370563974310175e-8,0.0014746637140043946,-4.708756851895923e-5,3.943489870131204e-8,0.0014749866046875014,-4.7162958123676244e-5,3.948243157993727e-8,0.001475358543065385,-4.71883294842356e-5,3.949159654624633e-8,0.001475753210166725,-4.714652817698946e-5,3.945074236392933e-8,0.001476142078096254,-4.7033888847950614e-5,3.9358189832320374e-8,0.0014764992123982724,-4.685887934392134e-5,3.9220928510260014e-8,0.0014768049713061416,-4.663938791887539e-5,3.905248086942313e-8,0.001477048391317066,-4.639911917690382e-5,3.8870289051615004e-8,0.0014772281442441146,-4.61636413222774e-5,3.86929540003015e-8,0.0014773521218631534,-4.595660324837137e-5,3.8537604231317574e-8,0.0014774358574483667,-4.579659133441228e-5,3.841765492707048e-8,0.0014775001956065402,-4.569496823083304e-5,3.8341186816552856e-8,0.0014775686820781154,-4.565470129067433e-5,3.830999686167372e-8,0.0014776649243166784,-4.566994456347111e-5,3.8319233095593914e-8,0.0014778099359220231,-4.5726192560117234e-5,3.83575570353092e-8,0.0014780193244124584,-4.580097117160524e-5,3.840782891730723e-8,0.0014783000450939625,-4.5865328797617776e-5,3.8448445201550915e-8,0.0014786467079729625,-4.588696439857752e-5,3.845582251437362e-8,0.0014790384080720245,-4.583611242343526e-5,3.840873944588172e-8,0.0014794383527260398,-4.56945594107753e-5,3.82947864626867e-8,0.001479799398450005,-4.5465999161076066e-5,3.811769435150879e-8,0.0014800774121277783,-4.518250806512075e-5,3.790185132520664e-8,0.0014802492942168032,-4.489995809258601e-5,3.768879845012064e-8,0.0014803258879004637,-4.467961171000656e-5,3.7523621216932424e-8,0.0014803496588216847,-4.456364916372832e-5,3.7436882425543227E-08,0.0014803767789849922,-4.455914717389837e-5,3.743285124826617e-8,0.00148045471663273,-4.463944669785187e-5,3.749072374826842e-8,0.0014806079903739232,-4.4759080332929866e-5,3.757599995374444e-8,0.0014808363575325631,-4.4871298219932226e-5,3.7653765328709984e-8,0.0014811213748755097,-4.49400791113898e-5,3.7697698950566665e-8,0.0014814353063795221,-4.494494148911797e-5,3.769349125262831e-8,0.0014817486607833878,-4.488064489949951e-5,3.7638296039217246e-8,0.0014820352591590176,-4.475444899156155e-5,3.75383511170801e-8,0.001482275222988769,-4.458271568201399e-5,3.740624045556785e-8,0.0014824566343186552,-4.438752806725547e-5,3.7258364186440963e-8,0.0014825762933425046,-4.41933973514123e-5,3.711263205430016e-8,0.0014826396781233982,-4.402407385189993e-5,3.698628868785702e-8,0.0014826601038704105,-4.3899537486014864e-5,3.689381745950238e-8,0.0014826570290835308,-4.3833355408042506e-5,3.684500249109746e-8,0.0014826535665252642,-4.383076384824262e-5,3.684342893133268e-8,0.0014826734964349505,-4.388776027353641e-5,3.688571137475423e-8,0.0014827381250709867,-4.3991250197185465e-5,3.696157870415823e-8,0.0014828632277558774,-4.4120225732295084e-5,3.7054853705114773e-8,0.0014830562790585913,-4.424796254416029e-5,3.7145299091021524e-8,0.001483314114902658,-4.4345226853738956e-5,3.721123064884487e-8,0.0014836212427355765,-4.438471351759688e-5,3.723292906691934e-8,0.0014839495880320053,-4.434704884177869e-5,3.719700534277648e-8,0.0014842612053440878,-4.4227969750309367e-5,3.7101437221589655e-8,0.001484515578411819,-4.4044706083483356e-5,3.6959930289161086e-8,0.0014846818321571568,-4.383767436946015e-5,3.6802887599284104e-8,0.001484752665298912,-4.366282494601175e-5,3.6671649941767425e-8,0.0014847523079773632,-4.357345179251354e-5,3.6605110282143873e-8,0.0014847306685902028,-4.3598461730291396e-5,3.662379044416523e-8,0.0014847439416985908,-4.372996532663204e-5,3.672084767057359e-8,0.001484832455576805,-4.392834159757466e-5,3.6866053246575335e-8,0.0014850084524969315,-4.414052139172515e-5,3.701958292803764e-8,0.0014852579225742377,-4.4319394962506785e-5,3.7146574635816525e-8,0.00148555111690797,-4.443521318072178e-5,3.7225576915926685e-8,0.0014858540251273446,-4.447773434048518e-5,3.724992857383376e-8,0.0014861364543161625,-4.445270363925244e-5,3.722482225495067e-8,0.0014863760913723298,-4.437656318307988e-5,3.716309655277369e-8,0.0014865597532513933,-4.427164451826376e-5,3.708154822513582e-8,0.0014866832683675857,-4.4162460074345484e-5,3.699824191460888e-8,0.0014867508559287582,-4.407282323694022e-5,3.693054466535894e-8,0.0014867742340000237,-4.402339782503651e-5,3.68934712540527e-8,0.0014867713714220555,-4.402943420367354e-5,3.689807422058526e-8,0.0014867646564762282,-4.409867285281513e-5,3.6949844467746125e-8,0.0014867782740302412,-4.422973621937711e-5,3.7047415402730984e-8,0.0014868348754921309,-4.441152508594255e-5,3.718204520461165e-8,0.0014869519465962582,-4.462400182095811e-5,3.733824048865543e-8,0.0014871384186216602,-4.484053098879151e-5,3.749566462993671e-8,0.0014873921480441546,-4.5031733174503954e-5,3.7632239067973675e-8,0.0014876988747097991,-4.517047600970056e-5,3.772804673560034e-8,0.0014880330851069787,-4.5237407062414714e-5,3.776948065811721e-8,0.0014883611336936045,-4.522638867386191e-5,3.7753106366925946e-8,0.0014886470419661934,-4.5148829423299135e-5,3.768853679617695e-8,0.0014888610099375744,-4.503511107630251e-5,3.75991142701746e-8,0.0014889893734640611,-4.493078727593386e-5,3.7518833390943256e-8,0.0014890426802024238,-4.4885939658503095e-5,3.74844077895564e-8,0.0014890568559620368,-4.493900359979849e-5,3.752344755667185e-8,0.0014890836459080803,-4.5101175184416406e-5,3.7643181361237684e-8,0.001489172305795643,-4.535029512050693e-5,3.7826206234394064e-8,0.0014893513815948645,-4.5639131365739326e-5,3.803685162170241e-8,0.0014896203853677792,-4.591379586939746e-5,3.8234980089391865e-8,0.0014899543663838013,-4.613185728141613e-5,3.8389462478218916e-8,0.0014903162297077394,-4.6271946349084726e-5,3.848520377485263e-8,0.0014906691385107214,-4.6333741604474694e-5,3.852289537208366e-8,0.0014909844428688587,-4.6332267253878814e-5,3.851449641139075e-8,0.0014912446994979787,-4.629096295265064e-5,3.8477884251820716e-8,0.001491443475023993,-4.623604922293549e-5,3.843262815520471e-8,0.0014915838036451312,-4.61927449105687e-5,3.8397284898482245e-8,0.0014916764513131834,-4.618284796155863e-5,3.838776175182558e-8,0.0014917383357409837,-4.622298504810592e-5,3.8416126988273096e-8,0.0014917909428913139,-4.632303584535767e-5,3.848944739748476e-8,0.0014918583550758398,-4.648458412369112e-5,3.860856466449232e-8,0.0014919645095770773,-4.669969166698596e-5,3.8767106301308565e-8,0.001492129594339425,-4.695065290037247e-5,3.895130296913219e-8,0.0014923659795207224,-4.721144655663761e-5,3.914118664687933e-8,0.0014926745732702724,-4.745133715731877e-5,3.931347861780057e-8,0.0014930428020581202,-4.764050267803905e-5,3.944599080200351e-8,0.0014934453287540244,-4.77567381989998e-5,3.952272977792478e-8,0.0014938479976421455,-4.7791615726440825e-5,3.9538419803086526e-8,0.0014942145959709434,-4.775437268653611e-5,3.950114664854367e-8,0.0014945152548361581,-4.7672147717775885e-5,3.943216537025932e-8,0.0014947347496844735,-4.758571958330954e-5,3.936237614997539e-8,0.0014948784839529095,-4.754071729882442e-5,3.9325587712150906e-8,0.001494973688060228,-4.7575580700830986e-5,3.934960606065222e-8,0.001495063893699758,-4.7709339668887554e-5,3.9447410821275483e-8,0.0014951967819727924,-4.793386974666786e-5,3.961177012530231e-8,0.0014954089548056488,-4.82150113356529e-5,3.9816407071216556e-8,0.001495713972368483,-4.8503439552528306e-5,4.0024278257678855e-8,0.0014960992299929698,-4.875088216767253e-5,4.0199671339311314e-8,0.0014965325627533485,-4.892426755697233e-5,4.031863181757441e-8,0.0014969742965597005,-4.9012244353112056e-5,4.037361715514292e-8,0.0014973887060458133,-4.90234527916337e-5,4.037196030438772e-8,0.0014977509975768778,-4.897987925534544e-5,4.033069659995429e-8,0.0014980493699429142,-4.8909370842569586e-5,4.0270872530960104e-8,0.0014982838272042372,-4.8839785143966184e-5,4.0213214367086265e-8,0.0014984636893112296,-4.879533379597899e-5,4.017552829673121e-8,0.0014986050564438516,-4.879459745805125e-5,4.0171351190536136e-8,0.0014987286878216618,-4.884940264365551e-5,4.020917276631506e-8,0.0014988581486848397,-4.8963892845157507e-5,4.029171690125393e-8,0.0014990177337836207,-4.9133541633318104e-5,4.0415144161886566e-8,0.0014992296650089489,-4.934439725353427e-5,4.056846910653133e-8,0.0014995103608385159,-4.957328780427341e-5,4.073379081419653e-8,0.0014998661313054954,-4.978992849651283e-5,4.0888033317214166E-08,0.001500289438846751,-4.996169395570395e-5,4.100670227701081e-8,0.0015007575640223773,-5.00609271009138e-5,4.1069476582698656e-8,0.0015012354183340914,-5.0073132062903215e-5,4.106633523245191e-8,0.001501682931435136,-5.000313393611321e-5,4.10020124318666e-8,0.0015020653958463235,-4.9876318236111225e-5,4.089664152349184e-8,0.001502363510762478,-4.973362668651773e-5,4.078166708635209e-8,0.0015025796036362987,-4.9621359434477365e-5,4.06919240015438e-8,0.001502737788613337,-4.957881774687852e-5,4.0656280257301776e-8,0.0015028778851812186,-4.9627518948032364e-5,4.0689710099869005e-8,0.001503044775055048,-4.9765138003926926e-5,4.078912007859041e-8,0.001503276131990282,-4.9966042084288354e-5,4.093418214974257e-8,0.0015035921340975534,-5.0188522911167886e-5,4.109307745813918e-8,0.0015039904959644906,-5.038664086853307e-5,4.12314822617478e-8,0.0015044484479765602,-5.052272450607022e-5,4.1321828260849926e-8,0.0015049305867960681,-5.057627006151882e-5,4.1349724488542334e-8,0.0015053992671028003,-5.0546698588028124e-5,4.1315734395285215e-8,0.001505823682333701,-5.0450202162379264e-5,4.123276774522326e-8,0.0015061851264551991,-5.03131376162049e-5,4.1120991139124105e-8,0.00150647810650972,-5.0164985415371416e-5,4.100254562995308e-8,0.0015067085911635734,-5.003289045076868e-5,4.0897557578942296e-8,0.0015068910568689683,-4.9938339881018866e-5,4.0821788084939146e-8,0.0015070455081733843,-4.989557017837055e-5,4.078553560863914e-8,0.0015071949768719031,-4.991095762554463e-5,4.079319265895584e-8,0.0015073634330199596,-4.998270255847455e-5,4.0842964940455486e-8,0.001507573648758257,-5.0100484272582855e-5,4.092657881678172e-8,0.001507844474226869,-5.024531275080717e-5,4.1029213145852093E-08,0.0015081872475477102,-5.039029477878423e-5,4.113020982278904e-8,0.001508601639381369,-5.0503348351200574e-5,4.1205288990591655e-8,0.0015090721800536042,-5.0552825964399286e-5,4.123090271547341e-8,0.0015095677542445187,-5.051598845732162e-5,4.119061726808571e-8,0.0015100464398749296,-5.0388137396494456e-5,4.1081869583940654e-8,0.0015104661524490966,-5.0188150732697904e-5,4.091992886992478e-8,0.0015107980562968522,-4.995626598255443e-5,4.073597315450068e-8,0.0015110369884425087,-4.974323096834382e-5,4.056865503257804e-8,0.0015112037636235288,-4.9594689096187027e-5,4.0452143784550536e-8,0.0015113382538688342,-4.9537390122333774e-5,4.040571885063075e-8,0.001511486651518908,-4.9572491390367476e-5,4.0428949376900265e-8,0.0015116882343063284,-4.9677288522526345e-5,4.0503412055625985e-8,0.001511965832908493,-4.981328246977489e-5,4.0599203239587485e-8,0.0015123218678560742,-4.993712667865752e-5,4.0683458185044255e-8,0.0015127398774388951,-5.001120491259384e-5,4.072833176366586e-8,0.0015131902459503254,-5.0011430442294444e-5,4.0716651632460574e-8,0.0015136381639806527,-4.9930908725903795e-5,4.064433406034829e-8,0.0015140516272895985,-4.977923819466192e-5,4.051953249837382e-8,0.0015144075622012096,-4.9578319631606846e-5,4.035928102066704e-8,0.0015146949683276282,-4.9356355695184494e-5,4.0184938821169755e-8,0.0015149150502128804,-4.9141887980333486e-5,4.0017799643976816e-8,0.0015150791746275875,-4.895917584109024e-5,3.9875772118617474e-8,0.0015152057997848073,-4.8825388632539786e-5,3.977139653273003e-8,0.0015153173317295856,-4.874940504486354e-5,3.971098695425316e-8,0.0015154374095433952,-4.8731643689852686e-5,3.9694467703771245e-8,0.0015155886318726306,-4.876432642304724e-5,3.971551230211538e-8,0.0015157903988936615,-4.8831866635134174e-5,3.976183295261236e-8,0.0015160564336704537,-4.891150797550089e-5,3.9815759747989534e-8,0.001516391691608481,-4.8974788479225625e-5,3.985552106330658e-8,0.0015167888924818176,-4.899079602098747e-5,3.985786664037715e-8,0.0015172258993118245,-4.893217400965164e-5,3.9802659015735863e-8,0.0015176663030841539,-4.878381729040918e-5,3.967934665594565e-8,0.0015180658418397924,-4.855185669703154e-5,3.9493549812086156e-8,0.0015183852145058741,-4.8267882631723335e-5,3.927002879151628e-8,0.001518605245428821,-4.7983227159816685E-05,3.904816418536927e-8,0.0015187364109845078,-4.7752853667001454e-5,3.8869607112691156e-8,0.0015188162107197098,-4.76157007253304e-5,3.876330623471329e-8,0.0015188951081814535,-4.7581646967552716e-5,3.87356971621642e-8,0.0015190187423242043,-4.763095682004308e-5,3.877055536279872e-8,0.0015192148843438057,-4.7724206359166875e-5,3.883693164021174e-8,0.0015194889111096335,-4.7816122036906335e-5,3.890001525702813e-8,0.0015198265573875282,-4.78675190041975e-5,3.893034461914193e-8,0.0015202006147450764,-4.785267690604367e-5,3.8909281403952436e-8,0.0015205786058022936,-4.776206764521024e-5,3.883074987792664e-8,0.001520929655959892,-4.7601511265561416e-5,3.8700210594517606e-8,0.0015212297485279174,-4.73889457227636e-5,3.853192522081979e-8,0.001521464985636384,-4.714978616986874e-5,3.834534142739313e-8,0.001521632714070136,-4.691181862109943e-5,3.8161308626593714e-8,0.0015217407259916819,-4.6700544473304215e-5,3.7998737945680615e-8,0.001521805050737679,-4.653561112622005e-5,3.7872078917049705e-8,0.0015218469609350476,-4.6428620942574455e-5,3.77897496515343e-8,0.0015218898209953303,-4.638232433864213e-5,3.7753505077697286e-8,0.0015219562588472324,-4.63908829784902e-5,3.775855431522331e-8,0.0015220657852472567,-4.644073196168358e-5,3.779415592915643e-8,0.0015222326849345393,-4.6511768353575117e-5,3.78445580321092e-8,0.0015224639302797234,-4.6578917633677744e-5,3.789033821231449e-8,0.0015227569400496383,-4.6614434070743716e-5,3.791035015751786e-8,0.0015230973823843132,-4.659163295010869e-5,3.788469386599491e-8,0.0015234580899453059,-4.6490764418833046e-5,3.779915028577375e-8,0.0015238011301948635,-4.630679101973296e-5,3.765088713532935e-8,0.0015240852672769784,-4.6056717425461094e-5,3.7453737167092474e-8,0.001524279176362041,-4.578158370729293e-5,3.723946842777562e-8,0.0015243761207970313,-4.5537893273890615e-5,3.7051147789336374e-8,0.0015244012465784203,-4.537833811089991e-5,3.692846975976653e-8,0.0015244043069810233,-4.5330485030194646e-5,3.689159982476225e-8,0.001524440051851727,-4.5386093677926136e-5,3.693319329946158e-8,0.0015245475921702796,-4.550706901455292e-5,3.70231970685862e-8,0.001524739631177373,-4.564256280847005e-5,3.712221109997426e-8,0.0015250039821238194,-4.574645320979391e-5,3.719506196713576e-8,0.001525312469978232,-4.57880724817201e-5,3.7219009823727845e-8,0.0015256311465300198,-4.575529177708597e-5,3.71858758629502e-8,0.0015259283156329572,-4.5652460184988825e-5,3.710009588757813e-8,0.001526179490549331,-4.549604863952453e-5,3.697504333756095e-8,0.0015263698298762106,-4.5309863016883735e-5,3.682918922629797e-8,0.0015264948690534665,-4.5120549024834013e-5,3.668269874859717e-8,0.0015265600057452486,-4.495356643058214e-5,3.65545436819091e-8,0.0015265789603062382,-4.4829825029204026e-5,3.646015826369734e-8,0.0015265714591917814,-4.476317621887072e-5,3.640967597256171e-8,0.001526560393019653,-4.47588814097071e-5,3.6406785222506725e-8,0.0015265687425595057,-4.481319012855167e-5,3.6448328955322366e-8,0.001526616673386339,-4.491402171639455e-5,3.6524727155707175e-8,0.001526719088838322,-4.5042478706087005e-5,3.662110821247449e-8,0.001526883671120863,-4.517492388060347e-5,3.671899335520608e-8,0.001527109357997393,-4.528556689050531e-5,3.679846629243785e-8,0.0015273852648541443,-4.5349660451110904e-5,3.684080865883039e-8,0.0015276902649918051,-4.5347572784252786e-5,3.683168213824624e-8,0.0015279940023550515,-4.5269982630066084e-5,3.676496818810432e-8,0.001528260741500139,-4.5123660491407865e-5,3.664687940483986e-8,0.0015284573649040436,-4.493568923535388e-5,3.649883068748661e-8,0.0015285651819203082,-4.475224028990135e-5,3.6356268024786054e-8,0.001528591522529057,-4.462799322930828e-5,3.6260564495138095e-8,0.0015285733068809862,-4.4606708170989893e-5,3.6244339332635135e-8,0.0015285663015500417,-4.4701580903939586e-5,3.631667920617675e-8,0.001528623057978843,-4.4888075568297965e-5,3.645788182105769e-8,0.0015287721301055885,-4.511488889181742e-5,3.662804240559266e-8,0.0015290104785997134,-4.532567197125326e-5,3.678385405657058e-8,0.0015293104382067145,-4.547810886081325e-5,3.689331286542308e-8,0.0015296334898081117,-4.555238252513215e-5,3.6942127930790746e-8,0.0015299425822774475,-4.5549875508693376e-5,3.6932458321921016e-8,0.0015302094618059117,-4.5487012585997464e-5,3.687784149123152e-8,0.0015304173593234294,-4.538838777224406e-5,3.6797650641900755e-8,0.0015305608012845585,-4.5281191160702335e-5,3.6712741731269536e-8,0.0015306441945146152,-4.5191250244956506e-5,3.664253537729438e-8,0.0015306800306723414,-4.514019365633332e-5,3.660306514411148e-8,0.0015306868440561443,-4.5143317412885504e-5,3.660554118454364e-8,0.0015306868688130097,-4.5208046874071456e-5,3.665525950628058e-8,0.001530703372269813,-4.533304361844633e-5,3.675088279926432e-8,0.0015307577071024677,-4.550816475509205e-5,3.6884311766138235e-8,0.0015308663545292767,-4.5715530714938635e-5,3.7041438425744794e-8,0.001531038403461839,-4.5931705831679506e-5,3.7203859056823594e-8,0.0015312738096312358,-4.613076201647923e-5,3.7351380006003594e-8,0.001531562647587085,-4.628797631784266e-5,3.7465058196804165e-8,0.001531885540287841,-4.638388948223532e-5,3.753045447184219e-8,0.0015322154350115606,-4.6408424099129384e-5,3.75407624833672e-8,0.0015325210181051422,-4.636473481435046e-5,3.749952617090675e-8,0.0015327722562987192,-4.62720299113284e-5,3.742243109933671e-8,0.0015329482178092664,-4.616568661040811e-5,3.7337038635539955e-8,0.0015330459667584296,-4.60922941785365e-5,3.7278814888025735e-8,0.001533087023241133,-4.609795126881395e-5,3.728225619249699e-8,0.001533115983708838,-4.621153374983078e-5,3.736837190134323e-8,0.0015331876400693626,-4.643018459294151e-5,3.753391652633899e-8,0.0015333461088477486,-4.6716886718747485e-5,3.7749779963297116e-8,0.001533607077938741,-4.701413330082583e-5,3.797158062251958e-8,0.0015339536898771556,-4.7266463413301e-5,3.8156979046495933e-8,0.0015343469210881689,-4.7438804933053115e-5,3.827972461061156e-8,0.0015347420400233514,-4.7522609577066365e-5,3.833423468532848e-8,0.0015351018922789568,-4.75311913550837e-5,3.833175719045527e-8,0.0015354032268769953,-4.7490536847499134e-5,3.8293014468682244e-8,0.0015356372503282487,-4.7430749661384474e-5,3.8241437080403724e-8,0.0015358072060457936,-4.738020854009638e-5,3.819867181103716e-8,0.0015359252275494756,-4.736231090740194e-5,3.818223813016995e-8,0.0015360095332831896,-4.739380510817324e-5,3.820445815928393e-8,0.0015360820478136717,-4.748383499571379e-5,3.82718722773441e-8,0.001536166141831675,-4.763330834665019e-5,3.838478548063725e-8,0.001536284194639195,-4.783458629340891e-5,3.8536969464764897e-8,0.0015364548174580863,-4.8071792138992605e-5,3.871582755825761e-8,0.001536689888308331,-4.832221693893701e-5,3.890347256035087e-8,0.001536991949021952,-4.8559125680806725e-5,3.907898810591917e-8,0.0015373526882001662,-4.875585201501901e-5,3.9221757056841037E-08,0.0015377531409755225,-4.889068042494506e-5,3.931538272353313e-8,0.0015381659828674545,-4.895167436888976e-5,3.9351451406966635e-8,0.0015385598715198048,-4.894040830492917e-5,3.9332267184161023e-8,0.0015389053503828088,-4.887366805568127e-5,3.927184980018389e-8,0.0015391815674583567,-4.878238533919379e-5,3.919473310592367e-8,0.0015393827610044833,-4.870713902780217e-5,3.913220935194622e-8,0.001539522826925547,-4.868983638924286e-5,3.911586463438951e-8,0.001539635551012186,-4.8762258491063296e-5,3.916897922140672e-8,0.0015397681169518995,-4.893424373568861e-5,3.929783969200081e-8,0.0015399675307219867,-4.9186670824232385e-5,3.9486747633733346e-8,0.0015402639575685848,-4.94746582698892e-5,3.970072063670472e-8,0.001540658896768355,-4.974203898215638e-5,3.989665648604e-8,0.0015411250260262703,-4.9940960584229624e-5,4.0038309783718896e-8,0.0015416177088270302,-5.0046684404287795e-5,4.010752915400204e-8,0.0015420911707916128,-5.006124568783706e-5,4.010688682435594e-8,0.0015425111740769344,-5.000709715400226e-5,4.00545534176231e-8,0.0015428603593231258,-4.9916572907574924e-5,3.9975967592465016e-8,0.001543137348004615,-4.9822560505639655e-5,3.9896549730067413e-8,0.0015433527728847896,-4.9752685894152456e-5,3.983728353617607e-8,0.0015435248853113634,-4.972672630231794e-5,3.981289716560943e-8,0.0015436759860362377,-4.975595477250484e-5,3.9831537088095255e-8,0.0015438297952060482,-4.984325147671539e-5,3.989494979643839e-8,0.0015440093369692496,-4.998334813656624e-5,3.999866380557658e-8,0.0015442348151259754,-5.016309804535865e-5,4.013214246585282e-8,0.0015445211154071746,-5.0362121259628284e-5,4.027925529887606e-8,0.0015448749611662643,-5.055446980018576e-5,4.0419618992163206e-8,0.0015452923005028491,-5.071189862384606e-5,4.053125674762409e-8,0.0015457569800726891,-5.0808855828295383E-05,4.059460327889975e-8,0.0015462418900000286,-5.082850879931722e-5,4.059724221672877e-8,0.0015467132993301472,-5.076823346637892e-5,4.0538094268894254e-8,0.0015471380038922773,-5.064252614673594e-5,4.042945683138028e-8,0.0015474916360774626,-5.048174585710053e-5,4.0295709244955134e-8,0.0015477657624747324,-5.0326348408581844e-5,4.016852598729084e-8,0.0015479715584376128,-5.02176988612463e-5,4.00795759607021e-8,0.001548138675163666,-5.018759931395581e-5,4.0052468864238434e-8,0.001548309019173918,-5.0249167170106635e-5,4.0095999848332944e-8,0.001548526363415651,-5.039173011559901e-5,4.020064552392213e-8,0.001548824072026234,-5.0581979693915296e-5,4.033985817256759e-8,0.0015492146318262102,-5.0772290610955474e-5,4.047669746431854e-8,0.0015496851936439822,-5.091443598787875e-5,4.057438892398452e-8,0.001550201601146154,-5.0973893683465014e-5,4.0607169310144533e-8,0.001550719547427848,-5.093895551994056e-5,4.0567056747315524e-8,0.0015511979549022272,-5.082132789363123e-5,4.0464060310906736e-8,0.001551609085796503,-5.064930767517722e-5,4.032070429909841e-8,0.001551942485882253,-5.045777032215602e-5,4.0164179972009266e-8,0.001552203365741154,-5.027932903282667e-5,4.0019527762343134e-8,0.0015524080338778475,-5.0138911795649996e-5,3.990557662144009e-8,0.0015525789206599471,-5.005169954767954e-5,3.983352487266917e-8,0.0015527405622942454,-5.0023207216840704e-5,3.980713258549693e-8,0.001552916795278977,-5.005024771803662e-5,3.982350168918181e-8,0.0015531287739189376,-5.012197934084325e-5,3.987384769919168e-8,0.0015533932025365111,-5.022080731770897e-5,3.99441559610026e-8,0.0015537202826231122,-5.03234457482546e-5,4.0016025565273536e-8,0.0015541112665716941,-5.0402810390084915e-5,4.0068239562396716e-8,0.0015545561079804125,-5.0431489448755314e-5,4.007959506236113e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json new file mode 100644 index 000000000..c6ac96168 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":15000,"numberOfSamples":1000,"samples":[0.001555032396790159,-5.038717964716439e-5,4.003321453737454e-8,0.001555507240340409,-5.025945257220019e-5,3.992178064606655e-8,0.0015559433318249748,-5.005568561411016e-5,3.975199831316558e-8,0.0015563086828940746,-4.9802949292686764e-5,3.9545822083813816e-8,0.001556587031841404,-4.9543375923704664e-5,3.9336583092513e-8,0.0015567845028372617,-4.93232976794034e-5,3.9160317297773175e-8,0.0015569291408115862,-4.9179757456819175e-5,3.904518941710335e-8,0.0015570631279621951,-4.912957061070448e-5,3.90031151041951e-8,0.0015572306984882043,-4.916483994647903e-5,3.902661169621281e-8,0.0015574660511056152,-4.9255840502179806e-5,3.9091477245714126e-8,0.0015577847760354089,-4.9359606772293576e-5,3.9163823082464017e-8,0.001558180685115808,-4.943135773630568e-5,3.920908834205859e-8,0.0015586283968716341,-4.943566203060656e-5,3.920059314584998e-8,0.0015590906701226305,-4.9354497209498185e-5,3.9125494924869697e-8,0.001559528261058972,-4.919020584318819e-5,3.8986728207848124e-8,0.0015599093591160292,-4.896289913685733e-5,3.880070214408021e-8,0.0015602159244718476,-4.870367300374791e-5,3.8591890031225615e-8,0.001560445583043622,-4.844627081761637e-5,3.838637217885279e-8,0.0015606095190522666,-4.821988699048854e-5,3.8206389463064e-8,0.001560728059333107,-4.80447105719932e-5,3.8067072967328046e-8,0.0015608258215469178,-4.7930366808124216e-5,3.797538689472998e-8,0.0015609276655558022,-4.787644642721989e-5,3.793059714039383e-8,0.0015610558505919753,-4.7874043041353836e-5,3.792543115973339e-8,0.0015612281647851558,-4.7907464781617856e-5,3.794734148986789e-8,0.0015614564996265033,-4.795579391508165e-5,3.797969902153523e-8,0.0015617453775785114,-4.7994480662788104e-5,3.8003106795686565e-8,0.001562090231917282,-4.799751763502489e-5,3.7997236526191586e-8,0.0015624757732016965,-4.7940913074933274e-5,3.7943666553683704e-8,0.0015628755385377238,-4.780797264952134e-5,3.783002608138753e-8,0.0015632543909054244,-4.759591895225801e-5,3.765503864336205e-8,0.0015635755508337965,-4.7321569326116703e-5,3.743272490582087e-8,0.0015638118247210714,-4.702212301492192e-5,3.719276938020053e-8,0.0015639572183669657,-4.674759666086147e-5,3.697442350326965e-8,0.0015640325431972783,-4.654548661616456e-5,3.681443353406246e-8,0.0015640803149591668,-4.644389332460276e-5,3.673389012822279e-8,0.0015641503210691414,-4.644165242496307e-5,3.673070606589074e-8,0.0015642829369577056,-4.651013021168292e-5,3.678135043023996e-8,0.0015644977495392904,-4.660446073429612e-5,3.685000664095114e-8,0.001564790749643378,-4.6677917336542896e-5,3.6900071652951433e-8,0.001565138707406003,-4.66938238368795e-5,3.690350083708066e-8,0.0015655073435626183,-4.663241657433939e-5,3.6845954665167155e-8,0.0015658602190323327,-4.649255514773499e-5,3.672776169544263e-8,0.0015661663607259592,-4.628936931980565e-5,3.656170224679889e-8,0.0015664055799049252,-4.6049225283354464e-5,3.636883604376693e-8,0.001566571002171141,-4.580336936715299e-5,3.6173502381504967e-8,0.0015666687673390187,-4.558160277952096e-5,3.599852488215996e-8,0.0015667154033415197,-4.5407215387777025e-5,3.586148463513818e-8,0.0015667338355941623,-4.529393320932333e-5,3.577253994149994e-8,0.0015667490993197454,-4.524500274399756e-5,3.573380667359368e-8,0.0015667846174289822,-4.5254024907903564e-5,3.57399848967389e-8,0.001566859497029681,-4.5306834496840176e-5,3.5779734964378544e-8,0.0015669868024443458,-4.5383715412729446e-5,3.583733887760147e-8,0.001567172455798627,-4.546158479647085e-5,3.5894430294282084e-8,0.0015674144103284765,-4.551618411695069e-5,3.593183701499408e-8,0.001567701899164982,-4.5524599621765035e-5,3.593172347162997e-8,0.0015680149455750063,-4.5468646452923546e-5,3.588034316011282e-8,0.001568325023881159,-4.533952995396979e-5,3.577163595791014e-8,0.001568598375261144,-4.514331996072684e-5,3.561129614715066e-8,0.0015688033307539359,-4.490516831986402e-5,3.5419775786897466e-8,0.0015689213635770478,-4.4668520678280764e-5,3.5231422956829793e-8,0.0015689580930293371,-4.448560774152507e-5,3.508694038347068e-8,0.001568947072838441,-4.439966029933874e-5,3.501951652065551e-8,0.0015689406813127415,-4.442653532989222e-5,3.5040594280255434e-8,0.0015689905208410501,-4.454694343553021e-5,3.5134005465375e-8,0.0015691279470960945,-4.471462114836585e-5,3.526264408522862e-8,0.001569355167197491,-4.4874982251366504e-5,3.5383351783517066e-8,0.0015696491590304815,-4.498328840192346e-5,3.5461324901144965e-8,0.0015699730086184231,-4.5014843868502684e-5,3.547806086334234e-8,0.0015702878466824224,-4.496644962533722e-5,3.5432227789964445e-8,0.0015705615045717492,-4.48522455988792e-5,3.5336015448358164e-8,0.0015707731361774711,-4.469737825179658e-5,3.520983386424041e-8,0.0015709146371371892,-4.453167337270511e-5,3.507720338549927e-8,0.0015709899450492496,-4.4384204168804375e-5,3.4960569188722246e-8,0.0015710129446352492,-4.427899769327988e-5,3.487815813513884e-8,0.0015710044338982897,-4.4232035758685976e-5,3.484187409746818e-8,0.0015709885901114629,-4.424966839076787e-5,3.48562113954969e-8,0.0015709893763831153,-4.4328433769242266e-5,3.491813422291662e-8,0.0015710273252120134,-4.4456174728882454e-5,3.501786728147512e-8,0.001571117095259444,-4.4614146603934006e-5,3.514044529398255e-8,0.0015712659471281585,-4.4779625550250765e-5,3.526772890807883e-8,0.0015714729990209998,-4.492865339998087e-5,3.5380643711257126e-8,0.0015717290886569444,-4.503882672267935e-5,3.5461540303863484e-8,0.0015720171486412,-4.509218250304847e-5,3.549662088853352e-8,0.0015723131710548195,-4.507838065681111e-5,3.547847663955526e-8,0.0015725883317389549,-4.499835421555663e-5,3.540880348366659e-8,0.001572813307826608,-4.486786800809496e-5,3.5300892636416496e-8,0.0015729655070056204,-4.47191603474519e-5,3.518058646081875e-8,0.0015730384980441499,-4.459776227937817e-5,3.5083578249073555e-8,0.0015730502214990328,-4.4551776967474605e-5,3.504702004926623e-8,0.0015730436787471955,-4.461436338745037e-5,3.5095992048822466e-8,0.0015730749295945277,-4.478695231412046e-5,3.5230609633398364e-8,0.00157319126570817,-4.5034672737442647e-5,3.542266299781257e-8,0.0015734115792861226,-4.529940702276995e-5,3.562602881073632e-8,0.0015737208148722149,-4.552319788898638e-5,3.5795178558746185e-8,0.0015740799139331147,-4.5667994072365434e-5,3.590075376760617e-8,0.0015744426094396393,-4.572297761098429e-5,3.593523410445762e-8,0.0015747694654922382,-4.570060260613509e-5,3.5909545233455296e-8,0.0015750350883362262,-4.56275210357777e-5,3.584556214181634e-8,0.0015752294134122743,-4.5535604842148e-5,3.576877953266378e-8,0.0015753556604648073,-4.545534529408837e-5,3.5703062165524755e-8,0.0015754271119554817,-4.541175214597163e-5,3.566756900441209e-8,0.0015754637850900197,-4.5422021566715475e-5,3.567516845886349e-8,0.0015754892419881964,-4.549435685857388e-5,3.5731726192643936e-8,0.0015755275323007985,-4.562767745693644e-5,3.5835969133508226e-8,0.0015756002822981585,-4.581213815904196e-5,3.597985887669808e-8,0.0015757240290649212,-4.603051129355547e-5,3.6149580268519345e-8,0.0015759080778055216,-4.626046736804536e-5,3.632726928230143e-8,0.0015761532032229398,-4.6477532670966515e-5,3.6493374497356665e-8,0.0015764513190264005,-4.66583682351069e-5,3.662937540080888e-8,0.0015767861221216862,-4.6784116146357104e-5,3.67205887315865e-8,0.0015771347357232419,-4.6843579857850895e-5,3.6758772560147956e-8,0.0015774703483009739,-4.683599304438294e-5,3.67442426941251e-8,0.0015777659552356682,-4.677317302149219e-5,3.66873186351272e-8,0.0015779995237324785,-4.668049190430199e-5,3.660873387655922e-8,0.0015781605555831091,-4.659528839149842e-5,3.6538079166891776e-8,0.0015782567852510353,-4.656091594072024e-5,3.650901070819981e-8,0.0015783179633283798,-4.6615418475760236e-5,3.655049543919046e-8,0.0015783922903835324,-4.677665068892878e-5,3.667544840847755e-8,0.0015785325756434202,-4.703036852583066e-5,3.687171431896692e-8,0.0015787756427616659,-4.733035159097787e-5,3.7102367094230025e-8,0.0015791259181678027,-4.761430923312568e-5,3.731827295238525e-8,0.0015795538411506713,-4.7828037828527396e-5,3.747709330858676e-8,0.0015800096969891477,-4.7943878769038486E-05,3.7557792145692596e-8,0.0015804431624417705,-4.796481847401571e-5,3.756375094216574e-8,0.0015808178057632656,-4.791635491291735e-5,3.7516101368887467e-8,0.0015811164141571583,-4.783405291768669e-5,3.744360223405161e-8,0.0015813392677104443,-4.775314048922322e-5,3.737423693485045e-8,0.0015814993203580124,-4.7702326404354844e-5,3.733035174588052e-8,0.0015816171643790661,-4.7701193814970105e-5,3.7326791516613286e-8,0.0015817169630395575,-4.775965776778595e-5,3.737071389079256e-8,0.001581823347515752,-4.787832470052812e-5,3.7462041637598934e-8,0.0015819588828547596,-4.8049258257063996e-5,3.7594106726625155e-8,0.0015821417963573898,-4.8257082895207296e-5,3.775446258471748e-8,0.0015823838479101892,-4.848060164321304e-5,3.792608585212836e-8,0.001582688504544025,-4.869520808633535e-5,3.8089269531459865e-8,0.0015830498625370153,-4.887615170356731e-5,3.822428825087552e-8,0.0015834527637300596,-4.9002351733972964e-5,3.8314560752223585e-8,0.0015838743628422021,-4.906026034512833e-5,3.834982706901485e-8,0.001584287221216587,-4.904715037019271e-5,3.832875105474419e-8,0.001584663741938823,-4.897310145628491e-5,3.826032241557493e-8,0.001584981463061841,-4.8861079857009655e-5,3.8163607031293117e-8,0.0015852285820703014,-4.874466991235223e-5,3.8065608345197424e-8,0.0015854088600154176,-4.8662962215500585e-5,3.7997004979177486e-8,0.0015855444217866606,-4.86522846509656e-5,3.798563784368472e-8,0.001585674261819128,-4.8735533803462465e-5,3.804836085608511e-8,0.001585846375312292,-4.891189807186035e-5,3.818334234181005e-8,0.00158610348310477,-4.9151982596995845e-5,3.836657757562266e-8,0.001586466654834368,-4.9403489989380824e-5,3.8556531405909456e-8,0.0015869251102463237,-4.960807810621859e-5,3.870740581132169e-8,0.0015874391429179613,-4.9722343633764594e-5,3.8785587350351096e-8,0.0015879553631793688,-4.973190214442801e-5,3.878064452942808e-8,0.001588425577199708,-4.9652024693980827e-5,3.870567071163837e-8,0.00158881977381429,-4.951725979120483e-5,3.8588846273972866e-8,0.0015891295065786543,-4.936775952074638e-5,3.84623889278333e-8,0.001589364066660281,-4.9238715531157035e-5,3.8354092314337146e-8,0.001589543909685928,-4.9154994199223596e-5,3.8283168581558065e-8,0.0015896945618050432,-4.9129902713118106e-5,3.825948659678869e-8,0.0015898422153512498,-4.916611627099987e-5,3.8284520145138256e-8,0.001590010859028341,-4.925727610695112e-5,3.8352726691160195e-8,0.0015902202966968217,-4.938958761833569e-5,3.845280876708773e-8,0.0015904844846205953,-4.954336749390981e-5,3.8568874325898195e-8,0.0015908099083882816,-4.969485381752708e-5,3.868182932013065e-8,0.0015911941068452644,-4.98187279964764e-5,3.8771413773902485e-8,0.0015916248545581027,-4.989160905264646e-5,3.881908380631811e-8,0.0015920807276100831,-4.9896318601345885e-5,3.881152013111638e-8,0.0015925336582621405,-4.982618528736371e-5,3.874409592893164e-8,0.0015929536328127007,-4.9688213379708714e-5,3.862330576383604e-8,0.0015933149629505758,-4.950379940089145e-5,3.846710078351864e-8,0.001593602808933612,-4.930610263244153e-5,3.830248200720968e-8,0.0015938182399501703,-4.913404445176729e-5,3.8160453318297506e-8,0.0015939802243672306,-4.902380951458289e-5,3.806916042959481e-8,0.0015941233988982489,-4.899946750049259e-5,3.8046581250505863e-8,0.0015942911880484664,-4.906498251129774e-5,3.80945375169188e-8,0.0015945249563040758,-4.920032285756388e-5,3.8196040630227036e-8,0.0015948515164234465,-4.9364207196608636e-5,3.8317796980507725e-8,0.001595273159867582,-4.950449066879408e-5,3.841854809931519e-8,0.0015957650230228916,-4.9573895929635576e-5,3.846143646287539e-8,0.0015962822947114133,-4.954513058246872e-5,3.842577890144347e-8,0.0015967748230214939,-4.941856956430488e-5,3.8312929742037596e-8,0.001597202494943064,-4.921934317902047e-5,3.814375061431865e-8,0.0015975448239908775,-4.898645979137916e-5,3.794978155712491e-8,0.0015978022649466863,-4.876005227964857e-5,3.7762998553756675e-8,0.0015979913135114392,-4.85719625681952e-5,3.76083609760703e-8,0.0015981373497028673,-4.84414879329937e-5,3.750059586381275e-8,0.0015982682896983585,-4.837523496803743e-5,3.744429677813117e-8,0.0015984102235238262,-4.8369073369492696e-5,3.743563223650375e-8,0.0015985848577516198,-4.8410619737028296e-5,3.746436079232389e-8,0.0015988080578801715,-4.848147621960483e-5,3.751556089859576e-8,0.0015990887787054714,-4.8559129023742496e-5,3.7571077107145096e-8,0.0015994279675657184,-4.861890144868653e-5,3.761106919377434e-8,0.0015998175105410416,-4.8636534469734454e-5,3.761614354464905e-8,0.0016002397772522405,-4.859177185400766e-5,3.757032802152641e-8,0.0016006686543139628,-4.84728413566226e-5,3.74647259539885e-8,0.0016010729910405593,-4.828097347843213e-5,3.7301095421887124e-8,0.0016014227983081818,-4.8033231546302496e-5,3.709395135898375e-8,0.0016016972164009232,-4.776158920159305e-5,3.686957478771082e-8,0.001601891799677878,-4.750708267512769e-5,3.6661070725469196e-8,0.0016020220967839574,-4.730984733590426e-5,3.65002268054441e-8,0.0016021214376728508,-4.7197895387483466e-5,3.640855159267248e-8,0.0016022329539292035,-4.7178441191331395e-5,3.6390568883612766e-8,0.001602398098868516,-4.723486700987873e-5,3.64317778525816e-8,0.0016026451775172069,-4.7330459524417435e-5,3.6502037536061675e-8,0.0016029812826023223,-4.741790311922242e-5,3.6563402100527594e-8,0.0016033900211863004,-4.7451924030049034e-5,3.658023478305435e-8,0.0016038359142873748,-4.7401493578198037e-5,3.65287527576269e-8,0.0016042743565764664,-4.725778830099e-5,3.6403069368047857e-8,0.0016046639296792753,-4.703526837810497e-5,3.621574128865795e-8,0.0016049768310006606,-4.676579911472799e-5,3.599284252644777e-8,0.0016052041001474093,-4.6488499312397777e-5,3.576575444073776e-8,0.0016053547788864799,-4.623936983449527e-5,3.556292473478258e-8,0.0016054506685802667,-4.604404725371659e-5,3.540424269592429e-8,0.00160551955904301,-4.591491456251917e-5,3.529894528530359e-8,0.0016055893304846428,-4.585176544402924e-5,3.5246319584402404e-8,0.0016056839738281931,-4.584435487657563e-5,3.523780378361235e-8,0.0016058214226180075,-4.58754099005351e-5,3.525934967930275e-8,0.0016060125662822487,-4.5923316964371105e-5,3.5293484731850514e-8,0.0016062607469574757,-4.5964330399595076e-5,3.5321033008763995e-8,0.0016065612721366269,-4.597465556251913e-5,3.5322825752794e-8,0.001606900939181552,-4.5932990607520925e-5,3.528185027009399e-8,0.0016072580949436541,-4.582396800827508e-5,3.518611857277115e-8,0.0016076041773001588,-4.564246758849356e-5,3.503214741997083e-8,0.001607907835484071,-4.539791130326102e-5,3.482829369055841e-8,0.001608142149154005,-4.511646354493401e-5,3.4596304332457856e-8,0.0016082937279128775,-4.483839603063741e-5,3.4368956580540236e-8,0.001608370164011681,-4.460905850485839e-5,3.418262319337986e-8,0.0016084013367679887,-4.4465215778220584e-5,3.4066244784300986e-8,0.0016084321421592992,-4.442209614898366e-5,3.4031040378216796e-8,0.0016085087032214472,-4.4467328910789975e-5,3.406590890538271e-8,0.001608663854204168,-4.4564751128790306e-5,3.414084287148784e-8,0.0016089078261996121,-4.466603533873435e-5,3.4216585652257157e-8,0.0016092268749752002,-4.472491235101269e-5,3.425621097733665e-8,0.0016095888815234746,-4.470896660568734e-5,3.4234524970492415e-8,0.00160995294459917,-4.46061700180591e-5,3.414304169545714e-8,0.0016102797685153603,-4.442554150736995e-5,3.39901449867369e-8,0.001610540291413511,-4.41928249660299e-5,3.379729090404697e-8,0.001610720877149768,-4.3942959524330366e-5,3.3592785051752095e-8,0.0016108243718107255,-4.3711535533740247e-5,3.340493987008991e-8,0.0016108673896750982,-4.352740556905542e-5,3.325631883018611e-8,0.0016108751528596623,-4.340803798367828e-5,3.31602500419108e-8,0.0016108756639389974,-4.3358117340029234e-5,3.31199083561361e-8,0.00161089471982018,-4.33708154841172e-5,3.312942713946964e-8,0.0016109525410755215,-4.34306101333567e-5,3.317612870807587e-8,0.0016110620470242626,-4.351655218140907e-5,3.3243045504261954e-8,0.001611228317562383,-4.360524372648092e-5,3.331122931252226e-8,0.0016114486396584151,-4.367330914275547e-5,3.336174083792286e-8,0.0016117127150576606,-4.3699607289291936e-5,3.33775293772246e-8,0.0016120029665654158,-4.366764384768521e-5,3.3345510827283086e-8,0.0016122953248352881,-4.35685848202546e-5,3.3259070099345036e-8,0.0016125613483437497,-4.340490324202378e-5,3.312093756709973e-8,0.0016127727551766623,-4.319382193216696e-5,3.294576076085041e-8,0.0016129088996316033,-4.296843215561775e-5,3.276074107332174e-8,0.0016129659137071207,-4.277350269527232e-5,3.260204841704383e-8,0.0016129634518711477,-4.2654123502679954e-5,3.250560511019986e-8,0.0016129434192342419,-4.263951160928507e-5,3.249413087936494e-8,0.0016129578689934336,-4.272950726670111e-5,3.25664702196115e-8,0.001613050232896208,-4.2892278302879625e-5,3.2696007974918103e-8,0.0016132395138366183,-4.307566567224347e-5,3.2840080832235315e-8,0.0016135153781361821,-4.3225967007183096e-5,3.295532521363271e-8,0.0016138447598283675,-4.330446141592195e-5,3.3011068605873004e-8,0.0016141845061787268,-4.329558915141256e-5,3.299579503566333e-8,0.0016144937858859182,-4.320654916003372e-5,3.29165093334752e-8,0.0016147426836319956,-4.3061418898431364e-5,3.2793617549553344e-8,0.0016149162538619413,-4.28932148940195e-5,3.2654235700933185e-8,0.0016150148382885333,-4.273622151749938e-5,3.252591778532962e-8,0.0016150517857130536,-4.261972946654225e-5,3.243173477682972e-8,0.001615049514803641,-4.256367933918242e-5,3.238701919898679e-8,0.0016150347633862986,-4.2576490174574447e-5,3.239787068664833e-8,0.0016150339039934956,-4.265505690214593e-5,3.24613058418649e-8,0.0016150690590622733,-4.278649690659109e-5,3.2566675877575025e-8,0.0016151554483356746,-4.2951022505443604e-5,3.269788817933618e-8,0.0016153001048231429,-4.312527285417708e-5,3.283598386574173e-8,0.0016155017602802555,-4.328548587995333e-5,3.2961656880308e-8,0.0016157514557302796,-4.3410193344149555e-5,3.305749480030836e-8,0.0016160335151886938,-4.348253336100209e-5,3.310998203842222e-8,0.0016163267962227231,-4.3492450229067064e-5,3.311139396130571e-8,0.001616606420595729,-4.343902077762299e-5,3.306167660919614e-8,0.001616846570836147,-4.3332918110579625e-5,3.297027424956425e-8,0.0016170251774682734,-4.319829401359851e-5,3.285736904569684e-8,0.0016171308087405997,-4.307222907662207e-5,3.2753160720529384e-8,0.0016171704476762414,-4.299915965162309e-5,3.2693234113441636e-8,0.0016171742841552047,-4.301865193973153e-5,3.2708769773927315e-8,0.0016171918923307148,-4.314894035091985e-5,3.281350053431754e-8,0.0016172768691222427,-4.337450691395369e-5,3.299396166424684e-8,0.0016174652144145727,-4.364756211844907e-5,3.321089173978478e-8,0.0016177597932134746,-4.390561146011057e-5,3.341354613711286e-8,0.0016181304852361284,-4.4095543629212986e-5,3.3559243265705895e-8,0.0016185284692897027,-4.4190547319258514e-5,3.362705585213057e-8,0.0016189045522376445,-4.4193243891010715e-5,3.362020601659291e-8,0.0016192223969067512,-4.412817824935237e-5,3.355967969498163e-8,0.0016194638193470891,-4.403063195720452e-5,3.34748138358053e-8,0.0016196280163832983,-4.393679585500097e-5,3.339511192107193e-8,0.0016197277267549035,-4.3877154423368346e-5,3.334489133236136e-8,0.0016197845593948158,-4.387287847418416e-5,3.334056960624522e-8,0.0016198245204375643,-4.3934319125600074e-5,3.3389732573910446e-8,0.0016198739737394417,-4.4060948688515964e-5,3.3491313790702704e-8,0.001619956137050907,-4.424248547766236e-5,3.3636593203828094e-8,0.0016200882954145463,-4.4460987523551896e-5,3.381084517949932e-8,0.0016202798937417601,-4.469366279624242e-5,3.399550450501883e-8,0.0016205316675254457,-4.4916122131234496e-5,3.417072218106146e-8,0.0016208358841783572,-4.51056635939364e-5,3.431804144775011e-8,0.0016211775123474187,-4.524417861154815e-5,3.442285758382958e-8,0.0016215360341788234,-4.532053562216261e-5,3.447647579529873e-8,0.0016218877589150979,-4.5332465127465866e-5,3.4477688314315185e-8,0.0016222086413283134,-4.528794941479019e-5,3.4433800071019065e-8,0.0016224777898770169,-4.520602795248432e-5,3.436102856785716e-8,0.0016226820080681198,-4.511649275684907e-5,3.428394416218811e-8,0.0016228212897336288,-4.505716598228851e-5,3.423303906504118e-8,0.0016229139005976808,-4.50670885186496e-5,3.423920259833186e-8,0.0016229978830992289,-4.51749217202737e-5,3.432456868826437e-8,0.0016231246866747196,-4.538503437297744e-5,3.449162408965321e-8,0.0016233428870291516,-4.566853319778398e-5,3.4716252957965794e-8,0.0016236772248806965,-4.596812991238768e-5,3.495178509204106e-8,0.0016241152647686152,-4.621869465816446e-5,3.514559949367053e-8,0.0016246116056889723,-4.637312377459764e-5,3.526003661180751e-8,0.0016251072872445914,-4.6418152194176277e-5,3.5285198490338464e-8,0.0016255516901675028,-4.637296697358738e-5,3.523771443245092e-8,0.0016259155653828902,-4.627592173555477e-5,3.5149685697300395e-8,0.0016261928281600965,-4.616943668607092e-5,3.5056106184870745e-8,0.0016263953747431522,-4.608946050777786e-5,3.4986134383754507e-8,0.00162654592076792,-4.606055522365073e-5,3.4959174040392114e-8,0.0016266717530924076,-4.6094961601108544e-5,3.498436583192719e-8,0.0016268002162611959,-4.619362578856872e-5,3.506170277704274e-8,0.0016269555762756986,-4.6347898809298577e-5,3.5183591772346576e-8,0.0016271567027249208,-4.654151467710764e-5,3.533649211716943e-8,0.0016274153179251607,-4.675286847043376e-5,3.550269075582101e-8,0.0016277348011426761,-4.695766887346226e-5,3.566236234788382e-8,0.0016281097039318963,-4.7132008983412574e-5,3.5796030279421156e-8,0.0016285262644494334,-4.7255678611228e-5,3.5887315314142226e-8,0.001628964073625187,-4.731526564371127e-5,3.5925567937765023E-08,0.0016293987695045343,-4.7306594472402196e-5,3.5907931482636357e-8,0.0016298055166128098,-4.723617482978707e-5,3.5840485560798704e-8,0.0016301629750232944,-4.7121376003895105e-5,3.573820180050115e-8,0.0016304574112304933,-4.698912835410786e-5,3.562359354313474e-8,0.001630686636381212,-4.687296006046646e-5,3.552402309108488e-8,0.001630863266571223,-4.6807921698255846e-5,3.546744809793738e-8,0.001631016074302961,-4.6822961021669483e-5,3.5476346222796364e-8,0.0016311873490471736,-4.6931285427303824e-5,3.556023149782128e-8,0.0016314241196807519,-4.712134705140385e-5,3.570874980570606e-8,0.0016317631244090534,-4.7353656267366736e-5,3.5889370924150126e-8,0.0016322143049490748,-4.756904084464057e-5,3.605411987293246e-8,0.0016327523237028758,-4.770869469055887e-5,3.615570802256036e-8,0.001633323721960312,-4.7737093003807625e-5,3.616600609540491e-8,0.0016338673630050457,-4.7654512699828896e-5,3.608614967055138e-8,0.0016343363161102794,-4.7492623882838964e-5,3.59428498486487e-8,0.0016347097760828822,-4.729839554612501e-5,3.577507367476015e-8,0.0016349924051370127,-4.7117130386448616e-5,3.5619987353530545e-8,0.0016352061343948639,-4.6981902350859326e-5,3.550426387925348e-8,0.0016353807083681227,-4.691028273741784e-5,3.544154910868567e-8,0.0016355464804455415,-4.690570628738172e-5,3.543383998937961e-8,0.001635730112170018,-4.696057989449839e-5,3.5474262687520425e-8,0.0016359523601496132,-4.705941012943231e-5,3.5549738432914185e-8,0.0016362269041772656,-4.718145036852111e-5,3.56431208201011e-8,0.0016365595879771274,-4.730304536267612e-5,3.5735016865504467e-8,0.0016369478987237219,-4.7400035126582016e-5,3.58056778292684e-8,0.0016373808483354118,-4.7450543227840547e-5,3.583728050603426e-8,0.0016378397017732427,-4.7438197284311285e-5,3.581663456998011e-8,0.0016383000265438497,-4.7355354305080354e-5,3.573790790644766e-8,0.001638735210162438,-4.720557229499285e-5,3.5604668453241686e-8,0.0016391211394910926,-4.700451726643738e-5,3.5430520082254106e-8,0.001639441306452008,-4.6778640180967995e-5,3.5237790208829276e-8,0.0016396912690668532,-4.6561377647454084e-5,3.5054142350092676e-8,0.0016398813658379573,-4.63872399230719e-5,3.490753406266736e-8,0.0016400368292994823,-4.628458200577974e-5,3.4820292858860436e-8,0.0016401946504560447,-4.6268117996810935e-5,3.480322538106792e-8,0.0016403967479677747,-4.6332728578918845e-5,3.485095674241419e-8,0.001640679685853359,-4.645083249127904e-5,3.494018708827335e-8,0.0016410627568417529,-4.657595311703952e-5,3.5032828146860476e-8,0.0016415385136823188,-4.665404102506928e-5,3.5085209016852697e-8,0.0016420712361589218,-4.6640593747802424e-5,3.506183028304087e-8,0.0016426066758982037,-4.651680204060536e-5,3.49483030632206e-8,0.0016430902029990438,-4.6296213477060036e-5,3.4756616314912035e-8,0.0016434846325752775,-4.601807762842053e-5,3.451956176891535e-8,0.0016437792010674768,-4.573164001443794e-5,3.4277753576294015e-8,0.0016439873944463735,-4.5480182565328244e-5,3.406648234300473e-8,0.0016441377649539473,-4.5291435015766347e-5,3.390791520498886e-8,0.0016442637177816871,-4.517553440841134e-5,3.38096166616314e-8,0.0016443960339398652,-4.512789702654878e-5,3.376713660815342e-8,0.0016445588953631549,-4.5133752929414504e-5,3.3767884966551584e-8,0.0016447684565497988,-4.517231429766106e-5,3.3794572068923304e-8,0.001645032669366525,-4.521994135279829e-5,3.382772789479797e-8,0.0016453514524502528,-4.5252519765481794e-5,3.3847558228796395e-8,0.0016457168505185967,-4.524759349498278e-5,3.38356608525806e-8,0.001646113327512554,-4.51867851078022e-5,3.3777059144320585e-8,0.0016465187233436285,-4.5058731090684236e-5,3.366270182651552e-8,0.0016469065595708819,-4.4862213010709696e-5,3.349209230451183e-8,0.0016472501485759548,-4.460855757214049e-5,3.327522050357837e-8,0.0016475282892311342,-4.43219688174928e-5,3.303267631530774e-8,0.001647731361928809,-4.40365769207798e-5,3.279298525555044e-8,0.0016478658173717641,-4.378990661504161e-5,3.2587010223876336e-8,0.001647955012278325,-4.361395560197095e-5,3.244050743190803e-8,0.0016480353368982224,-4.352634140384957e-5,3.236693816783387e-8,0.0016481481573200063,-4.352430208745986e-5,3.236282743263174e-8,0.0016483294908475749,-4.358362185466893e-5,3.240727442369534e-8,0.001648600066709863,-4.366323577305269e-5,3.2466074614676396e-8,0.0016489585077819739,-4.371486073861877e-5,3.249977289857885e-8,0.0016493799815096145,-4.369565905864213e-5,3.247396466644824e-8,0.0016498216574363398,-4.35805854427313e-5,3.236916312326058e-8,0.0016502342591044501,-4.337016148742985e-5,3.2186868815840264e-8,0.0016505762173780565,-4.309020706568123e-5,3.194909432152713e-8,0.0016508250968513124,-4.278317246005813e-5,3.1691092721698956e-8,0.0016509819009967624,-4.24946924788503e-5,3.1450271221881416e-8,0.0016510674183862332,-4.226105950962592e-5,3.125597438215787e-8,0.0016511135338679924,-4.210202576888828e-5,3.112374663814163e-8,0.0016511538874274358,-4.201993406387043e-5,3.105483497910188e-8,0.0016512170388640625,-4.200324771532353e-5,3.1039256218679945e-8,0.0016513230147448136,-4.2031673250908966e-5,3.106005739207479e-8,0.0016514824899899535,-4.2080862105879425e-5,3.109711887696447e-8,0.0016516973653265966,-4.212590433392133e-5,3.1129923067476226e-8,0.001651961729402234,-4.214373526750093e-5,3.113947244255304e-8,0.001652262709403183,-4.2115034434587586e-5,3.11098777670916e-8,0.001652581282236162,-4.20262355409554e-5,3.103010807540562e-8,0.001652893563089459,-4.1871968498026697e-5,3.089609413234407e-8,0.0016531733119630543,-4.165773999853627e-5,3.071294747399099e-8,0.001653396304072018,-4.1401950749318465e-5,3.0496512296258735e-8,0.0016535465337220673,-4.113559677284715e-5,3.027291157231968e-8,0.00165362283822673,-4.08978653952933e-5,3.007468972951524e-8,0.001653643051829214,-4.072709688518788e-5,2.993320892854408e-8,0.0016536425379715574,-4.064915069866908e-5,2.986905479463843e-8,0.0016536658656256423,-4.0667642322225216e-5,2.988415848613424e-8,0.0016537538623654171,-4.076077998128367e-5,2.995949305378407e-8,0.0016539310239152949,-4.088682206365838e-5,3.0059909699632935e-8,0.0016541982039326847,-4.099610396545309e-5,3.0144299811144e-8,0.0016545328263749025,-4.1044953793367646e-5,3.0177129842224954e-8,0.0016548957129889686,-4.100692229408898e-5,3.013755445295461e-8,0.0016552417765755723,-4.0878540058739154e-5,3.0023865014476645e-8,0.0016555313813681053,-4.0678744800547455e-5,2.985267628556814e-8,0.0016557394578348126,-4.0442706059349526e-5,2.965356616713717e-8,0.0016558602205119905,-4.0212091256584694e-5,2.9460936650144332e-8,0.0016559066064064827,-4.002467175107929e-5,2.9305507808049016e-8,0.0016559051411805651,-3.990618815504244e-5,2.9207810627581598e-8,0.0016558883208421219,-3.986641734804314e-5,2.9175190181454984e-8,0.0016558871094012825,-3.989970995789232e-5,2.920244204328383e-8,0.0016559255239323612,-3.9988717521732396e-5,2.9274958922300416e-8,0.0016560179934640134,-4.010939295998521e-5,2.9372803922459204e-8,0.0016561690600313398,-4.023567907279301e-5,2.947446435780696e-8,0.0016563744709726966,-4.0343077329543915e-5,2.9559704687070583e-8,0.0016566227473716701,-4.04110569171678e-5,2.9611550177314757e-8,0.0016568967011817656,-4.0424765170366424e-5,2.9617783814663727e-8,0.0016571748725286567,-4.03766005139679e-5,2.9572361572399208e-8,0.001657433277921752,-4.026798280415287e-5,2.9476932544257488e-8,0.0016576481341211992,-4.011122108290574e-5,2.9342315929308953e-8,0.0016578002161897344,-3.993068140079735e-5,2.918927620055278e-8,0.0016578808882250792,-3.97616016784514e-5,2.904730413787855e-8,0.0016578983842147038,-3.964455859766971e-5,2.894986463588264e-8,0.0016578810457861806,-3.961480375790006e-5,2.8925550308629004e-8,0.0016578735047228827,-3.968893422226867e-5,2.8987194852995764e-8,0.0016579242628156493,-3.985510074322592e-5,2.9124022121367424e-8,0.0016580686098759247,-4.007348282468502e-5,2.9302307407495906e-8,0.001658315212483153,-4.028875236110224e-5,2.9475907260284677e-8,0.0016586433615687947,-4.044883713349159e-5,2.9601907087753384e-8,0.0016590113970561915,-4.0520869931719907e-5,2.9653810852602028e-8,0.0016593709065407672,-4.049825768358674e-5,2.9627222749183985e-8,0.0016596801558158162,-4.039855087642855e-5,2.953777937619335e-8,0.0016599128451770951,-4.025546688761349e-5,2.9414208659192474e-8,0.001660061372670357,-4.010894002692455e-5,2.928985879812469e-8,0.0016601355508499426,-3.999598249842553e-5,2.9195098085642385e-8,0.0016601582578794414,-3.994386969418339e-5,2.9151836997324146e-8,0.0016601594601349523,-3.9966285990856224e-5,2.9170608546724392E-08,0.0016601699239930832,-4.006254573710791e-5,2.9250175101477995e-8,0.0016602158041532625,-4.021951416375853e-5,2.9379253301896273e-8,0.0016603149537395255,-4.041536412718664e-5,2.9539614735345927e-8,0.00166047527124585,-4.062408817363606e-5,2.970971399095024e-8,0.0016606948895783432,-4.081978853524619e-5,2.986812443718438e-8,0.0016609636296508186,-4.098007900947471e-5,2.9996308350286483e-8,0.0016612650174455234,-4.108841983012459e-5,3.0080601450579956e-8,0.0016615783991599132,-4.113565076063209e-5,3.01135932639863e-8,0.00166188105966781,-4.11211016170598e-5,3.009513534055636e-8,0.001662150531071203,-4.105352714493535e-5,3.0033097660775586e-8,0.0016623675379770072,-4.095183539624763e-5,2.994381510048298e-8,0.0016625201033940193,-4.0844962473662907e-5,2.98517361833591e-8,0.0016626087554811723,-4.0769446539057265e-5,2.9787188477707118e-8,0.0016626514160071732,-4.0762994359918156e-5,2.9780965991072815e-8,0.0016626848298044925,-4.0853432310140516e-5,2.9855291758414986e-8,0.0016627585180696237,-4.104557297078488e-5,3.001319945286181e-8,0.0016629196343020275,-4.1312810810254054e-5,3.023184378109478e-8,0.0016631936622173485,-4.1601319751516236e-5,3.046615302114082e-8,0.0016635717482644979,-4.1848343784879263e-5,3.0664058183648755e-8,0.0016640132555107746,-4.200576477773202e-5,3.0786057280139574e-8,0.0016644620386205267,-4.205590491481198e-5,3.0818301607812385e-8,0.001664866364125141,-4.201279974388258e-5,3.0773509768777413e-8,0.001665192705554029,-4.1912072651471524e-5,3.068227045198648e-8,0.0016654301308830564,-4.1797159168452974e-5,3.0581274453788686e-8,0.0016655875286445104,-4.170783384293948e-5,3.050359333944092e-8,0.001665687465604892,-4.167319984191924e-5,3.0472896827926416e-8,0.0016657594905155892,-4.170874776273719e-5,3.050124412626773e-8,0.0016658342301060726,-4.181625386895793e-5,3.058929521132896e-8,0.0016659386770511526,-4.1985505643195065e-5,3.0727965256502515e-8,0.0016660927790692734,-4.2197234556937535e-5,3.0900934221248055e-8,0.001666307394327278,-4.242676039351328e-5,3.108761361993264e-8,0.0016665836116936171,-4.2647885737481854e-5,3.1266263776837525e-8,0.0016669133750296294,-4.2836615240290816e-5,3.141699700450582e-8,0.0016672812040082632,-4.29742538784887e-5,3.1524353127941986e-8,0.001667666583854231,-4.3049585079543835e-5,3.157918783389978e-8,0.0016680466219054927,-4.306016694156729e-5,3.1579840829446867e-8,0.0016683988209936053,-4.3012919060955386e-5,3.153264421759085e-8,0.0016687039684606657,-4.2924075892586436e-5,3.145177637443578e-8,0.001668949248977301,-4.281847186208641e-5,3.135844372913255e-8,0.001669131786259909,-4.272775819299064e-5,3.127914542178871e-8,0.0016692623804481766,-4.268653070428464e-5,3.1242302733313314e-8,0.0016693680627836978,-4.272526972232355e-5,3.1272440060728026e-8,0.0016694908319522278,-4.286013130087455e-5,3.138195636848311e-8,0.0016696795079151228,-4.3082236687797025e-5,3.156257050561017e-8,0.0016699738397906113,-4.335263606913009e-5,3.178138863954782e-8,0.0016703860640257925,-4.3610062290433165e-5,3.1987399692878435e-8,0.0016708909850968417,-4.3792311883293744e-5,3.212916881254575e-8,0.0016714333005318656,-4.3861116917503015e-5,3.217546090751692e-8,0.0016719492822700806,-4.3815726814167675e-5,3.2126524444803504e-8,0.0016723897475633752,-4.368843070089595e-5,3.201025739742718e-8,0.0016727324810957033,-4.352796787840965e-5,3.1868119479992646e-8,0.0016729818078562674,-4.338203342372647e-5,3.174024705968066e-8,0.001673160510358554,-4.3286058936851166e-5,3.165596355869807e-8,0.0016733001997954202,-4.325918304672302e-5,3.1630534790235667e-8,0.0016734335563792723,-4.3305040518058526e-5,3.166611119385737e-8,0.0016735892269826305,-4.3414715646800075e-5,3.1754482304429493e-8,0.0016737888324904195,-4.357023755789901e-5,3.188016234879414e-8,0.0016740453537005702,-4.3748057320064645e-5,3.202330368510447e-8,0.0016743624861162748,-4.392241829557162e-5,3.216241408654458e-8,0.0016747348092937828,-4.406860454410632e-5,3.227695616684352e-8,0.0016751487805059524,-4.416603666815915e-5,3.234987839857888e-8,0.001675584637718124,-4.420100590072595e-5,3.236992864406305e-8,0.0016760191120139118,-4.4168658691226686e-5,3.23333885762874e-8,0.0016764286255676625,-4.407397693962139e-5,3.224493873197347e-8,0.0016767926831136699,-4.393169599546051e-5,3.211753662941352e-8,0.001677097237930815,-4.3765093105344423e-5,3.197123217472216e-8,0.00167733777658621,-4.360358105039846e-5,3.183091478114156e-8,0.001677521869398556,-4.347902774846859e-5,3.172303510741116e-8,0.0016776707408900074,-4.342049118287758e-5,3.167116295241453e-8,0.0016778187422698135,-4.3447130391136005e-5,3.1690241873688606e-8,0.0016780089503785252,-4.3560098509420256e-5,3.178016652122048e-8,0.0016782833720448765,-4.373614563117936e-5,3.192080369790514e-8,0.0016786683666438333,-4.3927655024510755e-5,3.207221484054373e-8,0.001679160369115784,-4.407367191046424e-5,3.2183808817329206e-8,0.0016797209875307913,-4.412114009758808e-5,3.221188471697183e-8,0.0016802880403294148,-4.404672142738793e-5,3.213771971384632e-8,0.001680798773740542,-4.386597338792192e-5,3.197519004817064e-8,0.0016812121713359505,-4.362439078443936e-5,3.176318558267004e-8,0.0016815186777889915,-4.337739128303645e-5,3.1548644038694827e-8,0.0016817358173011794,-4.317163234212843e-5,3.137068706839119e-8,0.0016818964774662018,-4.303518866881324e-5,3.125235326029229e-8,0.0016820373053456571,-4.2976515779093504e-5,3.1199916976096325e-8,0.0016821908517579908,-4.298835334932385e-5,3.120645643391533e-8,0.001682381643870257,-4.305295001771544e-5,3.125647495228362e-8,0.0016826248641123465,-4.314669659029766e-5,3.1329875743603594e-8,0.0016829262935964223,-4.3243765750394774e-5,3.1404959032322505e-8,0.0016832827993444842,-4.3319058823132525e-5,3.1460773886099394e-8,0.0016836831808576592,-4.335081474193989e-5,3.147921387142313e-8,0.0016841094761317773,-4.332309858073908e-5,3.144709006843145e-8,0.0016845389965708768,-4.322812581928537e-5,3.1358136502702837e-8,0.0016849472827916928,-4.30680097516396e-5,3.121454317459761e-8,0.001685311817324549,-4.28553785051464e-5,3.102747616737498e-8,0.0016856160259362443,-4.2612465496661675e-5,3.081620600067579e-8,0.0016858529647612876,-4.2368472572295754e-5,3.060568908899294e-8,0.0016860279929869306,-4.2155252212118004e-5,3.042272064814904e-8,0.0016861597397253318,-4.2001707138160697e-5,3.029110352696416e-8,0.001686278802546357,-4.192753075558542e-5,3.0226450956112963e-8,0.0016864236511896307,-4.1937096150845514e-5,3.023131644925384e-8,0.0016866333005143353,-4.20148809990313e-5,3.029172471873377e-8,0.0016869370383114897,-4.212468985170035e-5,3.0376837396555156e-8,0.0016873432300061099,-4.221528826700933e-5,3.0443795692792346e-8,0.0016878316433975797,-4.223370069387507e-5,3.044875659726567e-8,0.0016883549945588567,-4.214339067565662e-5,3.0361907947096335e-8,0.0016888524992501178,-4.193939125212146e-5,3.017996755366323e-8,0.0016892708942925403,-4.165129888299081e-5,2.992858118803242e-8,0.0016895823148465297,-4.1331399559831654e-5,2.9652240492607542e-8,0.0016897900659125485,-4.103474076847829e-5,2.9397395175287495e-8,0.0016899216625505006,-4.080203475990938e-5,2.919799465346154e-8,0.0016900157054978312,-4.0652031392961096e-5,2.906915313908238e-8,0.0016901099208097574,-4.058288462987776e-5,2.900853004866035e-8,0.0016902339270298944,-4.057817378667731e-5,2.900165126974593e-8,0.0016904065626526063,-4.061354355146046e-5,2.9027644312851774e-8,0.0016906360051758417,-4.0661950119559325e-5,2.9063648467584324e-8,0.0016909209995482196,-4.069723028481099e-5,2.9087710885649258e-8,0.0016912522654108416,-4.069653884596306e-5,2.9080721860103752e-8,0.0016916138646757722,-4.064230977992161e-5,2.9028017183053914e-8,0.0016919847467131485,-4.052416230559773e-5,2.8921020015667242e-8,0.0016923408945919195,-4.034078146507427e-5,2.8758904768726176e-8,0.0016926584456100585,-4.0101338254094135e-5,2.854984370404633e-8,0.0016929177886920088,-3.98256830559316e-5,2.8311126828899853e-8,0.001693108077881154,-3.954252987433632e-5,2.8067479641023334e-8,0.0016932310746483276,-3.928519728252996e-5,2.7847258747180767e-8,0.0016933029691601435,-3.908519792267514e-5,2.767686433700739e-8,0.0016933530634665743,-3.896487647791898e-5,2.7574483226122663e-8,0.0016934189419301243,-3.893091195901987e-5,2.7544749748504323e-8,0.0016935386906464923,-3.897054727601237e-5,2.7575867805514548e-8,0.001693741560057379,-3.905203356829756e-5,2.7640332995878002e-8,0.0016940391412425884,-3.9130122676386634e-5,2.7699808677760945e-8,0.0016944196388182435,-3.9156405028759944e-5,2.7713881316001143e-8,0.0016948479443695268,-3.909270277009998e-5,2.7651188701418565e-8,0.0016952732925359264,-3.892369137957591e-5,2.749979593321849e-8,0.0016956435737868081,-3.8663481150373246e-5,2.7272496371780773e-8,0.001695921508217519,-3.835205250275875e-5,2.7003629854952092e-8,0.0016960956761315402,-3.804202367397545e-5,2.67378143191e-8,0.0016961815319577094,-3.778160361537539e-5,2.6515529524935576e-8,0.001696213032473906,-3.7601416121365983e-5,2.6362069074866936e-8,0.0016962301457196613,-3.750973613700963e-5,2.628370233701135e-8,0.0016962680770975457,-3.749551816840239e-5,2.627045669394839e-8,0.0016963512376621233,-3.753538910232288e-5,2.63021853253086e-8,0.0016964917453452192,-3.7600818583413475e-5,2.635465438290942e-8,0.001696690651419292,-3.766350660714986e-5,2.6404007688425848e-8,0.001696940137771745,-3.769874102950349e-5,2.642947829630893e-8,0.0016972256658882062,-3.7687335396604675e-5,2.6414948818137022e-8,0.0016975277902204365,-3.761694740849289e-5,2.635007890531258e-8,0.001697823895555182,-3.7483365373189244e-5,2.6231474474216885e-8,0.0016980904064073249,-3.729186542931282e-5,2.6063916854335785e-8,0.0016983059629982868,-3.705818431813839e-5,2.5861193564983613e-8,0.00169845567523588,-3.6808209557159376e-5,2.5645733638452276e-8,0.0016985358748413822,-3.6575286342219624e-5,2.544614117888997e-8,0.0016985578725676185,-3.6394393189292205e-5,2.5292069524213555e-8,0.0016985486004877865,-3.629367901585675e-5,2.5206946956193076e-8,0.001698546470920179,-3.628561471787852e-5,2.5200532434859682e-8,0.0016985925376170278,-3.6361141746669543e-5,2.5264171502710526e-8,0.0016987192823167937,-3.648970911878939e-5,2.537113473313952e-8,0.0016989407603901555,-3.66260131869023e-5,2.548261022146134e-8,0.0016992475797464068,-3.672165020583402e-5,2.5557724392811732e-8,0.0016996084606618878,-3.673811638230782e-5,2.5564517650592807e-8,0.001699977956475142,-3.6657310285023185e-5,2.5488638588697726e-8,0.0017003082070326627,-3.648654916289649e-5,2.5337305501061796e-8,0.001700561508238771,-3.625653060246809e-5,2.5137301531646965e-8,0.0017007199892369825,-3.601259358681587e-5,2.492738326789755e-8,0.0017007892677775634,-3.580192599678626e-5,2.474739066190967e-8,0.0017007949978842718,-3.566104751616369e-5,2.462773297309177e-8,0.0017007740285271689,-3.560774970729352e-5,2.4582760104628268e-8,0.001700763881614479,-3.5639540723169225e-5,2.4609678123756305e-8,0.0017007942876682992,-3.5737747088271245e-5,2.4692199666377635e-8,0.0017008827935677405,-3.5874468764077714e-5,2.48064931342209e-8,0.0017010342865269056,-3.601946403066804e-5,2.4926953335125145e-8,0.0017012429683338664,-3.614526778038245e-5,2.503041713192252e-8,0.0017014952046849267,-3.623023427960677e-5,2.5098644185563178e-8,0.001701772238022168,-3.626002631665762e-5,2.5119562344499273e-8,0.0017020524196195597,-3.6228338899696296e-5,2.5087946189913077e-8,0.0017023131682198593,-3.613749747676565e-5,2.500601481098576e-8,0.0017025331952084945,-3.599911636755302e-5,2.488403054979358e-8,0.001702695545569224,-3.583443484893609e-5,2.4740519688495516e-8,0.001702791658995604,-3.567341761960704e-5,2.4601345097724025e-8,0.001702825905263925,-3.5551336305842663e-5,2.449660803475595e-8,0.0017028188818827854,-3.550180632355494e-5,2.4454604213756933e-8,0.001702806735149731,-3.5546798682885895e-5,2.4493348244526906e-8,0.0017028341827005904,-3.5686793861779424e-5,2.4612368548798255e-8,0.0017029417119942861,-3.589622192692521e-5,2.4789084250634145e-8,0.001703151464359933,-3.612826882154989e-5,2.4983140816697334e-8,0.0017034584180842351,-3.632857896050061e-5,2.514822835935455e-8,0.0017038313132765339,-3.645226816286234e-5,2.5246595649292e-8,0.0017042226379164888,-3.647699395454146e-5,2.5260079820686068e-8,0.0017045828447247262,-3.640761249596701e-5,2.5193854756660187e-8,0.0017048733046878682,-3.627237682470769e-5,2.5072903100127402e-8,0.0017050744960167964,-3.611354589471979e-5,2.4933747465570844e-8,0.0017051883610562926,-3.597597816658294e-5,2.4814589910546375e-8,0.0017052354342512147,-3.5896752180398834e-5,2.4746512664333185e-8,0.0017052482576193312,-3.589793749996182e-5,2.4747526264296278e-8,0.001705263072666433,-3.598363726072869e-5,2.482032549880074e-8,0.0017053119227668128,-3.614137236019604e-5,2.4953695706256513e-8,0.0017054169711461474,-3.6346798808851755e-5,2.5126630491637535e-8,0.001705587948875609,-3.656997064057401e-5,2.5313627491764613e-8,0.0017058225445119196,-3.678132058142517e-5,2.548965965479151e-8,0.0017061087821257628,-3.69561651974611e-5,2.563388881603951e-8,0.0017064282269366776,-3.70773600928232e-5,2.5731871018470053e-8,0.0017067591018042412,-3.713639521195745e-5,2.5776518819360373e-8,0.0017070789070781516,-3.71335783856623e-5,2.576833424327725e-8,0.001707366647808429,-3.7077896034809675e-5,2.5715344204894712e-8,0.0017076050669122245,-3.6986775316050295e-5,2.563286430776859e-8,0.0017077833482693745,-3.6885519284883346e-5,2.5542879446377526e-8,0.0017079005422884115,-3.6805662765103294e-5,2.547244983570222e-8,0.0017079692563718653,-3.678101653653675e-5,2.545019000338502e-8,0.0017080179220300188,-3.684031594380135e-5,2.549999137370553e-8,0.0017080887479602191,-3.699691368462634e-5,2.5632392147724558e-8,0.001708228641281455,-3.723898589582162e-5,2.583648649016691e-8,0.0017084735851781347,-3.752657719115359e-5,2.607763848747086e-8,0.0017088326289339622,-3.7800822890985845e-5,2.6305464895935834e-8,0.0017092809717665692,-3.800389880699946e-5,2.6470864658603684e-8,0.001709767617820864,-3.810010719756817e-5,2.6543979991628234e-8,0.0017102337850382358,-3.8086965178193554e-5,2.6523588534275293e-8,0.0017106319934249428,-3.799214504651016e-5,2.6434316445958196e-8,0.0017109375331463164,-3.786074079930412e-5,2.6315481437475767e-8,0.0017111503518974585,-3.774050858751181e-5,2.6208213356204093e-8,0.0017112901426587356,-3.767043065840216e-5,2.6145574168089167e-8,0.001711388473927356,-3.767435097338324e-5,2.6147233879245078e-8,0.0017114807478860903,-3.7759148181293965e-5,2.6218181852708225e-8,0.0017115993915441882,-3.791616629237784e-5,2.6350243451075947e-8,0.0017117688340202747,-3.812478479964005e-5,2.6525321161408846e-8,0.0017120025462314225,-3.8357269218783055e-5,2.671957407701288e-8,0.0017123022368902155,-3.858401705662783e-5,2.690781030939024e-8,0.0017126589667248331,-3.8778319536625255e-5,2.706742096037333e-8,0.0017130556713426438,-3.892000575518932e-5,2.718139609955358e-8,0.0017134704463890348,-3.8997637220543705e-5,2.72401837338603e-8,0.0017138799079658143,-3.900926090925543e-5,2.7242381927571813e-8,0.0017142621560916798,-3.896209930041389e-5,2.719452965369347e-8,0.0017145992769997747,-3.887164408049795e-5,2.7110327165076998e-8,0.0017148795732618073,-3.876038090260755e-5,2.7009443934541433e-8,0.0017150997739135154,-3.8656079592503165e-5,2.691587804537622e-8,0.0017152674011576832,-3.858919935674702e-5,2.6855564023675893e-8,0.001715402930080424,-3.858850645778573e-5,2.68525620088811e-8,0.0017155403030105689,-3.867411814540851e-5,2.6923223505940072e-8,0.001715723354598753,-3.884849496986257e-5,2.706875788258036e-8,0.0017159957908326042,-3.9088518326831626e-5,2.7268754434345864e-8,0.0017163851403779347,-3.9344697300168935e-5,2.748066663980295e-8,0.001716886993958065,-3.955318428218216e-5,2.7650053898035193e-8,0.0017174602847125158,-3.965909042471542e-5,2.773040269966326e-8,0.001718040134972025,-3.963938085916244e-5,2.770265841257851e-8,0.0017185625897166842,-3.9511228867599055e-5,2.758236823583223e-8,0.0017189868062355465,-3.932167724591736e-5,2.7410713552494807e-8,0.001719303790073166,-3.912724285345024e-5,2.7236765021706585e-8,0.0017195315916373054,-3.897569321704473e-5,2.710159348901865e-8,0.0017197039490144403,-3.889639604552238e-5,2.7029929542711243e-8,0.001719859026622647,-3.889874932274322e-5,2.7028998797406246e-8,0.0017200313178398767,-3.897534491821806e-5,2.7091549749431207e-8,0.0017202469671751624,-3.910684938799904e-5,2.7200319928931065e-8,0.001720521602018453,-3.926695176135516e-5,2.7332412797781222e-8,0.001720859794259045,-3.942689817955544e-5,2.7463158757262513e-8,0.001721255728863236,-3.955955466122989e-5,2.756947544016638e-8,0.0017216948873827532,-3.9642868900642176e-5,2.7632707506931933e-8,0.001722156569161592,-3.966254350579579e-5,2.764085344336467e-8,0.0017226170439005363,-3.9613697538888915e-5,2.7590003469533287e-8,0.001723052976870324,-3.9501301872358064e-5,2.7484764624405265e-8,0.0017234446600947672,-3.933941901930363e-5,2.733763268972299e-8,0.001723778754377761,-3.914951517199835e-5,2.7167486552635708e-8,0.0017240504576373702,-3.8958063040786535e-5,2.6997386666773607e-8,0.0017242650711087881,-3.8793531002493264e-5,2.6851810256787167e-8,0.0017244389431611393,-3.868270733259092e-5,2.675337383241879e-8,0.0017245995113033862,-3.864602832841346e-5,2.671885005626151e-8,0.0017247834536315045,-3.8691681327300336e-5,2.6754311849929e-8,0.0017250313802367769,-3.880929377612953e-5,2.6850034141866425e-8,0.001725377842565471,-3.896581169015178e-5,2.697723630726428e-8,0.0017258375470063556,-3.910800396460535e-5,2.7090318371162557e-8,0.0017263930836693708,-3.917572346874251e-5,2.7138107085967308e-8,0.0017269933872087041,-3.912436180795919e-5,2.7082925689746156e-8,0.0017275689865215494,-3.8945638522437385e-5,2.691835379492017e-8,0.0017280585048235183,-3.86727214245852e-5,2.6673635556659343e-8,0.001728431073422244,-3.836534884152783e-5,2.6400818438587404e-8,0.0017286923868734853,-3.808504387510162e-5,2.61532106623058e-8,0.0017288748816655678,-3.787530232705404e-5,2.5968120288942417e-8,0.0017290217154868146,-3.7754199534558863E-05,2.5860493154658515e-8,0.0017291734675064128,-3.771726995413944e-5,2.582562501534354e-8,0.0017293607820238672,-3.7744848247661723E-05,2.584579636728525e-8,0.001729602000315515,-3.780948874960963e-5,2.5896883802857644e-8,0.001729903599395464,-3.788165973355425e-5,2.595331727889163e-8,0.0017302617181777903,-3.7933690493989186e-5,2.5991389794231897e-8,0.0017306640141175572,-3.794259510943676e-5,2.5991547940454676e-8,0.001731091755867424,-3.789224556048095e-5,2.594015958103042e-8,0.001731522255539111,-3.7775051882364856e-5,2.5830937167328825e-8,0.0017319317604426708,-3.7593037290670407e-5,2.5665905426726304e-8,0.0017322987686243735,-3.735795299004614e-5,2.545555029736884e-8,0.0017326074067128012,-3.709011144855787e-5,2.5217806685687195e-8,0.0017328503457029842,-3.6815919057722917e-5,2.4975834819967113e-8,0.001733030801250284,-3.6564297546596944e-5,2.4754770932095832e-8,0.001733163245050693,-3.636230112525841e-5,2.4577788776660804e-8,0.0017332725692263016,-3.6230386059595666e-5,2.446195888578073e-8,0.001733391561335409,-3.6177777041230204e-5,2.4414354594100277e-8,0.0017335564073636222,-3.619837183913728e-5,2.4428778625296542e-8,0.001733799814146551,-3.626816379255833e-5,2.4483858210644657e-8,0.0017341419144584454,-3.634606741287226e-5,2.454398795466479e-8,0.0017345806750870597,-3.638048933612316e-5,2.4565021790145197e-8,0.0017350858869240476,-3.632295309658755e-5,2.4505843202086038e-8,0.0017356024788424108,-3.614624025006184e-5,2.4343764994910206e-8,0.0017360663216553012,-3.585874629062718e-5,2.408675934782713e-8,0.0017364275421104804,-3.550486845228883e-5,2.377374351553505e-8,0.001736668888599713,-3.514850340937432e-5,2.34602712311622e-8,0.001736808661045457,-3.4848567953173e-5,2.3197265336036242e-8,0.001736888544939611,-3.464037865199596e-5,2.301485336433552e-8,0.0017369558513605297,-3.4530440416808935e-5,2.29179595201377e-8,0.001737049707092597,-3.4502354376221574e-5,2.289165624475731e-8,0.0017371947516276504,-3.4526982344086895e-5,2.2910199010581445e-8,0.0017374008073448293,-3.4571512886728264e-5,2.2944984052831473e-8,0.001737665467048844,-3.460545560147143e-5,2.2969695297045837e-8,0.001737977290689824,-3.460390307791772e-5,2.296299541437974e-8,0.0017383186141002541,-3.454918032334136e-5,2.290982677063709e-8,0.0017386679295325906,-3.4431804356590167e-5,2.2802188582601254e-8,0.0017390021734525031,-3.42511906097866e-5,2.2639776047910924e-8,0.0017392992945751758,-3.40160914722638e-5,2.243042545250072e-8,0.0017395413117880889,-3.374434814309473e-5,2.2189933916874547e-8,0.0017397176600680104,-3.346135952529788e-5,2.1940688488459516e-8,0.0017398281621878566,-3.319689225605055e-5,2.170877243418754e-8,0.0017398847366847004,-3.2980307378858836e-5,2.1519663391740078e-8,0.00173991100205662,-3.283480466826047e-5,2.1393128136041958e-8,0.0017399392899709579,-3.27718231350248e-5,2.1338379242105724e-8,0.00174000521831946,-3.278698042141254e-5,2.1350723083240454e-8,0.001740140572588363,-3.285870325852261e-5,2.1410652793135758e-8,0.0017403655886877377,-3.295034303669861e-5,2.1485963701877946e-8,0.0017406820927880144,-3.301629939579607e-5,2.153721791335664e-8,0.0017410695269251995,-3.301209684177935e-5,2.152643905078453e-8,0.001741486310794703,-3.290702867540473e-5,2.1427864745405244e-8,0.0017418784545159788,-3.269589869418132e-5,2.1237862433750336e-8,0.0017421948525763043,-3.2404476839655194e-5,2.097945465702013e-8,0.001742404370709457,-3.208389090653782e-5,2.069734831489266e-8,0.001742506671572139,-3.179415040864402e-5,2.0443603476147352e-8,0.0017425307722198473,-3.158389373995162e-5,2.0260073766504838e-8,0.0017425223974869423,-3.147622681133658e-5,2.0166207874633754e-8,0.0017425275508909542,-3.146622368211866e-5,2.0157058325399752e-8,0.0017425801811898768,-3.152827253738807e-5,2.020986020759265e-8,0.0017426972860252556,-3.162719052466486e-5,2.02938080720638e-8,0.001742880085460341,-3.172780363660379e-5,2.0378372619537326e-8,0.001743118076178938,-3.180084546028723e-5,2.0438317988914532e-8,0.0017433934077427334,-3.1825558838409014e-5,2.045583270732787e-8,0.0017436844082488409,-3.179033969714021e-5,2.0421013873564265e-8,0.001743968178512343,-3.169263001235832e-5,2.0331783624667846e-8,0.0017442227209409098,-3.153871728518193e-5,2.0193782525411485e-8,0.0017444291701622036,-3.134350069999404e-5,2.002022746940685e-8,0.0017445744879534223,-3.112978763186553e-5,1.9831294365844262e-8,0.0017446545474839863,-3.092639446856581e-5,1.9652370870985962e-8,0.0017446769299296102,-3.0764373350770444e-5,1.9510621046903156e-8,0.0017446621867443558,-3.067120727891532e-5,1.9429795770389297e-8,0.001744642159515886,-3.066382603124781e-5,1.9424111620866493e-8,0.0017446545782597647,-3.074243219545489e-5,1.9492972810802038e-8,0.0017447345609175441,-3.088764647827402e-5,1.961870511808151e-8,0.0017449051754598907,-3.106281392238331e-5,1.9768826171514667e-8,0.0017451700230479688,-3.122163105108318e-5,1.9902887093021913e-8,0.001745510408947374,-3.1319374667683715e-5,1.9982307573413395e-8,0.001745888357283682,-3.1324766347923475e-5,1.998060209584599e-8,0.0017462551360621196,-3.122919694479231e-5,1.989118907219179e-8,0.0017465634988662125,-3.105046157655002e-5,1.9730384470556232e-8,0.001746780545164631,-3.0829192817083005e-5,1.9534083265630877e-8,0.0017468971763283654,-3.06181089004315e-5,1.9348284579479396e-8,0.0017469304559974707,-3.0466979567041213e-5,1.921600927524104e-8,0.001746917542182514,-3.0408580265584186e-5,1.916519343229281e-8,0.001746903536584843,-3.0450937289348743e-5,1.9202135362128732e-8,0.0017469283478326418,-3.057824727716383e-5,1.931250208156185e-8,0.0017470175401144699,-3.075870969388561e-5,1.9468283092315117e-8,0.0017471793662891689,-3.095489208974001e-5,1.9636835355944387e-8,0.00174740696584924,-3.1132521919019314e-5,1.978845734405289e-8,0.0017476831047323403,-3.126577909856488e-5,1.9900875698021727e-8,0.0017479851225330183,-3.1339285687671686e-5,1.9960887050540934e-8,0.0017482888771933986,-3.134799753916344e-5,1.9964247391127438e-8,0.001748571500534339,-3.1296247023240655e-5,1.9914888607216414e-8,0.0017488134063673208,-3.1196725784627565e-5,1.9824099003596076e-8,0.0017490001909731922,-3.106955308858083e-5,1.970973106837139e-8,0.0017491248720657058,-3.0941022082626086e-5,1.9595042768266226e-8,0.0017491904664698418,-3.084128927975832e-5,1.9506546090950694e-8,0.0017492122725144203,-3.080019758367981e-5,1.9470218613974216e-8,0.0017492184473760612,-3.084086291599031e-5,1.950583763271849e-8,0.0017492470171063378,-3.097194995726486e-5,1.9620297100766168e-8,0.0017493381646387358,-3.1181363894115793e-5,1.980227981843363e-8,0.0017495228601829887,-3.143510381205071e-5,2.0021485851797534e-8,0.0017498116793050868,-3.168386290175472e-5,2.023458425088819e-8,0.0017501889553554505,-3.18764773563137e-5,2.039704390946832e-8,0.001750615655745262,-3.197543249573554e-5,2.0476649055390935e-8,0.0017510402683068693,-3.1968199999134966e-5,2.0463276536587624e-8,0.0017514133531797574,-3.187031880307763e-5,2.037138563020928e-8,0.0017517005273633118,-3.1719998107685436e-5,2.0235063634656074e-8,0.001751890219662361,-3.156694813316782e-5,2.009806183335921e-8,0.0017519948081852045,-3.1459214757831945e-5,2.0002203745109712e-8,0.0017520456413406555,-3.14316280501743e-5,1.99773642676767e-8,0.001752083843670919,-3.149863525213701e-5,2.0035412948970665e-8,0.0017521497040240116,-3.1652918673865666e-5,2.0169255510395947e-8,0.0017522736069611874,-3.186951297035694e-5,2.0356620338662876e-8,0.0017524707370152176,-3.211356229077129e-5,2.056690037038114e-8,0.0017527403103441905,-3.234896981308914e-5,2.076865466262888e-8,0.0017530684808992239,-3.254545176213017e-5,2.0935651692450514e-8,0.0017534331318351181,-3.2682714956734884e-5,2.1050408448247448e-8,0.0017538088119477358,-3.275180452227584e-5,2.110531752462392e-8,0.0017541707526388716,-3.275447431229004e-5,2.1102114748483773e-8,0.0017544976901405082,-3.270162706579011e-5,2.105056824283674e-8,0.0017547738024637697,-3.2611589026689284e-5,2.096699993899653e-8,0.0017549902985381242,-3.250844445279376e-5,2.0872790992964694e-8,0.001755147084288628,-3.242014951493518e-5,2.0792620166438958e-8,0.001755254570490484,-3.2375793594230804e-5,2.0751927960372814e-8,0.001755335063281145,-3.2401220502996406e-5,2.0772996896363735e-8,0.0017554223357314845,-3.251259859283147e-5,2.0869356621329078e-8,0.0017555573977173214,-3.2708863724273736e-5,2.1039332104000612e-8,0.0017557790984082053,-3.29660727723672e-5,2.126132814313656e-8,0.0017561108323753565,-3.3238262436040336e-5,2.1494763264115556e-8,0.0017565485849542516,-3.346811995275699e-5,2.1689479904005575e-8,0.0017570576145160576,-3.360552772869162e-5,2.1801953478252693e-8,0.001757581785070488,-3.362585143779291e-5,2.1811245999041253e-8,0.0017580620722044517,-3.353851148587489e-5,2.1726427797049774e-8,0.001758455202278241,-3.3382035778471196e-5,2.158208310470156e-8,0.0017587444079113072,-3.320959575010596e-5,2.1425399176948597e-8,0.0017589399770165945,-3.307263661221911e-5,2.130160656072588e-8,0.0017590722808459125,-3.3008502295315075e-5,2.1243072677899854e-8,0.001759181556547813,-3.3034286998855964e-5,2.1264051244620618e-8,0.0017593078653479616,-3.314644102862432e-5,2.1360602034657684e-8,0.0017594831921096522,-3.332452486865661e-5,2.1514143545573805e-8,0.0017597265437465275,-3.353738875474003e-5,2.1697021326259336e-8,0.001760042245970357,-3.3750244753001815e-5,2.1878713640531822e-8,0.001760421146334321,-3.393124357669487e-5,2.2031497920959415e-8,0.0017608439638752132,-3.405644801825657e-5,2.2134681640893213e-8,0.0017612857471203435,-3.411264048046515e-5,2.2176972713998292e-8,0.0017617204091223166,-3.409797973084421e-5,2.2157031793999206e-8,0.0017621245438929386,-3.402096746414191e-5,2.208259287114386e-8,0.0017624801775086999,-3.3898450706873454e-5,2.1968740632231774e-8,0.0017627765982876126,-3.3753300304850276e-5,2.183585863215288e-8,0.001763011621842634,-3.3612016549370004e-5,2.1707446371806972e-8,0.0017631925713161728,-3.350214912888116e-5,2.1607729651469524e-8,0.0017633370417948848,-3.344913871513708e-5,2.1558783250075647e-8,0.0017634730174059953,-3.347197967528787e-5,2.1576714714329268e-8,0.0017636371116576798,-3.357742597786236e-5,2.1666704084487572e-8,0.0017638691979690627,-3.3753723774377576e-5,2.181772916999189e-8,0.0017642023031790117,-3.396680513750332e-5,2.1999445627985694e-8,0.0017646491667109299,-3.4163476660183754e-5,2.2165086343053056e-8,0.0017651911849654452,-3.428501454789286e-5,2.226334653764835e-8,0.001765778160698935,-3.428858702670496e-5,2.2257091907866984e-8,0.0017663432093342334,-3.416606996623403e-5,2.213983656780172e-8,0.0017668269543614896,-3.3948415208319496e-5,2.193955489711035e-8,0.001767197842766506,-3.369259112538415e-5,2.17070724834961e-8,0.0017674586193811824,-3.34596154530708e-5,2.1496498412280247e-8,0.001767639060592299,-3.329574652596208e-5,2.1348468166328244e-8,0.0017677821871205088,-3.3223440312985864e-5,2.1282180173486558e-8,0.0017679311822968995,-3.324154570836546e-5,2.129578103953367e-8,0.001768120512436396,-3.333086353608994e-5,2.1371561635770116e-8,0.0017683715270797181,-3.346142626072527e-5,2.148260408851196e-8,0.0017686914318105862,-3.3599409128902524e-5,2.1598953117881766e-8,0.0017690744739801523,-3.371291615094851e-5,2.1692652330809286e-8,0.0017695045695388376,-3.3776430454713476e-5,2.1741529840179073e-8,0.0017699588242402324,-3.3773791444695706e-5,2.1731694812881347e-8,0.0017704114732510778,-3.369964876976124e-5,2.1658752122008647e-8,0.0017708378094016797,-3.355943690940463e-5,2.152778106353521e-8,0.0017712176390383754,-3.336799684118138e-5,2.1352151053456795e-8,0.0017715378651225137,-3.314720089247531e-5,2.1151437607701027e-8,0.0017717941126926234,-3.2923077927578334e-5,2.0948840418387312e-8,0.0017719915599731899,-3.272273093629134e-5,2.0768364307715262e-8,0.0017721450953806894,-3.257108279253322e-5,2.063183815712094e-8,0.001772278789586462,-3.248736044869667e-5,2.0555760321616602e-8,0.0017724243969323124,-3.2481099228891417e-5,2.0547838756955484e-8,0.0017726180377305497,-3.2547672204280884e-5,2.06032360891902e-8,0.001772893902096436,-3.26643881516983e-5,2.070137445010743e-8,0.0017732745145420026,-3.278970120097843e-5,2.0805422495871913e-8,0.0017737592672930375,-3.286910117515717e-5,2.0867510935645095e-8,0.0017743165104114895,-3.285007607212869e-5,2.0841794381781585e-8,0.0017748868641271837,-3.27030730663727e-5,2.0702786663879134e-8,0.0017754014530360297,-3.2437768348831866e-5,2.0459662686927267e-8,0.0017758080743716612,-3.2102608481630945e-5,2.015584789108212e-8,0.0017760903595036206,-3.17656634260758e-5,1.985200104905266e-8,0.0017762693117928238,-3.1488255206219554e-5,1.9602496536206447e-8,0.0017763894591366236,-3.13062590108772e-5,1.9438747273234566e-8,0.001776500414190258,-3.12255836885439e-5,1.9365283650061506e-8,0.0017766430268873303,-3.1228419406428315e-5,1.9365541425495753e-8,0.0017768429247380117,-3.128342719222774e-5,1.9411160162745227e-8,0.0017771097947912773,-3.1355028823638904e-5,1.9470365609482324e-8,0.0017774396800211817,-3.141000926638304e-5,1.9513809181670135e-8,0.0017778182926467716,-3.142162035464175e-5,1.951808140830944e-8,0.0017782244717445747,-3.137198226709649e-5,1.946769186203101e-8,0.0017786336024299082,-3.12533185341731e-5,1.9356066032986675e-8,0.0017790209705546684,-3.1068226775794e-5,1.9185763398043137e-8,0.0017793650121143564,-3.08290205222032e-5,1.8967926769402895e-8,0.001779650296646995,-3.055604937514018e-5,1.8720829744334336e-8,0.0017798698743530228,-3.0274995636721267e-5,1.846747256260845e-8,0.001780026632235612,-3.001344158238894e-5,1.8232467517967285e-8,0.0017801335374979842,-2.9797089846618077e-5,1.8038579085288705e-8,0.0017802127450977066,-2.964590951538579e-5,1.7903218620709243e-8,0.0017802935187865058,-2.9570467972433672e-5,1.783518762572123e-8,0.0017804088777299578,-2.9568714404354944e-5,1.7831942719272197e-8,0.0017805907080136712,-2.9623577448738986e-5,1.7877681205500904e-8,0.0017808630276179797,-2.97023326731302e-5,1.7943009994474517e-8,0.0017812337934054229,-2.97595557883807e-5,1.7987695659313328e-8,0.0017816872967592035,-2.9745687070046982e-5,1.7968220015004007e-8,0.0017821813976015835,-2.962172070135213e-5,1.7850629717166458e-8,0.0017826548299887984,-2.9376324177287026e-5,1.762553130680372e-8,0.0017830461959892749,-2.903634032102028e-5,1.731731488754778e-8,0.0017833176117902473,-2.866124927995671e-5,1.6979208783705445e-8,0.001783469533852475,-2.832122375637814e-5,1.6673724822837606e-8,0.0017835376035968266,-2.80706105762117e-5,1.6448993998207882e-8,0.0017835749164607615,-2.793168172891396e-5,1.6324306949224888e-8,0.0017836317390693452,-2.7894493168831586e-5,1.6290136262871556e-8,0.0017837425116183111,-2.7927737072698468e-5,1.6318029727125984e-8,0.0017839222251040216,-2.7991952248573566e-5,1.6372552649405453e-8,0.0017841690180765415,-2.804960543379875e-5,1.6420305148628225e-8,0.0017844690921453375,-2.8070762770376914e-5,1.6434881896134044e-8,0.001784801494145308,-2.803540319002629e-5,1.6398785045025665e-8,0.0017851419554334824,-2.7933929717305372e-5,1.6303760303012625e-8,0.0017854659718042635,-2.7766907604290468e-5,1.6150522430904983e-8,0.0017857515136427459,-2.7544366750350456e-5,1.5948164497142894e-8,0.0017859816002243757,-2.7284609584283965e-5,1.571315251966609e-8,0.0017861467536977667,-2.7012260273114013e-5,1.5467614316026404e-8,0.0017862470230057806,-2.6755286369400636e-5,1.5236648496569402e-8,0.0017862930134701384,-2.654104265296623e-5,1.504470406978934e-8,0.001786305424195102,-2.6391773125555355e-5,1.491146539228525e-8,0.0017863128449208082,-2.6320220335777346e-5,1.4847885035371189e-8,0.0017863478278571186,-2.632612309632168e-5,1.4853112441925018e-8,0.0017864415524204687,-2.639440009895842e-5,1.491303463720827e-8,0.0017866176433893105,-2.649564870787032e-5,1.500094022968379e-8,0.0017868858723667914,-2.6589505322540724e-5,1.5080702406757717e-8,0.0017872368982414784,-2.66314436018206e-5,1.5112903973863852e-8,0.0017876399981771522,-2.6583121415397484e-5,1.5063969741293373e-8,0.0017880463839678022,-2.6424855833963814e-5,1.4917086903880453e-8,0.0017884001103203367,-2.61662566626825e-5,1.4681479769128718e-8,0.0017886554421320897,-2.5848825556468653e-5,1.439459563665528e-8,0.0017887942451537537,-2.5535601758596886e-5,1.4112816495281188e-8,0.0017888338091817063,-2.5289736988679483e-5,1.3892330893168733e-8,0.0017888195185604239,-2.515213106178181e-5,1.3769205429052592e-8,0.0017888063464290775,-2.5129846263159923e-5,1.3749151498984439e-8,0.0017888398156686227,-2.5199537269306553e-5,1.3810764966794239e-8,0.0017889451574657782,-2.5320670226036306e-5,1.391749936516575e-8,0.0017891262814678304,-2.544988601042015e-5,1.4030567902762325e-8,0.0017893708634015488,-2.5550922719877188e-5,1.4117760285831568e-8,0.0017896570726811836,-2.5599109255723216e-5,1.4157333008626661e-8,0.0017899592671993573,-2.5582042811262578e-5,1.4138489270469296e-8,0.0017902519438446774,-2.5498478260559e-5,1.4060321791036643e-8,0.0017905123629933307,-2.535677868794753e-5,1.3930440496755607e-8,0.0017907225488373376,-2.51734072821892e-5,1.3763682625522863e-8,0.0017908711693659085,-2.4971322438834654e-5,1.3580725771725944e-8,0.0017909554371954345,-2.4777821665357153e-5,1.3406151734326352e-8,0.0017909827283962571,-2.462135499749847e-5,1.3265522508586063e-8,0.001790971202300491,-2.4527148765017287e-5,1.3181360162542386e-8,0.0017909485628708425,-2.4512064252896147e-5,1.316846906372442e-8,0.0017909483769799933,-2.457975629539259e-5,1.3229610662378395e-8,0.0017910040460442844,-2.4717652977466054e-5,1.3352913035006776e-8,0.001791141441592685,-2.4897216452611835e-5,1.3512291120867038e-8,0.0017913719494893788,-2.5078198784446382e-5,1.367144672572904e-8,0.0017916878464235458,-2.5216509648907783e-5,1.3791025050547342e-8,0.0017920615866127356,-2.5274345945545365e-5,1.3837668829362787e-8,0.0017924499408709217,-2.5230505604992228e-5,1.3793113821811035e-8,0.001792803043549295,-2.508822447015411e-5,1.3660997294053245e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json new file mode 100644 index 000000000..bf8935107 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":16000,"numberOfSamples":1000,"samples":[0.0017930770944964171,-2.487756201187732e-5,1.3468791504217692e-8,0.0017932476264231187,-2.464987080068864e-5,1.3262714904077391e-8,0.0017933184724985877,-2.446409956071231e-5,1.3095425337680572e-8,0.0017933216314600794,-2.436869143477916e-5,1.3009865564682467e-8,0.0017933067138776958,-2.438639601001157e-5,1.3025800857085489e-8,0.0017933242278720884,-2.450889654783832e-5,1.3135191695059903e-8,0.0017934104016406212,-2.470298517826634e-5,1.330788790362845e-8,0.0017935796118112995,-2.4923857068963115e-5,1.35036193070344e-8,0.0017938254296263332,-2.512860398380717e-5,1.3684062401894767e-8,0.001794127049257825,-2.5285096932882215e-5,1.3820701756483629e-8,0.0017944568919538132,-2.537530987356056e-5,1.389769075082024e-8,0.0017947867111250417,-2.5394724503292413e-5,1.3911234845185292e-8,0.0017950914943699093,-2.5349982163249467e-5,1.3867468677974076e-8,0.0017953516485814604,-2.5256290869559507e-5,1.3780165902829643e-8,0.0017955543110713956,-2.513520274015715e-5,1.3668792904120013e-8,0.0017956944918898108,-2.501264398241291e-5,1.3556752559378335e-8,0.0017957763330320648,-2.4916631576514276e-5,1.3469287614057573e-8,0.0017958142078399008,-2.487403171878831e-5,1.343048298157746e-8,0.0017958328475770424,-2.4906014603702265e-5,1.3459107884232579e-8,0.001795865353512456,-2.5022541802827092e-5,1.3563657130380593e-8,0.001795948122041468,-2.521726303763574e-5,1.3737855679584164e-8,0.0017961127345561176,-2.546517299188524e-5,1.395871521848886e-8,0.0017963766324439365,-2.572537619201675e-5,1.4189187885469435e-8,0.0017967359302593923,-2.5949711291697144e-5,1.4386024761031048e-8,0.0017971637506210216,-2.6095329969824996e-5,1.451109103127541e-8,0.0017976155937020869,-2.6137143168968956e-5,1.4542469045381444e-8,0.0017980404371389018,-2.607573723966647e-5,1.4481422712615806e-8,0.001798394095120732,-2.5938065908348892e-5,1.4352832525648934e-8,0.0017986508156540284,-2.5770774714917362e-5,1.4199014670934582e-8,0.0017988099091846071,-2.5628118914854457e-5,1.4068743101640252e-8,0.0017988956039585806,-2.555773604555096e-5,1.4004458068040699e-8,0.0017989500158965364,-2.558822796060149e-5,1.4031230788508505e-8,0.0017990211621026053,-2.5722340085414784e-5,1.415084222610123e-8,0.0017991498357205768,-2.593791853046823e-5,1.4342850551324464e-8,0.0017993597382745207,-2.6195968610161597e-5,1.4571956673982097e-8,0.0017996538157950808,-2.645239065855816e-5,1.4798559267271849e-8,0.0018000169294873425,-2.666894130169837e-5,1.498852497549383e-8,0.0018004224996779246,-2.6820193009237008e-5,1.5119328433877708e-8,0.0018008399579285909,-2.6895709367472842e-5,1.5181911626012463e-8,0.0018012407279650508,-2.6898643187987404e-5,1.5179375808053418e-8,0.0018016019580566775,-2.6842624017871885e-5,1.512418529733506e-8,0.0018019083507358257,-2.6748422125539742e-5,1.503519386765796e-8,0.0018021529000758112,-2.664111066735776e-5,1.4935106313335826e-8,0.0018023373010458653,-2.654770620791294e-5,1.4848328300519829e-8,0.0018024724205052492,-2.6494772143160663e-5,1.4798742963175621e-8,0.0018025786668415908,-2.6505317999914305e-5,1.4806850211476605e-8,0.0018026854955645365,-2.659451656531552e-5,1.4885891179718516e-8,0.0018028287921071594,-2.6764406036804033e-5,1.5037147763755564e-8,0.0018030448604636129,-2.6999007434058543e-5,1.5245693907824705e-8,0.0018033608554715635,-2.726276700041339e-5,1.5479157196478573e-8,0.0018037839756043577,-2.750560873314212e-5,1.5692371417557645e-8,0.0018042943907072807,-2.767567790489397e-5,1.583886014992919e-8,0.0018048471164087917,-2.7736268154231167e-5,1.5886025345858665e-8,0.0018053841995643509,-2.7679480289528892e-5,1.582737530167465e-8,0.0018058526507647669,-2.752969711011927e-5,1.5685558185452904e-8,0.001806220217685462,-2.73353380759272e-5,1.550478294473961e-8,0.0018064829196074033,-2.715336860705409e-5,1.533667607943918e-8,0.001806663117932587,-2.7033305913710596e-5,1.5225741546222746e-8,0.001806800801895628,-2.7005730814722615e-5,1.5199028506319084e-8,0.0018069420013151019,-2.7077300335566203e-5,1.5261811538653193e-8,0.0018071276684187964,-2.7232000211422743e-5,1.5398964117004876e-8,0.0018073853085648632,-2.7437165696606414e-5,1.5580585890886757e-8,0.0018077246572371043,-2.7652248535832284e-5,1.576998693661435e-8,0.0018081377800550024,-2.7838089562507862e-5,1.5932006675260243e-8,0.0018086029626342595,-2.7964541054522235e-5,1.603977518121356e-8,0.0018090908374324907,-2.8014926126988497e-5,1.607861859878816e-8,0.00180957084697334,-2.7986978508900445e-5,1.6046829753568754e-8,0.0018100165314672806,-2.7890983536707856e-5,1.5953965389800106e-8,0.0018104089137041853,-2.774636589803873e-5,1.5817776136232783e-8,0.0018107380434183873,-2.7577939639375955e-5,1.5660833269492737e-8,0.0018110032945058872,-2.7412588632335316e-5,1.5507519669488106e-8,0.0018112130984671998,-2.727650820984009e-5,1.5381492498527788e-8,0.0018113845185778008,-2.719266881496396e-5,1.5303331370154355e-8,0.0018115426463610783,-2.7177984586301253e-5,1.5287947407869493e-8,0.0018117192686648675,-2.7239724617485946e-5,1.5341380468993828e-8,0.001811949680932402,-2.7371212382235838e-5,1.545703888127489e-8,0.0018122663836599232,-2.754807176709037e-5,1.561247872864076e-8,0.0018126893601793177,-2.772785807579092e-5,1.57692019263019e-8,0.001813215168157243,-2.7856683016959833e-5,1.5878661656300398e-8,0.001813810503341971,-2.788443523714781e-5,1.589593222254393e-8,0.0018144169960900853,-2.7784424994027194e-5,1.5797369795099836e-8,0.0018149690546354657,-2.7567238609616395e-5,1.5593102180247856e-8,0.0018154173615913274,-2.7279217321055754e-5,1.532562475157829e-8,0.001815745477353155,-2.698524284095293e-5,1.5054105867581623e-8,0.001815971625884253,-2.674564379645672e-5,1.4833294082824518e-8,0.0018161376350310534,-2.6598869981665784e-5,1.4697715161200344e-8,0.0018162930699050063,-2.6555272801256695e-5,1.46561098570472e-8,0.0018164816791041126,-2.6600309925083196e-5,1.4694563048089877e-8,0.001816733162707175,-2.6702680190249542e-5,1.4784125685246063e-8,0.0018170600913158257,-2.682355433898887e-5,1.4889335877885533e-8,0.0018174585911996668,-2.6924764974141972e-5,1.4975656178105195e-8,0.0018179114635388195,-2.697514492077015e-5,1.5015123550887387e-8,0.0018183927840198378,-2.69547379106428e-5,1.499003182489609e-8,0.0018188731580403156,-2.6856711418009936e-5,1.4894556739454665e-8,0.001819324793629755,-2.6687029559253713e-5,1.473440683021408e-8,0.0018197256785068433,-2.6462277654925132e-5,1.4524849413287513e-8,0.001820062373922574,-2.6206258898886165e-5,1.428764312060864e-8,0.001820331254382838,-2.5946127881015275e-5,1.4047536963377575e-8,0.001820538445168254,-2.5708755861324498e-5,1.3828946837314153e-8,0.0018206989383891886,-2.5517624437804906e-5,1.365308557110985e-8,0.0018208352337955717,-2.5390152599451144e-5,1.3535489407026761e-8,0.0018209755912363625,-2.5335207243642732e-5,1.34837573147026e-8,0.001821151632775928,-2.5350517985874814e-5,1.3495281869197622e-8,0.0018213945362785741,-2.5420047270152325e-5,1.3555011738893574e-8,0.0018217289276931587,-2.551235675360919e-5,1.363413439824075e-8,0.001822164406689718,-2.5582239942904856e-5,1.3691653129699898e-8,0.001822686655285152,-2.557849948022469e-5,1.3681411343723724e-8,0.0018232531039378613,-2.5459295222371094e-5,1.3565889406493894e-8,0.0018237998026180275,-2.5211254782313133e-5,1.3333435451442727e-8,0.0018242618025331551,-2.48617013791813e-5,1.300934477782622e-8,0.0018245988973076108,-2.4473013353101097e-5,1.2650735273151976e-8,0.0018248114805428112,-2.4119027032174727e-5,1.2325005783849212e-8,0.0018249369229238492,-2.3856916289854328e-5,1.2084104532181132e-8,0.0018250308362240503,-2.371030618670482e-5,1.1949100841989596e-8,0.001825146047330891,-2.366910915234589e-5,1.1910159201163204e-8,0.0018253190675345766,-2.3700474694523012e-5,1.1936747643950821e-8,0.0018255659145471929,-2.3762271034004848e-5,1.1990121606287427e-8,0.0018258842445968248,-2.3813805840709907e-5,1.2033166516185259e-8,0.001826258169929863,-2.382242826521537e-5,1.2036355717542334e-8,0.0018266634773100754,-2.3766769983762126e-5,1.1980573637170289e-8,0.001827072388230482,-2.363782080690576e-5,1.1857967699394822e-8,0.0018274577516185762,-2.343858881848419e-5,1.1671564450583e-8,0.0018277966526101797,-2.318264021823313e-5,1.1433927158541618e-8,0.0018280733241575382,-2.2891668446499556e-5,1.1164967072672481e-8,0.0018282811577905753,-2.259224023359341e-5,1.0889004337993399e-8,0.001828423551827078,-2.231201801919025e-5,1.0631321018346868e-8,0.0018285135003267157,-2.207596922814408e-5,1.0414665395833809e-8,0.0018285721071275558,-2.1903000912757984e-5,1.0256127104231967e-8,0.0018286262706814032,-2.1803209435120533e-5,1.0164594038831645e-8,0.001828705702435555,-2.177583438325039e-5,1.0138909579633824e-8,0.001828839337656277,-2.1807956588344662e-5,1.0166784524005633e-8,0.0018290509329571627,-2.1874064192536067e-5,1.0224554437432966e-8,0.0018293535538177238,-2.1937215282132975e-5,1.027838557907086e-8,0.0018297433561300666,-2.1953289747187514e-5,1.0288214837085777e-8,0.0018301945153309169,-2.1879869760203124e-5,1.0215787794044302e-8,0.001830658946308421,-2.168992779500395e-5,1.0036992338479185e-8,0.0018310753618979378,-2.138679258668782e-5,9.755367998113473e-9,0.0018313889838965569,-2.1011704357252705e-5,9.40893730399691e-9,0.0018315746329431721,-2.063467135717398e-5,9.061841978804914e-9,0.0018316490783180249,-2.0328796754628263e-5,8.780851241439044e-9,0.0018316632653398112,-2.0141677331726018e-5,8.60917634137112e-9,0.001831679395233614,-2.0080681978185537e-5,8.55305072202464e-9,0.0018317476612021335,-2.0117816834583795e-5,8.586332987307337e-9,0.0018318940208144653,-2.0206428881992914e-5,8.665969743081962e-9,0.0018321201082134187,-2.0298263194615822e-5,8.747708166164193e-9,0.001832409908402203,-2.0354458317239478e-5,8.796142458866711e-9,0.00183273774398109,-2.035003732644327e-5,8.788718700893353e-9,0.001833074770107819,-2.027416826766039e-5,8.715846695855356e-9,0.001833393452426999,-2.0128529716534936e-5,8.579316424344743e-9,0.0018336705866361742,-1.992511730302927e-5,8.390268759309309e-9,0.0018338894912187423,-1.968387735533606e-5,8.167058601271752e-9,0.0018340416791292305,-1.943010095958344e-5,7.932910852662894e-9,0.0018341280134618974,-1.9191384559990707e-5,7.713154507289564e-9,0.0018341590816821458,-1.8994066898046752e-5,7.53193522572574e-9,0.0018341544149850127,-1.885940649167221e-5,7.40865932392435e-9,0.0018341403815578727,-1.8800038802715472e-5,7.3546966523347715e-9,0.0018341468535115438,-1.8817250628981883e-5,7.370872897137305e-9,0.0018342029234141627,-1.889956862277312e-5,7.446231414582977e-9,0.0018343321227258867,-1.9023083174690816e-5,7.558447698209529e-9,0.0018345476553118807,-1.9153707945490168e-5,7.676042116963366e-9,0.0018348481083950683,-1.9251549921866032e-5,7.762491329140837e-9,0.0018352144196331546,-1.9277769509678416e-5,7.782530133022137e-9,0.0018356096596253435,-1.920398976117508e-5,7.710681424220857e-9,0.0018359837763515755,-1.9022957466042443e-5,7.540865396769042e-9,0.0018362849741516284,-1.8756908829736255e-5,7.293910761478627e-9,0.0018364766833233455,-1.8457870012827724e-5,7.017737181329629e-9,0.0018365538571077135,-1.8194914639068882e-5,6.775647214996834e-9,0.001836548563460727,-1.803024372589666e-5,6.624410847690285e-9,0.0018365187675594202,-1.7995409567851337e-5,6.592525088216024e-9,0.0018365252877235454,-1.8081331449302935e-5,6.671177914624835e-9,0.0018366101542084223,-1.8246672589318575e-5,6.822077045534804e-9,0.0018367869375824912,-1.8436994200718304e-5,6.995122222991016e-9,0.001837043888830328,-1.8602938875977135e-5,7.145101322978344e-9,0.0018373537387537482,-1.8710583772040503e-5,7.241122599512904e-9,0.0018376837337121634,-1.8743874840279134e-5,7.2687428712580284e-9,0.0018380027530075403,-1.8702372696090056e-5,7.227808403795434e-9,0.0018382852635966235,-1.8597450955179613e-5,7.128926096284541e-9,0.001838513176276471,-1.8448670412689796e-5,6.990149973877557e-9,0.0018386767249291653,-1.8280754164638692e-5,6.8342449477846595e-9,0.0018387750038904136,-1.812090639012062e-5,6.686252226411574e-9,0.0018388162973281307,-1.799601728606697e-5,6.570911706461216e-9,0.0018388179260978472,-1.7929389648419776e-5,6.509607695224068e-9,0.0018388050594228275,-1.7937016075237906e-5,6.516893378261047e-9,0.0018388079846011016,-1.8023966004633595e-5,6.597145459559734e-9,0.001838857713922728,-1.818180313357647e-5,6.742223335637884e-9,0.0018389803552352245,-1.838806035919854e-5,6.9310780933096055e-9,0.0018391912530982262,-1.860858891245793e-5,7.132034188312767e-9,0.0018394902971468079,-1.88029481324306e-5,7.3078518212857724e-9,0.0018398597310770378,-1.8932177661136858e-5,7.422918615431776e-9,0.0018402654168871984,-1.896772954162206e-5,7.451423914551764e-9,0.0018406621235211068,-1.8899934385024923e-5,7.385028293072869e-9,0.0018410028729857332,-1.8743806537061265e-5,7.238049462551088e-9,0.0018412512510457238,-1.8539475868505472e-5,7.047719368366382e-9,0.0018413937282192889,-1.834483799071887e-5,6.86733900839635e-9,0.0018414470718991932,-1.8220140618210308e-5,6.752093172557913e-9,0.0018414557581306575,-1.8208514775956216e-5,6.741217444212319e-9,0.0018414780209857879,-1.8320709364073575e-5,6.844095149750602e-9,0.001841565803992494,-1.8532077021471085e-5,7.037638298125493e-9,0.0018417482230087799,-1.8793447944416692e-5,7.276395121919292e-9,0.001842025845932932,-1.9049480082961622e-5,7.509453930519011e-9,0.001842376034057044,-1.925507263145096e-5,7.69549565376883e-9,0.0018427639401787223,-1.9383990375315344e-5,7.810647629678605e-9,0.0018431531413094465,-1.942958955901095e-5,7.849070713791684e-9,0.0018435127392187048,-1.940088549418417e-5,7.8192866216250315E-09,0.001843820730492911,-1.9317320377072763e-5,7.739348166296656e-9,0.0018440648885501498,-1.9204160908646343e-5,7.632620118984367e-9,0.001844242531542363,-1.9089035068363377e-5,7.524612793811735e-9,0.0018443600647661403,-1.8999259868333292e-5,7.440521812341918e-9,0.001844432549312981,-1.8959307662865297e-5,7.402863667254894e-9,0.0018444829953387927,-1.8987874349045107e-5,7.428729689176291e-9,0.0018445407209490732,-1.9094430440071465e-5,7.52658268876082e-9,0.0018446380463958871,-1.9275761849198014e-5,7.693093256534828e-9,0.001844804951317121,-1.9513700180089063e-5,7.911127592194227e-9,0.0018450622049142106,-1.9775670897407012e-5,8.15036239379623e-9,0.0018454146537959305,-2.0019361155694627e-5,8.37168352380671e-9,0.0018458471645658634,-2.020149491512519e-5,8.53532123115057e-9,0.001846325472916595,-2.0288852030465627e-5,8.610991677718667e-9,0.001846802738334875,-2.0268255874207588e-5,8.587035433849896e-9,0.0018472305526570348,-2.0152106866842266e-5,8.475412368243551e-9,0.0018475714841345342,-1.99772538420524e-5,8.31053358635742e-9,0.0018478096100095864,-1.9796940495792812e-5,8.141712154172403e-9,0.0018479558587613187,-1.9667497884298463e-5,8.020816057287474e-9,0.0018480460497650023,-1.9633092096664974e-5,7.988216118779569e-9,0.0018481313475885142,-1.97130435184807e-5,8.061204673026506e-9,0.0018482635125553158,-1.989628715353263e-5,8.229056332405201e-9,0.0018484798977238869,-2.014547254945726e-5,8.45695909902495e-9,0.0018487937859131421,-2.0409270039150275e-5,8.697434490355547e-9,0.0018491933464550954,-2.0637777460108637e-5,8.904531720257321e-9,0.001849648388562267,-2.0794981895125802e-5,9.04525543618406e-9,0.0018501208603383453,-2.0864590650255843e-5,9.104868950596546e-9,0.0018505745805460858,-2.0849287684095834e-5,9.086145203825255e-9,0.0018509815951685388,-2.0766006244656177e-5,9.004964655845875e-9,0.0018513249009249032,-2.0640121265863943e-5,8.88493947825769e-9,0.0018515986248674762,-2.0500399014916906e-5,8.75275158592604e-9,0.0018518069924697927,-2.037529947986055e-5,8.634737803338043e-9,0.0018519630574627775,-2.029034519449881e-5,8.55444480376467e-9,0.0018520875544509319,-2.0265862670398454e-5,8.530515515536571e-9,0.0018522076118006106,-2.0314479503742223e-5,8.574357895458459e-9,0.001852354640478269,-2.043817792207266e-5,8.68743961998716e-9,0.0018525605725263623,-2.0625343158510295e-5,8.85862825193293e-9,0.0018528519045839407,-2.0849110173348045e-5,9.06276525797922e-9,0.0018532420360760945,-2.1069073571299936e-5,9.262339779435322e-9,0.001853724130935122,-2.123818424609054e-5,9.413907129041965e-9,0.0018542681745039775,-2.13146965067963e-5,9.479118156772436e-9,0.001854825500677946,-2.1275855803305648e-5,9.437327265942164e-9,0.0018553411001434338,-2.1127603421251835e-5,9.294511094167757e-9,0.001855769808091963,-2.0905197786356253e-5,9.083769325899609e-9,0.001856089934500493,-2.066366542445483e-5,8.856377940750694e-9,0.001856309055157489,-2.0461827016597087e-5,8.66688007773098e-9,0.0018564605291198604,-2.0346009610590452e-5,8.557941716365146e-9,0.0018565929794966702,-2.0338609963516525e-5,8.549815123998282e-9,0.0018567566935258077,-2.0434095465034442e-5,8.636794189047838e-9,0.0018569909246059376,-2.0602544164462002e-5,8.790679141975657e-9,0.001857315247217037,-2.079894845221756e-5,8.96952007306406e-9,0.0018577267622189627,-2.097526582003082e-5,9.12880609280628e-9,0.001858203223977554,-2.109175679528336e-5,9.231914666619509e-9,0.0018587104540100233,-2.1124682017155018e-5,9.257156442445109e-9,0.0018592113115679834,-2.106890188932159e-5,9.200104828967708e-9,0.0018596735056705283,-2.0935816127821806e-5,9.07163153057935e-9,0.0018600745996205108,-2.0748452915729757e-5,8.89332379757743e-9,0.0018604039664238258,-2.0535775690622106e-5,8.692194187757801e-9,0.0018606624467996109,-2.032768021272182e-5,8.496037214902576e-9,0.0018608607937328295,-2.0151290741381685e-5,8.329989644194028e-9,0.0018610177895546044,-2.0028404875289557e-5,8.214148845006132e-9,0.0018611584243115355,-1.9973516875703052e-5,8.161728802068476e-9,0.0018613119834204608,-1.999186368250376e-5,8.17725592983337e-9,0.0018615094730483387,-2.0077264157555704e-5,8.254611200906061e-9,0.0018617795921467622,-2.021010824142319e-5,8.375250055651793e-9,0.0018621426777235635,-2.0356759570897997e-5,8.507743574528015e-9,0.0018626030974959807,-2.0472527218197918e-5,8.610594760757943e-9,0.001863142529370494,-2.0510266452106173e-5,8.640213095127023e-9,0.001863718542838287,-2.0434462278556232e-5,8.563932655985352e-9,0.0018642726717816077,-2.0236362154722935e-5,8.374014217097276e-9,0.0018647478436570396,-1.9942109211313427e-5,8.095175761587323e-9,0.001865108368948935,-1.960728289796133e-5,7.779474788722417e-9,0.0018653524017467537,-1.9298711898535704e-5,7.4892916930745e-9,0.0018655107551995035,-1.9072315354648044e-5,7.27659510756275e-9,0.0018656340820196373,-1.895724351204022e-5,7.168151304633016e-9,0.0018657758320747826,-1.895135064135561e-5,7.161416176012306e-9,0.0018659780113648356,-1.9026593337249196e-5,7.229749985625541e-9,0.0018662631207856332,-1.9139791481250695e-5,7.332602529333776e-9,0.0018666323647777408,-1.9244376015289706e-5,7.426524029334083e-9,0.0018670686302071045,-1.93003096381889e-5,7.474374412439072e-9,0.0018675424105708905,-1.9280847880737214e-5,7.451532270409492e-9,0.0018680189994260549,-1.9175704489265866e-5,7.348747503653877e-9,0.0018684654564785955,-1.8990736169104185e-5,7.171778438188237e-9,0.0018688561260398076,-1.8744836865035615e-5,6.938463114669843e-9,0.0018691760026911882,-1.8465188498455326e-5,6.674284503730649e-9,0.001869421833270251,-1.818207784859466e-5,6.407542925266269e-9,0.0018696013388690184,-1.7924257543533537e-5,6.165035437391302e-9,0.0018697312745747144,-1.77154221714517e-5,5.968767927016784e-9,0.0018698350512996898,-1.7571817919185243e-5,5.8337191006715384e-9,0.0018699402886244905,-1.750060390009367e-5,5.76630978226681e-9,0.0018700762544792589,-1.7498573862310598e-5,5.763229760950721e-9,0.0018702708423503566,-1.7551071627329354e-5,5.8104800416812336e-9,0.0018705465025051088,-1.763137263486119e-5,5.882878383752786e-9,0.0018709146903029294,-1.770161615547732e-5,5.945007935726127e-9,0.0018713693790612124,-1.771717503436893e-5,5.955326079857078e-9,0.001871882005628167,-1.7636224585071255e-5,5.875056690709975e-9,0.0018724021730790383,-1.7434179833481032e-5,5.681589270232072e-9,0.0018728684333721528,-1.7118167658035483e-5,5.3819353393236815e-9,0.0018732287172204356,-1.6732355540166632e-5,5.017686966724454e-9,0.0018734616898216,-1.6346704189132433e-5,4.654472798669768e-9,0.0018735862278335242,-1.6031827206181716e-5,4.358367558462995e-9,0.0018736526901350647,-1.583326478782647e-5,4.1717537065880975e-9,0.0018737219046122688,-1.5758804508346698e-5,4.10148922345258e-9,0.0018738443004110933,-1.578241850439683e-5,4.12273758898688e-9,0.0018740479774201498,-1.5858384906640113e-5,4.192354118637595e-9,0.0018743368377812267,-1.5936813363410486e-5,4.2635170100055776e-9,0.0018746952507608576,-1.5975245333576563e-5,4.296582563572818e-9,0.001875095253598817,-1.594505681652756e-5,4.265000879239349e-9,0.0018755037392833745,-1.5833619336192383e-5,4.157239354603041e-9,0.0018758885761289046,-1.5643635440476038e-5,3.976084601740173e-9,0.001876223379869671,-1.539063040568846e-5,3.736258860742264e-9,0.0018764908158095375,-1.5099215718405392e-5,3.460921341786339e-9,0.0018766843555797306,-1.4798700313825205e-5,3.1775739251165955e-9,0.001876808514204054,-1.4518593640800304e-5,2.913862771528727e-9,0.001876877684600156,-1.428449594527703e-5,2.6937304046643276e-9,0.0018769138794313335,-1.4114849713635936e-5,2.534362112040424e-9,0.001876943877891384,-1.4018784813808756e-5,2.444153315210054e-9,0.0018769961556297737,-1.3994930354196748e-5,2.4215928014478305e-9,0.0018770976892354386,-1.4030988542626093e-5,2.454884423634573e-9,0.0018772705481379275,-1.4104015382463982e-5,2.5222631987773908e-9,0.001877528051302119,-1.4181603792678899e-5,2.5931789806121115e-9,0.0018778703569376982,-1.4224713941675174e-5,2.6310160704288327e-9,0.0018782801543122864,-1.4193451439422243e-5,2.598529820729149e-9,0.0018787205590664604,-1.405678212300852e-5,2.4669139600598395e-9,0.0018791386692319275,-1.3805285464980217e-5,2.2276810492311913e-9,0.0018794780123360833,-1.3462303276611882e-5,1.9030504386180313e-9,0.0018796988460152687,-1.3085081939944344e-5,1.5469771882351445e-9,0.001879797376121251,-1.2749246711917046e-5,1.2305366805810725e-9,0.001879810814909188,-1.2520431987685998e-5,1.0152379061173355e-9,0.0018798025069450173,-1.2428480565797385e-5,9.28792039154265e-10,0.0018798356637794984,-1.2459405930458762e-5,9.576569245815327e-10,0.0018799514652937973,-1.2567147881760806e-5,1.058227207885944e-9,0.0018801611228964044,-1.2694459694026742e-5,1.1765668337490139e-9,0.0018804504286041776,-1.2790844470236134e-5,1.2652815802583089e-9,0.0018807898296935043,-1.2822211239622132e-5,1.2925348480468322e-9,0.001881144296639176,-1.2773137375766395e-5,1.244082520275377e-9,0.001881480541304962,-1.2644829708590756e-5,1.1212779543347608e-9,0.0018817714830373492,-1.2451442593087324e-5,9.37573033027889e-10,0.0018819987877392661,-1.2216113471832141e-5,7.147943106851535e-10,0.0018821541835679256,-1.1967040551517974e-5,4.79481554800589e-10,0.001882239823342938,-1.1733614321682521e-5,2.592733145950963e-10,0.0018822677333682823,-1.1542659347071796e-5,7.937878641490489e-11,0.001882258290813125,-1.1414929386642006e-5,-4.073055482831923e-11,0.00188223769665013,-1.1362192719985607e-5,-9.008293919875422e-11,0.001882234648515446,-1.1385337979164145e-5,-6.800108198389007e-11,0.0018822765976668182,-1.147373068275585e-5,1.529829570741141e-11,0.0018823859220090569,-1.1605863972995146e-5,1.3934936610352848e-10,0.0018825762769299201,-1.1751333204930212e-5,2.7535196640362164e-10,0.001882849356696919,-1.1874174668779581e-5,3.8937810798312383e-10,0.0018831923326353601,-1.1937760844475924e-5,4.470257514000792e-10,0.0018835766745060477,-1.1911660763090492e-5,4.198775427362523e-10,0.0018839599006157666,-1.1780441166968134e-5,2.937343558620432e-10,0.0018842923200876947,-1.1552816367157377e-5,7.714292268036392e-11,0.0018845300065070212,-1.1267101431234662e-5,-1.935563353070176e-10,0.001884651848842402,-1.0986979616266467e-5,-4.582805070815646e-10,0.0018846729512961321,-1.0783668473551395e-5,-6.500369715974631e-10,0.001884644026311698,-1.0709107993313308e-5,-7.201687612284614e-10,0.0018846329849430254,-1.0774324376780514e-5,-6.586566194780138e-10,0.0018846977991100334,-1.0946622650667459e-5,-4.966346506891892e-10,0.0018848664449174443,-1.1166459365350037e-5,-2.9038739613313543e-10,0.0018851332005309256,-1.1371807843700045e-5,-9.836030862044166e-11,0.00188546833284025,-1.1516483567944784e-5,3.6072174092010136e-11,0.0018858320534413794,-1.1577196587717038e-5,9.118298144119174e-11,0.0018861858170151932,-1.1551897946543376e-5,6.526251494340663e-11,0.0018864988368209698,-1.1454250824736898e-5,-2.8641386320276168e-11,0.0018867506997908348,-1.130771157982184e-5,-1.683171289939276e-10,0.0018869317981828468,-1.114067253953726e-5,-3.269535468848281e-10,0.00188704288267068,-1.0982683580718171e-5,-4.766790893169354e-10,0.00188709425157458,-1.0861262431198378e-5,-5.915582605683498e-10,0.0018871045582005074,-1.0798915164720963e-5,-6.504092600231872e-10,0.0018870989904794264,-1.0810255077489202e-5,-6.395398827368157e-10,0.0018871065171513206,-1.089946266139451e-5,-5.551558313967678e-10,0.0018871561148395357,-1.1058676341069262e-5,-4.048719775294948e-10,0.0018872723151573511,-1.1267948529405112e-5,-2.077232698081918e-10,0.0018874707273317042,-1.1497174238386989e-5,7.702962172308863e-12,0.0018877543345839755,-1.1710094620244999e-5,2.0709679356946207e-10,0.0018881113731507087,-1.1870079468074387e-5,3.5592247332806187e-10,0.0018885154354453212,-1.1947025394181564e-5,4.2594198011051527e-10,0.0018889282709940963,-1.1924554434572256e-5,4.0198452420754266e-10,0.0018893057509901104,-1.180642796887354e-5,2.8793937793174093e-10,0.0018896072155190882,-1.1620319815144137e-5,1.102325230061882e-10,0.0018898073174633363,-1.141620503858083e-5,-8.378045830706647e-11,0.0018899072882816023,-1.1256680872880053e-5,-2.350144500265779e-10,0.00188994004525897,-1.1199004466727915e-5,-2.8962303888349816e-10,0.0018899634124805416,-1.1274091765243815e-5,-2.187662588737686e-10,0.0018900409279768637,-1.1472911999612212e-5,-3.133758064503063e-11,0.0018902183761997377,-1.1749297526970216e-5,2.2880621691449785e-10,0.0018905085190595347,-1.2038537620544541e-5,5.004579398597872e-10,0.0018908911977333046,-1.2281010673800587e-5,7.273646082903298e-10,0.0018913257026649535,-1.2438746635557551e-5,8.738262880584713e-10,0.001891766418942364,-1.2500025159169855e-5,9.289921702418269e-10,0.0018921745217345054,-1.2474898759061678e-5,9.025856295473614e-10,0.0018925235949496604,-1.2387224374957897e-5,8.173373978207359e-10,0.0018928006012498605,-1.2267242724669224e-5,7.019521780489794e-10,0.001893004532648849,-1.2146219309942353e-5,5.860420989860535e-10,0.0018931444568213974,-1.2052958305120446e-5,4.968374482519974e-10,0.0018932376922635935,-1.201136506885249e-5,4.5688395279176046e-10,0.0018933080932005942,-1.203830971069964e-5,4.820179060546816e-10,0.0018933840198379344,-1.2141431704543413e-5,5.792878687063079e-10,0.0018934954432214392,-1.2317048491958935e-5,7.449904944807481e-10,0.0018936698433884116,-1.2548874791752978e-5,9.63493451044306e-10,0.0018939271289290503,-1.2808571057900438e-5,1.207801973263226e-9,0.0018942745270844783,-1.3059009801183272e-5,1.4426931836520661e-9,0.0018947029628015445,-1.3260512884313262e-5,1.6306445395104082e-9,0.0018951865409454112,-1.3379240786205856e-5,1.739776196090901e-9,0.0018956861193035659,-1.339582085200682e-5,1.7520006276159735e-9,0.001896156784362993,-1.3311821218936873e-5,1.6691149414387627e-9,0.0018965578833635218,-1.315201628144059e-5,1.5148888736049156e-9,0.0018968634955145083,-1.2961201862073039e-5,1.3319718714925833e-9,0.0018970707895216053,-1.27953186054354e-5,1.1734090967998433e-9,0.0018972035254706415,-1.270792499395131e-5,1.0897877058615488e-9,0.0018973082905004745,-1.2734836504746565e-5,1.1147159041982071e-9,0.0018974426469162598,-1.2881765897702211e-5,1.2532161191392723e-9,0.0018976577334179135,-1.3120638566367633e-5,1.4783604413576136e-9,0.0018979817061840188,-1.3397830754750496e-5,1.7391592222003208e-9,0.001898411458923872,-1.3651830597880485e-5,1.9773042111285594e-9,0.0018989162166529016,-1.3832467412215963e-5,2.1453543532283e-9,0.0018994501504002229,-1.3913394698958246e-5,2.218528300226893e-9,0.0018999670934915821,-1.3894285229865015e-5,2.1967560935101533e-9,0.0019004313205916007,-1.3794987368719163e-5,2.0991062793393773e-9,0.0019008222473536457,-1.3646563923406225e-5,1.9552477096692173e-9,0.0019011342862434643,-1.3483210869567092e-5,1.7977502645593472e-9,0.0019013742670453792,-1.3336710126712298e-5,1.656805182705815e-9,0.0019015583445810035,-1.3233251710861967e-5,1.557210441490532e-9,0.0019017093215130678,-1.3191683234416556e-5,1.516718948288368e-9,0.0019018544551819409,-1.322222486221346e-5,1.5448335845441187e-9,0.0019020232614363063,-1.332508798252e-5,1.641518474045382e-9,0.0019022446122891282,-1.3489036976123344e-5,1.7958687511443292e-9,0.0019025425844261994,-1.369058867045455e-5,1.985394636394811e-9,0.0019029310998461496,-1.3895103526272778e-5,2.177098013812628e-9,0.0019034084130146504,-1.4061158291373949e-5,2.3316432829741173e-9,0.0019039536403952983,-1.4148798826174367e-5,2.411188360481643e-9,0.00190452798036301,-1.4130390523376207e-5,2.3896713112052716e-9,0.0019050821403015848,-1.4000599135125858e-5,2.262277159589695e-9,0.0019055688083909521,-1.3781106731241096e-5,2.0499028297317794e-9,0.0019059562148011579,-1.3517137805515713e-5,1.795813482384683e-9,0.0019062378216281627,-1.3266226807941069e-5,1.55488479026225e-9,0.0019064346707243743,-1.3082876840158903e-5,1.3789321851604236e-9,0.0019065897975290977,-1.300402884385789e-5,1.3028645792247607e-9,0.0019067566525288243,-1.3039478647258866e-5,1.335631681489911e-9,0.0019069848668208623,-1.3169664466781716e-5,1.458241594737562e-9,0.0019073072088376596,-1.3351363244590194e-5,1.6292950121476715e-9,0.0019077314104704636,-1.35297729754093e-5,1.7965331398129217e-9,0.0019082393455308658,-1.3653389545506359e-5,1.910981408664566e-9,0.0019087936495511212,-1.368692249063571e-5,1.9391998920108105e-9,0.0019093490888763,-1.36182247050182e-5,1.8698433679372743e-9,0.0019098643504093444,-1.3457815665676977e-5,1.7131785903247102e-9,0.0019103104535418381,-1.3232664882104302e-5,1.49513174647234e-9,0.001910674199703993,-1.2977653683504635e-5,1.2491153226176072e-9,0.001910957383345947,-1.2727836569487273e-5,1.0086216538112337e-9,0.0019111736376836673,-1.2513095263658599e-5,8.021151208985223e-10,0.0019113446910483782,-1.2355262008813369e-5,6.502990133921028e-10,0.0019114970699477254,-1.2266914435896981e-5,5.649887739956633e-10,0.001911659458251913,-1.2250863989869682e-5,5.48651037755953e-10,0.0019118603142655674,-1.2299688915426472e-5,5.939871771107086e-10,0.0019121250704395051,-1.2395224103850199e-5,6.83479516283135e-10,0.001912472298250459,-1.2508553962420433e-5,7.894175597020551e-10,0.0019129086995072113,-1.2601732458062466e-5,8.755614362231623e-10,0.0019134238587510172,-1.2632856875682743e-5,9.019823758839568e-10,0.0019139872139001782,-1.2565475255362356e-5,8.340185275907759e-10,0.0019145507149744756,-1.2380996991705414e-5,6.541016494998854e-10,0.0019150594943169597,-1.208942059331609e-5,3.720012705806915e-10,0.0019154687355826697,-1.1731803189978585e-5,2.7186751351475117e-11,0.0019157599073696201,-1.1370438510631843e-5,-3.2059589419623007e-10,0.0019159480871280882,-1.1069433649940181e-5,-6.099776897920081e-10,0.0019160765242110884,-1.0874351161307604e-5,-7.975067244527357e-10,0.001916201638240862,-1.0799731954230843e-5,-8.695695269755934e-10,0.0019163757206690922,-1.0828066294132719e-5,-8.432736692445251e-10,0.001916633663319116,-1.0918083407511515e-5,-7.583931686950212e-10,0.0019169865545414935,-1.1017681518618213e-5,-6.649208970516302e-10,0.0019174220148160516,-1.1077138327480256e-5,-6.104228457140029e-10,0.001917909652400136,-1.1059628873658679e-5,-6.300141180862712e-10,0.0019184095373273615,-1.0947442807596206e-5,-7.404583107456317e-10,0.0019188815145464583,-1.074336196537258e-5,-9.388858115135974e-10,0.0019192932808213034,-1.0467594123611643e-5,-1.20575358697917e-9,0.0019196256213150462,-1.0151606595075532e-5,-1.5107725145640873e-9,0.0019198741582867806,-9.830831037267878e-6,-1.8199155582087304e-9,0.001920048034328906,-9.53810189496491e-6,-2.101716952530784e-9,0.00192016664884815,-9.298985720095432e-6,-2.3317451423285186e-9,0.0019202557299710247,-9.129284586844093e-6,-2.4949779817672822e-9,0.0019203436982262987,-9.03425635494825e-6,-2.5865276762768656e-9,0.0019204586561453517,-9.008766308266697e-6,-2.6114761398253937e-9,0.0019206257964393613,-9.037767379553837e-6,-2.584400459288261e-9,0.0019208647556760669,-9.096934635335611e-6,-2.528749375572851e-9,0.0019211863918376449,-9.153791617985142e-6,-2.475744453410305e-9,0.0019215887893763244,-9.170318069016814e-6,-2.4618619106144695e-9,0.0019220532680969222,-9.108486698013456e-6,-2.5235177511399977e-9,0.0019225426370994027,-8.93968667282501e-6,-2.6880381102716844e-9,0.0019230051437690364,-8.656881355420935e-6,-2.9620064184294193e-9,0.0019233868768198299,-8.284641843373393e-6,-3.321635583237772e-9,0.0019236508865696793,-7.87924983238811e-6,-3.7126811593957043e-9,0.0019237944180940756,-7.513626152701059e-6,-4.064969808739745e-9,0.0019238530642237287,-7.251346875133989e-6,-4.317442787274023e-9,0.0019238875264319904,-7.123184534446885e-6,-4.440727658128514e-9,0.0019239602849499028,-7.118772335068044e-6,-4.445080751689829e-9,0.0019241150340064711,-7.195410187776e-6,-4.3718032484889515e-9,0.0019243672115235493,-7.296057858543114e-6,-4.275859784550209e-9,0.0019247056490780219,-7.366796576870663e-6,-4.209081160263236e-9,0.001925100638222425,-7.368390575798459e-6,-4.2090899838722325e-9,0.0019255136991263675,-7.28124033598263e-6,-4.29459094897082e-9,0.0019259062934330908,-7.105313322498182e-6,-4.465474633111174e-9,0.001926246455241092,-6.8569503429279765e-6,-4.705904064104801e-9,0.001926513155176582,-6.563908504672785e-6,-4.989086595641599e-9,0.0019266984060524598,-6.259565315487143e-6,-5.28285207654197e-9,0.0019268072181901595,-5.977125716265304e-6,-5.555231795710813e-9,0.0019268557194206991,-5.744607949504135e-6,-5.779286983994542e-9,0.001926867956789526,-5.581192829623622e-6,-5.93661711990306e-9,0.0019268720688889452,-5.495252817643273e-6,-6.019245563941074e-9,0.0019268965365545243,-5.483964670467983e-6,-6.029980211505466e-9,0.0019269669147046517,-5.534047865259946e-6,-5.981698489668393e-9,0.0019271030607710645,-5.623188311924287e-6,-5.895977467639949e-9,0.0019273166863302753,-5.7219540024492885e-6,-5.8012471529754476e-9,0.001927608964943563,-5.7963044626612365e-6,-5.730359732741071e-9,0.001927968073137577,-5.811296023443038e-6,-5.716996716285913e-9,0.001928367327868175,-5.736968151573158e-6,-5.789976737812062e-9,0.0019287657529438592,-5.556881102280313e-6,-5.965023129181158e-9,0.0019291137044280984,-5.2780252562612125e-6,-6.235225744033611e-9,0.0019293656129909568,-4.9378508432014095e-6,-6.564293224012181e-9,0.0019294981647026979,-4.601333003765205e-6,-6.88943201632588e-9,0.001929525485728095,-4.342876353937429e-6,-7.138863176862139e-9,0.0019294994801223031,-4.217696588858802e-6,-7.25946537969358e-9,0.0019294908116161604,-4.238299439230228e-6,-7.239417461315074e-9,0.001929560314582812,-4.371015270438031e-6,-7.111424613284696e-9,0.0019297377118852202,-4.55344246107046e-6,-6.935795233464066e-9,0.001930017314096714,-4.719917590952116e-6,-6.775858205910853e-9,0.001930367658027968,-4.821014209853837e-6,-6.679201920416775e-9,0.0019307459008136353,-4.8316120263198285e-6,-6.669947990797228e-9,0.0019311099639047478,-4.749855588336907e-6,-6.749791325681373e-9,0.001931426078730715,-4.591648798416053e-6,-6.903320619292728e-9,0.0019316723240502833,-4.384152509840636e-6,-7.104284083463843e-9,0.00193183957714851,-4.159855661523347e-6,-7.321298468100921e-9,0.0019319309590358179,-3.951522849872863e-6,-7.522721099309414e-9,0.001931960272729608,-3.7879464393165173e-6,-7.680755766459321e-9,0.0019319496225054618,-3.690498897752296e-6,-7.774788967531755e-9,0.0019319263202685097,-3.6706055523742944e-6,-7.793831867149322e-9,0.001931919267959071,-3.7283927164905087e-6,-7.737819257871908e-9,0.0019319552108667095,-3.852716726614077e-6,-7.617573393096083e-9,0.0019320552988749142,-4.02248969024826e-6,-7.453520879166667e-9,0.0019322322171346693,-4.209066647074804e-6,-7.27339092546293e-9,0.0019324880384187753,-4.379522397329557e-6,-7.109051304871561e-9,0.0019328128907126745,-4.5006846976982455e-6,-6.9926006585541975e-9,0.001933184500922892,-4.543960637217014e-6,-6.951680008281516e-9,0.0019335690805746674,-4.491239132575197e-6,-7.0037418708715674e-9,0.0019339247854987158,-4.3417098714221724e-6,-7.149447726110859e-9,0.0019342092422925217,-4.118009382523817e-6,-7.366743932940767e-9,0.0019343916827004838,-3.868204312684253e-6,-7.608992772716862e-9,0.001934467361572726,-3.658733712507117e-6,-7.811866984567964e-9,0.001934467204138646,-3.5553083996379697e-6,-7.911879053399946e-9,0.0019344532495840499,-3.5966460829545584e-6,-7.871776332288663e-9,0.0019344968195731504,-3.7753114217998696e-6,-7.698978894623498e-9,0.0019346495112623097,-4.03947689724567e-6,-7.443761240396356e-9,0.0019349242390860283,-4.315579736048795e-6,-7.177294842177374e-9,0.0019352959799658958,-4.537209508290387e-6,-6.9637480873944295e-9,0.0019357174371195988,-4.664295527601881e-6,-6.8417869033334726e-9,0.0019361376429321514,-4.687227031264865e-6,-6.820621053087697e-9,0.0019365149604292852,-4.620518272556331e-6,-6.886137513437268e-9,0.001936822735002006,-4.4930784615761195e-6,-7.01030959332819e-9,0.0019370497573068866,-4.3395817761451026e-6,-7.159541983283873e-9,0.0019371982714750445,-4.194332245529059e-6,-7.300606086896117e-9,0.0019372813098119841,-4.0872389658178436e-6,-7.404541171072901e-9,0.0019373200047168263,-4.041081596253815e-6,-7.449311969194115e-9,0.0019373408698219712,-4.06951090543502e-6,-7.421751862826817e-9,0.0019373728401152071,-4.175601163817662e-6,-7.318959872347354e-9,0.0019374438984557292,-4.351140097040351e-6,-7.14897163907601e-9,0.0019375773878386295,-4.577090029110529e-6,-6.930294004143148e-9,0.0019377884492321462,-4.8255307456941e-6,-6.690013847281935e-9,0.0019380811458521296,-5.063086450380342e-6,-6.460482833914179e-9,0.0019384468078961414,-5.2556340897116115e-6,-6.274765644942493e-9,0.001938864070694948,-5.373859826780817e-6,-6.161257575262624e-9,0.0019393008815218134,-5.39900090253849e-6,-6.138107237175963e-9,0.0019397185968336869,-5.328108998262378e-6,-6.208094891699568e-9,0.0019400783924782288,-5.178029968915432e-6,-6.3547673684562564e-9,0.001940350064460665,-4.986568248040517e-6,-6.541330751226949e-9,0.0019405222410656135,-4.808507589956162e-6,-6.714561951692604e-9,0.0019406110279473565,-4.704360703335738e-6,-6.815780527851394e-9,0.0019406619186682263,-4.722099909779016e-6,-6.798592282970913e-9,0.0019407397828170951,-4.877341093394415e-6,-6.6480630164182626e-9,0.0019409070239167167,-5.142645237546104e-6,-6.3909979796592525e-9,0.0019411991246476956,-5.455021750594156e-6,-6.08859132515089e-9,0.0019416113591816284,-5.739907638638507e-6,-5.813170806092759e-9,0.0019421039399188788,-5.938379623146413e-6,-5.621848443746926e-9,0.001942620441220814,-6.023358180511173e-6,-5.540825654139379e-9,0.0019431076064300335,-6.000155352616885e-6,-5.564854280690739e-9,0.0019435278468381142,-5.896618797745685e-6,-5.66679479290207e-9,0.0019438629592743444,-5.750852545969404e-6,-5.809548326748877e-9,0.0019441120808416875,-5.601534475667561e-6,-5.955480832384088e-9,0.001944287443752201,-5.482065741624393e-6,-6.072125549617999e-9,0.0019444101506376872,-5.417660736467644e-6,-6.135020234542866e-9,0.001944506708268009,-5.424015514502002e-6,-6.12900103028505e-9,0.0019446061453395735,-5.5065945921930115e-6,-6.048882321230036e-9,0.0019447372317435117,-5.660164219490716e-6,-5.899883466024544e-9,0.0019449253683826993,-5.8687316263243564E-06,-5.6976552684035205e-9,0.001945189030333371,-6.106463427556881e-6,-5.467362321854533e-9,0.001945536161431122,-6.340235377640483e-6,-5.241200084831334e-9,0.0019459613750219223,-6.534129514976202e-6,-5.0540407206024526E-09,0.0019464450016517627,-6.655627092463941e-6,-4.9374385215283745e-9,0.0019469548828858596,-6.682567740270542e-6,-4.912878296775678e-9,0.001947451269570495,-6.60932933283276e-6,-4.985758640608991e-9,0.0019478943525422965,-6.450513493834239e-6,-5.14178782748562e-9,0.0019482532181079584,-6.2407756398245034e-6,-5.347142200685174e-9,0.0019485145355209999,-6.029956846976695e-6,-5.553227818359947e-9,0.001948688832848761,-5.8732962326046545e-6,-5.706255960069141e-9,0.0019488117889920867,-5.817657136586249e-6,-5.76069054929591e-9,0.001948938125527602,-5.886667676818439e-6,-5.69370500652984e-9,0.0019491274075020232,-6.0699856033129015e-6,-5.515569915679763e-9,0.0019494249289553265,-6.3227915401508744E-06,-5.270071903094241e-9,0.001949845257742566,-6.578590377092514e-6,-5.022021831291358e-9,0.0019503668701211755,-6.771379833246088e-6,-4.8356927104913765e-9,0.001950941025999169,-6.857006618888046e-6,-4.754047856449597e-9,0.0019515098360051739,-6.823912357418047e-6,-4.788264987953578e-9,0.0019520240658229982,-6.690500284410137e-6,-4.920280238133386e-9,0.0019524536244067533,-6.49382548244997e-6,-5.113816259747165e-9,0.0019527895094792508,-6.276752315075202e-6,-5.326941081183438e-9,0.0019530401509459683,-6.078332438438705e-6,-5.521497393189113e-9,0.001953225817980965,-5.928567237035448e-6,-5.668236483345585e-9,0.0019533734478342783,-5.84651286102268e-6,-5.74866469745462e-9,0.0019535127069048035,-5.840135760566559e-6,-5.755159455452236e-9,0.0019536730713173847,-5.906707798229399e-6,-5.690546687804252e-9,0.0019538812761171337,-6.033223898987462e-6,-5.567654612994196e-9,0.0019541585144023286,-6.197000707763707e-6,-5.408699430107965e-9,0.0019545171385095907,-6.367107479822374e-6,-5.243879262195881e-9,0.0019549572076320533,-6.5074833444539475e-6,-5.108346058501838e-9,0.0019554639201165612,-6.582363249082454e-6,-5.03694129358835e-9,0.001956007498430186,-6.563809875728904e-6,-5.0568720809815e-9,0.001956546986261798,-6.4398326830353245e-6,-5.179789317621606e-9,0.001957038319601614,-6.220390777973844e-6,-5.3959025305882386e-9,0.001957445211377807,-5.938406346561329e-6,-5.6729623501463044E-09,0.0019577497434098727,-5.6441961139281294e-6,-5.961701088875459e-9,0.00195795905198493,-5.3940117834603315e-6,-6.207071934832427e-9,0.001958105475933685,-5.235595818058769e-6,-6.362420055449834e-9,0.0019582395183540724,-5.194843437985116e-6,-6.402542072145623e-9,0.001958417079498149,-5.267559275761301e-6,-6.331712684108876e-9,0.0019586841391798864,-5.419208397437096e-6,-6.183867152169376e-9,0.0019590632992368684,-5.5936274617679324e-6,-6.0140407497047866e-9,0.0019595468572287758,-5.728796846682779e-6,-5.882943397267424e-9,0.001960099404208329,-5.774659859002328e-6,-5.8395474337831e-9,0.0019606692273000065,-5.706491547132605e-6,-5.908007246472056e-9,0.001961203875844111,-5.5290734820936245e-6,-6.083550911233866e-9,0.001961663710892444,-5.271294504247528e-6,-6.33775249294814e-9,0.0019620291042840325,-4.974990706173587e-6,-6.62948408349352e-9,0.0019623006544432146,-4.683271223898374e-6,-6.916401377222745e-9,0.001962494734377491,-4.432015613971804e-6,-7.163317469825513e-9,0.00196263744876942,-4.24555166449937e-6,-7.3464495352867865e-9,0.001962759151531451,-4.135625053205161e-6,-7.454405906541533e-9,0.0019628903475563684,-4.102163162853727e-6,-7.487397138171459e-9,0.001963058825873597,-4.134581772027361e-6,-7.45591629508366e-9,0.0019632873735704035,-4.2130275752858015e-6,-7.37949782948698e-9,0.001963591384460584,-4.309670509689841e-6,-7.285447272084761e-9,0.001963976034392938,-4.390698571258319e-6,-7.2069014925367394E-09,0.00196443330876546,-4.419933657794488e-6,-7.1793089036528066e-9,0.0019649399761413515,-4.364865771727716e-6,-7.23453490273262e-9,0.001965458415821613,-4.2050069352158806e-6,-7.392670556572303e-9,0.0019659423021510165,-3.940624693125234e-6,-7.653438357820787e-9,0.001966347619651084,-3.5979703831828426e-6,-7.991020087185636e-9,0.001966646410720784,-3.2268073690315724e-6,-8.35646294373238e-9,0.001966837804951861,-2.88866026076316e-6,-8.6892469084276e-9,0.0019669507350560987,-2.638942552458159e-6,-8.93489923720782e-9,0.001967036219204756,-2.509897091168396e-6,-9.061792188439865e-9,0.0019671521102095036,-2.5011703515333097e-6,-9.070385947269845e-9,0.001967346338386762,-2.5810055380569523e-6,-8.992002968155938e-9,0.0019676443316525953,-2.696486676324743e-6,-8.878723391163976e-9,0.0019680437540308916,-2.788602202893239e-6,-8.788584213578214e-9,0.00196851699192739,-2.8074134547524235e-6,-8.77069512204032e-9,0.0019690198105688102,-2.723406029950918e-6,-8.854087293070188e-9,0.001969503286514971,-2.5325606025790628e-6,-9.042705655591e-9,0.0019699255438227234,-2.2545503651888572e-6,-9.317149614451272e-9,0.0019702602048416143,-1.9254253998824907e-6,-9.64186138287465e-9,0.0019704998243126686,-1.587626778063647e-6,-9.974977396460062e-9,0.001970654436207738,-1.2805361083925496e-6,-1.0277671836369529E-08,0.001970746848452303,-1.0338220010957484e-6,-1.0520734387427998e-8,0.001970806813276138,-8.642671882979529e-7,-1.0687691080751363e-8,0.0019708657346138646,-7.754852094272468e-7,-1.0775054263680461e-8,0.001970952685885467,-7.59358064857489e-7,-1.0790873734095068e-8,0.001971091690133412,-7.980785287859418e-7,-1.075270881326718e-8,0.0019712997330186763,-8.661819417994633e-7,-1.0685635082892515e-8,0.001971584912381313,-9.325958251431366e-7,-1.0620251655417039e-8,0.001971944386893563,-9.632389319096306e-7,-1.0590148555848218e-8,0.0019723623172643737,-9.250101036695197e-7,-1.0627989281767547e-8,0.001972808830631805,-7.919702181976068e-7,-1.0759406320346234e-8,0.0019732419679683944,-5.536462457545765e-7,-1.0994779047683153e-8,0.001973614823661226,-2.2335933302557065e-7,-1.1320973812675675e-8,0.0019738884737286657,1.5799990717252462e-7,-1.1697589927724113e-8,0.0019740473224203847,5.280347963458416e-7,-1.2062959771330483e-8,0.00197410928803649,8.20358883314744e-7,-1.2351497457826083e-8,0.001974123317235958,9.877098265902934e-7,-1.251656570489879e-8,0.001974153255924493,1.0192999814429548e-6,-1.2547588496020676e-8,0.0019742556717545824,9.434428611000109e-7,-1.2472576911245205e-8,0.0019744623865517686,8.154180584666158e-7,-1.2346103517772794e-8,0.001974774135226251,6.982018680757243e-7,-1.2230299564424663e-8,0.001975164866836536,6.44800593857355e-7,-1.2177471453811616e-8,0.001975592187135106,6.871905621175031e-7,-1.221921769330186e-8,0.001976009248334955,8.327104581488337e-7,-1.2362852376014084e-8,0.0019763749925609457,1.0663971388143509e-6,-1.259366276420492e-8,0.001976661273607453,1.3571121056137057e-6,-1.2880913658228117e-8,0.0019768563928079714,1.6655158949823804e-6,-1.3185711559255818e-8,0.001976965150873674,1.9522178827619e-6,-1.3469078659361015e-8,0.0019770060231024044,2.1846215565256827e-6,-1.3698753468466588e-8,0.001977006519814771,2.3414551764659016e-6,-1.3853691582153881E-08,0.0019769979445145433,2.4146980122888094e-6,-1.3925966248255384e-8,0.0019770105929741008,2.409217344158514e-6,-1.3920387497226856e-8,0.0019770700502998715,2.340825972519958e-6,-1.3852563760087515e-8,0.0019771946962903715,2.233613597212906e-6,-1.3746268263541514e-8,0.001977394083641216,2.117137695108602e-6,-1.3630691930216664e-8,0.00197766776849491,2.02355937158754e-6,-1.353764934893884e-8,0.0019780043391657534,1.9844130263776497e-6,-1.3498405475263642e-8,0.001978380746958981,2.0264143260061553e-6,-1.353951384539365e-8,0.001978762774876461,2.1656876800633962e-6,-1.3677055583687163e-8,0.00197910834678161,2.4005955486988004e-6,-1.3909478074330424e-8,0.0019793755690996236,2.7052325640155345e-6,-1.4211108687579435e-8,0.0019795358980323765,3.0280329593492748e-6,-1.4530782563116931e-8,0.0019795888602322726,3.3008762468395384e-6,-1.4800926854883546e-8,0.001979569909580966,3.4602522751505376e-6,-1.4958607317158036e-8,0.0019795428292347273,3.4729664075210322e-6,-1.4971007396679774e-8,0.0019795766858330343,3.3517185374406653e-6,-1.485078131230214e-8,0.001979719097725177,3.150012236996182e-6,-1.4650917551003886e-8,0.0019799807430923235,2.939717703579574e-6,-1.4442508997057445e-8,0.001980337179051505,2.785210747885825e-6,-1.4289220607364234e-8,0.001980742604001265,2.726455749296866e-6,-1.423061560237119e-8,0.0019811460867675897,2.7744247605888214e-6,-1.4277633511904348e-8,0.001981503955526798,2.915383589334282e-6,-1.4416788031389436e-8,0.0019817866606374806,3.119072655949307e-6,-1.4618203584318185e-8,0.0019819810541467733,3.3472878569643014e-6,-1.4844069697144964e-8,0.0019820896686203603,3.5612914305410776e-6,-1.5055977587760283e-8,0.00198212818028609,3.7276910519524167e-6,-1.522077511487346e-8,0.0019821217200457113,3.822702343827983e-6,-1.531483119915164e-8,0.001982100526968717,3.8346574475360094e-6,-1.5326546430867445e-8,0.001982095446197697,3.7647342774013897e-6,-1.525707214555077e-8,0.0019821337647565624,3.626027788928867e-6,-1.511936833404366e-8,0.00198223586051072,3.441229396883561e-6,-1.4935887639064302e-8,0.00198241295750562,3.2394074768603723e-6,-1.4735395171384388e-8,0.001982665941468611,3.0524134698759988e-6,-1.4549442314482317e-8,0.0019829850278711707,2.9111670054398966e-6,-1.4408723058841443e-8,0.0019833501452222605,2.841809897117393e-6,-1.4339272286988301e-8,0.0019837320752173157,2.8615334931783054e-6,-1.4358293854803897e-8,0.001984094861776407,2.9738376767734945e-6,-1.4469388182609625e-8,0.001984400625925791,3.163606036205151e-6,-1.465759406565055e-8,0.001984617903763515,3.39387177161666e-6,-1.4886148324894974e-8,0.001984733239124418,3.6078493427449448e-6,-1.5098540495896356e-8,0.001984762586708769,3.740319866084089e-6,-1.522990885918146e-8,0.001984755051949164,3.739151728899739e-6,-1.5228487094580237e-8,0.0019847812506757346,3.589373742862749e-6,-1.507949371776934e-8,0.0019849070018280613,3.324884794977739e-6,-1.481665653780441e-8,0.0019851657075547475,3.017077739740492e-6,-1.4510837813089766e-8,0.001985546337819205,2.7455641756043497e-6,-1.4240999293311826e-8,0.0019860027126962026,2.5689052542741243e-6,-1.4065234505030063e-8,0.001986474911058454,2.5102785475177926e-6,-1.4006586884914449e-8,0.001986909190146146,2.5597820777408202e-6,-1.4055310223533645e-8,0.001987269141598994,2.685729541695863e-6,-1.4180024373601416e-8,0.001987538415975901,2.8470244196991636e-6,-1.4339955147058143e-8,0.0019877184535379826,3.0026745725009918e-6,-1.4494369758932575e-8,0.001987824315689395,3.1178169485181043e-6,-1.4608579499453113e-8,0.0019878803285720108,3.1671431670578377e-6,-1.4657380747630862e-8,0.001987916017903525,3.1367378731829e-6,-1.4626916752757822e-8,0.00198796225735607,3.0248075252962984e-6,-1.4515412078652403e-8,0.001988047562103157,2.8413753222055076e-6,-1.4332850735856531e-8,0.0019881946131477435,2.60687216740141e-6,-1.4099542829987458e-8,0.001988417298411971,2.349527873938127e-6,-1.3843513258288562e-8,0.0019887187102340417,2.1016769841030624e-6,-1.3596844711551368e-8,0.001989090425727029,1.895388778983732e-6,-1.3391377619170956e-8,0.001989513160461744,1.7578895979745178e-6,-1.3254203612054567e-8,0.001989958770446367,1.7071788559904026e-6,-1.3203316404532476e-8,0.001990393534070427,1.7481911434179824e-6,-1.3243755974189393e-8,0.0019907827350952195,1.8697874359525122e-6,-1.336454230925692e-8,0.00199109681028482,2.0431157285996407e-6,-1.3536978415285554e-8,0.001991319151058384,2.222726763531207e-6,-1.371574429721612e-8,0.0019914544946981836,2.3526243150694117e-6,-1.3844968523515149e-8,0.0019915347809361574,2.379086977407752e-6,-1.3871077631016254e-8,0.001991617224389839,2.269346242030513e-6,-1.376144811926663e-8,0.0019917698902892863,2.0294384279911193e-6,-1.3522157951942242e-8,0.0019920466456429435,1.7095202837346074e-6,-1.3203206351826863e-8,0.001992463423863107,1.3885001624897012e-6,-1.288317749571206e-8,0.0019929908638321907,1.143480512993817e-6,-1.2638853847306288e-8,0.0019935682104733686,1.0214708448982725e-6,-1.2517091776224162e-8,0.0019941285130815195,1.0283869976145581e-6,-1.2523846927649901e-8,0.0019946200002937324,1.1365035316745898e-6,-1.2631538348227922e-8,0.001995015574720192,1.300685938679259e-6,-1.2795181679410482e-8,0.0019953118522825736,1.4734595686959486e-6,-1.2967407715671091e-8,0.0019955231121392253,1.6145721408287418e-6,-1.3108023269665573e-8,0.001995674485554681,1.6953207844439172e-6,-1.3188361405392658e-8,0.001995796372307964,1.6996250991069645e-6,-1.3192379686625797e-8,0.0019959203169879858,1.6236696505985474e-6,-1.3116312565503816e-8,0.0019960757921594096,1.475055708754886e-6,-1.2967807444551166e-8,0.0019962873383381975,1.271613814117125e-6,-1.2764702800757431e-8,0.001996571813660661,1.039617664310189e-6,-1.253321173415832e-8,0.001996935876688311,8.10987734279826e-7,-1.2305124592895642e-8,0.0019973742307001037,6.19237649378676e-7,-1.2113796509748371e-8,0.0019978693382533895,4.943937406260044e-7,-1.198913399233764e-8,0.0019983931254425164,4.575767847518032e-7,-1.1952232495962723e-8,0.0019989108215040154,5.162092500765573e-7,-1.2010593106379118e-8,0.0019993866344011147,6.609218430927506e-7,-1.215498240158599e-8,0.001999790531775251,8.650472468204294e-7,-1.2358850045151053e-8,0.0020001051872744658,1.0872195388065961e-6,-1.258086799786539e-8,0.0020003320300538583,1.2774384887276872e-6,-1.2770987731393865e-8,0.0020004948833237455,1.386820963278251e-6,-1.2880238021882123e-8,0.0020006389899060112,1.380409164658492e-6,-1.2873596607745973e-8,0.0020008230599442827,1.250445294729628e-6,-1.2743295658742569e-8,0.0020011035292148414,1.0248522465183068e-6,-1.2517287786395435e-8,0.0020015145004623476,7.642707366236366e-7,-1.2256256246504428e-8,0.002002052224806011,5.444286659134359e-7,-1.203598958625036e-8,0.0020026739455431216,4.2948544136936147e-7,-1.1920745495741174e-8,0.002003313579512777,4.496948714502562e-7,-1.1940890619262743e-8,0.0020039058326337656,5.94885512572639e-7,-1.208630936784008e-8,0.0020044058510690797,8.245709877731227e-7,-1.2316460457905977e-8,0.002004796841439746,1.0859096843776425e-6,-1.2578353220820108e-8,0.0020050868112686674,1.3296101468781744e-6,-1.2822521486441082e-8,0.0020053001577274294,1.5190539612688328e-6,-1.3012215262669332e-8,0.002005469139021302,1.6331027930982382e-6,-1.3126245137314179e-8,0.0020056275325741548,1.6652065850658668e-6,-1.3158091335992063e-8,0.0020058066106900104,1.6211993428942383e-6,-1.3113673482230696e-8,0.0020060325903481888,1.5170686408574125e-6,-1.3009079439298547e-8,0.002006324650222416,1.3769637497429265e-6,-1.2868534813545612e-8,0.0020066929754689877,1.2310800018681066e-6,-1.2722269046986007e-8,0.002007136798951896,1.1127780991151567e-6,-1.2603647647411476e-8,0.0020076429784578894,1.054378781853201e-6,-1.254500526328362e-8,0.002008186099861188,1.081598763449451e-6,-1.2572118807769247e-8,0.0020087311297168646,1.2074288608481698e-6,-1.2698088673752461e-8,0.002009239103287181,1.4270773152031296e-6,-1.2918234760844035e-8,0.0020096752789058284,1.716007875070945e-6,-1.3208055118895744e-8,0.0020100179652990918,2.0326550064858777e-6,-1.352587734554098e-8,0.0020102654993804938,2.3260539621831587e-6,-1.3820486693134687e-8,0.0020104390771972405,2.547030253336762e-6,-1.4042386690680413e-8,0.002010580106295075,2.6604804750482006e-6,-1.4156191902665433e-8,0.0020107419502173964,2.6557832329077294e-6,-1.4151139319925016e-8,0.0020109771879805558,2.5523069324261464e-6,-1.4046647718123685e-8,0.0020113229426591533,2.397375789826293e-6,-1.3890280276741745e-8,0.0020117884211216064,2.2554114694326285e-6,-1.3746841070905745e-8,0.0020123497341117697,2.1898980519676447e-6,-1.3680257875013628e-8,0.002012955651515441,2.2438213886840194e-6,-1.3733900181722728e-8,0.0020135433728180985,2.4266447610087438e-6,-1.39174182558369e-8,0.0020140579317852875,2.71366437476233e-6,-1.4206014604787913e-8,0.0020144668228012324,3.057204948402956e-6,-1.4551671002974376e-8,0.0020147647475891694,3.403199418756304e-6,-1.4899863316082618e-8,0.0020149692079483423,3.7055522989431925e-6,-1.520408419186706e-8,0.00201511150064555,3.9340846123691215e-6,-1.5433892567141782e-8,0.0020152277251075717,4.076173637410506e-6,-1.5576577887703656e-8,0.002015352239871468,4.134536644454852e-6,-1.563490853663456e-8,0.0020155138461719147,4.123692670047893e-6,-1.5623536213635403e-8,0.002015733840614426,4.0666243269108735e-6,-1.55656072328393e-8,0.0020160248674950276,3.992054942875605e-6,-1.549001455038565e-8,0.002016389829459018,3.93198510839712e-6,-1.542893704410032e-8,0.0020168206820040395,3.918765993757011e-6,-1.541493242521958e-8,0.0020172975756185623,3.980985777701276e-6,-1.5476833726911856E-08,0.0020177894153615887,4.137875398081949e-6,-1.5634127210906082e-8,0.002018257233673766,4.392939175307108e-6,-1.589050240627824e-8,0.0020186613266694954,4.728908346737077e-6,-1.6228694079735292e-8,0.0020189715206215524,5.107091194937329e-6,-1.660975065177038e-8,0.0020191776486713324,5.473615092617835e-6,-1.6979292753435012e-8,0.002019295779758033,5.772429950864491e-6,-1.7280651483171656e-8,0.002019366518176988,5.961349214838775e-6,-1.7471108259171236e-8,0.0020194449006417144,6.025194125173232e-6,-1.7535205282025255e-8,0.0020195851788385455,5.980999551576999e-6,-1.7490022440756466e-8,0.0020198257279237858,5.873603143711555e-6,-1.7380744515888384e-8,0.0020201787279912464,5.763467291729197e-6,-1.7268403150332105e-8,0.002020627231636164,5.710627551405569e-6,-1.7213706810198902e-8,0.002021130054639501,5.7592346508056935e-6,-1.7261429057047976e-8,0.002021632985760314,5.926817997082376e-6,-1.7429501306651574e-8,0.0020220830928120654,6.20118699778434e-6,-1.7705783145695567e-8,0.0020224418380563767,6.54565640069781e-6,-1.8053264624984565e-8,0.002022693062944097,6.910491614078083e-6,-1.842162169656846e-8,0.0020228439203432147,7.246330768272015e-6,-1.876083414523109e-8,0.00202291967499455,7.515105216752511e-6,-1.9032294027402762e-8,0.002022955371584404,7.695808702277565e-6,-1.9214681031198905e-8,0.0020229876289183193,7.785067752112486e-6,-1.9304540519772036e-8,0.002023048591573068,7.794246700981407e-6,-1.931333154928886e-8,0.0020231624980154585,7.745203409912733e-6,-1.926311028183914e-8,0.0020233442466032186,7.666212202219833e-6,-1.918240528759956e-8,0.0020235989734061375,7.588624354679677e-6,-1.9102866270263047e-8,0.002023921859131006,7.544034825291021e-6,-1.9056442936228402e-8,0.0020242978850773183,7.561308638331777e-6,-1.907241483206435e-8,0.0020247018586647472,7.662755338235264e-6,-1.9173526603769192e-8,0.0020250996748987574,7.859045107714878e-6,-1.9370801266084847e-8,0.0020254522736660083,8.143408211325172e-6,-1.9657586738974178e-8,0.0020257235021321623,8.487284167289417e-6,-2.0005064388235096e-8,0.0020258914008579325,8.841089839559924e-6,-2.0362983469746076e-8,0.0020259593522022504,9.143502782538063e-6,-2.0669092452411597e-8,0.002025960886878649,9.339097586877438e-6,-2.0867079499950275e-8,0.0020259529258870486,9.398254944606137e-6,-2.0926796085751366e-8,0.0020259980842913805,9.329515946722925e-6,-2.085676872498728e-8,0.0020261436498098338,9.177436067364245e-6,-2.0702003689784143e-8,0.002026406976788043,9.007145260904893e-6,-2.0528373390696197e-8,0.0020267726311981303,8.883574211806648e-6,-2.0401649057662443e-8,0.002027200045442295,8.85396367750792e-6,-2.0369837232274553e-8,0.00202763668051562,8.938366466169523e-6,-2.0453528387901555e-8,0.002028031669042613,9.128606584898225e-6,-2.0644735364591285e-8,0.0020283466335991557,9.39376249959402e-6,-2.0912327645621907e-8,0.00202856210099846,9.689503075361093e-6,-2.121142268331872e-8,0.002028679138809268,9.968698912730516e-6,-2.1494151041399055e-8,0.0020287166795685033,1.0191047732068404e-5,-2.1719481725996414e-8,0.0020287057358542504,1.0329897581158466e-5,-2.186021727137697e-8,0.0020286822638829623,1.0375287950705e-5,-2.1906123600102078e-8,0.0020286804677956084,1.0333353870444897e-5,-2.186332802988044e-8,0.0020287278066525257,1.022312602899354e-5,-2.175105158087606e-8,0.0020288421647846723,1.0072112218170743e-5,-2.1597111262225863e-8,0.0020290308875681577,9.911875842701016e-6,-2.143344844153332e-8,0.0020292909665944156,9.774243576700235e-6,-2.129232494824514e-8,0.0020296097239808366,9.688113323346603e-6,-2.1203133387480477e-8,0.0020299656877050217,9.67644684934271e-6,-2.11893658424898e-8,0.0020303297882378582,9.752905982662366e-6,-2.1265165055571597e-8,0.0020306676073327287,9.917766980710009e-6,-2.1431087980682735e-8,0.002030943934628873,1.0153584998504719e-5,-2.1669593622508353e-8,0.0020311306708723493,1.0422590466425067e-5,-2.1942323425636325e-8,0.002031217579951732,1.0669289798588603e-5,-2.219275019954811e-8,0.002031222335730858,1.0831796516238949e-5,-2.235778014634001e-8,0.002031193048301995,1.0861890930176747e-5,-2.2388241959551486e-8,0.00203119703859634,1.0746492481003186e-5,-2.2270735146629827e-8,0.002031297195154339,1.0517768776177442e-5,-2.2037844471414716e-8,0.0020315273094421984,1.0243291108028e-5,-2.1758092239078608e-8,0.0020318802493412753,1.0000530434740792e-5,-2.1510081000851584e-8,0.002032314137298937,9.850022664826762e-6,-2.1355340836590286e-8,0.002032770207259545,9.81982278786599e-6,-2.132258299426645e-8,0.0020331917199350323,9.904280503784482e-6,-2.14063888568104e-8,0.002033536949342053,1.0072489993620747e-5,-2.157566092331201e-8,0.0020337847861032054,1.0280151984724976e-5,-2.178555756437125e-8,0.002033934644404204,1.0480633734434917e-5,-2.1988684509594312e-8,0.002034002956023895,1.0633476288885205e-5,-2.2143773497299168e-8,0.0020340179562521273,1.0710065550269308e-5,-2.222152752762457e-8,0.002034013813275749,1.0696609639052564e-5,-2.2207730651406188e-8,0.002034024860105363,1.0594604521297306e-5,-2.2103765848150748e-8,0.002034080587443095,1.0419122419825089e-5,-2.19248717814829e-8,0.0020342019278727854,1.0195455518673118e-5,-2.169670062200928e-8,0.0020343991620295483,9.954802844166271e-6,-2.145091239995425e-8,0.0020346714321390342,9.729785129053017e-6,-2.122063084652677e-8,0.0020350074824118905,9.550386709694598e-6,-2.103636451097717e-8,0.002035387185509016,9.440493583899565e-6,-2.0922533216016104e-8,0.0020357836037984364,9.414912608424384e-6,-2.089444107511516e-8,0.0020361655489376162,9.476655420791237e-6,-2.0955452598258494e-8,0.002036501001353076,9.614310232276557e-6,-2.1094206564680248e-8,0.002036762210872142,9.79994037620005e-6,-2.1282363869390327e-8,0.0020369330481708123,9.989184837192771e-6,-2.1474658477092256e-8,0.002037017771296381,1.012628359366276e-5,-2.1614061269663444e-8,0.002037047915437464,1.015658110540848e-5,-2.164463677168314e-8,0.0020370813026867737,1.0046056108125668e-5,-2.153154985964805e-8,0.0020371875508600258,9.800650799576031e-6,-2.1280773292665346e-8,0.002037421936656467,9.472336381754918e-6,-2.094520101904596e-8,0.0020378005857027153,9.143072453333508e-6,-2.0608270685343048e-8,0.0020382928899801513,8.892876275813154e-6,-2.035149508235166e-8,0.0020388358398022157,8.770499811406708e-6,-2.0224669132370346e-8,0.002039359770557812,8.781941663669052e-6,-2.0234157130035133e-8,0.0020398103504522254,8.897729739466089e-6,-2.0350211586612295e-8,0.0020401588643933475,9.069382952218172e-6,-2.0523629149456965e-8,0.0020404019625274035,9.245293559122839e-6,-2.0701866584475123e-8,0.002040555827693921,9.381504609670853e-6,-2.0840025781472896e-8,0.0020406489259659406,9.447228151930216e-6,-2.0906536788607898e-8,0.0020407154331214734,9.426696770852405e-6,-2.088512838607746e-8,0.00204078985578392,9.318873354513713e-6,-2.077459998128169e-8,0.00204090271395194,9.135845367544504e-6,-2.0587206452044835e-8,0.0020410771407216085,8.900239108317796e-6,-2.034599700431967e-8,0.002041326419699712,8.641807325844239e-6,-2.0081292128129632e-8,0.0020416526435947345,8.393337339943669e-6,-1.982648942593215e-8,0.002042046703171445,8.186237577472187e-6,-1.9613586261310882e-8,0.0020424895896427346,8.046339142518472e-6,-1.9468954219893878e-8,0.0020429547843234747,7.990305000968632e-6,-1.940972395069631e-8,0.0020434115251253306,8.022843551834938e-6,-1.9440936885743926e-8,0.002043828782565443,8.134892448156656e-6,-1.9553616311880043e-8,0.0020441798602190554,8.302917025788585e-6,-1.972393223071845e-8,0.0020444477519546617,8.4896969525292e-6,-1.9913901817449882e-8,0.0020446311903293338,8.647706547103258e-6,-2.0074815114312748e-8,0.0020447501973034107,8.726723226422148e-6,-2.0155077328217368e-8,0.002044848244940901,8.686627904246379e-6,-2.011341515541943e-8,0.0020449867383772256,8.513737749746249e-6,-1.9935671842505055e-8,0.002045228541166259,8.234144633017872e-6,-1.964846070320371e-8,0.0020456134638839763,7.913572361465218e-6,-1.931898185881672e-8,0.0020461377861319533,7.63729312921591e-6,-1.9034476270744172e-8,0.0020467521585061633,7.477202828544634e-6,-1.8868592712503943e-8,0.002047381272856939,7.464688941483806e-6,-1.8853644549237028e-8,0.0020479532062943314,7.58431837206364e-6,-1.8974080315531745e-8,0.0020484215587382487,7.78774400789283e-6,-1.918060677428675e-8,0.0020487722662357426,8.015405362121847e-6,-1.941233147259879e-8,0.002049018198077936,8.214197838192044e-6,-1.9614843383185996e-8,0.0020491889216315115,8.346735295295853e-6,-1.9749735808637718e-8,0.0020493210512069144,8.393632060507522e-6,-1.979700451228811e-8,0.0020494512449664246,8.351957607960816e-6,-1.9753525015406534e-8,0.0020496117250101715,8.23232744734854e-6,-1.963010652990153e-8,0.002049827426776408,8.055769435622714e-6,-1.944827439536342e-8,0.002050114053526486,7.850558869214728e-6,-1.9236989441846953e-8,0.0020504767490431433,7.648847136675355e-6,-1.9029157282885984e-8,0.0020509094756088818,7.482854532348159e-6,-1.8857725613841873e-8,0.002051395453334524,7.380623768682452e-6,-1.8751377321085998e-8,0.0020519090052662243,7.361760387571575e-6,-1.8730230620980626e-8,0.0020524188593675297,7.433818308990292e-6,-1.8802173480598776e-8,0.0020528926844391848,7.589950602549962e-6,-1.8960428834936324e-8,0.0020533024421489844,7.808390524123514e-6,-1.9182928498524213e-8,0.0020536299340462158,8.054192913403938e-6,-1.9433978306497595e-8,0.0020538718361486044,8.283434195619361e-6,-1.9668482974938482e-8,0.0020540434289632683,8.45004521906672e-6,-1.9838956797592828e-8,0.0020541797514216247,8.515402796906978e-6,-1.99054534057615e-8,0.0020543322054149753,8.459930706160225e-6,-1.984759651675978e-8,0.0020545585952090927,8.293944827313858e-6,-1.9675807879402267e-8,0.0020549063810787,8.062431097372e-6,-1.9436246264897823e-8,0.0020553934153247633,7.837497117823304e-6,-1.920304947832446e-8,0.002055995700465939,7.696451661454231e-6,-1.9055809090821722e-8,0.002056651811353018,7.693154521324639e-6,-1.9050112336143213e-8,0.0020572846695030584,7.837818600247798e-6,-1.919671296351236e-8,0.002057829365555983,8.096658859821898e-6,-1.946106441052887e-8,0.002058252145844519,8.409493816274429e-6,-1.978134730901258e-8,0.0020585536030746266,8.712990432294358e-6,-2.0092375696100318e-8,0.002058759808669095,8.957877739096902e-6,-2.0343349339844396e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json new file mode 100644 index 000000000..4dcccb37b --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":17000,"numberOfSamples":1000,"samples":[0.0020589095356776037,9.116105504093818e-6,-2.0505272164235435e-8,0.002059043510293161,9.180255067418492e-6,-2.0570390059257767e-8,0.0020591976431414568,9.159302745262173e-6,-2.054785882824188e-8,0.002059399625909375,9.073759899582225e-6,-2.045874721325323e-8,0.0020596674746746844,8.95148439515232e-6,-2.033170765436402e-8,0.00206000888513569,8.824207938457376e-6,-2.019937465729761e-8,0.002060420904195782,8.724308617167852e-6,-2.0095032184184587e-8,0.0020608899779143205,8.68132520947309e-6,-2.0049049012491025e-8,0.0020613928365786132,8.717972919315283e-6,-2.008482719556681e-8,0.0020618988348358,8.845955809078727e-6,-2.021453482958727e-8,0.002062374125258358,9.062441716260134e-6,-2.0435474508193457e-8,0.0020627874895708226,9.348364762479418e-6,-2.072826871336509e-8,0.0020631169945883126,9.669654112154566e-6,-2.1058015950605946e-8,0.0020633560604633263,9.98198746864013e-6,-2.137908652587735e-8,0.002063517288428266,1.023877017749716e-5,-2.164330411583651e-8,0.002063632645942536,1.0401139220424818e-5,-2.1810299545772995e-8,0.0020637491502467223,1.0448183572471843e-5,-2.185815206205818e-8,0.0020639198525462597,1.0385066085844465e-5,-2.1791885352537092e-8,0.002064190922547863,1.0246206042140799e-5,-2.1646843352671344e-8,0.002064587291919049,1.0090636415679369e-5,-2.1483949591921145e-8,0.0020651014652658243,9.988078798241432e-6,-2.13753442005915e-8,0.002065691367589172,9.998026570269695e-6,-2.1382754626188622e-8,0.002066291012197917,1.0149230388591655e-5,-2.153622147579785e-8,0.002066831501387849,1.0429452683376921e-5,-2.182338975756979e-8,0.002067263169333099,1.0791237145000513e-5,-2.2195367611649683e-8,0.002067568557615017,1.1170401662074308e-5,-2.2585814103541868e-8,0.0020677618994642912,1.1507219742502304e-5,-2.2932879418767003e-8,0.0020678786593962845,1.1760992660056131e-5,-2.319433420100162e-8,0.00206796228678175,1.1914801500387303e-5,-2.3352529680849556e-8,0.0020680536670884195,1.1972789302221374e-5,-2.3411612372762594e-8,0.002068185083895209,1.1954165594086708e-5,-2.339133460421787e-8,0.0020683778972125345,1.1887104070253944e-5,-2.3320744180844544e-8,0.002068642307553408,1.180390121082168e-5,-2.3233173740066774e-8,0.002068977856263579,1.1737393814191125e-5,-2.3162537647244684e-8,0.002069373999389383,1.1717978706675388e-5,-2.3140267827765654e-8,0.0020698107873335274,1.1770514429890422e-5,-2.3192140613020073e-8,0.0020702602014525747,1.1910715973072524e-5,-2.3334573248691355e-8,0.002070688939508567,1.2141252692424613e-5,-2.3570578997251697e-8,0.0020710632916822844,1.2448527390387745e-5,-2.3886375187523575e-8,0.002071356066541742,1.2801803268012288e-5,-2.4250382510760558e-8,0.0020715543319876706,1.3156451701310057e-5,-2.4616491549786515e-8,0.00207166551766087,1.3462116971780244e-5,-2.493246716960177e-8,0.002071719050649512,1.3674624989544023e-5,-2.5152297788431047e-8,0.0020717617377544535,1.3768431742533288e-5,-2.524915847137308e-8,0.0020718472574079074,1.374550081599251e-5,-2.5224700784713937e-8,0.0020720223622184525,1.363727582508806e-5,-2.5111195478472052e-8,0.0020723137031515636,1.3498471162329926e-5,-2.496519243244624e-8,0.002072719191338335,1.339381780152275e-5,-2.485385332221292e-8,0.002073206795757431,1.338096643139214e-5,-2.483723759380846e-8,0.0020737219362692,1.3494245133198445e-5,-2.4951381108780162e-8,0.00207420211020392,1.373455339359368e-5,-2.5197661804572466e-8,0.0020745944143773383,1.4069430089365293e-5,-2.554271199173207e-8,0.002074869746023746,1.4443723774723879e-5,-2.5929405831806994e-8,0.0020750285128816304,1.479667972622433e-5,-2.6294607590510123e-8,0.0020750966176363173,1.5078544268788864e-5,-2.6586483364644268e-8,0.0020751148669499956,1.5260889492796408e-5,-2.677529701011583e-8,0.0020751270004247535,1.5338783722705668e-5,-2.6855711891848633e-8,0.0020751704833224575,1.5326746513909972e-5,-2.684261106263222e-8,0.0020752715762822763,1.5251984116094389e-5,-2.6764080409271047e-8,0.002075444009124103,1.5147762629496005e-5,-2.6654533703698157e-8,0.002075689729548116,1.504827746606285e-5,-2.6549398220846943e-8,0.002076000366210549,1.4985082629739757e-5,-2.6481430881895264e-8,0.002076358657231711,1.498441301720375e-5,-2.6477967033587838e-8,0.0020767397992757677,1.5064587977735741e-5,-2.6558240543651232e-8,0.002077113259954405,1.5233004156103975e-5,-2.6730240753699176e-8,0.0020774459186594374,1.548284453443912e-5,-2.6987226620384064e-8,0.002077707337417931,1.5790500049088474e-5,-2.7304945193864276e-8,0.002077877261826839,1.6115682164498162e-5,-2.764165309505029e-8,0.0020779538822941765,1.6406603632449e-5,-2.7943458192743133e-8,0.0020779594398716464,1.6611353072832964e-5,-2.8156170195329946e-8,0.0020779390055978278,1.6693382219093287e-5,-2.824146792653341e-8,0.0020779502913158923,1.6645409426593984e-5,-2.8191416586278918e-8,0.002078046844161103,1.6494938438233428e-5,-2.803425405045996e-8,0.0020782610782756087,1.6297779276038386e-5,-2.782772424649056e-8,0.0020785941150732565,1.612175588363035e-5,-2.7642241561896423e-8,0.0020790159587568842,1.6027141518751153e-5,-2.754063775278662e-8,0.0020794748756735038,1.6050743503202965e-5,-2.756160492638588e-8,0.0020799118940896845,1.619791239208086e-5,-2.7711253577368164e-8,0.0020802757626315633,1.6443513592555717e-5,-2.7963924844698012e-8,0.0020805345246273253,1.674043522617959e-5,-2.8270877063799093e-8,0.002080681226938013,1.7032634096537527e-5,-2.857380300224129e-8,0.002080732951995497,1.7268943244941685e-5,-2.881925151534997e-8,0.002080724194408864,1.7413982316484317e-5,-2.8970092565580946e-8,0.0020806971435383278,1.745367834708195e-5,-2.901136620869484e-8,0.0020806920260737966,1.7394912621893336e-5,-2.8949975367327408e-8,0.002080739988704213,1.72607815502705e-5,-2.8809768850635676e-8,0.002080859515267317,1.70838985357426e-5,-2.8624560861473263e-8,0.0020810559636607064,1.6899885539921436e-5,-2.8431349761988563e-8,0.0020813230557203376,1.6742274751481572e-5,-2.8265022453786016e-8,0.0020816451171855417,1.6639033795220282e-5,-2.8154767386943654e-8,0.0020819993189068113,1.6610203007369465e-5,-2.812164312243963e-8,0.0020823577851628115,1.6665911699555345e-5,-2.817650914736122e-8,0.0020826899633292987,1.680426930790959e-5,-2.8317770861029884e-8,0.002082966018551884,1.7009150846059025e-5,-2.852896394235378e-8,0.002083162073066397,1.7248756752608075e-5,-2.8777135556946513e-8,0.0020832674579102563,1.7476932878513038e-5,-2.9014151463292816e-8,0.0020832924694833593,1.7639846001218737e-5,-2.9183675584427234e-8,0.0020832727739094805,1.7689422424584678e-5,-2.9235274256026354e-8,0.0020832653064138955,1.7601030960855478e-5,-2.9142946193151746e-8,0.0020833330245630757,1.7387646058308056e-5,-2.8919920603682593e-8,0.002083522753935488,1.7100955802243916e-5,-2.8619808329920083e-8,0.0020838468179513333,1.6815710705222776e-5,-2.8320330725747508e-8,0.002084278439419095,1.6604039049236554e-5,-2.8096659219011013e-8,0.0020847625566020353,1.6512511531122853e-5,-2.799759622144117e-8,0.002085235023267062,1.6551414097566436e-5,-2.8034351982823543e-8,0.0020856408987005555,1.6697366798988196e-5,-2.8183104552679034e-8,0.0020859461245631033,1.690450794263447e-5,-2.8396456266918066e-8,0.0020861415082864985,1.7118421130651345e-5,-2.8617819915088376e-8,0.0020862405867537945,1.7288696492304295e-5,-2.8794501922373435e-8,0.0020862736330299575,1.737809826474195e-5,-2.8887350772104285e-8,0.002086279804006059,1.7367702998098975e-5,-2.8876251011356654e-8,0.0020862990421835854,1.7258011428210435e-5,-2.8761400589556528e-8,0.002086365115922038,1.7066487746353264e-5,-2.8560802190087286e-8,0.0020865008408489875,1.682256943694604e-5,-2.8305053907286174e-8,0.002086715919263949,1.656156014476701e-5,-2.8030941270095572e-8,0.0020870071990390262,1.6318714925791584e-5,-2.7775237638634485e-8,0.0020873606761909773,1.612444436636325e-5,-2.7569706696292268e-8,0.0020877543487093165,1.6001012803300085e-5,-2.7437694306513178e-8,0.0020881612220372825,1.596050578626689e-5,-2.7392040420271822e-8,0.002088552230288847,1.6003549082607828e-5,-2.7433729548710437e-8,0.0020888992435952967,1.611837191802468e-5,-2.7550832366391624e-8,0.0020891786471092483,1.6280160651193357e-5,-2.7717702617435652e-8,0.0020893761169842166,1.6451350603092855e-5,-2.7895164399045403e-8,0.002089492678959948,1.6584503687808136e-5,-2.803347849401429e-8,0.0020895506186168747,1.6629975070205594e-5,-2.8080421596796448e-8,0.0020895956639829702,1.654957839540818e-5,-2.799570583593579e-8,0.002089690395538273,1.6333804471878623e-5,-2.7769090685971695e-8,0.002089896033722322,1.6014373257708863e-5,-2.7433529126734662e-8,0.0020902475806469254,1.5661140369289124e-5,-2.7061908434893643e-8,0.002090735796633609,1.5359270098771867e-5,-2.67432120407e-8,0.00209130859780546,1.5176778132377433e-5,-2.6548672939580005e-8,0.002091891842946931,1.5140754055244766e-5,-2.6506954770801897e-8,0.0020924165245282877,1.5233761825979138e-5,-2.660030176659009e-8,0.002092838108888907,1.5407435049015967e-5,-2.6778581186473033e-8,0.0020931426145603437,1.5602073463539797e-5,-2.697961713028947e-8,0.002093342524197185,1.576303163752042e-5,-2.7146256028244872e-8,0.0020934681224012187,1.5850536534203465e-5,-2.7236664035016808e-8,0.002093558330924372,1.584356238962605e-5,-2.7228488040135843e-8,0.002093652929189025,1.5739702587511593e-5,-2.711885649216876e-8,0.002093786585558144,1.5552692842214613e-5,-2.6921891528832596e-8,0.002093984610700063,1.530847635566744e-5,-2.6664625730728237e-8,0.002094260408522702,1.5040327883243397e-5,-2.6381866829385993e-8,0.0020946146605398033,1.4783590396206654e-5,-2.6110629573656682e-8,0.0020950361908124754,1.4570612940870071e-5,-2.5884801421741135e-8,0.002095504287982403,1.4426464136665532e-5,-2.573066979561237e-8,0.0020959920098880948,1.436589162782448e-5,-2.566378974830331e-8,0.0020964698904481064,1.4391654082877689e-5,-2.568727581986414e-8,0.002096909672107035,1.4494027260271335e-5,-2.5791262682142066e-8,0.002097287955238897,1.4651254484391914e-5,-2.595327902709219e-8,0.0020975898588619776,1.483086589384205e-5,-2.6139490483611765e-8,0.0020978129239909112,1.4992194433574303e-5,-2.6307227096703933e-8,0.002097971126731232,1.5091109530391926e-5,-2.6409931481351222e-8,0.002098097703998993,1.5088284225384236e-5,-2.6405927211233465e-8,0.002098243998954342,1.4961356647547054e-5,-2.6271336291410024e-8,0.002098470643735973,1.4718558663920096e-5,-2.601451060716538e-8,0.002098829142769062,1.4406847413029446e-5,-2.568461021728266e-8,0.002099338584112944,1.4104891981013634e-5,-2.5364227738068856e-8,0.002099970577078888,1.389718581053549e-5,-2.51422113367583e-8,0.0021006554024350413,1.3839945599057747e-5,-2.5077873022135188e-8,0.0021013089162565824,1.3939075366767634e-5,-2.5177804466452004e-8,0.0021018642410454017,1.4152966541286029e-5,-2.5398697748388907e-8,0.002102290544234685,1.4414719463911722e-5,-2.5670555129297722e-8,0.002102593458372229,1.4657717276490355e-5,-2.5923475251490083e-8,0.002102803823419274,1.4832523419603329e-5,-2.610539494337901e-8,0.002102963997051854,1.4912874042482475e-5,-2.6188440763515092e-8,0.00210311701985688,1.489429901720448e-5,-2.6167581509441245e-8,0.00210329981316489,1.4789514144286761e-5,-2.605589711490424e-8,0.0021035395604685125,1.4623216960515582e-5,-2.5879181897882027e-8,0.002103852012857229,1.4427256816148642e-5,-2.5670874573032203e-8,0.0021042409306866908,1.4236166858646234e-5,-2.546731313778813e-8,0.002104698454320543,1.4082882456060734e-5,-2.53031751996881e-8,0.0021052064752133293,1.3994654154339699e-5,-2.5207158431920774e-8,0.0021057391315831625,1.3989407920046565e-5,-2.519818244598461e-8,0.002106266387320575,1.4073050130678136e-5,-2.5282607415599342e-8,0.002106758334830071,1.423820083636465e-5,-2.5452924691916057e-8,0.0021071897012097697,1.4464569256647e-5,-2.568810271807864e-8,0.0021075440763852053,1.4720984983073159e-5,-2.5955605114652786e-8,0.002107817455023985,1.4968991587208612e-5,-2.6215033812032676e-8,0.0021080207898770947,1.5167881763610569e-5,-2.6423345985019315e-8,0.0021081811782254606,1.52812712911579e-5,-2.6541802838830476e-8,0.002108340721814446,1.5285367127017497e-5,-2.6544815228638046e-8,0.002108551393130802,1.5178224387244792e-5,-2.6429882679400344e-8,0.0021088642657054028,1.4987405902763008e-5,-2.6225817522741596e-8,0.0021093131823441873,1.477109413125047e-5,-2.5993980396136906e-8,0.0021098973634679687,1.4606796678395606e-5,-2.5816350529623914e-8,0.0021105729078048107,1.4566334520348138e-5,-2.5769076832392603e-8,0.0021112628777701157,1.4686483996552583e-5,-2.589140375989459e-8,0.002111884963727069,1.49524858304974e-5,-2.616814292368397e-8,0.0021123820416213326,1.530564027223351e-5,-2.653758083888853e-8,0.002112738443062604,1.566943862865359e-5,-2.6919021383359056e-8,0.0021129763380782042,1.597734406587063e-5,-2.7242128079128386e-8,0.002113139906608551,1.6188913189144726e-5,-2.7463982116337144e-8,0.0021132785147635735,1.6292255587917617e-5,-2.7571731956963736e-8,0.002113435244892276,1.6298231436790853e-5,-2.7576542617677282e-8,0.002113641467647694,1.623231108640538e-5,-2.750507948119659e-8,0.0021139155020888497,1.612742596429646e-5,-2.739200662875825e-8,0.002114263195353226,1.601868102419684e-5,-2.7274398004963558e-8,0.002114679097938746,1.5939462619916927e-5,-2.7187584649230205e-8,0.002115147857818045,1.591820498712063e-5,-2.7161697731839154e-8,0.0021156460082405507,1.5975354031712748e-5,-2.7218453269601503e-8,0.0021161445333496127,1.6120489838517026e-5,-2.736813658476198e-8,0.002116612541248858,1.6350066999505276e-5,-2.7607239032229045e-8,0.002117021983644663,1.6646569377117553e-5,-2.791754490148783e-8,0.002117352837098394,1.697979911393296e-5,-2.826741083990463e-8,0.0021175978015787107,1.731065634053247e-5,-2.8615637817191073e-8,0.00211776543378165,1.759725263509948e-5,-2.8917829165943654e-8,0.002117880769420787,1.7802584133189674e-5,-2.9134478291953385e-8,0.002117982886203447,1.7902584529889876e-5,-2.9239569317390042e-8,0.002118119198387002,1.7893289828263934e-5,-2.922832774864068e-8,0.002118336487991736,1.7795584944785858e-5,-2.9122440610658274e-8,0.0021186692843823997,1.7655389538035962e-5,-2.8970402749374115e-8,0.0021191276345471233,1.7536852324466382e-5,-2.8840362727093884e-8,0.0021196884143433207,1.7507199823531867e-5,-2.880401634238384e-8,0.002120295925762307,1.7615411346021366e-5,-2.8913861014445143e-8,0.0021208758106100725,1.787247903713528e-5,-2.9182079529307654e-8,0.002121359406182991,1.8244267405424016e-5,-2.9572807067690778e-8,0.0021217074721560777,1.8663209769622012e-5,-3.0014474124992184e-8,0.0021219209004431955,1.905356541542978e-5,-3.042663828206199e-8,0.0021220343298265485,1.9356536768551152e-5,-3.0746705244532125e-8,0.002122099166839674,1.954377814105041e-5,-3.094431491310143e-8,0.002122166330543905,1.9617217855782224e-5,-3.102119259421685e-8,0.0021222752180405586,1.9600531064406503e-5,-3.100215517299388e-8,0.002122449658514504,1.952878967527067e-5,-3.092419165467688e-8,0.0021226984612435964,1.9440127761138346e-5,-3.082765962692926e-8,0.002123017846957808,1.9370314072744265e-5,-3.075052790344494e-8,0.0021233940681903195,1.934948928989278e-5,-3.0724888774326296e-8,0.0021238056794888474,1.9399952935627528e-5,-3.077458440678296e-8,0.002124225682580438,1.9534193054597844e-5,-3.091310551719368e-8,0.002124624113565031,1.9752886458047202e-5,-3.1141464105636413e-8,0.002124971655833702,2.0043233580223036e-5,-3.144639940286134e-8,0.00212524450155675,2.037859705176521e-5,-3.179992728445566e-8,0.002125429949440885,2.0720660307119964e-5,-3.216153381034379e-8,0.0021255313735390655,2.1024952911718785e-5,-3.2483951488909524e-8,0.0021255706390746042,2.1249553405534983e-5,-3.272236244662322e-8,0.0021255862274255134,2.136531580176944e-5,-3.284530096658392e-8,0.002125626472329969,2.136477599867833e-5,-3.2844230643420137e-8,0.0021257389764561077,2.1266765123494018e-5,-3.273861136499655e-8,0.0021259586471253046,2.1114766388613177e-5,-3.2574325849611996e-8,0.0021262973922635143,2.0968604798671925e-5,-3.241497651320302e-8,0.0021267384416393392,2.0890666115759917e-5,-3.2327268627746654e-8,0.0021272376715695132,2.0929425811587144e-5,-3.236339970670092e-8,0.002127733046172089,2.110460424404699e-5,-3.2545061768599696e-8,0.00212816092546539,2.1399236109442378e-5,-3.2854762929754035e-8,0.0021284746737500223,2.176302809822261e-5,-3.3239236614057686e-8,0.002128658496133636,2.212740460159936e-5,-3.362543623506609e-8,0.0021287304336883744,2.2426834845535454e-5,-3.3943333219980947e-8,0.0021287335646911943,2.2617434207905126e-5,-3.414584047635682e-8,0.0021287204228760234,2.2685679731977404e-5,-3.421817395035784e-8,0.0021287380406940413,2.264602236182866e-5,-3.417535947240264e-8,0.002128818715188701,2.2531501692113913e-5,-3.4052283410800604e-8,0.002128977344015476,2.2382911676892006e-5,-3.3892197642410027e-8,0.002129213263803856,2.2240213464310166e-5,-3.373760006185234e-8,0.0021295139322477768,2.2137245808817076e-5,-3.362460002842891e-8,0.0021298586205894944,2.2099046795842652e-5,-3.358004972356987e-8,0.0021302214146577676,2.2140545104573738e-5,-3.362013028869592e-8,0.0021305737006618716,2.2265607580957118e-5,-3.374931398457121e-8,0.0021308867762918587,2.2466010723704024e-5,-3.39592257518173e-8,0.002131135293920836,2.2720594046935103e-5,-3.4227667717305434e-8,0.0021313019334212695,2.2995565753170124e-5,-3.451884933521096e-8,0.0021313829342262734,2.3247460182788705e-5,-3.4786456209133385e-8,0.0021313929103826883,2.3430080081429465e-5,-3.4981018338903236e-8,0.0021313662623369065,2.35053775592328e-5,-3.506154647311194e-8,0.002131352534668617,2.3455775394926864e-5,-3.500875472352498e-8,0.0021314050619435174,2.3293157757724045e-5,-3.483475480248656e-8,0.0021315656878382726,2.305959461858975e-5,-3.458394904972025e-8,0.002131851148769884,2.2817817875395575e-5,-3.432300884872676e-8,0.002132246675708553,2.2634145895239077e-5,-3.412278123476084e-8,0.0021327093056224787,2.255991732479814e-5,-3.4038512859965103e-8,0.0021331794386085386,2.261762912569421e-5,-3.4094941293936804e-8,0.002133596614516856,2.2795606804280943e-5,-3.4280365800889207e-8,0.0021339148569076657,2.3052078776754165e-5,-3.455073970041519e-8,0.0021341135296762083,2.3327034579694484e-5,-3.484217778475803e-8,0.0021342009716787884,2.355832491670355e-5,-3.508814955727273e-8,0.0021342101969445745,2.3697300658380293e-5,-3.523629751598651e-8,0.0021341884075972216,2.3719450332254015e-5,-3.525994944230765e-8,0.002134184081791398,2.3627331849970435e-5,-3.5161372712859956e-8,0.002134235900463689,2.3446066878692636e-5,-3.4967036409302774e-8,0.0021343663946126897,2.321429430328426e-5,-3.471798296710547e-8,0.0021345807976598918,2.2974350116389325e-5,-3.4459344612988514e-8,0.0021348696549837566,2.2764450779378168e-5,-3.4231980765256686e-8,0.0021352131046345666,2.2613905870942357e-5,-3.4067347153649095e-8,0.0021355851791665065,2.25409643711599e-5,-3.398518306415485e-8,0.002135957353588875,2.255223300982052e-5,-3.3992879723749303e-8,0.0021363013822437923,2.264265540717151e-5,-3.408542886166249e-8,0.0021365919676518924,2.279553658100697e-5,-3.4245382178955386e-8,0.0021368099415358917,2.298274820199354e-5,-3.444296877039347e-8,0.0021369464146205742,2.3165964903851673e-5,-3.463731317033913e-8,0.0021370076236995232,2.3300428516159704e-5,-3.4780406073762714e-8,0.0021370188901841084,2.334275576213467e-5,-3.482548254690987e-8,0.002137024662802771,2.3262920180390915e-5,-3.473993474880969e-8,0.0021370813223880038,2.3057492795026685e-5,-3.451958523389752e-8,0.002137241889275746,2.2757801904735166e-5,-3.41974981982623e-8,0.0021375370262618257,2.2426116340509338e-5,-3.3839966919214845e-8,0.002137961316631726,2.213800200907653e-5,-3.3527737842564464e-8,0.0021384728126343628,2.1957459800264673e-5,-3.332951347872889e-8,0.002139006670366777,2.191643370582827e-5,-3.3280036206354196e-8,0.0021394959229136664,2.2007302232413204e-5,-3.3371904617377737e-8,0.0021398901271324055,2.2189143712365275e-5,-3.3562023526722955e-8,0.002140166006414651,2.2402515162981413e-5,-3.378718549615929e-8,0.002140329077781706,2.2586184572995143e-5,-3.398186921720036e-8,0.0021404083035632985,2.2691063196128188e-5,-3.409319354061641e-8,0.002140446731689183,2.2688976940126358e-5,-3.409045739764433e-8,0.002140490895281052,2.2575699890952926e-5,-3.396857223236857e-8,0.0021405812375513067,2.2368761539972847e-5,-3.374586429282327e-8,0.002140745261299301,2.21013187905107e-5,-3.345758704823717e-8,0.002140994332456639,2.181402372302832e-5,-3.314720913566537e-8,0.002141324077070165,2.15469856889004e-5,-3.285775427864785e-8,0.002141717448243737,2.1333424920190157e-5,-3.262494699138589e-8,0.0021421491254591573,2.1195757227350775e-5,-3.247299004550511e-8,0.0021425900057506363,2.1143998775028036e-5,-3.2412859574264454e-8,0.002143011062769476,2.117578153748411e-5,-3.2442332125159627e-8,0.0021433864887417924,2.1277166088685482e-5,-3.254683206575627e-8,0.0021436964440635616,2.142377656843826e-5,-3.270056832632809e-8,0.0021439298869587705,2.1582271289495213e-5,-3.2867992137633203e-8,0.0021440878674806683,2.1712763255525305e-5,-3.3006289361086e-8,0.002144187054590783,2.1773439803346106e-5,-3.3070310510598916e-8,0.002144262009093983,2.172867744059509e-5,-3.302135431596869e-8,0.002144363336494184,2.156066898233932e-5,-3.2839788635029706e-8,0.0021445484486645283,2.128161554298987e-5,-3.253826914107641e-8,0.0021448640499980975,2.093968006406232e-5,-3.216820242252745e-8,0.0021453256085358927,2.0610778355504582e-5,-3.181096877059883e-8,0.002145905198301666,2.0374493068902587e-5,-3.155211428654284e-8,0.00214653761622983,2.028404497865664e-5,-3.144915450204835e-8,0.002147143609271417,2.0346789600608755e-5,-3.151058660106004e-8,0.0021476575414585346,2.0525272704293914e-5,-3.1696854344447995e-8,0.002148045581613403,2.0755200980876327e-5,-3.193942834876001e-8,0.0021483090662633483,2.0968393190590092e-5,-3.2165288983192186e-8,0.002148476685362016,2.111059951237463e-5,-3.231601401750927e-8,0.002148592188673189,2.115054857145032e-5,-3.235756967674147e-8,0.0021487026050471423,2.108140192452833e-5,-3.2282037014221544e-8,0.002148849218208448,2.091738286919093e-5,-3.2104180012498956e-8,0.0021490617141141114,2.0687943158359667e-5,-3.185531826563116e-8,0.0021493552248900965,2.043093865495207e-5,-3.1576037272193084e-8,0.0021497299103959574,2.018578295980443e-5,-3.1308781112487576e-8,0.0021501726730506327,1.99873898678633e-5,-3.109124846202539e-8,0.0021506604730088547,1.986152543363258e-5,-3.0951322070678607e-8,0.0021511645783630928,1.9821951349432184e-5,-3.0903980935864254e-8,0.0021516549924586936,1.986945352369192e-5,-3.0950285248140185e-8,0.0021521044365688485,1.9992440843010033e-5,-3.107804747030246e-8,0.0021524916686676407,2.016856874486101e-5,-3.126355090492214e-8,0.0021528042317079527,2.0367018571783807e-5,-3.147390414350625e-8,0.002153040804545645,2.0551375958833374e-5,-3.167000555671362e-8,0.002153213305985311,2.0683403675124328e-5,-3.181050955508008e-8,0.002153348503797179,2.0728467991859314e-5,-3.185767901736995e-8,0.002153487865791758,2.06633838486928e-5,-3.178596101433709e-8,0.002153683336498533,2.0486260716953912e-5,-3.159278162166714e-8,0.0021539866168050876,2.022543685029994e-5,-3.130833435668043e-8,0.0021544317139913717,1.9941401323367558e-5,-3.099772567279643e-8,0.0021550161923323133,1.9714632358069782e-5,-3.074786370682314e-8,0.002155692720036186,1.961840203113644e-5,-3.0638105864892124e-8,0.0021563809762338523,1.9688010875520684e-5,-3.070702518398803e-8,0.0021569972223773057,1.990511081944595e-5,-3.0935392402114285e-8,0.002157485124027573,2.0207307545267066e-5,-3.125638734645144e-8,0.002157830955696959,2.0515501898373752e-5,-3.1584963952577884e-8,0.0021580591073866546,2.0761657983135865e-5,-3.1847730058857165e-8,0.0021582161445200332,2.0904745124936695e-5,-3.200013957830926e-8,0.0021583539825240404,2.0933500471754782e-5,-3.20295538061186e-8,0.0021585179343003775,2.0861021855106574e-5,-3.194956386357729e-8,0.0021587404344839763,2.071653038410741e-5,-3.179127525102121e-8,0.0021590389475030915,2.0537441620192218e-5,-3.159486520542445e-8,0.0021594163239126024,2.0362778417702688e-5,-3.140248197378161e-8,0.002159862527034524,2.02278948399552e-5,-3.12524698579826e-8,0.002160357285130327,2.0160345669093216e-5,-3.117480508185589e-8,0.002160873478204498,2.017687657565958e-5,-3.1187780101922056e-8,0.002161381090914999,2.028164028054539e-5,-3.1296077539601465e-8,0.0021618514304895253,2.0465857833124282e-5,-3.1490443368311834e-8,0.0021622611359319007,2.0709012451658273e-5,-3.174899334089471e-8,0.002162595566211041,2.0981352258249935e-5,-3.203986438715612e-8,0.0021628513653473066,2.1247405686018214e-5,-3.232489338007879e-8,0.0021630380775924086,2.1470340095996585e-5,-3.256419591015205e-8,0.0021631786722644116,2.1617083222566323e-5,-3.272164177108625e-8,0.00216330868415945,2.1664275769114177e-5,-3.277135694153426e-8,0.0021634731281762807,2.1605065487863532e-5,-3.2705257492733154e-8,0.0021637197852005,2.1455812436603205e-5,-3.254053477237097e-8,0.0021640877997709013,2.1259948537739125e-5,-3.232400898296171e-8,0.002164592603377122,2.108438739205041e-5,-3.212829934769005e-8,0.0021652124263154904,2.1004045458292953e-5,-3.2034996857797784e-8,0.002165885927123784,2.107545579977581e-5,-3.21059404679378e-8,0.002166528501769656,2.1310646054636276e-5,-3.235474767326647e-8,0.0021670632549307834,2.1668132745757332e-5,-3.273691349900394e-8,0.0021674499574846086,2.2069275229952522e-5,-3.3167461209084994e-8,0.002167695398646148,2.2430414143251984e-5,-3.355576152777364e-8,0.0021678424617177497,2.2691454458900874e-5,-3.383651203996052e-8,0.002167948850623929,2.2828166985303557e-5,-3.398307877885336e-8,0.0021680682294110717,2.2848871903014454e-5,-3.400396925492826e-8,0.002168239621410091,2.2783477264658934e-5,-3.393109259567893e-8,0.0021684843405062296,2.2671975588932204e-5,-3.380744770218485e-8,0.0021688073255370847,2.2555681481195456e-5,-3.367771500329707e-8,0.0021692001470083005,2.247154601714925e-5,-3.358207900819488e-8,0.0021696442585630864,2.2448607182279223e-5,-3.355228837104354e-8,0.0021701141864079454,2.250565226458912e-5,-3.360901884393857e-8,0.0021705808201399487,2.2649663627314837e-5,-3.376013066261044e-8,0.002171014994842116,2.2875029470842755e-5,-3.399981066861581e-8,0.0021713914000250586,2.3163823595123173e-5,-3.430889349840126e-8,0.002171692521788873,2.348758011808522e-5,-3.4656770876542255e-8,0.0021719120261017694,2.381072758144914e-5,-3.500503838425244e-8,0.002172056961163761,2.4095477309522668e-5,-3.531268029929626e-8,0.002172148267756013,2.430773141450824e-5,-3.5542386815216575e-8,0.0021722192183669113,2.4423369339532766e-5,-3.5667380799741086e-8,0.0021723115797911727,2.443412716691192e-5,-3.567793407850738e-8,0.002172469370856416,2.435222243916228e-5,-3.558662383347489e-8,0.002172730141133899,2.4212483806263987e-5,-3.5430893243344456e-8,0.0021731143123856107,2.406994280862633e-5,-3.527059410845282e-8,0.0021736147553494305,2.399049051461565e-5,-3.517783640369402e-8,0.0021741911382967354,2.4033616638707532e-5,-3.5218066388396594e-8,0.0021747750128882433,2.4230582571380168e-5,-3.542607458320517e-8,0.0021752887669595176,2.4567528571206925e-5,-3.5787372573666643e-8,0.002175673052155437,2.49852415759974e-5,-3.623781078312394e-8,0.002175908854725856,2.5399662837313294e-5,-3.668591393596756e-8,0.0021760215228088064,2.5733306593570758e-5,-3.704716213606398e-8,0.002176065901163682,2.5940343519971294e-5,-3.727134201842648e-8,0.0021761034783204496,2.6014370722419524e-5,-3.735101978943853e-8,0.0021761840080405325,2.598057227504093e-5,-3.731306905929495e-8,0.0021763370696546024,2.5881272618678495e-5,-3.7203079961238056e-8,0.002176571964578955,2.5762734966788867e-5,-3.7071131130532555e-8,0.002176881812643163,2.5666444320064544e-5,-3.6962369095902545e-8,0.002177248530362033,2.562462645803108e-5,-3.6912097310867254e-8,0.0021776471185262275,2.56583990067598e-5,-3.694366624460091e-8,0.0021780490847102727,2.577707907708006e-5,-3.706762059466764e-8,0.002178425470464016,2.5977906113517757e-5,-3.7281338682605485e-8,0.002178749995054507,2.6246122306122735e-5,-3.7569099018844795e-8,0.00217900258816672,2.6555835903572176e-5,-3.7903003824289374e-8,0.0021791731432856958,2.687235363923373e-5,-3.8245472427078433e-8,0.002179264774642755,2.715651610226576e-5,-3.8553882093067663e-8,0.0021792954993946666,2.737100012726711e-5,-3.878734993897014e-8,0.0021792972905228126,2.7487801409019163e-5,-3.891485525836279e-8,0.0021793118845096627,2.7495392292255558e-5,-3.8923106738733907e-8,0.0021793835257311045,2.740366279969572e-5,-3.8822101383632065e-8,0.0021795497062576503,2.7244969924330507e-5,-3.864650695887784e-8,0.0021798315902990814,2.70702521421955e-5,-3.845164962605757e-8,0.0021802262299320907,2.693987847972113e-5,-3.8303651911103566e-8,0.0021807030536763806,2.6909868400577606e-5,-3.826434729027413e-8,0.002181207209043901,2.7015773686396604e-5,-3.837346895969279e-8,0.002181671386070132,2.7258810728352984e-5,-3.8633200520179275e-8,0.0021820347882051537,2.7600628586197033e-5,-3.9002200115334744e-8,0.002182263235355336,2.7971926183414146e-5,-3.940491263576584e-8,0.0021823611556105044,2.829417321789066e-5,-3.9755366604696456e-8,0.0021823687183090976,2.8505597620353956e-5,-3.9985695960752894e-8,0.002182345504518596,2.8579166128070304e-5,-4.006587420492795e-8,0.00218234968005574,2.852535965389795e-5,-4.000679786407413e-8,0.0021824224556048176,2.838187447749541e-5,-3.984911376569704e-8,0.0021825822079256305,2.8198197432587352e-5,-3.964648840870845e-8,0.002182826606343748,2.802230424969246e-5,-3.9451180587015695e-8,0.0021831385394179867,2.7892584515013404e-5,-3.930524420287103e-8,0.002183492363313434,2.7834558372804433e-5,-3.9236882225582924e-8,0.00218385884397354,2.7860496490932013e-5,-3.9259933128383583e-8,0.0021842086588251997,2.7970168372585447e-5,-3.937460019364952e-8,0.0021845150758582356,2.815172900254157e-5,-3.956836422313752e-8,0.0021847565668936496,2.838260505830918e-5,-3.9816914283289737e-8,0.002184919839335821,2.8630898322059892e-5,-4.0085638458821643e-8,0.002185003215576358,2.885819450463714e-5,-4.033263381846127e-8,0.00218501956630861,2.9024619642616696e-5,-4.0514173513386934e-8,0.002184997331671042,2.9096343678574037e-5,-4.0592881414629923e-8,0.0021849779434766005,2.9054458176741742e-5,-4.054747138967016e-8,0.0021850086809995705,2.890265974050007e-5,-4.0381253019101765e-8,0.0021851317555203866,2.867039550492026e-5,-4.012573894978999e-8,0.002185372477190764,2.8408972654841787e-5,-3.983659301605007e-8,0.002185730455124099,2.8180528313815657e-5,-3.958174677758403e-8,0.0021861771693066417,2.804251014407566e-5,-3.942450075684918e-8,0.002186661265337064,2.803206489062113e-5,-3.940634962351665e-8,0.0021871205644257144,2.8154906091556042e-5,-3.953453886956924e-8,0.0021874978725242504,2.8382145494403323e-5,-3.977826745766282e-8,0.002187756423815575,2.865671184733779e-5,-4.0075466582978284e-8,0.0021878902551987,2.8908425992492547e-5,-4.0349239996036213E-08,0.0021879255831569328,2.907366219308399e-5,-4.052949755270081e-8,0.002187912085216684,2.9112986253584563e-5,-4.057244739063578e-8,0.0021879072199879612,2.9020292931549317e-5,-4.0470759660277784E-08,0.0021879598630596396,2.8820635503511565e-5,-4.025130399634947e-8,0.0021880992812219192,2.855917509608077e-5,-3.996313733776403e-8,0.002188332056726784,2.8287020621832985e-5,-3.9662060963515264e-8,0.0021886456060208528,2.804939262502735e-5,-3.9397673106991304e-8,0.0021890148819920466,2.7878715380127772e-5,-3.9205757381181164e-8,0.002189409156221178,2.7792378102702624e-5,-3.9105747978824426e-8,0.0021897972687176166,2.7793455583849522e-5,-3.9101439536603146e-8,0.0021901511374968234,2.7872602070577086e-5,-3.9183008468822456e-8,0.0021904481235000325,2.80099950384596e-5,-3.932910624744156e-8,0.002190673074057688,2.8177065500827853e-5,-3.950871255388833e-8,0.0021908206554662854,2.8338483116444323e-5,-3.9683248872783535e-8,0.002190898034144987,2.8455330491275332e-5,-3.980999342254779e-8,0.002190927155960091,2.8490498477234655e-5,-3.9847964078533655e-8,0.0021909449561215767,2.841676049523602e-5,-3.9766800450551744e-8,0.002190999293289918,2.8226395593368268e-5,-3.955740530076425e-8,0.0021911391604951622,2.7938931175521973e-5,-3.924055987672371e-8,0.0021914004248092763,2.7602074739011113e-5,-3.886808440988153e-8,0.00219179202133541,2.7282286475806473e-5,-3.851264350198292e-8,0.002192289357213238,2.704625873866707e-5,-3.82475557684289e-8,0.0021928392696263337,2.6940105864173445e-5,-3.812399760810237e-8,0.0021933752027235077,2.697500409955819e-5,-3.815512007691709e-8,0.002193836370061701,2.712470614302269e-5,-3.8313049345572726e-8,0.0021941837606845793,2.7334592335765326e-5,-3.8538514178115646e-8,0.0021944084668189573,2.753776194502866e-5,-3.875830475133487e-8,0.002194531286417225,2.7672583796492192e-5,-3.890450991618433e-8,0.002194595052600508,2.769704623340426e-5,-3.893040017878978e-8,0.0021946525033668582,2.759686253141467e-5,-3.881953924029014e-8,0.002194753120305771,2.7386090076476726e-5,-3.858667842959779e-8,0.0021949323250686314,2.7100914061041817e-5,-3.82710888669168e-8,0.0021952055424206626,2.678902702000713e-5,-3.792497063521771e-8,0.0021955679291575467,2.6498107213706706e-5,-3.760078207771899e-8,0.0021959986568907772,2.626660204683497e-5,-3.73410335002723e-8,0.0021964674766541165,2.6118501228737073e-5,-3.7172439057852775e-8,0.0021969413113013753,2.60620374695922e-5,-3.7104408935529385e-8,0.0021973894608135576,2.6091132908844254e-5,-3.7130604436828466e-8,0.00219778705276762,2.6188108161646412e-5,-3.7231911539965425e-8,0.0021981171577645352,2.6326541689641457e-5,-3.7379570709525906e-8,0.0021983722862443157,2.647389410124768e-5,-3.753800898406534e-8,0.0021985558494707763,2.6594192238440678e-5,-3.766770585522208e-8,0.0021986837479933113,2.6651537795907375e-5,-3.772898009889921e-8,0.0021987855132714115,2.6615420265459276e-5,-3.76878288712398e-8,0.0021989034252902504,2.646839864760911e-5,-3.752446513210713e-8,0.002199087291365176,2.621516384114665e-5,-3.7243437839789706e-8,0.002199383129417582,2.588937576288623e-5,-3.688130790905145e-8,0.0021998169911259277,2.555241378810931e-5,-3.650538638656394e-8,0.0022003802001003703,2.5279351320183844e-5,-3.619836871761591e-8,0.0022010254563611044,2.513422877506996e-5,-3.603114654032077e-8,0.002201679461595271,2.5145548720641303e-5,-3.603578324988553e-8,0.0022022676262901954,2.5295397762231912e-5,-3.619337702747384e-8,0.0022027384098715387,2.552770043771887e-5,-3.6442911016991864e-8,0.0022030761947726936,2.5769490088737933e-5,-3.6704451465803936e-8,0.0022032999837505608,2.5953710056367697e-5,-3.690413133727294e-8,0.002203452495899009,2.6035101872089713e-5,-3.699166081129466e-8,0.00220358608653898,2.5996726968420892e-5,-3.6947657521712005e-8,0.0022037500668679825,2.584868135819004e-5,-3.678246540474378e-8,0.0022039815599960576,2.562183741456571e-5,-3.6529498934363496e-8,0.0022043004146107474,2.5359154396673204e-5,-3.6235824598435174e-8,0.0022047079845341367,2.510642092784503e-5,-3.595198121736966e-8,0.002205189271399241,2.490392157422305e-5,-3.5722695471243174e-8,0.0022057175485827437,2.4780291065975067e-5,-3.557995202152093e-8,0.002206260229099632,2.4749273402388118E-05,-3.553929040719807e-8,0.0022067847011294868,2.4809362891213233e-5,-3.559935513770356e-8,0.002207263133432532,2.494571788740346e-5,-3.574402276444476e-8,0.0022076757646234684,2.5133391696059046e-5,-3.594599847110066e-8,0.0022080127950028375,2.534094893318031e-5,-3.61707958606488e-8,0.0022082753512539274,2.5533983406702185e-5,-3.6380543421501094e-8,0.0022084759594946783,2.5678586499651885e-5,-3.653770547250637e-8,0.0022086387115195184,2.5745202620986414e-5,-3.6609273231779453e-8,0.002208798772150077,2.5713550443386234e-5,-3.6572240060008746e-8,0.002208999993716592,2.557900040024047e-5,-3.6420802882875486e-8,0.0022092887458073814,2.5359488384672675e-5,-3.6174216899908184e-8,0.0022097025167608603,2.5099812062111692e-5,-3.588172643050776e-8,0.0022102543881308777,2.4867936743048755e-5,-3.56185625830845e-8,0.0022109195242995543,2.4738476511340537e-5,-3.5467648422950415e-8,0.002211634051687777,2.4765337819048855e-5,-3.5489237515539794e-8,0.002212313150289902,2.495636083716276e-5,-3.5692713187243686e-8,0.0022128823429647753,2.526671790565515e-5,-3.602912278257172e-8,0.0022133046472050132,2.5616981016093155e-5,-3.641102991172894e-8,0.0022135888531115686,2.5924578071327065e-5,-3.6747220225829005e-8,0.0022137783155401383,2.6130440340332528e-5,-3.69721280559337e-8,0.0022139309577410685,2.6210438172246873e-5,-3.705850643683236e-8,0.0022141014474845195,2.6172901848814536e-5,-3.7014821330468624e-8,0.0022143303324376486,2.604895373490618e-5,-3.687478915277662e-8,0.002214639802017609,2.5881451700368056e-5,-3.668537821684993e-8,0.0022150338963010646,2.5715502764954452e-5,-3.649643735626844e-8,0.0022155011447347337,2.5591302194405776e-5,-3.6352737563078843e-8,0.0022160184567097205,2.553907975187675e-5,-3.628822151576024e-8,0.0022165557263009628,2.5575938852458807e-5,-3.63223191891732e-8,0.0022170807551756427,2.5704576800506107e-5,-3.6458407892383054e-8,0.002217564030701961,2.591385422119361e-5,-3.668441906146322e-8,0.0022179828448299827,2.6181049859668053e-5,-3.697537858622144e-8,0.0022183242804138395,2.6475407977684876e-5,-3.729737331333177e-8,0.002218586851652362,2.6762362021212276e-5,-3.7612202106384365e-8,0.002218780907528584,2.7007899392426868e-5,-3.7882116402540654e-8,0.00221892800983572,2.718282261799535e-5,-3.807443917791746e-8,0.0022190594291572868,2.7266897794539164e-5,-3.816614008581418e-8,0.002219213643884262,2.7253074171586324e-5,-3.814862701576736e-8,0.0022194321448706397,2.7151812912431053e-5,-3.8032782192625904e-8,0.0022197524438374,2.699457943246866e-5,-3.785310248538782e-8,0.0022201977516507457,2.6834004944931882e-5,-3.7668058896544666e-8,0.0022207647596439554,2.6736960739406968e-5,-3.755241769514929e-8,0.002221414588087056,2.6767401671111417e-5,-3.757801963905858e-8,0.0022220754445295104,2.696116773143545e-5,-3.778551747050506e-8,0.002222662982074354,2.7304481080951647e-5,-3.81602371398771e-8,0.002223112492580615,2.7732335963690483e-5,-3.8630272100101265e-8,0.0022234048892087036,2.815262001038408e-5,-3.9093316095525206e-8,0.002223570353579146,2.8482812379548647e-5,-3.9457507211628694e-8,0.0022236698422765312,2.8677471002609632e-5,-3.9671972494411865e-8,0.002223768955546225,2.8734606819302868e-5,-3.973390147896533e-8,0.002223918561912486,2.8685068606721128e-5,-3.9676852435000445e-8,0.002224146947177898,2.857614254949019e-5,-3.955275079853739e-8,0.002224460584546953,2.8457539680318737e-5,-3.9416539001133896e-8,0.0022248488878112726,2.8372409677147155e-5,-3.931628151961653e-8,0.0022252897394614136,2.8352697862785916e-5,-3.9287926512737694e-8,0.002225754439448891,2.8417200189247082e-5,-3.9352956850409215e-8,0.0022262119752000306,2.8571064147124517e-5,-3.9517646409515605e-8,0.0022266329015272588,2.8806246946617162e-5,-3.977346217838114e-8,0.002226992971723243,2.9102919767945163e-5,-4.009861614536306e-8,0.002227276408541931,2.9431986686848863e-5,-4.046090776146395e-8,0.002227478443459657,2.975881765135786e-5,-4.082189498635584e-8,0.0022276066367046955,3.00479536480172e-5,-4.114208286135804e-8,0.0022276806541805206,3.0268246647568305e-5,-4.1386550741833944e-8,0.0022277304168021564,3.0397850263698415e-5,-4.153044218187168e-8,0.0022277927064168696,3.0428497299104088e-5,-4.1563769098494404e-8,0.0022279064138012593,3.036858246513481e-5,-4.149502940286735e-8,0.002228106506621653,3.0244655302837534e-5,-4.13531517818982e-8,0.0022284166785792644,3.0100550888706932e-5,-4.1186794221321944e-8,0.0022288411897262855,2.9992625796661267e-5,-4.10591614928939e-8,0.0022293578310589434,2.997937361758266e-5,-4.1036340003927136e-8,0.002229915827113162,3.0105006870106393e-5,-4.116870189588894e-8,0.0022304437011137785,3.0380336855881893e-5,-4.146920822621145e-8,0.0022308696821551816,3.0770008843180174e-5,-4.189889481023213e-8,0.0022311489278408515,3.119747911794132e-5,-4.237238494059883e-8,0.002231282975267909,3.157105128869589e-5,-4.278709882978031e-8,0.0022313182697664352,3.181892335039289e-5,-4.3062523712161575e-8,0.0022313244787628863,3.1913280890993805e-5,-4.316712531818715e-8,0.0022313668866389517,3.187208721013959e-5,-4.312031825412391e-8,0.0022314877691962513,3.174329917730292e-5,-4.297493790279011e-8,0.0022317016189136243,3.1584440533183345e-5,-4.2794660080913634e-8,0.0022320000376087473,3.1447193001066374e-5,-4.263700565313382e-8,0.0022323599775302527,3.1369544649942365e-5,-4.2544629399779314e-8,0.0022327512669868426,3.13736485445689e-5,-4.254281430583861e-8,0.0022331420789577098,3.146660704082846e-5,-4.264014632464142e-8,0.002233502662649728,3.164221547907365e-5,-4.283028278424188e-8,0.0022338081602597494,3.188287847991798e-5,-4.309400116155361e-8,0.0022340411058888376,3.216172283638613e-5,-4.340155202858812e-8,0.002234193788318541,3.244531827001491e-5,-4.371572186288535e-8,0.002234270215537642,3.269748772071455e-5,-4.399608728756532e-8,0.0022342870174345488,3.288434625146084e-5,-4.4204595810092806e-8,0.0022342725300309807,3.298010211189754e-5,-4.431198509478476e-8,0.00223426358719864,3.297265366270278e-5,-4.430402838113176e-8,0.002234300042169446,3.28677210223566e-5,-4.4186255163092324e-8,0.0022344176501358816,3.269023712664952e-5,-4.398572890389884e-8,0.0022346404530500393,3.248215526411121e-5,-4.374887676761402e-8,0.0022349739993351363,3.229642695778004e-5,-4.3534981383312984e-8,0.002235400846601725,3.218729338221004e-5,-4.3405375317758714e-8,0.0022358801294424515,3.2197598996961654e-5,-4.3409074494626946e-8,0.0022363531613351687,3.234518444318427e-5,-4.356719715545998e-8,0.0022367562584270713,3.26124404623423e-5,-4.386088239969612e-8,0.002237039364916164,3.2944799036726895e-5,-4.4229360674700297e-8,0.002237184585255663,3.3263008754100455e-5,-4.458371191536925e-8,0.0022372152097443723,3.348808466964168e-5,-4.4835003790813605e-8,0.002237188268790842,3.356890037152168e-5,-4.492538522979582e-8,0.002237172973766367,3.3498373396684425e-5,-4.4846285550617134e-8,0.002237226446062347,3.331063740330506e-5,-4.463527151098567e-8,0.0022373785866876966,3.306356285861056e-5,-4.435657408777556e-8,0.0022376301801785795,3.281796598936418e-5,-4.407798109343235e-8,0.002237960293002327,3.262266212632057e-5,-4.385422435645071e-8,0.0022383364907900727,3.250798890852662e-5,-4.371970523753345e-8,0.002238723456645966,3.2485676809755455e-5,-4.3688197681211816e-8,0.0022390886143439774,3.255173487689696e-5,-4.3755889161178954e-8,0.002239405282078471,3.2689939993701276e-5,-4.390514695537152e-8,0.002239654500276259,3.2874917872497975e-5,-4.410791058122196e-8,0.002239826466603891,3.3074841894149056e-5,-4.43287154816248e-8,0.0022399219825763365,3.325431872964785e-5,-4.452793608909369e-8,0.00223995372724577,3.337818442270938e-5,-4.466602508507044e-8,0.002239946609945796,3.341665474095889e-5,-4.4709250539583116e-8,0.0022399361149010558,3.335152643078121e-5,-4.463662869840457e-8,0.0022399637177205746,3.318214901741799e-5,-4.4446666383878356e-8,0.0022400692719222156,3.292908438196356e-5,-4.4161604326662625e-8,0.0022402815961347503,3.263324461259011e-5,-4.382667142532589e-8,0.0022406097829435986,3.234928937051243e-5,-4.35029200728048e-8,0.0022410381982317313,3.2133989991873885e-5,-4.325433505758617e-8,0.002241527366860039,3.2032192958380706e-5,-4.31320710589e-8,0.002242021338402319,3.206407169227447e-5,-4.315991919307524e-8,0.002242460373611949,3.22173758634287e-5,-4.3325235858678146e-8,0.0022427962572554097,3.244758975145919e-5,-4.3578759913273076e-8,0.002243006285647738,3.268735329396462e-5,-4.384500203668317e-8,0.002243101254106713,3.2863977904254935e-5,-4.4041959824776854e-8,0.002243123492551911,3.292048609982193e-5,-4.410494856355586e-8,0.0022431341784470964,3.283271918257909e-5,-4.400603585822717e-8,0.002243194132145136,3.261533508896748e-5,-4.376093452019552e-8,0.0022433459529788004,3.2314277942817154e-5,-4.342065606321087e-8,0.0022436045440565053,3.198999227156275e-5,-4.305276261895022e-8,0.002243958133515982,3.169947891807182e-5,-4.2721289735892826e-8,0.002244376640907042,3.148388477407264e-5,-4.2472798095789184e-8,0.0022448221512804886,3.136378685678507e-5,-4.233096289601714e-8,0.0022452575632132565,3.134045113321896e-5,-4.2297823602288997e-8,0.002245652005153063,3.139999666608745e-5,-4.2358322241039085e-8,0.002245983472810847,3.151802159817808e-5,-4.248543069195238e-8,0.0022462398578507008,3.166353197668659e-5,-4.2644554056704593e-8,0.002246419446397792,3.180211929402931e-5,-4.2797108244559135e-8,0.0022465314514837314,3.1898991863196846e-5,-4.290391686790522e-8,0.0022465964763423293,3.192267915682146e-5,-4.292934587877446e-8,0.0022466461542808808,3.185001140863545e-5,-4.2846882077462555e-8,0.0022467207138888905,3.1672240851810194e-5,-4.264604611928958e-8,0.0022468631990779767,3.140089843834509e-5,-4.2339079016408486e-8,0.0022471100388813652,3.1070610463486265e-5,-4.196427300171984e-8,0.002247479746499827,3.073566784992554e-5,-4.158230565870342e-8,0.0022479638331529823,3.045874199951375e-5,-4.1263714808448154e-8,0.002248524763253154,3.02937857422682e-5,-4.1069733388505545e-8,0.002249103611883865,3.0268960024283786e-5,-4.1032988729356464e-8,0.0022496357222364597,3.0376558929030593e-5,-4.114590430823665e-8,0.002250068824548509,3.0574158665270486e-5,-4.1361647414439126e-8,0.0022503772247836114,3.07964029825346e-5,-4.160710741763205e-8,0.002250567802057482,3.097301904580212e-5,-4.1803061544443096e-8,0.002250676749711126,3.1047324392743566e-5,-4.188509138902905e-8,0.0022507586723131802,3.099010340839463e-5,-4.1819420951854353e-8,0.002250871480347393,3.080538471041008e-5,-4.1609680129912226e-8,0.0022510615188335178,3.052699532297764e-5,-4.1293253390966694e-8,0.002251353179262093,3.0207520227351978e-5,-4.092900157619033e-8,0.0022517456031207373,2.990365199999711e-5,-4.058081653528731e-8,0.002252216441744965,2.966277801546249e-5,-4.0302454700107246e-8,0.0022527301904458124,2.9514465763670236e-5,-4.012779775956819e-8,0.0022532475943158755,2.9467955847632948e-5,-4.0067851081194045e-8,0.0022537333307623537,2.9514413442723212e-5,-4.0113146302274113E-08,0.0022541607881451917,2.9631644844628163e-5,-4.023900335211374e-8,0.002254514189838657,2.9789237110179563e-5,-4.041133614434692e-8,0.0022547890266936274,2.9952985275678716e-5,-4.059167064094272e-8,0.0022549917913854377,3.0088440765969818e-5,-4.074114160771088e-8,0.0022551396035145384,3.016407696389352e-5,-4.08240201186456e-8,0.0022552597216511264,3.015481429148342e-5,-4.081164539487939e-8,0.0022553882919875423,3.0046508802163843e-5,-4.0687495180085486e-8,0.002255567099077569,2.9841357504034444e-5,-4.045337540522603e-8,0.0022558369388607233,2.9562838755949134e-5,-4.0135156504026914e-8,0.0022562271875581842,2.9257130726269753e-5,-3.978455631529007e-8,0.0022567436326642507,2.898714903281843e-5,-3.947255364662877e-8,0.0022573598823487835,2.8817209579511943e-5,-3.927213390100102e-8,0.002258018966071855,2.8791605493017066e-5,-3.923404737454537e-8,0.002258648117312685,2.891633036493332e-5,-3.936599702943412e-8,0.0022591820275492096,2.9154153382066135e-5,-3.962682189325287e-8,0.0022595839247476135,2.9436595028559185e-5,-3.993977198480979e-8,0.00225985505008105,2.9686790215993037e-5,-4.021816649643196e-8,0.002260030241699472,2.9842461088519565e-5,-4.039130403089442e-8,0.002260164133587199,2.9870701143892955e-5,-4.042125712911031e-8,0.0022603147060398874,2.9772008334002676e-5,-4.0307640364203134e-8,0.002260529356679789,2.957539212424842e-5,-4.008236218492744e-8,0.0022608360709949985,2.9328088618681445e-5,-3.9798262676794195e-8,0.002261240279369694,2.9083351681059975e-5,-3.951545849385412e-8,0.0022617268003365322,2.888909043567816e-5,-3.9288472509905356e-8,0.0022622655482008036,2.8779388123142624e-5,-3.915647214350556e-8,0.002262819189102602,2.8770098261314698e-5,-3.913805732001187e-8,0.002263350798057785,2.88586129564398e-5,-3.92308125522209e-8,0.0022638299762149723,2.9026875547142857e-5,-3.9414639258724473e-8,0.00226423666135669,2.9246199189130553e-5,-3.9657234352431613e-8,0.0022645626786873415,2.9482478245198007e-5,-3.992005306099529e-8,0.0022648116674165116,2.9700822468235492e-5,-4.016358408751382e-8,0.0022649981596772123,2.9869345096513426e-5,-4.0351602493104255e-8,0.00226514630501003,2.9962411033835785e-5,-4.04547762743576e-8,0.002265288298830657,2.9963862391270176e-5,-4.045428268554886e-8,0.0022654620702153745,2.9870664852001304e-5,-4.034600056798178e-8,0.002265707212446325,2.969691295175194e-5,-4.0145217890832345e-8,0.002266057956294179,2.947691133511338e-5,-3.9890345763315734e-8,0.0022665329039003286,2.926444328548644e-5,-3.964227072360827e-8,0.0022671236887107245,2.9124484378898093e-5,-3.9475022511818455E-08,0.002267788240646869,2.9115420126813518e-5,-3.945552451759843e-8,0.0022684561262601086,2.9265821438624493e-5,-3.9617054061131354e-8,0.0022690490903026677,2.955733641213853e-5,-3.993960157280089e-8,0.002269509515122626,2.992626254599793e-5,-4.035147042985752e-8,0.00226982162214845,3.0286068029203308e-5,-4.0754733553186254e-8,0.0022700138757717004,3.055897303667495e-5,-4.1061025649979134e-8,0.0022701436737226793,3.069989577380529e-5,-4.1218699906638504e-8,0.00227027517647685,3.070387520696665e-5,-4.122131101616223e-8,0.002270461042897145,3.059919619723711e-5,-4.1100011651257346e-8,0.002270732689133939,3.0433729733369717e-5,-4.090835113136894e-8,0.002271098337780852,3.026097227227714e-5,-4.070670005595391e-8,0.002271546105525531,3.012906258930677e-5,-4.0549886052690306e-8,0.002272049606456396,3.007354356655947e-5,-4.0478868217575704e-8,0.0022725744638758933,3.011354728086309e-5,-4.051615436512521e-8,0.0022730847790649704,3.0250954443169037e-5,-4.066458322488583e-8,0.002273548838725809,3.047206367789406e-5,-4.0909059104787467e-8,0.0022739434936463994,3.075113090835044e-5,-4.1220551846418976e-8,0.0022742568636345524,3.105504186902545e-5,-4.156147942044127e-8,0.0022744892839467825,3.134835492335001e-5,-4.189151521878511e-8,0.0022746527416301044,3.159798737144839e-5,-4.217292294439811e-8,0.0022747692873981264,3.177714018497166e-5,-4.237495585906838e-8,0.0022748688113758886,3.186850606857967e-5,-4.247743480535395e-8,0.002274986290774487,3.186699225575003e-5,-4.2473855910760004e-8,0.0022751583117732004,3.178213127539921e-5,-4.237427673206388e-8,0.0022754182619907173,3.1640017291713195e-5,-4.2207768491395545e-8,0.0022757894556965316,3.1483670873694755e-5,-4.202308555544977e-8,0.0022762763149492913,3.1369490725813464e-5,-4.188476186116999e-8,0.002276855832823401,3.135697026894548e-5,-4.186133900931318e-8,0.0022774744421386866,3.1490633861351893e-5,-4.200454099581501e-8,0.0022780569340058936,3.177865036092299e-5,-4.232457983909165e-8,0.0022785298502353986,3.217986098398422e-5,-4.277512950721424e-8,0.002278850878859694,3.261186828087253e-5,-4.326249088421801e-8,0.002279027127460274,3.29810254809563e-5,-4.3679853601427606e-8,0.0022791101135152944,3.3218485070021266e-5,-4.3948435338700015e-8,0.0022791716138773816,3.33017751806445e-5,-4.404203618293163e-8,0.0022792763622203156,3.325354630218967e-5,-4.3985619723857855e-8,0.0022794650184009696,3.312474867222378e-5,-4.3836336864797965e-8,0.0022797502493714416,3.297479872131966e-5,-4.3661248003750406e-8,0.00228012142820996,3.285672340462785e-5,-4.35206528604119e-8,0.0022805525144040995,3.2809069538178984e-5,-4.3458910771532503e-8,0.002281009749824412,3.28530678199272e-5,-4.350102367560977e-8,0.002281457946481573,3.299290573495884e-5,-4.3652647942342574e-8,0.0022818653863613037,3.3217663060474e-5,-4.390203862093646e-8,0.0022822076095379298,3.350430854908523e-5,-4.4223341324998374e-8,0.0022824701581385626,3.38215008984268e-5,-4.458094556850484e-8,0.0022826501909389498,3.413398695711384e-5,-4.493459121134231e-8,0.0022827568168762593,3.44073498830337e-5,-4.524485208989148e-8,0.0022828100447377627,3.4612658901913384e-5,-4.547843105508966e-8,0.0022828384740465075,3.4730475087631895e-5,-4.561266796396316e-8,0.002282876011570533,3.475388096679199e-5,-4.5638964500433376e-8,0.002282957848421652,3.469040464851831e-5,-4.5565062411767125e-8,0.0022831158204580496,3.456271833872463e-5,-4.541606069616092e-8,0.0022833731202049406,3.440786048574832e-5,-4.5233819572801423e-8,0.0022837383081319583,3.427425554837967e-5,-4.507378989735375e-8,0.0022841992424606486,3.42151255976047e-5,-4.4997528462908375e-8,0.0022847190630679586,3.427694413898361e-5,-4.505929978605274e-8,0.0022852381039333777,3.448341082476899e-5,-4.528736898920922e-8,0.002285686017006873,3.4819631970934466e-5,-4.566551541864208e-8,0.0022860045965692596,3.522625967483624e-5,-4.6126130449042295e-8,0.0022861729555042707,3.5613274931110104e-5,-4.65660689031637e-8,0.002286219685653516,3.5892392446296056e-5,-4.688394305335418e-8,0.002286211691889868,3.601177133491025e-5,-4.7019944247694604e-8,0.002286225505956513,3.5972626779050686e-5,-4.697479161031815e-8,0.0022863188543598124,3.58205873724714e-5,-4.6799832485411654e-8,0.00228651668635773,3.562198060753e-5,-4.6570120297171264e-8,0.002286812966928041,3.5440632292562546e-5,-4.635820450409294e-8,0.002287180868527256,3.532389707738892e-5,-4.6218365864022434e-8,0.002287583967878681,3.5298098790532246e-5,-4.618136168410986e-8,0.0022879848284268977,3.536980504236021e-5,-4.6255633734096165e-8,0.0022883504197809537,3.552946613083765e-5,-4.643115703668337e-8,0.002288655274879669,3.575541538610793e-5,-4.668378554344655e-8,0.0022888834463104927,3.60176745468646e-5,-4.697952823998258e-8,0.002289029789277668,3.6281738912671874e-5,-4.727893103740416e-8,0.002289100595889158,3.65126058036671e-5,-4.754178038619249e-8,0.0022891133320047745,3.667916372430841e-5,-4.773217946936401e-8,0.0022890950961498148,3.675871799412574e-5,-4.782371311654076e-8,0.0022890795607725576,3.674100774676719e-5,-4.7804003549630296e-8,0.002289102527511509,3.663093644990813e-5,-4.767785241181172e-8,0.002289196541348638,3.644938070154096e-5,-4.746830614559982e-8,0.0022893851939173337,3.6231636872978196e-5,-4.7215134114218746e-8,0.002289677840039512,3.602331407239086e-5,-4.6970406519053876e-8,0.0022900654708520327,3.58736629553553e-5,-4.679101983320465e-8,0.002290518708418688,3.582634915501503e-5,-4.6728061346799346e-8,0.0022909894789891827,3.590809695929047e-5,-4.681348212371508e-8,0.002291418352774001,3.611712058525191e-5,-4.704638370723802e-8,0.002291748752111823,3.641569025232455e-5,-4.7384109668672996e-8,0.0022919460643483626,3.6733133288591057e-5,-4.774556420547209e-8,0.0022920143328060607,3.6983858880081674e-5,-4.803206329891999e-8,0.002291999814615806,3.7096977477987554e-5,-4.8161604641847836e-8,0.002291975474626928,3.704374634491269e-5,-4.8100515063701843e-8,0.0022920128248449328,3.6846970662485426e-5,-4.787422973248501e-8,0.0022921567275596033,3.656759825553701e-5,-4.7551933742153225e-8,0.0022924155206640656,3.627866505605262e-5,-4.721685937218435e-8,0.0022927669894349093,3.6041857596996885e-5,-4.6939648387720506e-8,0.002293172035520522,3.589533984270876e-5,-4.676448884083824e-8,0.002293587774220062,3.585234950794764e-5,-4.670737294106673e-8,0.00229397625599273,3.5905780732209896e-5,-4.676107434656356e-8,0.0022943087935883965,3.603438248915831e-5,-4.690198432790658e-8,0.0022945674627496593,3.6208248273547327e-5,-4.709625363021303e-8,0.0022947453752612396,3.639309951270794e-5,-4.730469355160464e-8,0.002294846618012875,3.655385217382977e-5,-4.748694572871607e-8,0.0022948859966711527,3.6658142221179055e-5,-4.760561192507473e-8,0.0022948882229804706,3.66802485027254e-5,-4.7630789899419904e-8,0.002294885915277481,3.660536515102313e-5,-4.754496057001509e-8,0.0022949158390162044,3.64335141641052e-5,-4.7347464493291285e-8,0.002295013303258485,3.6181877526743895e-5,-4.705723761896796e-8,0.0022952053707549756,3.5884255428738196e-5,-4.6712359540665154e-8,0.0022955042500871392,3.558678939109289e-5,-4.6365392836542746e-8,0.002295902637857623,3.534001900618766e-5,-4.607449202272132e-8,0.002296372603345501,3.518847407688666e-5,-4.5891531629784525e-8,0.002296868936882388,3.515979486113663e-5,-4.584945571699113e-8,0.002297337100875107,3.525571375908133e-5,-4.595154991513938e-8,0.0022977251112613487,3.54474663309797e-5,-4.6165727461002804e-8,0.002297997511006086,3.567828648084553e-5,-4.642708208073091e-8,0.0022981479038201797,3.587486868504097e-5,-4.665101902295781e-8,0.0022982048890346418,3.59670990491837e-5,-4.6756152857442506e-8,0.0022982264993906746,3.591076706084595e-5,-4.66907281238414e-8,0.00229828244392896,3.570370688981107e-5,-4.645139989864305e-8,0.0022984305793150974,3.538654013029307e-5,-4.6084187811529834e-8,0.002298698613153666,3.502687277549902e-5,-4.5666380520174655e-8,0.0022990791902976694,3.4695334694455384e-5,-4.5279093849930466e-8,0.0022995381727997865,3.4445276278051516e-5,-4.49839970221804e-8,0.002300029218953335,3.430321854904224e-5,-4.4812265883725474e-8,0.0023005071520190556,3.426970567379333e-5,-4.4765358220823394e-8,0.0023009363058259054,3.432593949783263e-5,-4.4822399265362546e-8,0.0023012938617268945,3.444159290053393e-5,-4.494899788620879e-8,0.002301570006953491,3.458126436569647e-5,-4.51046246777301e-8,0.002301766800108603,3.470904311234521e-5,-4.524791553057968e-8,0.002301896888738061,3.479179416047871e-5,-4.534053254240823e-8,0.002301982375857608,3.480208071788327e-5,-4.535057802732492e-8,0.0023020534602801847,3.472142304601621e-5,-4.525634915545079e-8,0.0023021460538406057,3.454404162586172e-5,-4.505063369302154e-8,0.002302297520970304,3.4280415377693827e-5,-4.474483116108385e-8,0.00230254017354546,3.395911142067943e-5,-4.4371164167657605e-8,0.0023028932564570586,3.3624877587848964e-5,-4.398066536436923e-8,0.0023033555964254958,3.333152309155398e-5,-4.3635188638132984e-8,0.0023039020503271127,3.312995217770553e-5,-4.339376844190064e-8,0.002304486385520222,3.305425894193706e-5,-4.329658172175806e-8,0.002305051035348368,3.3110519998397165e-5,-4.335181227808648e-8,0.0023055413708626526,3.3272560571329226e-5,-4.353040435431237e-8,0.0023059202737308734,3.348666573581906e-5,-4.3771124818958763e-8,0.0023061786570983014,3.368428524135492e-5,-4.3994995923487775e-8,0.0023063388048928817,3.379947725797813e-5,-4.412542796611055e-8,0.0023064492323863275,3.378653186463361e-5,-4.410875759920423e-8,0.0023065718780325255,3.363277880294064e-5,-4.392931753536871e-8,0.0023067648430645355,3.336223440573916e-5,-4.361391666217241e-8,0.0023070660644278905,3.302816568314063e-5,-4.322345795297547e-8,0.002307483727852774,3.269679339994018e-5,-4.2834243518091083e-8,0.0023079967124393116,3.242829025455311e-5,-4.2516054578377455e-8,0.002308563857239961,3.2262195589673835e-5,-4.2315205384790976e-8,0.0023091372052619127,3.221149782256434e-5,-4.224750159055635e-8,0.002309673844341424,3.2265073740245427e-5,-4.2300823774791806e-8,0.0023101432068525158,3.239501720334835e-5,-4.244342832539441e-8,0.0023105295861446016,3.256496006872504e-5,-4.2633513685632894e-8,0.0023108314009869526,3.2736917316135974e-5,-4.282717939490637e-8,0.002311059046577513,3.287596311964373e-5,-4.298390962236588e-8,0.0023112325956021447,3.2953249680788354e-5,-4.30701110947523e-8,0.00231137979665109,3.294831861010061e-5,-4.306178209267358e-8,0.0023115340997543143,3.285151044406728e-5,-4.2947275355292e-8,0.0023117319317365243,3.2666777386046935e-5,-4.2730561942988145e-8,0.0023120082445560355,3.241439708027806e-5,-4.243445694518821e-8,0.0023123897136956896,3.213200948149292e-5,-4.210197938273945e-8,0.002312886188388601,3.1871514418046985e-5,-4.179294978549619e-8,0.0023134830361791667,3.168968477884489e-5,-4.157326718028376e-8,0.0023141388246951094,3.163282940214068e-5,-4.149718047268907e-8,0.002314792329840861,3.172005820484998e-5,-4.158778555622238e-8,0.002315378896673669,3.193290371843414e-5,-4.182474929661659e-8,0.0023158505127047306,3.2217740072628357e-5,-4.214680612835947e-8,0.0023161909435828218,3.2501262856054346e-5,-4.2469442360932653e-8,0.002316419671183998,3.271254277366566e-5,-4.27103290681903e-8,0.0023165841921237427,3.2802780436011716e-5,-4.2812247472897776e-8,0.0023167450214273137,3.2756541656388914e-5,-4.275628838705075e-8,0.0023169591271539453,3.259272819167442e-5,-4.256326379538918e-8,0.0023172663812004936,3.2356898186037265e-5,-4.228512778642178e-8,0.0023176817453812227,3.2108186977599e-5,-4.199006993769168e-8,0.002318194185054491,3.1904582986137214e-5,-4.174553762547756e-8,0.00231877176791076,3.1790160014621046e-5,-4.1603324561922454e-8,0.002319371007020906,3.1787119353049104e-5,-4.159008391244041e-8,0.0023199475183516252,3.189400454355314e-5,-4.17049622110272e-8,0.0023204650305293554,3.20894591354611e-5,-4.1923747329153166e-8,0.002320900868517307,3.2339315150879754e-5,-4.220702939293869e-8,0.0023212476092142357,3.260440417190498e-5,-4.2509329097549e-8,0.0023215118356965506,3.284715719192341e-5,-4.278686762213579e-8,0.0023217113982006393,3.3036182323788574e-5,-4.300295310375987e-8,0.002321872364162279,3.314903836216729e-5,-4.313120169100703e-8,0.0023220262092654128,3.3173971066507745e-5,-4.315751282036905e-8,0.002322207158400309,3.311135649858902e-5,-4.3081732272613976e-8,0.0023224491028571363,3.297521373884765e-5,-4.291948491394481e-8,0.002322781228382118,3.279447518776715e-5,-4.270382165655561e-8,0.0023232216822924234,3.261266466520483e-5,-4.248505510679363e-8,0.002323769722566849,3.2483621858754785e-5,-4.2325943183644296e-8,0.002324398904211897,3.2460944922610885e-5,-4.228942774440365e-8,0.002325056179267136,3.258120401470381e-5,-4.241896142727533e-8,0.002325671964702718,3.2846122159074696e-5,-4.271751943685757e-8,0.00232618144268266,3.321386581244003e-5,-4.3137207029593565e-8,0.0023265488268709705,3.36082031220369e-5,-4.3589753742231386e-8,0.0023267814240886583,3.394420957442691e-5,-4.397636855767629e-8,0.0023269254239565483,3.415782391829717e-5,-4.422212158225807e-8,0.002327046906947544,3.422452814123435e-5,-4.429770088385412e-8,0.002327209206277997,3.4160981089080925e-5,-4.422143906155781e-8,0.002327456336525311,3.401357864203633e-5,-4.4046282714445835E-08,0.002327805923589105,3.384194337626255e-5,-4.384093488623098e-8,0.002328250166554385,3.37036441574621e-5,-4.3672328614357636e-8,0.002328761740259225,3.364315089403521e-5,-4.3592791245387643e-8,0.002329301915681379,3.36856352720997e-5,-4.3632602011700155e-8,0.002329829055291661,3.383516729126079e-5,-4.379753708045467e-8,0.0023303062390849644,3.407663050535043e-5,-4.407078165874924e-8,0.0023307070359199853,3.438049828740393e-5,-4.441833484198168e-8,0.0023310187619350036,3.470925636680583e-5,-4.4796515547741785e-8,0.0023312431048083324,3.502410718649536e-5,-4.515990686671555e-8,0.002331394528886721,3.5290797443504604e-5,-4.5468276438613356e-8,0.002331497260081565,3.5483844383961805e-5,-4.569154976787356e-8,0.002331581733856791,3.558904226640621e-5,-4.581270005257149e-8,0.0023316810811048884,3.560465423137779e-5,-4.582909582100883e-8,0.002331827771099224,3.5541816076164474e-5,-4.575300867708182e-8,0.0023320501595354027,3.542447396167401e-5,-4.561169901534009e-8,0.0023323683909373285,3.528871876135906e-5,-4.5446880835164095e-8,0.0023327891822946096,3.51805346933835e-5,-4.531231018055253e-8,0.002333299958278486,3.515015003696038e-5,-4.52672578511267e-8,0.0023338645432176663,3.5241270465413334e-5,-4.5363790266725256e-8,0.002334424562220092,3.5475412457926315e-5,-4.562814505895616e-8,0.0023349112408662287,3.583613212030472e-5,-4.6041947983230845e-8,0.002335268146958933,3.626338247097496e-5,-4.6535418255023436e-8,0.0023354760591965088,3.666773954728629e-5,-4.700402689339779e-8,0.0023355644528050535,3.696270836812873e-5,-4.7346394509497067e-8,0.002335600051392683,3.7098371862978543e-5,-4.75036656435806e-8,0.002335658860810056,3.707695140177438e-5,-4.747763880896117e-8,0.0023357987401432536,3.694435600604198e-5,-4.732093922172631e-8,0.002336045463982361,3.6767616798790464e-5,-4.711093689128459e-8,0.002336393449628172,3.661235323283033e-5,-4.6923808409687194e-8,0.00233681482692482,3.6528212315890726e-5,-4.68177625437056e-8,0.002337270388702322,3.6542959451067806e-5,-4.682607312286444e-8,0.0023377189367930666,3.66625719363429e-5,-4.6956871248297825e-8,0.002338124071548144,3.687450363014641e-5,-4.7196561629315964e-8,0.002338458716826444,3.71523445299233e-5,-4.75149713046986e-8,0.0023387078440758034,3.7461115310449495e-5,-4.787144263559505e-8,0.002338869585723431,3.7762817841687184e-5,-4.822140859107426e-8,0.0023389547817296704,3.802184043837775e-5,-4.852287616148231e-8,0.0023389850485431105,3.820974950563554e-5,-4.87421532200505e-8,0.002338989627065774,3.830895059743735e-5,-4.885815585004515e-8,0.0023390014899789605,3.8314840733578865e-5,-4.8864887051675046e-8,0.002339053227796983,3.823643256374001e-5,-4.8772155817743224e-8,0.0023391730470084114,3.809565596331883e-5,-4.860485990028719e-8,0.002339381007965399,3.7925524692509784e-5,-4.840106376674009e-8,0.0023396854228536312,3.776719520424567e-5,-4.82088209371393e-8,0.0023400793116841023,3.76654727255943e-5,-4.808107898018889e-8,0.002340537481346002,3.766178500501879e-5,-4.8067398459253976e-8,0.0023410160318337752,3.778395059438169e-5,-4.820166978989883e-8,0.0023414571514578423,3.8033753723512084e-5,-4.8487112668261064e-8,0.002341802014567862,3.837655741982126e-5,-4.888372230559299e-8,0.0023420114228051465,3.874102641968516e-5,-4.930783648964436e-8,0.0023420863661792065,3.9036695298684036e-5,-4.965293287954776e-8,0.0023420745217566197,3.918717458210972e-5,-4.982885057806455e-8,0.0023420538209714603,3.91622722916344e-5,-4.9799546790811774e-8,0.0023421004046062298,3.8988852688015025e-5,-4.959573407663678e-8,0.0023422602630217295,3.8734768578304047e-5,-4.9296049457022376e-8,0.0023425391360975905,3.847893082192605e-5,-4.899224673303789e-8,0.0023429102765989336,3.828568044273994e-5,-4.8759531463412606e-8,0.0023433299940436355,3.819251167163617e-5,-4.8642341136861975e-8,0.0023437518655280796,3.8209551159922836e-5,-4.865357708177263e-8,0.0023441359775748295,3.8325147109487965e-5,-4.87807783260245e-8,0.002344453495623456,3.8512988018584136e-5,-4.8994075741131246e-8,0.002344688236531956,3.873852777500904e-5,-4.9253489797137967e-8,0.0023448367420634006,3.896429832747165e-5,-4.951513690495988e-8,0.002344907563344286,3.915445172418351e-5,-4.973668851539436e-8,0.002344919846223446,3.927885131661452e-5,-4.9882338277690744e-8,0.0023449010717055798,3.9316757036171124e-5,-4.992722780668246e-8,0.0023448838074805536,3.925979958184939e-5,-4.986094461349622e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json new file mode 100644 index 000000000..f46c700e5 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":18000,"numberOfSamples":1000,"samples":[0.002344901558802442,3.911368303105064e-5,-4.968948981883951e-8,0.002344984132234963,3.8898163040661456e-5,-4.9435280092255396e-8,0.002345153076453194,3.8645137911801235e-5,-4.913505665071581e-8,0.0023454177649364274,3.8394882701718704e-5,-4.883571430956027e-8,0.0023457726182683734,3.8190636084535106e-5,-4.858818570335279e-8,0.0023461958479369647,3.8071833815956895e-5,-4.8439580759263195E-08,0.0023466502566154754,3.806617270836784e-5,-4.8423700396250246e-8,0.0023470871667342188,3.818099295284342e-5,-4.855052067391149e-8,0.0023474547964515697,3.8395736841710905e-5,-4.8796864492445077e-8,0.002347711548848421,3.865908630266998e-5,-4.9102715263344044e-8,0.0023478420825502667,3.889571950044163e-5,-4.937914952780937e-8,0.00234786961391877,3.902607152063935e-5,-4.9531851099022974e-8,0.0023478548636246925,3.899526350333567e-5,-4.949545923878963e-8,0.002347876570857601,3.8797420616696476e-5,-4.926230021920203e-8,0.0023480009856264934,3.8479554435582394e-5,-4.888691218568922e-8,0.002348257394842648,3.81212678497871e-5,-4.8462214576854004e-8,0.0023486326479069406,3.7803093228172886e-5,-4.8082513592352674e-8,0.0023490835964367573,3.75814623825538e-5,-4.781433129307214e-8,0.002349556312825578,3.747939916176964e-5,-4.768549705089819e-8,0.002350001794120482,3.7490379203984336e-5,-4.768944037993623e-8,0.002350384381521822,3.758800212452211e-5,-4.779618621991062e-8,0.0023506841057128985,3.773572437125139e-5,-4.796348785816809e-8,0.0023508956980960788,3.7894232799687954e-5,-4.814536983155262e-8,0.00235102648099269,3.802641740658273e-5,-4.829803528414698e-8,0.002351094173287532,3.810084978765315e-5,-4.838411531070628e-8,0.0023511246964647747,3.8094608924835005e-5,-4.837614007717066e-8,0.0023511496348331447,3.799585924542727e-5,-4.825963731338258e-8,0.0023512029179003826,3.780605403700456e-5,-4.803571540037979e-8,0.002351316493203054,3.754110540847055e-5,-4.772242618165293e-8,0.002351515254331023,3.723065606146325e-5,-4.7353971759481864e-8,0.0023518120205759476,3.6914840723378074e-5,-4.697706960436158e-8,0.0023522036900594134,3.663842066327486e-5,-4.664428486396447e-8,0.0023526697415857454,3.6442835626573675e-5,-4.6404850464569947E-08,0.0023531739492806607,3.635743472275251e-5,-4.629433098034591e-8,0.0023536695969230293,3.639153741844735e-5,-4.632502065598751e-8,0.002354107963028887,3.65290387843179e-5,-4.64791633358682e-8,0.0023544493334192655,3.672744771866113e-5,-4.670739713326941e-8,0.0023546748244885193,3.692340046714689e-5,-4.693502893752279e-8,0.0023547957604870243,3.704596407123413e-5,-4.707779081016492e-8,0.002354855915443392,3.703656572046711e-5,-4.70656375977696e-8,0.0023549223160394474,3.68699978500431e-5,-4.6867843166706427e-8,0.002355064610704272,3.656683381659626e-5,-4.65078344897485e-8,0.002355330456332751,3.6188645949168455e-5,-4.605762360942627e-8,0.0023557290800031,3.581614088997792e-5,-4.561209830788785e-8,0.0023562313149006323,3.552104851024793e-5,-4.525598622392911e-8,0.002356784170343763,3.534573263514571e-5,-4.503985226093692e-8,0.00235733028458666,3.529761527789713e-5,-4.49733843052568e-8,0.002357823000083982,3.535587514723036e-5,-4.503300722505471e-8,0.0023582334607192713,3.548324139112816e-5,-4.517550230472812e-8,0.0023585511399880337,3.5636946080439145e-5,-4.535076312918837e-8,0.002358780962041987,3.577633956909642e-5,-4.551078335076926e-8,0.0023589395842511522,3.5867314155800855e-5,-4.561499749370089e-8,0.002359052080351249,3.588475773629073e-5,-4.563332272362631e-8,0.002359149147828655,3.58142084645814e-5,-4.554820350082022e-8,0.0023592643626533377,3.565335730415486e-5,-4.5356402142557453E-08,0.002359430841246486,3.541339537933329e-5,-4.507057121932486e-8,0.0023596768567981123,3.511952535451973e-5,-4.471987460114685e-8,0.0023600205188522927,3.480948168500788e-5,-4.4348345490610194e-8,0.0023604644698905536,3.452896471445555e-5,-4.400967986329848e-8,0.002360992350010294,3.432364769813786e-5,-4.375798612579386e-8,0.002361569042366369,3.422878850205881e-5,-4.363559641492016e-8,0.0023621460051594665,3.4259012492440044e-5,-4.3660883375380844e-8,0.0023626713616961515,3.440164922381125e-5,-4.3820080092443e-8,0.002363102567048767,3.4616447316981465e-5,-4.4066547053651594e-8,0.002363418276529288,3.484277697645849e-5,-4.432896661511161e-8,0.002363625904080295,3.501331834422755e-5,-4.452741922922826e-8,0.002363762140673494,3.50713100177352e-5,-4.459391491625094e-8,0.0023638851680286292,3.498694287747205e-5,-4.449207573009896e-8,0.0023640594734086117,3.4767688893707976e-5,-4.422967279774819e-8,0.002364337052724743,3.44579776897352e-5,-4.385849503168624e-8,0.0023647414089119547,3.412668761857231e-5,-4.345970698104098e-8,0.002365260922020612,3.3846152104623893e-5,-4.3119075143364176e-8,0.0023658544426327192,3.367093165302294e-5,-4.290180278936738e-8,0.0023664660490979486,3.362478090509265e-5,-4.2836928949552116e-8,0.002367041894211088,3.3699477499923e-5,-4.29156715149733e-8,0.0023675425813141815,3.3863070665591675e-5,-4.3100929149056666e-8,0.002367948361133545,3.407186155979982e-5,-4.334131276515742e-8,0.0023682583104001854,3.4281125480317074e-5,-4.358383945165417e-8,0.002368486347050624,3.4452289918945094e-5,-4.378254145392837e-8,0.002368656569458454,3.455667745010834e-5,-4.3903037676489125e-8,0.002368799213631667,3.457704329979657e-5,-4.39244496666408e-8,0.0023689474323752143,3.450818698611703e-5,-4.384015205758009e-8,0.0023691344170632556,3.4357416482385305e-5,-4.3658308045106786e-8,0.002369390127550806,3.4144946605107745e-5,-4.340234799568976e-8,0.002369737050180081,3.390358038895181e-5,-4.311066755298774e-8,0.0023701849761484078,3.367640314542406e-5,-4.283404275674573e-8,0.002370725808074802,3.351105695568608e-5,-4.262900855450118e-8,0.0023713306372070224,3.344998149691437e-5,-4.254638292238252e-8,0.0023719519724518553,3.351806525291478e-5,-4.261657041710548e-8,0.0023725329401571575,3.371175366291013e-5,-4.283642668257849e-8,0.0023730222295828053,3.3995002702351264e-5,-4.316414308379054e-8,0.002373389973065274,3.430578520129685e-5,-4.3526671192005085e-8,0.0023736381505010734,3.4572328983584834e-5,-4.38388242013889e-8,0.0023738010098588143,3.473355012811767e-5,-4.402752760022938e-8,0.00237393531167498,3.4756315512409036e-5,-4.40524591922618e-8,0.0023741041518875864,3.4643979531241987e-5,-4.391644020525929e-8,0.0023743597715574142,3.443428581685144e-5,-4.366325823519776e-8,0.002374730275263065,3.418808569592938e-5,-4.336456918047751e-8,0.0023752135991477064,3.397259983293269e-5,-4.3100208376556956e-8,0.002375779941817866,3.384415723124978e-5,-4.293768908589405e-8,0.0023763813960745914,3.383531261076801e-5,-4.2916694132470866e-8,0.0023769653178674142,3.394966546843266e-5,-4.304258701004152e-8,0.0023774870203995034,3.416488144273135e-5,-4.3289677344681276e-8,0.002377918235263097,3.444154087954113e-5,-4.3611544323386645e-8,0.0023782499725694506,3.473394751413563e-5,-4.3953871457543554e-8,0.002378490676997382,3.499948400810439e-5,-4.4265690042450136e-8,0.002378661785361829,3.520478219905836e-5,-4.45068771402646e-8,0.0023787927125148967,3.5328684667322306e-5,-4.465179236135274e-8,0.0023789164661922424,3.5362982250262976e-5,-4.4690190041228925e-8,0.002379066168330197,3.531210837114164e-5,-4.462683919511151e-8,0.0023792721073279486,3.519257964256899e-5,-4.448085699607398e-8,0.0023795586569317585,3.50323249823028e-5,-4.4284979324380445e-8,0.0023799404698155602,3.486935159153574e-5,-4.408411931944888e-8,0.00238041786411957,3.4748539855140206e-5,-4.39317205628605e-8,0.0023809723866902452,3.471506365948844e-5,-4.38820214882267e-8,0.0023815649852208134,3.48036933953732e-5,-4.397726798401748e-8,0.0023821401857936045,3.502563195655052e-5,-4.423182507960411e-8,0.0023826385643343764,3.535804096673262e-5,-4.461940477123716e-8,0.002383015549616911,3.574351081297848e-5,-4.507218244911266e-8,0.0023832590121007622,3.610394768843331e-5,-4.549722500288198e-8,0.0023833960729126107,3.6365403192313095e-5,-4.5806082879119395e-8,0.0023834844707587666,3.6482794911242564e-5,-4.594430660481812e-8,0.0023835926131679144,3.6453070353420245e-5,-4.5907232417809996e-8,0.0023837780068744117,3.6312527567923084e-5,-4.573698815443366e-8,0.002384072504190872,3.612228458903607e-5,-4.550549834835012e-8,0.002384477540262076,3.594951747525463e-5,-4.529245938741677e-8,0.0023849679834993427,3.5850894327466484e-5,-4.516576690664186e-8,0.0023855013057676516,3.586164050491832e-5,-4.5168379713013465e-8,0.0023860287687607305,3.599113018920311e-5,-4.5312724744731254e-8,0.002386506003294634,3.6224400739596276e-5,-4.558208417162952e-8,0.0023869010817420566,3.65281921996621e-5,-4.5937482125035984e-8,0.0023871989250919125,3.685955147899608e-5,-4.632784241705567e-8,0.002387401820865755,3.7174763898084735e-5,-4.6700739768763154e-8,0.002387526785819297,3.7436733765039484e-5,-4.701140163670798e-8,0.0023876010849905364,3.761979915266924e-5,-4.7228628272774645e-8,0.00238765727041805,3.771186667545958e-5,-4.733742080218521e-8,0.002387728725155376,3.7714449644070145e-5,-4.7339022820513065e-8,0.0023878460686218663,3.764152424039279e-5,-4.724953688088123e-8,0.002388034216505095,3.751792399775393e-5,-4.709805432518741e-8,0.0023883096269505005,3.7377464417580596e-5,-4.692455759226862e-8,0.002388677274146209,3.726041803036959e-5,-4.677709598428318e-8,0.0023891272588487315,3.720938268477899e-5,-4.6706986835451093e-8,0.0023896319399229,3.7262272101778856e-5,-4.6760418636059854e-8,0.0023901458647094826,3.7441849520893325e-5,-4.696572132812101e-8,0.002390611746871633,3.774354152197786e-5,-4.731844757029362e-8,0.0023909747687158945,3.81269601588696e-5,-4.777091840959034e-8,0.002391202906290385,3.8519192870702565e-5,-4.823603735908806e-8,0.0023913040660786186,3.883476948556154e-5,-4.8611270833999345e-8,0.002391328128732739,3.9006667440986484e-5,-4.881589018117696e-8,0.00239134943562406,3.90124026913742e-5,-4.882222941094568e-8,0.002391438487576229,3.8880411452464615e-5,-4.866331475848319e-8,0.0023916383708005662,3.867507853522781e-5,-4.841510309828039e-8,0.00239195590432241,3.847153998643774e-5,-4.816669872463936e-8,0.0023923668018147257,3.833341819751815e-5,-4.799408876442468e-8,0.002392828007801345,3.830015839190798e-5,-4.794511807386538e-8,0.0023932907590552147,3.8383856123547755e-5,-4.8035481865629606e-8,0.00239371096036409,3.857245714578611e-5,-4.82521178047072e-8,0.0023940559931876475,3.883616405890264e-5,-4.856042818085454e-8,0.0023943082930363074,3.9134985874419545e-5,-4.891304887908877e-8,0.0023944662220829185,3.9426309839536574e-5,-4.925889576057055e-8,0.0023945426540706474,3.967167832740828e-5,-4.955145041930234e-8,0.0023945617795173573,3.984206233309221e-5,-4.975530429415886e-8,0.002394554803373748,3.992121054124771e-5,-4.985033218746083e-8,0.00239455526447015,3.990695202747839e-5,-4.983330111917577e-8,0.002394594661569528,3.9810623353083994e-5,-4.971716322616409e-8,0.0023946988252229935,3.965513390937551e-5,-4.952874150407233e-8,0.0023948850777624304,3.9472259325648355e-5,-4.9305586614794425e-8,0.00239515997526318,3.9299439114975593e-5,-4.909233045733194e-8,0.0023955174021503037,3.9175945382072434e-5,-4.893628682300761e-8,0.002395937007932476,3.9137890421156826e-5,-4.8881533371822775e-8,0.002396383695909191,3.921131979781866e-5,-4.896047917113908e-8,0.0023968099593563576,3.9403258047878505e-5,-4.918277327372618e-8,0.002397163497613983,3.969252739918278e-5,-4.952387416863947e-8,0.0023974015854493413,4.002518309701328e-5,-4.99193026544001e-8,0.002397509675261247,4.0321678158350774e-5,-5.027326909845036e-8,0.0023975151824612907,4.049998955523513e-5,-5.048669925554299e-8,0.0023974844671535013,4.050819106081807e-5,-5.049657166197553e-8,0.002397499090668801,4.034853438152713e-5,-5.0304833087084466e-8,0.0023976229322382613,4.007667775600651e-5,-4.997738881179162e-8,0.002397879519985696,3.977656534145411e-5,-4.96140773901125E-08,0.0023982502957491016,3.9527801939768744e-5,-4.93098968993077e-8,0.002398689129527083,3.938302665345923e-5,-4.912820157919039e-8,0.002399141121851689,3.936112368628708e-5,-4.9092584839070415e-8,0.002399557122870482,3.945190021821551e-5,-4.919217196871091e-8,0.002399901681190261,3.9625470595205126e-5,-4.939240127952472e-8,0.0024001557140803276,3.9841782493496445e-5,-4.9646053324931454e-8,0.00240031603823306,4.0058414074826275e-5,-4.990243651972935e-8,0.0024003933848322214,4.02365269468108e-5,-5.0114610330648764e-8,0.0024004095942288745,4.034539638022784e-5,-5.0245052214989265e-8,0.0024003941453741816,4.0365693589607254e-5,-5.0269831914895396e-8,0.0024003801497172756,4.0291449589680024e-5,-5.018110199371788e-8,0.0024004000531943383,4.013054961443052e-5,-4.9987707246810776e-8,0.0024004814327914467,3.990360304898532e-5,-4.9713797552627094e-8,0.0024006433784475078,3.96412645683471e-5,-4.9395635374628664e-8,0.002400893829350257,3.938038444905259e-5,-4.907710595026679e-8,0.0024012280072063545,3.9159384872200925e-5,-4.88043653842751e-8,0.002401627983789423,3.901309599496099e-5,-4.861979177381442e-8,0.0024020634684160267,3.896712290496793e-5,-4.8555194568685595e-8,0.0024024942344411503,3.903172416614497e-5,-4.862420076639316e-8,0.0024028751869229125,3.919562945854613e-5,-4.881439962151439e-8,0.0024031652429550516,3.942160059336088e-5,-4.908159561584208e-8,0.0024033401183291706,3.964740296327271e-5,-4.9350792145343485e-8,0.002403406122558092,3.9796826052265784e-5,-4.952959530944614e-8,0.0024034075771528214,3.9802695108078196e-5,-4.953626629721684e-8,0.002403418663533099,3.963531471377749e-5,-4.933424264248788e-8,0.002403517483513351,3.9320414167136537e-5,-4.895377104664041e-8,0.00240375400559779,3.893213949475224e-5,-4.848339885001966e-8,0.0024041310350306584,3.856275056172833e-5,-4.803360539427687e-8,0.002404608522803643,3.8287467657906244e-5,-4.7694797328705657e-8,0.002405124618903588,3.814364277978108e-5,-4.7512463896821273e-8,0.002405618526611032,3.812961405164927e-5,-4.748570334517685e-8,0.0024060450436589023,3.821594093326314e-5,-4.7580367143404314e-8,0.002406379515424713,3.8359386346411104e-5,-4.774544974096198e-8,0.0024066165603803674,3.851416440298249e-5,-4.7926337409967924e-8,0.002406766193043988,3.863916072047892e-5,-4.8073452764022304e-8,0.0024068496190933135,3.870200493814187e-5,-4.814731567974312e-8,0.0024068954751543747,3.8681384728337856e-5,-4.812157280049673e-8,0.0024069363302526986,3.8568469741027326e-5,-4.7984907944708237e-8,0.002407005092363638,3.8367620010703626e-5,-4.774197343294295e-8,0.0024071311642991904,3.8096143001373596e-5,-4.741307791637707e-8,0.00240733648448139,3.7782662926820594e-5,-4.703219316231057e-8,0.0024076319591230843,3.746376601902139e-5,-4.664296180742872e-8,0.0024080150100535243,3.717901842199488e-5,-4.629284851707181e-8,0.0024084688627471237,3.6964873105139e-5,-4.6025986316963574e-8,0.002408963950387803,3.684822663195842e-5,-4.587550926484438e-8,0.002409461535231225,3.6840528070730786e-5,-4.585634918576009e-8,0.0024099194289861434,3.6933325176103526e-5,-4.595954827428758e-8,0.002410299639091284,3.709615129870326e-5,-4.6149286023116704e-8,0.0024105775736920194,3.727809719448076e-5,-4.636443290545415e-8,0.0024107515290991625,3.7414947503234764e-5,-4.652707276927955e-8,0.0024108494422053167,3.744332346904537e-5,-4.6559778833502254e-8,0.0024109280582808607,3.732068196771385e-5,-4.641012552830863e-8,0.0024110599588631028,3.704486401008396e-5,-4.6074593882075726e-8,0.0024113092457543352,3.666207745630117e-5,-4.560832165779338e-8,0.0024117058579894443,3.625440453889971e-5,-4.511002792620606e-8,0.00241223320394758,3.590984658345839e-5,-4.468591059086578e-8,0.0024128367433007784,3.569068786073452e-5,-4.4411566261216975e-8,0.002413447167854588,3.561679042361314e-5,-4.431182379727306e-8,0.002414003943390364,3.566857531655897e-5,-4.4364131508880796e-8,0.002414468917828636,3.5802128924618506e-5,-4.45164528407243e-8,0.0024148287689588913,3.596582802687616e-5,-4.4707042649597976e-8,0.0024150906323866994,3.6112294226174406e-5,-4.487876186163635e-8,0.0024152756199526553,3.620466985756144e-5,-4.4986732147043753e-8,0.002415412983422486,3.621886433437632e-5,-4.5001246595991545e-8,0.002415535705571361,3.614384708305006e-5,-4.490832914512481e-8,0.0024156771163272757,3.59813440871689e-5,-4.470949129805716e-8,0.0024158678193869285,3.5745351613970705e-5,-4.442116416614326e-8,0.002416132416351302,3.546120330008051e-5,-4.4073537242749924e-8,0.0024164859220694446,3.516352548830468e-5,-4.370808294460031e-8,0.00241693034169506,3.4892359785693274e-5,-4.337295078484064e-8,0.0024174524408001833,3.468719086143528e-5,-4.3115900098566585e-8,0.002418023930833043,3.457944258321774e-5,-4.2975364635792224e-8,0.002418604957254082,3.4584872568489474e-5,-4.297126534219297e-8,0.002419150952416655,3.469789771516463e-5,-4.30979643194712e-8,0.0024196218300455495,3.48898251884466e-5,-4.3321783064122653e-8,0.0024199916518604678,3.51121471359681e-5,-4.3584618304832864e-8,0.002420256595170644,3.5304987746849386e-5,-4.381393076419317e-8,0.002420439070447764,3.54098460734516e-5,-4.393818240200917e-8,0.002420585972638163,3.5384692412318615e-5,-4.39053621156832e-8,0.0024207596255476035,3.521796937688811e-5,-4.3700303187940916e-8,0.00242102169533141,3.493649672842064e-5,-4.335458114598203e-8,0.0024214136673983418,3.460203389622349e-5,-4.294254391313394e-8,0.0024219412696859064,3.4294397281599166e-5,-4.2560928350924536e-8,0.002422570997871016,3.40859042454751e-5,-4.2297873198728576e-8,0.002423241774708797,3.401825188013031e-5,-4.220478688725671e-8,0.002423886226246646,3.4092534703597756e-5,-4.2284029344064495e-8,0.002424450990286084,3.4275193790697986e-5,-4.2495842308161056e-8,0.002424907897269756,3.4513860089160096e-5,-4.277731373829174e-8,0.002425254646420478,3.475404717614502e-5,-4.306250514379759e-8,0.0024255087764721997,3.495073098604035e-5,-4.329653600382793e-8,0.0024256997145779124,3.5073628211510956e-5,-4.344214009667556e-8,0.0024258619447215263,3.510795400575972e-5,-4.3480765687463235e-8,0.002426030203565686,3.505305808974759e-5,-4.341105272837135e-8,0.0024262362674914877,3.4920608081784176e-5,-4.3246676601309794e-8,0.0024265064422872465,3.473295174654087e-5,-4.3014350394663596e-8,0.0024268589868617334,3.4521461493677566e-5,-4.275180769052857e-8,0.002427301138503399,3.432410975088323e-5,-4.250490759677728e-8,0.0024278260913050916,3.418129571204661e-5,-4.2322676945393295e-8,0.002428411097108386,3.4129280643721544e-5,-4.2249456747169526e-8,0.002429018449007624,3.4191654643649516e-5,-4.231457750259257e-8,0.002429600921945329,3.4370848029145066e-5,-4.2521942446609057e-8,0.002430111852543173,3.464306742421111e-5,-4.284362752322127e-8,0.0024305177078212167,3.4960014332554184e-5,-4.322166147588011e-8,0.0024308089963019476,3.525864256604065e-5,-4.3579634420191055e-8,0.0024310052103568625,3.54768490791095e-5,-4.3841674275576033e-8,0.0024311514832499894,3.5570331945046896e-5,-4.3953026184890535e-8,0.0024313076209347257,3.552531869349453e-5,-4.389576556823521e-8,0.0024315325810961527,3.5363327353876604e-5,-4.369491031447773e-8,0.0024318686265469066,3.513647254223246e-5,-4.341303915546696e-8,0.0024323294873825944,3.491423748049786e-5,-4.3134445579347336e-8,0.002432896167264619,3.476495141289254e-5,-4.294268271529085e-8,0.0024335222309093078,3.4737272570903575e-5,-4.2897907650809233e-8,0.0024341473034816276,3.484777220801906e-5,-4.3021473228785095e-8,0.0024347141143896403,3.5078911481254485e-5,-4.3293103813853885e-8,0.0024351828565165653,3.5387420696509406e-5,-4.3660807647483854e-8,0.0024355382696882246,3.571869639847352e-5,-4.4058284519528546e-8,0.0024357886769330174,3.602113490945862e-5,-4.442243365076725e-8,0.0024359595899447976,3.6255981177570735e-5,-4.470551282002724e-8,0.002436085616257832,3.64014787157889e-5,-4.4880378715262854e-8,0.002436203431207954,3.645261201880796e-5,-4.49403083766768e-8,0.002436346881699283,3.641860110716656e-5,-4.489600455109322e-8,0.0024365439720128446,3.631989439005647e-5,-4.477193408814986e-8,0.002436814886263786,3.618547757967348e-5,-4.460305079373914e-8,0.0024371701965660787,3.605043991849035e-5,-4.443187709405474e-8,0.0024376087810835056,3.5953118153448417e-5,-4.430512313890507e-8,0.002438115638816738,3.593080766479197e-5,-4.42685612060324e-8,0.0024386606910261066,3.601319060175138e-5,-4.43590417894124e-8,0.0024392005329820178,3.621366124796751e-5,-4.459380937231256e-8,0.0024396852406738875,3.652073535771226e-5,-4.495979153559817e-8,0.002440070792536112,3.689393707336404e-5,-4.540830813754903e-8,0.0024403341938348043,3.7269028978704966e-5,-4.586125501539923e-8,0.0024404847869948067,3.757420212930339e-5,-4.6230801286461525e-8,0.0024405649339235085,3.775253295873212e-5,-4.6446847061845124e-8,0.0024406379971211724,3.778108573313487e-5,-4.6480442904616754e-8,0.0024407684360130493,3.7678040163525975e-5,-4.635265130274541e-8,0.002441002576816896,3.749564568269083e-5,-4.6126207922268527e-8,0.0024413569455008703,3.730344562480743e-5,-4.58853778897302e-8,0.0024418164775716804,3.716885726843634e-5,-4.571251766869334e-8,0.002442341086211704,3.7141004685513786e-5,-4.566838003723965e-8,0.002442877339190302,3.72411338432493e-5,-4.5780171769525656e-8,0.002443371731515466,3.746064251142103e-5,-4.603872319654958e-8,0.002443782406429579,3.7766052234272806e-5,-4.640413953378797e-8,0.002444086872764397,3.810893879139721e-5,-4.681768347059421e-8,0.002444284388309687,3.843785498667255e-5,-4.721633349478445e-8,0.002444393232414692,3.8709012326829734e-5,-4.7546011694557105e-8,0.002444444549161754,3.889334328329184e-5,-4.7770454539860257e-8,0.002444475074792687,3.8979187827749855e-5,-4.787468720267451e-8,0.0024445206944451194,3.8971331473534686e-5,-4.7863936944109584e-8,0.0024446118314487707,3.8887888173957045e-5,-4.775982946018779e-8,0.0024447706911564257,3.8756507830295623e-5,-4.7595742185117445e-8,0.002445009754862674,3.861079858955392e-5,-4.741246632391835e-8,0.002445330792627307,3.848709249206566e-5,-4.7254353116952106e-8,0.0024457239072774276,3.84210898084392e-5,-4.7165331531864033e-8,0.002446166646694304,3.844355610942536e-5,-4.71836986496915e-8,0.002446624062616858,3.857428817952799e-5,-4.733464480752854e-8,0.0024470514934107203,3.88144481598043e-5,-4.762062321108293e-8,0.002447402125327943,3.913928762815128e-5,-4.801212199106996e-8,0.0024476400881559847,3.9495739935443694e-5,-4.8444475535150416e-8,0.0024477561339314394,3.981049166716775e-5,-4.8827712071902615e-8,0.002447778077693695,4.001077266348328e-5,-4.9072160123498955e-8,0.0024477670483197492,4.005148747549024e-5,-4.9121840338880554e-8,0.0024477974812433497,3.993465087268592e-5,-4.897832831402965e-8,0.002447929926440992,3.9709268450711776e-5,-4.870064967828901e-8,0.0024481909223161946,3.9451954414470326e-5,-4.838174394154787e-8,0.0024485684783898502,3.923993501418732e-5,-4.811575988446022e-8,0.0024490213965491316,3.9129377699806304e-5,-4.797180052202577e-8,0.0024494948154261892,3.91451644029732e-5,-4.798138431887394e-8,0.002449935069477873,3.928119976470324e-5,-4.8138482471436045e-8,0.002450300397506881,3.9507323269912974e-5,-4.840749035993413e-8,0.0024505668157711494,3.9779044908857327e-5,-4.8734735279841313E-08,0.0024507297637555462,4.004759573096723e-5,-4.906061161920809e-8,0.002450802394303154,4.02688488745371e-5,-4.9330599704006644e-8,0.0024508113644507706,4.0410128173367605e-5,-4.95038655686505e-8,0.002450791125069385,4.0454212555310635e-5,-4.955844487476108e-8,0.0024507778465312773,4.040035570468197e-5,-4.949267054201453e-8,0.0024508040198822152,4.026270069107783e-5,-4.932327950223557e-8,0.0024508944505534447,4.006688255862525e-5,-4.908122347286046e-8,0.0024510638634689867,3.984580917053899e-5,-4.880648823794057e-8,0.00245131584498336,3.963541528939374e-5,-4.854295462312273e-8,0.002451642653661857,3.9470681141633724e-5,-4.833364518839405e-8,0.002452025536044154,3.938176083843848e-5,-4.8216083300638214e-8,0.002452435488543121,3.938977033584164e-5,-4.8217107227132724e-8,0.002452835048062748,3.950174696583605e-5,-4.8346481745672895e-8,0.0024531824507044967,3.970500384005907e-5,-4.858962496972789e-8,0.0024534396241559695,3.9962702831889606e-5,-4.890182990265696e-8,0.0024535843268946146,4.021443150526203e-5,-4.920880941676828e-8,0.002453623652929858,4.0386636134526066e-5,-4.9419622792017125e-8,0.002453601452891794,4.041499005959166e-5,-4.945444695873122e-8,0.0024535904575645672,4.0272043808040254e-5,-4.9278768855135644e-8,0.002453667088416081,3.9984366591700615e-5,-4.892445528448971e-8,0.0024538804961186404,3.9625472135700606e-5,-4.8481018851177726e-8,0.002454234041076148,3.9286627001372286e-5,-4.8059919577965076e-8,0.002454688758937021,3.90430339964667e-5,-4.7753378723272426e-8,0.002455182859858328,3.893307901809375e-5,-4.760913419343073e-8,0.0024556538362148746,3.895585698194267e-5,-4.762729962876685e-8,0.0024560537286482022,3.908100050787737e-5,-4.777201985779246e-8,0.00245635559786168,3.92623565237223e-5,-4.7987768345426784e-8,0.002456553543520675,3.945013089553443e-5,-4.821391608652092e-8,0.002456659304914327,3.9599666210168044e-5,-4.839543997652059e-8,0.002456697551274787,3.9677063676223765e-5,-4.849000855734107e-8,0.002456700822614684,3.966238759049165e-5,-4.847222180997126e-8,0.0024567044573505052,3.9550907364328136e-5,-4.833540821334541e-8,0.0024567417680072287,3.935256550822404e-5,-4.8091109193474636e-8,0.0024568398052084747,3.9089819952275556e-5,-4.776643242859904e-8,0.002457016102034005,3.879409971555748e-5,-4.739964644423014e-8,0.0024572767266246858,3.850135084065896e-5,-4.7034702557923994e-8,0.002457615714144817,3.8247292949526414e-5,-4.671548886753261e-8,0.002458015719767934,3.806281830374309e-5,-4.648030512056859e-8,0.0024584497093368225,3.7969709899505705e-5,-4.6356668032574766e-8,0.0024588835950892117,3.797672416493626e-5,-4.6356402548602995e-8,0.002459280019112911,3.8076035091713856e-5,-4.647098884390965e-8,0.0024596039507214372,3.8240450757803655e-5,-4.666776031810568e-8,0.0024598307142160007,3.842294852242427e-5,-4.68890281670926e-8,0.002459955918353923,3.8561282527527495e-5,-4.7057687283657186e-8,0.0024600044256263562,3.85906258738798e-5,-4.7093002809037085e-8,0.0024600323640595525,3.846469351560399e-5,-4.693699010582562e-8,0.002460115198327215,3.817888591278212e-5,-4.658318142014719e-8,0.0024603211513315733,3.778139333481038e-5,-4.609033001301854e-8,0.0024606816896058582,3.7360118141523624e-5,-4.5566248750844804e-8,0.0024611773581020993,3.700873869629158e-5,-4.5126111329188663e-8,0.0024617480565587665,3.679136890764092e-5,-4.484915535672109e-8,0.0024623194040428297,3.6725241793431914e-5,-4.4757458521259293e-8,0.002462828313114861,3.6785610286324895e-5,-4.4821776764596e-8,0.0024632368323780508,3.692313753770688e-5,-4.49825480110503e-8,0.002463533911415987,3.7081973038857536e-5,-4.517174974987359e-8,0.002463730207416001,3.72123954530806e-5,-4.5328262829285335e-8,0.0024638508339381053,3.727738907944816e-5,-4.540602228952397e-8,0.0024639287406243806,3.725496815222289e-5,-4.537712390347134e-8,0.002463999440178538,3.7138246844026674e-5,-4.523220853693909e-8,0.002464096769834068,3.693441043162565e-5,-4.4979410248424785e-8,0.002464249278477507,3.6662920271676045e-5,-4.464221452771284e-8,0.0024644771058909905,3.6352892349154964e-5,-4.4256185173269244e-8,0.0024647894963774355,3.60394813223482e-5,-4.3864446992286476e-8,0.00246518333004217,3.575928664507124e-5,-4.3512032388348086e-8,0.00246564308966862,3.5545192829730305e-5,-4.323961698689231e-8,0.002466142462746481,3.54212599682058e-5,-4.30773347216381e-8,0.0024666475561435836,3.539825611996659e-5,-4.303928925890125e-8,0.002467121549800276,3.5470424064565755e-5,-4.311941218583528e-8,0.002467530510301026,3.5614038369783264e-5,-4.328936880925462e-8,0.0024678501018424014,3.578830836147025e-5,-4.3499317664747304e-8,0.00246807277205011,3.5939557401127685e-5,-4.368284640476247e-8,0.0024682141340358534,3.6009986170699735e-5,-4.3767824546787344e-8,0.002468315806348312,3.595167953042106e-5,-4.369398422338407e-8,0.002468440719277613,3.574403825458124e-5,-4.343483114258189e-8,0.0024686576285004418,3.5408406295791984e-5,-4.301598790135291e-8,0.002469016756628685,3.5009868675168896e-5,-4.251749277816247e-8,0.002469527016305481,3.4639085816369505e-5,-4.2051331770138575e-8,0.0024701491272457075,3.437918303108398e-5,-4.172053655964463e-8,0.0024708107727132163,3.4275108324639473e-5,-4.1581346163947136e-8,0.0024714349391305145,3.432221330845508e-5,-4.162900742123513e-8,0.0024719649634269477,3.447673339527891e-5,-4.181047415170179e-8,0.0024723756773897968,3.4677347990773343e-5,-4.2050733510056084e-8,0.0024726711706196352,3.486498141779451e-5,-4.227704642717137e-8,0.002472875776800631,3.499457801076819e-5,-4.243345755026598e-8,0.002473024311147267,3.5039164456257024e-5,-4.248596282344877e-8,0.002473154485424879,3.49892258455584e-5,-4.24219893311207e-8,0.0024733018836487117,3.485023256564978e-5,-4.224757508831041e-8,0.0024734966693373177,3.4639859686924084e-5,-4.198405931463602e-8,0.002473761122223743,3.4385249288497285e-5,-4.166470061647262e-8,0.0024741075410927692,3.412005527399114e-5,-4.1330957835760266e-8,0.0024745365035125336,3.388081280598191e-5,-4.1027956557272016e-8,0.0024750358991933777,3.3702298329276224e-5,-4.0798783384882296e-8,0.002475581446443766,3.361205682415149e-5,-4.0677810154140694e-8,0.0024761393094790735,3.362488283309667e-5,-4.068393655070341e-8,0.00247667099923248,3.3738415010136826e-5,-4.081509111115514e-8,0.0024771401592741794,3.393112591255991e-5,-4.104553604679316e-8,0.0024775202300596727,3.4163782098038836e-5,-4.132736396042357e-8,0.0024778015552186553,3.4384841805604154e-5,-4.15968981141725e-8,0.002477996355230064,3.453957481857277e-5,-4.178587242689799e-8,0.002478139925461257,3.4582095835946386e-5,-4.183646089222978e-8,0.0024782863608294597,3.448855008036613e-5,-4.171792894077942e-8,0.002478497599215119,3.426810101996982e-5,-4.1440616533293496e-8,0.002478826423475806,3.3966768621773196e-5,-4.106097101147728e-8,0.002479297655651806,3.365920201414745e-5,-4.067146491268234e-8,0.0024798956470742607,3.3427359889743966e-5,-4.0374142208359564e-8,0.002480566263107198,3.333281657692773e-5,-4.0246164098665086e-8,0.0024812348815230548,3.339569240715765e-5,-4.031349099874403e-8,0.002481832069138389,3.359098154088289e-5,-4.054608293176884e-8,0.0024823140828337882,3.3862509899205475e-5,-4.087496962472572e-8,0.0024826701499891905,3.4144843169478624e-5,-4.121926049669797e-8,0.0024829174589391183,3.438196398751778e-5,-4.150927531351717e-8,0.002483090231395934,3.453716218275256e-5,-4.169890994247633e-8,0.0024832289273681676,3.459479555529096e-5,-4.1768010969739914e-8,0.0024833725099405357,3.455739202683464e-5,-4.171898971311369e-8,0.002483553953461178,3.444130953944551e-5,-4.1571586234288615e-8,0.002483797896582137,3.42726872143246e-5,-4.135789466565913e-8,0.002484119250717028,3.408404982664835e-5,-4.111811949072816e-8,0.0024845220544084173,3.3911157045767064e-5,-4.08966177191401e-8,0.0024849984608592214,3.378942234513219e-5,-4.073744810316272e-8,0.002485528319030998,3.37493393541924e-5,-4.0678740705520224e-8,0.0024860802611576817,3.381090099062003e-5,-4.07458217081001e-8,0.002486615292822404,3.3977887022200906e-5,-4.094410565553709e-8,0.0024870933615432594,3.4233776242617746e-5,-4.1253884823212716e-8,0.0024874822433588704,3.454145160287273e-5,-4.162972775740252e-8,0.0024877666980437367,3.4848325612800404e-5,-4.200659476353093e-8,0.002487954948091704,3.5096872718110185e-5,-4.2312767159825944e-8,0.0024880797904155523,3.523845842873798e-5,-4.248704298833028e-8,0.002488193043039279,3.5246843277377304e-5,-4.249570636640487e-8,0.0024883539592743067,3.512738494103619e-5,-4.234426909230887e-8,0.0024886140602875923,3.49187025600563e-5,-4.207987071532803e-8,0.002489002194927896,3.468515900952789e-5,-4.178219564842183e-8,0.0024895143834379584,3.450085337149065e-5,-4.1543686661381805e-8,0.002490112692358687,3.4428839747837344e-5,-4.144362746866002e-8,0.002490735095733774,3.4502254176917696e-5,-4.152441444489307e-8,0.002491313820334456,3.47148501990305e-5,-4.177943206499539e-8,0.0024917952057646542,3.5025110867509906e-5,-4.21578484386859e-8,0.002492153108185882,3.537166319265242e-5,-4.2583614770799746e-8,0.0024923915653697563,3.569250545655623e-5,-4.297938359576452e-8,0.0024925381077774505,3.594019773552308e-5,-4.328553882965522e-8,0.0024926327298874706,3.608907519420701e-5,-4.346936640882342e-8,0.0024927174854313663,3.6135139860801745e-5,-4.352511605516019e-8,0.0024928293045150462,3.6091731116077385e-5,-4.3468759712982866e-8,0.0024929962078651933,3.598404077227055e-5,-4.3331234070503576e-8,0.002493235828937878,3.584424198247867e-5,-4.315237723752643e-8,0.002493554988497319,3.5707654226319e-5,-4.297612739315671e-8,0.002493949475402431,3.560950550536974e-5,-4.284648196073154e-8,0.002494403814902926,3.558150409860973e-5,-4.2803251027824265e-8,0.0024948914829334063,3.5647523756435825e-5,-4.287670742727347e-8,0.0024953765911673344,3.581825773142045e-5,-4.308089582356996e-8,0.0024958182908375675,3.608573040867354e-5,-4.340666705533066e-8,0.0024961786512342457,3.641986140806195e-5,-4.381718846972339e-8,0.0024964332001036105,3.677013333856981e-5,-4.424981283072611e-8,0.002496580985875428,3.707466125980302e-5,-4.4627260595163124e-8,0.00249664942189288,3.7275972463325826e-5,-4.487730097257107e-8,0.002496690103679088,3.733875515066651e-5,-4.4954995613220536e-8,0.0024967655193018647,3.726250067358835e-5,-4.485864320894178e-8,0.002496931013734003,3.7083456871196986e-5,-4.46324458229267e-8,0.0024972186148263043,3.686490845186074e-5,-4.435466169172905e-8,0.002497628180291189,3.6679510733870065e-5,-4.411582351619956e-8,0.002498128079111284,3.658972340409257e-5,-4.3994441199673844e-8,0.0024986644042137227,3.663208106121771e-5,-4.4037246854020054e-8,0.0024991755753180833,3.680926861936187e-5,-4.4248953740883185e-8,0.002499608064555356,3.709163133072151e-5,-4.459370765840227e-8,0.0024999288144117358,3.742710477725366e-5,-4.500715060851872e-8,0.0025001310412585205,3.775603780312682e-5,-4.5414811573711545e-8,0.0025002324917523817,3.8025992028683344e-5,-4.57506862741052e-8,0.002500267909808244,3.82021913744237e-5,-4.5970516699009e-8,0.0025002791334092648,3.827161818741498e-5,-4.6057156152074936e-8,0.002500306150636883,3.824142696912959e-5,-4.601877616789812e-8,0.002500381023813219,3.813396254515294e-5,-4.588273798227383e-8,0.002500524917925695,3.7980819109320463e-5,-4.5688184530668866e-8,0.002500747387946369,3.781755623906785e-5,-4.547941847511398e-8,0.0025010467943652028,3.7679593748579237e-5,-4.530076608806616e-8,0.002501411000812327,3.759894473403009e-5,-4.5192519652786e-8,0.002501818061535664,3.76010451065458e-5,-4.518700349120371e-8,0.002502237249305373,3.7700983349453346e-5,-4.530383549196263e-8,0.002502631391630373,3.789891117462528e-5,-4.5544060670952407e-8,0.0025029618245448393,3.817544639615828e-5,-4.588418136956523e-8,0.0025031968555852867,3.8489391629367015e-5,-4.6273070203581374e-8,0.002503322900130418,3.878132383082006e-5,-4.6636329847159344e-8,0.0025033544659702643,3.898595666221756e-5,-4.689179674409995e-8,0.0025033366866835474,3.9052160624291637e-5,-4.6974744631872444e-8,0.002503335424761968,3.8963286204251026e-5,-4.686346369928086e-8,0.002503416415545243,3.874697513072474e-5,-4.659163332249408e-8,0.002503622458507168,3.846773122092755e-5,-4.623914977805023e-8,0.0025039595976610314,3.820530008492874e-5,-4.590530882256746e-8,0.002504397631776516,3.802946606966512e-5,-4.5677537488936655e-8,0.002504882299547712,3.798169372682445e-5,-4.560852435839345e-8,0.002505352221421315,3.806826004220745e-5,-4.570743517294879e-8,0.00250575432324309,3.8263797822131395e-5,-4.59439244261933e-8,0.0025060542893460607,3.852145546614233e-5,-4.6260390338084265e-8,0.002506241100184328,3.878568465963214e-5,-4.658768272125083e-8,0.0025063261680084966,3.900454144029845e-5,-4.686046599932783e-8,0.0025063382859264074,3.913932359754488e-5,-4.702948014495108e-8,0.0025063160483484925,3.917014569025023e-5,-4.706882713849625e-8,0.002506299694580531,3.9097007570934184e-5,-4.697758835500036e-8,0.0025063241642786917,3.893705066219002e-5,-4.677655197485161e-8,0.002506414458106024,3.8719469291395064e-5,-4.650187612960767e-8,0.002506583529031959,3.847966713294664e-5,-4.6197729527279165e-8,0.0025068322231723375,3.825390939784268e-5,-4.5909552105830005e-8,0.00250715042643049,3.8075081039815325e-5,-4.5678747389959236e-8,0.002507518671035578,3.79694315028609e-5,-4.553864588391083e-8,0.002507909881434134,3.7953757863868274e-5,-4.551099211154035e-8,0.0025082914429322,3.8032479762118567e-5,-4.560219705504129e-8,0.0025086283062298424,3.819441369790588e-5,-4.5799089344806656e-8,0.002508888222288745,3.8409920504514224e-5,-4.6065065644875405e-8,0.002509049867274366,3.863051042059274e-5,-4.633938175836797e-8,0.002509113004638694,3.879425510226927e-5,-4.654391267553016e-8,0.0025091068429147767,3.883993594289078e-5,-4.6601084959132783e-8,0.0025090898042000585,3.872875934821506e-5,-4.6461387254399373e-8,0.002509134996273683,3.846495952331999e-5,-4.6129379088556667e-8,0.002509303823785431,3.810176136963081e-5,-4.567118163005868e-8,0.0025096206611317003,3.77249340788089e-5,-4.519386918014874e-8,0.0025100635025889603,3.742094334698776e-5,-4.480570179737146e-8,0.0025105750725739227,3.7247279761174246e-5,-4.4579149479260436e-8,0.0025110856597778002,3.721891833235642e-5,-4.4533963341258614e-8,0.0025115347336513087,3.7312355209207396e-5,-4.464198908935113e-8,0.0025118837717088426,3.7479672497395944e-5,-4.4844363555259744e-8,0.0025121197805155586,3.766434463552293e-5,-4.507092241835546e-8,0.0025122524606316582,3.781403239390384e-5,-4.5256039989766344e-8,0.002512308218517646,3.788897265948401e-5,-4.534921710684068e-8,0.002512323198993744,3.7866377431753216e-5,-4.532087455967344e-8,0.0025123364352792246,3.774164049515155e-5,-4.5164209733579505e-8,0.002512383722153255,3.752690440451212e-5,-4.4893662222274306e-8,0.0025124927690744884,3.724752495244522e-5,-4.454058376296237e-8,0.0025126800686300593,3.6937187041074546e-5,-4.4147073781900625e-8,0.002512949640805612,3.663249847498581e-5,-4.3759102263850506e-8,0.0025132935154346414,3.636784559588725e-5,-4.3419995601533096e-8,0.0025136935134270817,3.6171127440481755e-5,-4.3165098457630535e-8,0.002514123766723244,3.606055777639336e-5,-4.301781026749884e-8,0.002514553618955688,3.604231707921164e-5,-4.298663815376317e-8,0.0025149508839445193,3.610876316223164e-5,-4.306282715704458e-8,0.0025152857940081257,3.6237122105096005e-5,-4.321846926867821e-8,0.0025155362609611655,3.6389174493579715e-5,-4.3405830751730746e-8,0.002515694790395706,3.651350376824656e-5,-4.356001367114698e-8,0.002515776049335391,3.6552764092910476e-5,-4.360815615449484e-8,0.0025158217306482694,3.64579617376964e-5,-4.348766977365181e-8,0.002515896936537497,3.620833883698536e-5,-4.317158041654697e-8,0.002516073071847446,3.5828669318152446e-5,-4.269046581534293e-8,0.002516399987719169,3.539060604592482e-5,-4.213413246847748e-8,0.0025168814606322987,3.499021840014745e-5,-4.162331415721513e-8,0.0025174707936113064,3.4710531005774946e-5,-4.126263149227772e-8,0.002518090589616577,3.459078644678115e-5,-4.1102057661954364e-8,0.002518663524727177,3.4618912918017596e-5,-4.112741399925282e-8,0.0025191361740298083,3.474582741761788e-5,-4.1278096176040484e-8,0.0025194875406559848,3.490802432070915e-5,-4.147510457868247e-8,0.002519725292742549,3.504638962014763e-5,-4.16444050552658e-8,0.0025198766141857846,3.5116951628882e-5,-4.173036446018124e-8,0.002519978706172601,3.509468993429849e-5,-4.1700694202266914e-8,0.002520071130482626,3.497310385097045e-5,-4.154621540106111e-8,0.002520190252699242,3.4761794687652565e-5,-4.1278135639874127e-8,0.0025203652372844786,3.448316626617987e-5,-4.092409555262571e-8,0.002520615191656812,3.416849468288395e-5,-4.05232510677893e-8,0.002520947440465501,3.385345763496335e-5,-4.0120551152513905e-8,0.002521357059662189,3.3573332103171066e-5,-3.976057689732734e-8,0.0025218278023055253,3.335822588172072e-5,-3.9481488035551096e-8,0.0025223344083919984,3.3228896480038676e-5,-3.930979257938309e-8,0.0025228460215779803,3.319367073788616e-5,-3.925652251261835e-8,0.0025233303087924958,3.324669892834196e-5,-3.9315015622613785e-8,0.0025237579626117535,3.336760095667987e-5,-3.946031753109398e-8,0.0025241074151963775,3.352256518500154e-5,-3.9650309128366536e-8,0.0025243697315655363,3.366716014331096e-5,-3.982900185191263e-8,0.002524553460207322,3.375163915239177e-5,-3.9933128485974816e-8,0.002524688300114605,3.37298851909107e-5,-3.9903559505638475e-8,0.002524824998114826,3.357240651657453e-5,-3.970202211903166e-8,0.0025250277665400896,3.328120777325597e-5,-3.933021967054159e-8,0.002525356611076024,3.289990453199541e-5,-3.8842803606554595e-8,0.0025258428381231134,3.250914558990305e-5,-3.834160036262284e-8,0.0025264698957574395,3.220189906693548e-5,-3.794432342774024e-8,0.0025271741566565867,3.2047197639093385e-5,-3.773873488953271e-8,0.002527868930050737,3.206296769477658e-5,-3.7748283537389005e-8,0.002528477957775852,3.2214078628227146e-5,-3.792951338789108e-8,0.0025289589671146006,3.243333093220877e-5,-3.8198347470684486e-8,0.002529308244893737,3.2649160481611736e-5,-3.8464834618929027e-8,0.002529551044230285,3.280554245702909e-5,-3.8658136766423037e-8,0.0025297276422903844,3.286996887218826e-5,-3.873662679239773e-8,0.0025298816375502052,3.283279972249427e-5,-3.8687266747971134e-8,0.002530052440279624,3.2702708511500886e-5,-3.852013964263886e-8,0.0025302712732322313,3.250144171865661e-5,-3.8262077101730963E-08,0.002530559210242333,3.22591991158146e-5,-3.7950935413685944e-8,0.002530926148178654,3.2010602838034795e-5,-3.7630466201304596e-8,0.002531370351391248,3.1790798148834993e-5,-3.7345270529438355e-8,0.0025318786907376338,3.1631370951251876e-5,-3.713553615551818e-8,0.0025324279262051433,3.155608559611767e-5,-3.703162366365894e-8,0.0025329874164920214,3.1576901848478516e-5,-3.704907123537745e-8,0.0025335233363896095,3.1691081346079224e-5,-3.71849683887019e-8,0.002534004013295205,3.1880164541897305e-5,-3.741660475396124e-8,0.0025344056658638974,3.211134266810114e-5,-3.770302889521404e-8,0.0025347176716889862,3.234141683476799e-5,-3.798981805268735e-8,0.0025349464931195965,3.25231453918205e-5,-3.821692596727692e-8,0.002535117468766687,3.261356425395861e-5,-3.832919965284332e-8,0.002535273522037362,3.25837585549067e-5,-3.828894828785741e-8,0.0025354694854592633,3.242890013057747e-5,-3.808899818124254e-8,0.0025357608919522735,3.217582413424165e-5,-3.776263794934066e-8,0.002536187666940124,3.1883621764644e-5,-3.738458087106923e-8,0.0025367568259437178,3.1632385404099197e-5,-3.7056717765237276e-8,0.0025374327525164407,3.1499190159307474e-5,-3.687752844703763e-8,0.0025381439662942977,3.152925181564535e-5,-3.690529396896161e-8,0.00253880714969785,3.1717495544648184e-5,-3.7134493175846014e-8,0.002539357012067217,3.201212311537006e-5,-3.7500132915228656e-8,0.002539765928854451,3.233760649167408e-5,-3.79067823651572e-8,0.0025400453147970577,3.2622583246552875e-5,-3.82638918563021e-8,0.0025402331112333227,3.281872156862578e-5,-3.850972952935261e-8,0.002540377487382661,3.290621872055572e-5,-3.8618458257282727e-8,0.002540524155092487,3.288979390474908e-5,-3.8595246105451726e-8,0.0025407093934606078,3.279105867884921e-5,-3.846681028316092e-8,0.002540957537634892,3.2641231271875194e-5,-3.827233474111451e-8,0.002541280815381751,3.247562338960235e-5,-3.805651702208651e-8,0.0025416799467947535,3.232966235413645e-5,-3.786445609457888e-8,0.002542144857740274,3.223562798311164e-5,-3.7737407372711096e-8,0.002542655579590631,3.221938662051105e-5,-3.7708565661377785e-8,0.0025431838362320446,3.229680174430522e-5,-3.779849423590047e-8,0.0025436960054889923,3.247013233511464e-5,-3.8010564296692125e-8,0.00254415790798978,3.272542643389036e-5,-3.8327620226833e-8,0.002544541182956549,3.303226997284184e-5,-3.871155421654684e-8,0.0025448301444755037,3.334704611861932e-5,-3.9107270584671315e-8,0.0025450273211040327,3.3620069672829226e-5,-3.9451574837501164e-8,0.002545155729501141,3.380568399136757e-5,-3.968592063249876e-8,0.002545256556630443,3.387319471601984e-5,-3.977037692107729e-8,0.0025453820443540687,3.3816009067509984e-5,-3.969547432241733e-8,0.002545584452323269,3.365650342624907e-5,-3.948871602576002e-8,0.0025459029162299583,3.344455147949948e-5,-3.9213016496428415e-8,0.0025463510522096334,3.324840420752361e-5,-3.895529090102889e-8,0.002546909232956193,3.3138246514345544e-5,-3.8805530645937213e-8,0.002547525817875957,3.31656565561402e-5,-3.883045961997576e-8,0.002548129745697608,3.334578366524815e-5,-3.9050513834874766e-8,0.002548651901131051,3.3650693689135876e-5,-3.9431034299941284e-8,0.00254904685669721,3.4018656743914485e-5,-3.989388291545174e-8,0.002549305056062235,3.4375770534290136e-5,-4.034493649891447e-8,0.002549450755241978,3.465939649203068e-5,-4.070401123079711e-8,0.0025495291586907494,3.4833241697630345e-5,-4.092420182378461e-8,0.002549590687379239,3.4890489219274215e-5,-4.099602575860678e-8,0.0025496789205144556,3.4848031855415884e-5,-4.0940251920067316e-8,0.0025498244612649898,3.473730209237217e-5,-4.079637327911076e-8,0.0025500436032672657,3.459585033605535e-5,-4.061196445682029e-8,0.002550339547154352,3.4461308211710806e-5,-4.0434988555481746e-8,0.0025507043433619027,3.4367523260307965e-5,-4.030880973480197e-8,0.0025511206731693597,3.4341897944161364e-5,-4.0268729945377805e-8,0.002551563424104876,3.4402972367080165e-5,-4.03388608138628e-8,0.002552001606617659,3.4557690980306746e-5,-4.0528610973922175e-8,0.002552401461273141,3.479848664498499e-5,-4.082892216673805e-8,0.0025527314827823774,3.510120673609544e-5,-4.120952912256527e-8,0.002552969364218686,3.542565410114826e-5,-4.161951137566323e-8,0.0025531095580215266,3.572058968524942e-5,-4.19935413975739e-8,0.002553168729760865,3.59339104478195e-5,-4.226480110017664e-8,0.0025531858573809097,3.602631744383978e-5,-4.238244913932361e-8,0.0025532150611217693,3.598419299693054e-5,-4.232817322961466e-8,0.002553312233386756,3.582648549097322e-5,-4.212517282076237e-8,0.0025535195183206613,3.560220174300033e-5,-4.1835212060668614e-8,0.002553852830502855,3.537869695525301e-5,-4.15439349344679e-8,0.0025542964378125308,3.5224255096316406e-5,-4.133880357556166e-8,0.002554806195557747,3.519005643611671e-5,-4.1286055750094206e-8,0.002555320571266334,3.5296537354939525e-5,-4.141303722830442e-8,0.0025557766128750385,3.552799805828805e-5,-4.170091750744843e-8,0.002556126465171574,3.583732608559857e-5,-4.209034923582469e-8,0.002556349360987087,3.615973932622834e-5,-4.249882289419115e-8,0.0025564551410904254,3.6431100822784126e-5,-4.284408179364047e-8,0.0025564785276809823,3.6604393384032696e-5,-4.306534222497807e-8,0.002556467160589559,3.6658984478097046e-5,-4.3135357610844236e-8,0.002556468510402671,3.660096821231846e-5,-4.306106582894111e-8,0.0025565200544311623,3.645675748916501e-5,-4.28755593884766e-8,0.0025566445046864778,3.626394236750845e-5,-4.262649174123844e-8,0.0025568493925952245,3.606285126280341e-5,-4.236530656389189e-8,0.002557129168848333,3.589047078361781e-5,-4.213942711868888e-8,0.0025574680949682657,3.5776750212926264e-5,-4.1987475893609535e-8,0.0025578429268030643,3.574244515459497e-5,-4.193647233080398e-8,0.002558225197975276,3.579750560221392e-5,-4.1999734310573656e-8,0.0025585835602312756,3.593934241195524e-5,-4.217460204810126e-8,0.002558887016647417,3.61509584570488e-5,-4.2439939751589254e-8,0.0025591098618594843,3.639984373749989e-5,-4.2754572922321514e-8,0.002559238497448476,3.663948624180955e-5,-4.305908526809104e-8,0.002559278835866122,3.6815737799850185e-5,-4.3283910146574906e-8,0.002559261046831353,3.68791601038681e-5,-4.336518833602966e-8,0.0025592372774527606,3.680125222475687e-5,-4.3265665007869605e-8,0.0025592697003744484,3.658826729490232e-5,-4.299250430234186e-8,0.0025594113266689754,3.6284623802832374e-5,-4.260177686092147e-8,0.0025596874257284618,3.596177093402923e-5,-4.218437109225698e-8,0.0025600863540812774,3.569620677368294e-5,-4.183807532178788e-8,0.002560563687246403,3.554623400075656e-5,-4.1637989758230514e-8,0.002561056690233244,3.553661609585996e-5,-4.161684553067492e-8,0.0025615023865055877,3.565507989845713e-5,-4.176023644906828e-8,0.002561853048804872,3.585927599621287e-5,-4.20151041647804e-8,0.0025620856129585094,3.6090108860365954e-5,-4.230643641429664e-8,0.0025622040446008454,3.628699041834416e-5,-4.255663518033421e-8,0.0025622353918832905,3.6401300490328786e-5,-4.270283147309331e-8,0.0025622213473997326,3.6405401558346106e-5,-4.2708678956345274e-8,0.0025622078408738705,3.6295813489391095e-5,-4.256872173084837e-8,0.0025622353848293975,3.609068615788058e-5,-4.230540259760305e-8,0.00256233232102081,3.582322550250386e-5,-4.1960772840867707e-8,0.002562511863801732,3.553353735483984e-5,-4.158605612885912e-8,0.0025627725248878294,3.526111693837438e-5,-4.123196242121757e-8,0.00256310070883618,3.503928727808233e-5,-4.0941482037820396e-8,0.0025634741471409566,3.4891828381175004e-5,-4.074551346356165e-8,0.002563865248603042,3.483125361276283e-5,-4.066063228427299e-8,0.002564244075042713,3.4857926898380974e-5,-4.068793102758481e-8,0.002564581202623444,3.495942454822687e-5,-4.0812119542659516e-8,0.00256485109943431,3.5110048036088305e-5,-4.100075191629571e-8,0.0025650367242128005,3.527118210779312e-5,-4.120451556732618e-8,0.002565135498337338,3.539413055019303e-5,-4.136076151439963e-8,0.0025651654120114266,3.5427525351978796e-5,-4.1403038721833427e-8,0.0025651680412939974,3.533045146974794e-5,-4.127809559426407e-8,0.0025652038004362098,3.508913423679075e-5,-4.096749224333056e-8,0.0025653363340437958,3.472992631684516e-5,-4.050439181559414e-8,0.0025656093621240807,3.431861032240273e-5,-3.997271395936973e-8,0.0025660270415399614,3.394124366569468e-5,-3.9482630402027894e-8,0.0025665499166005316,3.367374522340637e-5,-3.913169321930131e-8,0.0025671094737676993,3.3555941288687166e-5,-3.8971649823626466e-8,0.0025676326398133926,3.358238507761676e-5,-3.899658257921173e-8,0.00256806353887396,3.3710715096302974e-5,-3.915332696323073e-8,0.0025683748955028416,3.387946611070678e-5,-3.936392740831083e-8,0.0025685688159335627,3.402630843529469e-5,-3.954873741392243e-8,0.0025686706264498697,3.410151913115822e-5,-3.96436201055269e-8,0.002568719735740128,3.4075375284090386e-5,-3.9609586863852165e-8,0.0025687602388208127,3.3940249039981586e-5,-3.9435794394587893e-8,0.002568832735617296,3.370870760914346e-5,-3.913743671001868e-8,0.0025689681542897694,3.340879250968684e-5,-3.874991257803349e-8,0.0025691840551694215,3.307763210742136e-5,-3.832068947589197e-8,0.002569483538443005,3.275462578485857e-5,-3.790047634512565e-8,0.00256985645494049,3.2475309573827486e-5,-3.753521316052912e-8,0.0025702822795653883,3.226668899010827e-5,-3.725997236190257e-8,0.002570733820216625,3.214437650152126e-5,-3.70952464417701e-8,0.002571181033117111,3.211133565934368e-5,-3.70453424363933e-8,0.0025715946013054125,3.215772517602418e-5,-3.7098167201791944e-8,0.002571949318347555,3.226144137496881e-5,-3.722583343084536e-8,0.002572227570996682,3.2389277195387017e-5,-3.738598474604562e-8,0.0025724233208959243,3.249913626791757e-5,-3.752447594345222e-8,0.002572546572517723,3.2544481248383096e-5,-3.7581027423136185e-8,0.002572627105263867,3.248253008845186e-5,-3.7499865346558056e-8,0.0025727146254667485,3.2286766565557764e-5,-3.7246045798024494e-8,0.0025728713746888203,3.196144702345607e-5,-3.6824362906102526e-8,0.0025731546573224077,3.1551122395760685e-5,-3.6291732875808416e-8,0.0025735930611439093,3.113531128318894e-5,-3.5750349486020505e-8,0.0025741686669498156,3.080383281342957e-5,-3.5315932671875985e-8,0.002574818793527538,3.0622158898999846e-5,-3.5073179334983326e-8,0.002575459250901792,3.0606384083367444e-5,-3.5043561582390667e-8,0.0025760157713347175,3.072183306088944e-5,-3.518340880366333e-8,0.0025764462366678763,3.0902486165110045e-5,-3.5408643786040035e-8,0.0025767458975593516,3.107681621716422e-5,-3.562773879707096e-8,0.0025769394739584782,3.118739906047621e-5,-3.5766760816977004e-8,0.0025770682803444704,3.12001551469743e-5,-3.5781267605868635e-8,0.0025771782767451306,3.110525759781823e-5,-3.565767914468704e-8,0.0025773113662062915,3.091339865537416e-5,-3.540879179965687e-8,0.0025774999609862632,3.065026064735654e-5,-3.5066958787603745e-8,0.0025777640357551542,3.035060945700293e-5,-3.4676643389330934e-8,0.002578110043284982,3.0052507451921462e-5,-3.428694627394564e-8,0.002578531397055513,2.9791926281541815e-5,-3.3944523195161236e-8,0.0025790103290381297,2.9598057935518227e-5,-3.368738209113566e-8,0.0025795209096909134,2.948965519446499e-5,-3.354007538112134e-8,0.002580032896739608,2.94727630782897e-5,-3.351077440578792e-8,0.0025805159234916397,2.954000878094914e-5,-3.3590389005577315e-8,0.002580943592558336,2.9671294779383406e-5,-3.375345201478358e-8,0.0025812972568394475,2.983567962877638e-5,-3.3960441519085414e-8,0.002581569412426488,2.9994385199715056e-5,-3.416148972868799e-8,0.002581766674986788,3.0105076417356167e-5,-3.430175679860849e-8,0.0025819120683374308,3.0127919994288804e-5,-3.4329229444587715e-8,0.002582045519993052,3.0034048227300084e-5,-3.420579656011638e-8,0.0025822203949664234,2.9816100977510195e-5,-3.392112802616561e-8,0.002582493526172687,2.9498181435378302e-5,-3.3505790908997055e-8,0.0025829078467866826,2.913934269067586e-5,-3.3035889417979293e-8,0.002583471922975573,2.8823154006253027e-5,-3.261957918279001e-8,0.0025841475821974037,2.8630944686295138e-5,-3.236241863773583e-8,0.0025848575009842015,2.860875020177161e-5,-3.23245690882075e-8,0.0025855132051104206,2.8747336224273945e-5,-3.249487409873808e-8,0.0025860483870083825,2.898840096044825e-5,-3.279872884323055e-8,0.0025864386289602428,2.925160284354101e-5,-3.31328354281292e-8,0.0025867003344974215,2.9464434140691195e-5,-3.340364643567008e-8,0.0025868758817611977,2.9580498213838604e-5,-3.355089908895895e-8,0.0025870163518221215,2.958356532888121e-5,-3.3552916689574256e-8,0.00258716874146591,2.948254760991543e-5,-3.342033057128494e-8,0.0025873690254704456,2.930331685653275e-5,-3.31857940505852e-8,0.0025876396104315717,2.908092911135896e-5,-3.289416461028243e-8,0.0025879892061104566,2.88534249664018e-5,-3.259456856612757e-8,0.0025884138089266786,2.8656989162023898e-5,-3.2334059412977954e-8,0.002588898359017111,2.8521979692271508e-5,-3.215231454490244e-8,0.002589419062272378,2.8469586189780088e-5,-3.2077164254932806e-8,0.002589946473323683,2.8509159090307877e-5,-3.212107523599057e-8,0.002590449393316276,2.8636563050092073e-5,-3.227904091415366e-8,0.002590899361197364,2.8834057391279875e-5,-3.2528461699677137e-8,0.00259127520629838,2.9071975778584452e-5,-3.2831291645010475e-8,0.0025915670649930126,2.9312176621478835e-5,-3.313838678718475e-8,0.0025917793326626975,2.951309804139549e-5,-3.33958896106978e-8,0.0025919320721802777,2.96361235160836e-5,-3.355336698452127e-8,0.002592060388232209,2.9652876016196784e-5,-3.357329612354791e-8,0.0025922110409532205,2.9552949250428954e-5,-3.344128213388367e-8,0.0025924352611730508,2.9350891816452204e-5,-3.3175402893513874e-8,0.0025927770732672843,2.908978789339379e-5,-3.2831114881942346e-8,0.0025932582302109035,2.8837351096213648e-5,-3.2496316807290324e-8,0.0025938644424488276,2.8670845449783314e-5,-3.2271752176790486e-8,0.00259454130569729,2.8651787572331885e-5,-3.223802204062918e-8,0.0025952073153012044,2.880006435961552e-5,-3.242178048536644e-8,0.0025957820237779284,2.9082752023308125e-5,-3.2781025144444316e-8,0.002596215451355888,2.942669394122801e-5,-3.3221292787055197e-8,0.0025965024447693404,2.9748129367640864e-5,-3.3634051131772567e-8,0.0025966765282158253,2.998185229157122e-5,-3.3934507817174133e-8,0.002596791242167228,3.009622528063916e-5,-3.408109516064842e-8,0.0025969011572768027,3.0092558261656323e-5,-3.4074756512656124e-8,0.002597049688176753,2.9995632087270322e-5,-3.3946851949197073e-8,0.0025972643186138377,2.9842572236855614e-5,-3.3744958806311066e-8,0.002597556681278304,2.9673938276303314e-5,-3.3521470462183287e-8,0.002597924726275709,2.9527819877394803e-5,-3.332595043754231e-8,0.0025983552864050196,2.9436122490796813e-5,-3.320019805897644e-8,0.002598826556628034,2.9421965307062316e-5,-3.3174709416024415e-8,0.0025993106853013,2.949756098639174e-5,-3.32658027069346e-8,0.002599776848353735,2.9662467082486734e-5,-3.347330412600232e-8,0.0026001951252648077,2.99025861685836e-5,-3.377926073172787e-8,0.0026005411717937273,3.019067108816419e-5,-3.414860105393843e-8,0.002600801115884702,3.048904747005782e-5,-3.453261736501532e-8,0.0026009756449572323,3.075479964565841e-5,-3.487558988314453e-8,0.0026010821201373643,3.094704699047445e-5,-3.512412559281178e-8,0.0026011537374556978,3.103526998712179e-5,-3.523794137373505e-8,0.0026012352359606815,3.100711111394474e-5,-3.52001023446636e-8,0.0026013752640351045,3.08739211784446e-5,-3.5024463414013454e-8,0.0026016160874248713,3.0672358090410115e-5,-3.475804093991398e-8,0.0026019820559800674,3.0460335902351476e-5,-3.447598865451195e-8,0.0026024694362678106,3.0306029731080202e-5,-3.4267389520307465e-8,0.0026030416290290835,3.0270338541856285e-5,-3.421233572704718e-8,0.0026036342474958208,3.0386657894908002e-5,-3.435533680675956e-8,0.0026041720030882468,3.064594194570206e-5,-3.4685549028801975e-8,0.0026045930310347977,3.09961293659131e-5,-3.513578419828963e-8,0.0026048698621258057,3.1359222083486464e-5,-3.560466452625087e-8,0.002605016277847952,3.165875436058266e-5,-3.5992435719287957e-8,0.0026050775582436726,3.1843809880593544e-5,-3.623231983185307e-8,0.0026051114117463955,3.1899280024474e-5,-3.630395313793583e-8,0.0026051700508598736,3.184180085895025e-5,-3.622821835659225e-8,0.0026052897100294578,3.1707923332180516e-5,-3.605202198717156e-8,0.0026054879335475844,3.154166996092474e-5,-3.5832271992857454e-8,0.0026057657097087847,3.138536625159791e-5,-3.5624031184444675e-8,0.0026061113393798714,3.1274330301516524e-5,-3.5473569113068227e-8,0.0026065041725679677,3.123426843754492e-5,-3.5414846395313414e-8,0.0026069176827509784,3.127995084377525e-5,-3.54676479866181e-8,0.0026073221793504135,3.141424395457776e-5,-3.563622226078849e-8,0.002607687760832499,3.162725534231478e-5,-3.590812143263662e-8,0.002607988052610515,3.189600175406857e-5,-3.6253749808592313e-8,0.0026082048747776295,3.218555030603266e-5,-3.662781876104157e-8,0.0026083332526672066,3.2452725750126513e-5,-3.697411627683993e-8,0.0026083853531278017,3.265297934002162e-5,-3.72343878712858e-8,0.0026083914259650088,3.2749867670578894e-5,-3.736065308576354e-8,0.002608396133617845,3.272507890931113e-5,-3.732831038939484e-8,0.0026084499787289036,3.258582024132688e-5,-3.714589715717855e-8,0.0026085974212649975,3.236651424287259e-5,-3.6857515677651e-8,0.0026088647679620098,3.2123260707560836e-5,-3.65358635683691e-8,0.002609251366434725,3.1921661831404596e-5,-3.6266559361749115e-8,0.0026097270315835943,3.182058662536569e-5,-3.612701970627575e-8,0.002610237284691165,3.185588171012813e-5,-3.6165054551592994e-8,0.002610716126815699,3.202876234196642e-5,-3.6383392719986345e-8,0.0026111037028992033,3.23033372673764e-5,-3.6736088564341154e-8,0.0026113636304113436,3.261570097552551e-5,-3.714014721843922e-8,0.002611493434829786,3.2892780986458314e-5,-3.750008482171149e-8,0.002611523495367077,3.307418573417459e-5,-3.7736560791061143E-08,0.002611505142783382,3.312826382278772e-5,-3.780750968567028e-8,0.002611493763715752,3.3056708359165294e-5,-3.771431792722278e-8,0.0026115341933477952,3.2888214172239555e-5,-3.749370515848177e-8,0.0026116528511147953,3.266635873779777e-5,-3.7202054725746606e-8,0.0026118568135878677,3.2437504850753895e-5,-3.6899719726700316e-8,0.0026121372770168093,3.22421675305727e-5,-3.663975855845446e-8,0.0026124744813415092,3.2110441667230555e-5,-3.646188211570326e-8,0.002612842227916604,3.206036322123708e-5,-3.639018811094762e-8,0.00261321139785924,3.2097696128144984e-5,-3.64327692480781e-8,0.00261355274464152,3.2216066114155835e-5,-3.658181139714531e-8,0.0026138396427348816,3.2397063044748426e-5,-3.681367790345908e-8,0.0026140514872013475,3.261067171343822e-5,-3.708942654441659e-8,0.0026141780311365196,3.2817050683532635e-5,-3.7357080590710184e-8,0.002614224114800926,3.297101014117252e-5,-3.7557436147006555e-8,0.002614213119889088,3.303013696291152e-5,-3.7634673802280204e-8,0.002614186549965068,3.296599359632987e-5,-3.755103806085695e-8,0.0026141973753741167,3.277534783937561e-5,-3.7301599143301795e-8,0.002614297046902401,3.248635183237581e-5,-3.69224435741917e-8,0.0026145197475576695,3.215508644569542e-5,-3.648630993783964e-8,0.002614870090159904,3.185171140863245e-5,-3.608467312200419e-8,0.0026153197674543857,3.164059402548646e-5,-3.5801927989370486e-8,0.0026158147703580206,3.156177686629293e-5,-3.569118447274441e-8,0.0026162903077401106,3.1620210993565046e-5,-3.5760006489734524e-8,0.0026166880991987354,3.1785560398102544e-5,-3.5969814749259693e-8,0.002616970841721617,3.200160523740788e-5,-3.624783231824479e-8,0.002617130261397801,3.220181753315225e-5,-3.65072435138508e-8,0.0026171871606737534,3.232655585316976e-5,-3.6669675925902054e-8,0.00261718397046602,3.233719347395405e-5,-3.6683842036219965e-8,0.0026171724016019787,3.222347506708292e-5,-3.6535405177033614e-8,0.0026172002283405987,3.200264024737339e-5,-3.624607593524087e-8,0.0026173011810684,3.171173130676567e-5,-3.586373455846947e-8,0.0026174902392406083,3.139662825485608e-5,-3.544818102047367e-8,0.0026177642440258567,3.110164755113335e-5,-3.5057518398642445e-8,0.0026181060091383474,3.086218416322592e-5,-3.4738433135395185e-8,0.0026184896650506663,3.070099873181416e-5,-3.452121062024481e-8,0.0026188855768160607,3.062736487635263e-5,-3.441851050195791e-8,0.0026192641644238587,3.063776642104189e-5,-3.44262138034998e-8,0.0026195987827379364,3.071705603650061e-5,-3.452490184616867e-8,0.0026198682621240295,3.083960982102611e-5,-3.4681327174304134e-8,0.0026200597799300902,3.0970713580179304e-5,-3.485016751422272e-8,0.0026201724252346513,3.106906901777973e-5,-3.497724556731821e-8,0.002620221032692184,3.1091763777759243e-5,-3.500601824118333e-8,0.0026202386178564006,3.10028288611161e-5,-3.4888839501679675e-8,0.0026202745150329704,3.0784947027866455e-5,-3.4602410900141006e-8,0.0026203852922867623,3.0450819216758257e-5,-3.416279062923851e-8,0.002620618265425924,3.0047622079189514e-5,-3.363132109745287e-8,0.002620992870319827,2.9648323815135033e-5,-3.31033303947174e-8,0.0026214894619416536,2.932979763141325e-5,-3.267956343422445e-8,0.0026220531242507274,2.9146566799369495e-5,-3.2431878766493014e-8,0.002622611657445149,2.9112958080091928e-5,-3.237984681690709e-8,0.0026230987533740094,2.9201352737337322e-5,-3.248826516711856e-8,0.0026234720422993033,2.935474709537481e-5,-3.268331002587069e-8,0.002623720696604966,2.950580934218716e-5,-3.28772184813543e-8,0.002623863141320352,2.9594733190630928e-5,-3.2991532941629956e-8,0.002623938403472255,2.9581523567624585e-5,-3.2973239176112444e-8,0.0026239948751797743,2.945153944445875e-5,-3.280223748832211e-8,0.002624079352158989,2.9214975075539966e-5,-3.249095709508292e-8,0.0026242282334253994,2.8901697565596798e-5,-3.207786296841002e-8,0.0026244620668671175,2.855315053807396e-5,-3.161700102240202e-8,0.0026247839524003213,2.821331655109691e-5,-3.116615430893701e-8,0.0026251814438661785,2.7920728883389294e-5,-3.077624804492969e-8,0.002625630821426735,2.770290261143587e-5,-3.048387523980967e-8,0.0026261023194173497,2.7573621615054672e-5,-3.030759911853844e-8,0.0026265650867071107,2.753272069170523e-5,-3.024760371638935e-8,0.0026269911754542366,2.7567495629662442e-5,-3.0287542037181364e-8,0.0026273585031503107,2.7654808956776647e-5,-3.0397305793839284e-8,0.0026276531846827346,2.776337289842733e-5,-3.0535989704684127e-8,0.0026278717322375995,2.785627661607388e-5,-3.0655133830369624e-8,0.0026280234298139303,2.7894361322732897e-5,-3.0703083939648824e-8,0.0026281325803872136,2.7841478039741167e-5,-3.063189326845691e-8,0.0026282392000712505,2.7672557297109677e-5,-3.040802070948686e-8,0.0026283955437060506,2.7384085700415085e-5,-3.002625965469175e-8,0.00262865565196701,2.700371371201096e-5,-2.9522515841626875e-8,0.002629057605315128,2.6592301817640855e-5,-2.897657699704715e-8,0.0026296042239974493,2.623136467768682e-5,-2.8495630917078668e-8,0.0026302538309996223,2.599585843503772e-5,-2.8178505464655922e-8,0.002630930614107705,2.5924188462011436e-5,-2.807623809106079e-8,0.0026315519205043305,2.6002942441934412e-5,-2.8171931342658712e-8,0.002632057542513618,2.6175113742488016e-5,-2.8391396121084223e-8,0.0026324258329257447,2.6364726212698507e-5,-2.8635308308118833e-8,0.002632672462723894,2.6502714775448774e-5,-2.881304110057633e-8,0.0026328380412312087,2.6543357889184606e-5,-2.8864178132588297e-8,0.0026329731241864014,2.6469411774491017e-5,-2.8765333495100423e-8,0.0026331258609140727,2.6289281768524357e-5,-2.852665947748336e-8,0.0026333338989213834,2.6030282261764095e-5,-2.8183285436663457e-8,0.002633620171689503,2.573080090149753e-5,-2.7785262712895203e-8,0.002633991642655656,2.5432731091922993e-5,-2.7387706234444074e-8,0.0026344403222787766,2.517473880061446e-5,-2.7041855038120544e-8,0.002634946113457011,2.498684705051351e-5,-2.6787753182580472e-8,0.0026354809501950237,2.4886802821856877e-5,-2.6649271729928865e-8,0.0026360135612485953,2.487845151655501e-5,-2.66318567861711e-8,0.0026365141657436557,2.4952076373098923e-5,-2.672296922722169e-8,0.002636958487571637,2.508635806998142e-5,-2.6894714182866534e-8,0.002637330770592852,2.5251345857424093e-5,-2.7107782135658014e-8,0.0026376258574601534,2.541191401004594e-5,-2.731596108184508e-8,0.002637850566159729,2.5531539580490765e-5,-2.747102088376633e-8,0.002638024527826738,2.557660264320669e-5,-2.7528304916922454e-8,0.0026381802741849004,2.552172015255805e-5,-2.7453780860784707e-8,0.0026383615500640014,2.535654692073106e-5,-2.7233147342018143e-8,0.0026386179885873363,2.5093413410281484e-5,-2.6882116638732477e-8,0.002638994289794082,2.4773009859853065e-5,-2.6454097522886618e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json new file mode 100644 index 000000000..270577e9a --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":19000,"numberOfSamples":1000,"samples":[0.00263951402096563,2.446275040491078e-5,-2.6038117688221015e-8,0.0026401631724560673,2.4241976200195275e-5,-2.5739261712150362e-8,0.002640884349598046,2.417407411008679e-5,-2.5641764129475454e-8,0.0026415912918163185,2.4277459627606698e-5,-2.577057311285661e-8,0.0026422007751247287,2.4514250198517228e-5,-2.6076268743377622e-8,0.002642664329828072,2.4806135401016956e-5,-2.6455914313675208e-8,0.002642981408758501,2.5067420523334124e-5,-2.6796599674782414e-8,0.0026431902581784475,2.523476738670862e-5,-2.701462116287926e-8,0.0026433473077564114,2.5280434293348607e-5,-2.707291191164421e-8,0.0026435080278592402,2.5209814035850336e-5,-2.6977864625794997e-8,0.0026437153058168224,2.5051197769627946e-5,-2.6766036632474325e-8,0.002643995008250455,2.4844553414124373e-5,-2.6489610125027892e-8,0.002644356096346505,2.4632482174508258e-5,-2.6204648569688263e-8,0.002644792866933108,2.4453878979516923e-5,-2.5962750928942762e-8,0.002645287958825506,2.433962413644026e-5,-2.580522022561437e-8,0.0026458157625529125,2.4309628109960647e-5,-2.5758941317575327e-8,0.00264634623063722,2.4371028134717308e-5,-2.5833817493889664e-8,0.0026468490048528843,2.4517626043978552e-5,-2.6021955503015233e-8,0.002647297629221693,2.473075415894809e-5,-2.629884122598041e-8,0.002647673419069512,2.498168300232041e-5,-2.6626587976528904e-8,0.0026479684516871804,2.5235364563765828e-5,-2.6958906132239313e-8,0.0026481873145099825,2.54550480044092e-5,-2.724714977923732e-8,0.0026483474854581976,2.5607329200806667e-5,-2.744689859121178e-8,0.002648478321749667,2.5667306663201197e-5,-2.7524725198145248e-8,0.002648618565417001,2.562364143904652e-5,-2.746495256788262e-8,0.002648811933829168,2.548331398325493e-5,-2.7276137128600436e-8,0.002649099993304903,2.5275225022656478e-5,-2.6996080239347117e-8,0.0026495118344468096,2.5050470037239995e-5,-2.6692385337925312e-8,0.0026500516782408433,2.4875937156110125e-5,-2.6454031394300517e-8,0.0026506887377273874,2.481830242231187e-5,-2.637005584696817e-8,0.0026513571570154788,2.4919878684211346e-5,-2.649732055333089e-8,0.0026519727576500727,2.5176293414199947e-5,-2.6830682803784936e-8,0.00265246347865712,2.553137242424813e-5,-2.7296067819030845e-8,0.0026527977885291948,2.5897092428559638e-5,-2.777691417282513e-8,0.0026529937872264786,2.6188736914085377e-5,-2.8160834927125474e-8,0.0026531053400488365,2.6354405340763377e-5,-2.8378742435525895e-8,0.002653197143730883,2.6384803835271885e-5,-2.8417798104530085e-8,0.0026533237489522734,2.630496073324375e-5,-2.8310488620170042e-8,0.002653519415667135,2.61584941720321e-5,-2.8113966146280626e-8,0.0026537972075638358,2.5993391727317396e-5,-2.7891437296909137e-8,0.0026541528220946162,2.5852711656499893e-5,-2.7699980495729533e-8,0.002654569583467504,2.576980469437125e-5,-2.758418502662082e-8,0.002655022888269817,2.5766321279371505e-5,-2.7573341150534074e-8,0.0026554838903719694,2.5851487346184455e-5,-2.7680269328933923e-8,0.0026559228543872925,2.6021962722230312e-5,-2.7900982114737346e-8,0.0026563125592436493,2.6262270927647677e-5,-2.8215210320601784e-8,0.0026566318822620954,2.6546159408893735e-5,-2.8588246183577963e-8,0.0026568693325829773,2.683937297731775e-5,-2.8974675169938895e-8,0.00265702588046726,2.7104047119859548e-5,-2.9324209301872344e-8,0.0026571162804157502,2.730439944298196e-5,-2.9589182861804454e-8,0.002657168287578267,2.741298625135473e-5,-2.973278593466467e-8,0.002657219506910407,2.7416528074622072e-5,-2.9736788701860016e-8,0.002657312004454739,2.7320200846281446e-5,-2.9607346163960382e-8,0.0026574851280428084,2.714945498836805e-5,-2.9377627673142143e-8,0.0026577671410715864,2.6948550466389847e-5,-2.9106116594645743e-8,0.0026581666337407396,2.677480114515534e-5,-2.8869130261933987e-8,0.002658665644369953,2.668759153112913e-5,-2.874622335182529e-8,0.0026592177642860556,2.673249924766369e-5,-2.8798893801029236e-8,0.0026597551845333914,2.6923863313585407e-5,-2.9047096880029876e-8,0.0026602066278280773,2.7233239467283458e-5,-2.945360447347533e-8,0.0026605218701161496,2.759279450344971e-5,-2.992839322576825e-8,0.002660691339317348,2.791687831695263e-5,-3.0357403494703774e-8,0.0026607489650131524,2.813307297178182e-5,-3.064397603742436e-8,0.002660756316410744,2.820629128228656e-5,-3.0740975280116455e-8,0.00266077813131762,2.814444053347429e-5,-3.0658329382785926e-8,0.0026608626181401033,2.7987094517445165e-5,-3.044802835863527e-8,0.002661033282093157,2.7787369099427664e-5,-3.018018911351549e-8,0.002661290670229049,2.759646253123286e-5,-2.992268275086257e-8,0.002661618847227499,2.745466279524221e-5,-2.9729256636510297e-8,0.002661992324996788,2.7388048564438633e-5,-2.9635075082451442e-8,0.0026623814914065623,2.740846380825369e-5,-2.9656508743774662e-8,0.0026627564064791672,2.751469021981976e-5,-2.9792508338229933e-8,0.002663089657287003,2.769378081550649e-5,-3.002626101217006e-8,0.0026633589993581537,2.7922422231694105e-5,-3.032697532756177e-8,0.0026635502049094915,2.816877186333765e-5,-3.065235507227498e-8,0.002663660058606214,2.8395509491539593e-5,-3.095269273591784e-8,0.0026636988226479592,2.8564683516255168e-5,-3.1177317725720975e-8,0.0026636910185861354,2.8644267020628355e-5,-3.128328931824663e-8,0.002663673368164203,2.8615444636392442e-5,-3.124507257083623e-8,0.0026636892999802016,2.847882357726595e-5,-3.106284172552677e-8,0.0026637804953454328,2.8257367087954442e-5,-3.076651119240239e-8,0.0026639771539304236,2.7994347029093748e-5,-3.041320967031577e-8,0.002664289390944928,2.7745919962196963e-5,-3.0077603120369135e-8,0.0026647021583839263,2.7569343911087362e-5,-2.983632036881539e-8,0.002665175574611234,2.7508966541401323e-5,-2.9749234062979572e-8,0.002665651753105894,2.758308150002246e-5,-2.9841711448467954e-8,0.0026660679387967637,2.777557445101302e-5,-3.009314804079612e-8,0.002666373652606828,2.8036422130212083e-5,-3.043735504000154e-8,0.0026665467921051737,2.8293485634668975e-5,-3.0778184924067085e-8,0.002666601852555459,2.8473726055012245e-5,-3.1017907545195027e-8,0.0026665852853927806,2.8526301970881325e-5,-3.1088172804032435e-8,0.002666559122253182,2.843738526897907e-5,-3.0969895282801916e-8,0.0026665805053176046,2.823043592843639e-5,-3.069370740064932e-8,0.0026666863526158286,2.795380188020402e-5,-3.032352927191644e-8,0.002666888030781808,2.7663438827002143e-5,-2.993366290807507e-8,0.0026671748130789254,2.7408493516036183e-5,-2.958966680282094e-8,0.0026675216046985984,2.722333376093842e-5,-2.933771824724552e-8,0.0026678967932506742,2.7125467417972392e-5,-2.920171724683057e-8,0.002668268174343812,2.7116928055334394e-5,-2.918496557666993e-8,0.0026686067536675503,2.718687142750966e-5,-2.9273488870256556e-8,0.002668889153521843,2.7314125916714938e-5,-2.9439367095546293e-8,0.0026690995240611494,2.7469415229723713e-5,-2.9643692403226327e-8,0.002669231588881734,2.761768401200625e-5,-2.983969287822529e-8,0.0026692909045567758,2.772137604439484e-5,-2.9977123836592665e-8,0.002669296689582548,2.7745483589062654e-5,-3.0009007656812204e-8,0.0026692818814056923,2.76645400450632e-5,-2.9900964988722216e-8,0.002669289786419154,2.7470487600255673e-5,-2.9641735210395685e-8,0.0026693663135547675,2.7178855682651955e-5,-2.9251483856010147e-8,0.002669548600717101,2.6829814064937723e-5,-2.8783321052296953e-8,0.002669853232704221,2.6481571864986507e-5,-2.8314646721668814e-8,0.0026702686612265127,2.6196540227162797e-5,-2.792883344868289e-8,0.0026707555410017745,2.6024208042934442e-5,-2.769243626155642e-8,0.0026712556999075863,2.5986573478360687e-5,-2.7635653186376986e-8,0.002671707089748267,2.6071129511972674e-5,-2.7742712797765785e-8,0.0026720600901569886,2.6233603318288687e-5,-2.795522462078366e-8,0.002672290443135009,2.640954156364561e-5,-2.818742186699068e-8,0.0026724052428170825,2.653145786869803e-5,-2.8349002218997386e-8,0.002672440220313686,2.6546752821712073e-5,-2.8369163632258638e-8,0.0026724489957256573,2.6431102842522592e-5,-2.8214673922745004e-8,0.002672487698917711,2.6193125149463324e-5,-2.789629736013679e-8,0.0026726001820109838,2.586916578069951e-5,-2.746199942230688e-8,0.002672808644915501,2.551090053887501e-5,-2.6980507296689357e-8,0.0026731118372536797,2.5170934360175597e-5,-2.6522128760281473e-8,0.0026734896589889912,2.4891330726868854e-5,-2.6143393330707435e-8,0.0026739109227287,2.4697549447807037e-5,-2.5878832880513e-8,0.0026743410670043246,2.4597486622909633e-5,-2.5739543146492245e-8,0.002674747998989801,2.458373190904632e-5,-2.5716071958711425e-8,0.0026751057440529678,2.463704675194214e-5,-2.57830039780471e-8,0.0026753964831346907,2.47297865751725e-5,-2.5903529531835557e-8,0.00267561183646005,2.4828867315808e-5,-2.6033429491443315e-8,0.0026757540793394046,2.489859900654912e-5,-2.6124877326598502e-8,0.00267583747024861,2.4904174485618595e-5,-2.6131104709850983e-8,0.0026758891320712635,2.4816671777239062e-5,-2.6013096260213478e-8,0.0026759481268225807,2.4619877273035702e-5,-2.5748745104085175e-8,0.002676060878740094,2.4317891637757816e-5,-2.534308690420903e-8,0.002676271641860672,2.3940547910458253e-5,-2.4835628594163594e-8,0.0026766089922976954,2.3542240639262514e-5,-2.429887410844018e-8,0.002677072911743146,2.3190810939116947e-5,-2.3823549830955104e-8,0.002677629384711697,2.2947801471423495e-5,-2.349226195279842e-8,0.0026782174373540597,2.284747447523584e-5,-2.3351420427147178e-8,0.002678767190753552,2.2884450527373708e-5,-2.3394574904936935e-8,0.002679221246387928,2.3015772470718473e-5,-2.3564955982734086e-8,0.0026795504594499405,2.31755695605357e-5,-2.3774871289120044e-8,0.002679759170591716,2.3295137206169125e-5,-2.393243272963582e-8,0.0026798803135628544,2.3320917185443094e-5,-2.3965602905995443e-8,0.0026799640145154023,2.322577558520088e-5,-2.3837397612610006e-8,0.0026800639314745046,2.3012215146842673e-5,-2.3550384713622862E-08,0.0026802248899573116,2.2708392050599457e-5,-2.3141585163499967e-8,0.0026804742934984,2.235906805897442e-5,-2.2670554977751216e-8,0.0026808185968568944,2.2014267511493717e-5,-2.220428842578894e-8,0.0026812448336239396,2.171854636264718e-5,-2.180280461715125e-8,0.0026817259374465234,2.150323880680172e-5,-2.1508611094251824e-8,0.00268222781652349,2.1382809836528223e-5,-2.1341628366433782e-8,0.0026827161726339327,2.1355034347562173e-5,-2.1299284836488415e-8,0.0026831617535715744,2.140378470911418e-5,-2.1360196730420277e-8,0.0026835436457758872,2.1502965966267144e-5,-2.1489465414133864e-8,0.0026838509543692596,2.16204854567272e-5,-2.1644050147128995e-8,0.002684083542702058,2.1721810919128004e-5,-2.1777567204648777e-8,0.0026842524063363047,2.1773296218550722e-5,-2.184473901283113e-8,0.0026843798793523676,2.174584592951199e-5,-2.1806283785570994e-8,0.002684499254751002,2.1619604754520625e-5,-2.1635208600026604e-8,0.002684652615539522,2.1389936125771377e-5,-2.132488556836351e-8,0.0026848851553524585,2.1073684595338914e-5,-2.0897551736655894e-8,0.002685234761333537,2.071276203290809e-5,-2.040922349572789e-8,0.0026857179492677428,2.0370460882582813e-5,-1.9944823185549678e-8,0.002686317392056504,2.0116807827503108e-5,-1.9598553255649772e-8,0.002686979523907763,2.0004912349695077e-5,-1.9442129284992614e-8,0.0026876280837219843,2.0048512671163523e-5,-1.949455243073783e-8,0.0026881899249303247,2.0214024293583018e-5,-1.9711294931862544e-8,0.002688620249435145,2.043285656095454e-5,-2.000069039920413e-8,0.002688914623014258,2.0626936406510176e-5,-2.0258093448061607e-8,0.002689104448499188,2.073370425998305e-5,-2.0399378529749706e-8,0.0026892419298627126,2.0720641518941455e-5,-2.038044359813892e-8,0.00268938312888527,2.0587598019377475e-5,-2.0200427284762034e-8,0.002689574768650333,2.0360579482662567e-5,-1.989355990805515e-8,0.0026898465947728313,2.0081670543145843e-5,-1.9515867700560127e-8,0.0026902088053080623,1.9798500950558975e-5,-1.913120086648592e-8,0.002690653320029833,1.9555086732382298e-5,-1.8798959747669437e-8,0.0026911577108349486,1.9384918317815483e-5,-1.856468027518342e-8,0.0026916907283687213,1.9306783846534458e-5,-1.8454204375709315e-8,0.0026922183440946422,1.932346249716126e-5,-1.8471725008849565e-8,0.0026927093194704355,1.9422959535281348e-5,-1.8601349303398246e-8,0.002693139577075912,1.9581620030571056e-5,-1.8811304655394267e-8,0.0026934949979082095,1.9768275469618075e-5,-1.905959980051295e-8,0.0026937727037630865,1.9948579211282313e-5,-1.9299928293298172e-8,0.002693981227014739,2.008903816565814e-5,-1.9487102008012012e-8,0.0026941399761876384,2.0160743594175506e-5,-1.958202828436642e-8,0.002694278150304583,2.014308771745926e-5,-1.9556669135148625e-8,0.002694432839134833,2.0027814972522264e-5,-1.939951202924289e-8,0.0026946454407021474,1.9823465164879817e-5,-1.912164795226923e-8,0.002694955118743798,1.9559228013221924e-5,-1.876210188452582e-8,0.0026953885604227568,1.9285588555638527e-5,-1.8388822887488567e-8,0.002695947389646158,1.906784792733087e-5,-1.8090003030037158e-8,0.002696598361371597,1.8969529356223275e-5,-1.7951673808881418e-8,0.0026972747172651123,1.9028183067974308e-5,-1.8024976958726027e-8,0.002697894448259002,1.923482567582152e-5,-1.82982964892157e-8,0.0026983903263144058,1.953167385178543e-5,-1.8694084270395405e-8,0.0026987355972708806,1.9833273175935162e-5,-1.9097304148343785e-8,0.002698950451980689,2.005962260427181e-5,-1.9400090848296767e-8,0.0026990880859063043,2.016241265792062e-5,-1.9537100067242948e-8,0.0026992117922432905,2.013345355569334e-5,-1.949684506615443e-8,0.002699375647089422,1.999759245364751e-5,-1.9312213181089278e-8,0.002699614261285006,1.9798830819145078e-5,-1.9041939056218857e-8,0.0026999406340535597,1.9586801508834097e-5,-1.8752604336031518e-8,0.0027003488738597202,1.9406767550178475e-5,-1.850529554434705e-8,0.002700818970481651,1.9293437948365567e-5,-1.8347238284879605e-8,0.0027013220497049467,1.9267719508964687e-5,-1.8307237617048195e-8,0.002701825549465035,1.9335593552310834e-5,-1.839393020569358e-8,0.0027022980757690288,1.9488723621636194e-5,-1.8596431789749385e-8,0.002702713662607276,1.970654001153539e-5,-1.8887103092774177e-8,0.002703055157533248,1.9959543955443707e-5,-1.9226073522447195e-8,0.002703316448267429,2.0213520540267606e-5,-1.9567030088327615e-8,0.0027035033133196956,2.0434152409261692e-5,-1.986350378693203e-8,0.0027036329373279133,2.059147843487134e-5,-2.0074871352699753e-8,0.002703732317100221,2.0663912104588616e-5,-2.017172044859481e-8,0.002703835708462897,2.064176391337209e-5,-2.0140576017720335e-8,0.002703981045779454,2.0530222225002636e-5,-1.9987983238696774e-8,0.002704204955540068,2.0351562676141675e-5,-1.9743638549377247e-8,0.0027045358067139627,2.014570325430151e-5,-1.9461313750205066e-8,0.002704984805772576,1.996714707688034e-5,-1.92148397591981e-8,0.0027055368649279493,1.987574577050617e-5,-1.9085611169575944e-8,0.002706145685078051,1.9919963553539275e-5,-1.913981275734757e-8,0.0027067395839023285,2.0115935619329194e-5,-1.9399872245807953e-8,0.002707241964949466,2.0432627984345386e-5,-1.9824189275903496e-8,0.002707600561978769,2.079591363745013e-5,-2.031258854203578e-8,0.0027078094546453073,2.1114943868623784e-5,-2.0742078873478338e-8,0.0027079095029694275,2.1317626509160715e-5,-2.101494646065448e-8,0.002707967740739984,2.1374638784031844e-5,-2.1091231796414332e-8,0.0027080501916891273,2.1301291919555723e-5,-2.0991196408044287e-8,0.002708202805321296,2.1142645928582355e-5,-2.0775234408464792e-8,0.0027084452776870867,2.0954316120813476E-05,-2.0518098346501502e-8,0.002708774162575712,2.078764131629634e-5,-2.028905117718749e-8,0.002709169810830763,2.0681479161499233e-5,-2.014086685744763e-8,0.0027096034430987557,2.065925821172407e-5,-2.0105765910602988e-8,0.0027100428652535534,2.0729021182110605e-5,-2.0195268624788187e-8,0.0027104568599029245,2.088478077558925e-5,-2.0401806622108805e-8,0.0027108187654351296,2.1108546115977512e-5,-2.0701327617105837e-8,0.002711109496587725,2.1372986326076458e-5,-2.10568899223502e-8,0.002711319970232938,2.1644827851250796e-5,-2.142334211249965e-8,0.002711452708090201,2.1889050652350722e-5,-2.1753098561200446e-8,0.002711522206080725,2.207368852602839e-5,-2.2002679141313222e-8,0.002711553726110139,2.2174663760722812e-5,-2.2139227350930035e-8,0.0027115804817427185,2.2179989492678676E-05,-2.214615199321869e-8,0.0027116394229722046,2.2092790600064617e-5,-2.2027220749220564e-8,0.002711765902353902,2.1932661136871404e-5,-2.1808497541801675e-8,0.0027119875265561675,2.17349102139576e-5,-2.153749682666738e-8,0.0027123175594141167,2.154714321577371e-5,-2.1278725972971384e-8,0.002712748677090166,2.1422310197924048e-5,-2.1104340382649643e-8,0.0027132489457220156,2.1407462817094904e-5,-2.107881988743877e-8,0.002713763222707799,2.1528939153101463e-5,-2.12386510801654e-8,0.002714223539826301,2.17779711508261e-5,-2.1572526893751845e-8,0.0027145692235508168,2.210462782438041e-5,-2.201294395593925e-8,0.0027147705289971287,2.242831272043591e-5,-2.245045363896241e-8,0.002714842961370987,2.26651374401677e-5,-2.2770961975807826e-8,0.0027148417371246187,2.2759728481484883e-5,-2.2899019449501894e-8,0.0027148384646546696,2.270361220246182e-5,-2.2822761360270927e-8,0.002714894133814566,2.253147752919397e-5,-2.2588785865962968e-8,0.002715042481976411,2.230178058034443e-5,-2.227589996373742e-8,0.0027152877602880654,2.2075146022270574e-5,-2.196600255000497e-8,0.0027156119658795414,2.189977200438472e-5,-2.1724460810982776e-8,0.0027159847379479274,2.180547085498409e-5,-2.1592064109398672e-8,0.0027163717326484887,2.18037059038195e-5,-2.158495102003217e-8,0.0027167402462662167,2.189035707386248e-5,-2.169814943921391e-8,0.0027170626329077376,2.204902136902486e-5,-2.1909862774099005e-8,0.002717318577686348,2.225407880034124e-5,-2.2185536220454567e-8,0.002717496917322223,2.247368848952755e-5,-2.2481941172479003e-8,0.0027175971570509785,2.2673148098990517e-5,-2.2751819980273843e-8,0.002717630437619656,2.2818986025088118e-5,-2.2949521472554347e-8,0.002717619374232879,2.2883830547347417e-5,-2.3037639752791775e-8,0.0027175960863589687,2.2851508344780233e-5,-2.29939131948583e-8,0.002717598071460584,2.27213176952526e-5,-2.281699857396905e-8,0.0027176621709201596,2.2510260056520727e-5,-2.2529529271382513e-8,0.0027178174751903974,2.22521853070832e-5,-2.2177067543554316e-8,0.0027180784671276526,2.1993333213934358e-5,-2.1822217623532972e-8,0.0027184398641318065,2.178448760758116e-5,-2.153411268172913e-8,0.0027188745594770346,2.1670561409178468e-5,-2.137429317301222e-8,0.0027193360025531545,2.1679009178246315e-5,-2.1380826619141587e-8,0.002719766138446254,2.1809462677510583e-5,-2.1553961002315126e-8,0.00272010902935972,2.2028302823201387e-5,-2.184847600516649e-8,0.0027203278821346134,2.2272524858974438e-5,-2.2178797892063562e-8,0.0027204196799707763,2.24654419229855e-5,-2.2440404566424472e-8,0.002720419476537429,2.2541182151501676e-5,-2.2543308403420168e-8,0.002720389514355453,2.246792006086709e-5,-2.2443785172222848e-8,0.0027203968580779593,2.2257868624423312e-5,-2.2157995797522724e-8,0.0027204907531003454,2.1959156500183422e-5,-2.17509487518943e-8,0.0027206903780250197,2.1635680043467534e-5,-2.1309184877300774e-8,0.0027209858546815508,2.1346417556349277e-5,-2.0912787442917073e-8,0.002721347808163526,2.1132433058736414e-5,-2.06177932502233e-8,0.002721738732659261,2.101302770424033e-5,-2.045091160605777e-8,0.002722121842089695,2.0988064107378192e-5,-2.0412526919188236e-8,0.0027224663072612032,2.104272221321373e-5,-2.0482980964473065e-8,0.0027227497312666536,2.1152219247249398e-5,-2.0628864697851955e-8,0.0027229592187699085,2.1285646420264224e-5,-2.0808205423364215e-8,0.002723092024279769,2.140915534170127e-5,-2.0974851448080727e-8,0.002723156140984944,2.14891410191427e-5,-2.108288393508341e-8,0.002723170606461795,2.149605797679514e-5,-2.1091870780846034e-8,0.0027231647986974373,2.140913982897247e-5,-2.0973305086363463e-8,0.002723175747615389,2.122154123906254e-5,-2.0717585989345948e-8,0.0027232427667478894,2.094452464224403e-5,-2.0339705819586754e-8,0.0027233996145755853,2.0608713479640643e-5,-1.9880992713257535e-8,0.002723665721382843,2.026060892275378e-5,-1.9404470170278227e-8,0.0027240391567136266,1.9953854594028393e-5,-1.898310231028625e-8,0.002724494146855511,1.9736789731948312e-5,-1.8682948875842208e-8,0.002724984781134481,1.9639562245665583e-5,-1.8545605329381536e-8,0.002725454640230336,1.9664591180140306e-5,-1.8575060281540082e-8,0.0027258502841296267,1.978346436416098e-5,-1.8733227690675876e-8,0.0027261353236396123,1.9941877016394326e-5,-1.894645849238284e-8,0.002726301248658682,2.007230249813052e-5,-1.912271463933041e-8,0.0027263713289722514,2.011187104949174e-5,-1.9175991154117115e-8,0.002726395138448426,2.002057957804487e-5,-1.905127428909273e-8,0.002726434196991114,1.9793401183908815e-5,-1.8741182852925098e-8,0.0027265433420372793,1.946100805656228e-5,-1.828705235095383e-8,0.0027267551469351914,1.9078518607560066e-5,-1.7763682989189432e-8,0.002727073366580046,1.870747687105405e-5,-1.7254861286109985e-8,0.0027274765293817524,1.8398952985918913e-5,-1.683037011094019e-8,0.002727927993060576,1.818353027833995e-5,-1.6532295654523488e-8,0.0027283871266923043,1.8069347217504134e-5,-1.637222675764901e-8,0.0027288178204516824,1.804577514014172e-5,-1.633611041703065e-8,0.0027291931918580247,1.8089300870504294e-5,-1.6392157254153952e-8,0.0027294972768002954,1.816913014448269e-5,-1.649844892067187e-8,0.0027297251046408027,1.8251552466542002e-5,-1.660892918346911e-8,0.0027298822811575333,1.830324285422369e-5,-1.6677976929709144e-8,0.0027299846109979653,1.8294199006395545e-5,-1.6664471571957215e-8,0.0027300576392803658,1.8201084382144078e-5,-1.6536379482566312e-8,0.002730135367558795,1.801142871411346e-5,-1.6276481194654895e-8,0.0027302569950561194,1.772835840690819e-5,-1.5888815400112085e-8,0.002730460675000141,1.7374367034465673e-5,-1.540383280991605e-8,0.002730774317388617,1.6991538671805468e-5,-1.487874681986958e-8,0.002731205492992096,1.663554986253649e-5,-1.4389430286252634e-8,0.0027317346225685167,1.6362736100393333e-5,-1.401285392592605e-8,0.0027323159732417688,1.6213321694122396e-5,-1.3804237823242727e-8,0.0027328882043883593,1.6197272773221976e-5,-1.377768292956184e-8,0.002733391477933123,1.628923403372551e-5,-1.3899104903846669e-8,0.0027337846859482747,1.6435087027299024e-5,-1.4095004537599963e-8,0.002734056500043612,1.656745755001094e-5,-1.4273511480543449e-8,0.0027342271115420556,1.6624323330041047e-5,-1.4349761230979106e-8,0.002734341218625606,1.6564849873113524e-5,-1.4267579057934553e-8,0.0027344551943848145,1.6378505391622318e-5,-1.4012046808109738e-8,0.002734622289801755,1.608581588143182e-5,-1.3610682506044439e-8,0.0027348797656559553,1.5731229116967588e-5,-1.312384293400565e-8,0.0027352411979116873,1.5370487927067927e-5,-1.262758861964929e-8,0.0027356956705479342,1.5056407177672457e-5,-1.2194285616455754e-8,0.002736213318040265,1.4827270079832405e-5,-1.1876677483532097e-8,0.0027367546090290257,1.4700733657187753e-5,-1.169940036745348e-8,0.002737279962922846,1.4673731384326293e-5,-1.16586767454608e-8,0.0027377570640155654,1.4726736350655366e-5,-1.1728029197099415e-8,0.0027381648557289963,1.482989457646782e-5,-1.1866648191392354e-8,0.0027384946423735903,1.4948942426058718e-5,-1.2027544616739114e-8,0.002738749434445084,1.504985821963847e-5,-1.216399804528127e-8,0.0027389426406392242,1.5102225647928979e-5,-1.2234218749741384e-8,0.0027390967313658887,1.508190848938774e-5,-1.2205022203274869e-8,0.0027392418828776502,1.497377683520103e-5,-1.2055543818857391e-8,0.0027394140032673863,1.4774979914795335e-5,-1.1781703210623261e-8,0.0027396510558396095,1.449859754939216e-5,-1.1401214646296961e-8,0.0027399865631337478,1.4176337452192784e-5,-1.0957324233453986e-8,0.0027404401157403325,1.3857589419184968e-5,-1.0517579850249122e-8,0.002741006988407936,1.3601649709835046e-5,-1.016324470539438e-8,0.002741651946643131,1.3461932237357087e-5,-9.967701894510386e-9,0.0027423134297618586,1.3466164991872435e-5,-9.969292325791265e-9,0.0027429204127412043,1.3602045380436758e-5,-1.0151559338201335e-8,0.0027434161980657615,1.381781057785335e-5,-1.0443902181835858e-8,0.0027437775903663983,1.403930043979941e-5,-1.0744867582233018e-8,0.00274402026056172,1.4195086586668818e-5,-1.0956551973741348e-8,0.002744189707180539,1.4237647948831023e-5,-1.101361813162918e-8,0.0027443444308235623,1.4153214739371446e-5,-1.0896808965594635e-8,0.0027445391212823013,1.3960083614703103e-5,-1.063071839494125e-8,0.0027448126229584063,1.369940353501182e-5,-1.0271311517205686e-8,0.0027451820491002014,1.342296064314159e-5,-9.889353385649206e-9,0.0027456424369939375,1.3181296837245952e-5,-9.554228595057486e-9,0.0027461706266553357,1.301415215625418e-5,-9.320814951324564e-9,0.0027467319065318033,1.2944348784452829e-5,-9.220945708603037e-9,0.0027472878430236675,1.297566686114043e-5,-9.26028974478475e-9,0.0027478036209455806,1.3094521161716708e-5,-9.420488426281658e-9,0.0027482535395967965,1.3274409109423844e-5,-9.665206228210173e-9,0.002748624017387072,1.3481665911821765e-5,-9.94808846615289e-9,0.002748914201993835,1.3681151040180056e-5,-1.0220678594459335e-8,0.002749134840466332,1.3840922486020028e-5,-1.0438925666362003e-8,0.0027493062755827883,1.3935617636275572e-5,-1.0567851392877573e-8,0.0027494561978375956,1.3948871850020234e-5,-1.0584841736813426e-8,0.002749617298368145,1.3875330877006017e-5,-1.0482372438320108e-8,0.002749824478571436,1.3722661790345272e-5,-1.0270772986168708e-8,0.002750110830763187,1.3513482353169196e-5,-9.98093410823438e-9,0.00275050148863685,1.3286167853943228e-5,-9.665504146217214e-9,0.0027510052007713166,1.3092282740735443e-5,-9.395433012835077e-9,0.0027516054627253683,1.2987797311630384e-5,-9.247916863310523e-9,0.0027522560077975567,1.3016795714357577e-5,-9.283940992366734e-9,0.002752887270832192,1.3191513005764179e-5,-9.520705716744854e-9,0.0027534268750110877,1.3479307947422266e-5,-9.913575792228905e-9,0.002753827252818105,1.380820104122874e-5,-1.0363635022831688e-8,0.002754085066367869,1.4092408000508905e-5,-1.0752843979321471e-8,0.002754240423604777,1.4264671631161601e-5,-1.0988570669126968e-8,0.0027543577158397454,1.4297504261183262e-5,-1.1032801675695634e-8,0.0027545010082918016,1.4205075789953122e-5,-1.0904699986993847e-8,0.0027547161998007054,1.4030591799180186e-5,-1.0663283329901377e-8,0.0027550240194078655,1.3829185117178249e-5,-1.0384043206256625e-8,0.002755421453020713,1.3653474454465471e-5,-1.0139258403077382e-8,0.0027558875196220835,1.3544259564344984e-5,-9.985280220478687e-9,0.0027563903321073395,1.3525955479519786e-5,-9.956181654857124e-9,0.0027568938904163395,1.3605460183974092e-5,-1.0062009063794016e-8,0.002757364073561223,1.3773418082126131e-5,-1.029030898978133e-8,0.0027577735523741467,1.4007312606634619e-5,-1.0610254942756665e-8,0.002758105281049702,1.4275878871466236e-5,-1.0978721485269755e-8,0.0027583543129910426,1.4544196144378514e-5,-1.1347397176404875e-8,0.002758527884760369,1.4778781498711986e-5,-1.1669921998794136e-8,0.0027586439565762334,1.495202207329257e-5,-1.1908062139585563e-8,0.0027587286752269713,1.5045486741457556e-5,-1.2036263263573345e-8,0.002758813283168323,1.5052079543374385e-5,-1.2044567346228864e-8,0.0027589307562035483,1.497726783006875e-5,-1.1940277717807085e-8,0.0027591121400170103,1.4839587044545021e-5,-1.1748696271030066e-8,0.002759382258301141,1.4670374331164395e-5,-1.1512860934478634e-8,0.0027597543590631487,1.4512060743916354e-5,-1.1291303651724086e-8,0.002760223851724849,1.4413504572653444e-5,-1.1151667518328181e-8,0.002760762772812467,1.4420577561528979e-5,-1.1157671499436408e-8,0.002761318710750578,1.4561512390203414e-5,-1.1348746558323507e-8,0.00276182335825203,1.483046758444795e-5,-1.171717072812087e-8,0.002762213232767044,1.5178600777388183e-5,-1.2195628938203373e-8,0.0027624561618459875,1.5523579998102924e-5,-1.2670370954457433e-8,0.002762568055471419,1.577896645887847e-5,-1.3021911778698365e-8,0.002762607053442844,1.588892345218556e-5,-1.3173036202525945e-8,0.0027626477535367317,1.5847494556313896e-5,-1.3115353264673006e-8,0.002762752148698717,1.5693341116187472e-5,-1.290193227055894e-8,0.002762952717258098,1.5488291251018845e-5,-1.2617722370350503e-8,0.0027632510418019677,1.5294686690858635e-5,-1.2348462136331391e-8,0.0027636259344087917,1.5160707656321381e-5,-1.2160612203495138e-8,0.002764043924793039,1.511465428428553e-5,-1.2093523880228672e-8,0.002764468105360931,1.5165219435121325e-5,-1.2159711904489318e-8,0.0027648642771565795,1.5304554776486206e-5,-1.2348881160795975e-8,0.00276520491193756,1.551214917612753e-5,-1.2633083740317827e-8,0.0027654717421526196,1.5758859205074683e-5,-1.2972187445271782e-8,0.0027656573615933593,1.601108180866163e-5,-1.331966747011974e-8,0.0027657658412326984,1.623508143758839e-5,-1.3628693916074076e-8,0.0027658122315612965,1.6401336192405455e-5,-1.385824500072823e-8,0.0027658208032614435,1.64885423505343e-5,-1.397868551819702e-8,0.0027658220656359834,1.6486733828388484e-5,-1.397605157394892e-8,0.002765848891824904,1.639909794692674e-5,-1.3854513826157042e-8,0.0027659321674139512,1.6242317878778517e-5,-1.3636849548780435e-8,0.002766096303503263,1.6045369593808686e-5,-1.3362857387789591e-8,0.0027663548615603564,1.5846730676314847e-5,-1.308562701077851e-8,0.0027667064826740096,1.5689835021215877e-5,-1.2865361853446855e-8,0.002767131628491153,1.5616253392744474e-5,-1.2759959238257351e-8,0.002767591541465577,1.565613932350352e-5,-1.2811680422273687e-8,0.0027680318643640033,1.581672526418174e-5,-1.3031031172521404e-8,0.0027683935757452003,1.607229328191158e-5,-1.3382687188492964e-8,0.0027686315906423767,1.6362317419807093e-5,-1.3782849249591848e-8,0.0027687352106116232,1.660487394222258e-5,-1.4117902190796029e-8,0.002768738239820442,1.6725105080637398e-5,-1.4283993588661351e-8,0.0027687087079556953,1.6685822510540136e-5,-1.422947633870195e-8,0.0027687213527381837,1.650176304721841e-5,-1.3974559220475729e-8,0.0027688289978741332,1.622925799770131e-5,-1.3596908755438644e-8,0.002769048363398059,1.594031700512789e-5,-1.3195832869032236e-8,0.00276936337344147,1.569769408859385e-5,-1.2857958409166736e-8,0.002769738192543268,1.5541237964123733e-5,-1.2638499739393606e-8,0.002770130857577132,1.5485700596560033e-5,-1.2558236264973412e-8,0.0027705028435936804,1.5525121557837643e-5,-1.2609441752677153e-8,0.002770824104016123,1.5639139817898094e-5,-1.2764417778794309e-8,0.0027710750382562957,1.579871667179225e-5,-1.298325399628226e-8,0.002771246995946245,1.5970684935818387e-5,-1.322007185623983e-8,0.0027713422068845884,1.6121524757386047e-5,-1.3428307331702114e-8,0.0027713733059165882,1.622087961293736e-5,-1.3565689517813172e-8,0.0027713622519797507,1.6245092710609566e-5,-1.3599228831309594e-8,0.002771338258376431,1.6180665568763176e-5,-1.3510033682923686e-8,0.0027713344138243505,1.6027070557930125e-5,-1.3297175460530656e-8,0.0027713830768532144,1.579813080854103e-5,-1.2979564370243544e-8,0.0027715105782646693,1.5521323628688927e-5,-1.2595002061998987e-8,0.002771732045267941,1.5234636665673235e-5,-1.2195915802458485e-8,0.002772047301432447,1.4981007805899022e-5,-1.1841777298032802e-8,0.002772438752589332,1.4800880562158318e-5,-1.1588867502371844e-8,0.0027728720133379584,1.4723695349422957e-5,-1.1478455258934069e-8,0.0027733000270757664,1.475936384689405e-5,-1.1524829287417343e-8,0.0027736714038943994,1.4891518683271445e-5,-1.1705728640433002e-8,0.002773942949580787,1.5075513691583893e-5,-1.1959405556781578e-8,0.002774094298536084,1.5244784160866828e-5,-1.2193420369479077e-8,0.00277413935771806,1.5327642621168224e-5,-1.2308056164262575e-8,0.002774127095241945,1.5271382737278492e-5,-1.222991079233378e-8,0.002774127125267959,1.5063483024427677e-5,-1.1941373736095969e-8,0.002774204509579759,1.4737530909312808e-5,-1.1488800019336111e-8,0.0027743965548067697,1.43593324733346e-5,-1.0963210259393599e-8,0.0027747034985702353,1.4001351538615448e-5,-1.0464911437262635e-8,0.0027750951364715324,1.3719672259939094e-5,-1.007167416389651e-8,0.002775526051367617,1.3542754928601997e-5,-9.823200461899074e-9,0.0027759503581378433,1.3472044653032601e-5,-9.721903248961207e-9,0.0027763311030684443,1.3489110782461308e-5,-9.742655844025204e-9,0.0027766441055164853,1.356402503429683e-5,-9.84425800476849e-9,0.002776878237542247,1.3662175145885656e-5,-9.978801364369811e-9,0.00277703421910064,1.3749001999510627e-5,-1.0098250340897997e-8,0.002777123145672282,1.3793304300500613e-5,-1.0159108468992627e-8,0.002777165069365021,1.3769948799978488e-5,-1.012627712891473e-8,0.002777187380425079,1.366257139239754e-5,-9.976865115490197e-9,0.002777222427192686,1.3466379006569386e-5,-9.704079704233e-9,0.002777303795784524,1.3190508945819256e-5,-9.32046418862628e-9,0.0027774610887294536,1.285887005615791e-5,-8.859037531642524e-9,0.00277771379236086,1.250829794191475e-5,-8.370757335750319e-9,0.0027780656045215007,1.2183280121571277e-5,-7.917278908180143e-9,0.00277850108054271,1.1927476784055753e-5,-7.559280656595044e-9,0.002778986285044394,1.1773582658743977e-5,-7.3424319327927995e-9,0.0027794741941447932,1.1734065609188585e-5,-7.284473669250357e-9,0.0027799142794985264,1.1795451333347614e-5,-7.367127372081157e-9,0.00278026452821218,1.1918270864807826e-5,-7.535846169209884e-9,0.0027805032458643373,1.204384768123753e-5,-7.709138116829781e-9,0.0027806373209791524,1.2107676158375936e-5,-7.797171506191644e-9,0.002780703452468078,1.2057033090757864e-5,-7.726358310931846e-9,0.002780759925646668,1.186787561236933e-5,-7.46295792291357e-9,0.002780869728653987,1.155427127221588e-5,-7.026249491461181e-9,0.002781080498337681,1.1164946271353642e-5,-6.483757041896363e-9,0.002781409786732128,1.0767143875816982e-5,-5.928845847483083e-9,0.0027818421004138097,1.04248448157659e-5,-5.450501229246064e-9,0.0027823377629871307,1.0181105245430409e-5,-5.10879819574084e-9,0.002782847735319512,1.0050699713777196e-5,-4.924616944992279e-9,0.002783327243787241,1.0022856728953502e-5,-4.883325460734916e-9,0.0027837440651562097,1.0069594711575953e-5,-4.94624874966697e-9,0.0027840812269027786,1.015483206039899e-5,-5.063271670053514e-9,0.0027843360787357524,1.024152532104462e-5,-5.1827770304128115e-9,0.002784517883012557,1.0296305457586499e-5,-5.258162067166841e-9,0.0027846452783812006,1.0292292461840592e-5,-5.251838399917288e-9,0.002784744078074569,1.0211053940810853e-5,-5.138017383006263e-9,0.0027848451722726508,1.004447040455388e-5,-4.905319130341186e-9,0.002784981869337182,9.796760182050914e-6,-4.559563393831464e-9,0.0027851859388087303,9.486172936094592e-6,-4.1260871182282976e-9,0.0027854820195520776,9.145128566965864e-6,-3.649923337373014e-9,0.0027858809685050146,8.817212839408479e-6,-3.1916519447886542e-9,0.002786374004344479,8.549858663854469e-6,-2.8172810988601715e-9,0.002786930516713693,8.38311526590999e-6,-2.5826759770245543e-9,0.0027875021251903167,8.337323332657525e-6,-2.5164033042951878e-9,0.002788033442730153,8.404341144331321e-6,-2.6074358965324996e-9,0.0027884768663511967,8.546587963184419e-6,-2.8036922561923524e-9,0.002788806444515096,8.705359435428541e-6,-3.023511191011914e-9,0.002789025898946628,8.816155454370437e-6,-3.1769693624562517e-9,0.00278916808580964,8.826174280013064e-6,-3.1902919454504053e-9,0.0027892861494492062,8.708654066453408e-6,-3.0259083522581603e-9,0.002789439024007953,8.46996585135858e-6,-2.6924102085292982e-9,0.0027896754169786063,8.14743898998842e-6,-2.2415918566646356e-9,0.002790020989298804,7.798481749683577e-6,-1.7533598997337004e-9,0.0027904727105389194,7.484380983397801e-6,-1.3132102122914294e-9,0.0027910019465777094,7.254182931369871e-6,-9.89761674395551e-10,0.0027915644996498075,7.133899378245067e-6,-8.196308089392246e-10,0.002792113334641582,7.123723332179867e-6,-8.034153427098901e-10,0.0027926094573086616,7.202432983697204e-6,-9.117101623954198e-10,0.002793028233302452,7.335726174669705e-6,-1.0966748720526548e-9,0.0027933609484635524,7.4849003149403414e-6,-1.3041707157630382e-9,0.002793613109513304,7.61360949860106e-6,-1.4832721372423023e-9,0.002793801331699417,7.692125726622039e-6,-1.5923023708007069e-9,0.0027939501157332436,7.699650544928369e-6,-1.602113739190793e-9,0.0027940890449749374,7.62559574208575e-6,-1.4978805430814948e-9,0.0027942502546082484,7.47061613566804e-6,-1.2805101597583769e-9,0.002794465545354246,7.247708832349798e-6,-9.681400023267961e-10,0.0027947623730721393,6.982972729165114e-6,-5.97180208495864e-10,0.002795158293619206,6.714815163187818e-6,-2.2122179168722028e-10,0.0027956544044971682,6.489842552957791e-6,9.465788350054435e-11,0.0027962298905296608,6.353985618709735e-6,2.862426270105938e-10,0.0027968413003591638,6.339329590931643e-6,3.085594249353236e-10,0.002797430023565606,6.450574770211097e-6,1.5483829055035215e-10,0.0027979381407812233,6.657939065789282e-6,-1.33481326751483e-10,0.0027983274370340884,6.9023050870562255e-6,-4.73865860969561e-10,0.0027985929487883057,7.112534229482264e-6,-7.668664513252449e-10,0.0027987644712778367,7.227889781129287e-6,-9.274873085756629e-10,0.002798895846497114,7.215922522318092e-6,-9.102130577481535e-10,0.0027990476214502418,7.07954168609196e-6,-7.189055791823305e-10,0.002799270159329704,6.8528184660678055e-6,-4.0097058487487015e-10,0.0027995921098042825,6.589150394962895e-6,-3.089155205840986e-11,0.0028000160559371254,6.346543838175632e-6,3.10246237176008e-10,0.0028005208861621384,6.174077528739478e-6,5.536306075559972e-10,0.002801069138807742,6.102332622183427e-6,6.561508599671992e-10,0.002801616887775129,6.139228531226112e-6,6.063570042587458e-10,0.0028021235424224794,6.271340195284573e-6,4.227738196672006e-10,0.0028025593261495505,6.469448209654452e-6,1.462323628969768e-10,0.002802909202716053,6.696171451931554e-6,-1.7081556781815749e-10,0.0028031732715659992,6.913472533175175e-6,-4.748902722777455e-10,0.002803364595060627,7.088522312131387e-6,-7.198047146353163e-10,0.002803505761944061,7.197381055746142e-6,-8.718919784335805e-10,0.002803625279954858,7.226791581760613e-6,-9.125259098952547e-10,0.0028037543398572442,7.1748236665111314e-6,-8.389867042693141e-10,0.0028039239008144736,7.051055423278122e-6,-6.646711695244907e-10,0.0028041616337651505,6.8765748079719594e-6,-4.190817695600791e-10,0.0028044880974484863,6.6835013555270844e-6,-1.471822583423747e-10,0.0028049117634366405,6.5130028002482435e-6,9.333211200818222e-11,0.002805423407949294,6.410183518830969e-6,2.391581525590211e-10,0.0028059919682429956,6.414458134729057e-6,2.348761811647254e-10,0.0028065656354558507,6.545964496883274e-6,5.204916047160679e-11,0.0028070820322286597,6.792467980851788e-6,-2.923256812302114e-10,0.0028074875111325586,7.1049452709561795e-6,-7.295484999982558e-10,0.002807758398439204,7.408801568743201e-6,-1.1549479735996095e-9,0.002807912309953183,7.629016879277494e-6,-1.4632184010996237e-9,0.0028080018600268285,7.717209899264664e-6,-1.5864308892715257e-9,0.00280809416469148,7.666574793887121e-6,-1.5149558263742769e-9,0.0028082476851966315,7.509156810078956e-6,-1.293585924107478e-9,0.0028084967768828226,7.300588647517751e-6,-1.0001414868267381e-9,0.002808847262739549,7.101610708252468e-6,-7.196587372359342e-10,0.0028092805508106752,6.9632211202788204e-6,-5.236849754708002e-10,0.0028097620700029556,6.9179843415002716e-6,-4.5813084509820613e-10,0.0028102506436204987,6.977109497128568e-6,-5.3909443895529e-10,0.002810706875116468,7.1318269763759485e-6,-7.546337294862254e-10,0.002811099653827845,7.357649721019065e-6,-1.0705937383009498e-9,0.0028114103186717213,7.620360090645017e-6,-1.4389400470211245e-9,0.0028116342841793644,7.882562522965005e-6,-1.8069960493090511e-9,0.002811780336556491,8.109700436176797e-6,-2.1259981185286337e-9,0.0028118681577567702,8.274759500587497e-6,-2.3578054290919355e-9,0.002811924804212133,8.361260065829955e-6,-2.479149299892737e-9,0.002811980892546883,8.36454527445245e-6,-2.4834224476780367e-9,0.0028120670235339054,8.291786877210306e-6,-2.380638941437992e-9,0.002812210545938763,8.161235186498023e-6,-2.196355734372293e-9,0.0028124324269317093,8.000947582996757e-6,-1.9699141477060387e-9,0.0028127438794841287,7.846806856187975e-6,-1.7517213264542863e-9,0.002813142552806622,7.739137129470781e-6,-1.5985536553676695e-9,0.002813608808015108,7.716755992795095e-6,-1.5652027889490953e-9,0.002814103934259319,7.807540942446503e-6,-1.6911479779159391e-9,0.0028145735374341036,8.016337002635303e-6,-1.9834359406417603e-9,0.0028149593679730016,8.31455967856922e-6,-2.4019489267911616e-9,0.0028152192752681693,8.639495206008205e-6,-2.858393347499628e-9,0.002815347491924279,8.910155826623826e-6,-3.238690313459153e-9,0.0028153820992645705,9.056877288906372e-6,-3.444739279219633e-9,0.0028153917225959865,9.049565373279847e-6,-3.434183721829044e-9,0.0028154478006963196,8.907688181128402e-6,-3.234368005566589e-9,0.0028155987912163055,8.687766600877536e-6,-2.924641731063571e-9,0.002815858796138938,8.458997654451106e-6,-2.6021037702235526e-9,0.0028162112125574854,8.281283974367032e-6,-2.3508457347741356e-9,0.002816620244870729,8.193045999255578e-6,-2.2249439851131193e-9,0.002817043196425516,8.208464494140208e-6,-2.2446042949535775e-9,0.0028174399451113383,8.320583317078408e-6,-2.4004250119473305e-9,0.0028177788955663485,8.506869283546043e-6,-2.661052702041974e-9,0.0028180401266746525,8.735196722855205e-6,-2.9814634943747566e-9,0.002818216618208338,8.969546300902432e-6,-3.3109360361838935e-9,0.0028183139820533165,9.175233421802618e-6,-3.600466281728827e-9,0.0028183488727125663,9.323413400084446e-6,-3.809217986798757e-9,0.0028183463049050498,9.39458305470024e-6,-3.90954465122841e-9,0.0028183361606477814,9.380837778898787e-6,-3.890194719106599e-9,0.002818349263122649,9.286671155840795e-6,-3.757406772881838e-9,0.002818413492033781,9.128333531433483e-6,-3.53396419516556e-9,0.0028185502773691137,8.932029054209705e-6,-3.2566550844126667e-9,0.0028187715560268277,8.731181934898563e-6,-2.972477812164968e-9,0.0028190771735186674,8.562773878565448e-6,-2.7335615331514525e-9,0.002819452811212173,8.462515809163019e-6,-2.5904087552382515e-9,0.0028198689659859892,8.458399189389392e-6,-2.5827732791303527e-9,0.0028202823760493027,8.562461789260582e-6,-2.7279409911836136e-9,0.0028206420530898016,8.76203294867925e-6,-3.0082465413739715e-9,0.0028209016970371353,9.01428419331315e-6,-3.3633026041725225e-9,0.0028210372630595158,9.250300643214355e-6,-3.695772409602383e-9,0.0028210625026776777,9.393515552182452e-6,-3.897503770163006e-9,0.0028210309762700552,9.388841811821506e-6,-3.890735771174717e-9,0.0028210180397079793,9.227581680220804e-6,-3.6632088806019304e-9,0.002821090430482207,8.951597895319539e-6,-3.273910330543877e-9,0.002821281364602508,8.633748034245999e-6,-2.8253997402826636e-9,0.0028215841712364,8.34816387734706e-6,-2.4219756103304343e-9,0.0028219629940235817,8.147536600047868e-6,-2.1378075495426764e-9,0.0028223698510740254,8.054819543764938e-6,-2.0053439921519466e-9,0.002822758897752516,8.06627654451556e-6,-2.0195926662397562e-9,0.0028230947143213737,8.159510301354147e-6,-2.149322407764077e-9,0.0028233554406812823,8.301852148391436e-6,-2.348744115947894e-9,0.00282353282593384,8.45708600749022e-6,-2.5668892800147934e-9,0.002823630975521782,8.590367413029983e-6,-2.754534233626674e-9,0.002823664602469181,8.671985233133684e-6,-2.869577271902303e-9,0.0028236568220320374,8.680413957217215e-6,-2.881448031847007e-9,0.002823636368151626,8.604700974308771e-6,-2.77454826352887e-9,0.00282363417253053,8.446003171394267e-6,-2.55042869198829e-9,0.0028236793809163405,8.217892940976991e-6,-2.2281801649158934e-9,0.0028237951897224314,7.945063459574405e-6,-1.8425677017566835e-9,0.0028239951055245996,7.660380146708828e-6,-1.4398777251617586e-9,0.0028242801645024245,7.40050743300998e-6,-1.0718072754261351e-9,0.0028246375107151937,7.200455492493439e-6,-7.878393942073073e-10,0.002825040666646605,7.087470503711195e-6,-6.266431600801484e-10,0.002825451877475943,7.074723084324243e-6,-6.071044899922806e-10,0.00282582713879414,7.155466286875476e-6,-7.199525343266866e-10,0.0028261246005233435,7.299190176080726e-6,-9.222045847808211e-10,0.00282631625064073,7.452589468357933e-6,-1.138486076576167e-9,0.002826400528199012,7.5487591099507736e-6,-1.2740885116638722e-9,0.002826410104662908,7.52604944408374e-6,-1.2417419852670848e-9,0.0028264072933222306,7.3519489307029926e-6,-9.95445629992879e-10,0.002826464019776748,7.0400481913062265e-6,-5.543990372405558e-10,0.0028266339859106117,6.6478080126638315e-6,2.5428477574195166e-13,0.002826932486316038,6.254009951919073e-6,5.573195548555597e-10,0.002827334926475173,5.928910433440534e-6,1.017639188279871e-9,0.0028277917797869642,5.7135131054699254E-06,1.3232757200131534e-9,0.002828248468891538,5.614983691413445e-6,1.4639603114758254e-9,0.0028286601533812237,5.614073569452187e-6,1.4666632447107474e-9,0.0028289983913868215,5.676607424183315e-6,1.379463686399024e-9,0.002829251626940915,5.763552361016194e-6,1.257411163440545e-9,0.0028294226533315623,5.8378051497912814e-6,1.1529709034080448e-9,0.002829525391442807,5.868127420486881e-6,1.1104318965864509e-9,0.002829581983388046,5.831461400637911e-6,1.162556397104102e-9,0.0028296201636700017,5.714584370675174e-6,1.3281613329217984e-9,0.0028296704970861516,5.515438234757098e-6,1.610201352537694e-9,0.0028297631021037386,5.243980536622576e-6,1.9945855887171813e-9,0.0028299236827314406,4.922012339098648e-6,2.4504737826893106e-9,0.0028301691569658544,4.581263003820374e-6,2.933023335426697e-9,0.0028305037217332307,4.259296600010102e-6,3.3891673170969797e-9,0.002830916459461489,3.993408191619676e-6,3.766190530193445e-9,0.0028313814792820546,3.8133369601973606e-6,4.021977064794002e-9,0.0028318611572783646,3.7341893056990802e-6,4.135010647324168e-9,0.0028323123871055148,3.7511839643312496e-6,4.1118687449955575e-9,0.002832695135207755,3.837639289960757e-6,3.990171251095755e-9,0.0028329821184355144,3.947374265896908e-6,3.835263147375323e-9,0.0028331678013638183,4.02244680576321e-6,3.7292680413861366e-9,0.002833273994081028,4.0063226672806816e-6,3.752376733977591e-9,0.0028333486086335536,3.8605677828823e-6,3.959124752584863e-9,0.0028334548656437477,3.5800588386143807e-6,4.356815088093346e-9,0.0028336519146150165,3.199196575199989e-6,4.896744085319297e-9,0.002833973775156948,2.7832242943678695e-6,5.486528461109836e-9,0.002834417043797699,2.4062456980927005e-6,6.021220646396547e-9,0.002834944056387233,2.1262318186002894e-6,6.418661302859258e-9,0.0028354988875670265,1.969203084860813e-6,6.641874660667108e-9,0.0028360266300474844,1.927913656213458e-6,6.70098348403756e-9,0.0028364871221820765,1.971420933258333e-6,6.639725869469694e-9,0.0028368601012207684,2.0580493155069e-6,6.517137481949485e-9,0.002837143798391918,2.146084523307919e-6,6.392404569592256e-9,0.0028373505649315713,2.200262702481213e-6,6.315634711039505e-9,0.0028375022225614853,2.194747581939334e-6,6.323580516384682e-9,0.002837626278744532,2.1141632193792574e-6,6.438118184879123e-9,0.002837752983195648,1.9539503821470446e-6,6.665710573780227e-9,0.002837912672316925,1.720635357079953e-6,6.997035491702147e-9,0.0028381327625960472,1.4319563558805509e-6,7.406851308263388e-9,0.0028384339774149996,1.1162175023410766e-6,7.85496469067567e-9,0.0028388259645027686,8.098741102245192e-7,8.289678744088075e-9,0.0028393032769971362,5.525056854996284e-7,8.654901931555912e-9,0.002839843390194472,3.791424868007549e-7,8.900980702450035e-9,0.0028404085467517684,3.1124743347196077e-7,8.997452128487504e-9,0.002840952357445899,3.4901622113740223e-7,8.943973785765355e-9,0.002841430295633725,4.68119085106208e-7,8.775000509935415e-9,0.0028418113735728568,6.229385663401742e-7,8.555251582211405e-9,0.0028420874546643236,7.562180083845292e-7,8.366042862071104e-9,0.002842277186103206,8.12928826496597e-7,8.28557717186452e-9,0.0028424229792514757,7.548341939316745e-7,8.368220742089385e-9,0.0028425812098529235,5.718152359385369e-7,8.628388634888865e-9,0.002842807562695609,2.864119988032696e-7,9.034090564959052e-9,0.0028431411958904427,-5.075784686922267e-8,9.513435790152513e-9,0.002843592795816794,-3.745954342178899e-7,9.973922781259542e-9,0.00284414136383234,-6.243541079214667e-7,1.0329162879331443e-8,0.0028447415293055118,-7.608178796241404e-7,1.0523290713005752e-8,0.0028453383289325533,-7.7516339165713e-7,1.0543619193061516e-8,0.0028458829874018483,-6.870431643594794e-7,1.0418002465363624e-8,0.002846343745861855,-5.347045473568402e-7,1.0200845400060194e-8,0.002846709393672464,-3.626758819940621e-7,9.955588339874181e-9,0.0028469868913886353,-2.1168976993434465e-7,9.740321417669294e-9,0.0028471961486281772,-1.1277953739782726e-7,9.5993194186896e-9,0.002847364587199702,-8.507667609072321e-8,9.559858106078426e-9,0.0028475227795878447,-1.357926730672906e-7,9.63217247842041e-9,0.0028477012760148397,-2.6098770439544055e-7,9.810568108142715e-9,0.0028479280799226956,-4.4634904759132186e-7,1.0074568307647262e-8,0.002848226026012085,-6.678989044547163e-7,1.038996413878128e-8,0.002848609485491815,-8.932110104100397e-7,1.0710570698878495e-8,0.0028490803883028048,-1.08421348997412e-6,1.0982211998329638e-8,0.0028496244808374053,-1.2027066912850638e-6,1.1150545368581883e-8,0.0028502098087099434,-1.2189535497820264e-6,1.117325646547346e-8,0.0028507899812964224,-1.1218694346857707e-6,1.1034558640475975e-8,0.0028513137786630493,-9.269848437980516e-7,1.0756559639854864e-8,0.0028517396184371633,-6.772541783626091e-7,1.040045521595228e-8,0.002852049745857075,-4.3383629160081065e-7,1.0053410747715433e-8,0.002852257667938162,-2.588555502582333e-7,9.80397507841194e-9,0.0028524050176591494,-1.966808876808624e-7,9.715373390453078e-9,0.002852549088431962,-2.610733914805113e-7,9.807193562515353e-9,0.002852746181827145,-4.3236107396414083e-7,1.0051389365553414e-8,0.002853036583500799,-6.643300296990387e-7,1.0382115635541902e-8,0.0028534351813685878,-8.975086395893872e-7,1.0714629219647167e-8,0.002853929365115319,-1.0745790729053187e-6,1.096719853065988e-8,0.0028544839144717562,-1.1539281212368752e-6,1.1080391616891132e-8,0.002855051068247713,-1.1181731669905117e-6,1.1029268499031812e-8,0.002855582768565016,-9.75875355579879e-7,1.0825912624788529e-8,0.0028560415652221956,-7.566392276976092e-7,1.051252610395587e-8,0.0028564073406055135,-5.018534207721013e-7,1.0148247915315251e-8,0.002856678785926064,-2.5444286344771827e-7,9.794490668368394e-9,0.002856870524742683,-5.058886026101649e-8,9.503046426891806e-9,0.002857007914873242,8.512852095070961e-8,9.30908662963937e-9,0.0028571215454132087,1.412895044493818e-7,9.22891211852966e-9,0.002857242681589101,1.1896856287060092e-7,9.260923881079643e-9,0.0028573999738171854,3.009713316077348e-8,9.38800232202608e-9,0.0028576170512156747,-1.0428600410014353e-7,9.580041432918065e-9,0.002857910332403342,-2.5568229132032263e-7,9.796312889070212e-9,0.002858286478980994,-3.900984786692505e-7,9.988259642955946e-9,0.002858739364701392,-4.712582429285285e-7,1.0104059717794627e-8,0.00285924729195101,-4.661759280679692e-7,1.0096572400747676e-8,0.002859772355326098,-3.5361998523694726e-7,9.935435750221926e-9,0.0028602647405304277,-1.3415193562808552e-7,9.621442048735044e-9,0.0028606740590430527,1.6248167838119398e-7,9.197139078236257e-9,0.0028609662384943444,4.78853899398024e-7,8.74468806781909e-9,0.002861139063409164,7.44255750862787e-7,8.365236229068475e-9,0.002861226934688806,8.984655386532225e-7,8.144871394043985e-9,0.002861290126468282,9.137233591571715e-7,8.123196247026203e-9,0.0028613933351704225,8.035260371148903e-7,8.280824203979028e-9,0.002861584483698411,6.150660520729815e-7,8.55027050948895e-9,0.0028618827041504077,4.113854839993796e-7,8.841474477305177e-9,0.0028622775767180642,2.524378755512151e-7,9.068802254899132e-9,0.0028627363987564036,1.8135003911035153e-7,9.17060221962431e-9,0.0028632149243848224,2.1781405590917407e-7,9.118624569170666e-9,0.002863668101326738,3.577669060595684e-7,8.918529212376947e-9,0.0028640588395250108,5.775725882547501e-7,8.603998240368662e-9,0.002864363874395403,8.409557603452859e-7,8.226895323903023e-9,0.002864576317683268,1.1070964706719793e-6,7.845700967819764e-9,0.0028647049562361203,1.3383042800297684e-6,7.514484405755572e-9,0.0028647709664122996,1.505912805444349e-6,7.274393180785887e-9,0.0028648031644739605,1.5936658590036488e-6,7.148753085068565e-9,0.0028648329825001757,1.5985844872876452e-6,7.141820831205116e-9,0.0028648901078107145,1.5298597346848266e-6,7.240401923975936e-9,0.0028649992237887115,1.40662889791498e-6,7.417073022953166e-9,0.002865177723667968,1.255395999935133e-6,7.63388684017037e-9,0.002865433962330402,1.1074017364182093e-6,7.84611558047985e-9,0.0028657656359532793,9.9575507730559e-7,8.006322067477023e-9,0.002866158158739561,9.517297115380463e-7,8.069644697438206e-9,0.0028665835690910722,9.99411061201828e-7,8.001485323787432e-9,0.0028670015032235038,1.1483302317519537e-6,7.788115041184415e-9,0.002867364559705957,1.3852827350377053e-6,7.448455109494122e-9,0.0028676299233594852,1.6691386030128764e-6,7.041536345565719e-9,0.0028677759678411305,1.9347439744128324e-6,6.660862146080923e-9,0.0028678167309223023,2.1103546939003207e-6,6.409323306547407e-9,0.0028678034788689843,2.144698261273195e-6,6.3603400593137696e-9,0.0028678078376921227,2.029720577821034e-6,6.525302617003996e-9,0.0028678938191672595,1.8044434865642015e-6,6.8481776203151215e-9,0.002868094666236441,1.5376263800915127e-6,7.230454856236507e-9,0.002868405913933894,1.3009574329347206e-6,7.569539411050057e-9,0.0028687938676968555,1.1474463535309566e-6,7.789602788927635e-9,0.002869210861589051,1.1019524188615657e-6,7.855057338570128e-9,0.002869609334325944,1.1622461307956396e-6,7.769013139741857e-9,0.002869951231852881,1.3057241037395412e-6,7.563711223382599e-9,0.002870212677215331,1.4976923875705954e-6,7.288744102079043e-9,0.002870385194690064,1.699062535904297e-6,7.000097817318875e-9,0.002870474725317542,1.8727935944983242e-6,6.75093165594071e-9,0.002870499135165648,1.988954290042755e-6,6.584275013804583e-9,0.00287048464138741,2.0282382639665136e-6,6.527917653518532e-9,0.0028704616140799583,1.9837809533528225e-6,6.5917562221991524E-09,0.0028704602549171655,1.8612665906276216e-6,6.767640226165102e-9,0.002870506668811975,1.6774673462495774e-6,7.031500508441279e-9,0.0028706197689758587,1.457604560662817e-6,7.34716419913411e-9,0.0028708091655566463,1.2320673332684813e-6,7.671058717135242e-9,0.0028710739127016565,1.0328358362055718e-6,7.957305852913069e-9,0.0028714019528153388,8.896734068155328e-7,8.163146833604354e-9,0.0028717702214416355,8.259448522978371e-7,8.254940922690583e-9,0.0028721457505871515,8.537612288983449e-7,8.215181934479207e-9,0.0028724887943640687,9.684630238408015e-7,8.050494120702066e-9,0.0028727594429303256,1.1436800035455436e-6,7.798780069504199e-9,0.0028729285817180555,1.3300651297795598e-6,7.531028042365649e-9,0.0028729915695690435,1.462263368762386e-6,7.341218977444032e-9,0.002872978448805743,1.4772429274966988e-6,7.3198920236120235e-9,0.002872951252863827,1.339998687991839e-6,7.517195289934864e-9,0.0028729836176172785,1.0630678713911078e-6,7.914951705548082e-9,0.0028731308183241877,7.051695488262558e-7,8.42876029911416e-9,0.0028734078884947605,3.473260311513201e-7,8.942348496380804e-9,0.0028737882087745852,6.114666054513867e-8,9.353047158655345e-9,0.002874219668384876,-1.1272126322969022e-7,9.602619303010073e-9,0.0028746456433421104,-1.6888577001482716e-7,9.683354937474298e-9,0.002875020314855133,-1.291094150016922e-7,9.626438926383505e-9,0.00287531548780091,-3.018828501717634e-8,9.484597230108128e-9,0.0028755210579180877,8.668647485398011e-8,9.31689120875924e-9,0.0028756422882183752,1.8328829012502568e-7,9.178200849892443e-9,0.002875696134402279,2.288312141503027e-7,9.112800066087184e-9,0.002875707547399061,2.025805089596482e-7,9.150562494597015e-9,0.002875705846174958,9.52630333672185e-8,9.304873938120105e-9,0.0028757210926035038,-9.052120703341189e-8,9.57200496741452e-9,0.0028757804866157105,-3.4091383411167794e-7,9.932003851136088e-9,0.002875904942563708,-6.325855214179894e-7,1.035130470799866e-8,0.0028761062305016523,-9.357358663929467e-7,1.0787070613173603e-8,0.002876385114451254,-1.2180331505464313e-6,1.1192851470911072e-8,0.002876730724811969,-1.4490859095561661e-6,1.1524975361779462e-8,0.002877121258656621,-1.6050876840491572e-6,1.174919121731711e-8,0.002877526072604426,-1.6732673197605107e-6,1.1847070930135468e-8,0.0028779092664162932,-1.6557908710847165e-6,1.1821668584018685e-8,0.0028782350578963945,-1.5726563757144414e-6,1.1701746720225946e-8,0.002878475324870978,-1.4624372605699738e-6,1.1542873713258664e-8,0.0028786189483200725,-1.3787231489666856e-6,1.1422265207849368e-8,0.002878680701003052,-1.3798468481290254e-6,1.1423915368175761e-8,0.002878704787159146,-1.5113471987390404e-6,1.1613291349036044e-8,0.002878756903957089,-1.785757177929549e-6,1.2008265758302951e-8,0.002878902862502164,-2.1705939820080316e-6,1.2561939708202041e-8,0.0028791817969540797,-2.5954920375929927e-6,1.3173007501556022e-8,0.002879589402551466,-2.9784185508799e-6,1.3723483959784089e-8,0.0028800817252932734,-3.2567032182663314e-6,1.4123284543802338e-8,0.0028805956227206074,-3.4055518723271702e-6,1.4336808076009957e-8,0.00288107208392016,-3.4376003397330977e-6,1.4382284035630344e-8,0.0028814710783001875,-3.3898579305011365e-6,1.43129954824349e-8,0.0028817755563885373,-3.3082580675083343e-6,1.4195060433588716e-8,0.002881988308033612,-3.2361154678533363e-6,1.4090836012607044e-8,0.0028821262129773463,-3.207791533507497e-6,1.4049812193983022e-8,0.0028822147082530657,-3.246215519180097e-6,1.4105033781258338e-8,0.0028822834027905776,-3.36241780936278e-6,1.4272395487930903e-8,0.002882362616150177,-3.5558741422002764e-6,1.4551103140709693e-8,0.0028824803465096684,-3.815258525621979e-6,1.4924750790070064e-8,0.002882659335415783,-4.119686711663455e-6,1.5363142882474208e-8,0.0028829141547347752,-4.440809412356523e-6,1.5825359058537653e-8,0.0028832486380844327,-4.746136382797398e-6,1.626457640078978e-8,0.0028836543274357697,-5.003595714935634e-6,1.6634632356475022e-8,0.0028841105948802857,-5.186858658952929e-6,1.6897660746955784e-8,0.0028845868380229104,-5.280659678729527e-6,1.703172244416492e-8,0.0028850468268388713,-5.285119178421869e-6,1.703703042675255e-8,0.0028854548808014517,-5.2180136555174015e-6,1.693924927655556e-8,0.00288578318588404,-5.1141539701945615e-6,1.678862920440044e-8,0.0028860192930803964,-5.021207939658294e-6,1.6653980349342108e-8,0.0028861723562649236,-4.991365507388845e-6,1.6610608238690897e-8,0.0028862757956466495,-5.06888921218822e-6,1.6722303008240677e-8,0.0028863833910300974,-5.2754810860775145e-6,1.7020219754766915e-8,0.002886556622110814,-5.598336802918629e-6,1.7485702072118628e-8,0.0028868448006271175,-5.988001271290007e-6,1.804727106737048e-8,0.0028872654738177545,-6.371171534302883e-6,1.8599132347397268e-8,0.002887795844354059,-6.675623117016277e-6,1.903710691825924e-8,0.0028883812762736244,-6.855447025490349e-6,1.9295003604406827e-8,0.0028889563468819752,-6.903610854021034e-6,1.9362747686658358e-8,0.0028894665800328696,-6.847559620219423e-6,1.9280059028761153e-8,0.0028898810668172878,-6.734011844686922e-6,1.911450684067196e-8,0.0028901940052642504,-6.612662324206851e-6,1.893795127279494e-8,0.0028904191547270935,-6.524988204859821e-6,1.881034874825922e-8,0.002890582222841485,-6.4992181867616665e-6,1.8772471855239283e-8,0.0028907142743236822,-6.549601240706169e-6,1.8844849350322546e-8,0.0028908470537224477,-6.677663335062472e-6,1.9029580088897277e-8,0.0028910098168515577,-6.87394958687946e-6,1.9312855656179486e-8,0.0028912269035187145,-7.1197167658875545e-6,1.966742957177217e-8,0.0028915154465618195,-7.388703555439692e-6,2.0055217248474415e-8,0.002891882983346302,-7.649501334948221e-6,2.0430764834169687e-8,0.002892325261621495,-7.869140909601243e-6,2.0746451553512368e-8,0.002892825069667161,-8.018140622490618e-6,2.095977025193972e-8,0.0028933531569161294,-8.0765493987099e-6,2.1042023401707183e-8,0.0028938720607829473,-8.039749741569616e-6,2.0986676926427616e-8,0.002894342905333149,-7.92219781746215e-6,2.081475472290096e-8,0.0028947341280570267,-7.757261613370963e-6,2.0574609101836252e-8,0.0028950300744023127,-7.592178937176516e-6,2.033462657209387e-8,0.0028952370056188714,-7.47855706718128e-6,2.0169463592427875e-8,0.0028953844081573035,-7.460137255342665e-6,2.0142316838205095e-8,0.00289552034348127,-7.560525475110968e-6,2.0287169809216575e-8,0.0028957008077851775,-7.774273461944861e-6,2.0595931401456922e-8,0.0028959747760086865,-8.06484752748952e-6,2.1015565228355683e-8,0.0028963687909720668,-8.37202856618837e-6,2.1458840848969644e-8,0.002896876822197008,-8.628384556733143e-6,2.1828161536226112e-8,0.002897460687328443,-8.779917072525279e-6,2.2045408873836965e-8,0.0028980621551318326,-8.802502597728348e-6,2.207573173944743e-8,0.002898621746734977,-8.706920074860234e-6,2.1934852495291796e-8,0.0028990957821008693,-8.531279911183452e-6,2.1678125082780306e-8,0.002899465167343782,-8.326114196731398e-6,2.137891611386844e-8,0.0028997348041497496,-8.13959047569529e-6,2.110712912790612e-8,0.002899926963249216,-8.007836040779991e-6,2.091513975889782e-8,0.002900073067994656,-7.951291908204955e-6,2.0832502054918495e-8,0.002900206831484279,-7.975306429587075e-6,2.0866828269500727e-8,0.002900359629928538,-8.072622529241776e-6,2.1007425546019428e-8,0.0029005576921144888,-8.226159990315293e-6,2.1229360644075667e-8,0.0029008202589749987,-8.411462892954981e-6,2.1497037476612273e-8,0.0029011579526491515,-8.59892006014462e-6,2.176744153154923e-8,0.0029015709907129882,-8.756361710375036e-6,2.1993920303424827e-8,0.002902047505571332,-8.85279154909494e-6,2.2131593765595492e-8,0.0029025628872768883,-8.863671727157463e-6,2.2145000075912374e-8,0.0029030815052825793,-8.777345014016352e-6,2.2017385091665053e-8,0.0029035620496829224,-8.600986341434939e-6,2.175931513310784e-8,0.002903966637114285,-8.363362576374002e-6,2.141266869690318e-8,0.0029042717781266334,-8.111634884846253e-6,2.1045980547935134e-8,0.002904477372654277,-7.901280532790563e-6,2.073978444425112e-8,0.002904609628244343,-7.781372369153714e-6,2.0565217145761693e-8,0.002904715791276944,-7.780057503835996e-6,2.056294239996993e-8,0.0029048518634546975,-7.895457374774159e-6,2.0729997122619613e-8,0.0029050672122561154,-8.095212921731798e-6,2.1019213111936452e-8,0.0029053908949938285,-8.324795261790677e-6,2.1351336711916632e-8,0.002905823673533291,-8.52201545814966e-6,2.1636089845854755e-8,0.0029063379482547036,-8.63355664871243e-6,2.1796127132877224e-8,0.00290688567731947,-8.628754999473182e-6,2.178700899956975e-8,0.002907411886688896,-8.506448804640417e-6,2.1607149038605026e-8,0.002907869313118284,-8.29292031099503e-6,2.1294847433827952e-8,0.002908229337953015,-8.032291094367549e-6,2.0914343210019756e-8,0.002908486197412823,-7.773494661513888e-6,2.0536855496935417e-8,0.0029086544808403334,-7.5585686559262325e-6,2.0223523711567358e-8,0.0029087623904295403,-7.415402414785589e-6,2.001484051067057e-8,0.002908843981353781,-7.35553482324306e-6,1.9927459583560743e-8,0.002908932726752054,-7.375649943051864e-6,1.9956406208574644e-8,0.0029090572536835126,-7.460809532075294e-6,2.0079817615799907e-8,0.002909238952715364,-7.5879228762615555e-6,2.0264014865399943e-8,0.0029094906884145105,-7.728775534689363e-6,2.0467914700593435e-8,0.0029098158523242937,-7.852662044244406e-6,2.064685157630933e-8,0.002910207338650096,-7.929175550194102e-6,2.0756624253538985e-8,0.0029106466203267355,-7.931911576665453e-6,2.0758877958416994e-8,0.002911103814377557,-7.843588459108618e-6,2.062855490190973e-8,0.0029115402023730556,-7.66224497593975e-6,2.0362916420013977e-8,0.002911914696322001,-7.406730952055019e-6,1.998953139422466e-8,0.0029121945161994208,-7.118129171687856e-6,1.9568325801371748e-8,0.0029123675377467186,-6.853478439441242e-6,1.918239985768633e-8,0.002912450734123804,-6.670885447814342e-6,1.8916298524169225e-8,0.002912488859188778,-6.610394269086291e-6,1.88281387438807e-8,0.0029125417695362995,-6.679120462312963e-6,1.8928018749465943e-8,0.0029126652147423104,-6.848070988212437e-6,1.9173497757355166e-8,0.0029128935517388484,-7.061935206702308e-6,1.9483944368025575e-8,0.002913231037578079,-7.256695642236208e-6,1.9766193972595816e-8,0.0029136533209005457,-7.377571585707302e-6,1.9940619511564884e-8,0.0029141165252539614,-7.391701575272796e-6,1.9959524190801965e-8,0.0029145697689046887,-7.293322714917477e-6,1.981463990082668e-8,0.0029149673788549375,-7.1018310443380406e-6,1.953430007430907e-8,0.002915278149714961,-6.8545563898393026e-6,1.9172935518929185e-8,0.002915490151865234,-6.596725101954491e-6,1.8796465187354656e-8,0.0029156107375936115,-6.371248850546456e-6,1.846741356078346e-8,0.002915662539790091,-6.210673245514143e-6,1.8233164243708407e-8,0.0029156771594396804,-6.1327104522359935e-6,1.8119444504375368e-8,0.002915688499493966,-6.139498762978267e-6,1.812926086634637e-8,0.0029157272510905927,-6.219687203803143e-6,1.824596696099231e-8,0.0029158172217261446,-6.3520114728173305e-6,1.843850247261238e-8,0.002915973412501954,-6.5091582694995025e-6,1.8667034188020637e-8,0.0029162012640837876,-6.6612268782975755e-6,1.888798608393158e-8,0.0029164964235661433,-6.778735787311186e-6,1.9058396783844645e-8,0.002916844658644618,-6.835584702079287e-6,1.91402221340199e-8,0.0029172220097263466,-6.812552966048134e-6,1.910544630322981e-8,0.002917595884444303,-6.7017614420562816e-6,1.8942618913472558e-8,0.002917928412307093,-6.511815863831633e-6,1.8664385893287575e-8,0.00291818347875855,-6.2719153866716e-6,1.8313480562819844e-8,0.002918337682433519,-6.031490122748525e-6,1.7962147335797165e-8,0.002918392453911434,-5.8514246809711895e-6,1.7699255420367632e-8,0.0029183808220965175,-5.785913109725185e-6,1.760375851831056e-8,0.002918361694896576,-5.860827931022856e-6,1.7713146738291097e-8,0.0029184005478205227,-6.060277614749884e-6,1.8003943123245615e-8,0.0029185450818061424,-6.330635628385983e-6,1.8397723097046376e-8,0.002918808813042895,-6.6005652769916755e-6,1.8790403319492904e-8,0.002919169951357401,-6.805733183674234e-6,1.908827114831872e-8,0.0029195829508730235,-6.906435273516535e-6,1.92336174657321e-8,0.002919994648581057,-6.893430674434389e-6,1.9213166424777753e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json new file mode 100644 index 000000000..7805bb3bf --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":2000,"numberOfSamples":1000,"samples":[-0.0019226433452019043,-4.2400202047522655e-5,-4.847209139509104e-8,-0.0019224915279308452,-4.232138293995991e-5,-4.839917575682174e-8,-0.0019223575599970867,-4.2339533342532786e-5,-4.841941987929699e-8,-0.0019221925201880694,-4.2455757141232014e-5,-4.853500256368106e-8,-0.0019219535221161883,-4.264378690983704e-5,-4.87214377132331e-8,-0.0019216173050324704,-4.285653639574512e-5,-4.893368444013015e-8,-0.0019211878632388768,-4.304035090341533e-5,-4.911986351109583e-8,-0.0019206944269591652,-4.3151566455827686e-5,-4.923733483565604e-8,-0.001920180782153211,-4.316840557061996e-5,-4.9264336921476375e-8,-0.0019196912154135558,-4.3093903838697776e-5,-4.920299044056076e-8,-0.001919259170950511,-4.2950548434361e-5,-4.9074301884897993e-8,-0.0019189019210674083,-4.277089886837732e-5,-4.8909249976046343e-8,-0.0019186208521778832,-4.258868047478004e-5,-4.8740241599705884e-8,-0.001918404926768647,-4.243272605567538e-5,-4.859521792579728e-8,-0.0019182349450095773,-4.2323928794774185e-5,-4.849461482060666e-8,-0.0019180872700253946,-4.2274266862589164E-05,-4.8450338629402915e-8,-0.001917936666180632,-4.228680533004299e-5,-4.846574052979398e-8,-0.00191775854316843,-4.2355896173164964e-5,-4.8535824807684226e-8,-0.0019175311877270766,-4.246735024004276e-5,-4.864742159638906e-8,-0.0019172384671460499,-4.25989290061144e-5,-4.877961167038227e-8,-0.0019168730864799963,-4.2721876682799584e-5,-4.890508625070886e-8,-0.0019164398837302117,-4.280432151427329e-5,-4.8993279677066866e-8,-0.0019159579014177714,-4.281706315274191e-5,-4.901583883335078e-8,-0.0019154594243000278,-4.27412144250086e-5,-4.8953968414289994e-8,-0.001914984557283099,-4.2575562469439085e-5,-4.880561552483321e-8,-0.0019145716125768752,-4.234039279521026e-5,-4.858934382627422e-8,-0.0019142459086730812,-4.207501807745824e-5,-4.834220694952108e-8,-0.0019140111182697102,-4.1828569489815494e-5,-4.811113500434928e-8,-0.0019138468399848853,-4.1646650455964184e-5,-4.794024685992306e-8,-0.0019137136475314569,-4.155842585264431e-5,-4.785840090516636e-8,-0.0019135639168575628,-4.156847538008292e-5,-4.787112479174571e-8,-0.001913354878178476,-4.165575436672902e-5,-4.795925785880041e-8,-0.001913060039736298,-4.1779660100407035e-5,-4.808445425303678e-8,-0.0019126758326174886,-4.189128905126362e-5,-4.8199834042895305e-8,-0.0019122216639617473,-4.194655693717889e-5,-4.8262624541360104e-8,-0.0019117335388331718,-4.191721880810053e-5,-4.8244930247959284e-8,-0.0019112535774869718,-4.17965282482666e-5,-4.8139407883790543e-8,-0.0019108191058004997,-4.159831661316574e-5,-4.795859671838348e-8,-0.001910454761111615,-4.13507805095086e-5,-4.7729094163578805e-8,-0.0019101693588310655,-4.108797784158734e-5,-4.74834365018481e-8,-0.0019099571113809235,-4.084210928294797e-5,-4.725264424568893e-8,-0.0019098014051956349,-4.06383521782112e-5,-4.706116300989979e-8,-0.001909679232807439,-4.049244367589526e-5,-4.6924445600308274e-8,-0.0019095650792493577,-4.041027304587661e-5,-4.684851156054176e-8,-0.0019094338706790138,-4.038850509596943e-5,-4.6830551880131895e-8,-0.0019092631960406178,-4.041545998091156e-5,-4.685979719885473e-8,-0.0019090353342274217,-4.0471961726856714e-5,-4.691831881589462e-8,-0.0019087395911655302,-4.053242839868951e-5,-4.698199191766588e-8,-0.0019083750969175394,-4.0566889485238066e-5,-4.7022295836454817e-8,-0.0019079535950202848,-4.05448090409642e-5,-4.7009857068801336e-8,-0.0019075008929219535,-4.0441352326518995e-5,-4.692041592595363e-8,-0.0019070548602137859,-4.024557340002766e-5,-4.674274417153859e-8,-0.0019066581194424014,-3.996789525520936e-5,-4.648596905336088e-8,-0.0019063458229643833,-3.964246667720178e-5,-4.618202616974119e-8,-0.001906132593687367,-3.932066250072738e-5,-4.5879631296205274e-8,-0.001906005112413036,-3.9056140911694693e-5,-4.563013841888741e-8,-0.0019059250849624966,-3.888725831245831e-5,-4.547077730150599e-8,-0.0019058418160187416,-3.882488208844757e-5,-4.541289156609024e-8,-0.0019057084893034362,-3.885058262649113e-5,-4.5439933455113804e-8,-0.0019054953071705263,-3.892448678948119e-5,-4.551462448108332e-8,-0.0019051956015066044,-3.899818092129441e-5,-4.559102248754266e-8,-0.001904824751066378,-3.902764552633575e-5,-4.562680789434229e-8,-0.0019044139453100216,-3.898286178877979e-5,-4.5592592314242095e-8,-0.0019040014133682513,-3.8852641286461894e-5,-4.547679044559279e-8,-0.0019036234930003598,-3.864464423892581e-5,-4.5285911009026024e-8,-0.0019033074182967,-3.838144973804248e-5,-4.504099501526467e-8,-0.0019030670807785748,-3.809414814477403e-5,-4.477156044224583e-8,-0.0019029021776647626,-3.7815292683842436e-5,-4.4508817510060506e-8,-0.001902800227035411,-3.757290803529455e-5,-4.427982585191298e-8,-0.0019027403062597105,-3.738655521525043e-5,-4.410361508352597e-8,-0.0019026972766109718,-3.726562021454014e-5,-4.3989482282936625e-8,-0.0019026455605967178,-3.720939282853564e-5,-4.393706825168861e-8,-0.001902562049494492,-3.720819681311018e-5,-4.393747898583925e-8,-0.0019024282429587474,-3.7244887169539354e-5,-4.397474157144386e-8,-0.0019022320167928473,-3.7296417780327447e-5,-4.402726172840666e-8,-0.0019019694121183246,-3.733563521997301e-5,-4.406942025345132e-8,-0.0019016466101295054,-3.7333817380047615e-5,-4.4073850286943826e-8,-0.001901281721675244,-3.72647279533573e-5,-4.401521158739995e-8,-0.0019009051492186858,-3.7110772537172744e-5,-4.387608872624823e-8,-0.0019005564761927897,-3.687070357499274e-5,-4.365449081610721e-8,-0.0019002760006965934,-3.656614621766662e-5,-4.3370288285066725e-8,-0.0019000913323042824,-3.624205466668279e-5,-4.306583828633659e-8,-0.0019000039601944792,-3.5956706816941076e-5,-4.279656932567122e-8,-0.0018999840816792122,-3.576226105855051e-5,-4.261250079410351e-8,-0.0018999792883793371,-3.568461104514584e-5,-4.253901137884262e-8,-0.001899933981398471,-3.5713853399087564e-5,-4.2567602344540055e-8,-0.0018998090711157681,-3.581022732657273e-5,-4.266128735242672e-8,-0.0018995924498515157,-3.5920529128532807E-05,-4.27699363285063e-8,-0.0018992979805863262,-3.599552540735251e-5,-4.284667515898346e-8,-0.001898956996465333,-3.60016505232314e-5,-4.2859033641491364e-8,-0.0018986077115788766,-3.5925404995038095e-5,-4.2793327231141533e-8,-0.0018982861274868695,-3.5772115322624845e-5,-4.2653762704726326e-8,-0.0018980197803509253,-3.556151123416992e-5,-4.245848237196928e-8,-0.0018978243192027849,-3.532201505409536e-5,-4.2234258129154944e-8,-0.0018977025183165013,-3.5084842908056075e-5,-4.201085903922587e-8,-0.001897645338891351,-3.487865622253372e-5,-4.181584089370757e-8,-0.001897634548299051,-3.472539749417785e-5,-4.1670438822720854e-8,-0.0018976462592206278,-3.4637684651986404E-05,-4.158699002545304e-8,-0.0018976547528813345,-3.461783260192269e-5,-4.156798431104482e-8,-0.0018976360025567379,-3.465835456450116e-5,-4.160658512785339e-8,-0.0018975704668702292,-3.474353699435762e-5,-4.168818028849286e-8,-0.0018974450856599756,-3.485154582856132e-5,-4.179238643199875e-8,-0.0018972547032642363,-3.4956750270050015e-5,-4.189517808310863e-8,-0.0018970031462578617,-3.5032293373468896e-5,-4.1971187462921197e-8,-0.001896704041121835,-3.5053177068163955e-5,-4.199649895495414e-8,-0.0018963811064912409,-3.500033872352196e-5,-4.195247884233675e-8,-0.0018960669388229457,-3.486606242620335e-5,-4.183101890714069e-8,-0.0018957986732221059,-3.466005594878666e-5,-4.1640536726904226e-8,-0.0018956091571617987,-3.441367338006517e-5,-4.141024300465335e-8,-0.0018955143084655717,-3.417789714991304e-5,-4.11883959487616e-8,-0.0018955015199407235,-3.401103934461799e-5,-4.103064766105313e-8,-0.0018955276091062383,-3.395751831846302e-5,-4.097979506922786e-8,-0.0018955320612609062,-3.4027724788744977e-5,-4.104650552871127e-8,-0.001895460925824634,-3.419213691026499e-5,-4.120354608540807e-8,-0.0018952876637236959,-3.439431347479264e-5,-4.139792350116541e-8,-0.0018950194973305701,-3.4574094187676726e-5,-4.157273141268476e-8,-0.00189468901820827,-3.468727701743215e-5,-4.168573954249668e-8,-0.0018943393648524587,-3.471417304124221e-5,-4.171758103848185e-8,-0.001894011175966523,-3.4658126432902484e-5,-4.1670568510380554e-8,-0.0018937347654549707,-3.4538913747532676e-5,-4.156270803527193e-8,-0.0018935271586108895,-3.438520384909261e-5,-4.1420753571334326e-8,-0.0018933922404869188,-3.4228171385826936e-5,-4.127420869753851e-8,-0.0018933224519850319,-3.409667569558539e-5,-4.115067186901395e-8,-0.001893301244193991,-3.40137190510597e-5,-4.10723266568858e-8,-0.0018933060255165923,-3.399399788202456e-5,-4.105348708812609e-8,-0.0018933114133081418,-3.404253904550354e-5,-4.109924608197351e-8,-0.0018932925837213562,-3.415443233452324e-5,-4.120524021833533e-8,-0.0018932284621856921,-3.431570348176952e-5,-4.135853030487643e-8,-0.001893104383091029,-3.4505267334039883e-5,-4.1539480078514925e-8,-0.00189291393259836,-3.469764551964496e-5,-4.172428673891212e-8,-0.0018926599383916741,-3.486610463956082e-5,-4.188783776156979e-8,-0.0018923546511316431,-3.498605241766292e-5,-4.2006785198344876e-8,-0.001892019101621626,-3.5038631408074926e-5,-4.206286015466167e-8,-0.0018916814855736094,-3.5014534367428806e-5,-4.204652314564249e-8,-0.001891374040852943,-3.491799599962725e-5,-4.196092987201902e-8,-0.0018911275262606326,-3.477018738663742e-5,-4.182542386637248e-8,-0.0018909628356181614,-3.460994197225293e-5,-4.167647877700423e-8,-0.0018908809794151223,-3.448870510773402e-5,-4.1563025636714426e-8,-0.001890855680381783,-3.4457266426274074e-5,-4.1533801407386716e-8,-0.0018908353879217353,-3.454621539121781e-5,-4.1618610494880996e-8,-0.0018907590601062614,-3.474930510512576e-5,-4.1812322746267864e-8,-0.0018905806559135173,-3.502183484605819e-5,-4.2073175486873276e-8,-0.0018902883688857062,-3.529801938551741e-5,-4.233914044230188e-8,-0.0018899068551920142,-3.551742428610809e-5,-4.255290749642152e-8,-0.001889483249018912,-3.564481602849056e-5,-4.268065997382881e-8,-0.0018890679245541686,-3.567523527632135e-5,-4.2716955210695495e-8,-0.00188870032072965,-3.562727788606181e-5,-4.267856906938492e-8,-0.0018884030745074487,-3.5532202829357725e-5,-4.2594437460528625e-8,-0.0018881823723488097,-3.54243921208098e-5,-4.2496795451858114e-8,-0.0018880312102406572,-3.533504994855418e-5,-4.2415230301185514e-8,-0.0018879332139387782,-3.5288747014991394e-5,-4.237330143238159e-8,-0.0018878660597741292,-3.5301680267534746e-5,-4.23867434249854e-8,-0.001887804493950075,-3.5380813257388804e-5,-4.246254511061698e-8,-0.0018877231921547025,-3.552361030820859e-5,-4.259866804167272e-8,-0.0018875996014664324,-3.5718391160070784e-5,-4.278440830777563e-8,-0.0018874167566322304,-3.594551788242534e-5,-4.300154835611885e-8,-0.0018871657927251448,-3.617965687985636e-5,-4.322647911791066e-8,-0.0018868476636197298,-3.639308212496223e-5,-4.3433238917490384e-8,-0.0018864736576865142,-3.655967876258171e-5,-4.359717299143751e-8,-0.0018860644895497603,-3.66591992046944e-5,-4.369885112248462e-8,-0.0018856478855353213,-3.668124668546799e-5,-4.37278181581545e-8,-0.0018852547440176993,-3.6628421846668554e-5,-4.3685686879638724e-8,-0.0018849140165977931,-3.651813115392309e-5,-4.358808695279573e-8,-0.0018846464338938206,-3.638236555382138e-5,-4.346473580791103e-8,-0.0018844576056432885,-3.6264235942699986e-5,-4.3356365793623564e-8,-0.0018843321784880178,-3.6209913884206997e-5,-4.3307130103906174e-8,-0.0018842322632395324,-3.625576306513159e-5,-4.335226126403655e-8,-0.0018841040436168481,-3.641349949400654e-5,-4.350374571050373e-8,-0.0018838940566287233,-3.6660400894427665e-5,-4.374080127460915e-8,-0.001883570085252579,-3.694276386559895e-5,-4.401301964778491e-8,-0.001883135475562002,-3.7194520085842316e-5,-4.425796870583932e-8,-0.001882627578444282,-3.73621475032825e-5,-4.442477583414205e-8,-0.0018821014403124572,-3.742201299485457e-5,-4.4490542846202025e-8,-0.001881609313986513,-3.7382507458315104e-5,-4.4462439215216833e-8,-0.0018811865907120172,-3.7274116019286886e-5,-4.436849914685254e-8,-0.001880847632416261,-3.713591350573811e-5,-4.424508395808057e-8,-0.00188058871037337,-3.7004918805228556e-5,-4.4126962304448526e-8,-0.0018803936614843618,-3.691021781204701e-5,-4.4041748300567786e-8,-0.0018802392951189633,-3.6870851790922326e-5,-4.400778710220607e-8,-0.0018800994849178696,-3.68957089255605e-5,-4.40339130327419e-8,-0.0018799481169941405,-3.698411204251374e-5,-4.411991825255021e-8,-0.0018797614670353787,-3.7126553405316096e-5,-4.425722892864331e-8,-0.0018795204776576248,-3.730559347706619e-5,-4.442976975442706e-8,-0.0018792131464299988,-3.749729428555327e-5,-4.46153152223929e-8,-0.0018788368365865878,-3.7673694011914794e-5,-4.4787772369335294e-8,-0.0018783998781203336,-3.780658890837698e-5,-4.492065092723705e-8,-0.0018779216417479986,-3.787236867220032e-5,-4.4991520603290696e-8,-0.0018774304478634798,-3.785712894848209e-5,-4.4986782858554793e-8,-0.001876959132956837,-3.776087580238688e-5,-4.490568783170876e-8,-0.001876538772816988,-3.759950843431477e-5,-4.476237298058196e-8,-0.0018761917084975216,-3.740363503756282e-5,-4.458499652618009e-8,-0.0018759253154816227,-3.721393836510612e-5,-4.441161416080866e-8,-0.0018757279816746558,-3.7073377257336396e-5,-4.4282962063134714e-8,-0.0018755687920489152,-3.701708377818567e-5,-4.4232881827984826e-8,-0.0018754023218197238,-3.706175871807319e-5,-4.427809041286009e-8,-0.0018751791516401983,-3.71976903316632e-5,-4.4410338519050925e-8,-0.0018748606150037481,-3.738752598197328e-5,-4.4594994984169714e-8,-0.0018744330348925565,-3.7574982787928245E-05,-4.47791613026569e-8,-0.0018739145177022712,-3.770239276914684e-5,-4.490826020461936e-8,-0.0018733495373167643,-3.773009490362128e-5,-4.4944415378813574e-8,-0.0018727931908080317,-3.764831441568e-5,-4.487773977743384e-8,-0.0018722931442570632,-3.7476441825173546e-5,-4.472576455407728e-8,-0.0018718776143170825,-3.72522449686114e-5,-4.452343076403651e-8,-0.0018715526178116695,-3.701813258333055e-5,-4.431030817274317e-8,-0.0018713062231411261,-3.681055615655657e-5,-4.4120686585272034e-8,-0.001871115468151383,-3.665468354723957e-5,-4.397851191896047e-8,-0.001870952694577932,-3.6563328602725056e-5,-4.389625440586987e-8,-0.0018707900517583916,-3.653811265418476e-5,-4.3875885637797216e-8,-0.0018706023334060244,-3.6571255822349916e-5,-4.391050608580251e-8,-0.0018703688700737859,-3.664722159578986e-5,-4.398588937722728e-8,-0.0018700751930006965,-3.6744157938658e-5,-4.408184554328447e-8,-0.0018697148769254426,-3.683557666976917e-5,-4.4173775089313205e-8,-0.0018692914772034106,-3.6892936200826666e-5,-4.423502611041501e-8,-0.0018688199023591616,-3.688965083963331e-5,-4.424057092448585e-8,-0.0018683261082645549,-3.680648604854699e-5,-4.4172010900809014e-8,-0.0018678439684996118,-3.663736658049673e-5,-4.4023038613393244e-8,-0.0018674088734324848,-3.639364723333976e-5,-4.3803546879327065e-8,-0.0018670490319146785,-3.610454803253589e-5,-4.354021989210011e-8,-0.001866776960604691,-3.581233195531623e-5,-4.327223113044107e-8,-0.0018665842545617494,-3.556274227869284e-5,-4.304246095848443e-8,-0.0018664419014308188,-3.539322985208859e-5,-4.2886518844144926e-8,-0.001866306540510951,-3.532250177755452e-5,-4.282282625286369e-8,-0.0018661311596336301,-3.5344543323723834e-5,-4.284673828172474e-8,-0.0018658774885188531,-3.542898898557433e-5,-4.293057236042494e-8,-0.0018655268253949977,-3.55281941668765e-5,-4.303001094315354e-8,-0.0018650860333417425,-3.55896847358241e-5,-4.309572055327366e-8,-0.0018645862558132557,-3.557072469934887e-5,-4.3087114771064386e-8,-0.001864074064290464,-3.54502290003869e-5,-4.298370377047688e-8,-0.0018635978679334747,-3.523359331224885e-5,-4.278980205390345e-8,-0.0018631947076426666,-3.494883476042089e-5,-4.2531058883068645e-8,-0.0018628822307316867,-3.4636347734627516E-05,-4.224496475448857e-8,-0.0018626577466252,-3.433705755884229e-5,-4.196979779298566e-8,-0.0018625028468491243,-3.408334448344101e-5,-4.173608792809358e-8,-0.0018623903292806535,-3.389462368841906e-5,-4.1562378749819724e-8,-0.001862290600784725,-3.377697613200107e-5,-4.145477037782527e-8,-0.0018621762300559555,-3.3725088096835355e-5,-4.14086669723388e-8,-0.0018620246347852986,-3.372488473601601e-5,-4.141123207304418e-8,-0.0018618195632346566,-3.375593156589706e-5,-4.1443656121148575e-8,-0.0018615521548540242,-3.3793432453618705e-5,-4.148302730689643e-8,-0.001861222100187459,-3.3810221048498295E-05,-4.15041470998425e-8,-0.0018608389284970092,-3.377941053241642e-5,-4.148192086511341e-8,-0.0018604228570434176,-3.367833230390359e-5,-4.139496124109246e-8,-0.0018600040268228783,-3.3493942425028966e-5,-4.123062094176194e-8,-0.001859618642548962,-3.322877352067173e-5,-4.0990619843655576e-8,-0.0018593011806838898,-3.290498445207031e-5,-4.0694967467908326e-8,-0.001859073836432133,-3.256319848003421e-5,-4.038105550600808e-8,-0.0018589370096645738,-3.225400787141628e-5,-4.0095898376829484e-8,-0.0018588658572420299,-3.202355089014602e-5,-3.988278237900221e-8,-0.001858815953690681,-3.1898535195761845e-5,-3.9767279252543205e-8,-0.0018587365322608792,-3.187731481624273e-5,-3.974875641256137e-8,-0.001858585847420525,-3.193072891426777e-5,-3.9800881931187754e-8,-0.0018583427276889898,-3.201157846011818e-5,-3.988018363222736e-8,-0.001858011024484624,-3.206838339685549e-5,-3.993871620605644e-8,-0.0018576168661056972,-3.2058722129593e-5,-3.993651170976707e-8,-0.001857200628294303,-3.1958785793748546e-5,-3.98506487342928e-8,-0.0018568063178679155,-3.1767390735336565e-5,-3.9679225404044e-8,-0.0018564711830394505,-3.150417991339459e-5,-3.943989843936122e-8,-0.0018562180244630548,-3.120309508365586e-5,-3.916393604405171e-8,-0.001856051832860989,-3.0903287984785486e-5,-3.888777991719524e-8,-0.0018559610387409902,-3.0640165715613776e-5,-3.864464037772421e-8,-0.0018559222165318323,-3.043888182499085e-5,-3.845831450517588e-8,-0.0018559062367179708,-3.031135180046263e-5,-3.8340287099323454e-8,-0.0018558839785556914,-3.025648674119293e-5,-3.828987583339211e-8,-0.0018558305005729916,-3.0262498510445098e-5,-3.829637141557298e-8,-0.0018557274688207667,-3.030998413607464e-5,-3.8341946180221575e-8,-0.0018555642923261315,-3.0374874455143256e-5,-3.8404431294548646e-8,-0.0018553386335638984,-3.043096245585696e-5,-3.8459652833342595e-8,-0.0018550567897867762,-3.0452262426219995e-5,-3.8483550463237314e-8,-0.0018547340635318174,-3.041572528206477e-5,-3.8454603062521525e-8,-0.0018543947164707576,-3.03048875961989e-5,-3.835716288178646e-8,-0.0018540704590361671,-3.0114692323656852e-5,-3.81859702743685e-8,-0.0018537960249984855,-2.985666954648834e-5,-3.79511015108531e-8,-0.0018536008786521339,-2.9562027461414482e-5,-3.768102528692731e-8,-0.0018534981424192035,-2.927893614320846e-5,-3.742024332911934e-8,-0.0018534751696137296,-2.9061233360087007e-5,-3.72188887172703e-8,-0.0018534923481789171,-2.8950357584252507e-5,-3.711593484750272e-8,-0.0018534940550578869,-2.8958436077817732e-5,-3.7123378482837e-8,-0.0018534282008300274,-2.9062277323979435e-5,-3.722046668883958e-8,-0.0018532645332598092,-2.921211788923309e-5,-3.736159207290112e-8,-0.0018530028720135114,-2.934986972526837e-5,-3.7493050320642694e-8,-0.0018526694542170326,-2.942727873570747e-5,-3.756982425163037e-8,-0.0018523058642196187,-2.9417150023504876e-5,-3.7566073539067835e-8,-0.0018519564866905035,-2.9316192868627697e-5,-3.7477965536880444e-8,-0.0018516584089416203,-2.9141557732680905e-5,-3.7320700414486564e-8,-0.001851435208412855,-2.8923992161479002e-5,-3.712235494419344e-8,-0.001851294541339165,-2.869997092993335e-5,-3.691666372244825e-8,-0.0018512288972952473,-2.850431556199019e-5,-3.673612972502268e-8,-0.0018512187605911334,-2.8364293030248146e-5,-3.6606422818222735e-8,-0.0018512372743969517,-2.8295880091963878e-5,-3.6542771387623024e-8,-0.001851255373367241,-2.830245486957463e-5,-3.654865101402205e-8,-0.0018512464347500161,-2.837567990696616e-5,-3.661658029509977e-8,-0.0018511897654824728,-2.849797616767571e-5,-3.6730452314410044e-8,-0.0018510726455833026,-2.864577894127868e-5,-3.6868605111867225e-8,-0.0018508911239511774,-2.879283048085962e-5,-3.700688885749968e-8,-0.0018506500169525825,-2.891316386992196e-5,-3.712138235946777e-8,-0.0018503624659893852,-2.8983841434482034e-5,-3.719083313132091e-8,-0.001850049192722774,-2.8987717253845237e-5,-3.719912582085492e-8,-0.00184973724683297,-2.8916604783197052e-5,-3.7138199915807674e-8,-0.0018494574590516221,-2.877500685094965e-5,-3.7011601488886906e-8,-0.001849239457271444,-2.8583618727700412e-5,-3.6837917133073514e-8,-0.001849103637120204,-2.8380420558935783e-5,-3.665199142573758e-8,-0.0018490512556514666,-2.8216113176951286e-5,-3.650082802289004e-8,-0.0018490568923369543,-2.814133170477168e-5,-3.643173901900574e-8,-0.001849070044366471,-2.8187498919253204e-5,-3.6474479853762786e-8,-0.0018490301023305032,-2.835027238269989e-5,-3.662573037762882e-8,-0.0018488899067574623,-2.8587217166636767e-5,-3.6846766146306595e-8,-0.0018486348257891318,-2.883361606393152e-5,-3.707797543919425e-8,-0.0018482863056600417,-2.902755950667316e-5,-3.726201459105288e-8,-0.0018478899852914469,-2.9130064005063796e-5,-3.736241363816512e-8,-0.0018474976562760789,-2.91321131307372e-5,-3.737016828147584e-8,-0.0018471524750899352,-2.905016180405401e-5,-3.729976063286029e-8,-0.0018468812786227445,-2.8916268553225196e-5,-3.718025357565311e-8,-0.0018466931172711491,-2.876806315238052e-5,-3.7046173746412294e-8,-0.0018465815057894385,-2.8640983775258864e-5,-3.6930365429741035e-8,-0.00184652829693714,-2.8563136245366806e-5,-3.685914654239289e-8,-0.0018465080445311866,-2.8552306292304803e-5,-3.6849396405970724e-8,-0.0018464923711327586,-2.8614698711177184e-5,-3.69072585309602e-8,-0.0018464540475209713,-2.874515858709884e-5,-3.702828145510411e-8,-0.001846370522506678,-2.8928669467886978e-5,-3.7198811661589566e-8,-0.001846226627091265,-2.9142919199792575e-5,-3.739840984195331e-8,-0.0018460161773210895,-2.936159596526058e-5,-3.7602928735736206e-8,-0.0018457424092981416,-2.9557907441157696e-5,-3.7787745528739335e-8,-0.0018454174436069045,-2.9707932709951874e-5,-3.793078679950588e-8,-0.001845060979936064,-2.9793682517744152e-5,-3.8015266553066575e-8,-0.0018446983139210466,-2.9805837685586976e-5,-3.803216933965162e-8,-0.001844357663506958,-2.974619611849742e-5,-3.7982560537325245e-8,-0.0018440664544479193,-2.9629797711193566e-5,-3.7879707314877856e-8,-0.001843845950446449,-2.948601531108566e-5,-3.775030341662861e-8,-0.0018437041818345754,-2.9356851092842417e-5,-3.763307774716062e-8,-0.0018436286704259478,-2.929018395984869e-5,-3.7572610524337075e-8,-0.0018435826591715672,-2.9326650546160026e-5,-3.7607099199983846e-8,-0.001843510243611047,-2.9482479522100277e-5,-3.7752270839027916e-8,-0.0018433534878047207,-2.9736569576451163e-5,-3.798922207122916e-8,-0.001843076228620517,-3.003258999787417e-5,-3.826624809927366e-8,-0.0018426810050820315,-3.0299279226205748e-5,-3.851758748645876e-8,-0.0018422077376924746,-3.0478508169391107e-5,-3.8689353289091895e-8,-0.0018417156239789582,-3.054470317700498e-5,-3.875746335719129e-8,-0.0018412606553196052,-3.050710730095082e-5,-3.872977574482587e-8,-0.001840880483325183,-3.0398882257686496e-5,-3.8636192256924036e-8,-0.001840590004125507,-3.026250677128237e-5,-3.851540126764517e-8,-0.0018403844397698059,-3.013820957242196e-5,-3.840435285169504e-8,-0.001840245361005513,-3.0057347763451893e-5,-3.8332152701456324e-8,-0.0018401466765782936,-3.0039751280580974e-5,-3.831749547487945e-8,-0.0018400595016326148,-3.0093363332831677e-5,-3.836817784862127e-8,-0.0018399559497764423,-3.0215015910877106e-5,-3.848169905675189e-8,-0.001839812170196447,-3.039186553279613e-5,-3.864654273812751e-8,-0.0018396108283989022,-3.060338054950594e-5,-3.884402378562721e-8,-0.0018393430417674114,-3.082394307346604e-5,-3.905071575977295e-8,-0.001839009544828154,-3.1026114366856945e-5,-3.924146216346563e-8,-0.0018386207708631277,-3.1184328723264915e-5,-3.939273712194119e-8,-0.0018381957305413437,-3.127857148136643e-5,-3.948596451419425e-8,-0.0018377597459139795,-3.1297656724416976e-5,-3.95104860508152e-8,-0.001837341137178437,-3.1241751125251476e-5,-3.946590292406994e-8,-0.0018369670512292443,-3.112376810976386e-5,-3.9363472022820164e-8,-0.0018366586561733092,-3.096932899220622e-5,-3.922626209101001e-8,-0.0018364258708403016,-3.0814812173559905e-5,-3.9087559514838445e-8,-0.0018362621920370473,-3.070252357614279e-5,-3.8986539372919337e-8,-0.0018361412688580824,-3.067203929167175e-5,-3.896025500527251e-8,-0.0018360180816703487,-3.0748042684471684e-5,-3.903223795898209e-8,-0.0018358378502917804,-3.092774827382751e-5,-3.920064225747588e-8,-0.0018355532968053283,-3.1174550168373766e-5,-3.9432189756387474e-8,-0.0018351446756584952,-3.142525945238052e-5,-3.966879216514516e-8,-0.001834631257077125,-3.161182618802566e-5,-3.9847630332795574e-8,-0.001834065391188641,-3.168747068911088e-5,-3.992527940095902e-8,-0.0018335116541834382,-3.164236364109196e-5,-3.989214970654177e-8,-0.0018330236496004874,-3.1501495858562004e-5,-3.977056585296882e-8,-0.0018326302885483708,-3.130976247069251e-5,-3.960119517536447e-8,-0.0018323344622033428,-3.111494455177007e-5,-3.94275962437217e-8,-0.0018321196002908996,-3.095597209536023e-5,-3.928554181120305e-8,-0.0018319582888422555,-3.085789845493625e-5,-3.919836392406287e-8,-0.0018318194757880513,-3.083157342368737e-5,-3.9176511626126014e-8,-0.0018316733480543946,-3.0875483927058214e-5,-3.9219089175635253e-8,-0.0018314943794796696,-3.097812687524317e-5,-3.931593991989682e-8,-0.0018312633560748676,-3.1120334429811935e-5,-3.9449760179892773e-8,-0.001830968913688379,-3.1277592120351454e-5,-3.9598246635518696e-8,-0.0018306087634235733,-3.14226374107931e-5,-3.9736499110668715e-8,-0.0018301904168349817,-3.152864766531905e-5,-3.9839932121797345e-8,-0.0018297309265778968,-3.1573033171681355e-5,-3.988771007373838e-8,-0.0018292551760944991,-3.154139489645285e-5,-3.986633134180522e-8,-0.0018287925523648566,-3.1430926466745534e-5,-3.977274223006469e-8,-0.0018283721888019805,-3.125244172846257e-5,-3.961626454205167e-8,-0.0018280173510476312,-3.1030241019074e-5,-3.941861928815817e-8,-0.0018277399014371466,-3.079933897322065e-5,-3.921157228495376e-8,-0.0018275359237807758,-3.060002936908609e-5,-3.9032106768399976e-8,-0.0018273836315456557,-3.0470075984707517e-5,-3.891530628053033e-8,-0.0018272448509398856,-3.0435259419920423e-5,-3.8885571590877783e-8,-0.0018270713806662069,-3.0500042234658058e-5,-3.8947817158765014e-8,-0.0018268166773114957,-3.064158208297821e-5,-3.908171343754616e-8,-0.0018264509824322654,-3.081128525962225e-5,-3.924294928095106e-8,-0.0018259745066705093,-3.0946791653507584e-5,-3.937422858396294e-8,-0.001825421200068397,-3.0992294321174295e-5,-3.942401662190722e-8,-0.001824848707194268,-3.091859675203208e-5,-3.936503312287334e-8,-0.0018243181665254498,-3.0732388589482095e-5,-3.920280801715213e-8,-0.0018238741939498265,-3.047033281073113e-5,-3.897033103345112e-8,-0.0018235344222076416,-3.0182968256406758e-5,-3.871343791162342e-8,-0.0018232907112232296,-2.9917962061241705e-5,-3.8475612220985564e-8,-0.0018231175915879915,-2.9709470223528575e-5,-3.8288287874661005e-8,-0.0018229820547856707,-2.9574767415543407e-5,-3.8167680241916334e-8,-0.0018228511227224586,-2.951575072500136e-5,-3.811601209651671e-8,-0.0018226963993247997,-2.9522399260808083e-5,-3.812455102291935e-8,-0.001822496346012939,-2.9576313361484465e-5,-3.817679071516764e-8,-0.00182223736569908,-2.9653667368211555e-5,-3.82511596794088e-8,-0.001821914484007764,-2.9727713244422272e-5,-3.8323339418991535e-8,-0.0018215319226575477,-2.9771325860086927e-5,-3.836859871537784e-8,-0.0018211033649289739,-2.9760077349048065e-5,-3.8364575828414726e-8,-0.0018206513209798074,-2.967600860452736e-5,-3.82946771372016e-8,-0.001820204868578569,-2.95117106918752e-5,-3.815177651088395e-8,-0.001819795308698592,-2.9273717903851084e-5,-3.7941337848129227e-8,-0.0018194499553985499,-2.8983792765006212e-5,-3.768268339819807e-8,-0.001819185216669178,-2.867678407238349e-5,-3.74071910297524e-8,-0.0018190008974349288,-2.83945853396037e-5,-3.715294339073842e-8,-0.001818877777254797,-2.8177048843502435e-5,-3.69565401325332e-8,-0.001818779842287521,-2.8051892787703585e-5,-3.684386725138177e-8,-0.0018186613648890997,-2.8026242318695985e-5,-3.682221547238342e-8,-0.0018184777104345217,-2.8082404782524753e-5,-3.687617397457534e-8,-0.0018181975534309522,-2.8179856821560048e-5,-3.6969212144048666e-8,-0.001817813196202531,-2.8264185854983048e-5,-3.705172966271644e-8,-0.001817345167041442,-2.8281685470529075e-5,-3.707441588866618e-8,-0.0018168381018592475,-2.8195553966210703e-5,-3.7003162870434875e-8,-0.0018163479603249767,-2.799754849487948e-5,-3.6829836985857307e-8,-0.0018159250008670967,-2.770979157575244e-5,-3.657403648862273e-8,-0.0018155995956956029,-2.7375894624095573e-5,-3.6275093682421794e-8,-0.0018153764219808644,-2.704596699485922e-5,-3.5978494998850386e-8,-0.0018152377869368145,-2.6762455524996808e-5,-3.572301447864534e-8,-0.001815152477201721,-2.6551760020655958e-5,-3.553302574177351e-8,-0.0018150853173970892,-2.6422470662984083e-5,-3.541677798998169e-8,-0.0018150042988686545,-2.6368080187245047e-5,-3.5368740905128105e-8,-0.001814884542944513,-2.637140326946383e-5,-3.5373559468304656e-8,-0.0018147098501943748,-2.640883213452553e-5,-3.540992975432918e-8,-0.001814472968339351,-2.6453705314678775e-5,-3.5453704890593495e-8,-0.0018141754822484056,-2.6478914642215583e-5,-3.548029701796509e-8,-0.0018138277280354835,-2.645933668573588e-5,-3.54668779570484e-8,-0.0018134485433922909,-2.63746995002284e-5,-3.539493771542412e-8,-0.0018130641999637516,-2.6213143484268603e-5,-3.525347116797519e-8,-0.0018127056529817164,-2.5975139443379584e-5,-3.504252776569707e-8,-0.0018124034131899443,-2.5676611824827752e-5,-3.477610412804476e-8,-0.0018121801872194175,-2.534931109205454e-5,-3.448259855575883e-8,-0.0018120429840718477,-2.503646524431114e-5,-3.420100849172037e-8,-0.0018119778375527472,-2.4783230392470123e-5,-3.3972382770939356e-8,-0.001811950347330866,-2.462408751833058e-5,-3.3828419190625865e-8,-0.0018119132838824324,-2.4571574822020067e-5,-3.3781151941416513e-8,-0.0018118193692635378,-2.461097139426063e-5,-3.381793208892705e-8,-0.0018116348830005524,-2.470333459138878e-5,-3.390395510139745e-8,-0.0018113494195414132,-2.479592830408992e-5,-3.399155855798691e-8,-0.0018109788397635016,-2.483652227449304e-5,-3.403315775348767e-8,-0.0018105608775236578,-2.4787225178468724e-5,-3.399388280325552e-8,-0.001810144903993606,-2.4634019749026035e-5,-3.386038668968676e-8,-0.0018097788424705386,-2.438943653685379e-5,-3.364343809426621e-8,-0.0018094970976968308,-2.408776623021186e-5,-3.3373712923926915e-8,-0.0018093131065530167,-2.3774611485516244e-5,-3.3092397700764274e-8,-0.0018092184234519324,-2.3494490111001275e-5,-3.283995827133673e-8,-0.0018091877331322158,-2.3280593294754563e-5,-3.2646790853564697e-8,-0.0018091871161683125,-2.314939866682767e-5,-3.252822506211939e-8,-0.0018091823293289193,-2.31004611501778e-5,-3.248421726376951e-8,-0.0018091448540584615,-2.311978262620908e-5,-3.250233499343941e-8,-0.0018090550794540737,-2.3184591180723153e-5,-3.2562086291900066e-8,-0.0018089031861997175,-2.3267897328885993e-5,-3.2639095018153503e-8,-0.0018086887334329814,-2.3342085624690892e-5,-3.2708403157821664e-8,-0.0018084198247745962,-2.338158487023955e-5,-3.2746898333729124e-8,-0.0018081122968712463,-2.3365150542970265e-5,-3.273533916353727e-8,-0.001807788822855228,-2.3278370617031e-5,-3.2660558495518114e-8,-0.0018074773359588981,-2.3116713555088714e-5,-3.251818044986732e-8,-0.0018072078836895496,-2.2888860456224638e-5,-3.231565942478291e-8,-0.0018070071067168634,-2.2619145607374683e-5,-3.2074584949186564e-8,-0.0018068904090166695,-2.2346867579039005e-5,-3.18301977417072e-8,-0.001806853807850492,-2.2119984734449717e-5,-3.162581546841964e-8,-0.0018068696241016469,-2.198255341150245e-5,-3.150153125112428e-8,-0.0018068904530553504,-2.195926967130759e-5,-3.1480191546692454e-8,-0.0018068624614854115,-2.2044177423088666e-5,-3.155704270849953e-8,-0.0018067433270976935,-2.2200245280886165e-5,-3.1699156433731375e-8,-0.0018065165630427827,-2.2371032429944445e-5,-3.1855811466588946e-8,-0.0018061958896326482,-2.2498959032548624e-5,-3.197492592167717e-8,-0.0018058190557784669,-2.2542034459431462e-5,-3.201819263383411e-8,-0.0018054353226003737,-2.2483393859611878e-5,-3.196979945333175e-8,-0.001805091981515879,-2.2332389766442987e-5,-3.183757466667896e-8,-0.0018048237525921153,-2.211905907663405e-5,-3.1648156894879373e-8,-0.0018046468284378982,-2.1884874969180767e-5,-3.1438765962970895e-8,-0.0018045577965828564,-2.167257080863706e-5,-3.124804952076372e-8,-0.0018045367469031802,-2.1517256483314775e-5,-3.1108003719807276e-8,-0.0018045532547471112,-2.1440415901790588e-5,-3.103843208390343e-8,-0.0018045734964459543,-2.1447606975861767e-5,-3.1044738831155513e-8,-0.0018045667264467702,-2.1529672691860464e-5,-3.111893588046535e-8,-0.0018045098804961046,-2.1666384245823865e-5,-3.1242914374253404e-8,-0.0018043898839023068,-2.183112130503548e-5,-3.1392708760228225e-8,-0.001804203954475141,-2.1995397908962797e-5,-3.1542638797071024e-8,-0.0018039586205425583,-2.2132522471774145e-5,-3.166864148494045e-8,-0.0018036682150897336,-2.222029327998615e-5,-3.1750683255942955e-8,-0.0018033532774611,-2.2243105107731316e-5,-3.1774601732825967e-8,-0.0018030388535303287,-2.2193945397383773e-5,-3.173385130063672e-8,-0.0018027522942073136,-2.2076575061598045e-5,-3.1631467135425805e-8,-0.0018025198123736337,-2.1907738260673892e-5,-3.148213395270582e-8,-0.0018023610503111382,-2.171835234695091e-5,-3.131339673265721e-8,-0.0018022817446064101,-2.155153029171974e-5,-3.1164020013668663e-8,-0.0018022664981731129,-2.145492195250491e-5,-3.107715875834362e-8,-0.0018022761116299893,-2.1466616576633423e-5,-3.1087611729159285e-8,-0.001802254637597213,-2.1598488185100718e-5,-3.1206666940015674e-8,-0.0018021472428660756,-2.182595909351053e-5,-3.1412695010306495e-8,-0.0018019218634438376,-2.2092822584774562e-5,-3.1655360838329714e-8,-0.0018015825756897933,-2.2331161258804622e-5,-3.187351846210822e-8,-0.0018011669858702807,-2.2485932648024347e-5,-3.2017362632812046e-8,-0.0018007305205330378,-2.2531424552391003e-5,-3.20632837968358e-8,-0.0018003274466781097,-2.247396849454174e-5,-3.201639378115172e-8,-0.001799997044701253,-2.2344006761817026e-5,-3.190352915618942e-8,-0.0017997576968600084,-2.2183994777753875e-5,-3.1762527108728355e-8,-0.0017996074214415598,-2.2037129804367622e-5,-3.163218737463046e-8,-0.0017995281388526994,-2.1939134700851098e-5,-3.1544874466880096e-8,-0.001799491474118722,-2.191336925847295e-5,-3.1522014871558e-8,-0.0017994648236848451,-2.196879034163294e-5,-3.157211653547259e-8,-0.0017994169612412726,-2.210030852102367e-5,-3.1690969385098476e-8,-0.0017993225970557186,-2.2291116208268445e-5,-3.1863685374065217e-8,-0.0017991654559053219,-2.2516364846537557e-5,-3.2068017711543623e-8,-0.0017989396964144166,-2.2747470340719118e-5,-3.2278281986817246e-8,-0.001798649733945888,-2.2956364822787877e-5,-3.246922246142647e-8,-0.0017983088087218547,-2.3119105042172602e-5,-3.2619262744900355e-8,-0.0017979368481374199,-2.3218557224021916e-5,-3.271288686018867e-8,-0.001797558043108042,-2.3246284945411038e-5,-3.274229168261259e-8,-0.0017971982454755217,-2.3203905608775542e-5,-3.2708591798824984e-8,-0.0017968820442133351,-2.3104089519329166e-5,-3.2622768771998037e-8,-0.0017966291126735867,-2.297111342990777e-5,-3.250628913382254e-8,-0.0017964493540700971,-2.2840186859440642e-5,-3.239064633254201e-8,-0.001796337092370337,-2.2753871040159905e-5,-3.231424590201427e-8,-0.001796266176874397,-2.2753701692947285e-5,-3.2314867821004395e-8,-0.0017961898758915664,-2.2866622884127602e-5,-3.241733430757836e-8,-0.0017960501969663332,-2.3089920943539757e-5,-3.261975895170297e-8,-0.0017957976108034395,-2.3383568322421448e-5,-3.288650179068292e-8,-0.0017954135250510931,-2.3679171476829465e-5,-3.315617804332179e-8,-0.0017949215447578652,-2.390518557869303e-5,-3.336437672142568e-8,-0.0017943787200954949,-2.401500851776904e-5,-3.3468942402757484e-8,-0.0017938521133034476,-2.400161061140643e-5,-3.346310636110839e-8,-0.0017933953283730748,-2.3893135268437862e-5,-3.3371567284018426e-8,-0.0017930360672664986,-2.3736813868647664e-5,-3.323619106299432e-8,-0.0017927757839283627,-2.3582117106361543e-5,-3.310107169625848e-8,-0.0017925963117210405,-2.3469363688785598e-5,-3.300241303329868e-8,-0.0017924682328384592,-2.342451096539411e-5,-3.296382113706184e-8,-0.0017923581550719071,-2.345828625550179e-5,-3.299539036168371e-8,-0.001792234150133278,-2.356759742598324e-5,-3.309481410911366e-8,-0.0017920696405059335,-2.3737980155055785e-5,-3.324947345493431e-8,-0.0017918461088012336,-2.3946656287756952e-5,-3.343914759620848e-8,-0.0017915547494891267,-2.416604836192296e-5,-3.363918826601897e-8,-0.0017911970460121622,-2.4367571375549456e-5,-3.382396166819764e-8,-0.0017907841940512808,-2.4525457139788785e-5,-3.3970302096064133e-8,-0.0017903353488858134,-2.4620205356925683e-5,-3.4060599419872674e-8,-0.001789874928831574,-2.464121873006898e-5,-3.408513361013069e-8,-0.0017894293545302076,-2.458842006514815e-5,-3.404350871950484e-8,-0.001789023505241213,-2.4472837169482275e-5,-3.394520600674971e-8,-0.0017886770648342907,-2.431614883409421e-5,-3.3809267595780996e-8,-0.0017884008200234735,-2.4149141187628658e-5,-3.366304609271047e-8,-0.001788192903348495,-2.4008712245158947e-5,-3.353964297579916e-8,-0.0017880354372265181,-2.393253545893989e-5,-3.347316905691076e-8,-0.0017878931539800256,-2.3950554353910987e-5,-3.34910405981934e-8,-0.0017877167144701928,-2.4073806065351983e-5,-3.360377068735919e-8,-0.001787453569690734,-2.428392045087678e-5,-3.379534491041236e-8,-0.0017870663495322726,-2.4530220442592966e-5,-3.402051298850108e-8,-0.0017865519910194932,-2.4741563720019448e-5,-3.4215448424805376e-8,-0.0017859491906381667,-2.4852189071213217e-5,-3.4321023197333045e-8,-0.001785325958533287,-2.482869995671932e-5,-3.4307016493753474e-8,-0.0017847528767015353,-2.4681669420333632e-5,-3.418245486606978e-8,-0.0017842781208460322,-2.4456188730650273e-5,-3.3987154219619505e-8,-0.0017839168488831807,-2.4210443635923462e-5,-3.3772695142451446e-8,-0.0017836554356915608,-2.3996010205156732e-5,-3.358499104157047e-8,-0.0017834629055072672,-2.384722325415727e-5,-3.345487005540549e-8,-0.0017833022278605421,-2.377911957973221e-5,-3.33961693481918e-8,-0.0017831382257718895,-2.3790191594592873e-5,-3.340803787799357e-8,-0.0017829420119458068,-2.386664304225821e-5,-3.347858835271957e-8,-0.0017826931337199766,-2.3986439556649512e-5,-3.35884337520014e-8,-0.001782380554182279,-2.4122805007119548e-5,-3.37138034186474e-8,-0.0017820030107513522,-2.424741808773985e-5,-3.382943346932811e-8,-0.0017815688268330704,-2.4333593880854584e-5,-3.391144581214018e-8,-0.0017810949919451016,-2.435957061890063e-5,-3.3940296734933424e-8,-0.0017806052023764001,-2.4311695591746605e-5,-3.3903609380761455e-8,-0.001780126733231539,-2.4186960953258744e-5,-3.3798419210927013e-8,-0.001779686389109376,-2.3994309151659606e-5,-3.363234575116789e-8,-0.0017793060255654567,-2.3754312161234117e-5,-3.3423362014270186e-8,-0.0017789982504817423,-2.3497003448101446e-5,-3.319796437690346e-8,-0.0017787629677499328,-2.325789658218794e-5,-3.2987743056121986e-8,-0.0017785853328477087,-2.307245026259536e-5,-3.2824528494159e-8,-0.001778435693719291,-2.29692203202828e-5,-3.2734270343295896e-8,-0.0017782724447692514,-2.2962114363640616e-5,-3.2729999425653523e-8,-0.0017780489744251891,-2.304310446279494e-5,-3.2805121499466924e-8,-0.0017777252482119056,-2.3178271529330762e-5,-3.292970232577239e-8,-0.0017772823647096638,-2.331129259651724e-5,-3.305351428606098e-8,-0.0017767346083272459,-2.3377529158287416e-5,-3.311868318348257e-8,-0.001776130764697321,-2.3326480780226323e-5,-3.3079844371637935e-8,-0.0017755397912121303,-2.3142506066602418e-5,-3.292267378791187e-8,-0.001775025923089456,-2.285130228165791e-5,-3.2669641431352325e-8,-0.001774626618706956,-2.2507845107702927e-5,-3.2369284423643596e-8,-0.0017743445685003865,-2.217390512592298e-5,-3.207630409849978e-8,-0.0017741544806826274,-2.1898231682136928e-5,-3.1834061464338805e-8,-0.0017740169436090173,-2.1707118952548065e-5,-3.166620956255327e-8,-0.001773891219541728,-2.1604779152879516e-5,-3.157692307526984e-8,-0.0017737432310165142,-2.157882930216389e-5,-3.155562491937049e-8,-0.0017735489504333692,-2.1606679331330368e-5,-3.1582552828697624e-8,-0.0017732949817235678,-2.1660754250425577e-5,-3.163336707176071e-8,-0.0017729779982578978,-2.1712249139899234e-5,-3.1682516270717386e-8,-0.0017726039251191308,-2.1733947237802756e-5,-3.170578892729579e-8,-0.0017721870422029683,-2.170274238348413e-5,-3.168258293259854e-8,-0.001771748742021881,-2.160228540957275e-5,-3.1598253034946674e-8,-0.001771315436498432,-2.142574791419228e-5,-3.144654198656495e-8,-0.0017709151725227585,-2.1178148251122183e-5,-3.123163082063926e-8,-0.0017705729667818262,-2.0877318554922502e-5,-3.096901728522543e-8,-0.00177030549185305,-2.055260685325797e-5,-3.0684433448224743e-8,-0.0017701162882080364,-2.0240789383713746e-5,-3.041032430169265e-8,-0.0017699929466398218,-1.99794218315807e-5,-3.018005089313501e-8,-0.0017699074633654773,-1.9798779288104986e-5,-3.002078373264498e-8,-0.0017698202590316055,-1.971411094245867e-5,-2.994657558110185e-8,-0.0017696875886955075,-1.9720002942223983e-5,-2.9953206911113435e-8,-0.0017694714315701055,-1.9788544043428927e-5,-3.0016365819494506e-8,-0.001769150179508032,-1.9872824099373976e-5,-3.009460999645151e-8,-0.0017687273917546744,-1.9916635597634004e-5,-3.013794933369788e-8,-0.0017682349328222557,-1.986951675134688e-5,-3.0101278511672435e-8,-0.00176772710105645,-1.970328034493384e-5,-2.995916376833186e-8,-0.0017672653670454336,-1.942323674398719e-5,-2.9715881402750377e-8,-0.0017668987135009146,-1.906762066737871e-5,-2.9404951820690843e-8,-0.0017666484557888058,-1.8694185914153163e-5,-2.9077305426574343e-8,-0.0017665045683398996,-1.836037649987278e-5,-2.8783779540595175e-8,-0.0017664336822339468,-1.810670803004512e-5,-2.85604298531802e-8,-0.0017663927590512497,-1.7949525459591675e-5,-2.8422063980110166e-8,-0.0017663414629926905,-1.7882936783559632e-5,-2.8363836548011972e-8,-0.001766249541876796,-1.7885707909765793e-5,-2.8367242121714928e-8,-0.001766099266242993,-1.7928819727490756e-5,-2.8406756909275128e-8,-0.0017658847993394775,-1.798137782732972e-5,-2.8455090069843767e-8,-0.001765610393070421,-1.8014480188581894e-5,-2.8486659197502897e-8,-0.0017652885448722823,-1.800366604960887e-5,-2.8479796999216368e-8,-0.0017649384258213695,-1.7930802219111313e-5,-2.8418420896184835e-8,-0.0017645842871166185,-1.778602853787445e-5,-2.829372109660203e-8,-0.0017642532352409623,-1.7569903288050705e-5,-2.81060198076404e-8,-0.001763971759473834,-1.7295278259522374e-5,-2.786641950500421e-8,-0.0017637607807011494,-1.698782162266873e-5,-2.7597305393828584e-8,-0.0017636298282722234,-1.668378910785923e-5,-2.7330463361969477e-8,-0.0017635720325075124,-1.6424062245120354e-5,-2.7101919283812356e-8,-0.0017635623160880396,-1.624485381333525e-5,-2.6943804573923697e-8,-0.0017635607308321933,-1.6167370096356146e-5,-2.6875224575923194e-8,-0.0017635211289864948,-1.6190012162179073e-5,-2.68952735608918e-8,-0.0017634030561349838,-1.6286391210993562e-5,-2.6981120973846906e-8,-0.0017631832067511017,-1.6410496829813158e-5,-2.7092420717209323e-8,-0.001762862804611093,-1.650784066444652e-5,-2.7181070789573557e-8,-0.001762468592752757,-1.6529538541808296e-5,-2.720366625840219e-8,-0.001762046894151369,-1.6445530812446836e-5,-2.713326263374019e-8,-0.0017616519554521687,-1.6253198861825676e-5,-2.696709599279156e-8,-0.0017613315225252794,-1.5978453405918325e-5,-2.672764292807032e-8,-0.0017611140058775958,-1.5668350101802668e-5,-2.645617877953825e-8,-0.0017610016624053787,-1.5377341425857762e-5,-2.6200694380823762e-8,-0.001760972152477191,-1.5152050261090025e-5,-2.6002466768736517e-8,-0.0017609872896826445,-1.5020078162915458e-5,-2.5886132235295784e-8,-0.0017610048499390252,-1.4986153105280482e-5,-2.585618781524479e-8,-0.0017609887967856529,-1.5035267740803247e-5,-2.5899659894477047e-8,-0.0017609151979063953,-1.5139768158020223e-5,-2.5992305073980463e-8,-0.001760773716567572,-1.5266958060346903e-5,-2.610532992986437e-8,-0.0017605661687073292,-1.5385079455718696e-5,-2.6210718388494383e-8,-0.0017603038826338377,-1.5467116653328303e-5,-2.6284636330568005e-8,-0.0017600050563999715,-1.5492918931559058e-5,-2.630931543163531e-8,-0.00175969254649456,-1.5450515709074643e-5,-2.6274181953792665e-8,-0.0017593918639489119,-1.5337330423786408e-5,-2.617687582404043e-8,-0.0017591287810466108,-1.516152233340109e-5,-2.6024399594225813e-8,-0.0017589258943309788,-1.4943092225619993e-5,-2.5834108333616962e-8,-0.0017587977883399433,-1.4713698844311321e-5,-2.563361964748376e-8,-0.001758745306123578,-1.4513557060983797e-5,-2.5458186180871662e-8,-0.0017587508567577885,-1.4384033445413648e-5,-2.534426611652559e-8,-0.0017587779139626098,-1.4356303112866524e-5,-2.5319563744401592e-8,-0.0017587774818432792,-1.4439371548397277e-5,-2.5392423095802513e-8,-0.0017587014180465244,-1.461308765223457e-5,-2.5545545630735418e-8,-0.0017585182143315644,-1.4831017637906244e-5,-2.573837988454579e-8,-0.001758224300036135,-1.5033522952700285e-5,-2.5918544356983626e-8,-0.0017578456814572269,-1.5165890121277228e-5,-2.6037769834404815e-8,-0.0017574296827317477,-1.5194062164951215e-5,-2.6065783871821737e-8,-0.0017570309130902051,-1.5112670663097581e-5,-2.5997452534758276e-8,-0.001756696813994369,-1.4944139321311835e-5,-2.5852086776316284e-8,-0.0017564568402563836,-1.473071652369088e-5,-2.566653582995585e-8,-0.0017563173354597894,-1.4522642160396031e-5,-2.548486082353178e-8,-0.0017562624354948073,-1.4365851015030895e-5,-2.5347546705261553e-8,-0.0017562599735600776,-1.4292151664489295e-5,-2.5282821848690496e-8,-0.001756270345717931,-1.4313890299943314e-5,-2.5301868529854778e-8,-0.0017562557588578422,-1.4423796145213121e-5,-2.5398581829437754e-8,-0.0017561874812613571,-1.4599191257972496e-5,-2.5553204717269587e-8,-0.0017560497205785389,-1.4808590783445874e-5,-2.573812424229174e-8,-0.0017558401001670073,-1.501849889141526e-5,-2.5923886858305346e-8,-0.0017555677036126833,-1.5198851791683837e-5,-2.6084035700955837e-8,-0.0017552499882569114,-1.5326523211685818e-5,-2.6198219746351277e-8,-0.0017549096171388453,-1.5387143092883683e-5,-2.625378099409158e-8,-0.0017545716844747704,-1.5375917958639373e-5,-2.624643446693762e-8,-0.0017542612485054693,-1.5298085448759974e-5,-2.618062930004095e-8,-0.0017540007404882867,-1.5169273450952789e-5,-2.6069861979063126e-8,-0.0017538066861335557,-1.5015531634949477e-5,-2.593675647987724e-8,-0.0017536853789179659,-1.4872118319182157e-5,-2.5812093138283254e-8,-0.0017536279768385933,-1.4779491480665109e-5,-2.5731383005018647e-8,-0.001753606952723239,-1.477510058162383e-5,-2.5727704626657337e-8,-0.0017535772625469973,-1.4881293853944655e-5,-2.5821044107833472e-8,-0.0017534854838303832,-1.5093084239007569e-5,-2.600743669074431e-8,-0.001753286710863749,-1.5372854528035302e-5,-2.6254185280220255e-8,-0.0017529628465813953,-1.5658309245887e-5,-2.650676375421154e-8,-0.0017525321779777868,-1.5882916451512282e-5,-2.6706754294287406e-8,-0.0017520438774256833,-1.599931632431093e-5,-2.6812413521358316e-8,-0.0017515603547515798,-1.599389242849295e-5,-2.6811474485739375e-8,-0.0017511370747768787,-1.58870721613282e-5,-2.6721446136561115e-8,-0.0017508085426400448,-1.5722498178991464e-5,-2.6580205900138525e-8,-0.001750583522276346,-1.5552126055896935e-5,-2.6433054088095324e-8,-0.0017504477988545496,-1.5423007708300132e-5,-2.6321212129111954e-8,-0.001750371174214469,-1.5368439711583733e-5,-2.62740633198849e-8,-0.001750315851837096,-1.5403810993203438e-5,-2.630543047416448e-8,-0.0017502443819633047,-1.552642617773328e-5,-2.641330452405617e-8,-0.0017501260881107377,-1.5718366270618406e-5,-2.6582255837826362e-8,-0.001749941315168841,-1.595138996435713e-5,-2.6787687878177625e-8,-0.0017496832210316077,-1.6192740022060927e-5,-2.7000937830024997e-8,-0.0017493572693855985,-1.6410744434680557e-5,-2.719422519070173e-8,-0.001748978948913387,-1.6579358203906588e-5,-2.7344668887639668e-8,-0.0017485704968312657,-1.6681163415333903e-5,-2.74369274282324e-8,-0.0017481574240992264,-1.670883282721197e-5,-2.7464466784574147e-8,-0.0017477653066889829,-1.666547427544194e-5,-2.742983935525184e-8,-0.0017474168841164288,-1.6564305460559376e-5,-2.7344394725503e-8,-0.001747129279233854,-1.6427879931202274e-5,-2.722763656186771e-8,-0.0017469110243550452,-1.6286771476204226e-5,-2.7106146180372478e-8,-0.0017467586534195868,-1.6177063093025705e-5,-2.7011472007132247e-8,-0.0017466533463252492,-1.6135412490742596e-5,-2.6975864478472212e-8,-0.0017465594178202246,-1.6190686058868135e-5,-2.7024931986323628e-8,-0.0017464276261986936,-1.6352739951425828e-5,-2.7167717614836124e-8,-0.0017462061719448097,-1.6602042086509395e-5,-2.7387475511613235e-8,-0.0017458589390846183,-1.688727509586495e-5,-2.7639480984314817e-8,-0.001745383793112345,-1.7137548063945405e-5,-2.7861723308800773e-8,-0.001744819115139456,-1.7287659579105718e-5,-2.7997065592867195e-8,-0.0017442316274042247,-1.7303833560797986e-5,-2.8015768007836517e-8,-0.0017436912573285538,-1.7194973975304273e-5,-2.7925287860788828e-8,-0.001743247452036388,-1.7004614184730193e-5,-2.7763247275154654e-8,-0.0017429180130239536,-1.6791404372740664e-5,-2.758049651565357e-8,-0.0017426913839497045,-1.6609904370917028e-5,-2.7424492345162885e-8,-0.001742536475141356,-1.649859690995107e-5,-2.7328913073261393e-8,-0.0017424137905466815,-1.6475754777084468e-5,-2.731001280582881e-8,-0.0017422844622990985,-1.6540670952381766e-5,-2.7367575703814308e-8,-0.001742116355369948,-1.6677544114767887e-5,-2.7488179361086792e-8,-0.0017418876343611228,-1.686031928037145e-5,-2.764933739189588e-8,-0.0017415883616594284,-1.70577248174131e-5,-2.782387438953023e-8,-0.0017412205022093819,-1.7238115114124338e-5,-2.7984175560639326e-8,-0.0017407965855088022,-1.737379930727008e-5,-2.8106002984605667e-8,-0.0017403372333003285,-1.744456666693547e-5,-2.81716008451723e-8,-0.0017398678463401798,-1.7440083829039737e-5,-2.817179627356715e-8,-0.0017394149398974874,-1.7360942313155324e-5,-2.8106908907450188e-8,-0.0017390025998627163,-1.7218462503755394e-5,-2.7986581351569095e-8,-0.0017386492629266872,-1.7033516940844868e-5,-2.78287765345854e-8,-0.0017383648667583472,-1.6834511621145167e-5,-2.7658071698212013e-8,-0.0017381483860776027,-1.6654526309760896e-5,-2.750323777098479e-8,-0.0017379857880764208,-1.6527352718845074e-5,-2.7393844848311547e-8,-0.0017378488996451671,-1.6481799532138352e-5,-2.735530264547702e-8,-0.0017376966372265247,-1.653390656976417e-5,-2.7402002468754002e-8,-0.0017374807521994074,-1.6678137811977933e-5,-2.752950967892001e-8,-0.0017371577619254865,-1.6881003467352378e-5,-2.7708880462880502e-8,-0.0017367058418978965,-1.7082956805723142e-5,-2.7888277038928824e-8,-0.0017361397871615877,-1.7213636041267133e-5,-2.8006313607759834e-8,-0.0017355130919502622,-1.7217983517437767e-5,-2.8014887489228886e-8,-0.0017349010873700975,-1.7080148864802256e-5,-2.789998107144859e-8,-0.0017343723348015217,-1.6829898005292252e-5,-2.7687166142917287e-8,-0.0017339647832955254,-1.6527764114669422e-5,-2.742869117101087e-8,-0.0017336786370508808,-1.6239846977128967e-5,-2.718170516827529e-8,-0.0017334849605685624,-1.6017009429821272e-5,-2.6990333500378085e-8,-0.0017333407869161536,-1.588567181395312e-5,-2.6877727087182345e-8,-0.0017332024740586718,-1.5848606242811324e-5,-2.6846667644146168e-8,-0.0017330340615586818,-1.5890746362680283e-5,-2.68844715727071e-8,-0.0017328110493750382,-1.598598400945783e-5,-2.696877596915934e-8,-0.00173252127473545,-1.6103053832416733e-5,-2.7072598915931684e-8,-0.0017321643150833425,-1.6210210138051937e-5,-2.716841036510506e-8,-0.0017317501140170313,-1.6278998147010685e-5,-2.723144593688566e-8,-0.0017312970188940173,-1.6287366080985484e-5,-2.7242447571344237e-8,-0.0017308292084595779,-1.6222185622260528e-5,-2.7189872388028625e-8,-0.001730373452436675,-1.6081006942388617e-5,-2.7071418830950497e-8,-0.0017299553582569695,-1.5872667604661172e-5,-2.6894553273205772e-8,-0.0017295955423252537,-1.5616500957420817e-5,-2.6675832877706237e-8,-0.0017293061873740823,-1.5340170469505593e-5,-2.6439061947713e-8,-0.0017290883470865532,-1.507625010199129e-5,-2.6212382075122478e-8,-0.0017289303472872032,-1.485771739629063e-5,-2.6024423253133448e-8,-0.0017288076171489378,-1.4712600788592941e-5,-2.5899692716363257e-8,-0.0017286843786890062,-1.4657982104751628e-5,-2.5853345982890227e-8,-0.0017285179920752429,-1.469378801204321e-5,-2.5885710544355952e-8,-0.0017282669016267444,-1.4797809692912494e-5,-2.597784298491023e-8,-0.0017279022709099565,-1.4924826606494031e-5,-2.6090678957383975e-8,-0.0017274210330882648,-1.5013539408658058e-5,-2.6171041964052904e-8,-0.0017268544886931924,-1.500339980186787e-5,-2.6166307322124555e-8,-0.0017262646488298942,-1.4857541654773406e-5,-2.6044338623451537e-8,-0.0017257250829835684,-1.4580494467278208e-5,-2.5808814537283378e-8,-0.0017252937794389228,-1.4218526667931194e-5,-2.5499476937908507e-8,-0.0017249930231404602,-1.3840794807331261e-5,-2.517585149150039e-8,-0.0017248067699141875,-1.351270711306445e-5,-2.4894335555473773e-8,-0.0017246934534974646,-1.3276295708485894e-5,-2.4691333401292228e-8,-0.0017246038274408126,-1.314433765536367e-5,-2.4578159853052325e-8,-0.0017244948196652298,-1.3105269854769773e-5,-2.454517288778279e-8,-0.0017243364526524838,-1.3132362073222714e-5,-2.456957312402072e-8,-0.0017241132667976712,-1.3192342565411862e-5,-2.4622786661510245e-8,-0.0017238228661482834,-1.325163183139236e-5,-2.4675851118792835e-8,-0.0017234735662261548,-1.3280343921097598e-5,-2.470291409721152e-8,-0.0017230820075737141,-1.3254924222723466e-5,-2.4683557620105018e-8,-0.0017226707950760843,-1.3160121817767504e-5,-2.4604525475472103e-8,-0.001722265910630456,-1.2990581890931382e-5,-2.4461095384133306e-8,-0.001721893605087852,-1.275194862461917e-5,-2.4258014835579526e-8,-0.0017215766694778005,-1.2461004044485085e-5,-2.400961012256891e-8,-0.0017213304202050618,-1.2144266502687791e-5,-2.373858904526001e-8,-0.0017211591144521662,-1.1834740035222872e-5,-2.3473278345894057e-8,-0.0017210536379387664,-1.15669121811399e-5,-2.3243368159746304e-8,-0.0017209912434660293,-1.137053703664978e-5,-2.3074600444917153e-8,-0.00172093786428734,-1.126418106526938e-5,-2.2983213066028008e-8,-0.0017208531150557185,-1.1249725559581083e-5,-2.2971150222902847e-8,-0.0017206977257007766,-1.1309037278010377e-5,-2.3023095245395752e-8,-0.0017204427559582552,-1.1404176889886242e-5,-2.3106548502949438e-8,-0.0017200791234227555,-1.1482681882738014e-5,-2.3176327687590162e-8,-0.0017196246541953794,-1.148889330573019e-5,-2.3184350335903796e-8,-0.001719124641958263,-1.1380227657635337e-5,-2.3093722950941158e-8,-0.0017186423638384035,-1.114361781624759e-5,-2.289295661201278e-8,-0.0017182400231541156,-1.0804036814357762e-5,-2.2603315828948557e-8,-0.0017179572397719124,-1.0418304686722344e-5,-2.2273489276189473e-8,-0.0017177979779009823,-1.0055136813138216e-5,-2.1962468500676522e-8,-0.0017177326568771723,-9.771363476111051e-6,-2.171915971274942e-8,-0.0017177126940655086,-9.59618259083335e-6,-2.1568855933039855e-8,-0.0017176882158911563,-9.528664202440341e-6,-2.151102115154199e-8,-0.0017176207842986657,-9.54532916023194e-6,-2.152570092195504e-8,-0.001717488539588401,-9.61114215968148e-6,-2.1582903167043163e-8,-0.0017172856020235222,-9.688935408136953e-6,-2.1650695633700068e-8,-0.0017170188075453885,-9.745503388018222e-6,-2.1700489974222203e-8,-0.001716704030343493,-9.75481187740589e-6,-2.1709853665659155e-8,-0.001716363051667733,-9.699527683861308e-6,-2.1663854398151375e-8,-0.0017160209740540878,-9.571902058244573e-6,-2.155581284513286e-8,-0.0017157037275235207,-9.374493289871258e-6,-2.1387892099804606e-8,-0.0017154351582843574,-9.12063251889091e-6,-2.1171465309349033e-8,-0.0017152334371241793,-8.834059379219236e-6,-2.0926792740536966e-8,-0.0017151070380174468,-8.54691461997685e-6,-2.0681324010697784e-8,-0.0017150511747853247,-8.295434661355793e-6,-2.0466057621787945e-8,-0.0017150460711992154,-8.113332137404114e-6,-2.030992124260642e-8,-0.0017150584488687581,-8.023886119027629e-6,-2.0233017236108107e-8,-0.0017150469068009022,-8.032794681682757e-6,-2.0240470470753276E-08,-0.0017149705846409252,-8.124212126971078e-6,-2.031895666669989e-8,-0.0017147992299687779,-8.261786867259084e-6,-2.043750161115691e-8,-0.0017145220766764634,-8.39524066367176e-6,-2.0553060054856926e-8,-0.001714152932724592,-8.471588872493842e-6,-2.062012893709478e-8,-0.0017137294505731322,-8.448766698921679e-6,-2.0602470471424994e-8,-0.0017133056268037235,-8.30827935977141e-6,-2.0484010951138584e-8,-0.0017129382965746429,-8.062726137621993e-6,-2.0275329834940626e-8,-0.0017126708829768335,-7.754388283059394e-6,-2.0012476947012425e-8,-0.0017125200757254853,-7.443621313326269e-6,-1.9747060849152198e-8,-0.0017124712795059404,-7.190431363037621e-6,-1.9530504080148718e-8,-0.001712485108463056,-7.0366396458408515e-6,-1.9398773754969298e-8,-0.0017125116285125956,-6.995979960543143e-6,-1.9363850589301513e-8,-0.0017125055152946264,-7.054904126090996e-6,-1.941433171688431e-8,-0.0017124362267456486,-7.181290036679982e-6,-1.9522819783303132e-8,-0.0017122912356786113,-7.33559115667751e-6,-1.9655458212988638e-8,-0.0017120739679193392,-7.480041670713854e-6,-1.9779851901213196e-8,-0.0017117993662422982,-7.584250733816216e-6,-1.9869913460128613e-8,-0.0017114893374762983,-7.627641340691138e-6,-1.9907989660052855e-8,-0.0017111690927208221,-7.6000125055850025e-6,-1.9885345225042433e-8,-0.0017108644073861132,-7.501412760528949e-6,-1.9802025000362843e-8,-0.0017105992780522003,-7.341978719606794e-6,-1.966667578346078e-8,-0.0017103933189507282,-7.1417111820099305e-6,-1.949632951528594e-8,-0.0017102585004460788,-6.929573781906971e-6,-1.9315642219774395e-8,-0.0017101954017993111,-6.7409497837180035e-6,-1.9154764556717096e-8,-0.0017101899463117245,-6.612514274616833e-6,-1.904501927146042e-8,-0.0017102124219094009,-6.574302226505446e-6,-1.9012164611844463e-8,-0.0017102208546907933,-6.640381461484933e-6,-1.906841604034119e-8,-0.0017101696872487946,-6.801430426475136e-6,-1.920604126355059e-8,-0.0017100221870999638,-7.023203351349197e-6,-1.939596217498844e-8,-0.0017097624173563275,-7.2532026779098715e-6,-1.959339512897098e-8,-0.0017094018542985613,-7.4343348959541015e-6,-1.9749511339903364e-8,-0.0017089776595243197,-7.520980981562084e-6,-1.982519953065219e-8,-0.0017085430785728673,-7.491875094526717e-6,-1.98021064005799e-8,-0.0017081533169143335,-7.355782261528479e-6,-1.968751486928549e-8,-0.0017078512816734047,-7.148736530329722e-6,-1.9512013140907094e-8,-0.0017076570788535014,-6.924050653939927e-6,-1.9321004792382517e-8,-0.0017075639301940206,-6.73805286028801e-6,-1.9162573935492407e-8,-0.0017075414744693901,-6.635623404704152e-6,-1.9075152574921577e-8,-0.0017075452538536885,-6.6397481673598866e-6,-1.907856769945405e-8,-0.0017075291279762277,-6.74799680854229e-6,-1.917095975773456e-8,-0.001707456464753147,-6.936270654025548e-6,-1.9331909124735297e-8,-0.001707306873839935,-7.167486224038338e-6,-1.9529815014463757e-8,-0.0017070774940020905,-7.40150152130711e-6,-1.9730384470556232e-8,-0.001706780055599116,-7.603160648750164e-6,-1.9903542367193303e-8,-0.0017064359548183703,-7.747073464223104e-6,-2.0027552034501053e-8,-0.0017060712869391593,-7.819370843360752e-6,-2.009053088308096e-8,-0.0017057128647851082,-7.81750689300007e-6,-2.0090272816758505e-8,-0.0017053853475831233,-7.749258787440385e-6,-2.0033369653230264e-8,-0.0017051090246987348,-7.63165252439743e-6,-1.9934273203516424e-8,-0.0017048976130836205,-7.48990374053086e-6,-1.9814391821666054e-8,-0.0017047556071532683,-7.355870167993619e-6,-1.9700800557958514e-8,-0.0017046752314598494,-7.265069438578037e-6,-1.962374814999241e-8,-0.001704633907873945,-7.251176602605976e-6,-1.9612010035070857e-8,-0.0017045942123405239,-7.337574074837141e-6,-1.968569133958673e-8,-0.0017045088636094908,-7.527447475358424e-6,-1.984773628854404e-8,-0.0017043321125059295,-7.796609969145614e-6,-2.0077728553648004e-8,-0.0017040352892301902,-8.094628881719389e-6,-2.033278529821439e-8,-0.0017036199174814714,-8.357321757473915e-6,-2.0558199710134475e-8,-0.0017031207453830734,-8.527279641554265e-6,-2.07049674527795e-8,-0.0017025957211632837,-8.573251713438601e-6,-2.0746330786424403e-8,-0.0017021073995130097,-8.499347348814524e-6,-2.0685612575558143e-8,-0.0017017044497118188,-8.341162243397592e-6,-2.0552915628861326e-8,-0.0017014101770728533,-8.152663137236833e-6,-2.0393996128262026e-8,-0.001701220123087332,-7.99029114266652e-6,-2.0256802195303342e-8,-0.0017011069963663247,-7.899440803721392e-6,-2.0180015465234488e-8,-0.0017010298088642021,-7.905934485141747e-6,-2.0185786978182623e-8,-0.0017009442845075707,-8.013087611659719e-6,-2.0277176829621546e-8,-0.001700812271449088,-8.203778005991368e-6,-2.043983579510598e-8,-0.001700608518360257,-8.446292559298515e-6,-2.0646923134808663e-8,-0.0017003238336688721,-8.702227743979316e-6,-2.086581340902206e-8,-0.0016999645473487364,-8.934420936028888e-6,-2.106486263485468e-8,-0.00169954913513485,-9.113190354238928e-6,-2.1218747636263865e-8,-0.0016991033874861217,-9.22001102864717e-6,-2.1311618593498575e-8,-0.0016986554807616981,-9.248647435155238e-6,-2.13380740034121e-8,-0.0016982318855080062,-9.204399731118582e-6,-2.1302519561850147e-8,-0.0016978543995590132,-9.10238542444722e-6,-2.121770451114759e-8,-0.0016975380294125626,-8.965565187764711e-6,-2.1103046899748445e-8,-0.0016972892355614753,-8.822716746064468e-6,-2.0982928734896224e-8,-0.001697104147393287,-8.706075816679848e-6,-2.0884721675880377e-8,-0.0016969666972081788,-8.647926619789557e-6,-2.0835920379221263e-8,-0.00169684740011825,-8.675181170249637e-6,-2.0859546028640884e-8,-0.0016967045804855362,-8.801519162920972e-6,-2.0967436610679105e-8,-0.0016964905065300056,-9.01844333619171e-6,-2.1152579343920042e-8,-0.0016961639731149969,-9.289415793960601e-6,-2.138406153842879e-8,-0.001695707106127775,-9.553311743058151e-6,-2.160998864081665e-8,-0.0016951385176591758,-9.741104001052941e-6,-2.1771702413548394e-8,-0.0016945128063564176,-9.801298769835388e-6,-2.1825425829586347e-8,-0.001693902985101117,-9.720976758235634e-6,-2.176009941619977e-8,-0.0016933741666031645,-9.529958261736527e-6,-2.1600847624303437e-8,-0.0016929627649807358,-9.286767509844959e-6,-2.1397063223247418e-8,-0.0016926700984223038,-9.056285660978077e-6,-2.1203544267075215e-8,-0.0016924690855679811,-8.890755742029625e-6,-2.1064502321326876e-8,-0.0016923170302585921,-8.819805710338477e-6,-2.1005150945671767e-8,-0.0016921682214408472,-8.8489478525651e-6,-2.1030391509463162e-8,-0.0016919833229793798,-8.963433333096914e-6,-2.1127991678712995e-8,-0.0016917350451069605,-9.1345146397534e-6,-2.1273812337831973e-8,-0.0016914106590955637,-9.326304850307346e-6,-2.1437577987506275e-8,-0.0016910119930584138,-9.50234733555081e-6,-2.158843896357954e-8,-0.0016905533915853798,-9.631291450467526e-6,-2.1699798048136526e-8,-0.0016900581754099764,-9.69110899668149e-6,-2.1752905508392625e-8,-0.0016895542586885487,-9.671493446052107e-6,-2.1738910779710982e-8,-0.0016890696305639124,-9.574362283327237e-6,-2.1659302094648493e-8,-0.0016886283866275086,-9.412685663855614e-6,-2.1524925607916213e-8,-0.001688247743667381,-9.208192002297713e-6,-2.1354054577412935e-8,-0.0016879360364431592,-8.98854909081757e-6,-2.1170017704178606e-8,-0.0016876914563649197,-8.784322466768402e-6,-2.0998642806816554e-8,-0.0016875013089274406,-8.625690463057586e-6,-2.086549585606093e-8,-0.0016873417279686287,-8.53858560005698e-6,-2.0792626469016813e-8,-0.001687178325547085,-8.539692110101775e-6,-2.079432297753112e-8,-0.0016869691166023061,-8.630151987089456e-6,-2.0871746461888742e-8,-0.0016866715029369072,-8.789267347131455e-6,-2.100754636158876e-8,-0.001686254318023176,-8.97163165767185e-6,-2.1163398058176738e-8,-0.0016857129301765929,-9.112940780203801e-6,-2.1284938230037018e-8,-0.0016850801573558933,-9.148161471228022e-6,-2.1317184884815498e-8,-0.001684422796496244,-9.037763226930734e-6,-2.122672379094548e-8,-0.0016838198027999708,-8.787797426035769e-6,-2.1018591580797273e-8,-0.0016833318949512636,-8.44940531154977e-6,-2.0735764854021037e-8,-0.0016829803888256231,-8.096954946202853e-6,-2.0440726785689123e-8,-0.0016827459755191082,-7.799047296914452e-6,-2.0191141842253217e-8,-0.001682583454796451,-7.598483392665845e-6,-2.0023083749209106e-8,-0.0016824406087873034,-7.507046345778621e-6,-1.9946647297024858e-8,-0.00168227233893414,-7.511005682637191e-6,-1.995050767444206e-8,-0.0016820477635596358,-7.580629314178077e-6,-2.0009840918065495e-8,-0.0016817519149339769,-7.679226904576688e-6,-2.0093885939198342e-8,-0.0016813844563981313,-7.770076038468931e-6,-2.017176810577966e-8,-0.00168095711875254,-7.821310599237092e-6,-2.02166337334569e-8,-0.0016804905773571324,-7.809332280904686e-6,-2.020854689581189e-8,-0.001680010953275545,-7.72105576611143e-6,-2.013639837823021e-8,-0.001679546036692029,-7.555014866778501e-6,-1.999884849506686e-8,-0.0016791214090587767,-7.3212178391739496e-6,-1.9804212819061585e-8,-0.0016787568208649483,-7.0396326381076e-6,-1.956919439356282e-8,-0.0016784633058374865,-6.737431280764423e-6,-1.9316573595337173e-8,-0.0016782413530992905,-6.445394475960026e-6,-1.907219462969039e-8,-0.001678080222805157,-6.193862700986028e-6,-1.8861571689255484e-8,-0.0016779584103784654,-6.008506027515523e-6,-1.8706342929766363e-8,-0.001677845249146384,-5.906093833141004e-6,-1.8620715185890165e-8,-0.0016777038192801804,-5.890290612856807e-6,-1.8607914310898255e-8,-0.0016774958004093384,-5.947719194763358e-6,-1.8656841222782147e-8,-0.0016771890493794792,-6.04551842846217e-6,-1.873997969081269e-8,-0.001676767832841618,-6.132885965309012e-6,-1.8814675758844495e-8,-0.0016762435242489034,-6.149771262434435e-6,-1.8830466334363702e-8,-0.0016756602448421592,-6.044400624246342e-6,-1.8743841862040513e-8,-0.001675087945535953,-5.795520152856072e-6,-1.8536922752685177e-8,-0.001674600133436057,-5.427392994706577e-6,-1.8229981102522346e-8,-0.0016742451149479186,-5.004926323171685e-6,-1.7877295972549893e-8,-0.0016740276746855878,-4.608399079730942e-6,-1.7546004506771972e-8,-0.0016739119980301556,-4.302510944871832e-6,-1.729026756861099e-8,-0.0016738412334485694,-4.117301795986611e-6,-1.7135338860309113e-8,-0.0016737597260480786,-4.047201977927108e-6,-1.7076725758927597e-8,-0.0016736272940627243,-4.062129813392705e-6,-1.708939796436854e-8,-0.0016734236526182423,-4.121225593287399e-6,-1.7139232302019368e-8,-0.0016731464204356393,-4.183527382690121e-6,-1.719194905092986e-8,-0.001672806667024793,-4.214324596648135e-6,-1.721846074771176e-8,-0.0016724243936852225,-4.1882372375009135e-6,-1.7197481453770475e-8,-0.0016720247121886067,-4.090499672781078e-6,-1.71166177315317e-8,-0.001671634560924054,-3.9173958791691575e-6,-1.697273167292582e-8,-0.0016712796064216253,-3.676148262014399e-6,-1.677183719774153e-8,-0.0016709811132979546,-3.3841381804794744e-6,-1.6528438089025636e-8,-0.001670752839878428,-3.067097445950772e-6,-1.626401154436992e-8,-0.0016705983902454557,-2.755995668689129e-6,-1.6004410253319553e-8,-0.0016705096420609104,-2.4827410471397807e-6,-1.5776279333381472e-8,-0.0016704667555038147,-2.2751486697532836e-6,-1.5602864533974782e-8,-0.001670440054529566,-2.151829226592785e-6,-1.5499751063543376e-8,-0.001670393800312215,-2.117817669325008e-6,-1.5471212409242127e-8,-0.001670291584102462,-2.1617204405963794e-6,-1.5507814775575798e-8,-0.0016701029794063543,-2.2550054075283997e-6,-1.5585801952800447e-8,-0.0016698110099757678,-2.354258371242796e-6,-1.5668961170856538e-8,-0.0016694193436379667,-2.4075797922360825e-6,-1.5713962061550806e-8,-0.0016689568880535386,-2.3659216383981152e-6,-1.5679837674904023e-8,-0.001668476255894404,-2.198389705642687e-6,-1.5540770761251108e-8,-0.0016680427111036224,-1.9070635849955495e-6,-1.5298448763090533e-8,-0.0016677138985701416,-1.5331708742942751e-6,-1.49871845626283e-8,-0.001667517861434114,-1.147223731015582e-6,-1.4665690841976024e-8,-0.0016674416245268775,-8.243545513833562e-7,-1.4396566986045408e-8,-0.0016674379465091208,-6.170824570407865e-7,-1.4223645290633774e-8,-0.0016674458929825874,-5.401446955353702e-7,-1.415932767755485e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json new file mode 100644 index 000000000..ddc7d4dd9 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":20000,"numberOfSamples":1000,"samples":[0.002920358133904192,-6.784113942412794e-6,1.9052440314477163e-8,0.0029206413912713745,-6.613636446664559e-6,1.880279195741177e-8,0.0029208307139081857,-6.4248857259363685e-6,1.8526799455172666e-8,0.002920930147853429,-6.259580496894272e-6,1.8285299846459358e-8,0.002920958301557765,-6.151401288497133e-6,1.8127384394993633e-8,0.002920943527534336,-6.121517965926748e-6,1.8083876197142136e-8,0.002920918375602291,-6.176714362040785e-6,1.816459054828576e-8,0.0029209142523147777,-6.309966452545619e-6,1.8359183512205728e-8,0.0029209570493570875,-6.502919273456435e-6,1.864078390277559e-8,0.0029210641805222245,-6.729529878146821e-6,1.8971329337261025e-8,0.0029212431239192664,-6.960111764971586e-6,1.9307474224319167e-8,0.0029214911994797127,-7.165144308668532e-6,1.960613535377138e-8,0.002921796120285953,-7.318617634903727e-6,1.982935162046132e-8,0.002922137007124233,-7.4010933087209115e-6,1.994874542519259e-8,0.0029224858842140738,-7.402792330024526e-6,1.9950053694911065e-8,0.0029228100891597296,-7.3269133160290385e-6,1.9838013786501703e-8,0.0029230765056806078,-7.192875581754198e-6,1.9641124744988003e-8,0.002923258593947595,-7.038021661925838e-6,1.941411030247615e-8,0.0029233461420444737,-6.914897975233613e-6,1.9233867338703342e-8,0.0029233550561071457,-6.88082642372724e-6,1.9184132872670825e-8,0.002923331035256764,-6.979157664713172e-6,1.9328047777690732e-8,0.002923340142385916,-7.2183869507838524e-6,1.9677702094935728e-8,0.002923445583922481,-7.561828631160178e-6,2.0179192009197127e-8,0.002923681317946548,-7.937980661899995e-6,2.072789220706034e-8,0.0029240384097172193,-8.268180631197756e-6,2.1208898937220332e-8,0.0029244717828463846,-8.495446917109097e-6,2.1539128515592525e-8,0.0029249206337382287,-8.5993447870362e-6,2.168897594018406e-8,0.0029253292642615033,-8.593866031641322e-6,2.1679150221309016e-8,0.002925659785723746,-8.515407336314436e-6,2.1563040883823154e-8,0.0029258958667452545,-8.409144036535884e-6,2.140676187245665e-8,0.0029260405842169023,-8.318330424117874e-6,2.1273515340970926e-8,0.0029261116369550147,-8.277597083016847e-6,2.1213831819462888e-8,0.0029261360482877165,-8.309529221173803e-6,2.1260608728115165e-8,0.0029261452014683505,-8.42340926017503e-6,2.142729184107828e-8,0.002926170313882796,-8.615486024606374e-6,2.1708269585437497e-8,0.00292623844165663,-8.870566448345604e-6,2.2081201504360447e-8,0.00292636924853009,-9.164729529600066e-6,2.2511001728707966e-8,0.0029265727710682966,-9.46889441648262e-6,2.295507952203869e-8,0.0029268483980316373,-9.752900430721535e-6,2.336931848773817e-8,0.0029271851539575938,-9.989600330613871e-6,2.371405611551756e-8,0.0029275631112714875,-1.0158516530347245e-5,2.3959412562508196e-8,0.002927955664309901,-1.0248883948905652e-5,2.408973052847181e-8,0.002928332543885939,-1.0262052169211477e-5,2.4107097524156514e-8,0.002928663659626732,-1.0213176614852856e-5,2.4033835922844377e-8,0.002928924086482032,-1.0131859571605514e-5,2.391343414198871e-8,0.002929100469893201,-1.006068720901442e-5,2.380835533385682e-8,0.00292919825272032,-1.0049779074946679e-5,2.3791978424671676e-8,0.0029292472514429032,-1.0145544621233506e-5,2.3932078427797663e-8,0.0029293008561212352,-1.0374107175155202e-5,2.4266580620660107e-8,0.0029294238469290295,-1.0725024417737487e-5,2.4779841229322424e-8,0.002929669111734987,-1.114611883277768e-5,2.539521780426727e-8,0.0029300535325597157,-1.1558053316444333e-5,2.599647534430263e-8,0.0029305485124082784,-1.1884615009568598e-5,2.647210161222967e-8,0.0029310923955805034,-1.2081611605397568e-5,2.675757842754958e-8,0.002931616304399638,-1.2148069338781219e-5,2.6851763811636517e-8,0.002932067285150511,-1.2117575796211164e-5,2.6804177118692685e-8,0.002932418917621506,-1.2040100109443465e-5,2.6688285414068273e-8,0.002932670230039864,-1.1965464765100921e-5,2.657720810322275e-8,0.0029328387680504554,-1.1933289258766363e-5,2.6528961772784398e-8,0.00293295270881014,-1.196897681852962e-5,2.658062017342903e-8,0.002933044376699607,-1.2083490982675024e-5,2.67480469420976e-8,0.0029331455921541476,-1.2274805413081184e-5,2.7028061070784242e-8,0.002933284292138651,-1.2529877406152909e-5,2.7401345594697467e-8,0.00293348183921598,-1.2826952297089921e-5,2.7835835906596038e-8,0.0029337508490475143,-1.3138354603080276e-5,2.829083170402535e-8,0.002934093645838865,-1.3433894030281315e-5,2.872201713802254e-8,0.0029345016544849406,-1.3684880135773215e-5,2.908736254701938e-8,0.0029349561406361926,-1.386840837531521e-5,2.935340201831078e-8,0.002935430486740117,-1.3971275110489517e-5,2.95009506018706e-8,0.002935893835760189,-1.3992889279387817e-5,2.9529348563241594e-8,0.002936315747796631,-1.3946693107954746e-5,2.9458526641335536e-8,0.0029366714399644074,-1.3859725730502529e-5,2.9328347332084718e-8,0.0029369471463227275,-1.3770076163005065e-5,2.919483182596872e-8,0.0029371450608840764,-1.3721886782902614e-5,2.912277265954847e-8,0.002937286864066753,-1.3757394229001907e-5,2.917400350300773e-8,0.0029374138979444495,-1.3905986529102212e-5,2.9391340967481903e-8,0.002937581299334286,-1.4172039349156543e-5,2.9780814874648412e-8,0.002937844163109093,-1.45262281968288e-5,3.029905020497397e-8,0.0029382377175291947,-1.4907319198974039e-5,3.085599616240686e-8,0.0029387598782889463,-1.5239082205155629e-5,3.13397558100923e-8,0.0029393676298225253,-1.5457827043506526e-5,3.165695446938089e-8,0.002939992216838139,-1.5536378976067384e-5,3.1767915909756623e-8,0.0029405653190518453,-1.5490797301223943e-5,3.169654522724492e-8,0.002941041254771594,-1.536815347138079e-5,3.151235350452084e-8,0.00294140542344543,-1.5225670745632641e-5,3.129971116966001e-8,0.0029416699353257774,-1.511314588614597e-5,3.113191036723647e-8,0.002941863403875871,-1.5063955018859357e-5,3.105791466104839e-8,0.002942020994539501,-1.5093505935668198e-5,3.110013611490886e-8,0.002942177366646585,-1.520170158147927e-5,3.125814014183412e-8,0.0029423625508156873,-1.537654151057894e-5,3.1514004634474597e-8,0.002942599690849947,-1.559743059921687e-5,3.183721614696178e-8,0.00294290359336924,-1.5838011990550073e-5,3.2188849522134435e-8,0.00294327957060671,-1.606891948600009e-5,3.252562907878252e-8,0.002943722566359027,-1.626091105834113e-5,3.2804552667574874e-8,0.0029442169460562008,-1.6388674978272435e-5,3.2988495583917805e-8,0.002944737613991192,-1.643514977217652e-5,3.3052553288382284e-8,0.002945253028492552,-1.6395599116742716e-5,3.299000825108424e-8,0.0029457301748656087,-1.6280316984019043e-5,3.2816276383530096e-8,0.0029461409054937337,-1.6114844458962526e-5,3.2569189442586106e-8,0.002946468467779173,-1.59369584836108e-5,3.230452078197805e-8,0.0029467127007430827,-1.5790452065963385e-5,3.20867790313752e-8,0.002946892484190752,-1.571653783339316e-5,3.19765091292342e-8,0.0029470444074099875,-1.574421226294738e-5,3.201610119609517e-8,0.00294721700040216,-1.5881334913556607e-5,3.2216717921521556e-8,0.002947460426363542,-1.6108825234197094e-5,3.2549869520431156e-8,0.002947812788728661,-1.6380947123874963e-5,3.294795449427606e-8,0.002948286406491707,-1.663423983095662e-5,3.3317466246604255e-8,0.0029488597757889802,-1.6805051579412595e-5,3.356478318315856e-8,0.0029494809972528905,-1.6850594771345913e-5,3.362711592054566e-8,0.0029500837834087173,-1.6764027436157334e-5,3.3494691584581735e-8,0.002950609547099543,-1.65754022846451e-5,3.321214488618771e-8,0.0029510248489415226,-1.6338277873894157e-5,3.285874310463184e-8,0.002951326908519711,-1.6110067758768604e-5,3.251932528889389e-8,0.002951537740617979,-1.5935923031543694e-5,3.226045946019777e-8,0.002951692897861342,-1.5841154803625142e-5,3.2119268917177497e-8,0.0029518308167177263,-1.5831373922113136e-5,3.210371527010424e-8,0.002951985680243071,-1.5896753371837802e-5,3.219898309769699e-8,0.0029521838394617654,-1.6017149276703177e-5,3.237510141211502e-8,0.0029524425171660266,-1.6166416508957604e-5,3.259333287301716e-8,0.002952769476479237,-1.631566760743691e-5,3.281097659429368e-8,0.0029531628666808734,-1.6435949662826805e-5,3.298530817637135e-8,0.002953611072809355,-1.6501010877409013e-5,3.307765926789581e-8,0.0029540929521073237,-1.6490693620487103e-5,3.305842467294873e-8,0.002954579264429746,-1.639499922671663e-5,3.291305556929234e-8,0.00295503617946976,-1.6218085914775832e-5,3.264794315872196e-8,0.0029554312636725514,-1.598068794654785e-5,3.2293958485677294e-8,0.002955741283648492,-1.5719093070127868e-5,3.1904895652031e-8,0.002955959806034109,-1.547937573783238e-5,3.154889715991773e-8,0.0029561017019983917,-1.5307268455907255e-5,3.129343797151466e-8,0.002956202124345455,-1.5236171399037398e-5,3.118759456372629e-8,0.002956309344895545,-1.5277053681785616e-5,3.124717312307237e-8,0.002956473061121083,-1.5413664099591182e-5,3.144774573045378e-8,0.002956731321048645,-1.56048785559379e-5,3.1728248939181924e-8,0.00295709965139376,-1.5793981380019647e-5,3.20047831722283e-8,0.002957565526219128,-1.592284518104132e-5,3.2191570296512827e-8,0.002958090281759539,-1.5947524626471783e-5,3.2223937815342005e-8,0.0029586188407144266,-1.5850738642942996e-5,3.2076690446522256e-8,0.002959094945026436,-1.5646720190761735e-5,3.177121976954928e-8,0.002959476848073268,-1.5376083073574004e-5,3.136786811924238e-8,0.0029597476091094625,-1.5092533249955837e-5,3.094622473963542e-8,0.0029599165389014807,-1.4847001851064014e-5,3.058161120537158e-8,0.0029600126576895124,-1.4675368085643121e-5,3.032691574396036e-8,0.0029600742944759875,-1.4593152680899354e-5,3.020479859533819e-8,0.0029601393336397405,-1.4596748310243467e-5,3.020960605628144e-8,0.002960238698290419,-1.4668406120361078e-5,3.031483113270092e-8,0.002960393348094185,-1.4782054688900286e-5,3.048176038556993e-8,0.0029606137208240614,-1.4908213038661743e-5,3.0666732803764704e-8,0.002960900307724539,-1.5017561814104221e-5,3.082638893027108e-8,0.002961244434757364,-1.50835587775595e-5,3.092151102287129e-8,0.0029616289196745093,-1.508481954343969e-5,3.092053838966425e-8,0.0029620288994349014,-1.5007922270276185e-5,3.080373072655211e-8,0.002962413625758523,-1.485083932757977e-5,3.056826258788275e-8,0.0029627502369207145,-1.4626387490437281e-5,3.023332794121676e-8,0.002963010182597418,-1.4364071234967201e-5,2.9842834228472035E-08,0.002963177767764606,-1.4107920694885702e-5,2.9462135061082662e-8,0.002963258245024794,-1.390835698351417e-5,2.9165907356940043e-8,0.002963281197327158,-1.3808595017261191e-5,2.9017964910745684e-8,0.0029632955592347656,-1.3829869002871433e-5,2.9049396981577167e-8,0.0029633562901483323,-1.396211303207011e-5,2.9244867118890364e-8,0.002963507429295757,-1.4165122782118485e-5,2.9544476640865564e-8,0.0029637685076608447,-1.4380196230406393e-5,2.986111941278739e-8,0.0029641293995320965,-1.4547336536681909e-5,3.010599812437667e-8,0.0029645544477331213,-1.462147944059388e-5,3.021262159737794e-8,0.002964993199433165,-1.4582947790407866e-5,3.015220993420224e-8,0.002965393786237881,-1.4440252912374524e-5,2.993775541428279e-8,0.002965715263846332,-1.4225700000439636e-5,2.9617431791449873e-8,0.002965936105661564,-1.3985740295725363e-5,2.926023813664994e-8,0.0029660572013795127,-1.3768956215185547e-5,2.893816297894991e-8,0.0029660991821764673,-1.361495218959358e-5,2.8709729777681658e-8,0.0029660954822132313,-1.3546940317984253e-5,2.8609061319606824e-8,0.0029660836753954115,-1.3569374678669404e-5,2.86424548981107e-8,0.002966097715672726,-1.3670152439685494e-5,2.8791723939980673e-8,0.002966162758787371,-1.382559151959131e-5,2.9021622975413763e-8,0.002966292909415142,-1.4006141463460001e-5,2.9288313696922994e-8,0.0029664912327432187,-1.4181368889154244e-5,2.9546719679842586e-8,0.00296675098439865,-1.432364071392131e-5,2.975594063607446e-8,0.0029670571768570203,-1.441068763053631e-5,2.988302426452729e-8,0.0029673880824924595,-1.4427641005829092e-5,2.990599124607975e-8,0.0029677168251591012,-1.4369146872198044e-5,2.9817001755657374e-8,0.002968013691011178,-1.4241810907193253e-5,2.962601250879183e-8,0.0029682500709710805,-1.4066513065220714e-5,2.93642059457502e-8,0.002968404731954602,-1.387910107568484e-5,2.9084963591962518e-8,0.002968471978193223,-1.3727039399383037e-5,2.88588007731629e-8,0.002968469059433979,-1.3659767445614165e-5,2.875897632722551e-8,0.0029684378958154877,-1.3713145157645224e-5,2.8838395498620046e-8,0.00296843646941631,-1.3893353069001035e-5,2.9105800690051132e-8,0.0029685202671800416,-1.4169383669450605e-5,2.9514779524273305e-8,0.0029687215722676882,-1.4480741544933563e-5,2.997532983204709e-8,0.0029690374925616814,-1.4758063993347154e-5,3.038452227517716e-8,0.002969432550313911,-1.494625005415047e-5,3.0660807023103234e-8,0.0029698527534371528,-1.501941615613648e-5,3.076614564288683e-8,0.002970242975131316,-1.4983590593674082e-5,3.070991787329774e-8,0.002970560707010411,-1.486978332026129e-5,3.053852833456252e-8,0.002970783380041674,-1.4722598896256202e-5,3.031840881526067e-8,0.0029709096528671933,-1.4588664344004444e-5,3.01187930361603e-8,0.0029709563531596737,-1.4507263299708571e-5,2.999782950169233e-8,0.0029709528196634203,-1.450412607323851e-5,2.9993430059943106e-8,0.0029709340930672533,-1.4588613765477793e-5,3.011917526326649e-8,0.0029709342235076834,-1.4754157039491757e-5,3.036503994043903e-8,0.0029709808089967682,-1.4981337496558506e-5,3.070201327711546e-8,0.0029710914938153535,-1.524256500555707e-5,3.1089054340748793e-8,0.0029712726180356206,-1.5507206205397086e-5,3.1480689014010646e-8,0.0029715197167699482,-1.5746211713835314e-5,3.1833846061620287e-8,0.002971819217195222,-1.5935676545529305e-5,3.211310994113541e-8,0.0029721506391493777,-1.6059298169857467e-5,3.2294356226821274e-8,0.002972488915422919,-1.6110085669579795e-5,3.236730284468479e-8,0.0029728068475521232,-1.609171171330991e-5,3.233754856855953e-8,0.0029730780491342918,-1.6019684593364873e-5,3.2228331099957483e-8,0.002973280996517472,-1.5922014544477006e-5,3.2081488017266414e-8,0.002973404663571169,-1.5838170077771026e-5,3.195582334149546e-8,0.0029734552005521004,-1.581431674792034e-5,3.1919928221359786e-8,0.002973461188362297,-1.589302000644207e-5,3.2036819078499595e-8,0.0029734728689441363,-1.609792381140514e-5,3.234121094806937e-8,0.0029735507610109523,-1.6418860094304986e-5,3.281753040259766e-8,0.002973744280704623,-1.6807320664665265e-5,3.3393348896120576e-8,0.0029740698756861514,-1.7189700640362698e-5,3.395915574472174e-8,0.002974502213153519,-1.7494403406110863e-5,3.4408643234550394e-8,0.002974984560957685,-1.767802825408724e-5,3.4677597890506306e-8,0.0029754513730213712,-1.773672456282881e-5,3.476073805538473e-8,0.002975849730807777,-1.7700253301847003e-5,3.470280180238341e-8,0.0029761508530331345,-1.7616516953682456e-5,3.4575409590022556e-8,0.0029763511916333146,-1.7535807952942615e-5,3.445351817065031e-8,0.0029764671850589274,-1.7499734982786542e-5,3.439891544803893e-8,0.002976527814731713,-1.753553605886131e-5,3.445182277720747e-8,0.0029765674333753333,-1.7654482487030005e-5,3.462863214504655e-8,0.0029766197783471023,-1.785285028144174e-5,3.4923452338110174e-8,0.002976713303471049,-1.8114495901758313e-5,3.531200044507124e-8,0.00297686786306883,-1.841450460826479e-5,3.575704849602197e-8,0.002977092820345906,-1.8723439945705067e-5,3.6214741069552453E-08,0.0029773865940886136,-1.9011730919729806e-5,3.6641106825301627e-8,0.00297773758195352,-1.9253744086145604e-5,3.6998098021908325e-8,0.002978126225410339,-1.9431077092030192e-5,3.725847234837322e-8,0.002978527778364898,-1.953481608938666e-5,3.740914085341509e-8,0.0029789154040244796,-1.9566826718393777e-5,3.7453087807647996e-8,0.002979263474936315,-1.9540223734977267e-5,3.741007038668588e-8,0.002979551126528603,-1.9479037319080024e-5,3.731610210216535e-8,0.002979766242014358,-1.9416859969519788e-5,3.722137847792964e-8,0.0029799099497124348,-1.9393715173435276e-5,3.7185523694292244e-8,0.002980000915971834,-1.94498533312271e-5,3.7268276541520824e-8,0.0029800772524500073,-1.9615566721707554e-5,3.7514326950814606e-8,0.002980192469529219,-1.9898167604817833e-5,3.7934040287157073e-8,0.0029804022602219083,-2.0271164712515565e-5,3.8487521814506124e-8,0.0029807434701728474,-2.067424132501533e-5,3.9084720785291444e-8,0.0029812147089178787,-2.1030261025836366e-5,3.961077233026522e-8,0.0029817719928732045,-2.127449949752043e-5,3.99694784583061e-8,0.0029823449666828935,-2.1379992430783766e-5,4.0121037663042906e-8,0.0029828645165091085,-2.136410513008704e-5,4.009182899623436e-8,0.0029832854451143304,-2.127531976246566e-5,3.995464665032265e-8,0.002983594498668351,-2.1171712511966522e-5,3.97964527218785e-8,0.0029838054954291746,-2.1103248487216302e-5,3.9691834147374094e-8,0.002983948836829765,-2.110276132606735e-5,3.968953147631429e-8,0.002984061290257191,-2.1184288397485705e-5,3.981006008442894e-8,0.002984178513731084,-2.1345484561751207E-05,4.004945855912969e-8,0.00298433040769511,-2.157146104983014e-5,4.0385128619668554e-8,0.002984538433971821,-2.183875045296736e-5,4.078179890719198e-8,0.002984814157245484,-2.2119128743535838e-5,4.1197228817699106e-8,0.0029851587068223267,-2.2383338100873876e-5,4.158774803164346e-8,0.0029855631058775885,-2.260472386163859e-5,4.191366897386889e-8,0.002986009558291577,-2.2762699849510053e-5,4.214444460091879e-8,0.002986473810408079,-2.2845709776562213e-5,4.226307152736928e-8,0.0029869284555065143,-2.285321248440732e-5,4.226903134195116e-8,0.0029873468009023675,-2.279640960153469e-5,4.217934987696174e-8,0.0029877069362470323,-2.2697618488155953e-5,4.202762496290873e-8,0.002987995706883981,-2.2588196005956238e-5,4.186087368514205e-8,0.0029882122724941918,-2.250493424394035e-5,4.173407992678916e-8,0.002988370845250907,-2.2484777608857293e-5,4.170223881865493e-8,0.0029885017936435655,-2.255756728162393e-5,4.180950622118746e-8,0.002988649508545319,-2.2737002269993502e-5,4.20757789848222e-8,0.002988864944534272,-2.3011660125789477e-5,4.248345478531366e-8,0.0029891917531914853,-2.3340375925996207e-5,4.2970713042447454e-8,0.0029896486141179545,-2.3657833305475466e-5,4.3439950290240724e-8,0.002990215930999584,-2.3893473135528555e-5,4.378597223794274e-8,0.0029908371871804683,-2.399812996226874e-5,4.393568517521914e-8,0.0029914382467285117,-2.396417191820179e-5,4.3878147729951906e-8,0.0029919551613743003,-2.38265851199188e-5,4.3666186218943454e-8,0.0029923547556799392,-2.364535922564181e-5,4.33899815622375e-8,0.0029926388924618567,-2.34815530183942e-5,4.314111317342226e-8,0.0029928352743501543,-2.3379858232251807e-5,4.298635560434982e-8,0.002992983643000855,-2.3362211966869825e-5,4.2958145653724355e-8,0.002993124239325345,-2.3429729514789833e-5,4.305762336091702e-8,0.0029932908205783236,-2.3568260581625195e-5,4.3263117748307686e-8,0.0029935075467194595,-2.3754218892099406e-5,4.353897939933425e-8,0.002993788115402275,-2.3959322132927218e-5,4.3842700238288005e-8,0.002994135865131543,-2.415427368613513e-5,4.413039745178603e-8,0.002994544317604473,-2.431187474329782e-5,4.436143642962751e-8,0.0029949981369148688,-2.4409940834154676e-5,4.4502773677267694e-8,0.002995474733920963,-2.4434159363146072e-5,4.453322269139798e-8,0.002995946867852737,-2.438065412063379e-5,4.444727962470359e-8,0.0029963863997792425,-2.4257633800533217e-5,4.425756592263305e-8,0.0029967688850502656,-2.4085455016201706e-5,4.399488097416399e-8,0.002997078338300538,-2.3894673268282683e-5,4.370522458009922e-8,0.002997311349129843,-2.3721945852451404e-5,4.344359182276227e-8,0.002997479656226587,-2.360404297666528e-5,4.32649398235654e-8,0.0029976103593761477,-2.357065305448074e-5,4.3213385803306306e-8,0.002997743110787153,-2.3636926496027646e-5,4.3311086910764544e-8,0.002997923748088096,-2.379704664473801e-5,4.354874311053949e-8,0.0029981942175954005,-2.4020889171051923e-5,4.388077348084879e-8,0.0029985799058661606,-2.4256592745038067e-5,4.422930981774514e-8,0.0029990778745615423,-2.444143335305884e-5,4.450051619084297e-8,0.002999651934402648,-2.4520419116148653e-5,4.461236561595702e-8,0.003000240119555401,-2.4466536425871935e-5,4.452486712152954e-8,0.0030007744382348467,-2.4292342453891288e-5,4.4257372821343864e-8,0.0030012043836071256,-2.4045254021272564e-5,4.388146492212079e-8,0.003001512146798215,-2.3788596603881732E-05,4.3492440534199405e-8,0.003001713011004348,-2.3579216292932016e-5,4.3175608587979206e-8,0.0030018440201570076,-2.345253767991309e-5,4.298382851303703e-8,0.0030019492490419297,-2.3418849803166555e-5,4.293202980731309e-8,0.0030020683571267115,-2.3467794115789163e-5,4.300412504387121e-8,0.003002230577040951,-2.3575924418412295e-5,4.3164515275253525e-8,0.0030024530481396073,-2.371369072928725e-5,4.336864156691746e-8,0.0030027414546316424,-2.3850507219765965e-5,4.357057053753451e-8,0.0030030914014577796,-2.395813305179184e-5,4.3728004665977624e-8,0.003003489836964812,-2.4013129247926298e-5,4.3805913400348664e-8,0.003003916505986112,-2.3999045197511412e-5,4.3779791639210484e-8,0.0030043458018004154,-2.3908648392456543e-5,4.3639009503235175e-8,0.003004749546491452,-2.3746015567883387e-5,4.338995688522113e-8,0.0030051010544452283,-2.3527756377723387e-5,4.305786620408989e-8,0.003005380278727441,-2.3282359290256304e-5,4.268578367873625e-8,0.0030055791218540325,-2.3046814799346892e-5,4.232942511550203e-8,0.003005705403471987,-2.2860300990568903e-5,4.2047613637055405e-8,0.0030057838269298923,-2.2755768795899834e-5,4.188959157506121e-8,0.0030058528292368726,-2.275134395340437e-5,4.188212374752424e-8,0.003005957307061821,-2.2843946110056914e-5,4.2020014794074985E-08,0.003006138413427418,-2.300724171618979e-5,4.226319699714995e-8,0.0030064225790959894,-2.319527741556905e-5,4.254234844837243e-8,0.003006812562702178,-2.335201743558618e-5,4.277330694714285e-8,0.0030072836012702583,-2.3425444976355578e-5,4.2878234687331705e-8,0.003007787264335132,-2.3382901257872224e-5,4.280856410095554e-8,0.003008263689228249,-2.3222450315454287e-5,4.2561953877304193e-8,0.0030086592071474436,-2.2974830200955383e-5,4.218511547518296e-8,0.0030089426676550976,-2.26937486182808e-5,4.17591305405803e-8,0.00300911333844383,-2.2438134195979213e-5,4.137267939823414e-8,0.003009197487585295,-2.225432969879038e-5,4.1095226879594374e-8,0.003009236757661162,-2.216547948200621e-5,4.0961121500672567e-8,0.003009274709149118,-2.217043771176245e-5,4.09681037873079e-8,0.0030093468102407217,-2.224960297551781e-5,4.108625065125137e-8,0.003009475717436156,-2.2373205783984607e-5,4.1270546851323725e-8,0.003009670815179887,-2.250862585044295e-5,4.147189797251425e-8,0.0030099299700386954,-2.2625428795493783e-5,4.164463699013084e-8,0.00301024187402901,-2.269838136100306e-5,4.1750971465696804e-8,0.003010588197802463,-2.2709282253166442e-5,4.17636812926794e-8,0.0030109454772800953,-2.2648401738654642e-5,4.1668279995880246e-8,0.0030112871514783373,-2.2515993789587058e-5,4.1465320020488957e-8,0.003011586410402015,-2.2323777967550487e-5,4.1172650945728414e-8,0.003011820354517727,-2.2095615453953176e-5,4.082642765490463e-8,0.0030119753682766987,-2.1866121724890676e-5,4.0478962804724885e-8,0.0030120526329220835,-2.167596603147096e-5,4.019155827324615e-8,0.003012071619005174,-2.1563470526289128e-5,4.002177521312465e-8,0.0030120689879420764,-2.1553983387326334e-5,4.0007412510859045e-8,0.0030120914835277484,-2.1650539471334874e-5,4.015251477306536e-8,0.003012183981443884,-2.1829957093484467e-5,4.0421644155871945e-8,0.003012376436940448,-2.2046872823385574e-5,4.074612539538994e-8,0.003012674385510726,-2.2245060636632923e-5,4.104120937557746e-8,0.003013056385483303,-2.237249037808146e-5,4.122877520759659e-8,0.003013479206572159,-2.2395363336080645e-5,4.125840285038834e-8,0.00301388907552939,-2.2307009988112173e-5,4.112064949092303e-8,0.003014235716569667,-2.21292539477236e-5,4.0848957479960844e-8,0.0030144852458368573,-2.1905904722336058e-5,4.0509715506145036e-8,0.003014628140393211,-2.1690273931464643e-5,4.0183354013727575e-8,0.0030146798861370155,-2.1530670765035162e-5,3.9942465173289727e-8,0.003014674513909391,-2.1458647516230403e-5,3.9834154839566405e-8,0.0030146539150070514,-2.1483480978725524e-5,3.9871866653527925e-8,0.003014657045850174,-2.159355446238517e-5,4.003762590554032e-8,0.0030147123189946208,-2.1762610361229233e-5,4.029158028075859e-8,0.0030148344079461886,-2.1957660138997936e-5,4.0583952504102195e-8,0.003015024723893025,-2.214588593896058e-5,4.0865392615269084e-8,0.0030152739036193445,-2.22993320272481e-5,4.109395623141755e-8,0.0030155648211872598,-2.239750335835605e-5,4.123893927793968e-8,0.0030158753159103555,-2.242862410171888e-5,4.1282740545661414e-8,0.0030161804959735242,-2.239035571976067e-5,4.122196425411615e-8,0.0030164549748184135,-2.2290484655788065e-5,4.106850249505057e-8,0.0030166756785176938,-2.2147566876471484e-5,4.085053467582822e-8,0.0030168257902463656,-2.1990840651876128e-5,4.0612367627877493e-8,0.0030168998356597245,-2.185809576971141e-5,4.041113557692705e-8,0.003016908801918456,-2.1790004412026398e-5,4.030814374624823e-8,0.0030168827390098687,-2.1820318277313286e-5,4.035402021045058e-8,0.0030168675107474373,-2.19637983748077e-5,4.057054444845606e-8,0.003016913871536386,-2.220687703617631e-5,4.09366942603126e-8,0.003017061280745224,-2.2507121073764624e-5,4.138801109760418e-8,0.0030173232653145413,-2.28042122748035e-5,4.1833304318833444e-8,0.0030176816547766365,-2.3038752114974032e-5,4.218308051823787e-8,0.003018092461901088,-2.317060860472061e-5,4.2377204037070425e-8,0.0030185000617629827,-2.3189358211647577e-5,4.240056434796237e-8,0.0030188531890023565,-2.3114278349446322e-5,4.2282916648184983e-8,0.0030191172695145925,-2.298608274263823e-5,4.2086230161827244e-8,0.003019280521670172,-2.2854616393563075e-5,4.188596434454325e-8,0.00301935377876645,-2.27664496809722e-5,4.1752283274555145e-8,0.0030193653932179577,-2.2755137035095014e-5,4.173540981919782e-8,0.0030193531828910203,-2.2835689436507088e-5,4.185743087774839e-8,0.003019355569264338,-2.3003756094996915e-5,4.211123646364793e-8,0.003019403958407845,-2.323899690414335e-5,4.246574371735947e-8,0.003019517875462904,-2.3511172447957385e-5,4.2875145551518413e-8,0.003019703373553423,-2.3786991097561844e-5,4.328922423781491e-8,0.003019954219332213,-2.4036029761377636e-5,4.3662218358333147e-8,0.003020254766068992,-2.423482031971884e-5,4.395891153209101e-8,0.003020583367897793,-2.4369010761043288e-5,4.415784033020523e-8,0.0030209155492026242,-2.4434102956819604e-5,4.425239523927991e-8,0.0030212267021837735,-2.443546844269732e-5,4.4250868318591255e-8,0.0030214945520319145,-2.438812313993975e-5,4.417614262844354e-8,0.0030217018620748537,-2.4316298536123176e-5,4.406504030121207e-8,0.0030218398456035413,-2.4252307744576375e-5,4.396654725060574e-8,0.003021912331535931,-2.4233602777596313e-5,4.39372627104561e-8,0.0030219396761021347,-2.429662036167427e-5,4.4032012805518794e-8,0.0030219599100410016,-2.4466782499552282e-5,4.4288740896769435e-8,0.00302202361177359,-2.4746531459929342e-5,4.47105455738881e-8,0.003022180395983599,-2.5107010582484676e-5,4.525329764117915e-8,0.003022460057180725,-2.5490814286278737e-5,4.5829951905006934e-8,0.003022857627761485,-2.5828964736561783e-5,4.633626256410645e-8,0.003023332267934383,-2.6065721301283244e-5,4.668826880948124e-8,0.003023821927221237,-2.6178133626157623e-5,4.685181828073514e-8,0.0030242654527104103,-2.618060722133502e-5,4.6849397702988095e-8,0.00302462064736006,-2.6115003315723564e-5,4.674500325784846e-8,0.003024872054652819,-2.6034210741007566e-5,4.661907867346306e-8,0.003025029247398639,-2.5987096868666402e-5,4.654559337911846e-8,0.003025119674183166,-2.600869221520683e-5,4.657718713531259e-8,0.0030251798618585422,-2.6115962524536738e-5,4.6738915646380234e-8,0.003025247304514287,-2.6307892425086884e-5,4.702858653637406e-8,0.0030253540345252404,-2.6568373656992416e-5,4.742130825887169e-8,0.003025522180290973,-2.6870812112854194e-5,4.7876552038498893e-8,0.0030257616742353777,-2.718362842899639e-5,4.834647617031556e-8,0.0030260701248843638,-2.7475754898200334e-5,4.878418797216237e-8,0.003026434531440565,-2.7721296131052857e-5,4.915072369570908e-8,0.003026834267375794,-2.790282528074767e-5,4.941997646359749e-8,0.003027244652317317,-2.801310467185596e-5,4.958126578195143e-8,0.00302764045789911,-2.8055375984440208e-5,4.963976761859313e-8,0.0030279989828120874,-2.8042678247256376e-5,4.961548465878466e-8,0.003028302732030385,-2.7996614735003015e-5,4.9541371336797554e-8,0.0030285419382640503,-2.7945668380696642e-5,4.946074008271887e-8,0.0030287171664962805,-2.7922799028450726e-5,4.9423540183523226e-8,0.003028841979820805,-2.796162115926255e-5,4.948048077466765e-8,0.0030289448272879803,-2.8090202994150213e-5,4.967360897101288e-8,0.00302906808799766,-2.832216698757468e-5,5.002291747065914e-8,0.003029261393516597,-2.8646859820436187e-5,5.051165188848918e-8,0.0030295674732655794,-2.9023648863821986e-5,5.107788139765754e-8,0.0030300035036457318,-2.9387468552092513e-5,5.1622994265168756e-8,0.003030547654439084,-2.966892547984612e-5,5.204210187529804e-8,0.0030311419708281494,-2.9821700123341288e-5,5.226546402242462e-8,0.003031713429022907,-2.9841451121119933e-5,5.228710697781398e-8,0.0030322015269454838,-2.9764614366811912e-5,5.216297581619774e-8,0.003032576700297681,-2.964992539693665e-5,5.1982771928407634e-8,0.0030328427049061664,-2.95558177823456e-5,5.18354400080819e-8,0.0030330273738204275,-2.952483864326578e-5,5.178537523848844e-8,0.0030331699517057442,-2.9577898541893805e-5,5.1863748181959154e-8,0.0030333104138618784,-2.9715604944099784e-5,5.207074030425486e-8,0.003033482465717576,-2.9922976396352082e-5,5.238294189196952e-8,0.0030337098242709487,-3.017493755703473e-5,5.276185486031358e-8,0.0030340047066781646,-3.0441434203506502e-5,5.316170038656006e-8,0.0030343677318868385,-3.069201162682167e-5,5.353632168723621e-8,0.0030347889661070187,-3.089987345211356e-5,5.384526338775909e-8,0.0030352499978571756,-3.104524236184448e-5,5.405880170678398e-8,0.0030357268634388502,-3.111778908424594e-5,5.416158516454266e-8,0.0030361935715449567,-3.1117887001919675e-5,5.415451590233293e-8,0.003036625814699871,-3.105651407747209e-5,5.4054586154864e-8,0.003037004388893214,-3.095390233892545e-5,5.3892806738359834e-8,0.003037318044491069,-3.083722670992275e-5,5.3710656905416486e-8,0.0030375656938618433,-3.073753439132445e-5,5.355535566628204e-8,0.0030377579336559293,-3.068595891553895e-5,5.347403607373892e-8,0.0030379177300265737,-3.0709070813912385e-5,5.350663829087113e-8,0.00303807966723912,-3.0823076928323533e-5,5.367713979638666e-8,0.0030382864205653216,-3.102708512509555e-5,5.3983480616954495e-8,0.003038580787609243,-3.1297162733261364e-5,5.438876948576837e-8,0.0030389926926067358,-3.158502205672186e-5,5.481947606929273e-8,0.003039524072818,-3.1826340398447944e-5,5.517809779127173e-8,0.0030401396754807146,-3.196074975273588e-5,5.5373393880473416e-8,0.0030407732402690456,-3.1956872342941396e-5,5.5358273365942866e-8,0.0030413506216760183,-3.1827784431995975e-5,5.515324561172027e-8,0.0030418182463314066,-3.1625541651179424e-5,5.4838080988230775e-8,0.003042160215499455,-3.141800758364335e-5,5.4516451859117366e-8,0.003042396527409552,-3.126315753054347e-5,5.4276642795710085e-8,0.003042568426483442,-3.119410063882663e-5,5.416865946881467e-8,0.0030427219468042673,-3.121729790939866e-5,5.4201628447496637e-8,0.0030428965072263536,-3.131876817788899e-5,5.435349924198628e-8,0.0030431195875498325,-3.1472417249374476e-5,5.4583966139684054e-8,0.003043405671120528,-3.164719823662061e-5,5.48454888443154e-8,0.003043757278206,-3.181220441401584e-5,5.509103044165085e-8,0.0030441666670632966,-3.194016210578213e-5,5.527928024881129e-8,0.0030446177728978936,-3.2010055857858906e-5,5.537854846801234e-8,0.0030450884814295937,-3.200922767702134e-5,5.5369895852801475e-8,0.003045553386619406,-3.193493319092446e-5,5.524947681257876e-8,0.003045987115545042,-3.179510076572901e-5,5.502968803317016e-8,0.0030463680745412454,-3.1607871380829794e-5,5.473845618856727e-8,0.0030466821164058687,-3.139963516825679e-5,5.441621391559135e-8,0.0030469255028017037,-3.120163298944072e-5,5.4110664553357935e-8,0.003047106649642553,-3.1045429760949075e-5,5.3869815322197836e-8,0.003047246264489913,-3.0957724333207185e-5,5.373401644060654e-8,0.0030473756148905722,-3.0955076276420677e-5,5.372793333790556e-8,0.0030475327337165107,-3.10391075449408e-5,5.385333611732599e-8,0.0030477562593878016,-3.119291882112134e-5,5.408383161903094e-8,0.0030480767420623433,-3.138019112187306e-5,5.436371344206401e-8,0.003048506271394186,-3.154923496407961e-5,5.461427067933738e-8,0.003049029398017934,-3.164403612417949e-5,5.4750595244403097E-08,0.003049600741217892,-3.162181473782961e-5,5.470817249590223e-8,0.0030501546590933595,-3.147129459702184e-5,5.447053534930495e-8,0.0030506267199089275,-3.122124129326912e-5,5.408216609011085e-8,0.003050977543809847,-3.0931489493301834e-5,5.363475132421305e-8,0.0030512056349143645,-3.066970206362606e-5,5.323164358366911e-8,0.0030513427951945633,-3.048709541508865e-5,5.2950735410073135e-8,0.0030514375272195533,-3.0405493613713788e-5,5.2824725934812176e-8,0.0030515374213706445,-3.0418359774685625e-5,5.284287745599565e-8,0.003051677995809869,-3.050014466075965e-5,5.296553808075435e-8,0.0030518790092155215,-3.061696562449272e-5,5.314062781446654e-8,0.003052145625853913,-3.073469977610028e-5,5.3316031028704927e-8,0.0030524714707749288,-3.082377392153637e-5,5.344682144560079e-8,0.0030528417493476028,-3.086160174564249e-5,5.34988474804598e-8,0.0030532358836312897,-3.0833881042707114e-5,5.345060667689741e-8,0.003053629879526026,-3.0735485986035706e-5,5.3294565854492434e-8,0.0030539988364117142,-3.0571146292916206e-5,5.30382059792326e-8,0.0030543199507090837,-3.0355674406952507e-5,5.270438907050841e-8,0.0030545760956502454,-3.0113150877368533e-5,5.233010961195881e-8,0.00305475954547292,-2.9874438142143042e-5,5.1962653663563995e-8,0.003054874940487383,-2.967277780668974e-5,5.165280031939516e-8,0.0030549404324154324,-2.9537825570307475e-5,5.144563962738253e-8,0.0030549861390338404,-2.9489134143288323e-5,5.137059250576423e-8,0.0030550495976808005,-2.953061394193003e-5,5.143300630399881e-8,0.003055168710759939,-2.9647526534915528e-5,5.160970828560753e-8,0.0030553733364540553,-2.9807121158297693e-5,5.1850176986509324e-8,0.0030556770688369554,-2.9963521348213533e-5,5.208418350889287e-8,0.0030560711382057876,-3.0066914121891328e-5,5.223590149011024e-8,0.003056522783852153,-3.007606385331831e-5,5.224295582005858e-8,0.0030569803906741184,-2.9971466768568165e-5,5.207634125974998e-8,0.0030573862107332603,-2.9764480348069197e-5,5.1754164969916074e-8,0.0030576939719519337,-2.9497043921062268e-5,5.134105271121149e-8,0.0030578844960596806,-2.9229485363525857e-5,5.092940536552576e-8,0.0030579714726823846,-2.9020378842860718e-5,5.060856308901679e-8,0.00305799430929109,-2.890783769790072e-5,5.0436246780448754e-8,0.0030580024833647516,-2.8900743931462217e-5,5.042530128741445e-8,0.0030580398139917744,-2.8981793723107103e-5,5.0548579370877406e-8,0.0030581349144192635,-2.9117796452997896e-5,5.075489270553819e-8,0.0030582989710085853,-2.927092112731661e-5,5.0986296117823764e-8,0.00305852838098303,-2.9406906130383003e-5,5.1190589621726315e-8,0.00305880913029923,-2.9499417804318987e-5,5.132784410791377e-8,0.0030591209014314944,-2.9531615236497716e-5,5.1372652866946216e-8,0.003059440241717404,-2.949633831159525e-5,5.131434068941656e-8,0.00305974298908132,-2.9395907947313022e-5,5.1156659354477445e-8,0.0030600065090859636,-2.9241933794825013e-5,5.091753916282965e-8,0.00306021229511157,-2.9054948323373344e-5,5.062856693783168e-8,0.003060349177847135,-2.8863199511689882e-5,5.033312632870034e-8,0.003060416814008068,-2.8699745555567035e-5,5.008188395273282e-8,0.0030604284223485962,-2.8597283966096064e-5,4.992478512143156e-8,0.0030604111977471983,-2.858098323762389e-5,4.990002248696701e-8,0.0030604029204521956,-2.8660871126497475e-5,5.002240613766968e-8,0.0030604443802250266,-2.8826475438747818e-5,5.027527520898142e-8,0.0030605691021830185,-2.9046441406551585e-5,5.061009175503469e-8,0.00306079346737266,-2.927436144349517e-5,5.0955543464884993e-8,0.0030611106463299936,-2.945974872572592e-5,5.123445153963956e-8,0.003061490627398194,-2.9561147187201426e-5,5.1383839021491824e-8,0.0030618866932196325,-2.9557585511589545e-5,5.137235223398255e-8,0.0030622468460100747,-2.9455021239405097e-5,5.1209933881528055e-8,0.0030625273270125427,-2.9285654512983767e-5,5.0946554534423536e-8,0.0030627045011972953,-2.909970499319971e-5,5.065943900038011e-8,0.003062781223049597,-2.8951506243513924e-5,5.043168206571564e-8,0.0030627851170516554,-2.8884214842026012e-5,5.032886811317642e-8,0.003062759221135395,-2.8918582214671775e-5,5.038203695084455e-8,0.0030627487734678108,-2.9049687038960627e-5,5.0582911500186546e-8,0.0030627893702877065,-2.9251814457828465e-5,5.0891584468485985e-8,0.0030629003148716434,-2.9488179827505706e-5,5.1251525998749074e-8,0.0030630839037973016,-2.972103318011528e-5,5.160504457192073e-8,0.0030633288315558426,-2.9918997653759335e-5,5.190441062046527e-8,0.003063615124797014,-3.0060785653816723e-5,5.211739828811116e-8,0.003063918729338474,-3.013609360645597e-5,5.222854366679751e-8,0.003064214995878956,-3.014497667576545e-5,5.223815136496016e-8,0.0030644811540353513,-3.0096760320048008e-5,5.2160662139867385e-8,0.003064698316991432,-3.0009023509637796e-5,5.202315302953461e-8,0.0030648536429064674,-2.990656924730143e-5,5.1863784882354814e-8,0.0030649429933266646,-2.9819741475536308e-5,5.1729180727117875e-8,0.0030649738454125133,-2.9781167475517766e-5,5.166933721709507e-8,0.0030649674206902153,-2.98201748061254e-5,5.172897531156119e-8,0.0030649581828044383,-2.9955006804012056e-5,5.19355879701887e-8,0.0030649887015580467,-3.0184701153387606e-5,5.2287079973691934e-8,0.0030650993228122743,-3.048438554024296e-5,5.274472973817438e-8,0.0030653151426291397,-3.080799959377198e-5,5.3237545317571995e-8,0.0030656356436287177,-3.109971429626911e-5,5.36798936350581e-8,0.003066032397083313,-3.131062399609393e-5,5.3997123564829124e-8,0.0030664566457068772,-3.141392264624986e-5,5.414878191396371e-8,0.003066853673243906,-3.141241782904111e-5,5.414000445922996e-8,0.003067178107954643,-3.1336255718859404e-5,5.401782535141934e-8,0.003067405017322031,-3.123297452844401e-5,5.385569119674471e-8,0.0030675342967685115,-3.115406523908855e-5,5.3732673458228506e-8,0.0030675883450696387,-3.1142126616185284e-5,5.3713731593782084e-8,0.003067604598905477,-3.122165258980363e-5,5.3835712946092174e-8,0.0030676253853558076,-3.139518885501176e-5,5.41016984091395e-8,0.0030676878955794595,-3.164514859820826e-5,5.448403678006608e-8,0.0030678167760080873,-3.1940102956282886e-5,5.4934156079083943e-8,0.00306802082106185,-3.22432379520567e-5,5.539556794925043e-8,0.0030682938008947383,-3.252038055262967e-5,5.581610023286302e-8,0.003068618188348601,-3.2745712319185725e-5,5.6156527333722295e-8,0.0030689700372110436,-3.290455445210272e-5,5.63947158589191e-8,0.0030693235621584002,-3.299368835276426e-5,5.652604281911584e-8,0.0030696546829265168,-3.302018003318915e-5,5.656158441311524e-8,0.003069943501781531,-3.299964329710182e-5,5.652548727111865e-8,0.0030701761356594238,-3.295448884467991e-5,5.6452316329964884e-8,0.0030703464351241215,-3.2912168983386934e-5,5.6384348797087725e-8,0.0030704579205523843,-3.290292724600728e-5,5.6368046064395786e-8,0.0030705257705411666,-3.2956240209135014e-5,5.6448491101539555e-8,0.003070577902929506,-3.3095212754677564e-5,5.666072725949836e-8,0.003070653303256023,-3.332901887976236e-5,5.7018206275630994e-8,0.0030707954675129484,-3.3645317050531466e-5,5.750131258839977e-8,0.003071040281409215,-3.4006866132882734e-5,5.805237688321617e-8,0.003071401442066699,-3.435724590922433e-5,5.858460257890024e-8,0.003071860664240823,-3.463707718078335e-5,5.900700173455468e-8,0.003072369948294953,-3.4805077484133635e-5,5.9256687131385314e-8,0.0030728668933984586,-3.4853323968064e-5,5.932224867940723e-8,0.00307329574470014,-3.4808729472292477e-5,5.9245906426521214e-8,0.0030736238628414326,-3.472127382584356e-5,5.910521892617646e-8,0.0030738476136962186,-3.4646440956723325e-5,5.898583976281836e-8,0.0030739883560582247,-3.462984017376718e-5,5.895772090868357e-8,0.0030740829181741033,-3.46981445897087e-5,5.906122528438606e-8,0.0030741729261370603,-3.485661305223858e-5,5.930354340403719e-8,0.0030742957031104122,-3.509154811261891e-5,5.966276668283171e-8,0.0030744779277463736,-3.537572740023708e-5,6.00964697542749e-8,0.0030747323559975367,-3.5675189893930766e-5,6.055223916889516e-8,0.003075057487670119,-3.5956061174078274e-5,6.097812908001633e-8,0.0030754397046584866,-3.619027550379833e-5,6.133134047523962e-8,0.0030758570531433604,-3.6359408441814945e-5,6.158398173260262e-8,0.0030762836935755364,-3.645637499575067e-5,6.17255797130405e-8,0.0030766941332692503,-3.6485215974385064e-5,6.176270393282051e-8,0.00307706662715048,-3.645952970605651e-5,6.17165520944473e-8,0.0030773855806581914,-3.64002479832436e-5,6.161954383422073e-8,0.0030776432027652626,-3.63332416409525e-5,6.151163570192726e-8,0.003077840759611733,-3.628682113866609e-5,6.143643256726638e-8,0.003077989627912044,-3.628885788142236e-5,6.143667890109774e-8,0.0030781120193623807,-3.6363006241524466e-5,6.154837667649236e-8,0.0030782405956229293,-3.652349964920907e-5,6.179278977302228e-8,0.0030784153961581056,-3.6768720995789186e-5,6.216668724687254e-8,0.003078676287039924,-3.707542807113103e-5,6.263368664319519e-8,0.0030790504999446576,-3.739763323181358e-5,6.312273725650803e-8,0.0030795385416962856,-3.767491089624212e-5,6.354097060212617e-8,0.0030801063485889927,-3.7851372011602716E-05,6.380282181650783e-8,0.003080691860843348,-3.789839797156401e-5,6.3864909335135015E-08,0.0030812263089583505,-3.782804205247127e-5,6.374660437345014e-8,0.0030816595018051856,-3.768799022595951e-5,6.352218567186832e-8,0.003081975175275685,-3.754141745986299e-5,6.328960513196501e-8,0.0030821904003572086,-3.7444257862379394e-5,6.313520651894206e-8,0.003082343638281676,-3.743069219176931e-5,6.311124043335557e-8,0.0030824800552818033,-3.7509564541134194e-5,6.323047245576145e-8,0.0030826400072475326,-3.7668452785068254e-5,6.347276711043042e-8,0.003082852413765722,-3.788093848520992e-5,6.379661295313797e-8,0.003083132266538477,-3.811403698482697e-5,6.415076333549884e-8,0.0030834808667202927,-3.833449478651092e-5,6.448396137955909e-8,0.0030838877341181153,-3.8513714836371074e-5,6.475242681002939e-8,0.0030843336004778847,-3.8631288755844996e-5,6.49251538042667e-8,0.003084794042322366,-3.867707285475078e-5,6.49869875714132e-8,0.0030852433321181686,-3.865183435490819e-5,6.49395475346079e-8,0.0030856581339217173,-3.856655888053119e-5,6.48001336398034e-8,0.0030860206460516367,-3.844058492853828e-5,6.459884806542256e-8,0.0030863208771382037,-3.8298947069799535e-5,6.437449277747022e-8,0.0030865580404335806,-3.816935596666206e-5,6.416988298112212e-8,0.0030867412223701774,-3.807898089265322e-5,6.402682842646071e-8,0.0030868893766480983,-3.8050984731237867e-5,6.398072676630348e-8,0.0030870304944824955,-3.810068561233592e-5,6.405462439468387e-8,0.003087199430753806,-3.823122572618231e-5,6.425261522376926e-8,0.0030874333446925814,-3.842914766591009e-5,6.455320872359164e-8,0.0030877636895722525,-3.866159342862816e-5,6.490525234810125e-8,0.0030882049718960573,-3.887836166676586e-5,6.523127311346362e-8,0.003088743561312213,-3.9022341755227606e-5,6.544356507347711e-8,0.003089333590640843,-3.904860755320145e-5,6.547348840413299e-8,0.0030899071036917716,-3.894510170953161e-5,6.530322358465656e-8,0.0030903979050176593,-3.8742004346281896e-5,6.498015271661827e-8,0.003090767228006569,-3.8501181533249536e-5,6.460049051721142e-8,0.0030910160608724553,-3.8290854101103754e-5,6.426997931057188e-8,0.0030911786470456865,-3.816087723268984e-5,6.406549047523721e-8,0.003091304636594572,-3.81308943961482e-5,6.401668515462453e-8,0.0030914415331645385,-3.819243835001492e-5,6.410948319588161e-8,0.003091624053373996,-3.831851468248846e-5,6.430123035197483e-8,0.0030918706623143453,-3.8474104361764894e-5,6.453722136219927e-8,0.0030921846709144477,-3.8624255014770126e-5,6.476330985906157e-8,0.0030925572633731823,-3.8739191826344275e-5,6.493373044917373e-8,0.0030929709124494467,-3.879722444333691e-5,6.501542077873879e-8,0.003093402731555433,-3.8786312162609277e-5,6.499027635350036e-8,0.0030938277663450082,-3.870467412242986e-5,6.485599547202599e-8,0.0030942222139669767,-3.856054410640383e-5,6.462566902485165e-8,0.003094566519648795,-3.8371053174280506e-5,6.432606100579885e-8,0.0030948481721392368,-3.816012347433993e-5,6.399436069664364e-8,0.003095063804553022,-3.795541247827492e-5,6.36734419165358e-8,0.003095220250846101,-3.778464042825393e-5,6.34061366452044e-8,0.003095334440344874,-3.76716671513097e-5,6.322910755980504e-8,0.00309543208101415,-3.76325912073004e-5,6.316677889485286e-8,0.0030955450293822886,-3.767217508425234e-5,6.32258396731875e-8,0.003095707183071852,-3.778095740397159e-5,6.339090801722296e-8,0.00309594862334514,-3.793365750566644e-5,6.36222778804018e-8,0.003096287931628474,-3.80901905074783e-5,6.385770713701393e-8,0.0030967236941520254,-3.8201303672671125e-5,6.402124536059043e-8,0.003097228280907147,-3.822036947682624e-5,6.404140759803494e-8,0.0030977490184312755,-3.8120022723220564e-5,6.387670810024808e-8,0.0030982210755350135,-3.7907147081520453e-5,6.353864073301886e-8,0.0030985900761617553,-3.762610731223205e-5,6.309655120907573e-8,0.0030988336384995293,-3.734434007536094e-5,6.265523738702239e-8,0.003098968816215725,-3.7126254709522466e-5,6.231441792645098e-8,0.003099041425769494,-3.7010331236075636e-5,6.213318613669418e-8,0.0030991055833493103,-3.7000963291756114e-5,6.211747094970239e-8,0.0030992057850765756,-3.707503307238412e-5,6.223050579274813e-8,0.0030993681475792695,-3.719515769679686e-5,6.241367766141261e-8,0.0030996000182369945,-3.7321886461173106e-5,6.260562024590069e-8,0.0030998940056717068,-3.742152940130405e-5,6.275433238229519e-8,0.003100233021590866,-3.7469791909199243e-5,6.282264287237035e-8,0.0031005946146256498,-3.74527865541713e-5,6.278957087078115e-8,0.0031009543309571943,-3.7366892039579344e-5,6.264995951136436e-8,0.003101288498980592,-3.721816385706405e-5,6.241351573364313e-8,0.0031015767979117176,-3.702139137135275e-5,6.210337620395833e-8,0.0031018047687390517,-3.679862687950359e-5,6.175387343947005e-8,0.0031019661991720264,-3.657686241831285e-5,6.140695022313485e-8,0.0031020649564957345,-3.638462538015085e-5,6.110684934249384e-8,0.0031021156285978737,-3.624768225270253e-5,6.089338495755532e-8,0.003102142484188417,-3.6184428286903e-5,6.079473351831937e-8,0.0031021765631752685,-3.620172937410701e-5,6.082097958568538e-8,0.0031022510076930674,-3.629208197157182e-5,6.095979473559371e-8,0.0031023950750430954,-3.643289906673445e-5,6.117550104443778e-8,0.0031026275545373554,-3.658852828809345e-5,6.141241349154455e-8,0.0031029505897565103,-3.6715498961018746e-5,6.160314515690131e-8,0.0031033454561945222,-3.677128760644678e-5,6.168223979401771e-8,0.0031037725875075316,-3.672594194239396e-5,6.160407633853862e-8,0.0031041783170027994,-3.6573890333345214e-5,6.13609507617016e-8,0.0031045091130757767,-3.634081561194844e-5,6.099349544356457e-8,0.0031047297909969312,-3.607980110758601e-5,6.058452494813771e-8,0.0031048374201034855,-3.585494963702326e-5,6.023352619407363e-8,0.003104862516995215,-3.5718644691785436e-5,6.002135737673514e-8,0.003104856093193385,-3.569405931092349e-5,5.998319444364333e-8,0.0031048700872880267,-3.577137790618058e-5,6.010288490586609e-8,0.003104941604094109,-3.5916960865466545e-5,6.032745899023271e-8,0.00310508658575867,-3.608784938858073e-5,6.058987181278256e-8,0.003105301813939656,-3.6244129061960325e-5,6.082825896614451e-8,0.0031055709169320175,-3.6355939860998774e-5,6.099670423139435e-8,0.003105870647986892,-3.6405690275413666e-5,6.106846533436347e-8,0.0031061756914431407,-3.638750956805874e-5,6.103492926911871e-8,0.0031064618740461935,-3.630572623697611e-5,6.090315332297189e-8,0.0031067083897661323,-3.617327510332381e-5,6.069340518034317e-8,0.0031068996748370463,-3.6010179052804656e-5,6.043687697777326e-8,0.0031070273067826453,-3.5841809895788134e-5,6.017304374810048e-8,0.003107091924907097,-3.569640763286369e-5,5.994580924865879e-8,0.003107104690948129,-3.5601421586642455e-5,5.979775912534584e-8,0.0031070874280543044,-3.557871974140187e-5,5.976263364692894e-8,0.0031070705639987084,-3.563939705212548e-5,5.985721638430891e-8,0.00310708845076731,-3.577953751271076e-5,6.007479140748683e-8,0.0031071724854550274,-3.597857902840596e-5,6.0382741421625e-8,0.003107343449944664,-3.620155104969642e-5,6.072622362437715e-8,0.0031076051132779385,-3.640540195274204e-5,6.10381901744192e-8,0.0031079410880545904,-3.6548419234103456e-5,6.125412657583635e-8,0.0031083163328670636,-3.6600797795219e-5,6.132843658673388e-8,0.003108683776045806,-3.655377779638129e-5,6.12484672972554e-8,0.0031089953478281146,-3.642449473760269e-5,6.104178540723422e-8,0.0031092151923365167,-3.6254006005909544e-5,6.077284786520125e-8,0.003109331132111241,-3.6097367552710236e-5,6.052739707346827e-8,0.00310935954808475,-3.6007610042852635e-5,6.038750927329051e-8,0.0031093404361101393,-3.601917120844064e-5,6.04059490162074e-8,0.0031093239113226005,-3.6137917913298556e-5,6.059089030936383e-8,0.003109354124427072,-3.6341991680345246e-5,6.090751315544337e-8,0.0031094576079410963,-3.6591899919457295e-5,6.12939239128099e-8,0.003109639723574992,-3.684400498898479e-5,6.168222747975021e-8,0.003109888172433052,-3.706155993675539e-5,6.201562972733295e-8,0.003110179865335902,-3.7220522609188814e-5,6.225730522644977e-8,0.0031104876813696455,-3.731061864999249e-5,6.239184703464731e-8,0.00311078539719096,-3.733367074941028e-5,6.242252235980394e-8,0.0031110506840359895,-3.730106234421321e-5,6.236728729470829e-8,0.003111266829818254,-3.723134017143124e-5,6.225510727514509e-8,0.0031114239398752712,-3.7148181411718e-5,6.212287206499815e-8,0.0031115201531575613,-3.7078419428024274e-5,6.201236188919679e-8,0.003111562975299694,-3.7049500972479054e-5,6.196625586571644e-8,0.003111570240611829,-3.7085775629295866e-5,6.20222732746493e-8,0.0031115696907623807,-3.720350361712773e-5,6.220533256957703e-8,0.003111595961660061,-3.740535774526301e-5,6.251900193071125e-8,0.0031116842348012787,-3.7676298720104116e-5,6.293919212979045e-8,0.0031118612256879658,-3.798340020650173e-5,6.341407163920447e-8,0.003112136139777003,-3.828150901245256e-5,6.387306782824209e-8,0.003112495379209596,-3.852427301854293e-5,6.424415997620797e-8,0.003112903926884855,-3.867726198381603e-5,6.447432367142958e-8,0.0031133136874417224,-3.872848224078679e-5,6.454579824951314e-8,0.0031136761793375063,-3.8692456923064395E-05,6.448222652228261e-8,0.0031139554371912236,-3.860656882561176e-5,6.434267804320025e-8,0.0031141372703484766,-3.8521032659985596e-5,6.420576709598722e-8,0.0031142324513703736,-3.848555621137015e-5,6.414873497201981e-8,0.003114273122112332,-3.85363882869955e-5,6.422732768153216e-8,0.0031143034616922818,-3.868736365238427e-5,6.446208120483557e-8,0.0031143674207793413,-3.892758353008189e-5,6.483503018920008e-8,0.003114497459059395,-3.9226240381586666e-5,6.529750515880651e-8,0.0031147078121036174,-3.954245370409532e-5,6.578559894383833e-8,0.00311499378960663,-3.983627974908429e-5,6.623730004445356e-8,0.0031153360888836355,-4.007726426013293e-5,6.660567612073376e-8,0.0031157075151952004,-4.024868825724295e-5,6.686529743458914e-8,0.00311607947574405,-4.034776414925683e-5,6.701237492469503e-8,0.0031164267230209515,-4.038331710088937e-5,6.706105409678788e-8,0.0031167301083817336,-4.037260325837689e-5,6.703845169512361e-8,0.003116977890976981,-4.033831580823609e-5,6.698004129434217e-8,0.0031171663505323325,-4.030610095786534e-5,6.692583316158584e-8,0.0031173002857739405,-4.030233658179883e-5,6.691691302618574e-8,0.0031173935830516013,-4.035158745219613e-5,6.699141672014888e-8,0.003117469472534857,-4.047311163717984e-5,6.71790093138832e-8,0.0031175594775110223,-4.067616621474953e-5,6.749354678239481e-8,0.0031176996760878236,-4.095478103045957e-5,6.792501578391407e-8,0.003117923245200117,-4.1284097202451735e-5,6.843400804444655e-8,0.003118249965451604,-4.162156390749211e-5,6.895378532468487e-8,0.0031186762577232225,-4.1915651713568604e-5,6.940399276282996e-8,0.0031191714040973333,-4.212116830683181e-5,6.971456663709166e-8,0.0031196840741649716,-4.2215346438736336e-5,6.985077033810668e-8,0.003120157847027817,-4.220674667049533e-5,6.98269624957057e-8,0.0031205489414833265,-4.2132362620646234e-5,6.97018734876997e-8,0.0031208383916512266,-4.20448327662397e-5,6.955836204462521e-8,0.003121034785095203,-4.199616018547974e-5,6.947774286240719e-8,0.003121168632125931,-4.202421267565137e-5,6.951862361251391e-8,0.0031212820770698153,-4.214528318978495e-5,6.970544612819716e-8,0.0031214177248149594,-4.235306877230772e-5,7.002722768273191e-8,0.0031216092731973467,-4.2622792035729374e-5,7.044435725304227e-8,0.0031218754919343627,-4.2918580516760454e-5,7.090035608149642e-8,0.0031222181803268524,-4.320209457310386e-5,7.133539946884241e-8,0.003122623947005099,-4.344044848734895e-5,7.169857291254788e-8,0.00312306884485219,-4.361179467816571e-5,7.195639886437939e-8,0.003123524289638139,-4.370774340490241e-5,7.209642624241596e-8,0.0031239626656890764,-4.373282262997294e-5,7.21262580887302e-8,0.0031243615440335547,-4.3701909396077086e-5,7.206948965492392e-8,0.0031247061538028763,-4.3636780471882876e-5,7.196033443639855e-8,0.0031249903765416783,-4.356272900897019e-5,7.183837800351165e-8,0.0031252168682957006,-4.3505688790359626e-5,7.174410685588453e-8,0.0031253968441908885,-4.348975073626395e-5,7.17150048965672e-8,0.0031255497310814042,-4.35346390742139e-5,7.178155313739291e-8,0.00312570246406995,-4.3652662272077505e-5,7.196242839516862e-8,0.0031258876523310264,-4.384487979547073e-5,7.225856364534224e-8,0.003126139361453899,-4.409699636109416e-5,7.26468964950289e-8,0.003126485461480311,-4.437689592985936e-5,7.307674195249288e-8,0.003126937079372063,-4.4637120813428204e-5,7.347383911846252e-8,0.003127478854765807,-4.482535361453673e-5,7.375675854161458e-8,0.0031280666690904416,-4.490213927602775e-5,7.386449999496449e-8,0.0031286382404406153,-4.4858518891369295e-5,7.37839353542856e-8,0.0031291344460409416,-4.472272685316552e-5,7.356017852034121e-8,0.0031295207052957296,-4.455029894921475e-5,7.328095575302624e-8,0.0031297969026368396,-4.440289276125083e-5,7.304320913549977e-8,0.0031299925059136854,-4.4327735522592144e-5,7.292069128837017e-8,0.0031301525953489643,-4.4346566926362245e-5,7.294663172919162e-8,0.003130323040755186,-4.44552245163689e-5,7.311334170083266e-8,0.0031305398839340287,-4.463002091424208e-5,7.338260528006618e-8,0.00313082404631057,-4.483652215332876e-5,7.369977824422968e-8,0.0031311803606072124,-4.503787355813529e-5,7.400698484506922e-8,0.0031315994383132096,-4.5201450522542784e-5,7.425347439859536e-8,0.0031320612381614877,-4.530356848674249e-5,7.440279963037097e-8,0.0031325396046175753,-4.533218545978504e-5,7.443682235158883e-8,0.003133007088926917,-4.528754210138793e-5,7.435654510846008e-8,0.003133439334571156,-4.51809403698077e-5,7.41801159799911e-8,0.003133818472273233,-4.503213230381495e-5,7.393873233871031e-8,0.003134135205289634,-4.486591093923118e-5,7.367133504974223e-8,0.0031343895555660316,-4.470855447784281e-5,7.34190699593144e-8,0.003134590575431148,-4.4584622562577654e-5,7.322027017012072e-8,0.0031347554245567386,-4.451420562905288e-5,7.310611312884732e-8,0.0031349080100163845,-4.451044644791041e-5,7.309669605942408e-8,0.0031350771198854635,-4.457710742852157e-5,7.319723119373661e-8,0.0031352936217133444,-4.47060605212665e-5,7.339422020383135e-8,0.0031355858958112227,-4.487510826442938e-5,7.365224958348347e-8,0.003135972822388433,-4.5047645339306655e-5,7.391369496033267e-8,0.0031364549294214225,-4.517674188187485e-5,7.410524949995039e-8,0.003137006880828943,-4.521608014150156e-5,7.415499865583744e-8,0.0031375773084138556,-4.513707215275879e-5,7.401903658596108e-8,0.003138101428611319,-4.494515854131807e-5,7.370680978793502e-8,0.0031385245037932065,-4.468383466731007e-5,7.328731665396651e-8,0.0031388241332245405,-4.441996388809048e-5,7.286597138629206e-8,0.003139017499846824,-4.421722026618582e-5,7.254276438257211e-8,0.003139150157383647,-4.411342074013215e-5,7.237653893372397e-8,0.0031392756212672386,-4.411288523762928e-5,7.237306272266767e-8,0.003139437968769991,-4.4192948719133804e-5,7.249557334607343e-8,0.0031396632755686426,-4.431658177299298e-5,7.268500837724008e-8,0.0031399588406845693,-4.444412071309936e-5,7.287870894461722e-8,0.0031403166737552367,-4.454122642373622e-5,7.302295817715162e-8,0.0031407183126958165,-4.4583109623867075e-5,7.307944575839242e-8,0.0031411394477191415,-4.4556196731207386e-5,7.302762227868937e-8,0.0031415539994911366,-4.445830099035177e-5,7.28647417048713e-8,0.003141937728993228,-4.429775179132686e-5,7.260437295376374e-8,0.0031422713373744243,-4.4091609934731785e-5,7.227358181570472e-8,0.0031425429027575314,-4.386309308749254e-5,7.190893225978437e-8,0.0031427494576673834,-4.363836426557965e-5,7.155149576181157e-8,0.0031428974772572276,-4.3442976873453624e-5,7.124128957024562e-8,0.003143002214192302,-4.329843267004607e-5,7.101185038058907e-8,0.003143086052266109,-4.321920239699395e-5,7.088551186228275e-8,0.0031431760678829164,-4.3210361139567735e-5,7.086966698763124e-8,0.0031433008971223707,-4.3265945431617366e-5,7.09542336198036e-8,0.003143486895319873,-4.336813785078726e-5,7.111052058211447e-8,0.0031437533847702066,-4.348759147027911e-5,7.12919612296051e-8,0.0031441069213620117,-4.358585463469756e-5,7.143813366953108e-8,0.003144535476545944,-4.362139298757207e-5,7.148429942205696e-8,0.003145005091611609,-4.3560203673701036e-5,7.137795505629189e-8,0.003145463126681861,-4.3389675112285365e-5,7.11003324650128e-8,0.003145851574927433,-4.3129979926205826e-5,7.068402441148508e-8,0.0031461283507413433,-4.2833959953962696e-5,7.021264040871186e-8,0.003146286100171612,-4.257032356693477e-5,6.979432110562806e-8,0.0031463558591178996,-4.239669820392884e-5,6.951932082306872e-8,0.003146392327049763,-4.233819904869464e-5,6.942631862677053e-8,0.0031464507043553205,-4.2383168839997224e-5,6.94958958380317e-8,0.0031465688651928546,-4.249459392815535e-5,6.966883115670779e-8,0.0031467612849682977,-4.262689345829094e-5,6.987285185595196e-8,0.0031470222789782287,-4.273918499304871e-5,7.004366315740973e-8,0.0031473330289561153,-4.2802158807808166e-5,7.013567759431403e-8,0.003147668417268007,-4.279983806022786e-5,7.01245308551207e-8,0.0031480021049310764,-4.272860133319068e-5,7.00052672228628e-8,0.0031483099313495784,-4.259528124034335e-5,6.978916831189976e-8,0.0031485723125253334,-4.241509647530167e-5,6.950045735299453e-8,0.0031487761173877083,-4.2209454417396814e-5,6.917289890407978e-8,0.0031489161538580373,-4.2003459881328945e-5,6.884596295593158e-8,0.003148996162170557,-4.1822953882087386e-5,6.856021556609623e-8,0.003149028978654053,-4.169106752864223e-5,6.835188836388549e-8,0.003149035482429731,-4.162464544196019e-5,6.824720046102467e-8,0.003149042199251593,-4.163112014627014e-5,6.825739085675065e-8,0.00314907771956232,-4.170639233813112e-5,6.837538674971382e-8,0.0031491682653819867,-4.18342132313785e-5,6.857492364962827e-8,0.0031493329122884942,-4.198742613049102e-5,6.881267918772647e-8,0.003149579039836493,-4.213120402571019e-5,6.903358555963276e-8,0.0031498986271138838,-4.2228420130555436e-5,6.91794432100356e-8,0.0031502664228729867,-4.2247298350746497e-5,6.920097199180307e-8,0.003150641701734798,-4.217078712182122e-5,6.907238815589541e-8,0.0031509754961388586,-4.200545381164349e-5,6.880509810771359e-8,0.0031512238608324395,-4.1785638196682574e-5,6.845392811745735e-8,0.0031513640821730364,-4.1567794289340616e-5,6.810802378555436e-8,0.003151406157010707,-4.141327484247085e-5,6.786370323995615e-8,0.0031513912510576945,-4.136560918026271e-5,6.778876311671728e-8,0.003151375804577231,-4.1434395174820625e-5,6.789730029476199e-8,0.0031514098642566202,-4.159482257943738e-5,6.81492342574456e-8,0.0031515215625475173,-4.18012216288661e-5,6.847194098192803e-8,0.0031517136174996478,-4.200494130433833e-5,6.878861599395965e-8,0.0031519692707481077,-4.216756787951769e-5,6.903911030241721e-8,0.003152261517243071,-4.2266490087485424e-5,6.918851693440988e-8,0.0031525610670786637,-4.229461685062819e-5,6.922644943555905e-8,0.0031528414655990046,-4.22573706176436e-5,6.9162068457332e-8,0.003153081775375267,-4.216923255662013e-5,6.901853417953314e-8,0.0031532678798198805,-4.205077312180638e-5,6.882835975902144e-8,0.0031533932546355388,-4.192616457967239e-5,6.862959482793142e-8,0.0031534595708972847,-4.1820803001536924e-5,6.84621653927876e-8,0.0031534770784778826,-4.175861379115542e-5,6.836364650161207e-8,0.0031534643622982412,-4.17588032667655e-5,6.836409543908077e-8,0.0031534468701465957,-4.183228856251606e-5,6.848035579602831e-8,0.003153453782052926,-4.197854007215975e-5,6.871105220452271e-8,0.003153513263736754,-4.218384148552481e-5,6.903390427614672e-8,0.0031536467429532566,-4.242196322172231e-5,6.940693592124387e-8,0.003153863430347162,-4.265783483101526e-5,6.977446531891138e-8,0.003154156585993926,-4.285397543340932e-5,7.007742427316526e-8,0.00315450279718283,-4.2978622186424466e-5,7.026625449926472e-8,0.0031548650041122103,-4.301400854080456e-5,7.031388230440871e-8,0.00315519943918034,-4.296289169347691e-5,7.022577473855363e-8,0.003155465859320983,-4.285109888117147e-5,7.00436294628589e-8,0.0031556391659936065,-4.272394847220358e-5,6.983943122484468e-8,0.0031557188612724523,-4.263555517927237e-5,6.969842457165365e-8,0.0031557317728420436,-4.263280101975123e-5,6.969387032889604e-8,0.0031557249027450757,-4.2739520543408744e-5,6.98623192302485e-8,0.0031557498994496218,-4.294833096833603e-5,7.019104128047928e-8,0.00315584589866597,-4.322452786249621e-5,7.062447804376743e-8,0.0031560287243041687,-4.3519737897634517e-5,7.108598411323216e-8,0.003156290210848438,-4.378791545601902e-5,7.150311106554863e-8,0.0031566054069980037,-4.3996660675542415e-5,7.182534984786604e-8,0.0031569423808284628,-4.4131253208340974e-5,7.203026754938302e-8,0.003157270337523358,-4.4192994871844845e-5,7.212064457656072e-8,0.003157564470837877,-4.419496903596624e-5,7.211761487890475e-8,0.003157808015852627,-4.415761251223253e-5,7.205364259861087e-8,0.0031579926823708912,-4.4105138784809375e-5,7.196695049477917e-8,0.0031581184957774153,-4.406285452731199e-5,7.189738913692536e-8,0.003158193599416625,-4.4054911516432865e-5,7.188294750699247e-8,0.003158234031798483,-4.4101897275740684e-5,7.195593087373301e-8,0.003158263018098467,-4.421788006294162e-5,7.213822712040806e-8,0.003158309054218505,-4.440704337455989e-5,7.243594276621938e-8,0.0031584021289597524,-4.466069514352587e-5,7.283470938809992e-8,0.0031585679463628875,-4.495603322513259e-5,7.329786169090022e-8,0.003158821045759386,-4.5258255933040026e-5,7.37699600181512e-8,0.003159158924190263,-4.5526890236963015e-5,7.418696615489833e-8,0.0031595597943583466,-4.572549126524957e-5,7.44916678688917e-8,0.003159985788919604,-4.5832004494916494e-5,7.465002833083531e-8,0.003160391467505701,-4.5846244908167024e-5,7.466284408960723e-8,0.003160735390904223,-4.5791651761595475e-5,7.456824370500927e-8,0.003160991329864051,-4.5710340506587154e-5,7.443354724124745e-8,0.0031611557652805296,-4.56525958579643e-5,7.433840211999739e-8,0.0031612493653574466,-4.566356507695597e-5,7.43536688058528e-8,0.0031613116320375638,-4.577082683019708e-5,7.452191859422641e-8,0.00316138983687732,-4.5976704493927694e-5,7.484561016922063e-8,0.0031615255351170207,-4.625816721714404e-5,7.52873081576349e-8,0.00316174330606514,-4.6574539940815696e-5,7.578215147025375e-8,0.0031620456464795553,-4.687999059605023e-5,7.625769376845123e-8,0.003162415165519021,-4.713588347181678e-5,7.665335200741533e-8,0.003162822036835446,-4.731880660958561e-5,7.693289460631574e-8,0.0031632329785881486,-4.7422738256966696e-5,7.708762391075058e-8,0.0031636185498555743,-4.7456548574135615e-5,7.713222429686289e-8,0.003163957394531511,-4.743930170684533e-5,7.709723112409955e-8,0.003164237749092535,-4.7395460395258866e-5,7.702145770310557e-8,0.0031644572629982944,-4.735103026805132e-5,7.694598016390119e-8,0.0031646221440750945,-4.733077694987257e-5,7.690981863864776e-8,0.003164746262745098,-4.735610332844896e-5,7.694660644621445e-8,0.003164850315648308,-4.744295341822404e-5,7.708123668442743e-8,0.003164960615211108,-4.7599282087552986e-5,7.732580598792541e-8,0.00316510674443353,-4.7822150507262595e-5,7.767502077308712e-8,0.0031653173075884386,-4.809522158373371e-5,7.810233831505504e-8,0.003165613500816317,-4.8388234367153477e-5,7.855932068502407e-8,0.003166001527547761,-4.8660505245747866e-5,7.898136490858256e-8,0.0031664667240323473,-4.886967395690606e-5,7.930165483686465e-8,0.0031669732473650035,-4.898427913808119e-5,7.947106008168446e-8,0.0031674717018881997,-4.899555012818512e-5,7.94766938590658e-8,0.0031679131839261526,-4.892263568963575e-5,7.934999749978144e-8,0.0031682643359964833,-4.8808002238974886e-5,7.91591853553536e-8,0.0031685171259444567,-4.8704610129976645e-5,7.898863798646383e-8,0.003168689888016564,-4.866027347872532e-5,7.891391738685978e-8,0.0031688203554882553,-4.870497925930795e-5,7.898168134647224e-8,0.0031689541483683986,-4.884458925824059e-5,7.919995944645049e-8,0.003169132666912061,-4.90615415154104e-5,7.953967154409288e-8,0.0031693835370994743,-4.932123743816433e-5,7.994513150365482e-8,0.0031697155633991425,-4.958174182690445e-5,8.034963065946353e-8,0.0031701188096189092,-4.9803993111668386e-5,8.069160780662406e-8,0.0031705690690595756,-4.995993501816825e-5,8.092735112553882e-8,0.0031710349046023332,-5.003685841512912e-5,8.103761860361142e-8,0.003171484997353245,-5.003758483585365e-5,8.10276899103105e-8,0.0031718939250299756,-4.997743721292307e-5,8.092241368604767e-8,0.0031722454763997874,-4.98796363572316e-5,8.075886678430627e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json new file mode 100644 index 000000000..841a3deb4 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":21000,"numberOfSamples":1000,"samples":[0.0031725336341924394,-4.9770637985046546e-5,8.057900832626396e-8,0.0031727619720193665,-4.967631255249218e-5,8.042370582661394e-8,0.0031729423213677447,-4.961918610821703e-5,8.032842301827844e-8,0.003173093301004051,-4.9616439750269165e-5,8.032005503717977e-8,0.0031732388512125246,-4.9678142521825614e-5,8.04140915834666e-8,0.003173406461172115,-4.980531114277095e-5,8.061152056197695e-8,0.003173624434517486,-4.998780080363393e-5,8.089554409980637e-8,0.0031739174410596086,-5.02027153676187e-5,8.122921958837977e-8,0.0031743000569504428,-5.0414905317985565e-5,8.155645946622467e-8,0.0031747693572844707,-5.058170552271261e-5,8.1809696462639e-8,0.003175299754099858,-5.066328166614758e-5,8.192630588543693e-8,0.003175844728509721,-5.06368615606572e-5,8.187106223913913e-8,0.003176348378152092,-5.0508762136083794e-5,8.16550486069026e-8,0.0031767639923363524,-5.0316402748498936e-5,8.133866443459827e-8,0.0031770709661550177,-5.011689791600365e-5,8.101329428919594e-8,0.0031772811274633317,-4.9967147620633346e-5,8.076944687326912e-8,0.003177432030673561,-4.9905479367471625e-5,8.066745206192551e-8,0.003177572270523811,-4.994259580574966e-5,8.072317955227706e-8,0.003177746439699948,-5.0063033684474547e-5,8.091070950808379e-8,0.0031779848344744835,-5.0233470557248106e-5,8.117598151931799e-8,0.0031782992076989803,-5.0413262606724425e-5,8.145387798184555e-8,0.003178683508504494,-5.056397454491497e-5,8.168346678500409e-8,0.0031791178624765563,-5.0656360805938936e-5,8.181895509495128e-8,0.003179574229733301,-5.067436252240991e-5,8.183576329438713e-8,0.003180022490647086,-5.0616168724939576e-5,8.173192449420742e-8,0.0031804358927458322,-5.049270511433461e-5,8.152548156884965e-8,0.0031807950553075313,-5.0324297904340744e-5,8.124910490024964e-8,0.0031810901697997096,-5.013646650496189e-5,8.094342997127281e-8,0.003181321456190578,-4.995570801310683e-5,8.065043893174666e-8,0.0031814982527144423,-4.9805917795511555e-5,8.040785329190629e-8,0.0031816373210504898,-4.970574993088201e-5,8.024497887522197e-8,0.0031817608717426495,-4.9666782981278536e-5,8.017978161620004e-8,0.0031818944706078238,-4.969213348437762e-5,8.021665586604609e-8,0.003182064656150664,-4.977526990474911e-5,8.034455083019423e-8,0.0031822958582123618,-4.9899054210053294e-5,8.053555151866265e-8,0.0031826060765792474,-5.00355420814562e-5,8.074475516704612e-8,0.0031830011463665404,-5.014786026254351e-5,8.091345990457809e-8,0.0031834686693217383,-5.0195995982255704e-5,8.097846711663703e-8,0.0031839746468371897,-5.01475748419181e-5,8.088913626890179e-8,0.0031844673261262986,-4.999173257679851e-5,8.062922765445895e-8,0.003184891172592454,-4.974957666882377e-5,8.023331134917238e-8,0.0031852075073160895,-4.9472597723993216e-5,7.978406694492346e-8,0.0031854111053174357,-4.922574084934537e-5,7.938518959159813e-8,0.0031855320833315435,-4.9062718900561163e-5,7.912193983519057e-8,0.003185621952271365,-4.9007423813544054e-5,7.903149987919705e-8,0.003185733140730741,-4.905026352546958e-5,7.909733195325303e-8,0.003185903073154297,-4.915750209942922e-5,7.926446313102022e-8,0.0031861477150601954,-4.9285511618747645e-5,7.946261622724468e-8,0.0031864630412842053,-4.9393086955828754e-5,7.962606325736776e-8,0.0031868305582437354,-4.944910682330027e-5,7.970578335261417e-8,0.0031872237417380285,-4.9435815064372105e-5,7.967442526435043e-8,0.003187613799646374,-4.934910556784959e-5,7.952642648280632e-8,0.0031879743406409483,-4.919701658863508e-5,7.927535204629794e-8,0.0031882849181979036,-4.899707191619981e-5,7.894954072044581e-8,0.0031885333705692622,-4.8772886247731465e-5,7.85867133852273e-8,0.0031887169235430774,-4.8550472591157195e-5,7.82281831475899e-8,0.0031888421191353347,-4.8354611885566905e-5,7.791317453714298e-8,0.0031889236591736768,-4.820561826479776e-5,7.767373204135999e-8,0.003188982392912168,-4.811685191685343e-5,7.753076281390647e-8,0.0031890428229633568,-4.80931088914721e-5,7.749144001256398e-8,0.003189130371339149,-4.8129751866914776e-5,7.754779717892457e-8,0.0031892684093893045,-4.821248076042052e-5,7.767640704932689e-8,0.003189474936144377,-4.8317827589117846e-5,7.78393091488724e-8,0.003189758740824415,-4.841472688601514e-5,7.798671830001753e-8,0.0031901151496382964,-4.846801130205281e-5,7.806277470675716e-8,0.0031905224205677797,-4.844497532884705e-5,7.801604196463123e-8,0.003190941284990858,-4.8325353983456495e-5,7.781525298490396e-8,0.0031913210506145494,-4.811258839800113e-5,7.746697340533311e-8,0.0031916141519961177,-4.784055752540146e-5,7.702604990677442e-8,0.003191795418319783,-4.7568255887754585e-5,7.658695371946121e-8,0.0031918755740832448,-4.73600221174305e-5,7.625217949764229e-8,0.003191898603829455,-4.725988960279658e-5,7.609132297246147e-8,0.0031919229650166662,-4.7275184045738147e-5,7.611500607230232e-8,0.003191998333085281,-4.737827479416436e-5,7.62779363395227e-8,0.0031921508881996145,-4.752216804202383e-5,7.65041794434679e-8,0.003192381393929433,-4.765854984268982e-5,7.671628736820805e-8,0.0031926718219546014,-4.7750056416319196e-5,7.685497758163076e-8,0.003192994371773742,-4.7775167613736925e-5,7.688676322707986e-8,0.0031933191121518447,-4.7727892633397725e-5,7.680310882032987e-8,0.0031936191057208192,-4.761498877639121e-5,7.661565929511285e-8,0.0031938734231599622,-4.74525826505499e-5,7.635065824624502e-8,0.0031940688710230926,-4.7262880918771545e-5,7.60436847923047e-8,0.0031942008964133926,-4.707097737875328e-5,7.573466367930087e-8,0.0031942737606263116,-4.6901719035824056e-5,7.546299629687368e-8,0.003194299972841271,-4.6776661718682426e-5,7.526278957837741e-8,0.003194298887206334,-4.6711226468842323e-5,7.51583342891208e-8,0.003194294386829285,-4.671240074914931e-5,7.516039741374076e-8,0.0031943118407074603,-4.6777394668392805e-5,7.526403312546946e-8,0.0031943746893159835,-4.6893437644436546e-5,7.544826377873212e-8,0.0031945009495270385,-4.7038759907479775e-5,7.567773903852656e-8,0.0031946998830175675,-4.7184820903478814e-5,7.590646855791671e-8,0.0031949691011137634,-4.729986237129749e-5,7.608369607755573e-8,0.0031952925157211496,-4.735397448743149e-5,7.616211706606225e-8,0.003195640046002511,-4.7325873413935426e-5,7.610866131565764e-8,0.0031959707011487326,-4.721084275969199e-5,7.591694218179518e-8,0.0031962407678702612,-4.7027544120006907e-5,7.561778712416466e-8,0.0031964172220154555,-4.68193172139658e-5,7.528100427078354e-8,0.003196492459990767,-4.664522204584982e-5,7.500092425591764e-8,0.003196492024360513,-4.6560407478603466e-5,7.486507180241458e-8,0.0031964677331033607,-4.6593856889802264e-5,7.491877034751068e-8,0.003196477403032644,-4.673659702635629e-5,7.514654134177191e-8,0.0031965625176653793,-4.694773588519694e-5,7.548204705047288e-8,0.0031967362693748544,-4.717322873987367e-5,7.583837429474331e-8,0.003196985533609338,-4.73651776342118e-5,7.613905990916508e-8,0.0031972812138878572,-4.74929888958597e-5,7.633588427653374e-8,0.003197589462630078,-4.7545490933105095e-5,7.64119965822908e-8,0.0031978796496195555,-4.752757942989125e-5,7.637620017022061e-8,0.00319812848863574,-4.745512493931714e-5,7.625453549820702e-8,0.00319832144886984,-4.73503257355979e-5,7.608275219379998e-8,0.003198452856742482,-4.723812082730018e-5,7.590064580016247e-8,0.0031985255501511783,-4.7143356527051194e-5,7.57476813144896e-8,0.0031985502819583764,-4.708825806567633e-5,7.565908112945316e-8,0.003198544736531598,-4.708995351933302e-5,7.566191375034777e-8,0.0031985318797554075,-4.7158036203798245e-5,7.577116598009077e-8,0.0031985373474858482,-4.729251335254058e-5,7.598640463765804e-8,0.003198585869566576,-4.7482775567525455e-5,7.629010685976644e-8,0.003198697155597323,-4.77081476564717e-5,7.664860219081877e-8,0.0031988819238857836,-4.794029858008897e-5,7.701607636820799e-8,0.003199138852327985,-4.8147471043280815e-5,7.734153154992998e-8,0.003199453210956632,-4.830010600773658e-5,7.757794512375888e-8,0.003199797758983186,-4.8377126251611665e-5,7.769236057072432e-8,0.0032001363178023106,-4.8371976704389703e-5,7.767540881795748e-8,0.0032004303140051693,-4.829716076321788e-5,7.754825940028813e-8,0.0032006480922657813,-4.818534649742223e-5,7.736402060215561e-8,0.0032007754503471137,-4.8084736666072045e-5,7.720004750070717e-8,0.0032008237523528764,-4.804734673697885e-5,7.713910918442968e-8,0.0032008304786310298,-4.811209016681051e-5,7.724247975155619e-8,0.0032008488052868407,-4.828932206014769e-5,7.75255161602495e-8,0.0032009288771208118,-4.8555592301733185e-5,7.794960329169746e-8,0.0032010998408043487,-4.886272668875077e-5,7.843695977208304e-8,0.003201361960637265,-4.915635461273817e-5,7.89004476629134e-8,0.0032016912406135044,-4.939361188750261e-5,7.927192014721211e-8,0.0032020513707647475,-4.955240233850549e-5,7.951689650027676e-8,0.003202405716929175,-4.963141986809062e-5,7.963431614369855e-8,0.003202725094131901,-4.964474472975755e-5,7.96475824883057e-8,0.0032029909049170156,-4.961523348656123e-5,7.959378125967193e-8,0.0032031952157390927,-4.9569099471490336e-5,7.951497736532009e-8,0.003203339535741044,-4.9532218017991734e-5,7.945241230521701e-8,0.003203433394698867,-4.9527674213515084e-5,7.944273135170713e-8,0.003203493051170196,-4.9573859322178696e-5,7.951503476725994e-8,0.0032035401504446515,-4.968261143955701e-5,7.968790885396807e-8,0.003203599881864006,-4.9857248372708116e-5,7.996622623173358e-8,0.0032036981474841027,-5.009083623491609e-5,8.033833401588e-8,0.003203857560932273,-5.036549668524096e-5,8.077497791863144e-8,0.003204092697562571,-5.0653692877754714e-5,8.123148677107812e-8,0.003204405679190628,-5.092213317310819e-5,8.165420910353239e-8,0.0032047836194003913,-5.1138171334250516e-5,8.199093925766638e-8,0.0032051993388942314,-5.1277508026645685e-5,8.220333981594443e-8,0.0032056159214573134,-5.1331152612609345e-5,8.227803147217174e-8,0.003205994476325643,-5.130950962968257e-5,8.223291039616594e-8,0.0032063034747539243,-5.124205747668012e-5,8.211628608958799e-8,0.0032065274675029567,-5.117202959915313e-5,8.199800522314307e-8,0.0032066727907678195,-5.114661833837934e-5,8.195353656090792e-8,0.003206768020942503,-5.120449980278048e-5,8.204400434520673e-8,0.003206857735831905,-5.1363916576045276e-5,8.229736031489842e-8,0.0032069901253816147,-5.161569359479557e-5,8.269759795845019e-8,0.0032072020803685336,-5.192501441612641e-5,8.318797642795423e-8,0.0032075077397297554,-5.2242393867866604e-5,8.368882847285539e-8,0.0032078955532431,-5.251946367429561e-5,8.412289258504691e-8,0.0032083345384939406,-5.272262269658563e-5,8.443706503733802e-8,0.0032087857334492185,-5.2839458337762004e-5,8.461246000974382e-8,0.0032092132683576424,-5.287735806351859e-5,8.466190722367029e-8,0.003209591378752329,-5.285732676741347e-5,8.461980304623928e-8,0.0032099067777057117,-5.28068081968459e-5,8.45304822826286e-8,0.0032101578456377655,-5.275393921740916e-5,8.443903221733049e-8,0.0032103524731652163,-5.272386017376191e-5,8.438550073902889e-8,0.003210505786562472,-5.273660287213019e-5,8.440164096217491e-8,0.0032106382225371155,-5.280577247081059e-5,8.450886182259405e-8,0.0032107738321281018,-5.293736316606222e-5,8.471631689347386e-8,0.0032109383060951215,-5.312841217033488e-5,8.501870672494748e-8,0.0032111560978738906,-5.3365752533195204e-5,8.53942849508674e-8,0.0032114462795934918,-5.362571089155793e-5,8.580446840164302e-8,0.003211817437324192,-5.3875979778961625e-5,8.619700739786424e-8,0.003212262941595191,-5.408075100149098e-5,8.651439387397291e-8,0.0032127589082548043,-5.42090965214644e-5,8.670741201761251e-8,0.003213267160170133,-5.4244595572723914e-5,8.675057308886833e-8,0.0032137438024166646,-5.419248668805494e-5,8.665344939450431e-8,0.003214151231767454,-5.4080711291759844e-5,8.646208359285265e-8,0.0032144693035585834,-5.395352361443707e-5,8.624839037585663e-8,0.003214701461565474,-5.385958237500533e-5,8.609072790016972e-8,0.003214873783886847,-5.383864063516811e-5,8.605238679805011e-8,0.0032150276171485034,-5.391105610832501e-5,8.616487457733809e-8,0.003215208326315366,-5.4072889410851724e-5,8.642041535988369e-8,0.0032154533705997484,-5.429755486548332e-5,8.677506471248515e-8,0.0032157828754069747,-5.4543390211428154e-5,8.716123185097693e-8,0.0032161952720170784,-5.47649828140714e-5,8.750601063943785e-8,0.0032166691643119804,-5.492483570390711e-5,8.7749822276115e-8,0.003217170484883344,-5.500177601999277e-5,8.785966932376333e-8,0.0032176621369899984,-5.499386164298536e-5,8.783350388091249e-8,0.0032181127441866936,-5.491583634520034e-5,8.76958803060696e-8,0.003218502126948113,-5.479314994168618e-5,8.748819344576886e-8,0.0032188229483265337,-5.465521433334049e-5,8.72578166749344e-8,0.0032190794757014783,-5.452988429357098e-5,8.704931644272088e-8,0.0032192849457666393,-5.443991014971355e-5,8.689888287838887e-8,0.003219458734952503,-5.440110974291796e-5,8.683149639470852e-8,0.003219623918717538,-5.442154904813298e-5,8.685964506488469e-8,0.0032198052118412182,-5.45010330062948e-5,8.698248405259667e-8,0.0032200268668433098,-5.463053766414709e-5,8.718490554543236e-8,0.0032203099278025797,-5.479171920972871e-5,8.743680309860852e-8,0.0032206683696555803,-5.4957218224956276e-5,8.769370344416006e-8,0.003221104252445989,-5.509302127948437e-5,8.790074530833945e-8,0.0032216031987040658,-5.516423932315975e-5,8.800209652952139e-8,0.003222132914621037,-5.514457142603367e-5,8.795617458979574e-8,0.003222647901010924,-5.502711200558859e-5,8.775290593353369e-8,0.0032231013851103294,-5.483131338436564e-5,8.74247239172623e-8,0.003223460966712298,-5.4600702849415643e-5,8.704264763661174e-8,0.003223720696988658,-5.43901749473945e-5,8.66955543476372e-8,0.0032239032022557705,-5.4248004296358326e-5,8.646099319840247e-8,0.003224051050262102,-5.4200944786757004e-5,8.638114273675721e-8,0.003224212268778945,-5.424827912428962e-5,8.645345453958669e-8,0.0032244265358801734,-5.4365234327404105e-5,8.663660081008881e-8,0.003224716276502034,-5.451231450454134e-5,8.686597920410975e-8,0.003225083737911467,-5.4646403659949004e-5,8.707189019189658e-8,0.0032255131188312245,-5.473059972318432e-5,8.719538813836393e-8,0.0032259761006378034,-5.4741087113638165e-5,8.719911679190398e-8,0.0032264390598020325,-5.467034723233956e-5,8.707212789604444e-8,0.003226870334335864,-5.452668660564738e-5,8.682879510984012e-8,0.0032272460710804887,-5.4330699940323715e-5,8.65029138253738e-8,0.0032275536298945894,-5.4109915442819836e-5,8.613902532997006e-8,0.003227792304669776,-5.389313593906661e-5,8.5783374691673e-8,0.0032279718677233277,-5.370570458175747e-5,8.547642058179856e-8,0.003228109845550558,-5.356634066004432e-5,8.524786544988952e-8,0.003228228456413095,-5.348557339633553e-5,8.511420042723426e-8,0.0032283518197443535,-5.346531342893715e-5,8.507801310989298e-8,0.0032285035568127823,-5.349896832429377e-5,8.512814037196994e-8,0.003228704536722173,-5.357174984312455e-5,8.524016481482288e-8,0.0032289703539402797,-5.366119984972382e-5,8.537735462686527e-8,0.00322930813206437,-5.373842092470895e-5,8.549282323459017e-8,0.003229712689921856,-5.377103839587337e-5,8.553448506801853e-8,0.0032301631836865975,-5.3729107718665944e-5,8.545465152637074e-8,0.0032306227277087924,-5.359428799950994e-5,8.522472059019744e-8,0.0032310441986026,-5.337012969281068e-5,8.48515280839209e-8,0.0032313836582013745,-5.30879790841398e-5,8.438660592029636e-8,0.0032316176061930268,-5.280197806460897e-5,8.391790250084734e-8,0.0032317548261706127,-5.2571609399665335e-5,8.354146004605948e-8,0.0032318343808087915,-5.243934120871027e-5,8.332524114371036e-8,0.00323190997001867,-5.24157284474321e-5,8.328513968311465e-8,0.003232029903870015,-5.247922773889295e-5,8.33849749888785e-8,0.0032322230037252673,-5.2587959715898925e-5,8.355594128527012e-8,0.0032324945300250224,-5.269508974157829e-5,8.372185756843382e-8,0.0032328299476484103,-5.2761097382812485e-5,8.381914925073835e-8,0.0032332022647684135,-5.2760565068347416e-5,8.380767128683809e-8,0.0032335796804347913,-5.268412304439345e-5,8.367349551296979e-8,0.003233931955256522,-5.2537170491451925e-5,8.342645104170425e-8,0.00323423510297691,-5.2336755010051395e-5,8.309480474079313e-8,0.003234474406802793,-5.210743061617814e-5,8.271847665355266e-8,0.0032346457437325534,-5.187668488346703e-5,8.234172294838152e-8,0.003234755280902423,-5.167055575138879e-5,8.200621219761825e-8,0.003234817807050895,-5.150997501251897e-5,8.174527616602243e-8,0.00323485410132211,-5.140821394599531e-5,8.157988013641992e-8,0.0032348878601373273,-5.1369622605597356e-5,8.15166024002056e-8,0.003234942697918216,-5.138953284328997e-5,8.154743911983669e-8,0.00323503947037617,-5.1454958354580704e-5,8.16508993774942e-8,0.0032351938886941546,-5.154582187779148e-5,8.179401797604287e-8,0.0032354142832091816,-5.16366609641141e-5,8.193524012891515e-8,0.003235699333554656,-5.1699018157927345e-5,8.202847891428973e-8,0.0032360358332845078,-5.170513116825102e-5,8.202923924758582e-8,0.003236397395298634,-5.163367599192616e-5,8.190391001440081e-8,0.0032367460274376706,-5.147751296830587e-5,8.164208997353886e-8,0.003237038911014802,-5.125146075858404e-5,8.126881868503913e-8,0.0032372413519731985,-5.099546813545693e-5,8.084938120768122e-8,0.0032373424767896393,-5.076735769152771e-5,8.04773994266105e-8,0.003237364737593232,-5.0623575968753e-5,8.024369261604461e-8,0.0032373583817348877,-5.0595930934664296e-5,8.01987556722749e-8,0.0032373814263608053,-5.067835383782129e-5,8.033154293976049e-8,0.0032374767927001143,-5.0831888417986464e-5,8.05778502518239e-8,0.0032376595358681605,-5.100299476696643e-5,8.08503013355666e-8,0.0032379179830066707,-5.1142929781694154e-5,8.106998345596535e-8,0.0032382234578475634,-5.121949714913483e-5,8.118548183125027e-8,0.0032385413765336594,-5.1220034229706235e-5,8.117745244402647e-8,0.0032388396301233986,-5.1148784000511076e-5,8.105395968506553e-8,0.00323909343633175,-5.1022080757357263e-5,8.084232217504016e-8,0.003239287476598087,-5.086344596635564e-5,8.058099601387515e-8,0.003239416418574005,-5.06993062299847e-5,8.031267394281034e-8,0.0032394844711164405,-5.055531403368913e-5,8.007849327535253e-8,0.0032395041778899027,-5.0453203864372276e-5,7.991313554603084e-8,0.003239494528968082,-5.0408228290502986e-5,7.98408045445796e-8,0.0032394784475627734,-5.0427301336513986e-5,7.987225828658261e-8,0.003239479791896909,-5.050810067219918e-5,8.000332058699083e-8,0.0032395202194974377,-5.063931236648878e-5,8.021522493846629e-8,0.003239616293252338,-5.080193546123921e-5,8.047671952390412e-8,0.003239777049036872,-5.097147176821398e-5,8.074769163503124e-8,0.003240002171167665,-5.112088531384368e-5,8.098412232278307e-8,0.0032402808961741075,-5.122423243494423e-5,8.114415044682696e-8,0.0032405918090109447,-5.126100829262938e-5,8.119521335082708e-8,0.003240904131438615,-5.122133435508816e-5,8.112236888320618e-8,0.003241181684719136,-5.111146117220087e-5,8.093692711688671e-8,0.003241390622446391,-5.095766931217798e-5,8.068237971757372e-8,0.0032415106650658305,-5.080520775946731e-5,8.04323546602781e-8,0.003241546514068598,-5.070868740467566e-5,8.027494782684523e-8,0.0032415324844812794,-5.071373081832885e-5,8.028313812372978e-8,0.003241523709398545,-5.083705921425271e-5,8.048281634683229e-8,0.0032415751240446157,-5.1057319994444045e-5,8.083823631077988e-8,0.003241719537245258,-5.132391935969942e-5,8.126660197144499e-8,0.0032419576140943988,-5.157842278878715e-5,8.167296421774885e-8,0.0032422632301883753,-5.177516910115313e-5,8.198373070848606e-8,0.0032425973491017465,-5.189151237656024e-5,8.216316480911329e-8,0.003242921385633165,-5.192728220314501e-5,8.221219939811576e-8,0.003243205429064354,-5.1898436692860174e-5,8.215775773060924e-8,0.0032434313058024543,-5.182970678799692e-5,8.204054311489319e-8,0.0032435923938506023,-5.1748673330064326e-5,8.190536290404036e-8,0.0032436920809447035,-5.1681708633171465e-5,8.179466859600291e-8,0.0032437419250657485,-5.165123951677518e-5,8.17443236041018e-8,0.0032437597611700603,-5.167373948957442e-5,8.178051974505204e-8,0.0032437676397874047,-5.1758154968282606e-5,8.191729901686929e-8,0.003243789408658554,-5.190473825027876e-5,8.215464440259327e-8,0.0032438478099100776,-5.2104555505873134e-5,8.247762756783664e-8,0.0032439612563935362,-5.234009583257239e-5,8.28573715553115e-8,0.0032441407595725984,-5.258721229750601e-5,8.325425050664329e-8,0.0032443875424479525,-5.281834024054875e-5,8.36232428780749e-8,0.0032446918276209393,-5.300675228469284e-5,8.392100559929466e-8,0.0032450332255609038,-5.3131371114476176e-5,8.411381289746435e-8,0.00324538295404514,-5.318148371486626e-5,8.418520437848297e-8,0.003245707983573782,-5.316071079859441e-5,8.414223757206918e-8,0.0032459772192329835,-5.3089364431137183e-5,8.401896535485175e-8,0.0032461694781570896,-5.300370532228837e-5,8.387484551908885e-8,0.003246281847351533,-5.2950284714670026e-5,8.37853066862844e-8,0.0032463352544695014,-5.297443793121066e-5,8.382308719834454e-8,0.0032463728424833803,-5.310479309421307e-5,8.403337508404443e-8,0.003246448216996769,-5.333992759564566e-5,8.441256609303461e-8,0.0032466062921121183,-5.364552457477591e-5,8.49040114435253e-8,0.0032468659901151594,-5.396605828032138e-5,8.541718992475005e-8,0.003247214553528512,-5.424562065011762e-5,8.586156956307863e-8,0.003247615679936334,-5.444642162568678e-5,8.617657458590432e-8,0.003248024912597425,-5.455655514944839e-5,8.634399975468773e-8,0.003248403432332568,-5.458687626580262e-5,8.638262859372707e-8,0.0032487255353343303,-5.4562352771310106e-5,8.633386467620277e-8,0.00324898008935198,-5.451326661190067e-5,8.624724859115626e-8,0.0032491685238771285,-5.4468896133598934e-5,8.617020704301661e-8,0.0032493017385686698,-5.44538837415368e-5,8.614231992982142e-8,0.0032493972235823195,-5.448639212370825e-5,8.619253072529561e-8,0.0032494766715691,-5.4577106999117414e-5,8.633766110669544e-8,0.003249563821635595,-5.4728537878472483e-5,8.658130339795376e-8,0.0032496821379050258,-5.4934496846960336e-5,8.691293350608795e-8,0.0032498520196944476,-5.5180047124981716e-5,8.730779131766455e-8,0.0032500875683692987,-5.544249647615775e-5,8.772852392629017e-8,0.0032503934051933206,-5.569395062737085e-5,8.812944569042736e-8,0.0032507623946056432,-5.5905572624570456e-5,8.846361811302392e-8,0.0032511752416808635,-5.60531534073218e-5,8.869203900002466e-8,0.0032516027189509527,-5.6122949655416366e-5,8.879316740083876e-8,0.003252010653866079,-5.6116271961945236e-5,8.87702629117698e-8,0.0032523669850277413,-5.605136928982403e-5,8.865417136694602e-8,0.0032526495630223616,-5.596163996267052e-5,8.850004846746351e-8,0.003252852996146235,-5.588978132512746e-5,8.837752315420322e-8,0.0032529925562878982,-5.58782471815996e-5,8.83550511189378e-8,0.003253103082055259,-5.595758026448335e-5,8.848108953757554e-8,0.0032532314776745693,-5.613576384150119e-5,8.876716640678854e-8,0.0032534234568621025,-5.6393001850667115e-5,8.917985280515563e-8,0.0032537084871765787,-5.668575826548498e-5,8.964767779069584e-8,0.0032540894242032077,-5.696017640428366e-5,9.008307761306017e-8,0.00325454214619616,-5.716962075359378e-5,9.041084937999461e-8,0.0032550252674333844,-5.728830620990315e-5,9.059011621990187e-8,0.003255494511827089,-5.731556283163272e-5,9.06209904156305e-8,0.003255914883576044,-5.7271048375594106e-5,9.0536487245569e-8,0.003256266746644497,-5.71854418674298e-5,9.03871423788393e-8,0.003256546050101389,-5.709145577327869e-5,9.022629331978918e-8,0.003256761198809244,-5.701770488175832e-5,9.010018411835402e-8,0.0032569290319573213,-5.6985589687069876e-5,9.004308407198988e-8,0.0032570712782715805,-5.700820517414628e-5,9.007569729439265e-8,0.003257211829634789,-5.709019855395602e-5,9.02050273070369e-8,0.003257374555642879,-5.722785472994945e-5,9.042451477474267e-8,0.0032575811280771455,-5.740918789972536e-5,9.07141464433097e-8,0.0032578484112563417,-5.761434937787547e-5,9.104111671626653e-8,0.003258185352705804,-5.781702102123823e-5,9.136217618930464e-8,0.0032585898547709312,-5.7987501554828986e-5,9.162880083070914e-8,0.003259046711760422,-5.8097856157750106e-5,9.179571951463989e-8,0.0032595281106661137,-5.812865707175766e-5,9.183195308320635e-8,0.003259997899742414,-5.807559874358659e-5,9.173151942039728e-8,0.003260419534272522,-5.7953377600878414e-5,9.151954278320197e-8,0.003260765818064894,-5.7794560130481856e-5,9.125009531413922e-8,0.0032610273094332534,-5.7642803315349266e-5,9.099481763997835e-8,0.0032612163205118245,-5.754195090058938e-5,9.082492438170712e-8,0.0032613648222029144,-5.752416949150301e-5,9.07918667306029e-8,0.0032615165714595593,-5.7600716096652344e-5,9.09125486368035e-8,0.003261715522120589,-5.7758163232549566e-5,9.116362370356967e-8,0.003261993680028687,-5.796146329096944e-5,9.148694570509478e-8,0.0032623620293660872,-5.8163394938097374e-5,9.180524978805767e-8,0.003262807665272582,-5.8317766793719975e-5,9.20437012761951e-8,0.0032632983134054426,-5.839199548958222e-5,9.215020451540345e-8,0.0032637924706452283,-5.8374669624859956e-5,9.210741718701442e-8,0.0032642511156409566,-5.827592207902026e-5,9.193302480930112e-8,0.0032646467560847373,-5.8121634092867766e-5,9.167002565308534e-8,0.003264967464613854,-5.794476140729533e-5,9.137245205768258e-8,0.0032652161360441057,-5.777729029325265e-5,9.109227604970783e-8,0.0032654068966987506,-5.764485386744147e-5,9.087078295628466e-8,0.003265560763456718,-5.756421591411039e-5,9.073466938213295e-8,0.0032657018358711034,-5.754278131830879e-5,9.069539608026732e-8,0.0032658544101094944,-5.757911789189286e-5,9.075008999633211e-8,0.0032660408074434333,-5.766372839766714e-5,9.088277448331733e-8,0.003266279396647697,-5.777976701135738e-5,9.106550153542938e-8,0.003266582301739539,-5.790395532285883e-5,9.12598753635655e-8,0.0032669526451217174,-5.80083795326496e-5,9.142009964322477e-8,0.003267381767555401,-5.8063972041273024e-5,9.149881185930952e-8,0.0032678476163183977,-5.804619770493952e-5,9.145646309337639e-8,0.003268316164476314,-5.79424713012002e-5,9.12733988533491e-8,0.0032687475221006164,-5.7759070899220414e-5,9.096097972973574e-8,0.003269106529960257,-5.7523825509117984e-5,9.056570793575683e-8,0.0032693746058921917,-5.7281393394498796e-5,9.01612217244734e-8,0.0032695575700859222,-5.7081169177186004e-5,8.982829299441299e-8,0.003269685200835826,-5.696205583363011e-5,8.962983858648573e-8,0.003269802214385346,-5.69404396125155e-5,8.959138558936853e-8,0.0032699545344188102,-5.700604476264368e-5,8.969464615227079e-8,0.0032701763009091883,-5.7126338282034846e-5,8.988518777066455e-8,0.003270481677542585,-5.725676162404585e-5,9.008956185060092e-8,0.0032708629470038705,-5.735286992395743e-5,9.023531943545998e-8,0.00327129431081459,-5.73809369580062e-5,9.026823726629858e-8,0.003271739599354458,-5.7324683909892404e-5,9.0162995318363e-8,0.0032721614993477402,-5.7187059246788255e-5,8.992569167509696e-8,0.0032725298445275717,-5.698731841848309e-5,8.958873870059514e-8,0.0032728270521627735,-5.675482647236528e-5,8.920055536744774e-8,0.003273049851570274,-5.652171851946322e-5,8.881356947561132e-8,0.0032732076970815966,-5.6316492523811355e-5,8.847388481842329e-8,0.003273319145670565,-5.615979289425225e-5,8.821459453534936e-8,0.0032734076545255755,-5.6062581528121386e-5,8.80529729256984e-8,0.003273497839452653,-5.602614665502433e-5,8.799058220459504e-8,0.003273612612866018,-5.604313201827532e-5,8.801494830994981e-8,0.0032737710867281598,-5.609888691693807e-5,8.81017115844299e-8,0.0032739868282610452,-5.617282175496241e-5,8.821681580619211e-8,0.0032742660365082388,-5.6239927611709573e-5,8.831905491514963e-8,0.003274605453936708,-5.627300819139812e-5,8.836386764965425e-8,0.0032749903608651097,-5.624637481283029e-5,8.830953041101465e-8,0.0032753938061936853,-5.614154823740327e-5,8.812653176627841e-8,0.0032757789936782864,-5.595449360495289e-5,8.78092919463083e-8,0.003276106647287594,-5.5701960526054305e-5,8.738628367074491e-8,0.0032763471421135533,-5.5422576587764e-5,8.692152997987455e-8,0.003276493258995722,-5.516877259292599e-5,8.650115186701256e-8,0.0032765664014518425,-5.499014654352684e-5,8.6206007430559e-8,0.003276610999942624,-5.491529491512299e-5,8.608196484440229e-8,0.00327667876464851,-5.494164014254628e-5,8.612345199946136e-8,0.0032768108494707626,-5.5038149965003114e-5,8.627829358674474e-8,0.0032770262708863127,-5.5157998227194705e-5,8.646888984364038e-8,0.0032773198064892668,-5.525387498988542e-5,8.661760852501955e-8,0.003277667339223204,-5.528988528837087e-5,8.666631731922832e-8,0.0032780346135977243,-5.5247658906088445e-5,8.658614562003795e-8,0.0032783860663120725,-5.512713483912658e-5,8.637835326428021e-8,0.0032786918994025917,-5.494363190933129e-5,8.606912261480339e-8,0.0032789327276445193,-5.472280951801439e-5,8.570104945011115e-8,0.003279101674465376,-5.449476059083265e-5,8.532342409842275e-8,0.0032792040453030104,-5.4288301754132294e-5,8.498301212375031e-8,0.0032792550494914192,-5.4126402494692005e-5,8.471678473867611e-8,0.00327927635003745,-5.402331015253779e-5,8.454741469132955e-8,0.003279292261048445,-5.398344931011103e-5,8.448159405887646e-8,0.0032793262697919023,-5.4001841681931624e-5,8.451073771217038e-8,0.0032793983038223334,-5.406554644950239e-5,8.461328637466328e-8,0.003279522775013503,-5.4155543035676e-5,8.475773055077884e-8,0.0032797071337421773,-5.4248736184423704e-5,8.490590178054932e-8,0.0032799506498463736,-5.432014534373688e-5,8.501666483516674e-8,0.003280243299674806,-5.434560660615751e-5,8.505051210231342e-8,0.003280565004985942,-5.430549748269372e-5,8.497579494488648e-8,0.003280886168989561,-5.4189871664097075e-5,8.47771184438119e-8,0.003281171139090372,-5.4004474659509736e-5,8.446499011144445e-8,0.003281386101154559,-5.377533480404946e-5,8.408301336304262e-8,0.0032815110470657827,-5.354778435894943e-5,8.370597725390225e-8,0.003281551525320081,-5.3376005048922325e-5,8.342256462979238e-8,0.0032815423544261006,-5.3303997698127796e-5,8.330417977081286e-8,0.0032815375199139597,-5.334662167257096e-5,8.337402779899631e-8,0.003281589425999078,-5.3482477388724635e-5,8.359571772677401e-8,0.003281729077837722,-5.366347603158219e-5,8.388931201996357e-8,0.0032819577992785165,-5.383448660629819e-5,8.416390530143764e-8,0.003282252028816867,-5.3951461208844274e-5,8.434755805679241e-8,0.003282575064733863,-5.399087527054447e-5,8.440270284958065e-8,0.0032828888308288045,-5.395041499415586e-5,8.432692167156779e-8,0.0032831620823933123,-5.384442525035143e-5,8.414501783308623e-8,0.003283374577592845,-5.369758720472906e-5,8.389827797025655e-8,0.0032835182149421297,-5.3538900495709054e-5,8.363445972132653e-8,0.003283596317507677,-5.3396677990892325e-5,8.339967143688218e-8,0.0032836217594359217,-5.3294597136367996e-5,8.323212142857587e-8,0.0032836142689651616,-5.3248868881598726e-5,8.31577096068053e-8,0.0032835972456282487,-5.326663219322064e-5,8.318754756177193e-8,0.003283594445314077,-5.33455619881586e-5,8.331735797629278e-8,0.003283626858166137,-5.34746355750414e-5,8.35286872417797e-8,0.0032837101355881193,-5.363590835227975e-5,8.379175121758466e-8,0.0032838527983820075,-5.3806929427041975e-5,8.406937560267436e-8,0.003284055181100754,-5.396343946274494e-5,8.432148778286718e-8,0.0032843089773761463,-5.40822511951771e-5,8.450998775388706e-8,0.003284597358913076,-5.414438100313206e-5,8.460404446842303e-8,0.003284895834787221,-5.413857912979374e-5,8.458595257932233e-8,0.003285174445296768,-5.406532947278778e-5,8.445757818292492e-8,0.0032854023338345904,-5.3940697089698616e-5,8.424636958756322e-8,0.0032855554831677934,-5.379806390910282e-5,8.400782714837921e-8,0.003285626815766494,-5.3684562539693467e-5,8.38193737194727e-8,0.0032856347701112503,-5.3649414340871245e-5,8.376117760633833e-8,0.0032856235616832005,-5.3725485877918647e-5,8.38860837426238e-8,0.003285650142636974,-5.391249164401037e-5,8.419236027689752e-8,0.0032857616382241683,-5.4173556173630084e-5,8.461836300416228e-8,0.003285976011289329,-5.444965808100916e-5,8.50665090145353e-8,0.003286277545198635,-5.468347961861177e-5,8.544264341871019e-8,0.0032866275363075573,-5.483838580460321e-5,8.568728752895917e-8,0.0032869809330381304,-5.490461627338049e-5,8.578565026164803e-8,0.0032872996339806037,-5.489474335285152e-5,8.575977711296552e-8,0.003287559053510933,-5.48347345844862e-5,8.565341922089876e-8,0.0032877491677817746,-5.475543920672599e-5,8.551775502054806e-8,0.0032878725457978937,-5.4686451467669074e-5,8.540127833973602e-8,0.0032879413934742783,-5.465235422268597e-5,8.534381381044643e-8,0.003287974597188788,-5.4670536130827427e-5,8.53731992403231e-8,0.003287994886136215,-5.474993658443841e-5,8.550343585455102e-8,0.003288026004617243,-5.489052942074253e-5,8.573393033814724e-8,0.0032880898877680324,-5.508355309891816e-5,8.604985500404462e-8,0.003288203921857211,-5.5312587539400495e-5,8.642385409484243e-8,0.0032883785505384453,-5.5555608027442216E-05,8.681938148259401e-8,0.0032886156357365445,-5.578790705412445e-5,8.719554080619211e-8,0.0032889078436774757,-5.5985521987479445e-5,8.751283667062376e-8,0.003289239125545009,-5.612881998939157e-5,8.77392146012537e-8,0.003289586318797038,-5.620594849831879e-5,8.78558281449679e-8,0.0032899218910641607,-5.621585137160659e-5,8.786195042061433e-8,0.0032902179191576634,-5.617054021271309e-5,8.77784760736655e-8,0.0032904515278464005,-5.609599525829377e-5,8.764903319639631e-8,0.003290611690989794,-5.603034994237022e-5,8.753663675600585e-8,0.0032907060886177963,-5.601757230920074e-5,8.751312401969255e-8,0.0032907648315062244,-5.60957001758165e-5,8.763993271030684e-8,0.00329083651219213,-5.628175714456582e-5,8.794367269940098e-8,0.003290973902945432,-5.656023599277606e-5,8.839762192953688e-8,0.003291213321631433,-5.6884077700507716e-5,8.892363541663668e-8,0.003291558763057707,-5.7191191598862794e-5,8.941943124269481e-8,0.0032919809643103797,-5.742839856654776e-5,8.979798297636507e-8,0.0032924313677109907,-5.756902600419823e-5,9.001640079964623e-8,0.0032928611324823196,-5.7616237434723784e-5,9.008120657162066e-8,0.003293234884122227,-5.759476981903807e-5,9.003437623650073e-8,0.003293535602904595,-5.753893290328132e-5,8.993321103832823e-8,0.003293762927268325,-5.7482792094576774e-5,8.983397854989548e-8,0.003293928650397064,-5.745439610101603e-5,8.978246898705095e-8,0.003294052074754002,-5.7473344437337244e-5,8.981023130920463e-8,0.003294156313027807,-5.755021904012821e-5,8.993390698836747e-8,0.0032942654733313977,-5.768674160814335e-5,9.01556607176256e-8,0.0032944022662521263,-5.787621616364838e-5,9.046394738638393e-8,0.003294585697181951,-5.810428412374258e-5,9.083470767938509e-8,0.003294828730883638,-5.835025192829971e-5,9.123350329312376e-8,0.0032951361110117538,-5.858935210068161e-5,9.161924961334033e-8,0.003295502862145243,-5.879608733804884e-5,9.194981099819587e-8,0.0032959140922813155,-5.894836427269165e-5,9.218894166181916e-8,0.003296346501630117,-5.903178845858687e-5,9.2313465377073e-8,0.0032967716942378903,-5.904330752969372e-5,9.231927451156279e-8,0.003297161013652729,-5.8993325195830865e-5,9.222465017716898e-8,0.0032974912528637187,-5.8905595820280855e-5,9.206977518622295e-8,0.0032977504065195102,-5.881449638135142e-5,9.191186754025751e-8,0.003297942473857903,-5.875940209359208e-5,9.181563871498607e-8,0.0032980898714052753,-5.877616173854993e-5,9.183921908280787e-8,0.0032982314957932714,-5.88866346272826e-5,9.201718962789459e-8,0.0032984146833885644,-5.908904162486795e-5,9.23451566292984e-8,0.0032986812779857745,-5.935379884542151e-5,9.277334751463147e-8,0.003299051997951586,-5.962945134656554e-5,9.321663709787946e-8,0.003299516827886728,-5.985901363351853e-5,9.358146928311346e-8,0.0033000378122319263,-5.999998453310655e-5,9.379868554416737e-8,0.003300563468977945,-6.003775679601342e-5,9.384541959529023e-8,0.003301046759699778,-5.9986342425414024e-5,9.374604054768167e-8,0.0033014576765286454,-5.987863396959832e-5,9.355579500500295e-8,0.003301786809054379,-5.975339670750789e-5,9.33390980278829e-8,0.0033020419823445663,-5.964508164161518e-5,9.315264867329e-8,0.0033022421362587082,-5.9578548895871055e-5,9.303685979764736e-8,0.003302411561432909,-5.9567748630520254e-5,9.301394192772079e-8,0.0033025757102160976,-5.961647141519134e-5,9.308938092423752e-8,0.003302758454813665,-5.971971311326604e-5,9.32543085753427e-8,0.003302980149123383,-5.986499809573707e-5,9.348767984635991e-8,0.0033032558966772426,-6.003362496588928e-5,9.375826851834662e-8,0.003303593705146403,-6.0202192353766145e-5,9.402715772445558e-8,0.0033039926166897105,-6.034495084095433e-5,9.425167222522078e-8,0.003304441386900897,-6.043737478577002e-5,9.439138689843304e-8,0.003304918618617791,-6.046082993353868e-5,9.441594479608006e-8,0.0033053952081656575,-6.040751190609572e-5,9.431324511412548e-8,0.0033058394190006372,-6.028418972979809e-5,9.409552551950787e-8,0.0033062239072710452,-6.011307792870043e-5,9.380056022170947e-8,0.0033065329819612454,-5.99287475949815e-5,9.348622559924204e-8,0.003306767914704313,-5.977122717532698e-5,9.321879190076651e-8,0.003306948486177933,-5.9676703637333575e-5,9.305741226162379e-8,0.0033071098761496675,-5.966803032891732e-5,9.303855751819586e-8,0.003307295078633383,-5.974750722150152e-5,9.316446634613662e-8,0.003307544114132092,-5.9894223093106617E-05,9.339925812123948e-8,0.0033078824817017226,-6.006764076265878e-5,9.367527554290179e-8,0.003308312428674662,-6.021771715946743e-5,9.390997219756039e-8,0.003308810868846452,-6.02993136284251e-5,9.402960860305769e-8,0.003309335890088662,-6.028585030600706e-5,9.39915224159716e-8,0.003309839846317023,-6.017646168426142e-5,9.379561381316522e-8,0.003310283495942255,-5.999380790271972e-5,9.348042402784567e-8,0.0033106453888089448,-5.977450811021991e-5,9.310709708273535e-8,0.0033109239015205183,-5.955734946844783e-5,9.273979011758474e-8,0.003311133299984977,-5.937407692846487e-5,9.243051520461885e-8,0.0033112972340637236,-5.924481776115903e-5,9.221178385233012e-8,0.0033114426199441147,-5.917750316763905e-5,9.209590179549796e-8,0.0033115952609545363,-5.9169497804775444e-5,9.207784107991695e-8,0.003311777204723194,-5.920987375766593e-5,9.213904652853273e-8,0.0033120052080999,-5.92814938356559e-5,9.225082851606375e-8,0.003312289594904694,-5.936274846059623e-5,9.237717028262174e-8,0.003312633024578902,-5.942929679557276e-5,9.247760893901174e-8,0.003313029137070735,-5.945642637260442e-5,9.251122688928723e-8,0.0033134615879803833,-5.942257807852542e-5,9.244260873645003e-8,0.0033139044987459776,-5.931413137224047e-5,9.22498336783901e-8,0.0033143255654085853,-5.913063940039792e-5,9.193309185903323e-8,0.003314692523404364,-5.888852657791199e-5,9.152061902109267e-8,0.003314982071759978,-5.862063074863608e-5,9.106765658072329e-8,0.0033151883441194956,-5.836990960235362e-5,9.064573525743296e-8,0.003315327061036844,-5.817820907612507e-5,9.032387007253822e-8,0.003315432756404787,-5.807381239007963e-5,9.014792415786519e-8,0.003315549502730872,-5.80625870862475e-5,9.012617527068651e-8,0.0033157184572218204,-5.8126053541180765e-5,9.022654455023874e-8,0.003315966551858763,-5.8226689676969886e-5,9.038585941639497e-8,0.0033162996332138915,-5.831825523870404e-5,9.052728727571216e-8,0.0033167015288640424,-5.835787971070538e-5,9.058041563143791e-8,0.0033171388754599613,-5.8316694902620264e-5,9.049864230177064e-8,0.003317570199537387,-5.818631498100734e-5,9.026951683504713e-8,0.0033179566224040904,-5.7979533462259516e-5,8.99154851350754e-8,0.0033182710352989515,-5.772533753434543e-5,8.94853309482593e-8,0.003318503156852944,-5.746022504077495e-5,8.903967082003617e-8,0.003318659520612165,-5.721893166409305e-5,8.863565691424088e-8,0.0033187593907932924,-5.7027409664830245e-5,8.831554830627552e-8,0.0033188288152567313,-5.6899447070337116e-5,8.810136402150192e-8,0.0033188949683195744,-5.683663868685322e-5,8.799503967854189e-8,0.0033189820031886176,-5.683044444173091e-5,8.79819251290983e-8,0.0033191086079180677,-5.686498657172212e-5,8.80353851458633e-8,0.0033192868090701146,-5.6919687627007744e-5,8.812108202417043e-8,0.0033195213608058194,-5.6971468212093134e-5,8.820056393045532e-8,0.003319809205334997,-5.6996756676009524e-5,8.823463939940167e-8,0.0033201388682853913,-5.6973850769248384e-5,8.818741927408212e-8,0.0033204901645404743,-5.688617916715095e-5,8.803185327819643e-8,0.0033208351653437364,-5.672667481568836e-5,8.775700668157399e-8,0.0033211417606726764,-5.650258196722333e-5,8.737589343481958e-8,0.0033213807589085697,-5.623860290952227e-5,8.693042466255639e-8,0.003321535704580842,-5.5975194089382036e-5,8.64882803546673e-8,0.003321611779853912,-5.575964063734652e-5,8.612788421461543e-8,0.0033216383488875716,-5.563121550563371e-5,8.591372038897917e-8,0.00332166160133251,-5.560648771923718e-5,8.587208299016034e-8,0.003321729332346463,-5.567246407025703e-5,8.597999999454416e-8,0.0033218749696411454,-5.5791288194139026e-5,8.617344710132884e-8,0.003322108078793622,-5.591357362818337e-5,8.636987047930183e-8,0.003322414074917141,-5.599359775464645e-5,8.649361999558831e-8,0.0033227610657908736,-5.600062818328033e-5,8.649468343439781e-8,0.0033231098129842453,-5.592409172339057e-5,8.635693899550423e-8,0.003323423401229845,-5.577304858807897e-5,8.60968278743868e-8,0.0033236746106560327,-5.5571625019046895e-5,8.57553706414179e-8,0.0033238501378285963,-5.535223551652658e-5,8.538670353148495e-8,0.003323951512978097,-5.5148243821503265e-5,8.504591708672522e-8,0.0033239930515267515,-5.4987516475655016e-5,8.477855814651931e-8,0.003323997693098464,-5.4888022929405465e-5,8.461360179444422e-8,0.0033239919654675055,-5.485601986581888e-5,8.456067453943338e-8,0.0033240012834951657,-5.4886614374086276e-5,8.461111130656435e-8,0.00332404640453801,-5.496599005265156e-5,8.474164448132102e-8,0.003324141328817078,-5.507438956499113e-5,8.491926542726227e-8,0.003324292421254159,-5.5189074106772154e-5,8.510604823670503e-8,0.0033244982624229583,-5.528690636714247e-5,8.526342573891019e-8,0.0033247498139609742,-5.534665974060568e-5,8.5356116539381e-8,0.003325030738318475,-5.535139742517621e-5,8.535622814349039e-8,0.003325318078773487,-5.529132808874682e-5,8.524810407518335e-8,0.0033255840434287193,-5.516732559483926e-5,8.503412127897562e-8,0.003325800025884042,-5.4994500283684165e-5,8.474038755337137e-8,0.003325943636647162,-5.4803921202816106e-5,8.441925947919739e-8,0.003326007954119694,-5.463949661780294e-5,8.414386557641033e-8,0.0033260093929748016,-5.454751850488496e-5,8.39906316797749e-8,0.0033259881913321188,-5.4560143825206843e-5,8.401195873056964e-8,0.0033259972865628765,-5.4680122236649234e-5,8.421112518435034e-8,0.003326082679984568,-5.4876669269890736e-5,8.453576539427439e-8,0.0033262656698723574,-5.509660108184346e-5,8.489670021080734e-8,0.0033265367421952,-5.528454025680654e-5,8.520177547374201e-8,0.0033268625692368203,-5.540089651290604e-5,8.53858406600953e-8,0.0033271997836301316,-5.5430263445104554e-5,8.542454745717457e-8,0.00332750801243725,-5.538020410605459e-5,8.533193941439912e-8,0.0033277582273325535,-5.527451512296222e-5,8.514878834424156e-8,0.0033279360985943923,-5.514504454421498e-5,8.492865234127454e-8,0.0033280417206101223,-5.502443713341801e-5,8.47257264967664e-8,0.0033280872119350394,-5.494062573953781e-5,8.458583816329359e-8,0.0033280931856418602,-5.4913121909954754e-5,8.454056432249686e-8,0.003328084687829209,-5.49510529651956e-5,8.460424445406648e-8,0.003328087119786794,-5.505287514330795e-5,8.477367296994299e-8,0.003328122619004344,-5.520754438276987e-5,8.503008040542494e-8,0.0033282072794208633,-5.539681605654844e-5,8.534289014342119e-8,0.0033283494784650124,-5.559823205385741e-5,8.567459021016955e-8,0.0033285493241682613,-5.5788247308437714e-5,8.5985886311372e-8,0.0033287989546007955,-5.594511202878772e-5,8.624053969095568e-8,0.0033290834152926,-5.605145404558202e-5,8.640978601385084e-8,0.0033293820025522038,-5.609665354800625e-5,8.647641681844645e-8,0.00332967012765513,-5.607914249037254e-5,8.64386360154981e-8,0.003329922108265471,-5.600868372770514e-5,8.63137014691309e-8,0.003330115618151409,-5.590807269377462e-5,8.614043768918587e-8,0.0033302381328333365,-5.58126677029861e-5,8.597808953775239e-8,0.0033302943335076583,-5.5765475825965935e-5,8.589791861426393e-8,0.0033303112431023363,-5.580611329656748e-5,8.596488539474054e-8,0.003330335893358347,-5.595512706192685e-5,8.621187561535514e-8,0.0033304217950196257,-5.620076748901601e-5,8.661809726569148e-8,0.0033306077541668403,-5.649824615334275e-5,8.710815973363818e-8,0.003330900673735715,-5.678551821777345e-5,8.757850948338549e-8,0.0033312733708816735,-5.7007580014031255e-5,8.793794593475561e-8,0.003331677827847687,-5.713506396332166e-5,8.81385544183494e-8,0.0033320641462310304,-5.7168762976044525e-5,8.818303689777447e-8,0.003332394888741356,-5.713232454494835e-5,8.81121521924967e-8,0.003332650948899174,-5.706056072566515e-5,8.79848172366316e-8,0.0033328307387244707,-5.69892054818512e-5,8.786079588531413e-8,0.003332946103134148,-5.6948270940260595e-5,8.7789662082767e-8,0.003333017524013881,-5.695869565914077e-5,8.780546633003202e-8,0.003333069785980845,-5.7031151550971855e-5,8.79250644837299e-8,0.003333128293176569,-5.7166122827538784e-5,8.814848616597651e-8,0.003333215942814037,-5.735486447701515e-5,8.846062555209589e-8,0.003333350526081416,-5.758107712399529e-5,8.883400189972032e-8,0.003333542711568079,-5.782323256543382e-5,8.923255045240708e-8,0.0033337948024626724,-5.805748921759443e-5,8.961641831353482e-8,0.0033341004955474854,-5.826092281925177e-5,8.994735848331943e-8,0.0033344456574180216,-5.8414663420069585e-5,9.019404254409442e-8,0.0033348099763535065,-5.850667539814434e-5,9.033680470762473e-8,0.0033351693972139954,-5.8534013007029704e-5,9.037145788055351e-8,0.0033354992652454255,-5.850435337312846e-5,9.031176994724097e-8,0.003335778150817505,-5.8436628216984924e-5,9.019026948162117e-8,0.0033359924676545083,-5.836033415719681e-5,9.005674088553579e-8,0.003336141696475799,-5.831247259530645e-5,8.99728131408324e-8,0.003336242937122228,-5.833081796090152e-5,9.000064726389226e-8,0.003336332072852576,-5.844314497737879e-5,9.018519988192054e-8,0.003336457993721301,-5.8654611621949015e-5,9.053364701309959e-8,0.003336668034416213,-5.8939341334053395e-5,9.100181248328803e-8,0.0033369886308538366,-5.9243988034202145e-5,9.15003563787348e-8,0.0033374117211466396,-5.950577741976175e-5,9.192485569877443e-8,0.0033378966406314506,-5.9676814334938345e-5,9.219623025373824e-8,0.003338387060585492,-5.974061238822445e-5,9.228818050131115e-8,0.003338832161640395,-5.9712769824558396e-5,9.222809662066525e-8,0.003339200660884803,-5.9629238348668325e-5,9.207713490030904e-8,0.0033394839946629365,-5.9531508527586526e-5,9.19051435138701e-8,0.00333969194933606,-5.9455615021928336e-5,9.177216062406416e-8,0.0033398456958361393,-5.9426735296063406e-5,9.171952556625893e-8,0.0033399714625476887,-5.94580076063395e-5,9.176821138029921e-8,0.0033400959454044452,-5.9551503177061825e-5,9.19207583444299e-8,0.003340243216604815,-5.969991931487511e-5,9.21642828744451e-8,0.003340432528612182,-5.988845372977386e-5,9.247363390315894e-8,0.00334067661964073,-6.009682747560091e-5,9.281470236403697e-8,0.003340980391006287,-6.0301603901974886e-5,9.314821825194654e-8,0.0033413400860247433,-6.047899922745841e-5,9.34344253905957e-8,0.0033417433406987395,-6.0608161718892285e-5,9.363861218700703e-8,0.0033421704338331562,-6.0674530868574566e-5,9.373681434940468e-8,0.003342596793867571,-6.067274472862805e-5,9.372073186756808e-8,0.003342996619504433,-6.060857747387037e-5,9.360092417739725e-8,0.0033433472973181913,-6.049938316515723e-5,9.340736779360886e-8,0.003343634076313921,-6.037265637678459e-5,9.318674843140178e-8,0.003343854352958671,-6.026253039672385e-5,9.29962869527095e-8,0.0033440207974379525,-6.02040503597778e-5,9.289398103642671e-8,0.00334416209570793,-6.0225227664861864e-5,9.292540486542561e-8,0.0033443195738953684,-6.033783862182839e-5,9.310869759814082e-8,0.0033445382535737425,-6.052967926745262e-5,9.342213643036966e-8,0.0033448528768625176,-6.076271261213488e-5,9.380146725962548e-8,0.0033452733341006566,-6.098129519580642e-5,9.415379750598335e-8,0.0033457773304763423,-6.11302103754188e-5,9.43875995339562e-8,0.003346316441695281,-6.117498982465232e-5,9.444642575943193e-8,0.0033468338086486238,-6.111354333006799e-5,9.432810795018451e-8,0.0033472838692474196,-6.097324927755117e-5,9.4079645301939e-8,0.0033476441985163447,-6.0797240704200516e-5,9.377398884436344e-8,0.0033479163084475117,-6.062888070521747e-5,9.348385258171712e-8,0.003348119017326552,-6.050124738963157e-5,9.326410433273226e-8,0.0033482798563691583,-6.043317112036643e-5,9.314535120928058e-8,0.0033484280459571253,-6.0429873261064216e-5,9.313533471622201e-8,0.0033485900303240564,-6.0485597297215256e-5,9.322360188274091e-8,0.0033487870427821647,-6.058650061285441e-5,9.338645264051759e-8,0.003349033779148276,-6.071317745669125e-5,9.359112405668456e-8,0.003349337512154647,-6.084287930407258e-5,9.379941019517652e-8,0.0033496973868342426,-6.0951778738148076e-5,9.39713912066027e-8,0.0033501040189214903,-6.1017654657638296e-5,9.406994902831682e-8,0.003350539852327468,-6.102313701204754e-5,9.406628005534092e-8,0.0033509808424563464,-6.0959184102096446e-5,9.394579478956938e-8,0.0033513997985662727,-6.0828035243102085e-5,9.371305998195274e-8,0.003351771242630648,-6.064464806465786e-5,9.339407682046672e-8,0.0033520770502697586,-6.043567280060645e-5,9.303431185934628e-8,0.0033523115992083793,-6.023549059632611e-5,9.269175686275925e-8,0.0033524849538567095,-6.0079656147178764e-5,9.242570667708549e-8,0.003352622868607595,-5.999683644913714e-5,9.228321247007672e-8,0.0033527629108964156,-6.0000858451751614e-5,9.228598308330152e-8,0.0033529466888537886,-6.0084899028015664e-5,9.242109352946563e-8,0.003353209163212818,-6.0220101719581925e-5,9.263915942649568e-8,0.003353567452423346,-6.036056292024498e-5,9.286301996208644e-8,0.003354013074553909,-6.045506176241125e-5,9.300742375322236e-8,0.003354511938151932,-6.0462793179074204e-5,9.300515855826013e-8,0.003355013937094379,-6.036701837740332e-5,9.282957547814603e-8,0.0033554690078815767,-6.018006277425595e-5,9.250263119120252e-8,0.0033558424476254254,-5.9937221757790955e-5,9.208440293612802e-8,0.0033561228412348943,-5.9683282240027307e-5,9.165030735952862e-8,0.003356320744440452,-5.9458664926667036e-5,9.126781835699132e-8,0.003356461215846782,-5.929059997108527e-5,9.09818074709203e-8,0.0033565749791113304,-5.919060979973586e-5,9.081060603989335e-8,0.0033566915189816907,-5.915640839670276e-5,9.07494897969949e-8,0.0033568350305881473,-5.91755770416691e-5,9.077702401431161e-8,0.003357022613830941,-5.9229226963443656e-5,9.086121990946202e-8,0.003357263701159578,-5.929496452229679e-5,9.096440629587108e-8,0.003357559911226247,-5.934921839576949e-5,9.104702421945221e-8,0.0033579049385909485,-5.9369383956175455e-5,9.1071192375381e-8,0.0033582845835001054,-5.9336313704812116e-5,9.100494733703145e-8,0.00335867744667257,-5.923739982099832e-5,9.082751861971475e-8,0.003359057001605932,-5.906997363720898e-5,9.053508695821385e-8,0.003359395616398978,-5.884413276926084e-5,9.014546329210125e-8,0.003359670484111321,-5.858354614172143e-5,8.96992412648217e-8,0.003359870306372325,-5.83227294745991e-5,8.925494292974744e-8,0.003360000476205311,-5.8100244081356475e-5,8.887733886137964e-8,0.0033600842939887445,-5.794905158876692e-5,8.862112733910623e-8,0.0033601588394004405,-5.7886876867381644e-5,8.851484939281549e-8,0.0033602660797591934,-5.790993390908707e-5,8.85506789176601e-8,0.003360441674025316,-5.799244505104898e-5,8.868407215376571e-8,0.003360704848971143,-5.809247460735285e-5,8.884397868653839e-8,0.003361052408555661,-5.8162610399993446e-5,8.895098477449679e-8,0.0033614587985430038,-5.816263041067814e-5,8.893850581578914e-8,0.003361882595100984,-5.807055435201572e-5,8.877103313526498e-8,0.0033622778382321966,-5.788851232418176e-5,8.845357733079992e-8,0.003362606646946412,-5.764123357960088e-5,8.802875740347297e-8,0.003362848722009863,-5.736772166360094e-5,8.756257923304475e-8,0.003363004624307182,-5.710951428610873e-5,8.712465566458204e-8,0.0033630925651310676,-5.690004657624532e-5,8.677046271557997e-8,0.0033631411170110623,-5.6758424875231495e-5,8.653114040510852e-8,0.003363181256001812,-5.668835779717318e-5,8.641199419472419e-8,0.0033632402740149748,-5.6680785627308535e-5,8.639713164955336e-8,0.0033633383786634027,-5.67180183840242e-5,8.64564805526587e-8,0.0033634874868962595,-5.6777755378881375e-5,8.65524655651299e-8,0.0033636912810481303,-5.683628445550697e-5,8.66452477529796e-8,0.003363945718484768,-5.687086249094485e-5,8.669663650025481e-8,0.0033642395389277832,-5.686171426360383e-5,8.667346696354637e-8,0.0033645548029027344,-5.6794222114151424e-5,8.655138743646585e-8,0.0033648679728196743,-5.6661634264931834e-5,8.631952160889124e-8,0.003365152316192434,-5.646808727765676e-5,8.598556119531746e-8,0.0033653823440695273,-5.6231009443925796e-5,8.557966538825618e-8,0.003365540348867742,-5.598115619209057e-5,8.515425825459867e-8,0.0033656236291926926,-5.5758262063050816e-5,8.477643543829795e-8,0.003365649237974656,-5.5601580627967396e-5,8.451187493962213e-8,0.003365652653538818,-5.5537505781072915e-5,8.440402629396734e-8,0.0033656789459104476,-5.5569291146105796e-5,8.445703766415184e-8,0.003365769023611574,-5.5674099565599833e-5,8.463116901817921e-8,0.003365946605285959,-5.580935658495085e-5,8.485389455646114e-8,0.003366211262409989,-5.592573091926771e-5,8.504204720695987e-8,0.0033665395943343838,-5.598132333980049e-5,8.512577176624952e-8,0.003366892961472996,-5.59521898282755e-5,8.506604596898847e-8,0.003367228357217615,-5.583677491599288e-5,8.486175343471328e-8,0.0033675090217883843,-5.565418314517531e-5,8.454632832083293e-8,0.0033677122812087027,-5.543770395775392e-5,8.417651191158752e-8,0.0033678331653782018,-5.522579913828783e-5,8.381704806824443e-8,0.0033678834944036373,-5.50530389308712e-5,8.352552276592036e-8,0.0033678872697589877,-5.494321345418341e-5,8.334103225252462e-8,0.003367874119813055,-5.490600237086945e-5,8.327889130742978e-8,0.0033678728417263332,-5.493731937946403e-5,8.333146207894089e-8,0.003367906582298691,-5.50223028120182e-5,8.347329601819736e-8,0.003367990240931756,-5.5139459330814e-5,8.36680693328067e-8,0.003368129820921837,-5.5264706650024884e-5,8.387526013174893e-8,0.0033683230141878383,-5.53746278372721e-5,8.405550425907457e-8,0.0033685602874602904,-5.544884667401181e-5,8.417455801548991e-8,0.0033688260245799536,-5.5471875403664845e-5,8.420648096017351e-8,0.0033690996964164,-5.54349217648513e-5,8.41368044105891e-8,0.0033693574390171246,-5.533796983745346e-5,8.396611154911362e-8,0.003369574738556079,-5.51920190230235e-5,8.371373979967595e-8,0.0033697309471166486,-5.502062543221554e-5,8.342014676700197e-8,0.0033698157191195807,-5.4858963662490004e-5,8.314502135403152e-8,0.00336983588693757,-5.4748211466438515e-5,8.295758836096101e-8,0.003369819180796456,-5.472435396786891e-5,8.291770942984493e-8,0.0033698103447281362,-5.4804144817696605e-5,8.305241791698605e-8,0.0033698580327925177,-5.497509215486744e-5,8.333937840761425e-8,0.00336999704671909,-5.519660736781785e-5,8.370918090270701e-8,0.003370235023755808,-5.541355414664154e-5,8.406846696487325e-8,0.0033705505910493,-5.557548077177791e-5,8.43325066766928e-8,0.0033709027002781183,-5.565191209448797e-5,8.445094442884492e-8,0.0033712449573918956,-5.563811944371171e-5,8.441726573141519e-8,0.0033715383281370122,-5.5551947479558465e-5,8.426301455023264e-8,0.0033717588003342688,-5.5425603682988634e-5,8.404350744757277e-8,0.0033718997534319347,-5.529628730757146e-5,8.382176259040501e-8,0.0033719703516509663,-5.519808521396885e-5,8.365483265879684e-8,0.0033719915125817105,-5.515616301581334e-5,8.358424368986457e-8,0.003371990670460589,-5.5183508520810655e-5,8.363084262341449e-8,0.003371996312094328,-5.5280222125438397e-5,8.37938999603007e-8,0.0033720332014755966,-5.543506986883743e-5,8.405389123547616e-8,0.0033721189855487107,-5.56286157858378e-5,8.437778720791833e-8,0.003372262458821144,-5.5837078683713314e-5,8.472545698884107e-8,0.0033724633940253805,-5.603614789623234e-5,8.505597653427594e-8,0.003372713546608454,-5.620417709122976e-5,8.533294234846123e-8,0.0033729982668022603,-5.632452546423462e-5,8.552844070193068e-8,0.00337329829570848,-5.6387235045065904e-5,8.562597120345452e-8,0.003373591662554191,-5.639037939243083e-5,8.56228158420924e-8,0.0033738558827816345,-5.634128823507716e-5,8.553209949381927e-8,0.0033740709065428706,-5.625757728164715e-5,8.538435984518772e-8,0.0033742233614416587,-5.6167318041165296e-5,8.522753464272809e-8,0.0033743120850930324,-5.6106839883563096e-5,8.512295286558207e-8,0.0033743535182657845,-5.6114284681771475e-5,8.51343302306435e-8,0.003374383584560917,-5.621816091412462e-5,8.530860378052354e-8,0.003374451653711905,-5.642363033026548e-5,8.565316246357324e-8,0.003374604874548048,-5.670392651341919e-5,8.612176775673318e-8,0.003374868363272367,-5.700515151316815e-5,8.662290807184912e-8,0.0033752327666612806,-5.726543902108981e-5,8.705223569982031e-8,0.003375657734454065,-5.743861941957818e-5,8.733251492462779e-8,0.00337608883276525,-5.7508964679654286e-5,8.743842547911098e-8,0.0033764770314720334,-5.749109053497066e-5,8.739613430904317e-8,0.003376791288154108,-5.741928432963936e-5,8.726484516431357e-8,0.003377021873463669,-5.733428391425587e-5,8.711405749206888e-8,0.003377177244553692,-5.727289468373037e-5,8.700584615729924e-8,0.0033772782065038614,-5.7261975296652276e-5,8.698482352101486e-8,0.003377351897211726,-5.731608876134401e-5,8.707450164078988e-8,0.0033774266600864046,-5.743750053577925e-5,8.727765185706965e-8,0.0033775279397840904,-5.761758344607225e-5,8.757892428997106e-8,0.0033776751676794963,-5.783921764291742e-5,8.794897670651642e-8,0.0033778797227997696,-5.807988352583364e-5,8.834963725304223e-8,0.0033781440270615184,-5.831509017006301e-5,8.873957895692964e-8,0.0033784617768650477,-5.8521803894550365e-5,8.908001953560924e-8,0.003378819238634322,-5.868149381761238e-5,8.933984781642511e-8,0.003379197323670683,-5.8782439093002966e-5,8.949957584080041e-8,0.003379574066231394,-5.882122050843463e-5,8.955393397490966e-8,0.003379927308581292,-5.880351542948081e-5,8.951323372093641e-8,0.0033802375736910525,-5.8744255904977356e-5,8.940353066295135e-8,0.003380491220639322,-5.86670851430349e-5,8.92654614473728e-8,0.003380684061250688,-5.8602724717853605e-5,8.915117457299559e-8,0.003380825238790617,-5.8585283278155506e-5,8.911787039413452e-8,0.0033809400725077258,-5.8645366370736766e-5,8.921617853680288e-8,0.0033810692089788217,-5.8799874204040243e-5,8.947323513780382e-8,0.003381260821250198,-5.904106722336901e-5,8.987469296042821e-8,0.0033815547925915685,-5.933123263112307e-5,9.0356110182332e-8,0.003381964109575867,-5.961028832185029e-5,9.081592148861166e-8,0.0033824647851254143,-5.981713959083937e-5,9.1151422106769e-8,0.003383003169851391,-5.9914358833980524e-5,9.130033548932249e-8,0.0033835175357943767,-5.9901254032734106e-5,9.126278647579509e-8,0.0033839605590798446,-5.980890433849116e-5,9.10926902260356e-8,0.00338431099616989,-5.968366488858203e-5,9.086948355865654e-8,0.0033845727837585357,-5.9570442762593056e-5,9.066948346775116e-8,0.0033847670858004075,-5.950243521857609e-5,9.05484296124944e-8,0.0033849232362922243,-5.9497727807565615e-5,9.053594275132374e-8,0.0033850716583332255,-5.956024397003957e-5,9.063751388399143e-8,0.0033852393421935963,-5.9682490187505253e-5,9.083949487511646e-8,0.0033854472176725985,-5.984859127500225e-5,9.111441080009529e-8,0.0033857086133339863,-6.003720459463659e-5,9.142588647628522e-8,0.0033860284271986017,-6.022439650227471e-5,9.173340583043047e-8,0.003386402955846923,-6.038656005091193e-5,9.199713865518988e-8,0.003386820462731965,-6.0503374088305864e-5,9.218289744117541e-8,0.003387262658810295,-6.05606230682693e-5,9.226693315388558e-8,0.0033877071395750856,-6.0552452997181255e-5,9.223981379163578e-8,0.0033881305330445235,-6.048266726105932e-5,9.210864890465263e-8,0.0033885120041810286,-6.036487174837796e-5,9.189727295160823e-8,0.003388836782278121,-6.022136221100909e-5,9.164417689053099e-8,0.003389099364723984,-6.008071140194549e-5,9.139814912203612e-8,0.003389306087909998,-5.9974056769629564e-5,9.121173103792565e-8,0.0033894766507592314,-5.992991778520634e-5,9.113234376727132e-8,0.0033896436217253243,-5.9967392439029444e-5,9.119094033650632e-8,0.003389848331184142,-6.00884494472235e-5,9.138938243016609e-8,0.003390131696696725,-6.027176738671097e-5,9.169052134537972e-8,0.003390520408645742,-6.0472489173007385e-5,9.20181223124543e-8,0.003391013048776062,-6.0632291852483944e-5,9.227391611926006e-8,0.003391574685345615,-6.069936708195099e-5,9.237117323434914e-8,0.0033921465752053356,-6.0649508463182645e-5,9.227013011226155e-8,0.003392668019375996,-6.049561955058757e-5,9.199390213601754e-8,0.003393098109249708,-6.027985582758634e-5,9.161498325294656e-8,0.003393425788317697,-6.005472021645174e-5,9.12229510324662e-8,0.00339366621882231,-5.986502345047448e-5,9.089367784604274e-8,0.003393849764889761,-5.973824800765525e-5,9.067301795341194e-8,0.0033940108887349028,-5.9683418753718195e-5,9.057517474706375e-8,0.0033941806177451347,-5.969475502631139e-5,9.058927390461232e-8,0.0033943828082887316,-5.9756555264083074e-5,9.068792616803152e-8,0.0033946329021984417,-5.984744069403636e-5,9.083450585144963e-8,0.003394937808251754,-5.994358255246006e-5,9.098854172687638e-8,0.003395296161910116,-6.002127117598997e-5,9.110993548500498e-8,0.003395698804414143,-6.0059267214638514e-5,9.116285658288206e-8,0.0033961296425301405,-6.004122350292775e-5,9.111984405853812e-8,0.0033965672449549665,-5.995817702591761e-5,9.096608893871411e-8,0.0033969875056327195,-5.9810681332088226e-5,9.070310529653611e-8,0.0033973673472186662,-5.960989551896998e-5,9.035055940505286e-8,0.0033976890073721226,-5.937702862808381e-5,8.994519524467432e-8,0.00339794414966279,-5.914078600227383e-5,8.953626954603158e-8,0.00339813686265762,-5.893285864413488e-5,8.91776383701858e-8,0.0033982846760873316,-5.8782022201718587e-5,8.891757350029357e-8,0.0033984170426695744,-5.8707756459061303e-5,8.878796990728907e-8,0.0033985710041651773,-5.8714419523522015e-5,8.879474808736464e-8,0.003398783964213327,-5.8787308590801815e-5,8.891163690828701e-8,0.003399084097724401,-5.889244323337396e-5,8.908026373626042e-8,0.003399480270250761,-5.898203293481756e-5,8.921967011645284e-8,0.0033999551699554283,-5.900646431000797e-5,8.924656326463904e-8,0.003400466358786225,-5.893049216975236e-5,8.91024588459512e-8,0.003400957801068039,-5.8747104648884236e-5,8.877683281588798e-8,0.003401378527359106,-5.848118000125292e-5,8.831304298309702e-8,0.0034016995373273343,-5.817987411373497e-5,8.779181892187154e-8,0.0034019205448226966,-5.789489120259509e-5,8.730103063936285e-8,0.0034020649231812825,-5.7666180030203005e-5,8.690798801868969e-8,0.003402168049287801,-5.751375176227864e-5,8.664571506488682e-8,0.003402265858276145,-5.743804869788241e-5,8.651389470980682e-8,0.00340238747932283,-5.742519852330234e-5,8.64881096032888e-8,0.0034025522455255973,-5.7453234933997976e-5,8.653057385184077e-8,0.0034027695489980392,-5.7497130460310654e-5,8.659865614011625e-8,0.003403039886903058,-5.753221388492227e-5,8.665054230622828e-8,0.0034033560870460524,-5.753644074444263e-5,8.664895352331391e-8,0.0034037044047870047,-5.7492186034072585e-5,8.656414307834132e-8,0.003404065680014834,-5.738807359108861e-5,8.637705347880114e-8,0.0034044170305128105,-5.722099116240365e-5,8.60828262613509e-8,0.003404734597935735,-5.6997926909140374e-5,8.569395943787588e-8,0.003404997558905359,-5.6736793275923886e-5,8.524163215191012e-8,0.0034051929890715296,-5.646520876211743e-5,8.477344074418974e-8,0.003405320408160798,-5.621648018227168e-5,8.434631513995815e-8,0.003405394300451476,-5.6022900264124296e-5,8.40149123124777e-8,0.0034054430646795236,-5.590772696450894e-5,8.381791884209707e-8,0.0034055038606741876,-5.587815564824331e-5,8.376626228374444e-8,0.0034056142384550816,-5.59216390476811e-5,8.383721738396868e-8,0.003405802567121793,-5.600706841995555e-5,8.397686437719106e-8,0.003406079762115114,-5.609104831024885e-5,8.411111539414267e-8,0.0034064347003346877,-5.6128202268790945e-5,8.416335082003054e-8,0.0034068351738956544,-5.6083285215666045e-5,8.407483916197228e-8,0.003407235151776666,-5.594181500695267e-5,8.382243623901492e-8,0.0034075871596243503,-5.5715353849958e-5,8.342714398589868e-8,0.0034078560389337632,-5.543856994368361e-5,8.294878555047174e-8,0.0034080288015259303,-5.5158405656903775e-5,8.246741739171249e-8,0.003408116556022004,-5.491960304745137e-5,8.20587213493105e-8,0.0034081483496585887,-5.475262430635319e-5,8.17736335484883e-8,0.0034081606287834965,-5.466819510979342e-5,8.162935251217643e-8,0.003408187213574958,-5.465879991060622e-5,8.161218884734959e-8,0.0034082529479952245,-5.470438823302094e-5,8.168747464274309e-8,0.0034083714747449156,-5.477893708194855e-5,8.181075694408507e-8,0.0034085458513296286,-5.4855751000708015e-5,8.193669718795236e-8,0.003408770414545297,-5.4910925975911326e-5,8.202480039048432e-8,0.003409032781106392,-5.4925363401297566e-5,8.204274072682829e-8,0.0034093155318804143,-5.488606600123461e-5,8.196858076576507e-8,0.0034095977133735593,-5.478735913882586e-5,8.179294852554372e-8,0.0034098566636729913,-5.463228818846857e-5,8.1521508229844755E-08,0.003410070752139286,-5.443391476149148e-5,8.117715796819658e-8,0.0034102233957102024,-5.4215684339399623e-5,8.0800505879973e-8,0.003410308068531649,-5.400958289018258e-5,8.044648266424068e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json new file mode 100644 index 000000000..5a65685cc --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":22000,"numberOfSamples":1000,"samples":[0.003410332914201753,-5.3850894022675106e-5,8.017517098961131e-8,0.003410322528879365,-5.376958194615e-5,8.003701237438996e-8,0.0034103145652221627,-5.3780481135696216e-5,8.005617875605212e-8,0.0034103506775372276,-5.3876274061593275e-5,8.021888857849169e-8,0.003410464307410866,-5.402707135418975e-5,8.047308167596654e-8,0.003410669971601388,-5.4187778507499705e-5,8.074133887896081e-8,0.003410958362427396,-5.431078402439631e-5,8.094271511350002e-8,0.0034112988966924413,-5.435925986441926e-5,8.101538020005893e-8,0.0034116483046836123,-5.431671386401488e-5,8.093263501288651e-8,0.0034119621492173344,-5.41904204198061e-5,8.070834304160092e-8,0.0034122059256284677,-5.400841636122217e-5,8.039138838903804e-8,0.0034123629141804617,-5.38113276447821e-5,8.005145827068325e-8,0.003412436926427523,-5.3641509849942013e-5,7.976047048128742e-8,0.0034124495366027988,-5.3532666321671336e-5,7.957504010808949e-8,0.0034124330661485227,-5.350283981451321e-5,7.952484351765614e-8,0.0034124218722404974,-5.3552370565715433e-5,7.960947036368768e-8,0.0034124447457084236,-5.3666539079328896e-5,7.980316491937519e-8,0.0034125202858526367,-5.382106091332426e-5,8.00642647210325e-8,0.0034126555868305777,-5.398815305369993e-5,8.034545908014444e-8,0.0034128473776592204,-5.414152490629849e-5,8.06021342297411e-8,0.0034130843642180496,-5.425966542015235e-5,8.079783644736344e-8,0.0034133497512128354,-5.4327618445658844e-5,8.090725685897239e-8,0.003413623435855102,-5.4337869912637006e-5,8.091781018622006e-8,0.003413883907454681,-5.429097539492461e-5,8.083081580105819e-8,0.0034141102665403125,-5.419622361028624e-5,8.066268207707981e-8,0.0034142849136512055,-5.407215162017978e-5,8.044570051432896e-8,0.00341439730488426,-5.394617096384391e-5,8.022718223765307e-8,0.003414448551881033,-5.385201336379878e-5,8.006482802604857e-8,0.0034144554442633347,-5.382365677022172e-5,8.001619006311863e-8,0.003414451133210198,-5.388562472720168e-5,8.012215438343905e-8,0.0034144795115925615,-5.4042269894100845e-5,8.038890648236031e-8,0.003414582717752921,-5.427144088560471e-5,8.077748959286917e-8,0.0034147858366957128,-5.452785635760065e-5,8.120990068433355e-8,0.003415086335408109,-5.475685197042185e-5,8.159276299340531e-8,0.0034154541675420077,-5.491264135361651e-5,8.184854560101504e-8,0.003415842328369328,-5.497241133679643e-5,8.19395012048398e-8,0.0034162020648540446,-5.494079694397467e-5,8.187500799224558e-8,0.0034164960597480513,-5.484509224563486e-5,8.170297816008171e-8,0.003416705855690934,-5.472520370648011e-5,8.14923147861858e-8,0.0034168331491478627,-5.462263220717812e-5,8.131389578844407e-8,0.003416896425673255,-5.457135459703978e-5,8.122506662590603e-8,0.003416924864737033,-5.459196701501527e-5,8.125992201462119e-8,0.0034169512624180483,-5.468942093895768e-5,8.142580537893595e-8,0.0034170054267853647,-5.485407812356393e-5,8.17054100824689e-8,0.0034171092005408077,-5.506533196508355e-5,8.206310391954363e-8,0.0034172737893538854,-5.529662285957986e-5,8.24534661992994e-8,0.0034174994368857004,-5.552057481406241e-5,8.282992315001632e-8,0.0034177769459542693,-5.5713266654435735e-5,8.315188937008223e-8,0.0034180902481047706,-5.58571185539423e-5,8.338960767448971e-8,0.0034184192209990544,-5.594239734507513e-5,8.352672714006698e-8,0.0034187422744122974,-5.5967759795049916e-5,8.356130894842189e-8,0.0034190386613258106,-5.5940313585960716e-5,8.350600300356605e-8,0.0034192907451060053,-5.5875438829459745e-5,8.338772029482915e-8,0.0034194865853197334,-5.5796286755981725e-5,8.324661178228372e-8,0.0034196231618546383,-5.573239332743332e-5,8.313343416160889e-8,0.0034197100026956712,-5.571629566234729e-5,8.310353167794132e-8,0.0034197718373557965,-5.5777017730924494e-5,8.320565011677361e-8,0.0034198476546487924,-5.593045265235306e-5,8.346570742357244e-8,0.0034199832418701356,-5.6169307155583144e-5,8.387000547866622e-8,0.0034202166393619616,-5.64584557493018e-5,8.435767926960611e-8,0.0034205614639800535,-5.67418663020452e-5,8.483274082655738e-8,0.003420997727034218,-5.696140593963007e-5,8.51962311929662e-8,0.0034214773558268368,-5.707879301142648e-5,8.538365211417604e-8,0.0034219421419332224,-5.708851047552745e-5,8.538688805157197e-8,0.0034223438059788605,-5.701585691614104e-5,8.525060072019697e-8,0.0034226564954146083,-5.690413699843295e-5,8.504993386503595e-8,0.003422878920363075,-5.679944106094893e-5,8.486413227000239e-8,0.0034230291674335464,-5.6739176541925223e-5,8.475681081074442e-8,0.003423136660697731,-5.6746178962097036e-5,8.476606168603778e-8,0.0034232343831674863,-5.682746769406769e-5,8.490269488349289e-8,0.0034233527024106186,-5.697594757338996e-5,8.515352124084064e-8,0.003423515048462373,-5.717372366496969e-5,8.548725451920484e-8,0.003423735360724929,-5.739623453008071e-5,8.586162778920173e-8,0.0034240171921175824,-5.761661689063496e-5,8.623076555625632e-8,0.003424354282394761,-5.7809781532945634e-5,8.655200921001188e-8,0.003424732337212298,-5.795580012171021e-5,8.679159414405439e-8,0.0034251316600929604,-5.804228112995662e-5,8.692867283680107e-8,0.0034255301389273553,-5.8065571370678764e-5,8.695739993818016e-8,0.0034259061435299876,-5.8030942708281336e-5,8.68873016976559e-8,0.003426241192945239,-5.7952061490074354e-5,8.674237096252997e-8,0.003426522442310002,-5.784987818084441e-5,8.655906513984539e-8,0.0034267450710929025,-5.775090698206635e-5,8.638314938058331e-8,0.0034269146613510586,-5.768461436478088e-5,8.626498016672915e-8,0.0034270492888037753,-5.7679206341423455e-5,8.625215296635437e-8,0.0034271801115048016,-5.775513150463932e-5,8.637847340111039e-8,0.003427348318837799,-5.791673040416302e-5,8.66500111928406e-8,0.003427596290732135,-5.814466196255829e-5,8.703260278195282e-8,0.0034279529627239238,-5.8394327194921334e-5,8.744949479355945e-8,0.003428418470586544,-5.860576263431353e-5,8.77983298726461e-8,0.00342895785967562,-5.872474275422114e-5,8.79870966366347e-8,0.0034295111225311516,-5.872520138069127e-5,8.797231646130829e-8,0.0034300159367414112,-5.8619276575255356e-5,8.777608739665868e-8,0.003430429936364875,-5.8449346719175054e-5,8.747221956219683e-8,0.0034307409539403753,-5.8269005362368705e-5,8.715330218992734e-8,0.0034309636874953423,-5.812488879415304e-5,8.689927969838687e-8,0.0034311290547955646,-5.804651663753494e-5,8.676002574361577e-8,0.0034312730856115364,-5.804431513186724e-5,8.675224016919222e-8,0.003431428842749821,-5.811258599710215e-5,8.686495556850346e-8,0.003431621833748501,-5.823424073945281e-5,8.706799112634763e-8,0.0034318679871170456,-5.838549788451625e-5,8.732014432177786e-8,0.0034321731793053077,-5.854001187955921e-5,8.757621999925782e-8,0.0034325337535511193,-5.8672442465983527E-05,8.779300375802679e-8,0.0034329377969641297,-5.876149483775846e-5,8.79343338304245e-8,0.0034333670820067457,-5.8792422402358875e-5,8.7975316488367e-8,0.0034337996533433854,-5.875886549720411e-5,8.790547650809066e-8,0.0034342129023982814,-5.8663743295375374e-5,8.773032040338553e-8,0.0034345867528595554,-5.8519040728693963E-05,8.747098149349937e-8,0.00343490662495616,-5.834457618854895e-5,8.716204139286165e-8,0.003435165997133961,-5.816584043444344e-5,8.684766473704805e-8,0.003435368377604481,-5.8010940498476064e-5,8.657614158669101e-8,0.003435528469312809,-5.79066894188021e-5,8.639300030976978e-8,0.0034356721817477088,-5.787374966119817e-5,8.633265875065238e-8,0.0034358346431882215,-5.7920805816179714e-5,8.640865043476558e-8,0.00343605489737805,-5.8038637339463834e-5,8.660388209222903e-8,0.0034363663675272185,-5.8196543664505935e-5,8.686495377469283e-8,0.003436784132872785,-5.834498191690136e-5,8.710692888866458e-8,0.003437293776835478,-5.8427735873480615e-5,8.72341254787051e-8,0.0034378497110881335,-5.8402092841660325e-5,8.717442687949159e-8,0.0034383882973978448,-5.8257765502926945e-5,8.691145603639477e-8,0.003438851408713721,-5.802240303565348e-5,8.649384664598423e-8,0.0034392073380863355,-5.774932951993929e-5,8.601401185593557e-8,0.0034394577744100104,-5.749559608304214e-5,8.557022184800596e-8,0.003439630233895451,-5.7303386349150334e-5,8.523451882013677e-8,0.0034397639148655676,-5.71921018810065e-5,8.503923334835471e-8,0.003439897152082377,-5.716002300749245e-5,8.498019404726612e-8,0.0034400599773055985,-5.719061355114749e-5,8.502796230293353e-8,0.0034402713672934656,-5.725932344600479e-5,8.513976877355545e-8,0.0034405393098027363,-5.7338962376120295e-5,8.52687687250456e-8,0.0034408620305790096,-5.7403458295962594e-5,8.5370360365332e-8,0.0034412295639111826,-5.74305399376233e-5,8.540661686558558e-8,0.0034416255077720182,-5.7403819017073256e-5,8.534975049941572e-8,0.0034420290593737894,-5.7314494475115625e-5,8.518502074925517e-8,0.0034424175204084556,-5.7162649725107814e-5,8.491300299198063e-8,0.0034427693744096327,-5.695780291358059e-5,8.45505703435799e-8,0.003443067694390436,-5.671827027498391e-5,8.412977141244271e-8,0.0034433033585062117,-5.6469137408961e-5,8.369422260683416e-8,0.003443477522363603,-5.6238888006486065e-5,8.329312068593308e-8,0.0034436028265143223,-5.6054927768332085e-5,8.297335687745774e-8,0.0034437028776761053,-5.593849466785818e-5,8.277067663956046e-8,0.0034438096971042514,-5.589961405993521e-5,8.270110737924363e-8,0.0034439589152577502,-5.593284157050621e-5,8.275395289466784e-8,0.0034441825909026142,-5.601493075148707e-5,8.288821797121621e-8,0.0034445001635288017,-5.610621465702858e-5,8.303535737202917e-8,0.0034449095226591654,-5.615762951966539e-5,8.311147869532069e-8,0.0034453821233687756,-5.612393855092263e-5,8.303989847633601e-8,0.003445866927768903,-5.598013860657117e-5,8.277898571579688e-8,0.003446305117155568,-5.573359851034611e-5,8.234268399454156e-8,0.003446650688170405,-5.54237541297035e-5,8.179975395214818e-8,0.003446886420895123,-5.5107576665760024e-5,8.124862318937609e-8,0.0034470267259821934,-5.483846667724602e-5,8.078097385183255e-8,0.00344710766051307,-5.464993566767857e-5,8.04536936374894e-8,0.003447171789706657,-5.455038535028025e-5,8.028012646114274e-8,0.0034472558389312216,-5.452741901483898e-5,8.02378602589795e-8,0.003447384454009153,-5.455622510521429e-5,8.028347230580017e-8,0.003447569166450617,-5.460748845901849e-5,8.036626359875367e-8,0.003447810144196527,-5.465292154467429e-5,8.043768722291936e-8,0.0034480987268725206,-5.466849659176279e-5,8.045671557812648e-8,0.003448419783191651,-5.46362499989435e-5,8.039277888315682e-8,0.003448753772593059,-5.45454637568273e-5,8.022774113086465e-8,0.0034490787902391605,-5.439364106836301e-5,7.995762374625734e-8,0.003449372967644381,-5.41872734508112e-5,7.959400330433788e-8,0.0034496174799257423,-5.394199608711304e-5,7.916430464845655e-8,0.003449800033082265,-5.368150494101013e-5,7.870985989025718e-8,0.0034499182123150364,-5.343472982432336e-5,7.828086678372597e-8,0.003449981722370573,-5.323117506956941e-5,7.792815673433031e-8,0.0034500124919465153,-5.30949612652312e-5,7.769278778854012e-8,0.0034500419488425822,-5.303878495366926e-5,7.759565134357626e-8,0.003450105483013042,-5.305939695552917e-5,7.762989261880157e-8,0.0034502349108771345,-5.3136052000312036E-05,7.775860628781301e-8,0.00345045036327994,-5.3232896856317525e-5,7.791934553656435e-8,0.0034507534559009615,-5.330563477313901e-5,7.803586216602371e-8,0.0034511239123253042,-5.331189940292976e-5,7.80359816725961e-8,0.0034515217741313154,-5.3223411868618484e-5,7.787229296285301e-8,0.0034518963778732035,-5.303630985682997e-5,7.753954870439826e-8,0.003452200772443476,-5.277494601652743e-5,7.708083438603485e-8,0.0034524067233620208,-5.24857622131667e-5,7.657676351766069e-8,0.003452513539318852,-5.222238745671445e-5,7.611970105647155e-8,0.003452546358006263,-5.202834487641089e-5,7.578401494859984e-8,0.003452545316805372,-5.1925238857953614e-5,7.56059228122419e-8,0.0034525517079226162,-5.1910531969244896e-5,7.55799748568084e-8,0.0034525973425899702,-5.1963341595560646e-5,7.566935879164173e-8,0.003452699860306806,-5.2053492925631584e-5,7.582168477769657e-8,0.003452863075258511,-5.2149607426261665e-5,7.598291155508565e-8,0.0034530799060755258,-5.222439818684115e-5,7.61063070119408e-8,0.003453335818338361,-5.2257343532068194e-5,7.615685892232103e-8,0.003453611766785339,-5.223571891965294e-5,7.61129377116946e-8,0.0034538864899658996,-5.215494408708145e-5,7.596690383151867e-8,0.003454138506384482,-5.201882998128307e-5,7.572562427973521e-8,0.003454348337076918,-5.183978826068164e-5,7.541091271463072e-8,0.0034545013314538756,-5.1638552963418784e-5,7.505903324803353e-8,0.003454591043269122,-5.144265642680074e-5,7.47179322561575e-8,0.0034546224963198295,-5.128290588661151e-5,7.444094709790633e-8,0.003454614029832736,-5.118756231866206e-5,7.427657654620211e-8,0.0034545960964780477,-5.117499667449252e-5,7.425575471974446e-8,0.0034546059759224725,-5.124696696840789e-5,7.438038383349255e-8,0.003454678971542103,-5.13853618139435e-5,7.46180167622108e-8,0.003454838496800186,-5.155451806553497e-5,7.490622976898416e-8,0.003455088410098183,-5.170923490366474e-5,7.516676020545438e-8,0.0034554104312331923,-5.18063784397559e-5,7.53256558047392e-8,0.0034557677626890567,-5.181660232781692e-5,7.533338722547459e-8,0.003456114043853787,-5.173270086815992e-5,7.517894604581043e-8,0.0034564052677747885,-5.157212308820495e-5,7.48937718027089e-8,0.003456611436614271,-5.1372648185342906e-5,7.454392055414663e-8,0.0034567244663298784,-5.118206849108857e-5,7.421205085109125e-8,0.0034567595924578005,-5.104487112438851e-5,7.397444303572169e-8,0.0034567496932292933,-5.0990411029647274e-5,7.388079046187029e-8,0.0034567348219838017,-5.1026634462844345E-05,7.394368941315555e-8,0.0034567511208470503,-5.1140910162072285e-5,7.41404001886787e-8,0.003456822969488365,-5.130640701071599e-5,7.442407063670418e-8,0.0034569600809666373,-5.149059048477161e-5,7.473844540174441e-8,0.003457158836079232,-5.166263101478568e-5,7.503054191154755e-8,0.0034574058624226842,-5.179814342816616e-5,7.525864485773623e-8,0.0034576819982162126,-5.188131487414444e-5,7.53958236160267e-8,0.003457965624434055,-5.190529764163641e-5,7.543055726802653e-8,0.003458235153642075,-5.187182989119657e-5,7.536613158997809e-8,0.003458470988800748,-5.179074706531707e-5,7.52198852644471e-8,0.0034586575036994354,-5.1679536585510255e-5,7.502247538759579e-8,0.0034587855033521653,-5.156254212189298e-5,7.481641900418598e-8,0.0034588552057932243,-5.1469030724573484e-5,7.465256143383775e-8,0.0034588791061978532,-5.142920657003421e-5,7.458297859873786e-8,0.003458883218149259,-5.1467660711166246e-5,7.464955268013278e-8,0.0034589045776179444,-5.159510836468649e-5,7.48697763858947e-8,0.0034589835250980615,-5.180135000044591e-5,7.522485150187091e-8,0.0034591517840109193,-5.205370320062124e-5,7.56573232920082e-8,0.0034594206555359705,-5.2303828254811026e-5,7.608317761780516e-8,0.0034597750906966754,-5.250174966429808e-5,7.641623908985145e-8,0.0034601771049745287,-5.2611539439694236e-5,7.659526793472266e-8,0.003460577222136936,-5.262200185778321e-5,7.660223703442587e-8,0.003460928903507887,-5.254861496345348e-5,7.646534203758294e-8,0.003461200559315436,-5.2427345790902366e-5,7.624789704143432e-8,0.0034613819623500147,-5.230371513415596e-5,7.602909490634815e-8,0.00346148446467581,-5.2220931733726785e-5,7.58833715008536e-8,0.003461536103359664,-5.2210117968981436e-5,7.586364467457609e-8,0.003461573517811942,-5.2284544913011865e-5,7.599167543503633e-8,0.0034616329485504336,-5.243864613206289e-5,7.625673698865155e-8,0.003461742549106104,-5.265142211148723e-5,7.662177846795173e-8,0.003461917703165235,-5.2892782274308036e-5,7.703449448843473e-8,0.0034621599737674246,-5.313072477304534e-5,7.74396760194996e-8,0.0034624591084389793,-5.33374098966768e-5,7.778955053911857e-8,0.003462796779292467,-5.349304510582412e-5,7.805033191515012e-8,0.003463150686187144,-5.3587487694671127e-5,7.820488911072816e-8,0.0034634980867577683,-5.362014291759816e-5,7.825256020973388e-8,0.0034638184347490337,-5.35989854743125e-5,7.820751398896041e-8,0.0034640953366142095,-5.353936163065365e-5,7.809672470592285e-8,0.0034643182806015373,-5.3462782486652334e-5,7.795785220255605e-8,0.0034644845501561154,-5.339545627403919e-5,7.783656035226323e-8,0.0034646014413177184,-5.336592005983549e-5,7.778221516267927e-8,0.0034646882637985664,-5.3400881599815127e-5,7.78405393635882e-8,0.003464776653159077,-5.351867683920702e-5,7.804231285445772e-8,0.003464906957150965,-5.372111733504216e-5,7.838949782169935e-8,0.0034651189235659127,-5.398689725856593e-5,7.884418711991946e-8,0.0034654377510551313,-5.427171287388532e-5,7.932912268318844e-8,0.003465861181889111,-5.45189747063227e-5,7.974637922620187e-8,0.0034663557995089868,-5.4679006723517416e-5,8.001057810235294e-8,0.003466866832075317,-5.4727667638690595e-5,8.008101605182355e-8,0.003467337213583027,-5.467430917764118e-5,7.997525515932372e-8,0.0034677259185634294,-5.45558137956383e-5,7.975848386026634e-8,0.0034680175758430914,-5.4421850197762574e-5,7.951758779610465e-8,0.003468221945391668,-5.431943863471243e-5,7.93341221303494e-8,0.003468366749984431,-5.4282189894998705e-5,7.926564782173139e-8,0.003468488253575451,-5.432554626942201e-5,7.933775100923389e-8,0.003468622577673265,-5.4446940976185534e-5,7.954473091422483e-8,0.00346879910386759,-5.4629139136083834e-5,7.985575566520995e-8,0.003469036315266957,-5.484531500646757e-5,8.022385234336574e-8,0.0034693400970225562,-5.506482644748267e-5,8.05959068464886e-8,0.003469704347103154,-5.525874833196587e-5,8.09221138287859e-8,0.003470113426848338,-5.54043045866477e-5,8.116348069551332e-8,0.003470545719066106,-5.548767615842907e-5,8.129655797854296e-8,0.0034709775149081618,-5.550506450046016e-5,8.131522490515083e-8,0.0034713865350294564,-5.546223505877917e-5,8.122990831469518e-8,0.00347175466700389,-5.537307165347207e-5,8.10651077332558e-8,0.003472069935483391,-5.5257707024367603e-5,8.085614780070984e-8,0.0034723279767847086,-5.514048489525153e-5,8.064555763367976e-8,0.0034725332728849033,-5.504767565387728e-5,8.047894670947377e-8,0.0034727002510506733,-5.5004592720721175e-5,8.039983781883514e-8,0.003472853897452726,-5.5031486682279284e-5,8.044249502323219e-8,0.0034730286883273595,-5.513778809238864e-5,8.062209526950794e-8,0.003473263973229728,-5.531544130156531e-5,8.092351809161323e-8,0.0034735943076693245,-5.553413717659481e-5,8.129347436960563e-8,0.003474035665897499,-5.574326882078972e-5,8.16441259001113e-8,0.0034745731955609315,-5.5884742086398796e-5,8.18752580591423e-8,0.0034751596486798657,-5.5914583892773785e-5,8.19115493205368e-8,0.003475729749079442,-5.5822556153648676e-5,8.173640984494093e-8,0.0034762246796353497,-5.563705319293436e-5,8.140033666182622e-8,0.003476612701492186,-5.541203574155975e-5,8.099801039245487e-8,0.003476895422108325,-5.52051656998577e-5,8.063001150121857e-8,0.0034771002354880218,-5.50597528893753e-5,8.037124816213464e-8,0.003477266808137206,-5.499678333889154e-5,8.025718895626209e-8,0.003477434878777277,-5.501575513956466e-5,8.028567476587208e-8,0.0034776364077081026,-5.510010155564282e-5,8.042677847876208e-8,0.0034778919129647623,-5.522370891534653e-5,8.063443431098723e-8,0.003478209655577147,-5.53567664624354e-5,8.085668027157581e-8,0.003478586484780268,-5.547053781197861e-5,8.104383769654996e-8,0.003479009745324267,-5.5541137233202974e-5,8.115488223399064e-8,0.0034794599661624203,-5.55522999409954e-5,8.116209039532e-8,0.00347991406310937,-5.5497055559913984e-5,8.105385714697197e-8,0.00348034877409459,-5.5378226962704636e-5,8.083554656447708e-8,0.003480743967899695,-5.5207701396177e-5,8.052824678244802e-8,0.003481085399356866,-5.500462615502403e-5,8.016563989201027e-8,0.003481366669257658,-5.4792906661938594e-5,7.978960191727658e-8,0.0034815903954937507,-5.459831114198394e-5,7.944505128213398e-8,0.003481768645435652,-5.444530524158718e-5,7.917429462220676e-8,0.003481922641158277,-5.435363020679066e-5,7.901097650404148e-8,0.003482081557943241,-5.43344611388244e-5,7.897344901624152e-8,0.0034822796949849086,-5.438607219406785e-5,7.90574880741661e-8,0.0034825508886991334,-5.4489814677525574e-5,7.922969966297901e-8,0.003482919510198329,-5.460863179618924e-5,7.942530879637457e-8,0.00348338922468968,-5.4691530175031036e-5,7.955606784582527e-8,0.0034839341482262006,-5.468684887826709e-5,7.953314250976801e-8,0.003484500044929782,-5.456236411226566e-5,7.930171563250027e-8,0.003485020395764967,-5.432242661163013e-5,7.887051211495277e-8,0.003485441830665722,-5.4009666442778456e-5,7.831463037203127e-8,0.003485744308334187,-5.3687830051453043e-5,7.774555423085291e-8,0.003485944356059249,-5.341619454208322e-5,7.726643890430705e-8,0.0034860824605426953,-5.323068031905013e-5,7.69391413336341e-8,0.003486205192699337,-5.313887848336849e-5,7.677573716104043e-8,0.003486351616487765,-5.312585818689202e-5,7.674902644824243e-8,0.003486546989851855,-5.3163832246076e-5,7.680975614919294e-8,0.003486802071512451,-5.322081037736187e-5,7.690188262653895e-8,0.003487115234474545,-5.326655085161755e-5,7.697289095930539e-8,0.003487475361305784,-5.3276107450321254e-5,7.697977967690026e-8,0.00348786468748232,-5.323188756023941e-5,7.689243976502786e-8,0.003488261541112851,-5.3124867656400085e-5,7.669564695902987e-8,0.0034886431118577687,-5.2955187271283527e-5,7.639006967152842e-8,0.0034889883345022694,-5.273207584356439e-5,7.599217164183895e-8,0.00348928082718179,-5.247287143335613e-5,7.553253065060545e-8,0.0034895115406157772,-5.220092938007728e-5,7.505217138911657e-8,0.0034896806403166163,-5.194253721386278e-5,7.45970984578306e-8,0.003489798281891112,-5.17231700616895e-5,7.421163449310192e-8,0.003489884081885023,-5.156346255637453e-5,7.393127924950925e-8,0.0034899651917605482,-5.1475349070217194e-5,7.37759579390884e-8,0.0034900730046242873,-5.145880727187514e-5,7.374448490150087e-8,0.0034902384487222934,-5.149957504391051e-5,7.38108940008001e-8,0.003490485713360978,-5.1568581097192085e-5,7.392383226896056e-8,0.0034908247516596694,-5.162452953725788e-5,7.401135645851316e-8,0.0034912442178913756,-5.162129070334261e-5,7.399384833356589e-8,0.0034917082870866084,-5.152067046187914e-5,7.380600775763368e-8,0.003492161919526589,-5.1307906470345714e-5,7.342344472404727e-8,0.0034925468003312904,-5.100251708159784e-5,7.28812436475048e-8,0.0034928230231711763,-5.065567102917774e-5,7.22692085054129e-8,0.00349298480607223,-5.0332008284307815e-5,7.170010948102879e-8,0.003493060486880091,-5.008509810197167e-5,7.126687367301145e-8,0.0034930978108644877,-4.994040408769448e-5,7.10129659368693e-8,0.003493144812116986,-4.989292212429899e-5,7.092852991350264e-8,0.003493236329890927,-4.991616821749949e-5,7.09664233386691e-8,0.003493389382240401,-4.997451260323819e-5,7.106400377600212e-8,0.0034936049670886314,-5.003303046878982e-5,7.116036558566628e-8,0.0034938724850190725,-5.006315699024087e-5,7.120605641471014e-8,0.003494174181710002,-5.004500801825621e-5,7.116689888635155e-8,0.003494488647240114,-4.9967898958017656e-5,7.10247226686362e-8,0.003494793491455296,-4.983017838931351e-5,7.077701977191036e-8,0.0034950676495118685,-4.963883343406836e-5,7.043629688622425e-8,0.0034952936893218015,-4.940884123717768e-5,7.00290073852739e-8,0.0034954602703394025,-4.91619116469257e-5,6.959337044053813e-8,0.003495564525333123,-4.8924164351532744e-5,6.917524860206665e-8,0.0034956137545527114,-4.872255946766232e-5,6.882178267966077e-8,0.003495625715726868,-4.858035828766625e-5,6.857332667336269e-8,0.003495626962793271,-4.8512296531638016e-5,6.845495049254806e-8,0.003495649053141319,-4.852049680516395e-5,6.846936904534974e-8,0.00349572299679345,-4.859225484338337e-5,6.859329915473242e-8,0.0034958728136478237,-4.870052145709375e-5,6.877863372874697e-8,0.003496109274904872,-4.8807474643686194e-5,6.895900381066696e-8,0.0034964250870034323,-4.887130098211752e-5,6.906179269833887e-8,0.0034967931639454048,-4.885581409325789e-5,6.902485348345956e-8,0.0034971698712657363,-4.874139651093061e-5,6.881530246607359e-8,0.0034975044920154213,-4.853405294472491e-5,6.84449092255104e-8,0.0034977539089692195,-4.82679369446728e-5,6.797415829244196e-8,0.0034978977356623906,-4.799750824878962e-5,6.749837862946622e-8,0.003497946438249529,-4.778016802970108e-5,6.71174247409688e-8,0.003497937170337883,-4.765667743097292e-5,6.690162413586374e-8,0.0034979190953097782,-4.763908471093491e-5,6.687094352623798e-8,0.003497936251514583,-4.771117288133363e-5,6.699607854306233e-8,0.0034980160892215074,-4.783863709240464e-5,6.72164958349271e-8,0.0034981665960245093,-4.798196106874302e-5,6.746304065721289e-8,0.0034983797653029723,-4.810632101892896e-5,6.7675162011292e-8,0.003498637465113023,-4.818668505636025e-5,6.780961989824135e-8,0.003498916867361659,-4.820909523255125e-5,6.784251930616007e-8,0.0034991943722301896,-4.816994545602405e-5,6.77679407084832e-8,0.003499448182358842,-4.8074658565751284e-5,6.759564195017042e-8,0.003499660159392372,-4.793641707463699e-5,6.734892080114882e-8,0.003499817561197899,-4.777495464323169e-5,6.70625616249293e-8,0.0034999149556601225,-4.761498368904733e-5,6.678005875369204e-8,0.0034999561644388504,-4.7483672003196496e-5,6.654908362581237e-8,0.003499955598723389,-4.7406752130685654e-5,6.64145242188782e-8,0.003499937981419274,-4.7403373506660164e-5,6.64093764187308e-8,0.0034999354725625304,-4.748062569635709e-5,6.654518620862992e-8,0.0034999818663642855,-4.762947778629249e-5,6.680512211808298e-8,0.003500104737353191,-4.782411608126126e-5,6.714310459443665e-8,0.0035003176166506283,-4.802589279357225e-5,6.749101949715656e-8,0.0035006147541124916,-4.819155958831892e-5,6.777333062458293e-8,0.0035009704717046735,-4.8283900302600454e-5,6.79257035406021e-8,0.0035013438418472647,-4.828195062171539e-5,6.791269545624289e-8,0.0035016879794580935,-4.818789700989003e-5,6.77394776851162e-8,0.00350196195728518,-4.8028314713332036e-5,6.7453611515929e-8,0.0035021422800556846,-4.784851634702435e-5,6.713486096804716e-8,0.0035022301857497284,-4.770064526201016e-5,6.687425034339409e-8,0.0035022515726871335,-4.762872570098612e-5,6.674801281177754e-8,0.003502248809025409,-4.76559744371242e-5,6.6795665439382e-8,0.0035022673478896467,-4.777938593190681e-5,6.701087743219682e-8,0.003502342631637575,-4.7973344665574994e-5,6.734808187955503e-8,0.0035024922414820824,-4.819969702053791e-5,6.774024524213613e-8,0.003502715017307082,-4.841926028605082e-5,6.811897897486228e-8,0.0035029954034810603,-4.8600480484494276e-5,6.842952899629088e-8,0.003503309784163736,-4.872362633221379e-5,6.863790981889476e-8,0.0035036322351094896,-4.878127146575032e-5,6.873159448741184e-8,0.0035039386022962613,-4.877672372667128e-5,6.871671928860393e-8,0.003504208970165578,-4.87218399559206e-5,6.861430714964363e-8,0.003504429141433504,-4.863501729753385e-5,6.845682584882933e-8,0.00350459182981821,-4.853945290340068e-5,6.828516088744188e-8,0.0035046979735865453,-4.846124060565817e-5,6.814520400131455e-8,0.00350475808642424,-4.842667362547513e-5,6.808297903800876e-8,0.00350479302443529,-4.845822639406622e-5,6.813746753851686e-8,0.003504833027239744,-4.8569169986268695e-5,6.833115419174137e-8,0.003504913702238319,-4.8757838383985466e-5,6.866012446657687e-8,0.0035050683853181447,-4.900391199350466e-5,6.908782646579392e-8,0.0035053182256271995,-4.926964452673352e-5,6.954751938057267e-8,0.003505663509814919,-4.950767016413277e-5,6.995616209346973e-8,0.003506080502214955,-4.967398233611283e-5,7.023720489982495e-8,0.0035065262851390663,-4.974153435641874e-5,7.034430756266863e-8,0.003506950416802348,-4.970896615211756e-5,7.027638385694825e-8,0.003507309058355678,-4.960110682063593e-5,7.0078148342398e-8,0.003507576569966767,-4.9461571981689524e-5,6.982680430100155e-8,0.003507751260505524,-4.9340525835212706e-5,6.961036660223815e-8,0.0035078543380118467,-4.928155435713404e-5,6.950463542881697e-8,0.003507923017411245,-4.931120710474176e-5,6.955507505634865e-8,0.003508000088817847,-4.943373386134086e-5,6.976794205386932e-8,0.0035081230318595195,-4.9631997266688886e-5,7.011223942234489e-8,0.003508315707408989,-4.987372010955851e-5,7.053089174394624e-8,0.003508584634184765,-5.012067906449034e-5,7.095689951327328e-8,0.003508920154172877,-5.033779131119303e-5,7.13291488630146e-8,0.0035093011174319503,-5.0499608977751295e-5,7.16036029544808e-8,0.0035097008909079027,-5.059322819724562e-5,7.175822123658268e-8,0.003510092795370233,-5.0618099620991336e-5,7.179252228933486e-8,0.0035104540074803628,-5.058396686418179e-5,7.172395576915468e-8,0.0035107678630634256,-5.050815563358695e-5,7.15831936559844e-8,0.0035110250474179707,-5.041300190160958e-5,7.140965978633763e-8,0.003511224303772449,-5.0323602655051194e-5,7.124755864747469e-8,0.003511373081760116,-5.026556563032649e-5,7.114182180173342e-8,0.0035114881227789486,-5.026219499321855e-5,7.113303314780363e-8,0.003511595434404246,-5.0330578468163386e-5,7.125049337013055e-8,0.003511728512620591,-5.047647794780582e-5,7.15033405278639e-8,0.0035119233836461974,-5.0689046876978714e-5,7.187153222950117e-8,0.003512209769178392,-5.093800093324406e-5,7.230120436607415e-8,0.003512599955153083,-5.1176799888461815e-5,7.271049692322936e-8,0.003513080034794742,-5.135392592457402e-5,7.300940477436388e-8,0.003513609502076132,-5.14298349934786e-5,7.312941724983363e-8,0.0035141320281950124,-5.139216413429823e-5,7.305001548325024e-8,0.0035145936629104664,-5.1261041454466944e-5,7.28077595651944e-8,0.003514959887450534,-5.108168091747994e-5,7.248300624823855e-8,0.0035152241266274524,-5.090867675710344e-5,7.217204520177112e-8,0.0035154059396990682,-5.078968882418096e-5,7.195828527441259e-8,0.0035155420813633245,-5.075426745699315e-5,7.189270617613542e-8,0.0035156751083582306,-5.0809654038145116e-5,7.198679130075311e-8,0.003515843117254807,-5.094257374417173e-5,7.221607476825528e-8,0.0035160725094786714,-5.112494538587068e-5,7.253048594280297e-8,0.0035163744088703465,-5.132142690619098e-5,7.286773029032713e-8,0.0035167446049327736,-5.1497064920155425e-5,7.316666417595633e-8,0.003517166385541075,-5.1623642515698906e-5,7.337826896105822e-8,0.0035176151934762446,-5.168374224689177e-5,7.347259275945112e-8,0.0035180638474490854,-5.167220679053694e-5,7.344117159692746e-8,0.003518487230567752,-5.159533656149261e-5,7.329555446259182e-8,0.0035188657466365884,-5.146856119474064e-5,7.306321274190783e-8,0.0035191873567905307,-5.13134535075297e-5,7.278232032475649e-8,0.0035194484899109596,-5.1154771029381724e-5,7.249655785721567e-8,0.0035196543025420254,-5.101775638284942e-5,7.225031546170417e-8,0.0035198186084428556,-5.0925530397301455e-5,7.208400788541844e-8,0.0035199635105888586,-5.089622436322815e-5,7.202894163244655e-8,0.003520118343208592,-5.093945103045378e-5,7.210112224469392e-8,0.0035203169511922577,-5.105206016209678e-5,7.229397007328736e-8,0.003520592065648051,-5.1214188069510806e-5,7.2571689142489e-8,0.00352096625240208,-5.138810927673326e-5,7.286756429012272e-8,0.0035214411001403445,-5.1523353653888815e-5,7.309310451119305e-8,0.0035219896591436894,-5.15702050538723e-5,7.316168179423694e-8,0.0035225589618442157,-5.149859927706176e-5,7.302152157725176e-8,0.003523085668432638,-5.1313067895405906e-5,7.268175566529078e-8,0.003523518917940908,-5.105359802726036e-5,7.221375246224139e-8,0.003523838095962248,-5.0780520742168284e-5,7.17243210762634e-8,0.0035240564761216146,-5.0552185506667285e-5,7.13161973079306e-8,0.003524211505779421,-5.040730619616483e-5,7.105688273569124e-8,0.003524349502340482,-5.035813602950126e-5,7.096680808680643e-8,0.0035245122820342207,-5.039321453053906e-5,7.102455458373297e-8,0.003524729076631242,-5.0485092313253465e-5,7.1180850127246e-8,0.003525013583176288,-5.059899047337806e-5,7.137404304621766e-8,0.003525364590777378,-5.070022815478351e-5,7.154318300099117e-8,0.0035257686958330417,-5.075977742115368e-5,7.163764186847562e-8,0.003526204144558562,-5.075793251795897e-5,7.16233638631601e-8,0.003526645154897335,-5.06861406598159e-5,7.148591957241648e-8,0.003527066167471657,-5.0547118838004726e-5,7.123062042100954e-8,0.0035274455836368955,-5.03535175473795e-5,7.088014482938875e-8,0.003527768623758874,-5.012545639882056e-5,7.047021401502236e-8,0.0035280290362206864,-4.988738877980477e-5,7.004408058198917e-8,0.0035282296839363246,-4.966483945398808e-5,6.964675729891865e-8,0.003528382291270085,-4.9481325891113706e-5,6.931952735975422e-8,0.003528506567199636,-4.935546278755109e-5,6.909476075587484e-8,0.003528628724271695,-4.929815291741338e-5,6.899092748257108e-8,0.0035287791842859104,-4.9309749713025403e-5,6.900767973450815e-8,0.0035289888641371506,-4.9377284113068966e-5,6.912119895490268e-8,0.003529283256307753,-4.947268367777429e-5,6.92813827041382e-8,0.0035296742313782816,-4.955407009659888e-5,6.941439827038625e-8,0.003530151349516904,-4.957278427309963e-5,6.943511266213218e-8,0.0035306772094212354,-4.948747198735312e-5,6.92717079077621e-8,0.003531192964839601,-4.928195652942658e-5,6.889685346018671e-8,0.0035316365215482056,-4.89774365236009e-5,6.834895029601523e-8,0.003531966575744259,-4.862874958980648e-5,6.772540073203424e-8,0.0035321786442322665,-4.830377164926679e-5,6.714615431489767e-8,0.003532303511122255,-4.805750770984733e-5,6.670788672264682e-8,0.0035323910644271955,-4.7915439884981005e-5,6.645464473265158e-8,0.003532490905278016,-4.787198094158151e-5,6.637538089556046e-8,0.0035326391070453276,-4.7899603242805185e-5,6.6420465804465665E-08,0.003532853457600977,-4.79609329089279e-5,6.652335567882734e-8,0.003533134764875135,-4.801870810507902e-5,6.661826425948239e-8,0.0035334709225311187,-4.80420607780708e-5,6.6651124930788e-8,0.0035338414892082007,-4.800969554135657e-5,6.658497123133597e-8,0.003534221883309781,-4.791109649069916e-5,6.640185991590025e-8,0.0035345870911481937,-4.774650430734176e-5,6.610271983901248e-8,0.003534914922415681,-4.7525956167852065e-5,6.570564041722356e-8,0.003535188784668761,-4.726751897573049e-5,6.524278234784632e-8,0.003535399869757837,-4.699475689773158e-5,6.475593288560843e-8,0.003535548488616758,-4.673352273796198e-5,6.429082959559262e-8,0.0035356443027719678,-4.6508419457597334e-5,6.389085743601263e-8,0.003535705452163371,-4.633936348530399e-5,6.359090277517784e-8,0.0035357567090917945,-4.623851257366044e-5,6.341187165168234e-8,0.003535826730715225,-4.6207747236638295e-5,6.335626221346214e-8,0.0035359444328626815,-4.62369186224868e-5,6.340521229944e-8,0.0035361343987252193,-4.6303140463713727e-5,6.351750974087675e-8,0.0035364112077063,-4.637182901460024e-5,6.363172583245652e-8,0.0035367731674912405,-4.640084478194753e-5,6.367372155706706e-8,0.003537197303637594,-4.634911429135081e-5,6.357183762261232e-8,0.0035376391122535576,-4.618966433176537e-5,6.327964211385549e-8,0.003538041119459337,-4.592349949638268e-5,6.280007246840904e-8,0.0035383510638224264,-4.558644822183458e-5,6.219724757422401e-8,0.0035385429814836127,-4.524104977366377e-5,6.158200500178063e-8,0.0035386287865788782,-4.495389988038994e-5,6.107183348045023e-8,0.003538652157842681,-4.477026159769317e-5,6.074602879654554e-8,0.0035386688439036844,-4.47004078804151e-5,6.062170724859673e-8,0.003538726003163398,-4.4722809906257866e-5,6.065974926915645e-8,0.0035388505435425223,-4.4797903515981296e-5,6.078947944701308e-8,0.003539047874416657,-4.488281287540454e-5,6.093489620785433e-8,0.0035393068814284787,-4.4941391084842396e-5,6.103238884542969e-8,0.003539606554146499,-4.494882794965666e-5,6.103867464873075e-8,0.003539921676724328,-4.4892499760318906e-5,6.093205597538492e-8,0.003540226919719803,-4.477102781459113e-5,6.07105950251088e-8,0.0035404997394379314,-4.4592754938286915e-5,6.03893845810904e-8,0.0035407226338242614,-4.437398906963968e-5,5.999749164758063e-8,0.003540885022134315,-4.413694086471505e-5,5.957436958624628e-8,0.0035409847601478635,-4.3907158055120185e-5,5.91653320895687e-8,0.003541029039603609,-4.371029443432704e-5,5.881578782502931e-8,0.003541034222876167,-4.3568356911767184e-5,5.856451374224705e-8,0.0035410242820919035,-4.34959360356527e-5,5.843690932693798e-8,0.0035410278165807162,-4.349704460319828e-5,5.8439391136652944e-8,0.003541073866467474,-4.35631774348635e-5,5.8556051173999174e-8,0.003541186954993939,-4.367314619920436e-5,5.874856491748497e-8,0.0035413819586960823,-4.379504612211161e-5,5.895993621631804e-8,0.003541659481115643,-4.389056974908652e-5,5.9122364071120686e-8,0.0035420026717852874,-4.392188556736655e-5,5.9169501196338025e-8,0.0035423770266627625,-4.386091460591744e-5,5.9052739202674654e-8,0.003542735137307152,-4.369954534362978e-5,5.8758966934382756e-8,0.003543027709928473,-4.345726115647605e-5,5.8323693696870554e-8,0.003543219432923343,-4.318096116450492e-5,5.783045574779396e-8,0.0035433037039722254,-4.293306375151269e-5,5.7389662664115485e-8,0.003543307510625984,-4.2770211481893025e-5,5.710096925546551e-8,0.003543281657416864,-4.2722564889928e-5,5.7016803661170176e-8,0.0035432808969128654,-4.2784998811324036e-5,5.7127048886294805e-8,0.003543345083182791,-4.29237431526913e-5,5.7371094348610354e-8,0.0035434901225729534,-4.309218173774192e-5,5.766603094543882e-8,0.0035437096200434323,-4.324625449648452e-5,5.793397699501254e-8,0.003543982437111229,-4.335377416740421e-5,5.811844457672117e-8,0.003544280963361055,-4.339731616568985e-5,5.81892230593214e-8,0.003544577345674607,-4.337307492070495e-5,5.814014309175838e-8,0.0035448472547188253,-4.328818788598209e-5,5.798423922921832e-8,0.003545071945356522,-4.315800457900615e-5,5.774893393946444e-8,0.0035452395202854154,-4.300371531604833e-5,5.7471914844255585e-8,0.0035453459408502194,-4.285012265748278e-5,5.719723861116069e-8,0.0035453958923160433,-4.2723120313231096e-5,5.697084279090594e-8,0.0035454032149012556,-4.264651128545993e-5,5.683482254338785e-8,0.0035453903011499546,-4.2638151061864956e-5,5.682050114724788e-8,0.003545385835098054,-4.270593783651835e-5,5.6941284815840156e-8,0.0035454206037119564,-4.2844639289619016e-5,5.718710304786205e-8,0.003545521737679013,-4.3034763683612925e-5,5.7522579910149e-8,0.0035457064554863466,-4.3244478586494526e-5,5.7890672855239426e-8,0.0035459768841103315,-4.343484771283477e-5,5.822218243869248e-8,0.0035463175130871715,-4.35676865911608e-5,5.8449803092231185e-8,0.003546696374372438,-4.361459001005239e-5,5.852408386886376e-8,0.003547070408275864,-4.3565227278255075e-5,5.842791123349795e-8,0.0035473947092906958,-4.343266116837182e-5,5.8185596798430805e-8,0.003547634245769986,-4.3253317404532224e-5,5.786248016398101e-8,0.003547775128552845,-4.307980993012999e-5,5.755198880500784e-8,0.0035478310759871168,-4.296686019185961e-5,5.7350653828112885e-8,0.003547840931561206,-4.295416001320256e-5,5.732790326738767e-8,0.003547856465191098,-4.305323561587963e-5,5.7503072995357236e-8,0.0035479251065484753,-4.3244764513410865e-5,5.7840967381065036e-8,0.0035480755467052556,-4.3487437490787506e-5,5.82678059755974e-8,0.003548312159234838,-4.3733132149183526e-5,5.869821561074207e-8,0.003548618609759482,-4.394085957403888e-5,5.9059893258797215e-8,0.0035489665155445534,-4.4084657379925696e-5,5.930742385274079e-8,0.0035493243155301293,-4.4155064485646884e-5,5.94246850590516e-8,0.0035496635912923074,-4.415657349882108e-5,5.942017343141657e-8,0.003549962454933137,-4.4103723515838815e-5,5.932002348157367e-8,0.0035502068853032385,-4.401745537774121e-5,5.91615814739689e-8,0.0035503910919313167,-4.392223541541534e-5,5.898836758135166e-8,0.0035505176599334156,-4.3843716170544275e-5,5.884594653272736e-8,0.0035505977261718136,-4.3806355923926305e-5,5.877765373835154e-8,0.0035506509029348764,-4.38304481117814e-5,5.881923373523053e-8,0.0035507042417583052,-4.392838644885185e-5,5.8992150582505356e-8,0.003550789375607358,-4.4100629561268414e-5,5.9296460179193444e-8,0.0035509372747178996,-4.4332623510118206e-5,5.970549942120029e-8,0.0035511709877155606,-4.459455929913146e-5,6.016568287046157e-8,0.0035514981633926815,-4.4845618151110135e-5,6.060425933750863e-8,0.0035519062473257645,-4.504285818124529e-5,6.094521953949166e-8,0.003552363010141798,-4.515265199572119e-5,6.112959670344877e-8,0.0035528232538145662,-4.516091931665212e-5,6.113348597576136e-8,0.0035532400588138987,-4.5078419810363994e-5,6.097717700290937e-8,0.0035535771481694945,-4.4939099071296303e-5,6.07218955472018e-8,0.0035538186514130496,-4.479186991256323e-5,6.045492489427308e-8,0.0035539735035672354,-4.4688098423139305e-5,6.02672442098929e-8,0.0035540731748337205,-4.466810631879039e-5,6.022963420680442e-8,0.0035541630731403067,-4.475043551216551e-5,6.037388305148787e-8,0.003554289865126375,-4.4927280773815736e-5,6.068503341769779e-8,0.0035544886846951913,-4.516779476639947e-5,6.110755581298996e-8,0.0035547745839082123,-4.542805241964009e-5,6.156319330980759e-8,0.0035551408759050616,-4.5663759910920776e-5,6.197350799964669e-8,0.003555563963135248,-4.5841008864221135e-5,6.227883337795943e-8,0.0035560116876657694,-4.5941979139417047e-5,6.24482093400329e-8,0.0035564516280192447,-4.596527201117455e-5,6.24798008660841e-8,0.003556857010155012,-4.592266312849646e-5,6.239502440655055e-8,0.003557209714814007,-4.5834565631833704e-5,6.223046308066282e-8,0.003557501080364987,-4.572581403912075e-5,6.203040815733011e-8,0.0035577315537230697,-4.562240269450946e-5,6.184110140786349e-8,0.003557910036471095,-4.554903608560832e-5,6.170637764909142e-8,0.0035580533024840793,-4.552692161730423e-5,6.166368747736406e-8,0.0035581853049642667,-4.557119728743023e-5,6.173946177102266e-8,0.0035583356940717664,-4.568768485662425e-5,6.194333838364082e-8,0.0035585365708927026,-4.586927857225371e-5,6.226185510588425e-8,0.0035588166627198116,-4.609326999183041e-5,6.265390851272246e-8,0.003559193137323904,-4.632193829336071e-5,6.30520372167614e-8,0.003559663281878733,-4.650876999059089e-5,6.337362542760012e-8,0.003560200245713937,-4.661063021140253e-5,6.354254648899662e-8,0.0035607569317794813,-4.6602396654738655e-5,6.351506594055439e-8,0.003561278648384015,-4.6487494514614917e-5,6.32983887923139e-8,0.0035617199935504846,-4.6298558243764545e-5,6.29516014692535e-8,0.003562058627582537,-4.608741314362649e-5,6.256758166751812e-8,0.0035623004672044175,-4.5909078533960046e-5,6.224430829280521e-8,0.003562475581175662,-4.5806486601264316e-5,6.205760310203278e-8,0.0035626279001984354,-4.580067735294027e-5,6.204384806523509e-8,0.003562802954124633,-4.5888015756848204e-5,6.219537779330008e-8,0.003563037055132452,-4.6043654273636875e-5,6.246701201447148e-8,0.003563350070700666,-4.622932203076322e-5,6.27901620525839e-8,0.0035637427913076075,-4.6403085941301916e-5,6.309025042503193e-8,0.003564198880158738,-4.6528682381631946e-5,6.330320173165173e-8,0.0035646903766327347,-4.658232632749611e-5,6.338736538669235e-8,0.0035651848849890845,-4.6555732749513495e-5,6.332870370697999e-8,0.0035656523705938485,-4.645535269046844e-5,6.313929883122431e-8,0.0035660700713561725,-4.6298937321714985e-5,6.285117367268997e-8,0.003566425004528302,-4.611096934697695e-5,6.250815533966789e-8,0.0035667143995241142,-4.591827694533483e-5,6.215809174271331e-8,0.0035669448573334944,-4.574655007561588e-5,6.184666832943819e-8,0.0035671310343054594,-4.561778706202556e-5,6.161284724828767e-8,0.0035672942787601126,-4.554824175451044e-5,6.148516952915002e-8,0.0035674611803288114,-4.5546361387194964e-5,6.147805454901015e-8,0.003567661543033928,-4.5610385548273515e-5,6.158757512312564e-8,0.003567924912442449,-4.5725767445714075e-5,6.178702994408387e-8,0.0035682748142848095,-4.5863544983274e-5,6.202428486357496e-8,0.0035687207877180566,-4.598192357438832e-5,6.222480065079293e-8,0.0035692503506583244,-4.603366023380281e-5,6.230484445613422e-8,0.0035698255742100237,-4.597995195287227e-5,6.219611092854864e-8,0.0035703895352063105,-4.580682740172019e-5,6.187471998839677e-8,0.003570883632004423,-4.553525834522834e-5,6.137904502638934e-8,0.003571268864222055,-4.521699225352601e-5,6.080211684283172e-8,0.0035715396695708015,-4.4916408899932836e-5,6.025908338968015e-8,0.003571723198393817,-4.468799023289393e-5,5.984686372144387e-8,0.003571866379697392,-4.456067955242553e-5,5.961625196141818e-8,0.0035720191409290983,-4.453406964456066e-5,5.956536150564443e-8,0.0035722211083410766,-4.458410992868764e-5,5.965019352482582e-8,0.003572494625911943,-4.4673173061435514e-5,5.980293252365561e-8,0.0035728434568544545,-4.476028636567257e-5,5.995034390494367e-8,0.0035732552997467812,-4.480936493091201e-5,6.002839604720158e-8,0.003573706429317807,-4.479480285769821e-5,5.99920413721776e-8,0.0035741673042217212,-4.4704415364411226e-5,5.982025244393188e-8,0.0035746082437256763,-4.45398457623661e-5,5.951659167339322e-8,0.003575004335958261,-4.43147481520429e-5,5.9105889956792483e-8,0.003575338940318722,-4.405137481478573e-5,5.862814161090186e-8,0.0035756054724064797,-4.3776367002100296e-5,5.81310100746709e-8,0.0035758075061845546,-4.3516565870462726e-5,5.766237414128631e-8,0.0035759576042431298,-4.32955011747464e-5,5.726406668644314e-8,0.003576075473322457,-4.313078064462699e-5,5.696719548910158e-8,0.0035761858511276887,-4.3032185858342236e-5,5.678871564724287e-8,0.0035763162079560256,-4.300017921430965e-5,5.672876610846801e-8,0.0035764940524594456,-4.3024605140873026e-5,5.6768438605918676e-8,0.0035767432881861085,-4.30836704446525e-5,5.686814868430869e-8,0.0035770790275487753,-4.314407216803266e-5,5.6968106744896594e-8,0.0035775010573515023,-4.3164050813275044e-5,5.699394484154996e-8,0.003577987803146952,-4.310136895375068e-5,5.6870952361826546e-8,0.0035784948165471183,-4.292678335936257e-5,5.65479221696561e-8,0.003578962840272767,-4.2639405852658924e-5,5.602429479005061e-8,0.003579336851006414,-4.227498438897039e-5,5.536473452635238e-8,0.003579588685688661,-4.18979968512765e-5,5.468488805835137e-8,0.0035797296080622783,-4.1578011198993515e-5,5.4109049105691114e-8,0.0035798042114301037,-4.1363105981440804e-5,5.372259413331688e-8,0.0035798702564199783,-4.126542984896543e-5,5.354626012529212e-8,0.0035799774382410184,-4.126391236459329e-5,5.354128307652321e-8,0.003580154993927935,-4.1317791469285e-5,5.363395239974795e-8,0.003580409608935486,-4.1381581597515776e-5,5.374262013811699e-8,0.003580729783643385,-4.1415934670145685e-5,5.3797139133405634e-8,0.003581092408746188,-4.139336320909661e-5,5.3748926352074026e-8,0.003581469034566333,-4.130007224972205e-5,5.357400193982709e-8,0.0035818310034735766,-4.1135487314135264e-5,5.3271956810880735e-8,0.0035821534692491988,-4.0910476824976e-5,5.286268340386592e-8,0.003582418418358619,-4.06446935945381e-5,5.238161243589318e-8,0.0035826166797022483,-4.0363280171443215e-5,5.187384845082181e-8,0.00358274884529989,-4.009317462540421e-5,5.1387588037206476e-8,0.003582824995614943,-3.985933882274082e-5,5.096737917280055e-8,0.0035828632611508504,-3.9681384105172434e-5,5.064806914993073e-8,0.0035828875139954875,-3.957098298811167e-5,5.045014818249678e-8,0.003582924529544475,-3.953016479695639e-5,5.0376688098463605e-8,0.00358300081862799,-3.955047708564117e-5,5.0411877426842314e-8,0.0035831392261010796,-3.961300640930363e-5,5.052117648958689e-8,0.003583355214352302,-3.968931328155379e-5,5.065319072165797e-8,0.0035836526718863154,-3.974377438611344e-5,5.074407946967609e-8,0.003584019676710392,-3.973841845099247e-5,5.072633320424865e-8,0.0035844258489106545,-3.9641235948389545e-5,5.0543575221023724e-8,0.003584824176308066,-3.943762986883524e-5,5.0170788891649215e-8,0.0035851605988330357,-3.914173842671066e-5,4.963424297277142e-8,0.0035853918960880448,-3.880043670747472e-5,4.9018405921792256e-8,0.003585505322328108,-3.848249328671764e-5,4.844644654517097e-8,0.003585527515563994,-3.8253569503164206e-5,4.803549689485371e-8,0.0035855144146158527,-3.8149888897543195e-5,4.784960245800021e-8,0.0035855273906091824,-3.8166487904675314e-5,4.787887836846632e-8,0.0035856104495281117,-3.8265157169492204e-5,4.805402080142565e-8,0.0035857798816200707,-3.8393560363288984e-5,4.828082047147677e-8,0.0035860268763078557,-3.8503227747035004e-5,4.847250586230702e-8,0.003586326680961035,-3.855986372475001e-5,4.8568113786697065e-8,0.003586648121636525,-3.8546152355993225e-5,4.853728942981486e-8,0.0035869605978639182,-3.846010828728895e-5,4.837710529272839e-8,0.003587238303345829,-3.8311783073421156e-5,4.810602981932446e-8,0.0035874625495865785,-3.811982896336047e-5,4.775775329407981e-8,0.00358762304655042,-3.790829412712801e-5,4.7375493462969575e-8,0.003587718543212155,-3.7703539314087314e-5,4.700651815697953e-8,0.0035877568854504843,-3.753109690746856e-5,4.669652828927809e-8,0.0035877543189045003,-3.741240911193318e-5,4.648378792509094e-8,0.0035877337821993926,-3.736170012036886e-5,4.639348279578213e-8,0.003587722146397466,-3.738348798138e-5,4.643324183247487e-8,0.003587746637258956,-3.747117499085622e-5,4.659063494568057e-8,0.0035878308010265218,-3.760702188597041e-5,4.683321176191194e-8,0.0035879904688035855,-3.776372946249842e-5,4.7111485215557924e-8,0.0035882302134709367,-3.790765307608103e-5,4.736488113389693e-8,0.0035885407027646038,-3.800358818517712e-5,4.753047496748133e-8,0.0035888975265631912,-3.802122612155703e-5,4.755460390198331e-8,0.003589262683625903,-3.7943134492679234e-5,4.740703403510289e-8,0.003589590313060849,-3.777295305645327e-5,4.709535929441549e-8,0.0035898376636516174,-3.754070148435225e-5,4.6674180657203245e-8,0.003589979939820703,-3.730052104784748e-5,4.6240824276023414e-8,0.003590023371945228,-3.711708048632642e-5,4.5910925049693536e-8,0.0035900077501635065,-3.7042871910765236e-5,4.577784781514526e-8,0.0035899933020088546,-3.709707415007798e-5,4.587502096050476e-8,0.003590037208575344,-3.725873614994456e-5,4.6163979998570615e-8,0.0035901730111987757,-3.747812082032692e-5,4.655494611376622e-8,0.0035904033060219416,-3.769784537258867e-5,4.6944876133643913e-8,0.003590705852666982,-3.787137405914086e-5,4.725061888805473e-8,0.0035910458330059257,-3.7972004750569304e-5,4.7424881917477886e-8,0.0035913870901548824,-3.799305368319623e-5,4.7456342834723396e-8,0.003591699210907479,-3.794340612840332e-5,4.736148608065085e-8,0.0035919606768198722,-3.7842095199116786e-5,4.7174801397497153e-8,0.0035921596171359957,-3.7713708795726786e-5,4.6940568127754947e-8,0.003592293558379161,-3.758490512066759e-5,4.6706667488679346e-8,0.0035923688823323,-3.7481625279828046e-5,4.651961895285797e-8,0.0035924001126666325,-3.742650014676788e-5,4.641991343171655e-8,0.003592408782381076,-3.743612894819133e-5,4.643708427178588e-8,0.0035924214411165024,-3.751830128528744e-5,4.6584688608919025e-8,0.0035924664696293106,-3.7669705308534085e-5,4.685621045027915e-8,0.003592569774155505,-3.7874901547291835e-5,4.7223301285490726e-8,0.003592749902450613,-3.810728859606727e-5,4.763765035237718e-8,0.0035930135281971444,-3.833251364146036e-5,4.8037268016193544e-8,0.003593352477999401,-3.85142094254474e-5,4.835692293551611e-8,0.003593743318325711,-3.862124028617287e-5,4.8541211620976406e-8,0.0035941500803349773,-3.8635219635304036e-5,4.855799005285224e-8,0.0035945303054739485,-3.8556856029829644e-5,4.8409563859566875e-8,0.0035948441441678958,-3.84093266238022e-5,4.8138450958546775e-8,0.0035950652932258955,-3.823653707192244e-5,4.7823971958565097E-08,0.003595191000352243,-3.809453371200407e-5,4.7566669363102354e-8,0.003595246796889517,-3.803631027123147e-5,4.7461060314247433E-08,0.0035952816700368603,-3.809404780623166e-5,4.756396298769029e-8,0.0035953529476908017,-3.826654280703843e-5,4.7872228760978966e-8,0.0035955064360887307,-3.851914359448242e-5,4.832290540180464e-8,0.0035957614102684605,-3.8797097685212365e-5,4.8817364790469434e-8,0.0035961074408753227,-3.904519065318432e-5,4.925659081088645e-8,0.0035965125426542463,-3.922380619036841e-5,4.9569925989950274e-8,0.0035969362675940465,-3.9315732962972006e-5,4.972712682605005e-8,0.003597341109482439,-3.932441886961113e-5,4.9735041797245097e-8,0.0035976991308152764,-3.9267828750470704e-5,4.962644042986901e-8,0.0035979941492756103,-3.917176770050048e-5,4.944797265987095e-8,0.0035982212646163817,-3.906461231436291e-5,4.925073309806581e-8,0.0035983853864858173,-3.8973731332623625e-5,4.9083882869826816e-8,0.003598499705108412,-3.8923037020490345e-5,4.899027237780294e-8,0.003598584313547959,-3.893093107139329e-5,4.900272753215885e-8,0.003598664665047769,-3.900814200916675e-5,4.914012707459969e-8,0.003598769295912446,-3.91554181102269e-5,4.940325446403414e-8,0.003598926296552057,-3.936159589408526e-5,4.9771395938974046e-8,0.0035991584178781378,-3.9603052569638225e-5,5.020149262688757e-8,0.0035994774570306106,-3.9845742495034574e-5,5.063196470603437e-8,0.003599879456446016,-4.0050595060088164e-5,5.099254875986903e-8,0.0036003427551529487,-4.018188155414745e-5,5.121939647495595e-8,0.0036008305267239238,-4.021666105614067e-5,5.127201267350899e-8,0.003601298082359539,-4.015241628723848e-5,5.114683795044416e-8,0.0036017034785005065,-4.001010080325409e-5,5.0882498429844205e-8,0.0036020186446318633,-3.983102151691306e-5,5.055393791953197e-8,0.00360223784043595,-3.966773922720605e-5,5.025583994965174e-8,0.0036023807275160397,-3.957088011118183e-5,5.0078834765566855e-8,0.0036024884440489483,-3.957514576006304e-5,5.008445593779248e-8,0.003602612836630004,-3.9688759093846825e-5,5.028643421396089e-8,0.003602801507346342,-3.9890448396384285e-5,5.064559582445518e-8,0.0036030837132397233,-4.013591224250133e-5,5.1081729897139555e-8,0.0036034625787910108,-4.037175117016467e-5,5.149873123423126e-8,0.0036039164745840613,-4.0551277524241955e-5,5.181297742668326e-8,0.0036044080529050305,-4.0646004294966926e-5,5.197384946590186e-8,0.00360489619893693,-4.064945869958866e-5,5.197041780922286e-8,0.0036053460251226866,-4.0574082061552914e-5,5.182570742191499e-8,0.0036057344318386826,-4.044453999591332e-5,5.158455566701788e-8,0.0036060514579108944,-4.029075668722807e-5,5.130104481965624e-8,0.003606299011004411,-4.01424970484346e-5,5.1028778692332877e-8,0.0036064885833287518,-4.0025849226308426e-5,5.081459498933569e-8,0.003606638973317254,-3.9961099891688534e-5,5.069476213733481e-8,0.003606774332411993,-3.9961203232245695e-5,5.069221405358963e-8,0.0036069222452277806,-4.003023028212907e-5,5.081374865009258e-8,0.0036071112182922568,-4.016168303508934e-5,5.1047028727656355e-8,0.003607366963232316,-4.033714988858951e-5,5.135826999643147e-8,0.0036077072303672525,-4.0526398781894345e-5,5.169257162187404e-8,0.0036081358410376746,-4.069044856608033e-5,5.19795998409735e-8,0.00360863791472181,-4.0788768684664725e-5,5.214662964419998e-8,0.0036091792602710175,-4.079000858969095e-5,5.2137837160242114e-8,0.003609712280943959,-4.068309768113012e-5,5.1934170132578293e-8,0.0036101880918484254,-4.04838562463079e-5,5.1565076095717744e-8,0.0036105710604826644,-4.0233135214053623e-5,5.11049366675387e-8,0.0036108500263461432,-3.998610781681087e-5,5.065355467128838e-8,0.003611041677968052,-3.9796540409886596e-5,5.0307660035659015e-8,0.0036111851665100313,-3.970186618515915e-5,5.0134017422303575e-8,0.0036113304864999287,-3.971382372907988e-5,5.0152753919674675e-8,0.0036115247250119607,-3.98167918000583e-5,5.033467938084641e-8,0.0036118001491949494,-3.997345877334354e-5,5.061180843179813e-8,0.003612167114637999,-4.013564216404726e-5,5.089703004119631e-8,0.0036126132814578962,-4.025692196720492e-5,5.110687626163271e-8,0.0036131087640671185,-4.0303479742982214e-5,5.118093281193777e-8,0.0036136150876857724,-4.026034802700086e-5,5.109292725088119e-8,0.003614094856008835,-4.0132016043704154e-5,5.085165351686192e-8,0.0036145193074628326,-3.993836208888382e-5,5.0493512681573206e-8,0.003614872292763547,-3.9708210576448246e-5,5.0070825982924494e-8,0.003615150815762236,-3.947285164647236e-5,4.9640137095099506e-8,0.0036153632808230353,-3.926096931140428e-5,4.9253097195019005e-8,0.0036155267616432177,-3.909538048400595e-5,4.89506275147321e-8,0.0036156642392711075,-3.8991230807476714e-5,4.8759693003331155e-8,0.0036158021749105296,-3.895495080175904e-5,4.86914245950835e-8,0.0036159682275933073,-3.8983383111791493e-5,4.873955389149923e-8,0.003616188577386115,-3.9062911493915725e-5,4.887889729439448e-8,0.0036164842465590077,-3.9168981167351876e-5,4.906461395007111e-8,0.003616866127419069,-3.926707099410478e-5,4.9234122993500053E-08,0.003617329348913702,-3.931673398289274e-5,4.9314522167269587e-8,0.003617849150796829,-3.928001916208648e-5,4.923780665633049e-8,0.003618381798653043,-3.913360777112033e-5,4.896267227430695e-8,0.0036188735440883186,-3.888055553865431e-5,4.849554188132768e-8,0.003619276853702225,-3.855491658006466e-5,4.789873129478229e-8,0.0036195676184713646,-3.821416389457841e-5,4.7276580612196774e-8,0.0036197545025373444,-3.792090095161403e-5,4.6742254073388355e-8,0.0036198753513412853,-3.772222272857822e-5,4.6380371688515686e-8,0.0036199830801991757,-3.763623905030227e-5,4.6222755173165736e-8,0.00362012849213772,-3.7650144684676776e-5,4.624521707582522e-8,0.003620346940104583,-3.77278873639625e-5,4.6381754134727366e-8,0.0036206519317770578,-3.7822429509832206e-5,4.654694600928876e-8,0.0036210353347296935,-3.788800232657244e-5,4.6658156643896576e-8,0.0036214722356083732,-3.7889552847069945e-5,4.665250017723497e-8,0.0036219282737146377,-3.7808250334028e-5,4.6496606350338104e-8,0.003622367558528604,-3.764294604213074e-5,4.618907856043481e-8,0.003622759613618764,-3.740807222574171e-5,4.5756568470016735e-8,0.003623084197594277,-3.7129000539556704e-5,4.524531717165578e-8,0.0036233334897944123,-3.6836271033352585e-5,4.471070197478162e-8,0.003623511822352105,-3.656004150987419e-5,4.42072171491852e-8,0.003623633625770037,-3.632568696345636e-5,4.378055463898182e-8,0.0036237204746564565,-3.615095303416537e-5,4.3462496938331666e-8,0.0036237980238943072,-3.604451542869379e-5,4.326833725239851e-8,0.0036238932087061873,-3.600542881626248e-5,4.3195891834918523e-8,0.0036240316260941043,-3.6022998605292114e-5,4.322528366433578e-8,0.003624234754252283,-3.6076927455552074E-05,4.331926852948421e-8,0.0036245165668879796,-3.613800749232242e-5,4.34246123367742e-8,0.003624879311897084,-3.617023187311202e-5,4.3476066000601294e-8,0.0036253090835464646,-3.6135726391495956e-5,4.3405390637871034e-8,0.0036257732585274127,-3.6003592967351125e-5,4.315733397260209e-8,0.0036262232058954036,-3.576186980901324e-5,4.271111422394686e-8,0.003626605331546473,-3.542823247726426e-5,4.209956869519151e-8,0.003626879436036661,-3.50518579454549e-5,4.1412337399755736e-8,0.0036270365079126123,-3.470071004044956e-5,4.0772704917605835e-8,0.0036271047904969573,-3.443736111457935e-5,4.029373159298715e-8,0.0036271389316380864,-3.429581521273013e-5,4.003629528591115e-8,0.0036271983746661196,-3.427189565117347e-5,3.999186380888534e-8,0.0036273272627723543,-3.433001504928174e-5,4.009507060595036e-8,0.0036275443605000503,-3.441929039714666e-5,4.02532013146905e-8,0.003627843559349204,-3.448978456372097e-5,4.037574941419381e-8,0.0036282007307444626,-3.450355291645972e-5,4.039436204166938e-8,0.0036285824334346233,-3.443962968437811e-5,4.027168052144104e-8,0.003628953774846586,-3.4294406238919776e-5,4.000181674287031e-8,0.003629284453436167,-3.4079224683629005e-5,3.960585055025596e-8,0.00362955288864694,-3.381643465683662e-5,3.912462715686188e-8,0.0036297485036715003,-3.353465476085004e-5,3.8610171191587416e-8,0.0036298722480067286,-3.3263883330298314e-5,3.811684927278125e-8,0.003629935574821214,-3.303104643643447e-5,3.769332757952957e-8,0.003629958188257625,-3.285642390889165e-5,3.737611903004188e-8,0.003629964993502037,-3.275128511796277e-5,3.7185320702803963e-8,0.0036299828010852926,-3.271683137367501e-5,3.712271268820873e-8,0.003630037189355566,-3.274419552984249e-5,3.7171770693712e-8,0.003630149597490292,-3.281517977483511e-5,3.729903127915843e-8,0.0036303345419651353,-3.290362286671258e-5,3.7456641443449155e-8,0.0036305967997701106,-3.297753462876925e-5,3.758635247116539e-8,0.003630928513207681,-3.300252642506156e-5,3.762587782766384e-8,0.0036313068265694214,-3.294744940956532e-5,3.7519188323039196e-8,0.00363169380297549,-3.2792780456482834e-5,3.7231652891866554e-8,0.0036320412779389313,-3.254062980327011e-5,3.676798183842747e-8,0.0036323028298620714,-3.222229600651305e-5,3.618566999286661e-8,0.00363245144150968,-3.1896535693968474e-5,3.559165692670533e-8,0.003632494924818845,-3.163343128727202e-5,3.5112974053962996e-8,0.003632477752238004,-3.148784739433187e-5,3.4848610971418145e-8,0.0036324645616411712,-3.147677766139223e-5,3.4828549478256566e-8,0.003632513929295136,-3.1574620316264846e-5,3.5005434477029905e-8,0.0036326579319382944,-3.1727711619258e-5,3.528122902984301e-8,0.0036328967617592235,-3.187682011716218e-5,3.554823526809591e-8,0.0036332061434049393,-3.197502524181992e-5,3.572156454636925e-8,0.0036335495974229026,-3.1995847248725226e-5,3.575374279393732e-8,0.003633889293870905,-3.19333227910892e-5,3.563461873953822e-8,0.003634193172744235,-3.17978842240923e-5,3.538369154094479e-8,0.003634438615965457,-3.161109030916799e-5,3.504045625380042e-8,0.003634613855985011,-3.1400671454106465e-5,3.465541572534082e-8,0.003634718071699902,-3.11961575856113e-5,3.428219175465637e-8,0.003634760562279025,-3.102500639946222e-5,3.3970535921702535e-8,0.0036347591134491177,-3.0909251987672765e-5,3.376025962304962e-8,0.003634737607805422,-3.086278268132625e-5,3.367629517795057e-8,0.0036347229490649663,-3.088948453492992e-5,3.372533325761154e-8,0.003634741563228235,-3.0982560065987805e-5,3.389460784514429e-8,0.003634815901229414,-3.112512713113596e-5,3.4153020033679004e-8,0.0036349612766972193,-3.129198170965659e-5,3.4454394956192596e-8,0.003635183245992869,-3.145240784677646e-5,3.4742669582784826e-8,0.0036354757079425717,-3.1573956992053166e-5,3.495886526255861e-8,0.0036358199160614058,-3.1627212256825974e-5,3.504983415027823e-8,0.0036361849045063073,-3.159171660721317e-5,3.4979039620345153e-8,0.003636530479561921,-3.1462895172653124e-5,3.473901011215707e-8,0.0036368142578559253,-3.1258495477149596e-5,3.436280051338025e-8,0.003637003387374721,-3.102115681331883e-5,3.3928392231956515e-8,0.003637088755021439,-3.081237158304347e-5,3.35475459720963e-8,0.003637094946225761,-3.069500019812094e-5,3.333402234292594e-8,0.0036370770559699434,-3.0708848592774254e-5,3.335935424561485e-8,0.0036371013292986853,-3.085231309250355e-5,3.361973574732224e-8,0.0036372186076369544,-3.108268917674487e-5,3.4036836713625407e-8,0.0036374461301725914,-3.133543760619602e-5,3.449300493597974e-8,0.0036377666800752285,-3.154966294649507e-5,3.4877648547478624e-8,0.003638141297749838,-3.1685759118405125e-5,3.511925103365506e-8,0.0036385252843173046,-3.173024090401332e-5,3.5193980505349496e-8,0.0036388799750885084,-3.1691380373824776e-5,3.5117541386689996e-8,0.003639178463924923,-3.1591479016366276e-5,3.493096321710203e-8,0.003639406831918024,-3.145964120367891e-5,3.4687408289269027e-8,0.0036395631103395176,-3.132641488984484e-5,3.444246310972407e-8,0.003639655535314708,-3.122008096808154e-5,3.4247456211883176e-8,0.0036397006665107633,-3.1163893875378406e-5,3.414448139816457e-8,0.003639721329488939,-3.1173806420359784e-5,3.416226804857164e-8,0.0036397441644748767,-3.125655767899938e-5,3.431270209771732e-8,0.003639796568166988,-3.140832386339877e-5,3.458839076722247e-8,0.0036399030331303018,-3.161441580614675e-5,3.49621599593727e-8,0.0036400812861970703,-3.1850493516183555e-5,3.538933414193512e-8,0.0036403388783366928,-3.2085469069802425e-5,3.581309683606768e-8,0.003640670899708472,-3.228595888933305e-5,3.617266898678714e-8,0.003641059410890908,-3.242184074945234e-5,3.6413480741849684e-8,0.003641474976614793,-3.2472192397990765e-5,3.6497992784001544e-8,0.0036418804736073327,-3.243081777099901e-5,3.6415684316993066e-8,0.0036422373048892133,-3.231046066567557e-5,3.619054998193656e-8,0.003642513965287651,-3.2144261682321465e-5,3.588351146600024e-8,0.0036426959856221573,-3.198235682061668e-5,3.5586005065773693e-8,0.0036427944977556605,-3.1881697208743154e-5,3.5401356745524745e-8,0.0036428486849075714,-3.188933045907144e-5,3.5414444145402196e-8,0.0036429173685921887,-3.202403752604784e-5,3.565852233264122e-8,0.0036430596414088368,-3.226577445343364e-5,3.609629779052436e-8,0.0036433124954249867,-3.2561078847616284e-5,3.66299793816928e-8,0.0036436776177795477,-3.284337212027593e-5,3.713830880496045e-8,0.0036441242313400286,-3.3057030277970586e-5,3.7520345040000954e-8,0.0036446041810241324,-3.317277180321848e-5,3.772337507096917e-8,0.0036450692490085615,-3.3189738563198884e-5,3.7746545722749065e-8,0.003645482899676809,-3.3128175256394194e-5,3.7627357042686266e-8,0.0036458246434632187,-3.301933774306142e-5,3.7423151774873677e-8,0.003646089234413236,-3.289707990184836e-5,3.71957515176344e-8,0.003646283665094115,-3.279244336538491e-5,3.7001641525103554e-8,0.0036464239349174375,-3.273067656021924e-5,3.6886607019548715e-8,0.0036465323149864697,-3.272957018214073e-5,3.6882747854165715e-8,0.0036466349961541663,-3.279825429446103e-5,3.700630533575309e-8,0.0036467596710251142,-3.2936106766617314e-5,3.725568811188398e-8,0.0036469325807821826,-3.313193807407561e-5,3.7610026698915855e-8,0.0036471748124150484,-3.3364069240662704e-5,3.802938859382088e-8,0.003647498169133209,-3.360210126412473e-5,3.845809149088258e-8,0.0036479015316435363,-3.38109253939106e-5,3.883209072712449e-8,0.003648368986541947,-3.395689666898082e-5,3.909027582893097e-8,0.003648870921029724,-3.401521748118757e-5,3.9187927000580045e-8,0.0036493686380024244,-3.397675991479839e-5,3.91090927084104e-8,0.0036498219897588453,-3.385230235314705e-5,3.887418894134722e-8,0.0036501985693956885,-3.367263505175776e-5,3.854000701640252e-8,0.0036504824684245895,-3.348382883038354e-5,3.819088250354824e-8,0.003650680396759058,-3.333785800459016e-5,3.792145205144569e-8,0.003650822939161007,-3.3279840876376515e-5,3.781338373671198e-8,0.003650959134371577,-3.3334613467666114e-5,3.791106516073476e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json new file mode 100644 index 000000000..3f54533a6 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":23000,"numberOfSamples":1000,"samples":[0.003651144035305788,-3.3496975736922465e-5,3.820410327566936e-8,0.0036514219143992843,-3.3730554777606135e-5,3.862552436820353e-8,0.0036518112676496577,-3.397791609056264e-5,3.907035721036122e-8,0.00365229870095008,-3.417907449598782e-5,3.9429383363913e-8,0.00365284489977173,-3.4290356787269744e-5,3.962343833009104e-8,0.0036533992613388363,-3.429527055965991e-5,3.962310443890886e-8,0.003653915601993734,-3.4204210437811016e-5,3.9448034728001705e-8,0.0036543625588809866,-3.404606217387052e-5,3.915149562803171e-8,0.003654726821743164,-3.385745548023324e-5,3.880065521411588e-8,0.003655011114586897,-3.367402646076845e-5,3.846060844958942e-8,0.003655229952491537,-3.352516388562213e-5,3.818482941081412e-8,0.0036554053665251193,-3.343165583497147e-5,3.8010946814686524e-8,0.0036555634966590643,-3.3404964167691095e-5,3.7959478606448984e-8,0.0036557319972541605,-3.3447035834001456e-5,3.803352192134055e-8,0.0036559377077366316,-3.355009646938942e-5,3.821840523078073e-8,0.003656203941986329,-3.3696494348695236e-5,3.848145228658821e-8,0.0036565469978612378,-3.3859223781751256e-5,3.877301569526761e-8,0.0036569720596978405,-3.4004124438745524e-5,3.9030579556823116e-8,0.003657469498455847,-3.40947073072433e-5,3.918763315500793e-8,0.003658013393850613,-3.409978236972752e-5,3.918760770228968e-8,0.0036585642841328063,-3.400250012732713e-5,3.9000338042948336e-8,0.003659077039174998,-3.380774452480385e-5,3.8635466490843415e-8,0.0036595124517896076,-3.354428513728769e-5,3.8146233975437406e-8,0.0036598488695074555,-3.325957393919969e-5,3.761980345160911e-8,0.0036600895177045143,-3.30080589998171e-5,3.7155744789631976e-8,0.0036602626699706706,-3.2836659874036776e-5,3.6839414480127626e-8,0.0036604145345912036,-3.277203283919482e-5,3.671875744486885e-8,0.003660597076071134,-3.281332359526204e-5,3.679128814107534e-8,0.0036608541980586175,-3.293230507705976e-5,3.700462952878297e-8,0.003661210012998719,-3.308093000187256e-5,3.7270537712529526e-8,0.003661662575751951,-3.320440094368456e-5,3.74888633727299e-8,0.003662185161327315,-3.325597408349231e-5,3.7574542846225874e-8,0.003662734729255613,-3.320874898829924e-5,3.747900861351535e-8,0.0036632644530644296,-3.3060666580031256e-5,3.719917570818271e-8,0.003663735688217234,-3.283177311008349e-5,3.677230797634811e-8,0.003664125550367317,-3.255600900274537e-5,3.6260899113540797e-8,0.0036644288159946347,-3.227144312843095e-5,3.573475239964142e-8,0.003664655379067319,-3.20122786606644e-5,3.525635740926294e-8,0.0036648256060508692,-3.180406776074698e-5,3.487218993328028e-8,0.0036649655917790954,-3.166186058055134e-5,3.460940215582945e-8,0.003665103342555086,-3.15901849968733e-5,3.4475849367541365e-8,0.003665265988254904,-3.158372346364206e-5,3.4461364201339914e-8,0.003665477540567749,-3.162801003528849e-5,3.4539055157405407e-8,0.0036657565338192736,-3.17000936026722e-5,3.466655892539428e-8,0.0036661130590637785,-3.176968248208968e-5,3.478820502904388e-8,0.003666545202793297,-3.180174937323968e-5,3.483986629008923e-8,0.003667035788941662,-3.1761745550580205e-5,3.475855435760227e-8,0.0036675514497473767,-3.162389916152661e-5,3.449759311569503e-8,0.003668046654744528,-3.138114071038292e-5,3.404470126419763e-8,0.0036684741721542814,-3.105261032794423e-5,3.343560777759723e-8,0.003668799974560434,-3.068345735179965e-5,3.2753539214570226e-8,0.0036690165364966303,-3.0334013759936222e-5,3.2109244036842246e-8,0.0036691474276989216,-3.0061206934846583e-5,3.160683200695938e-8,0.0036692401145173264,-2.9900241087574385e-5,3.131020806459519e-8,0.0036693503292834495,-2.9854613982101406e-5,3.122493185911916e-8,0.003669525187357138,-2.989751080207272e-5,3.1301037813817e-8,0.0036697912282753556,-2.9982013376298203e-5,3.1452001909760237e-8,0.003670149929656101,-3.0055069990531985e-5,3.15804774867729e-8,0.00367058012275416,-3.007069224005011e-5,3.160245845426072e-8,0.003671045233915078,-2.9999480736268876e-5,3.14646043020311e-8,0.00367150289146305,-2.9833136999524488e-5,3.1152343179196404e-8,0.0036719145236925356,-2.9583830819543413e-5,3.068856987855197e-8,0.0036722528819754623,-2.9279274289988172e-5,3.012451965536157e-8,0.0036725060723375516,-2.8955216659429878e-5,2.9525956515840337e-8,0.003672677754130943,-2.864755268356975e-5,2.895869275364607e-8,0.003672784291843022,-2.838594682136872e-5,2.8476927435519246e-8,0.0036728502871910297,-2.8189969093245898e-5,2.8116221838894727e-8,0.0036729039195573616,-2.8067750927584617e-5,2.7891105878276732e-8,0.0036729730472076353,-2.8016458620949784e-5,2.7795998669456532e-8,0.0036730823256591566,-2.8023639314141942e-5,2.7807699502206006e-8,0.0036732510393670506,-2.806876922500443e-5,2.7888233842029837e-8,0.0036734911388206174,-2.8124848250507907e-5,2.7987802985082756e-8,0.003673805048096844,-2.8160365318995213e-5,2.8048454388623762e-8,0.0036741831643614118,-2.8142417714421486e-5,2.800989211450284e-8,0.0036746017845311393,-2.8042014596425726e-5,2.781926303572099e-8,0.003675023305396148,-2.7842042600133794e-5,2.7445742165138232e-8,0.003675401277467576,-2.7546573380207877e-5,2.6897486202051013e-8,0.0036756920590245525,-2.718737099853137e-5,2.623340000871415e-8,0.0036758711240840844,-2.682142732552505e-5,2.555844943167183e-8,0.0036759465937811365,-2.6515692647237495e-5,2.499551903112205e-8,0.0036759605227197774,-2.6323182982489206e-5,2.464151777744949e-8,0.0036759744983032644,-2.6262593443452535e-5,2.4530039671133795e-8,0.0036760466285700347,-2.6312844659637143e-5,2.462156779143457e-8,0.0036762123044454384,-2.6424126112870143e-5,2.4824015221802194e-8,0.003676476786014314,-2.6537239075107872e-5,2.5028430559382807e-8,0.0036768192350094923,-2.6601221243758545e-5,2.5141395201407517e-8,0.0036772028513650874,-2.658386925131194e-5,2.5104237965815816e-8,0.0036775858883604795,-2.6474864491415744e-5,2.4898599976612817e-8,0.0036779306440379686,-2.6283647779182486e-5,2.4542371246482394e-8,0.003678209538973982,-2.603439997978615e-5,2.408037372138913e-8,0.003678408358108114,-2.5759783494692988e-5,2.357282896906436e-8,0.003678526948850447,-2.5494493653466036e-5,2.308351403533256e-8,0.0036785777355817883,-2.5269467883076505e-5,2.2669143006386352e-8,0.003678582593628918,-2.5107461818455048e-5,2.2371273529194018e-8,0.003678568782474355,-2.5020417507422695e-5,2.2211520779320994e-8,0.0036785647042003374,-2.500871973525351e-5,2.21902445854814e-8,0.0036785961805071692,-2.5062054156622615e-5,2.228816628316454e-8,0.003678683593958781,-2.5161266743696174e-5,2.24697994986493e-8,0.003678839813725382,-2.528068865976697e-5,2.268772363615898e-8,0.0036790686589521994,-2.5390721102639514e-5,2.28873548323344e-8,0.0036793636633603534,-2.5460766843175067e-5,2.301239734670839e-8,0.0036797070625050198,-2.5462938404665122e-5,2.3011746096490555e-8,0.0036800695540226,-2.5377224112577794e-5,2.2849032250097418e-8,0.0036804123072578534,-2.5198284596178738e-5,2.251506689142407e-8,0.003680693157902537,-2.4942526484895308E-05,2.2040681988927512e-8,0.003680878158399637,-2.4651854910035483e-5,2.150341156448466e-8,0.0036809565821238504,-2.4388619881055524e-5,2.101802531841774e-8,0.003680952179938686,-2.4218042502926116e-5,2.0704157135192892e-8,0.003680920788736872,-2.418258152607271e-5,2.063924897056901e-8,0.0036809307429876595,-2.428216159309294e-5,2.082238656290625e-8,0.0036810354111426534,-2.4473729304710523e-5,2.1173726237950885e-8,0.003681253971997315,-2.4690578711906134e-5,2.1570233191745147e-8,0.0036815697161010955,-2.4868511669727512e-5,2.1893875946001677e-8,0.00368194233743989,-2.4964629040890916e-5,2.2066135288962184e-8,0.003682324212490332,-2.496342898745231e-5,2.2059068741709067e-8,0.0036826731166814996,-2.4873277705717296e-5,2.1888636709994033e-8,0.0036829591588462465,-2.4718729832185195e-5,2.1600441398920033e-8,0.003683167023967205,-2.4532594782350245e-5,2.1255080252265367e-8,0.0036832954099022645,-2.4349370543578626e-5,2.0916081024659693e-8,0.0036833550335923348,-2.4200218198591833e-5,2.0640692551785886e-8,0.0036833658565634006,-2.410924176009306e-5,2.047307011231562e-8,0.00368335380237866,-2.4090944865297163e-5,2.0439619325797367e-8,0.0036833471475006176,-2.4148859135246296e-5,2.054650508300012e-8,0.003683372810946003,-2.4275435196936255e-5,2.07794955328708e-8,0.003683452919780664,-2.445325289733475e-5,2.110623168930102e-8,0.003683602046501696,-2.465734339942249e-5,2.1480525304410102e-8,0.003683825298735307,-2.4858264023953814e-5,2.184802813428788e-8,0.0036841172991974114,-2.5025683730293013e-5,2.2152849985111426e-8,0.0036844620856947494,-2.5132324086251992e-5,2.234486049199623e-8,0.003684833943600737,-2.5158192450841574e-5,2.2387540094785343e-8,0.0036851994497372497,-2.5095227283073492e-5,2.226654684123872e-8,0.003685521611166236,-2.495214102688181e-5,2.199854944989616e-8,0.0036857671361551635,-2.4758044853092278e-5,2.1637716007903936e-8,0.0036859169029455434,-2.4561976529873085E-05,2.127462522493109e-8,0.0036859772914223593,-2.44246555966739e-5,2.102094321803886e-8,0.0036859863765741317,-2.4400569866343113e-5,2.0976459090247287e-8,0.0036860072100742725,-2.451503865503077e-5,2.1187033549314085e-8,0.0036861059724534228,-2.4748908547852973e-5,2.1616674172997784e-8,0.003686324629094954,-2.504318975211854e-5,2.2156284356747038e-8,0.003686664486266351,-2.5323155005089623e-5,2.2668137696737203e-8,0.0036870898114569946,-2.5527244493044108e-5,2.303909962374833e-8,0.003687546149128421,-2.5624766795011134e-5,2.3213143420424893e-8,0.00368798044731879,-2.5617338941137874e-5,2.3193859568407812e-8,0.0036883539373483384,-2.5529670793774248e-5,2.3027315403045705e-8,0.0036886463867155743,-2.5397760191839542e-5,2.2780188658898496e-8,0.003688854693802478,-2.5259351496340612e-5,2.2522155643143783e-8,0.0036889891708466456,-2.5147850491353615e-5,2.231471497123031e-8,0.0036890695533378795,-2.5088946206269493e-5,2.2205016955307542e-8,0.0036891214131626097,-2.5098827308126288e-5,2.222261384963983e-8,0.0036891729137179556,-2.518329063537529e-5,2.2377841591020216e-8,0.0036892516769625227,-2.5337494371236543e-5,2.2661397865423784e-8,0.0036893816097385863,-2.554645169281843e-5,2.3045303929869593e-8,0.0036895797925711486,-2.578657672893664e-5,2.3485809567516533e-8,0.0036898538468566012,-2.6028463573269312e-5,2.392855402626147e-8,0.003690200266554174,-2.624073990187162e-5,2.431568410168666e-8,0.0036906040827712275,-2.6394652975592825e-5,2.4594312535909952e-8,0.0036910401320671615,-2.646892578198544e-5,2.4725481010514338e-8,0.0036914760290490357,-2.6454258869800837e-5,2.469246723504824e-8,0.0036918767628710283,-2.6356872170899155e-5,2.450728188668473e-8,0.003692210885339878,-2.6200462392483775e-5,2.4214168577148188e-8,0.0036924581686777775,-2.602543095805307e-5,2.388800430693621e-8,0.003692617733382483,-2.5883626505455566e-5,2.362443103435925e-8,0.0036927139953002153,-2.58271594885082e-5,2.3519158494680385e-8,0.0036927961075991973,-2.5891978747853797e-5,2.3637775773338626e-8,0.0036929267649546634,-2.6081277797364088e-5,2.398538810384016e-8,0.0036931609455419815,-2.6358161739026842e-5,2.4493348826303326e-8,0.0036935234174346435,-2.665549718890737e-5,2.5037572254635175e-8,0.003693998101314756,-2.6900775812927172e-5,2.5484402286752192e-8,0.0036945360219985063,-2.7042710855034788e-5,2.5739608547857825e-8,0.0036950760446270714,-2.7065371302568437e-5,2.57743737612283e-8,0.003695565661023816,-2.6985691375977797e-5,2.5620578062499176e-8,0.00369597274607554,-2.684069713273219e-5,2.5347080120574853e-8,0.003696287324292012,-2.667345195030066e-5,2.5033662232297028e-8,0.0036965173262114045,-2.6523010525635966e-5,2.4752456189175374e-8,0.0036966825886261623,-2.6419227346433036e-5,2.455840471365584e-8,0.003696809522700842,-2.6380986372349695e-5,2.4486064306819182e-8,0.0036969270936339123,-2.6416117172469423e-5,2.454950799475654e-8,0.0036970637745599656,-2.6521893503182198e-5,2.4743286277766767e-8,0.0036972449046433265,-2.6685737210574117e-5,2.504376987032764e-8,0.0036974900334030988,-2.6886274245188e-5,2.541115595707101e-8,0.003697810176347896,-2.7095219934198905e-5,2.5793006605434385e-8,0.0036982053804941253,-2.728057365079077e-5,2.613018555159297e-8,0.003698663356525077,-2.7411217452902692e-5,2.6365357275177697e-8,0.0036991599725369096,-2.7462484334453646e-5,2.6453253365305067e-8,0.0036996621606698965,-2.7421763096580724e-5,2.6370997112730044e-8,0.00370013328491362,-2.729281033021235e-5,2.6126029195423446e-8,0.0037005403211717563,-2.7097411250876837e-5,2.5759105766375958e-8,0.0037008616198824073,-2.6873458549975153e-5,2.534063229254157e-8,0.0037010937154705065,-2.6669054268328128e-5,2.4959623377691335e-8,0.0037012553893138378,-2.6532771677849146e-5,2.470560529795536e-8,0.003701386925754609,-2.6501162935385394e-5,2.464554459140342e-8,0.0037015427319560873,-2.65862451416973e-5,2.4800881221936585e-8,0.0037017770840136652,-2.6767600671031702e-5,2.5133175185444305e-8,0.003702126226889177,-2.6994365678892358e-5,2.5547991564237983e-8,0.003702594034496086,-2.7199503702774686e-5,2.5921361512321817e-8,0.003703149146929241,-2.7322124217394617e-5,2.6140992193989e-8,0.0037037362260185593,-2.732763109091641e-5,2.6143421934714618e-8,0.003704295665546802,-2.721607872496196e-5,2.5929372282700263e-8,0.0037047816795343263,-2.7016566312550213e-5,2.5553267597604028e-8,0.003705171555362991,-2.6773370862474705e-5,2.509745527697299e-8,0.003705465407158616,-2.6531809403462105e-5,2.4645955131628586e-8,0.0037056802842188206,-2.6328749558537203e-5,2.4266888380384873e-8,0.003705842962671197,-2.6188473724591307e-5,2.4004889346311846e-8,0.0037059839388316924,-2.6122241314280676e-5,2.3880388417301026e-8,0.0037061332623507665,-2.6129556128220352e-5,2.3892034999399584e-8,0.003706317770909461,-2.6199800840217618e-5,2.4019772205175913e-8,0.0037065589557418377,-2.6313745875571078e-5,2.4227665838511646e-8,0.003706870840343872,-2.644512355745995e-5,2.4466855843329514e-8,0.003707257688373799,-2.6562856852741105e-5,2.4679720562225874e-8,0.003707711915905993,-2.6634592082949376e-5,2.4806441695489335e-8,0.003708213120455237,-2.663186058357122e-5,2.479455939697902e-8,0.0037087294412449907,-2.6536451255494063e-5,2.4610743259413702e-8,0.003709222214515911,-2.6346543661015368e-5,2.4252099963225886e-8,0.0037096538724641567,-2.6080329046030495e-5,2.3752812169666824e-8,0.003709997524539029,-2.577492734907529e-5,2.3182040780489726e-8,0.0037102454227998637,-2.5479672505274922e-5,2.263137359655951e-8,0.0037104132986381126,-2.524481178501241e-5,2.219379012489409e-8,0.0037105385684950997,-2.5108446768208215e-5,2.1939440481081604e-8,0.003710672201591465,-2.5085405601484373e-5,2.1895121723236657e-8,0.0037108659074224157,-2.5161493732589e-5,2.2033822651041703e-8,0.0037111577917986476,-2.5295461489293446e-5,2.2278586025456243e-8,0.0037115606470070174,-2.542917933201141e-5,2.2521498478199035e-8,0.0037120571654388006,-2.5503837048517596e-5,2.2653719725711947e-8,0.003712604656330799,-2.5477070966070233e-5,2.259714366597435e-8,0.0037131481138471807,-2.5334611035146297e-5,2.232587717598007e-8,0.0037136365417578987,-2.509202414715311e-5,2.1869364929837613e-8,0.0037140360486028587,-2.4786787143587042e-5,2.1297584304020552e-8,0.0037143354755474435,-2.4465255139622436e-5,2.069678054959071e-8,0.003714544467024974,-2.4170306202152613e-5,2.0146497047207724e-8,0.003714687020580643,-2.393338515246342e-5,1.9704838425664365e-8,0.0037147941125955726,-2.3771532108372094e-5,1.9403042636394202e-8,0.0037148976705766875,-2.3687944947412868e-5,1.924662719845783e-8,0.0037150265340877417,-2.367419895466894e-5,1.9219583030809972e-8,0.003715204015883382,-2.37127525260934e-5,1.928905809182854e-8,0.0037154462776015544,-2.377915294824585e-5,1.9409457545578542e-8,0.0037157608120527794,-2.384409788521174e-5,1.9526274662557453e-8,0.0037161447586631148,-2.387597552240848e-5,1.9580823667812967e-8,0.003716583383528966,-2.384460787773986e-5,1.9517213785745727e-8,0.0037170496879362957,-2.372665990986959e-5,1.929240272445178e-8,0.003717506623292282,-2.3512366057301022e-5,1.8888665065491976e-8,0.003717913280569818,-2.3211764390501293e-5,1.832510925529357e-8,0.0037182350231976446,-2.2857213753819283e-5,1.766226069432184e-8,0.0037184549931704456,-2.2499015996168416e-5,1.69938183046161e-8,0.0037185822522199053,-2.2193400184984013e-5,1.642422937600723e-8,0.0037186520125712316,-2.1986125984029035e-5,1.6038180871423233e-8,0.0037187166025020217,-2.1897980951190913e-5,1.5873715102312037e-8,0.0037188302313518797,-2.1918094714878887e-5,1.5909975868926e-8,0.0037190333250862505,-2.200738683831528e-5,1.6073822676410523e-8,0.003719341736464505,-2.211021106517147e-5,1.6261616807192078e-8,0.003719743573072058,-2.216979978548509e-5,1.636795341593824e-8,0.0037202036700935363,-2.214280148765948e-5,1.631260873446929e-8,0.0037206737661205037,-2.2009147434640982e-5,1.6058763393847896e-8,0.0037211051970497504,-2.1775071201819367e-5,1.5618506174731158e-8,0.003721460458739193,-2.1469112666244478e-5,1.5045318183279198e-8,0.0037217205729197273,-2.113297412457324e-5,1.4417004888548999e-8,0.0037218868002361744,-2.081050254733132e-5,1.3815164650950308e-8,0.0037219772900882707,-2.0538209327698315e-5,1.3307554545741322e-8,0.003722020789722907,-2.033950176989565e-5,1.2937408851043707e-8,0.00372204987109083,-2.022296133826621e-5,1.2720322617019088e-8,0.0037220953992123298,-2.018363795951063e-5,1.2646747001885697e-8,0.0037221828649194387,-2.0205878245740093e-5,1.26873047206367e-8,0.0037223303313133104,-2.02664502220618e-5,1.2798609312135926e-8,0.003722547317866394,-2.0337344535813425e-5,1.292845264550573e-8,0.0037228339677174557,-2.0388317730423293e-5,1.3020518278734751e-8,0.003723180190839855,-2.0389705420379754e-5,1.3019629712220013e-8,0.0037235650128087322,-2.0316187736311858e-5,1.2878799919059847e-8,0.003723957027956693,-2.0152005616268402e-5,1.256897561523051e-8,0.003724317479797812,-1.9897320189773163e-5,1.2090860847159705e-8,0.0037246074892309214,-1.9573777293026863e-5,1.1485194896322013e-8,0.0037247994563825186,-1.922551672634567e-5,1.0834500081040653e-8,0.003724889413287953,-1.8911635022200557e-5,1.024891375539621e-8,0.003724903860006442,-1.8689419208005423e-5,9.834890386340725e-9,0.0037248950039658825,-1.8593936835862856e-5,9.657227552497414e-9,0.0037249241617011717,-1.8624070004157957e-5,9.713213497022367e-9,0.0037250406734058938,-1.874272347827841e-5,9.933231932671707e-9,0.003725266442256563,-1.889068343187049e-5,1.0206743013046786e-8,0.003725591957814072,-1.900639132302381e-5,1.0419161121580107e-8,0.0037259828367480837,-1.9042941445738243e-5,1.0483445088589561e-8,0.0037263919105630754,-1.8977532859680972e-5,1.0357575288150131e-8,0.0037267718541946424,-1.8812970780198845e-5,1.004722544629047e-8,0.0037270852122032435,-1.857321752592454e-5,9.597390829866145e-9,0.0037273105106150057,-1.829556589372417e-5,9.077766944676528e-9,0.0037274442822466383,-1.8021665816886436e-5,8.566019197106112e-9,0.003727499446205275,-1.7789180452793088e-5,8.132238797880786e-9,0.0037275009651962054,-1.762549477405663e-5,7.827238632585327e-9,0.003727480107433613,-1.7544324987777415e-5,7.676278027300595e-9,0.003727468693735596,-1.7545252223564655e-5,7.678260381961283e-9,0.0037274943796830745,-1.7615546114334517e-5,7.809198521585769e-9,0.0037275775048591624,-1.773333185341448e-5,8.028155894012631e-9,0.003727729461688348,-1.7871140037744037e-5,8.283855986333845e-9,0.0037279521045785026,-1.7999224672154963e-5,8.520831022886832e-9,0.0037282376812551145,-1.80885880022614e-5,8.685033780576021e-9,0.0037285690243083164,-1.8114038809190196e-5,8.729555432946514e-9,0.003728920113641478,-1.8057767593507887e-5,8.621345067804234e-9,0.0037292576952676747,-1.7913835381609194e-5,8.349624258909386e-9,0.0037295452618239825,-1.769325645659619e-5,7.935342096310923e-9,0.003729750685610381,-1.742782377238727e-5,7.438195143004906e-9,0.0037298573864923707,-1.7169070621178025e-5,6.954523489002591e-9,0.0037298756982351187,-1.6978346810287705e-5,6.598664526266755e-9,0.003729847357057938,-1.690734999300974e-5,6.466620041821976e-9,0.0037298361456615196,-1.6976011363689884e-5,6.594939654273422e-9,0.0037299052651525726,-1.716065001020904e-5,6.938856540972064e-9,0.003730092529452638,-1.7401587629302746e-5,7.386701385086378e-9,0.0037303974273488636,-1.7626624987369516e-5,7.803782958842304e-9,0.0037307856005640463,-1.7776600142330956e-5,8.080023637204767e-9,0.0037312048557727917,-1.782075236454326e-5,8.158500185359126e-9,0.0037316025984929033,-1.7758874434021704e-5,8.039315141398938e-9,0.003731938096263313,-1.7614499874872118e-5,7.76676690099454e-9,0.0037321881752387263,-1.7424800949631686e-5,7.410439462798648e-9,0.003732347832913049,-1.7230987288991442e-5,7.047285654047261e-9,0.003732427807332729,-1.7070752855394434e-5,6.747564430999931e-9,0.0037324505819447216,-1.6972951318685194e-5,6.564937105062063e-9,0.0037324456392299724,-1.695435236964585e-5,6.530439072511247e-9,0.003732444524964121,-1.701842445824136e-5,6.650238763256346e-9,0.0037324762624747466,-1.7155994000405556e-5,6.906918712508451e-9,0.003732563584080442,-1.734745000939961e-5,7.263649467205659e-9,0.003732720347862681,-1.7566052220995436e-5,7.670403442963853e-9,0.003732950305259306,-1.7781762662003478e-5,8.071102483695934e-9,0.003733247046701793,-1.796503766997897e-5,8.410658713739836e-9,0.003733594793483443,-1.8090329320746774e-5,8.641476568061361e-9,0.003733969829689655,-1.8139333953936072e-5,8.729522514097567e-9,0.0037343425695851745,-1.8104141430392796e-5,8.660245887318678e-9,0.003734680606263795,-1.7990430125363365e-5,8.444572497323546e-9,0.003734953553838489,-1.782034694147802e-5,8.124239420623847e-9,0.003735140403146867,-1.7633507226156773e-5,7.77352976095781e-9,0.003735238848109435,-1.748329459267977e-5,7.4921953391734e-9,0.003735273477531778,-1.742550583944127e-5,7.384151459049214e-9,0.0037352966592492363,-1.749922907883764e-5,7.52182191537506e-9,0.0037353759026406193,-1.7706708770883272e-5,7.908742842178216e-9,0.003735568740471046,-1.8005201420696946e-5,8.464598259716825e-9,0.003735897522340255,-1.8320262806021934e-5,9.050180658370451e-9,0.0037363400742964556,-1.8575326378219387e-5,9.522633384422312e-9,0.0037368415776035976,-1.8720037863678725e-5,9.788290822532997e-9,0.0037373380712256233,-1.874245668787921e-5,9.825363797506921e-9,0.0037377771555825133,-1.8663787364666786e-5,9.673974471483982e-9,0.0037381282616453346,-1.852433494079792e-5,9.409797508911304e-9,0.0037383834002827367,-1.8369540890756483e-5,9.117901324121186e-9,0.003738552757404369,-1.824019873721411e-5,8.874473223547163e-9,0.003738658809558917,-1.8167100505264942e-5,8.736870253285727e-9,0.003738730844138739,-1.8168783218842287e-5,8.739462794445459e-9,0.0037388003329487827,-1.8251037280980622e-5,8.892751862877826e-9,0.00373889698628947,-1.8407514500518183e-5,9.18453775255549e-9,0.0037390453516148825,-1.8621272393550024e-5,9.582855243041857e-9,0.0037392620029640536,-1.886722395403692e-5,1.0040612490717398e-8,0.0037395535311001136,-1.9115464924135617e-5,1.0501851379362463e-8,0.0037399156645016815,-1.9335279841595094e-5,1.0909231443508442e-8,0.003740333727271666,-1.949936503986908e-5,1.1211879486748627e-8,0.0037407843754003085,-1.9587781487259298e-5,1.1372730485053469e-8,0.00374123843967038,-1.9591286559904284e-5,1.1374739407503882e-8,0.003741664694071747,-1.951376722599113e-5,1.1225445494692067e-8,0.003742034426709988,-1.9373566096839915e-5,1.0959456056172562e-8,0.0037423268826330203,-1.9203348136011737e-5,1.0638143074060602e-8,0.0037425355319994974,-1.9047512251718933e-5,1.0344682395521544e-8,0.003742674153842459,-1.8955552707843683e-5,1.0171510875620036e-8,0.003742780075672932,-1.897020365172007e-5,1.0198117014107015e-8,0.003742910352084255,-1.91115247419747e-5,1.0461391980825988e-8,0.003743127236642866,-1.936274082819314e-5,1.0929372494595087e-8,0.0037434748877366456,-1.966787992300605e-5,1.1497025901544866e-8,0.0037439582292228346,-1.994830716850865e-5,1.2017239417133448e-8,0.0037445380916303205,-2.0132874757777342e-5,1.235715857869903e-8,0.003745147304945264,-2.018475709919423e-5,1.24483095139559e-8,0.003745717536123864,-2.0110039024257403e-5,1.2302602979977455e-8,0.0037462009957385913,-1.994718213155144e-5,1.1992528512288664e-8,0.003746578533952196,-1.9748112336383324e-5,1.1615631205305184e-8,0.0037468562058775336,-1.9561943110626034e-5,1.1263957057301948e-8,0.0037470568320752493,-1.942580720910747e-5,1.1006894832462288e-8,0.003747211591296955,-1.936188801722068e-5,1.0885690830408487e-8,0.0037473537091404366,-1.937798694893093e-5,1.0914592901045096e-8,0.00374751426169476,-1.9469411529319156e-5,1.1084443738119213e-8,0.003747719306811906,-1.9621107982094123e-5,1.1366715498674678e-8,0.003747987653823677,-1.98098865025236e-5,1.171772196127629e-8,0.0037483289877986337,-2.00069900657524e-5,1.2083476553019989e-8,0.0037487424409848157,-2.018133651430223e-5,1.2405790481457967e-8,0.003749216049729212,-2.0303576953806943e-5,1.262985740223278e-8,0.0037497276616432853,-2.0350656359240593e-5,1.2712744009555985e-8,0.0037502476097356495,-2.0310161881186038e-5,1.263147987969798e-8,0.0037507430698388022,-2.01836052339569e-5,1.238917732256602e-8,0.003751183640813286,-1.9987806416820744e-5,1.201762072309364e-8,0.003751547358372743,-1.975377558398845e-5,1.1575159589463945e-8,0.0037518262278624856,-1.9522888966651756e-5,1.1139487350292194e-8,0.003752030366449994,-1.9340357022812065e-5,1.0795307888503861e-8,0.003752189575101569,-1.9246075080711368e-5,1.0617115929008991e-8,0.00375235065514588,-1.926362082860626e-5,1.0648597353873207e-8,0.00375256874733072,-1.9389760757096198e-5,1.0883103913087454e-8,0.0037528923589819,-1.95889336244771e-5,1.1253515334163685e-8,0.003753345377221318,-1.9798233653190108e-5,1.1641722277737352e-8,0.003753914085684261,-1.9945444226348306e-5,1.1912441558529761e-8,0.0037545482183929373,-1.997468342657704e-5,1.1961217063101045e-8,0.003755178268860511,-1.9866841003214947e-5,1.1752664664935419e-8,0.003755740498054235,-1.9643572837075e-5,1.132790926630942e-8,0.003756196287862252,-1.9354386897528227e-5,1.078027677361611e-8,0.0037565380292510645,-1.9056473937833167e-5,1.02173374524946e-8,0.003756783287516352,-1.879808625982981e-5,9.729641408606765e-9,0.003756964059188642,-1.8610299848009276e-5,9.375278483928095e-9,0.0037571168822495586,-1.850601029274588e-5,9.178087064121487e-9,0.0037572761536310796,-1.8482743679660896e-5,9.133032553034088e-9,0.003757470458105261,-1.8526444575679007e-5,9.213386299761704e-9,0.003757720726876309,-1.8614862202039136e-5,9.377117285257808e-9,0.0037580391353763576,-1.8720347719301517e-5,9.572164083264661e-9,0.0037584281701537876,-1.88124868526117e-5,9.741392613497707e-9,0.003758879845331222,-1.886115999095588e-5,9.828343171502811e-9,0.003759375547369298,-1.884045521805883e-5,9.784556157303305e-9,0.0037598873171901443,-1.8733336140393533e-5,9.578297218737537e-9,0.0037603812993048536,-1.8536245409891986e-5,9.20316322759362e-9,0.003760823522734917,-1.826223272290799e-5,8.683933253519903e-9,0.0037611872682305502,-1.794102306496649e-5,8.07668074991078e-9,0.003761460322951104,-1.761495849043393e-5,7.461118830695648e-9,0.003761649939215854,-1.7330967802997768e-5,6.925453527388214e-9,0.003761783669047966,-1.7130080930370736e-5,6.546618226195867e-9,0.0037619052215471355,-1.7036850169632218e-5,6.370380696093653e-9,0.0037620655927134623,-1.7051287457088965e-5,6.396265383341771e-9,0.0037623107889809214,-1.7145824206739997e-5,6.571987750426438e-9,0.0037626686506996173,-1.7269316797664524e-5,6.8011328521040325e-9,0.0037631385620556235,-1.7358826009662052e-5,6.965369983083214e-9,0.003763688525936491,-1.735727517214488e-5,6.957620478797519e-9,0.0037642627046168722,-1.7231514285195872e-5,6.7159383377332736e-9,0.003764798192409383,-1.6983144070799588e-5,6.243784790204022e-9,0.003765244475384821,-1.6646684177942917e-5,5.606514320308481e-9,0.003765577041731878,-1.6276113749033035e-5,4.905976489211403e-9,0.0037658001496303955,-1.5926872483978327e-5,4.246574565661419e-9,0.003765940043113608,-1.5641428521669665e-5,3.7080826046676444e-9,0.0037660339883212393,-1.5442580188857785e-5,3.3330932819261697e-9,0.0037661202972565054,-1.533378212849883e-5,3.1277370664346276e-9,0.0037662317987403426,-1.530331931720143e-5,3.0696368494463564e-9,0.00376639269783391,-1.5329353706236113e-5,3.117459743615627e-9,0.0037666175999535394,-1.5384239766858776e-5,3.2190461479142756e-9,0.003766911424015544,-1.5437798596845338e-5,3.3175546155956647e-9,0.0037672694199051165,-1.5460010735471215e-5,3.3565118674225895e-9,0.003767677144880793,-1.5423844881946676e-5,3.285127707090549e-9,0.0037681108405431198,-1.5308808573030386e-5,3.0649759961602738e-9,0.00376853909328297,-1.5105335091860154e-5,2.678249819012819e-9,0.0037689267978603287,-1.4819271966290807e-5,2.1362017496681052e-9,0.0037692419464796334,-1.4474679157593949e-5,1.4843891964449467e-9,0.003769464408607395,-1.4112525842013234e-5,8.001758661740843e-10,0.0037695940570376656,-1.3783562552421724e-5,1.7924187200268179e-10,0.003769654513644912,-1.3535943066435279e-5,-2.877953882684514e-10,0.003769689655352273,-1.3401132828683478e-5,-5.419454827697908e-10,0.0037697528877103145,-1.3383352936094304e-5,-5.756719343471206e-10,0.0037698924838657317,-1.3456848768446041e-5,-4.379133873754168e-10,0.0037701379529232566,-1.3572133855236433e-5,-2.2219011005250034e-10,0.0037704917152187136,-1.36690613658659e-5,-4.190341608565942e-11,0.003770928286669406,-1.3692704936665648e-5,-4.184426881656405e-13,0.003771400984222682,-1.360764722503169e-5,-1.6419689144365008e-10,0.0037718542846100875,-1.3406801484918508e-5,-5.462400593197952e-10,0.0037722383742051645,-1.3112239502991186e-5,-1.1045888736203505e-9,0.0037725215280944423,-1.2767820548965187e-5,-1.756277314541145e-9,0.003772696517123917,-1.2426225277517897e-5,-2.4018373226817705e-9,0.003772779492258509,-1.2135018031827889e-5,-2.9516198186066968e-9,0.0037728027992608884,-1.1926333275018554e-5,-3.345233937647147e-9,0.003772805248437262,-1.1812618336310583e-5,-3.559509949169215e-9,0.0037728234022769208,-1.1787985186950563e-5,-3.605855082757096e-9,0.003772885871274732,-1.1832888997680663e-5,-3.5213519611769673e-9,0.0037730107830056705,-1.1919671821302818e-5,-3.3582733409701644e-9,0.0037732054834411486,-1.201738319949041e-5,-3.1750111515168823e-9,0.0037734672788120238,-1.2095393134790393e-5,-3.029308059715573e-9,0.0037737843623683997,-1.2126141515841897e-5,-2.9731078275435696e-9,0.0037741366633792803,-1.2087713479066177e-5,-3.0477005332985616e-9,0.0037744969434948855,-1.1966854684521575e-5,-3.2780044851181107e-9,0.0037748329505799573,-1.1762652811277419e-5,-3.665584516120736e-9,0.0037751117090649177,-1.1490296257088035e-5,-4.1815534879312055e-9,0.003775306671071242,-1.1183066734645489e-5,-4.762857357367671e-9,0.0037754069823609203,-1.0889694911885241e-5,-5.3173572358538974e-9,0.0037754256798606545,-1.0664706834353456e-5,-5.742147928915882e-9,0.003775401726689244,-1.0552455653838138e-5,-5.953742048116789e-9,0.003775391866454253,-1.0570337492320954e-5,-5.9196954740658214E-09,0.0037754533346908404,-1.069965404964022e-5,-5.6757115830877735e-9,0.0037756245234761812,-1.0889973474384802e-5,-5.3172574611983255e-9,0.0037759125769722722,-1.1075505491388981e-5,-4.9685789284492975e-9,0.0037762927653174714,-1.119569145297422e-5,-4.743856103245313e-9,0.0037767180710236953,-1.1211551456236634e-5,-4.716422581730153e-9,0.0037771336262513635,-1.1113289439129748e-5,-4.904484620551893e-9,0.0037774906920141566,-1.0919093669290008e-5,-5.273435637376515e-9,0.0037777568305629415,-1.0667562119560446e-5,-5.750186818487831e-9,0.0037779208867569462,-1.0406866195721732e-5,-6.243650787702565e-9,0.003777992767016646,-1.018352746019933e-5,-6.665958168127169e-9,0.0037779989182269913,-1.0033140590648544e-5,-6.949989656900959e-9,0.0037779751011073896,-9.97469904417571e-6,-7.060078675057539e-9,0.0037779584786724603,-1.0009194292538516e-5,-6.994608417451776e-9,0.0037779809048557934,-1.0121958368840203e-5,-6.781516708789922e-9,0.0037780645720082466,-1.0287344353781977e-5,-6.469394097223917e-9,0.003778220234630747,-1.047413085648688e-5,-6.1172540917545026e-9,0.003778447456985994,-1.0650388607779883e-5,-5.785368244403539e-9,0.003778735979536752,-1.078723859059365e-5,-5.528224279977244e-9,0.0037790674522738318,-1.086163687447547e-5,-5.3893085312301e-9,0.0037794172242492487,-1.0858682366088469e-5,-5.396741791551607e-9,0.003779756331525049,-1.0773944571270184e-5,-5.55883105247937e-9,0.0037800542820276006,-1.0616049404699768e-5,-5.859127603922072e-9,0.0037802835715694304,-1.0409041615552987e-5,-6.251958361016585e-9,0.0037804265587483227,-1.019284428731572e-5,-6.661632999833887e-9,0.0037804839392265306,-1.0019107510829138e-5,-6.990419724209726e-9,0.003780481632655872,-9.940027335123063e-6,-7.139785874260027e-9,0.003780470551458204,-9.990760852975178e-6,-7.043636122099973e-9,0.0037805145003715693,-1.0171924492472818e-5,-6.701260118724001e-9,0.0037806679024364473,-1.0443026877787217e-5,-6.189548974586507e-9,0.003780953749669685,-1.0734040814978671e-5,-5.640990002948598e-9,0.003781354446672115,-1.0970848138577473e-5,-5.195569712053512e-9,0.0037818202123343133,-1.1100878236964057e-5,-4.952398320323635e-9,0.0037822885451625726,-1.1106690075405191e-5,-4.9441331682067115e-9,0.0037827037918562686,-1.1004732221553931e-5,-5.139393429677356e-9,0.003783029580921028,-1.083450210581651e-5,-5.463297256101165e-9,0.0037832528926456414,-1.0645014240624529e-5,-5.8230619263333884E-09,0.003783382008619057,-1.0483107839539345e-5,-6.130107278142606e-9,0.0037834411521074293,-1.0385293670330903e-5,-6.315462602182711e-9,0.003783463866855065,-1.0373167422302901e-5,-6.338434431871988e-9,0.003783486346677699,-1.0451924135314523e-5,-6.1894075059543604e-9,0.0037835415059761126,-1.0611498941792025e-5,-5.887657773983901e-9,0.0037836543994592214,-1.0829747870240204e-5,-5.475280541301254e-9,0.0037838393893894684,-1.1076912436351042e-5,-5.00868499477498e-9,0.0037840991940355684,-1.1320547095963303e-5,-4.549244861849569e-9,0.0037844256115939245,-1.1530111692398709e-5,-4.154636535393267e-9,0.003784801380528869,-1.168067724546158e-5,-3.871892905681978e-9,0.0037852026131201958,-1.1755664641185652e-5,-3.732277813199833e-9,0.0037856015155439153,-1.1748839795853997e-5,-3.747515652641209e-9,0.003785969367532291,-1.166580442859177e-5,-3.906921033511718e-9,0.00378628001510182,-1.1525110745466617e-5,-4.175235589964458e-9,0.003786514449205436,-1.1358637205725354e-5,-4.491921267897067e-9,0.0037866667919770496,-1.1209875032777431e-5,-4.774493370527981e-9,0.0037867507548969247,-1.1128029735137191e-5,-4.929817589830909e-9,0.0037868036489551913,-1.1156279232741838e-5,-4.8764159931144795e-9,0.0037868831215570773,-1.1315159538627571e-5,-4.575860551166065e-9,0.0037870524179700496,-1.1587432273622035e-5,-4.061235434398263e-9,0.0037873563096598654,-1.1915434657407038e-5,-3.441960618087722e-9,0.0037877994416602927,-1.2218268853877623e-5,-2.871179678081107e-9,0.00378834159065941,-1.2422814649923206e-5,-2.4871089224278254e-9,0.0037889140278449785,-1.249102829822317e-5,-2.361451809750297e-9,0.0037894464319104034,-1.2428832387716597e-5,-2.4826372919214795e-9,0.003789888854569995,-1.2276000741283246e-5,-2.775033513542293e-9,0.003790220598166225,-1.2087372015433666e-5,-3.13458685349092e-9,0.003790447689810322,-1.1915907774812648e-5,-3.4609407828149515e-9,0.0037905948035725874,-1.1802236082212254e-5,-3.6772233896817644e-9,0.003790696401172688,-1.1770385986698964e-5,-3.73808626895047e-9,0.003790789335206898,-1.1827575732369238e-5,-3.6300747743801807e-9,0.003790907337032187,-1.1966138926110403e-5,-3.3679632150517645e-9,0.0037910770946163676,-1.2166553303929558e-5,-2.9889909055131355e-9,0.0037913156361942314,-1.2401135693384962e-5,-2.545809144827838e-9,0.0037916289168516333,-1.263815898674036e-5,-2.0986190900712304e-9,0.0037920116463947694,-1.2846175399722612e-5,-1.7069510131467538e-9,0.0037924484233062025,-1.299819527970367e-5,-1.4217770124520617e-9,0.0037929160329965078,-1.3075228465631499e-5,-1.2788768709480869e-9,0.0037933865555892653,-1.3068858631174979e-5,-1.294030013439374e-9,0.0037938309814365434,-1.2982776331081918e-5,-1.4601266957738199e-9,0.0037942231481280977,-1.283322743822306e-5,-1.7462770627408988e-9,0.003794543866539171,-1.2648304256008901e-5,-2.0991058430070644e-9,0.003794785242433129,-1.2465858940810928e-5,-2.4467144889246194e-9,0.0037949550625008244,-1.232927438422763e-5,-2.7067816859225326e-9,0.003795080187817642,-1.2279927284374798e-5,-2.8009626097236014e-9,0.0037952065161867134,-1.2345871523227187e-5,-2.6763892980301933e-9,0.0037953921373555235,-1.2528542983790664e-5,-2.3307936469979733e-9,0.0037956913857025054,-1.2793157015980988e-5,-1.8305356927816436e-9,0.003796132776286854,-1.3071563213552118e-5,-1.3050406169510527e-9,0.0037967017325761278,-1.328280143626571e-5,-9.077926254452141e-10,0.0037973411548898497,-1.3364516232244082e-5,-7.568234874396928e-10,0.0037979727650269374,-1.3297561018064426e-5,-8.881042448926196e-10,0.003798527090663047,-1.3109356495992466e-5,-1.2492122368724608e-9,0.003798964917021712,-1.28570520619648e-5,-1.7313517826797332e-9,0.0037992820034057637,-1.2603783737617608e-5,-2.2145093402545987e-9,0.003799500926082306,-1.240063635168012e-5,-2.6017407417391375e-9,0.0037996585584883936,-1.2278587025970907e-5,-2.8344302677579545e-9,0.0037997952173949366,-1.2248205620853774e-5,-2.892780987975255e-9,0.0037999474748775944,-1.2303191954665917e-5,-2.789037696090718e-9,0.003800144171209063,-1.2424890429828608e-5,-2.5588855394347242e-9,0.0038004044225855666,-1.2586549203308632e-5,-2.2533402981175947e-9,0.003800736709459013,-1.2757180681021012e-5,-1.9313801867040904e-9,0.0038011386726849684,-1.2905234943333781e-5,-1.6529274004774604e-9,0.0038015976307220777,-1.300228941643676e-5,-1.4718298071475957e-9,0.0038020920655212837,-1.3026745702081325e-5,-1.4288825387251392e-9,0.0038025942999659027,-1.2967137471847075e-5,-1.5456250913598982e-9,0.0038030742779153713,-1.2824453504739554e-5,-1.8199956009474816e-9,0.0038035040835843223,-1.2613005619355985e-5,-2.224696148359336e-9,0.003803862725819495,-1.2359515273662385e-5,-2.7088896073266286e-9,0.0038041406058219682,-1.210021971862752e-5,-3.203654961905564e-9,0.003804343039903815,-1.187601536262798e-5,-3.6312222314006306e-9,0.0038044921992625045,-1.172572264151848e-5,-3.9178384073525195e-9,0.00380462650870891,-1.1677577510893996e-5,-4.010014190249887e-9,0.0038047960105914956,-1.1739750231113836e-5,-3.892553967922982e-9,0.0038050522524015824,-1.1892359741202971e-5,-3.603641811340095e-9,0.0038054328722651374,-1.2085474055587181e-5,-3.238495369877979e-9,0.003805944893983198,-1.224821847258572e-5,-2.931950879082715e-9,0.003806555314129275,-1.2310374852742212e-5,-2.8173999266934114e-9,0.003807197680863527,-1.2229146407934576e-5,-2.9759540232212596e-9,0.0038077950074467274,-1.2006673466743497e-5,-3.4031768325958983e-9,0.003808287639007238,-1.1687444632760447e-5,-4.014049779331443e-9,0.003808650970431554,-1.1338022030420527e-5,-4.681632012604156e-9,0.003808896131037573,-1.1022265614456972e-5,-5.284306129734353e-9,0.0038090582406506883,-1.0784417102233183e-5,-5.738002868905132e-9,0.0038091815513970188,-1.0643809594594406e-5,-6.006202185145872e-9,0.003809307974440942,-1.0597903969188504e-5,-6.094047127429888e-9,0.0038094707196667066,-1.062865600428072e-5,-6.036147477861492e-9,0.0038096919065528753,-1.070881560223071e-5,-5.8845641294033734e-9,0.003809982306819115,-1.0806887438420577e-5,-5.699365884995947e-9,0.003810341878982876,-1.0890883083801036e-5,-5.541482188826337e-9,0.003810760558410313,-1.0931470433055232e-5,-5.466698369518253e-9,0.003811219360612792,-1.0905036479831683e-5,-5.5198308461602985e-9,0.003811692191355198,-1.0796853778255012e-5,-5.728734249431048e-9,0.0038121488378866334,-1.0604042188757008e-5,-6.098714331775193e-9,0.0038125593293713445,-1.0337543772812268e-5,-6.608803289335694e-9,0.003812899313522184,-1.0022178567600895e-5,-7.211652084835195e-9,0.003813155569947561,-9.694053505107579e-6,-7.838435889364233e-9,0.003813330410478557,-9.395101236701062e-6,-8.409236512806301e-9,0.0038134436413059824,-9.165292526420089e-6,-8.847896464769259e-9,0.0038135310890633975,-9.033789295919845e-6,-9.098924795496566e-9,0.0038136392405932478,-9.010703935907942e-6,-9.143237881021444e-9,0.0038138161247166904,-9.081404582108e-6,-9.008993457535895e-9,0.003814099382214336,-9.205645720023213e-6,-8.773169562587337e-9,0.0038145038512597245,-9.323767143029389e-6,-8.549656250554983e-9,0.003815012795942145,-9.370894020933878e-6,-8.462137200027408e-9,0.0038155779477628124,-9.29673571143693E-06,-8.606350895718982e-9,0.0038161315938342274,-9.08397255339519e-6,-9.015063906599803e-9,0.0038166080185463146,-8.755923206484596e-6,-9.64348405426532e-9,0.003816965037754244,-8.368207760136484e-6,-1.0385219024877421e-8,0.003817195248806939,-7.988222530295059e-6,-1.1111520776134655e-8,0.0038173229340541176,-7.673167559394442e-6,-1.1713278449963451e-8,0.0038173910001939285,-7.456361956860252e-6,-1.212711923818663e-8,0.0038174460930694254,-7.344703089557365e-6,-1.234016488954878e-8,0.0038175278039535875,-7.323953104584782e-6,-1.2379836417372083e-8,0.00381766349450458,-7.3667834734719346E-06,-1.2298441630227018e-8,0.003817867345920316,-7.44006181186134e-6,-1.2159268639340678e-8,0.003818141527292887,-7.510114938000029e-6,-1.2026573341010378e-8,0.003818477933177015,-7.546220680736763e-6,-1.1958946292781465e-8,0.003818859819405176,-7.523169308927341e-6,-1.2004439996582582e-8,0.0038192634063506886,-7.4236603910782554e-6,-1.2196000644852678e-8,0.0038196599709800997,-7.2408663983656445e-6,-1.254657877456703e-8,0.003820019070571289,-6.980898470168708e-6,-1.3044426574530458e-8,0.0038203132898458427,-6.664287919255013e-6,-1.3650268900585339e-8,0.0038205242460868597,-6.325154432293589e-6,-1.4298887743684189e-8,0.0038206486164603457,-6.006817141678243e-6,-1.4907506500728048e-8,0.0038207020750147184,-5.75354803338733e-6,-1.5391558345619086e-8,0.0038207189146382747,-5.599839594091006e-6,-1.568521212544733e-8,0.0038207461938191602,-5.560151445206347e-6,-1.5760970711142652e-8,0.00382083315281559,-5.622636517693993e-6,-1.5641635859755003e-8,0.003821018492077559,-5.749455228146534e-6,-1.5399662200224305e-8,0.0038213190875863523,-5.884391306755396e-6,-1.5142562499287096e-8,0.0038217235693960125,-5.966361142703782e-6,-1.4987076158289204e-8,0.0038221931563597426,-5.9456270845393625e-6,-1.502819170366169e-8,0.0038226704818977797,-5.798272337779563e-6,-1.531149257821805e-8,0.0038230947974088572,-5.5340664292121286e-6,-1.581812655956149e-8,0.0038234191450172406,-5.194116998158923e-6,-1.6469310260958883e-8,0.003823623312951976,-4.838285790666961e-6,-1.7150435861376128e-8,0.0038237175482825378,-4.526986941152714e-6,-1.7745939341755873e-8,0.0038237362016777052,-4.3046651521168036e-6,-1.8170927741837015e-8,0.003823725137708133,-4.1908453164058315e-6,-1.8388262055022257e-8,0.003823728754133948,-4.180212251173304e-6,-1.8408322336149633e-8,0.0038237809830387044,-4.2490079943162265e-6,-1.8276693046141356e-8,0.0038239015028385787,-4.363551982793333e-6,-1.8057833412152605e-8,0.003824095946593768,-4.487740674388706e-6,-1.7820751134813358e-8,0.003824358126063857,-4.588281903972761e-6,-1.7629039709488436e-8,0.0038246727136478013,-4.637862217435199e-6,-1.753487003336477e-8,0.003825017627068585,-4.61711276381841e-6,-1.7575256806811815e-8,0.003825366118825118,-4.516259894351772e-6,-1.7768895996776932e-8,0.0038256891088083935,-4.336919177129825e-6,-1.8112701958105336e-8,0.0038259584950023394,-4.093846046758095e-6,-1.8578421203903003e-8,0.00382615197722384,-3.815735474025295e-6,-1.9111084395452904e-8,0.0038262592364493595,-3.543489200549398e-6,-1.963234108463913e-8,0.0038262880282502877,-3.3242349858685718e-6,-2.005195595532296e-8,0.0038262672917729517,-3.200584377536259e-6,-2.0288421016364784e-8,0.0038262439982333636,-3.197318624244381e-6,-2.029444817156697e-8,0.003826272400189211,-3.3105522427901474e-6,-2.0077656752741834e-8,0.0038263982363601133,-3.505059768382942e-6,-1.9705603558615896e-8,0.003826643866615569,-3.7224637285441357e-6,-1.929005491723827e-8,0.003827000550067141,-3.897808129259171e-6,-1.8955276671465806e-8,0.0038274307773840765,-3.9781801362031975e-6,-1.8802446818552187e-8,0.0038278791501668245,-3.936838386802747e-6,-1.8882656721060616e-8,0.003828287511464482,-3.7789936758587133e-6,-1.91858484343628e-8,0.003828609599833306,-3.538639788532877e-6,-1.9646859993872794e-8,0.0038288214789188135,-3.2682591437941436e-6,-2.01651251887211e-8,0.0038289254924217973,-3.0247269062595245e-6,-2.0631684713590868e-8,0.0038289472814131997,-2.855414110560565e-6,-2.0955834728401942e-8,0.0038289273259179074,-2.788188187669053e-6,-2.108429624581785e-8,0.0038289100096469695,-2.827593307999e-6,-2.100851341943847e-8,0.0038289336504991763,-2.957270847791984e-6,-2.0759969177050435e-8,0.0038290239989857604,-3.1466075062872564e-6,-2.0397397678011425e-8,0.0038291919363631554,-3.358735621529485e-6,-1.9991428033826533e-8,0.0038294345412146105,-3.5575484015966483e-6,-1.9611153660184545e-8,0.0038297379974115684,-3.7126062375014595e-6,-1.931477643950267e-8,0.0038300809546290265,-3.8019422327944494e-6,-1.9144289526878937e-8,0.003830437556664625,-3.813471476213471e-6,-1.9122815383613343e-8,0.0038307800423785735,-3.7458453013279217e-6,-1.925296167705247e-8,0.0038310813355700818,-3.6092600087004904e-6,-1.951522260747604e-8,0.003831318289772106,-3.4261620143933223e-6,-1.9866570427390518e-8,0.0038314761727888578,-3.2310651372663914e-6,-2.024078705408704e-8,0.003831554328173983,-3.067891478985199e-6,-2.0553606536838275e-8,0.00383157155253598,-2.9829338185445362e-6,-2.071629056719002e-8,0.0038315679388297268,-3.0127134004410304e-6,-2.0658964500687748e-8,0.0038315991481782685,-3.1692879484097765e-6,-2.0358751628086406e-8,0.0038317214021556132,-3.429727904878386e-6,-1.9859827008455862e-8,0.0038319713636641617,-3.7377031114383478e-6,-1.9270251199510938e-8,0.003832350581616624,-4.0199454376947184e-6,-1.8730381252591345e-8,0.003832823444733821,-4.211063811726861e-6,-1.8365375552540856e-8,0.0038333298168283644,-4.2746105018214276e-6,-1.82449115700899e-8,0.0038338051698647065,-4.211439514210527e-6,-1.8367216874901712e-8,0.003834198761806769,-4.0546278942909735e-6,-1.8668806860764246e-8,0.003834484151940069,-3.856273197654131e-6,-1.9049773936193798e-8,0.0038346613147808603,-3.6724518049993973e-6,-1.940260611015573e-8,0.0038347524550533677,-3.550605899014387e-6,-1.9636361789940677e-8,0.0038347942577808274,-3.52127028068912e-6,-1.969253972068335e-8,0.0038348288874075678,-3.5944825007219915e-6,-1.9551978029488838e-8,0.0038348954913967792,-3.7604912766397788e-6,-1.9233502467926943e-8,0.0038350235792819626,-3.9939514459539405e-6,-1.8785861778853742e-8,0.0038352291926199416,-4.260277158951203e-6,-1.8275496622939114e-8,0.003835514073341714,-4.522523088560736e-6,-1.7773291753942183e-8,0.0038358673369616493,-4.7473979554075516E-06,-1.7343025332758908e-8,0.0038362687210526454,-4.9095732722181525e-6,-1.7033139263666595e-8,0.00383669236799276,-4.99408908331157e-6,-1.6872194841765404e-8,0.003837110381916312,-4.997253315309627e-6,-1.6867206012024054e-8,0.0038374959397268127,-4.926686817006647e-6,-1.7003556999435392e-8,0.003837826168240292,-4.800973729438346e-6,-1.724561889505605e-8,0.0038380852198412027,-4.64897087800454e-6,-1.7538006826362915e-8,0.0038382680055769084,-4.508244405378731e-6,-1.780856000998818e-8,0.0038383845372422826,-4.4213473667315845e-6,-1.7975542156029803e-8,0.0038384635487548452,-4.428331072852901e-6,-1.7962111992879813e-8,0.003838552412999034,-4.554891468079644e-6,-1.7719129920892407e-8,0.003838709449637709,-4.79857611780019e-6,-1.7251579776228027e-8,0.003838986727658379,-5.120008018211622e-6,-1.6635275122453434e-8,0.0038394080255532118,-5.448208410521412e-6,-1.6006525398447498e-8,0.0038399539523913803,-5.703228860578149e-6,-1.5518689679738132e-8,0.003840565607656355,-5.826728491288216e-6,-1.5283563189269852e-8,0.0038411666084649057,-5.803303992373885e-6,-1.5330502316579828e-8,0.003841690669226006,-5.6615015185918996e-6,-1.5604511736937722e-8,0.0038421002535852433,-5.457713918832178e-6,-1.5997183329700725e-8,0.0038423907809453407,-5.254822630049416e-6,-1.6387728287251544e-8,0.003842584084612968,-5.1054363205735894e-6,-1.6675159725889587e-8,0.0038427176193724898,-5.043044755021766e-6,-1.6795248365588627e-8,0.003842834018332966,-5.07989312250766e-6,-1.6724578044920652e-8,0.003842972942410085,-5.209054269116863e-6,-1.6476567824802356e-8,0.0038431654789848045,-5.4086399567047076e-6,-1.60933997922233e-8,0.00384343077449617,-5.647036470412883e-6,-1.563595510392797e-8,0.00384377466746861,-5.888566057774086e-6,-1.5172890552403953e-8,0.003844190175581018,-6.098988812967744e-6,-1.477000694122479e-8,0.0038446595948861905,-6.250255466342545e-6,-1.4481091439427506e-8,0.003845157818995818,-6.324023724179862e-6,-1.4341201409106802e-8,0.0038456562996112983,-6.313615647304992e-6,-1.4362989566193652e-8,0.003846127011783707,-6.224437602563978e-6,-1.4535971378501742e-8,0.003846546039512686,-6.073206328661482e-6,-1.4828020425045514e-8,0.0038468967151338742,-5.886318244836747e-6,-1.518844046641186e-8,0.0038471724104394123,-5.6974965543184785e-6,-1.5552409101517088e-8,0.0038473791476006172,-5.544524492413738e-6,-1.5847232591313744e-8,0.0038475379016441485,-5.464345014145458e-6,-1.6001824499551356e-8,0.0038476855030219305,-5.485613097100651e-6,-1.596112434254084e-8,0.003847871879727775,-5.6186931393504005e-6,-1.5705383768277254e-8,0.0038481508803807564,-5.845389848453475e-6,-1.526986177286528e-8,0.003848563503714657,-6.114171536753636e-6,-1.4753886498476955e-8,0.0038491178160156275,-6.348715588209728e-6,-1.4304328128888127e-8,0.0038497770085141143,-6.472740813382431e-6,-1.4067840281603289e-8,0.0038504673064347367,-6.441502007513236e-6,-1.4130328256331074e-8,0.0038511053849232322,-6.261082594443713e-6,-1.4479857491646347e-8,0.003851629844832358,-5.983091492067725e-6,-1.5016874116127136e-8,0.003852018859395578,-5.680152288202065e-6,-1.5601434430578248e-8,0.0038522882875718684,-5.418923444947771e-6,-1.6105201466218447e-8,0.0038524776393092323,-5.243503092060938e-6,-1.644339124890214e-8,0.0038526343526436983,-5.171293042120779e-6,-1.658266798991624e-8,0.0038528022610099396,-5.196803821713961e-6,-1.6533754071038998e-8,0.003853015203081441,-5.2983925912731155e-6,-1.6338444310091512e-8,0.003853294442269686,-5.444945618229092e-6,-1.6056762373860484e-8,0.0038536482567425854,-5.601504835855946e-6,-1.5756133822008962e-8,0.0038540726814287585,-5.7339517789242305e-6,-1.550233250246981e-8,0.0038545530770026947,-5.813032433141409e-6,-1.535167747524828e-8,0.003855066511348219,-5.817774971569551e-6,-1.5344433001374196e-8,0.0038555849763886965,-5.738119863076067e-6,-1.5499788248752717e-8,0.0038560793166990247,-5.576384824864866e-6,-1.5813120373490353e-8,0.0038565234608473496,-5.347216994734051e-6,-1.6256150387493468e-8,0.0038568984147355433,-5.075979025649893e-6,-1.678004601450871e-8,0.00385719557764678,-4.795731754718215e-6,-1.7321162029551486e-8,0.0038574190570229696,-4.543041028615571e-6,-1.780903983008837e-8,0.003857586762326891,-4.352859428110214e-6,-1.817625138390654e-8,0.003857730049101876,-4.252572787910336e-6,-1.8369938134093778e-8,0.0038578912513364937,-4.255213948707043e-6,-1.8364992404288677e-8,0.003858117874957074,-4.3525404651654585e-6,-1.8177456727680517e-8,0.003858452354547486,-4.510210597999658e-6,-1.7873784612501723e-8,0.003858917791777117,-4.669051428707108e-6,-1.756829129472984e-8,0.003859503672194377,-4.756979406824098e-6,-1.7400082133742694e-8,0.003860160107605068,-4.712384004790362e-6,-1.7487936966225806e-8,0.0038608091664962376,-4.510570068775836e-6,-1.7879323414882926e-8,0.003861372398538454,-4.177424357879907e-6,-1.8524047943606895e-8,0.003861800506333025,-3.7795425476321384e-6,-1.9293349565570984e-8,0.0038620880164654562,-3.396288792625095e-6,-2.0033913711143205e-8,0.003862267166860147,-3.0911799396654256e-6,-2.062317555474824e-8,0.0038623893494130436,-2.8966628210158406e-6,-2.099867596807234e-8,0.003862506563495998,-2.8140990119499413e-6,-2.115798768293966e-8,0.0038626598321244918,-2.822389550608056e-6,-2.114198102596278e-8,0.003862874873005275,-2.8882527356427605e-6,-2.1014973901108832e-8,0.003863162336153394,-2.9744902195046028e-6,-2.0848814677809523e-8,0.0038635199304515298,-3.045533830271848e-6,-2.0712205478631623e-8,0.0038639348992436243,-3.0710234770790767e-6,-2.066378398501029e-8,0.0038643864355204357,-3.028367117469868e-6,-2.0747147455070232e-8,0.00386484822728367,-2.904831494192115e-6,-2.0986801911394604e-8,0.0038652914752601592,-2.699236644680084e-6,-2.1384920240420773e-8,0.003865688624510196,-2.4228755743300013e-6,-2.191962018272638e-8,0.00386601767419727,-2.0990064949875313e-6,-2.2545976090700474e-8,0.003866266452299767,-1.760409030734062e-6,-2.3200715561079226e-8,0.0038664359843247702,-1.4449098341719433e-6,-2.3810796904036255e-8,0.0038665420780329414,-1.1892409375748905e-6,-2.4305217895457498e-8,0.003866614450261009,-1.0220808697119544e-6,-2.4628464023641513e-8,0.0038666931331427633,-9.574329517630934e-7,-2.4753373068809092e-8,0.00386682224894407,-9.894664267422647e-7,-2.469119648990868e-8,0.0038670414158975728,-1.0900193002419434e-6,-2.449647640784153e-8,0.0038673755149895308,-1.2103925169421118e-6,-2.4263553007702945e-8,0.0038678247276590877,-1.2892296045959293e-6,-2.4111252377403624e-8,0.003868358444959499,-1.267252656795297e-6,-2.4154311249935473e-8,0.0038689178723244452,-1.106609395965305e-6,-2.446591385034712e-8,0.0038694306364283385,-8.077989637281885e-7,-2.504494355576824e-8,0.0038698345342124824,-4.141703486132289e-7,-2.5807311711834674e-8,0.003870099809101716,1.7314109784301966e-9,-2.661245619101961e-8,0.0038702378083155316,3.6458720020279093e-7,-2.7314567339474627e-8,0.0038702920854368386,6.214663267685033e-7,-2.7811317375819918e-8,0.0038703190910244194,7.53858335647063e-7,-2.8067074676155508e-8,0.00387036974897286,7.748010931081934e-7,-2.8107228302703305e-8,0.0038704788581488724,7.175311052953002e-7,-2.7996153658333026e-8,0.0038706626331334653,6.232083040671878e-7,-2.781347285744613e-8,0.0038709211656908133,5.318687125353667e-7,-2.7636609917695287e-8,0.003871242513436442,4.772284502188831e-7,-2.753078648423058e-8,0.003871606525933271,4.841804967947889e-7,-2.754418615260003e-8,0.0038719879135084533,5.675785755217659e-7,-2.7705577960566147e-8,0.003872358880346966,7.314004543716178e-7,-2.8022675148351287e-8,0.0038726919022138077,9.680249185641712e-7,-2.8480732932027746e-8,0.003872963138652044,1.2579586782204766e-6,-2.9042030043767234e-8,0.00387315657601737,1.5708285211382788e-6,-2.9647789466682646e-8,0.0038732683373289547,1.86855923238929e-6,-3.0224309921934445e-8,0.0038733099271485473,2.1112153111972303e-6,-3.069424612561177e-8,0.003873308852725411,2.2650543922665764e-6,-3.0992188082449424e-8,0.0038733053736022243,2.3111642765606837e-6,-3.108140596859698e-8,0.003873345192169577,2.2521788410355123e-6,-3.0966904370240415e-8,0.0038734693367986866,2.1146262125177263e-6,-3.0700024716839653e-8,0.003873703593536369,1.9454980220390796e-6,-3.037183659191588e-8,0.0038740502205765353,1.8030645268901052e-6,-3.009534652539585e-8,0.003874484463380578,1.7433559304306285e-6,-2.997927136727451e-8,0.003874957745425761,1.805067475563303e-6,-3.009872427079351e-8,0.0038754081819814224,1.9969121911983876e-6,-3.0470633717663e-8,0.0038757768904046563,2.2921729176794824e-6,-3.104314330933098e-8,0.0038760255596562514,2.6342273406501153e-6,-3.1706344087442033e-8,0.003876148467003275,2.953007064522305e-6,-3.232426651598912e-8,0.003876173208269964,3.1867247516892045e-6,-3.2777089184574225e-8,0.0038761496228379723,3.299682974732298e-6,-3.2995681880150156e-8,0.0038761325461103228,3.2890272755367357e-6,-3.297463097922817e-8,0.003876166403606068,3.179714693762658e-6,-3.276239593634084e-8,0.003876276896591104,3.0126859225590633e-6,-3.243833774524097e-8,0.0038764701624275557,2.8325579269208208e-6,-3.208888404389721e-8,0.0038767365992111737,2.6787515873070964e-6,-3.1790385133102694e-8,0.003877056148306675,2.580816495240054e-6,-3.160009687833867e-8,0.003877403029010765,2.556826343211539e-6,-3.1553084495681475e-8,0.0038777493008821016,2.613289973686861e-6,-3.166203618942354e-8,0.0038780675614554605,2.745446505360736e-6,-3.191780672517262e-8,0.003878333476381656,2.937524412643369e-6,-3.2289889347489e-8,0.0038785287779384415,3.1632353044676755e-6,-3.2727348319001116e-8,0.0038786449743421613,3.38733667833281e-6,-3.3161835770498974e-8,0.0038786873128192818,3.569409484611795e-6,-3.351491898098499e-8,0.003878677591593657,3.6707118908738144e-6,-3.371139093728882e-8,0.003878653651155005,3.663736005572876e-6,-3.369782934114989e-8,0.003878663611183559,3.5420997935283253e-6,-3.346179770353897e-8,0.003878754731082063,3.3267106762652564e-6,-3.304380167421774e-8,0.003878959662882301,3.0642480397399228e-6,-3.2534349810315585e-8,0.0038792851193151815,2.8166766000497898e-6,-3.2053637071171815e-8,0.003879707781335941,2.644580007151263e-6,-3.171924924585675e-8,0.003880179414535661,2.590044261113597e-6,-3.161296170025512e-8,0.003880639462395093,2.664856929841553e-6,-3.175779169109812e-8,0.003881030963909623,2.847441295081661e-6,-3.211196330829822e-8,0.003881315132026455,3.088989773401876e-6,-3.258074793403881e-8,0.003881480673019954,3.3267950065992406e-6,-3.304234350010906e-8,0.0038815453906210946,3.500934082932849e-6,-3.33803219040278e-8,0.0038815497710628015,3.5694288741531944e-6,-3.3513127109619604e-8,0.003881544796778198,3.5173837589184617e-6,-3.341184114435914e-8,0.003881578212321525,3.3577257039687044e-6,-3.310159999772678e-8,0.0038816837406748395,3.1243817248589497e-6,-3.264830861127478e-8,0.0038818760151617553,2.8614164265762064e-6,-3.213752525507882e-8,0.0038821512694009203,2.612341272483004e-6,-3.165370238768937e-8,0.0038824917692874394,2.4124461107722537e-6,-3.1265314802538124e-8,0.003882871480346175,2.2849072067360234e-6,-3.1017329356398934e-8,0.0038832611824149987,2.2398928027330586e-6,-3.0929494207351274e-8,0.0038836323245214632,2.275318774487282e-6,-3.099781618751069e-8,0.0038839597921307414,2.378108423025778e-6,-3.119699030134757e-8,0.0038842242152507703,2.5254286212354412e-6,-3.148275781095068e-8,0.0038844144663355965,2.686059250390416e-6,-3.179451894543604e-8,0.0038845306688387576,2.822639547206788e-6,-3.2059675183163195e-8,0.003884587357003466,2.8959475224504465e-6,-3.220196455639171e-8,0.0038846153737523,2.8722310269464106e-6,-3.21557550736718e-8,0.003884660056959134,2.7333387608771316e-6,-3.18857668919105e-8,0.0038847732762158013,2.4869046599035173e-6,-3.1406851357082614e-8,0.0038849991252745794,2.1712642698410145e-6,-3.0793495921892944e-8,0.0038853574442500984,1.8496451423368823e-6,-3.016850650976043e-8,0.0038858330515733975,1.5925789224385644e-6,-2.9668865383990577e-8,0.003886377556622482,1.4547566015723252e-6,-2.940082528056271e-8,0.0038869241473787107,1.4569552475180457e-6,-2.9404819127186324e-8,0.0038874085176017156,1.5809669809562609e-6,-2.9645564220367717e-8,0.003887786800305342,1.7780034980890623e-6,-3.002832302171855e-8,0.0038880447159318995,1.9850173646662214e-6,-3.0430573951043864e-8,0.0038881971924163384,2.1420596256770285e-6,-3.073574438290413e-8,0.003888280961175994,2.205781072292864e-6,-3.085948449380518e-8,0.0038883435694981065,2.1568374784550173e-6,-3.076410840731744e-8,0.0038884319296096136,2.0009593416802778e-6,-3.0460718017368735e-8,0.00388858281744708,1.7646673454508626e-6,-3.000089846925649e-8,0.003888816937092785,1.487387634284406e-6,-2.9461380448588014e-8,0.003889137213009564,1.2122368285186793e-6,-2.8926083312790018e-8,0.0038895308769200843,9.77741933194379e-7,-2.8469964105098837e-8,0.0038899740437511265,8.120453633245923e-7,-2.81477220260484e-8,0.003890437171818333,7.300902557734322e-7,-2.7988343358411724e-8,0.0038908900772970704,7.333723847624609e-7,-2.7994672649499975e-8,0.0038913058202770783,8.11313345377628e-7,-2.8146131740211625e-8,0.003891663485624368,9.432958331578632e-7,-2.8402680159512044e-8,0.0038919502946732623,1.1008399990349611e-6,-2.8708996787877187e-8,0.0038921635340459903,1.2499486900889057e-6,-2.8998973546822423e-8,0.0038923125934744473,1.3541502616078596e-6,-2.9201603267134142e-8,0.0038924208408559866,1.379197734291158e-6,-2.9250157793629576e-8,0.0038925260361622285,1.3003034856014153e-6,-2.909634192665132e-8,0.0038926769630940033,1.1115916402400212e-6,-2.8728743103664676e-8,0.0038929238963934187,8.34996763450161e-7,-2.819013439953649e-8,0.003893302729372596,5.229491681716229e-7,-2.7582633768285374e-8,0.0038938176635446077,2.486270920040773e-7,-2.704868519022275e-8,0.0038944323474479204,8.290889866841129e-8,-2.6726217478885122e-8,0.0038950779585628413,6.71542862886964e-8,-2.6695708784190685e-8,0.0038956768103849595,1.9679611586948285e-7,-2.694825472718397e-8,0.003896169311776245,4.2495370109331924e-7,-2.73925766726845e-8,0.003896530677936019,6.822594553111313e-7,-2.7893606935094835e-8,0.0038967721729981984,9.007324311420936e-7,-2.8318972956552194e-8,0.003896930972109137,1.0312737312306008e-6,-2.8573056292209646e-8,0.0038970560356940956,1.0512333616440805e-6,-2.8611714898809007e-8,0.0038971954492596143,9.637576168076825e-7,-2.84410251401411e-8,0.0038973875128366286,7.922909732076531e-7,-2.8106623400673385e-8,0.003897655773663217,5.73039745366953e-7,-2.7679078820458593e-8,0.0038980074203048315,3.470975623162463e-7,-2.723855936562174e-8,0.003898434383602654,1.532557749678879e-7,-2.686076811069166e-8,0.003898916483642837,2.2273778031217942e-8,-2.6605698033749048e-8,0.003899425869944706,-2.6879705272445377e-8,-2.651026260606674e-8,0.003899931946443452,1.135752503116599e-8,-2.658517606455315e-8,0.003900405988380751,1.2952483923987927e-7,-2.6815784333920333e-8,0.0039008248607193337,3.0902597073996624e-7,-2.7165815642283763e-8,0.0039011736945926885,5.228355224148576e-7,-2.7582659172522265e-8,0.003901447733469793,7.385703341824681e-7,-2.800327930437387e-8,0.0039016535931530446,9.218576909926763e-7,-2.8360689234556944e-8,0.003901810063641041,1.0402342282423203e-6,-2.8591513682344532e-8,0.0039019482346590566,1.068114437545263e-6,-2.8645727584383664e-8,0.0039021099156309434,9.933162871447647e-7,-2.8499486010026745e-8,0.0039023425147539973,8.245733393134014e-7,-2.816985246159411e-8,0.0039026886667243655,5.973876226969504e-7,-2.7726207946250197e-8,0.0039031709184319144,3.732053312467776e-7,-2.728856993304565e-8,0.003903776436955178,2.2643689124575264e-7,-2.7002203145251322e-8,0.0039044517336320776,2.1908852626009318e-7,-2.6988107235954432e-8,0.0039051160269753435,3.7343990320735743e-7,-2.728970832405026e-8,0.0039056904602020087,6.597257455398579e-7,-2.7848816986833218e-8,0.0039061274952976715,1.008182754458275e-6,-2.8529159419230002e-8,0.003906424029832539,1.337864454440272e-6,-2.917267690733211e-8,0.0039066143239121455,1.584673185538172e-6,-2.9654276855512307e-8,0.003906751629333246,1.7160417124478927e-6,-2.991045051383723e-8,0.003906889981347287,1.7312807173328777e-6,-2.993987957694521e-8,0.003907072257425082,1.6535639424178371e-6,-2.978777180552823e-8,0.003907324953080964,1.5196860399174986e-6,-2.9525923596991393e-8,0.003907657617907691,1.3710174126904936e-6,-2.9235136326534077e-8,0.003908064791635279,1.246627938272527e-6,-2.8991808582392042e-8,0.003908529121213566,1.178355331974727e-6,-2.8858246582644022e-8,0.0039090251008069895,1.1874723538953122e-6,-2.8876064406570793e-8,0.0039095231741027164,1.2828026766380307e-6,-2.9062457134925734e-8,0.003909993971965604,1.4602429723720258e-6,-2.940930205385144e-8,0.003910412376088683,1.7037257014122688e-6,-2.9885126077279e-8,0.003910760972899444,1.9875614267849495e-6,-3.043974711070414e-8,0.003911032543742426,2.279815827653438e-6,-3.1010855542352346e-8,0.003911231493909528,2.5463069029857515e-6,-3.153173238001942e-8,0.003911374222650876,2.7549910335127733e-6,-3.193972170951845e-8,0.003911488384327841,2.880624085469085e-6,-3.218531726661661e-8,0.003911610864352182,2.909667982481857e-6,-3.224183476086153e-8,0.003911783886839922,2.84536194505679e-6,-3.211546429333361e-8,0.003912048236733935,2.7121190655270843e-6,-3.1853969077637996e-8,0.003912432956737331,2.5569177610852085e-6,-3.1549408250500364e-8,0.003912942711842446,2.4439948046497946e-6,-3.13276712957956e-8,0.003913547494005578,2.439525781374463e-6,-3.1318405148871284e-8,0.003914182801008766,2.587612510786791e-6,-3.160796365905382e-8,0.00391476670682019,2.8876813198392386e-6,-3.219515496038958e-8,0.003915229878465214,3.288612511808708e-6,-3.297977441605243e-8,0.00391554262842195,3.707168304776008e-6,-3.3798756641249064e-8,0.003915722816780819,4.061134667377567e-6,-3.449114586943816e-8,0.0039158221519932715,4.297554871760769e-6,-3.495337435976911e-8,0.003915902612886247,4.403020028690837e-6,-3.5159304982510026e-8,0.003916016771863963,4.3972762305046315e-6,-3.51476057496457e-8,0.003916198069716032,4.319425094326008e-6,-3.499472431255641e-8,0.003916459596845121,4.214738888555488e-6,-3.4789167335719515e-8,0.003916797401300606,4.125457418511884e-6,-3.46135897824814e-8,0.003917195121291198,4.085545626385126e-6,-3.453456558879286e-8,0.003917628376812855,4.118078743411213e-6,-3.459741276197698e-8,0.00391806864547818,4.234057023541767e-6,-3.4823781820516536e-8,0.0039184868549933145,4.432100524385358e-6,-3.521100643460954e-8,0.003918856894454718,4.698942282664103e-6,-3.5733089149345645e-8,0.003919159062997544,5.010909292212568e-6,-3.634366398414867e-8,0.003919383180819294,5.336673361384431e-6,-3.698142096457321e-8,0.003919530829987342,5.641296545403175e-6,-3.757799607711368e-8,0.0039196162213828035,5.891218249778886e-6,-3.8067651883344666e-8,0.0039196653747344806,6.059652716046391e-6,-3.8397777275256785E-08,0.003919713456096689,6.131770978781817e-6,-3.853905013964011e-8,0.003919800276775679,6.108967573413839e-6,-3.849390802272054e-8,0.003919964045053333,6.011521522845613e-6,-3.830191792649171e-8,0.003920233494230299,5.878730153642338e-6,-3.804014811232711e-8,0.003920618992780859,5.764983763374026e-6,-3.781547454419313e-8,0.00392110459247313,5.730010496430183e-6,-3.7745352062984805e-8,0.0039216448866342514,5.822802882578071e-6,-3.792614771435408e-8,0.00392217165582521,6.062441369382195e-6,-3.839540769990899e-8,0.003922612784897084,6.424343781374744e-6,-3.910483982583697e-8,0.003922918279510956,6.842549813656679e-6,-3.9924854655693004e-8,0.0039230801956615,7.231684285990491e-6,-4.068779460101494e-8,0.003923134148926395,7.5187772284920845e-6,-4.125047503163074e-8,0.003923141833425455,7.667435752105012e-6,-4.1541586012182924e-8,0.003923166269325025,7.683166138878378e-6,-4.1571999586433136e-8,0.003923253198934327,7.602234341381125e-6,-4.1412808153840096e-8,0.00392342418128479,7.474463541507354e-6,-4.1161593315289665e-8,0.003923678875818511,7.348774715809465e-6,-4.091417238620076e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json new file mode 100644 index 000000000..509a7d10c --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":24000,"numberOfSamples":1000,"samples":[0.003924001349468574,7.264665173102422e-6,-4.0747989552475184e-8,0.003924366586169156,7.248790607297544e-6,-4.0715438046854016e-8,0.0039247455983737215,7.31449699975775e-6,-4.084288354023843e-8,0.003925109134008881,7.462510402409807e-6,-4.1131928535769936e-8,0.003925430619334403,7.681943579661476e-6,-4.156132990390201e-8,0.003925688916221978,7.9515663056217e-6,-4.208949033990723e-8,0.003925871139610513,8.241724001493012e-6,-4.26582543580377e-8,0.003925975343160025,8.517452558510482e-6,-4.319903585164052e-8,0.003926012408625573,8.743124708146312e-6,-4.364190844664137e-8,0.0039260062351111815,8.888393011087458e-6,-4.392721436513869e-8,0.0039259914819518545,8.934553769547599e-6,-4.401802379763859e-8,0.003926008601681654,8.87995541059872e-6,-4.391078722925618e-8,0.003926096603853184,8.742886424791559e-6,-4.364111335220435e-8,0.003926284700461693,8.560700555841224e-6,-4.328218871863738e-8,0.003926584419799495,8.38460458304358e-6,-4.293463839580567e-8,0.003926983982520055,8.27018419490559e-6,-4.270791978660203e-8,0.003927446933578442,8.26450952654458e-6,-4.269489056436631e-8,0.003927917035426422,8.392007583137403e-6,-4.294388907717355e-8,0.003928330548152765,8.643213090672838e-6,-4.343648270886796e-8,0.003928634404239271,8.97202431142347e-6,-4.4082022548759444e-8,0.003928804571353034,9.306016764539644e-6,-4.473798796749362e-8,0.003928855847415065,9.568840746130847e-6,-4.525415343428905e-8,0.0039288366735898165,9.705875342600683e-6,-4.552310678124801e-8,0.003928810708523999,9.70075387287824e-6,-4.5512697637589113e-8,0.003928834802404048,9.575566014901797e-6,-4.526632710582171e-8,0.003928943827175889,9.377534807333275e-6,-4.487669985208786e-8,0.003929146690245219,9.161289638700064e-6,-4.445102369531869e-8,0.003929431010766044,8.97479258527682e-6,-4.408344678591044e-8,0.003929771249439363,8.851942834798086e-6,-4.3840594450064106e-8,0.003930136299987928,8.810775413828423e-6,-4.375803213461219e-8,0.0039304949376361325,8.854733935909684e-6,-4.3842713182813283e-8,0.003930819251349883,8.97490756364095e-6,-4.4077307493303816e-8,0.003931086911330102,9.152169769274805e-6,-4.442436000944777e-8,0.0039312831240633185,9.359120650070548e-6,-4.4830096409770687e-8,0.003931402736278697,9.562353565431697e-6,-4.522888479978551e-8,0.0039314523679986994,9.725809891954073e-6,-4.554983213541918e-8,0.003931451821677968,9.81581544058732e-6,-4.572667330703574e-8,0.0039314335373014,9.807739373223678e-6,-4.5710846370490446e-8,0.003931438847422937,9.693139686684408e-6,-4.5485541526462294e-8,0.003931510540598468,9.485126741041124e-6,-4.507628154878644e-8,0.0039316827752822045,9.21922505098598e-6,-4.455269004539336e-8,0.003931971055312627,8.947933809120098e-6,-4.401789076476449e-8,0.0039323657307728825,8.729358784614993e-6,-4.358622919525109e-8,0.003932831731699162,8.612643855888081e-6,-4.335462841531593e-8,0.003933315344617792,8.62429738570606e-6,-4.337560654570439e-8,0.003933756715300976,8.759463349484685e-6,-4.363994931455601e-8,0.003934105106059232,8.981053856326873e-6,-4.407485811762412e-8,0.003934332913929343,9.227877438043526e-6,-4.4559891225405716e-8,0.0039344440871193175,9.430525068002884e-6,-4.4958286576969273e-8,0.003934473402796723,9.530858688927084e-6,-4.5155432327327116e-8,0.003934475863914978,9.498545685117723e-6,-4.509149078422063e-8,0.003934509718222492,9.33827824991407e-6,-4.47756142603218e-8,0.003934619792227327,9.085158588882537e-6,-4.427682786107174e-8,0.003934827415641757,8.791280140237335e-6,-4.369760258181166e-8,0.00393512933343696,8.510038014808986e-6,-4.31429928445453e-8,0.0039355035636141015,8.284081649552148e-6,-4.269695029529051e-8,0.003935918018543304,8.139406686077033e-6,-4.241070000822375e-8,0.003936338353846052,8.084775818140693e-6,-4.2301584302013366e-8,0.003936733445406277,8.114176353890525e-6,-4.235787766689351e-8,0.0039370785461212525,8.210197709692123e-6,-4.254541828860122e-8,0.003937356971767464,8.347130480599071e-6,-4.281369430236631e-8,0.003937561263758311,8.493567783692922e-6,-4.310094762045791e-8,0.003937694438031615,8.615002843389891e-6,-4.333926631812809e-8,0.003937771330134241,8.67725650150846e-6,-4.346131796842194e-8,0.003937819322870859,8.651508326884634e-6,-4.3410256470381495e-8,0.003937877058427044,8.521099894445721e-6,-4.3153137231452934e-8,0.003937989463885939,8.288931327634417e-6,-4.269550841092151e-8,0.003938198228981029,7.982475866423666e-6,-4.209131265757179e-8,0.003938529202136906,7.652421272823026e-6,-4.144024574779018e-8,0.003938981172624146,7.362348631112524e-6,-4.086748201679056e-8,0.003939521858698951,7.171057158621901e-6,-4.048891544782165e-8,0.003940094615197016,7.113880374154503e-6,-4.0374365707466556e-8,0.0039406342007793785,7.190918645244552e-6,-4.052432522098116e-8,0.003941085456845227,7.366953288287352e-6,-4.086966435709471e-8,0.003941417979926735,7.582297213206803e-6,-4.1292902967637985e-8,0.003941632550878733,7.769811582108233e-6,-4.1661704613367465e-8,0.0039417586573959,7.872367731094012e-6,-4.186332403044912e-8,0.00394184498935138,7.856147459827803e-6,-4.183089280710224e-8,0.003941946090056001,7.716963831159671e-6,-4.155595404739903e-8,0.003942108844751583,7.478721284531861e-6,-4.1085488184775086e-8,0.003942362280649743,7.1851264448118275e-6,-4.0505610055412035e-8,0.003942713056297738,6.887545188092401e-6,-3.9917635489093076e-8,0.003943147094181412,6.63285056822077e-6,-3.9414089140640513e-8,0.00394363576055283,6.45458746493619e-6,-3.906122521138246e-8,0.003944143851940386,6.3689698481875325e-6,-3.889108334065558e-8,0.003944636869159611,6.375238897636767e-6,-3.89021835862169e-8,0.003945086178514301,6.458758785510235e-6,-3.906566285644976e-8,0.003945471885644119,6.595087712929455e-6,-3.9333345409787816e-8,0.003945784062145488,6.75381682031183e-6,-3.96453240801719e-8,0.0039460231949269235,6.9018086924852714e-6,-3.993631138475404e-8,0.003946200484182494,7.0061699834473986e-6,-4.0141443325436696e-8,0.003946338123548155,7.037663514739489e-6,-4.020297398706976e-8,0.003946469030517169,6.975321308310946e-6,-4.007939202239149e-8,0.0039466347171631935,6.8125615268396335e-6,-3.9757548945000605e-8,0.003946879526314831,6.563781000662389e-6,-3.926572917290399e-8,0.003947240113576192,6.26832771088985e-6,-3.8681519815076635e-8,0.00394773162032693,5.987155767768718e-6,-3.8125213666258697e-8,0.00394833606959585,5.788678511154436e-6,-3.7731893344309e-8,0.0039490010315956,5.726070108611301e-6,-3.760663760887806e-8,0.003949653254363835,5.815841448021564e-6,-3.778221021701663e-8,0.003950222933085804,6.029784395114221e-6,-3.8203094717768544e-8,0.003950666763769117,6.305251283013329e-6,-3.874572335149639e-8,0.003950978997636163,6.567633107643007e-6,-3.926282625402561e-8,0.003951187946508848,6.753390037519353e-6,-3.9628897768472654e-8,0.003951342970045106,6.82499234587586e-6,-3.9769697357740485e-8,0.00395149899125544,6.775528812781524e-6,-3.9671369919487616e-8,0.003951703461040263,6.625121099539185e-6,-3.9373432374454456e-8,0.003951987858015527,6.412572497682793e-6,-3.8952382552237284e-8,0.003952363959429004,6.185216687773946e-6,-3.8501729618800614e-8,0.003952824318389738,5.9890392604355895e-6,-3.811248119847719e-8,0.003953346084383744,5.8605580191022866e-6,-3.7857015174201214e-8,0.003953896995412957,5.821583390244034e-6,-3.777860582122305e-8,0.003954442092751837,5.877359468380301e-6,-3.7887672658214384e-8,0.003954949781935346,6.017769412892624e-6,-3.816417373000497e-8,0.003955396289717578,6.220694202785564e-6,-3.856432318594815e-8,0.003955768174884203,6.456367672750993e-6,-3.902927598979735e-8,0.003956063179994125,6.691705169501888e-6,-3.949369249275251e-8,0.003956290051901221,6.894111093467348e-6,-3.989319559509603e-8,0.003956467854520423,7.034854759428582e-6,-4.017095218887658e-8,0.0039566249669400816,7.092436622888951e-6,-4.0284290088954386e-8,0.003956797478346305,7.056481487425291e-6,-4.021245059161304e-8,0.003957025994777186,6.932388600346256e-6,-3.996590300588929e-8,0.003957349414623954,6.7458410699163445e-6,-3.959537173887109e-8,0.003957794778545756,6.544498614818847e-6,-3.9195220973930975e-8,0.003958364489074411,6.392651543668574e-6,-3.889283923884582e-8,0.003959026190955713,6.355295837039837e-6,-3.881705762450065e-8,0.003959713978117959,6.473712946892012e-6,-3.904975388942963e-8,0.003960346658841707,6.743821961530491e-6,-3.958294960032686e-8,0.003960857575990237,7.112323350996538e-6,-4.031115186969541e-8,0.0039612197932018854,7.496174919039376e-6,-4.10699402100219e-8,0.003961452306299503,7.814588012843276e-6,-4.169936348567501e-8,0.003961606574536528,8.01530911676443e-6,-4.209596468724888e-8,0.003961744529834369,8.08439052342442e-6,-4.223205431160473e-8,0.003961919898203691,8.041055608842375e-6,-4.2145503385516964e-8,0.003962167934107929,7.92540646416268e-6,-4.1915471608097986e-8,0.003962502766954194,7.785608877629877e-6,-4.1637175222764884e-8,0.003962919504652272,7.667738377555936e-6,-4.140189174962666e-8,0.00396339860412415,7.6088866362392024e-6,-4.128330394764023e-8,0.003963911081389532,7.633028280277278e-6,-4.132919427751386e-8,0.003964423927548092,7.749152914604407e-6,-4.1557593105492124e-8,0.003964905318504584,7.951432583245587e-6,-4.1957026443146924e-8,0.003965329172806784,8.221199670866641e-6,-4.249046155503989e-8,0.0039656786145144665,8.530378408627668e-6,-4.310220299700377e-8,0.003965947990889918,8.845841392371245e-6,-4.37266017606286e-8,0.003966143368775138,9.134007815143316e-6,-4.429715430491004e-8,0.003966281763390242,9.365126081644348e-6,-4.475489492347632e-8,0.003966389432433808,9.517028569907252e-6,-4.50557398961551e-8,0.0039664994413490615,9.578380169243303e-6,-4.517691762130738e-8,0.003966648478154706,9.551562333274848e-6,-4.512279719134597e-8,0.003966872442131501,9.455213790585541e-6,-4.493010285476397e-8,0.003967200009096507,9.325645135291122e-6,-4.4670856835179115e-8,0.003967643942139405,9.215087087823338e-6,-4.4448923046119814e-8,0.0039681916280942,9.183905742556441e-6,-4.438445858297688e-8,0.003968799131557344,9.284666046934797e-6,-4.4582129386551373e-8,0.003969395714603861,9.540259293398974e-6,-4.508756258136944e-8,0.0039699037202130414,9.926237027984614e-6,-4.585222439096121e-8,0.003970268552470416,1.0371684773005795e-5,-4.673521137896835e-8,0.003970482142169558,1.078412203468818e-5,-4.755282003004367e-8,0.0039705843561092195,1.10860283048514e-5,-4.815115477383973e-8,0.003970642360386332,1.1241376583518066e-5,-4.845874452293147e-8,0.003970722821708415,1.125981504453911e-5,-4.8494689966727235e-8,0.0039708723071808566,1.11829441885822e-5,-4.834134805360363e-8,0.003971110919069601,1.1065211622363857e-5,-4.810650188240576e-8,0.003971435431608885,1.0958632735931508e-5,-4.7893216781566505e-8,0.003971826265812919,1.0903990546723049e-5,-4.778250186894762e-8,0.003972254586729742,1.0927283245886881e-5,-4.782624238951511e-8,0.003972688105211575,1.1039249843146977e-5,-4.8046116883982526e-8,0.0039730955939297884,1.1236386675066273e-5,-4.843545087392066e-8,0.00397345054557075,1.1502799362280447e-5,-4.8962807876693554e-8,0.003973734208169738,1.1812792318729848e-5,-4.9577158828296015e-8,0.003973937950405579,1.2134265111817801e-5,-5.021471558067026e-8,0.003974064679006379,1.2432918992578263e-5,-5.080734411592102e-8,0.003974128944467808,1.2676973960732623e-5,-5.129190491821449e-8,0.003974155556457899,1.2841827542246017e-5,-5.1619414061577866e-8,0.0039741767870729505,1.2914097734147498e-5,-5.1763003268766806e-8,0.003974228381508199,1.2894585117898373e-5,-5.1723840310494984e-8,0.0039743446740342315,1.2799778794775203e-5,-5.1534278839920305e-8,0.003974553031218095,1.2661651645222267e-5,-5.1257656952560386e-8,0.00397486770830553,1.252526192551265e-5,-5.0983665712715536e-8,0.003975283624309093,1.244306855380536e-5,-5.081702986908633e-8,0.003975771762776541,1.2464764616558008e-5,-5.085712444532777e-8,0.003976279358595454,1.2622668128129355e-5,-5.1168686224427466e-8,0.003976738806949802,1.2915806066879637e-5,-5.174997205879499e-8,0.00397708712480231,1.3300494013523065e-5,-5.251398213335525e-8,0.003977290708495544,1.3697307875515348e-5,-5.3302462984544026e-8,0.003977362035950759,1.4017395454687275e-5,-5.393846232144907e-8,0.003977355858695399,1.4196719691249908e-5,-5.429455632185751e-8,0.003977345605575303,1.4218583669657343e-5,-5.433755885903962e-8,0.003977394646971235,1.4112859234273654e-5,-5.412679978292305e-8,0.003977538120767945,1.3937040535825622e-5,-5.377637606636613e-8,0.003977780313015663,1.3753373811437281e-5,-5.3409789340420174E-08,0.0039781024005110955,1.361276026355333e-5,-5.312812805725196e-8,0.003978473023124186,1.3547849219766439e-5,-5.299644136530384e-8,0.003978857094370713,1.3572654477401475e-5,-5.304293291262342e-8,0.00397922161367756,1.3685187261991948e-5,-5.326404503945597e-8,0.0039795391090315735,1.387078103509612e-5,-5.363091484811033e-8,0.003979789799970764,1.4105237357237993e-5,-5.4095556401576257e-8,0.0039799632178153825,1.4357845076354077e-5,-5.45968922420498e-8,0.003980059500806607,1.4594673222991368e-5,-5.506737604277994e-8,0.003980090142970023,1.4782539911570218e-5,-5.5440930753357645e-8,0.003980077642195864,1.4893710156689642e-5,-5.566226817310781e-8,0.003980053468419345,1.4910803096605801e-5,-5.56965853216742e-8,0.0039800541106269635,1.4830983623911673e-5,-5.553787293347947e-8,0.0039801154418540406,1.466838142817004e-5,-5.5213797919344863e-8,0.003980266139921954,1.4453775388946017e-5,-5.478524269653043e-8,0.003980521287767714,1.4231023369268172e-5,-5.4339391697161045e-8,0.003980877353979621,1.4050315119139707e-5,-5.397640762167942e-8,0.003981309717837675,1.395868469966156e-5,-5.3790488944141864e-8,0.003981774090037387,1.3988628469092594e-5,-5.3846999457069773e-8,0.003982213281677193,1.4146764402475845e-5,-5.415961657859051e-8,0.003982570011449755,1.4406143821260008e-5,-5.467482526558627e-8,0.003982804131697453,1.47071498764841e-5,-5.527369286809923e-8,0.003982908778352366,1.4970992193698437e-5,-5.579891732093303e-8,0.003982916824397885,1.5124448073961797e-5,-5.6104337480320424e-8,0.003982891263406429,1.5126160410236833e-5,-5.610742482232311e-8,0.00398290215454356,1.4980743595872157e-5,-5.581730514030468e-8,0.0039830019202654705,1.4733222541316497e-5,-5.532354528930037e-8,0.003983211326857249,1.4448727937037265e-5,-5.4755680309660146e-8,0.003983520104257227,1.4189885389384998e-5,-5.423828496751849e-8,0.003983897259054235,1.4001826693159665e-5,-5.386125283385029e-8,0.003984303459136277,1.3907216352427944e-5,-5.366993275012876e-8,0.003984700579759181,1.3908279420985249e-5,-5.3669095525382856e-8,0.003985057207973846,1.399170223752423e-5,-5.3832563887307894e-8,0.00398535107067196,1.4133635001783242e-5,-5.411306762933109e-8,0.003985569881970607,1.4303771905497005e-5,-5.445033306625039e-8,0.0039857117052029475,1.4468652878353123e-5,-5.4777689929636526e-8,0.003985785248092382,1.4594817843348775e-5,-5.502840613731594e-8,0.003985809897015252,1.4652472383143383e-5,-5.514301337657362e-8,0.003985814826438397,1.4619974837042523e-5,-5.5078226609295487e-8,0.0039858363205629195,1.4488750116827408e-5,-5.481669944437828e-8,0.003985912714645442,1.426742833517886e-5,-5.4375274115178266e-8,0.003986077146685968,1.3983468945714063e-5,-5.380829619913038e-8,0.003986349418788184,1.3680607655818763e-5,-5.320267121504874e-8,0.003986729243878734,1.3411429492368585e-5,-5.266321054783875e-8,0.003987193368925278,1.3226052188088213e-5,-5.229014065094215e-8,0.0039876982347206835,1.3159498917999302e-5,-5.2153854337675876E-08,0.00398818833657533,1.3221106579292605e-5,-5.227358445765773e-8,0.003988608901007278,1.338916970518754e-5,-5.260647556617648e-8,0.003988920183252699,1.3613194193081244e-5,-5.3051916801022585e-8,0.003989109646982799,1.3824650626505712e-5,-5.347299765131535e-8,0.003989197746223967,1.3954767944424933e-5,-5.373215558025435e-8,0.003989233827788415,1.3954763566654355e-5,-5.373171638754063e-8,0.003989281800794039,1.3811236850979288e-5,-5.3444699852450874e-8,0.003989400134260441,1.3549823535973889e-5,-5.292209959911019e-8,0.003989624365284392,1.3225093106393183e-5,-5.227268643727621e-8,0.003989959279866753,1.290162083662521e-5,-5.1625249279043706e-8,0.0039903824814073756,1.2635093520500604e-5,-5.109093995112096e-8,0.00399085532254792,1.2460509228031144e-5,-5.0739748289693165e-8,0.003991335096141489,1.2389290014694273e-5,-5.0594703090057124e-8,0.003991784193685639,1.2412788238110021e-5,-5.063879306432595e-8,0.0039921750376531425,1.2508400657934924e-5,-5.082710027342623e-8,0.0039924916979013365,1.264552801312763e-5,-5.109866380876292e-8,0.003992729733420645,1.2790244411010073e-5,-5.138580639540977e-8,0.003992895505481774,1.2908774182592685e-5,-5.162109554086806e-8,0.003993005539841018,1.2970483448082949e-5,-5.1743325651077926e-8,0.003993085805853583,1.2951169554634605e-5,-5.170407528089941e-8,0.0039931702182065525,1.2837098930575677e-5,-5.1475750096119304e-8,0.003993297356816803,1.2629535465925717e-5,-5.106062222453551e-8,0.003993504537036869,1.2348458326471559e-5,-5.04982889205154e-8,0.00399381928261621,1.2033164964636035e-5,-4.9866956012253766e-8,0.003994250001187529,1.1737322154317254e-5,-4.9273662215669775e-8,0.0039947794474397376,1.1517572315967707e-5,-4.883161802180583e-8,0.003995364932969854,1.1417909076784898e-5,-4.8629022529340004e-8,0.0039959471867255245,1.145512467560501e-5,-4.8699907040692296e-8,0.003996465923696541,1.1611411554188564e-5,-4.9009176717670445e-8,0.003996876828671035,1.1837637422183225e-5,-4.9458966925161574e-8,0.003997163971009506,1.2066380201857806e-5,-4.991458667779847e-8,0.003997343759283495,1.2230228260355551e-5,-5.024110820721207e-8,0.003997459714537061,1.227962356731739e-5,-5.033913205513782e-8,0.0039975700174394516,1.2195246540345806e-5,-5.016966528746188e-8,0.0039977315793668896,1.199171433994848e-5,-4.9761614483588085e-8,0.003997985303974457,1.1711837911922054e-5,-4.920037428897476e-8,0.003998346858193554,1.1413566865496914e-5,-4.8601769213070115e-8,0.0039988053495900785,1.1154143067304714e-5,-4.808037527313077e-8,0.0039993293627035445,1.0976671983429418e-5,-4.7722620398013583e-8,0.003999877225762814,1.0902767894712806e-5,-4.7571985490559816e-8,0.004000407493370264,1.0931979187466173e-5,-4.762776490445662e-8,0.00400088668699902,1.1046120607170104e-5,-4.785368769200271e-8,0.0040012933178902805,1.1215681826101956e-5,-4.8190753288722657e-8,0.004001618824597613,1.140602944436198e-5,-4.856968419517292e-8,0.004001866716617343,1.1582292382143262e-5,-4.8920729394387654e-8,0.004002051089467816,1.1712900988527266e-5,-4.9180732644461024e-8,0.004002195134543225,1.1772393926335084e-5,-4.9298705411811596e-8,0.0040023296147842545,1.1744241358596293e-5,-4.9241438831947997e-8,0.004002490702025333,1.1624164492064202e-5,-4.9000150214148706e-8,0.004002716177242634,1.1423787492992013e-5,-4.859784391910101e-8,0.0040030390227214704,1.1173356864132723e-5,-4.8094833920023865e-8,0.004003478361347815,1.0920997712239193e-5,-4.7587334303852796e-8,0.004004029802038545,1.0725563863908767e-5,-4.719320099784125e-8,0.004004659792221574,1.0641953511935584e-5,-4.7022548424382676e-8,0.004005309358395405,1.0702231547952575e-5,-4.713991105371558e-8,0.004005909305357476,1.0900742430031743e-5,-4.7534332339053704e-8,0.004006402231050277,1.1192022790909333e-5,-4.8115061170983004e-8,0.004006761493609258,1.1504328555145381e-5,-4.8738556290387605e-8,0.004006998416788491,1.1762810600434922e-5,-4.925487801263246e-8,0.0040071557972175655,1.1911802199676452e-5,-4.955234189469917e-8,0.004007292492485376,1.1928068755813912e-5,-4.9584090451901684e-8,0.004007466154921649,1.182270536529946e-5,-4.9371962164986925e-8,0.004007719484345561,1.1633960677447274e-5,-4.8992235679285965e-8,0.004008072516982853,1.1415035698476774e-5,-4.855132546462214e-8,0.004008521247009628,1.1220739757355388e-5,-4.81591306861145e-8,0.004009041556486812,1.1095986552782165e-5,-4.790595409748483e-8,0.004009596684482728,1.1068126254001404e-5,-4.784699794194256e-8,0.004010146061004549,1.1144061978931795e-5,-4.799641499742937e-8,0.0040106533603855915,1.1311869844993711e-5,-4.833044905420133e-8,0.004011092236707525,1.1545566812726804e-5,-4.8796997573800546e-8,0.004011449171177877,1.1811239466230054e-5,-4.9327987188523245e-8,0.004011723764818403,1.2072971677857698e-5,-4.985134835693644e-8,0.00401192736389657,1.2297623888833959e-5,-5.0300619813788786e-8,0.004012080963416897,1.2458294160137046e-5,-5.06218316152855e-8,0.004012212952149902,1.2536886563441079e-5,-5.077857415701251e-8,0.004012356748830488,1.2526361690877996e-5,-5.075648134300845e-8,0.004012547921684051,1.2433048238960548e-5,-5.0567928963629637e-8,0.0040128199805693305,1.2278886932150372e-5,-5.025666471468604e-8,0.004013197985529161,1.2102470950470938e-5,-4.990002190519058e-8,0.00401369000353784,1.1956510006150005e-5,-4.960388878819715e-8,0.004014278532066863,1.1898883530667995e-5,-4.948472066423443e-8,0.0040149167491389135,1.197622246061075e-5,-4.963648586630433e-8,0.004015535619726837,1.2203997061740317e-5,-5.0090569001978953e-8,0.004016064005360639,1.2553240036393509e-5,-5.0789018255737813e-8,0.0040164548830214815,1.2954750430225737e-5,-5.1592962190804215e-8,0.004016703733644348,1.3322431746732769e-5,-5.232951731508461e-8,0.004016848431434354,1.3584310465564186e-5,-5.2854110685949694e-8,0.004016951977140229,1.3704978067918915e-5,-5.309550581731473e-8,0.00401707918422125,1.3690726517722423e-5,-5.3066050186417026e-8,0.004017278464444657,1.3580022117076173e-5,-5.284257367174307e-8,0.004017573349390648,1.3427603643939568e-5,-5.253461517336548e-8,0.004017962524787026,1.3289293461804937e-5,-5.2254123260796106e-8,0.004018424992325505,1.3210932934703492e-5,-5.2093339215260626e-8,0.0040189273729024705,1.3221997414880813e-5,-5.211190437947683e-8,0.0040194315062708425,1.3333214209773679e-5,-5.2331872879317006e-8,0.004019901334926071,1.3537385768781908e-5,-5.273915282943784e-8,0.00402030839443015,1.3812681913253474e-5,-5.3290015781132485e-8,0.004020635440219238,1.4127527132908653e-5,-5.392095666905157e-8,0.004020878035146411,1.4446146519830484e-5,-5.455996088115213e-8,0.004021044226821732,1.473392798977689e-5,-5.513737746601209e-8,0.00402115275112109,1.496191131793451e-5,-5.559493860655362e-8,0.004021230393628464,1.5110074592057919e-5,-5.589227823087387e-8,0.004021308993990323,1.5169566143298608e-5,-5.601133518705951e-8,0.004021422225284333,1.5144214158221058e-5,-5.595940175161358e-8,0.0040216019835709,1.505150937068162e-5,-5.57712373201424e-8,0.004021873939755527,1.4922916833095616e-5,-5.550989215428107e-8,0.0040222517467002885,1.4802621499919506e-5,-5.5264327043482085e-8,0.004022730175355548,1.4742845077977562e-5,-5.513999395696767e-8,0.00402327924617558,1.4793651408929851e-5,-5.5238179247849234e-8,0.004023843665981839,1.498685836194858e-5,-5.562340967782772e-8,0.004024352851506316,1.5318263529964064e-5,-5.62874975195311e-8,0.004024743118745088,1.573836892528872e-5,-5.7130821512435726e-8,0.004024984194842726,1.6162535861771282e-5,-5.7982877436069443E-08,0.004025094377176705,1.6501026274800637e-5,-5.866291758713605e-8,0.004025133037057492,1.6693810177365013e-5,-5.9050065212816505e-8,0.0040251747474465615,1.6730082192383597e-5,-5.912247029379822e-8,0.004025281332087344,1.6644195416193686e-5,-5.894897656672424e-8,0.004025485746450353,1.6495866969054968e-5,-5.864930998217878e-8,0.004025790429201538,1.634835179138792e-5,-5.8350370181822665e-8,0.0040261746462862255,1.6253223052331517e-5,-5.815584387978385e-8,0.0040266044641294775,1.624327250382378e-5,-5.813200951807451e-8,0.004027041638836209,1.633135361213576e-5,-5.8305293951082345e-8,0.00402745025711566,1.6512469372403883e-5,-5.866622925242898e-8,0.00402780134494779,1.6767326438795646e-5,-5.917637987828972e-8,0.004028075926393701,1.7066612366788847e-5,-5.977686171643531e-8,0.004028266748303052,1.7375686093179322e-5,-6.039784671300595e-8,0.004028378700267617,1.7659404592882538e-5,-6.096841423803015e-8,0.004028427921096438,1.7886793273255926e-5,-6.142604364033798e-8,0.00402843964084909,1.8035151508268353e-5,-6.172486403108444e-8,0.004028445012514573,1.809312331270539e-5,-6.184175008856881e-8,0.0040284773268235005,1.8062494703952662e-5,-6.177988665082503e-8,0.004028567910222432,1.7958723498241694e-5,-6.156990468255793e-8,0.004028741861400401,1.781021131030546e-5,-6.12686094634135e-8,0.0040290136622913525,1.765619786846825e-5,-6.095496322789188e-8,0.0040293826809504,1.754280016104753e-5,-6.07222216328837e-8,0.004029829124215082,1.751619084809753e-5,-6.066410876225836e-8,0.004030312256108125,1.7612020509539247e-5,-6.085324393616324e-8,0.004030774031389632,1.7841815454699297e-5,-6.131341293797681e-8,0.00403115142107213,1.8180564860966387e-5,-6.199433879515745e-8,0.0040313974300052735,1.8563852856182064e-5,-6.27659191383855e-8,0.004031503203472192,1.8902856758312773e-5,-6.344869780801121e-8,0.004031507215610012,1.9116091643266002e-5,-6.387812802255732e-8,0.004031481930153734,1.916242569246173e-5,-6.397118926916185e-8,0.004031503768949901,1.9055383830683572e-5,-6.375504333127174e-8,0.004031624504421274,1.885153534554923e-5,-6.334344369125224e-8,0.00403185885677837,1.8623798019755862e-5,-6.288296518438462e-8,0.004032189274944319,1.8436620157024645e-5,-6.250321630029159e-8,0.004032579178971542,1.83324637336343e-5,-6.228981683190497e-8,0.004032986090714059,1.8329161981569122e-5,-6.227911243671427e-8,0.0040333708125981456,1.8423493871162983e-5,-6.246522183995398e-8,0.004033702484811329,1.8596808258675e-5,-6.281112340841897e-8,0.0040339608469825575,1.882045266602357e-5,-6.325939983367222e-8,0.004034137070431829,1.906045203237547e-5,-6.374161530130195e-8,0.004034233855241526,1.928170635220029e-5,-6.41868612531973e-8,0.004034264876079334,1.9452018078757834e-5,-6.453000617107153e-8,0.004034253391531761,1.9546047063260236e-5,-6.47197441623075e-8,0.004034229755724816,1.9548977882390267e-5,-6.472596597020264e-8,0.004034227730682795,1.9459320969577683e-5,-6.454533452522716e-8,0.004034279865723162,1.9290186380915923e-5,-6.420383235003002e-8,0.004034412486171448,1.9068594732676885e-5,-6.375547510633614e-8,0.00403464093034948,1.8832637893526655e-5,-6.327679436677401e-8,0.004034965687074627,1.8626536313167505e-5,-6.285707244922939e-8,0.004035370034247165,1.8493819644007736e-5,-6.258465123000945e-8,0.004035819874790727,1.846886648562048e-5,-6.252971679787746e-8,0.004036266904185114,1.856732169763407e-5,-6.272465029492704e-8,0.0040366565598250765,1.8777113738250836e-5,-6.31455681508602e-8,0.0040369414612311345,1.9053783781087113e-5,-6.370271942688705e-8,0.004037098344333292,1.932539834606959e-5,-6.42504851948613e-8,0.004037141902942749,1.951083270094533e-5,-6.462457097034529e-8,0.004037125865169994,1.954813798447868e-5,-6.46995458547251e-8,0.004037125861820998,1.9419995141300983e-5,-6.444028053955575e-8,0.00403721048480607,1.9160768124473176e-5,-6.391602935018678e-8,0.004037416430514758,1.88403649270376e-5,-6.326771012194285e-8,0.0040377405727112705,1.853563684839144e-5,-6.265022145619625e-8,0.004038149143064464,1.8305856043064805e-5,-6.218312567891382e-8,0.004038594479970898,1.8181596820678142e-5,-6.192833669694351e-8,0.004039029805036155,1.8165835433560526e-5,-6.189230839848963e-8,0.004039418015136255,1.8241197474729e-5,-6.204049708155263e-8,0.0040397350446880215,1.837815198734788e-5,-6.231370568667206e-8,0.004039969999138671,1.8541650006683282e-5,-6.264136381327966e-8,0.004040124041563737,1.8695860404660215e-5,-6.295108921511804e-8,0.004040209074777056,1.8807706049100226e-5,-6.317591860236914e-8,0.004040246363654397,1.88500021655281e-5,-6.32607471793734e-8,0.004040264737547788,1.8804636954320954e-5,-6.316879237455187e-8,0.004040297831687618,1.866571824947087e-5,-6.288791561688243e-8,0.004040379958326903,1.844201983765977e-5,-6.243550964565625e-8,0.004040540705219954,1.8157672301950075e-5,-6.185990253089828e-8,0.004040799030115895,1.7850119174229367e-5,-6.123634554926798e-8,0.0040411581509778,1.7564868093298403e-5,-6.065660011340943e-8,0.004041602732207329,1.734741098407994e-5,-6.021277355052825e-8,0.0040420995762303815,1.7233639004230466e-5,-5.997796689164541e-8,0.004042602323436688,1.724067110935005e-5,-5.998756494201581e-8,0.00404305992163886,1.736012884995211e-5,-6.022533875758978e-8,0.004043427966196684,1.7555910433464828e-5,-6.061865961283453e-8,0.0040436810936756275,1.7768500926616962e-5,-6.104709566844615e-8,0.004043823230883101,1.7927149455153616e-5,-6.1367140862782e-8,0.004043891164479845,1.7968977540453174e-5,-6.145110341710769e-8,0.004043947176700689,1.7860007267002482e-5,-6.122984744605595e-8,0.0040440603521150744,1.760913353792817e-5,-6.072111082777755e-8,0.004044282997667049,1.726658843338252e-5,-6.002633777071843e-8,0.004044633306112802,1.6905912165610116e-5,-5.929416783466505e-8,0.0040450925842591984,1.6598297213721576e-5,-5.866858772554347e-8,0.004045616463144047,1.6391968202125593e-5,-5.824729428445154e-8,0.004046152091763345,1.630410509649094e-5,-5.80653572847142e-8,0.004046652760383014,1.6324348036651065e-5,-5.8102214711525505e-8,0.004047085929565268,1.6424100266681775e-5,-5.830035937199191e-8,0.004047435228495953,1.6566189179488793e-5,-5.8584786032397173e-8,0.004047698959744002,1.671216642566975e-5,-5.8877737365682856e-8,0.004047887444712365,1.6826943646276348e-5,-5.9108127517374904e-8,0.00404802049508203,1.6881670483517197e-5,-5.9217433706880595e-8,0.004048125273323472,1.6855947238255258e-5,-5.9164217502915826e-8,0.004048234127401434,1.674008799311883e-5,-5.8928701076803824e-8,0.004048381670060571,1.6537530470193916e-5,-5.851761039418674e-8,0.004048600436416601,1.6266746291805815e-5,-5.796802584768781e-8,0.004048914984056892,1.5961326425245878e-5,-5.734760338043135e-8,0.004049335282066074,1.566668088020222e-5,-5.674801447212363e-8,0.0040498513719114376,1.5432414454828066e-5,-5.626965875165331e-8,0.004050431921230339,1.5301075079280176e-5,-5.5998974280483204e-8,0.004051028668995067,1.5296083993458358e-5,-5.598395649797168e-8,0.004051586738790464,1.5412983005455173e-5,-5.62162478465142e-8,0.004052058328986434,1.5617600591062285e-5,-5.6627167195976384e-8,0.004052415758160085,1.5852514347711364e-5,-5.7100596870077054e-8,0.004052659913064241,1.6050494133565283e-5,-5.7500160816537554e-8,0.0040528214440387015,1.6151570852562244e-5,-5.7703907353645075e-8,0.004052953861013157,1.611931020329749e-5,-5.763746552942237e-8,0.004053119682835466,1.595162622613579e-5,-5.729612717276807e-8,0.004053373025435257,1.5682212292362576e-5,-5.6747852350428666e-8,0.004053744027610918,1.537106055446932e-5,-5.611410681536437e-8,0.004054230846152612,1.5086637935810276e-5,-5.553375453822118e-8,0.004054802304411898,1.488624806595296e-5,-5.5123232299645195e-8,0.0040554095026198176,1.4802029857689209e-5,-5.494808734565473e-8,0.004056000829014219,1.4836834906018199e-5,-5.501449222707493e-8,0.0040565344012080526,1.496913360261363e-5,-5.527907211829798e-8,0.004056984713435475,1.5162646600086324e-5,-5.5668377746635783e-8,0.004057343673139978,1.537616244421555e-5,-5.609881419197702e-8,0.004057618154709957,1.5570907870645105e-5,-5.6491651348612124e-8,0.004057826336088842,1.571498161585009e-5,-5.678207302107251e-8,0.004057994236563965,1.5785663812756403e-5,-5.692387796847087e-8,0.004058152876449292,1.5770755436499932e-5,-5.6892175274642595e-8,0.004058335730497766,1.56698047725992e-5,-5.6685842838322767e-8,0.004058575736492297,1.5495479753201927e-5,-5.6330312045967666e-8,0.004058901067412491,1.5274593050186677e-5,-5.587969998232432e-8,0.0040593292989023755,1.504744016568601e-5,-5.541556302293769e-8,0.004059860688647646,1.4863522530534258e-5,-5.5038323485976716e-8,0.004060472924789321,1.4772178278052189e-5,-5.484831991380623e-8,0.004061121016256655,1.4808824187926628e-5,-5.491786333355384e-8,0.004061745398388068,1.4980995070619321e-5,-5.526278213620586e-8,0.0040622878335508355,1.5260905424743596e-5,-5.58271445794069e-8,0.00406270977840194,1.5589957864201896e-5,-5.6492254117461846e-8,0.004063005280007226,1.5895053516072876e-5,-5.71096919262533e-8,0.004063202722944347,1.611033761314179e-5,-5.7545486920249105e-8,0.004063355322523949,1.6195737978189514e-5,-5.7717829505718655e-8,0.004063524982892078,1.614629397440836e-5,-5.761611433490631e-8,0.0040637654881181635,1.5990874718776372e-5,-5.729846921069878e-8,0.0040641096822484745,1.5782374878243806e-5,-5.687200018963553e-8,0.004064563196214051,1.558309622417832e-5,-5.646323142518138e-8,0.004065105372946402,1.5449401160722053e-5,-5.6186965778914343e-8,0.004065696400389077,1.5419375479983378e-5,-5.612111731815594e-8,0.004066288252635861,1.5506240841777267e-5,-5.6293121212787874e-8,0.004066836155862962,1.5698542971993716e-5,-5.668010909236039e-8,0.004067307459695976,1.5966009975132922e-5,-5.7220705532581126e-8,0.00406768613309999,1.6268363193234948e-5,-5.783296271933897e-8,0.004067972917711898,1.6564106468153707e-5,-5.8432340733695405e-8,0.004068182486831887,1.681727652571284e-5,-5.894554234053274e-8,0.00406833933892352,1.7001503611134662e-5,-5.931880776278692e-8,0.004068473756113949,1.7101841750667816e-5,-5.952159722920657e-8,0.004068618388467829,1.7115337876791556e-5,-5.9547687041123166e-8,0.004068805319711415,1.7051183194416186e-5,-5.941546370891142e-8,0.004069063045413328,1.693080237181354e-5,-5.9168176976249445e-8,0.004069412642286213,1.6787584460103433e-5,-5.887352588619779e-8,0.004069862675046376,1.6665125654505054e-5,-5.862021049541122e-8,0.0040704033862420915,1.6612132979317868e-5,-5.8507611354420696e-8,0.004071002433343476,1.6672362317351996e-5,-5.8625252169843815e-8,0.004071606146962371,1.6870078458229394e-5,-5.90230533337598e-8,0.004072150180031084,1.7195707718266797e-5,-5.968194828764344e-8,0.004072579327330133,1.7600304654934825e-5,-6.050250155157372e-8,0.004072869038903364,1.800622384140864e-5,-6.132663264350784e-8,0.004073036765467772,1.8332569931295446e-5,-6.1989505493645e-8,0.004073135737926338,1.852349328887892e-5,-6.237718185712606e-8,0.004073234663677566,1.85650892687075e-5,-6.246099877342193e-8,0.004073394556097025,1.848476914851136e-5,-6.229627231999442e-8,0.004073652726352091,1.833737723399551e-5,-6.199414171839608e-8,0.004074017372470005,1.818678426452505e-5,-6.168431508746106e-8,0.0040744707750797445,1.808984214398682e-5,-6.148259812586677e-8,0.004074977337424825,1.8085790232343694e-5,-6.14693541796517e-8,0.004075493263269258,1.8191439776279438e-5,-6.167952512829171e-8,0.004075975798354961,1.840124607827241e-5,-6.210249277646861e-8,0.004076390776901895,1.8691144047334405e-5,-6.268964660170682e-8,0.004076717622217568,1.902494399145827e-5,-6.336732629192284e-8,0.004076951353972912,1.9361837440099986e-5,-6.405219775676581e-8,0.004077101746210127,1.96635091438295e-5,-6.46659095300111e-8,0.0040771903314508785,1.989970237527024e-5,-6.514655672234517e-8,0.004077246262806788,2.005165635670929e-5,-6.545569860243698e-8,0.004077302032084395,2.0113486301099913e-5,-6.558109876386352e-8,0.0040773896466789,2.0092092019349717e-5,-6.553647593087778e-8,0.004077537342209875,2.0006253451383885e-5,-6.535969647604283e-8,0.004077766555167821,1.988527789663943e-5,-6.511016738314298e-8,0.004078088689458051,1.976710784085783e-5,-6.486516989220184e-8,0.004078501328342447,1.96951136887764e-5,-6.471343334262049e-8,0.004078984379126887,1.971216651307541e-5,-6.474300004433253e-8,0.004079498090171917,1.985082590723176e-5,-6.502100525056876e-8,0.004079986278779378,2.0120252289371937e-5,-6.55667052274478e-8,0.004080388235941525,2.0494122797303468e-5,-6.632662153528476e-8,0.004080659282108669,2.0908086133771597e-5,-6.716933519624624e-8,0.0040807921628955995,2.1274886377819846e-5,-6.791652262392293e-8,0.004080825530396653,2.151542116556529e-5,-6.840653341073122e-8,0.00408083076942298,2.1590301346052778e-5,-6.855881484240877e-8,0.00408088328291802,2.1513241158620907e-5,-6.84010788689678e-8,0.004081035155949392,2.134019848115492e-5,-6.804703209129059e-8,0.004081302546732209,2.1144355238359504e-5,-6.764545015636383e-8,0.004081668918553097,2.0992072249557375e-5,-6.733141248227607e-8,0.00408209685499066,2.092848134334002e-5,-6.719713964870882e-8,0.004082540990125184,2.09731231952271e-5,-6.72830951751148e-8,0.004082958197133572,2.112218615191573e-5,-6.758231956110174e-8,0.00408331422869279,2.1353847294547875e-5,-6.805099975797541e-8,0.0040835874057665485,2.1634567155020024e-5,-6.862106700376206e-8,0.004083770116681637,2.1925434668298697e-5,-6.921309213990532e-8,0.004083868551366543,2.218816882099307e-5,-6.974866033503243e-8,0.0040839008942840345,2.239039499761978e-5,-7.016132947403248e-8,0.004083894232067077,2.250978778831476e-5,-7.0405207142333e-8,0.004083880571241067,2.25366960163881e-5,-7.046030306590217e-8,0.00408389252947929,2.2475031488631666e-5,-7.033426314434203e-8,0.004083959249418965,2.2341562177163083e-5,-7.00608865512821e-8,0.004084102836943754,2.2163971654346905e-5,-6.969625158825354e-8,0.004084335399848269,2.1977972812721735e-5,-6.931302372966625e-8,0.004084656614019778,2.1823582213426522e-5,-6.899305140282665e-8,0.004085051725131036,2.1740298666453316e-5,-6.881758196303943e-8,0.00408549043013785,2.1760499615591525e-5,-6.88536205880247e-8,0.004085928134416261,2.1900671848150498e-5,-6.913569532030017e-8,0.0040863118371121795,2.215161693360532e-5,-6.964550832191338e-8,0.004086592559838579,2.2471365259167905e-5,-7.029728262333709e-8,0.004086743511323791,2.278742626781085e-5,-7.094245749548945e-8,0.004086777069432108,2.3014650869490377e-5,-7.140649996468963e-8,0.004086748324489586,2.3086554162397423e-5,-7.155319319147187e-8,0.004086737210606845,2.298478523801362e-5,-7.134486880118048e-8,0.0040868162246094596,2.274751838270059e-5,-7.085933294161156e-8,0.004087022774633262,2.245098166859568e-5,-7.025197183973786e-8,0.004087351063401967,2.21773293531232e-5,-6.969023534135919e-8,0.004087762942117613,2.1988078250473938e-5,-6.929965848306815e-8,0.004088206426731321,2.1912888693068682e-5,-6.914113536613453e-8,0.0040886315320029145,2.1951514131721826e-5,-6.921484527465759e-8,0.004088999563181579,2.2082048330308014e-5,-6.947683655171173e-8,0.004089286694209541,2.227007195705091e-5,-6.985740065000953e-8,0.0040894840997412005,2.2476260228544262e-5,-7.027641992708612e-8,0.004089596524746182,2.2662126678655353e-5,-7.065510425729817e-8,0.004089640201779963,2.2794420332461283e-5,-7.092513321189004e-8,0.0040896402838893646,2.284862699133553e-5,-7.103599943485881e-8,0.004089627705490863,2.2811697616913437e-5,-7.096068474456991e-8,0.004089635411507748,2.2683801109797253e-5,-7.069921973276663e-8,0.004089694115390104,2.2478677051700234e-5,-7.027932793650815e-8,0.004089828036207196,2.2222286505042233e-5,-6.975365444924291e-8,0.004090051161470819,2.1949786269337134e-5,-6.919369964114232e-8,0.004090364511991667,2.170103932630054e-5,-6.86808528694382e-8,0.004090754790796106,2.151498959955255e-5,-6.829506592183514e-8,0.004091194666195651,2.142330844766789e-5,-6.810185855541579e-8,0.004091644993372157,2.1443624281504225e-5,-6.813824314344391e-8,0.0040920596967446154,2.1572833523424404e-5,-6.83986719144852e-8,0.004092394222561333,2.1782031162445324e-5,-6.88243378416857e-8,0.00409261763274889,2.2016102025325163e-5,-6.93022303226837e-8,0.0040927261558925485,2.2201941671687712e-5,-6.968213454108016e-8,0.004092752390399775,2.226781056753669e-5,-6.98165868041908e-8,0.004092761828782771,2.217010941896625e-5,-6.961594162020133e-8,0.004092832347522563,2.191489742469643e-5,-6.90924145000651e-8,0.004093023916310563,2.1559197363135236e-5,-6.836256507621499e-8,0.004093355382863215,2.1188443825140062e-5,-6.760103065423595e-8,0.004093801442773309,2.0883140487863215e-5,-6.697239893387999e-8,0.004094308353665391,2.0693642127327703e-5,-6.657980636574702e-8,0.004094815962852751,2.0632674505226746e-5,-6.644971858931919e-8,0.0040952745320277885,2.068224872375703e-5,-6.654596569206641e-8,0.0040956524926629954,2.0806194730034872e-5,-6.67951505187713e-8,0.004095937126088291,2.0961685991746184e-5,-6.711000602505771e-8,0.004096131713874594,2.1107263596701378e-5,-6.740571701477901e-8,0.004096251810518326,2.1207630473032185e-5,-6.760979080112129e-8,0.004096321810660583,2.123646163530461e-5,-6.766796655208107e-8,0.004096371868974252,2.117828020698269e-5,-6.754820351325027e-8,0.004096434786498749,2.102987222746858e-5,-6.724363080817744e-8,0.0040965424713340064,2.0801158863912584e-5,-6.677428971329367e-8,0.004096721827951759,2.0514974467630822e-5,-6.618661611930796e-8,0.004096990403276643,2.0205057223031076e-5,-6.554934138305202e-8,0.004097352573177603,1.9911884762201487e-5,-6.494509874821933e-8,0.0040977972420050135,1.9676507214749987e-5,-6.445798705026133e-8,0.00409829795293573,1.953307645034436e-5,-6.415839226662203e-8,0.00409881595753222,1.950131413892924e-5,-6.408749767114518e-8,0.0040993062317397294,1.958041987144307e-5,-6.424454113672405e-8,0.004099725949858662,1.9745840788228674e-5,-6.457984351456717e-8,0.004100044534043069,1.9950335607570126e-5,-6.499672432697775e-8,0.004100253632198516,2.013084019847643e-5,-6.536554032319219e-8,0.004100374104936217,2.0221969791798727e-5,-6.555157283498206e-8,0.004100455954183344,2.017477740412432e-5,-6.545379905395303e-8,0.0041005675891791,1.9975516702515512e-5,-6.504358355699308e-8,0.004100774805833544,1.965545542492212e-5,-6.438482789008002e-8,0.004101116885460426,1.928372582152993e-5,-6.361922074229146e-8,0.004101591870619371,1.894360567216253e-5,-6.291755062884213e-8,0.004102159238000308,1.8703470116557066e-5,-6.242018269746027e-8,0.00410275747591571,1.859703517591237e-5,-6.219659152435074e-8,0.0041033257619690735,1.8620141853715126e-5,-6.223872071816769e-8,0.004103819526959297,1.874065523208672e-5,-6.248114525442182e-8,0.004104216341986781,1.8912959818053868e-5,-6.283064370406833e-8,0.004104514378076207,1.909031638156852e-5,-6.319144791179558e-8,0.004104727475774354,1.9232607115184218e-5,-6.348113509152911e-8,0.004104879851426564,1.931006277488053e-5,-6.363836365897142e-8,0.004105001750774871,1.9304641429037065e-5,-6.362581755356893e-8,0.004105126061105588,1.9210481227772614e-5,-6.343120965738759e-8,0.004105285298052878,1.903412670485694e-5,-6.306774716776545e-8,0.004105508333763851,1.879451414608241e-5,-6.257405625726658e-8,0.004105816518487927,1.8522105372562953e-5,-6.201237977882163e-8,0.004106219408261088,1.8256224455901378e-5,-6.146316659960243e-8,0.004106711031782206,1.8039834534071813e-5,-6.101448588822051e-8,0.00410726820104739,1.7911758794004197e-5,-6.074620274769431e-8,0.00410785241819564,1.7897526858302653e-5,-6.071123337928272e-8,0.004108416180285091,1.8001212401072268e-5,-6.091866896065255e-8,0.0041089130241994485,1.820113748087769e-5,-6.132469615222139e-8,0.004109309104207408,1.8451646262672002e-5,-6.183595690444914e-8,0.0041095931983087045,1.869153552715818e-5,-6.232669811154938e-8,0.004109782084836411,1.8857869433917337e-5,-6.266717936609684e-8,0.004109919049387194,1.890226775739589e-5,-6.275732940350907e-8,0.004110064678761718,1.8805497319272342e-5,-6.255697025959145e-8,0.004110281124285083,1.858555641793577e-5,-6.210261238000375e-8,0.004110613703963449,1.829511610327427e-5,-6.150227952510236e-8,0.004111076186029953,1.8007169267841526e-5,-6.090602884987728e-8,0.004111646199815092,1.779292050803584e-5,-6.046048759796877e-8,0.0041122733354077975,1.770055011084275e-5,-6.026514317284309e-8,0.0041128962379817155,1.774357289428051e-5,-6.034829633072815e-8,0.004113460777981091,1.790224628658376e-5,-6.06698069713779e-8,0.004113932211375858,1.8134726118468195e-5,-6.114390913053563e-8,0.004114298813701848,1.8391239948785017e-5,-6.166830949707429e-8,0.004114568894174971,1.862570592744579e-5,-6.214811466500701e-8,0.004114764817887481,1.8802594772439982e-5,-6.251002429640857e-8,0.004114916941016438,1.8899611324047082e-5,-6.270792853777051e-8,0.004115058788903396,1.8907892822336005e-5,-6.272336282371548e-8,0.004115223529956793,1.883126597625609e-5,-6.256398245923092e-8,0.00411544112890223,1.8685396522870248e-5,-6.226179188618023e-8,0.004115735426728429,1.8496880076378558e-5,-6.187126850283822e-8,0.004116120670135077,1.830166124887891e-5,-6.146615285795259e-8,0.0041165976094830435,1.8141735245261587e-5,-6.113275473128614e-8,0.0041171501459813615,1.8059102673713814e-5,-6.095761535265301e-8,0.0041177444298378775,1.808677278934742e-5,-6.100903876410642e-8,0.0041183326482072515,1.8238377845822922e-5,-6.131565461947553e-8,0.004118862644895194,1.8500025366803055e-5,-6.184947666116739e-8,0.004119291845670744,1.882888305936909e-5,-6.252277761117837e-8,0.004119600995524518,1.916129270179671e-5,-6.320463576506777e-8,0.004119802051454148,1.9429176950619105e-5,-6.375467477591138e-8,0.004119936452241972,1.9579389208801835e-5,-6.406297574667329e-8,0.004120063979010977,1.958911524116044e-5,-6.408192449547398e-8,0.004120246088908799,1.9472222424355246e-5,-6.383944294513096e-8,0.00412052913259154,1.927501773422856e-5,-6.343041897475507e-8,0.004120932292519319,1.906320686341203e-5,-6.299000026420115e-8,0.0041214433902594435,1.890409343719484e-5,-6.265701578056743e-8,0.004122023468462977,1.884920647966687e-5,-6.253815085908088e-8,0.004122618451191795,1.8922390072082127e-5,-6.268323571647604e-8,0.004123173897075194,1.911656377839061e-5,-6.307832429936484e-8,0.0041236480036418895,1.939920158835302e-5,-6.365677983994343e-8,0.004124019202185466,1.9723461236942205e-5,-6.432213367561228e-8,0.004124287288244285,2.0040448516884058e-5,-6.49734234542431e-8,0.004124469567213898,2.0308896945277934e-5,-6.552527867409888e-8,0.004124594685466592,2.050066336393985e-5,-6.591937018917111e-8,0.004124696486907284,2.0602417835979338e-5,-6.61279466825767e-8,0.004124809121272801,2.0614914334906605e-5,-6.615231627858997e-8,0.00412496354787499,2.055127128513555e-5,-6.601926590271963e-8,0.004125184918062037,2.0435134717556e-5,-6.57772755655983e-8,0.004125490124622406,2.029885113054249e-5,-6.549281651963915e-8,0.004125884999648892,2.0181120072676474e-5,-6.524562199853932e-8,0.004126361187835996,2.012312227810521e-5,-6.512079755335909e-8,0.004126893637683346,2.016202160381174e-5,-6.519543374690128e-8,0.0041274407643772945,2.0321520249793008e-5,-6.551902559572129e-8,0.0041279499280898095,2.0601210358685798e-5,-6.609131944530118e-8,0.00412836969991199,2.0969274287628928e-5,-6.684706034379096e-8,0.004128666706476001,2.1364544730577544e-5,-6.766013860494177e-8,0.0041288402130868545,2.1711284432474734e-5,-6.837410979895914e-8,0.0041289260941142205,2.1943052421982018e-5,-6.88515335136089e-8,0.0041289863790102055,2.2025323150899638e-5,-6.902071138081227e-8,0.004129088666642758,2.1966206179071726e-5,-6.889782614187511e-8,0.0041292849632450085,2.1811418243791324e-5,-6.857662713945957e-8,0.0041295982485091585,2.1627811881081866e-5,-6.819461136355642e-8,0.004130019713586947,2.1483464269815928e-5,-6.789215710034456e-8,0.004130514847826705,2.1431037977969292e-5,-6.777831067919666e-8,0.004131034556120914,2.1497848193685356e-5,-6.79102050168444e-8,0.0041315275855180284,2.1683260008845836e-5,-6.828741599827955e-8,0.0041319514162801475,2.196236627165169e-5,-6.885922779761631e-8,0.0041322797208666745,2.2294052841138688e-5,-6.95410620986726e-8,0.004132505435793167,2.2631076927335552e-5,-7.023526137874012e-8,0.004132639559466678,2.2929656701609897e-5,-7.085103297987233e-8,0.0041327068073958445,2.3156619956378226e-5,-7.131941152567361e-8,0.004132739789933165,2.329325563893979e-5,-7.160135080100659e-8,0.0041327732697304005,2.3336073204430915e-5,-7.168931655885992e-8,0.004132839498526474,2.3295362222597494e-5,-7.160425905283545e-8,0.00413296489491445,2.319267720853539e-5,-7.139037898864675e-8,0.004133167727447015,2.3058081690060263e-5,-7.110948143247038e-8,0.004133456251584568,2.2927368246838634e-5,-7.083536734083875e-8,0.004133826864680379,2.2838893766911416e-5,-7.064744138921729e-8,0.004134262246139552,2.2829234263837425e-5,-7.062178621276581e-8,0.004134730285875639,2.2926717969593375e-5,-7.081769093706275e-8,0.004135185707911027,2.31425991815179e-5,-7.125916402041035e-8,0.0041355769071945506,2.346164589422353e-5,-7.191520269449173e-8,0.004135859441965122,2.383687117408675e-5,-7.268874415754124e-8,0.00413601369908566,2.4195039750171892e-5,-7.342810252300716e-8,0.004136058529573073,2.4456681249135846e-5,-7.396855759155849e-8,0.004136050487278654,2.456513384479195e-5,-7.419258398190955e-8,0.004136065019007573,2.4509860369459744e-5,-7.407805053129414e-8,0.004136168231272512,2.4330162569653813e-5,-7.370577611668552e-8,0.004136394459822497,2.409789030051738e-5,-7.322376999160329e-8,0.0041367395368764786,2.389056192725738e-5,-7.279186780905995e-8,0.0041371686481556655,2.3768649735412706e-5,-7.253505860848046e-8,0.004137631091783037,2.3763952092816136e-5,-7.251957894397494e-8,0.0041380747660009765,2.3878490225956004e-5,-7.275049880309497e-8,0.004138456791204421,2.4090059448810835e-5,-7.318286374029693e-8,0.004138749601503419,2.4360668956780575e-5,-7.37387885346733e-8,0.004138943194899096,2.4645468588374668e-5,-7.4325712073413e-8,0.004139044422775969,2.49009409295305e-5,-7.485336553975188e-8,0.0041390740178470385,2.509158954761269e-5,-7.52478055388981e-8,0.004139062078858488,2.519450532721772e-5,-7.546109277291754e-8,0.004139042857680081,2.5201537323836e-5,-7.547591881161818e-8,0.004139049681730755,2.5119185084212284e-5,-7.530538123596477e-8,0.004139110696144454,2.4966623708413148e-5,-7.498882514872912e-8,0.004139245793706889,2.4772544989273615e-5,-7.458527889421062e-8,0.004139464664095014,2.4571523457755883e-5,-7.416602259172535e-8,0.0041397656452513715,2.4400247311316832e-5,-7.380696250121588e-8,0.004140135103394312,2.4293510720908743e-5,-7.358048043260725e-8,0.004140547313718007,2.427954414351527e-5,-7.354575599206736e-8,0.004140965413628404,2.4374141223041407e-5,-7.373639326420042e-8,0.004141344873455721,2.457362346913388e-5,-7.414551482757032e-8,0.004141641326420783,2.48483642172095e-5,-7.471205791422762e-8,0.0041418235765014145,2.5141002654557318e-5,-7.53169965475809e-8,0.004141889215372904,2.537511100337642e-5,-7.58014858398564e-8,0.004141874921065243,2.5477517766043897e-5,-7.601342829768719e-8,0.004141851043315424,2.5408217951499304e-5,-7.58696248028512e-8,0.004141897199717203,2.5181416417097176e-5,-7.539927233814727e-8,0.004142070032062376,2.4862233791190885e-5,-7.473692425033855e-8,0.004142382136416294,2.4539521848464896e-5,-7.406615519129582e-8,0.004142802962387187,2.4291862821753357e-5,-7.354938496791458e-8,0.004143276515293847,2.4165133492908547e-5,-7.328171206236878e-8,0.004143742610608551,2.416776805253065e-5,-7.328119646301892e-8,0.004144152149564842,2.427840550811608e-5,-7.350451056510971e-8,0.004144474270556827,2.4457891470911152e-5,-7.387144252687797e-8,0.004144697408744952,2.4660435604785124e-5,-7.428767698568889e-8,0.004144827026181618,2.484202674459949e-5,-7.466207837487929e-8,0.004144881994566124,2.4966196964502726e-5,-7.491871231531306e-8,0.0041448905048311665,2.500781452275799e-5,-7.500493400442998e-8,0.004144885711446158,2.4955282841337656e-5,-7.489617429690564e-8,0.004144901261135358,2.481120187725696e-5,-7.459741678649363e-8,0.004144966982912023,2.4591489692204364e-5,-7.41413441693972e-8,0.004145105121592094,2.4322991873659133e-5,-7.358329870301691e-8,0.004145327544473218,2.403980237268326e-5,-7.299364256044502e-8,0.004145634190738719,2.377879003345024e-5,-7.24485997969921e-8,0.0041460127758167105,2.3574818073592004e-5,-7.202053283003591e-8,0.00414643966336036,2.3455929817344242e-5,-7.17680808924154e-8,0.004146881876040019,2.343860803994068e-5,-7.172625974921142e-8,0.0041473004753961136,2.3523144481116746e-5,-7.189658153429537e-8,0.004147656007247302,2.3689506623327728e-5,-7.223811648289735e-8,0.004147916808771172,2.3895221603221915e-5,-7.266284458651311e-8,0.0041480699650081705,2.4078275121643128e-5,-7.304167053080141e-8,0.004148132195104441,2.4168654642653938e-5,-7.322864004199276e-8,0.004148154320381181,2.4109831376965727e-5,-7.310586674653458e-8,0.004148211444887462,2.388423375298592e-5,-7.263656875158706e-8,0.004148377033934869,2.3528252738308904e-5,-7.189610084153054e-8,0.004148691963497075,2.3123109596003326e-5,-7.105280147716092e-8,0.0041491473031022115,2.27629923552026e-5,-7.030185625864194e-8,0.004149691355374006,2.251899382813585e-5,-6.979067613092937e-8,0.004150253959921051,2.2418989460666156e-5,-6.957735617198645e-8,0.0041507716459602394,2.2449203170718728e-5,-6.963393426794152e-8,0.0041512023452277315,2.2568972898863263e-5,-6.987681903782312e-8,0.004151528686471275,2.2727414027209948e-5,-7.020106669410957e-8,0.004151754402958528,2.287579296648152e-5,-7.050582576156142e-8,0.004151898371708361,2.2974592076086222e-5,-7.070894000466604e-8,0.004151988885126911,2.2996670531363484e-5,-7.075363347500511e-8,0.004152058955955876,2.2928322974470473e-5,-7.061092750138042e-8,0.004152142382845093,2.2769356506527704e-5,-7.02799821925708e-8,0.0041522701226427315,2.253246200945357e-5,-6.978684571499767e-8,0.004152466791086021,2.2241707192617996e-5,-6.91812637823709e-8,0.004152747431065876,2.192983419561754e-5,-6.853098876725601e-8,0.004153115009949348,2.163416853510276e-5,-6.791329347391853e-8,0.004153559267504416,2.1391372281000134e-5,-6.740420502635174e-8,0.004154057371060857,2.1231670864169294e-5,-6.706668724391143e-8,0.004154576533781043,2.1173336928637963e-5,-6.693925978559595e-8,0.004155078480972005,2.121824985076246e-5,-6.702665399660066e-8,0.00415552544495053,2.1349266802329204e-5,-6.729405133405011e-8,0.004155887326128362,2.153005321203464e-5,-6.76663910045802e-8,0.004156149549489265,2.1708297200182368e-5,-6.803485371706521e-8,0.004156320429207047,2.18236504091612e-5,-6.827342868724723e-8,0.004156435436193511,2.1821325191162423e-5,-6.826745995209362e-8,0.004156554325266331,2.1670061717922965e-5,-6.795132318021076e-8,0.004156747395736589,2.137880483492358e-5,-6.734326680703699e-8,0.004157071827894007,2.100211751024774e-5,-6.655662407843876e-8,0.004157547507220719,2.0626045399976664e-5,-6.577030263586701e-8,0.004158146618620178,2.033725265562143e-5,-6.516458127082557e-8,0.0041588047435924405,2.0191197783449442e-5,-6.485500848833399e-8,0.00415944679960301,2.0196654226797564e-5,-6.486025586921148e-8,0.004160012347865569,2.0321627878139327e-5,-6.51143438105989e-8,0.004160468885463152,2.0512010737360385e-5,-6.550526134746365e-8,0.004160812154099564,2.071068901280456e-5,-6.591452917912113e-8,0.004161059067630895,2.087014425419266e-5,-6.624331294613351e-8,0.004161239040043181,2.095792204410952e-5,-6.642382604808944e-8,0.004161386829742425,2.095738077188751e-5,-6.642102047979822e-8,0.0041615375835493676,2.0866361049708102e-5,-6.622998144256762e-8,0.004161723445766619,2.069540030448162e-5,-6.587231810027344e-8,0.004161970833005958,2.0465957657424777e-5,-6.53924752623177e-8,0.004162297807662163,2.0208374532718804e-5,-6.485342857751e-8,0.004162711465524075,1.9958972538912966e-5,-6.433060157681065e-8,0.004163205788963567,1.9755721872438256e-5,-6.390289279020207e-8,0.004163760874885751,1.9632401292486634e-5,-6.364064398012052e-8,0.0041643445126078645,1.9611945515193513e-5,-6.359191191485507e-8,0.004164916661599382,1.9700370056451175e-5,-6.376982675484982e-8,0.004165436593260296,1.9883038081479463e-5,-6.414465536185601e-8,0.004165871533002719,2.0124840290481865e-5,-6.464389273479223e-8,0.004166204973161034,2.03750141868381e-5,-6.516203187808346e-8,0.0041664427071129,2.0576291719662896e-5,-6.557950750839939e-8,0.004166614831251215,2.067725739446178e-5,-6.578854573835485e-8,0.004166772201513261,2.064596860090837e-5,-6.572180046924913e-8,0.004166976394844767,2.0481684872547044e-5,-6.537706967734264e-8,0.004167283762105637,2.0220289969068403e-5,-6.482876722062341e-8,0.0041677270966903575,1.9928853053708316e-5,-6.42166276496646e-8,0.004168301889621721,1.9687639520167372e-5,-6.370817178698891e-8,0.004168964945397345,1.9564346141463034e-5,-6.344493463573707e-8,0.0041696482095524585,1.9591663234778752e-5,-6.349560115607152e-8,0.004170281928490304,1.975909669494271e-5,-6.383883261318782e-8,0.004170815776114936,2.002177562328637e-5,-6.438149484450375e-8,0.004171229165072177,2.0319307693815556e-5,-6.499787658365365e-8,0.004171529641595815,2.0594371506068787e-5,-6.556842529790701e-8,0.004171744205095692,2.08044574697309e-5,-6.600426377969002e-8,0.004171909319060356,2.0925909999591906e-5,-6.625570255367975e-8,0.004172063035543002,2.095283945319605e-5,-6.631007474738575e-8,0.004172240006446445,2.0893942567726186e-5,-6.618518936112582e-8,0.004172468631381149,2.0769185793469826e-5,-6.592244924085984e-8,0.00417276921141435,2.0606998287037323e-5,-6.558098507505531e-8,0.004173152263607924,2.044171213681954e-5,-6.523229587640529e-8,0.004173616699217774,2.0310521591751063e-5,-6.49539193513707e-8,0.004174148228173609,2.0249146804649307e-5,-6.482044670278411e-8,0.0041747190205534725,2.0285797724636808e-5,-6.489100076513135e-8,0.004175290038969232,2.043401685070224e-5,-6.519431780277011e-8,0.004175817138082009,2.0686286120805764e-5,-6.571531492271147e-8,0.004176260742955059,2.1011275247548487e-5,-6.638915896100802e-8,0.004176596947866172,2.135738903704526e-5,-6.710846106930013e-8,0.004176826283818876,2.1663316572518304e-5,-6.774516430718877e-8,0.004176976440504031,2.187329985370935e-5,-6.818241888125293e-8,0.004177097171342621,2.1952541600749897e-5,-6.834687461472092e-8,0.004177248393652027,2.1897850265493772e-5,-6.823110493770005e-8,0.004177484698447774,2.1740143881249863e-5,-6.789904756326871e-8,0.004177840456289382,2.153777152476557e-5,-6.74722389787032e-8,0.004178319648003268,2.1361956093379974e-5,-6.709951969906079e-8,0.004178893720907776,2.1277850737766288e-5,-6.69174602353876e-8,0.004179508920172153,2.1326593435868438e-5,-6.701273548062968e-8,0.00418010143870764,2.1514398644594126e-5,-6.739909921106913e-8,0.004180615325979776,2.181278040040501e-5,-6.801760816720763e-8,0.004181016588925626,2.2169477458321236e-5,-6.875930338309788e-8,0.004181298828271539,2.2524986894682156e-5,-6.949975199756988e-8,0.004181480040607371,2.282791399696808e-5,-7.013122390191389e-8,0.0041815939531634075,2.304443453220907e-5,-7.058260201965475e-8,0.004181680312312281,2.3160968578745368e-5,-7.082508197011263e-8,0.0041817771738139765,2.31820016723154e-5,-7.086767934850143e-8,0.004181916138040746,2.3125777208913207e-5,-7.074824050457918e-8,0.004182119981389813,2.301988109644779e-5,-7.052420786013162e-8,0.004182401587912403,2.2897560902910874e-5,-7.026493333350233e-8,0.004182763226082177,2.279464572132352e-5,-7.004528039888718e-8,0.004183195714757309,2.27463722411251e-5,-6.993905040066949e-8,0.0041836776903782045,2.2783245722880823e-5,-7.001037080800247e-8,0.004184175936522711,2.2925337371297516e-5,-7.030174363642383e-8,0.004184648351533992,2.3175376573468616e-5,-7.081948145094982e-8,0.00418505106926234,2.351265779926658e-5,-7.152078397866612e-8,0.00418534981740814,2.3891456557676195e-5,-7.231026107348822e-8,0.004185532699444083,2.4247798955379997e-5,-7.305402455302344e-8,0.0041856186975773695,2.4515523630203316e-5,-7.361333203789702e-8,0.004185656116733408,2.4647127383329684e-5,-7.388829334143641e-8,0.004185709463990267,2.4630561585255983e-5,-7.385309068068146e-8,0.004185839553237669,2.4494045601495442e-5,-7.356612233607162e-8,0.004186085175026919,2.4297013898756418e-5,-7.315119149276783e-8,0.004186453058714402,2.4111865678345753e-5,-7.275951997366621e-8,0.00418691819641979,2.4003918546233812e-5,-7.252797509274851e-8,0.004187432570247736,2.4015686123816057e-5,-7.254618294928173e-8,0.004187938527366445,2.4158751006996613e-5,-7.283932258420115e-8,0.00418838289655064,2.4413937365967342e-5,-7.336815666881627e-8,0.004188728513422404,2.4738606360928003e-5,-7.404399556996649e-8,0.00418896077263449,2.5078536869024493e-5,-7.475342352649681e-8,0.004189088187108331,2.5380979408035573e-5,-7.538568393181177e-8,0.004189137637378765,2.560542386655624e-5,-7.585541248978948e-8,0.004189146482758514,2.5729746333905715e-5,-7.611571356090715e-8,0.004189154226481784,2.5751295531856018e-5,-7.616056328669566e-8,0.004189195811872894,2.5684118435083626e-5,-7.601902615037475e-8,0.004189297432699497,2.55542284301067e-5,-7.574531169066045e-8,0.004189474640743976,2.539461358412779e-5,-7.54082984053367e-8,0.004189731923761839,2.5240920754474522e-5,-7.508253449426259e-8,0.004190062893369365,2.5127892543049684e-5,-7.484086743090381e-8,0.004190450577587119,2.508605327542561e-5,-7.474758404267058e-8,0.004190867863493793,2.5137902888573805e-5,-7.48504270355493e-8,0.004191278851066964,2.5293029167128904e-5,-7.517021445445091e-8,0.004191642553303303,2.55423836176811e-5,-7.568861108228818e-8,0.004191920429727899,2.585359199989586e-5,-7.633807975528864e-8,0.004192087961726734,2.6171043691637975e-5,-7.700197953776512e-8,0.0041921473996541884,2.6425138639552714e-5,-7.753404214212685e-8,0.004192134962329874,2.655208648022618e-5,-7.780007245043969e-8,0.004192114992464122,2.6518357750800253e-5,-7.772933711625707e-8,0.004192159595389882,2.6337159580545134e-5,-7.734907825665287e-8,0.0041923223662205,2.6066037508450072e-5,-7.677941655751047e-8,0.004192619875803577,2.578592305862587e-5,-7.618950486964727e-8,0.0041930293080447165,2.557321200031067e-5,-7.57392457018824e-8,0.004193500258489232,2.5478197525003033e-5,-7.553431849801728e-8,0.004193972401104941,2.5516253407646417e-5,-7.560771560475328e-8,0.004194391412284077,2.5670481527066318e-5,-7.592504671513956e-8,0.004194719476384159,2.5901118869691845e-5,-7.640387556528128e-8,0.004194939943894964,2.6157253045760205e-5,-7.693795310378307e-8,0.004195057196908215,2.6387965736528168e-5,-7.742045708403442e-8,0.004195093049339342,2.655137914482246e-5,-7.776307074307687e-8,0.0041950809049979216,2.662075619193178e-5,-7.790902792572845e-8,0.0041950589164355375,2.6587196549228087e-5,-7.783901651533447e-8,0.004195063418449753,2.6459035460426867e-5,-7.75700484300396e-8,0.004195123687424457,2.6258649342688074e-5,-7.714875237095379e-8,0.004195258624765763,2.6017731648806405e-5,-7.664139315682479e-8,0.0041954753979068695,2.5772178721423704e-5,-7.612311259338277e-8,0.004195769575099257,2.5557431308106203e-5,-7.566822001278618e-8,0.004196126138573454,2.540453466231477e-5,-7.534204817948078e-8,0.004196520954855405,2.53367037714102e-5,-7.51938225051339e-8,0.004196922622790946,2.5365966871741377e-5,-7.524954946219042e-8,0.004197295156724912,2.5489504985313087e-5,-7.550410520029874e-8,0.004197602564194241,2.5685951525308174e-5,-7.591317047680027e-8,0.004197816369561635,2.5913292788382522e-5,-7.638861304882352e-8,0.004197925960352721,2.6111518336327034e-5,-7.68040568734833e-8,0.004197949030411529,2.6213720596972247e-5,-7.701841069760118e-8,0.004197935777056729,2.6166841984154432e-5,-7.691972134593537e-8,0.004197959246279704,2.5955973534895593e-5,-7.647632694596954e-8,0.004198090449018128,2.561816100677808e-5,-7.576574198158926e-8,0.0041983690577137925,2.523320397695459e-5,-7.495518310321368e-8,0.00419878704502883,2.4893403872054307e-5,-7.423809664192561e-8,0.004199294657828197,2.466944744060831e-5,-7.37627848726335e-8,0.004199822567905109,2.4590529631573546e-5,-7.35909004360926e-8,0.004200305861270729,2.4644214422214637e-5,-7.369713717322046e-8,0.0042006995521685,2.478930388189759e-5,-7.399597656866322e-8,0.0042009837510207735,2.497203494463084e-5,-7.437531825774549e-8,0.004201161612568837,2.5139530804678885e-5,-7.472443695283559e-8,0.0042012538478359,2.524867550071118e-5,-7.495254886807737e-8,0.004201292331705662,2.527094607106964e-5,-7.49991216701699e-8,0.00420131393742547,2.5194311755950153e-5,-7.483814941996342e-8,0.004201354951284227,2.502295376661067e-5,-7.447781373617757e-8,0.0042014462866753815,2.4775206437341213e-5,-7.395626000164893e-8,0.004201609778427287,2.448005996210069e-5,-7.333420007618452e-8,0.004201855844869758,2.4172631007671907e-5,-7.268529378705414e-8,0.004202182698645817,2.3889171851144942e-5,-7.208562808425933e-8,0.004202577017310062,2.3662279170995062e-5,-7.160372968477706e-8,0.004203015758641201,2.351672818202007e-5,-7.129194406720078e-8,0.004203468829726377,2.3466037764782944e-5,-7.11792747736706e-8,0.004203902457944527,2.3509754658052647e-5,-7.126556074908164e-8,0.004204283346550584,2.3631449505063676e-5,-7.151698648158335e-8,0.004204584061959764,2.3797752657327603e-5,-7.186374646115213e-8,0.0042047900364866496,2.3959694992948275e-5,-7.22027000677904e-8,0.0042049075001769935,2.4058568751254713e-5,-7.240978381987185e-8,0.004204969667533672,2.4038460412971196e-5,-7.23666645880367e-8,0.004205036113172845,2.386531479855544e-5,-7.200115046387884e-8,0.004205179685910332,2.3546624248548318e-5,-7.132872503889457e-8,0.0042054607744250174,2.313929579412769e-5,-7.046897812798647e-8,0.00420589989798239,2.27347232082449e-5,-6.961404483515537e-8,0.004206466015888612,2.242427014344388e-5,-6.895601774624227e-8,0.004207089445384607,2.2264274521212205e-5,-6.861351443079364e-8,0.004207690765000283,2.2260358548173973e-5,-6.859880736537034e-8,0.004208207794816714,2.2375384589948536e-5,-6.883449347627073e-8,0.004208608832725967,2.2550256047354552e-5,-6.919700655526116e-8,0.004208892174623421,2.2724239908018644e-5,-6.955907850228315e-8,0.0042090782601795,2.284808125073127e-5,-6.981713891001085e-8,0.004209200296160906,2.2889691428958756e-5,-6.990328564693268e-8,0.004209296350094005,2.283492007234416e-5,-6.97870980120373e-8,0.004209403565906254,2.268592751806816e-5,-6.947247890090181e-8,0.004209554005893156,2.2458595057271006e-5,-6.899240475833879e-8,0.004209771538720962,2.2179411033598958e-5,-6.840241608206303e-8,0.00421006954601963,2.1881833085248087e-5,-6.777287276654248e-8,0.0042104495193963105,2.1602047665670182e-5,-6.717991814560981e-8,0.0042109008189892645,2.137421177667367e-5,-6.669544160393412e-8,0.004211401868604031,2.1225620883696596e-5,-6.637699983388579e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json new file mode 100644 index 000000000..ea9010347 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":25000,"numberOfSamples":1000,"samples":[0.0042119228229227776,2.117242668988509e-5,-6.625892772821196e-8,0.00421242951621424,2.1216421815835606e-5,-6.634559593072919e-8,0.004212888396602669,2.1343324948057996e-5,-6.660764965178544e-8,0.004213272077688695,2.1522955697259163e-5,-6.698208934125665e-8,0.004213565153061029,2.171164617537871e-5,-6.737707330135306e-8,0.004213769823711238,2.1857483451438128e-5,-6.768286051317844e-8,0.004213910198871436,2.190927122349849e-5,-6.779084064030356e-8,0.004214032922657624,2.1829493537962127e-5,-6.762116816618272e-8,0.004214200852587069,2.160938196621095e-5,-6.71548148810529e-8,0.004214477322022827,2.1280462370500936e-5,-6.645802296286292e-8,0.004214903100503305,2.091373094832423e-5,-6.568048925307495e-8,0.004215475880773675,2.0600151223130995e-5,-6.501412598684065e-8,0.004216145898744334,2.0417442948628495e-5,-6.462301093688222e-8,0.004216833579580056,2.0400376819345232e-5,-6.458079850055622e-8,0.004217459970123071,2.053157579362677e-5,-6.485132807375522e-8,0.004217972502130171,2.0755398012646987e-5,-6.531780445307867e-8,0.004218354775674382,2.100283844312381e-5,-6.583514699901046e-8,0.004218621473875984,2.1213061032032433e-5,-6.627523661803764e-8,0.004218806437975746,2.1344829856945014e-5,-6.655094448616457e-8,0.0042189509605779895,2.1378863630848206e-5,-6.662115374902181e-8,0.004219095409105211,2.1315105530184897e-5,-6.648517553484988e-8,0.004219274283414654,2.1168357298914947e-5,-6.617374421911176e-8,0.0042195135261831026,2.0964046864058137e-5,-6.574021509881736e-8,0.0042198289277669875,2.0734467344645254e-5,-6.52526270229363e-8,0.004220225061155502,2.0515161357874974e-5,-6.478598265567233e-8,0.004220694716869642,2.0341013243499278e-5,-6.441392136515793e-8,0.004221219187507694,2.024179213121955e-5,-6.419932023758131e-8,0.004221769966808666,2.0237378693578086e-5,-6.418431147260425e-8,0.0042223122778394,2.033346797221274e-5,-6.438129961003437e-8,0.004222810379006872,2.051879431947242e-5,-6.47670814186124e-8,0.0042232340746766765,2.0764877854194254e-5,-6.528213506219293e-8,0.004223565395287756,2.1029006330211313e-5,-6.583665389689409e-8,0.004223804128873946,2.1260585340412296e-5,-6.632374566900979e-8,0.004223970876957566,2.1410361180324564e-5,-6.663887945834917e-8,0.004224106369310762,2.14415465441151e-5,-6.670356203916723e-8,0.0042242657983087495,2.134115638552841e-5,-6.648957977625455e-8,0.004224507399419219,2.112855412696634e-5,-6.603731852191216e-8,0.004224876159364572,2.085686994094544e-5,-6.545888489491197e-8,0.004225386732174476,2.0603067839644234e-5,-6.491709513429656e-8,0.004226013160943935,2.0446027498544085e-5,-6.457905743766462e-8,0.004226693128151923,2.043932475634994e-5,-6.45585312505897e-8,0.004227347974683707,2.059163946791718e-5,-6.487440472016235e-8,0.004227909703767054,2.086563813515611e-5,-6.544822544194953e-8,0.004228341362829596,2.1195202646072075e-5,-6.614053530613902e-8,0.004228642402086946,2.1510125092377255e-5,-6.680302045077538e-8,0.004228840647210552,2.1755805619472572e-5,-6.732012834688552e-8,0.004228978598476052,2.190213346099413e-5,-6.762786101905045e-8,0.0042291010496863166,2.194302357527711e-5,-6.771287814009528e-8,0.0042292470592518745,2.1891133200885374e-5,-6.760145956889963e-8,0.004229446049571827,2.1771621167792976e-5,-6.73464393792848e-8,0.004229716468222322,2.1616855272094037e-5,-6.701607817399818e-8,0.004230065522044785,2.146232151279719e-5,-6.668539495546459e-8,0.004230489183412082,2.134317016838142e-5,-6.642880367863476e-8,0.004230972374903851,2.12906866823376e-5,-6.631261090471438e-8,0.004231489771832401,2.132821216102119e-5,-6.638640134078987e-8,0.00423200798906628,2.1466603019303647e-5,-6.667347585959588e-8,0.004232489876042049,2.1700112891328544e-5,-6.716214332465655e-8,0.004232901078212662,2.2004253231900497e-5,-6.780110661848243e-8,0.0042332180115707534,2.233735468493118e-5,-6.850259405413669e-8,0.004233435294041164,2.264690582136456e-5,-6.915558955274176e-8,0.004233570081750011,2.288024682846949e-5,-6.964836523197342e-8,0.004233661175459219,2.299740945877807e-5,-6.989570010663392e-8,0.00423376212210765,2.298272324126421e-5,-6.986362270031153e-8,0.004233929261141872,2.2851697779811398e-5,-6.958422181245012e-8,0.004234207211841524,2.2650495622957343e-5,-6.915475814576002e-8,0.004234615425259081,2.2446809897144912e-5,-6.871849564593151e-8,0.004235140014210337,2.231313047848069e-5,-6.842929415254376e-8,0.004235734703969059,2.230620625541042e-5,-6.840801170460767e-8,0.004236332511029088,2.2449320169543877e-5,-6.870475534746973e-8,0.004236865352914913,2.2724777630289437e-5,-6.928273029224622e-8,0.004237284245080581,2.3080599212484498e-5,-7.003223837757029e-8,0.004237571736415137,2.3448608166368112E-05,-7.080893495957507e-8,0.004237742342841121,2.3765484141766943e-5,-7.147847424023432e-8,0.004237833085799702,2.3988137660734125e-5,-7.194917126202141e-8,0.004237890189882673,2.4099447950975766e-5,-7.218425790080511e-8,0.004237957595590428,2.4105773514283147e-5,-7.219670738284095e-8,0.004238069919582637,2.4030269658422523e-5,-7.203516533111505e-8,0.004238249618365501,2.39056679238968e-5,-7.176871236223504e-8,0.004238506777009503,2.376842054507791e-5,-7.14744782604305e-8,0.004238839960336995,2.3654485763485328e-5,-7.122870298290076e-8,0.004239237195182148,2.359612316887198e-5,-7.109993006965748e-8,0.00423967689584437,2.3618836515735366e-5,-7.114251881836275e-8,0.00424012919339875,2.3737839999153642e-5,-7.138914208350213e-8,0.004240558555859129,2.3954028829091893e-5,-7.184219988672258e-8,0.004240928632216016,2.425035359666654e-5,-7.246603747851151e-8,0.004241209686151803,2.4590515496345863e-5,-7.31840475098621e-8,0.004241387602314709,2.4922420371615704e-5,-7.388587732093796e-8,0.00424147157146284,2.5187961743731242e-5,-7.44481247159738e-8,0.004241496426214619,2.5338027012562994e-5,-7.476619148263978e-8,0.004241516665120159,2.53481927416961e-5,-7.478765248745461e-8,0.004241592614544567,2.5228750538790737e-5,-7.453362965654456e-8,0.004241773093309497,2.5024267468472517e-5,-7.409800415341168e-8,0.004242080828456248,2.480219962828495e-5,-7.362345063271682e-8,0.004242505642303187,2.463448176734963e-5,-7.326256531566072e-8,0.004243007230734643,2.4578174120876555e-5,-7.313688342900408e-8,0.004243526169055569,2.4660842178798045e-5,-7.330574786416262e-8,0.004243999680967984,2.4874463362710607e-5,-7.375310120416703e-8,0.0042443776570801894,2.5179193207145155e-5,-7.439515440950807e-8,0.004244634361830328,2.551555261019759e-5,-7.510602778954726e-8,0.0042447725833558445,2.5820973313206575e-5,-7.575282082432305e-8,0.004244819645713096,2.6045265557054406e-5,-7.622855268466984e-8,0.004244817657500771,2.6160427534331055e-5,-7.647316726976563e-8,0.004244812063322777,2.6162998914343238e-5,-7.647870316326475e-8,0.004244842201737484,2.6070232563465724e-5,-7.628128320228887e-8,0.004244935733735506,2.5913058455968382e-5,-7.594622609168704e-8,0.004245106822619801,2.572872050475992e-5,-7.555241538069889e-8,0.004245356804103788,2.5554802441117856e-5,-7.517960510152853e-8,0.004245675934005867,2.5425040582432493e-5,-7.48995353162313e-8,0.004246045266184226,2.53664067068817e-5,-7.47697603900719e-8,0.004246438382144604,2.5396616745149382e-5,-7.482836234073875e-8,0.004246823330043397,2.552139706651534e-5,-7.508808847131201e-8,0.004247165619004974,2.5731389115804212e-5,-7.55296442638736e-8,0.004247433275937945,2.5999499171301278e-5,-7.609589214748047e-8,0.0042476044631466715,2.6280705900143398e-5,-7.669131102787287e-8,0.004247676613223559,2.6517177808645175e-5,-7.719284879324458e-8,0.004247673609435171,2.6650746595202952e-5,-7.747651982304646e-8,0.004247645708001549,2.66412350943042e-5,-7.74564776254694e-8,0.004247658309913079,2.6483856580341366e-5,-7.712204781528955e-8,0.004247771456591539,2.6216061034290582e-5,-7.655226898516179e-8,0.004248018640476505,2.590800755606473e-5,-7.589568494417051e-8,0.004248395212570714,2.563994069145496e-5,-7.532244221725396e-8,0.004248861259489376,2.5477021622606432e-5,-7.497104067998361e-8,0.00424935590167607,2.5452038700586148e-5,-7.491170753332291e-8,0.004249815624233812,2.5560514080836893e-5,-7.513587325912593e-8,0.0042501900081495896,2.5766672608186727e-5,-7.556853344785969e-8,0.004250451383611506,2.6015861961209102e-5,-7.609427999654669e-8,0.0042505977356969114,2.6248914551540066e-5,-7.658758795271883e-8,0.0042506498090625795,2.6415031884901112e-5,-7.694017883491166e-8,0.004250644097952955,2.648096828203765e-5,-7.708071584908982e-8,0.0042506237812728765,2.6435303290169302e-5,-7.698415129034421e-8,0.004250629816343292,2.6287691938557887e-5,-7.667036324682085e-8,0.0042506940711203485,2.6064200669597658e-5,-7.619435383064163e-8,0.00425083548128867,2.5800616341765846e-5,-7.563201480582007e-8,0.004251059186062351,2.5535598231431913e-5,-7.506549954746807e-8,0.004251357853991461,2.5304981396812947e-5,-7.457106386619228e-8,0.004251714123475805,2.5137752884505912e-5,-7.421052674232194e-8,0.004252103288002902,2.5053445751813735e-5,-7.402578044122805e-8,0.0042524958808914486,2.5060282096586535e-5,-7.403485203242214e-8,0.004252860347046862,2.5153483119387155e-5,-7.422821487858902e-8,0.004253166420302202,2.5313592833064807e-5,-7.4565027741937e-8,0.004253390056795452,2.5505445065978426e-5,-7.497072826604751e-8,0.004253520373611728,2.567954717105097e-5,-7.533987563241299e-8,0.004253567583483577,2.5778553226866115e-5,-7.555000192971296e-8,0.004253568477479618,2.57508981459835e-5,-7.549083696491824e-8,0.004253583802551681,2.5570092233629636e-5,-7.51055603806773e-8,0.004253683035294351,2.5251865633977112e-5,-7.44273175308893e-8,0.0042539191944363595,2.4857202588394434e-5,-7.35855734003273e-8,0.004254305764216735,2.447438286380503e-5,-7.276784994537231e-8,0.004254809815918776,2.4186839495990022e-5,-7.215147164839955e-8,0.004255365549942023,2.40441206534225e-5,-7.184200794898621e-8,0.004255899200387112,2.4050089820884473e-5,-7.184826829956902e-8,0.0042563516080044266,2.416972185021108e-5,-7.209662433728606e-8,0.004256690396141003,2.434605252160264e-5,-7.246675786316027e-8,0.0042569115892744334,2.4517943449023026e-5,-7.282912443145628e-8,0.0042570344588616455,2.463347637775471e-5,-7.30732558512375e-8,0.0042570934805204125,2.465775417313392e-5,-7.312438614433928e-8,0.004257129932313604,2.4575925834567138e-5,-7.295011734563332e-8,0.0042571843494951115,2.4392667825468296e-5,-7.255962537821784e-8,0.00425729039774817,2.4129023933815476e-5,-7.199717208281165e-8,0.004257470606229811,2.3817370327804808e-5,-7.133146006679518e-8,0.004257734255741909,2.349544247400287e-5,-7.064283667735547e-8,0.004258077393204028,2.3200390137071024e-5,-7.001050679824002e-8,0.004258484618862725,2.2963666553012255e-5,-6.950158216921607e-8,0.004258932027056634,2.2807293789006354e-5,-6.916316297269846e-8,0.0042593906153518026,2.2741586385370254e-5,-6.901757022449099e-8,0.0042598297434363165,2.276399055898611e-5,-6.905989169541386e-8,0.004260220606168873,2.2858651267932304e-5,-6.925694232532747e-8,0.004260539991874552,2.2996585299082128e-5,-6.954740578872719e-8,0.004260774793749827,2.3136869567961894e-5,-6.984415171021355e-8,0.004260927452055153,2.3230106921002925e-5,-7.004155848425731e-8,0.004261021309681241,2.3226075701983406e-5,-7.003196358517582e-8,0.004261102938290243,2.308688722779646e-5,-6.9733984200722e-8,0.004261236712509181,2.2804045770392858e-5,-6.912910597515336e-8,0.004261487734137989,2.2412204909363093e-5,-6.829103484152083e-8,0.004261895857940792,2.1987951130290533e-5,-6.738297115674651e-8,0.004262453748847359,2.1626559517556065e-5,-6.660796308383029e-8,0.004263104835077354,2.14049565306401e-5,-6.613002381831203e-8,0.004263765230072934,2.1352073118542486e-5,-6.601108302348439e-8,0.004264356348996169,2.14434400684497e-5,-6.619951822339648e-8,0.00426482929740014,2.1618744627758198e-5,-6.656745990661841e-8,0.004265171943391067,2.1807560186110623e-5,-6.696539410340849e-8,0.004265402331610535,2.194966411597293e-5,-6.726522140368924e-8,0.004265556764276095,2.2005321336605362e-5,-6.738204521109695e-8,0.004265678484351986,2.1957407300082035e-5,-6.727876331639272e-8,0.004265809259589074,2.1808924150594526e-5,-6.696101507231523e-8,0.004265983904005325,2.1578682448027443e-5,-6.646826954849454e-8,0.004266226920993157,2.1296504146896058e-5,-6.586379168206377e-8,0.004266550629286272,2.0998265292050864e-5,-6.522408289024045e-8,0.004266954602654954,2.072086530767614e-5,-6.46280184319503e-8,0.0042674264408546,2.0497353315112702e-5,-6.414629674705478e-8,0.004267943861511287,2.0352576012947905e-5,-6.383209365453901e-8,0.004268477960877023,2.0299833661802612e-5,-6.371398436365584e-8,0.004268997253092252,2.0338959047789847e-5,-6.379193925228933e-8,0.004269472004022922,2.0455923406950072e-5,-6.403649435074647e-8,0.004269878504480831,2.0623872099556896e-5,-6.439082513227808e-8,0.004270203091943123,2.0805512560485156e-5,-6.477560803074754e-8,0.004270445852852126,2.0956944805511876e-5,-6.509700275244613e-8,0.004270623800199121,2.10334314266037e-5,-6.525895403540025e-8,0.004270772558072353,2.0997890319405713e-5,-6.518152289098647e-8,0.00427094441011345,2.083220432249813e-5,-6.482534637528951e-8,0.004271199798210908,2.05492416329248e-5,-6.421755267416815e-8,0.00427159041645784,2.0199863007888447e-5,-6.346677840095314e-8,0.004272137010630017,1.986641311092636e-5,-6.274914812415897e-8,0.004272812866192905,1.9637907019181664e-5,-6.225512618287865e-8,0.004273546661830289,1.957484111226967e-5,-6.211428300886088e-8,0.004274248084309201,1.9683554754882735e-5,-6.234052528862284e-8,0.004274842584556,1.9916585609271047e-5,-6.283284863669002e-8,0.004275294989396107,2.0196932839426866e-5,-6.34271221447608e-8,0.004275612111248886,2.044876157713103e-5,-6.396157774097112e-8,0.004275829854443942,2.0618302854561106e-5,-6.432132893338302e-8,0.004275996344867708,2.068048102350494e-5,-6.445246254988373e-8,0.004276158761153353,2.0635703336763096e-5,-6.435525871581819e-8,0.00427635575964747,2.050278681984088e-5,-6.406929194779216e-8,0.004276614264766545,2.03118344130943e-5,-6.365844604760266e-8,0.004276948681532183,2.0098462742130343e-5,-6.319870838452115e-8,0.00427736112987467,1.9899240304877655e-5,-6.276838480380487e-8,0.004277842211255956,1.974773290141609e-5,-6.243949971073313e-8,0.004278372391904025,1.967077619426468e-5,-6.226968673760751e-8,0.004278924276628769,1.9684968915617704e-5,-6.229464867897638e-8,0.00427946603046503,1.9793798937027695e-5,-6.252207128612635e-8,0.004279965907331355,1.9986115124125946e-5,-6.292842834492383e-8,0.004280397398965965,2.0236567080278434e-5,-6.345990398536185e-8,0.004280744247696593,2.0508303055502708e-5,-6.403801521126411e-8,0.004281004505802116,2.075787626038736e-5,-6.45698971255669e-8,0.004281192901995228,2.0941958152062637e-5,-6.496252518206134e-8,0.004281340930710332,2.1025255578912166e-5,-6.513969573609285e-8,0.004281494037741554,2.0988991621400003e-5,-6.506040387677097e-8,0.004281705020143845,2.083884172795236e-5,-6.473613988226346e-8,0.004282022932066112,2.0609966237029076e-5,-6.424190093837948e-8,0.004282478182800925,2.0365345667199266e-5,-6.371269223823294e-8,0.004283067616495902,2.018344302717714e-5,-6.331700549222439e-8,0.004283747241477742,2.0134651144824004e-5,-6.320619458649664e-8,0.0042844407554519515,2.0253973496551404e-5,-6.345578723847007e-8,0.004285064598384449,2.0524555265033713e-5,-6.403009214368057e-8,0.004285558228008341,2.0883667246896797e-5,-6.479498002189184e-8,0.004285903068305841,2.1248575485531713e-5,-6.557331881327865e-8,0.004286121591209917,2.1546759971092086e-5,-6.620971443688664e-8,0.004286261550244254,2.173512138139228e-5,-6.661161891835543e-8,0.004286377010822107,2.1803562222643158e-5,-6.675698118613891e-8,0.004286514639174886,2.1767962224157696e-5,-6.667927461907289e-8,0.004286707249844844,2.1659831340824737e-5,-6.644549978914754e-8,0.004286972651294204,2.1517288514130502e-5,-6.613702981233638e-8,0.004287315036407035,2.137879459328305e-5,-6.583625969488997e-8,0.004287726996196279,2.1279125575024203e-5,-6.561792724729806e-8,0.00428819142343141,2.1246497524740444e-5,-6.554282703858169e-8,0.004288683412819257,2.1300005175710134e-5,-6.56522121072733e-8,0.004289172646002349,2.144705325197606e-5,-6.596225331674356e-8,0.004289626831671317,2.1681083267848825e-5,-6.64591918001667e-8,0.004290016489747565,2.1980505883871905e-5,-6.709706780234995e-8,0.0042903207017423875,2.2309974166205005e-5,-6.780039689973465e-8,0.004290532704681695,2.2624802256956494e-5,-6.847351420232322e-8,0.004290663720481053,2.2878545281189634e-5,-6.901668815447957e-8,0.004290743428588021,2.3032647343331645e-5,-6.934675430215987e-8,0.004290816160740989,2.3066060527652307e-5,-6.941783186631997e-8,0.004290932973482719,2.298241860165485e-5,-6.923692897416443e-8,0.004291140720082246,2.281268438762679e-5,-6.886989001401675e-8,0.004291469988513568,2.261171092999127e-5,-6.843422945885471e-8,0.0042919245712092595,2.244789438370406e-5,-6.807700264279899e-8,0.004292475971297328,2.238658804783379e-5,-6.793912075922681e-8,0.004293066649609138,2.2470558774809148e-5,-6.811318501504072e-8,0.004293623937526895,2.2703998892035536e-5,-6.860890598586648e-8,0.0042940818493636184,2.304812006375384e-5,-6.934344898792616e-8,0.004294402362672422,2.3432831436448893e-5,-7.016645002765099e-8,0.004294586104386337,2.378055743966283e-5,-7.091121590795328e-8,0.004294667795317409,2.4030920659155234e-5,-7.144780929009046e-8,0.004294700566059802,2.4155324165777983e-5,-7.171440891510901e-8,0.004294738209100082,2.4157840931771394e-5,-7.171925710040148e-8,0.0042948226573763385,2.4066452881318333e-5,-7.152192906009953e-8,0.004294978812281802,2.3921337639631674e-5,-7.120830502904449e-8,0.004295214901080934,2.3765000948817973e-5,-7.08694876550506e-8,0.004295525436407369,2.363587044291823e-5,-7.058807624485363e-8,0.004295894601684546,2.3564786623837452E-05,-7.04305813207749e-8,0.004296299122201778,2.357308522950433e-5,-7.044321503200956e-8,0.004296710657229467,2.367115187319423e-5,-7.064870539544668e-8,0.004297098295590391,2.38568917503796e-5,-7.104295898373251e-8,0.004297431906932636,2.4114275885103977e-5,-7.159190498213205e-8,0.004297686870625992,2.4412901902798002e-5,-7.223050607165677e-8,0.004297849991681794,2.4710049162891303e-5,-7.286710575334312e-8,0.00429792530231652,2.4956591162591826e-5,-7.339606327152146e-8,0.004297937372396556,2.5107015043400802e-5,-7.371925088269417e-8,0.004297929510021779,2.5131737805527713e-5,-7.377254984435431e-8,0.004297955548234345,2.5027789983162344e-5,-7.354890403274291e-8,0.004298066575615005,2.4823310836198834e-5,-7.310812995376074e-8,0.004298296552607654,2.4573070322224938e-5,-7.256747872959403e-8,0.004298651648983001,2.434559188780995e-5,-7.207413756368472e-8,0.004299106911661393,2.4205518413300738e-5,-7.176741926718479e-8,0.004299611453430702,2.4196312655059432e-5,-7.174150839999789e-8,0.0043001009376553104,2.4328171010078167e-5,-7.201924724959771e-8,0.004300514215980978,2.45747458074727e-5,-7.254478183774332e-8,0.00430080955408668,2.4880164403869278e-5,-7.319841098782959e-8,0.00430097535914321,2.5174795560467062e-5,-7.383040760602065e-8,0.004301031639911904,2.5394822709818133e-5,-7.430318462394381e-8,0.004301021854896047,2.549876742515806e-5,-7.452698087324046e-8,0.004300998826632299,2.5475424898201563e-5,-7.447707677090092e-8,0.0043010105133326326,2.5341837209243172e-5,-7.418955573869462e-8,0.00430109035070397,2.513426620792213e-5,-7.374198268112992e-8,0.004301253742716078,2.48970164755011e-5,-7.32294267491531e-8,0.004301499427306543,2.467299592201586e-5,-7.274417707510015e-8,0.0043018132999952385,2.4497627550464064e-5,-7.236262240548909e-8,0.004302172657874503,2.4395814589290057e-5,-7.213867310051331e-8,0.004302549817683467,2.4380785913499932e-5,-7.210122313442096e-8,0.0043029149958991805,2.44536492446394e-5,-7.225313252007961e-8,0.004303238964457443,2.460296377691644e-5,-7.2570238773880585E-08,0.00430349625434463,2.4804348391217722e-5,-7.300042578258291e-8,0.0043036695281246816,2.50209511462533e-5,-7.34645445614565e-8,0.0043037550770795956,2.5206324498041653e-5,-7.386254745634518e-8,0.004303768148276709,2.5311391686062272e-5,-7.408849797523384e-8,0.004303745290754547,2.5296058710614142e-5,-7.405564302472968e-8,0.0043037402219377715,2.5143263129179642e-5,-7.372674513257676e-8,0.004303811401843918,2.486984655474745e-5,-7.31375476237472e-8,0.004304003924871586,2.452738717704159e-5,-7.239861410051003e-8,0.004304332998053507,2.4189634346796077e-5,-7.166837537127397e-8,0.004304777053220583,2.3930305794275484e-5,-7.110548942813876e-8,0.0043052839373079,2.380055815885997e-5,-7.082046368346776e-8,0.004305786979287081,2.381512406074437e-5,-7.084577599968396e-8,0.004306223908680077,2.3950918898359302e-5,-7.113265222969439e-8,0.0043065521824008435,2.4156359154944985e-5,-7.157081214482665e-8,0.00430675720105395,2.4366745878058644e-5,-7.202132826384251e-8,0.00430685272341944,2.452074994873828e-5,-7.235202054839195e-8,0.0043068746876313785,2.457397362237289e-5,-7.246674040986775e-8,0.004306870807432403,2.450692094765032e-5,-7.232274420159353e-8,0.0043068889333198876,2.4326274108967804e-5,-7.193368553734489e-8,0.004306967157178836,2.4060115372153373e-5,-7.135951482856131e-8,0.004307127792060001,2.3749312473508598e-5,-7.068800846487233e-8,0.004307375847549257,2.3437998378882705e-5,-7.001424126954424e-8,0.0043077011487614265,2.316559033074148e-5,-6.942331161839482e-8,0.004308082476774727,2.296156998550824e-5,-6.897901648309085e-8,0.004308492160407662,2.2843008936849732e-5,-6.871848008341235e-8,0.00430890014225028,2.2814028032551207e-5,-6.865098180169714e-8,0.004309277281921247,2.2866200020617407e-5,-6.875880227967708e-8,0.004309598220494261,2.2979234337591817e-5,-6.899862356038913e-8,0.004309844408536244,2.3121853538730567e-5,-6.930329429478826e-8,0.0043100078615668095,2.3253479651415424e-5,-6.95853524949172e-8,0.004310095640386761,2.3328083445441076e-5,-6.974529757037752e-8,0.0043101338257101485,2.3301787131791224e-5,-6.968807200575135e-8,0.004310168187241177,2.3144787924465443e-5,-6.934892854607553e-8,0.004310257826444425,2.285531683637069e-5,-6.872365125157918e-8,0.004310459684221365,2.2469228310805165e-5,-6.788925321183882e-8,0.0043108073193948325,2.2056750050369026e-5,-6.699692997284909e-8,0.004311294032439131,2.170255209789584e-5,-6.622910378436072e-8,0.004311871307369093,2.1476062378587954e-5,-6.573553756794064e-8,0.004312465198993063,2.1407057452158824e-5,-6.558081946270183e-8,0.004313001977162613,2.147859710794636e-5,-6.572910476913147e-8,0.00431343005920553,2.1637960989153616e-5,-6.606750631843108e-8,0.004313730316577628,2.181691089414023e-5,-6.644950764688654e-8,0.004313914738250244,2.1951418489715036e-5,-6.673726332891451e-8,0.004314017860593639,2.1995240270097538e-5,-6.6830778021755e-8,0.00431408563427076,2.1926188546349096e-5,-6.668152880876458e-8,0.004314164844430976,2.1746350005664837e-5,-6.62931915957548e-8,0.00431429466372932,2.1478088191753095e-5,-6.571331506627689e-8,0.004314501024681896,2.1157447735519515e-5,-6.501929657323107e-8,0.004314794068269408,2.0826407239506826e-5,-6.430170217264929e-8,0.004315168523400873,2.0525388218328684e-5,-6.364798919827755e-8,0.00431560642180513,2.0287173353931803e-5,-6.31292183912412e-8,0.0043160812455876356,2.0132909454777427e-5,-6.279132138753954e-8,0.004316562520177888,2.007033177327738e-5,-6.265126152698634e-8,0.00431702006617794,2.00938082788825e-5,-6.269717769742918e-8,0.004317427588706235,2.018551638500187e-5,-6.28909388180351e-8,0.004317765712734754,2.0317234227004703e-5,-6.317193328846631e-8,0.004318024775138963,2.0452628316515763e-5,-6.34618604024906e-8,0.00431820770093002,2.0550394730606987e-5,-6.367139110618334e-8,0.004318332893899484,2.0569188001987255e-5,-6.371081436092053e-8,0.004318436011644906,2.04754635624101e-5,-6.350712260775898e-8,0.0043185681789404615,2.0254385622796044e-5,-6.302778494565895e-8,0.004318787523787666,1.9921423273137004e-5,-6.230594134708772e-8,0.004319142414166795,1.9528518015015e-5,-6.145372829533996e-8,0.004319650180655444,1.9156534321257355e-5,-6.064588141621515e-8,0.004320282432594846,1.8890460254098007e-5,-6.006610839445816e-8,0.00432096924731175,1.8786257539194468e-5,-5.983551079099197e-8,0.004321623889974825,1.8848028753740572e-5,-5.996331107102821e-8,0.004322174856199251,1.9029232241916958e-5,-6.03494594472305e-8,0.004322587553187694,1.9254995930678356e-5,-6.083272565155132e-8,0.004322867520357473,1.9450265918529555e-5,-6.125132934634046e-8,0.004323049667978551,1.956007946768571e-5,-6.148655784160723e-8,0.004323182862961931,1.9557648041747735e-5,-6.148015369528662e-8,0.004323316556168647,1.9443050480583164e-5,-6.123159791433297e-8,0.004323491840940722,1.9237131005163212e-5,-6.0785188942898e-8,0.004323736659978244,1.8974013586600857e-5,-6.021415798447603e-8,0.00432406401637427,1.8693883726101143e-5,-5.960523413418266e-8,0.004324472264424686,1.8436553474490432e-5,-5.904470094336049e-8,0.004324946983099295,1.8236033860153257e-5,-5.860648003866715e-8,0.004325464084859797,1.811635649105119e-5,-5.8342897748555724e-8,0.004325993794135984,1.8088868183602328e-5,-5.8278740560323874e-8,0.004326505053826906,1.8151193617222837e-5,-5.84090469392405e-8,0.004326969827564337,1.8287871460248693e-5,-5.870057233852731e-8,0.004327366867667058,1.8472348280178974e-5,-5.909613070587311e-8,0.004327684784604043,1.8669955227489085e-5,-5.952094345795759e-8,0.004327924409123366,1.8841706401499647e-5,-5.989069354469142e-8,0.004328100446453682,1.8948978694444737e-5,-6.012153384588638e-8,0.004328242207755195,1.8959396499784854e-5,-6.014285604854431e-8,0.00432839251061342,1.8854306712077532e-5,-5.991366270790545e-8,0.004328602976287375,1.8637363771232864e-5,-5.9441399495521534e-8,0.004328923808193235,1.834172061702968e-5,-5.879768517306489e-8,0.0043293877420519525,1.803074398317214e-5,-5.8119858923673065e-8,0.004329992303019424,1.7786082973530267e-5,-5.7585025996974733e-8,0.0043306904239555155,1.768141014178147e-5,-5.735306902442807e-8,0.004331400140317573,1.7751344357086818e-5,-5.749928204325917e-8,0.00433203358321681,1.797402614272783e-5,-5.79766211094402e-8,0.004332530332663138,1.828016466901793e-5,-5.8635303908857e-8,0.004332875915402321,1.858298602165903e-5,-5.928765562337491e-8,0.00433309804217549,1.8810034258350935e-5,-5.977689798049865e-8,0.004333248483983109,1.8921204984793378e-5,-6.001607106531904e-8,0.00433338344031064,1.891050947589809e-5,-5.999178553599807e-8,0.004333550076056095,1.879802272931174e-5,-5.974688447449809e-8,0.00433378028617974,1.8619161178224815e-5,-5.935746777534596e-8,0.004334089547866698,1.841532739235039e-5,-5.891288378805079e-8,0.004334478361386218,1.8227051919153682e-5,-5.8500987248132956e-8,0.004334934676237755,1.8089192813388756e-5,-5.819765687811798e-8,0.004335436753461419,1.8027479513569926e-5,-5.805910095808496e-8,0.0043359564346629785,1.805604332199269e-5,-5.8116315662884676e-8,0.004336462854060841,1.8175905259323786e-5,-5.837173979925861e-8,0.0043369265589401195,1.8374650843245116e-5,-5.8798606028170783e-8,0.0043373237749320314,1.8627644789034814e-5,-5.9343665372251605e-8,0.004337640287689868,1.8900903887741546e-5,-5.993342885257249e-8,0.004337874393414731,1.915541028175581e-5,-6.0483416036833585E-08,0.004338038508031595,1.935252810257927e-5,-6.090974291052553e-8,0.004338159117798005,1.9460134108828392e-5,-6.114232980148806e-8,0.004338274774933433,1.9459013263327866e-5,-6.113884811203717e-8,0.004338431681466829,1.9348999136279857e-5,-6.089826911602292e-8,0.004338676165081497,1.9153806772625883e-5,-6.047161761109011e-8,0.004339043688685932,1.8922294391678095e-5,-5.996487910391701e-8,0.004339545635601907,1.872276095381814e-5,-5.952661815361361e-8,0.004340158161930944,1.8627380820978457e-5,-5.9314042383671195e-8,0.004340820587457169,1.8688023122385006e-5,-5.944030774359304e-8,0.0043414499059315215,1.8912570225124942e-5,-5.992294543545765e-8,0.004341969354982378,1.9256317958197064e-5,-6.066513104038634e-8,0.00434233727438235,1.963727956575248e-5,-6.148895689362684e-8,0.004342559700425284,1.9968375421524345e-5,-6.22053917653275e-8,0.004342681194553419,2.0187890581981525e-5,-6.268039485374884e-8,0.004342762928135588,2.0273446998614515e-5,-6.286515201466919e-8,0.004342861762115175,2.0238340874590014e-5,-6.278807051788223e-8,0.0043430181177510525,2.0118621313219873e-5,-6.25268278416331e-8,0.004343252686041884,1.9959504096147545e-5,-6.217910056180777e-8,0.004343568466291725,1.9805367104343365e-5,-6.184105171446118e-8,0.004343954731686096,1.9693836953182042e-5,-6.159455561595036e-8,0.004344390973704534,1.9652723436851773e-5,-6.150043408182522e-8,0.004344850331140559,1.969838524407601e-5,-6.159471002910778e-8,0.004345302792489047,1.9834740731576415e-5,-6.188629404236862e-8,0.004345718569954192,2.0052786388798823e-5,-6.235588467085406e-8,0.004346071890108299,2.0330942481172956e-5,-6.295676357140448e-8,0.004346345120939216,2.0636843362656404e-5,-6.361874562488397e-8,0.004346532649407227,2.0931092520010435e-5,-6.425633112670948e-8,0.004346643556812209,2.1172987348254808e-5,-6.478105282775598e-8,0.004346702139067369,2.1327622981692872e-5,-6.511679997367014e-8,0.004346745608778673,2.137326837845882e-5,-6.521581332631904e-8,0.004346818808370958,2.130755124320618e-5,-6.507223672428581e-8,0.004346966320702236,2.1150975510158874e-5,-6.472999399619078e-8,0.004347222824520035,2.0946473775532036e-5,-6.428207114555517e-8,0.004347603087958219,2.0753784072168932e-5,-6.385844812624413e-8,0.004348093942432825,2.0637814013072452e-5,-6.36007815326696e-8,0.004348651739160019,2.0651659508830847e-5,-6.36252925003523e-8,0.0043492091234758985,2.0818025289423062e-5,-6.398208836552688e-8,0.004349692649033529,2.1116545144798856e-5,-6.462735152225057e-8,0.004350046851532632,2.148558579412229e-5,-6.542717677117046e-8,0.004350254077818288,2.1841590704683874e-5,-6.619972247540033e-8,0.004350339218690546,2.2108334127427978e-5,-6.677897296497183e-8,0.0043503570289232605,2.2241363549602545e-5,-6.706795464383658e-8,0.004350370300956235,2.2236598604831392e-5,-6.705740408002692e-8,0.004350430646805905,2.2122994339245096e-5,-6.680980212150948e-8,0.004350568672542956,2.1947338186704e-5,-6.642641374111236e-8,0.004350793241612556,2.1759652050497017e-5,-6.601571687264844e-8,0.0043510958731244245,2.1603418432720286e-5,-6.567227801223937e-8,0.004351456464205779,2.1510811396030194e-5,-6.546638399293138e-8,0.004351848247956533,2.1501213936502228e-5,-6.544069492800358e-8,0.004352241536665431,2.1581184167779784e-5,-6.560999904068952e-8,0.00435260671995346,2.174478040527643e-5,-6.596178678053824e-8,0.004352917203110646,2.1974004373243897e-5,-6.645716600620018e-8,0.004353152776554337,2.2239771173006768e-5,-6.70329889115276e-8,0.0043533034557195595,2.250423557099356e-5,-6.760694213289382e-8,0.004353373159793762,2.2725320394767957e-5,-6.808739588456914e-8,0.004353381934028024,2.2863721397970617e-5,-6.838860655220757e-8,0.004353365144473504,2.2891593869259356e-5,-6.844958399294913e-8,0.004353368520464555,2.2800891768739177e-5,-6.825225963723115e-8,0.004353439178980252,2.2608536352457108e-5,-6.783284315230564e-8,0.004353614398994551,2.235592337679717e-5,-6.728093363331758e-8,0.004353911091254241,2.210179351953395e-5,-6.672420060605343e-8,0.004354319093981324,2.1909457854221882e-5,-6.63007028625976e-8,0.00435480070535855,2.183105798865961e-5,-6.612459579585697e-8,0.004355297564439238,2.1892701313526038e-5,-6.62535720399581e-8,0.004355744274261172,2.208486894760374e-5,-6.666768156040473e-8,0.004356085988373349,2.2362140804206785e-5,-6.72684784304803e-8,0.004356294790867451,2.265429960519879e-5,-6.790310472655907e-8,0.004356378446729466,2.2886711643210605e-5,-6.840875002736263e-8,0.004356377083974059,2.300287959510685e-5,-6.866191818023424e-8,0.004356348835649946,2.2979906602058662e-5,-6.861222380829316e-8,0.004356351070803769,2.283100298627068e-5,-6.828791603511024e-8,0.0043564253033482265,2.2596103437619816e-5,-6.777550831067574e-8,0.004356590438485916,2.232692894571213e-5,-6.71873398673657e-8,0.004356843977258533,2.207328036231141e-5,-6.663181407464889e-8,0.00435716773989199,2.1874255200302816e-5,-6.619429149558181e-8,0.0043575345277402245,2.17545974438534e-5,-6.592907552880914e-8,0.00435791364940389,2.1724473774609717e-5,-6.585880479157714e-8,0.004358274835255978,2.1780736857639492e-5,-6.597708420358102e-8,0.00435859102021611,2.190842428008057e-5,-6.625166759485598e-8,0.004358840788105637,2.2082124326210005e-5,-6.66273960160543e-8,0.004359011140673432,2.2267590761594875e-5,-6.702970759557112e-8,0.004359100770459174,2.2424521416654e-5,-6.737069654700543e-8,0.0043591232349589806,2.2511572931629804e-5,-6.756005138998922e-8,0.004359108521787183,2.2494178942973776e-5,-6.752211476792377e-8,0.004359100878157092,2.235434252364082e-5,-6.721725820444066e-8,0.004359151203790916,2.209952344550378e-5,-6.666129656422452e-8,0.004359304391648528,2.1766202486049173e-5,-6.59333189575158e-8,0.004359585156155929,2.141440124607869e-5,-6.516384241477555e-8,0.004359988028082468,2.1112991988769316e-5,-6.450292098818624e-8,0.004360476321122433,2.0920264451710092e-5,-6.407788779132097e-8,0.004360991139310915,2.0866833130000284e-5,-6.395608344448584e-8,0.0043614672632936585,2.094691373648151e-5,-6.412567446990825e-8,0.00436185047259702,2.1120373710730043e-5,-6.449986452881506e-8,0.004362111124733698,2.1324180464702604e-5,-6.4941620161576e-8,0.004362250570187353,2.1489435250093217e-5,-6.53007002748905e-8,0.004362299121386524,2.155913544719217e-5,-6.54524253343876e-8,0.004362306490900004,2.1501808725852057e-5,-6.532755100187959e-8,0.004362327761153033,2.131732881203479e-5,-6.492513324816661e-8,0.0043624093738372635,2.103373524474476e-5,-6.430576510522246e-8,0.0043625793884881775,2.0697054625575986e-5,-6.356950528095524e-8,0.004362844207020741,2.0358383999011046e-5,-6.282776240788013e-8,0.004363191208127825,2.006260880711081e-5,-6.217865603614356e-8,0.004363594835992581,1.984133466131531e-5,-6.169150041406605e-8,0.004364023394089613,1.971031936272081e-5,-6.140108548051583e-8,0.004364444713893855,1.9670147056786693e-5,-6.130906149278202e-8,0.004364830116595006,1.9708457183723877e-5,-6.13887614197793e-8,0.004365157008842049,1.9802456355045293e-5,-6.159066614971228e-8,0.0043654108447642925,1.9921222630134676e-5,-6.184741174273681e-8,0.004365587133171469,2.002805687530203e-5,-6.207888714985402e-8,0.004365693773882021,2.0083687956816993e-5,-6.219920719112305e-8,0.004365753261816067,2.0051413982690625e-5,-6.21279557727769e-8,0.004365803266929434,1.990492580654581e-5,-6.18073352015643e-8,0.004365893211815998,1.963812772857377e-5,-6.122369196067238e-8,0.00436607468587738,1.9273718051626967e-5,-6.042630561545666e-8,0.004366386030933518,1.8864892817626648e-5,-5.953112197574838e-8,0.004366836077417156,1.8485075349996475e-5,-5.869834534688314e-8,0.004367395636384049,1.8206114824510273e-5,-5.808489610024617e-8,0.0043680034475078715,1.807342018736887e-5,-5.779018629925774e-8,0.004368585429190273,1.8090183319349116e-5,-5.7821670584522674e-8,0.004369078205338029,1.8218018646954217e-5,-5.8096130493753056e-8,0.004369446485515545,1.8391914972714372e-5,-5.8472137246485704e-8,0.00436968898915749,1.854111673960781e-5,-5.879546235081837e-8,0.004369833869388169,1.8607666783746486e-5,-5.893945230499611e-8,0.004369927829734204,1.8558083076927652e-5,-5.883053071818364e-8,0.0043700232722843815,1.8387261432697222e-5,-5.845686139765173e-8,0.004370166642890487,1.8115771799109823e-5,-5.78626810222891e-8,0.004370389908592708,1.778250420799372e-5,-5.7132479090411445e-8,0.004370706190176643,1.7434832951346612e-5,-5.63696521066772e-8,0.004371109765100231,1.7118586178875612e-5,-5.5674571774707e-8,0.00437157972214823,1.6869939219546253e-5,-5.5126719806860253e-8,0.004372085769119738,1.671054970042191e-5,-5.477386649502183e-8,0.004372594495239376,1.6646123535862942e-5,-5.462880762363998e-8,0.004373074761423813,1.6667710334556395e-5,-5.467217352867607e-8,0.004373501568673639,1.675457816700928e-5,-5.485876153998176e-8,0.004373858478157565,1.687756120804058e-5,-5.5124896858937915e-8,0.004374139111879542,1.7002287531392034e-5,-5.5395470307775045e-8,0.0043743482958161295,1.7092346989803696e-5,-5.559079621301812e-8,0.004374503133939031,1.7112951246571128e-5,-5.5634563689226273e-8,0.004374633720251839,1.7035925052044434e-5,-5.546478116239983e-8,0.00437478225005965,1.6846665517467146e-5,-5.504911354774486e-8,0.0043749983953135655,1.6552475631203626e-5,-5.440324873724291e-8,0.004375328872488854,1.618927976830758e-5,-5.360566541222857e-8,0.0043758013925030695,1.5821068508656155e-5,-5.2796405543630164e-8,0.004376408267399701,1.552634116046679e-5,-5.214735730105396e-8,0.004377099954417064,1.5371900421595234E-05,-5.180488666204743e-8,0.004377797060914417,1.5385036173928835e-5,-5.182897065432117e-8,0.004378418187720637,1.5540645773084347e-5,-5.2165003016123936e-8,0.004378909008357041,1.5771884933839974e-5,-5.266706122898232e-8,0.0043792572209281865,1.599719360222389e-5,-5.315697219265368e-8,0.004379488986244382,1.6147744983164754e-5,-5.34842622002332e-8,0.004379653735493992,1.6183696763184442e-5,-5.356159676976171e-8,0.004379807029548539,1.6097454183882332e-5,-5.337188796430934e-8,0.004379997377027852,1.5908215829117925e-5,-5.2956489809098333e-8,0.004380258535441446,1.5652790384862128e-5,-5.239536296392365e-8,0.004380606499311609,1.5376010872551103e-5,-5.178635373794103e-8,0.00438103981704955,1.5122274389860483e-5,-5.122678455064238e-8,0.0043815422062817,1.4928716380928159e-5,-5.079841505994918e-8,0.0043820867949589636,1.4820349015323273e-5,-5.055656434916802e-8,0.004382641303252554,1.4807475268811135e-5,-5.052422039228374e-8,0.004383173380248949,1.4885420145896664e-5,-5.0691348370280644e-8,0.004383655356796422,1.5036302184118528e-5,-5.1018815625741976e-8,0.004384067847834171,1.5232293344004387e-5,-5.144564428159387e-8,0.0043844019828522774,1.543961315370945e-5,-5.1897827868784535e-8,0.004384660446837142,1.5622634657119858e-5,-5.229728990740927e-8,0.0043848576711448175,1.5747902572815793e-5,-5.257058563354719e-8,0.0043850193932531934,1.5788236658408824e-5,-5.2657827564574646e-8,0.0043851814481957125,1.572732220635757e-5,-5.252279948825495e-8,0.004385386970873339,1.5565072314536914e-5,-5.216487783723147e-8,0.004385680534183977,1.532309143986357e-5,-5.163119876709418e-8,0.004386097920633204,1.5047759637200314e-5,-5.102352030618483e-8,0.004386652021040343,1.4806503360449029e-5,-5.0490006751438264e-8,0.004387319473877426,1.4672634763753373e-5,-5.019184730718326e-8,0.004388037475553013,1.4699180145777687e-5,-5.024571194944651e-8,0.004388719358254085,1.4892581471994294e-5,-5.066597535539156e-8,0.004389286252243407,1.5203884862031068e-5,-5.1345376667470573e-8,0.00438969797548042,1.5546829342512437e-5,-5.209476228885879e-8,0.004389964650890107,1.583302129175502e-5,-5.272030351592314e-8,0.004390134913807563,1.6002864742013964e-5,-5.309129370757188e-8,0.004390272271287374,1.6037840528340582e-5,-5.3166940446750974e-8,0.004390434097429688,1.595511112825302e-5,-5.298445643173724e-8,0.004390660057645578,1.579392903294117e-5,-5.262936255347156e-8,0.004390969109008046,1.5602006407262715e-5,-5.220585215637865e-8,0.0043913615412258964,1.542537772061049e-5,-5.1814795817357e-8,0.004391823037389939,1.5302039558842245e-5,-5.153985439117854e-8,0.004392329121287766,1.5258332624760626e-5,-5.143939304550827e-8,0.004392849551497714,1.5307073316800725e-5,-5.1542117695367437e-8,0.004393352682154456,1.54470359086033e-5,-5.18457185429351e-8,0.00439380971458905,1.566375392426153e-5,-5.23185628529972e-8,0.004394198597306122,1.5931683059558592e-5,-5.2904527284831545e-8,0.004394507186734965,1.621768345692803e-5,-5.353077333402549e-8,0.004394735227108045,1.6485492657756142e-5,-5.411762647781867e-8,0.004394894902223298,1.6700626893534787e-5,-5.45892803278868e-8,0.004395009971871057,1.6835218512750443e-5,-5.48843068576531e-8,0.004395113603586854,1.687246367982367e-5,-5.496537371682426e-8,0.004395244949411491,1.6810475067017456e-5,-5.482779901120044e-8,0.0043954442427448425,1.6665347947444088e-5,-5.450649984627839e-8,0.004395745883391455,1.6472740140844224e-5,-5.407968384406357e-8,0.0043961693024316155,1.6286178870649144e-5,-5.366522773031633e-8,0.0043967088244268844,1.616943709032258e-5,-5.340384348847231e-8,0.00439732633496883,1.6180870696195093e-5,-5.342443633742838e-8,0.004397953375547895,1.635135413255929e-5,-5.379535836427356e-8,0.0043985084347460835,1.6664842817597192e-5,-5.448152340898046e-8,0.004398926535594353,1.7055762545965226e-5,-5.533868602056141e-8,0.004399186184162931,1.7430878674003617e-5,-5.616169045398201e-8,0.004399316502889809,1.7706012639717648e-5,-5.676535310620799e-8,0.004399380619391071,1.7836085828877507e-5,-5.7050496127308454e-8,0.0043994479138703985,1.782330059445976e-5,-5.70217692683362e-8,0.004399571685962228,1.7705329205192075e-5,-5.676158687960766e-8,0.004399779842592975,1.7535919356775476e-5,-5.6387604272475e-8,0.004400076250313624,1.736849329520766e-5,-5.601691660456328e-8,0.0044004470021380936,1.7246443601718784e-5,-5.574493496590799e-8,0.0044008672958289925,1.7199144884804796e-5,-5.5636639903815625e-8,0.004401307044890794,1.724130099925887e-5,-5.572497188992369e-8,0.00440173510197177,1.737368836590099e-5,-5.6012208288017816e-8,0.004402122691783258,1.7584415933249197e-5,-5.6472543144591716e-8,0.004402446537357039,1.785064042267672e-5,-5.705582151470724e-8,0.004402691816659508,1.8141037663291022e-5,-5.7693066337959046e-8,0.004402854735432183,1.841939830699297e-5,-5.8304506128850546e-8,0.0044029441466111215,1.86494319283523e-5,-5.88101859483882e-8,0.004402981550175842,1.8800342453498846e-5,-5.914217622460607e-8,0.004402999067764595,1.8852377164001726e-5,-5.925669183407802e-8,0.004403035359985339,1.8801411674438728e-5,-5.914416507577008e-8,0.0044031298139103415,1.866162281600663e-5,-5.883524829467042e-8,0.004403315601073636,1.8465518632622366e-5,-5.8401102927705954e-8,0.004403612303337892,1.8260820798133723e-5,-5.794674902359043e-8,0.00440401903455858,1.810360352195355e-5,-5.7596036212635465e-8,0.004404509752154576,1.8047165882872968e-5,-5.746702598309528e-8,0.004405033516436402,1.812725114889848e-5,-5.763917890945277e-8,0.004405522902615492,1.834684093381671e-5,-5.8119578846809494e-8,0.0044059119457882465,1.866727755270758e-5,-5.8823215461512124e-8,0.004406159440016461,1.9013925428711905e-5,-5.958550245976834e-8,0.004406266628248096,1.9299284542711648e-5,-6.021339687547807e-8,0.004406277737108989,1.945484969608813e-5,-6.055575571644973e-8,0.004406261496645234,1.9454837423611572e-5,-6.055559500071444e-8,0.004406284449775708,1.9319660877416878e-5,-6.025761062267969e-8,0.00440639062788073,1.910099176720538e-5,-5.977521664665257e-8,0.004406594829344743,1.886022453602534e-5,-5.924323335780905e-8,0.004406887078573716,1.8651292088100253e-5,-5.878025539400848e-8,0.004407241761031286,1.8511880264080445e-5,-5.846944211875105e-8,0.0044076263524043535,1.8461551898719056e-5,-5.835435137480919e-8,0.0044080076754981525,1.8503530268696664e-5,-5.8442683603324096e-8,0.00440835579500999,1.862755742929406e-5,-5.871235534719573e-8,0.004408646532290339,1.881262321625275e-5,-5.911736690258402e-8,0.004408863496128932,1.9029458207028737e-5,-5.959328119831901e-8,0.004409000066919958,1.924325840921723e-5,-6.006330961355848e-8,0.004409061253908856,1.9417302526743488e-5,-6.044637646552229e-8,0.004409064800155661,1.9517894893698925e-5,-6.066804549783033e-8,0.00440904055014602,1.9520391771617026e-5,-6.067376479634501e-8,0.004409027212339246,1.9415263477098266e-5,-6.044217579738232e-8,0.004409066265143777,1.9212538136596372e-5,-5.99949182565613e-8,0.004409193715141178,1.8942795303234154e-5,-5.939893403493536e-8,0.0044094314113227616,1.865344497733075e-5,-5.875845298339941e-8,0.004409780143242562,1.8400286623901103e-5,-5.8196555817766816e-8,0.004410216569539457,1.8235638567657733e-5,-5.782905216370578e-8,0.004410695422717016,1.8195238170461436e-5,-5.773546974239403e-8,0.004411157650944433,1.8286844900537162e-5,-5.7933659296607315e-8,0.004411543971861461,1.8484117436023682e-5,-5.836601541020027e-8,0.004411811395675748,1.8729348317482946e-5,-5.890535923731313e-8,0.004411947793992804,1.89470109132833e-5,-5.938486561457419e-8,0.0044119780011767805,1.906592214848751e-5,-5.964712702981143e-8,0.004411956808968038,1.9042277832868503e-5,-5.9595124411453214e-8,0.004411950401682743,1.8873156757466962e-5,-5.92220569871064e-8,0.004412014554899769,1.8594182067809693e-5,-5.8606156280090905e-8,0.004412179536671111,1.8263848967560027e-5,-5.7876134214088945e-8,0.0044124466739733125,1.7943581917926447e-5,-5.716729690606632e-8,0.004412794575472388,1.7682304086576782e-5,-5.6587619247160394e-8,0.004413189368832398,1.7509204078874898e-5,-5.6201810628385806e-8,0.004413594086340192,1.743345530047553e-5,-5.603059765879325e-8,0.004413975065031127,1.7447630029714103e-5,-5.605809066694707e-8,0.004414305472350097,1.7532025516451413e-5,-5.6241179923360305e-8,0.004414567041261399,1.7658503065552773e-5,-5.651793566777759e-8,0.004414751115520992,1.779363418722658e-5,-5.681456751260478e-8,0.004414859663338807,1.7901658854669397e-5,-5.7052019121006296e-8,0.0044149062993784445,1.794805755027884e-5,-5.7153915757579485e-8,0.004414916691840586,1.7904389601374315e-5,-5.7057269944060924e-8,0.004414927200000021,1.77543682378513e-5,-5.672588204884182e-8,0.0044149804922138025,1.750003314877578e-5,-5.616395099473292e-8,0.00441511759337999,1.7165714561544804e-5,-5.542484487782527e-8,0.004415367428776234,1.679696126662312e-5,-5.460881274387819e-8,0.0044157368984729635,1.64525946058128e-5,-5.3845568238601775e-8,0.0044162055472075626,1.6190716787134946e-5,-5.3263516737987664e-8,0.004416727899593218,1.6052589799655223e-5,-5.295419024084609e-8,0.0044172437234548155,1.6049869174066154e-5,-5.294395078197559e-8,0.004417693384688244,1.615974344870538e-5,-5.3183040430361466e-8,0.004418033663467096,1.6329784446188893e-5,-5.355607037861073e-8,0.004418249405605174,1.6491255741248804e-5,-5.391129234465096e-8,0.004418357633513688,1.657727659886784e-5,-5.41007360539825e-8,0.004418402673640693,1.6540796109409133e-5,-5.4020027084270734e-8,0.004418443391223361,1.636694373579072e-5,-5.3635805163711675e-8,0.004418536429934856,1.6075637077552477e-5,-5.2991599870440183e-8,0.004418721153570862,1.5713686813819345e-5,-5.219048380509432e-8,0.004419011327149181,1.5339827180016276e-5,-5.136208116526004e-8,0.004419395436149071,1.5008693642004086e-5,-5.062720950800594e-8,0.004419843763828487,1.475917925423041e-5,-5.0072119853676645e-8,0.004420318190940414,1.4609543041482485e-5,-4.973758066953034e-8,0.004420781006999231,1.455837640529271e-5,-4.9620879180614367e-8,0.004421200875707693,1.4588855571197866e-5,-4.9685116993361385e-8,0.004421555921818236,1.4673832615992423e-5,-4.9870423302738325e-8,0.004421834861138942,1.4780363310829798e-5,-5.0103979045361175e-8,0.004422037237442245,1.4873349197413976e-5,-5.030810679146616e-8,0.0044221735003303324,1.4918708687383351e-5,-5.0407314602882546e-8,0.004422265076734925,1.488684665139391e-5,-5.0335987892971714e-8,0.004422343894139628,1.4757129675741033e-5,-5.004829930915722e-8,0.004422450182798508,1.4523472760162985e-5,-4.953057889944237e-8,0.004422627129488367,1.4199935359410018e-5,-4.8813710361903955e-8,0.004422911606825086,1.382367526534905e-5,-4.7979688149729203e-8,0.004423322237828266,1.3451651182103001e-5,-4.715436315562399e-8,0.00442384901396835,1.3148639319550321e-5,-4.6480995689175956e-8,0.004424450465700748,1.2968277830758903e-5,-4.6078384882655163e-8,0.004425062411682258,1.2934115116972632e-5,-4.599895383332543e-8,0.004425616532075163,1.3029713949506274e-5,-4.620678002907812e-8,0.00442606125460747,1.3203026493029452e-5,-4.658713648167632e-8,0.004426376247492937,1.3382921571667098e-5,-4.698291956016331e-8,0.0044265757656095205,1.3500398155340669e-5,-4.7241493967355725e-8,0.0044267015746751685,1.3506656906523134e-5,-4.7254652877251136e-8,0.004426809564985756,1.3383317501207797e-5,-4.698127400556689e-8,0.004426954798878417,1.3143641854113754e-5,-4.645015416988944e-8,0.004427178862902963,1.282611238434304e-5,-4.574598280569655e-8,0.004427502065621027,1.248309395401886e-5,-4.498442593684408e-8,0.004427921557662274,1.2167909243147152e-5,-4.4283605507852286e-8,0.0044284149290582065,1.1923590626574095e-5,-4.373914849628887e-8,0.004428947492553156,1.1775726251332769e-5,-4.340818287378602e-8,0.0044294807498054785,1.1730276245194692e-5,-4.330431159108967e-8,0.00442997978210213,1.1775616157272551e-5,-4.3402016286169154e-8,0.004430418284203898,1.1887104697408922e-5,-4.3646763807176316e-8,0.004430781078167451,1.2032394059880673e-5,-4.396683813881441e-8,0.004431064723837474,1.2176260557030221e-5,-4.428411771350637e-8,0.0044312770935376515,1.228454666456542e-5,-4.452283720664672e-8,0.004431436570445023,1.2327479539015128e-5,-4.4616919616307796e-8,0.004431571073044788,1.2282959424570596e-5,-4.451723465126646e-8,0.004431716519505703,1.2140402085948442e-5,-4.420012359781004e-8,0.004431913708413011,1.190525144918933e-5,-4.367745401611296e-8,0.004432202271488714,1.1603137979985335e-5,-4.3005902031456583e-8,0.00443261096494701,1.128105558813796e-5,-4.228959825337529e-8,0.004433145658560025,1.1001798769206879e-5,-4.166779716993523e-8,0.004433779801368679,1.082900401217352e-5,-4.12817006687968e-8,0.004434454646972603,1.0805123199301839e-5,-4.122560821070611e-8,0.004435094025680583,1.093179184586048e-5,-4.1503363883340675e-8,0.004435629850168535,1.1164738583475233e-5,-4.20170322203088e-8,0.004436026030782993,1.1428372850655338e-5,-4.259921088755147e-8,0.004436288544140871,1.1642827137621819e-5,-4.30729574358741e-8,0.00443645852333741,1.1749408550127374e-5,-4.33081550485094e-8,0.004436594888881352,1.1724150687214207e-5,-4.3251474414460785e-8,0.004436755874140951,1.1577909422798677e-5,-4.292656969019233e-8,0.00443698556045168,1.134743368171151e-5,-4.241440383930332e-8,0.004437307141160754,1.1082923092713402e-5,-4.1825890935872864e-8,0.004437722000943753,1.0835997728485317e-5,-4.1275427325207346e-8,0.004438212894918262,1.0650076781292515e-5,-4.0859608303239765e-8,0.004438749638289341,1.055393982394728e-5,-4.0642808497137944e-8,0.004439295959152751,1.0558721353467244e-5,-4.065026502851615e-8,0.004439816265453436,1.065819146280534e-5,-4.0868482817672476e-8,0.004440281272009354,1.0831676496297347e-5,-4.1251640135869176e-8,0.004440671831938921,1.1048643543678123e-5,-4.173183848769729e-8,0.004440980777783971,1.1273898329578631e-5,-4.2230779881881195e-8,0.00444121303269828,1.1472474912977608e-5,-4.267071508775094e-8,0.004441384565236301,1.1613723431763203e-5,-4.298351149337096e-8,0.004441520716355006,1.1674659260946504e-5,-4.311801611635916e-8,0.004441654103827259,1.1642927188475744e-5,-4.304658575328331e-8,0.004441821893723169,1.151970903380154e-5,-4.277157863485106e-8,0.004442061733825511,1.1322569755221519e-5,-4.2331789891194374e-8,0.004442405367359218,1.1087324544257746e-5,-4.1806717475930976e-8,0.004442869542993695,1.0866655575333044e-5,-4.1313536007648224e-8,0.004443445735403163,1.0722317764963522e-5,-4.0989728756109695e-8,0.004444093284368835,1.0708865030730829e-5,-4.0956817567218523e-8,0.0044447430760904995,1.085167507562386e-5,-4.127142029165161e-8,0.004445316435740319,1.1129602124610225e-5,-4.1886642259513546e-8,0.004445754128237322,1.1475626607160576e-5,-4.2653546623268654e-8,0.004446040101964218,1.180003031512926e-5,-4.3372752883896014e-8,0.004446205530673317,1.2024629257590159e-5,-4.387057130415036e-8,0.004446312162708855,1.2108771182796773e-5,-4.405669777283164e-8,0.004446427135514646,1.2055740045207085e-5,-4.3938284164400834e-8,0.004446602819718554,1.1902415131929761e-5,-4.3596893302424874e-8,0.004446867462772274,1.1702280581489064e-5,-4.3150880569211476e-8,0.00444722502652385,1.1510013581017392e-5,-4.272141346034424e-8,0.004447660112373166,1.1371009258943887e-5,-4.240940734950581e-8,0.004448144592351008,1.1315808141326373e-5,-4.228315760058449e-8,0.00444864413440166,1.1358103698667109e-5,-4.237371725707588e-8,0.004449124029971733,1.1495141539025288e-5,-4.2675501313854964e-8,0.004449554153193063,1.1709878328814522e-5,-4.315087896932633e-8,0.004449912835517964,1.1974488478859295e-5,-4.373794004970734e-8,0.004450189440411732,1.2254789064169708e-5,-4.4360459045246395e-8,0.004450385488268202,1.2515133469631053e-5,-4.493894052335691e-8,0.004450514285615522,1.2723218588808307e-5,-4.540139076746559e-8,0.004450599251519201,1.285424788009527e-5,-4.569253626675187e-8,0.0044506713012207,1.2894201090678989e-5,-4.578100104332719e-8,0.004450765540459394,1.2842246866083047e-5,-4.5664633203186566e-8,0.004450917284953617,1.2712332911019386e-5,-4.537412450667041e-8,0.004451157155322636,1.2533780867555994e-5,-4.497450577626395e-8,0.004451504873237557,1.2350163721766086e-5,-4.45628020467471e-8,0.004451961919675364,1.2214876307893983e-5,-4.425820466465791e-8,0.004452504731610211,1.218142064773772e-5,-4.418032467973815e-8,0.004453082319776596,1.2287689702351628e-5,-4.441399178406356e-8,0.0044536237576869794,1.2537566429059222e-5,-4.496809227303929e-8,0.004454058600129623,1.2889221277017663e-5,-4.5749448011482285e-8,0.004454344557171657,1.3261764007055407e-5,-4.657774011379726e-8,0.004454487209756872,1.356321056345686e-5,-4.724799032523849e-8,0.004454537817108847,1.3726577222573843e-5,-4.761103975360433e-8,0.004454569953530231,1.3733042945322505e-5,-4.762500825386583e-8,0.0044546503114754445,1.3611019367534598e-5,-4.7353008192290663e-8,0.004454819540444871,1.3417353161617989e-5,-4.692121901981639e-8,0.004455088006355839,1.3214963151419203e-5,-4.6469264458608674e-8,0.0044554417320164475,1.3056798315819873e-5,-4.6114776888332594e-8,0.00445585181070049,1.2978205618864193e-5,-4.5936593073707565e-8,0.004456283063848414,1.2995515360089378e-5,-4.597157388372203e-8,0.004456700455403941,1.3107894323916252e-5,-4.621850553884396e-8,0.0044570734879752745,1.3300386432833933e-5,-4.664459015113946e-8,0.004457379329847273,1.354733210799182e-5,-4.719288460843296e-8,0.004457605083715164,1.381611653844664e-5,-4.779065425340231e-8,0.004457749208594007,1.4071308351959136e-5,-4.835873390854053e-8,0.004457821935847933,1.4279162754995978e-5,-4.882171487818592e-8,0.004457844413589892,1.4412244841220207e-5,-4.9118304592704225e-8,0.004457846392811299,1.4453606997495086e-5,-4.9210578647334747e-8,0.004457862579541846,1.4399892313824196e-5,-4.909080557286075e-8,0.004457928006711199,1.4262935015950712e-5,-4.878499921089497e-8,0.0044580728160356475,1.406956442522464e-5,-4.835259699152093e-8,0.004458316817654614,1.385936585539174e-5,-4.7881662798881046e-8,0.004458664213340158,1.3680097018682372e-5,-4.7478820736234354e-8,0.004459099197509258,1.3580228791160693e-5,-4.725262339870064e-8,0.004459584026033035,1.3598195514992196e-5,-4.728940689142557e-8,0.004460062199621417,1.3749252092781208e-5,-4.762371409222547e-8,0.0044604695823886415,1.4013664681784223e-5,-4.8211740969940616e-8,0.004460753777901616,1.4333327715772738e-5,-4.8923755358978294e-8,0.004460895857321044,1.4624178301927179e-5,-4.957195585635171e-8,0.00446092230560696,1.4804495669279922e-5,-4.997383459421404e-8,0.004460896977374359,1.4826692738442146e-5,-5.002318300311229e-8,0.004460895349738283,1.4694329378561483e-5,-4.972790533985917e-8,0.004460976016780967,1.4455254987504552e-5,-4.919452719357374e-8,0.0044611646111219405,1.4178234027314433e-5,-4.857603680579923e-8,0.004461454185855782,1.3928460573193122e-5,-4.801746458935442e-8,0.0044618157539403095,1.3752419469232318e-5,-4.7622364855750946e-8,0.0044622107137216325,1.3673354803297678e-5,-4.7442825841443116e-8,0.00446260043945746,1.369354382664959e-5,-4.7484455725649896e-8,0.004462952022908023,1.3799219006272274e-5,-4.7717131725367e-8,0.004463241121058138,1.3965553328710682e-5,-4.8085882901992276e-8,0.004463453324834858,1.4160873361938923e-5,-4.852016867099879e-8,0.0044635849469705675,1.435036495631774e-5,-4.894218569650978e-8,0.004463643417515637,1.4499782775240661e-5,-4.9275285274911396e-8,0.004463647051016639,1.4579493829923948e-5,-4.945312739285398e-8,0.004463623708041326,1.456882906403381e-5,-4.9429429021382195e-8,0.004463607842406662,1.4460176219189537e-5,-4.918704040982184e-8,0.0044636357910401445,1.4261818394534823e-5,-4.874420470914212e-8,0.0044637397511841466,1.3998495202235436e-5,-4.815581116683994e-8,0.004463941391235043,1.3708962880863763e-5,-4.7508063679370155e-8,0.004464246337336341,1.3440376771153735e-5,-4.6906117413019404e-8,0.0044646407956383674,1.3240001878015215e-5,-4.645569825673976e-8,0.004465091381001237,1.3145269848031426e-5,-4.624087973870854e-8,0.004465549066273715,1.3173598219246631e-5,-4.6301165592733985e-8,0.004465957939694511,1.3314136875100861e-5,-4.661280004540448e-8,0.004466268576327031,1.352468763662037e-5,-4.708169932958065e-8,0.00446645372428031,1.3737541360524216e-5,-4.7556478385599956e-8,0.004466520878302181,1.3876287526487771e-5,-4.786615773013864e-8,0.004466514326078782,1.3880445157377903e-5,-4.7875375783545784e-8,0.004466502142877897,1.3727918531229615e-5,-4.753461483998569e-8,0.004466552086217613,1.344312403337607e-5,-4.689826847344771e-8,0.0044667082651349286,1.3085819784721498e-5,-4.609959388131855e-8,0.004466980019477852,1.2727550786706039e-5,-4.529813388914731e-8,0.004467345755137234,1.2428783962732317e-5,-4.4628795806165725e-8,0.004467765779943532,1.2225982089979055e-5,-4.4173112494455235e-8,0.004468196005854024,1.2129693991677846e-5,-4.395498255353792e-8,0.004468597642816224,1.2129490543834448e-5,-4.395156917433471e-8,0.00446894206410521,1.2201011417455164e-5,-4.410885737385981e-8,0.00446921225500677,1.2312244640502023e-5,-4.43555394468987e-8,0.004469402654481283,1.2428213420078234e-5,-4.46134499502362e-8,0.0044695185950805304,1.2514503621319245e-5,-4.48055188286882e-8,0.004469575723049835,1.2540430548831996e-5,-4.486296672886854e-8,0.004469599148903078,1.2482479511679878e-5,-4.473308223481721e-8,0.004469621667375493,1.2328204497541601e-5,-4.4387945702341005e-8,0.004469680258111596,1.2080054076724377e-5,-4.38329250854799e-8,0.004469810440791369,1.1757832861630705e-5,-4.3112118745779403e-8,0.004470038938882233,1.139812552580378e-5,-4.2307071423256166e-8,0.004470376233823944,1.1049363336854192e-5,-4.1525836645826615e-8,0.004470811437085582,1.0762470256707936e-5,-4.088220096014905e-8,0.004471311827050345,1.057885493987764e-5,-4.046892914926202e-8,0.004471828174441778,1.0518954079644614e-5,-4.0332120643179816e-8,0.00447230517930829,1.057478045414597e-5,-4.045439322306815e-8,0.004472694773246646,1.0709058764895794e-5,-4.075274930775221e-8,0.004472969079340785,1.0862056909000877e-5,-4.1093716830421817e-8,0.004473129460972397,1.096542999972803e-5,-4.1324306385980915e-8,0.004473208349376754,1.0960344314636686e-5,-4.131265117419883e-8,0.004473261801176122,1.0814980769902441e-5,-4.098727821687716e-8,0.004473353611162491,1.0535090952922028e-5,-4.036078520359405e-8,0.004473535890618031,1.0162456216834655e-5,-3.952640941680167e-8,0.004473833792415958,9.760956408521302e-6,-3.862688960352953e-8,0.004474240602953426,9.396173414810474e-6,-3.7808898628385294e-8,0.004474724001444978,9.11738920258227e-6,-3.718281945206038e-8,0.004475238859403357,8.948272943174389e-6,-3.6801887768029544e-8,0.0044757402350894555,8.887048525787006e-6,-3.6662466891908055e-8,0.004476192324498001,8.912754115928486e-6,-3.6717928510436886e-8,0.004476572466872101,8.99328366656885e-6,-3.689655835364853e-8,0.004476871540255352,9.092325994737656e-6,-3.711706737226179e-8,0.0044770926280973825,9.174281950373387e-6,-3.7299643889725875e-8,0.004477249315061717,9.207572991317009e-6,-3.737343689531388e-8,0.0044773641629216165,9.167232096321902e-6,-3.7282422144220036e-8,0.004477467204936426,9.037578898248145e-6,-3.699141801660316e-8,0.004477593756950581,8.815347168589488e-6,-3.649307148880597e-8,0.00447778058690321,8.512872182307729e-6,-3.5814955514758316e-8,0.004478059745215661,8.159958224253264e-6,-3.502372164908136e-8,0.004478450365817333,7.802247766408065e-6,-3.4221459193305144e-8,0.004478950468601355,7.494062159631074e-6,-3.3529720730520204e-8,0.004479532465119492,7.285542176108168e-6,-3.3060801908352687e-8,0.004480146136971822,7.2072554470058906e-6,-3.288331103792207e-8,0.004480730224220354,7.258279349781589e-6,-3.2995444030558204e-8,0.004481229449583244,7.4035582392112385e-6,-3.331896233314279e-8,0.004481610689525678,7.582522644393277e-6,-3.371838931973838e-8,0.004481872292063173,7.725939025928392e-6,-3.403868938062639e-8,0.00448204374844317,7.774910697168804e-6,-3.414782399457034e-8,0.004482176671298304,7.696059172490782e-6,-3.397078855811176e-8,0.004482330435030019,7.4890430319435334e-6,-3.350650916046562e-8,0.004482556672721601,7.1850969128227755e-6,-3.282465246101726e-8,0.0044828866992572885,6.837522641746615e-6,-3.2044432737991846e-8,0.0044833250857910616,6.507056498926579e-6,-3.130192899832561e-8,0.004483850858172803,6.24650987263678e-6,-3.071570165203201e-8,0.004484425307959444,6.08924159396039e-6,-3.036088489326645e-8,0.004485003194359061,6.044356934728174e-6,-3.025827024763154e-8,0.004485543401858622,6.098712850233066e-6,-3.0378643182073185e-8,0.004486016219005494,6.2234233182378906e-6,-3.0657287324259747e-8,0.0044864064166258944,6.3817652026060565e-6,-3.1011736157922704e-8,0.004486712974298434,6.536100940869929e-6,-3.135738930785751e-8,0.004486946987567679,6.652794334948827e-6,-3.16186317416998e-8,0.0044871290855611435,6.705289352964788e-6,-3.173578594963119e-8,0.004487287039748156,6.676139966458214e-6,-3.1669660514816774e-8,0.004487453549021817,6.558809591876483e-6,-3.1405558068106883e-8,0.004487663626245549,6.359694715241642e-6,-3.095779699979666e-8,0.004487950667436226,6.100153211559874e-6,-3.0374268126452117e-8,0.004488340386805238,5.817319379742182e-6,-2.973828357636435e-8,0.004488842722498734,5.561454687988725e-6,-2.9162651978515495e-8,0.004489443758855133,5.387386078451001e-6,-2.87704753805209e-8,0.00449010207955269,5.339481305214199e-6,-2.866142686948672e-8,0.004490754688042762,5.434077367358827e-6,-2.887228736862537e-8,0.004491334130057058,5.647948607453723e-6,-2.9351019643881805e-8,0.004491791249757919,5.921297869142392e-6,-2.99634549511861e-8,0.004492112629279643,6.17644552752166e-6,-3.0535254824106297e-8,0.00449232388491216,6.343735825162951e-6,-3.0910079891972617e-8,0.004492478423788278,6.3824291151391336e-6,-3.0996454297399085e-8,0.0044926387333911215,6.288994539844147e-6,-3.078631234061721e-8,0.004492858636300761,6.092913739653983e-6,-3.0345562453837724e-8,0.004493171588724417,5.844789364045817e-6,-2.9787493231587065e-8,0.00449358619792652,5.60206433789655e-6,-2.9240893731404095e-8,0.004494087869175982,5.4161245069199806e-6,-2.882123891207294e-8,0.004494644740160421,5.322864554289205e-6,-2.8609503663609465e-8,0.004495216006784931,5.337654872160231e-6,-2.864069875751362e-8,0.004495760772876803,5.45491845871229e-6,-2.8902689986086383e-8,0.00449624562807949,5.6517357057193595e-6,-2.9344127629553888e-8,0.004496649625176552,5.894052353282223e-6,-2.988837234120634e-8,0.004496966197981279,6.14368973988668e-6,-3.044936038422412e-8,0.004497202413708704,6.364618307242032e-6,-3.094585642668188e-8,0.004497376491928267,6.527582409948589e-6,-3.131194447327545e-8,0.004497514640436966,6.6129278100694005e-6,-3.150337999113445e-8,0.004497647925917268,6.612117621637158e-6,-3.150093270015358e-8,0.004497809336845073,6.528610724443239e-6,-3.131231070153016e-8,0.004498030707089667,6.3785361876222695e-6,-3.09736925859592e-8,0.004498338829174895,6.191080665260008e-6,-3.055066942661581e-8,0.004498750077775436,6.0076683654676744e-6,-3.013646953689903e-8,0.004499263612814337,5.8780642609847445e-6,-2.9843203850422515e-8,0.004499854940636369,5.851244450515609e-6,-2.9781269629881294E-08,0.004500473936466841,5.960397636023314e-6,-3.002551100540538e-8,0.004501052719345036,6.205775394502228e-6,-3.057655086561226e-8,0.00450152565398311,6.544818406940442e-6,-3.133855594471292e-8,0.004501855052718436,6.89991925988118e-6,-3.213677936923044e-8,0.004502048299394567,7.184984577129539e-6,-3.277745584916125e-8,0.00450215485481849,7.337928245096862e-6,-3.312096524996092e-8,0.004502244939964075,7.34104622514252e-6,-3.31275673941889e-8,0.0045023832883471036,7.220589179745083e-6,-3.285626158580508e-8,0.0045026110823796145,7.030850470500054e-6,-3.2428926008768215e-8,0.0045029404092560505,6.834169236371335e-6,-3.198546698313869e-8,0.004503358106314494,6.685082210089396e-6,-3.1648403907449894e-8,0.004503833931529304,6.621199922123047e-6,-3.150250475699595e-8,0.004504329393182454,6.659916022098113e-6,-3.158735035096041e-8,0.004504805490228415,6.79906815339101e-6,-3.18986098972113e-8,0.0045052288712172945,7.020052500014815e-6,-3.239479081077634e-8,0.004505576291020284,7.292536290791366e-6,-3.300768877577651e-8,0.004505837190189702,7.580099251624076e-6,-3.3655110613896705e-8,0.0045060143045280365,7.846042790020471e-6,-3.42541110553583e-8,0.004506122446663604,8.058625318459529e-6,-3.473295260761845e-8,0.0045061858442556986,8.195104654863028e-6,-3.504028264202122e-8,0.004506234642510104,8.244233774000591e-6,-3.515070923594395e-8,0.004506301185498216,8.20730170658394e-6,-3.506705303538336e-8,0.004506416396345633,8.098093426558627e-6,-3.482021907021817e-8,0.004506606235169193,7.94206498498607e-6,-3.446740371929097e-8,0.004506887964378976,7.774744655900673e-6,-3.4088620681013444e-8,0.004507265898608951,7.63883680811971e-6,-3.378026681707891e-8,0.004507726866888514,7.578827637892328e-6,-3.364294154809401e-8,0.0045082369085281135,7.631796357853752e-6,-3.376059550196789e-8,0.0045087423408103665,7.81442404265071e-6,-3.4171064362557586e-8,0.004509179270358261,8.109527450340536e-6,-3.48355963905556e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json new file mode 100644 index 000000000..d989a12f4 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":26000,"numberOfSamples":1000,"samples":[0.004509493310776733,8.460255546355793e-6,-3.5625800851343465e-8,0.004509663584584268,8.78152154032578e-6,-3.634960149730122e-8,0.004509716789810693,8.989819707723907e-6,-3.681866430913203e-8,0.004509719059465651,9.037418772725032e-6,-3.692552117143939e-8,0.004509748243703133,8.930185223519827e-6,-3.668355434778159e-8,0.004509863647122957,8.719470842231082e-6,-3.620846132642241e-8,0.004510089653785742,8.476972036399517e-6,-3.5661533171045015e-8,0.004510416800722429,8.269299770251092e-6,-3.51925282944491e-8,0.004510813094911667,8.1427235238956e-6,-3.4905561743649874e-8,0.004511237012805131,8.118815983827459e-6,-3.4849442039030304e-8,0.004511647598100416,8.19695215375018e-6,-3.5023237901990346e-8,0.004512010754110658,8.359585736620415e-6,-3.538793530902102e-8,0.004512302608721269,8.577895407180773e-6,-3.5878908014654e-8,0.004512511101780664,8.817020399356672e-6,-3.6417590410461715e-8,0.004512636407156604,9.040913865577355e-6,-3.692247406897225e-8,0.004512690307657771,9.216869444768706e-6,-3.7319489010541575e-8,0.004512694498577715,9.319590010896785e-6,-3.755134208751638e-8,0.004512677812454461,9.33448051439994e-6,-3.758499305360356e-8,0.004512672525088187,9.259714461186162e-6,-3.74162487552752e-8,0.004512710155956202,9.106773676260358e-6,-3.7070886445067697e-8,0.004512817232229619,8.899452134994748e-6,-3.660239062283695e-8,0.004513011361703757,8.671416905011533e-6,-3.6086549932726506e-8,0.0045132978459024205,8.462410007400726e-6,-3.561303803422552e-8,0.00451366700674806,8.313087368408677e-6,-3.5273853268424084e-8,0.004514092641922462,8.258223307030978e-6,-3.5147920393724736e-8,0.004514532771288454,8.318077690988317e-6,-3.5281410931936163e-8,0.004514934630932754,8.4888481118899e-6,-3.566597134940736e-8,0.004515245854344678,8.735374126556136e-6,-3.622214330179837e-8,0.0045154316998782295,8.991891199064452e-6,-3.6801147360575755e-8,0.004515492902915043,9.176856590224277e-6,-3.7218586920753816e-8,0.004515473030595792,9.22132948769478e-6,-3.731873347690093e-8,0.004515445973338222,9.09843419372188e-6,-3.704104339955742e-8,0.00451548682469044,8.835578371895206e-6,-3.644751863773576e-8,0.00451564268107663,8.500985857177386e-6,-3.5692080359945736e-8,0.0045159197183348996,8.174205711565663e-6,-3.495399269113799e-8,0.004516289609363855,7.91891452501725e-6,-3.437668106843999e-8,0.004516706111846334,7.769533914623208e-6,-3.403776290168179e-8,0.004517121078763411,7.73134067417984e-6,-3.3949388348932536e-8,0.0045174946878258695,7.787734155315276e-6,-3.4074540770568025e-8,0.004517799867137044,7.908923469211388e-6,-3.434642142253354e-8,0.004518023021591153,8.059160327422076e-6,-3.468456742654183e-8,0.004518163140214663,8.202005982025426e-6,-3.50066650311153e-8,0.004518230411948181,8.30424890030949e-6,-3.523747823122548e-8,0.004518244570725208,8.33915192550796e-6,-3.531634932075353e-8,0.004518232782286238,8.28935594403696e-6,-3.5203891163581475e-8,0.004518226774465987,8.149365170645358e-6,-3.488762043767852e-8,0.004518259006711036,7.927116613346235e-6,-3.438542274392408e-8,0.004518358060544222,7.643963370228097e-6,-3.3745425584923236e-8,0.004518543856405558,7.332621283429884e-6,-3.3041356370972954e-8,0.004518823498710852,7.0329632269025115e-6,-3.236314547040654e-8,0.004519188579967757,6.785903929501321e-6,-3.180325247605029e-8,0.004519614661144808,6.626048418181081e-6,-3.14401232958339e-8,0.0045200634304379044,6.5740276672578925e-6,-3.132079397132222e-8,0.004520487966458727,6.62956304606739e-6,-3.144502131997278e-8,0.00452084147546764,6.766843341505083e-6,-3.175463526314589e-8,0.004521089187148414,6.934764185105069e-6,-3.2134004538126606e-8,0.004521221269959029,7.065025688552307e-6,-3.2428442843453624e-8,0.004521261859102045,7.089574850293132e-6,-3.248384715700535e-8,0.0045212674299407694,6.964089990219654e-6,-3.2199939344201606e-8,0.004521310513078177,6.687544084459722e-6,-3.1574464342686096e-8,0.004521453447203763,6.305670157088708e-6,-3.071085821791362e-8,0.0045217253573987225,5.893958647960642e-6,-2.9779688167653515e-8,0.004522114733755025,5.529133856038296e-6,-2.8954214723599135e-8,0.004522579377927455,5.264744210794258e-6,-2.8355366465152043e-8,0.004523065009217748,5.120982847527676e-6,-2.802885167464862e-8,0.004523521972907846,5.088150002782038e-6,-2.7952986672350293e-8,0.004523914736487703,5.136932989628306e-6,-2.8061821235107004e-8,0.004524224518460753,5.229079919518181e-6,-2.8269112293518485e-8,0.004524447866784532,5.325356167857952e-6,-2.8486202260608446e-8,0.004524593830297251,5.390497834119252e-6,-2.8633216627973057e-8,0.004524681160259874,5.396171432205578e-6,-2.864585654482284e-8,0.004524735849207278,5.323027317101781e-6,-2.8480176026552257e-8,0.0045247886943237964,5.16249823096028e-6,-2.8116730602371682e-8,0.004524872353940403,4.918444281738836e-6,-2.7564280225240977e-8,0.0045250174349796965,4.608134848323794e-6,-2.68619228883987e-8,0.004525247591606092,4.261615509273891e-6,-2.6077583364155316e-8,0.004525574321292053,3.918549452938378e-6,-2.530086898948843e-8,0.00452599277311532,3.622150479587777e-6,-2.462943302074595e-8,0.0045264801545203655,3.4107258886289212e-6,-2.4149954956603862e-8,0.004526998018263306,3.308450392319929e-6,-2.3917312554474847e-8,0.004527498775693957,3.317760005942039e-6,-2.3937301228621522e-8,0.00452793558120547,3.415707219466181e-6,-2.415823276235786e-8,0.00452827373820132,3.555942963102195e-6,-2.4475281614218993e-8,0.004528501076735233,3.677053577969154e-6,-2.4749321189987848e-8,0.004528634255226658,3.7166708540264696e-6,-2.4838951555615288e-8,0.00452871788049019,3.6288209284880697e-6,-2.4639908971730102e-8,0.004528814461392247,3.399578871249497e-6,-2.4120586107355082e-8,0.004528986348915549,3.0544546974012395e-6,-2.3338735228699577e-8,0.004529275447593868,2.652362755159554e-6,-2.2427751850493508e-8,0.0045296894826229355,2.266809562799965e-6,-2.1554061940523532e-8,0.004530201357681512,1.962172998408435e-6,-2.0863453384503786e-8,0.004530761107800889,1.7757792179593227e-6,-2.044053421769499e-8,0.004531313427122603,1.7122786235617054e-6,-2.0295983770420518e-8,0.0045318125655776954,1.749367675975404e-6,-2.037944352447753e-8,0.004532230187937357,1.8490802478591477e-6,-2.0605011670815894e-8,0.00453255650096998,1.968861091375431e-6,-2.08762767548505e-8,0.004532797413529103,2.069429992863889e-6,-2.1104137100273155e-8,0.004532970455627508,2.1191957801873115e-6,-2.121685754164669e-8,0.004533101006844266,2.0963386322046738e-6,-2.1164869031366592e-8,0.004533219236241922,1.9898190337828303e-6,-2.09231193072752e-8,0.004533357423629913,1.8001513809640854e-6,-2.0492836790277707e-8,0.004533546992225019,1.540165048997408e-6,-1.9903207651827864e-8,0.004533814625910253,1.2352637227640804e-6,-1.9211889086172134e-8,0.0045341773121543635,9.220902568912064e-7,-1.8501932634248034e-8,0.004534637007950439,6.443360771918933e-7,-1.7872295458798828e-8,0.004535176664792075,4.4499167138597644e-7,-1.7420339103780497e-8,0.004535760035304328,3.557925328380303e-7,-1.7217978115692215e-8,0.004536337215533742,3.866412902473646e-7,-1.728772350881937e-8,0.004536855876733859,5.191842687487436e-7,-1.7588072274695526e-8,0.004537275385870752,7.081369882607212e-7,-1.8016430469229954e-8,0.004537579125593926,8.912435030713721e-7,-1.8431639886474907e-8,0.004537780530744449,1.005317578228007e-6,-1.8690357071296403e-8,0.004537920538034231,1.0034699039837472e-6,-1.868616129977461e-8,0.0045380570398233745,8.682810605385142e-7,-1.837946472292758e-8,0.004538249294644987,6.169983072998986e-7,-1.780931248930263e-8,0.004538541670781989,2.970358272201004e-7,-1.708319176747392e-8,0.004538951579800054,-2.7231731686069303e-8,-1.634711520277816e-8,0.004539465565272268,-2.9245638234442717e-7,-1.5744867236873657e-8,0.004540044817016876,-4.530987714794202e-7,-1.537993968878856e-8,0.004540637691521912,-4.913904592554641e-7,-1.5292863661002783e-8,0.0045411941681401885,-4.179588426089708e-7,-1.545968048557915e-8,0.0045416771529875445,-2.646725790176748e-7,-1.580808820140591e-8,0.004542067915028178,-7.389589463817978e-8,-1.624181308946475e-8,0.004542365941693601,1.1161571806108388e-7,-1.6663601282918254e-8,0.004542585366851695,2.557719936323004e-7,-1.6991327574329404e-8,0.004542750301596352,3.328556897280507e-7,-1.7166487509062615e-8,0.004542890539772055,3.288339048433999e-7,-1.7157205799619142e-8,0.004543038110357333,2.4148307307612337e-7,-1.6958505979006495e-8,0.00454322442352209,8.020747945813414e-8,-1.659185787564851e-8,0.004543477357567356,-1.341554185295706e-7,-1.6104693284517906e-8,0.0045438176089469635,-3.6995599015852086e-7,-1.5568968349127696e-8,0.004544254057927853,-5.868612278189073e-7,-1.507632289085078e-8,0.004544778812882803,-7.409000787411416e-7,-1.4726631776247386e-8,0.0045453638821404034,-7.933529756111925e-7,-1.4607830316871693e-8,0.004545962512626217,-7.226259496806341e-7,-1.4768947865738407e-8,0.004546517831531095,-5.353354038386974e-7,-1.5194914668309396e-8,0.004546978401910495,-2.705801777601392e-7,-1.5796839796783648e-8,0.004547315606031961,7.426064280520287e-9,-1.6428760347708144e-8,0.00454753489003374,2.2771495362971647e-7,-1.6929398929145512e-8,0.004547674975302893,3.348200634734904e-7,-1.7172762210130373e-8,0.004547795269270398,3.0546407671952013e-7,-1.7106022758788838e-8,0.004547957342816333,1.5361082419481356e-7,-1.6760923023671023e-8,0.004548207818776337,-7.620926519655014e-8,-1.623857269178295e-8,0.004548567688113334,-3.2310178950335675e-7,-1.5677235728358874e-8,0.004549029689400049,-5.261904517049809e-7,-1.5215224434557068e-8,0.004549562879332015,-6.387181991297879e-7,-1.4958938590346338e-8,0.004550122119909111,-6.369676213818445e-7,-1.4962560924246113e-8,0.004550659547407562,-5.227487180281773e-7,-1.522226203843342e-8,0.00455113503524916,-3.198295674394947e-7,-1.568415057741117e-8,0.004551523306381531,-6.614611648123595e-8,-1.6261898726347644e-8,0.004551816641272785,1.9551328796095916e-7,-1.685796274830549e-8,0.004552023601182218,4.2580724108011224e-7,-1.7382583753550408e-8,0.004552165189758773,5.945892816202448e-7,-1.7766991018379748e-8,0.004552270093790798,6.837932410099917e-7,-1.7970026091410244e-8,0.004552370226282839,6.880617875256065e-7,-1.797954851084639e-8,0.004552497089156715,6.141061808103928e-7,-1.781091130786019e-8,0.004552678823971549,4.796156243032983e-7,-1.7504429067141582e-8,0.004552937441607541,3.1202357072442164e-7,-1.7122570952647516e-8,0.004553285657210565,1.4683488458868566e-7,-1.6746191281231358e-8,0.004553723072438308,2.461230159602889e-8,-1.6467701649164962e-8,0.004554232297584862,-1.4673606685835707e-8,-1.6378198838017022e-8,0.004554776931368462,5.916408340345163e-8,-1.654648595704409e-8,0.004555304544316013,2.5471410996338887e-7,-1.699210890005788e-8,0.004555757580182239,5.487508779098537e-7,-1.766206390844868e-8,0.00455609163018589,8.847980560550384e-7,-1.8427567403072217e-8,0.004556294266149341,1.1862585904106192e-6,-1.9114066338961307e-8,0.00455639356224145,1.3819276275300728e-6,-1.955944643880223e-8,0.004556449423840962,1.4320994076717743e-6,-1.967347844662727e-8,0.00455653146260646,1.3415196289400694e-6,-1.9467164239301853e-8,0.004556695250636879,1.1538974614742377e-6,-1.9040064669564954e-8,0.00455696762660136,9.337292242152009e-7,-1.8538868697838413e-8,0.004557344253094815,7.457228920368247e-7,-1.8110674855141883e-8,0.004557796262614695,6.393184058846508e-7,-1.7867944352973605e-8,0.004558280964655819,6.408021303045762e-7,-1.7870661006435703e-8,0.004558752717751708,7.521507776956689e-7,-1.812364701480733e-8,0.004559171865542613,9.545520907436515e-7,-1.8584396920373626e-8,0.004559510918417762,1.214685417394258e-6,-1.9177186559210626e-8,0.0045597577345257365,1.492268065989241e-6,-1.9810175736451022e-8,0.004559915758252532,1.747525782261627e-6,-2.0392490975707653e-8,0.004560001790681829,1.947399946982737e-6,-2.084852456530275e-8,0.004560042130719432,2.069755428846989e-6,-2.112766147211479e-8,0.004560068031127442,2.105379942421046e-6,-2.1208875035905857e-8,0.004560111313149676,2.0580137470542224e-6,-2.110073390215724e-8,0.004560200668904181,1.943025512553438e-6,-2.083829693588606e-8,0.004560358702285993,1.785412603296129e-6,-2.0478523102675264e-8,0.004560599413535639,1.6174458646150957e-6,-2.009495393525646e-8,0.004560925771429382,1.4758038902445344e-6,-1.977126696599221e-8,0.004561327227637577,1.3976103681723366e-6,-1.9592281027131787e-8,0.004561777687863393,1.414475222692563e-6,-1.963031184849548e-8,0.004562235579990404,1.5439760444566057e-6,-1.9925614673578647e-8,0.004562648675447503,1.7796412722016043e-6,-2.046341689014831e-8,0.004562966076598825,2.0834817290894464e-6,-2.1156859279096877e-8,0.004563156563769151,2.3880171788488707e-6,-2.1851733662215338e-8,0.004563226026995868,2.6134961406077906e-6,-2.236596297709388e-8,0.004563222002259049,2.697182257226839e-6,-2.255654425324677e-8,0.004563218140920344,2.6200473503104345e-6,-2.2380369070183947e-8,0.004563285177328307,2.4142697533356353e-6,-2.1911080480621846e-8,0.00456346510562536,2.1474700508499156e-6,-2.1302898831592876e-8,0.0045637614855055355,1.8952029862123072e-6,-2.0727876983910757e-8,0.004564146109374209,1.717390042126911e-6,-2.0322347502066937e-8,0.004564573586655692,1.6467160412382832e-6,-2.0160696512706902e-8,0.004564995621143562,1.6879982482464885e-6,-2.025403919365333e-8,0.004565371098880404,1.823849272809698e-6,-2.0563061761098215e-8,0.004565671575998424,2.0224636955771143e-6,-2.1015577494141815e-8,0.004565883304822525,2.2451570701558744e-6,-2.1523520714831093e-8,0.004566007062175339,2.4528861969496664e-6,-2.1997743592595424e-8,0.004566056469157245,2.6116666971517507e-6,-2.23604574329312e-8,0.004566055109573586,2.6967378051573467e-6,-2.2554903643749895e-8,0.004566032787591015,2.6952576374760298e-6,-2.2551638035756678e-8,0.004566021340058094,2.6074130943391173e-6,-2.2351082445335482e-8,0.004566050456020915,2.445916611802514e-6,-2.198229461679592e-8,0.004566143978834918,2.234071638222029e-6,-2.1498460356284963e-8,0.004566316991076654,2.002834908710053e-6,-2.0970174692905903e-8,0.004566573698773829,1.7872369419549948e-6,-2.047735188978444e-8,0.004566906025496633,1.6222415688750605e-6,-2.009987915744285e-8,0.004567292941820179,1.5378947751270364e-6,-1.9906572258774763e-8,0.0045677009482845456,1.5534732761251689e-6,-1.9941722705096247e-8,0.004568086845586504,1.6706423254153708e-6,-2.0209304708076832e-8,0.004568404479915657,1.8669001932336232e-6,-2.065787129431821e-8,0.004568616641222311,2.0927296815380814e-6,-2.1174057753546027e-8,0.004568710628782926,2.277737563029436e-6,-2.159677431671749e-8,0.004568710906383361,2.3496980887248315e-6,-2.1760931647364762e-8,0.004568678450507578,2.2627328227331568e-6,-2.1561913449607736e-8,0.004568690934995052,2.0202730399911163e-6,-2.100789416692359e-8,0.004568811461316786,1.6765736725135978e-6,-2.0223021008261412e-8,0.004569064102334118,1.3138502582226867e-6,-1.939501198865483e-8,0.00456942983638702,1.0095623883627573e-6,-1.870048308376553e-8,0.0045698609228537225,8.126805895776015e-7,-1.8250956905805127e-8,0.004570301299600792,7.370286449055343e-7,-1.8077863586350383e-8,0.004570702395164331,7.675146472653699e-7,-1.8146849034032396e-8,0.004571031105591736,8.712119800734532e-7,-1.838299920858834e-8,0.004571271553897738,1.0077872223193491e-6,-1.8694474593890068e-8,0.004571423431715869,1.1371794672960694e-6,-1.898988427190855e-8,0.00457149912894306,1.224623094486609e-6,-1.9189713805360918e-8,0.004571520661368493,1.2439529482437433e-6,-1.9233970167685107e-8,0.004571516461258664,1.1798659800376192e-6,-1.90875063062554e-8,0.004571517887299565,1.0292685411183112e-6,-1.874320617434184e-8,0.00457155544903053,8.015811947188519e-7,-1.822266996676711e-8,0.004571654890494846,5.177527012148897e-7,-1.757386049492885e-8,0.0045718335249696285,2.0776980474633583e-7,-1.686531683855287e-8,0.004572097388308316,-9.323396016944465e-8,-1.6177255542095043e-8,0.004572439665645757,-3.4987692521596087e-7,-1.5590463436344316e-8,0.004572840644505964,-5.31972816140779e-7,-1.5173961796713732e-8,0.004573269348815289,-6.200415053200593e-7,-1.4972436045635267e-8,0.004573687024026574,-6.10406095595246e-7,-1.4994491965318193e-8,0.004574052809641157,-5.192579563073559e-7,-1.520320779417572e-8,0.00457433198222599,-3.843987328357727e-7,-1.5512049283710714e-8,0.004574506433080039,-2.6231970700412053e-7,-1.57915871799184e-8,0.004574585098804139,-2.1787955603130257e-7,-1.5893271807468845e-8,0.0045746091849351205,-3.056827632750247e-7,-1.569220003592137e-8,0.004574645498676162,-5.476968892825376e-7,-1.513834525051923e-8,0.004574765267068838,-9.184797312588896e-7,-1.4290196294897466e-8,0.00457501606601899,-1.3499749934384158e-6,-1.3303575679860455e-8,0.004575402559457306,-1.7569182650377685e-6,-1.2373436343486388e-8,0.00457588755670308,-2.0690376161348062e-6,-1.1660288023729968e-8,0.004576410675222101,-2.2521266223356963e-6,-1.1242149216779647e-8,0.004576911396180024,-2.3103385627944873e-6,-1.1109414454615705e-8,0.004577344958268909,-2.275047092560445e-6,-1.119036156480763e-8,0.004577688009744958,-2.190125367673378e-6,-1.1384764724171442e-8,0.00457793703023403,-2.1001362793857524e-6,-1.1590799048558753e-8,0.004578103680851678,-2.0432033769984585e-6,-1.1721260373927869e-8,0.004578209903486739,-2.0476287663152695e-6,-1.1711299731405369e-8,0.00457828387494594,-2.1305649056463137e-6,-1.1521549135013692e-8,0.004578356691217041,-2.2974938653969773e-6,-1.113942510021554e-8,0.004578459254883159,-2.5420904405371936e-6,-1.0579494532798996e-8,0.004578618975408969,-2.8466169571197294e-6,-9.882523233547e-9,0.004578856169100808,-3.183321162571054e-6,-9.112167432714705e-9,0.004579180478803452,-3.5174083811508843e-6,-8.34808453913955e-9,0.004579588120477424,-3.8118316727193404e-6,-7.674971745318212e-9,0.004580060934558044,-4.03352156185739e-6,-7.168392305513895e-9,0.0045805679854873955,-4.1600968235078126e-6,-6.87951141941344e-9,0.0045810699651512255,-4.185692981165825e-6,-6.821782230335321e-9,0.00458152603375295,-4.124467505914989e-6,-6.962856854404446e-9,0.004581902189684743,-4.010657797913334e-6,-7.224349646031663e-9,0.004582179915574498,-3.894438306832133e-6,-7.491268811747432e-9,0.004582363424246814,-3.833098119282915e-6,-7.632267271587255e-9,0.004582483126184382,-3.8777855317296025e-6,-7.53011848341852e-9,0.004582592398102796,-4.057840675385612e-6,-7.117693448106915e-9,0.004582755475052093,-4.367487092300224e-6,-6.408428922268497e-9,0.004583027684494128,-4.761913130848646e-6,-5.505193981758026e-9,0.004583434904318093,-5.1682652158940795e-6,-4.575001218916299e-9,0.004583962740856525,-5.509717091332434e-6,-3.793847647778333e-9,0.004584562235224711,-5.731726984261732e-6,-3.286608037184449e-9,0.0045851690079899594,-5.8173444046123675e-6,-3.092013230972495e-9,0.004585724984926677,-5.785936446522613e-6,-3.1655856948169594e-9,0.004586192672434863,-5.680003803249362e-6,-3.4098510201368928e-9,0.004586558909587067,-5.549240041603622e-6,-3.710862720240599e-9,0.004586831090544941,-5.438473165345392e-6,-3.965824489806852e-9,0.004587030516411275,-5.381337431846182e-6,-4.097587491428378e-9,0.004587186126494469,-5.398361853965937e-6,-4.059053627389166e-9,0.0045873298103882906,-5.49731379182367e-6,-3.8324359563939324e-9,0.004587493095288864,-5.6741958005571095e-6,-3.427014054705955e-9,0.0045877044693880785,-5.914235263036652e-6,-2.876857912876998e-9,0.004587986651218072,-6.192958116809043e-6,-2.238299632400325e-9,0.004588353448843592,-6.477950803344133e-6,-1.5858038797377467e-9,0.004588806428404769,-6.73216177730537e-6,-1.0043412823020856e-9,0.00458933233628059,-6.919340188748711e-6,-5.769299288868636e-10,0.004589902743292579,-7.011376771941958e-6,-3.6786881572565e-10,0.004590477310455618,-6.996130497857601e-6,-4.0485922692968167e-10,0.004591011167147137,-6.883260760486553e-6,-6.656513658249578e-10,0.0045914652682251846,-6.705371049354524e-6,-1.075393733113511e-9,0.004591817010039603,-6.512924106794449e-6,-1.5182606557942965e-9,0.004592067796621043,-6.363468442006583e-6,-1.8621675068497396e-9,0.004592244944227824,-6.307637731525589e-6,-1.9909320328163395e-9,0.004592396800370081,-6.375463343972728e-6,-1.835720290287429e-9,0.004592581636072272,-6.566741952320174e-6,-1.397147556305703e-9,0.004592852503308843,-6.848670800862258e-6,-7.506592754098574e-10,0.0045932418347822595,-7.16265852740837e-6,-3.085310633349787e-11,0.004593750787773998,-7.439775464126724e-6,6.039907256439864e-10,0.004594348004365676,-7.620693551409611e-6,1.0176568839792315e-9,0.004594979307958952,-7.67285027729872e-6,1.1353900564086016e-9,0.004595584733360852,-7.597882344516838e-6,9.60993606260401e-10,0.004596115629330661,-7.427042036220201e-6,5.663444100107817e-10,0.004596545284004681,-7.208277314545172e-6,6.172570217697634e-11,0.004596870828408168,-6.9916428475073475e-6,-4.377209163440163e-10,0.004597108555701069,-6.818392915343977e-6,-8.371051908542961e-10,0.004597286586221487,-6.715617670183615e-6,-1.0741512526115635e-9,0.004597438018468549,-6.6953943241077795e-6,-1.1211643140079087e-9,0.004597595917342151,-6.7563461785649045e-6,-9.814428534041288e-10,0.0045977900559172604,-6.8858632210796456e-6,-6.841521467843064e-10,0.004598044659033155,-7.062128212677125e-6,-2.796287018101613e-10,0.004598376318128057,-7.255916920005681e-6,1.6480339335871812e-10,0.004598791545151504,-7.4327601793754e-6,5.698408862789437e-10,0.004599284036273952,-7.55641510487658e-6,8.521963256757693e-10,0.004599832545317101,-7.59449169585154e-6,9.37519703522967e-10,0.004600401089893143,-7.526267837569374e-6,7.783330705853753e-10,0.0046009435048163455,-7.351117380604259e-6,3.7337668699399923e-10,0.004601413323426574,-7.094082392306315e-6,-2.1959916877791475e-10,0.004601777276461345,-6.804398311453375e-6,-8.872456883447427e-10,0.004602027574734469,-6.544807205465784e-6,-1.4852269544859042e-9,0.004602187108824936,-6.373998484428838e-6,-1.878640796994688e-9,0.004602304305622246,-6.328662725555859e-6,-1.983290254130587e-9,0.004602439234285484,-6.4122851305789306e-6,-1.7913894121004542e-9,0.004602646341656962,-6.59454075292182e-6,-1.372856112257814e-9,0.004602959791749618,-6.820555679744346e-6,-8.539567811146143e-10,0.004603385401025903,-7.026168406663905e-6,-3.8223413598513426e-10,0.004603900535041509,-7.154432726648315e-6,-8.862971018962839e-11,0.004604461221360877,-7.16909923779504e-6,-5.6530923583887666e-11,0.004605014161836207,-7.061911347469658e-6,-3.0496913721986693e-10,0.004605510173710997,-6.852198505821913e-6,-7.894778705239851e-10,0.004605915231864156,-6.579480498016876e-6,-1.4190378636351609e-9,0.004606216233404941,-6.291994615044852e-6,-2.0824711583876744e-9,0.00460642071017142,-6.035108556079831e-6,-2.675171494544614e-9,0.00460655193149057,-5.842863718623184e-6,-3.1186589302558516e-9,0.004606641995139615,-5.733972110264688e-6,-3.369853455113043e-9,0.004606725264452894,-5.711711571864843e-6,-3.4213163304000836e-9,0.0046068334424430035,-5.7661813773756325e-6,-3.2960088168680032e-9,0.004606992447073734,-5.877366283212291e-6,-3.0401786490361465e-9,0.004607220525040382,-6.01804827384349e-6,-2.7166204947669695e-9,0.004607526828035787,-6.156368380259616e-6,-2.3987754818787228e-9,0.004607909878637184,-6.2584771004198995e-6,-2.1646433927517645e-9,0.004608355861891447,-6.292108699703443e-6,-2.0885544550141327e-9,0.004608837460403657,-6.231941022115572e-6,-2.2288041686048496e-9,0.004609314869247811,-6.066944432541149e-6,-2.610692390028512e-9,0.004609741181179981,-5.808287594175388e-6,-3.208296374163034e-9,0.004610073532643847,-5.494016982094601e-6,-3.9337217762102935e-9,0.004610288280096579,-5.185259144008995e-6,-4.645941435360547e-9,0.004610393895995997,-4.950873931477467e-6,-5.186269288801948e-9,0.004610433184336685,-4.844246198175972e-6,-5.431895389162019e-9,0.004610470758879338,-4.8829096485003395e-6,-5.342766223918112e-9,0.0046105707030473,-5.0419564476459976e-6,-4.976589310976798e-9,0.004610775446429694,-5.26417400954597e-6,-4.465310329754646e-9,0.004611094963682681,-5.480348310975678e-6,-3.968302033161426e-9,0.00461150823724263,-5.62972692844612e-6,-3.625329611994953e-9,0.004611973094222571,-5.673786679284628e-6,-3.524987578971608e-9,0.0046124390559712505,-5.60146915226002e-6,-3.692726761576285e-9,0.004612859222188488,-5.427288532920816e-6,-4.095184948750271e-9,0.004613199097686521,-5.184761096077944e-6,-4.655216115005645e-9,0.00461344157660515,-4.917463952163088e-6,-5.272388730713527e-9,0.004613587996069912,-4.669665926120923e-6,-5.844552407820035e-9,0.004613655691602776,-4.478251084401866e-6,-6.28652082530562e-9,0.004613673077859672,-4.367267921755222e-6,-6.542744128551488e-9,0.00461367367651798,-4.345651474038695e-6,-6.592631310893555e-9,0.0046136904516331,-4.407814373872608e-6,-6.449178045460803e-9,0.004613751389181142,-4.536239263420983e-6,-6.152919507168062e-9,0.004613876649815567,-4.704994955452618e-6,-5.763751856803909e-9,0.004614077028175075,-4.883303608630905e-6,-5.352690069082215e-9,0.004614353162834188,-5.038827337005442e-6,-4.994329710158694e-9,0.004614695036423012,-5.140875843306533e-6,-4.759499974144619e-9,0.004615081647533657,-5.164078436357073e-6,-4.706796509128987e-9,0.004615481345908867,-5.093156815280933e-6,-4.871507157630509e-9,0.004615854140456318,-4.928932317867542e-6,-5.251665030544923e-9,0.004616157793161933,-4.694284295014727e-6,-5.794263848231378e-9,0.004616358878782183,-4.436656622864292e-6,-6.389541647842568e-9,0.004616447225878722,-4.222062557520083e-6,-6.884973524270293e-9,0.004616447316459371,-4.117217975337249e-6,-7.126660174101772e-9,0.0046164171712829195,-4.163817419832329e-6,-7.018720722844495e-9,0.004616430002982171,-4.358091358751388e-6,-6.5703061256921416e-9,0.004616545920780777,-4.64955458388336e-6,-5.898225015384205e-9,0.004616789519416018,-4.961068379082266e-6,-5.180477898492885e-9,0.004617144952363664,-5.21797868115541e-6,-4.5890532040936815e-9,0.004617567428571435,-5.370589400078979e-6,-4.238257150629672e-9,0.004618001377383055,-5.4024523567296e-6,-4.165786813726474e-9,0.00461839617858386,-5.326689531338634e-6,-4.341319230810882e-9,0.004618715659086564,-5.176427103811998e-6,-4.688546619249612e-9,0.004618941704013463,-4.994299138923035e-6,-5.1092602716603065e-9,0.0046190738457956015,-4.823500218588578e-6,-5.503860695653606e-9,0.004619126539673815,-4.701021915286869e-6,-5.786919842108562e-9,0.00461912513350184,-4.6530002781485684e-6,-5.897985711351209e-9,0.004619101113456684,-4.692128922859444e-6,-5.8076723886911916e-9,0.004619087174435325,-4.817110070681227e-6,-5.5190059356818914e-9,0.004619112672785507,-5.013950645613634e-6,-5.064416509080086e-9,0.004619199956383798,-5.258745206492392e-6,-4.499227652478228e-9,0.004619361925076508,-5.521396310506229e-6,-3.892989039720409e-9,0.004619600861690062,-5.769630238686212e-6,-3.3201995651143257e-9,0.0046199082837785595,-5.972903127371703e-6,-2.851352592334347e-9,0.004620265553426885,-6.106140175320044e-6,-2.5443702178223045e-9,0.004620645157437597,-6.15344235394916e-6,-2.4360418005486742e-9,0.004621012910332626,-6.111969284666793e-6,-2.5329705998129033e-9,0.004621331889116244,-5.995896088586415e-6,-2.8023280874564467e-9,0.004621569196957076,-5.839257062531263e-6,-3.16525563366286e-9,0.004621705946598681,-5.6949592448301445e-6,-3.499245426945735e-9,0.0046217486369424686,-5.626269776579186e-6,-3.6579976183436843e-9,0.004621736346891752,-5.688589628394338e-6,-3.5136773121236357e-9,0.004621735560203208,-5.9056093086997374e-6,-3.011976455429588e-9,0.004621818663207311,-6.252544277839716e-6,-2.2106262735571202e-9,0.004622034186749106,-6.660327133482274e-6,-1.269447535738715e-9,0.004622386277920894,-7.0421296244785226e-6,-3.8895869566759596e-10,0.004622835921998608,-7.326987257096725e-6,2.672247922603419e-10,0.004623320597655784,-7.481387241366695e-6,6.22078154458821e-10,0.004623778166074979,-7.511256501722334e-6,6.895832720469361e-10,0.0046241631750252934,-7.4503005879202574e-6,5.476957123973267e-10,0.0046244526906444455,-7.344777280885875e-6,3.031921981158643e-10,0.004624644751104253,-7.241142852555951e-6,6.324918068849496e-11,0.0046247535293354415,-7.178329664083658e-6,-8.227089394819571e-11,0.004624803929537004,-7.1838293799132266e-6,-6.982495105222414e-11,0.004624826696230001,-7.272134715425384e-6,1.3414464882997706e-10,0.004624854095060916,-7.444583539571314e-6,5.327371256362688e-10,0.004624916026302616,-7.690267618702546e-6,1.1006291093985203e-9,0.004625036574007785,-7.98793405485864e-6,1.7885067099525766e-9,0.004625231133799637,-8.30888821439031e-6,2.5298802519654072e-9,0.004625504428824734,-8.620815020618825e-6,3.2500039740028935e-9,0.004625849747329165,-8.892151827359156e-6,3.875986187591585e-9,0.0046262495157665465,-9.09652545200698e-6,4.346970267559263e-9,0.004626677147753625,-9.216883627944467e-6,4.623605244888573e-9,0.004627100098948487,-9.249002221467704e-6,4.6961442314090165e-9,0.004627484100502901,-9.204044867914665e-6,4.590434874603475e-9,0.004627798689161824,-9.109776567161958e-6,4.3708109803278244e-9,0.004628024187515499,-9.0095003276215e-6,4.1376398888795614e-9,0.004628159602392367,-8.956974239448121e-6,4.015455545081188e-9,0.004628229255540625,-9.005485803645908e-6,4.127521100134283e-9,0.004628283803510658,-9.1910726190435e-6,4.556926589182645e-9,0.004628390435834369,-9.514454774165462e-6,5.304877259037512e-9,0.004628610918423801,-9.931843970056032e-6,6.269651296939101e-9,0.004628975503068454,-1.03648245865506e-5,7.2696549997176675e-9,0.004629467998225569,-1.0728850454589621e-5,8.10939549229837e-9,0.004630032512152586,-1.0965482676576773e-5,8.65397700401509e-9,0.004630597398772655,-1.1060056137677217e-5,8.86984853736169e-9,0.004631101082919748,-1.1038122203419039e-5,8.816457412620772e-9,0.004631507147841215,-1.0948389067229884e-5,8.606690701628071e-9,0.004631806481354592,-1.0844288661248472e-5,8.364204739480547e-9,0.004632011465302068,-1.0771358781577292e-5,8.194291991699351e-9,0.004632147892557216,-1.0761401585255883e-5,8.170455351365712e-9,0.004632247893263616,-1.0831308542105932e-5,8.331728476942694e-9,0.00463234477781505,-1.0984114505098195e-5,8.685073680741978e-9,0.004632469369290628,-1.1210771926742844e-5,9.209415190899736e-9,0.004632647141513031,-1.1492171204089592e-5,9.860291714348777e-9,0.004632895765556187,-1.1801489544677315e-5,1.0575356211698413e-8,0.004633222987185644,-1.2107161747595294e-5,1.1281365019742708e-8,0.004633625109689717,-1.2376748980879223e-5,1.1903214390625413e-8,0.004634086659004174,-1.2581610090192167e-5,1.2374746891829162e-8,0.004634581752502566,-1.2701806877036646e-5,1.2650024924146413e-8,0.004635077356706937,-1.273044813037253e-5,1.2713298103112125e-8,0.004635538281190807,-1.2676599340062202e-5,1.2585709492729057e-8,0.004635933426539173,-1.2565907068775515e-5,1.2326775887080312e-8,0.0046362425090470906,-1.2438342120984666e-5,1.202920592778017e-8,0.004636462294497865,-1.234271921279755e-5,1.1806193185873564e-8,0.004636611028747824,-1.232775517799123e-5,1.1770617073140064e-8,0.004636729067608224,-1.2429993538057063e-5,1.2006973681361427e-8,0.004636873204322435,-1.2660614669240317e-5,1.2540806146547426e-8,0.004637103047741207,-1.2995764214321633e-5,1.3316407776853431e-8,0.004637461294852211,-1.3376967540621544e-5,1.4197950262497705e-8,0.00463795534065098,-1.3726217412767458e-5,1.5004554273269622e-8,0.004638550845381015,-1.3972478316380603e-5,1.5571711376454045e-8,0.004639183148953752,-1.4077211752893863e-5,1.5810383357853653e-8,0.0046397812865391925,-1.4045280259926954e-5,1.5732214181573113e-8,0.0046402914283477465,-1.3917086868911308e-5,1.5431235497281092e-8,0.004640688992994678,-1.3749519789539588e-5,1.50396004361683e-8,0.004640977811977925,-1.3597154104758875e-5,1.4683939035007512e-8,0.0046411816590931215,-1.3500634643284917e-5,1.4458435271925997e-8,0.004641334337283517,-1.3482814716284878e-5,1.4415936504639937e-8,0.004641471841569615,-1.3549864644392499e-5,1.45705737914381e-8,0.004641627345314647,-1.36943373473814e-5,1.4904873429144573e-8,0.004641828265389255,-1.3898382253809021e-5,1.5377192152694978e-8,0.004642094369945667,-1.4136568493739574e-5,1.592827642183505e-8,0.004642436229981527,-1.4378530825307724e-5,1.648746362443435e-8,0.004642853793025203,-1.4591962398589605e-5,1.6979710468902657e-8,0.00464333536372152,-1.4746476784586312e-5,1.7334602810121096e-8,0.004643857739129038,-1.481845010519349e-5,1.749756817785199e-8,0.00464438837763796,-1.479624509342569e-5,1.7441917675913e-8,0.0046448901141322415,-1.4684572553892183e-5,1.7178880316379137e-8,0.00464532817306209,-1.4506395760338885e-5,1.676197448758261e-8,0.0046456782783954416,-1.4300948688484878e-5,1.628240091514535e-8,0.004645933875498211,-1.4117326680498562e-5,1.5854168093428857e-8,0.004646110289799332,-1.4004423473821114e-5,1.5590715394014384e-8,0.004646244116896511,-1.399911276381716e-5,1.5577449679665026e-8,0.004646387005593405,-1.41153100211975e-5,1.5846355805771457e-8,0.004646594141764705,-1.4337032558028205e-5,1.6359950354097322e-8,0.004646909305258094,-1.4618613247030586e-5,1.701188561366317e-8,0.0046473503812339495,-1.4894178333601433e-5,1.7649042879564176e-8,0.004647900916773948,-1.5095625610264924e-5,1.811329983033688e-8,0.004648512809389593,-1.5173842404411922e-5,1.829077431406508e-8,0.004649120903019922,-1.5114403601433032e-5,1.8148248545685655e-8,0.004649663817187577,-1.4940331193331636e-5,1.7739550224659373e-8,0.004650101646361556,-1.4701189768492982e-5,1.7180166575556488e-8,0.004650423559198932,-1.4455016176381626e-5,1.6605176919502795e-8,0.004650644665764515,-1.4251827770794912e-5,1.613086614501808e-8,0.004650796624019296,-1.4124141025250696e-5,1.583268895658235e-8,0.004650917415804542,-1.4084914955533756e-5,1.5740543813909623e-8,0.004651043598431591,-1.4130241265291127e-5,1.5845089278510927e-8,0.0046512057278376125,-1.4243729279101672e-5,1.6107974164142077e-8,0.0046514261340793615,-1.4400690454054686e-5,1.6471579916206996e-8,0.00465171789456136,-1.4571531090473221e-5,1.6866922638427443e-8,0.004652084137226091,-1.4724599130893931e-5,1.7220302263998086e-8,0.00465251732741125,-1.4829134893015994e-5,1.746020024223448e-8,0.004652998819609395,-1.4859005735948932e-5,1.7525983107701823e-8,0.004653499526234626,-1.4797478165342453e-5,1.7378984205893643e-8,0.004653982822792938,-1.4642447874902636e-5,1.701461884775316e-8,0.004654410522758944,-1.4410540357957179e-5,1.6471859896107837e-8,0.004654751676673082,-1.4137726039344877e-5,1.5834608479389963e-8,0.0046549921899199246,-1.3874312315314267e-5,1.5219993013443092e-8,0.004655141733859297,-1.3673984905797297e-5,1.4752835810267254e-8,0.004655234441725839,-1.3579420898515158e-5,1.4532174851046341e-8,0.00465532189043984,-1.3609191262358246e-5,1.460084197006534e-8,0.00465545992364021,-1.3750758727023153e-5,1.4929278998332993e-8,0.004655693328327301,-1.3962304090208998e-5,1.5419907146882814e-8,0.004656043110456753,-1.4183068768481111e-5,1.5931259431933548e-8,0.0046565001678516875,-1.434927671056179e-5,1.631501554350779e-8,0.004657027305155954,-1.4411158052329369e-5,1.6455548921583325e-8,0.004657569281103155,-1.434612452943196e-5,1.630052615942731e-8,0.004658068049326739,-1.41639120076071e-5,1.5872851697627348e-8,0.0046584782426453645,-1.3901969676808915e-5,1.525993191601153e-8,0.0046587776708922075,-1.3613082255371558e-5,1.458484088844579e-8,0.004658969832612916,-1.3350233172794423e-5,1.397103491590227e-8,0.004659079003760188,-1.3154157206487545e-5,1.3513330900768914e-8,0.004659141208384155,-1.3046837117797856e-5,1.3262761688597618e-8,0.004659194957403009,-1.3031068730407019e-5,1.3225604937819598e-8,0.004659274330167408,-1.3094026415269862e-5,1.3371747416260096e-8,0.0046594050651191455,-1.3212282800757067e-5,1.3646426315830232e-8,0.004659602999671059,-1.3356523513515203e-5,1.3981232874721674e-8,0.004659873789227049,-1.3495310852038219E-05,1.430287645128278e-8,0.004660213024776066,-1.359808005239616e-5,1.4540151248134795e-8,0.00466060633304002,-1.3637992835869933e-5,1.4630579714044076e-8,0.00466102965981684,-1.3595349253137439e-5,1.4528372069494455e-8,0.004661450563042212,-1.3461902340691184e-5,1.421449651710166e-8,0.004661831730217652,-1.3245578696188559e-5,1.3707678548966238e-8,0.004662137755511344,-1.2973872164911173e-5,1.307227092715899e-8,0.004662344999202101,-1.2693012432152884e-5,1.2416231574338447e-8,0.0046624519407560735,-1.2460082818593682E-05,1.1872648439435237e-8,0.004662485004202495,-1.2327880026386206e-5,1.1564379854227212e-8,0.004662494901102442,-1.2327021407297365e-5,1.1562375295099926e-8,0.004662542595555069,-1.24533420275431e-5,1.185644126351985e-8,0.0046626799506357805,-1.2667322066857839e-5,1.2354101779958266e-8,0.004662933402383711,-1.2906251170550697e-5,1.2909087247827492e-8,0.004663297073919368,-1.3103506845817271e-5,1.3366273288023952e-8,0.004663736575308624,-1.3207064274389993e-5,1.360471420722314e-8,0.00466420034455511,-1.3191474217760806e-5,1.3565421464328888e-8,0.004664633821846689,-1.3061257113502004e-5,1.3259181775894936e-8,0.0046649923454657955,-1.284657142486857e-5,1.2756441236261749e-8,0.0046652500093320995,-1.2593575575264028e-5,1.2164869400910327e-8,0.004665403125135055,-1.2352518526780268e-5,1.160163133759852e-8,0.004665468293837048,-1.2166612359423423e-5,1.1167452954822372e-8,0.004665476372929213,-1.2064179756235221e-5,1.092829431744967e-8,0.004665464527011558,-1.205536188602705e-5,1.090765701107904e-8,0.00466546866248559,-1.2133139463074206e-5,1.1088976843000324e-8,0.004665517840456056,-1.2277264814901737e-5,1.1424838647350068e-8,0.00466563119751025,-1.245936221956031e-5,1.1848924275875613e-8,0.004665817006354218,-1.2647802841822536e-5,1.2287410809984839e-8,0.004666073053110041,-1.281166414378168e-5,1.2668190698852117e-8,0.004666387542373383,-1.292381306206243e-5,1.2928022906658796e-8,0.004666740117300406,-1.2963606556451226e-5,1.3018805625924864e-8,0.004667103089208761,-1.2919782368290056e-5,1.2914336858847914e-8,0.004667443516313451,-1.2793855787151033e-5,1.261828935995056e-8,0.004667727216102982,-1.2603634007130076e-5,1.2172443742013038e-8,0.004667925717887047,-1.2385223968453717e-5,1.1661335221281164e-8,0.004668025982969037,-1.2190587373047782e-5,1.1206425769168459e-8,0.004668040124918859,-1.2077562615726495e-5,1.0942668267392677e-8,0.004668009332740903,-1.2092131257680859e-5,1.0977046211594681e-8,0.004667995963365245,-1.2248776168792324e-5,1.1342816317376177e-8,0.004668063394253834,-1.2519839245074089e-5,1.1974895693262607e-8,0.004668252213447853,-1.2842352538933383e-5,1.272604191553377e-8,0.004668565476656956,-1.3140346753934688e-5,1.3419026252516424e-8,0.004668970137839872,-1.3350798188378615e-5,1.390712963685913e-8,0.00466941145688206,-1.3440881943664238e-5,1.4114239617360718e-8,0.004669831352637258,-1.3411820715628956e-5,1.4043647933471819e-8,0.004670183125758375,-1.3292231840828618e-5,1.3762398499525709e-8,0.004670439551567326,-1.3126587614643615e-5,1.3374333363953765e-8,0.0046705947835942166,-1.2963357965618242e-5,1.2992486691062576e-8,0.004670661871582767,-1.2845325839862214e-5,1.2716578643366719e-8,0.004670667699865216,-1.2802931475699457e-5,1.2617538625965364e-8,0.004670646681376949,-1.2850763728081769e-5,1.2729307862896565e-8,0.00467063427678483,-1.2987111806417097e-5,1.304775137827414e-8,0.004670661343090428,-1.3196164916613432e-5,1.353577457443399e-8,0.004670750064167247,-1.3452020070287972e-5,1.4132715042564545e-8,0.004670911777831962,-1.3723508501828329e-5,1.4765677409608379e-8,0.004671146597861861,-1.397894625705489e-5,1.5360669460035923e-8,0.004671444375319671,-1.4190158848444865e-5,1.5851986140975655e-8,0.004671786392194452,-1.4335593144657587e-5,1.6189419371909977e-8,0.004672147385320302,-1.440277455442945e-5,1.634395024210514e-8,0.004672497882915822,-1.439047323877524e-5,1.63128171558708e-8,0.004672807221955093,-1.4310754474099981e-5,1.6124358297051074e-8,0.004673047967062916,-1.4190585450886653e-5,1.5841798023873977e-8,0.004673202402940901,-1.4071681804180103e-5,1.556283414706472e-8,0.004673270739720579,-1.4006175424222032e-5,1.5409373309145138e-8,0.004673278417874302,-1.4045585886180635e-5,1.5501616287218707e-8,0.0046732771097705355,-1.4223112429589761e-5,1.5916656213600744e-8,0.0046733335426375954,-1.4535231411889031e-5,1.6645637433110732e-8,0.0046735060396706435,-1.4934337773744007e-5,1.7576826633511244e-8,0.004673819189801707,-1.5341741234222534e-5,1.852618723245616e-8,0.004674252268579398,-1.5677278964770178e-5,1.9306615085994873e-8,0.004674748944885229,-1.5888924620635015e-5,1.9797027686382072e-8,0.004675240882951573,-1.5966460031890974e-5,1.997414641383107e-8,0.004675670613593522,-1.593625842060622e-5,1.9900119679567408e-8,0.0046760041793818975,-1.5845643844857367e-5,1.9685820881802324e-8,0.00467623309851158,-1.5746690960885734e-5,1.945294625392006e-8,0.004676369818220206,-1.568457041001168e-5,1.930686205008403e-8,0.004676440772138309,-1.5691203227189234e-5,1.932191376955323e-8,0.004676479528732202,-1.5782987495501686e-5,1.9536206216259085e-8,0.004676520954653062,-1.5961033347667108e-5,1.995215400474037e-8,0.004676596422060922,-1.6212951573783454e-5,2.0540610281932875e-8,0.004676730027189161,-1.6515837372076925e-5,2.1247813816331533e-8,0.004676935979999788,-1.6840152095742693e-5,2.2004505046599017e-8,0.004677217318990602,-1.7154102391278926e-5,2.2736247570911134e-8,0.00467756602649892,-1.7428077777037665e-5,2.3373860561672378e-8,0.004677964479425937,-1.763863379374355e-5,2.3862716425329537e-8,0.0046783879238457065,-1.7771596392012232e-5,2.4169923607945506e-8,0.004678807583239352,-1.782417897198473e-5,2.4289203675387195e-8,0.004679194192743565,-1.780618647288843e-5,2.4243687912563586e-8,0.004679521978008149,-1.7740311713799754e-5,2.4086639550366526e-8,0.0046797732769125674,-1.7661270247751158e-5,2.3899445231071237e-8,0.004679943926326737,-1.7612934963310745e-5,2.378485408762777e-8,0.00468004874105327,-1.76419904879494e-5,2.38520116422879e-8,0.0046801248137174605,-1.7786845602176726e-5,2.4190427202702886e-8,0.004680228593309382,-1.806263404032576e-5,2.4834927068767032e-8,0.004680422650323219,-1.844760764224442e-5,2.5734020536887993e-8,0.0046807527992763975,-1.8880759513499523e-5,2.674458018490809e-8,0.0046812254701966765,-1.9278549072575866e-5,2.7671099756894892e-8,0.004681800427430815,-1.9566523632612258e-5,2.8339657629219468e-8,0.004682406079741662,-1.9708395147643984e-5,2.8665861411746463e-8,0.004682968366748158,-1.9715465849410977e-5,2.867679352392317e-8,0.004683435608529261,-1.9634266355882566e-5,2.8481924313167707e-8,0.0046837883337889595,-1.952439154406978e-5,2.822106187628867e-8,0.004684035487230924,-1.9439673756009193e-5,2.8020203083391307e-8,0.004684204485088165,-1.941806770279495e-5,2.7967929163297136e-8,0.00468433116167156,-1.9479029937500837e-5,2.8109428435669545e-8,0.004684452186456466,-1.9625176187452407e-5,2.845049597540157e-8,0.004684600168465979,-1.984553498761316e-5,2.896517248241957e-8,0.0046848006032723915,-2.0118998764571928e-5,2.9603786467988204e-8,0.0046850698397548065,-2.041773635670475e-5,3.0300926191513015e-8,0.004685413783371999,-2.0710763850050337e-5,3.098384943257845e-8,0.00468582740770953,-2.096777642395736e-5,3.1581541361914726e-8,0.004686295292293071,-2.1163165376747107e-5,3.203417446835051e-8,0.004686793459251504,-2.127986172954694e-5,3.230208207219933e-8,0.004687292561605285,-2.1312386356273433e-5,3.2372809600881676e-8,0.0046877621105637915,-2.126854613740853e-5,3.2264991110637834e-8,0.004688175258111988,-2.1169442043346494e-5,3.202831932504239e-8,0.004688513640797768,-2.104761290672734e-5,3.173919627450822e-8,0.004688771804655766,-2.0943260277204035e-5,3.149188772523059e-8,0.004688960704666771,-2.089847309766487e-5,3.138494951118754e-8,0.004689109427812848,-2.0949239557927876e-5,3.150244410680444e-8,0.0046892635417487075,-2.111546408427255e-5,3.189053130139887e-8,0.004689477922148566,-2.139077308886334e-5,3.253367882818093e-8,0.004689802698454854,-2.1736387602686895e-5,3.3340499356742825e-8,0.004690264446209853,-2.2085256460148676e-5,3.415361339714332e-8,0.004690850572478942,-2.2360461861946586e-5,3.4792836260214054e-8,0.004691507905376526,-2.2503277074614084e-5,3.512087981369812e-8,0.0046921603699025816,-2.2496547289027997e-5,3.5098078105129547e-8,0.004692737515622717,-2.2369205648309436e-5,3.4792895698371355e-8,0.0046931977430484575,-2.218033828194287e-5,3.434443116540985e-8,0.004693535450245421,-2.19946049648199e-5,3.390460552743203e-8,0.004693773572452373,-2.1862829343110403e-5,3.359254933534034e-8,0.0046939501630360635,-2.181362607661693e-5,3.3475032195887265e-8,0.004694106408800557,-2.1853986931876104e-5,3.356800326714713e-8,0.004694278929507639,-2.1974145041739544e-5,3.384814078091561e-8,0.004694495986966662,-2.2153135943492177e-5,3.4265942399950725e-8,0.00469477605708682,-2.236343686777121e-5,3.475658838964401e-8,0.004695127385027143,-2.25745849279392e-5,3.5248415385464474e-8,0.004695547882976639,-2.2756322352379375e-5,3.567032900021728e-8,0.004696025355911659,-2.2881787560675736e-5,3.595935203368904e-8,0.004696538399017729,-2.2930998865573962e-5,3.6068830865346576e-8,0.0046970585118214685,-2.2894428695522926e-5,3.597678695177047e-8,0.0046975538398428066,-2.277591695522771e-5,3.569266368776685e-8,0.004697994417085737,-2.2593897361128732e-5,3.52601055038316e-8,0.004698358163045725,-2.238005741037552e-5,3.475374675121492e-8,0.0046986364344812365,-2.2175013783692378e-5,3.4269031535764016e-8,0.0046988377483364,-2.2021316841364653e-5,3.3905777612987485e-8,0.004698988505350433,-2.1954843872662592E-05,3.3747957039559153e-8,0.00469913001615439,-2.199603289469974e-5,3.384312019587815e-8,0.004699311555481439,-2.2142626039551497e-5,3.418542095617081e-8,0.004699579681160445,-2.2366028659942287e-5,3.470720003209844e-8,0.004699965159038889,-2.261379023439517e-5,3.528496641002932e-8,0.0047004707613474824,-2.2820209470544427e-5,3.576439822294622e-8,0.004701065275270101,-2.29245915141501e-5,3.600321104272019e-8,0.0047016890656927665,-2.2891951736126434e-5,3.591970431021748e-8,0.004702272011748362,-2.2726666777386748e-5,3.5524736397453896e-8,0.004702756920507253,-2.2470877734699576e-5,3.491788013206634e-8,0.004703116987165939,-2.2187808782063738e-5,3.4248104068405246e-8,0.004703359534640568,-2.193925935774467e-5,3.3660754039070295e-8,0.004703517130520162,-2.176842696306175e-5,3.325714330433221e-8,0.004703633418269326,-2.1693450292192006e-5,3.3079469125848756e-8,0.004703750784664788,-2.1710014565138826e-5,3.311710181821752e-8,0.004703902999268972,-2.1798210735348334e-5,3.332284229703271e-8,0.00470411241473192,-2.1929606093883388e-5,3.362958798550564e-8,0.004704389870876045,-2.207267688476105e-5,3.396308166894864e-8,0.0047047356012256255,-2.2196523423997598e-5,3.425061394883235e-8,0.004705140226676658,-2.2273583221930157e-5,3.4427402906015455e-8,0.004705585684179088,-2.2282131344618075e-5,3.444250019797068e-8,0.004706046484988976,-2.2209080754436687e-5,3.426539393023329e-8,0.004706492021561705,-2.205305499960459e-5,3.389321201807501e-8,0.004706890608130669,-2.182697129221664e-5,3.3356730967267744e-8,0.00470721539646339,-2.1558758464267093e-5,3.2721977504560417e-8,0.004707451321018943,-2.12887104727388e-5,3.208392178194558e-8,0.004707601124258925,-2.1062650368795808e-5,3.1550339335174934e-8,0.004707687923092548,-2.092164673284272e-5,3.1217597646232705e-8,0.004707752373939844,-2.0890881213821516e-5,3.1144495257733445e-8,0.004707844271649323,-2.097124597532204e-5,3.1332583670419434e-8,0.004708010475613604,-2.113670162270532e-5,3.172008981581706e-8,0.004708282385389394,-2.1338748014371744e-5,3.219257613945702e-8,0.0047086664359290925,-2.15173693706775e-5,3.2608780636782456e-8,0.0047091404880734164,-2.161606952423453e-5,3.283599569519555e-8,0.004709657840613588,-2.159728736032355e-5,3.278626927707014e-8,0.0047101587972046815,-2.14536381865304e-5,3.244275536750323e-8,0.004710587092019814,-2.1210639927389882e-5,3.1866026733256766e-8,0.004710905784652387,-2.0918934500008726e-5,3.11756702803512e-8,0.004711106530119068,-2.0638435018091832e-5,3.051288304831013e-8,0.004711208865517889,-2.0420804081158147e-5,2.999917704131898e-8,0.004711250995690448,-2.029710843358638e-5,2.9707348003223693e-8,0.004711277151420492,-2.0274053881011356e-5,2.9652724627549498e-8,0.00471132674977426,-2.033766978305856e-5,2.9801983439850805e-8,0.00471142806619857,-2.046071242907155e-5,3.009067825446045e-8,0.004711596296366146,-2.061020016312087e-5,3.044100612335261e-8,0.004711834389857875,-2.0753171954947886e-5,3.077533281366249e-8,0.004712134965726818,-2.086041685204148e-5,3.1024925417154556e-8,0.004712482251510385,-2.090882235568343e-5,3.1135456149055995e-8,0.004712853737906606,-2.0883211847782863e-5,3.107133595210802e-8,0.004713221881139335,-2.0778334625325025e-5,3.082042383122008e-8,0.004713556597760101,-2.0601134262572815e-5,3.0399376917884984e-8,0.004713829354068818,-2.037263915355485e-5,2.9858068237885336e-8,0.004714019207495355,-2.0127999853239356e-5,2.9279591365504785e-8,0.004714120040236812,-1.9912737159773322e-5,2.8771311538676714e-8,0.00471414655809,-1.9773869991005393e-5,2.8443873226592142e-8,0.004714135386249772,-1.9746861801332327e-5,2.83804276963628e-8,0.004714138370032906,-1.984258160661189e-5,2.8606000254505665e-8,0.004714208596707071,-2.004036454826956e-5,2.9071316232283385e-8,0.004714383927031075,-2.029154199139544e-5,2.966130936884501e-8,0.00471467478824134,-2.0532945180363846e-5,3.022705867006223e-8,0.004715061013315357,-2.070513244011117e-5,3.0628741349271914e-8,0.00471549819391272,-2.076855953990602e-5,3.0773644450018024e-8,0.004715930398805945,-2.0712828599232458e-5,3.06378229761092e-8,0.00471630479798327,-2.0557372487725065e-5,3.02675794944921e-8,0.00471658419168978,-2.0344538606421003e-5,2.9763064924636998e-8,0.004716754587575241,-2.012762846230072e-5,2.9250034311585e-8,0.004716826391143379,-1.9957347775696705e-5,2.8847903519089865e-8,0.004716829482927148,-1.9870328926400146e-5,2.8642734974974278e-8,0.004716804183631088,-1.9882591570309303e-5,2.8671899620700577e-8,0.004716791192796836,-1.9989005281011388e-5,2.8922902741116466e-8,0.004716823437325514,-2.016770532199581e-5,2.934387756265717e-8,0.004716921469150951,-2.0387043502867066e-5,2.986002387931219e-8,0.0047170924226144694,-2.0612596164450385e-5,3.0390138793191444e-8,0.004717331446500595,-2.081266616228881e-5,3.085955828244744e-8,0.00471762425529221,-2.0961852660023846e-5,3.120852397033979e-8,0.004717949786709429,-2.104309008518074e-5,3.139695112234478e-8,0.004718282560551554,-2.104890203008696e-5,3.1407378398035346e-8,0.00471859492533725,-2.0982516486430054e-5,3.1247623321056654e-8,0.004718859796079545,-2.0859052414961204e-5,3.0953605446153896e-8,0.004719054624823485,-2.0706285041295662e-5,3.059112867970817e-8,0.004719167008269947,-2.0563643657749342e-5,3.025342322589191e-8,0.0047192012609654915,-2.0477478018717793e-5,3.00498426889888e-8,0.00471918345441392,-2.0491050133859172e-5,3.0082155472353386e-8,0.004719160711673773,-2.0630138351970563e-5,3.041060704503147e-8,0.004719191097019601,-2.0889406258420564e-5,3.1021931692673706e-8,0.004719325043469325,-2.1227769789697886e-5,3.181866698159706e-8,0.0047195859260143365,-2.1578468896618452e-5,3.264310559084911e-8,0.004719960156972756,-2.187111814865657e-5,3.3329373513019146e-8,0.004720402230039262,-2.2055137896671795e-5,3.375863627291979e-8,0.004720851199728154,-2.211368644516015e-5,3.3891818178741824e-8,0.004721249742534635,-2.2064084478755165e-5,3.3770422384395773e-8,0.004721558271420089,-2.194802371751545e-5,3.349326327499581e-8,0.004721761248337392,-2.181765833721016e-5,3.318355542341268e-8,0.004721866556401599,-2.1722520963282726e-5,3.295805030285286e-8,0.004721900238871268,-2.169987115382176e-5,3.29043510790176e-8,0.004721898892204645,-2.176929055241197e-5,3.306826983285239e-8,0.004721901529417458,-2.193141803818353e-5,3.345092527192641e-8,0.004721942348745987,-2.2170269412426117e-5,3.401426136456454e-8,0.004722045516212493,-2.2458138717909424e-5,3.4692640398515564e-8,0.004722222546618573,-2.2761699487966296e-5,3.540726851507083e-8,0.0047224722135377,-2.3047940802877143e-5,3.6080226653327896e-8,0.004722782394577666,-2.3288951948910685e-5,3.6645758612571877e-8,0.004723132980101565,-2.3465103100195668e-5,3.7057739558551584e-8,0.004723499026608934,-2.3566743782828097e-5,3.729363200615465e-8,0.004723853726366984,-2.3594919509001365e-5,3.7356145869933e-8,0.004724171226410891,-2.356158846622636e-5,3.727375668144662e-8,0.00472442964344223,-2.3489522051841577e-5,3.710048713221879e-8,0.004724614776565834,-2.3411574874169688e-5,3.691415587823861e-8,0.004724724794459883,-2.3368277341243487e-5,3.6810591870453345e-8,0.0047247752100325596,-2.340213360934399e-5,3.6890033197833116e-8,0.004724801818033701,-2.354741153860014e-5,3.723294414462482e-8,0.00472485768521177,-2.3816423663497148e-5,3.786770260091306e-8,0.004725000635390749,-2.418751526032683e-5,3.8742466858000376e-8,0.004725272431033011,-2.4603620051597823e-5,3.972202334985268e-8,0.0047256788219663705,-2.4987702204493527e-5,4.062439541897351e-8,0.004726183285667441,-2.5270759185625143e-5,4.128696584233639e-8,0.004726720126803429,-2.541754230471784e-5,4.162712542300643e-8,0.004727219448344189,-2.5435941739691993e-5,4.166429361538732e-8,0.004727629770664268,-2.536784151980682e-5,4.149811650246318e-8,0.00472792886355938,-2.5270329894455154e-5,4.126387077300937e-8,0.00472812265068321,-2.5197835046972124e-5,4.109015364379114e-8,0.0047282373150355555,-2.5190669974525258e-5,4.1071880240448236e-8,0.004728309665470908,-2.5270343003186838e-5,4.125937504726307e-8,0.004728378624615121,-2.543968430350618e-5,4.165883422548709e-8,0.004728478767596398,-2.5685707126707573e-5,4.223916565564198e-8,0.004728635885651726,-2.5983880913205705e-5,4.294209090323031e-8,0.004728864409439411,-2.6303109090072288e-5,4.369389967187808e-8,0.00472916659618418,-2.6610845597161917e-5,4.44175634064523e-8,0.004729533321857145,-2.687781278328495e-5,4.5043926732075706e-8,0.00472994622235607,-2.708187235910797e-5,4.55208730022123e-8,0.004730380793270376,-2.721067737099242e-5,4.5819553184842186e-8,0.004730809906752847,-2.7262961196945158e-5,4.593735403726144e-8,0.004731207297948036,-2.724866569169805e-5,4.589813042879811e-8,0.004731550882303068,-2.7188193463415645e-5,4.5750407942570875e-8,0.004731825972564864,-2.7110878798737e-5,4.5563763450471336e-8,0.004732028530653421,-2.7052515132200603e-5,4.54229491228676e-8,0.004732168446389242,-2.7051350258781955e-5,4.541834024160813e-8,0.004732272116670077,-2.714157631827611e-5,4.563044734216501e-8,0.004732382358303023,-2.734381236381859e-5,4.610740117539504e-8,0.004732552676207028,-2.765400554259749e-5,4.6838853150868065e-8,0.004732833512182073,-2.803550331529912e-5,4.773748847006038e-8,0.004733252285295634,-2.842190019560124e-5,4.864598097253564e-8,0.004733796293531172,-2.8735835655547945e-5,4.9381511830951945e-8,0.004734411109839088,-2.891853713979851e-5,4.980557132802008e-8,0.004735019503554785,-2.895397730306729e-5,4.9880998252676156e-8,0.004735551138537044,-2.887270533546891e-5,4.9680920882470014e-8,0.00473596575267552,-2.873482839748109e-5,4.9348284107208375e-8,0.004736259519104328,-2.8605104853960317e-5,4.903667122874668e-8,0.004736457060975534,-2.8533821667809858e-5,4.886493863585071e-8,0.0047365979415711565,-2.85485921602435e-5,4.88979128990018e-8,0.004736724583238949,-2.8654807118183317e-5,4.914769787656253e-8,0.0047368742116397,-2.8840382877356432e-5,4.958511728727826e-8,0.004737074552126241,-2.9081541619000465e-5,5.015347478913712e-8,0.004737342012367782,-2.934812648323624e-5,5.078111482310837e-8,0.004737681309886265,-2.960821833601568e-5,5.139231870366264e-8,0.004738086098954303,-2.9832193363411564e-5,5.191692419486976e-8,0.004738540469209245,-2.9996259595434974e-5,5.229874245767923e-8,0.0047390212881655396,-3.0085394338945098e-5,5.2502529913061444e-8,0.004739501377336211,-3.0095423581682325e-5,5.251886124976056e-8,0.004739953305782397,-3.0033870472254683e-5,5.236603682676017e-8,0.004740353348319325,-2.9919407976351642e-5,5.208868447062693e-8,0.004740685200385828,-2.9779991128983356e-5,5.175327771239827e-8,0.004740943182403257,-2.9649741613378564e-5,5.1440738209547884e-8,0.004741134674185391,-2.9564621576085497e-5,5.1236171222247815e-8,0.004741281429687509,-2.955689735080932e-5,5.121571324845782e-8,0.004741419089674041,-2.9648317114137292e-5,5.1430346955513816e-8,0.004741593583568248,-2.984236535396184e-5,5.18876132323745e-8,0.0047418528064249385,-3.0117417530783683e-5,5.2535574522677666e-8,0.004742232999460031,-3.0424697664623252e-5,5.325821214909581e-8,0.004742742611363063,-3.069609207813721e-5,5.3894094209571386e-8,0.004743351393757184,-3.086414788615748e-5,5.4283751424790724e-8,0.004743994368040548,-3.088836563852584e-5,5.433186801908802e-8,0.004744593460110826,-3.0773559410401626e-5,5.4050676811265004e-8,0.004745086788273111,-3.0567784478253706e-5,5.3554919237006306e-8,0.004745448989905369,-3.034083898991905e-5,5.301067418598428e-8,0.0047456930853903715,-3.015732469647893e-5,5.257126350003612e-8,0.004745857698513026,-3.00585998089884e-5,5.233439298931279e-8,0.004745990240669041,-3.0058200221043662e-5,5.233146185427817e-8,0.004746133999600095,-3.01466801907586e-5,5.2539325380684306e-8,0.004746321325199566,-3.0299826522431672e-5,5.289999214373297e-8,0.004746571565708012,-3.048628868783824e-5,5.333878061980279e-8,0.004746891547053987,-3.067323831866283e-5,5.377769034777425e-8,0.004747276976592629,-3.083031101807034e-5,5.414468688672485e-8,0.0047477141402886116,-3.09325591886319E-05,5.4380693556431183e-8,0.004748181886555148,-3.096289364885244e-5,5.444541244979396e-8,0.004748654088097438,-3.09141513535335e-5,5.432224087989675e-8,0.004749102826477359,-3.079058892868887e-5,5.4021765189798875e-8,0.0047495023578297945,-3.060826542501298e-5,5.358256772490767e-8,0.004749833466407175,-3.0393770407297746e-5,5.306810148158317e-8,0.0047500874842839194,-3.018108231591561e-5,5.2559163277776153e-8,0.004750269208928283,-3.000667785776047e-5,5.214226026089898e-8,0.004750398005292498,-2.990333609399654e-5,5.1894905169507964e-8,0.004750506508683392,-2.9893424852776115e-5,5.186969825178604e-8,0.004750636541043871,-2.9982645840082855e-5,5.2079533030619567e-8,0.0047508320083346,-3.0155421919572188e-5,5.248676449937229e-8,0.004751128908639331,-3.037369192805859e-5,5.300052553271625e-8,0.0047515437134295745,-3.058146946640733e-5,5.348771766126394e-8,0.004752063484848125,-3.071700733657849e-5,5.380196084787112e-8,0.0047526432287152715,-3.073156493559227e-5,5.382809002665862e-8,0.004753215530274019,-3.060859876345908e-5,5.352758456900073e-8,0.004753711939495655,-3.0373149193153703e-5,5.2960713748294996e-8,0.004754087100048578,-3.0083973403278307e-5,5.226769683183297e-8,0.00475433293603724,-2.98112136590755e-5,5.1615475629158006e-8,0.004754476264544549,-2.9611822552670604e-5,5.113920082596975e-8,0.004754563953700199,-2.9514823359041654e-5,5.0907249040929476e-8,0.0047546455613278705,-2.9520016886330627e-5,5.0918372072733805e-8,0.004754761071596459,-2.9605722627759065e-5,5.112036823852704e-8,0.004754935662167024,-2.9739033755819657e-5,5.143462572713782e-8,0.0047551796096890735,-2.988434036747737e-5,5.1776389895648226e-8,0.004755490589258526,-3.0008869624587908e-5,5.206783588245407e-8,0.004755856442393838,-3.008584029224015e-5,5.224546763974042e-8,0.004756257668350731,-3.0096339668500227e-5,5.2264540791731686e-8,0.004756669706745484,-3.0030731792701057e-5,5.210242554479061e-8,0.004757065414585785,-2.9889908539192638e-5,5.176159886049536e-8,0.004757418195542284,-2.968619040159789e-5,5.1271759843174285e-8,0.00475770601363651,-2.9443203318333868e-5,5.0689459342253564e-8,0.004757915965546911,-2.9193873541743718e-5,5.009323271378707e-8,0.004758048438176281,-2.8975983699953833e-5,4.957295059706262e-8,0.0047581194741599594,-2.882542250153593e-5,4.921372935448555e-8,0.004758160019778779,-2.876818870394926e-5,4.9076934374705044e-8,0.004758211358591651,-2.8813062505827567e-5,4.9182827912228046e-8,0.004758317093348088,-2.894711954955259e-5,4.950002836532726e-8,0.004758513086696229,-2.913579719092093e-5,4.994582695633771e-8,0.004758817511140333,-2.932837760191171e-5,5.03993731608605e-8,0.004759223605850981,-2.9468701036464705e-5,5.072723219425754e-8,0.004759697867909933,-2.9509504216527897e-5,5.0817464553032814e-8,0.004760185864983653,-2.942696235017769e-5,5.061410130962157e-8,0.0047606259543624555,-2.9230317643366145e-5,5.0139889000795495e-8,0.004760967607467908,-2.896139174117637e-5,4.9494965504536796e-8,0.004761187350905263,-2.8682116608214554e-5,4.882704196243258e-8,0.004761294966547717,-2.8454389880011927e-5,4.828336259201367e-8,0.004761327275387122,-2.8321230768383856e-5,4.796585845162461e-8,0.004761333553681048,-2.829714704173953e-5,4.790836114893017e-8,0.0047613601652829966,-2.8369688621673795e-5,4.808053312846534e-8,0.004761440321646852,-2.8508399895063426e-5,4.8409387338905586e-8,0.004761590551451071,-2.8675522491192136e-5,4.880485640357133e-8,0.004761812082991868,-2.883449707617644e-5,4.917998782520274e-8,0.004762094385548418,-2.8955069947828657e-5,4.946298307321452e-8,0.004762418882065095,-2.9015693696433737e-5,4.960280392062293e-8,0.0047627620311700624,-2.9004461174501594e-5,4.95713500331758e-8,0.004763097828331392,-2.8919547543918302e-5,4.936452599578333e-8,0.004763400221147088,-2.8769621484632385e-5,4.90032528762637e-8,0.004763646058855578,-2.8574085268911304e-5,4.8534040160042696e-8,0.004763818946533213,-2.8362398774863e-5,4.802731915464349e-8,0.004763913739565946,-2.8171404920085826e-5,4.757097276326134e-8,0.004763940543520972,-2.8039773963918373e-5,4.725700354486537e-8,0.004763926283878361,-2.7999613583819032e-5,4.7161505527736824e-8,0.004763911790083301,-2.806694015820014e-5,4.732201788368541e-8,0.004763943561668426,-2.8234348316907707e-5,4.772020956502153e-8,0.004764061768513518,-2.846950262937871e-5,4.827848357257109e-8,0.004764288248044224,-2.8721294087771193e-5,4.8874818169044365e-8,0.004764618840848933,-2.893247019251986e-5,4.93729414401414e-8,0.004765022978940383,-2.905493603698263e-5,4.965875709174304e-8,0.004765450868508584,-2.9062967578863874e-5,4.967170122917772e-8,0.004765846191254104,-2.8960399760946087e-5,4.942169071629253e-8,0.00476616076776282,-2.8779715550303997e-5,4.8986766544630736e-8,0.004766367084636814,-2.8573141543301774e-5,4.849172329484978e-8,0.004766464911858467,-2.839814847115955e-5,4.807347695622499e-8,0.00476647980983421,-2.8301831799976193e-5,4.784386143983262e-8,0.004766454199070231,-2.830937480805551e-5,4.7862255367856655e-8,0.004766434603844106,-2.8420157629011527e-5,4.8126495550133353e-8,0.004766459867818386,-2.861169104607286e-5,4.8582435764613466e-8,0.004766553900979995,-2.8848469249434867e-5,4.9145161379864336e-8,0.004766723895020026,-2.9091731049801776e-5,4.9722271610959204e-8,0.004766962652236033,-2.9307102792118214e-5,5.023203099217928e-8,0.004767252783211253,-2.946903329270971e-5,5.061383669831442e-8,0.004767570966247876,-2.956252059197733e-5,5.083224211036534e-8,0.00476789143265435,-2.9583263200849124e-5,5.0877272768619633e-8,0.004768188657904238,-2.9537233992896767e-5,5.076341708753041e-8,0.004768439713838026,-2.9440208044921784e-5,5.0528530531352904e-8,0.004768626910754468,-2.9317193423369705e-5,5.0232483468787865e-8,0.004768741178477299,-2.9201099070795987e-5,4.9953931538163455e-8,0.004768786027644776,-2.9129513499080413e-5,4.978252629146496e-8,0.004768780936853772,-2.9138496012208616e-5,4.980400285879896e-8,0.0047687618966803106,-2.9253256552848995e-5,5.007792821246455e-8,0.004768776430770757,-2.94777909524039e-5,5.0613091054872876e-8,0.004768871988096792,-2.9788111750287958e-5,5.13515752527904e-8,0.004769080444607102,-3.013432954967566e-5,5.2173957718739495e-8,0.004769405284770623,-3.0453486715106665e-5,5.293006343952431e-8,0.004769818220406904,-3.0688999004594416e-5,5.3485350267577706e-8,0.00477026743433048,-3.080834002271513e-5,5.376298803352503e-8,0.004770693577738604,-3.081168201237658e-5,5.3764285152528835e-8,0.004771046589895863,-3.072935915638893e-5,5.3562407814568835e-8,0.004771297631526678,-3.0610999818195513e-5,5.3276237909610404e-8,0.004771443711692161,-3.051122681918304e-5,5.303613422492912e-8,0.004771505396973143,-3.047631542556714e-5,5.295212013490912e-8,0.004771519499267242,-3.0534710642808274e-5,5.3091406911566415e-8,0.004771529205577235,-3.0692816320908944e-5,5.346855026149306e-8,0.00477157418650815,-3.0936189653487376e-5,5.404847750248202e-8,0.004771682921045021,-3.123511651048176e-5,5.4759893534474465e-8,0.004771868687189363,-3.1552574400663744e-5,5.551430977654335e-8,0.004772129449714966,-3.1852223337845775e-5,5.622508871487745e-8,0.004772450721118148,-3.210457768014518e-5,5.682212037646142e-8,0.0047728099065585915,-3.2290564110685556e-5,5.726024480323222e-8,0.004773180754965365,-3.240266257319448e-5,5.752190311025016e-8,0.004773537085899212,-3.244442374528547e-5,5.761592957241243e-8,0.004773855633711976,-3.242925814099788e-5,5.757463774878549e-8,0.004774118342142201,-3.237905496994603e-5,5.7450525834272396e-8,0.004774314614586185,-3.23226647010406e-5,5.731264700502641e-8,0.004774443914942631,-3.2293765111534964e-5,5.724146147285952e-8,0.004774518652136438,-3.232717786829844e-5,5.731994509929363e-8,0.0047745663374796085,-3.245259117379958e-5,5.761852250142311e-8,0.004774628801644312,-3.268548015279706e-5,5.817341730913397e-8,0.004774755642402249,-3.301726301171104e-5,5.896332753649877e-8,0.004774990554962329,-3.340982109567715e-5,5.989660608993938e-8,0.004775353818295921,-3.3800784181514464e-5,6.082409330155231e-8,0.004775829687604098,-3.412186477507274e-5,6.158296115132251e-8,0.004776367868533359,-3.4323594773016025e-5,6.205572173406188e-8,0.004776900497853547,-3.439347655809735e-5,6.22134491263007e-8,0.004777365818310518,-3.435798439395554e-5,6.21203712505869e-8,0.004777726423271264,-3.426947678704886e-5,6.190234646575702e-8,0.004777975587727213,-3.418704078505039e-5,6.170085067616404e-8,0.004778133031878161,-3.416016772550692e-5,6.163388088984261e-8,0.004778235183303571,-3.42193194337018e-5,6.177353927618648e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json new file mode 100644 index 000000000..2cb27659e --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":27000,"numberOfSamples":426,"samples":[0.004778324486778677,-3.437325503603603e-5,6.213990841775234e-8,0.0047784403655323285,-3.4611193149972956e-5,6.270647293317436e-8,0.004778612794687001,-3.490776213298559e-5,6.34120907874662e-8,0.004778858592736182,-3.52292773450405e-5,6.41760174740733e-8,0.004779180332297561,-3.554033000747647e-5,6.491361305699471e-8,0.0047795676373042825,-3.580972313910667e-5,6.555048782196374e-8,0.004780000304382801,-3.601491695515349e-5,6.603309632804475e-8,0.00478045244087296,-3.61445559073166e-5,6.63347373647879e-8,0.004780896788498023,-3.619907152539314e-5,6.64569282050896e-8,0.004781308537182374,-3.6189716300693844e-5,6.642701476463283e-8,0.004781668287402928,-3.613665338138569e-5,6.62935418736394e-8,0.004781964263597514,-3.606664631235279e-5,6.612070094818705e-8,0.004782194088007322,-3.6010502207012165e-5,6.598220199376154e-8,0.004782366358377176,-3.600003307813221e-5,6.595397202033107e-8,0.004782501973157172,-3.6063967015481664e-5,6.610431957871602e-8,0.004782634428155468,-3.622211612037997e-5,6.647996630880908e-8,0.004782807312744113,-3.647777437681964e-5,6.708796154697767e-8,0.004783066725500625,-3.681018070253991e-5,6.787788985789277e-8,0.004783447527929692,-3.717158351927006e-5,6.873512189479286e-8,0.004783956543699519,-3.749495769285591e-5,6.949941757309266e-8,0.004784561694818515,-3.7714824470447004e-5,7.001467512930746e-8,0.00478519734376055,-3.779386901530488e-5,7.019245393058328e-8,0.004785787298279908,-3.773988586048272e-5,7.005238005891471e-8,0.004786273540716633,-3.760159745695435e-5,6.971198893123057e-8,0.004786634261718939,-3.7446681679021194e-5,6.93338948131939e-8,0.004786883955125812,-3.7336538281738074e-5,6.90651418882107e-8,0.004787060855944783,-3.731025026111713e-5,6.89987545085644e-8,0.004787211498019626,-3.738052485901743e-5,6.916423518663561e-8,0.004787378723491085,-3.753768633517913e-5,6.953747098677388e-8,0.004787594743852002,-3.775688736390837e-5,7.005827277528313e-8,0.004787878341866488,-3.8005421267547694e-5,7.064797754466723e-8,0.004788234677867704,-3.824887091042978e-5,7.122411974828502e-8,0.004788656578890198,-3.845602832364749e-5,7.171211724931977e-8,0.004789126866304347,-3.8602762874008655e-5,7.205447458736902e-8,0.004789621527438917,-3.867476505188969e-5,7.221733392634786e-8,0.004790113453092092,-3.866900598852055e-5,7.219394452663505e-8,0.004790576389242894,-3.859380569021363e-5,7.200475975629059e-8,0.004790988658217021,-3.846749668906106e-5,7.169414035802423e-8,0.004791336185455692,-3.831592746623132e-5,7.132428928460062e-8,0.004791614602286293,-3.8169236193829984e-5,7.096748066882624e-8,0.004791830442019499,-3.8058199395276177E-05,7.069730505809583e-8,0.00479200147328233,-3.8010251494226334e-5,7.057912997799612e-8,0.00479215608282581,-3.8045112493544786e-5,7.065962097547686e-8,0.004792331243570715,-3.816988109148568e-5,7.095502401154791e-8,0.00479256801539422,-3.837391090721481e-5,7.143902873254914e-8,0.004792903356231363,-3.8625101009650084e-5,7.203412021826269e-8,0.00479335809982377,-3.887092912081732e-5,7.261428947824125e-8,0.004793923998139211,-3.904832069801235e-5,7.302876037880577e-8,0.004794557121329183,-3.910366330394545e-5,7.314982344552248e-8,0.004795186187943556,-3.901641098772414e-5,7.292918982979318e-8,0.004795737032643518,-3.881216157437762e-5,7.242916797983955e-8,0.004796161501972789,-3.855411099464743e-5,7.180203477009054e-8,0.004796453566145229,-3.831658356890081e-5,7.122636889591443e-8,0.004796644767523727,-3.815714860499036e-5,7.084000022037542e-8,0.004796785949434881,-3.8101951194646106e-5,7.070485098911682e-8,0.004796928139441377,-3.8146598603855446e-5,7.080934608157665e-8,0.004797110480654036,-3.8265789851055167e-5,7.109188904690533e-8,0.004797355877127002,-3.8424311612934556e-5,7.146748579270787e-8,0.004797671612426517,-3.8585616852327366e-5,7.184835086333892e-8,0.004798052093481322,-3.8717282547673696e-5,7.215687639979793e-8,0.004798481982683185,-3.879416904832568e-5,7.233306811500727e-8,0.0047989392109531745,-3.880032466659669e-5,7.233903786826962e-8,0.004799398014519919,-3.873014716490181e-5,7.216177815700216e-8,0.004799832156249859,-3.858883316916818e-5,7.181423253686315e-8,0.004800218353251468,-3.839193072968296e-5,7.133417138730679e-8,0.004800539728226463,-3.816370201797726e-5,7.07801739212383e-8,0.004800788798428815,-3.7934150450836535e-5,7.022440790334248e-8,0.004800969422381577,-3.773493298607536e-5,6.97427737273164e-8,0.004801097307136082,-3.7594608437565975e-5,6.940350057998089e-8,0.004801198860837516,-3.753375575082618e-5,6.925545753494772e-8,0.004801308307002621,-3.7560557353341817e-5,6.931760143740602e-8,0.004801463061629263,-3.766739513003747e-5,6.957089748412672e-8,0.0048016973159992595,-3.7829085241195104e-5,6.995424232825527e-8,0.004802033897188718,-3.800393663211438e-5,7.036721161540528e-8,0.004802475381486049,-3.8139426649914707e-5,7.068384881196978e-8,0.004802997237534293,-3.8183940325160886e-5,7.078086051437349e-8,0.0048035477616877155,-3.810365748834886e-5,7.057799420498539e-8,0.004804059432364746,-3.789890582121566e-5,7.007704800926735e-8,0.004804471058177286,-3.76100617891968e-5,6.93758159734603e-8,0.004804751226949466,-3.730566920695092e-5,6.863938578566553e-8,0.0048049094711126545,-3.705654492532993e-5,6.803781398940207e-8,0.004804988697932718,-3.691017647857788e-5,6.768458911635844e-8,0.004805045208603211,-3.687881976068849e-5,6.760819207952647e-8,0.004805128912216125,-3.6943695478478026e-5,6.776250536534154e-8,0.004805272128763522,-3.706800766501402e-5,6.805842303113509e-8,0.0048054875443432725,-3.72102043926267e-5,6.839587172762585e-8,0.004805771578807736,-3.733305531184578e-5,6.868556225257375e-8,0.004806109373196501,-3.740819210339049e-5,6.885971585954908e-8,0.004806479267214914,-3.741763766075652e-5,6.887556737614801e-8,0.00480685624919262,-3.7353970688048305e-5,6.871568343569287e-8,0.00480721474503835,-3.722005965565962e-5,6.838732853486281e-8,0.004807531254878627,-3.70285788369557e-5,6.792132402469517e-8,0.004807787168840347,-3.680107359176237e-5,6.736978068548045e-8,0.0048079717908961535,-3.656606685754552e-5,6.680147748275388e-8,0.004808085124176199,-3.635572067784862e-5,6.629375291303479e-8,0.0048081395655390005,-3.6201003683608846e-5,6.59208353445968e-8,0.004808159619935799,-3.61259119702826e-5,6.573995300854134e-8,0.004808179052187587,-3.614182096799145e-5,6.577781399967254e-8,0.0048082354644977225,-3.624339663861216e-5,6.602088125342372e-8,0.004808363016906486,-3.640739698014146e-5,6.641263422122376e-8,0.004808584568140996,-3.659514206004428e-5,6.685967165663355e-8,0.004808904762436531,-3.6758854267688404e-5,6.724710168628325e-8,0.00480930579650223,-3.685155258136531e-5,6.746239580653564e-8,0.0048097478566896616,-3.683927126708737e-5,6.742470100953433e-8,0.004810176029910032,-3.6712847565078014e-5,6.711298772615927e-8,0.0048105340254307105,-3.649482817530326e-5,6.658239512536003e-8,0.004810781727205723,-3.62365842449442e-5,6.595705126594526e-8,0.004810909644980501,-3.6003671889103674e-5,6.539470778083783e-8,0.004810942478516832,-3.5853999525254e-5,6.503419712779448e-8,0.004810929054258762,-3.581891665158464e-5,6.495006857326439e-8,0.0048109239580987374,-3.589619723046781e-5,6.513597488805307e-8,0.0048109704482596355,-3.605632765339819e-5,6.552011162684835e-8,0.004811091479469972,-3.625616637154878e-5,6.599830095926331e-8,0.0048112894999106535,-3.645235261818129e-5,6.646628961790225e-8,0.004811551496979631,-3.661003899809157e-5,6.684062633294758e-8,0.004811855326073649,-3.6706519877171644e-5,6.706718834733222e-8,0.004812175008010524,-3.673147922115121e-5,6.71216166824625e-8,0.00481248442724685,-3.668578285980148e-5,6.70063528600365e-8,0.004812759857408077,-3.6580011791983614e-5,6.67471364140862e-8,0.004812982021847438,-3.643312892218514e-5,6.638984182107787e-8,0.004813138260380984,-3.627105788419161e-5,6.599705939990736e-8,0.004813224984539436,-3.612453739463318e-5,6.56428706687843e-8,0.004813250027706149,-3.6025539008764395e-5,6.540413556464342e-8,0.004813233901618618,-3.600194055235022e-5,6.53476083256435e-8,0.004813208641342787,-3.6070981482546236e-5,6.55141956879046e-8,0.004813213185891162,-3.623309956685937e-5,6.590422431888505e-8,0.0048132853329533815,-3.6468577247922494e-5,6.646953796652841e-8,0.00481345196089862,-3.6739232782648675e-5,6.711775543238068e-8,0.004813720524850067,-3.699585543676539e-5,6.773031548224511e-8,0.004814074915372328,-3.718990777229592e-5,6.819070851646075e-8,0.004814477519636433,-3.7286327454266165e-5,6.841524919716474e-8,0.004814877412507499,-3.727371265226798e-5,6.837744468682739e-8,0.004815222824200392,-3.71687674239285e-5,6.811846623591315e-8,0.004815474776181273,-3.70132472069625e-5,6.773954080785747e-8,0.0048156180606356,-3.686348225678969e-5,6.737652512252384e-8,0.004815665783668138,-3.677486127562191e-5,6.716247159200004e-8,0.004815655222405848,-3.678604759224073e-5,6.718971555136587e-8,0.004815636005506843,-3.690868613654817e-5,6.74853269118757e-8,0.004815655154643246,-3.712641741469069e-5,6.800902880734398e-8,0.0048157448657402905,-3.740272786418989e-5,6.86723392503097e-8,0.004815916982414414,-3.769330697538445e-5,6.936842915828944e-8,0.004816164398472773,-3.79575991566434e-5,6.999989097850887e-8,0.004816466732888395,-3.8166161444911164e-5,7.049630552378684e-8,0.004816796998892661,-3.830332545250297e-5,7.082047667647441e-8,0.004817127128752034,-3.8366574426466915e-5,7.096680517792435e-8,0.004817431716377734,-3.8364425072400815e-5,7.095614538559232e-8,0.00481769031494261,-3.831406952629976e-5,7.0830151666776e-8,0.004817889007363463,-3.823930287395324e-5,7.064632660863894e-8,0.004818021924002364,-3.81685964240486e-5,7.047337979987863e-8,0.004818092995005395,-3.8132677946559405e-5,7.038533637487357e-8,0.004818117609598462,-3.8160829347254704e-5,7.045252292139183e-8,0.0048181231757472446,-3.8275439457385075e-5,7.072838433001155e-8,0.004818147032808319,-3.848524220234855e-5,7.123323584537503e-8,0.004818230263552585,-3.877913888410908e-5,7.193954194116859e-8,0.004818407376247594,-3.9123929426344404e-5,7.276667979907158e-8,0.004818694517905241,-3.946919365675648e-5,7.359290131063591e-8,0.004819081226702352,-3.975987623674142e-5,7.428575222689352e-8,0.004819530473516512,-3.99528372131395e-5,7.474192447320143e-8,0.004819988207444505,-4.003071053802827e-5,7.492052207630327e-8,0.0048203989246250615,-4.000728896884301e-5,7.485582965376748e-8,0.004820721175466344,-3.99227597487728e-5,7.464556945092878e-8,0.004820937782280773,-3.9831445677784674e-5,7.442110541926777e-8,0.004821058434419171,-3.978679151255124e-5,7.431111753324506e-8,0.004821115078288102,-3.982808284365596e-5,7.44096350669423e-8,0.0048211522270188,-3.9972043873461636e-5,7.475600152324611e-8,0.004821215190839854,-4.021085655268812e-5,7.533039650683856e-8,0.004821339447086454,-4.051642323333889e-5,7.606436621672032e-8,0.004821543793180569,-4.084903826994292e-5,7.686186217830935e-8,0.004821828560137223,-4.11675330397259e-5,7.762370019061549e-8,0.00482217843219588,-4.143791773110746e-5,7.826830249781045e-8,0.004822568060222116,-4.163862375087511e-5,7.874420409142698e-8,0.004822968276370532,-4.176204785493435e-5,7.903364411314588e-8,0.0048233512962861805,-4.1813332547424874e-5,7.914952587908982e-8,0.004823694268337095,-4.180773689787612e-5,7.912902718095061e-8,0.004823981341733217,-4.176770959006623e-5,7.902653839294732e-8,0.004824204843306262,-4.172022434438517e-5,7.890725119874452e-8,0.004824366170721857,-4.169434217802275e-5,7.884127164436675e-8,0.0048244767088938545,-4.1718500655906905e-5,7.889702962949885e-8,0.004824558542278362,-4.1816828861910714e-5,7.9132317175072e-8,0.004824644046356498,-4.2004005130913916e-5,7.958186192139638e-8,0.004824772810595939,-4.227902970506275e-5,8.02424031086156e-8,0.004824984330163837,-4.261986981161869e-5,8.105999852427741e-8,0.0048253063789773926,-4.2982701249766916e-5,8.192845535537351e-8,0.004825742302472369,-4.330968240475467e-5,8.2708249557431e-8,0.004826263889668254,-4.354578668059347e-5,8.326714000557609e-8,0.004826816164327769,-4.365883275531775e-5,8.352838122738419e-8,0.004827334389224904,-4.3652515189787744e-5,8.350199407923697e-8,0.0048277656748831246,-4.356505406150206e-5,8.328128245698638e-8,0.00482808475136242,-4.3454640222978786e-5,8.300742298950006e-8,0.0048282979694060126,-4.337986978855226e-5,8.282198985286413e-8,0.004828436715004647,-4.3383781338829196e-5,8.28283556019412e-8,0.004828545452468338,-4.3485739353153795e-5,8.307227830943268e-8,0.004828669442671055,-4.368097256269977e-5,8.354112596095182e-8,0.004828845131978453,-4.394543747541324e-5,8.417594361299053e-8,0.004829094332003,-4.42434357404026e-5,8.489003053203357e-8,0.004829422222056958,-4.453594609792681e-5,8.558908046994333e-8,0.004829818689134246,-4.4788154520325726e-5,8.618928271603903e-8,0.004830262162433468,-4.497503014521456e-5,8.663067376891177e-8,0.004830724791376845,-4.508429236527066e-5,8.688419593273334e-8,0.004831177763389958,-4.5116784857431304e-5,8.695250414418422e-8,0.0048315958105310045,-4.50848066644472e-5,8.686584714086303e-8,0.004831960372320328,-4.50092207251216e-5,8.667501419792826e-8,0.004832261385448886,-4.4916181410082026e-5,8.644339426785272e-8,0.004832498085672877,-4.4834021165063305e-5,8.623945104183476e-8,0.004832679280731162,-4.479034989518507e-5,8.612971656792317e-8,0.004832823322580668,-4.480906858922817e-5,8.61715560370843e-8,0.004832957631610085,-4.490685000713927e-5,8.640463908636807e-8,0.0048331170643941285,-4.508874878499018e-5,8.684036295819687e-8,0.004833339822081472,-4.5343323574385394e-5,8.745021561454051e-8,0.004833659599911437,-4.5639123415037367e-5,8.815754137046817e-8,0.004834094074838598,-4.592604139982e-5,8.884105976880853e-8,0.004834633097564738,-4.6145321609871045e-5,8.935914049205118e-8,0.004835233759482804,-4.624855257649796e-5,8.959560230484134e-8,0.004835829415303181,-4.621862951064732e-5,8.951018080070509e-8,0.004836352230776127,-4.6080232054244594e-5,8.916366565204528e-8,0.0048367583349983355,-4.589150422661235e-5,8.869757625100208e-8,0.004837041591904654,-4.572106996194247e-5,8.827831621545146e-8,0.004837230223456968,-4.562385027524527e-5,8.803847379686291e-8,0.004837371762779652,-4.562714338453696e-5,8.804318221037112e-8,0.004837516153686477,-4.572936473719342e-5,8.828738354028514e-8,0.004837703559825233,-4.590705729913291e-5,8.871321255880796e-8,0.00483795842100459,-4.6124666861455577e-5,8.923395641208231e-8,0.0048382884248457615,-4.634354743735913e-5,8.975592732878355e-8,0.004838686449812278,-4.652885932931713e-5,9.019505444720963e-8,0.004839134059291325,-4.6654302346770156e-5,9.048817401084265e-8,0.00483960577414928,-4.670490119196287e-5,9.059963781515475e-8,0.004840073592346507,-4.6677962776577816e-5,9.052354945919353e-8,0.004840511260350432,-4.6582397345525144e-5,9.028205993460479e-8,0.004840897899231785,-4.643670396318439e-5,8.992042145949509e-8,0.004841220660300779,-4.626596989787898e-5,8.949965282921296e-8,0.004841476202205037,-4.6098371678003375e-5,8.908802385796573e-8,0.004841671077489782,-4.596168029442229e-5,8.875259106524241e-8,0.004841821307091204,-4.587997080031785e-5,8.855125453694367e-8,0.004841951292609372,-4.587045888723051e-5,8.852512147964674e-8,0.004842091964053706,-4.5940344193465115e-5,8.869088863412212e-8,0.004842277739297711,-4.6083631809650075e-5,8.903322182845005e-8,0.004842541493972926,-4.627838807084122e-5,8.949828371537751e-8,0.004842906839177331,-4.648600438823033e-5,8.999219477976895e-8,0.004843378264295116,-4.665522221668618e-5,9.039097681872455e-8,0.004843932381435793,-4.6733606371812626e-5,9.056834871587784e-8,0.004844516593310677,-4.6686017948423326e-5,9.044026966797496e-8,0.004845061297440305,-4.651301745333522e-5,9.000924058638993e-8,0.004845504427784852,-4.6256995746914114e-5,8.93789350952813e-8,0.004845816313409309,-4.598827316210438e-5,8.872033893206934e-8,0.004846009719910427,-4.5777184591241536e-5,8.820391758061302e-8,0.004846129972474116,-4.566860671556084e-5,8.793778061329034e-8,0.0048462338316596935,-4.567181248329228e-5,8.794324136066889e-8,0.004846370227429732,-4.576600567215227e-5,8.816863162886767e-8,0.0048465699861102345,-4.591338738919411e-5,8.852141023091782e-8,0.004846844129874208,-4.6071908146491065e-5,8.889930925992923e-8,0.004847187112262369,-4.6204138643279386e-5,8.921179902089594e-8,0.004847581703514996,-4.6282067896565305e-5,8.939150694429025e-8,0.004848003735402131,-4.6289076937789076e-5,8.939877769506586e-8,0.004848426256645651,-4.6220321509909585e-5,8.922246700657916e-8,0.004848823209408606,-4.608209856359733e-5,8.887836627853265e-8,0.004849172664527739,-4.58903562975773e-5,8.840557932192903e-8,0.0048494595475039315,-4.5668426291373705e-5,8.786099087737668e-8,0.0048496777143903665,-4.544400174802944e-5,8.731188333905859e-8,0.004849831083297237,-4.524549703219852e-5,8.682706510070045e-8,0.0048499335706496585,-4.5098191704872816e-5,8.646751496052212e-8,0.004850007839811998,-4.502058698290767e-5,8.627758023189437e-8,0.004850082971399407,-4.502123491055191e-5,8.627733894012528e-8,0.00485019108473835,-4.509627653317102e-5,8.645669590689583e-8,0.004850362866722029,-4.522799803925022e-5,8.677198648497969e-8,0.004850621906510939,-4.5384910987798636e-5,8.71463393443206e-8,0.004850977946640694,-4.552441540774088e-5,8.747633199424684e-8,0.00485142013660625,-4.5599608404899196e-5,8.764862963748815e-8,0.0048519131380055204,-4.557121093968653e-5,8.756886324253519e-8,0.004852400538216197,-4.5422915883702246e-5,8.719862480298039e-8,0.004852819081156075,-4.517383633579113e-5,8.658536065820687e-8,0.004853121273694221,-4.4878623615075926e-5,8.586240756352643e-8,0.004853295526580276,-4.461012521329985e-5,8.52067471895604e-8,0.004853370910340709,-4.443133874108983e-5,8.477085726904584e-8,0.004853402989489355,-4.437253239360528e-5,8.462723494908248e-8,0.004853450340338429,-4.442557395851914e-5,8.475489986913897e-8,0.004853555566747505,-4.4554520782041413e-5,8.506551757055743e-8,0.004853737798332979,-4.471246662007726e-5,8.54446544743408e-8,0.00485399486389547,-4.485554721718429e-5,8.57858896141624e-8,0.004854309864890948,-4.495075979662197e-5,8.600964247263456e-8,0.00485465803028982,-4.497849770452831e-5,8.6069040778254e-8,0.00485501203358417,-4.493206747983682e-5,8.594850455856457e-8,0.00485534568228858,-4.481608527441229e-5,8.565974574854902e-8,0.004855636618776108,-4.464461889212684e-5,8.523726941055656e-8,0.004855868536584048,-4.4439150233652795e-5,8.473347207406128e-8,0.0048560330722339125,-4.422617519806977e-5,8.421282174134603e-8,0.004856131296365982,-4.4034205116743515e-5,8.374453608584602e-8,0.004856174444895931,-4.389004599187381e-5,8.339349699528367e-8,0.004856183359155293,-4.381463425405478e-5,8.321012126246628e-8,0.004856186304500604,-4.381908244061987e-5,8.322079181766202e-8,0.0048562152009108475,-4.3901681750652377e-5,8.342065742125228e-8,0.004856300584346492,-4.4046572784289005e-5,8.37705159905011e-8,0.004856465867596215,-4.422466583704176e-5,8.419918887759595e-8,0.004856721671702306,-4.439714167069116e-5,8.46121777512187e-8,0.004857061176355107,-4.452169624559631e-5,8.490696041970339e-8,0.004857457829840346,-4.456149265628484e-5,8.499476400738042e-8,0.00485786732258919,-4.4495941699599566e-5,8.482662558070934e-8,0.0048582357611451545,-4.433064375541632e-5,8.44172762033907e-8,0.004858514335168011,-4.4101716857274364e-5,8.385533918607352e-8,0.004858676764439197,-4.386931833014717e-5,8.32873433067394e-8,0.004858731337204977,-4.369916734671689e-5,8.287271910808891e-8,0.004858719353578516,-4.363884359422422e-5,8.272626402178683e-8,0.004858699079100403,-4.370113971203409e-5,8.287790899006382e-8,0.004858723862983524,-4.3863152455982114e-5,8.32708541147057e-8,0.004858826040038608,-4.4079389942548624e-5,8.379377681762571e-8,0.00485901243298159,-4.429951477497208e-5,8.432416681478761e-8,0.004859269289883763,-4.448198863401187e-5,8.476146671893096e-8,0.004859570954995191,-4.460045524794661e-5,8.504236029963514e-8,0.004859887795941977,-4.464428204949593e-5,8.514179476144743e-8,0.004860191622124641,-4.461614115330714e-5,8.506688634502332e-8,0.004860458789785439,-4.452889224023546e-5,8.48492775788132e-8,0.004860671945597038,-4.440278682495274e-5,8.453839235720549e-8,0.004860821241729715,-4.426305156165498e-5,8.419563819915824e-8,0.004860905419245433,-4.4137473414217795e-5,8.388856225560573e-8,0.004860932724572903,-4.405349915154474e-5,8.368376120026044e-8,0.004860921196088654,-4.403452027360999e-5,8.363778704610134e-8,0.004860897562807879,-4.4095524083173727e-5,8.378654746993848e-8,0.004860894101884112,-4.4238943389541296e-5,8.413526183041853e-8,0.0048609433408634845,-4.4451997534014956e-5,8.465211854456047e-8,0.004861071294856948,-4.470688491827875e-5,8.526891053304732e-8,0.004861290736213975,-4.4964675805282034e-5,8.589067031036176e-8,0.004861596402411748,-4.518269904195639e-5,8.641375721967553e-8,0.00486196380325942,-4.5324110154403064e-5,8.674916232953769e-8,0.0048623525742310615,-4.536760086172835e-5,8.684603658726279e-8,0.004862714420798966,-4.531482706925229e-5,8.670954354944289e-8,0.004863004623796651,-4.519303097661249e-5,8.640693812132527e-8,0.004863194723425296,-4.505076964306804e-5,8.605688184505726e-8,0.0048632825102846704,-4.494612337857568e-5,8.58005774809639e-8,0.004863294732214557,-4.492967036023607e-5,8.576036145889535e-8,0.004863279646140609,-4.50281209417457e-5,8.600009804265731e-8,0.004863291238192513,-4.5235972657266385e-5,8.650521261792416e-8,0.004863371875000471,-4.5519265521149334e-5,8.719217023603693e-8,0.004863541092600532,-4.5828989880735264e-5,8.794132978880563e-8,0.0048637941431590335,-4.611699389480268e-5,8.863570335939151e-8,0.004864108348633099,-4.6347665140982225e-5,8.918925654220265e-8,0.00486445241548828,-4.650270904600831e-5,8.95582979767788e-8,0.0048647945683711405,-4.658026758675538e-5,8.973908538631549e-8,0.004865107760312099,-4.659122884457311e-5,8.975868058567857e-8,0.004865372216069882,-4.655509521210519e-5,8.966485595145175e-8,0.004865576369720018,-4.649651590121914e-5,8.95177115085765e-8,0.004865717179949249,-4.644257685804242e-5,8.938315205316097e-8,0.004865800395588709,-4.642041241650156e-5,8.932709842864613e-8,0.004865840829426269,-4.6454505120622764e-5,8.940887781848442e-8,0.004865862139653059,-4.656317873149144e-5,8.967262906616372e-8,0.00486589520436499,-4.675433988431925e-5,9.013692766243163e-8,0.00486597415698355,-4.7021367342236717e-5,9.07848659725663e-8,0.004866129742279287,-4.7340909048838094e-5,9.15588685419079e-8,0.004866380968437412,-4.7674714425056845e-5,9.236536298478788e-8,0.004866727661902241,-4.797676853483728e-5,9.309231162293983e-8,0.004867147324684734,-4.8204752728047944e-5,9.363717379329655e-8,0.004867598631309231,-4.833237436364809e-5,9.393686151571851e-8,0.00486803127888161,-4.835807099496604e-5,9.398874966956663e-8,0.004868399226752945,-4.8306738611208255e-5,9.385460419655338e-8,0.0048686730911499205,-4.8223736532853264e-5,9.364566598366033e-8,0.004868847969216985,-4.816304071077976e-5,9.349354754634237e-8,0.0048689445715649204,-4.817300077705271e-5,9.351546946352385e-8,0.004869003383995121,-4.8283613222312364e-5,9.378341924616291e-8,0.004869073380924081,-4.849890638879081e-5,9.43059380023238e-8,0.0048691985524858695,-4.8796843985408144e-5,9.50282614209952e-8,0.004869406558763143,-4.9136789945777165e-5,9.585077822881535e-8,0.0048697031730176215,-4.947169627205198e-5,9.665881714263925e-8,0.004870073718317038,-4.9760441298475204e-5,9.735263346838005e-8,0.004870489786100687,-4.9976304469416066e-5,9.786787764373727e-8,0.004870917867218918,-5.010990840288102e-5,9.818254906626896e-8,0.004871326805083185,-5.016747905294032e-5,9.831256717497081e-8,0.004871692531052498,-5.016661596207553e-5,9.830134495028733e-8,0.004872000142688164,-5.0131652452055496e-5,9.820844897666668e-8,0.004872244237261572,-5.008976155652556e-5,9.810014547881626e-8,0.004872428488982316,-5.0068019068499616e-5,9.804229692860984e-8,0.004872565118915182,-5.0091037618228904e-5,9.809461966944169e-8,0.0048726744092658725,-5.017854275436142e-5,9.830475483883204e-8,0.004872783856378547,-5.034234927557437e-5,9.870086948139556e-8,0.00487292606572329,-5.058265619676878e-5,9.928265588588883e-8,0.0048731343054660824,-5.0884445663438285e-5,1.0001269113882292e-7,0.004873435129492483,-5.1215919899950034e-5,1.0081284930929764e-7,0.0048738390660209,-5.153170034332811e-5,1.015723136253397e-7,0.004874332805219763,-5.178266204412348e-5,1.0217165527867006e-7,0.004874877889632444,-5.1930947916088274e-5,1.0251939608479708e-7,0.004875419222669628,-5.196437324983978e-5,1.0258697726965176e-7,0.004875901546822159,-5.190279042143044e-5,1.0242405238386324e-7,0.004876286929160504,-5.179247995187442e-5,1.0214451691172397e-7,0.004876565554442809,-5.1691121210262656e-5,1.0188954108256096e-7,0.004876756238178176,-5.165032541885692e-5,1.0178476106510073e-7,0.004876898311797196,-5.170234825273362e-5,1.0190790776405611e-7,0.004877039291090606,-5.185415619525043e-5,1.0227463542533915e-7,0.004877222603926023,-5.20886997024062e-5,1.0284205932149231e-7,0.004877478233490123,-5.237148471881915e-5,1.0352515418660084e-7,0.004877817707882309,-5.2659998699574115e-5,1.0421992098956346e-7,0.004878233764547773,-5.291357147653802e-5,1.0482740644614637e-7,0.004878704103850562,-5.310151400306657e-5,1.0527339067231532e-7,0.0048791978095219886,-5.3207947753445196e-5,1.0551996632875121e-7,0.004879682486508378,-5.323275948828798e-5,1.055676880907866e-7,0.0048801303140343175,-5.318929968967715e-5,1.0544982140066945e-7,0.004880521970866183,-5.3100190207577814e-5,1.0522202640813102e-7,0.004880848294653186,-5.299267897057388e-5,1.0495098947741473e-7,0.0048811102117961675,-5.289457264711433e-5,1.0470451475918726e-7,0.004881317747189281,-5.2831136722353006e-5,1.045440020638691e-7,0.004881488756100408,-5.282274765893747e-5,1.0451875219165502e-7,0.004881647595748994,-5.2882791831743e-5,1.0466084584560046e-7,0.004881823499265498,-5.301535663747745e-5,1.0497951455693293e-7,0.004882047968987757,-5.321257874700818e-5,1.0545473459947656e-7,0.004882350207115018,-5.34522364381064e-5,1.0603152097503244e-7,0.004882749931583773,-5.3697319596594616e-5,1.0661911602920183e-7,0.004883248411975124,-5.390029444311228e-5,1.0710159048430002e-7,0.004883821223283848,-5.40142565780382e-5,1.0736509452548331e-7,0.004884418535029374,-5.400964585550486e-5,1.07338516263783e-7,0.004884977331862179,-5.388945231346987e-5,1.0703038492932809e-7,0.004885442982784979,-5.369291520334631e-5,1.0653767571805211e-7,0.0048857896031786405,-5.348285896525935e-5,1.060146273029446e-7,0.004886027899428079,-5.33225701704739e-5,1.0561598542362421e-7,0.004886197488183362,-5.3254761974328e-5,1.0544546399226637e-7,0.004886350220054461,-5.329186339414478e-5,1.0553216327134056e-7,0.00488653376420074,-5.341832436145469e-5,1.058366269418165e-7,0.004886780973520583,-5.3599972431194304e-5,1.0627419538425782e-7,0.004887105836022719,-5.379505921217329e-5,1.0674231474866518e-7,0.00488750437159898,-5.3963749688183614e-5,1.071437647657893e-7,0.004887958428542934,-5.4074868096297026e-5,1.074029666188478e-7,0.004888440866556042,-5.410987220354813e-5,1.0747544257958971e-7,0.004888921197063378,-5.406429862465683e-5,1.0735113586693954e-7,0.004889370931079509,-5.3946902121682926e-5,1.0705217492870693e-7,0.004889767913025726,-5.377692855867965e-5,1.0662613496775146e-7,0.004890099148351,-5.3580229669963764e-5,1.0613649899040003e-7,0.0048903619623596834,-5.3384985707783635e-5,1.0565218481282615e-7,0.004890563646224889,-5.321774155887791e-5,1.0523787065252472e-7,0.004890720050330306,-5.310023848256073e-5,1.0494629332969267e-7,0.00489085365033552,-5.304708763981897e-5,1.0481260896297154e-7,0.004890991351657461,-5.306401912048959e-5,1.0485014474108545e-7]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json new file mode 100644 index 000000000..9767b1b50 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":3000,"numberOfSamples":1000,"samples":[-0.0016674126654346861,-5.729007527752374e-7,-1.4186514962201376e-8,-0.0016673064653587321,-6.734015165127343e-7,-1.4270276706700349e-8,-0.0016671184978181936,-7.942288639572809e-7,-1.4371055120518062e-8,-0.0016668581653082658,-8.937549802808163e-7,-1.4454094104781238e-8,-0.0016665462863460693,-9.416288807763305e-7,-1.4494058993362982e-8,-0.0016662092022260732,-9.201664606449159e-7,-1.4476216298494372e-8,-0.0016658745541862263,-8.237755484396502e-7,-1.4395945891238539e-8,-0.0016655683268689287,-6.578186550518726e-7,-1.4257765362438796e-8,-0.0016653124526036561,-4.3741842925891825e-7,-1.4074304544820363e-8,-0.0016651224530400707,-1.8607276082775895e-7,-1.3865132894139859e-8,-0.0016650049642489826,6.643303169026634e-8,-1.3655018765663274e-8,-0.0016649554928538104,2.8739437967418395e-7,-1.347113935991257e-8,-0.0016649572160637774,4.4604795424859426e-7,-1.3339056817593825e-8,-0.0016649817855313575,5.194876808583452e-7,-1.3277813795917761e-8,-0.0016649928181043465,4.985157505581373e-7,-1.329507262967021e-8,-0.00166495207648607,3.9179414860133283e-7,-1.3383654246342673e-8,-0.0016648274069321705,2.26664827416035e-7,-1.352084347660865e-8,-0.001664600739494372,4.5708357821865315e-8,-1.367124421905444e-8,-0.001664274219706894,-1.0088239670451744e-7,-1.3793127784445051e-8,-0.0016638726869829803,-1.6616023108150796e-7,-1.3847473701249546e-8,-0.0016634410124484337,-1.1869904209770958e-7,-1.3808176255662588e-8,-0.0016630354517974334,4.659577780072841e-8,-1.3671009811639623e-8,-0.001662709627560605,3.030262655914423e-7,-1.3458136463059741e-8,-0.0016624982880314673,5.958730436677693e-7,-1.3214963229037875e-8,-0.001662404794976831,8.568537842964569e-7,-1.2998163907749735e-8,-0.0016623988702162175,1.0254972177202318e-6,-1.2857973826241794e-8,-0.0016624271346917532,1.0685455003698803e-6,-1.2822084766277138e-8,-0.0016624319248438782,9.883600460942418e-7,-1.2888614390257493e-8,-0.001662369242835807,8.174787260993229e-7,-1.3030565315055226e-8,-0.0016622183938909184,6.041843871353809e-7,-1.3207794337616674e-8,-0.0016619818565370786,3.9717316279278375e-7,-1.3379782718210806e-8,-0.0016616789185444716,2.3502260822879676e-7,-1.3514435597222689e-8,-0.0016613377123989804,1.417265131744283e-7,-1.3591822041815075e-8,-0.0016609886089808544,1.2662367606576446e-7,-1.360423147824086e-8,-0.0016606598282278315,1.863922842656112e-7,-1.3554490273298172e-8,-0.0016603748199426104,3.0744517886406376e-7,-1.3453938412913645e-8,-0.0016601505255394024,4.680421085231016e-7,-1.3320649411749458e-8,-0.0016599957713533597,6.402384067973255e-7,-1.3177803860265977e-8,-0.0016599094977454972,7.922656339357963e-7,-1.3051723165875262e-8,-0.0016598791098382528,8.920717595398815e-7,-1.296895475612751e-8,-0.0016598798337515695,9.124839151887528e-7,-1.2952012505708826e-8,-0.001659876379622952,8.376861160842476e-7,-1.3014014454721298e-8,-0.0016598280484381447,6.695105801256583e-7,-1.3153456420237919e-8,-0.0016596973256014155,4.309782162426044e-7,-1.3351256087288848e-8,-0.001659460185844518,1.644717783767708e-7,-1.3572258355341262e-8,-0.0016591147270322442,-7.656124715275952e-8,-1.3772130406953462e-8,-0.0016586845140589572,-2.408327142852044e-7,-1.3908356700286018e-8,-0.0016582146152118225,-2.934361433791715e-7,-1.3952042824758485e-8,-0.0016577609941446497,-2.2641155822799227e-7,-1.3896646268225657e-8,-0.0016573762399432718,-6.21980795145008e-8,-1.3760786009222337e-8,-0.0016570956693766155,1.5125835864904947e-7,-1.3584155440668849e-8,-0.0016569277304044742,3.526938844470182e-7,-1.3417439166449944e-8,-0.0016568517179810498,4.838995413033776e-7,-1.3308801583491872e-8,-0.0016568239567060939,5.055051370474298e-7,-1.329085416886814e-8,-0.0016567907846579653,4.069873023778711e-7,-1.3372361772156796e-8,-0.0016567038867919353,2.0748592272561992e-7,-1.3537525963856996e-8,-0.001656532487673912,-5.231661404744325e-8,-1.375267653077842e-8,-0.0016562685745488837,-3.2332365832738283e-7,-1.3977143471321514e-8,-0.0016559247754694372,-5.607837026808751e-7,-1.4173848477561865e-8,-0.0016555275418913935,-7.327632792039998e-7,-1.4316343411791168e-8,-0.0016551092006448183,-8.233258722118555e-7,-1.4391445802169112e-8,-0.0016547013993568505,-8.316848376668471e-7,-1.439852456672699e-8,-0.0016543308264849162,-7.693391900307951e-7,-1.4347111821174578e-8,-0.0016540168884855639,-6.568154472154755e-7,-1.4254194224863743e-8,-0.00165377050241833,-5.208100635030763e-7,-1.4141844859881727e-8,-0.001653593196269087,-3.917048152325665e-7,-1.4035172614624135e-8,-0.001653476129350162,-3.0088888763530243e-7,-1.3960118899539777e-8,-0.0016533992421155022,-2.7714172882948965e-7,-1.3940479436687606e-8,-0.0016533313967630901,-3.4151069511884616e-7,-1.3993675666328718e-8,-0.001653232946576946,-5.008677652271779e-7,-1.4125420729844042e-8,-0.001653062183142646,-7.418000865678651e-7,-1.4324648124704472e-8,-0.0016527858361718897,-1.0281008249946432e-6,-1.456142157572885e-8,-0.0016523911376223348,-1.305464686483764e-6,-1.4790826634502255e-8,-0.0016518942603108112,-1.5146795210217696e-6,-1.4963914427081036e-8,-0.001651339688429203,-1.609920243457309e-6,-1.5042853245080335e-8,-0.0016507887609035258,-1.5746267527137686e-6,-1.501402985970417e-8,-0.0016503014049699613,-1.4275884845194972e-6,-1.4893009020259092e-8,-0.0016499186673924447,-1.2167625516751627e-6,-1.4719368976416159e-8,-0.0016496525262988243,-1.0042695210536724e-6,-1.4544312694847968e-8,-0.0016494852722868205,-8.488903215522008e-7,-1.4416272286595473e-8,-0.0016493768933366411,-7.916520763817829e-7,-1.4369068693422452e-8,-0.0016492770441696662,-8.477319335831267e-7,-1.441525088113211e-8,-0.0016491379089976894,-1.005586142802875e-6,-1.454535921366001e-8,-0.0016489247906258263,-1.2324077723442385e-6,-1.4732398295614608e-8,-0.0016486222435663186,-1.483745124523919e-6,-1.4939753931208416e-8,-0.0016482349077829455,-1.714387062746813e-6,-1.5130169934377415e-8,-0.0016477837047942081,-1.8876251196414704e-6,-1.5273388453025773e-8,-0.0016472992687706423,-1.9809318567924716e-6,-1.53508288088995e-8,-0.0016468148667739665,-1.987610693939075e-6,-1.5356941194346824e-8,-0.0016463605427636564,-1.915263460295526e-6,-1.529794271457019e-8,-0.0016459592556230336,-1.7824940981911972e-6,-1.5189110139549575e-8,-0.0016456248820582223,-1.6151699815473968e-6,-1.5051713360546717e-8,-0.0016453614347904178,-1.4430148462818047e-6,-1.4910218742385646e-8,-0.0016451628120618224,-1.2966201405178637e-6,-1.4789829372760213e-8,-0.0016450127057533186,-1.2044728826030512e-6,-1.4714032583746818e-8,-0.0016448847709624051,-1.1893868953393184e-6,-1.4701653351213367e-8,-0.0016447437874436506,-1.2638103881750775e-6,-1.4762980827432679e-8,-0.0016445491773054968,-1.4241708565546202e-6,-1.48951005064794e-8,-0.0016442623193067107,-1.645902905672155e-6,-1.5077791633897704e-8,-0.0016438578535539828,-1.8825890625995552e-6,-1.5272828105373147e-8,-0.0016433361724119703,-2.073293524915233e-6,-1.5430051194420875e-8,-0.0016427306855190664,-2.1595591992381907e-6,-1.5501400836018825e-8,-0.0016421028587470339,-2.107131410238427e-6,-1.545878784662949e-8,-0.0016415236596336047,-1.921503495197351e-6,-1.5306805835881395e-8,-0.0016410491716874508,-1.6475995048951014e-6,-1.508237666232406e-8,-0.0016407026930217476,-1.3532595827599134e-6,-1.4841150585489634e-8,-0.0016404710798181709,-1.1058220927750292e-6,-1.4638324030823384e-8,-0.0016403140434198668,-9.529880693486804e-7,-1.4513000663883932e-8,-0.0016401794241349037,-9.138189075949228e-7,-1.4480834585139251e-8,-0.001640017698453548,-9.79444485492997e-7,-1.4534599598191043e-8,-0.0016397921504842823,-1.1199629554508742e-6,-1.46498259445195e-8,-0.001639483962540219,-1.2938873374757163e-6,-1.4792536911725107e-8,-0.0016390929025693608,-1.4576102121358978e-6,-1.492701055511908e-8,-0.0016386346780947172,-1.5734220969873702e-6,-1.5022352898574618e-8,-0.0016381360741017184,-1.615194314249089e-6,-1.50571474431728e-8,-0.0016376290513289884,-1.5712506992188948e-6,-1.502179647791281e-8,-0.0016371449438908516,-1.4444928408342774e-6,-1.4918620999811586e-8,-0.0016367096648583616,-1.25031555175269e-6,-1.4760165902237422e-8,-0.0016363404739891797,-1.0131188796195411e-6,-1.4566365366279228e-8,-0.0016360443826047542,-7.623240043753878e-7,-1.4361298196704363e-8,-0.0016358178081207191,-5.285826195157557e-7,-1.4170084868955413e-8,-0.0016356469788772767,-3.4036970890659786e-7,-1.4016082203265821e-8,-0.001635508814606122,-2.207663722595964e-7,-1.3918227118982464e-8,-0.0016353723164385856,-1.840892669518823e-7,-1.3888261221685396e-8,-0.0016352009622329746,-2.3204470491520787e-7,-1.3927578205263703e-8,-0.0016349571713373055,-3.4963943026521634e-7,-1.4023883873503605e-8,-0.0016346099310555375,-5.023932688054426e-7,-1.4148931817790818e-8,-0.0016341454885156152,-6.3792299560969e-7,-1.4259849140121573e-8,-0.0016335782650784292,-6.955174267981529e-7,-1.4307009536395608e-8,-0.0016329555381133835,-6.248455078933967e-7,-1.4249353069369657e-8,-0.001632348566823429,-4.0811994916454653e-7,-1.4072462495238987e-8,-0.0016318292392897165,-7.307325909948915e-8,-1.3799065103672127e-8,-0.0016314426223732346,3.1411804635436726e-7,-1.348317422928833e-8,-0.0016311911484804568,6.740899862647185e-7,-1.3189486706427881e-8,-0.0016310385568320672,9.431757478148973e-7,-1.2969887537649966e-8,-0.0016309281956906096,1.0909595365989285e-6,-1.284917620325891e-8,-0.0016308035869936743,1.1218851358131656e-6,-1.2823744428951683e-8,-0.001630622539391083,1.0659851233981184e-6,-1.286910999649688e-8,-0.0016303628898681499,9.662126791094569e-7,-1.2950244535657924e-8,-0.0016300220532569065,8.673019924964457e-7,-1.303067628890683e-8,-0.0016296132995635643,8.078877149326865e-7,-1.3078931636879651e-8,-0.001629160810966706,8.157006448712503e-7,-1.3072446478192921e-8,-0.0016286945140845575,9.051596921306019e-7,-1.2999506114425888e-8,-0.001628245126395128,1.0769022975441644e-6,-1.285960415768863e-8,-0.0016278397306271277,1.3189544201936767e-6,-1.266248230864526e-8,-0.001627498165347806,1.6092434451098838e-6,-1.2426094284497363e-8,-0.0016272305284777825,1.919140067868813e-6,-1.2173739988352222e-8,-0.0016270360259148394,2.2175661941671596e-6,-1.1930728972988056e-8,-0.0016269031154630333,2.475096567993343e-6,-1.1721030329836182e-8,-0.0016268106690123906,2.6677037698851066e-6,-1.1564201830643506e-8,-0.0016267299509751117,2.7800877693262435e-6,-1.1472661493037969e-8,-0.0016266273869119789,2.808609891480967e-6,-1.1449301618478332e-8,-0.0016264683188791577,2.7638226285538478e-6,-1.148545475645509e-8,-0.001626222281076474,2.6722456015579204e-6,-1.1559486532781036e-8,-0.0016258702666007566,2.576093825543154e-6,-1.1637054006801947e-8,-0.001625413368763386,2.528652681956703e-6,-1.1674892793466553e-8,-0.0016248800163113045,2.5829769218688514e-6,-1.163000825805575e-8,-0.0016243264182511817,2.7739410660516134e-6,-1.147422855629942e-8,-0.001623824448257784,3.0994362029174313e-6,-1.1209399713251122e-8,-0.0016234371005962335,3.5125193005639037e-6,-1.0873674286989874e-8,-0.0016231924460283597,3.934280626806754e-6,-1.0531046713794774e-8,-0.0016230722116879442,4.2839261521980505e-6,-1.0247004462157263e-8,-0.0016230223920017024,4.509022315061528e-6,-1.0064052989792204e-8,-0.001622977701628644,4.599308318664541e-6,-9.990503166746648e-9,-0.0016228844735368534,4.580979504172208e-6,-1.0005062897292258e-8,-0.0016227124043607017,4.500425340947215e-6,-1.007001881606373e-8,-0.0016224552660553113,4.4079367639713336E-06,-1.0144494972609784e-8,-0.001622125516269599,4.346659224530802e-6,-1.0193467505461069e-8,-0.001621747326018003,4.347159211571133e-6,-1.0192193851439426e-8,-0.001621350394160166,4.425844840376646e-6,-1.0127472727933714e-8,-0.0016209651093993971,4.585398795260131e-6,-9.99724721593909e-9,-0.001620618755614523,4.816205832030953e-6,-9.809405621898151e-9,-0.0016203324293711152,5.0984795936064065e-6,-9.580037457445881e-9,-0.0016201185778446112,5.4050620808012625e-6,-9.331168050521922e-9,-0.0016199792751218015,5.7049341968223675e-6,-9.087925536625024e-9,-0.0016199055449921847,5.967355112173079e-6,-8.875191668941198e-9,-0.0016198780222882233,6.166231880713312e-6,-8.714053321567563e-9,-0.0016198689897785872,6.284171358720325e-6,-8.618507598772804e-9,-0.0016198456428020592,6.315766071306402e-6,-8.59280112903386e-9,-0.001619774385405621,6.26973000154361e-6,-8.629727496350617e-9,-0.0016196259296935819,6.169525357590731e-6,-8.710169915500509e-9,-0.0016193810015156772,6.052090182629365e-6,-8.804188184311565e-9,-0.0016190363271137104,5.963922429773775e-6,-8.87422587160706e-9,-0.0016186098081281857,5.953407381087274e-6,-8.88131796854117e-9,-0.0016181424573248472,6.058817784323751e-6,-8.794748910421731e-9,-0.0016176935536342239,6.293589642068541e-6,-8.60386918296675e-9,-0.001617326219104022,6.634329004002173e-6,-8.327694536227654e-9,-0.0016170853930605306,7.020289243504353e-6,-8.015286175478002e-9,-0.0016169778930223832,7.370415677596483e-6,-7.732028934152944e-9,-0.0016169675000937544,7.6131522800298654E-06,-7.535643904942126e-9,-0.0016169901136538418,7.713155380487486e-6,-7.454642010804234e-9,-0.0016169800837689205,7.679978347262525e-6,-7.481256003272846e-9,-0.0016168922572558102,7.556948303108508e-6,-7.580374851378752e-9,-0.0016167104555515727,7.400752728903742e-6,-7.706059646917471e-9,-0.0016164437683271215,7.26360821746386e-6,-7.816027752541982e-9,-0.0016161173530747812,7.183346466944154e-6,-7.879724076888564e-9,-0.0016157633104902577,7.180632707092512e-6,-7.880570755501255e-9,-0.0016154140207041772,7.260286490250837e-6,-7.814851788477083e-9,-0.001615098001463881,7.414069548772224e-6,-7.689396067402687e-9,-0.001614837378113596,7.623584166153096e-6,-7.519187049980965e-9,-0.0016146461104334338,7.863038966555796e-6,-7.325110558075486e-9,-0.0016145285922477045,8.102151822196889e-6,-7.13161729702838e-9,-0.0016144786655525626,8.30954750461279e-6,-6.963995681741373e-9,-0.0016144794389958994,8.456851025280304e-6,-6.8450772368244266e-9,-0.0016145044863076245,8.523247037034214e-6,-6.791555454796449e-9,-0.0016145208238440725,8.499790759989043e-6,-6.810504300559879e-9,-0.0016144936330299336,8.392510891781708e-6,-6.896885929710203e-9,-0.001614392228170857,8.223343280763281e-6,-7.032834909617165e-9,-0.0016141963521061268,8.028183732838383e-6,-7.189288356946133e-9,-0.0016139016436967962,7.851860839942969e-6,-7.330101133146092e-9,-0.0016135231106711163,7.740313336524296e-6,-7.4183830864822594e-9,-0.0016130954016894184,7.730606125699386e-6,-7.424519615650904e-9,-0.0016126685428214326,7.840105042654435e-6,-7.334806831697677e-9,-0.0016122981087462733,8.057474208610399e-6,-7.1585873366644e-9,-0.0016120303080747725,8.339676729142519e-6,-6.930579850289531e-9,-0.001611885615787256,8.619402313112867e-6,-6.704899178695777e-9,-0.0016118481928508355,8.824139607217275e-6,-6.539785116730204e-9,-0.001611868604140801,8.90107812285037e-6,-6.477642765675682e-9,-0.001611881154272387,8.835912981377337e-6,-6.529915716142489e-9,-0.0016118277460059921,8.655388821984905e-6,-6.674986610903632e-9,-0.001611675919713035,8.41338736769802e-6,-6.869352972909047e-9,-0.0016114237381993468,8.169993921702883e-6,-7.06452679210035e-9,-0.001611093177231819,7.974354515474472e-6,-7.220908293079042e-9,-0.0016107187721478148,7.856385780125358e-6,-7.3144902295771e-9,-0.0016103373933631776,7.826230747315016e-6,-7.33726541883732e-9,-0.0016099815773490676,7.877830737849756e-6,-7.294288237410739e-9,-0.0016096761674665666,7.993507370107692e-6,-7.199928950656389e-9,-0.0016094369744081014,8.147984768505116e-6,-7.074608444117655e-9,-0.0016092702451640983,8.311598200694667e-6,-6.942216930039938e-9,-0.00160917228355665,8.453152537768642e-6,-6.827830668858108e-9,-0.001609129179254943,8.543077992903146e-6,-6.755189047281374e-9,-0.0016091171262881026,8.557333011262786e-6,-6.743558851885236e-9,-0.0016091041391435737,8.481979668330493e-6,-6.804049103358642e-9,-0.0016090539129368906,8.317618601666572e-6,-6.9360391917084e-9,-0.0016089320065604345,8.082194724983374e-6,-7.1249350615802805e-9,-0.0016087135318696238,7.810443188597418e-6,-7.342654995567478e-9,-0.0016083904469439763,7.548814847622212e-6,-7.551773316743061e-9,-0.0016079759933311404,7.346151109873746e-6,-7.71307892483668e-9,-0.0016075042761180575,7.242056143792723e-6,-7.794939036152872e-9,-0.00160702430711951,7.255973870729432e-6,-7.782022387653911e-9,-0.0016065893832426634,7.380066935880531e-6,-7.680904798184895e-9,-0.0016062439692449664,7.578337494266571e-6,-7.520654677956422e-9,-0.0016060111996290365,7.793284040925081e-6,-7.347429731587253e-9,-0.001605884722251656,7.959699219668078e-6,-7.2134347447406345e-9,-0.0016058284903456366,8.02276170190471e-6,-7.162490523129645e-9,-0.001605786300256652,7.954794950983538e-6,-7.216659725347376e-9,-0.0016056989183379042,7.763856680531235e-6,-7.3693711382787e-9,-0.0016055223349501092,7.489910937153623e-6,-7.5884774454684e-9,-0.0016052394922760655,7.190282869697641e-6,-7.827929734487749e-9,-0.0016048613732839356,6.9214213509586415e-6,-8.042440056461898e-9,-0.0016044191014809085,6.724717813606781e-6,-8.19887721405118e-9,-0.0016039523942876091,6.620315668122966e-6,-8.281210552001504e-9,-0.0016034994404368291,6.608103489245576e-6,-8.289661775609236e-9,-0.00160309058100955,6.672612775449543e-6,-8.236730302719379e-9,-0.0016027456251598608,6.788717605477168e-6,-8.142605180973005e-9,-0.0016024734564696638,6.92643298585074e-6,-8.031328805630021e-9,-0.001602272562723833,7.054461000471735e-6,-7.927975303945096e-9,-0.0016021316395473646,7.1429733909865235e-6,-7.85643420942448e-9,-0.001602030096147785,7.166416618010949e-6,-7.837159326460504e-9,-0.0016019389325304322,7.106967943498292e-6,-7.884384590805072e-9,-0.001601822909317285,6.958748005321464e-6,-8.002733282683978e-9,-0.001601645025670833,6.732028706082511e-6,-8.183846196126166e-9,-0.0016013737843991493,6.455595568760507e-6,-8.404514185145453e-9,-0.0016009923060795966,6.174736476004758e-6,-8.628343547216521e-9,-0.0016005063926833,5.943025935706647e-6,-8.81240660038963e-9,-0.001599947436018963,5.80863970378304e-6,-8.918249717289788e-9,-0.0015993671346443959,5.799343297164342e-6,-8.923895711975885e-9,-0.001598824450917896,5.912206177088279e-6,-8.831981049727163e-9,-0.0015983691261643967,6.112691262219383e-6,-8.670353040535608e-9,-0.001598027750726865,6.34370842368762e-6,-8.484735141405814e-9,-0.001597796970333321,6.541210365541908e-6,-8.32624668865039e-9,-0.0015976453400901444,6.6511270032490696e-6,-8.237927113772566e-9,-0.0015975225826418882,6.642865882163979e-6,-8.244027233433758e-9,-0.0015973733172837778,6.5160674645092064e-6,-8.344671256899067e-9,-0.0015971514460371861,6.299134854850162e-6,-8.517063826659138e-9,-0.0015968312197721644,6.040236787256278e-6,-8.722695998097968e-9,-0.0015964119337554,5.793741677183589e-6,-8.918192024461737e-9,-0.0015959153524303371,5.606512708157547e-6,-9.066246268690955e-9,-0.0015953776009036073,5.508240931702783e-6,-9.143302312759663e-9,-0.0015948390145066778,5.5079279870896205e-6,-9.142302190616902e-9,-0.0015943353730508711,5.595937570596819e-6,-9.07100224242127E-09,-0.0015938924112206762,5.749295724445448e-6,-8.947734194601513e-9,-0.0015935237022038366,5.937745603497693e-6,-8.796600268425784e-9,-0.0015932308952599915,6.128923308494835e-6,-8.643381449495809e-9,-0.0015930050349990598,6.292138592490837e-6,-8.512542405787741e-9,-0.0015928280496299403,6.401112560124816e-6,-8.425039499555748e-9,-0.001592674118163697,6.436402325511549e-6,-8.396358552439093e-9,-0.001592511242825915,6.388162226916735e-6,-8.434284847973138e-9,-0.0015923038548076277,6.259479463662382e-6,-8.536238644079333e-9,-0.0015920175360308354,6.069704190545227e-6,-8.686647143544019e-9,-0.0015916265581974022,5.855945053772369e-6,-8.855809836079169e-9,-0.0015911234432686942,5.66982094337028e-6,-9.002557749844637e-9,-0.0015905271902137126,5.566980643098267e-6,-9.082660120678599e-9,-0.0015898846649755427,5.5901058549402035e-6,-9.062364074658102e-9,-0.0015892607401442954,5.751420421663427e-6,-8.932240034166934e-9,-0.0015887185141690312,6.0241142294602755e-6,-8.713870498328418e-9,-0.0015882979764191441,6.3490168297115175e-6,-8.454426383873467e-9,-0.0015880035039804617,6.654182728757788e-6,-8.211064945180594e-9,-0.0015878052699886624,6.877775058584288e-6,-8.032786882775957e-9,-0.0015876517590710897,6.984489838970192e-6,-7.947450754328946e-9,-0.0015874863779336544,6.971221701182685e-6,-7.957325293941682e-9,-0.0015872619917445506,6.863185748489404e-6,-8.042215733171648e-9,-0.0015869502414554443,6.704200258300083e-6,-8.167230467721707e-9,-0.0015865450265327885,6.544861833301743e-6,-8.292209810873044e-9,-0.001586060881771174,6.431419708027262e-6,-8.380562643969391e-9,-0.0015855275390838218,6.397223103243651e-6,-8.4060105625722e-9,-0.001584982293378186,6.457920516330214e-6,-8.356321717507075e-9,-0.0015844620349776742,6.61081898948137e-6,-8.233749425801078e-9,-0.0015839966677754043,6.837813403661317e-6,-8.052680242552925e-9,-0.0015836049744388627,7.110512974486875e-6,-7.83558877254055e-9,-0.00158329313272495,7.39599782801762e-6,-7.60852007937778e-9,-0.0015830553572955281,7.661943418484884e-6,-7.397063210929995e-9,-0.0015828757453601038,7.88048537908479e-6,-7.223288825216026e-9,-0.0015827305073950087,8.030921094971425e-6,-7.103576255489422e-9,-0.0015825902239223386,8.10175707948008e-6,-7.046953362750228e-9,-0.0015824222470464458,8.09261347207407e-6,-7.0535751904136625e-9,-0.0015821938020142208,8.016239439311893e-6,-7.1131587433406575e-9,-0.001581876678930113,7.90023529461386e-6,-7.203688583790658e-9,-0.0015814541506088944,7.786937005316729e-6,-7.291589958387156e-9,-0.001580929437716428,7.72886735500687e-6,-7.33539011103742e-9,-0.001580332627237802,7.777305469592599e-6,-7.294769075619663e-9,-0.0015797203731629178,7.964409090283794e-6,-7.144630568893987e-9,-0.0015791630814620142,8.285391603077017e-6,-6.889058321940481e-9,-0.001578720878001717,8.692298812053108e-6,-6.566101724486824e-9,-0.001578419502984907,9.10747486170557e-6,-6.2370916464480965e-9,-0.0015782405062512823,9.452091527792786e-6,-5.9641611304561455e-9,-0.0015781312909732138,9.674079549613374e-6,-5.7882606428250385e-9,-0.001578027360075597,9.761402781761969e-6,-5.718703551331627e-9,-0.0015778737449317608,9.738155742011253e-6,-5.736256424581671e-9,-0.0015776373992268053,9.650582774239132e-6,-5.804222309092312e-9,-0.0015773098917586672,9.551555633876995e-6,-5.88077278945436e-9,-0.0015769037319662415,9.488450878456881e-6,-5.928572703455147e-9,-0.001576445875891479,9.49569390768316e-6,-5.920653078048749e-9,-0.001575970674530697,9.591327497139855e-6,-5.84304192231517e-9,-0.0015755133171369835,9.77658865659438e-6,-5.694997471322311e-9,-0.0015751042615903047,1.003778163139329e-5,-5.487458624638412e-9,-0.001574765041689377,1.0349895109118027e-5,-5.240176643150512e-9,-0.0015745057554236149,1.0681318357532525e-5,-4.978030419643896e-9,-0.001574324361526077,1.0998934195309128e-5,-4.727059345412328e-9,-0.0015742076584801335,1.1272847997949395e-5,-4.510760254880358e-9,-0.0015741334933916324,1.148015300643822e-5,-4.347106597166391e-9,-0.0015740736145208995,1.1607546540740536e-5,-4.2464524410951475e-9,-0.0015739967905234456,1.165297766004052e-5,-4.210215818202505e-9,-0.0015738721019847755,1.1626573124438477e-5,-4.230176567081147e-9,-0.0015736725816667494,1.1550994953670337e-5,-4.288272760115865e-9,-0.0015733796828682138,1.1460984868635478e-5,-4.357060355334619e-9,-0.0015729888863822469,1.1400977627530216e-5,-4.401668546947189e-9,-0.001572515654131937,1.1418948321355508e-5,-4.38465144129614e-9,-0.0015719991378984194,1.155499016771094e-5,-4.27489553861985e-9,-0.0015714991590845522,1.1825387317786e-5,-4.059992614526739e-9,-0.0015710820407434478,1.2207971645261938e-5,-3.757587705347629e-9,-0.00157079647604091,1.2639630181296142e-5,-3.4172617851035963e-9,-0.0015706506457699233,1.3034205729014649e-5,-3.106531606911105e-9,-0.0015706061696304065,1.3315507185698884e-5,-2.885049906609442e-9,-0.0015705947849098492,1.3446774868260129e-5,-2.7815199812259615e-9,-0.0015705471798354855,1.3439686701807493e-5,-2.7865797392088607e-9,-0.0015704165589056223,1.3341690442592115e-5,-2.8627232184856177e-9,-0.0015701872847721412,1.3213818456770147e-5,-2.9617956699222407e-9,-0.0015698706765883304,1.3111683729022345e-5,-3.0400379076245207e-9,-0.0015694951802119525,1.3074916344619818e-5,-3.0664473087197053e-9,-0.0015690965559719964,1.3124045477720016e-5,-3.02518922812497E-09,-0.0015687104237655423,1.3261776187223445e-5,-2.914483963298332e-9,-0.0015683672849147719,1.3476135614623932e-5,-2.744017121960997e-9,-0.001568089331561201,1.3744221248213585e-5,-2.531925583923272e-9,-0.001567888481635352,1.4036199389495978e-5,-2.301652902586154e-9,-0.0015677654444036897,1.431949385617295e-5,-2.0787019259425203e-9,-0.001567709854690696,1.4563082634763757e-5,-1.8873090716874538e-9,-0.0015677016010537767,1.474164561397543e-5,-1.7472081474154697e-9,-0.0015677133377832947,1.4839081201440235e-5,-1.6708576042155112e-9,-0.0015677139033290711,1.4850945784761677e-5,-1.6615071481920558e-9,-0.001567672273456403,1.4785614343760266e-5,-1.712298071717079e-9,-0.001567561728035762,1.4664077909571058e-5,-1.8064872373507266e-9,-0.001567363964362006,1.4518342278869283e-5,-1.9188087740274477e-9,-0.0015670730416101715,1.4388371092908044e-5,-2.017975036911366e-9,-0.001566699009351379,1.4317124795163991e-5,-2.0706086887569183e-9,-0.001566270342050259,1.434288706438812e-5,-2.0471994116831762e-9,-0.0015658331609196012,1.4488670512990482e-5,-1.9302484376469083e-9,-0.0015654445000836176,1.4750408147840926e-5,-1.72331580198987e-9,-0.0015651576376926135,1.5088818242514955e-5,-1.4572399696723894e-9,-0.0015650016611725502,1.543273520838367e-5,-1.1875289074112136e-9,-0.0015649646525930018,1.5699315031914638e-5,-9.786981777112633e-10,-0.0015649932080395524,1.5825615668091956e-5,-8.797288461446118e-10,-0.0015650127561441629,1.5794360168681763e-5,-9.039460652179229e-10,-0.0015649578766231919,1.5637909598140213e-5,-1.0258340424130335e-9,-0.0015647946888691952,1.5419919015121727e-5,-1.1953572908828253e-9,-0.001564525408102832,1.5208671664966406e-5,-1.3589165068917122e-9,-0.0015641786040441487,1.5056893076463547e-5,-1.4752664574075088e-9,-0.00156379486909857,1.4993534545273575e-5,-1.521981552315444e-9,-0.0015634150399108117,1.5024788854757072e-5,-1.4945831313107964e-9,-0.0015630731490801214,1.5139317110787819e-5,-1.4023153307767539e-9,-0.0015627932503844573,1.5314097884522007e-5,-1.2634546568637839e-9,-0.0015625884467632353,1.5519419283943223e-5,-1.1013546330723007e-9,-0.001562460875346721,1.5722949233932406e-5,-9.412785609553453e-10,-0.0015624021479970563,1.5893311969822037e-5,-8.076525173200512e-10,-0.0015623942663999986,1.600355815982286e-5,-7.213957276926135e-10,-0.0015624113087739449,1.603464562664121e-5,-6.972120092446669e-10,-0.0015624222244725121,1.5978599480086515e-5,-7.411073308205331e-10,-0.0015623947894483653,1.5840685366149302e-5,-8.486840929629714e-10,-0.0015623003825704094,1.563995164582476e-5,-1.0047498832725248e-9,-0.00156211896716867,1.5407677934949402e-5,-1.1846143530044873e-9,-0.0015618434715127026,1.5183522199556461e-5,-1.3572122413585078e-9,-0.001561482731818114,1.5009579708722523e-5,-1.4898312300154014e-9,-0.0015610623229379093,1.492287455651844e-5,-1.553978673492256e-9,-0.0015606225925568506,1.4946887881331915e-5,-1.5318866836714567e-9,-0.001560212971251659,1.5083203136375069e-5,-1.422837639342225e-9,-0.0015598818401117295,1.530556706953706e-5,-1.2475983890907835e-9,-0.0015596626235708532,1.5560011265301256e-5,-1.0482226412439358e-9,-0.001559559627593272,1.577486934926789e-5,-8.802955933378288e-10,-0.0015595405570984476,1.5881538273988095e-5,-7.9692043926817e-10,-0.0015595430360532403,1.5839771966023374e-5,-8.291538101517867e-10,-0.0015594959955338393,1.5654660779172335e-5,-9.72801001056983e-10,-0.0015593463001946208,1.5374391353418983e-5,-1.190114515735307e-9,-0.0015590762116928854,1.5069709060576866e-5,-1.4258030022227316e-9,-0.001558703847788798,1.4807611900845037e-5,-1.6276153266680996e-9,-0.0015582703547364113,1.4632787290015397e-5,-1.7608768873779355e-9,-0.00155782354477752,1.4561962806159921e-5,-1.812864234105201e-9,-0.0015574055106049006,1.4587994709651823e-5,-1.7895075593158592e-9,-0.0015570463687551211,1.4687835068240819e-5,-1.7090593224017948e-9,-0.0015567627265973315,1.4830172836249719e-5,-1.5960694700656643e-9,-0.0015565585721585488,1.4981143223910987e-5,-1.4769346528028385e-9,-0.0015564268779924705,1.5108248878273527e-5,-1.3768878228299211e-9,-0.001556351184307716,1.5183283689987646e-5,-1.3177718726983572e-9,-0.0015563071846080817,1.518499355836712e-5,-1.3159931882651027e-9,-0.001556264759061091,1.5101840586844419e-5,-1.3803631127402186e-9,-0.0015561910289953722,1.493467497760959e-5,-1.5099983155967233e-9,-0.001556054769142461,1.4698525876528096e-5,-1.692928407678446e-9,-0.0015558319325716652,1.4422419435365395e-5,-1.9062865699394374e-9,-0.00155551134062967,1.4146276673803998e-5,-2.118820791349384e-9,-0.0015550990200105716,1.3914554215767493e-5,-2.2959501362179986e-9,-0.0015546195256492723,1.376733680242155e-5,-2.406755127218841e-9,-0.001554113115567492,1.3730683214261952e-5,-2.4314473667369036e-9,-0.001553628664032215,1.3808584379673326e-5,-2.367474165297039e-9,-0.0015532132442453931,1.3978822784027847e-5,-2.232532482775318e-9,-0.0015529002123789554,1.4194626461009348e-5,-2.063117347756414e-9,-0.0015526985302697924,1.439325938164884e-5,-1.907804521574992e-9,-0.0015525869004329388,1.4511149461068737e-5,-1.8155962076796212e-9,-0.0015525163561113226,1.4502518791870292e-5,-1.821618126894051e-9,-0.0015524229966605255,1.4355340596169604e-5,-1.934861536785402e-9,-0.0015522480046320417,1.4097085782131253e-5,-2.1337720574238567e-9,-0.0015519570630758844,1.3785964147240603e-5,-2.373056019133126e-9,-0.0015515502090884452,1.3490805690072358e-5,-2.5993134735632945e-9,-0.0015510581583219735,1.3269136012428824e-5,-2.7680732374480753e-9,-0.0015505287216183647,1.3153018247135854e-5,-2.8547493909096727e-9,-0.0015500111337097319,1.3146302784594268e-5,-2.8566824400189927e-9,-0.0015495446374244918,1.3230505435768768e-5,-2.788469542937826e-9,-0.001549153320614908,1.3373991814169866e-5,-2.6747740927702085e-9,-0.0015488458317407083,1.3540368315253085e-5,-2.543818936185515e-9,-0.0015486175736199625,1.3694424215569561e-5,-2.422826603784886e-9,-0.0015484534953238353,1.3805782453544893e-5,-2.335244042665086e-9,-0.0015483305799586244,1.3851194736815257e-5,-2.2989915178837034e-9,-0.0015482199989999771,1.3816427644258473e-5,-2.3249912029369815e-9,-0.001548089463216438,1.369826171317471e-5,-2.41558809311908e-9,-0.0015479064843226234,1.3506495043573231e-5,-2.5629790637511724e-9,-0.0015476430650823826,1.3265142070830212e-5,-2.748308110889761e-9,-0.0015472817047777522,1.3011433188873347e-5,-2.9425170054115522e-9,-0.0015468215378123499,1.2791153939947237e-5,-3.1100615838046316e-9,-0.0015462823008519895,1.264978126784404e-5,-3.2158634430605283e-9,-0.0015457034820694632,1.2620793299373853e-5,-3.23437207800151e-9,-0.0015451371557708795,1.271461979911524e-5,-3.1580199349164043e-9,-0.0015446354809309358,1.2912598720449401e-5,-3.001718234269623e-9,-0.0015442364302565255,1.3169086681883902e-5,-2.801040276875315e-9,-0.0015439524938185769,1.342193894043896e-5,-2.604019123633512e-9,-0.0015437662068975597,1.3608488064402962e-5,-2.4588197532468753e-9,-0.0015436340713854192,1.3682357584886e-5,-2.4008622169249547e-9,-0.001543497962354699,1.3626252232787606e-5,-2.4430807619033354e-9,-0.00154330101649021,1.3456844397511336e-5,-2.572263294225788e-9,-0.0015430034083978895,1.3219882326718478e-5,-2.7529027871083723e-9,-0.0015425929181858147,1.2976711436722279e-5,-2.937645646025132e-9,-0.0015420866882192013,1.278670592403656e-5,-3.080856310691857e-9,-0.00154152398796979,1.2691851204048305e-5,-3.1504613502583297e-9,-0.001540953480044075,1.2708519035282108e-5,-3.1341863973903237e-9,-0.0015404202334010281,1.2827867903263539e-5,-3.039126457904035e-9,-0.0015399566733843208,1.302256759212801e-5,-2.886485245993735e-9,-0.0015395788942260255,1.325586308652444e-5,-2.7045866919813093e-9,-0.0015392872954454852,1.3489692472678766e-5,-2.5226746116671805e-9,-0.0015390695180788213,1.3690362719305401e-5,-2.3666060094382767e-9,-0.0015389039426561332,1.3831829101966165e-5,-2.2563601055744896e-9,-0.0015387628159656927,1.3897428531583792e-5,-2.20469239650718e-9,-0.0015386148936828994,1.388103058929039e-5,-2.2162086122068876e-9,-0.0015384280799308537,1.3788188762037226e-5,-2.28644706084773e-9,-0.0015381727896268602,1.3637252599749298e-5,-2.4010335015984904e-9,-0.00153782662638598,1.3459685165893791e-5,-2.5355047694054314e-9,-0.0015373803606947806,1.3298103454663454e-5,-2.6569224773298658e-9,-0.0015368439449366434,1.3200271754010526e-5,-2.7285944715443808e-9,-0.0015362497069414172,1.3208268582747388e-5,-2.7184455758695063e-9,-0.0015356491281297727,1.3344727868614513e-5,-2.609535624585385e-9,-0.0015351012857119798,1.3601376685119754e-5,-2.4087144532296773e-9,-0.001534655333305587,1.3936432395579682e-5,-2.1484399499017215e-9,-0.0015343338675460306,1.4284442308400234e-5,-1.8790986065537597e-9,-0.001534124900712501,1.4575769360907748e-5,-1.6540268609434805e-9,-0.001533986063403117,1.4757650849527079e-5,-1.5134089313619608e-9,-0.0015338585577077514,1.4808523097929115e-5,-1.4733758294952858e-9,-0.001533684646016743,1.4741520547899112e-5,-1.5234227094639102e-9,-0.001533422629589494,1.4597945041350879e-5,-1.6315309243635806e-9,-0.0015330556633583313,1.4434363097761433e-5,-1.7541719141681908e-9,-0.0015325932941699795,1.43077142414427e-5,-1.8477863331828831e-9,-0.0015320665277323265,1.426230754346835e-5,-1.878725396982042e-9,-0.0015315185461519663,1.4321473573738102e-5,-1.8295328556822685e-9,-0.001530993934766879,1.4485180350014558e-5,-1.7006180859558923e-9,-0.001530529287402824,1.4733246178698408e-5,-1.5076755247691595e-9,-0.0015301472235543963,1.5032273750256648e-5,-1.2763383865137975e-9,-0.001529854434526647,1.5343751423442615e-5,-1.0360201232972493e-9,-0.0015296430494533845,1.5631173065596047e-5,-8.145421075795626e-10,-0.0015294939224596445,1.5865044960165455e-5,-6.343581941131169e-10,-0.0015293804665335667,1.6025681201232713e-5,-5.104211518947967e-10,-0.0015292721800424954,1.6104406698012555e-5,-4.492264661427397e-10,-0.0015291376898846022,1.610398838942385e-5,-4.484456737093128e-10,-0.0015289476443276155,1.6038826092304203e-5,-4.967851368558057e-10,-0.0015286780300962212,1.5934920116292352e-5,-5.7407767303816e-10,-0.0015283144581671828,1.5828995706173513e-5,-6.520649957069123e-10,-0.001527857433495814,1.5765420962771622e-5,-6.968641554284709e-10,-0.0015273273599870595,1.578919190086431e-5,-6.74377333345776e-10,-0.001526766307082904,1.5934197950098757e-5,-5.592021348606761e-10,-0.0015262325434225242,1.6208917896855537e-5,-3.454009983392546e-10,-0.0015257856016340661,1.6585900155219326e-5,-5.434009904032178e-11,-0.001525465322369261,1.7003376453317625e-5,2.6667254099619e-10,-0.0015252747715500247,1.738282006332563e-5,5.577945753003107e-10,-0.0015251774516648478,1.765614484759572e-5,7.673293029466002e-10,-0.0015251111941016761,1.778888314628154e-5,8.693422948032573e-10,-0.0015250108675460873,1.7788373699605145e-5,8.698678813149482e-10,-0.0015248284104435656,1.769597096092772e-5,8.008933904221264e-10,-0.001524543138352943,1.7570342537972436e-5,7.074837082249667e-10,-0.001524161958697962,1.747014596631279e-5,6.344307222398109e-10,-0.00152371290844506,1.7441141511317046e-5,6.163780060845438e-10,-0.001523235851785127,1.7509215448337496e-5,6.72585413499027e-10,-0.0015227730669315363,1.7678694633934106e-5,8.058200670495614e-10,-0.0015223612736943114,1.7934688640477055e-5,1.0043203383510617e-9,-0.0015220259505717274,1.82482101335355e-5,1.2458005545171251e-9,-0.0015217783771147274,1.858278154644696e-5,1.502482588468059e-9,-0.0015216153779278,1.8901176203271382e-5,1.7461563926156706e-9,-0.001521521286606779,1.9171184850908933e-5,1.9524855806838318e-9,-0.0015214713531420381,1.936973086375099e-5,2.1040967574472464e-9,-0.0015214357043695024,1.9485117407839795e-5,2.1923000740043392e-9,-0.001521383137404215,1.9517692447771478e-5,2.217627952739704e-9,-0.0015212844821984616,1.9479511468266107e-5,2.1895835175049778e-9,-0.0015211156742934025,1.939342867657197e-5,2.1258913140746853e-9,-0.0015208608563400331,1.9291673965034527e-5,2.0512979780619082e-9,-0.001520515854495682,1.9213505125941906e-5,1.995657851135691e-9,-0.0015200919884612346,1.9200901897949216e-5,1.9905876211772794e-9,-0.0015196190517206686,1.9290978781291798e-5,2.0637415938522103e-9,-0.001519144803733725,1.9504713196396947e-5,2.2304122471037216e-9,-0.001518727462232059,1.9834280591372538e-5,2.484141135478913e-9,-0.0015184192950395239,2.0235367514319987e-5,2.7910634415758664e-9,-0.0015182452262433325,2.0633099952696904e-5,3.0944338572009063e-9,-0.0015181877354138221,2.094520859440517e-5,3.3320858875781925e-9,-0.0015181899043198905,2.1113683302729238e-5,3.4603240998125803e-9,-0.0015181776587180065,2.1127106051478163e-5,3.4708520228233463e-9,-0.0015180885131474918,2.1021030404410242e-5,3.391091106264991e-9,-0.0015178909438639508,2.0859213783789e-5,3.2698730446144373e-9,-0.0015175877233646422,2.0709171992738493e-5,3.1587082248994756e-9,-0.0015172073558787026,2.0623842481949752e-5,3.0977101310951086e-9,-0.0015167914191089214,2.063317965218757e-5,3.109204821067375e-9,-0.0015163832619076432,2.0743705953134367e-5,3.1975368071754336e-9,-0.0015160200669873704,2.0942485608743105e-5,3.3523023756736195e-9,-0.0015157281682930876,2.1202788343014117e-5,3.5528268410564887e-9,-0.0015155208240000008,2.1490072546112796e-5,3.7727761422749006e-9,-0.0015153978329193042,2.1767775800983042e-5,3.984512020996164e-9,-0.0015153466823297202,2.2002561279956053e-5,4.162975427671088e-9,-0.0015153449752000046,2.2168662578104594e-5,4.2888951154383054e-9,-0.0015153638372301824,2.225102728825126e-5,4.351136659371982e-9,-0.001515371889179471,2.2246993016359994e-5,4.3479874066622305e-9,-0.0015153392563930425,2.216641597337143e-5,4.287271959233951e-9,-0.001515241213541778,2.2030490914074532e-5,4.1854284582402095e-9,-0.0015150613338686283,2.1869574703626888e-5,4.065761994294679e-9,-0.0015147941551076818,2.1720147110229897e-5,3.956004055400928e-9,-0.0015144474064621842,2.1620798118500058e-5,3.885163322724043e-9,-0.0015140436280418352,2.160676344805545e-5,3.879380610579873e-9,-0.0015136202312386242,2.1702388771875214e-5,3.956357484574458e-9,-0.001513226034844196,2.191177437422689e-5,4.1185205826258535e-9,-0.0015129120080209172,2.221001677650227e-5,4.346649078495528e-9,-0.001512715541928629,2.254041791686142e-5,4.597890678761155e-9,-0.001512642323751254,2.282451516198137e-5,4.8132638236435735e-9,-0.001512656112032841,2.2987226657755368e-5,4.936448725917021e-9,-0.0015126871339836351,2.2987814401065566e-5,4.937036368579893e-9,-0.0015126589666124984,2.283832816494508e-5,4.824488181507253e-9,-0.0015125191642603442,2.2596939508072832e-5,4.643164810446097e-9,-0.001512255771697461,2.234135481963672e-5,4.452159952580022e-9,-0.0015118937115124553,2.2139907404171068e-5,4.303255975411923e-9,-0.00151147883232571,2.203443093930126e-5,4.227845582902372e-9,-0.001511060993239207,2.2037202305538674e-5,4.234671953457867e-9,-0.0015106824975225093,2.213657085421608e-5,4.314282868663287e-9,-0.0015103725536317254,2.2305348342064856e-5,4.4455958177446396e-9,-0.001510145935250769,2.2508543748264166e-5,4.601885979825811e-9,-0.0015100037941396729,2.27093975733727e-5,4.75536669510632e-9,-0.0015099353530227085,2.2873996336669858e-5,4.880600371514767e-9,-0.0015099200916151164,2.2974973370313923e-5,4.957188134048892e-9,-0.0015099304637137257,2.2994496007904244e-5,4.971952359005194e-9,-0.0015099352286913673,2.2926461766264454e-5,4.920579998432417e-9,-0.0015099033645110472,2.277759522000927e-5,4.808472749402745e-9,-0.0015098082535331882,2.256704567886276e-5,4.650450638927179e-9,-0.0015096316019525189,2.2324318804894625e-5,4.469136915658275e-9,-0.0015093665766133704,2.208567924099814e-5,4.2921241199986e-9,-0.0015090197629728298,2.1889299652124044e-5,4.148176635499323e-9,-0.0015086116448405531,2.1769507934527783e-5,4.062815296740895e-9,-0.0015081753500045245,2.1750466832938717e-5,4.05360291565382e-9,-0.0015077531763032308,2.183960388547096e-5,4.125383508132904e-9,-0.0015073900399322092,2.202167990402843e-5,4.2660809956394935e-9,-0.0015071232263286609,2.225573764208077e-5,4.44462415416496e-9,-0.0015069693776782423,2.2478572667533146e-5,4.6136193435732875e-9,-0.0015069127900212765,2.261830809440704e-5,4.719430802140069e-9,-0.0015069025568193628,2.2617773461514468e-5,4.719545121206075e-9,-0.0015068654430890603,2.2459193836491986e-5,4.601005606662283e-9,-0.001506732732291867,2.2175454413684737e-5,4.388897633440769e-9,-0.0015064676102254564,2.1838262916960467e-5,4.1374773793336535e-9,-0.0015060770908259737,2.152899176668202e-5,3.9081543995164606e-9,-0.0015056034531821725,2.130964096087466e-5,3.747499605308365e-9,-0.0015051039831142801,2.120817745888039e-5,3.67616765940978e-9,-0.0015046318558587788,2.121994692951462e-5,3.6900798243215312e-9,-0.0015042251268647423,2.1317953608248667e-5,3.768369282876351e-9,-0.0015039036630436163,2.1464388035088392e-5,3.88222893943776e-9,-0.0015036707819547192,2.1619516091843104e-5,4.001665844105285e-9,-0.0015035165886605325,2.1747302655433718e-5,4.099689013291884e-9,-0.00150342132600212,2.1818716266063703e-5,4.154695925069204e-9,-0.001503358325448771,2.1813879500024203e-5,4.1519986156729824e-9,-0.0015032968462424501,2.1723736492507323e-5,4.08503905892022e-9,-0.0015032052341075262,2.155133538091197e-5,3.956368101994074e-9,-0.0015030546872407823,2.1312355770057032e-5,3.778071180337243e-9,-0.0015028235326783174,2.103420332333634e-5,3.5710789610787957e-9,-0.0015025013887804367,2.075307806093682e-5,3.362886440108658e-9,-0.0015020922453497882,2.0508886287330707e-5,3.183598559287639e-9,-0.0015016154742786625,2.0338452391119222e-5,3.0607104114683997e-9,-0.0015011040515861569,2.0268076034948164e-5,3.0134867470089806e-9,-0.001500599804274013,2.030688168146457e-5,3.04807733049152e-9,-0.0015001460726057133,2.044239395900025e-5,3.154424023362247e-9,-0.00149977856352969,2.0639604039527855e-5,3.305819021705255e-9,-0.0014995156172464786,2.0844817059723325e-5,3.461959279396227e-9,-0.0014993500137638414,2.0995399978085027e-5,3.576249789876038e-9,-0.0014992456432738306,2.1035335583678028e-5,3.60729449457631e-9,-0.0014991428844553212,2.0933644184201608e-5,3.532476786791916e-9,-0.0014989745730104767,2.0698804268457708e-5,3.3586078624101303e-9,-0.0014986888360896111,2.0380406021878866e-5,3.1231135922833585e-9,-0.0014982686733544998,2.0053717417477414e-5,2.88245886837212e-9,-0.001497737525690711,1.979300837962255e-5,2.692135997911263e-9,-0.001497148017881539,1.9647196210900128e-5,2.588415637713842e-9,-0.0014965613991866607,1.9629093705834248e-5,2.5803785904338805e-9,-0.0014960289411646245,1.971968706434261e-5,2.653283174951249e-9,-0.0014955820412908304,1.9880736800477454e-5,2.778157555940626e-9,-0.0014952309905867504,2.006787897714019e-5,2.9216817011335566e-9,-0.0014949687552116315,2.0239968863611068e-5,3.053154202397362e-9,-0.001494776174475137,2.0364131096063462e-5,3.1481831138080597e-9,-0.0014946265704327824,2.0417849223123522e-5,3.1901577490234746e-9,-0.0014944892845262566,2.038968095963877e-5,3.170735822070018e-9,-0.001494332545660484,2.0279629489477603e-5,3.090127645122555e-9,-0.0014941263545837618,2.009946410020862e-5,2.957370145196969e-9,-0.0014938459444002585,1.9872625600314708e-5,2.7902699955053625e-9,-0.0014934759328347927,1.9632856641228426e-5,2.614335134584265e-9,-0.0014930145655336932,1.9420569813598002e-5,2.4599538294097267e-9,-0.001492476702076429,1.9276431553751654e-5,2.3574741074222654e-9,-0.001491893815555032,1.923270705234934e-5,2.3306640563010123e-9,-0.0014913096645020614,1.930428755097455e-5,2.3900526656468323e-9,-0.0014907716135890666,1.9482318555866433e-5,2.5283426168944e-9,-0.0014903193643921373,1.973316438958572e-5,2.7198781518158167e-9,-0.0014899741448074898,2.0003956799043533e-5,2.9249937542774248e-9,-0.0014897315523588778,2.023395845028581e-5,3.098573729705269e-9,-0.0014895604078392077,2.036929696434408e-5,3.200967785115278e-9,-0.0014894086578894246,2.0377579597678796e-5,3.2087039570247428e-9,-0.0014892158047863976,2.0258385868426954e-5,3.122098731804692e-9,-0.001488929416536435,2.00457625312811e-5,2.9669485121319134e-9,-0.0014885210657221955,1.9800292408669174e-5,2.7885218058526498e-9,-0.0014879957071757151,1.9591794282292342e-5,2.6386436925550972e-9,-0.0014873899746012964,1.9478359809753334e-5,2.5601312681883347e-9,-0.0014867596618360918,1.949011570768919e-5,2.5748323704033555e-9,-0.0014861620498762876,1.96239922223134e-5,2.6799132147527057e-9,-0.0014856407320978139,1.9849868774778618e-5,2.8525944425785092e-9,-0.0014852179082245765,2.0123138972227992e-5,3.0595746869390322e-9,-0.001484894404555705,2.0397436089605455e-5,3.266468246613373e-9,-0.0014846544662120268,2.063358248057847e-5,3.444366312054756e-9,-0.0014844719149976677,2.080401172999627e-5,3.573026893968126e-9,-0.0014843155256631664,2.089389600951698e-5,3.6416569247405195e-9,-0.0014841529717873015,2.0900677734307805e-5,3.6485643076621275e-9,-0.0014839536957402732,2.083324538196875e-5,3.6005774495059056e-9,-0.0014836914694317035,2.0711220588510544e-5,3.5125354304605184e-9,-0.0014833473561297718,2.0564086382282243e-5,3.406608295349423e-9,-0.0014829133688975399,2.0429297886048457e-5,3.3108019367196984e-9,-0.0014823963710327067,2.0348185310062236e-5,3.25579730356668E-09,-0.0014818207428450856,2.0358734524199104e-5,3.269510016130022e-9,-0.0014812274772494347,2.048563738802864e-5,3.369725367338494e-9,-0.0014806675693328044,2.0730221397913308e-5,3.556767697544755e-9,-0.0014801896123771137,2.106481501301274e-5,3.809538836492915e-9,-0.0014798249253679303,2.143590416769047e-5,4.088059593597637e-9,-0.0014795761455542354,2.177709692752412e-5,4.3431788306475135e-9,-0.0014794146511569793,2.202796158292254e-5,4.530508461441201e-9,-0.0014792883061481331,2.21516328538685e-5,4.623353141774396e-9,-0.0014791364524373138,2.2144870224967428e-5,4.620002061129199e-9,-0.001478906684187595,2.203791530288745e-5,4.543444647931511e-9,-0.0014785683235115793,2.1885258092804413e-5,4.434360357647662e-9,-0.0014781193401062422,2.1750689691606835e-5,4.339933827235743e-9,-0.0014775854795386373,2.169092982823376e-5,4.3017291032046366e-9,-0.001477012299802205,2.1742145708306606e-5,4.345842348530162e-9,-0.0014764526498468376,2.191281179061359e-5,4.477843345187745e-9,-0.0014759534363243591,2.2184454181331846e-5,4.683549499194312e-9,-0.0014755455960484022,2.2519217855883682e-5,4.93475027814799e-9,-0.0014752396898019221,2.2870962823821085e-5,5.1974073013490225e-9,-0.0014750271342094889,2.3195958122338928e-5,5.439457561441334e-9,-0.0014748851544931095,2.3460421517391652e-5,5.636259530417908e-9,-0.0014747829673421675,2.3644120169039524e-5,5.773169265596725e-9,-0.001474687320693333,2.374080291527646e-5,5.845840169919798e-9,-0.0014745666070528286,2.3756880234768512e-5,5.859274017653767e-9,-0.0014743937130802754,2.370958754850038e-5,5.826487086509059e-9,-0.0014741482569230124,2.3625217663658505e-5,5.767179828898929e-9,-0.001473818894785108,2.353730629244631e-5,5.7063097259063755e-9,-0.0014734060778071696,2.3484074946004946e-5,5.672082995091509e-9,-0.001472924981874492,2.3504008874457454e-5,5.692603170476783e-9,-0.0014724072644037177,2.3628534088270373e-5,5.790480507708103e-9,-0.0014718991918354172,2.387197597384268e-5,5.975569281186334e-9,-0.0014714535304005726,2.422153315886059e-5,6.2378093646216116e-9,-0.0014711147480171334,2.463284924493281e-5,6.5441791770475725e-9,-0.0014709018005976526,2.5037149761910478e-5,6.844044438239558e-9,-0.0014707971735682401,2.5361087416693702e-5,7.08371765685339e-9,-0.0014707499231823534,2.5551998946229314e-5,7.224937628064112e-9,-0.0014706928556039132,2.559617122586235e-5,7.2582251778159335e-9,-0.0014705654035565266,2.5521412187611647e-5,7.204692681405604e-9,-0.0014703314954858874,2.5384704814681434e-5,7.106814374546921e-9,-0.001469986538679709,2.5252782134341083e-5,7.013936096625625e-9,-0.0014695540981764408,2.5183955143550453e-5,6.968766442288963e-9,-0.0014690762900327096,2.5215950258180403e-5,6.998456432120111e-9,-0.0014686020708823385,2.5360870206104967e-5,7.1110940673169154e-9,-0.001468176386598783,2.5606318665205407e-5,7.296811789583651e-9,-0.001467831922902369,2.592100301791191e-5,7.532134484148677e-9,-0.0014675843884544473,2.6263002803544234e-5,7.786145194716698e-9,-0.0014674316308986469,2.6588795756606222e-5,8.027060457500164e-9,-0.0014673561469447757,2.6861167542429433e-5,8.22790296065784e-9,-0.001467329858105644,2.7054651629686617e-5,8.370365121482301e-9,-0.0014673197245071011,2.7158013293985568e-5,8.446566196624374e-9,-0.0014672929285562525,2.717410966689769e-5,8.458950180331899e-9,-0.0014672208834997042,2.7118011201820044e-5,8.4189307986924e-9,-0.0014670820001531884,2.7014370775278294e-5,8.34495143072538e-9,-0.0014668636033767842,2.6894642929169563e-5,8.260369284515231e-9,-0.0014665634811135814,2.6794222102966245e-5,8.19123024785904e-9,-0.0014661914098972825,2.674909228562432e-5,8.163696466874626e-9,-0.001465770520724381,2.679114846664634e-5,8.200590836488431e-9,-0.001465337400999473,2.6941364730020337e-5,8.316505230393117e-9,-0.0014649388274165344,2.720105595585084e-5,8.511638713086152e-9,-0.0014646228477321868,2.7543744071366404e-5,8.766111014759959e-9,-0.0014644237187200332,2.791300341092992e-5,9.03854416039646e-9,-0.001464344966501293,2.8232690622237343e-5,9.273507511061049e-9,-0.00146435037296069,2.8431059296295023e-5,9.418980704214775e-9,-0.0014643722903750673,2.8469546292426055e-5,9.447272055057291e-9,-0.0014643365365555757,2.835968319109381e-5,9.367378735882624e-9,-0.0014641906956874835,2.8157374663821298e-5,9.220801767421116e-9,-0.0014639203699168175,2.793907130398366e-5,9.063972153156974e-9,-0.001463547743641747,2.777469392086682e-5,8.94819704622287e-9,-0.0014631181589848093,2.770971394278009e-5,8.906400483072525e-9,-0.0014626840013922983,2.7759615661242276e-5,8.949152904876544e-9,-0.0014622919778576426,2.7913376841285792e-5,9.067487925009645e-9,-0.0014619755187329977,2.8141209895819113e-5,9.238874894232356e-9,-0.0014617515941158011,2.840319839203045e-5,9.43374255358404e-9,-0.0014616206414562979,2.8657228590944903e-5,9.621316724398479e-9,-0.0014615686117483452,2.88656511750599e-5,9.77438646312151e-9,-0.0014615705063021332,2.9000359578134314e-5,9.872855466969257e-9,-0.0014615948598680729,2.9046009835060456e-5,9.905967029354836e-9,-0.001461608579480747,2.900124632155569e-5,9.873148682283592e-9,-0.0014615815016667387,2.8877991973552452e-5,9.783504838835818e-9,-0.001461490094774729,2.86991569091944e-5,9.65415693656674e-9,-0.0014613200429391873,2.8495379357004293e-5,9.507823393054517e-9,-0.0014610677949529376,2.8301325099769305e-5,9.370010304543687e-9,-0.0014607412749224225,2.8151769243240655e-5,9.266016170060544e-9,-0.001460359934266054,2.807741831222614e-5,9.217802419101563e-9,-0.001459954104262802,2.810012125881796e-5,9.240548810429125e-9,-0.0014595629027557774,2.8227079611997363e-5,9.338632920695437e-9,-0.001459229207373408,2.8444570378339046e-5,9.501348366973721e-9,-0.0014589903312328463,2.8713478214577256e-5,9.699906185659169e-9,-0.0014588646330113623,2.8970928160528702e-5,9.888704607981145e-9,-0.0014588380390138703,2.9143000527045176e-5,1.0014441084658272e-8,-0.0014588592510678298,2.916941323267889e-5,1.0033827086917958e-8,-0.0014588523821274818,2.9030953044343186e-5,9.933409035109415e-9,-0.0014587456644553276,2.8762477106263568e-5,9.739062259576716e-9,-0.001458501091057045,2.844024437257861e-5,9.506799999855063e-9,-0.001458127143420008,2.8150315430128008e-5,9.299622484807696e-9,-0.001457669435461303,2.7957472722960843e-5,9.164649386359438e-9,-0.0014571891196582215,2.788982620398424e-5,9.12181556433836e-9,-0.001456742655817562,2.7940470402478702e-5,9.1652351867303225E-09,-0.0014563700347164715,2.807848674258035e-5,9.271524962474886e-9,-0.0014560912588836175,2.826144010513699e-5,9.409190716108027e-9,-0.0014559078903742333,2.8445360201978687e-5,9.546033498517481e-9,-0.0014558067229891146,2.859145029300421e-5,9.65399985693406e-9,-0.0014557639343839687,2.867025540336573e-5,9.712068997365372e-9,-0.0014557492065120391,2.8664138594720785e-5,9.707890097359682e-9,-0.0014557298001960863,2.8568493551007577e-5,9.638560286519974e-9,-0.0014556745936851589,2.839177608483774e-5,9.510625422205857e-9,-0.0014555579370875656,2.815423714782051e-5,9.339183329667601e-9,-0.0014553629537277198,2.788526924195518e-5,9.14595894628804e-9,-0.0014550838573302906,2.7619586166606147e-5,8.95646433151999e-9,-0.0014547270310782067,2.7392671032165182e-5,8.796565507284847e-9,-0.0014543107698863327,2.7235881381529104e-5,8.688803061502544e-9,-0.0014538636547068316,2.7171559156514596e-5,8.648806078255112e-9,-0.0014534215710303232,2.7208440099601352e-5,8.68207399305285e-9,-0.001453023162629078,2.7337595874378007e-5,8.781285876904159e-9,-0.0014527031545351094,2.7529636906441165e-5,8.924571639210088e-9,-0.0014524833008458392,2.7735059993107925e-5,9.075970709988018e-9,-0.0014523621957538728,2.7890571544417234e-5,9.19001842577633e-9,-0.0014523077282724134,2.793379091660291e-5,9.22219677030714e-9,-0.0014522585937687897,2.7825223830983982e-5,9.144582317840528e-9,-0.0014521403795198652,2.7569149189017554e-5,8.960821255109384e-9,-0.001451893505617349,2.7219493141957345e-5,8.71038541518176e-9,-0.0014514989868257015,2.6862149989671336e-5,8.455773632611902e-9,-0.0014509858377754307,2.6581283086955036e-5,8.257991564297597e-9,-0.0014504161415827162,2.642918854125528e-5,8.154588223766253e-9,-0.0014498591074915373,2.6414918608475404e-5,8.151437565096828e-9,-0.0014493694267968629,2.6511849721997745e-5,8.228438049517682e-9,-0.001448977429522189,2.667403387196817e-5,8.351639483937653e-9,-0.0014486894408670674,2.6851542282472955e-5,8.484552463610772e-9,-0.0014484932417684118,2.700055872143433e-5,8.595494996252945e-9,-0.0014483645278005612,2.7088384874182358e-5,8.661115546099852e-9,-0.0014482724252906584,2.709519725146361e-5,8.667505390416874e-9,-0.0014481837922433506,2.7014246607076915e-5,8.610209915657879e-9,-0.0014480667630384213,2.6851367625677863e-5,8.493819386236972e-9,-0.0014478939985973695,2.6623968239600285e-5,8.331252341426477e-9,-0.0014476458307236476,2.635924813759418e-5,8.142498231074953e-9,-0.00144731311061095,2.6091231865376743e-5,7.952456649511876e-9,-0.0014468992107673786,2.5856444834127285e-5,7.787722099695875e-9,-0.0014464205463444633,2.5688537660867144e-5,7.672567457310853e-9,-0.0014459051593164764,2.5612502082256553e-5,7.624669465502379e-9,-0.0014453891705153014,2.5639343311066898e-5,7.651283894303304e-9,-0.0014449112632642608,2.5762226244715e-5,7.746636370364774e-9,-0.0014445057152640856,2.595501245227754e-5,7.891145026699935e-9,-0.0014441946694093064,2.6173960497131583e-5,8.052917461887092e-9,-0.0014439806475695987,2.636349963132186e-5,8.192048807278225e-9,-0.0014438411873451745,2.646690890427581e-5,8.268250609640819e-9,-0.0014437286296687954,2.6441511003512633e-5,8.251567637578792e-9,-0.001443578444853297,2.6275165731848128e-5,8.1339948899965e-9,-0.0014433273202660133,2.5997083928831833e-5,7.937096006765073e-9,-0.001442936409115405,2.567444219779277e-5,7.709508223593939e-9,-0.0014424086701659907,2.5391506100637698e-5,7.511889392046065e-9,-0.0014417892862947695,2.5219227646515815e-5,7.3950023164529674e-9,-0.001441147821285167,2.5191187270965408e-5,7.382424698161206e-9,-0.0014405525671188652,2.5297654232244746e-5,7.46642211059057e-9,-0.0014400506984845914,2.549697136888099e-5,7.616367322101587e-9,-0.0014396609875323325,2.573422047511667e-5,7.792362299919142e-9,-0.0014393770763216152,2.595731091946943e-5,7.956884889193762e-9,-0.0014391755390315833,2.6126299063856226e-5,8.081435414644157e-9,-0.0014390240648945822,2.621661961154909e-5,8.14872862017226e-9,-0.0014388876944924675,2.6218749094750767e-5,8.152319004850451e-9,-0.0014387330155882449,2.6136521805769236e-5,8.095315097039274e-9,-0.0014385310964584244,2.5985249879172986e-5,7.98902323659588e-9,-0.0014382599562942464,2.578984727441783e-5,7.851630723953415e-9,-0.001437907000473791,2.558258430097201e-5,7.706602007982529e-9,-0.0014374713475980292,2.539984818095332e-5,7.580298299298504e-9,-0.0014369654370357835,2.5277430919184726E-05,7.498481675769508e-9,-0.0014364149450387434,2.524445155724815e-5,7.481837634246073e-9,-0.0014358560907401488,2.531680732424275e-5,7.541239382042651e-9,-0.0014353299421923447,2.549174348391302e-5,7.67395063074306e-9,-0.0014348742608147498,2.5745447771436074e-5,7.862124322155557e-9,-0.0014345144552345818,2.6035180886781052e-5,8.074600559849243e-9,-0.0014342558619612528,2.6306381027453562e-5,8.272200047331242e-9,-0.001434079589311781,2.6503932782313694e-5,8.415841468953633e-9,-0.0014339437223416472,2.658569469617018e-5,8.476099349229682e-9,-0.0014337909162949274,2.653533090809111e-5,8.442148816768944e-9,-0.0014335620776601706,2.6370518693983798e-5,8.32738512813637e-9,-0.0014332136074441035,2.614232716045764e-5,8.16878953155742e-9,-0.0014327328436069065,2.592319956427502e-5,8.01823403658462e-9,-0.0014321447131647473,2.5785451237951414e-5,7.927095900408931e-9,-0.0014315049081303302,2.5778022969174607e-5,7.92972291182139e-9,-0.001430881462440153,2.591187567232032e-5,8.0331743458699e-9,-0.0014303331772278684,2.616035797685171e-5,8.217711692267238e-9,-0.0014298944934438224,2.6472481447071226e-5,8.446469961108673e-9,-0.0014295714210435305,2.6790920056085873e-5,8.67839265732808e-9,-0.0014293466416022695,2.706669905365202e-5,8.878682424407924e-9,-0.0014291886521796292,2.726698482237647e-5,9.024249768378522e-9,-0.0014290605250002484,2.7376714200605378e-5,9.104750656058354e-9,-0.0014289262535661926,2.7396668664601868e-5,9.121125674470142e-9,-0.0014287546376585928,2.734037378186705e-5,9.083361209742851e-9,-0.0014285215854872378,2.7231132652078738e-5,9.008387004102195e-9,-0.0014282118094740023,2.7099446056366132e-5,8.91824477219024e-9,-0.0014278205169719102,2.6980369162120895e-5,8.838165817857077e-9,-0.0014273551041353886,2.6910052790540644e-5,8.794014126806641e-9,-0.001426836217410468,2.692081607168585e-5,8.808668492982802e-9,-0.0014262969989791532,2.703467650249471e-5,8.897360695655925e-9,-0.0014257791653392638,2.7256366225002294e-5,9.062761040100194e-9,-0.0014253252294257476,2.7568169951920956e-5,9.291482753990074e-9,-0.0014249678412150235,2.7929586139618507e-5,9.554082763102208e-9,-0.001424719247272349,2.8283922152095817e-5,9.8099633515569e-9,-0.0014245649540888968,2.857138997614607e-5,1.0016784431585915e-8,-0.001424464819701088,2.874523105273305e-5,1.0141889729331605e-8,-0.0014243621807249333,2.8785614912595313e-5,1.0172034668321106e-8,-0.001424198594399113,2.8706550061364885e-5,1.0118076747905602e-8,-0.0014239298298215845,2.855338333973738e-5,1.0012952173362216e-8,-0.0014235384273948743,2.8391359153604704e-5,9.903332600293055e-9,-0.001423039068963574,2.8288237213866135e-5,9.837163726172813e-9,-0.0014224748046457894,2.8295862255426144e-5,9.850620457112531e-9,-0.0014219048911750486,2.8436423102220665e-5,9.95855573897215e-9,-0.0014213881167722824,2.8698019217145672e-5,1.0151643259449534e-8,-0.001420967450066756,2.9040746996965335e-5,1.0400951762124473e-8,-0.0014206611416994707,2.941022918094345e-5,1.066766982712532e-8,-0.001420462210050991,2.9752840746124096e-5,1.0913884054961945e-8,-0.0014203445464611544,3.0027360180390388e-5,1.111072374244291e-8,-0.0014202718523974758,3.0210625033603962e-5,1.1242230035220288e-8,-0.0014202059478694213,3.0297793467362173e-5,1.130543514634517e-8,-0.0014201126851082163,3.0299379741317255e-5,1.1308212546961511e-8,-0.001419965354967399,3.023722740125861e-5,1.126641797154726e-8,-0.0014197463754245395,3.0140745523510838e-5,1.1201222166966375e-8,-0.0014194482287997765,3.004374201377961e-5,1.1136832656018542e-8,-0.0014190743137684472,2.9981438465230445e-5,1.1098298258684281e-8,-0.001418639809555389,2.9986901963587264e-5,1.1108885328964141e-8,-0.001418171968272546,3.008617815680982e-5,1.1186579824169502e-8,-0.0014177085861886171,3.0291942135319834e-5,1.133964646008498e-8,-0.001417293059956346,3.05967206924271e-5,1.1562003200599675e-8,-0.0014169650708668305,3.0968510049347896e-5,1.1830355814926381e-8,-0.0014167481369272308,3.135278601208798e-5,1.210581797947972e-8,-0.0014166384270926171,3.168371673086619e-5,1.2341922339142801e-8,-0.001416601011852032,3.1903068064781095e-5,1.2497950944243014e-8,-0.001416577597530908,3.197990561297152e-5,1.2552765821321245e-8,-0.001416504023895075,3.192205189348772e-5,1.2512782170450044e-8,-0.0014163303334027324,3.177388113563488e-5,1.241023118085146e-8,-0.0014160352058320256,3.160197306166359e-5,1.2292773285630224e-8,-0.00141563020412267,3.147525183817631e-5,1.2209223647116733e-8,-0.001415154182806351,3.144686499940079e-5,1.219665427065755e-8,-0.0014146612944608804,3.1542588220823e-5,1.2272337128455885e-8,-0.0014142068212377667,3.17574992652059e-5,1.2431711044918489e-8,-0.0014138345495532411,3.206030619328251e-5,1.2651790954942593e-8,-0.0014135683760217552,3.240316711893786e-5,1.2898338055852669e-8,-0.0014134095167311366,3.273394154711765e-5,1.3134557510283644e-8,-0.0014133391618895421,3.300757270905415e-5,1.3329020931988017e-8,-0.0014133249690354472,3.31939594183018e-5,1.34610409333419e-8,-0.0014133289896605121,3.328119077205221e-5,1.3522794560786908e-8,-0.001413314822460721,3.3274656159752014e-5,1.3518607273504532e-8,-0.0014132527079583823,3.3193518643689525e-5,1.3462443644765452e-8,-0.0014131223461608018,3.3066195373724894e-5,1.3374722960227905e-8,-0.001412913992766144,3.292604615376844e-5,1.3279258055873786e-8,-0.0014126286522506636,3.2807704536436217e-5,1.3200599557144906e-8,-0.0014122779793304208,3.274378481004234e-5,1.3161617579820244e-8,-0.0014118840527596287,3.276134215889836e-5,1.318093997452497e-8,-0.0014114785988180107,3.287744387268909e-5,1.3269863918137662e-8,-0.0014111005438624472,3.309364278437632e-5,1.3428626290622916e-8,-0.0014107903444190032,3.339035361538781e-5,1.3642698341029341e-8,-0.0014105801213301545,3.372401496582465e-5,1.388102605623399e-8,-0.0014104809172316352,3.403140528598448e-5,1.4099169038639324e-8,-0.0014104721889999377,3.4244418459823575e-5,1.4249623837810556e-8,-0.0014105012730983308,3.431313016865975e-5,1.4297897851110098e-8,-0.0014104976530675871,3.4227232153276674e-5,1.4237483279052317e-8,-0.0014103978203613941,3.4023102917727105e-5,1.409478258989675e-8,-0.0014101683041605874,3.37710788967813e-5,1.3920030577394821e-8,-0.0014098152448564095,3.3549879175073367e-5,1.3769043937615413e-8,-0.0014093780596700428,3.342166325020871e-5,1.3685419104499984e-8,-0.0014089135400348065,3.341756238018929e-5,1.3690309226175862e-8,-0.0014084788334548454,3.3535493238112093e-5,1.37811189010826e-8,-0.0014081186845767038,3.374669781848928e-5,1.3936497322555077e-8,-0.0014078585339577186,3.400633332696204e-5,1.4124144409347155e-8,-0.0014077028508541673,3.42645878758073e-5,1.4308805334751806e-8,-0.0014076373664685578,3.4476340111075574e-5,1.4459025629545484e-8,-0.0014076339312917433,3.4608360343685586e-5,1.4552028310657353e-8,-0.0014076568208633863,3.464345854701809e-5,1.457641017245677e-8,-0.001407669277186434,3.458141606859998e-5,1.4532638817739162e-8,-0.0014076391876356137,3.443714237304597e-5,1.4431695615751243e-8,-0.0014075431589499628,3.42369134134312e-5,1.4292440206539112e-8,-0.0014073687088618709,3.401369363319955e-5,1.4138337135936162e-8,-0.0014071148025871514,3.380247774740365e-5,1.3994150056515684e-8,-0.0014067912957618034,3.363619137526845e-5,1.3882976655598566e-8,-0.001406417785833611,3.3542132876375727e-5,1.3823657520053249e-8,-0.0014060220696082155,3.3538605100390865e-5,1.3828389059174037e-8,-0.0014056380007306819,3.363132267047934e-5,1.3900311168766636e-8,-0.0014053019647113963,3.3809476163547754e-5,1.403098639393186e-8,-0.0014050467952829435,3.404235090138576e-5,1.4198316878603361e-8,-0.0014048925106380783,3.427900969237467e-5,1.4366522015636952e-8,-0.0014048352740607154,3.4454830578689884e-5,1.4490717899879615e-8,-0.0014048394576729162,3.450785686877302e-5,1.452817586539771e-8,-0.0014048405652307403,3.4402642110255266e-5,1.4454790297227312e-8,-0.001404764049178016,3.415061768516878e-5,1.4279243287251102e-8,-0.0014045544794032856,3.381223147440442e-5,1.4044512501709342e-8,-0.001404199019517501,3.34753415760048e-5,1.3812662721467575e-8,-0.0014037308928993113,3.322120032523223e-5,1.3640780805957817e-8,-0.0014032126628860826,3.309751484531842e-5,1.3561886833224022e-8,-0.0014027118105852483,3.311012467826726e-5,1.3579138976547671e-8,-0.0014022815504324637,3.3230920394382554e-5,1.3671690150678322e-8,-0.0014019518800177807,3.341272421638346e-5,1.3805518700988216e-8,-0.0014017290980962978,3.360354473780993e-5,1.3943711301648619e-8,-0.0014016000243125806,3.375694744860536e-5,1.4053807349603574e-8,-0.001401537920759662,3.383830386691697e-5,1.4112051071441454e-8,-0.001401508516602354,3.38278961316903e-5,1.4105333153706423e-8,-0.0014014756088146735,3.372177220527613e-5,1.4031568509718768e-8,-0.0014014060660440912,3.353076489929489e-5,1.3898885331730495e-8,-0.0014012739860668733,3.327793091957308e-5,1.3723815329935129e-8,-0.0014010636973225197,3.2994742987017955e-5,1.3528667448275764e-8,-0.0014007713279077503,3.271646976821572e-5,1.3338315101143095e-8,-0.0014004048383781237,3.247734073521475e-5,1.3176767910392181e-8,-0.001399982720160362,3.230609707347399e-5,1.3063963984102755e-8,-0.0013995317115542282,3.222223618554686e-5,1.3013065431940527e-8,-0.0013990837824146862,3.223298100013896e-5,1.3028362806501945e-8,-0.0013986724408224693,3.2330914871978444e-5,1.310378977963939e-8,-0.0013983280897938944,3.249234472603756e-5,1.3222059543851011e-8,-0.0013980719157413676,3.26771022098923e-5,1.3354806377875613e-8,-0.001397908301055983,3.2831582187595467E-05,1.3464847011626819e-8,-0.001397817347062273,3.289747667782527e-5,1.3512189019105797e-8,-0.001397751512132713,3.28277047548693e-5,1.3464871106866769e-8,-0.0013976423203658295,3.260691801970788e-5,1.3312974762696126e-8,-0.0013974208313565252,3.2266892279175194e-5,1.3079220779759064e-8,-0.0013970462170215551,3.188350281420138e-5,1.2816866134850941e-8,-0.001396526429072313,3.15504266134185e-5,1.2591347003175733e-8,-0.0013959162362914407,3.134208482490942e-5,1.2454319312828303e-8,-0.0013952934212709952,3.12876940613365e-5,1.2425488800691024e-8,-0.0013947290248052181,3.1368994960239776e-5,1.2491155941132685e-8,-0.0013942677926455445,3.153656609401135e-5,1.2615901943459306e-8,-0.001393923604268954,3.173094679442987e-5,1.2757639356311874e-8,-0.0013936850245932673,3.189863660685751e-5,1.287894027262053e-8,-0.0013935243292366379,3.20005016684368e-5,1.295286703830315e-8,-0.0013934059148908537,3.2014351751696166e-5,1.2964583482053157e-8,-0.0013932926868055352,3.193431439306784e-5,1.29106853876459e-8,-0.0013931506171936453,3.176890244780789e-5,1.279767711238989e-8,-0.0013929521622677431,3.153852371658084e-5,1.2640170940633758e-8,-0.0013926789463034916,3.1272453315631026e-5,1.2458806214965603e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json new file mode 100644 index 000000000..fb9e3f35a --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":4000,"numberOfSamples":1000,"samples":[-0.0013923237156324762,3.10051313115372e-5,1.227772476593132e-8,-0.0013918913030339685,3.0771749723490945e-5,1.2121506307793586e-8,-0.0013913982265213998,3.060338976954708e-5,1.2011722091998317e-8,-0.0013908707040811456,3.052231698115309e-5,1.1963565646016446e-8,-0.001390341194667023,3.053811122326968e-5,1.198311590315129e-8,-0.0013898437960375297,3.064516965374932e-5,1.206567850949141e-8,-0.0013894089283486013,3.0821985171837794e-5,1.219550046257788e-8,-0.0013890577325521491,3.103246124664618e-5,1.234697235237071e-8,-0.001388796542557306,3.12295787680487e-5,1.2487412403812631e-8,-0.0013886120720738905,3.136210718279558e-5,1.2581786671309725e-8,-0.0013884688947041909,3.1385084006792996e-5,1.2599819994917749e-8,-0.0013883119458332274,3.127360474065753e-5,1.2525244839418013e-8,-0.0013880771300425396,3.103666131759266e-5,1.2365079707027838e-8,-0.0013877108551321243,3.072388276790292e-5,1.2154123117817592e-8,-0.0013871929430152989,3.0416606360292832e-5,1.1948741207200948e-8,-0.001386550391714903,3.0201205713724095e-5,1.1808429582903155e-8,-0.0013858506737383077,3.01357997768827e-5,1.1772803776767341e-8,-0.0013851759104291312,3.0229273883448915e-5,1.1847175892297428e-8,-0.001384592881220668,3.0443874540562336e-5,1.2004550146250928e-8,-0.0013841349373795028,3.0716035009628255e-5,1.2200281016361826e-8,-0.0013838008265632472,3.098058540822912e-5,1.2389009867920565e-8,-0.0013835645353088798,3.118712181259742e-5,1.2536034707260684e-8,-0.0013833877106148682,3.130621279611001e-5,1.2621499602221395e-8,-0.0013832296076505604,3.132862793970199e-5,1.2639667607070031e-8,-0.0013830533398082588,3.12615629520694e-5,1.2596119024238894e-8,-0.0013828292717648978,3.1124447793189026e-5,1.2504739208443173e-8,-0.001382536894290198,3.094526718665489e-5,1.238515875044467e-8,-0.001382166093661862,3.0757242436986546e-5,1.2260502826500002e-8,-0.0013817180828804721,3.059536687843876e-5,1.2155030689028627e-8,-0.0013812057662645032,3.0492356610198686e-5,1.2091316281131741e-8,-0.001380652965115511,3.0473944416237442e-5,1.2086924984252354e-8,-0.0013800918794172976,3.055405387965315e-5,1.2151015510603047e-8,-0.0013795585330693598,3.073089776278415e-5,1.2281664264941277e-8,-0.0013790865545975047,3.098519781713838e-5,1.2464780864846123e-8,-0.0013787002512115332,3.128152698517288e-5,1.2675280274755086e-8,-0.0013784083744284533,3.1573186320784075e-5,1.2880703491497357e-8,-0.0013782000273174174,3.181021399913377e-5,1.3046891803617532e-8,-0.0013780438976636682,3.19495350745652e-5,1.3144947940134445E-08,-0.0013778917807731484,3.1965865743675875e-5,1.3158522917130986e-8,-0.0013776871187557247,3.186125601721507e-5,1.3090054814128084e-8,-0.0013773784345414448,3.167005542915762e-5,1.2963872114938864e-8,-0.0013769355296510653,3.145540027821075e-5,1.2823586040322064e-8,-0.0013763632310821636,3.129451925350386e-5,1.2721957602677264e-8,-0.0013757051938257864,3.12548297658547e-5,1.2704580862237566e-8,-0.0013750325167593762,3.136980980661643e-5,1.2793513871866098e-8,-0.0013744200205683455,3.162705495398507e-5,1.297932656913296e-8,-0.001373921486003332,3.197529339541822e-5,1.3226141868971426e-8,-0.0013735559011152846,3.2345581764334165e-5,1.348632479099502e-8,-0.001373308834962327,3.267443076739067e-5,1.371638565723486e-8,-0.0013731440063741707,3.2918760928589506e-5,1.3887174851188765e-8,-0.0013730169969555664,3.306017025212218e-5,1.3986670884338575e-8,-0.001372885707505598,3.310177282032628e-5,1.4017645484980559e-8,-0.0013727161916267327,3.3062157152929236e-5,1.3993385650784678e-8,-0.0013724849650755444,3.2969528124314865e-5,1.3933613214447525e-8,-0.0013721795043743403,3.2857132549704686e-5,1.3861350571725312e-8,-0.001371798199420233,3.275975393211377e-5,1.3800541749182052e-8,-0.001371350267391638,3.2710546394120883e-5,1.3773879566233536e-8,-0.0013708554660210265,3.273748651144435e-5,1.3800332746004124e-8,-0.0013703429392595617,3.285908614832062e-5,1.3892159705457934e-8,-0.0013698482842253537,3.3079732505826116e-5,1.4051723281032588e-8,-0.0013694081789119867,3.33859216188847e-5,1.4269017354682299e-8,-0.0013690527752354515,3.3745292715916165e-5,1.4521206280880815e-8,-0.0013687973523058758,3.411026251376824e-5,1.4775341685527618e-8,-0.001368635864809167,3.442685430142285e-5,1.4994571911094206e-8,-0.001368539190809793,3.464725058126877e-5,1.5146764379461272e-8,-0.0013684596653155585,3.474271507765218e-5,1.5213225547749854e-8,-0.001368341412275528,3.471292842213015e-5,1.519483961915156e-8,-0.0013681340963783179,3.458864103148684e-5,1.5113572919781048e-8,-0.001367806641243441,3.442624486265195e-5,1.50084742827696e-8,-0.0013673571913396174,3.429481060775766e-5,1.492663952720893e-8,-0.0013668159712882611,3.425816744323766e-5,1.4910976651613327e-8,-0.0013662389537410337,3.4356679623137404e-5,1.4987969233571176e-8,-0.0013656929127156684,3.45948313307106e-5,1.5159539607809455e-8,-0.0013652362239514341,3.493996318255312e-5,1.540252269790559e-8,-0.0013649025854399397,3.533339206451559e-5,1.5676457844807535e-8,-0.001364694017006319,3.5709311516460834e-5,1.5936510012581336e-8,-0.0013645848390629765,3.6013317990182196e-5,1.6146000719145376e-8,-0.001364533006244744,3.6213785847992433e-5,1.6284003030435945e-8,-0.0013644928514191061,3.630413358810897e-5,1.6346724249025713e-8,-0.0013644247321696538,3.629841553527456e-5,1.6344369702902035e-8,-0.0013643001276189908,3.622421100892573e-5,1.6296216699097295e-8,-0.0013641030557909385,3.611585301733881e-5,1.6225972675099123e-8,-0.001363829489218644,3.6009284510185593e-5,1.6158272516967093e-8,-0.0013634861732545276,3.59384398039273e-5,1.6116209694143087e-8,-0.0013630895393642458,3.593237657339973e-5,1.6119355456194334e-8,-0.0013626646638417342,3.601230966247092e-5,1.618170797397962e-8,-0.001362243629102119,3.61880268938273e-5,1.6309266089582144e-8,-0.0013618622841067652,3.64538655276576e-5,1.6497393820657673e-8,-0.0013615544772974737,3.6785502430891855e-5,1.6728827194428735e-8,-0.0013613437161679772,3.713991173468955e-5,1.697386187057922e-8,-0.001361234021080087,3.746108911824493e-5,1.719439828116546e-8,-0.0013612037638524796,3.7692536866159856e-5,1.7352457140518053e-8,-0.001361206847971344,3.779396838960132e-5,1.742144636974678e-8,-0.0013611832374142226,3.7756031020244054e-5,1.7396011201743785e-8,-0.001361076191644119,3.7606086154550635e-5,1.7295762883204998e-8,-0.0013608496577971183,3.7401677631123275e-5,1.716059227166306e-8,-0.0013604990488915285,3.721408821670011e-5,1.7039232838343093e-8,-0.0013600520125571307,3.710835900255645e-5,1.697551683056106e-8,-0.0013595600099726545,3.712640498271043e-5,1.699695432191236e-8,-0.0013590841935409244,3.727760024130748e-5,1.71086275657347e-8,-0.001358679890204125,3.7538440708709115e-5,1.7293378278633092e-8,-0.00135838372132039,3.7860514706880266e-5,1.7517577456580113e-8,-0.0013582064390924846,3.818407848658802e-5,1.7740504047095585e-8,-0.0013581329272131877,3.845318903981301e-5,1.7924558906917483e-8,-0.0013581286541984837,3.862806850028087e-5,1.804345582610699e-8,-0.0013581498661130592,3.869159882723496e-5,1.8086397228283904e-8,-0.0013581539476281528,3.8649261142348775e-5,1.8057850041261867e-8,-0.0013581071226586598,3.8524189345567815e-5,1.7974088393725628e-8,-0.0013579883897526658,3.835008509330396e-5,1.7858356144320932e-8,-0.00135779018044884,3.8164384929534315e-5,1.7736239335068338e-8,-0.001357517027048097,3.800295694389865e-5,1.7632074255281237e-8,-0.0013571835099064594,3.789645286761099e-5,1.7566453802397066e-8,-0.0013568122323385436,3.786770844912354e-5,1.7554432313878906e-8,-0.0013564319146861178,3.792940545542113e-5,1.760394100218013e-8,-0.0013560751230173448,3.808144637277682e-5,1.771409396726125e-8,-0.001355774723096159,3.830809315615486e-5,1.7873437098055103e-8,-0.0013555581129589143,3.85759738967685e-5,1.805883775217439e-8,-0.0013554390847187276,3.883530834118127e-5,1.8236503204011578e-8,-0.001355409076240439,3.9027250633763036e-5,1.836699003058032e-8,-0.0013554321238842734,3.909874292882928e-5,1.8415131641263553e-8,-0.0013554490528045462,3.90218298649933e-5,1.836291168093209e-8,-0.0013553934777036426,3.88088274293409e-5,1.8219570358978306e-8,-0.0013552148739573212,3.8513364752411945e-5,1.8022193158569097e-8,-0.0013548976458011926,3.821394753241361e-5,1.7824422483376295e-8,-0.0013544662886432806,3.7987376502045904e-5,1.767824374087245e-8,-0.001353975167144596,3.788495877740173e-5,1.7617747380746665e-8,-0.0013534897169433626,3.792082265498023e-5,1.765132964873523e-8,-0.0013530679623867672,3.807359000944715e-5,1.776318309780284e-8,-0.0013527479846985185,3.82970266342332e-5,1.7920945154219862e-8,-0.0013525427737545379,3.8534126622979775e-5,1.8085549434599747e-8,-0.0013524413684721215,3.8730475725509086e-5,1.8220348872787433e-8,-0.0013524143580498815,3.8844550459139665e-5,1.829793515757917e-8,-0.0013524218120327396,3.885388259987187e-5,1.830403299861606e-8,-0.0013524218425320289,3.8756778190668846e-5,1.8238389323156565e-8,-0.0013523781464381873,3.857000249417001e-5,1.8113029207340084e-8,-0.0013522652859119853,3.832360437107422e-5,1.7948697828581297e-8,-0.0013520711816035556,3.805446144349454e-5,1.7770522740602527e-8,-0.0013517970474576544,3.7800026057570636e-5,1.760383303417335e-8,-0.0013514555502732262,3.759328234789039e-5,1.7470765883749638e-8,-0.0013510681406707162,3.745922197053802e-5,1.7387859156658665e-8,-0.0013506622145259056,3.741251692416933e-5,1.7364450412879974e-8,-0.0013502682953014952,3.7455843878886433e-5,1.7401577299135237e-8,-0.0013499170098815133,3.757843888576176e-5,1.749114206947162e-8,-0.0013496352319221148,3.775487577483726e-5,1.7615323797154796e-8,-0.001349440649488639,3.794495617766193e-5,1.7746750386563e-8,-0.0013493347424008647,3.809671819615431e-5,1.7850659872577422e-8,-0.001349295890582923,3.8155046902679206e-5,1.7890635669466993e-8,-0.0013492766959825838,3.807708327935155e-5,1.783874654599152e-8,-0.0013492110735612106,3.785133903622449e-5,1.768815260529381e-8,-0.001349033855976422,3.751108479626499e-5,1.7461969909133265e-8,-0.0013487069795288752,3.71303580506857e-5,1.7210535401503925e-8,-0.0013482379377772538,3.67993136705882e-5,1.6994726215196717e-8,-0.001347678208637462,3.659042766946213e-5,1.6863046213677397e-8,-0.0013471024913643088,3.6534216931232214e-5,1.6835204236635903e-8,-0.0013465817610538201,3.661531138061667e-5,1.6899639174625656e-8,-0.0013461637307948591,3.67855921967629e-5,1.702274689456107e-8,-0.0013458659040266978,3.698362593147122e-5,1.716236688366139e-8,-0.0013456786096961092,3.715150481672573e-5,1.7279353443021854e-8,-0.0013455729607305563,3.7245547989349e-5,1.7344764650321256e-8,-0.0013455098437546319,3.724113849988471e-5,1.7342896275356996e-8,-0.0013454479816408654,3.713333537401668e-5,1.7271384802952297e-8,-0.0013453504339775678,3.693472237791048e-5,1.7139497446621565e-8,-0.0013451893773290563,3.66714125531848e-5,1.69653115025737e-8,-0.001344949053305138,3.6377906041960216e-5,1.677225728879621e-8,-0.0013446268270830342,3.6091487557028635e-5,1.658542561013439e-8,-0.0013442324429496473,3.584683872566402e-5,1.642801203779135e-8,-0.0013437858000863968,3.567151610583387e-5,1.6318286339007397e-8,-0.0013433138090793446,3.5582718952246464e-5,1.6267381969080993e-8,-0.0013428468552322856,3.5585336135370534e-5,1.6277959343087233e-8,-0.0013424151246411572,3.567102736278635e-5,1.6343650045473796e-8,-0.0013420448217986622,3.581815905326798e-5,1.6449191850671144e-8,-0.0013417540843769415,3.5992621037087415e-5,1.6571231526067074e-8,-0.0013415482762467888,3.6150103914661236e-5,1.6680073457991738e-8,-0.0013414149103668283,3.624123041516313e-5,1.6743183400191018e-8,-0.0013413198868642417,3.622112481074397e-5,1.6731446982117347e-8,-0.00134120845189209,3.606369069563323e-5,1.662842184473864e-8,-0.0013410151654745213,3.577732086480887e-5,1.644054815603201e-8,-0.0013406846000409867,3.5413460407537786e-5,1.6202722853245097e-8,-0.0013401964609990825,3.505743910760731e-5,1.597215167212452e-8,-0.001339580425708274,3.479926151774641e-5,1.5808809507200667e-8,-0.0013389081886428587,3.4697739505285814e-5,1.5751417893888703e-8,-0.0013382653066040724,3.475913717423584e-5,1.5803205836748927e-8,-0.0013377198411129057,3.494136132320177e-5,1.593492656261746e-8,-0.0013373043650111932,3.517656334298736e-5,1.610030358752367e-8,-0.001337015439682562,3.5396327466275055e-5,1.6253166407767607e-8,-0.0013368239990238354,3.5548502293726705e-5,1.6358821610884963e-8,-0.0013366882809558854,3.560374914900627e-5,1.639832805964985e-8,-0.001336564467218173,3.55549452941308e-5,1.636783817572624e-8,-0.001336413776905145,3.541320348266067e-5,1.627564290331889e-8,-0.0013362066349266496,3.520293709170862e-5,1.6138666700184393e-8,-0.0013359249232274644,3.4956909941254224e-5,1.5979096337218204e-8,-0.001335562924155841,3.4711420854670354e-5,1.582122151313896e-8,-0.0013351271377057652,3.4501629448674695e-5,1.568840971408109e-8,-0.0013346349529169633,3.435711455278746e-5,1.5600199028356044e-8,-0.0013341121333342526,3.429797828590833e-5,1.5569686455152157e-8,-0.0013335892705868344,3.433199575848479e-5,1.5601580165570786e-8,-0.0013330975858291425,3.4453164621146024e-5,1.5691228226897585e-8,-0.0013326644706178011,3.464175000353744e-5,1.5824749599259128e-8,-0.0013323090899715643,3.4865868704546576e-5,1.5980301002253026e-8,-0.001332038338966892,3.508467362609938e-5,1.6130447896255385e-8,-0.0013318434113794785,3.525330077002587e-5,1.6245627748951825e-8,-0.0013316975322695253,3.5330051294305984e-5,1.629891139049964e-8,-0.001331556286785722,3.528619312938393e-5,1.6272293810409786e-8,-0.0013313628892067757,3.5117465072944155e-5,1.6163989779264318e-8,-0.0013310606240185723,3.485372509921916e-5,1.5994525193249938e-8,-0.001330612092239529,3.4560074860567006e-5,1.5807325007709106e-8,-0.0013300188819388664,3.432251695865668e-5,1.5659203035008636e-8,-0.0013293294672254824,3.4218415257834896e-5,1.5600856484188996e-8,-0.0013286258106659328,3.4284781738908746e-5,1.565595284409048e-8,-0.0013279927272366466,3.45034557497139e-5,1.5811466092247673e-8,-0.001327487245815521,3.481218305757908e-5,1.6025241776050835e-8,-0.0013271243297834456,3.5132573390047304e-5,1.6244759544611692e-8,-0.0013268819281744182,3.539726971412401e-5,1.6425301589944376e-8,-0.0013267165573191055,3.556482846968116e-5,1.6539830337867083e-8,-0.0013265791200544272,3.5621827657685704e-5,1.65802341767557e-8,-0.0013264257556151145,3.5577571686315266e-5,1.6553560503722946e-8,-0.0013262233226004878,3.5456646993180176e-5,1.6476832678516347e-8,-0.0013259512363842734,3.529220284957108e-5,1.637245418374682e-8,-0.001325601512184336,3.512067149730725e-5,1.626470172512635e-8,-0.0013251780734556981,3.497753493359976e-5,1.6177001160356565e-8,-0.0013246955832461917,3.4893601735033355e-5,1.6129548566876927e-8,-0.0013241776457557696,3.48914999010468e-5,1.6137021291032074e-8,-0.001323654076904617,3.4982458503977466e-5,1.6206426975212878e-8,-0.001323157041794967,3.5163901163299414e-5,1.633548781930137e-8,-0.0013227162371304468,3.5418581049974166e-5,1.651211397605036e-8,-0.001322353687199993,3.571581068946272e-5,1.6715367990939248e-8,-0.0013220789387146789,3.601504810064792e-5,1.6918061706656873e-8,-0.0013218855424575772,3.627176280866538e-5,1.7090842854582353e-8,-0.0013217496703317407,3.644508967537851e-5,1.720733490398808e-8,-0.0013216315923340778,3.65064979819164e-5,1.7249749168249524e-8,-0.0013214807524120568,3.644842841848515e-5,1.7214291107647377e-8,-0.0013212451222116156,3.6291038759722376e-5,1.711523751546295e-8,-0.0013208846495029996,3.60839095678969e-5,1.6985751198887913e-8,-0.0013203863550454039,3.5898854230369885e-5,1.6873006904681262e-8,-0.0013197752519399667,3.581166273538234e-5,1.682623169287687e-8,-0.0013191132255276836,3.587626651540886e-5,1.6879911863534467e-8,-0.0013184815790603076,3.610241659999537e-5,1.7039381967031404e-8,-0.0013179528033887597,3.645020189165614e-5,1.7277474450637978e-8,-0.0013175658344386403,3.684610326885073e-5,1.7545256584706124e-8,-0.0013173174371027003,3.721139594219093e-5,1.7790800848516823e-8,-0.0013171711591591722,3.7487162393554715e-5,1.797564920289059e-8,-0.0013170751083556422,3.764583818573417e-5,1.8082333520008842e-8,-0.0013169783809209286,3.768958704883004e-5,1.8113134460390254e-8,-0.001316841058972772,3.764169488899078e-5,1.8084193168326844e-8,-0.001316637900558923,3.7536910324560003e-5,1.8018963620713753e-8,-0.0013163581227781179,3.74137736701684e-5,1.7943079177386814e-8,-0.0013160036253867771,3.730942928907114e-5,1.7880963442603383e-8,-0.0013155869869080489,3.725613444561233e-5,1.7853614375631473e-8,-0.0013151295414577234,3.7278505354125304e-5,1.787686235519351e-8,-0.0013146592408699255,3.7390914042800114e-5,1.7959684433815758e-8,-0.0013142077768859126,3.759497729467439e-5,1.8102557862085905e-8,-0.0013138065061219567,3.787768395385184e-5,1.829626511989185e-8,-0.0013134811566555547,3.821118959139425e-5,1.852186865762894e-8,-0.0013132460042088404,3.855535190871637e-5,1.8752556581883928e-8,-0.0013130988888896927,3.886358760935178e-5,1.895768052314085e-8,-0.0013130187880983333,3.9091668685304416e-5,1.9108648012779857e-8,-0.0013129673945528086,3.920788927157972e-5,1.9185567048502283e-8,-0.001312895240496861,3.920217618512819e-5,1.918302681873874e-8,-0.001312751730863596,3.9091588709663886e-5,1.911338071545348e-8,-0.0013124973851131767,3.892009752658912e-5,1.9006243630838438e-8,-0.0013121156803837925,3.875132474201483e-5,1.8903462645629538e-8,-0.0013116210944716046,3.865427657691962e-5,1.884969011796569e-8,-0.0013110596023093825,3.868436788208665e-5,1.8880112079492577e-8,-0.0013104989534392041,3.8865074759319735e-5,1.9008779400316116e-8,-0.0013100096397849926,3.917783531577995e-5,1.9222392671536106e-8,-0.001309642829716195,3.9566441267412706e-5,1.9483464693369486e-8,-0.0013094148936341004,3.995569860122959e-5,1.974262974906959e-8,-0.0013093055437344233,4.027611457180882e-5,1.9954738594955732e-8,-0.001309269039156997,4.048329051082387e-5,2.0091415425642147e-8,-0.0013092512762208149,4.0565121305456764e-5,2.0145608286767512e-8,-0.001309204630257768,4.053753924890765e-5,2.012862157893427e-8,-0.0013090962818779034,4.043433842048082e-5,2.0063277178960123e-8,-0.0013089102465701447,4.029664197237238e-5,1.997689758602726e-8,-0.0013086455823332675,4.0164989376255385e-5,1.9896096938048397e-8,-0.0013083132488531785,4.0074480065967925e-5,1.984365052124649e-8,-0.0013079330725531747,4.005204604799757e-5,1.9836785608003348e-8,-0.0013075312073712847,4.011466197911539e-5,1.9886069633644747e-8,-0.001307137746835643,4.026767679567208e-5,1.9994358344677895e-8,-0.0013067837953618638,4.0503094151805196e-5,2.01557240211866e-8,-0.001306497350497541,4.079836018355392e-5,2.0354765247593485e-8,-0.0013062978171497592,4.111688713507512e-5,2.0567103458832157e-8,-0.0013061898867567608,4.141184316071489e-5,2.076202115095573e-8,-0.0013061586859034154,4.163420723263055e-5,2.0907824211338083e-8,-0.001306168888940125,4.174442656977121e-5,2.097944515467198e-8,-0.0013061699709006594,4.1724685296821706e-5,2.0966324787464215e-8,-0.0013061076049721034,4.1587191985985025e-5,2.0877595932876798e-8,-0.0013059383156452651,4.137443165518275e-5,2.0741958445759947e-8,-0.0013056425938951044,4.115010375057371e-5,2.060146632532868e-8,-0.0013052319085176942,4.098302152604378e-5,2.0500810520890916e-8,-0.001304747148248314,4.092874780265062e-5,2.0475326047336553e-8,-0.0013042487662768554,4.101434730128175e-5,2.0541288681716853e-8,-0.0013038012226081626,4.1230688242288156e-5,2.0691321547541416e-8,-0.0013034559571685768,4.153480564579156e-5,2.0896370294196396e-8,-0.0013032379646765557,4.186207205593781e-5,2.111390047210881e-8,-0.0013031404096450596,4.214456168589532e-5,2.1299885763046148e-8,-0.0013031290193728036,4.232935992827865e-5,2.1420571741681682e-8,-0.0013031540596875038,4.23905340975399e-5,2.1460031357444974e-8,-0.0013031647722243158,4.233156537247573e-5,2.1421513055924925e-8,-0.0013031210288061141,4.217942322107834e-5,2.132339132411696e-8,-0.0013029993698451085,4.19743987627646e-5,2.1192421768565933e-8,-0.0013027936105723457,4.175999540557228e-5,2.1057114924379603e-8,-0.0013025120277159838,4.157542941681899e-5,2.094288448231488e-8,-0.0013021733414850117,4.145125605159004e-5,2.0869268627645957e-8,-0.001301802931785606,4.1407329810052036e-5,2.08486684580033e-8,-0.0013014297605223135,4.1451908374797514e-5,2.0885812894513818e-8,-0.001301083724057496,4.158098532303902e-5,2.097737756976615e-8,-0.0013007927456693646,4.177756479690925e-5,2.1111607157953057e-8,-0.0013005788777021498,4.201134797256275e-5,2.126826146359011e-8,-0.0013004531008736547,4.224008178027535e-5,2.1419659516259312e-8,-0.0013004095063849311,4.241435176037529e-5,2.1533904163364884e-8,-0.001300421059288809,4.248719684661846e-5,2.1581120022324038e-8,-0.0013004404355749176,4.2427837091928494e-5,2.154224223145945e-8,-0.0013004089398097013,4.223528221728633e-5,2.1417667998620045e-8,-0.001300273032166463,4.194483810430357e-5,2.1231287584532605e-8,-0.0013000028044365167,4.162178844603964e-5,2.1026176296912758e-8,-0.0012996038559836165,4.13426408192214e-5,2.0852193780685487e-8,-0.0012991166051237216,4.117141562699113e-5,2.075042537733095e-8,-0.0012986036072820868,4.11409724530234e-5,2.0741091404972655e-8,-0.00129813093698426,4.1245817779201306e-5,2.0819172199719124e-8,-0.0012977508063343123,4.144686388868798e-5,2.095795336418839e-8,-0.001297490230837804,4.168441992169005e-5,2.1117875653405696e-8,-0.0012973474395914163,4.1894427134593377e-5,2.1257279803455193e-8,-0.001297295439153459,4.2023506126082147e-5,2.1342116234441085e-8,-0.001297290782074011,4.2039616230905444e-5,2.135260920238544e-8,-0.0012972848326498105,4.193654440887813e-5,2.1285844007437435e-8,-0.0012972345579685953,4.173200901824314e-5,2.1154255926592056e-8,-0.0012971103085002236,4.146082617494708e-5,2.0981029477300475e-8,-0.0012968992859630204,4.116578087591e-5,2.0794135694006106e-8,-0.0012966049398672192,4.0888917956883526e-5,2.062073980233298e-8,-0.0012962436295018886,4.066503581169255e-5,2.048307865442981e-8,-0.0012958401889284622,4.051793533458231e-5,2.039611146731544e-8,-0.0012954236654983476,4.045897416475759e-5,2.036662737785466e-8,-0.001295023782419015,4.0486965044612695e-5,2.039320583348045e-8,-0.0012946679941183582,4.058855472756083e-5,2.04665171281949e-8,-0.001294378612670228,4.0738730472340536e-5,2.056977240662803e-8,-0.0012941693814056939,4.0901748941956324e-5,2.0679500965812705e-8,-0.0012940411451917645,4.1033526442706687e-5,2.0767257575044023e-8,-0.0012939771911233996,4.108715604463087e-5,2.0803239961642293e-8,-0.0012939403977219072,4.102298074380838e-5,2.0762689854466084e-8,-0.0012938758566673656,4.082263405184535e-5,2.0634736809638925e-8,-0.0012937224662835883,4.050242606522025e-5,2.04308134609819e-8,-0.0012934330065076513,4.0117530900919203e-5,2.0187204767311665e-8,-0.00129299496709262,3.974958987689844e-5,1.995693470396842e-8,-0.0012924399284722028,3.947942732467301e-5,1.97920270271869e-8,-0.0012918341252307118,3.935776650460108e-5,1.9724509449887175e-8,-0.0012912547182092019,3.938930857514804e-5,1.97562193674393e-8,-0.001290764690673244,3.9536318616132313E-05,1.9861433777957795e-8,-0.0012903973760540492,3.973598386964465e-5,1.999850762256767e-8,-0.001290153512484858,3.992107605315687e-5,2.0123564778314824e-8,-0.0012900074223779303,4.003630507822636e-5,2.0201177921784495e-8,-0.0012899173653183767,4.0047651738485965e-5,2.0210256251888748e-8,-0.001289836338458807,3.9945200597234635e-5,2.0145554957262593e-8,-0.0012897212998023743,3.9741174964429464E-05,2.0016045030261284e-8,-0.0012895399514628268,3.946480109359224e-5,1.984132894245313e-8,-0.001289274703109967,3.915530609271689e-5,1.9647018285539673e-8,-0.0012889236983102278,3.885435148165427e-5,1.9459904493796818e-8,-0.0012884992067051736,3.8599204907948656e-5,1.9303690980758627e-8,-0.0012880241094008248,3.841760919532316e-5,1.919581678542283e-8,-0.0012875274288492854,3.832480054634275e-5,1.9145604099175267e-8,-0.0012870398381923532,3.8322598965528926e-5,1.9153682307136752e-8,-0.001286589752637628,3.840001624621069e-5,1.921238243257403e-8,-0.001286200095515784,3.853470660398659e-5,1.9306731004946026e-8,-0.0012858854886256378,3.86948874374072e-5,1.9415831342562718e-8,-0.001285649499877651,3.8841815281819475e-5,1.9514646939711093e-8,-0.0012854817125208561,3.893347048250045e-5,1.9576511347082232e-8,-0.0012853550995704204,3.893063802338816e-5,1.957702413451274e-8,-0.0012852255062502298,3.880636244566652e-5,1.9499927026725242e-8,-0.0012850362965845573,3.855807120421911e-5,1.9344575221523857e-8,-0.0012847311762881526,3.821819412132976e-5,1.9132471126811794e-8,-0.0012842747415224602,3.785512960173213e-5,1.8907745295762985e-8,-0.0012836727720354248,3.755682902569352e-5,1.8726620068053298e-8,-0.0012829784848701268,3.739895052372073e-5,1.863702330001396e-8,-0.0012822761530718633,3.7413406126274804e-5,1.86584821716486e-8,-0.0012816490975353263,3.7576622715437714e-5,1.8774747376732938e-8,-0.0012811506382189232,3.782352818577273e-5,1.8943030423325083e-8,-0.001280792436308164,3.8075703038799706e-5,1.9112370169816575e-8,-0.0012805506354879592,3.8266803390174146e-5,1.924016463208864e-8,-0.001280380738437669,3.835616719714332e-5,1.9300925603521577e-8,-0.0012802324630361284,3.833113206068958e-5,1.9287565495948508e-8,-0.0012800605197691444,3.820264194508425e-5,1.920823586964087e-8,-0.0012798308757682997,3.799830026151315e-5,1.9081529959526996e-8,-0.001279523586304221,3.775524645033635e-5,1.8931707405877297e-8,-0.0012791333774328948,3.751366233471992e-5,1.8784512978711527e-8,-0.0012786686262423056,3.731102412992637e-5,1.866362274807214e-8,-0.001278148993439162,3.717726455085912e-5,1.858772206348688e-8,-0.001277601942460214,3.7131143654458575e-5,1.8568311190285357e-8,-0.001277058498171101,3.717813474632904e-5,1.860839408251708e-8,-0.0012765487555219646,3.7310038774287194e-5,1.8702216632045073e-8,-0.0012760977084929888,3.750624505138479e-5,1.8836075192321827e-8,-0.0012757217769639956,3.773626898786361e-5,1.8990020553034313e-8,-0.0012754261510291623,3.796321117292025e-5,1.9140234836138346e-8,-0.0012752029370164196,3.814797161205375e-5,1.92619071682081e-8,-0.0012750300928311285,3.825433491231409e-5,1.9332571089335484e-8,-0.0012748715426223701,3.825537269909844e-5,1.933609650898041e-8,-0.0012746797344262949,3.814138317428424e-5,1.926746861138821e-8,-0.0012744025805871105,3.7928235466975745e-5,1.9137729803848053e-8,-0.0012739963106319753,3.76626292022581e-5,1.897701998328715e-8,-0.0012734431088101711,3.741827327675125e-5,1.8832033009774208e-8,-0.0012727667106644165,3.7277449564075795e-5,1.875439150470419e-8,-0.0012720341118107905,3.730026444876515e-5,1.8781318347441222e-8,-0.0012713356167803904,3.749648014380484e-5,1.8917966913490027e-8,-0.0012707503868975216,3.7818967997163176e-5,1.913345694695096e-8,-0.0012703173742792029,3.818460780063819e-5,1.937431495323869e-8,-0.0012700276843224567,3.850870965846999e-5,1.958648929745315e-8,-0.0012698377681131297,3.873234768920965e-5,1.9732821725893906e-8,-0.0012696906468235986,3.883226562099348e-5,1.9799315570624595e-8,-0.0012695333572401244,3.881646913695297e-5,1.9792123553590806e-8,-0.0012693264687479164,3.8713735516634753e-5,1.9730552119127156e-8,-0.0012690470332673868,3.856312435152506e-5,1.9640099461015192e-8,-0.0012686878191508922,3.840594630060172e-5,1.9547213377593627E-08,-0.0012682550883168057,3.8280251328920796e-5,1.9475836828836382e-8,-0.0012677659821863632,3.8216972883763434e-5,1.9445125675948716e-8,-0.0012672456478990807,3.823702573972687e-5,1.9467782522189376e-8,-0.0012667239315270157,3.834915450270301e-5,1.954879813655444e-8,-0.0012662315252516165,3.8548712365379255e-5,1.9684700622829385e-8,-0.0012657956741872701,3.881779556352557e-5,1.9863631777743846E-08,-0.0012654358895180374,3.9127111421915734e-5,2.0066562567351532e-8,-0.0012651603219259492,3.943960149495701e-5,2.0269701099621573e-8,-0.0012649633922718845,3.97155188282893e-5,2.044787773900412e-8,-0.0012648251191054683,3.991847051986315e-5,2.0578512385264233e-8,-0.0012647124020133814,4.002181530954318e-5,2.0645672703362345e-8,-0.0012645824423290432,4.0014854271467307e-5,2.0643806946391964e-8,-0.001264388687972703,3.99081829052254e-5,2.0580779083148893e-8,-0.001264089784429187,3.973682895821391e-5,2.0479457047750557e-8,-0.0012636612589438738,3.955863316563664e-5,2.0376410433125773e-8,-0.001263107692385635,3.944474943991824e-5,2.031587286383709e-8,-0.0012624700916807313,3.9460627398303827e-5,2.0337965483915675e-8,-0.0012618210646095807,3.9641206055020366e-5,2.0463436185732815e-8,-0.0012612438544760331,3.997186027742948e-5,2.0682014530823786e-8,-0.0012608019231333165,4.03889145758586e-5,2.095293879084057e-8,-0.001260515403514942,4.080331509500292e-5,2.1219900523197546e-8,-0.0012603580066779792,4.1134769690694334e-5,2.143251915066937e-8,-0.0012602736669382706,4.133709908764442e-5,2.156229199212994e-8,-0.0012602001674625438,4.140455790552599e-5,2.1606510199617428e-8,-0.0012600871138250655,4.13627425982667e-5,2.1582334626039323e-8,-0.0012599037723692542,4.125395520943257e-5,2.1517286350261602e-8,-0.001259639059405887,4.112448324373034e-5,2.1440993984703374e-8,-0.0012592978126801822,4.1016374406620794e-5,2.1379934028673295e-8,-0.0012588963729254486,4.096310517242658e-5,2.1354792900167895e-8,-0.0012584587728795547,4.0987516848376617e-5,2.13793433801656e-8,-0.0012580135545439072,4.110070043061135e-5,2.145990419081642e-8,-0.001257590729174874,4.130124851631068e-5,2.1594960240885516e-8,-0.0012572184068382751,4.1574933436424366e-5,2.1774990856265992e-8,-0.0012569188758809874,4.1895365866185666e-5,2.198290829395347e-8,-0.0012567044061644376,4.2226400284913416e-5,2.2195638913385633e-8,-0.0012565736154616957,4.252676325544257e-5,2.2387154231576545e-8,-0.0012565095347204847,4.275674007069808e-5,2.2532803702984725e-8,-0.001256480413149145,4.2886024148070224e-5,2.261430451888185e-8,-0.0012564438185601924,4.290116127527485e-5,2.262433259898739e-8,-0.0012563537977570908,4.2810748157597085e-5,2.256953566001536e-8,-0.0012561701266762151,4.264685474788228e-5,2.2471059965738813e-8,-0.001255868216795208,4.246161786198218e-5,2.2362052663867524e-8,-0.00125544775922725,4.2318356345838705e-5,2.2281882031267264e-8,-0.0012549374800614776,4.22774052795677e-5,2.226731056823057e-8,-0.0012543928884045982,4.237873413357958e-5,2.2341924508824796e-8,-0.0012538846382849707,4.262624486160383e-5,2.2506767656905367e-8,-0.0012534783871114205,4.2981135163356555e-5,2.2736596297391955e-8,-0.0012532126561929605,4.3370682260662835e-5,2.2985558206766268e-8,-0.0012530852538086268,4.3711798272939364e-5,2.3201876301994538e-8,-0.0012530559769681426,4.393918260812166e-5,2.3345305957001018e-8,-0.0012530638749481211,4.4024288239515566e-5,2.3398863033464984e-8,-0.0012530490271740113,4.3977672971138264e-5,2.3370162208987406e-8,-0.0012529684380834512,4.383778762251783e-5,2.3284209882351702e-8,-0.0012528018888721966,4.365500575092296e-5,2.317318439808869e-8,-0.001252549834499636,4.34782797526141e-5,2.3067930135885604e-8,-0.0012522276998212633,4.334721846604825e-5,2.2992993745712078e-8,-0.0012518599576908918,4.3288848879161106e-5,2.2964722563118695e-8,-0.0012514754687159037,4.331706400168195e-5,2.299109201556656e-8,-0.0012511041057524219,4.343305080609753e-5,2.3072114029472213e-8,-0.0012507740089569535,4.362583037811218e-5,2.3200256491004583e-8,-0.001250508740600051,4.387284960062057e-5,2.336086149484763e-8,-0.0012503238892904954,4.414121645053139e-5,2.353297738143989e-8,-0.0012502232383400124,4.439057639247119e-5,2.3691245534858623e-8,-0.0012501953913701654,4.4578519987771495e-5,2.380937649691334e-8,-0.0012502124466062187,4.466862199857083e-5,2.386522426953918e-8,-0.0012502324655709908,4.463985453790723e-5,2.38466230351851e-8,-0.0012502066668911443,4.449465916127025e-5,2.3756267679178933e-8,-0.0012500904907569506,4.4262301368479445e-5,2.3613540810084584e-8,-0.0012498556988007213,4.3995081325114545e-5,2.3451824758728542e-8,-0.0012494996714732477,4.375734202677175e-5,2.3311357072906797e-8,-0.0012490486343557058,4.360978994232384e-5,2.3229326501100328e-8,-0.0012485532799728183,4.359328030608507e-5,2.3229896399582473e-8,-0.001248077323762565,4.3716595091107244e-5,2.331696995481848e-8,-0.0012476814413027032,4.395208150458591e-5,2.3471965518926978e-8,-0.0012474066926813987,4.424143994728845e-5,2.3657815110514976e-8,-0.001247262641945451,4.4511219507711075e-5,2.3828756487483382e-8,-0.0012472248755787513,4.469382181566311e-5,2.3943301525145774e-8,-0.0012472435198697964,4.474664503382738e-5,2.3975912178036033e-8,-0.001247259506344416,4.466205719091103e-5,2.3922954185837815e-8,-0.0012472217473297215,4.446513739596869e-5,2.3801066644975018e-8,-0.0012470987187946957,4.420202198632878e-5,2.3639715221988536e-8,-0.0012468817729012385,4.392519162060175e-5,2.3471897838937096e-8,-0.0012465817445801888,4.368137901444268e-5,2.3326586331146017e-8,-0.0012462224178688196,4.3504603084736476e-5,2.3224476425034505e-8,-0.0012458339394664786,4.3413868956406416e-5,2.317671064191687e-8,-0.0012454477067935401,4.341371210977519e-5,2.318536732956266e-8,-0.001245092875503066,4.349582099726864e-5,2.3244572533892913e-8,-0.001244793861427751,4.364070138997217e-5,2.334159650208275e-8,-0.0012445680145702208,4.381919330597018e-5,2.3457855646996076e-8,-0.0012444228840729505,4.399437802864513e-5,2.35701808197754e-8,-0.0012443530695937283,4.4124913953168016e-5,2.3652983748257247e-8,-0.0012443375127046577,4.4170905959475854e-5,2.36819578137255e-8,-0.001244339050323051,4.410267397222573e-5,2.3639490947179656e-8,-0.0012443085409083597,4.391102098493597e-5,2.352090842966235e-8,-0.0012441949428326805,4.361529559426061e-5,2.3339274923289387e-8,-0.0012439599109511782,4.3264248999509696e-5,2.3125688607710063e-8,-0.0012435919172900148,4.292632418466513e-5,2.2923014333021052e-8,-0.0012431132807987672,4.2670863701421686e-5,2.2774032688701237e-8,-0.0012425758812366372,4.2547004754978845e-5,2.2708303443627026e-8,-0.001242046681417017,4.256875652229016e-5,2.273310098467663e-8,-0.0012415887940260054,4.2711639999148036e-5,2.2831736522023835e-8,-0.0012412448848635037,4.292095325018456e-5,2.2969151481539737e-8,-0.0012410276081992223,4.312771971755229e-5,2.310214052847942e-8,-0.0012409187405165644,4.3266945611404475e-5,2.3190749585606232e-8,-0.001240876179833917,4.329319757536537e-5,2.3207763152117412e-8,-0.0012408462077011405,4.3189822733976015e-5,2.314410023143346e-8,-0.001240777320283415,4.297005585476495e-5,2.3009154427995445e-8,-0.0012406317702474867,4.267059575677806e-5,2.2826536022629307e-8,-0.0012403919863629748,4.234042689642282e-5,2.26269926746929e-8,-0.0012400610415698615,4.2028799199970334e-5,2.2440951581700866e-8,-0.0012396584394359302,4.1775753442481906e-5,2.229275950494211e-8,-0.001239213642370792,4.160681735016447e-5,2.2197568374873713e-8,-0.001238759622997134,4.153164993599383e-5,2.21606545642313e-8,-0.0012383277669794706,4.154532626799311e-5,2.217831390256571e-8,-0.0012379443945620973,4.163077699858882e-5,2.223941511624005e-8,-0.0012376284470835346,4.17613701854737e-5,2.2327028899360917e-8,-0.0012373896362990083,4.190335157601163e-5,2.2420000164546246e-8,-0.001237226498897373,4.201852746249583e-5,2.2494706995441768e-8,-0.0012371242703294284,4.2068080603654364e-5,2.2527507113518604e-8,-0.0012370533291036505,4.201858038815096e-5,2.249845761104157e-8,-0.001236970018387961,4.18506164139745e-5,2.239652980094868e-8,-0.0012368223070618539,4.1568658962976625e-5,2.2225481522563593e-8,-0.0012365619116138991,4.120801712255095e-5,2.2007914498811416e-8,-0.0012361611416612153,4.083280694899721e-5,2.1783828379414836e-8,-0.001235627714205694,4.052073423663693e-5,2.1601104914924004e-8,-0.0012350082702082678,4.0337708897671565e-5,2.149979267276202e-8,-0.0012343757042772982,4.031356310619789e-5,2.1497194944095898e-8,-0.0012338050721628741,4.043155020851939e-5,2.1581628688838263e-8,-0.001233349834870539,4.063630930677973e-5,2.1717708568439122e-8,-0.0012330286624901638,4.0854394434720134e-5,2.1859385815913868e-8,-0.001232825543872876,4.1016780529853954e-5,2.1964061307544442e-8,-0.0012326994687433222,4.1075328421856106e-5,2.20027389188401e-8,-0.001232597984556413,4.1010377237678075e-5,2.196447509602127e-8,-0.0012324701701386766,4.083038763729262e-5,2.1855784862297425e-8,-0.0012322765508626758,4.0566046838917725e-5,2.1696628675659008e-8,-0.0012319949600370919,4.026131873137667e-5,2.151464212796346e-8,-0.0012316222127142264,3.996359807215556e-5,2.1339009160521587e-8,-0.0012311720726316338,3.971485937041825e-5,2.1195127901571155e-8,-0.001230670573013148,3.954524762662862e-5,2.1100877649413684e-8,-0.0012301501032358588,3.946977464651513e-5,2.1064790494578928e-8,-0.0012296436170803153,3.9487963552311815e-5,2.108595595697376e-8,-0.0012291799191749856,3.958568949318732e-5,2.1155185653788322e-8,-0.0012287803742935324,3.973818698101526e-5,2.1256853700710867e-8,-0.001228456809047748,3.991337515449703e-5,2.1370956879184295e-8,-0.0012282101383242943,4.007518264093764e-5,2.1475236423481508e-8,-0.0012280293349605576,4.0187061533075706e-5,2.1547450730279715e-8,-0.0012278906587169442,4.0216265386799466e-5,2.1568075140606426e-8,-0.001227757733952711,4.0139660658889306e-5,2.152381649965794e-8,-0.001227584040852701,3.995131561109933e-5,2.141206714008766e-8,-0.0012273199557392438,3.9670437193476325e-5,2.1245481814044025e-8,-0.0012269256617048919,3.934568255249432e-5,2.1054357934419238e-8,-0.001226387988600605,3.9049849819512705e-5,2.088324803621528e-8,-0.0012257337792927004,3.886073981427376e-5,2.077925099285005e-8,-0.001225029176986983,3.8832259555441034e-5,2.0774438780732722e-8,-0.0012243597146831978,3.897014608672804e-5,2.087118383561181e-8,-0.001223799174185458,3.922790438935534e-5,2.1039910874573118e-8,-0.0012233842237546633,3.952612757691313e-5,2.123118242844517e-8,-0.001223107335217403,3.9782946538246464e-5,2.139456934167179e-8,-0.0012229273220081428,3.993907780657064e-5,2.1494114292522025e-8,-0.001222787747765819,3.996887325239496e-5,2.1515041468992588e-8,-0.0012226337779387417,3.987869845089384e-5,2.1462498186417195e-8,-0.0012224231672501788,3.9698352797038394e-5,2.135591073507243e-8,-0.001222131287192134,3.94706075535104e-5,2.1222223071618265e-8,-0.0012217517999359017,3.924165377627985e-5,2.1089871554669243e-8,-0.0012212945943425393,3.905340977839935e-5,2.0984126176207197e-8,-0.0012207820344604945,3.8937868022761935e-5,2.0923847255017387e-8,-0.0012202442110411317,3.891356765329418e-5,2.0919587003276005e-8,-0.0012197138193019857,3.898419985757117e-5,2.0972925719657997e-8,-0.0012192212575737466,3.913919956043711e-5,2.1076902982625034e-8,-0.0012187904880345962,3.9356035455342134e-5,2.1217396945348294e-8,-0.001218436045934365,3.960367962125383e-5,2.1375213106972125e-8,-0.00121816125440768,3.9846620466140236e-5,2.1528562534707792e-8,-0.0012179574526165029,4.004903399140244e-5,2.165570613461297e-8,-0.0012178040605647724,4.0179078031285165e-5,2.1737684879836926e-8,-0.001217669467291421,4.021348370120589e-5,2.1761144819940345e-8,-0.0012175131332450237,4.014272182328031e-5,2.1721351070588032e-8,-0.001217289990042325,3.997662689165655e-5,2.162532349147562e-8,-0.0012169585457825218,3.9749007528304005e-5,2.1494297600574853e-8,-0.0012164931847068905,3.9517836703297245e-5,2.136358703249228e-8,-0.0012158983378917096,3.9356329110915773e-5,2.1277115324960004e-8,-0.0012152176438466392,3.9332104759699913E-05,2.127493647531436e-8,-0.001214528479586985,3.947928991470707e-5,2.1376600643727462e-8,-0.0012139177363669367,3.9778311663362115e-5,2.1569180758206194e-8,-0.0012134484162272517,4.015900048914238e-5,2.180933946924029e-8,-0.0012131363021741985,4.052837642935356e-5,2.2040280902569133e-8,-0.0012129497831343294,4.080665261167639e-5,2.2213672818770073e-8,-0.0012128291159121656,4.095125233841926e-5,2.230428148992462e-8,-0.001212710628911282,4.096082546243361e-5,2.2312340353820234e-8,-0.0012125440419645064,4.0864936103992574e-5,2.2257017392004202e-8,-0.0012122998065612566,4.070927702557695e-5,2.2167052698862267e-8,-0.001211969092054254,4.054291261138361e-5,2.207270204179144e-8,-0.0012115601294701622,4.04096307802744e-5,2.2000393390250897e-8,-0.0012110935055385707,4.034290695442932e-5,2.1969806882960636e-8,-0.001210597514896922,4.0363263803066746e-5,2.1992540281281542e-8,-0.001210103734529621,4.047720018381726e-5,2.2071717239761007e-8,-0.0012096427900898502,4.0677387217859966e-5,2.22022573473533e-8,-0.0012092403935229314,4.094407090176532e-5,2.237175494917936e-8,-0.0012089138646246408,4.124773087837309e-5,2.2562054742508997e-8,-0.001208669509931094,4.155294488543246e-5,2.2751575294808985e-8,-0.0012085012343950414,4.1823087158483395e-5,2.2918206290301382e-8,-0.0012083905541689021,4.20253509279023e-5,2.304245225579731e-8,-0.0012083080279941285,4.213570362400274e-5,2.3110503419034456e-8,-0.0012082161114372763,4.2143459888724324e-5,2.3116949841108062e-8,-0.0012080735324706796,4.2055159230597596e-5,2.3066900585552403e-8,-0.001207841533426535,4.189723091537656e-5,2.297724001603263e-8,-0.0012074923383279116,4.171613868549196e-5,2.2876363669851336e-8,-0.001207019283053891,4.157362669411139e-5,2.2801120538061767e-8,-0.0012064459189305014,4.1534493783767346e-5,2.2789521758592166e-8,-0.0012058286024298984,4.164656524482071e-5,2.2869009240234377e-8,-0.0012052460554162017,4.19184087749905e-5,2.3043477200400544e-8,-0.0012047743940046401,4.2307229374438395e-5,2.3286316882609802e-8,-0.0012044572585227797,4.272895499439604e-5,2.3546579750409415e-8,-0.001204288381331058,4.308962693418823e-5,2.376779519103741e-8,-0.0012042176630236775,4.332107815521141e-5,2.390938507508682e-8,-0.0012041753802073372,4.340093341660907e-5,2.3958706867713977e-8,-0.00120409843142815,4.335014281596996e-5,2.3929491995290315e-8,-0.0012039461046134032,4.3216266495513626e-5,2.3851510393422998e-8,-0.0012037033879847602,4.305483536435831e-5,2.3758982441867673e-8,-0.001203376539335363,4.291599030590616e-5,2.368228317218689e-8,-0.00120298613557427,4.283755592078561e-5,2.364376268900528e-8,-0.00120256066507784,4.2842730196850536e-5,2.365655954004364e-8,-0.0012021315896690958,4.29401323049733e-5,2.3724918753893763e-8,-0.0012017295357681474,4.3124764351869256e-5,2.384500705422323e-8,-0.0012013810188355309,4.3379445958178134e-5,2.400589014719376e-8,-0.0012011053959982453,4.367684303151363e-5,2.4190760318183176e-8,-0.0012009120711434845,4.3982426851927915e-5,2.4378686124360526e-8,-0.001200798320179096,4.4258666524398955e-5,2.4547135559008024e-8,-0.0012007483813156155,4.447035815567847e-5,2.4675237441635286e-8,-0.0012007344048218429,4.45904789956841e-5,2.4747373111654414e-8,-0.0012007195396916456,4.4605667043112055E-05,2.475647427648304e-8,-0.0012006630679124704,4.4520319606676825e-5,2.4706349244549025e-8,-0.0012005271433299393,4.435834252862902e-5,2.4612444809990292e-8,-0.0012002844344340745,4.416178423355356e-5,2.450065938028214e-8,-0.0011999257549066937,4.39856842762662e-5,2.4403951995426074e-8,-0.0011994662184232547,4.3888471317910234e-5,2.435650342589999e-8,-0.001198947460842372,4.3917923813857226e-5,2.43855173915342e-8,-0.001198432684587654,4.409482178445086e-5,2.4501884310528832e-8,-0.0011979921332492878,4.43998509534339e-5,2.469284335350204e-8,-0.00119768078598594,4.4772044938470945e-5,2.492136091235081e-8,-0.0011975168459692923,4.512476493318901e-5,2.5135693210741254e-8,-0.00119747326559844,4.53756385533257e-5,2.528710231716238e-8,-0.0011974888649364393,4.547604253094459e-5,2.5347319618533324e-8,-0.0011974930862349044,4.542451975687877e-5,2.5316491092253453e-8,-0.0011974302262546881,4.525952548655604e-5,2.5218719541367353e-8,-0.0011972721728209824,4.5039793706352555e-5,2.509006550443868e-8,-0.0011970183063790395,4.48245155389913e-5,2.4966396418741908e-8,-0.001196687932279745,4.4660550904328974e-5,2.487559033145641e-8,-0.0011963111623788396,4.457738285834904e-5,2.4834604037411308e-8,-0.0011959215436754737,4.45871920184613e-5,2.4849769736576936e-8,-0.0011955511692190652,4.468712727908596e-5,2.4918432734679642e-8,-0.0011952275920148667,4.486193679281758e-5,2.5030717037665653e-8,-0.001194971551310585,4.508639373150898e-5,2.5171047327290172e-8,-0.001194794863314542,4.5327777567539424e-5,2.5319623085596163e-8,-0.001194698341899172,4.554901617532855e-5,2.5454274898017947e-8,-0.0011946701458042791,4.5713081220382614e-5,2.555310251854561e-8,-0.0011946854231435274,4.5788787339589856e-5,2.5597980508971714e-8,-0.0011947082714650892,4.575734391539159e-5,2.5578493326096783e-8,-0.0011946966519119835,4.561819225984636e-5,2.5495358009355167e-8,-0.0011946100335258174,4.539218001394653e-5,2.536213072497259e-8,-0.0011944184455051122,4.512031317912244e-5,2.5204163446924352e-8,-0.0011941107653257608,4.485734384224478e-5,2.5054453515492776e-8,-0.0011936999083235803,4.466088478508766e-5,2.4946937452023213e-8,-0.0011932230592092813,4.457796164782929e-5,2.4908499047797812e-8,-0.001192735881163747,4.463180004644925e-5,2.4951402925395812e-8,-0.0011923007264965835,4.481237616870531e-5,2.506816181625162e-8,-0.001191970530689217,4.507461064861558e-5,2.523093820360962e-8,-0.0011917724140860335,4.5347229185161454e-5,2.5397066980609755e-8,-0.0011916972032087528,4.5552150560644986e-5,2.552053976524705e-8,-0.0011917008223672682,4.5628853227269786e-5,2.55662585680403e-8,-0.001191718836140086,4.55536438037028e-5,2.5521241678494558e-8,-0.0011916882079971906,4.534483429463704e-5,2.5397506076360736e-8,-0.0011915661764232738,4.50523352358896e-5,2.52256885925892e-8,-0.0011913387387294007,4.47385355732246e-5,2.504346293478613e-8,-0.0011910180546011024,4.446011631860293e-5,2.4884567965759092e-8,-0.0011906333941084394,4.425692301702829e-5,2.4772196056940904e-8,-0.0011902211184680275,4.414860982271032e-5,2.4717178867113547e-8,-0.0011898169790774708,4.4136455261757274e-5,2.4719329452121577e-8,-0.0011894514485054754,4.420725000515381e-5,2.4769977404092045e-8,-0.0011891472970888017,4.43372203473938e-5,2.4854416724191735e-8,-0.0011889182539292847,4.449528806773453e-5,2.4953861754942293e-8,-0.0011887678749798924,4.464592966057503e-5,2.504712463555681e-8,-0.0011886883030289687,4.4752380198887884e-5,2.5112510632544797e-8,-0.0011886592771498138,4.478098874931083e-5,2.5130424449580425e-8,-0.0011886483992062577,4.4707117457076194e-5,2.5086889829383304e-8,-0.0011886140329250244,4.4522010180780784e-5,2.4977592415005244e-8,-0.0011885119078034235,4.4238713784012066e-5,2.4811273251672534e-8,-0.0011883051844906306,4.3894051675223444e-5,2.461069041472246e-8,-0.0011879756183442926,4.354386275480496e-5,2.4409531085824178e-8,-0.0011875317045031677,4.3250911754683235e-5,2.4244998266980886e-8,-0.001187009814984017,4.306830808202916e-5,2.4147865942933328e-8,-0.0011864667588603476,4.302388062774488e-5,2.4133330210664937e-8,-0.0011859656180111609,4.3111034611001064e-5,2.4195943412766552e-8,-0.0011855592107146609,4.328925296709795e-5,2.4310387221332328e-8,-0.0011852761111206852,4.349413359054941e-5,2.443782423047731e-8,-0.0011851131455521931,4.3654131747047644e-5,2.4535986395746288e-8,-0.0011850365116463047,4.370946428713365e-5,2.4570271546609728e-8,-0.0011849914632903148,4.362784368851426e-5,2.4522773768495008e-8,-0.001184917896100419,4.341215487751708e-5,2.43964861556252e-8,-0.0011847668283073867,4.3097519747167916e-5,2.4213256739576758e-8,-0.001184512183165127,4.273915270154866e-5,2.400637699709233e-8,-0.001184154359433377,4.239606712181469e-5,2.381082880477647e-8,-0.001183715829325232,4.211673537541401e-5,2.3654834718410355e-8,-0.001183232091457753,4.193072848064575e-5,2.355508585492585e-8,-0.001182742076052658,4.184692919527811e-5,2.351593181722576e-8,-0.001182280783554334,4.185637277082278e-5,2.3531280291149167e-8,-0.0011818749650736491,4.193705913158789e-5,2.3587563717348847e-8,-0.0011815412371566454,4.20587459208501e-5,2.3666591547139997e-8,-0.001181285518418681,4.218688550045602e-5,2.374784651401943e-8,-0.0011811028444095974,4.2285853886151184e-5,2.381037385561812e-8,-0.001180977123076948,4.232217251513254e-5,2.3834703066651765e-8,-0.0011808810539391222,4.2268560697046846e-5,2.3805269882627502e-8,-0.0011807771612472478,4.2109361969074505e-5,2.3713602572318883e-8,-0.0011806214602274067,4.1846957049957275e-5,2.356200196449372e-8,-0.0011803711677501327,4.150714518977967e-5,2.3366529209186637e-8,-0.0011799963986054275,4.113978509884284e-5,2.3157162420999488e-8,-0.0011794927933482826,4.08108363408142e-5,2.2972909369344754e-8,-0.0011788890049142986,4.058504354233647e-5,2.2851491515976213e-8,-0.0011782430294203484,4.050438512482597e-5,2.2816671906510717e-8,-0.0011776263052778516,4.0571991173592686e-5,2.2868981508891815e-8,-0.0011771016155169122,4.074982996867079e-5,2.2984703383283737e-8,-0.0011767044632477951,4.097122380197114e-5,2.3123630234264177e-8,-0.0011764349839248737,4.1161829736862925e-5,2.3241707139593455e-8,-0.0011762614801303043,4.1260299791107996e-5,2.330328303434297e-8,-0.0011761320404088328,4.1232336783918625e-5,2.328924297558214e-8,-0.0011759893133244327,4.1075838938516295e-5,2.3199711124094704e-8,-0.0011757842580515552,4.081779203779472e-5,2.3051819147004552e-8,-0.001175486057786376,4.050513963720658e-5,2.2873984543674025e-8,-0.0011750866908770193,4.0192525827399625e-5,2.2698514425147638e-8,-0.0011745998913217442,3.9930000443378806e-5,2.2554401861589946e-8,-0.0011740555181366963,3.975350915748105e-5,2.2461942074838184e-8,-0.0011734914447389271,3.967996159531561e-5,2.2430123462058758e-8,-0.001172945410878914,3.970705295686038e-5,2.245677720924922e-8,-0.0011724486794790487,3.981662159239835e-5,2.2530685939862905e-8,-0.0011720222605774908,3.997974255206267e-5,2.263458529327139e-8,-0.0011716754580197422,4.0161947727554296e-5,2.274816904236688e-8,-0.0011714059108263474,4.032766224367516e-5,2.285064391621753e-8,-0.0011712002787532773,4.044378850159482e-5,2.2922839703133115e-8,-0.001171035100466492,4.048293650443117e-5,2.2949153547451752e-8,-0.0011708778846540614,4.042697766162125e-5,2.2919658210313572e-8,-0.0011706891457959967,4.0271429475899425e-5,2.2832600750891778e-8,-0.001170426728995793,4.0030416719605716e-5,2.269711830719015e-8,-0.0011700538042031948,3.9740414742010276e-5,2.253517245414926e-8,-0.0011695506069301434,3.945916078722506e-5,2.2380689483545792e-8,-0.0011689268944945577,3.9255517922141815e-5,2.227353935744273e-8,-0.001168228173677312,3.918909798715985e-5,2.224769728531718e-8,-0.0011675279781217165,3.9285907063139966e-5,2.2317220439852915e-8,-0.0011669049542857158,3.952322670802093e-5,2.24676871654407e-8,-0.0011664145207980038,3.9834885125080155e-5,2.265953681114611e-8,-0.001166070295452867,4.013563731944959e-5,2.2842517129925196e-8,-0.0011658440641923867,4.035108613749354e-5,2.2973299450432576e-8,-0.0011656808972777184,4.043846993678506e-5,2.302764914878378e-8,-0.0011655191438936243,4.039246802510346e-5,2.300366653105076e-8,-0.0011653067613803536,4.023909875147127e-5,2.291788321046429e-8,-0.001165010689103841,4.002390781978695e-5,2.2797942341975254e-8,-0.0011646197556137458,3.979940906101893e-5,2.2674938420648966e-8,-0.0011641429633779334,3.961443280877213e-5,2.2577103601577477e-8,-0.0011636049134929856,3.950632417993853e-5,2.252541402741315e-8,-0.0011630396411959254,3.9496218494349576e-5,2.253115281543781e-8,-0.001162483900516477,3.95874667786907e-5,2.2595320378682432e-8,-0.0011619709327954436,3.976699600781008e-5,2.2709638135691125e-8,-0.0011615255979191684,4.000893838449559e-5,2.2858712233979922e-8,-0.0011611613858706039,4.0279582776409567e-5,2.3022849008527116e-8,-0.001160879376169587,4.054263299169933e-5,2.3181024514051384e-8,-0.0011606687592218374,4.076394687408465e-5,2.3313608208272293e-8,-0.0011605083240079387,4.09154288041749e-5,2.3404666156265128e-8,-0.00116036847554564,4.097823517679709e-5,2.34438834621506e-8,-0.0011602136824594566,4.0945659648512586e-5,2.3428227761797474e-8,-0.0011600057215318002,4.0826012397539306e-5,2.3363471925632195e-8,-0.0011597086232655231,4.0645264473458956e-5,2.326545539839303e-8,-0.0011592962457193116,4.0447999006798314e-5,2.3160337368834338e-8,-0.00115876229853727,4.0293821820255384e-5,2.3082332980724006e-8,-0.0011581301558147067,4.0245920350732926e-5,2.3067127381392428e-8,-0.0011574563121098651,4.035081622828792e-5,2.3140425634618856e-8,-0.0011568199270357543,4.061526212816023e-5,2.3304961265381497e-8,-0.0011562968471505665,4.099409631845051e-5,2.353376588241085e-8,-0.0011559290458727804,4.140161770840252e-5,2.3776854904296303e-8,-0.0011557078806939019,4.1744238983237644e-5,2.3980097768470524e-8,-0.0011555814912751524,4.195588110422897e-5,2.4105697188319998E-08,-0.001155479481195814,4.201658493401853e-5,2.4142985129680127e-8,-0.00115533863075793,4.194919447273282e-5,2.4106395513946268e-8,-0.0011551182129401877,4.1802901903976074e-5,2.4025610864818883e-8,-0.0011548035981328402,4.163510488935334e-5,2.3934641492285587e-8,-0.0011544024679921467,4.149790402491649e-5,2.3863731188845464e-8,-0.0011539381598193543,4.143037373269924e-5,2.3834886083816383e-8,-0.0011534428504190312,4.145529592249755e-5,2.3860242372633465e-8,-0.0011529515734318722,4.157867605802834e-5,2.3942156152824156e-8,-0.001152497126030711,4.17910018793201e-5,2.407424330087287e-8,-0.00115210581430915,4.2069853360416185e-5,2.4243037050196697e-8,-0.001151794185245135,4.238365328686831e-5,2.4430139497299415e-8,-0.0011515669930675036,4.269628302794372e-5,2.461478437537122e-8,-0.0011514166348674099,4.2972125399724006e-5,2.4776661433350763e-8,-0.0011513241096236361,4.318091082678523e-5,2.4898702175336794e-8,-0.0011512612721551612,4.330181717597658e-5,2.496949457208967e-8,-0.001151194039557355,4.332656629776271e-5,2.4985098203453446e-8,-0.0011510862887999457,4.326145348232724e-5,2.4950132422663092e-8,-0.0011509043845628019,4.312830423117919e-5,2.4878096818187747e-8,-0.0011506225888506414,4.296414251839801e-5,2.4790856099194497e-8,-0.0011502295873348479,4.281860836006933e-5,2.4716871495239724e-8,-0.0011497354598191344,4.27473669523015e-5,2.4687324428481763e-8,-0.0011491767132249047,4.27998987093043e-5,2.4729297172923822e-8,-0.0011486149745644995,4.300208635109734e-5,2.4856210146960896e-8,-0.0011481242788471762,4.333890754543513e-5,2.505836780419132e-8,-0.0011477663805973333,4.37484335258334e-5,2.529978271595454e-8,-0.0011475638693054652,4.413754488074797e-5,2.552713565537854e-8,-0.0011474880690233208,4.441675095791563e-5,2.5689536506059154e-8,-0.0011474716437174161,4.4535329714636256e-5,2.5758576446798924e-8,-0.0011474381423005444,4.4496153607781065e-5,2.573686319342581e-8,-0.0011473298248947472,4.434525522139947e-5,2.5651963688180006e-8,-0.0011471206519927625,4.4148021131686344e-5,2.5542431090685233e-8,-0.0011468143867924144,4.396712744434881e-5,2.5444745012451112e-8,-0.001146435178096694,4.384958556407789e-5,2.538566338712817e-8,-0.0011460173053052653,4.382244135856911e-5,2.537984964690841e-8,-0.0011455972066733823,4.389369052636168e-5,2.543072424927479e-8,-0.001145208205189756,4.4055310810386594e-5,2.553258147049571e-8,-0.0011448771116926027,4.4286732802865605e-5,2.5672846892049696e-8,-0.001144621838537778,4.455834866317327e-5,2.5834176207532318e-8,-0.0011444496596464482,4.483524010238264e-5,2.5996533958276677e-8,-0.0011443561757723407,4.508136367107901e-5,2.6139484084071172e-8,-0.001144325302176957,4.526422796836885e-5,2.624479996609313e-8,-0.0011443306796744088,4.5359678801102835e-5,2.629920696942144e-8,-0.001144338684074093,4.535607232962796e-5,2.6296805202445227e-8,-0.0011443128443530714,4.525711697688811e-5,2.6240674007741413e-8,-0.0011442192204715602,4.5082805045375516e-5,2.6143256225398415e-8,-0.0011440321422607781,4.4868033997148654e-5,2.6025290536327584e-8,-0.0011437397009143968,4.465876200865301e-5,2.5913293776335838e-8,-0.0011433483936894827,4.450556201387472e-5,2.5835666573269417e-8,-0.0011428859132346458,4.4454301330230345e-5,2.5817407374967364e-8,-0.0011424002463549068,4.4534205124580296e-5,2.587362598157788e-8,-0.0011419527122034946,4.474530750720313e-5,2.600289980431649e-8,-0.0011416033368196802,4.505002810376823e-5,2.618294554588382e-8,-0.001141390428908636,4.5375931822066494e-5,2.6372385764556846e-8,-0.0011413123883100827,4.5634818511907473e-5,2.6521473534591453e-8,-0.001141323589395823,4.5754058078499044e-5,2.6589641295518906e-8,-0.0011413505127724332,4.570482861131677e-5,2.65614039044391e-8,-0.0011413207093381398,4.5510745451041515e-5,2.6451239643199213e-8,-0.001141188094617734,4.523323032317512e-5,2.6295158823665544e-8,-0.0011409425267060696,4.494512245552072e-5,2.613539055975473e-8,-0.0011406039242835295,4.470782444666231e-5,2.6007055239340012e-8,-0.001140209199720666,4.455976514490526e-5,2.5931497221064563e-8,-0.0011397998215520568,4.451513360626569e-5,2.591575701768682e-8,-0.001139413450043509,4.456814837601221e-5,2.595536246540539e-8,-0.0011390795966643849,4.469876670368622e-5,2.60379203690528e-8,-0.0011388178217883774,4.487777100093782e-5,2.614620234117578e-8,-0.001138637029323737,4.507087406977781e-5,2.6260499784491232e-8,-0.0011385351171898522,4.524231213375679e-5,2.636058011508952e-8,-0.001138498908997064,4.5358536475447353e-5,2.6427687830903223e-8,-0.001138504742717813,4.539239795883406e-5,2.6446876610957435e-8,-0.0011385203577618363,4.5327686077719404e-5,2.6409596426616204e-8,-0.001138508626476679,4.5163215308385346e-5,2.6316020938140107e-8,-0.001138433164520453,4.491524922861346e-5,2.617635271007851e-8,-0.0011382651611644248,4.461705208805853e-5,2.60103768433134e-8,-0.0011379901212315725,4.431475914112068e-5,2.5844832363761734e-8,-0.0011376128472153897,4.405962607495448e-5,2.5708742448517676e-8,-0.0011371591432191399,4.38977377850055e-5,2.5627459120037902e-8,-0.0011366732292220137,4.385892899825392e-5,2.561652405049774e-8,-0.0011362103950232623,4.394710877414942e-5,2.5676581411835278e-8,-0.0011358251542952108,4.413475261191414e-5,2.5790765942044402e-8,-0.0011355565320898134,4.436471443508226e-5,2.5926126309661128e-8,-0.0011354142388612493,4.456177182242592e-5,2.6040272006294392e-8,-0.0011353715564004837,4.4653360616528623e-5,2.6092925147649926e-8,-0.0011353705510015804,4.459362909579968e-5,2.605922322764486e-8,-0.0011353404038372476,4.4380227560943225e-5,2.5938971302698022e-8,-0.0011352217466509087,4.405454262243014e-5,2.5756616732937143e-8,-0.0011349852948189293,4.368490247039827e-5,2.5551578991552723e-8,-0.0011346366674042077,4.334216194977203e-5,2.5364227495662016e-8,-0.001134208126523297,4.307971922662928e-5,2.5224447033233243e-8,-0.0011337443916172296,4.292448780803408e-5,2.5146609857361533e-8,-0.0011332897864486306,4.287791196077834e-5,2.5130427988720302e-8,-0.0011328801743606684,4.292232941936807e-5,2.5164886702881576e-8,-0.0011325395437544183,4.302832693352377e-5,2.5232645329543546e-8,-0.0011322795036267984,4.316082969546979e-5,2.5313558114926845e-8,-0.0011320999644248192,4.328354167402069e-5,2.538712994851353e-8,-0.0011319900022255828,4.336233306022805e-5,2.5434328063291953e-8,-0.0011319286947636842,4.336840808418778e-5,2.5439298179225213e-8,-0.0011318863330729578,4.328188187579225e-5,2.5391365668682646e-8,-0.001131826798984989,4.309582777844892e-5,2.5287327028303578e-8,-0.0011317119237820342,4.282000536402383e-5,2.513352362103692e-8,-0.0011315081184450266,4.248267021715128e-5,2.4946745756693704e-8,-0.0011311944679122136,4.212855215251888e-5,2.47528810798855e-8,-0.001130770145740669,4.181171313272162e-5,2.458263730132284e-8,-0.0011302581872849279,4.158375073838242e-5,2.446470685820663e-8,-0.0011297031604086858,4.1480108144529596e-5,2.4418045723061402e-8,-0.001129162188693781,4.15087736209508e-5,2.4445738038119535e-8,-0.001128691235841923,4.164541695493883e-5,2.453267453652789e-8,-0.0011283303644603515,4.1837167858544846e-5,2.464812593336712e-8,-0.0011280922029762194,4.201470996660632e-5,2.4752841228200912e-8,-0.0011279572033331556,4.2109977185660934e-5,2.480903447905591e-8,-0.0011278777807429035,4.2074869072542864e-5,2.4790706388729773e-8,-0.0011277911058960631,4.189530837193729e-5,2.4691226160505966e-8,-0.0011276372138476932,4.15954194176583e-5,2.4525357679971217e-8,-0.0011273763094417542,4.1229584247699144e-5,2.4324526909304625e-8,-0.0011269987883137111,4.0865150594873515e-5,2.4126913313744505e-8,-0.0011265246487921932,4.056282496645149e-5,2.396636013648397e-8,-0.0011259939870450367,4.0362229990203176e-5,2.3864352719984643e-8,-0.0011254538280006646,4.027651035222083e-5,2.3827236887481313e-8,-0.0011249466443459084,4.029509964658356e-5,2.3848081936514294e-8,-0.0011245033782163948,4.0390924133027086e-5,2.3910968573532058e-8,-0.0011241409403492657,4.052829514471608e-5,2.3995517170635476e-8,-0.00112386263638038,4.066934213518109e-5,2.4080458369857855e-8,-0.001123659844043524,4.077852227744454e-5,2.4146059818045725e-8,-0.0011235138537491161,4.082575535334954e-5,2.417579891950277e-8,-0.0011233975399612892,4.078906093563617e-5,2.4157813543967808e-8,-0.0011232772130354719,4.065741806846923e-5,2.4086515680471002e-8,-0.0011231154772805123,4.043402590037051e-5,2.3964410167377178e-8,-0.0011228760409062776,4.0139252991621545e-5,2.380366568263808e-8,-0.0011225309508780508,3.9811507466245704e-5,2.362643573893063e-8,-0.0011220694021852218,3.9503593998477884e-5,2.3462607402847364e-8,-0.0011215052868612503,3.927276808058977e-5,2.334405693151438e-8,-0.0011208791815421717,3.916532907922445e-5,2.32959719470691e-8,-0.0011202512996662164,3.9200465609938846e-5,2.332793726446843e-8,-0.001119685750452599,3.936055511280073e-5,2.3428801926640012e-8,-0.0011192313624241938,3.959351310628623e-5,2.3568365483427852e-8,-0.0011189067970222813,3.982728786145331e-5,2.370580293829856e-8,-0.0011186957125675833,3.9990849821071303e-5,2.380156013682102e-8,-0.0011185529359586416,4.003380335406222e-5,2.382827657042045e-8,-0.0011184183604654927,3.9938559297950844e-5,2.3777363910180102e-8,-0.0011182335261142832,3.972257873820071e-5,2.365991178424167e-8,-0.0011179561348970367,3.943138742499119e-5,2.3502406776038373e-8,-0.0011175690250342211,3.9125231705559594e-5,2.333898219278873e-8,-0.0011170818909624026,3.8863484851492184e-5,2.3202592856615218e-8,-0.0011165261146400343,3.869113689297805e-5,2.3117576365828163e-8,-0.0011159450191786187,3.863070018781825e-5,2.309541688994295e-8,-0.001115382950846316,3.8680782729081375e-5,2.3134291481037248e-8,-0.0011148763323054643,3.88202433349568e-5,2.3221657136516122e-8,-0.0011144484116093652,3.9015366788503146e-5,2.333836405534532e-8,-0.0011141077300649053,3.922741200952648e-5,2.3462821981382622e-8,-0.0011138492060015412,3.941880989590515e-5,2.357433208540127e-8,-0.0011136564631223104,3.955748183796071e-5,2.3655382121537695e-8,-0.001113504398766395,3.961966181875024e-5,2.3693174947865333e-8,-0.0011133616119702572,3.9591985478981636e-5,2.3680806672121074e-8,-0.0011131929173312004,3.9473502927766754e-5,2.3618399758240768e-8,-0.001112962646214551,3.927781992830418e-5,2.3514237054040706e-8,-0.0011126396430199091,3.903476453581059e-5,2.338553477815076e-8,-0.0011122044622860591,3.878987372235069e-5,2.325794563447264e-8,-0.0011116579050496058,3.859916050478475e-5,2.3162471082326266e-8,-0.0011110277638066819,3.8517161490373446e-5,2.3128770665243614e-8,-0.0011103686318442126,3.857932217863279e-5,2.317550345585091e-8,-0.0011097504345893342,3.878498007287958e-5,2.3301147042226735e-8,-0.0011092368658773112,3.909083067031221e-5,2.348067606937274e-8,-0.001108862561025627,3.9421677057301995e-5,2.3671766690779e-8,-0.0011086207894536008,3.969541345367182e-5,2.3828789988108746e-8,-0.001108467784835197,3.9850203582443234e-5,2.3917930158623212e-8,-0.0011083400223898265,3.986149013467848e-5,2.3926558339224554e-8,-0.0011081749835332257,3.9744019406875444e-5,2.3864144977322292e-8,-0.0011079272311021648,3.954206227866765e-5,2.3756473773474773e-8,-0.0011075764036130426,3.9314276041815806e-5,2.3636846724881514e-8,-0.0011071276513506274,3.911872082508301e-5,2.353751460723729e-8,-0.001106606712234522,3.9001210256697606e-5,2.3483218868648787e-8,-0.0011060519911277476,3.8988244203939216e-5,2.3487531140898155e-8,-0.001105505670300844,3.908468395961993e-5,2.3551953376769463e-8,-0.001105005565791467,3.927568764132802e-5,2.3667339954019526e-8,-0.0011045790708096976,3.9531788880221474e-5,2.3816896490402398e-8,-0.0011042398847317478,3.9815546406795756e-5,2.397985579796228e-8,-0.0011039874767033147,4.008822786866677e-5,2.413504494817365e-8,-0.0011038086569949937,4.031539899273079e-5,2.4263827315283715e-8,-0.0011036803427045844,4.047087645509333e-5,2.4352204679952328e-8,-0.0011035726966564098,4.053916604625667e-5,2.4392162684179795e-8,-0.0011034522434320714,4.051692930416066e-5,2.438250815301555e-8,-0.0011032850399023103,4.041397991610771e-5,2.4329393420554233e-8,-0.0011030403485004744,4.0253960514007384e-5,2.424655679752155e-8,-0.001102695483905325,4.0074227905403326e-5,2.415503580398189e-8,-0.001102242193580227,3.992352368685253e-5,2.4081660659305638e-8,-0.0011016936673696796,3.985525563697915e-5,2.4055253488353385e-8,-0.0011010891641663526,3.991473667135059e-5,2.409971221190807e-8,-0.0011004912378463276,4.012168328025906e-5,2.422468321626409e-8,-0.0010999711538006204,4.045477360482803e-5,2.4417430252093232e-8,-0.0010995842055226655,4.084938248726866e-5,2.4641830821643385e-8,-0.0010993460929871167,4.121581701041971e-5,2.484844677700392e-8,-0.0010992250658169746,4.1472215284716905e-5,2.4992557013455944e-8,-0.0010991556460179283,4.1574464276116506e-5,2.505058969589844e-8,-0.0010990652089385281,4.1527398961356164e-5,2.5026265284520233e-8,-0.001098898156768374,4.1375312448001e-5,2.4945200752454744e-8,-0.0010986280334354423,4.118167475058328e-5,2.484337320183111e-8,-0.0010982574815838655,4.100937470290851e-5,2.4755843824772127e-8,-0.0010978110406426043,4.090738485072404e-5,2.4709226856153248e-8,-0.0010973257121964122,4.0904499228446404e-5,2.471836767874099e-8,-0.0010968421791160742,4.10083665738254e-5,2.4786177550209052e-8,-0.0010963977347210852,4.120779805968306e-5,2.4905329142025246e-8,-0.0010960210677344888,4.147702335351955e-5,2.506090255556026e-8,-0.0010957289251758702,4.178110279291195e-5,2.5233456325869303e-8,-0.001095524697387541,4.2081778366454555e-5,2.540215364575196e-8,-0.0010953988246681838,4.2343079153780506e-5,2.5547670181248777e-8,-0.0010953307583887954,4.253610901231246e-5,2.5654681311269465e-8,-0.0010952920447938042,4.264254236325311e-5,2.571372890267199e-8,-0.0010952499739452775,4.2656633559821643e-5,2.5722338660353446e-8,-0.0010951713587064734,4.2585944785351156e-5,2.5685421940828945e-8,-0.0010950263137780906,4.245110365085979e-5,2.5615053368196092e-8,-0.001094792159453469,4.2284683294743016e-5,2.5529653777638224e-8,-0.0010944577225138132,4.212890345796607e-5,2.5452477208888395e-8,-0.0010940280855575993,4.2031223829935575e-5,2.5409021613321293e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json new file mode 100644 index 000000000..3a712547f --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":5000,"numberOfSamples":1000,"samples":[-0.001093528836966317,4.203642676149489e-5,2.5422725793163846e-8,-0.0010930072646208094,4.217440867148639e-5,2.5508574660559997e-8,-0.0010925265640548522,4.2445448281040656e-5,2.566549440168746e-8,-0.0010921498584701538,4.280927315836898e-5,2.5870776828536737e-8,-0.0010919163003251823,4.318794211770871e-5,2.6081780444674054e-8,-0.001091820523294629,4.348883154959585e-5,2.624831762871915e-8,-0.00109181029138295,4.364045659227296e-5,2.6331989440280285e-8,-0.0010918072934319603,4.362110831307491e-5,2.6321766949888615e-8,-0.0010917391971531742,4.346321105608486e-5,2.6236404835428295e-8,-0.0010915640090047574,4.323393624900339e-5,2.611370862534541e-8,-0.0010912766199280236,4.3007345034387695e-5,2.599493426705449e-8,-0.0010909009016498547,4.284299979150903e-5,2.5912727223068096e-8,-0.001090476431342811,4.277625215835485e-5,2.5885719367964947e-8,-0.0010900465218413144,4.2817753215300766e-5,2.5918503099339365e-8,-0.0010896499951765957,4.2957752709860237e-5,2.6004412180594708e-8,-0.0010893164869373976,4.3171842376795946e-5,2.612906955898042e-8,-0.0010890641035068592,4.34265580743787e-5,2.6273675178051805e-8,-0.0010888984776027527,4.3684563677071033e-5,2.6417842719480934e-8,-0.0010888129019089097,4.3909513777838174e-5,2.65421057988998e-8,-0.0010887895341848287,4.407054827337014e-5,2.663018859077577e-8,-0.0010888016920848876,4.4146217427231046e-5,2.667102788931276e-8,-0.001088817192482838,4.4127450376416946e-5,2.6660363442769395e-8,-0.0010888024752733671,4.401909753500576e-5,2.6601590837686793e-8,-0.0010887270459753056,4.383981898364833e-5,2.65056658451493e-8,-0.0010885677996571497,4.362036647066958e-5,2.639002532249307e-8,-0.0010883129235325867,4.3400346577718806e-5,2.627658759927833e-8,-0.0010879651578661836,4.322346930498476e-5,2.6188934255361087e-8,-0.001087544097987234,4.313109216854214e-5,2.6148709458164907e-8,-0.001087086674855694,4.315374123594729e-5,2.617116796712862e-8,-0.001086644066498112,4.330094126455337e-5,2.6260046435218025e-8,-0.0010862728381159504,4.3551620609182124e-5,2.640284239026193e-8,-0.00108601928226965,4.38502022017017e-5,2.656903579292576e-8,-0.0010859001135970722,4.411523709589743e-5,2.6714781887700585e-8,-0.0010858889754997796,4.426383145393484e-5,2.6795876138844725e-8,-0.0010859203351680025,4.424423453619814e-5,2.6785128110422738e-8,-0.001085913618912209,4.4058578601592776e-5,2.668460538734044e-8,-0.001085805393800295,4.376072785978275e-5,2.6524487039470494e-8,-0.0010855708545136362,4.343117507166159e-5,2.6349304657863846e-8,-0.0010852250584937636,4.314592290426317e-5,2.620071963961655e-8,-0.0010848090868554553,4.295570916633156e-5,2.6105975798650347e-8,-0.001084372654611788,4.2880291469861494e-5,2.6074830737518084e-8,-0.0010839610398885847,4.291308032542563e-5,2.6102403255115617e-8,-0.0010836081790852113,4.302959653013973e-5,2.6174200961517643e-8,-0.0010833344520610171,4.3195574161869046e-5,2.6270850944433867e-8,-0.001083146945167361,4.3373198164366636e-5,2.637160337223827e-8,-0.0010830405767407777,4.352569954505452e-5,2.645674242392391e-8,-0.0010829995124754573,4.3621083270509026e-5,2.6509425138913995e-8,-0.001082998991414148,4.363548696163819e-5,2.6517334874121295e-8,-0.0010830078695757855,4.3556232067080865e-5,2.6474252100274967e-8,-0.0010829921546684827,4.338421730365343e-5,2.638134536379059e-8,-0.0010829195457739626,4.313495597945831e-5,2.6247737743075178e-8,-0.0010827645199852117,4.2837568459182473e-5,2.6089894868217516e-8,-0.0010825131481838203,4.2531405839397756e-5,2.5929625306960433e-8,-0.0010821667257754604,4.2260415291339646e-5,2.5790800121408916e-8,-0.001081743391863589,4.2065789758412284e-5,2.5695202717475755e-8,-0.0010812771260442285,4.197779093233889e-5,2.5658116797976546e-8,-0.00108081368235774,4.2007788209395396e-5,2.5684279138019833e-8,-0.0010804030553122393,4.214188129809646e-5,2.5764875776401685e-8,-0.0010800884167244415,4.2338329128859495e-5,2.5876603076949472e-8,-0.001079892778156456,4.2531881372048156e-5,2.598424858567189e-8,-0.001079807154698478,4.264767562282009e-5,2.6048107274120274e-8,-0.0010797867060579334,4.262394191909685e-5,2.6035904077434437e-8,-0.001079760973783162,4.243610779021697e-5,2.593546226975552e-8,-0.0010796577282035234,4.210950720238184e-5,2.5761387251077892e-8,-0.00107942993302375,4.171117273294466e-5,2.555057096694696e-8,-0.001079071274203828,4.132383281774707e-5,2.5348037433669575e-8,-0.001078613065447523,4.101676275871758e-5,2.5191031444188244e-8,-0.0010781076445001167,4.082789625905243e-5,2.509930154443339e-8,-0.0010776094725232313,4.076147500814069e-5,2.507401361434535e-8,-0.0010771620659250866,4.079616385676292e-5,2.5102488709573008e-8,-0.001076792527426751,4.089624684549766e-5,2.5164595184415124e-8,-0.001076511483357941,4.102115014348993e-5,2.523807558214155e-8,-0.001076315486299618,4.1131846253385905e-5,2.530198861820359e-8,-0.00107618985214185,4.1194730844247526e-5,2.533864785318205e-8,-0.0010761111699562399,4.118418519494565e-5,2.5334821170315685e-8,-0.0010760496321073894,4.1084740905426734e-5,2.5282775112651636e-8,-0.0010759717151872302,4.089317638698599e-5,2.5181368331821842e-8,-0.0010758437806077928,4.062025720268964e-5,2.5037000465379675e-8,-0.001075636874965737,4.029124488214523e-5,2.4863872287821255e-8,-0.001075332344175619,3.994403311673042e-5,2.4682887122784044e-8,-0.0010749270772761371,3.962409533524119e-5,2.4518755050929554e-8,-0.0010744366625150808,3.937631781230898e-5,2.439541151761965e-8,-0.0010738948032005251,3.92350369958662e-5,2.433057466908826e-8,-0.0010733481764564313,3.9214698025557454e-5,2.433083409288902e-8,-0.0010728472503692334,3.930384295442124e-5,2.4388737863373705e-8,-0.0010724347731497891,3.94645175457536e-5,2.44828950313044e-8,-0.0010721343835682733,3.9638151634969455e-5,2.458148402653822e-8,-0.001071942205574794,3.9757775235519326e-5,2.4648932372444277e-8,-0.001071824440490328,3.976485588304506e-5,2.4654800605721794e-8,-0.0010717234455627444,3.962693202706781e-5,2.4582909766611626e-8,-0.0010715727554048086,3.935008138551149e-5,2.4437676459267312e-8,-0.0010713175244551965,3.8979848282591754e-5,2.4244352737564492e-8,-0.0010709326265880106,3.858785169979547e-5,2.4041693976913273e-8,-0.0010704300073954966,3.8248525783302696e-5,2.386941805332488e-8,-0.0010698520086136918,3.801636200014798e-5,2.375603419291011e-8,-0.0010692550526086402,3.791333074165718e-5,2.371227592816189e-8,-0.0010686922574283954,3.792939556885814e-5,2.3731673323543086e-8,-0.0010682017404291997,3.80320722103819e-5,2.379598347049132e-8,-0.0010678024504110503,3.8178531959137147e-5,2.3881867002065674e-8,-0.001067495548138812,3.832556322890049e-5,2.3966240581430207e-8,-0.001067268273277274,3.843582509864842e-5,2.4029501058277472e-8,-0.0010670980487706369,3.848102746680633e-5,2.4057051807740725e-8,-0.0010669558863532884,3.844342728250387e-5,2.4039967070581163e-8,-0.001066809160826231,3.8316803241082525e-5,2.3975457859135465e-8,-0.0010666243579828204,3.810746586828673e-5,2.386741669396789e-8,-0.0010663705574710293,3.7835149903862285e-5,2.3726898442079206e-8,-0.0010660241691441985,3.753288897009294e-5,2.3571997852970833e-8,-0.0010655747063436035,3.724442359481839e-5,2.3426335194630528e-8,-0.0010650302250668731,3.701779702157739e-5,2.331547794071486e-8,-0.0010644199291991467,3.68949742785659e-5,2.3261297539301097e-8,-0.001063791223981958,3.6899545236002384e-5,2.327544760228617e-8,-0.0010632000453968727,3.7026820203446666e-5,2.335429289972638e-8,-0.0010626963599818942,3.7241111127013385e-5,2.3477789197827204e-8,-0.0010623095681190381,3.748268981872828e-5,2.3613519575245354e-8,-0.0010620391726174265,3.768289862153553e-5,2.3724946388273585e-8,-0.0010618540779868658,3.7782581455481364e-5,2.3781234371721873e-8,-0.0010617006609737272,3.7748061352030124e-5,2.3765573920194672e-8,-0.0010615170480434892,3.758012724746697e-5,2.367965267011593e-8,-0.0010612495768359004,3.731371428715724e-5,2.3543130785882002e-8,-0.0010608669746345562,3.700835235428079e-5,2.3388256328231037e-8,-0.001060368182069979,3.6731912216637085e-5,2.325105313533104e-8,-0.0010597813426304625,3.654245594481344e-5,2.316169727120985e-8,-0.0010591544075762823,3.647402066316346e-5,2.313718174627855e-8,-0.0010585410167500333,3.653074230958909e-5,2.317853751683003e-8,-0.001057986920975386,3.669012758790272e-5,2.327290785733631e-8,-0.0010575211579176061,3.691257472653399e-5,2.339881300069309e-8,-0.001057153350837812,3.715260399430297e-5,2.3532138314401993e-8,-0.0010568758374386459,3.736812754225494e-5,2.365093104713143e-8,-0.0010566681914793606,3.752620921432137e-5,2.3738273286109503e-8,-0.0010565020401735535,3.760563844652094e-5,2.378349597906288e-8,-0.0010563451015339039,3.759754719033252e-5,2.3782437194464704e-8,-0.0010561643423562313,3.750528822528541e-5,2.3737377447389552e-8,-0.001055928777775758,3.734426906295574e-5,2.365696343832137e-8,-0.0010556126783150875,3.714173971895337e-5,2.3556054900511646e-8,-0.0010551998123746519,3.693577609363618e-5,2.3455071168099988e-8,-0.0010546886977346502,3.677200754758798e-5,2.3378106802298378e-8,-0.001054097575413405,3.66964742503015e-5,2.33490503669857e-8,-0.001053466266416154,3.674410830929957e-5,2.338552532428398e-8,-0.0010528513171096396,3.6925144473778674e-5,2.3491902560416617e-8,-0.0010523125721679219,3.721530665965493e-5,2.365441113669717e-8,-0.0010518941136466624,3.7556866487537555e-5,2.384196911473466e-8,-0.001051607652331739,3.787365765176419e-5,2.4014260649323585e-8,-0.0010514271013640408,3.809514403546298e-5,2.4134458275138142e-8,-0.001051297410707953,3.8178799703989044e-5,2.4180962088243847e-8,-0.001051153003686843,3.812136015142763e-5,2.415318391268279e-8,-0.00105093733776516,3.795628189484318e-5,2.4069945427589834e-8,-0.001050616809646753,3.7741095264425834e-5,2.396246019827039e-8,-0.0010501863481547247,3.754067586859115e-5,2.3865199592522806e-8,-0.0010496673073456411,3.7411575394765774e-5,2.380750812194908e-8,-0.0010490998191358019,3.739064048823195e-5,2.380774834712807e-8,-0.0010485322021737509,3.748944550858809e-5,2.38707245777141e-8,-0.0010480100257824426,3.769477583367159e-5,2.398835336975793e-8,-0.0010475672083879396,3.797425178348991e-5,2.4142928600404912e-8,-0.0010472208647171518,3.8285082197056416e-5,2.4311824887822292e-8,-0.0010469704046910332,3.858335909600687e-5,2.4472287017073512e-8,-0.0010468001087383734,3.883168894481607e-5,2.4605240478689e-8,-0.0010466836675630368,3.900401645641016e-5,2.469763622155349e-8,-0.0010465891449321784,3.9087623690885925e-5,2.4743396088065535e-8,-0.00104648333056439,3.908308679776768e-5,2.4743374271449885e-8,-0.0010463351903678341,3.900321589613522e-5,2.4704818833201865e-8,-0.0010461187174899236,3.887169112109677e-5,2.4640634398441143e-8,-0.0010458157657489216,3.872153411276594e-5,2.456847676636226e-8,-0.0010454194198092652,3.8592904649491364e-5,2.4509434847279802e-8,-0.0010449379598351336,3.85290470767447e-5,2.4485769249212857e-8,-0.0010443983417922637,3.8568960460999586e-5,2.4517067123617403e-8,-0.0010438466104127784,3.8736263817727636e-5,2.4614598497805885e-8,-0.0010433416549984493,3.902636136480175e-5,2.477493404220497e-8,-0.0010429399987465788,3.9398027050649106e-5,2.4975871277955936e-8,-0.0010426746362297934,3.9777843434769186e-5,2.5178904654138547e-8,-0.0010425380922074639,4.0081503788804406e-5,2.5340291710930592e-8,-0.0010424814444555638,4.0244644241275436e-5,2.5427023133151833e-8,-0.0010424322947735387,4.024690202392131e-5,2.5429321392407133e-8,-0.0010423219582340482,4.01162830340403e-5,2.5362869290134385e-8,-0.0010421073140257824,3.9914219183457514e-5,2.526080398688154e-8,-0.0010417790504298643,3.9712303792083824e-5,2.5161204349048078e-8,-0.001041357514815806,3.957206053756882e-5,2.509620077309175e-8,-0.0010408820867983744,3.953305791576254e-5,2.5085701841939114e-8,-0.0010403994183290342,3.960922925354849e-5,2.5135719972456448e-8,-0.001039953473752625,3.979097235888994e-5,2.5239903766051643e-8,-0.0010395783534878653,4.005056096735985e-5,2.538278306056733e-8,-0.0010392939602767437,4.034918264408066e-5,2.5543680164653243e-8,-0.001039104389012981,4.0644480901831106e-5,2.5700644896490313e-8,-0.0010389988421567525,4.089757785496551e-5,2.5833941072896978e-8,-0.0010389545970551956,4.107865514075927e-5,2.5928726316951552e-8,-0.0010389412824983889,4.11705030871186e-5,2.5976731161695342e-8,-0.001038925600905446,4.116986580467381e-5,2.5976894786312716e-8,-0.0010388757116827172,4.108687415422475e-5,2.5935077860987764e-8,-0.0010387648487817887,4.094320887370908e-5,2.586310945168862e-8,-0.0010385741873378635,4.0769583233729096e-5,2.5777407288912374e-8,-0.0010382952268426782,4.0602784133407614e-5,2.569728649515853e-8,-0.0010379320091739295,4.04820837611387e-5,2.564292327050562e-8,-0.0010375031926033312,4.0444330838904017e-5,2.56327270085341e-8,-0.0010370431136598767,4.0516825192555824e-5,2.5679750881275533e-8,-0.0010365998252919112,4.07078727032145e-5,2.5787103029239512e-8,-0.0010362274507746704,4.0997023108730364e-5,2.59432896351184e-8,-0.0010359711779905647,4.133023718538513e-5,2.6120005918730713e-8,-0.0010358476721283505,4.1627586877103866e-5,2.6276137158887212e-8,-0.0010358308191826967,4.180745449119192e-5,2.6370052259346927e-8,-0.0010358552027499252,4.18193769451226e-5,2.6376375102413223e-8,-0.0010358403135057738,4.166678727036104e-5,2.6297719124715485e-8,-0.0010357228189093813,4.140456572009227e-5,2.6163449539399887e-8,-0.0010354780401623975,4.111391003936417e-5,2.6016503918615263e-8,-0.0010351214402610947,4.0871490524131414e-5,2.5897043112633257e-8,-0.0010346952781462417,4.0728626709958974e-5,2.5831362930703574e-8,-0.0010342513894169626,4.070496768499591e-5,2.582864079884688e-8,-0.0010338376130666347,4.0792468598692156e-5,2.588333975697396e-8,-0.001033489928572441,4.09637112677769e-5,2.5979990127741127e-8,-0.0010332292836012598,4.118057987218832e-5,2.6098059615421084e-8,-0.0010330613284611158,4.140165888760393e-5,2.6215931638488723e-8,-0.0010329777530100068,4.158819846524718e-5,2.631390656871405e-8,-0.0010329586810779521,4.170886241656704e-5,2.6376437158564403e-8,-0.001032975936317296,4.1743274993385874e-5,2.6393736765147437e-8,-0.0010329969885598913,4.168421213030391e-5,2.636277559384442e-8,-0.0010329892783965391,4.153821954893292e-5,2.62875676595281e-8,-0.0010329244588995863,4.132454750884092e-5,2.6178635261370543e-8,-0.001032782060381272,4.10726094101633e-5,2.6051674387741775e-8,-0.0010325522769319654,4.0818357819433007e-5,2.5925576579428118e-8,-0.0010322377709549141,4.0599882712942876e-5,2.5819988038191913e-8,-0.0010318544785740738,4.045240035953763e-5,2.575258468299546e-8,-0.001031431325710975,4.0402610592020545e-5,2.5736166079833738e-8,-0.0010310082903914864,4.04622844238969e-5,2.577556155474702e-8,-0.0010306315696239265,4.062155526853457e-5,2.586455506912295e-8,-0.0010303445107737654,4.084394736602622e-5,2.5983723580936618e-8,-0.00103017415051348,4.106712011714914e-5,2.6101034286724267e-8,-0.00103011645990442,4.121429379152592e-5,2.617762452180817e-8,-0.0010301283373702107,4.1218183604357294e-5,2.617978519094077e-8,-0.0010301360479824519,4.1049891214193474e-5,2.6093535091742128e-8,-0.0010300617418679534,4.073592787552085e-5,2.5933314593629573e-8,-0.0010298552834028627,4.0349707833675383e-5,2.5737635695545288e-8,-0.0010295123624857808,3.9981058901976845e-5,2.555325702866578e-8,-0.0010290699371210256,3.970266737753418e-5,2.541762182017323e-8,-0.0010285862799355606,3.95510226577242e-5,2.5348871652570656e-8,-0.001028119665030133,3.952567217658717e-5,2.5345604153804084e-8,-0.0010277146398166707,3.9599592103778894e-5,2.5392608827923747e-8,-0.0010273969445857086,3.9732019239784237e-5,2.54679029136312e-8,-0.0010271741439923543,3.987889635605635e-5,2.554837330653049e-8,-0.0010270387420002831,3.999979218338487e-5,2.5613362144150908e-8,-0.0010269717730998133,4.006209216467498e-5,2.564665439659544e-8,-0.0010269462335600545,4.004361181148552e-5,2.563758062373979e-8,-0.001026930475247916,3.993429582593155e-5,2.5581696150718296e-8,-0.0010268917955752411,3.9737131056284514e-5,2.54811632465487e-8,-0.0010268003254188763,3.946803547779058e-5,2.5344696049297998e-8,-0.001026633045285693,3.9154302349015926e-5,2.51867793373167e-8,-0.001026377413673644,3.883136780108241e-5,2.502596843310329e-8,-0.0010260339595217747,3.8538067531633994e-5,2.4882331374804033e-8,-0.00102561729797183,3.8310807330376756e-5,2.477430480252826e-8,-0.0010251551932449294,3.8177261675103885e-5,2.471538175976041e-8,-0.001024685487708184,3.8150384280356484e-5,2.4711128828705612e-8,-0.0010242508292970316,3.822352571453758e-5,2.475696413222644e-8,-0.0010238910923221203,3.836763523516221e-5,2.4837113045173785e-8,-0.0010236336767047106,3.853222377882937e-5,2.492543131105467e-8,-0.0010234830537858264,3.865239008611646e-5,2.49891058187856e-8,-0.0010234129983969168,3.8663590948988006e-5,2.4996031285257513e-8,-0.0010233670245726736,3.852273512816904e-5,2.492524814844594e-8,-0.001023271959887443,3.822833359285693e-5,2.4776942964655382e-8,-0.0010230632432314934,3.782769524653137e-5,2.4575998844550145e-8,-0.0010227107525744934,3.740279961889332e-5,2.436473371991324e-8,-0.0010222302402959167,3.703969137491942e-5,2.418716232193019e-8,-0.0010216740030515826,3.6798124988745376e-5,2.4073362152007457e-8,-0.001021108290579188,3.669683896443461e-5,2.4031974626159863e-8,-0.0010205912572348655,3.6717350983459955e-5,2.4052398420585333e-8,-0.0010201604372997207,3.681830406381751e-5,2.411249122180296e-8,-0.0010198303307530497,3.6950727918991715e-5,2.418666800590093e-8,-0.0010195960756659162,3.706898533184759e-5,2.4251597017513103e-8,-0.001019439056359185,3.713670445797552e-5,2.4289132019925126e-8,-0.001019332059571601,3.7129221763336125e-5,2.428734485125245e-8,-0.0010192433493335681,3.70343141516297e-5,2.4240686043212892e-8,-0.0010191400194511332,3.685229866278754e-5,2.4149908608415946e-8,-0.0010189911883879065,3.659580376531763e-5,2.402192783224623e-8,-0.0010187714343872375,3.628895436908966e-5,2.3869435845986977e-8,-0.0010184645132939021,3.596533710163379e-5,2.3709873676371996e-8,-0.001018066855839815,3.566412672527142e-5,2.3563393719128077e-8,-0.0010175898667280023,3.542425031334137e-5,2.3449761052332165e-8,-0.0010170599390659412,3.5277162817117435e-5,2.3384558945173422e-8,-0.001016515394012989,3.523949770501541e-5,2.3375440811865953e-8,-0.0010160002224420199,3.530738001007149e-5,2.3419397704779323e-8,-0.0010155553831384591,3.545419198619564e-5,2.3501928264935122e-8,-0.001015209142874551,3.563302488615149e-5,2.3598624983890202e-8,-0.0010149684067089226,3.5784346527384886e-5,2.3679292211144022e-8,-0.0010148133891465872,3.584860072421633e-5,2.3714344288769612e-8,-0.0010146982630651578,3.5782055660811007E-05,2.3682629377636572e-8,-0.0010145599654888093,3.557207326886522e-5,2.3578848270284908e-8,-0.0010143351722388912,3.5245823371830506e-5,2.3417678410022003e-8,-0.0010139811800521554,3.486632047924191e-5,2.3231576085062046e-8,-0.001013492050599654,3.4513974439642034e-5,2.3061330561170134e-8,-0.0010129013184621315,3.4259974954934804e-5,2.2942555475658693e-8,-0.0010122691652813616,3.4143842428325755e-5,2.289440024171102e-8,-0.001011660964001645,3.416527319904436e-5,2.291564249859294e-8,-0.0010111280235503381,3.429134318278579e-5,2.2988645742694414e-8,-0.0010106976785511353,3.447205752042876e-5,2.3087503664077148e-8,-0.0010103730798261847,3.465571175252602e-5,2.3185940039964153e-8,-0.0010101387428839818,3.479919616418346e-5,2.3262469964226124e-8,-0.0010099675794849883,3.487271276682596e-5,2.3302608900919384e-8,-0.0010098269209837737,3.4860699206272e-5,2.3299134968487392e-8,-0.0010096829020666328,3.476102080226269e-5,2.3251535621906485e-8,-0.0010095036482449427,3.4583741581220033e-5,2.316533851284319e-8,-0.00100926202814437,3.434990375649573e-5,2.3051517011118484e-8,-0.0010089385902406682,3.409004467856952e-5,2.2925769286763956e-8,-0.0010085248696185096,3.384168830235557e-5,2.2807227493595864e-8,-0.0010080265806791115,3.3644931550302674e-5,2.2716140262856692e-8,-0.0010074654828322916,3.353571640167953e-5,2.26703687608163e-8,-0.0010068782778092742,3.353743271134205e-5,2.268110345686206e-8,-0.0010063112194841138,3.36528689313314e-5,2.274888894220196e-8,-0.0010058104572475534,3.3859569732431347e-5,2.286150383963712e-8,-0.0010054101212326877,3.411145176628525e-5,2.2995062591133473e-8,-0.0010051217418514823,3.434769733360527e-5,2.3118734876600543e-8,-0.0010049287823506632,3.450726125747007e-5,2.3202145373587556e-8,-0.0010047886815621875,3.454511779650876e-5,2.3223469127649264e-8,-0.001004642523791172,3.444551550645358e-5,2.317587375654054e-8,-0.0010044301777682276,3.4228082912857005e-5,2.307029016040388e-8,-0.0010041070053985303,3.394428660482434e-5,2.293333606477324e-8,-0.0010036572007801948,3.366424530591849e-5,2.280046957873214e-8,-0.0010030989670374397,3.3457142010512746e-5,2.2706067870780697e-8,-0.001002478977520436,3.3371580578821594e-5,2.2673661179006083e-8,-0.0010018578283530568,3.342312200493025e-5,2.2709939398912565e-8,-0.0010012922882052613,3.359334378293894e-5,2.2804621910948108e-8,-0.0010008212275209021,3.3839363188058443e-5,2.2935524319804295e-8,-0.0010004594328713067,3.410840614322706e-5,2.3076001992787873e-8,-0.0010001992187818722,3.4351274842747164e-5,2.320166356575127e-8,-0.0010000167281470184,3.453101661995363e-5,2.3294552412610813e-8,-9.998793317252265e-4,3.462633409658824e-5,2.3344654270450874e-8,-9.997518470452732e-4,3.4631318428131296e-5,2.3349607127017085e-8,-9.996009199043014e-4,3.455348552109253e-5,2.3313647478180466e-8,-9.9939795849614e-4,3.44114906802232e-5,2.3246470434010358e-8,-9.99121407187035e-4,3.4233040893128126e-5,2.3162210737379513e-8,-9.987590833800812e-4,3.405276743515656e-5,2.3078368950141786e-8,-9.983108679056524e-4,3.390926822320403e-5,2.3014265042933495e-8,-9.97791306534957e-4,3.384032770146051e-5,2.2988554306834156e-8,-9.972307991430098e-4,3.3875718713881964e-5,2.3015580148524872e-8,-9.966733564831009e-4,3.4028221102158114e-5,2.310094837163757e-8,-9.961691020362934e-4,3.428546408696686e-5,2.3237638825588425e-8,-9.957615865134595e-4,3.46069401339788e-5,2.3404762682669036e-8,-9.954733186501152e-4,3.493021100327155e-5,2.357086532821176e-8,-9.952956330342465e-4,3.5186762200118035e-5,2.370192787102682e-8,-9.95188477807128e-4,3.532262383638006e-5,2.377162507367407e-8,-9.950913872963697e-4,3.5315508210565336e-5,2.376975873492727e-8,-9.94941500795456e-4,3.518154860532421e-5,2.3705430116577784e-8,-9.946916452042978e-4,3.496972133573339e-5,2.3603993034892922e-8,-9.943224955306555e-4,3.4747072949003844e-5,2.3499389344168517e-8,-9.938459958236127e-4,3.458033160070616e-5,2.3424766870853507e-8,-9.933002965673123e-4,3.451936283405707e-5,2.3404222600228282e-8,-9.92738532106868e-4,3.4586492210376424e-5,2.34477123751599e-8,-9.922149570488884e-4,3.47737697346077e-5,2.35500702634693e-8,-9.917723365169562e-4,3.504802300243e-5,2.369389615669735e-8,-9.91433801696836e-4,3.536137626092322e-5,2.385500900287136e-8,-9.912006576782077e-4,3.566352992413874e-5,2.4008564476421496e-8,-9.910555099664157e-4,3.591217265700787e-5,2.4134077453991628e-8,-9.909685467225334e-4,3.607935109184319e-5,2.4218367354514807e-8,-9.90904493799253e-4,3.615353059249766e-5,2.4256393376223053e-8,-9.90828480212809e-4,3.613845925610944e-5,2.4250587005171246e-8,-9.90710154736621e-4,3.605041340979941e-5,2.420946428455628e-8,-9.905262925749175e-4,3.5915102415850375e-5,2.4146106990416895e-8,-9.902625674466235e-4,3.576480559520487e-5,2.407673810359449e-8,-9.899151595612757e-4,3.563558997580312e-5,2.4019285840091026e-8,-9.894925239248037e-4,3.556393259086711e-5,2.399161892926978e-8,-9.890169789091286e-4,3.558183032668142e-5,2.400906596769323e-8,-9.885248529442735e-4,3.570977187754583e-5,2.4080982598891237e-8,-9.880631022206629e-4,3.594816942793109e-5,2.4206693186517794e-8,-9.876803749587692e-4,3.6270078383065484e-5,2.4372152484305683e-8,-9.874125517596248e-4,3.662032117452578e-5,2.4549731590826265e-8,-9.872671120179847e-4,3.6926008414473374e-5,2.470348797116585e-8,-9.872146960178598e-4,3.7118461255131244e-5,2.4799926090503432e-8,-9.871951531337715e-4,3.715829143129886e-5,2.482028574407889e-8,-9.871375620403313e-4,3.705077677427379e-5,2.476806781996489e-8,-9.869847448893906e-4,3.684329236067619e-5,2.466765451933042e-8,-9.867105450566658e-4,3.660725536650436e-5,2.4555140657066402e-8,-9.86323904247596e-4,3.641469724773145e-5,2.4466432455541804e-8,-9.858615016007492e-4,3.631928880259697e-5,2.442766534764061e-8,-9.85374633250025e-4,3.634645237112784e-5,2.4450388419430107e-8,-9.849156337300748e-4,3.649235218034662e-5,2.453139904021426e-8,-9.845270231932197e-4,3.672923823051199e-5,2.465582036281864e-8,-9.842346708626541e-4,3.7014300862134964e-5,2.4801822245291615e-8,-9.840451716688692e-4,3.729969081586018e-5,2.4945700886248175e-8,-9.839470708571595e-4,3.754181375466232e-5,2.5066377411016933e-8,-9.839150653915634e-4,3.770836043790428e-5,2.514864253568232e-8,-9.83915845150665e-4,3.778218739727299e-5,2.5184832131647895e-8,-9.839141440703577e-4,3.776204586365129e-5,2.5175023720621267e-8,-9.838778946578378e-4,3.7660825559131726e-5,2.5126110722890017e-8,-9.837819111355383e-4,3.750231363693385e-5,2.5050212268447694e-8,-9.83610120160167e-4,3.731747931219535e-5,2.4962853060990782e-8,-9.833567922937184e-4,3.714089212336408e-5,2.4881163070795294e-8,-9.830272886633775e-4,3.700727412351498e-5,2.4822096717103307e-8,-9.826385911278707e-4,3.69477424015823e-5,2.4800505830703303e-8,-9.82219396284537e-4,3.698509836147771e-5,2.4826830050034716e-8,-9.818087670899545e-4,3.712771767756578e-5,2.4904243886600084e-8,-9.814515702841564e-4,3.7362648046258683e-5,2.5025539421476875e-8,-9.811889802018954e-4,3.7650571338024e-5,2.5170939795615703e-8,-9.810442154511204e-4,3.792755371116602e-5,2.5309102919604293e-8,-9.810080333830023e-4,3.811864493199592e-5,2.5403711739960307e-8,-9.81033207624282e-4,3.8163102204115404e-5,2.5425633123846726e-8,-9.810462359989666e-4,3.804100654306584e-5,2.5365828059548833e-8,-9.809743731534347e-4,3.778505688611488e-5,2.524112956896296e-8,-9.807739041156364e-4,3.746843502401319e-5,2.508825210734586e-8,-9.804438663459916e-4,3.717577379911337e-5,2.4949313572355698e-8,-9.800204118408863e-4,3.697428727925494e-5,2.485733884169189e-8,-9.795593431768212e-4,3.6897909348930136e-5,2.4828320900585492e-8,-9.791176972697106e-4,3.694613487266822e-5,2.4860822858248447e-8,-9.78740821256568e-4,3.709208601691692e-5,2.4940346749398108e-8,-9.784561041063255e-4,3.7293678129001164e-5,2.5045249521682385e-8,-9.782718489133458e-4,3.7504071244625615e-5,2.5152145120602866e-8,-9.781792758595254e-4,3.7679941882763186e-5,2.5239992535436655e-8,-9.781562333794412e-4,3.778745647138105e-5,2.5292850462091087e-8,-9.781718882523143e-4,3.780606999115621e-5,2.530147602469855e-8,-9.781918620216884e-4,3.773013883351006e-5,2.5263886480747403e-8,-9.781832167389938e-4,3.7568458080856365e-5,2.518501010675023e-8,-9.78118742072559e-4,3.7342042791065954e-5,2.507558218052921e-8,-9.779801236071979e-4,3.708061130398327e-5,2.4950452157285786e-8,-9.777597868775496e-4,3.681839353569755e-5,2.4826535622686178e-8,-9.774615375963498e-4,3.6589861622145944e-5,2.47206704952449e-8,-9.771002958644923e-4,3.642562803302159e-5,2.464752335844287e-8,-9.767011177636903e-4,3.6348412775412787e-5,2.461757103592887e-8,-9.762974059618317e-4,3.636884684333104e-5,2.463512177599872e-8,-9.759277035517238e-4,3.648101405343806e-5,2.4696356361916733e-8,-9.75629951246629e-4,3.665840901177218e-5,2.4787660934629145e-8,-9.754322748465593e-4,3.685252659570957e-5,2.4885193908702775e-8,-9.75340987613693e-4,3.699788916582287e-5,2.495739454375517e-8,-9.753299684090048e-4,3.702722840929396e-5,2.4972198717358794e-8,-9.753395265608093e-4,3.689599167738356e-5,2.490869287630752e-8,-9.752920720559031e-4,3.6606102877796636e-5,2.4768523544825133e-8,-9.751219280535475e-4,3.62127126348543e-5,2.457919604533296e-8,-9.748035378869218e-4,3.580501071706199e-5,2.4384716721739845e-8,-9.743604317943561e-4,3.5470563709328834E-05,2.4228018734390125e-8,-9.738510761405169e-4,3.526450154078282e-5,2.4135686744524703e-8,-9.733435765106256e-4,3.519840608946445e-5,2.411249078547065e-8,-9.728943634004211e-4,3.5247780682422384e-5,2.4145284649450995e-8,-9.725377477092212e-4,3.536768335651393e-5,2.4211049479849402e-8,-9.722848444423038e-4,3.550754893515966e-5,2.428448154165182e-8,-9.72127563371285e-4,3.562150854076412e-5,2.4343174928178926e-8,-9.720441769973178e-4,3.567417242302132e-5,2.437035998268252e-8,-9.720046367152485e-4,3.56432887461309e-5,2.4355963585866076e-8,-9.719752390974952e-4,3.552063301357858e-5,2.4296779131561367e-8,-9.719228596586245e-4,3.531171554305102e-5,2.4196141313711178e-8,-9.718188423673552e-4,3.503437202507118e-5,2.406317927089353e-8,-9.716423998941957e-4,3.471621408885309e-5,2.3911605715671775e-8,-9.713832408989576e-4,3.439096166140005e-5,2.3757978780585042e-8,-9.710430366130846e-4,3.409389102193965e-5,2.361948593481193e-8,-9.70635446133547e-4,3.3856923351839665e-5,2.3511491505683215e-8,-9.701846919981149e-4,3.370390574741038e-5,2.3445165212560717e-8,-9.697228228770885e-4,3.364647614797688e-5,2.342546325722505e-8,-9.692857745624962e-4,3.368081166293388e-5,2.3449670440655165e-8,-9.689081926968012e-4,3.378557365972413e-5,2.3506650641077334e-8,-9.686168099705691e-4,3.392170644199995e-5,2.357703705485365e-8,-9.684224658620934e-4,3.4035563171401795e-5,2.3634937383161203e-8,-9.68312113340623e-4,3.406746818840269e-5,2.3652061632635778e-8,-9.682443258694862e-4,3.396706662113197e-5,2.3604922859051918e-8,-9.681538286062369e-4,3.371329935534211e-5,2.348419799835916e-8,-9.679692761326831e-4,3.333058404686902e-5,2.330235800983941e-8,-9.676407409410866e-4,3.2888734991917684e-5,2.3093584924486144e-8,-9.671629996624705e-4,3.2480309923178234e-5,2.2902797651000153e-8,-9.665791080763037e-4,3.2184835146996645e-5,2.276825671546724e-8,-9.659613244934983e-4,3.204046428493923e-5,2.270778086296016e-8,-9.653822640887052e-4,3.203767611505963e-5,2.2715798323767404e-8,-9.648929276683705e-4,3.213287335072607e-5,2.2770213229558723e-8,-9.645149837962753e-4,3.226903530996189e-5,2.2842729866168465e-8,-9.642442355567376e-4,3.239247708087407e-5,2.2907171397624284e-8,-9.640587530216115e-4,3.24620993246358e-5,2.2943963859402317e-8,-9.639270001539048e-4,3.245248074250296e-5,2.2941464499432092e-8,-9.638140578411377e-4,3.235353569481727e-5,2.2895550510650823e-8,-9.6368595444148e-4,3.2168912493880215e-5,2.28086319018673e-8,-9.635128997527551e-4,3.191410788621952e-5,2.2688634455621677e-8,-9.632720633656184e-4,3.161432337084309e-5,2.2547969983926774e-8,-9.629500908473864e-4,3.1301728190777524e-5,2.2402276055104036e-8,-9.625451789726969e-4,3.101176374193039e-5,2.226867575507521e-8,-9.620681774777247e-4,3.077836455776551e-5,2.216345368450055e-8,-9.615420329416084e-4,3.0628500411465295e-5,2.209935540113096e-8,-9.609991467969121e-4,3.057690888665009e-5,2.2082994490797295e-8,-9.604766797714861e-4,3.062205911343596e-5,2.2112942498469528e-8,-9.600102747775835e-4,3.074434601472043e-5,2.2179018433807102e-8,-9.596270214263777e-4,3.090724439259373e-5,2.2263089974248304e-8,-9.593386562986945e-4,3.1061771792007744e-5,2.2341454918293274e-8,-9.591361349101454e-4,3.1154428547892235e-5,2.2388764734143828e-8,-9.589871735461636e-4,3.113854434292479e-5,2.2383389507898628e-8,-9.588390052667267e-4,3.0987899671081076e-5,2.23137088373979e-8,-9.586285812047179e-4,3.0709291166627064e-5,2.2183841699676357e-8,-9.583004549904042e-4,3.034807980718291e-5,2.20160808943815e-8,-9.578277490469907e-4,2.9980170319710332e-5,2.1846942684937246e-8,-9.572262091683876e-4,2.968886340238766e-5,2.1716059377740093e-8,-9.565515092747311e-4,2.953507814969651e-5,2.1651963566920276e-8,-9.558790138711099e-4,2.9536365304518656e-5,2.166217296734255e-8,-9.552767930981623e-4,2.9665583334704913e-5,2.173278583758932e-8,-9.547860467171304e-4,2.9867061406297094e-5,2.1836474927304304e-8,-9.544158266696612e-4,3.0078540975903094e-5,2.1943173400982044e-8,-9.541492278461368e-4,3.024805141205629e-5,2.20281932369835e-8,-9.539540335951516e-4,3.034185193150517e-5,2.2075920768301698e-8,-9.537924048895253e-4,3.0345247140230987e-5,2.208000983233228e-8,-9.536275311546465e-4,3.025982229495277e-5,2.204185499562896e-8,-9.534275077413425e-4,3.0099841725022342e-5,2.1968736705240954e-8,-9.531675967845711e-4,2.9889041402266785e-5,2.187225621318765e-8,-9.528318988517542e-4,2.9657867759765324e-5,2.1767059789256722e-8,-9.524149404686213e-4,2.9440645440285744e-5,2.1669541941369942e-8,-9.519231274636026e-4,2.9272003957849185e-5,2.1596154336982085e-8,-9.513754532627277e-4,2.9182105324352853e-5,2.156109047838405e-8,-9.508024505321581e-4,2.9190878090889825e-5,2.1573483188737836e-8,-9.502424663511357e-4,2.9302351813132366e-5,2.1634700321363326e-8,-9.49735030418587e-4,2.9500882232911995e-5,2.1736638845838566e-8,-9.493122042363756e-4,2.975120128025421e-5,2.1861931766478845e-8,-9.489899450602254e-4,3.0003488125871785e-5,2.19865714491652e-8,-9.487620601966599e-4,3.020311750055373e-5,2.2084695992892515e-8,-9.485988957950232e-4,3.030316317880326e-5,2.2134553407674564e-8,-9.484518091654521e-4,3.0276810472256283e-5,2.2124270364054122e-8,-9.482632222856166e-4,3.0126538386465414e-5,2.205597301242971e-8,-9.479807554179524e-4,2.9887047408005317e-5,2.194689841841948e-8,-9.475724436270446e-4,2.961960692398054e-5,2.1826477535904775e-8,-9.470384606933393e-4,2.9397309036501518e-5,2.1729216202936675e-8,-9.464140919087501e-4,2.9284117233135745e-5,2.168479093152599e-8,-9.457607135250013e-4,2.931474722874649e-5,2.1708699518209903e-8,-9.451468703045619e-4,2.948415363474355e-5,2.179756824154432e-8,-9.446272642077682e-4,2.975166154093429e-5,2.19313942223417e-8,-9.442287741878977e-4,3.005706659105484e-5,2.2081348790756766e-8,-9.439480612138644e-4,3.0340177706433605e-5,2.2219059244211306e-8,-9.437587330039747e-4,3.05555047742844e-5,2.232346391891961e-8,-9.436224123828684e-4,3.0678595514250895e-5,2.2383640253534496e-8,-9.434987028230832e-4,3.0705355294702186e-5,2.2398300631400305e-8,-9.433518093842979e-4,3.0647746413302585e-5,2.2373619930447855e-8,-9.431539596951896e-4,3.052879162175852e-5,2.2320812424416252e-8,-9.42886827941632e-4,3.0378337056025078e-5,2.2254139731918605e-8,-9.425421763466582e-4,3.0229750427711546e-5,2.2189391361884014e-8,-9.421224563862095e-4,3.011700715597695e-5,2.2142531937943215e-8,-9.416414774327706e-4,3.0071346469157127e-5,2.212810620989906e-8,-9.411245660268458e-4,3.0116816661240038e-5,2.215710354642401e-8,-9.406070615964384e-4,3.026467552618603e-5,2.2234316233793085e-8,-9.40129838692488e-4,3.050774422637882e-5,2.2355753528190237e-8,-9.397312194328286e-4,3.0817081031483444e-5,2.2507225708871276e-8,-9.394363651629871e-4,3.1143952690525606e-5,2.266544635054926e-8,-9.39247469629382e-4,3.14289902634384e-5,2.2802467253505157e-8,-9.391392811567771e-4,3.161734154321736e-5,2.28928419535772e-8,-9.390631834203985e-4,3.1675072753920046e-5,2.292128485717643e-8,-9.389595011470184e-4,3.160054917881444e-5,2.2887892684632222e-8,-9.38774017044829e-4,3.142629938669554e-5,2.2808821851867562E-08,-9.384731170441491e-4,3.121073248180759e-5,2.2712144428496986e-8,-9.380529653295315e-4,3.102263562512172e-5,2.2630329259409035e-8,-9.37540421932073e-4,3.0923179639618185e-5,2.2591680785415607e-8,-9.369857583175107e-4,3.095034383443137e-5,2.261312414301245e-8,-9.364492385837592e-4,3.1109898640259824e-5,2.269626110812058e-8,-9.359853619300495e-4,3.137546064701527e-5,2.2827755619925506e-8,-9.356295240548179e-4,3.16974681512932e-5,2.2983821119346855e-8,-9.353911527823038e-4,3.2017802198202046e-5,2.313717510433112e-8,-9.35254811672147e-4,3.228479107023496e-5,2.326399499414142e-8,-9.351875597689146e-4,3.2463820357644084e-5,2.3348709349042408e-8,-9.351488611202442e-4,3.2541398176328435e-5,2.338570291153537e-8,-9.350994833205346e-4,3.25234996917194e-5,2.3378386345866902e-8,-9.350074661012362e-4,3.2430678404906835e-5,2.333682380228043e-8,-9.348510276335349e-4,3.229243028857118e-5,2.3275080016553152e-8,-9.346193314669444e-4,3.214231620297721e-5,2.3208959235950077e-8,-9.34312262797197e-4,3.2014221186669155e-5,2.3154273367792384e-8,-9.339400414025882e-4,3.193933185076618e-5,2.3125418905859264e-8,-9.33522913696338e-4,3.194305448645945e-5,2.3133910756853474e-8,-9.330904862493931e-4,3.204115275895757e-5,2.3186578394138074e-8,-9.326796244283101e-4,3.223492294630654e-5,2.3283386135426127e-8,-9.323295184334296e-4,3.250635238251842e-5,2.3415326287966734e-8,-9.320730236673442e-4,3.281574833663746e-5,2.356349553000111e-8,-9.319252711366798e-4,3.310543782936856e-5,2.3700943505328696e-8,-9.318736216132645e-4,3.331219177128394e-5,2.3798471243414568e-8,-9.318752640651988e-4,3.338676318697942e-5,2.3833655432768257e-8,-9.31866963948998e-4,3.331301147491189e-5,2.3799668733206908e-8,-9.317849968972861e-4,3.311655040946259e-5,2.3709231637614105e-8,-9.315865645433877e-4,3.2857438239323513e-5,2.3591073380549135e-8,-9.312628626536916e-4,3.2610345594110236e-5,2.3480457903216238e-8,-9.308393005661033e-4,3.24417200448329e-5,2.3408301483171562e-8,-9.303651936824847e-4,3.239281090859414e-5,2.339318150193606e-8,-9.298986864069065e-4,3.24725338782039e-5,2.343818307136948e-8,-9.29492219127464e-4,3.265959531263871e-5,2.3532245846076462e-8,-9.291818021359038e-4,3.2911055999915944e-5,2.3654527540462002e-8,-9.289814804693926e-4,3.317408157338681e-5,2.3780107907133812e-8,-9.28883102878134e-4,3.339795710135585e-5,2.3885603751994195e-8,-9.288606081706539e-4,3.3543937048918637e-5,2.3953598676844333e-8,-9.288772589118661e-4,3.3591181371482934e-5,2.3975172255395918e-8,-9.288937419745458e-4,3.353814016920971e-5,2.395033272948154e-8,-9.288751893623011e-4,3.340004673214571e-5,2.3886721538417358e-8,-9.287959268978146e-4,3.320403594462646e-5,2.3797303763589087e-8,-9.286417064222096e-4,3.298355112980294e-5,2.369778683496962e-8,-9.284099392258089e-4,3.277328729013441e-5,2.3604298515993387e-8,-9.281087947963245e-4,3.260518664063019e-5,2.3531530406527254e-8,-9.277558922978596e-4,3.25053020042501e-5,2.3491259018736307e-8,-9.27376881127838e-4,3.2490978444289704E-05,2.349102519309791e-8,-9.270036743482587e-4,3.2567791005183e-5,2.3532761106056747e-8,-9.266715169341242e-4,3.2726055504754945e-5,2.361130945511728e-8,-9.264137151151058e-4,3.293770276831043e-5,2.3713172494102367e-8,-9.262532777753961e-4,3.315574465668824e-5,2.3816439311101114e-8,-9.261924253535585e-4,3.331972423030237e-5,2.389335984974595e-8,-9.262040127993932e-4,3.336992217268715e-5,2.3916815814377182e-8,-9.262317722939682e-4,3.326872605091641e-5,2.3870037451283865e-8,-9.26204733848964e-4,3.3020183443077696e-5,2.3755545743126395e-8,-9.260627882338456e-4,3.267485106444268e-5,2.3597373291928313e-8,-9.257806549268176e-4,3.2313603001887904e-5,2.343349628055146e-8,-9.253766285983505e-4,3.201794497161325e-5,2.3301884783205278e-8,-9.249026226141552e-4,3.1842977355389055e-5,2.3227766419155888e-8,-9.244236141866019e-4,3.1804942562237756e-5,2.321783898637054e-8,-9.239978305283136e-4,3.188429203691447e-5,2.3261932645223352e-8,-9.236643245273065e-4,3.203781785436325e-5,2.3339012154274225e-8,-9.234386977616611e-4,3.221281488408803e-5,2.3424069805742805e-8,-9.233147289125141e-4,3.235906739356297e-5,2.3493825767808208e-8,-9.232692914346888e-4,3.243722377144107e-5,2.3530540271546322e-8,-9.232686902572398e-4,3.242362191865267e-5,2.3524031114582375e-8,-9.232753070314963e-4,3.231198064538372e-5,2.347219924760264e-8,-9.232537561991422e-4,3.211234823824068e-5,2.3380345332508162e-8,-9.231758558037119e-4,3.1847866001873865e-5,2.3259584838009844e-8,-9.230239270817444e-4,3.155012781518374e-5,2.3124710835478002e-8,-9.227922362546493e-4,3.1253999746506684e-5,2.299185234886264e-8,-9.224867387452752e-4,3.0992724464646724e-5,2.2876250708263638e-8,-9.221236055597706e-4,3.079385597163362e-5,2.27903811393233e-8,-9.217270560533948e-4,3.067609570471294e-5,2.2742468990955336e-8,-9.213267796337176e-4,3.064680318714811e-5,2.2735346156833847e-8,-9.20954912564315e-4,3.0699934328855683e-5,2.2765581416612138e-8,-9.206421478418023e-4,3.08143607477365e-5,2.2822873109824424e-8,-9.204122660196305e-4,3.095320827010874e-5,2.2889943688910157e-8,-9.202747886912586e-4,3.106597764009101e-5,2.2943650815208422e-8,-9.20216936947342e-4,3.1095988189358365e-5,2.2958395502173376e-8,-9.201985234595585e-4,3.099497926622176e-5,2.2912665548665453e-8,-9.201557642877907e-4,3.074296687634402e-5,2.2797948208220792e-8,-9.200186966514138e-4,3.0364621739963786e-5,2.2626137511840795e-8,-9.197385636888824e-4,2.9929213138156976e-5,2.242949417390068e-8,-9.193108394574188e-4,2.9527970187913423e-5,2.225019669376877e-8,-9.187785340875029e-4,2.9238845703639758e-5,2.2123997801802605e-8,-9.182134225021054e-4,2.9098989670442113e-5,2.2067447146301895e-8,-9.176879830111815e-4,2.9098589555165532e-5,2.2075132170368005e-8,-9.17253784391652e-4,2.9193712335522423e-5,2.212586268610836e-8,-9.169332050515159e-4,2.932621852597383e-5,2.2192168520093514e-8,-9.167219505579218e-4,2.944065181810668e-5,2.224829932694638e-8,-9.165966656263807e-4,2.949439756587482e-5,2.2274934020959177e-8,-9.165233093736817e-4,2.9461840863147958e-5,2.226094758259148e-8,-9.164642868928159e-4,2.9334685108527463e-5,2.220331133229603e-8,-9.163839913645998e-4,2.9120232422900573e-5,2.2106066579955823e-8,-9.162530317647461e-4,2.883851348103519e-5,2.1978863978225656e-8,-9.160513185398048e-4,2.8518597058158136e-5,2.1835244906513958e-8,-9.15769988624412e-4,2.8194298243653313e-5,2.1690730238489156e-8,-9.154120664548803e-4,2.7899535170271005e-5,2.1560765750180442e-8,-9.149917488095805e-4,2.7663738874698725e-5,2.1458654195702416e-8,-9.145323801553542e-4,2.7507851429598272e-5,2.1393709233720136e-8,-9.140634112563936e-4,2.744128142921948e-5,2.136983448703116e-8,-9.136166435043148e-4,2.745994641856036e-5,2.1384644526880326e-8,-9.13221944692427e-4,2.754549808736449e-5,2.1429208794373388e-8,-9.129024910120398e-4,2.7665888640565562e-5,2.148847949703196e-8,-9.126694819496386e-4,2.7777706431344518e-5,2.154253176218981e-8,-9.125166098566058e-4,2.7831321553144563e-5,2.156899691685832e-8,-9.124157000485842e-4,2.7780165658292776e-5,2.1547232079309533e-8,-9.123165267733067e-4,2.759442992476146e-5,2.1464373542698462e-8,-9.121548623777333e-4,2.7276427140508372e-5,2.1322119221499095e-8,-9.118711019526034e-4,2.6870144591949852e-5,2.114094313683426e-8,-9.114350063079968e-4,2.6455006129514234e-5,2.0957209029743784e-8,-9.108634742462995e-4,2.6120092101343845e-5,2.081139801841706e-8,-9.102178200814272e-4,2.5929424367736944e-5,2.0732255869559906e-8,-9.095797117160946e-4,2.5898353086471822e-5,2.0726067368364644e-8,-9.090202329768966e-4,2.5993933266429337e-5,2.077699539719869e-8,-9.085793014011967e-4,2.615479802733407e-5,2.0856387709915296e-8,-9.082619863653898e-4,2.6315579246745158e-5,2.09341239475786e-8,-9.080467696016204e-4,2.6424152758084614e-5,2.098656643738969e-8,-9.078974977973308e-4,2.6448875948786817e-5,2.0999792057647626e-8,-9.077736775849799e-4,2.6378608518081082e-5,2.0969414117202983e-8,-9.076374388060467e-4,2.621931034153885e-5,2.089880711320176e-8,-9.074576563940846e-4,2.598981028468818e-5,2.0797007293920687e-8,-9.072123555606045e-4,2.5717763310892864e-5,2.067680801973962e-8,-9.068901702931364e-4,2.543581375595846e-5,2.055305287961445e-8,-9.064910919600087e-4,2.51777245706118e-5,2.044096225969404e-8,-9.060264239903059e-4,2.497429600456872e-5,2.0354350101638346e-8,-9.055176396903595e-4,2.4849147035049042e-5,2.0303725663131417e-8,-9.049938331462582e-4,2.48148520431951e-5,2.0294513960783498e-8,-9.044877759473634e-4,2.487013629166907e-5,2.0325761996341625e-8,-9.040309431041147e-4,2.4998716181532725e-5,2.0389648367651206e-8,-9.036480496186143e-4,2.5170219741609872e-5,2.0472012539751645e-8,-9.033517513971097e-4,2.534346091236584e-5,2.0553994872596846e-8,-9.031382345469437e-4,2.5472113323665762e-5,2.0614734900078757e-8,-9.029845516590252e-4,2.5512741628428336e-5,2.0635033273204925e-8,-9.028490149929373e-4,2.5434954827073677e-5,2.0601836238167363e-8,-9.026764902106563e-4,2.5232408447057923e-5,2.0513003051675774e-8,-9.02410173775587e-4,2.4931333305205534e-5,2.03809375747986e-8,-9.020092509206674e-4,2.459113424824214e-5,2.0232703367730958e-8,-9.014671775780341e-4,2.4291763948560345e-5,2.0104263036672917e-8,-9.008206650653747e-4,2.4108119510329703e-5,2.0028949316011377e-8,-9.001407652157997e-4,2.40815816794724e-5,2.002473027343289e-8,-8.995076036470077e-4,2.4204454860463047e-5,2.0087372224985797e-8,-8.989819618378563e-4,2.442640209534498e-5,2.0193550978397385e-8,-8.985886426926948e-4,2.4677367529835956e-5,2.0311351442965695e-8,-8.983168875609791e-4,2.489249041554455e-5,2.0411570672683616e-8,-8.981321994515865e-4,2.5027742305275945e-5,2.0474734817052442e-8,-8.979905680705888e-4,2.506411353886881e-5,2.0492861273368607e-8,-8.978493659111419e-4,2.50042478933684e-5,2.0467761838839778e-8,-8.976735626310779e-4,2.486629512223054e-5,2.040810250953443e-8,-8.974383807300419e-4,2.46779904367794e-5,2.0326637181998767e-8,-8.971300793370073e-4,2.447195277178342e-5,2.0238087853917463e-8,-8.967460299014721e-4,2.4281946492655756e-5,2.0157529321890946e-8,-8.962944874862408e-4,2.41394984040332e-5,2.009894778188007e-8,-8.957939342688571e-4,2.4070383811391924e-5,2.0073707412014148e-8,-8.952715333108823e-4,2.4090842783267837e-5,2.0088849549234874e-8,-8.94760107898572e-4,2.420397021695154e-5,2.014545178891125e-8,-8.942933680114259e-4,2.4397265038716906e-5,2.0237535845060154e-8,-8.938997498069575e-4,2.4642474151023778e-5,2.0352064205131918e-8,-8.935958998883974e-4,2.4898610660257977E-05,2.047041270308535e-8,-8.933813137979958e-4,2.5118392150347438e-5,2.057138082449648e-8,-8.932357382837027e-4,2.525738915614616e-5,2.0635360425476936e-8,-8.931205738507962e-4,2.5284299096435977e-5,2.0648906749984923e-8,-8.929848689198422e-4,2.5190265415252555e-5,2.0608774843090036e-8,-8.927757350545704e-4,2.4994824362930195e-5,2.052437537467493e-8,-8.924519189134882e-4,2.4745797708676503e-5,2.0417514294488545e-8,-8.919975931406865e-4,2.4510848006438183e-5,2.031846414448125e-8,-8.914314961573257e-4,2.436039906856739e-5,2.0258291785338553e-8,-8.908058509117407e-4,2.4345690900774747e-5,2.0259156353576073e-8,-8.901923458736179e-4,2.4480408023514104e-5,2.032632704668696e-8,-8.896591855754514e-4,2.473538117757218e-5,2.0446077286436584e-8,-8.892494467896753e-4,2.505003874490458e-5,2.0590986107984132e-8,-8.889707658958967e-4,2.5354671159387962e-5,2.0729934824061592e-8,-8.887992171195747e-4,2.5592069573353648e-5,2.0837712880844427e-8,-8.886922966930062e-4,2.572983863637043e-5,2.0900398514110002e-8,-8.886031916452067e-4,2.576187327548421e-5,2.0915874009217856e-8,-8.884910916697882e-4,2.5702806387382103e-5,2.0891201501616617e-8,-8.883263469942507e-4,2.5580247122862124e-5,2.0839048300129043e-8,-8.880918126579759e-4,2.5427917810549098e-5,2.0774582188619598e-8,-8.877822930623571e-4,2.528066113611859e-5,2.071327182632323e-8,-8.874034503409459e-4,2.51709375729389e-5,2.0669390176493168e-8,-8.869707261418254e-4,2.5125989723721748e-5,2.0654810035291582e-8,-8.865081500699982e-4,2.5164954314173364e-5,2.067774642510077e-8,-8.86046435520712e-4,2.5295625909005256e-5,2.074132329135633e-8,-8.856195799846079e-4,2.5511276908268373e-5,2.0842176511925037e-8,-8.852594627043434e-4,2.578871501824554e-5,2.0969645761179816e-8,-8.849887434082308e-4,2.6089236359805585e-5,2.1106290594163275e-8,-8.848135668142814e-4,2.6363915683878577e-5,2.12303363316089e-8,-8.847186517320325e-4,2.6563437790964064e-5,2.132009779085571e-8,-8.846674515235134e-4,2.6650601378864086e-5,2.1359523275735847e-8,-8.846087189309281e-4,2.66117823350549e-5,2.1343206192558952e-8,-8.844884826177575e-4,2.6463259603390726e-5,2.1279054822091283e-8,-8.84264302201615e-4,2.6249677950410016e-5,2.1187425909026206e-8,-8.839176546726403e-4,2.6034332006823362e-5,2.109662263366006e-8,-8.83460649868888e-4,2.588342561020468e-5,2.1035784916221402e-8,-8.82934630955511e-4,2.584833167410523e-5,2.102703848956324e-8,-8.824002202963414e-4,2.595091364572211e-5,2.1079174189276926e-8,-8.81920975885244e-4,2.61768927835987e-5,2.1185003004173495e-8,-8.815456299885851e-4,2.648030419312936e-5,2.132360042425762e-8,-8.812952960849518e-4,2.6797977084991984e-5,2.146685384949102e-8,-8.811602994497689e-4,2.7068443874576867e-5,2.1587808754275467e-8,-8.811068251980501e-4,2.7247856141716944e-5,2.1667584069800153e-8,-8.81089260979772e-4,2.7317788146902162e-5,2.169866440830599e-8,-8.810626671495409e-4,2.7284359038585255e-5,2.168436095027221e-8,-8.809914703339173e-4,2.7171697969967655e-5,2.1635803660338795e-8,-8.80853375306616e-4,2.7013728986054004e-5,2.1568241334736312e-8,-8.806396376131523e-4,2.6847076911299085e-5,2.14978976330453e-8,-8.803534902028214e-4,2.670608170906783e-5,2.1439805851815076e-8,-8.800081064751453e-4,2.661959400830792e-5,2.140644761622855e-8,-8.796247407013677e-4,2.6608697363742646e-5,2.1406789555317838e-8,-8.792309875330124e-4,2.668453948521081e-5,2.1445354689839482e-8,-8.788585456571649e-4,2.684586308158884e-5,2.152116684744657e-8,-8.78539601693883e-4,2.7076554888474195e-5,2.162673250547703e-8,-8.783011687268403e-4,2.7344451028370228e-5,2.1747606543339466e-8,-8.781575952511767e-4,2.760340690883203e-5,2.1863392752506867e-8,-8.781030584565838e-4,2.780060405021578e-5,2.1951002414711444e-8,-8.781075985026394e-4,2.7889387640801088e-5,2.1990279643567898e-8,-8.781205807905475e-4,2.7844561840664714e-5,2.197066505165757e-8,-8.780829418086908e-4,2.767387999018061e-5,2.1896173090185512e-8,-8.779448870805086e-4,2.74194206923248e-5,2.178590013371832e-8,-8.776820355245091e-4,2.7146767973214645e-5,2.166911671129024e-8,-8.773032995196551e-4,2.692589193920319e-5,2.157667830482182e-8,-8.768478522267831e-4,2.6811226903755186e-5,2.153215088316852e-8,-8.763733034865937e-4,2.6827771709541934e-5,2.1545755773169187e-8,-8.759398672705631e-4,2.6966612293309254e-5,2.1612637371882027e-8,-8.75595423955086e-4,2.718972268856917e-5,2.171528609991872e-8,-8.753651397527334e-4,2.744156484383133e-5,2.182888124213572e-8,-8.75247681912975e-4,2.766380317219204e-5,2.1927841507686533e-8,-8.752182834583848e-4,2.7809084316441637e-5,2.1991802394858896e-8,-8.752370705991506e-4,2.78503969031841e-5,2.2009553750829985e-8,-8.752596751637627e-4,2.7784140827711733e-5,2.1980196488628183e-8,-8.752468743315799e-4,2.7627256123099378e-5,2.1911727125109708e-8,-8.751709906385506e-4,2.741056684869909e-5,2.181802519722558e-8,-8.750184292407893e-4,2.717106230583093e-5,2.1715442258405405e-8,-8.747891179445456e-4,2.6945211256019782e-5,2.161989799005169e-8,-8.744942264117304e-4,2.6764246324536103e-5,2.1544865267399724e-8,-8.741534012510591e-4,2.6651298588158375e-5,2.1500162537119337e-8,-8.73792188217311e-4,2.6619664630001775e-5,2.1491228293641114e-8,-8.734396730616577e-4,2.6671435073366737e-5,2.1518551762450664e-8,-8.731258580016011e-4,2.679606382670435e-5,2.1577100432093963e-8,-8.7287798682881e-4,2.696908317973565e-5,2.165584590639723e-8,-8.727151324958717e-4,2.7152056798777518e-5,2.1737843898724333e-8,-8.726411876491597e-4,2.7295776371153268e-5,2.180169400597056e-8,-8.72638123277193e-4,2.7348884643569248e-5,2.1825288578833227e-8,-8.726635290724197e-4,2.7272385770363037e-5,2.1792059497611342e-8,-8.726572026318421e-4,2.7056308642078688e-5,2.16981558387545e-8,-8.725583379939474e-4,2.673014546177635e-5,2.1556946339519295e-8,-8.723277672615219e-4,2.6358529275551267e-5,2.1397083391496553e-8,-8.719640776249092e-4,2.6020955368897574e-5,2.1253534423843147e-8,-8.715045501738401e-4,2.5784651947306544e-5,2.1155571953329428e-8,-8.71011034255676e-4,2.5683903518439307e-5,2.1117663450457478e-8,-8.705491307552995e-4,2.5713812934991007e-5,2.113685431521052e-8,-8.701702166525884e-4,2.5837496324388218e-5,2.119617587482424e-8,-8.699014006819977e-4,2.6000426627921144e-5,2.1271201276789622e-8,-8.697436570127698e-4,2.6145631661998167e-5,2.1336868320268546e-8,-8.696759171271625e-4,2.6225891752515828E-05,2.137282593288771e-8,-8.696624900426764e-4,2.621144415050257e-5,2.136666972028361e-8,-8.696616766384265e-4,2.609309797451578e-5,2.1315093592520665e-8,-8.696339802855976e-4,2.58812240139253e-5,2.1223246173929514e-8,-8.695486258957221e-4,2.560145694153938e-5,2.1102720086846007e-8,-8.693875014404906e-4,2.5288439658636282e-5,2.096877998090809e-8,-8.691463110554454e-4,2.4979158898865863e-5,2.083749001199522e-8,-8.688333814216199e-4,2.4707133641329762e-5,2.0723252879501703e-8,-8.684669509396333e-4,2.449818770419122e-5,2.0637035505226535e-8,-8.680718625220174e-4,2.4367943926356345e-5,2.0585317375536392e-8,-8.676763190924599e-4,2.432063005736646e-5,2.0569587886541e-8,-8.673088635246923e-4,2.4348592526606557e-5,2.0586157121313442e-8,-8.669953180759233e-4,2.4432155464044134e-5,2.0626149014017224e-8,-8.667551694766482e-4,2.4539935083866278e-5,2.0675728630559995e-8,-8.665969051568935e-4,2.4630410220170644e-5,2.0716875446414914e-8,-8.665124727648299e-4,2.4656354944466406e-5,2.0729342915038327e-8,-8.664725697134575e-4,2.4573949994687252e-5,2.0694555012387574e-8,-8.664264664054185e-4,2.43569138231536e-5,2.0601608133330403e-8,-8.663110139622543e-4,2.401199304406164e-5,2.0453867175701917e-8,-8.660704693962533e-4,2.3586965902470763e-5,2.0272378725582345e-8,-8.656806366986982e-4,2.316147155005631e-5,2.0091868871878088e-8,-8.651633988921566e-4,2.281978312873848e-5,1.9948869925345905e-8,-8.645805810525198e-4,2.2618527290404762e-5,1.9867633866200034e-8,-8.640097643843145e-4,2.256770525095591e-5,1.9851904328723277e-8,-8.635166675543678e-4,2.2633614094821955e-5,1.9886336038762515e-8,-8.63137948012429e-4,2.2757311910044172e-5,1.9944743482180508e-8,-8.628781813717942e-4,2.2875933655872637e-5,1.9999555353413913e-8,-8.62716501594731e-4,2.2938215554097242e-5,2.0028639520069148e-8,-8.626167844185233e-4,2.291219190087368e-5,2.0018587878018706e-8,-8.625373867297079e-4,2.2786717609544522e-5,1.9965210231098124e-8,-8.624388179572647e-4,2.256927580919071e-5,1.987237287145151e-8,-8.62289189850553e-4,2.2281913356921493e-5,1.975006320331657e-8,-8.620677332013985e-4,2.195621272300181e-5,1.9612130462789248e-8,-8.617664966194991e-4,2.16277997444501e-5,1.9473928068892485e-8,-8.613902656342819e-4,2.1330954467429593e-5,1.935006757875441e-8,-8.609548908336364e-4,2.109389378252815e-5,1.9252475069560743e-8,-8.60484364617139e-4,2.0935189055747062e-5,1.9188905233103563e-8,-8.600071436128826e-4,2.086164348674763e-5,1.91620410767755e-8,-8.595522857630777e-4,2.086763182325774e-5,1.916920143547591e-8,-8.591457649603986e-4,2.0935595960451394e-5,1.9202563113239573e-8,-8.588070106868445e-4,2.103741778004402e-5,1.9249802291736785e-8,-8.585455278490724e-4,2.1136657572340328e-5,1.9295144248855717e-8,-8.583574459539792e-4,2.119206027325631e-5,1.9320951414396224e-8,-8.582223041875423e-4,2.1163256231024873e-5,1.9310193204886934e-8,-8.581015046639913e-4,2.1019633830437e-5,1.9250187621650533e-8,-8.579412331421961e-4,2.0752106826417253e-5,1.913751847356446e-8,-8.576831677947019e-4,2.0384459053393114e-5,1.898276909784322e-8,-8.572838524692297e-4,1.997686961930766e-5,1.8811952221028124e-8,-8.567366035007616e-4,1.9613260947646273e-5,1.8661045623987466e-8,-8.560824766647061e-4,1.9371935268362093e-5,1.8563376708157653e-8,-8.553990379155328e-4,1.9293084341216936e-5,1.8535706064271064e-8,-8.547703530167884e-4,1.936321412352537e-5,1.8571651992880513e-8,-8.542559556665059e-4,1.952555465174852e-5,1.864632532315067e-8,-8.538756727449201e-4,1.970687106733324e-5,1.8727989569739696e-8,-8.536133022643489e-4,1.9843141688829028e-5,1.8789169711081318e-8,-8.534305325201742e-4,1.989357508587466e-5,1.8812667709058706e-8,-8.532814843157356e-4,1.984307509264013e-5,1.879252452479186e-8,-8.531232008002682e-4,1.969807749884717e-5,1.8732068113313398e-8,-8.529215833508998e-4,1.9480194465247334e-5,1.864101205609392e-8,-8.526540395091069e-4,1.9220106769211913e-5,1.8532719999846374e-8,-8.523103008730304e-4,1.8952387630912345e-5,1.8421969114052342e-8,-8.518922166171214e-4,1.8711017815063302e-5,1.83230973754797e-8,-8.514126718644334e-4,1.8525339647629737e-5,1.8248378472723516e-8,-8.508935758492765e-4,1.8416482805648164e-5,1.820658103690855e-8,-8.503628746581636e-4,1.839451037204468e-5,1.8201787199229734e-8,-8.498506739728784e-4,1.8456726342008194e-5,1.823266217066025e-8,-8.493848597949864e-4,1.858755364818312e-5,1.8292382925859e-8,-8.489867877928165e-4,1.8760075533750793e-5,1.8369304773500778e-8,-8.486675197616957e-4,1.8939094885436825e-5,1.8448317961918758e-8,-8.484249414374999e-4,1.908551666785093e-5,1.8512794690847823e-8,-8.482420318448436e-4,1.9161892414962764e-5,1.854700959220887e-8,-8.480866947760388e-4,1.9139120485201888e-5,1.853898427741999e-8,-8.47914089849887e-4,1.9004229019293404e-5,1.8483705191242097e-8,-8.476729841454053e-4,1.8768219337488148e-5,1.8386304668266145e-8,-8.473174336537129e-4,1.847105600233066e-5,1.8264025543393118e-8,-8.46823043761053e-4,1.8178888378359918e-5,1.814493877116609e-8,-8.462024594710862e-4,1.7968779622830955e-5,1.8061442704564362e-8,-8.455100213327113e-4,1.790201857047041e-5,1.8039011781499097e-8,-8.44827387250912e-4,1.7997506299222376e-5,1.8085063263440332e-8,-8.442336473553949e-4,1.82219741246474e-5,1.8184995677384506e-8,-8.437761660142642e-4,1.8504766407932626e-5,1.8308588065556925e-8,-8.434584576481965e-4,1.8767662195956877e-5,1.842267679658266e-8,-8.4324815382798e-4,1.895151458304113e-5,1.8502419193258396e-8,-8.430953104809079e-4,1.9028223922689918e-5,1.853631028756183e-8,-8.429494942284543e-4,1.8998849917980934e-5,1.852528741826402e-8,-8.427701821877676e-4,1.8884905878580218e-5,1.8478909462789927E-08,-8.425307640973115e-4,1.8718917804788393e-5,1.8411232187863652e-8,-8.4221863676526e-4,1.853706175763964e-5,1.8337626368837928e-8,-8.418337179676496e-4,1.837420046907955e-5,1.827269721178165e-8,-8.413866423383756e-4,1.8260484347668602e-5,1.822893007494307e-8,-8.408968704231464e-4,1.8218648925198794e-5,1.821564458019552e-8,-8.403904546985228e-4,1.8261602613572497e-5,1.8238040596675744e-8,-8.398971047784783e-4,1.8390365569227584e-5,1.8296347683661744e-8,-8.394462933471349e-4,1.859286581010708e-5,1.8385307406524103e-8,-8.390625554693548e-4,1.8844349042141637e-5,1.849434016111365e-8,-8.387606740926772e-4,1.9109956838288736e-5,1.86086555425353e-8,-8.38541735765671e-4,1.934955354341349e-5,1.871133966197072e-8,-8.383910411803681e-4,1.9524369896896514e-5,1.8786212347626552e-8,-8.382786396254357e-4,1.9604517498810704e-5,1.882101552190826e-8,-8.381628606157513e-4,1.957613104080785e-5,1.8810378176449664e-8,-8.379968680478822e-4,1.9446885164135782e-5,1.8758024552986323e-8,-8.377380159940519e-4,1.924845999124919e-5,1.8677651607636933e-8,-8.373591718549969e-4,1.9034058927322546e-5,1.8591733411884385e-8,-8.368597531357094e-4,1.886904423475679e-5,1.8527502435010273e-8,-8.362722099438048e-4,1.881422597460021e-5,1.8509963766801086e-8,-8.356585036787218e-4,1.890516421021724e-5,1.8553367099453363e-8,-8.350935969910999e-4,1.913599743885326e-5,1.865465529485676e-8,-8.346403242080155e-4,1.945802313397077e-5,1.8793064946602195e-8,-8.34327545916489e-4,1.979670869488179e-5,1.893732043323308e-8,-8.341432058884843e-4,2.0079064624085877e-5,1.905704488089487e-8,-8.340443957116498e-4,2.0256813697895776e-5,1.9132370964305275e-8,-8.339762461212966e-4,2.0315496394862994e-5,1.915767659009268e-8,-8.338890176634837e-4,2.0269954024688864e-5,1.9139616310843984e-8,-8.337477088005211e-4,2.015310994528189e-5,1.9092327487425826e-8,-8.335344195487556e-4,2.0004740360878148e-5,1.9032641784256222e-8,-8.332464619472108e-4,1.9863456916696745e-5,1.897669433393755e-8,-8.328930721117551e-4,1.9762094713418337e-5,1.8938027533986976e-8,-8.32492297882966e-4,1.9725314418621403e-5,1.8926665101186917e-8,-8.32068415293489e-4,1.97681582273195e-5,1.8948588036477114e-8,-8.316495311428089e-4,1.9894810847537727e-5,1.900526818571205e-8,-8.312647852018803e-4,2.0097427747145573e-5,1.909320121864192e-8,-8.309406311115315e-4,2.0355522535096095e-5,1.9203660731413604e-8,-8.306961138447342e-4,2.0636898921431595e-5,1.9323105247655924e-8,-8.305378232200559e-4,2.0901137965268803e-5,1.9434664802670044e-8,-8.304559556956476e-4,2.1106081507306507e-5,1.9520878928693548e-8,-8.304232734093543e-4,2.121667553013109e-5,1.9567400873830927e-8,-8.303983658234531e-4,2.121422167099143e-5,1.9566836162855173e-8,-8.303333870477527e-4,2.1103220227911646e-5,1.952153119702011e-8,-8.301848490250651e-4,2.0913258553630374e-5,1.9444248405592745e-8,-8.299248979192241e-4,2.069466744819484e-5,1.935621254368111e-8,-8.295501421522738e-4,2.0508232040964325e-5,1.928269583340997e-8,-8.290853574454966e-4,2.0410715377186484e-5,1.9246942812164235e-8,-8.285801055587781e-4,2.0439332177392955e-5,1.9263794111536346e-8,-8.2809766077195e-4,2.059951905236773e-5,1.9334808940806114e-8,-8.276980402284858e-4,2.086083916102179e-5,1.944680759157122e-8,-8.274201421640853e-4,2.1164367562493242e-5,1.957510063623294e-8,-8.272700826664273e-4,2.1440488239337026e-5,1.9690891838981256e-8,-8.272211164209307e-4,2.163042771909038e-5,1.9770119508971764e-8,-8.272248984694739e-4,2.1702369405362463e-5,1.980002378644996e-8,-8.27228099796603e-4,2.1656229173428763e-5,1.9781034701150995e-8,-8.271868289199328e-4,2.151765544352276e-5,1.9724204114230814e-8,-8.270743741962598e-4,2.1326531390819485e-5,1.9646358599563786e-8,-8.26882219952542e-4,2.1125677324855516e-5,1.9565355735798533e-8,-8.266169368517766e-4,2.095292185174144e-5,1.94967870339568e-8,-8.262957480189584e-4,2.0836914464318622e-5,1.9452286083130493e-8,-8.25942474644233e-4,2.0795532754586838e-5,1.9438941053262905e-8,-8.255843718992038e-4,2.083550384946244e-5,1.9459206265133282e-8,-8.252495647333255e-4,2.095228065573517e-5,1.9510899184512012e-8,-8.249644062349847e-4,2.112985311313308e-5,1.958715392852858e-8,-8.247500865889223e-4,2.1340896571258705e-5,1.96765117319045e-8,-8.24618243855376e-4,2.1548299489712724e-5,1.9763583444848516e-8,-8.245661579256653e-4,2.1709369314150928e-5,1.983081139445514e-8,-8.245731982415894e-4,2.1783542272099323e-5,1.9861656355918796e-8,-8.246010337711906e-4,2.174293624505869e-5,1.9844932417100713e-8,-8.24599762693081e-4,2.1582829143363222e-5,1.9779092489063103e-8,-8.245199320168276e-4,2.1327443144663598e-5,1.9674559193285197e-8,-8.243271463267552e-4,2.1027056964939968e-5,1.9552443886955017e-8,-8.240137478913354e-4,2.0745880537874062E-05,1.9439417625111437e-8,-8.236027048837928e-4,2.054443207807126e-5,1.9360323569771445e-8,-8.231420981185931e-4,2.046260583006955e-5,1.9331166390175837e-8,-8.226923062309316e-4,2.050897293837082e-5,1.9354816716611825e-8,-8.223101620532402e-4,2.065914064149752e-5,1.9420558033546697e-8,-8.220346412416486e-4,2.0863033376546166e-5,1.9507310836051278e-8,-8.218778118280972e-4,2.1058697312165184e-5,1.958944171580837e-8,-8.218233231961076e-4,2.1188662210092975e-5,1.964349015093813e-8,-8.218326197553458e-4,2.1214125651217814e-5,1.9653903415513317e-8,-8.21856605729153e-4,2.112285109501725e-5,1.9616154125454246e-8,-8.218486723198633e-4,2.092896166987658e-5,1.9536534435121197e-8,-8.21774900682099e-4,2.0665900016862456e-5,1.9429164058162805e-8,-8.216189955439171e-4,2.0376078120981753e-5,1.9311669317101807e-8,-8.213819939742871e-4,2.010103213726683e-5,1.9201115798957357e-8,-8.210785719648872e-4,1.987447711399243e-5,1.911118281263017e-8,-8.20732153301422e-4,1.9718757169934105e-5,1.905076891931154e-8,-8.203703758138432e-4,1.964388881521585e-5,1.9023668998090353e-8,-8.200215277640999e-4,1.9647991667492965e-5,1.9028805308153496e-8,-8.197118007420141e-4,1.971813517172542e-5,1.906061049159396e-8,-8.194627667111748e-4,1.983118207998987e-5,1.910940136475893e-8,-8.192884188063901e-4,1.99548908795387e-5,1.9161861647232118e-8,-8.191914615513263e-4,2.005020377589606e-5,1.920200887423933e-8,-8.191593400069361e-4,2.0076033762683125e-5,1.92131658914827e-8,-8.191616964490206e-4,1.999753215727303e-5,1.918132541360626e-8,-8.191520734989105e-4,1.9797250015148836e-5,1.909967483876304e-8,-8.190765586708921e-4,1.948575838000759e-5,1.8972896885336155e-8,-8.188893026085382e-4,1.9105659284594878e-5,1.881876618035338e-8,-8.185698549347501e-4,1.8723588649551148e-5,1.8664805935860888e-8,-8.181336800547649e-4,1.8410527065246534e-5,1.8540121068539456e-8,-8.176292682317155e-4,1.8218322499468568e-5,1.8465698823274743e-8,-8.171225750854558e-4,1.816336880244077e-5,1.844774602721915e-8,-8.166763753560664e-4,1.8224017124166648e-5,1.8476781130729858e-8,-8.163333375780404e-4,1.8350561857245017e-5,1.853193523194076e-8,-8.16107745214289e-4,1.8481632209535812e-5,1.8587831243527868e-8,-8.159860616604793e-4,1.8560533642340127e-5,1.8621333711184525e-8,-8.159338548044192e-4,1.8547406867931718e-5,1.8616474714546974e-8,-8.159059685028022e-4,1.8425544094309115e-5,1.856691337547998e-8,-8.158571772717478e-4,1.8201877478809365e-5,1.8475986230218312e-8,-8.157511568267292e-4,1.790263037304738e-5,1.8354797984609146e-8,-8.155662647845826e-4,1.756578402681822e-5,1.8219061692464088e-8,-8.152974777324008e-4,1.7232463817564305e-5,1.80855624276064e-8,-8.149548380423059e-4,1.6939285910434784e-5,1.79690735294896e-8,-8.14559552341495e-4,1.6713010048744217e-5,1.7880250136234366e-8,-8.141391520903434e-4,1.6567887899189816e-5,1.7824625038532265e-8,-8.13722894907782e-4,1.65052911686815e-5,1.7802510165505718e-8,-8.133380240113629e-4,1.6514764792978118e-5,1.7809448528021547e-8,-8.130068823177181e-4,1.6575692411162992e-5,1.7836899066496914e-8,-8.127444898746023e-4,1.6659173301351172e-5,1.787301036505299e-8,-8.12556110967037e-4,1.6730231029844328e-5,1.79035428156178e-8,-8.1243455505061e-4,1.6751012160459823e-5,1.7913194389418595e-8,-8.123576337801389e-4,1.6686038010803166e-5,1.7887740556088877e-8,-8.122873281432063e-4,1.6510317217035855e-5,1.7817300812807638e-8,-8.12173296759821e-4,1.6219656866485414e-5,1.7700472205744483e-8,-8.119633169768517e-4,1.5839706948872637e-5,1.754794502201198e-8,-8.116204935794114e-4,1.5427302108426434e-5,1.7382995748216617e-8,-8.111412381260521e-4,1.5058049525129414e-5,1.723638629723847e-8,-8.105632272728717e-4,1.4801145884299286e-5,1.713607209252042e-8,-8.099554919138893e-4,1.4692744717581516e-5,1.7096374287795603e-8,-8.093939263332287e-4,1.4722847634811913e-5,1.7112747706322244e-8,-8.089353936498745e-4,1.484233801753127e-5,1.7164799969601408e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json new file mode 100644 index 000000000..36daa4505 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":6000,"numberOfSamples":1000,"samples":[-8.086030009769924e-4,1.4983810405869992e-5,1.7224897231104907e-8,-8.083859978917138e-4,1.5083891420443416e-5,1.7267300877946733e-8,-8.082495498012613e-4,1.5098334698112563e-5,1.727428602498279e-8,-8.08147627922185e-4,1.5007880436382382e-5,1.72384405012867e-8,-8.080344588306433e-4,1.4817024022017442e-5,1.716203842239244e-8,-8.078727223656254e-4,1.4548770451198794e-5,1.705477562558989e-8,-8.076383715174149e-4,1.4237727414253643e-5,1.6930867623711068e-8,-8.07322519250199e-4,1.3922902257012772e-5,1.6806096847405343e-8,-8.069308512481781e-4,1.3641062334595963e-5,1.6695163186853533e-8,-8.064810674365431e-4,1.3421371907981373e-5,1.6609600165603765e-8,-8.059989962711845e-4,1.3281793410593358e-5,1.65564122262766e-8,-8.055140919096513e-4,1.3227437282497666e-5,1.6537470119423336e-8,-8.050550211507427e-4,1.3250758311506548e-5,1.654960752689265e-8,-8.046459011976815e-4,1.3333167640947059e-5,1.658525704041747e-8,-8.04303377210941e-4,1.3447472960351647e-5,1.6633415280209964e-8,-8.040343930544604e-4,1.3560785131852206e-5,1.6680814883554258e-8,-8.038344371049681e-4,1.3637887698738715e-5,1.6713305884428016e-8,-8.036861808400415e-4,1.3645376246194308e-5,1.6717552173535383e-8,-8.035588881624019e-4,1.355715046434086e-5,1.668324932697258e-8,-8.034098545481887e-4,1.3361633179672876e-5,1.660599824235996e-8,-8.031899161995416e-4,1.3069806636622722e-5,1.6490473396248044e-8,-8.028548171317579e-4,1.2720836118968e-5,1.635260915989386e-8,-8.023817298130074e-4,1.2379672673151174e-5,1.6218567533971117e-8,-8.017848916609258e-4,1.21214866090865e-5,1.6118432225501397e-8,-8.011195394685814e-4,1.2004672862047483e-5,1.6075358566152277e-8,-8.004664161243661e-4,1.2045064498369676e-5,1.6095295025865495e-8,-7.999018683719954e-4,1.2207888551202842e-5,1.6163899894807838e-8,-7.994702224832471e-4,1.242340488168506e-5,1.625294935668257e-8,-7.991732540075557e-4,1.2615665237930678e-5,1.6331930886767175e-8,-7.989782632286061e-4,1.2727385321542004e-5,1.6378010390939176e-8,-7.988353176257354e-4,1.2731278778766297e-5,1.6380533700705246e-8,-7.98693545654588e-4,1.262891363153558e-5,1.6340492793338305e-8,-7.985117563218257e-4,1.2443008649451221e-5,1.6267331548458157e-8,-7.982633092416262e-4,1.2208291416633506e-5,1.617517573988445e-8,-7.97937024226046e-4,1.1963551111059878e-5,1.6079587401967125e-8,-7.975359220318068e-4,1.1745517867734186e-5,1.5995123017000115e-8,-7.970748169146011e-4,1.1584298423249006e-5,1.5933578635139873e-8,-7.96577147084504e-4,1.1500116000004205e-5,1.59027823489698e-8,-7.960712612774264e-4,1.1501312858278244e-5,1.5905873133149612e-8,-7.955863788122124e-4,1.1583659586297626e-5,1.5941057128577827e-8,-7.951485028139105e-4,1.1731083070377464e-5,1.6001886167851592e-8,-7.947767272267163e-4,1.191780985300591e-5,1.607808021319529e-8,-7.944803671342594e-4,1.2111620389700717e-5,1.615680382240154e-8,-7.942570988685387e-4,1.2277833661532118e-5,1.622426162217438e-8,-7.940921495251726e-4,1.2383811890041994e-5,1.6267523534675877e-8,-7.939586304605242e-4,1.2403888228974189e-5,1.627651653757225e-8,-7.938193280601158e-4,1.2324675476991541e-5,1.6246136706354253e-8,-7.936307142675456e-4,1.2150538325271284e-5,1.6178380649204796e-8,-7.933502814410618e-4,1.1908091876990174e-5,1.608405253597014e-8,-7.929477558193591e-4,1.164701184564693e-5,1.5982993948326116e-8,-7.924185834346178e-4,1.1433225812865484e-5,1.5901308272972388e-8,-7.91794201526995e-4,1.1331683271163489e-5,1.5864503448445484e-8,-7.911404620961953e-4,1.1381697803054312e-5,1.5887775959579784e-8,-7.905387505296019e-4,1.1576581858174432e-5,1.5968081661271605e-8,-7.900557579253249e-4,1.1862063556780149e-5,1.6083659449037498e-8,-7.897185238722374e-4,1.2157584885353175e-5,1.6202533533502623e-8,-7.895090488599649e-4,1.238821600505574e-5,1.629512295943271e-8,-7.893784662655317e-4,1.2508703453700893e-5,1.6343711956180873e-8,-7.892687928634058e-4,1.2510154891614356e-5,1.6345059350363414e-8,-7.891303130012338e-4,1.2412762325594466e-5,1.630746636423513e-8,-7.889301607306106e-4,1.22532563576661e-5,1.6245726990312346e-8,-7.886537075923972e-4,1.207350096757021e-5,1.6176528951831164e-8,-7.883021088407754e-4,1.1912612868365128e-5,1.611529698390703e-8,-7.878886554381245e-4,1.1802366938175958e-5,1.6074404646753326e-8,-7.874351827903575e-4,1.1764678405500699e-5,1.606225725212218e-8,-7.869686785579548e-4,1.1810193745663737e-5,1.6082821884922013e-8,-7.865178808041266e-4,1.1937644143326378e-5,1.613543027797478e-8,-7.861097334099989e-4,1.2134002375285157e-5,1.621485643068633e-8,-7.857657050956631e-4,1.2375715139896458e-5,1.631178566628287e-8,-7.854982761710509e-4,1.2631342722271491e-5,1.6413830995212057e-8,-7.853082129742637e-4,1.2865627763957707e-5,1.650712800670973e-8,-7.851832404152557e-4,1.3044611801087987e-5,1.6578365268496393e-8,-7.850984979333072e-4,1.3141234772513003e-5,1.661701655440917e-8,-7.850189859904393e-4,1.314074642924285e-5,1.6617484545055545e-8,-7.849040783473408e-4,1.3045167089176555e-5,1.658083277620777e-8,-7.847140887854131e-4,1.2875989940709468e-5,1.6515781106734278e-8,-7.84418739673568e-4,1.2674020385660439e-5,1.643854403323704e-8,-7.840067264380274e-4,1.2494690124657561e-5,1.637089555624342e-8,-7.834940629310338e-4,1.2397202649814611e-5,1.633586078646625e-8,-7.829269123445694e-4,1.242762480633356e-5,1.6351121218225165e-8,-7.823738580167101e-4,1.2600199243328678e-5,1.6421819173272966e-8,-7.819059640317111e-4,1.2886068491034284e-5,1.6536310251172648e-8,-7.815711190078477e-4,1.3218908359013295e-5,1.6668481029581357e-8,-7.813760467322517e-4,1.3518369457025356e-5,1.678692018769316e-8,-7.812866097556989e-4,1.3719738169680302e-5,1.6866455278038853e-8,-7.81245043675736e-4,1.3793772038801468e-5,1.689586528796916e-8,-7.811924892995569e-4,1.3748855436262393e-5,1.6878708749903426e-8,-7.810853126995724e-4,1.3619700644445478e-5,1.6828864667497608e-8,-7.809012145161698e-4,1.3452099763330615e-5,1.6764485192192976e-8,-7.806376216935296e-4,1.3290653946538645e-5,1.6703112676782687e-8,-7.803066615377375e-4,1.31716120529323e-5,1.6658847878700447e-8,-7.799298430182615e-4,1.311988593603372e-5,1.6641219568441624e-8,-7.795337437080761e-4,1.3148379669826384e-5,1.665500141543589e-8,-7.791466519745774e-4,1.3258192670318894e-5,1.6700371540229692e-8,-7.787956166079658e-4,1.3439123013885566e-5,1.6773161126941902e-8,-7.785034521569552e-4,1.3670540636302536e-5,1.6865211246133127e-8,-7.782855194761558e-4,1.3923070098588027e-5,1.6965022456657025e-8,-7.781465158733033e-4,1.4161671472159447e-5,1.705894395665733e-8,-7.780780274644127e-4,1.4350439747166847e-5,1.713304166764391e-8,-7.780578724819625e-4,1.4458808126371696e-5,1.717552433911576e-8,-7.780520945693767e-4,1.4468165316748068e-5,1.7179332308174036e-8,-7.780199264883032e-4,1.4377381074197417e-5,1.7144283672725583e-8,-7.779212697790456e-4,1.42055818063788e-5,1.707811591367681e-8,-7.777254715128031e-4,1.399092160934568e-5,1.6995928407681764e-8,-7.774196852037493e-4,1.37848241088391e-5,1.691784077706239e-8,-7.770148281025337e-4,1.3641905255902624e-5,1.68649932739021e-8,-7.7654695118254e-4,1.3606723344494496e-5,1.6854386908037733e-8,-7.760719733956719e-4,1.3699981752654324e-5,1.6893614104122298e-8,-7.756528920660803e-4,1.3908611710779359e-5,1.6977171984468366e-8,-7.753414973715193e-4,1.4185135339496087e-5,1.708636928482128e-8,-7.751607783545031e-4,1.4459758828692502e-5,1.7194078255654558e-8,-7.750965022472446e-4,1.4662655192892729e-5,1.7273331572288793e-8,-7.751031768498831e-4,1.4747011345581016e-5,1.730618293517172e-8,-7.751215862559233e-4,1.4701900854900151e-5,1.7288656969080978e-8,-7.750986283316115e-4,1.45502732264208e-5,1.7229950783472687e-8,-7.750005720993924e-4,1.4336090541435382e-5,1.714739884303355e-8,-7.748166257563864e-4,1.4108830030091316e-5,1.7060381671628664e-8,-7.74555246270904e-4,1.3911680743308552e-5,1.6985680755460048e-8,-7.742375216046733e-4,1.3775437312394145e-5,1.6935101840957774e-8,-7.738908672395347e-4,1.3716934985120997e-5,1.691492118059338e-8,-7.735443296708602e-4,1.373987657547806e-5,1.6926288994825302e-8,-7.732253688257358e-4,1.3836379992091725e-5,1.6965903557041073e-8,-7.729574201870145e-4,1.398850143961783e-5,1.702664562074045e-8,-7.727575479089458e-4,1.41697546103367e-5,1.7098179346093112e-8,-7.726338127068317e-4,1.4347167415583573e-5,1.7167741915981117e-8,-7.72582526013079e-4,1.4484672906976143e-5,1.7221441721592798e-8,-7.725862452751478e-4,1.4548420666369706e-5,1.724630156120042e-8,-7.726138958417847e-4,1.4513823225779425e-5,1.723297684502607e-8,-7.726244080267737e-4,1.4372974279860863e-5,1.717861929269323e-8,-7.725743889406402e-4,1.4139927504773041e-5,1.708890500581759e-8,-7.724286327675101e-4,1.3851021527237483e-5,1.6978122122320604e-8,-7.721705055599232e-4,1.3558663671444288e-5,1.6866694872960056e-8,-7.718085762849863e-4,1.3319387181004731e-5,1.6776479385700888e-8,-7.713767987397502e-4,1.3179295367351444e-5,1.6725086614472134e-8,-7.709275714331829e-4,1.3161122848693512e-5,1.6720920077215314e-8,-7.705191844169844e-4,1.3256827859980563e-5,1.6760442718757147e-8,-7.702008063045723e-4,1.3428227793557443e-5,1.6828582942267516e-8,-7.699990644679152e-4,1.361618554202354e-5,1.6902388068197547e-8,-7.699104039245936e-4,1.3756467861176603e-5,1.6957151603506948e-8,-7.699023224946573e-4,1.3797806695198463e-5,1.697331252819716e-8,-7.69923693570122e-4,1.3715970518988264e-5,1.6941802014512077e-8,-7.699204730517889e-4,1.3518607018056203e-5,1.686585566047806e-8,-7.698506029324883e-4,1.3239647040700348e-5,1.675881321149357e-8,-7.696928309426752e-4,1.292679553392078e-5,1.663924458294889e-8,-7.694477547487295e-4,1.2627916951666916e-5,1.6525649634657365e-8,-7.691330174202381e-4,1.2380977939982187e-5,1.6432564147368763e-8,-7.687761526504343e-4,1.2209237379755138e-5,1.6368739832210366e-8,-7.684079653894965e-4,1.2120781661778011e-5,1.633703602331063e-8,-7.680577369530784e-4,1.2110432408898472e-5,1.6335228492463344e-8,-7.677501944254693e-4,1.21623329271923e-5,1.6357054465017322e-8,-7.675035516029946e-4,1.2252353588631538e-5,1.6393155437041988e-8,-7.673278510063229e-4,1.2350244031443248e-5,1.6431898304259127e-8,-7.672231013092557e-4,1.2422047112441263e-5,1.6460286860244704e-8,-7.671772688900853e-4,1.243363156115782e-5,1.6465302548663993e-8,-7.671649640707796e-4,1.2356108383738767e-5,1.6435971563363704e-8,-7.671484101972802e-4,1.2173134658280302e-5,1.6366160768870968e-8,-7.670825263514741e-4,1.188858814480631e-5,1.6257519307403445e-8,-7.669249561884815e-4,1.153125860759139e-5,1.6121270567197454e-8,-7.666492306156377e-4,1.115245465159126e-5,1.5977261511360678e-8,-7.662560978121537e-4,1.0814456656206232e-5,1.5849466079461248e-8,-7.657770512027595e-4,1.05724402594284e-5,1.5758977593618244e-8,-7.65267023298901e-4,1.0456872508954073e-5,1.571723833544501e-8,-7.647885985095952e-4,1.0463873633946137e-5,1.5722417018223885e-8,-7.643941100002343e-4,1.0557097979145212e-5,1.5760262592280024e-8,-7.641121194876584e-4,1.0679365871370066e-5,1.580868049828012e-8,-7.639418824019487e-4,1.0769014504534602e-5,1.5844044262621295e-8,-7.63856040874777e-4,1.0775642632836637e-5,1.5847200884499e-8,-7.638095816807227e-4,1.067134664327151e-5,1.5807708446849496e-8,-7.637520719001363e-4,1.0455341968064698e-5,1.5725533933861105e-8,-7.636398633410946e-4,1.015159717703648e-5,1.5610082730947348e-8,-7.634452271731003e-4,9.80080001717917e-6,1.547706895850993e-8,-7.63160419406769e-4,9.449412193445568e-6,1.5344290126782374e-8,-7.627963935193374e-4,9.13916163473737e-6,1.522760366709052e-8,-7.623775983584871e-4,8.899634906261868e-6,1.5138131787055436e-8,-7.619351862275943e-4,8.745021320744058e-6,1.5081084100568852e-8,-7.615007251523846e-4,8.674467790722235e-6,1.5055961298020598E-08,-7.611015754607918e-4,8.674636046522299e-6,1.5057573206547553e-8,-7.607580727699104e-4,8.723012138457471e-6,1.507730793528806e-8,-7.604819845856674e-4,8.79104729455283e-6,1.5104310215033872e-8,-7.602755220059144e-4,8.84693302571431e-6,1.512651308174354e-8,-7.60130395955743e-4,8.858401879917029e-6,1.5131688225382546e-8,-7.600268787531797e-4,8.796280560370882e-6,1.5108794499177295e-8,-7.599335469922736e-4,8.639531259323042e-6,1.5049899963453894e-8,-0.000759809210702789,8.381910431287344e-6,1.495271925500096e-8,-7.596089689111743e-4,8.038852722231386e-6,1.4823230368913413e-8,-7.592954714676379e-4,7.651012523481406e-6,1.4677004696445236e-8,-7.588534536653339e-4,7.279557888325591e-6,1.4537373653592984e-8,-7.583012167940397e-4,6.990438849818558e-6,1.4429384557414762e-8,-7.576907836367265e-4,6.831496399448591e-6,1.4371061617021388e-8,-7.570930731261787e-4,6.813281142864784e-6,1.4366159181078007e-8,-7.56573893838745e-4,6.904553518906711e-6,1.440256548875904e-8,-7.561728030269616e-4,7.044803405478948e-6,1.445716559337654e-8,-7.55894167206311e-4,7.166043359666975e-6,1.450415417168199e-8,-7.55711412564325e-4,7.212993883249746e-6,1.4522671727194704e-8,-7.555791656848098e-4,7.1549930276133835e-6,1.4501273602714309e-8,-7.554470640511585e-4,6.988776194001312e-6,1.443893097512812e-8,-7.552712370159999e-4,6.734529749762169e-6,1.4343479112262025e-8,-7.550218631592772e-4,6.428246653777687e-6,1.422866437274883e-8,-7.546866678361489e-4,6.112788824185316e-6,1.4110719482184918e-8,-7.542707923333388e-4,5.8292867079302145e-6,1.400510243390426e-8,-7.537936783321645e-4,5.610111184424559e-6,1.392387568318107e-8,-7.532839358400108e-4,5.474383321977379e-6,1.3874075234006555e-8,-7.527734587962739e-4,5.42640635004478e-6,1.3857186797906472e-8,-7.522919859404003e-4,5.45669894844625e-6,1.386957766596827e-8,-7.518629339501932e-4,5.544851652733658e-6,1.3903575419281547e-8,-7.515008253699221e-4,5.66324214311497e-6,1.3948838400251825e-8,-7.51210094786353e-4,5.780767390543559e-6,1.3993723032625362e-8,-7.509847483529711e-4,5.866229168685598e-6,1.4026532943938554e-8,-7.508084438557491e-4,5.891537175053618e-6,1.4036723339664531e-8,-7.506548991499108e-4,5.835186884660035e-6,1.4016225902040902e-8,-7.504890649576297e-4,5.6865153995048614e-6,1.3961069522205696e-8,-7.502702069824309e-4,5.450810519333698e-6,1.3873309470797243e-8,-7.499584705215199e-4,5.154093641144201e-6,1.376281194863296e-8,-7.495258303846799e-4,4.844492327076601e-6,1.3647730610076522e-8,-7.489697010459084e-4,4.585680212391129e-6,1.3551982235163058e-8,-7.483229773845283e-4,4.439424944083938e-6,1.3498642646116442e-8,-7.47651384167147e-4,4.441135789993236e-6,1.3500781498633393e-8,-7.47033630108719e-4,4.5810783550153105e-6,1.3554518828823992e-8,-7.465319640685318e-4,4.8048662841334895e-6,1.3639340521473976e-8,-7.461696806020518e-4,5.035072310667735e-6,1.3726250888424918e-8,-7.45927649234082e-4,5.200984456189078e-6,1.3788876550238137e-8,-7.457581262680648e-4,5.260058265685222e-6,1.3811432021938078e-8,-7.456046602651826e-4,5.203880705388684e-6,1.3790914319102578e-8,-7.454181631269655e-4,5.052110434397819e-6,1.373481274651468e-8,-7.451656280700271e-4,4.841472760620587e-6,1.3656958068869079e-8,-7.448325507537849e-4,4.61494382342504e-6,1.357343640410499e-8,-7.444214445461733e-4,4.413322175715639e-6,1.3499417669267064e-8,-7.439484346229335e-4,4.2694368736615086e-6,1.3447009746671435e-8,-7.434389857049532e-4,4.204518303627032e-6,1.3423957631836567e-8,-7.429232000552066e-4,4.22642353337615e-6,1.3433047936838739e-8,-7.424310713391792e-4,4.3296407656193255e-6,1.3472159698785832e-8,-7.419881612882491e-4,4.496920195240808e-6,1.3534885426142835e-8,-7.416121363128246e-4,4.702242436589464e-6,1.3611614172495427e-8,-7.413105280088105e-4,4.9146848337064315e-6,1.369092983616905e-8,-7.410798564648585e-4,5.102579289552534e-6,1.3761123342581654e-8,-7.409059284613239e-4,5.2374620959614515e-6,1.3811649751762265e-8,-7.40765021747722e-4,5.2976581500819286e-6,1.3834473325427858e-8,-7.406258251361314e-4,5.271569720175211e-6,1.3825313013330133e-8,-7.404522940607082e-4,5.16079816624066e-6,1.3784817350730312e-8,-7.402080188256512e-4,4.982998369865964e-6,1.3719616164717567e-8,-7.398629579022926e-4,4.773502162654375e-6,1.3642888630399176e-8,-7.394027814983437e-4,4.583451075155526e-6,1.3573616754794363e-8,-7.388391120671625e-4,4.471358391383276e-6,1.3533406453527241e-8,-7.382156353710173e-4,4.486293417993243e-6,1.3540246689754017e-8,-7.376025584177996e-4,4.646263952038066e-6,1.360057244394542e-8,-7.370753966750942e-4,4.923220958661702e-6,1.3703844593894654e-8,-7.366853493943496e-4,5.247831278658755e-6,1.3824412277992002e-8,-7.364384127765779e-4,5.535851078356583e-6,1.3931243008841947e-8,-7.362964904189415e-4,5.721421847439438e-6,1.400013251189647e-8,-7.361977969831083e-4,5.777834083495166e-6,1.4021317172913075e-8,-7.360817614101209e-4,5.717840477241389e-6,1.3999596259483795e-8,-7.359055977095308e-4,5.580085272187351e-6,1.3949330970951832e-8,-7.356494891230436e-4,5.412741838724204e-6,1.3888375540751401e-8,-7.353140711726487e-4,5.2611317114854454e-6,1.3833462198014537e-8,-7.349148352444343e-4,5.160747629068616e-6,1.3797605620566516e-8,-7.34476381499244e-4,5.134402307300587e-6,1.378907362699951e-8,-7.340275945238301e-4,5.1916865952263e-6,1.3811240956866352e-8,-7.335976379390709e-4,5.3295409738639065e-6,1.386285790594125e-8,-7.332124264851362e-4,5.533583318487555e-6,1.393857552488052e-8,-7.328914883847182e-4,5.780224195792896e-6,1.4029729175094004e-8,-7.326453464977734e-4,6.039657534633526e-6,1.412541622107681e-8,-7.324737353478441e-4,6.279722160979335e-6,1.4213885118568412e-8,-7.323650721376349e-4,6.470322863277057e-6,1.4284138014656952e-8,-7.322974036581984e-4,6.587844288483066e-6,1.4327549734585913e-8,-7.322407659586676e-4,6.619032470350085e-6,1.4339305787613665e-8,-7.321607813179032e-4,6.563928060747684e-6,1.4319492082724502e-8,-7.320233046863541e-4,6.4374966021072834e-6,1.4273690279829042e-8,-7.317999978283977e-4,6.269641412024475e-6,1.4212954276300681e-8,-7.314747508146167e-4,6.103003158628865e-6,1.415295567438129e-8,-7.310503956340962e-4,5.987372946262786e-6,1.4111888222525968e-8,-7.30553886574779e-4,5.969501086118192e-6,1.4106716472582734e-8,-7.300364338939657e-4,6.078516230287104e-6,1.4147877299553037e-8,-7.295642924788504e-4,6.3107236580662384e-6,1.4233817360402606e-8,-7.29198788762624e-4,6.622175486804494e-6,1.4348383535941494e-8,-7.289720333664855e-4,6.9380135239147e-6,1.4464270004578152e-8,-7.288720132220635e-4,7.178968146684719e-6,1.4552629285696456e-8,-7.288478475491566e-4,7.292033122646066e-6,1.4594189017363577e-8,-7.288324425920637e-4,7.267653302542506e-6,1.4585519239748402e-8,-7.287681356467766e-4,7.1358561174840265e-6,1.4537665753835853e-8,-7.286220514824529e-4,6.9483598487620115e-6,1.4469630977301123e-8,-7.28388085845522e-4,6.7592678922152605e-6,1.4401275496516345e-8,-7.280804913481166e-4,6.612273121504457e-6,1.4348581630811597e-8,-7.277252407959589e-4,6.5354231757555416e-6,1.4321716844225746e-8,-7.273527660572583e-4,6.540950211029966e-6,1.4324997142073501e-8,-7.269930114233965e-4,6.6273182842564705e-6,1.4357691570767854e-8,-7.26672240266485e-4,6.781718300136292e-6,1.4414990002890305e-8,-7.264107154812758e-4,6.982473886382033e-6,1.4488915944389668e-8,-7.262207318281119e-4,7.201524453767113e-6,1.4569238469116222e-8,-7.261048945983162e-4,7.407366857871365e-6,1.464452799757507e-8,-7.260549073749619e-4,7.568797659062485e-6,1.4703494431167381e-8,-7.26051465526772e-4,7.659436861891897e-6,1.4736614332348274e-8,-7.260658689683676e-4,7.662469338693832e-6,1.4737849783051846e-8,-7.260636091525101e-4,7.574690894230019e-6,1.4706123818166879e-8,-7.260097162467727e-4,7.408843381596091e-6,1.4646170303919831e-8,-7.258751869359084e-4,7.193327753172565e-6,1.4568414770672015e-8,-7.256434329193616e-4,6.968816351578809e-6,1.4487705994885722e-8,-7.253155606930208e-4,6.781829885047062e-6,1.4420936000282275e-8,-7.249132562182546e-4,6.6756763505280914e-6,1.4383719471977372e-8,-7.244778292372096e-4,6.679612946037396e-6,1.438647617104953e-8,-7.240638597492315e-4,6.798235959896041e-6,1.443065370266917e-8,-7.237266826504071e-4,7.004766318589259e-6,1.4506391489857573e-8,-7.235054613225411e-4,7.243025516191428e-6,1.4593301323513466e-8,-7.2340765660686e-4,7.441405783647142e-6,1.4665511557876749e-8,-7.234034010785615e-4,7.53631382926181e-6,1.4700082991218885e-8,-7.234351925205399e-4,7.495034347391305e-6,1.468523799630331e-8,-7.234393429224217e-4,7.325932982914151e-6,1.462407472647779e-8,-7.233679091640017e-4,7.071240070168453e-6,1.4531993918580552e-8,-7.2320061796834e-4,6.7884821942071435e-6,1.4429962503804012e-8,-7.229442000740695e-4,6.531515408382787e-6,1.4337580335722595e-8,-7.226237824510028e-4,6.338676971745417e-6,1.4268730878278133e-8,-7.222726609371696e-4,6.229186086844068e-6,1.4230270463511608e-8,-7.219243370456767e-4,6.204979076589403e-6,1.4222735101428858e-8,-7.216077209136364e-4,6.254637305234233e-6,1.424182454315981e-8,-7.213447052154808e-4,6.357313551246988e-6,1.427987548429127e-8,-7.211489353260135e-4,6.485977719230195e-6,1.432706196354135e-8,-7.210249390732579e-4,6.610178726644471e-6,1.4372391800318248e-8,-7.209673047686168e-4,6.69888928465445e-6,1.440471413451235e-8,-7.209601280974389e-4,6.7240278150433335e-6,1.4413965009805703e-8,-7.20977427897608e-4,6.664882671759e-6,1.4392744472576701e-8,-7.209854343714221e-4,6.51295128433434e-6,1.4338056762127022e-8,-7.209473640933031e-4,6.27595967171071e-6,1.4252764848687728e-8,-7.20830498270342e-4,5.979351536502665e-6,1.4146129546232638e-8,-7.206142541252474e-4,5.663667819126294e-6,1.4032848951131945e-8,-7.202969652261338e-4,5.377288241995543e-6,1.3930404038766788e-8,-7.198989165010806e-4,5.1656853148451214e-6,1.3855144520274798e-8,-7.194600346572165e-4,5.059761967389392e-6,1.381807600558674e-8,-7.190320840484526e-4,5.066413372274996e-6,1.3821501796020195e-8,-7.186667008859963e-4,5.164217116728777e-6,1.3857550892980985e-8,-7.184018625214499e-4,5.306290101127747e-6,1.3909277458429183e-8,-7.182503872805278e-4,5.430848543585556e-6,1.3954476928807232e-8,-7.181945402363831e-4,5.477745639924967e-6,1.3971593615188382e-8,-7.181899363308149e-4,5.406401461740874e-6,1.3946114620028615e-8,-7.181787956068019e-4,5.208432912413644e-6,1.3875092760960466e-8,-7.181080232052682e-4,4.909307597908525e-6,1.3767756999698908e-8,-7.179446434546303e-4,4.558250395919083e-6,1.3641890350548404e-8,-7.176825410055812e-4,4.2115104900122955e-6,1.3517783575060329e-8,-7.173394303115774e-4,3.9166207270580965e-6,1.3412530864261023e-8,-7.169476918402883e-4,3.7030604472824477e-6,1.3336657086835069e-8,-7.165441754546074e-4,3.5802790936875876e-6,1.3293434686648582e-8,-7.161624370313028e-4,3.540740334466443e-6,1.3280030267105057e-8,-7.158283342384227e-4,3.5648889198243974e-6,1.3289336702046267e-8,-7.155582446948228e-4,3.6259309695520506e-6,1.3311712356351884e-8,-7.153587035969551e-4,3.6936410852722728e-6,1.3336343509346127e-8,-7.152264834437153e-4,3.7373251672731826e-6,1.3352284086218272e-8,-7.151486443905965e-4,3.7285507918335262e-6,1.3349406474614047e-8,-7.151027106872547e-4,3.6443643170977546e-6,1.3319531867733131e-8,-7.150577088567976e-4,3.471371309569102e-6,1.3257885044742072e-8,-7.149771233861474e-4,3.2102934517910352e-6,1.3164734543938834e-8,-7.148246566289133e-4,2.879607352494538e-6,1.304671174381637e-8,-7.145727155168279e-4,2.5159715205526265e-6,1.2916970172838227e-8,-7.14211741474117e-4,2.1691340011926946e-6,1.2793345447593278e-8,-7.13756704294834e-4,1.8907340958244058e-6,1.2694309938959155e-8,-7.13246867286023e-4,1.7195895090076379e-6,1.263368292154631e-8,-7.127372110269032e-4,1.6687917986243744e-6,1.2616035558109819e-8,-7.122837106314069e-4,1.7200599947476228e-6,1.2634736954970411e-8,-7.11927625851379e-4,1.8279231828251246e-6,1.2673513419775649e-8,-7.116842639270483e-4,1.9322272870562014e-6,1.2710931582090524e-8,-7.115395372739504e-4,1.9745795969288553e-6,1.2726232447310445e-8,-7.114547557725002e-4,1.9136654302389338e-6,1.270474472926178e-8,-7.113777961538001e-4,1.735292690655213e-6,1.2641441637291946e-8,-7.112572859060644e-4,1.4546876493828617e-6,1.2541763992937194e-8,-7.110556761496227e-4,1.1107338000528394e-6,1.2419577806846834e-8,-7.107574398631749e-4,7.542984399074633e-7,1.2293006190122626e-8,-7.103703854584871e-4,4.3467766591549663e-7,1.2179579666103922e-8,-7.099206413352514e-4,1.8848792044254664e-7,1.209227121863942e-8,-7.094440058956009e-4,3.38112439872334e-8,1.2037433652280913e-8,-7.089770272256449e-4,-3.005946575574514e-8,1.2014751159396523e-8,-7.085502677011695e-4,-1.8942666134325098e-8,1.2018584823579895e-8,-7.081845728037587e-4,4.1504324056836106e-8,1.2039859175127503e-8,-7.078898530136206e-4,1.2085396250360532e-7,1.2067846450829226e-8,-7.07665357590904e-4,1.8796389173417595e-7,1.2091574008084617e-8,-7.075005062641622e-4,2.1404627281451953e-7,1.2100880394544461e-8,-7.073757642706145e-4,1.7527949313218791e-7,1.2087321949694448e-8,-7.072636271028598e-4,5.563556618695607e-8,1.2045175593473184e-8,-7.07130371455471e-4,-1.496666377152965e-7,1.1972682276401499e-8,-7.069396260706627e-4,-4.3038263800395507e-7,1.1873415802529695e-8,-7.06658736467273e-4,-7.585342773530107e-7,1.1757266370952408e-8,-7.062679103912365e-4,-1.0893111587869973e-6,1.164011958067034e-8,-7.057699493448573e-4,-1.3683565279279107e-6,1.1541242460665835e-8,-7.051958014848092e-4,-1.546143275736306e-6,1.1478149826314971e-8,-7.046006461074884e-4,-1.5955509000684547e-6,1.1460378253613378e-8,-7.040489785775769e-4,-1.5244730508863847e-6,1.1485082661954835e-8,-7.035938487042454e-4,-1.3758182686775965e-6,1.1537113738876136e-8,-7.032597812034259e-4,-1.2137575651664247e-6,1.1593901613711014e-8,-7.030369079407669e-4,-1.1027795845962554e-6,1.1632801609042198e-8,-7.028872532957906e-4,-1.0889580682558247e-6,1.1637630789638363e-8,-7.027584678100196e-4,-1.1897271998792792e-6,1.1602238033439061e-8,-7.025988796732991e-4,-1.3932883666335377e-6,1.1530725736851102e-8,-7.02369467900341e-4,-1.6652872066721532e-6,1.1435125811886794e-8,-7.020507465969052e-4,-1.959328698109832e-6,1.1331711320640786e-8,-7.016442939978633e-4,-2.2282184952551496e-6,1.1237034626369414e-8,-7.011697035243303e-4,-2.4335618600813347e-6,1.1164544945400339e-8,-7.006583801112918e-4,-2.5521150452073807e-6,1.1122365961218336e-8,-7.001460060304543e-4,-2.5781375982917395e-6,1.1112496075816941e-8,-6.996655112290227e-4,-2.5220161431554106e-6,1.1131319063948755e-8,-6.992418776281199e-4,-2.4062965783673872e-6,1.1171004748331547e-8,-6.988893060139256e-4,-2.260591788360715e-6,1.1221277939326513e-8,-6.986105278643894e-4,-2.1166353920163535e-6,1.1271116834225942e-8,-6.983975667488254e-4,-2.0042272969958953e-6,1.1310137596645092e-8,-6.982331775114807e-4,-1.948167868728002e-6,1.1329646935505253e-8,-6.980924984224593e-4,-1.9658036073505293e-6,1.1323502940205919e-8,-6.979449169280985e-4,-2.064692866216944e-6,1.128895545665963e-8,-6.977566158534427e-4,-2.240091878769088e-6,1.1227562045779688e-8,-6.974946560896657e-4,-2.4725062008836e-6,1.1146078731656455e-8,-6.971334322778307e-4,-2.7265579611108132e-6,1.1056870056968845e-8,-6.966634001809645e-4,-2.9535495920723803e-6,1.0976992639682918e-8,-6.960998225694706e-4,-3.1003923112501523e-6,1.0925024976391107e-8,-6.954864809875409e-4,-3.125514095301827e-6,1.0915470365326537e-8,-6.94888405730523e-4,-3.0171655312078273e-6,1.0952385872816837e-8,-6.943721615170897e-4,-2.8040956720319907e-6,1.1025740558355747e-8,-6.939812476892919e-4,-2.5493950355256136e-6,1.111363121856989e-8,-6.937199582600355e-4,-2.328052856844355e-6,1.119007794880418e-8,-6.935545525919977e-4,-2.199995786806156e-6,1.123431816683279e-8,-6.93429179173718e-4,-2.1924546956316556e-6,1.1236874298485071e-8,-6.932862200777068e-4,-2.2974342328778687e-6,1.1200440938200634e-8,-6.930818299262455e-4,-2.4806963116481874e-6,1.1136809772812793e-8,-6.927932877982263e-4,-2.69515791678022e-6,1.1062250907052743e-8,-6.924193527516066e-4,-2.8932872464684024e-6,1.0993214408490107e-8,-6.919763333906085e-4,-3.036081365862266e-6,1.0943205101581768e-8,-6.91492215226939e-4,-3.098326934476717e-6,1.0920952638432522e-8,-6.910002904512773e-4,-3.070683044984637e-6,1.0929697707612377e-8,-6.905331356871504e-4,-2.959140124946023e-6,1.0967394783237994e-8,-6.90117596465121e-4,-2.7823877442401985e-6,1.1027633804261848e-8,-6.897712626577218e-4,-2.567793687719598e-6,1.1101026790081565e-8,-6.895006358475275e-4,-2.3467550008997916e-6,1.1176795508382824e-8,-6.89300944615274e-4,-2.150115599113473e-6,1.1244329229978124e-8,-6.891573100006782e-4,-2.00424231133623e-6,1.1294520632905088e-8,-6.890467540316551e-4,-1.9280356409594636e-6,1.1320793607430406e-8,-6.889406381638624e-4,-1.930734024848246e-6,1.1319874885504703e-8,-6.888074504279619e-4,-2.0102414136189414e-6,1.1292397488351405e-8,-6.886161724085662e-4,-2.1518695593095066e-6,1.1243363432643985e-8,-6.883407101463712e-4,-2.327739840236361e-6,1.1182368829498123e-8,-6.879658514959947e-4,-2.497813089077346e-6,1.1123245267791766e-8,-6.874944007746656e-4,-2.6143891697839814e-6,1.108247815801189e-8,-6.869533275424424e-4,-2.6320148015926607e-6,1.1075749525894508e-8,-6.863944546199724e-4,-2.522826202578732e-6,1.1112635168862053e-8,-6.858844538666012e-4,-2.2926275030821306e-6,1.1191109583836215e-8,-6.854832279089802e-4,-1.9877298379677976e-6,1.1295269233710088e-8,-6.852191743942243e-4,-1.6834486218362717e-6,1.1399318636952878e-8,-6.850762207670568e-4,-1.4561494259965552e-6,1.1477115718733162e-8,-6.850017506227822e-4,-1.353885669014518e-6,1.1512169978020316e-8,-6.849299395502611e-4,-1.382232489232581e-6,1.1502489363880025e-8,-6.848057305429362e-4,-1.5099055715152289e-6,1.1458706325152704e-8,-6.845983153559325e-4,-1.6859188037799119e-6,1.1398245647313847e-8,-6.843027428170722e-4,-1.8571846721204412e-6,1.1339299333489303e-8,-6.839342878524915e-4,-1.9804742909492373e-6,1.1296704524613013e-8,-6.83520537940993e-4,-2.0280142608472192e-6,1.1280001238857747e-8,-6.830941226507634e-4,-1.9884992920636643e-6,1.1293074773063915e-8,-6.826870433621648e-4,-1.8656132505174621e-6,1.13346680053564e-8,-6.823264387413217e-4,-1.6753696630438363e-6,1.1399305110651174e-8,-6.82031487121087e-4,-1.4427423697938251e-6,1.1478456664893744e-8,-6.818114056550049e-4,-1.1978017957364357e-6,1.1561864398442774e-8,-6.816645845240956e-4,-9.716026242010502e-7,1.1638940368353777e-8,-6.81578901101889e-4,-7.920793248862827e-7,1.1700156773758746e-8,-6.815332503350359e-4,-6.803319074311323e-7,1.173830361103633e-8,-6.815001275355418e-4,-6.477490111422285e-7,1.1749467706559448e-8,-6.814489184104265e-4,-6.941843501332436e-7,1.1733661035226025e-8,-6.813496403718091e-4,-8.071935459534741e-7,1.1695093476635976e-8,-6.81177053403738e-4,-9.623862476189849e-7,1.164206416834527e-8,-6.809151476327394e-4,-1.1251098518570805e-6,1.158639073471916e-8,-6.80561933977751e-4,-1.254012468855875e-6,1.154218474453644e-8,-6.801338767888566e-4,-1.307464024167702e-6,1.1523643336190613e-8,-6.79668066854345e-4,-1.2535982747354408e-6,1.1541612761355467e-8,-6.792188902309273e-4,-1.0830088825351644e-6,1.1599275967291585e-8,-6.78845970446115e-4,-8.196398734036575e-7,1.1688487599342648e-8,-6.785938804680131e-4,-5.21865523976247e-7,1.1789443842818592e-8,-6.784716853381285e-4,-2.670917135713526e-7,1.1875898145539714e-8,-6.784454801674145e-4,-1.229862560247459e-7,1.1924869708763637e-8,-6.78451422731065e-4,-1.2039502744957288e-7,1.1925808501975738e-8,-6.784224136183189e-4,-2.4413852327126643e-7,1.188376744728601e-8,-6.783122474568518e-4,-4.450160638167141e-7,1.1815400961230667e-8,-6.781056774875232e-4,-6.622121589485789e-7,1.1741382274874111e-8,-6.778146379208505e-4,-8.426921141446391e-7,1.1679787181502826e-8,-6.774678679897052e-4,-9.513665380458594e-7,1.1642596348323024e-8,-6.771004646386013e-4,-9.730261227384026e-7,1.163500954750871e-8,-6.767463032638174e-4,-9.096388229470013e-7,1.165635793010542e-8,-6.764335621130428e-4,-7.761178639860844e-7,1.170155308564171e-8,-6.761823408651586e-4,-5.962181208590508e-7,1.1762500661860506e-8,-6.76003339470729e-4,-3.9886548663780184e-7,1.1829366116277767e-8,-6.758971746004418e-4,-2.1465214616865e-7,1.189177429067364e-8,-6.75854349008327e-4,-7.229850977163453e-8,1.1940006997847552e-8,-6.758560464209218e-4,4.947983413017979e-9,1.1966210837941946e-8,-6.75876029123182e-4,2.7488136745964224e-9,1.196554475242547e-8,-6.758837935815457e-4,-8.161918553295126e-8,1.1937085753012027e-8,-6.758487615666738e-4,-2.3790708629766936e-7,1.1884286585775744e-8,-6.757450114730958e-4,-4.432901815565406e-7,1.1814847546413683e-8,-6.75555981832124e-4,-6.647221873892998e-7,1.1739927591423942e-8,-6.752785440219556e-4,-8.632714013106472e-7,1.1672680443195546e-8,-6.749257989924772e-4,-1.0003070529774613e-6,1.1626159710092367e-8,-6.745277736728225e-4,-1.04533785405786e-6,1.1610666373841045e-8,-6.74128768082691e-4,-9.849061499935828e-7,1.1630749295767326e-8,-6.737798662443241e-4,-8.306924641557072e-7,1.1682486866486084e-8,-6.735259935027122e-4,-6.231378273326227e-7,1.1752281613645974e-8,-6.733897881249691e-4,-4.257941722485988e-7,1.1818755484053001e-8,-6.733589931298577e-4,-3.0779861157673254e-7,1.185861347121806e-8,-6.733862647382449e-4,-3.189045445843042e-7,1.1855019353474524e-8,-6.734052719418553e-4,-4.6933352922082787e-7,1.1804407956455615e-8,-6.73356095178138e-4,-7.26669545411652e-7,1.1717608951207223e-8,-6.732058920007578e-4,-1.03135768079192e-6,1.1614681309859787e-8,-6.729549688437168e-4,-1.3203085634674708e-6,1.1516948301661333e-8,-6.726292231984343e-4,-1.5456410863813466e-6,1.1440629950089799e-8,-6.722669138054278e-4,-1.6825813512472906e-6,1.1394139323916218e-8,-6.719069745690607e-4,-1.728292691642922e-6,1.1378462534167964e-8,-6.715817867987357e-4,-1.6963310651301452e-6,1.1389032635968985e-8,-6.713140269531039e-4,-1.6104898771342205e-6,1.1417818254359392e-8,-6.711159576172181e-4,-1.4997911391117643e-6,1.1455027849828653e-8,-6.7098967808978e-4,-1.3947627025395655e-6,1.1490377166722129e-8,-6.709276170943395e-4,-1.3244157649111584e-6,1.1514110299334853e-8,-6.709132260466664e-4,-1.3133527174552276e-6,1.1517964713543777e-8,-6.709221924822578e-4,-1.3787160274900425e-6,1.1496180968261428e-8,-6.709246793383498e-4,-1.5271024239717297e-6,1.144652479963841e-8,-6.708890101922466e-4,-1.7521057789037506e-6,1.1371108056069637e-8,-6.707867329827515e-4,-2.03349427394575e-6,1.1276673671676083e-8,-6.705983390374779e-4,-2.3389296906621046e-6,1.1174033427878806e-8,-6.703183942720542e-4,-2.6286525837106187e-6,1.1076507144233978e-8,-6.699586275639561e-4,-2.862764821608109e-6,1.0997482902064068e-8,-6.695477636789244e-4,-3.009877260332382e-6,1.0947514998244096e-8,-6.691275106414471e-4,-3.0553669347500317e-6,1.093155672567259e-8,-6.687448110835039e-4,-3.0073333148598256e-6,1.0946969098039167e-8,-6.684411914721439e-4,-2.8982694801256994e-6,1.09829603567278e-8,-6.682410506419115e-4,-2.7805932569171573e-6,1.1022061743662119e-8,-6.681420923177971e-4,-2.7151112480580224e-6,1.1043947687668447e-8,-6.681122430425281e-4,-2.7538322953627776e-6,1.103115103055556e-8,-6.680967532338296e-4,-2.922229780866871e-6,1.0975005824736362e-8,-6.680351768836946e-4,-3.208938989025025e-6,1.0879155445024393e-8,-6.678818198079746e-4,-3.569206800689314e-6,1.07584697087957e-8,-6.676199799142348e-4,-3.941264216912157e-6,1.0633592515886972e-8,-6.672637124200508e-4,-4.26723863883779e-6,1.0523919613312888e-8,-6.668484745365341e-4,-4.508722102625259e-6,1.0442353880863865e-8,-6.664173881818245e-4,-4.652194081672177e-6,1.0393476953270497e-8,-6.660096559372878e-4,-4.705856726945458e-6,1.0374609216835914e-8,-6.6565400917304e-4,-4.692450116383464e-6,1.0378215067070535e-8,-6.65366691378365e-4,-4.641992506869934e-6,1.0394325668100645e-8,-6.651520724436302e-4,-4.586289293999795e-6,1.0412367136578511e-8,-6.650041770194664e-4,-4.555288303349263e-6,1.0422370733593156e-8,-6.649082145975189e-4,-4.574557922642622e-6,1.0415807035090087e-8,-6.648419516531094e-4,-4.663098319825658e-6,1.0386306849815094e-8,-6.647772977923628e-4,-4.830967209773467e-6,1.0330446811403125e-8,-6.64682793482468e-4,-5.0767082913095886e-6,1.0248610310513204e-8,-6.645276535009935e-4,-5.385272368662441e-6,1.014569716509483e-8,-6.642874935506787e-4,-5.727739295789978e-6,1.0031241672519338e-8,-6.639508926581502e-4,-6.064303841982294e-6,9.918438764338643e-9,-6.635248175263377e-4,-6.351327713612035e-6,9.821803180388749e-9,-6.630363208422775e-4,-6.551644593751551e-6,9.753736842483382e-9,-6.625286011154107e-4,-6.6453412099685115e-6,9.720943269391243e-9,-6.620515220562129e-4,-6.637210765563028e-6,9.721958663164957e-9,-6.616490030515382e-4,-6.557815458928014e-6,9.746799934408593e-9,-6.613470434299081e-4,-6.457206611119339e-6,9.779019488102298e-9,-6.611460182660693e-4,-6.3927400851426745e-6,9.799687434697574e-9,-6.610196289517972e-4,-6.414181155194645e-6,9.79227361540468e-9,-6.609211623926225e-4,-6.550090663171576e-6,9.747151909141079e-9,-6.607958578615187e-4,-6.799453044112043e-6,9.664428684028409e-9,-6.605961968829965e-4,-7.131600161094896e-6,9.554052462247139e-9,-6.602952658559864e-4,-7.495192731900008e-6,9.432897717263338e-9,-6.59893337291204e-4,-7.833471097170003e-6,9.319721647992294e-9,-6.594154199307799e-4,-8.10003951822256e-6,9.229912967892944e-9,-6.589015974741606e-4,-8.26940720505979e-6,9.171982193286219e-9,-6.583948475325114e-4,-8.339570999084169e-6,9.146702941363071e-9,-6.579310057521284e-4,-8.32782653290947e-6,9.1484953460235e-9,-6.575332522116057e-4,-8.26326332931551e-6,9.167892353553748e-9,-6.572109057110091e-4,-8.179301464685762e-6,9.193979644439203e-9,-6.569608894446945e-4,-8.108097437895046e-6,9.21621770862212e-9,-6.56770170806039e-4,-8.077049399664383e-6,9.225578151807406e-9,-6.566181353193237e-4,-8.106736580969876e-6,9.2152178288862e-9,-6.56478602741209e-4,-8.209430423295186e-6,9.18097422655523e-9,-6.563217982510564e-4,-8.387533414582957e-6,9.121895607077113e-9,-6.561169927829369e-4,-8.631800308226666e-6,9.04085550962115e-9,-6.558365936151278e-4,-8.91992576094595e-6,8.945052981019506e-9,-6.55462020900297e-4,-9.216878126763627e-6,8.845932484547084e-9,-6.549905970801155e-4,-9.47883318251498e-6,8.757896962005024e-9,-6.544410174747893e-4,-9.66200422791736e-6,8.695387849400742e-9,-6.538536905887626e-4,-9.73541782277881e-6,8.668667779698704e-9,-6.532830284212719e-4,-9.693338183562016e-6,8.679746644976681e-9,-6.527824423394355e-4,-9.561069012846983e-6,8.72050444633388e-9,-6.523874598641779e-4,-9.389804754378765e-6,8.77438033627454e-9,-6.521043283306284e-4,-9.24162630277522e-6,8.821227300503736e-9,-6.519088365606864e-4,-9.170835057503315e-6,8.843328210896267e-9,-6.517549256998489e-4,-9.20896440435165e-6,8.83024338053133e-9,-6.515887679402991e-4,-9.35797527614904e-6,8.781065819974303e-9,-6.513631828401716e-4,-9.592194273994584e-6,8.703882366870197e-9,-6.510485784423071e-4,-9.866901365965093e-6,8.613066195460134e-9,-6.506383852720353e-4,-1.0130449155765347e-5,8.525370284901691e-9,-6.501484713535216e-4,-1.0336665778532513e-5,8.455876704000505e-9,-6.496113485493177e-4,-1.0454609877589606e-5,8.414782975243667e-9,-6.490671674646127e-4,-1.0473577830441985e-5,8.405737418544261e-9,-6.485542315122563e-4,-1.0402716045749107e-5,8.42594207718587e-9,-6.48101570190052e-4,-1.0266290315339773e-5,8.467673384414735e-9,-6.477249772667448e-4,-1.0096801161149698e-5,8.520499798179897e-9,-6.474264817325805e-4,-9.928189624151298e-6,8.573469231980985e-9,-6.471962142913522e-4,-9.790591753984345e-6,8.616798727509629e-9,-6.470153398393853e-4,-9.707072173579713e-6,8.642931881769316e-9,-6.4685902944632e-4,-9.691946903899617e-6,8.647090904414083e-9,-6.466990567131604e-4,-9.749935634588221e-6,8.627569008879582e-9,-6.465061945891082e-4,-9.875497327061216e-6,8.585973740369635e-9,-6.462529770962636e-4,-1.005213254042066e-5,8.527489357020453e-9,-6.459175297868126e-4,-1.0252057697941712e-5,8.46101921967877e-9,-6.454888874271263e-4,-1.0437434177263124e-5,8.398808897746156e-9,-6.449732096697071e-4,-1.0564966265109888e-5,8.354946495019238e-9,-6.4439852831923e-4,-1.0595381812212404e-5,8.34225639995346e-9,-6.438138844513587e-4,-1.0507072144502154e-5,8.367854756241516e-9,-6.432790367365826e-4,-1.0308974899831868e-5,8.428993979308454e-9,-6.428454586197086e-4,-1.0044472629606271e-5,8.511840347096126e-9,-6.425364546618369e-4,-9.780404242463435e-6,8.595019151624936e-9,-6.423374992473061e-4,-9.584105091257316e-6,8.656940621566346e-9,-6.422025862017104e-4,-9.499924509528801e-6,8.683268961814048e-9,-6.420723318815535e-4,-9.536788226021915e-6,8.6709032555823e-9,-6.418937058551346e-4,-9.670339340684684e-6,8.62736165406817e-9,-6.416333150807353e-4,-9.854985606826542e-6,8.567021549391805e-9,-6.412819489618678e-4,-1.0038675384978085e-5,8.506456394204669e-9,-6.40852233208935e-4,-1.0175358821881159e-5,8.460459308358457e-9,-6.403723843214741e-4,-1.0233119886925515e-5,8.439407583253215e-9,-6.398785177155639e-4,-1.0197922583846564e-5,8.44800812947473e-9,-6.394070755339369e-4,-1.0073651943128085e-5,8.485229457435074e-9,-6.389883923031362e-4,-9.879211991447938e-6,8.545190825663756e-9,-6.386421940044092e-4,-9.643564938301254e-6,8.61872891621823e-9,-6.383754932638375e-4,-9.399866438278023e-6,8.695270282083074e-9,-6.381828126059341e-4,-9.179868626602678e-6,8.764629424150486e-9,-6.380482197594612e-4,-9.009455497870036e-6,8.818449463555083e-9,-6.379484020972791e-4,-8.905757191846968e-6,8.851137444227476e-9,-6.378559844764216e-4,-8.875794396678722e-6,8.860308373744816e-9,-6.37742611576723e-4,-8.916182840260416e-6,8.846890961194638e-9,-6.375817826161573e-4,-9.013389503892508e-6,8.815063136955268e-9,-6.373517365413405e-4,-9.144324590548281e-6,8.772088767448038e-9,-6.37038822435467e-4,-9.277480646007872e-6,8.727983133697308e-9,-6.366416476230471e-4,-9.375433709051482e-6,8.69473010267958e-9,-6.361755073060954e-4,-9.400076070259292e-6,8.68460137525384e-9,-6.356751215483993e-4,-9.321725715954837e-6,8.70721463674457e-9,-6.351921226563311e-4,-9.131431137281154e-6,8.765577089452952e-9,-6.34783668220924e-4,-8.851983055038034e-6,8.852573074499977e-9,-6.34492590110691e-4,-8.53933103808297e-6,8.950528563696693e-9,-6.343273922649219e-4,-8.26772377613986e-6,9.035920785086607e-9,-6.342551582389573e-4,-8.102013804904856e-6,9.088118007656425e-9,-6.342142013915741e-4,-8.071933386762328e-6,9.097504097485443e-9,-6.341394360266019e-4,-8.163387841999844e-6,9.06827899549311e-9,-6.339853162802021e-4,-8.329403778276332e-6,9.01508325066568e-9,-6.337359214736137e-4,-8.510810762680521e-6,8.956528860220945e-9,-6.334023030696212e-4,-8.65473815155575e-6,8.909374863487501e-9,-6.330132471509208e-4,-8.725202991217194e-6,8.885158614041552e-9,-6.326051717095914e-4,-8.706169178413972e-6,8.889176992237429e-9,-6.32214019748295e-4,-8.599843727994052e-6,8.920959050065301e-9,-6.318697327111989e-4,-8.422780448879686e-6,8.975440229886825e-9,-6.315928418750007e-4,-8.20125617049522e-6,9.044392176943476e-9,-6.313926873838825e-4,-7.966459175451952e-6,9.117945199759327e-9,-6.31267082506243e-4,-7.749777386235528e-6,9.186104282521891e-9,-6.312033160743475e-4,-7.5785372180136775e-6,9.240130028371382e-9,-6.311803126735913e-4,-7.472534294452365e-6,9.273661681811642e-9,-6.311716770969148e-4,-7.441681249593242e-6,9.283469414099118e-9,-6.311491861629334e-4,-7.484987837433047e-6,9.269772409499044e-9,-6.310862639818491e-4,-7.590780571477355e-6,9.236162458649285e-9,-6.309612058273856e-4,-7.737892241529536e-6,9.189230845951367e-9,-6.307601275839634e-4,-7.897660405035442e-6,9.137956611667645e-9,-6.304796987183105e-4,-8.036756534142556e-6,9.09284140190737e-9,-6.301296693209371e-4,-8.121168651637492e-6,9.064674114885852e-9,-6.297347052073675e-4,-8.122014010732786e-6,9.062695008476826e-9,-6.293340333682221e-4,-8.02357893613418e-6,9.092032490280441e-9,-6.289764922907992e-4,-7.832498886235678e-6,9.150771158405365e-9,-6.287088356458074e-4,-7.584313389584958e-6,9.227855564074418e-9,-6.285582300395714e-4,-7.340955663643736e-6,9.303857526237659e-9,-6.285162181702288e-4,-7.173981894358338e-6,9.35622506385365e-9,-6.28535844534191e-4,-7.137050918742098e-6,9.367918818323381e-9,-6.285482266619833e-4,-7.242236086511384e-6,9.334891322630107e-9,-6.284908233474023e-4,-7.4556587282647425e-6,9.267547066221383e-9,-6.28330425274692e-4,-7.714648020679488e-6,9.185435045716488e-9,-6.28069302206002e-4,-7.95377724697567e-6,9.109102634548203e-9,-6.277362671666278e-4,-8.124785819023314e-6,9.053825972438715e-9,-6.273721375619873e-4,-8.204270724462586e-6,9.02715680817319e-9,-6.27017398081553e-4,-8.191793049541557e-6,9.029461806338658e-9,-6.267047725449272e-4,-8.103665827061228e-6,9.055810702686439e-9,-6.26456043916988e-4,-7.966249400547607e-6,9.098033223137005e-9,-6.26281416479543e-4,-7.810389877515416e-6,9.146451274581206e-9,-6.261800463441795e-4,-7.667092566462788e-6,9.191260130576387e-9,-6.261411718711373e-4,-7.564004290537873e-6,9.223675064183579e-9,-6.261457836463466e-4,-7.522438367703082e-6,9.23690378724907e-9,-6.261689058554466e-4,-7.554911651594159e-6,9.226935824039986e-9,-6.26182575765119e-4,-7.663394769762143e-6,9.193084339014298e-9,-6.261594321595429e-4,-7.83867655737204e-6,9.138166390547462e-9,-6.26076519398364e-4,-8.061135092227624e-6,9.068247870454783e-9,-6.259188201018052e-4,-8.302926480673475e-6,8.991964522431026e-9,-6.256821123187454e-4,-8.531474630101965e-6,8.919455933728389e-9,-6.253747887567023e-4,-8.714062415411706e-6,8.860964423618094e-9,-6.250183114255093e-4,-8.823240323023451e-6,8.825167866103795e-9,-6.246458882436894e-4,-8.842823215536685e-6,8.817300503612222e-9,-6.242985755887415e-4,-8.774026346559433e-6,8.837199099376945e-9,-6.240177934968095e-4,-8.640273119230142e-6,8.87774343727035e-9,-6.238340168367981e-4,-8.487734929015043e-6,8.924628410892147e-9,-6.237537835039231e-4,-8.37786762163323e-6,8.958649435262117e-9,-6.237508622334895e-4,-8.370050553809897e-6,8.961109428361436e-9,-6.237694285501078e-4,-8.498608243715725e-6,8.921029687418638e-9,-6.237425116459058e-4,-8.75592709653261e-6,8.840509552635665e-9,-6.236182223750581e-4,-9.0935440897417e-6,8.734482255018053e-9,-6.233789176946422e-4,-9.44210315649724e-6,8.62453087546554e-9,-6.230431618178639e-4,-9.738006393072087e-6,8.530559779025655e-9,-6.226528415322329e-4,-9.942072412796151e-6,8.464944949980187e-9,-6.222558156538971e-4,-1.0044216892862036e-5,8.431044644216811e-9,-6.218928123420268e-4,-1.0057759649626142e-5,8.424931676993069e-9,-6.215911924046659e-4,-1.0010051523072495e-5,8.438260126232764e-9,-6.213639804945358e-4,-9.934048776771606e-6,8.460847692598394e-9,-6.212115296909202e-4,-9.862436775050359e-6,8.482499035264433e-9,-6.211238864357817e-4,-9.823973462843352e-6,8.494171700339035e-9,-6.210830596535341e-4,-9.841115150435778e-6,8.488757155704299e-9,-6.210651942122257e-4,-9.928215073960674e-6,8.461672312188594e-9,-6.210429443543682e-4,-1.0090001829574346e-5,8.411340895070526e-9,-6.209883936927952e-4,-1.032045635967511e-5,8.339532086435201e-9,-6.208766895726924e-4,-1.0602611237518307e-5,8.251410557946112e-9,-6.206901011511374e-4,-1.0909904384581257e-5,8.155117882712867e-9,-6.204217801816662e-4,-1.1209428967393452e-5,8.060785794006027e-9,-6.200783346355796e-4,-1.1467000570356854e-5,7.978999665257574e-9,-6.196803527606607e-4,-1.1653487857353938e-5,7.918867885019981e-9,-6.192602675084233e-4,-1.1751341629004252e-5,7.886009589301413e-9,-6.18857430993645e-4,-1.1760013081941588e-5,7.880853644284182e-9,-6.185107199373036e-4,-1.1698990162283051e-5,7.897639687734814e-9,-6.182494033759342e-4,-1.1607106693188978e-5,7.924550386176266e-9,-6.180837782626559e-4,-1.1536704553317361e-5,7.945441153139379e-9,-6.17998354061986e-4,-1.1541930108901036e-5,7.943422534415343e-9,-6.179514865732182e-4,-1.1662608663681637e-5,7.905878369024749e-9,-6.178847530264709e-4,-1.1908666705688085e-5,7.829382187794986e-9,-6.177413716940561e-4,-1.225291771545529e-5,7.722050838337925e-9,-6.174866683392963e-4,-1.2638281908291842e-5,7.601388082277714e-9,-6.171202061499132e-4,-1.2997807711744528e-5,7.488094639614473e-9,-6.166733164451345e-4,-1.3277552122048224e-5,7.398956214429256e-9,-6.161948260617495e-4,-1.3451111439177265e-5,7.342324255674225e-9,-6.157338992816079e-4,-1.3521276834735159e-5,7.317585667968248e-9,-6.153277910312762e-4,-1.351221220619276e-5,7.3175400954822244e-9,-6.149969832299286e-4,-1.345864223227892e-5,7.331678474457581e-9,-6.147459001310118e-4,-1.3396792379450818e-5,7.3489284361196675e-9,-6.14566195981989e-4,-1.335865891362545e-5,7.3594093806847335e-9,-6.144404163975216e-4,-1.3369061432935648e-5,7.3553652588823905e-9,-6.143451013492217e-4,-1.3444276092296466e-5,7.331624223806665e-9,-6.142533201726146e-4,-1.3591271145411236e-5,7.285864502738724e-9,-6.141370824533147e-4,-1.3807054893883965e-5,7.2188286363125555e-9,-6.139701752177742e-4,-1.4078197634895255e-5,7.134475176715785e-9,-6.137317622253945e-4,-1.4381127354302392e-5,7.03989660873347e-9,-6.13410548401449e-4,-1.4684067691371548e-5,6.944744457685035e-9,-6.130086364730966e-4,-1.4951295234998012e-5,6.8599511266353936e-9,-6.125436581487522e-4,-1.5149749237378634e-5,6.795727421966501e-9,-6.120476639627279e-4,-1.5256983677622905e-5,6.759136642679807e-9,-6.115619176413706e-4,-1.5268340231572266e-5,6.751886205597447e-9,-6.111281095430912e-4,-1.520077746265615e-5,6.769114447606619e-9,-6.107779587857513e-4,-1.5091461683002552e-5,6.799746818271109e-9,-6.10524015294988e-4,-1.4990666324170982e-5,6.828571027830531e-9,-6.103544553284269e-4,-1.4950126437351983e-5,6.839718154874809e-9,-6.10233932630094e-4,-1.5009403395997819e-5,6.820816675408024e-9,-6.101112797303565e-4,-1.5183860384006196e-5,6.7667449207401965e-9,-6.099330136988942e-4,-1.5458296216177136e-5,6.6817180549403645e-9,-6.096591780398321e-4,-1.5789545255279567e-5,6.578625916310926e-9,-6.092759401267423e-4,-1.611861496564348e-5,6.475384794437283e-9,-6.087995316766636e-4,-1.638857118742033e-5,6.389456320634693e-9,-6.082696917744599e-4,-1.656102986792536e-5,6.332762451172584e-9,-6.07735931357823e-4,-1.6624724248411486e-5,6.309028251969762e-9,-6.07243028636269e-4,-1.659408062376702e-5,6.314176973263146e-9,-6.068212130456064e-4,-1.6500688633924005e-5,6.3388763395423195e-9,-6.064828882107512e-4,-1.6382732655089433e-5,6.3716957047222936e-9,-6.062244250029457e-4,-1.6276375396916556e-5,6.401688363734559e-9,-6.060303124501623e-4,-1.6210566121514825e-5,6.41997117246288e-9,-6.058775295989655e-4,-1.6204774019256874e-5,6.420448907864246e-9,-6.057391575612956e-4,-1.6268443228459086e-5,6.400024095330046e-9,-6.055871563899351e-4,-1.640110876257458e-5,6.358597590462493e-9,-6.053947651586242e-4,-1.6592563064539658e-5,6.299040120511544e-9,-6.051391799853258e-4,-1.6823062293831563e-5,6.2271479239230684e-9,-6.04804958969757e-4,-1.7064185629920318e-5,6.15140407656365e-9,-6.043880305658054e-4,-1.7281339145854306e-5,6.082244629251485e-9,-6.038993664978827e-4,-1.743882255386278e-5,6.03054138334135e-9,-6.033664982363028e-4,-1.7507647128342022e-5,6.005236775662678e-9,-6.028306776843586e-4,-1.747471621344875e-5,6.0105545030052955e-9,-6.02338498179153e-4,-1.7350074414647643e-5,6.043785475000533e-9,-6.019293636463869e-4,-1.7168208077473955e-5,6.094852354472843e-9,-6.016229799273229e-4,-1.6981102965108023e-5,6.148328418570691e-9,-6.014120043088848e-4,-1.6844415703121967e-5,6.1875079574704055e-9,-6.012631542790681e-4,-1.6801491798937394e-5,6.199152357907398e-9,-6.011264926259588e-4,-1.687094638850435e-5,6.177250027198649e-9,-6.009494858060641e-4,-1.7041783355707502e-5,6.124605564008008e-9,-6.006912495843881e-4,-1.7277030403387907e-5,6.051910031149934e-9,-6.003329547922971e-4,-1.7524265175610315e-5,5.974701125327572e-9,-5.998817609412311e-4,-1.7729749635034893e-5,5.909152133979997e-9,-5.993674834698096e-4,-1.7852060415235455e-5,5.8679359897686786e-9,-5.98833377167506e-4,-1.7871308208750187e-5,5.857377281089162e-9,-5.983242961249349e-4,-1.7791603804934904e-5,5.876628602108236e-9,-5.978761089750183e-4,-1.763692721889734e-5,5.9188348328191164e-9,-5.97509246371083e-4,-1.744281060909608e-5,5.973566370425565e-9,-5.972272340443155e-4,-1.724717783696112e-5,6.029530158965291e-9,-5.970191412732754e-4,-1.708303930127975e-5,6.076760853223087e-9,-5.968639601907031e-4,-1.6974182393121108e-5,6.107949062772968e-9,-5.967351618909186e-4,-1.6933562355692315e-5,6.1189757620988596e-9,-5.966044914543551e-4,-1.6963408114122988e-5,6.108924653343465e-9,-5.964448552706594e-4,-1.7056054741231575e-5,6.079858424794432e-9,-5.962326779452772e-4,-1.719488339402509e-5,6.036551327657856e-9,-5.959503269411983e-4,-1.7355296242159556e-5,5.9862122504836265e-9,-5.955890709894159e-4,-1.7506243438176608e-5,5.9380510048463094e-9,-5.951525234145372e-4,-1.7613258416163484e-5,5.902393637339857e-9,-5.946596553230791e-4,-1.764400034962936e-5,5.889033529766786e-9,-5.941454005656148e-4,-1.757658081028564e-5,5.9047300999132285e-9,-5.936562505153676e-4,-1.740909145309199e-5,5.9503386560754e-9,-5.932393300043767e-4,-1.7166185049999746e-5,6.018820818675055e-9,-5.929270253618056e-4,-1.6897363809678338e-5,6.095715953083003e-9,-5.927235829331455e-4,-1.6664334583585255e-5,6.162832492505709e-9,-5.926012168281408e-4,-1.6521086061127168e-5,6.204080876826821e-9,-5.925088318791681e-4,-1.6495650783895652e-5,6.2108462578212325e-9,-5.923893296595289e-4,-1.6581983910685432e-5,6.18445634623603e-9,-5.921973240230338e-4,-1.6744373968298434e-5,6.135018198325406e-9,-5.919105305805832e-4,-1.6930486544110382e-5,6.077709827522491e-9,-5.915325837551485e-4,-1.708674963487434e-5,6.028320742756395e-9,-5.910887401414671e-4,-1.7171114333858196e-5,5.999481940305171e-9,-5.906173977802621e-4,-1.7160751663905477e-5,5.998318193545036e-9,-5.901602907269286e-4,-1.7054266849847147e-5,6.025679671747184e-9,-5.897536026274595e-4,-1.6869186278252847e-5,6.076768658723353e-9,-5.894215706944987e-4,-1.6636088071657184e-5,6.142787676934763e-9,-5.891734417193177e-4,-1.639112845867565e-5,6.21311247089221e-9,-5.890037891503861e-4,-1.616881901687457e-5,6.277444531418832e-9,-5.888953870874903e-4,-1.599649526801642e-5,6.32750261058349e-9,-5.888234156540204e-4,-1.5891120266408232e-5,6.358035497480615e-9,-5.887598278097893e-4,-1.585830828911002e-5,6.36716114540014e-9,-5.886770911880141e-4,-1.5892951435849457e-5,6.356201350362242e-9,-5.88551067772663e-4,-1.598065881617845e-5,6.329251478975357e-9,-5.883632730491481e-4,-1.609944079656462e-5,6.292675486505938e-9,-5.881029486085081e-4,-1.622153632414498e-5,6.254574948934901e-9,-5.877692932525501e-4,-1.6315735016464423e-5,6.224131558643309e-9,-5.873738337045345e-4,-1.6350916709415508e-5,6.2105932820424296e-9,-5.869421485315761e-4,-1.630165097021894e-5,6.221632150191717e-9,-5.865131121598357e-4,-1.6156063475258574e-5,6.261002414793579e-9,-5.861331744440621e-4,-1.592434760802166e-5,6.325989749491587e-9,-5.858441940187316e-4,-1.5643598634390996e-5,6.405942312898085e-9,-5.856671951075539e-4,-1.5373106219251778e-5,6.483607719282582e-9,-5.855897763285556e-4,-1.517729276675414e-5,6.540086767802591e-9,-5.855664407766135e-4,-1.5101743305100796e-5,6.561819413722951e-9,-5.855345304499817e-4,-1.5154956209859986e-5,6.545946710766161e-9,-5.854378007236991e-4,-1.5306366023333386e-5,6.500984799091855e-9,-5.852448952227367e-4,-1.550045098503084e-5,6.442830961710452e-9,-5.849551516575722e-4,-1.567734639813534e-5,6.388848412759949e-9,-5.845930082893017e-4,-1.5789777542943528e-5,6.352965558410412e-9,-5.841969678310368e-4,-1.5811729052473348e-5,6.343113417189745e-9,-5.838084552194186e-4,-1.5739511632880423e-5,6.360814546463471e-9,-5.834633032295308e-4,-1.5588003820527e-5,6.402145833924053e-9,-5.831864760835484e-4,-1.538472081382847e-5,6.4593502606737386e-9,-5.829896181558738e-4,-1.5163375096637597e-5,6.5226561160815544e-9,-5.828708999533577e-4,-1.4957769589611858e-5,6.582074977801076e-9,-5.828167555766546e-4,-1.479662672105976e-5,6.628984531476504e-9,-5.828049993600993e-4,-1.46998740108272e-5,6.657304486326205e-9,-5.828086784632086e-4,-1.4676619073704028e-5,6.664156600488167e-9,-5.828000486403008e-4,-1.472477456925716e-5,6.649997471487258e-9,-5.827541399829672e-4,-1.4832100153552331e-5,6.618295601842242e-9,-5.826515746817173e-4,-1.4978198357449995e-5,6.574915976578972e-9,-5.824806499688132e-4,-1.5136975222470618e-5,6.5273858129103555e-9,-0.00058223891266244855,-1.5279382997478107e-5,6.484113573877451e-9,-5.819343932522649e-4,-1.537659130322262e-5,6.453510098108357e-9,-5.815864337643335e-4,-1.540395190071223e-5,6.442875322162274e-9,-5.812255138914551e-4,-1.5346207013270155e-5,6.456887019322757e-9,-5.808906783087563e-4,-1.5203879326331496e-5,6.495696015125998e-9,-5.806227398257667e-4,-1.4999252917115385e-5,6.553106536171523e-9,-5.804523980144355e-4,-1.4778150938693694E-05,6.6159779015583296e-9,-5.803857787226134e-4,-1.460244790593015e-5,6.666344613112382e-9,-5.803949019080188e-4,-1.453107430828226e-5,6.68691651811743e-9,-5.804222577193308e-4,-1.4595598468279076e-5,6.6681996557004115e-9,-5.804015691477434e-4,-1.4784365571006996e-5,6.613182223466211e-9,-5.802844416075218e-4,-1.504659664064087e-5,6.536251455252701e-9,-5.800572407115345e-4,-1.5314205201811868e-5,6.456956105272316e-9,-5.79740462121484e-4,-1.5527257460748158e-5,6.392682319350163e-9,-5.793754455308698e-4,-1.564997575685766e-5,6.354031421288331e-9,-5.79008526869674e-4,-1.5673984575231003E-05,6.3438332685434564e-9,-5.786793595545836e-4,-1.561305703577987e-5,6.358555023821292e-9,-5.78414926698478e-4,-1.5494822966848187e-5,6.390561211013941e-9,-5.782279782895778e-4,-1.535291284406682e-5,6.430282529202295e-9,-5.781179986625985e-4,-1.5220866757312826e-5,6.467953037038186e-9,-5.780733038593612e-4,-1.5127728821522725e-5,6.494942808591026e-9,-5.780737214613339e-4,-1.5094878202343984e-5,6.5047765753731806e-9,-5.780937304323509e-4,-1.5133945325895573e-5,6.493829724860568e-9,-5.781059012122124e-4,-1.5245845768728994e-5,6.461654192249107e-9,-5.780844231366714e-4,-1.5420967008494582E-05,6.410916404303534e-9,-5.780084375089962e-4,-1.5640566187065733e-5,6.346952753693187e-9,-5.778647777628711e-4,-1.5879285361295647e-5,6.277008199105833e-9,-5.776498175490725e-4,-1.6108436934896513e-5,6.209288793870668e-9,-5.773703656839252e-4,-1.6299721111280603e-5,6.151931069035016e-9,-5.770436111533959e-4,-1.6429208290678547e-5,6.111913238799296e-9,-5.766960225533119e-4,-1.6481506020845262e-5,6.093889659946264e-9,-5.763608734161528e-4,-1.6454038016908552e-5,6.098936037071565e-9,-5.760736744361726e-4,-1.6361021724264736e-5,6.123317511020036e-9,-5.758647102549619e-4,-1.6235696451862072e-5,6.157725998483951e-9,-5.757488547335339e-4,-1.612803540234014e-5,6.1878352067051535e-9,-5.757153315080947e-4,-1.609480237938911e-5,6.197125012537102e-9,-5.757234435926061e-4,-1.6181340271018654e-5,6.17217305833007e-9,-5.757111211388329e-4,-1.6400971995423106e-5,6.108703432860775e-9,-5.756170143529824e-4,-1.6724228696811727e-5,6.014819069588441e-9,-5.754058752564376e-4,-1.7087730422599016e-5,5.908527015219574e-9,-5.750819117894468e-4,-1.7419566737748216e-5,5.810457691770534e-9,-5.746829127406637e-4,-1.7665934924859706e-5,5.736209930949652e-9,-5.742617293776332e-4,-1.7804887133825812e-5,5.692403621165638e-9,-5.738676244788915e-4,-1.7844643668928444e-5,5.677123312045796e-9,-5.735352118200017e-4,-1.781324586487339e-5,5.682774688163753e-9,-5.732813705044003e-4,-1.774712544477777e-5,5.699224028512855e-9,-5.731070706253558e-4,-1.7682465513048927e-5,5.716183635261324e-9,-5.730010810481334e-4,-1.7650014543434743e-5,5.7246996299768535e-9,-5.729437243720952e-4,-1.7672436560521165e-5,5.717992329661441e-9,-5.729101327422091e-4,-1.77629912703616e-5,5.691943387538161e-9,-5.728732254490138e-4,-1.7924881686606425e-5,5.645364913125561e-9,-5.728066872098459e-4,-1.8151183111504288e-5,5.580046983978404e-9,-5.726880446715707e-4,-1.8425518479711568e-5,5.500544376149344e-9,-5.725017360320156e-4,-1.8723776519021976e-5,5.4136497171616706e-9,-5.722417478110209e-4,-1.901709758465021e-5,5.327525281669176e-9,-5.719132058612187e-4,-1.9275973453983113e-5,5.250556794951275e-9,-5.715324599224961e-4,-1.9474966424702655e-5,5.190061549896955e-9,-5.711254487065863e-4,-1.9597425970417595e-5,5.150993130292952e-9,-5.707243215314012e-4,-1.963951786184574e-5,5.134796911166756e-9,-5.703624645452386e-4,-1.961289496480425e-5,5.138582384870229e-9,-5.700681701023597e-4,-1.9545349551733103e-5,5.154808129149603e-9,-5.698573617980196e-4,-1.947850234148492e-5,5.171796776237571e-9,-5.697265168248463e-4,-1.946126166119291e-5,5.175504776714801e-9,-5.696483046445741e-4,-1.9538307489946467e-5,5.152814866181088e-9,-5.695737447050487e-4,-1.9735023712205888e-5,5.095954657144991e-9,-5.694440581573207e-4,-2.0044122435153433e-5,5.006492424902162e-9,-5.692107976121244e-4,-2.0422259733411498e-5,4.896447185420986e-9,-5.688556702159739e-4,-2.080239735784011e-5,4.784807248298537e-9,-5.683984430252771e-4,-2.1118146298752406e-5,4.69055903235853e-9,-5.678877874524411e-4,-2.1327200844530532e-5,4.6259837892894646e-9,-5.673813072802742e-4,-2.1421699487486857e-5,4.593705379214873e-9,-5.669266461901139e-4,-2.1423333992840117e-5,4.588040913127525e-9,-5.665515251973581e-4,-2.1370168449335505e-5,4.598631280140418e-9,-5.66262954244887e-4,-2.1303510202976556e-5,4.614029495947506e-9,-5.660516519242294e-4,-2.1259150169743164e-5,4.624106881604416e-9,-5.658977760906469e-4,-2.1263246516499423e-5,4.621241923637268e-9,-5.657758344743934e-4,-2.1331262909287216e-5,4.600715978969188e-9,-5.656582879656547e-4,-2.146824690958318e-5,4.560744399958647e-9,-5.655182799852074e-4,-2.166944979816653e-5,4.502372881234427e-9,-5.653320939464026e-4,-2.19210611198664e-5,4.429288721729575e-9,-5.650817267772786e-4,-2.2201302733604196e-5,4.347494108741701e-9,-5.647576281566446e-4,-2.248238891148829e-5,4.2647329227178e-9,-5.64361175875774e-4,-2.273385814627313e-5,4.1895539317782425e-9,-5.639060211063388e-4,-2.2927360460003696e-5,4.129994037758887e-9,-5.634173669126164e-4,-2.3042324624474837e-5,4.092025805841426e-9,-5.629285951340259e-4,-2.3071330028784256e-5,4.078067292741761e-9,-5.624753358397186e-4,-2.3023652525244365e-5,4.085953126634584e-9,-5.620879235594856e-4,-2.2925599059856908e-5,4.1087412604200885e-9,-5.617838311213657e-4,-2.2816948292584702e-5,4.13556726191145e-9,-5.615618506350042e-4,-2.274366245931516e-5,4.1535543827756625e-9,-5.613996862607292e-4,-2.2747751693369897e-5,4.150602400752755e-9,-5.61256426475516e-4,-2.2855979724977274e-5,4.1186293748158945e-9,-5.61080812039059e-4,-2.307016575944345e-5,4.056477812301431e-9,-5.608247544560862e-4,-2.3362823347901296e-5,3.971353014138016e-9,-5.6045888275338e-4,-2.3681771753724775e-5,3.877666551810311e-9,-5.599840255643514e-4,-2.3964648029816697e-5,3.7929726560466655e-9,-5.594323224548366e-4,-2.4158896301923775e-5,3.732284697554104e-9,-5.588562140180068e-4,-2.4238382403495358e-5,3.7033386543166194e-9,-5.583104935056323e-4,-2.4208922097151482e-5,3.7049913841555217e-9,-5.578362118896362e-4,-2.4101634993633252e-5,3.729013562684922e-9,-5.574526700823866e-4,-2.395959922159319e-5,3.763717738012945e-9,-5.571580150477938e-4,-2.3824918225424018e-5,3.7974724057465164e-9,-5.56934945270612e-4,-2.3730431642789787e-5,3.820986693463586e-9,-5.567575402096818e-4,-2.369650431855389e-5,3.828264474037562e-9,-5.565968561839238e-4,-2.3731175634325677e-5,3.81667238499676e-9,-5.564247258473144e-4,-2.383170766272784e-5,3.786608603817477e-9,-5.562162343773809e-4,-2.3986308687498875e-5,3.741076017959136e-9,-5.559516320965893e-4,-2.41756410521933e-5,3.6852669334650524e-9,-5.556182989939095e-4,-2.4374329729557413e-5,3.626126257835752e-9,-5.552129829469255e-4,-2.455308708972398e-5,3.5717509128408136e-9,-5.547439478003086e-4,-2.4682169708976556e-5,3.5304410056635687e-9,-5.542320441001034e-4,-2.4736519034990855e-5,3.509299202176376e-9,-5.537093394875636e-4,-2.470209240070845e-5,3.5124945121858324e-9,-5.532141884717492e-4,-2.4581739735308707e-5,3.539625413001244e-9,-5.527827987017785e-4,-2.4398065123244182e-5,3.584874043486559e-9,-5.524392207026548e-4,-2.419093064879187e-5,3.6375935558350362E-09,-5.521871673866484e-4,-2.400904254983496e-5,3.6845003460724823e-9,-5.52006996859421e-4,-2.3897600320895216e-5,3.7129769442225496e-9,-5.518594417411545e-4,-2.3885806156130697e-5,3.714505319352247e-9,-5.516952472542898e-4,-2.3978206075858976e-5,3.6871706513466653e-9,-5.514680023266997e-4,-2.415252676916681e-5,3.636467576060659e-9,-5.511466570996784e-4,-2.436472997812125e-5,3.5741160763841065e-9,-5.507243054631822e-4,-2.456016575596165e-5,3.5151030037156743e-9,-5.502204943898792e-4,-2.4688078368491355e-5,3.4736716022299434e-9,-5.49675845316952e-4,-2.4715297420699776e-5,3.4594450841273604e-9,-5.491403496431156e-4,-2.4634524609268043e-5,3.475010754579904e-9,-5.486594079579832e-4,-2.4464309834586896e-5,3.5158016687115214e-9,-5.482626949453814e-4,-2.424130364105868e-5,3.572121989232335e-9,-5.479593003710058e-4,-2.400859263852101e-5,3.6322781071167195e-9,-5.477393924139225e-4,-2.380483572567349e-5,3.685543859039702e-9,-5.475800136344878e-4,-2.365734300350956e-5,3.7241138416981567e-9,-5.47451900115605e-4,-2.3579686113701558e-5,3.743864278401933e-9,-5.473251545092862e-4,-2.3572576485177517e-5,3.744220422532077e-9,-5.471730460260657e-4,-2.3626248739021626e-5,3.727569108803425e-9,-5.469742478632765e-4,-2.3723043848052887e-5,3.6985616396725427e-9,-5.467142469598954e-4,-2.3839630731377964e-5,3.6634824609621807e-9,-5.463866264206015e-4,-2.3948973655604125e-5,3.6296880385067596e-9,-5.4599456793534e-4,-2.4022629138410048e-5,3.604980769764583e-9,-5.455523444943196e-4,-2.4034135649642785e-5,3.5967054365603564e-9,-5.450858818683846e-4,-2.396401744104895e-5,3.6104037986387385e-9,-5.446308564687652e-4,-2.380610222496027e-5,3.648086038965713e-9,-5.442267710418497e-4,-2.3573376044700058e-5,3.7065940327411654e-9,-5.43906780201333e-4,-2.3300037015731352e-5,3.776970362392915e-9,-5.436858585814063e-4,-2.303631065445945e-5,3.8457757017923984e-9,-5.43552613478327e-4,-2.28353475000358e-5,3.898554409891338e-9,-5.434699258623914e-4,-2.2736277504907688e-5,3.924381501274142e-9,-5.433855832143338e-4,-2.275078970747129e-5,3.919540539705527e-9,-5.43248646299094e-4,-2.285936214945721e-5,3.888688548443496e-9,-5.430245801652687e-4,-2.3018194797770242e-5,3.8431759853901846e-9,-5.427037893107168e-4,-2.3172944399802506e-5,3.7974973736510936e-9,-5.423020260258028e-4,-2.3273629234107787e-5,3.765329016282113e-9,-5.418542195221602e-4,-2.328631805513169e-5,3.756319626683319e-9,-5.414045400541133e-4,-2.3199382210688513e-5,3.774257587440266e-9,-5.409955890221134e-4,-2.302384304625818e-5,3.8167930066406206e-9,-5.406592269132189e-4,-2.2788582348018324e-5,3.876564618794517e-9,-5.404109156371855e-4,-2.253214165155441e-5,3.943315026925249e-9,-5.402484736817223e-4,-2.2293496058127136e-5,4.00637464546443e-9,-5.401548723226671e-4,-2.210423231623976e-5,4.056855142789439e-9]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json new file mode 100644 index 000000000..f56819cf3 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":7000,"numberOfSamples":1000,"samples":[-5.401035826582183e-4,-2.1983771746004456e-5,4.089071108861903e-9,-5.400645679375473e-4,-2.1937995914044596e-5,4.1010390739496695e-9,-5.400093979365809e-4,-2.1960549237341188e-5,4.094200825458988e-9,-5.399147607226752e-4,-2.203560775605646e-5,4.072680770337793e-9,-5.397644338651072e-4,-2.2140989396072942e-5,4.0424039620270295e-9,-5.395502643031555e-4,-2.2250959079911428e-5,4.010291455194114e-9,-5.392727708698771e-4,-2.233868896010399e-5,3.983582390762636e-9,-5.389417235021638e-4,-2.2378792834005243e-5,3.969178139964558e-9,-5.385766058145648e-4,-2.235055698671764e-5,3.972815745495291e-9,-5.382062428829531e-4,-2.2242365349685453e-5,3.9978965146973945e-9,-5.378662132655593e-4,-2.205712418011711e-5,4.043993326717811e-9,-5.375924932704364e-4,-2.181705877637256e-5,4.105479870305896e-9,-5.374109340395555e-4,-2.1564488189815053e-5,4.171221914461289e-9,-5.373252109046606e-4,-2.13546121672999e-5,4.226432351021938e-9,-5.373095626709229e-4,-2.123923851906108e-5,4.256999417283581e-9,-5.373130817418842e-4,-2.1246850964482913e-5,4.25485673473855e-9,-5.372765380678705e-4,-2.136960735856047e-5,4.221561718856039e-9,-5.371540300970259e-4,-2.156549994879516e-5,4.167859343731849e-9,-5.36928145915775e-4,-2.177449463181616e-5,4.109507993256763e-9,-5.36612298142394e-4,-2.193926959851254e-5,4.061836554881471e-9,-5.362421974391817e-4,-2.202084762893932e-5,4.035594559950374e-9,-5.358628658080441e-4,-2.200502185841941e-5,4.035163172736923e-9,-5.355167351147426e-4,-2.1900830823744038e-5,4.058798324504693e-9,-5.35235449411885e-4,-2.173439788390032e-5,4.100071676730384e-9,-5.350357193602122e-4,-2.15410881740401e-5,4.14980207032798e-9,-5.349185757880749e-4,-2.135782693181579e-5,4.198050291539687e-9,-5.348712290073628e-4,-2.121657442592248e-5,4.2359280087428855e-9,-5.348708000481933e-4,-2.1139615342117445e-5,4.257004944159546e-9,-5.348890826615417e-4,-2.113709309176623e-5,4.258128208977309e-9,-5.348974104172614e-4,-2.1206799246401138e-5,4.239584522007182e-9,-5.348708384321045e-4,-2.1335822917691524e-5,4.204678615706449e-9,-5.347911231697716e-4,-2.1503424398811796e-5,4.158913513206647e-9,-5.346483663470459e-4,-2.1684383203511062e-5,4.109023325019758e-9,-5.344415971986584e-4,-2.185222293312799e-5,4.062070768370815e-9,-5.341787121227865e-4,-2.198213649495927e-5,4.024683100836483e-9,-5.338760303296781e-4,-2.2053786749643512e-5,4.002365575691231e-9,-5.335574557412858e-4,-2.2054309116071213e-5,3.998758028608726e-9,-5.332528017860458e-4,-2.198181627770456e-5,4.014702338546216e-9,-5.32994271803446e-4,-2.1849184863030615e-5,4.047158626760407e-9,-5.328099775273082e-4,-2.1686695872980368E-05,4.088373074123842e-9,-5.327143982259301e-4,-2.1540670747909262e-5,4.1261167888255816e-9,-5.326982547305342e-4,-2.146472539588816e-5,4.145954976805639e-9,-5.327237676269208e-4,-2.150269819024173e-5,4.135827219007261e-9,-5.32732172820136e-4,-2.166880035547954e-5,4.091442962833996e-9,-5.32664363807273e-4,-2.193675634261866e-5,4.019307535221708e-9,-5.324850262715923e-4,-2.2247356034033065e-5,3.93482109123221e-9,-5.321959712692641e-4,-2.253169043764306e-5,3.856170494966331e-9,-5.318318024819819e-4,-2.2736299986202895e-5,3.797697407775919e-9,-5.314434001136979e-4,-2.283727543038531e-5,3.7661716224598815e-9,-5.310801862783224e-4,-2.2840328090950416e-5,3.760701663621395e-9,-5.307784695622606e-4,-2.277209911293882e-5,3.774865010501329e-9,-5.305570300482153e-4,-2.2669296597542187e-5,3.799377675031908e-9,-5.304177923198672e-4,-2.2569563199808032e-5,3.824373068544768e-9,-5.303490345079164e-4,-2.2505211219014473e-5,3.841055895162692e-9,-5.303294436667859e-4,-2.2499458669989806e-5,3.842819986704146e-9,-5.303323047521583e-4,-2.2564506861846283e-5,3.825934653411622e-9,-5.303295770130921e-4,-2.2701095439328812e-5,3.78981094362531e-9,-5.302956400451363e-4,-2.2899349303107257e-5,3.736840685640963e-9,-5.30210473665667e-4,-2.314073527658426e-5,3.6718507329490764e-9,-5.300620142371433e-4,-2.340093393614476e-5,3.601265981895817e-9,-5.298474349228372e-4,-2.3653284469214588e-5,3.532132956929273e-9,-5.29573308984056e-4,-2.3872320401723e-5,3.4711768964710575e-9,-5.292548431176042e-4,-2.403707365259649e-5,3.4239812057610383e-9,-5.289143407918906e-4,-2.4134058857944783e-5,3.3942741989696835e-9,-5.285789266630395e-4,-2.4159906281443744e-5,3.3832709646259577e-9,-5.282773952237134e-4,-2.4123609199085298e-5,3.389033411558258e-9,-5.280357364388392e-4,-2.404808982327215e-5,3.4059246595776906e-9,-5.278708810726782e-4,-2.3969949940549298e-5,3.4245089739342943e-9,-5.277831391864141e-4,-2.3935357712190903e-5,3.4325187746853774e-9,-5.277497546540487e-4,-2.3990053843999665e-5,3.417490568679712e-9,-5.277243373408124e-4,-2.416362760309801e-5,3.371043381811958e-9,-5.276472969010053e-4,-2.4453303594010498e-5,3.2933522318209953e-9,-5.274672038760931e-4,-2.4817592116745615e-5,3.1949762152372857e-9,-5.271634422555336e-4,-2.5188059386224728e-5,3.0937979755767632e-9,-5.267559068389037e-4,-2.549567899523349e-5,3.008057415556971e-9,-5.262952781608044e-4,-2.569664316277229e-5,2.9495561606916857e-9,-5.258412694183832e-4,-2.5783493066863733e-5,2.9207489680924703e-9,-5.254425066389419e-4,-2.5779503885456728e-5,2.9161612247094987e-9,-5.251263833011977e-4,-2.5724489785007588e-5,2.925940256027055e-9,-5.248986095698239e-4,-2.566102959629115e-5,2.9392604634341714e-9,-5.247480432907525e-4,-2.5625368004893986e-5,2.946595015690205e-9,-5.246528338231885e-4,-2.5643091786020372e-5,2.940887498147975e-9,-5.245858121778989e-4,-2.572797628618578e-5,2.918009092055048e-9,-5.245186697908287e-4,-2.5882406676612352e-5,2.8768303754599108e-9,-5.244252403009383e-4,-2.6098529986454154e-5,2.8190430572214277e-9,-5.242842104460674e-4,-2.6359918036558112e-5,2.748752781998075e-9,-5.240813809095547e-4,-2.664376012583758e-5,2.6718566779627634e-9,-5.23811405473642e-4,-2.6923697743507696e-5,2.5952305181850944e-9,-5.234786998958045e-4,-2.7173303690041893e-5,2.5257824612885647e-9,-5.230971720563157e-4,-2.7369871435687406e-5,2.4694878843742183e-9,-5.226886747385083e-4,-2.749801736194075e-5,2.4305157487672832e-9,-5.222802740203602e-4,-2.7552679878417226e-5,2.410501767346455e-9,-5.219004721067165e-4,-2.7541114744677728e-5,2.4080150610133087e-9,-5.215746064004773e-4,-2.748348611429587e-5,2.4182963593044943e-9,-5.213196916609409e-4,-2.741169261001642e-5,2.433387542607336e-9,-5.211390633776294e-4,-2.7365830864708946e-5,2.442883976030173e-9,-5.210177939670833e-4,-2.7387386588784694e-5,2.4356382416405185e-9,-5.2092103264559e-4,-2.7508753633437043e-5,2.4025749182162106e-9,-5.207983793056417e-4,-2.7740648686792387e-5,2.3401865242185253e-9,-5.205966266482828e-4,-2.806223642295004e-5,2.253350576167634e-9,-5.202789824851698e-4,-2.8421269302758358e-5,2.1554312055901617e-9,-5.198423209709797e-4,-2.8748981292602243e-5,2.064380772209385e-9,-5.193213569961983e-4,-2.8985277857182498e-5,1.996093068377223e-9,-5.187754286828383e-4,-2.9100856801229018e-5,1.95860814721846e-9,-5.182654734879904e-4,-2.910408008464851e-5,1.950328402209735e-9,-5.17834468885133e-4,-2.903146570281326e-5,1.9624204795998646e-9,-5.174994717055985e-4,-2.8930642345991606e-5,1.9830589980046977e-9,-5.172543344144145e-4,-2.8845521813800735e-5,2.0010793286060667e-9,-5.170775031307184e-4,-2.8808046397317225e-5,2.0080420772500573e-9,-5.169400421587481e-4,-2.883586587420426e-5,1.998918998843043e-9,-5.168116638617822e-4,-2.8933416322078027e-5,1.9719933681402133e-9,-5.166645952694134e-4,-2.9094191480639365e-5,1.928446821526537e-9,-5.16476024252827e-4,-2.930309443473024e-5,1.8718459878098334e-9,-5.162298604848831e-4,-2.9538674218475745e-5,1.8075644448687839e-9,-5.15918183163581e-4,-2.9775463189840496e-5,1.7421226458261029e-9,-5.155423951219354e-4,-2.9986754143992856e-5,1.682415416929058e-9,-5.151137407302886e-4,-3.0148054298078004e-5,1.6348102041026057e-9,-5.14652612618079e-4,-3.024103796625174e-5,1.6041685250154395e-9,-5.141862173715009e-4,-3.025736743569097e-5,1.5929194416540232e-9,-5.137445594032925e-4,-3.0201544061071227e-5,1.6003442662174793e-9,-5.133551073665073e-4,-3.0091913298744713e-5,1.6222546448333353e-9,-5.130369284461957e-4,-2.9959105712960137e-5,1.651244127376648e-9,-5.127954099507898e-4,-2.9841663506552026e-5,1.6776263789056898e-9,-5.126187743607301e-4,-2.977911818282605e-5,1.6910763709352394e-9,-5.124775920139699e-4,-2.980317215645477e-5,1.6828919402962205e-9,-5.123285291058596e-4,-2.992827896807966e-5,1.6485704768880652e-9,-5.121232184702717e-4,-3.0144080674584436e-5,1.5900146804836555e-9,-5.118216874803194e-4,-3.041333535976552e-5,1.5163090868023582e-9,-5.114069216089788e-4,-3.06788578426189e-5,1.4420450362417905e-9,-5.108941341159282e-4,-3.087997193374652e-5,1.383045829244638e-9,-5.103283884814538e-4,-3.097314754523197e-5,1.350950290890561e-9,-5.097696659935665e-4,-3.0946985077149386e-5,1.3492802047218747e-9,-5.092722871601308e-4,-3.0823751756630565e-5,1.3729826486285837e-9,-5.088689790088103e-4,-3.064783528784369e-5,1.4112787115572115e-9,-5.085657929059659e-4,-3.046880866802487e-5,1.4518356546063253e-9,-5.08346811352875e-4,-3.032757248561428e-5,1.4841879987672864e-9,-5.081833205273989e-4,-3.024951848205968e-5,1.5014927928567059e-9,-5.080425577921641e-4,-3.024389232124672e-5,1.5008319918093534e-9,-5.078937898414977e-4,-3.0306504584070308e-5,1.4827093655212703e-9,-5.077117106050379e-4,-3.042331137863873e-5,1.4502784815439696e-9,-5.074781087294359e-4,-3.0573627604291196e-5,1.4085697181512755e-9,-5.071827632231985e-4,-3.0732762305829554e-5,1.363783212066794e-9,-5.068241386956512e-4,-3.087440447664662e-5,1.322616276444108e-9,-5.064099743494193e-4,-3.097328317084115e-5,1.2915471371343079e-9,-5.059573813360568e-4,-3.100850766576199e-5,1.2759963019804067e-9,-5.054917280931815e-4,-3.09675266499804e-5,1.2793674539120017e-9,-5.050436028710859e-4,-3.085000943630236e-5,1.3021016279347987e-9,-5.046435847782699e-4,-3.067039629349787e-5,1.3410151010863194e-9,-5.043154041700915e-4,-3.0457621016956392e-5,1.3892739397176436e-9,-5.040690924503929e-4,-3.025093383015183e-5,1.4372920683562972e-9,-5.038963498673596e-4,-3.0091976510982597e-5,1.4745708467378526e-9,-5.037701041335682e-4,-3.001474285367648e-5,1.4921523724764496e-9,-5.036491510419384e-4,-3.0036038672483e-5,1.4850891219563646e-9,-5.034873278369172e-4,-3.0149240525066758e-5,1.4542250103523055e-9,-5.032453132593057e-4,-3.032361586041559e-5,1.4066373962624775e-9,-5.029021178492986e-4,-3.0510322165871625e-5,1.3543382658568904e-9,-5.024627404979756e-4,-3.06545113386691e-5,1.3112907864465489e-9,-5.01958677253733e-4,-3.0710749963624354e-5,1.2894420761309303e-9,-5.014397693770699e-4,-3.065674386674007e-5,1.2951067361437504e-9,-5.009594637119274e-4,-3.0499774007028698e-5,1.327181960804589e-9,-5.005591265624038e-4,-3.027289359707675e-5,1.3779593095465411e-9,-5.002577464773517e-4,-3.002286754188913e-5,1.4360302437884732e-9,-5.000502980916162e-4,-2.9795642680252517e-5,1.4898545010720947e-9,-4.999135018056022e-4,-2.96252177016554e-5,1.530564984614016e-9,-4.998148703059288e-4,-2.9528734833433275e-5,1.5533180663703762e-9,-4.997210391324866e-4,-2.9507108813167577e-5,1.557313949211449e-9,-4.996033580441727e-4,-2.95486805281199e-5,1.5450349761472517e-9,-4.994407134467235e-4,-2.963354086042027e-5,1.5212284427432084e-9,-4.99220513807549e-4,-2.9737275227078863e-5,1.4919412361183264e-9,-4.989388300780407e-4,-2.9833867578447486e-5,1.4637165471569636e-9,-4.986003615032496e-4,-2.989808300652266e-5,1.442933990607473e-9,-4.982184149831263e-4,-2.9907927865987277e-5,1.4351810441446417e-9,-4.978145252172193e-4,-2.9847712851288548e-5,1.4445248582206659e-9,-4.974169169914042e-4,-2.971176155615385e-5,1.4726359068551763e-9,-4.970569165391165e-4,-2.9508056286774713e-5,1.517893845763169e-9,-4.967628303390822e-4,-2.926026998042455e-5,1.574829976621728e-9,-4.96551978398408e-4,-2.900608455871382e-5,1.634431128285346e-9,-4.96423302209712e-4,-2.879027553840682e-5,1.6857146709917446e-9,-4.963541060645736e-4,-2.865323310167557e-5,1.7184681499924557e-9,-4.963036761354488e-4,-2.861842652841363e-5,1.7263462753477494e-9,-4.962236841992082e-4,-2.8683800491744274e-5,1.7091218148852898e-9,-4.960720233794146e-4,-2.8820919804120417e-5,1.673117417745899e-9,-4.958250916601518e-4,-2.898244031513813e-5,1.6295915726764063e-9,-4.954843911405692e-4,-2.911516518981793e-5,1.591663143962164e-9,-4.950757567029083e-4,-2.9174289607850693e-5,1.5708062654753593e-9,-4.946419883627445e-4,-2.9134683182893188e-5,1.5739443674704452e-9,-4.942313197632331e-4,-2.899634780038582e-5,1.601897900139963e-9,-4.938850760519116e-4,-2.8782878175581034e-5,1.6495407345080696e-9,-4.936280480341194e-4,-2.8533738897703263e-5,1.707525662802973e-9,-4.934641902772148e-4,-2.8293088750190768e-5,1.7649546067683797e-9,-4.933783032088761e-4,-2.80988640410467e-5,1.8121051613246878e-9,-4.933422254005704e-4,-2.7975289802310766e-5,1.8424210940995162e-9,-4.933227875226166e-4,-2.793022331205908e-5,1.853363241919422e-9,-4.932888738289174e-4,-2.7956735636432285e-5,1.8461872237371115e-9,-4.932160962554518e-4,-2.8037116641906087e-5,1.8250326211687373e-9,-4.930889594766327e-4,-2.8147435486230603e-5,1.7957702854856959e-9,-4.929012427190119e-4,-2.8261502965497104e-5,1.7649326447086253e-9,-4.926554961798312e-4,-2.835390391705434e-5,1.7388763334173934e-9,-4.923623095573031e-4,-2.8402349479687208e-5,1.7231683216680764e-9,-4.920395867133475e-4,-2.8389889647024718e-5,1.722073563894763e-9,-4.917115540492151e-4,-2.8307497965287012e-5,1.7379836944677346e-9,-4.914067695061618e-4,-2.815714883271202e-5,1.7707008124423624e-9,-4.911541935152892e-4,-2.7954758530073625e-5,1.8166878141640076e-9,-4.9097673506944e-4,-2.773135265619518e-5,1.868683014872907e-9,-4.908829819257416e-4,-2.753002578310636e-5,1.9163130986412e-9,-4.908600342594571e-4,-2.7396792960745575e-5,1.9482274136412787e-9,-4.908721173909682e-4,-2.736633164669827e-5,1.9555585722015448e-9,-4.908685218729858e-4,-2.7447945016454782e-5,1.935427847646306e-9,-4.907995565142859e-4,-2.7619289411182313e-5,1.8926347984558103e-9,-4.906336832509187e-4,-2.7832348344015255e-5,1.8383867655335314e-9,-4.903676923646972e-4,-2.802925951189207e-5,1.7865984348223615e-9,-4.900260027571856e-4,-2.81603898676814e-5,1.7495716625922467e-9,-4.89651135545775e-4,-2.8197278587712897e-5,1.7348223698973235e-9,-4.892906052692192e-4,-2.8137212384925217e-5,1.7438257478064728e-9,-4.889850187707911e-4,-2.800028120231637e-5,1.7725003438639047e-9,-4.887600631930353e-4,-2.782169608840279e-5,1.8128296668897378e-9,-4.886231415493295e-4,-2.764229676123075e-5,1.8550063239660704e-9,-4.885642484701803e-4,-2.7499550273375093e-5,1.8896080581632753e-9,-4.88560103003217e-4,-2.7420633789239168e-5,1.9094190965771907e-9,-4.885802098906471e-4,-2.741859369588705e-5,1.9105887095828677e-9,-4.885932963466409e-4,-2.749186494528233e-5,1.892958847920264e-9,-4.885727070221833e-4,-2.7626586385723848e-5,1.8596151082628022e-9,-4.884999125827284e-4,-2.780056601507957e-5,1.815912403162441e-9,-4.883659918181414e-4,-2.7987688626019622e-5,1.7683031663824352e-9,-4.881714965792303e-4,-2.8161857991136438e-5,1.7232621331153711e-9,-4.879253817230721e-4,-2.8300053385778088e-5,1.6864793191295907e-9,-4.876435954604153e-4,-2.838460913858599e-5,1.6623231380987314e-9,-4.87347570898538e-4,-2.8405127125376862e-5,1.6534487206287574e-9,-4.870624676766653e-4,-2.8360400428380635e-5,1.660397458157364e-9,-4.8681464921107224e-4,-2.8260451760282097e-5,1.6810999234867354e-9,-4.8662762504571956e-4,-2.8128194590838857e-5,1.710378936760407e-9,-4.865159493111669e-4,-2.7999259061439134e-5,1.7398402884595435e-9,-4.864778001628795e-4,-2.7917688216241995e-5,1.758782346831438e-9,-4.864891773662556e-4,-2.7925623648319725e-5,1.7566564873211407e-9,-4.8650469881442816e-4,-2.8048055389582203e-5,1.7268436941845679e-9,-4.8646900022718986e-4,-2.8278862045047066e-5,1.6701987909042514e-9,-4.863366661408441e-4,-2.8577505119019685e-5,1.596014686119699e-9,-4.8609095859314307e-4,-2.888149066944309e-5,1.5191180487893385e-9,-4.8575031131327785e-4,-2.9129303897496962e-5,1.4543917377772392e-9,-4.853594628443761e-4,-2.928127077721007e-5,1.4117786999065398e-9,-4.8497195747729835e-4,-2.932864068445588e-5,1.394071849831376e-9,-4.846337505125269e-4,-2.92901557766113e-5,1.397598481510503e-9,-4.8437354423659196e-4,-2.9201624636557654e-5,1.4144787727407432e-9,-4.842002284292061e-4,-2.9104393029698005e-5,1.4351477859261177e-9,-4.841052181270292e-4,-2.903609161431683e-5,1.4504558263885193e-9,-4.84067228217977e-4,-2.9024670479161186e-5,1.4531643834621424e-9,-4.840577748119623e-4,-2.90853939257728e-5,1.438879930124667e-9,-4.8404655015113853e-4,-2.9220176531956694e-5,1.4064663055144139e-9,-4.840061936266715e-4,-2.9418854952069273e-5,1.3579222509944927e-9,-4.839159970403585e-4,-2.9661986241126522e-5,1.2977592972372048e-9,-4.8376421255598803e-4,-2.99245694584744e-5,1.2320364517035848e-9,-4.8354887698368103e-4,-3.0180063885511402e-5,1.1672683012708056e-9,-4.832772700501507e-4,-3.0404142004948953e-5,1.1094257627540442e-9,-4.829643557323166e-4,-3.0577722626730395e-5,1.06319106972272e-9,-4.826306810340864e-4,-3.068915192762852e-5,1.0314937573263063e-9,-4.823000236618913e-4,-3.073572511170575e-5,1.0152261736262526e-9,-4.819967854440488e-4,-3.07247596187981e-5,1.0130129991719876e-9,-4.8174290438235536e-4,-3.067424662353938e-5,1.0209817846856487e-9,-4.8155387647187757e-4,-3.061273027346073e-5,1.032629336411569e-9,-4.814336608023644e-4,-3.057734555154527e-5,1.0391143981355627e-9,-4.813692597631775e-4,-3.060832201910778e-5,1.0304832601707698e-9,-4.813275459614071e-4,-3.073869463472397e-5,9.981998565152625e-10,-4.812585659790297e-4,-3.09804507134622e-5,9.386721541243323e-10,-4.811087866201458e-4,-3.1312961751180574e-5,8.56262021686922e-10,-4.8084200197442165e-4,-3.168291882514008e-5,7.634346976835111e-10,-4.804573453938174e-4,-3.202098523525012e-5,6.767668830172286e-10,-4.799919742448245e-4,-3.226863232885468e-5,6.104833504614054e-10,-4.7950561722214457e-4,-3.239963129412474e-5,5.713324640502453e-10,-4.7905711130771735e-4,-3.2424683834516966e-5,5.57489239643948e-10,-4.7868648919253005e-4,-3.2380572165611614e-5,5.61014998658449e-10,-4.78408756745913e-4,-3.231372536823076e-5,5.715060758294507e-10,-0.00047821695541208484,-3.226672810540936e-5,5.790543339561175e-10,-4.780892929635116e-4,-3.2270696159169436e-5,5.759797425532569e-10,-4.7799654019284706e-4,-3.2342694027153804e-5,5.575709307492149e-10,-4.7790798337904856e-4,-3.2486240286347094e-5,5.222191413059654e-10,-4.7779572256916394e-4,-3.269322339193252e-5,4.712137846897875e-10,-4.776377532430203e-4,-3.294643314889626e-5,4.0828191455557877e-10,-4.7742011900052996e-4,-3.322255415686779e-5,3.3887550315425643e-10,-4.7713813362436103e-4,-3.3495522236272236e-5,2.692723543611399e-10,-4.767966058786844e-4,-3.374005506219493e-5,2.0561845121165476e-10,-4.764089810761079e-4,-3.3935100660724256e-5,1.5304719488686107e-10,-4.759953978571277e-4,-3.4066794130658526e-5,1.150012473363178e-10,-4.75579914293648e-4,-3.4130529894258694e-5,9.281539758685568e-11,-4.7518726401693057e-4,-3.4132012358599385e-5,8.552166664277137e-11,-4.7483937947707337e-4,-3.4087283256587925e-5,8.9808001360197e-11,-4.745518134530909e-4,-3.402168289331611e-5,1.0012352749726892e-10,-4.743301302744044e-4,-3.396758918434555e-5,1.0901384685598315e-10,-4.7416643965561046e-4,-3.3960444197777966e-5,1.0790405985855532e-10,-4.740368979791793e-4,-3.4032281179469596e-5,8.86169595898152e-11,-4.739021227586955e-4,-3.420250408423377e-5,4.5725881072999446e-11,-4.7371326042227083e-4,-3.446757033559661e-5,-2.0710561717845824e-11,-4.734254927457585e-4,-3.479429725681101e-5,-1.0330249928567228e-10,-4.7301639236006836e-4,-3.5123672220509924e-5,-1.881476569178234e-10,-4.725000431178112e-4,-3.5388839961071916e-5,-2.591876480176443e-10,-4.7192604541348076e-4,-3.554105374407855e-5,-3.044707002743182e-10,-4.7136099969806975e-4,-3.556883779945993e-5,-3.206993534357789e-10,-4.7086294225468346e-4,-3.549888047725581e-5,-3.1342792392102554e-10,-4.7046352272326177e-4,-3.538050951555742e-5,-2.935213287305637e-10,-4.7016473226171217e-4,-3.5265590743997314e-5,-2.726806915020762e-10,-4.699464136836216e-4,-3.5194260656001715e-5,-2.6030955535709985e-10,-4.697770469616606e-4,-3.518932915329649e-5,-2.622205939252974e-10,-4.696228012465099e-4,-3.5256920462369833e-5,-2.8060094716625834e-10,-4.6945333703288087e-4,-3.538992906669341e-5,-3.145484253008059e-10,-4.69244867902677e-4,-3.5571919634512485e-5,-3.607624652693146e-10,-4.6898164086817774e-4,-3.5780529452895425e-5,-4.1425452821863957e-10,-4.686566863176195e-4,-3.5990449974228233e-5,-4.690962154934373e-10,-4.6827208786035787e-4,-3.617631589754077e-5,-5.192139267408718e-10,-4.678386863652773e-4,-3.631568320727738e-5,-5.591870571551936e-10,-4.6737497335989225e-4,-3.6392083291211825e-5,-5.849904896303589e-10,-4.6690488301707415e-4,-3.639782201853782e-5,-5.94602599597509e-10,-4.6645445102384944e-4,-3.633592139146378e-5,-5.883906819014525e-10,-4.660476945176547e-4,-3.6220661871468307e-5,-5.692228942796334e-10,-4.657022695838701e-4,-3.6076407131886816e-5,-5.422815071321678e-10,-4.6542554666657507e-4,-3.5934607127357874e-5,-5.145430862929582e-10,-4.6521176990474016e-4,-3.582914597600692e-5,-4.93889587145379e-10,-4.650408921003716e-4,-3.579037660247443e-5,-4.878228226654467e-10,-4.6487973809540686e-4,-3.583822677071e-5,-5.017887049330647e-10,-4.646864289969452e-4,-3.5975183793548686e-5,-5.37296846788472e-10,-4.64418929535433e-4,-3.618107017587765e-5,-5.903807450996709e-10,-4.640473748557744e-4,-3.641280549063968e-5,-6.513004445318026e-10,-4.6356706963375163e-4,-3.6612571972860786e-5,-7.064066461510136e-10,-4.6300573393137634e-4,-3.672503075757567e-5,-7.42296675743031e-10,-4.624182914159778e-4,-3.671797163766815e-5,-7.508047679955584e-10,-4.6186855565977626e-4,-3.659550128472903e-5,-7.321670756526646e-10,-4.614064225580401e-4,-3.6395389241618036e-5,-6.944563282812404e-10,-4.610528332327597e-4,-3.6172385710832e-5,-6.498299076742612e-10,-4.607987283925611e-4,-3.597801715887471e-5,-6.100320374056605e-10,-4.6061468507508637e-4,-3.5846959612404006e-5,-5.833503649471653e-10,-4.6046349004600013e-4,-3.579313229929127e-5,-5.736387227312834e-10,-4.6030994274539054e-4,-3.5812705095171745e-5,-5.807834219497946e-10,-4.601262422144594e-4,-3.588972134772124e-5,-6.017486078129592e-10,-4.5989390505752053e-4,-3.600142119002202e-5,-6.316505581854882e-10,-4.596038614192552e-4,-3.61222398339944e-5,-6.646706362294414e-10,-4.592559568531993e-4,-3.6226694452753686e-5,-6.948193567656552e-10,-4.5885834703375316e-4,-3.629175808199892e-5,-7.166060109300918e-10,-4.584267277797475e-4,-3.629920933167143e-5,-7.25651034334448e-10,-4.5798303120869814e-4,-3.623817319516776e-5,-7.192617233124736e-10,-4.575530806030977e-4,-3.610762730040304e-5,-6.969458465337379e-10,-4.571628892970559e-4,-3.591815255208761e-5,-6.607620683323364e-10,-4.56833823604343e-4,-3.569198142091502e-5,-6.153534493322551e-10,-4.5657747279228704e-4,-3.54605678450924e-5,-5.675121322431022e-10,-4.5639155317605325e-4,-3.525945503013983e-5,-5.251872676244543e-10,-4.562582877399368e-4,-3.5121101489857186e-5,-4.960025021303906e-10,-4.561462404911574e-4,-3.5067166813251846e-5,-4.855281510313871e-10,-4.560157354184803e-4,-3.510209657136758e-5,-4.956760285975314e-10,-4.558271844438492e-4,-3.520973052125918e-5,-5.23642942124648e-10,-4.555509722539143e-4,-3.5354377231198915e-5,-5.618485388203806e-10,-4.551767900011865e-4,-3.5487271728465515e-5,-5.99216862288837e-10,-4.547194931700101e-4,-3.555821241925147e-5,-6.238372524193589e-10,-4.5421824807652514e-4,-3.553016757808225e-5,-6.264728450339745e-10,-4.537270827198009e-4,-3.539206308847836e-5,-6.037125880351339e-10,-4.532987076358123e-4,-3.5163679660655164e-5,-5.592847955933052e-10,-4.5296792741134556e-4,-3.488912728160238e-5,-5.027086388929701e-10,-4.527422313081323e-4,-3.462138798450755e-5,-4.458766460131134e-10,-4.5260323410913533e-4,-3.4405453702598874e-5,-3.9926413768010085e-10,-4.5251644486876176e-4,-3.426740951649623e-5,-3.6938487658784766e-10,-4.5244332300902997e-4,-3.421213627964388e-5,-3.5808595438001316e-10,-4.523505626185003e-4,-3.4227480505678286e-5,-3.632636675315268e-10,-4.5221482312207624e-4,-3.4290899461766846e-5,-3.8020116677613763e-10,-4.5202375557595886e-4,-3.437554371425792e-5,-4.029081427514244e-10,-4.5177505774483904e-4,-3.445460262322402e-5,-4.251869797649234e-10,-4.514749547370295e-4,-3.4504079311446706e-5,-4.4139362238526164e-10,-4.5113679020358777e-4,-3.450468018923218e-5,-4.469651496899405e-10,-4.507797731939009e-4,-3.444350711070474e-5,-4.388225099902334e-10,-4.504274678763231e-4,-3.431595710739258e-5,-4.1574789980056126e-10,-4.501053968208255e-4,-3.412772239306382e-5,-3.7876689398194317e-10,-4.49837245052929e-4,-3.3896171321560205e-5,-3.3143923698792594e-10,-4.4963967883302245e-4,-3.364990241377015e-5,-2.7982500286964254e-10,-4.495167350280108e-4,-3.342519780636138e-5,-2.3182893325347959e-10,-4.494557916595384e-4,-3.32588698365336e-5,-1.9575098987866422e-10,-4.494275238613324e-4,-3.317868246084438e-5,-1.7822526619476317e-10,-4.493912544321645e-4,-3.319433112785999e-5,-1.8215182067943742e-10,-4.4930491559363935e-4,-3.329257874488547e-5,-2.0541584757431906e-10,-4.491366544886963e-4,-3.343893518934762e-5,-2.409915239755049e-10,-4.4887423428689434e-4,-3.358582747083409e-5,-2.785249749837473e-10,-4.4852918924545023e-4,-3.3684857564196356e-5,-3.069592004180854e-10,-4.481345025764483e-4,-3.3699547562141865E-05,-3.174400965017838e-10,-4.477364173205387e-4,-3.36150453685436e-5,-3.056899582009406e-10,-4.473824653024104e-4,-3.3442075559446554e-5,-2.731645840371916e-10,-4.471089794236686e-4,-3.3213746559910004e-5,-2.2659609678642381e-10,-4.4693193476726584e-4,-3.2975892326254515e-5,-1.7600234698550785e-10,-4.4684415933761597e-4,-3.2774072581832724e-5,-1.318180279743324e-10,-4.468195596048631e-4,-3.264180812728822e-5,-1.0215906621877542e-10,-4.468221350963377e-4,-3.259390394722096e-5,-9.111564082088563e-11,-4.468159270102211e-4,-3.262613831507543e-5,-9.843768488394674e-11,-4.4677253154619184e-4,-3.271981887431175e-5,-1.2037327381122013e-10,-4.466747593938944e-4,-3.2848326037323585e-5,-1.5107991793165482e-10,-4.465169535590928e-4,-3.298315215165685e-5,-1.8405170853296948e-10,-4.4630337571044507e-4,-3.309824656748056e-5,-2.1323351666357844e-10,-4.4604597579605345e-4,-3.317263929462189e-5,-2.337308573244723e-10,-4.45762317539977e-4,-3.3191928530204014e-5,-2.421841171496663e-10,-4.454738218877487e-4,-3.314935956184844e-5,-2.369644191333686e-10,-4.4520398080873634e-4,-3.304699535971351e-5,-2.1835135532547503e-10,-4.449759188950929e-4,-3.289697404544757e-5,-1.887628854791514e-10,-4.448087241116615e-4,-3.2722220146874976e-5,-1.529489231537002e-10,-4.4471242614531716e-4,-3.2555363695373645e-5,-1.1787226547448037e-10,-4.446825403539786e-4,-3.2434324371631275e-5,-9.188130706746193e-11,-4.4469655992664646e-4,-3.2393735943472714e-5,-8.291075104452407e-11,-4.4471563063769776e-4,-3.245364245052461e-5,-9.596818943647909e-11,-4.446933654754844e-4,-3.2609831845342675e-5,-1.3086158754423952e-10,-4.445900359888028e-4,-3.2831347836709934e-5,-1.814400172328324e-10,-4.4438642125605143e-4,-3.306811219248421e-5,-2.370680722983898e-10,-4.4409080264432883e-4,-3.326622792760892e-5,-2.858581212801058e-10,-4.437360837083105e-4,-3.33843518504114e-5,-3.1823887552277983e-10,-4.433690949210459e-4,-3.340463330407339e-5,-3.294487374573945e-10,-4.430370755530498e-4,-3.3335321031998855e-5,-3.203184353265311e-10,-4.427759960089928e-4,-3.320596713714179e-5,-2.9650278742528307e-10,-4.4260339341241914e-4,-3.305809413124731e-5,-2.666935334285821e-10,-4.425164934095727e-4,-3.293443729480453e-5,-2.403889490512539e-10,-4.424951037855245e-4,-3.286939195932481e-5,-2.2573681301802528e-10,-4.4250792553513906e-4,-3.2882577323854434e-5,-2.2789539745179735e-10,-4.425203905633074e-4,-3.297653466831185e-5,-2.4823497974085815e-10,-4.425019734590562e-4,-3.313848660280707e-5,-2.8448803781729026e-10,-4.424313311491289e-4,-3.334499881923905e-5,-3.3168004394333305e-10,-4.422985572981347e-4,-3.3567784931305844e-5,-3.834657566606249e-10,-4.4210484891880924e-4,-3.377905354369237e-5,-4.3346022827032136e-10,-4.4186050614891556e-4,-3.3955460677570604e-5,-4.762630706971752e-10,-0.00044158229376506733,-3.408047587119074e-5,-5.080560853142402e-10,-4.4129088951131405e-4,-3.4145537682724034e-5,-5.268328707022444e-10,-4.4100864451780675e-4,-3.415060214756904e-5,-5.324321778308508e-10,-4.4075744431709034e-4,-3.4104538515809105e-5,-5.265509515466792e-10,-4.405562048159596e-4,-3.402543308853396e-5,-5.128193797311413e-10,-4.4041749799388676e-4,-3.394031824044413e-5,-4.968520411437988e-10,-4.4034317371603764e-4,-3.388321666420194e-5,-4.859836819661576e-10,-4.4031985380117906e-4,-3.389003663385937e-5,-4.882781596747447e-10,-4.4031667309458187e-4,-3.398947734201114e-5,-5.105417250572887e-10,-4.40288726603928e-4,-3.419139460117802e-5,-5.556392875995702e-10,-4.4018852720764694e-4,-3.447763007612022e-5,-6.202734840122589e-10,-4.3998312776834925e-4,-3.4802253044518366e-5,-6.948530997978604e-10,-4.396688525708522e-4,-3.510470657110431e-5,-7.662719727894685e-10,-4.3927463938373874e-4,-3.533108692677226e-5,-8.225278615720626e-10,-4.388514849831018e-4,-3.545261924397217e-5,-8.567545923869293e-10,-4.384542114569926e-4,-3.5472467064472854e-5,-8.687704570663886e-10,-4.381250309194333e-4,-3.542007387575285e-5,-8.640367362840351e-10,-4.3788477725332484e-4,-3.533865244353876e-5,-8.512299465652137e-10,-4.377321566231613e-4,-3.52722511840646e-5,-8.396926899517458e-10,-4.3764830456916964e-4,-3.525614476523123e-5,-8.374333127536711e-10,-4.376036478383992e-4,-3.531151963905395e-5,-8.498330044244647e-10,-4.3756499698159503e-4,-3.544392307484552e-5,-8.790159276265403e-10,-4.3750174764789934e-4,-3.56445680225368e-5,-9.238259471745557e-10,-4.3739057794072914e-4,-3.5893675770702265e-5,-9.803621067461992e-10,-4.372182577922428e-4,-3.6165025749781834e-5,-1.042950971201023e-9,-4.369824734841252e-4,-3.6430802734025703e-5,-1.1053246753441703e-9,-4.36690901264442e-4,-3.6665949804834746e-5,-1.1617407465670032e-9,-4.3635900542241446e-4,-3.685147801086402e-5,-1.2078249534317108e-9,-4.360071976804138e-4,-3.697647114841903e-5,-1.2410262063482944e-9,-4.356579555231565e-4,-3.7038915732516285e-5,-1.260728985867218e-9,-4.353331667358742e-4,-3.704575670653252e-5,-1.2681800873321904e-9,-4.350516275750907e-4,-3.701249208677096e-5,-1.2663789075441324e-9,-4.348264748497907e-4,-3.696235632581322e-5,-1.2599873663792249e-9,-4.3466228069439307e-4,-3.692480626009468e-5,-1.2551736513394884e-9,-4.3455177288540366e-4,-3.6932510170417106e-5,-1.25912798564809e-9,-4.3447301468774706e-4,-3.701572674939781e-5,-1.278902275184977e-9,-4.3438916026796164e-4,-3.71935894381788e-5,-1.3194060826546412e-9,-4.3425376802956616e-4,-3.74638561498117e-5,-1.3809346111075104e-9,-4.340236163024067e-4,-3.779593543622154e-5,-1.4574024307369292e-9,-4.3367640876553675e-4,-3.8134118564692025e-5,-1.5369256916288049e-9,-4.332244241737091e-4,-3.8414502041651824e-5,-1.6055222702572017e-9,-4.3271386018431076e-4,-3.858948430017033e-5,-1.652481129483999e-9,-4.3220787923143326e-4,-3.864607462666557e-5,-1.6743270763616353e-9,-4.317629656468537e-4,-3.860761863456337e-5,-1.6752156913577408e-9,-4.3141176547786695e-4,-3.8520414864384305e-5,-1.6642240440609935e-9,-4.3115868222643985e-4,-3.8435327419660585e-5,-1.651702421749401e-9,-4.3098557996193025e-4,-3.8393580822086956e-5,-1.6464759363415677e-9,-4.3086147835504085e-4,-3.841992287116871e-5,-1.65440671246263e-9,-4.307516674336233e-4,-3.8521823132790755e-5,-1.6780078303099869e-9,-4.306243804306794e-4,-3.8692067403099935e-5,-1.716664885505569e-9,-4.3045497513185133e-4,-3.891267180424769e-5,-1.7671843133691706e-9,-4.302282105989142e-4,-3.9159095494623204e-5,-1.824566327370246e-9,-4.299390751286171e-4,-3.940438880534627e-5,-1.8829431790449586e-9,-4.295924025130069e-4,-3.9623034498814555e-5,-1.936562263178734e-9,-4.292014630930585e-4,-3.9794261037469396e-5,-1.9806593157273097e-9,-4.287856876623859e-4,-3.9904630596068394e-5,-2.0120950226613972e-9,-4.28367754503315e-4,-3.994964610903417e-5,-2.0296763544745215e-9,-4.279704452993792e-4,-3.9934237516808346e-5,-2.0341813886434956e-9,-4.276136265667553e-4,-3.987227137249826e-5,-2.0282039753249915e-9,-4.273114688402678e-4,-3.978527077197651e-5,-2.0159259234067885e-9,-4.2706992488113834e-4,-3.9700366198973295e-5,-2.002829069662559e-9,-4.268845197863682e-4,-3.964737840173896e-5,-1.9952647642030475e-9,-4.267386265969893e-4,-3.965471131576109e-5,-1.999700373052887e-9,-4.266029510717304e-4,-3.9743544324180614e-5,-2.0214358793739664e-9,-4.26437834568534e-4,-3.992039295746758e-5,-2.0627867533072652e-9,-4.2620038657907274e-4,-4.016980373449743e-5,-2.1212012265236316e-9,-4.2585728334790284e-4,-4.0451299582123726e-5,-2.1883606719571155e-9,-4.25400265363133e-4,-4.070596598753596e-5,-2.25155109322746e-9,-4.248561337280175e-4,-4.0874859811857436e-5,-2.2977411834001216e-9,-4.242820619720334e-4,-4.092274432793028e-5,-2.3187965446079723e-9,-4.237451316903482e-4,-4.085341822572131e-5,-2.3147791360394584e-9,-4.2329694415442286e-4,-4.070654441064251e-5,-2.2932869092235596e-9,-4.229578411734412e-4,-4.0538947222353454e-5,-2.2656447239000503e-9,-4.2271688421275413e-4,-4.040304127911455e-5,-2.2426165588610284e-9,-4.225427433080427e-4,-4.0333144803596924e-5,-2.231704275563879e-9,-4.223968689264773e-4,-4.0342043136537935e-5,-2.2363639652971267e-9,-4.222434398179648e-4,-4.042433106460874e-5,-2.256430112670042e-9,-4.220548334090586e-4,-4.056222883882198e-5,-2.2890006714688703e-9,-4.218136677594013e-4,-4.073117018433807e-5,-2.3293788637137593e-9,-4.21512946299068e-4,-4.0904258616967875e-5,-2.3719643641673716e-9,-4.2115531676598317e-4,-4.105575217512033e-5,-2.4111025484600863e-9,-4.207517952197999e-4,-4.1163907229954436e-5,-2.441863734119646e-9,-4.203200113401336e-4,-4.121333480514526e-5,-2.460678044086568e-9,-4.198819221794372e-4,-4.119688223171917e-5,-2.4657691210332674e-9,-4.194609188969578e-4,-4.111682572964086e-5,-2.4573520283086842e-9,-4.1907848888926417e-4,-4.0985005162454883e-5,-2.4375869987131062e-9,-4.1875086145044143e-4,-4.082171835588424e-5,-2.4103369791762464e-9,-4.1848604840921634e-4,-4.065342570658751e-5,-2.3807851127628465e-9,-4.182816061708275e-4,-4.050935427302264e-5,-2.3549026071762925e-9,-4.1812347686722286e-4,-4.041715861848515e-5,-2.3387103150409148e-9,-4.1798629068454416e-4,-4.039789505126642e-5,-2.337275945283984e-9,-4.178356307985684e-4,-4.046059638808345e-5,-2.353438615303446e-9,-4.1763304542852736e-4,-4.0597133531294696e-5,-2.3864309135234715e-9,-4.17344485054109e-4,-4.07791348421971e-5,-2.4308988000567276e-9,-4.1695157842682465e-4,-4.095991780817399e-5,-2.477108670627579e-9,-4.16462448119742e-4,-4.108433698392642e-5,-2.5130503328766345e-9,-4.15915771968092e-4,-4.1106404871525956e-5,-2.528346010590168e-9,-4.153721159190534e-4,-4.100833523430551e-5,-2.5184530965389194e-9,-4.1489323356661917e-4,-4.0810007275967356e-5,-2.4867440031700544e-9,-4.1451934265011636e-4,-4.056149998336314e-5,-2.443004015897615e-9,-4.14257057163492e-4,-4.032253315069391e-5,-2.399280027476654e-9,-4.140829643037679e-4,-4.014115402159914e-5,-2.365624213252662e-9,-4.139573594589503e-4,-4.004203540654317e-5,-2.347719850083814e-9,-4.1383883902764264e-4,-4.0026135838993726e-5,-2.346648557292666e-9,-4.1369395521428763e-4,-4.007714518494776e-5,-2.359918634965156e-9,-4.1350116283010187e-4,-4.0169438678037385e-5,-2.3828275358386247e-9,-4.132509204849382e-4,-4.02745458009851e-5,-2.409672202656709e-9,-4.12944098431814e-4,-4.036544899383293e-5,-2.434693727626981e-9,-4.1259003312596384e-4,-4.0419283786942026e-5,-2.4528076757501718e-9,-4.1220463180241106e-4,-4.041920894315126e-5,-2.460165886913844e-9,-4.118084241146482e-4,-4.035589750016881e-5,-2.4545551866637317e-9,-4.114243079808707e-4,-4.0228769440772255e-5,-2.4356339267987566e-9,-4.1107472547243434e-4,-4.004674770704506e-5,-2.4050065497151834e-9,-4.107782411517076e-4,-3.982801465533893e-5,-2.3661110631512318e-9,-4.1054594259781567e-4,-3.959827057314572e-5,-2.3238887851075064e-9,-4.10378395758591e-4,-3.938732383127705e-5,-2.2842171118400988e-9,-4.1026395191599125e-4,-3.922422342717951e-5,-2.2530908614786637e-9,-4.101791123460307e-4,-3.9131562701737556e-5,-2.23557803383868e-9,-4.100913745510124e-4,-3.911997116984464e-5,-2.2346619299068557e-9,-4.099645570075549e-4,-3.9183950507037974e-5,-2.250178149363926e-9,-4.097661972198411e-4,-3.930021397784681e-5,-2.278150153434694e-9,-4.0947612025577423e-4,-3.9429780090729804e-5,-2.310922006873919e-9,-4.090943862753506e-4,-3.952493336780649e-5,-2.338459230035468e-9,-4.086456517799025e-4,-3.954111611657848e-5,-2.3508883014153373e-9,-4.081763984351799e-4,-3.945141594102922e-5,-2.34172318966217e-9,-4.0774310491620253e-4,-3.9258165010706924e-5,-2.3105104000586573e-9,-4.0739410414728915e-4,-3.899487440782558e-5,-2.2634068239480487e-9,-4.071530517716821e-4,-3.8715380711305496e-5,-2.2110648360130516e-9,-4.07012517735472e-4,-3.8474663908117465e-5,-2.1647814676881445e-9,-4.0694031503661626e-4,-3.83111097332982e-5,-2.132885090794267e-9,-4.0689355328915437e-4,-3.823811500140989e-5,-2.118905391336737e-9,-4.0683245131795863e-4,-3.824611552137267e-5,-2.121744169365106e-9,-4.0672875066320724e-4,-3.83106584547127e-5,-2.137053712749919e-9,-4.065681541205749e-4,-3.8401284561318635e-5,-2.1588842425524963e-9,-4.063489170280104e-4,-3.848820200325258e-5,-2.181051087605659e-9,-4.0607899542711783e-4,-3.854620981262006e-5,-2.198080022710527e-9,-4.0577321760118843e-4,-3.855665233157998e-5,-2.2057933114142437e-9,-4.054509336224549e-4,-3.850839314776131e-5,-2.2016348705458945e-9,-4.051339790749997e-4,-3.839848304650612e-5,-2.1848218714545927e-9,-4.0484452728607707e-4,-3.8232763492249975e-5,-2.1563917184551757e-9,-4.046024009615301e-4,-3.8026166396044666e-5,-2.1191704389762e-9,-4.0442170184689123e-4,-3.780206287518215e-5,-2.0776109012345515e-9,-4.043071522932379e-4,-3.7589916539575194e-5,-2.037394588277785e-9,-4.0425112417486777e-4,-3.7420805564781884e-5,-2.0046841607319565e-9,-4.0423270413599097e-4,-3.732108474951415e-5,-1.9850017433876396e-9,-4.042199941499895e-4,-3.7305461211264305e-5,-1.9818909364028005e-9,-4.041759729458141e-4,-3.7371576180890595e-5,-1.995722476799383e-9,-4.040669367934563e-4,-3.749819781395151e-5,-2.023080949156707e-9,-4.038714430168704e-4,-3.764824543910441e-5,-2.0570719150784504e-9,-4.0358723837979936e-4,-3.777652245214125e-5,-2.088652532821821e-9,-4.0323392522940814e-4,-3.784066890271968e-5,-2.108786263221883e-9,-4.028499668827034e-4,-3.7812733764463005e-5,-2.110917795052249e-9,-4.024839213955273e-4,-3.768809159565209e-5,-2.0930452841422504e-9,-4.0218154105103323e-4,-3.748838143603014e-5,-2.0586134771402745e-9,-4.0197245691300375e-4,-3.7256296497542606e-5,-2.0156987881971886e-9,-4.0186148165965595e-4,-3.7042976733979594e-5,-1.974586200188155e-9,-4.018283808339541e-4,-3.6892494178303976e-5,-1.944623987475064e-9,-4.0183608868270894e-4,-3.6829760565161567e-5,-1.9316327261505804e-9,-4.0184323029191903e-4,-3.685629057238657e-5,-1.9367984159228025e-9,-4.0181540972463755e-4,-3.6953941902521246e-5,-1.9571606390107712e-9,-4.0173160962337696e-4,-3.7093205760581396e-5,-1.9871078224997477e-9,-4.015852743493223e-4,-3.724183204408453e-5,-2.0200937211791826e-9,-4.013819118193629e-4,-3.737112093517171e-5,-2.0500268935527753e-9,-4.0113546642722405e-4,-3.745934046666174e-5,-2.072145790532876e-9,-4.008649162475529e-4,-3.749303145455463e-5,-2.0834320591036338e-9,-4.005915876567197e-4,-3.746722429672266e-5,-2.0827005722215756e-9,-4.00337051736825e-4,-3.7385338843855984e-5,-2.0705219071079996e-9,-4.0012112723467486e-4,-3.725911600757237e-5,-2.0491068141487655e-9,-3.9995945006566694e-4,-3.710838880148392e-5,-2.02219878218256e-9,-3.9986036290861937e-4,-3.696000071532959e-5,-1.9948926212214277e-9,-3.9982147601925637e-4,-3.684496081292581e-5,-1.9731958999948373e-9,-3.998270224104261e-4,-3.6793151712941985e-5,-1.9631309255681626e-9,-3.9984782850540707e-4,-3.6825820017548094e-5,-1.9693326621769157e-9,-3.9984567314217234e-4,-3.6947721487253395e-5,-1.9934475370821446e-9,-3.997823060669654e-4,-3.714229558595796e-5,-2.0329994613703186e-9,-3.996308094008664e-4,-3.7373115060623765e-5,-2.0814266273117242e-9,-3.99384988712439e-4,-3.759249203934011e-5,-2.1295566994293455e-9,-3.9906271036433164e-4,-3.775472405457742e-5,-2.1681019565900638e-9,-3.987016202917927e-4,-3.7829193936713294e-5,-2.190272534708571e-9,-3.9834887836798216e-4,-3.780875269054671e-5,-2.193608295241445e-9,-3.980485538263064e-4,-3.7711034648837475e-5,-2.1805271009791155e-9,-3.978305141809676e-4,-3.75729460791574e-5,-2.157555028882998e-9,-3.9770366530245046e-4,-3.744037328616604e-5,-2.1335311050243456e-9,-3.9765504299890545e-4,-3.735613027207092e-5,-2.1172878104897155e-9,-3.976546923721489e-4,-3.7349520461290274e-5,-2.1154458093897077e-9,-3.976645841027215e-4,-3.7430385886824955e-5,-2.1309453027747796e-9,-3.9764857481630915e-4,-3.7588969553787584e-5,-2.16269710822895e-9,-3.975803240688057e-4,-3.78008285196242e-5,-2.206328545718188e-9,-3.9744725472712117e-4,-3.8034406317778884e-5,-2.2556260006985536e-9,-3.972504331599879e-4,-3.825848207709496e-5,-2.304116143937135e-9,-3.970016678082849e-4,-3.8447576129588216e-5,-2.346328968114079e-9,-3.967195597523896e-4,-3.85847761019194e-5,-2.378535140950185e-9,-3.9642580202908984e-4,-3.8662499543895226e-5,-2.3989805580658325e-9,-3.9614227617272086e-4,-3.8682093918056946e-5,-2.407778956750608e-9,-3.9588887819566896e-4,-3.865305185717903e-5,-2.406662527805749e-9,-3.9568165300506234e-4,-3.8592229765188354e-5,-2.3987512411946675e-9,-3.9553072846361295e-4,-3.852295871827556e-5,-2.3883867003944353e-9,-3.9543774790634314e-4,-3.847345808670505e-5,-2.3809297326839213e-9,-3.9539305003282924e-4,-3.847364136251777e-5,-2.382287114028292e-9,-3.9537371824626544e-4,-3.854948972135635e-5,-2.397910865159832e-9,-3.9534454501332527e-4,-3.8715107497318946e-5,-2.4312142198376576e-9,-3.952641095528031e-4,-3.896460770802551e-5,-2.4818178598376683e-9,-3.9509636929992376e-4,-3.9268210077471814e-5,-2.5445577437541576e-9,-3.9482433024793544e-4,-3.957704143478872e-5,-2.6102337078048142e-9,-3.944590437311957e-4,-3.983728465279895e-5,-2.66827632892777e-9,-3.9403811672779804e-4,-4.000826568398732e-5,-2.7102607573795425e-9,-3.936136334447647e-4,-4.007582516475161e-5,-2.732568246881595e-9,-3.932354489171214e-4,-4.005509986930359e-5,-2.7370829288428234e-9,-3.9293735005261444e-4,-3.9983124149450465e-5,-2.730028550413103e-9,-3.927304162113228e-4,-3.990616554842289e-5,-2.7198283129693987e-9,-3.926037104670152e-4,-3.986712394333029e-5,-2.7148744382944538e-9,-3.925300340245018e-4,-3.989630581245046e-5,-2.721726552456415e-9,-3.924740322961887e-4,-4.000673567964125e-5,-2.7439566656949624e-9,-3.9240044960224226e-4,-4.0193797020507027e-5,-2.781711773518208e-9,-3.9228100027058804e-4,-4.043835453992976e-5,-2.8319939335662753e-9,-3.920988397429943e-4,-4.071220949346134e-5,-2.8895632795737313e-9,-3.918501286346216e-4,-4.098447018044798e-5,-2.9482215655903276e-9,-3.915428759247042e-4,-4.1227354423628e-5,-3.002126932202798e-9,-3.911938860598323e-4,-4.142035578932055e-5,-3.0468184632871506e-9,-3.908248865257149e-4,-4.1552391217979064e-5,-3.079773043002786e-9,-3.904587877773441e-4,-4.162213920665322e-5,-3.100490246668063e-9,-3.901166540589265e-4,-4.163716629526032e-5,-3.1102498369570066e-9,-3.898154596295406e-4,-4.1612528206521545e-5,-3.1117545046976984e-9,-3.895663343014008e-4,-4.15692477287104e-5,-3.108816873159751e-9,-3.893729274795302e-4,-4.1532643167673676e-5,-3.106122424164249e-9,-3.8922964958095066e-4,-4.1530120920376783e-5,-3.108959796232942e-9,-3.8911993547672825e-4,-4.158773400879558e-5,-3.1226873440949273e-9,-3.890154780111431e-4,-4.172477613316137e-5,-3.1516937951170783e-9,-3.8887832398421657e-4,-4.1946490302301866e-5,-3.1978260954989524e-9,-3.8866798799491536e-4,-4.2236923527193535e-5,-3.2587392014650204e-9,-3.883541075724722e-4,-4.255643026767475e-5,-3.3271796700881e-9,-3.879309179981178e-4,-4.2848970224092304e-5,-3.3923178303223024e-9,-3.874252936797595e-4,-4.3060086306725585e-5,-3.4432808142227515e-9,-3.8689085406422015e-4,-4.315822428367038e-5,-3.473343383367832e-9,-3.863889877673784e-4,-4.3147231358598694e-5,-3.4823712443678767e-9,-3.859670303418556e-4,-4.306282988945449e-5,-3.476235200012914e-9,-3.856450179732965e-4,-4.29567332020061e-5,-3.4640108169692097e-9,-3.8541502948697586e-4,-4.287851646215824e-5,-3.4548315486565543e-9,-3.852493149355605e-4,-4.2863147399264384e-5,-3.4556957290431317e-9,-3.851111325842977e-4,-4.2926194690833945e-5,-3.4704676625369628e-9,-3.849641750666217e-4,-4.306488479653104e-5,-3.4997555963823663e-9,-3.8477904449105344e-4,-4.326230537360815e-5,-3.541315667419064e-9,-3.845368505256895e-4,-4.349269606106779e-5,-3.5907716079917845e-9,-3.842305470775176e-4,-4.372677264988809e-5,-3.6425556238611925e-9,-3.838644713396162e-4,-4.393662457551494e-5,-3.690971057311515e-9,-3.834524001017426e-4,-4.4099766813166904e-5,-3.731195660582228e-9,-3.8301455462920074e-4,-4.4201952462350065e-5,-3.760022682061001e-9,-3.8257407697839317e-4,-4.42385677285092e-5,-3.776219192075404e-9,-3.821534971407641e-4,-4.42146190699868e-5,-3.78049345493217e-9,-3.8177167811354886e-4,-4.414353188785048e-5,-3.775176115440497e-9,-3.814415037458072e-4,-4.404520966037506e-5,-3.763795599090132e-9,-3.811682438952999e-4,-4.3943745048884684e-5,-3.750686091708826e-9,-3.8094841874788385e-4,-4.3864881721126706e-5,-3.740645067077998e-9,-3.807690606418496e-4,-4.383310219135978e-5,-3.738542478624394e-9,-3.8060747113549404e-4,-4.3868015094879415e-5,-3.7487069852998005e-9,-3.8043212896826716e-4,-4.397964230952124e-5,-3.77392849591353e-9,-3.8020614214202126e-4,-4.416283549922484e-5,-3.814126337469046e-9,-3.7989477348660916e-4,-4.43925934432593e-5,-3.8651369785543476e-9,-3.7947723172862823e-4,-4.462397219530305e-5,-3.918497560033356e-9,-3.789593875598948e-4,-4.4800964639163135e-5,-3.96317158934382e-9,-3.783796554624242e-4,-4.487522211492297e-5,-3.989310173516736e-9,-3.7780028171270733e-4,-4.482731494297352e-5,-3.992457390009027e-9,-3.772848187336151e-4,-4.4677289049787794e-5,-3.975587279866091e-9,-3.768738589342568e-4,-4.4476302813578715e-5,-3.947557776892742e-9,-3.765731596693725e-4,-4.4284647088400656e-5,-3.919157973229763e-9,-3.763583684669076e-4,-4.415011216339383e-5,-3.8993178944763496e-9,-3.7618935482083637e-4,-4.409689236608701e-5,-3.893153730927883e-9,-3.760245905568384e-4,-4.412564418670974e-5,-3.901816527226052e-9,-3.758305281239963e-4,-4.4219737409461237e-5,-3.923290331122069e-9,-3.755856622553639e-4,-4.435289044370741e-5,-3.953443754350989e-9,-3.752809867131644e-4,-4.449563849145108e-5,-3.987032034029203e-9,-3.749186681115099e-4,-4.462002058569582e-5,-4.018598786101294e-9,-3.745100126286204e-4,-4.4702883418774216e-5,-4.043293546650498e-9,-3.740730272909859e-4,-4.472824114947566e-5,-4.057558558959361e-9,-3.736296275242296e-4,-4.4688796131403827e-5,-4.059581153155581e-9,-3.732025909944763e-4,-4.4586579231906474e-5,-4.049448013925343e-9,-3.7281240901532864e-4,-4.4432606619089756e-5,-4.029008414573869e-9,-3.724743361521061e-4,-4.4245446122239154e-5,-4.001513612609417e-9,-3.7219604683176886e-4,-4.404881315412431e-5,-3.971147889469539e-9,-3.719761559946201e-4,-4.386851506422404e-5,-3.942550572712875e-9,-3.718036869016746e-4,-4.3729011292962504e-5,-3.920339561133363e-9,-3.716585476438696e-4,-4.364979112255484e-5,-3.908574248164302e-9,-3.715130942800803e-4,-4.364173138022532e-5,-3.910078188684471e-9,-3.713350457921283e-4,-4.370352841575415e-5,-3.925586069346227e-9,-3.7109238380513845e-4,-4.3818651024463044e-5,-3.9528488394828995e-9,-3.707607845405598e-4,-4.395425389302266e-5,-3.986112633364346e-9,-3.7033298488081413e-4,-4.406449097933762e-5,-4.01659369367896e-9,-3.698271408886742e-4,-4.4100617660546984e-5,-4.034478858226037e-9,-3.6928850300559833e-4,-4.402761136944001e-5,-4.032309510928544e-9,-3.6877886950402043e-4,-4.3841161627626426e-5,-4.008397336623387e-9,-3.68354844176475e-4,-4.3574127073054776e-5,-3.9681227490621515e-9,-3.680456442399449e-4,-4.328536888044946e-5,-3.921896540270247e-9,-3.678438514995482e-4,-4.303605390842075e-5,-3.88088052714649e-9,-3.6771344272492777e-4,-4.286765668321312e-5,-3.853066475373028e-9,-3.6760744211130974e-4,-4.279271827029995e-5,-3.841571155142976e-9,-3.6748400287878505e-4,-4.279868404809011e-5,-3.845110101089603e-9,-3.6731503805980255e-4,-4.2858040425471004e-5,-3.859505188909107e-9,-3.670878782353395e-4,-4.293828963274571e-5,-3.879232548481663e-9,-3.668030259099282e-4,-4.300887457302174e-5,-3.8986149146387406e-9,-3.664707239972699e-4,-4.304497730933188e-5,-3.912649349560868e-9,-3.6610775839668016e-4,-4.302929792015812e-5,-3.917575783781463e-9,-3.657347454762509e-4,-4.295287241734541e-5,-3.911245377621743e-9,-3.653736412651876e-4,-4.2815417391808795e-5,-3.893281236926014e-9,-3.650452228879931e-4,-4.2625259277326516e-5,-3.865029786249455e-9,-3.6476641984123815e-4,-4.239866016669585e-5,-3.8293301914713776e-9,-3.645476115673927e-4,-4.215819173345968e-5,-3.790137077788593e-9,-3.643903517009124e-4,-4.192994909126311e-5,-3.752032661708107e-9,-3.642861036996599e-4,-4.173977362622034e-5,-3.71966635491313e-9,-3.642164327955368e-4,-4.160892942215545e-5,-3.697132215015159e-9,-3.641549093482707e-4,-4.1549858066543754e-5,-3.6872863278909777e-9,-3.6407072313266787e-4,-4.1562773802817286e-5,-3.6910546876715064e-9,-3.639337297548633e-4,-4.1633785245227165e-5,-3.706842402789998e-9,-3.637205402382895e-4,-4.17351263688552e-5,-3.730239026226662e-9,-3.634210733541716e-4,-4.182826882524199e-5,-3.7543125950062615e-9,-3.6304426985984744e-4,-4.187077889867399e-5,-3.770791848359487e-9,-3.626205679360432e-4,-4.1827023967553126e-5,-3.772195287003563e-9,-3.621980590998262e-4,-4.168082324199709e-5,-3.754465893092228e-9,-3.6183040236259707e-4,-4.144515737090433e-5,-3.719051514202747e-9,-3.615588707716338e-4,-4.1162290906568653e-5,-3.6731031521314867e-9,-3.61396538504054e-4,-4.089083947416614e-5,-3.627175685529882e-9,-3.6132387086853867e-4,-4.0684523717909506e-5,-3.5913642442355727e-9,-3.612984871112935e-4,-4.057381858184938e-5,-3.57191628278744e-9,-3.6127263538453984e-4,-4.0559572504084276e-5,-3.5699106570700582e-9,-3.6120844626298833e-4,-4.061897653845609e-5,-3.5820719173724824e-9,-3.610852118619653e-4,-4.0717434213808e-5,-3.6026558942381903e-9,-3.608991626924136e-4,-4.0819528038116416e-5,-3.625305177385425e-9,-3.6065929725962267e-4,-4.0895889554540754e-5,-3.644354040211268e-9,-3.6038248887045136e-4,-4.092611299111932e-5,-3.6555594903413846e-9,-3.6008948797461456e-4,-4.089924983103489e-5,-3.6564197922185135e-9,-3.598020583044798e-4,-4.0813324951301555e-5,-3.6462285238279096e-9,-3.5954081132138837e-4,-4.06746448702424e-5,-3.625955167087689e-9,-3.593232203764928e-4,-4.049706401005377e-5,-3.5980159849031315e-9,-3.591614767911618e-4,-4.030096233320472e-5,-3.5659792059672047e-9,-3.5906017581369425e-4,-4.011143008152642e-5,-3.5342021902016163e-9,-3.590142746293756e-4,-3.9955202075565014e-5,-3.5073577657903728e-9,-3.5900813493897933e-4,-3.9856294031816824e-5,-3.4898049410216977e-9,-3.590165228657977e-4,-3.9830885148132995e-5,-3.484809323888809e-9,-3.5900811619758537e-4,-3.988259608517585e-5,-3.4937187933879266e-9,-3.589513508368191e-4,-3.9999692692636196e-5,-3.515316951993148e-9,-3.588215300116031e-4,-4.015553409221791e-5,-3.5456245459726613e-9,-3.586074994236263e-4,-4.031277515563591e-5,-3.578347724118303e-9,-3.5831611404968134e-4,-4.0430887172238557e-5,-3.6060328154525907e-9,-3.5797300106842354e-4,-4.0475752013014714e-5,-3.621798180660383e-9,-3.5761860209188446e-4,-4.0429328523306393E-05,-3.6212892232579545e-9,-3.572993273213688e-4,-4.029669010026284e-5,-3.604282007806e-9,-3.5705516107877836e-4,-4.01074134564653e-5,-3.575261109336151e-9,-3.56907171864305e-4,-3.990910227757714e-5,-3.542466178765705e-9,-3.5685000952815797e-4,-3.975360446642084e-5,-3.51546370509442e-9,-3.568535768631939e-4,-3.968060851260814e-5,-3.502095452651505e-9,-3.568738387353768e-4,-3.9705767185260144e-5,-3.506123139270059e-9,-3.568676969066613e-4,-3.981847075560239e-5,-3.526548679024781e-9,-3.568050583051709e-4,-3.9988930782059254e-5,-3.558632436406407e-9,-3.56673931076042e-4,-4.017965642244248e-5,-3.595815124716367e-9,-3.564788653472729e-4,-4.035578451744323e-5,-3.631596410599711e-9,-3.562358193015023e-4,-4.049130472750036e-5,-3.6608170038248088e-9,-3.5596655047241536e-4,-4.057119598922274e-5,-3.6802591959901357e-9,-3.556941971200325e-4,-4.059099060777297e-5,-3.688733399766354e-9,-3.554403466676326e-4,-4.055530827745248e-5,-3.6868596918516015e-9,-3.552231502274103e-4,-4.047630480756108e-5,-3.6767210257453985e-9,-3.550558309426621e-4,-4.0372330118324426e-5,-3.6615103358701634e-9,-3.549450842029947e-4,-4.0266541812810685e-5,-3.6452166207126978e-9,-3.5488926874896996e-4,-4.018488717008979e-5,-3.6323023478007748e-9,-3.5487679855453013e-4,-4.0152863925988295e-5,-3.6272565039705226e-9,-3.5488564634128154e-4,-4.019082120417089e-5,-3.6339063053833576e-9,-3.548851821818268e-4,-4.030831790087331e-5,-3.6544836887830023e-9,-3.548412788564619e-4,-4.049915486044093e-5,-3.6886696467672877e-9,-3.547243771613122e-4,-4.073952000048624e-5,-3.733057102710848e-9,-3.5451840841679887e-4,-4.0991294984085655e-5,-3.781467494098887e-9,-3.5422725173712733e-4,-4.121070540757682e-5,-3.826258266543762e-9,-3.538757710829669e-4,-4.136004087638724e-5,-3.8603033376723175e-9,-3.53504443877645e-4,-4.1418554823238366e-5,-3.879000807542093e-9,-3.5315908496719346e-4,-4.1388813578662445e-5,-3.881636157749867e-9,-3.528788443462086e-4,-4.1296476166252965e-5,-3.871679975513234e-9,-3.5268596813342254e-4,-4.118364620333568e-5,-3.855939529728651e-9,-3.525801622010045e-4,-4.109766926615156e-5,-3.84277572321506e-9,-3.5253922633776333e-4,-4.107846753507557e-5,-3.839853266345332e-9,-3.5252589900936437e-4,-4.1148172477191464e-5,-3.852089139473279e-9,-3.5249873593641004e-4,-4.130635182893659e-5,-3.880468677924388e-9,-3.524232758040045e-4,-4.153215835850133e-5,-3.922098707575269e-9,-3.5227977421103506e-4,-4.179200475176239e-5,-3.971370515911904e-9,-3.5206553777650213e-4,-4.2049383308559924e-5,-4.02168889154195e-9,-3.517923456022032e-4,-4.22732706596802e-5,-4.067108127961648e-9,-3.5148116482799436e-4,-4.2443054420599876e-5,-4.103423630040207e-9,-3.5115656427665365e-4,-4.254990072284108e-5,-4.128602719456839e-9,-3.508422977149487e-4,-4.259571927212223e-5,-4.1426852963775e-9,-3.505584283820493e-4,-4.2591075740938084e-5,-4.1473814440995675e-9,-3.503196597354921e-4,-4.2553010117369735e-5,-4.145588069811775e-9,-3.5013425081355416e-4,-4.250315194947812e-5,-4.140977734111264e-9,-3.5000296732766683e-4,-4.246594915992028e-5,-4.1376949637137355e-9,-3.4991789475969336e-4,-4.2466442610266224e-5,-4.140069290235601e-9,-3.4986146693382345e-4,-4.252696515740907e-5,-4.152177172551735e-9,-3.498066307483597e-4,-4.266243723623054e-5,-4.177099698568324e-9,-3.497195305195477e-4,-4.287472041112924e-5,-4.215884841538455e-9,-3.495659175480646e-4,-4.31478811621325e-5,-4.266536865943841e-9,-3.4932096349046604e-4,-4.3447520413318964e-5,-4.323660910585198e-9,-3.4897946134101256e-4,-4.372699512012349e-5,-4.379354851830018e-9,-3.4856132871286715e-4,-4.394038767390347e-5,-4.425380590164783e-9,-3.481082489458901e-4,-4.4057719624662955e-5,-4.455829749739181e-9,-3.4767160295073125e-4,-4.407548988414973e-5,-4.469069235668393e-9,-3.4729671592580966e-4,-4.401761276765464e-5,-4.468122927844235e-9,-3.470101043459885e-4,-4.392694681445468e-5,-4.459514042827404e-9,-3.4681399513372885e-4,-4.3851866775344917e-5,-4.4512484058967996e-9,-3.466884675872167e-4,-4.383320048423082e-5,-4.450711814114548e-9,-3.465989335162038e-4,-4.3895141685846634e-5,-4.463003731704032e-9,-3.4650592936654275e-4,-4.404155435899953e-5,-4.4899789588464385e-9,-3.4637451628011674e-4,-4.425746261242522e-5,-4.53010146035591e-9,-3.46181278482088e-4,-4.451449326164072e-5,-4.579071229769213e-9,-3.459177599712526e-4,-4.477844122387709e-5,-4.631023039653653e-9,-3.4559013570456575e-4,-4.501691233562397e-5,-4.679952084717743e-9,-3.452158716119919e-4,-4.520525913805162e-5,-4.720973867124305e-9,-3.4481879495999203e-4,-4.532981541959789e-5,-4.7511223937350465e-9,-3.4442408015957925e-4,-4.538843813449534e-5,-4.769589480143558e-9,-3.440542089166945e-4,-4.5389084894805184e-5,-4.7774936884748956e-9,-3.437263070319252e-4,-4.534740102436488e-5,-4.77738576894948e-9,-3.4345067735983324e-4,-4.5284143124787143e-5,-4.772713716467364e-9,-3.4323003778487113e-4,-4.5222842054429787e-5,-4.76739691027074e-9,-3.4305901194424496e-4,-4.518761784714889e-5,-4.765524511352927e-9,-3.429236989818069e-4,-4.52007347246193e-5,-4.771068404277782e-9,-3.428015696217947e-4,-4.5279382227483e-5,-4.787430575127021e-9,-3.426625060919474e-4,-4.543136538951815e-5,-4.8166784633623644E-09,-3.424723163020663e-4,-4.565015092623224e-5,-4.858517932523486e-9,-3.4219991287895055e-4,-4.591113849483137e-5,-4.9093917591879784e-9,-3.418278103507178e-4,-4.6172490727433865e-5,-4.962406765475092e-9,-3.413624942079579e-4,-4.6383736833411844e-5,-5.008742784565768e-9,-3.408383536332906e-4,-4.650185695871724e-5,-5.040476506469633e-9,-3.4030994982600497e-4,-4.650853684917004e-5,-5.053640312983224e-9,-3.398339484712107e-4,-4.641889431496161e-5,-5.0498114969366615e-9,-3.394494690556336e-4,-4.627597601679743e-5,-5.03533340901495e-9,-3.3916682212753793e-4,-4.6134299214963423e-5,-5.018789578479401e-9,-3.389684970747851e-4,-4.60416761329767e-5,-5.0082068715226695e-9,-3.388189563580666e-4,-4.602714616208865e-5,-5.009119290870518e-9,-3.386770001401216e-4,-4.609734320211425e-5,-5.023773996416256e-9,-3.385060967047203e-4,-4.623938128036451e-5,-5.051224680335727e-9,-3.382808819877009e-4,-4.642712042057251e-5,-5.0879722483668916e-9,-3.3798991630609986e-4,-4.662831095629719e-5,-5.128915587919849e-9,-3.3763548039858775e-4,-4.6811176467318076e-5,-5.16845422831316e-9,-3.3723121913479214e-4,-4.694969103565298e-5,-5.201576989894772e-9,-3.367983998553216e-4,-4.7027084779648636e-5,-5.224733145745607e-9,-3.3636159656376993e-4,-4.703738149569362e-5,-5.236319126134027e-9,-3.359445418555763e-4,-4.698513068870385e-5,-5.236724866703748e-9,-3.3556670577894265e-4,-4.688372871358966e-5,-5.228009274195705e-9,-3.3524095168534554e-4,-4.675286146676685e-5,-5.213367901026198e-9,-3.3497229454820115e-4,-4.661567260074138e-5,-5.196589566113095e-9,-3.3475746495397114e-4,-4.6496053972731513e-5,-5.181629379466889e-9,-3.3458496403935856e-4,-4.6416067332450106e-5,-5.172290074158099e-9,-3.3443550989848553e-4,-4.639329367171046e-5,-5.171902756508261e-9,-3.3428303229029717e-4,-4.64378573046309e-5,-5.182859497219969e-9,-3.3409679136510515e-4,-4.654895942300463e-5,-5.205901867299847e-9,-3.3384565314112754e-4,-4.671137333713532e-5,-5.2392644177281354e-9,-3.3350538321036714e-4,-4.689360879171389e-5,-5.278078891925973e-9,-3.330683964243518e-4,-4.705068211910057e-5,-5.314688239576653e-9,-3.3255256023083976e-4,-4.713428191609814e-5,-5.340419822664278e-9,-3.320027438393118e-4,-4.71097541805525e-5,-5.3486420687704235e-9,-3.314797357602177e-4,-4.6972927801329136e-5,-5.337761831657595e-9,-3.3103860655846234e-4,-4.67558263411006e-5,-5.312260680512601e-9,-3.307076685003807e-4,-4.651535747158061e-5,-5.28090259224886e-9,-3.30480214378984e-4,-4.6310845214460665e-5,-5.2532057684234896e-9,-3.303220348953695e-4,-4.618357322333606e-5,-5.236272390095169e-9,-3.301874844254908e-4,-4.61477186883596e-5,-5.233313814606197e-9,-3.3003452239918076e-4,-4.619282888887948e-5,-5.243799607308075e-9,-3.2983367667361197e-4,-4.6292393090905275e-5,-5.264447531098321e-9,-3.2957087722242947e-4,-4.6413211027825386e-5,-5.2904004316313725e-9,-3.2924630863698787e-4,-4.652281087401979e-5,-5.316302669134748e-9,-3.288714144932077e-4,-4.659436358753661e-5,-5.337217434375077e-9,-3.284653025069503e-4,-4.6609576179093505e-5,-5.349376028202255e-9,-3.2805103471112654e-4,-4.656006986482792e-5,-5.35069069746132e-9,-3.2765205016821133e-4,-4.6447489372098676E-05,-5.340948027169847e-9,-3.2728894386480116e-4,-4.628254233746377e-5,-5.321669265696422e-9,-3.2697676918230653e-4,-4.608314579988514e-5,-5.295709141439522e-9,-3.2672307735294367e-4,-4.5871826451843845e-5,-5.266715731905392e-9,-3.265269163253492e-4,-4.567268490866273e-5,-5.238595811180517e-9,-3.263787833299249e-4,-4.5508326939279494e-5,-5.2150856928611045e-9,-3.262613612892449e-4,-4.5396953226487785e-5,-5.199410066665686e-9,-3.26150973687626e-4,-4.5349627530952965e-5,-5.193932690177878e-9,-3.2601983786595027e-4,-4.5367769831319596e-5,-5.1997081785981995e-9,-3.2583937029624085e-4,-4.544098475670977e-5,-5.215918457321146e-9,-3.2558503734766617e-4,-4.554569690961154e-5,-5.2393381578890325e-9,-3.252430307869566e-4,-4.5645933134909383e-5,-5.264196058241929e-9,-3.248178384294444e-4,-4.56983335628188e-5,-5.282923877448141e-9,-3.2433764411315686e-4,-4.566298738150629e-5,-5.288101154267343e-9,-3.238524934028116e-4,-4.55187894312056e-5,-5.275271384380036e-9,-3.2342122598822694e-4,-4.527677794176033e-5,-5.245365700942163e-9,-3.230898582700321e-4,-4.498163827286755e-5,-5.205044425823437e-9,-3.228725935037573e-4,-4.469651453348592e-5,-5.164266989512154e-9,-3.2274750094473347e-4,-4.4478159074842894e-5,-5.13235180184745e-9,-3.226689152698676e-4,-4.435700005748701e-5,-5.114830829337623e-9,-3.225871774071815e-4,-4.433186738587753e-5,-5.112508862693316e-9,-3.2246425807672813e-4,-4.437776497525427e-5,-5.1224162241922625e-9,-3.2228031504722966e-4,-4.445858657848031e-5,-5.139485592758135e-9,-3.2203286741891803e-4,-4.4538062588412724E-05,-5.1580709737048375e-9,-3.217324318411406e-4,-4.4586481028774453E-05,-5.173027330322962e-9,-3.213975733128406e-4,-4.458364652752997e-5,-5.180397855754135e-9,-3.210507152123642e-4,-4.451955192695055e-5,-5.177821168001773e-9,-3.20714821071863e-4,-4.43939735421001e-5,-5.164703758157465e-9,-3.2041064399458284e-4,-4.421548906702248e-5,-5.1421458139077516e-9,-3.2015437220027257e-4,-4.400000934734236e-5,-5.112638550353013e-9,-3.199556359923085e-4,-4.3768795235697604e-5,-5.079609309330488e-9,-3.1981598750983545e-4,-4.354585021416585e-5,-5.046904699548832e-9,-3.197281840014739e-4,-4.3354726543107915e-5,-5.018289250760496e-9,-3.196765829420705e-4,-4.321510531744181e-5,-4.997015044656991e-9,-3.1963870183165634e-4,-4.313959806056474e-5,-4.985452141399794e-9,-3.195878597550035e-4,-4.313112514042971e-5,-4.984725308729074e-9,-3.1949679113388595e-4,-4.318123126172128e-5,-4.994338339842217e-9,-3.1934206103072054e-4,-4.326970683766678e-5,-5.0118522340722995e-9,-3.191090769027233e-4,-4.336592775766331e-5,-5.032784985900198e-9,-3.1879727330728615e-4,-4.3432619842126424e-5,-5.0510003085641095e-9,-3.184242585414621e-4,-4.3432905625344e-5,-5.059844813029959e-9,-3.180265341602522e-4,-4.3340679734383175e-5,-5.054050804727019e-9,-3.1765375634226675e-4,-4.315212077889462e-5,-5.031931810784182e-9,-3.173550483018549e-4,-4.289299386726835e-5,-4.996837554368338e-9,-3.1716080997909414e-4,-4.261505262909454e-5,-4.9567039021442e-9,-3.170692069796597e-4,-4.237923706416617e-5,-4.921374850462595e-9,-3.170465026363197e-4,-4.223264659485568e-5,-4.898891858407981e-9,-3.170418960140496e-4,-4.21921256965402e-5,-4.892790866082162e-9,-3.1700761388347835e-4,-4.224278875220216e-5,-4.901672313350512e-9,-3.169131831034806e-4,-4.234911923149743e-5,-4.920678900423363e-9,-3.16749371627084e-4,-4.246978287171236e-5,-4.943593716023741e-9,-3.165243898644444e-4,-4.2568904032282556e-5,-4.964541739482594e-9,-3.1625720934575716e-4,-4.262161789567898e-5,-4.9789925323940574e-9,-3.159714090148497e-4,-4.2615163483100204e-5,-4.984192983307216e-9,-3.1569080936814757e-4,-4.254769010175503e-5,-4.979239205595006e-9,-3.154366980394452e-4,-4.242640923152246e-5,-4.964927408765917e-9,-3.1522594108550356e-4,-4.226576420878259e-5,-4.9434488536958256e-9,-3.150694594909588e-4,-4.2085617046374826e-5,-4.9179780034059015e-9,-3.1497088780468846e-4,-4.190919872197873e-5,-4.892216555795521e-9,-3.1492551795328115e-4,-4.1760510317359374e-5,-4.869937621819285e-9,-3.1491993926755705e-4,-4.166103135750512e-5,-4.85453930904946e-9,-3.1493292291119807e-4,-4.162602317937051e-5,-4.8486082924002386e-9,-3.149378852148921e-4,-4.166109759027768e-5,-4.853496717228234e-9,-3.149068763252208e-4,-4.1759869297922245e-5,-4.8689420569251265e-9,-3.1481563886056355e-4,-4.1903492821241635e-5,-4.892817724760096e-9,-3.146489018901334e-4,-4.206263788736928e-5,-4.921152563389806e-9,-3.1440486675449474e-4,-4.220199291018188e-5,-4.948556753677259e-9,-3.1409782736031844e-4,-4.2286972882281444e-5,-4.969141215356648e-9,-3.1375783301927705e-4,-4.229193221838251e-5,-4.9779020409811375e-9,-3.1342629281164673e-4,-4.2208473219180394e-5,-4.972322659694826e-9,-3.131469410284784e-4,-4.205134100763301e-5,-4.953675901336095e-9,-3.129532228356514e-4,-4.185850783786602e-5,-4.927339367737182e-9,-3.128559402293983e-4,-4.168268583803075e-5,-4.901590331357037e-9,-3.128372712174129e-4,-4.157504774094596e-5,-4.884996661975068e-9,-3.1285591758021213e-4,-4.1567376446027606e-5,-4.883435028626847e-9,-3.1286216261514294e-4,-4.166161325502891e-5,-4.898203035129861e-9,-3.128152510161355e-4,-4.1832011412133305e-5,-4.926093299613993e-9,-3.1269456478840265e-4,-4.2037319835952676e-5,-4.96108661782143e-9,-3.1250114325379443e-4,-4.2235381879465134e-5,-4.996540702951394e-9,-3.1225205877241923e-4,-4.239361488219513e-5,-5.026892948270938e-9,-3.119724750885652e-4,-4.249330688871886e-5,-5.048533140222312e-9,-3.116889276893549e-4,-4.252921835778996e-5,-5.059987008882629e-9,-3.1142503078342897e-4,-4.25069961860904e-5,-5.0616921955618265e-9,-3.111992283429283e-4,-4.244023805497469e-5,-5.055583300773006e-9,-3.1102368764590496e-4,-4.234797844643438e-5,-5.044617784933671e-9,-3.1090358734081304e-4,-4.22526006575234e-5,-5.032321067688745e-9,-3.108364399804756e-4,-4.217778740604939e-5,-5.022387283844178e-9,-3.108115257297438e-4,-4.214600986581236e-5,-5.018313830814128e-9,-3.1080993296466673e-4,-4.2175257475328325e-5,-5.023008475613783e-9,-3.1080593916080375e-4,-4.227521362395652e-5,-5.038322479284464e-9,-3.1077034837130563e-4,-4.244369565068855e-5,-5.06453984568056e-9,-3.1067585579162317e-4,-4.266468404943358e-5,-5.099969884051941e-9,-3.105035849258535e-4,-4.290936505875487e-5,-5.140877929168914e-9,-3.1024899896644803e-4,-4.314094465863473e-5,-5.181956628701638e-9,-3.0992505626402714e-4,-4.332264950955875e-5,-5.217361941575282e-9,-3.095610883380589e-4,-4.342700451466909e-5,-5.2421145403966415e-9,-3.091971222357173e-4,-4.3443817524911114e-5,-5.253502474396329e-9,-3.088746927985775e-4,-4.338445254519018e-5,-5.252067765269822e-9,-3.086262289687441e-4,-4.328075377912741e-5,-5.241813665026146e-9,-3.084657459880443e-4,-4.317815751980895e-5,-5.229427402694319e-9,-3.083838136062314e-4,-4.312402180818095e-5,-5.222569664693657e-9,-3.083492587428513e-4,-4.315408297432371e-5,-5.227650075739371e-9,-3.083181203766566e-4,-4.328165458806027e-5,-5.247856867561176e-9,-3.082471429138195e-4,-4.349411061585933e-5,-5.2822613795529054e-9,-3.081064848257633e-4,-4.375827146070421e-5,-5.3263709887758225e-9,-3.0788661043989416e-4,-4.403198008161343e-5,-5.373792020884821e-9,-3.0759759139367557e-4,-4.4276497491867025e-5,-5.418190385136207e-9,-3.072628362842785e-4,-4.4465056129220834e-5,-5.454790327401472e-9,-3.0691106900856074e-4,-4.458588788817899e-5,-5.481074258715986e-9,-3.0656967318466223e-4,-4.4640878311394534e-5,-5.496772186340735e-9,-3.0626062010192915e-4,-4.464213768265969e-5,-5.5034243148592386e-9,-3.0599865177202766e-4,-4.460833959835805e-5,-5.503787246380918e-9,-3.057908013060658e-4,-4.4561687503291136e-5,-5.501265100167681e-9,-3.0563641143263365e-4,-4.4525580714277986e-5,-5.4994619326435316e-9,-3.0552715792361276e-4,-4.4522582031122806e-5,-5.501861033144501e-9,-3.0544706109613843e-4,-4.457210286773981e-5,-5.511548919490009e-9,-0.00030537297561927964,-4.4687381552856436e-5,-5.5308628299553145e-9]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json new file mode 100644 index 000000000..2eec9421f --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":8000,"numberOfSamples":1000,"samples":[-3.0527640252829807e-4,-4.487182696660493e-5,-5.56088448082571e-9,-3.051274863200565e-4,-4.511556230951057e-5,-5.6008437940501195e-9,-3.049014822200931e-4,-4.5393887171247894e-5,-5.647698563779582e-9,-3.045865825423837e-4,-4.566978863347711e-5,-5.696284894052496e-9,-3.041902526794886e-4,-4.590165294193654e-5,-5.7403050551512475e-9,-3.0374053440293064e-4,-4.605480630272924e-5,-5.774008768966934e-9,-3.032803042778928e-4,-4.6112832816305496e-5,-5.793973590280497e-9,-3.028557483245855e-4,-4.608383761616052e-5,-5.800251345674449e-9,-3.025032355259023e-4,-4.599882516164128e-5,-5.796427523208801e-9,-3.022393949447573e-4,-4.5902896545994185e-5,-5.788631331365615e-9,-3.020574267495867e-4,-4.5842714571687194e-5,-5.7838921806700334e-9,-3.019300694661608e-4,-4.585434504667538e-5,-5.7883384069394884e-9,-3.0181769376023336e-4,-4.595468543172006e-5,-5.805682519418446e-9,-3.0167899235319e-4,-4.613834629665025e-5,-5.83635658405951e-9,-3.014813398322303e-4,-4.638044052124705e-5,-5.877534282545917e-9,-3.0120806044062887e-4,-4.664417952898078e-5,-5.924029708374941e-9,-3.008608032921932e-4,-4.689076983299546e-5,-5.969769115749644e-9,-3.004568895018775e-4,-4.70885065576558e-5,-6.009334760264992e-9,-3.000232042040917e-4,-4.7218579979817117e-5,-6.039104695872155e-9,-2.995891071912802e-4,-4.72766796425179e-5,-6.057736521969508e-9,-2.9918053358217385e-4,-4.7271135672653113e-5,-6.066024169441235e-9,-2.9881634126882297e-4,-4.721922325858296e-5,-6.066350982343671e-9,-2.9850682571005375e-4,-4.714317647578276e-5,-6.0620073426491385e-9,-2.982536857147729e-4,-4.706682514849363e-5,-6.056588919504954e-9,-2.9805063249734796e-4,-4.7013055973122464e-5,-6.053577596287479e-9,-2.978841024009395e-4,-4.700177778028711e-5,-6.0560846647952315e-9,-2.97733963612634e-4,-4.7047861809806975e-5,-6.066639640409404e-9,-2.975745746966664e-4,-4.715862391952254e-5,-6.086875521052076e-9,-2.9737697702912646e-4,-4.733079302488828e-5,-6.117026762619431e-9,-2.9711318240313096e-4,-4.754766231303244e-5,-6.1553289826818086e-9,-2.967630328757633e-4,-4.777820603997843e-5,-6.1976547684464505e-9,-2.963225516133362e-4,-4.7980702799556336e-5,-6.237878353608434e-9,-2.9581034269964766e-4,-4.8112531767448336e-5,-6.26929277722192e-9,-2.952671701271256e-4,-4.8144449769795835e-5,-6.286810452998715e-9,-2.9474584957997816e-4,-4.807330163392616e-5,-6.28897999422168e-9,-2.942942146728656e-4,-4.7925741507049555e-5,-6.278697823265868e-9,-2.939390776646052e-4,-4.774982986598883e-5,-6.2621933111198565e-9,-2.9367888471910724e-4,-4.759858957460034e-5,-6.246887112949443e-9,-2.9348722961036977e-4,-4.751366495959348e-5,-6.239195834786848e-9,-2.933236015115482e-4,-4.7515401306169104e-5,-6.243051945843658e-9,-2.9314581436119905e-4,-4.760093779409941e-5,-6.2593279168203955e-9,-2.9292007500896937e-4,-4.774844549298213e-5,-6.286013467788338e-9,-2.926269983387905e-4,-4.792463505513392e-5,-6.318926256564662e-9,-2.9226350769051096e-4,-4.80930810595307e-5,-6.352759512595941e-9,-2.918412941194005e-4,-4.822168516898902e-5,-6.382264012712696e-9,-2.9138274761924426e-4,-4.8288192173938596e-5,-6.4033284884177525e-9,-2.9091546827443674e-4,-4.828307144331461e-5,-6.4137142155758484e-9,-2.904666459630382e-4,-4.820960531850297e-5,-6.413290100567614e-9,-2.9005845372039675e-4,-4.808169188193544e-5,-6.403779607548024e-9,-2.897051121066428e-4,-4.7920298339887756e-5,-6.388175539851937e-9,-2.894117280467004e-4,-4.77495594070045e-5,-6.3700487926475646e-9,-2.891745460224369e-4,-4.7593309240161246e-5,-6.352958916462981e-9,-2.889819981834109e-4,-4.7472392700331755e-5,-6.340071065896678e-9,-2.8881605249833365e-4,-4.740260960082055e-5,-6.333942633116508e-9,-2.886536932128631e-4,-4.739292957383811e-5,-6.336355114475078e-9,-2.884687014832789e-4,-4.7443667570689896e-5,-6.348050662755428e-9,-2.8823427250380447e-4,-4.754452904089668e-5,-6.368308311532382e-9,-2.879272735231633e-4,-4.767303651414079e-5,-6.394467888137689e-9,-2.875345818250315e-4,-4.7794856179294424e-5,-6.4217381728864196e-9,-2.8706055734247936e-4,-4.786832012302628e-5,-6.443756519509059e-9,-2.865324198422822e-4,-4.785486234755549e-5,-6.4542037210419195e-9,-2.859983895327293e-4,-4.773390713864742e-5,-6.449179015088165e-9,-2.8551497623516194e-4,-4.7515537099475336e-5,-6.429222290163076e-9,-2.8512656698742036e-4,-4.724172825041583e-5,-6.399602792241161e-9,-2.8484791237568235e-4,-4.697228518879425e-5,-6.368414825098121e-9,-2.846599731981497e-4,-4.676227057336778e-5,-6.343524830079535e-9,-2.845204990113826e-4,-4.664360730421715e-5,-6.330077698450703e-9,-2.8438137789211793e-4,-4.661903031892221e-5,-6.32954910609419e-9,-2.842033332610527e-4,-4.666740117899054e-5,-6.340163616828402e-9,-2.8396352830062366e-4,-4.6754274987887116e-5,-6.357961127061933e-9,-2.836566692220362e-4,-4.684229725179311e-5,-6.377959739889069e-9,-2.8329216427076527e-4,-4.689886773239183e-5,-6.395189096969708e-9,-2.828896488527907e-4,-4.6900720390375284e-5,-6.405540596281919e-9,-2.824742018907562e-4,-4.6836037546351875e-5,-6.4064023526000905e-9,-2.8207178859335354e-4,-4.670471097933904e-5,-6.397002591025266e-9,-2.817052464373959e-4,-4.6517083949337426e-5,-6.378389721142845e-9,-2.8139115347079264e-4,-4.629149712487325e-5,-6.3530658178796655e-9,-2.811378256204399e-4,-4.605106192105769e-5,-6.324396845660935e-9,-2.8094456582733565e-4,-4.582011369839805e-5,-6.295969795469077e-9,-2.8080213121061873e-4,-4.562084808863251e-5,-6.271061910825657e-9,-2.806941282722342e-4,-4.547056083835451e-5,-6.252305778500468e-9,-2.805989529923734e-4,-4.537959014034061e-5,-6.241511789741509e-9,-2.80492067241958e-4,-4.5349843601162954e-5,-6.239532828776588e-9,-2.803485913613245e-4,-4.5373805665704785e-5,-6.246068068716576e-9,-2.8014639891832464e-4,-4.543399639996473e-5,-6.259380228216586e-9,-2.7987013346108646e-4,-4.550321157816095e-5,-6.276047783203556e-9,-2.795162996405821e-4,-4.5546626057891795e-5,-6.291045688354151e-9,-2.790984739623287e-4,-4.5527321372703615e-5,-6.298505516465384e-9,-2.7865004000894166e-4,-4.541620148794469e-5,-6.2933199008508685e-9,-2.7822043288384707e-4,-4.520484869900707e-5,-6.273276588202333e-9,-2.7786184532760936e-4,-4.4915535087074116e-5,-6.240723143326448e-9,-2.776091852793529e-4,-4.459975553570474e-5,-6.202458787212566e-9,-2.774638632702066e-4,-4.432123225548417e-5,-6.167368360824802e-9,-2.7739275622409024e-4,-4.41307893297388e-5,-6.142942429461774e-9,-2.7734363791847937e-4,-4.404793703195258e-5,-6.132712569902154e-9,-2.772666481119829e-4,-4.405873879426259e-5,-6.135803693451539e-9,-2.7712954630060494e-4,-4.41272344392883e-5,-6.148198003690473e-9,-2.769220926915838e-4,-4.421078330515423e-5,-6.164515668643785e-9,-2.7665243775120893e-4,-4.4271847046803456e-5,-6.179465722684056e-9,-2.7634044414996943e-4,-4.42840858576599e-5,-6.188763867311319e-9,-2.760112787880964e-4,-4.4233969441495255e-5,-6.1896325079837635e-9,-2.7569053678467995e-4,-4.4119908832911274e-5,-6.1810143630256235e-9,-2.7540081443001705e-4,-4.395037973603709e-5,-6.1635500652351195e-9,-2.7515925763830574e-4,-4.374163186724933e-5,-6.13931893200916e-9,-2.7497583229343773e-4,-4.351509382685275e-5,-6.1113765985356755e-9,-2.7485228599034487e-4,-4.3294504323835476e-5,-6.083191373407955e-9,-2.747818899337699e-4,-4.3102814240736015e-5,-6.0580978536060394e-9,-2.7475014030275356e-4,-4.2959058861573174e-5,-6.038863549547172e-9,-2.747364727847155e-4,-4.287561578709453e-5,-6.027414092691353e-9,-2.7471679197166814e-4,-4.2856211898555225e-5,-6.024680664675889e-9,-2.74666552518033e-4,-4.2894856634732136e-5,-6.0304870842090665e-9,-2.745641634544586e-4,-4.297583426922976e-5,-6.043429961128174e-9,-2.7439449831047824e-4,-4.307484329777695e-5,-6.060781782144661e-9,-2.7415239183585174e-4,-4.316139154284506e-5,-6.078538519547611e-9,-2.738458939963984e-4,-4.320289628151456e-5,-6.0918223659286445e-9,-2.7349833665268886e-4,-4.317111271140737e-5,-6.095829254040278e-9,-2.731473286401864e-4,-4.305077016877184e-5,-6.087300751131777e-9,-2.728384066406977e-4,-4.284850797286421e-5,-6.0661306830069746e-9,-2.726122464122091e-4,-4.2597682445614436e-5,-6.036317211131248e-9,-2.724883882208636e-4,-4.2353186226421395e-5,-6.005346149629137e-9,-2.724538993112942e-4,-4.21739660621937e-5,-5.981721324392774e-9,-2.7246601864680027e-4,-4.209994110375406e-5,-5.971667694606237e-9,-2.724694960632973e-4,-4.2136627145050584e-5,-5.976871636177898e-9,-2.724184831524113e-4,-4.225643997788255e-5,-5.9944559253544774e-9,-2.7229051896981396e-4,-4.241362759713718e-5,-6.018773549341146e-9,-2.720878961454436e-4,-4.2562043557314734e-5,-6.043635716054438e-9,-2.718303929497391e-4,-4.266714123706157e-5,-6.063913242192316e-9,-2.715458512132313e-4,-4.271024379125761e-5,-6.076285881259704e-9,-2.712626659453091e-4,-4.268748746246162e-5,-6.07938776767281e-9,-2.710052329722968e-4,-4.260653559518088e-5,-6.073631332430156e-9,-2.707916949070718e-4,-4.248307887576607e-5,-6.060863861100873e-9,-2.7063291676093104e-4,-4.233782096456377e-5,-6.043919283576518e-9,-2.70531999054325e-4,-4.2193858972839276e-5,-6.026112658845783e-9,-2.7048412159524855e-4,-4.207417276834723e-5,-6.010749252660998e-9,-2.704768085276078e-4,-4.199898085891688e-5,-6.0007083249929064e-9,-2.7049091718653486e-4,-4.198292846456885e-5,-5.998122765150181e-9,-2.705026716692996e-4,-4.203245930769175e-5,-6.0041500657964715e-9,-2.704867786001442e-4,-4.2143960157053555e-5,-6.018813110137525e-9,-2.7042033326989443e-4,-4.2303217237346e-5,-6.0408918160634616e-9,-2.702869966792254e-4,-4.248659500899885e-5,-6.067897441023674e-9,-2.7008072908028737e-4,-4.26641123975258e-5,-6.096212887106141e-9,-2.698083301299173e-4,-4.2804202514864496e-5,-6.121495193355481e-9,-2.6949017078992116e-4,-4.287971029548579e-5,-6.139410707238995e-9,-2.6915846953213103e-4,-4.287457712691834e-5,-6.146692366322419e-9,-2.688523188530164e-4,-4.2790136468926805e-5,-6.142330933965789e-9,-2.6860905054935876e-4,-4.2648942394378234e-5,-6.128480097984698e-9,-2.684529386021688e-4,-4.249325511328419e-5,-6.110525799006696e-9,-2.683846561272461e-4,-4.237577162193681e-5,-6.0958916495610374e-9,-2.6837713845480256e-4,-4.2343242447415576e-5,-6.091676533973367e-9,-2.6838259865424467e-4,-4.241897119821026e-5,-6.1020278393601044e-9,-2.6834954243159544e-4,-4.259356052706968e-5,-6.126618946744287e-9,-2.682414538672124e-4,-4.282968580925502e-5,-6.161071746178656e-9,-2.680473788683876e-4,-4.307777590451198e-5,-6.198928228542621e-9,-2.6778068952418554e-4,-4.329323584064263e-5,-6.233932842908828e-9,-2.6746984498891765e-4,-4.3447294758245534e-5,-6.261585257801009e-9,-2.6714767994234935e-4,-4.3529579126087075e-5,-6.279696539448954e-9,-2.6684354540698494e-4,-4.3545106782298875e-5,-6.288235271926127e-9,-2.6657927046700944e-4,-4.3509317188260445e-5,-6.288838671033637e-9,-2.6636794026195363e-4,-4.3443465401146905e-5,-6.284232359286678e-9,-2.662140688653375e-4,-4.33711394559145e-5,-6.277670357631493e-9,-2.661141777281877e-4,-4.331570058397092e-5,-6.272450417208355e-9,-2.660574130223562e-4,-4.329813146063895e-5,-6.271533343649169e-9,-2.6602631028516745e-4,-4.3334832510506525e-5,-6.277259574999488e-9,-2.6599810856047266e-4,-4.3435186752350394e-5,-6.291119283070944e-9,-2.6594709819864e-4,-4.35991710667151e-5,-6.313534449691571e-9,-2.6584826187483416e-4,-4.3815728146144786e-5,-6.3436577175095264e-9,-2.6568197080015167e-4,-4.406282185693006e-5,-6.379260979809167e-9,-2.654388737832523e-4,-4.4309976961368614e-5,-6.416844899921613e-9,-2.651235904796523e-4,-4.452352360454744e-5,-6.45208973946681e-9,-2.6475574490715504e-4,-4.467379291793127e-5,-6.480660100582804e-9,-2.643674413816663e-4,-4.474263772198858e-5,-6.499235785255884e-9,-2.639972203386808e-4,-4.472932230357101e-5,-6.506524425656316e-9,-2.636814333534693e-4,-4.4652981742684745e-5,-6.50394943475184e-9,-2.6344474410546685e-4,-4.455031096217054e-5,-6.4957052750673075e-9,-2.6329215242018296e-4,-4.446797824163044e-5,-6.487971527226249e-9,-2.6320539661309406e-4,-4.445066132419316e-5,-6.487318143828218e-9,-2.63146231141766e-4,-4.452761326611089e-5,-6.498693327228091e-9,-2.630670795117471e-4,-4.4702593314460794e-5,-6.523735117410233e-9,-2.629259962418986e-4,-4.495205403355389e-5,-6.560195481816707e-9,-2.626998326199566e-4,-4.523322969000845e-5,-6.6028055138425835e-9,-2.6238984542081514e-4,-4.5498615964264204e-5,-6.645151128486782e-9,-2.620181139265042e-4,-4.57101034480172e-5,-6.681643636040315e-9,-2.6161796896905014e-4,-4.584720776675456e-5,-6.7088001834994565e-9,-2.6122365300701173e-4,-4.590801043953323e-5,-6.725594759670876e-9,-2.608629732320002e-4,-4.590508421570969e-5,-6.733110680725014e-9,-2.605538971319134e-4,-4.585973386898697e-5,-6.733869753505527e-9,-2.6030410219870376e-4,-4.5796853823059685e-5,-6.731122265893311e-9,-2.601120119629486e-4,-4.574121346938611e-5,-6.728248726724007e-9,-2.5996821459528486e-4,-4.571499884470834e-5,-6.728333811525041e-9,-2.5985675252670267e-4,-4.573601546615178e-5,-6.733900781581118e-9,-2.597563470776258e-4,-4.581593891770877e-5,-6.7467347208660815e-9,-2.596420276961034e-4,-4.5958327928148174e-5,-6.76770494879153e-9,-2.594877524327709e-4,-4.6156630892450285e-5,-6.796534200413236e-9,-2.5927042693107434e-4,-4.6392942692009576e-5,-6.8315565589601714e-9,-2.589751849875842e-4,-4.663871238482509e-5,-6.86962752289666e-9,-2.586008062635789e-4,-4.685864046342157e-5,-6.906416881867135e-9,-2.5816311466290005e-4,-4.7018104873896896e-5,-6.937219567577798e-9,-2.5769402554871504e-4,-4.70926588010539e-5,-6.9581636155644655e-9,-2.5723517884218273e-4,-4.707644773329669e-5,-6.967428938305518e-9,-2.568273908815006e-4,-4.6986025040791123e-5,-6.966001210496018e-9,-2.564992393431867e-4,-4.685748280218821e-5,-6.957630999254399e-9,-2.5625871902160277e-4,-4.6737400412949545e-5,-6.947966529409689e-9,-2.5609074998136574e-4,-4.667043573132832e-5,-6.943105351110571e-9,-2.5596122517727485e-4,-4.6687347367702306e-5,-6.947967062704738e-9,-2.5582634783583117e-4,-4.6796866950713174e-5,-6.964938644351132e-9,-2.5564461158371896e-4,-4.698373076282578e-5,-6.993209196686726e-9,-2.553879109156633e-4,-4.7213518226825917E-05,-7.029044733220987e-9,-2.5504832832596024e-4,-4.744277599023395e-5,-7.066933407213379e-9,-2.5463858429774843e-4,-4.7630969964505535e-5,-7.1011838454172516e-9,-2.541865650862485e-4,-4.775023325017012e-5,-7.127396703046114e-9,-2.537265402404863e-4,-4.7790107831489385e-5,-7.143345909601783e-9,-2.532904918374822e-4,-4.775683549761495e-5,-7.1491178104008635e-9,-2.529021042786563e-4,-4.766889086299671e-5,-7.146663004807935e-9,-2.525741732148423e-4,-4.7551249353078e-5,-7.139062192878236e-9,-2.5230871169483677e-4,-4.743029000875771e-5,-7.129782907503167e-9,-2.5209851175530824e-4,-4.733012368995658e-5,-7.12209759254885e-9,-2.519291245187472e-4,-4.7270279788107355e-5,-7.1187265860613594e-9,-2.517806968882801e-4,-4.726422556842384e-5,-7.12166746585097e-9,-2.5162963986732293e-4,-4.731809415808857e-5,-7.132097650423624e-9,-2.514505510713131e-4,-4.742927313984141e-5,-7.1502341423829864e-9,-2.512190030433243e-4,-4.758501628393123e-5,-7.175103678264232e-9,-2.5091568236328035e-4,-4.7761815907209246e-5,-7.204305121348925e-9,-2.5053181294401e-4,-4.7926849500478765e-5,-7.233991717484305e-9,-2.500746237911642e-4,-4.804301276238442e-5,-7.259360514494356e-9,-2.495701519604955e-4,-4.8078046570921506e-5,-7.275783141609628e-9,-2.490601882212913e-4,-4.8015746621047336e-5,-7.280321967292176e-9,-2.4859206990471175e-4,-4.786450499113676e-5,-7.272987851368456e-9,-2.4820404096295365e-4,-4.7657974491023386e-5,-7.2570490683069305e-9,-2.479123719305355e-4,-4.744593983612639e-5,-7.238137844085153e-9,-2.477062542180496e-4,-4.7278801363755583e-5,-7.2225323219480234e-9,-2.475523859045091e-4,-4.719243023421515e-5,-7.2153509223338515e-9,-2.4740634073176207e-4,-4.7199163254914456e-5,-7.21928276128765e-9,-2.472256149075255e-4,-4.728689651818537e-5,-7.234113502680999e-9,-2.469800996566623e-4,-4.742481447800407e-5,-7.2570090226968695e-9,-2.4665781472638505e-4,-4.757279635380423e-5,-7.283374548153914e-9,-2.462655369996502e-4,-4.769151536169288e-5,-7.308038135183422e-9,-2.458251322065457e-4,-4.775085456159175e-5,-7.326465854721028e-9,-2.4536711100036463e-4,-4.77350886691006e-5,-7.3357152755733405e-9,-2.4492329122390537e-4,-4.764420066221715e-5,-7.334911212083219e-9,-2.4452039783219196e-4,-4.749169496663902e-5,-7.3251748443696005e-9,-2.441758732145271e-4,-4.7300134577938174e-5,-7.309112821670338e-9,-2.4389627170717684e-4,-4.7095968591426874e-5,-7.2900891206745445e-9,-2.4367780651202367e-4,-4.6904922721911e-5,-7.2715143086660904e-9,-2.4350820404063506e-4,-4.674862028056588e-5,-7.2563236900772534e-9,-2.4336901910568495e-4,-4.6642494199979074e-5,-7.246701350541432e-9,-2.4323787902715116e-4,-4.6594604978692496e-5,-7.243991435989502e-9,-2.4309057272598025e-4,-4.6604855006113405e-5,-7.248666445835073e-9,-2.4290326713360635e-4,-4.666429753503088e-5,-7.260234391154556e-9,-2.4265533867043101e-4,-4.67546250155109e-5,-7.2770527231963495e-9,-2.4233328045250883e-4,-4.684845105661854e-5,-7.29615811529741e-9,-2.4193563237893614e-4,-4.6911622727816726e-5,-7.313363425619466e-9,-2.4147769061437337e-4,-4.690904210391057e-5,-7.323911274472526e-9,-2.409931846698145e-4,-4.68145030450435e-5,-7.3237831866979765e-9,-2.405293638181594e-4,-4.6622304985804496e-5,-7.311327256640174e-9,-2.4013397134164407e-4,-4.6354911420302454e-5,-7.288398575368516e-9,-2.3983792521253927e-4,-4.606009583001144e-5,-7.260171753226957e-9,-2.396424964711392e-4,-4.579591722183568e-5,-7.233460507133913e-9,-2.3951876787466002e-4,-4.561007369104896e-5,-7.21434469153871e-9,-2.394196251219914e-4,-4.552433842374012e-5,-7.206304347525716e-9,-2.3929702425245816e-4,-4.553082614515197e-5,-7.209572961363757e-9,-2.3911604156302504e-4,-4.559902693265397e-5,-7.221607636814043e-9,-2.3886148969033618e-4,-4.56878141259867e-5,-7.238141334743658e-9,-2.385376124584638e-4,-4.57569458542221e-5,-7.25434375948497e-9,-2.381635151221613e-4,-4.5775227331894453e-5,-7.265844606590987e-9,-2.3776689984276165e-4,-4.57248113055291e-5,-7.26951760352044e-9,-2.3737775512568452e-4,-4.560224089873021e-5,-7.26396202658587e-9,-2.3702288262502963e-4,-4.541701560695537e-5,-7.249620171308552e-9,-2.3672182048234104e-4,-4.518837706556744e-5,-7.228512886555455e-9,-2.3648451210419064e-4,-4.494110071809932e-5,-7.203679129923876e-9,-2.3631073766417756e-4,-4.470112417759971e-5,-7.1784915077864556e-9,-2.3619104748406788e-4,-4.449166637344944e-5,-7.156032804897266e-9,-2.361087730659606e-4,-4.433028327220373e-5,-7.138674148007875e-9,-2.3604256281260482e-4,-4.422705852302139e-5,-7.1278965459513375e-9,-2.3596896071219697e-4,-4.41837594790764e-5,-7.124282211477298e-9,-2.358648734407393e-4,-4.419359846967748e-5,-7.127541904743606e-9,-2.3571005457793368e-4,-4.424139308519803e-5,-7.136477505700135e-9,-2.3548986076137152e-4,-4.4304182265018096e-5,-7.148875985336727e-9,-2.3519855436410849e-4,-4.435271161882365e-5,-7.16145714276836e-9,-2.348430390860336e-4,-4.4354724701945077e-5,-7.170110582162483e-9,-2.3444587375598763e-4,-4.428117792866847e-5,-7.170657306550671e-9,-2.3404509111068765e-4,-4.411557127942225e-5,-7.1601656476032516e-9,-2.3368771973065835e-4,-4.386412570504797e-5,-7.138447255205115e-9,-2.334157329157928e-4,-4.356117057573164e-5,-7.108920211252188e-9,-2.3324859251575434e-4,-4.326304457334257e-5,-7.077986722810363e-9,-2.3317225159038513e-4,-4.3029164658112595e-5,-7.0528241170588876e-9,-2.3314325821755143e-4,-4.289880884221161e-5,-7.038651316312173e-9,-2.3310674475310233e-4,-4.287707539508815e-5,-7.037006731343113e-9,-2.330173793949718e-4,-4.2937138101060195e-5,-7.045793591462278e-9,-2.3285221519255721e-4,-4.303448249497462e-5,-7.060613085178226e-9,-2.3261221161084732e-4,-4.312326355963217e-5,-7.076380098752534e-9,-2.3231616237874106e-4,-4.3167782922615494e-5,-7.0885642907420745e-9,-2.3199226213489643e-4,-4.3147504709399666e-5,-7.093925360427784e-9,-2.3167066135599025e-4,-4.305722178644823e-5,-7.090854405127532e-9,-2.3137815592412457e-4,-4.290464072813479e-5,-7.079431225173229e-9,-2.3113482317374794e-4,-4.2706990561187926e-5,-7.061239222047379e-9,-2.3095210624270325e-4,-4.248733394858226e-5,-7.0389514644621475e-9,-2.3083209319112942e-4,-4.22708356697799e-5,-7.0157556508521975e-9,-2.3076787058155768e-4,-4.208124244565444e-5,-6.994754152444318e-9,-2.3074481404720975e-4,-4.193779429781794e-5,-6.978475418029599e-9,-2.3074269629111773e-4,-4.185278131262165e-5,-6.9685812919441475e-9,-2.3073838954341724e-4,-4.183002690679065e-5,-6.9657828504140465e-9,-2.307087773182823e-4,-4.1864416184094224e-5,-6.969890191920407e-9,-2.3063358371772487e-4,-4.19423194920427e-5,-6.979881232260712e-9,-2.304980447362638e-4,-4.204276810737836e-5,-6.993919691136392e-9,-2.3029541532778425e-4,-4.2139396145542684e-5,-7.00935383163725e-9,-2.3002929420596648e-4,-4.220331442258605e-5,-7.022821179996584e-9,-2.297155277725766e-4,-4.220735882242904e-5,-7.0306406913778314e-9,-2.2938274641947577e-4,-4.2132214476566026e-5,-7.029632424365228e-9,-2.2906972807424893e-4,-4.197407643695822e-5,-7.018296801761733e-9,-2.2881761972917472e-4,-4.175160042946605e-5,-6.997961873684011e-9,-2.286567093282979e-4,-4.15075256296687e-5,-6.9732029722847966e-9,-2.2859182172845228e-4,-4.129977684881916e-5,-6.9508561159118375e-9,-2.2859518852719337e-4,-4.118158264999498e-5,-6.937623078004585e-9,-2.2861445669427582e-4,-4.1179317366699686e-5,-6.937368890191579e-9,-2.2859373178187907e-4,-4.128165726085842e-5,-6.949709434593278e-9,-2.2849535207625107e-4,-4.144683429672747e-5,-6.970641653126126e-9,-2.283102601143957e-4,-4.162180946726997e-5,-6.994513297007544e-9,-2.280546314648973e-4,-4.1760936140705576e-5,-7.015996457807604e-9,-2.2775905137933017e-4,-4.1836162324814815e-5,-7.0312662464705675e-9,-2.2745750303615093e-4,-4.183854159207291e-5,-7.038384862713035e-9,-2.2717978153226345e-4,-4.1774688473891304e-5,-7.037214328561364e-9,-2.269476550317656e-4,-4.166168283592476e-5,-7.029107904443636e-9,-2.2677360769187676e-4,-4.152239765949198e-5,-7.016489998134974e-9,-2.2666086428735168e-4,-4.13817553708349e-5,-7.002360297324509e-9,-2.2660400530891817e-4,-4.126365474609324e-5,-6.989766583218536e-9,-2.2659004542151717e-4,-4.1188304668478054e-5,-6.981333927974789e-9,-2.266000219235072e-4,-4.116989011754661e-5,-6.978931288333946e-9,-2.266111881676761e-4,-4.12146495166316e-5,-6.9835033237536505e-9,-2.2659985001449061e-4,-4.131967774449151e-5,-6.9950455254666655e-9,-2.2654460748588225e-4,-4.147283960401956e-5,-7.012666563520272e-9,-2.264295628693442e-4,-4.165394006870694e-5,-7.034672741319516e-9,-2.2624709886908756e-4,-4.183709352380845e-5,-7.058654437906543e-9,-2.259998866238783e-4,-4.1994173550205136e-5,-7.081632424729571e-9,-2.2570180047419192e-4,-4.20991362790095e-5,-7.100361989265034e-9,-2.2537742095192945e-4,-4.213298776272619e-5,-7.111886301353217e-9,-2.2505959382885995e-4,-4.208912506154797e-5,-7.114348718520941e-9,-2.2478421898691062e-4,-4.197821401236689e-5,-7.107904138739319e-9,-2.2458174592226204e-4,-4.1830607186345735e-5,-7.0953504217620375e-9,-2.244663606137209e-4,-4.169327376221295e-5,-7.081979987657558e-9,-2.2442665203386655e-4,-4.1618683723854355e-5,-7.074284006802257e-9,-2.2442408061700852e-4,-4.1646821969372816e-5,-7.077692877238242e-9,-2.2440397415766895e-4,-4.178786877968106e-5,-7.0943342038050634e-9,-2.2431615173148974e-4,-4.201628734466668e-5,-7.122132208245681e-9,-2.2413418489370047e-4,-4.2281316841771065e-5,-7.155838491573877e-9,-2.238625036955378e-4,-4.252762716447894e-5,-7.189267752364687e-9,-2.2352958981585374e-4,-4.271389191467571e-5,-7.217364886846549e-9,-2.231742512295794e-4,-4.2821232086966055e-5,-7.2372470959088515e-9,-2.2283320562756947e-4,-4.285179730744506e-5,-7.2482661351785805e-9,-2.2253387205703278e-4,-4.282232746248896e-5,-7.2515555960049095e-9,-2.2229206566917885e-4,-4.275713751688142e-5,-7.2494356512215224e-9,-2.2211260756237194e-4,-4.2682685880708425e-5,-7.244838453971768e-9,-2.2199099538278396e-4,-4.262399641811782e-5,-7.240796077498677e-9,-2.2191514949620428e-4,-4.260230497054901e-5,-7.240011891369483e-9,-2.2186707232957353e-4,-4.26332616889838e-5,-7.244543832697758e-9,-2.2182464125580366e-4,-4.2725338241283515e-5,-7.255615619695993e-9,-2.217638453501513e-4,-4.287842690194515e-5,-7.273534478793906e-9,-2.2166170729793913e-4,-4.308298693357485e-5,-7.2976765517466445e-9,-2.2149980429336165e-4,-4.332033803452491e-5,-7.326522432477613e-9,-2.2126785688274673e-4,-4.3564584276414805e-5,-7.357751075488498e-9,-2.20966584781167e-4,-4.3786290015324124e-5,-7.388436436288333e-9,-2.2060898292754956e-4,-4.395759483340187e-5,-7.415404439706891e-9,-2.202193504707468e-4,-4.405796910551689e-5,-7.435775583366592e-9,-2.1982983813928416e-4,-4.407947682940211e-5,-7.4476444040565705e-9,-2.1947474914701923e-4,-4.403040203489803e-5,-7.450766846569757e-9,-2.1918316392070605e-4,-4.393615767618415e-5,-7.447040423172644e-9,-2.1897091886597989e-4,-4.3836355658260945e-5,-7.440501159279104e-9,-2.188338255077648e-4,-4.3777167322247025e-5,-7.4366017543605706e-9,-2.187450180632313e-4,-4.379926707359548e-5,-7.440747299185002e-9,-2.1865951766138927e-4,-4.3924079338995526e-5,-7.456451577868975e-9,-2.1852701523895825e-4,-4.414394644131482e-5,-7.48388495394003e-9,-2.1830915181893224e-4,-4.442241000664643e-5,-7.51964660486929e-9,-2.1799327092026865e-4,-4.47064341649404e-5,-7.558021886353412e-9,-2.1759542948186208e-4,-4.4945093539923776e-5,-7.593080121112747e-9,-2.1715190572061313e-4,-4.510525927973701e-5,-7.62051102463403e-9,-2.1670511352975532e-4,-4.5177775919498044e-5,-7.63846614779529e-9,-2.1629130702600425e-4,-4.5174263035486545e-5,-7.647414111500688e-9,-2.1593400226015044e-4,-4.511913434864514e-5,-7.649461867526958e-9,-2.1564283671687278e-4,-4.504151932089862e-5,-7.647573809127245e-9,-2.1541555700511315e-4,-4.496945565191675e-5,-7.644907915657562e-9,-2.152409460728591e-4,-4.4926547873120016E-05,-7.644326527091175e-9,-2.1510150205944102e-4,-4.493027145003056e-5,-7.648080390942638e-9,-2.1497560662559327e-4,-4.499101379307958e-5,-7.65764086825275e-9,-2.1483945926710325e-4,-4.511125926355644e-5,-7.673632641449619e-9,-2.1466926637521481e-4,-4.528477274004901e-5,-7.695803268049495e-9,-2.144441173207301e-4,-4.549613641988964e-5,-7.722992976764426e-9,-2.1414962209211983e-4,-4.572138551931352e-5,-7.753133503949428e-9,-2.137817825713578e-4,-4.5930557875204e-5,-7.783365806364265e-9,-2.1334992695909555e-4,-4.609259275443571e-5,-7.810385927253544e-9,-2.1287718132165904e-4,-4.6182138061975344e-5,-7.831058043246478e-9,-2.123972901802133e-4,-4.618667111745394e-5,-7.843194529569795e-9,-2.1194776550871445e-4,-4.611156504767954e-5,-7.846275859882824e-9,-2.1156084382754122e-4,-4.598097245517623e-5,-7.841849026160612e-9,-2.1125475027746477e-4,-4.5833615902049135e-5,-7.833415837621815e-9,-2.1102786191385352e-4,-4.57141563789811e-5,-7.825754714870187e-9,-2.1085766176323766e-4,-4.5662121102797614e-5,-7.823773717687805e-9,-2.1070526783781765e-4,-4.570112440445812e-5,-7.831148800367581e-9,-2.1052503260910168e-4,-4.5831388471697066e-5,-7.84914193292144e-9,-2.1027715631769618e-4,-4.602835716858338e-5,-7.876058836978009e-9,-2.0993957436240816e-4,-4.6248926026246374e-5,-7.90766713758257e-9,-2.095146194759454e-4,-4.644402823389973e-5,-7.938509723459188e-9,-2.0902749841148404e-4,-4.6573103373786205e-5,-7.963593692431587e-9,-2.085173003005473e-4,-4.6614726939852604e-5,-7.979751223426029e-9,-2.080247685004384e-4,-4.656971988276465e-5,-7.986202202748241e-9,-2.0758195037667867e-4,-4.645702153575651e-5,-7.984303236040702e-9,-2.0720680107128868e-4,-4.630568678322192e-5,-7.976805592462343e-9,-2.069027746736158e-4,-4.6146864470554793E-05,-7.967006829227965e-9,-2.0666149949068237e-4,-4.6008053738656595e-5,-7.958051544835984e-9,-2.0646643337144435e-4,-4.591001322147901e-5,-7.952478950941206e-9,-2.0629619473845173e-4,-4.586558575032321e-5,-7.952010523962518e-9,-2.0612715730170046e-4,-4.587946155808738e-5,-7.957511462395227e-9,-2.0593551752786214e-4,-4.594814009737746e-5,-7.969025447952002e-9,-2.0569936999224403e-4,-4.6059814191126656e-5,-7.985789917193825e-9,-2.054013396767555e-4,-4.619444426954505e-5,-8.006201300389058e-9,-2.0503200586908336e-4,-4.632476440606799e-5,-8.027795774410303e-9,-2.0459370977526643e-4,-4.6419232557928356e-5,-8.04739911864323e-9,-2.0410341514187733e-4,-4.644771828424737e-5,-8.061606874456355e-9,-2.0359249297940358e-4,-4.6389591386022976e-5,-8.06761967917358e-9,-2.0310152417526018e-4,-4.6241943470151586e-5,-8.064208675557398e-9,-2.026701314330422e-4,-4.602412220191169e-5,-8.05238930586289e-9,-2.0232482212882342e-4,-4.5775201703916056e-5,-8.035415203185357e-9,-2.0206981769589567e-4,-4.5543952383211005e-5,-8.017995799141722e-9,-2.0188503857131567e-4,-4.5374719563007136e-5,-8.005002937932091e-9,-2.0173208974531864e-4,-4.5294685661682146e-5,-8.000132839061242e-9,-2.0156558865288865e-4,-4.530694102432007e-5,-8.004940251523124e-9,-2.0134563404935994e-4,-4.5390862347908655e-5,-8.018476540387911e-9,-2.010477628284383e-4,-4.5508700213428396e-5,-8.037583629336856e-9,-2.0066816008643582e-4,-4.56159424839469e-5,-8.05775420557668e-9,-2.002233040454102e-4,-4.5672547498502866e-5,-8.074324603901956e-9,-1.9974456130923202e-4,-4.5652156194690424e-5,-8.083656540042794e-9,-1.992695170896543e-4,-4.554701856445397e-5,-8.083957366931921e-9,-1.9883270591920156e-4,-4.5367698049175715e-5,-8.075522287619769e-9,-1.9845841745310465e-4,-4.513832170771045e-5,-8.060398815725766e-9,-1.981572124953109e-4,-4.488951139782889e-5,-8.041672208553757e-9,-1.9792619199168255e-4,-4.46514605035761e-5,-8.022654713173082e-9,-1.97751818665741e-4,-4.444885607769098e-5,-8.006221420156825e-9,-1.9761372928278598e-4,-4.429815409582809e-5,-7.994418534127477e-9,-1.9748834183331958e-4,-4.4206787770554826e-5,-7.988349103172298e-9,-1.9735172150645567e-4,-4.417347840913245e-5,-7.988243219864344e-9,-1.9718177685405577e-4,-4.4188897515318655e-5,-7.993577576316224e-9,-1.969602185929472e-4,-4.423633228093872e-5,-8.003137811219496e-9,-1.96674791367231e-4,-4.429249144944042e-5,-8.01500158984719e-9,-1.9632209229852586e-4,-4.43290434847933e-5,-8.026530943997656e-9,-1.9591072087203853e-4,-4.4315855466975366e-5,-8.03455558004738e-9,-1.9546352222861362e-4,-4.422685189198833e-5,-8.035926730100295e-9,-1.9501665604001342e-4,-4.404835137258371e-5,-8.028456381532183e-9,-1.9461311284592976e-4,-4.3787482447394696e-5,-8.011956426634773e-9,-1.9429036612252486e-4,-4.3475903590539156e-5,-7.988819905738023e-9,-1.9406609579109184e-4,-4.31641133352837e-5,-7.963631507898714e-9,-1.939293801808378e-4,-4.290607476846081e-5,-7.941776010191559e-9,-1.9384326424020214e-4,-4.274050836180446e-5,-7.927647618378034e-9,-1.9375801371840964e-4,-4.267820492195053e-5,-7.923311832665135e-9,-1.9362806935360174e-4,-4.270088509049269e-5,-7.928124868965717e-9,-1.934249241067107e-4,-4.277008015595093e-5,-7.93923136862352e-9,-1.931422172148227e-4,-4.284026359050476e-5,-7.952533831849908e-9,-1.9279378906395382e-4,-4.287086605432226e-5,-7.963753390058145e-9,-1.9240746774724533e-4,-4.283438753175265e-5,-7.96935681810304e-9,-1.9201729184363728e-4,-4.272004332166115e-5,-7.967224995384466e-9,-1.9165604145344355e-4,-4.253352928312996e-5,-7.956980058119363e-9,-1.9134921912310286e-4,-4.229384282667856e-5,-7.939923003820991e-9,-1.9111121492372828e-4,-4.202818834980984e-5,-7.91860535841166e-9,-1.9094402083634387e-4,-4.176615800307559e-5,-7.896162848299419e-9,-1.9083831639714896e-4,-4.1534410208336746e-5,-7.87561120850624e-9,-1.9077625422079947e-4,-4.1352743879738196e-5,-7.859295143438076e-9,-1.9073505303328413e-4,-4.123196142628293e-5,-7.848605195695082e-9,-1.9069054410135802e-4,-4.1173414159399545e-5,-7.843964753064974e-9,-1.906201224278099e-4,-4.116971136664543e-5,-7.844982280018888e-9,-1.905050256123524e-4,-4.1205978856558556e-5,-7.850625899117948e-9,-1.9033218543530693e-4,-4.126132493487268e-5,-7.859318656901609e-9,-1.9009597946679268e-4,-4.131052250053904e-5,-7.868951080561997e-9,-1.8980014139863044e-4,-4.1326260782891054e-5,-7.876912836277283e-9,-1.8945967012305145e-4,-4.128269700216912e-5,-7.880323549005257e-9,-1.8910169760086778e-4,-4.116102678475968e-5,-7.876614821307504e-9,-0.00018876338867391296,-4.0956863108143176e-5,-7.864445949430287e-9,-1.884847853602136e-4,-4.0687258733253435e-5,-7.844654109638144e-9,-1.8829616966925856e-4,-4.039278804799636e-5,-7.820672655457958e-9,-1.88203845813791e-4,-4.012954778719805e-5,-7.797856014628003e-9,-1.8818277508791647e-4,-3.995054240701812e-5,-7.781684520999545e-9,-1.881832875362198e-4,-3.988448188439229e-5,-7.77566376533795e-9,-1.8815018874959586e-4,-3.992443525486756e-5,-7.780096416824334e-9,-1.880434791354815e-4,-4.003285000490112e-5,-7.792321866458137e-9,-1.8784973035415947e-4,-4.015822215563545e-5,-7.808013539986401e-9,-1.8758115050261835e-4,-4.025292234742e-5,-7.822655543413694e-9,-1.872668184883031e-4,-4.02846843903453e-5,-7.832609350063291e-9,-1.869421745375567e-4,-4.024036343886389e-5,-7.835668960723405e-9,-1.866405011096358e-4,-4.012421563344865e-5,-7.831233109466725e-9,-1.8638746606769327e-4,-3.9953517066443375e-5,-7.820209997762073e-9,-1.8619833336478678e-4,-3.9753447846682424E-05,-7.804705559277455e-9,-1.8607713456172942e-4,-3.955211791223761e-5,-7.787528077260694e-9,-1.8601733956143633e-4,-3.937609305312275e-5,-7.771594675631029e-9,-1.8600372362801028e-4,-3.924671808006975e-5,-7.759377516311174e-9,-1.860151033940145e-4,-3.9177490549839045e-5,-7.752521038826082e-9,-1.86027579535179e-4,-3.917265795237302e-5,-7.751697825195558e-9,-1.8601784500762417e-4,-3.922712275877602e-5,-7.756683939980297e-9,-1.859660991240961e-4,-3.932748873083235e-5,-7.76655338904938e-9,-1.858583415306685e-4,-3.945386020008228e-5,-7.779863803220138e-9,-1.856880765199331e-4,-3.9582104032858643e-5,-7.794764745634513e-9,-1.8545751111847034e-4,-3.968648336286518e-5,-7.80905273811186e-9,-1.8517832726768282e-4,-3.974272194646584e-5,-7.820277095975539e-9,-1.8487191715710737e-4,-3.973182286832981e-5,-7.826043324454552e-9,-1.84568326062585e-4,-3.964498003485806e-5,-7.824607063924266e-9,-1.8430252736954805e-4,-3.948909619720772e-5,-7.81567723225054e-9,-1.841068015813026e-4,-3.9290916557531185e-5,-7.801120265142914e-9,-1.8399941650295114e-4,-3.9096168023688346e-5,-7.785080204503404e-9,-1.8397315757144196e-4,-3.8959732030985414e-5,-7.773061430941858e-9,-1.8399121969710352e-4,-3.892667494260442e-5,-7.769999153806498e-9,-1.8399720413110593e-4,-3.9012062532908605e-5,-7.778165646339316e-9,-1.8393709799280938e-4,-3.919247414624714e-5,-7.796192327999907e-9,-1.837809253347292e-4,-3.94159913142451e-5,-7.81983562463752e-9,-1.835314504140859e-4,-3.9624174692404916e-5,-7.843866044999501e-9,-1.832175926465497e-4,-3.9772376929694886e-5,-7.863852973816922e-9,-0.00018288007799367867,-3.983939802399363e-5,-7.877101234873762e-9,-1.825581525567214e-4,-3.9826609012344015e-5,-7.88278698428171e-9,-1.8228153953364634e-4,-3.975151493070294e-5,-7.881673076367993e-9,-1.8206747389102235e-4,-3.96403257759107e-5,-7.87567869457065e-9,-1.8192093438847728e-4,-3.952183195728649e-5,-7.867403264403688e-9,-1.818363144226791e-4,-3.94230088792691e-5,-7.859627774104685e-9,-1.8179960057993597e-4,-3.9365938879669173e-5,-7.854836651382487e-9,-1.817908037429815e-4,-3.9365650403408574e-5,-7.85483970570868e-9,-1.817866154295425e-4,-3.9428705477013426e-5,-7.860566324909944e-9,-1.81763290141203e-4,-3.955254076382139e-5,-7.872043997922005e-9,-1.8169966125836646e-4,-3.9725745338659054e-5,-7.888521312020506e-9,-1.8157997375724025e-4,-3.992943179925509e-5,-7.908654800013727e-9,-1.8139615201193202e-4,-4.01395859443014e-5,-7.930677800847704e-9,-1.8114926843234067e-4,-4.0330149429537525e-5,-7.952524911278175e-9,-1.808500494869329e-4,-4.047662276442048e-5,-7.971962158343955e-9,-1.8051827933978514e-4,-4.055992560857808e-5,-7.986810256067089e-9,-1.8018101316444614e-4,-4.0570277674346596e-5,-7.995336625795394e-9,-1.7986930754112723e-4,-4.0510916503467394e-5,-7.996822725172099e-9,-1.796128754203871e-4,-4.0400967753350356e-5,-7.992167447243349e-9,-1.7943243126465743e-4,-4.027577035424067e-5,-7.984224841668468e-9,-1.793308527151646e-4,-4.0182267013651894e-5,-7.97751603843064e-9,-1.7928650189256697e-4,-4.016762654034507e-5,-7.977085620844553e-9,-1.7925412028238575e-4,-4.026237728195528e-5,-7.986681974367066e-9,-1.791774416147169e-4,-4.046502137035069e-5,-8.007050548514257e-9,-1.79010578141659e-4,-4.07384889308924e-5,-8.03541534862946e-9,-1.7873692411944845e-4,-4.102346717380981e-5,-8.066621496285543e-9,-1.783741420058078e-4,-4.1261830836882335e-5,-8.095249938080533e-9,-1.7796361074475225e-4,-4.1416463164230464e-5,-8.117421582789139e-9,-1.7755290410782594e-4,-4.1478368578888085e-5,-8.131520449449486e-9,-1.7718135033389617e-4,-4.146198733197798e-5,-8.13797055610707e-9,-1.768730990346715e-4,-4.139529321745453e-5,-8.138602365296292e-9,-1.766365818208645e-4,-4.131042648440153e-5,-8.135996394797593e-9,-1.7646729539195152e-4,-4.123728457209718e-5,-8.132931548149722e-9,-1.7635140912427015e-4,-4.119998363428822e-5,-8.131940782911007e-9,-1.7626901592075078e-4,-4.1215139264067615e-5,-8.13497319552361e-9,-1.7619688175239353e-4,-4.129104627639256e-5,-8.143187102834443e-9,-1.7611095329391106e-4,-4.142731358893801e-5,-8.156888519239014e-9,-1.7598889716912629e-4,-4.1614887437690714e-5,-8.17558928584182e-9,-1.7581281192462515e-4,-4.183670829192403e-5,-8.198133122013413e-9,-1.7557194116890116e-4,-4.206939570725801e-5,-8.222846596370708e-9,-1.7526489185315834e-4,-4.2286145337228534e-5,-8.247693685378518e-9,-1.749007892130791e-4,-4.246067239676419e-5,-8.27045287578726e-9,-1.7449889291473196e-4,-4.257177890837406e-5,-8.288966601271894e-9,-1.7408636134491067e-4,-4.260785569445014e-5,-8.301502622549816e-9,-1.7369417612683185e-4,-4.257044116629862e-5,-8.307207425135431e-9,-1.733515749373912e-4,-4.247603925671317e-5,-8.306560538240727e-9,-1.7307951561946385e-4,-4.235546258407321e-5,-8.301660768772593e-9,-1.7288404300892215e-4,-4.224980670333177e-5,-8.296116391034056e-9,-1.7275126742316764e-4,-4.220232082429011e-5,-8.29435675977847e-9,-1.7264662508130276e-4,-4.2246603872407674e-5,-8.300377709365537e-9,-1.7252121501086634e-4,-4.239390927424923e-5,-8.316260399484159e-9,-1.723259194563172e-4,-4.262512746453453e-5,-8.341125038747223e-9,-1.7202921853819408e-4,-4.289359303196469e-5,-8.371205255110296e-9,-1.7163005621497463e-4,-4.314027956941037e-5,-8.401196120311941e-9,-1.7115808212438073e-4,-4.3314891182245837e-5,-8.426208336859534e-9,-1.706611339045414e-4,-4.3391899781138715e-5,-8.4432830383759e-9,-1.701876762651756e-4,-4.3374419715413495e-5,-8.4518562411058e-9,-1.6977323193821857e-4,-4.328714577136297e-5,-8.4533209117178e-9,-1.6943492968409378e-4,-4.316484300779904e-5,-8.450215049832509e-9,-1.691728141266524e-4,-4.304229490465962e-5,-8.445454567334958e-9,-1.689743734967421e-4,-4.294814563749508e-5,-8.441762371783732e-9,-1.6881942342299218e-4,-4.2902261156559144e-5,-8.441296223429344e-9,-1.6868404487941965e-4,-4.291519214458628e-5,-8.445444774098598e-9,-1.6854347563705814e-4,-4.2988495594045744e-5,-8.454766529152133e-9,-1.6837439851704656e-4,-4.3115257163194266e-5,-8.469036389597806e-9,-1.681571293442517e-4,-4.3280710287122344e-5,-8.487346444855007e-9,-1.6787800682957013e-4,-4.3463272785180736e-5,-8.508217625345404e-9,-1.675319055511752e-4,-4.363653952219832e-5,-8.529718093993882e-9,-1.6712433065999726e-4,-4.3772654109465174e-5,-8.549625270960761e-9,-1.6667221550076703e-4,-4.3847053130506195e-5,-8.565688893545171e-9,-1.6620251090174813e-4,-4.384394863589244e-5,-8.576022891083493e-9,-1.6574805161057994e-4,-4.3761243185843136e-5,-8.57958137502147e-9,-1.653410166729793e-4,-4.361321227414499e-5,-8.57659196538238e-9,-1.6500526069332353e-4,-4.3429595920686075e-5,-8.568780938240553e-9,-1.6474941938175833e-4,-4.325061380526027e-5,-8.559242374508827e-9,-1.6456278474184848e-4,-4.311845658282386e-5,-8.551872091484495e-9,-1.6441558827007797e-4,-4.306679435913246e-5,-8.55041163875152e-9,-1.6426459590353389e-4,-4.31107428021797e-5,-8.55731514316368e-9,-1.6406370565747632e-4,-4.324040567689213e-5,-8.572814975918328e-9,-1.6377738091422734e-4,-4.3421136814201817e-5,-8.594619277300757e-9,-1.6339259528422065e-4,-4.360218549923664e-5,-8.618509053213847e-9,-1.6292403742707357e-4,-4.3731933663244515e-5,-8.639692356752142e-9,-1.6240945516230828e-4,-4.3773994492029846e-5,-8.654343911008955e-9,-1.618968607756375e-4,-4.371721460881521e-5,-8.660647603934844e-9,-1.614295836691662e-4,-4.357579691594396e-5,-8.658990171403235e-9,-1.6103554540079272e-4,-4.338116258064244e-5,-8.65143750147207e-9,-1.6072371734170566e-4,-4.317072694826411e-5,-8.640899300411265e-9,-1.60486597377181e-4,-4.2978486922922624e-5,-8.630346264051817e-9,-1.6030553083480994e-4,-4.28295955015562e-5,-8.622255741822829e-9,-1.6015613527411944e-4,-4.2738546072660895e-5,-8.618310231123223e-9,-1.6001252941236853e-4,-4.270953342717434e-5,-8.619310983523769e-9,-1.5985023392522713e-4,-4.27376696865566e-5,-8.62524258194941e-9,-1.5964820616548375e-4,-4.281026269130828e-5,-8.635407427994393e-9,-1.5939063606626693e-4,-4.290797545834162e-5,-8.648555381100611e-9,-1.5906893911632526e-4,-4.300622619989431e-5,-8.662980381924239e-9,-1.586839320425307e-4,-4.307745905419132e-5,-8.6766176574788e-9,-1.5824763893893554e-4,-4.309485149551601e-5,-8.687224944489166e-9,-1.577836553301402e-4,-4.303761508032331e-5,-8.692728743322592e-9,-1.5732473003351639e-4,-4.2897150815443866e-5,-8.691735505534104e-9,-1.5690673041701025e-4,-4.2682099455994495e-5,-8.684069583127032e-9,-1.5655967783061677e-4,-4.241963218334136e-5,-8.671100768675983e-9,-1.5629842252569848e-4,-4.215106331379977e-5,-8.65564776892293e-9,-1.5611654367897435e-4,-4.1922027222526855e-5,-8.641393519477788e-9,-1.5598634365727104e-4,-4.1769990723229766e-5,-8.631943434242865e-9,-1.558655337576891e-4,-4.171332468953909e-5,-8.62980875112357e-9,-1.55708599326998e-4,-4.1745676230751626e-5,-8.635639653747643e-9,-1.5547926756793228e-4,-4.183738871643539e-5,-8.64796410233513e-9,-1.5516040876164026e-4,-4.194344529267842e-5,-8.663544317198107e-9,-1.5475857077794318e-4,-4.2015642345345564e-5,-8.678275332417251e-9,-1.5430178219828054e-4,-4.2015487508945786e-5,-8.688346657903147e-9,-1.538312653883322e-4,-4.1923888974596855e-5,-8.691272266061803e-9,-1.5338985144061818e-4,-4.174464729428951e-5,-8.686443715723425e-9,-1.5301108912570144e-4,-4.150107912857046e-5,-8.675074640975934e-9,-1.5271247020407983e-4,-4.1227745509928506e-5,-8.659650972450587e-9,-1.5249412865362623e-4,-4.096082102643691e-5,-8.643154944543995e-9,-1.5234202142190386e-4,-4.0730361657362306e-5,-8.628341074666747e-9,-1.522332666590427e-4,-4.0556036818412694e-5,-8.617240877586801e-9,-1.5214146355814283e-4,-4.044607832465574e-5,-8.610948820189256e-9,-1.5204082770238207e-4,-4.0398276306418136e-5,-8.609649713449356e-9,-1.5190894966737008e-4,-4.040182404940597e-5,-8.612791693953891e-9,-1.5172855998777816e-4,-4.04392073340307e-5,-8.619289651721801e-9,-1.5148890221367985e-4,-4.048788673301634e-5,-8.627671304566296e-9,-1.511871960678653e-4,-4.052207249406931e-5,-8.636154913727928e-9,-1.5083025434630082e-4,-4.051521495503619e-5,-8.642725787473477e-9,-1.5043574158394175e-4,-4.044383852156764e-5,-8.645327734018624e-9,-1.500319353466808e-4,-4.029297377626192e-5,-8.642261093560134e-9,-1.496544166579292e-4,-4.006242686937451e-5,-8.632759521112276e-9,-1.4933857066749907e-4,-3.9771500609913104e-5,-8.61753525645397e-9,-1.4910878327908136e-4,-3.9458613965874134e-5,-8.598961074703302e-9,-1.4896817540041468e-4,-3.9173255620837376e-5,-8.580634729706417e-9,-1.4889434793359147e-4,-3.896143953895252e-5,-8.566369717397555e-9,-1.488446779231985e-4,-3.885027635490195e-5,-8.558992598500318e-9,-1.4876971971684565e-4,-3.883878985692342e-5,-8.559461170923111e-9,-1.4862882605840358e-4,-3.889897430693147e-5,-8.566637964807312e-9,-1.484015496846831e-4,-3.8985699273179814e-5,-8.577719545041904e-9,-1.4809146958670756e-4,-3.9050500471712874e-5,-8.589075917670951e-9,-1.4772283139077166e-4,-3.90541832810773e-5,-8.597200861671296e-9,-1.4733252302452735e-4,-3.8975093804996464e-5,-8.599531021666814e-9,-1.46960319709348e-4,-3.8811988524448995e-5,-8.594969943036304e-9,-1.4663989849332713e-4,-3.8581911562734315e-5,-8.58402541962936e-9,-1.4639243737691714e-4,-3.831439622032589e-5,-8.568556760394407e-9,-1.4622381432699978e-4,-3.8043832331238845e-5,-8.551221326080342e-9,-1.4612546696149864e-4,-3.780203085357788e-5,-8.534793996272362e-9,-1.4607800835754142e-4,-3.761267871861787e-5,-8.521560570514165e-9,-1.46056126596556e-4,-3.748848840769632e-5,-8.512936995642796e-9,-1.4603336462438332e-4,-3.743087337648366e-5,-8.509368863912567e-9,-1.4598588657925202e-4,-3.743138625583485e-5,-8.510465027645555e-9,-1.4589496353338089e-4,-3.747399290628529e-5,-8.515247763091069e-9,-1.4574843347403674e-4,-3.753744263121957e-5,-8.522385868843517e-9,-1.4554162934537264e-4,-3.759745129656199e-5,-8.530332304446479e-9,-1.4527818133022795e-4,-3.7628889350479104e-5,-8.537375532161534e-9,-1.4497079464529807e-4,-3.76084521534279e-5,-8.541699439939246e-9,-1.446416124057033e-4,-3.751836753687077e-5,-8.541581339326527e-9,-1.4432111704455668e-4,-3.7351398285757994e-5,-8.535812444372269e-9,-1.4404404714688575e-4,-3.711638518574359e-5,-8.524282605408122e-9,-1.438412079624837e-4,-3.684187866182322e-5,-8.508477097627533e-9,-1.4372811461076546e-4,-3.657397293866363e-5,-8.491503673689153e-9,-1.436949746655447e-4,-3.636532952138359e-5,-8.477371791217123e-9,-1.437049148338037e-4,-3.625715011489158e-5,-8.469647157873269e-9,-1.4370460041685984e-4,-3.626225419817731e-5,-8.470096677118393e-9,-1.436435657655829e-4,-3.6359182629031623e-5,-8.478059693349249e-9,-1.4349217679652826e-4,-3.650097828056397e-5,-8.49083875172551e-9,-1.4324944734727836e-4,-3.663301747612782e-5,-8.50476357027434e-9,-1.4293924274250757e-4,-3.6710244446883646e-5,-8.516318183217591e-9,-1.42599606440927e-4,-3.670734481993864e-5,-8.522934387042323e-9,-1.4227107692698355e-4,-3.66208983276144e-5,-8.523380609554418e-9,-1.4198762087161575e-4,-3.646586091026803e-5,-8.517827359725516e-9,-1.4177127123896665e-4,-3.626931158012475e-5,-8.507668428407443e-9,-1.4163010445375599e-4,-3.606360234221836e-5,-8.495144285064709e-9,-1.4155881398565556e-4,-3.588006957388633e-5,-8.482821921176052e-9,-1.4154122929864088e-4,-3.574396664003745e-5,-8.473039059830415e-9,-1.4155410250967632e-4,-3.5671120527783085e-5,-8.467454781925923e-9,-1.4157137341078065e-4,-3.5666522461359366e-5,-8.46681890030178e-9,-1.4156819516112225e-4,-3.572468450852716e-5,-8.4709875707388e-9,-1.4152418460917606e-4,-3.58313730753767e-5,-8.47912807725831e-9,-1.4142558873947818e-4,-3.59661705458511e-5,-8.489992557926502e-9,-1.412664184643966e-4,-3.6105261696455e-5,-8.502137383045136e-9,-1.4104888166358994e-4,-3.6224110895191465e-5,-8.514032189748423e-9,-1.4078340386514088e-4,-3.630008132933925e-5,-8.524097794432883e-9,-1.4048831120426743e-4,-3.6315244359799485e-5,-8.530777751256682e-9,-1.4018893987105985e-4,-3.6259700669489686e-5,-8.532761075544734e-9,-1.399154045802046e-4,-3.613554770648095e-5,-8.529406358796928e-9,-1.396978493880879e-4,-3.5960758369385744e-5,-8.5212719609298e-9,-1.395584274220083e-4,-3.5770777754258144e-5,-8.510484614118273e-9,-1.395010799090941e-4,-3.5614419533547606e-5,-8.500584815712752e-9,-1.3950347955379841e-4,-3.554134224026499e-5,-8.495600252331792e-9,-1.395181326667312e-4,-3.5583057711782186e-5,-8.49852886633527e-9,-1.3948692048425989e-4,-3.573661667274257e-5,-8.509976577861838e-9,-1.3936409233349114e-4,-3.596248146847602e-5,-8.52783178092342e-9,-1.3913464178440764e-4,-3.6200002121230084e-5,-8.548219699136488e-9,-1.3881747770678196e-4,-3.6391341144876804e-5,-8.567072309384218e-9,-1.384540237025143e-4,-3.650005380239695e-5,-8.581375137160207e-9,-1.380914704582618e-4,-3.6517145395985524e-5,-8.589669620504838e-9,-1.3776939627770373e-4,-3.645667302158028e-5,-8.591982763540148e-9,-1.375129529417687e-4,-3.634680402050186e-5,-8.589508759325445e-9,-1.373315794560991e-4,-3.622095854655851e-5,-8.584220023840957e-9,-1.3722091216789167e-4,-3.61110737959683e-5,-8.578448656336925e-9,-1.3716598999432205e-4,-3.6043161150447865e-5,-8.574449379800085e-9,-1.37144819913883e-4,-3.6034601772228566e-5,-8.573995788120039e-9,-1.3713202193536196e-4,-3.60927847497726e-5,-8.578098184526851e-9,-1.3710237308793484e-4,-3.621495858814332e-5,-8.586914569799196e-9,-1.3703402980724396e-4,-3.6389181641333254e-5,-8.5998516774355e-9,-1.36911205202354e-4,-3.65962542961265e-5,-8.615789199981454e-9,-1.3672602214730465e-4,-3.68124573584491e-5,-8.633327431858329e-9,-1.36479349089764e-4,-3.701271677512592e-5,-8.650970819822634e-9,-1.3618068653054776e-4,-3.717379627140313e-5,-8.667222550115315e-9,-1.358472662707308e-4,-3.7277344343605105e-5,-8.680647089426607e-9,-1.3550242612119607e-4,-3.731274903926245e-5,-8.68999424871703e-9,-1.3517320152061808e-4,-3.727978006702851e-5,-8.694459140313209e-9,-1.3488680793789882e-4,-3.719092897384664e-5,-8.694073713436727e-9,-1.3466544021457864e-4,-3.707279073129639e-5,-8.69010051987593e-9,-1.3451925275556113e-4,-3.696481485133304e-5,-8.685177236944263e-9,-1.344388658671642e-4,-3.69131046298267e-5,-8.682934876706395e-9,-1.3439108416693466e-4,-3.695778715724225e-5,-8.68695839392729e-9,-1.3432331140892352e-4,-3.7116200157038535e-5,-8.699334814541392e-9,-1.3417981211901297e-4,-3.737010340084863e-5,-8.71951455375979e-9,-1.339246580951755e-4,-3.7667420214442775e-5,-8.744316749020727e-9,-1.3355816900488716e-4,-3.7941435370631326e-5,-8.769244026211392e-9,-1.3311593340372153e-4,-3.813725721253883e-5,-8.79029609068621e-9,-1.3265197371800877e-4,-3.8229929052285945e-5,-8.80518898519348e-9,-1.3221793913426716e-4,-3.822643977336777e-5,-8.813555366407018e-9,-1.318492290963614e-4,-3.8155740932226004e-5,-8.816480101901048e-9,-1.3156091565529496e-4,-3.8055615871408505e-5,-8.815891247203971e-9,-1.3135036452187486e-4,-3.796239043644523e-5,-8.814051427765528e-9,-1.31202438800492e-4,-3.7905049072083586e-5,-8.813160873514698e-9,-1.3109463784149872e-4,-3.79028210263575e-5,-8.81503385420893e-9,-1.3100122611687848e-4,-3.796469387651649e-5,-8.820852830416448e-9,-1.3089648863076503e-4,-3.80897908046812e-5,-8.83104051118581e-9,-1.3075748536931842e-4,-3.826825886682798e-5,-8.84527997381368e-9,-1.3056648321026467e-4,-3.848267424904795e-5,-8.862659526172724e-9,-1.3031305885508222e-4,-3.871009371470224e-5,-8.881878607082005e-9,-1.2999564462678402e-4,-3.8924886973358905e-5,-8.90144922639146e-9,-1.296221126551315e-4,-3.9102224081252054e-5,-8.919852317394064e-9,-1.292091137554164e-4,-3.9221787764163894e-5,-8.935653170963314e-9,-1.287801342980387e-4,-3.9271231345139034e-5,-8.947626178113364e-9,-1.2836237102655372e-4,-3.924893370147562e-5,-8.954946573809908e-9,-1.2798264289840097e-4,-3.916561004732102e-5,-8.957459750970044e-9,-1.2766262594780724e-4,-3.9044431207776e-5,-8.955969094344736e-9,-1.2741366297480022e-4,-3.891923161696911e-5,-8.952404162384802e-9,-1.2723168997357461e-4,-3.883000967390067e-5,-8.949679509496966e-9,-1.27093748029005e-4,-3.881487829910734e-5,-8.951097831921052e-9,-1.2695870357679422e-4,-3.8898685950468335e-5,-8.959323326278861e-9,-1.267751555869125e-4,-3.908106724078372e-5,-8.975233990146882e-9,-1.2649729890266872e-4,-3.933002315131596e-5,-8.997238422616873e-9,-1.2610380646318407e-4,-3.958793924368254e-5,-9.021623338742478e-9,-1.2560933231630603e-4,-3.979117636916569e-5,-9.043949542052622e-9,-1.250601064281325e-4,-3.989428803618717e-5,-9.060747657363913e-9,-1.2451535807132656e-4,-3.988519479442612e-5,-9.070550347589108e-9,-1.2402584828578883e-4,-3.978414776435241e-5,-9.073886011159246e-9,-1.236205981940215e-4,-3.963065544738354e-5,-9.07260038223968e-9,-1.2330492479386814e-4,-3.946804731107443e-5,-9.06907791995821e-9,-1.2306592379153069e-4,-3.9332584341514184e-5,-9.065663183276685e-9,-1.228800828847495e-4,-3.9248605036294036e-5,-9.064298093394783e-9,-1.2271974809462355e-4,-3.9227959023930204e-5,-9.066308761174449e-9,-1.2255751932836511e-4,-3.9271422800291845e-5,-9.07230522767062e-9,-1.2236902385258616e-4,-3.937056825807537e-5,-9.082190481665708e-9,-1.2213485314795255e-4,-3.950953825587356e-5,-9.0952670217167e-9,-1.2184219766310128e-4,-3.966680598205627e-5,-9.110401741288104e-9,-1.2148636162885278e-4,-3.981726696521993e-5,-9.12619905571748e-9,-1.2107197250418744e-4,-3.9935062083796264e-5,-9.141156188037495e-9,-1.2061333772280514e-4,-3.9997258003077964e-5,-9.153805898123638e-9,-1.2013331124746263e-4,-3.998800386203117e-5,-9.162873756252375e-9,-1.1966030668005657e-4,-3.990236796499482e-5,-9.167476141008514e-9,-1.1922355711720542e-4,-3.9748848224879454e-5,-9.16735668291749e-9,-1.1884727409519039e-4,-3.9549573910041856e-5,-9.163106709226148e-9,-1.1854484500946807e-4,-3.9337626281964046e-5,-9.156273357353645e-9,-1.1831435745928925e-4,-3.9151554868869843e-5,-9.149247534449742e-9,-1.1813661119487769e-4,-3.9027669333984225e-5,-9.144851147026704e-9,-1.1797667960421902e-4,-3.899110483450793e-5,-9.145628060950681e-9,-1.1778991790734548e-4,-3.904737063700308e-5,-9.15299150810211e-9,-1.175325624741728e-4,-3.9177091689939015e-5,-9.166537396277783e-9,-1.1717523308225653e-4,-3.933731131848976e-5,-9.183898816605155e-9,-1.1671489921126038e-4,-3.947171279421601e-5,-9.20137620436505e-9,-1.1617906373001206e-4,-3.952820645458404e-5,-9.215188158288917e-9,-1.1561807446250038e-4,-3.947694802803824e-5,-9.222771080593783e-9,-1.1508795403832579e-4,-3.931977427169145e-5,-9.223487247363517e-9,-1.1463218392673738e-4,-3.9086539305895255e-5,-9.21849929028679e-9,-1.142709592978943e-4,-3.8821745934336895e-5,-9.210076040428456e-9,-1.1400074179654687e-4,-3.856946273893001e-5,-9.20078618611514e-9,-1.1380094799943816e-4,-3.836294492571193e-5,-9.192886631995141e-9,-1.1364261812623197e-4,-3.822069459714716e-5,-9.1879765359956e-9,-1.1349551541127026e-4,-3.814719957123449e-5,-9.186871306246775e-9,-1.1333258761490281e-4,-3.8135736535814055e-5,-9.189633338269424e-9,-1.1313230069867286e-4,-3.817141008984336e-5,-9.195706259883106e-9,-1.1287982382393343e-4,-3.823369291997683e-5,-9.204097657482591e-9,-1.1256786310513337e-4,-3.829851605574717e-5,-9.213553802888529e-9,-1.1219751803139118e-4,-3.8340376762559447e-5,-9.22269414066259e-9,-1.1177904223869293e-4,-3.833503671167999e-5,-9.230116686601745e-9,-1.1133191698447232e-4,-3.826315103578705e-5,-9.234523255112086e-9,-1.1088335748373442e-4,-3.811461096830071e-5,-9.234910233392347e-9,-1.1046449079987319e-4,-3.789262697562118e-5,-9.230826308386785e-9,-1.1010413601670693e-4,-3.7615910350771354e-5,-9.222627139411862e-9,-1.0982130517158393e-4,-3.731722308065027e-5,-9.21160402770721e-9,-1.0961868889767661e-4,-3.703748088216355e-5,-9.199872312326249e-9,-1.0947969429209346e-4,-3.681630820680492e-5,-9.189976537874282e-9,-1.0937067838856088e-4,-3.668157414423921e-5,-9.184272074658242e-9,-1.0924829447019257e-4,-3.664109554625678e-5,-9.18424056176897e-9,-1.0907020550257687e-4,-3.667913877536005e-5,-9.189954915184103e-9,-1.0880642515705916e-4,-3.6759033088402764e-5,-9.199907267392656e-9,-1.0844824947981108e-4,-3.683171835853091e-5,-9.211326762762983e-9,-1.0801195079731945e-4,-3.684853152381634e-5,-9.220949393187014e-9,-1.0753533107081977e-4,-3.6774884340293415e-5,-9.225997564122934e-9,-1.0706735543311275e-4,-3.6600269285523224e-5,-9.22499909034669e-9,-1.0665405844386353e-4,-3.634060345263345e-5,-9.218128116932532e-9,-1.0632599695639417e-4,-3.6031911809698865e-5,-9.206981038369621e-9,-1.0609189824736788e-4,-3.5718319405997615e-5,-9.19395506438557e-9,-1.0593992002165717e-4,-3.543962353913638e-5,-9.181522987160879e-9,-1.0584432970216088e-4,-3.5222894444418944e-5,-9.171654265312317e-9,-1.0577377509585269e-4,-3.5079615353876484e-5,-9.165501882736301e-9,-1.0569811427307857e-4,-3.500714701067259e-5,-9.163352800650679e-9,-1.0559264518508524e-4,-3.499226206662488e-5,-9.164771801813917e-9,-1.0544004786505433e-4,-3.5014920510423576e-5,-9.16883982493074e-9,-1.0523095671395252e-4,-3.5051391464275926e-5,-9.174389778026609e-9,-1.0496405295401565e-4,-3.507665669286638e-5,-9.180172150801203e-9,-1.0464618835727268e-4,-3.506655725701059e-5,-9.184939032839345e-9,-1.0429252092118758e-4,-3.500030193581135e-5,-9.187495988674884e-9,-1.039261276946598e-4,-3.48637823947789e-5,-9.186800523449334e-9,-1.0357615793353864e-4,-3.46536541858101e-5,-9.182170455832e-9,-1.0327350441689744e-4,-3.4381246691956354e-5,-9.173580720955574e-9,-1.0304364939716516e-4,-3.4074253186413085e-5,-9.161923230549191e-9,-1.0289802766204464e-4,-3.3773697803369534e-5,-9.149039646343281e-9,-1.0282725778280255e-4,-3.3524929232600696e-5,-9.137394421723031e-9,-1.0280029662432293e-4,-3.336441855594974e-5,-9.129418606410994e-9,-1.0277162008556858e-4,-3.3307298589755e-5,-9.126750143428798e-9,-1.0269452672034878e-4,-3.334132380659976e-5,-9.129679824022376e-9,-1.0253530901109662e-4,-3.3430128766657056e-5,-9.137028969170211e-9,-1.0228281327026914e-4,-3.352418168582912e-5,-9.146483951023313e-9,-1.0195058478501845e-4,-3.357486167811767e-5,-9.155243273725392e-9,-1.0157200536431759e-4,-3.354696552794696e-5,-9.160762004820197e-9,-1.0119077576295845e-4,-3.3426523116505044e-5,-9.161389983981338e-9,-1.0084972538708518e-4,-3.322258471680729e-5,-9.1567428994038e-9,-1.0058085340582454e-4,-3.296319855077416e-5,-9.1477233287177e-9,-1.0039895151362752e-4,-3.268715204906611e-5,-9.13620386476633e-9,-1.0030009479870362e-4,-3.243403248359135e-5,-9.124482475916777e-9,-1.0026481761500761e-4,-3.2235448634192776e-5,-9.114685797381227e-9,-1.002643617789796e-4,-3.210959204158094e-5,-9.108299298278605e-9,-1.0026767382911762e-4,-3.205986487873324e-5,-9.105941746310106e-9,-1.0024717983614368e-4,-3.207681406252085e-5,-9.107401083971613e-9,-1.0018239318013028e-4,-3.214184576455504e-5,-9.111860642617299e-9,-1.0006142614792553e-4,-3.223125875718116e-5,-9.118191582072067e-9,-9.988108258667136e-5,-3.2319691729833556e-5,-9.1251948611398e-9,-9.964632646321523e-5,-3.238278403756544e-5,-9.131729422340635e-9,-9.936964829441685e-5,-3.239938756272473e-5,-9.136742201877834e-9,-9.907040628933112e-5,-3.2353857807257145e-5,-9.139278262243717e-9,-9.877374852922494e-5,-3.22388541842853e-5,-9.138569270716463e-9,-9.850827687016545e-5,-3.2058685656720396e-5,-9.13425646517205e-9,-9.830143939364078e-5,-3.1832365719454527e-5,-9.126703455871307e-9,-9.817223068137955e-5,-3.159432274657247e-5,-9.117234559865558e-9,-9.812252419680496e-5,-3.138997708142053e-5,-9.108071823699427e-9,-9.813089016549055e-5,-3.126452109365012e-5,-9.10182146027846e-9,-9.815412222958905e-5,-3.124710157480261e-5,-9.100604093125194e-9,-9.813914491830552e-5,-3.1337456387429606e-5,-9.105211374499513e-9,-9.804153498796248e-5,-3.150322611607172e-5,-9.11475449547984e-9,-9.784154686536156e-5,-3.1690737195221436e-5,-9.127000792101932e-9,-9.754967528636868e-5,-3.1843765894223964e-5,-9.139172281973027e-9,-9.720055366819144e-5,-3.192085559051927e-5,-9.148776150107598e-9,-9.684015327249356e-5,-3.1904655488520306e-5,-9.154172659673398e-9,-9.651257696551535e-5,-3.180236177111936e-5,-9.154822358487452e-9,-9.62504127431069e-5,-3.163996841124646e-5,-9.151274976782774e-9,-9.60698168291565e-5,-3.145374077091899e-5,-9.144961054288212e-9,-9.596984265486474e-5,-3.128151423757891e-5,-9.137828523893096e-9,-9.593497386265119e-5,-3.115537334164327e-5,-9.131885483864583e-9,-9.593976606922285e-5,-3.109656681303233e-5,-9.128751308860314e-9,-9.595447136657913e-5,-3.111310201829616e-5,-9.129337933414458e-9,-9.595049936624177e-5,-3.119999178987712e-5,-9.133745810921736e-9,-9.590477548725535e-5,-3.134160856925637e-5,-9.141380171958168e-9,-9.580246226255177e-5,-3.151529116825042e-5,-9.151211708597388e-9,-9.563797539391283e-5,-3.16952830703858e-5,-9.162060481302314e-9,-9.541467373049275e-5,-3.185625961327806e-5,-9.172796825714589e-9,-9.514380915860319e-5,-3.197615493895167e-5,-9.182419310694514e-9,-9.48431552537596e-5,-3.2038443093745316e-5,-9.190051974883061e-9,-9.453543133902659e-5,-3.2034182987011704e-5,-9.194952520053085e-9,-9.424633486772374e-5,-3.1964113362905855e-5,-9.19662086089252e-9,-9.400158823504068e-5,-3.18408340759899e-5,-9.195038235111904e-9,-9.382220633420554e-5,-3.169033305608827e-5,-9.19095818861579e-9,-9.371778135278529e-5,-3.155104568024974e-5,-9.186065400464665e-9,-9.367914980804929e-5,-3.1468046822899884e-5,-9.182785199579648e-9,-9.367412170350315e-5,-3.1480918711509026e-5,-9.183626205872267e-9,-9.365156347345576e-5,-3.160755715402989e-5,-9.19020294586336e-9,-9.355668865963729e-5,-3.183175941432533e-5,-9.202419571888166e-9,-9.335267713728581e-5,-3.210430056471749e-5,-9.218371347956345e-9,-9.303667906521569e-5,-3.236020861117679e-5,-9.235103819495216e-9,-9.264032211325917e-5,-3.2543385860012626e-5,-9.249755228307922e-9,-9.221548591093086e-5,-3.262483810785695e-5,-9.26041652356236e-9,-9.181507378196565e-5,-3.260698117914955e-5,-9.266413523353581e-9,-9.147845491400025e-5,-3.251632942914815e-5,-9.268166415699002e-9,-9.122520847559706e-5,-3.239154168921172e-5,-9.266889513425695e-9,-9.105564635912965e-5,-3.227244723700269e-5,-9.2642646836748e-9,-9.095498913811478e-5,-3.219240887699171e-5,-9.262101784399266e-9,-9.08987318910297e-5,-3.217406213098664e-5,-9.261994204243429e-9,-9.085793054099272e-5,-3.222762121230062e-5,-9.265019829464496e-9,-9.080392835417925e-5,-3.2351052738033134e-5,-9.271567916967034e-9,-9.071228168806134e-5,-3.253168391369461e-5,-9.28134185774094e-9,-9.056569168800201e-5,-3.2748874236925676e-5,-9.293522462109239e-9,-9.035578936575062e-5,-3.297739074658915e-5,-9.307015941925984e-9,-9.008365802729651e-5,-3.319108369388331e-5,-9.32068773621464e-9,-8.975916266917992e-5,-3.336636099032471e-5,-9.33350717957054e-9,-8.939940883763627e-5,-3.348509546284864e-5,-9.344592008056796e-9,-8.902663953210632e-5,-3.353691102753202e-5,-9.353211946825554e-9,-8.866569313938621e-5,-3.352090126483869e-5,-9.35883336145802e-9,-8.834103551839693e-5,-3.3446806313605515e-5,-9.361261938630803e-9,-8.807317448099914e-5,-3.333560303798455e-5,-9.360872293875294e-9,-8.787408489854848e-5,-3.321895898344246e-5,-9.35881896249169e-9,-8.774178162211213e-5,-3.313618048205553e-5,-9.357051719661311e-9,-8.765551941425548e-5,-3.312704407820512e-5,-9.357971217288903e-9,-8.75747733839315e-5,-3.3219976944643985e-5,-9.363691049098633e-9,-8.74461410016907e-5,-3.341812218722618e-5,-9.375114762347986e-9,-8.7220065678816e-5,-3.3690479945789706e-5,-9.391311854138805e-9,-8.687212463896635e-5,-3.397702246395055e-5,-9.409699673510456e-9,-8.641654285989432e-5,-3.420979174434094e-5,-9.427069578077248e-9,-8.590181922728967e-5,-3.433967242416912e-5,-9.440848661633535e-9,-8.539061620032401e-5,-3.435314501297649e-5,-9.44984340985916e-9,-8.493672097339013e-5,-3.4271269582614564e-5,-9.454233252297501e-9,-8.45709727893319e-5,-3.413584988272384e-5,-9.45513539359531e-9,-8.429907159057472e-5,-3.399315338192215e-5,-9.454135610822126e-9,-8.410710066635141e-5,-3.388222278476255e-5,-9.452932691116559e-9,-8.39694300761685e-5,-3.382927951155617e-5,-9.453065287658341e-9,-8.385576288840835e-5,-3.384661045247159e-5,-9.455682021020762e-9,-8.373632656338405e-5,-3.39337961074905e-5,-9.461372860972362e-9,-8.358545827544782e-5,-3.407987563331084e-5,-9.470111676055729e-9,-8.338408132706894e-5,-3.426590539557689e-5,-9.481331913003121e-9,-8.312136430352067e-5,-3.446778153328366e-5,-9.494105686910258e-9,-8.279564587432089e-5,-3.465932720987703e-5,-9.507355644814983e-9,-8.241450667287213e-5,-3.481564090403858e-5,-9.520030613693909e-9,-8.19937854235765e-5,-3.491646452503521e-5,-9.531207314372736e-9,-8.155553782746594e-5,-3.494912799250977e-5,-9.540129776878508e-9,-8.112514759519504e-5,-3.491073158250606e-5,-9.546243568285508e-9,-8.072780222779476e-5,-3.480934834136822e-5,-9.549283156140592e-9,-8.038456389393579e-5,-3.466401475530754e-5,-9.549426224657887e-9,-8.010831362600719e-5,-3.450333338545574e-5,-9.54746360191402e-9,-7.989980971585162e-5,-3.4362440274271346e-5,-9.544875278633311e-9,-7.974437782718713e-5,-3.427773727254322e-5,-9.543676237437192e-9,-7.961061805952735e-5,-3.427884237468908e-5,-9.545950110564333e-9,-7.945341861300056e-5,-3.437837958684637e-5,-9.553132576768602e-9,-7.922353858236074e-5,-3.456254513569184e-5,-9.56529984876067e-9,-7.888371631202135e-5,-3.478810345141471e-5,-9.580865713138687e-9,-7.842594949679023e-5,-3.499174125974583e-5,-9.597013547859506e-9,-7.787972052612896e-5,-3.5111823238104886e-5,-9.61077091176288e-9,-7.730339317992335e-5,-3.5112654366270275e-5,-9.620133730535203e-9,-7.676190727235558e-5,-3.4997103078953485e-5,-9.624598331243174e-9,-7.630368913524509e-5,-3.480106932702219e-5,-9.62496228087358e-9,-7.594864786183333e-5,-3.457584341541249e-5,-9.622755990773589e-9,-7.568955618661085e-5,-3.4369955647098174e-5,-9.619710536672963e-9,-7.550120699012476e-5,-3.4218070735318946e-5,-9.617407235355379e-9,-7.53506844299028e-5,-3.4137703834965904e-5,-9.617061902570326e-9,-7.520512620818642e-5,-3.4130887726558557e-5,-9.619389347609227e-9,-7.503635353608889e-5,-3.4187713250424024e-5,-9.624544759331411e-9,-7.482323554456231e-5,-3.4289930549698735e-5,-9.63216195796353e-9,-7.455284746952063e-5,-3.441408243113663e-5,-9.641484197830746e-9,-7.422104933606681e-5,-3.4534311144901265e-5,-9.651545196785234e-9,-7.383266982034839e-5,-3.4625139821498456e-5,-9.661340808730684e-9,-7.340115252227199e-5,-3.466447763315732e-5,-9.669951148188559e-9,-7.29472860281118e-5,-3.4636811794840895e-5,-9.676610258024069e-9,-7.249670181575391e-5,-3.453612755069931e-5,-9.680751536488109e-9,-7.207617225320659e-5,-3.436789907206864e-5,-9.682071150846721e-9,-7.170907254595313e-5,-3.414954611457939e-5,-9.680633872207702e-9,-7.141062395474628e-5,-3.39088790257861e-5,-9.676997430229804e-9,-7.118375946617258e-5,-3.3680346460547944e-5,-9.672282908069223e-9,-7.101650731517465e-5,-3.349931488623629e-5,-9.668098481187566e-9,-7.088172523947388e-5,-3.33948756399492e-5,-9.666247026220778e-9,-7.074007291564022e-5,-3.3381977619494795e-5,-9.668224096412342e-9,-7.054706001923604e-5,-3.345448175111133e-5,-9.674640120668145e-9,-7.026421186175586e-5,-3.358188659485631e-5,-9.68481262676929e-9,-6.987236648803186e-5,-3.371310919852034e-5,-9.69679586348801e-9,-6.938216497629712e-5,-3.3789366876241454e-5,-9.707962916374584e-9,-6.883511643281062e-5,-3.376368965928737e-5,-9.715940864866819e-9,-6.829161852117123e-5,-3.3618736578177726e-5,-9.719434092883315e-9,-6.781005922500603e-5,-3.337302815858778e-5,-9.718519685799377e-9,-6.742756648217968e-5,-3.307197650765509e-5,-9.714369050431293e-9,-6.715167109481134e-5,-3.276964162612763e-5,-9.70868572509175e-9,-6.696431540140377e-5,-3.251149483555875e-5,-9.703181489926008e-9,-6.683272014943683e-5,-3.23249804831107e-5,-9.699229967536756e-9,-6.672046595425307e-5,-3.221830593712131e-5,-9.69768646622021e-9,-6.659514882482948e-5,-3.218413792480631e-5,-9.69883261424372e-9,-6.643222102070501e-5,-3.2204715407059465e-5,-9.702422223220024e-9,-6.621623206383647e-5,-3.225639014403438e-5,-9.707811412099236e-9,-6.594084229704343e-5,-3.231307689206832e-5,-9.714134303646899e-9,-6.560847130759857e-5,-3.234892257240772e-5,-9.720473000120565e-9,-6.522984548096849e-5,-3.2340745725612146e-5,-9.725978398839142e-9,-6.482324202400488e-5,-3.227068092840828e-5,-9.72993539962299e-9,-6.441292964570893e-5,-3.212909927557402e-5,-9.731798587080863e-9,-6.402628163536215e-5,-3.1917364877182857e-5,-9.731239839313383e-9,-6.368937200887575e-5,-3.164953586182567e-5,-9.728232443086724e-9,-6.342148728367543e-5,-3.135192586641782e-5,-9.723155862069091e-9,-6.3229704409613e-5,-3.105968506127635e-5,-9.716864968224381e-9,-6.310518395759158e-5,-3.081035792541784e-5,-9.710646408580894e-9,-6.302274843342547e-5,-3.0635492967811876e-5,-9.706009068758345e-9,-6.294459210654977e-5,-3.055226083848084e-5,-9.704313675315504e-9,-6.282790628516361e-5,-3.0557342633427204e-5,-9.706329094269245e-9,-6.263513206345579e-5,-3.062513212686725e-5,-9.711875217337033e-9]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json new file mode 100644 index 000000000..76c3a68e8 --- /dev/null +++ b/public/js/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1,"startIndex":9000,"numberOfSamples":1000,"samples":[-6.23446137633139e-5,-3.071164556992463e-5,-9.719731332151204e-9,-6.19586809157847e-5,-3.076438157665265e-5,-9.727914890125598e-9,-6.150587794551883e-5,-3.073654937098242e-5,-9.734280833128142e-9,-6.1034943329782044e-5,-3.060168191808949e-5,-9.737216476929997e-9,-6.0601038606681665e-5,-3.036287029042388e-5,-9.736134809126074e-9,-6.024888746053323e-5,-3.0051869736974383e-5,-9.731565682588457e-9,-5.999994090928063e-5,-2.971789522758825e-5,-9.724862066857019e-9,-5.9848834314815545e-5,-2.9411354882677176e-5,-9.71770907732456e-9,-5.976923198886019e-5,-2.916989718887004e-5,-9.711648469978378e-9,-5.972462316432335e-5,-2.9011586735457638e-5,-9.707751149758674e-9,-5.967870819510338e-5,-2.8935387308633597e-5,-9.70647628370283e-9,-5.9602228253192676e-5,-2.89259970676844e-5,-9.707695687073557e-9,-5.947591112549622e-5,-2.8959747148304846e-5,-9.710838540242717e-9,-5.929077173354268e-5,-2.9009608654381066e-5,-9.715094525623705e-9,-5.904719567985657e-5,-2.9048773862964067e-5,-9.71960852884578e-9,-5.8753773367436014e-5,-2.9053136374370507e-5,-9.72361187781754e-9,-5.842624685184096e-5,-2.9003338061866847e-5,-9.726475623750488e-9,-5.8086360356536405e-5,-2.8886966009567993e-5,-9.727714468149827e-9,-5.776002754298137e-5,-2.870105742876016e-5,-9.726995392498005e-9,-5.74741651198525e-5,-2.845449366073143e-5,-9.72419549652686e-9,-5.725183467800746e-5,-2.8169256139263426e-5,-9.71951151762819e-9,-5.7106100541113594e-5,-2.7879041181757347e-5,-9.713564114276547e-9,-5.7034227249689176e-5,-2.7623923778951554e-5,-9.707405962417725e-9,-5.7014849044397024e-5,-2.744114170465607e-5,-9.702361282140308e-9,-5.701050918052841e-5,-2.735425399096375e-5,-9.699698830847758e-9,-5.697609718243167e-5,-2.7364576162975244e-5,-9.700232368303819e-9,-5.6871038817050416e-5,-2.7448633497066595e-5,-9.704002376450864e-9,-5.667116781282969e-5,-2.7563221973356075e-5,-9.710182005555758e-9,-5.637617678776307e-5,-2.765667320675218e-5,-9.717264987992663e-9,-5.601027591624169e-5,-2.7682736375781414e-5,-9.723480590272698e-9,-5.561600483675091e-5,-2.7612936285683867e-5,-9.727297528384073e-9,-5.524303937361784e-5,-2.7443956618506687e-5,-9.727850312943274e-9,-5.493513840003189e-5,-2.7197955922928915e-5,-9.725154651913568e-9,-5.471906725691787e-5,-2.6915691607899557e-5,-9.72005407261872e-9,-5.4598911019501836e-5,-2.6644703453075705e-5,-9.713934027115233e-9,-5.455730383150816e-5,-2.64266189741069e-5,-9.708311206523093e-9,-5.4562420129529145e-5,-2.6287768574123053e-5,-9.704433569738843e-9,-5.457752704343605e-5,-2.623553492658023e-5,-9.703008653848694e-9,-5.456957532646678e-5,-2.6260220049275858e-5,-9.704121931504624e-9,-5.451464446828428e-5,-2.6340246599419492e-5,-9.707335422027123e-9,-5.439995050230707e-5,-2.6448131932234545e-5,-9.711898924726039e-9,-5.422339633670513e-5,-2.6555532499365036e-5,-9.716981565914689e-9,-5.399194066121386e-5,-2.663678226094542e-5,-9.721842938139277e-9,-5.37197431734721e-5,-2.667116151947731e-5,-9.725902670942154e-9,-5.342650643560834e-5,-2.6644534881516494e-5,-9.728727486336505e-9,-5.313587618209729e-5,-2.655097739679037e-5,-9.729995225631237e-9,-5.287334596399925e-5,-2.639462790136861e-5,-9.72950469114869e-9,-5.266297173036476e-5,-2.619143036945524e-5,-9.727266597271218e-9,-5.252243553464907e-5,-2.596971389861331e-5,-9.723645863256587e-9,-5.245681707745194e-5,-2.5767877042401753e-5,-9.719459836489783e-9,-5.245295661436816e-5,-2.562748717562385e-5,-9.715914975816248e-9,-5.247784135201871e-5,-2.558182145120203e-5,-9.714321344765071e-9,-5.248433005910525e-5,-2.5643167778965002e-5,-9.71565414605581e-9,-5.242443255043768e-5,-2.5794981125069657e-5,-9.720157774265109e-9,-5.2265507859568556e-5,-2.599424952537427e-5,-9.727205074415084e-9,-5.200192042456586e-5,-2.6184413784918434e-5,-9.735490249337039e-9,-5.165673914621095e-5,-2.6313264574752945e-5,-9.743443035999223e-9,-5.127351919687404e-5,-2.6348054742647138e-5,-9.749667801257827e-9,-5.0902725125982576e-5,-2.6282713166082426e-5,-9.75326720347049e-9,-5.0588284184408174e-5,-2.6136491038281e-5,-9.754009356253531e-9,-5.0357993370069754e-5,-2.5946393683606597e-5,-9.752342082004198e-9,-5.0219232993974796e-5,-2.5756667981670227e-5,-9.749262933352734e-9,-5.015982106504244e-5,-2.5608303159542794e-5,-9.746061951023208e-9,-5.0152906269271166e-5,-2.5530759317958693e-5,-9.743991748123502e-9,-5.016424167598713e-5,-2.5537314473559887e-5,-9.743957229389409e-9,-5.015987799753719e-5,-2.5624510658344092e-5,-9.746324283706057e-9,-5.011244865581866e-5,-2.5775123374663638e-5,-9.750904754883811e-9,-5.000492623338741e-5,-2.596321755352963e-5,-9.757101352467545e-9,-4.9831698223674514e-5,-2.6159651038122543e-5,-9.764134932390347e-9,-4.959756293540752e-5,-2.6336794409959954e-5,-9.77125471218565e-9,-4.9315586018946434e-5,-2.6471880876366733e-5,-9.777857341227311e-9,-4.900467765247903e-5,-2.6549048296052148e-5,-9.78350042703132e-9,-4.868733505302663e-5,-2.6560573645593127e-5,-9.787854781108205e-9,-4.8387507995782974e-5,-2.6507830841147043e-5,-9.790671063781774e-9,-4.812820015775109e-5,-2.640221991296037e-5,-9.791823659827242e-9,-4.792822925558667e-5,-2.626586053182433e-5,-9.791440657019166e-9,-4.7797688235235664e-5,-2.6131146731513124e-5,-9.790058210807481e-9,-4.7732434736905576e-5,-2.603750245204811e-5,-9.788680030956192e-9,-4.770949127982192e-5,-2.602362103765612e-5,-9.788622629016349e-9,-4.768699088683465e-5,-2.6115132800391774e-5,-9.791115783371455e-9,-4.7612514838547504e-5,-2.6311416798164514e-5,-9.796791594098938e-9,-4.744004786748611e-5,-2.6579162837951064e-5,-9.805340798551625e-9,-4.714894275327642e-5,-2.68596183979786e-5,-9.81558384504337e-9,-4.675409408145582e-5,-2.7088789244523173e-5,-9.82593563524379e-9,-4.63007016373858e-5,-2.7220538865820394e-5,-9.834966162719081e-9,-4.584698755933853e-5,-2.7240537539346205e-5,-9.841756608580806e-9,-4.544489497457328e-5,-2.716612358051693e-5,-9.845989371386469e-9,-4.512720869220526e-5,-2.7035870592725035e-5,-9.847894204339548e-9,-4.490350340869352e-5,-2.6895966227287968e-5,-9.848150476851382e-9,-4.4762813526265216e-5,-2.6788619054627426e-5,-9.847749002642056e-9,-4.467974944751262e-5,-2.6744535726717833e-5,-9.847788854326644e-9,-4.4621551529998665e-5,-2.67793858092927e-5,-9.849227199555758e-9,-4.4554711427458415e-5,-2.6893402551401513e-5,-9.852654250504786e-9,-4.445048423814215e-5,-2.7073346152810357e-5,-9.858177344922723e-9,-4.428881976659844e-5,-2.7296183901073322e-5,-9.865455416384905e-9,-4.406041691263042e-5,-2.753370714423536e-5,-9.873857188997167e-9,-4.376691930956634e-5,-2.7757247847319554e-5,-9.882664459772306e-9,-4.3419538053046194e-5,-2.7941805347373132e-5,-9.891234414250543e-9,-4.303660454191013e-5,-2.8069095603610774e-5,-9.899069051818642e-9,-4.264069174434751e-5,-2.8129368229640377e-5,-9.90579879900749e-9,-4.2255769073996823e-5,-2.8122238695490774e-5,-9.911139409555858e-9,-4.1904486407320275e-5,-2.8056896725693683e-5,-9.914892497705433e-9,-4.160543814119917e-5,-2.7951878164291356e-5,-9.9170275201943e-9,-4.137010911506443e-5,-2.783431847991674e-5,-9.917825281106567e-9,-4.119921521788755e-5,-2.7738086497587085e-5,-9.917998408072091e-9,-4.107878264055179e-5,-2.769954625238172e-5,-9.91867215364473e-9,-4.097763615938715e-5,-2.7749689768273665e-5,-9.921139370467895e-9,-4.0849404904229084e-5,-2.7902797854934692e-5,-9.926407792259145e-9,-4.0642441010064514e-5,-2.8145057541786642e-5,-9.934713814169385e-9,-4.031787237599612e-5,-2.8430538779043658e-5,-9.945298702787681e-9,-3.9868810330146976e-5,-2.8691908882654146e-5,-9.9566665170196e-9,-3.932833565054289e-5,-2.8864961803409028e-5,-9.967212572062042e-9,-3.875854394725441e-5,-2.891437192128338e-5,-9.975808367109482e-9,-3.822616913640833e-5,-2.8845330760606945e-5,-9.98201180056612e-9,-3.777943806979286e-5,-2.869613572190929e-5,-9.98594693625295e-9,-3.743725664498184e-5,-2.8519754654329504e-5,-9.98810862349428e-9,-3.719134397363045e-5,-2.8366020937962917e-5,-9.989234069973608e-9,-3.701525587842487e-5,-2.8270836040562245e-5,-9.99020103086058e-9,-3.6874340673262915e-5,-2.8252557552493445E-05,-9.991881928374356e-9,-3.6733633947777075e-5,-2.831302992680173e-5,-9.994958846882884e-9,-3.656313374093195e-5,-2.844073037686516e-5,-9.999766501751608e-9,-3.634100881655143e-5,-2.8614561011922926e-5,-1.000623541918002e-8,-3.605533964519792e-5,-2.8807801587885512e-5,-1.0013957531492734e-8,-3.570465334841229e-5,-2.8992079074828512e-5,-1.0022338457116705e-8,-3.529734816247884e-5,-2.914116709250595e-5,-1.0030762046344616e-8,-3.485006993645185e-5,-2.92343805861204e-5,-1.0038702615702036e-8,-3.4385142229079815e-5,-2.9259238226273796e-5,-1.0045757091094494e-8,-3.3927359255493513e-5,-2.9213049460563632e-5,-1.0051621058011619e-8,-3.350058407226353e-5,-2.9103332940466208e-5,-1.0056066702504657e-8,-3.3124457063630464e-5,-2.8947189972084985e-5,-1.0058976990550987e-8,-3.2811366323358286e-5,-2.8769735723801098e-5,-1.0060445345746964e-8,-3.256375787328263e-5,-2.8601623226662544e-5,-1.0060897143616392e-8,-3.2371816097269846e-5,-2.8475488693954947e-5,-1.0061145174295647e-8,-3.221189052935458e-5,-2.842075314931494e-5,-1.0062287880142022e-8,-3.204694100578321e-5,-2.8456309260332803e-5,-1.0065415316236122e-8,-3.183109485034811e-5,-2.8581804503757855e-5,-1.007118993199182e-8,-3.152026648812525e-5,-2.877048997646703e-5,-1.0079484318373714e-8,-3.108835216793204e-5,-2.8969238348406404e-5,-1.0089312218910324e-8,-3.0542974461299724e-5,-2.911131486583659e-5,-1.0099182540644034e-8,-2.992994780628945e-5,-2.9140766616140142e-5,-1.0107715115987456e-8,-2.9319253695152042e-5,-2.9036541761832005e-5,-1.0114124886146775e-8,-2.877809393386789e-5,-2.8820960229194144e-5,-1.0118307228329601e-8,-2.8346852894650365e-5,-2.8547443251060635e-5,-1.0120625267983092e-8,-2.803055359693186e-5,-2.8277133796314353e-5,-1.0121677071264258e-8,-2.7805852942645365e-5,-2.8058810315545394e-5,-1.0122171969069935e-8,-2.7634885870697304e-5,-2.7919586021142028e-5,-1.0122851241518537e-8,-2.7477784344898564e-5,-2.7865136011979794e-5,-1.0124374041290903e-8,-2.73005681768325e-5,-2.788470342701019e-5,-1.0127178785398857e-8,-2.707876938176712e-5,-2.7957027015369363e-5,-1.0131386580299943e-8,-2.6798428484780897e-5,-2.8055381987984983e-5,-1.0136799525049531e-8,-2.6455880523470634e-5,-2.8151496961065997e-5,-1.0142993650083491e-8,-2.6056989964450905e-5,-2.8218751221123247e-5,-1.0149458252670142e-8,-2.5615936366383297e-5,-2.82350089513246e-5,-1.0155717100330529e-8,-2.5153423477268736e-5,-2.8185218808561722e-5,-1.0161389371918144e-8,-2.469410784372093e-5,-2.80636100261117e-5,-1.0166188348621973e-8,-2.426321414819864e-5,-2.787501653366006e-5,-1.0169893731105325e-8,-2.3882668480529245e-5,-2.763487038497263e-5,-1.01723489245492e-8,-2.3567286234310905e-5,-2.7367666919278267e-5,-1.017351616196784e-8,-2.332156842397692e-5,-2.7103905438103306e-5,-1.017357593949472e-8,-2.3137641969046203e-5,-2.6875705732266855e-5,-1.0173013410180529e-8,-2.299476051584912e-5,-2.6711500845227497E-05,-1.017261329344951e-8,-2.2860705750699917e-5,-2.663018704620786e-5,-1.0173308322342749e-8,-2.2695665047880168e-5,-2.663518611623227e-5,-1.017589092482202e-8,-2.2459337873909423e-5,-2.6709603552242226e-5,-1.0180685150351775e-8,-2.212140867809451e-5,-2.6814846177850375e-5,-1.0187337375833014e-8,-2.1673671732367735e-5,-2.6895869468464378e-5,-1.0194873028803975e-8,-2.1139047774474032e-5,-2.68952440266726e-5,-1.0202044877588625e-8,-2.0570501852735378e-5,-2.6773653165214853e-5,-1.0207808391111026e-8,-2.0035779945461135e-5,-2.6527596262472074e-5,-1.0211650200164242e-8,-1.95929968856085e-5,-2.6192859779762135e-5,-1.0213616507492086e-8,-1.9270119523824262e-5,-2.5830075681245798e-5,-1.021413380368983e-8,-1.905933904298975e-5,-2.5500927912146165e-5,-1.021381348729072e-8,-1.892657043021345e-5,-2.5248592103061754e-5,-1.0213321886218076e-8,-1.8827443033921196e-5,-2.5090146839981592e-5,-1.0213277816654462e-8,-1.8720869387209668e-5,-2.5019585350191788e-5,-1.0214142627298827e-8,-1.8576464284264876e-5,-2.5015668692887527e-5,-1.0216127260583814e-8,-1.8376611843414558e-5,-2.504980617624261e-5,-1.0219166169699748e-8,-1.8115567499788158e-5,-2.5091878000311348e-5,-1.022297593256864e-8,-1.77975879404375e-5,-2.511396168920078e-5,-1.0227169183059294e-8,-1.743505293856026e-5,-2.5092754555130803e-5,-1.0231368833090536e-8,-1.7046707371919865e-5,-2.5011456803880348e-5,-1.0235274298180084e-8,-1.6655740859370975e-5,-2.4861532084328557e-5,-1.023866489114029e-8,-1.6287282974612118e-5,-2.464432330060455e-5,-1.0241365206381334e-8,-1.596501252310151e-5,-2.4372025169081737e-5,-1.024321801882643e-8,-1.570702113141324e-5,-2.406725812436014e-5,-1.0244103967347291e-8,-1.552160951313559e-5,-2.376063009939192e-5,-1.0244017040254267e-8,-1.5404061827608693e-5,-2.3486101581026236e-5,-1.0243161489551215e-8,-1.5335535519959935e-5,-2.327460877469775e-5,-1.0242006517918706e-8,-1.5284891552236783e-5,-2.314712391361825e-5,-1.0241237021644048e-8,-1.5213603604440276e-5,-2.3108728191468194e-5,-1.0241580512137116e-8,-1.5083201808082548e-5,-2.3145172717351075e-5,-1.0243555303704379e-8,-1.4864218209902013e-5,-2.32231622645874e-5,-1.0247243960115732e-8,-1.4545036900022462e-5,-2.3295366098052616e-5,-1.0252208937023976e-8,-1.4138251105215157e-5,-2.3310524416851092e-5,-1.0257614027791928e-8,-1.368146422366092e-5,-2.322748601135849e-5,-1.0262512342819018e-8,-1.322989051622768e-5,-2.3029486169829173e-5,-1.0266164007946504e-8,-1.2840855736179594e-5,-2.2732545405069593e-5,-1.0268236392507776e-8,-1.2555169579427251e-5,-2.238231187733215e-5,-1.0268825150242116e-8,-1.2383914527037539e-5,-2.2038912589209548e-5,-1.0268347802691693e-8,-1.2307249887307113e-5,-2.1756613087809175e-5,-1.0267393640885903e-8,-1.2284812012886326e-5,-2.156813016555327e-5,-1.0266572608916944e-8,-1.2270971936084373e-5,-2.1479552451146128e-5,-1.0266376938115249e-8,-1.2227457536302338e-5,-2.1474911265539056e-5,-1.0267077590847187e-8,-1.2129749205895953e-5,-2.1525263563921737e-5,-1.0268689111523196e-8,-1.1967892292312714e-5,-2.1597450054922837e-5,-1.0271017429226725e-8,-1.174422548889918e-5,-2.166023896731968e-5,-1.0273764819876203e-8,-1.1470257655664928e-5,-2.1687790859828148e-5,-1.0276640831595281e-8,-1.1163872918540682e-5,-2.16613873970703e-5,-1.0279429528370393e-8,-1.0847087574647729e-5,-2.1570437594962387e-5,-1.0281991235380007e-8,-1.0544002989509588e-5,-2.141339145539365e-5,-1.0284216045362617e-8,-1.0278390240021108e-5,-2.1198652865103365e-5,-1.0285974464584003e-8,-1.0070447996162899e-5,-2.0945037086426453e-5,-1.028711043152021e-8,-9.932690801530476e-6,-2.068088652200719e-5,-1.028749799157689e-8,-9.86563644678306e-6,-2.0440844298465255e-5,-1.0287141168707594e-8,-9.854764583517574e-6,-2.0259766952748523e-5,-1.028626273479879e-8,-9.870619619233569e-6,-2.01644508838674e-5,-1.0285319481300823e-8,-9.8733786193769e-6,-2.0165339281957866e-5,-1.0284908068411034e-8,-9.821625784056985e-6,-2.0251252759600633e-5,-1.0285579389915266e-8,-9.683168074476673e-6,-2.0389683901633625e-5,-1.0287635145367275e-8,-9.444561568473699e-6,-2.053338593781372e-5,-1.0290997813059452e-8,-9.116224347150207e-6,-2.063177957102368e-5,-1.0295216467786993e-8,-8.731339354531077e-6,-2.0644132770129046e-5,-1.0299605534523448e-8,-8.338457137712565e-6,-2.055092931652111e-5,-1.030345694288755e-8,-7.98933323349338e-6,-2.0360097137701205e-5,-1.0306242488373733e-8,-7.72506620945875e-6,-2.0105711184980106e-5,-1.0307743277604975e-8,-7.564775484823967e-6,-1.983876173135379e-5,-1.0308080804889762e-8,-7.500921681843046e-6,-1.9612526930376168e-5,-1.0307656350511951e-8,-7.503139782780013e-6,-1.946768074753192e-5,-1.0307019062928134e-8,-7.528820005869814e-6,-1.9422601531502887e-5,-1.0306699910081859e-8,-7.535794278292598e-6,-1.947177763761887e-5,-1.0307063665786794e-8,-7.492269894596984e-6,-1.959128917115925e-5,-1.0308233957531626e-8,-7.381486721375345e-6,-1.974765598713154e-5,-1.0310113143840973e-8,-7.201498312177095e-6,-1.990624677978869e-5,-1.031247670749912e-8,-6.962107167616799e-6,-2.0037161470478344e-5,-1.031508699283958e-8,-6.680993863389137e-6,-2.011834907841151e-5,-1.0317770097194946e-8,-6.380273436048308e-6,-2.0136768138740442e-5,-1.032042648831648e-8,-6.0838277247680745e-6,-2.0088636779103125e-5,-1.0322983928965702e-8,-5.815108860030673e-6,-1.9979521669310532e-5,-1.0325335032912242e-8,-5.594817165694961e-6,-1.9824453315227466e-5,-1.0327309582072665e-8,-5.437930590768389e-6,-1.9647685779100526e-5,-1.0328712972235372e-8,-5.349939383493514e-6,-1.948122710398913e-5,-1.0329423078834094e-8,-5.3228826376455855e-6,-1.936095973346019e-5,-1.0329498903693821e-8,-5.332864110333339e-6,-1.9319532507723174e-5,-1.0329235310495402e-8,-5.341522628441661e-6,-1.9376734531154476e-5,-1.0329117209882681e-8,-5.303353476159965e-6,-1.953039383977173e-5,-1.0329676054612896e-8,-5.17823507516099e-6,-1.9752454282041895e-5,-1.0331308373795825e-8,-4.945019491343102e-6,-1.9993909540435985e-5,-1.0334140752283602e-8,-4.610138350751177e-6,-2.019829297048899e-5,-1.0337995748268947e-8,-4.206914461260477e-6,-2.0318725218684748e-5,-1.0342450652703292e-8,-3.7858145479968068e-6,-2.033162353691172e-5,-1.0346947057188743e-8,-3.3999204340748854e-6,-2.0242322080569558e-5,-1.0350921705190584e-8,-3.090978422107698e-6,-2.0081863583639396e-5,-1.035394277316305e-8,-2.879939472361453e-6,-1.9897267305424163e-5,-1.0355827001534681e-8,-2.7637461044958318e-6,-1.9738805558921248e-5,-1.035669501194934e-8,-2.7182918430026305e-6,-1.9647845328083208e-5,-1.0356930437472887e-8,-2.706078182001334e-6,-1.964815539595743e-5,-1.0357046501868146e-8,-2.6861280184476436e-6,-1.9742416449230415e-5,-1.035751449251452e-8,-2.623356484294166e-6,-1.9914165200530054e-5,-1.0358627867133187e-8,-2.495051690997066e-6,-2.0133848461016657e-5,-1.0360457505484327e-8,-2.2933525948354025e-6,-2.0366613404506264e-5,-1.0362901596694904e-8,-2.024101506874866e-6,-2.057945330065126e-5,-1.036578541391425e-8,-1.703438490176005e-6,-2.0746243231691587e-5,-1.0368950180661795e-8,-1.353670649395772e-6,-2.085034603832491e-5,-1.0372285844231933e-8,-9.995092065925437e-7,-2.0885306200609506e-5,-1.0375703780683756e-8,-6.650892091385618e-7,-2.085449651147433e-5,-1.0379079635308058e-8,-3.715968940342627e-7,-2.0770428531116953e-5,-1.0382217349452199e-8,-1.3503446063713592e-7,-2.065397945826239e-5,-1.0384871607393536e-8,3.635039213145238e-8,-2.053328258334241e-5,-1.0386834569506982e-8,1.451554926153161e-7,-2.0441523455916053e-5,-1.038805057918194e-8,2.0789280435282035e-7,-2.041250688557186e-5,-1.0388697272151172e-8,2.56355366977416e-7,-2.047315309918241e-5,-1.0389176849844525e-8,3.3464806040304173e-7,-2.0633626967615144e-5,-1.039000389350313e-8,4.896682666698106e-7,-2.0878520990299207e-5,-1.0391635630909641e-8,7.558554175414243e-7,-2.1164864508976094e-5,-1.0394332164603972e-8,1.1400137473200676e-6,-2.143168146622313e-5,-1.039811235383832e-8,1.6149011662753742e-6,-2.161972150492724e-5,-1.040278944838272e-8,2.1267889603254867e-6,-2.169252145724684e-5,-1.0408016370122865e-8,2.613791080986166e-6,-2.1648099623553002e-5,-1.0413314414030032e-8,3.0255611796536674e-6,-2.1516600834236966e-5,-1.0418136661790554e-8,3.335896657502066e-6,-2.1347475609993867e-5,-1.0422008383847894e-8,3.5455028334495375e-6,-2.1193595706788387e-5,-1.0424695027343131e-8,3.6771057866818085e-6,-2.1098205117584193e-5,-1.0426297045670991e-8,3.766730983759074e-6,-2.1087212163472165e-5,-1.0427207186394536e-8,3.8543118584060025e-6,-2.116678673670468e-5,-1.0427955059979016e-8,3.97556153049034e-6,-2.1325112935168602e-5,-1.0429021553114722e-8,4.156112148298531e-6,-2.1536968915716497e-5,-1.043071137120023e-8,4.4083884967787636e-6,-2.1769858276116903e-5,-1.0433124870667529e-8,4.731238299426264e-6,-2.199039967092715e-5,-1.0436213182297564e-8,5.111871251593329e-6,-2.216982148981789e-5,-1.0439862617282118e-8,5.5293180610449155e-6,-2.228781360239789e-5,-1.0443951826756803e-8,5.958483105439134e-6,-2.2334471279948907e-5,-1.0448355486385057e-8,6.3739591557127685e-6,-2.2310548005592115e-5,-1.0452908274701619e-8,6.753167656295747e-6,-2.2226596306971968e-5,-1.0457371227043073e-8,7.0788641774440105e-6,-2.2101555638768476e-5,-1.0461442256004719e-8,7.341270437022586e-6,-2.19610250197676e-5,-1.0464828194753588e-8,7.540107011405848e-6,-2.18351220744106e-5,-1.0467357564690674e-8,7.686656069240698e-6,-2.1755428418429816e-5,-1.0469080980364281e-8,7.805377469636384e-6,-2.175014455624397e-5,-1.047029980195859e-8,7.933563002743403e-6,-2.1836872868918745e-5,-1.0471493607166954e-8,8.116719413656968e-6,-2.2013889674084526e-5,-1.0473170238320335e-8,8.397782946960609e-6,-2.2253242470900754e-5,-1.0475713376965965e-8,8.801167458084262e-6,-2.2501424654771112e-5,-1.0479313312473675e-8,9.31809147430383e-6,-2.2692544610459407e-5,-1.0483994091602052e-8,9.903277804372193e-6,-2.2771894060168208e-5,-1.0489651043077342e-8,1.0488693236733184e-5,-2.2718401944810526e-5,-1.0496011071352977e-8,1.1008517592282977e-5,-2.2552507598399298e-5,-1.0502567400688094e-8,1.14214527653244e-5,-2.2325484053898436e-5,-1.0508639692043991e-8,1.1719729539192924e-5,-2.2098427892878435e-5,-1.051360321451119e-8,1.192434757606461e-5,-2.192293983959106e-5,-1.0517149141774825e-8,1.2073148493867486e-5,-2.1830348879371115e-5,-1.0519399549919799e-8,1.2208507379845121e-5,-2.1829582167914723e-5,-1.0520823108331641e-8,1.2368142087573956e-5,-2.1910517424363665e-5,-1.0522026852220468e-8,1.2579647860001937e-5,-2.204963465047748e-5,-1.0523548294514526e-8,1.2858046046948135e-5,-2.2216044306126058e-5,-1.052573427092128e-8,1.3205504635807662e-5,-2.2377097194277054e-5,-1.0528728383253077e-8,1.3612660353343853e-5,-2.2503232700248113e-5,-1.0532528837699294e-8,1.4061128311368573e-5,-2.257179941745656e-5,-1.053705767622001e-8,1.4526835423976653e-5,-2.2569659248670465e-5,-1.0542194374134102e-8,1.4983796312142356e-5,-2.2494425657141477e-5,-1.0547763574333112e-8,1.5407831934948618e-5,-2.2354282969079747e-5,-1.0553504640982075e-8,1.5779770461427512e-5,-2.2166624359187616e-5,-1.0559067684047334e-8,1.608797482690634e-5,-2.195590135189993e-5,-1.0564065337397685e-8,1.6330245854374478e-5,-2.1750905552668204e-5,-1.0568177866410433e-8,1.6515130621988764e-5,-2.1581513602797013e-5,-1.0571271898841906e-8,1.6662595891771928e-5,-2.1474755707688038e-5,-1.0573475716392125e-8,1.680367989659793e-5,-2.144982680559584e-5,-1.0575164031555221e-8,1.6977991855744892e-5,-2.15119081550659e-5,-1.0576851619497795e-8,1.7227451460833117e-5,-2.164590037929872e-5,-1.0579043607594197e-8,1.758528349482335e-5,-2.1813063305720084e-5,-1.0582122319913347e-8,1.8061786594786307e-5,-2.1955189701945334e-5,-1.058632473338257e-8,1.8632948981106676e-5,-2.200995658499017e-5,-1.0591773118012249e-8,1.9241195983456193e-5,-2.193466323120593e-5,-1.0598445172373046e-8,1.981317133003406e-5,-2.1726452282952587e-5,-1.0606040069575834e-8,2.0287448616256157e-5,-2.1425281858291863e-5,-1.061388459734303e-8,2.0636332778655594e-5,-2.109672690297479e-5,-1.0621077002227759e-8,2.087033260256244e-5,-2.0805852875933422e-5,-1.0626847060734854e-8,2.1026869693195923e-5,-2.0597119217422514e-5,-1.0630882019558624e-8,2.115329294074093e-5,-2.0487273010198692e-5,-1.0633405474768798e-8,2.129300028400665e-5,-2.0468775249628576e-5,-1.0635008899056331e-8,2.1477766769687902e-5,-2.0517857674518222e-5,-1.0636384654839218e-8,2.172530639983127e-5,-2.0602735888928814e-5,-1.0638109815842078e-8,2.203989369531137e-5,-2.0690072956350867e-5,-1.0640550610319622e-8,2.2414327228279076e-5,-2.0749586688981025e-5,-1.0643876480653403e-8,2.2832428864176618e-5,-2.075731437602081e-5,-1.0648123545462657e-8,2.327186373709147e-5,-2.06979052512023e-5,-1.065324691100052e-8,2.370725263408254e-5,-2.056607264478361e-5,-1.065912813728469e-8,2.4113571523498897e-5,-2.0367140342581537e-5,-1.0665546197757955e-8,2.4469666599175597e-5,-2.011644324456059e-5,-1.067215081453571e-8,2.4761457155718238e-5,-1.9837455761494462e-5,-1.0678483547801098e-8,2.4984396740016067e-5,-1.9558825643028435e-5,-1.0684064625935296e-8,2.5144939672969598e-5,-1.9310587473940774e-5,-1.0688525639022025e-8,2.5260818881569855e-5,-1.9119802585786575e-5,-1.06917361236997e-8,2.535994562171527e-5,-1.9005914717674657e-5,-1.069386581323808e-8,2.5477696466233576e-5,-1.897609088271257e-5,-1.0695349149176802e-8,2.5652094341733997e-5,-1.902096367210599e-5,-1.0696767956414568e-8,2.5916298087693046e-5,-1.9111975005796678e-5,-1.0698709732170148e-8,2.628859728374691e-5,-1.9202643001807574e-5,-1.0701666562329869e-8,2.6762094197675117e-5,-1.9236556751696734e-5,-1.0705996336353121e-8,2.729911355674748e-5,-1.9163344524585584e-5,-1.0711891767678148e-8,2.783684602254258e-5,-1.895885387153898e-5,-1.0719277613221644e-8,2.8306670586864564e-5,-1.8639334239086277e-5,-1.072766183557865e-8,2.8659855505782475e-5,-1.8258763113995928e-5,-1.073612159190717e-8,2.8885279659063856e-5,-1.7888184927921706e-5,-1.0743575505291491e-8,2.9009231738796605e-5,-1.7588764782654586e-5,-1.0749225136080199e-8,2.908000233439939e-5,-1.7393518711195572e-5,-1.0752864147570606e-8,2.914855079008243e-5,-1.7304111401313012e-5,-1.0754868997586099e-8,2.9254770735155143e-5,-1.7298721919266967e-5,-1.0755947029287413e-8,2.9421960148790195e-5,-1.73433769434448e-5,-1.0756840443938963e-8,2.9657262395368594e-5,-1.7401543433202763e-5,-1.075813349050785e-8,2.9954830790562838e-5,-1.7440335048629465e-5,-1.0760197584755174e-8,3.0299471035757358e-5,-1.7433879737981824e-5,-1.0763229561035464e-8,3.066988743140981e-5,-1.7365039408173015e-5,-1.0767308977273792e-8,3.104156445903691e-5,-1.7226340848682806e-5,-1.0772421289059723e-8,3.138958150404849e-5,-1.7020431608455362e-5,-1.0778433463519163e-8,3.169160978062888e-5,-1.67599800034654e-5,-1.0785050830896731e-8,3.193113385062856e-5,-1.6466649719056538e-5,-1.0791801522036606e-8,3.2100549457274216e-5,-1.6168735086317945e-5,-1.0798090040294278e-8,3.2203473041458363e-5,-1.5897357896149383e-5,-1.080332573716205e-8,3.225558795119785e-5,-1.568153341658853e-5,-1.0807089151843031e-8,3.2283527758016355e-5,-1.5542734995758057e-5,-1.0809272801144117e-8,3.232156973954858e-5,-1.548986537631878e-5,-1.0810136690642487e-8,3.24062788787755e-5,-1.551564386066977e-5,-1.0810253821627843E-08,3.256954672694955e-5,-1.5595319915829232e-5,-1.0810370807169095e-8,3.2830743045217534e-5,-1.5688646392023816e-5,-1.0811243374832355e-8,3.318930936264058e-5,-1.5746136030541182e-5,-1.0813499406816032e-8,3.362016828548337e-5,-1.572010074949781e-5,-1.0817540474292183e-8,3.4075238666891787e-5,-1.5579179787124913e-5,-1.0823450353064908e-8,3.449382518613816e-5,-1.532196370613026e-5,-1.0830892582439516e-8,3.482107455406541e-5,-1.498254328611866e-5,-1.0839063244369992e-8,3.502767239053273e-5,-1.4622079522363778e-5,-1.0846829814097262e-8,3.5120439857015004e-5,-1.4307820231652071e-5,-1.085309302508078e-8,3.51375862864246e-5,-1.4089687106817873e-5,-1.085719959088525e-8,3.513199200269295e-5,-1.3986345854532377e-5,-1.085914650566585e-8,3.51525500412995e-5,-1.3985560988209588e-5,-1.085947705163363e-8,3.523209339490654e-5,-1.4054646803086456e-5,-1.0858988747294016e-8,3.5384088933798624e-5,-1.4153334684894148e-5,-1.0858452300955869e-8,3.560538153213612e-5,-1.4243709791482467e-5,-1.0858457682387729e-8,3.5881218350812025e-5,-1.4295764431560704e-5,-1.0859389106431877e-8,3.619005612992247e-5,-1.4289538747822578e-5,-1.0861464399875234e-8,3.650727263331189e-5,-1.4215445163763979e-5,-1.0864770150441248e-8,3.680795793798622e-5,-1.4073968871802461e-5,-1.0869255064842456e-8,3.7069338849790505e-5,-1.3875233842953704e-5,-1.0874690311021376e-8,3.7273324238066565e-5,-1.3638322204225281e-5,-1.0880636211450608e-8,3.740935211446729e-5,-1.338984019635138e-5,-1.0886460859978193e-8,3.747723555199965e-5,-1.3161108246832657e-5,-1.0891439508632244e-8,3.748918890039127e-5,-1.2983612439641286e-5,-1.0894923864558378e-8,3.746992648426565e-5,-1.2882969889767162e-5,-1.0896531846094513e-8,3.745388166964016e-5,-1.2872486930655807e-5,-1.089628939077259e-8,3.7479301400060466e-5,-1.2948111531254483e-5,-1.089466332568615e-8,3.758006931596514e-5,-1.3086710784613064e-5,-1.0892467653005773e-8,3.7777099336497654e-5,-1.3248905734680901e-5,-1.0890674230236611e-8,3.807156828641263e-5,-1.3386503835473725e-5,-1.0890190192257392e-8,3.844207700891592e-5,-1.3453370708504295e-5,-1.0891659080748418e-8,3.8847217212184006e-5,-1.341755372714709e-5,-1.0895313751720727e-8,3.9234030267991595e-5,-1.3271607631699584e-5,-1.090089279363746e-8,3.955132226947631e-5,-1.3037539781839813e-5,-1.0907643242370493e-8,3.976462669241938e-5,-1.2763223288738137e-5,-1.0914452499003047e-8,3.9867493531828635e-5,-1.250952451713426e-5,-1.0920130006578416e-8,3.988372523989806e-5,-1.2331758085782543e-5,-1.0923768775661982e-8,3.9858740281902724e-5,-1.226291312067013e-5,-1.0925025267279314e-8,3.98438771345933e-5,-1.2305852412647015e-5,-1.0924174807119913e-8,3.988096864166715e-5,-1.2436775734862486e-5,-1.092193559817097e-8,3.9993234799773925e-5,-1.2616327199137168e-5,-1.0919186656117713e-8,4.0184029323987886e-5,-1.2802124998079611e-5,-1.0916728214422174e-8,4.0441034122307655e-5,-1.295806215039957e-5,-1.0915158387722742e-8,4.07423430323965e-5,-1.3059008181614689e-5,-1.0914851840032176e-8,4.106194258997215e-5,-1.309190696252388e-5,-1.0915982377055156e-8,4.137369026554492e-5,-1.305496471159586e-5,-1.0918538217819229e-8,4.165397699143815e-5,-1.295627528662622e-5,-1.0922312589289403e-8,4.188372567499801e-5,-1.281253335343146e-5,-1.0926886273075621e-8,4.205038798547874e-5,-1.2647779157268254e-5,-1.0931637253225023e-8,4.2150263329725885e-5,-1.2491600175957169e-5,-1.0935808929506866e-8,4.219089514943613e-5,-1.2376014975777942e-5,-1.0938645719799141e-8,4.219264556971658e-5,-1.2330443038611213e-5,-1.0939574041035733e-8,4.2187994684927e-5,-1.2374868917154073e-5,-1.0938381011529256e-8,4.221708942536862e-5,-1.251262722220375e-5,-1.0935330563847715e-8,4.2319148750577894e-5,-1.272563608677644e-5,-1.0931164753811414e-8,4.252146931834362e-5,-1.2975210570017808e-5,-1.0926967333923104e-8,4.282981205890698e-5,-1.3209939979367455e-5,-1.0923913734952636e-8,4.3224317253663856e-5,-1.3379021269503886e-5,-1.092296888156952e-8,4.3663191015489984e-5,-1.3446687017306154e-5,-1.0924616375420668e-8,4.40932553261884e-5,-1.3402692615521834e-5,-1.0928699864093918e-8,4.446391154055205e-5,-1.3265486287865059e-5,-1.0934436131087437e-8,4.4740262897078254e-5,-1.3077370375528966e-5,-1.0940609312170373e-8,4.491180449520049e-5,-1.2893262674070154e-5,-1.0945898968800855e-8,4.49944176700801e-5,-1.2766207079580588e-5,-1.0949239480507803e-8,4.502512200115446e-5,-1.273370298418019e-5,-1.0950092267772875e-8,4.505116850684658e-5,-1.2808910095088956e-5,-1.0948539845884595e-8,4.511705275984765e-5,-1.2979305349759284e-5,-1.0945188231944347e-8,4.5253768849291526e-5,-1.3212635289537497e-5,-1.0940942427650663e-8,4.547343858202198e-5,-1.3467274984818715e-5,-1.093675586758881e-8,4.576991139681106e-5,-1.370288962080165e-5,-1.0933437996680767e-8,4.6123562686564354e-5,-1.3888173614010929e-5,-1.0931552459312198e-8,4.6507586318521756e-5,-1.4004532581867268e-5,-1.0931388495325245e-8,4.689364295154041e-5,-1.404638935558007e-5,-1.0932970781736282e-8,4.725592017948633e-5,-1.401955872819049e-5,-1.0936077710211673e-8,4.7573669880768315e-5,-1.3939013934426217e-5,-1.0940262282537435e-8,4.783282623871706e-5,-1.3826794886489019e-5,-1.0944887017204275e-8,4.8027394648472436e-5,-1.3710116999369636e-5,-1.0949190756732851e-8,4.816102679731794e-5,-1.361918978051325e-5,-1.095239527820225e-8,4.824866180786038e-5,-1.3583965343721564e-5,-1.0953844774146032e-8,4.8317389669767263E-05,-1.3629077500997938e-5,-1.0953156144793383e-8,4.8404937665998705e-5,-1.3766894228811147e-5,-1.0950352515756894e-8,4.85539270343216e-5,-1.3990186698127629e-5,-1.094594628661613e-8,4.880120852726276e-5,-1.4267952993854126e-5,-1.0940929580088114e-8,4.9164604434804093e-5,-1.4548760923785778e-5,-1.0936627198037842e-8,4.963284107903462e-5,-1.4773613411439147e-5,-1.0934389782899522e-8,5.016508945338154e-5,-1.4894876338232566e-5,-1.0935178671721424e-8,5.070227547728938e-5,-1.4892932210451892e-5,-1.0939190020118924e-8,5.118560276541905e-5,-1.4782534477633037e-5,-1.0945713139716886e-8,5.157392379064546e-5,-1.4606625431828425e-5,-1.095332893238933e-8,5.185338963389235e-5,-1.4421810233716862e-5,-1.0960371481365232e-8,5.203770610741841e-5,-1.4282157086463557e-5,-1.0965440644733544e-8,5.216122418436789e-5,-1.422646572966351e-5,-1.0967760623641757e-8,5.226841451573015e-5,-1.4271353392898255e-5,-1.0967288706004566e-8,5.2402901302713924e-5,-1.4410350265664105e-5,-1.0964601820102489e-8,5.2598368352539667e-5,-1.4617978010402564e-5,-1.0960658830434025e-8,5.2872840342696726e-5,-1.4857176091440661e-5,-1.0956540629101209e-8,5.322704970841118e-5,-1.5088075305254894e-5,-1.0953236332976238e-8,5.364663492512684e-5,-1.5275993367745722e-5,-1.0951500603035131e-8,5.410696514106418e-5,-1.539698624027727e-5,-1.095178087382418e-8,5.457893133346143e-5,-1.5440298921740233e-5,-1.0954194761142424e-8,5.50342383558213e-5,-1.540806131983914e-5,-1.0958542424790509e-8,5.544932692850507e-5,-1.5313173657149106e-5,-1.096434545062792e-8,5.580777697902618e-5,-1.5176465955951547e-5,-1.0970910845978872e-8,5.610161114139606e-5,-1.502389729946295e-5,-1.0977420875607443e-8,5.633207828382777e-5,-1.4883981469539802e-5,-1.0983045974823884e-8,5.651030827952544e-5,-1.4785143953867945e-5,-1.0987069782932988e-8,5.6657843445042456E-05,-1.475241870537396e-5,-1.098900869828785e-8,5.68064043339674e-5,-1.480281230944594e-5,-1.0988713689162896e-8,5.6995445257911e-5,-1.493919710310919e-5,-1.0986451645489575e-8,5.726569833881333e-5,-1.5144085304198487e-5,-1.0982961665724738e-8,5.7647873217573626e-5,-1.537676462498628e-5,-1.097945336000276e-8,5.8148783022304093e-5,-1.5578618482013747e-5,-1.0977468969124607e-8,5.8741629395056166e-5,-1.5689303712884644e-5,-1.0978518978595156e-8,5.936880170599819e-5,-1.5669452550320848e-5,-1.0983516728908241e-8,5.995982222233368e-5,-1.5518212400740367e-5,-1.0992265385709335e-8,6.045655109961612e-5,-1.5274524989521094e-5,-1.100336461316192e-8,6.083213388443301e-5,-1.500128721893175e-5,-1.1014687824535179e-8,6.109517706905173e-5,-1.476232162248893e-5,-1.1024177858417426e-8,6.128078642644321e-5,-1.4603933293794295e-5,-1.1030515003487311e-8,6.14360565632286e-5,-1.4546623392676997e-5,-1.1033379525122147e-8,6.160676979381152e-5,-1.4585862441534919e-5,-1.1033325129027129e-8,6.182836446050053e-5,-1.4698115916188576e-5,-1.103144492460905e-8,6.212137962144658e-5,-1.4848716247797194e-5,-1.1029016395917635e-8,6.249043218855688e-5,-1.499957486442772e-5,-1.1027231651313366e-8,6.292575713367833e-5,-1.5115848315998846e-5,-1.1027035010884309e-8,6.340659244996193e-5,-1.5171078050374148e-5,-1.1029042575856415e-8,6.39057084276371e-5,-1.5150397168465046e-5,-1.1033511588368882e-8,6.439430170432664e-5,-1.5051632264841132e-5,-1.1040338007405747e-8,6.484651366485014e-5,-1.4884453987230887e-5,-1.1049078955669309e-8,6.524295871579131e-5,-1.4668006957840344e-5,-1.1059009733669053e-8,6.557293822920603e-5,-1.4427696477046931e-5,-1.106922243082436e-8,6.583546021894932e-5,-1.4191801641639522e-5,-1.1078757988711264e-8,6.603942429151922e-5,-1.3988227254888844e-5,-1.1086754263160646e-8,6.620324712438544e-5,-1.3841351539194972e-5,-1.1092584244638724e-8,6.635399675116738e-5,-1.376871069724712e-5,-1.1095960923446284e-8,6.652567539394843e-5,-1.377713360613599e-5,-1.1097002545640146e-8,6.675562941069513e-5,-1.3858317394900903e-5,-1.109626926494747e-8,6.707780774668518e-5,-1.3985038180359028e-5,-1.1094780789983727e-8,6.751241829499467e-5,-1.4110813964274978e-5,-1.1093985695546706e-8,6.805398404589733e-5,-1.4176969697956724e-5,-1.1095592658974113e-8,6.866384590550756e-5,-1.4129570457204582e-5,-1.1101140430408416e-8,6.927548828970987e-5,-1.3942193950697216e-5,-1.1111323602410547e-8,6.981586375490909e-5,-1.3632135932979031e-5,-1.1125409233657399e-8,7.023376113526364e-5,-1.3257268294156674e-5,-1.1141255562749935e-8,7.051856313032443e-5,-1.2893039413830864e-5,-1.1156102060587921e-8,7.06990864524921e-5,-1.2603544775620664e-5,-1.1167680283957444e-8,7.082667807448929e-5,-1.2422764469719474e-5,-1.1174960488599823e-8,7.095499623308146e-5,-1.2351727669469376e-5,-1.1178226969257668e-8,7.112590319904138e-5,-1.2366745927631601e-5,-1.1178667858819269e-8,7.136360199813396e-5,-1.2431038164156497e-5,-1.117783577309838e-8,7.167471562637514e-5,-1.2504825814492575e-5,-1.1177222677717251e-8,7.20513073116622e-5,-1.2552337068439892e-5,-1.1178022183958767e-8,7.247483939519828e-5,-1.2546082636510993e-5,-1.1181041603564716e-8,7.292025057925622e-5,-1.2469246626440453e-5,-1.1186692155499417e-8,7.335996924164086e-5,-1.2316707228409032e-5,-1.1195001134773114e-8,7.376777185043507e-5,-1.2094851223874839e-5,-1.1205627668886617e-8,7.41223204444516e-5,-1.1820215935622424e-5,-1.1217891224875756e-8,7.441008632046292e-5,-1.1516986111407657e-5,-1.1230839822596301e-8,7.462727595584035e-5,-1.121357421653002e-5,-1.1243374292470443e-8,7.478054238337684e-5,-1.0938760084437633e-5,-1.1254418929902535e-8,7.48865297826223e-5,-1.0717820966566956e-5,-1.1263107130437595e-8,7.497036903850236e-5,-1.0568904309436396e-5,-1.1268942299422062e-8,7.506321783824891e-5,-1.0499811842188604e-5,-1.1271900341615984e-8,7.519881869817697e-5,-1.0505257389349248e-5,-1.1272463646632064e-8,7.540869080999105e-5,-1.056479190521469e-5,-1.1271600290428743e-8,7.571546174872404e-5,-1.0642370424357846e-5,-1.1270700670162078e-8,7.61246291272292e-5,-1.0689513165947758e-5,-1.1271446895380041e-8,7.661678435223831e-5,-1.0654320433158899e-5,-1.1275546237460665e-8,7.71448147730922e-5,-1.0497201563490087e-5,-1.1284249952033519e-8,7.764205458950148e-5,-1.0209521680141907e-5,-1.1297711821998253e-8,7.804347387462571e-5,-9.824875614952504e-6,-1.1314530735816466e-8,7.831185681715099e-5,-9.411967862924406e-6,-1.133196933848187e-8,7.84533388443129e-5,-9.048847109690942e-6,-1.134696307423481e-8,7.851205357156255e-5,-8.792740654590127e-6,-1.1357361358067248e-8,7.854866512846068e-5,-8.662856311024963e-6,-1.1362623719687482e-8,7.861729582289454e-5,-8.642245361453145e-6,-1.1363680031735883e-8,7.875197622822127e-5,-8.691794929389404e-6,-1.1362277223349593e-8,7.896418283479847e-5,-8.765841602924702e-6,-1.1360297098831838e-8,7.924709191886245e-5,-8.823284793479496e-6,-1.1359315593534433e-8,7.95818503140842e-5,-8.833269852576455e-6,-1.1360426738010168e-8,7.994322616848324e-5,-8.777041367256928e-6,-1.1364233495034238e-8,8.030394161526125e-5,-8.647855079034407e-6,-1.1370898907447606e-8,8.063800618353983e-5,-8.450099063104403e-6,-1.13801913797548e-8,8.092351739561471e-5,-8.197986994855086e-6,-1.139151507594174e-8,8.114517708580553e-5,-7.913748681025796e-6,-1.1403947928868321e-8,8.129649091610874e-5,-7.625053643838189e-6,-1.1416325803923466e-8,8.13812925714093e-5,-7.361498470228608e-6,-1.1427396960663914e-8,8.141408671042445e-5,-7.150374877007221e-6,-1.143603391639288e-8,8.141887617018724e-5,-7.012246466696308e-6,-1.1441458496670813e-8,8.142639354204631e-5,-6.9569547070524565e-6,-1.1443423882852663e-8,8.146989071188947e-5,-6.980733178277085e-6,-1.1442305223764873e-8,8.157988588747373e-5,-7.0650386142183395e-6,-1.1439079612900346e-8,8.177834068751832e-5,-7.177494714956207e-6,-1.1435206339439226e-8,8.207274310460953e-5,-7.275416748518267e-6,-1.1432431508335396e-8,8.24510452990543e-5,-7.312655501458012e-6,-1.1432513684254343e-8,8.287939415777408e-5,-7.250137973215447e-6,-1.14368513607406e-8,8.330545375814392e-5,-7.068926237825051e-6,-1.1446018896562171e-8,8.366980628525399e-5,-6.781801504635946e-6,-1.1459328098698728e-8,8.392475651610919e-5,-6.436424280153653e-6,-1.147469615909485e-8,8.405365240588183e-5,-6.103856380286995e-6,-1.1489120917511639e-8,8.407948845031888e-5,-5.853970011362507e-6,-1.1499731792143241e-8,8.405583920133282e-5,-5.729599983451548e-6,-1.1504887252346792e-8,8.404479026302159e-5,-5.733734864168806e-6,-1.1504668019600196e-8,8.409487550610288e-5,-5.8348805222652595e-6,-1.1500567610929476e-8,8.422953279231353e-5,-5.983832090974439e-6,-1.1494726575699467e-8,8.44475135877195e-5,-6.130958240035688e-6,-1.1489203384318796e-8,8.473016954110671e-5,-6.237308506807428e-6,-1.1485549198160168e-8,8.504997460131159e-5,-6.278822698858891e-6,-1.1484684339034437e-8,8.537722202659041e-5,-6.24604350020151e-6,-1.1486947837148801e-8,8.56843216611937e-5,-6.141962433049987e-6,-1.149219497561945e-8,8.594839135529726e-5,-5.979584647913548e-6,-1.1499878642207251e-8,8.615303700245352e-5,-5.7797022876110846e-6,-1.1509108282661373e-8,8.628989016331793e-5,-5.568700527437504e-6,-1.1518717192858226e-8,8.636003840534361e-5,-5.3759285752394796e-6,-1.1527377565087991e-8,8.637502793286532e-5,-5.230188533993722e-6,-1.1533784620290696e-8,8.635675385529202e-5,-5.155286769746592e-6,-1.1536897415011626e-8,8.63355224875678e-5,-5.165182714998419e-6,-1.1536184302568082e-8,8.634591892159362e-5,-5.259775561616308e-6,-1.1531803962477889e-8,8.642073115040163e-5,-5.4226586174864975e-6,-1.152465872996433e-8,8.65839351077441e-5,-5.622046886179956e-6,-1.1516287597576716e-8,8.684430755827092e-5,-5.8153923203604484e-6,-1.1508609070013934e-8,8.719130249188195e-5,-5.95728092691672e-6,-1.1503558232602766e-8,8.759455242721197e-5,-6.009491974966764e-6,-1.150267039330855e-8,8.800800850055604e-5,-5.95147211987009e-6,-1.1506668360848453e-8,8.837913286366379e-5,-5.7886627769627485e-6,-1.1515138637633855e-8,8.866225574551908e-5,-5.555373933240397e-6,-1.1526431984484355e-8,8.883301404506053e-5,-5.309063543337344e-6,-1.1537937388838975e-8,8.889840023466499e-5,-5.115164449411993e-6,-1.1546777723907165e-8,8.889656623832367e-5,-5.026383401286591e-6,-1.1550737585091733e-8,8.888441107440784e-5,-5.065123260574208e-6,-1.154900893343037e-8,8.891787950494431e-5,-5.21765631045529e-6,-1.1542374452129857e-8,8.903443511633252e-5,-5.442337151279303e-6,-1.1532775965427147e-8,8.924516874443352e-5,-5.686194762207577e-6,-1.1522563607641413e-8,8.953744138069596e-5,-5.90108623252899e-6,-1.1513813593362013e-8,8.988360538093972e-5,-6.053558073616242e-6,-1.1507938669655695e-8,9.025045498071756e-5,-6.127657333921901e-6,-1.1505594789433005e-8,9.06062942791196e-5,-6.123105910016481e-6,-1.1506768232466762e-8,9.092503624012695e-5,-6.051676523403866e-6,-1.1510921388865986e-8,9.118813404710323e-5,-5.933591903961702e-6,-1.1517128603869335e-8,9.138545565664259e-5,-5.794575433039127e-6,-1.1524189430321015e-8,9.151591271894805e-5,-5.66334449111308e-6,-1.1530742462923101e-8,9.158811085003475e-5,-5.568946066028995e-6,-1.1535410442970295e-8,9.162072310193748e-5,-5.537335450390624e-6,-1.1536995250412474e-8,9.164182458652515e-5,-5.58694690455087e-6,-1.1534711584048976e-8,9.168620213239225e-5,-5.723696108466005e-6,-1.152841879943091e-8,9.178992959661302e-5,-5.936777568263604e-6,-1.1518779345972147e-8,9.198249027190544e-5,-6.197337314678204e-6,-1.1507263760530225e-8,9.227820821065515e-5,-6.461935833751877e-6,-1.1495944136778205e-8,9.266993147833276e-5,-6.6812950165578724e-6,-1.1487076652143873e-8,9.31278874804674e-5,-6.8125918600802576e-6,-1.1482550916430714e-8,9.360510332344588e-5,-6.831677883244499e-6,-1.1483350519634967e-8,9.404841563306238e-5,-6.741163582188049e-6,-1.1489195433374426e-8,9.441208477567966e-5,-6.57151688468949e-6,-1.1498505989231926e-8,9.467017588287623e-5,-6.374429642810231e-6,-1.1508741618074349e-8,9.482411049793587e-5,-6.20983930092064e-6,-1.1517053215341923e-8,9.490280063124226e-5,-6.12986333255191e-6,-1.1521069363394867e-8,9.49546446025167e-5,-6.164351503798526e-6,-1.1519561592846616e-8,9.503343971679581e-5,-6.312991752990002e-6,-1.1512751366586703e-8,9.518296893644879e-5,-6.546957614728857e-6,-1.1502154648514587e-8,9.54258618892581e-5,-6.819249442704191e-6,-1.1490053068776307e-8,9.576033063758811e-5,-7.079181183195936e-6,-1.147882172959562e-8,9.616458460450145e-5,-7.285251177458946e-6,-1.1470361003639736e-8,9.660557779129375e-5,-7.412533789784719e-6,-1.1465779950685564e-8,9.70480253349657e-5,-7.454061673847203e-6,-1.1465342600263835e-8,9.746107955264904e-5,-7.418094434670623e-6,-1.1468592015480105e-8,9.782204348641294e-5,-7.323724614127018e-6,-1.1474549309030842e-8,9.811778004559563e-5,-7.196576837891347e-6,-1.1481914889362466e-8,9.834488254743438e-5,-7.065336659585935e-6,-1.1489242896633806e-8,9.85094970832235e-5,-6.958985648334306e-6,-1.1495095179541215e-8,9.862717385640469e-5,-6.90413645241066e-6,-1.1498196338733799e-8,9.8722513616579e-5,-6.921815594705209e-6,-1.1497607920369037e-8,9.882784972662761e-5,-7.023345607949021e-6,-1.1492923262731212e-8,9.897986411696639e-5,-7.205665995436498e-6,-1.148446098537155e-8,9.921318771121227e-5,-7.447586546246423e-6,-1.1473395307025696e-8,9.955120060763667e-5,-7.709619295232465e-6,-1.146172404791077e-8,9.999642762624879e-5,-7.940035443749168e-6,-1.1451968869426325e-8,1.0052494732063333e-4,-8.087647613726074e-6,-1.1446579632065744e-8,1.0108913471724907e-4,-8.117933472199266e-6,-1.1447169892722494e-8,1.016297505105532e-4,-8.025879558080473e-6,-1.1453875399227287e-8,1.0209339869072522e-4,-7.839290063002508e-6,-1.1465163461608666e-8,1.0244827762320929e-4,-7.610760831100816e-6,-1.1478236898852096e-8,1.0269227243374284e-4,-7.4019405703705335e-6,-1.1489879553959839e-8,1.0285149371859283e-4,-7.266368505272329e-6,-1.1497391887392736e-8,1.0297118136782965e-4,-7.236336161787715e-6,-1.1499280042755185e-8,1.0310270675950262e-4,-7.316726316035047e-6,-1.1495523318503002e-8,1.0329056362595021e-4,-7.486349598341804e-6,-1.148742159707798e-8,1.0356255453322497e-4,-7.705430672579288e-6,-1.1477144225777614e-8,1.0392519544575366e-4,-7.926623660176716e-6,-1.1467147125266295e-8,1.0436481553339658e-4,-8.106347722194308e-6,-1.1459615835618466e-8,1.048532139215313e-4,-8.213492770649762e-6,-1.1456056721422704e-8,1.0535556460250918e-4,-8.23373787288498e-6,-1.1457100913129077e-8,1.0583805546501133e-4,-8.169439622731186e-6,-1.1462518463608636e-8,1.0627352735391126e-4,-8.036400609196678e-6,-1.1471385560392026e-8,1.066445607363988e-4,-7.859266130393587e-6,-1.1482325768957206e-8,1.0694441306334356e-4,-7.666977342055716e-6,-1.1493758257334187e-8,1.0717666268625118e-4,-7.489017281889044e-6,-1.1504111986789331e-8,1.0735435490295485e-4,-7.35244966639261e-6,-1.1511999323604564e-8,1.0749903983642938e-4,-7.2792806829164845e-6,-1.1516363131548234e-8,1.0763957831135115e-4,-7.283580274524651e-6,-1.151661702847303e-8,1.0781007680501017e-4,-7.368012685883945e-6,-1.1512793302970118e-8,1.0804590054700001e-4,-7.520061810504988e-6,-1.1505692043057436e-8,1.0837680611466255e-4,-7.709425069854278e-6,-1.1496977420176755e-8,1.0881740161785823e-4,-7.889347522041987e-6,-1.1489103221812277e-8,1.0935759791410143e-4,-8.004876957400208e-6,-1.1484917776821892e-8,1.099584343313986e-4,-8.008601428695032e-6,-1.1486882532745956e-8,1.1055881062444225e-4,-7.879155597116695e-6,-1.1496092004950944e-8,1.1109371258594231e-4,-7.633039843956237e-6,-1.1511581608136922E-08,1.1151663459051103e-4,-7.321605202687162e-6,-1.1530431309502565e-8,1.1181492903404441e-4,-7.013454241810893e-6,-1.1548741122352925e-8,1.1201106022014476e-4,-6.771340174468865e-6,-1.1562985724005811e-8,1.1215140197415839e-4,-6.634405209780007e-6,-1.1571068149846324e-8,1.1228984212495073e-4,-6.611278102413541e-6,-1.1572697123814852e-8,1.1247315925664164e-4,-6.6831267112462406e-6,-1.1569144942454731e-8,1.127316993096942e-4,-6.812598750203812e-6,-1.156266778319374e-8,1.1307579932787652e-4,-6.954602663343077e-6,-1.1555859496188551e-8,1.1349688400417341e-4,-7.066217820959545e-6,-1.1551101049908461e-8,1.139717903089487e-4,-7.114299397794903e-6,-1.1550167056351804e-8,1.1446891416054345e-4,-7.080077937874377e-6,-1.1554002562827165e-8,1.149548174283551e-4,-6.960537575809596e-6,-1.1562667346861427e-8,1.1540007923220339e-4,-6.766933444370123e-6,-1.1575426285469924e-8,1.1578354861211906e-4,-6.521295786051894e-6,-1.1590947546989276e-8,1.1609463410885247e-4,-6.2519478086589645e-6,-1.160756007562344e-8,1.1633376296363593e-4,-5.989012039941205e-6,-1.1623518348194946e-8,1.1651156393922294e-4,-5.760573051355079e-6,-1.1637234212047214e-8,1.1664740182339614e-4,-5.589622358594828e-6,-1.1647459659802337e-8,1.1676759334021895e-4,-5.4915067272458905e-6,-1.1653428976732367e-8,1.1690326783015823e-4,-5.471531648050538e-6,-1.1654974611229112e-8,1.1708746557034123e-4,-5.5225030012895636e-6,-1.1652632718742514e-8,1.1735068033667883e-4,-5.622479874781477e-6,-1.1647735276380047e-8,1.1771412944112854e-4,-5.734062550996382e-6,-1.1642435438662262e-8,1.1818113725851937e-4,-5.8076621481172495e-6,-1.163954187668793e-8,1.1872926880585935e-4,-5.791344442245663e-6,-1.1642004245374285e-8,1.1930855430309953e-4,-5.647553044674574e-6,-1.1651984086518556e-8,1.1985155215788543e-4,-5.371443175151925e-6,-1.1669760410394222e-8,1.2029547121095116e-4,-4.99995084485974e-6,-1.1693115291372944e-8,1.2060678781026997e-4,-4.6024408688642385e-6,-1.1717833613867049e-8,1.2079400904598451e-4,-4.255199093046226e-6,-1.173926368756903e-8,1.2090126966665237e-4,-4.0137842781003e-6,-1.1754062382778059e-8,1.2098843584166365e-4,-3.897678566972292e-6,-1.176115704922468e-8,1.2111008984554611e-4,-3.891400665164609e-6,-1.1761637208694449e-8,1.213022496940009e-4,-3.95630760713687e-6,-1.1757971241563372e-8,1.2157839399120963e-4,-4.044896229076136e-6,-1.1753097167220337e-8,1.2193195516922581e-4,-4.112420305157807e-6,-1.1749718015863004e-8,1.2234182152848596e-4,-4.124267718560327e-6,-1.174987984666976e-8,1.227785275255919e-4,-4.059624660286843e-6,-1.1754780294877045e-8,1.2321007408265877e-4,-3.9124489345179326e-6,-1.1764728817057517e-8,1.2360698042256985e-4,-3.6904598768444323e-6,-1.1779212189448352e-8,1.2394631226203136e-4,-3.4126109266878824e-6,-1.1797041115608418e-8,1.242144823774108e-4,-3.1055077065965403e-6,-1.1816559520484416e-8,1.2440867826661164e-4,-2.799226073876711e-6,-1.1835897138338729e-8,1.2453685337986063e-4,-2.523031477587932e-6,-1.1853238148010125e-8,1.2461646512564885e-4,-2.301547896694e-6,-1.186706784611472e-8,1.2467235994619418e-4,-2.1516861724259745e-6,-1.1876371614580685e-8,1.2473410454800834e-4,-2.0803083645591164e-6,-1.1880779589050701e-8,1.2483283115915695e-4,-2.0825349597226646e-6,-1.1880660082478308e-8,1.2499748069359724e-4,-2.14069314709482e-6,-1.1877165836353078e-8,1.2525010295091812e-4,-2.2241823656063393e-6,-1.1872226457607199e-8,1.2559995192754653e-4,-2.2912602137460035e-6,-1.1868437590207958e-8,1.2603705811992328e-4,-2.2945068883105327e-6,-1.1868742828901586e-8,1.2652772420829495e-4,-2.191539426597471e-6,-1.1875794007561012e-8,1.2701630641300356e-4,-1.9604423994929207e-6,-1.1890987874401511e-8,1.2743771444703272e-4,-1.6147035257241735e-6,-1.1913481241468902e-8,1.2774003479321577e-4,-1.2075860053489198e-6,-1.1939854087612531e-8,1.2790733523272295e-4,-8.17705683285339e-7,-1.1965019553764724e-8,1.279679628288094e-4,-5.194673008425952e-7,-1.1984174542305361e-8,1.279816584662349e-4,-3.5470155045429583e-7,-1.1994671485721905e-8,1.280138942373341e-4,-3.2155917529888203e-7,-1.1996712018024326e-8,1.2811314916667707e-4,-3.832848611376374e-7,-1.1992721904466058e-8,1.2830082617175774e-4,-4.869902782138533e-7,-1.198611016092719e-8,1.2857305116365837e-4,-5.810461096132203e-7,-1.1980164163535222E-08,1.289084172136336e-4,-6.257202090277428e-7,-1.197740043466469e-8,1.2927653296285668e-4,-5.972525154990381e-7,-1.1979329944634138e-8,1.2964491995966202e-4,-4.877474608997493e-7,-1.1986472365228349e-8,1.2998387075651414e-4,-3.031311612369654e-7,-1.1998477370081351e-8,1.3026979244258862e-4,-6.038288953220458e-8,-1.2014282732417834e-8,1.3048752957989842e-4,2.1562191863560383e-7,-1.2032296857404085e-8,1.3063183983413705e-4,4.956069602951913e-7,-1.2050612633462722e-8,1.3070798712429174e-4,7.49696777087375e-7,-1.2067254493324593e-8,1.3073127127371782e-4,9.513984761652111e-7,-1.2080450782354818e-8,1.3072533232997706e-4,1.0813761032640532e-6,-1.2088898078971734e-8,1.3071932425519906e-4,1.1305045965556356e-6,-1.2091976791290884e-8,1.3074424349902703e-4,1.1018477731859764e-6,-1.2089887050399828e-8,1.3082870101893535e-4,1.0113362985932872e-6,-1.2083690937629776e-8,1.3099441618179766e-4,8.869501908669666e-7,-1.2075251931326807e-8,1.3125168068481923e-4,7.662116754938402e-7,-1.2067066918911372e-8,1.3159510738595574e-4,6.915586905267705e-7,-1.2061965515433264e-8,1.3200056820097142e-4,7.028841658829567e-7,-1.2062624571151364e-8,1.3242528918228636e-4,8.270198550287169e-7,-1.2070869118686841e-8,1.3281385380364976e-4,1.0657937989025924e-6,-1.2086852795495238e-8,1.3311208615874337e-4,1.3873940278361398e-6,-1.2108442324416934e-8,1.3328674475046086e-4,1.728378788589479e-6,-1.2131335420364398e-8,1.333423026531807e-4,2.011359960326922e-6,-1.2150284217646462e-8,1.333230859574093e-4,2.173641367897251e-6,-1.2161076558038903e-8,1.3329628509418603e-4,2.1916886718834704e-6,-1.2162183678561086e-8,1.3332488742110422e-4,2.0869799011873835e-6,-1.2155091872515184e-8,1.3344631607287334e-4,1.9118834458728775e-6,-1.214330168860428e-8,1.3366614959370036e-4,1.7270017762180142e-6,-1.213081977253317e-8,1.339647660819936e-4,1.5827822630531564e-6,-1.2120978054806648e-8,1.3430900171919165e-4,1.5107505188582636e-6,-1.2115885232530696e-8,1.346625507586368e-4,1.5227555156633589e-6,-1.2116379839448163e-8,1.3499278908367805e-4,1.6143357752029857e-6,-1.2122232655650623e-8,1.352743630890875e-4,1.7691319425712106e-6,-1.2132411706736463e-8,1.3549082147805045e-4,1.9628976716705375e-6,-1.214532559179744e-8,1.3563536205606977e-4,2.1669414090184472e-6,-1.2159041601093816e-8,1.3571114539193986e-4,2.3513531864422336e-6,-1.2171504657912729e-8,1.3573115122892719e-4,2.488365757099318e-6,-1.218077928907646e-8,1.3571726302195615e-4,2.555989521491244e-6,-1.2185316078541546e-8,1.3569814446294577e-4,2.5416602671032738e-6,-1.2184217684665625e-8,1.3570568585111713e-4,2.4452206623935392e-6,-1.2177449976565543e-8,1.3577024230789847e-4,2.280427964073108e-6,-1.216594442676682e-8,1.3591527737192273e-4,2.0743135607314645e-6,-1.2151550454018783e-8,1.361522991152803e-4,1.8640121265254014e-6,-1.213681987513195e-8,1.3647708727637718e-4,1.6911483786144465e-6,-1.2124630980449703e-8,1.3686810998498884e-4,1.5943000966245994e-6,-1.211767957644585e-8,1.3728794824521178e-4,1.6002951590033876e-6,-1.2117875538135754e-8,1.376885995265603e-4,1.715563961241601e-6,-1.2125719871977474e-8,1.380212492054774e-4,1.9198116421548985e-6,-1.2139827416802713e-8,1.3824979653251647e-4,2.16545754172393e-6,-1.2156862702966804e-8,1.3836476748777283e-4,2.3863798766054845e-6,-1.2172165361997345e-8,1.3839118089512586e-4,2.516681597723158e-6,-1.2181109204786456e-8,1.383836958661086e-4,2.5139173425388923e-6,-1.2180756018019766e-8,1.3840809682379775e-4,2.3754960365028225e-6,-1.2170971847677191e-8,1.3851731397930713e-4,2.1385549249810985e-6,-1.2154358737266609e-8,1.387345180742526e-4,1.8635150257748393e-6,-1.2135089041809021e-8,0.00013905061657867654,1.6115027181214983e-6,-1.21173713319074e-8,1.3943376606727773e-4,1.4271981388203693e-6,-1.2104305360794658e-8,1.3984300364040437e-4,1.3321511005655048e-6,-1.2097427842395805e-8,1.4023941764179271e-4,1.3266107575433846e-6,-1.2096814698533307e-8,1.4059252722173118e-4,1.3952876797859035e-6,-1.2101447432625885e-8,1.4088264636512158e-4,1.5134604515907064e-6,-1.2109616882522158e-8,1.4110100645417162e-4,1.651840139911393e-6,-1.211925900245617e-8,1.4124909369002032e-4,1.780117071596497e-6,-1.212821380203447e-8,1.41337902381737e-4,1.8698047521882043e-6,-1.2134441476175163e-8,1.413871243968482e-4,1.897057213198281e-6,-1.2136236886680415e-8,1.4142383018431504e-4,1.845841427761066e-6,-1.2132461012287831e-8,1.4147997719204125e-4,1.7113175489430788e-6,-1.2122777537746821e-8,1.4158823504138685e-4,1.502646517645388e-6,-1.2107840476713205e-8,1.4177619737628733e-4,1.2439767012537168e-6,-1.2089354094720186e-8,1.420599003828967e-4,9.723315462248096e-7,-1.206992596215161e-8,1.4243837480090518e-4,7.317359454874271e-7,-1.205266945550483e-8,1.428912639706557e-4,5.641719353741576e-7,-1.2040586686537376e-8,1.4338097885540922e-4,4.993306811954009e-7,-1.2035847099509482e-8,1.4385960277296563e-4,5.458783176763343e-7,-1.2039139663143369e-8,1.4427940471458366e-4,6.868122641353136e-7,-1.2049291370737595e-8,1.4460478846783334e-4,8.807411239238364e-7,-1.2063317321420302e-8,1.4482281559751307e-4,1.069839105541091e-6,-1.2076991054963683e-8,0.00014494904837242869,1.1937309248725323e-6,-1.2085887289049307e-8,1.4502568900064648e-4,1.2064426101944527e-6,-1.208665562177113e-8,1.4511070047506638e-4,1.0911379333922037e-6,-1.2078100163221958e-8,1.4526028585175462e-4,8.663198283372468e-7,-1.2061600256805915e-8,1.4551122674497707e-4,5.797058648325919e-7,-1.204063541031233e-8,1.45870714182893e-4,2.919007977922922e-7,-1.2019605889673682e-8,1.4631756661427476e-4,5.7383281304037876e-8,-1.2002481688680475e-8,1.4681257082234934e-4,-8.908235910099019e-8,-1.199182771411262e-8,1.4731178048653533e-4,-1.3681974382092278e-7,-1.1988462719314775e-8,1.4777718123388823e-4,-9.589928020150776e-8,-1.1991666707489123e-8,1.4818241807458256e-4,9.827970495226143e-9,-1.1999669866292774e-8,1.4851424057603252e-4,1.4975826284681487e-7,-1.2010174857616424e-8,1.4877150780700368e-4,2.9190903564939884e-7,-1.2020776035974408e-8,1.4896338718739874e-4,4.064988238931833e-7,-1.2029249027716422e-8,1.491076446423247e-4,4.6841038637613003e-7,-1.2033745868534184e-8,1.4922916257107874e-4,4.5938546572257956e-7,-1.2032953779941988e-8,1.493582247095228e-4,3.705242197180493e-7,-1.2026262139108474e-8,1.4952777954767635e-4,2.051005400277564e-7,-1.2013946805018194e-8,1.4976894050346446e-4,-1.904479417246828e-8,-1.19973299130609e-8,1.5010454947427974e-4,-2.6906541765304796e-7,-1.1978814248321542e-8,1.5054183504320976e-4,-5.005400438808663e-7,-1.1961656886072548e-8,1.510667193509588e-4,-6.659267765992611e-7,-1.1949384554955782e-8,1.5164312623254563e-4,-7.269820831206918e-7,-1.1944897119523432e-8,1.5221953156980696e-4,-6.673181911368249e-7,-1.1949511382214759e-8,1.5274192731700445e-4,-4.998737686083151e-7,-1.1962335916114308e-8,1.5316902981055573e-4,-2.655106490847173e-7,-1.198030645635063e-8,1.5348421088217352e-4,-2.266891378647792e-8,-1.1998944827432675e-8,1.537000877768807e-4,1.6834438575237464e-7,-1.2013585861232607e-8,1.538547110431581e-4,2.613132906223005e-7,-1.2020649305678164e-8,1.5400096519828458e-4,2.3581112219275996e-7,-1.2018566303697278e-8,1.5419235863208593e-4,1.0173672189554832e-7,-1.2008120314198619e-8,1.5446908544374386e-4,-1.043344103221339e-7,-1.1992147545698048e-8,1.548482390991489e-4,-3.2985719788034745e-7,-1.1974709621771796e-8,1.5532098094650596e-4,-5.207662508907146e-7,-1.1959996690102956e-8,1.5585716932915963e-4,-6.350241871756243e-7,-1.1951293605787887e-8,1.5641522266013897e-4,-6.511187991959759e-7,-1.1950307300835039e-8,1.569532769257661e-4,-5.697016549164902e-7,-1.1957005001839564e-8,1.5743798528095797e-4,-4.09469379855435e-7,-1.1969906863521253e-8,1.5784917981561064e-4,-2.0015710169451744e-7,-1.1986632887038163e-8,1.5818066995231428e-4,2.4528128874972442e-8,-1.2004482272335572e-8,1.584385964221662e-4,2.3238212408654543e-7,-1.2020894960770384e-8,1.5863886107822444e-4,3.9624199560292434e-7,-1.2033748244121223e-8,1.588046247824748e-4,4.961257588820515e-7,-1.2041519855910776e-8,1.5896414577085214e-4,5.208075434900433e-7,-1.2043387212766305e-8,1.5914861628490783e-4,4.6946391491526275e-7,-1.2039325589190074e-8,1.5938926955830503e-4,3.53541008361074e-7,-1.2030232908600866e-8,1.5971294009466412e-4,1.982741610365036e-7,-1.2018050074089633e-8,1.601357000258253e-4,4.2346553631336995e-8,-1.2005764507559371e-8,1.6065547610377416e-4,-6.653262914643824e-8,-1.199711354071502e-8,1.6124655500583345e-4,-8.178371801242496e-8,-1.1995829366236498e-8,1.618604147678731e-4,2.7237558855628032e-8,-1.200446695222325e-8,1.624361983654284e-4,2.6113543526894443e-7,-1.2023214939678597e-8,1.6291924082183584e-4,5.850389636777833e-7,-1.2049358081100115e-8,1.6328002909722807e-4,9.37029053897171e-7,-1.2077889657121621e-8,1.6352419934365228e-4,1.2479123374621913e-6,-1.2103126439366304e-8,1.6368904604779273e-4,1.4631281062483648e-6,-1.2120552485357369e-8,1.6382956183236765e-4,1.557395384432055e-6,-1.2128060940280816e-8,1.6400122926582002e-4,1.5381144862877748e-6,-1.2126239058948575e-8,1.6424588726093894e-4,1.439208355081074e-6,-1.2117853915445577e-8,1.6458370748174056e-4,1.3096328102448778e-6,-1.2106913755361764e-8,1.6501154402339606e-4,1.200644338827852e-6,-1.2097641160415495e-8,1.6550648589063686e-4,1.1547586852730628e-6,-1.2093577694547275e-8,1.6603290776267415e-4,1.198176070928625e-6,-1.209694831318382e-8,1.665511035023388e-4,1.3375614745420673e-6,-1.2108362039271342e-8,1.6702550418416318e-4,1.5612138983333382e-6,-1.2126873437650308e-8,1.674307780932752e-4,1.8436692523999273e-6,-1.2150349328123835e-8,1.677549195800197e-4,2.152050182706575e-6,-1.2176009110305286e-8,1.6799940801179606e-4,2.4524165413076667e-6,-1.2200981766056503e-8,1.6817724583540448e-4,2.7148658232038214e-6,-1.2222754118217347e-8,1.683099873280913e-4,2.9168866968960664e-6,-1.2239454785978735e-8,1.6842467146592558e-4,3.0452180407235236e-6,-1.224999322944638e-8,1.6855102695086848e-4,3.0968539557096263e-6,-1.2254119042353992e-8,1.6871880126855085e-4,3.079744230574199e-6,-1.2252464324778996e-8,1.6895472067160068e-4,3.0133940896606534e-6,-1.2246598903420829e-8,1.6927840464195295e-4,2.9289893043908684e-6,-1.2239070910506032e-8,1.6969685867088022e-4,2.8677904600524987e-6,-1.2233319274918822e-8,1.7019831718506845e-4,2.875824828445984e-6,-1.2233272151029017e-8,1.7074810284391787e-4,2.993272269193482e-6,-1.224246480019927e-8,1.7129098425295404e-4,3.2394101336393448e-6,-1.2262719249205929e-8,1.7176398102373194e-4,3.5987654038797006e-6,-1.2292867630372567e-8,1.7211809981800891e-4,4.018086806079489e-6,-1.2328398800877828e-8,1.723391427347796e-4,4.420818917734477e-6,-1.2362681188303285e-8,1.7245473153053103e-4,4.734662467285292e-6,-1.2389396409868513e-8,1.7252252726735316e-4,4.917578549027333e-6,-1.2404843785782865e-8,1.726071540897258e-4,4.968749604148368e-6,-1.2408893192054333e-8,1.727589046978858e-4,4.9221724964740185e-6,-1.2404411962237101e-8,1.7300260344177033e-4,4.83048076677902e-6,-1.2395876284086118e-8,1.7333699122422784e-4,4.748210739532242e-6,-1.2387966354953343e-8,1.7374060169450008e-4,4.719717242328655e-6,-1.2384556320964524e-8,1.7417998643729247e-4,4.77276442662093e-6,-1.2388155529251713e-8,1.7461775716833916e-4,4.916710446013261e-6,-1.2399710045232228e-8,1.7501937203030822e-4,5.1438468128633355e-6,-1.24186647572412e-8,1.7535828951289732e-4,5.432860035887848e-6,-1.2443225854658522e-8,1.756192629618798e-4,5.753664444472852e-6,-1.247077258016822e-8,1.7579965373443565e-4,6.07283129609336e-6,-1.249834752183416e-8,1.7590884946030766e-4,6.358829228718526e-6,-1.2523139875377372e-8,1.759661130968674e-4,6.586381943570775e-6,-1.2542883039875933e-8,1.759974500115724e-4,6.739459298134962e-6,-1.2556116611078232e-8,1.760321637278397e-4,6.812845618154416e-6,-1.2562313354106072e-8,1.7609950601134763e-4,6.812603660833107e-6,-1.2561914546371991e-8,1.7622548831381987e-4,6.755770295736606e-6,-1.2556315384687489e-8,1.7642970412317874e-4,6.669448359319251e-6,-1.2547819558221092e-8,1.7672181959903853e-4,6.589129298634931e-6,-1.2539538164845853e-8,1.7709754531837021e-4,6.555409184978373e-6,-1.253513882005936e-8,1.7753484841258758e-4,6.6077367992058346e-6,-1.2538298544744623e-8,1.7799261074736457e-4,6.774298835042637e-6,-1.2551762208519981e-8,1.7841520147040621e-4,7.059131678797954e-6,-1.2576102085454612e-8,1.7874610453487877e-4,7.431432411420299e-6,-1.2608660039097732e-8,1.7894917443968755e-4,7.825953175386766e-6,-1.264353962001558e-8,1.7902774380033063e-4,8.161207083206408e-6,-1.2673296174765145e-8,1.790278108183074e-4,8.37057801926549e-6,-1.2691829535203863e-8,1.7902000252517539e-4,8.429111940731165e-6,-1.2696822098010562e-8,1.7907052731275117e-4,8.359865779353108e-6,-1.2690259514578959e-8,1.792184376056174e-4,8.218710920752939e-6,-1.2677033409507345e-8,1.7946899122588982e-4,8.070217272528202e-6,-1.2662824877992331e-8,1.798005516314884e-4,7.968098174834111e-6,-1.2652431102927129e-8,1.8017678902342154e-4,7.945639373964074e-6,-1.2648941656457344e-8,1.8055783018827178e-4,8.014489469180937e-6,-1.2653594995131369e-8,1.809079743025977e-4,8.167991049630246e-6,-1.2666002492302427e-8,1.8120015594670137e-4,8.386055770599257e-6,-1.2684515636010646e-8,1.81418169137406e-4,8.640136272423779e-6,-1.2706635648062213e-8,1.8155745362714864e-4,8.897929471115659e-6,-1.2729437938407207e-8,1.816247890930127e-4,9.127778918254038e-6,-1.2749994232411722e-8,1.8163698371062952e-4,9.302709168045539e-6,-1.2765766433492419e-8,1.8161856182727902e-4,9.403888438419948e-6,-1.2774938041748913e-8,1.815985642893323e-4,9.423138551089404e-6,-1.2776645313126941e-8,1.8160681506560852e-4,9.36415692920561e-6,-1.2771087603012172e-8,1.8167007529985502e-4,9.242389932513445e-6,-1.2759527269267482e-8,1.8180839374719023e-4,9.083630182385395e-6,-1.2744194260900506e-8,1.8203189191582484e-4,8.921407254932055e-6,-1.272809684680252e-8,1.8233811686921964e-4,8.793234923543979e-6,-1.271472568547752e-8,1.8271007573164471e-4,8.735513832696627e-6,-1.2707603433132443e-8,1.831156226205783e-4,8.776587215035303e-6,-1.2709611967731912e-8,1.835098044135818e-4,8.927979072561361e-6,-1.2722097762312471e-8,1.8384221630675696e-4,9.175500192615347e-6,-1.27439367278731e-8,1.840705475552472e-4,9.474371020128938e-6,-1.2771002906062082e-8,1.841780628060236e-4,9.754616948466088e-6,-1.279667951127827e-8,1.8418683651227492e-4,9.940934290960093e-6,-1.281380356682737e-8,1.8415563603335129e-4,9.98187460304554e-6,-1.281747050358581e-8,1.8415861263877017e-4,9.872544364405676e-6,-1.2807136409084753e-8,1.842552921475183e-4,9.65575714304891e-6,-1.278665574601449e-8,1.8446960989311107e-4,9.401323160175794e-6,-1.2762350921109002e-8,1.847878917819339e-4,9.177921705907351e-6,-1.274048999348862e-8,1.851716145817177e-4,9.033077144764868e-6,-1.2725517880425859e-8,1.8557404333119885e-4,8.98674862545095e-6,-1.2719465951244568e-8,1.8595285565285299e-4,9.03489153155634e-6,-1.2722206457539776e-8,1.8627673471227903e-4,9.156961441484826e-6,-1.2732052732514901e-8,1.8652737698281774e-4,9.323291635298407e-6,-1.2746379558568107e-8,1.8669908398996258e-4,9.500851281252383e-6,-1.276214259667023e-8,1.867974540649122e-4,9.657494220093313e-6,-1.2776296198795173e-8,1.868377674238962e-4,9.765290802188679e-6,-1.2786140679959678e-8,1.8684306967336814e-4,9.803397871508996e-6,-1.2789619363565743e-8,1.868417147083351e-4,9.760610094037025e-6,-1.2785567727151342e-8,1.8686412458466885e-4,9.637324414561794e-6,-1.2773894189412115e-8,1.8693880886411663e-4,9.44635537749392e-6,-1.2755655110877828e-8,1.8708806034181723e-4,9.212124471751703e-6,-1.2732996276901077e-8,1.873239407935784e-4,8.968006164774606e-6,-1.2708946706398693e-8,1.8764524855502274e-4,8.751851247504868e-6,-1.2687053344743047e-8,1.8803613506589658e-4,8.600047003777075e-6,-1.267086308882513e-8,1.884668350213392e-4,8.540750156571121e-6,-1.266327943929974e-8,1.8889688401037388e-4,8.586957156317759e-6,-1.2665841049346619e-8,1.892813662336039e-4,8.7303677532984365E-06,-1.2678028004774141e-8,1.8958055151708885e-4,8.937957777496288e-6,-1.269682650981506e-8,1.8977205698003573e-4,9.154221964303619e-6,-1.2716894887330907e-8,1.8986226816951858e-4,9.312023948278568e-6,-1.2731645634466873e-8,1.8989097282145473e-4,9.3523306591095e-6,-1.2735235873700964e-8,1.899229344963519e-4,9.246977657328054e-6,-1.2724818924541804e-8,1.9002600500419477e-4,9.012639158824845e-6,-1.2701873808086355e-8,1.90245267253111e-4,8.705899735453676e-6,-1.267169944090641e-8,1.9058743747324758e-4,8.400731767561984e-6,-1.2641284800066107e-8,1.9102317062649488e-4,8.161375525659737e-6,-1.261678823134974e-8,1.915028135995743e-4,8.024638131175617e-6,-1.2601877107848063e-8]} \ No newline at end of file diff --git a/public/js/Cesium/Assets/Images/bing_maps_credit.png b/public/js/Cesium/Assets/Images/bing_maps_credit.png new file mode 100644 index 000000000..15109db3c Binary files /dev/null and b/public/js/Cesium/Assets/Images/bing_maps_credit.png differ diff --git a/public/js/Cesium/Assets/Images/cesium_credit.png b/public/js/Cesium/Assets/Images/cesium_credit.png new file mode 100644 index 000000000..4d1722b6b Binary files /dev/null and b/public/js/Cesium/Assets/Images/cesium_credit.png differ diff --git a/public/js/Cesium/Assets/Images/google_earth_credit.png b/public/js/Cesium/Assets/Images/google_earth_credit.png new file mode 100644 index 000000000..a7622d822 Binary files /dev/null and b/public/js/Cesium/Assets/Images/google_earth_credit.png differ diff --git a/public/js/Cesium/Assets/Images/ion-credit.png b/public/js/Cesium/Assets/Images/ion-credit.png new file mode 100644 index 000000000..71b7bdf1c Binary files /dev/null and b/public/js/Cesium/Assets/Images/ion-credit.png differ diff --git a/public/js/Cesium/Assets/Textures/LensFlare/DirtMask.jpg b/public/js/Cesium/Assets/Textures/LensFlare/DirtMask.jpg new file mode 100644 index 000000000..53299020e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/LensFlare/DirtMask.jpg differ diff --git a/public/js/Cesium/Assets/Textures/LensFlare/StarBurst.jpg b/public/js/Cesium/Assets/Textures/LensFlare/StarBurst.jpg new file mode 100644 index 000000000..b54ac0910 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/LensFlare/StarBurst.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg new file mode 100644 index 000000000..0cad64662 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg new file mode 100644 index 000000000..7e63bd63e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg new file mode 100644 index 000000000..e65f1c78b Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg new file mode 100644 index 000000000..605f63f13 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg new file mode 100644 index 000000000..319458e12 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg new file mode 100644 index 000000000..a6a3859d6 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg new file mode 100644 index 000000000..6913a2b08 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg new file mode 100644 index 000000000..df89ed220 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg new file mode 100644 index 000000000..8f27415e2 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg new file mode 100644 index 000000000..ce2b06ecb Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg new file mode 100644 index 000000000..e3c031201 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg new file mode 100644 index 000000000..f3ec32150 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg new file mode 100644 index 000000000..b59816c01 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg new file mode 100644 index 000000000..795f21227 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg new file mode 100644 index 000000000..822b06514 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg new file mode 100644 index 000000000..4dd18ea4e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg new file mode 100644 index 000000000..4540c7c94 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg new file mode 100644 index 000000000..32c6e5ae2 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg new file mode 100644 index 000000000..7c3909481 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg new file mode 100644 index 000000000..3e7abe713 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg new file mode 100644 index 000000000..0e0f1e9b1 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg new file mode 100644 index 000000000..732c32f95 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg new file mode 100644 index 000000000..576ec70e7 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg new file mode 100644 index 000000000..6347041f9 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg new file mode 100644 index 000000000..300aa5803 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg new file mode 100644 index 000000000..cd70fcad1 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg new file mode 100644 index 000000000..eabb83c79 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg new file mode 100644 index 000000000..54e6b0076 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg new file mode 100644 index 000000000..311241c8d Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg new file mode 100644 index 000000000..5ba398c58 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg new file mode 100644 index 000000000..e03c0c077 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg new file mode 100644 index 000000000..01a1caf81 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg new file mode 100644 index 000000000..372e3ef5b Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg new file mode 100644 index 000000000..fbcfa628f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg new file mode 100644 index 000000000..334ab2581 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg new file mode 100644 index 000000000..ebbc3a099 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg new file mode 100644 index 000000000..c3a8e97c8 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg new file mode 100644 index 000000000..8f730f364 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg new file mode 100644 index 000000000..75235d6f8 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg new file mode 100644 index 000000000..036d682ec Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg new file mode 100644 index 000000000..dfd214467 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg new file mode 100644 index 000000000..82c2a34aa Binary files /dev/null and b/public/js/Cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg differ diff --git a/public/js/Cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml b/public/js/Cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml new file mode 100644 index 000000000..d7734cce0 --- /dev/null +++ b/public/js/Cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> + <TileMap version="1.0.0" tilemapservice="http://tms.osgeo.org/1.0.0"> + <Title>NE2_HR_LC_SR_W_DR_recolored.tif + + EPSG:4326 + + + + + + + + + diff --git a/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg new file mode 100644 index 000000000..67192282d Binary files /dev/null and b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg differ diff --git a/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg new file mode 100644 index 000000000..3dfe883b3 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg differ diff --git a/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg new file mode 100644 index 000000000..7ef2363f2 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg differ diff --git a/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg new file mode 100644 index 000000000..f5d0d8b1e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg differ diff --git a/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg new file mode 100644 index 000000000..a8421113e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg differ diff --git a/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg new file mode 100644 index 000000000..5efcc76e2 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg differ diff --git a/public/js/Cesium/Assets/Textures/maki/airfield.png b/public/js/Cesium/Assets/Textures/maki/airfield.png new file mode 100644 index 000000000..b77468424 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/airfield.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/airport.png b/public/js/Cesium/Assets/Textures/maki/airport.png new file mode 100644 index 000000000..44a8413a7 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/airport.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/alcohol-shop.png b/public/js/Cesium/Assets/Textures/maki/alcohol-shop.png new file mode 100644 index 000000000..b75a5d9ea Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/alcohol-shop.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/america-football.png b/public/js/Cesium/Assets/Textures/maki/america-football.png new file mode 100644 index 000000000..5a2c6ba6f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/america-football.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/art-gallery.png b/public/js/Cesium/Assets/Textures/maki/art-gallery.png new file mode 100644 index 000000000..a663512ef Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/art-gallery.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/bakery.png b/public/js/Cesium/Assets/Textures/maki/bakery.png new file mode 100644 index 000000000..9735d5e53 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/bakery.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/bank.png b/public/js/Cesium/Assets/Textures/maki/bank.png new file mode 100644 index 000000000..a67cee06e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/bank.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/bar.png b/public/js/Cesium/Assets/Textures/maki/bar.png new file mode 100644 index 000000000..8c2812fba Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/bar.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/baseball.png b/public/js/Cesium/Assets/Textures/maki/baseball.png new file mode 100644 index 000000000..23f344bbf Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/baseball.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/basketball.png b/public/js/Cesium/Assets/Textures/maki/basketball.png new file mode 100644 index 000000000..7ed3bfce3 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/basketball.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/beer.png b/public/js/Cesium/Assets/Textures/maki/beer.png new file mode 100644 index 000000000..a15cf9911 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/beer.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/bicycle.png b/public/js/Cesium/Assets/Textures/maki/bicycle.png new file mode 100644 index 000000000..fb871be48 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/bicycle.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/building.png b/public/js/Cesium/Assets/Textures/maki/building.png new file mode 100644 index 000000000..885f1128a Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/building.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/bus.png b/public/js/Cesium/Assets/Textures/maki/bus.png new file mode 100644 index 000000000..783050234 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/bus.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/cafe.png b/public/js/Cesium/Assets/Textures/maki/cafe.png new file mode 100644 index 000000000..2050cba3c Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/cafe.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/camera.png b/public/js/Cesium/Assets/Textures/maki/camera.png new file mode 100644 index 000000000..ec54e12a2 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/camera.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/campsite.png b/public/js/Cesium/Assets/Textures/maki/campsite.png new file mode 100644 index 000000000..36e0a92de Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/campsite.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/car.png b/public/js/Cesium/Assets/Textures/maki/car.png new file mode 100644 index 000000000..2075afa58 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/car.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/cemetery.png b/public/js/Cesium/Assets/Textures/maki/cemetery.png new file mode 100644 index 000000000..df244fda0 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/cemetery.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/cesium.png b/public/js/Cesium/Assets/Textures/maki/cesium.png new file mode 100644 index 000000000..ce2755ded Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/cesium.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/chemist.png b/public/js/Cesium/Assets/Textures/maki/chemist.png new file mode 100644 index 000000000..eb1ea3574 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/chemist.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/cinema.png b/public/js/Cesium/Assets/Textures/maki/cinema.png new file mode 100644 index 000000000..56b692561 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/cinema.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/circle-stroked.png b/public/js/Cesium/Assets/Textures/maki/circle-stroked.png new file mode 100644 index 000000000..88689e47f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/circle-stroked.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/circle.png b/public/js/Cesium/Assets/Textures/maki/circle.png new file mode 100644 index 000000000..fbbd5822f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/circle.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/city.png b/public/js/Cesium/Assets/Textures/maki/city.png new file mode 100644 index 000000000..37d8fad88 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/city.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/clothing-store.png b/public/js/Cesium/Assets/Textures/maki/clothing-store.png new file mode 100644 index 000000000..ff5f8a2b1 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/clothing-store.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/college.png b/public/js/Cesium/Assets/Textures/maki/college.png new file mode 100644 index 000000000..102638704 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/college.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/commercial.png b/public/js/Cesium/Assets/Textures/maki/commercial.png new file mode 100644 index 000000000..fdf3b63c3 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/commercial.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/cricket.png b/public/js/Cesium/Assets/Textures/maki/cricket.png new file mode 100644 index 000000000..6642a3af2 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/cricket.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/cross.png b/public/js/Cesium/Assets/Textures/maki/cross.png new file mode 100644 index 000000000..8945b3b4f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/cross.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/dam.png b/public/js/Cesium/Assets/Textures/maki/dam.png new file mode 100644 index 000000000..aed88a88f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/dam.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/danger.png b/public/js/Cesium/Assets/Textures/maki/danger.png new file mode 100644 index 000000000..9479572c3 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/danger.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/disability.png b/public/js/Cesium/Assets/Textures/maki/disability.png new file mode 100644 index 000000000..1cc355097 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/disability.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/dog-park.png b/public/js/Cesium/Assets/Textures/maki/dog-park.png new file mode 100644 index 000000000..3483e35b9 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/dog-park.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/embassy.png b/public/js/Cesium/Assets/Textures/maki/embassy.png new file mode 100644 index 000000000..46b7e1e1c Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/embassy.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/emergency-telephone.png b/public/js/Cesium/Assets/Textures/maki/emergency-telephone.png new file mode 100644 index 000000000..fac623968 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/emergency-telephone.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/entrance.png b/public/js/Cesium/Assets/Textures/maki/entrance.png new file mode 100644 index 000000000..b0ba8c5d6 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/entrance.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/farm.png b/public/js/Cesium/Assets/Textures/maki/farm.png new file mode 100644 index 000000000..7b03e825f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/farm.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/fast-food.png b/public/js/Cesium/Assets/Textures/maki/fast-food.png new file mode 100644 index 000000000..9488c263f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/fast-food.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/ferry.png b/public/js/Cesium/Assets/Textures/maki/ferry.png new file mode 100644 index 000000000..58c2f27a8 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/ferry.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/fire-station.png b/public/js/Cesium/Assets/Textures/maki/fire-station.png new file mode 100644 index 000000000..427512f1d Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/fire-station.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/fuel.png b/public/js/Cesium/Assets/Textures/maki/fuel.png new file mode 100644 index 000000000..dc6059b90 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/fuel.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/garden.png b/public/js/Cesium/Assets/Textures/maki/garden.png new file mode 100644 index 000000000..265edb8d6 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/garden.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/gift.png b/public/js/Cesium/Assets/Textures/maki/gift.png new file mode 100644 index 000000000..866263e16 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/gift.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/golf.png b/public/js/Cesium/Assets/Textures/maki/golf.png new file mode 100644 index 000000000..2169d9158 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/golf.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/grocery.png b/public/js/Cesium/Assets/Textures/maki/grocery.png new file mode 100644 index 000000000..05b09d4af Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/grocery.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/hairdresser.png b/public/js/Cesium/Assets/Textures/maki/hairdresser.png new file mode 100644 index 000000000..68fbe1e85 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/hairdresser.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/harbor.png b/public/js/Cesium/Assets/Textures/maki/harbor.png new file mode 100644 index 000000000..2814f3cd5 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/harbor.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/heart.png b/public/js/Cesium/Assets/Textures/maki/heart.png new file mode 100644 index 000000000..82e98082c Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/heart.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/heliport.png b/public/js/Cesium/Assets/Textures/maki/heliport.png new file mode 100644 index 000000000..953828d9e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/heliport.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/hospital.png b/public/js/Cesium/Assets/Textures/maki/hospital.png new file mode 100644 index 000000000..faf294e87 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/hospital.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/ice-cream.png b/public/js/Cesium/Assets/Textures/maki/ice-cream.png new file mode 100644 index 000000000..323c96494 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/ice-cream.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/industrial.png b/public/js/Cesium/Assets/Textures/maki/industrial.png new file mode 100644 index 000000000..9b3b525db Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/industrial.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/land-use.png b/public/js/Cesium/Assets/Textures/maki/land-use.png new file mode 100644 index 000000000..f86b21bcd Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/land-use.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/laundry.png b/public/js/Cesium/Assets/Textures/maki/laundry.png new file mode 100644 index 000000000..53fd20de4 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/laundry.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/library.png b/public/js/Cesium/Assets/Textures/maki/library.png new file mode 100644 index 000000000..8564e84a3 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/library.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/lighthouse.png b/public/js/Cesium/Assets/Textures/maki/lighthouse.png new file mode 100644 index 000000000..a78e21a5b Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/lighthouse.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/lodging.png b/public/js/Cesium/Assets/Textures/maki/lodging.png new file mode 100644 index 000000000..4e41ea6f6 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/lodging.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/logging.png b/public/js/Cesium/Assets/Textures/maki/logging.png new file mode 100644 index 000000000..4aeef0b7a Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/logging.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/london-underground.png b/public/js/Cesium/Assets/Textures/maki/london-underground.png new file mode 100644 index 000000000..94972f7dd Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/london-underground.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/marker-stroked.png b/public/js/Cesium/Assets/Textures/maki/marker-stroked.png new file mode 100644 index 000000000..f00d11239 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/marker-stroked.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/marker.png b/public/js/Cesium/Assets/Textures/maki/marker.png new file mode 100644 index 000000000..825eeca69 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/marker.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/minefield.png b/public/js/Cesium/Assets/Textures/maki/minefield.png new file mode 100644 index 000000000..60e174abb Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/minefield.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/mobilephone.png b/public/js/Cesium/Assets/Textures/maki/mobilephone.png new file mode 100644 index 000000000..a40ef9c1f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/mobilephone.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/monument.png b/public/js/Cesium/Assets/Textures/maki/monument.png new file mode 100644 index 000000000..5b8b7debd Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/monument.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/museum.png b/public/js/Cesium/Assets/Textures/maki/museum.png new file mode 100644 index 000000000..23c179003 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/museum.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/music.png b/public/js/Cesium/Assets/Textures/maki/music.png new file mode 100644 index 000000000..dbef56f22 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/music.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/oil-well.png b/public/js/Cesium/Assets/Textures/maki/oil-well.png new file mode 100644 index 000000000..a421f5aae Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/oil-well.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/park.png b/public/js/Cesium/Assets/Textures/maki/park.png new file mode 100644 index 000000000..741110e37 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/park.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/park2.png b/public/js/Cesium/Assets/Textures/maki/park2.png new file mode 100644 index 000000000..5f60dcc4d Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/park2.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/parking-garage.png b/public/js/Cesium/Assets/Textures/maki/parking-garage.png new file mode 100644 index 000000000..b91a811a8 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/parking-garage.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/parking.png b/public/js/Cesium/Assets/Textures/maki/parking.png new file mode 100644 index 000000000..6a843d93e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/parking.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/pharmacy.png b/public/js/Cesium/Assets/Textures/maki/pharmacy.png new file mode 100644 index 000000000..d82e4716f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/pharmacy.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/pitch.png b/public/js/Cesium/Assets/Textures/maki/pitch.png new file mode 100644 index 000000000..a8205e802 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/pitch.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/place-of-worship.png b/public/js/Cesium/Assets/Textures/maki/place-of-worship.png new file mode 100644 index 000000000..29f7c3172 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/place-of-worship.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/playground.png b/public/js/Cesium/Assets/Textures/maki/playground.png new file mode 100644 index 000000000..5270d3c42 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/playground.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/police.png b/public/js/Cesium/Assets/Textures/maki/police.png new file mode 100644 index 000000000..9787a05e9 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/police.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/polling-place.png b/public/js/Cesium/Assets/Textures/maki/polling-place.png new file mode 100644 index 000000000..b2d02a904 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/polling-place.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/post.png b/public/js/Cesium/Assets/Textures/maki/post.png new file mode 100644 index 000000000..ee7aaca7d Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/post.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/prison.png b/public/js/Cesium/Assets/Textures/maki/prison.png new file mode 100644 index 000000000..355cba44a Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/prison.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/rail-above.png b/public/js/Cesium/Assets/Textures/maki/rail-above.png new file mode 100644 index 000000000..e48d7eac7 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/rail-above.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/rail-light.png b/public/js/Cesium/Assets/Textures/maki/rail-light.png new file mode 100644 index 000000000..895565e00 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/rail-light.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/rail-metro.png b/public/js/Cesium/Assets/Textures/maki/rail-metro.png new file mode 100644 index 000000000..86078c91f Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/rail-metro.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/rail-underground.png b/public/js/Cesium/Assets/Textures/maki/rail-underground.png new file mode 100644 index 000000000..42cfeb7e1 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/rail-underground.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/rail.png b/public/js/Cesium/Assets/Textures/maki/rail.png new file mode 100644 index 000000000..8af055dde Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/rail.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/religious-christian.png b/public/js/Cesium/Assets/Textures/maki/religious-christian.png new file mode 100644 index 000000000..201bc81ca Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/religious-christian.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/religious-jewish.png b/public/js/Cesium/Assets/Textures/maki/religious-jewish.png new file mode 100644 index 000000000..e3c75f6b3 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/religious-jewish.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/religious-muslim.png b/public/js/Cesium/Assets/Textures/maki/religious-muslim.png new file mode 100644 index 000000000..25cbf08aa Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/religious-muslim.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/restaurant.png b/public/js/Cesium/Assets/Textures/maki/restaurant.png new file mode 100644 index 000000000..816282a6e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/restaurant.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/roadblock.png b/public/js/Cesium/Assets/Textures/maki/roadblock.png new file mode 100644 index 000000000..539f0ed84 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/roadblock.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/rocket.png b/public/js/Cesium/Assets/Textures/maki/rocket.png new file mode 100644 index 000000000..e6ed71877 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/rocket.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/school.png b/public/js/Cesium/Assets/Textures/maki/school.png new file mode 100644 index 000000000..fb20bf4e2 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/school.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/scooter.png b/public/js/Cesium/Assets/Textures/maki/scooter.png new file mode 100644 index 000000000..41f741649 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/scooter.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/shop.png b/public/js/Cesium/Assets/Textures/maki/shop.png new file mode 100644 index 000000000..11a6b755a Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/shop.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/skiing.png b/public/js/Cesium/Assets/Textures/maki/skiing.png new file mode 100644 index 000000000..4fc11e2e5 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/skiing.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/slaughterhouse.png b/public/js/Cesium/Assets/Textures/maki/slaughterhouse.png new file mode 100644 index 000000000..9b094cabd Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/slaughterhouse.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/soccer.png b/public/js/Cesium/Assets/Textures/maki/soccer.png new file mode 100644 index 000000000..2385daf91 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/soccer.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/square-stroked.png b/public/js/Cesium/Assets/Textures/maki/square-stroked.png new file mode 100644 index 000000000..fce75b0d8 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/square-stroked.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/square.png b/public/js/Cesium/Assets/Textures/maki/square.png new file mode 100644 index 000000000..babc9c531 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/square.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/star-stroked.png b/public/js/Cesium/Assets/Textures/maki/star-stroked.png new file mode 100644 index 000000000..242e42e20 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/star-stroked.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/star.png b/public/js/Cesium/Assets/Textures/maki/star.png new file mode 100644 index 000000000..447dd384a Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/star.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/suitcase.png b/public/js/Cesium/Assets/Textures/maki/suitcase.png new file mode 100644 index 000000000..a94f562e7 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/suitcase.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/swimming.png b/public/js/Cesium/Assets/Textures/maki/swimming.png new file mode 100644 index 000000000..b9fbdcc5d Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/swimming.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/telephone.png b/public/js/Cesium/Assets/Textures/maki/telephone.png new file mode 100644 index 000000000..6d57dc61a Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/telephone.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/tennis.png b/public/js/Cesium/Assets/Textures/maki/tennis.png new file mode 100644 index 000000000..6cb632054 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/tennis.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/theatre.png b/public/js/Cesium/Assets/Textures/maki/theatre.png new file mode 100644 index 000000000..772c96e4e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/theatre.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/toilets.png b/public/js/Cesium/Assets/Textures/maki/toilets.png new file mode 100644 index 000000000..e87cf19c0 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/toilets.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/town-hall.png b/public/js/Cesium/Assets/Textures/maki/town-hall.png new file mode 100644 index 000000000..1af5c7ce4 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/town-hall.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/town.png b/public/js/Cesium/Assets/Textures/maki/town.png new file mode 100644 index 000000000..416616951 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/town.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/triangle-stroked.png b/public/js/Cesium/Assets/Textures/maki/triangle-stroked.png new file mode 100644 index 000000000..131c7d94c Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/triangle-stroked.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/triangle.png b/public/js/Cesium/Assets/Textures/maki/triangle.png new file mode 100644 index 000000000..d9c47f421 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/triangle.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/village.png b/public/js/Cesium/Assets/Textures/maki/village.png new file mode 100644 index 000000000..2650af502 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/village.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/warehouse.png b/public/js/Cesium/Assets/Textures/maki/warehouse.png new file mode 100644 index 000000000..910f1e4c9 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/warehouse.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/waste-basket.png b/public/js/Cesium/Assets/Textures/maki/waste-basket.png new file mode 100644 index 000000000..a71f9e4d7 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/waste-basket.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/water.png b/public/js/Cesium/Assets/Textures/maki/water.png new file mode 100644 index 000000000..159a557de Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/water.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/wetland.png b/public/js/Cesium/Assets/Textures/maki/wetland.png new file mode 100644 index 000000000..1e8dec832 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/wetland.png differ diff --git a/public/js/Cesium/Assets/Textures/maki/zoo.png b/public/js/Cesium/Assets/Textures/maki/zoo.png new file mode 100644 index 000000000..480229993 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/maki/zoo.png differ diff --git a/public/js/Cesium/Assets/Textures/moonSmall.jpg b/public/js/Cesium/Assets/Textures/moonSmall.jpg new file mode 100644 index 000000000..47f52522e Binary files /dev/null and b/public/js/Cesium/Assets/Textures/moonSmall.jpg differ diff --git a/public/js/Cesium/Assets/Textures/pin.svg b/public/js/Cesium/Assets/Textures/pin.svg new file mode 100644 index 000000000..7892c3682 --- /dev/null +++ b/public/js/Cesium/Assets/Textures/pin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/js/Cesium/Assets/Textures/waterNormals.jpg b/public/js/Cesium/Assets/Textures/waterNormals.jpg new file mode 100644 index 000000000..eb1baa2d6 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/waterNormals.jpg differ diff --git a/public/js/Cesium/Assets/Textures/waterNormalsSmall.jpg b/public/js/Cesium/Assets/Textures/waterNormalsSmall.jpg new file mode 100644 index 000000000..57b19d8f4 Binary files /dev/null and b/public/js/Cesium/Assets/Textures/waterNormalsSmall.jpg differ diff --git a/public/js/Cesium/Assets/approximateTerrainHeights.json b/public/js/Cesium/Assets/approximateTerrainHeights.json new file mode 100644 index 000000000..92e52a3b7 --- /dev/null +++ b/public/js/Cesium/Assets/approximateTerrainHeights.json @@ -0,0 +1 @@ +{"6-0-0":[10.66,26.9],"6-0-1":[6.74,20.61],"6-0-2":[4.04,14.2],"6-0-3":[2.99,8.89],"6-0-4":[0.89,6.8],"6-0-5":[0.83,4.22],"6-0-6":[1.01,996.64],"6-0-7":[1.65,1473.8],"6-0-8":[4.23,1405.42],"6-0-9":[3.78,9.42],"6-0-10":[0.33,10.41],"6-0-11":[0.37,9.42],"6-0-12":[-1.21,10.72],"6-0-13":[-24.75,1797.13],"6-0-14":[-25.53,3.24],"6-0-15":[-12.72,0.06],"6-0-16":[-21.01,-5.62],"6-0-17":[-25.65,-10.79],"6-0-18":[-25.81,-11.56],"6-0-19":[-23.99,-9.29],"6-0-20":[-21.03,-8.01],"6-0-21":[-17.26,28.36],"6-0-22":[-10.44,-0.18],"6-0-23":[-6.09,1.27],"6-0-24":[0.2,8.96],"6-0-25":[4.5,13.87],"6-0-26":[6.42,18.94],"6-0-27":[9.26,23.03],"6-0-28":[10.92,27.13],"6-0-29":[12.68,32.43],"6-0-30":[15.67,36.44],"6-0-31":[17.17,41.7],"6-0-32":[18.65,43.91],"6-0-33":[19.85,48.69],"6-0-34":[21.11,56.5],"6-0-35":[26.26,79],"6-0-36":[33,95.12],"6-0-37":[17.36,1242.86],"6-0-38":[17.56,1197.83],"6-0-39":[46.88,149.88],"6-0-40":[49.39,105.09],"6-0-41":[41.61,101.97],"6-0-42":[20.68,550.11],"6-0-43":[17.2,92.57],"6-0-44":[16.92,77.99],"6-0-45":[18.56,46.63],"6-0-46":[12.38,43.07],"6-0-47":[3.4,29.35],"6-0-48":[-19.81,6.49],"6-0-49":[-39.19,-4.52],"6-0-50":[-57.57,-19.1],"6-0-51":[-76.36,-29.46],"6-0-52":[-88.35,-37.9],"6-0-53":[-97.62,-44.45],"6-0-54":[-101.65,-48.19],"6-0-55":[-119.7,-51.12],"6-0-56":[-126.97,-57.56],"6-0-57":[-126.3,-60.82],"6-0-58":[-126.26,-59.93],"6-0-59":[-119.1,-54.84],"6-0-60":[-110.88,-48.64],"6-0-61":[-96.62,258.8],"6-0-62":[-90.74,2997.38],"6-0-63":[-31.67,3098.17],"6-1-0":[10.71,26.95],"6-1-1":[7.14,20.8],"5-0-0":[6.74,26.95],"6-1-2":[3.89,15.04],"6-1-3":[3.37,8.36],"5-0-1":[2.99,15.04],"6-1-4":[-0.61,6.83],"6-1-5":[-0.55,4.83],"5-0-2":[-0.61,6.83],"6-1-6":[-0.38,343.9],"6-1-7":[0.43,308.3],"5-0-3":[-0.38,1473.8],"6-1-8":[1.88,906.96],"6-1-9":[4.01,286.65],"5-0-4":[1.88,1405.42],"6-1-10":[3.66,14],"6-1-11":[1.5,14.18],"5-0-5":[0.33,14.18],"6-1-12":[2.47,10.46],"6-1-13":[-22.06,1734.24],"5-0-6":[-24.75,1797.13],"6-1-14":[-20.71,6.52],"6-1-15":[-11.23,1.31],"5-0-7":[-25.53,6.52],"6-1-16":[-20.51,-4.75],"6-1-17":[-25.7,-10],"5-0-8":[-25.7,-4.75],"6-1-18":[-26.19,-12.15],"6-1-19":[-25.87,-9.22],"5-0-9":[-26.19,-9.22],"6-1-20":[-22.92,-7.87],"6-1-21":[-16.03,0.26],"5-0-10":[-22.92,28.36],"6-1-22":[-9.59,9.27],"6-1-23":[-2.9,6.54],"5-0-11":[-10.44,9.27],"6-1-24":[0.86,11.17],"6-1-25":[4.31,18.66],"5-0-12":[0.2,18.66],"6-1-26":[6.61,18.19],"6-1-27":[8.7,22.85],"5-0-13":[6.42,23.03],"6-1-28":[9.96,23.64],"6-1-29":[9.97,31.23],"5-0-14":[9.96,32.43],"6-1-30":[13.01,34.4],"6-1-31":[16.28,38.74],"5-0-15":[13.01,41.7],"6-1-32":[16.81,39.97],"6-1-33":[17.68,44.11],"5-0-16":[16.81,48.69],"6-1-34":[18.54,49.53],"6-1-35":[22.64,65.95],"5-0-17":[18.54,79],"6-1-36":[28.21,188.59],"6-1-37":[34.36,262.29],"5-0-18":[17.36,1242.86],"6-1-38":[45.21,1074.21],"6-1-39":[25.48,561.48],"5-0-19":[17.56,1197.83],"6-1-40":[23.5,105.17],"6-1-41":[23.63,99.7],"5-0-20":[23.5,105.17],"6-1-42":[19.32,82.54],"6-1-43":[18.61,61.85],"5-0-21":[17.2,550.11],"6-1-44":[20.07,55.81],"6-1-45":[18.77,46.46],"5-0-22":[16.92,77.99],"6-1-46":[8.68,36.12],"6-1-47":[-36.78,306.25],"5-0-23":[-36.78,306.25],"6-1-48":[-22.66,5.19],"6-1-49":[-42.82,-11.13],"5-0-24":[-42.82,6.49],"6-1-50":[-57.85,-19.1],"6-1-51":[-75.69,-29.65],"5-0-25":[-76.36,-19.1],"6-1-52":[-86.83,-37.51],"6-1-53":[-96.13,-43.07],"5-0-26":[-97.62,-37.51],"6-1-54":[-101.17,-47.18],"6-1-55":[-120.92,-50.74],"5-0-27":[-120.92,-47.18],"6-1-56":[-127.84,-59.08],"6-1-57":[-130.41,-62.14],"5-0-28":[-130.41,-57.56],"6-1-58":[-130.18,-59.59],"6-1-59":[-119.25,-55.12],"5-0-29":[-130.18,-54.84],"6-1-60":[-110.99,-49.4],"6-1-61":[-97.87,-11.15],"5-0-30":[-110.99,258.8],"6-1-62":[-91.52,3443.81],"6-1-63":[-29.54,3102.34],"5-0-31":[-91.52,3443.81],"6-2-0":[10.72,26.98],"6-2-1":[7.83,20.82],"6-2-2":[3.58,15.73],"6-2-3":[2.54,7.2],"6-2-4":[-0.61,5.79],"6-2-5":[-0.51,5.62],"6-2-6":[-0.51,2.52],"6-2-7":[0.49,3.57],"6-2-8":[1.45,1107.58],"6-2-9":[4.33,935.49],"6-2-10":[6.38,447.82],"6-2-11":[2.78,22.33],"6-2-12":[4.36,15.33],"6-2-13":[-21.97,1546.34],"6-2-14":[-15.6,10.11],"6-2-15":[-8.94,3.51],"6-2-16":[-19.28,-3.75],"6-2-17":[-25.1,-8.48],"6-2-18":[-26.22,-11.53],"6-2-19":[-26.62,-11.45],"6-2-20":[-24.22,-7.64],"6-2-21":[-15.31,-2.94],"6-2-22":[-9.58,22.84],"6-2-23":[0.06,13.16],"6-2-24":[3.65,16.58],"6-2-25":[5.95,18.75],"6-2-26":[7.56,18.27],"6-2-27":[8.72,22.69],"6-2-28":[9.83,22.16],"6-2-29":[9.86,26.06],"6-2-30":[12.2,32.28],"6-2-31":[13.89,34.73],"6-2-32":[14.45,36.73],"6-2-33":[14.44,38.35],"6-2-34":[17.75,45.33],"6-2-35":[20.66,56.51],"6-2-36":[14.56,1897.33],"6-2-37":[21.73,602.11],"6-2-38":[6.52,258.3],"6-2-39":[23.9,87.93],"6-2-40":[24.73,68.5],"6-2-41":[28.76,71.42],"6-2-42":[24.12,69.11],"6-2-43":[21.79,60.23],"6-2-44":[16.26,53.69],"6-2-45":[9.6,38.48],"6-2-46":[4.35,25.76],"6-2-47":[-8.34,16.06],"6-2-48":[-23.66,-1.78],"6-2-49":[-43.1,-12.47],"6-2-50":[-57.44,-20.26],"6-2-51":[-75.02,-28.99],"6-2-52":[-85.43,-36.15],"6-2-53":[-94.37,-42.32],"6-2-54":[-100.35,-45.74],"6-2-55":[-118.16,-50.3],"6-2-56":[-127.84,-57.37],"6-2-57":[-132.46,-63.72],"6-2-58":[-131.21,-59.33],"6-2-59":[-117.94,-55.1],"6-2-60":[-110.83,-49.58],"6-2-61":[-98.68,-43.95],"6-2-62":[-90.63,3904.3],"6-2-63":[-29.54,3104.92],"6-3-0":[10.72,27.03],"6-3-1":[7.91,20.82],"5-1-0":[7.83,27.03],"6-3-2":[3.44,16.58],"6-3-3":[2.11,6.48],"5-1-1":[2.11,16.58],"4-0-0":[2.11,27.03],"6-3-4":[-0.03,6.76],"6-3-5":[-0.56,6.63],"5-1-2":[-0.61,6.76],"6-3-6":[-1.04,3.03],"6-3-7":[0.58,2.79],"5-1-3":[-1.04,3.57],"4-0-1":[-1.04,1473.8],"6-3-8":[1.26,912.84],"6-3-9":[4.33,618.8],"5-1-4":[1.26,1107.58],"6-3-10":[6.38,21.82],"6-3-11":[-9.62,311.37],"5-1-5":[-9.62,447.82],"4-0-2":[-9.62,1405.42],"6-3-12":[5.53,24.46],"6-3-13":[-16.08,1745.85],"5-1-6":[-21.97,1745.85],"6-3-14":[-2.94,13.6],"6-3-15":[-7.31,5.28],"5-1-7":[-15.6,13.6],"4-0-3":[-25.53,1797.13],"6-3-16":[-15.66,-3.16],"6-3-17":[-22.96,-8.29],"5-1-8":[-25.1,-3.16],"6-3-18":[-26.21,-10.93],"6-3-19":[-27.23,-12.17],"5-1-9":[-27.23,-10.93],"4-0-4":[-27.23,-3.16],"6-3-20":[-24.81,-7.64],"6-3-21":[-14.34,0.47],"5-1-10":[-24.81,0.47],"6-3-22":[-3.34,23.06],"6-3-23":[2.58,22.37],"5-1-11":[-9.58,23.06],"4-0-5":[-24.81,28.36],"6-3-24":[6.28,19.36],"6-3-25":[8.08,21.32],"5-1-12":[3.65,21.32],"6-3-26":[1.66,34.68],"6-3-27":[8.88,23.51],"5-1-13":[1.66,34.68],"4-0-6":[0.2,34.68],"6-3-28":[10.27,25.7],"6-3-29":[10.85,24.86],"5-1-14":[9.83,26.06],"6-3-30":[11.93,28.27],"6-3-31":[13.63,30.64],"5-1-15":[11.93,34.73],"4-0-7":[9.83,41.7],"6-3-32":[14.74,33.87],"6-3-33":[11.58,35.79],"5-1-16":[11.58,38.35],"6-3-34":[16.56,41.34],"6-3-35":[18.05,51.07],"5-1-17":[16.56,56.51],"4-0-8":[11.58,79],"6-3-36":[19.63,771.39],"6-3-37":[21.73,997.06],"5-1-18":[14.56,1897.33],"6-3-38":[22.85,125.79],"6-3-39":[22.68,58.96],"5-1-19":[6.52,258.3],"4-0-9":[6.52,1897.33],"6-3-40":[21.12,59.21],"6-3-41":[21.12,57.29],"5-1-20":[21.12,71.42],"6-3-42":[19,55.57],"6-3-43":[19,45.14],"5-1-21":[19,69.11],"4-0-10":[17.2,550.11],"6-3-44":[12.68,42.37],"6-3-45":[7.26,30.69],"5-1-22":[7.26,53.69],"6-3-46":[1.07,18.1],"6-3-47":[-14.03,6.67],"5-1-23":[-14.03,25.76],"4-0-11":[-36.78,306.25],"6-3-48":[-25.52,-4.53],"6-3-49":[-40.76,-13.01],"5-1-24":[-43.1,-1.78],"6-3-50":[-55.85,-20.05],"6-3-51":[-71.88,-27.95],"5-1-25":[-75.02,-20.05],"4-0-12":[-76.36,6.49],"6-3-52":[-83.23,-35.08],"6-3-53":[-91.13,-41.07],"5-1-26":[-94.37,-35.08],"6-3-54":[-99.02,-44.5],"6-3-55":[-114.54,-49.53],"5-1-27":[-118.16,-44.5],"4-0-13":[-120.92,-35.08],"6-3-56":[-126.73,-56.74],"6-3-57":[-132.79,-63.72],"5-1-28":[-132.79,-56.74],"6-3-58":[-132.21,-59.46],"6-3-59":[-117.45,-55.06],"5-1-29":[-132.21,-55.06],"4-0-14":[-132.79,-54.84],"6-3-60":[-110.9,-50.05],"6-3-61":[-98.89,-43.58],"5-1-30":[-110.9,-43.58],"6-3-62":[-87.67,3970.41],"6-3-63":[-29.54,3106.07],"5-1-31":[-90.63,3970.41],"4-0-15":[-110.99,3970.41],"6-4-0":[10.72,27.07],"6-4-1":[8.58,20.88],"6-4-2":[3.21,17.11],"6-4-3":[2.1,7.09],"6-4-4":[1.19,8.01],"6-4-5":[-0.22,6.22],"6-4-6":[-1.08,2.41],"6-4-7":[0.39,611.05],"6-4-8":[1.07,1101.35],"6-4-9":[4.69,428.48],"6-4-10":[9.22,653.36],"6-4-11":[10.76,27.57],"6-4-12":[-14.99,1825.97],"6-4-13":[-15.6,2084.32],"6-4-14":[3.47,18.16],"6-4-15":[-5.56,6.15],"6-4-16":[-15.54,-2.51],"6-4-17":[-23.21,-7.81],"6-4-18":[-26.71,-10.93],"6-4-19":[-28,-11.62],"6-4-20":[-24.27,-7.94],"6-4-21":[-14.62,0.97],"6-4-22":[-0.2,17.55],"6-4-23":[2.53,28.15],"6-4-24":[7.62,19.59],"6-4-25":[8.14,21.94],"6-4-26":[9.01,22.24],"6-4-27":[10.38,25.71],"6-4-28":[11.65,27.19],"6-4-29":[12.01,27.84],"6-4-30":[12.52,28.27],"6-4-31":[13.6,29.58],"6-4-32":[14.29,32.89],"6-4-33":[15.45,34.86],"6-4-34":[16.24,35.6],"6-4-35":[15.79,39.9],"6-4-36":[15.18,43.72],"6-4-37":[15.33,45.71],"6-4-38":[15.37,48.56],"6-4-39":[15.29,45.88],"6-4-40":[15.09,44.41],"6-4-41":[14.97,42.29],"6-4-42":[13.73,42.26],"6-4-43":[12.06,37.32],"6-4-44":[10.39,32.28],"6-4-45":[5.84,25.33],"6-4-46":[-0.37,17.65],"6-4-47":[-16.61,1.08],"6-4-48":[-26.32,-7.42],"6-4-49":[-40.76,-13.57],"6-4-50":[-53.73,-20.05],"6-4-51":[-70.17,-26.95],"6-4-52":[-80.79,-33.29],"6-4-53":[-89,-39.39],"6-4-54":[-97.35,-43.1],"6-4-55":[-113.49,-49.01],"6-4-56":[-126.75,-56.1],"6-4-57":[-131.59,-62.78],"6-4-58":[-131.91,-58.9],"6-4-59":[-117.3,-55.06],"6-4-60":[-111.07,-49.97],"6-4-61":[-98.75,-43.61],"6-4-62":[-87.85,3807.76],"6-4-63":[-29.54,3106.13],"6-5-0":[10.78,27.12],"6-5-1":[8.58,21.1],"5-2-0":[8.58,27.12],"6-5-2":[3.17,17.66],"6-5-3":[0.92,7.26],"5-2-1":[0.92,17.66],"6-5-4":[-0.48,8],"6-5-5":[-2.17,1.64],"5-2-2":[-2.17,8.01],"6-5-6":[-0.74,0.57],"6-5-7":[-0.44,977.81],"5-2-3":[-1.08,977.81],"6-5-8":[1.07,1285.63],"6-5-9":[5.92,689.98],"5-2-4":[1.07,1285.63],"6-5-10":[9.22,574.41],"6-5-11":[12.46,29.76],"5-2-5":[9.22,653.36],"6-5-12":[-36.25,2863.96],"6-5-13":[-3.12,25.08],"5-2-6":[-36.25,2863.96],"6-5-14":[3.54,19.59],"6-5-15":[-6.33,5.94],"5-2-7":[-6.33,19.59],"6-5-16":[-17.4,-2.51],"6-5-17":[-24.54,-7.99],"5-2-8":[-24.54,-2.51],"6-5-18":[-27.22,-11.55],"6-5-19":[-27.57,-11.81],"5-2-9":[-28,-10.93],"6-5-20":[-24.98,-7.94],"6-5-21":[-15.88,-0.19],"5-2-10":[-24.98,0.97],"6-5-22":[-3.57,8.23],"6-5-23":[3.2,68.18],"5-2-11":[-3.57,68.18],"6-5-24":[7.47,18.67],"6-5-25":[7.19,18.1],"5-2-12":[7.19,21.94],"6-5-26":[7.38,20.47],"6-5-27":[8.56,27.76],"5-2-13":[7.38,27.76],"6-5-28":[11.8,30.78],"6-5-29":[12.82,30.66],"5-2-14":[11.65,30.78],"6-5-30":[13.61,32.3],"6-5-31":[13.86,32.65],"5-2-15":[12.52,32.65],"6-5-32":[14.35,32.3],"6-5-33":[15.09,34.31],"5-2-16":[14.29,34.86],"6-5-34":[14.43,33.96],"6-5-35":[14.39,37.54],"5-2-17":[14.39,39.9],"6-5-36":[12.64,37.44],"6-5-37":[11.66,31.1],"5-2-18":[11.66,45.71],"6-5-38":[11.75,38.62],"6-5-39":[12.15,31.7],"5-2-19":[11.75,48.56],"6-5-40":[10.41,30.13],"6-5-41":[10.41,29.27],"5-2-20":[10.41,44.41],"6-5-42":[10.26,28.59],"6-5-43":[8.59,25.16],"5-2-21":[8.59,42.26],"6-5-44":[6.7,23.39],"6-5-45":[4.27,19.09],"5-2-22":[4.27,32.28],"6-5-46":[-1.36,10.74],"6-5-47":[-17.27,-0.35],"5-2-23":[-17.27,17.65],"6-5-48":[-26.4,-8.28],"6-5-49":[-40.48,-13.41],"5-2-24":[-40.76,-7.42],"6-5-50":[-51.99,-19.83],"6-5-51":[-66.22,-25.93],"5-2-25":[-70.17,-19.83],"6-5-52":[-77.24,-31.84],"6-5-53":[-85.9,-37.71],"5-2-26":[-89,-31.84],"6-5-54":[-96.28,-42.09],"6-5-55":[-112.03,-48.58],"5-2-27":[-113.49,-42.09],"6-5-56":[-123.43,-55.02],"6-5-57":[-130.93,-62.4],"5-2-28":[-131.59,-55.02],"6-5-58":[-131.32,-59.02],"6-5-59":[-121.42,-54.72],"5-2-29":[-131.91,-54.72],"6-5-60":[-111.23,146.66],"6-5-61":[-98.4,-43.74],"5-2-30":[-111.23,146.66],"6-5-62":[-87.94,3579.75],"6-5-63":[-29.55,3100.28],"5-2-31":[-87.94,3807.76],"6-6-0":[10.89,27.18],"6-6-1":[8.99,21.34],"6-6-2":[3.2,17.98],"6-6-3":[0.5,6.62],"6-6-4":[-2.95,6.62],"6-6-5":[-3.68,0.42],"6-6-6":[-2.02,37.03],"6-6-7":[-1.02,1376.89],"6-6-8":[3.71,982.62],"6-6-9":[7.43,985.82],"6-6-10":[11.94,1234.98],"6-6-11":[13.11,705.14],"6-6-12":[-89.41,2536.32],"6-6-13":[3.4,22.83],"6-6-14":[2.65,19.52],"6-6-15":[-7.99,5.64],"6-6-16":[-18.67,-3.61],"6-6-17":[-26.52,-9.15],"6-6-18":[-29.62,-12.33],"6-6-19":[-29.54,-12.54],"6-6-20":[-27.32,-8.27],"6-6-21":[-18.45,-1.95],"6-6-22":[-6.48,7.14],"6-6-23":[3.01,190.01],"6-6-24":[6.51,138.47],"6-6-25":[5.69,15.96],"6-6-26":[5.4,16.51],"6-6-27":[6.05,22.74],"6-6-28":[9.02,28.21],"6-6-29":[-17.46,51.55],"6-6-30":[13.15,50.16],"6-6-31":[15.34,33.27],"6-6-32":[14.32,31.91],"6-6-33":[13.67,32.66],"6-6-34":[12.2,30.79],"6-6-35":[8.78,41.94],"6-6-36":[9.46,29.88],"6-6-37":[9.15,25.29],"6-6-38":[9.38,32.55],"6-6-39":[9.54,25.04],"6-6-40":[7.99,24.13],"6-6-41":[6.63,21.25],"6-6-42":[6.03,21.21],"6-6-43":[5.82,20.07],"6-6-44":[4.24,16.55],"6-6-45":[2.14,12.64],"6-6-46":[-4.05,7.66],"6-6-47":[-16.62,-0.23],"6-6-48":[-26.47,-8.01],"6-6-49":[-39.59,-13.39],"6-6-50":[-50.27,-19.08],"6-6-51":[-63.69,-24.71],"6-6-52":[-73.99,-30.15],"6-6-53":[-84.19,-35.56],"6-6-54":[-95.47,-40.93],"6-6-55":[-110.06,-48.04],"6-6-56":[-123.5,-54.77],"6-6-57":[-129.75,-61.69],"6-6-58":[-129.75,-62.06],"6-6-59":[-121.74,-53.84],"6-6-60":[-109.45,382.35],"6-6-61":[-98.13,-36.44],"6-6-62":[-87.49,3110.85],"6-6-63":[-29.55,3090.17],"6-7-0":[11.05,27.23],"6-7-1":[8.99,21.62],"5-3-0":[8.99,27.23],"6-7-2":[3.11,18.02],"6-7-3":[-1.88,4.75],"5-3-1":[-1.88,18.02],"4-1-0":[-1.88,27.23],"6-7-4":[-2.23,3.16],"6-7-5":[-10.48,-0.69],"5-3-2":[-10.48,6.62],"6-7-6":[-6.6,40.51],"6-7-7":[4.26,1489.28],"5-3-3":[-6.6,1489.28],"4-1-1":[-10.48,1489.28],"3-0-0":[-10.48,1489.28],"6-7-8":[5.88,1063.92],"6-7-9":[20.7,1104.57],"5-3-4":[3.71,1104.57],"6-7-10":[14.91,1599.96],"6-7-11":[-8.97,1740.57],"5-3-5":[-8.97,1740.57],"4-1-2":[-8.97,1740.57],"6-7-12":[-61.85,2512.65],"6-7-13":[5.57,22.76],"5-3-6":[-89.41,2536.32],"6-7-14":[0.64,18.21],"6-7-15":[-12.27,3.05],"5-3-7":[-12.27,19.52],"4-1-3":[-89.41,2863.96],"3-0-1":[-89.41,2863.96],"6-7-16":[-22.25,-4.09],"6-7-17":[-29.14,-10.07],"5-3-8":[-29.14,-3.61],"6-7-18":[-31.98,-13.47],"6-7-19":[-31.86,-13.83],"5-3-9":[-31.98,-12.33],"4-1-4":[-31.98,-2.51],"6-7-20":[-30.11,-10],"6-7-21":[-23.56,-3.54],"5-3-10":[-30.11,-1.95],"6-7-22":[-13.91,4.69],"6-7-23":[0.99,14.6],"5-3-11":[-13.91,190.01],"4-1-5":[-30.11,190.01],"3-0-2":[-31.98,190.01],"6-7-24":[3.42,1613.09],"6-7-25":[5.02,15.52],"5-3-12":[3.42,1613.09],"6-7-26":[3.25,11],"6-7-27":[3.44,17.46],"5-3-13":[3.25,22.74],"4-1-6":[3.25,1613.09],"6-7-28":[7.09,27.01],"6-7-29":[10.93,32.99],"5-3-14":[-17.46,51.55],"6-7-30":[11.96,44.95],"6-7-31":[15.14,36.64],"5-3-15":[11.96,50.16],"4-1-7":[-17.46,51.55],"3-0-3":[-17.46,1613.09],"6-7-32":[14.44,33.46],"6-7-33":[12.08,29.13],"5-3-16":[12.08,33.46],"6-7-34":[9.43,27.02],"6-7-35":[7.86,36.94],"5-3-17":[7.86,41.94],"4-1-8":[7.86,41.94],"6-7-36":[7.22,22.36],"6-7-37":[6.79,18.93],"5-3-18":[6.79,29.88],"6-7-38":[1.56,124.3],"6-7-39":[2.32,568.37],"5-3-19":[1.56,568.37],"4-1-9":[1.56,568.37],"3-0-4":[1.56,1897.33],"6-7-40":[4.25,19.09],"6-7-41":[3.01,14.77],"5-3-20":[3.01,24.13],"6-7-42":[2.34,12.33],"6-7-43":[2.29,11.63],"5-3-21":[2.29,21.21],"4-1-10":[2.29,44.41],"6-7-44":[1.26,10.73],"6-7-45":[0.76,8.15],"5-3-22":[0.76,16.55],"6-7-46":[-6.78,4.11],"6-7-47":[-16.16,-2.7],"5-3-23":[-16.62,7.66],"4-1-11":[-17.27,32.28],"3-0-5":[-36.78,550.11],"6-7-48":[-26.58,-6.48],"6-7-49":[-40.15,-13.72],"5-3-24":[-40.15,-6.48],"6-7-50":[-47.56,-19.18],"6-7-51":[-60.03,-23.45],"5-3-25":[-63.69,-19.08],"4-1-12":[-70.17,-6.48],"6-7-52":[-69.12,-28.3],"6-7-53":[-81.45,-33.85],"5-3-26":[-84.19,-28.3],"6-7-54":[-93.97,-39.48],"6-7-55":[-109.85,-47.07],"5-3-27":[-110.06,-39.48],"4-1-13":[-113.49,-28.3],"3-0-6":[-120.92,6.49],"6-7-56":[-122.72,-54.61],"6-7-57":[-128.44,-60.84],"5-3-28":[-129.75,-54.61],"6-7-58":[-128.99,-62.74],"6-7-59":[-122.71,340.29],"5-3-29":[-129.75,340.29],"4-1-14":[-131.91,340.29],"6-7-60":[-107.62,329.56],"6-7-61":[-97.3,5.39],"5-3-30":[-109.45,382.35],"6-7-62":[-86.37,3872.33],"6-7-63":[-29.55,3078.77],"5-3-31":[-87.49,3872.33],"4-1-15":[-111.23,3872.33],"3-0-7":[-132.79,3970.41],"6-8-0":[11.25,27.28],"6-8-1":[8.74,21.81],"6-8-2":[2.69,17.9],"6-8-3":[-2.96,4.36],"6-8-4":[-4.02,0.26],"6-8-5":[-11.5,-1.15],"6-8-6":[-10.53,46.22],"6-8-7":[12.55,2230.09],"6-8-8":[36.02,2322.75],"6-8-9":[40.43,1231.31],"6-8-10":[15.75,1286.11],"6-8-11":[-30.38,2365.52],"6-8-12":[7.93,340.69],"6-8-13":[5.51,23.37],"6-8-14":[-1.67,15.39],"6-8-15":[-16.52,0.65],"6-8-16":[-24.69,-6.49],"6-8-17":[-32.29,-11.47],"6-8-18":[-35.39,-14.68],"6-8-19":[-34.56,-15.15],"6-8-20":[-31.71,-12.28],"6-8-21":[-26.05,-7.16],"6-8-22":[-18.78,1],"6-8-23":[-3.52,7.31],"6-8-24":[-3.45,4224.76],"6-8-25":[1,4199.19],"6-8-26":[0.32,10.2],"6-8-27":[0.52,13.28],"6-8-28":[4.26,20.81],"6-8-29":[8.36,29.82],"6-8-30":[12.88,34],"6-8-31":[-1.72,39.3],"6-8-32":[14.17,33.54],"6-8-33":[6.64,33.65],"6-8-34":[6.42,29.43],"6-8-35":[5.61,18.21],"6-8-36":[5.17,15.57],"6-8-37":[5.39,18.43],"6-8-38":[3.83,14.4],"6-8-39":[3.25,45.92],"6-8-40":[1.53,11.5],"6-8-41":[0.06,8],"6-8-42":[-0.02,5.43],"6-8-43":[0.21,5.22],"6-8-44":[-2.28,4.54],"6-8-45":[-2.62,2.59],"6-8-46":[-8.98,1.16],"6-8-47":[-17.03,-3.98],"6-8-48":[-25.84,-6.48],"6-8-49":[-38.78,-13.07],"6-8-50":[-45.69,-18.94],"6-8-51":[-56.6,-22.56],"6-8-52":[-66.31,-26.79],"6-8-53":[-78.98,-32.27],"6-8-54":[-91.83,-38.18],"6-8-55":[-109.23,-46.25],"6-8-56":[-120.92,-53.72],"6-8-57":[-127.6,-60.42],"6-8-58":[-128.14,-62.51],"6-8-59":[-122.71,772.25],"6-8-60":[-106.38,254.93],"6-8-61":[-97.02,77.33],"6-8-62":[-84.41,3797.09],"6-8-63":[-29.55,3066.33],"6-9-0":[11.45,27.35],"6-9-1":[8.74,22.1],"5-4-0":[8.74,27.35],"6-9-2":[2.31,17.45],"6-9-3":[-4.87,3.84],"5-4-1":[-4.87,17.9],"6-9-4":[-6.12,-0.5],"6-9-5":[-15.2,-2.83],"5-4-2":[-15.2,0.26],"6-9-6":[-15.2,52.5],"6-9-7":[4.19,2249.45],"5-4-3":[-15.2,2249.45],"6-9-8":[56.64,1957.92],"6-9-9":[69.73,3549.52],"5-4-4":[36.02,3549.52],"6-9-10":[-8.73,3498.22],"6-9-11":[-44.9,2301.61],"5-4-5":[-44.9,3498.22],"6-9-12":[6.61,28.12],"6-9-13":[5.07,22.28],"5-4-6":[5.07,340.69],"6-9-14":[-6.22,10.49],"6-9-15":[-22.36,-1.66],"5-4-7":[-22.36,15.39],"6-9-16":[-30.48,-8.53],"6-9-17":[-38.55,-13.07],"5-4-8":[-38.55,-6.49],"6-9-18":[-40.53,-16.27],"6-9-19":[-40.96,-16.03],"5-4-9":[-40.96,-14.68],"6-9-20":[-37.32,-13.34],"6-9-21":[-28.36,-9.72],"5-4-10":[-37.32,-7.16],"6-9-22":[-23.57,-3.51],"6-9-23":[-16.83,1.38],"5-4-11":[-23.57,7.31],"6-9-24":[-11.52,8.24],"6-9-25":[-7.91,8.27],"5-4-12":[-11.52,4224.76],"6-9-26":[-7.04,2.76],"6-9-27":[-5.19,7.73],"5-4-13":[-7.04,13.28],"6-9-28":[1.39,14.78],"6-9-29":[5.73,25.09],"5-4-14":[1.39,29.82],"6-9-30":[10.36,28.45],"6-9-31":[12.39,30.86],"5-4-15":[-1.72,39.3],"6-9-32":[13.54,31.34],"6-9-33":[10.49,28.46],"5-4-16":[6.64,33.65],"6-9-34":[7.62,22.63],"6-9-35":[4.58,15.89],"5-4-17":[4.58,29.43],"6-9-36":[2.95,11.11],"6-9-37":[-14.06,364.92],"5-4-18":[-14.06,364.92],"6-9-38":[1.83,11.45],"6-9-39":[-0.79,7.86],"5-4-19":[-0.79,45.92],"6-9-40":[-2.81,87.14],"6-9-41":[-2.9,2.06],"5-4-20":[-2.9,87.14],"6-9-42":[-3.32,0.4],"6-9-43":[-4.29,0.66],"5-4-21":[-4.29,5.43],"6-9-44":[-7.14,0.22],"6-9-45":[-8.9,-1.28],"5-4-22":[-8.9,4.54],"6-9-46":[-12.57,-1.34],"6-9-47":[-20.7,-5.15],"5-4-23":[-20.7,1.16],"6-9-48":[-26.09,-8.73],"6-9-49":[-37.6,-13.13],"5-4-24":[-38.78,-6.48],"6-9-50":[-45.9,-17.8],"6-9-51":[-53.38,-22.53],"5-4-25":[-56.6,-17.8],"6-9-52":[-62.81,-25.9],"6-9-53":[-76.09,-30.77],"5-4-26":[-78.98,-25.9],"6-9-54":[-90.63,-37.36],"6-9-55":[-107.41,-45.63],"5-4-27":[-109.23,-37.36],"6-9-56":[-119.96,-53.04],"6-9-57":[-125.63,-58.67],"5-4-28":[-127.6,-53.04],"6-9-58":[-126.31,-58.13],"6-9-59":[-119.94,1007.23],"5-4-29":[-128.14,1007.23],"6-9-60":[-106.59,462.57],"6-9-61":[-96,462.57],"5-4-30":[-106.59,462.57],"6-9-62":[-84.94,2783.57],"6-9-63":[-29.55,3039.73],"5-4-31":[-84.94,3797.09],"6-10-0":[11.66,27.39],"6-10-1":[8.8,22.47],"6-10-2":[2.11,17.55],"6-10-3":[-5.07,2.92],"6-10-4":[-6.14,-2.32],"6-10-5":[-16.63,-2.83],"6-10-6":[-16.98,31.96],"6-10-7":[-2.48,2250.87],"6-10-8":[75.19,1714.22],"6-10-9":[30.42,6207.28],"6-10-10":[-317.19,2318.12],"6-10-11":[5.09,380.19],"6-10-12":[6.09,24.81],"6-10-13":[0.81,18.21],"6-10-14":[-11.19,6.41],"6-10-15":[-27.78,-4.11],"6-10-16":[-35.96,-11.54],"6-10-17":[-43.9,-15.64],"6-10-18":[-45.01,-19.38],"6-10-19":[-44.42,-18.81],"6-10-20":[-43.08,-14.67],"6-10-21":[-34.29,-11.93],"6-10-22":[-28.41,-8.91],"6-10-23":[-23.59,-5.93],"6-10-24":[-20.03,-3.95],"6-10-25":[-15.21,-3.18],"6-10-26":[-11.97,-2.83],"6-10-27":[-7.59,2.35],"6-10-28":[-2.35,10.55],"6-10-29":[2.75,19.96],"6-10-30":[6.93,24.2],"6-10-31":[9.9,28.1],"6-10-32":[11.26,27.88],"6-10-33":[8.09,27.31],"6-10-34":[4.97,20.7],"6-10-35":[0.28,29.22],"6-10-36":[0.02,34.33],"6-10-37":[-7.05,982.44],"6-10-38":[-47,1738.21],"6-10-39":[-8.61,368.88],"6-10-40":[-9.1,399.3],"6-10-41":[-6.13,-0.9],"6-10-42":[-5.03,-1.07],"6-10-43":[-7.02,-1.37],"6-10-44":[-10.1,-2.29],"6-10-45":[-14.95,-3.92],"6-10-46":[-16.66,-4.4],"6-10-47":[-23.64,-6.94],"6-10-48":[-27.68,-10.44],"6-10-49":[-35.5,-13.58],"6-10-50":[-42.84,-16.97],"6-10-51":[-51.64,-20.99],"6-10-52":[-60.08,-24.38],"6-10-53":[-74.73,-29.94],"6-10-54":[-88.65,-36.56],"6-10-55":[-106.09,-44.4],"6-10-56":[-116.67,-51.74],"6-10-57":[-123.8,-57.34],"6-10-58":[-124.5,-55.65],"6-10-59":[-112.82,883.88],"6-10-60":[-105.11,570.37],"6-10-61":[-5.84,549.47],"6-10-62":[-84.94,2425.34],"6-10-63":[-29.55,3008.67],"6-11-0":[11.74,27.45],"6-11-1":[8.8,23.16],"5-5-0":[8.8,27.45],"6-11-2":[1.89,18.15],"6-11-3":[-6.35,2.66],"5-5-1":[-6.35,18.15],"4-2-0":[-6.35,27.45],"6-11-4":[-8.07,-2.32],"6-11-5":[-16.52,-3.47],"5-5-2":[-16.63,-2.32],"6-11-6":[-17.37,5.59],"6-11-7":[-2.46,2337.17],"5-5-3":[-17.37,2337.17],"4-2-1":[-17.37,2337.17],"6-11-8":[96.66,1624.53],"6-11-9":[111.02,4180.16],"5-5-4":[30.42,6207.28],"6-11-10":[-100.65,4014.2],"6-11-11":[5.56,27.09],"5-5-5":[-317.19,4014.2],"4-2-2":[-317.19,6207.28],"6-11-12":[4.91,20.02],"6-11-13":[-4.06,12.89],"5-5-6":[-4.06,24.81],"6-11-14":[-18.2,1.04],"6-11-15":[-33.3,-7.02],"5-5-7":[-33.3,6.41],"4-2-3":[-33.3,340.69],"6-11-16":[-42.2,-14.25],"6-11-17":[-50.16,-18.62],"5-5-8":[-50.16,-11.54],"6-11-18":[-52.64,-21.88],"6-11-19":[-51.01,-21.95],"5-5-9":[-52.64,-18.81],"4-2-4":[-52.64,-6.49],"6-11-20":[-49.53,-17.94],"6-11-21":[-42.64,-14.48],"5-5-10":[-49.53,-11.93],"6-11-22":[-34.91,-12.52],"6-11-23":[-31.5,-10.6],"5-5-11":[-34.91,-5.93],"4-2-5":[-49.53,7.31],"6-11-24":[-29.55,-8.2],"6-11-25":[-23.86,-6.38],"5-5-12":[-29.55,-3.18],"6-11-26":[-19.87,-4.46],"6-11-27":[-13.37,-1.47],"5-5-13":[-19.87,2.35],"4-2-6":[-29.55,4224.76],"6-11-28":[-8.39,3.39],"6-11-29":[-0.38,13.1],"5-5-14":[-8.39,19.96],"6-11-30":[3.79,18.24],"6-11-31":[7.04,23.18],"5-5-15":[3.79,28.1],"4-2-7":[-8.39,39.3],"6-11-32":[8.41,23.23],"6-11-33":[6.61,21.8],"5-5-16":[6.61,27.88],"6-11-34":[1.94,15.53],"6-11-35":[-0.83,8.74],"5-5-17":[-0.83,29.22],"4-2-8":[-0.83,33.65],"6-11-36":[-5.27,4.25],"6-11-37":[-19.17,108.86],"5-5-18":[-19.17,982.44],"6-11-38":[-10.07,418.12],"6-11-39":[-13.37,-1.41],"5-5-19":[-47,1738.21],"4-2-9":[-47,1738.21],"6-11-40":[-14.02,394.12],"6-11-41":[-9.37,-2.74],"5-5-20":[-14.02,399.3],"6-11-42":[-11.22,-2.09],"6-11-43":[-11.68,-2.6],"5-5-21":[-11.68,-1.07],"4-2-10":[-14.02,399.3],"6-11-44":[-14.51,-3.6],"6-11-45":[-18.66,-5.6],"5-5-22":[-18.66,-2.29],"6-11-46":[-22.45,-7.76],"6-11-47":[-26.05,-8.93],"5-5-23":[-26.05,-4.4],"4-2-11":[-26.05,4.54],"6-11-48":[-29.53,-11.9],"6-11-49":[-34.85,-13.59],"5-5-24":[-35.5,-10.44],"6-11-50":[-40.97,-16.5],"6-11-51":[-48.53,-20.15],"5-5-25":[-51.64,-16.5],"4-2-12":[-56.6,-6.48],"6-11-52":[-58.21,-23.76],"6-11-53":[-72.99,-29.48],"5-5-26":[-74.73,-23.76],"6-11-54":[-86.21,-36.12],"6-11-55":[-103.18,-43.08],"5-5-27":[-106.09,-36.12],"4-2-13":[-109.23,-23.76],"6-11-56":[-113.79,-50.3],"6-11-57":[-120.63,-55.96],"5-5-28":[-123.8,-50.3],"6-11-58":[-122.11,-30.17],"6-11-59":[-109.73,896.34],"5-5-29":[-124.5,896.34],"4-2-14":[-128.14,1007.23],"6-11-60":[-50.89,667.99],"6-11-61":[119.31,564.8],"5-5-30":[-105.11,667.99],"6-11-62":[-24.93,3379.23],"6-11-63":[-29.55,2977.45],"5-5-31":[-84.94,3379.23],"4-2-15":[-106.59,3797.09],"6-12-0":[11.81,27.54],"6-12-1":[9.27,23.85],"6-12-2":[1.81,18.51],"6-12-3":[-7.36,2.56],"6-12-4":[-10.2,-3.36],"6-12-5":[-14.2,-3.64],"6-12-6":[-17.25,-1.46],"6-12-7":[-2.4,2626.58],"6-12-8":[127.44,1971.14],"6-12-9":[267.44,4964.36],"6-12-10":[-3.84,5003.13],"6-12-11":[5.53,17.77],"6-12-12":[1.22,17.44],"6-12-13":[-9.28,8.08],"6-12-14":[-24.33,-2.54],"6-12-15":[-38.37,-10.05],"6-12-16":[-46.59,-16.83],"6-12-17":[-57.08,-21.69],"6-12-18":[-58.76,-25],"6-12-19":[-58.51,-24.8],"6-12-20":[-55.3,-22.36],"6-12-21":[-47.72,-17.53],"6-12-22":[-42.01,-15.94],"6-12-23":[-37.95,-14.94],"6-12-24":[-36.96,-12.18],"6-12-25":[-32.38,-10.05],"6-12-26":[-27.79,-7.26],"6-12-27":[-19.35,-4.41],"6-12-28":[-13.92,-0.37],"6-12-29":[-6.27,6.6],"6-12-30":[-0.21,13.43],"6-12-31":[3.37,18.86],"6-12-32":[5.2,19.08],"6-12-33":[3.85,16.44],"6-12-34":[1,12.4],"6-12-35":[-5.91,3.06],"6-12-36":[-9.39,-0.47],"6-12-37":[-17.5,26.39],"6-12-38":[-14.85,15.85],"6-12-39":[-17.05,13.14],"6-12-40":[-17.31,-5.04],"6-12-41":[-154.99,367.1],"6-12-42":[-15.2,-4.66],"6-12-43":[-16.85,-5.49],"6-12-44":[-17.72,-5.68],"6-12-45":[-20.88,-7.48],"6-12-46":[-23.23,-9.37],"6-12-47":[-28.2,-11.32],"6-12-48":[-31.15,-13.01],"6-12-49":[-35.22,-15.16],"6-12-50":[-39.72,-16.79],"6-12-51":[-47.41,-19.15],"6-12-52":[-57.34,-23.29],"6-12-53":[-72.24,-28.77],"6-12-54":[-84.64,-35.59],"6-12-55":[-100.6,-41.81],"6-12-56":[-110.81,-48.6],"6-12-57":[-116.73,-54.27],"6-12-58":[-118.77,732.21],"6-12-59":[-106.63,1118.71],"6-12-60":[70.79,697.82],"6-12-61":[154.07,547.44],"6-12-62":[132.66,3177.52],"6-12-63":[-29.55,2958.4],"6-13-0":[11.89,27.69],"6-13-1":[9.27,24.72],"5-6-0":[9.27,27.69],"6-13-2":[1.77,18.69],"6-13-3":[-8.12,2.29],"5-6-1":[-8.12,18.69],"6-13-4":[-12.79,-3.7],"6-13-5":[-16.12,-5.11],"5-6-2":[-16.12,-3.36],"6-13-6":[-16.46,-1.51],"6-13-7":[-4.5,2443.65],"5-6-3":[-17.25,2626.58],"6-13-8":[159.96,1955.52],"6-13-9":[264.67,3305.19],"5-6-4":[127.44,4964.36],"6-13-10":[-0.63,5501.18],"6-13-11":[3.4,16.19],"5-6-5":[-3.84,5501.18],"6-13-12":[-4.33,12.53],"6-13-13":[-18.11,1.23],"5-6-6":[-18.11,17.44],"6-13-14":[-32.01,-5.03],"6-13-15":[-45.8,-13.68],"5-6-7":[-45.8,-2.54],"6-13-16":[-52.61,-19.6],"6-13-17":[-65.07,-24.29],"5-6-8":[-65.07,-16.83],"6-13-18":[-66.2,-29.09],"6-13-19":[-65.62,-28.05],"5-6-9":[-66.2,-24.8],"6-13-20":[-61.26,-25.11],"6-13-21":[-55.52,-21.57],"5-6-10":[-61.26,-17.53],"6-13-22":[-51.8,-19.25],"6-13-23":[-47.07,-19.08],"5-6-11":[-51.8,-14.94],"6-13-24":[-46.24,-17.09],"6-13-25":[-43.41,-14.52],"5-6-12":[-46.24,-10.05],"6-13-26":[-38.71,-10.51],"6-13-27":[-27.96,-7.34],"5-6-13":[-38.71,-4.41],"6-13-28":[-23.22,-4.17],"6-13-29":[-16.97,-0.2],"5-6-14":[-23.22,6.6],"6-13-30":[-9.11,5.15],"6-13-31":[-0.62,10.05],"5-6-15":[-9.11,18.86],"6-13-32":[1.62,10.97],"6-13-33":[1.64,9.15],"5-6-16":[1.62,19.08],"6-13-34":[-12.01,574],"6-13-35":[-8.4,3.2],"5-6-17":[-12.01,574],"6-13-36":[-12.41,-2.96],"6-13-37":[-12.61,18.94],"5-6-18":[-17.5,26.39],"6-13-38":[-17.05,15.14],"6-13-39":[-23.08,21.33],"5-6-19":[-23.08,21.33],"6-13-40":[-20.89,-7.97],"6-13-41":[-20.89,-4.36],"5-6-20":[-154.99,367.1],"6-13-42":[-17.41,-4.92],"6-13-43":[-19.71,-8.03],"5-6-21":[-19.71,-4.66],"6-13-44":[-19.71,-8.36],"6-13-45":[-23.09,-9.22],"5-6-22":[-23.09,-5.68],"6-13-46":[-26.22,-10.62],"6-13-47":[-29.93,-11.92],"5-6-23":[-29.93,-9.37],"6-13-48":[-33.2,-14.27],"6-13-49":[-36.69,-15.88],"5-6-24":[-36.69,-13.01],"6-13-50":[-37.72,-16.79],"6-13-51":[-46.58,-18.04],"5-6-25":[-47.41,-16.79],"6-13-52":[-56.13,-21.69],"6-13-53":[-71.1,-28.36],"5-6-26":[-72.24,-21.69],"6-13-54":[-82.17,-35.16],"6-13-55":[-96.84,-41.49],"5-6-27":[-100.6,-35.16],"6-13-56":[-107.17,-47.12],"6-13-57":[-113.4,-52.39],"5-6-28":[-116.73,-47.12],"6-13-58":[-113.8,799.79],"6-13-59":[542.77,1415.24],"5-6-29":[-118.77,1415.24],"6-13-60":[220.94,696.8],"6-13-61":[196.25,578.81],"5-6-30":[70.79,697.82],"6-13-62":[157.82,2807.42],"6-13-63":[-29.55,2933.27],"5-6-31":[-29.55,3177.52],"6-14-0":[11.98,27.81],"6-14-1":[9.31,25.28],"6-14-2":[1.78,18.69],"6-14-3":[-8.42,2.84],"6-14-4":[-14.71,-4.24],"6-14-5":[-17.71,-6.65],"6-14-6":[-16.95,-3.21],"6-14-7":[-6.95,1629.08],"6-14-8":[241.64,2195.84],"6-14-9":[291.07,2352.25],"6-14-10":[-17.81,5990.12],"6-14-11":[-1.23,1250.79],"6-14-12":[-8.91,5.47],"6-14-13":[-24.35,-2.9],"6-14-14":[-37.36,-9.51],"6-14-15":[-50.8,-17],"6-14-16":[-57.16,-23.13],"6-14-17":[-69.06,-26.79],"6-14-18":[-71.13,-32.26],"6-14-19":[-70.57,-30.63],"6-14-20":[-66.49,-28.02],"6-14-21":[-61.06,-25.99],"6-14-22":[-58.98,-23.49],"6-14-23":[-55.47,-22.95],"6-14-24":[-54.23,-21.9],"6-14-25":[-50.55,-19.65],"6-14-26":[-46.21,-14.46],"6-14-27":[-36.47,-11.82],"6-14-28":[-32.84,-8.88],"6-14-29":[-24.98,-4.86],"6-14-30":[-17.66,-0.54],"6-14-31":[-8.29,3.14],"6-14-32":[-4.33,4.38],"6-14-33":[-3.04,4.04],"6-14-34":[-30.12,444.87],"6-14-35":[-45.64,1253.85],"6-14-36":[-15.82,-4.2],"6-14-37":[-18.57,11.81],"6-14-38":[-20.38,12.56],"6-14-39":[-34.53,29.28],"6-14-40":[-23.61,-9.96],"6-14-41":[-23.65,-8.25],"6-14-42":[-22.26,-7.63],"6-14-43":[-21.36,-8.79],"6-14-44":[-21.36,-9.44],"6-14-45":[-23.95,-9.8],"6-14-46":[-26.93,-11.59],"6-14-47":[-30.83,-13.34],"6-14-48":[-34.25,-14.96],"6-14-49":[-36.46,-16.64],"6-14-50":[-38.97,-17.15],"6-14-51":[-43.17,-17.84],"6-14-52":[-55.2,-20.47],"6-14-53":[-70.32,-27.45],"6-14-54":[-81.47,-34.2],"6-14-55":[-94.24,-40.37],"6-14-56":[-103.99,-46.19],"6-14-57":[-110.48,-50.32],"6-14-58":[-111.11,1501.65],"6-14-59":[649.8,1730.64],"6-14-60":[290.61,752.21],"6-14-61":[298.29,587.99],"6-14-62":[230.04,3232.04],"6-14-63":[-29.54,2914.46],"6-15-0":[12.07,27.95],"6-15-1":[9.31,25.8],"5-7-0":[9.31,27.95],"6-15-2":[2,18.62],"6-15-3":[-9.36,3.57],"5-7-1":[-9.36,18.69],"4-3-0":[-9.36,27.95],"6-15-4":[-15.66,-4.24],"6-15-5":[-19.9,-7.76],"5-7-2":[-19.9,-4.24],"6-15-6":[-18.71,-3.02],"6-15-7":[-10.73,1677.33],"5-7-3":[-18.71,1677.33],"4-3-1":[-19.9,2626.58],"3-1-0":[-19.9,2626.58],"6-15-8":[6.28,2201.64],"6-15-9":[372.06,2244.89],"5-7-4":[6.28,2352.25],"6-15-10":[-3.5,3286.53],"6-15-11":[-24.01,4338.49],"5-7-5":[-24.01,5990.12],"4-3-2":[-24.01,5990.12],"6-15-12":[-16,0.26],"6-15-13":[-30.5,-5.77],"5-7-6":[-30.5,5.47],"6-15-14":[-41.91,-12.56],"6-15-15":[-54.89,-19.83],"5-7-7":[-54.89,-9.51],"4-3-3":[-54.89,17.44],"3-1-1":[-317.19,6207.28],"2-0-0":[-317.19,6207.28],"6-15-16":[-61.53,-25.72],"6-15-17":[-71.96,-29.35],"5-7-8":[-71.96,-23.13],"6-15-18":[-74.97,-34.5],"6-15-19":[-75.35,-33.7],"5-7-9":[-75.35,-30.63],"4-3-4":[-75.35,-16.83],"6-15-20":[-73.32,-31.19],"6-15-21":[-69.11,-29.89],"5-7-10":[-73.32,-25.99],"6-15-22":[-67.31,-28.48],"6-15-23":[-66.05,-27.68],"5-7-11":[-67.31,-22.95],"4-3-5":[-73.32,-14.94],"3-1-2":[-75.35,7.31],"6-15-24":[-64.91,-26.11],"6-15-25":[-62.05,-23.7],"5-7-12":[-64.91,-19.65],"6-15-26":[-58.25,-19.12],"6-15-27":[-49.51,-17.07],"5-7-13":[-58.25,-11.82],"4-3-6":[-64.91,-4.41],"6-15-28":[-44.78,-13.51],"6-15-29":[-35.93,-9.36],"5-7-14":[-44.78,-4.86],"6-15-30":[-28.32,-5.14],"6-15-31":[-19.14,-2.71],"5-7-15":[-28.32,3.14],"4-3-7":[-44.78,18.86],"3-1-3":[-64.91,4224.76],"2-0-1":[-75.35,4224.76],"6-15-32":[-13.73,-1.71],"6-15-33":[-10.63,-1.49],"5-7-16":[-13.73,4.38],"6-15-34":[-10.78,-2.12],"6-15-35":[-13.93,-2.93],"5-7-17":[-45.64,1253.85],"4-3-8":[-45.64,1253.85],"6-15-36":[-18.78,-4.46],"6-15-37":[-22.12,-7.9],"5-7-18":[-22.12,11.81],"6-15-38":[-22.48,7.98],"6-15-39":[-23.83,16.82],"5-7-19":[-34.53,29.28],"4-3-9":[-34.53,29.28],"3-1-4":[-47,1738.21],"6-15-40":[-25.6,210.54],"6-15-41":[-26.63,-11.38],"5-7-20":[-26.63,210.54],"6-15-42":[-26.15,-10.1],"6-15-43":[-23.47,-10.22],"5-7-21":[-26.15,-7.63],"4-3-10":[-154.99,367.1],"6-15-44":[-23.37,-10.28],"6-15-45":[-24.8,-10.38],"5-7-22":[-24.8,-9.44],"6-15-46":[-27.57,-12.05],"6-15-47":[-31.68,-13.68],"5-7-23":[-31.68,-11.59],"4-3-11":[-31.68,-5.68],"3-1-5":[-154.99,399.3],"2-0-2":[-154.99,1897.33],"6-15-48":[-33.83,-15.28],"6-15-49":[-36.24,-16.57],"5-7-24":[-36.46,-14.96],"6-15-50":[-40.85,-17.93],"6-15-51":[-40.81,-17.17],"5-7-25":[-43.17,-17.15],"4-3-12":[-47.41,-13.01],"6-15-52":[-53.46,-20.29],"6-15-53":[-68.22,-26.61],"5-7-26":[-70.32,-20.29],"6-15-54":[-79.48,-33.55],"6-15-55":[-91.99,-40.09],"5-7-27":[-94.24,-33.55],"4-3-13":[-100.6,-20.29],"3-1-6":[-109.23,-6.48],"6-15-56":[-99.15,-44.2],"6-15-57":[-105.53,-47.94],"5-7-28":[-110.48,-44.2],"6-15-58":[-105.53,1582.81],"6-15-59":[752.2,3280.76],"5-7-29":[-111.11,3280.76],"4-3-14":[-118.77,3280.76],"6-15-60":[370.12,1055.95],"6-15-61":[342.75,583.66],"5-7-30":[290.61,1055.95],"6-15-62":[359.13,3299.77],"6-15-63":[-29.54,2899.4],"5-7-31":[-29.54,3299.77],"4-3-15":[-29.55,3299.77],"3-1-7":[-128.14,3797.09],"2-0-3":[-132.79,3970.41],"6-16-0":[12.18,28.06],"6-16-1":[9.42,26.44],"6-16-2":[2.35,18.81],"6-16-3":[-9.47,3.62],"6-16-4":[-15.5,-4.65],"6-16-5":[-19.9,-6.14],"6-16-6":[-18.71,-2.92],"6-16-7":[-13.51,358.63],"6-16-8":[4.93,2700.74],"6-16-9":[524.03,2379.96],"6-16-10":[138.16,2349.52],"6-16-11":[-19.04,3089.83],"6-16-12":[-32.37,1191.79],"6-16-13":[-32.78,1099.24],"6-16-14":[-42.73,-15.25],"6-16-15":[-55.78,-21.82],"6-16-16":[-62.13,-27.45],"6-16-17":[-73.82,-31.05],"6-16-18":[-77.86,-35.86],"6-16-19":[-79.19,-36.66],"6-16-20":[-78.8,-34.53],"6-16-21":[-75.08,-33.65],"6-16-22":[-74.19,-33.08],"6-16-23":[-73.6,-32.44],"6-16-24":[-71.56,-31.17],"6-16-25":[-70.97,-29.12],"6-16-26":[-66.99,-25.12],"6-16-27":[-59.8,-22.61],"6-16-28":[-53.63,-18.47],"6-16-29":[-44.99,-14.42],"6-16-30":[-35.2,-9.88],"6-16-31":[-25.62,-7.01],"6-16-32":[-19.94,-5.38],"6-16-33":[-16.2,-5.07],"6-16-34":[-15.92,-4.9],"6-16-35":[-16.42,-5.38],"6-16-36":[-19.23,-6.96],"6-16-37":[-22.12,-9.38],"6-16-38":[-22.83,-10.64],"6-16-39":[-23.64,-10.88],"6-16-40":[-25.6,395.5],"6-16-41":[-27.18,-12.58],"6-16-42":[-27.19,-11.89],"6-16-43":[-25.25,-11.48],"6-16-44":[-23.89,-10.73],"6-16-45":[-25.51,-11.64],"6-16-46":[-27.55,-12.42],"6-16-47":[-30.38,-13.83],"6-16-48":[-32.72,-14.63],"6-16-49":[-36.23,-15.29],"6-16-50":[-40.57,-17.57],"6-16-51":[-40.62,-17.17],"6-16-52":[-52.6,-20.03],"6-16-53":[-67.1,-26.24],"6-16-54":[-78.95,-32.27],"6-16-55":[-88.41,-38.74],"6-16-56":[-94.87,-42.36],"6-16-57":[-102.31,-45.37],"6-16-58":[-102.31,2780.28],"6-16-59":[1055.94,3057.06],"6-16-60":[561.63,1251.61],"6-16-61":[360.22,729.54],"6-16-62":[569.39,3324.73],"6-16-63":[-29.54,2887.59],"6-17-0":[12.28,28.2],"6-17-1":[9.42,27.09],"5-8-0":[9.42,28.2],"6-17-2":[2.44,19.47],"6-17-3":[-9.26,3.4],"5-8-1":[-9.47,19.47],"6-17-4":[-12.46,-4.27],"6-17-5":[-17.6,-3.54],"5-8-2":[-19.9,-3.54],"6-17-6":[-16.97,-3.57],"6-17-7":[-17.03,450.81],"5-8-3":[-18.71,450.81],"6-17-8":[-1,2409.04],"6-17-9":[729.41,2941.77],"5-8-4":[-1,2941.77],"6-17-10":[639.5,2300.19],"6-17-11":[-7.73,3041.41],"5-8-5":[-19.04,3089.83],"6-17-12":[-40.41,2709.89],"6-17-13":[-36.12,1110.77],"5-8-6":[-40.41,2709.89],"6-17-14":[-44.38,-16.38],"6-17-15":[-55.37,-22.03],"5-8-7":[-55.78,-15.25],"6-17-16":[-62.03,-26.24],"6-17-17":[-74.43,-30.62],"5-8-8":[-74.43,-26.24],"6-17-18":[-79.53,-36.84],"6-17-19":[-81.78,-38.94],"5-8-9":[-81.78,-35.86],"6-17-20":[-81.39,-38.14],"6-17-21":[-82.89,-37.3],"5-8-10":[-82.89,-33.65],"6-17-22":[-83.1,-37.32],"6-17-23":[-82.35,-36.18],"5-8-11":[-83.1,-32.44],"6-17-24":[-81.19,-36.06],"6-17-25":[-80.32,-33.99],"5-8-12":[-81.19,-29.12],"6-17-26":[-77.62,-31.19],"6-17-27":[-70.94,-27.45],"5-8-13":[-77.62,-22.61],"6-17-28":[-64.31,-23.68],"6-17-29":[-54,-18.06],"5-8-14":[-64.31,-14.42],"6-17-30":[-43.73,-13.82],"6-17-31":[-34.31,-10.34],"5-8-15":[-43.73,-7.01],"6-17-32":[-28.04,-8.32],"6-17-33":[-22.53,-7.81],"5-8-16":[-28.04,-5.07],"6-17-34":[-20.71,-7.81],"6-17-35":[-20.22,-8],"5-8-17":[-20.71,-4.9],"6-17-36":[-18.91,-8.25],"6-17-37":[-21.69,-9.44],"5-8-18":[-22.12,-6.96],"6-17-38":[-22.79,-10.07],"6-17-39":[-23.64,-11.06],"5-8-19":[-23.64,-10.07],"6-17-40":[-25.6,315.4],"6-17-41":[-27.15,-11.32],"5-8-20":[-27.18,395.5],"6-17-42":[-27.2,-12.55],"6-17-43":[-25.3,-11.22],"5-8-21":[-27.2,-11.22],"6-17-44":[-23.39,-10.83],"6-17-45":[-25.69,-11.63],"5-8-22":[-25.69,-10.73],"6-17-46":[-27.32,-12.29],"6-17-47":[-29.02,-13.43],"5-8-23":[-30.38,-12.29],"6-17-48":[-30.31,-14],"6-17-49":[-34.83,-14.43],"5-8-24":[-36.23,-14],"6-17-50":[-36.28,-15.71],"6-17-51":[-39.91,-16.54],"5-8-25":[-40.62,-15.71],"6-17-52":[-49.95,-19.22],"6-17-53":[-64.39,-24.43],"5-8-26":[-67.1,-19.22],"6-17-54":[-75.83,-31.35],"6-17-55":[-84.15,-37.16],"5-8-27":[-88.41,-31.35],"6-17-56":[-89.73,-39.94],"6-17-57":[-97.13,-43.44],"5-8-28":[-102.31,-39.94],"6-17-58":[-96.35,2730.02],"6-17-59":[1251.6,2341.32],"5-8-29":[-102.31,3057.06],"6-17-60":[646.73,1350.33],"6-17-61":[434.89,803.49],"5-8-30":[360.22,1350.33],"6-17-62":[729.53,3573.17],"6-17-63":[-29.54,2879.05],"5-8-31":[-29.54,3573.17],"6-18-0":[12.4,28.31],"6-18-1":[10.07,27.6],"6-18-2":[2.4,20.08],"6-18-3":[-8.33,2.75],"6-18-4":[-10.4,-2.36],"6-18-5":[-18.83,-3.43],"6-18-6":[-22.53,142.08],"6-18-7":[-18.17,429.97],"6-18-8":[-0.16,2151.79],"6-18-9":[348.42,2614.23],"6-18-10":[9.51,2710.75],"6-18-11":[294.75,2698.9],"6-18-12":[-24.66,2746.59],"6-18-13":[-259.61,2747.57],"6-18-14":[-46.28,1843.49],"6-18-15":[-53.35,-22.18],"6-18-16":[-60.66,-26.44],"6-18-17":[-73.74,-29.66],"6-18-18":[-79.72,-35.92],"6-18-19":[-82.56,-39.87],"6-18-20":[-83.14,-40.29],"6-18-21":[-87.25,-40.68],"6-18-22":[-88.44,-41.38],"6-18-23":[-87.74,-40.45],"6-18-24":[-87.08,-40.24],"6-18-25":[-86.36,-38.8],"6-18-26":[-83.25,-35.89],"6-18-27":[-78.02,-32.16],"6-18-28":[-71.88,-27.65],"6-18-29":[-60.18,-22.1],"6-18-30":[-49.79,-17.75],"6-18-31":[-40.43,-14.23],"6-18-32":[-34.17,-11.43],"6-18-33":[-27.72,-10.12],"6-18-34":[-24.22,-9.98],"6-18-35":[-22.71,-9.16],"6-18-36":[-19.05,-9.09],"6-18-37":[-20.03,-8.96],"6-18-38":[-21.83,-9.07],"6-18-39":[-23.26,-10.05],"6-18-40":[-22.96,30.18],"6-18-41":[-25.64,-10.66],"6-18-42":[-26.07,-11.58],"6-18-43":[-24.63,-10.9],"6-18-44":[-23.29,-10.9],"6-18-45":[-24.95,-11.37],"6-18-46":[-26.58,-12.17],"6-18-47":[-27.96,-12.57],"6-18-48":[-28.66,-12.73],"6-18-49":[-31.29,-12.64],"6-18-50":[-33.1,-13.52],"6-18-51":[-38.3,-14.77],"6-18-52":[-46.75,-18.61],"6-18-53":[-62.71,-23.22],"6-18-54":[-73.11,-30.4],"6-18-55":[-79.89,-35.13],"6-18-56":[-85.72,-38.01],"6-18-57":[-91.81,-40.53],"6-18-58":[-89.38,2750.5],"6-18-59":[1350.32,2817.84],"6-18-60":[749.4,1490.05],"6-18-61":[552.13,901.46],"6-18-62":[803.48,3682.63],"6-18-63":[-29.54,2878.07],"6-19-0":[12.49,28.44],"6-19-1":[10.07,28.63],"5-9-0":[10.07,28.63],"6-19-2":[2.33,20.54],"6-19-3":[-8.14,2.42],"5-9-1":[-8.33,20.54],"4-4-0":[-9.47,28.63],"6-19-4":[-13.58,-2.05],"6-19-5":[-21.21,283.5],"5-9-2":[-21.21,283.5],"6-19-6":[-26.63,317.55],"6-19-7":[-24.44,581.34],"5-9-3":[-26.63,581.34],"4-4-1":[-26.63,581.34],"6-19-8":[-7.43,973.14],"6-19-9":[6.63,2480.85],"5-9-4":[-7.43,2614.23],"6-19-10":[-1.43,2228.73],"6-19-11":[399.03,2929.86],"5-9-5":[-1.43,2929.86],"4-4-2":[-19.04,3089.83],"6-19-12":[587.41,2399.44],"6-19-13":[-30.31,3974.94],"5-9-6":[-259.61,3974.94],"6-19-14":[-46.53,2829.29],"6-19-15":[-55.15,2131.34],"5-9-7":[-55.15,2829.29],"4-4-3":[-259.61,3974.94],"6-19-16":[-60.39,1592.47],"6-19-17":[-71.31,1595.59],"5-9-8":[-73.74,1595.59],"6-19-18":[-78.96,251.63],"6-19-19":[-83.12,-38.05],"5-9-9":[-83.12,251.63],"4-4-4":[-83.12,1595.59],"6-19-20":[-84.9,-41.29],"6-19-21":[-89.63,-42.03],"5-9-10":[-89.63,-40.29],"6-19-22":[-92.74,-43.78],"6-19-23":[-93.19,-43.92],"5-9-11":[-93.19,-40.45],"4-4-5":[-93.19,-32.44],"6-19-24":[-93.06,-43.61],"6-19-25":[-92.29,-42.14],"5-9-12":[-93.06,-38.8],"6-19-26":[-89.24,-39.76],"6-19-27":[-85.23,-36.36],"5-9-13":[-89.24,-32.16],"4-4-6":[-93.06,-22.61],"6-19-28":[-78.96,-31.27],"6-19-29":[-67.42,-25.3],"5-9-14":[-78.96,-22.1],"6-19-30":[-57.07,-21.14],"6-19-31":[-48.07,-17.54],"5-9-15":[-57.07,-14.23],"4-4-7":[-78.96,-7.01],"6-19-32":[-41.41,-14.6],"6-19-33":[-33.3,-12.43],"5-9-16":[-41.41,-10.12],"6-19-34":[-28.55,-11.75],"6-19-35":[-23.48,-9.55],"5-9-17":[-28.55,-9.16],"4-4-8":[-41.41,-4.9],"6-19-36":[-19.4,-8.58],"6-19-37":[-18.07,-7.73],"5-9-18":[-20.03,-7.73],"6-19-38":[-19.41,-7.69],"6-19-39":[-21.4,-8.18],"5-9-19":[-23.26,-7.69],"4-4-9":[-23.64,-6.96],"6-19-40":[-21.19,0.38],"6-19-41":[-23.26,-9.49],"5-9-20":[-25.64,30.18],"6-19-42":[-23.81,-10.86],"6-19-43":[-23.19,-10.71],"5-9-21":[-26.07,-10.71],"4-4-10":[-27.2,395.5],"6-19-44":[-23.63,-10.75],"6-19-45":[-24.65,-11.33],"5-9-22":[-24.95,-10.75],"6-19-46":[-24.92,-11.97],"6-19-47":[-25.67,-11.81],"5-9-23":[-27.96,-11.81],"4-4-11":[-30.38,-10.73],"6-19-48":[-25.62,-11.54],"6-19-49":[-26.6,-11.36],"5-9-24":[-31.29,-11.36],"6-19-50":[-29.05,-11.87],"6-19-51":[-37.03,-13.23],"5-9-25":[-38.3,-11.87],"4-4-12":[-40.62,-11.36],"6-19-52":[-44.46,-17.75],"6-19-53":[-60.61,-22.7],"5-9-26":[-62.71,-17.75],"6-19-54":[-69.03,-29.59],"6-19-55":[-75.62,-33.5],"5-9-27":[-79.89,-29.59],"4-4-13":[-88.41,-17.75],"6-19-56":[-80.8,-36.68],"6-19-57":[-87.74,-39.43],"5-9-28":[-91.81,-36.68],"6-19-58":[-80.06,2986.57],"6-19-59":[1490.04,3530.83],"5-9-29":[-89.38,3530.83],"4-4-14":[-102.31,3530.83],"6-19-60":[865.9,1514.1],"6-19-61":[606.22,956.54],"5-9-30":[552.13,1514.1],"6-19-62":[901.45,3114.64],"6-19-63":[-29.54,2878.57],"5-9-31":[-29.54,3682.63],"4-4-15":[-29.54,3682.63],"6-20-0":[12.6,28.55],"6-20-1":[10.43,29.48],"6-20-2":[2.27,20.82],"6-20-3":[-7.48,2.38],"6-20-4":[-13.58,105.36],"6-20-5":[-22.77,360.51],"6-20-6":[-29.85,693.54],"6-20-7":[-27.48,842.66],"6-20-8":[101.52,662.44],"6-20-9":[38.73,1501.83],"6-20-10":[-7.86,1335.36],"6-20-11":[265.12,2410.7],"6-20-12":[394.15,2580.47],"6-20-13":[176.29,3118.01],"6-20-14":[-26.42,3265.41],"6-20-15":[-24.65,4373.52],"6-20-16":[-14.17,3180.62],"6-20-17":[-27.55,4292.74],"6-20-18":[-76.12,2093.71],"6-20-19":[-82.77,1757.21],"6-20-20":[-84.77,-39.45],"6-20-21":[-90.02,-41.79],"6-20-22":[-93.63,-44.7],"6-20-23":[-95.18,-46.27],"6-20-24":[-95.41,-46.25],"6-20-25":[-94.65,-44.61],"6-20-26":[-91.54,-43],"6-20-27":[-87.87,-39.48],"6-20-28":[-81.88,-34.42],"6-20-29":[-70.45,-28.53],"6-20-30":[-61.33,-24.48],"6-20-31":[-52.2,-20.85],"6-20-32":[-45.21,-17.01],"6-20-33":[-35.82,-14.29],"6-20-34":[-30,-12.23],"6-20-35":[-24.98,-9.38],"6-20-36":[-19.21,-7.52],"6-20-37":[-16.88,-6.21],"6-20-38":[-16.13,-6.04],"6-20-39":[-17.89,-6.16],"6-20-40":[-18.62,-6.82],"6-20-41":[-21.61,-7.83],"6-20-42":[-22.22,-9.86],"6-20-43":[-23.83,-10.66],"6-20-44":[-24.73,-11.26],"6-20-45":[-25.79,-11.42],"6-20-46":[-25.8,-11.97],"6-20-47":[-24.13,-11.21],"6-20-48":[-23.48,-10.65],"6-20-49":[-23.65,-10.31],"6-20-50":[-26.04,-10.7],"6-20-51":[-35.46,-11.92],"6-20-52":[-44.23,-15.93],"6-20-53":[-59.19,-21.91],"6-20-54":[-66.26,-28.4],"6-20-55":[-73.37,-32.29],"6-20-56":[-79.03,-35.55],"6-20-57":[-84.12,-37.56],"6-20-58":[-79.02,1956.61],"6-20-59":[1514.09,2297.87],"6-20-60":[953.69,1535.12],"6-20-61":[812.01,1063],"6-20-62":[956.53,2865.19],"6-20-63":[-29.59,2878.57],"6-21-0":[12.69,28.95],"6-21-1":[10.43,30.37],"5-10-0":[10.43,30.37],"6-21-2":[2.27,21.72],"6-21-3":[-4.05,2.72],"5-10-1":[-7.48,21.72],"6-21-4":[-14.88,306.82],"6-21-5":[-25.82,454.87],"5-10-2":[-25.82,454.87],"6-21-6":[-33.35,413.74],"6-21-7":[-35.21,781.37],"5-10-3":[-35.21,842.66],"6-21-8":[126.37,696.58],"6-21-9":[137.72,880.39],"5-10-4":[38.73,1501.83],"6-21-10":[-10.46,833.93],"6-21-11":[299.05,1099.39],"5-10-5":[-10.46,2410.7],"6-21-12":[314.78,3253.8],"6-21-13":[300.79,3939.1],"5-10-6":[176.29,3939.1],"6-21-14":[196.37,2946.16],"6-21-15":[15.24,2851.96],"5-10-7":[-26.42,4373.52],"6-21-16":[351.22,2953.97],"6-21-17":[661.98,3100.13],"5-10-8":[-27.55,4292.74],"6-21-18":[-17.49,4387.58],"6-21-19":[-41.7,4242],"5-10-9":[-82.77,4387.58],"6-21-20":[-83.6,610.58],"6-21-21":[-89.13,1248.21],"5-10-10":[-90.02,1248.21],"6-21-22":[-93.13,-43.26],"6-21-23":[-95.04,-45.42],"5-10-11":[-95.18,-43.26],"6-21-24":[-95.32,-46.3],"6-21-25":[-94.74,-45.23],"5-10-12":[-95.41,-44.61],"6-21-26":[-91.98,-43.77],"6-21-27":[-87.81,-40.96],"5-10-13":[-91.98,-39.48],"6-21-28":[-82.67,-36.11],"6-21-29":[-71.2,-30.73],"5-10-14":[-82.67,-28.53],"6-21-30":[-63.31,-26.83],"6-21-31":[-54.81,-22.8],"5-10-15":[-63.31,-20.85],"6-21-32":[-47.82,-18.67],"6-21-33":[-38.41,-15.13],"5-10-16":[-47.82,-14.29],"6-21-34":[-32.21,-12.89],"6-21-35":[-25.63,-9.33],"5-10-17":[-32.21,-9.33],"6-21-36":[-19.3,-6.07],"6-21-37":[-14.54,-4.67],"5-10-18":[-19.3,-4.67],"6-21-38":[-12.06,-4.21],"6-21-39":[-13.18,-4.21],"5-10-19":[-17.89,-4.21],"6-21-40":[-15.05,-5.08],"6-21-41":[-19.58,-6.52],"5-10-20":[-21.61,-5.08],"6-21-42":[-21.17,-9.26],"6-21-43":[-22.89,-10.44],"5-10-21":[-23.83,-9.26],"6-21-44":[-24.5,-11.31],"6-21-45":[-26.05,-12.01],"5-10-22":[-26.05,-11.26],"6-21-46":[-26.03,-11.96],"6-21-47":[-24,-10.76],"5-10-23":[-26.03,-10.76],"6-21-48":[-22.24,-10.03],"6-21-49":[-21.6,-9.78],"5-10-24":[-23.65,-9.78],"6-21-50":[-23.2,-10.14],"6-21-51":[-31.43,-11.33],"5-10-25":[-35.46,-10.14],"6-21-52":[-42.02,-14.72],"6-21-53":[-56.28,-21.16],"5-10-26":[-59.19,-14.72],"6-21-54":[-63.59,-26.87],"6-21-55":[-71.43,-31.11],"5-10-27":[-73.37,-26.87],"6-21-56":[-74.31,-34.39],"6-21-57":[-79.17,-34.74],"5-10-28":[-84.12,-34.39],"6-21-58":[-75.47,1699.95],"6-21-59":[1495.5,2538.05],"5-10-29":[-79.02,2538.05],"6-21-60":[1062.99,1626.41],"6-21-61":[869.71,1241.73],"5-10-30":[812.01,1626.41],"6-21-62":[1025.91,2638.67],"6-21-63":[-29.63,2874.63],"5-10-31":[-29.63,2878.57],"6-22-0":[12.8,29.12],"6-22-1":[11.43,30.77],"6-22-2":[2.33,22.89],"6-22-3":[-2.3,5.53],"6-22-4":[-15.36,459.75],"6-22-5":[-28.86,707.55],"6-22-6":[-33.69,562.23],"6-22-7":[-36.83,561.11],"6-22-8":[106.74,731.19],"6-22-9":[124.49,633.28],"6-22-10":[-20.19,980.63],"6-22-11":[221.72,953.84],"6-22-12":[291.67,1945.45],"6-22-13":[407.7,3751.07],"6-22-14":[373.13,3467.23],"6-22-15":[143.66,2981.68],"6-22-16":[498.91,2953.81],"6-22-17":[1005.33,3455.03],"6-22-18":[-109.13,3616.13],"6-22-19":[-115.5,3677.07],"6-22-20":[-106.82,3055.54],"6-22-21":[-87.07,2579.5],"6-22-22":[-90.86,227.36],"6-22-23":[-93.31,-36.74],"6-22-24":[-93.47,-43.31],"6-22-25":[-92.56,-42.61],"6-22-26":[-90.46,-41.08],"6-22-27":[-87.11,-38.63],"6-22-28":[-81.94,-34.92],"6-22-29":[-71.11,-31.11],"6-22-30":[-63.37,-27.03],"6-22-31":[-54.82,-23.61],"6-22-32":[-48,-19.66],"6-22-33":[-38.67,-15.78],"6-22-34":[-32.33,-12.28],"6-22-35":[-25.13,-8],"6-22-36":[-18.53,-4.62],"6-22-37":[-11.89,-3.04],"6-22-38":[-9.24,-2.78],"6-22-39":[-10.03,-2.97],"6-22-40":[-12.55,-3.88],"6-22-41":[-18.46,-5.52],"6-22-42":[-20.42,-8.14],"6-22-43":[-22.66,-9.88],"6-22-44":[-24.44,-11.12],"6-22-45":[-25.51,-11.47],"6-22-46":[-25.48,-11.33],"6-22-47":[-23.5,-10.26],"6-22-48":[-21.38,-9.66],"6-22-49":[-20.27,-9.52],"6-22-50":[-22.59,-10.1],"6-22-51":[-29.7,-11.32],"6-22-52":[-41.54,-14.53],"6-22-53":[-53.67,-21.14],"6-22-54":[-61.27,-25.86],"6-22-55":[-68.78,-29.95],"6-22-56":[-72.33,-32.84],"6-22-57":[-76.5,-32.9],"6-22-58":[-76.53,3383.56],"6-22-59":[1286.48,3626.49],"6-22-60":[1241.72,1694.94],"6-22-61":[987.52,1432.98],"6-22-62":[1168.67,2576.08],"6-22-63":[-29.54,2863.29],"6-23-0":[12.92,29.14],"6-23-1":[11.53,30.89],"5-11-0":[11.43,30.89],"6-23-2":[2.57,24.53],"6-23-3":[-2.86,9.47],"5-11-1":[-2.86,24.53],"4-5-0":[-7.48,30.89],"6-23-4":[-17.92,409.2],"6-23-5":[-35.37,754.53],"5-11-2":[-35.37,754.53],"6-23-6":[-35.77,628.59],"6-23-7":[-51.79,437.77],"5-11-3":[-51.79,628.59],"4-5-1":[-51.79,842.66],"3-2-0":[-51.79,842.66],"6-23-8":[212,620.34],"6-23-9":[126.79,595],"5-11-4":[106.74,731.19],"6-23-10":[-25.96,952.89],"6-23-11":[181.68,969.04],"5-11-5":[-25.96,980.63],"4-5-2":[-25.96,2410.7],"6-23-12":[362.56,1217.71],"6-23-13":[599.34,3152.73],"5-11-6":[291.67,3751.07],"6-23-14":[584.02,3396.83],"6-23-15":[496.5,3385.15],"5-11-7":[143.66,3467.23],"4-5-3":[-26.42,4373.52],"3-2-1":[-259.61,4373.52],"6-23-16":[739.26,3846.98],"6-23-17":[1261.06,3659.45],"5-11-8":[498.91,3846.98],"6-23-18":[342.66,3960.27],"6-23-19":[53.25,2781.72],"5-11-9":[-115.5,3960.27],"4-5-4":[-115.5,4387.58],"6-23-20":[-43.42,2074.25],"6-23-21":[-53.91,2324.4],"5-11-10":[-106.82,3055.54],"6-23-22":[-86.07,1902.28],"6-23-23":[-86.2,-37.16],"5-11-11":[-93.31,1902.28],"4-5-5":[-106.82,3055.54],"3-2-2":[-115.5,4387.58],"6-23-24":[-86.54,-38.53],"6-23-25":[-85.65,238.06],"5-11-12":[-93.47,238.06],"6-23-26":[-84.32,-36.65],"6-23-27":[-80.64,-34.81],"5-11-13":[-90.46,-34.81],"4-5-6":[-95.41,238.06],"6-23-28":[-76.59,-32.08],"6-23-29":[-68.37,-29.04],"5-11-14":[-81.94,-29.04],"6-23-30":[-61.8,-25.29],"6-23-31":[-52.78,-21.98],"5-11-15":[-63.37,-21.98],"4-5-7":[-82.67,-20.85],"3-2-3":[-95.41,238.06],"6-23-32":[-46.8,-18.42],"6-23-33":[-38.04,-15],"5-11-16":[-48,-15],"6-23-34":[-31.41,-10.65],"6-23-35":[-23.03,-6.84],"5-11-17":[-32.33,-6.84],"4-5-8":[-48,-6.84],"6-23-36":[-15.57,-3.94],"6-23-37":[-8.42,-2.35],"5-11-18":[-18.53,-2.35],"6-23-38":[-5.83,-1.99],"6-23-39":[-7.6,-2.19],"5-11-19":[-10.03,-1.99],"4-5-9":[-19.3,-1.99],"3-2-4":[-48,-1.99],"6-23-40":[-10.38,-3.43],"6-23-41":[-16.03,-5],"5-11-20":[-18.46,-3.43],"6-23-42":[-19.19,-6.88],"6-23-43":[-22.06,-9.07],"5-11-21":[-22.66,-6.88],"4-5-10":[-23.83,-3.43],"6-23-44":[-22.86,-10.1],"6-23-45":[-23.63,-10.53],"5-11-22":[-25.51,-10.1],"6-23-46":[-23.44,-10.4],"6-23-47":[-22.17,-9.8],"5-11-23":[-25.48,-9.8],"4-5-11":[-26.05,-9.8],"3-2-5":[-30.38,395.5],"6-23-48":[-20.39,-9.35],"6-23-49":[-21.17,-9.35],"5-11-24":[-21.38,-9.35],"6-23-50":[-23.21,-10.18],"6-23-51":[-30.13,-11.53],"5-11-25":[-30.13,-10.1],"4-5-12":[-35.46,-9.35],"6-23-52":[-43.45,-14.72],"6-23-53":[-51.53,-21.48],"5-11-26":[-53.67,-14.53],"6-23-54":[-58.95,-25.37],"6-23-55":[-65.3,-28.82],"5-11-27":[-68.78,-25.37],"4-5-13":[-73.37,-14.53],"3-2-6":[-88.41,-9.35],"6-23-56":[-69.37,-31.18],"6-23-57":[-72.56,-32.31],"5-11-28":[-76.5,-31.18],"6-23-58":[-73.42,2010.01],"6-23-59":[1105.43,2194.6],"5-11-29":[-76.53,3626.49],"4-5-14":[-84.12,3626.49],"6-23-60":[1418.33,1763.02],"6-23-61":[1252.11,1638.58],"5-11-30":[987.52,1763.02],"6-23-62":[1432.97,2755.16],"6-23-63":[-29.54,2834.96],"5-11-31":[-29.54,2863.29],"4-5-15":[-29.63,2878.57],"3-2-7":[-102.31,3682.63],"6-24-0":[13.08,29.1],"6-24-1":[12.77,30.89],"6-24-2":[3.36,25.8],"6-24-3":[-3.5,11.12],"6-24-4":[-19.26,404.18],"6-24-5":[-38.9,404.18],"6-24-6":[-40.02,637.43],"6-24-7":[-57.55,369.52],"6-24-8":[70.59,618.66],"6-24-9":[123.35,643.83],"6-24-10":[-27.38,442.7],"6-24-11":[174.59,841.05],"6-24-12":[373.57,849.8],"6-24-13":[495.56,1071.09],"6-24-14":[572.57,2114.96],"6-24-15":[720.4,3889.28],"6-24-16":[1325.33,4191.26],"6-24-17":[1258.65,4109.88],"6-24-18":[857.52,3690.6],"6-24-19":[364.31,3824.21],"6-24-20":[-26.57,3235.29],"6-24-21":[-39.57,2589.58],"6-24-22":[-71.54,1702.94],"6-24-23":[-79.57,2045.21],"6-24-24":[-78.3,-33.29],"6-24-25":[-77.08,268.06],"6-24-26":[-75.28,-31.52],"6-24-27":[-72.83,-29.62],"6-24-28":[-69.63,-28.02],"6-24-29":[-63.34,-25.65],"6-24-30":[-58.09,-23.11],"6-24-31":[-49.64,-20.2],"6-24-32":[-43.76,-17.27],"6-24-33":[-35.9,-13.42],"6-24-34":[-29.87,-9.91],"6-24-35":[-20.23,-6.43],"6-24-36":[-13.61,-3.86],"6-24-37":[-7.43,-2.32],"6-24-38":[-4.95,-1.94],"6-24-39":[-7.06,-2.13],"6-24-40":[-9.67,-3.32],"6-24-41":[-13.81,-4.7],"6-24-42":[-17.75,-6.09],"6-24-43":[-20.18,-8.32],"6-24-44":[-21.4,-9.34],"6-24-45":[-21.96,-9.83],"6-24-46":[-21.96,-10],"6-24-47":[-20.69,-9.66],"6-24-48":[-19.53,-9.43],"6-24-49":[-21.86,-9.46],"6-24-50":[-23.63,-10.52],"6-24-51":[-30.13,-11.8],"6-24-52":[-42.54,-14.64],"6-24-53":[-50.73,-20.34],"6-24-54":[-56.68,-24.59],"6-24-55":[-62.37,-27.15],"6-24-56":[-67.75,-29.51],"6-24-57":[-69.33,-30.92],"6-24-58":[-67.75,2438.84],"6-24-59":[821.95,3441.15],"6-24-60":[1593.3,1871.81],"6-24-61":[1391.7,1816.7],"6-24-62":[1638.57,2575.14],"6-24-63":[-29.54,2813.19],"6-25-0":[13.28,29.06],"6-25-1":[12.99,30.67],"5-12-0":[12.77,30.89],"6-25-2":[4.33,27.3],"6-25-3":[-3.6,11.88],"5-12-1":[-3.6,27.3],"6-25-4":[-18.48,293.97],"6-25-5":[-39.75,334.46],"5-12-2":[-39.75,404.18],"6-25-6":[-44.82,387.52],"6-25-7":[-63.28,308.5],"5-12-3":[-63.28,637.43],"6-25-8":[-63.06,598.61],"6-25-9":[119.88,600.19],"5-12-4":[-63.06,643.83],"6-25-10":[-28.15,610.76],"6-25-11":[175.34,613.75],"5-12-5":[-28.15,841.05],"6-25-12":[357,741.32],"6-25-13":[154.24,852.58],"5-12-6":[154.24,1071.09],"6-25-14":[529.75,2093.28],"6-25-15":[667.15,3842.68],"5-12-7":[529.75,3889.28],"6-25-16":[1046.96,4204.45],"6-25-17":[1396.76,3751.43],"5-12-8":[1046.96,4204.45],"6-25-18":[1174.25,4348.39],"6-25-19":[1345.74,3458.34],"5-12-9":[364.31,4348.39],"6-25-20":[852.06,3295.69],"6-25-21":[84.61,3091.23],"5-12-10":[-39.57,3295.69],"6-25-22":[-38.22,3268.31],"6-25-23":[-66.41,2081.23],"5-12-11":[-79.57,3268.31],"6-25-24":[-67.95,-28.52],"6-25-25":[-66.59,-26.44],"5-12-12":[-78.3,268.06],"6-25-26":[-65.05,-25.22],"6-25-27":[-63.06,-24.16],"5-12-13":[-75.28,-24.16],"6-25-28":[-59.26,-15.52],"6-25-29":[-54.35,-22.31],"5-12-14":[-69.63,-15.52],"6-25-30":[-50.44,-20.5],"6-25-31":[-45,-18.74],"5-12-15":[-58.09,-18.74],"6-25-32":[-39.97,-16.22],"6-25-33":[-33.52,-12.95],"5-12-16":[-43.76,-12.95],"6-25-34":[-26.73,-9.78],"6-25-35":[-19.19,-6.51],"5-12-17":[-29.87,-6.43],"6-25-36":[-14.52,-4.01],"6-25-37":[-8.87,-2.5],"5-12-18":[-14.52,-2.32],"6-25-38":[-6.34,-2.18],"6-25-39":[-6.84,-2.3],"5-12-19":[-7.06,-1.94],"6-25-40":[-9.41,-3.32],"6-25-41":[-32.1,501.96],"5-12-20":[-32.1,501.96],"6-25-42":[-16.08,-5.36],"6-25-43":[-18.48,-7.5],"5-12-21":[-20.18,-5.36],"6-25-44":[-19.58,-8.5],"6-25-45":[-20.51,-9.34],"5-12-22":[-21.96,-8.5],"6-25-46":[-20.66,-9.34],"6-25-47":[-19.83,-8.98],"5-12-23":[-21.96,-8.98],"6-25-48":[-19.6,-9.09],"6-25-49":[-22.09,-9.67],"5-12-24":[-22.09,-9.09],"6-25-50":[-24.31,-10.8],"6-25-51":[-29.53,-11.99],"5-12-25":[-30.13,-10.52],"6-25-52":[-38.65,-14.61],"6-25-53":[-48.88,-19.4],"5-12-26":[-50.73,-14.61],"6-25-54":[-53.27,-23.18],"6-25-55":[-58.77,-25.88],"5-12-27":[-62.37,-23.18],"6-25-56":[-65.35,-28.74],"6-25-57":[-65.63,-29.51],"5-12-28":[-69.33,-28.74],"6-25-58":[-63.65,821.96],"6-25-59":[726.87,1676.69],"5-12-29":[-67.75,3441.15],"6-25-60":[1630.88,1996.28],"6-25-61":[1569.89,1996.28],"5-12-30":[1391.7,1996.28],"6-25-62":[1816.69,2606.34],"6-25-63":[-29.54,2795.26],"5-12-31":[-29.54,2813.19],"6-26-0":[13.54,29.14],"6-26-1":[13.94,30.48],"6-26-2":[5.28,27.87],"6-26-3":[-3.32,281.71],"6-26-4":[-18.48,308.77],"6-26-5":[-40.42,381.74],"6-26-6":[-46.86,317.75],"6-26-7":[-64.69,215.89],"6-26-8":[-2.27,571.32],"6-26-9":[116.78,565.77],"6-26-10":[-32.41,599.94],"6-26-11":[208.28,611.84],"6-26-12":[299.93,731.39],"6-26-13":[318.89,749.4],"6-26-14":[470.62,993.24],"6-26-15":[555.47,1446.2],"6-26-16":[932.52,3114.6],"6-26-17":[1209.86,4338.56],"6-26-18":[1296.53,4383.25],"6-26-19":[1070.65,3998.98],"6-26-20":[855.68,3617.02],"6-26-21":[658.3,2970.04],"6-26-22":[417.64,3258.01],"6-26-23":[-28.6,3307.88],"6-26-24":[-62.73,2734.41],"6-26-25":[-59.49,2861.69],"6-26-26":[-52.9,-18.54],"6-26-27":[-50.46,-18.19],"6-26-28":[-48.34,-18.13],"6-26-29":[-46.35,-18.06],"6-26-30":[-44.41,-17.73],"6-26-31":[-40.44,-17.02],"6-26-32":[-37.32,-15.49],"6-26-33":[-31.86,-12.9],"6-26-34":[-26.47,-10],"6-26-35":[-21.25,-7.31],"6-26-36":[-17.78,-4.66],"6-26-37":[-11.76,-3.18],"6-26-38":[-7.87,-2.8],"6-26-39":[-6.79,-2.9],"6-26-40":[-7.79,-2.88],"6-26-41":[-10.71,8.49],"6-26-42":[-14.63,-4.56],"6-26-43":[-16.88,-6.59],"6-26-44":[-18.57,-7.39],"6-26-45":[-19.41,-7.99],"6-26-46":[-19.51,-8.34],"6-26-47":[-18.58,-8.35],"6-26-48":[-19.11,-8.37],"6-26-49":[-22.08,-9.26],"6-26-50":[-24.14,-10.47],"6-26-51":[-29.38,-11.82],"6-26-52":[-38.33,-14.03],"6-26-53":[-46.19,-17.49],"6-26-54":[-51.2,-21.67],"6-26-55":[-57.5,-24.38],"6-26-56":[-63.64,-27.72],"6-26-57":[-62.82,189.45],"6-26-58":[-60.91,881.64],"6-26-59":[740.64,1748.55],"6-26-60":[1676.68,2076.65],"6-26-61":[1756.34,2181.07],"6-26-62":[1948.76,2606.49],"6-26-63":[-29.54,2777.84],"6-27-0":[13.6,29.49],"6-27-1":[13.94,31.09],"5-13-0":[13.54,31.09],"6-27-2":[6.45,27.9],"6-27-3":[-0.42,320.5],"5-13-1":[-3.32,320.5],"4-6-0":[-3.6,320.5],"6-27-4":[-16.49,372.69],"6-27-5":[-40.21,294.13],"5-13-2":[-40.42,381.74],"6-27-6":[-53.85,132.2],"6-27-7":[-71.25,117.7],"5-13-3":[-71.25,317.75],"4-6-1":[-71.25,637.43],"6-27-8":[-10.85,325.53],"6-27-9":[25.92,428.65],"5-13-4":[-10.85,571.32],"6-27-10":[-36.63,567.14],"6-27-11":[275.4,510.84],"5-13-5":[-36.63,611.84],"4-6-2":[-63.06,841.05],"6-27-12":[177.93,779.83],"6-27-13":[230.46,797.9],"5-13-6":[177.93,797.9],"6-27-14":[353.23,843.62],"6-27-15":[486.44,1208.11],"5-13-7":[353.23,1446.2],"4-6-3":[154.24,3889.28],"6-27-16":[469.53,2194.75],"6-27-17":[827.22,1798.51],"5-13-8":[469.53,4338.56],"6-27-18":[821.28,2635.83],"6-27-19":[656.62,2159.53],"5-13-9":[656.62,4383.25],"4-6-4":[364.31,4383.25],"6-27-20":[633.52,1925.95],"6-27-21":[300.28,2697.84],"5-13-10":[300.28,3617.02],"6-27-22":[335.31,2999.92],"6-27-23":[921.89,3424.3],"5-13-11":[-28.6,3424.3],"4-6-5":[-79.57,3617.02],"6-27-24":[401.21,3479.94],"6-27-25":[-46.8,4234.29],"5-13-12":[-62.73,4234.29],"6-27-26":[-39.05,-13],"6-27-27":[-35.28,-12.54],"5-13-13":[-52.9,-12.54],"4-6-6":[-78.3,4234.29],"6-27-28":[-35.2,-12.85],"6-27-29":[-35.34,-13.41],"5-13-14":[-48.34,-12.85],"6-27-30":[-35.17,-14.09],"6-27-31":[-34.89,-14.93],"5-13-15":[-44.41,-14.09],"4-6-7":[-69.63,-12.85],"6-27-32":[-33.67,-14.66],"6-27-33":[-30.24,-13.29],"5-13-16":[-37.32,-12.9],"6-27-34":[-28.13,-11.02],"6-27-35":[-24.66,-9.21],"5-13-17":[-28.13,-7.31],"4-6-8":[-43.76,-6.43],"6-27-36":[-20.45,-6.32],"6-27-37":[-14.71,-4.11],"5-13-18":[-20.45,-3.18],"6-27-38":[-10.7,-3.46],"6-27-39":[-7.82,-2.95],"5-13-19":[-10.7,-2.8],"4-6-9":[-20.45,-1.94],"6-27-40":[-6.36,-2.12],"6-27-41":[-8.91,-2.07],"5-13-20":[-10.71,8.49],"6-27-42":[-12.62,-3.64],"6-27-43":[-14.88,-5.64],"5-13-21":[-16.88,-3.64],"4-6-10":[-32.1,501.96],"6-27-44":[-15.67,-6.12],"6-27-45":[-17.16,-6.68],"5-13-22":[-19.41,-6.12],"6-27-46":[-17.14,-7.46],"6-27-47":[-16.64,-6.9],"5-13-23":[-19.51,-6.9],"4-6-11":[-21.96,-6.12],"6-27-48":[-18.13,-7.16],"6-27-49":[-20.76,-8.23],"5-13-24":[-22.08,-7.16],"6-27-50":[-23.03,-9.75],"6-27-51":[-27.57,-10.56],"5-13-25":[-29.38,-9.75],"4-6-12":[-30.13,-7.16],"6-27-52":[-33.04,-12.47],"6-27-53":[-43.05,-16],"5-13-26":[-46.19,-12.47],"6-27-54":[-47.85,-20.49],"6-27-55":[-55.33,-23.04],"5-13-27":[-57.5,-20.49],"4-6-13":[-62.37,-12.47],"6-27-56":[-59.57,-26.31],"6-27-57":[-57.3,647.09],"5-13-28":[-63.64,647.09],"6-27-58":[-55.25,899.06],"6-27-59":[799.61,1803.34],"5-13-29":[-60.91,1803.34],"4-6-14":[-69.33,3441.15],"6-27-60":[1748.54,2159.56],"6-27-61":[1868.06,2197.16],"5-13-30":[1676.68,2197.16],"6-27-62":[2095.95,2581.41],"6-27-63":[-29.54,2769.5],"5-13-31":[-29.54,2777.84],"4-6-15":[-29.54,2813.19],"6-28-0":[13.6,29.98],"6-28-1":[13.97,31.76],"6-28-2":[7.61,27.9],"6-28-3":[-0.98,311.23],"6-28-4":[-14.04,373.55],"6-28-5":[-35.5,302.69],"6-28-6":[-52.23,269.04],"6-28-7":[-71.46,37.53],"6-28-8":[-13.78,273.39],"6-28-9":[-36.74,404.25],"6-28-10":[-38.45,438.24],"6-28-11":[60.84,436.49],"6-28-12":[151.71,375.47],"6-28-13":[182.44,807.5],"6-28-14":[219.33,785.89],"6-28-15":[355.34,755.87],"6-28-16":[348.26,1090.39],"6-28-17":[415.18,1115.44],"6-28-18":[336.8,1003.31],"6-28-19":[247.09,1013.68],"6-28-20":[245.51,909.81],"6-28-21":[22.35,784.58],"6-28-22":[2.36,3697.19],"6-28-23":[-6.03,3685.36],"6-28-24":[-7.33,3903.97],"6-28-25":[-32.6,5379.65],"6-28-26":[-33.85,1685.03],"6-28-27":[-25.73,-8.02],"6-28-28":[-27.14,-9.26],"6-28-29":[-28.13,-9.53],"6-28-30":[-29.73,-10.39],"6-28-31":[-30.49,-11.78],"6-28-32":[-30.3,-13.08],"6-28-33":[-29.11,-13.91],"6-28-34":[-28.13,-12.68],"6-28-35":[-25.46,-10.25],"6-28-36":[-21.32,-7.52],"6-28-37":[-14.78,-5.33],"6-28-38":[-12.03,-4.05],"6-28-39":[-8.07,-2.41],"6-28-40":[-6.04,-1.06],"6-28-41":[-7.12,-1.06],"6-28-42":[-10.83,-2.79],"6-28-43":[-12.78,-4.7],"6-28-44":[-13.74,-5.3],"6-28-45":[-14.99,-5.28],"6-28-46":[-15.4,-5.56],"6-28-47":[-15.79,-5.29],"6-28-48":[-15.93,-5.65],"6-28-49":[-19.25,-6.88],"6-28-50":[-20.66,-7.71],"6-28-51":[-24.63,-9.26],"6-28-52":[-31.19,-11.53],"6-28-53":[-40.85,-14.84],"6-28-54":[-45.75,-18.97],"6-28-55":[-52.39,-21.7],"6-28-56":[-55.08,-24.38],"6-28-57":[-50.79,721.39],"6-28-58":[-51.45,799.62],"6-28-59":[687.23,1812.13],"6-28-60":[1803.33,2299.62],"6-28-61":[1923.59,2175.98],"6-28-62":[1878.69,2429.87],"6-28-63":[-29.54,2761.57],"6-29-0":[13.6,30.78],"6-29-1":[13.97,32.5],"5-14-0":[13.6,32.5],"6-29-2":[8.58,28.94],"6-29-3":[-0.22,604.78],"5-14-1":[-0.98,604.78],"6-29-4":[-10.79,424.86],"6-29-5":[-29.34,367.02],"5-14-2":[-35.5,424.86],"6-29-6":[-48.96,423.04],"6-29-7":[-71.03,188.06],"5-14-3":[-71.46,423.04],"6-29-8":[-71.03,258.97],"6-29-9":[-40.7,265.48],"5-14-4":[-71.03,404.25],"6-29-10":[-45.67,362.54],"6-29-11":[35.43,333.9],"5-14-5":[-45.67,438.24],"6-29-12":[69.29,353.36],"6-29-13":[176.64,297.08],"5-14-6":[69.29,807.5],"6-29-14":[185.4,507.51],"6-29-15":[216.94,624.77],"5-14-7":[185.4,785.89],"6-29-16":[248.19,602.11],"6-29-17":[227.87,668.28],"5-14-8":[227.87,1115.44],"6-29-18":[151.81,558.27],"6-29-19":[87.66,500.16],"5-14-9":[87.66,1013.68],"6-29-20":[11.41,489.46],"6-29-21":[-74.48,534.68],"5-14-10":[-74.48,909.81],"6-29-22":[-59.51,197.1],"6-29-23":[-60.32,1437.08],"5-14-11":[-60.32,3697.19],"6-29-24":[-52.89,3376.08],"6-29-25":[-16.39,5601.19],"5-14-12":[-52.89,5601.19],"6-29-26":[-23.21,3710.87],"6-29-27":[-17.72,-5.43],"5-14-13":[-33.85,3710.87],"6-29-28":[-18.29,-5.37],"6-29-29":[-20.02,-5.8],"5-14-14":[-28.13,-5.37],"6-29-30":[-22.85,-7.34],"6-29-31":[-25.68,-8.54],"5-14-15":[-30.49,-7.34],"6-29-32":[-27.33,-11.17],"6-29-33":[-28.21,-12.92],"5-14-16":[-30.3,-11.17],"6-29-34":[-27.93,-12.74],"6-29-35":[-25.57,-10.37],"5-14-17":[-28.13,-10.25],"6-29-36":[-21.38,-7.55],"6-29-37":[-14.75,-5.87],"5-14-18":[-21.38,-5.33],"6-29-38":[-12.1,-3.7],"6-29-39":[-7.93,-1.6],"5-14-19":[-12.1,-1.6],"6-29-40":[-4.73,-0.26],"6-29-41":[-5.16,-0.14],"5-14-20":[-7.12,-0.14],"6-29-42":[-8.49,-1.41],"6-29-43":[-11.27,-3.5],"5-14-21":[-12.78,-1.41],"6-29-44":[-11.15,-3.82],"6-29-45":[-11.69,-3.55],"5-14-22":[-14.99,-3.55],"6-29-46":[-12.81,-3.56],"6-29-47":[-11.24,-3.95],"5-14-23":[-15.79,-3.56],"6-29-48":[-12.87,-3.81],"6-29-49":[-15.22,-6.07],"5-14-24":[-19.25,-3.81],"6-29-50":[-18.28,-7.31],"6-29-51":[-22.81,-8.44],"5-14-25":[-24.63,-7.31],"6-29-52":[-28.28,-10.9],"6-29-53":[-37.41,-12.86],"5-14-26":[-40.85,-10.9],"6-29-54":[-42.1,-16.84],"6-29-55":[-48.36,-19.69],"5-14-27":[-52.39,-16.84],"6-29-56":[-54.2,-22.1],"6-29-57":[-47.44,695.16],"5-14-28":[-55.08,721.39],"6-29-58":[-44.62,1067.53],"6-29-59":[697.67,1825.18],"5-14-29":[-51.45,1825.18],"6-29-60":[1812.12,2484.31],"6-29-61":[1887.54,2200.25],"5-14-30":[1803.33,2484.31],"6-29-62":[1867.75,2364.99],"6-29-63":[-29.54,2744.46],"5-14-31":[-29.54,2761.57],"6-30-0":[13.6,31.47],"6-30-1":[14.83,32.77],"6-30-2":[9.25,30.01],"6-30-3":[1.4,1609.72],"6-30-4":[-8.83,717.95],"6-30-5":[-23.57,477.26],"6-30-6":[-38.7,559.29],"6-30-7":[-70.31,433.78],"6-30-8":[-70.31,458.53],"6-30-9":[-96.36,174.74],"6-30-10":[-99.28,106.11],"6-30-11":[-98.53,228.76],"6-30-12":[-14.62,294.27],"6-30-13":[195.65,456.57],"6-30-14":[57.99,564.92],"6-30-15":[181.53,584.49],"6-30-16":[173.46,471.28],"6-30-17":[26.59,446.09],"6-30-18":[123.08,490.81],"6-30-19":[2.26,806.41],"6-30-20":[-9.4,204.36],"6-30-21":[-55.44,125.4],"6-30-22":[-65.74,-25.61],"6-30-23":[-65.69,-25.42],"6-30-24":[-54.87,-14.04],"6-30-25":[-36.51,2490.71],"6-30-26":[-21.02,2540.82],"6-30-27":[-19.24,-2.77],"6-30-28":[-11.27,-1.84],"6-30-29":[-14.57,-2.28],"6-30-30":[-17.25,-4.28],"6-30-31":[-22.13,-5.31],"6-30-32":[-25.32,-8.63],"6-30-33":[-27.51,-11.24],"6-30-34":[-27.51,-12.14],"6-30-35":[-24.98,-9.83],"6-30-36":[-20.94,-7.4],"6-30-37":[-14.81,-5.53],"6-30-38":[-11.87,-2.8],"6-30-39":[-6.86,-0.38],"6-30-40":[-3,1.26],"6-30-41":[-2.62,1.53],"6-30-42":[-6.47,0.16],"6-30-43":[-9.48,-1.41],"6-30-44":[-9.48,-2.83],"6-30-45":[-7.66,-2.16],"6-30-46":[-9.07,-1.93],"6-30-47":[-9.84,-2.8],"6-30-48":[-11.72,-2.88],"6-30-49":[-14.44,-4.07],"6-30-50":[-16.72,-6.13],"6-30-51":[-22.37,-7.94],"6-30-52":[-24.41,-9.85],"6-30-53":[-33.43,-11.71],"6-30-54":[-38.58,-14.81],"6-30-55":[-43.96,-16.85],"6-30-56":[-52.81,-19.97],"6-30-57":[-46.56,310.04],"6-30-58":[-43.55,1562.01],"6-30-59":[790.59,1824.22],"6-30-60":[1816.77,2275.03],"6-30-61":[1789.45,2180.52],"6-30-62":[1867.26,2328.81],"6-30-63":[-29.54,2744.46],"6-31-0":[13.6,32.23],"6-31-1":[15.06,32.84],"5-15-0":[13.6,32.84],"6-31-2":[10.78,881.84],"6-31-3":[4.92,2250.64],"5-15-1":[1.4,2250.64],"4-7-0":[-0.98,2250.64],"6-31-4":[-5.46,1374.08],"6-31-5":[-22.85,583.45],"5-15-2":[-23.57,1374.08],"6-31-6":[-45.86,413.34],"6-31-7":[-57.79,429.71],"5-15-3":[-70.31,559.29],"4-7-1":[-71.46,1374.08],"3-3-0":[-71.46,2250.64],"6-31-8":[-36.15,577.62],"6-31-9":[-96.7,282.12],"5-15-4":[-96.7,577.62],"6-31-10":[-99.12,-46.98],"6-31-11":[-98.49,190.58],"5-15-5":[-99.28,228.76],"4-7-2":[-99.28,577.62],"6-31-12":[-15.94,324],"6-31-13":[204.84,447.15],"5-15-6":[-15.94,456.57],"6-31-14":[150.72,671.12],"6-31-15":[147.71,604.9],"5-15-7":[57.99,671.12],"4-7-3":[-15.94,807.5],"3-3-1":[-99.28,3889.28],"2-1-0":[-259.61,4373.52],"6-31-16":[142.69,422.75],"6-31-17":[82.02,300.32],"5-15-8":[26.59,471.28],"6-31-18":[37.49,509.53],"6-31-19":[3.75,590.45],"5-15-9":[2.26,806.41],"4-7-4":[2.26,1115.44],"6-31-20":[-28.13,146.09],"6-31-21":[-51.46,78.7],"5-15-10":[-55.44,204.36],"6-31-22":[-60.53,-24.95],"6-31-23":[-60.55,-17],"5-15-11":[-65.74,-17],"4-7-5":[-74.48,3697.19],"3-3-2":[-79.57,4383.25],"6-31-24":[-51.3,129.8],"6-31-25":[-28.09,2495.76],"5-15-12":[-54.87,2495.76],"6-31-26":[-31.81,4217.93],"6-31-27":[-39.22,1667.28],"5-15-13":[-39.22,4217.93],"4-7-6":[-54.87,5601.19],"6-31-28":[-3.69,3.56],"6-31-29":[-7.94,1.79],"5-15-14":[-14.57,3.56],"6-31-30":[-10.64,-0.95],"6-31-31":[-23.38,1700.45],"5-15-15":[-23.38,1700.45],"4-7-7":[-30.49,1700.45],"3-3-3":[-78.3,5601.19],"2-1-1":[-115.5,5601.19],"1-0-0":[-317.19,6207.28],"6-31-32":[-321.59,1684.42],"6-31-33":[-25.17,-8.12],"5-15-16":[-321.59,1684.42],"6-31-34":[-25.23,-10.22],"6-31-35":[-23.47,-8.63],"5-15-17":[-27.51,-8.63],"4-7-8":[-321.59,1684.42],"6-31-36":[-19.5,-5.98],"6-31-37":[-14.17,-4.58],"5-15-18":[-20.94,-4.58],"6-31-38":[-10.89,-1.76],"6-31-39":[-4.99,1.04],"5-15-19":[-11.87,1.04],"4-7-9":[-21.38,1.04],"3-3-4":[-321.59,1684.42],"6-31-40":[-0.46,3.59],"6-31-41":[0.15,3.57],"5-15-20":[-3,3.59],"6-31-42":[-1.87,3.33],"6-31-43":[-5.77,-0.19],"5-15-21":[-9.48,3.33],"4-7-10":[-12.78,3.59],"6-31-44":[-6.17,-2.1],"6-31-45":[-5.45,-1.19],"5-15-22":[-9.48,-1.19],"6-31-46":[-4.53,-0.73],"6-31-47":[-5.48,-0.93],"5-15-23":[-9.84,-0.73],"4-7-11":[-15.79,-0.73],"3-3-5":[-32.1,501.96],"2-1-2":[-321.59,1684.42],"6-31-48":[-7.3,-1.03],"6-31-49":[-11.96,-1.38],"5-15-24":[-14.44,-1.03],"6-31-50":[-15.08,-4.16],"6-31-51":[-19.15,-5.73],"5-15-25":[-22.37,-4.16],"4-7-12":[-24.63,-1.03],"6-31-52":[-21.76,-8.28],"6-31-53":[-29.28,-9.98],"5-15-26":[-33.43,-8.28],"6-31-54":[-34.04,-12.93],"6-31-55":[-39.77,-14.37],"5-15-27":[-43.96,-12.93],"4-7-13":[-52.39,-8.28],"3-3-6":[-62.37,-1.03],"6-31-56":[-43.43,1365.62],"6-31-57":[-44.81,282.19],"5-15-28":[-52.81,1365.62],"6-31-58":[-39.76,1267.01],"6-31-59":[957.9,1887.87],"5-15-29":[-43.55,1887.87],"4-7-14":[-55.08,1887.87],"6-31-60":[1730.62,2175.26],"6-31-61":[1639.46,1987.13],"5-15-30":[1639.46,2275.03],"6-31-62":[1752.65,2714.87],"6-31-63":[-29.54,2744.46],"5-15-31":[-29.54,2744.46],"4-7-15":[-29.54,2761.57],"3-3-7":[-69.33,3441.15],"2-1-3":[-102.31,3682.63],"1-0-1":[-321.59,3970.41],"6-32-0":[13.6,32.71],"6-32-1":[15.63,32.84],"6-32-2":[12.53,1148.73],"6-32-3":[3.54,1723.08],"6-32-4":[-3.48,1337.96],"6-32-5":[-22.64,684.11],"6-32-6":[-45.53,367.14],"6-32-7":[-63.11,395.57],"6-32-8":[-72.93,546.23],"6-32-9":[-93.99,248.1],"6-32-10":[-96.39,-44.47],"6-32-11":[-97.86,87.35],"6-32-12":[-57.46,240.44],"6-32-13":[116.07,415.1],"6-32-14":[116.17,599.34],"6-32-15":[138.68,568.7],"6-32-16":[-2.59,551.43],"6-32-17":[75.12,291.63],"6-32-18":[-24.24,294.32],"6-32-19":[4.68,321.49],"6-32-20":[-31.39,211.56],"6-32-21":[-63.34,90.38],"6-32-22":[-63.11,-25.22],"6-32-23":[-57.23,-7.65],"6-32-24":[-31.37,200.24],"6-32-25":[-33.45,1010.31],"6-32-26":[-35.51,3009.32],"6-32-27":[-28.36,2376.93],"6-32-28":[-3.22,10.91],"6-32-29":[-1.77,10.51],"6-32-30":[-4.68,6.74],"6-32-31":[-7.35,73.07],"6-32-32":[-18.67,716.38],"6-32-33":[-20.88,-4.49],"6-32-34":[-21.38,-6.53],"6-32-35":[-20.18,-6.02],"6-32-36":[-17.05,-4.75],"6-32-37":[-11.75,-2.76],"6-32-38":[-9,-0.28],"6-32-39":[-2.87,3.56],"6-32-40":[0.59,5.45],"6-32-41":[1.56,6.31],"6-32-42":[-0.2,5.55],"6-32-43":[-3.93,1.13],"6-32-44":[-5.26,-0.57],"6-32-45":[-4.78,-0.14],"6-32-46":[-2.44,1.43],"6-32-47":[-2.43,2.72],"6-32-48":[-2.64,1.56],"6-32-49":[-7.99,-0.1],"6-32-50":[-11.84,-1.81],"6-32-51":[-16.4,-4.23],"6-32-52":[-18.97,-6.57],"6-32-53":[-25.69,-8.31],"6-32-54":[-28.75,-11.31],"6-32-55":[-35.05,-12.68],"6-32-56":[-41.26,-14.17],"6-32-57":[-36.6,248.01],"6-32-58":[-36.6,1290.61],"6-32-59":[1072.47,2685.38],"6-32-60":[1460.89,2381.84],"6-32-61":[1444.34,1985.53],"6-32-62":[1435.21,2244.93],"6-32-63":[-29.54,2744.46],"6-33-0":[13.6,33.18],"6-33-1":[15.63,33.39],"5-16-0":[13.6,33.39],"6-33-2":[13.83,1617.96],"6-33-3":[3.54,1701.03],"5-16-1":[3.54,1723.08],"6-33-4":[-1.3,1540.67],"6-33-5":[-21.29,1009.47],"5-16-2":[-22.64,1540.67],"6-33-6":[-36.75,819.86],"6-33-7":[-62.77,557.56],"5-16-3":[-63.11,819.86],"6-33-8":[-72.83,444.35],"6-33-9":[-88.51,366.68],"5-16-4":[-93.99,546.23],"6-33-10":[-95.62,-42.25],"6-33-11":[-97.09,-45.96],"5-16-5":[-97.86,87.35],"6-33-12":[-96.12,205.42],"6-33-13":[26.23,323.91],"5-16-6":[-96.12,415.1],"6-33-14":[40.15,604.67],"6-33-15":[99.8,613.05],"5-16-7":[40.15,613.05],"6-33-16":[103.99,486.54],"6-33-17":[42.02,356.67],"5-16-8":[-2.59,551.43],"6-33-18":[73.98,611.43],"6-33-19":[-2.39,1256.4],"5-16-9":[-24.24,1256.4],"6-33-20":[-18.21,703.65],"6-33-21":[-62.86,133.72],"5-16-10":[-63.34,703.65],"6-33-22":[-63.05,-24.55],"6-33-23":[-54.77,-15.6],"5-16-11":[-63.11,-7.65],"6-33-24":[-55.01,38.89],"6-33-25":[-31.18,-5.73],"5-16-12":[-55.01,1010.31],"6-33-26":[-16.7,2458.87],"6-33-27":[-29.38,2108.97],"5-16-13":[-35.51,3009.32],"6-33-28":[-12.99,2165.37],"6-33-29":[3.88,21.34],"5-16-14":[-12.99,2165.37],"6-33-30":[-9.95,580.04],"6-33-31":[-3.66,9.28],"5-16-15":[-9.95,580.04],"6-33-32":[-8.84,4.83],"6-33-33":[-12.48,2.13],"5-16-16":[-20.88,716.38],"6-33-34":[-13.36,-2.74],"6-33-35":[-13.27,-2.88],"5-16-17":[-21.38,-2.74],"6-33-36":[-11.47,-2.69],"6-33-37":[-8.95,-0.74],"5-16-18":[-17.05,-0.74],"6-33-38":[-5.14,2.74],"6-33-39":[-0.29,8.08],"5-16-19":[-9,8.08],"6-33-40":[1.94,9.43],"6-33-41":[2.8,10.75],"5-16-20":[0.59,10.75],"6-33-42":[0.89,8.51],"6-33-43":[-0.58,5.53],"5-16-21":[-3.93,8.51],"6-33-44":[-2.13,3.55],"6-33-45":[-1.46,3.29],"5-16-22":[-5.26,3.55],"6-33-46":[-0.15,6.87],"6-33-47":[1.07,7.73],"5-16-23":[-2.44,7.73],"6-33-48":[-0.11,7.04],"6-33-49":[-2.91,4.01],"5-16-24":[-7.99,7.04],"6-33-50":[-7.73,0.65],"6-33-51":[-12.58,-2.01],"5-16-25":[-16.4,0.65],"6-33-52":[-14.99,-3.66],"6-33-53":[-21.95,-5.75],"5-16-26":[-25.69,-3.66],"6-33-54":[-24.52,-9.25],"6-33-55":[-29.3,-10.49],"5-16-27":[-35.05,-9.25],"6-33-56":[-30.53,-11.38],"6-33-57":[-34.54,-11.65],"5-16-28":[-41.26,248.01],"6-33-58":[-34.69,1304.63],"6-33-59":[163.09,4721.94],"5-16-29":[-36.6,4721.94],"6-33-60":[441.12,2555.4],"6-33-61":[1232.67,1732.44],"5-16-30":[441.12,2555.4],"6-33-62":[1251.83,2245.57],"6-33-63":[-29.54,2744.47],"5-16-31":[-29.54,2744.47],"6-34-0":[13.6,33.57],"6-34-1":[16.2,34.27],"6-34-2":[15.09,1823.83],"6-34-3":[5.88,1627.27],"6-34-4":[0.78,1272.1],"6-34-5":[-16.01,1913.68],"6-34-6":[-22.87,1056.55],"6-34-7":[-53.19,570.75],"6-34-8":[-67.08,613.97],"6-34-9":[-84.49,433.17],"6-34-10":[-91.94,-38.64],"6-34-11":[-96.06,-44.35],"6-34-12":[-95.88,171.79],"6-34-13":[-46,145.12],"6-34-14":[-3.04,594.92],"6-34-15":[117.38,614.36],"6-34-16":[124.05,432.14],"6-34-17":[17.53,436.84],"6-34-18":[94.64,1652.42],"6-34-19":[35.46,2004.7],"6-34-20":[-31.34,358.2],"6-34-21":[-56.91,76.45],"6-34-22":[-52.24,86.32],"6-34-23":[-53.41,678.56],"6-34-24":[-46.91,565.42],"6-34-25":[-34.3,19.57],"6-34-26":[-32.9,735.54],"6-34-27":[-24.67,729.46],"6-34-28":[-18.58,3818.31],"6-34-29":[-17.79,1199.76],"6-34-30":[0.98,213.98],"6-34-31":[2.04,21.13],"6-34-32":[2.12,20.08],"6-34-33":[-5.46,10.12],"6-34-34":[-5.77,0.8],"6-34-35":[-6.05,2.96],"6-34-36":[-5.94,2.96],"6-34-37":[-5.13,6.17],"6-34-38":[-1.3,9.8],"6-34-39":[1.64,14.13],"6-34-40":[4.23,15.17],"6-34-41":[4.47,14.04],"6-34-42":[3.4,12.02],"6-34-43":[3.4,11.01],"6-34-44":[1.55,10.91],"6-34-45":[1.48,9.3],"6-34-46":[1.54,11.81],"6-34-47":[3.72,12.77],"6-34-48":[2.17,11.75],"6-34-49":[0.41,7.88],"6-34-50":[-3.25,5.77],"6-34-51":[-6.93,1.5],"6-34-52":[-11.33,-1.44],"6-34-53":[-18.26,-3.74],"6-34-54":[-20.79,-6.34],"6-34-55":[-25.29,-7.54],"6-34-56":[-27.01,-9.25],"6-34-57":[-33.98,-10.94],"6-34-58":[-34.8,1241.13],"6-34-59":[-52.36,1732.84],"6-34-60":[-52.36,2250.43],"6-34-61":[873,1480.75],"6-34-62":[1247.41,2251.13],"6-34-63":[-29.54,2745.47],"6-35-0":[13.6,34.16],"6-35-1":[16.51,35.76],"5-17-0":[13.6,35.76],"6-35-2":[16.38,1923.59],"6-35-3":[9.49,2313.91],"5-17-1":[5.88,2313.91],"4-8-0":[3.54,2313.91],"6-35-4":[3.3,2252.73],"6-35-5":[-8.04,1712.44],"5-17-2":[-16.01,2252.73],"6-35-6":[-16.63,1559.44],"6-35-7":[-53.78,272.32],"5-17-3":[-53.78,1559.44],"4-8-1":[-63.11,2252.73],"6-35-8":[-65.49,185.61],"6-35-9":[-76.1,184.52],"5-17-4":[-84.49,613.97],"6-35-10":[-88.72,293.27],"6-35-11":[-92.71,81.87],"5-17-5":[-96.06,293.27],"4-8-2":[-97.86,613.97],"6-35-12":[-92.66,123.7],"6-35-13":[-45.82,181.36],"5-17-6":[-95.88,181.36],"6-35-14":[-26.92,536.17],"6-35-15":[122.02,651.7],"5-17-7":[-26.92,651.7],"4-8-3":[-96.12,651.7],"6-35-16":[27.96,701.76],"6-35-17":[-8.6,951.43],"5-17-8":[-8.6,951.43],"6-35-18":[-44.79,1713.99],"6-35-19":[-37.13,1476.72],"5-17-9":[-44.79,2004.7],"4-8-4":[-44.79,2004.7],"6-35-20":[-74.33,139.84],"6-35-21":[-74.18,28.94],"5-17-10":[-74.33,358.2],"6-35-22":[-68.27,63.37],"6-35-23":[-53.75,293.76],"5-17-11":[-68.27,678.56],"4-8-5":[-74.33,703.65],"6-35-24":[-62.66,1104.62],"6-35-25":[-46.42,14.26],"5-17-12":[-62.66,1104.62],"6-35-26":[-24.54,8.26],"6-35-27":[-12.35,357.63],"5-17-13":[-32.9,735.54],"4-8-6":[-62.66,3009.32],"6-35-28":[-9.05,1960.73],"6-35-29":[-38,1563.96],"5-17-14":[-38,3818.31],"6-35-30":[10.56,29.2],"6-35-31":[-34,2816.32],"5-17-15":[-34,2816.32],"4-8-7":[-38,3818.31],"6-35-32":[-39.36,6286.78],"6-35-33":[-56.73,4458.62],"5-17-16":[-56.73,6286.78],"6-35-34":[-63.32,4118.74],"6-35-35":[-8.38,458.91],"5-17-17":[-63.32,4118.74],"4-8-8":[-63.32,6286.78],"6-35-36":[-1.45,18],"6-35-37":[2.19,21.77],"5-17-18":[-5.94,21.77],"6-35-38":[3.78,22.14],"6-35-39":[5.81,20.12],"5-17-19":[-1.3,22.14],"4-8-9":[-17.05,22.14],"6-35-40":[6.54,19.83],"6-35-41":[-22.92,470.08],"5-17-20":[-22.92,470.08],"6-35-42":[5.5,19.63],"6-35-43":[-88.44,1091.31],"5-17-21":[-88.44,1091.31],"4-8-10":[-88.44,1091.31],"6-35-44":[-23.76,1289.29],"6-35-45":[4.72,16.91],"5-17-22":[-23.76,1289.29],"6-35-46":[4.86,18.8],"6-35-47":[6.11,18.78],"5-17-23":[1.54,18.8],"4-8-11":[-23.76,1289.29],"6-35-48":[4.51,19.18],"6-35-49":[3.21,14.36],"5-17-24":[0.41,19.18],"6-35-50":[1.45,11.01],"6-35-51":[-2.17,8.59],"5-17-25":[-6.93,11.01],"4-8-12":[-16.4,19.18],"6-35-52":[-5.6,3.45],"6-35-53":[-12,-1.41],"5-17-26":[-18.26,3.45],"6-35-54":[-13.82,-3.08],"6-35-55":[-20.59,-4.15],"5-17-27":[-25.29,-3.08],"4-8-13":[-35.05,3.45],"6-35-56":[-21.6,-7],"6-35-57":[-30.21,327.46],"5-17-28":[-33.98,327.46],"6-35-58":[-30.73,1088.67],"6-35-59":[-49.4,1067.5],"5-17-29":[-52.36,1732.84],"4-8-14":[-52.36,4721.94],"6-35-60":[-49.4,1223.59],"6-35-61":[548.47,1388.03],"5-17-30":[-52.36,2250.43],"6-35-62":[1139.79,2260.72],"6-35-63":[-29.54,2745.47],"5-17-31":[-29.54,2745.47],"4-8-15":[-52.36,2745.47],"6-36-0":[13.6,34.61],"6-36-1":[16.93,36.8],"6-36-2":[17.48,2230.75],"6-36-3":[8.2,2258.08],"6-36-4":[6.48,1817.36],"6-36-5":[1.34,2118.71],"6-36-6":[-14.9,1862.67],"6-36-7":[-49.69,611.89],"6-36-8":[-62.21,282.83],"6-36-9":[-68.81,575.77],"6-36-10":[-79.91,428.02],"6-36-11":[-45.31,430.05],"6-36-12":[-47.68,408.97],"6-36-13":[-44.52,406.33],"6-36-14":[126.58,610.85],"6-36-15":[16.43,575.3],"6-36-16":[12.09,700.02],"6-36-17":[-45.25,927.51],"6-36-18":[-64.5,1201.61],"6-36-19":[-85.54,191.41],"6-36-20":[-89.06,-36.24],"6-36-21":[-93.16,-34.13],"6-36-22":[-90.89,29.15],"6-36-23":[-82.17,55.76],"6-36-24":[-67.36,1947.58],"6-36-25":[-49.86,2231.33],"6-36-26":[-37.01,0.98],"6-36-27":[-29.93,-2.92],"6-36-28":[-18.96,1449.86],"6-36-29":[-29.88,4212.67],"6-36-30":[-37.47,5414.88],"6-36-31":[-328.06,5809.48],"6-36-32":[167.64,5906.18],"6-36-33":[112.46,4149.93],"6-36-34":[77.11,5607.45],"6-36-35":[-116.39,6754.44],"6-36-36":[-49.49,5914.69],"6-36-37":[-7.04,824.13],"6-36-38":[10.05,32.11],"6-36-39":[9.18,30.01],"6-36-40":[9.06,28.91],"6-36-41":[9.77,29.26],"6-36-42":[8.85,27.55],"6-36-43":[7.85,26.75],"6-36-44":[8.15,25.78],"6-36-45":[8.09,22.48],"6-36-46":[8.44,23.14],"6-36-47":[9.17,22.91],"6-36-48":[7.17,22.45],"6-36-49":[4.69,22.45],"6-36-50":[4.05,19.43],"6-36-51":[1.95,10.14],"6-36-52":[-2.07,8.34],"6-36-53":[-5.89,2.43],"6-36-54":[-7.67,1],"6-36-55":[-16.43,-0.39],"6-36-56":[-17.96,4.83],"6-36-57":[-24.97,322.6],"6-36-58":[-25.5,1069.77],"6-36-59":[-46.79,1055.47],"6-36-60":[-49.8,832.48],"6-36-61":[240.99,1288.62],"6-36-62":[1054.14,2281.25],"6-36-63":[-29.54,2745.47],"6-37-0":[13.6,35.4],"6-37-1":[17.14,38.45],"5-18-0":[13.6,38.45],"6-37-2":[18.24,2437.47],"6-37-3":[7.27,2148.92],"5-18-1":[7.27,2437.47],"6-37-4":[7.89,1260.24],"6-37-5":[4.77,32.77],"5-18-2":[1.34,2118.71],"6-37-6":[-1.92,1808.19],"6-37-7":[-40.5,1101.49],"5-18-3":[-49.69,1862.67],"6-37-8":[-50.59,282.61],"6-37-9":[-60.82,642.27],"5-18-4":[-68.81,642.27],"6-37-10":[-29.59,648.16],"6-37-11":[-23.76,410.19],"5-18-5":[-79.91,648.16],"6-37-12":[-40.73,516.43],"6-37-13":[163.41,654.15],"5-18-6":[-47.68,654.15],"6-37-14":[225.34,700.01],"6-37-15":[-96.6,889.43],"5-18-7":[-96.6,889.43],"6-37-16":[-33.29,1597.57],"6-37-17":[-113.29,1241.62],"5-18-8":[-113.29,1597.57],"6-37-18":[-86.48,7.41],"6-37-19":[-97.81,-12.11],"5-18-9":[-97.81,1201.61],"6-37-20":[-102.6,-42.73],"6-37-21":[-100.62,-43.8],"5-18-10":[-102.6,-34.13],"6-37-22":[-95.92,-41.08],"6-37-23":[-92.86,26.27],"5-18-11":[-95.92,55.76],"6-37-24":[-83.2,1217.95],"6-37-25":[-62.64,2330.69],"5-18-12":[-83.2,2330.69],"6-37-26":[-56.44,-14.96],"6-37-27":[-48.4,871.95],"5-18-13":[-56.44,871.95],"6-37-28":[-49.02,5700.22],"6-37-29":[-23.52,3844.52],"5-18-14":[-49.02,5700.22],"6-37-30":[169,5315.89],"6-37-31":[170.25,3836.77],"5-18-15":[-328.06,5809.48],"6-37-32":[117.06,443.38],"6-37-33":[81.67,324.59],"5-18-16":[81.67,5906.18],"6-37-34":[90.99,2362.22],"6-37-35":[136.3,5683.59],"5-18-17":[-116.39,6754.44],"6-37-36":[213.99,5564.58],"6-37-37":[-123.53,5547.75],"5-18-18":[-123.53,5914.69],"6-37-38":[11.41,41.12],"6-37-39":[13.52,40.44],"5-18-19":[9.18,41.12],"6-37-40":[13.77,39.3],"6-37-41":[13.66,37.5],"5-18-20":[9.06,39.3],"6-37-42":[12.71,34.42],"6-37-43":[9.07,32.14],"5-18-21":[7.85,34.42],"6-37-44":[8.29,34.46],"6-37-45":[-18.71,1376.54],"5-18-22":[-18.71,1376.54],"6-37-46":[-29.59,1061.25],"6-37-47":[-7.31,1414.25],"5-18-23":[-29.59,1414.25],"6-37-48":[-36.85,4026.29],"6-37-49":[-269.44,3587.09],"5-18-24":[-269.44,4026.29],"6-37-50":[-96.77,2789.91],"6-37-51":[-222.29,1172.63],"5-18-25":[-222.29,2789.91],"6-37-52":[1.79,13.51],"6-37-53":[0.72,11.28],"5-18-26":[-5.89,13.51],"6-37-54":[-0.4,8.59],"6-37-55":[-7.66,4.36],"5-18-27":[-16.43,8.59],"6-37-56":[-8.53,510.52],"6-37-57":[-19.03,669.28],"5-18-28":[-24.97,669.28],"6-37-58":[-21.41,1660.76],"6-37-59":[-46.84,796.88],"5-18-29":[-46.84,1660.76],"6-37-60":[-52.31,243.32],"6-37-61":[219.34,1153.83],"5-18-30":[-52.31,1288.62],"6-37-62":[921.3,2321.18],"6-37-63":[-29.54,2745.47],"5-18-31":[-29.54,2745.47],"6-38-0":[13.6,36.29],"6-38-1":[17.42,39.8],"6-38-2":[18.96,2116.63],"6-38-3":[6.6,2052.81],"6-38-4":[10,1115.32],"6-38-5":[12.54,35.55],"6-38-6":[0.83,1713.29],"6-38-7":[-34.12,1625.19],"6-38-8":[-39.93,332.82],"6-38-9":[-52.52,633.8],"6-38-10":[-48.57,658.27],"6-38-11":[-23.61,464.64],"6-38-12":[271.57,704.35],"6-38-13":[334.3,1114.61],"6-38-14":[-30.94,1053.24],"6-38-15":[-69.08,1266.55],"6-38-16":[-76.04,1888.88],"6-38-17":[-77.04,507.57],"6-38-18":[-86.89,-36.02],"6-38-19":[-98.41,-42.87],"6-38-20":[-103.24,-47.88],"6-38-21":[-104.42,-47.93],"6-38-22":[-104.14,-46.84],"6-38-23":[-103.56,-41.22],"6-38-24":[-101.46,1152.74],"6-38-25":[-85.84,3067.99],"6-38-26":[-70.73,-20.78],"6-38-27":[-65.4,833.1],"6-38-28":[-114.23,4925.73],"6-38-29":[10.54,5356.84],"6-38-30":[61.91,3882.23],"6-38-31":[106.5,839.2],"6-38-32":[68.16,474.29],"6-38-33":[63.39,249.13],"6-38-34":[103.34,384.58],"6-38-35":[184.94,644.83],"6-38-36":[252.99,6360.34],"6-38-37":[-22.39,6449.41],"6-38-38":[-1.33,5847.77],"6-38-39":[12.47,42.32],"6-38-40":[-9.89,2677.33],"6-38-41":[-3.78,2243.25],"6-38-42":[5.25,5156.32],"6-38-43":[2.3,5062.63],"6-38-44":[-10.81,5023.3],"6-38-45":[10.45,4724.4],"6-38-46":[-49.62,3766.16],"6-38-47":[-60.04,2585.5],"6-38-48":[-22.3,3553.09],"6-38-49":[7.67,3257.62],"6-38-50":[-72.84,2695.15],"6-38-51":[-106.71,1949.61],"6-38-52":[4.99,21.78],"6-38-53":[5.46,21.13],"6-38-54":[2.62,15.36],"6-38-55":[0.1,12.23],"6-38-56":[-3.35,2784.58],"6-38-57":[-15.5,1731.59],"6-38-58":[-15.5,1790.22],"6-38-59":[-44.23,1401.52],"6-38-60":[-50.33,332.2],"6-38-61":[241.75,1029.44],"6-38-62":[742.55,2346.02],"6-38-63":[-29.54,2745.47],"6-39-0":[13.6,37.58],"6-39-1":[17.68,41.29],"5-19-0":[13.6,41.29],"6-39-2":[16.51,1723.34],"6-39-3":[6.84,1651.25],"5-19-1":[6.6,2116.63],"4-9-0":[6.6,2437.47],"6-39-4":[11.11,1535.69],"6-39-5":[13.7,38.14],"5-19-2":[10,1535.69],"6-39-6":[2.98,1492.45],"6-39-7":[-1.86,1664.51],"5-19-3":[-34.12,1713.29],"4-9-1":[-49.69,2118.71],"3-4-0":[-63.11,2437.47],"6-39-8":[-16.42,932.96],"6-39-9":[-42.68,781.05],"5-19-4":[-52.52,932.96],"6-39-10":[-44.28,360.51],"6-39-11":[-41.88,596.29],"5-19-5":[-48.57,658.27],"4-9-2":[-79.91,932.96],"6-39-12":[51.44,869.29],"6-39-13":[188,1077.82],"5-19-6":[51.44,1114.61],"6-39-14":[-31.13,916.29],"6-39-15":[-25.79,1579.36],"5-19-7":[-69.08,1579.36],"4-9-3":[-96.6,1579.36],"3-4-1":[-97.86,1579.36],"6-39-16":[-56.2,1114.21],"6-39-17":[-75.76,23.87],"5-19-8":[-77.04,1888.88],"6-39-18":[-85.75,-37.02],"6-39-19":[-95.04,-41.17],"5-19-9":[-98.41,-36.02],"4-9-4":[-113.29,1888.88],"6-39-20":[-101.46,-44.35],"6-39-21":[-103.88,-46.85],"5-19-10":[-104.42,-44.35],"6-39-22":[-105.29,-49.02],"6-39-23":[-104.93,-50.05],"5-19-11":[-105.29,-41.22],"4-9-5":[-105.29,55.76],"3-4-2":[-113.29,2004.7],"6-39-24":[-129.9,-42.27],"6-39-25":[-132.42,1440.94],"5-19-12":[-132.42,3067.99],"6-39-26":[-85.88,-29.52],"6-39-27":[-89.53,1217.96],"5-19-13":[-89.53,1217.96],"4-9-6":[-132.42,3067.99],"6-39-28":[-34.01,3550.67],"6-39-29":[-4.7,404.14],"5-19-14":[-114.23,5356.84],"6-39-30":[19.1,759.95],"6-39-31":[49.74,984.95],"5-19-15":[19.1,3882.23],"4-9-7":[-328.06,5809.48],"3-4-3":[-328.06,5809.48],"6-39-32":[-0.58,880.62],"6-39-33":[34.67,244.67],"5-19-16":[-0.58,880.62],"6-39-34":[68,300.39],"6-39-35":[108.3,433.23],"5-19-17":[68,644.83],"4-9-8":[-116.39,6754.44],"6-39-36":[155.88,5347.83],"6-39-37":[202.17,6455.95],"5-19-18":[-22.39,6455.95],"6-39-38":[2.92,6600.28],"6-39-39":[3.78,6222.25],"5-19-19":[-1.33,6600.28],"4-9-9":[-123.53,6600.28],"3-4-4":[-123.53,6754.44],"6-39-40":[25.81,6775.96],"6-39-41":[366.3,6919.9],"5-19-20":[-9.89,6919.9],"6-39-42":[645.96,6300.89],"6-39-43":[493.64,6969.13],"5-19-21":[2.3,6969.13],"4-9-10":[-9.89,6969.13],"6-39-44":[407.92,5888.33],"6-39-45":[231.75,3998.13],"5-19-22":[-10.81,5888.33],"6-39-46":[248.58,2022.28],"6-39-47":[173.83,1957.39],"5-19-23":[-60.04,3766.16],"4-9-11":[-60.04,5888.33],"3-4-5":[-88.44,6969.13],"6-39-48":[-0.14,1353.11],"6-39-49":[-111.83,1097.15],"5-19-24":[-111.83,3553.09],"6-39-50":[-1.5,605.9],"6-39-51":[-63.31,2581.84],"5-19-25":[-106.71,2695.15],"4-9-12":[-269.44,4026.29],"6-39-52":[7.24,30.32],"6-39-53":[8.16,28.42],"5-19-26":[4.99,30.32],"6-39-54":[5.99,24.52],"6-39-55":[4.94,1701.66],"5-19-27":[0.1,1701.66],"4-9-13":[-16.43,1701.66],"3-4-6":[-269.44,4026.29],"6-39-56":[2.04,2876.77],"6-39-57":[-5.16,2323.88],"5-19-28":[-15.5,2876.77],"6-39-58":[-5.16,2011.29],"6-39-59":[-38.71,1401.52],"5-19-29":[-44.23,2011.29],"4-9-14":[-46.84,2876.77],"6-39-60":[-48.69,398.96],"6-39-61":[152.3,947.43],"5-19-30":[-50.33,1029.44],"6-39-62":[609.13,2348.16],"6-39-63":[-29.54,2745.47],"5-19-31":[-29.54,2745.47],"4-9-15":[-52.31,2745.47],"3-4-7":[-52.36,4721.94],"6-40-0":[13.58,38.54],"6-40-1":[18.42,42.48],"6-40-2":[14.03,1837.18],"6-40-3":[9.2,1301.31],"6-40-4":[16.61,1474.89],"6-40-5":[15.16,294.75],"6-40-6":[5.31,35.39],"6-40-7":[0.08,1690.53],"6-40-8":[-12.78,2057.19],"6-40-9":[-31.21,1148.56],"6-40-10":[-39,1032.11],"6-40-11":[-38.87,935.94],"6-40-12":[283.81,898.04],"6-40-13":[24.76,1031.68],"6-40-14":[-26.02,1255.33],"6-40-15":[-50.51,787.13],"6-40-16":[-51.94,269.07],"6-40-17":[-74.05,-24.93],"6-40-18":[-82.04,-34.93],"6-40-19":[-88.7,-36.77],"6-40-20":[-92.93,48.35],"6-40-21":[-98.06,-42.9],"6-40-22":[-101.84,-47.14],"6-40-23":[-104.68,-50.45],"6-40-24":[-138.65,-50.2],"6-40-25":[-141.12,1288.29],"6-40-26":[-90.28,-35.91],"6-40-27":[-82.71,92.4],"6-40-28":[-60.97,2718.19],"6-40-29":[-37.5,2385.74],"6-40-30":[52.53,2826.62],"6-40-31":[41.04,2785.87],"6-40-32":[-10.01,1058.3],"6-40-33":[7.09,158.16],"6-40-34":[23.99,203.5],"6-40-35":[68.74,470.48],"6-40-36":[117.6,267.64],"6-40-37":[126.79,5469.94],"6-40-38":[191.91,5778.21],"6-40-39":[986.52,6050.05],"6-40-40":[396.34,6388.87],"6-40-41":[262.61,6039.42],"6-40-42":[156.73,4549.07],"6-40-43":[232.7,2816.12],"6-40-44":[196.61,812.73],"6-40-45":[94.32,598.59],"6-40-46":[-102.43,1675.56],"6-40-47":[0.8,1125.83],"6-40-48":[-8.45,672.86],"6-40-49":[1.67,282.56],"6-40-50":[9.92,25.99],"6-40-51":[-12.01,1141.97],"6-40-52":[12.59,33.62],"6-40-53":[14.04,33.98],"6-40-54":[10.79,32.1],"6-40-55":[7.94,2110.84],"6-40-56":[7.14,2245.41],"6-40-57":[1.76,2040.57],"6-40-58":[-14.94,2090.43],"6-40-59":[-38.71,870.91],"6-40-60":[-48.69,230.81],"6-40-61":[-53.09,864.87],"6-40-62":[549.51,2344.27],"6-40-63":[-29.59,2745.47],"6-41-0":[13.58,39.48],"6-41-1":[19.11,44.26],"5-20-0":[13.58,44.26],"6-41-2":[13.19,951.78],"6-41-3":[11.37,1019.58],"5-20-1":[9.2,1837.18],"6-41-4":[17.37,1639.31],"6-41-5":[16.47,47.31],"5-20-2":[15.16,1639.31],"6-41-6":[12.24,47.31],"6-41-7":[6.36,1076.43],"5-20-3":[0.08,1690.53],"6-41-8":[-2.21,1785.63],"6-41-9":[-5.15,768.08],"5-20-4":[-31.21,2057.19],"6-41-10":[-18.25,1491.48],"6-41-11":[-32.03,1587.28],"5-20-5":[-39,1587.28],"6-41-12":[-13.09,864.36],"6-41-13":[25.94,1005.83],"5-20-6":[-13.09,1031.68],"6-41-14":[-40.09,588],"6-41-15":[-62.23,347.02],"5-20-7":[-62.23,1255.33],"6-41-16":[-51.62,265.73],"6-41-17":[-68.99,-25.54],"5-20-8":[-74.05,269.07],"6-41-18":[-71.61,-29.96],"6-41-19":[-78.01,-32.58],"5-20-9":[-88.7,-29.96],"6-41-20":[-85.81,18.12],"6-41-21":[-94.07,-39.59],"5-20-10":[-98.06,48.35],"6-41-22":[-102.75,-46.49],"6-41-23":[-105.57,-50.83],"5-20-11":[-105.57,-46.49],"6-41-24":[-129.54,-50.47],"6-41-25":[-129.48,1103.9],"5-20-12":[-141.12,1288.29],"6-41-26":[-90.4,869.54],"6-41-27":[-83.95,203.34],"5-20-13":[-90.4,869.54],"6-41-28":[-92.41,2565.59],"6-41-29":[-92.52,2449.21],"5-20-14":[-92.52,2718.19],"6-41-30":[126.29,2659.72],"6-41-31":[-0.89,2129.57],"5-20-15":[-0.89,2826.62],"6-41-32":[-35.4,103.23],"6-41-33":[-58.32,106.3],"5-20-16":[-58.32,1058.3],"6-41-34":[-8.15,187.29],"6-41-35":[3.69,1127.71],"5-20-17":[-8.15,1127.71],"6-41-36":[121.95,684.67],"6-41-37":[141.32,910.63],"5-20-18":[117.6,5469.94],"6-41-38":[214.18,4327.46],"6-41-39":[236.72,4098.61],"5-20-19":[191.91,6050.05],"6-41-40":[173.14,2622.25],"6-41-41":[94.42,1259.46],"5-20-20":[94.42,6388.87],"6-41-42":[68.09,1956.16],"6-41-43":[84.73,1847.62],"5-20-21":[68.09,4549.07],"6-41-44":[37.81,370.32],"6-41-45":[-42.53,1242.87],"5-20-22":[-42.53,1242.87],"6-41-46":[-22.19,172.48],"6-41-47":[-31.67,129.69],"5-20-23":[-102.43,1675.56],"6-41-48":[11.07,24.28],"6-41-49":[10.94,26.76],"5-20-24":[-8.45,672.86],"6-41-50":[10.24,27.93],"6-41-51":[-32.01,987.97],"5-20-25":[-32.01,1141.97],"6-41-52":[13.89,37.69],"6-41-53":[15.64,37.01],"5-20-26":[12.59,37.69],"6-41-54":[14.31,2255.29],"6-41-55":[8.72,2099.32],"5-20-27":[7.94,2255.29],"6-41-56":[6.99,2890.49],"6-41-57":[-1.96,2528.76],"5-20-28":[-1.96,2890.49],"6-41-58":[-28.3,1987.4],"6-41-59":[-36.07,-12.83],"5-20-29":[-38.71,2090.43],"6-41-60":[-47.6,-17.93],"6-41-61":[-51.95,806.53],"5-20-30":[-53.09,864.87],"6-41-62":[471.29,2332.43],"6-41-63":[-29.59,2745.47],"5-20-31":[-29.59,2745.47],"6-42-0":[13.6,39.87],"6-42-1":[20.07,45.77],"6-42-2":[13.39,636.09],"6-42-3":[13.39,1412.39],"6-42-4":[19.15,1850.85],"6-42-5":[16.99,99.21],"6-42-6":[19.11,50.32],"6-42-7":[14.3,47.47],"6-42-8":[7.19,1284.77],"6-42-9":[7.19,31.28],"6-42-10":[-1.45,19.12],"6-42-11":[-15.72,1027.48],"6-42-12":[-15.45,846.11],"6-42-13":[-12.9,704.1],"6-42-14":[-35.16,560.68],"6-42-15":[-28.74,626.18],"6-42-16":[-51.65,12.82],"6-42-17":[-59.93,-22.72],"6-42-18":[-63.96,-25.31],"6-42-19":[-70.71,-27.67],"6-42-20":[-79.19,-32.63],"6-42-21":[-92.99,-37.86],"6-42-22":[-102.26,-44.04],"6-42-23":[-104.51,-48.01],"6-42-24":[-109.89,-46.13],"6-42-25":[-127.72,350.69],"6-42-26":[-127.8,1415.28],"6-42-27":[-108.65,1174.77],"6-42-28":[-95.38,906.03],"6-42-29":[-54.23,2236.77],"6-42-30":[-7.39,2551.06],"6-42-31":[-5.06,1982.48],"6-42-32":[-47.66,394.84],"6-42-33":[-73.31,139.4],"6-42-34":[-32.27,379.21],"6-42-35":[37.28,586.16],"6-42-36":[152.35,742.16],"6-42-37":[128.07,1176.05],"6-42-38":[126.79,1325.79],"6-42-39":[110.1,644.34],"6-42-40":[97.77,249.8],"6-42-41":[34.67,233.97],"6-42-42":[2.15,142.11],"6-42-43":[-47.95,159.46],"6-42-44":[8.07,171.01],"6-42-45":[-24.24,773.01],"6-42-46":[11.51,27.54],"6-42-47":[5.16,24.63],"6-42-48":[5.16,23.27],"6-42-49":[8.2,25.72],"6-42-50":[-14.47,710.18],"6-42-51":[7.63,36.26],"6-42-52":[18.27,39.83],"6-42-53":[15.15,41.77],"6-42-54":[17.24,2109.78],"6-42-55":[9.82,2069.8],"6-42-56":[4.32,269.27],"6-42-57":[-10.08,1250.11],"6-42-58":[-23.74,1211.47],"6-42-59":[-36.14,-12.1],"6-42-60":[-49.12,-17.94],"6-42-61":[-51.95,889.65],"6-42-62":[706.64,2326.44],"6-42-63":[-29.54,2745.48],"6-43-0":[13.6,39.93],"6-43-1":[20.42,46.12],"5-21-0":[13.6,46.12],"6-43-2":[15.74,633.11],"6-43-3":[17.13,1941.41],"5-21-1":[13.39,1941.41],"4-10-0":[9.2,1941.41],"6-43-4":[99.2,2238.22],"6-43-5":[18.2,1021.33],"5-21-2":[16.99,2238.22],"6-43-6":[19.11,56.07],"6-43-7":[20.15,55.35],"5-21-3":[14.3,56.07],"4-10-1":[0.08,2238.22],"6-43-8":[17.02,49.44],"6-43-9":[9.89,42.39],"5-21-4":[7.19,1284.77],"6-43-10":[5.25,33.28],"6-43-11":[0.68,23.83],"5-21-5":[-15.72,1027.48],"4-10-2":[-39,2057.19],"6-43-12":[-8.86,1193.16],"6-43-13":[-13.28,895.93],"5-21-6":[-15.45,1193.16],"6-43-14":[-20.12,804.73],"6-43-15":[-48.44,566.65],"5-21-7":[-48.44,804.73],"4-10-3":[-62.23,1255.33],"6-43-16":[-45.14,-4.42],"6-43-17":[-49.88,-13.27],"5-21-8":[-59.93,12.82],"6-43-18":[-53.59,-19.77],"6-43-19":[-63.3,-23.07],"5-21-9":[-70.71,-19.77],"4-10-4":[-88.7,269.07],"6-43-20":[-73.49,-28.47],"6-43-21":[-87.06,-33.6],"5-21-10":[-92.99,-28.47],"6-43-22":[-94.59,-38.95],"6-43-23":[-97.23,-43.01],"5-21-11":[-104.51,-38.95],"4-10-5":[-105.57,48.35],"6-43-24":[-97.15,-43.83],"6-43-25":[-102.43,-45.56],"5-21-12":[-127.72,350.69],"6-43-26":[-113.66,-45.85],"6-43-27":[-108.06,-44.72],"5-21-13":[-127.8,1415.28],"4-10-6":[-141.12,1415.28],"6-43-28":[-95.84,-31.87],"6-43-29":[-77.21,502.55],"5-21-14":[-95.84,2236.77],"6-43-30":[-149.21,1207.52],"6-43-31":[87.42,1109.8],"5-21-15":[-149.21,2551.06],"4-10-7":[-149.21,2826.62],"6-43-32":[-59.96,483.8],"6-43-33":[-57.01,412.4],"5-21-16":[-73.31,483.8],"6-43-34":[2.73,657.03],"6-43-35":[87.58,621.44],"5-21-17":[-32.27,657.03],"4-10-8":[-73.31,1127.71],"6-43-36":[215.28,689.04],"6-43-37":[74.01,949.21],"5-21-18":[74.01,1176.05],"6-43-38":[58.91,1245.78],"6-43-39":[66.15,856.34],"5-21-19":[58.91,1325.79],"4-10-9":[58.91,6050.05],"6-43-40":[22.81,738.99],"6-43-41":[-2.88,703.38],"5-21-20":[-2.88,738.99],"6-43-42":[24.1,362.62],"6-43-43":[-5.9,395.29],"5-21-21":[-47.95,395.29],"4-10-10":[-47.95,6388.87],"6-43-44":[-44.85,228.24],"6-43-45":[-41.29,445.18],"5-21-22":[-44.85,773.01],"6-43-46":[2.65,26.5],"6-43-47":[0.53,19.67],"5-21-23":[0.53,27.54],"4-10-11":[-102.43,1675.56],"6-43-48":[0.24,14.06],"6-43-49":[3.69,25.65],"5-21-24":[0.24,25.72],"6-43-50":[3.62,714.59],"6-43-51":[5.69,38.8],"5-21-25":[-14.47,714.59],"4-10-12":[-32.01,1141.97],"6-43-52":[18.27,41.03],"6-43-53":[15.15,44.21],"5-21-26":[15.15,44.21],"6-43-54":[19.28,1728.16],"6-43-55":[9.82,37.01],"5-21-27":[9.82,2109.78],"4-10-13":[7.94,2255.29],"6-43-56":[1.8,22.37],"6-43-57":[-9.86,6.91],"5-21-28":[-10.08,1250.11],"6-43-58":[-23.43,-4.86],"6-43-59":[-35.85,-11.97],"5-21-29":[-36.14,1211.47],"4-10-14":[-38.71,2890.49],"6-43-60":[-50.63,-17.94],"6-43-61":[-51.01,1371.37],"5-21-30":[-51.95,1371.37],"6-43-62":[889.64,2317.26],"6-43-63":[-29.54,2745.48],"5-21-31":[-29.54,2745.48],"4-10-15":[-53.09,2745.48],"6-44-0":[13.6,39.84],"6-44-1":[20.3,45.86],"6-44-2":[17.47,772.13],"6-44-3":[19.23,2089.38],"6-44-4":[1020.94,2319.04],"6-44-5":[23.12,1708.39],"6-44-6":[23.37,1880.96],"6-44-7":[23.02,1854.07],"6-44-8":[21.54,1029.06],"6-44-9":[17.35,54.28],"6-44-10":[12.02,44.62],"6-44-11":[7.84,35.64],"6-44-12":[1.92,148.72],"6-44-13":[-20.3,486.61],"6-44-14":[-16.93,577.05],"6-44-15":[-12.05,408.54],"6-44-16":[-25.93,8.57],"6-44-17":[-39.16,-6.77],"6-44-18":[-44.89,-11.09],"6-44-19":[-56.94,-15.52],"6-44-20":[-66.17,-21.28],"6-44-21":[-77.89,-27.12],"6-44-22":[-85.04,-32.05],"6-44-23":[-89.27,-36.06],"6-44-24":[-91.01,-38.75],"6-44-25":[-96.71,-40.68],"6-44-26":[-98.96,-43.31],"6-44-27":[-95.93,-44.41],"6-44-28":[-95.18,-38.68],"6-44-29":[-81.6,14.37],"6-44-30":[-61.24,1030.82],"6-44-31":[94.48,889.3],"6-44-32":[-68.02,823.15],"6-44-33":[-38.49,487.97],"6-44-34":[67.74,694.41],"6-44-35":[161.68,753.33],"6-44-36":[228.41,612.29],"6-44-37":[103.13,914.71],"6-44-38":[86.09,880.42],"6-44-39":[114.58,752.75],"6-44-40":[106.53,799.57],"6-44-41":[70.48,899.62],"6-44-42":[35.31,584.15],"6-44-43":[1.97,482.27],"6-44-44":[-15.03,526.4],"6-44-45":[1.5,25.03],"6-44-46":[-0.35,22.2],"6-44-47":[-1.19,4.24],"6-44-48":[-2.11,6.22],"6-44-49":[-0.03,20.82],"6-44-50":[4.52,23.4],"6-44-51":[4.37,37.14],"6-44-52":[17.75,41.14],"6-44-53":[20.43,1523.88],"6-44-54":[16.01,578.59],"6-44-55":[7.53,38.03],"6-44-56":[-1.38,22.22],"6-44-57":[-9.33,2.32],"6-44-58":[-22.52,-3.02],"6-44-59":[-35.85,-11.88],"6-44-60":[-51.01,204.79],"6-44-61":[-50.72,1540.95],"6-44-62":[1083.33,2298.91],"6-44-63":[-29.54,2745.48],"6-45-0":[13.6,39.31],"6-45-1":[20,45.87],"5-22-0":[13.6,45.87],"6-45-2":[18.2,829.3],"6-45-3":[45.54,2185.38],"5-22-1":[17.47,2185.38],"6-45-4":[1552.61,2333.41],"6-45-5":[1247.03,2344.97],"5-22-2":[23.12,2344.97],"6-45-6":[26.83,2399.4],"6-45-7":[22.92,1842.92],"5-22-3":[22.92,2399.4],"6-45-8":[27.1,2229.6],"6-45-9":[22.31,1280.25],"5-22-4":[17.35,2229.6],"6-45-10":[19.37,59.8],"6-45-11":[16.17,52.29],"5-22-5":[7.84,59.8],"6-45-12":[14.52,48.25],"6-45-13":[12.67,43.66],"5-22-6":[-20.3,486.61],"6-45-14":[-9.6,301],"6-45-15":[-18.2,337.49],"5-22-7":[-18.2,577.05],"6-45-16":[-9.43,30.39],"6-45-17":[-20.11,6.02],"5-22-8":[-39.16,30.39],"6-45-18":[-27.17,-1.97],"6-45-19":[-40.58,-6.64],"5-22-9":[-56.94,-1.97],"6-45-20":[-50.81,-12.66],"6-45-21":[-62.29,-18.14],"5-22-10":[-77.89,-12.66],"6-45-22":[-68.68,-23.39],"6-45-23":[-75.93,-27.38],"5-22-11":[-89.27,-23.39],"6-45-24":[-80.15,-31.4],"6-45-25":[-85.3,-34.94],"5-22-12":[-96.71,-31.4],"6-45-26":[-89.68,-37.87],"6-45-27":[-90.85,-41.31],"5-22-13":[-98.96,-37.87],"6-45-28":[-90.85,-40.13],"6-45-29":[-87.64,-32.13],"5-22-14":[-95.18,14.37],"6-45-30":[-71.92,795.54],"6-45-31":[-78.81,615.02],"5-22-15":[-78.81,1030.82],"6-45-32":[-60.65,667.42],"6-45-33":[-29.07,524.34],"5-22-16":[-68.02,823.15],"6-45-34":[114.46,806.95],"6-45-35":[140.16,772.15],"5-22-17":[67.74,806.95],"6-45-36":[148.33,508.2],"6-45-37":[188.03,1020.26],"5-22-18":[103.13,1020.26],"6-45-38":[279.54,1043.99],"6-45-39":[226.83,630.24],"5-22-19":[86.09,1043.99],"6-45-40":[218.51,1344.63],"6-45-41":[192.34,1399.29],"5-22-20":[70.48,1399.29],"6-45-42":[-18.16,1093.19],"6-45-43":[-20.19,529.24],"5-22-21":[-20.19,1093.19],"6-45-44":[-0.71,38.77],"6-45-45":[-4.23,9.67],"5-22-22":[-15.03,526.4],"6-45-46":[-4.6,2.28],"6-45-47":[-5.77,-0.34],"5-22-23":[-5.77,22.2],"6-45-48":[-6.99,-0.02],"6-45-49":[-2.71,15],"5-22-24":[-6.99,20.82],"6-45-50":[5.01,17.57],"6-45-51":[6.24,35.37],"5-22-25":[4.37,37.14],"6-45-52":[17.75,40.41],"6-45-53":[20.22,47.29],"5-22-26":[17.75,1523.88],"6-45-54":[13.66,45.08],"6-45-55":[7.53,29.37],"5-22-27":[7.53,578.59],"6-45-56":[-1.7,15.36],"6-45-57":[-5.7,-0.8],"5-22-28":[-9.33,22.22],"6-45-58":[-21.59,-2.49],"6-45-59":[-34.95,-11.26],"5-22-29":[-35.85,-2.49],"6-45-60":[-51.02,354.31],"6-45-61":[-49.77,1979.94],"5-22-30":[-51.02,1979.94],"6-45-62":[1259.39,2275.47],"6-45-63":[-29.54,2745.48],"5-22-31":[-29.54,2745.48],"6-46-0":[13.6,38.72],"6-46-1":[19.71,46.42],"6-46-2":[19.83,660.34],"6-46-3":[405.24,2285.51],"6-46-4":[1894.84,2457.14],"6-46-5":[1860.54,2475.02],"6-46-6":[29.19,2542.84],"6-46-7":[26.42,1831.68],"6-46-8":[29.81,2027.72],"6-46-9":[29.48,2175.1],"6-46-10":[26.25,1494.43],"6-46-11":[24.84,68.28],"6-46-12":[21.59,63.25],"6-46-13":[21.59,55.81],"6-46-14":[17.39,52.22],"6-46-15":[15.17,53.92],"6-46-16":[5.41,41.06],"6-46-17":[-3.66,21.16],"6-46-18":[-11.78,10.12],"6-46-19":[-24.71,1.96],"6-46-20":[-35.15,-2.52],"6-46-21":[-46.25,-7.81],"6-46-22":[-53.6,-12.92],"6-46-23":[-62.78,-17.62],"6-46-24":[-68.86,-22.4],"6-46-25":[-75.75,-26.93],"6-46-26":[-82.25,-30.53],"6-46-27":[-86.6,-34.57],"6-46-28":[-87.21,-38.79],"6-46-29":[-85.59,-35.95],"6-46-30":[-76.08,-28.51],"6-46-31":[-60.98,35.72],"6-46-32":[-80.07,69.74],"6-46-33":[-95.49,521.39],"6-46-34":[51.02,882.74],"6-46-35":[105.36,737.91],"6-46-36":[127.52,1154.07],"6-46-37":[227.19,1475.44],"6-46-38":[312.64,1034.42],"6-46-39":[301.73,1075.16],"6-46-40":[-51.68,1855.39],"6-46-41":[-37.26,1825.17],"6-46-42":[-24.64,1827.75],"6-46-43":[-6.23,13.98],"6-46-44":[-9.69,10.93],"6-46-45":[-8.47,-0.7],"6-46-46":[-8.58,-1.87],"6-46-47":[-7.32,-2.14],"6-46-48":[-8.38,-2.22],"6-46-49":[-4.74,9.5],"6-46-50":[1.02,14.82],"6-46-51":[8.24,36.85],"6-46-52":[18.32,40.45],"6-46-53":[18.15,42.54],"6-46-54":[13.5,40.62],"6-46-55":[8,27.69],"6-46-56":[-0.82,15.99],"6-46-57":[-4.02,0.15],"6-46-58":[-20.54,-1.51],"6-46-59":[-34.25,437.71],"6-46-60":[-50.27,631.96],"6-46-61":[-48.16,1965.25],"6-46-62":[1373.28,2268.09],"6-46-63":[-29.54,2745.48],"6-47-0":[13.6,37.99],"6-47-1":[19.55,47.53],"5-23-0":[13.6,47.53],"6-47-2":[20.29,700.91],"6-47-3":[443.21,2373.94],"5-23-1":[19.83,2373.94],"4-11-0":[13.6,2373.94],"6-47-4":[2285.5,2625.24],"6-47-5":[2286.78,2882.05],"5-23-2":[1860.54,2882.05],"6-47-6":[1707.24,2840.8],"6-47-7":[1101.27,2476.32],"5-23-3":[26.42,2840.8],"4-11-1":[22.92,2882.05],"3-5-0":[0.08,2882.05],"6-47-8":[1301.32,2769.8],"6-47-9":[1356.57,2769.95],"5-23-4":[29.48,2769.95],"6-47-10":[33.06,2452.69],"6-47-11":[31.62,81.26],"5-23-5":[24.84,2452.69],"4-11-2":[7.84,2769.95],"6-47-12":[29.54,78.26],"6-47-13":[24.7,72.82],"5-23-6":[21.59,78.26],"6-47-14":[23.65,69.47],"6-47-15":[21.38,70.1],"5-23-7":[15.17,70.1],"4-11-3":[-20.3,577.05],"3-5-1":[-62.23,2769.95],"2-2-0":[-97.86,2882.05],"6-47-16":[13.6,55.71],"6-47-17":[5.96,40.64],"5-23-8":[-3.66,55.71],"6-47-18":[1.95,29.54],"6-47-19":[-2.64,22.06],"5-23-9":[-24.71,29.54],"4-11-4":[-56.94,55.71],"6-47-20":[-11.83,15.19],"6-47-21":[-23.15,4.78],"5-23-10":[-46.25,15.19],"6-47-22":[-31.32,-2.17],"6-47-23":[-42.51,-7.52],"5-23-11":[-62.78,-2.17],"4-11-5":[-89.27,15.19],"3-5-2":[-105.57,269.07],"6-47-24":[-50.68,-13.69],"6-47-25":[-59.08,-19.14],"5-23-12":[-75.75,-13.69],"6-47-26":[-65.46,-24.58],"6-47-27":[-76.9,-25.66],"5-23-13":[-86.6,-24.58],"4-11-6":[-98.96,-13.69],"6-47-28":[-76.9,-30.33],"6-47-29":[-77.77,-32.04],"5-23-14":[-87.21,-30.33],"6-47-30":[-72.57,-28.65],"6-47-31":[-64.4,-23.15],"5-23-15":[-76.08,35.72],"4-11-7":[-95.18,1030.82],"3-5-3":[-149.21,2826.62],"2-2-1":[-328.06,5809.48],"6-47-32":[-64.98,198.92],"6-47-33":[-52.12,442.32],"5-23-16":[-95.49,521.39],"6-47-34":[64.01,663.07],"6-47-35":[165.38,868.81],"5-23-17":[51.02,882.74],"4-11-8":[-95.49,882.74],"6-47-36":[242.55,1657.87],"6-47-37":[397.4,1576.13],"5-23-18":[127.52,1657.87],"6-47-38":[443.95,1269.93],"6-47-39":[482.05,2353.32],"5-23-19":[301.73,2353.32],"4-11-9":[86.09,2353.32],"3-5-4":[-95.49,6050.05],"6-47-40":[-47.11,2413.32],"6-47-41":[-19.83,2.39],"5-23-20":[-51.68,2413.32],"6-47-42":[-16.52,2.77],"6-47-43":[-15,-2.9],"5-23-21":[-24.64,1827.75],"4-11-10":[-51.68,2413.32],"6-47-44":[-12.7,-3.31],"6-47-45":[-12.43,-4],"5-23-22":[-12.7,10.93],"6-47-46":[-12.93,-3],"6-47-47":[-9.68,-2.76],"5-23-23":[-12.93,-1.87],"4-11-11":[-15.03,526.4],"3-5-5":[-102.43,6388.87],"2-2-2":[-123.53,6969.13],"6-47-48":[-7.97,-2.42],"6-47-49":[-5.09,12.36],"5-23-24":[-8.38,12.36],"6-47-50":[0.94,19.2],"6-47-51":[9.93,36.67],"5-23-25":[0.94,36.85],"4-11-12":[-8.38,37.14],"6-47-52":[18.32,42.39],"6-47-53":[18.15,853.58],"5-23-26":[18.15,853.58],"6-47-54":[14.52,46.03],"6-47-55":[8,29.24],"5-23-27":[8,46.03],"4-11-13":[7.53,1523.88],"3-5-6":[-32.01,2255.29],"6-47-56":[0.14,16.45],"6-47-57":[-4.25,0.82],"5-23-28":[-4.25,16.45],"6-47-58":[-18.57,-1.51],"6-47-59":[-29.56,457.63],"5-23-29":[-34.25,457.63],"4-11-14":[-35.85,457.63],"6-47-60":[-47.37,731.02],"6-47-61":[-47.53,1373.29],"5-23-30":[-50.27,1965.25],"6-47-62":[1353.9,2263.16],"6-47-63":[-29.54,2745.98],"5-23-31":[-29.54,2745.98],"4-11-15":[-51.02,2745.98],"3-5-7":[-53.09,2890.49],"2-2-3":[-269.44,4721.94],"6-48-0":[13.6,37.61],"6-48-1":[19.52,48.06],"6-48-2":[23.04,949.4],"6-48-3":[418.15,2469.75],"6-48-4":[2373.93,2812.59],"6-48-5":[2625.23,3024.06],"6-48-6":[2476.31,3047.68],"6-48-7":[2357.41,2826.07],"6-48-8":[1710.88,2785.17],"6-48-9":[45.47,2833.9],"6-48-10":[-226.59,2803.26],"6-48-11":[39.09,92.57],"6-48-12":[36.79,90.15],"6-48-13":[33.05,85.22],"6-48-14":[32.05,78.86],"6-48-15":[27.85,72.39],"6-48-16":[21.23,65.89],"6-48-17":[15.6,54.55],"6-48-18":[11.42,45.38],"6-48-19":[8.36,39.31],"6-48-20":[2.88,32.2],"6-48-21":[-3.8,23.36],"6-48-22":[-13.7,10.3],"6-48-23":[-26.69,-1.49],"6-48-24":[-36.66,-9.03],"6-48-25":[-48.75,-14.66],"6-48-26":[-52.31,-19.6],"6-48-27":[-60.66,-21.73],"6-48-28":[-65.09,-22.59],"6-48-29":[-65.14,-24.57],"6-48-30":[-64.07,-23.02],"6-48-31":[-58.56,-22.33],"6-48-32":[-70.5,80.25],"6-48-33":[-60.53,366.28],"6-48-34":[46.82,588.21],"6-48-35":[175.94,1298.57],"6-48-36":[374.95,1756.49],"6-48-37":[264.86,1788.77],"6-48-38":[158.3,2047.81],"6-48-39":[-0.94,2789.25],"6-48-40":[-170.49,2060.99],"6-48-41":[-22.35,-6.95],"6-48-42":[-21.25,-7.27],"6-48-43":[-16.43,-5.74],"6-48-44":[-15.08,-5.85],"6-48-45":[-14.74,-5.73],"6-48-46":[-15.44,-5.21],"6-48-47":[-14.07,-3.49],"6-48-48":[-9.34,-1.35],"6-48-49":[-3.65,16.97],"6-48-50":[3.91,17.53],"6-48-51":[9.5,35.69],"6-48-52":[17.4,41.28],"6-48-53":[19.29,277.84],"6-48-54":[14.49,46.03],"6-48-55":[8.34,28.56],"6-48-56":[0.81,16.97],"6-48-57":[-6.67,1.37],"6-48-58":[-16.22,-2.35],"6-48-59":[-31.72,213.73],"6-48-60":[-45.8,701.38],"6-48-61":[-47.53,1548.87],"6-48-62":[1362.57,2265.71],"6-48-63":[-29.54,2746.48],"6-49-0":[13.6,37.46],"6-49-1":[19.53,48.73],"5-24-0":[13.6,48.73],"6-49-2":[24.05,1459.96],"6-49-3":[919.34,2462.17],"5-24-1":[23.04,2469.75],"6-49-4":[2354.99,2812.59],"6-49-5":[2629.11,3141.21],"5-24-2":[2354.99,3141.21],"6-49-6":[2784.52,3182.09],"6-49-7":[2634.56,3042.62],"5-24-3":[2357.41,3182.09],"6-49-8":[44.4,2652.87],"6-49-9":[44.54,2012.55],"5-24-4":[44.4,2833.9],"6-49-10":[46.28,334.77],"6-49-11":[44.97,101.28],"5-24-5":[-226.59,2803.26],"6-49-12":[43.91,102],"6-49-13":[40.13,98.24],"5-24-6":[33.05,102],"6-49-14":[36.75,93.09],"6-49-15":[33.71,86.06],"5-24-7":[27.85,93.09],"6-49-16":[28.95,81.48],"6-49-17":[23.81,73.88],"5-24-8":[15.6,81.48],"6-49-18":[21.4,66.2],"6-49-19":[17.36,60.53],"5-24-9":[8.36,66.2],"6-49-20":[13.7,55.5],"6-49-21":[5.84,39.04],"5-24-10":[-3.8,55.5],"6-49-22":[-1.5,22.35],"6-49-23":[-16.89,4.59],"5-24-11":[-26.69,22.35],"6-49-24":[-26.78,-4.39],"6-49-25":[-37.71,-9.55],"5-24-12":[-48.75,-4.39],"6-49-26":[-42.33,-13.76],"6-49-27":[-43.85,-16.48],"5-24-13":[-60.66,-13.76],"6-49-28":[-45.31,-15.23],"6-49-29":[-49.21,-15.42],"5-24-14":[-65.14,-15.23],"6-49-30":[-47.15,-16.29],"6-49-31":[-46.81,-15.86],"5-24-15":[-64.07,-15.86],"6-49-32":[-46.81,79.72],"6-49-33":[-74.23,1125.05],"5-24-16":[-74.23,1125.05],"6-49-34":[53.15,966.21],"6-49-35":[149.22,1272.47],"5-24-17":[46.82,1298.57],"6-49-36":[99.05,2017.31],"6-49-37":[0.38,1423.16],"5-24-18":[0.38,2017.31],"6-49-38":[-51.4,1567.33],"6-49-39":[-41.56,2863.35],"5-24-19":[-51.4,2863.35],"6-49-40":[-24.02,694.74],"6-49-41":[-23.57,-9.82],"5-24-20":[-170.49,2060.99],"6-49-42":[-21.49,-7.66],"6-49-43":[-17.46,-7.18],"5-24-21":[-21.49,-5.74],"6-49-44":[-15.24,-6.72],"6-49-45":[-14.63,-6.41],"5-24-22":[-15.24,-5.73],"6-49-46":[-15.67,-6.33],"6-49-47":[-14.71,-4.79],"5-24-23":[-15.67,-3.49],"6-49-48":[-10.04,-0.71],"6-49-49":[-1.58,15],"5-24-24":[-10.04,16.97],"6-49-50":[3.4,15.14],"6-49-51":[6.24,37.34],"5-24-25":[3.4,37.34],"6-49-52":[17.4,40.03],"6-49-53":[19.24,44.9],"5-24-26":[17.4,277.84],"6-49-54":[14.63,42.23],"6-49-55":[8.34,28.46],"5-24-27":[8.34,46.03],"6-49-56":[1.36,16.69],"6-49-57":[-9.07,1.88],"5-24-28":[-9.07,16.97],"6-49-58":[-13.8,-3.51],"6-49-59":[-31.95,-7.78],"5-24-29":[-31.95,213.73],"6-49-60":[-42.5,467.1],"6-49-61":[-22.1,1679.35],"5-24-30":[-47.53,1679.35],"6-49-62":[1548.86,2265.71],"6-49-63":[-29.54,2746.48],"5-24-31":[-29.54,2746.48],"6-50-0":[13.6,37.63],"6-50-1":[19.61,49.96],"6-50-2":[24.84,1457.67],"6-50-3":[1097.61,2355],"6-50-4":[2249.23,2629.12],"6-50-5":[2558.1,3200.74],"6-50-6":[3042.61,3253.39],"6-50-7":[2639.66,3209.33],"6-50-8":[45.07,3108.37],"6-50-9":[45.74,106.81],"6-50-10":[49.27,105.78],"6-50-11":[49.5,111.91],"6-50-12":[49.85,112.69],"6-50-13":[46.54,108.32],"6-50-14":[43.24,103.27],"6-50-15":[40.73,96.8],"6-50-16":[37.48,93],"6-50-17":[33.1,87.83],"6-50-18":[30.85,80.4],"6-50-19":[27.75,76.44],"6-50-20":[20.59,68.85],"6-50-21":[12.03,47.85],"6-50-22":[3.31,31.01],"6-50-23":[-8.2,12.45],"6-50-24":[-17.97,2.19],"6-50-25":[-27.35,-2.98],"6-50-26":[-32.47,-5.75],"6-50-27":[-35.27,-10.36],"6-50-28":[-34.69,-9.18],"6-50-29":[-34.54,-8.11],"6-50-30":[-34.03,-8.32],"6-50-31":[-34.84,-8.32],"6-50-32":[-34.84,-10.92],"6-50-33":[-44.76,1106.52],"6-50-34":[4.53,1190.32],"6-50-35":[-49.15,1083.8],"6-50-36":[-42.94,626.82],"6-50-37":[-28.08,986.18],"6-50-38":[-23.73,124.34],"6-50-39":[-23.06,-5.86],"6-50-40":[-23.22,-8.26],"6-50-41":[-22.24,-6.03],"6-50-42":[-20.02,-1.95],"6-50-43":[-15.06,-2.36],"6-50-44":[-14.73,-4.64],"6-50-45":[-13.41,-4.06],"6-50-46":[-13.54,-3.83],"6-50-47":[-13.35,-3.1],"6-50-48":[-9.2,0.55],"6-50-49":[-0.72,12.98],"6-50-50":[2.9,23.35],"6-50-51":[-44.49,2738.7],"6-50-52":[19.49,41.64],"6-50-53":[20.4,44],"6-50-54":[14.13,41.06],"6-50-55":[7.93,28.3],"6-50-56":[1.73,16.49],"6-50-57":[-9.57,2.54],"6-50-58":[-12.44,-2.31],"6-50-59":[-30.93,-7.27],"6-50-60":[-38.74,776.2],"6-50-61":[467.09,1715.15],"6-50-62":[1679.34,2262.46],"6-50-63":[-29.54,2746.48],"6-51-0":[13.6,37.87],"6-51-1":[19.71,51.91],"5-25-0":[13.6,51.91],"6-51-2":[25.09,1225.55],"6-51-3":[563.18,2251.74],"5-25-1":[24.84,2355],"4-12-0":[13.6,2469.75],"6-51-4":[2064.18,2558.11],"6-51-5":[2479.15,3116.18],"5-25-2":[2064.18,3200.74],"6-51-6":[2863.3,3190.72],"6-51-7":[842.84,3318.44],"5-25-3":[842.84,3318.44],"4-12-1":[842.84,3318.44],"6-51-8":[51.79,2952.11],"6-51-9":[51.81,111.55],"5-25-4":[45.07,3108.37],"6-51-10":[52.28,118.01],"6-51-11":[54.03,122.71],"5-25-5":[49.27,122.71],"4-12-2":[-226.59,3108.37],"6-51-12":[56.06,122.31],"6-51-13":[52.06,118.71],"5-25-6":[46.54,122.31],"6-51-14":[49.47,113.3],"6-51-15":[47.29,108.7],"5-25-7":[40.73,113.3],"4-12-3":[27.85,122.31],"6-51-16":[45.13,107.59],"6-51-17":[41.29,102.26],"5-25-8":[33.1,107.59],"6-51-18":[39.59,98.78],"6-51-19":[34.86,94.27],"5-25-9":[27.75,98.78],"4-12-4":[8.36,107.59],"6-51-20":[25.6,77.17],"6-51-21":[16.22,56.25],"5-25-10":[12.03,77.17],"6-51-22":[7.85,41.92],"6-51-23":[2.04,22.97],"5-25-11":[-8.2,41.92],"4-12-5":[-26.69,77.17],"6-51-24":[-2.99,19.11],"6-51-25":[-9.54,11.37],"5-25-12":[-27.35,19.11],"6-51-26":[-18.24,4.22],"6-51-27":[-22.86,-3.86],"5-25-13":[-35.27,4.22],"4-12-6":[-60.66,19.11],"6-51-28":[-21.86,-3.45],"6-51-29":[-16.16,0.32],"5-25-14":[-34.69,0.32],"6-51-30":[-15.02,0.32],"6-51-31":[-23.52,-1.06],"5-25-15":[-34.84,0.32],"4-12-7":[-65.14,0.32],"6-51-32":[-24.99,-5.27],"6-51-33":[-25.2,315.67],"5-25-16":[-44.76,1106.52],"6-51-34":[-43.64,1194.05],"6-51-35":[-34.81,1027.17],"5-25-17":[-49.15,1194.05],"4-12-8":[-74.23,1298.57],"6-51-36":[-25.89,-9.5],"6-51-37":[-26.03,-8.12],"5-25-18":[-42.94,986.18],"6-51-38":[-21.09,-6.58],"6-51-39":[-20.12,-3.54],"5-25-19":[-23.73,124.34],"4-12-9":[-51.4,2863.35],"6-51-40":[-17.91,-6.14],"6-51-41":[-15.72,-2.7],"5-25-20":[-23.22,-2.7],"6-51-42":[-11.25,4.88],"6-51-43":[-8.51,4.82],"5-25-21":[-20.02,4.88],"4-12-10":[-170.49,2060.99],"6-51-44":[-8.8,-0.42],"6-51-45":[-8.93,-0.49],"5-25-22":[-14.73,-0.42],"6-51-46":[-7.5,-0.3],"6-51-47":[-7.21,0.52],"5-25-23":[-13.54,0.52],"4-12-11":[-15.67,0.52],"6-51-48":[-5.84,5.1],"6-51-49":[0.54,16.37],"5-25-24":[-9.2,16.37],"6-51-50":[6.57,28.17],"6-51-51":[0.07,2916.19],"5-25-25":[-44.49,2916.19],"4-12-12":[-44.49,2916.19],"6-51-52":[19.49,44.42],"6-51-53":[20.67,45.57],"5-25-26":[19.49,45.57],"6-51-54":[13.2,41.85],"6-51-55":[7.93,27.24],"5-25-27":[7.93,41.85],"4-12-13":[7.93,277.84],"6-51-56":[1.43,15.82],"6-51-57":[-8.96,2.59],"5-25-28":[-9.57,16.49],"6-51-58":[-10.69,-0.69],"6-51-59":[-26.21,682.83],"5-25-29":[-30.93,682.83],"4-12-14":[-31.95,682.83],"6-51-60":[-38.69,818.98],"6-51-61":[776.19,1785.3],"5-25-30":[-38.74,1785.3],"6-51-62":[1715.14,2257.85],"6-51-63":[-29.54,2746.48],"5-25-31":[-29.54,2746.48],"4-12-15":[-47.53,2746.48],"6-52-0":[13.6,38],"6-52-1":[19.75,52.83],"6-52-2":[26.3,1141.68],"6-52-3":[39.31,2076.74],"6-52-4":[1811.24,2521.51],"6-52-5":[2242.7,2887.36],"6-52-6":[2056.01,3023.83],"6-52-7":[55.87,3002.57],"6-52-8":[54.97,1206.68],"6-52-9":[54.3,120.01],"6-52-10":[55.78,125.87],"6-52-11":[59.31,126.28],"6-52-12":[59.58,122.56],"6-52-13":[56.65,121.98],"6-52-14":[54.49,120.69],"6-52-15":[53.73,118.59],"6-52-16":[51.45,117.92],"6-52-17":[49.39,956.08],"6-52-18":[47.13,292.1],"6-52-19":[38.59,98.45],"6-52-20":[29.29,80.32],"6-52-21":[22.35,62.32],"6-52-22":[12.18,49.65],"6-52-23":[9.78,32.21],"6-52-24":[6.18,30.74],"6-52-25":[2.46,27.03],"6-52-26":[-6.88,18.42],"6-52-27":[-11.61,3.79],"6-52-28":[-11.61,1.81],"6-52-29":[-6.04,9.77],"6-52-30":[-1.63,10.1],"6-52-31":[-11.81,9.72],"6-52-32":[-15.72,1.12],"6-52-33":[-24.61,236.48],"6-52-34":[-22.93,-6.99],"6-52-35":[-23.03,-9.64],"6-52-36":[-21.93,-7.29],"6-52-37":[-18.49,-6.71],"6-52-38":[-16.29,-5.18],"6-52-39":[-15.68,-4.33],"6-52-40":[-15.61,-5.17],"6-52-41":[-11.29,0.3],"6-52-42":[-4.72,5.27],"6-52-43":[-1.14,6.16],"6-52-44":[-1.59,8.81],"6-52-45":[-1.75,7.35],"6-52-46":[-1.79,8.03],"6-52-47":[-1.07,9.11],"6-52-48":[0.32,11.62],"6-52-49":[3.14,20.83],"6-52-50":[10.63,31.49],"6-52-51":[8.47,44.15],"6-52-52":[20.98,48.11],"6-52-53":[20.05,47.57],"6-52-54":[12.4,39.99],"6-52-55":[6.84,24.84],"6-52-56":[1.3,15.07],"6-52-57":[-6.52,2.36],"6-52-58":[-10.53,-0.06],"6-52-59":[-21.87,1124.55],"6-52-60":[-37.76,910.74],"6-52-61":[818.39,1887.29],"6-52-62":[1785.29,2271.2],"6-52-63":[-29.54,2746.48],"6-53-0":[13.6,38.04],"6-53-1":[19.67,53.58],"5-26-0":[13.6,53.58],"6-53-2":[26.45,988.3],"6-53-3":[357.17,1866.38],"5-26-1":[26.3,2076.74],"6-53-4":[1590.54,2511.91],"6-53-5":[1504.88,2633.93],"5-26-2":[1504.88,2887.36],"6-53-6":[50.54,2633.93],"6-53-7":[54.99,3982.86],"5-26-3":[50.54,3982.86],"6-53-8":[57.33,121.21],"6-53-9":[57.33,128.08],"5-26-4":[54.3,1206.68],"6-53-10":[60.52,129.5],"6-53-11":[60.77,127.45],"5-26-5":[55.78,129.5],"6-53-12":[59.99,122.28],"6-53-13":[59.83,127.23],"5-26-6":[56.65,127.23],"6-53-14":[60.04,129.8],"6-53-15":[59.64,129.69],"5-26-7":[53.73,129.8],"6-53-16":[58.28,129.28],"6-53-17":[56.51,123.07],"5-26-8":[49.39,956.08],"6-53-18":[49.22,2346.09],"6-53-19":[40.38,100.63],"5-26-9":[38.59,2346.09],"6-53-20":[31.82,83.95],"6-53-21":[25.24,69.72],"5-26-10":[22.35,83.95],"6-53-22":[17.36,52.25],"6-53-23":[15.16,40.62],"5-26-11":[9.78,52.25],"6-53-24":[15.01,37.08],"6-53-25":[10.17,36.9],"5-26-12":[2.46,37.08],"6-53-26":[3.36,31.78],"6-53-27":[0.38,19.03],"5-26-13":[-11.61,31.78],"6-53-28":[0.23,13.16],"6-53-29":[1.8,18.26],"5-26-14":[-11.61,18.26],"6-53-30":[5.2,18.06],"6-53-31":[0.58,16.65],"5-26-15":[-11.81,18.06],"6-53-32":[-9.18,11.61],"6-53-33":[-14,-1.77],"5-26-16":[-24.61,236.48],"6-53-34":[-21.18,-5.37],"6-53-35":[-21.12,-7.87],"5-26-17":[-23.03,-5.37],"6-53-36":[-19.03,-7.1],"6-53-37":[-14.64,-6.55],"5-26-18":[-21.93,-6.55],"6-53-38":[-14.32,-5.31],"6-53-39":[-22.84,584.18],"5-26-19":[-22.84,584.18],"6-53-40":[-12.77,-3.59],"6-53-41":[-8.93,2.46],"5-26-20":[-15.61,2.46],"6-53-42":[0.26,10.35],"6-53-43":[2.82,13.56],"5-26-21":[-4.72,13.56],"6-53-44":[2.99,18.1],"6-53-45":[3.74,19.28],"5-26-22":[-1.75,19.28],"6-53-46":[4.18,19.28],"6-53-47":[4.92,20.12],"5-26-23":[-1.79,20.12],"6-53-48":[4.93,21.48],"6-53-49":[6.89,25.29],"5-26-24":[0.32,25.29],"6-53-50":[10.63,32.32],"6-53-51":[8.47,44.34],"5-26-25":[8.47,44.34],"6-53-52":[22.07,48.37],"6-53-53":[20.05,48.14],"5-26-26":[20.05,48.37],"6-53-54":[11.81,40.04],"6-53-55":[6.84,22.99],"5-26-27":[6.84,40.04],"6-53-56":[1.22,13.57],"6-53-57":[-4.92,1.98],"5-26-28":[-6.52,15.07],"6-53-58":[-10.25,-0.09],"6-53-59":[-16.53,1294.14],"5-26-29":[-21.87,1294.14],"6-53-60":[-35.54,1634.18],"6-53-61":[910.73,1960.78],"5-26-30":[-37.76,1960.78],"6-53-62":[1887.28,2301.31],"6-53-63":[-29.54,2746.48],"5-26-31":[-29.54,2746.48],"6-54-0":[13.6,38.03],"6-54-1":[19.6,54.55],"6-54-2":[26.58,989.93],"6-54-3":[31.94,1631.63],"6-54-4":[1236.12,2416.2],"6-54-5":[47.32,2217.34],"6-54-6":[48.05,2458.39],"6-54-7":[54.4,2560.61],"6-54-8":[59.36,127.95],"6-54-9":[61.22,130.4],"6-54-10":[62.35,130.18],"6-54-11":[60.84,126.55],"6-54-12":[60.65,122.78],"6-54-13":[60.63,127.15],"6-54-14":[62.98,131.06],"6-54-15":[64.62,132.17],"6-54-16":[60.84,129.76],"6-54-17":[57.33,122.83],"6-54-18":[41.12,1086.32],"6-54-19":[38.34,100.89],"6-54-20":[31.04,82.99],"6-54-21":[26.81,66.49],"6-54-22":[21.12,53.95],"6-54-23":[17.1,42.86],"6-54-24":[18.44,45.39],"6-54-25":[15.88,1434.62],"6-54-26":[10.32,41.69],"6-54-27":[7.13,30.03],"6-54-28":[6.53,22.91],"6-54-29":[6.71,23.82],"6-54-30":[8.3,22.61],"6-54-31":[6.31,20.6],"6-54-32":[-2.33,18.27],"6-54-33":[-10.41,1.49],"6-54-34":[-15.53,-1.98],"6-54-35":[-16.6,-5.32],"6-54-36":[-16.29,-6.18],"6-54-37":[-15.52,-6.1],"6-54-38":[-15.32,-6.3],"6-54-39":[-13.65,-5.14],"6-54-40":[-12.51,-0.74],"6-54-41":[-6.03,5.66],"6-54-42":[1.39,12.5],"6-54-43":[4.87,19.2],"6-54-44":[7.12,24.93],"6-54-45":[8.92,26.98],"6-54-46":[9.52,27.23],"6-54-47":[9.52,28],"6-54-48":[10.95,28.86],"6-54-49":[10.95,32.39],"6-54-50":[15.14,35.56],"6-54-51":[2.7,43.39],"6-54-52":[3.95,1349.09],"6-54-53":[10.78,1035.34],"6-54-54":[10.99,38.39],"6-54-55":[6.04,21.85],"6-54-56":[1.32,12.69],"6-54-57":[-4.19,2.98],"6-54-58":[-8.55,102.38],"6-54-59":[-11.49,1507.45],"6-54-60":[282.95,1787.39],"6-54-61":[1151.7,2012.99],"6-54-62":[1960.77,2336.23],"6-54-63":[-29.54,2746.48],"6-55-0":[13.6,37.95],"6-55-1":[19.57,55.69],"5-27-0":[13.6,55.69],"6-55-2":[26.3,766.89],"6-55-3":[31.3,1410.95],"5-27-1":[26.3,1631.63],"4-13-0":[13.6,2076.74],"6-55-4":[33.45,2030.68],"6-55-5":[42.85,2071.97],"5-27-2":[33.45,2416.2],"6-55-6":[49.24,2327.64],"6-55-7":[55.03,1988.61],"5-27-3":[48.05,2560.61],"4-13-1":[33.45,3982.86],"3-6-0":[13.6,3982.86],"6-55-8":[59.61,1471.32],"6-55-9":[64.12,194.14],"5-27-4":[59.36,1471.32],"6-55-10":[60.83,129.91],"6-55-11":[60.83,126.1],"5-27-5":[60.83,130.18],"4-13-2":[54.3,1471.32],"6-55-12":[59.88,126.1],"6-55-13":[60,126.13],"5-27-6":[59.88,127.15],"6-55-14":[62.57,129.01],"6-55-15":[62.57,131.88],"5-27-7":[62.57,132.17],"4-13-3":[53.73,132.17],"3-6-1":[-226.59,3108.37],"6-55-16":[59.45,129.91],"6-55-17":[53.56,120.26],"5-27-8":[53.56,129.91],"6-55-18":[41.9,1131.62],"6-55-19":[36.6,100.95],"5-27-9":[36.6,1131.62],"4-13-4":[36.6,2346.09],"6-55-20":[30.32,76.17],"6-55-21":[26.98,63.94],"5-27-10":[26.81,82.99],"6-55-22":[22.3,55.85],"6-55-23":[20.15,50.59],"5-27-11":[17.1,55.85],"4-13-5":[9.78,83.95],"3-6-2":[-26.69,2346.09],"6-55-24":[19.98,51.75],"6-55-25":[2.58,2003.8],"5-27-12":[2.58,2003.8],"6-55-26":[-31.78,2815.55],"6-55-27":[12.13,37.39],"5-27-13":[-31.78,2815.55],"4-13-6":[-31.78,2815.55],"6-55-28":[11.03,31.14],"6-55-29":[11.25,32.89],"5-27-14":[6.53,32.89],"6-55-30":[10.59,30.93],"6-55-31":[9.61,23.87],"5-27-15":[6.31,30.93],"4-13-7":[-11.81,32.89],"3-6-3":[-65.14,2815.55],"6-55-32":[1.48,20.71],"6-55-33":[-3.02,8.19],"5-27-16":[-10.41,20.71],"6-55-34":[-9.54,4],"6-55-35":[-12.07,-1.23],"5-27-17":[-16.6,4],"4-13-8":[-24.61,236.48],"6-55-36":[-12.66,-2.77],"6-55-37":[-14.13,-3.24],"5-27-18":[-16.29,-2.77],"6-55-38":[-14.42,-3.25],"6-55-39":[-12.99,-2.51],"5-27-19":[-15.32,-2.51],"4-13-9":[-22.84,584.18],"3-6-4":[-74.23,2863.35],"6-55-40":[-10.22,3.34],"6-55-41":[-0.75,11.75],"5-27-20":[-12.51,11.75],"6-55-42":[3.17,18.07],"6-55-43":[7.05,25.53],"5-27-21":[1.39,25.53],"4-13-10":[-15.61,25.53],"6-55-44":[9.9,32.41],"6-55-45":[13.07,35.35],"5-27-22":[7.12,35.35],"6-55-46":[13.58,36.95],"6-55-47":[13.63,36.98],"5-27-23":[9.52,36.98],"4-13-11":[-1.79,36.98],"3-6-5":[-170.49,2060.99],"6-55-48":[14.16,36.96],"6-55-49":[14.19,37.24],"5-27-24":[10.95,37.24],"6-55-50":[16.34,39.76],"6-55-51":[3.61,42.27],"5-27-25":[2.7,43.39],"4-13-12":[0.32,44.34],"6-55-52":[3.95,37.89],"6-55-53":[9.63,38.97],"5-27-26":[3.95,1349.09],"6-55-54":[10.3,35.96],"6-55-55":[6.04,20.47],"5-27-27":[6.04,38.39],"4-13-13":[3.95,1349.09],"3-6-6":[-44.49,2916.19],"6-55-56":[1.74,12.02],"6-55-57":[-4.2,3.22],"5-27-28":[-4.2,12.69],"6-55-58":[-6.28,557.2],"6-55-59":[102.37,1604.48],"5-27-29":[-11.49,1604.48],"4-13-14":[-21.87,1604.48],"6-55-60":[378.53,1737.31],"6-55-61":[1187.19,2103.65],"5-27-30":[282.95,2103.65],"6-55-62":[2012.98,2360.08],"6-55-63":[-29.54,2746.48],"5-27-31":[-29.54,2746.48],"4-13-15":[-37.76,2746.48],"3-6-7":[-47.53,2746.48],"6-56-0":[13.6,37.87],"6-56-1":[19.57,55.73],"6-56-2":[25.75,654.04],"6-56-3":[28.03,1529.13],"6-56-4":[28.03,995.54],"6-56-5":[38.36,1653.87],"6-56-6":[49.95,1002],"6-56-7":[55.4,671.1],"6-56-8":[61.97,1784.7],"6-56-9":[62.67,1475.57],"6-56-10":[60.06,128.25],"6-56-11":[60.24,126.29],"6-56-12":[59.56,126.29],"6-56-13":[59.86,126.21],"6-56-14":[61.49,126.55],"6-56-15":[60.3,127.18],"6-56-16":[56.77,126.5],"6-56-17":[50.99,117.02],"6-56-18":[43.52,106.96],"6-56-19":[36.6,92.67],"6-56-20":[32.36,81.82],"6-56-21":[27.93,72.03],"6-56-22":[25.77,65.54],"6-56-23":[23.87,64.24],"6-56-24":[23.73,52.11],"6-56-25":[24.85,53.98],"6-56-26":[18.69,52.63],"6-56-27":[15.51,44.22],"6-56-28":[15.28,40.2],"6-56-29":[15.58,37.67],"6-56-30":[12.32,36.23],"6-56-31":[11.02,26.97],"6-56-32":[4.25,25.11],"6-56-33":[2.15,15.56],"6-56-34":[-2.11,11.93],"6-56-35":[-5.35,8.47],"6-56-36":[-7.16,4.11],"6-56-37":[-7.33,0.85],"6-56-38":[-8.48,0.68],"6-56-39":[-8.31,1.89],"6-56-40":[-4.64,8.4],"6-56-41":[2.15,16.04],"6-56-42":[6.23,22.14],"6-56-43":[9.62,30.63],"6-56-44":[15.59,36.65],"6-56-45":[16.37,40.5],"6-56-46":[18.42,43.37],"6-56-47":[18.42,44.13],"6-56-48":[18.16,43.98],"6-56-49":[18.16,41.79],"6-56-50":[20.3,41.65],"6-56-51":[20.3,42.33],"6-56-52":[17.44,40.96],"6-56-53":[15.9,41.96],"6-56-54":[9.77,33.92],"6-56-55":[6.16,19.63],"6-56-56":[1.72,12.29],"6-56-57":[-2.06,3.98],"6-56-58":[-5.82,819.33],"6-56-59":[421.04,1695.38],"6-56-60":[516.59,1629.01],"6-56-61":[1285.43,2172.84],"6-56-62":[2103.64,2379.92],"6-56-63":[-29.54,2746.48],"6-57-0":[13.6,37.8],"6-57-1":[19.62,55.09],"5-28-0":[13.6,55.73],"6-57-2":[25.6,59.23],"6-57-3":[28.3,1436.69],"5-28-1":[25.6,1529.13],"6-57-4":[28.3,681.94],"6-57-5":[38.01,949.92],"5-28-2":[28.03,1653.87],"6-57-6":[51.09,115.49],"6-57-7":[57.7,126.66],"5-28-3":[49.95,1002],"6-57-8":[62.46,1937.43],"6-57-9":[60.84,2123.62],"5-28-4":[60.84,2123.62],"6-57-10":[59.7,124.91],"6-57-11":[58.97,123.99],"5-28-5":[58.97,128.25],"6-57-12":[58.91,123.99],"6-57-13":[57.13,122.5],"5-28-6":[57.13,126.29],"6-57-14":[58.08,124.14],"6-57-15":[58.53,123],"5-28-7":[58.08,127.18],"6-57-16":[54.18,119.6],"6-57-17":[49.49,110.36],"5-28-8":[49.49,126.5],"6-57-18":[43.12,101.63],"6-57-19":[40.71,95.46],"5-28-9":[36.6,106.96],"6-57-20":[36.01,1880.85],"6-57-21":[32.18,2439.69],"5-28-10":[27.93,2439.69],"6-57-22":[30.53,1522.97],"6-57-23":[25.18,68.01],"5-28-11":[23.87,1522.97],"6-57-24":[-14.49,116.51],"6-57-25":[25.65,60.59],"5-28-12":[-14.49,116.51],"6-57-26":[1.56,171.48],"6-57-27":[18.28,57.96],"5-28-13":[1.56,171.48],"6-57-28":[17.32,53.31],"6-57-29":[17.61,43.04],"5-28-14":[15.28,53.31],"6-57-30":[14.23,37.19],"6-57-31":[11.87,33.41],"5-28-15":[11.02,37.19],"6-57-32":[8.76,34.41],"6-57-33":[6.71,26.59],"5-28-16":[2.15,34.41],"6-57-34":[4.93,24.73],"6-57-35":[2.81,19.54],"5-28-17":[-5.35,24.73],"6-57-36":[0.84,14.19],"6-57-37":[0.34,10.34],"5-28-18":[-7.33,14.19],"6-57-38":[-0.06,10.45],"6-57-39":[-0.17,10.33],"5-28-19":[-8.48,10.45],"6-57-40":[1.37,15.84],"6-57-41":[5.03,21.64],"5-28-20":[-4.64,21.64],"6-57-42":[8.34,26.94],"6-57-43":[11.9,34.46],"5-28-21":[6.23,34.46],"6-57-44":[15.59,40.42],"6-57-45":[18.81,45.89],"5-28-22":[15.59,45.89],"6-57-46":[20.61,49.37],"6-57-47":[22.02,50.19],"5-28-23":[18.42,50.19],"6-57-48":[21.38,50.16],"6-57-49":[20.47,48.13],"5-28-24":[18.16,50.16],"6-57-50":[20.4,45.48],"6-57-51":[20.34,44.16],"5-28-25":[20.3,45.48],"6-57-52":[19.71,42.18],"6-57-53":[15.9,42.48],"5-28-26":[15.9,42.48],"6-57-54":[9.16,31.18],"6-57-55":[6.21,18.19],"5-28-27":[6.16,33.92],"6-57-56":[2.3,13.36],"6-57-57":[0.42,11.7],"5-28-28":[-2.06,13.36],"6-57-58":[-1.9,1093.26],"6-57-59":[819.32,1811.71],"5-28-29":[-5.82,1811.71],"6-57-60":[814.02,1663.61],"6-57-61":[1522.35,2225.4],"5-28-30":[516.59,2225.4],"6-57-62":[2172.83,2420.8],"6-57-63":[-29.54,2746.48],"5-28-31":[-29.54,2746.48],"6-58-0":[13.6,37.78],"6-58-1":[19.71,53.62],"6-58-2":[25.56,61.94],"6-58-3":[29.9,345.15],"6-58-4":[30,79.45],"6-58-5":[38.66,105.36],"6-58-6":[50.37,116.37],"6-58-7":[58.46,124.92],"6-58-8":[60.43,1885.38],"6-58-9":[60.01,2140.58],"6-58-10":[58.42,121.69],"6-58-11":[57.73,123.87],"6-58-12":[56.63,123.87],"6-58-13":[57.04,123.14],"6-58-14":[55.87,119.28],"6-58-15":[55.11,118.34],"6-58-16":[50.41,118.05],"6-58-17":[47.21,106.08],"6-58-18":[45.73,104.94],"6-58-19":[42.88,99.37],"6-58-20":[28.43,1402.2],"6-58-21":[13.23,3730.85],"6-58-22":[29.84,1980.83],"6-58-23":[-10.67,745.87],"6-58-24":[-18.64,535.71],"6-58-25":[-14.6,356.34],"6-58-26":[-1.62,135.29],"6-58-27":[-20.7,301.55],"6-58-28":[0.18,458.6],"6-58-29":[18.93,63.46],"6-58-30":[15.77,41.91],"6-58-31":[13.35,38.21],"6-58-32":[13.47,38.21],"6-58-33":[12.71,33.98],"6-58-34":[-2.23,864.67],"6-58-35":[7.45,27.57],"6-58-36":[5.05,20.06],"6-58-37":[4.98,16.73],"6-58-38":[4.46,16.62],"6-58-39":[4.41,17.65],"6-58-40":[5.55,22.04],"6-58-41":[8.28,26.07],"6-58-42":[11.11,30.34],"6-58-43":[13.85,35.77],"6-58-44":[17.65,40.21],"6-58-45":[20.04,47.1],"6-58-46":[23.2,50.18],"6-58-47":[24.78,52.72],"6-58-48":[24.35,54.26],"6-58-49":[24.35,51.82],"6-58-50":[22.38,49.92],"6-58-51":[21.5,46.02],"6-58-52":[18.45,42.72],"6-58-53":[13.3,41.86],"6-58-54":[9.11,28.68],"6-58-55":[6.73,17.29],"6-58-56":[3.08,13.48],"6-58-57":[2.25,357.87],"6-58-58":[2.48,1674.63],"6-58-59":[1093.25,1949.57],"6-58-60":[1289.31,1790.34],"6-58-61":[1663.6,2289.94],"6-58-62":[2225.39,2460.86],"6-58-63":[-29.54,2746.48],"6-59-0":[13.6,37.79],"6-59-1":[19.8,52.18],"5-29-0":[13.6,53.62],"6-59-2":[25.75,63.75],"6-59-3":[30.49,64.24],"5-29-1":[25.56,345.15],"4-14-0":[13.6,1529.13],"6-59-4":[30.51,84.68],"6-59-5":[41.87,100.49],"5-29-2":[30,105.36],"6-59-6":[50.16,115.8],"6-59-7":[56.81,119.95],"5-29-3":[50.16,124.92],"4-14-1":[28.03,1653.87],"6-59-8":[57.71,1189.75],"6-59-9":[59.83,125.87],"5-29-4":[57.71,2140.58],"6-59-10":[55.41,120.74],"6-59-11":[54.59,121.48],"5-29-5":[54.59,123.87],"4-14-2":[54.59,2140.58],"6-59-12":[54.73,121.88],"6-59-13":[57.85,123],"5-29-6":[54.73,123.87],"6-59-14":[52.82,118.25],"6-59-15":[49.92,112.43],"5-29-7":[49.92,119.28],"4-14-3":[49.92,127.18],"6-59-16":[47.92,112.43],"6-59-17":[45.53,102.32],"5-29-8":[45.53,118.05],"6-59-18":[43.5,103.1],"6-59-19":[40.18,98.54],"5-29-9":[40.18,104.94],"4-14-4":[36.6,126.5],"6-59-20":[40.18,88.87],"6-59-21":[34.44,731.97],"5-29-10":[13.23,3730.85],"6-59-22":[-35.01,609.23],"6-59-23":[182.63,951.26],"5-29-11":[-35.01,1980.83],"4-14-5":[-35.01,3730.85],"6-59-24":[63.41,838.62],"6-59-25":[2.52,699.41],"5-29-12":[-18.64,838.62],"6-59-26":[4.84,480.98],"6-59-27":[22.18,1567.34],"5-29-13":[-20.7,1567.34],"4-14-6":[-20.7,1567.34],"6-59-28":[-24.77,1463.87],"6-59-29":[1.22,935.28],"5-29-14":[-24.77,1463.87],"6-59-30":[17.76,49.38],"6-59-31":[15.91,40.51],"5-29-15":[13.35,49.38],"4-14-7":[-24.77,1463.87],"6-59-32":[17.61,40.61],"6-59-33":[15.36,39.26],"5-29-16":[12.71,40.61],"6-59-34":[13.68,36.87],"6-59-35":[10.36,29.33],"5-29-17":[-2.23,864.67],"4-14-8":[-5.35,864.67],"6-59-36":[8.78,22.54],"6-59-37":[8.23,21.11],"5-29-18":[4.98,22.54],"6-59-38":[8.08,23.26],"6-59-39":[8.16,24.61],"5-29-19":[4.41,24.61],"4-14-9":[-8.48,24.61],"6-59-40":[9.22,25.8],"6-59-41":[11.68,28.54],"5-29-20":[5.55,28.54],"6-59-42":[13.34,31.4],"6-59-43":[15.33,35.12],"5-29-21":[11.11,35.77],"4-14-10":[-4.64,35.77],"6-59-44":[17.37,39.98],"6-59-45":[15,2060.11],"5-29-22":[15,2060.11],"6-59-46":[22.8,50.12],"6-59-47":[24.47,52.47],"5-29-23":[22.8,52.72],"4-14-11":[15,2060.11],"6-59-48":[25.92,55.19],"6-59-49":[25.17,55.91],"5-29-24":[24.35,55.91],"6-59-50":[23.47,53.48],"6-59-51":[21.5,49.06],"5-29-25":[21.5,53.48],"4-14-12":[18.16,55.91],"6-59-52":[18.45,44.55],"6-59-53":[13.3,39.12],"5-29-26":[13.3,44.55],"6-59-54":[8.95,26.98],"6-59-55":[6.73,17.28],"5-29-27":[6.73,28.68],"4-14-13":[6.16,44.55],"6-59-56":[4.68,14.62],"6-59-57":[4.84,608.1],"5-29-28":[2.25,608.1],"6-59-58":[10.52,2647.27],"6-59-59":[1580.6,2213.91],"5-29-29":[2.48,2647.27],"4-14-14":[-5.82,2647.27],"6-59-60":[1486.82,1899.59],"6-59-61":[1790.33,2337.34],"5-29-30":[1289.31,2337.34],"6-59-62":[2289.93,2494.91],"6-59-63":[-29.54,2746.48],"5-29-31":[-29.54,2746.48],"4-14-15":[-29.54,2746.48],"6-60-0":[13.6,37.78],"6-60-1":[19.82,52.11],"6-60-2":[26.07,63.8],"6-60-3":[31.53,68.91],"6-60-4":[32.12,88.61],"6-60-5":[43.35,100.59],"6-60-6":[50.16,660.73],"6-60-7":[54.73,115.86],"6-60-8":[55.53,123.35],"6-60-9":[56.93,123.85],"6-60-10":[54.77,119.67],"6-60-11":[36.3,467.08],"6-60-12":[54.66,847.15],"6-60-13":[31.72,1061.19],"6-60-14":[50.82,118.9],"6-60-15":[46.84,106.06],"6-60-16":[46.52,848.03],"6-60-17":[45.68,934.31],"6-60-18":[43.52,948.19],"6-60-19":[36.29,97.22],"6-60-20":[36.5,3428.78],"6-60-21":[36.12,3435.16],"6-60-22":[183.32,753.26],"6-60-23":[203.99,625.45],"6-60-24":[208.98,621.86],"6-60-25":[126.64,616.33],"6-60-26":[54.15,571.22],"6-60-27":[72.56,986.01],"6-60-28":[266.59,1965.58],"6-60-29":[-0.28,1465.14],"6-60-30":[10.1,448.45],"6-60-31":[17.88,41.59],"6-60-32":[19,40.1],"6-60-33":[17.4,38.62],"6-60-34":[14.28,36.87],"6-60-35":[11.08,29.16],"6-60-36":[9.95,23.09],"6-60-37":[10.09,23.78],"6-60-38":[10.53,25.27],"6-60-39":[11.82,25.49],"6-60-40":[12.34,27.11],"6-60-41":[13.01,29.48],"6-60-42":[14.24,30.5],"6-60-43":[15.07,32.66],"6-60-44":[15.81,38.1],"6-60-45":[18.29,45.5],"6-60-46":[6.47,931.45],"6-60-47":[23.42,51.85],"6-60-48":[24.91,56.45],"6-60-49":[26.78,56.31],"6-60-50":[24.85,54.12],"6-60-51":[23.88,51.29],"6-60-52":[18.84,47.16],"6-60-53":[13.07,37.45],"6-60-54":[8.97,27.21],"6-60-55":[7.29,18.18],"6-60-56":[6.69,18.97],"6-60-57":[8.72,1445.48],"6-60-58":[608.09,2647.27],"6-60-59":[1819.4,2378.63],"6-60-60":[1773.2,2084.27],"6-60-61":[1899.58,2371.33],"6-60-62":[2337.33,2524.96],"6-60-63":[-29.54,2746.49],"6-61-0":[13.6,37.76],"6-61-1":[19.78,52.5],"5-30-0":[13.6,52.5],"6-61-2":[26.07,61.81],"6-61-3":[29.91,75.45],"5-30-1":[26.07,75.45],"6-61-4":[34.23,88.45],"6-61-5":[43.49,100.68],"5-30-2":[32.12,100.68],"6-61-6":[49.89,2067.72],"6-61-7":[51.02,110.49],"5-30-3":[49.89,2067.72],"6-61-8":[51.94,113.62],"6-61-9":[52.94,792.85],"5-30-4":[51.94,792.85],"6-61-10":[54.18,472.86],"6-61-11":[40.34,998.82],"5-30-5":[36.3,998.82],"6-61-12":[47.75,911.33],"6-61-13":[45.76,978.67],"5-30-6":[31.72,1061.19],"6-61-14":[51.83,275.17],"6-61-15":[44.76,105.85],"5-30-7":[44.76,275.17],"6-61-16":[42.99,2441.8],"6-61-17":[63.03,2479.29],"5-30-8":[42.99,2479.29],"6-61-18":[21.6,1153.69],"6-61-19":[35.43,1045.54],"5-30-9":[21.6,1153.69],"6-61-20":[43.2,3969.25],"6-61-21":[321.36,3240.15],"5-30-10":[36.12,3969.25],"6-61-22":[327.42,538.03],"6-61-23":[228.84,581.24],"5-30-11":[183.32,753.26],"6-61-24":[207.9,518.07],"6-61-25":[135.48,456.49],"5-30-12":[126.64,621.86],"6-61-26":[189.7,487.98],"6-61-27":[282.45,725.34],"5-30-13":[54.15,986.01],"6-61-28":[245.42,1263.81],"6-61-29":[98.59,1793.46],"5-30-14":[-0.28,1965.58],"6-61-30":[9.64,563.59],"6-61-31":[17.84,40.64],"5-30-15":[9.64,563.59],"6-61-32":[18.11,39.27],"6-61-33":[16.27,37.52],"5-30-16":[16.27,40.1],"6-61-34":[14.28,34.25],"6-61-35":[11.71,28.84],"5-30-17":[11.08,36.87],"6-61-36":[11.3,28.82],"6-61-37":[-99.67,814.4],"5-30-18":[-99.67,814.4],"6-61-38":[11.9,26.07],"6-61-39":[12.45,26.9],"5-30-19":[10.53,26.9],"6-61-40":[12.64,30.04],"6-61-41":[13.85,32.62],"5-30-20":[12.34,32.62],"6-61-42":[14.87,32.51],"6-61-43":[15.14,33.46],"5-30-21":[14.24,33.46],"6-61-44":[15.81,36.25],"6-61-45":[17.74,44.2],"5-30-22":[15.81,45.5],"6-61-46":[21.26,47.29],"6-61-47":[22.24,50.55],"5-30-23":[6.47,931.45],"6-61-48":[24.62,53.23],"6-61-49":[25.06,55.27],"5-30-24":[24.62,56.45],"6-61-50":[26.01,56.2],"6-61-51":[23.88,54.1],"5-30-25":[23.88,56.2],"6-61-52":[17.85,50.82],"6-61-53":[13.07,35.17],"5-30-26":[13.07,50.82],"6-61-54":[9.42,26.81],"6-61-55":[7.57,20.65],"5-30-27":[7.29,27.21],"6-61-56":[7.48,20.76],"6-61-57":[10.04,2119.03],"5-30-28":[6.69,2119.03],"6-61-58":[1445.47,2720.05],"6-61-59":[2045.49,2519.15],"5-30-29":[608.09,2720.05],"6-61-60":[1905.59,2242.55],"6-61-61":[1958.12,2404.88],"5-30-30":[1773.2,2404.88],"6-61-62":[2371.32,2555.1],"6-61-63":[-29.54,2747.47],"5-30-31":[-29.54,2747.47],"6-62-0":[13.6,37.73],"6-62-1":[19.73,53.01],"6-62-2":[26.54,59.25],"6-62-3":[28.63,75.62],"6-62-4":[36.2,85.28],"6-62-5":[42.31,99.8],"6-62-6":[49.28,108.11],"6-62-7":[49.78,103.88],"6-62-8":[50.57,107.83],"6-62-9":[49.7,111.74],"6-62-10":[49.66,298.22],"6-62-11":[49.96,1388.09],"6-62-12":[41.71,1035.94],"6-62-13":[45.89,1109.06],"6-62-14":[20.27,639.9],"6-62-15":[44.39,219.03],"6-62-16":[32.45,2687.22],"6-62-17":[297.06,2577.79],"6-62-18":[44.23,3501.33],"6-62-19":[32.49,2419.81],"6-62-20":[632.45,3718.38],"6-62-21":[368.61,1721.06],"6-62-22":[218.45,696.4],"6-62-23":[131.07,471.46],"6-62-24":[138.86,407.06],"6-62-25":[256.95,487.53],"6-62-26":[239.52,1006.14],"6-62-27":[249.3,631.61],"6-62-28":[194.06,789.75],"6-62-29":[15.13,766.66],"6-62-30":[-46.15,332.62],"6-62-31":[17.31,38.68],"6-62-32":[17.52,38.48],"6-62-33":[15.74,36.14],"6-62-34":[14.55,33.16],"6-62-35":[12.03,28.93],"6-62-36":[12.1,28.82],"6-62-37":[12.83,26.82],"6-62-38":[12.65,28.5],"6-62-39":[13.05,31.28],"6-62-40":[13.65,34.28],"6-62-41":[15.43,36.13],"6-62-42":[16.17,36.67],"6-62-43":[16.17,37.77],"6-62-44":[16.2,37.77],"6-62-45":[16.2,40.32],"6-62-46":[17.78,44.64],"6-62-47":[19.75,49.26],"6-62-48":[22.32,50.13],"6-62-49":[23.73,54.94],"6-62-50":[26.51,56.37],"6-62-51":[24.74,55.65],"6-62-52":[17.74,50.79],"6-62-53":[13.06,33.87],"6-62-54":[10.42,25.96],"6-62-55":[9.91,22.36],"6-62-56":[8.78,20.96],"6-62-57":[10.28,2479.23],"6-62-58":[1813.36,2850.41],"6-62-59":[2242.54,2618.27],"6-62-60":[1991.4,2314.66],"6-62-61":[1993.14,2457.95],"6-62-62":[2404.87,2581.14],"6-62-63":[-29.54,2749.47],"6-63-0":[13.6,37.73],"6-63-1":[19.72,53.59],"5-31-0":[13.6,53.59],"6-63-2":[26.54,62.24],"6-63-3":[28.85,73.73],"5-31-1":[26.54,75.62],"4-15-0":[13.6,75.62],"6-63-4":[35.88,86.28],"6-63-5":[42.26,98.34],"5-31-2":[35.88,99.8],"6-63-6":[48.49,104.24],"6-63-7":[48.27,101.1],"5-31-3":[48.27,108.11],"4-15-1":[32.12,2067.72],"3-7-0":[13.6,2067.72],"6-63-8":[48.82,103.66],"6-63-9":[48.93,103.55],"5-31-4":[48.82,111.74],"6-63-10":[46.96,500.18],"6-63-11":[46.68,821.88],"5-31-5":[46.68,1388.09],"4-15-2":[36.3,1388.09],"6-63-12":[-1.23,942.82],"6-63-13":[5.01,686.85],"5-31-6":[-1.23,1109.06],"6-63-14":[29.66,466.81],"6-63-15":[17.32,332.21],"5-31-7":[17.32,639.9],"4-15-3":[-1.23,1109.06],"3-7-1":[-1.23,2140.58],"2-3-0":[-226.59,3982.86],"6-63-16":[16.62,3299.64],"6-63-17":[40.73,2357.66],"5-31-8":[16.62,3299.64],"6-63-18":[40.99,2423.37],"6-63-19":[45.96,1802.73],"5-31-9":[32.49,3501.33],"4-15-4":[16.62,3501.33],"6-63-20":[585.28,2177.76],"6-63-21":[198.79,856.94],"5-31-10":[198.79,3718.38],"6-63-22":[154.1,519.6],"6-63-23":[95.92,407.48],"5-31-11":[95.92,696.4],"4-15-5":[36.12,3969.25],"3-7-2":[-35.01,3969.25],"6-63-24":[189.24,556.84],"6-63-25":[243.53,577.03],"5-31-12":[138.86,577.03],"6-63-26":[242.09,1303.84],"6-63-27":[216.62,572.26],"5-31-13":[216.62,1303.84],"4-15-6":[54.15,1303.84],"6-63-28":[63.8,555.42],"6-63-29":[21.37,874.92],"5-31-14":[15.13,874.92],"6-63-30":[-6.39,370.77],"6-63-31":[16.48,36.2],"5-31-15":[-46.15,370.77],"4-15-7":[-46.15,1965.58],"3-7-3":[-46.15,1965.58],"2-3-1":[-65.14,3969.25],"1-1-0":[-328.06,5809.48],"6-63-32":[17.15,36.78],"6-63-33":[16.29,37.08],"5-31-16":[15.74,38.48],"6-63-34":[12.34,34.98],"6-63-35":[10.7,28.64],"5-31-17":[10.7,34.98],"4-15-8":[10.7,40.1],"6-63-36":[11.05,26.16],"6-63-37":[12.72,29.22],"5-31-18":[11.05,29.22],"6-63-38":[13.43,32.73],"6-63-39":[14.75,35.32],"5-31-19":[12.65,35.32],"4-15-9":[-99.67,814.4],"3-7-4":[-99.67,864.67],"6-63-40":[15.89,39.67],"6-63-41":[17.66,41.82],"5-31-20":[13.65,41.82],"6-63-42":[18.18,43.48],"6-63-43":[17.22,42.55],"5-31-21":[16.17,43.48],"4-15-10":[12.34,43.48],"6-63-44":[15.94,39.03],"6-63-45":[15.92,35.62],"5-31-22":[15.92,40.32],"6-63-46":[17.78,43.75],"6-63-47":[19.65,46.9],"5-31-23":[17.78,49.26],"4-15-11":[6.47,931.45],"3-7-5":[-4.64,2060.11],"2-3-2":[-170.49,2863.35],"6-63-48":[22.32,46.83],"6-63-49":[23.17,52.87],"5-31-24":[22.32,54.94],"6-63-50":[25.95,55.44],"6-63-51":[24.74,55.59],"5-31-25":[24.74,56.37],"4-15-12":[22.32,56.45],"6-63-52":[17.56,49.36],"6-63-53":[13.06,33.43],"5-31-26":[13.06,50.79],"6-63-54":[11.45,27.14],"6-63-55":[10.4,26.46],"5-31-27":[9.91,27.14],"4-15-13":[7.29,50.82],"3-7-6":[6.16,56.45],"6-63-56":[8.78,27.93],"6-63-57":[10.28,2064.74],"5-31-28":[8.78,2479.23],"6-63-58":[6.29,2924.47],"6-63-59":[-4.17,2804.3],"5-31-29":[-4.17,2924.47],"4-15-14":[-4.17,2924.47],"6-63-60":[-10.23,2430.85],"6-63-61":[-15.15,2498.87],"5-31-30":[-15.15,2498.87],"6-63-62":[-22.79,2597.05],"6-63-63":[-29.54,2749.47],"5-31-31":[-29.54,2749.47],"4-15-15":[-29.54,2749.47],"3-7-7":[-29.54,2924.47],"2-3-3":[-47.53,2924.47],"1-1-1":[-269.44,6969.13],"0-0-0":[-328.06,6969.13],"6-64-0":[13.6,37.78],"6-64-1":[19.72,53.59],"6-64-2":[26.6,62.89],"6-64-3":[31.41,76.27],"6-64-4":[36.86,86.28],"6-64-5":[42.7,96.99],"6-64-6":[47,101.29],"6-64-7":[46.73,97.64],"6-64-8":[45.83,101.59],"6-64-9":[45.04,100.52],"6-64-10":[45.18,100.56],"6-64-11":[44.21,95.58],"6-64-12":[41.57,93.35],"6-64-13":[34.37,320.14],"6-64-14":[39.88,478.36],"6-64-15":[62.72,1880.44],"6-64-16":[53.23,3439.27],"6-64-17":[36.39,2431.2],"6-64-18":[43.43,942.66],"6-64-19":[44.68,1847.74],"6-64-20":[490.98,1993.84],"6-64-21":[201.86,739.39],"6-64-22":[138.19,750.53],"6-64-23":[240.33,1166.19],"6-64-24":[334.09,962.42],"6-64-25":[276.69,863.32],"6-64-26":[184.15,556.46],"6-64-27":[168.62,439.96],"6-64-28":[61.71,880.1],"6-64-29":[-17.91,1022.44],"6-64-30":[14.82,41.3],"6-64-31":[15.22,34.38],"6-64-32":[16.21,36.77],"6-64-33":[11.49,36.62],"6-64-34":[9.51,33.23],"6-64-35":[9.43,23.73],"6-64-36":[10.62,24.95],"6-64-37":[12.53,29.78],"6-64-38":[14.73,33.26],"6-64-39":[16.29,40.92],"6-64-40":[19.97,44.49],"6-64-41":[19.97,48.03],"6-64-42":[20.9,49.27],"6-64-43":[20.23,48.27],"6-64-44":[16.76,40.95],"6-64-45":[16.76,37.18],"6-64-46":[18.63,43.85],"6-64-47":[20.07,44.45],"6-64-48":[21.17,45.85],"6-64-49":[22.33,51.91],"6-64-50":[24.99,54.93],"6-64-51":[23.66,55.36],"6-64-52":[17.25,48.1],"6-64-53":[13.73,33.44],"6-64-54":[13.39,34.01],"6-64-55":[11.02,33.97],"6-64-56":[10.25,28.87],"6-64-57":[11.81,2706.61],"6-64-58":[6.29,2970.03],"6-64-59":[-4.17,2947.12],"6-64-60":[-10.23,2543.75],"6-64-61":[-15.15,2526.16],"6-64-62":[-22.79,2618.03],"6-64-63":[-29.54,2752.45],"6-65-0":[13.6,37.81],"6-65-1":[19.76,53.09],"5-32-0":[13.6,53.59],"6-65-2":[26.31,62.46],"6-65-3":[31.01,77.1],"5-32-1":[26.31,77.1],"6-65-4":[38.18,84.8],"6-65-5":[42.64,95.66],"5-32-2":[36.86,96.99],"6-65-6":[44.99,96.88],"6-65-7":[43.49,94.7],"5-32-3":[43.49,101.29],"6-65-8":[42.8,94.18],"6-65-9":[35.63,935.72],"5-32-4":[35.63,935.72],"6-65-10":[20.82,1428.23],"6-65-11":[40.95,136.3],"5-32-5":[20.82,1428.23],"6-65-12":[36.37,88.77],"6-65-13":[-46.66,286.33],"5-32-6":[-46.66,320.14],"6-65-14":[-132.68,643.32],"6-65-15":[137.99,2274.24],"5-32-7":[-132.68,2274.24],"6-65-16":[38.05,2373.31],"6-65-17":[38.96,1377.73],"5-32-8":[36.39,3439.27],"6-65-18":[41.7,1623.57],"6-65-19":[89.48,2161.99],"5-32-9":[41.7,2161.99],"6-65-20":[100.21,941.46],"6-65-21":[185.69,739.39],"5-32-10":[100.21,1993.84],"6-65-22":[257.46,1758.12],"6-65-23":[380.48,2914.18],"5-32-11":[138.19,2914.18],"6-65-24":[426.07,1308.02],"6-65-25":[280.09,733.03],"5-32-12":[276.69,1308.02],"6-65-26":[222.19,683.02],"6-65-27":[143.28,527.99],"5-32-13":[143.28,683.02],"6-65-28":[62.64,650.86],"6-65-29":[-15.66,1095.61],"5-32-14":[-17.91,1095.61],"6-65-30":[-13.75,66.62],"6-65-31":[14.48,33.9],"5-32-15":[-13.75,66.62],"6-65-32":[-19.14,391.88],"6-65-33":[8.66,29.85],"5-32-16":[-19.14,391.88],"6-65-34":[8.35,21.97],"6-65-35":[8.94,22.61],"5-32-17":[8.35,33.23],"6-65-36":[10.62,25.98],"6-65-37":[12.58,30.79],"5-32-18":[10.62,30.79],"6-65-38":[14.93,37.7],"6-65-39":[17.15,49.91],"5-32-19":[14.73,49.91],"6-65-40":[20.87,54.91],"6-65-41":[22.64,56],"5-32-20":[19.97,56],"6-65-42":[22.51,51.03],"6-65-43":[20.23,46.2],"5-32-21":[20.23,51.03],"6-65-44":[17.99,42.51],"6-65-45":[17.84,41.99],"5-32-22":[16.76,42.51],"6-65-46":[18.63,42.48],"6-65-47":[19.73,46.07],"5-32-23":[18.63,46.07],"6-65-48":[21.17,46.4],"6-65-49":[22.33,50.98],"5-32-24":[21.17,51.91],"6-65-50":[24.64,53.8],"6-65-51":[11.85,778.86],"5-32-25":[11.85,778.86],"6-65-52":[17.24,47.71],"6-65-53":[14.74,34.75],"5-32-26":[13.73,48.1],"6-65-54":[14.81,35.37],"6-65-55":[11.99,34.42],"5-32-27":[11.02,35.37],"6-65-56":[10.65,29.79],"6-65-57":[13.9,3054.91],"5-32-28":[10.25,3054.91],"6-65-58":[2706.6,3100.96],"6-65-59":[2543.75,3103.71],"5-32-29":[-4.17,3103.71],"6-65-60":[2255.43,2692.57],"6-65-61":[2248.98,2548.45],"5-32-30":[-15.15,2692.57],"6-65-62":[2526.15,2639.22],"6-65-63":[-29.54,2753.44],"5-32-31":[-29.54,2753.44],"6-66-0":[13.6,37.83],"6-66-1":[19.78,52.14],"6-66-2":[25.64,63.1],"6-66-3":[31.05,77.42],"6-66-4":[38.55,84.66],"6-66-5":[41.57,92.58],"6-66-6":[43.18,93.1],"6-66-7":[40.62,90.09],"6-66-8":[40.54,87.08],"6-66-9":[20.94,2049.01],"6-66-10":[19.29,2462.53],"6-66-11":[4.23,1233.38],"6-66-12":[30.98,117],"6-66-13":[-180.54,876.36],"6-66-14":[90.73,1537.53],"6-66-15":[147.78,4840.9],"6-66-16":[39.23,4069.35],"6-66-17":[43.9,838.48],"6-66-18":[39.99,1553.78],"6-66-19":[-16.37,2250.36],"6-66-20":[30.28,336.76],"6-66-21":[186.56,611.03],"6-66-22":[377.14,1857.82],"6-66-23":[773.49,2746.4],"6-66-24":[408.81,1769.87],"6-66-25":[324.43,1672.93],"6-66-26":[317.13,774.79],"6-66-27":[281.36,874.43],"6-66-28":[46.87,1294.91],"6-66-29":[5.32,816.36],"6-66-30":[-26.99,431.08],"6-66-31":[-28.03,2007.45],"6-66-32":[7.57,607.86],"6-66-33":[6.06,24.36],"6-66-34":[7.09,17.3],"6-66-35":[8.79,26.37],"6-66-36":[11.61,28.98],"6-66-37":[13.1,31.91],"6-66-38":[15.69,39.68],"6-66-39":[19.55,50.83],"6-66-40":[22.63,56.5],"6-66-41":[24.02,57.13],"6-66-42":[22.8,49.96],"6-66-43":[22.8,49.11],"6-66-44":[20.77,46.17],"6-66-45":[20.77,46.35],"6-66-46":[21.39,48.2],"6-66-47":[21.39,49.68],"6-66-48":[23.35,51.88],"6-66-49":[23.35,52.26],"6-66-50":[25.43,54.25],"6-66-51":[21.38,55.21],"6-66-52":[17.56,44.14],"6-66-53":[17.56,39.22],"6-66-54":[17.07,39.22],"6-66-55":[14.68,33.84],"6-66-56":[12.76,30.48],"6-66-57":[13.3,3138.57],"6-66-58":[3003.04,3267.05],"6-66-59":[2692.56,3207.22],"6-66-60":[2381.28,2800.27],"6-66-61":[2355.2,2565.62],"6-66-62":[2548.44,2666.15],"6-66-63":[-29.54,2755.44],"6-67-0":[13.6,37.79],"6-67-1":[19.71,51.23],"5-33-0":[13.6,52.14],"6-67-2":[25.62,63.16],"6-67-3":[30.33,786.22],"5-33-1":[25.62,786.22],"4-16-0":[13.6,786.22],"6-67-4":[37.26,946.45],"6-67-5":[39.53,88.35],"5-33-2":[37.26,946.45],"6-67-6":[40.82,88.5],"6-67-7":[39.27,85.5],"5-33-3":[39.27,93.1],"4-16-1":[36.86,946.45],"6-67-8":[31.58,197.75],"6-67-9":[20.72,2315.19],"5-33-4":[20.72,2315.19],"6-67-10":[28.83,2472.36],"6-67-11":[32.5,847.8],"5-33-5":[4.23,2472.36],"4-16-2":[4.23,2472.36],"6-67-12":[-50.52,217.69],"6-67-13":[33.14,1186.21],"5-33-6":[-180.54,1186.21],"6-67-14":[128.81,1069.93],"6-67-15":[40.08,4029.26],"5-33-7":[40.08,4840.9],"4-16-3":[-180.54,4840.9],"6-67-16":[38.15,2694.01],"6-67-17":[43.45,2374.38],"5-33-8":[38.15,4069.35],"6-67-18":[34.1,1143.75],"6-67-19":[27.14,1413.3],"5-33-9":[-16.37,2250.36],"4-16-4":[-16.37,4069.35],"6-67-20":[23.52,728.47],"6-67-21":[219.62,762.97],"5-33-10":[23.52,762.97],"6-67-22":[420.92,1483.6],"6-67-23":[607.73,1924.9],"5-33-11":[377.14,2746.4],"4-16-5":[23.52,2914.18],"6-67-24":[396.41,1977.29],"6-67-25":[374.52,2023.83],"5-33-12":[324.43,2023.83],"6-67-26":[327.64,714.89],"6-67-27":[323.67,784.44],"5-33-13":[281.36,874.43],"4-16-6":[143.28,2023.83],"6-67-28":[100.15,1784.96],"6-67-29":[31.38,3028.39],"5-33-14":[5.32,3028.39],"6-67-30":[-10.88,4049.43],"6-67-31":[-22.22,1231.48],"5-33-15":[-28.03,4049.43],"4-16-7":[-28.03,4049.43],"6-67-32":[-63.62,953.44],"6-67-33":[-6.6,932.44],"5-33-16":[-63.62,953.44],"6-67-34":[7.15,22.92],"6-67-35":[9.03,31.46],"5-33-17":[7.09,31.46],"4-16-8":[-63.62,953.44],"6-67-36":[13.46,35.43],"6-67-37":[14.74,42.09],"5-33-18":[11.61,42.09],"6-67-38":[16.09,47],"6-67-39":[20.85,47.74],"5-33-19":[15.69,50.83],"4-16-9":[10.62,50.83],"6-67-40":[22.3,48.5],"6-67-41":[23.96,51.6],"5-33-20":[22.3,57.13],"6-67-42":[24.8,52.66],"6-67-43":[23.02,51.42],"5-33-21":[22.8,52.66],"4-16-10":[19.97,57.13],"6-67-44":[22.69,50.41],"6-67-45":[22.33,50.5],"5-33-22":[20.77,50.5],"6-67-46":[22.35,53.75],"6-67-47":[24.22,55.21],"5-33-23":[21.39,55.21],"4-16-11":[16.76,55.21],"6-67-48":[24.66,54.21],"6-67-49":[23.85,53.66],"5-33-24":[23.35,54.21],"6-67-50":[25.43,58.28],"6-67-51":[21.38,55.28],"5-33-25":[21.38,58.28],"4-16-12":[11.85,778.86],"6-67-52":[18.43,43.35],"6-67-53":[18.43,44.37],"5-33-26":[17.56,44.37],"6-67-54":[17.07,44.32],"6-67-55":[14.72,36.1],"5-33-27":[14.68,44.32],"4-16-13":[11.02,48.1],"6-67-56":[12.67,32.07],"6-67-57":[11.97,3175.51],"5-33-28":[11.97,3175.51],"6-67-58":[3138.56,3414.15],"6-67-59":[2800.26,3300.16],"5-33-29":[2692.56,3414.15],"4-16-14":[-4.17,3414.15],"6-67-60":[2458.67,2920.73],"6-67-61":[2439.79,2579.65],"5-33-30":[2355.2,2920.73],"6-67-62":[2565.61,2681.47],"6-67-63":[-29.54,2759.37],"5-33-31":[-29.54,2759.37],"4-16-15":[-29.54,2920.73],"6-68-0":[13.6,37.69],"6-68-1":[19.57,50.91],"6-68-2":[25.25,62.3],"6-68-3":[29.49,1385.65],"6-68-4":[33.18,1035.73],"6-68-5":[38.99,85.09],"6-68-6":[39.15,85.09],"6-68-7":[15.05,1058.54],"6-68-8":[9.73,1750.98],"6-68-9":[19.45,1810.17],"6-68-10":[36.63,1715.33],"6-68-11":[31.96,400.65],"6-68-12":[-23.11,248.2],"6-68-13":[-7.79,988.47],"6-68-14":[94.57,1845.84],"6-68-15":[33.77,3777.17],"6-68-16":[31.24,2893.68],"6-68-17":[26.5,2503.27],"6-68-18":[-23.32,2005.15],"6-68-19":[31.76,209.56],"6-68-20":[27.57,965.23],"6-68-21":[218.9,1068.73],"6-68-22":[308.04,1178.67],"6-68-23":[533.61,1310.69],"6-68-24":[378.5,1156.09],"6-68-25":[344.83,602.11],"6-68-26":[267.07,715.39],"6-68-27":[261.24,609.87],"6-68-28":[128.64,1857.59],"6-68-29":[216.86,2461.39],"6-68-30":[390.81,1585.63],"6-68-31":[140.91,1076.94],"6-68-32":[52.66,1044.68],"6-68-33":[-17.85,885.8],"6-68-34":[-25.08,923.81],"6-68-35":[-3.35,613.65],"6-68-36":[-2.05,2521.11],"6-68-37":[-19.61,2407.1],"6-68-38":[-21.61,2094.46],"6-68-39":[-59.49,1680.35],"6-68-40":[23.13,60.77],"6-68-41":[24.24,62.61],"6-68-42":[25.75,60.9],"6-68-43":[25.75,56.47],"6-68-44":[24.76,52.16],"6-68-45":[24.76,57.31],"6-68-46":[26.02,57.32],"6-68-47":[26.76,56.45],"6-68-48":[26.26,55.86],"6-68-49":[26.26,59.36],"6-68-50":[26.82,62.99],"6-68-51":[23.62,56.76],"6-68-52":[20.02,46.58],"6-68-53":[20.02,47.69],"6-68-54":[18.37,47.1],"6-68-55":[15.04,38.61],"6-68-56":[12.83,47.95],"6-68-57":[11.4,3169.81],"6-68-58":[3108.39,3460.36],"6-68-59":[2920.72,3384.4],"6-68-60":[2494.45,3077.24],"6-68-61":[2482.53,2588.56],"6-68-62":[2579.64,2693.73],"6-68-63":[-29.54,2763.36],"6-69-0":[13.6,37.44],"6-69-1":[19.4,50.44],"5-34-0":[13.6,50.91],"6-69-2":[25.03,60.03],"6-69-3":[29.14,1634.3],"5-34-1":[25.03,1634.3],"6-69-4":[31.42,1233.17],"6-69-5":[35.11,82.7],"5-34-2":[31.42,1233.17],"6-69-6":[35.26,81.82],"6-69-7":[6.63,1592.64],"5-34-3":[6.63,1592.64],"6-69-8":[4.87,1958.98],"6-69-9":[47.04,1310.43],"5-34-4":[4.87,1958.98],"6-69-10":[25.33,797.68],"6-69-11":[26.18,411.97],"5-34-5":[25.33,1715.33],"6-69-12":[19.39,280.51],"6-69-13":[17.14,1624.81],"5-34-6":[-23.11,1624.81],"6-69-14":[154.38,1918.97],"6-69-15":[39.77,2548.59],"5-34-7":[33.77,3777.17],"6-69-16":[16.47,1992.85],"6-69-17":[37.95,2820.36],"5-34-8":[16.47,2893.68],"6-69-18":[29.13,3340.97],"6-69-19":[28.62,288.67],"5-34-9":[-23.32,3340.97],"6-69-20":[9.01,392.95],"6-69-21":[69.58,877.11],"5-34-10":[9.01,1068.73],"6-69-22":[310.38,889.96],"6-69-23":[406.17,1202.42],"5-34-11":[308.04,1310.69],"6-69-24":[27.24,3331.17],"6-69-25":[184,850],"5-34-12":[27.24,3331.17],"6-69-26":[148.07,439.62],"6-69-27":[260.59,551.37],"5-34-13":[148.07,715.39],"6-69-28":[213.54,1124.79],"6-69-29":[275.12,1747.94],"5-34-14":[128.64,2461.39],"6-69-30":[354.28,1070.44],"6-69-31":[276.49,830.16],"5-34-15":[140.91,1585.63],"6-69-32":[252.96,879.81],"6-69-33":[167.87,929.4],"5-34-16":[-17.85,1044.68],"6-69-34":[256.14,1488.2],"6-69-35":[12.55,2127.16],"5-34-17":[-25.08,2127.16],"6-69-36":[166.21,2639.31],"6-69-37":[859.22,2023.5],"5-34-18":[-19.61,2639.31],"6-69-38":[730.14,1749.24],"6-69-39":[10.84,2585.59],"5-34-19":[-59.49,2585.59],"6-69-40":[-162.31,2386.26],"6-69-41":[-159.88,2015.68],"5-34-20":[-162.31,2386.26],"6-69-42":[18.98,704.83],"6-69-43":[26.09,62.3],"5-34-21":[18.98,704.83],"6-69-44":[25.43,58.48],"6-69-45":[25.82,55.17],"5-34-22":[24.76,58.48],"6-69-46":[26.02,58.49],"6-69-47":[27.55,60.1],"5-34-23":[26.02,60.1],"6-69-48":[27.02,60.61],"6-69-49":[27.99,64.2],"5-34-24":[26.26,64.2],"6-69-50":[29.22,67.45],"6-69-51":[23.62,62.15],"5-34-25":[23.62,67.45],"6-69-52":[21.62,53.1],"6-69-53":[22.44,49.65],"5-34-26":[20.02,53.1],"6-69-54":[19.27,47.76],"6-69-55":[15.24,39.44],"5-34-27":[15.04,47.76],"6-69-56":[14.46,300.15],"6-69-57":[14.89,3108.4],"5-34-28":[11.4,3169.81],"6-69-58":[3052.07,3514.26],"6-69-59":[3077.23,3446.22],"5-34-29":[2920.72,3514.26],"6-69-60":[2544.2,3147.37],"6-69-61":[2511.13,2608.3],"5-34-30":[2482.53,3147.37],"6-69-62":[2588.55,2704.02],"6-69-63":[-29.54,2767.34],"5-34-31":[-29.54,2767.34],"6-70-0":[13.6,37.16],"6-70-1":[19.22,49.87],"6-70-2":[24.52,56.84],"6-70-3":[28.6,1635.74],"6-70-4":[29.16,1193.37],"6-70-5":[30.17,441.82],"6-70-6":[29.72,72.1],"6-70-7":[12.72,2122.75],"6-70-8":[199.39,2096.53],"6-70-9":[20.3,735.36],"6-70-10":[18.93,350.95],"6-70-11":[-25.11,119.82],"6-70-12":[22.14,358.72],"6-70-13":[35.6,462.61],"6-70-14":[142.49,2057.45],"6-70-15":[100,1043.38],"6-70-16":[27.8,2489.77],"6-70-17":[24.67,2049.01],"6-70-18":[22.69,753.24],"6-70-19":[22.41,59.3],"6-70-20":[23.96,142.33],"6-70-21":[-25.04,490.94],"6-70-22":[198.02,1063.16],"6-70-23":[343.56,1540.59],"6-70-24":[27.16,3468.04],"6-70-25":[108.1,1729.27],"6-70-26":[121.91,428.48],"6-70-27":[274.16,1624.07],"6-70-28":[322.1,1063.08],"6-70-29":[354.64,767.3],"6-70-30":[305.29,833.8],"6-70-31":[254.18,533.95],"6-70-32":[223.98,448.91],"6-70-33":[192.31,886.28],"6-70-34":[403.12,1242.7],"6-70-35":[605.84,1757.04],"6-70-36":[1116.78,1831.76],"6-70-37":[1104.79,1687.18],"6-70-38":[1028.6,2162.84],"6-70-39":[1184.99,2171.43],"6-70-40":[1018.03,2505.72],"6-70-41":[47.81,2222.4],"6-70-42":[7.61,1720.53],"6-70-43":[18.25,2268.67],"6-70-44":[2.17,2017.39],"6-70-45":[26.72,58.31],"6-70-46":[27.58,59.46],"6-70-47":[29.09,64.51],"6-70-48":[29.91,64.57],"6-70-49":[29.84,67.11],"6-70-50":[31.81,70.73],"6-70-51":[27.49,66.41],"6-70-52":[24.04,57.39],"6-70-53":[24.04,50.76],"6-70-54":[19.07,48.88],"6-70-55":[15.38,38.05],"6-70-56":[14,268.92],"6-70-57":[15.56,3052.08],"6-70-58":[2944.42,3536.78],"6-70-59":[3147.36,3480.29],"6-70-60":[2608.29,3239.33],"6-70-61":[2539.62,2709.23],"6-70-62":[2602.1,2724.91],"6-70-63":[-29.54,2768.65],"6-71-0":[13.6,36.76],"6-71-1":[19.1,48.94],"5-35-0":[13.6,49.87],"6-71-2":[24.15,54.01],"6-71-3":[27.72,709.89],"5-35-1":[24.15,1635.74],"4-17-0":[13.6,1635.74],"6-71-4":[28.01,684.19],"6-71-5":[27.24,62.75],"5-35-2":[27.24,1193.37],"6-71-6":[19.67,948.29],"6-71-7":[4.84,1854.14],"5-35-3":[4.84,2122.75],"4-17-1":[4.84,2122.75],"3-8-0":[4.84,2122.75],"6-71-8":[19.05,851.76],"6-71-9":[17.77,511.56],"5-35-4":[17.77,2096.53],"6-71-10":[17.31,158.69],"6-71-11":[17.94,214.15],"5-35-5":[-25.11,350.95],"4-17-2":[-25.11,2096.53],"6-71-12":[11.89,342.67],"6-71-13":[80.4,644.43],"5-35-6":[11.89,644.43],"6-71-14":[118.41,2648.45],"6-71-15":[68.74,1842.42],"5-35-7":[68.74,2648.45],"4-17-3":[-23.11,3777.17],"3-8-1":[-180.54,4840.9],"6-71-16":[65.18,2700.03],"6-71-17":[23.06,2930.53],"5-35-8":[23.06,2930.53],"6-71-18":[13.5,2524.92],"6-71-19":[8.99,1090.39],"5-35-9":[8.99,2524.92],"4-17-4":[-23.32,3340.97],"6-71-20":[18.37,903.81],"6-71-21":[-31.98,311.99],"5-35-10":[-31.98,903.81],"6-71-22":[94.19,388.14],"6-71-23":[273.49,1038.12],"5-35-11":[94.19,1540.59],"4-17-5":[-31.98,1540.59],"3-8-2":[-31.98,4069.35],"6-71-24":[452.55,932.86],"6-71-25":[308.29,1368.77],"5-35-12":[27.16,3468.04],"6-71-26":[326.68,1327.69],"6-71-27":[373.83,1212.84],"5-35-13":[121.91,1624.07],"4-17-6":[27.16,3468.04],"6-71-28":[371.4,934.47],"6-71-29":[382.62,935.02],"5-35-14":[322.1,1063.08],"6-71-30":[291.34,761.73],"6-71-31":[282.28,549.06],"5-35-15":[254.18,833.8],"4-17-7":[128.64,2461.39],"3-8-3":[-28.03,4049.43],"6-71-32":[271.34,592.5],"6-71-33":[253.5,758.09],"5-35-16":[192.31,886.28],"6-71-34":[404.13,1099.25],"6-71-35":[753.17,1385.35],"5-35-17":[403.12,1757.04],"4-17-8":[-25.08,2127.16],"6-71-36":[1050.78,1507.74],"6-71-37":[1011.55,1380.25],"5-35-18":[1011.55,1831.76],"6-71-38":[960.55,1371.66],"6-71-39":[940.67,1497.56],"5-35-19":[940.67,2171.43],"4-17-9":[-59.49,2639.31],"3-8-4":[-63.62,2639.31],"6-71-40":[991.87,1399.38],"6-71-41":[722.23,1582.99],"5-35-20":[47.81,2505.72],"6-71-42":[427.66,1667.49],"6-71-43":[142.44,2341.81],"5-35-21":[7.61,2341.81],"4-17-10":[-162.31,2505.72],"6-71-44":[-5.94,1732.68],"6-71-45":[27.22,59.84],"5-35-22":[-5.94,2017.39],"6-71-46":[29.17,63.24],"6-71-47":[30.14,66.91],"5-35-23":[27.58,66.91],"4-17-11":[-5.94,2017.39],"3-8-5":[-162.31,2505.72],"6-71-48":[31.75,66.91],"6-71-49":[32.11,69.56],"5-35-24":[29.84,69.56],"6-71-50":[33.7,73.57],"6-71-51":[28.8,72.3],"5-35-25":[27.49,73.57],"4-17-12":[23.62,73.57],"6-71-52":[25.57,60.85],"6-71-53":[24.42,53.17],"5-35-26":[24.04,60.85],"6-71-54":[19.18,48.85],"6-71-55":[15.38,38.12],"5-35-27":[15.38,48.88],"4-17-13":[15.04,60.85],"3-8-6":[11.02,778.86],"6-71-56":[14.98,187.97],"6-71-57":[15.79,2944.43],"5-35-28":[14,3052.08],"6-71-58":[2840.08,3600.93],"6-71-59":[3239.32,3598.47],"5-35-29":[2840.08,3600.93],"4-17-14":[11.4,3600.93],"6-71-60":[2709.22,3295.33],"6-71-61":[2568.24,2810.96],"5-35-30":[2539.62,3295.33],"6-71-62":[2621.33,2751.92],"6-71-63":[-29.54,2771.32],"5-35-31":[-29.54,2771.32],"4-17-15":[-29.54,3295.33],"3-8-7":[-29.54,3600.93],"6-72-0":[13.6,36.49],"6-72-1":[19.01,48.14],"6-72-2":[23.6,52.85],"6-72-3":[25.14,753.17],"6-72-4":[25.05,528.08],"6-72-5":[22.7,56.98],"6-72-6":[22.55,1086.58],"6-72-7":[21.13,1167.12],"6-72-8":[17.66,435.24],"6-72-9":[17.52,286.65],"6-72-10":[15.17,241.92],"6-72-11":[12.2,275.13],"6-72-12":[29.06,318.56],"6-72-13":[28.38,382.74],"6-72-14":[135.43,1998.12],"6-72-15":[147.15,2540.92],"6-72-16":[49.82,2847.57],"6-72-17":[30.85,2950.99],"6-72-18":[21.06,2427.62],"6-72-19":[7.76,2464.23],"6-72-20":[7.73,425.6],"6-72-21":[-11.66,284.94],"6-72-22":[88.27,639.17],"6-72-23":[289.98,1107.43],"6-72-24":[470.56,1912.86],"6-72-25":[498.02,1340.77],"6-72-26":[593.56,1710.7],"6-72-27":[454.32,3017.52],"6-72-28":[444.14,1371.36],"6-72-29":[477.29,1047.83],"6-72-30":[352.38,768.89],"6-72-31":[319.72,630.52],"6-72-32":[322.07,733.63],"6-72-33":[332.54,807.65],"6-72-34":[430.54,1119.46],"6-72-35":[723.96,1534.31],"6-72-36":[1022.28,1643.41],"6-72-37":[961.73,1249.5],"6-72-38":[916.89,1116.92],"6-72-39":[892.54,1255.26],"6-72-40":[958.51,1498.79],"6-72-41":[975.82,1901.6],"6-72-42":[928.72,1783.15],"6-72-43":[77.74,2501.84],"6-72-44":[12.69,1649.02],"6-72-45":[28,66.27],"6-72-46":[29.82,70.25],"6-72-47":[32.16,68.24],"6-72-48":[32.45,66.93],"6-72-49":[32.5,71.41],"6-72-50":[34.78,76.35],"6-72-51":[30.32,73.61],"6-72-52":[26.6,61.36],"6-72-53":[24.54,54.43],"6-72-54":[19.54,49.25],"6-72-55":[15.45,38.72],"6-72-56":[15.31,41.8],"6-72-57":[21.91,3236.81],"6-72-58":[2872.27,3666.27],"6-72-59":[3295.32,3666.27],"6-72-60":[2810.95,3378.93],"6-72-61":[2625.94,2968.07],"6-72-62":[2649.64,2779.15],"6-72-63":[-29.54,2774.31],"6-73-0":[13.6,36.21],"6-73-1":[18.97,47.61],"5-36-0":[13.6,48.14],"6-73-2":[22.99,49.57],"6-73-3":[23.45,674.04],"5-36-1":[22.99,753.17],"6-73-4":[23.04,204.98],"6-73-5":[22,51.05],"5-36-2":[22,528.08],"6-73-6":[18.61,696.6],"6-73-7":[22.39,1083.56],"5-36-3":[18.61,1167.12],"6-73-8":[17.69,559.12],"6-73-9":[46.96,398.6],"5-36-4":[17.52,559.12],"6-73-10":[10.3,258.06],"6-73-11":[18.42,338.7],"5-36-5":[10.3,338.7],"6-73-12":[21.07,371.65],"6-73-13":[119.02,309.64],"5-36-6":[21.07,382.74],"6-73-14":[82.56,1369.76],"6-73-15":[13.61,2520.59],"5-36-7":[13.61,2540.92],"6-73-16":[28.54,1559.76],"6-73-17":[28.77,1798.35],"5-36-8":[28.54,2950.99],"6-73-18":[23.18,2185.74],"6-73-19":[-52.99,2137.5],"5-36-9":[-52.99,2464.23],"6-73-20":[1.3,266.06],"6-73-21":[-117.56,282.94],"5-36-10":[-117.56,425.6],"6-73-22":[27.75,574.35],"6-73-23":[275.3,1131.98],"5-36-11":[27.75,1131.98],"6-73-24":[280.09,1082.02],"6-73-25":[366.24,841.26],"5-36-12":[280.09,1912.86],"6-73-26":[428.45,2020.89],"6-73-27":[423.73,1156.65],"5-36-13":[423.73,3017.52],"6-73-28":[386.96,960.04],"6-73-29":[394.88,977.62],"5-36-14":[386.96,1371.36],"6-73-30":[497.33,946.04],"6-73-31":[366.87,1103.17],"5-36-15":[319.72,1103.17],"6-73-32":[379.78,1540.39],"6-73-33":[413.29,1685.26],"5-36-16":[322.07,1685.26],"6-73-34":[504.55,1701.66],"6-73-35":[515.18,1902.71],"5-36-17":[430.54,1902.71],"6-73-36":[935.23,1683.01],"6-73-37":[473.44,1546.43],"5-36-18":[473.44,1683.01],"6-73-38":[414.32,1440.16],"6-73-39":[758.78,1496.99],"5-36-19":[414.32,1496.99],"6-73-40":[770.57,2110.34],"6-73-41":[993.88,1898.28],"5-36-20":[770.57,2110.34],"6-73-42":[1210.08,3126.88],"6-73-43":[4.71,2790.11],"5-36-21":[4.71,3126.88],"6-73-44":[11.68,321.06],"6-73-45":[28.82,68.52],"5-36-22":[11.68,1649.02],"6-73-46":[33.04,71.86],"6-73-47":[33.1,68.84],"5-36-23":[29.82,71.86],"6-73-48":[32.88,69.45],"6-73-49":[33.33,74.64],"5-36-24":[32.45,74.64],"6-73-50":[35.38,76.55],"6-73-51":[30.59,74.13],"5-36-25":[30.32,76.55],"6-73-52":[27.68,63.59],"6-73-53":[24.54,58.28],"5-36-26":[24.54,63.59],"6-73-54":[20.07,51.54],"6-73-55":[15.99,40.58],"5-36-27":[15.45,51.54],"6-73-56":[15.99,41.88],"6-73-57":[19.59,3236.81],"5-36-28":[15.31,3236.81],"6-73-58":[2976.86,3671.29],"6-73-59":[3378.92,3685.99],"5-36-29":[2872.27,3685.99],"6-73-60":[2968.06,3441.2],"6-73-61":[2691.68,3024.01],"5-36-30":[2625.94,3441.2],"6-73-62":[2691.68,2818.12],"6-73-63":[-29.54,2780.49],"5-36-31":[-29.54,2818.12],"6-74-0":[13.6,36.07],"6-74-1":[18.96,46.86],"6-74-2":[22.03,47],"6-74-3":[20.96,289.51],"6-74-4":[19.84,46.66],"6-74-5":[17.55,45.75],"6-74-6":[11.97,739.68],"6-74-7":[14.65,736.85],"6-74-8":[-6.7,3219.23],"6-74-9":[-7.7,401.9],"6-74-10":[-74.06,523.35],"6-74-11":[30.86,314.28],"6-74-12":[121.32,307.64],"6-74-13":[94.68,347.09],"6-74-14":[53.31,387.19],"6-74-15":[16.89,488.72],"6-74-16":[26.92,429.54],"6-74-17":[0.6,2570.69],"6-74-18":[-38.2,3075.92],"6-74-19":[2.74,3021.97],"6-74-20":[2.74,110.17],"6-74-21":[-52.61,355.67],"6-74-22":[11.08,602.67],"6-74-23":[11.91,551.02],"6-74-24":[164.06,713.34],"6-74-25":[187.45,639.47],"6-74-26":[300.4,1130.48],"6-74-27":[439.11,1410.14],"6-74-28":[346.35,1323.82],"6-74-29":[356.78,738.69],"6-74-30":[452.9,1580.59],"6-74-31":[534,5024.49],"6-74-32":[645.87,4495.21],"6-74-33":[625.99,3461],"6-74-34":[590.29,2489.57],"6-74-35":[742.27,1708.52],"6-74-36":[432.19,1881.89],"6-74-37":[298.55,1739.34],"6-74-38":[466.8,1752.71],"6-74-39":[255.5,1623.82],"6-74-40":[350.82,2352.72],"6-74-41":[677.23,2369.87],"6-74-42":[12.4,3510.35],"6-74-43":[4.61,2075.35],"6-74-44":[25.51,57.03],"6-74-45":[28.71,66.1],"6-74-46":[31.87,69.33],"6-74-47":[32.66,69.51],"6-74-48":[33.21,80.25],"6-74-49":[35.21,80.16],"6-74-50":[35.5,79.81],"6-74-51":[31.79,73.11],"6-74-52":[29.44,68],"6-74-53":[26.69,59.41],"6-74-54":[20.92,53.21],"6-74-55":[18.14,42.59],"6-74-56":[17.26,359.2],"6-74-57":[18.72,2976.87],"6-74-58":[2510.84,3667.35],"6-74-59":[3441.19,3732.45],"6-74-60":[3024,3510.17],"6-74-61":[2783.25,3119.66],"6-74-62":[2780.48,2893.13],"6-74-63":[-29.54,2805.44],"6-75-0":[13.6,35.99],"6-75-1":[18.94,45.05],"5-37-0":[13.6,46.86],"6-75-2":[21.42,45.15],"6-75-3":[20.74,291.18],"5-37-1":[20.74,291.18],"4-18-0":[13.6,753.17],"6-75-4":[17.8,41.45],"6-75-5":[17.26,39.32],"5-37-2":[17.26,46.66],"6-75-6":[15.55,177.14],"6-75-7":[15.55,1181.22],"5-37-3":[11.97,1181.22],"4-18-1":[11.97,1181.22],"6-75-8":[16.77,712.47],"6-75-9":[-32.14,4110.39],"5-37-4":[-32.14,4110.39],"6-75-10":[-19.3,318.43],"6-75-11":[30.72,357.76],"5-37-5":[-74.06,523.35],"4-18-2":[-74.06,4110.39],"6-75-12":[140.07,313.84],"6-75-13":[123.47,252.12],"5-37-6":[94.68,347.09],"6-75-14":[-181.36,293.98],"6-75-15":[-133.08,195.69],"5-37-7":[-181.36,488.72],"4-18-3":[-181.36,2540.92],"6-75-16":[12.44,673.31],"6-75-17":[25.7,2438.12],"5-37-8":[0.6,2570.69],"6-75-18":[22.51,3012.55],"6-75-19":[6.7,2342.54],"5-37-9":[-38.2,3075.92],"4-18-4":[-52.99,3075.92],"6-75-20":[8.83,223.67],"6-75-21":[-4.5,1970.91],"5-37-10":[-52.61,1970.91],"6-75-22":[11.16,2002.31],"6-75-23":[78.71,726.15],"5-37-11":[11.08,2002.31],"4-18-5":[-117.56,2002.31],"6-75-24":[172.21,1207.85],"6-75-25":[212.55,942.11],"5-37-12":[164.06,1207.85],"6-75-26":[305.98,740.02],"6-75-27":[352.02,1457.61],"5-37-13":[300.4,1457.61],"4-18-6":[164.06,3017.52],"6-75-28":[354.16,988.64],"6-75-29":[356.57,725.3],"5-37-14":[346.35,1323.82],"6-75-30":[389.82,3166.22],"6-75-31":[594.3,2060.9],"5-37-15":[389.82,5024.49],"4-18-7":[319.72,5024.49],"6-75-32":[1072.57,1787.81],"6-75-33":[1016.16,1756.25],"5-37-16":[625.99,4495.21],"6-75-34":[735.53,2443.31],"6-75-35":[493.17,2943.5],"5-37-17":[493.17,2943.5],"4-18-8":[322.07,4495.21],"6-75-36":[446.63,1864.36],"6-75-37":[93.22,1716.39],"5-37-18":[93.22,1881.89],"6-75-38":[74.67,2583.3],"6-75-39":[57.48,2427.44],"5-37-19":[57.48,2583.3],"4-18-9":[57.48,2583.3],"6-75-40":[-242.83,1442.62],"6-75-41":[-31.19,1914.13],"5-37-20":[-242.83,2369.87],"6-75-42":[2.04,1636.59],"6-75-43":[21.63,58.03],"5-37-21":[2.04,3510.35],"4-18-10":[-242.83,3510.35],"6-75-44":[25.62,61.17],"6-75-45":[29.14,66.22],"5-37-22":[25.51,66.22],"6-75-46":[31.94,69.34],"6-75-47":[33.03,82.96],"5-37-23":[31.87,82.96],"4-18-11":[11.68,1649.02],"6-75-48":[35.18,89.62],"6-75-49":[39.2,86.77],"5-37-24":[33.21,89.62],"6-75-50":[36.6,80.48],"6-75-51":[34.25,78.22],"5-37-25":[31.79,80.48],"4-18-12":[30.32,89.62],"6-75-52":[30.27,72.13],"6-75-53":[26.69,63.45],"5-37-26":[26.69,72.13],"6-75-54":[20.79,54.64],"6-75-55":[18.14,45.98],"5-37-27":[18.14,54.64],"4-18-13":[15.45,72.13],"6-75-56":[18.66,861.26],"6-75-57":[359.19,2787.68],"5-37-28":[17.26,2976.87],"6-75-58":[2576.62,3670.33],"6-75-59":[3510.16,3745.57],"5-37-29":[2510.84,3745.57],"4-18-14":[15.31,3745.57],"6-75-60":[3119.65,3590.97],"6-75-61":[2882.5,3236.16],"5-37-30":[2783.25,3590.97],"6-75-62":[2805.43,2971.57],"6-75-63":[-29.54,2839.82],"5-37-31":[-29.54,2971.57],"4-18-15":[-29.54,3590.97],"6-76-0":[13.6,35.96],"6-76-1":[18.88,43.71],"6-76-2":[20.05,43.82],"6-76-3":[17.55,47.61],"6-76-4":[15.48,38.46],"6-76-5":[14.03,35.52],"6-76-6":[13.19,32.09],"6-76-7":[13.64,1139.05],"6-76-8":[15.76,538.64],"6-76-9":[14.86,306.08],"6-76-10":[21.95,316.75],"6-76-11":[80.98,357.69],"6-76-12":[126.53,332.1],"6-76-13":[34.69,291.25],"6-76-14":[4.45,251.97],"6-76-15":[11.09,721.64],"6-76-16":[16.18,1541.99],"6-76-17":[17.64,2603.85],"6-76-18":[19.98,3897.68],"6-76-19":[14.59,3093.99],"6-76-20":[-398.55,2689.12],"6-76-21":[-349.48,2516.84],"6-76-22":[7.34,2262.38],"6-76-23":[-21.6,1972.68],"6-76-24":[-6.69,2173.07],"6-76-25":[324.79,1591.14],"6-76-26":[356.19,1104.11],"6-76-27":[401.98,2729.65],"6-76-28":[392.01,3267.45],"6-76-29":[375.1,3342.07],"6-76-30":[309.01,2770.25],"6-76-31":[236.85,4305.91],"6-76-32":[545.42,3396.04],"6-76-33":[671.25,3634.02],"6-76-34":[206.1,2462.72],"6-76-35":[230.19,2952.42],"6-76-36":[-18.37,1938.4],"6-76-37":[7.99,2969.88],"6-76-38":[-27.14,1841.51],"6-76-39":[-30.93,319.69],"6-76-40":[-13.74,244.16],"6-76-41":[8.65,35.45],"6-76-42":[14.14,44.71],"6-76-43":[19.2,58.81],"6-76-44":[24.23,61.33],"6-76-45":[27.4,65.6],"6-76-46":[32.33,76.23],"6-76-47":[35.63,92.82],"6-76-48":[41.49,92.94],"6-76-49":[40.23,88.72],"6-76-50":[39.23,85.78],"6-76-51":[36.06,83.62],"6-76-52":[32.25,75.93],"6-76-53":[27.56,65.48],"6-76-54":[22.21,58.44],"6-76-55":[22.21,48.62],"6-76-56":[20.39,1400],"6-76-57":[861.25,2930.46],"6-76-58":[2787.67,3670.26],"6-76-59":[3590.96,3781.61],"6-76-60":[2776.72,3628.25],"6-76-61":[2954.99,3346.55],"6-76-62":[2839.81,3092.47],"6-76-63":[-29.54,2876.01],"6-77-0":[13.6,35.87],"6-77-1":[18.74,42.43],"5-38-0":[13.6,43.71],"6-77-2":[19.64,42.43],"6-77-3":[17.24,120.99],"5-38-1":[17.24,120.99],"6-77-4":[12.81,34.8],"6-77-5":[12.61,29.58],"5-38-2":[12.61,38.46],"6-77-6":[10.81,27.52],"6-77-7":[10.81,395.4],"5-38-3":[10.81,1139.05],"6-77-8":[13.48,352.95],"6-77-9":[13.48,366.87],"5-38-4":[13.48,538.64],"6-77-10":[35.39,327.96],"6-77-11":[93.37,306.61],"5-38-5":[21.95,357.69],"6-77-12":[105.39,311.33],"6-77-13":[-117.36,300.03],"5-38-6":[-117.36,332.1],"6-77-14":[44.47,375.52],"6-77-15":[2.57,323.22],"5-38-7":[2.57,721.64],"6-77-16":[12.38,1062.09],"6-77-17":[17.22,3382.16],"5-38-8":[12.38,3382.16],"6-77-18":[227.32,3297.16],"6-77-19":[120.11,2377.57],"5-38-9":[14.59,3897.68],"6-77-20":[501.73,1781.74],"6-77-21":[534.04,1378.43],"5-38-10":[-398.55,2689.12],"6-77-22":[6.85,2032.54],"6-77-23":[-26.43,2355.84],"5-38-11":[-26.43,2355.84],"6-77-24":[-82.73,2168.09],"6-77-25":[-31.31,2735.56],"5-38-12":[-82.73,2735.56],"6-77-26":[-27.84,3016.69],"6-77-27":[581.81,4526.44],"5-38-13":[-27.84,4526.44],"6-77-28":[713.31,4259.18],"6-77-29":[510.69,4177.49],"5-38-14":[375.1,4259.18],"6-77-30":[298.72,2764.05],"6-77-31":[167.98,3442.17],"5-38-15":[167.98,4305.91],"6-77-32":[136.09,5158.31],"6-77-33":[-45.68,5869.55],"5-38-16":[-45.68,5869.55],"6-77-34":[-49.58,2618.18],"6-77-35":[-48.06,1490.1],"5-38-17":[-49.58,2952.42],"6-77-36":[-18.95,1408.41],"6-77-37":[-43.82,2305.1],"5-38-18":[-43.82,2969.88],"6-77-38":[-55.16,506.56],"6-77-39":[-23.77,1.33],"5-38-19":[-55.16,1841.51],"6-77-40":[-2.89,15.32],"6-77-41":[4.2,25.41],"5-38-20":[-13.74,244.16],"6-77-42":[9.2,34.13],"6-77-43":[15.55,46.33],"5-38-21":[9.2,58.81],"6-77-44":[24.23,56.57],"6-77-45":[27.4,71.28],"5-38-22":[24.23,71.28],"6-77-46":[32.88,83.08],"6-77-47":[39.51,93.26],"5-38-23":[32.33,93.26],"6-77-48":[38.04,1277.56],"6-77-49":[42.15,90.89],"5-38-24":[38.04,1277.56],"6-77-50":[42.47,93.63],"6-77-51":[38.18,92.27],"5-38-25":[36.06,93.63],"6-77-52":[33.28,80.44],"6-77-53":[29.46,68.79],"5-38-26":[27.56,80.44],"6-77-54":[25.28,62.82],"6-77-55":[22.68,52.06],"5-38-27":[22.21,62.82],"6-77-56":[18.95,1400],"6-77-57":[751.85,3035.01],"5-38-28":[18.95,3035.01],"6-77-58":[2930.45,3670.15],"6-77-59":[3628.25,3814.29],"5-38-29":[2787.67,3814.29],"6-77-60":[3346.54,3652.21],"6-77-61":[3073.2,3460.18],"5-38-30":[2776.72,3652.21],"6-77-62":[2876,3182.27],"6-77-63":[-29.54,2907.97],"5-38-31":[-29.54,3182.27],"6-78-0":[13.6,35.71],"6-78-1":[18.5,41.37],"6-78-2":[18.62,41.37],"6-78-3":[14.08,41.71],"6-78-4":[10.33,32.25],"6-78-5":[8.69,25.05],"6-78-6":[8.19,22.55],"6-78-7":[9.2,327.91],"6-78-8":[11.6,314.82],"6-78-9":[12.9,268.49],"6-78-10":[44.72,286.2],"6-78-11":[79.76,279.53],"6-78-12":[76.55,258.22],"6-78-13":[77.59,248.68],"6-78-14":[14.28,340.26],"6-78-15":[2.68,680.41],"6-78-16":[13.14,3881.85],"6-78-17":[13.73,3918.41],"6-78-18":[321,3209.2],"6-78-19":[147.38,1446.37],"6-78-20":[267.19,949.71],"6-78-21":[374.43,1047.17],"6-78-22":[737.12,1974.55],"6-78-23":[99.43,2149.19],"6-78-24":[-38.59,2651.93],"6-78-25":[-18.11,2755.96],"6-78-26":[-202.91,3297.68],"6-78-27":[-172.94,3970.6],"6-78-28":[208.62,3839.48],"6-78-29":[250.57,4373.18],"6-78-30":[130.76,1692.99],"6-78-31":[-26.1,881.98],"6-78-32":[-77.85,278.94],"6-78-33":[-77.15,504.42],"6-78-34":[-74.93,56.49],"6-78-35":[-67.51,634.05],"6-78-36":[-58.21,1404.07],"6-78-37":[-82.52,980.89],"6-78-38":[-39.1,-9.7],"6-78-39":[-22.61,25.58],"6-78-40":[-3.87,7.79],"6-78-41":[3.4,20.43],"6-78-42":[8.86,32.47],"6-78-43":[15.8,49.23],"6-78-44":[24.72,59.67],"6-78-45":[29.26,78.45],"6-78-46":[35.64,87.67],"6-78-47":[42.4,92.7],"6-78-48":[42.73,92.7],"6-78-49":[43.34,91.97],"6-78-50":[45.44,100.71],"6-78-51":[40.21,95.44],"6-78-52":[34.91,81.61],"6-78-53":[31.4,70.9],"6-78-54":[26.8,64.39],"6-78-55":[25.07,54.85],"6-78-56":[20.74,1829.25],"6-78-57":[790.9,3049.46],"6-78-58":[3035,3654.4],"6-78-59":[3633.12,3814.29],"6-78-60":[3460.17,3676.48],"6-78-61":[3182.26,3515.55],"6-78-62":[2907.96,3278.24],"6-78-63":[-29.54,2956.72],"6-79-0":[13.6,35.35],"6-79-1":[18.17,40.15],"5-39-0":[13.6,41.37],"6-79-2":[18.31,40.92],"6-79-3":[14.08,38.78],"5-39-1":[14.08,41.71],"4-19-0":[13.6,120.99],"6-79-4":[8.85,27.87],"6-79-5":[7.69,19.46],"5-39-2":[7.69,32.25],"6-79-6":[6.77,17.55],"6-79-7":[7.34,252.89],"5-39-3":[6.77,327.91],"4-19-1":[6.77,1139.05],"3-9-0":[6.77,1181.22],"6-79-8":[10.65,224],"6-79-9":[12.58,273.71],"5-39-4":[10.65,314.82],"6-79-10":[36.18,309.09],"6-79-11":[67.88,297.07],"5-39-5":[36.18,309.09],"4-19-2":[10.65,538.64],"6-79-12":[65.82,294.44],"6-79-13":[86.91,291.7],"5-39-6":[65.82,294.44],"6-79-14":[-19.35,260.4],"6-79-15":[-9.6,476.12],"5-39-7":[-19.35,680.41],"4-19-3":[-117.36,721.64],"3-9-1":[-181.36,4110.39],"2-4-0":[-181.36,4840.9],"6-79-16":[37.86,5616.16],"6-79-17":[25.49,5133.37],"5-39-8":[13.14,5616.16],"6-79-18":[263.18,4058.15],"6-79-19":[31.48,3448.78],"5-39-9":[31.48,4058.15],"4-19-4":[12.38,5616.16],"6-79-20":[2.31,377.37],"6-79-21":[110.72,790.42],"5-39-10":[2.31,1047.17],"6-79-22":[400.54,1407.05],"6-79-23":[692.97,1499.62],"5-39-11":[99.43,2149.19],"4-19-5":[-398.55,2689.12],"3-9-2":[-398.55,5616.16],"6-79-24":[612.19,1721.97],"6-79-25":[-26.78,2990.34],"5-39-12":[-38.59,2990.34],"6-79-26":[-70.23,3647.39],"6-79-27":[-179.38,3223.81],"5-39-13":[-202.91,3970.6],"4-19-6":[-202.91,4526.44],"6-79-28":[-41.82,3002.22],"6-79-29":[152.09,1451.56],"5-39-14":[-41.82,4373.18],"6-79-30":[61.26,913.05],"6-79-31":[-86.74,587.03],"5-39-15":[-86.74,1692.99],"4-19-7":[-86.74,4373.18],"3-9-3":[-202.91,5024.49],"2-4-1":[-398.55,5616.16],"6-79-32":[-87.58,65.61],"6-79-33":[-86.64,-37.76],"5-39-16":[-87.58,504.42],"6-79-34":[-81.84,-34.75],"6-79-35":[-71.3,-26.58],"5-39-17":[-81.84,634.05],"4-19-8":[-87.58,5869.55],"6-79-36":[-59.05,2336.88],"6-79-37":[-52.97,605.98],"5-39-18":[-82.52,2336.88],"6-79-38":[-43.74,926.36],"6-79-39":[-68.11,1064.17],"5-39-19":[-68.11,1064.17],"4-19-9":[-82.52,2969.88],"3-9-4":[-87.58,5869.55],"6-79-40":[-18.99,1347.93],"6-79-41":[-12.01,199.04],"5-39-20":[-18.99,1347.93],"6-79-42":[8.42,42.61],"6-79-43":[17.67,65.21],"5-39-21":[8.42,65.21],"4-19-10":[-18.99,1347.93],"6-79-44":[24.72,70.25],"6-79-45":[31.3,83.27],"5-39-22":[24.72,83.27],"6-79-46":[39.48,87.78],"6-79-47":[43.03,91.28],"5-39-23":[35.64,92.7],"4-19-11":[24.23,93.26],"3-9-5":[-242.83,3510.35],"2-4-2":[-242.83,5869.55],"6-79-48":[42.49,94.03],"6-79-49":[43.22,91.87],"5-39-24":[42.49,94.03],"6-79-50":[45.58,101.84],"6-79-51":[40.61,94.5],"5-39-25":[40.21,101.84],"4-19-12":[36.06,1277.56],"6-79-52":[35.82,81.74],"6-79-53":[31.85,70.92],"5-39-26":[31.4,81.74],"6-79-54":[28.07,64.4],"6-79-55":[25.07,56.23],"5-39-27":[25.07,64.4],"4-19-13":[22.21,81.74],"3-9-6":[15.45,1277.56],"6-79-56":[24.51,2238.4],"6-79-57":[1829.24,3044.79],"5-39-28":[20.74,3049.46],"6-79-58":[3023.55,3633.13],"6-79-59":[3590.92,3703.54],"5-39-29":[3023.55,3814.29],"4-19-14":[18.95,3814.29],"6-79-60":[3515.54,3739.77],"6-79-61":[3278.23,3596.54],"5-39-30":[3182.26,3739.77],"6-79-62":[2956.71,3326.45],"6-79-63":[-29.54,2985.88],"5-39-31":[-29.54,3326.45],"4-19-15":[-29.54,3739.77],"3-9-7":[-29.54,3814.29],"2-4-3":[-29.54,3814.29],"6-80-0":[13.6,34.92],"6-80-1":[17.78,39.27],"6-80-2":[16.68,40.65],"6-80-3":[11.49,517.11],"6-80-4":[7.13,26.45],"6-80-5":[4.68,16.89],"6-80-6":[4.58,15.08],"6-80-7":[4.73,237.51],"6-80-8":[7.54,245.48],"6-80-9":[34.12,285.08],"6-80-10":[9.18,302.02],"6-80-11":[61.24,248.97],"6-80-12":[48.7,347.27],"6-80-13":[6.35,372.83],"6-80-14":[-41.25,355.61],"6-80-15":[-76.27,115.89],"6-80-16":[-56.46,4485.88],"6-80-17":[-15.96,4116.85],"6-80-18":[161.31,4577.24],"6-80-19":[32.18,3588.07],"6-80-20":[-43.59,2783.91],"6-80-21":[-86.23,444.94],"6-80-22":[151.78,925.69],"6-80-23":[340.2,1343.13],"6-80-24":[285.31,1028.07],"6-80-25":[400.89,1455.51],"6-80-26":[79.57,2444.71],"6-80-27":[-65.02,2493.24],"6-80-28":[-50.69,2422.23],"6-80-29":[62.25,1006.97],"6-80-30":[-93.25,501.55],"6-80-31":[-99.6,235.87],"6-80-32":[-97.89,-42.83],"6-80-33":[-90.45,-40.91],"6-80-34":[-87.49,-33.55],"6-80-35":[-79.14,8.71],"6-80-36":[-62.55,621.18],"6-80-37":[-52.79,1207.88],"6-80-38":[-3.35,2631.65],"6-80-39":[-45.58,2635.66],"6-80-40":[-13.4,1977.92],"6-80-41":[3.13,244.27],"6-80-42":[12.3,42.61],"6-80-43":[19.05,65.05],"6-80-44":[27.43,70.26],"6-80-45":[35.59,85.76],"6-80-46":[41.63,87.78],"6-80-47":[42.87,92.37],"6-80-48":[44.13,94.46],"6-80-49":[43.94,91.87],"6-80-50":[45.05,99.84],"6-80-51":[40.48,92.21],"6-80-52":[35.29,81.74],"6-80-53":[31.46,70.92],"6-80-54":[28.44,63.71],"6-80-55":[27.25,572.15],"6-80-56":[26.34,2427.48],"6-80-57":[2238.39,3127.78],"6-80-58":[3023.7,3590.93],"6-80-59":[3513.32,3615.32],"6-80-60":[3595.11,3741.77],"6-80-61":[3326.44,3655.25],"6-80-62":[2985.87,3360.65],"6-80-63":[-29.54,3013.02],"6-81-0":[13.6,34.28],"6-81-1":[17.42,38.06],"5-40-0":[13.6,39.27],"6-81-2":[16.06,37.38],"6-81-3":[11.14,453.1],"5-40-1":[11.14,517.11],"6-81-4":[5.36,22.49],"6-81-5":[2.51,12.86],"5-40-2":[2.51,26.45],"6-81-6":[2.24,9.59],"6-81-7":[2.54,195.71],"5-40-3":[2.24,237.51],"6-81-8":[7.96,467.27],"6-81-9":[65.32,477.07],"5-40-4":[7.54,477.07],"6-81-10":[7.84,275.89],"6-81-11":[59.53,298.46],"5-40-5":[7.84,302.02],"6-81-12":[19.86,367.95],"6-81-13":[0.32,377.5],"5-40-6":[0.32,377.5],"6-81-14":[-51.54,65.52],"6-81-15":[-57.25,5.04],"5-40-7":[-76.27,355.61],"6-81-16":[-43.48,748.23],"6-81-17":[-65.9,4455.71],"5-40-8":[-65.9,4485.88],"6-81-18":[-73,4802.09],"6-81-19":[473.29,3898.23],"5-40-9":[-73,4802.09],"6-81-20":[-93.21,4173.89],"6-81-21":[-121.55,2032.48],"5-40-10":[-121.55,4173.89],"6-81-22":[-85.21,483.61],"6-81-23":[-57.81,539.09],"5-40-11":[-85.21,1343.13],"6-81-24":[77.98,467.81],"6-81-25":[176.55,1015.61],"5-40-12":[77.98,1455.51],"6-81-26":[-51.14,2138.39],"6-81-27":[-58.49,2078.28],"5-40-13":[-65.02,2493.24],"6-81-28":[-83.94,1996.26],"6-81-29":[-102.99,846.67],"5-40-14":[-102.99,2422.23],"6-81-30":[-103.29,410.82],"6-81-31":[-103.34,-46.62],"5-40-15":[-103.34,501.55],"6-81-32":[-99.7,-45.29],"6-81-33":[-91.37,-41.35],"5-40-16":[-99.7,-40.91],"6-81-34":[-87.05,-35.59],"6-81-35":[-80.36,-28.86],"5-40-17":[-87.49,8.71],"6-81-36":[-95.35,2866.35],"6-81-37":[-44.05,2817.4],"5-40-18":[-95.35,2866.35],"6-81-38":[-37.94,1755.56],"6-81-39":[-49.87,1687.3],"5-40-19":[-49.87,2635.66],"6-81-40":[-10.79,75],"6-81-41":[1.07,25.08],"5-40-20":[-13.4,1977.92],"6-81-42":[8.34,34.81],"6-81-43":[16.88,54.43],"5-40-21":[8.34,65.05],"6-81-44":[27.43,70.86],"6-81-45":[35.92,83.88],"5-40-22":[27.43,85.76],"6-81-46":[39.83,85.23],"6-81-47":[42.1,89.88],"5-40-23":[39.83,92.37],"6-81-48":[10.5,895.68],"6-81-49":[44.14,90.78],"5-40-24":[10.5,895.68],"6-81-50":[42.93,94.4],"6-81-51":[38.91,91.87],"5-40-25":[38.91,99.84],"6-81-52":[33.96,80.53],"6-81-53":[30.7,68.94],"5-40-26":[30.7,81.74],"6-81-54":[28.32,62.75],"6-81-55":[29.72,1099.75],"5-40-27":[27.25,1099.75],"6-81-56":[30.45,2482.8],"6-81-57":[2427.47,3161.72],"5-40-28":[26.34,3161.72],"6-81-58":[3127.77,3513.33],"6-81-59":[3362.15,3613.49],"5-40-29":[3023.7,3615.32],"6-81-60":[3596.57,3745.47],"6-81-61":[3360.64,3699.75],"5-40-30":[3326.44,3745.47],"6-81-62":[3013.01,3382.27],"6-81-63":[-29.54,3034.71],"5-40-31":[-29.54,3382.27],"6-82-0":[13.6,33.76],"6-82-1":[17,37.12],"6-82-2":[15.53,35.52],"6-82-3":[8.15,574.46],"6-82-4":[4.35,19.3],"6-82-5":[1.27,79.61],"6-82-6":[0.56,585.93],"6-82-7":[0.54,166.68],"6-82-8":[5.53,263.89],"6-82-9":[23.58,441.34],"6-82-10":[5.37,321.16],"6-82-11":[52.24,337.16],"6-82-12":[32.72,384.64],"6-82-13":[-1.79,320.68],"6-82-14":[-63.46,173.57],"6-82-15":[-85.87,-10.01],"6-82-16":[-173.82,522.27],"6-82-17":[-63.16,294.16],"6-82-18":[-61.41,3417.02],"6-82-19":[-32.51,5595.76],"6-82-20":[768.45,4411.42],"6-82-21":[-91.09,4366.48],"6-82-22":[-64.72,1761.32],"6-82-23":[-110.57,170.47],"6-82-24":[-44.95,274.33],"6-82-25":[68.28,1114.62],"6-82-26":[-145.36,1466.69],"6-82-27":[-88.55,1380.57],"6-82-28":[-104.68,723.52],"6-82-29":[-111.56,-41.96],"6-82-30":[-110.83,-50.61],"6-82-31":[-104.52,-49.03],"6-82-32":[-100.44,-45.11],"6-82-33":[-93.4,-10.81],"6-82-34":[-83.72,5.08],"6-82-35":[-74.96,-0.2],"6-82-36":[-62.66,-19.8],"6-82-37":[-49.14,-15.48],"6-82-38":[-35.86,-11.67],"6-82-39":[-24.06,-4.21],"6-82-40":[-11.33,1.34],"6-82-41":[0.88,15.42],"6-82-42":[7.73,31.56],"6-82-43":[16.23,52.89],"6-82-44":[26.35,70.9],"6-82-45":[33.59,79.74],"6-82-46":[36.43,83.44],"6-82-47":[40.09,89.7],"6-82-48":[31.65,1115.13],"6-82-49":[43.67,90.18],"6-82-50":[42.26,91.9],"6-82-51":[37.84,90.05],"6-82-52":[33.96,77.84],"6-82-53":[30.52,67.42],"6-82-54":[28.32,61.42],"6-82-55":[29.72,1774.62],"6-82-56":[1099.74,2729.04],"6-82-57":[2482.79,3157.08],"6-82-58":[3040.04,3362.16],"6-82-59":[3161.66,3614.29],"6-82-60":[3541.01,3772.23],"6-82-61":[3382.26,3728.18],"6-82-62":[3034.7,3397.85],"6-82-63":[-29.54,3048.46],"6-83-0":[13.6,33.14],"6-83-1":[16.83,36.08],"5-41-0":[13.6,37.12],"6-83-2":[15.31,35.22],"6-83-3":[8.15,497.91],"5-41-1":[8.15,574.46],"4-20-0":[8.15,574.46],"6-83-4":[2.83,16.01],"6-83-5":[1.2,1212.81],"5-41-2":[1.2,1212.81],"6-83-6":[-2.49,1230.82],"6-83-7":[-3.49,212.13],"5-41-3":[-3.49,1230.82],"4-20-1":[-3.49,1230.82],"6-83-8":[21.02,244.39],"6-83-9":[32.38,331.03],"5-41-4":[5.53,441.34],"6-83-10":[0.65,350.47],"6-83-11":[53.02,469.81],"5-41-5":[0.65,469.81],"4-20-2":[0.65,477.07],"6-83-12":[50.86,476.59],"6-83-13":[40.69,627.4],"5-41-6":[-1.79,627.4],"6-83-14":[-46.59,323.7],"6-83-15":[-87.65,232.09],"5-41-7":[-87.65,323.7],"4-20-3":[-87.65,627.4],"6-83-16":[-161.11,321.64],"6-83-17":[-92.99,1858.17],"5-41-8":[-173.82,1858.17],"6-83-18":[-78.58,3878.24],"6-83-19":[299.23,3814.01],"5-41-9":[-78.58,5595.76],"4-20-4":[-173.82,5595.76],"6-83-20":[674.01,4034.31],"6-83-21":[627.23,3448.75],"5-41-10":[-91.09,4411.42],"6-83-22":[-84.08,2931.28],"6-83-23":[-93.5,1395.64],"5-41-11":[-110.57,2931.28],"4-20-5":[-121.55,4411.42],"6-83-24":[-29.8,300.19],"6-83-25":[-71.95,1727.17],"5-41-12":[-71.95,1727.17],"6-83-26":[-76.15,1060.42],"6-83-27":[-94.46,1466.16],"5-41-13":[-145.36,1466.69],"4-20-6":[-145.36,2493.24],"6-83-28":[-107.49,-44.27],"6-83-29":[-112.89,-51.27],"5-41-14":[-112.89,723.52],"6-83-30":[-112.22,-52.38],"6-83-31":[-111.92,-50.21],"5-41-15":[-112.22,-49.03],"4-20-7":[-112.89,2422.23],"6-83-32":[-107.44,-46.38],"6-83-33":[-100.55,862.8],"5-41-16":[-107.44,862.8],"6-83-34":[-86.9,-10.47],"6-83-35":[-74.63,-31.32],"5-41-17":[-86.9,5.08],"4-20-8":[-107.44,862.8],"6-83-36":[-65.81,-24.56],"6-83-37":[-50.21,-9.89],"5-41-18":[-65.81,-9.89],"6-83-38":[-36.27,-11.19],"6-83-39":[-27.02,3059.56],"5-41-19":[-36.27,3059.56],"4-20-9":[-95.35,3059.56],"6-83-40":[-8.14,2.28],"6-83-41":[0.88,16.25],"5-41-20":[-11.33,16.25],"6-83-42":[7.73,33.52],"6-83-43":[16.98,55.76],"5-41-21":[7.73,55.76],"4-20-10":[-13.4,1977.92],"6-83-44":[26.42,65.98],"6-83-45":[28.62,71.78],"5-41-22":[26.35,79.74],"6-83-46":[31.75,77.92],"6-83-47":[36.38,85.71],"5-41-23":[31.75,89.7],"4-20-11":[26.35,92.37],"6-83-48":[41.07,88.96],"6-83-49":[41.42,88.26],"5-41-24":[31.65,1115.13],"6-83-50":[40.86,86.86],"6-83-51":[37.02,83.45],"5-41-25":[37.02,91.9],"4-20-12":[10.5,1115.13],"6-83-52":[33.5,75.38],"6-83-53":[30.59,67.43],"5-41-26":[30.52,77.84],"6-83-54":[28.68,62.32],"6-83-55":[29.58,2242.91],"5-41-27":[28.32,2242.91],"4-20-13":[27.25,2242.91],"6-83-56":[568.49,2841.08],"6-83-57":[2729.03,3100.22],"5-41-28":[568.49,3157.08],"6-83-58":[2651.98,3161.67],"6-83-59":[2944.39,3541.02],"5-41-29":[2651.98,3614.29],"4-20-14":[26.34,3615.32],"6-83-60":[3405.03,3807.22],"6-83-61":[3397.84,3762.75],"5-41-30":[3382.26,3807.22],"6-83-62":[3048.45,3423.55],"6-83-63":[-29.54,3056.25],"5-41-31":[-29.54,3423.55],"4-20-15":[-29.54,3807.22],"6-84-0":[13.6,32.73],"6-84-1":[15.68,35.52],"6-84-2":[14.45,462.92],"6-84-3":[6.06,600.63],"6-84-4":[1.87,99.91],"6-84-5":[-4.13,1436.73],"6-84-6":[-6.38,243.89],"6-84-7":[-6.07,220.04],"6-84-8":[14.07,1250.98],"6-84-9":[44.8,1096.24],"6-84-10":[-0.2,1512.31],"6-84-11":[81.33,975.89],"6-84-12":[69.62,1624.4],"6-84-13":[-109.79,1020.66],"6-84-14":[69.5,630.85],"6-84-15":[-35.73,381.12],"6-84-16":[-25.96,265.27],"6-84-17":[-108.09,292.44],"6-84-18":[2.44,3050.69],"6-84-19":[657.64,3289.8],"6-84-20":[218.2,3513.08],"6-84-21":[84.19,4466.14],"6-84-22":[-257.75,3206.24],"6-84-23":[-71.96,2955.44],"6-84-24":[-79.76,1006.29],"6-84-25":[-89.61,187.1],"6-84-26":[-101.44,-35.61],"6-84-27":[-105.8,-39.16],"6-84-28":[-108.15,-47.23],"6-84-29":[-116.74,-51.27],"6-84-30":[-120.83,-54.73],"6-84-31":[-121.14,-53.64],"6-84-32":[-120.53,-50.27],"6-84-33":[-111.77,-41.47],"6-84-34":[-97.72,-15.91],"6-84-35":[-82.46,-11.7],"6-84-36":[-73.49,-25.08],"6-84-37":[-58.26,-16.99],"6-84-38":[-39.63,-4.4],"6-84-39":[-29.1,810.67],"6-84-40":[-9.76,2.28],"6-84-41":[0.83,15.41],"6-84-42":[7.34,34.61],"6-84-43":[17.48,52.91],"6-84-44":[21.66,56.56],"6-84-45":[24.5,63.5],"6-84-46":[28.48,71.79],"6-84-47":[33.69,82.14],"6-84-48":[37.05,84.5],"6-84-49":[39.19,84.88],"6-84-50":[37.64,82.95],"6-84-51":[36.03,81.01],"6-84-52":[33.47,74.05],"6-84-53":[30.96,66.44],"6-84-54":[28.91,62.37],"6-84-55":[28.43,1169.19],"6-84-56":[306.84,2834.46],"6-84-57":[2494.94,2971.6],"6-84-58":[2350.48,2944.4],"6-84-59":[2693.02,3405.04],"6-84-60":[3368.56,3828.34],"6-84-61":[3423.54,3798.94],"6-84-62":[3056.21,3451.5],"6-84-63":[-29.54,3061.98],"6-85-0":[13.6,32.27],"6-85-1":[15.62,35.54],"5-42-0":[13.6,35.54],"6-85-2":[13.83,255.88],"6-85-3":[6.06,601.05],"5-42-1":[6.06,601.05],"6-85-4":[1.27,851.35],"6-85-5":[-6.92,1078],"5-42-2":[-6.92,1436.73],"6-85-6":[-11.51,152.24],"6-85-7":[-9.86,400.74],"5-42-3":[-11.51,400.74],"6-85-8":[20.67,1773.8],"6-85-9":[-5.63,1487.95],"5-42-4":[-5.63,1773.8],"6-85-10":[-53.11,1559.37],"6-85-11":[-77.24,864.4],"5-42-5":[-77.24,1559.37],"6-85-12":[-233.11,1394.5],"6-85-13":[29.59,600.13],"5-42-6":[-233.11,1624.4],"6-85-14":[24.54,429.21],"6-85-15":[-30.91,315.69],"5-42-7":[-35.73,630.85],"6-85-16":[-30.47,243.14],"6-85-17":[32.63,430.08],"5-42-8":[-108.09,430.08],"6-85-18":[50.89,3092.4],"6-85-19":[225.19,3228.78],"5-42-9":[2.44,3289.8],"6-85-20":[429.56,2831.82],"6-85-21":[250.94,3905.23],"5-42-10":[84.19,4466.14],"6-85-22":[-102.11,3453.88],"6-85-23":[-86,2164.41],"5-42-11":[-257.75,3453.88],"6-85-24":[-99.8,1992.49],"6-85-25":[-110.95,-39.87],"5-42-12":[-110.95,1992.49],"6-85-26":[-117.41,-43.92],"6-85-27":[-127.52,-50.66],"5-42-13":[-127.52,-35.61],"6-85-28":[-132,-54.32],"6-85-29":[-131.84,-55.09],"5-42-14":[-132,-47.23],"6-85-30":[-135.58,-59.06],"6-85-31":[-136.23,-60.26],"5-42-15":[-136.23,-53.64],"6-85-32":[-135.19,-55.88],"6-85-33":[-126.29,-49.83],"5-42-16":[-135.19,-41.47],"6-85-34":[-114.17,-41.73],"6-85-35":[-93.31,-35.72],"5-42-17":[-114.17,-11.7],"6-85-36":[-76.7,-25.51],"6-85-37":[-60.92,12.57],"5-42-18":[-76.7,12.57],"6-85-38":[-42.13,-11.51],"6-85-39":[-26.51,-4.38],"5-42-19":[-42.13,810.67],"6-85-40":[-10.15,1.03],"6-85-41":[0.61,18.41],"5-42-20":[-10.15,18.41],"6-85-42":[7.34,33.4],"6-85-43":[14.16,42.27],"5-42-21":[7.34,52.91],"6-85-44":[20.8,47.97],"6-85-45":[23.87,56.43],"5-42-22":[20.8,63.5],"6-85-46":[27.26,65.1],"6-85-47":[30.36,73.18],"5-42-23":[27.26,82.14],"6-85-48":[33.17,77.75],"6-85-49":[36.61,78.57],"5-42-24":[33.17,84.88],"6-85-50":[36.35,77.83],"6-85-51":[34.92,75.64],"5-42-25":[34.92,82.95],"6-85-52":[32.62,71.77],"6-85-53":[30.3,66.45],"5-42-26":[30.3,74.05],"6-85-54":[27.35,61.96],"6-85-55":[26.88,470.02],"5-42-27":[26.88,1169.19],"6-85-56":[29.8,2724.67],"6-85-57":[1711.99,2726.3],"5-42-28":[29.8,2971.6],"6-85-58":[1711.99,2693.03],"6-85-59":[2435.24,3395.87],"5-42-29":[1711.99,3405.04],"6-85-60":[3366.59,3894.08],"6-85-61":[3451.49,3860.75],"5-42-30":[3366.59,3894.08],"6-85-62":[3061.9,3477.38],"6-85-63":[-29.54,3064.64],"5-42-31":[-29.54,3477.38],"6-86-0":[13.59,31.92],"6-86-1":[14.49,35.54],"6-86-2":[11.81,372.35],"6-86-3":[3.34,515.4],"6-86-4":[1.06,851.78],"6-86-5":[-8.29,891.68],"6-86-6":[-14.79,-3.6],"6-86-7":[-14.04,414.42],"6-86-8":[-7.9,1361.22],"6-86-9":[-6.91,250.25],"6-86-10":[-12.46,219.71],"6-86-11":[30.07,213.66],"6-86-12":[40.86,217.01],"6-86-13":[-251.81,281.46],"6-86-14":[1.35,248.91],"6-86-15":[3.27,244.16],"6-86-16":[-29.82,713.35],"6-86-17":[-65.15,925.05],"6-86-18":[118.27,769.1],"6-86-19":[259.05,3625.13],"6-86-20":[437.51,4120.59],"6-86-21":[417.86,2348.74],"6-86-22":[-70.2,2575.17],"6-86-23":[-95.29,426.39],"6-86-24":[-105.6,-40.84],"6-86-25":[-120.89,-49.19],"6-86-26":[-133.2,-54.84],"6-86-27":[-143.88,-59.25],"6-86-28":[-150.34,-63.76],"6-86-29":[-151.57,-65.77],"6-86-30":[-150.84,-65.78],"6-86-31":[-149.1,-67.58],"6-86-32":[-147.35,-64],"6-86-33":[-138.48,-57.09],"6-86-34":[-126.92,-47.83],"6-86-35":[-107,-36.76],"6-86-36":[-89.42,-30.07],"6-86-37":[-64.88,-21.06],"6-86-38":[-48.23,209.37],"6-86-39":[-26.28,376.48],"6-86-40":[-11.57,0.81],"6-86-41":[0.26,18.37],"6-86-42":[7.71,27.18],"6-86-43":[12.56,39.03],"6-86-44":[18.37,47.62],"6-86-45":[23.48,52.93],"6-86-46":[25.88,59.58],"6-86-47":[28.88,66.34],"6-86-48":[31.73,72.21],"6-86-49":[35.04,79.61],"6-86-50":[34.66,75.08],"6-86-51":[34.42,72.8],"6-86-52":[31.27,70.56],"6-86-53":[28.81,64.55],"6-86-54":[26.88,60.6],"6-86-55":[24.41,59.6],"6-86-56":[27.96,2407.49],"6-86-57":[1004.17,2407.49],"6-86-58":[953.72,2435.25],"6-86-59":[2297.21,3458.7],"6-86-60":[3395.86,3925.85],"6-86-61":[3477.37,3915.12],"6-86-62":[3064.43,3500.58],"6-86-63":[-29.54,3065.4],"6-87-0":[13.59,31.44],"6-87-1":[14.36,35.37],"5-43-0":[13.59,35.54],"6-87-2":[10.38,28.84],"6-87-3":[2.68,330.3],"5-43-1":[2.68,515.4],"4-21-0":[2.68,601.05],"6-87-4":[-2.16,1077],"6-87-5":[-10.36,397.96],"5-43-2":[-10.36,1077],"6-87-6":[-15.86,38],"6-87-7":[-16.5,1223.93],"5-43-3":[-16.5,1223.93],"4-21-1":[-16.5,1436.73],"3-10-0":[-16.5,1436.73],"6-87-8":[-9.11,1275.39],"6-87-9":[-9.42,200.27],"5-43-4":[-9.42,1361.22],"6-87-10":[-16.29,154.26],"6-87-11":[12.98,142.53],"5-43-5":[-16.29,219.71],"4-21-2":[-77.24,1773.8],"6-87-12":[33.77,210.72],"6-87-13":[8.93,447.9],"5-43-6":[-251.81,447.9],"6-87-14":[78.72,1084.54],"6-87-15":[-9.6,566.99],"5-43-7":[-9.6,1084.54],"4-21-3":[-251.81,1624.4],"3-10-1":[-251.81,1773.8],"6-87-16":[64.29,821.12],"6-87-17":[59.56,2139.17],"5-43-8":[-65.15,2139.17],"6-87-18":[168.8,4103.6],"6-87-19":[306.05,4599.84],"5-43-9":[118.27,4599.84],"4-21-4":[-108.09,4599.84],"6-87-20":[773.43,4772.12],"6-87-21":[-3.55,3524.89],"5-43-10":[-3.55,4772.12],"6-87-22":[-79.15,2437.68],"6-87-23":[-101.84,529.04],"5-43-11":[-101.84,2575.17],"4-21-5":[-257.75,4772.12],"3-10-2":[-257.75,5595.76],"6-87-24":[-118.44,-45.37],"6-87-25":[-141.93,-54.11],"5-43-12":[-141.93,-40.84],"6-87-26":[-150.7,-61.38],"6-87-27":[-163.78,-68.36],"5-43-13":[-163.78,-54.84],"4-21-6":[-163.78,1992.49],"6-87-28":[-170.56,-73.16],"6-87-29":[-174.45,-76.65],"5-43-14":[-174.45,-63.76],"6-87-30":[-173.2,-74.88],"6-87-31":[-167.31,-74.44],"5-43-15":[-173.2,-65.78],"4-21-7":[-174.45,-47.23],"3-10-3":[-174.45,2493.24],"6-87-32":[-162.11,-70.63],"6-87-33":[-151.07,-64.32],"5-43-16":[-162.11,-57.09],"6-87-34":[-139.14,-55.61],"6-87-35":[-119.37,-45.34],"5-43-17":[-139.14,-36.76],"4-21-8":[-162.11,-11.7],"6-87-36":[-99.82,-34.09],"6-87-37":[-73.91,-24.11],"5-43-18":[-99.82,-21.06],"6-87-38":[-54.69,-13.14],"6-87-39":[-30.91,-5.98],"5-43-19":[-54.69,376.48],"4-21-9":[-99.82,810.67],"3-10-4":[-162.11,3059.56],"6-87-40":[-16.87,0.27],"6-87-41":[-1.52,14.6],"5-43-20":[-16.87,18.37],"6-87-42":[5.69,23.57],"6-87-43":[10.55,36.11],"5-43-21":[5.69,39.03],"4-21-10":[-16.87,52.91],"6-87-44":[18.37,45.54],"6-87-45":[20.45,51.47],"5-43-22":[18.37,52.93],"6-87-46":[25.88,56.59],"6-87-47":[28.04,63.44],"5-43-23":[25.88,66.34],"4-21-11":[18.37,82.14],"3-10-5":[-16.87,1977.92],"6-87-48":[31.01,78.85],"6-87-49":[35.15,81.15],"5-43-24":[31.01,81.15],"6-87-50":[34.57,74.84],"6-87-51":[33.74,72.48],"5-43-25":[33.74,75.08],"4-21-12":[31.01,84.88],"6-87-52":[30.61,72.75],"6-87-53":[28.03,63.27],"5-43-26":[28.03,72.75],"6-87-54":[25.92,57.16],"6-87-55":[24.41,55.46],"5-43-27":[24.41,60.6],"4-21-13":[24.41,1169.19],"3-10-6":[10.5,2242.91],"6-87-56":[25.66,1925.54],"6-87-57":[136.32,1897.68],"5-43-28":[25.66,2407.49],"6-87-58":[355.79,2297.22],"6-87-59":[2244.47,3491.07],"5-43-29":[355.79,3491.07],"4-21-14":[25.66,3491.07],"6-87-60":[3458.69,3965.2],"6-87-61":[3500.57,3965.2],"5-43-30":[3395.86,3965.2],"6-87-62":[3065.04,3512.38],"6-87-63":[-29.54,3065.32],"5-43-31":[-29.54,3512.38],"4-21-15":[-29.54,3965.2],"3-10-7":[-29.54,3965.2],"6-88-0":[13.58,31.01],"6-88-1":[13.27,34.8],"6-88-2":[9.6,27.7],"6-88-3":[1.29,19.28],"6-88-4":[-5.14,793.47],"6-88-5":[-12.58,3.96],"6-88-6":[-14.53,64.34],"6-88-7":[-18.34,249.41],"6-88-8":[-13.24,223.3],"6-88-9":[3.21,226.52],"6-88-10":[-20.98,136.47],"6-88-11":[2.46,131.78],"6-88-12":[34.5,332.5],"6-88-13":[145.85,893.06],"6-88-14":[222.12,731.79],"6-88-15":[55.49,447.99],"6-88-16":[49.18,2106.12],"6-88-17":[156.79,5451.96],"6-88-18":[244.11,5411.27],"6-88-19":[361.44,5666.76],"6-88-20":[181.3,4714.77],"6-88-21":[-15.14,3432.07],"6-88-22":[-77.27,1024.24],"6-88-23":[-103.33,403.18],"6-88-24":[-126.49,569.02],"6-88-25":[-152.38,-59.6],"6-88-26":[-167.17,-70.97],"6-88-27":[-179.31,-76.12],"6-88-28":[-187.08,-81.89],"6-88-29":[-189.2,-85.59],"6-88-30":[-189.78,-83.95],"6-88-31":[-187.17,-81.05],"6-88-32":[-180.89,-76.23],"6-88-33":[-170.46,-69.57],"6-88-34":[-155.68,-60.53],"6-88-35":[-133.85,-49.91],"6-88-36":[-111.17,-38.44],"6-88-37":[-86,-27.34],"6-88-38":[-66.93,-16.67],"6-88-39":[-40.72,-8.66],"6-88-40":[-24.16,-1.51],"6-88-41":[-5.67,10.45],"6-88-42":[1.91,19.79],"6-88-43":[7.53,31.3],"6-88-44":[12.64,39.85],"6-88-45":[17.05,49.39],"6-88-46":[21.65,55.46],"6-88-47":[26.11,62.12],"6-88-48":[30.67,79.28],"6-88-49":[-55.82,1713.79],"6-88-50":[33.89,78.24],"6-88-51":[33.4,70.95],"6-88-52":[29.73,72.08],"6-88-53":[27.21,63.18],"6-88-54":[24.13,56.07],"6-88-55":[22.3,50.78],"6-88-56":[16.28,1116.82],"6-88-57":[13.9,1564.5],"6-88-58":[355.79,2295.88],"6-88-59":[2244.13,3490.99],"6-88-60":[3476.04,3997.79],"6-88-61":[3512.37,4001.34],"6-88-62":[3064.8,3523.63],"6-88-63":[-29.54,3065.05],"6-89-0":[13.6,30.41],"6-89-1":[13.24,33.54],"5-44-0":[13.24,34.8],"6-89-2":[9.34,26.43],"6-89-3":[1.06,16.79],"5-44-1":[1.06,27.7],"6-89-4":[-9.36,2.28],"6-89-5":[-14.35,7.89],"5-44-2":[-14.35,793.47],"6-89-6":[-19.83,60.3],"6-89-7":[-28.71,104.27],"5-44-3":[-28.71,249.41],"6-89-8":[-30.59,100.53],"6-89-9":[14.74,139.63],"5-44-4":[-30.59,226.52],"6-89-10":[-23.64,118.52],"6-89-11":[12.07,117.67],"5-44-5":[-23.64,136.47],"6-89-12":[-17.42,204.12],"6-89-13":[-52.7,749.66],"5-44-6":[-52.7,893.06],"6-89-14":[235.46,1122.49],"6-89-15":[163.09,1082.6],"5-44-7":[55.49,1122.49],"6-89-16":[148.14,4445.78],"6-89-17":[252.71,5979.55],"5-44-8":[49.18,5979.55],"6-89-18":[784.14,7425.22],"6-89-20":[59.84,2777.08],"6-89-19":[190.61,7670.17],"5-44-9":[190.61,7670.17],"6-89-21":[3.23,1028.73],"5-44-10":[-15.14,4714.77],"6-89-22":[-10.18,913.48],"6-89-23":[-89.16,1654.1],"5-44-11":[-103.33,1654.1],"6-89-24":[-133.04,1010.35],"6-89-25":[-155.77,598.43],"5-44-12":[-155.77,1010.35],"6-89-26":[-173.23,-75.99],"6-89-27":[-184.16,-67.66],"5-44-13":[-184.16,-67.66],"6-89-28":[-193.17,-72.32],"6-89-29":[-194.63,-67.67],"5-44-14":[-194.63,-67.67],"6-89-30":[-195.24,-67.2],"6-89-31":[-194.81,-43.56],"5-44-15":[-195.24,-43.56],"6-89-32":[-191.21,-78.05],"6-89-33":[-180.97,-40.52],"5-44-16":[-191.21,-40.52],"6-89-34":[-165.05,-37.6],"6-89-35":[-149.67,-56.07],"5-44-17":[-165.05,-37.6],"6-89-36":[-128.73,-45.3],"6-89-37":[-102.87,-34.29],"5-44-18":[-128.73,-27.34],"6-89-38":[-81.85,-22.52],"6-89-39":[-54.75,-12.77],"5-44-19":[-81.85,-8.66],"6-89-40":[-37.19,-4.34],"6-89-41":[-16.37,3.13],"5-44-20":[-37.19,10.45],"6-89-42":[-2.98,13.04],"6-89-43":[4.23,24.34],"5-44-21":[-2.98,31.3],"6-89-44":[9.98,32.16],"6-89-45":[13.89,42.42],"5-44-22":[9.98,49.39],"6-89-46":[21.65,50.58],"6-89-47":[23.2,61.35],"5-44-23":[21.65,62.12],"6-89-48":[28.47,76.1],"6-89-49":[32.48,302.78],"5-44-24":[-55.82,1713.79],"6-89-50":[6.34,315.35],"6-89-51":[32.78,72.05],"5-44-25":[6.34,315.35],"6-89-52":[28.91,68.61],"6-89-53":[26.94,58.88],"5-44-26":[26.94,72.08],"6-89-54":[21.2,53.9],"6-89-55":[21.2,49.06],"5-44-27":[21.2,56.07],"6-89-56":[16.07,392.26],"6-89-57":[13.9,1769.28],"5-44-28":[13.9,1769.28],"6-89-58":[1383.42,2436.17],"6-89-59":[2295.87,3484.93],"5-44-29":[355.79,3490.99],"6-89-60":[3476.04,4020.7],"6-89-61":[3523.62,4020.7],"5-44-30":[3476.04,4020.7],"6-89-62":[3063.59,3529.73],"6-89-63":[-29.54,3064.81],"5-44-31":[-29.54,3529.73],"6-90-0":[13.56,29.93],"6-90-1":[12.18,32.39],"6-90-2":[9.21,25.5],"6-90-3":[0.25,16.06],"6-90-4":[-11.93,1.31],"6-90-5":[-15.18,-4.47],"6-90-6":[-19.83,102.14],"6-90-7":[-28.89,97.21],"6-90-8":[-30.59,91.65],"6-90-9":[11.33,169.41],"6-90-10":[-26.48,102.52],"6-90-11":[16.21,130.71],"6-90-12":[-4.57,132.71],"6-90-13":[-44.99,965.27],"6-90-14":[341.61,1507.27],"6-90-15":[71.29,1151.88],"6-90-16":[241.76,4807.35],"6-90-17":[805.57,6513.21],"6-90-18":[1232.72,7543.41],"6-90-20":[101.67,5343.32],"6-90-21":[81.23,447.8],"6-90-22":[129.06,998],"6-90-19":[396.49,8087.96],"6-90-23":[-71.01,1264.93],"6-90-24":[-72.08,1499.22],"6-90-25":[-97.09,1527.78],"6-90-26":[-172.11,969.76],"6-90-27":[-189.5,1943.78],"6-90-28":[-199.61,132.05],"6-90-29":[-204.11,-76.78],"6-90-30":[-205.07,-73.55],"6-90-31":[-204.43,-69.28],"6-90-32":[-200.91,-74.1],"6-90-33":[-190.7,-82.52],"6-90-34":[-178.25,-74.83],"6-90-35":[-156.76,-64.37],"6-90-36":[-137.02,-52.73],"6-90-37":[-110.72,-40.93],"6-90-38":[-90.74,-28.8],"6-90-39":[-64.94,-19.04],"6-90-40":[-47.65,-9.27],"6-90-41":[-26.36,-1.84],"6-90-42":[-11.95,7.04],"6-90-43":[1.09,18.97],"6-90-44":[6.57,26.74],"6-90-45":[11.56,36.44],"6-90-46":[16.22,45.25],"6-90-47":[21.29,56.94],"6-90-48":[26.15,64.98],"6-90-49":[29.48,73.84],"6-90-50":[27.75,2779.41],"6-90-51":[30.57,74.05],"6-90-52":[29.34,65.8],"6-90-53":[23.63,58.34],"6-90-54":[20.44,50.44],"6-90-55":[17.32,44.95],"6-90-56":[15.75,1525.64],"6-90-57":[392.25,2210.25],"6-90-58":[1769.27,2619.19],"6-90-59":[2436.16,3487.6],"6-90-60":[3484.48,4037.87],"6-90-61":[3527.59,4030.9],"6-90-62":[3063.36,3530.31],"6-90-63":[-29.54,3064.82],"6-91-0":[13.58,29.33],"6-91-1":[12.18,31.01],"5-45-0":[12.18,32.39],"6-91-2":[8.56,24.24],"6-91-3":[-0.35,15.89],"5-45-1":[-0.35,25.5],"4-22-0":[-0.35,34.8],"6-91-4":[-13.02,0.37],"6-91-5":[-17.46,-5.58],"5-45-2":[-17.46,1.31],"6-91-6":[-20,102],"6-91-7":[-29.05,103.01],"5-45-3":[-29.05,103.01],"4-22-1":[-29.05,793.47],"6-91-8":[-29.05,81.75],"6-91-9":[-9.54,122.72],"5-45-4":[-30.59,169.41],"6-91-10":[-28.84,110.81],"6-91-11":[16.8,118.68],"5-45-5":[-28.84,130.71],"4-22-2":[-30.59,226.52],"6-91-12":[41.21,133.68],"6-91-13":[17.89,487.76],"5-45-6":[-44.99,965.27],"6-91-14":[131.95,1504.92],"6-91-15":[271.47,1384.81],"5-45-7":[71.29,1507.27],"4-22-3":[-52.7,1507.27],"6-91-16":[329.52,4930.95],"6-91-17":[1039.82,5827.63],"5-45-8":[241.76,6513.21],"6-91-18":[1051.98,6379.76],"6-91-19":[2249.39,8560.58],"5-45-9":[396.49,8560.58],"4-22-4":[49.18,8560.58],"6-91-20":[176.06,6725.08],"6-91-21":[96.74,4563.58],"5-45-10":[81.23,6725.08],"6-91-22":[31.65,732.76],"6-91-23":[133.09,994.23],"5-45-11":[-71.01,1264.93],"4-22-5":[-103.33,6725.08],"6-91-24":[88.59,1273.26],"6-91-25":[133.67,698.38],"5-45-12":[-97.09,1527.78],"6-91-26":[29.03,1069.77],"6-91-27":[-98.98,2543.22],"5-45-13":[-189.5,2543.22],"4-22-6":[-189.5,2543.22],"6-91-28":[-197.25,2590.24],"6-91-29":[-213.05,1544.94],"5-45-14":[-213.05,2590.24],"6-91-30":[-213.9,-102.05],"6-91-31":[-208.09,-100.58],"5-45-15":[-213.9,-69.28],"4-22-7":[-213.9,2590.24],"6-91-32":[-205.64,-96.41],"6-91-33":[-194.02,-89.47],"5-45-16":[-205.64,-74.1],"6-91-34":[-182.42,-79.86],"6-91-35":[-161.36,-69.08],"5-45-17":[-182.42,-64.37],"4-22-8":[-205.64,-37.6],"6-91-36":[-142.2,-57.49],"6-91-37":[-116.73,-45.58],"5-45-18":[-142.2,-40.93],"6-91-38":[-98.13,-34.54],"6-91-39":[-76.39,-24.5],"5-45-19":[-98.13,-19.04],"4-22-9":[-142.2,-8.66],"6-91-40":[-59.57,-14.97],"6-91-41":[-39.69,-6.64],"5-45-20":[-59.57,-1.84],"6-91-42":[-24.55,1.1],"6-91-43":[-6.24,12.33],"5-45-21":[-24.55,18.97],"4-22-10":[-59.57,31.3],"6-91-44":[3.69,23.13],"6-91-45":[-0.46,882.59],"5-45-22":[-0.46,882.59],"6-91-46":[14.12,40.84],"6-91-47":[18.73,51.83],"5-45-23":[14.12,56.94],"4-22-11":[-0.46,882.59],"6-91-48":[26.15,57.63],"6-91-49":[26.58,64.22],"5-45-24":[26.15,73.84],"6-91-50":[28.51,71.32],"6-91-51":[27.46,68.43],"5-45-25":[27.46,2779.41],"4-22-12":[-55.82,2779.41],"6-91-52":[27.54,61.22],"6-91-53":[23.63,57.26],"5-45-26":[23.63,65.8],"6-91-54":[18.37,46.65],"6-91-55":[17.3,38.66],"5-45-27":[17.3,50.44],"4-22-13":[17.3,72.08],"6-91-56":[15.75,1873.55],"6-91-57":[1472.92,2662.65],"5-45-28":[15.75,2662.65],"6-91-58":[2210.24,2841.83],"6-91-59":[2619.18,3506.71],"5-45-29":[1769.27,3506.71],"4-22-14":[13.9,3506.71],"6-91-60":[3487.59,4042.04],"6-91-61":[3516.4,4030.73],"5-45-30":[3484.48,4042.04],"6-91-62":[3063.05,3527.6],"6-91-63":[-29.54,3066.42],"5-45-31":[-29.54,3530.31],"4-22-15":[-29.54,4042.04],"6-92-0":[13.55,28.88],"6-92-1":[11.24,30.24],"6-92-2":[7.88,23.28],"6-92-3":[-1.45,283.89],"6-92-4":[-12.53,-0.34],"6-92-5":[-17.94,255.31],"6-92-6":[-21.31,243.75],"6-92-7":[-24.37,117.76],"6-92-8":[-24.37,64.43],"6-92-9":[-19.87,203.65],"6-92-10":[-30.16,114.52],"6-92-11":[9.32,125.15],"6-92-12":[63.09,235.48],"6-92-13":[48.15,478.3],"6-92-14":[109.62,1419.87],"6-92-15":[276.31,4532.62],"6-92-16":[432.35,6633.62],"6-92-17":[908.55,7087.4],"6-92-18":[1029.39,4976.93],"6-92-19":[1276.56,7022.3],"6-92-20":[2453.79,7194.47],"6-92-21":[35.37,7787.57],"6-92-22":[-15.2,295.99],"6-92-23":[-6.93,1069.67],"6-92-24":[29.9,1095.71],"6-92-25":[-88.56,1197.87],"6-92-26":[-182.75,1006.73],"6-92-27":[-197.07,1132.42],"6-92-28":[-198.18,434.8],"6-92-29":[-212.75,2430.45],"6-92-30":[-213.9,-101.01],"6-92-31":[-207.87,-100.16],"6-92-32":[-205.79,-94.42],"6-92-33":[-195,-88.59],"6-92-34":[-182.48,-79.41],"6-92-35":[-161.34,-70.63],"6-92-36":[-142.37,-59.67],"6-92-37":[-120.53,-49.07],"6-92-38":[-104.92,-39.42],"6-92-39":[-84.27,-29.78],"6-92-40":[-67.56,-20.85],"6-92-41":[-47.53,-12.67],"6-92-42":[-33.56,-4.07],"6-92-43":[-15.92,6.04],"6-92-44":[-3.11,19.27],"6-92-45":[3.14,28.24],"6-92-46":[9.41,36.29],"6-92-47":[15.61,46.42],"6-92-48":[19.59,52.39],"6-92-49":[23.34,58.26],"6-92-50":[24.55,61.51],"6-92-51":[20.83,56.57],"6-92-52":[20.97,56.29],"6-92-53":[20.93,53.7],"6-92-54":[15.67,43.92],"6-92-55":[14.25,36.25],"6-92-56":[15.39,2339.17],"6-92-57":[1873.54,2935.32],"6-92-58":[2662.64,3173.47],"6-92-59":[2841.82,3593.63],"6-92-60":[3506.7,4042.04],"6-92-61":[3499.19,4001.04],"6-92-62":[3062.85,3516.41],"6-92-63":[-29.54,3066.46],"6-93-0":[13.56,28.31],"6-93-1":[11.24,29.45],"5-46-0":[11.24,30.24],"6-93-2":[7.36,22.43],"6-93-3":[-1.93,13.28],"5-46-1":[-1.93,283.89],"6-93-4":[-12.52,9.42],"6-93-5":[-19.04,346.14],"5-46-2":[-19.04,346.14],"6-93-6":[-25.93,405.51],"6-93-7":[-28.7,174.16],"5-46-3":[-28.7,405.51],"6-93-8":[-19.06,149.97],"6-93-9":[-3.71,236.06],"5-46-4":[-24.37,236.06],"6-93-10":[-30.26,155.46],"6-93-11":[10.19,162.81],"5-46-5":[-30.26,162.81],"6-93-12":[-1.52,446.71],"6-93-13":[73.33,2380.4],"5-46-6":[-1.52,2380.4],"6-93-14":[23.35,2712],"6-93-15":[124.82,3961.77],"5-46-7":[23.35,4532.62],"6-93-16":[105.62,5107.74],"6-93-17":[837.93,3794.4],"5-46-8":[105.62,7087.4],"6-93-18":[954.9,6062.91],"6-93-19":[1693.3,6911.73],"5-46-9":[954.9,7022.3],"6-93-20":[4293.12,6600.18],"6-93-21":[81.18,8103.55],"5-46-10":[35.37,8103.55],"6-93-22":[-46.13,2512.35],"6-93-23":[-31.32,1178.46],"5-46-11":[-46.13,2512.35],"6-93-24":[-19.46,1262.43],"6-93-25":[-161.45,1608.79],"5-46-12":[-161.45,1608.79],"6-93-26":[-181.92,-37.98],"6-93-27":[-194.57,-86.28],"5-46-13":[-197.07,1132.42],"6-93-28":[-196.82,-88.67],"6-93-29":[-203.21,351.9],"5-46-14":[-212.75,2430.45],"6-93-30":[-206.92,-92.98],"6-93-31":[-203.79,-91.46],"5-46-15":[-213.9,-91.46],"6-93-32":[-197.97,-88.46],"6-93-33":[-185.94,-84.21],"5-46-16":[-205.79,-84.21],"6-93-34":[-175.59,-76.82],"6-93-35":[-155.42,-69.13],"5-46-17":[-182.48,-69.13],"6-93-36":[-142.66,-61.65],"6-93-37":[-126.46,-53.23],"5-46-18":[-142.66,-49.07],"6-93-38":[-113.57,-44.2],"6-93-39":[-92.35,-34.33],"5-46-19":[-113.57,-29.78],"6-93-40":[-75.45,-25.32],"6-93-41":[-57.43,-17.51],"5-46-20":[-75.45,-12.67],"6-93-42":[-43.87,-9.49],"6-93-43":[-26.53,-2.26],"5-46-21":[-43.87,6.04],"6-93-44":[-14.66,3.69],"6-93-45":[-1.24,17.7],"5-46-22":[-14.66,28.24],"6-93-46":[5.93,28.99],"6-93-47":[11.24,38.3],"5-46-23":[5.93,46.42],"6-93-48":[19.38,44.79],"6-93-49":[19.38,49.77],"5-46-24":[19.38,58.26],"6-93-50":[20.9,50.43],"6-93-51":[20.83,47.65],"5-46-25":[20.83,61.51],"6-93-52":[18.26,48.46],"6-93-53":[18.26,48.79],"5-46-26":[18.26,56.29],"6-93-54":[14.04,41],"6-93-55":[13.54,635.17],"5-46-27":[13.54,635.17],"6-93-56":[15.52,2519.02],"6-93-57":[2339.16,3197.54],"5-46-28":[15.39,3197.54],"6-93-58":[2935.31,3364.13],"6-93-59":[3109.51,3621.13],"5-46-29":[2662.64,3621.13],"6-93-60":[3593.62,4025.51],"6-93-61":[3480.01,3923.74],"5-46-30":[3480.01,4042.04],"6-93-62":[3063.46,3499.2],"6-93-63":[-29.54,3067.15],"5-46-31":[-29.54,3516.41],"6-94-0":[13.47,27.85],"6-94-1":[10.93,28.85],"6-94-2":[6.21,22.12],"6-94-3":[-2.74,11.48],"6-94-4":[-13.52,-1.43],"6-94-5":[-19.79,311.63],"6-94-6":[-11.52,248.42],"6-94-7":[-28.7,355.11],"6-94-8":[-17.9,176.8],"6-94-9":[-7.94,232.96],"6-94-10":[-30.83,204.28],"6-94-11":[21.88,252.1],"6-94-12":[-18.21,544.69],"6-94-13":[103.65,2652.03],"6-94-14":[329.84,4375.85],"6-94-15":[163.35,3786.97],"6-94-16":[217.97,5220.28],"6-94-17":[745.63,3644.02],"6-94-18":[804.64,6686.7],"6-94-19":[4212.17,6437.5],"6-94-20":[4352.91,6733.83],"6-94-21":[458.23,8019.76],"6-94-22":[-62.15,8777.15],"6-94-23":[-49.51,1317.62],"6-94-24":[-131.49,1124.07],"6-94-25":[-161,1331.06],"6-94-26":[-174.06,-73.06],"6-94-27":[-177.34,-76.23],"6-94-28":[-181.5,-77.26],"6-94-29":[-187.4,-77.29],"6-94-30":[-187.32,-78.62],"6-94-31":[-187.52,-78.17],"6-94-32":[-182.92,-76.46],"6-94-33":[-176.4,-74.65],"6-94-34":[-168.43,-71.13],"6-94-35":[-151.14,-67.72],"6-94-36":[-139.6,-60.57],"6-94-37":[-126.46,-54.12],"6-94-38":[-114.22,-45.3],"6-94-39":[-93.08,-37.72],"6-94-40":[-77.95,-29.61],"6-94-41":[-61.78,-22.17],"6-94-42":[-50.7,-14.14],"6-94-43":[-33.49,-7.53],"6-94-44":[-21.33,-1.23],"6-94-45":[-8.99,10.6],"6-94-46":[0.56,21.41],"6-94-47":[7.51,31.9],"6-94-48":[11.75,38.12],"6-94-49":[15.47,42.62],"6-94-50":[16.83,42.88],"6-94-51":[15.6,40.98],"6-94-52":[12.93,36.12],"6-94-53":[11.48,39.7],"6-94-54":[10.61,32.65],"6-94-55":[10.62,1029.1],"6-94-56":[635.16,2637.61],"6-94-57":[2519.01,3300.48],"6-94-58":[3197.53,3450.97],"6-94-59":[3321.28,3672.41],"6-94-60":[3621.12,3954.97],"6-94-61":[3420.25,3850.88],"6-94-62":[3064.94,3480.02],"6-94-63":[-29.54,3067.91],"6-95-0":[13.31,27.3],"6-95-1":[10.93,27.94],"5-47-0":[10.93,28.85],"6-95-2":[6.2,21.84],"6-95-3":[-3.28,10.22],"5-47-1":[-3.28,22.12],"4-23-0":[-3.28,283.89],"6-95-4":[-13.57,46.56],"6-95-5":[-14.69,348.59],"5-47-2":[-19.79,348.59],"6-95-6":[-9.39,401.33],"6-95-7":[-9.94,941.07],"5-47-3":[-28.7,941.07],"4-23-1":[-28.7,941.07],"3-11-0":[-29.05,941.07],"6-95-8":[-21.59,733.23],"6-95-9":[-13.86,628.73],"5-47-4":[-21.59,733.23],"6-95-10":[-32.57,242.85],"6-95-11":[53.1,262.78],"5-47-5":[-32.57,262.78],"4-23-2":[-32.57,733.23],"6-95-12":[74.14,2173.74],"6-95-13":[176.51,3529.7],"5-47-6":[-18.21,3529.7],"6-95-14":[474.07,4279.84],"6-95-15":[301.44,3328.41],"5-47-7":[163.35,4375.85],"4-23-3":[-18.21,4532.62],"3-11-1":[-52.7,4532.62],"2-5-0":[-251.81,4532.62],"6-95-16":[-260.5,4987.09],"6-95-17":[619.6,2654.79],"5-47-8":[-260.5,5220.28],"6-95-18":[731.86,6201.27],"6-95-19":[4444.41,6890.4],"5-47-9":[731.86,6890.4],"4-23-4":[-260.5,7087.4],"6-95-20":[4425.14,6254.63],"6-95-21":[988.33,7070.27],"5-47-10":[458.23,8019.76],"6-95-22":[-69.58,8478.4],"6-95-23":[-139.77,533.63],"5-47-11":[-139.77,8777.15],"4-23-5":[-139.77,8777.15],"3-11-2":[-260.5,8777.15],"6-95-24":[-131.42,26.16],"6-95-25":[-146.13,-61.4],"5-47-12":[-161,1331.06],"6-95-26":[-150.96,-63.4],"6-95-27":[-152.36,-64.19],"5-47-13":[-177.34,-63.4],"4-23-6":[-197.07,1608.79],"6-95-28":[-152.61,-62.12],"6-95-29":[-153.05,-59.77],"5-47-14":[-187.4,-59.77],"6-95-30":[-153.22,-59.81],"6-95-31":[-153.97,-60.33],"5-47-15":[-187.52,-59.81],"4-23-7":[-213.9,2430.45],"3-11-3":[-213.9,2590.24],"2-5-1":[-260.5,8777.15],"1-2-0":[-398.55,8777.15],"6-95-32":[-153.84,-61.96],"6-95-33":[-150.16,-62.76],"5-47-16":[-182.92,-61.96],"6-95-34":[-147.07,-63.18],"6-95-35":[-139.29,-62.21],"5-47-17":[-168.43,-62.21],"4-23-8":[-205.79,-61.96],"6-95-36":[-135.36,-58.3],"6-95-37":[-121.04,-51.25],"5-47-18":[-139.6,-51.25],"6-95-38":[-111.37,-44.8],"6-95-39":[-96.39,-38.31],"5-47-19":[-114.22,-37.72],"4-23-9":[-142.66,-29.78],"3-11-4":[-205.79,-8.66],"6-95-40":[-87.28,-30.97],"6-95-41":[-73.3,-25.9],"5-47-20":[-87.28,-22.17],"6-95-42":[-61.25,-17.39],"6-95-43":[-45.22,-11.38],"5-47-21":[-61.25,-7.53],"4-23-10":[-87.28,6.04],"6-95-44":[-34.87,-6.02],"6-95-45":[-20.9,0.57],"5-47-22":[-34.87,10.6],"6-95-46":[-8.31,12.66],"6-95-47":[2.81,22.59],"5-47-23":[-8.31,31.9],"4-23-11":[-34.87,46.42],"3-11-5":[-87.28,882.59],"2-5-2":[-205.79,3059.56],"6-95-48":[11.13,29.29],"6-95-49":[11.13,33.22],"5-47-24":[11.13,42.62],"6-95-50":[13.37,33.58],"6-95-51":[13.37,32.64],"5-47-25":[13.37,42.88],"4-23-12":[11.13,61.51],"6-95-52":[10.23,30.49],"6-95-53":[10.23,23.8],"5-47-26":[10.23,39.7],"6-95-54":[6.78,21.99],"6-95-55":[6.78,1290.06],"5-47-27":[6.78,1290.06],"4-23-13":[6.78,1290.06],"3-11-6":[-55.82,2779.41],"6-95-56":[1007.52,2688.65],"6-95-57":[2637.6,3479.02],"5-47-28":[635.16,3479.02],"6-95-58":[3300.47,3627.63],"6-95-59":[3450.96,3738.39],"5-47-29":[3197.53,3738.39],"4-23-14":[15.39,3738.39],"6-95-60":[3672.4,3883.62],"6-95-61":[3372.97,3781.94],"5-47-30":[3372.97,3954.97],"6-95-62":[3066.6,3420.26],"6-95-63":[-29.54,3069.78],"5-47-31":[-29.54,3480.02],"4-23-15":[-29.54,4042.04],"3-11-7":[-29.54,4042.04],"2-5-3":[-55.82,4042.04],"1-2-1":[-242.83,5869.55],"6-96-0":[13.05,27.12],"6-96-1":[10.66,27.25],"6-96-2":[6.32,21.6],"6-96-3":[-3.81,327.9],"6-96-4":[-13.97,41.97],"6-96-5":[-14.52,491.93],"6-96-6":[-12.84,766.61],"6-96-7":[15.52,1577.7],"6-96-8":[23.06,974.81],"6-96-9":[0.51,751.03],"6-96-10":[-32.17,917.02],"6-96-11":[22.51,457.27],"6-96-12":[87.23,1266.17],"6-96-13":[216.38,3266],"6-96-14":[707.82,4151.48],"6-96-15":[820.5,4116.23],"6-96-16":[-31.39,3824.31],"6-96-17":[290.2,2504.01],"6-96-18":[1263.81,5909.96],"6-96-19":[3248.18,6767.17],"6-96-20":[4109.93,6522.84],"6-96-21":[2989.51,7463.69],"6-96-22":[-83.69,7512.84],"6-96-23":[-109,1663.78],"6-96-24":[-122.52,1062.24],"6-96-25":[-126.56,-53.86],"6-96-26":[-128.85,-59.44],"6-96-27":[-129.38,407.51],"6-96-28":[-128.18,114.95],"6-96-29":[-123.94,-53.59],"6-96-30":[-121.58,-48.89],"6-96-31":[-126.69,-47.66],"6-96-32":[-127.67,-47.94],"6-96-33":[-128.62,-48.79],"6-96-34":[-129.46,-51.46],"6-96-35":[-129.43,-54.63],"6-96-36":[-128.76,-55.19],"6-96-37":[-118.48,-52.16],"6-96-38":[-109.45,-47.88],"6-96-39":[-96.5,-43.64],"6-96-40":[-90.53,-37.51],"6-96-41":[-79.29,-30.63],"6-96-42":[-69.21,-23.04],"6-96-43":[-55.83,-17.8],"6-96-44":[-44.21,-11.23],"6-96-45":[-29.81,-4.63],"6-96-46":[-17.32,4.18],"6-96-47":[-2.33,15.19],"6-96-48":[3,21.54],"6-96-49":[6.76,26.13],"6-96-50":[9.32,27.61],"6-96-51":[9.2,26.58],"6-96-52":[7.16,26.06],"6-96-53":[2.39,19.5],"6-96-54":[2.39,14.94],"6-96-55":[3.38,1584.77],"6-96-56":[1290.05,2802.12],"6-96-57":[2688.64,3518.93],"6-96-58":[3479.01,3704.38],"6-96-59":[3627.62,3756.39],"6-96-60":[3652.33,3799.9],"6-96-61":[3341.14,3696.84],"6-96-62":[3068.58,3372.98],"6-96-63":[-29.54,3073.17],"6-97-0":[12.85,27.04],"6-97-1":[10.66,26.67],"5-48-0":[10.66,27.25],"6-97-2":[5.88,21.3],"6-97-3":[-5.43,785.33],"5-48-1":[-5.43,785.33],"6-97-4":[-15.46,476.72],"6-97-5":[-7.89,604.4],"5-48-2":[-15.46,604.4],"6-97-6":[-13.92,806.23],"6-97-7":[44.76,1618.98],"5-48-3":[-13.92,1618.98],"6-97-8":[91.31,1177.41],"6-97-9":[10.89,764.98],"5-48-4":[0.51,1177.41],"6-97-10":[-24.59,1092.04],"6-97-11":[-3.1,823.06],"5-48-5":[-32.17,1092.04],"6-97-12":[74.37,2561.56],"6-97-13":[260.85,2677.49],"5-48-6":[74.37,3266],"6-97-14":[697.66,2882.06],"6-97-15":[906.92,4155.27],"5-48-7":[697.66,4155.27],"6-97-16":[219.52,4825.04],"6-97-17":[271.2,4733.64],"5-48-8":[-31.39,4825.04],"6-97-18":[2241.79,5772.12],"6-97-19":[2644.39,6131.65],"5-48-9":[1263.81,6767.17],"6-97-20":[3253.98,6237.58],"6-97-21":[107.58,7221.31],"5-48-10":[107.58,7463.69],"6-97-22":[-53.33,5335.5],"6-97-23":[-92.67,2777.96],"5-48-11":[-109,7512.84],"6-97-24":[-99.38,3021.9],"6-97-25":[-120.76,1489.97],"5-48-12":[-126.56,3021.9],"6-97-26":[-124.46,365.67],"6-97-27":[-120.57,671.16],"5-48-13":[-129.38,671.16],"6-97-28":[-127.91,253.16],"6-97-29":[-120.45,634.69],"5-48-14":[-128.18,634.69],"6-97-30":[-106.53,2140.29],"6-97-31":[-94.44,-30.37],"5-48-15":[-126.69,2140.29],"6-97-32":[-93.37,-30.41],"6-97-33":[-100.58,-33.35],"5-48-16":[-128.62,-30.41],"6-97-34":[-105.96,-38.16],"6-97-35":[-109.16,-42.72],"5-48-17":[-129.46,-38.16],"6-97-36":[-110.94,-44.59],"6-97-37":[-107.55,-47.06],"5-48-18":[-128.76,-44.59],"6-97-38":[-103.96,-48.28],"6-97-39":[-97.49,-45.28],"5-48-19":[-109.45,-43.64],"6-97-40":[-91.36,-40.59],"6-97-41":[-84.52,-34.82],"5-48-20":[-91.36,-30.63],"6-97-42":[-74.46,-27.37],"6-97-43":[-60.54,-22.77],"5-48-21":[-74.46,-17.8],"6-97-44":[-55.82,-16.33],"6-97-45":[-41.68,-9.34],"5-48-22":[-55.82,-4.63],"6-97-46":[-29.34,-2.32],"6-97-47":[-13.57,4.79],"5-48-23":[-29.34,15.19],"6-97-48":[-3.72,11.69],"6-97-49":[2.56,17.71],"5-48-24":[-3.72,26.13],"6-97-50":[5.93,18.3],"6-97-51":[6.01,18.13],"5-48-25":[5.93,27.61],"6-97-52":[3.78,17.87],"6-97-53":[-1.51,12.15],"5-48-26":[-1.51,26.06],"6-97-54":[-2.2,7.25],"6-97-55":[-0.05,1584.77],"5-48-27":[-2.2,1584.77],"6-97-56":[1497.42,2824.51],"6-97-57":[2802.11,3500.23],"5-48-28":[1290.05,3518.93],"6-97-58":[3409.99,3719.54],"6-97-59":[3704.37,3755.97],"5-48-29":[3409.99,3756.39],"6-97-60":[3612.81,3775.22],"6-97-61":[3317.34,3652.34],"5-48-30":[3317.34,3799.9],"6-97-62":[3069.22,3341.15],"6-97-63":[-29.54,3074.67],"5-48-31":[-29.54,3372.98],"6-98-0":[12.57,27.03],"6-98-1":[10.26,26.35],"6-98-2":[4.57,21],"6-98-3":[-6.42,915.41],"6-98-4":[-16.48,237.04],"6-98-5":[-7.98,810.48],"6-98-6":[-11.47,688.57],"6-98-7":[12.53,1569.96],"6-98-8":[124.42,1090.5],"6-98-9":[50.44,887.64],"6-98-10":[-27,775.1],"6-98-11":[69.08,615.55],"6-98-12":[151.22,2887.36],"6-98-13":[660.12,2999.01],"6-98-14":[1179.37,3482.56],"6-98-15":[1006.26,3928.85],"6-98-16":[422.97,2953.75],"6-98-17":[1074.68,5415.08],"6-98-18":[2272.72,5725.81],"6-98-19":[2617.61,5462.57],"6-98-20":[3023.42,5731.48],"6-98-21":[133.36,6535.05],"6-98-22":[23.08,5106.11],"6-98-23":[12.3,3346.34],"6-98-24":[-17.38,2464.8],"6-98-25":[-86.67,2574.03],"6-98-26":[-135.7,1748.97],"6-98-27":[-96.39,1498.37],"6-98-28":[-92.56,1085.71],"6-98-29":[-80.53,550.46],"6-98-30":[-71.73,3433.72],"6-98-31":[-71.07,1843.03],"6-98-32":[-66.71,243],"6-98-33":[-76.31,-20.39],"6-98-34":[-86.19,-23.44],"6-98-35":[-91.28,-29.19],"6-98-36":[-94.14,-13.36],"6-98-37":[-101.07,-41.41],"6-98-38":[-100.77,-44.67],"6-98-39":[-96.25,-45.32],"6-98-40":[-93.34,-42.41],"6-98-41":[-85,-35.94],"6-98-42":[-76.44,-31.6],"6-98-43":[-68.5,-27.91],"6-98-44":[-62.86,-21.68],"6-98-45":[-50.56,-14.99],"6-98-46":[-38.51,-7.65],"6-98-47":[-23.36,-2.19],"6-98-48":[-12.63,4.07],"6-98-49":[-1.83,10.05],"6-98-50":[0.77,11.74],"6-98-51":[1.97,12.17],"6-98-52":[-0.24,11.35],"6-98-53":[-6.56,6.36],"6-98-54":[-6.92,6.59],"6-98-55":[-6.32,1715.72],"6-98-56":[1527.57,2802.84],"6-98-57":[2705.17,3410],"6-98-58":[3387.34,3708.3],"6-98-59":[3611.48,3736.73],"6-98-60":[3543.29,3737.71],"6-98-61":[3284.66,3612.82],"6-98-62":[3070.76,3317.35],"6-98-63":[-29.54,3075.47],"6-99-0":[12.31,27.01],"6-99-1":[10.26,25.84],"5-49-0":[10.26,27.03],"6-99-2":[4.57,20.48],"6-99-3":[-6.18,969.4],"5-49-1":[-6.42,969.4],"4-24-0":[-6.42,969.4],"6-99-4":[-16.18,517.22],"6-99-5":[-8.15,590],"5-49-2":[-16.48,810.48],"6-99-6":[-11.65,855.64],"6-99-7":[102.24,1354.63],"5-49-3":[-11.65,1569.96],"4-24-1":[-16.48,1618.98],"6-99-8":[120.14,1086.98],"6-99-9":[86.63,868.73],"5-49-4":[50.44,1090.5],"6-99-10":[-31.02,599.89],"6-99-11":[80.02,729.83],"5-49-5":[-31.02,775.1],"4-24-2":[-32.17,1177.41],"6-99-12":[187.08,2274.47],"6-99-13":[527.52,3424.72],"5-49-6":[151.22,3424.72],"6-99-14":[1035.39,3181.14],"6-99-15":[1160.58,3821.64],"5-49-7":[1006.26,3928.85],"4-24-3":[74.37,4155.27],"6-99-16":[637.58,3902.64],"6-99-17":[836.31,3828.18],"5-49-8":[422.97,5415.08],"6-99-18":[1288.02,5499.12],"6-99-19":[2175.47,6216.6],"5-49-9":[1288.02,6216.6],"4-24-4":[-31.39,6767.17],"6-99-20":[2779.55,6063.79],"6-99-21":[1586.78,6434.65],"5-49-10":[133.36,6535.05],"6-99-22":[657.1,5432.09],"6-99-23":[300.67,3530.75],"5-49-11":[12.3,5432.09],"4-24-5":[-109,7512.84],"6-99-24":[129.64,2554.75],"6-99-25":[-17.17,2536.99],"5-49-12":[-86.67,2574.03],"6-99-26":[-78.1,2080.04],"6-99-27":[-90.57,2009.72],"5-49-13":[-135.7,2080.04],"4-24-6":[-135.7,3021.9],"6-99-28":[-65.06,1760.05],"6-99-29":[-72.95,1543.06],"5-49-14":[-92.56,1760.05],"6-99-30":[-57.01,2251.47],"6-99-31":[-38.89,2884.86],"5-49-15":[-71.73,3433.72],"4-24-7":[-128.18,3433.72],"6-99-32":[-81.91,3098.13],"6-99-33":[-45.75,302.5],"5-49-16":[-81.91,3098.13],"6-99-34":[-54.35,-15.47],"6-99-35":[-71.17,-18.5],"5-49-17":[-91.28,-15.47],"4-24-8":[-129.46,3098.13],"6-99-36":[-82.83,-25.9],"6-99-37":[-88.25,-33.31],"5-49-18":[-101.07,-13.36],"6-99-38":[-94.27,-41.22],"6-99-39":[-95.18,-42.76],"5-49-19":[-100.77,-41.22],"4-24-9":[-128.76,-13.36],"6-99-40":[-92.2,-40.17],"6-99-41":[-83.68,-35.94],"5-49-20":[-93.34,-35.94],"6-99-42":[-78.69,-34.93],"6-99-43":[-74.99,-31.99],"5-49-21":[-78.69,-27.91],"4-24-10":[-93.34,-17.8],"6-99-44":[-72.56,-26.45],"6-99-45":[-59.76,-19.83],"5-49-22":[-72.56,-14.99],"6-99-46":[-48.96,-13.12],"6-99-47":[-34.76,-6.95],"5-49-23":[-48.96,-2.19],"4-24-11":[-72.56,15.19],"6-99-48":[-22.48,-1.82],"6-99-49":[-11.77,0.78],"5-49-24":[-22.48,10.05],"6-99-50":[-6.68,3.52],"6-99-51":[-3.06,3.63],"5-49-25":[-6.68,12.17],"4-24-12":[-22.48,27.61],"6-99-52":[-6.11,2.94],"6-99-53":[-14.49,-0.23],"5-49-26":[-14.49,11.35],"6-99-54":[-16.12,2.4],"6-99-55":[-5.53,1741.17],"5-49-27":[-16.12,1741.17],"4-24-13":[-16.12,1741.17],"6-99-56":[1318.62,2705.18],"6-99-57":[2640.6,3387.35],"5-49-28":[1318.62,3410],"6-99-58":[3292.46,3611.49],"6-99-59":[3525.75,3694.95],"5-49-29":[3292.46,3736.73],"4-24-14":[1290.05,3756.39],"6-99-60":[3433.71,3696.05],"6-99-61":[3240.36,3543.3],"5-49-30":[3240.36,3737.71],"6-99-62":[3070.72,3284.67],"6-99-63":[-29.54,3075.96],"5-49-31":[-29.54,3317.35],"4-24-15":[-29.54,3799.9],"6-100-0":[12.14,26.99],"6-100-1":[10.27,25.24],"6-100-2":[3.43,20.53],"6-100-3":[-0.76,788.17],"6-100-4":[-13.05,864.96],"6-100-5":[-6.27,624.53],"6-100-6":[-13.4,737.36],"6-100-7":[45.51,676.85],"6-100-8":[147.98,958.88],"6-100-9":[114.45,855.83],"6-100-10":[-24.8,555.66],"6-100-11":[130.97,852.88],"6-100-12":[253.49,918],"6-100-13":[346.44,3194.59],"6-100-14":[732.53,2295.19],"6-100-15":[986.95,3379.04],"6-100-16":[844.64,3558.09],"6-100-17":[745.38,1902.58],"6-100-18":[1168.55,5176.87],"6-100-19":[1398.27,4952.19],"6-100-20":[475.77,6100.38],"6-100-21":[222.1,7111.28],"6-100-22":[347.18,4334.26],"6-100-23":[41.06,3117.27],"6-100-24":[36.19,3084.02],"6-100-25":[52.6,2792.64],"6-100-26":[-35.3,1323.34],"6-100-27":[-72.12,1726.89],"6-100-28":[-49.94,1062.2],"6-100-29":[-35.14,1503.56],"6-100-30":[-117.38,2181.1],"6-100-31":[-68.74,1252.6],"6-100-32":[-20.47,3783.24],"6-100-33":[-69.41,3170.1],"6-100-34":[-37.01,1.6],"6-100-35":[-51.44,-9.86],"6-100-36":[-64.35,-13.79],"6-100-37":[-82.44,-27.14],"6-100-38":[-86.64,-34.46],"6-100-39":[-87.84,-34.63],"6-100-40":[-85.52,-36.5],"6-100-41":[-80.19,-37.62],"6-100-42":[-78.68,-37.25],"6-100-43":[-81.4,-35.65],"6-100-44":[-80.06,-30.59],"6-100-45":[-66.32,-24.76],"6-100-46":[-55.39,-18.12],"6-100-47":[-41.05,-11.56],"6-100-48":[-30.56,-6.29],"6-100-49":[-19.26,-3.51],"6-100-50":[-13.29,-1.45],"6-100-51":[-9.52,-0.85],"6-100-52":[-12.52,-1.6],"6-100-53":[-17.41,-3.38],"6-100-54":[-19.91,-2],"6-100-55":[-15.87,1791.71],"6-100-56":[1558.66,2640.61],"6-100-57":[2600.88,3292.47],"6-100-58":[3117.94,3525.76],"6-100-59":[3441.92,3605.31],"6-100-60":[3363.73,3601.4],"6-100-61":[3196.66,3433.72],"6-100-62":[3070.69,3240.37],"6-100-63":[-29.54,3075.89],"6-101-0":[12.06,26.97],"6-101-1":[10.27,24.01],"5-50-0":[10.27,26.99],"6-101-2":[1.88,20.61],"6-101-3":[-0.04,776.54],"5-50-1":[-0.76,788.17],"6-101-4":[-9.34,841.94],"6-101-5":[-23.59,832.71],"5-50-2":[-23.59,864.96],"6-101-6":[-24.81,718.4],"6-101-7":[121.13,1011.68],"5-50-3":[-24.81,1011.68],"6-101-8":[224.5,929.44],"6-101-9":[162.57,836.04],"5-50-4":[114.45,958.88],"6-101-10":[-27.02,706.58],"6-101-11":[88.71,984.1],"5-50-5":[-27.02,984.1],"6-101-12":[253.55,1472.91],"6-101-13":[369.08,2280.07],"5-50-6":[253.49,3194.59],"6-101-14":[518.21,1985.15],"6-101-15":[932.38,2132.01],"5-50-7":[518.21,3379.04],"6-101-16":[778.87,2678.17],"6-101-17":[651.88,2311.12],"5-50-8":[651.88,3558.09],"6-101-18":[992.38,3502.2],"6-101-19":[629.17,4106.19],"5-50-9":[629.17,5176.87],"6-101-20":[194.36,4524.83],"6-101-21":[96.37,1942.57],"5-50-10":[96.37,7111.28],"6-101-22":[245.14,2858.21],"6-101-23":[21.03,2530.43],"5-50-11":[21.03,4334.26],"6-101-24":[-94.3,2937.63],"6-101-25":[-56.68,2686.47],"5-50-12":[-94.3,3084.02],"6-101-26":[-2.53,1984.96],"6-101-27":[-62.53,1793.02],"5-50-13":[-72.12,1984.96],"6-101-28":[-88.98,988.31],"6-101-29":[-13.69,296.81],"5-50-14":[-88.98,1503.56],"6-101-30":[-7.26,564.09],"6-101-31":[-34.24,1041.7],"5-50-15":[-117.38,2181.1],"6-101-32":[-50.63,1126.85],"6-101-33":[-55.36,2229.43],"5-50-16":[-69.41,3783.24],"6-101-34":[-36.88,2218.28],"6-101-35":[-23.97,362.89],"5-50-17":[-51.44,2218.28],"6-101-36":[-50.01,-8.05],"6-101-37":[-67.22,-17.95],"5-50-18":[-82.44,-8.05],"6-101-38":[-72.92,-27.95],"6-101-39":[-72.68,-32.21],"5-50-19":[-87.84,-27.95],"6-101-40":[-76.24,-33.32],"6-101-41":[-78.06,-36.98],"5-50-20":[-85.52,-33.32],"6-101-42":[-80.1,-38.14],"6-101-43":[-82.02,-39.33],"5-50-21":[-82.02,-35.65],"6-101-44":[-82.43,-34.06],"6-101-45":[-71.27,-28.18],"5-50-22":[-82.43,-24.76],"6-101-46":[-62.71,-21.81],"6-101-47":[-49.64,-15.77],"5-50-23":[-62.71,-11.56],"6-101-48":[-39.39,-10.57],"6-101-49":[-28.16,-7.19],"5-50-24":[-39.39,-3.51],"6-101-50":[-21.77,-4.94],"6-101-51":[-17.14,-4.86],"5-50-25":[-21.77,-0.85],"6-101-52":[-18.23,-5.13],"6-101-53":[-25.73,-6.91],"5-50-26":[-25.73,-1.6],"6-101-54":[-26.47,-8.94],"6-101-55":[-27.05,1793.86],"5-50-27":[-27.05,1793.86],"6-101-56":[1569.31,2600.89],"6-101-57":[2518.51,3117.95],"5-50-28":[1558.66,3292.47],"6-101-58":[2973.88,3441.93],"6-101-59":[3288.11,3528.69],"5-50-29":[2973.88,3605.31],"6-101-60":[3280.25,3498.6],"6-101-61":[3169.63,3363.74],"5-50-30":[3169.63,3601.4],"6-101-62":[3069.83,3196.67],"6-101-63":[-29.54,3075.29],"5-50-31":[-29.54,3240.37],"6-102-0":[12.03,26.96],"6-102-1":[10.02,23.17],"6-102-2":[1.63,20.52],"6-102-3":[-0.71,3.6],"6-102-4":[-9.34,927.44],"6-102-5":[-21.44,1119.08],"6-102-6":[-21.06,734.39],"6-102-7":[132.34,887.81],"6-102-8":[166.72,947.89],"6-102-9":[178.95,743.5],"6-102-10":[-23.46,607.14],"6-102-11":[188.2,1969.85],"6-102-12":[317.03,2509.72],"6-102-13":[401.97,1987.12],"6-102-14":[522.51,2758.43],"6-102-15":[862.62,2221.84],"6-102-16":[705.9,1397.18],"6-102-17":[902.24,2304.17],"6-102-18":[874.91,1918.57],"6-102-19":[285.5,3718.19],"6-102-20":[36.4,3019.64],"6-102-21":[48.41,2199.58],"6-102-22":[81.86,2506.96],"6-102-23":[-4.49,1720.45],"6-102-24":[-110.94,1495.1],"6-102-25":[-45.58,1791.56],"6-102-26":[-43.69,2581.3],"6-102-27":[-24.82,2426.49],"6-102-28":[-33.45,1298.21],"6-102-29":[2.64,41.22],"6-102-30":[-11.18,1014.85],"6-102-31":[-30.38,1601.85],"6-102-32":[-4.18,1034.19],"6-102-33":[5.39,373.32],"6-102-34":[-27.49,3442.9],"6-102-35":[-16.46,32.46],"6-102-36":[-35.92,-0.17],"6-102-37":[-55.89,-9.77],"6-102-38":[-63.68,-20.55],"6-102-39":[-67.07,-25.59],"6-102-40":[-74.45,-31.39],"6-102-41":[-78.87,-34.22],"6-102-42":[-80.62,-38.59],"6-102-43":[-81.5,-37.5],"6-102-44":[-81.55,-36.82],"6-102-45":[-75.32,-31.36],"6-102-46":[-66.17,-25.52],"6-102-47":[-55.15,-19.95],"6-102-48":[-45.84,-14.58],"6-102-49":[-34.14,-11.03],"6-102-50":[-27.4,-8.6],"6-102-51":[-22.98,-8.32],"6-102-52":[-24.4,-8.55],"6-102-53":[-30.23,-9.28],"6-102-54":[-36.54,-12.51],"6-102-55":[-33.13,1569.32],"6-102-56":[1087.42,2518.52],"6-102-57":[2491.99,2973.89],"6-102-58":[2898.38,3288.12],"6-102-59":[3218.55,3458.77],"6-102-60":[3217.24,3410.38],"6-102-61":[3122.29,3280.26],"6-102-62":[3068.02,3169.64],"6-102-63":[-29.54,3074.68],"6-103-0":[11.81,26.94],"6-103-1":[10.02,22.97],"5-51-0":[10.02,26.96],"6-103-2":[1.76,20.03],"6-103-3":[-4.68,2.37],"5-51-1":[-4.68,20.52],"4-25-0":[-4.68,788.17],"6-103-4":[-7.07,732.27],"6-103-5":[-18.39,1038.7],"5-51-2":[-21.44,1119.08],"6-103-6":[-8.22,689.79],"6-103-7":[42.21,820.66],"5-51-3":[-21.06,887.81],"4-25-1":[-24.81,1119.08],"3-12-0":[-24.81,1618.98],"6-103-8":[142.66,871.07],"6-103-9":[190.73,581.35],"5-51-4":[142.66,947.89],"6-103-10":[-22.83,599.15],"6-103-11":[157.28,2526.11],"5-51-5":[-23.46,2526.11],"4-25-2":[-27.02,2526.11],"6-103-12":[409.57,2781.93],"6-103-13":[538.79,2000.38],"5-51-6":[317.03,2781.93],"6-103-14":[796.86,2483.46],"6-103-15":[786,1631.54],"5-51-7":[522.51,2758.43],"4-25-3":[253.49,3379.04],"3-12-1":[-32.17,4155.27],"6-103-16":[657.03,1440.56],"6-103-17":[814.48,2312.81],"5-51-8":[657.03,2312.81],"6-103-18":[461.77,2785.32],"6-103-19":[90.97,2608.85],"5-51-9":[90.97,3718.19],"4-25-4":[90.97,5176.87],"6-103-20":[-14.6,3075.61],"6-103-21":[-41.04,2284.9],"5-51-10":[-41.04,3075.61],"6-103-22":[6.19,2090.39],"6-103-23":[-33.9,1930.57],"5-51-11":[-33.9,2506.96],"4-25-5":[-41.04,7111.28],"3-12-2":[-109,7512.84],"6-103-24":[-68.73,1683.1],"6-103-25":[-50.32,1775.49],"5-51-12":[-110.94,1791.56],"6-103-26":[-15.99,22.84],"6-103-27":[-1.31,35.12],"5-51-13":[-43.69,2581.3],"4-25-6":[-110.94,3084.02],"6-103-28":[7.05,50.12],"6-103-29":[13.68,63.16],"5-51-14":[-33.45,1298.21],"6-103-30":[17.55,93.68],"6-103-31":[-60.48,1707.53],"5-51-15":[-60.48,1707.53],"4-25-7":[-117.38,2181.1],"3-12-3":[-135.7,3433.72],"6-103-32":[-5.21,1767.47],"6-103-33":[16.48,98.63],"5-51-16":[-5.21,1767.47],"6-103-34":[-32.43,3363.43],"6-103-35":[-8.1,36.62],"5-51-17":[-32.43,3442.9],"4-25-8":[-69.41,3783.24],"6-103-36":[-20.48,14.72],"6-103-37":[-39.42,-2.58],"5-51-18":[-55.89,14.72],"6-103-38":[-48.07,-12.98],"6-103-39":[-62.92,-19.51],"5-51-19":[-67.07,-12.98],"4-25-9":[-87.84,14.72],"3-12-4":[-129.46,3783.24],"6-103-40":[-67.31,-22.53],"6-103-41":[-76.31,-23.36],"5-51-20":[-78.87,-22.53],"6-103-42":[-79.55,-31.81],"6-103-43":[-79.53,-36.31],"5-51-21":[-81.5,-31.81],"4-25-10":[-85.52,-22.53],"6-103-44":[-81.64,-36.17],"6-103-45":[-78.43,-33.2],"5-51-22":[-81.64,-31.36],"6-103-46":[-69.24,-28.58],"6-103-47":[-59.94,-23.25],"5-51-23":[-69.24,-19.95],"4-25-11":[-82.43,-11.56],"3-12-5":[-93.34,15.19],"6-103-48":[-51.3,-17.94],"6-103-49":[-40.42,-14.13],"5-51-24":[-51.3,-11.03],"6-103-50":[-34.48,-12.04],"6-103-51":[-30.95,-11.71],"5-51-25":[-34.48,-8.32],"4-25-12":[-51.3,-0.85],"6-103-52":[-31.64,-11.83],"6-103-53":[-39.3,-12.7],"5-51-26":[-39.3,-8.55],"6-103-54":[-43.14,-15.55],"6-103-55":[-38.79,1241.72],"5-51-27":[-43.14,1569.32],"4-25-13":[-43.14,1793.86],"3-12-6":[-51.3,1793.86],"6-103-56":[767.03,2536.98],"6-103-57":[2496.32,2925.63],"5-51-28":[767.03,2973.89],"6-103-58":[2895.28,3218.56],"6-103-59":[3190.5,3373.24],"5-51-29":[2895.28,3458.77],"4-25-14":[767.03,3605.31],"6-103-60":[3144.58,3368.42],"6-103-61":[3056.95,3217.25],"5-51-30":[3056.95,3410.38],"6-103-62":[3059.08,3122.3],"6-103-63":[-29.54,3072.12],"5-51-31":[-29.54,3169.64],"4-25-15":[-29.54,3601.4],"3-12-7":[-29.54,3799.9],"6-104-0":[11.39,26.93],"6-104-1":[9.9,23.02],"6-104-2":[2.36,20.31],"6-104-3":[-6,3.25],"6-104-4":[-6,82.84],"6-104-5":[-17.31,495.96],"6-104-6":[-8.77,399.1],"6-104-7":[13.61,491.06],"6-104-8":[115.43,750.89],"6-104-9":[116.1,561.53],"6-104-10":[-21.96,1677.59],"6-104-11":[150.22,2530.45],"6-104-12":[479.34,2992.37],"6-104-13":[504.85,1634.35],"6-104-14":[575.67,1654.73],"6-104-15":[617.47,1754.54],"6-104-16":[880.33,1742.15],"6-104-17":[128.34,2838.35],"6-104-18":[-3.88,3047.6],"6-104-19":[5.77,1847.96],"6-104-20":[-14.28,1280.51],"6-104-21":[-154.55,1772.77],"6-104-22":[-30.87,2103.76],"6-104-23":[-95.56,1877.29],"6-104-24":[-70.08,953.51],"6-104-25":[-6.17,27.99],"6-104-26":[3.36,44.5],"6-104-27":[10.3,55.83],"6-104-28":[17.56,73.24],"6-104-29":[25.67,79.68],"6-104-30":[10.65,2422.76],"6-104-31":[29.67,2305.23],"6-104-32":[6.49,2345.05],"6-104-33":[23.54,1325.52],"6-104-34":[-20.93,3699.18],"6-104-35":[4.34,1042.4],"6-104-36":[-2.59,22.64],"6-104-37":[-24.91,7.42],"6-104-38":[-38.06,-5.3],"6-104-39":[-58.73,307.87],"6-104-40":[-68.83,370.75],"6-104-41":[-63.64,291.1],"6-104-42":[-75.39,303.79],"6-104-43":[-77.46,189.43],"6-104-44":[-81.92,202.32],"6-104-45":[-78.44,-34.62],"6-104-46":[-69.89,-30.52],"6-104-47":[-61.52,-25.77],"6-104-48":[-54.23,-20.78],"6-104-49":[-44.26,-17.39],"6-104-50":[-39.25,-15.56],"6-104-51":[-36.43,-15.24],"6-104-52":[-37.17,-15.45],"6-104-53":[-45.54,-15.94],"6-104-54":[-46.98,-19.12],"6-104-55":[-44.18,1300.89],"6-104-56":[486.82,2508.46],"6-104-57":[2399.34,2971.73],"6-104-58":[2925.62,3190.51],"6-104-59":[3187.99,3320.02],"6-104-60":[3081.53,3317.03],"6-104-61":[2940.53,3144.59],"6-104-62":[3024.22,3080.43],"6-104-63":[-29.54,3069.68],"6-105-0":[11.09,26.9],"6-105-1":[9.45,22.95],"5-52-0":[9.45,26.93],"6-105-2":[2.76,20.29],"6-105-3":[-5.31,3.8],"5-52-1":[-6,20.31],"6-105-4":[-5.65,-0.65],"6-105-5":[-15.13,237.7],"5-52-2":[-17.31,495.96],"6-105-6":[-2.03,277.08],"6-105-7":[17.85,385.91],"5-52-3":[-8.77,491.06],"6-105-8":[110.65,448.35],"6-105-9":[56.9,380.42],"5-52-4":[56.9,750.89],"6-105-10":[-16.13,1615.07],"6-105-11":[217.51,2962.65],"5-52-5":[-21.96,2962.65],"6-105-12":[454.52,2450.24],"6-105-13":[406.43,1532.32],"5-52-6":[406.43,2992.37],"6-105-14":[432.23,1232.86],"6-105-15":[549.84,1464.19],"5-52-7":[432.23,1754.54],"6-105-16":[730.4,2060.03],"6-105-17":[-64.08,2407.63],"5-52-8":[-64.08,2838.35],"6-105-18":[-63.81,805.59],"6-105-19":[-16.17,1519.8],"5-52-9":[-63.81,3047.6],"6-105-20":[-33.57,1755.88],"6-105-21":[-69.59,1735.53],"5-52-10":[-154.55,1772.77],"6-105-22":[4.65,2160.72],"6-105-23":[-47.98,1800.52],"5-52-11":[-95.56,2160.72],"6-105-24":[1.5,35.14],"6-105-25":[6.58,52.59],"5-52-12":[-70.08,953.51],"6-105-26":[13.99,67.42],"6-105-27":[22.24,82.34],"5-52-13":[3.36,82.34],"6-105-28":[30.08,2125.15],"6-105-29":[13.27,4108.68],"5-52-14":[13.27,4108.68],"6-105-30":[17.77,2687.61],"6-105-31":[15.58,2267.3],"5-52-15":[10.65,2687.61],"6-105-32":[-40.37,1916.44],"6-105-33":[6.53,1738.04],"5-52-16":[-40.37,2345.05],"6-105-34":[14.43,3755.88],"6-105-35":[-28.54,2972.87],"5-52-17":[-28.54,3755.88],"6-105-36":[3.7,35.22],"6-105-37":[-12.09,21.02],"5-52-18":[-24.91,35.22],"6-105-38":[-24.32,2.72],"6-105-39":[-35.25,1205.98],"5-52-19":[-58.73,1205.98],"6-105-40":[29.13,1196.06],"6-105-41":[167.75,715.25],"5-52-20":[-68.83,1196.06],"6-105-42":[-14.21,662],"6-105-43":[-99.76,566.35],"5-52-21":[-99.76,662],"6-105-44":[-78.53,969.34],"6-105-45":[-78.21,-34.74],"5-52-22":[-81.92,969.34],"6-105-46":[-69.94,-30.98],"6-105-47":[-61.91,-27.2],"5-52-23":[-69.94,-25.77],"6-105-48":[-54.84,-22.89],"6-105-49":[-47.73,-19.91],"5-52-24":[-54.84,-17.39],"6-105-50":[-42.44,-18.56],"6-105-51":[-41.44,-18.27],"5-52-25":[-42.44,-15.24],"6-105-52":[-43.24,-18.39],"6-105-53":[-52.02,-19.12],"5-52-26":[-52.02,-15.45],"6-105-54":[-54.04,-21.06],"6-105-55":[-53.1,680.38],"5-52-27":[-54.04,1300.89],"6-105-56":[536.8,2408.3],"6-105-57":[2392.94,3030.32],"5-52-28":[486.82,3030.32],"6-105-58":[2971.72,3188.16],"6-105-59":[3108.98,3235.61],"5-52-29":[2925.62,3320.02],"6-105-60":[3012.27,3197.29],"6-105-61":[2926.36,3081.54],"5-52-30":[2926.36,3317.03],"6-105-62":[2976.46,3060.18],"6-105-63":[-29.54,3063.52],"5-52-31":[-29.54,3080.43],"6-106-0":[10.64,26.89],"6-106-1":[8.53,22.53],"6-106-2":[2.49,19.46],"6-106-3":[-5.7,3.75],"6-106-4":[-6.56,0.13],"6-106-5":[-15.63,39.75],"6-106-6":[-15.63,346.26],"6-106-7":[14.94,411.14],"6-106-8":[91.15,443.53],"6-106-9":[32.4,383.49],"6-106-10":[-14.77,717.41],"6-106-11":[169.48,2548.26],"6-106-12":[315.35,2226.52],"6-106-13":[309.69,1486.61],"6-106-14":[471.52,1598.44],"6-106-15":[383.84,1743.81],"6-106-16":[236.1,1936.12],"6-106-17":[-59.35,1887.25],"6-106-18":[-120.47,785.42],"6-106-19":[-39.04,1101.77],"6-106-20":[-105.16,584.53],"6-106-21":[-78.25,1795.67],"6-106-22":[-35.2,1934.56],"6-106-23":[-36.2,3691.21],"6-106-24":[-4.52,1951.28],"6-106-25":[17.56,2501.63],"6-106-26":[-6.79,2962.21],"6-106-27":[26.54,2343.09],"6-106-28":[24.22,1769.36],"6-106-29":[30.27,536.54],"6-106-30":[32.1,935.33],"6-106-31":[37.62,2935.4],"6-106-32":[39.93,3132.81],"6-106-33":[-11.89,3490.23],"6-106-34":[19.97,1959.49],"6-106-35":[5.42,2405.04],"6-106-36":[10.5,52.7],"6-106-37":[1.57,42.5],"6-106-38":[-1.29,35.06],"6-106-39":[-31.05,1152.3],"6-106-40":[340.66,1241.42],"6-106-41":[303.97,737.39],"6-106-42":[254.05,673.8],"6-106-43":[-1.49,507.31],"6-106-44":[-78.18,1063.1],"6-106-45":[-78.01,-33.81],"6-106-46":[-69.49,-30.79],"6-106-47":[-61.11,-27.35],"6-106-48":[-54.99,-24.24],"6-106-49":[-48.72,-21.27],"6-106-50":[-45.04,-20.59],"6-106-51":[-45.09,-20.39],"6-106-52":[-47.54,-20.76],"6-106-53":[-57.28,-21.9],"6-106-54":[-61.21,-25.94],"6-106-55":[-59.83,845.24],"6-106-56":[519.85,2462.74],"6-106-57":[2401.53,3046.36],"6-106-58":[3030.31,3177.4],"6-106-59":[2994.82,3172.35],"6-106-60":[2931.11,3109.06],"6-106-61":[2879.88,3012.28],"6-106-62":[2930.22,3048.31],"6-106-63":[-29.59,3060.25],"6-107-0":[10.15,26.87],"6-107-1":[8.13,21.47],"5-53-0":[8.13,26.89],"6-107-2":[2.41,16.79],"6-107-3":[-5.35,4.39],"5-53-1":[-5.7,19.46],"4-26-0":[-6,26.93],"6-107-4":[-5.79,0.24],"6-107-5":[-13.91,13.68],"5-53-2":[-15.63,39.75],"6-107-6":[-13.91,479.01],"6-107-7":[3.58,427.06],"5-53-3":[-15.63,479.01],"4-26-1":[-17.31,495.96],"6-107-8":[3.9,342.41],"6-107-9":[56.97,417.22],"5-53-4":[3.9,443.53],"6-107-10":[-10.31,1200.19],"6-107-11":[142.11,2000.95],"5-53-5":[-14.77,2548.26],"4-26-2":[-21.96,2962.65],"6-107-12":[249.54,1644.22],"6-107-13":[260.32,1523.39],"5-53-6":[249.54,2226.52],"6-107-14":[165.96,1600.44],"6-107-15":[117.12,1541.69],"5-53-7":[117.12,1743.81],"4-26-3":[117.12,2992.37],"6-107-16":[42.3,816.14],"6-107-17":[-150.51,1174.47],"5-53-8":[-150.51,1936.12],"6-107-18":[-29.13,918.27],"6-107-19":[3.79,96.9],"5-53-9":[-120.47,1101.77],"4-26-4":[-150.51,3047.6],"6-107-20":[-52.47,121.19],"6-107-21":[-35.84,1218.7],"5-53-10":[-105.16,1795.67],"6-107-22":[0.69,450.06],"6-107-23":[-53.71,3956.01],"5-53-11":[-53.71,3956.01],"4-26-5":[-154.55,3956.01],"6-107-24":[11.3,1042.66],"6-107-25":[-10.65,2731.61],"5-53-12":[-10.65,2731.61],"6-107-26":[-0.27,2712.33],"6-107-27":[-54.19,2627.63],"5-53-13":[-54.19,2962.21],"4-26-6":[-70.08,2962.21],"6-107-28":[-134.19,2528.23],"6-107-29":[21.9,2469.27],"5-53-14":[-134.19,2528.23],"6-107-30":[58.38,136.19],"6-107-31":[24.07,2286.44],"5-53-15":[24.07,2935.4],"4-26-7":[-134.19,4108.68],"6-107-32":[0.84,2955.49],"6-107-33":[28.66,2702.65],"5-53-16":[-11.89,3490.23],"6-107-34":[15.94,1676.82],"6-107-35":[5.35,2244.61],"5-53-17":[5.35,2405.04],"4-26-8":[-40.37,3755.88],"6-107-36":[21.36,72.31],"6-107-37":[-21.63,280.29],"5-53-18":[-21.63,280.29],"6-107-38":[-20.07,284.71],"6-107-39":[-14.22,553.65],"5-53-19":[-31.05,1152.3],"4-26-9":[-58.73,1205.98],"6-107-40":[235.6,710.82],"6-107-41":[292.36,692.66],"5-53-20":[235.6,1241.42],"6-107-42":[104.9,561.35],"6-107-43":[-30.26,610.87],"5-53-21":[-30.26,673.8],"4-26-10":[-99.76,1241.42],"6-107-44":[-76.09,322.34],"6-107-45":[-73.83,-32.37],"5-53-22":[-78.18,1063.1],"6-107-46":[-67.41,-29.79],"6-107-47":[-60.78,-27.09],"5-53-23":[-69.49,-27.09],"4-26-11":[-81.92,1063.1],"6-107-48":[-54.95,-24.93],"6-107-49":[-49.55,-22.67],"5-53-24":[-54.99,-21.27],"6-107-50":[-47.09,-22.05],"6-107-51":[-49,-22.03],"5-53-25":[-49,-20.39],"4-26-12":[-54.99,-15.24],"6-107-52":[-52.14,-22.78],"6-107-53":[-62.69,-24.36],"5-53-26":[-62.69,-20.76],"6-107-54":[-67.4,-28.92],"6-107-55":[-64.36,1172.91],"5-53-27":[-67.4,1172.91],"4-26-13":[-67.4,1300.89],"6-107-56":[845.23,2590.73],"6-107-57":[2462.73,3089.34],"5-53-28":[519.85,3089.34],"6-107-58":[3046.35,3196.31],"6-107-59":[2917.96,3163.37],"5-53-29":[2917.96,3196.31],"4-26-14":[486.82,3320.02],"6-107-60":[2826.82,2994.83],"6-107-61":[2826.82,2932.32],"5-53-30":[2826.82,3109.06],"6-107-62":[2871.64,3035.5],"6-107-63":[-29.58,3058.07],"5-53-31":[-29.59,3060.25],"4-26-15":[-29.59,3317.03],"6-108-0":[10.04,26.86],"6-108-1":[7.6,20.19],"6-108-2":[2.41,15.36],"6-108-3":[-5.02,4.8],"6-108-4":[-5,0.2],"6-108-5":[-10.53,23.3],"6-108-6":[-6.11,487.14],"6-108-7":[-1.85,1127.4],"6-108-8":[-14.61,1401.18],"6-108-9":[9.01,816.9],"6-108-10":[0.99,804.47],"6-108-11":[261.28,1845.92],"6-108-12":[224.24,1706.86],"6-108-13":[169.56,1269.14],"6-108-14":[159.24,878.23],"6-108-15":[100.27,339.07],"6-108-16":[60.86,1264.57],"6-108-17":[-268.7,1987.41],"6-108-18":[-101.36,1234.98],"6-108-19":[-7.79,581.2],"6-108-20":[16.92,1941.55],"6-108-21":[18.57,59.8],"6-108-22":[22.07,60.97],"6-108-23":[8,553.56],"6-108-24":[22.25,69.87],"6-108-25":[31.05,86.5],"6-108-26":[38.77,279.06],"6-108-27":[15.22,1607.31],"6-108-28":[-24.5,2547.07],"6-108-29":[21.53,3011.04],"6-108-30":[36.96,1410.92],"6-108-31":[-6.95,2053.63],"6-108-32":[33.67,1465.3],"6-108-33":[35.26,2752.59],"6-108-34":[-4.86,1869.57],"6-108-35":[7.81,2985.2],"6-108-36":[18.74,169.89],"6-108-37":[-47.89,844.91],"6-108-38":[-13.38,967.01],"6-108-39":[127.51,455.4],"6-108-40":[265.28,557.1],"6-108-41":[312.18,555.5],"6-108-42":[124.91,497.24],"6-108-43":[-59.03,276.5],"6-108-44":[-71.44,115.27],"6-108-45":[-69.83,-30.39],"6-108-46":[-64.74,-28.34],"6-108-47":[-58.68,-26.12],"6-108-48":[-54.09,-24.3],"6-108-49":[-49.45,-23.51],"6-108-50":[-48.53,-23.46],"6-108-51":[-51.56,-23.6],"6-108-52":[-55.45,-24.6],"6-108-53":[-65.39,-26.41],"6-108-54":[-71.76,-31.34],"6-108-55":[-65.99,1359.83],"6-108-56":[1164.44,2630.58],"6-108-57":[2590.72,3151.32],"6-108-58":[3089.33,3203.64],"6-108-59":[2882.88,3159.64],"6-108-60":[2697.34,2917.97],"6-108-61":[2697.34,2871.65],"6-108-62":[2844.51,3023.22],"6-108-63":[-29.54,3057.86],"6-109-0":[10.07,26.84],"6-109-1":[7.6,19.56],"5-54-0":[7.6,26.86],"6-109-2":[1.94,15.3],"6-109-3":[-4.59,4.34],"5-54-1":[-5.02,15.36],"6-109-4":[-4.59,1.33],"6-109-5":[-11.15,-0.27],"5-54-2":[-11.15,23.3],"6-109-6":[-13.23,1068.55],"6-109-7":[49.78,2201.02],"5-54-3":[-13.23,2201.02],"6-109-8":[105.58,2117.99],"6-109-9":[2.06,1848.18],"5-54-4":[-14.61,2117.99],"6-109-10":[2.81,676.85],"6-109-11":[199.21,2240.33],"5-54-5":[0.99,2240.33],"6-109-12":[203.07,2048.94],"6-109-13":[137.94,905.39],"5-54-6":[137.94,2048.94],"6-109-14":[100.62,1057.62],"6-109-15":[12.1,1445.43],"5-54-7":[12.1,1445.43],"6-109-16":[169.25,1718.97],"6-109-17":[-9.27,2763.77],"5-54-8":[-268.7,2763.77],"6-109-18":[-16.31,1727.04],"6-109-19":[-43.56,1925.58],"5-54-9":[-101.36,1925.58],"6-109-20":[-39.24,1453.61],"6-109-21":[16.04,722.76],"5-54-10":[-39.24,1941.55],"6-109-22":[13.17,672.79],"6-109-23":[24.41,69.74],"5-54-11":[8,672.79],"6-109-24":[29.92,74.99],"6-109-25":[35.9,87.33],"5-54-12":[22.25,87.33],"6-109-26":[42.78,100.04],"6-109-27":[47.35,114.52],"5-54-13":[15.22,1607.31],"6-109-28":[47.35,127.22],"6-109-29":[45.25,289.5],"5-54-14":[-24.5,3011.04],"6-109-30":[39.86,726.39],"6-109-31":[-77.81,1820.67],"5-54-15":[-77.81,2053.63],"6-109-32":[-16.98,2152.95],"6-109-33":[17.04,2555.71],"5-54-16":[-16.98,2752.59],"6-109-34":[33.44,1415.76],"6-109-35":[30.37,2395.35],"5-54-17":[-4.86,2985.2],"6-109-36":[4.41,198.32],"6-109-37":[-3.57,755.14],"5-54-18":[-47.89,844.91],"6-109-38":[123.22,1012.77],"6-109-39":[240.33,556.98],"5-54-19":[-13.38,1012.77],"6-109-40":[305.48,1049.45],"6-109-41":[288.49,1051.49],"5-54-20":[265.28,1051.49],"6-109-42":[117.95,457.28],"6-109-43":[-68.16,175.13],"5-54-21":[-68.16,497.24],"6-109-44":[-66.21,-23.79],"6-109-45":[-63.97,-28.21],"5-54-22":[-71.44,115.27],"6-109-46":[-60.3,-26.68],"6-109-47":[-55.65,-25.02],"5-54-23":[-64.74,-25.02],"6-109-48":[-52.05,-23.14],"6-109-49":[-47.99,-22.51],"5-54-24":[-54.09,-22.51],"6-109-50":[-47.82,-22.39],"6-109-51":[-52.39,-23.56],"5-54-25":[-52.39,-22.39],"6-109-52":[-58.59,-25.84],"6-109-53":[-69.44,-28.36],"5-54-26":[-69.44,-24.6],"6-109-54":[-76.93,-32.97],"6-109-55":[-75.43,1185.13],"5-54-27":[-76.93,1359.83],"6-109-56":[945.1,2622.61],"6-109-57":[2578.38,3171.09],"5-54-28":[945.1,3171.09],"6-109-58":[3008.62,3189.23],"6-109-59":[2819.28,3116.04],"5-54-29":[2819.28,3203.64],"6-109-60":[2623.1,2882.89],"6-109-61":[2629.61,2844.52],"5-54-30":[2623.1,2917.97],"6-109-62":[2805.68,3011.97],"6-109-63":[-29.54,3059.53],"5-54-31":[-29.54,3059.53],"6-110-0":[10.54,26.83],"6-110-1":[6.87,20.99],"6-110-2":[1.92,15.13],"6-110-3":[-4.55,2.92],"6-110-4":[-4.02,4.86],"6-110-5":[-10.86,-0.21],"6-110-6":[-13.9,856.13],"6-110-7":[47.14,1828.99],"6-110-8":[120.23,1922.66],"6-110-9":[31.37,2002.65],"6-110-10":[5.26,531.48],"6-110-11":[163.23,2290.58],"6-110-12":[207.26,2374.21],"6-110-13":[182.49,1509.02],"6-110-14":[66.2,1216.44],"6-110-15":[10.1,1386.01],"6-110-16":[4.32,1509.87],"6-110-17":[10.26,1774.19],"6-110-18":[-48.7,999.37],"6-110-19":[-18.69,1373.1],"6-110-20":[-17.54,1801.42],"6-110-21":[-19.03,1948.19],"6-110-22":[24,290.95],"6-110-23":[28.82,74.19],"6-110-24":[34.84,77.85],"6-110-25":[38.27,88.57],"6-110-26":[43.53,99.45],"6-110-27":[49.52,113.8],"6-110-28":[55.44,127.03],"6-110-29":[62.11,137.95],"6-110-30":[67.63,149.08],"6-110-31":[62.22,363.49],"6-110-32":[-56.46,1519.04],"6-110-33":[-10.59,3088.67],"6-110-34":[26.67,862.43],"6-110-35":[40.62,116.33],"6-110-36":[-0.62,359.52],"6-110-37":[-20.35,453.11],"6-110-38":[138.03,558.61],"6-110-39":[237.65,915.42],"6-110-40":[389.72,1429.68],"6-110-41":[289.78,1437.62],"6-110-42":[27.63,482.51],"6-110-43":[-47.6,188.18],"6-110-44":[-60.49,-16.06],"6-110-45":[-58.01,-25.18],"6-110-46":[-56.42,-23.9],"6-110-47":[-52.82,-22.85],"6-110-48":[-49.85,-21.48],"6-110-49":[-46.08,-21.12],"6-110-50":[-46.52,-21.31],"6-110-51":[-52.46,-23.05],"6-110-52":[-59.62,-26.04],"6-110-53":[-71.74,-29.78],"6-110-54":[-80.19,-34.71],"6-110-55":[-74.89,1382.72],"6-110-56":[948.42,2601.74],"6-110-57":[2573.54,3136.57],"6-110-58":[2893.92,3137.89],"6-110-59":[2675.26,3008.63],"6-110-60":[2578.01,2819.29],"6-110-61":[2594.09,2805.69],"6-110-62":[2759.42,2999.73],"6-110-63":[-29.54,3062.38],"6-111-0":[11.53,28.02],"6-111-1":[6.59,23.68],"5-55-0":[6.59,28.02],"6-111-2":[2.12,13.54],"6-111-3":[-4.24,2.58],"5-55-1":[-4.55,15.13],"4-27-0":[-5.02,28.02],"6-111-4":[-1.34,4.98],"6-111-5":[-6.9,-0.37],"5-55-2":[-10.86,4.98],"6-111-6":[-9.76,462.09],"6-111-7":[19.54,1221.31],"5-55-3":[-13.9,1828.99],"4-27-1":[-13.9,2201.02],"3-13-0":[-17.31,2201.02],"6-111-8":[105.45,1652.58],"6-111-9":[35.47,2070.51],"5-55-4":[31.37,2070.51],"6-111-10":[7.84,825.86],"6-111-11":[208.63,1856.83],"5-55-5":[5.26,2290.58],"4-27-2":[-14.61,2290.58],"6-111-12":[30.93,2358.55],"6-111-13":[242.51,2286.52],"5-55-6":[30.93,2374.21],"6-111-14":[42.21,2263.84],"6-111-15":[-27.41,1447.73],"5-55-7":[-27.41,2263.84],"4-27-3":[-27.41,2374.21],"3-13-1":[-27.41,2992.37],"2-6-0":[-32.17,4155.27],"6-111-16":[-79.7,1878.55],"6-111-17":[23.24,62.05],"5-55-8":[-79.7,1878.55],"6-111-18":[25.69,66.77],"6-111-19":[-16.84,1986.11],"5-55-9":[-48.7,1986.11],"4-27-4":[-268.7,2763.77],"6-111-20":[-0.37,1882.11],"6-111-21":[27.45,74.09],"5-55-10":[-19.03,1948.19],"6-111-22":[33.04,75.05],"6-111-23":[33.91,80.5],"5-55-11":[24,290.95],"4-27-5":[-39.24,1948.19],"3-13-2":[-268.7,3956.01],"6-111-24":[37.06,83.13],"6-111-25":[39.61,93.95],"5-55-12":[34.84,93.95],"6-111-26":[44.33,102.28],"6-111-27":[49.63,114.34],"5-55-13":[43.53,114.34],"4-27-6":[15.22,1607.31],"6-111-28":[55.18,125.8],"6-111-29":[59.47,301.73],"5-55-14":[55.18,301.73],"6-111-30":[66.39,148.84],"6-111-31":[69.38,149.75],"5-55-15":[62.22,363.49],"4-27-7":[-77.81,3011.04],"3-13-3":[-134.19,4108.68],"2-6-1":[-268.7,7512.84],"6-111-32":[15.14,3028.24],"6-111-33":[-92.74,2016.59],"5-55-16":[-92.74,3088.67],"6-111-34":[38.32,670.15],"6-111-35":[39.61,131.25],"5-55-17":[26.67,862.43],"4-27-8":[-92.74,3088.67],"6-111-36":[-50.67,610.22],"6-111-37":[37.9,457.36],"5-55-18":[-50.67,610.22],"6-111-38":[212.43,466.21],"6-111-39":[278.13,1152.22],"5-55-19":[138.03,1152.22],"4-27-9":[-50.67,1152.22],"3-13-4":[-92.74,3755.88],"6-111-40":[234.53,1528.53],"6-111-41":[101.81,1002.66],"5-55-20":[101.81,1528.53],"6-111-42":[72.04,400.15],"6-111-43":[-50.51,399.93],"5-55-21":[-50.51,482.51],"4-27-10":[-68.16,1528.53],"6-111-44":[-51.73,212.32],"6-111-45":[-50.87,-20.77],"5-55-22":[-60.49,212.32],"6-111-46":[-49.69,-20.97],"6-111-47":[-47.09,-20.45],"5-55-23":[-56.42,-20.45],"4-27-11":[-71.44,212.32],"3-13-5":[-99.76,1528.53],"2-6-2":[-129.46,3783.24],"6-111-48":[-45.23,-19.5],"6-111-49":[-42.63,-19.5],"5-55-24":[-49.85,-19.5],"6-111-50":[-45.55,-20.17],"6-111-51":[-51.95,-22.67],"5-55-25":[-52.46,-20.17],"4-27-12":[-54.09,-19.5],"6-111-52":[-60.12,-25.88],"6-111-53":[-74.09,-30.6],"5-55-26":[-74.09,-25.88],"6-111-54":[-82.21,-35.97],"6-111-55":[-78.66,1711.28],"5-55-27":[-82.21,1711.28],"4-27-13":[-82.21,1711.28],"3-13-6":[-82.21,1711.28],"6-111-56":[1382.71,2605.54],"6-111-57":[2513.78,2976.73],"5-55-28":[948.42,3136.57],"6-111-58":[2794.54,2992.85],"6-111-59":[2564.77,2893.93],"5-55-29":[2564.77,3137.89],"4-27-14":[945.1,3203.64],"6-111-60":[2500.69,2687.3],"6-111-61":[2526.81,2763.19],"5-55-30":[2500.69,2819.29],"6-111-62":[2709.28,2987.5],"6-111-63":[-29.54,3065.26],"5-55-31":[-29.54,3065.26],"4-27-15":[-29.54,3065.26],"3-13-7":[-29.59,3320.02],"2-6-3":[-82.21,3799.9],"6-112-0":[12.7,28.89],"6-112-1":[6.42,25.49],"6-112-2":[2.23,12.87],"6-112-3":[-4.13,4.1],"6-112-4":[-0.69,55.51],"6-112-5":[-5.99,225.27],"6-112-6":[-8.16,496.12],"6-112-7":[13.72,1767.28],"6-112-8":[107.91,1681.65],"6-112-9":[91.8,1766.67],"6-112-10":[12.16,1755.07],"6-112-11":[24.97,1915.02],"6-112-12":[3.84,2099.48],"6-112-13":[23.28,2155.76],"6-112-14":[6.54,1965.97],"6-112-15":[15.76,2024.26],"6-112-16":[12.72,1410.98],"6-112-17":[25.6,66.52],"6-112-18":[-24.3,3037.73],"6-112-19":[-29.59,3225.44],"6-112-20":[16.39,1148.96],"6-112-21":[35.65,80.83],"6-112-22":[36.81,83.26],"6-112-23":[36.79,87.96],"6-112-24":[39.76,92.17],"6-112-25":[41.96,97.91],"6-112-26":[46.97,104.85],"6-112-27":[51.71,114.88],"6-112-28":[56.92,128.34],"6-112-29":[57.72,134.69],"6-112-30":[65.91,141.57],"6-112-31":[67.63,143.17],"6-112-32":[6.63,1532.53],"6-112-33":[44.6,4900.75],"6-112-34":[45.11,141.56],"6-112-35":[56.19,138.86],"6-112-36":[28.28,417.68],"6-112-37":[-0.95,370.77],"6-112-38":[108.64,478.74],"6-112-39":[201.08,643.8],"6-112-40":[73.33,1103.75],"6-112-41":[-45.74,301.67],"6-112-42":[-38.95,426.73],"6-112-43":[-35.05,487.73],"6-112-44":[-41.29,417.28],"6-112-45":[-43.35,-6.75],"6-112-46":[-43.03,-16.66],"6-112-47":[-41.89,-17.81],"6-112-48":[-40.82,-17.53],"6-112-49":[-40.23,-17.58],"6-112-50":[-44.52,-18.84],"6-112-51":[-52.08,-21.66],"6-112-52":[-60.31,-25.8],"6-112-53":[-75.15,-30.77],"6-112-54":[-83.59,-37.04],"6-112-55":[-84.73,1701.91],"6-112-56":[1598.15,2525.84],"6-112-57":[2453.63,2840.96],"6-112-58":[2629.4,2867.37],"6-112-59":[2498.34,2794.55],"6-112-60":[2390.04,2564.78],"6-112-61":[2390.04,2709.29],"6-112-62":[2666.35,2977.76],"6-112-63":[-29.54,3068.14],"6-113-0":[13.21,29.53],"6-113-1":[6.55,26.2],"5-56-0":[6.42,29.53],"6-113-2":[2.65,15.62],"6-113-3":[-3.24,6.86],"5-56-1":[-4.13,15.62],"6-113-4":[0.26,195.82],"6-113-5":[-4.34,347.8],"5-56-2":[-5.99,347.8],"6-113-6":[-5.98,370.97],"6-113-7":[44.86,2177.91],"5-56-3":[-8.16,2177.91],"6-113-8":[234.82,2476.55],"6-113-9":[401.32,2650.27],"5-56-4":[91.8,2650.27],"6-113-10":[23.8,2153.15],"6-113-11":[-0.3,1760.98],"5-56-5":[-0.3,2153.15],"6-113-12":[-14.43,1103.01],"6-113-13":[1.7,1633.71],"5-56-6":[-14.43,2155.76],"6-113-14":[6.02,2108.2],"6-113-15":[5.38,1700.99],"5-56-7":[5.38,2108.2],"6-113-16":[25.39,1549.63],"6-113-17":[-8.62,1641.19],"5-56-8":[-8.62,1641.19],"6-113-18":[-22.8,2604.93],"6-113-19":[-48.47,3800.26],"5-56-9":[-48.47,3800.26],"6-113-20":[33.11,892.01],"6-113-21":[38.38,417.51],"5-56-10":[16.39,1148.96],"6-113-22":[40.6,91.39],"6-113-23":[42.43,95.06],"5-56-11":[36.79,95.06],"6-113-24":[44.58,97.8],"6-113-25":[46.59,101.92],"5-56-12":[39.76,101.92],"6-113-26":[49.34,105.97],"6-113-27":[48.14,115.83],"5-56-13":[46.97,115.83],"6-113-28":[47.63,237.05],"6-113-29":[57.2,131.84],"5-56-14":[47.63,237.05],"6-113-30":[64.56,137.12],"6-113-31":[68.18,144.76],"5-56-15":[64.56,144.76],"6-113-32":[42.04,2301.21],"6-113-33":[54.12,5227.39],"5-56-16":[6.63,5227.39],"6-113-34":[38.04,203.53],"6-113-35":[58.85,141.09],"5-56-17":[38.04,203.53],"6-113-36":[54.67,131.12],"6-113-37":[-15.46,223.46],"5-56-18":[-15.46,417.68],"6-113-38":[7.1,475.97],"6-113-39":[134.5,657.09],"5-56-19":[7.1,657.09],"6-113-40":[48.52,421.94],"6-113-41":[-34.6,242.02],"5-56-20":[-45.74,1103.75],"6-113-42":[-55.11,1079.1],"6-113-43":[-15.57,1164.85],"5-56-21":[-55.11,1164.85],"6-113-44":[-38.17,716.99],"6-113-45":[-33.33,267.94],"5-56-22":[-43.35,716.99],"6-113-46":[-34.86,-12.78],"6-113-47":[-35.43,-15.73],"5-56-23":[-43.03,-12.78],"6-113-48":[-35.41,-16.8],"6-113-49":[-37.65,-17.05],"5-56-24":[-40.82,-16.8],"6-113-50":[-42.35,-18.33],"6-113-51":[-51.23,-20.46],"5-56-25":[-52.08,-18.33],"6-113-52":[-59.96,-25.01],"6-113-53":[-76.66,-30.45],"5-56-26":[-76.66,-25.01],"6-113-54":[-85.09,-37.69],"6-113-55":[-88.87,1616.15],"5-56-27":[-88.87,1701.91],"6-113-56":[1284.64,2522.11],"6-113-57":[2297.97,2629.41],"5-56-28":[1284.64,2840.96],"6-113-58":[2577.31,2726.71],"6-113-59":[2407.17,2693.87],"5-56-29":[2407.17,2867.37],"6-113-60":[2235.7,2498.35],"6-113-61":[2303.19,2666.36],"5-56-30":[2235.7,2709.29],"6-113-62":[2636.28,2970.03],"6-113-63":[-29.54,3070.04],"5-56-31":[-29.54,3070.04],"6-114-0":[13.2,29.62],"6-114-1":[8.14,26.14],"6-114-2":[3.61,17.19],"6-114-3":[0.69,7.07],"6-114-4":[0.49,25.1],"6-114-5":[-2,264.4],"6-114-6":[-2.41,486.19],"6-114-7":[19.72,1696.85],"6-114-8":[77.22,2512.73],"6-114-9":[497.57,2822.43],"6-114-10":[9.71,2513.43],"6-114-11":[10.97,1227.42],"6-114-12":[11.66,627.07],"6-114-13":[3.09,1624.43],"6-114-14":[7.46,1440.11],"6-114-15":[-16.78,1737.87],"6-114-16":[-15.87,2312.97],"6-114-17":[-84.13,2061.69],"6-114-18":[-17.62,1666.14],"6-114-19":[-16.18,124.82],"6-114-20":[11.53,77.38],"6-114-21":[17.61,96.43],"6-114-22":[9.96,768.11],"6-114-23":[28.86,604.84],"6-114-24":[41.43,100.45],"6-114-25":[48.83,105.19],"6-114-26":[50.73,109.47],"6-114-27":[34.45,109.76],"6-114-28":[34.45,123],"6-114-29":[59.18,129.68],"6-114-30":[63.45,136.26],"6-114-31":[66.37,144.7],"6-114-32":[64.3,1467.8],"6-114-33":[33.02,4032.23],"6-114-34":[24.72,3694.06],"6-114-35":[31.23,439.48],"6-114-36":[-3.39,882.4],"6-114-37":[7.79,520.58],"6-114-38":[-0.72,739.41],"6-114-39":[40.06,660.81],"6-114-40":[66.17,435.75],"6-114-41":[40.88,374.96],"6-114-42":[42.73,458.66],"6-114-43":[12.46,485.33],"6-114-44":[-17.44,336.86],"6-114-45":[-41.04,1170.09],"6-114-46":[-31.63,-2.93],"6-114-47":[-33.62,-14.07],"6-114-48":[-34.78,-15.38],"6-114-49":[-37.5,-16.54],"6-114-50":[-40.37,-17.47],"6-114-51":[-49.64,-19.17],"6-114-52":[-59.34,-23.21],"6-114-53":[-75.38,-29.25],"6-114-54":[-88.58,-36.54],"6-114-55":[-89.56,1284.65],"6-114-56":[522.14,2298.07],"6-114-57":[2001.43,2577.32],"6-114-58":[2428.59,2638.08],"6-114-59":[2355.27,2612.99],"6-114-60":[2205.2,2407.18],"6-114-61":[2221.1,2636.29],"6-114-62":[2602.74,2964.79],"6-114-63":[-29.54,3070.97],"6-115-0":[12.07,29.55],"6-115-1":[8.62,24.47],"5-57-0":[8.14,29.62],"6-115-2":[2.39,17.3],"6-115-3":[1.82,6.24],"5-57-1":[0.69,17.3],"4-28-0":[-4.13,29.62],"6-115-4":[0.8,5.87],"6-115-5":[-0.82,73.43],"5-57-2":[-2,264.4],"6-115-6":[-0.82,115.08],"6-115-7":[1.77,672.76],"5-57-3":[-2.41,1696.85],"4-28-1":[-8.16,2177.91],"6-115-8":[49.51,2830.65],"6-115-9":[503.96,2291.47],"5-57-4":[49.51,2830.65],"6-115-10":[9.12,2265.18],"6-115-11":[12.44,34.94],"5-57-5":[9.12,2513.43],"4-28-2":[-0.3,2830.65],"6-115-12":[15.26,35.92],"6-115-13":[10.83,820.94],"5-57-6":[3.09,1624.43],"6-115-14":[14.24,1183.3],"6-115-15":[9.98,553.47],"5-57-7":[-16.78,1737.87],"4-28-3":[-16.78,2155.76],"6-115-16":[9.03,1740.56],"6-115-17":[8.77,43.6],"5-57-8":[-84.13,2312.97],"6-115-18":[14.8,45.02],"6-115-19":[16.45,54.08],"5-57-9":[-17.62,1666.14],"4-28-4":[-84.13,3800.26],"6-115-20":[24.53,58.31],"6-115-21":[25.92,65.71],"5-57-10":[11.53,96.43],"6-115-22":[27.14,79.03],"6-115-23":[25.23,82.85],"5-57-11":[9.96,768.11],"4-28-5":[9.96,1148.96],"6-115-24":[19.75,904.42],"6-115-25":[34.27,1005.01],"5-57-12":[19.75,1005.01],"6-115-26":[39.75,844.84],"6-115-27":[31.11,457.05],"5-57-13":[31.11,844.84],"4-28-6":[19.75,1005.01],"6-115-28":[39.7,118.49],"6-115-29":[57.52,126.91],"5-57-14":[34.45,129.68],"6-115-30":[61.37,131.2],"6-115-31":[64.24,143.3],"5-57-15":[61.37,144.7],"4-28-7":[34.45,237.05],"6-115-32":[67.54,296.18],"6-115-33":[36.6,3477.99],"5-57-16":[33.02,4032.23],"6-115-34":[32.51,4553.66],"6-115-35":[36.3,265.77],"5-57-17":[24.72,4553.66],"4-28-8":[6.63,5227.39],"6-115-36":[59.75,573.48],"6-115-37":[29.75,1449.42],"5-57-18":[-3.39,1449.42],"6-115-38":[28.52,1670.14],"6-115-39":[244.17,1064.78],"5-57-19":[-0.72,1670.14],"4-28-9":[-15.46,1670.14],"6-115-40":[176.38,727.4],"6-115-41":[119.67,517.69],"5-57-20":[40.88,727.4],"6-115-42":[67.33,518.96],"6-115-43":[59.37,560.11],"5-57-21":[12.46,560.11],"4-28-10":[-55.11,1164.85],"6-115-44":[34.38,521.33],"6-115-45":[-56.77,1522.55],"5-57-22":[-56.77,1522.55],"6-115-46":[-46.81,1610.49],"6-115-47":[-195.28,1424.55],"5-57-23":[-195.28,1610.49],"4-28-11":[-195.28,1610.49],"6-115-48":[-32.35,-13.51],"6-115-49":[-36.1,-15.23],"5-57-24":[-37.5,-13.51],"6-115-50":[-39.15,-17.16],"6-115-51":[-46.49,-18.91],"5-57-25":[-49.64,-17.16],"4-28-12":[-52.08,-13.51],"6-115-52":[-56.64,-22.55],"6-115-53":[-73,-28.38],"5-57-26":[-75.38,-22.55],"6-115-54":[-88.66,-36.23],"6-115-55":[-97.84,759.79],"5-57-27":[-97.84,1284.65],"4-28-13":[-97.84,1701.91],"6-115-56":[-97.84,2001.44],"6-115-57":[1792.1,2428.6],"5-57-28":[-97.84,2577.32],"6-115-58":[2305.92,2560],"6-115-59":[2344.15,2552.69],"5-57-29":[2305.92,2638.08],"4-28-14":[-97.84,2867.37],"6-115-60":[2100.93,2355.28],"6-115-61":[2117.14,2602.75],"5-57-30":[2100.93,2636.29],"6-115-62":[2569.81,2959.59],"6-115-63":[-29.54,3076],"5-57-31":[-29.54,3076],"4-28-15":[-29.54,3076],"6-116-0":[10.66,29.12],"6-116-1":[7.22,22.06],"6-116-2":[2.25,16.65],"6-116-3":[1.8,6.88],"6-116-4":[1.2,361.97],"6-116-5":[-0.57,89.29],"6-116-6":[-0.78,341.42],"6-116-7":[1.77,925.79],"6-116-8":[39.12,2260.37],"6-116-9":[440.9,2390.56],"6-116-10":[-3.36,1856.79],"6-116-11":[13.8,37.51],"6-116-12":[16.01,37.9],"6-116-13":[16.01,37.4],"6-116-14":[18.59,40.87],"6-116-15":[10.25,1590.34],"6-116-16":[-1.61,1786.57],"6-116-17":[8.34,43.6],"6-116-18":[15.48,44.53],"6-116-19":[15.73,47.62],"6-116-20":[16.81,51.48],"6-116-21":[19.43,63.16],"6-116-22":[23.95,70.37],"6-116-23":[29.01,74.37],"6-116-24":[26.61,82.69],"6-116-25":[30.18,93.33],"6-116-26":[30.98,99.51],"6-116-27":[30.96,99.08],"6-116-28":[45.57,117.31],"6-116-29":[55.18,122.74],"6-116-30":[58.42,127.66],"6-116-31":[60.62,135.09],"6-116-32":[62.05,783.66],"6-116-33":[65.85,1907.63],"6-116-34":[31.24,4188.78],"6-116-35":[53.93,4099.51],"6-116-36":[62.28,139.92],"6-116-37":[59.3,129.47],"6-116-38":[36.96,1285.71],"6-116-39":[26.9,1325.23],"6-116-40":[126.78,1296.76],"6-116-41":[189.96,988.43],"6-116-42":[97.05,430.67],"6-116-43":[131.13,1421.13],"6-116-44":[85.41,2241.03],"6-116-45":[-70.56,1999.21],"6-116-46":[-19.93,1568.36],"6-116-47":[-160.77,1420.87],"6-116-48":[-29.69,-12.33],"6-116-49":[-36.45,-13.09],"6-116-50":[-40.73,-17.24],"6-116-51":[-47.3,-19.53],"6-116-52":[-54.93,-22.38],"6-116-53":[-72.48,-27.53],"6-116-54":[-87.53,-35.51],"6-116-55":[-101.33,-44.71],"6-116-56":[-102.54,1792.11],"6-116-57":[1600.89,2338.91],"6-116-58":[2295.63,2481.09],"6-116-59":[2291.17,2481.96],"6-116-60":[1899.8,2344.16],"6-116-61":[1943.7,2569.82],"6-116-62":[2529.66,2955.42],"6-116-63":[-29.54,3081.95],"6-117-0":[9.48,28.14],"6-117-1":[6.76,18.88],"5-58-0":[6.76,29.12],"6-117-2":[2.28,14.99],"6-117-3":[1.62,7.39],"5-58-1":[1.62,16.65],"6-117-4":[1.48,155.99],"6-117-5":[0.48,58.1],"5-58-2":[-0.57,361.97],"6-117-6":[0.39,341.42],"6-117-7":[3.51,692.04],"5-58-3":[-0.78,925.79],"6-117-8":[22.34,2175.65],"6-117-9":[114.09,2203.44],"5-58-4":[22.34,2390.56],"6-117-10":[5.55,2094.72],"6-117-11":[-0.47,1541.51],"5-58-5":[-3.36,2094.72],"6-117-12":[17.95,39.7],"6-117-13":[17.96,40.77],"5-58-6":[16.01,40.77],"6-117-14":[18.87,43.2],"6-117-15":[-7.87,1533.21],"5-58-7":[-7.87,1590.34],"6-117-16":[-7.88,45.41],"6-117-17":[12.99,36.86],"5-58-8":[-7.88,1786.57],"6-117-18":[10.18,34.61],"6-117-19":[10.18,33.01],"5-58-9":[10.18,47.62],"6-117-20":[12.59,37.84],"6-117-21":[14.56,46.1],"5-58-10":[12.59,63.16],"6-117-22":[19.38,56.88],"6-117-23":[25.61,72.87],"5-58-11":[19.38,74.37],"6-117-24":[31.14,82.56],"6-117-25":[36.51,88.5],"5-58-12":[26.61,93.33],"6-117-26":[38.76,89.46],"6-117-27":[39.86,92.44],"5-58-13":[30.96,99.51],"6-117-28":[41.99,110.83],"6-117-29":[35.45,503.73],"5-58-14":[35.45,503.73],"6-117-30":[53.07,118.8],"6-117-31":[54.68,129.03],"5-58-15":[53.07,135.09],"6-117-32":[53.24,964.38],"6-117-33":[57.1,2427.64],"5-58-16":[53.24,2427.64],"6-117-34":[58.87,2022.98],"6-117-35":[-78.97,3071.93],"5-58-17":[-78.97,4188.78],"6-117-36":[62.08,143.56],"6-117-37":[61.21,128.82],"5-58-18":[59.3,143.56],"6-117-38":[57.56,126.23],"6-117-39":[30.2,869.8],"5-58-19":[26.9,1325.23],"6-117-40":[0.01,1008.41],"6-117-41":[75.28,1199.98],"5-58-20":[0.01,1296.76],"6-117-42":[145.68,1550.43],"6-117-43":[-25.52,1629.02],"5-58-21":[-25.52,1629.02],"6-117-44":[-80.43,1622.97],"6-117-45":[-23.03,1262.52],"5-58-22":[-80.43,2241.03],"6-117-46":[-14.62,1.67],"6-117-47":[-24.71,-5.89],"5-58-23":[-160.77,1568.36],"6-117-48":[-29.37,-11.35],"6-117-49":[-35.65,-13.2],"5-58-24":[-36.45,-11.35],"6-117-50":[-40.45,-17.24],"6-117-51":[-48.21,-20.04],"5-58-25":[-48.21,-17.24],"6-117-52":[-53.69,-23.2],"6-117-53":[-71.28,-27.26],"5-58-26":[-72.48,-22.38],"6-117-54":[-86.62,-34.15],"6-117-55":[-101.99,-43.8],"5-58-27":[-101.99,-34.15],"6-117-56":[-106.25,1600.9],"6-117-57":[1442.23,2342.57],"5-58-28":[-106.25,2342.57],"6-117-58":[2216.37,2456.95],"6-117-59":[2218.72,2466.51],"5-58-29":[2216.37,2481.96],"6-117-60":[1411.35,2291.18],"6-117-61":[1690.08,2529.67],"5-58-30":[1411.35,2569.82],"6-117-62":[2447.36,2953.28],"6-117-63":[-29.54,3084.91],"5-58-31":[-29.54,3084.91],"6-118-0":[8.81,27.71],"6-118-1":[6.64,17.18],"6-118-2":[1.82,14.17],"6-118-3":[1.29,7.13],"6-118-4":[1.8,112.12],"6-118-5":[0.82,6.14],"6-118-6":[0.71,75.94],"6-118-7":[3.53,559.13],"6-118-8":[15.46,1102.21],"6-118-9":[92.72,1636.07],"6-118-10":[2.35,1813.48],"6-118-11":[1.21,1062.27],"6-118-12":[17.21,43.51],"6-118-13":[19.63,45.98],"6-118-14":[0.73,1460.13],"6-118-15":[-7.91,1395.62],"6-118-16":[-7.92,30.44],"6-118-17":[6.23,30.2],"6-118-18":[4.7,24.25],"6-118-19":[4.92,23.71],"6-118-20":[6.29,28.34],"6-118-21":[10.46,37.16],"6-118-22":[12.98,50.32],"6-118-23":[19.09,62.28],"6-118-24":[25.96,72.19],"6-118-25":[29.55,81.26],"6-118-26":[33.77,84.41],"6-118-27":[35.3,83.99],"6-118-28":[39.24,102.12],"6-118-29":[44.51,337.7],"6-118-30":[50.71,111.44],"6-118-31":[54.6,118.9],"6-118-32":[58.04,435.72],"6-118-33":[2.74,2388.16],"6-118-34":[53.28,143.46],"6-118-35":[58.58,1094.58],"6-118-36":[60.49,866.24],"6-118-37":[60.7,127.95],"6-118-38":[55.23,126.07],"6-118-39":[48.72,114.91],"6-118-40":[16.01,468.23],"6-118-41":[-7.43,1263.13],"6-118-42":[3.55,1616.85],"6-118-43":[-3.46,1396.93],"6-118-44":[7.57,40.32],"6-118-45":[0.66,22.42],"6-118-46":[-11.28,6.94],"6-118-47":[-22.43,-3.98],"6-118-48":[-29.37,-9.38],"6-118-49":[-35.15,-14.48],"6-118-50":[-40.65,-17.23],"6-118-51":[-48.88,-20.43],"6-118-52":[-56.68,-24.15],"6-118-53":[-69.25,-27.35],"6-118-54":[-85.12,-33.76],"6-118-55":[-101.8,-42.74],"6-118-56":[-107,1522.76],"6-118-57":[1441.77,2294.89],"6-118-58":[1910.74,2319.46],"6-118-59":[1821.95,2399.61],"6-118-60":[803.63,2218.73],"6-118-61":[1627.45,2447.37],"6-118-62":[2363.53,2959.26],"6-118-63":[-29.54,3089.37],"6-119-0":[8.67,27.14],"6-119-1":[6.4,16.74],"5-59-0":[6.4,27.71],"6-119-2":[1.77,13.16],"6-119-3":[1.21,7.08],"5-59-1":[1.21,14.17],"4-29-0":[1.21,29.12],"6-119-4":[2.01,7.08],"6-119-5":[0.49,6.94],"5-59-2":[0.49,112.12],"6-119-6":[1.29,81.65],"6-119-7":[3.24,433.72],"5-59-3":[0.71,559.13],"4-29-1":[-0.78,925.79],"3-14-0":[-8.16,2177.91],"6-119-8":[15.62,1098.37],"6-119-9":[80.42,1766.68],"5-59-4":[15.46,1766.68],"6-119-10":[-12.75,1878.57],"6-119-11":[15.7,935.54],"5-59-5":[-12.75,1878.57],"4-29-2":[-12.75,2390.56],"6-119-12":[13.95,2005.12],"6-119-13":[17.08,2477.12],"5-59-6":[13.95,2477.12],"6-119-14":[1.03,1817.92],"6-119-15":[3.25,33.35],"5-59-7":[-7.91,1817.92],"4-29-3":[-7.91,2477.12],"3-14-1":[-16.78,2830.65],"6-119-16":[4.27,23.39],"6-119-17":[1.7,17.38],"5-59-8":[-7.92,30.44],"6-119-18":[0.23,11.21],"6-119-19":[1.53,11.2],"5-59-9":[0.23,24.25],"4-29-4":[-7.92,1786.57],"6-119-20":[4.13,19.59],"6-119-21":[6.49,25.03],"5-59-10":[4.13,37.16],"6-119-22":[9,34.94],"6-119-23":[13.7,51.55],"5-59-11":[9,62.28],"4-29-5":[4.13,74.37],"3-14-2":[-84.13,3800.26],"6-119-24":[20.27,58.63],"6-119-25":[26.32,64.62],"5-59-12":[20.27,81.26],"6-119-26":[29.21,76.13],"6-119-27":[31.51,78.92],"5-59-13":[29.21,84.41],"4-29-6":[20.27,99.51],"6-119-28":[34.89,91.62],"6-119-29":[42.31,102.14],"5-59-14":[34.89,337.7],"6-119-30":[49.88,110.56],"6-119-31":[51.58,118.67],"5-59-15":[49.88,118.9],"4-29-7":[34.89,503.73],"3-14-3":[19.75,1005.01],"6-119-32":[55.15,126.21],"6-119-33":[55.72,960.88],"5-59-16":[2.74,2388.16],"6-119-34":[6.18,2782.57],"6-119-35":[49.89,1115.42],"5-59-17":[6.18,2782.57],"4-29-8":[-78.97,4188.78],"6-119-36":[63.79,138.91],"6-119-37":[60.58,131.76],"5-59-18":[60.49,866.24],"6-119-38":[55.49,123.47],"6-119-39":[49.44,110.92],"5-59-19":[48.72,126.07],"4-29-9":[26.9,1325.23],"3-14-4":[-78.97,5227.39],"6-119-40":[40.76,99.59],"6-119-41":[33.8,84.71],"5-59-20":[-7.43,1263.13],"6-119-42":[26.01,74.04],"6-119-43":[18.31,59.16],"5-59-21":[-3.46,1616.85],"4-29-10":[-25.52,1629.02],"6-119-44":[11.24,40.96],"6-119-45":[3.47,25.39],"5-59-22":[0.66,40.96],"6-119-46":[-5.63,10.69],"6-119-47":[-18.52,-2.2],"5-59-23":[-22.43,10.69],"4-29-11":[-160.77,2241.03],"3-14-5":[-195.28,2241.03],"6-119-48":[-27.89,-8.1],"6-119-49":[-34.87,-13.33],"5-59-24":[-35.15,-8.1],"6-119-50":[-42.15,-16.71],"6-119-51":[-55.48,-20.53],"5-59-25":[-55.48,-16.71],"4-29-12":[-55.48,-8.1],"6-119-52":[-67.25,-24.47],"6-119-53":[-69.99,-28.77],"5-59-26":[-69.99,-24.15],"6-119-54":[-84.63,-34.47],"6-119-55":[-101.06,-42.64],"5-59-27":[-101.8,-33.76],"4-29-13":[-101.99,-22.38],"3-14-6":[-101.99,1701.91],"6-119-56":[-106.67,1594.21],"6-119-57":[1522.75,2260.16],"5-59-28":[-107,2294.89],"6-119-58":[1520.8,2260.16],"6-119-59":[1378.35,2352.82],"5-59-29":[1378.35,2399.61],"4-29-14":[-107,2481.96],"6-119-60":[115.06,3169.82],"6-119-61":[1392.87,2470.74],"5-59-30":[115.06,3169.82],"6-119-62":[2356.79,2967.24],"6-119-63":[-29.54,3091.37],"5-59-31":[-29.54,3091.37],"4-29-15":[-29.54,3169.82],"3-14-7":[-107,3169.82],"6-120-0":[8.69,26.75],"6-120-1":[5.52,17.4],"6-120-2":[1.82,12.04],"6-120-3":[0.59,7.08],"6-120-4":[2.09,7.08],"6-120-5":[0.74,5.17],"6-120-6":[1.05,56.9],"6-120-7":[2.85,903.95],"6-120-8":[56.39,1454.04],"6-120-9":[12.61,1757.61],"6-120-10":[12.59,947.68],"6-120-11":[15.29,2605.13],"6-120-12":[7.08,3631.59],"6-120-13":[-0.7,3468.03],"6-120-14":[1.4,40.12],"6-120-15":[4.12,24.95],"6-120-16":[-0.27,17.95],"6-120-17":[-4.97,7.43],"6-120-18":[-6.56,3],"6-120-19":[-3.98,7.47],"6-120-20":[-0.58,12.98],"6-120-21":[2.19,17.28],"6-120-22":[4.58,25.53],"6-120-23":[8.89,39.89],"6-120-24":[15.15,49.5],"6-120-25":[21.3,58.42],"6-120-26":[25.24,62.27],"6-120-27":[28.53,69.78],"6-120-28":[32.36,84.63],"6-120-29":[37.3,831.89],"6-120-30":[42.45,102.95],"6-120-31":[46.51,110.31],"6-120-32":[48.73,118.16],"6-120-33":[52.39,128.82],"6-120-34":[36.32,1251.14],"6-120-35":[16.84,2387.59],"6-120-36":[45.89,264.39],"6-120-37":[59.17,130.22],"6-120-38":[55.65,121.69],"6-120-39":[49.17,115.94],"6-120-40":[42.96,105.9],"6-120-41":[35.4,90.52],"6-120-42":[28.58,74.62],"6-120-43":[8.57,495.66],"6-120-44":[12.8,48.16],"6-120-45":[5.96,25.68],"6-120-46":[-2.48,12.37],"6-120-47":[-16.47,-0.49],"6-120-48":[-25.27,-6.4],"6-120-49":[-33.37,-10.64],"6-120-50":[-42.5,-14.52],"6-120-51":[-55.8,383.74],"6-120-52":[-67.98,-26.3],"6-120-53":[-72.63,-30.51],"6-120-54":[-84.73,-34.99],"6-120-55":[-104.1,-43.28],"6-120-56":[-112.02,1627.11],"6-120-57":[475.75,2656.26],"6-120-58":[867.53,2268.9],"6-120-59":[1045.7,2732.99],"6-120-60":[-105.78,3191.81],"6-120-61":[347.55,2726.57],"6-120-62":[2344.78,2977.2],"6-120-63":[-29.54,3090.38],"6-121-0":[8.97,26.75],"6-121-1":[5.52,18.2],"5-60-0":[5.52,26.75],"6-121-2":[1.99,11],"6-121-3":[0.42,4.82],"5-60-1":[0.42,12.04],"6-121-4":[2.25,7.43],"6-121-5":[0.71,4.93],"5-60-2":[0.71,7.43],"6-121-6":[1.29,271.44],"6-121-7":[2.85,1052.69],"5-60-3":[1.05,1052.69],"6-121-8":[37.86,1653.57],"6-121-9":[11.56,1415.31],"5-60-4":[11.56,1757.61],"6-121-10":[10.82,1872.79],"6-121-11":[9.11,3277.23],"5-60-5":[9.11,3277.23],"6-121-12":[-5.06,4774.23],"6-121-13":[-5.97,28.14],"5-60-6":[-5.97,4774.23],"6-121-14":[3.79,18.42],"6-121-15":[-1.09,16.76],"5-60-7":[-1.09,40.12],"6-121-16":[-7.93,7.27],"6-121-17":[-11.57,-0.26],"5-60-8":[-11.57,17.95],"6-121-18":[-11.9,-2.7],"6-121-19":[-13.5,-0.57],"5-60-9":[-13.5,7.47],"6-121-20":[-13.4,2.2],"6-121-21":[-4.89,8.56],"5-60-10":[-13.4,17.28],"6-121-22":[1.31,15.96],"6-121-23":[6.08,30.18],"5-60-11":[1.31,39.89],"6-121-24":[11.75,45.27],"6-121-25":[17.54,49.7],"5-60-12":[11.75,58.42],"6-121-26":[24.65,60.14],"6-121-27":[25.47,66.56],"5-60-13":[24.65,69.78],"6-121-28":[28.73,75.09],"6-121-29":[32.36,84.91],"5-60-14":[28.73,831.89],"6-121-30":[37.91,673.97],"6-121-31":[41.13,96.35],"5-60-15":[37.91,673.97],"6-121-32":[43.4,101.5],"6-121-33":[46.93,118.89],"5-60-16":[43.4,128.82],"6-121-34":[49.6,839.37],"6-121-35":[9.56,1980.07],"5-60-17":[9.56,2387.59],"6-121-36":[44.87,241.22],"6-121-37":[58.56,129.2],"5-60-18":[44.87,264.39],"6-121-38":[56.18,122.21],"6-121-39":[50.7,116.7],"5-60-19":[49.17,122.21],"6-121-40":[45.59,106.12],"6-121-41":[37.73,94.44],"5-60-20":[35.4,106.12],"6-121-42":[32.38,82.35],"6-121-43":[24.79,66.27],"5-60-21":[8.57,495.66],"6-121-44":[14.55,55.75],"6-121-45":[6.51,35.28],"5-60-22":[5.96,55.75],"6-121-46":[-0.5,21.22],"6-121-47":[-12.26,3.98],"5-60-23":[-16.47,21.22],"6-121-48":[-19.81,-3.49],"6-121-49":[-29.02,-8.06],"5-60-24":[-33.37,-3.49],"6-121-50":[-41.05,-10.84],"6-121-51":[-63.16,-19.98],"5-60-25":[-63.16,383.74],"6-121-52":[-72.98,-28.17],"6-121-53":[-77.22,-33.82],"5-60-26":[-77.22,-26.3],"6-121-54":[-88.46,-36.59],"6-121-55":[-106.46,1402.86],"5-60-27":[-106.46,1402.86],"6-121-56":[-114.63,475.76],"6-121-57":[-117.59,2620.78],"5-60-28":[-117.59,2656.26],"6-121-58":[-116.47,3433.82],"6-121-59":[-115.52,3317.92],"5-60-29":[-116.47,3433.82],"6-121-60":[-115.69,2320.2],"6-121-61":[-91.83,4077.78],"5-60-30":[-115.69,4077.78],"6-121-62":[1924.9,2984.14],"6-121-63":[-29.54,3088.17],"5-60-31":[-29.54,3090.38],"6-122-0":[9.42,26.76],"6-122-1":[5.65,18.59],"6-122-2":[2.49,11.4],"6-122-3":[0.26,4.81],"6-122-4":[1.95,7.47],"6-122-5":[0.77,4.8],"6-122-6":[1.14,7.62],"6-122-7":[3.84,1528.57],"6-122-8":[108.15,1757.51],"6-122-9":[10.94,1582.28],"6-122-10":[6.8,1233.67],"6-122-11":[7.89,932.54],"6-122-12":[-3.4,850.98],"6-122-13":[1.64,20.11],"6-122-14":[0.48,16.34],"6-122-15":[-7.21,6.88],"6-122-16":[-12.07,-0.71],"6-122-17":[-17.59,-4.25],"6-122-18":[-18.55,-5.37],"6-122-19":[-18.72,-6.19],"6-122-20":[-17.57,-2.87],"6-122-21":[-10.75,2.46],"6-122-22":[-3.63,10.62],"6-122-23":[1.49,22.49],"6-122-24":[7.72,36.85],"6-122-25":[14.12,46.47],"6-122-26":[19.28,54.72],"6-122-27":[23.59,60.99],"6-122-28":[26.75,65.91],"6-122-29":[28.53,72.29],"6-122-30":[31.65,81.32],"6-122-31":[36.02,86.88],"6-122-32":[39.15,92.44],"6-122-33":[41.65,106.03],"6-122-34":[46.65,119.42],"6-122-35":[48.07,866.32],"6-122-36":[45.55,126.93],"6-122-37":[53.7,127.16],"6-122-38":[52.98,340.77],"6-122-39":[35.29,1689.03],"6-122-40":[46.98,106.61],"6-122-41":[40,96.95],"6-122-42":[33.4,82.62],"6-122-43":[27.67,66.13],"6-122-44":[18.65,57.54],"6-122-45":[14.32,44.27],"6-122-46":[3,29.21],"6-122-47":[-11.15,13.47],"6-122-48":[-19.42,-2.93],"6-122-49":[-27.38,-6.28],"6-122-50":[-46.34,517.88],"6-122-51":[-65.39,-20.43],"6-122-52":[-77.62,-31.58],"6-122-53":[-81.78,-37.06],"6-122-54":[-91.49,-38.57],"6-122-55":[-105.7,-45.16],"6-122-56":[-117.38,-51.89],"6-122-57":[-60.46,3075.8],"6-122-58":[-117.89,3148.6],"6-122-59":[-115.52,2551.83],"6-122-60":[-111.82,209.78],"6-122-61":[-93.22,3800.64],"6-122-62":[1431.84,3358.99],"6-122-63":[-29.54,3084.48],"6-123-0":[9.85,26.78],"6-123-1":[5.73,18.86],"5-61-0":[5.65,26.78],"6-123-2":[2.93,12],"6-123-3":[0.14,5.41],"5-61-1":[0.14,12],"4-30-0":[0.14,26.78],"6-123-4":[0.92,8.02],"6-123-5":[1.11,5.42],"5-61-2":[0.77,8.02],"6-123-6":[1.15,7.19],"6-123-7":[3.59,1680.33],"5-61-3":[1.14,1680.33],"4-30-1":[0.71,1680.33],"6-123-8":[102.27,1646.59],"6-123-9":[12.03,1328.47],"5-61-4":[10.94,1757.51],"6-123-10":[4.75,1210.93],"6-123-11":[5.38,20.59],"5-61-5":[4.75,1233.67],"4-30-2":[4.75,3277.23],"6-123-12":[-6.75,744.81],"6-123-13":[-5.24,18.85],"5-61-6":[-6.75,850.98],"6-123-14":[-6.42,11.45],"6-123-15":[-19.48,0.49],"5-61-7":[-19.48,16.34],"4-30-3":[-19.48,4774.23],"6-123-16":[-20.74,-3.9],"6-123-17":[-25.13,-6.72],"5-61-8":[-25.13,-0.71],"6-123-18":[-25.13,-8.71],"6-123-19":[-20.44,-8.81],"5-61-9":[-25.13,-5.37],"4-30-4":[-25.13,17.95],"6-123-20":[-19,-6.48],"6-123-21":[-14.63,-2.18],"5-61-10":[-19,2.46],"6-123-22":[-8.94,1.5],"6-123-23":[-0.85,14.41],"5-61-11":[-8.94,22.49],"4-30-5":[-19,39.89],"6-123-24":[5.5,29.61],"6-123-25":[10.76,38.58],"5-61-12":[5.5,46.47],"6-123-26":[16.15,50.77],"6-123-27":[19.03,52.37],"5-61-13":[16.15,60.99],"4-30-6":[5.5,69.78],"6-123-28":[20.24,74.26],"6-123-29":[19.92,68.93],"5-61-14":[19.92,74.26],"6-123-30":[27.6,72.06],"6-123-31":[30.84,78.32],"5-61-15":[27.6,86.88],"4-30-7":[19.92,831.89],"6-123-32":[9.9,105.9],"6-123-33":[38.55,93.32],"5-61-16":[9.9,106.03],"6-123-34":[42.04,104.47],"6-123-35":[26.89,608.86],"5-61-17":[26.89,866.32],"4-30-8":[9.56,2387.59],"6-123-36":[44.53,1017.74],"6-123-37":[-166.26,1941.75],"5-61-18":[-166.26,1941.75],"6-123-38":[49.91,717.25],"6-123-39":[18.08,1664.47],"5-61-19":[18.08,1689.03],"4-30-9":[-166.26,1941.75],"6-123-40":[48.47,309.11],"6-123-41":[41.3,105.67],"5-61-20":[40,309.11],"6-123-42":[34.67,357.87],"6-123-43":[28.79,77.86],"5-61-21":[27.67,357.87],"4-30-10":[8.57,495.66],"6-123-44":[23.62,65.38],"6-123-45":[14.32,51.14],"5-61-22":[14.32,65.38],"6-123-46":[6.73,41.96],"6-123-47":[-345.62,2939.6],"5-61-23":[-345.62,2939.6],"4-30-11":[-345.62,2939.6],"6-123-48":[-74.06,2088.42],"6-123-49":[-22.42,566.58],"5-61-24":[-74.06,2088.42],"6-123-50":[-82.31,649.83],"6-123-51":[-70.1,-20.38],"5-61-25":[-82.31,649.83],"4-30-12":[-82.31,2088.42],"6-123-52":[-83.38,-32.37],"6-123-53":[-91.85,-39.81],"5-61-26":[-91.85,-31.58],"6-123-54":[-95.58,-41.02],"6-123-55":[-108.17,-46.75],"5-61-27":[-108.17,-38.57],"4-30-13":[-108.17,1402.86],"6-123-56":[-118.68,-52.76],"6-123-57":[-116.81,3530.38],"5-61-28":[-118.68,3530.38],"6-123-58":[-117.58,2686.35],"6-123-59":[-114.23,3368.3],"5-61-29":[-117.89,3368.3],"4-30-14":[-118.68,3530.38],"6-123-60":[-105.65,-47.93],"6-123-61":[-94.72,4324.92],"5-61-30":[-111.82,4324.92],"6-123-62":[1173.34,3260.29],"6-123-63":[-29.54,3084.24],"5-61-31":[-29.54,3358.99],"4-30-15":[-115.69,4324.92],"6-124-0":[10.16,26.79],"6-124-1":[6.14,19.04],"6-124-2":[3.03,12.26],"6-124-3":[0.14,5.75],"6-124-4":[0.89,8.06],"6-124-5":[1.26,5.67],"6-124-6":[1.39,7.36],"6-124-7":[3.52,1617.82],"6-124-8":[8.51,1409.69],"6-124-9":[10.13,2305.88],"6-124-10":[0.45,2164.88],"6-124-11":[2.56,14.63],"6-124-12":[-3.24,14.32],"6-124-13":[-10.59,10.54],"6-124-14":[-10.36,8.76],"6-124-15":[-21.04,0],"6-124-16":[-24.64,-2.76],"6-124-17":[-31.2,-3.85],"6-124-18":[-30.75,-6.47],"6-124-19":[-26.11,-2.49],"6-124-20":[-24.31,-7.51],"6-124-21":[-15.23,-4.76],"6-124-22":[-13.59,-0.84],"6-124-23":[-4.55,9.7],"6-124-24":[2.35,21.54],"6-124-25":[7.35,32.3],"6-124-26":[12.55,38.19],"6-124-27":[15.94,48.53],"6-124-28":[21.55,62.2],"6-124-29":[18.5,57.21],"6-124-30":[24.34,61.69],"6-124-31":[27.97,68.96],"6-124-32":[29.89,114.26],"6-124-33":[33.15,84.09],"6-124-34":[36.93,96.35],"6-124-35":[42.03,117.27],"6-124-36":[44.94,447.27],"6-124-37":[62.06,132.91],"6-124-38":[41.71,1137.87],"6-124-39":[34.07,895.97],"6-124-40":[47.96,131.97],"6-124-41":[46.43,105.92],"6-124-42":[39.86,96.09],"6-124-43":[32.69,85.75],"6-124-44":[26.31,75.44],"6-124-45":[20.78,56.69],"6-124-46":[8.98,1441.5],"6-124-47":[-4.07,3719.73],"6-124-48":[-31.98,2290.2],"6-124-49":[-23.42,-3.78],"6-124-50":[-84.41,535.73],"6-124-51":[-73.94,-20.62],"6-124-52":[-86.86,-35.05],"6-124-53":[-95.4,-42.17],"6-124-54":[-98.04,-43.58],"6-124-55":[-110.57,-48.45],"6-124-56":[-118.68,-54.08],"6-124-57":[-117.84,3544.4],"6-124-58":[-118.43,1962.19],"6-124-59":[-115.85,2252.06],"6-124-60":[-105.91,-48.57],"6-124-61":[-95.38,3812.59],"6-124-62":[594.22,3705.94],"6-124-63":[-29.54,3085.39],"6-125-0":[10.35,26.81],"6-125-1":[6.14,19.41],"5-62-0":[6.14,26.81],"6-125-2":[3.26,12.44],"6-125-3":[0.9,6.39],"5-62-1":[0.14,12.44],"6-125-4":[1.27,6.49],"6-125-5":[1.13,5.32],"5-62-2":[0.89,8.06],"6-125-6":[1.29,6.47],"6-125-7":[3.14,1111.24],"5-62-3":[1.29,1617.82],"6-125-8":[7.11,1048.77],"6-125-9":[6.89,1518.99],"5-62-4":[6.89,2305.88],"6-125-10":[-2.91,1665.46],"6-125-11":[0,6.86],"5-62-5":[-2.91,2164.88],"6-125-12":[-2.34,8.77],"6-125-13":[-14.46,953.56],"5-62-6":[-14.46,953.56],"6-125-14":[-5.06,5.28],"6-125-15":[-17.98,-2.39],"5-62-7":[-21.04,8.76],"6-125-16":[-24.4,-7.68],"6-125-17":[-28.6,-10.11],"5-62-8":[-31.2,-2.76],"6-125-18":[-28.6,-11],"6-125-19":[-25.62,-2.41],"5-62-9":[-30.75,-2.41],"6-125-20":[-22.75,-4.66],"6-125-21":[-15.81,-6.04],"5-62-10":[-24.31,-4.66],"6-125-22":[-14.02,-3.42],"6-125-23":[-6.77,4.64],"5-62-11":[-14.02,9.7],"6-125-24":[1.21,15.8],"6-125-25":[6.11,24.94],"5-62-12":[1.21,32.3],"6-125-26":[10.22,30.26],"6-125-27":[13.87,41.98],"5-62-13":[10.22,48.53],"6-125-28":[18.08,48.13],"6-125-29":[17.79,54.5],"5-62-14":[17.79,62.2],"6-125-30":[22.38,56.85],"6-125-31":[16.56,59.8],"5-62-15":[16.56,68.96],"6-125-32":[25.85,66.31],"6-125-33":[27.99,72.87],"5-62-16":[25.85,114.26],"6-125-34":[33,81.65],"6-125-35":[38.91,103.05],"5-62-17":[33,117.27],"6-125-36":[47.5,124.13],"6-125-37":[57.22,130.49],"5-62-18":[44.94,447.27],"6-125-38":[61.15,131.46],"6-125-39":[52.54,288.83],"5-62-19":[34.07,1137.87],"6-125-40":[48.88,107.87],"6-125-41":[48.01,104.69],"5-62-20":[46.43,131.97],"6-125-42":[42.87,97.22],"6-125-43":[37.6,89.45],"5-62-21":[32.69,97.22],"6-125-44":[6.97,816.34],"6-125-45":[-0.97,2517.08],"5-62-22":[-0.97,2517.08],"6-125-46":[-17.88,2863.4],"6-125-47":[-35.65,2605.15],"5-62-23":[-35.65,3719.73],"6-125-48":[-10.05,11.03],"6-125-49":[-27.68,-4.71],"5-62-24":[-31.98,2290.2],"6-125-50":[-48.98,-11.91],"6-125-51":[-75.78,-21.91],"5-62-25":[-84.41,535.73],"6-125-52":[-88.21,-37.16],"6-125-53":[-96.9,-44.36],"5-62-26":[-96.9,-35.05],"6-125-54":[-99.71,-46.22],"6-125-55":[-113.95,-50.03],"5-62-27":[-113.95,-43.58],"6-125-56":[-118.23,-55.58],"6-125-57":[-119.6,-57.02],"5-62-28":[-119.6,3544.4],"6-125-58":[-119.13,-57.36],"6-125-59":[-115.13,-52.66],"5-62-29":[-119.13,2252.06],"6-125-60":[-106.04,-48.63],"6-125-61":[-95.54,2586.73],"5-62-30":[-106.04,3812.59],"6-125-62":[617.47,3991.97],"6-125-63":[-29.54,3087.55],"5-62-31":[-29.54,3991.97],"6-126-0":[10.48,26.83],"6-126-1":[6.39,19.79],"6-126-2":[3.59,12.74],"6-126-3":[1.34,7.32],"6-126-4":[1.23,5.6],"6-126-5":[1.15,4.51],"6-126-6":[1.24,5.95],"6-126-7":[2.53,1644.02],"6-126-8":[4.57,1334.46],"6-126-9":[2.53,1348.08],"6-126-10":[-4.55,360.68],"6-126-11":[-0.22,3.75],"6-126-12":[-4.16,11.04],"6-126-13":[-20.67,663.5],"6-126-14":[-17.18,1.9],"6-126-15":[-17.03,-2.13],"6-126-16":[-23.5,-6.98],"6-126-17":[-25.32,-10.8],"6-126-18":[-24.77,-10.53],"6-126-19":[-22.17,-7.92],"6-126-20":[-19.02,-6.36],"6-126-21":[-15.67,-4.68],"6-126-22":[-13.71,-4.14],"6-126-23":[-8.08,4.18],"6-126-24":[0.43,12.94],"6-126-25":[5.52,20.01],"6-126-26":[9,27.01],"6-126-27":[12.09,34.89],"6-126-28":[14.82,40.97],"6-126-29":[17.43,44.78],"6-126-30":[17.98,49.65],"6-126-31":[20.75,52.08],"6-126-32":[19.19,56],"6-126-33":[25.26,66],"6-126-34":[28.98,76.55],"6-126-35":[34.87,95.02],"6-126-36":[41.34,297.72],"6-126-37":[52.33,122.31],"6-126-38":[55.22,587.24],"6-126-39":[52.13,124.15],"6-126-40":[49.8,107.99],"6-126-41":[47.34,102.99],"6-126-42":[43.4,96.7],"6-126-43":[39.32,87],"6-126-44":[-5.9,921.24],"6-126-45":[-23.78,2784.98],"6-126-46":[-12.29,1743.24],"6-126-47":[4.88,29.21],"6-126-48":[-9.96,11.4],"6-126-49":[-34.93,-4.57],"6-126-50":[-54.64,-14.05],"6-126-51":[-75.71,-26.38],"6-126-52":[-89.11,-37.37],"6-126-53":[-98.36,-44.98],"6-126-54":[-101.06,-48.44],"6-126-55":[-115.57,-50.65],"6-126-56":[-120.87,-56.97],"6-126-57":[-122.6,-57.42],"6-126-58":[-120.57,-57.41],"6-126-59":[-115.91,-52.64],"6-126-60":[-106.89,-48.23],"6-126-61":[-95.56,3164.9],"6-126-62":[1096.86,4009.42],"6-126-63":[-29.54,3089.77],"6-127-0":[10.58,26.87],"6-127-1":[6.39,20.25],"5-63-0":[6.39,26.87],"6-127-2":[3.82,13.4],"6-127-3":[2.41,8.63],"5-63-1":[1.34,13.4],"4-31-0":[0.14,26.87],"6-127-4":[1.13,6.79],"6-127-5":[1.13,4.39],"5-63-2":[1.13,6.79],"6-127-6":[1.24,612.64],"6-127-7":[2.31,1712.25],"5-63-3":[1.24,1712.25],"4-31-1":[0.89,1712.25],"3-15-0":[0.14,1712.25],"6-127-8":[4.5,1465.56],"6-127-9":[3.01,918.23],"5-63-4":[2.53,1465.56],"6-127-10":[-3.08,11.47],"6-127-11":[-0.12,3.44],"5-63-5":[-4.55,360.68],"4-31-2":[-4.55,2305.88],"6-127-12":[-1.99,11.61],"6-127-13":[-24.8,1210.91],"5-63-6":[-24.8,1210.91],"6-127-14":[-25.57,1.39],"6-127-15":[-13.94,-1.38],"5-63-7":[-25.57,1.9],"4-31-3":[-25.57,1210.91],"3-15-1":[-25.57,4774.23],"2-7-0":[-25.57,4774.23],"6-127-16":[-21,-6.43],"6-127-17":[-25.9,-10.68],"5-63-8":[-25.9,-6.43],"6-127-18":[-26.05,-10.54],"6-127-19":[-22.59,-7.92],"5-63-9":[-26.05,-7.92],"4-31-4":[-31.2,-2.41],"6-127-20":[-19,-7.92],"6-127-21":[-16.82,-4.7],"5-63-10":[-19.02,-4.68],"6-127-22":[-10.69,-3.04],"6-127-23":[-8.26,1.26],"5-63-11":[-13.71,4.18],"4-31-5":[-24.31,9.7],"3-15-2":[-31.2,39.89],"6-127-24":[0.43,9.72],"6-127-25":[4.5,17.61],"5-63-12":[0.43,20.01],"6-127-26":[6.9,22.78],"6-127-27":[8.89,29.21],"5-63-13":[6.9,34.89],"4-31-6":[0.43,48.53],"6-127-28":[12.01,35],"6-127-29":[14.22,37.73],"5-63-14":[12.01,44.78],"6-127-30":[15.67,40.09],"6-127-31":[19.02,46.55],"5-63-15":[15.67,52.08],"4-31-7":[12.01,68.96],"3-15-3":[0.43,831.89],"2-7-1":[-84.13,3800.26],"1-3-0":[-268.7,7512.84],"6-127-32":[20.92,50.53],"6-127-33":[22.89,57.98],"5-63-16":[19.19,66],"6-127-34":[25.27,69.75],"6-127-35":[27.53,86.05],"5-63-17":[25.27,95.02],"4-31-8":[19.19,117.27],"6-127-36":[39.54,104.68],"6-127-37":[22.06,1069.23],"5-63-18":[22.06,1069.23],"6-127-38":[20.15,1371.15],"6-127-39":[49.74,108.66],"5-63-19":[20.15,1371.15],"4-31-9":[20.15,1371.15],"3-15-4":[-166.26,2387.59],"6-127-40":[48.93,103.15],"6-127-41":[47.07,98.56],"5-63-20":[47.07,107.99],"6-127-42":[43.96,94.48],"6-127-43":[38.98,91.71],"5-63-21":[38.98,96.7],"4-31-10":[32.69,131.97],"6-127-44":[20.8,83.16],"6-127-45":[-12.67,1759.88],"5-63-22":[-23.78,2784.98],"6-127-46":[11.75,42.6],"6-127-47":[3.24,30.55],"5-63-23":[-12.29,1743.24],"4-31-11":[-35.65,3719.73],"3-15-5":[-345.62,3719.73],"2-7-2":[-345.62,5227.39],"6-127-48":[-9.45,37.42],"6-127-49":[-38.82,351.39],"5-63-24":[-38.82,351.39],"6-127-50":[-56.24,-17.74],"6-127-51":[-75.79,-28.67],"5-63-25":[-75.79,-14.05],"4-31-12":[-84.41,2290.2],"6-127-52":[-88.85,-37.45],"6-127-53":[-98.42,-44.71],"5-63-26":[-98.42,-37.37],"6-127-54":[-101.55,-48.81],"6-127-55":[-117.07,-50.94],"5-63-27":[-117.07,-48.44],"4-31-13":[-117.07,-35.05],"3-15-6":[-117.07,2290.2],"6-127-56":[-123.45,-57.63],"6-127-57":[-123.93,-60.36],"5-63-28":[-123.93,-56.97],"6-127-58":[-123.3,-58.62],"6-127-59":[-117.49,-53.65],"5-63-29":[-123.3,-52.64],"4-31-14":[-123.93,3544.4],"6-127-60":[-109.53,-48.22],"6-127-61":[-95.58,1201.67],"5-63-30":[-109.53,3164.9],"6-127-62":[-43.08,3227.47],"6-127-63":[-31.68,3092.98],"5-63-31":[-43.08,4009.42],"4-31-15":[-109.53,4009.42],"3-15-7":[-123.93,4324.92],"2-7-3":[-123.93,4324.92],"1-3-1":[-345.62,5227.39],"0-1-0":[-398.55,8777.15]} \ No newline at end of file diff --git a/public/js/Cesium/Cesium.js b/public/js/Cesium/Cesium.js new file mode 100644 index 000000000..f5dfb611b --- /dev/null +++ b/public/js/Cesium/Cesium.js @@ -0,0 +1,14444 @@ +/** + * @license + * Cesium - https://github.com/CesiumGS/cesium + * Version 1.102 + * + * Copyright 2011-2022 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. + */ + +var Cesium=(()=>{var ZAe=Object.create;var n3=Object.defineProperty;var JAe=Object.getOwnPropertyDescriptor;var QAe=Object.getOwnPropertyNames;var $Ae=Object.getPrototypeOf,exe=Object.prototype.hasOwnProperty;var U_=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var Jc=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),txe=(e,t)=>{for(var n in t)n3(e,n,{get:t[n],enumerable:!0})},wK=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of QAe(t))!exe.call(e,o)&&o!==n&&n3(e,o,{get:()=>t[o],enumerable:!(i=JAe(t,o))||i.enumerable});return e};var vo=(e,t,n)=>(n=e!=null?ZAe($Ae(e)):{},wK(t||!e||!e.__esModule?n3(n,"default",{value:e,enumerable:!0}):n,e)),nxe=e=>wK(n3({},"__esModule",{value:!0}),e);var i3=Jc((qyt,PK)=>{var Im=function(e){e==null&&(e=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};Im.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};Im.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648};Im.prototype.random_int=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_seed(5489),n=0;n>>1^t[e&1];for(;n>>1^t[e&1];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0};Im.prototype.random_int31=function(){return this.random_int()>>>1};Im.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};Im.prototype.random=function(){return this.random_int()*(1/4294967296)};Im.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};Im.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)};PK.exports=Im});var KZ=Jc((HC,GC)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof HC=="object"&&HC&&!HC.nodeType&&HC,n=typeof GC=="object"&&GC&&!GC.nodeType&&GC,i=typeof global=="object"&&global;(i.global===i||i.window===i||i.self===i)&&(e=i);var o,r=2147483647,s=36,a=1,c=26,l=38,f=700,d=72,p=128,g="-",m=/^xn--/,A=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,C={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},T=s-a,E=Math.floor,S=String.fromCharCode,D;function w(U){throw new RangeError(C[U])}function R(U,G){for(var V=U.length,X=[];V--;)X[V]=G(U[V]);return X}function O(U,G){var V=U.split("@"),X="";V.length>1&&(X=V[0]+"@",U=V[1]),U=U.replace(x,".");var j=U.split("."),Q=R(j,G).join(".");return X+Q}function L(U){for(var G=[],V=0,X=U.length,j,Q;V=55296&&j<=56319&&V65535&&(G-=65536,V+=S(G>>>10&1023|55296),G=56320|G&1023),V+=S(G),V}).join("")}function _(U){return U-48<10?U-22:U-65<26?U-65:U-97<26?U-97:s}function b(U,G){return U+22+75*(U<26)-((G!=0)<<5)}function v(U,G,V){var X=0;for(U=V?E(U/f):U>>1,U+=E(U/G);U>T*c>>1;X+=s)U=E(U/T);return E(X+(T+1)*U/(U+l))}function I(U){var G=[],V=U.length,X,j=0,Q=p,W=d,K,J,_e,xe,re,ye,fe,Se,we;for(K=U.lastIndexOf(g),K<0&&(K=0),J=0;J=128&&w("not-basic"),G.push(U.charCodeAt(J));for(_e=K>0?K+1:0;_e=V&&w("invalid-input"),fe=_(U.charCodeAt(_e++)),(fe>=s||fe>E((r-j)/re))&&w("overflow"),j+=fe*re,Se=ye<=W?a:ye>=W+c?c:ye-W,!(feE(r/we)&&w("overflow"),re*=we;X=G.length+1,W=v(j-xe,X,xe==0),E(j/X)>r-Q&&w("overflow"),Q+=E(j/X),j%=X,G.splice(j++,0,Q)}return N(G)}function B(U){var G,V,X,j,Q,W,K,J,_e,xe,re,ye=[],fe,Se,we,Ve;for(U=L(U),fe=U.length,G=p,V=0,Q=d,W=0;W=G&&reE((r-V)/Se)&&w("overflow"),V+=(K-G)*Se,G=K,W=0;Wr&&w("overflow"),re==G){for(J=V,_e=s;xe=_e<=Q?a:_e>=Q+c?c:_e-Q,!(J{/*! + * URI.js - Mutating URLs + * IPv6 Support + * + * Version: 1.19.11 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */(function(e,t){"use strict";typeof P3=="object"&&P3.exports?P3.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(ZZ,function(e){"use strict";var t=e&&e.IPv6;function n(o){var r=o.toLowerCase(),s=r.split(":"),a=s.length,c=8;s[0]===""&&s[1]===""&&s[2]===""?(s.shift(),s.shift()):s[0]===""&&s[1]===""?s.shift():s[a-1]===""&&s[a-2]===""&&s.pop(),a=s.length,s[a-1].indexOf(".")!==-1&&(c=7);var l;for(l=0;l1);p++)f.splice(0,1);s[d]=f.join("")}var g=-1,m=0,A=0,x=-1,C=!1;for(d=0;dm&&(g=x,m=A)):s[d]==="0"&&(C=!0,x=d,A=1);A>m&&(g=x,m=A),m>1&&s.splice(g,m,""),a=s.length;var T="";for(s[0]===""&&(T=":"),d=0;d{/*! + * URI.js - Mutating URLs + * Second Level Domain (SLD) Support + * + * Version: 1.19.11 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */(function(e,t){"use strict";typeof O3=="object"&&O3.exports?O3.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(QZ,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(r+1,o)+" ")>=0:!1},is:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r>=0)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(0,o)+" ")>=0:!1},get:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return null;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return null;var s=n.list[i.slice(o+1)];return!s||s.indexOf(" "+i.slice(r+1,o)+" ")<0?null:i.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var Ll=Jc((eJ,R3)=>{/*! + * URI.js - Mutating URLs + * + * Version: 1.19.11 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */(function(e,t){"use strict";typeof R3=="object"&&R3.exports?R3.exports=t(KZ(),JZ(),$Z()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(eJ,function(e,t,n,i){"use strict";var o=i&&i.URI;function r(b,v){var I=arguments.length>=1,B=arguments.length>=2;if(!(this instanceof r))return I?B?new r(b,v):new r(b):new r;if(b===void 0){if(I)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?b=location.href+"":b=""}if(b===null&&I)throw new TypeError("null is not a valid argument for URI");return this.href(b),v!==void 0?this.absoluteTo(v):this}function s(b){return/^[0-9]+$/.test(b)}r.version="1.19.11";var a=r.prototype,c=Object.prototype.hasOwnProperty;function l(b){return b.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function f(b){return b===void 0?"Undefined":String(Object.prototype.toString.call(b)).slice(8,-1)}function d(b){return f(b)==="Array"}function p(b,v){var I={},B,F;if(f(v)==="RegExp")I=null;else if(d(v))for(B=0,F=v.length;B]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(b){if(!(!b||!b.nodeName)){var v=b.nodeName.toLowerCase();if(!(v==="input"&&b.type!=="image"))return r.domAttributes[v]}};function x(b){return escape(b)}function C(b){return encodeURIComponent(b).replace(/[!'()*]/g,x).replace(/\*/g,"%2A")}r.encode=C,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=C,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(b,v){var I=r.encode(b+"");return v===void 0&&(v=r.escapeQuerySpace),v?I.replace(/%20/g,"+"):I},r.decodeQuery=function(b,v){b+="",v===void 0&&(v=r.escapeQuerySpace);try{return r.decode(v?b.replace(/\+/g,"%20"):b)}catch{return b}};var T={encode:"encode",decode:"decode"},E,S=function(b,v){return function(I){try{return r[v](I+"").replace(r.characters[b][v].expression,function(B){return r.characters[b][v].map[B]})}catch{return I}}};for(E in T)r[E+"PathSegment"]=S("pathname",T[E]),r[E+"UrnPathSegment"]=S("urnpath",T[E]);var D=function(b,v,I){return function(B){var F;I?F=function(V){return r[v](r[I](V))}:F=r[v];for(var k=(B+"").split(b),U=0,G=k.length;U-1&&(v.fragment=b.substring(I+1)||null,b=b.substring(0,I)),I=b.indexOf("?"),I>-1&&(v.query=b.substring(I+1)||null,b=b.substring(0,I)),b=b.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),b=b.replace(/^[/\\]{2,}/i,"//"),b.substring(0,2)==="//"?(v.protocol=null,b=b.substring(2),b=r.parseAuthority(b,v)):(I=b.indexOf(":"),I>-1&&(v.protocol=b.substring(0,I)||null,v.protocol&&!v.protocol.match(r.protocol_expression)?v.protocol=void 0:b.substring(I+1,I+3).replace(/\\/g,"/")==="//"?(b=b.substring(I+3),b=r.parseAuthority(b,v)):(b=b.substring(I+1),v.urn=!0))),v.path=b,v},r.parseHost=function(b,v){b||(b=""),b=b.replace(/\\/g,"/");var I=b.indexOf("/"),B,F;if(I===-1&&(I=b.length),b.charAt(0)==="[")B=b.indexOf("]"),v.hostname=b.substring(1,B)||null,v.port=b.substring(B+2,I)||null,v.port==="/"&&(v.port=null);else{var k=b.indexOf(":"),U=b.indexOf("/"),G=b.indexOf(":",k+1);G!==-1&&(U===-1||G-1?F:b.length-1),U;return k>-1&&(F===-1||k-1?W=W.slice(0,K)+W.slice(K).replace(k,""):W=W.replace(k,""),!(W.length<=V[0].length)&&!(I.ignore&&I.ignore.test(W))){Q=X+W.length;var xe=v(W,X,Q,b);if(xe===void 0){B.lastIndex=Q;continue}xe=String(xe),b=b.slice(0,X)+xe+b.slice(Q),B.lastIndex=X+xe.length}}return B.lastIndex=0,b},r.ensureValidHostname=function(b,v){var I=!!b,B=!!v,F=!1;if(B&&(F=g(r.hostProtocols,v)),F&&!I)throw new TypeError("Hostname cannot be empty, if protocol is "+v);if(b&&b.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(b).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(b){if(b){var v=Number(b);if(!(s(v)&&v>0&&v<65536))throw new TypeError('Port "'+b+'" is not a valid port')}},r.noConflict=function(b){if(b){var v={URI:this.noConflict()};return i.URITemplate&&typeof i.URITemplate.noConflict=="function"&&(v.URITemplate=i.URITemplate.noConflict()),i.IPv6&&typeof i.IPv6.noConflict=="function"&&(v.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&typeof i.SecondLevelDomains.noConflict=="function"&&(v.SecondLevelDomains=i.SecondLevelDomains.noConflict()),v}else i.URI===this&&(i.URI=o);return this},a.build=function(b){return b===!0?this._deferred_build=!0:(b===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},a.clone=function(){return new r(this)},a.valueOf=a.toString=function(){return this.build(!1)._string};function w(b){return function(v,I){return v===void 0?this._parts[b]||"":(this._parts[b]=v||null,this.build(!I),this)}}function R(b,v){return function(I,B){return I===void 0?this._parts[b]||"":(I!==null&&(I=I+"",I.charAt(0)===v&&(I=I.substring(1))),this._parts[b]=I,this.build(!B),this)}}a.protocol=w("protocol"),a.username=w("username"),a.password=w("password"),a.hostname=w("hostname"),a.port=w("port"),a.query=R("query","?"),a.fragment=R("fragment","#"),a.search=function(b,v){var I=this.query(b,v);return typeof I=="string"&&I.length?"?"+I:I},a.hash=function(b,v){var I=this.fragment(b,v);return typeof I=="string"&&I.length?"#"+I:I},a.pathname=function(b,v){if(b===void 0||b===!0){var I=this._parts.path||(this._parts.hostname?"/":"");return b?(this._parts.urn?r.decodeUrnPath:r.decodePath)(I):I}else return this._parts.urn?this._parts.path=b?r.recodeUrnPath(b):"":this._parts.path=b?r.recodePath(b):"/",this.build(!v),this},a.path=a.pathname,a.href=function(b,v){var I;if(b===void 0)return this.toString();this._string="",this._parts=r._parts();var B=b instanceof r,F=typeof b=="object"&&(b.hostname||b.path||b.pathname);if(b.nodeName){var k=r.getDomAttribute(b);b=b[k]||"",F=!1}if(!B&&F&&b.pathname!==void 0&&(b=b.toString()),typeof b=="string"||b instanceof String)this._parts=r.parse(String(b),this._parts);else if(B||F){var U=B?b._parts:b;for(I in U)I!=="query"&&c.call(this._parts,I)&&(this._parts[I]=U[I]);U.query&&this.query(U.query,!1)}else throw new TypeError("invalid input");return this.build(!v),this},a.is=function(b){var v=!1,I=!1,B=!1,F=!1,k=!1,U=!1,G=!1,V=!this._parts.urn;switch(this._parts.hostname&&(V=!1,I=r.ip4_expression.test(this._parts.hostname),B=r.ip6_expression.test(this._parts.hostname),v=I||B,F=!v,k=F&&n&&n.has(this._parts.hostname),U=F&&r.idn_expression.test(this._parts.hostname),G=F&&r.punycode_expression.test(this._parts.hostname)),b.toLowerCase()){case"relative":return V;case"absolute":return!V;case"domain":case"name":return F;case"sld":return k;case"ip":return v;case"ip4":case"ipv4":case"inet4":return I;case"ip6":case"ipv6":case"inet6":return B;case"idn":return U;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return G}return null};var O=a.protocol,L=a.port,N=a.hostname;a.protocol=function(b,v){if(b&&(b=b.replace(/:(\/\/)?$/,""),!b.match(r.protocol_expression)))throw new TypeError('Protocol "'+b+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return O.call(this,b,v)},a.scheme=a.protocol,a.port=function(b,v){return this._parts.urn?b===void 0?"":this:(b!==void 0&&(b===0&&(b=null),b&&(b+="",b.charAt(0)===":"&&(b=b.substring(1)),r.ensureValidPort(b))),L.call(this,b,v))},a.hostname=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b!==void 0){var I={preventInvalidHostname:this._parts.preventInvalidHostname},B=r.parseHost(b,I);if(B!=="/")throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-]');b=I.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(b,this._parts.protocol)}return N.call(this,b,v)},a.origin=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0){var I=this.protocol(),B=this.authority();return B?(I?I+"://":"")+this.authority():""}else{var F=r(b);return this.protocol(F.protocol()).authority(F.authority()).build(!v),this}},a.host=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var I=r.parseHost(b,this._parts);if(I!=="/")throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-]');return this.build(!v),this},a.authority=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var I=r.parseAuthority(b,this._parts);if(I!=="/")throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-]');return this.build(!v),this},a.userinfo=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0){var I=r.buildUserinfo(this._parts);return I&&I.substring(0,I.length-1)}else return b[b.length-1]!=="@"&&(b+="@"),r.parseUserinfo(b,this._parts),this.build(!v),this},a.resource=function(b,v){var I;return b===void 0?this.path()+this.search()+this.hash():(I=r.parse(b),this._parts.path=I.path,this._parts.query=I.query,this._parts.fragment=I.fragment,this.build(!v),this)},a.subdomain=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,I)||""}else{var B=this._parts.hostname.length-this.domain().length,F=this._parts.hostname.substring(0,B),k=new RegExp("^"+l(F));if(b&&b.charAt(b.length-1)!=="."&&(b+="."),b.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return b&&r.ensureValidHostname(b,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(k,b),this.build(!v),this}},a.domain=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(typeof b=="boolean"&&(v=b,b=void 0),b===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.match(/\./g);if(I&&I.length<2)return this._parts.hostname;var B=this._parts.hostname.length-this.tld(v).length-1;return B=this._parts.hostname.lastIndexOf(".",B-1)+1,this._parts.hostname.substring(B)||""}else{if(!b)throw new TypeError("cannot set domain empty");if(b.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(b,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=b;else{var F=new RegExp(l(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(F,b)}return this.build(!v),this}},a.tld=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(typeof b=="boolean"&&(v=b,b=void 0),b===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.lastIndexOf("."),B=this._parts.hostname.substring(I+1);return v!==!0&&n&&n.list[B.toLowerCase()]&&n.get(this._parts.hostname)||B}else{var F;if(b)if(b.match(/[^a-zA-Z0-9-]/))if(n&&n.is(b))F=new RegExp(l(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(F,b);else throw new TypeError('TLD "'+b+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");F=new RegExp(l(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(F,b)}else throw new TypeError("cannot set TLD empty");return this.build(!v),this}},a.directory=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0||b===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var I=this._parts.path.length-this.filename().length-1,B=this._parts.path.substring(0,I)||(this._parts.hostname?"/":"");return b?r.decodePath(B):B}else{var F=this._parts.path.length-this.filename().length,k=this._parts.path.substring(0,F),U=new RegExp("^"+l(k));return this.is("relative")||(b||(b="/"),b.charAt(0)!=="/"&&(b="/"+b)),b&&b.charAt(b.length-1)!=="/"&&(b+="/"),b=r.recodePath(b),this._parts.path=this._parts.path.replace(U,b),this.build(!v),this}},a.filename=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(typeof b!="string"){if(!this._parts.path||this._parts.path==="/")return"";var I=this._parts.path.lastIndexOf("/"),B=this._parts.path.substring(I+1);return b?r.decodePathSegment(B):B}else{var F=!1;b.charAt(0)==="/"&&(b=b.substring(1)),b.match(/\.?\//)&&(F=!0);var k=new RegExp(l(this.filename())+"$");return b=r.recodePath(b),this._parts.path=this._parts.path.replace(k,b),F?this.normalizePath(v):this.build(!v),this}},a.suffix=function(b,v){if(this._parts.urn)return b===void 0?"":this;if(b===void 0||b===!0){if(!this._parts.path||this._parts.path==="/")return"";var I=this.filename(),B=I.lastIndexOf("."),F,k;return B===-1?"":(F=I.substring(B+1),k=/^[a-z0-9%]+$/i.test(F)?F:"",b?r.decodePathSegment(k):k)}else{b.charAt(0)==="."&&(b=b.substring(1));var U=this.suffix(),G;if(U)b?G=new RegExp(l(U)+"$"):G=new RegExp(l("."+U)+"$");else{if(!b)return this;this._parts.path+="."+r.recodePath(b)}return G&&(b=r.recodePath(b),this._parts.path=this._parts.path.replace(G,b)),this.build(!v),this}},a.segment=function(b,v,I){var B=this._parts.urn?":":"/",F=this.path(),k=F.substring(0,1)==="/",U=F.split(B);if(b!==void 0&&typeof b!="number"&&(I=v,v=b,b=void 0),b!==void 0&&typeof b!="number")throw new Error('Bad segment "'+b+'", must be 0-based integer');if(k&&U.shift(),b<0&&(b=Math.max(U.length+b,0)),v===void 0)return b===void 0?U:U[b];if(b===null||U[b]===void 0)if(d(v)){U=[];for(var G=0,V=v.length;G{/*! @license DOMPurify 2.4.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.3/LICENSE */(function(e,t){typeof $8=="object"&&typeof e5<"u"?e5.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.DOMPurify=t())})($8,function(){"use strict";function e(me){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(be){return typeof be}:function(be){return be&&typeof Symbol=="function"&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be},e(me)}function t(me,be){return t=Object.setPrototypeOf||function(qt,Kn){return qt.__proto__=Kn,qt},t(me,be)}function n(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function i(me,be,St){return n()?i=Reflect.construct:i=function(Kn,Ro,Uo){var Ao=[null];Ao.push.apply(Ao,Ro);var Yr=Function.bind.apply(Kn,Ao),Be=new Yr;return Uo&&t(Be,Uo.prototype),Be},i.apply(null,arguments)}function o(me){return r(me)||s(me)||a(me)||l()}function r(me){if(Array.isArray(me))return c(me)}function s(me){if(typeof Symbol<"u"&&me[Symbol.iterator]!=null||me["@@iterator"]!=null)return Array.from(me)}function a(me,be){if(me){if(typeof me=="string")return c(me,be);var St=Object.prototype.toString.call(me).slice(8,-1);if(St==="Object"&&me.constructor&&(St=me.constructor.name),St==="Map"||St==="Set")return Array.from(me);if(St==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(St))return c(me,be)}}function c(me,be){(be==null||be>me.length)&&(be=me.length);for(var St=0,qt=new Array(be);St1?St-1:0),Kn=1;Kn/gm),Ve=x(/\${[\w\W]*}/gm),qe=x(/^data-[\-\w.\u00B7-\uFFFF]/),mt=x(/^aria-[\-\w]+$/),Ht=x(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),fn=x(/^(?:\w+script|data):/i),dt=x(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Tn=x(/^html$/i),Jn=function(){return typeof window>"u"?null:window},Gt=function(be,St){if(e(be)!=="object"||typeof be.createPolicy!="function")return null;var qt=null,Kn="data-tt-policy-suffix";St.currentScript&&St.currentScript.hasAttribute(Kn)&&(qt=St.currentScript.getAttribute(Kn));var Ro="dompurify"+(qt?"#"+qt:"");try{return be.createPolicy(Ro,{createHTML:function(Ao){return Ao},createScriptURL:function(Ao){return Ao}})}catch{return console.warn("TrustedTypes policy "+Ro+" could not be created."),null}};function Je(){var me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Jn(),be=function(De){return Je(De)};if(be.version="2.4.3",be.removed=[],!me||!me.document||me.document.nodeType!==9)return be.isSupported=!1,be;var St=me.document,qt=me.document,Kn=me.DocumentFragment,Ro=me.HTMLTemplateElement,Uo=me.Node,Ao=me.Element,Yr=me.NodeFilter,Be=me.NamedNodeMap,it=Be===void 0?me.NamedNodeMap||me.MozNamedAttrMap:Be,Ke=me.HTMLFormElement,Ze=me.DOMParser,ft=me.trustedTypes,Lt=Ao.prototype,En=V(Lt,"cloneNode"),so=V(Lt,"nextSibling"),So=V(Lt,"childNodes"),ns=V(Lt,"parentNode");if(typeof Ro=="function"){var Nr=qt.createElement("template");Nr.content&&Nr.content.ownerDocument&&(qt=Nr.content.ownerDocument)}var Hi=Gt(ft,St),Oi=Hi?Hi.createHTML(""):"",Ar=qt,Mn=Ar.implementation,Yn=Ar.createNodeIterator,Zn=Ar.createDocumentFragment,ti=Ar.getElementsByTagName,hc=St.importNode,Do={};try{Do=G(qt).documentMode?qt.documentMode:{}}catch{}var Bo={};be.isSupported=typeof ns=="function"&&Mn&&typeof Mn.createHTMLDocument<"u"&&Do!==9;var kf=Se,er=we,ba=Ve,lh=qe,V_=mt,Sa=fn,uh=dt,i0=Ht,tr=null,mc=U({},[].concat(o(X),o(j),o(Q),o(K),o(_e))),qr=null,K2=U({},[].concat(o(xe),o(re),o(ye),o(fe))),Xr=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),VS=null,IH=null,uK=!0,PH=!0,fK=!1,IC=!1,o0=!1,OH=!1,RH=!1,PC=!1,Z2=!1,J2=!1,dK=!0,hK=!1,zAe="user-content-",BH=!0,US=!1,OC={},RC=null,mK=U({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),pK=null,_K=U({},["audio","video","img","source","image","track"]),MH=null,gK=U({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Q2="http://www.w3.org/1998/Math/MathML",$2="http://www.w3.org/2000/svg",Dm="http://www.w3.org/1999/xhtml",BC=Dm,LH=!1,NH=null,HAe=U({},[Q2,$2,Dm],L),r0,GAe=["application/xhtml+xml","text/html"],WAe="text/html",Bs,MC=null,jAe=qt.createElement("form"),yK=function(De){return De instanceof RegExp||De instanceof Function},FH=function(De){MC&&MC===De||((!De||e(De)!=="object")&&(De={}),De=G(De),r0=GAe.indexOf(De.PARSER_MEDIA_TYPE)===-1?r0=WAe:r0=De.PARSER_MEDIA_TYPE,Bs=r0==="application/xhtml+xml"?L:O,tr="ALLOWED_TAGS"in De?U({},De.ALLOWED_TAGS,Bs):mc,qr="ALLOWED_ATTR"in De?U({},De.ALLOWED_ATTR,Bs):K2,NH="ALLOWED_NAMESPACES"in De?U({},De.ALLOWED_NAMESPACES,L):HAe,MH="ADD_URI_SAFE_ATTR"in De?U(G(gK),De.ADD_URI_SAFE_ATTR,Bs):gK,pK="ADD_DATA_URI_TAGS"in De?U(G(_K),De.ADD_DATA_URI_TAGS,Bs):_K,RC="FORBID_CONTENTS"in De?U({},De.FORBID_CONTENTS,Bs):mK,VS="FORBID_TAGS"in De?U({},De.FORBID_TAGS,Bs):{},IH="FORBID_ATTR"in De?U({},De.FORBID_ATTR,Bs):{},OC="USE_PROFILES"in De?De.USE_PROFILES:!1,uK=De.ALLOW_ARIA_ATTR!==!1,PH=De.ALLOW_DATA_ATTR!==!1,fK=De.ALLOW_UNKNOWN_PROTOCOLS||!1,IC=De.SAFE_FOR_TEMPLATES||!1,o0=De.WHOLE_DOCUMENT||!1,PC=De.RETURN_DOM||!1,Z2=De.RETURN_DOM_FRAGMENT||!1,J2=De.RETURN_TRUSTED_TYPE||!1,RH=De.FORCE_BODY||!1,dK=De.SANITIZE_DOM!==!1,hK=De.SANITIZE_NAMED_PROPS||!1,BH=De.KEEP_CONTENT!==!1,US=De.IN_PLACE||!1,i0=De.ALLOWED_URI_REGEXP||i0,BC=De.NAMESPACE||Dm,De.CUSTOM_ELEMENT_HANDLING&&yK(De.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Xr.tagNameCheck=De.CUSTOM_ELEMENT_HANDLING.tagNameCheck),De.CUSTOM_ELEMENT_HANDLING&&yK(De.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Xr.attributeNameCheck=De.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),De.CUSTOM_ELEMENT_HANDLING&&typeof De.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Xr.allowCustomizedBuiltInElements=De.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),IC&&(PH=!1),Z2&&(PC=!0),OC&&(tr=U({},o(_e)),qr=[],OC.html===!0&&(U(tr,X),U(qr,xe)),OC.svg===!0&&(U(tr,j),U(qr,re),U(qr,fe)),OC.svgFilters===!0&&(U(tr,Q),U(qr,re),U(qr,fe)),OC.mathMl===!0&&(U(tr,K),U(qr,ye),U(qr,fe))),De.ADD_TAGS&&(tr===mc&&(tr=G(tr)),U(tr,De.ADD_TAGS,Bs)),De.ADD_ATTR&&(qr===K2&&(qr=G(qr)),U(qr,De.ADD_ATTR,Bs)),De.ADD_URI_SAFE_ATTR&&U(MH,De.ADD_URI_SAFE_ATTR,Bs),De.FORBID_CONTENTS&&(RC===mK&&(RC=G(RC)),U(RC,De.FORBID_CONTENTS,Bs)),BH&&(tr["#text"]=!0),o0&&U(tr,["html","head","body"]),tr.table&&(U(tr,["tbody"]),delete VS.tbody),A&&A(De),MC=De)},AK=U({},["mi","mo","mn","ms","mtext"]),xK=U({},["foreignobject","desc","title","annotation-xml"]),YAe=U({},["title","style","font","a","script"]),e3=U({},j);U(e3,Q),U(e3,W);var VH=U({},K);U(VH,J);var qAe=function(De){var yt=ns(De);(!yt||!yt.tagName)&&(yt={namespaceURI:BC,tagName:"template"});var jt=O(De.tagName),ao=O(yt.tagName);return NH[De.namespaceURI]?De.namespaceURI===$2?yt.namespaceURI===Dm?jt==="svg":yt.namespaceURI===Q2?jt==="svg"&&(ao==="annotation-xml"||AK[ao]):Boolean(e3[jt]):De.namespaceURI===Q2?yt.namespaceURI===Dm?jt==="math":yt.namespaceURI===$2?jt==="math"&&xK[ao]:Boolean(VH[jt]):De.namespaceURI===Dm?yt.namespaceURI===$2&&!xK[ao]||yt.namespaceURI===Q2&&!AK[ao]?!1:!VH[jt]&&(YAe[jt]||!e3[jt]):!!(r0==="application/xhtml+xml"&&NH[De.namespaceURI]):!1},vm=function(De){R(be.removed,{element:De});try{De.parentNode.removeChild(De)}catch{try{De.outerHTML=Oi}catch{De.remove()}}},UH=function(De,yt){try{R(be.removed,{attribute:yt.getAttributeNode(De),from:yt})}catch{R(be.removed,{attribute:null,from:yt})}if(yt.removeAttribute(De),De==="is"&&!qr[De])if(PC||Z2)try{vm(yt)}catch{}else try{yt.setAttribute(De,"")}catch{}},CK=function(De){var yt,jt;if(RH)De=""+De;else{var ao=N(De,/^[\r\n\t ]+/);jt=ao&&ao[0]}r0==="application/xhtml+xml"&&BC===Dm&&(De=''+De+"");var Zc=Hi?Hi.createHTML(De):De;if(BC===Dm)try{yt=new Ze().parseFromString(Zc,r0)}catch{}if(!yt||!yt.documentElement){yt=Mn.createDocument(BC,"template",null);try{yt.documentElement.innerHTML=LH?Oi:Zc}catch{}}var Da=yt.body||yt.documentElement;return De&&jt&&Da.insertBefore(qt.createTextNode(jt),Da.childNodes[0]||null),BC===Dm?ti.call(yt,o0?"html":"body")[0]:o0?yt.documentElement:Da},TK=function(De){return Yn.call(De.ownerDocument||De,De,Yr.SHOW_ELEMENT|Yr.SHOW_COMMENT|Yr.SHOW_TEXT,null,!1)},XAe=function(De){return De instanceof Ke&&(typeof De.nodeName!="string"||typeof De.textContent!="string"||typeof De.removeChild!="function"||!(De.attributes instanceof it)||typeof De.removeAttribute!="function"||typeof De.setAttribute!="function"||typeof De.namespaceURI!="string"||typeof De.insertBefore!="function"||typeof De.hasChildNodes!="function")},kS=function(De){return e(Uo)==="object"?De instanceof Uo:De&&e(De)==="object"&&typeof De.nodeType=="number"&&typeof De.nodeName=="string"},wm=function(De,yt,jt){Bo[De]&&D(Bo[De],function(ao){ao.call(be,yt,jt,MC)})},EK=function(De){var yt;if(wm("beforeSanitizeElements",De,null),XAe(De)||I(/[\u0080-\uFFFF]/,De.nodeName))return vm(De),!0;var jt=Bs(De.nodeName);if(wm("uponSanitizeElement",De,{tagName:jt,allowedTags:tr}),De.hasChildNodes()&&!kS(De.firstElementChild)&&(!kS(De.content)||!kS(De.content.firstElementChild))&&I(/<[/\w]/g,De.innerHTML)&&I(/<[/\w]/g,De.textContent)||jt==="select"&&I(/